diff --git a/docs/examples/web/core/core_3d_camera_first_person.c b/docs/examples/web/core/core_3d_camera_first_person.c index e4bc36f7b..495f278cf 100644 --- a/docs/examples/web/core/core_3d_camera_first_person.c +++ b/docs/examples/web/core/core_3d_camera_first_person.c @@ -88,6 +88,9 @@ void UpdateDrawFrame(void) // Update //---------------------------------------------------------------------------------- UpdateCamera(&camera); // Update camera and player position + + // Lock mouse cursor if mouse click on canvas + if (IsMouseButtonPressed(MOUSE_LEFT_BUTTON)) DisableCursor(); //---------------------------------------------------------------------------------- // Draw diff --git a/docs/examples/web/core/core_3d_camera_first_person.js b/docs/examples/web/core/core_3d_camera_first_person.js index 8ffd215f8..910311c89 100644 --- a/docs/examples/web/core/core_3d_camera_first_person.js +++ b/docs/examples/web/core/core_3d_camera_first_person.js @@ -1605,12 +1605,12 @@ function _emscripten_asm_const_iii(code, a0, a1) { STATIC_BASE = 8; -STATICTOP = STATIC_BASE + 19680; +STATICTOP = STATIC_BASE + 19744; /* global initializers */ __ATINIT__.push(); -/* memory initializer */ allocate([32,3,0,0,194,1,0,0,0,0,128,64,0,0,0,64,0,0,128,64,0,0,0,0,102,102,230,63,0,0,0,0,0,0,0,0,0,0,128,63,0,0,0,0,0,0,112,66,255,255,255,255,205,204,236,63,2,0,0,0,86,1,0,0,85,1,0,0,87,0,0,0,83,0,0,0,68,0,0,0,65,0,0,0,69,0,0,0,81,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,32,0,0,176,1,0,0,0,0,0,0,0,0,0,32,37,249,142,0,10,2,0,0,128,190,125,95,244,125,31,160,242,43,74,30,9,82,8,0,64,34,65,80,20,4,16,32,32,41,46,18,8,34,8,0,32,34,65,80,20,4,16,32,32,249,16,76,8,250,62,60,16,34,125,222,247,125,16,32,32,161,232,50,8,34,8,0,8,34,5,16,4,69,16,0,240,163,164,50,8,82,8,0,4,34,5,16,4,69,16,32,32,249,226,94,8,2,0,129,2,62,125,31,244,125,16,0,0,32,0,0,176,1,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,190,15,0,192,15,224,247,251,125,126,191,95,232,190,80,0,162,8,8,68,232,47,20,10,133,2,129,80,72,160,80,0,162,40,228,73,40,40,20,10,132,2,129,64,72,160,72,0,190,15,2,16,175,235,247,9,132,62,159,216,79,160,71,0,34,136,228,9,161,42,20,10,132,2,129,80,72,160,72,0,34,40,8,4,160,47,20,10,133,2,129,80,72,162,80,0,190,143,0,0,33,32,244,251,125,126,129,95,232,156,208,7,0,128,0,0,224,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,1,12,0,130,66,191,223,239,247,251,11,5,5,133,66,191,4,72,0,198,66,161,80,40,20,64,8,5,37,133,66,160,8,168,0,170,70,161,80,40,20,64,8,5,37,133,66,144,16,8,0,146,74,161,95,232,247,67,8,5,37,121,126,136,32,8,0,130,82,161,64,40,1,66,8,137,36,133,64,132,64,8,0,130,98,161,64,42,2,66,8,81,36,133,64,130,128,8,0,130,66,191,192,47,244,67,248,33,252,133,126,191,0,9,62,0,0,0,0,4,0,0,0,0,0,0,0,128,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,0,4,0,32,72,65,0,0,0,0,0,8,0,0,4,4,0,4,60,32,0,65,0,0,0,0,0,8,0,0,240,125,223,247,133,239,75,81,190,239,251,190,239,59,81,4,0,69,65,20,133,40,74,73,170,40,138,162,32,8,81,4,240,69,65,244,157,40,74,71,170,40,138,162,224,11,81,4,16,69,65,20,132,40,74,73,170,40,138,162,0,10,145,2,240,125,223,247,133,47,74,209,170,232,251,190,224,123,31,1,0,0,0,0,4,8,64,0,0,0,8,32,0,0,0,0,0,0,0,0,132,15,96,0,0,0,8,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,172,1,15,0,0,0,0,0,0,0,0,0,0,0,0,0,36,1,9,0,0,0,0,0,0,0,0,0,6,0,0,0,36,1,9,0,0,0,0,0,0,0,128,16,9,162,40,250,36,1,9,0,0,0,0,0,0,0,0,62,1,42,37,66,34,82,9,0,0,0,0,0,0,0,128,138,3,42,34,34,36,41,9,0,0,0,0,0,0,0,128,10,1,42,37,18,36,1,9,0,0,0,0,0,0,0,128,10,1,190,232,251,36,1,9,0,0,0,0,0,0,0,128,190,14,0,0,2,172,1,15,0,0,0,0,0,0,0,128,4,0,0,224,3,0,0,0,0,0,0,0,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,0,0,0,14,184,67,132,3,58,32,0,128,160,190,2,32,0,0,240,138,32,82,196,2,43,32,4,34,145,2,248,59,0,240,7,142,56,75,228,2,58,32,2,28,138,30,8,42,233,17,4,224,11,66,244,2,130,36,1,20,4,20,232,186,4,209,5,128,184,195,231,10,58,137,0,28,14,60,40,2,9,80,4,128,0,64,196,2,128,68,0,34,132,32,232,2,0,80,4,0,0,64,128,2,0,32,5,0,142,62,8,2,0,16,4,224,3,64,128,66,0,0,7,0,132,0,248,3,0,240,7,0,0,64,128,34,0,0,4,0,0,0,0,0,0,0,0,0,0,64,128,2,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,128,0,194,160,72,24,0,0,1,132,33,9,146,2,66,38,4,1,33,81,0,0,127,63,2,66,2,16,41,0,34,20,192,239,247,251,253,126,9,161,223,239,247,187,187,3,18,15,68,40,20,10,133,66,9,129,64,32,16,16,17,1,8,4,68,40,20,10,133,66,127,129,64,32,16,16,17,1,4,130,199,239,247,251,253,126,9,129,207,231,243,17,17,1,50,169,80,40,20,10,133,66,9,161,64,32,16,16,17,1,64,184,80,40,20,10,133,66,121,191,223,239,247,187,187,3,32,160,31,0,0,0,0,0,0,16,0,0,0,0,0,0,112,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,2,8,131,34,1,0,2,8,67,2,1,0,1,1,124,20,4,132,68,1,0,32,4,132,4,128,8,63,130,0,132,66,191,223,239,247,3,126,161,80,40,20,10,33,0,0,132,70,161,80,40,20,138,82,161,80,40,20,122,161,239,3,158,74,161,80,40,20,82,82,161,80,40,20,74,31,8,2,132,82,161,80,40,20,34,74,161,80,40,244,75,161,239,3,132,98,161,80,40,20,82,74,161,80,40,4,122,161,40,2,124,66,191,223,239,247,139,126,191,223,239,247,11,189,239,3,0,0,0,0,0,0,0,4,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,5,32,0,0,4,132,0,34,129,69,17,16,66,1,0,148,66,81,0,0,8,66,81,148,42,162,32,8,165,80,0,0,0,32,0,0,0,0,0,0,0,5,0,0,0,0,8,190,239,251,254,251,190,239,251,20,145,235,251,190,239,251,0,32,8,130,32,10,162,40,138,20,145,40,138,162,40,138,62,190,239,251,254,11,190,239,251,20,145,40,138,162,40,138,0,162,40,138,34,8,130,32,8,20,145,40,138,162,40,138,8,190,239,251,254,251,190,239,251,20,145,47,250,190,239,251,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,33,0,4,0,0,0,0,0,0,0,0,0,0,0,0,130,80,20,2,20,0,0,0,0,0,0,0,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,190,40,138,162,40,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,168,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,190,239,251,190,47,62,0,0,0,0,0,0,0,0,0,0,4,0,0,0,40,32,0,0,0,0,0,0,0,0,0,0,0,0,0,128,15,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,1,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,2,0,0,0,7,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,2,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,7,0,0,0,1,0,0,0,5,0,0,0,3,0,0,0,7,0,0,0,3,0,0,0,5,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,5,0,0,0,6,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,9,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,5,0,0,0,255,255,255,255,0,1,0,0,255,255,255,255,0,0,128,191,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,92,65,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,236,12,0,0,5,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,211,72,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,236,12,0,0,114,97,121,108,105,98,32,91,99,111,114,101,93,32,101,120,97,109,112,108,101,32,45,32,51,100,32,99,97,109,101,114,97,32,102,105,114,115,116,32,112,101,114,115,111,110,0,70,105,114,115,116,32,112,101,114,115,111,110,32,99,97,109,101,114,97,32,100,101,102,97,117,108,116,32,99,111,110,116,114,111,108,115,58,0,45,32,77,111,118,101,32,119,105,116,104,32,107,101,121,115,58,32,87,44,32,65,44,32,83,44,32,68,0,45,32,77,111,117,115,101,32,109,111,118,101,32,116,111,32,108,111,111,107,32,97,114,111,117,110,100,0,73,110,105,116,105,97,108,105,122,105,110,103,32,114,97,121,108,105,98,32,40,118,49,46,55,46,48,41,0,35,99,97,110,118,97,115,0,84,97,114,103,101,116,32,116,105,109,101,32,112,101,114,32,102,114,97,109,101,58,32,37,48,50,46,48,51,102,32,109,105,108,108,105,115,101,99,111,110,100,115,0,69,115,99,97,112,101,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,102,117,108,108,115,99,114,101,101,110,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,119,105,110,100,111,119,101,100,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,91,84,69,88,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,102,111,110,116,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,50,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,84,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,84,101,120,116,117,114,101,32,99,114,101,97,116,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,84,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,99,114,101,97,116,101,100,0,73,109,97,103,101,32,100,97,116,97,32,102,111,114,109,97,116,32,105,115,32,99,111,109,112,114,101,115,115,101,100,44,32,99,97,110,32,110,111,116,32,98,101,32,99,111,110,118,101,114,116,101,100,0,70,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,102,111,114,32,112,105,120,101,108,32,100,97,116,97,32,114,101,116,114,105,101,118,97,108,0,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,71,76,70,87,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,77,83,65,65,32,120,52,0,67,108,111,115,101,115,116,32,102,117,108,108,115,99,114,101,101,110,32,118,105,100,101,111,109,111,100,101,58,32,37,105,32,120,32,37,105,0,71,76,70,87,32,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,87,105,110,100,111,119,0,68,105,115,112,108,97,121,32,100,101,118,105,99,101,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,82,101,110,100,101,114,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,83,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,86,105,101,119,112,111,114,116,32,111,102,102,115,101,116,115,58,32,37,105,44,32,37,105,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,86,83,89,78,67,0,71,80,85,58,32,86,101,110,100,111,114,58,32,32,32,37,115,0,71,80,85,58,32,82,101,110,100,101,114,101,114,58,32,37,115,0,71,80,85,58,32,86,101,114,115,105,111,110,58,32,32,37,115,0,71,80,85,58,32,71,76,83,76,58,32,32,32,32,32,37,115,0,32,0,78,117,109,98,101,114,32,111,102,32,115,117,112,112,111,114,116,101,100,32,101,120,116,101,110,115,105,111,110,115,58,32,37,105,0,71,76,95,79,69,83,95,118,101,114,116,101,120,95,97,114,114,97,121,95,111,98,106,101,99,116,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,79,69,83,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,71,76,95,79,69,83,95,116,101,120,116,117,114,101,95,110,112,111,116,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,115,51,116,99,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,87,69,66,75,73,84,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,79,69,83,95,99,111,109,112,114,101,115,115,101,100,95,69,84,67,49,95,82,71,66,56,95,116,101,120,116,117,114,101,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,101,116,99,49,0,71,76,95,65,82,66,95,69,83,51,95,99,111,109,112,97,116,105,98,105,108,105,116,121,0,71,76,95,73,77,71,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,112,118,114,116,99,0,71,76,95,75,72,82,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,97,115,116,99,95,104,100,114,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,102,105,108,116,101,114,95,97,110,105,115,111,116,114,111,112,105,99,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,109,105,114,114,111,114,95,99,108,97,109,112,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,86,65,79,32,102,117,110,99,116,105,111,110,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,86,65,79,32,117,115,97,103,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,102,117,108,108,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,108,105,109,105,116,101,100,32,78,80,79,84,32,115,117,112,112,111,114,116,32,40,110,111,45,109,105,112,109,97,112,115,44,32,110,111,45,114,101,112,101,97,116,41,0,91,69,88,84,69,78,83,73,79,78,93,32,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,50,47,69,65,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,110,105,115,111,116,114,111,112,105,99,32,116,101,120,116,117,114,101,115,32,102,105,108,116,101,114,105,110,103,32,115,117,112,112,111,114,116,101,100,32,40,109,97,120,58,32,37,46,48,102,88,41,0,91,69,88,84,69,78,83,73,79,78,93,32,67,108,97,109,112,32,109,105,114,114,111,114,32,119,114,97,112,32,116,101,120,116,117,114,101,32,109,111,100,101,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,79,112,101,110,71,76,32,100,101,102,97,117,108,116,32,115,116,97,116,101,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,67,80,85,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,44,32,116,114,105,97,110,103,108,101,115,44,32,113,117,97,100,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,51,32,118,101,114,116,101,120,80,111,115,105,116,105,111,110,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,50,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,52,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,109,97,116,52,32,109,118,112,77,97,116,114,105,120,59,32,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,102,114,97,103,84,101,120,67,111,111,114,100,32,61,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,10,32,32,32,32,102,114,97,103,67,111,108,111,114,32,61,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,10,32,32,32,32,103,108,95,80,111,115,105,116,105,111,110,32,61,32,109,118,112,77,97,116,114,105,120,42,118,101,99,52,40,118,101,114,116,101,120,80,111,115,105,116,105,111,110,44,32,49,46,48,41,59,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,112,114,101,99,105,115,105,111,110,32,109,101,100,105,117,109,112,32,102,108,111,97,116,59,32,32,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,115,97,109,112,108,101,114,50,68,32,116,101,120,116,117,114,101,48,59,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,118,101,99,52,32,99,111,108,68,105,102,102,117,115,101,59,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,118,101,99,52,32,116,101,120,101,108,67,111,108,111,114,32,61,32,116,101,120,116,117,114,101,50,68,40,116,101,120,116,117,114,101,48,44,32,102,114,97,103,84,101,120,67,111,111,114,100,41,59,32,10,32,32,32,32,103,108,95,70,114,97,103,67,111,108,111,114,32,61,32,116,101,120,101,108,67,111,108,111,114,42,99,111,108,68,105,102,102,117,115,101,42,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,118,101,114,116,101,120,80,111,115,105,116,105,111,110,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,50,0,118,101,114,116,101,120,78,111,114,109,97,108,0,118,101,114,116,101,120,84,97,110,103,101,110,116,0,118,101,114,116,101,120,67,111,108,111,114,0,109,118,112,77,97,116,114,105,120,0,99,111,108,68,105,102,102,117,115,101,0,99,111,108,65,109,98,105,101,110,116,0,99,111,108,83,112,101,99,117,108,97,114,0,116,101,120,116,117,114,101,48,0,116,101,120,116,117,114,101,49,0,116,101,120,116,117,114,101,50,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,118,101,114,116,101,120,32,115,104,97,100,101,114,46,46,46,0,37,115,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,86,101,114,116,101,120,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,102,114,97,103,109,101,110,116,32,115,104,97,100,101,114,46,46,46,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,114,97,103,109,101,110,116,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,108,105,110,107,32,115,104,97,100,101,114,32,112,114,111,103,114,97,109,46,46,46,0,91,83,72,68,82,32,73,68,32,37,105,93,32,83,104,97,100,101,114,32,112,114,111,103,114,97,109,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,79,87,78,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,32,40,37,105,120,37,105,41,32,105,115,32,98,105,103,103,101,114,32,116,104,97,110,32,100,105,115,112,108,97,121,32,115,105,122,101,32,40,37,105,120,37,105,41,0,68,111,119,110,115,99,97,108,101,32,109,97,116,114,105,120,32,103,101,110,101,114,97,116,101,100,44,32,99,111,110,116,101,110,116,32,119,105,108,108,32,98,101,32,114,101,110,100,101,114,101,100,32,97,116,58,32,37,105,32,120,32,37,105,0,85,80,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,32,45,62,32,68,105,115,112,108,97,121,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,91,71,76,70,87,51,32,69,114,114,111,114,93,32,67,111,100,101,58,32,37,105,32,68,101,99,114,105,112,116,105,111,110,58,32,37,115,0,73,78,70,79,58,32,0,87,65,82,78,73,78,71,58,32,0,87,105,110,100,111,119,32,99,108,111,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,40,98,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,41,32,102,114,111,109,32,86,82,65,77,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,83,116,97,99,107,32,66,117,102,102,101,114,32,79,118,101,114,102,108,111,119,32,40,77,65,88,32,37,105,32,77,97,116,114,105,120,41,0,77,65,88,95,76,73,78,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,84,82,73,65,78,71,76,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,81,85,65,68,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,69,88,84,0,65,82,66,0,79,69,83,0,65,78,71,76,69,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,0,103,108,85,115,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,85,115,101,80,114,111,103,114,97,109,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,0,103,108,65,116,116,97,99,104,79,98,106,101,99,116,0,103,108,65,116,116,97,99,104,83,104,97,100,101,114,0,103,108,68,101,116,97,99,104,79,98,106,101,99,116,0,103,108,68,101,116,97,99,104,83,104,97,100,101,114,0,103,108,80,105,120,101,108,83,116,111,114,101,105,0,103,108,71,101,116,83,116,114,105,110,103,0,103,108,71,101,116,73,110,116,101,103,101,114,118,0,103,108,71,101,116,70,108,111,97,116,118,0,103,108,71,101,116,66,111,111,108,101,97,110,118,0,103,108,71,101,110,84,101,120,116,117,114,101,115,0,103,108,68,101,108,101,116,101,84,101,120,116,117,114,101,115,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,84,101,120,73,109,97,103,101,50,68,0,103,108,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,82,101,97,100,80,105,120,101,108,115,0,103,108,66,105,110,100,84,101,120,116,117,114,101,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,84,101,120,116,117,114,101,0,103,108,71,101,110,66,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,66,117,102,102,101,114,115,0,103,108,71,101,116,66,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,66,117,102,102,101,114,68,97,116,97,0,103,108,66,117,102,102,101,114,83,117,98,68,97,116,97,0,103,108,73,115,66,117,102,102,101,114,0,103,108,71,101,110,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,66,105,110,100,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,82,101,110,100,101,114,98,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,85,110,105,102,111,114,109,102,118,0,103,108,71,101,116,85,110,105,102,111,114,109,105,118,0,103,108,71,101,116,85,110,105,102,111,114,109,76,111,99,97,116,105,111,110,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,102,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,105,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,118,0,103,108,71,101,116,65,99,116,105,118,101,85,110,105,102,111,114,109,0,103,108,85,110,105,102,111,114,109,49,102,0,103,108,85,110,105,102,111,114,109,50,102,0,103,108,85,110,105,102,111,114,109,51,102,0,103,108,85,110,105,102,111,114,109,52,102,0,103,108,85,110,105,102,111,114,109,49,105,0,103,108,85,110,105,102,111,114,109,50,105,0,103,108,85,110,105,102,111,114,109,51,105,0,103,108,85,110,105,102,111,114,109,52,105,0,103,108,85,110,105,102,111,114,109,49,105,118,0,103,108,85,110,105,102,111,114,109,50,105,118,0,103,108,85,110,105,102,111,114,109,51,105,118,0,103,108,85,110,105,102,111,114,109,52,105,118,0,103,108,85,110,105,102,111,114,109,49,102,118,0,103,108,85,110,105,102,111,114,109,50,102,118,0,103,108,85,110,105,102,111,114,109,51,102,118,0,103,108,85,110,105,102,111,114,109,52,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,50,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,51,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,52,102,118,0,103,108,66,105,110,100,66,117,102,102,101,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,118,0,103,108,71,101,116,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,71,101,116,65,99,116,105,118,101,65,116,116,114,105,98,0,103,108,68,101,108,101,116,101,83,104,97,100,101,114,0,103,108,71,101,116,65,116,116,97,99,104,101,100,83,104,97,100,101,114,115,0,103,108,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,71,101,116,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,67,111,109,112,105,108,101,83,104,97,100,101,114,0,103,108,71,101,116,83,104,97,100,101,114,73,110,102,111,76,111,103,0,103,108,71,101,116,83,104,97,100,101,114,105,118,0,103,108,71,101,116,80,114,111,103,114,97,109,105,118,0,103,108,73,115,83,104,97,100,101,114,0,103,108,68,101,108,101,116,101,80,114,111,103,114,97,109,0,103,108,71,101,116,83,104,97,100,101,114,80,114,101,99,105,115,105,111,110,70,111,114,109,97,116,0,103,108,76,105,110,107,80,114,111,103,114,97,109,0,103,108,71,101,116,80,114,111,103,114,97,109,73,110,102,111,76,111,103,0,103,108,86,97,108,105,100,97,116,101,80,114,111,103,114,97,109,0,103,108,73,115,80,114,111,103,114,97,109,0,103,108,66,105,110,100,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,66,105,110,100,70,114,97,109,101,98,117,102,102,101,114,0,103,108,71,101,110,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,70,114,97,109,101,98,117,102,102,101,114,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,70,114,97,109,101,98,117,102,102,101,114,84,101,120,116,117,114,101,50,68,0,103,108,71,101,116,70,114,97,109,101,98,117,102,102,101,114,65,116,116,97,99,104,109,101,110,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,70,114,97,109,101,98,117,102,102,101,114,0,103,108,68,101,108,101,116,101,79,98,106,101,99,116,0,103,108,71,101,116,79,98,106,101,99,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,71,101,116,73,110,102,111,76,111,103,0,103,108,66,105,110,100,80,114,111,103,114,97,109,0,103,108,71,101,116,80,111,105,110,116,101,114,118,0,103,108,68,114,97,119,82,97,110,103,101,69,108,101,109,101,110,116,115,0,103,108,69,110,97,98,108,101,67,108,105,101,110,116,83,116,97,116,101,0,103,108,86,101,114,116,101,120,80,111,105,110,116,101,114,0,103,108,84,101,120,67,111,111,114,100,80,111,105,110,116,101,114,0,103,108,78,111,114,109,97,108,80,111,105,110,116,101,114,0,103,108,67,111,108,111,114,80,111,105,110,116,101,114,0,103,108,67,108,105,101,110,116,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,71,101,110,86,101,114,116,101,120,65], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE); -/* memory initializer */ allocate([114,114,97,121,115,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,0,103,108,77,97,116,114,105,120,77,111,100,101,0,103,108,76,111,97,100,73,100,101,110,116,105,116,121,0,103,108,76,111,97,100,77,97,116,114,105,120,102,0,103,108,70,114,117,115,116,117,109,0,103,108,82,111,116,97,116,101,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,0,103,108,69,110,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,105,115,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,114,97,119,65,114,114,97,121,115,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,0,103,108,83,104,97,100,101,114,66,105,110,97,114,121,0,103,108,82,101,108,101,97,115,101,83,104,97,100,101,114,67,111,109,112,105,108,101,114,0,103,108,71,101,116,69,114,114,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,68,105,118,105,115,111,114,0,103,108,68,114,97,119,65,114,114,97,121,115,73,110,115,116,97,110,99,101,100,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,73,110,115,116,97,110,99,101,100,0,103,108,70,105,110,105,115,104,0,103,108,70,108,117,115,104,0,103,108,67,108,101,97,114,68,101,112,116,104,0,103,108,67,108,101,97,114,68,101,112,116,104,102,0,103,108,68,101,112,116,104,70,117,110,99,0,103,108,69,110,97,98,108,101,0,103,108,68,105,115,97,98,108,101,0,103,108,70,114,111,110,116,70,97,99,101,0,103,108,67,117,108,108,70,97,99,101,0,103,108,67,108,101,97,114,0,103,108,76,105,110,101,87,105,100,116,104,0,103,108,67,108,101,97,114,83,116,101,110,99,105,108,0,103,108,68,101,112,116,104,77,97,115,107,0,103,108,83,116,101,110,99,105,108,77,97,115,107,0,103,108,67,104,101,99,107,70,114,97,109,101,98,117,102,102,101,114,83,116,97,116,117,115,0,103,108,71,101,110,101,114,97,116,101,77,105,112,109,97,112,0,103,108,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,0,103,108,73,115,69,110,97,98,108,101,100,0,103,108,66,108,101,110,100,70,117,110,99,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,83,101,112,97,114,97,116,101,0,103,108,68,101,112,116,104,82,97,110,103,101,0,103,108,68,101,112,116,104,82,97,110,103,101,102,0,103,108,83,116,101,110,99,105,108,77,97,115,107,83,101,112,97,114,97,116,101,0,103,108,72,105,110,116,0,103,108,80,111,108,121,103,111,110,79,102,102,115,101,116,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,0,103,108,83,97,109,112,108,101,67,111,118,101,114,97,103,101,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,0,103,108,83,116,101,110,99,105,108,70,117,110,99,0,103,108,83,116,101,110,99,105,108,79,112,0,103,108,86,105,101,119,112,111,114,116,0,103,108,67,108,101,97,114,67,111,108,111,114,0,103,108,83,99,105,115,115,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,0,103,108,67,111,108,111,114,77,97,115,107,0,103,108,82,101,110,100,101,114,98,117,102,102,101,114,83,116,111,114,97,103,101,0,103,108,66,108,101,110,100,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,66,108,101,110,100,67,111,108,111,114,0,103,108,83,116,101,110,99,105,108,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,83,116,101,110,99,105,108,79,112,83,101,112,97,114,97,116,101,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,0,103,108,67,111,112,121,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,112,121,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,68,114,97,119,66,117,102,102,101,114,115,0,123,32,77,111,100,117,108,101,46,112,114,105,110,116,69,114,114,40,39,98,97,100,32,110,97,109,101,32,105,110,32,103,101,116,80,114,111,99,65,100,100,114,101,115,115,58,32,39,32,43,32,91,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,48,41,44,32,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,49,41,93,41,59,32,125,0,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,110,97,110,0,78,65,78,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,46,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+10240); +/* memory initializer */ allocate([32,3,0,0,194,1,0,0,0,0,128,64,0,0,0,64,0,0,128,64,0,0,0,0,102,102,230,63,0,0,0,0,0,0,0,0,0,0,128,63,0,0,0,0,0,0,112,66,255,255,255,255,205,204,236,63,2,0,0,0,86,1,0,0,85,1,0,0,87,0,0,0,83,0,0,0,68,0,0,0,65,0,0,0,69,0,0,0,81,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,32,0,0,176,1,0,0,0,0,0,0,0,0,0,32,37,249,142,0,10,2,0,0,128,190,125,95,244,125,31,160,242,43,74,30,9,82,8,0,64,34,65,80,20,4,16,32,32,41,46,18,8,34,8,0,32,34,65,80,20,4,16,32,32,249,16,76,8,250,62,60,16,34,125,222,247,125,16,32,32,161,232,50,8,34,8,0,8,34,5,16,4,69,16,0,240,163,164,50,8,82,8,0,4,34,5,16,4,69,16,32,32,249,226,94,8,2,0,129,2,62,125,31,244,125,16,0,0,32,0,0,176,1,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,190,15,0,192,15,224,247,251,125,126,191,95,232,190,80,0,162,8,8,68,232,47,20,10,133,2,129,80,72,160,80,0,162,40,228,73,40,40,20,10,132,2,129,64,72,160,72,0,190,15,2,16,175,235,247,9,132,62,159,216,79,160,71,0,34,136,228,9,161,42,20,10,132,2,129,80,72,160,72,0,34,40,8,4,160,47,20,10,133,2,129,80,72,162,80,0,190,143,0,0,33,32,244,251,125,126,129,95,232,156,208,7,0,128,0,0,224,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,1,12,0,130,66,191,223,239,247,251,11,5,5,133,66,191,4,72,0,198,66,161,80,40,20,64,8,5,37,133,66,160,8,168,0,170,70,161,80,40,20,64,8,5,37,133,66,144,16,8,0,146,74,161,95,232,247,67,8,5,37,121,126,136,32,8,0,130,82,161,64,40,1,66,8,137,36,133,64,132,64,8,0,130,98,161,64,42,2,66,8,81,36,133,64,130,128,8,0,130,66,191,192,47,244,67,248,33,252,133,126,191,0,9,62,0,0,0,0,4,0,0,0,0,0,0,0,128,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,0,4,0,32,72,65,0,0,0,0,0,8,0,0,4,4,0,4,60,32,0,65,0,0,0,0,0,8,0,0,240,125,223,247,133,239,75,81,190,239,251,190,239,59,81,4,0,69,65,20,133,40,74,73,170,40,138,162,32,8,81,4,240,69,65,244,157,40,74,71,170,40,138,162,224,11,81,4,16,69,65,20,132,40,74,73,170,40,138,162,0,10,145,2,240,125,223,247,133,47,74,209,170,232,251,190,224,123,31,1,0,0,0,0,4,8,64,0,0,0,8,32,0,0,0,0,0,0,0,0,132,15,96,0,0,0,8,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,172,1,15,0,0,0,0,0,0,0,0,0,0,0,0,0,36,1,9,0,0,0,0,0,0,0,0,0,6,0,0,0,36,1,9,0,0,0,0,0,0,0,128,16,9,162,40,250,36,1,9,0,0,0,0,0,0,0,0,62,1,42,37,66,34,82,9,0,0,0,0,0,0,0,128,138,3,42,34,34,36,41,9,0,0,0,0,0,0,0,128,10,1,42,37,18,36,1,9,0,0,0,0,0,0,0,128,10,1,190,232,251,36,1,9,0,0,0,0,0,0,0,128,190,14,0,0,2,172,1,15,0,0,0,0,0,0,0,128,4,0,0,224,3,0,0,0,0,0,0,0,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,0,0,0,14,184,67,132,3,58,32,0,128,160,190,2,32,0,0,240,138,32,82,196,2,43,32,4,34,145,2,248,59,0,240,7,142,56,75,228,2,58,32,2,28,138,30,8,42,233,17,4,224,11,66,244,2,130,36,1,20,4,20,232,186,4,209,5,128,184,195,231,10,58,137,0,28,14,60,40,2,9,80,4,128,0,64,196,2,128,68,0,34,132,32,232,2,0,80,4,0,0,64,128,2,0,32,5,0,142,62,8,2,0,16,4,224,3,64,128,66,0,0,7,0,132,0,248,3,0,240,7,0,0,64,128,34,0,0,4,0,0,0,0,0,0,0,0,0,0,64,128,2,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,128,0,194,160,72,24,0,0,1,132,33,9,146,2,66,38,4,1,33,81,0,0,127,63,2,66,2,16,41,0,34,20,192,239,247,251,253,126,9,161,223,239,247,187,187,3,18,15,68,40,20,10,133,66,9,129,64,32,16,16,17,1,8,4,68,40,20,10,133,66,127,129,64,32,16,16,17,1,4,130,199,239,247,251,253,126,9,129,207,231,243,17,17,1,50,169,80,40,20,10,133,66,9,161,64,32,16,16,17,1,64,184,80,40,20,10,133,66,121,191,223,239,247,187,187,3,32,160,31,0,0,0,0,0,0,16,0,0,0,0,0,0,112,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,2,8,131,34,1,0,2,8,67,2,1,0,1,1,124,20,4,132,68,1,0,32,4,132,4,128,8,63,130,0,132,66,191,223,239,247,3,126,161,80,40,20,10,33,0,0,132,70,161,80,40,20,138,82,161,80,40,20,122,161,239,3,158,74,161,80,40,20,82,82,161,80,40,20,74,31,8,2,132,82,161,80,40,20,34,74,161,80,40,244,75,161,239,3,132,98,161,80,40,20,82,74,161,80,40,4,122,161,40,2,124,66,191,223,239,247,139,126,191,223,239,247,11,189,239,3,0,0,0,0,0,0,0,4,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,5,32,0,0,4,132,0,34,129,69,17,16,66,1,0,148,66,81,0,0,8,66,81,148,42,162,32,8,165,80,0,0,0,32,0,0,0,0,0,0,0,5,0,0,0,0,8,190,239,251,254,251,190,239,251,20,145,235,251,190,239,251,0,32,8,130,32,10,162,40,138,20,145,40,138,162,40,138,62,190,239,251,254,11,190,239,251,20,145,40,138,162,40,138,0,162,40,138,34,8,130,32,8,20,145,40,138,162,40,138,8,190,239,251,254,251,190,239,251,20,145,47,250,190,239,251,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,33,0,4,0,0,0,0,0,0,0,0,0,0,0,0,130,80,20,2,20,0,0,0,0,0,0,0,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,190,40,138,162,40,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,168,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,190,239,251,190,47,62,0,0,0,0,0,0,0,0,0,0,4,0,0,0,40,32,0,0,0,0,0,0,0,0,0,0,0,0,0,128,15,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,1,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,2,0,0,0,7,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,2,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,7,0,0,0,1,0,0,0,5,0,0,0,3,0,0,0,7,0,0,0,3,0,0,0,5,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,5,0,0,0,6,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,9,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,5,0,0,0,255,255,255,255,0,1,0,0,255,255,255,255,0,0,128,191,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,164,65,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,236,12,0,0,5,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,27,73,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,236,12,0,0,114,97,121,108,105,98,32,91,99,111,114,101,93,32,101,120,97,109,112,108,101,32,45,32,51,100,32,99,97,109,101,114,97,32,102,105,114,115,116,32,112,101,114,115,111,110,0,70,105,114,115,116,32,112,101,114,115,111,110,32,99,97,109,101,114,97,32,100,101,102,97,117,108,116,32,99,111,110,116,114,111,108,115,58,0,45,32,77,111,118,101,32,119,105,116,104,32,107,101,121,115,58,32,87,44,32,65,44,32,83,44,32,68,0,45,32,77,111,117,115,101,32,109,111,118,101,32,116,111,32,108,111,111,107,32,97,114,111,117,110,100,0,73,110,105,116,105,97,108,105,122,105,110,103,32,114,97,121,108,105,98,32,40,118,49,46,55,46,48,41,0,35,99,97,110,118,97,115,0,84,97,114,103,101,116,32,116,105,109,101,32,112,101,114,32,102,114,97,109,101,58,32,37,48,50,46,48,51,102,32,109,105,108,108,105,115,101,99,111,110,100,115,0,69,115,99,97,112,101,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,102,117,108,108,115,99,114,101,101,110,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,119,105,110,100,111,119,101,100,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,91,84,69,88,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,102,111,110,116,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,84,69,88,32,37,105,93,32,80,97,114,97,109,101,116,101,114,115,58,32,37,105,120,37,105,44,32,37,105,32,109,105,112,115,44,32,102,111,114,109,97,116,32,37,105,0,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,50,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,84,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,84,101,120,116,117,114,101,32,99,114,101,97,116,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,84,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,99,114,101,97,116,101,100,0,73,109,97,103,101,32,100,97,116,97,32,102,111,114,109,97,116,32,105,115,32,99,111,109,112,114,101,115,115,101,100,44,32,99,97,110,32,110,111,116,32,98,101,32,99,111,110,118,101,114,116,101,100,0,70,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,102,111,114,32,112,105,120,101,108,32,100,97,116,97,32,114,101,116,114,105,101,118,97,108,0,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,71,76,70,87,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,77,83,65,65,32,120,52,0,67,108,111,115,101,115,116,32,102,117,108,108,115,99,114,101,101,110,32,118,105,100,101,111,109,111,100,101,58,32,37,105,32,120,32,37,105,0,71,76,70,87,32,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,87,105,110,100,111,119,0,68,105,115,112,108,97,121,32,100,101,118,105,99,101,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,82,101,110,100,101,114,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,83,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,86,105,101,119,112,111,114,116,32,111,102,102,115,101,116,115,58,32,37,105,44,32,37,105,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,86,83,89,78,67,0,71,80,85,58,32,86,101,110,100,111,114,58,32,32,32,37,115,0,71,80,85,58,32,82,101,110,100,101,114,101,114,58,32,37,115,0,71,80,85,58,32,86,101,114,115,105,111,110,58,32,32,37,115,0,71,80,85,58,32,71,76,83,76,58,32,32,32,32,32,37,115,0,32,0,78,117,109,98,101,114,32,111,102,32,115,117,112,112,111,114,116,101,100,32,101,120,116,101,110,115,105,111,110,115,58,32,37,105,0,71,76,95,79,69,83,95,118,101,114,116,101,120,95,97,114,114,97,121,95,111,98,106,101,99,116,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,79,69,83,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,71,76,95,79,69,83,95,116,101,120,116,117,114,101,95,110,112,111,116,0,79,69,83,95,116,101,120,116,117,114,101,95,102,108,111,97,116,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,115,51,116,99,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,87,69,66,75,73,84,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,79,69,83,95,99,111,109,112,114,101,115,115,101,100,95,69,84,67,49,95,82,71,66,56,95,116,101,120,116,117,114,101,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,101,116,99,49,0,71,76,95,65,82,66,95,69,83,51,95,99,111,109,112,97,116,105,98,105,108,105,116,121,0,71,76,95,73,77,71,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,112,118,114,116,99,0,71,76,95,75,72,82,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,97,115,116,99,95,104,100,114,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,102,105,108,116,101,114,95,97,110,105,115,111,116,114,111,112,105,99,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,109,105,114,114,111,114,95,99,108,97,109,112,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,86,65,79,32,102,117,110,99,116,105,111,110,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,86,65,79,32,117,115,97,103,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,102,117,108,108,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,108,105,109,105,116,101,100,32,78,80,79,84,32,115,117,112,112,111,114,116,32,40,110,111,45,109,105,112,109,97,112,115,44,32,110,111,45,114,101,112,101,97,116,41,0,91,69,88,84,69,78,83,73,79,78,93,32,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,50,47,69,65,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,110,105,115,111,116,114,111,112,105,99,32,116,101,120,116,117,114,101,115,32,102,105,108,116,101,114,105,110,103,32,115,117,112,112,111,114,116,101,100,32,40,109,97,120,58,32,37,46,48,102,88,41,0,91,69,88,84,69,78,83,73,79,78,93,32,67,108,97,109,112,32,109,105,114,114,111,114,32,119,114,97,112,32,116,101,120,116,117,114,101,32,109,111,100,101,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,79,112,101,110,71,76,32,100,101,102,97,117,108,116,32,115,116,97,116,101,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,67,80,85,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,44,32,116,114,105,97,110,103,108,101,115,44,32,113,117,97,100,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,51,32,118,101,114,116,101,120,80,111,115,105,116,105,111,110,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,50,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,52,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,109,97,116,52,32,109,118,112,77,97,116,114,105,120,59,32,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,102,114,97,103,84,101,120,67,111,111,114,100,32,61,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,10,32,32,32,32,102,114,97,103,67,111,108,111,114,32,61,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,10,32,32,32,32,103,108,95,80,111,115,105,116,105,111,110,32,61,32,109,118,112,77,97,116,114,105,120,42,118,101,99,52,40,118,101,114,116,101,120,80,111,115,105,116,105,111,110,44,32,49,46,48,41,59,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,112,114,101,99,105,115,105,111,110,32,109,101,100,105,117,109,112,32,102,108,111,97,116,59,32,32,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,115,97,109,112,108,101,114,50,68,32,116,101,120,116,117,114,101,48,59,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,118,101,99,52,32,99,111,108,68,105,102,102,117,115,101,59,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,118,101,99,52,32,116,101,120,101,108,67,111,108,111,114,32,61,32,116,101,120,116,117,114,101,50,68,40,116,101,120,116,117,114,101,48,44,32,102,114,97,103,84,101,120,67,111,111,114,100,41,59,32,10,32,32,32,32,103,108,95,70,114,97,103,67,111,108,111,114,32,61,32,116,101,120,101,108,67,111,108,111,114,42,99,111,108,68,105,102,102,117,115,101,42,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,118,101,114,116,101,120,80,111,115,105,116,105,111,110,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,50,0,118,101,114,116,101,120,78,111,114,109,97,108,0,118,101,114,116,101,120,84,97,110,103,101,110,116,0,118,101,114,116,101,120,67,111,108,111,114,0,109,118,112,77,97,116,114,105,120,0,99,111,108,68,105,102,102,117,115,101,0,99,111,108,65,109,98,105,101,110,116,0,99,111,108,83,112,101,99,117,108,97,114,0,116,101,120,116,117,114,101,48,0,116,101,120,116,117,114,101,49,0,116,101,120,116,117,114,101,50,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,118,101,114,116,101,120,32,115,104,97,100,101,114,46,46,46,0,37,115,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,86,101,114,116,101,120,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,102,114,97,103,109,101,110,116,32,115,104,97,100,101,114,46,46,46,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,114,97,103,109,101,110,116,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,108,105,110,107,32,115,104,97,100,101,114,32,112,114,111,103,114,97,109,46,46,46,0,91,83,72,68,82,32,73,68,32,37,105,93,32,83,104,97,100,101,114,32,112,114,111,103,114,97,109,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,79,87,78,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,32,40,37,105,120,37,105,41,32,105,115,32,98,105,103,103,101,114,32,116,104,97,110,32,100,105,115,112,108,97,121,32,115,105,122,101,32,40,37,105,120,37,105,41,0,68,111,119,110,115,99,97,108,101,32,109,97,116,114,105,120,32,103,101,110,101,114,97,116,101,100,44,32,99,111,110,116,101,110,116,32,119,105,108,108,32,98,101,32,114,101,110,100,101,114,101,100,32,97,116,58,32,37,105,32,120,32,37,105,0,85,80,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,32,45,62,32,68,105,115,112,108,97,121,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,91,71,76,70,87,51,32,69,114,114,111,114,93,32,67,111,100,101,58,32,37,105,32,68,101,99,114,105,112,116,105,111,110,58,32,37,115,0,73,78,70,79,58,32,0,87,65,82,78,73,78,71,58,32,0,87,105,110,100,111,119,32,99,108,111,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,40,98,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,41,32,102,114,111,109,32,86,82,65,77,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,83,116,97,99,107,32,66,117,102,102,101,114,32,79,118,101,114,102,108,111,119,32,40,77,65,88,32,37,105,32,77,97,116,114,105,120,41,0,77,65,88,95,76,73,78,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,84,82,73,65,78,71,76,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,81,85,65,68,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,69,88,84,0,65,82,66,0,79,69,83,0,65,78,71,76,69,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,0,103,108,85,115,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,85,115,101,80,114,111,103,114,97,109,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,0,103,108,65,116,116,97,99,104,79,98,106,101,99,116,0,103,108,65,116,116,97,99,104,83,104,97,100,101,114,0,103,108,68,101,116,97,99,104,79,98,106,101,99,116,0,103,108,68,101,116,97,99,104,83,104,97,100,101,114,0,103,108,80,105,120,101,108,83,116,111,114,101,105,0,103,108,71,101,116,83,116,114,105,110,103,0,103,108,71,101,116,73,110,116,101,103,101,114,118,0,103,108,71,101,116,70,108,111,97,116,118,0,103,108,71,101,116,66,111,111,108,101,97,110,118,0,103,108,71,101,110,84,101,120,116,117,114,101,115,0,103,108,68,101,108,101,116,101,84,101,120,116,117,114,101,115,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,84,101,120,73,109,97,103,101,50,68,0,103,108,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,82,101,97,100,80,105,120,101,108,115,0,103,108,66,105,110,100,84,101,120,116,117,114,101,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,84,101,120,116,117,114,101,0,103,108,71,101,110,66,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,66,117,102,102,101,114,115,0,103,108,71,101,116,66,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,66,117,102,102,101,114,68,97,116,97,0,103,108,66,117,102,102,101,114,83,117,98,68,97,116,97,0,103,108,73,115,66,117,102,102,101,114,0,103,108,71,101,110,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,66,105,110,100,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,82,101,110,100,101,114,98,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,85,110,105,102,111,114,109,102,118,0,103,108,71,101,116,85,110,105,102,111,114,109,105,118,0,103,108,71,101,116,85,110,105,102,111,114,109,76,111,99,97,116,105,111,110,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,102,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,105,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,118,0,103,108,71,101,116,65,99,116,105,118,101,85,110,105,102,111,114,109,0,103,108,85,110,105,102,111,114,109,49,102,0,103,108,85,110,105,102,111,114,109,50,102,0,103,108,85,110,105,102,111,114,109,51,102,0,103,108,85,110,105,102,111,114,109,52,102,0,103,108,85,110,105,102,111,114,109,49,105,0,103,108,85,110,105,102,111,114,109,50,105,0,103,108,85,110,105,102,111,114,109,51,105,0,103,108,85,110,105,102,111,114,109,52,105,0,103,108,85,110,105,102,111,114,109,49,105,118,0,103,108,85,110,105,102,111,114,109,50,105,118,0,103,108,85,110,105,102,111,114,109,51,105,118,0,103,108,85,110,105,102,111,114,109,52,105,118,0,103,108,85,110,105,102,111,114,109,49,102,118,0,103,108,85,110,105,102,111,114,109,50,102,118,0,103,108,85,110,105,102,111,114,109,51,102,118,0,103,108,85,110,105,102,111,114,109,52,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,50,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,51,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,52,102,118,0,103,108,66,105,110,100,66,117,102,102,101,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,118,0,103,108,71,101,116,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,71,101,116,65,99,116,105,118,101,65,116,116,114,105,98,0,103,108,68,101,108,101,116,101,83,104,97,100,101,114,0,103,108,71,101,116,65,116,116,97,99,104,101,100,83,104,97,100,101,114,115,0,103,108,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,71,101,116,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,67,111,109,112,105,108,101,83,104,97,100,101,114,0,103,108,71,101,116,83,104,97,100,101,114,73,110,102,111,76,111,103,0,103,108,71,101,116,83,104,97,100,101,114,105,118,0,103,108,71,101,116,80,114,111,103,114,97,109,105,118,0,103,108,73,115,83,104,97,100,101,114,0,103,108,68,101,108,101,116,101,80,114,111,103,114,97,109,0,103,108,71,101,116,83,104,97,100,101,114,80,114,101,99,105,115,105,111,110,70,111,114,109,97,116,0,103,108,76,105,110,107,80,114,111,103,114,97,109,0,103,108,71,101,116,80,114,111,103,114,97,109,73,110,102,111,76,111,103,0,103,108,86,97,108,105,100,97,116,101,80,114,111,103,114,97,109,0,103,108,73,115,80,114,111,103,114,97,109,0,103,108,66,105,110,100,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,66,105,110,100,70,114,97,109,101,98,117,102,102,101,114,0,103,108,71,101,110,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,70,114,97,109,101,98,117,102,102,101,114,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,70,114,97,109,101,98,117,102,102,101,114,84,101,120,116,117,114,101,50,68,0,103,108,71,101,116,70,114,97,109,101,98,117,102,102,101,114,65,116,116,97,99,104,109,101,110,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,70,114,97,109,101,98,117,102,102,101,114,0,103,108,68,101,108,101,116,101,79,98,106,101,99,116,0,103,108,71,101,116,79,98,106,101,99,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,71,101,116,73,110,102,111,76,111,103,0,103,108,66,105,110,100,80,114,111,103,114,97,109,0,103,108,71,101,116,80,111,105,110,116,101,114,118,0,103,108,68,114,97,119,82,97,110,103,101,69,108,101,109,101,110,116,115,0,103,108,69,110,97,98,108,101,67,108,105,101,110,116,83,116,97,116,101,0,103,108,86,101,114,116,101,120,80,111,105,110,116,101,114,0,103,108,84,101,120,67,111,111,114,100,80,111,105,110,116,101,114], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE); +/* memory initializer */ allocate([103,108,78,111,114,109,97,108,80,111,105,110,116,101,114,0,103,108,67,111,108,111,114,80,111,105,110,116,101,114,0,103,108,67,108,105,101,110,116,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,0,103,108,77,97,116,114,105,120,77,111,100,101,0,103,108,76,111,97,100,73,100,101,110,116,105,116,121,0,103,108,76,111,97,100,77,97,116,114,105,120,102,0,103,108,70,114,117,115,116,117,109,0,103,108,82,111,116,97,116,101,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,0,103,108,69,110,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,105,115,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,114,97,119,65,114,114,97,121,115,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,0,103,108,83,104,97,100,101,114,66,105,110,97,114,121,0,103,108,82,101,108,101,97,115,101,83,104,97,100,101,114,67,111,109,112,105,108,101,114,0,103,108,71,101,116,69,114,114,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,68,105,118,105,115,111,114,0,103,108,68,114,97,119,65,114,114,97,121,115,73,110,115,116,97,110,99,101,100,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,73,110,115,116,97,110,99,101,100,0,103,108,70,105,110,105,115,104,0,103,108,70,108,117,115,104,0,103,108,67,108,101,97,114,68,101,112,116,104,0,103,108,67,108,101,97,114,68,101,112,116,104,102,0,103,108,68,101,112,116,104,70,117,110,99,0,103,108,69,110,97,98,108,101,0,103,108,68,105,115,97,98,108,101,0,103,108,70,114,111,110,116,70,97,99,101,0,103,108,67,117,108,108,70,97,99,101,0,103,108,67,108,101,97,114,0,103,108,76,105,110,101,87,105,100,116,104,0,103,108,67,108,101,97,114,83,116,101,110,99,105,108,0,103,108,68,101,112,116,104,77,97,115,107,0,103,108,83,116,101,110,99,105,108,77,97,115,107,0,103,108,67,104,101,99,107,70,114,97,109,101,98,117,102,102,101,114,83,116,97,116,117,115,0,103,108,71,101,110,101,114,97,116,101,77,105,112,109,97,112,0,103,108,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,0,103,108,73,115,69,110,97,98,108,101,100,0,103,108,66,108,101,110,100,70,117,110,99,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,83,101,112,97,114,97,116,101,0,103,108,68,101,112,116,104,82,97,110,103,101,0,103,108,68,101,112,116,104,82,97,110,103,101,102,0,103,108,83,116,101,110,99,105,108,77,97,115,107,83,101,112,97,114,97,116,101,0,103,108,72,105,110,116,0,103,108,80,111,108,121,103,111,110,79,102,102,115,101,116,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,0,103,108,83,97,109,112,108,101,67,111,118,101,114,97,103,101,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,0,103,108,83,116,101,110,99,105,108,70,117,110,99,0,103,108,83,116,101,110,99,105,108,79,112,0,103,108,86,105,101,119,112,111,114,116,0,103,108,67,108,101,97,114,67,111,108,111,114,0,103,108,83,99,105,115,115,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,0,103,108,67,111,108,111,114,77,97,115,107,0,103,108,82,101,110,100,101,114,98,117,102,102,101,114,83,116,111,114,97,103,101,0,103,108,66,108,101,110,100,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,66,108,101,110,100,67,111,108,111,114,0,103,108,83,116,101,110,99,105,108,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,83,116,101,110,99,105,108,79,112,83,101,112,97,114,97,116,101,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,0,103,108,67,111,112,121,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,112,121,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,68,114,97,119,66,117,102,102,101,114,115,0,123,32,77,111,100,117,108,101,46,112,114,105,110,116,69,114,114,40,39,98,97,100,32,110,97,109,101,32,105,110,32,103,101,116,80,114,111,99,65,100,100,114,101,115,115,58,32,39,32,43,32,91,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,48,41,44,32,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,49,41,93,41,59,32,125,0,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,110,97,110,0,78,65,78,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,46,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+10240); @@ -6324,10 +6324,6 @@ function copyTempDouble(ptr) { GLFW.errorFunc = cbfun; } - function _glfwSetCursorPos(winid, x, y) { - GLFW.setCursorPos(winid, x, y); - } - function _emscripten_glCreateShader(shaderType) { var id = GL.getNewId(GL.shaders); GL.shaders[id] = GLctx.createShader(shaderType); @@ -6742,7 +6738,7 @@ function invoke_viiii(index,a1,a2,a3,a4) { Module.asmGlobalArg = { "Math": Math, "Int8Array": Int8Array, "Int16Array": Int16Array, "Int32Array": Int32Array, "Uint8Array": Uint8Array, "Uint16Array": Uint16Array, "Uint32Array": Uint32Array, "Float32Array": Float32Array, "Float64Array": Float64Array, "NaN": NaN, "Infinity": Infinity }; -Module.asmLibraryArg = { "abort": abort, "assert": assert, "enlargeMemory": enlargeMemory, "getTotalMemory": getTotalMemory, "abortOnCannotGrowMemory": abortOnCannotGrowMemory, "abortStackOverflow": abortStackOverflow, "nullFunc_viiiii": nullFunc_viiiii, "nullFunc_vd": nullFunc_vd, "nullFunc_vid": nullFunc_vid, "nullFunc_vi": nullFunc_vi, "nullFunc_vii": nullFunc_vii, "nullFunc_ii": nullFunc_ii, "nullFunc_viddd": nullFunc_viddd, "nullFunc_vidd": nullFunc_vidd, "nullFunc_iiii": nullFunc_iiii, "nullFunc_viiiiiiii": nullFunc_viiiiiiii, "nullFunc_viiiiii": nullFunc_viiiiii, "nullFunc_viii": nullFunc_viii, "nullFunc_vidddd": nullFunc_vidddd, "nullFunc_vdi": nullFunc_vdi, "nullFunc_viiiiiii": nullFunc_viiiiiii, "nullFunc_viiiiiiiii": nullFunc_viiiiiiiii, "nullFunc_iii": nullFunc_iii, "nullFunc_i": nullFunc_i, "nullFunc_vdddddd": nullFunc_vdddddd, "nullFunc_vdddd": nullFunc_vdddd, "nullFunc_vdd": nullFunc_vdd, "nullFunc_v": nullFunc_v, "nullFunc_viid": nullFunc_viid, "nullFunc_viiii": nullFunc_viiii, "invoke_viiiii": invoke_viiiii, "invoke_vd": invoke_vd, "invoke_vid": invoke_vid, "invoke_vi": invoke_vi, "invoke_vii": invoke_vii, "invoke_ii": invoke_ii, "invoke_viddd": invoke_viddd, "invoke_vidd": invoke_vidd, "invoke_iiii": invoke_iiii, "invoke_viiiiiiii": invoke_viiiiiiii, "invoke_viiiiii": invoke_viiiiii, "invoke_viii": invoke_viii, "invoke_vidddd": invoke_vidddd, "invoke_vdi": invoke_vdi, "invoke_viiiiiii": invoke_viiiiiii, "invoke_viiiiiiiii": invoke_viiiiiiiii, "invoke_iii": invoke_iii, "invoke_i": invoke_i, "invoke_vdddddd": invoke_vdddddd, "invoke_vdddd": invoke_vdddd, "invoke_vdd": invoke_vdd, "invoke_v": invoke_v, "invoke_viid": invoke_viid, "invoke_viiii": invoke_viiii, "_emscripten_glGetTexParameterfv": _emscripten_glGetTexParameterfv, "_glUseProgram": _glUseProgram, "_emscripten_glShaderSource": _emscripten_glShaderSource, "_glfwCreateWindow": _glfwCreateWindow, "_emscripten_glReleaseShaderCompiler": _emscripten_glReleaseShaderCompiler, "_emscripten_glBlendFuncSeparate": _emscripten_glBlendFuncSeparate, "_emscripten_glVertexAttribPointer": _emscripten_glVertexAttribPointer, "_emscripten_glGetIntegerv": _emscripten_glGetIntegerv, "_emscripten_glCullFace": _emscripten_glCullFace, "_emscripten_glIsProgram": _emscripten_glIsProgram, "_emscripten_glStencilMaskSeparate": _emscripten_glStencilMaskSeparate, "_emscripten_glViewport": _emscripten_glViewport, "_emscripten_glFrontFace": _emscripten_glFrontFace, "_glDeleteProgram": _glDeleteProgram, "_emscripten_glUniform3fv": _emscripten_glUniform3fv, "_emscripten_glPolygonOffset": _emscripten_glPolygonOffset, "_emscripten_glUseProgram": _emscripten_glUseProgram, "_emscripten_glBlendColor": _emscripten_glBlendColor, "_glBindBuffer": _glBindBuffer, "_emscripten_glDepthFunc": _emscripten_glDepthFunc, "_glGetShaderInfoLog": _glGetShaderInfoLog, "_emscripten_set_fullscreenchange_callback": _emscripten_set_fullscreenchange_callback, "_emscripten_set_touchmove_callback": _emscripten_set_touchmove_callback, "_emscripten_set_main_loop_timing": _emscripten_set_main_loop_timing, "_glDisable": _glDisable, "_glBlendFunc": _glBlendFunc, "_emscripten_glDisableVertexAttribArray": _emscripten_glDisableVertexAttribArray, "_glGetAttribLocation": _glGetAttribLocation, "_glDisableVertexAttribArray": _glDisableVertexAttribArray, "_glCreateShader": _glCreateShader, "_emscripten_glReadPixels": _emscripten_glReadPixels, "_emscripten_glSampleCoverage": _emscripten_glSampleCoverage, "_emscripten_glVertexPointer": _emscripten_glVertexPointer, "_emscripten_set_touchstart_callback": _emscripten_set_touchstart_callback, "emscriptenWebGLComputeImageSize": emscriptenWebGLComputeImageSize, "_emscripten_glGetBooleanv": _emscripten_glGetBooleanv, "_emscripten_glGetShaderSource": _emscripten_glGetShaderSource, "_glUniform4f": _glUniform4f, "_llvm_stacksave": _llvm_stacksave, "_emscripten_glUniform1i": _emscripten_glUniform1i, "_emscripten_glStencilFuncSeparate": _emscripten_glStencilFuncSeparate, "_emscripten_glLoadMatrixf": _emscripten_glLoadMatrixf, "_emscripten_glGenBuffers": _emscripten_glGenBuffers, "_emscripten_glDeleteObjectARB": _emscripten_glDeleteObjectARB, "_glfwSetWindowSizeCallback": _glfwSetWindowSizeCallback, "_emscripten_glGetShaderPrecisionFormat": _emscripten_glGetShaderPrecisionFormat, "_glfwInit": _glfwInit, "_glGenBuffers": _glGenBuffers, "_glShaderSource": _glShaderSource, "_emscripten_glGetString": _emscripten_glGetString, "_emscripten_glIsFramebuffer": _emscripten_glIsFramebuffer, "_emscripten_glIsEnabled": _emscripten_glIsEnabled, "_emscripten_glScissor": _emscripten_glScissor, "_emscripten_glVertexAttrib4fv": _emscripten_glVertexAttrib4fv, "_emscripten_glFramebufferTexture2D": _emscripten_glFramebufferTexture2D, "_emscripten_glTexParameteriv": _emscripten_glTexParameteriv, "_emscripten_glBindProgramARB": _emscripten_glBindProgramARB, "_emscripten_glStencilOpSeparate": _emscripten_glStencilOpSeparate, "_emscripten_glHint": _emscripten_glHint, "_emscripten_glFramebufferRenderbuffer": _emscripten_glFramebufferRenderbuffer, "___syscall140": ___syscall140, "_glfwSetErrorCallback": _glfwSetErrorCallback, "_glfwDefaultWindowHints": _glfwDefaultWindowHints, "_glfwDestroyWindow": _glfwDestroyWindow, "_emscripten_glVertexAttrib1f": _emscripten_glVertexAttrib1f, "_emscripten_glGetActiveAttrib": _emscripten_glGetActiveAttrib, "_emscripten_glAttachShader": _emscripten_glAttachShader, "_glVertexAttribPointer": _glVertexAttribPointer, "_emscripten_glUniform2i": _emscripten_glUniform2i, "_emscripten_glUniform2f": _emscripten_glUniform2f, "_emscripten_glTexParameterfv": _emscripten_glTexParameterfv, "_emscripten_glUniformMatrix2fv": _emscripten_glUniformMatrix2fv, "_glGetProgramInfoLog": _glGetProgramInfoLog, "_glfwSetScrollCallback": _glfwSetScrollCallback, "_emscripten_glTexParameterf": _emscripten_glTexParameterf, "_emscripten_glGetAttachedShaders": _emscripten_glGetAttachedShaders, "_emscripten_glGenTextures": _emscripten_glGenTextures, "_emscripten_glTexParameteri": _emscripten_glTexParameteri, "_llvm_stackrestore": _llvm_stackrestore, "_glfwMakeContextCurrent": _glfwMakeContextCurrent, "_emscripten_glClear": _emscripten_glClear, "_glDrawElements": _glDrawElements, "_glBufferSubData": _glBufferSubData, "_emscripten_glValidateProgram": _emscripten_glValidateProgram, "_emscripten_glVertexAttrib2fv": _emscripten_glVertexAttrib2fv, "_glViewport": _glViewport, "_emscripten_glUniform4iv": _emscripten_glUniform4iv, "_emscripten_glGetTexParameteriv": _emscripten_glGetTexParameteriv, "___setErrNo": ___setErrNo, "_eglGetProcAddress": _eglGetProcAddress, "_emscripten_glBindAttribLocation": _emscripten_glBindAttribLocation, "_glDeleteTextures": _glDeleteTextures, "_glDepthFunc": _glDepthFunc, "_emscripten_glClientActiveTexture": _emscripten_glClientActiveTexture, "_emscripten_glVertexAttrib2f": _emscripten_glVertexAttrib2f, "_emscripten_glFlush": _emscripten_glFlush, "_emscripten_glCheckFramebufferStatus": _emscripten_glCheckFramebufferStatus, "_emscripten_glGenerateMipmap": _emscripten_glGenerateMipmap, "_emscripten_glGetError": _emscripten_glGetError, "_emscripten_glClearDepthf": _emscripten_glClearDepthf, "_emscripten_glBufferData": _emscripten_glBufferData, "_emscripten_glUniform3i": _emscripten_glUniform3i, "_emscripten_glRotatef": _emscripten_glRotatef, "_emscripten_glDeleteShader": _emscripten_glDeleteShader, "_glEnable": _glEnable, "_glGenTextures": _glGenTextures, "_emscripten_glMatrixMode": _emscripten_glMatrixMode, "_glGetString": _glGetString, "_emscripten_glClearStencil": _emscripten_glClearStencil, "_emscripten_glGetUniformLocation": _emscripten_glGetUniformLocation, "emscriptenWebGLGet": emscriptenWebGLGet, "_emscripten_glEnableVertexAttribArray": _emscripten_glEnableVertexAttribArray, "_emscripten_glGetAttribLocation": _emscripten_glGetAttribLocation, "_emscripten_get_now": _emscripten_get_now, "_emscripten_glNormalPointer": _emscripten_glNormalPointer, "_glAttachShader": _glAttachShader, "_emscripten_glTexCoordPointer": _emscripten_glTexCoordPointer, "_emscripten_glEnable": _emscripten_glEnable, "_glCreateProgram": _glCreateProgram, "_glUniformMatrix4fv": _glUniformMatrix4fv, "_emscripten_glClearDepth": _emscripten_glClearDepth, "___lock": ___lock, "emscriptenWebGLGetTexPixelData": emscriptenWebGLGetTexPixelData, "___syscall6": ___syscall6, "_emscripten_glIsBuffer": _emscripten_glIsBuffer, "_emscripten_glVertexAttrib3f": _emscripten_glVertexAttrib3f, "_time": _time, "___syscall146": ___syscall146, "_emscripten_glGetFramebufferAttachmentParameteriv": _emscripten_glGetFramebufferAttachmentParameteriv, "_emscripten_glBlendEquationSeparate": _emscripten_glBlendEquationSeparate, "_exit": _exit, "_emscripten_glEnableClientState": _emscripten_glEnableClientState, "_emscripten_glUniform4i": _emscripten_glUniform4i, "_emscripten_glDrawRangeElements": _emscripten_glDrawRangeElements, "_glCullFace": _glCullFace, "_emscripten_glGetPointerv": _emscripten_glGetPointerv, "_emscripten_set_keypress_callback": _emscripten_set_keypress_callback, "__emscripten_sample_gamepad_data": __emscripten_sample_gamepad_data, "_emscripten_get_gamepad_status": _emscripten_get_gamepad_status, "_emscripten_glUniform4f": _emscripten_glUniform4f, "_emscripten_glUniform2fv": _emscripten_glUniform2fv, "_glfwGetVideoModes": _glfwGetVideoModes, "_emscripten_set_click_callback": _emscripten_set_click_callback, "_emscripten_glShaderBinary": _emscripten_glShaderBinary, "_emscripten_glDrawElements": _emscripten_glDrawElements, "_emscripten_glBlendFunc": _emscripten_glBlendFunc, "_emscripten_get_num_gamepads": _emscripten_get_num_gamepads, "_glCompressedTexImage2D": _glCompressedTexImage2D, "_emscripten_glUniform1iv": _emscripten_glUniform1iv, "_emscripten_glGetVertexAttribPointerv": _emscripten_glGetVertexAttribPointerv, "_glClearDepthf": _glClearDepthf, "_emscripten_glCompressedTexSubImage2D": _emscripten_glCompressedTexSubImage2D, "emscriptenWebGLGetUniform": emscriptenWebGLGetUniform, "_emscripten_glGenRenderbuffers": _emscripten_glGenRenderbuffers, "_emscripten_glDeleteVertexArrays": _emscripten_glDeleteVertexArrays, "_glfwSetWindowShouldClose": _glfwSetWindowShouldClose, "_emscripten_glUniform1fv": _emscripten_glUniform1fv, "_emscripten_glGetActiveUniform": _emscripten_glGetActiveUniform, "_glBindTexture": _glBindTexture, "_emscripten_glUniform3iv": _emscripten_glUniform3iv, "_emscripten_glUniform2iv": _emscripten_glUniform2iv, "_glfwSetCursorPos": _glfwSetCursorPos, "_glfwSetCharCallback": _glfwSetCharCallback, "emscriptenWebGLGetVertexAttrib": emscriptenWebGLGetVertexAttrib, "_glGetFloatv": _glGetFloatv, "_emscripten_glDeleteProgram": _emscripten_glDeleteProgram, "_emscripten_glDeleteRenderbuffers": _emscripten_glDeleteRenderbuffers, "_emscripten_glDrawElementsInstanced": _emscripten_glDrawElementsInstanced, "_emscripten_glVertexAttrib4f": _emscripten_glVertexAttrib4f, "_glDrawArrays": _glDrawArrays, "_emscripten_glTexSubImage2D": _emscripten_glTexSubImage2D, "_emscripten_memcpy_big": _emscripten_memcpy_big, "_emscripten_glPixelStorei": _emscripten_glPixelStorei, "_glCompileShader": _glCompileShader, "_emscripten_get_pointerlock_status": _emscripten_get_pointerlock_status, "_glfwGetMouseButton": _glfwGetMouseButton, "_emscripten_glColorPointer": _emscripten_glColorPointer, "_emscripten_glGetBufferParameteriv": _emscripten_glGetBufferParameteriv, "_emscripten_glFinish": _emscripten_glFinish, "_emscripten_request_pointerlock": _emscripten_request_pointerlock, "_emscripten_set_gamepaddisconnected_callback": _emscripten_set_gamepaddisconnected_callback, "_emscripten_asm_const_iii": _emscripten_asm_const_iii, "_emscripten_glDepthMask": _emscripten_glDepthMask, "_glfwSetWindowIconifyCallback": _glfwSetWindowIconifyCallback, "_emscripten_glDrawBuffers": _emscripten_glDrawBuffers, "_glfwTerminate": _glfwTerminate, "_glFrontFace": _glFrontFace, "_emscripten_glGetObjectParameterivARB": _emscripten_glGetObjectParameterivARB, "_emscripten_exit_pointerlock": _emscripten_exit_pointerlock, "_glfwSwapInterval": _glfwSwapInterval, "_glUniform1i": _glUniform1i, "_glEnableVertexAttribArray": _glEnableVertexAttribArray, "_emscripten_glStencilFunc": _emscripten_glStencilFunc, "_abort": _abort, "_emscripten_glGetUniformiv": _emscripten_glGetUniformiv, "_glDeleteBuffers": _glDeleteBuffers, "_glBufferData": _glBufferData, "_glTexImage2D": _glTexImage2D, "_emscripten_glGetShaderiv": _emscripten_glGetShaderiv, "_glfwSetKeyCallback": _glfwSetKeyCallback, "_emscripten_glGenFramebuffers": _emscripten_glGenFramebuffers, "_emscripten_glUniformMatrix4fv": _emscripten_glUniformMatrix4fv, "_emscripten_glLoadIdentity": _emscripten_glLoadIdentity, "_glDeleteShader": _glDeleteShader, "_emscripten_glUniform1f": _emscripten_glUniform1f, "_glGetProgramiv": _glGetProgramiv, "_emscripten_glBindFramebuffer": _emscripten_glBindFramebuffer, "_emscripten_glIsRenderbuffer": _emscripten_glIsRenderbuffer, "_glfwGetTime": _glfwGetTime, "_emscripten_glRenderbufferStorage": _emscripten_glRenderbufferStorage, "_emscripten_set_gamepadconnected_callback": _emscripten_set_gamepadconnected_callback, "_emscripten_glGetVertexAttribiv": _emscripten_glGetVertexAttribiv, "_emscripten_glBindVertexArray": _emscripten_glBindVertexArray, "_emscripten_glDrawArraysInstanced": _emscripten_glDrawArraysInstanced, "_emscripten_set_touchcancel_callback": _emscripten_set_touchcancel_callback, "_emscripten_glCreateShader": _emscripten_glCreateShader, "_emscripten_glStencilMask": _emscripten_glStencilMask, "_emscripten_glDeleteTextures": _emscripten_glDeleteTextures, "_glfwGetKey": _glfwGetKey, "_glfwGetPrimaryMonitor": _glfwGetPrimaryMonitor, "_glLinkProgram": _glLinkProgram, "_emscripten_glVertexAttribDivisor": _emscripten_glVertexAttribDivisor, "_emscripten_set_touchend_callback": _emscripten_set_touchend_callback, "_emscripten_glGetUniformfv": _emscripten_glGetUniformfv, "_emscripten_glGetVertexAttribfv": _emscripten_glGetVertexAttribfv, "_emscripten_glGetRenderbufferParameteriv": _emscripten_glGetRenderbufferParameteriv, "_emscripten_glDeleteFramebuffers": _emscripten_glDeleteFramebuffers, "_glGetShaderiv": _glGetShaderiv, "_emscripten_glVertexAttrib3fv": _emscripten_glVertexAttrib3fv, "_glGetUniformLocation": _glGetUniformLocation, "_emscripten_glGetInfoLogARB": _emscripten_glGetInfoLogARB, "_emscripten_glCompileShader": _emscripten_glCompileShader, "_glClear": _glClear, "_emscripten_glFrustum": _emscripten_glFrustum, "_emscripten_glDisable": _emscripten_glDisable, "_emscripten_glDepthRangef": _emscripten_glDepthRangef, "__exit": __exit, "_emscripten_glLineWidth": _emscripten_glLineWidth, "_emscripten_glUniform3f": _emscripten_glUniform3f, "_emscripten_glGetShaderInfoLog": _emscripten_glGetShaderInfoLog, "_emscripten_glStencilOp": _emscripten_glStencilOp, "_glBindAttribLocation": _glBindAttribLocation, "_glPixelStorei": _glPixelStorei, "_emscripten_glColorMask": _emscripten_glColorMask, "_emscripten_glLinkProgram": _emscripten_glLinkProgram, "_emscripten_glBlendEquation": _emscripten_glBlendEquation, "_emscripten_glIsTexture": _emscripten_glIsTexture, "_emscripten_glGetProgramiv": _emscripten_glGetProgramiv, "_emscripten_glVertexAttrib1fv": _emscripten_glVertexAttrib1fv, "_emscripten_glUniformMatrix3fv": _emscripten_glUniformMatrix3fv, "_emscripten_glBindTexture": _emscripten_glBindTexture, "_glfwSetMouseButtonCallback": _glfwSetMouseButtonCallback, "_glfwGetCursorPos": _glfwGetCursorPos, "_emscripten_glActiveTexture": _emscripten_glActiveTexture, "_emscripten_glDeleteBuffers": _emscripten_glDeleteBuffers, "___syscall54": ___syscall54, "___unlock": ___unlock, "_emscripten_glBufferSubData": _emscripten_glBufferSubData, "_glfwSwapBuffers": _glfwSwapBuffers, "_emscripten_glDepthRange": _emscripten_glDepthRange, "_emscripten_set_main_loop": _emscripten_set_main_loop, "_emscripten_glBindRenderbuffer": _emscripten_glBindRenderbuffer, "_emscripten_glGetProgramInfoLog": _emscripten_glGetProgramInfoLog, "_glfwWindowHint": _glfwWindowHint, "_emscripten_glIsShader": _emscripten_glIsShader, "_emscripten_glUniform4fv": _emscripten_glUniform4fv, "_emscripten_glGenVertexArrays": _emscripten_glGenVertexArrays, "_emscripten_glDrawArrays": _emscripten_glDrawArrays, "_emscripten_glCompressedTexImage2D": _emscripten_glCompressedTexImage2D, "_emscripten_glClearColor": _emscripten_glClearColor, "_emscripten_glCreateProgram": _emscripten_glCreateProgram, "_emscripten_glCopyTexSubImage2D": _emscripten_glCopyTexSubImage2D, "_glTexParameteri": _glTexParameteri, "_emscripten_glBindBuffer": _emscripten_glBindBuffer, "_emscripten_glGetFloatv": _emscripten_glGetFloatv, "_emscripten_glDetachShader": _emscripten_glDetachShader, "_glClearColor": _glClearColor, "_glfwSetCursorPosCallback": _glfwSetCursorPosCallback, "_glfwSetCursorEnterCallback": _glfwSetCursorEnterCallback, "_emscripten_glCopyTexImage2D": _emscripten_glCopyTexImage2D, "_emscripten_glTexImage2D": _emscripten_glTexImage2D, "DYNAMICTOP_PTR": DYNAMICTOP_PTR, "tempDoublePtr": tempDoublePtr, "ABORT": ABORT, "STACKTOP": STACKTOP, "STACK_MAX": STACK_MAX, "cttz_i8": cttz_i8 }; +Module.asmLibraryArg = { "abort": abort, "assert": assert, "enlargeMemory": enlargeMemory, "getTotalMemory": getTotalMemory, "abortOnCannotGrowMemory": abortOnCannotGrowMemory, "abortStackOverflow": abortStackOverflow, "nullFunc_viiiii": nullFunc_viiiii, "nullFunc_vd": nullFunc_vd, "nullFunc_vid": nullFunc_vid, "nullFunc_vi": nullFunc_vi, "nullFunc_vii": nullFunc_vii, "nullFunc_ii": nullFunc_ii, "nullFunc_viddd": nullFunc_viddd, "nullFunc_vidd": nullFunc_vidd, "nullFunc_iiii": nullFunc_iiii, "nullFunc_viiiiiiii": nullFunc_viiiiiiii, "nullFunc_viiiiii": nullFunc_viiiiii, "nullFunc_viii": nullFunc_viii, "nullFunc_vidddd": nullFunc_vidddd, "nullFunc_vdi": nullFunc_vdi, "nullFunc_viiiiiii": nullFunc_viiiiiii, "nullFunc_viiiiiiiii": nullFunc_viiiiiiiii, "nullFunc_iii": nullFunc_iii, "nullFunc_i": nullFunc_i, "nullFunc_vdddddd": nullFunc_vdddddd, "nullFunc_vdddd": nullFunc_vdddd, "nullFunc_vdd": nullFunc_vdd, "nullFunc_v": nullFunc_v, "nullFunc_viid": nullFunc_viid, "nullFunc_viiii": nullFunc_viiii, "invoke_viiiii": invoke_viiiii, "invoke_vd": invoke_vd, "invoke_vid": invoke_vid, "invoke_vi": invoke_vi, "invoke_vii": invoke_vii, "invoke_ii": invoke_ii, "invoke_viddd": invoke_viddd, "invoke_vidd": invoke_vidd, "invoke_iiii": invoke_iiii, "invoke_viiiiiiii": invoke_viiiiiiii, "invoke_viiiiii": invoke_viiiiii, "invoke_viii": invoke_viii, "invoke_vidddd": invoke_vidddd, "invoke_vdi": invoke_vdi, "invoke_viiiiiii": invoke_viiiiiii, "invoke_viiiiiiiii": invoke_viiiiiiiii, "invoke_iii": invoke_iii, "invoke_i": invoke_i, "invoke_vdddddd": invoke_vdddddd, "invoke_vdddd": invoke_vdddd, "invoke_vdd": invoke_vdd, "invoke_v": invoke_v, "invoke_viid": invoke_viid, "invoke_viiii": invoke_viiii, "_emscripten_glGetTexParameterfv": _emscripten_glGetTexParameterfv, "_glUseProgram": _glUseProgram, "_emscripten_glShaderSource": _emscripten_glShaderSource, "_glfwCreateWindow": _glfwCreateWindow, "_emscripten_glReleaseShaderCompiler": _emscripten_glReleaseShaderCompiler, "_emscripten_glBlendFuncSeparate": _emscripten_glBlendFuncSeparate, "_emscripten_glVertexAttribPointer": _emscripten_glVertexAttribPointer, "_emscripten_glGetIntegerv": _emscripten_glGetIntegerv, "_emscripten_glCullFace": _emscripten_glCullFace, "_emscripten_glIsProgram": _emscripten_glIsProgram, "_emscripten_glStencilMaskSeparate": _emscripten_glStencilMaskSeparate, "_emscripten_glViewport": _emscripten_glViewport, "_emscripten_glFrontFace": _emscripten_glFrontFace, "_glDeleteProgram": _glDeleteProgram, "_emscripten_glUniform3fv": _emscripten_glUniform3fv, "_emscripten_glPolygonOffset": _emscripten_glPolygonOffset, "_emscripten_glUseProgram": _emscripten_glUseProgram, "_emscripten_glBlendColor": _emscripten_glBlendColor, "_glBindBuffer": _glBindBuffer, "_emscripten_glDepthFunc": _emscripten_glDepthFunc, "_glGetShaderInfoLog": _glGetShaderInfoLog, "_emscripten_set_fullscreenchange_callback": _emscripten_set_fullscreenchange_callback, "_emscripten_set_touchmove_callback": _emscripten_set_touchmove_callback, "_emscripten_set_main_loop_timing": _emscripten_set_main_loop_timing, "_glDisable": _glDisable, "_glBlendFunc": _glBlendFunc, "_emscripten_glDisableVertexAttribArray": _emscripten_glDisableVertexAttribArray, "_glGetAttribLocation": _glGetAttribLocation, "_glDisableVertexAttribArray": _glDisableVertexAttribArray, "_glCreateShader": _glCreateShader, "_emscripten_glReadPixels": _emscripten_glReadPixels, "_emscripten_glSampleCoverage": _emscripten_glSampleCoverage, "_emscripten_glVertexPointer": _emscripten_glVertexPointer, "_emscripten_set_touchstart_callback": _emscripten_set_touchstart_callback, "emscriptenWebGLComputeImageSize": emscriptenWebGLComputeImageSize, "_emscripten_glGetBooleanv": _emscripten_glGetBooleanv, "_emscripten_glGetShaderSource": _emscripten_glGetShaderSource, "_glUniform4f": _glUniform4f, "_llvm_stacksave": _llvm_stacksave, "_emscripten_glUniform1i": _emscripten_glUniform1i, "_emscripten_glStencilFuncSeparate": _emscripten_glStencilFuncSeparate, "_emscripten_glLoadMatrixf": _emscripten_glLoadMatrixf, "_emscripten_glGenBuffers": _emscripten_glGenBuffers, "_emscripten_glDeleteObjectARB": _emscripten_glDeleteObjectARB, "_glfwSetWindowSizeCallback": _glfwSetWindowSizeCallback, "_emscripten_glGetShaderPrecisionFormat": _emscripten_glGetShaderPrecisionFormat, "_glfwInit": _glfwInit, "_glGenBuffers": _glGenBuffers, "_glShaderSource": _glShaderSource, "_emscripten_glGetString": _emscripten_glGetString, "_emscripten_glIsFramebuffer": _emscripten_glIsFramebuffer, "_emscripten_glIsEnabled": _emscripten_glIsEnabled, "_emscripten_glScissor": _emscripten_glScissor, "_emscripten_glVertexAttrib4fv": _emscripten_glVertexAttrib4fv, "_emscripten_glFramebufferTexture2D": _emscripten_glFramebufferTexture2D, "_emscripten_glTexParameteriv": _emscripten_glTexParameteriv, "_emscripten_glBindProgramARB": _emscripten_glBindProgramARB, "_emscripten_glStencilOpSeparate": _emscripten_glStencilOpSeparate, "_emscripten_glFramebufferRenderbuffer": _emscripten_glFramebufferRenderbuffer, "___syscall140": ___syscall140, "_glfwSetErrorCallback": _glfwSetErrorCallback, "_glfwDefaultWindowHints": _glfwDefaultWindowHints, "_glfwDestroyWindow": _glfwDestroyWindow, "_emscripten_glVertexAttrib1f": _emscripten_glVertexAttrib1f, "_emscripten_glGetActiveAttrib": _emscripten_glGetActiveAttrib, "_emscripten_glAttachShader": _emscripten_glAttachShader, "_glVertexAttribPointer": _glVertexAttribPointer, "_emscripten_glUniform2i": _emscripten_glUniform2i, "_emscripten_glUniform2f": _emscripten_glUniform2f, "_emscripten_glTexParameterfv": _emscripten_glTexParameterfv, "_emscripten_glUniformMatrix2fv": _emscripten_glUniformMatrix2fv, "_glGetProgramInfoLog": _glGetProgramInfoLog, "_glfwSetScrollCallback": _glfwSetScrollCallback, "_emscripten_glTexParameterf": _emscripten_glTexParameterf, "_emscripten_glGetAttachedShaders": _emscripten_glGetAttachedShaders, "_emscripten_glGenTextures": _emscripten_glGenTextures, "_emscripten_glTexParameteri": _emscripten_glTexParameteri, "_llvm_stackrestore": _llvm_stackrestore, "_glfwMakeContextCurrent": _glfwMakeContextCurrent, "_emscripten_glClear": _emscripten_glClear, "_glDrawElements": _glDrawElements, "_glBufferSubData": _glBufferSubData, "_emscripten_glValidateProgram": _emscripten_glValidateProgram, "_emscripten_glVertexAttrib2fv": _emscripten_glVertexAttrib2fv, "_glViewport": _glViewport, "_emscripten_glUniform4iv": _emscripten_glUniform4iv, "_emscripten_glGetTexParameteriv": _emscripten_glGetTexParameteriv, "___setErrNo": ___setErrNo, "_eglGetProcAddress": _eglGetProcAddress, "_emscripten_glBindAttribLocation": _emscripten_glBindAttribLocation, "_glDeleteTextures": _glDeleteTextures, "_glDepthFunc": _glDepthFunc, "_emscripten_glClientActiveTexture": _emscripten_glClientActiveTexture, "_emscripten_glVertexAttrib2f": _emscripten_glVertexAttrib2f, "_emscripten_glFlush": _emscripten_glFlush, "_emscripten_glCheckFramebufferStatus": _emscripten_glCheckFramebufferStatus, "_emscripten_glGenerateMipmap": _emscripten_glGenerateMipmap, "_emscripten_glGetError": _emscripten_glGetError, "_emscripten_glClearDepthf": _emscripten_glClearDepthf, "_emscripten_glBufferData": _emscripten_glBufferData, "_emscripten_glUniform3i": _emscripten_glUniform3i, "_emscripten_glRotatef": _emscripten_glRotatef, "_emscripten_glDeleteShader": _emscripten_glDeleteShader, "_glEnable": _glEnable, "_glGenTextures": _glGenTextures, "_emscripten_glMatrixMode": _emscripten_glMatrixMode, "_glGetString": _glGetString, "_emscripten_glClearStencil": _emscripten_glClearStencil, "_emscripten_glGetUniformLocation": _emscripten_glGetUniformLocation, "emscriptenWebGLGet": emscriptenWebGLGet, "_emscripten_glEnableVertexAttribArray": _emscripten_glEnableVertexAttribArray, "_emscripten_glGetAttribLocation": _emscripten_glGetAttribLocation, "_emscripten_get_now": _emscripten_get_now, "_emscripten_glNormalPointer": _emscripten_glNormalPointer, "_glAttachShader": _glAttachShader, "_emscripten_glTexCoordPointer": _emscripten_glTexCoordPointer, "_emscripten_glEnable": _emscripten_glEnable, "_glCreateProgram": _glCreateProgram, "_glUniformMatrix4fv": _glUniformMatrix4fv, "_emscripten_glClearDepth": _emscripten_glClearDepth, "___lock": ___lock, "emscriptenWebGLGetTexPixelData": emscriptenWebGLGetTexPixelData, "___syscall6": ___syscall6, "_emscripten_glIsBuffer": _emscripten_glIsBuffer, "_emscripten_glVertexAttrib3f": _emscripten_glVertexAttrib3f, "_time": _time, "___syscall146": ___syscall146, "_emscripten_glGetFramebufferAttachmentParameteriv": _emscripten_glGetFramebufferAttachmentParameteriv, "_emscripten_glBlendEquationSeparate": _emscripten_glBlendEquationSeparate, "_exit": _exit, "_emscripten_glEnableClientState": _emscripten_glEnableClientState, "_emscripten_glUniform4i": _emscripten_glUniform4i, "_emscripten_glDrawRangeElements": _emscripten_glDrawRangeElements, "_glCullFace": _glCullFace, "_emscripten_glGetPointerv": _emscripten_glGetPointerv, "_emscripten_set_keypress_callback": _emscripten_set_keypress_callback, "__emscripten_sample_gamepad_data": __emscripten_sample_gamepad_data, "_emscripten_get_gamepad_status": _emscripten_get_gamepad_status, "_emscripten_glUniform4f": _emscripten_glUniform4f, "_emscripten_glUniform2fv": _emscripten_glUniform2fv, "_glfwGetVideoModes": _glfwGetVideoModes, "_emscripten_set_click_callback": _emscripten_set_click_callback, "_emscripten_glShaderBinary": _emscripten_glShaderBinary, "_emscripten_glDrawElements": _emscripten_glDrawElements, "_emscripten_glBlendFunc": _emscripten_glBlendFunc, "_emscripten_get_num_gamepads": _emscripten_get_num_gamepads, "_glCompressedTexImage2D": _glCompressedTexImage2D, "_emscripten_glUniform1iv": _emscripten_glUniform1iv, "_emscripten_glGetVertexAttribPointerv": _emscripten_glGetVertexAttribPointerv, "_glClearDepthf": _glClearDepthf, "_emscripten_glCompressedTexSubImage2D": _emscripten_glCompressedTexSubImage2D, "emscriptenWebGLGetUniform": emscriptenWebGLGetUniform, "_emscripten_glGenRenderbuffers": _emscripten_glGenRenderbuffers, "_emscripten_glDeleteVertexArrays": _emscripten_glDeleteVertexArrays, "_glfwSetWindowShouldClose": _glfwSetWindowShouldClose, "_emscripten_glUniform1fv": _emscripten_glUniform1fv, "_emscripten_glGetActiveUniform": _emscripten_glGetActiveUniform, "_glBindTexture": _glBindTexture, "_emscripten_glUniform3iv": _emscripten_glUniform3iv, "_emscripten_glUniform2iv": _emscripten_glUniform2iv, "_emscripten_glHint": _emscripten_glHint, "_glfwSetCharCallback": _glfwSetCharCallback, "emscriptenWebGLGetVertexAttrib": emscriptenWebGLGetVertexAttrib, "_glGetFloatv": _glGetFloatv, "_emscripten_glDeleteProgram": _emscripten_glDeleteProgram, "_emscripten_glDeleteRenderbuffers": _emscripten_glDeleteRenderbuffers, "_emscripten_glDrawElementsInstanced": _emscripten_glDrawElementsInstanced, "_emscripten_glVertexAttrib4f": _emscripten_glVertexAttrib4f, "_glDrawArrays": _glDrawArrays, "_emscripten_glTexSubImage2D": _emscripten_glTexSubImage2D, "_emscripten_memcpy_big": _emscripten_memcpy_big, "_emscripten_glPixelStorei": _emscripten_glPixelStorei, "_glCompileShader": _glCompileShader, "_emscripten_get_pointerlock_status": _emscripten_get_pointerlock_status, "_glfwGetMouseButton": _glfwGetMouseButton, "_emscripten_glColorPointer": _emscripten_glColorPointer, "_emscripten_glGetBufferParameteriv": _emscripten_glGetBufferParameteriv, "_emscripten_glFinish": _emscripten_glFinish, "_emscripten_request_pointerlock": _emscripten_request_pointerlock, "_emscripten_set_gamepaddisconnected_callback": _emscripten_set_gamepaddisconnected_callback, "_emscripten_asm_const_iii": _emscripten_asm_const_iii, "_emscripten_glDepthMask": _emscripten_glDepthMask, "_glfwSetWindowIconifyCallback": _glfwSetWindowIconifyCallback, "_emscripten_glDrawBuffers": _emscripten_glDrawBuffers, "_glfwTerminate": _glfwTerminate, "_glFrontFace": _glFrontFace, "_emscripten_glGetObjectParameterivARB": _emscripten_glGetObjectParameterivARB, "_emscripten_exit_pointerlock": _emscripten_exit_pointerlock, "_glfwSwapInterval": _glfwSwapInterval, "_glUniform1i": _glUniform1i, "_glEnableVertexAttribArray": _glEnableVertexAttribArray, "_emscripten_glStencilFunc": _emscripten_glStencilFunc, "_abort": _abort, "_emscripten_glGetUniformiv": _emscripten_glGetUniformiv, "_glDeleteBuffers": _glDeleteBuffers, "_glBufferData": _glBufferData, "_glTexImage2D": _glTexImage2D, "_emscripten_glGetShaderiv": _emscripten_glGetShaderiv, "_glfwSetKeyCallback": _glfwSetKeyCallback, "_emscripten_glGenFramebuffers": _emscripten_glGenFramebuffers, "_emscripten_glUniformMatrix4fv": _emscripten_glUniformMatrix4fv, "_emscripten_glLoadIdentity": _emscripten_glLoadIdentity, "_glDeleteShader": _glDeleteShader, "_emscripten_glUniform1f": _emscripten_glUniform1f, "_glGetProgramiv": _glGetProgramiv, "_emscripten_glBindFramebuffer": _emscripten_glBindFramebuffer, "_emscripten_glIsRenderbuffer": _emscripten_glIsRenderbuffer, "_glfwGetTime": _glfwGetTime, "_emscripten_glRenderbufferStorage": _emscripten_glRenderbufferStorage, "_emscripten_set_gamepadconnected_callback": _emscripten_set_gamepadconnected_callback, "_emscripten_glGetVertexAttribiv": _emscripten_glGetVertexAttribiv, "_emscripten_glBindVertexArray": _emscripten_glBindVertexArray, "_emscripten_glDrawArraysInstanced": _emscripten_glDrawArraysInstanced, "_emscripten_set_touchcancel_callback": _emscripten_set_touchcancel_callback, "_emscripten_glCreateShader": _emscripten_glCreateShader, "_emscripten_glStencilMask": _emscripten_glStencilMask, "_emscripten_glDeleteTextures": _emscripten_glDeleteTextures, "_glfwGetKey": _glfwGetKey, "_glfwGetPrimaryMonitor": _glfwGetPrimaryMonitor, "_glLinkProgram": _glLinkProgram, "_emscripten_glVertexAttribDivisor": _emscripten_glVertexAttribDivisor, "_emscripten_set_touchend_callback": _emscripten_set_touchend_callback, "_emscripten_glGetUniformfv": _emscripten_glGetUniformfv, "_emscripten_glGetVertexAttribfv": _emscripten_glGetVertexAttribfv, "_emscripten_glGetRenderbufferParameteriv": _emscripten_glGetRenderbufferParameteriv, "_emscripten_glDeleteFramebuffers": _emscripten_glDeleteFramebuffers, "_glGetShaderiv": _glGetShaderiv, "_emscripten_glVertexAttrib3fv": _emscripten_glVertexAttrib3fv, "_glGetUniformLocation": _glGetUniformLocation, "_emscripten_glGetInfoLogARB": _emscripten_glGetInfoLogARB, "_emscripten_glCompileShader": _emscripten_glCompileShader, "_glClear": _glClear, "_emscripten_glFrustum": _emscripten_glFrustum, "_emscripten_glDisable": _emscripten_glDisable, "_emscripten_glDepthRangef": _emscripten_glDepthRangef, "__exit": __exit, "_emscripten_glLineWidth": _emscripten_glLineWidth, "_emscripten_glUniform3f": _emscripten_glUniform3f, "_emscripten_glGetShaderInfoLog": _emscripten_glGetShaderInfoLog, "_emscripten_glStencilOp": _emscripten_glStencilOp, "_glBindAttribLocation": _glBindAttribLocation, "_glPixelStorei": _glPixelStorei, "_emscripten_glColorMask": _emscripten_glColorMask, "_emscripten_glLinkProgram": _emscripten_glLinkProgram, "_emscripten_glBlendEquation": _emscripten_glBlendEquation, "_emscripten_glIsTexture": _emscripten_glIsTexture, "_emscripten_glGetProgramiv": _emscripten_glGetProgramiv, "_emscripten_glVertexAttrib1fv": _emscripten_glVertexAttrib1fv, "_emscripten_glUniformMatrix3fv": _emscripten_glUniformMatrix3fv, "_emscripten_glBindTexture": _emscripten_glBindTexture, "_glfwSetMouseButtonCallback": _glfwSetMouseButtonCallback, "_glfwGetCursorPos": _glfwGetCursorPos, "_emscripten_glActiveTexture": _emscripten_glActiveTexture, "_emscripten_glDeleteBuffers": _emscripten_glDeleteBuffers, "___syscall54": ___syscall54, "___unlock": ___unlock, "_emscripten_glBufferSubData": _emscripten_glBufferSubData, "_glfwSwapBuffers": _glfwSwapBuffers, "_emscripten_glDepthRange": _emscripten_glDepthRange, "_emscripten_set_main_loop": _emscripten_set_main_loop, "_emscripten_glBindRenderbuffer": _emscripten_glBindRenderbuffer, "_emscripten_glGetProgramInfoLog": _emscripten_glGetProgramInfoLog, "_glfwWindowHint": _glfwWindowHint, "_emscripten_glIsShader": _emscripten_glIsShader, "_emscripten_glUniform4fv": _emscripten_glUniform4fv, "_emscripten_glGenVertexArrays": _emscripten_glGenVertexArrays, "_emscripten_glDrawArrays": _emscripten_glDrawArrays, "_emscripten_glCompressedTexImage2D": _emscripten_glCompressedTexImage2D, "_emscripten_glClearColor": _emscripten_glClearColor, "_emscripten_glCreateProgram": _emscripten_glCreateProgram, "_emscripten_glCopyTexSubImage2D": _emscripten_glCopyTexSubImage2D, "_glTexParameteri": _glTexParameteri, "_emscripten_glBindBuffer": _emscripten_glBindBuffer, "_emscripten_glGetFloatv": _emscripten_glGetFloatv, "_emscripten_glDetachShader": _emscripten_glDetachShader, "_glClearColor": _glClearColor, "_glfwSetCursorPosCallback": _glfwSetCursorPosCallback, "_glfwSetCursorEnterCallback": _glfwSetCursorEnterCallback, "_emscripten_glCopyTexImage2D": _emscripten_glCopyTexImage2D, "_emscripten_glTexImage2D": _emscripten_glTexImage2D, "DYNAMICTOP_PTR": DYNAMICTOP_PTR, "tempDoublePtr": tempDoublePtr, "ABORT": ABORT, "STACKTOP": STACKTOP, "STACK_MAX": STACK_MAX, "cttz_i8": cttz_i8 }; // EMSCRIPTEN_START_ASM var asm = (function(global, env, buffer) { 'use asm'; @@ -6903,7 +6899,6 @@ var asm = (function(global, env, buffer) { var _emscripten_glTexParameteriv=env._emscripten_glTexParameteriv; var _emscripten_glBindProgramARB=env._emscripten_glBindProgramARB; var _emscripten_glStencilOpSeparate=env._emscripten_glStencilOpSeparate; - var _emscripten_glHint=env._emscripten_glHint; var _emscripten_glFramebufferRenderbuffer=env._emscripten_glFramebufferRenderbuffer; var ___syscall140=env.___syscall140; var _glfwSetErrorCallback=env._glfwSetErrorCallback; @@ -7006,7 +7001,7 @@ var asm = (function(global, env, buffer) { var _glBindTexture=env._glBindTexture; var _emscripten_glUniform3iv=env._emscripten_glUniform3iv; var _emscripten_glUniform2iv=env._emscripten_glUniform2iv; - var _glfwSetCursorPos=env._glfwSetCursorPos; + var _emscripten_glHint=env._emscripten_glHint; var _glfwSetCharCallback=env._glfwSetCharCallback; var emscriptenWebGLGetVertexAttrib=env.emscriptenWebGLGetVertexAttrib; var _glGetFloatv=env._glGetFloatv; @@ -7184,7 +7179,7 @@ function _main() { while(1) { $2 = (_GetRandomValue(1,12)|0); $3 = (+($2|0)); - $4 = (14080 + ($$012<<2)|0); + $4 = (14144 + ($$012<<2)|0); HEAPF32[$4>>2] = $3; $5 = (_GetRandomValue(-15,15)|0); $6 = (+($5|0)); @@ -7192,23 +7187,23 @@ function _main() { $8 = $7 * 0.5; $9 = (_GetRandomValue(-15,15)|0); $10 = (+($9|0)); - $$sroa$01$0$$sroa_idx = (14160 + (($$012*12)|0)|0); + $$sroa$01$0$$sroa_idx = (14224 + (($$012*12)|0)|0); HEAPF32[$$sroa$01$0$$sroa_idx>>2] = $6; - $$sroa$22$0$$sroa_idx3 = (((14160 + (($$012*12)|0)|0)) + 4|0); + $$sroa$22$0$$sroa_idx3 = (((14224 + (($$012*12)|0)|0)) + 4|0); HEAPF32[$$sroa$22$0$$sroa_idx3>>2] = $8; - $$sroa$34$0$$sroa_idx5 = (((14160 + (($$012*12)|0)|0)) + 8|0); + $$sroa$34$0$$sroa_idx5 = (((14224 + (($$012*12)|0)|0)) + 8|0); HEAPF32[$$sroa$34$0$$sroa_idx5>>2] = $10; $11 = (_GetRandomValue(20,255)|0); $12 = $11&255; $13 = (_GetRandomValue(10,55)|0); $14 = $13&255; - $$sroa$0$0$$sroa_idx = (17268 + ($$012<<2)|0); + $$sroa$0$0$$sroa_idx = (17340 + ($$012<<2)|0); HEAP8[$$sroa$0$0$$sroa_idx>>0] = $12; - $$sroa$2$0$$sroa_idx = (((17268 + ($$012<<2)|0)) + 1|0); + $$sroa$2$0$$sroa_idx = (((17340 + ($$012<<2)|0)) + 1|0); HEAP8[$$sroa$2$0$$sroa_idx>>0] = $14; - $$sroa$3$0$$sroa_idx = (((17268 + ($$012<<2)|0)) + 2|0); + $$sroa$3$0$$sroa_idx = (((17340 + ($$012<<2)|0)) + 2|0); HEAP8[$$sroa$3$0$$sroa_idx>>0] = 30; - $$sroa$4$0$$sroa_idx = (((17268 + ($$012<<2)|0)) + 3|0); + $$sroa$4$0$$sroa_idx = (((17340 + ($$012<<2)|0)) + 3|0); HEAP8[$$sroa$4$0$$sroa_idx>>0] = -1; $15 = (($$012) + 1)|0; $exitcond = ($15|0)==(20); @@ -7228,7 +7223,7 @@ function _UpdateDrawFrame() { var $$08 = 0, $$byval_copy1 = 0, $$byval_copy18 = 0, $$byval_copy19 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0; var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0; var $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0; - var $6 = 0, $60 = 0, $61 = 0.0, $62 = 0, $63 = 0.0, $64 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + var $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0.0, $64 = 0, $65 = 0.0, $66 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; STACKTOP = STACKTOP + 176|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(176|0); $$byval_copy19 = sp + 80|0; @@ -7252,156 +7247,161 @@ function _UpdateDrawFrame() { $15 = sp + 124|0; $16 = sp + 120|0; _UpdateCamera(16); + $17 = (_IsMouseButtonPressed(0)|0); + $18 = ($17|0)==(0); + if (!($18)) { + _DisableCursor(); + } _BeginDrawing(); HEAP8[$0>>0] = -11; - $17 = ((($0)) + 1|0); - HEAP8[$17>>0] = -11; - $18 = ((($0)) + 2|0); - HEAP8[$18>>0] = -11; - $19 = ((($0)) + 3|0); - HEAP8[$19>>0] = -1; + $19 = ((($0)) + 1|0); + HEAP8[$19>>0] = -11; + $20 = ((($0)) + 2|0); + HEAP8[$20>>0] = -11; + $21 = ((($0)) + 3|0); + HEAP8[$21>>0] = -1; ;HEAP8[$$byval_copy19>>0]=HEAP8[$0>>0]|0;HEAP8[$$byval_copy19+1>>0]=HEAP8[$0+1>>0]|0;HEAP8[$$byval_copy19+2>>0]=HEAP8[$0+2>>0]|0;HEAP8[$$byval_copy19+3>>0]=HEAP8[$0+3>>0]|0; _ClearBackground($$byval_copy19); dest=$$byval_copy19; src=16; stop=dest+40|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _Begin3dMode($$byval_copy19); HEAPF32[$1>>2] = 0.0; - $20 = ((($1)) + 4|0); - HEAPF32[$20>>2] = 0.0; - $21 = ((($1)) + 8|0); - HEAPF32[$21>>2] = 0.0; + $22 = ((($1)) + 4|0); + HEAPF32[$22>>2] = 0.0; + $23 = ((($1)) + 8|0); + HEAPF32[$23>>2] = 0.0; HEAPF32[$2>>2] = 32.0; - $22 = ((($2)) + 4|0); - HEAPF32[$22>>2] = 32.0; + $24 = ((($2)) + 4|0); + HEAPF32[$24>>2] = 32.0; HEAP8[$3>>0] = -56; - $23 = ((($3)) + 1|0); - HEAP8[$23>>0] = -56; - $24 = ((($3)) + 2|0); - HEAP8[$24>>0] = -56; - $25 = ((($3)) + 3|0); - HEAP8[$25>>0] = -1; + $25 = ((($3)) + 1|0); + HEAP8[$25>>0] = -56; + $26 = ((($3)) + 2|0); + HEAP8[$26>>0] = -56; + $27 = ((($3)) + 3|0); + HEAP8[$27>>0] = -1; ;HEAP32[$$byval_copy1>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$1+8>>2]|0; ;HEAP32[$$byval_copy18>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy18+4>>2]=HEAP32[$2+4>>2]|0; ;HEAP8[$$byval_copy19>>0]=HEAP8[$3>>0]|0;HEAP8[$$byval_copy19+1>>0]=HEAP8[$3+1>>0]|0;HEAP8[$$byval_copy19+2>>0]=HEAP8[$3+2>>0]|0;HEAP8[$$byval_copy19+3>>0]=HEAP8[$3+3>>0]|0; _DrawPlane($$byval_copy1,$$byval_copy18,$$byval_copy19); HEAPF32[$4>>2] = -16.0; - $26 = ((($4)) + 4|0); - HEAPF32[$26>>2] = 2.5; - $27 = ((($4)) + 8|0); - HEAPF32[$27>>2] = 0.0; + $28 = ((($4)) + 4|0); + HEAPF32[$28>>2] = 2.5; + $29 = ((($4)) + 8|0); + HEAPF32[$29>>2] = 0.0; HEAP8[$5>>0] = 0; - $28 = ((($5)) + 1|0); - HEAP8[$28>>0] = 121; - $29 = ((($5)) + 2|0); - HEAP8[$29>>0] = -15; - $30 = ((($5)) + 3|0); - HEAP8[$30>>0] = -1; + $30 = ((($5)) + 1|0); + HEAP8[$30>>0] = 121; + $31 = ((($5)) + 2|0); + HEAP8[$31>>0] = -15; + $32 = ((($5)) + 3|0); + HEAP8[$32>>0] = -1; ;HEAP32[$$byval_copy18>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy18+4>>2]=HEAP32[$4+4>>2]|0;HEAP32[$$byval_copy18+8>>2]=HEAP32[$4+8>>2]|0; ;HEAP8[$$byval_copy19>>0]=HEAP8[$5>>0]|0;HEAP8[$$byval_copy19+1>>0]=HEAP8[$5+1>>0]|0;HEAP8[$$byval_copy19+2>>0]=HEAP8[$5+2>>0]|0;HEAP8[$$byval_copy19+3>>0]=HEAP8[$5+3>>0]|0; _DrawCube($$byval_copy18,1.0,5.0,32.0,$$byval_copy19); HEAPF32[$6>>2] = 16.0; - $31 = ((($6)) + 4|0); - HEAPF32[$31>>2] = 2.5; - $32 = ((($6)) + 8|0); - HEAPF32[$32>>2] = 0.0; + $33 = ((($6)) + 4|0); + HEAPF32[$33>>2] = 2.5; + $34 = ((($6)) + 8|0); + HEAPF32[$34>>2] = 0.0; HEAP8[$7>>0] = 0; - $33 = ((($7)) + 1|0); - HEAP8[$33>>0] = -98; - $34 = ((($7)) + 2|0); - HEAP8[$34>>0] = 47; - $35 = ((($7)) + 3|0); - HEAP8[$35>>0] = -1; + $35 = ((($7)) + 1|0); + HEAP8[$35>>0] = -98; + $36 = ((($7)) + 2|0); + HEAP8[$36>>0] = 47; + $37 = ((($7)) + 3|0); + HEAP8[$37>>0] = -1; ;HEAP32[$$byval_copy18>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy18+4>>2]=HEAP32[$6+4>>2]|0;HEAP32[$$byval_copy18+8>>2]=HEAP32[$6+8>>2]|0; ;HEAP8[$$byval_copy19>>0]=HEAP8[$7>>0]|0;HEAP8[$$byval_copy19+1>>0]=HEAP8[$7+1>>0]|0;HEAP8[$$byval_copy19+2>>0]=HEAP8[$7+2>>0]|0;HEAP8[$$byval_copy19+3>>0]=HEAP8[$7+3>>0]|0; _DrawCube($$byval_copy18,1.0,5.0,32.0,$$byval_copy19); HEAPF32[$8>>2] = 0.0; - $36 = ((($8)) + 4|0); - HEAPF32[$36>>2] = 2.5; - $37 = ((($8)) + 8|0); - HEAPF32[$37>>2] = 16.0; + $38 = ((($8)) + 4|0); + HEAPF32[$38>>2] = 2.5; + $39 = ((($8)) + 8|0); + HEAPF32[$39>>2] = 16.0; HEAP8[$9>>0] = -1; - $38 = ((($9)) + 1|0); - HEAP8[$38>>0] = -53; - $39 = ((($9)) + 2|0); - HEAP8[$39>>0] = 0; - $40 = ((($9)) + 3|0); - HEAP8[$40>>0] = -1; + $40 = ((($9)) + 1|0); + HEAP8[$40>>0] = -53; + $41 = ((($9)) + 2|0); + HEAP8[$41>>0] = 0; + $42 = ((($9)) + 3|0); + HEAP8[$42>>0] = -1; ;HEAP32[$$byval_copy18>>2]=HEAP32[$8>>2]|0;HEAP32[$$byval_copy18+4>>2]=HEAP32[$8+4>>2]|0;HEAP32[$$byval_copy18+8>>2]=HEAP32[$8+8>>2]|0; ;HEAP8[$$byval_copy19>>0]=HEAP8[$9>>0]|0;HEAP8[$$byval_copy19+1>>0]=HEAP8[$9+1>>0]|0;HEAP8[$$byval_copy19+2>>0]=HEAP8[$9+2>>0]|0;HEAP8[$$byval_copy19+3>>0]=HEAP8[$9+3>>0]|0; _DrawCube($$byval_copy18,32.0,5.0,1.0,$$byval_copy19); - $41 = ((($10)) + 1|0); - $42 = ((($10)) + 2|0); - $43 = ((($10)) + 3|0); + $43 = ((($10)) + 1|0); + $44 = ((($10)) + 2|0); + $45 = ((($10)) + 3|0); $$08 = 0; while(1) { - $59 = (14160 + (($$08*12)|0)|0); - $60 = (14080 + ($$08<<2)|0); - $61 = +HEAPF32[$60>>2]; - $62 = (17268 + ($$08<<2)|0); - ;HEAP32[$$byval_copy18>>2]=HEAP32[$59>>2]|0;HEAP32[$$byval_copy18+4>>2]=HEAP32[$59+4>>2]|0;HEAP32[$$byval_copy18+8>>2]=HEAP32[$59+8>>2]|0; - ;HEAP8[$$byval_copy19>>0]=HEAP8[$62>>0]|0;HEAP8[$$byval_copy19+1>>0]=HEAP8[$62+1>>0]|0;HEAP8[$$byval_copy19+2>>0]=HEAP8[$62+2>>0]|0;HEAP8[$$byval_copy19+3>>0]=HEAP8[$62+3>>0]|0; - _DrawCube($$byval_copy18,2.0,$61,2.0,$$byval_copy19); - $63 = +HEAPF32[$60>>2]; + $61 = (14224 + (($$08*12)|0)|0); + $62 = (14144 + ($$08<<2)|0); + $63 = +HEAPF32[$62>>2]; + $64 = (17340 + ($$08<<2)|0); + ;HEAP32[$$byval_copy18>>2]=HEAP32[$61>>2]|0;HEAP32[$$byval_copy18+4>>2]=HEAP32[$61+4>>2]|0;HEAP32[$$byval_copy18+8>>2]=HEAP32[$61+8>>2]|0; + ;HEAP8[$$byval_copy19>>0]=HEAP8[$64>>0]|0;HEAP8[$$byval_copy19+1>>0]=HEAP8[$64+1>>0]|0;HEAP8[$$byval_copy19+2>>0]=HEAP8[$64+2>>0]|0;HEAP8[$$byval_copy19+3>>0]=HEAP8[$64+3>>0]|0; + _DrawCube($$byval_copy18,2.0,$63,2.0,$$byval_copy19); + $65 = +HEAPF32[$62>>2]; HEAP8[$10>>0] = -66; - HEAP8[$41>>0] = 33; - HEAP8[$42>>0] = 55; - HEAP8[$43>>0] = -1; - ;HEAP32[$$byval_copy18>>2]=HEAP32[$59>>2]|0;HEAP32[$$byval_copy18+4>>2]=HEAP32[$59+4>>2]|0;HEAP32[$$byval_copy18+8>>2]=HEAP32[$59+8>>2]|0; + HEAP8[$43>>0] = 33; + HEAP8[$44>>0] = 55; + HEAP8[$45>>0] = -1; + ;HEAP32[$$byval_copy18>>2]=HEAP32[$61>>2]|0;HEAP32[$$byval_copy18+4>>2]=HEAP32[$61+4>>2]|0;HEAP32[$$byval_copy18+8>>2]=HEAP32[$61+8>>2]|0; ;HEAP8[$$byval_copy19>>0]=HEAP8[$10>>0]|0;HEAP8[$$byval_copy19+1>>0]=HEAP8[$10+1>>0]|0;HEAP8[$$byval_copy19+2>>0]=HEAP8[$10+2>>0]|0;HEAP8[$$byval_copy19+3>>0]=HEAP8[$10+3>>0]|0; - _DrawCubeWires($$byval_copy18,2.0,$63,2.0,$$byval_copy19); - $64 = (($$08) + 1)|0; - $exitcond = ($64|0)==(20); + _DrawCubeWires($$byval_copy18,2.0,$65,2.0,$$byval_copy19); + $66 = (($$08) + 1)|0; + $exitcond = ($66|0)==(20); if ($exitcond) { break; } else { - $$08 = $64; + $$08 = $66; } } _End3dMode(); HEAP8[$12>>0] = 102; - $44 = ((($12)) + 1|0); - HEAP8[$44>>0] = -65; - $45 = ((($12)) + 2|0); - HEAP8[$45>>0] = -1; - $46 = ((($12)) + 3|0); - HEAP8[$46>>0] = -1; + $46 = ((($12)) + 1|0); + HEAP8[$46>>0] = -65; + $47 = ((($12)) + 2|0); + HEAP8[$47>>0] = -1; + $48 = ((($12)) + 3|0); + HEAP8[$48>>0] = -1; ;HEAP8[$$byval_copy19>>0]=HEAP8[$12>>0]|0;HEAP8[$$byval_copy19+1>>0]=HEAP8[$12+1>>0]|0;HEAP8[$$byval_copy19+2>>0]=HEAP8[$12+2>>0]|0;HEAP8[$$byval_copy19+3>>0]=HEAP8[$12+3>>0]|0; _Fade($11,$$byval_copy19,0.5); ;HEAP8[$$byval_copy19>>0]=HEAP8[$11>>0]|0;HEAP8[$$byval_copy19+1>>0]=HEAP8[$11+1>>0]|0;HEAP8[$$byval_copy19+2>>0]=HEAP8[$11+2>>0]|0;HEAP8[$$byval_copy19+3>>0]=HEAP8[$11+3>>0]|0; _DrawRectangle(10,10,220,70,$$byval_copy19); HEAP8[$13>>0] = 0; - $47 = ((($13)) + 1|0); - HEAP8[$47>>0] = 121; - $48 = ((($13)) + 2|0); - HEAP8[$48>>0] = -15; - $49 = ((($13)) + 3|0); - HEAP8[$49>>0] = -1; + $49 = ((($13)) + 1|0); + HEAP8[$49>>0] = 121; + $50 = ((($13)) + 2|0); + HEAP8[$50>>0] = -15; + $51 = ((($13)) + 3|0); + HEAP8[$51>>0] = -1; ;HEAP8[$$byval_copy19>>0]=HEAP8[$13>>0]|0;HEAP8[$$byval_copy19+1>>0]=HEAP8[$13+1>>0]|0;HEAP8[$$byval_copy19+2>>0]=HEAP8[$13+2>>0]|0;HEAP8[$$byval_copy19+3>>0]=HEAP8[$13+3>>0]|0; _DrawRectangleLines(10,10,220,70,$$byval_copy19); HEAP8[$14>>0] = 0; - $50 = ((($14)) + 1|0); - HEAP8[$50>>0] = 0; - $51 = ((($14)) + 2|0); - HEAP8[$51>>0] = 0; - $52 = ((($14)) + 3|0); - HEAP8[$52>>0] = -1; + $52 = ((($14)) + 1|0); + HEAP8[$52>>0] = 0; + $53 = ((($14)) + 2|0); + HEAP8[$53>>0] = 0; + $54 = ((($14)) + 3|0); + HEAP8[$54>>0] = -1; ;HEAP8[$$byval_copy19>>0]=HEAP8[$14>>0]|0;HEAP8[$$byval_copy19+1>>0]=HEAP8[$14+1>>0]|0;HEAP8[$$byval_copy19+2>>0]=HEAP8[$14+2>>0]|0;HEAP8[$$byval_copy19+3>>0]=HEAP8[$14+3>>0]|0; _DrawText(3483,20,20,10,$$byval_copy19); HEAP8[$15>>0] = 80; - $53 = ((($15)) + 1|0); - HEAP8[$53>>0] = 80; - $54 = ((($15)) + 2|0); - HEAP8[$54>>0] = 80; - $55 = ((($15)) + 3|0); - HEAP8[$55>>0] = -1; + $55 = ((($15)) + 1|0); + HEAP8[$55>>0] = 80; + $56 = ((($15)) + 2|0); + HEAP8[$56>>0] = 80; + $57 = ((($15)) + 3|0); + HEAP8[$57>>0] = -1; ;HEAP8[$$byval_copy19>>0]=HEAP8[$15>>0]|0;HEAP8[$$byval_copy19+1>>0]=HEAP8[$15+1>>0]|0;HEAP8[$$byval_copy19+2>>0]=HEAP8[$15+2>>0]|0;HEAP8[$$byval_copy19+3>>0]=HEAP8[$15+3>>0]|0; _DrawText(3521,40,40,10,$$byval_copy19); HEAP8[$16>>0] = 80; - $56 = ((($16)) + 1|0); - HEAP8[$56>>0] = 80; - $57 = ((($16)) + 2|0); - HEAP8[$57>>0] = 80; - $58 = ((($16)) + 3|0); - HEAP8[$58>>0] = -1; + $58 = ((($16)) + 1|0); + HEAP8[$58>>0] = 80; + $59 = ((($16)) + 2|0); + HEAP8[$59>>0] = 80; + $60 = ((($16)) + 3|0); + HEAP8[$60>>0] = -1; ;HEAP8[$$byval_copy19>>0]=HEAP8[$16>>0]|0;HEAP8[$$byval_copy19+1>>0]=HEAP8[$16+1>>0]|0;HEAP8[$$byval_copy19+2>>0]=HEAP8[$16+2>>0]|0;HEAP8[$$byval_copy19+3>>0]=HEAP8[$16+3>>0]|0; _DrawText(3550,40,60,10,$$byval_copy19); _EndDrawing(); @@ -8396,7 +8396,7 @@ function _ProcessGestureEvent($0) { $moveDownPosition$byval_copy11 = sp; $1 = ((($0)) + 4|0); $2 = HEAP32[$1>>2]|0; - HEAP32[3601] = $2; + HEAP32[3617] = $2; $3 = ($2|0)<(2); $4 = HEAP32[$0>>2]|0; $5 = ($4|0)==(1); @@ -8409,7 +8409,7 @@ function _ProcessGestureEvent($0) { $92 = (($89) + 4)|0; $93 = $92; $94 = HEAP32[$93>>2]|0; - $95 = 13800; + $95 = 13864; $96 = $95; HEAP32[$96>>2] = $91; $97 = (($95) + 4)|0; @@ -8422,48 +8422,48 @@ function _ProcessGestureEvent($0) { $103 = (($100) + 4)|0; $104 = $103; $105 = HEAP32[$104>>2]|0; - $106 = 13840; + $106 = 13904; $107 = $106; HEAP32[$107>>2] = $102; $108 = (($106) + 4)|0; $109 = $108; HEAP32[$109>>2] = $105; - $110 = +HEAPF32[3460]; - $111 = +HEAPF32[3450]; + $110 = +HEAPF32[3476]; + $111 = +HEAPF32[3466]; $112 = $110 - $111; - HEAPF32[3462] = $112; - $113 = +HEAPF32[(13844)>>2]; - $114 = +HEAPF32[(13804)>>2]; + HEAPF32[3478] = $112; + $113 = +HEAPF32[(13908)>>2]; + $114 = +HEAPF32[(13868)>>2]; $115 = $113 - $114; - HEAPF32[(13852)>>2] = $115; - HEAP32[3600] = 4; + HEAPF32[(13916)>>2] = $115; + HEAP32[3616] = 4; STACKTOP = sp;return; } switch ($4|0) { case 2: { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[13832>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[13832+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[13856>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[13856+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[13896>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[13896+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[13920>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[13920+4>>2]|0; $116 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - HEAPF32[3606] = $116; - $117 = 13832; + HEAPF32[3622] = $116; + $117 = 13896; $118 = $117; $119 = HEAP32[$118>>2]|0; $120 = (($117) + 4)|0; $121 = $120; $122 = HEAP32[$121>>2]|0; - $123 = 13800; + $123 = 13864; $124 = $123; HEAP32[$124>>2] = $119; $125 = (($123) + 4)|0; $126 = $125; HEAP32[$126>>2] = $122; - $127 = 13856; + $127 = 13920; $128 = $127; $129 = HEAP32[$128>>2]|0; $130 = (($127) + 4)|0; $131 = $130; $132 = HEAP32[$131>>2]|0; - $133 = 13840; + $133 = 13904; $134 = $133; HEAP32[$134>>2] = $129; $135 = (($133) + 4)|0; @@ -8476,7 +8476,7 @@ function _ProcessGestureEvent($0) { $141 = (($138) + 4)|0; $142 = $141; $143 = HEAP32[$142>>2]|0; - $144 = 13832; + $144 = 13896; $145 = $144; HEAP32[$145>>2] = $140; $146 = (($144) + 4)|0; @@ -8489,27 +8489,27 @@ function _ProcessGestureEvent($0) { $152 = (($149) + 4)|0; $153 = $152; $154 = HEAP32[$153>>2]|0; - $155 = 13856; + $155 = 13920; $156 = $155; HEAP32[$156>>2] = $151; $157 = (($155) + 4)|0; $158 = $157; HEAP32[$158>>2] = $154; - $159 = +HEAPF32[3464]; - $160 = +HEAPF32[3458]; + $159 = +HEAPF32[3480]; + $160 = +HEAPF32[3474]; $161 = $159 - $160; - HEAPF32[3462] = $161; - $162 = +HEAPF32[(13860)>>2]; - $163 = +HEAPF32[(13836)>>2]; + HEAPF32[3478] = $161; + $162 = +HEAPF32[(13924)>>2]; + $163 = +HEAPF32[(13900)>>2]; $164 = $162 - $163; - HEAPF32[(13852)>>2] = $164; - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[13800>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[13800+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[13832>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[13832+4>>2]|0; + HEAPF32[(13916)>>2] = $164; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[13864>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[13864+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[13896>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[13896+4>>2]|0; $165 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $166 = !($165 >= 0.004999999888241291); if ($166) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[13840>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[13840+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[13856>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[13856+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[13904>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[13904+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[13920>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[13920+4>>2]|0; $167 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $168 = !($167 >= 0.004999999888241291); if ($168) { @@ -8521,31 +8521,31 @@ function _ProcessGestureEvent($0) { label = 29; } if ((label|0) == 29) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[13832>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[13832+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[13856>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[13856+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[13896>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[13896+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[13920>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[13920+4>>2]|0; $169 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - $170 = +HEAPF32[3606]; + $170 = +HEAPF32[3622]; $171 = $169 - $170; $172 = $171 < 0.0; $$sink11 = $172 ? 256 : 512; $$sink16 = $$sink11; } - HEAP32[3600] = $$sink16; - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[13832>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[13832+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[13856>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[13856+4>>2]|0; + HEAP32[3616] = $$sink16; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[13896>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[13896+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[13920>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[13920+4>>2]|0; $173 = (+_Vector2Angle($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $174 = 360.0 - $173; - HEAPF32[3607] = $174; + HEAPF32[3623] = $174; STACKTOP = sp;return; break; } case 0: { - HEAPF32[3606] = 0.0; - HEAPF32[3607] = 0.0; - HEAPF32[3462] = 0.0; - HEAPF32[(13852)>>2] = 0.0; - HEAP32[3601] = 0; - HEAP32[3600] = 0; + HEAPF32[3622] = 0.0; + HEAPF32[3623] = 0.0; + HEAPF32[3478] = 0.0; + HEAPF32[(13916)>>2] = 0.0; + HEAP32[3617] = 0; + HEAP32[3616] = 0; STACKTOP = sp;return; break; } @@ -8555,22 +8555,22 @@ function _ProcessGestureEvent($0) { } } if ($5) { - $6 = HEAP32[3602]|0; + $6 = HEAP32[3618]|0; $7 = (($6) + 1)|0; - HEAP32[3602] = $7; - $8 = HEAP32[3600]|0; + HEAP32[3618] = $7; + $8 = HEAP32[3616]|0; $9 = ($8|0)==(0); $10 = ($6|0)>(0); $or$cond = $10 & $9; if ($or$cond) { $11 = ((($0)) + 24|0); - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[13800>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[13800+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[13864>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[13864+4>>2]|0; ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[$11>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[$11+4>>2]|0; $12 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $13 = $12 < 0.029999999329447746; if ($13) { - HEAP32[3600] = 2; - HEAP32[3602] = 0; + HEAP32[3616] = 2; + HEAP32[3618] = 0; } else { label = 6; } @@ -8578,8 +8578,8 @@ function _ProcessGestureEvent($0) { label = 6; } if ((label|0) == 6) { - HEAP32[3602] = 1; - HEAP32[3600] = 1; + HEAP32[3618] = 1; + HEAP32[3616] = 1; } $14 = ((($0)) + 24|0); $15 = $14; @@ -8588,19 +8588,19 @@ function _ProcessGestureEvent($0) { $18 = (($15) + 4)|0; $19 = $18; $20 = HEAP32[$19>>2]|0; - $21 = 13800; + $21 = 13864; $22 = $21; HEAP32[$22>>2] = $17; $23 = (($21) + 4)|0; $24 = $23; HEAP32[$24>>2] = $20; - $25 = 13808; + $25 = 13872; $26 = $25; HEAP32[$26>>2] = $17; $27 = (($25) + 4)|0; $28 = $27; HEAP32[$28>>2] = $20; - $29 = 13816; + $29 = 13880; $30 = $29; HEAP32[$30>>2] = $17; $31 = (($29) + 4)|0; @@ -8609,13 +8609,13 @@ function _ProcessGestureEvent($0) { $33 = ((($0)) + 8|0); $34 = HEAP32[$33>>2]|0; HEAP32[14] = $34; - HEAPF32[3456] = 0.0; - HEAPF32[(13828)>>2] = 0.0; + HEAPF32[3472] = 0.0; + HEAPF32[(13892)>>2] = 0.0; STACKTOP = sp;return; } switch ($4|0) { case 0: { - $35 = HEAP32[3600]|0; + $35 = HEAP32[3616]|0; $36 = ($35|0)==(8); if ($36) { $37 = ((($0)) + 24|0); @@ -8625,19 +8625,19 @@ function _ProcessGestureEvent($0) { $41 = (($38) + 4)|0; $42 = $41; $43 = HEAP32[$42>>2]|0; - $44 = 13816; + $44 = 13880; $45 = $44; HEAP32[$45>>2] = $40; $46 = (($44) + 4)|0; $47 = $46; HEAP32[$47>>2] = $43; } - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[13800>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[13800+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[13816>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[13816+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[13864>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[13864+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[13880>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[13880+4>>2]|0; $48 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $49 = $48 / 0.0; - HEAPF32[3603] = $49; - HEAP32[3604] = 0; + HEAPF32[3619] = $49; + HEAP32[3620] = 0; $50 = $49 > 5.0000002374872565E-4; if ($50) { $51 = HEAP32[14]|0; @@ -8645,11 +8645,11 @@ function _ProcessGestureEvent($0) { $53 = HEAP32[$52>>2]|0; $54 = ($51|0)==($53|0); if ($54) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[13800>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[13800+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[13816>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[13816+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[13864>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[13864+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[13880>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[13880+4>>2]|0; $55 = (+_Vector2Angle($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $56 = 360.0 - $55; - HEAPF32[3605] = $56; + HEAPF32[3621] = $56; $57 = $56 < 30.0; $58 = $56 > 330.0; $or$cond3 = $57 | $58; @@ -8680,22 +8680,22 @@ function _ProcessGestureEvent($0) { label = 16; } if ((label|0) == 16) { - HEAPF32[3603] = 0.0; - HEAPF32[3605] = 0.0; + HEAPF32[3619] = 0.0; + HEAPF32[3621] = 0.0; $$sink10 = 0; } - HEAP32[3600] = $$sink10; - HEAPF32[3452] = 0.0; - HEAPF32[(13812)>>2] = 0.0; - HEAP32[3601] = 0; + HEAP32[3616] = $$sink10; + HEAPF32[3468] = 0.0; + HEAPF32[(13876)>>2] = 0.0; + HEAP32[3617] = 0; STACKTOP = sp;return; break; } case 2: { - $65 = HEAP32[3604]|0; + $65 = HEAP32[3620]|0; $66 = ($65|0)==(0); if ($66) { - HEAP32[3604] = 1; + HEAP32[3620] = 1; } $67 = ((($0)) + 24|0); $68 = $67; @@ -8704,31 +8704,31 @@ function _ProcessGestureEvent($0) { $71 = (($68) + 4)|0; $72 = $71; $73 = HEAP32[$72>>2]|0; - $74 = 13832; + $74 = 13896; $75 = $74; HEAP32[$75>>2] = $70; $76 = (($74) + 4)|0; $77 = $76; HEAP32[$77>>2] = $73; - $78 = HEAP32[3600]|0; + $78 = HEAP32[3616]|0; $79 = ($78|0)==(4); if ($79) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[13800>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[13800+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[13832>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[13832+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[13864>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[13864+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[13896>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[13896+4>>2]|0; $80 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $81 = !($80 >= 0.014999999664723873); if (!($81)) { - HEAP32[3600] = 8; + HEAP32[3616] = 8; } } - $82 = +HEAPF32[3458]; - $83 = +HEAPF32[3452]; + $82 = +HEAPF32[3474]; + $83 = +HEAPF32[3468]; $84 = $82 - $83; - HEAPF32[3456] = $84; - $85 = +HEAPF32[(13836)>>2]; - $86 = +HEAPF32[(13812)>>2]; + HEAPF32[3472] = $84; + $85 = +HEAPF32[(13900)>>2]; + $86 = +HEAPF32[(13876)>>2]; $87 = $85 - $86; - HEAPF32[(13828)>>2] = $87; + HEAPF32[(13892)>>2] = $87; STACKTOP = sp;return; break; } @@ -8740,16 +8740,16 @@ function _ProcessGestureEvent($0) { function _UpdateGestures() { var $$off = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $or$cond3 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[3600]|0; + $0 = HEAP32[3616]|0; $$off = (($0) + -1)|0; $1 = ($$off>>>0)<(2); - $2 = HEAP32[3601]|0; + $2 = HEAP32[3617]|0; $3 = ($2|0)<(2); $or$cond3 = $1 & $3; if ($or$cond3) { - HEAP32[3600] = 4; + HEAP32[3616] = 4; } - $4 = HEAP32[3600]|0; + $4 = HEAP32[3616]|0; $5 = (($4) + -16)|0; $6 = $5 >>> 4; $7 = $5 << 28; @@ -8762,581 +8762,517 @@ function _UpdateGestures() { return; } } - HEAP32[3600] = 0; + HEAP32[3616] = 0; return; } function _SetCameraMode($0,$1) { $0 = $0|0; $1 = $1|0; - var $$sroa$023$0$$sroa_idx = 0, $$sroa$023$0$copyload = 0.0, $$sroa$030$0$copyload = 0.0, $$sroa$4$0$$sroa_idx25 = 0, $$sroa$4$0$copyload = 0.0, $$sroa$432$0$$sroa_idx33 = 0, $$sroa$432$0$copyload = 0.0, $$sroa$527$0$$sroa_idx28 = 0, $$sroa$527$0$copyload = 0.0, $$sroa$535$0$$sroa_idx36 = 0, $$sroa$535$0$copyload = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0; - var $19 = 0.0, $2 = 0.0, $20 = 0.0, $21 = 0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + var $$off = 0, $$sroa$024$0$$sroa_idx = 0, $$sroa$024$0$copyload = 0.0, $$sroa$031$0$copyload = 0.0, $$sroa$4$0$$sroa_idx26 = 0, $$sroa$4$0$copyload = 0.0, $$sroa$433$0$$sroa_idx34 = 0, $$sroa$433$0$copyload = 0.0, $$sroa$528$0$$sroa_idx29 = 0, $$sroa$528$0$copyload = 0.0, $$sroa$536$0$$sroa_idx37 = 0, $$sroa$536$0$copyload = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0.0; + var $18 = 0.0, $19 = 0.0, $2 = 0.0, $20 = 0.0, $21 = 0, $22 = 0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; sp = STACKTOP; - $$sroa$030$0$copyload = +HEAPF32[$0>>2]; - $$sroa$432$0$$sroa_idx33 = ((($0)) + 4|0); - $$sroa$432$0$copyload = +HEAPF32[$$sroa$432$0$$sroa_idx33>>2]; - $$sroa$535$0$$sroa_idx36 = ((($0)) + 8|0); - $$sroa$535$0$copyload = +HEAPF32[$$sroa$535$0$$sroa_idx36>>2]; - $$sroa$023$0$$sroa_idx = ((($0)) + 12|0); - $$sroa$023$0$copyload = +HEAPF32[$$sroa$023$0$$sroa_idx>>2]; - $$sroa$4$0$$sroa_idx25 = ((($0)) + 16|0); - $$sroa$4$0$copyload = +HEAPF32[$$sroa$4$0$$sroa_idx25>>2]; - $$sroa$527$0$$sroa_idx28 = ((($0)) + 20|0); - $$sroa$527$0$copyload = +HEAPF32[$$sroa$527$0$$sroa_idx28>>2]; - $2 = $$sroa$023$0$copyload - $$sroa$030$0$copyload; - $3 = $$sroa$4$0$copyload - $$sroa$432$0$copyload; - $4 = $$sroa$527$0$copyload - $$sroa$535$0$copyload; + $$sroa$031$0$copyload = +HEAPF32[$0>>2]; + $$sroa$433$0$$sroa_idx34 = ((($0)) + 4|0); + $$sroa$433$0$copyload = +HEAPF32[$$sroa$433$0$$sroa_idx34>>2]; + $$sroa$536$0$$sroa_idx37 = ((($0)) + 8|0); + $$sroa$536$0$copyload = +HEAPF32[$$sroa$536$0$$sroa_idx37>>2]; + $$sroa$024$0$$sroa_idx = ((($0)) + 12|0); + $$sroa$024$0$copyload = +HEAPF32[$$sroa$024$0$$sroa_idx>>2]; + $$sroa$4$0$$sroa_idx26 = ((($0)) + 16|0); + $$sroa$4$0$copyload = +HEAPF32[$$sroa$4$0$$sroa_idx26>>2]; + $$sroa$528$0$$sroa_idx29 = ((($0)) + 20|0); + $$sroa$528$0$copyload = +HEAPF32[$$sroa$528$0$$sroa_idx29>>2]; + $2 = $$sroa$024$0$copyload - $$sroa$031$0$copyload; + $3 = $$sroa$4$0$copyload - $$sroa$433$0$copyload; + $4 = $$sroa$528$0$copyload - $$sroa$536$0$copyload; $5 = $2 * $2; $6 = $3 * $3; $7 = $5 + $6; $8 = $4 * $4; $9 = $7 + $8; $10 = (+Math_sqrt((+$9))); - HEAPF32[3608] = $10; + HEAPF32[3624] = $10; $11 = $5 + $8; $12 = (+Math_sqrt((+$11))); $13 = (+Math_sqrt((+$7))); $14 = (+Math_abs((+$2))); $15 = $14 / $12; $16 = (+Math_asin((+$15))); - HEAPF32[3609] = $16; + HEAPF32[3625] = $16; $17 = (+Math_abs((+$3))); $18 = $17 / $13; $19 = (+Math_asin((+$18))); $20 = -$19; - HEAPF32[3610] = $20; - $21 = HEAP32[$$sroa$432$0$$sroa_idx33>>2]|0; + HEAPF32[3626] = $20; + $21 = HEAP32[$$sroa$433$0$$sroa_idx34>>2]|0; HEAP32[15] = $21; - HEAP32[3611] = $1; + $$off = (($1) + -3)|0; + $22 = ($$off>>>0)<(2); + if ($22) { + _DisableCursor(); + HEAP32[3627] = $1; + return; + } else { + _EnableCursor(); + HEAP32[3627] = $1; + return; + } +} +function _DisableCursor() { + var label = 0, sp = 0; + sp = STACKTOP; + HEAP32[3628] = 1; + HEAP32[3629] = 1; + return; +} +function _EnableCursor() { + var label = 0, sp = 0; + sp = STACKTOP; + HEAP32[3628] = 1; + HEAP32[3629] = 0; return; } function _UpdateCamera($0) { $0 = $0|0; - var $$ = 0, $$0 = 0, $$byval_copy3 = 0, $$not = 0, $$not188 = 0, $$off187 = 0, $$pr = 0, $$pr190 = 0, $$sink = 0.0, $$sink17 = 0, $$sink22 = 0.0, $$sink22$p = 0.0, $$sink26 = 0.0, $$sink28 = 0.0, $$sroa$095$0 = 0.0, $$sroa$9$0 = 0.0, $1 = 0, $10 = 0, $100 = 0.0, $101 = 0.0; - var $102 = 0.0, $103 = 0.0, $104 = 0.0, $105 = 0.0, $106 = 0.0, $107 = 0.0, $108 = 0.0, $109 = 0.0, $11 = 0, $110 = 0.0, $111 = 0.0, $112 = 0, $113 = 0.0, $114 = 0, $115 = 0.0, $116 = 0.0, $117 = 0.0, $118 = 0.0, $119 = 0.0, $12 = 0; - var $120 = 0.0, $121 = 0, $122 = 0.0, $123 = 0.0, $124 = 0.0, $125 = 0.0, $126 = 0.0, $127 = 0.0, $128 = 0.0, $129 = 0.0, $13 = 0, $130 = 0.0, $131 = 0.0, $132 = 0.0, $133 = 0.0, $134 = 0.0, $135 = 0, $136 = 0.0, $137 = 0, $138 = 0.0; - var $139 = 0.0, $14 = 0, $140 = 0.0, $141 = 0.0, $142 = 0.0, $143 = 0.0, $144 = 0, $145 = 0, $146 = 0.0, $147 = 0.0, $148 = 0.0, $149 = 0, $15 = 0, $150 = 0, $151 = 0.0, $152 = 0.0, $153 = 0.0, $154 = 0.0, $155 = 0.0, $156 = 0.0; - var $157 = 0.0, $158 = 0.0, $159 = 0.0, $16 = 0, $160 = 0.0, $161 = 0.0, $162 = 0.0, $163 = 0.0, $164 = 0.0, $165 = 0.0, $166 = 0.0, $167 = 0, $168 = 0.0, $169 = 0, $17 = 0, $170 = 0.0, $171 = 0.0, $172 = 0.0, $173 = 0.0, $174 = 0.0; - var $175 = 0.0, $176 = 0, $177 = 0.0, $178 = 0.0, $179 = 0.0, $18 = 0, $180 = 0.0, $181 = 0.0, $182 = 0.0, $183 = 0.0, $184 = 0.0, $185 = 0.0, $186 = 0.0, $187 = 0.0, $188 = 0.0, $189 = 0.0, $19 = 0, $190 = 0.0, $191 = 0, $192 = 0.0; - var $193 = 0, $194 = 0.0, $195 = 0.0, $196 = 0.0, $197 = 0.0, $198 = 0.0, $199 = 0.0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0.0, $204 = 0.0, $205 = 0.0, $206 = 0.0, $207 = 0, $208 = 0, $209 = 0, $21 = 0; - var $210 = 0, $211 = 0.0, $212 = 0.0, $213 = 0.0, $214 = 0.0, $215 = 0.0, $216 = 0.0, $217 = 0.0, $218 = 0.0, $219 = 0.0, $22 = 0, $220 = 0, $221 = 0, $222 = 0.0, $223 = 0.0, $224 = 0.0, $225 = 0.0, $226 = 0.0, $227 = 0.0, $228 = 0.0; - var $229 = 0.0, $23 = 0, $230 = 0.0, $231 = 0.0, $232 = 0.0, $233 = 0.0, $234 = 0.0, $235 = 0.0, $236 = 0, $237 = 0.0, $238 = 0.0, $239 = 0.0, $24 = 0, $240 = 0.0, $241 = 0.0, $242 = 0, $243 = 0.0, $244 = 0.0, $245 = 0.0, $246 = 0.0; - var $247 = 0.0, $248 = 0.0, $249 = 0.0, $25 = 0, $250 = 0.0, $251 = 0, $252 = 0.0, $253 = 0.0, $254 = 0.0, $255 = 0.0, $256 = 0.0, $257 = 0.0, $258 = 0.0, $259 = 0.0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0.0; - var $265 = 0.0, $266 = 0, $267 = 0.0, $268 = 0.0, $269 = 0, $27 = 0, $270 = 0.0, $271 = 0.0, $272 = 0.0, $273 = 0.0, $274 = 0, $275 = 0.0, $276 = 0.0, $277 = 0.0, $278 = 0, $279 = 0.0, $28 = 0, $280 = 0.0, $281 = 0.0, $282 = 0.0; - var $283 = 0.0, $284 = 0.0, $285 = 0.0, $286 = 0.0, $287 = 0.0, $288 = 0.0, $289 = 0.0, $29 = 0, $290 = 0, $291 = 0.0, $292 = 0.0, $293 = 0, $294 = 0.0, $295 = 0.0, $296 = 0.0, $297 = 0, $298 = 0.0, $299 = 0.0, $3 = 0, $30 = 0; - var $300 = 0.0, $301 = 0.0, $302 = 0.0, $303 = 0.0, $304 = 0.0, $305 = 0.0, $306 = 0.0, $307 = 0.0, $308 = 0, $309 = 0.0, $31 = 0, $310 = 0.0, $311 = 0, $312 = 0, $313 = 0.0, $314 = 0.0, $315 = 0.0, $316 = 0.0, $317 = 0.0, $318 = 0.0; - var $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0.0, $324 = 0.0, $325 = 0.0, $326 = 0.0, $327 = 0, $328 = 0.0, $329 = 0.0, $33 = 0, $330 = 0.0, $331 = 0.0, $332 = 0.0, $333 = 0.0, $334 = 0.0, $335 = 0.0, $336 = 0; - var $337 = 0.0, $338 = 0.0, $339 = 0, $34 = 0, $340 = 0.0, $341 = 0.0, $342 = 0.0, $343 = 0.0, $344 = 0, $345 = 0, $346 = 0.0, $347 = 0.0, $348 = 0.0, $349 = 0.0, $35 = 0, $350 = 0.0, $351 = 0, $352 = 0.0, $353 = 0.0, $354 = 0.0; - var $355 = 0.0, $356 = 0.0, $357 = 0, $358 = 0.0, $359 = 0.0, $36 = 0, $360 = 0.0, $361 = 0.0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0.0, $367 = 0, $368 = 0.0, $369 = 0.0, $37 = 0.0, $370 = 0.0, $371 = 0.0, $372 = 0.0; - var $373 = 0.0, $374 = 0.0, $375 = 0.0, $376 = 0, $377 = 0.0, $378 = 0.0, $379 = 0, $38 = 0.0, $380 = 0, $381 = 0.0, $382 = 0.0, $383 = 0.0, $384 = 0.0, $385 = 0.0, $386 = 0.0, $387 = 0.0, $388 = 0, $389 = 0.0, $39 = 0.0, $390 = 0.0; - var $391 = 0, $392 = 0.0, $393 = 0.0, $394 = 0, $395 = 0.0, $396 = 0.0, $397 = 0.0, $398 = 0.0, $399 = 0, $4 = 0, $40 = 0, $400 = 0.0, $401 = 0.0, $402 = 0.0, $403 = 0, $404 = 0.0, $405 = 0.0, $406 = 0, $407 = 0, $408 = 0; - var $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $42 = 0.0, $43 = 0, $44 = 0, $45 = 0.0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0; - var $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0, $55 = 0, $56 = 0.0, $57 = 0, $58 = 0, $59 = 0.0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0.0, $64 = 0.0, $65 = 0.0, $66 = 0.0, $67 = 0.0, $68 = 0.0, $69 = 0.0; - var $7 = 0, $70 = 0.0, $71 = 0, $72 = 0.0, $73 = 0.0, $74 = 0.0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0.0, $86 = 0, $87 = 0; - var $88 = 0.0, $89 = 0.0, $9 = 0, $90 = 0.0, $91 = 0, $92 = 0, $93 = 0.0, $94 = 0, $95 = 0, $96 = 0.0, $97 = 0, $98 = 0, $99 = 0.0, $not$ = 0, $or$cond = 0, $or$cond11 = 0, $or$cond13 = 0, $or$cond15 = 0, $or$cond189 = 0, $or$cond3 = 0; - var $or$cond5 = 0, $or$cond7 = 0, $or$cond9 = 0, $storemerge = 0.0, label = 0, sp = 0; + var $$ = 0, $$0 = 0, $$not = 0, $$not170 = 0, $$pr = 0, $$pr172 = 0, $$sink = 0.0, $$sink15 = 0, $$sink20 = 0.0, $$sink20$p = 0.0, $$sink24 = 0.0, $$sink26 = 0.0, $1 = 0, $10 = 0, $100 = 0.0, $101 = 0.0, $102 = 0.0, $103 = 0.0, $104 = 0.0, $105 = 0; + var $106 = 0, $107 = 0.0, $108 = 0.0, $109 = 0.0, $11 = 0, $110 = 0, $111 = 0, $112 = 0.0, $113 = 0.0, $114 = 0.0, $115 = 0.0, $116 = 0.0, $117 = 0.0, $118 = 0.0, $119 = 0.0, $12 = 0, $120 = 0.0, $121 = 0.0, $122 = 0.0, $123 = 0.0; + var $124 = 0.0, $125 = 0.0, $126 = 0.0, $127 = 0.0, $128 = 0, $129 = 0.0, $13 = 0, $130 = 0, $131 = 0.0, $132 = 0.0, $133 = 0.0, $134 = 0.0, $135 = 0.0, $136 = 0.0, $137 = 0, $138 = 0.0, $139 = 0.0, $14 = 0, $140 = 0.0, $141 = 0.0; + var $142 = 0.0, $143 = 0.0, $144 = 0.0, $145 = 0.0, $146 = 0.0, $147 = 0.0, $148 = 0.0, $149 = 0.0, $15 = 0, $150 = 0.0, $151 = 0.0, $152 = 0, $153 = 0.0, $154 = 0, $155 = 0.0, $156 = 0.0, $157 = 0.0, $158 = 0.0, $159 = 0.0, $16 = 0; + var $160 = 0.0, $161 = 0, $162 = 0, $163 = 0, $164 = 0.0, $165 = 0.0, $166 = 0.0, $167 = 0.0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0.0, $173 = 0.0, $174 = 0.0, $175 = 0.0, $176 = 0.0, $177 = 0.0, $178 = 0.0; + var $179 = 0.0, $18 = 0, $180 = 0.0, $181 = 0, $182 = 0, $183 = 0.0, $184 = 0.0, $185 = 0.0, $186 = 0.0, $187 = 0.0, $188 = 0.0, $189 = 0.0, $19 = 0, $190 = 0.0, $191 = 0.0, $192 = 0.0, $193 = 0.0, $194 = 0.0, $195 = 0.0, $196 = 0.0; + var $197 = 0, $198 = 0.0, $199 = 0.0, $2 = 0, $20 = 0, $200 = 0.0, $201 = 0.0, $202 = 0.0, $203 = 0, $204 = 0.0, $205 = 0.0, $206 = 0.0, $207 = 0.0, $208 = 0.0, $209 = 0.0, $21 = 0, $210 = 0.0, $211 = 0.0, $212 = 0, $213 = 0.0; + var $214 = 0.0, $215 = 0.0, $216 = 0.0, $217 = 0.0, $218 = 0.0, $219 = 0.0, $22 = 0, $220 = 0.0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0.0, $226 = 0.0, $227 = 0, $228 = 0.0, $229 = 0.0, $23 = 0, $230 = 0, $231 = 0.0; + var $232 = 0.0, $233 = 0.0, $234 = 0.0, $235 = 0, $236 = 0.0, $237 = 0.0, $238 = 0.0, $239 = 0, $24 = 0, $240 = 0.0, $241 = 0.0, $242 = 0.0, $243 = 0.0, $244 = 0.0, $245 = 0.0, $246 = 0.0, $247 = 0.0, $248 = 0.0, $249 = 0.0, $25 = 0; + var $250 = 0.0, $251 = 0, $252 = 0.0, $253 = 0.0, $254 = 0, $255 = 0.0, $256 = 0.0, $257 = 0.0, $258 = 0, $259 = 0.0, $26 = 0, $260 = 0.0, $261 = 0.0, $262 = 0.0, $263 = 0.0, $264 = 0.0, $265 = 0.0, $266 = 0.0, $267 = 0.0, $268 = 0.0; + var $269 = 0, $27 = 0, $270 = 0.0, $271 = 0.0, $272 = 0, $273 = 0, $274 = 0.0, $275 = 0.0, $276 = 0.0, $277 = 0.0, $278 = 0.0, $279 = 0.0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0.0, $285 = 0.0, $286 = 0.0; + var $287 = 0.0, $288 = 0, $289 = 0.0, $29 = 0.0, $290 = 0.0, $291 = 0.0, $292 = 0.0, $293 = 0.0, $294 = 0.0, $295 = 0.0, $296 = 0.0, $297 = 0, $298 = 0.0, $299 = 0.0, $3 = 0, $30 = 0.0, $300 = 0, $301 = 0.0, $302 = 0.0, $303 = 0.0; + var $304 = 0.0, $305 = 0, $306 = 0, $307 = 0.0, $308 = 0.0, $309 = 0.0, $31 = 0.0, $310 = 0.0, $311 = 0.0, $312 = 0, $313 = 0.0, $314 = 0.0, $315 = 0.0, $316 = 0.0, $317 = 0.0, $318 = 0, $319 = 0.0, $32 = 0, $320 = 0.0, $321 = 0.0; + var $322 = 0.0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0.0, $328 = 0, $329 = 0.0, $33 = 0.0, $330 = 0.0, $331 = 0.0, $332 = 0.0, $333 = 0.0, $334 = 0.0, $335 = 0.0, $336 = 0.0, $337 = 0, $338 = 0.0, $339 = 0.0, $34 = 0.0; + var $340 = 0, $341 = 0, $342 = 0.0, $343 = 0.0, $344 = 0.0, $345 = 0.0, $346 = 0.0, $347 = 0.0, $348 = 0.0, $349 = 0, $35 = 0.0, $350 = 0.0, $351 = 0.0, $352 = 0, $353 = 0.0, $354 = 0.0, $355 = 0, $356 = 0.0, $357 = 0.0, $358 = 0.0; + var $359 = 0.0, $36 = 0, $360 = 0, $361 = 0.0, $362 = 0.0, $363 = 0.0, $364 = 0, $365 = 0.0, $366 = 0.0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0; + var $377 = 0, $378 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0.0, $47 = 0, $48 = 0, $49 = 0.0, $5 = 0, $50 = 0.0, $51 = 0.0, $52 = 0, $53 = 0; + var $54 = 0.0, $55 = 0, $56 = 0, $57 = 0.0, $58 = 0, $59 = 0, $6 = 0, $60 = 0.0, $61 = 0.0, $62 = 0.0, $63 = 0.0, $64 = 0.0, $65 = 0.0, $66 = 0.0, $67 = 0.0, $68 = 0.0, $69 = 0.0, $7 = 0, $70 = 0.0, $71 = 0.0; + var $72 = 0.0, $73 = 0, $74 = 0.0, $75 = 0, $76 = 0.0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0, $80 = 0.0, $81 = 0.0, $82 = 0, $83 = 0.0, $84 = 0.0, $85 = 0.0, $86 = 0.0, $87 = 0.0, $88 = 0.0, $89 = 0.0, $9 = 0; + var $90 = 0.0, $91 = 0.0, $92 = 0.0, $93 = 0.0, $94 = 0.0, $95 = 0.0, $96 = 0, $97 = 0.0, $98 = 0, $99 = 0.0, $not$ = 0, $or$cond = 0, $or$cond11 = 0, $or$cond13 = 0, $or$cond169 = 0, $or$cond171 = 0, $or$cond3 = 0, $or$cond5 = 0, $or$cond7 = 0, $or$cond9 = 0; + var $storemerge = 0.0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0); - $$byval_copy3 = sp + 72|0; - $1 = sp + 56|0; - $2 = sp + 16|0; - $3 = sp + 64|0; - $4 = sp + 48|0; - $5 = sp + 40|0; - $6 = sp + 8|0; - $7 = sp; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $1 = sp; + $2 = sp + 8|0; _GetMousePosition($1); - $8 = (_GetMouseWheelMove()|0); - $9 = HEAP32[16]|0; - $10 = (_IsMouseButtonDown($9)|0); - $11 = HEAP32[17]|0; - $12 = (_IsKeyDown($11)|0); - $13 = HEAP32[18]|0; + $3 = (_GetMouseWheelMove()|0); + $4 = HEAP32[16]|0; + $5 = (_IsMouseButtonDown($4)|0); + $6 = HEAP32[17]|0; + $7 = (_IsKeyDown($6)|0); + $8 = HEAP32[18]|0; + $9 = (_IsKeyDown($8)|0); + $10 = HEAP32[19]|0; + $11 = (_IsKeyDown($10)|0); + HEAP32[$2>>2] = $11; + $12 = ((($2)) + 4|0); + $13 = HEAP32[20]|0; $14 = (_IsKeyDown($13)|0); - $15 = HEAP32[19]|0; - $16 = (_IsKeyDown($15)|0); - HEAP32[$2>>2] = $16; - $17 = ((($2)) + 4|0); - $18 = HEAP32[20]|0; - $19 = (_IsKeyDown($18)|0); - HEAP32[$17>>2] = $19; - $20 = ((($2)) + 8|0); - $21 = HEAP32[21]|0; - $22 = (_IsKeyDown($21)|0); - HEAP32[$20>>2] = $22; - $23 = ((($2)) + 12|0); - $24 = HEAP32[22]|0; - $25 = (_IsKeyDown($24)|0); - HEAP32[$23>>2] = $25; - $26 = ((($2)) + 16|0); - $27 = HEAP32[23]|0; - $28 = (_IsKeyDown($27)|0); - HEAP32[$26>>2] = $28; - $29 = ((($2)) + 20|0); - $30 = HEAP32[24]|0; - $31 = (_IsKeyDown($30)|0); - HEAP32[$29>>2] = $31; - $32 = HEAP32[3611]|0; - $33 = ($32|0)==(0); + HEAP32[$12>>2] = $14; + $15 = ((($2)) + 8|0); + $16 = HEAP32[21]|0; + $17 = (_IsKeyDown($16)|0); + HEAP32[$15>>2] = $17; + $18 = ((($2)) + 12|0); + $19 = HEAP32[22]|0; + $20 = (_IsKeyDown($19)|0); + HEAP32[$18>>2] = $20; + $21 = ((($2)) + 16|0); + $22 = HEAP32[23]|0; + $23 = (_IsKeyDown($22)|0); + HEAP32[$21>>2] = $23; + $24 = ((($2)) + 20|0); + $25 = HEAP32[24]|0; + $26 = (_IsKeyDown($25)|0); + HEAP32[$24>>2] = $26; + $27 = HEAP32[3627]|0; + $28 = ($27|0)==(0); L1: do { - if ($33) { - label = 58; + if ($28) { + label = 47; } else { - $34 = (_GetScreenWidth()|0); - $35 = (_GetScreenHeight()|0); - $$off187 = (($32) + -3)|0; - $36 = ($$off187>>>0)<(2); - do { - if ($36) { - _HideCursor(); - $37 = +HEAPF32[$1>>2]; - $38 = (+($35|0)); - $39 = $38 / 3.0; - $40 = $37 < $39; - $41 = ((($1)) + 4|0); - $42 = +HEAPF32[$41>>2]; - if ($40) { - $43 = (($35|0) / 3)&-1; - $44 = (($34) - ($43))|0; - $45 = (+($44|0)); - HEAPF32[$3>>2] = $45; - $46 = ((($3)) + 4|0); - HEAPF32[$46>>2] = $42; - ;HEAP32[$$byval_copy3>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$3+4>>2]|0; - _SetMousePosition($$byval_copy3); - $$sroa$095$0 = 0.0;$$sroa$9$0 = 0.0; - break; - } - $47 = $42 < $39; - if ($47) { - HEAPF32[$4>>2] = $37; - $48 = ((($4)) + 4|0); - $49 = (($35|0) / 3)&-1; - $50 = (($35) - ($49))|0; - $51 = (+($50|0)); - HEAPF32[$48>>2] = $51; - ;HEAP32[$$byval_copy3>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$4+4>>2]|0; - _SetMousePosition($$byval_copy3); - $$sroa$095$0 = 0.0;$$sroa$9$0 = 0.0; - break; - } - $52 = (+($34|0)); - $53 = $52 - $39; - $54 = $37 > $53; - if ($54) { - $55 = (($35|0) / 3)&-1; - $56 = (+($55|0)); - HEAPF32[$5>>2] = $56; - $57 = ((($5)) + 4|0); - $58 = HEAP32[$41>>2]|0; - HEAP32[$57>>2] = $58; - ;HEAP32[$$byval_copy3>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$5+4>>2]|0; - _SetMousePosition($$byval_copy3); - $$sroa$095$0 = 0.0;$$sroa$9$0 = 0.0; - break; - } - $59 = $38 - $39; - $60 = $42 > $59; - if ($60) { - HEAPF32[$6>>2] = $37; - $61 = ((($6)) + 4|0); - $62 = (($35|0) / 3)&-1; - $63 = (+($62|0)); - HEAPF32[$61>>2] = $63; - ;HEAP32[$$byval_copy3>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$6+4>>2]|0; - _SetMousePosition($$byval_copy3); - $$sroa$095$0 = 0.0;$$sroa$9$0 = 0.0; - break; - } else { - $64 = +HEAPF32[3466]; - $65 = $37 - $64; - $66 = +HEAPF32[(13868)>>2]; - $67 = $42 - $66; - $$sroa$095$0 = $65;$$sroa$9$0 = $67; - break; - } - } else { - _ShowCursor(); - $68 = +HEAPF32[$1>>2]; - $69 = +HEAPF32[3466]; - $70 = $68 - $69; - $71 = ((($1)) + 4|0); - $72 = +HEAPF32[$71>>2]; - $73 = +HEAPF32[(13868)>>2]; - $74 = $72 - $73; - $$sroa$095$0 = $70;$$sroa$9$0 = $74; - } - } while(0); - _GetMousePosition($7); - $75 = $7; - $76 = $75; - $77 = HEAP32[$76>>2]|0; - $78 = (($75) + 4)|0; - $79 = $78; - $80 = HEAP32[$79>>2]|0; - $81 = 13864; - $82 = $81; - HEAP32[$82>>2] = $77; - $83 = (($81) + 4)|0; - $84 = $83; - HEAP32[$84>>2] = $80; - $$pr = HEAP32[3611]|0; + $29 = +HEAPF32[$1>>2]; + $30 = +HEAPF32[3482]; + $31 = $29 - $30; + $32 = ((($1)) + 4|0); + $33 = +HEAPF32[$32>>2]; + $34 = +HEAPF32[(13932)>>2]; + $35 = $33 - $34; + $36 = $1; + $37 = $36; + $38 = HEAP32[$37>>2]|0; + $39 = (($36) + 4)|0; + $40 = $39; + $41 = HEAP32[$40>>2]|0; + $42 = 13928; + $43 = $42; + HEAP32[$43>>2] = $38; + $44 = (($42) + 4)|0; + $45 = $44; + HEAP32[$45>>2] = $41; + $$pr = HEAP32[3627]|0; switch ($$pr|0) { case 1: { - $85 = +HEAPF32[3608]; - $86 = $85 < 120.0; - $87 = ($8|0)<(0); - $or$cond3 = $87 & $86; + $46 = +HEAPF32[3624]; + $47 = $46 < 120.0; + $48 = ($3|0)<(0); + $or$cond = $48 & $47; do { - if ($or$cond3) { - $88 = (+($8|0)); - $89 = $88 * 1.5; - $90 = $85 - $89; - HEAPF32[3608] = $90; - $91 = $90 > 120.0; - if ($91) { - HEAPF32[3608] = 120.0; + if ($or$cond) { + $49 = (+($3|0)); + $50 = $49 * 1.5; + $51 = $46 - $50; + HEAPF32[3624] = $51; + $52 = $51 > 120.0; + if ($52) { + HEAPF32[3624] = 120.0; } } else { - $92 = ((($0)) + 4|0); - $93 = +HEAPF32[$92>>2]; - $94 = ((($0)) + 12|0); - $95 = ((($0)) + 16|0); - $96 = +HEAPF32[$95>>2]; - $97 = $93 > $96; - $98 = $85 == 120.0; - $or$cond5 = $98 & $97; - $or$cond7 = $87 & $or$cond5; - if ($or$cond7) { - $99 = (+($8|0)); - $100 = +HEAPF32[$94>>2]; - $101 = +HEAPF32[$0>>2]; - $102 = $100 - $101; - $103 = $99 * $102; - $104 = $103 * 1.5; - $105 = $104 / $85; - $106 = $100 + $105; - HEAPF32[$94>>2] = $106; - $107 = $96 - $93; - $108 = $99 * $107; - $109 = $108 * 1.5; - $110 = $109 / $85; - $111 = $96 + $110; - HEAPF32[$95>>2] = $111; - $112 = ((($0)) + 20|0); - $113 = +HEAPF32[$112>>2]; - $114 = ((($0)) + 8|0); - $115 = +HEAPF32[$114>>2]; - $116 = $113 - $115; - $117 = $99 * $116; - $118 = $117 * 1.5; - $119 = $118 / $85; - $120 = $113 + $119; - HEAPF32[$112>>2] = $120; + $53 = ((($0)) + 4|0); + $54 = +HEAPF32[$53>>2]; + $55 = ((($0)) + 12|0); + $56 = ((($0)) + 16|0); + $57 = +HEAPF32[$56>>2]; + $58 = $54 > $57; + $59 = $46 == 120.0; + $or$cond3 = $59 & $58; + $or$cond5 = $48 & $or$cond3; + if ($or$cond5) { + $60 = (+($3|0)); + $61 = +HEAPF32[$55>>2]; + $62 = +HEAPF32[$0>>2]; + $63 = $61 - $62; + $64 = $60 * $63; + $65 = $64 * 1.5; + $66 = $65 / $46; + $67 = $61 + $66; + HEAPF32[$55>>2] = $67; + $68 = $57 - $54; + $69 = $60 * $68; + $70 = $69 * 1.5; + $71 = $70 / $46; + $72 = $57 + $71; + HEAPF32[$56>>2] = $72; + $73 = ((($0)) + 20|0); + $74 = +HEAPF32[$73>>2]; + $75 = ((($0)) + 8|0); + $76 = +HEAPF32[$75>>2]; + $77 = $74 - $76; + $78 = $60 * $77; + $79 = $78 * 1.5; + $80 = $79 / $46; + $81 = $74 + $80; + HEAPF32[$73>>2] = $81; break; } - $$not = $97 ^ 1; - $121 = !($96 >= 0.0); - $or$cond = $121 | $$not; - if (!($or$cond)) { - $122 = (+($8|0)); - $123 = +HEAPF32[$94>>2]; - $124 = +HEAPF32[$0>>2]; - $125 = $123 - $124; - $126 = $122 * $125; - $127 = $126 * 1.5; - $128 = $127 / $85; - $129 = $123 + $128; - HEAPF32[$94>>2] = $129; - $130 = $96 - $93; - $131 = $122 * $130; - $132 = $131 * 1.5; - $133 = $132 / $85; - $134 = $96 + $133; - HEAPF32[$95>>2] = $134; - $135 = ((($0)) + 20|0); - $136 = +HEAPF32[$135>>2]; - $137 = ((($0)) + 8|0); - $138 = +HEAPF32[$137>>2]; - $139 = $136 - $138; - $140 = $122 * $139; - $141 = $140 * 1.5; - $142 = $141 / $85; - $143 = $136 + $142; - HEAPF32[$135>>2] = $143; + $$not = $58 ^ 1; + $82 = !($57 >= 0.0); + $or$cond169 = $82 | $$not; + if (!($or$cond169)) { + $83 = (+($3|0)); + $84 = +HEAPF32[$55>>2]; + $85 = +HEAPF32[$0>>2]; + $86 = $84 - $85; + $87 = $83 * $86; + $88 = $87 * 1.5; + $89 = $88 / $46; + $90 = $84 + $89; + HEAPF32[$55>>2] = $90; + $91 = $57 - $54; + $92 = $83 * $91; + $93 = $92 * 1.5; + $94 = $93 / $46; + $95 = $57 + $94; + HEAPF32[$56>>2] = $95; + $96 = ((($0)) + 20|0); + $97 = +HEAPF32[$96>>2]; + $98 = ((($0)) + 8|0); + $99 = +HEAPF32[$98>>2]; + $100 = $97 - $99; + $101 = $83 * $100; + $102 = $101 * 1.5; + $103 = $102 / $46; + $104 = $97 + $103; + HEAPF32[$96>>2] = $104; break; } - if ($97) { - $144 = $96 < 0.0; - $145 = ($8|0)>(0); - $or$cond9 = $145 & $144; - if ($or$cond9) { - $146 = (+($8|0)); - $147 = $146 * 1.5; - $148 = $85 - $147; - HEAPF32[3608] = $148; - $149 = $148 < 0.30000001192092896; - if (!($149)) { + if ($58) { + $105 = $57 < 0.0; + $106 = ($3|0)>(0); + $or$cond7 = $106 & $105; + if ($or$cond7) { + $107 = (+($3|0)); + $108 = $107 * 1.5; + $109 = $46 - $108; + HEAPF32[3624] = $109; + $110 = $109 < 0.30000001192092896; + if (!($110)) { break; } - HEAPF32[3608] = 0.30000001192092896; + HEAPF32[3624] = 0.30000001192092896; break; } } - $150 = $93 < $96; - $or$cond11 = $98 & $150; - $or$cond13 = $87 & $or$cond11; - $151 = +HEAPF32[$95>>2]; - $152 = +HEAPF32[$92>>2]; - if ($or$cond13) { - $153 = (+($8|0)); - $154 = +HEAPF32[$94>>2]; - $155 = +HEAPF32[$0>>2]; - $156 = $154 - $155; - $157 = $153 * $156; + $111 = $54 < $57; + $or$cond9 = $59 & $111; + $or$cond11 = $48 & $or$cond9; + $112 = +HEAPF32[$56>>2]; + $113 = +HEAPF32[$53>>2]; + if ($or$cond11) { + $114 = (+($3|0)); + $115 = +HEAPF32[$55>>2]; + $116 = +HEAPF32[$0>>2]; + $117 = $115 - $116; + $118 = $114 * $117; + $119 = $118 * 1.5; + $120 = $119 / $46; + $121 = $115 + $120; + HEAPF32[$55>>2] = $121; + $122 = $112 - $113; + $123 = $114 * $122; + $124 = $123 * 1.5; + $125 = +HEAPF32[3624]; + $126 = $124 / $125; + $127 = $112 + $126; + HEAPF32[$56>>2] = $127; + $128 = ((($0)) + 20|0); + $129 = +HEAPF32[$128>>2]; + $130 = ((($0)) + 8|0); + $131 = +HEAPF32[$130>>2]; + $132 = $129 - $131; + $133 = $114 * $132; + $134 = $133 * 1.5; + $135 = $134 / $125; + $136 = $129 + $135; + HEAPF32[$128>>2] = $136; + break; + } + $$not170 = $111 ^ 1; + $137 = !($57 <= 0.0); + $or$cond171 = $137 | $$not170; + if (!($or$cond171)) { + $138 = (+($3|0)); + $139 = +HEAPF32[$55>>2]; + $140 = +HEAPF32[$0>>2]; + $141 = $139 - $140; + $142 = $138 * $141; + $143 = $142 * 1.5; + $144 = $143 / $46; + $145 = $139 + $144; + HEAPF32[$55>>2] = $145; + $146 = $112 - $113; + $147 = $138 * $146; + $148 = $147 * 1.5; + $149 = +HEAPF32[3624]; + $150 = $148 / $149; + $151 = $112 + $150; + HEAPF32[$56>>2] = $151; + $152 = ((($0)) + 20|0); + $153 = +HEAPF32[$152>>2]; + $154 = ((($0)) + 8|0); + $155 = +HEAPF32[$154>>2]; + $156 = $153 - $155; + $157 = $138 * $156; $158 = $157 * 1.5; - $159 = $158 / $85; - $160 = $154 + $159; - HEAPF32[$94>>2] = $160; - $161 = $151 - $152; - $162 = $153 * $161; - $163 = $162 * 1.5; - $164 = +HEAPF32[3608]; - $165 = $163 / $164; - $166 = $151 + $165; - HEAPF32[$95>>2] = $166; - $167 = ((($0)) + 20|0); - $168 = +HEAPF32[$167>>2]; - $169 = ((($0)) + 8|0); - $170 = +HEAPF32[$169>>2]; - $171 = $168 - $170; - $172 = $153 * $171; - $173 = $172 * 1.5; - $174 = $173 / $164; - $175 = $168 + $174; - HEAPF32[$167>>2] = $175; + $159 = $158 / $149; + $160 = $153 + $159; + HEAPF32[$152>>2] = $160; break; } - $$not188 = $150 ^ 1; - $176 = !($96 <= 0.0); - $or$cond189 = $176 | $$not188; - if (!($or$cond189)) { - $177 = (+($8|0)); - $178 = +HEAPF32[$94>>2]; - $179 = +HEAPF32[$0>>2]; - $180 = $178 - $179; - $181 = $177 * $180; - $182 = $181 * 1.5; - $183 = $182 / $85; - $184 = $178 + $183; - HEAPF32[$94>>2] = $184; - $185 = $151 - $152; - $186 = $177 * $185; - $187 = $186 * 1.5; - $188 = +HEAPF32[3608]; - $189 = $187 / $188; - $190 = $151 + $189; - HEAPF32[$95>>2] = $190; - $191 = ((($0)) + 20|0); - $192 = +HEAPF32[$191>>2]; - $193 = ((($0)) + 8|0); - $194 = +HEAPF32[$193>>2]; - $195 = $192 - $194; - $196 = $177 * $195; - $197 = $196 * 1.5; - $198 = $197 / $188; - $199 = $192 + $198; - HEAPF32[$191>>2] = $199; - break; - } - $200 = $152 < $151; - if ($200) { - $201 = $151 > 0.0; - $202 = ($8|0)>(0); - $or$cond15 = $202 & $201; - if ($or$cond15) { - $203 = (+($8|0)); - $204 = $203 * 1.5; - $205 = +HEAPF32[3608]; - $206 = $205 - $204; - HEAPF32[3608] = $206; - $207 = $206 < 0.30000001192092896; - if ($207) { - HEAPF32[3608] = 0.30000001192092896; + $161 = $113 < $112; + if ($161) { + $162 = $112 > 0.0; + $163 = ($3|0)>(0); + $or$cond13 = $163 & $162; + if ($or$cond13) { + $164 = (+($3|0)); + $165 = $164 * 1.5; + $166 = +HEAPF32[3624]; + $167 = $166 - $165; + HEAPF32[3624] = $167; + $168 = $167 < 0.30000001192092896; + if ($168) { + HEAPF32[3624] = 0.30000001192092896; } } } } } while(0); - $208 = ($10|0)==(0); - if ($208) { - label = 58; + $169 = ($5|0)==(0); + if ($169) { + label = 47; break L1; } - $209 = ($12|0)==(0); - if ($209) { - $222 = $$sroa$095$0 * -0.0099999997764825821; - $223 = +HEAPF32[3609]; - $224 = (+Math_cos((+$223))); - $225 = $222 * $224; - $226 = $$sroa$9$0 * 0.0099999997764825821; - $227 = (+Math_sin((+$223))); - $228 = $226 * $227; - $229 = +HEAPF32[3610]; - $230 = (+Math_sin((+$229))); - $231 = $228 * $230; - $232 = $225 + $231; - $233 = +HEAPF32[3608]; - $234 = $233 / 5.0999999046325684; - $235 = $232 * $234; - $236 = ((($0)) + 12|0); - $237 = +HEAPF32[$236>>2]; - $238 = $237 + $235; - HEAPF32[$236>>2] = $238; - $239 = (+Math_cos((+$229))); - $240 = $226 * $239; - $241 = $234 * $240; - $242 = ((($0)) + 16|0); - $243 = +HEAPF32[$242>>2]; - $244 = $243 + $241; - HEAPF32[$242>>2] = $244; - $245 = $$sroa$095$0 * 0.0099999997764825821; - $246 = $245 * $227; - $247 = $226 * $224; - $248 = $247 * $230; - $249 = $246 + $248; - $250 = $249 * $234; - $251 = ((($0)) + 20|0); - $252 = +HEAPF32[$251>>2]; - $253 = $250 + $252; - HEAPF32[$251>>2] = $253; - label = 58; + $170 = ($7|0)==(0); + if ($170) { + $183 = $31 * -0.0099999997764825821; + $184 = +HEAPF32[3625]; + $185 = (+Math_cos((+$184))); + $186 = $183 * $185; + $187 = $35 * 0.0099999997764825821; + $188 = (+Math_sin((+$184))); + $189 = $187 * $188; + $190 = +HEAPF32[3626]; + $191 = (+Math_sin((+$190))); + $192 = $189 * $191; + $193 = $186 + $192; + $194 = +HEAPF32[3624]; + $195 = $194 / 5.0999999046325684; + $196 = $193 * $195; + $197 = ((($0)) + 12|0); + $198 = +HEAPF32[$197>>2]; + $199 = $198 + $196; + HEAPF32[$197>>2] = $199; + $200 = (+Math_cos((+$190))); + $201 = $187 * $200; + $202 = $195 * $201; + $203 = ((($0)) + 16|0); + $204 = +HEAPF32[$203>>2]; + $205 = $204 + $202; + HEAPF32[$203>>2] = $205; + $206 = $31 * 0.0099999997764825821; + $207 = $206 * $188; + $208 = $187 * $185; + $209 = $208 * $191; + $210 = $207 + $209; + $211 = $210 * $195; + $212 = ((($0)) + 20|0); + $213 = +HEAPF32[$212>>2]; + $214 = $211 + $213; + HEAPF32[$212>>2] = $214; + label = 47; break L1; } - $210 = ($14|0)==(0); - if (!($210)) { - $211 = $$sroa$9$0 * 0.05000000074505806; - $212 = +HEAPF32[3608]; - $213 = $211 + $212; - HEAPF32[3608] = $213; - label = 58; + $171 = ($9|0)==(0); + if (!($171)) { + $172 = $35 * 0.05000000074505806; + $173 = +HEAPF32[3624]; + $174 = $172 + $173; + HEAPF32[3624] = $174; + label = 47; break L1; } - $214 = $$sroa$095$0 * 0.0099999997764825821; - $215 = +HEAPF32[3609]; - $216 = $215 - $214; - HEAPF32[3609] = $216; - $217 = $$sroa$9$0 * 0.0099999997764825821; - $218 = +HEAPF32[3610]; - $219 = $218 - $217; - HEAPF32[3610] = $219; - $220 = $219 > 1.483529806137085; - if ($220) { - HEAPF32[3610] = 1.483529806137085; - label = 58; + $175 = $31 * 0.0099999997764825821; + $176 = +HEAPF32[3625]; + $177 = $176 - $175; + HEAPF32[3625] = $177; + $178 = $35 * 0.0099999997764825821; + $179 = +HEAPF32[3626]; + $180 = $179 - $178; + HEAPF32[3626] = $180; + $181 = $180 > 1.483529806137085; + if ($181) { + HEAPF32[3626] = 1.483529806137085; + label = 47; break L1; } - $221 = $219 < -1.483529806137085; - if (!($221)) { - label = 58; + $182 = $180 < -1.483529806137085; + if (!($182)) { + label = 47; break L1; } - HEAPF32[3610] = -1.483529806137085; - label = 58; + HEAPF32[3626] = -1.483529806137085; + label = 47; break L1; break; } case 2: { - $254 = +HEAPF32[3609]; - $255 = $254 + 0.0099999997764825821; - HEAPF32[3609] = $255; - $256 = (+($8|0)); - $257 = $256 * 1.5; - $258 = +HEAPF32[3608]; - $259 = $258 - $257; - HEAPF32[3608] = $259; - $260 = $259 < 1.2000000476837158; - if (!($260)) { - label = 58; + $215 = +HEAPF32[3625]; + $216 = $215 + 0.0099999997764825821; + HEAPF32[3625] = $216; + $217 = (+($3|0)); + $218 = $217 * 1.5; + $219 = +HEAPF32[3624]; + $220 = $219 - $218; + HEAPF32[3624] = $220; + $221 = $220 < 1.2000000476837158; + if (!($221)) { + label = 47; break L1; } - HEAPF32[3608] = 1.2000000476837158; - label = 58; + HEAPF32[3624] = 1.2000000476837158; + label = 47; break L1; break; } case 4: case 3: { - $264 = +HEAPF32[3609]; - $265 = (+Math_sin((+$264))); - $266 = HEAP32[$17>>2]|0; - $267 = (+($266>>>0)); - $268 = $265 * $267; - $269 = HEAP32[$2>>2]|0; - $270 = (+($269>>>0)); - $271 = $265 * $270; - $272 = $268 - $271; - $273 = (+Math_cos((+$264))); - $274 = HEAP32[$23>>2]|0; - $275 = (+($274>>>0)); - $276 = $273 * $275; - $277 = $272 - $276; - $278 = HEAP32[$20>>2]|0; - $279 = (+($278>>>0)); - $280 = $273 * $279; - $281 = $277 + $280; - $282 = $281 / 20.0; - $283 = +HEAPF32[$0>>2]; - $284 = $283 + $282; - HEAPF32[$0>>2] = $284; - $285 = +HEAPF32[3610]; - $286 = (+Math_sin((+$285))); - $287 = $270 * $286; - $288 = $267 * $286; - $289 = $287 - $288; - $290 = HEAP32[$26>>2]|0; - $291 = (+($290>>>0)); - $292 = $289 + $291; - $293 = HEAP32[$29>>2]|0; - $294 = (+($293>>>0)); - $295 = $292 - $294; - $296 = $295 / 20.0; - $297 = ((($0)) + 4|0); - $298 = +HEAPF32[$297>>2]; - $299 = $298 + $296; - HEAPF32[$297>>2] = $299; - $300 = $267 * $273; - $301 = $273 * $270; - $302 = $300 - $301; - $303 = $265 * $275; - $304 = $302 + $303; - $305 = $265 * $279; - $306 = $304 - $305; - $307 = $306 / 20.0; - $308 = ((($0)) + 8|0); - $309 = +HEAPF32[$308>>2]; - $310 = $307 + $309; - HEAPF32[$308>>2] = $310; - $311 = HEAP32[$2>>2]|0; - $312 = ($311|0)==(0); - if ($312) { - $261 = ((($2)) + 4|0); - $262 = HEAP32[$261>>2]|0; - $263 = ($262|0)==(0); - if ($263) { - $407 = ((($2)) + 8|0); - $408 = HEAP32[$407>>2]|0; - $409 = ($408|0)==(0); - if ($409) { - $410 = ((($2)) + 12|0); - $411 = HEAP32[$410>>2]|0; - $412 = ($411|0)==(0); - if ($412) { - $413 = ((($2)) + 16|0); - $414 = HEAP32[$413>>2]|0; - $415 = ($414|0)==(0); - if ($415) { - $416 = ((($2)) + 20|0); - $417 = HEAP32[$416>>2]|0; - $not$ = ($417|0)!=(0); + $225 = +HEAPF32[3625]; + $226 = (+Math_sin((+$225))); + $227 = HEAP32[$12>>2]|0; + $228 = (+($227>>>0)); + $229 = $226 * $228; + $230 = HEAP32[$2>>2]|0; + $231 = (+($230>>>0)); + $232 = $226 * $231; + $233 = $229 - $232; + $234 = (+Math_cos((+$225))); + $235 = HEAP32[$18>>2]|0; + $236 = (+($235>>>0)); + $237 = $234 * $236; + $238 = $233 - $237; + $239 = HEAP32[$15>>2]|0; + $240 = (+($239>>>0)); + $241 = $234 * $240; + $242 = $238 + $241; + $243 = $242 / 20.0; + $244 = +HEAPF32[$0>>2]; + $245 = $244 + $243; + HEAPF32[$0>>2] = $245; + $246 = +HEAPF32[3626]; + $247 = (+Math_sin((+$246))); + $248 = $231 * $247; + $249 = $228 * $247; + $250 = $248 - $249; + $251 = HEAP32[$21>>2]|0; + $252 = (+($251>>>0)); + $253 = $250 + $252; + $254 = HEAP32[$24>>2]|0; + $255 = (+($254>>>0)); + $256 = $253 - $255; + $257 = $256 / 20.0; + $258 = ((($0)) + 4|0); + $259 = +HEAPF32[$258>>2]; + $260 = $259 + $257; + HEAPF32[$258>>2] = $260; + $261 = $228 * $234; + $262 = $234 * $231; + $263 = $261 - $262; + $264 = $226 * $236; + $265 = $263 + $264; + $266 = $226 * $240; + $267 = $265 - $266; + $268 = $267 / 20.0; + $269 = ((($0)) + 8|0); + $270 = +HEAPF32[$269>>2]; + $271 = $268 + $270; + HEAPF32[$269>>2] = $271; + $272 = HEAP32[$2>>2]|0; + $273 = ($272|0)==(0); + if ($273) { + $222 = ((($2)) + 4|0); + $223 = HEAP32[$222>>2]|0; + $224 = ($223|0)==(0); + if ($224) { + $368 = ((($2)) + 8|0); + $369 = HEAP32[$368>>2]|0; + $370 = ($369|0)==(0); + if ($370) { + $371 = ((($2)) + 12|0); + $372 = HEAP32[$371>>2]|0; + $373 = ($372|0)==(0); + if ($373) { + $374 = ((($2)) + 16|0); + $375 = HEAP32[$374>>2]|0; + $376 = ($375|0)==(0); + if ($376) { + $377 = ((($2)) + 20|0); + $378 = HEAP32[$377>>2]|0; + $not$ = ($378|0)!=(0); $$ = $not$&1; $$0 = $$; } else { @@ -9354,133 +9290,133 @@ function _UpdateCamera($0) { } else { $$0 = 1; } - $313 = $$sroa$095$0 * 0.0030000000260770321; - $314 = +HEAPF32[3609]; - $315 = $314 - $313; - HEAPF32[3609] = $315; - $316 = $$sroa$9$0 * 0.0030000000260770321; - $317 = +HEAPF32[3610]; - $318 = $317 - $316; - HEAPF32[3610] = $318; - $319 = HEAP32[3611]|0; - $320 = ($319|0)==(4); - if ($320) { - $321 = $318 > 0.087266460061073303; - if ($321) { - $$sink26 = 0.087266460061073303; - label = 49; + $274 = $31 * 0.0030000000260770321; + $275 = +HEAPF32[3625]; + $276 = $275 - $274; + HEAPF32[3625] = $276; + $277 = $35 * 0.0030000000260770321; + $278 = +HEAPF32[3626]; + $279 = $278 - $277; + HEAPF32[3626] = $279; + $280 = HEAP32[3627]|0; + $281 = ($280|0)==(4); + if ($281) { + $282 = $279 > 0.087266460061073303; + if ($282) { + $$sink24 = 0.087266460061073303; + label = 38; } else { - $322 = $318 < -1.483529806137085; - if ($322) { - $$sink26 = -1.483529806137085; - label = 49; + $283 = $279 < -1.483529806137085; + if ($283) { + $$sink24 = -1.483529806137085; + label = 38; } } - if ((label|0) == 49) { - HEAPF32[3610] = $$sink26; + if ((label|0) == 38) { + HEAPF32[3626] = $$sink24; } - $323 = (+($8|0)); - $324 = $323 * 1.5; - $325 = +HEAPF32[3608]; - $326 = $325 - $324; - $327 = $326 < 1.2000000476837158; - $storemerge = $327 ? 1.2000000476837158 : $326; - HEAPF32[3608] = $storemerge; - $328 = +HEAPF32[$0>>2]; - $329 = +HEAPF32[3609]; - $330 = (+Math_cos((+$329))); - $331 = $330 * 0.40000000596046448; - $332 = $328 + $331; - $333 = (+Math_sin((+$329))); - $334 = $333 * 0.0; - $335 = $332 + $334; - $336 = ((($0)) + 12|0); - HEAPF32[$336>>2] = $335; - $337 = +HEAPF32[$297>>2]; - $338 = $337 + 0.0; - $339 = ((($0)) + 16|0); - HEAPF32[$339>>2] = $338; - $340 = +HEAPF32[$308>>2]; - $341 = $334 + $340; - $342 = $333 * 0.40000000596046448; - $343 = $341 - $342; - $$sink = $343;$$sink17 = $336; + $284 = (+($3|0)); + $285 = $284 * 1.5; + $286 = +HEAPF32[3624]; + $287 = $286 - $285; + $288 = $287 < 1.2000000476837158; + $storemerge = $288 ? 1.2000000476837158 : $287; + HEAPF32[3624] = $storemerge; + $289 = +HEAPF32[$0>>2]; + $290 = +HEAPF32[3625]; + $291 = (+Math_cos((+$290))); + $292 = $291 * 0.40000000596046448; + $293 = $289 + $292; + $294 = (+Math_sin((+$290))); + $295 = $294 * 0.0; + $296 = $293 + $295; + $297 = ((($0)) + 12|0); + HEAPF32[$297>>2] = $296; + $298 = +HEAPF32[$258>>2]; + $299 = $298 + 0.0; + $300 = ((($0)) + 16|0); + HEAPF32[$300>>2] = $299; + $301 = +HEAPF32[$269>>2]; + $302 = $295 + $301; + $303 = $294 * 0.40000000596046448; + $304 = $302 - $303; + $$sink = $304;$$sink15 = $297; } else { - $344 = $318 > 1.483529806137085; - if ($344) { - $$sink28 = 1.483529806137085; - label = 53; + $305 = $279 > 1.483529806137085; + if ($305) { + $$sink26 = 1.483529806137085; + label = 42; } else { - $345 = $318 < -1.483529806137085; - if ($345) { - $$sink28 = -1.483529806137085; - label = 53; + $306 = $279 < -1.483529806137085; + if ($306) { + $$sink26 = -1.483529806137085; + label = 42; } } - if ((label|0) == 53) { - HEAPF32[3610] = $$sink28; + if ((label|0) == 42) { + HEAPF32[3626] = $$sink26; } - $346 = +HEAPF32[$0>>2]; - $347 = +HEAPF32[3609]; - $348 = (+Math_sin((+$347))); - $349 = $348 * 25.0; - $350 = $346 - $349; - $351 = ((($0)) + 12|0); - HEAPF32[$351>>2] = $350; - $352 = +HEAPF32[$297>>2]; - $353 = +HEAPF32[3610]; - $354 = (+Math_sin((+$353))); - $355 = $354 * 25.0; - $356 = $352 + $355; - $357 = ((($0)) + 16|0); - HEAPF32[$357>>2] = $356; - $358 = +HEAPF32[$308>>2]; - $359 = (+Math_cos((+$347))); - $360 = $359 * 25.0; - $361 = $358 - $360; - $362 = ((($0)) + 20|0); - HEAPF32[$362>>2] = $361; - $363 = ($$0|0)==(0); - if (!($363)) { - $364 = HEAP32[3612]|0; - $365 = (($364) + 1)|0; - HEAP32[3612] = $365; + $307 = +HEAPF32[$0>>2]; + $308 = +HEAPF32[3625]; + $309 = (+Math_sin((+$308))); + $310 = $309 * 25.0; + $311 = $307 - $310; + $312 = ((($0)) + 12|0); + HEAPF32[$312>>2] = $311; + $313 = +HEAPF32[$258>>2]; + $314 = +HEAPF32[3626]; + $315 = (+Math_sin((+$314))); + $316 = $315 * 25.0; + $317 = $313 + $316; + $318 = ((($0)) + 16|0); + HEAPF32[$318>>2] = $317; + $319 = +HEAPF32[$269>>2]; + $320 = (+Math_cos((+$308))); + $321 = $320 * 25.0; + $322 = $319 - $321; + $323 = ((($0)) + 20|0); + HEAPF32[$323>>2] = $322; + $324 = ($$0|0)==(0); + if (!($324)) { + $325 = HEAP32[3630]|0; + $326 = (($325) + 1)|0; + HEAP32[3630] = $326; } - $366 = +HEAPF32[15]; - $367 = HEAP32[3612]|0; - $368 = (+($367|0)); - $369 = $368 / 5.0; - $370 = (+Math_sin((+$369))); - $371 = $370 / 30.0; - $372 = $366 - $371; - HEAPF32[$297>>2] = $372; - $373 = $368 / 10.0; - $374 = (+Math_sin((+$373))); - $375 = $374 / 200.0; - $376 = ((($0)) + 24|0); - HEAPF32[$376>>2] = $375; - $377 = -$374; - $378 = $377 / 200.0; - $$sink = $378;$$sink17 = $376; + $327 = +HEAPF32[15]; + $328 = HEAP32[3630]|0; + $329 = (+($328|0)); + $330 = $329 / 5.0; + $331 = (+Math_sin((+$330))); + $332 = $331 / 30.0; + $333 = $327 - $332; + HEAPF32[$258>>2] = $333; + $334 = $329 / 10.0; + $335 = (+Math_sin((+$334))); + $336 = $335 / 200.0; + $337 = ((($0)) + 24|0); + HEAPF32[$337>>2] = $336; + $338 = -$335; + $339 = $338 / 200.0; + $$sink = $339;$$sink15 = $337; } - $379 = ((($$sink17)) + 8|0); - HEAPF32[$379>>2] = $$sink; - label = 58; + $340 = ((($$sink15)) + 8|0); + HEAPF32[$340>>2] = $$sink; + label = 47; break L1; break; } default: { - $380 = $$pr; + $341 = $$pr; break L1; } } } } while(0); - if ((label|0) == 58) { - $$pr190 = HEAP32[3611]|0; - $380 = $$pr190; + if ((label|0) == 47) { + $$pr172 = HEAP32[3627]|0; + $341 = $$pr172; } - switch ($380|0) { + switch ($341|0) { case 1: case 2: case 4: { break; } @@ -9488,44 +9424,44 @@ function _UpdateCamera($0) { STACKTOP = sp;return; } } - $381 = +HEAPF32[3609]; - $382 = (+Math_sin((+$381))); - $383 = +HEAPF32[3608]; - $384 = $382 * $383; - $385 = +HEAPF32[3610]; - $386 = (+Math_cos((+$385))); - $387 = $384 * $386; - $388 = ((($0)) + 12|0); - $389 = +HEAPF32[$388>>2]; - $390 = $387 + $389; - HEAPF32[$0>>2] = $390; - $391 = !($385 <= 0.0); - $392 = (+Math_sin((+$385))); - $393 = +HEAPF32[3608]; - $394 = ((($0)) + 16|0); - $395 = +HEAPF32[$394>>2]; - $396 = $392 * $393; - $397 = $392 * $396; - $398 = -$397; - $$sink22$p = $391 ? $398 : $397; - $$sink22 = $395 + $$sink22$p; - $399 = ((($0)) + 4|0); - HEAPF32[$399>>2] = $$sink22; - $400 = (+Math_cos((+$381))); - $401 = $393 * $400; - $402 = $386 * $401; - $403 = ((($0)) + 20|0); - $404 = +HEAPF32[$403>>2]; - $405 = $404 + $402; - $406 = ((($0)) + 8|0); - HEAPF32[$406>>2] = $405; + $342 = +HEAPF32[3625]; + $343 = (+Math_sin((+$342))); + $344 = +HEAPF32[3624]; + $345 = $343 * $344; + $346 = +HEAPF32[3626]; + $347 = (+Math_cos((+$346))); + $348 = $345 * $347; + $349 = ((($0)) + 12|0); + $350 = +HEAPF32[$349>>2]; + $351 = $348 + $350; + HEAPF32[$0>>2] = $351; + $352 = !($346 <= 0.0); + $353 = (+Math_sin((+$346))); + $354 = +HEAPF32[3624]; + $355 = ((($0)) + 16|0); + $356 = +HEAPF32[$355>>2]; + $357 = $353 * $354; + $358 = $353 * $357; + $359 = -$358; + $$sink20$p = $352 ? $359 : $358; + $$sink20 = $356 + $$sink20$p; + $360 = ((($0)) + 4|0); + HEAPF32[$360>>2] = $$sink20; + $361 = (+Math_cos((+$342))); + $362 = $354 * $361; + $363 = $347 * $362; + $364 = ((($0)) + 20|0); + $365 = +HEAPF32[$364>>2]; + $366 = $365 + $363; + $367 = ((($0)) + 8|0); + HEAPF32[$367>>2] = $366; STACKTOP = sp;return; } function _GetMousePosition($0) { $0 = $0|0; var $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $1 = 13872; + $1 = 13936; $2 = $1; $3 = HEAP32[$2>>2]|0; $4 = (($1) + 4)|0; @@ -9542,7 +9478,7 @@ function _GetMousePosition($0) { function _GetMouseWheelMove() { var $0 = 0, $1 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[3617]|0; + $0 = HEAP32[3632]|0; $1 = (($0|0) / 100)&-1; return ($1|0); } @@ -9564,60 +9500,11 @@ function _IsKeyDown($0) { $$ = $2&1; return ($$|0); } -function _GetScreenWidth() { - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[3616]|0; - return ($0|0); -} -function _GetScreenHeight() { - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[3615]|0; - return ($0|0); -} -function _HideCursor() { - var label = 0, sp = 0; - sp = STACKTOP; - HEAP32[3613] = 1; - return; -} -function _SetMousePosition($0) { - $0 = $0|0; - var $1 = 0, $10 = 0, $11 = 0, $12 = 0.0, $13 = 0.0, $14 = 0, $15 = 0.0, $16 = 0.0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = $0; - $2 = $1; - $3 = HEAP32[$2>>2]|0; - $4 = (($1) + 4)|0; - $5 = $4; - $6 = HEAP32[$5>>2]|0; - $7 = 13872; - $8 = $7; - HEAP32[$8>>2] = $3; - $9 = (($7) + 4)|0; - $10 = $9; - HEAP32[$10>>2] = $6; - $11 = HEAP32[3614]|0; - $12 = +HEAPF32[$0>>2]; - $13 = $12; - $14 = ((($0)) + 4|0); - $15 = +HEAPF32[$14>>2]; - $16 = $15; - _glfwSetCursorPos(($11|0),(+$13),(+$16)); - return; -} -function _ShowCursor() { - var label = 0, sp = 0; - sp = STACKTOP; - HEAP32[3613] = 0; - return; -} function _GetKeyStatus($0) { $0 = $0|0; var $1 = 0, $2 = 0, label = 0, sp = 0; sp = STACKTOP; - $1 = HEAP32[3614]|0; + $1 = HEAP32[3631]|0; $2 = (_glfwGetKey(($1|0),($0|0))|0); return ($2|0); } @@ -9625,7 +9512,7 @@ function _GetMouseButtonStatus($0) { $0 = $0|0; var $1 = 0, $2 = 0, label = 0, sp = 0; sp = STACKTOP; - $1 = HEAP32[3614]|0; + $1 = HEAP32[3631]|0; $2 = (_glfwGetMouseButton(($1|0),($0|0))|0); return ($2|0); } @@ -9638,7 +9525,7 @@ function _InitWindow($0,$1,$2) { STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); $vararg_buffer = sp; _TraceLog(0,3578,$vararg_buffer); - HEAP32[3618] = $2; + HEAP32[3633] = $2; _InitGraphicsDevice($0,$1); _LoadDefaultFont(); _InitTimer(); @@ -9651,15 +9538,15 @@ function _InitWindow($0,$1,$2) { (_emscripten_set_touchcancel_callback((3607|0),(0|0),1,(6|0))|0); (_emscripten_set_gamepadconnected_callback((0|0),1,(7|0))|0); (_emscripten_set_gamepaddisconnected_callback((0|0),1,(7|0))|0); - $3 = HEAP32[3616]|0; + $3 = HEAP32[3634]|0; $4 = (+($3|0)); $5 = $4 * 0.5; - HEAPF32[3468] = $5; - $6 = HEAP32[3615]|0; + HEAPF32[3484] = $5; + $6 = HEAP32[3635]|0; $7 = (+($6|0)); $8 = $7 * 0.5; - HEAPF32[(13876)>>2] = $8; - $9 = HEAP32[3619]|0; + HEAPF32[(13940)>>2] = $8; + $9 = HEAP32[3636]|0; $10 = ($9|0)==(0); if ($10) { STACKTOP = sp;return; @@ -9678,11 +9565,11 @@ function _TraceLog($0,$1,$varargs) { $2 = sp; switch ($0|0) { case 0: { - ;HEAP8[13912>>0]=HEAP8[8136>>0]|0;HEAP8[13912+1>>0]=HEAP8[8136+1>>0]|0;HEAP8[13912+2>>0]=HEAP8[8136+2>>0]|0;HEAP8[13912+3>>0]=HEAP8[8136+3>>0]|0;HEAP8[13912+4>>0]=HEAP8[8136+4>>0]|0;HEAP8[13912+5>>0]=HEAP8[8136+5>>0]|0;HEAP8[13912+6>>0]=HEAP8[8136+6>>0]|0; + ;HEAP8[13976>>0]=HEAP8[8201>>0]|0;HEAP8[13976+1>>0]=HEAP8[8201+1>>0]|0;HEAP8[13976+2>>0]=HEAP8[8201+2>>0]|0;HEAP8[13976+3>>0]=HEAP8[8201+3>>0]|0;HEAP8[13976+4>>0]=HEAP8[8201+4>>0]|0;HEAP8[13976+5>>0]=HEAP8[8201+5>>0]|0;HEAP8[13976+6>>0]=HEAP8[8201+6>>0]|0; break; } - case 1: { - $3 = 13912; + case 2: { + $3 = 13976; $4 = $3; HEAP32[$4>>2] = 1330795077; $5 = (($3) + 4)|0; @@ -9690,12 +9577,12 @@ function _TraceLog($0,$1,$varargs) { HEAP32[$6>>2] = 2112082; break; } - case 2: { - dest=13912; src=8143; stop=dest+10|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); + case 1: { + dest=13976; src=8208; stop=dest+10|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); break; } case 3: { - $7 = 13912; + $7 = 13976; $8 = $7; HEAP32[$8>>2] = 1430406468; $9 = (($7) + 4)|0; @@ -9706,17 +9593,17 @@ function _TraceLog($0,$1,$varargs) { default: { } } - (_strcat(13912,$1)|0); - $strlen = (_strlen(13912)|0); - $endptr = (13912 + ($strlen)|0); + (_strcat(13976,$1)|0); + $strlen = (_strlen(13976)|0); + $endptr = (13976 + ($strlen)|0); HEAP8[$endptr>>0]=10&255;HEAP8[$endptr+1>>0]=10>>8; HEAP32[$2>>2] = $varargs; $11 = ($0|0)==(3); if ($11) { STACKTOP = sp;return; } - (_vprintf(13912,$2)|0); - $12 = ($0|0)==(1); + (_vprintf(13976,$2)|0); + $12 = ($0|0)==(2); if ($12) { _exit(1); // unreachable; @@ -9747,22 +9634,22 @@ function _InitGraphicsDevice($0,$1) { $vararg_buffer = sp; $2 = sp + 72|0; $3 = sp + 140|0; - HEAP32[3616] = $0; - HEAP32[3615] = $1; + HEAP32[3634] = $0; + HEAP32[3635] = $1; _MatrixIdentity($2); - dest=14552; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=14624; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); (_glfwSetErrorCallback((1|0))|0); $4 = (_glfwInit()|0); $5 = ($4|0)==(0); if ($5) { - _TraceLog(1,4278,$vararg_buffer); + _TraceLog(2,4325,$vararg_buffer); } - $6 = HEAP32[3616]|0; - HEAP32[3654] = $6; - $7 = HEAP32[3615]|0; - HEAP32[3655] = $7; + $6 = HEAP32[3634]|0; + HEAP32[3672] = $6; + $7 = HEAP32[3635]|0; + HEAP32[3673] = $7; _glfwDefaultWindowHints(); - $8 = HEAP8[17348]|0; + $8 = HEAP8[17420]|0; $9 = $8 & 4; $10 = ($9<<24>>24)==(0); if ($10) { @@ -9770,18 +9657,18 @@ function _InitGraphicsDevice($0,$1) { } else { _glfwWindowHint(131075,1); } - $11 = HEAP8[17348]|0; + $11 = HEAP8[17420]|0; $12 = $11 & 8; $13 = ($12<<24>>24)==(0); if (!($13)) { _glfwWindowHint(131077,1); } - $14 = HEAP8[17348]|0; + $14 = HEAP8[17420]|0; $15 = $14 & 32; $16 = ($15<<24>>24)==(0); if (!($16)) { _glfwWindowHint(135181,4); - _TraceLog(0,4304,$vararg_buffer1); + _TraceLog(0,4351,$vararg_buffer1); } $17 = (_rlGetVersion()|0); $18 = ($17|0)==(2); @@ -9798,18 +9685,18 @@ function _InitGraphicsDevice($0,$1) { _glfwWindowHint(139270,0); } } - $21 = HEAP32[3656]|0; + $21 = HEAP32[3674]|0; $22 = ($21|0)==(0); if ($22) { - $47 = HEAP32[3616]|0; - $48 = HEAP32[3615]|0; - $49 = HEAP32[3618]|0; + $47 = HEAP32[3634]|0; + $48 = HEAP32[3635]|0; + $49 = HEAP32[3633]|0; $50 = (_glfwCreateWindow(($47|0),($48|0),($49|0),(0|0),(0|0))|0); - HEAP32[3614] = $50; - $51 = HEAP32[3616]|0; - HEAP32[3657] = $51; - $52 = HEAP32[3615]|0; - HEAP32[3658] = $52; + HEAP32[3631] = $50; + $51 = HEAP32[3634]|0; + HEAP32[3675] = $51; + $52 = HEAP32[3635]|0; + HEAP32[3676] = $52; $54 = $50; } else { $23 = (_glfwGetPrimaryMonitor()|0); @@ -9818,9 +9705,9 @@ function _InitGraphicsDevice($0,$1) { $26 = ($25|0)>(0); L22: do { if ($26) { - $27 = HEAP32[3616]|0; + $27 = HEAP32[3634]|0; $28 = HEAP32[$$byval_copy>>2]|0; - $29 = HEAP32[3615]|0; + $29 = HEAP32[3635]|0; $$015 = 0; while(1) { $30 = (($24) + (($$015*24)|0)|0); @@ -9842,87 +9729,87 @@ function _InitGraphicsDevice($0,$1) { break L22; } } - HEAP32[3654] = $31; - HEAP32[3655] = $34; + HEAP32[3672] = $31; + HEAP32[3673] = $34; } } while(0); - $38 = HEAP32[3654]|0; - $39 = HEAP32[3655]|0; + $38 = HEAP32[3672]|0; + $39 = HEAP32[3673]|0; HEAP32[$vararg_buffer3>>2] = $38; $vararg_ptr5 = ((($vararg_buffer3)) + 4|0); HEAP32[$vararg_ptr5>>2] = $39; - _TraceLog(2,4329,$vararg_buffer3); - $40 = HEAP32[3654]|0; - $41 = HEAP32[3655]|0; + _TraceLog(1,4376,$vararg_buffer3); + $40 = HEAP32[3672]|0; + $41 = HEAP32[3673]|0; _SetupFramebufferSize($40,$41); - $42 = HEAP32[3654]|0; - $43 = HEAP32[3655]|0; - $44 = HEAP32[3618]|0; + $42 = HEAP32[3672]|0; + $43 = HEAP32[3673]|0; + $44 = HEAP32[3633]|0; $45 = (_glfwGetPrimaryMonitor()|0); $46 = (_glfwCreateWindow(($42|0),($43|0),($44|0),($45|0),(0|0))|0); - HEAP32[3614] = $46; + HEAP32[3631] = $46; $54 = $46; } $53 = ($54|0)==(0|0); if ($53) { _glfwTerminate(); - _TraceLog(1,4367,$vararg_buffer6); + _TraceLog(2,4414,$vararg_buffer6); } else { - _TraceLog(0,4400,$vararg_buffer8); - $55 = HEAP32[3657]|0; - $56 = HEAP32[3658]|0; + _TraceLog(0,4447,$vararg_buffer8); + $55 = HEAP32[3675]|0; + $56 = HEAP32[3676]|0; HEAP32[$vararg_buffer10>>2] = $55; $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); HEAP32[$vararg_ptr13>>2] = $56; - _TraceLog(0,4440,$vararg_buffer10); - $57 = HEAP32[3616]|0; - $58 = HEAP32[3615]|0; + _TraceLog(0,4487,$vararg_buffer10); + $57 = HEAP32[3634]|0; + $58 = HEAP32[3635]|0; HEAP32[$vararg_buffer14>>2] = $57; $vararg_ptr17 = ((($vararg_buffer14)) + 4|0); HEAP32[$vararg_ptr17>>2] = $58; - _TraceLog(0,4461,$vararg_buffer14); - $59 = HEAP32[3659]|0; - $60 = HEAP32[3660]|0; + _TraceLog(0,4508,$vararg_buffer14); + $59 = HEAP32[3677]|0; + $60 = HEAP32[3678]|0; HEAP32[$vararg_buffer18>>2] = $59; $vararg_ptr21 = ((($vararg_buffer18)) + 4|0); HEAP32[$vararg_ptr21>>2] = $60; - _TraceLog(0,4482,$vararg_buffer18); + _TraceLog(0,4529,$vararg_buffer18); } - $61 = HEAP32[3614]|0; + $61 = HEAP32[3631]|0; (_glfwSetWindowSizeCallback(($61|0),(1|0))|0); - $62 = HEAP32[3614]|0; + $62 = HEAP32[3631]|0; (_glfwSetCursorEnterCallback(($62|0),(2|0))|0); - $63 = HEAP32[3614]|0; + $63 = HEAP32[3631]|0; (_glfwSetKeyCallback(($63|0),(1|0))|0); - $64 = HEAP32[3614]|0; + $64 = HEAP32[3631]|0; (_glfwSetMouseButtonCallback(($64|0),(1|0))|0); - $65 = HEAP32[3614]|0; + $65 = HEAP32[3631]|0; (_glfwSetCursorPosCallback(($65|0),(1|0))|0); - $66 = HEAP32[3614]|0; + $66 = HEAP32[3631]|0; (_glfwSetCharCallback(($66|0),(3|0))|0); - $67 = HEAP32[3614]|0; + $67 = HEAP32[3631]|0; (_glfwSetScrollCallback(($67|0),(2|0))|0); - $68 = HEAP32[3614]|0; + $68 = HEAP32[3631]|0; (_glfwSetWindowIconifyCallback(($68|0),(4|0))|0); - $69 = HEAP32[3614]|0; + $69 = HEAP32[3631]|0; _glfwMakeContextCurrent(($69|0)); _glfwSwapInterval(0); - $70 = HEAP8[17348]|0; + $70 = HEAP8[17420]|0; $71 = $70 & 64; $72 = ($71<<24>>24)==(0); if ($72) { - $73 = HEAP32[3616]|0; - $74 = HEAP32[3615]|0; + $73 = HEAP32[3634]|0; + $74 = HEAP32[3635]|0; _rlglInit($73,$74); _SetupViewport(); _rlMatrixMode(5889); _rlLoadIdentity(); - $75 = HEAP32[3657]|0; - $76 = HEAP32[3659]|0; + $75 = HEAP32[3675]|0; + $76 = HEAP32[3677]|0; $77 = (($75) - ($76))|0; $78 = (+($77|0)); - $79 = HEAP32[3658]|0; - $80 = HEAP32[3660]|0; + $79 = HEAP32[3676]|0; + $80 = HEAP32[3678]|0; $81 = (($79) - ($80))|0; $82 = (+($81|0)); _rlOrtho(0.0,$78,$82,0.0,0.0,1.0); @@ -9940,19 +9827,19 @@ function _InitGraphicsDevice($0,$1) { STACKTOP = sp;return; } _glfwSwapInterval(1); - _TraceLog(0,4507,$vararg_buffer22); - $73 = HEAP32[3616]|0; - $74 = HEAP32[3615]|0; + _TraceLog(0,4554,$vararg_buffer22); + $73 = HEAP32[3634]|0; + $74 = HEAP32[3635]|0; _rlglInit($73,$74); _SetupViewport(); _rlMatrixMode(5889); _rlLoadIdentity(); - $75 = HEAP32[3657]|0; - $76 = HEAP32[3659]|0; + $75 = HEAP32[3675]|0; + $76 = HEAP32[3677]|0; $77 = (($75) - ($76))|0; $78 = (+($77|0)); - $79 = HEAP32[3658]|0; - $80 = HEAP32[3660]|0; + $79 = HEAP32[3676]|0; + $80 = HEAP32[3678]|0; $81 = (($79) - ($80))|0; $82 = (+($81|0)); _rlOrtho(0.0,$78,$82,0.0,0.0,1.0); @@ -9980,7 +9867,7 @@ function _LoadDefaultFont() { $vararg_buffer = sp; $0 = sp + 4|0; $1 = sp + 24|0; - HEAP32[(14520)>>2] = 224; + HEAP32[(14588)>>2] = 224; $2 = (_malloc(65536)|0); _memset(($2|0),0,65536)|0; $$095104 = 0;$$096103 = 0; @@ -10021,27 +9908,27 @@ function _LoadDefaultFont() { _free($2); ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; _LoadTextureFromImage($1,$$byval_copy1); - ;HEAP32[14496>>2]=HEAP32[$1>>2]|0;HEAP32[14496+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[14496+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[14496+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[14496+16>>2]=HEAP32[$1+16>>2]|0; + ;HEAP32[14564>>2]=HEAP32[$1>>2]|0;HEAP32[14564+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[14564+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[14564+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[14564+16>>2]=HEAP32[$1+16>>2]|0; ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; _UnloadImage($$byval_copy1); - $5 = HEAP32[(14520)>>2]|0; + $5 = HEAP32[(14588)>>2]|0; $6 = $5 << 5; $7 = (_malloc($6)|0); - HEAP32[(14524)>>2] = $7; + HEAP32[(14592)>>2] = $7; $8 = ($5|0)>(0); if (!($8)) { $$lcssa = $7; $22 = ((($$lcssa)) + 16|0); $23 = HEAP32[$22>>2]|0; - HEAP32[(14516)>>2] = $23; - $24 = HEAP32[3624]|0; + HEAP32[(14584)>>2] = $23; + $24 = HEAP32[3641]|0; HEAP32[$vararg_buffer>>2] = $24; _TraceLog(0,3802,$vararg_buffer); STACKTOP = sp;return; } - $9 = HEAP32[(14500)>>2]|0; - $10 = HEAP32[(14520)>>2]|0; - $11 = HEAP32[(14524)>>2]|0; + $9 = HEAP32[(14568)>>2]|0; + $10 = HEAP32[(14588)>>2]|0; + $11 = HEAP32[(14592)>>2]|0; $$0101 = 0;$$090100 = 1;$$09299 = 0;$27 = $7; while(1) { $25 = (($$0101) + 32)|0; @@ -10090,8 +9977,8 @@ function _LoadDefaultFont() { } $22 = ((($$lcssa)) + 16|0); $23 = HEAP32[$22>>2]|0; - HEAP32[(14516)>>2] = $23; - $24 = HEAP32[3624]|0; + HEAP32[(14584)>>2] = $23; + $24 = HEAP32[3641]|0; HEAP32[$vararg_buffer>>2] = $24; _TraceLog(0,3802,$vararg_buffer); STACKTOP = sp;return; @@ -10102,7 +9989,7 @@ function _InitTimer() { $0 = (_time((0|0))|0); _srand($0); $1 = (+_GetTime()); - HEAPF64[1738] = $1; + HEAPF64[1746] = $1; return; } function _EmscriptenFullscreenChangeCallback($0,$1,$2) { @@ -10170,23 +10057,27 @@ function _EmscriptenMouseCallback($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; - var $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 272|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(272|0); $3 = sp; $4 = ($0|0)==(4); - if (!($4)) { + $5 = HEAP32[3628]|0; + $6 = ($5|0)!=(0); + $or$cond = $4 & $6; + if (!($or$cond)) { STACKTOP = sp;return 0; } (_emscripten_get_pointerlock_status(($3|0))|0); - $5 = HEAP32[$3>>2]|0; - $6 = ($5|0)==(0); - if ($6) { + $7 = HEAP32[$3>>2]|0; + $8 = ($7|0)==(0); + if ($8) { (_emscripten_request_pointerlock((0|0),1)|0); } else { (_emscripten_exit_pointerlock()|0); (_emscripten_get_pointerlock_status(($3|0))|0); } + HEAP32[3628] = 0; STACKTOP = sp;return 0; } function _EmscriptenTouchCallback($0,$1,$2) { @@ -10261,7 +10152,7 @@ function _EmscriptenTouchCallback($0,$1,$2) { $28 = (($25) + 4)|0; $29 = $28; $30 = HEAP32[$29>>2]|0; - $31 = 13888; + $31 = 13952; $32 = $31; HEAP32[$32>>2] = $27; $33 = (($31) + 4)|0; @@ -10274,7 +10165,7 @@ function _EmscriptenTouchCallback($0,$1,$2) { $39 = (($36) + 4)|0; $40 = $39; $41 = HEAP32[$40>>2]|0; - $42 = (13896); + $42 = (13960); $43 = $42; HEAP32[$43>>2] = $38; $44 = (($42) + 4)|0; @@ -10330,7 +10221,7 @@ function _EmscriptenGamepadCallback($0,$1,$2) { } $9 = ((($1)) + 1300|0); $10 = HEAP32[$9>>2]|0; - $11 = (14480 + ($10<<2)|0); + $11 = (14548 + ($10<<2)|0); HEAP32[$11>>2] = $$sink; return 0; } @@ -10344,7 +10235,7 @@ function _SetTargetFPS($0) { $2 = (+($0|0)); $3 = 1.0 / $2; $$ = $1 ? 0.0 : $3; - HEAPF64[1735] = $$; + HEAPF64[1743] = $$; $4 = $3; $$op = $4 * 1000.0; $5 = $$op; @@ -10356,9 +10247,21 @@ function _SetTargetFPS($0) { function _LogoAnimation() { var label = 0, sp = 0; sp = STACKTOP; - HEAP32[3619] = 0; + HEAP32[3636] = 0; return; } +function _GetScreenWidth() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[3634]|0; + return ($0|0); +} +function _GetScreenHeight() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[3635]|0; + return ($0|0); +} function _GetTime() { var $0 = 0.0, label = 0, sp = 0; sp = STACKTOP; @@ -10451,11 +10354,11 @@ function _ImageFormat($0,$1) { if ($4) { STACKTOP = sp;return; } - $5 = ($3|0)<(8); - $6 = ($1|0)<(8); + $5 = ($3|0)<(9); + $6 = ($1|0)<(9); $or$cond = $6 & $5; if (!($or$cond)) { - _TraceLog(2,4178,$vararg_buffer); + _TraceLog(1,4225,$vararg_buffer); STACKTOP = sp;return; } ;HEAP32[$$byval_copy>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$0+16>>2]|0; @@ -10876,8 +10779,11 @@ function _ImageFormat($0,$1) { function _LoadTextureFromImage($0,$1) { $0 = $0|0; $1 = $1|0; - var $$sroa$11$0$$sroa_idx8 = 0, $$sroa$5$0$$sroa_idx2 = 0, $$sroa$7$0$$sroa_idx4 = 0, $$sroa$9$0$$sroa_idx6 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + var $$sroa$10$0$$sroa_idx6 = 0, $$sroa$12$0$$sroa_idx8 = 0, $$sroa$6$0$$sroa_idx2 = 0, $$sroa$8$0$$sroa_idx4 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0; + var $vararg_ptr4 = 0, label = 0, sp = 0; sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $vararg_buffer = sp; $2 = HEAP32[$1>>2]|0; $3 = ((($1)) + 4|0); $4 = HEAP32[$3>>2]|0; @@ -10890,16 +10796,26 @@ function _LoadTextureFromImage($0,$1) { $11 = (_rlglLoadTexture($2,$4,$6,$8,$10)|0); $12 = HEAP32[$3>>2]|0; $13 = HEAP32[$5>>2]|0; + HEAP32[$vararg_buffer>>2] = $11; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $12; + $vararg_ptr2 = ((($vararg_buffer)) + 8|0); + HEAP32[$vararg_ptr2>>2] = $13; + $vararg_ptr3 = ((($vararg_buffer)) + 12|0); + HEAP32[$vararg_ptr3>>2] = $10; + $vararg_ptr4 = ((($vararg_buffer)) + 16|0); + HEAP32[$vararg_ptr4>>2] = $8; + _TraceLog(0,3847,$vararg_buffer); HEAP32[$0>>2] = $11; - $$sroa$5$0$$sroa_idx2 = ((($0)) + 4|0); - HEAP32[$$sroa$5$0$$sroa_idx2>>2] = $12; - $$sroa$7$0$$sroa_idx4 = ((($0)) + 8|0); - HEAP32[$$sroa$7$0$$sroa_idx4>>2] = $13; - $$sroa$9$0$$sroa_idx6 = ((($0)) + 12|0); - HEAP32[$$sroa$9$0$$sroa_idx6>>2] = $10; - $$sroa$11$0$$sroa_idx8 = ((($0)) + 16|0); - HEAP32[$$sroa$11$0$$sroa_idx8>>2] = $8; - return; + $$sroa$6$0$$sroa_idx2 = ((($0)) + 4|0); + HEAP32[$$sroa$6$0$$sroa_idx2>>2] = $12; + $$sroa$8$0$$sroa_idx4 = ((($0)) + 8|0); + HEAP32[$$sroa$8$0$$sroa_idx4>>2] = $13; + $$sroa$10$0$$sroa_idx6 = ((($0)) + 12|0); + HEAP32[$$sroa$10$0$$sroa_idx6>>2] = $10; + $$sroa$12$0$$sroa_idx8 = ((($0)) + 16|0); + HEAP32[$$sroa$12$0$$sroa_idx8>>2] = $8; + STACKTOP = sp;return; } function _UnloadImage($0) { $0 = $0|0; @@ -10915,9 +10831,9 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $2 = $2|0; $3 = $3|0; $4 = $4|0; - var $$0 = 0, $$off = 0, $$off92 = 0, $$off93 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; - var $46 = 0, $47 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond100 = 0, $or$cond7 = 0, $or$cond96 = 0, $or$cond98 = 0, $switch = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer11 = 0, $vararg_buffer15 = 0, $vararg_buffer3 = 0, $vararg_buffer5 = 0, $vararg_buffer7 = 0; + var $$0 = 0, $$off = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; + var $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond101 = 0, $or$cond7 = 0, $or$cond97 = 0, $or$cond99 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer11 = 0, $vararg_buffer15 = 0, $vararg_buffer3 = 0, $vararg_buffer5 = 0, $vararg_buffer7 = 0; var $vararg_buffer9 = 0, $vararg_ptr13 = 0, $vararg_ptr14 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0); @@ -10932,58 +10848,56 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $5 = sp + 68|0; _glBindTexture(3553,0); HEAP32[$5>>2] = 0; - $6 = HEAP32[3632]|0; + $6 = HEAP32[3649]|0; $7 = ($6|0)==(0); - $8 = $3 & -4; - $switch = ($8|0)==(8); - $or$cond100 = $switch & $7; - if ($or$cond100) { - _TraceLog(2,3847,$vararg_buffer); + $$off = (($3) + -9)|0; + $8 = ($$off>>>0)<(4); + $or$cond = $8 & $7; + if ($or$cond) { + _TraceLog(1,3894,$vararg_buffer); $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $9 = HEAP32[3633]|0; + $9 = HEAP32[3650]|0; $10 = ($9|0)==(0); - $11 = ($3|0)==(12); + $11 = ($3|0)==(13); $or$cond7 = $11 & $10; if ($or$cond7) { - _TraceLog(2,3891,$vararg_buffer1); + _TraceLog(1,3938,$vararg_buffer1); $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $12 = HEAP32[3634]|0; + $12 = HEAP32[3651]|0; $13 = ($12|0)==(0); - $$off = (($3) + -13)|0; - $14 = ($$off>>>0)<(2); - $or$cond = $14 & $13; - if ($or$cond) { - _TraceLog(2,3936,$vararg_buffer3); + $14 = $3 | 1; + $15 = ($14|0)==(15); + $or$cond97 = $15 & $13; + if ($or$cond97) { + _TraceLog(1,3983,$vararg_buffer3); $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $15 = HEAP32[3635]|0; - $16 = ($15|0)==(0); - $$off92 = (($3) + -15)|0; - $17 = ($$off92>>>0)<(2); - $or$cond96 = $17 & $16; - if ($or$cond96) { - _TraceLog(2,3981,$vararg_buffer5); + $16 = HEAP32[3652]|0; + $17 = ($16|0)==(0); + $18 = ($14|0)==(17); + $or$cond99 = $18 & $17; + if ($or$cond99) { + _TraceLog(1,4028,$vararg_buffer5); $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $18 = HEAP32[3636]|0; - $19 = ($18|0)==(0); - $$off93 = (($3) + -17)|0; - $20 = ($$off93>>>0)<(2); - $or$cond98 = $20 & $19; - if ($or$cond98) { - _TraceLog(2,4026,$vararg_buffer7); + $19 = HEAP32[3653]|0; + $20 = ($19|0)==(0); + $21 = ($14|0)==(19); + $or$cond101 = $21 & $20; + if ($or$cond101) { + _TraceLog(1,4073,$vararg_buffer7); $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } _glGenTextures(1,($5|0)); - $21 = HEAP32[$5>>2]|0; - _glBindTexture(3553,($21|0)); + $22 = HEAP32[$5>>2]|0; + _glBindTexture(3553,($22|0)); do { switch ($3|0) { case 1: { @@ -11015,101 +10929,109 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 8: { - $22 = HEAP32[3632]|0; - $23 = ($22|0)==(0); - if (!($23)) { - _LoadCompressedTexture($0,$1,$2,$4,33776); + $23 = HEAP32[3654]|0; + $24 = ($23|0)==(0); + if (!($24)) { + _glTexImage2D(3553,0,6407,($1|0),($2|0),0,6407,5126,($0|0)); } break; } case 9: { - $24 = HEAP32[3632]|0; - $25 = ($24|0)==(0); - if (!($25)) { - _LoadCompressedTexture($0,$1,$2,$4,33777); + $25 = HEAP32[3649]|0; + $26 = ($25|0)==(0); + if (!($26)) { + _LoadCompressedTexture($0,$1,$2,$4,33776); } break; } case 10: { - $26 = HEAP32[3632]|0; - $27 = ($26|0)==(0); - if (!($27)) { - _LoadCompressedTexture($0,$1,$2,$4,33778); + $27 = HEAP32[3649]|0; + $28 = ($27|0)==(0); + if (!($28)) { + _LoadCompressedTexture($0,$1,$2,$4,33777); } break; } case 11: { - $28 = HEAP32[3632]|0; - $29 = ($28|0)==(0); - if (!($29)) { - _LoadCompressedTexture($0,$1,$2,$4,33779); + $29 = HEAP32[3649]|0; + $30 = ($29|0)==(0); + if (!($30)) { + _LoadCompressedTexture($0,$1,$2,$4,33778); } break; } case 12: { - $30 = HEAP32[3633]|0; - $31 = ($30|0)==(0); - if (!($31)) { - _LoadCompressedTexture($0,$1,$2,$4,36196); + $31 = HEAP32[3649]|0; + $32 = ($31|0)==(0); + if (!($32)) { + _LoadCompressedTexture($0,$1,$2,$4,33779); } break; } case 13: { - $32 = HEAP32[3634]|0; - $33 = ($32|0)==(0); - if (!($33)) { - _LoadCompressedTexture($0,$1,$2,$4,37492); + $33 = HEAP32[3650]|0; + $34 = ($33|0)==(0); + if (!($34)) { + _LoadCompressedTexture($0,$1,$2,$4,36196); } break; } case 14: { - $34 = HEAP32[3634]|0; - $35 = ($34|0)==(0); - if (!($35)) { - _LoadCompressedTexture($0,$1,$2,$4,37496); + $35 = HEAP32[3651]|0; + $36 = ($35|0)==(0); + if (!($36)) { + _LoadCompressedTexture($0,$1,$2,$4,37492); } break; } case 15: { - $36 = HEAP32[3635]|0; - $37 = ($36|0)==(0); - if (!($37)) { - _LoadCompressedTexture($0,$1,$2,$4,35840); + $37 = HEAP32[3651]|0; + $38 = ($37|0)==(0); + if (!($38)) { + _LoadCompressedTexture($0,$1,$2,$4,37496); } break; } case 16: { - $38 = HEAP32[3635]|0; - $39 = ($38|0)==(0); - if (!($39)) { - _LoadCompressedTexture($0,$1,$2,$4,35842); + $39 = HEAP32[3652]|0; + $40 = ($39|0)==(0); + if (!($40)) { + _LoadCompressedTexture($0,$1,$2,$4,35840); } break; } case 17: { - $40 = HEAP32[3636]|0; - $41 = ($40|0)==(0); - if (!($41)) { - _LoadCompressedTexture($0,$1,$2,$4,37808); + $41 = HEAP32[3652]|0; + $42 = ($41|0)==(0); + if (!($42)) { + _LoadCompressedTexture($0,$1,$2,$4,35842); } break; } case 18: { - $42 = HEAP32[3636]|0; - $43 = ($42|0)==(0); - if (!($43)) { + $43 = HEAP32[3653]|0; + $44 = ($43|0)==(0); + if (!($44)) { + _LoadCompressedTexture($0,$1,$2,$4,37808); + } + break; + } + case 19: { + $45 = HEAP32[3653]|0; + $46 = ($45|0)==(0); + if (!($46)) { _LoadCompressedTexture($0,$1,$2,$4,37815); } break; } default: { - _TraceLog(2,4071,$vararg_buffer9); + _TraceLog(1,4118,$vararg_buffer9); } } } while(0); - $44 = HEAP32[3637]|0; - $45 = ($44|0)==(0); - if ($45) { + $47 = HEAP32[3655]|0; + $48 = ($47|0)==(0); + if ($48) { _glTexParameteri(3553,10242,33071); _glTexParameteri(3553,10243,33071); } else { @@ -11119,19 +11041,19 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { _glTexParameteri(3553,10240,9728); _glTexParameteri(3553,10241,9728); _glBindTexture(3553,0); - $46 = HEAP32[$5>>2]|0; - $47 = ($46|0)==(0); - if ($47) { - _TraceLog(2,4149,$vararg_buffer15); + $49 = HEAP32[$5>>2]|0; + $50 = ($49|0)==(0); + if ($50) { + _TraceLog(1,4196,$vararg_buffer15); $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } else { - HEAP32[$vararg_buffer11>>2] = $46; + HEAP32[$vararg_buffer11>>2] = $49; $vararg_ptr13 = ((($vararg_buffer11)) + 4|0); HEAP32[$vararg_ptr13>>2] = $1; $vararg_ptr14 = ((($vararg_buffer11)) + 8|0); HEAP32[$vararg_ptr14>>2] = $2; - _TraceLog(0,4100,$vararg_buffer11); + _TraceLog(0,4147,$vararg_buffer11); $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } @@ -11405,7 +11327,7 @@ function _GetImageData($0) { break; } default: { - _TraceLog(2,4232,$vararg_buffer); + _TraceLog(1,4279,$vararg_buffer); $$1 = $$0106; } } @@ -11432,7 +11354,7 @@ function _ErrorCallback($0,$1) { HEAP32[$vararg_buffer>>2] = $0; $vararg_ptr1 = ((($vararg_buffer)) + 4|0); HEAP32[$vararg_ptr1>>2] = $1; - _TraceLog(2,8098,$vararg_buffer); + _TraceLog(1,8163,$vararg_buffer); STACKTOP = sp;return; } function _rlGetVersion() { @@ -11453,20 +11375,20 @@ function _SetupFramebufferSize($0,$1) { $vararg_buffer4 = sp + 16|0; $vararg_buffer = sp; $2 = sp + 40|0; - $3 = HEAP32[3616]|0; + $3 = HEAP32[3634]|0; $4 = ($3|0)>($0|0); if (!($4)) { - $5 = HEAP32[3615]|0; + $5 = HEAP32[3635]|0; $6 = ($5|0)>($1|0); if (!($6)) { $30 = ($3|0)<($0|0); $31 = ($5|0)<($1|0); $or$cond = $30 | $31; if (!($or$cond)) { - HEAP32[3657] = $3; - HEAP32[3658] = $5; - HEAP32[3659] = 0; - HEAP32[3660] = 0; + HEAP32[3675] = $3; + HEAP32[3676] = $5; + HEAP32[3677] = 0; + HEAP32[3678] = 0; STACKTOP = sp;return; } HEAP32[$vararg_buffer8>>2] = $3; @@ -11476,13 +11398,13 @@ function _SetupFramebufferSize($0,$1) { HEAP32[$vararg_ptr12>>2] = $0; $vararg_ptr13 = ((($vararg_buffer8)) + 12|0); HEAP32[$vararg_ptr13>>2] = $1; - _TraceLog(0,8032,$vararg_buffer8); + _TraceLog(0,8097,$vararg_buffer8); $32 = (+($0|0)); $33 = (+($1|0)); $34 = $32 / $33; - $35 = HEAP32[3616]|0; + $35 = HEAP32[3634]|0; $36 = (+($35|0)); - $37 = HEAP32[3615]|0; + $37 = HEAP32[3635]|0; $38 = (+($37|0)); $39 = $36 / $38; $40 = !($34 <= $39); @@ -11490,26 +11412,26 @@ function _SetupFramebufferSize($0,$1) { $44 = $34 * $38; $roundf = (+_roundf((+$44))); $45 = (~~(($roundf))); - HEAP32[3657] = $45; - HEAP32[3658] = $37; + HEAP32[3675] = $45; + HEAP32[3676] = $37; $46 = (($45) - ($35))|0; - HEAP32[3659] = $46; + HEAP32[3677] = $46; $$sink1 = 0; } else { - HEAP32[3657] = $35; + HEAP32[3675] = $35; $41 = $36 / $34; $roundf38 = (+_roundf((+$41))); $42 = (~~(($roundf38))); - HEAP32[3658] = $42; - HEAP32[3659] = 0; + HEAP32[3676] = $42; + HEAP32[3677] = 0; $43 = (($42) - ($37))|0; $$sink1 = $43; } - HEAP32[3660] = $$sink1; + HEAP32[3678] = $$sink1; STACKTOP = sp;return; } } - $7 = HEAP32[3615]|0; + $7 = HEAP32[3635]|0; HEAP32[$vararg_buffer>>2] = $3; $vararg_ptr1 = ((($vararg_buffer)) + 4|0); HEAP32[$vararg_ptr1>>2] = $7; @@ -11517,13 +11439,13 @@ function _SetupFramebufferSize($0,$1) { HEAP32[$vararg_ptr2>>2] = $0; $vararg_ptr3 = ((($vararg_buffer)) + 12|0); HEAP32[$vararg_ptr3>>2] = $1; - _TraceLog(2,7889,$vararg_buffer); + _TraceLog(1,7954,$vararg_buffer); $8 = (+($0|0)); - $9 = HEAP32[3616]|0; + $9 = HEAP32[3634]|0; $10 = (+($9|0)); $11 = $8 / $10; $12 = (+($1|0)); - $13 = HEAP32[3615]|0; + $13 = HEAP32[3635]|0; $14 = (+($13|0)); $15 = $12 / $14; $16 = !($11 <= $15); @@ -11531,37 +11453,37 @@ function _SetupFramebufferSize($0,$1) { $22 = $10 * $15; $roundf39 = (+_roundf((+$22))); $23 = (~~(($roundf39))); - HEAP32[3657] = $23; - HEAP32[3658] = $1; + HEAP32[3675] = $23; + HEAP32[3676] = $1; $24 = (($0) - ($23))|0; - HEAP32[3659] = $24; + HEAP32[3677] = $24; $$sink = 0; } else { - HEAP32[3657] = $0; - $17 = HEAP32[3615]|0; + HEAP32[3675] = $0; + $17 = HEAP32[3635]|0; $18 = (+($17|0)); $19 = $11 * $18; $roundf40 = (+_roundf((+$19))); $20 = (~~(($roundf40))); - HEAP32[3658] = $20; - HEAP32[3659] = 0; + HEAP32[3676] = $20; + HEAP32[3677] = 0; $21 = (($1) - ($20))|0; $$sink = $21; } - HEAP32[3660] = $$sink; - $25 = HEAP32[3657]|0; + HEAP32[3678] = $$sink; + $25 = HEAP32[3675]|0; $26 = (+($25|0)); - $27 = HEAP32[3616]|0; + $27 = HEAP32[3634]|0; $28 = (+($27|0)); $29 = $26 / $28; _MatrixScale($2,$29,$29,$29); - dest=14552; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - HEAP32[3657] = $0; - HEAP32[3658] = $1; + dest=14624; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + HEAP32[3675] = $0; + HEAP32[3676] = $1; HEAP32[$vararg_buffer4>>2] = $0; $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); HEAP32[$vararg_ptr7>>2] = $1; - _TraceLog(2,7967,$vararg_buffer4); + _TraceLog(1,8032,$vararg_buffer4); STACKTOP = sp;return; } function _WindowSizeCallback($0,$1,$2) { @@ -11579,10 +11501,10 @@ function _WindowSizeCallback($0,$1,$2) { _rlMatrixMode(5888); _rlLoadIdentity(); _rlClearScreenBuffers(); - HEAP32[3616] = $1; - HEAP32[3615] = $2; - HEAP32[3657] = $1; - HEAP32[3658] = $2; + HEAP32[3634] = $1; + HEAP32[3635] = $2; + HEAP32[3675] = $1; + HEAP32[3676] = $2; return; } function _CursorEnterCallback($0,$1) { @@ -11609,7 +11531,7 @@ function _KeyCallback($0,$1,$2,$3,$4) { return; } $8 = $3&255; - $9 = (17355 + ($1)|0); + $9 = (17427 + ($1)|0); HEAP8[$9>>0] = $8; if (!($7)) { return; @@ -11630,7 +11552,7 @@ function _MouseButtonCallback($0,$1,$2,$3) { $4 = sp + 8|0; $5 = sp; $6 = $2&255; - $7 = (17349 + ($1)|0); + $7 = (17421 + ($1)|0); HEAP8[$7>>0] = $6; $8 = (_IsMouseButtonPressed(0)|0); $9 = ($8|0)==(0); @@ -11709,7 +11631,7 @@ function _MouseCursorPosCallback($0,$1,$2) { $12 = (($9) + 4)|0; $13 = $12; $14 = HEAP32[$13>>2]|0; - $15 = 13888; + $15 = 13952; $16 = $15; HEAP32[$16>>2] = $11; $17 = (($15) + 4)|0; @@ -11744,7 +11666,7 @@ function _ScrollCallback($0,$1,$2) { var $3 = 0, label = 0, sp = 0; sp = STACKTOP; $3 = (~~(($2))); - HEAP32[4030] = $3; + HEAP32[4048] = $3; return; } function _WindowIconifyCallback($0,$1) { @@ -11754,18 +11676,18 @@ function _WindowIconifyCallback($0,$1) { sp = STACKTOP; $2 = ($1|0)!=(0); $$sink = $2&1; - HEAP32[4029] = $$sink; + HEAP32[4047] = $$sink; return; } function _rlglInit($0,$1) { $0 = $0|0; $1 = $1|0; - var $$05965 = 0, $$06066 = 0, $$06167 = 0, $$062 = 0, $$sink63 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; + var $$06066 = 0, $$06167 = 0, $$06268 = 0, $$063 = 0, $$sink64 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0; - var $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0.0, $72 = 0.0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0; - var $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $9 = 0, $exitcond = 0, $exitcond69 = 0, $exitcond70 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer13 = 0, $vararg_buffer15 = 0, $vararg_buffer17 = 0, $vararg_buffer19 = 0; - var $vararg_buffer21 = 0, $vararg_buffer23 = 0, $vararg_buffer25 = 0, $vararg_buffer27 = 0, $vararg_buffer29 = 0, $vararg_buffer31 = 0, $vararg_buffer34 = 0, $vararg_buffer36 = 0, $vararg_buffer39 = 0, $vararg_buffer4 = 0, $vararg_buffer41 = 0, $vararg_buffer7 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + var $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0.0, $73 = 0.0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0; + var $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $9 = 0, $exitcond = 0, $exitcond70 = 0, $exitcond71 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer13 = 0, $vararg_buffer15 = 0, $vararg_buffer17 = 0; + var $vararg_buffer19 = 0, $vararg_buffer21 = 0, $vararg_buffer23 = 0, $vararg_buffer25 = 0, $vararg_buffer27 = 0, $vararg_buffer29 = 0, $vararg_buffer31 = 0, $vararg_buffer34 = 0, $vararg_buffer36 = 0, $vararg_buffer39 = 0, $vararg_buffer4 = 0, $vararg_buffer41 = 0, $vararg_buffer7 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; STACKTOP = STACKTOP + 2464|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(2464|0); $vararg_buffer41 = sp + 2184|0; @@ -11794,275 +11716,279 @@ function _rlglInit($0,$1) { $6 = sp + 2192|0; $7 = (_glGetString(7936)|0); HEAP32[$vararg_buffer>>2] = $7; - _TraceLog(0,4530,$vararg_buffer); + _TraceLog(0,4577,$vararg_buffer); $8 = (_glGetString(7937)|0); HEAP32[$vararg_buffer1>>2] = $8; - _TraceLog(0,4548,$vararg_buffer1); + _TraceLog(0,4595,$vararg_buffer1); $9 = (_glGetString(7938)|0); HEAP32[$vararg_buffer4>>2] = $9; - _TraceLog(0,4566,$vararg_buffer4); + _TraceLog(0,4613,$vararg_buffer4); $10 = (_glGetString(35724)|0); HEAP32[$vararg_buffer7>>2] = $10; - _TraceLog(0,4584,$vararg_buffer7); + _TraceLog(0,4631,$vararg_buffer7); $11 = (_glGetString(7939)|0); $12 = (_strlen($11)|0); $13 = (($12) + 1)|0; $14 = (_malloc($13)|0); _memcpy(($14|0),($11|0),($13|0))|0; - $$062 = 0;$$sink63 = $14; + $$063 = 0;$$sink64 = $14; while(1) { - $15 = (_strtok($$sink63,4602)|0); - $16 = (($vararg_buffer7) + ($$062<<2)|0); + $15 = (_strtok($$sink64,4649)|0); + $16 = (($vararg_buffer7) + ($$063<<2)|0); HEAP32[$16>>2] = $15; $17 = ($15|0)==(0|0); - $18 = (($$062) + 1)|0; + $18 = (($$063) + 1)|0; if ($17) { break; } else { - $$062 = $18;$$sink63 = 0; + $$063 = $18;$$sink64 = 0; } } _free($14); - $19 = (($$062) + -1)|0; + $19 = (($$063) + -1)|0; HEAP32[$vararg_buffer10>>2] = $19; - _TraceLog(0,4604,$vararg_buffer10); - $20 = ($$062|0)>(1); + _TraceLog(0,4651,$vararg_buffer10); + $20 = ($$063|0)>(1); if ($20) { - $$06167 = 0; + $$06268 = 0; while(1) { - $23 = (($vararg_buffer7) + ($$06167<<2)|0); + $23 = (($vararg_buffer7) + ($$06268<<2)|0); $24 = HEAP32[$23>>2]|0; - $25 = (_strcmp($24,4639)|0); + $25 = (_strcmp($24,4686)|0); $26 = ($25|0)==(0); if ($26) { - HEAP32[3695] = 1; - $27 = (_eglGetProcAddress((4666|0))|0); - HEAP32[3696] = $27; - $28 = (_eglGetProcAddress((4687|0))|0); - HEAP32[3697] = $28; - $29 = (_eglGetProcAddress((4708|0))|0); - HEAP32[3698] = $29; + HEAP32[3713] = 1; + $27 = (_eglGetProcAddress((4713|0))|0); + HEAP32[3714] = $27; + $28 = (_eglGetProcAddress((4734|0))|0); + HEAP32[3715] = $28; + $29 = (_eglGetProcAddress((4755|0))|0); + HEAP32[3716] = $29; } - $30 = (_strcmp($24,4732)|0); + $30 = (_strcmp($24,4779)|0); $31 = ($30|0)==(0); if ($31) { - HEAP32[3637] = 1; + HEAP32[3655] = 1; } - $32 = (_strcmp($24,4752)|0); + $32 = (_strcmp($24,4799)|0); $33 = ($32|0)==(0); if ($33) { - label = 12; + HEAP32[3654] = 1; + } + $34 = (_strcmp($24,4817)|0); + $35 = ($34|0)==(0); + if ($35) { + label = 14; } else { - $34 = HEAP32[$23>>2]|0; - $35 = (_strcmp($34,4784)|0); - $36 = ($35|0)==(0); - if ($36) { - label = 12; + $36 = HEAP32[$23>>2]|0; + $37 = (_strcmp($36,4849)|0); + $38 = ($37|0)==(0); + if ($38) { + label = 14; } else { - $37 = (_strcmp($34,4817)|0); - $38 = ($37|0)==(0); - if ($38) { - label = 12; + $39 = (_strcmp($36,4882)|0); + $40 = ($39|0)==(0); + if ($40) { + label = 14; } } } - if ((label|0) == 12) { + if ((label|0) == 14) { label = 0; - HEAP32[3632] = 1; + HEAP32[3649] = 1; } - $39 = (_strcmp($24,4857)|0); - $40 = ($39|0)==(0); - if ($40) { - label = 15; + $41 = HEAP32[$23>>2]|0; + $42 = (_strcmp($41,4922)|0); + $43 = ($42|0)==(0); + if ($43) { + label = 17; } else { - $41 = HEAP32[$23>>2]|0; - $42 = (_strcmp($41,4893)|0); - $43 = ($42|0)==(0); - if ($43) { - label = 15; + $44 = (_strcmp($41,4958)|0); + $45 = ($44|0)==(0); + if ($45) { + label = 17; } } - if ((label|0) == 15) { + if ((label|0) == 17) { label = 0; - HEAP32[3633] = 1; + HEAP32[3650] = 1; } - $44 = HEAP32[$23>>2]|0; - $45 = (_strcmp($44,4926)|0); - $46 = ($45|0)==(0); - if ($46) { - HEAP32[3634] = 1; + $46 = (_strcmp($41,4991)|0); + $47 = ($46|0)==(0); + if ($47) { + HEAP32[3651] = 1; } - $47 = (_strcmp($44,4951)|0); - $48 = ($47|0)==(0); - if ($48) { - HEAP32[3635] = 1; - } - $49 = (_strcmp($44,4984)|0); + $48 = HEAP32[$23>>2]|0; + $49 = (_strcmp($48,5016)|0); $50 = ($49|0)==(0); if ($50) { - HEAP32[3636] = 1; + HEAP32[3652] = 1; } - $51 = (_strcmp($44,5020)|0); + $51 = (_strcmp($48,5049)|0); $52 = ($51|0)==(0); if ($52) { - HEAP32[3699] = 1; - _glGetFloatv(34047,(14800|0)); + HEAP32[3653] = 1; } - $53 = HEAP32[$23>>2]|0; - $54 = (_strcmp($53,5054)|0); - $55 = ($54|0)==(0); - if ($55) { - HEAP32[3701] = 1; + $53 = (_strcmp($48,5085)|0); + $54 = ($53|0)==(0); + if ($54) { + HEAP32[3717] = 1; + _glGetFloatv(34047,(14872|0)); } - $56 = (($$06167) + 1)|0; - $exitcond70 = ($56|0)==($19|0); - if ($exitcond70) { + $55 = (_strcmp($48,5119)|0); + $56 = ($55|0)==(0); + if ($56) { + HEAP32[3719] = 1; + } + $57 = (($$06268) + 1)|0; + $exitcond71 = ($57|0)==($19|0); + if ($exitcond71) { break; } else { - $$06167 = $56; + $$06268 = $57; } } } - $21 = HEAP32[3695]|0; + $21 = HEAP32[3713]|0; $22 = ($21|0)==(0); if ($22) { - _TraceLog(2,5157,$vararg_buffer15); + _TraceLog(1,5222,$vararg_buffer15); } else { - _TraceLog(0,5082,$vararg_buffer13); + _TraceLog(0,5147,$vararg_buffer13); } - $57 = HEAP32[3637]|0; - $58 = ($57|0)==(0); - if ($58) { - _TraceLog(2,5293,$vararg_buffer19); + $58 = HEAP32[3655]|0; + $59 = ($58|0)==(0); + if ($59) { + _TraceLog(1,5358,$vararg_buffer19); } else { - _TraceLog(0,5218,$vararg_buffer17); + _TraceLog(0,5283,$vararg_buffer17); } - $59 = HEAP32[3632]|0; - $60 = ($59|0)==(0); - if (!($60)) { - _TraceLog(0,5385,$vararg_buffer21); + $60 = HEAP32[3649]|0; + $61 = ($60|0)==(0); + if (!($61)) { + _TraceLog(0,5450,$vararg_buffer21); } - $61 = HEAP32[3633]|0; - $62 = ($61|0)==(0); - if (!($62)) { - _TraceLog(0,5431,$vararg_buffer23); + $62 = HEAP32[3650]|0; + $63 = ($62|0)==(0); + if (!($63)) { + _TraceLog(0,5496,$vararg_buffer23); } - $63 = HEAP32[3634]|0; - $64 = ($63|0)==(0); - if (!($64)) { - _TraceLog(0,5478,$vararg_buffer25); + $64 = HEAP32[3651]|0; + $65 = ($64|0)==(0); + if (!($65)) { + _TraceLog(0,5543,$vararg_buffer25); } - $65 = HEAP32[3635]|0; - $66 = ($65|0)==(0); - if (!($66)) { - _TraceLog(0,5529,$vararg_buffer27); + $66 = HEAP32[3652]|0; + $67 = ($66|0)==(0); + if (!($67)) { + _TraceLog(0,5594,$vararg_buffer27); } - $67 = HEAP32[3636]|0; - $68 = ($67|0)==(0); - if (!($68)) { - _TraceLog(0,5576,$vararg_buffer29); + $68 = HEAP32[3653]|0; + $69 = ($68|0)==(0); + if (!($69)) { + _TraceLog(0,5641,$vararg_buffer29); } - $69 = HEAP32[3699]|0; - $70 = ($69|0)==(0); - if (!($70)) { - $71 = +HEAPF32[3700]; - $72 = $71; - HEAPF64[$vararg_buffer31>>3] = $72; - _TraceLog(0,5623,$vararg_buffer31); + $70 = HEAP32[3717]|0; + $71 = ($70|0)==(0); + if (!($71)) { + $72 = +HEAPF32[3718]; + $73 = $72; + HEAPF64[$vararg_buffer31>>3] = $73; + _TraceLog(0,5688,$vararg_buffer31); } - $73 = HEAP32[3701]|0; - $74 = ($73|0)==(0); - if (!($74)) { - _TraceLog(0,5689,$vararg_buffer34); + $74 = HEAP32[3719]|0; + $75 = ($74|0)==(0); + if (!($75)) { + _TraceLog(0,5754,$vararg_buffer34); } HEAP32[$vararg_buffer10>>2] = -1; - $75 = (_rlglLoadTexture($vararg_buffer10,1,1,7,1)|0); - HEAP32[3702] = $75; - $76 = ($75|0)==(0); - if ($76) { - _TraceLog(2,5793,$vararg_buffer39); + $76 = (_rlglLoadTexture($vararg_buffer10,1,1,7,1)|0); + HEAP32[3720] = $76; + $77 = ($76|0)==(0); + if ($77) { + _TraceLog(1,5858,$vararg_buffer39); } else { - HEAP32[$vararg_buffer36>>2] = $75; - _TraceLog(0,5742,$vararg_buffer36); + HEAP32[$vararg_buffer36>>2] = $76; + _TraceLog(0,5807,$vararg_buffer36); } _LoadDefaultShader($2); - dest=14812; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=14868; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=14884; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=14940; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _LoadDefaultBuffers(); - $77 = (_malloc(49152)|0); - HEAP32[3731] = $77; - $$06066 = 0; + $78 = (_malloc(49152)|0); + HEAP32[3749] = $78; + $$06167 = 0; while(1) { - $79 = HEAP32[3731]|0; - $80 = (($79) + (($$06066*12)|0)|0); + $80 = HEAP32[3749]|0; + $81 = (($80) + (($$06167*12)|0)|0); _VectorZero($3); - ;HEAP32[$80>>2]=HEAP32[$3>>2]|0;HEAP32[$80+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$80+8>>2]=HEAP32[$3+8>>2]|0; - $81 = (($$06066) + 1)|0; - $exitcond69 = ($81|0)==(4096); - if ($exitcond69) { + ;HEAP32[$81>>2]=HEAP32[$3>>2]|0;HEAP32[$81+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$81+8>>2]=HEAP32[$3+8>>2]|0; + $82 = (($$06167) + 1)|0; + $exitcond70 = ($82|0)==(4096); + if ($exitcond70) { break; } else { - $$06066 = $81; + $$06167 = $82; } } - $78 = (_malloc(36864)|0); - HEAP32[3732] = $78; - $$05965 = 0; + $79 = (_malloc(36864)|0); + HEAP32[3750] = $79; + $$06066 = 0; while(1) { - $82 = (((($78) + (($$05965*144)|0)|0)) + 8|0); - HEAP32[$82>>2] = 0; - $83 = (($78) + (($$05965*144)|0)|0); + $83 = (((($79) + (($$06066*144)|0)|0)) + 8|0); HEAP32[$83>>2] = 0; - $84 = (($$05965) + 1)|0; - $exitcond = ($84|0)==(256); + $84 = (($79) + (($$06066*144)|0)|0); + HEAP32[$84>>2] = 0; + $85 = (($$06066) + 1)|0; + $exitcond = ($85|0)==(256); if ($exitcond) { break; } else { - $$05965 = $84; + $$06066 = $85; } } - HEAP32[3733] = 1; - $85 = HEAP32[3702]|0; - $86 = ((($78)) + 8|0); - HEAP32[$86>>2] = $85; - HEAP32[3734] = 4; + HEAP32[3751] = 1; + $86 = HEAP32[3720]|0; + $87 = ((($79)) + 8|0); + HEAP32[$87>>2] = $86; + HEAP32[3752] = 4; _MatrixIdentity($4); - dest=14940; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=15012; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(15004); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(15076); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(15068); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(15140); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(15132); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(15204); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(15196); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(15268); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(15260); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(15332); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(15324); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(15396); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(15388); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(15460); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(15452); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(15524); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(15516); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(15588); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(15580); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(15652); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(15644); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(15716); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(15708); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(15780); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(15772); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(15844); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(15836); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(15908); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(15900); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(15972); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($5); - dest=14648; src=$5; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=14720; src=$5; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($6); - dest=14712; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - HEAP32[3661] = 14712; + dest=14784; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + HEAP32[3679] = 14784; _glDepthFunc(515); _glDisable(2929); _glBlendFunc(770,771); @@ -12073,21 +11999,21 @@ function _rlglInit($0,$1) { _glClearColor(0.0,0.0,0.0,1.0); _glClearDepthf(1.0); _glClear(16640); - HEAP32[3991] = $0; - HEAP32[3992] = $1; - _TraceLog(0,5832,$vararg_buffer41); + HEAP32[4009] = $0; + HEAP32[4010] = $1; + _TraceLog(0,5897,$vararg_buffer41); STACKTOP = sp;return; } function _SetupViewport() { var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[3659]|0; + $0 = HEAP32[3677]|0; $1 = (($0|0) / 2)&-1; - $2 = HEAP32[3660]|0; + $2 = HEAP32[3678]|0; $3 = (($2|0) / 2)&-1; - $4 = HEAP32[3657]|0; + $4 = HEAP32[3675]|0; $5 = (($4) - ($0))|0; - $6 = HEAP32[3658]|0; + $6 = HEAP32[3676]|0; $7 = (($6) - ($2))|0; _rlViewport($1,$3,$5,$7); return; @@ -12098,12 +12024,12 @@ function _rlMatrixMode($0) { sp = STACKTOP; switch ($0|0) { case 5889: { - $modelview$sink = 14648; + $modelview$sink = 14720; label = 3; break; } case 5888: { - $modelview$sink = 14712; + $modelview$sink = 14784; label = 3; break; } @@ -12111,9 +12037,9 @@ function _rlMatrixMode($0) { } } if ((label|0) == 3) { - HEAP32[3661] = $modelview$sink; + HEAP32[3679] = $modelview$sink; } - HEAP32[3694] = $0; + HEAP32[3712] = $0; return; } function _rlLoadIdentity() { @@ -12121,7 +12047,7 @@ function _rlLoadIdentity() { sp = STACKTOP; STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); $0 = sp; - $1 = HEAP32[3661]|0; + $1 = HEAP32[3679]|0; _MatrixIdentity($0); dest=$1; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); STACKTOP = sp;return; @@ -12142,7 +12068,7 @@ function _rlOrtho($0,$1,$2,$3,$4,$5) { $7 = sp; _MatrixOrtho($6,$0,$1,$2,$3,$4,$5); _MatrixTranspose($6); - $8 = HEAP32[3661]|0; + $8 = HEAP32[3679]|0; dest=$$byval_copy; src=$8; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$$byval_copy1; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixMultiply($7,$$byval_copy,$$byval_copy1); @@ -12201,17 +12127,17 @@ function _LoadDefaultShader($0) { $1 = sp + 16|0; $2 = sp + 513|0; $3 = sp + 72|0; - _memcpy(($2|0),(6408|0),489)|0; - _memcpy(($3|0),(6897|0),441)|0; + _memcpy(($2|0),(6473|0),489)|0; + _memcpy(($3|0),(6962|0),441)|0; $4 = (_LoadShaderProgram($2,$3)|0); HEAP32[$1>>2] = $4; $5 = ($4|0)==(0); if ($5) { HEAP32[$vararg_buffer1>>2] = $4; - _TraceLog(2,7386,$vararg_buffer1); + _TraceLog(1,7451,$vararg_buffer1); } else { HEAP32[$vararg_buffer>>2] = $4; - _TraceLog(0,7338,$vararg_buffer); + _TraceLog(0,7403,$vararg_buffer); } $6 = HEAP32[$1>>2]|0; $7 = ($6|0)==(0); @@ -12239,15 +12165,15 @@ function _LoadDefaultBuffers() { $vararg_buffer1 = sp + 8|0; $vararg_buffer = sp; $0 = (_malloc(24576)|0); - HEAP32[(15984)>>2] = $0; + HEAP32[(16056)>>2] = $0; $1 = (_malloc(8192)|0); - HEAP32[(15992)>>2] = $1; - HEAP32[(15988)>>2] = 0; - HEAP32[(15996)>>2] = 0; + HEAP32[(16064)>>2] = $1; + HEAP32[(16060)>>2] = 0; + HEAP32[(16068)>>2] = 0; _memset(($0|0),0,24576)|0; $$05972 = 0; while(1) { - $2 = HEAP32[(15992)>>2]|0; + $2 = HEAP32[(16064)>>2]|0; $3 = (($2) + ($$05972)|0); HEAP8[$3>>0] = 0; $4 = (($$05972) + 1)|0; @@ -12258,19 +12184,19 @@ function _LoadDefaultBuffers() { $$05972 = $4; } } - HEAP32[3993] = 0; - HEAP32[(15980)>>2] = 0; - HEAP32[(15976)>>2] = 0; + HEAP32[4011] = 0; + HEAP32[(16052)>>2] = 0; + HEAP32[(16048)>>2] = 0; $5 = (_malloc(73728)|0); - HEAP32[(16032)>>2] = $5; + HEAP32[(16104)>>2] = $5; $6 = (_malloc(24576)|0); - HEAP32[(16040)>>2] = $6; - HEAP32[(16036)>>2] = 0; - HEAP32[(16044)>>2] = 0; + HEAP32[(16112)>>2] = $6; + HEAP32[(16108)>>2] = 0; + HEAP32[(16116)>>2] = 0; _memset(($5|0),0,73728)|0; $$05770 = 0; while(1) { - $7 = HEAP32[(16040)>>2]|0; + $7 = HEAP32[(16112)>>2]|0; $8 = (($7) + ($$05770)|0); HEAP8[$8>>0] = 0; $9 = (($$05770) + 1)|0; @@ -12281,24 +12207,24 @@ function _LoadDefaultBuffers() { $$05770 = $9; } } - HEAP32[4005] = 0; - HEAP32[(16028)>>2] = 0; - HEAP32[(16024)>>2] = 0; + HEAP32[4023] = 0; + HEAP32[(16100)>>2] = 0; + HEAP32[(16096)>>2] = 0; $10 = (_malloc(49152)|0); - HEAP32[(16080)>>2] = $10; + HEAP32[(16152)>>2] = $10; $11 = (_malloc(32768)|0); - HEAP32[(16084)>>2] = $11; + HEAP32[(16156)>>2] = $11; $12 = (_malloc(16384)|0); - HEAP32[(16088)>>2] = $12; + HEAP32[(16160)>>2] = $12; $13 = (_malloc(12288)|0); - HEAP32[(16092)>>2] = $13; - $14 = HEAP32[(16080)>>2]|0; + HEAP32[(16164)>>2] = $13; + $14 = HEAP32[(16152)>>2]|0; _memset(($14|0),0,49152)|0; - $15 = HEAP32[(16084)>>2]|0; + $15 = HEAP32[(16156)>>2]|0; _memset(($15|0),0,32768)|0; $$05467 = 0; while(1) { - $17 = HEAP32[(16088)>>2]|0; + $17 = HEAP32[(16160)>>2]|0; $18 = (($17) + ($$05467)|0); HEAP8[$18>>0] = 0; $19 = (($$05467) + 1)|0; @@ -12309,7 +12235,7 @@ function _LoadDefaultBuffers() { $$05467 = $19; } } - $16 = HEAP32[(16092)>>2]|0; + $16 = HEAP32[(16164)>>2]|0; $$05365 = 0;$$066 = 0; while(1) { $22 = $$05365 << 2; @@ -12346,140 +12272,140 @@ function _LoadDefaultBuffers() { $$05365 = $41;$$066 = $42; } } - HEAP32[4017] = 0; - HEAP32[(16072)>>2] = 0; - HEAP32[(16076)>>2] = 0; - _TraceLog(0,5879,$vararg_buffer); - $20 = HEAP32[3695]|0; + HEAP32[4035] = 0; + HEAP32[(16144)>>2] = 0; + HEAP32[(16148)>>2] = 0; + _TraceLog(0,5944,$vararg_buffer); + $20 = HEAP32[3713]|0; $21 = ($20|0)==(0); if (!($21)) { - $43 = HEAP32[3696]|0; - FUNCTION_TABLE_vii[$43 & 63](1,(16000)); - $44 = HEAP32[3697]|0; - $45 = HEAP32[(16000)>>2]|0; + $43 = HEAP32[3714]|0; + FUNCTION_TABLE_vii[$43 & 63](1,(16072)); + $44 = HEAP32[3715]|0; + $45 = HEAP32[(16072)>>2]|0; FUNCTION_TABLE_vi[$44 & 31]($45); } - _glGenBuffers(2,((16004)|0)); - $46 = HEAP32[(16004)>>2]|0; + _glGenBuffers(2,((16076)|0)); + $46 = HEAP32[(16076)>>2]|0; _glBindBuffer(34962,($46|0)); - $47 = HEAP32[(15984)>>2]|0; + $47 = HEAP32[(16056)>>2]|0; _glBufferData(34962,24576,($47|0),35048); - $48 = HEAP32[(14872)>>2]|0; + $48 = HEAP32[(14944)>>2]|0; _glEnableVertexAttribArray(($48|0)); - $49 = HEAP32[(14872)>>2]|0; + $49 = HEAP32[(14944)>>2]|0; _glVertexAttribPointer(($49|0),3,5126,0,0,(0|0)); - _glGenBuffers(2,((16008)|0)); - $50 = HEAP32[(16008)>>2]|0; + _glGenBuffers(2,((16080)|0)); + $50 = HEAP32[(16080)>>2]|0; _glBindBuffer(34962,($50|0)); - $51 = HEAP32[(15992)>>2]|0; + $51 = HEAP32[(16064)>>2]|0; _glBufferData(34962,8192,($51|0),35048); - $52 = HEAP32[(14892)>>2]|0; + $52 = HEAP32[(14964)>>2]|0; _glEnableVertexAttribArray(($52|0)); - $53 = HEAP32[(14892)>>2]|0; + $53 = HEAP32[(14964)>>2]|0; _glVertexAttribPointer(($53|0),4,5121,1,0,(0|0)); - $54 = HEAP32[3695]|0; + $54 = HEAP32[3713]|0; $55 = ($54|0)==(0); if ($55) { - $57 = HEAP32[(16004)>>2]|0; - $58 = HEAP32[(16008)>>2]|0; + $57 = HEAP32[(16076)>>2]|0; + $58 = HEAP32[(16080)>>2]|0; HEAP32[$vararg_buffer3>>2] = $57; $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); HEAP32[$vararg_ptr6>>2] = $58; - _TraceLog(0,6017,$vararg_buffer3); + _TraceLog(0,6082,$vararg_buffer3); } else { - $56 = HEAP32[(16000)>>2]|0; + $56 = HEAP32[(16072)>>2]|0; HEAP32[$vararg_buffer1>>2] = $56; - _TraceLog(0,5952,$vararg_buffer1); + _TraceLog(0,6017,$vararg_buffer1); } - $59 = HEAP32[3695]|0; + $59 = HEAP32[3713]|0; $60 = ($59|0)==(0); if (!($60)) { - $61 = HEAP32[3696]|0; - FUNCTION_TABLE_vii[$61 & 63](1,(16048)); - $62 = HEAP32[3697]|0; - $63 = HEAP32[(16048)>>2]|0; + $61 = HEAP32[3714]|0; + FUNCTION_TABLE_vii[$61 & 63](1,(16120)); + $62 = HEAP32[3715]|0; + $63 = HEAP32[(16120)>>2]|0; FUNCTION_TABLE_vi[$62 & 31]($63); } - _glGenBuffers(1,((16052)|0)); - $64 = HEAP32[(16052)>>2]|0; + _glGenBuffers(1,((16124)|0)); + $64 = HEAP32[(16124)>>2]|0; _glBindBuffer(34962,($64|0)); - $65 = HEAP32[(16032)>>2]|0; + $65 = HEAP32[(16104)>>2]|0; _glBufferData(34962,73728,($65|0),35048); - $66 = HEAP32[(14872)>>2]|0; + $66 = HEAP32[(14944)>>2]|0; _glEnableVertexAttribArray(($66|0)); - $67 = HEAP32[(14872)>>2]|0; + $67 = HEAP32[(14944)>>2]|0; _glVertexAttribPointer(($67|0),3,5126,0,0,(0|0)); - _glGenBuffers(1,((16056)|0)); - $68 = HEAP32[(16056)>>2]|0; + _glGenBuffers(1,((16128)|0)); + $68 = HEAP32[(16128)>>2]|0; _glBindBuffer(34962,($68|0)); - $69 = HEAP32[(16040)>>2]|0; + $69 = HEAP32[(16112)>>2]|0; _glBufferData(34962,24576,($69|0),35048); - $70 = HEAP32[(14892)>>2]|0; + $70 = HEAP32[(14964)>>2]|0; _glEnableVertexAttribArray(($70|0)); - $71 = HEAP32[(14892)>>2]|0; + $71 = HEAP32[(14964)>>2]|0; _glVertexAttribPointer(($71|0),4,5121,1,0,(0|0)); - $72 = HEAP32[3695]|0; + $72 = HEAP32[3713]|0; $73 = ($72|0)==(0); if ($73) { - $75 = HEAP32[(16052)>>2]|0; - $76 = HEAP32[(16056)>>2]|0; + $75 = HEAP32[(16124)>>2]|0; + $76 = HEAP32[(16128)>>2]|0; HEAP32[$vararg_buffer10>>2] = $75; $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); HEAP32[$vararg_ptr13>>2] = $76; - _TraceLog(0,6163,$vararg_buffer10); + _TraceLog(0,6228,$vararg_buffer10); } else { - $74 = HEAP32[(16048)>>2]|0; + $74 = HEAP32[(16120)>>2]|0; HEAP32[$vararg_buffer7>>2] = $74; - _TraceLog(0,6094,$vararg_buffer7); + _TraceLog(0,6159,$vararg_buffer7); } - $77 = HEAP32[3695]|0; + $77 = HEAP32[3713]|0; $78 = ($77|0)==(0); if (!($78)) { - $79 = HEAP32[3696]|0; - FUNCTION_TABLE_vii[$79 & 63](1,(16096)); - $80 = HEAP32[3697]|0; - $81 = HEAP32[(16096)>>2]|0; + $79 = HEAP32[3714]|0; + FUNCTION_TABLE_vii[$79 & 63](1,(16168)); + $80 = HEAP32[3715]|0; + $81 = HEAP32[(16168)>>2]|0; FUNCTION_TABLE_vi[$80 & 31]($81); } - _glGenBuffers(1,((16100)|0)); - $82 = HEAP32[(16100)>>2]|0; + _glGenBuffers(1,((16172)|0)); + $82 = HEAP32[(16172)>>2]|0; _glBindBuffer(34962,($82|0)); - $83 = HEAP32[(16080)>>2]|0; + $83 = HEAP32[(16152)>>2]|0; _glBufferData(34962,49152,($83|0),35048); - $84 = HEAP32[(14872)>>2]|0; + $84 = HEAP32[(14944)>>2]|0; _glEnableVertexAttribArray(($84|0)); - $85 = HEAP32[(14872)>>2]|0; + $85 = HEAP32[(14944)>>2]|0; _glVertexAttribPointer(($85|0),3,5126,0,0,(0|0)); - _glGenBuffers(1,((16104)|0)); - $86 = HEAP32[(16104)>>2]|0; + _glGenBuffers(1,((16176)|0)); + $86 = HEAP32[(16176)>>2]|0; _glBindBuffer(34962,($86|0)); - $87 = HEAP32[(16084)>>2]|0; + $87 = HEAP32[(16156)>>2]|0; _glBufferData(34962,32768,($87|0),35048); - $88 = HEAP32[(14876)>>2]|0; + $88 = HEAP32[(14948)>>2]|0; _glEnableVertexAttribArray(($88|0)); - $89 = HEAP32[(14876)>>2]|0; + $89 = HEAP32[(14948)>>2]|0; _glVertexAttribPointer(($89|0),2,5126,0,0,(0|0)); - _glGenBuffers(1,((16108)|0)); - $90 = HEAP32[(16108)>>2]|0; + _glGenBuffers(1,((16180)|0)); + $90 = HEAP32[(16180)>>2]|0; _glBindBuffer(34962,($90|0)); - $91 = HEAP32[(16088)>>2]|0; + $91 = HEAP32[(16160)>>2]|0; _glBufferData(34962,16384,($91|0),35048); - $92 = HEAP32[(14892)>>2]|0; + $92 = HEAP32[(14964)>>2]|0; _glEnableVertexAttribArray(($92|0)); - $93 = HEAP32[(14892)>>2]|0; + $93 = HEAP32[(14964)>>2]|0; _glVertexAttribPointer(($93|0),4,5121,1,0,(0|0)); - _glGenBuffers(1,((16112)|0)); - $94 = HEAP32[(16112)>>2]|0; + _glGenBuffers(1,((16184)|0)); + $94 = HEAP32[(16184)>>2]|0; _glBindBuffer(34963,($94|0)); - $95 = HEAP32[(16092)>>2]|0; + $95 = HEAP32[(16164)>>2]|0; _glBufferData(34963,12288,($95|0),35044); - $96 = HEAP32[3695]|0; + $96 = HEAP32[3713]|0; $97 = ($96|0)==(0); if ($97) { - $99 = HEAP32[(16100)>>2]|0; - $100 = HEAP32[(16104)>>2]|0; - $101 = HEAP32[(16108)>>2]|0; - $102 = HEAP32[(16112)>>2]|0; + $99 = HEAP32[(16172)>>2]|0; + $100 = HEAP32[(16176)>>2]|0; + $101 = HEAP32[(16180)>>2]|0; + $102 = HEAP32[(16184)>>2]|0; HEAP32[$vararg_buffer17>>2] = $99; $vararg_ptr20 = ((($vararg_buffer17)) + 4|0); HEAP32[$vararg_ptr20>>2] = $100; @@ -12487,18 +12413,18 @@ function _LoadDefaultBuffers() { HEAP32[$vararg_ptr21>>2] = $101; $vararg_ptr22 = ((($vararg_buffer17)) + 12|0); HEAP32[$vararg_ptr22>>2] = $102; - _TraceLog(0,6309,$vararg_buffer17); + _TraceLog(0,6374,$vararg_buffer17); } else { - $98 = HEAP32[(16096)>>2]|0; + $98 = HEAP32[(16168)>>2]|0; HEAP32[$vararg_buffer14>>2] = $98; - _TraceLog(0,6244,$vararg_buffer14); + _TraceLog(0,6309,$vararg_buffer14); } - $103 = HEAP32[3695]|0; + $103 = HEAP32[3713]|0; $104 = ($103|0)==(0); if ($104) { STACKTOP = sp;return; } - $105 = HEAP32[3697]|0; + $105 = HEAP32[3715]|0; FUNCTION_TABLE_vi[$105 & 31](0); STACKTOP = sp;return; } @@ -12535,10 +12461,10 @@ function _LoadShaderProgram($0,$1) { $9 = ($8|0)==(1); if ($9) { HEAP32[$vararg_buffer4>>2] = $6; - _TraceLog(0,7642,$vararg_buffer4); + _TraceLog(0,7707,$vararg_buffer4); } else { HEAP32[$vararg_buffer>>2] = $6; - _TraceLog(2,7590,$vararg_buffer); + _TraceLog(1,7655,$vararg_buffer); HEAP32[$vararg_buffer>>2] = 0; _glGetShaderiv(($6|0),35716,($vararg_buffer|0)); $10 = HEAP32[$vararg_buffer>>2]|0; @@ -12548,7 +12474,7 @@ function _LoadShaderProgram($0,$1) { $13 = HEAP32[$vararg_buffer>>2]|0; _glGetShaderInfoLog(($6|0),($13|0),($5|0),($12|0)); HEAP32[$vararg_buffer1>>2] = $12; - _TraceLog(0,7639,$vararg_buffer1); + _TraceLog(0,7704,$vararg_buffer1); _llvm_stackrestore(($11|0)); } _glCompileShader(($7|0)); @@ -12557,10 +12483,10 @@ function _LoadShaderProgram($0,$1) { $15 = ($14|0)==(1); if ($15) { HEAP32[$vararg_buffer13>>2] = $7; - _TraceLog(0,7743,$vararg_buffer13); + _TraceLog(0,7808,$vararg_buffer13); } else { HEAP32[$vararg_buffer7>>2] = $7; - _TraceLog(2,7692,$vararg_buffer7); + _TraceLog(1,7757,$vararg_buffer7); HEAP32[$vararg_buffer7>>2] = 0; _glGetShaderiv(($7|0),35716,($vararg_buffer7|0)); $16 = HEAP32[$vararg_buffer7>>2]|0; @@ -12570,25 +12496,25 @@ function _LoadShaderProgram($0,$1) { $19 = HEAP32[$vararg_buffer7>>2]|0; _glGetShaderInfoLog(($7|0),($19|0),($5|0),($18|0)); HEAP32[$vararg_buffer10>>2] = $18; - _TraceLog(0,7639,$vararg_buffer10); + _TraceLog(0,7704,$vararg_buffer10); _llvm_stackrestore(($17|0)); } $20 = (_glCreateProgram()|0); _glAttachShader(($20|0),($6|0)); _glAttachShader(($20|0),($7|0)); - _glBindAttribLocation(($20|0),0,(7434|0)); - _glBindAttribLocation(($20|0),1,(7449|0)); - _glBindAttribLocation(($20|0),2,(7480|0)); - _glBindAttribLocation(($20|0),3,(7507|0)); - _glBindAttribLocation(($20|0),4,(7493|0)); - _glBindAttribLocation(($20|0),5,(7464|0)); + _glBindAttribLocation(($20|0),0,(7499|0)); + _glBindAttribLocation(($20|0),1,(7514|0)); + _glBindAttribLocation(($20|0),2,(7545|0)); + _glBindAttribLocation(($20|0),3,(7572|0)); + _glBindAttribLocation(($20|0),4,(7558|0)); + _glBindAttribLocation(($20|0),5,(7529|0)); _glLinkProgram(($20|0)); _glGetProgramiv(($20|0),35714,($4|0)); $21 = HEAP32[$4>>2]|0; $22 = ($21|0)==(0); if ($22) { HEAP32[$vararg_buffer16>>2] = $20; - _TraceLog(2,7795,$vararg_buffer16); + _TraceLog(1,7860,$vararg_buffer16); HEAP32[$vararg_buffer16>>2] = 0; _glGetProgramiv(($20|0),35716,($vararg_buffer16|0)); $23 = HEAP32[$vararg_buffer16>>2]|0; @@ -12598,7 +12524,7 @@ function _LoadShaderProgram($0,$1) { $26 = HEAP32[$vararg_buffer16>>2]|0; _glGetProgramInfoLog(($20|0),($26|0),($5|0),($25|0)); HEAP32[$vararg_buffer19>>2] = $25; - _TraceLog(0,7639,$vararg_buffer19); + _TraceLog(0,7704,$vararg_buffer19); _glDeleteProgram(($20|0)); _llvm_stackrestore(($24|0)); $$0 = 0; @@ -12607,7 +12533,7 @@ function _LoadShaderProgram($0,$1) { STACKTOP = sp;return ($$0|0); } else { HEAP32[$vararg_buffer22>>2] = $20; - _TraceLog(0,7841,$vararg_buffer22); + _TraceLog(0,7906,$vararg_buffer22); $$0 = $20; _glDeleteShader(($6|0)); _glDeleteShader(($7|0)); @@ -12622,55 +12548,55 @@ function _LoadDefaultShaderLocations($0) { var sp = 0; sp = STACKTOP; $1 = HEAP32[$0>>2]|0; - $2 = (_glGetAttribLocation(($1|0),(7434|0))|0); + $2 = (_glGetAttribLocation(($1|0),(7499|0))|0); $3 = ((($0)) + 4|0); HEAP32[$3>>2] = $2; $4 = HEAP32[$0>>2]|0; - $5 = (_glGetAttribLocation(($4|0),(7449|0))|0); + $5 = (_glGetAttribLocation(($4|0),(7514|0))|0); $6 = ((($0)) + 8|0); HEAP32[$6>>2] = $5; $7 = HEAP32[$0>>2]|0; - $8 = (_glGetAttribLocation(($7|0),(7464|0))|0); + $8 = (_glGetAttribLocation(($7|0),(7529|0))|0); $9 = ((($0)) + 12|0); HEAP32[$9>>2] = $8; $10 = HEAP32[$0>>2]|0; - $11 = (_glGetAttribLocation(($10|0),(7480|0))|0); + $11 = (_glGetAttribLocation(($10|0),(7545|0))|0); $12 = ((($0)) + 16|0); HEAP32[$12>>2] = $11; $13 = HEAP32[$0>>2]|0; - $14 = (_glGetAttribLocation(($13|0),(7493|0))|0); + $14 = (_glGetAttribLocation(($13|0),(7558|0))|0); $15 = ((($0)) + 20|0); HEAP32[$15>>2] = $14; $16 = HEAP32[$0>>2]|0; - $17 = (_glGetAttribLocation(($16|0),(7507|0))|0); + $17 = (_glGetAttribLocation(($16|0),(7572|0))|0); $18 = ((($0)) + 24|0); HEAP32[$18>>2] = $17; $19 = HEAP32[$0>>2]|0; - $20 = (_glGetUniformLocation(($19|0),(7519|0))|0); + $20 = (_glGetUniformLocation(($19|0),(7584|0))|0); $21 = ((($0)) + 28|0); HEAP32[$21>>2] = $20; $22 = HEAP32[$0>>2]|0; - $23 = (_glGetUniformLocation(($22|0),(7529|0))|0); + $23 = (_glGetUniformLocation(($22|0),(7594|0))|0); $24 = ((($0)) + 32|0); HEAP32[$24>>2] = $23; $25 = HEAP32[$0>>2]|0; - $26 = (_glGetUniformLocation(($25|0),(7540|0))|0); + $26 = (_glGetUniformLocation(($25|0),(7605|0))|0); $27 = ((($0)) + 36|0); HEAP32[$27>>2] = $26; $28 = HEAP32[$0>>2]|0; - $29 = (_glGetUniformLocation(($28|0),(7551|0))|0); + $29 = (_glGetUniformLocation(($28|0),(7616|0))|0); $30 = ((($0)) + 40|0); HEAP32[$30>>2] = $29; $31 = HEAP32[$0>>2]|0; - $32 = (_glGetUniformLocation(($31|0),(7563|0))|0); + $32 = (_glGetUniformLocation(($31|0),(7628|0))|0); $33 = ((($0)) + 44|0); HEAP32[$33>>2] = $32; $34 = HEAP32[$0>>2]|0; - $35 = (_glGetUniformLocation(($34|0),(7572|0))|0); + $35 = (_glGetUniformLocation(($34|0),(7637|0))|0); $36 = ((($0)) + 48|0); HEAP32[$36>>2] = $35; $37 = HEAP32[$0>>2]|0; - $38 = (_glGetUniformLocation(($37|0),(7581|0))|0); + $38 = (_glGetUniformLocation(($37|0),(7646|0))|0); $39 = ((($0)) + 52|0); HEAP32[$39>>2] = $38; return; @@ -12679,9 +12605,9 @@ function _IsMouseButtonPressed($0) { $0 = $0|0; var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; - $1 = (17349 + ($0)|0); + $1 = (17421 + ($0)|0); $2 = HEAP8[$1>>0]|0; - $3 = (17352 + ($0)|0); + $3 = (17424 + ($0)|0); $4 = HEAP8[$3>>0]|0; $5 = ($2<<24>>24)!=($4<<24>>24); $6 = ($2<<24>>24)==(1); @@ -12693,9 +12619,9 @@ function _IsMouseButtonReleased($0) { $0 = $0|0; var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; - $1 = (17349 + ($0)|0); + $1 = (17421 + ($0)|0); $2 = HEAP8[$1>>0]|0; - $3 = (17352 + ($0)|0); + $3 = (17424 + ($0)|0); $4 = HEAP8[$3>>0]|0; $5 = ($2<<24>>24)!=($4<<24>>24); $6 = ($2<<24>>24)==(0); @@ -12716,10 +12642,10 @@ function _CloseWindow() { $vararg_buffer = sp; _UnloadDefaultFont(); _rlglClose(); - $0 = HEAP32[3614]|0; + $0 = HEAP32[3631]|0; _glfwDestroyWindow(($0|0)); _glfwTerminate(); - _TraceLog(0,8153,$vararg_buffer); + _TraceLog(0,8218,$vararg_buffer); STACKTOP = sp;return; } function _UnloadDefaultFont() { @@ -12727,9 +12653,9 @@ function _UnloadDefaultFont() { sp = STACKTOP; STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); $$byval_copy = sp; - ;HEAP32[$$byval_copy>>2]=HEAP32[14496>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[14496+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[14496+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[14496+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[14496+16>>2]|0; + ;HEAP32[$$byval_copy>>2]=HEAP32[14564>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[14564+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[14564+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[14564+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[14564+16>>2]|0; _UnloadTexture($$byval_copy); - $0 = HEAP32[(14524)>>2]|0; + $0 = HEAP32[(14592)>>2]|0; _free($0); STACKTOP = sp;return; } @@ -12740,11 +12666,11 @@ function _rlglClose() { $vararg_buffer = sp; _UnloadDefaultShader(); _UnloadDefaultBuffers(); - _glDeleteTextures(1,(14808|0)); - $0 = HEAP32[3702]|0; + _glDeleteTextures(1,(14880|0)); + $0 = HEAP32[3720]|0; HEAP32[$vararg_buffer>>2] = $0; - _TraceLog(0,8180,$vararg_buffer); - $1 = HEAP32[3732]|0; + _TraceLog(0,8245,$vararg_buffer); + $1 = HEAP32[3750]|0; _free($1); STACKTOP = sp;return; } @@ -12752,17 +12678,17 @@ function _UnloadDefaultShader() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; _glUseProgram(0); - $0 = HEAP32[3703]|0; + $0 = HEAP32[3721]|0; _glDeleteProgram(($0|0)); return; } function _UnloadDefaultBuffers() { var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[3695]|0; + $0 = HEAP32[3713]|0; $1 = ($0|0)==(0); if (!($1)) { - $2 = HEAP32[3697]|0; + $2 = HEAP32[3715]|0; FUNCTION_TABLE_vi[$2 & 31](0); } _glDisableVertexAttribArray(0); @@ -12771,39 +12697,39 @@ function _UnloadDefaultBuffers() { _glDisableVertexAttribArray(3); _glBindBuffer(34962,0); _glBindBuffer(34963,0); - _glDeleteBuffers(1,((16004)|0)); - _glDeleteBuffers(1,((16008)|0)); - _glDeleteBuffers(1,((16052)|0)); - _glDeleteBuffers(1,((16056)|0)); - _glDeleteBuffers(1,((16100)|0)); - _glDeleteBuffers(1,((16104)|0)); - _glDeleteBuffers(1,((16108)|0)); - _glDeleteBuffers(1,((16112)|0)); - $3 = HEAP32[3695]|0; + _glDeleteBuffers(1,((16076)|0)); + _glDeleteBuffers(1,((16080)|0)); + _glDeleteBuffers(1,((16124)|0)); + _glDeleteBuffers(1,((16128)|0)); + _glDeleteBuffers(1,((16172)|0)); + _glDeleteBuffers(1,((16176)|0)); + _glDeleteBuffers(1,((16180)|0)); + _glDeleteBuffers(1,((16184)|0)); + $3 = HEAP32[3713]|0; $4 = ($3|0)==(0); if (!($4)) { - $5 = HEAP32[3698]|0; - FUNCTION_TABLE_vii[$5 & 63](1,(16000)); - $6 = HEAP32[3698]|0; - FUNCTION_TABLE_vii[$6 & 63](1,(16048)); - $7 = HEAP32[3698]|0; - FUNCTION_TABLE_vii[$7 & 63](1,(16096)); + $5 = HEAP32[3716]|0; + FUNCTION_TABLE_vii[$5 & 63](1,(16072)); + $6 = HEAP32[3716]|0; + FUNCTION_TABLE_vii[$6 & 63](1,(16120)); + $7 = HEAP32[3716]|0; + FUNCTION_TABLE_vii[$7 & 63](1,(16168)); } - $8 = HEAP32[(15984)>>2]|0; + $8 = HEAP32[(16056)>>2]|0; _free($8); - $9 = HEAP32[(15992)>>2]|0; + $9 = HEAP32[(16064)>>2]|0; _free($9); - $10 = HEAP32[(16032)>>2]|0; + $10 = HEAP32[(16104)>>2]|0; _free($10); - $11 = HEAP32[(16040)>>2]|0; + $11 = HEAP32[(16112)>>2]|0; _free($11); - $12 = HEAP32[(16080)>>2]|0; + $12 = HEAP32[(16152)>>2]|0; _free($12); - $13 = HEAP32[(16084)>>2]|0; + $13 = HEAP32[(16156)>>2]|0; _free($13); - $14 = HEAP32[(16088)>>2]|0; + $14 = HEAP32[(16160)>>2]|0; _free($14); - $15 = HEAP32[(16092)>>2]|0; + $15 = HEAP32[(16164)>>2]|0; _free($15); return; } @@ -12821,7 +12747,7 @@ function _UnloadTexture($0) { _rlDeleteTextures($1); $3 = HEAP32[$0>>2]|0; HEAP32[$vararg_buffer>>2] = $3; - _TraceLog(0,8245,$vararg_buffer); + _TraceLog(0,8310,$vararg_buffer); STACKTOP = sp;return; } function _rlDeleteTextures($0) { @@ -12843,16 +12769,16 @@ function _BeginDrawing() { STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); $downscaleView$byval_copy = sp; $0 = (+_GetTime()); - HEAPF64[1755] = $0; - $1 = +HEAPF64[1738]; + HEAPF64[1763] = $0; + $1 = +HEAPF64[1746]; $2 = $0 - $1; - HEAPF64[1756] = $2; - HEAPF64[1738] = $0; + HEAPF64[1764] = $2; + HEAPF64[1746] = $0; _rlClearScreenBuffers(); _rlLoadIdentity(); - dest=$downscaleView$byval_copy; src=14552; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$downscaleView$byval_copy; src=14624; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); (_MatrixToFloat($downscaleView$byval_copy)|0); - _rlMultMatrixf(16124); + _rlMultMatrixf(16196); STACKTOP = sp;return; } function _MatrixToFloat($0) { @@ -12861,53 +12787,53 @@ function _MatrixToFloat($0) { var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP32[$0>>2]|0; - HEAP32[4031] = $1; + HEAP32[4049] = $1; $2 = ((($0)) + 4|0); $3 = HEAP32[$2>>2]|0; - HEAP32[(16128)>>2] = $3; + HEAP32[(16200)>>2] = $3; $4 = ((($0)) + 8|0); $5 = HEAP32[$4>>2]|0; - HEAP32[(16132)>>2] = $5; + HEAP32[(16204)>>2] = $5; $6 = ((($0)) + 12|0); $7 = HEAP32[$6>>2]|0; - HEAP32[(16136)>>2] = $7; + HEAP32[(16208)>>2] = $7; $8 = ((($0)) + 16|0); $9 = HEAP32[$8>>2]|0; - HEAP32[(16140)>>2] = $9; + HEAP32[(16212)>>2] = $9; $10 = ((($0)) + 20|0); $11 = HEAP32[$10>>2]|0; - HEAP32[(16144)>>2] = $11; + HEAP32[(16216)>>2] = $11; $12 = ((($0)) + 24|0); $13 = HEAP32[$12>>2]|0; - HEAP32[(16148)>>2] = $13; + HEAP32[(16220)>>2] = $13; $14 = ((($0)) + 28|0); $15 = HEAP32[$14>>2]|0; - HEAP32[(16152)>>2] = $15; + HEAP32[(16224)>>2] = $15; $16 = ((($0)) + 32|0); $17 = HEAP32[$16>>2]|0; - HEAP32[(16156)>>2] = $17; + HEAP32[(16228)>>2] = $17; $18 = ((($0)) + 36|0); $19 = HEAP32[$18>>2]|0; - HEAP32[(16160)>>2] = $19; + HEAP32[(16232)>>2] = $19; $20 = ((($0)) + 40|0); $21 = HEAP32[$20>>2]|0; - HEAP32[(16164)>>2] = $21; + HEAP32[(16236)>>2] = $21; $22 = ((($0)) + 44|0); $23 = HEAP32[$22>>2]|0; - HEAP32[(16168)>>2] = $23; + HEAP32[(16240)>>2] = $23; $24 = ((($0)) + 48|0); $25 = HEAP32[$24>>2]|0; - HEAP32[(16172)>>2] = $25; + HEAP32[(16244)>>2] = $25; $26 = ((($0)) + 52|0); $27 = HEAP32[$26>>2]|0; - HEAP32[(16176)>>2] = $27; + HEAP32[(16248)>>2] = $27; $28 = ((($0)) + 56|0); $29 = HEAP32[$28>>2]|0; - HEAP32[(16180)>>2] = $29; + HEAP32[(16252)>>2] = $29; $30 = ((($0)) + 60|0); $31 = HEAP32[$30>>2]|0; - HEAP32[(16184)>>2] = $31; - return (16124|0); + HEAP32[(16256)>>2] = $31; + return (16196|0); } function _rlMultMatrixf($0) { $0 = $0|0; @@ -12982,7 +12908,7 @@ function _rlMultMatrixf($0) { $47 = ((($0)) + 60|0); $48 = HEAP32[$47>>2]|0; HEAP32[$46>>2] = $48; - $49 = HEAP32[3661]|0; + $49 = HEAP32[3679]|0; dest=$$byval_copy; src=$49; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$$byval_copy1; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixMultiply($2,$$byval_copy,$$byval_copy1); @@ -12996,15 +12922,15 @@ function _EndDrawing() { _SwapBuffers(); _PollInputEvents(); $0 = (+_GetTime()); - HEAPF64[1755] = $0; - $1 = +HEAPF64[1738]; + HEAPF64[1763] = $0; + $1 = +HEAPF64[1746]; $2 = $0 - $1; - HEAPF64[1757] = $2; - HEAPF64[1738] = $0; - $3 = +HEAPF64[1756]; + HEAPF64[1765] = $2; + HEAPF64[1746] = $0; + $3 = +HEAPF64[1764]; $4 = $2 + $3; - HEAPF64[1758] = $4; - $5 = +HEAPF64[1735]; + HEAPF64[1766] = $4; + $5 = +HEAPF64[1743]; $6 = $4 < $5; if (!($6)) { return; @@ -13014,13 +12940,13 @@ function _EndDrawing() { $9 = $8; _Wait($9); $10 = (+_GetTime()); - HEAPF64[1755] = $10; - $11 = +HEAPF64[1738]; + HEAPF64[1763] = $10; + $11 = +HEAPF64[1746]; $12 = $10 - $11; - HEAPF64[1738] = $10; - $13 = +HEAPF64[1758]; + HEAPF64[1746] = $10; + $13 = +HEAPF64[1766]; $14 = $12 + $13; - HEAPF64[1758] = $14; + HEAPF64[1766] = $14; return; } function _rlglDraw() { @@ -13033,7 +12959,7 @@ function _rlglDraw() { function _SwapBuffers() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[3614]|0; + $0 = HEAP32[3631]|0; _glfwSwapBuffers(($0|0)); return; } @@ -13049,20 +12975,20 @@ function _PollInputEvents() { _UpdateGestures(); HEAP32[761] = -1; HEAP32[763] = -1; - HEAP32[4047] = 0; - $3 = HEAP32[3614]|0; + HEAP32[4065] = 0; + $3 = HEAP32[3631]|0; _glfwGetCursorPos(($3|0),($0|0),($1|0)); $4 = +HEAPF64[$0>>3]; $5 = $4; - HEAPF32[3468] = $5; + HEAPF32[3484] = $5; $6 = +HEAPF64[$1>>3]; $7 = $6; - HEAPF32[(13876)>>2] = $7; - _memcpy((17867|0),(17355|0),512)|0; - ;HEAP8[17352>>0]=HEAP8[17349>>0]|0;HEAP8[17352+1>>0]=HEAP8[17349+1>>0]|0;HEAP8[17352+2>>0]=HEAP8[17349+2>>0]|0; - $8 = HEAP32[4030]|0; - HEAP32[3617] = $8; - HEAP32[4030] = 0; + HEAPF32[(13940)>>2] = $7; + _memcpy((17939|0),(17427|0),512)|0; + ;HEAP8[17424>>0]=HEAP8[17421>>0]|0;HEAP8[17424+1>>0]=HEAP8[17421+1>>0]|0;HEAP8[17424+2>>0]=HEAP8[17421+2>>0]|0; + $8 = HEAP32[4048]|0; + HEAP32[3632] = $8; + HEAP32[4048] = 0; $9 = (_emscripten_get_num_gamepads()|0); $10 = ($9|0)>(0); if (!($10)) { @@ -13072,8 +12998,8 @@ function _PollInputEvents() { $12 = ((($2)) + 8|0); $$05160 = 0; while(1) { - $scevgep = (18379 + ($$05160<<5)|0); - $scevgep67 = (18507 + ($$05160<<5)|0); + $scevgep = (18451 + ($$05160<<5)|0); + $scevgep67 = (18579 + ($$05160<<5)|0); dest=$scevgep; src=$scevgep67; stop=dest+32|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); $13 = (_emscripten_get_gamepad_status(($$05160|0),($2|0))|0); $14 = ($13|0)==(0); @@ -13087,7 +13013,7 @@ function _PollInputEvents() { $21 = (((($2)) + 1040|0) + ($$04857<<2)|0); $22 = HEAP32[$21>>2]|0; $23 = ($22|0)==(1); - $24 = ((18507 + ($$05160<<5)|0) + ($$04857)|0); + $24 = ((18579 + ($$05160<<5)|0) + ($$04857)|0); if ($23) { HEAP8[$24>>0] = 1; HEAP32[763] = $$04857; @@ -13114,7 +13040,7 @@ function _PollInputEvents() { $29 = (((($2)) + 16|0) + ($$058<<3)|0); $30 = +HEAPF64[$29>>3]; $31 = $30; - $32 = ((16192 + ($$05160<<5)|0) + ($$058<<2)|0); + $32 = ((16264 + ($$05160<<5)|0) + ($$058<<2)|0); HEAPF32[$32>>2] = $31; $33 = (($$058) + 1)|0; $34 = ($33|0)<($20|0); @@ -13130,7 +13056,7 @@ function _PollInputEvents() { } else { $$lcssa = $18; } - HEAP32[4047] = $$lcssa; + HEAP32[4065] = $$lcssa; } $37 = (($$05160) + 1)|0; $38 = ($37|0)<($9|0); @@ -13171,87 +13097,87 @@ function _UpdateDefaultBuffers() { var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[3993]|0; + $0 = HEAP32[4011]|0; $1 = ($0|0)>(0); if ($1) { - $2 = HEAP32[3695]|0; + $2 = HEAP32[3713]|0; $3 = ($2|0)==(0); if (!($3)) { - $4 = HEAP32[3697]|0; - $5 = HEAP32[(16000)>>2]|0; + $4 = HEAP32[3715]|0; + $5 = HEAP32[(16072)>>2]|0; FUNCTION_TABLE_vi[$4 & 31]($5); } - $6 = HEAP32[(16004)>>2]|0; + $6 = HEAP32[(16076)>>2]|0; _glBindBuffer(34962,($6|0)); - $7 = HEAP32[3993]|0; + $7 = HEAP32[4011]|0; $8 = ($7*12)|0; - $9 = HEAP32[(15984)>>2]|0; + $9 = HEAP32[(16056)>>2]|0; _glBufferSubData(34962,0,($8|0),($9|0)); - $10 = HEAP32[(16008)>>2]|0; + $10 = HEAP32[(16080)>>2]|0; _glBindBuffer(34962,($10|0)); - $11 = HEAP32[(15980)>>2]|0; + $11 = HEAP32[(16052)>>2]|0; $12 = $11 << 2; - $13 = HEAP32[(15992)>>2]|0; + $13 = HEAP32[(16064)>>2]|0; _glBufferSubData(34962,0,($12|0),($13|0)); } - $14 = HEAP32[4005]|0; + $14 = HEAP32[4023]|0; $15 = ($14|0)>(0); if ($15) { - $16 = HEAP32[3695]|0; + $16 = HEAP32[3713]|0; $17 = ($16|0)==(0); if (!($17)) { - $18 = HEAP32[3697]|0; - $19 = HEAP32[(16048)>>2]|0; + $18 = HEAP32[3715]|0; + $19 = HEAP32[(16120)>>2]|0; FUNCTION_TABLE_vi[$18 & 31]($19); } - $20 = HEAP32[(16052)>>2]|0; + $20 = HEAP32[(16124)>>2]|0; _glBindBuffer(34962,($20|0)); - $21 = HEAP32[4005]|0; + $21 = HEAP32[4023]|0; $22 = ($21*12)|0; - $23 = HEAP32[(16032)>>2]|0; + $23 = HEAP32[(16104)>>2]|0; _glBufferSubData(34962,0,($22|0),($23|0)); - $24 = HEAP32[(16056)>>2]|0; + $24 = HEAP32[(16128)>>2]|0; _glBindBuffer(34962,($24|0)); - $25 = HEAP32[(16028)>>2]|0; + $25 = HEAP32[(16100)>>2]|0; $26 = $25 << 2; - $27 = HEAP32[(16040)>>2]|0; + $27 = HEAP32[(16112)>>2]|0; _glBufferSubData(34962,0,($26|0),($27|0)); } - $28 = HEAP32[4017]|0; + $28 = HEAP32[4035]|0; $29 = ($28|0)>(0); if ($29) { - $30 = HEAP32[3695]|0; + $30 = HEAP32[3713]|0; $31 = ($30|0)==(0); if (!($31)) { - $32 = HEAP32[3697]|0; - $33 = HEAP32[(16096)>>2]|0; + $32 = HEAP32[3715]|0; + $33 = HEAP32[(16168)>>2]|0; FUNCTION_TABLE_vi[$32 & 31]($33); } - $34 = HEAP32[(16100)>>2]|0; + $34 = HEAP32[(16172)>>2]|0; _glBindBuffer(34962,($34|0)); - $35 = HEAP32[4017]|0; + $35 = HEAP32[4035]|0; $36 = ($35*12)|0; - $37 = HEAP32[(16080)>>2]|0; + $37 = HEAP32[(16152)>>2]|0; _glBufferSubData(34962,0,($36|0),($37|0)); - $38 = HEAP32[(16104)>>2]|0; + $38 = HEAP32[(16176)>>2]|0; _glBindBuffer(34962,($38|0)); - $39 = HEAP32[4017]|0; + $39 = HEAP32[4035]|0; $40 = $39 << 3; - $41 = HEAP32[(16084)>>2]|0; + $41 = HEAP32[(16156)>>2]|0; _glBufferSubData(34962,0,($40|0),($41|0)); - $42 = HEAP32[(16108)>>2]|0; + $42 = HEAP32[(16180)>>2]|0; _glBindBuffer(34962,($42|0)); - $43 = HEAP32[4017]|0; + $43 = HEAP32[4035]|0; $44 = $43 << 2; - $45 = HEAP32[(16088)>>2]|0; + $45 = HEAP32[(16160)>>2]|0; _glBufferSubData(34962,0,($44|0),($45|0)); } - $46 = HEAP32[3695]|0; + $46 = HEAP32[3713]|0; $47 = ($46|0)==(0); if ($47) { return; } - $48 = HEAP32[3697]|0; + $48 = HEAP32[3715]|0; FUNCTION_TABLE_vi[$48 & 31](0); return; } @@ -13269,9 +13195,9 @@ function _DrawDefaultBuffers() { $0 = sp + 128|0; $1 = sp + 64|0; $2 = sp; - dest=$0; src=14648; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$1; src=14712; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $3 = HEAP32[4080]|0; + dest=$0; src=14720; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$1; src=14784; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + $3 = HEAP32[4098]|0; $4 = ($3|0)!=(0); $$ = $4 ? 2 : 1; $$02932 = 0; @@ -13281,134 +13207,134 @@ function _DrawDefaultBuffers() { dest=$$byval_copy2; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _SetStereoView($$02932,$modelview$byval_copy,$$byval_copy2); } - $8 = HEAP32[3993]|0; + $8 = HEAP32[4011]|0; $9 = ($8|0)>(0); - $10 = HEAP32[4005]|0; + $10 = HEAP32[4023]|0; $11 = ($10|0)>(0); $or$cond = $9 | $11; - $12 = HEAP32[4017]|0; + $12 = HEAP32[4035]|0; $13 = ($12|0)>(0); $or$cond3 = $or$cond | $13; if ($or$cond3) { - $14 = HEAP32[3717]|0; + $14 = HEAP32[3735]|0; _glUseProgram(($14|0)); - dest=$modelview$byval_copy; src=14712; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$$byval_copy2; src=14648; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$modelview$byval_copy; src=14784; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$$byval_copy2; src=14720; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixMultiply($2,$modelview$byval_copy,$$byval_copy2); - $15 = HEAP32[(14896)>>2]|0; + $15 = HEAP32[(14968)>>2]|0; dest=$$byval_copy2; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); $16 = (_MatrixToFloat($$byval_copy2)|0); _glUniformMatrix4fv(($15|0),1,0,($16|0)); - $17 = HEAP32[(14900)>>2]|0; + $17 = HEAP32[(14972)>>2]|0; _glUniform4f(($17|0),1.0,1.0,1.0,1.0); - $18 = HEAP32[(14912)>>2]|0; + $18 = HEAP32[(14984)>>2]|0; _glUniform1i(($18|0),0); } - $19 = HEAP32[3993]|0; + $19 = HEAP32[4011]|0; $20 = ($19|0)>(0); if ($20) { - $21 = HEAP32[3702]|0; + $21 = HEAP32[3720]|0; _glBindTexture(3553,($21|0)); - $22 = HEAP32[3695]|0; + $22 = HEAP32[3713]|0; $23 = ($22|0)==(0); if ($23) { - $26 = HEAP32[(16004)>>2]|0; + $26 = HEAP32[(16076)>>2]|0; _glBindBuffer(34962,($26|0)); - $27 = HEAP32[(14872)>>2]|0; + $27 = HEAP32[(14944)>>2]|0; _glVertexAttribPointer(($27|0),3,5126,0,0,(0|0)); - $28 = HEAP32[(14872)>>2]|0; + $28 = HEAP32[(14944)>>2]|0; _glEnableVertexAttribArray(($28|0)); - $29 = HEAP32[(16008)>>2]|0; + $29 = HEAP32[(16080)>>2]|0; _glBindBuffer(34962,($29|0)); - $30 = HEAP32[(14892)>>2]|0; + $30 = HEAP32[(14964)>>2]|0; _glVertexAttribPointer(($30|0),4,5121,1,0,(0|0)); - $31 = HEAP32[(14892)>>2]|0; + $31 = HEAP32[(14964)>>2]|0; _glEnableVertexAttribArray(($31|0)); } else { - $24 = HEAP32[3697]|0; - $25 = HEAP32[(16000)>>2]|0; + $24 = HEAP32[3715]|0; + $25 = HEAP32[(16072)>>2]|0; FUNCTION_TABLE_vi[$24 & 31]($25); } - $32 = HEAP32[3993]|0; + $32 = HEAP32[4011]|0; _glDrawArrays(1,0,($32|0)); - $33 = HEAP32[3695]|0; + $33 = HEAP32[3713]|0; $34 = ($33|0)==(0); if ($34) { _glBindBuffer(34962,0); } _glBindTexture(3553,0); } - $35 = HEAP32[4005]|0; + $35 = HEAP32[4023]|0; $36 = ($35|0)>(0); if ($36) { - $37 = HEAP32[3702]|0; + $37 = HEAP32[3720]|0; _glBindTexture(3553,($37|0)); - $38 = HEAP32[3695]|0; + $38 = HEAP32[3713]|0; $39 = ($38|0)==(0); if ($39) { - $42 = HEAP32[(16052)>>2]|0; + $42 = HEAP32[(16124)>>2]|0; _glBindBuffer(34962,($42|0)); - $43 = HEAP32[(14872)>>2]|0; + $43 = HEAP32[(14944)>>2]|0; _glVertexAttribPointer(($43|0),3,5126,0,0,(0|0)); - $44 = HEAP32[(14872)>>2]|0; + $44 = HEAP32[(14944)>>2]|0; _glEnableVertexAttribArray(($44|0)); - $45 = HEAP32[(16056)>>2]|0; + $45 = HEAP32[(16128)>>2]|0; _glBindBuffer(34962,($45|0)); - $46 = HEAP32[(14892)>>2]|0; + $46 = HEAP32[(14964)>>2]|0; _glVertexAttribPointer(($46|0),4,5121,1,0,(0|0)); - $47 = HEAP32[(14892)>>2]|0; + $47 = HEAP32[(14964)>>2]|0; _glEnableVertexAttribArray(($47|0)); } else { - $40 = HEAP32[3697]|0; - $41 = HEAP32[(16048)>>2]|0; + $40 = HEAP32[3715]|0; + $41 = HEAP32[(16120)>>2]|0; FUNCTION_TABLE_vi[$40 & 31]($41); } - $48 = HEAP32[4005]|0; + $48 = HEAP32[4023]|0; _glDrawArrays(4,0,($48|0)); - $49 = HEAP32[3695]|0; + $49 = HEAP32[3713]|0; $50 = ($49|0)==(0); if ($50) { _glBindBuffer(34962,0); } _glBindTexture(3553,0); } - $51 = HEAP32[4017]|0; + $51 = HEAP32[4035]|0; $52 = ($51|0)>(0); if ($52) { - $53 = HEAP32[3695]|0; + $53 = HEAP32[3713]|0; $54 = ($53|0)==(0); if ($54) { - $57 = HEAP32[(16100)>>2]|0; + $57 = HEAP32[(16172)>>2]|0; _glBindBuffer(34962,($57|0)); - $58 = HEAP32[(14872)>>2]|0; + $58 = HEAP32[(14944)>>2]|0; _glVertexAttribPointer(($58|0),3,5126,0,0,(0|0)); - $59 = HEAP32[(14872)>>2]|0; + $59 = HEAP32[(14944)>>2]|0; _glEnableVertexAttribArray(($59|0)); - $60 = HEAP32[(16104)>>2]|0; + $60 = HEAP32[(16176)>>2]|0; _glBindBuffer(34962,($60|0)); - $61 = HEAP32[(14876)>>2]|0; + $61 = HEAP32[(14948)>>2]|0; _glVertexAttribPointer(($61|0),2,5126,0,0,(0|0)); - $62 = HEAP32[(14876)>>2]|0; + $62 = HEAP32[(14948)>>2]|0; _glEnableVertexAttribArray(($62|0)); - $63 = HEAP32[(16108)>>2]|0; + $63 = HEAP32[(16180)>>2]|0; _glBindBuffer(34962,($63|0)); - $64 = HEAP32[(14892)>>2]|0; + $64 = HEAP32[(14964)>>2]|0; _glVertexAttribPointer(($64|0),4,5121,1,0,(0|0)); - $65 = HEAP32[(14892)>>2]|0; + $65 = HEAP32[(14964)>>2]|0; _glEnableVertexAttribArray(($65|0)); - $66 = HEAP32[(16112)>>2]|0; + $66 = HEAP32[(16184)>>2]|0; _glBindBuffer(34963,($66|0)); } else { - $55 = HEAP32[3697]|0; - $56 = HEAP32[(16096)>>2]|0; + $55 = HEAP32[3715]|0; + $56 = HEAP32[(16168)>>2]|0; FUNCTION_TABLE_vi[$55 & 31]($56); } - $67 = HEAP32[3733]|0; + $67 = HEAP32[3751]|0; $68 = ($67|0)>(0); if ($68) { $$02830 = 0;$$031 = 0; while(1) { - $71 = HEAP32[3732]|0; + $71 = HEAP32[3750]|0; $72 = (($71) + (($$031*144)|0)|0); $73 = HEAP32[$72>>2]|0; $74 = (($73|0) / 4)&-1; @@ -13419,14 +13345,14 @@ function _DrawDefaultBuffers() { $78 = $$02830 << 1; $79 = $78; _glDrawElements(4,($75|0),5123,($79|0)); - $80 = HEAP32[3732]|0; + $80 = HEAP32[3750]|0; $81 = (($80) + (($$031*144)|0)|0); $82 = HEAP32[$81>>2]|0; $83 = (($82|0) / 4)&-1; $84 = ($83*6)|0; $85 = (($84) + ($$02830))|0; $86 = (($$031) + 1)|0; - $87 = HEAP32[3733]|0; + $87 = HEAP32[3751]|0; $88 = ($86|0)<($87|0); if ($88) { $$02830 = $85;$$031 = $86; @@ -13435,7 +13361,7 @@ function _DrawDefaultBuffers() { } } } - $69 = HEAP32[3695]|0; + $69 = HEAP32[3713]|0; $70 = ($69|0)==(0); if ($70) { _glBindBuffer(34962,0); @@ -13443,10 +13369,10 @@ function _DrawDefaultBuffers() { } _glBindTexture(3553,0); } - $89 = HEAP32[3695]|0; + $89 = HEAP32[3713]|0; $90 = ($89|0)==(0); if (!($90)) { - $91 = HEAP32[3697]|0; + $91 = HEAP32[3715]|0; FUNCTION_TABLE_vi[$91 & 31](0); } _glUseProgram(0); @@ -13458,22 +13384,22 @@ function _DrawDefaultBuffers() { break; } } - HEAP32[3733] = 1; - $5 = HEAP32[3702]|0; - $6 = HEAP32[3732]|0; + HEAP32[3751] = 1; + $5 = HEAP32[3720]|0; + $6 = HEAP32[3750]|0; $7 = ((($6)) + 8|0); HEAP32[$7>>2] = $5; HEAP32[$6>>2] = 0; - HEAP32[3993] = 0; - HEAP32[(15980)>>2] = 0; - HEAP32[4005] = 0; - HEAP32[(16028)>>2] = 0; - HEAP32[4017] = 0; - HEAP32[(16072)>>2] = 0; - HEAP32[(16076)>>2] = 0; + HEAP32[4011] = 0; + HEAP32[(16052)>>2] = 0; + HEAP32[4023] = 0; + HEAP32[(16100)>>2] = 0; + HEAP32[4035] = 0; + HEAP32[(16144)>>2] = 0; + HEAP32[(16148)>>2] = 0; HEAPF32[764] = -1.0; - dest=14648; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=14712; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=14720; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=14784; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); STACKTOP = sp;return; } function _SetStereoView($0,$1,$2) { @@ -13488,17 +13414,17 @@ function _SetStereoView($0,$1,$2) { $3 = sp; $4 = sp + 128|0; dest=$3; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $5 = HEAP32[3991]|0; + $5 = HEAP32[4009]|0; $6 = Math_imul($5, $0)|0; $7 = (($6|0) / 2)&-1; $8 = (($5|0) / 2)&-1; - $9 = HEAP32[3992]|0; + $9 = HEAP32[4010]|0; _rlViewport($7,0,$8,$9); - $10 = (16552 + ($0<<6)|0); + $10 = (16624 + ($0<<6)|0); dest=$$byval_copy; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$$byval_copy3; src=$10; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixMultiply($4,$$byval_copy,$$byval_copy3); - $11 = (16424 + ($0<<6)|0); + $11 = (16496 + ($0<<6)|0); dest=$3; src=$11; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$$byval_copy3; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _SetMatrixModelview($$byval_copy3); @@ -13510,14 +13436,14 @@ function _SetMatrixModelview($0) { $0 = $0|0; var dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; - dest=14712; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=14784; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); return; } function _SetMatrixProjection($0) { $0 = $0|0; var dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; - dest=14648; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=14720; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); return; } function _Begin3dMode($0) { @@ -13534,9 +13460,9 @@ function _Begin3dMode($0) { _rlMatrixMode(5889); _rlPushMatrix(); _rlLoadIdentity(); - $2 = HEAP32[3616]|0; + $2 = HEAP32[3634]|0; $3 = (+($2|0)); - $4 = HEAP32[3615]|0; + $4 = HEAP32[3635]|0; $5 = (+($4|0)); $6 = $3 / $5; $7 = ((($0)) + 36|0); @@ -13561,7 +13487,7 @@ function _Begin3dMode($0) { _MatrixLookAt($1,$$byval_copy,$$byval_copy1,$$byval_copy3); dest=$$byval_copy3; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); (_MatrixToFloat($$byval_copy3)|0); - _rlMultMatrixf(16124); + _rlMultMatrixf(16196); _rlEnableDepthTest(); STACKTOP = sp;return; } @@ -13570,26 +13496,26 @@ function _rlPushMatrix() { sp = STACKTOP; STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); $vararg_buffer = sp; - $0 = HEAP32[4170]|0; + $0 = HEAP32[4188]|0; $1 = ($0|0)==(15); if ($1) { HEAP32[$vararg_buffer>>2] = 16; - _TraceLog(1,8295,$vararg_buffer); + _TraceLog(2,8360,$vararg_buffer); } - $2 = HEAP32[4170]|0; - $3 = (14940 + ($2<<6)|0); - $4 = HEAP32[3661]|0; + $2 = HEAP32[4188]|0; + $3 = (15012 + ($2<<6)|0); + $4 = HEAP32[3679]|0; dest=$3; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _rlLoadIdentity(); - $5 = HEAP32[4170]|0; + $5 = HEAP32[4188]|0; $6 = (($5) + 1)|0; - HEAP32[4170] = $6; - $7 = HEAP32[3694]|0; + HEAP32[4188] = $6; + $7 = HEAP32[3712]|0; $8 = ($7|0)==(5888); if (!($8)) { STACKTOP = sp;return; } - HEAP32[4171] = 1; + HEAP32[4189] = 1; STACKTOP = sp;return; } function _rlFrustum($0,$1,$2,$3,$4,$5) { @@ -13608,7 +13534,7 @@ function _rlFrustum($0,$1,$2,$3,$4,$5) { $7 = sp; _MatrixFrustum($6,$0,$1,$2,$3,$4,$5); _MatrixTranspose($6); - $8 = HEAP32[3661]|0; + $8 = HEAP32[3679]|0; dest=$$byval_copy; src=$8; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$$byval_copy1; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixMultiply($7,$$byval_copy,$$byval_copy1); @@ -13635,18 +13561,18 @@ function _End3dMode() { function _rlPopMatrix() { var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4170]|0; + $0 = HEAP32[4188]|0; $1 = ($0|0)>(0); if (!($1)) { return; } - $2 = HEAP32[4170]|0; + $2 = HEAP32[4188]|0; $3 = (($2) + -1)|0; - $4 = (14940 + ($3<<6)|0); - $5 = HEAP32[3661]|0; + $4 = (15012 + ($3<<6)|0); + $5 = HEAP32[3679]|0; _memmove(($5|0),($4|0),64)|0; $6 = (($2) + -1)|0; - HEAP32[4170] = $6; + HEAP32[4188] = $6; return; } function _rlDisableDepthTest() { @@ -13722,7 +13648,7 @@ function _rlTranslatef($0,$1,$2) { $4 = sp; _MatrixTranslate($3,$0,$1,$2); _MatrixTranspose($3); - $5 = HEAP32[3661]|0; + $5 = HEAP32[3679]|0; dest=$$byval_copy; src=$5; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$$byval_copy1; src=$3; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixMultiply($4,$$byval_copy,$$byval_copy1); @@ -13755,7 +13681,7 @@ function _rlRotatef($0,$1,$2,$3) { _MatrixRotate($6,$$byval_copy2,$10); dest=$4; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixTranspose($4); - $11 = HEAP32[3661]|0; + $11 = HEAP32[3679]|0; dest=$$byval_copy1; src=$11; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$$byval_copy2; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixMultiply($7,$$byval_copy1,$$byval_copy2); @@ -13775,7 +13701,7 @@ function _rlScalef($0,$1,$2) { $4 = sp; _MatrixScale($3,$0,$1,$2); _MatrixTranspose($3); - $5 = HEAP32[3661]|0; + $5 = HEAP32[3679]|0; dest=$$byval_copy; src=$5; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$$byval_copy1; src=$3; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixMultiply($4,$$byval_copy,$$byval_copy1); @@ -13786,7 +13712,7 @@ function _rlBegin($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; - HEAP32[3734] = $0; + HEAP32[3752] = $0; return; } function _rlEnd() { @@ -13802,21 +13728,21 @@ function _rlEnd() { sp = STACKTOP; STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); $$byval_copy = sp; - $0 = HEAP32[4171]|0; + $0 = HEAP32[4189]|0; $1 = ($0|0)==(0); if (!($1)) { - $2 = HEAP32[4172]|0; + $2 = HEAP32[4190]|0; $3 = ($2|0)>(0); if ($3) { $$03956 = 0; while(1) { - $6 = HEAP32[3731]|0; + $6 = HEAP32[3749]|0; $7 = (($6) + (($$03956*12)|0)|0); - $8 = HEAP32[3661]|0; + $8 = HEAP32[3679]|0; dest=$$byval_copy; src=$8; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _VectorTransform($7,$$byval_copy); $9 = (($$03956) + 1)|0; - $5 = HEAP32[4172]|0; + $5 = HEAP32[4190]|0; $10 = ($9|0)<($5|0); if ($10) { $$03956 = $9; @@ -13824,12 +13750,12 @@ function _rlEnd() { break; } } - HEAP32[4171] = 0; + HEAP32[4189] = 0; $4 = ($5|0)>(0); if ($4) { $$04154 = 0; while(1) { - $11 = HEAP32[3731]|0; + $11 = HEAP32[3749]|0; $12 = (($11) + (($$04154*12)|0)|0); $13 = +HEAPF32[$12>>2]; $14 = (((($11) + (($$04154*12)|0)|0)) + 4|0); @@ -13838,7 +13764,7 @@ function _rlEnd() { $17 = +HEAPF32[$16>>2]; _rlVertex3f($13,$15,$17); $18 = (($$04154) + 1)|0; - $19 = HEAP32[4172]|0; + $19 = HEAP32[4190]|0; $20 = ($18|0)<($19|0); if ($20) { $$04154 = $18; @@ -13848,15 +13774,15 @@ function _rlEnd() { } } } else { - HEAP32[4171] = 0; + HEAP32[4189] = 0; } - HEAP32[4172] = 0; + HEAP32[4190] = 0; } - $21 = HEAP32[3734]|0; + $21 = HEAP32[3752]|0; switch ($21|0) { case 1: { - $22 = HEAP32[3993]|0; - $23 = HEAP32[(15980)>>2]|0; + $22 = HEAP32[4011]|0; + $23 = HEAP32[(16052)>>2]|0; $24 = ($22|0)==($23|0); if ($24) { $148 = +HEAPF32[764]; @@ -13875,16 +13801,16 @@ function _rlEnd() { STACKTOP = sp;return; } while(1) { - $27 = HEAP32[(15992)>>2]|0; - $28 = HEAP32[(15980)>>2]|0; + $27 = HEAP32[(16064)>>2]|0; + $28 = HEAP32[(16052)>>2]|0; $29 = $28 << 2; $30 = (($29) + -4)|0; $31 = (($27) + ($30)|0); $32 = HEAP8[$31>>0]|0; $33 = (($27) + ($29)|0); HEAP8[$33>>0] = $32; - $34 = HEAP32[(15992)>>2]|0; - $35 = HEAP32[(15980)>>2]|0; + $34 = HEAP32[(16064)>>2]|0; + $35 = HEAP32[(16052)>>2]|0; $36 = $35 << 2; $37 = (($36) + -3)|0; $38 = (($34) + ($37)|0); @@ -13892,8 +13818,8 @@ function _rlEnd() { $40 = $36 | 1; $41 = (($34) + ($40)|0); HEAP8[$41>>0] = $39; - $42 = HEAP32[(15992)>>2]|0; - $43 = HEAP32[(15980)>>2]|0; + $42 = HEAP32[(16064)>>2]|0; + $43 = HEAP32[(16052)>>2]|0; $44 = $43 << 2; $45 = (($44) + -2)|0; $46 = (($42) + ($45)|0); @@ -13901,8 +13827,8 @@ function _rlEnd() { $48 = $44 | 2; $49 = (($42) + ($48)|0); HEAP8[$49>>0] = $47; - $50 = HEAP32[(15992)>>2]|0; - $51 = HEAP32[(15980)>>2]|0; + $50 = HEAP32[(16064)>>2]|0; + $51 = HEAP32[(16052)>>2]|0; $52 = $51 << 2; $53 = (($52) + -1)|0; $54 = (($50) + ($53)|0); @@ -13910,9 +13836,9 @@ function _rlEnd() { $56 = $52 | 3; $57 = (($50) + ($56)|0); HEAP8[$57>>0] = $55; - $58 = HEAP32[(15980)>>2]|0; + $58 = HEAP32[(16052)>>2]|0; $59 = (($58) + 1)|0; - HEAP32[(15980)>>2] = $59; + HEAP32[(16052)>>2] = $59; $60 = (($$04347) + 1)|0; $exitcond = ($60|0)==($25|0); if ($exitcond) { @@ -13928,8 +13854,8 @@ function _rlEnd() { break; } case 4: { - $61 = HEAP32[4005]|0; - $62 = HEAP32[(16028)>>2]|0; + $61 = HEAP32[4023]|0; + $62 = HEAP32[(16100)>>2]|0; $63 = ($61|0)==($62|0); if ($63) { $148 = +HEAPF32[764]; @@ -13948,16 +13874,16 @@ function _rlEnd() { STACKTOP = sp;return; } while(1) { - $66 = HEAP32[(16040)>>2]|0; - $67 = HEAP32[(16028)>>2]|0; + $66 = HEAP32[(16112)>>2]|0; + $67 = HEAP32[(16100)>>2]|0; $68 = $67 << 2; $69 = (($68) + -4)|0; $70 = (($66) + ($69)|0); $71 = HEAP8[$70>>0]|0; $72 = (($66) + ($68)|0); HEAP8[$72>>0] = $71; - $73 = HEAP32[(16040)>>2]|0; - $74 = HEAP32[(16028)>>2]|0; + $73 = HEAP32[(16112)>>2]|0; + $74 = HEAP32[(16100)>>2]|0; $75 = $74 << 2; $76 = (($75) + -3)|0; $77 = (($73) + ($76)|0); @@ -13965,8 +13891,8 @@ function _rlEnd() { $79 = $75 | 1; $80 = (($73) + ($79)|0); HEAP8[$80>>0] = $78; - $81 = HEAP32[(16040)>>2]|0; - $82 = HEAP32[(16028)>>2]|0; + $81 = HEAP32[(16112)>>2]|0; + $82 = HEAP32[(16100)>>2]|0; $83 = $82 << 2; $84 = (($83) + -2)|0; $85 = (($81) + ($84)|0); @@ -13974,8 +13900,8 @@ function _rlEnd() { $87 = $83 | 2; $88 = (($81) + ($87)|0); HEAP8[$88>>0] = $86; - $89 = HEAP32[(16040)>>2]|0; - $90 = HEAP32[(16028)>>2]|0; + $89 = HEAP32[(16112)>>2]|0; + $90 = HEAP32[(16100)>>2]|0; $91 = $90 << 2; $92 = (($91) + -1)|0; $93 = (($89) + ($92)|0); @@ -13983,9 +13909,9 @@ function _rlEnd() { $95 = $91 | 3; $96 = (($89) + ($95)|0); HEAP8[$96>>0] = $94; - $97 = HEAP32[(16028)>>2]|0; + $97 = HEAP32[(16100)>>2]|0; $98 = (($97) + 1)|0; - HEAP32[(16028)>>2] = $98; + HEAP32[(16100)>>2] = $98; $99 = (($$04248) + 1)|0; $exitcond60 = ($99|0)==($64|0); if ($exitcond60) { @@ -14001,8 +13927,8 @@ function _rlEnd() { break; } case 7: { - $100 = HEAP32[4017]|0; - $101 = HEAP32[(16076)>>2]|0; + $100 = HEAP32[4035]|0; + $101 = HEAP32[(16148)>>2]|0; $102 = ($100|0)==($101|0); if (!($102)) { $103 = (($100) - ($101))|0; @@ -14010,16 +13936,16 @@ function _rlEnd() { if ($104) { $$04052 = 0; while(1) { - $105 = HEAP32[(16088)>>2]|0; - $106 = HEAP32[(16076)>>2]|0; + $105 = HEAP32[(16160)>>2]|0; + $106 = HEAP32[(16148)>>2]|0; $107 = $106 << 2; $108 = (($107) + -4)|0; $109 = (($105) + ($108)|0); $110 = HEAP8[$109>>0]|0; $111 = (($105) + ($107)|0); HEAP8[$111>>0] = $110; - $112 = HEAP32[(16088)>>2]|0; - $113 = HEAP32[(16076)>>2]|0; + $112 = HEAP32[(16160)>>2]|0; + $113 = HEAP32[(16148)>>2]|0; $114 = $113 << 2; $115 = (($114) + -3)|0; $116 = (($112) + ($115)|0); @@ -14027,8 +13953,8 @@ function _rlEnd() { $118 = $114 | 1; $119 = (($112) + ($118)|0); HEAP8[$119>>0] = $117; - $120 = HEAP32[(16088)>>2]|0; - $121 = HEAP32[(16076)>>2]|0; + $120 = HEAP32[(16160)>>2]|0; + $121 = HEAP32[(16148)>>2]|0; $122 = $121 << 2; $123 = (($122) + -2)|0; $124 = (($120) + ($123)|0); @@ -14036,8 +13962,8 @@ function _rlEnd() { $126 = $122 | 2; $127 = (($120) + ($126)|0); HEAP8[$127>>0] = $125; - $128 = HEAP32[(16088)>>2]|0; - $129 = HEAP32[(16076)>>2]|0; + $128 = HEAP32[(16160)>>2]|0; + $129 = HEAP32[(16148)>>2]|0; $130 = $129 << 2; $131 = (($130) + -1)|0; $132 = (($128) + ($131)|0); @@ -14045,9 +13971,9 @@ function _rlEnd() { $134 = $130 | 3; $135 = (($128) + ($134)|0); HEAP8[$135>>0] = $133; - $136 = HEAP32[(16076)>>2]|0; + $136 = HEAP32[(16148)>>2]|0; $137 = (($136) + 1)|0; - HEAP32[(16076)>>2] = $137; + HEAP32[(16148)>>2] = $137; $138 = (($$04052) + 1)|0; $exitcond63 = ($138|0)==($103|0); if ($exitcond63) { @@ -14058,8 +13984,8 @@ function _rlEnd() { } } } - $139 = HEAP32[4017]|0; - $140 = HEAP32[(16072)>>2]|0; + $139 = HEAP32[4035]|0; + $140 = HEAP32[(16144)>>2]|0; $141 = ($139|0)>($140|0); if (!($141)) { $148 = +HEAPF32[764]; @@ -14067,8 +13993,8 @@ function _rlEnd() { HEAPF32[764] = $149; STACKTOP = sp;return; } - $142 = HEAP32[(16084)>>2]|0; - $$promoted = HEAP32[(16072)>>2]|0; + $142 = HEAP32[(16156)>>2]|0; + $$promoted = HEAP32[(16144)>>2]|0; $143 = $$promoted << 1; $scevgep = (($142) + ($143<<2)|0); $144 = (($139) - ($140))|0; @@ -14076,7 +14002,7 @@ function _rlEnd() { _memset(($scevgep|0),0,($145|0))|0; $146 = (($139) + ($$promoted))|0; $147 = (($146) - ($140))|0; - HEAP32[(16072)>>2] = $147; + HEAP32[(16144)>>2] = $147; $148 = +HEAPF32[764]; $149 = $148 + 4.9999998736893758E-5; HEAPF32[764] = $149; @@ -14103,11 +14029,11 @@ function _rlVertex3f($0,$1,$2) { $vararg_buffer3 = sp + 16|0; $vararg_buffer1 = sp + 8|0; $vararg_buffer = sp; - $3 = HEAP32[4171]|0; + $3 = HEAP32[4189]|0; $4 = ($3|0)==(0); if (!($4)) { - $5 = HEAP32[3731]|0; - $6 = HEAP32[4172]|0; + $5 = HEAP32[3749]|0; + $6 = HEAP32[4190]|0; $7 = (($5) + (($6*12)|0)|0); HEAPF32[$7>>2] = $0; $8 = (((($5) + (($6*12)|0)|0)) + 4|0); @@ -14115,16 +14041,16 @@ function _rlVertex3f($0,$1,$2) { $9 = (((($5) + (($6*12)|0)|0)) + 8|0); HEAPF32[$9>>2] = $2; $10 = (($6) + 1)|0; - HEAP32[4172] = $10; + HEAP32[4190] = $10; STACKTOP = sp;return; } - $11 = HEAP32[3734]|0; + $11 = HEAP32[3752]|0; switch ($11|0) { case 1: { - $12 = HEAP32[3993]|0; + $12 = HEAP32[4011]|0; $13 = ($12|0)<(2048); if ($13) { - $14 = HEAP32[(15984)>>2]|0; + $14 = HEAP32[(16056)>>2]|0; $15 = ($12*3)|0; $16 = (($14) + ($15<<2)|0); HEAPF32[$16>>2] = $0; @@ -14135,19 +14061,19 @@ function _rlVertex3f($0,$1,$2) { $20 = (($14) + ($19<<2)|0); HEAPF32[$20>>2] = $2; $21 = (($12) + 1)|0; - HEAP32[3993] = $21; + HEAP32[4011] = $21; STACKTOP = sp;return; } else { - _TraceLog(1,8333,$vararg_buffer); + _TraceLog(2,8398,$vararg_buffer); STACKTOP = sp;return; } break; } case 4: { - $22 = HEAP32[4005]|0; + $22 = HEAP32[4023]|0; $23 = ($22|0)<(6144); if ($23) { - $24 = HEAP32[(16032)>>2]|0; + $24 = HEAP32[(16104)>>2]|0; $25 = ($22*3)|0; $26 = (($24) + ($25<<2)|0); HEAPF32[$26>>2] = $0; @@ -14158,19 +14084,19 @@ function _rlVertex3f($0,$1,$2) { $30 = (($24) + ($29<<2)|0); HEAPF32[$30>>2] = $2; $31 = (($22) + 1)|0; - HEAP32[4005] = $31; + HEAP32[4023] = $31; STACKTOP = sp;return; } else { - _TraceLog(1,8358,$vararg_buffer1); + _TraceLog(2,8423,$vararg_buffer1); STACKTOP = sp;return; } break; } case 7: { - $32 = HEAP32[4017]|0; + $32 = HEAP32[4035]|0; $33 = ($32|0)<(4096); if ($33) { - $34 = HEAP32[(16080)>>2]|0; + $34 = HEAP32[(16152)>>2]|0; $35 = ($32*3)|0; $36 = (($34) + ($35<<2)|0); HEAPF32[$36>>2] = $0; @@ -14181,9 +14107,9 @@ function _rlVertex3f($0,$1,$2) { $40 = (($34) + ($39<<2)|0); HEAPF32[$40>>2] = $2; $41 = (($32) + 1)|0; - HEAP32[4017] = $41; - $42 = HEAP32[3732]|0; - $43 = HEAP32[3733]|0; + HEAP32[4035] = $41; + $42 = HEAP32[3750]|0; + $43 = HEAP32[3751]|0; $44 = (($43) + -1)|0; $45 = (($42) + (($44*144)|0)|0); $46 = HEAP32[$45>>2]|0; @@ -14191,7 +14117,7 @@ function _rlVertex3f($0,$1,$2) { HEAP32[$45>>2] = $47; STACKTOP = sp;return; } else { - _TraceLog(1,8387,$vararg_buffer3); + _TraceLog(2,8452,$vararg_buffer3); STACKTOP = sp;return; } break; @@ -14226,13 +14152,13 @@ function _rlTexCoord2f($0,$1) { $1 = +$1; var $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $2 = HEAP32[3734]|0; + $2 = HEAP32[3752]|0; $3 = ($2|0)==(7); if (!($3)) { return; } - $4 = HEAP32[(16084)>>2]|0; - $5 = HEAP32[(16072)>>2]|0; + $4 = HEAP32[(16156)>>2]|0; + $5 = HEAP32[(16144)>>2]|0; $6 = $5 << 1; $7 = (($4) + ($6<<2)|0); HEAPF32[$7>>2] = $0; @@ -14240,7 +14166,7 @@ function _rlTexCoord2f($0,$1) { $9 = (($4) + ($8<<2)|0); HEAPF32[$9>>2] = $1; $10 = (($5) + 1)|0; - HEAP32[(16072)>>2] = $10; + HEAP32[(16144)>>2] = $10; return; } function _rlNormal3f($0,$1,$2) { @@ -14259,18 +14185,18 @@ function _rlColor4ub($0,$1,$2,$3) { var $$sink37 = 0, $$sink38 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $4 = 0, $5 = 0; var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $4 = HEAP32[3734]|0; + $4 = HEAP32[3752]|0; switch ($4|0) { case 1: { - $$sink37 = (15980);$$sink38 = (15992); + $$sink37 = (16052);$$sink38 = (16064); break; } case 4: { - $$sink37 = (16028);$$sink38 = (16040); + $$sink37 = (16100);$$sink38 = (16112); break; } case 7: { - $$sink37 = (16076);$$sink38 = (16088); + $$sink37 = (16148);$$sink38 = (16160); break; } default: { @@ -14309,8 +14235,8 @@ function _rlEnableTexture($0) { $0 = $0|0; var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $1 = HEAP32[3732]|0; - $2 = HEAP32[3733]|0; + $1 = HEAP32[3750]|0; + $2 = HEAP32[3751]|0; $3 = (($2) + -1)|0; $4 = (((($1) + (($3*144)|0)|0)) + 8|0); $5 = HEAP32[$4>>2]|0; @@ -14323,9 +14249,9 @@ function _rlEnableTexture($0) { $9 = ($8|0)>(0); if ($9) { $10 = (($2) + 1)|0; - HEAP32[3733] = $10; + HEAP32[3751] = $10; } - $11 = HEAP32[3733]|0; + $11 = HEAP32[3751]|0; $12 = (($11) + -1)|0; $13 = (((($1) + (($12*144)|0)|0)) + 8|0); HEAP32[$13>>2] = $0; @@ -14336,7 +14262,7 @@ function _rlEnableTexture($0) { function _rlDisableTexture() { var $0 = 0, $1 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4017]|0; + $0 = HEAP32[4035]|0; $1 = ($0|0)>(4095); if (!($1)) { return; @@ -14348,7 +14274,7 @@ function _GetDefaultTexture($0) { $0 = $0|0; var $$sroa$4$0$$sroa_idx2 = 0, $$sroa$5$0$$sroa_idx4 = 0, $$sroa$6$0$$sroa_idx6 = 0, $$sroa$7$0$$sroa_idx8 = 0, $1 = 0, label = 0, sp = 0; sp = STACKTOP; - $1 = HEAP32[3702]|0; + $1 = HEAP32[3720]|0; HEAP32[$0>>2] = $1; $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); HEAP32[$$sroa$4$0$$sroa_idx2>>2] = 1; @@ -14579,7 +14505,7 @@ function _GetDefaultFont($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; - ;HEAP32[$0>>2]=HEAP32[14496>>2]|0;HEAP32[$0+4>>2]=HEAP32[14496+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[14496+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[14496+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[14496+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[14496+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[14496+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[14496+28>>2]|0; + ;HEAP32[$0>>2]=HEAP32[14564>>2]|0;HEAP32[$0+4>>2]=HEAP32[14564+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[14564+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[14564+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[14564+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[14564+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[14564+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[14564+28>>2]|0; return; } function _GetCharIndex($0,$1) { @@ -15171,7 +15097,7 @@ function _emscripten_GetProcAddress($0) { $10 = HEAP32[$2>>2]|0; (_strcpy($9,$10)|0); $11 = HEAP32[$3>>2]|0; - $12 = (_strstr($11,8412)|0); + $12 = (_strstr($11,8477)|0); HEAP32[$4>>2] = $12; $13 = HEAP32[$4>>2]|0; $14 = ($13|0)!=(0|0); @@ -15180,7 +15106,7 @@ function _emscripten_GetProcAddress($0) { HEAP8[$15>>0] = 0; } $16 = HEAP32[$3>>2]|0; - $17 = (_strstr($16,8416)|0); + $17 = (_strstr($16,8481)|0); HEAP32[$4>>2] = $17; $18 = HEAP32[$4>>2]|0; $19 = ($18|0)!=(0|0); @@ -15189,7 +15115,7 @@ function _emscripten_GetProcAddress($0) { HEAP8[$20>>0] = 0; } $21 = HEAP32[$3>>2]|0; - $22 = (_strstr($21,8420)|0); + $22 = (_strstr($21,8485)|0); HEAP32[$4>>2] = $22; $23 = HEAP32[$4>>2]|0; $24 = ($23|0)!=(0|0); @@ -15198,7 +15124,7 @@ function _emscripten_GetProcAddress($0) { HEAP8[$25>>0] = 0; } $26 = HEAP32[$3>>2]|0; - $27 = (_strstr($26,8424)|0); + $27 = (_strstr($26,8489)|0); HEAP32[$4>>2] = $27; $28 = HEAP32[$4>>2]|0; $29 = ($28|0)!=(0|0); @@ -15207,1210 +15133,1210 @@ function _emscripten_GetProcAddress($0) { HEAP8[$30>>0] = 0; } $31 = HEAP32[$3>>2]|0; - $32 = (_strcmp($31,8430)|0); + $32 = (_strcmp($31,8495)|0); $33 = ($32|0)!=(0); do { if ($33) { $34 = HEAP32[$3>>2]|0; - $35 = (_strcmp($34,8468)|0); + $35 = (_strcmp($34,8533)|0); $36 = ($35|0)!=(0); if (!($36)) { - HEAP32[$3>>2] = 8487; + HEAP32[$3>>2] = 8552; break; } $37 = HEAP32[$3>>2]|0; - $38 = (_strcmp($37,8500)|0); + $38 = (_strcmp($37,8565)|0); $39 = ($38|0)!=(0); if (!($39)) { - HEAP32[$3>>2] = 8521; + HEAP32[$3>>2] = 8586; break; } $40 = HEAP32[$3>>2]|0; - $41 = (_strcmp($40,8536)|0); + $41 = (_strcmp($40,8601)|0); $42 = ($41|0)!=(0); if (!($42)) { - HEAP32[$3>>2] = 8551; + HEAP32[$3>>2] = 8616; break; } $43 = HEAP32[$3>>2]|0; - $44 = (_strcmp($43,8566)|0); + $44 = (_strcmp($43,8631)|0); $45 = ($44|0)!=(0); if (!($45)) { - HEAP32[$3>>2] = 8581; + HEAP32[$3>>2] = 8646; } } else { - HEAP32[$3>>2] = 8452; + HEAP32[$3>>2] = 8517; } } while(0); $46 = HEAP32[$3>>2]|0; - $47 = (_strcmp($46,8596)|0); + $47 = (_strcmp($46,8661)|0); $48 = ($47|0)!=(0); do { if ($48) { $49 = HEAP32[$3>>2]|0; - $50 = (_strcmp($49,8610)|0); + $50 = (_strcmp($49,8675)|0); $51 = ($50|0)!=(0); if (!($51)) { HEAP32[$1>>2] = 2; break; } $52 = HEAP32[$3>>2]|0; - $53 = (_strcmp($52,8622)|0); + $53 = (_strcmp($52,8687)|0); $54 = ($53|0)!=(0); if (!($54)) { HEAP32[$1>>2] = 6; break; } $55 = HEAP32[$3>>2]|0; - $56 = (_strcmp($55,8636)|0); + $56 = (_strcmp($55,8701)|0); $57 = ($56|0)!=(0); if (!($57)) { HEAP32[$1>>2] = 7; break; } $58 = HEAP32[$3>>2]|0; - $59 = (_strcmp($58,8648)|0); + $59 = (_strcmp($58,8713)|0); $60 = ($59|0)!=(0); if (!($60)) { HEAP32[$1>>2] = 8; break; } $61 = HEAP32[$3>>2]|0; - $62 = (_strcmp($61,8662)|0); + $62 = (_strcmp($61,8727)|0); $63 = ($62|0)!=(0); if (!($63)) { HEAP32[$1>>2] = 9; break; } $64 = HEAP32[$3>>2]|0; - $65 = (_strcmp($64,8676)|0); + $65 = (_strcmp($64,8741)|0); $66 = ($65|0)!=(0); if (!($66)) { HEAP32[$1>>2] = 10; break; } $67 = HEAP32[$3>>2]|0; - $68 = (_strcmp($67,8693)|0); + $68 = (_strcmp($67,8758)|0); $69 = ($68|0)!=(0); if (!($69)) { HEAP32[$1>>2] = 1; break; } $70 = HEAP32[$3>>2]|0; - $71 = (_strcmp($70,8716)|0); + $71 = (_strcmp($70,8781)|0); $72 = ($71|0)!=(0); if (!($72)) { HEAP32[$1>>2] = 1; break; } $73 = HEAP32[$3>>2]|0; - $74 = (_strcmp($73,8742)|0); + $74 = (_strcmp($73,8807)|0); $75 = ($74|0)!=(0); if (!($75)) { HEAP32[$1>>2] = 2; break; } $76 = HEAP32[$3>>2]|0; - $77 = (_strcmp($76,8755)|0); + $77 = (_strcmp($76,8820)|0); $78 = ($77|0)!=(0); if (!($78)) { HEAP32[$1>>2] = 3; break; } $79 = HEAP32[$3>>2]|0; - $80 = (_strcmp($79,8771)|0); + $80 = (_strcmp($79,8836)|0); $81 = ($80|0)!=(0); if (!($81)) { HEAP32[$1>>2] = 1; break; } $82 = HEAP32[$3>>2]|0; - $83 = (_strcmp($82,8784)|0); + $83 = (_strcmp($82,8849)|0); $84 = ($83|0)!=(0); if (!($84)) { HEAP32[$1>>2] = 11; break; } $85 = HEAP32[$3>>2]|0; - $86 = (_strcmp($85,8798)|0); + $86 = (_strcmp($85,8863)|0); $87 = ($86|0)!=(0); if (!($87)) { HEAP32[$1>>2] = 2; break; } $88 = HEAP32[$3>>2]|0; - $89 = (_strcmp($88,8818)|0); + $89 = (_strcmp($88,8883)|0); $90 = ($89|0)!=(0); if (!($90)) { HEAP32[$1>>2] = 3; break; } $91 = HEAP32[$3>>2]|0; - $92 = (_strcmp($91,8838)|0); + $92 = (_strcmp($91,8903)|0); $93 = ($92|0)!=(0); if (!($93)) { HEAP32[$1>>2] = 4; break; } $94 = HEAP32[$3>>2]|0; - $95 = (_strcmp($94,8855)|0); + $95 = (_strcmp($94,8920)|0); $96 = ($95|0)!=(0); if (!($96)) { HEAP32[$1>>2] = 5; break; } $97 = HEAP32[$3>>2]|0; - $98 = (_strcmp($97,8872)|0); + $98 = (_strcmp($97,8937)|0); $99 = ($98|0)!=(0); if (!($99)) { HEAP32[$1>>2] = 3; break; } $100 = HEAP32[$3>>2]|0; - $101 = (_strcmp($100,8884)|0); + $101 = (_strcmp($100,8949)|0); $102 = ($101|0)!=(0); if (!($102)) { HEAP32[$1>>2] = 12; break; } $103 = HEAP32[$3>>2]|0; - $104 = (_strcmp($103,8897)|0); + $104 = (_strcmp($103,8962)|0); $105 = ($104|0)!=(0); if (!($105)) { HEAP32[$1>>2] = 13; break; } $106 = HEAP32[$3>>2]|0; - $107 = (_strcmp($106,8913)|0); + $107 = (_strcmp($106,8978)|0); $108 = ($107|0)!=(0); if (!($108)) { HEAP32[$1>>2] = 6; break; } $109 = HEAP32[$3>>2]|0; - $110 = (_strcmp($109,8936)|0); + $110 = (_strcmp($109,9001)|0); $111 = ($110|0)!=(0); if (!($111)) { HEAP32[$1>>2] = 2; break; } $112 = HEAP32[$3>>2]|0; - $113 = (_strcmp($112,8949)|0); + $113 = (_strcmp($112,9014)|0); $114 = ($113|0)!=(0); if (!($114)) { HEAP32[$1>>2] = 3; break; } $115 = HEAP32[$3>>2]|0; - $116 = (_strcmp($115,8965)|0); + $116 = (_strcmp($115,9030)|0); $117 = ($116|0)!=(0); if (!($117)) { HEAP32[$1>>2] = 4; break; } $118 = HEAP32[$3>>2]|0; - $119 = (_strcmp($118,8976)|0); + $119 = (_strcmp($118,9041)|0); $120 = ($119|0)!=(0); if (!($120)) { HEAP32[$1>>2] = 14; break; } $121 = HEAP32[$3>>2]|0; - $122 = (_strcmp($121,8995)|0); + $122 = (_strcmp($121,9060)|0); $123 = ($122|0)!=(0); if (!($123)) { HEAP32[$1>>2] = 15; break; } $124 = HEAP32[$3>>2]|0; - $125 = (_strcmp($124,9017)|0); + $125 = (_strcmp($124,9082)|0); $126 = ($125|0)!=(0); if (!($126)) { HEAP32[$1>>2] = 16; break; } $127 = HEAP32[$3>>2]|0; - $128 = (_strcmp($127,9036)|0); + $128 = (_strcmp($127,9101)|0); $129 = ($128|0)!=(0); if (!($129)) { HEAP32[$1>>2] = 7; break; } $130 = HEAP32[$3>>2]|0; - $131 = (_strcmp($130,9065)|0); + $131 = (_strcmp($130,9130)|0); $132 = ($131|0)!=(0); if (!($132)) { HEAP32[$1>>2] = 5; break; } $133 = HEAP32[$3>>2]|0; - $134 = (_strcmp($133,9082)|0); + $134 = (_strcmp($133,9147)|0); $135 = ($134|0)!=(0); if (!($135)) { HEAP32[$1>>2] = 8; break; } $136 = HEAP32[$3>>2]|0; - $137 = (_strcmp($136,9097)|0); + $137 = (_strcmp($136,9162)|0); $138 = ($137|0)!=(0); if (!($138)) { HEAP32[$1>>2] = 9; break; } $139 = HEAP32[$3>>2]|0; - $140 = (_strcmp($139,9112)|0); + $140 = (_strcmp($139,9177)|0); $141 = ($140|0)!=(0); if (!($141)) { HEAP32[$1>>2] = 1; break; } $142 = HEAP32[$3>>2]|0; - $143 = (_strcmp($142,9133)|0); + $143 = (_strcmp($142,9198)|0); $144 = ($143|0)!=(0); if (!($144)) { HEAP32[$1>>2] = 10; break; } $145 = HEAP32[$3>>2]|0; - $146 = (_strcmp($145,9153)|0); + $146 = (_strcmp($145,9218)|0); $147 = ($146|0)!=(0); if (!($147)) { HEAP32[$1>>2] = 11; break; } $148 = HEAP32[$3>>2]|0; - $149 = (_strcmp($148,9173)|0); + $149 = (_strcmp($148,9238)|0); $150 = ($149|0)!=(0); if (!($150)) { HEAP32[$1>>2] = 12; break; } $151 = HEAP32[$3>>2]|0; - $152 = (_strcmp($151,9199)|0); + $152 = (_strcmp($151,9264)|0); $153 = ($152|0)!=(0); if (!($153)) { HEAP32[$1>>2] = 2; break; } $154 = HEAP32[$3>>2]|0; - $155 = (_strcmp($154,9218)|0); + $155 = (_strcmp($154,9283)|0); $156 = ($155|0)!=(0); if (!($156)) { HEAP32[$1>>2] = 1; break; } $157 = HEAP32[$3>>2]|0; - $158 = (_strcmp($157,9230)|0); + $158 = (_strcmp($157,9295)|0); $159 = ($158|0)!=(0); if (!($159)) { HEAP32[$1>>2] = 3; break; } $160 = HEAP32[$3>>2]|0; - $161 = (_strcmp($160,9242)|0); + $161 = (_strcmp($160,9307)|0); $162 = ($161|0)!=(0); if (!($162)) { HEAP32[$1>>2] = 1; break; } $163 = HEAP32[$3>>2]|0; - $164 = (_strcmp($163,9254)|0); + $164 = (_strcmp($163,9319)|0); $165 = ($164|0)!=(0); if (!($165)) { HEAP32[$1>>2] = 1; break; } $166 = HEAP32[$3>>2]|0; - $167 = (_strcmp($166,9266)|0); + $167 = (_strcmp($166,9331)|0); $168 = ($167|0)!=(0); if (!($168)) { HEAP32[$1>>2] = 17; break; } $169 = HEAP32[$3>>2]|0; - $170 = (_strcmp($169,9278)|0); + $170 = (_strcmp($169,9343)|0); $171 = ($170|0)!=(0); if (!($171)) { HEAP32[$1>>2] = 13; break; } $172 = HEAP32[$3>>2]|0; - $173 = (_strcmp($172,9290)|0); + $173 = (_strcmp($172,9355)|0); $174 = ($173|0)!=(0); if (!($174)) { HEAP32[$1>>2] = 4; break; } $175 = HEAP32[$3>>2]|0; - $176 = (_strcmp($175,9302)|0); + $176 = (_strcmp($175,9367)|0); $177 = ($176|0)!=(0); if (!($177)) { HEAP32[$1>>2] = 2; break; } $178 = HEAP32[$3>>2]|0; - $179 = (_strcmp($178,9314)|0); + $179 = (_strcmp($178,9379)|0); $180 = ($179|0)!=(0); if (!($180)) { HEAP32[$1>>2] = 14; break; } $181 = HEAP32[$3>>2]|0; - $182 = (_strcmp($181,9327)|0); + $182 = (_strcmp($181,9392)|0); $183 = ($182|0)!=(0); if (!($183)) { HEAP32[$1>>2] = 15; break; } $184 = HEAP32[$3>>2]|0; - $185 = (_strcmp($184,9340)|0); + $185 = (_strcmp($184,9405)|0); $186 = ($185|0)!=(0); if (!($186)) { HEAP32[$1>>2] = 16; break; } $187 = HEAP32[$3>>2]|0; - $188 = (_strcmp($187,9353)|0); + $188 = (_strcmp($187,9418)|0); $189 = ($188|0)!=(0); if (!($189)) { HEAP32[$1>>2] = 17; break; } $190 = HEAP32[$3>>2]|0; - $191 = (_strcmp($190,9366)|0); + $191 = (_strcmp($190,9431)|0); $192 = ($191|0)!=(0); if (!($192)) { HEAP32[$1>>2] = 18; break; } $193 = HEAP32[$3>>2]|0; - $194 = (_strcmp($193,9379)|0); + $194 = (_strcmp($193,9444)|0); $195 = ($194|0)!=(0); if (!($195)) { HEAP32[$1>>2] = 19; break; } $196 = HEAP32[$3>>2]|0; - $197 = (_strcmp($196,9392)|0); + $197 = (_strcmp($196,9457)|0); $198 = ($197|0)!=(0); if (!($198)) { HEAP32[$1>>2] = 20; break; } $199 = HEAP32[$3>>2]|0; - $200 = (_strcmp($199,9405)|0); + $200 = (_strcmp($199,9470)|0); $201 = ($200|0)!=(0); if (!($201)) { HEAP32[$1>>2] = 21; break; } $202 = HEAP32[$3>>2]|0; - $203 = (_strcmp($202,9418)|0); + $203 = (_strcmp($202,9483)|0); $204 = ($203|0)!=(0); if (!($204)) { HEAP32[$1>>2] = 5; break; } $205 = HEAP32[$3>>2]|0; - $206 = (_strcmp($205,9437)|0); + $206 = (_strcmp($205,9502)|0); $207 = ($206|0)!=(0); if (!($207)) { HEAP32[$1>>2] = 6; break; } $208 = HEAP32[$3>>2]|0; - $209 = (_strcmp($208,9456)|0); + $209 = (_strcmp($208,9521)|0); $210 = ($209|0)!=(0); if (!($210)) { HEAP32[$1>>2] = 7; break; } $211 = HEAP32[$3>>2]|0; - $212 = (_strcmp($211,9475)|0); + $212 = (_strcmp($211,9540)|0); $213 = ($212|0)!=(0); if (!($213)) { HEAP32[$1>>2] = 18; break; } $214 = HEAP32[$3>>2]|0; - $215 = (_strcmp($214,9488)|0); + $215 = (_strcmp($214,9553)|0); $216 = ($215|0)!=(0); if (!($216)) { HEAP32[$1>>2] = 19; break; } $217 = HEAP32[$3>>2]|0; - $218 = (_strcmp($217,9506)|0); + $218 = (_strcmp($217,9571)|0); $219 = ($218|0)!=(0); if (!($219)) { HEAP32[$1>>2] = 20; break; } $220 = HEAP32[$3>>2]|0; - $221 = (_strcmp($220,9524)|0); + $221 = (_strcmp($220,9589)|0); $222 = ($221|0)!=(0); if (!($222)) { HEAP32[$1>>2] = 21; break; } $223 = HEAP32[$3>>2]|0; - $224 = (_strcmp($223,9542)|0); + $224 = (_strcmp($223,9607)|0); $225 = ($224|0)!=(0); if (!($225)) { HEAP32[$1>>2] = 22; break; } $226 = HEAP32[$3>>2]|0; - $227 = (_strcmp($226,9560)|0); + $227 = (_strcmp($226,9625)|0); $228 = ($227|0)!=(0); if (!($228)) { HEAP32[$1>>2] = 2; break; } $229 = HEAP32[$3>>2]|0; - $230 = (_strcmp($229,9580)|0); + $230 = (_strcmp($229,9645)|0); $231 = ($230|0)!=(0); if (!($231)) { HEAP32[$1>>2] = 3; break; } $232 = HEAP32[$3>>2]|0; - $233 = (_strcmp($232,8521)|0); + $233 = (_strcmp($232,8586)|0); $234 = ($233|0)!=(0); if (!($234)) { HEAP32[$1>>2] = 6; break; } $235 = HEAP32[$3>>2]|0; - $236 = (_strcmp($235,9598)|0); + $236 = (_strcmp($235,9663)|0); $237 = ($236|0)!=(0); if (!($237)) { HEAP32[$1>>2] = 1; break; } $238 = HEAP32[$3>>2]|0; - $239 = (_strcmp($238,9613)|0); + $239 = (_strcmp($238,9678)|0); $240 = ($239|0)!=(0); if (!($240)) { HEAP32[$1>>2] = 8; break; } $241 = HEAP32[$3>>2]|0; - $242 = (_strcmp($241,9634)|0); + $242 = (_strcmp($241,9699)|0); $243 = ($242|0)!=(0); if (!($243)) { HEAP32[$1>>2] = 9; break; } $244 = HEAP32[$3>>2]|0; - $245 = (_strcmp($244,9649)|0); + $245 = (_strcmp($244,9714)|0); $246 = ($245|0)!=(0); if (!($246)) { HEAP32[$1>>2] = 10; break; } $247 = HEAP32[$3>>2]|0; - $248 = (_strcmp($247,9667)|0); + $248 = (_strcmp($247,9732)|0); $249 = ($248|0)!=(0); if (!($249)) { HEAP32[$1>>2] = 2; break; } $250 = HEAP32[$3>>2]|0; - $251 = (_strcmp($250,9683)|0); + $251 = (_strcmp($250,9748)|0); $252 = ($251|0)!=(0); if (!($252)) { HEAP32[$1>>2] = 11; break; } $253 = HEAP32[$3>>2]|0; - $254 = (_strcmp($253,9702)|0); + $254 = (_strcmp($253,9767)|0); $255 = ($254|0)!=(0); if (!($255)) { HEAP32[$1>>2] = 22; break; } $256 = HEAP32[$3>>2]|0; - $257 = (_strcmp($256,9716)|0); + $257 = (_strcmp($256,9781)|0); $258 = ($257|0)!=(0); if (!($258)) { HEAP32[$1>>2] = 23; break; } $259 = HEAP32[$3>>2]|0; - $260 = (_strcmp($259,9731)|0); + $260 = (_strcmp($259,9796)|0); $261 = ($260|0)!=(0); if (!($261)) { HEAP32[$1>>2] = 7; break; } $262 = HEAP32[$3>>2]|0; - $263 = (_strcmp($262,8452)|0); + $263 = (_strcmp($262,8517)|0); $264 = ($263|0)!=(0); if (!($264)) { HEAP32[$1>>2] = 1; break; } $265 = HEAP32[$3>>2]|0; - $266 = (_strcmp($265,9742)|0); + $266 = (_strcmp($265,9807)|0); $267 = ($266|0)!=(0); if (!($267)) { HEAP32[$1>>2] = 3; break; } $268 = HEAP32[$3>>2]|0; - $269 = (_strcmp($268,8551)|0); + $269 = (_strcmp($268,8616)|0); $270 = ($269|0)!=(0); if (!($270)) { HEAP32[$1>>2] = 23; break; } $271 = HEAP32[$3>>2]|0; - $272 = (_strcmp($271,8581)|0); + $272 = (_strcmp($271,8646)|0); $273 = ($272|0)!=(0); if (!($273)) { HEAP32[$1>>2] = 24; break; } $274 = HEAP32[$3>>2]|0; - $275 = (_strcmp($274,9758)|0); + $275 = (_strcmp($274,9823)|0); $276 = ($275|0)!=(0); if (!($276)) { HEAP32[$1>>2] = 12; break; } $277 = HEAP32[$3>>2]|0; - $278 = (_strcmp($277,9785)|0); + $278 = (_strcmp($277,9850)|0); $279 = ($278|0)!=(0); if (!($279)) { HEAP32[$1>>2] = 4; break; } $280 = HEAP32[$3>>2]|0; - $281 = (_strcmp($280,9799)|0); + $281 = (_strcmp($280,9864)|0); $282 = ($281|0)!=(0); if (!($282)) { HEAP32[$1>>2] = 13; break; } $283 = HEAP32[$3>>2]|0; - $284 = (_strcmp($283,8487)|0); + $284 = (_strcmp($283,8552)|0); $285 = ($284|0)!=(0); if (!($285)) { HEAP32[$1>>2] = 5; break; } $286 = HEAP32[$3>>2]|0; - $287 = (_strcmp($286,9819)|0); + $287 = (_strcmp($286,9884)|0); $288 = ($287|0)!=(0); if (!($288)) { HEAP32[$1>>2] = 6; break; } $289 = HEAP32[$3>>2]|0; - $290 = (_strcmp($289,9837)|0); + $290 = (_strcmp($289,9902)|0); $291 = ($290|0)!=(0); if (!($291)) { HEAP32[$1>>2] = 8; break; } $292 = HEAP32[$3>>2]|0; - $293 = (_strcmp($292,9849)|0); + $293 = (_strcmp($292,9914)|0); $294 = ($293|0)!=(0); if (!($294)) { HEAP32[$1>>2] = 24; break; } $295 = HEAP32[$3>>2]|0; - $296 = (_strcmp($295,9870)|0); + $296 = (_strcmp($295,9935)|0); $297 = ($296|0)!=(0); if (!($297)) { HEAP32[$1>>2] = 25; break; } $298 = HEAP32[$3>>2]|0; - $299 = (_strcmp($298,9888)|0); + $299 = (_strcmp($298,9953)|0); $300 = ($299|0)!=(0); if (!($300)) { HEAP32[$1>>2] = 26; break; } $301 = HEAP32[$3>>2]|0; - $302 = (_strcmp($301,9906)|0); + $302 = (_strcmp($301,9971)|0); $303 = ($302|0)!=(0); if (!($303)) { HEAP32[$1>>2] = 27; break; } $304 = HEAP32[$3>>2]|0; - $305 = (_strcmp($304,9927)|0); + $305 = (_strcmp($304,9992)|0); $306 = ($305|0)!=(0); if (!($306)) { HEAP32[$1>>2] = 14; break; } $307 = HEAP32[$3>>2]|0; - $308 = (_strcmp($307,9953)|0); + $308 = (_strcmp($307,10018)|0); $309 = ($308|0)!=(0); if (!($309)) { HEAP32[$1>>2] = 3; break; } $310 = HEAP32[$3>>2]|0; - $311 = (_strcmp($310,9976)|0); + $311 = (_strcmp($310,10041)|0); $312 = ($311|0)!=(0); if (!($312)) { HEAP32[$1>>2] = 15; break; } $313 = HEAP32[$3>>2]|0; - $314 = (_strcmp($313,10014)|0); + $314 = (_strcmp($313,10079)|0); $315 = ($314|0)!=(0); if (!($315)) { HEAP32[$1>>2] = 9; break; } $316 = HEAP32[$3>>2]|0; - $317 = (_strcmp($316,10030)|0); + $317 = (_strcmp($316,10095)|0); $318 = ($317|0)!=(0); if (!($318)) { HEAP32[$1>>2] = 7; break; } $319 = HEAP32[$3>>2]|0; - $320 = (_strcmp($319,10045)|0); + $320 = (_strcmp($319,10110)|0); $321 = ($320|0)!=(0); if (!($321)) { HEAP32[$1>>2] = 25; break; } $322 = HEAP32[$3>>2]|0; - $323 = (_strcmp($322,10068)|0); + $323 = (_strcmp($322,10133)|0); $324 = ($323|0)!=(0); if (!($324)) { HEAP32[$1>>2] = 16; break; } $325 = HEAP32[$3>>2]|0; - $326 = (_strcmp($325,10081)|0); + $326 = (_strcmp($325,10146)|0); $327 = ($326|0)!=(0); if (!($327)) { HEAP32[$1>>2] = 28; break; } $328 = HEAP32[$3>>2]|0; - $329 = (_strcmp($328,10095)|0); + $329 = (_strcmp($328,10160)|0); $330 = ($329|0)!=(0); if (!($330)) { HEAP32[$1>>2] = 29; break; } $331 = HEAP32[$3>>2]|0; - $332 = (_strcmp($331,10109)|0); + $332 = (_strcmp($331,10174)|0); $333 = ($332|0)!=(0); if (!($333)) { HEAP32[$1>>2] = 1; break; } $334 = HEAP32[$3>>2]|0; - $335 = (_strcmp($334,10129)|0); + $335 = (_strcmp($334,10194)|0); $336 = ($335|0)!=(0); if (!($336)) { HEAP32[$1>>2] = 8; break; } $337 = HEAP32[$3>>2]|0; - $338 = (_strcmp($337,10149)|0); + $338 = (_strcmp($337,10214)|0); $339 = ($338|0)!=(0); if (!($339)) { HEAP32[$1>>2] = 17; break; } $340 = HEAP32[$3>>2]|0; - $341 = (_strcmp($340,10165)|0); + $341 = (_strcmp($340,10230)|0); $342 = ($341|0)!=(0); if (!($342)) { HEAP32[$1>>2] = 18; break; } $343 = HEAP32[$3>>2]|0; - $344 = (_strcmp($343,10183)|0); + $344 = (_strcmp($343,10248)|0); $345 = ($344|0)!=(0); if (!($345)) { HEAP32[$1>>2] = 26; break; } $346 = HEAP32[$3>>2]|0; - $347 = (_strcmp($346,10199)|0); + $347 = (_strcmp($346,10264)|0); $348 = ($347|0)!=(0); if (!($348)) { HEAP32[$1>>2] = 19; break; } $349 = HEAP32[$3>>2]|0; - $350 = (_strcmp($349,10214)|0); + $350 = (_strcmp($349,10279)|0); $351 = ($350|0)!=(0); if (!($351)) { HEAP32[$1>>2] = 9; break; } $352 = HEAP32[$3>>2]|0; - $353 = (_strcmp($352,10236)|0); + $353 = (_strcmp($352,10301)|0); $354 = ($353|0)!=(0); if (!($354)) { HEAP32[$1>>2] = 30; break; } $355 = HEAP32[$3>>2]|0; - $356 = (_strcmp($355,10254)|0); + $356 = (_strcmp($355,10319)|0); $357 = ($356|0)!=(0); if (!($357)) { HEAP32[$1>>2] = 31; break; } $358 = HEAP32[$3>>2]|0; - $359 = (_strcmp($358,10275)|0); + $359 = (_strcmp($358,10340)|0); $360 = ($359|0)!=(0); if (!($360)) { HEAP32[$1>>2] = 10; break; } $361 = HEAP32[$3>>2]|0; - $362 = (_strcmp($361,10293)|0); + $362 = (_strcmp($361,10358)|0); $363 = ($362|0)!=(0); if (!($363)) { HEAP32[$1>>2] = 11; break; } $364 = HEAP32[$3>>2]|0; - $365 = (_strcmp($364,10306)|0); + $365 = (_strcmp($364,10371)|0); $366 = ($365|0)!=(0); if (!($366)) { HEAP32[$1>>2] = 2; break; } $367 = HEAP32[$3>>2]|0; - $368 = (_strcmp($367,10321)|0); + $368 = (_strcmp($367,10386)|0); $369 = ($368|0)!=(0); if (!($369)) { HEAP32[$1>>2] = 12; break; } $370 = HEAP32[$3>>2]|0; - $371 = (_strcmp($370,10335)|0); + $371 = (_strcmp($370,10400)|0); $372 = ($371|0)!=(0); if (!($372)) { HEAP32[$1>>2] = 1; break; } $373 = HEAP32[$3>>2]|0; - $374 = (_strcmp($373,10345)|0); + $374 = (_strcmp($373,10410)|0); $375 = ($374|0)!=(0); if (!($375)) { HEAP32[$1>>2] = 1; break; } $376 = HEAP32[$3>>2]|0; - $377 = (_strcmp($376,10355)|0); + $377 = (_strcmp($376,10420)|0); $378 = ($377|0)!=(0); if (!($378)) { HEAP32[$1>>2] = 2; break; } $379 = HEAP32[$3>>2]|0; - $380 = (_strcmp($379,10377)|0); + $380 = (_strcmp($379,10442)|0); $381 = ($380|0)!=(0); if (!($381)) { HEAP32[$1>>2] = 13; break; } $382 = HEAP32[$3>>2]|0; - $383 = (_strcmp($382,10403)|0); + $383 = (_strcmp($382,10468)|0); $384 = ($383|0)!=(0); if (!($384)) { HEAP32[$1>>2] = 14; break; } $385 = HEAP32[$3>>2]|0; - $386 = (_strcmp($385,10430)|0); + $386 = (_strcmp($385,10495)|0); $387 = ($386|0)!=(0); if (!($387)) { HEAP32[$1>>2] = 27; break; } $388 = HEAP32[$3>>2]|0; - $389 = (_strcmp($388,10443)|0); + $389 = (_strcmp($388,10508)|0); $390 = ($389|0)!=(0); if (!($390)) { HEAP32[$1>>2] = 20; break; } $391 = HEAP32[$3>>2]|0; - $392 = (_strcmp($391,10458)|0); + $392 = (_strcmp($391,10523)|0); $393 = ($392|0)!=(0); if (!($393)) { HEAP32[$1>>2] = 4; break; } $394 = HEAP32[$3>>2]|0; - $395 = (_strcmp($394,10473)|0); + $395 = (_strcmp($394,10538)|0); $396 = ($395|0)!=(0); if (!($396)) { HEAP32[$1>>2] = 3; break; } $397 = HEAP32[$3>>2]|0; - $398 = (_strcmp($397,10497)|0); + $398 = (_strcmp($397,10562)|0); $399 = ($398|0)!=(0); if (!($399)) { HEAP32[$1>>2] = 2; break; } $400 = HEAP32[$3>>2]|0; - $401 = (_strcmp($400,10508)|0); + $401 = (_strcmp($400,10573)|0); $402 = ($401|0)!=(0); if (!($402)) { HEAP32[$1>>2] = 32; break; } $403 = HEAP32[$3>>2]|0; - $404 = (_strcmp($403,10530)|0); + $404 = (_strcmp($403,10595)|0); $405 = ($404|0)!=(0); if (!($405)) { HEAP32[$1>>2] = 21; break; } $406 = HEAP32[$3>>2]|0; - $407 = (_strcmp($406,10552)|0); + $407 = (_strcmp($406,10617)|0); $408 = ($407|0)!=(0); if (!($408)) { HEAP32[$1>>2] = 5; break; } $409 = HEAP32[$3>>2]|0; - $410 = (_strcmp($409,10576)|0); + $410 = (_strcmp($409,10641)|0); $411 = ($410|0)!=(0); if (!($411)) { HEAP32[$1>>2] = 4; break; } $412 = HEAP32[$3>>2]|0; - $413 = (_strcmp($412,10585)|0); + $413 = (_strcmp($412,10650)|0); $414 = ($413|0)!=(0); if (!($414)) { HEAP32[$1>>2] = 5; break; } $415 = HEAP32[$3>>2]|0; - $416 = (_strcmp($415,10593)|0); + $416 = (_strcmp($415,10658)|0); $417 = ($416|0)!=(0); if (!($417)) { HEAP32[$1>>2] = 1; break; } $418 = HEAP32[$3>>2]|0; - $419 = (_strcmp($418,10606)|0); + $419 = (_strcmp($418,10671)|0); $420 = ($419|0)!=(0); if (!($420)) { HEAP32[$1>>2] = 2; break; } $421 = HEAP32[$3>>2]|0; - $422 = (_strcmp($421,10620)|0); + $422 = (_strcmp($421,10685)|0); $423 = ($422|0)!=(0); if (!($423)) { HEAP32[$1>>2] = 15; break; } $424 = HEAP32[$3>>2]|0; - $425 = (_strcmp($424,10632)|0); + $425 = (_strcmp($424,10697)|0); $426 = ($425|0)!=(0); if (!($426)) { HEAP32[$1>>2] = 16; break; } $427 = HEAP32[$3>>2]|0; - $428 = (_strcmp($427,10641)|0); + $428 = (_strcmp($427,10706)|0); $429 = ($428|0)!=(0); if (!($429)) { HEAP32[$1>>2] = 17; break; } $430 = HEAP32[$3>>2]|0; - $431 = (_strcmp($430,10651)|0); + $431 = (_strcmp($430,10716)|0); $432 = ($431|0)!=(0); if (!($432)) { HEAP32[$1>>2] = 18; break; } $433 = HEAP32[$3>>2]|0; - $434 = (_strcmp($433,10663)|0); + $434 = (_strcmp($433,10728)|0); $435 = ($434|0)!=(0); if (!($435)) { HEAP32[$1>>2] = 19; break; } $436 = HEAP32[$3>>2]|0; - $437 = (_strcmp($436,10674)|0); + $437 = (_strcmp($436,10739)|0); $438 = ($437|0)!=(0); if (!($438)) { HEAP32[$1>>2] = 20; break; } $439 = HEAP32[$3>>2]|0; - $440 = (_strcmp($439,10682)|0); + $440 = (_strcmp($439,10747)|0); $441 = ($440|0)!=(0); if (!($441)) { HEAP32[$1>>2] = 3; break; } $442 = HEAP32[$3>>2]|0; - $443 = (_strcmp($442,10694)|0); + $443 = (_strcmp($442,10759)|0); $444 = ($443|0)!=(0); if (!($444)) { HEAP32[$1>>2] = 21; break; } $445 = HEAP32[$3>>2]|0; - $446 = (_strcmp($445,10709)|0); + $446 = (_strcmp($445,10774)|0); $447 = ($446|0)!=(0); if (!($447)) { HEAP32[$1>>2] = 22; break; } $448 = HEAP32[$3>>2]|0; - $449 = (_strcmp($448,10721)|0); + $449 = (_strcmp($448,10786)|0); $450 = ($449|0)!=(0); if (!($450)) { HEAP32[$1>>2] = 23; break; } $451 = HEAP32[$3>>2]|0; - $452 = (_strcmp($451,10735)|0); + $452 = (_strcmp($451,10800)|0); $453 = ($452|0)!=(0); if (!($453)) { HEAP32[$1>>2] = 10; break; } $454 = HEAP32[$3>>2]|0; - $455 = (_strcmp($454,10760)|0); + $455 = (_strcmp($454,10825)|0); $456 = ($455|0)!=(0); if (!($456)) { HEAP32[$1>>2] = 24; break; } $457 = HEAP32[$3>>2]|0; - $458 = (_strcmp($457,10777)|0); + $458 = (_strcmp($457,10842)|0); $459 = ($458|0)!=(0); if (!($459)) { HEAP32[$1>>2] = 25; break; } $460 = HEAP32[$3>>2]|0; - $461 = (_strcmp($460,10793)|0); + $461 = (_strcmp($460,10858)|0); $462 = ($461|0)!=(0); if (!($462)) { HEAP32[$1>>2] = 26; break; } $463 = HEAP32[$3>>2]|0; - $464 = (_strcmp($463,10809)|0); + $464 = (_strcmp($463,10874)|0); $465 = ($464|0)!=(0); if (!($465)) { HEAP32[$1>>2] = 11; break; } $466 = HEAP32[$3>>2]|0; - $467 = (_strcmp($466,10821)|0); + $467 = (_strcmp($466,10886)|0); $468 = ($467|0)!=(0); if (!($468)) { HEAP32[$1>>2] = 33; break; } $469 = HEAP32[$3>>2]|0; - $470 = (_strcmp($469,10833)|0); + $470 = (_strcmp($469,10898)|0); $471 = ($470|0)!=(0); if (!($471)) { HEAP32[$1>>2] = 34; break; } $472 = HEAP32[$3>>2]|0; - $473 = (_strcmp($472,10857)|0); + $473 = (_strcmp($472,10922)|0); $474 = ($473|0)!=(0); if (!($474)) { HEAP32[$1>>2] = 1; break; } $475 = HEAP32[$3>>2]|0; - $476 = (_strcmp($475,10870)|0); + $476 = (_strcmp($475,10935)|0); $477 = ($476|0)!=(0); if (!($477)) { HEAP32[$1>>2] = 2; break; } $478 = HEAP32[$3>>2]|0; - $479 = (_strcmp($478,10884)|0); + $479 = (_strcmp($478,10949)|0); $480 = ($479|0)!=(0); if (!($480)) { HEAP32[$1>>2] = 35; break; } $481 = HEAP32[$3>>2]|0; - $482 = (_strcmp($481,10906)|0); + $482 = (_strcmp($481,10971)|0); $483 = ($482|0)!=(0); if (!($483)) { HEAP32[$1>>2] = 36; break; } $484 = HEAP32[$3>>2]|0; - $485 = (_strcmp($484,10913)|0); + $485 = (_strcmp($484,10978)|0); $486 = ($485|0)!=(0); if (!($486)) { HEAP32[$1>>2] = 3; break; } $487 = HEAP32[$3>>2]|0; - $488 = (_strcmp($487,10929)|0); + $488 = (_strcmp($487,10994)|0); $489 = ($488|0)!=(0); if (!($489)) { HEAP32[$1>>2] = 2; break; } $490 = HEAP32[$3>>2]|0; - $491 = (_strcmp($490,10946)|0); + $491 = (_strcmp($490,11011)|0); $492 = ($491|0)!=(0); if (!($492)) { HEAP32[$1>>2] = 1; break; } $493 = HEAP32[$3>>2]|0; - $494 = (_strcmp($493,10963)|0); + $494 = (_strcmp($493,11028)|0); $495 = ($494|0)!=(0); if (!($495)) { HEAP32[$1>>2] = 28; break; } $496 = HEAP32[$3>>2]|0; - $497 = (_strcmp($496,10979)|0); + $497 = (_strcmp($496,11044)|0); $498 = ($497|0)!=(0); if (!($498)) { HEAP32[$1>>2] = 1; break; } $499 = HEAP32[$3>>2]|0; - $500 = (_strcmp($499,10995)|0); + $500 = (_strcmp($499,11060)|0); $501 = ($500|0)!=(0); if (!($501)) { HEAP32[$1>>2] = 4; break; } $502 = HEAP32[$3>>2]|0; - $503 = (_strcmp($502,11012)|0); + $503 = (_strcmp($502,11077)|0); $504 = ($503|0)!=(0); if (!($504)) { HEAP32[$1>>2] = 29; break; } $505 = HEAP32[$3>>2]|0; - $506 = (_strcmp($505,11026)|0); + $506 = (_strcmp($505,11091)|0); $507 = ($506|0)!=(0); if (!($507)) { HEAP32[$1>>2] = 30; break; } $508 = HEAP32[$3>>2]|0; - $509 = (_strcmp($508,11038)|0); + $509 = (_strcmp($508,11103)|0); $510 = ($509|0)!=(0); if (!($510)) { HEAP32[$1>>2] = 22; break; } $511 = HEAP32[$3>>2]|0; - $512 = (_strcmp($511,11049)|0); + $512 = (_strcmp($511,11114)|0); $513 = ($512|0)!=(0); if (!($513)) { HEAP32[$1>>2] = 2; break; } $514 = HEAP32[$3>>2]|0; - $515 = (_strcmp($514,11062)|0); + $515 = (_strcmp($514,11127)|0); $516 = ($515|0)!=(0); if (!($516)) { HEAP32[$1>>2] = 23; break; } $517 = HEAP32[$3>>2]|0; - $518 = (_strcmp($517,11072)|0); + $518 = (_strcmp($517,11137)|0); $519 = ($518|0)!=(0); if (!($519)) { HEAP32[$1>>2] = 2; break; } $520 = HEAP32[$3>>2]|0; - $521 = (_strcmp($520,11089)|0); + $521 = (_strcmp($520,11154)|0); $522 = ($521|0)!=(0); if (!($522)) { HEAP32[$1>>2] = 24; break; } $523 = HEAP32[$3>>2]|0; - $524 = (_strcmp($523,11101)|0); + $524 = (_strcmp($523,11166)|0); $525 = ($524|0)!=(0); if (!($525)) { HEAP32[$1>>2] = 25; break; } $526 = HEAP32[$3>>2]|0; - $527 = (_strcmp($526,11123)|0); + $527 = (_strcmp($526,11188)|0); $528 = ($527|0)!=(0); if (!($528)) { HEAP32[$1>>2] = 26; break; } $529 = HEAP32[$3>>2]|0; - $530 = (_strcmp($529,11143)|0); + $530 = (_strcmp($529,11208)|0); $531 = ($530|0)!=(0); if (!($531)) { HEAP32[$1>>2] = 3; break; } $532 = HEAP32[$3>>2]|0; - $533 = (_strcmp($532,11156)|0); + $533 = (_strcmp($532,11221)|0); $534 = ($533|0)!=(0); if (!($534)) { HEAP32[$1>>2] = 27; break; } $535 = HEAP32[$3>>2]|0; - $536 = (_strcmp($535,11178)|0); + $536 = (_strcmp($535,11243)|0); $537 = ($536|0)!=(0); if (!($537)) { HEAP32[$1>>2] = 28; break; } $538 = HEAP32[$3>>2]|0; - $539 = (_strcmp($538,11198)|0); + $539 = (_strcmp($538,11263)|0); $540 = ($539|0)!=(0); if (!($540)) { HEAP32[$1>>2] = 2; break; } $541 = HEAP32[$3>>2]|0; - $542 = (_strcmp($541,11215)|0); + $542 = (_strcmp($541,11280)|0); $543 = ($542|0)!=(0); if (!($543)) { HEAP32[$1>>2] = 2; break; } $544 = HEAP32[$3>>2]|0; - $545 = (_strcmp($544,11232)|0); + $545 = (_strcmp($544,11297)|0); $546 = ($545|0)!=(0); if (!($546)) { HEAP32[$1>>2] = 3; break; } $547 = HEAP32[$3>>2]|0; - $548 = (_strcmp($547,11252)|0); + $548 = (_strcmp($547,11317)|0); $549 = ($548|0)!=(0); if ($549) { $550 = HEAP32[$2>>2]|0; @@ -16432,7 +16358,7 @@ function _emscripten_GetProcAddress($0) { function _emscripten_get_global_libc() { var label = 0, sp = 0; sp = STACKTOP; - return (16692|0); + return (16764|0); } function ___stdio_close($0) { $0 = $0|0; @@ -17175,7 +17101,7 @@ function _printf_core($0,$1,$2,$3,$4) { $133 = HEAP8[$128>>0]|0; $134 = $133 << 24 >> 24; $135 = (($134) + -65)|0; - $136 = ((11368 + (($$0252*58)|0)|0) + ($135)|0); + $136 = ((11433 + (($$0252*58)|0)|0) + ($135)|0); $137 = HEAP8[$136>>0]|0; $138 = $137&255; $139 = (($138) + -1)|0; @@ -17353,7 +17279,7 @@ function _printf_core($0,$1,$2,$3,$4) { $222 = (($220) + 1)|0; $223 = $218 | $221; $$0254$$0254$ = $223 ? $$0254 : $222; - $$0228 = $216;$$1233 = 0;$$1238 = 11832;$$2256 = $$0254$$0254$;$$4266 = $$1263$;$248 = $212;$250 = $215; + $$0228 = $216;$$1233 = 0;$$1238 = 11897;$$2256 = $$0254$$0254$;$$4266 = $$1263$;$248 = $212;$250 = $215; label = 67; break; } @@ -17374,7 +17300,7 @@ function _printf_core($0,$1,$2,$3,$4) { $235 = (($233) + 4)|0; $236 = $235; HEAP32[$236>>2] = $232; - $$0232 = 1;$$0237 = 11832;$242 = $231;$243 = $232; + $$0232 = 1;$$0237 = 11897;$242 = $231;$243 = $232; label = 66; break L71; } else { @@ -17382,8 +17308,8 @@ function _printf_core($0,$1,$2,$3,$4) { $238 = ($237|0)==(0); $239 = $$1263$ & 1; $240 = ($239|0)==(0); - $$ = $240 ? 11832 : (11834); - $$$ = $238 ? $$ : (11833); + $$ = $240 ? 11897 : (11899); + $$$ = $238 ? $$ : (11898); $241 = $$1263$ & 2049; $narrow = ($241|0)!=(0); $$284$ = $narrow&1; @@ -17400,7 +17326,7 @@ function _printf_core($0,$1,$2,$3,$4) { $168 = (($165) + 4)|0; $169 = $168; $170 = HEAP32[$169>>2]|0; - $$0232 = 0;$$0237 = 11832;$242 = $167;$243 = $170; + $$0232 = 0;$$0237 = 11897;$242 = $167;$243 = $170; label = 66; break; } @@ -17413,7 +17339,7 @@ function _printf_core($0,$1,$2,$3,$4) { $264 = HEAP32[$263>>2]|0; $265 = $261&255; HEAP8[$13>>0] = $265; - $$2 = $13;$$2234 = 0;$$2239 = 11832;$$2251 = $11;$$5 = 1;$$6268 = $164; + $$2 = $13;$$2234 = 0;$$2239 = 11897;$$2251 = $11;$$5 = 1;$$6268 = $164; break; } case 109: { @@ -17427,7 +17353,7 @@ function _printf_core($0,$1,$2,$3,$4) { case 115: { $269 = HEAP32[$6>>2]|0; $270 = ($269|0)!=(0|0); - $271 = $270 ? $269 : 11842; + $271 = $270 ? $269 : 11907; $$1 = $271; label = 71; break; @@ -17467,7 +17393,7 @@ function _printf_core($0,$1,$2,$3,$4) { break; } default: { - $$2 = $21;$$2234 = 0;$$2239 = 11832;$$2251 = $11;$$5 = $$0254;$$6268 = $$1263$; + $$2 = $21;$$2234 = 0;$$2239 = 11897;$$2251 = $11;$$5 = $$0254;$$6268 = $$1263$; } } } while(0); @@ -17489,8 +17415,8 @@ function _printf_core($0,$1,$2,$3,$4) { $207 = ($206|0)==(0); $or$cond283 = $207 | $205; $208 = $$1236 >> 4; - $209 = (11832 + ($208)|0); - $$289 = $or$cond283 ? 11832 : $209; + $209 = (11897 + ($208)|0); + $$289 = $or$cond283 ? 11897 : $209; $$290 = $or$cond283 ? 0 : 2; $$0228 = $202;$$1233 = $$290;$$1238 = $$289;$$2256 = $$1255;$$4266 = $$3265;$248 = $197;$250 = $200; label = 67; @@ -17511,7 +17437,7 @@ function _printf_core($0,$1,$2,$3,$4) { $277 = (($$1) + ($$0254)|0); $$3257 = $273 ? $$0254 : $276; $$1250 = $273 ? $277 : $272; - $$2 = $$1;$$2234 = 0;$$2239 = 11832;$$2251 = $$1250;$$5 = $$3257;$$6268 = $164; + $$2 = $$1;$$2234 = 0;$$2239 = 11897;$$2251 = $$1250;$$5 = $$3257;$$6268 = $164; } else if ((label|0) == 75) { label = 0; @@ -18041,7 +17967,7 @@ function _fmt_x($0,$1,$2,$3) { $$056 = $2;$15 = $1;$8 = $0; while(1) { $7 = $8 & 15; - $9 = (11884 + ($7)|0); + $9 = (11949 + ($7)|0); $10 = HEAP8[$9>>0]|0; $11 = $10&255; $12 = $11 | $3; @@ -18399,14 +18325,14 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { $13 = ($12|0)<(0); if ($13) { $14 = -$1; - $$0471 = $14;$$0520 = 1;$$0521 = 11849; + $$0471 = $14;$$0520 = 1;$$0521 = 11914; } else { $15 = $4 & 2048; $16 = ($15|0)==(0); $17 = $4 & 1; $18 = ($17|0)==(0); - $$ = $18 ? (11850) : (11855); - $$$ = $16 ? $$ : (11852); + $$ = $18 ? (11915) : (11920); + $$$ = $16 ? $$ : (11917); $19 = $4 & 2049; $narrow = ($19|0)!=(0); $$534$ = $narrow&1; @@ -18505,7 +18431,7 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { $$0523 = $8;$$2473 = $$1472; while(1) { $80 = (~~(($$2473))); - $81 = (11884 + ($80)|0); + $81 = (11949 + ($80)|0); $82 = HEAP8[$81>>0]|0; $83 = $82&255; $84 = $83 | $42; @@ -19116,7 +19042,7 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { } $339 = ($289|0)==(0); if (!($339)) { - _out($0,11900,1); + _out($0,11965,1); } $340 = ($337>>>0)<($$7505>>>0); $341 = ($$3477|0)>(0); @@ -19197,7 +19123,7 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { $$2 = $372; break; } - _out($0,11900,1); + _out($0,11965,1); $$2 = $372; } else { $369 = ($$0>>>0)>($8>>>0); @@ -19254,9 +19180,9 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { } else { $27 = $5 & 32; $28 = ($27|0)!=(0); - $29 = $28 ? 11868 : 11872; + $29 = $28 ? 11933 : 11937; $30 = ($$0471 != $$0471) | (0.0 != 0.0); - $31 = $28 ? 11876 : 11880; + $31 = $28 ? 11941 : 11945; $$0510 = $30 ? $31 : $29; $32 = (($$0520) + 3)|0; $33 = $4 & -65537; @@ -19466,7 +19392,7 @@ function ___strerror_l($0,$1) { sp = STACKTOP; $$016 = 0; while(1) { - $3 = (11902 + ($$016)|0); + $3 = (11967 + ($$016)|0); $4 = HEAP8[$3>>0]|0; $5 = $4&255; $6 = ($5|0)==($0|0); @@ -19477,7 +19403,7 @@ function ___strerror_l($0,$1) { $7 = (($$016) + 1)|0; $8 = ($7|0)==(87); if ($8) { - $$01214 = 11990;$$115 = 87; + $$01214 = 12055;$$115 = 87; label = 5; break; } else { @@ -19487,9 +19413,9 @@ function ___strerror_l($0,$1) { if ((label|0) == 2) { $2 = ($$016|0)==(0); if ($2) { - $$012$lcssa = 11990; + $$012$lcssa = 12055; } else { - $$01214 = 11990;$$115 = $$016; + $$01214 = 12055;$$115 = $$016; label = 5; } } @@ -20106,13 +20032,13 @@ function ___stpcpy($0,$1) { function ___ofl_lock() { var label = 0, sp = 0; sp = STACKTOP; - ___lock((16756|0)); - return (16764|0); + ___lock((16828|0)); + return (16836|0); } function ___ofl_unlock() { var label = 0, sp = 0; sp = STACKTOP; - ___unlock((16756|0)); + ___unlock((16828|0)); return; } function _fflush($0) { @@ -20952,7 +20878,7 @@ function _srand($0) { var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = (($0) + -1)|0; - $2 = 14072; + $2 = 14136; $3 = $2; HEAP32[$3>>2] = $1; $4 = (($2) + 4)|0; @@ -20963,7 +20889,7 @@ function _srand($0) { function _rand() { var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = 14072; + $0 = 14136; $1 = $0; $2 = HEAP32[$1>>2]|0; $3 = (($0) + 4)|0; @@ -20973,7 +20899,7 @@ function _rand() { $7 = tempRet0; $8 = (_i64Add(($6|0),($7|0),1,0)|0); $9 = tempRet0; - $10 = 14072; + $10 = 14136; $11 = $10; HEAP32[$11>>2] = $8; $12 = (($10) + 4)|0; @@ -21095,7 +21021,7 @@ function _strtok($0,$1) { sp = STACKTOP; $2 = ($0|0)==(0|0); if ($2) { - $3 = HEAP32[4192]|0; + $3 = HEAP32[4210]|0; $4 = ($3|0)==(0|0); if ($4) { $$0 = 0; @@ -21114,22 +21040,22 @@ function _strtok($0,$1) { $7 = HEAP8[$6>>0]|0; $8 = ($7<<24>>24)==(0); if ($8) { - HEAP32[4192] = 0; + HEAP32[4210] = 0; $$0 = 0; break; } $9 = (_strcspn($6,$1)|0); $10 = (($6) + ($9)|0); - HEAP32[4192] = $10; + HEAP32[4210] = $10; $11 = HEAP8[$10>>0]|0; $12 = ($11<<24>>24)==(0); if ($12) { - HEAP32[4192] = 0; + HEAP32[4210] = 0; $$0 = $6; break; } else { $13 = ((($10)) + 1|0); - HEAP32[4192] = $13; + HEAP32[4210] = $13; HEAP8[$10>>0] = 0; $$0 = $6; break; @@ -21210,7 +21136,7 @@ function _malloc($0) { $5 = $4 & -8; $6 = $3 ? 16 : $5; $7 = $6 >>> 3; - $8 = HEAP32[4193]|0; + $8 = HEAP32[4211]|0; $9 = $8 >>> $7; $10 = $9 & 3; $11 = ($10|0)==(0); @@ -21219,7 +21145,7 @@ function _malloc($0) { $13 = $12 ^ 1; $14 = (($13) + ($7))|0; $15 = $14 << 1; - $16 = (16812 + ($15<<2)|0); + $16 = (16884 + ($15<<2)|0); $17 = ((($16)) + 8|0); $18 = HEAP32[$17>>2]|0; $19 = ((($18)) + 8|0); @@ -21230,9 +21156,9 @@ function _malloc($0) { $22 = 1 << $14; $23 = $22 ^ -1; $24 = $8 & $23; - HEAP32[4193] = $24; + HEAP32[4211] = $24; } else { - $25 = HEAP32[(16788)>>2]|0; + $25 = HEAP32[(16860)>>2]|0; $26 = ($20>>>0)<($25>>>0); if ($26) { _abort(); @@ -21263,7 +21189,7 @@ function _malloc($0) { $$0 = $19; STACKTOP = sp;return ($$0|0); } - $37 = HEAP32[(16780)>>2]|0; + $37 = HEAP32[(16852)>>2]|0; $38 = ($6>>>0)>($37>>>0); if ($38) { $39 = ($9|0)==(0); @@ -21297,7 +21223,7 @@ function _malloc($0) { $66 = $62 >>> $64; $67 = (($65) + ($66))|0; $68 = $67 << 1; - $69 = (16812 + ($68<<2)|0); + $69 = (16884 + ($68<<2)|0); $70 = ((($69)) + 8|0); $71 = HEAP32[$70>>2]|0; $72 = ((($71)) + 8|0); @@ -21308,10 +21234,10 @@ function _malloc($0) { $75 = 1 << $67; $76 = $75 ^ -1; $77 = $8 & $76; - HEAP32[4193] = $77; + HEAP32[4211] = $77; $98 = $77; } else { - $78 = HEAP32[(16788)>>2]|0; + $78 = HEAP32[(16860)>>2]|0; $79 = ($73>>>0)<($78>>>0); if ($79) { _abort(); @@ -21344,22 +21270,22 @@ function _malloc($0) { HEAP32[$90>>2] = $84; $91 = ($37|0)==(0); if (!($91)) { - $92 = HEAP32[(16792)>>2]|0; + $92 = HEAP32[(16864)>>2]|0; $93 = $37 >>> 3; $94 = $93 << 1; - $95 = (16812 + ($94<<2)|0); + $95 = (16884 + ($94<<2)|0); $96 = 1 << $93; $97 = $98 & $96; $99 = ($97|0)==(0); if ($99) { $100 = $98 | $96; - HEAP32[4193] = $100; + HEAP32[4211] = $100; $$pre = ((($95)) + 8|0); $$0199 = $95;$$pre$phiZ2D = $$pre; } else { $101 = ((($95)) + 8|0); $102 = HEAP32[$101>>2]|0; - $103 = HEAP32[(16788)>>2]|0; + $103 = HEAP32[(16860)>>2]|0; $104 = ($102>>>0)<($103>>>0); if ($104) { _abort(); @@ -21376,12 +21302,12 @@ function _malloc($0) { $107 = ((($92)) + 12|0); HEAP32[$107>>2] = $95; } - HEAP32[(16780)>>2] = $84; - HEAP32[(16792)>>2] = $87; + HEAP32[(16852)>>2] = $84; + HEAP32[(16864)>>2] = $87; $$0 = $72; STACKTOP = sp;return ($$0|0); } - $108 = HEAP32[(16776)>>2]|0; + $108 = HEAP32[(16848)>>2]|0; $109 = ($108|0)==(0); if ($109) { $$0197 = $6; @@ -21409,7 +21335,7 @@ function _malloc($0) { $130 = $126 | $129; $131 = $127 >>> $129; $132 = (($130) + ($131))|0; - $133 = (17076 + ($132<<2)|0); + $133 = (17148 + ($132<<2)|0); $134 = HEAP32[$133>>2]|0; $135 = ((($134)) + 4|0); $136 = HEAP32[$135>>2]|0; @@ -21449,7 +21375,7 @@ function _malloc($0) { } } } - $155 = HEAP32[(16788)>>2]|0; + $155 = HEAP32[(16860)>>2]|0; $156 = ($$0192$lcssa$i>>>0)<($155>>>0); if ($156) { _abort(); @@ -21544,7 +21470,7 @@ function _malloc($0) { if (!($186)) { $187 = ((($$0192$lcssa$i)) + 28|0); $188 = HEAP32[$187>>2]|0; - $189 = (17076 + ($188<<2)|0); + $189 = (17148 + ($188<<2)|0); $190 = HEAP32[$189>>2]|0; $191 = ($$0192$lcssa$i|0)==($190|0); do { @@ -21555,11 +21481,11 @@ function _malloc($0) { $192 = 1 << $188; $193 = $192 ^ -1; $194 = $108 & $193; - HEAP32[(16776)>>2] = $194; + HEAP32[(16848)>>2] = $194; break L73; } } else { - $195 = HEAP32[(16788)>>2]|0; + $195 = HEAP32[(16860)>>2]|0; $196 = ($160>>>0)<($195>>>0); if ($196) { _abort(); @@ -21580,7 +21506,7 @@ function _malloc($0) { } } } while(0); - $201 = HEAP32[(16788)>>2]|0; + $201 = HEAP32[(16860)>>2]|0; $202 = ($$3$i>>>0)<($201>>>0); if ($202) { _abort(); @@ -21610,7 +21536,7 @@ function _malloc($0) { $211 = HEAP32[$210>>2]|0; $212 = ($211|0)==(0|0); if (!($212)) { - $213 = HEAP32[(16788)>>2]|0; + $213 = HEAP32[(16860)>>2]|0; $214 = ($211>>>0)<($213>>>0); if ($214) { _abort(); @@ -21647,22 +21573,22 @@ function _malloc($0) { HEAP32[$229>>2] = $$0193$lcssa$i; $230 = ($37|0)==(0); if (!($230)) { - $231 = HEAP32[(16792)>>2]|0; + $231 = HEAP32[(16864)>>2]|0; $232 = $37 >>> 3; $233 = $232 << 1; - $234 = (16812 + ($233<<2)|0); + $234 = (16884 + ($233<<2)|0); $235 = 1 << $232; $236 = $8 & $235; $237 = ($236|0)==(0); if ($237) { $238 = $8 | $235; - HEAP32[4193] = $238; + HEAP32[4211] = $238; $$pre$i = ((($234)) + 8|0); $$0189$i = $234;$$pre$phi$iZ2D = $$pre$i; } else { $239 = ((($234)) + 8|0); $240 = HEAP32[$239>>2]|0; - $241 = HEAP32[(16788)>>2]|0; + $241 = HEAP32[(16860)>>2]|0; $242 = ($240>>>0)<($241>>>0); if ($242) { _abort(); @@ -21679,8 +21605,8 @@ function _malloc($0) { $245 = ((($231)) + 12|0); HEAP32[$245>>2] = $234; } - HEAP32[(16780)>>2] = $$0193$lcssa$i; - HEAP32[(16792)>>2] = $157; + HEAP32[(16852)>>2] = $$0193$lcssa$i; + HEAP32[(16864)>>2] = $157; } $246 = ((($$0192$lcssa$i)) + 8|0); $$0 = $246; @@ -21696,7 +21622,7 @@ function _malloc($0) { } else { $248 = (($0) + 11)|0; $249 = $248 & -8; - $250 = HEAP32[(16776)>>2]|0; + $250 = HEAP32[(16848)>>2]|0; $251 = ($250|0)==(0); if ($251) { $$0197 = $249; @@ -21736,7 +21662,7 @@ function _malloc($0) { $$0358$i = $277; } } - $278 = (17076 + ($$0358$i<<2)|0); + $278 = (17148 + ($$0358$i<<2)|0); $279 = HEAP32[$278>>2]|0; $280 = ($279|0)==(0|0); L117: do { @@ -21828,7 +21754,7 @@ function _malloc($0) { $328 = $324 | $327; $329 = $325 >>> $327; $330 = (($328) + ($329))|0; - $331 = (17076 + ($330<<2)|0); + $331 = (17148 + ($330<<2)|0); $332 = HEAP32[$331>>2]|0; $$4$ph$i = 0;$$4357$ph$i = $332; } else { @@ -21872,11 +21798,11 @@ function _malloc($0) { if ($344) { $$0197 = $249; } else { - $345 = HEAP32[(16780)>>2]|0; + $345 = HEAP32[(16852)>>2]|0; $346 = (($345) - ($249))|0; $347 = ($$4351$lcssa$i>>>0)<($346>>>0); if ($347) { - $348 = HEAP32[(16788)>>2]|0; + $348 = HEAP32[(16860)>>2]|0; $349 = ($$4$lcssa$i>>>0)<($348>>>0); if ($349) { _abort(); @@ -21973,7 +21899,7 @@ function _malloc($0) { } else { $380 = ((($$4$lcssa$i)) + 28|0); $381 = HEAP32[$380>>2]|0; - $382 = (17076 + ($381<<2)|0); + $382 = (17148 + ($381<<2)|0); $383 = HEAP32[$382>>2]|0; $384 = ($$4$lcssa$i|0)==($383|0); do { @@ -21984,12 +21910,12 @@ function _malloc($0) { $385 = 1 << $381; $386 = $385 ^ -1; $387 = $250 & $386; - HEAP32[(16776)>>2] = $387; + HEAP32[(16848)>>2] = $387; $470 = $387; break L164; } } else { - $388 = HEAP32[(16788)>>2]|0; + $388 = HEAP32[(16860)>>2]|0; $389 = ($353>>>0)<($388>>>0); if ($389) { _abort(); @@ -22011,7 +21937,7 @@ function _malloc($0) { } } } while(0); - $394 = HEAP32[(16788)>>2]|0; + $394 = HEAP32[(16860)>>2]|0; $395 = ($$3372$i>>>0)<($394>>>0); if ($395) { _abort(); @@ -22043,7 +21969,7 @@ function _malloc($0) { if ($405) { $470 = $250; } else { - $406 = HEAP32[(16788)>>2]|0; + $406 = HEAP32[(16860)>>2]|0; $407 = ($404>>>0)<($406>>>0); if ($407) { _abort(); @@ -22084,20 +22010,20 @@ function _malloc($0) { $424 = ($$4351$lcssa$i>>>0)<(256); if ($424) { $425 = $423 << 1; - $426 = (16812 + ($425<<2)|0); - $427 = HEAP32[4193]|0; + $426 = (16884 + ($425<<2)|0); + $427 = HEAP32[4211]|0; $428 = 1 << $423; $429 = $427 & $428; $430 = ($429|0)==(0); if ($430) { $431 = $427 | $428; - HEAP32[4193] = $431; + HEAP32[4211] = $431; $$pre$i210 = ((($426)) + 8|0); $$0368$i = $426;$$pre$phi$i211Z2D = $$pre$i210; } else { $432 = ((($426)) + 8|0); $433 = HEAP32[$432>>2]|0; - $434 = HEAP32[(16788)>>2]|0; + $434 = HEAP32[(16860)>>2]|0; $435 = ($433>>>0)<($434>>>0); if ($435) { _abort(); @@ -22149,7 +22075,7 @@ function _malloc($0) { $$0361$i = $463; } } - $464 = (17076 + ($$0361$i<<2)|0); + $464 = (17148 + ($$0361$i<<2)|0); $465 = ((($350)) + 28|0); HEAP32[$465>>2] = $$0361$i; $466 = ((($350)) + 16|0); @@ -22161,7 +22087,7 @@ function _malloc($0) { $471 = ($469|0)==(0); if ($471) { $472 = $470 | $468; - HEAP32[(16776)>>2] = $472; + HEAP32[(16848)>>2] = $472; HEAP32[$464>>2] = $350; $473 = ((($350)) + 24|0); HEAP32[$473>>2] = $464; @@ -22200,7 +22126,7 @@ function _malloc($0) { } } if ((label|0) == 136) { - $491 = HEAP32[(16788)>>2]|0; + $491 = HEAP32[(16860)>>2]|0; $492 = ($487>>>0)<($491>>>0); if ($492) { _abort(); @@ -22219,7 +22145,7 @@ function _malloc($0) { else if ((label|0) == 139) { $496 = ((($$0345$i)) + 8|0); $497 = HEAP32[$496>>2]|0; - $498 = HEAP32[(16788)>>2]|0; + $498 = HEAP32[(16860)>>2]|0; $499 = ($497>>>0)>=($498>>>0); $not$9$i = ($$0345$i>>>0)>=($498>>>0); $500 = $499 & $not$9$i; @@ -22252,16 +22178,16 @@ function _malloc($0) { } } } while(0); - $506 = HEAP32[(16780)>>2]|0; + $506 = HEAP32[(16852)>>2]|0; $507 = ($506>>>0)<($$0197>>>0); if (!($507)) { $508 = (($506) - ($$0197))|0; - $509 = HEAP32[(16792)>>2]|0; + $509 = HEAP32[(16864)>>2]|0; $510 = ($508>>>0)>(15); if ($510) { $511 = (($509) + ($$0197)|0); - HEAP32[(16792)>>2] = $511; - HEAP32[(16780)>>2] = $508; + HEAP32[(16864)>>2] = $511; + HEAP32[(16852)>>2] = $508; $512 = $508 | 1; $513 = ((($511)) + 4|0); HEAP32[$513>>2] = $512; @@ -22271,8 +22197,8 @@ function _malloc($0) { $516 = ((($509)) + 4|0); HEAP32[$516>>2] = $515; } else { - HEAP32[(16780)>>2] = 0; - HEAP32[(16792)>>2] = 0; + HEAP32[(16852)>>2] = 0; + HEAP32[(16864)>>2] = 0; $517 = $506 | 3; $518 = ((($509)) + 4|0); HEAP32[$518>>2] = $517; @@ -22286,14 +22212,14 @@ function _malloc($0) { $$0 = $523; STACKTOP = sp;return ($$0|0); } - $524 = HEAP32[(16784)>>2]|0; + $524 = HEAP32[(16856)>>2]|0; $525 = ($524>>>0)>($$0197>>>0); if ($525) { $526 = (($524) - ($$0197))|0; - HEAP32[(16784)>>2] = $526; - $527 = HEAP32[(16796)>>2]|0; + HEAP32[(16856)>>2] = $526; + $527 = HEAP32[(16868)>>2]|0; $528 = (($527) + ($$0197)|0); - HEAP32[(16796)>>2] = $528; + HEAP32[(16868)>>2] = $528; $529 = $526 | 1; $530 = ((($528)) + 4|0); HEAP32[$530>>2] = $529; @@ -22304,23 +22230,23 @@ function _malloc($0) { $$0 = $533; STACKTOP = sp;return ($$0|0); } - $534 = HEAP32[4311]|0; + $534 = HEAP32[4329]|0; $535 = ($534|0)==(0); if ($535) { - HEAP32[(17252)>>2] = 4096; - HEAP32[(17248)>>2] = 4096; - HEAP32[(17256)>>2] = -1; - HEAP32[(17260)>>2] = -1; - HEAP32[(17264)>>2] = 0; - HEAP32[(17216)>>2] = 0; + HEAP32[(17324)>>2] = 4096; + HEAP32[(17320)>>2] = 4096; + HEAP32[(17328)>>2] = -1; + HEAP32[(17332)>>2] = -1; + HEAP32[(17336)>>2] = 0; + HEAP32[(17288)>>2] = 0; $536 = $1; $537 = $536 & -16; $538 = $537 ^ 1431655768; HEAP32[$1>>2] = $538; - HEAP32[4311] = $538; + HEAP32[4329] = $538; $542 = 4096; } else { - $$pre$i212 = HEAP32[(17252)>>2]|0; + $$pre$i212 = HEAP32[(17324)>>2]|0; $542 = $$pre$i212; } $539 = (($$0197) + 48)|0; @@ -22333,10 +22259,10 @@ function _malloc($0) { $$0 = 0; STACKTOP = sp;return ($$0|0); } - $546 = HEAP32[(17212)>>2]|0; + $546 = HEAP32[(17284)>>2]|0; $547 = ($546|0)==(0); if (!($547)) { - $548 = HEAP32[(17204)>>2]|0; + $548 = HEAP32[(17276)>>2]|0; $549 = (($548) + ($544))|0; $550 = ($549>>>0)<=($548>>>0); $551 = ($549>>>0)>($546>>>0); @@ -22346,18 +22272,18 @@ function _malloc($0) { STACKTOP = sp;return ($$0|0); } } - $552 = HEAP32[(17216)>>2]|0; + $552 = HEAP32[(17288)>>2]|0; $553 = $552 & 4; $554 = ($553|0)==(0); L244: do { if ($554) { - $555 = HEAP32[(16796)>>2]|0; + $555 = HEAP32[(16868)>>2]|0; $556 = ($555|0)==(0|0); L246: do { if ($556) { label = 163; } else { - $$0$i$i = (17220); + $$0$i$i = (17292); while(1) { $557 = HEAP32[$$0$i$i>>2]|0; $558 = ($557>>>0)>($555>>>0); @@ -22415,7 +22341,7 @@ function _malloc($0) { $$2234253237$i = 0; } else { $568 = $566; - $569 = HEAP32[(17248)>>2]|0; + $569 = HEAP32[(17320)>>2]|0; $570 = (($569) + -1)|0; $571 = $570 & $568; $572 = ($571|0)==(0); @@ -22425,13 +22351,13 @@ function _malloc($0) { $576 = (($575) - ($568))|0; $577 = $572 ? 0 : $576; $$$i = (($577) + ($544))|0; - $578 = HEAP32[(17204)>>2]|0; + $578 = HEAP32[(17276)>>2]|0; $579 = (($$$i) + ($578))|0; $580 = ($$$i>>>0)>($$0197>>>0); $581 = ($$$i>>>0)<(2147483647); $or$cond$i214 = $580 & $581; if ($or$cond$i214) { - $582 = HEAP32[(17212)>>2]|0; + $582 = HEAP32[(17284)>>2]|0; $583 = ($582|0)==(0); if (!($583)) { $584 = ($579>>>0)<=($578>>>0); @@ -22477,7 +22403,7 @@ function _malloc($0) { break L244; } } - $601 = HEAP32[(17252)>>2]|0; + $601 = HEAP32[(17324)>>2]|0; $602 = (($540) - ($$2253$ph$i))|0; $603 = (($602) + ($601))|0; $604 = (0 - ($601))|0; @@ -22502,9 +22428,9 @@ function _malloc($0) { } } } while(0); - $611 = HEAP32[(17216)>>2]|0; + $611 = HEAP32[(17288)>>2]|0; $612 = $611 | 4; - HEAP32[(17216)>>2] = $612; + HEAP32[(17288)>>2] = $612; $$4236$i = $$2234253237$i; label = 178; } else { @@ -22540,35 +22466,35 @@ function _malloc($0) { } } if ((label|0) == 180) { - $626 = HEAP32[(17204)>>2]|0; + $626 = HEAP32[(17276)>>2]|0; $627 = (($626) + ($$723948$i))|0; - HEAP32[(17204)>>2] = $627; - $628 = HEAP32[(17208)>>2]|0; + HEAP32[(17276)>>2] = $627; + $628 = HEAP32[(17280)>>2]|0; $629 = ($627>>>0)>($628>>>0); if ($629) { - HEAP32[(17208)>>2] = $627; + HEAP32[(17280)>>2] = $627; } - $630 = HEAP32[(16796)>>2]|0; + $630 = HEAP32[(16868)>>2]|0; $631 = ($630|0)==(0|0); do { if ($631) { - $632 = HEAP32[(16788)>>2]|0; + $632 = HEAP32[(16860)>>2]|0; $633 = ($632|0)==(0|0); $634 = ($$749$i>>>0)<($632>>>0); $or$cond12$i = $633 | $634; if ($or$cond12$i) { - HEAP32[(16788)>>2] = $$749$i; + HEAP32[(16860)>>2] = $$749$i; } - HEAP32[(17220)>>2] = $$749$i; - HEAP32[(17224)>>2] = $$723948$i; - HEAP32[(17232)>>2] = 0; - $635 = HEAP32[4311]|0; - HEAP32[(16808)>>2] = $635; - HEAP32[(16804)>>2] = -1; + HEAP32[(17292)>>2] = $$749$i; + HEAP32[(17296)>>2] = $$723948$i; + HEAP32[(17304)>>2] = 0; + $635 = HEAP32[4329]|0; + HEAP32[(16880)>>2] = $635; + HEAP32[(16876)>>2] = -1; $$01$i$i = 0; while(1) { $636 = $$01$i$i << 1; - $637 = (16812 + ($636<<2)|0); + $637 = (16884 + ($636<<2)|0); $638 = ((($637)) + 12|0); HEAP32[$638>>2] = $637; $639 = ((($637)) + 8|0); @@ -22591,18 +22517,18 @@ function _malloc($0) { $648 = $645 ? 0 : $647; $649 = (($$749$i) + ($648)|0); $650 = (($641) - ($648))|0; - HEAP32[(16796)>>2] = $649; - HEAP32[(16784)>>2] = $650; + HEAP32[(16868)>>2] = $649; + HEAP32[(16856)>>2] = $650; $651 = $650 | 1; $652 = ((($649)) + 4|0); HEAP32[$652>>2] = $651; $653 = (($649) + ($650)|0); $654 = ((($653)) + 4|0); HEAP32[$654>>2] = 40; - $655 = HEAP32[(17260)>>2]|0; - HEAP32[(16800)>>2] = $655; + $655 = HEAP32[(17332)>>2]|0; + HEAP32[(16872)>>2] = $655; } else { - $$024371$i = (17220); + $$024371$i = (17292); while(1) { $656 = HEAP32[$$024371$i>>2]|0; $657 = ((($$024371$i)) + 4|0); @@ -22634,7 +22560,7 @@ function _malloc($0) { if ($or$cond51$i) { $670 = (($658) + ($$723948$i))|0; HEAP32[$657>>2] = $670; - $671 = HEAP32[(16784)>>2]|0; + $671 = HEAP32[(16856)>>2]|0; $672 = ((($630)) + 8|0); $673 = $672; $674 = $673 & 7; @@ -22645,30 +22571,30 @@ function _malloc($0) { $679 = (($630) + ($678)|0); $680 = (($$723948$i) - ($678))|0; $681 = (($671) + ($680))|0; - HEAP32[(16796)>>2] = $679; - HEAP32[(16784)>>2] = $681; + HEAP32[(16868)>>2] = $679; + HEAP32[(16856)>>2] = $681; $682 = $681 | 1; $683 = ((($679)) + 4|0); HEAP32[$683>>2] = $682; $684 = (($679) + ($681)|0); $685 = ((($684)) + 4|0); HEAP32[$685>>2] = 40; - $686 = HEAP32[(17260)>>2]|0; - HEAP32[(16800)>>2] = $686; + $686 = HEAP32[(17332)>>2]|0; + HEAP32[(16872)>>2] = $686; break; } } } - $687 = HEAP32[(16788)>>2]|0; + $687 = HEAP32[(16860)>>2]|0; $688 = ($$749$i>>>0)<($687>>>0); if ($688) { - HEAP32[(16788)>>2] = $$749$i; + HEAP32[(16860)>>2] = $$749$i; $752 = $$749$i; } else { $752 = $687; } $689 = (($$749$i) + ($$723948$i)|0); - $$124470$i = (17220); + $$124470$i = (17292); while(1) { $690 = HEAP32[$$124470$i>>2]|0; $691 = ($690|0)==($689|0); @@ -22723,21 +22649,21 @@ function _malloc($0) { $725 = ($717|0)==($630|0); do { if ($725) { - $726 = HEAP32[(16784)>>2]|0; + $726 = HEAP32[(16856)>>2]|0; $727 = (($726) + ($722))|0; - HEAP32[(16784)>>2] = $727; - HEAP32[(16796)>>2] = $721; + HEAP32[(16856)>>2] = $727; + HEAP32[(16868)>>2] = $721; $728 = $727 | 1; $729 = ((($721)) + 4|0); HEAP32[$729>>2] = $728; } else { - $730 = HEAP32[(16792)>>2]|0; + $730 = HEAP32[(16864)>>2]|0; $731 = ($717|0)==($730|0); if ($731) { - $732 = HEAP32[(16780)>>2]|0; + $732 = HEAP32[(16852)>>2]|0; $733 = (($732) + ($722))|0; - HEAP32[(16780)>>2] = $733; - HEAP32[(16792)>>2] = $721; + HEAP32[(16852)>>2] = $733; + HEAP32[(16864)>>2] = $721; $734 = $733 | 1; $735 = ((($721)) + 4|0); HEAP32[$735>>2] = $734; @@ -22760,7 +22686,7 @@ function _malloc($0) { $746 = ((($717)) + 12|0); $747 = HEAP32[$746>>2]|0; $748 = $742 << 1; - $749 = (16812 + ($748<<2)|0); + $749 = (16884 + ($748<<2)|0); $750 = ($745|0)==($749|0); do { if (!($750)) { @@ -22783,9 +22709,9 @@ function _malloc($0) { if ($756) { $757 = 1 << $742; $758 = $757 ^ -1; - $759 = HEAP32[4193]|0; + $759 = HEAP32[4211]|0; $760 = $759 & $758; - HEAP32[4193] = $760; + HEAP32[4211] = $760; break; } $761 = ($747|0)==($749|0); @@ -22898,7 +22824,7 @@ function _malloc($0) { } $795 = ((($717)) + 28|0); $796 = HEAP32[$795>>2]|0; - $797 = (17076 + ($796<<2)|0); + $797 = (17148 + ($796<<2)|0); $798 = HEAP32[$797>>2]|0; $799 = ($717|0)==($798|0); do { @@ -22910,12 +22836,12 @@ function _malloc($0) { } $800 = 1 << $796; $801 = $800 ^ -1; - $802 = HEAP32[(16776)>>2]|0; + $802 = HEAP32[(16848)>>2]|0; $803 = $802 & $801; - HEAP32[(16776)>>2] = $803; + HEAP32[(16848)>>2] = $803; break L314; } else { - $804 = HEAP32[(16788)>>2]|0; + $804 = HEAP32[(16860)>>2]|0; $805 = ($768>>>0)<($804>>>0); if ($805) { _abort(); @@ -22936,7 +22862,7 @@ function _malloc($0) { } } } while(0); - $810 = HEAP32[(16788)>>2]|0; + $810 = HEAP32[(16860)>>2]|0; $811 = ($$3$i$i>>>0)<($810>>>0); if ($811) { _abort(); @@ -22968,7 +22894,7 @@ function _malloc($0) { if ($821) { break; } - $822 = HEAP32[(16788)>>2]|0; + $822 = HEAP32[(16860)>>2]|0; $823 = ($820>>>0)<($822>>>0); if ($823) { _abort(); @@ -23001,21 +22927,21 @@ function _malloc($0) { $835 = ($$0287$i$i>>>0)<(256); if ($835) { $836 = $834 << 1; - $837 = (16812 + ($836<<2)|0); - $838 = HEAP32[4193]|0; + $837 = (16884 + ($836<<2)|0); + $838 = HEAP32[4211]|0; $839 = 1 << $834; $840 = $838 & $839; $841 = ($840|0)==(0); do { if ($841) { $842 = $838 | $839; - HEAP32[4193] = $842; + HEAP32[4211] = $842; $$pre$i19$i = ((($837)) + 8|0); $$0295$i$i = $837;$$pre$phi$i20$iZ2D = $$pre$i19$i; } else { $843 = ((($837)) + 8|0); $844 = HEAP32[$843>>2]|0; - $845 = HEAP32[(16788)>>2]|0; + $845 = HEAP32[(16860)>>2]|0; $846 = ($844>>>0)<($845>>>0); if (!($846)) { $$0295$i$i = $844;$$pre$phi$i20$iZ2D = $843; @@ -23070,20 +22996,20 @@ function _malloc($0) { $$0296$i$i = $874; } } while(0); - $875 = (17076 + ($$0296$i$i<<2)|0); + $875 = (17148 + ($$0296$i$i<<2)|0); $876 = ((($721)) + 28|0); HEAP32[$876>>2] = $$0296$i$i; $877 = ((($721)) + 16|0); $878 = ((($877)) + 4|0); HEAP32[$878>>2] = 0; HEAP32[$877>>2] = 0; - $879 = HEAP32[(16776)>>2]|0; + $879 = HEAP32[(16848)>>2]|0; $880 = 1 << $$0296$i$i; $881 = $879 & $880; $882 = ($881|0)==(0); if ($882) { $883 = $879 | $880; - HEAP32[(16776)>>2] = $883; + HEAP32[(16848)>>2] = $883; HEAP32[$875>>2] = $721; $884 = ((($721)) + 24|0); HEAP32[$884>>2] = $875; @@ -23122,7 +23048,7 @@ function _malloc($0) { } } if ((label|0) == 262) { - $902 = HEAP32[(16788)>>2]|0; + $902 = HEAP32[(16860)>>2]|0; $903 = ($898>>>0)<($902>>>0); if ($903) { _abort(); @@ -23141,7 +23067,7 @@ function _malloc($0) { else if ((label|0) == 265) { $907 = ((($$0289$i$i)) + 8|0); $908 = HEAP32[$907>>2]|0; - $909 = HEAP32[(16788)>>2]|0; + $909 = HEAP32[(16860)>>2]|0; $910 = ($908>>>0)>=($909>>>0); $not$7$i$i = ($$0289$i$i>>>0)>=($909>>>0); $911 = $910 & $not$7$i$i; @@ -23168,7 +23094,7 @@ function _malloc($0) { STACKTOP = sp;return ($$0|0); } } - $$0$i$i$i = (17220); + $$0$i$i$i = (17292); while(1) { $916 = HEAP32[$$0$i$i$i>>2]|0; $917 = ($916>>>0)>($630>>>0); @@ -23209,23 +23135,23 @@ function _malloc($0) { $945 = $942 ? 0 : $944; $946 = (($$749$i) + ($945)|0); $947 = (($938) - ($945))|0; - HEAP32[(16796)>>2] = $946; - HEAP32[(16784)>>2] = $947; + HEAP32[(16868)>>2] = $946; + HEAP32[(16856)>>2] = $947; $948 = $947 | 1; $949 = ((($946)) + 4|0); HEAP32[$949>>2] = $948; $950 = (($946) + ($947)|0); $951 = ((($950)) + 4|0); HEAP32[$951>>2] = 40; - $952 = HEAP32[(17260)>>2]|0; - HEAP32[(16800)>>2] = $952; + $952 = HEAP32[(17332)>>2]|0; + HEAP32[(16872)>>2] = $952; $953 = ((($935)) + 4|0); HEAP32[$953>>2] = 27; - ;HEAP32[$936>>2]=HEAP32[(17220)>>2]|0;HEAP32[$936+4>>2]=HEAP32[(17220)+4>>2]|0;HEAP32[$936+8>>2]=HEAP32[(17220)+8>>2]|0;HEAP32[$936+12>>2]=HEAP32[(17220)+12>>2]|0; - HEAP32[(17220)>>2] = $$749$i; - HEAP32[(17224)>>2] = $$723948$i; - HEAP32[(17232)>>2] = 0; - HEAP32[(17228)>>2] = $936; + ;HEAP32[$936>>2]=HEAP32[(17292)>>2]|0;HEAP32[$936+4>>2]=HEAP32[(17292)+4>>2]|0;HEAP32[$936+8>>2]=HEAP32[(17292)+8>>2]|0;HEAP32[$936+12>>2]=HEAP32[(17292)+12>>2]|0; + HEAP32[(17292)>>2] = $$749$i; + HEAP32[(17296)>>2] = $$723948$i; + HEAP32[(17304)>>2] = 0; + HEAP32[(17300)>>2] = $936; $955 = $937; while(1) { $954 = ((($955)) + 4|0); @@ -23254,20 +23180,20 @@ function _malloc($0) { $967 = ($961>>>0)<(256); if ($967) { $968 = $966 << 1; - $969 = (16812 + ($968<<2)|0); - $970 = HEAP32[4193]|0; + $969 = (16884 + ($968<<2)|0); + $970 = HEAP32[4211]|0; $971 = 1 << $966; $972 = $970 & $971; $973 = ($972|0)==(0); if ($973) { $974 = $970 | $971; - HEAP32[4193] = $974; + HEAP32[4211] = $974; $$pre$i$i = ((($969)) + 8|0); $$0211$i$i = $969;$$pre$phi$i$iZ2D = $$pre$i$i; } else { $975 = ((($969)) + 8|0); $976 = HEAP32[$975>>2]|0; - $977 = HEAP32[(16788)>>2]|0; + $977 = HEAP32[(16860)>>2]|0; $978 = ($976>>>0)<($977>>>0); if ($978) { _abort(); @@ -23319,19 +23245,19 @@ function _malloc($0) { $$0212$i$i = $1006; } } - $1007 = (17076 + ($$0212$i$i<<2)|0); + $1007 = (17148 + ($$0212$i$i<<2)|0); $1008 = ((($630)) + 28|0); HEAP32[$1008>>2] = $$0212$i$i; $1009 = ((($630)) + 20|0); HEAP32[$1009>>2] = 0; HEAP32[$933>>2] = 0; - $1010 = HEAP32[(16776)>>2]|0; + $1010 = HEAP32[(16848)>>2]|0; $1011 = 1 << $$0212$i$i; $1012 = $1010 & $1011; $1013 = ($1012|0)==(0); if ($1013) { $1014 = $1010 | $1011; - HEAP32[(16776)>>2] = $1014; + HEAP32[(16848)>>2] = $1014; HEAP32[$1007>>2] = $630; $1015 = ((($630)) + 24|0); HEAP32[$1015>>2] = $1007; @@ -23370,7 +23296,7 @@ function _malloc($0) { } } if ((label|0) == 289) { - $1033 = HEAP32[(16788)>>2]|0; + $1033 = HEAP32[(16860)>>2]|0; $1034 = ($1029>>>0)<($1033>>>0); if ($1034) { _abort(); @@ -23389,7 +23315,7 @@ function _malloc($0) { else if ((label|0) == 292) { $1038 = ((($$0207$i$i)) + 8|0); $1039 = HEAP32[$1038>>2]|0; - $1040 = HEAP32[(16788)>>2]|0; + $1040 = HEAP32[(16860)>>2]|0; $1041 = ($1039>>>0)>=($1040>>>0); $not$$i$i = ($$0207$i$i>>>0)>=($1040>>>0); $1042 = $1041 & $not$$i$i; @@ -23412,14 +23338,14 @@ function _malloc($0) { } } } while(0); - $1048 = HEAP32[(16784)>>2]|0; + $1048 = HEAP32[(16856)>>2]|0; $1049 = ($1048>>>0)>($$0197>>>0); if ($1049) { $1050 = (($1048) - ($$0197))|0; - HEAP32[(16784)>>2] = $1050; - $1051 = HEAP32[(16796)>>2]|0; + HEAP32[(16856)>>2] = $1050; + $1051 = HEAP32[(16868)>>2]|0; $1052 = (($1051) + ($$0197)|0); - HEAP32[(16796)>>2] = $1052; + HEAP32[(16868)>>2] = $1052; $1053 = $1050 | 1; $1054 = ((($1052)) + 4|0); HEAP32[$1054>>2] = $1053; @@ -23462,7 +23388,7 @@ function _free($0) { return; } $2 = ((($0)) + -8|0); - $3 = HEAP32[(16788)>>2]|0; + $3 = HEAP32[(16860)>>2]|0; $4 = ($2>>>0)<($3>>>0); if ($4) { _abort(); @@ -23495,7 +23421,7 @@ function _free($0) { _abort(); // unreachable; } - $19 = HEAP32[(16792)>>2]|0; + $19 = HEAP32[(16864)>>2]|0; $20 = ($16|0)==($19|0); if ($20) { $104 = ((($10)) + 4|0); @@ -23510,7 +23436,7 @@ function _free($0) { $109 = ((($16)) + 4|0); $110 = $17 | 1; $111 = $105 & -2; - HEAP32[(16780)>>2] = $17; + HEAP32[(16852)>>2] = $17; HEAP32[$104>>2] = $111; HEAP32[$109>>2] = $110; HEAP32[$108>>2] = $17; @@ -23524,7 +23450,7 @@ function _free($0) { $25 = ((($16)) + 12|0); $26 = HEAP32[$25>>2]|0; $27 = $21 << 1; - $28 = (16812 + ($27<<2)|0); + $28 = (16884 + ($27<<2)|0); $29 = ($24|0)==($28|0); if (!($29)) { $30 = ($24>>>0)<($3>>>0); @@ -23544,9 +23470,9 @@ function _free($0) { if ($34) { $35 = 1 << $21; $36 = $35 ^ -1; - $37 = HEAP32[4193]|0; + $37 = HEAP32[4211]|0; $38 = $37 & $36; - HEAP32[4193] = $38; + HEAP32[4211] = $38; $$1 = $16;$$1382 = $17;$113 = $16; break; } @@ -23660,7 +23586,7 @@ function _free($0) { } else { $73 = ((($16)) + 28|0); $74 = HEAP32[$73>>2]|0; - $75 = (17076 + ($74<<2)|0); + $75 = (17148 + ($74<<2)|0); $76 = HEAP32[$75>>2]|0; $77 = ($16|0)==($76|0); do { @@ -23670,14 +23596,14 @@ function _free($0) { if ($cond421) { $78 = 1 << $74; $79 = $78 ^ -1; - $80 = HEAP32[(16776)>>2]|0; + $80 = HEAP32[(16848)>>2]|0; $81 = $80 & $79; - HEAP32[(16776)>>2] = $81; + HEAP32[(16848)>>2] = $81; $$1 = $16;$$1382 = $17;$113 = $16; break L10; } } else { - $82 = HEAP32[(16788)>>2]|0; + $82 = HEAP32[(16860)>>2]|0; $83 = ($46>>>0)<($82>>>0); if ($83) { _abort(); @@ -23699,7 +23625,7 @@ function _free($0) { } } } while(0); - $88 = HEAP32[(16788)>>2]|0; + $88 = HEAP32[(16860)>>2]|0; $89 = ($$3>>>0)<($88>>>0); if ($89) { _abort(); @@ -23731,7 +23657,7 @@ function _free($0) { if ($99) { $$1 = $16;$$1382 = $17;$113 = $16; } else { - $100 = HEAP32[(16788)>>2]|0; + $100 = HEAP32[(16860)>>2]|0; $101 = ($98>>>0)<($100>>>0); if ($101) { _abort(); @@ -23766,14 +23692,14 @@ function _free($0) { $118 = $115 & 2; $119 = ($118|0)==(0); if ($119) { - $120 = HEAP32[(16796)>>2]|0; + $120 = HEAP32[(16868)>>2]|0; $121 = ($10|0)==($120|0); - $122 = HEAP32[(16792)>>2]|0; + $122 = HEAP32[(16864)>>2]|0; if ($121) { - $123 = HEAP32[(16784)>>2]|0; + $123 = HEAP32[(16856)>>2]|0; $124 = (($123) + ($$1382))|0; - HEAP32[(16784)>>2] = $124; - HEAP32[(16796)>>2] = $$1; + HEAP32[(16856)>>2] = $124; + HEAP32[(16868)>>2] = $$1; $125 = $124 | 1; $126 = ((($$1)) + 4|0); HEAP32[$126>>2] = $125; @@ -23781,16 +23707,16 @@ function _free($0) { if (!($127)) { return; } - HEAP32[(16792)>>2] = 0; - HEAP32[(16780)>>2] = 0; + HEAP32[(16864)>>2] = 0; + HEAP32[(16852)>>2] = 0; return; } $128 = ($10|0)==($122|0); if ($128) { - $129 = HEAP32[(16780)>>2]|0; + $129 = HEAP32[(16852)>>2]|0; $130 = (($129) + ($$1382))|0; - HEAP32[(16780)>>2] = $130; - HEAP32[(16792)>>2] = $113; + HEAP32[(16852)>>2] = $130; + HEAP32[(16864)>>2] = $113; $131 = $130 | 1; $132 = ((($$1)) + 4|0); HEAP32[$132>>2] = $131; @@ -23809,10 +23735,10 @@ function _free($0) { $140 = ((($10)) + 12|0); $141 = HEAP32[$140>>2]|0; $142 = $136 << 1; - $143 = (16812 + ($142<<2)|0); + $143 = (16884 + ($142<<2)|0); $144 = ($139|0)==($143|0); if (!($144)) { - $145 = HEAP32[(16788)>>2]|0; + $145 = HEAP32[(16860)>>2]|0; $146 = ($139>>>0)<($145>>>0); if ($146) { _abort(); @@ -23830,9 +23756,9 @@ function _free($0) { if ($150) { $151 = 1 << $136; $152 = $151 ^ -1; - $153 = HEAP32[4193]|0; + $153 = HEAP32[4211]|0; $154 = $153 & $152; - HEAP32[4193] = $154; + HEAP32[4211] = $154; break; } $155 = ($141|0)==($143|0); @@ -23840,7 +23766,7 @@ function _free($0) { $$pre442 = ((($141)) + 8|0); $$pre$phi443Z2D = $$pre442; } else { - $156 = HEAP32[(16788)>>2]|0; + $156 = HEAP32[(16860)>>2]|0; $157 = ($141>>>0)<($156>>>0); if ($157) { _abort(); @@ -23900,7 +23826,7 @@ function _free($0) { $$1398 = $187;$$1402 = $186; } } - $189 = HEAP32[(16788)>>2]|0; + $189 = HEAP32[(16860)>>2]|0; $190 = ($$1402>>>0)<($189>>>0); if ($190) { _abort(); @@ -23913,7 +23839,7 @@ function _free($0) { } else { $167 = ((($10)) + 8|0); $168 = HEAP32[$167>>2]|0; - $169 = HEAP32[(16788)>>2]|0; + $169 = HEAP32[(16860)>>2]|0; $170 = ($168>>>0)<($169>>>0); if ($170) { _abort(); @@ -23944,7 +23870,7 @@ function _free($0) { if (!($191)) { $192 = ((($10)) + 28|0); $193 = HEAP32[$192>>2]|0; - $194 = (17076 + ($193<<2)|0); + $194 = (17148 + ($193<<2)|0); $195 = HEAP32[$194>>2]|0; $196 = ($10|0)==($195|0); do { @@ -23954,13 +23880,13 @@ function _free($0) { if ($cond422) { $197 = 1 << $193; $198 = $197 ^ -1; - $199 = HEAP32[(16776)>>2]|0; + $199 = HEAP32[(16848)>>2]|0; $200 = $199 & $198; - HEAP32[(16776)>>2] = $200; + HEAP32[(16848)>>2] = $200; break L108; } } else { - $201 = HEAP32[(16788)>>2]|0; + $201 = HEAP32[(16860)>>2]|0; $202 = ($163>>>0)<($201>>>0); if ($202) { _abort(); @@ -23981,7 +23907,7 @@ function _free($0) { } } } while(0); - $207 = HEAP32[(16788)>>2]|0; + $207 = HEAP32[(16860)>>2]|0; $208 = ($$3400>>>0)<($207>>>0); if ($208) { _abort(); @@ -24011,7 +23937,7 @@ function _free($0) { $217 = HEAP32[$216>>2]|0; $218 = ($217|0)==(0|0); if (!($218)) { - $219 = HEAP32[(16788)>>2]|0; + $219 = HEAP32[(16860)>>2]|0; $220 = ($217>>>0)<($219>>>0); if ($220) { _abort(); @@ -24032,10 +23958,10 @@ function _free($0) { HEAP32[$224>>2] = $223; $225 = (($113) + ($135)|0); HEAP32[$225>>2] = $135; - $226 = HEAP32[(16792)>>2]|0; + $226 = HEAP32[(16864)>>2]|0; $227 = ($$1|0)==($226|0); if ($227) { - HEAP32[(16780)>>2] = $135; + HEAP32[(16852)>>2] = $135; return; } else { $$2 = $135; @@ -24054,20 +23980,20 @@ function _free($0) { $233 = ($$2>>>0)<(256); if ($233) { $234 = $232 << 1; - $235 = (16812 + ($234<<2)|0); - $236 = HEAP32[4193]|0; + $235 = (16884 + ($234<<2)|0); + $236 = HEAP32[4211]|0; $237 = 1 << $232; $238 = $236 & $237; $239 = ($238|0)==(0); if ($239) { $240 = $236 | $237; - HEAP32[4193] = $240; + HEAP32[4211] = $240; $$pre = ((($235)) + 8|0); $$0403 = $235;$$pre$phiZ2D = $$pre; } else { $241 = ((($235)) + 8|0); $242 = HEAP32[$241>>2]|0; - $243 = HEAP32[(16788)>>2]|0; + $243 = HEAP32[(16860)>>2]|0; $244 = ($242>>>0)<($243>>>0); if ($244) { _abort(); @@ -24119,21 +24045,21 @@ function _free($0) { $$0396 = $272; } } - $273 = (17076 + ($$0396<<2)|0); + $273 = (17148 + ($$0396<<2)|0); $274 = ((($$1)) + 28|0); HEAP32[$274>>2] = $$0396; $275 = ((($$1)) + 16|0); $276 = ((($$1)) + 20|0); HEAP32[$276>>2] = 0; HEAP32[$275>>2] = 0; - $277 = HEAP32[(16776)>>2]|0; + $277 = HEAP32[(16848)>>2]|0; $278 = 1 << $$0396; $279 = $277 & $278; $280 = ($279|0)==(0); do { if ($280) { $281 = $277 | $278; - HEAP32[(16776)>>2] = $281; + HEAP32[(16848)>>2] = $281; HEAP32[$273>>2] = $$1; $282 = ((($$1)) + 24|0); HEAP32[$282>>2] = $273; @@ -24171,7 +24097,7 @@ function _free($0) { } } if ((label|0) == 121) { - $300 = HEAP32[(16788)>>2]|0; + $300 = HEAP32[(16860)>>2]|0; $301 = ($296>>>0)<($300>>>0); if ($301) { _abort(); @@ -24190,7 +24116,7 @@ function _free($0) { else if ((label|0) == 124) { $305 = ((($$0384)) + 8|0); $306 = HEAP32[$305>>2]|0; - $307 = HEAP32[(16788)>>2]|0; + $307 = HEAP32[(16860)>>2]|0; $308 = ($306>>>0)>=($307>>>0); $not$437 = ($$0384>>>0)>=($307>>>0); $309 = $308 & $not$437; @@ -24212,12 +24138,12 @@ function _free($0) { } } } while(0); - $314 = HEAP32[(16804)>>2]|0; + $314 = HEAP32[(16876)>>2]|0; $315 = (($314) + -1)|0; - HEAP32[(16804)>>2] = $315; + HEAP32[(16876)>>2] = $315; $316 = ($315|0)==(0); if ($316) { - $$0212$in$i = (17228); + $$0212$in$i = (17300); } else { return; } @@ -24231,7 +24157,7 @@ function _free($0) { $$0212$in$i = $318; } } - HEAP32[(16804)>>2] = -1; + HEAP32[(16876)>>2] = -1; return; } function runPostSets() { diff --git a/docs/examples/web/makefile b/docs/examples/web/makefile index c7ffe5148..a04f7949d 100644 --- a/docs/examples/web/makefile +++ b/docs/examples/web/makefile @@ -58,6 +58,17 @@ ifeq ($(PLATFORM),PLATFORM_DESKTOP) endif endif +ifeq ($(PLATFORM),PLATFORM_WEB) + # Emscripten required variables + EMSDK_PATH = C:/emsdk + EMSCRIPTEN_VERSION = 1.37.9 + CLANG_VERSION=e1.37.9_64bit + PYTHON_VERSION=2.7.5.3_64bit + NODE_VERSION=4.1.1_64bit + export PATH=$(EMSDK_PATH);$(EMSDK_PATH)\clang\$(CLANG_VERSION);$(EMSDK_PATH)\node\$(NODE_VERSION)\bin;$(EMSDK_PATH)\python\$(PYTHON_VERSION);$(EMSDK_PATH)\emscripten\$(EMSCRIPTEN_VERSION);C:\raylib\MinGW\bin:$$(PATH) + EMSCRIPTEN=$(EMSDK_PATH)\emscripten\$(EMSCRIPTEN_VERSION) +endif + # define compiler: gcc for C program, define as g++ for C++ ifeq ($(PLATFORM),PLATFORM_WEB) # define emscripten compiler diff --git a/docs/games/drturtle.html b/docs/games/drturtle.html index d0e65b302..f5ccba5fe 100644 --- a/docs/games/drturtle.html +++ b/docs/games/drturtle.html @@ -57,7 +57,7 @@ div.emscripten_border { border: 1px solid black; } /* the canvas *must not* have any border or padding, or mouse coords will be wrong */ - canvas.emscripten { border: 0px none; } + canvas.emscripten { border: 0px none; background: black; } #emscripten_logo { display: inline-block; @@ -144,7 +144,7 @@
Downloading...
- +
diff --git a/docs/games/drturtle.js b/docs/games/drturtle.js index 1961b38b2..abc277690 100644 --- a/docs/games/drturtle.js +++ b/docs/games/drturtle.js @@ -67,9 +67,16 @@ Module.expectedDataFileDownloads++; if (Module['setStatus']) Module['setStatus']('Downloading data...'); } }; + xhr.onerror = function(event) { + throw new Error("NetworkError for: " + packageName); + } xhr.onload = function(event) { - var packageData = xhr.response; - callback(packageData); + if (xhr.status == 200 || xhr.status == 304 || xhr.status == 206 || (xhr.status == 0 && xhr.response)) { // file URLs can return 0 + var packageData = xhr.response; + callback(packageData); + } else { + throw new Error(xhr.statusText + " : " + xhr.responseURL); + } }; xhr.send(null); }; @@ -78,8 +85,10 @@ Module.expectedDataFileDownloads++; console.error('package error:', error); }; - var fetched = null, fetchedCallback = null; - fetchRemotePackage(REMOTE_PACKAGE_NAME, REMOTE_PACKAGE_SIZE, function(data) { + var fetchedCallback = null; + var fetched = Module['getPreloadedPackage'] ? Module['getPreloadedPackage'](REMOTE_PACKAGE_NAME, REMOTE_PACKAGE_SIZE) : null; + + if (!fetched) fetchRemotePackage(REMOTE_PACKAGE_NAME, REMOTE_PACKAGE_SIZE, function(data) { if (fetchedCallback) { fetchedCallback(data); fetchedCallback = null; @@ -122,7 +131,7 @@ Module['FS_createPath']('/', 'resources', true, true); Module['removeRunDependency']('fp ' + that.name); this.requests[this.name] = null; - }, + } }; var files = metadata.files; @@ -173,7 +182,7 @@ Module['FS_createPath']('/', 'resources', true, true); } } - loadPackage({"files": [{"audio": 1, "start": 0, "crunched": 0, "end": 52134, "filename": "/resources/die.wav"}, {"audio": 1, "start": 52134, "crunched": 0, "end": 106044, "filename": "/resources/eat.wav"}, {"audio": 0, "start": 106044, "crunched": 0, "end": 131990, "filename": "/resources/fish.png"}, {"audio": 0, "start": 131990, "crunched": 0, "end": 208515, "filename": "/resources/gamera.png"}, {"audio": 1, "start": 208515, "crunched": 0, "end": 266961, "filename": "/resources/gamera.wav"}, {"audio": 0, "start": 266961, "crunched": 0, "end": 1193613, "filename": "/resources/gframe.png"}, {"audio": 0, "start": 1193613, "crunched": 0, "end": 1257913, "filename": "/resources/komika.png"}, {"audio": 0, "start": 1257913, "crunched": 0, "end": 1455381, "filename": "/resources/mountains.png"}, {"audio": 0, "start": 1455381, "crunched": 0, "end": 1497932, "filename": "/resources/orca.png"}, {"audio": 0, "start": 1497932, "crunched": 0, "end": 2095434, "filename": "/resources/sea.png"}, {"audio": 0, "start": 2095434, "crunched": 0, "end": 2134760, "filename": "/resources/shark.png"}, {"audio": 0, "start": 2134760, "crunched": 0, "end": 2255393, "filename": "/resources/sky.png"}, {"audio": 1, "start": 2255393, "crunched": 0, "end": 6924480, "filename": "/resources/speeding.ogg"}, {"audio": 0, "start": 6924480, "crunched": 0, "end": 6979447, "filename": "/resources/swhale.png"}, {"audio": 0, "start": 6979447, "crunched": 0, "end": 7025609, "filename": "/resources/title.png"}, {"audio": 0, "start": 7025609, "crunched": 0, "end": 7051495, "filename": "/resources/turtle.png"}], "remote_package_size": 7051495, "package_uuid": "795be4d0-b563-44f0-a975-e76444fedf26"}); + loadPackage({"files": [{"audio": 1, "start": 0, "crunched": 0, "end": 52134, "filename": "/resources/die.wav"}, {"audio": 1, "start": 52134, "crunched": 0, "end": 106044, "filename": "/resources/eat.wav"}, {"audio": 0, "start": 106044, "crunched": 0, "end": 131990, "filename": "/resources/fish.png"}, {"audio": 0, "start": 131990, "crunched": 0, "end": 208515, "filename": "/resources/gamera.png"}, {"audio": 1, "start": 208515, "crunched": 0, "end": 266961, "filename": "/resources/gamera.wav"}, {"audio": 0, "start": 266961, "crunched": 0, "end": 1193613, "filename": "/resources/gframe.png"}, {"audio": 0, "start": 1193613, "crunched": 0, "end": 1257913, "filename": "/resources/komika.png"}, {"audio": 0, "start": 1257913, "crunched": 0, "end": 1455381, "filename": "/resources/mountains.png"}, {"audio": 0, "start": 1455381, "crunched": 0, "end": 1497932, "filename": "/resources/orca.png"}, {"audio": 0, "start": 1497932, "crunched": 0, "end": 2095434, "filename": "/resources/sea.png"}, {"audio": 0, "start": 2095434, "crunched": 0, "end": 2134760, "filename": "/resources/shark.png"}, {"audio": 0, "start": 2134760, "crunched": 0, "end": 2255393, "filename": "/resources/sky.png"}, {"audio": 1, "start": 2255393, "crunched": 0, "end": 6924480, "filename": "/resources/speeding.ogg"}, {"audio": 0, "start": 6924480, "crunched": 0, "end": 6979447, "filename": "/resources/swhale.png"}, {"audio": 0, "start": 6979447, "crunched": 0, "end": 7025609, "filename": "/resources/title.png"}, {"audio": 0, "start": 7025609, "crunched": 0, "end": 7051495, "filename": "/resources/turtle.png"}], "remote_package_size": 7051495, "package_uuid": "097ab393-1252-40b8-888a-01f68e6934c3"}); })(); @@ -209,38 +218,51 @@ for (var key in Module) { // The environment setup code below is customized to use Module. // *** Environment setup code *** -var ENVIRONMENT_IS_WEB = typeof window === 'object'; +var ENVIRONMENT_IS_WEB = false; +var ENVIRONMENT_IS_WORKER = false; +var ENVIRONMENT_IS_NODE = false; +var ENVIRONMENT_IS_SHELL = false; + // Three configurations we can be running in: // 1) We could be the application main() thread running in the main JS UI thread. (ENVIRONMENT_IS_WORKER == false and ENVIRONMENT_IS_PTHREAD == false) // 2) We could be the application main() thread proxied to worker. (with Emscripten -s PROXY_TO_WORKER=1) (ENVIRONMENT_IS_WORKER == true, ENVIRONMENT_IS_PTHREAD == false) // 3) We could be an application pthread running in a worker. (ENVIRONMENT_IS_WORKER == true and ENVIRONMENT_IS_PTHREAD == true) -var ENVIRONMENT_IS_WORKER = typeof importScripts === 'function'; -var ENVIRONMENT_IS_NODE = typeof process === 'object' && typeof require === 'function' && !ENVIRONMENT_IS_WEB && !ENVIRONMENT_IS_WORKER; -var ENVIRONMENT_IS_SHELL = !ENVIRONMENT_IS_WEB && !ENVIRONMENT_IS_NODE && !ENVIRONMENT_IS_WORKER; + +if (Module['ENVIRONMENT']) { + if (Module['ENVIRONMENT'] === 'WEB') { + ENVIRONMENT_IS_WEB = true; + } else if (Module['ENVIRONMENT'] === 'WORKER') { + ENVIRONMENT_IS_WORKER = true; + } else if (Module['ENVIRONMENT'] === 'NODE') { + ENVIRONMENT_IS_NODE = true; + } else if (Module['ENVIRONMENT'] === 'SHELL') { + ENVIRONMENT_IS_SHELL = true; + } else { + throw new Error('The provided Module[\'ENVIRONMENT\'] value is not valid. It must be one of: WEB|WORKER|NODE|SHELL.'); + } +} else { + ENVIRONMENT_IS_WEB = typeof window === 'object'; + ENVIRONMENT_IS_WORKER = typeof importScripts === 'function'; + ENVIRONMENT_IS_NODE = typeof process === 'object' && typeof require === 'function' && !ENVIRONMENT_IS_WEB && !ENVIRONMENT_IS_WORKER; + ENVIRONMENT_IS_SHELL = !ENVIRONMENT_IS_WEB && !ENVIRONMENT_IS_NODE && !ENVIRONMENT_IS_WORKER; +} + if (ENVIRONMENT_IS_NODE) { // Expose functionality in the same simple way that the shells work // Note that we pollute the global namespace here, otherwise we break in node - if (!Module['print']) Module['print'] = function print(x) { - process['stdout'].write(x + '\n'); - }; - if (!Module['printErr']) Module['printErr'] = function printErr(x) { - process['stderr'].write(x + '\n'); - }; + if (!Module['print']) Module['print'] = console.log; + if (!Module['printErr']) Module['printErr'] = console.warn; - var nodeFS = require('fs'); - var nodePath = require('path'); + var nodeFS; + var nodePath; Module['read'] = function read(filename, binary) { + if (!nodeFS) nodeFS = require('fs'); + if (!nodePath) nodePath = require('path'); filename = nodePath['normalize'](filename); var ret = nodeFS['readFileSync'](filename); - // The path is absolute if the normalized version is the same as the resolved. - if (!ret && filename != nodePath['resolve'](filename)) { - filename = path.join(__dirname, '..', 'src', filename); - ret = nodeFS['readFileSync'](filename); - } - if (ret && !binary) ret = ret.toString(); - return ret; + return binary ? ret : ret.toString(); }; Module['readBinary'] = function readBinary(filename) { @@ -286,7 +308,7 @@ else if (ENVIRONMENT_IS_SHELL) { if (typeof read != 'undefined') { Module['read'] = read; } else { - Module['read'] = function read() { throw 'no read() available (jsc?)' }; + Module['read'] = function read() { throw 'no read() available' }; } Module['readBinary'] = function readBinary(f) { @@ -304,6 +326,12 @@ else if (ENVIRONMENT_IS_SHELL) { Module['arguments'] = arguments; } + if (typeof quit === 'function') { + Module['quit'] = function(status, toThrow) { + quit(status); + } + } + } else if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) { Module['read'] = function read(url) { @@ -313,6 +341,31 @@ else if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) { return xhr.responseText; }; + if (ENVIRONMENT_IS_WORKER) { + Module['readBinary'] = function read(url) { + var xhr = new XMLHttpRequest(); + xhr.open('GET', url, false); + xhr.responseType = 'arraybuffer'; + xhr.send(null); + return xhr.response; + }; + } + + Module['readAsync'] = function readAsync(url, onload, onerror) { + var xhr = new XMLHttpRequest(); + xhr.open('GET', url, true); + xhr.responseType = 'arraybuffer'; + xhr.onload = function xhr_onload() { + if (xhr.status == 200 || (xhr.status == 0 && xhr.response)) { // file URLs can return 0 + onload(xhr.response); + } else { + onerror(); + } + }; + xhr.onerror = onerror; + xhr.send(null); + }; + if (typeof arguments != 'undefined') { Module['arguments'] = arguments; } @@ -322,7 +375,7 @@ else if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) { console.log(x); }; if (!Module['printErr']) Module['printErr'] = function printErr(x) { - console.log(x); + console.warn(x); }; } else { // Probably a worker, and without console.log. We can do very little here... @@ -367,6 +420,11 @@ if (!Module['arguments']) { if (!Module['thisProgram']) { Module['thisProgram'] = './this.program'; } +if (!Module['quit']) { + Module['quit'] = function(status, toThrow) { + throw toThrow; + } +} // *** Environment setup code *** @@ -384,14 +442,19 @@ for (var key in moduleOverrides) { Module[key] = moduleOverrides[key]; } } +// Free the object hierarchy contained in the overrides, this lets the GC +// reclaim data used e.g. in memoryInitializerRequest, which is a large typed array. +moduleOverrides = undefined; +// {{PREAMBLE_ADDITIONS}} + // === Preamble library stuff === -// Documentation for the public APIs defined in this file must be updated in: +// Documentation for the public APIs defined in this file must be updated in: // site/source/docs/api_reference/preamble.js.rst -// A prebuilt local version of the documentation is available at: +// A prebuilt local version of the documentation is available at: // site/build/text/docs/api_reference/preamble.js.txt // You can also build docs locally as HTML or other formats in site/ // An online HTML version (which may be of a different version of Emscripten) @@ -404,6 +467,7 @@ for (var key in moduleOverrides) { var Runtime = { setTempRet0: function (value) { tempRet0 = value; + return value; }, getTempRet0: function () { return tempRet0; @@ -459,10 +523,12 @@ var Runtime = { }, dynCall: function (sig, ptr, args) { if (args && args.length) { - if (!args.splice) args = Array.prototype.slice.call(args); - args.splice(0, 0, ptr); - return Module['dynCall_' + sig].apply(null, args); + assert(args.length == sig.length-1); + assert(('dynCall_' + sig) in Module, 'bad function pointer type - no table for sig \'' + sig + '\''); + return Module['dynCall_' + sig].apply(null, [ptr].concat(args)); } else { + assert(sig.length == 1); + assert(('dynCall_' + sig) in Module, 'bad function pointer type - no table for sig \'' + sig + '\''); return Module['dynCall_' + sig].call(null, ptr); } }, @@ -494,18 +560,30 @@ var Runtime = { } var sigCache = Runtime.funcWrappers[sig]; if (!sigCache[func]) { - sigCache[func] = function dynCall_wrapper() { - return Runtime.dynCall(sig, func, arguments); - }; + // optimize away arguments usage in common cases + if (sig.length === 1) { + sigCache[func] = function dynCall_wrapper() { + return Runtime.dynCall(sig, func); + }; + } else if (sig.length === 2) { + sigCache[func] = function dynCall_wrapper(arg) { + return Runtime.dynCall(sig, func, [arg]); + }; + } else { + // general case + sigCache[func] = function dynCall_wrapper() { + return Runtime.dynCall(sig, func, Array.prototype.slice.call(arguments)); + }; + } } return sigCache[func]; }, getCompilerSetting: function (name) { throw 'You must build with -s RETAIN_COMPILER_SETTINGS=1 for Runtime.getCompilerSetting or emscripten_get_compiler_setting to work'; }, - stackAlloc: function (size) { var ret = STACKTOP;STACKTOP = (STACKTOP + size)|0;STACKTOP = (((STACKTOP)+15)&-16); return ret; }, - staticAlloc: function (size) { var ret = STATICTOP;STATICTOP = (STATICTOP + size)|0;STATICTOP = (((STATICTOP)+15)&-16); return ret; }, - dynamicAlloc: function (size) { var ret = DYNAMICTOP;DYNAMICTOP = (DYNAMICTOP + size)|0;DYNAMICTOP = (((DYNAMICTOP)+15)&-16); if (DYNAMICTOP >= TOTAL_MEMORY) { var success = enlargeMemory(); if (!success) { DYNAMICTOP = ret; return 0; } }; return ret; }, + stackAlloc: function (size) { var ret = STACKTOP;STACKTOP = (STACKTOP + size)|0;STACKTOP = (((STACKTOP)+15)&-16);(assert((((STACKTOP|0) < (STACK_MAX|0))|0))|0); return ret; }, + staticAlloc: function (size) { var ret = STATICTOP;STATICTOP = (STATICTOP + (assert(!staticSealed),size))|0;STATICTOP = (((STATICTOP)+15)&-16); return ret; }, + dynamicAlloc: function (size) { assert(DYNAMICTOP_PTR);var ret = HEAP32[DYNAMICTOP_PTR>>2];var end = (((ret + size + 15)|0) & -16);HEAP32[DYNAMICTOP_PTR>>2] = end;if (end >= TOTAL_MEMORY) {var success = enlargeMemory();if (!success) {HEAP32[DYNAMICTOP_PTR>>2] = ret;return 0;}}return ret;}, alignMemory: function (size,quantum) { var ret = size = Math.ceil((size)/(quantum ? quantum : 16))*(quantum ? quantum : 16); return ret; }, makeBigInt: function (low,high,unsigned) { var ret = (unsigned ? ((+((low>>>0)))+((+((high>>>0)))*4294967296.0)) : ((+((low>>>0)))+((+((high|0)))*4294967296.0))); return ret; }, GLOBAL_BASE: 8, @@ -523,18 +601,9 @@ Module["Runtime"] = Runtime; // Runtime essentials //======================================== -var __THREW__ = 0; // Used in checking for thrown exceptions. - -var ABORT = false; // whether we are quitting the application. no code should run after this. set in exit() and abort() +var ABORT = 0; // whether we are quitting the application. no code should run after this. set in exit() and abort() var EXITSTATUS = 0; -var undef = 0; -// tempInt is used for 32-bit signed values or smaller. tempBigInt is used -// for 32-bit unsigned values or more than 32 bits. TODO: audit all uses of tempInt -var tempValue, tempInt, tempBigInt, tempInt2, tempBigInt2, tempPair, tempBigIntI, tempBigIntR, tempBigIntS, tempBigIntP, tempBigIntD, tempDouble, tempFloat; -var tempI64, tempI64b; -var tempRet0, tempRet1, tempRet2, tempRet3, tempRet4, tempRet5, tempRet6, tempRet7, tempRet8, tempRet9; - function assert(condition, text) { if (!condition) { abort('Assertion failed: ' + text); @@ -547,9 +616,7 @@ var globalScope = this; function getCFunc(ident) { var func = Module['_' + ident]; // closure exported function if (!func) { - try { - func = eval('_' + ident); // explicit lookup - } catch(e) {} + try { func = eval('_' + ident); } catch(e) {} } assert(func, 'Cannot call unknown function ' + ident + ' (perhaps LLVM optimizations or closure removed it?)'); return func; @@ -577,8 +644,9 @@ var cwrap, ccall; var ret = 0; if (str !== null && str !== undefined && str !== 0) { // null string // at most 4 bytes per UTF-8 code point, +1 for the trailing '\0' - ret = Runtime.stackAlloc((str.length << 2) + 1); - writeStringToMemory(str, ret); + var len = (str.length << 2) + 1; + ret = Runtime.stackAlloc(len); + stringToUTF8(str, ret, len); } return ret; } @@ -586,11 +654,12 @@ var cwrap, ccall; // For fast lookup of conversion functions var toC = {'string' : JSfuncs['stringToC'], 'array' : JSfuncs['arrayToC']}; - // C calling interface. + // C calling interface. ccall = function ccallFunc(ident, returnType, argTypes, args, opts) { var func = getCFunc(ident); var cArgs = []; var stack = 0; + assert(returnType !== 'array', 'Return type should not be "array".'); if (args) { for (var i = 0; i < args.length; i++) { var converter = toC[argTypes[i]]; @@ -603,6 +672,10 @@ var cwrap, ccall; } } var ret = func.apply(null, cArgs); + if ((!opts || !opts.async) && typeof EmterpreterAsync === 'object') { + assert(!EmterpreterAsync.state, 'cannot start async op with normal JS calling ccall'); + } + if (opts && opts.async) assert(!returnType, 'async ccalls cannot return values'); if (returnType === 'string') ret = Pointer_stringify(ret); if (stack !== 0) { if (opts && opts.async) { @@ -616,22 +689,28 @@ var cwrap, ccall; return ret; } - var sourceRegex = /^function\s*\(([^)]*)\)\s*{\s*([^*]*?)[\s;]*(?:return\s*(.*?)[;\s]*)?}$/; + var sourceRegex = /^function\s*[a-zA-Z$_0-9]*\s*\(([^)]*)\)\s*{\s*([^*]*?)[\s;]*(?:return\s*(.*?)[;\s]*)?}$/; function parseJSFunc(jsfunc) { // Match the body and the return value of a javascript function source var parsed = jsfunc.toString().match(sourceRegex).slice(1); return {arguments : parsed[0], body : parsed[1], returnValue: parsed[2]} } - var JSsource = {}; - for (var fun in JSfuncs) { - if (JSfuncs.hasOwnProperty(fun)) { - // Elements of toCsource are arrays of three items: - // the code, and the return value - JSsource[fun] = parseJSFunc(JSfuncs[fun]); + + // sources of useful functions. we create this lazily as it can trigger a source decompression on this entire file + var JSsource = null; + function ensureJSsource() { + if (!JSsource) { + JSsource = {}; + for (var fun in JSfuncs) { + if (JSfuncs.hasOwnProperty(fun)) { + // Elements of toCsource are arrays of three items: + // the code, and the return value + JSsource[fun] = parseJSFunc(JSfuncs[fun]); + } + } } } - cwrap = function cwrap(ident, returnType, argTypes) { argTypes = argTypes || []; var cfunc = getCFunc(ident); @@ -649,6 +728,7 @@ var cwrap, ccall; if (!numericArgs) { // Generate the code needed to convert the arguments from javascript // values to pointers + ensureJSsource(); funcstr += 'var stack = ' + JSsource['stackSave'].body + ';'; for (var i = 0; i < nargs; i++) { var arg = argNames[i], type = argTypes[i]; @@ -656,7 +736,7 @@ var cwrap, ccall; var convertCode = JSsource[type + 'ToC']; // [code, return] funcstr += 'var ' + convertCode.arguments + ' = ' + arg + ';'; funcstr += convertCode.body + ';'; - funcstr += arg + '=' + convertCode.returnValue + ';'; + funcstr += arg + '=(' + convertCode.returnValue + ');'; } } @@ -669,8 +749,10 @@ var cwrap, ccall; var strgfy = parseJSFunc(function(){return Pointer_stringify}).returnValue; funcstr += 'ret = ' + strgfy + '(ret);'; } + funcstr += "if (typeof EmterpreterAsync === 'object') { assert(!EmterpreterAsync.state, 'cannot start async op with normal JS calling cwrap') }"; if (!numericArgs) { // If we had a stack, restore it + ensureJSsource(); funcstr += JSsource['stackRestore'].body.replace('()', '(stack)') + ';'; } funcstr += 'return ret})'; @@ -754,7 +836,7 @@ function allocate(slab, types, allocator, ptr) { if (allocator == ALLOC_NONE) { ret = ptr; } else { - ret = [_malloc, Runtime.stackAlloc, Runtime.staticAlloc, Runtime.dynamicAlloc][allocator === undefined ? ALLOC_STATIC : allocator](Math.max(size, singleType ? 1 : types.length)); + ret = [typeof _malloc === 'function' ? _malloc : Runtime.staticAlloc, Runtime.stackAlloc, Runtime.staticAlloc, Runtime.dynamicAlloc][allocator === undefined ? ALLOC_STATIC : allocator](Math.max(size, singleType ? 1 : types.length)); } if (zeroinit) { @@ -793,6 +875,7 @@ function allocate(slab, types, allocator, ptr) { i++; continue; } + assert(type, 'Must know what type to store in allocate!'); if (type == 'i64') type = 'i32'; // special case: we have one i32 here, and one i32 later @@ -813,7 +896,7 @@ Module["allocate"] = allocate; // Allocate memory during any stage of startup - static memory early on, dynamic memory later, malloc when ready function getMemory(size) { if (!staticSealed) return Runtime.staticAlloc(size); - if ((typeof _sbrk !== 'undefined' && !_sbrk.called) || !runtimeInitialized) return Runtime.dynamicAlloc(size); + if (!runtimeInitialized) return Runtime.dynamicAlloc(size); return _malloc(size); } Module["getMemory"] = getMemory; @@ -826,6 +909,7 @@ function Pointer_stringify(ptr, /* optional */ length) { var t; var i = 0; while (1) { + assert(ptr + i < TOTAL_MEMORY); t = HEAPU8[(((ptr)+(i))>>0)]; hasUtf |= t; if (t == 0 && !length) break; @@ -875,39 +959,49 @@ Module["stringToAscii"] = stringToAscii; // Given a pointer 'ptr' to a null-terminated UTF8-encoded string in the given array that contains uint8 values, returns // a copy of that string as a Javascript String object. +var UTF8Decoder = typeof TextDecoder !== 'undefined' ? new TextDecoder('utf8') : undefined; function UTF8ArrayToString(u8Array, idx) { - var u0, u1, u2, u3, u4, u5; + var endPtr = idx; + // TextDecoder needs to know the byte length in advance, it doesn't stop on null terminator by itself. + // Also, use the length info to avoid running tiny strings through TextDecoder, since .subarray() allocates garbage. + while (u8Array[endPtr]) ++endPtr; - var str = ''; - while (1) { - // For UTF8 byte structure, see http://en.wikipedia.org/wiki/UTF-8#Description and https://www.ietf.org/rfc/rfc2279.txt and https://tools.ietf.org/html/rfc3629 - u0 = u8Array[idx++]; - if (!u0) return str; - if (!(u0 & 0x80)) { str += String.fromCharCode(u0); continue; } - u1 = u8Array[idx++] & 63; - if ((u0 & 0xE0) == 0xC0) { str += String.fromCharCode(((u0 & 31) << 6) | u1); continue; } - u2 = u8Array[idx++] & 63; - if ((u0 & 0xF0) == 0xE0) { - u0 = ((u0 & 15) << 12) | (u1 << 6) | u2; - } else { - u3 = u8Array[idx++] & 63; - if ((u0 & 0xF8) == 0xF0) { - u0 = ((u0 & 7) << 18) | (u1 << 12) | (u2 << 6) | u3; + if (endPtr - idx > 16 && u8Array.subarray && UTF8Decoder) { + return UTF8Decoder.decode(u8Array.subarray(idx, endPtr)); + } else { + var u0, u1, u2, u3, u4, u5; + + var str = ''; + while (1) { + // For UTF8 byte structure, see http://en.wikipedia.org/wiki/UTF-8#Description and https://www.ietf.org/rfc/rfc2279.txt and https://tools.ietf.org/html/rfc3629 + u0 = u8Array[idx++]; + if (!u0) return str; + if (!(u0 & 0x80)) { str += String.fromCharCode(u0); continue; } + u1 = u8Array[idx++] & 63; + if ((u0 & 0xE0) == 0xC0) { str += String.fromCharCode(((u0 & 31) << 6) | u1); continue; } + u2 = u8Array[idx++] & 63; + if ((u0 & 0xF0) == 0xE0) { + u0 = ((u0 & 15) << 12) | (u1 << 6) | u2; } else { - u4 = u8Array[idx++] & 63; - if ((u0 & 0xFC) == 0xF8) { - u0 = ((u0 & 3) << 24) | (u1 << 18) | (u2 << 12) | (u3 << 6) | u4; + u3 = u8Array[idx++] & 63; + if ((u0 & 0xF8) == 0xF0) { + u0 = ((u0 & 7) << 18) | (u1 << 12) | (u2 << 6) | u3; } else { - u5 = u8Array[idx++] & 63; - u0 = ((u0 & 1) << 30) | (u1 << 24) | (u2 << 18) | (u3 << 12) | (u4 << 6) | u5; + u4 = u8Array[idx++] & 63; + if ((u0 & 0xFC) == 0xF8) { + u0 = ((u0 & 3) << 24) | (u1 << 18) | (u2 << 12) | (u3 << 6) | u4; + } else { + u5 = u8Array[idx++] & 63; + u0 = ((u0 & 1) << 30) | (u1 << 24) | (u2 << 18) | (u3 << 12) | (u4 << 6) | u5; + } } } - } - if (u0 < 0x10000) { - str += String.fromCharCode(u0); - } else { - var ch = u0 - 0x10000; - str += String.fromCharCode(0xD800 | (ch >> 10), 0xDC00 | (ch & 0x3FF)); + if (u0 < 0x10000) { + str += String.fromCharCode(u0); + } else { + var ch = u0 - 0x10000; + str += String.fromCharCode(0xD800 | (ch >> 10), 0xDC00 | (ch & 0x3FF)); + } } } } @@ -923,12 +1017,12 @@ Module["UTF8ToString"] = UTF8ToString; // Copies the given Javascript String object 'str' to the given byte array at address 'outIdx', // encoded in UTF8 form and null-terminated. The copy will require at most str.length*4+1 bytes of space in the HEAP. -// Use the function lengthBytesUTF8() to compute the exact number of bytes (excluding null terminator) that this function will write. +// Use the function lengthBytesUTF8 to compute the exact number of bytes (excluding null terminator) that this function will write. // Parameters: // str: the Javascript string to copy. // outU8Array: the array to copy to. Each index in this array is assumed to be one 8-byte element. // outIdx: The starting offset in the array to begin the copying. -// maxBytesToWrite: The maximum number of bytes this function can write to the array. This count should include the null +// maxBytesToWrite: The maximum number of bytes this function can write to the array. This count should include the null // terminator, i.e. if maxBytesToWrite=1, only the null terminator will be written and nothing else. // maxBytesToWrite=0 does not write any bytes to the output, not even the null terminator. // Returns the number of bytes written, EXCLUDING the null terminator. @@ -988,10 +1082,11 @@ Module["stringToUTF8Array"] = stringToUTF8Array; // Copies the given Javascript String object 'str' to the emscripten HEAP at address 'outPtr', // null-terminated and encoded in UTF8 form. The copy will require at most str.length*4+1 bytes of space in the HEAP. -// Use the function lengthBytesUTF8() to compute the exact number of bytes (excluding null terminator) that this function will write. +// Use the function lengthBytesUTF8 to compute the exact number of bytes (excluding null terminator) that this function will write. // Returns the number of bytes written, EXCLUDING the null terminator. function stringToUTF8(str, outPtr, maxBytesToWrite) { + assert(typeof maxBytesToWrite == 'number', 'stringToUTF8(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!'); return stringToUTF8Array(str, HEAPU8,outPtr, maxBytesToWrite); } Module["stringToUTF8"] = stringToUTF8; @@ -1026,20 +1121,32 @@ Module["lengthBytesUTF8"] = lengthBytesUTF8; // Given a pointer 'ptr' to a null-terminated UTF16LE-encoded string in the emscripten HEAP, returns // a copy of that string as a Javascript String object. +var UTF16Decoder = typeof TextDecoder !== 'undefined' ? new TextDecoder('utf-16le') : undefined; function UTF16ToString(ptr) { - var i = 0; + assert(ptr % 2 == 0, 'Pointer passed to UTF16ToString must be aligned to two bytes!'); + var endPtr = ptr; + // TextDecoder needs to know the byte length in advance, it doesn't stop on null terminator by itself. + // Also, use the length info to avoid running tiny strings through TextDecoder, since .subarray() allocates garbage. + var idx = endPtr >> 1; + while (HEAP16[idx]) ++idx; + endPtr = idx << 1; - var str = ''; - while (1) { - var codeUnit = HEAP16[(((ptr)+(i*2))>>1)]; - if (codeUnit == 0) - return str; - ++i; - // fromCharCode constructs a character from a UTF-16 code unit, so we can pass the UTF16 string right through. - str += String.fromCharCode(codeUnit); + if (endPtr - ptr > 32 && UTF16Decoder) { + return UTF16Decoder.decode(HEAPU8.subarray(ptr, endPtr)); + } else { + var i = 0; + + var str = ''; + while (1) { + var codeUnit = HEAP16[(((ptr)+(i*2))>>1)]; + if (codeUnit == 0) return str; + ++i; + // fromCharCode constructs a character from a UTF-16 code unit, so we can pass the UTF16 string right through. + str += String.fromCharCode(codeUnit); + } } } -Module["UTF16ToString"] = UTF16ToString; + // Copies the given Javascript String object 'str' to the emscripten HEAP at address 'outPtr', // null-terminated and encoded in UTF16 form. The copy will require at most str.length*4+2 bytes of space in the HEAP. @@ -1047,12 +1154,14 @@ Module["UTF16ToString"] = UTF16ToString; // Parameters: // str: the Javascript string to copy. // outPtr: Byte address in Emscripten HEAP where to write the string to. -// maxBytesToWrite: The maximum number of bytes this function can write to the array. This count should include the null +// maxBytesToWrite: The maximum number of bytes this function can write to the array. This count should include the null // terminator, i.e. if maxBytesToWrite=2, only the null terminator will be written and nothing else. // maxBytesToWrite<2 does not write any bytes to the output, not even the null terminator. // Returns the number of bytes written, EXCLUDING the null terminator. function stringToUTF16(str, outPtr, maxBytesToWrite) { + assert(outPtr % 2 == 0, 'Pointer passed to stringToUTF16 must be aligned to two bytes!'); + assert(typeof maxBytesToWrite == 'number', 'stringToUTF16(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!'); // Backwards compatibility: if max bytes is not specified, assume unsafe unbounded write is allowed. if (maxBytesToWrite === undefined) { maxBytesToWrite = 0x7FFFFFFF; @@ -1071,16 +1180,17 @@ function stringToUTF16(str, outPtr, maxBytesToWrite) { HEAP16[((outPtr)>>1)]=0; return outPtr - startPtr; } -Module["stringToUTF16"] = stringToUTF16; + // Returns the number of bytes the given Javascript string takes if encoded as a UTF16 byte array, EXCLUDING the null terminator byte. function lengthBytesUTF16(str) { return str.length*2; } -Module["lengthBytesUTF16"] = lengthBytesUTF16; + function UTF32ToString(ptr) { + assert(ptr % 4 == 0, 'Pointer passed to UTF32ToString must be aligned to four bytes!'); var i = 0; var str = ''; @@ -1099,7 +1209,7 @@ function UTF32ToString(ptr) { } } } -Module["UTF32ToString"] = UTF32ToString; + // Copies the given Javascript String object 'str' to the emscripten HEAP at address 'outPtr', // null-terminated and encoded in UTF32 form. The copy will require at most str.length*4+4 bytes of space in the HEAP. @@ -1107,12 +1217,14 @@ Module["UTF32ToString"] = UTF32ToString; // Parameters: // str: the Javascript string to copy. // outPtr: Byte address in Emscripten HEAP where to write the string to. -// maxBytesToWrite: The maximum number of bytes this function can write to the array. This count should include the null +// maxBytesToWrite: The maximum number of bytes this function can write to the array. This count should include the null // terminator, i.e. if maxBytesToWrite=4, only the null terminator will be written and nothing else. // maxBytesToWrite<4 does not write any bytes to the output, not even the null terminator. // Returns the number of bytes written, EXCLUDING the null terminator. function stringToUTF32(str, outPtr, maxBytesToWrite) { + assert(outPtr % 4 == 0, 'Pointer passed to stringToUTF32 must be aligned to four bytes!'); + assert(typeof maxBytesToWrite == 'number', 'stringToUTF32(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!'); // Backwards compatibility: if max bytes is not specified, assume unsafe unbounded write is allowed. if (maxBytesToWrite === undefined) { maxBytesToWrite = 0x7FFFFFFF; @@ -1136,7 +1248,7 @@ function stringToUTF32(str, outPtr, maxBytesToWrite) { HEAP32[((outPtr)>>2)]=0; return outPtr - startPtr; } -Module["stringToUTF32"] = stringToUTF32; + // Returns the number of bytes the given Javascript string takes if encoded as a UTF16 byte array, EXCLUDING the null terminator byte. @@ -1152,185 +1264,45 @@ function lengthBytesUTF32(str) { return len; } -Module["lengthBytesUTF32"] = lengthBytesUTF32; + function demangle(func) { - var hasLibcxxabi = !!Module['___cxa_demangle']; - if (hasLibcxxabi) { + var __cxa_demangle_func = Module['___cxa_demangle'] || Module['__cxa_demangle']; + if (__cxa_demangle_func) { try { - var buf = _malloc(func.length); - writeStringToMemory(func.substr(1), buf); + var s = + func.substr(1); + var len = lengthBytesUTF8(s)+1; + var buf = _malloc(len); + stringToUTF8(s, buf, len); var status = _malloc(4); - var ret = Module['___cxa_demangle'](buf, 0, 0, status); + var ret = __cxa_demangle_func(buf, 0, 0, status); if (getValue(status, 'i32') === 0 && ret) { return Pointer_stringify(ret); } - // otherwise, libcxxabi failed, we can try ours which may return a partial result + // otherwise, libcxxabi failed } catch(e) { - // failure when using libcxxabi, we can try ours which may return a partial result + // ignore problems here } finally { if (buf) _free(buf); if (status) _free(status); if (ret) _free(ret); } + // failure when using libcxxabi, don't demangle + return func; } - var i = 3; - // params, etc. - var basicTypes = { - 'v': 'void', - 'b': 'bool', - 'c': 'char', - 's': 'short', - 'i': 'int', - 'l': 'long', - 'f': 'float', - 'd': 'double', - 'w': 'wchar_t', - 'a': 'signed char', - 'h': 'unsigned char', - 't': 'unsigned short', - 'j': 'unsigned int', - 'm': 'unsigned long', - 'x': 'long long', - 'y': 'unsigned long long', - 'z': '...' - }; - var subs = []; - var first = true; - function dump(x) { - //return; - if (x) Module.print(x); - Module.print(func); - var pre = ''; - for (var a = 0; a < i; a++) pre += ' '; - Module.print (pre + '^'); - } - function parseNested() { - i++; - if (func[i] === 'K') i++; // ignore const - var parts = []; - while (func[i] !== 'E') { - if (func[i] === 'S') { // substitution - i++; - var next = func.indexOf('_', i); - var num = func.substring(i, next) || 0; - parts.push(subs[num] || '?'); - i = next+1; - continue; - } - if (func[i] === 'C') { // constructor - parts.push(parts[parts.length-1]); - i += 2; - continue; - } - var size = parseInt(func.substr(i)); - var pre = size.toString().length; - if (!size || !pre) { i--; break; } // counter i++ below us - var curr = func.substr(i + pre, size); - parts.push(curr); - subs.push(curr); - i += pre + size; - } - i++; // skip E - return parts; - } - function parse(rawList, limit, allowVoid) { // main parser - limit = limit || Infinity; - var ret = '', list = []; - function flushList() { - return '(' + list.join(', ') + ')'; - } - var name; - if (func[i] === 'N') { - // namespaced N-E - name = parseNested().join('::'); - limit--; - if (limit === 0) return rawList ? [name] : name; - } else { - // not namespaced - if (func[i] === 'K' || (first && func[i] === 'L')) i++; // ignore const and first 'L' - var size = parseInt(func.substr(i)); - if (size) { - var pre = size.toString().length; - name = func.substr(i + pre, size); - i += pre + size; - } - } - first = false; - if (func[i] === 'I') { - i++; - var iList = parse(true); - var iRet = parse(true, 1, true); - ret += iRet[0] + ' ' + name + '<' + iList.join(', ') + '>'; - } else { - ret = name; - } - paramLoop: while (i < func.length && limit-- > 0) { - //dump('paramLoop'); - var c = func[i++]; - if (c in basicTypes) { - list.push(basicTypes[c]); - } else { - switch (c) { - case 'P': list.push(parse(true, 1, true)[0] + '*'); break; // pointer - case 'R': list.push(parse(true, 1, true)[0] + '&'); break; // reference - case 'L': { // literal - i++; // skip basic type - var end = func.indexOf('E', i); - var size = end - i; - list.push(func.substr(i, size)); - i += size + 2; // size + 'EE' - break; - } - case 'A': { // array - var size = parseInt(func.substr(i)); - i += size.toString().length; - if (func[i] !== '_') throw '?'; - i++; // skip _ - list.push(parse(true, 1, true)[0] + ' [' + size + ']'); - break; - } - case 'E': break paramLoop; - default: ret += '?' + c; break paramLoop; - } - } - } - if (!allowVoid && list.length === 1 && list[0] === 'void') list = []; // avoid (void) - if (rawList) { - if (ret) { - list.push(ret + '?'); - } - return list; - } else { - return ret + flushList(); - } - } - var parsed = func; - try { - // Special-case the entry point, since its name differs from other name mangling. - if (func == 'Object._main' || func == '_main') { - return 'main()'; - } - if (typeof func === 'number') func = Pointer_stringify(func); - if (func[0] !== '_') return func; - if (func[1] !== '_') return func; // C function - if (func[2] !== 'Z') return func; - switch (func[3]) { - case 'n': return 'operator new()'; - case 'd': return 'operator delete()'; - } - parsed = parse(); - } catch(e) { - parsed += '?'; - } - if (parsed.indexOf('?') >= 0 && !hasLibcxxabi) { - Runtime.warnOnce('warning: a problem occurred in builtin C++ name demangling; build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling'); - } - return parsed; + Runtime.warnOnce('warning: build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling'); + return func; } function demangleAll(text) { - return text.replace(/__Z[\w\d_]+/g, function(x) { var y = demangle(x); return x === y ? x : (x + ' [' + y + ']') }); + var regex = + /__Z[\w\d_]+/g; + return text.replace(regex, + function(x) { + var y = demangle(x); + return x === y ? x : (x + ' [' + y + ']'); + }); } function jsStackTrace() { @@ -1351,74 +1323,35 @@ function jsStackTrace() { } function stackTrace() { - return demangleAll(jsStackTrace()); + var js = jsStackTrace(); + if (Module['extraStackTrace']) js += '\n' + Module['extraStackTrace'](); + return demangleAll(js); } Module["stackTrace"] = stackTrace; // Memory management -var PAGE_SIZE = 4096; +var PAGE_SIZE = 16384; +var WASM_PAGE_SIZE = 65536; +var ASMJS_PAGE_SIZE = 16777216; +var MIN_TOTAL_MEMORY = 16777216; -function alignMemoryPage(x) { - if (x % 4096 > 0) { - x += (4096 - (x % 4096)); +function alignUp(x, multiple) { + if (x % multiple > 0) { + x += multiple - (x % multiple); } return x; } var HEAP; +var buffer; var HEAP8, HEAPU8, HEAP16, HEAPU16, HEAP32, HEAPU32, HEAPF32, HEAPF64; -var STATIC_BASE = 0, STATICTOP = 0, staticSealed = false; // static area -var STACK_BASE = 0, STACKTOP = 0, STACK_MAX = 0; // stack area -var DYNAMIC_BASE = 0, DYNAMICTOP = 0; // dynamic area handled by sbrk +function updateGlobalBuffer(buf) { + Module['buffer'] = buffer = buf; +} - - -function enlargeMemory() { - // TOTAL_MEMORY is the current size of the actual array, and DYNAMICTOP is the new top. - - var OLD_TOTAL_MEMORY = TOTAL_MEMORY; - - - var LIMIT = Math.pow(2, 31); // 2GB is a practical maximum, as we use signed ints as pointers - // and JS engines seem unhappy to give us 2GB arrays currently - if (DYNAMICTOP >= LIMIT) return false; - - while (TOTAL_MEMORY <= DYNAMICTOP) { // Simple heuristic. - if (TOTAL_MEMORY < LIMIT/2) { - TOTAL_MEMORY = alignMemoryPage(2*TOTAL_MEMORY); // double until 1GB - } else { - var last = TOTAL_MEMORY; - TOTAL_MEMORY = alignMemoryPage((3*TOTAL_MEMORY + LIMIT)/4); // add smaller increments towards 2GB, which we cannot reach - if (TOTAL_MEMORY <= last) return false; - } - } - - TOTAL_MEMORY = Math.max(TOTAL_MEMORY, 16*1024*1024); - - if (TOTAL_MEMORY >= LIMIT) return false; - - - - - try { - if (ArrayBuffer.transfer) { - buffer = ArrayBuffer.transfer(buffer, TOTAL_MEMORY); - } else { - var oldHEAP8 = HEAP8; - buffer = new ArrayBuffer(TOTAL_MEMORY); - } - } catch(e) { - return false; - } - - var success = _emscripten_replace_memory(buffer); - if (!success) return false; - - // everything worked - - Module['buffer'] = buffer; +function updateGlobalBufferViews() { Module['HEAP8'] = HEAP8 = new Int8Array(buffer); Module['HEAP16'] = HEAP16 = new Int16Array(buffer); Module['HEAP32'] = HEAP32 = new Int32Array(buffer); @@ -1427,61 +1360,78 @@ function enlargeMemory() { Module['HEAPU32'] = HEAPU32 = new Uint32Array(buffer); Module['HEAPF32'] = HEAPF32 = new Float32Array(buffer); Module['HEAPF64'] = HEAPF64 = new Float64Array(buffer); - if (!ArrayBuffer.transfer) { - HEAP8.set(oldHEAP8); +} + +var STATIC_BASE, STATICTOP, staticSealed; // static area +var STACK_BASE, STACKTOP, STACK_MAX; // stack area +var DYNAMIC_BASE, DYNAMICTOP_PTR; // dynamic area handled by sbrk + + STATIC_BASE = STATICTOP = STACK_BASE = STACKTOP = STACK_MAX = DYNAMIC_BASE = DYNAMICTOP_PTR = 0; + staticSealed = false; + + +// Initializes the stack cookie. Called at the startup of main and at the startup of each thread in pthreads mode. +function writeStackCookie() { + assert((STACK_MAX & 3) == 0); + HEAPU32[(STACK_MAX >> 2)-1] = 0x02135467; + HEAPU32[(STACK_MAX >> 2)-2] = 0x89BACDFE; +} + +function checkStackCookie() { + if (HEAPU32[(STACK_MAX >> 2)-1] != 0x02135467 || HEAPU32[(STACK_MAX >> 2)-2] != 0x89BACDFE) { + abort('Stack overflow! Stack cookie has been overwritten, expected hex dwords 0x89BACDFE and 0x02135467, but received 0x' + HEAPU32[(STACK_MAX >> 2)-2].toString(16) + ' ' + HEAPU32[(STACK_MAX >> 2)-1].toString(16)); } - - - return true; + // Also test the global address 0 for integrity. This check is not compatible with SAFE_SPLIT_MEMORY though, since that mode already tests all address 0 accesses on its own. + if (HEAP32[0] !== 0x63736d65 /* 'emsc' */) throw 'Runtime error: The application has corrupted its heap memory area (address zero)!'; } -var byteLength; -try { - byteLength = Function.prototype.call.bind(Object.getOwnPropertyDescriptor(ArrayBuffer.prototype, 'byteLength').get); - byteLength(new ArrayBuffer(4)); // can fail on older ie -} catch(e) { // can fail on older node/v8 - byteLength = function(buffer) { return buffer.byteLength; }; +function abortStackOverflow(allocSize) { + abort('Stack overflow! Attempted to allocate ' + allocSize + ' bytes on the stack, but stack has only ' + (STACK_MAX - asm.stackSave() + allocSize) + ' bytes available!'); } +function abortOnCannotGrowMemory() { + abort('Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value ' + TOTAL_MEMORY + ', (2) compile with -s ALLOW_MEMORY_GROWTH=1 which adjusts the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 '); +} + + +function enlargeMemory() { + abortOnCannotGrowMemory(); +} + + var TOTAL_STACK = Module['TOTAL_STACK'] || 5242880; -var TOTAL_MEMORY = Module['TOTAL_MEMORY'] || 16777216; - -var totalMemory = 64*1024; -while (totalMemory < TOTAL_MEMORY || totalMemory < 2*TOTAL_STACK) { - if (totalMemory < 16*1024*1024) { - totalMemory *= 2; - } else { - totalMemory += 16*1024*1024 - } -} -totalMemory = Math.max(totalMemory, 16*1024*1024); -if (totalMemory !== TOTAL_MEMORY) { - TOTAL_MEMORY = totalMemory; -} +var TOTAL_MEMORY = Module['TOTAL_MEMORY'] || 33554432; +if (TOTAL_MEMORY < TOTAL_STACK) Module.printErr('TOTAL_MEMORY should be larger than TOTAL_STACK, was ' + TOTAL_MEMORY + '! (TOTAL_STACK=' + TOTAL_STACK + ')'); // Initialize the runtime's memory // check for full engine support (use string 'subarray' to avoid closure compiler confusion) assert(typeof Int32Array !== 'undefined' && typeof Float64Array !== 'undefined' && !!(new Int32Array(1)['subarray']) && !!(new Int32Array(1)['set']), 'JS engine does not provide full typed array support'); -var buffer; +// Use a provided buffer, if there is one, or else allocate a new one +if (Module['buffer']) { + buffer = Module['buffer']; + assert(buffer.byteLength === TOTAL_MEMORY, 'provided buffer should be ' + TOTAL_MEMORY + ' bytes, but it is ' + buffer.byteLength); +} else { + // Use a WebAssembly memory where available + { + buffer = new ArrayBuffer(TOTAL_MEMORY); + } + assert(buffer.byteLength === TOTAL_MEMORY); +} +updateGlobalBufferViews(); -buffer = new ArrayBuffer(TOTAL_MEMORY); -HEAP8 = new Int8Array(buffer); -HEAP16 = new Int16Array(buffer); -HEAP32 = new Int32Array(buffer); -HEAPU8 = new Uint8Array(buffer); -HEAPU16 = new Uint16Array(buffer); -HEAPU32 = new Uint32Array(buffer); -HEAPF32 = new Float32Array(buffer); -HEAPF64 = new Float64Array(buffer); +function getTotalMemory() { + return TOTAL_MEMORY; +} // Endianness check (note: assumes compiler arch was little-endian) -HEAP32[0] = 255; -assert(HEAPU8[0] === 255 && HEAPU8[3] === 0, 'Typed arrays 2 must be run on a little-endian system'); + HEAP32[0] = 0x63736d65; /* 'emsc' */ +HEAP16[1] = 0x6373; +if (HEAPU8[2] !== 0x73 || HEAPU8[3] !== 0x63) throw 'Runtime error: expected the system to be little-endian!'; Module['HEAP'] = HEAP; Module['buffer'] = buffer; @@ -1504,9 +1454,9 @@ function callRuntimeCallbacks(callbacks) { var func = callback.func; if (typeof func === 'number') { if (callback.arg === undefined) { - Runtime.dynCall('v', func); + Module['dynCall_v'](func); } else { - Runtime.dynCall('vi', func, [callback.arg]); + Module['dynCall_vi'](func, callback.arg); } } else { func(callback.arg === undefined ? null : callback.arg); @@ -1536,21 +1486,25 @@ function preRun() { } function ensureInitRuntime() { + checkStackCookie(); if (runtimeInitialized) return; runtimeInitialized = true; callRuntimeCallbacks(__ATINIT__); } function preMain() { + checkStackCookie(); callRuntimeCallbacks(__ATMAIN__); } function exitRuntime() { + checkStackCookie(); callRuntimeCallbacks(__ATEXIT__); runtimeExited = true; } function postRun() { + checkStackCookie(); // compatibility - merge in anything from Module['postRun'] at this time if (Module['postRun']) { if (typeof Module['postRun'] == 'function') Module['postRun'] = [Module['postRun']]; @@ -1603,6 +1557,7 @@ function intArrayToString(array) { for (var i = 0; i < array.length; i++) { var chr = array[i]; if (chr > 0xFF) { + assert(false, 'Character code ' + chr + ' (' + String.fromCharCode(chr) + ') at offset ' + i + ' not in 0x00-0xFF.'); chr &= 0xFF; } ret.push(String.fromCharCode(chr)); @@ -1611,26 +1566,35 @@ function intArrayToString(array) { } Module["intArrayToString"] = intArrayToString; +// Deprecated: This function should not be called because it is unsafe and does not provide +// a maximum length limit of how many bytes it is allowed to write. Prefer calling the +// function stringToUTF8Array() instead, which takes in a maximum length that can be used +// to be secure from out of bounds writes. function writeStringToMemory(string, buffer, dontAddNull) { - var array = intArrayFromString(string, dontAddNull); - var i = 0; - while (i < array.length) { - var chr = array[i]; - HEAP8[(((buffer)+(i))>>0)]=chr; - i = i + 1; + Runtime.warnOnce('writeStringToMemory is deprecated and should not be called! Use stringToUTF8() instead!'); + + var lastChar, end; + if (dontAddNull) { + // stringToUTF8Array always appends null. If we don't want to do that, remember the + // character that existed at the location where the null will be placed, and restore + // that after the write (below). + end = buffer + lengthBytesUTF8(string); + lastChar = HEAP8[end]; } + stringToUTF8(string, buffer, Infinity); + if (dontAddNull) HEAP8[end] = lastChar; // Restore the value under the null character. } Module["writeStringToMemory"] = writeStringToMemory; function writeArrayToMemory(array, buffer) { - for (var i = 0; i < array.length; i++) { - HEAP8[((buffer++)>>0)]=array[i]; - } + assert(array.length >= 0, 'writeArrayToMemory array must have a length (should be an array or typed array)') + HEAP8.set(array, buffer); } Module["writeArrayToMemory"] = writeArrayToMemory; function writeAsciiToMemory(str, buffer, dontAddNull) { for (var i = 0; i < str.length; ++i) { + assert(str.charCodeAt(i) === str.charCodeAt(i)&0xff); HEAP8[((buffer++)>>0)]=str.charCodeAt(i); } // Null-terminate the pointer to the HEAP. @@ -1680,6 +1644,11 @@ if (!Math['clz32']) Math['clz32'] = function(x) { }; Math.clz32 = Math['clz32'] +if (!Math['trunc']) Math['trunc'] = function(x) { + return x < 0 ? Math.ceil(x) : Math.floor(x); +}; +Math.trunc = Math['trunc']; + var Math_abs = Math.abs; var Math_cos = Math.cos; var Math_sin = Math.sin; @@ -1696,8 +1665,10 @@ var Math_floor = Math.floor; var Math_pow = Math.pow; var Math_imul = Math.imul; var Math_fround = Math.fround; +var Math_round = Math.round; var Math_min = Math.min; var Math_clz32 = Math.clz32; +var Math_trunc = Math.trunc; // A counter of dependencies for calling run(). If we need to // do asynchronous work before running, increment this and @@ -1709,8 +1680,14 @@ var Math_clz32 = Math.clz32; var runDependencies = 0; var runDependencyWatcher = null; var dependenciesFulfilled = null; // overridden to take different actions when all run dependencies are fulfilled +var runDependencyTracking = {}; function getUniqueRunDependency(id) { + var orig = id; + while (1) { + if (!runDependencyTracking[id]) return id; + id = orig + Math.random(); + } return id; } @@ -1719,6 +1696,33 @@ function addRunDependency(id) { if (Module['monitorRunDependencies']) { Module['monitorRunDependencies'](runDependencies); } + if (id) { + assert(!runDependencyTracking[id]); + runDependencyTracking[id] = 1; + if (runDependencyWatcher === null && typeof setInterval !== 'undefined') { + // Check for missing dependencies every few seconds + runDependencyWatcher = setInterval(function() { + if (ABORT) { + clearInterval(runDependencyWatcher); + runDependencyWatcher = null; + return; + } + var shown = false; + for (var dep in runDependencyTracking) { + if (!shown) { + shown = true; + Module.printErr('still waiting on run dependencies:'); + } + Module.printErr('dependency: ' + dep); + } + if (shown) { + Module.printErr('(end of list)'); + } + }, 10000); + } + } else { + Module.printErr('warning: run dependency added without ID'); + } } Module["addRunDependency"] = addRunDependency; @@ -1727,6 +1731,12 @@ function removeRunDependency(id) { if (Module['monitorRunDependencies']) { Module['monitorRunDependencies'](runDependencies); } + if (id) { + assert(runDependencyTracking[id]); + delete runDependencyTracking[id]; + } else { + Module.printErr('warning: run dependency removed without ID'); + } if (runDependencies == 0) { if (runDependencyWatcher !== null) { clearInterval(runDependencyWatcher); @@ -1750,11 +1760,14 @@ var memoryInitializer = null; + + + // === Body === var ASM_CONSTS = [function($0, $1) { { Module.printErr('bad name in getProcAddress: ' + [Pointer_stringify($0), Pointer_stringify($1)]); } }]; -function _emscripten_asm_const_2(code, a0, a1) { +function _emscripten_asm_const_iii(code, a0, a1) { return ASM_CONSTS[code](a0, a1); } @@ -1762,23 +1775,20 @@ function _emscripten_asm_const_2(code, a0, a1) { STATIC_BASE = 8; -STATICTOP = STATIC_BASE + 29872; +STATICTOP = STATIC_BASE + 31104; /* global initializers */ __ATINIT__.push(); -/* memory initializer */ allocate([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,32,65,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE); -/* memory initializer */ allocate([128,191,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,32,0,0,176,1,0,0,0,0,0,0,0,0,0,32,37,249,142,0,10,2,0,0,128,190,125,95,244,125,31,160,242,43,74,30,9,82,8,0,64,34,65,80,20,4,16,32,32,41,46,18,8,34,8,0,32,34,65,80,20,4,16,32,32,249,16,76,8,250,62,60,16,34,125,222,247,125,16,32,32,161,232,50,8,34,8,0,8,34,5,16,4,69,16,0,240,163,164,50,8,82,8,0,4,34,5,16,4,69,16,32,32,249,226,94,8,2,0,129,2,62,125,31,244,125,16,0,0,32,0,0,176,1,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,190,15,0,192,15,224,247,251,125,126,191,95,232,190,80,0,162,8,8,68,232,47,20,10,133,2,129,80,72,160,80,0,162,40,228,73,40,40,20,10,132,2,129,64,72,160,72,0,190,15,2,16,175,235,247,9,132,62,159,216,79,160,71,0,34,136,228,9,161,42,20,10,132,2,129,80,72,160,72,0,34,40,8,4,160,47,20,10,133,2,129,80,72,162,80,0,190,143,0,0,33,32,244,251,125,126,129,95,232,156,208,7,0,128,0,0,224,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,1,12,0,130,66,191,223,239,247,251,11,5,5,133,66,191,4,72,0,198,66,161,80,40,20,64,8,5,37,133,66,160,8,168,0,170,70,161,80,40,20,64,8,5,37,133,66,144,16,8,0,146,74,161,95,232,247,67,8,5,37,121,126,136,32,8,0,130,82,161,64,40,1,66,8,137,36,133,64,132,64,8,0,130,98,161,64,42,2,66,8,81,36,133,64,130,128,8,0,130,66,191,192,47,244,67,248,33,252,133,126,191,0,9,62,0,0,0,0,4,0,0,0,0,0,0,0,128,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,0,4,0,32,72,65,0,0,0,0,0,8,0,0,4,4,0,4,60,32,0,65,0,0,0,0,0,8,0,0,240,125,223,247,133,239,75,81,190,239,251,190,239,59,81,4,0,69,65,20,133,40,74,73,170,40,138,162,32,8,81,4,240,69,65,244,157,40,74,71,170,40,138,162,224,11,81,4,16,69,65,20,132,40,74,73,170,40,138,162,0,10,145,2,240,125,223,247,133,47,74,209,170,232,251,190,224,123,31,1,0,0,0,0,4,8,64,0,0,0,8,32,0,0,0,0,0,0,0,0,132,15,96,0,0,0,8,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,172,1,15,0,0,0,0,0,0,0,0,0,0,0,0,0,36,1,9,0,0,0,0,0,0,0,0,0,6,0,0,0,36,1,9,0,0,0,0,0,0,0,128,16,9,162,40,250,36,1,9,0,0,0,0,0,0,0,0,62,1,42,37,66,34,82,9,0,0,0,0,0,0,0,128,138,3,42,34,34,36,41,9,0,0,0,0,0,0,0,128,10,1,42,37,18,36,1,9,0,0,0,0,0,0,0,128,10,1,190,232,251,36,1,9,0,0,0,0,0,0,0,128,190,14,0,0,2,172,1,15,0,0,0,0,0,0,0,128,4,0,0,224,3,0,0,0,0,0,0,0,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,0,0,0,14,184,67,132,3,58,32,0,128,160,190,2,32,0,0,240,138,32,82,196,2,43,32,4,34,145,2,248,59,0,240,7,142,56,75,228,2,58,32,2,28,138,30,8,42,233,17,4,224,11,66,244,2,130,36,1,20,4,20,232,186,4,209,5,128,184,195,231,10,58,137,0,28,14,60,40,2,9,80,4,128,0,64,196,2,128,68,0,34,132,32,232,2,0,80,4,0,0,64,128,2,0,32,5,0,142,62,8,2,0,16,4,224,3,64,128,66,0,0,7,0,132,0,248,3,0,240,7,0,0,64,128,34,0,0,4,0,0,0,0,0,0,0,0,0,0,64,128,2,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,128,0,194,160,72,24,0,0,1,132,33,9,146,2,66,38,4,1,33,81,0,0,127,63,2,66,2,16,41,0,34,20,192,239,247,251,253,126,9,161,223,239,247,187,187,3,18,15,68,40,20,10,133,66,9,129,64,32,16,16,17,1,8,4,68,40,20,10,133,66,127,129,64,32,16,16,17,1,4,130,199,239,247,251,253,126,9,129,207,231,243,17,17,1,50,169,80,40,20,10,133,66,9,161,64,32,16,16,17,1,64,184,80,40,20,10,133,66,121,191,223,239,247,187,187,3,32,160,31,0,0,0,0,0,0,16,0,0,0,0,0,0,112,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,2,8,131,34,1,0,2,8,67,2,1,0,1,1,124,20,4,132,68,1,0,32,4,132,4,128,8,63,130,0,132,66,191,223,239,247,3,126,161,80,40,20,10,33,0,0,132,70,161,80,40,20,138,82,161,80,40,20,122,161,239,3,158,74,161,80,40,20,82,82,161,80,40,20,74,31,8,2,132,82,161,80,40,20,34,74,161,80,40,244,75,161,239,3,132,98,161,80,40,20,82,74,161,80,40,4,122,161,40,2,124,66,191,223,239,247,139,126,191,223,239,247,11,189,239,3,0,0,0,0,0,0,0,4,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,5,32,0,0,4,132,0,34,129,69,17,16,66,1,0,148,66,81,0,0,8,66,81,148,42,162,32,8,165,80,0,0,0,32,0,0,0,0,0,0,0,5,0,0,0,0,8,190,239,251,254,251,190,239,251,20,145,235,251,190,239,251,0,32,8,130,32,10,162,40,138,20,145,40,138,162,40,138,62,190,239,251,254,11,190,239,251,20,145,40,138,162,40,138,0,162,40,138,34,8,130,32,8,20,145,40,138,162,40,138,8,190,239,251,254,251,190,239,251,20,145,47,250,190,239,251,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,33,0,4,0,0,0,0,0,0,0,0,0,0,0,0,130,80,20,2,20,0,0,0,0,0,0,0,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,190,40,138,162,40,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,168,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,190,239,251,190,47,62,0,0,0,0,0,0,0,0,0,0,4,0,0,0,40,32,0,0,0,0,0,0,0,0,0,0,0,0,0,128,15,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,1,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,2,0,0,0,7,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,2,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,7,0,0,0,1,0,0,0,5,0,0,0,3,0,0,0,7,0,0,0,3,0,0,0,5,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,5,0,0,0,6,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,9,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,79,103,103,83], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+2202); -/* memory initializer */ allocate([1,0,0,128,0,0,0,86,0,0,0,64,0,0,0,62,180,228,51,9,145,243,51,139,178,1,52,60,32,10,52,35,26,19,52,96,169,28,52,167,215,38,52,75,175,49,52,80,59,61,52,112,135,73,52,35,160,86,52,184,146,100,52,85,109,115,52,136,159,129,52,252,11,138,52,147,4,147,52,105,146,156,52,50,191,166,52,63,149,177,52,147,31,189,52,228,105,201,52,173,128,214,52,54,113,228,52,166,73,243,52,136,140,1,53,192,247,9,53,6,239,18,53,118,123,28,53,192,166,38,53,55,123,49,53,218,3,61,53,94,76,73,53,59,97,86,53,185,79,100,53,252,37,115,53,138,121,129,53,134,227,137,53,124,217,146,53,133,100,156,53,82,142,166,53,51,97,177,53,37,232,188,53,220,46,201,53,206,65,214,53,65,46,228,53,87,2,243,53,143,102,1,54,79,207,9,54,245,195,18,54,152,77,28,54,232,117,38,54,50,71,49,54,116,204,60,54,94,17,73,54,101,34,86,54,206,12,100,54,184,222,114,54,151,83,129,54,28,187,137,54,114,174,146,54,175,54,156,54,129,93,166,54,53,45,177,54,199,176,188,54,228,243,200,54,1,3,214,54,96,235,227,54,30,187,242,54,162,64,1,55,235,166,9,55,241,152,18,55,201,31,28,55,30,69,38,55,61,19,49,55,30,149,60,55,111,214,72,55,162,227,85,55,247,201,99,55,137,151,114,55,175,45,129,55,190,146,137,55,116,131,146,55,230,8,156,55,190,44,166,55,71,249,176,55,121,121,188,55,254,184,200,55,71,196,213,55,146,168,227,55,248,115,242,55,192,26,1,56,147,126,9,56,249,109,18,56,6,242,27,56,98,20,38,56,86,223,48,56,216,93,60,56,146,155,72,56,242,164,85,56,51,135,99,56,110,80,114,56,211,7,129,56,107,106,137,56,130,88,146,56,42,219,155,56,9,252,165,56,104,197,176,56,59,66,188,56,41,126,200,56,160,133,213,56,217,101,227,56,232,44,242,56,233,244,0,57,70,86,9,57,14,67,18,57,81,196,27,57,181,227,37,57,127,171,48,57,162,38,60,57,197,96,72,57,83,102,85,57,131,68,99,57,104,9,114,57,1,226,128,57,36,66,137,57,157,45,146,57,123,173,155,57,99,203,165,57,153,145,176,57,13,11,188,57,102,67,200,57,11,71,213,57,50,35,227,57,237,229,241,57,29,207,0,58,5,46,9,58,48,24,18,58,169,150,27,58,21,179,37,58,183,119,48,58,124,239,59,58,10,38,72,58,199,39,85,58,230,1,99,58,120,194,113,58,59,188,128,58,233,25,137,58,198,2,146,58,219,127,155,58,203,154,165,58,216,93,176,58,239,211,187,58,179,8,200,58,136,8,213,58,159,224,226,58,7,159,241,58,92,169,0,59,208,5,9,59,94,237,17,59,15,105,27,59,132,130,37,59,253,67,48,59,103,184,59,59,97,235,71,59,77,233,84,59,93,191,98,59,156,123,113,59,127,150,128,59,186,241,136,59,249,215,145,59,71,82,155,59,65,106,165,59,39,42,176,59,226,156,187,59,18,206,199,59,23,202,212,59,32,158,226,59,53,88,241,59,166,131,0,60,167,221,8,60,152,194,17,60,130,59,27,60,1,82,37,60,84,16,48,60,97,129,59,60,200,176,71,60,229,170,84,60,232,124,98,60,212,52,113,60,207,112,128,60,150,201,136,60,58,173,145,60,192,36,155,60,197,57,165,60,133,246,175,60,229,101,187,60,130,147,199,60,185,139,212,60,180,91,226,60,121,17,241,60,251,93,0,61,137,181,8,61,223,151,17,61,2,14,27,61,141,33,37,61,185,220,47,61,109,74,59,61,64,118,71,61,145,108,84,61,133,58,98,61,34,238,112,61,42,75,128,61,127,161,136,61,136,130,145,61,72,247,154,61,88,9,165,61,242,194,175,61,248,46,187,61,3,89,199,61,109,77,212,61,92,25,226,61,209,202,240,61,91,56,0,62,119,141,8,62,51,109,17,62,144,224,26,62,39,241,36,62,46,169,47,62,135,19,59,62,202,59,71,62,77,46,84,62,55,248,97,62,132,167,112,62,143,37,128,62,115,121,136,62,226,87,145,62,220,201,154,62,249,216,164,62,109,143,175,62,27,248,186,62,149,30,199,62,51,15,212,62,23,215,225,62,61,132,240,62,198,18,0,63,114,101,8,63,147,66,17,63,43,179,26,63,206,192,36,63,177,117,47,63,178,220,58,63,101,1,71,63,29,240,83,63,251,181,97,63,251,96,112,63,0,0,128,63,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,13,0,0,0,15,0,0,0,17,0,0,0,19,0,0,0,23,0,0,0,27,0,0,0,31,0,0,0,35,0,0,0,43,0,0,0,51,0,0,0,59,0,0,0,67,0,0,0,83,0,0,0,99,0,0,0,115,0,0,0,131,0,0,0,163,0,0,0,195,0,0,0,227,0,0,0,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,7,0,0,0,9,0,0,0,13,0,0,0,17,0,0,0,25,0,0,0,33,0,0,0,49,0,0,0,65,0,0,0,97,0,0,0,129,0,0,0,193,0,0,0,1,1,0,0,129,1,0,0,1,2,0,0,1,3,0,0,1,4,0,0,1,6,0,0,1,8,0,0,1,12,0,0,1,16,0,0,1,24,0,0,1,32,0,0,1,48,0,0,1,64,0,0,1,96,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,9,0,0,0,9,0,0,0,10,0,0,0,10,0,0,0,11,0,0,0,11,0,0,0,12,0,0,0,12,0,0,0,13,0,0,0,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,3,0,0,0,7,0,0,0,15,0,0,0,31,0,0,0,63,0,0,0,127,0,0,0,255,0,0,0,255,1,0,0,255,3,0,0,255,7,0,0,255,15,0,0,255,31,0,0,255,63,0,0,255,127,0,0,255,255,0,0,0,0,0,0,255,255,255,255,253,255,255,255,249,255,255,255,241,255,255,255,225,255,255,255,193,255,255,255,129,255,255,255,1,255,255,255,1,254,255,255,1,252,255,255,1,248,255,255,1,240,255,255,1,224,255,255,1,192,255,255,1,128,255,255,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,192,3,0,0,192,4,0,0,192,5,0,0,192,6,0,0,192,7,0,0,192,8,0,0,192,9,0,0,192,10,0,0,192,11,0,0,192,12,0,0,192,13,0,0,192,14,0,0,192,15,0,0,192,16,0,0,192,17,0,0,192,18,0,0,192,19,0,0,192,20,0,0,192,21,0,0,192,22,0,0,192,23,0,0,192,24,0,0,192,25,0,0,192,26,0,0,192,27,0,0,192,28,0,0,192,29,0,0,192,30,0,0,192,31,0,0,192,0,0,0,179,1,0,0,195,2,0,0,195,3,0,0,195,4,0,0,195,5,0,0,195,6,0,0,195,7,0,0,195,8,0,0,195,9,0,0,195,10,0,0,195,11,0,0,195,12,0,0,195,13,0,0,211,14,0,0,195,15,0,0,195,0,0,12,187,1,0,12,195,2,0,12,195,3,0,12,195,4,0,12,211,84,35,0,0,84,35,0,0,0,0,0,0,10,0,0,0,100,0,0,0,232,3,0,0,16,39,0,0,160,134,1,0,64,66,15,0,128,150,152,0,0,225,245,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,4,0,0,0,147,110,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,200,68,114,46,32,84,117,114,116,108,101,32,38,32,77,114,46,32,71,65,77,69,82,65,0,114,101,115,111,117,114,99,101,115,47,115,107,121,46,112,110,103,0,114,101,115,111,117,114,99,101,115,47,109,111,117,110,116,97,105,110,115,46,112,110,103,0,114,101,115,111,117,114,99,101,115,47,115,101,97,46,112,110,103,0,114,101,115,111,117,114,99,101,115,47,116,105,116,108,101,46,112,110,103,0,114,101,115,111,117,114,99,101,115,47,116,117,114,116,108,101,46,112,110,103,0,114,101,115,111,117,114,99,101,115,47,103,97,109,101,114,97,46,112,110,103,0,114,101,115,111,117,114,99,101,115,47,115,104,97,114,107,46,112,110,103,0,114,101,115,111,117,114,99,101,115,47,111,114,99,97,46,112,110,103,0,114,101,115,111,117,114,99,101,115,47,115,119,104,97,108,101,46,112,110,103,0,114,101,115,111,117,114,99,101,115,47,102,105,115,104,46,112,110,103,0,114,101,115,111,117,114,99,101,115,47,103,102,114,97,109,101,46,112,110,103,0,114,101,115,111,117,114,99,101,115,47,107,111,109,105,107,97,46,112,110,103,0,114,101,115,111,117,114,99,101,115,47,101,97,116,46,119,97,118,0,114,101,115,111,117,114,99,101,115,47,100,105,101,46,119,97,118,0,114,101,115,111,117,114,99,101,115,47,103,97,109,101,114,97,46,119,97,118,0,114,101,115,111,117,114,99,101,115,47,115,112,101,101,100,105,110,103,46,111,103,103,0,80,82,69,83,83,32,69,78,84,69,82,0,83,67,79,82,69,58,32,37,48,52,105,0,68,73,83,84,65,78,67,69,58,32,37,48,52,105,0,71,65,77,69,82,65,32,77,79,68,69,0,71,65,77,69,32,79,86,69,82,0,72,73,83,67,79,82,69,58,32,37,48,52,105,0,72,73,68,73,83,84,65,78,67,69,58,32,37,48,52,105,0,80,82,69,83,83,32,69,78,84,69,82,32,116,111,32,82,69,80,76,65,89,0,73,110,105,116,105,97,108,105,122,105,110,103,32,114,97,121,108,105,98,32,40,118,49,46,52,46,48,41,0,35,99,97,110,118,97,115,0,84,97,114,103,101,116,32,116,105,109,101,32,112,101,114,32,102,114,97,109,101,58,32,37,48,50,46,48,51,102,32,109,105,108,108,105,115,101,99,111,110,100,115,0,87,105,110,100,111,119,32,99,108,111,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+6821); -/* memory initializer */ allocate([83,116,97,99,107,32,66,117,102,102,101,114,32,79,118,101,114,102,108,111,119,32,40,77,65,88,32,37,105,32,77,97,116,114,105,120,41,0,77,65,88,95,76,73,78,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,84,82,73,65,78,71,76,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,81,85,65,68,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,71,80,85,58,32,86,101,110,100,111,114,58,32,32,32,37,115,0,71,80,85,58,32,82,101,110,100,101,114,101,114,58,32,37,115,0,71,80,85,58,32,86,101,114,115,105,111,110,58,32,32,37,115,0,71,80,85,58,32,71,76,83,76,58,32,32,32,32,32,37,115,0,32,0,78,117,109,98,101,114,32,111,102,32,115,117,112,112,111,114,116,101,100,32,101,120,116,101,110,115,105,111,110,115,58,32,37,105,0,71,76,95,79,69,83,95,118,101,114,116,101,120,95,97,114,114,97,121,95,111,98,106,101,99,116,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,79,69,83,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,71,76,95,79,69,83,95,116,101,120,116,117,114,101,95,110,112,111,116,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,115,51,116,99,0,71,76,95,87,69,66,75,73,84,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,79,69,83,95,99,111,109,112,114,101,115,115,101,100,95,69,84,67,49,95,82,71,66,56,95,116,101,120,116,117,114,101,0,71,76,95,65,82,66,95,69,83,51,95,99,111,109,112,97,116,105,98,105,108,105,116,121,0,71,76,95,73,77,71,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,112,118,114,116,99,0,71,76,95,75,72,82,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,97,115,116,99,95,104,100,114,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,86,65,79,32,102,117,110,99,116,105,111,110,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,86,65,79,32,117,115,97,103,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,102,117,108,108,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,108,105,109,105,116,101,100,32,78,80,79,84,32,115,117,112,112,111,114,116,32,40,110,111,45,109,105,112,109,97,112,115,44,32,110,111,45,114,101,112,101,97,116,41,0,91,69,88,84,69,78,83,73,79,78,93,32,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,50,47,69,65,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,50,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,84,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,84,101,120,116,117,114,101,32,99,114,101,97,116,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,91,70,66,79,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,102,114,97,109,101,98,117,102,102,101,114,32,111,98,106,101,99,116,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,40,98,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,41,32,102,114,111,109,32,86,82,65,77,0,85,110,108,111,97,100,101,100,32,112,111,115,116,112,114,111,99,101,115,115,105,110,103,32,100,97,116,97,0,79,112,101,110,71,76,32,103,114,97,112,104,105,99,32,100,101,118,105,99,101,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,118,101,114,116,101,120,80,111,115,105,116,105,111,110,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,0,118,101,114,116,101,120,78,111,114,109,97,108,0,109,118,112,77,97,116,114,105,120,0,102,114,97,103,84,105,110,116,67,111,108,111,114,0,116,101,120,116,117,114,101,48,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,118,101,114,116,101,120,32,115,104,97,100,101,114,46,46,46,0,37,115,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,86,101,114,116,101,120,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,102,114,97,103,109,101,110,116,32,115,104,97,100,101,114,46,46,46,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,114,97,103,109,101,110,116,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,108,105,110,107,32,115,104,97,100,101,114,32,112,114,111,103,114,97,109,46,46,46,0,91,83,72,68,82,32,73,68,32,37,105,93,32,83,104,97,100,101,114,32,112,114,111,103,114,97,109,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,99,109,97,112,0,108,111,99,97,0,104,101,97,100,0,103,108,121,102,0,104,104,101,97,0,104,109,116,120,0,107,101,114,110,0,109,97,120,112,0,46,47,115,116,98,95,116,114,117,101,116,121,112,101,46,104,0,115,116,98,116,116,95,70,105,110,100,71,108,121,112,104,73,110,100,101,120,0,117,110,105,99,111,100,101,95,99,111,100,101,112,111,105,110,116,32,60,61,32,116,116,85,83,72,79,82,84,40,100,97,116,97,32,43,32,101,110,100,67,111,117,110,116,32,43,32,50,42,105,116,101,109,41,0,115,116,98,116,116,95,71,101,116,71,108,121,112,104,83,104,97,112,101,0,120,43,103,119,32,60,32,112,119,0,115,116,98,116,116,95,66,97,107,101,70,111,110,116,66,105,116,109,97,112,0,121,43,103,104,32,60,32,112,104,0,91,84,69,88,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,102,111,110,116,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,114,98,109,102,0,116,116,102,0,102,110,116,0,91,37,115,93,32,83,112,114,105,116,101,70,111,110,116,32,100,97,116,97,32,112,97,114,115,101,100,32,99,111,114,114,101,99,116,108,121,0,91,37,115,93,32,83,112,114,105,116,101,70,111,110,116,32,110,117,109,32,99,104,97,114,115,32,100,101,116,101,99,116,101,100,58,32,37,105,0,91,37,115,93,32,83,112,114,105,116,101,70,111,110,116,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,44,32,117,115,105,110,103,32,100,101,102,97,117,108,116,32,102,111,110,116,0,85,110,108,111,97,100,101,100,32,115,112,114,105,116,101,32,102,111,110,116,32,100,97,116,97,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,97,110,39,116,32,102,111,112,101,110,0,112,110,103,0,98,109,112,0,116,103,97,0,106,112,103,0,103,105,102,0,112,115,100,0,112,105,99,0,100,100,115,0,112,107,109,0,107,116,120,0,112,118,114,0,97,115,116,99,0,91,37,115,93,32,73,109,97,103,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,91,37,115,93,32,73,109,97,103,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,44,32,102,105,108,101,32,110,111,116,32,114,101,99,111,103,110,105,122,101,100,0,84,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,99,114,101,97,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,70,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,102,111,114,32,112,105,120,101,108,32,100,97,116,97,32,114,101,116,114,105,101,118,97,108,0,73,109,97,103,101,32,100,97,116,97,32,102,111,114,109,97,116,32,105,115,32,99,111,109,112,114,101,115,115,101,100,44,32,99,97,110,32,110,111,116,32,98,101,32,99,111,110,118,101,114,116,101,100,0,65,117,100,105,111,32,100,101,118,105,99,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,67,111,117,108,100,32,110,111,116,32,115,101,116,117,112,32,97,117,100,105,111,32,99,111,110,116,101,120,116,0,65,117,100,105,111,32,100,101,118,105,99,101,32,97,110,100,32,99,111,110,116,101,120,116,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,58,32,37,115,0,67,111,117,108,100,32,110,111,116,32,103,101,116,32,99,117,114,114,101,110,116,32,97,117,100,105,111,32,99,111,110,116,101,120,116,32,102,111,114,32,99,108,111,115,105,110,103,0,119,97,118,0,111,103,103,0,91,37,115,93,32,83,111,117,110,100,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,114,101,99,111,103,110,105,122,101,100,44,32,105,116,32,99,97,110,39,116,32,98,101,32,108,111,97,100,101,100,0,91,37,115,93,32,83,111,117,110,100,32,102,105,108,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,83,97,109,112,108,101,82,97,116,101,58,32,37,105,44,32,66,105,116,82,97,116,101,58,32,37,105,44,32,67,104,97,110,110,101,108,115,58,32,37,105,41,0,85,110,108,111,97,100,101,100,32,115,111,117,110,100,32,100,97,116,97,0,91,37,115,93,32,79,71,71,32,97,117,100,105,111,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,91,37,115,93,32,79,103,103,32,115,97,109,112,108,101,32,114,97,116,101,58,32,37,105,0,91,37,115,93,32,79,103,103,32,99,104,97,110,110,101,108,115,58,32,37,105,0,91,37,115,93,32,84,101,109,112,32,109,101,109,111,114,121,32,114,101,113,117,105,114,101,100,58,32,37,105,0,91,37,115,93,32,77,117,115,105,99,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,114,101,99,111,103,110,105,122,101,100,44,32,105,116,32,99,97,110,39,116,32,98,101,32,108,111,97,100,101,100,0,79,103,103,32,112,108,97,121,105,110,103,44,32,101,114,114,111,114,32,98,117,102,102,101,114,105,110,103,32,100,97,116,97,46,46,46,0,115,116,98,95,118,111,114,98,105,115,46,99,0,73,78,70,79,58,32,0,69,82,82,79,82,58,32,0,87,65,82,78,73,78,71,58,32,0,98,117,102,95,99,32,61,61,32,50,0,99,111,110,118,101,114,116,95,99,104,97,110,110,101,108,115,95,115,104,111,114,116,95,105,110,116,101,114,108,101,97,118,101,100,0,0,0,0,0,0,0,7,0,0,0,0,0,3,5,0,0,0,0,3,7,5,0,0,0,3,5,3,5,0,0,3,7,5,3,5,0,3,7,5,3,5,7,102,45,62,98,121,116,101,115,95,105,110,95,115,101,103,32,62,32,48,0,103,101,116,56,95,112,97,99,107,101,116,95,114,97,119,0,102,45,62,98,121,116,101,115,95,105,110,95,115,101,103,32,61,61,32,48,0,110,101,120,116,95,115,101,103,109,101,110,116,0,0,1,2,2,3,3,3,3,4,4,4,4,4,4,4,4,102,45,62,97,108,108,111,99,46,97,108,108,111,99,95,98,117,102,102,101,114,95,108,101,110,103,116,104,95,105,110,95,98,121,116,101,115,32,61,61,32,102,45,62,116,101,109,112,95,111,102,102,115,101,116,0,118,111,114,98,105,115,95,100,101,99,111,100,101,95,105,110,105,116,105,97,108,0,102,45,62,116,101,109,112,95,111,102,102,115,101,116,32,61,61,32,102,45,62,97,108,108,111,99,46,97,108,108,111,99,95,98,117,102,102,101,114,95,108,101,110,103,116,104,95,105,110,95,98,121,116,101,115,0,115,116,97,114,116,95,100,101,99,111,100,101,114,0,112,111,119,40,40,102,108,111,97,116,41,32,114,43,49,44,32,100,105,109,41,32,62,32,101,110,116,114,105,101,115,0,108,111,111,107,117,112,49,95,118,97,108,117,101,115,0,40,105,110,116,41,32,102,108,111,111,114,40,112,111,119,40,40,102,108,111,97,116,41,32,114,44,32,100,105,109,41,41,32,60,61,32,101,110,116,114,105,101,115,0,107,32,61,61,32,99,45,62,115,111,114,116,101,100,95,101,110,116,114,105,101,115,0,99,111,109,112,117,116,101,95,115,111,114,116,101,100,95,104,117,102,102,109,97,110,0,99,45,62,115,111,114,116,101,100,95,99,111,100,101,119,111,114,100,115,91,120,93,32,61,61,32,99,111,100,101,0,108,101,110,32,33,61,32,78,79,95,67,79,68,69,0,105,110,99,108,117,100,101,95,105,110,95,115,111,114,116,0,99,45,62,115,111,114,116,101,100,95,101,110,116,114,105,101,115,32,61,61,32,48,0,99,111,109,112,117,116,101,95,99,111,100,101,119,111,114,100,115,0,122,32,62,61,32,48,32,38,38,32,122,32,60,32,51,50,0,108,101,110,91,105,93,32,62,61,32,48,32,38,38,32,108,101,110,91,105,93,32,60,32,51,50,0,97,118,97,105,108,97,98,108,101,91,121,93,32,61,61,32,48,0,118,111,114,98,105,115,103,101,116,95,119,105,110,100,111,119,0,118,111,114,98,105,115,95,100,101,99,111,100,101,95,112,97,99,107,101,116,95,114,101,115,116,0,40,110,32,38,32,51,41,32,61,61,32,48,0,105,109,100,99,116,95,115,116,101,112,51,95,105,116,101,114,48,95,108,111,111,112,0,122,32,60,32,99,45,62,115,111,114,116,101,100,95,101,110,116,114,105,101,115,0,99,111,100,101,98,111,111,107,95,100,101,99,111,100,101,95,115,116,97,114,116,0,33,99,45,62,115,112,97,114,115,101,32,124,124,32,122,32,60,32,99,45,62,115,111,114,116,101,100,95,101,110,116,114,105,101,115,0,99,111,100,101,98,111,111,107,95,100,101,99,111,100,101,95,100,101,105,110,116,101,114,108,101,97,118,101,95,114,101,112,101,97,116,0,33,99,45,62,115,112,97,114,115,101,0,99,111,100,101,98,111,111,107,95,100,101,99,111,100,101,95,115,99,97,108,97,114,95,114,97,119,0,78,111,32,109,111,114,101,32,100,97,116,97,32,111,98,116,97,105,110,101,100,32,102,114,111,109,32,115,116,114,101,97,109,0,85,110,108,111,97,100,101,100,32,119,97,118,101,32,100,97,116,97,0,91,37,115,93,32,79,71,71,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,91,37,115,93,32,83,97,109,112,108,101,115,32,108,101,110,103,116,104,58,32,37,105,0,91,37,115,93,32,84,111,116,97,108,32,115,101,99,111,110,100,115,58,32,37,102,0,91,37,115,93,32,79,103,103,32,97,117,100,105,111,32,108,101,110,103,104,116,32,105,115,32,108,97,114,103,101,114,32,116,104,97,110,32,49,48,32,115,101,99,111,110,100,115,32,40,37,102,41,44,32,116,104,97,116,39,115,32,97,32,98,105,103,32,102,105,108,101,32,105,110,32,109,101,109,111,114,121,44,32,99,111,110,115,105,100,101,114,32,109,117,115,105,99,32,115,116,114,101,97,109,105,110,103,0,91,37,115,93,32,84,111,116,97,108,32,115,97,109,112,108,101,115,32,99,97,108,99,117,108,97,116,101,100,58,32,37,105,0,91,37,115,93,32,83,97,109,112,108,101,115,32,111,98,116,97,105,110,101,100,58,32,37,105,0,91,37,115,93,32,79,71,71,32,102,105,108,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,83,97,109,112,108,101,82,97,116,101,58,32,37,105,44,32,66,105,116,82,97,116,101,58,32,37,105,44,32,67,104,97,110,110,101,108,115,58,32,37,105,41,0,91,37,115,93,32,87,65,86,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,82,73,70,70,0,87,65,86,69,0,91,37,115,93,32,73,110,118,97,108,105,100,32,82,73,70,70,32,111,114,32,87,65,86,69,32,72,101,97,100,101,114,0,91,37,115,93,32,73,110,118,97,108,105,100,32,87,97,118,101,32,102,111,114,109,97,116,0,91,37,115,93,32,73,110,118,97,108,105,100,32,100,97,116,97,32,104,101,97,100,101,114,0,91,37,115,93,32,87,65,86,32,102,105,108,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,83,97,109,112,108,101,82,97,116,101,58,32,37,105,44,32,66,105,116,82,97,116,101,58,32,37,105,44,32,67,104,97,110,110,101,108,115,58,32,37,105,41,0,91,37,115,93,32,65,83,84,67,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,91,37,115,93,32,65,83,84,67,32,102,105,108,101,32,100,111,101,115,32,110,111,116,32,115,101,101,109,32,116,111,32,98,101,32,97,32,118,97,108,105,100,32,105,109,97,103,101,0,65,83,84,67,32,105,109,97,103,101,32,119,105,100,116,104,58,32,37,105,0,65,83,84,67,32,105,109,97,103,101,32,104,101,105,103,104,116,58,32,37,105,0,65,83,84,67,32,105,109,97,103,101,32,98,108,111,99,107,115,58,32,37,105,120,37,105,0,91,37,115,93,32,65,83,84,67,32,98,108,111,99,107,32,115,105,122,101,32,99,111,110,102,105,103,117,114,97,116,105,111,110,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,37,115,93,32,80,86,82,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,91,37,115,93,32,80,86,82,32,102,105,108,101,32,100,111,101,115,32,110,111,116,32,115,101,101,109,32,116,111,32,98,101,32,97,32,118,97,108,105,100,32,105,109,97,103,101,0,80,86,82,32,118,50,32,110,111,116,32,115,117,112,112,111,114,116,101,100,44,32,117,112,100,97,116,101,32,121,111,117,114,32,102,105,108,101,115,32,116,111,32,80,86,82,32,118,51,0,91,37,115,93,32,75,84,88,32,105,109,97,103,101,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,91,37,115,93,32,75,84,88,32,102,105,108,101,32,100,111,101,115,32,110,111,116,32,115,101,101,109,32,116,111,32,98,101,32,97,32,118,97,108,105,100,32,102,105,108,101,0,75,84,88,32,40,69,84,67,41,32,105,109,97,103,101,32,119,105,100,116,104,58,32,37,105,0,75,84,88,32,40,69,84,67,41,32,105,109,97,103,101,32,104,101,105,103,104,116,58,32,37,105,0,75,84,88,32,40,69,84,67,41,32,105,109,97,103,101,32,102,111,114,109,97,116,58,32,48,120,37,120,0,91,37,115,93,32,80,75,77,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,80,75,77,32,0,91,37,115,93,32,80,75,77,32,102,105,108,101,32,100,111,101,115,32,110,111,116,32,115,101,101,109,32,116,111,32,98,101,32,97,32,118,97,108,105,100,32,105,109,97,103,101,0,80,75,77,32,40,69,84,67,41,32,105,109,97,103,101,32,119,105,100,116,104,58,32,37,105,0,80,75,77,32,40,69,84,67,41,32,105,109,97,103,101,32,104,101,105,103,104,116,58,32,37,105,0,80,75,77,32,40,69,84,67,41,32,105,109,97,103,101,32,102,111,114,109,97,116,58,32,37,105,0,91,37,115,93,32,68,68,83,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,68,68,83,32,0,91,37,115,93,32,68,68,83,32,102,105,108,101,32,100,111,101,115,32,110,111,116,32,115,101,101,109,32,116,111,32,98,101,32,97,32,118,97,108,105,100,32,105,109,97,103,101,0,91,37,115,93,32,68,68,83,32,102,105,108,101,32,104,101,97,100,101,114,32,115,105,122,101,58,32,37,105,0,91,37,115,93,32,68,68,83,32,102,105,108,101,32,112,105,120,101,108,32,102,111,114,109,97,116,32,115,105,122,101,58,32,37,105,0,91,37,115,93,32,68,68,83,32,102,105,108,101,32,112,105,120,101,108,32,102,111,114,109,97,116,32,102,108,97,103,115,58,32,48,120,37,120,0,91,37,115,93,32,68,68,83,32,102,105,108,101,32,102,111,114,109,97,116,58,32,48,120,37,120,0,91,37,115,93,32,68,68,83,32,102,105,108,101,32,98,105,116,32,99,111,117,110,116,58,32,48,120,37,120,0,80,105,116,99,104,32,111,114,32,108,105,110,101,97,114,32,115,105,122,101,58,32,37,105,0,117,110,107,110,111,119,110,32,105,109,97,103,101,32,116,121,112,101,0,109,97,120,32,118,97,108,117,101,32,62,32,50,53,53,0,83,128,246,52,0,110,111,116,32,66,77,80,0,117,110,107,110,111,119,110,32,66,77,80,0,98,97,100,32,66,77,80,0,109,111,110,111,99,104,114,111,109,101,0,66,77,80,32,82,76,69,0,110,111,116,32,71,73,70,0,0,109,117,108,116,105,112,108,101,32,73,72,68,82,0,98,97,100,32,73,72,68,82,32,108,101,110,0,116,111,111,32,108,97,114,103,101,0,49,47,50,47,52,47,56,45,98,105,116,32,111,110,108,121,0,98,97,100,32,99,116,121,112,101,0,98,97,100,32,99,111,109,112,32,109,101,116,104,111,100,0,98,97,100,32,102,105,108,116,101,114,32,109,101,116,104,111,100,0,98,97,100,32,105,110,116,101,114,108,97,99,101,32,109,101,116,104,111,100,0,48,45,112,105,120,101,108,32,105,109,97,103,101,0,102,105,114,115,116,32,110,111,116,32,73,72,68,82,0,105,110,118,97,108,105,100,32,80,76,84,69,0,116,82,78,83,32,97,102,116,101,114,32,73,68,65,84,0,116,82,78,83,32,98,101,102,111,114,101,32,80,76,84,69,0,98,97,100,32,116,82,78,83,32,108,101,110,0,116,82,78,83,32,119,105,116,104,32,97,108,112,104,97,0,0,255,85,0,17,0,0,0,1,110,111,32,80,76,84,69,0,111,117,116,111,102,109,101,109,0,111,117,116,111,102,100,97,116,97,0,110,111,32,73,68,65,84,0,88,88,88,88,32,80,78,71,32,99,104,117,110,107,32,110,111,116,32,107,110,111,119,110,0,115,45,62,105,109,103,95,111,117,116,95,110,32,61,61,32,52,0,46,47,115,116,98,95,105,109,97,103,101,46,104,0,115,116,98,105,95,95,100,101,95,105,112,104,111,110,101,0,111,117,116,95,110,32,61,61,32,50,32,124,124,32,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,0,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,32,124,124,32,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,43,49,0,115,116,98,105,95,95,99,114,101,97,116,101,95,112,110,103,95,105,109,97,103,101,95,114,97,119,0,110,111,116,32,101,110,111,117,103,104,32,112,105,120,101,108,115,0,105,110,118,97,108,105,100,32,102,105,108,116,101,114,0,105,109,103,95,119,105,100,116,104,95,98,121,116,101,115,32,60,61,32,120,0,0,1,0,5,6,105,109,103,95,110,43,49,32,61,61,32,111,117,116,95,110,0,105,109,103,95,110,32,61,61,32,51,0,98,97,100,32,112,110,103,32,115,105,103,0,110,111,32,83,79,73,0,110,111,32,83,79,70,0,98,97,100,32,83,79,70,32,108,101,110,0,111,110,108,121,32,56,45,98,105,116,0,110,111,32,104,101,97,100,101,114,32,104,101,105,103,104,116,0,48,32,119,105,100,116,104,0,98,97,100,32,99,111,109,112,111,110,101,110,116,32,99,111,117,110,116,0,98,97,100,32,99,111,109,112,111,110,101,110,116,32,73,68,0,98,97,100,32,72,0,98,97,100,32,86,0,98,97,100,32,84,81,0,101,120,112,101,99,116,101,100,32,109,97,114,107,101,114,0,98,97,100,32,68,82,73,32,108,101,110,0,98,97,100,32,68,81,84,32,116,121,112,101,0,98,97,100,32,68,81,84,32,116,97,98,108,101,0,0,1,8,16,9,2,3,10,17,24,32,25,18,11,4,5,12,19,26,33,40,48,41,34,27,20,13,6,7,14,21,28,35,42,49,56,57,50,43,36,29,22,15,23,30,37,44,51,58,59,52,45,38,31,39,46,53,60,61,54,47,55,62,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,98,97,100,32,68,72,84,32,104,101,97,100,101,114,0,98,97,100,32,99,111,100,101,32,108,101,110,103,116,104,115,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,97,100,32,104,117,102,102,109,97,110,32,99,111,100,101,0,98,97,100,32,100,105,115,116,0,111,117,116,112,117,116,32,98,117,102,102,101,114,32,108,105,109,105,116,0,122,45,62,115,105,122,101,91,98,93,32,61,61,32,115,0,115,116,98,105,95,95,122,104,117,102,102,109,97,110,95,100,101,99,111,100,101,95,115,108,111,119,112,97,116,104,0,98,105,116,115,32,60,61,32,49,54,0,115,116,98,105,95,95,98,105,116,95,114,101,118,101,114,115,101,0,122,45,62,99,111,100,101,95,98,117,102,102,101,114,32,60,32,40,49,85,32,60,60,32,122,45,62,110,117,109,95,98,105,116,115,41,0,115,116,98,105,95,95,102,105,108,108,95,98,105,116,115,0,16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15,98,97,100,32,99,111,100,101,108,101,110,103,116,104,115,0,99,32,61,61,32,49,56,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,104,117,102,102,109,97,110,95,99,111,100,101,115,0,98,97,100,32,115,105,122,101,115,0,97,45,62,110,117,109,95,98,105,116,115,32,61,61,32,48,0,115,116,98,105,95,95,112,97,114,115,101,95,117,110,99,111,109,112,101,114,115,115,101,100,95,98,108,111,99,107,0,122,108,105,98,32,99,111,114,114,117,112,116,0,114,101,97,100,32,112,97,115,116,32,98,117,102,102,101,114,0,98,97,100,32,122,108,105,98,32,104,101,97,100,101,114,0,110,111,32,112,114,101,115,101,116,32,100,105,99,116,0,98,97,100,32,99,111,109,112,114,101,115,115,105,111,110,0,98,97,100,32,102,111,114,109,97,116,0,116,103,97,95,99,111,109,112,32,61,61,32,83,84,66,73,95,114,103,98,0,115,116,98,105,95,95,116,103,97,95,108,111,97,100,0,98,97,100,32,112,97,108,101,116,116,101,0,114,101,113,95,99,111,109,112,32,62,61,32,49,32,38,38,32,114,101,113,95,99,111,109,112,32,60,61,32,52,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,0,48,0,98,97,100,32,102,105,108,101,0,80,73,67,84,0,110,111,116,32,80,83,68,0,119,114,111,110,103,32,118,101,114,115,105,111,110,0,119,114,111,110,103,32,99,104,97,110,110,101,108,32,99,111,117,110,116,0,117,110,115,117,112,112,111,114,116,101,100,32,98,105,116,32,100,101,112,116,104,0,119,114,111,110,103,32,99,111,108,111,114,32,102,111,114,109,97,116,0,98,97,100,32,73,109,97,103,101,32,68,101,115,99,114,105,112,116,111,114,0,109,105,115,115,105,110,103,32,99,111,108,111,114,32,116,97,98,108,101,0,117,110,107,110,111,119,110,32,99,111,100,101,0,110,111,32,99,108,101,97,114,32,99,111,100,101,0,116,111,111,32,109,97,110,121,32,99,111,100,101,115,0,105,108,108,101,103,97,108,32,99,111,100,101,32,105,110,32,114,97,115,116,101,114,0,105,110,118,97,108,105,100,0,98,97,100,32,98,112,112,0,98,97,100,32,109,97,115,107,115,0,98,97,100,32,114,101,113,95,99,111,109,112,0,106,117,110,107,32,98,101,102,111,114,101,32,109,97,114,107,101,114,0,99,97,110,39,116,32,109,101,114,103,101,32,100,99,32,97,110,100,32,97,99,0,110,32,62,61,32,48,32,38,38,32,110,32,60,32,40,105,110,116,41,32,40,115,105,122,101,111,102,40,115,116,98,105,95,95,98,109,97,115,107,41,47,115,105,122,101,111,102,40,42,115,116,98,105,95,95,98,109,97,115,107,41,41,0,115,116,98,105,95,95,101,120,116,101,110,100,95,114,101,99,101,105,118,101,0,40,40,40,106,45,62,99,111,100,101,95,98,117,102,102,101,114,41,32,62,62,32,40,51,50,32,45,32,104,45,62,115,105,122,101,91,99,93,41,41,32,38,32,115,116,98,105,95,95,98,109,97,115,107,91,104,45,62,115,105,122,101,91,99,93,93,41,32,61,61,32,104,45,62,99,111,100,101,91,99,93,0,115,116,98,105,95,95,106,112,101,103,95,104,117,102,102,95,100,101,99,111,100,101,0,98,97,100,32,83,79,83,32,99,111,109,112,111,110,101,110,116,32,99,111,117,110,116,0,98,97,100,32,83,79,83,32,108,101,110,0,98,97,100,32,68,67,32,104,117,102,102,0,98,97,100,32,65,67,32,104,117,102,102,0,98,97,100,32,83,79,83,0,114,116,0,91,37,115,93,32,70,78,84,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,108,105,110,101,72,101,105,103,104,116,0,108,105,110,101,72,101,105,103,104,116,61,37,105,32,98,97,115,101,61,37,105,32,115,99,97,108,101,87,61,37,105,32,115,99,97,108,101,72,61,37,105,0,91,37,115,93,32,70,111,110,116,32,115,105,122,101,58,32,37,105,0,91,37,115,93,32,70,111,110,116,32,116,101,120,116,117,114,101,32,115,99,97,108,101,58,32,37,105,120,37,105,0,102,105,108,101,0,102,105,108,101,61,34,37,49,50,56,91,94,34,93,34,0,91,37,115,93,32,70,111,110,116,32,116,101,120,116,117,114,101,32,102,105,108,101,110,97,109,101,58,32,37,115,0,99,111,117,110,116,0,99,111,117,110,116,61,37,105,0,91,37,115,93,32,70,111,110,116,32,110,117,109,32,99,104,97,114,115,58,32,37,105,0,91,37,115,93,32,70,111,110,116,32,116,101,120,116,117,114,101,32,108,111,97,100,105,110,103,32,112,97,116,104,58,32,37,115,0,99,104,97,114,32,105,100,61,37,105,32,120,61,37,105,32,121,61,37,105,32,119,105,100,116,104,61,37,105,32,104,101,105,103,104,116,61,37,105,32,120,111,102,102,115,101,116,61,37,105,32,121,111,102,102,115,101,116,61,37,105,32,120,97,100,118,97,110,99,101,61,37,105,0,91,37,115,93,32,83,112,114,105,116,101,70,111,110,116,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,114,98,0,91,37,115,93,32,114,66,77,70,32,102,111,110,116,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,44,32,117,115,105,110,103,32,100,101,102,97,117,108,116,32,102,111,110,116,0,91,37,115,93,32,76,111,97,100,105,110,103,32,114,66,77,70,32,102,105,108,101,44,32,115,105,122,101,58,32,37,105,120,37,105,44,32,110,117,109,67,104,97,114,115,58,32,37,105,44,32,99,104,97,114,72,101,105,103,104,116,58,32,37,105,0,91,37,115,93,32,73,109,97,103,101,32,114,101,99,111,110,115,116,114,117,99,116,101,100,32,99,111,114,114,101,99,116,108,121,44,32,110,111,119,32,99,111,110,118,101,114,116,105,110,103,32,105,116,32,116,111,32,116,101,120,116,117,114,101,0,91,37,115,93,32,114,66,77,70,32,102,105,108,101,32,108,111,97,100,101,100,32,99,111,114,114,101,99,116,108,121,32,97,115,32,83,112,114,105,116,101,70,111,110,116,0,122,45,62,100,105,114,101,99,116,105,111,110,0,115,116,98,116,116,95,95,114,97,115,116,101,114,105,122,101,95,115,111,114,116,101,100,95,101,100,103,101,115,0,122,45,62,101,121,32,62,61,32,115,99,97,110,95,121,95,116,111,112,0,101,45,62,101,121,32,62,61,32,121,95,116,111,112,0,115,116,98,116,116,95,95,102,105,108,108,95,97,99,116,105,118,101,95,101,100,103,101,115,95,110,101,119,0,101,45,62,115,121,32,60,61,32,121,95,98,111,116,116,111,109,32,38,38,32,101,45,62,101,121,32,62,61,32,121,95,116,111,112,0,120,32,62,61,32,48,32,38,38,32,120,32,60,32,108,101,110,0,102,97,98,115,40,97,114,101,97,41,32,60,61,32,49,46,48,49,102,0,121,48,32,60,32,121,49,0,115,116,98,116,116,95,95,104,97,110,100,108,101,95,99,108,105,112,112,101,100,95,101,100,103,101,0,101,45,62,115,121,32,60,61,32,101,45,62,101,121,0,120,49,32,60,61,32,120,43,49,0,120,49,32,62,61,32,120,0,120,49,32,60,61,32,120,0,120,49,32,62,61,32,120,43,49,0,120,49,32,62,61,32,120,32,38,38,32,120,49,32,60,61,32,120,43,49,0,120,48,32,62,61,32,120,32,38,38,32,120,48,32,60,61,32,120,43,49,32,38,38,32,120,49,32,62,61,32,120,32,38,38,32,120,49,32,60,61,32,120,43,49,0,122,32,33,61,32,40,40,118,111,105,100,42,41,48,41,0,115,116,98,116,116,95,95,110,101,119,95,97,99,116,105,118,101,0,91,86,65,79,32,73,68,32,37,105,93,32,76,105,110,101,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,76,105,110,101,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,86,65,79,32,73,68,32,37,105,93,32,84,114,105,97,110,103,108,101,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,84,114,105,97,110,103,108,101,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,86,65,79,32,73,68,32,37,105,93,32,81,117,97,100,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,81,117,97,100,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,67,80,85,32,98,117,102,102,101,114,115,32,40,108,105,110,101,115,44,32,116,114,105,97,110,103,108,101,115,44,32,113,117,97,100,115,41,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,51,32,118,101,114,116,101,120,80,111,115,105,116,105,111,110,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,50,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,51,32,118,101,114,116,101,120,78,111,114,109,97,108,59,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,109,97,116,52,32,109,118,112,77,97,116,114,105,120,59,32,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,102,114,97,103,84,101,120,67,111,111,114,100,32,61,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,10,32,32,32,32,103,108,95,80,111,115,105,116,105,111,110,32,61,32,109,118,112,77,97,116,114,105,120,42,118,101,99,52,40,118,101,114,116,101,120,80,111,115,105,116,105,111,110,44,32,49,46,48,41,59,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,10,112,114,101,99,105,115,105,111,110,32,109,101,100,105,117,109,112,32,102,108,111,97,116,59,32,32,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,115,97,109,112,108,101,114,50,68,32,116,101,120,116,117,114,101,48,59,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,118,101,99,52,32,102,114,97,103,84,105,110,116,67,111,108,111,114,59,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,118,101,99,52,32,116,101,120,101,108,67,111,108,111,114,32,61,32,116,101,120,116,117,114,101,50,68,40,116,101,120,116,117,114,101,48,44,32,102,114,97,103,84,101,120,67,111,111,114,100,41,59,32,10,32,32,32,32,103,108,95,70,114,97,103,67,111,108,111,114,32,61,32,116,101,120,101,108,67,111,108,111,114,42,102,114,97,103,84,105,110,116,67,111,108,111,114,59,32,10], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+11245); -/* memory initializer */ allocate([125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,91,83,72,68,82,32,73,68,32,37,105,93,32,83,105,109,112,108,101,32,115,104,97,100,101,114,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,83,105,109,112,108,101,32,115,104,97,100,101,114,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,51,32,118,101,114,116,101,120,80,111,115,105,116,105,111,110,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,50,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,52,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,84,105,110,116,67,111,108,111,114,59,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,109,97,116,52,32,109,118,112,77,97,116,114,105,120,59,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,102,114,97,103,84,101,120,67,111,111,114,100,32,61,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,10,32,32,32,32,102,114,97,103,84,105,110,116,67,111,108,111,114,32,61,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,10,32,32,32,32,103,108,95,80,111,115,105,116,105,111,110,32,61,32,109,118,112,77,97,116,114,105,120,42,118,101,99,52,40,118,101,114,116,101,120,80,111,115,105,116,105,111,110,44,32,49,46,48,41,59,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,10,112,114,101,99,105,115,105,111,110,32,109,101,100,105,117,109,112,32,102,108,111,97,116,59,32,32,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,84,105,110,116,67,111,108,111,114,59,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,115,97,109,112,108,101,114,50,68,32,116,101,120,116,117,114,101,48,59,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,118,101,99,52,32,116,101,120,101,108,67,111,108,111,114,32,61,32,116,101,120,116,117,114,101,50,68,40,116,101,120,116,117,114,101,48,44,32,102,114,97,103,84,101,120,67,111,111,114,100,41,59,32,10,32,32,32,32,103,108,95,70,114,97,103,67,111,108,111,114,32,61,32,116,101,120,101,108,67,111,108,111,114,42,102,114,97,103,84,105,110,116,67,111,108,111,114,59,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,118,101,114,116,101,120,67,111,108,111,114,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,102,117,108,108,115,99,114,101,101,110,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,119,105,110,100,111,119,101,100,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,71,76,70,87,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,77,83,65,65,32,120,52,0,71,76,70,87,32,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,87,105,110,100,111,119,0,68,105,115,112,108,97,121,32,100,101,118,105,99,101,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,82,101,110,100,101,114,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,83,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,86,105,101,119,112,111,114,116,32,111,102,102,115,101,116,115,58,32,37,105,44,32,37,105,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,86,83,89,78,67,0,68,79,87,78,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,32,40,37,105,120,37,105,41,32,105,115,32,98,105,103,103,101,114,32,116,104,97,110,32,100,105,115,112,108,97,121,32,115,105,122,101,32,40,37,105,120,37,105,41,0,68,111,119,110,115,99,97,108,101,32,109,97,116,114,105,120,32,103,101,110,101,114,97,116,101,100,44,32,99,111,110,116,101,110,116,32,119,105,108,108,32,98,101,32,114,101,110,100,101,114,101,100,32,97,116,58,32,37,105,32,120,32,37,105,0,85,80,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,32,45,62,32,68,105,115,112,108,97,121,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,91,71,76,70,87,51,32,69,114,114,111,114,93,32,67,111,100,101,58,32,37,105,32,68,101,99,114,105,112,116,105,111,110,58,32,37,115,0,69,88,84,0,65,82,66,0,79,69,83,0,65,78,71,76,69,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,0,103,108,85,115,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,85,115,101,80,114,111,103,114,97,109,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,0,103,108,65,116,116,97,99,104,79,98,106,101,99,116,0,103,108,65,116,116,97,99,104,83,104,97,100,101,114,0,103,108,68,101,116,97,99,104,79,98,106,101,99,116,0,103,108,68,101,116,97,99,104,83,104,97,100,101,114,0,103,108,80,105,120,101,108,83,116,111,114,101,105,0,103,108,71,101,116,83,116,114,105,110,103,0,103,108,71,101,116,73,110,116,101,103,101,114,118,0,103,108,71,101,116,70,108,111,97,116,118,0,103,108,71,101,116,66,111,111,108,101,97,110,118,0,103,108,71,101,110,84,101,120,116,117,114,101,115,0,103,108,68,101,108,101,116,101,84,101,120,116,117,114,101,115,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,84,101,120,73,109,97,103,101,50,68,0,103,108,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,82,101,97,100,80,105,120,101,108,115,0,103,108,66,105,110,100,84,101,120,116,117,114,101,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,84,101,120,116,117,114,101,0,103,108,71,101,110,66,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,66,117,102,102,101,114,115,0,103,108,71,101,116,66,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,66,117,102,102,101,114,68,97,116,97,0,103,108,66,117,102,102,101,114,83,117,98,68,97,116,97,0,103,108,73,115,66,117,102,102,101,114,0,103,108,71,101,110,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,66,105,110,100,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,82,101,110,100,101,114,98,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,85,110,105,102,111,114,109,102,118,0,103,108,71,101,116,85,110,105,102,111,114,109,105,118,0,103,108,71,101,116,85,110,105,102,111,114,109,76,111,99,97,116,105,111,110,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,102,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,105,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,118,0,103,108,71,101,116,65,99,116,105,118,101,85,110,105,102,111,114,109,0,103,108,85,110,105,102,111,114,109,49,102,0,103,108,85,110,105,102,111,114,109,50,102,0,103,108,85,110,105,102,111,114,109,51,102,0,103,108,85,110,105,102,111,114,109,52,102,0,103,108,85,110,105,102,111,114,109,49,105,0,103,108,85,110,105,102,111,114,109,50,105,0,103,108,85,110,105,102,111,114,109,51,105,0,103,108,85,110,105,102,111,114,109,52,105,0,103,108,85,110,105,102,111,114,109,49,105,118,0,103,108,85,110,105,102,111,114,109,50,105,118,0,103,108,85,110,105,102,111,114,109,51,105,118,0,103,108,85,110,105,102,111,114,109,52,105,118,0,103,108,85,110,105,102,111,114,109,49,102,118,0,103,108,85,110,105,102,111,114,109,50,102,118,0,103,108,85,110,105,102,111,114,109,51,102,118,0,103,108,85,110,105,102,111,114,109,52,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,50,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,51,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,52,102,118,0,103,108,66,105,110,100,66,117,102,102,101,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,118,0,103,108,71,101,116,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,71,101,116,65,99,116,105,118,101,65,116,116,114,105,98,0,103,108,68,101,108,101,116,101,83,104,97,100,101,114,0,103,108,71,101,116,65,116,116,97,99,104,101,100,83,104,97,100,101,114,115,0,103,108,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,71,101,116,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,67,111,109,112,105,108,101,83,104,97,100,101,114,0,103,108,71,101,116,83,104,97,100,101,114,73,110,102,111,76,111,103,0,103,108,71,101,116,83,104,97,100,101,114,105,118,0,103,108,71,101,116,80,114,111,103,114,97,109,105,118,0,103,108,73,115,83,104,97,100,101,114,0,103,108,68,101,108,101,116,101,80,114,111,103,114,97,109,0,103,108,71,101,116,83,104,97,100,101,114,80,114,101,99,105,115,105,111,110,70,111,114,109,97,116,0,103,108,76,105,110,107,80,114,111,103,114,97,109,0,103,108,71,101,116,80,114,111,103,114,97,109,73,110,102,111,76,111,103,0,103,108,86,97,108,105,100,97,116,101,80,114,111,103,114,97,109,0,103,108,73,115,80,114,111,103,114,97,109,0,103,108,66,105,110,100,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,66,105,110,100,70,114,97,109,101,98,117,102,102,101,114,0,103,108,71,101,110,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,70,114,97,109,101,98,117,102,102,101,114,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,70,114,97,109,101,98,117,102,102,101,114,84,101,120,116,117,114,101,50,68,0,103,108,71,101,116,70,114,97,109,101,98,117,102,102,101,114,65,116,116,97,99,104,109,101,110,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,70,114,97,109,101,98,117,102,102,101,114,0,103,108,68,101,108,101,116,101,79,98,106,101,99,116,0,103,108,71,101,116,79,98,106,101,99,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,71,101,116,73,110,102,111,76,111,103,0,103,108,66,105,110,100,80,114,111,103,114,97,109,0,103,108,71,101,116,80,111,105,110,116,101,114,118,0,103,108,68,114,97,119,82,97,110,103,101,69,108,101,109,101,110,116,115,0,103,108,69,110,97,98,108,101,67,108,105,101,110,116,83,116,97,116,101,0,103,108,86,101,114,116,101,120,80,111,105,110,116,101,114,0,103,108,84,101,120,67,111,111,114,100,80,111,105,110,116,101,114,0,103,108,78,111,114,109,97,108,80,111,105,110,116,101,114,0,103,108,67,111,108,111,114,80,111,105,110,116,101,114,0,103,108,67,108,105,101,110,116,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,0,103,108,77,97,116,114,105,120,77,111,100,101,0,103,108,76,111,97,100,73,100,101,110,116,105,116,121,0,103,108,76,111,97,100,77,97,116,114,105,120,102,0,103,108,70,114,117,115,116,117,109,0,103,108,82,111,116,97,116,101,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,0,103,108,69,110,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,105,115,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,114,97,119,65,114,114,97,121,115,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,0,103,108,83,104,97,100,101,114,66,105,110,97,114,121,0,103,108,82,101,108,101,97,115,101,83,104,97,100,101,114,67,111,109,112,105,108,101,114,0,103,108,71,101,116,69,114,114,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,68,105,118,105,115,111,114,0,103,108,68,114,97,119,65,114,114,97,121,115,73,110,115,116,97,110,99,101,100,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,73,110,115,116,97,110,99,101,100,0,103,108,70,105,110,105,115,104,0,103,108,70,108,117,115,104,0,103,108,67,108,101,97,114,68,101,112,116,104,0,103,108,67,108,101,97,114,68,101,112,116,104,102,0,103,108,68,101,112,116,104,70,117,110,99,0,103,108,69,110,97,98,108,101,0,103,108,68,105,115,97,98,108,101,0,103,108,70,114,111,110,116,70,97,99,101,0,103,108,67,117,108,108,70,97,99,101,0,103,108,67,108,101,97,114,0,103,108,76,105,110,101,87,105,100,116,104,0,103,108,67,108,101,97,114,83,116,101,110,99,105,108,0,103,108,68,101,112,116,104,77,97,115,107,0,103,108,83,116,101,110,99,105,108,77,97,115,107,0,103,108,67,104,101,99,107,70,114,97,109,101,98,117,102,102,101,114,83,116,97,116,117,115,0,103,108,71,101,110,101,114,97,116,101,77,105,112,109,97,112,0,103,108,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,0,103,108,73,115,69,110,97,98,108,101,100,0,103,108,66,108,101,110,100,70,117,110,99,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,83,101,112,97,114,97,116,101,0,103,108,68,101,112,116,104,82,97,110,103,101,0,103,108,68,101,112,116,104,82,97,110,103,101,102,0,103,108,83,116,101,110,99,105,108,77,97,115,107,83,101,112,97,114,97,116,101,0,103,108,72,105,110,116,0,103,108,80,111,108,121,103,111,110,79,102,102,115,101,116,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,0,103,108,83,97,109,112,108,101,67,111,118,101,114,97,103,101,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,0,103,108,83,116,101,110,99,105,108,70,117,110,99,0,103,108,83,116,101,110,99,105,108,79,112,0,103,108,86,105,101,119,112,111,114,116,0,103,108,67,108,101,97,114,67,111,108,111,114,0,103,108,83,99,105,115,115,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,0,103,108,67,111,108,111,114,77,97,115,107,0,103,108,82,101,110,100,101,114,98,117,102,102,101,114,83,116,111,114,97,103,101,0,103,108,66,108,101,110,100,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,66,108,101,110,100,67,111,108,111,114,0,103,108,83,116,101,110,99,105,108,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,83,116,101,110,99,105,108,79,112,83,101,112,97,114,97,116,101,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,0,103,108,67,111,112,121,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,112,121,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,68,114,97,119,66,117,102,102,101,114,115,0,123,32,77,111,100,117,108,101,46,112,114,105,110,116,69,114,114,40,39,98,97,100,32,110,97,109,101,32,105,110,32,103,101,116,80,114,111,99,65,100,100,114,101,115,115,58,32,39,32,43,32,91,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,48,41,44,32,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,49,41,93,41,59,32,125,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,105,110,102,105,110,105,116,121,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,1,2,3,4,5,6,7,8,9,255,255,255,255,255,255,255,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,255,255,255,255,255,255,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,1,2,4,7,3,6,5,0,114,119,97], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+21485); -/* memory initializer */ allocate([17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,110,97,110,0,78,65,78,0,46,0], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+29323); +/* memory initializer */ allocate([1,0,0,0,0,0,32,65,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,32,0,0,176,1,0,0,0,0,0,0,0,0,0,32,37,249,142,0,10,2,0,0,128,190,125,95,244,125,31,160,242,43,74,30,9,82,8,0,64,34,65,80,20,4,16,32,32,41,46,18,8,34,8,0,32,34,65,80,20,4,16,32,32,249,16,76,8,250,62,60,16,34,125,222,247,125,16,32,32,161,232,50,8,34,8,0,8,34,5,16,4,69,16,0,240,163,164,50,8,82,8,0,4,34,5,16,4,69,16,32,32,249,226,94,8,2,0,129,2,62,125,31,244,125,16,0,0,32,0,0,176,1,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,190,15,0,192,15,224,247,251,125,126,191,95,232,190,80,0,162,8,8,68,232,47,20,10,133,2,129,80,72,160,80,0,162,40,228,73,40,40,20,10,132,2,129,64,72,160,72,0,190,15,2,16,175,235,247,9,132,62,159,216,79,160,71,0,34,136,228,9,161,42,20,10,132,2,129,80,72,160,72,0,34,40,8,4,160,47,20,10,133,2,129,80,72,162,80,0,190,143,0,0,33,32,244,251,125,126,129,95,232,156,208,7,0,128,0,0,224,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,1,12,0,130,66,191,223,239,247,251,11,5,5,133,66,191,4,72,0,198,66,161,80,40,20,64,8,5,37,133,66,160,8,168,0,170,70,161,80,40,20,64,8,5,37,133,66,144,16,8,0,146,74,161,95,232,247,67,8,5,37,121,126,136,32,8,0,130,82,161,64,40,1,66,8,137,36,133,64,132,64,8,0,130,98,161,64,42,2,66,8,81,36,133,64,130,128,8,0,130,66,191,192,47,244,67,248,33,252,133,126,191,0,9,62,0,0,0,0,4,0,0,0,0,0,0,0,128,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,0,4,0,32,72,65,0,0,0,0,0,8,0,0,4,4,0,4,60,32,0,65,0,0,0,0,0,8,0,0,240,125,223,247,133,239,75,81,190,239,251,190,239,59,81,4,0,69,65,20,133,40,74,73,170,40,138,162,32,8,81,4,240,69,65,244,157,40,74,71,170,40,138,162,224,11,81,4,16,69,65,20,132,40,74,73,170,40,138,162,0,10,145,2,240,125,223,247,133,47,74,209,170,232,251,190,224,123,31,1,0,0,0,0,4,8,64,0,0,0,8,32,0,0,0,0,0,0,0,0,132,15,96,0,0,0,8,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,172,1,15,0,0,0,0,0,0,0,0,0,0,0,0,0,36,1,9,0,0,0,0,0,0,0,0,0,6,0,0,0,36,1,9,0,0,0,0,0,0,0,128,16,9,162,40,250,36,1,9,0,0,0,0,0,0,0,0,62,1,42,37,66,34,82,9,0,0,0,0,0,0,0,128,138,3,42,34,34,36,41,9,0,0,0,0,0,0,0,128,10,1,42,37,18,36,1,9,0,0,0,0,0,0,0,128,10,1,190,232,251,36,1,9,0,0,0,0,0,0,0,128,190,14,0,0,2,172,1,15,0,0,0,0,0,0,0,128,4,0,0,224,3,0,0,0,0,0,0,0,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,0,0,0,14,184,67,132,3,58,32,0,128,160,190,2,32,0,0,240,138,32,82,196,2,43,32,4,34,145,2,248,59,0,240,7,142,56,75,228,2,58,32,2,28,138,30,8,42,233,17,4,224,11,66,244,2,130,36,1,20,4,20,232,186,4,209,5,128,184,195,231,10,58,137,0,28,14,60,40,2,9,80,4,128,0,64,196,2,128,68,0,34,132,32,232,2,0,80,4,0,0,64,128,2,0,32,5,0,142,62,8,2,0,16,4,224,3,64,128,66,0,0,7,0,132,0,248,3,0,240,7,0,0,64,128,34,0,0,4,0,0,0,0,0,0,0,0,0,0,64,128,2,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,128,0,194,160,72,24,0,0,1,132,33,9,146,2,66,38,4,1,33,81,0,0,127,63,2,66,2,16,41,0,34,20,192,239,247,251,253,126,9,161,223,239,247,187,187,3,18,15,68,40,20,10,133,66,9,129,64,32,16,16,17,1,8,4,68,40,20,10,133,66,127,129,64,32,16,16,17,1,4,130,199,239,247,251,253,126,9,129,207,231,243,17,17,1,50,169,80,40,20,10,133,66,9,161,64,32,16,16,17,1,64,184,80,40,20,10,133,66,121,191,223,239,247,187,187,3,32,160,31,0,0,0,0,0,0,16,0,0,0,0,0,0,112,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,2,8,131,34,1,0,2,8,67,2,1,0,1,1,124,20,4,132,68,1,0,32,4,132,4,128,8,63,130,0,132,66,191,223,239,247,3,126,161,80,40,20,10,33,0,0,132,70,161,80,40,20,138,82,161,80,40,20,122,161,239,3,158,74,161,80,40,20,82,82,161,80,40,20,74,31,8,2,132,82,161,80,40,20,34,74,161,80,40,244,75,161,239,3,132,98,161,80,40,20,82,74,161,80,40,4,122,161,40,2,124,66,191,223,239,247,139,126,191,223,239,247,11,189,239,3,0,0,0,0,0,0,0,4,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,5,32,0,0,4,132,0,34,129,69,17,16,66,1,0,148,66,81,0,0,8,66,81,148,42,162,32,8,165,80,0,0,0,32,0,0,0,0,0,0,0,5,0,0,0,0,8,190,239,251,254,251,190,239,251,20,145,235,251,190,239,251,0,32,8,130,32,10,162,40,138,20,145,40,138,162,40,138,62,190,239,251,254,11,190,239,251,20,145,40,138,162,40,138,0,162,40,138,34,8,130,32,8,20,145,40,138,162,40,138,8,190,239,251,254,251,190,239,251,20,145,47,250,190,239,251,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,33,0,4,0,0,0,0,0,0,0,0,0,0,0,0,130,80,20,2,20,0,0,0,0,0,0,0,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,190,40,138,162,40,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,168,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,190,239,251,190,47,62,0,0,0,0,0,0,0,0,0,0,4,0,0,0,40,32,0,0,0,0,0,0,0,0,0,0,0,0,0,128,15,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,1,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,2,0,0,0,7,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,2,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,7,0,0,0,1,0,0,0,5,0,0,0,3,0,0,0,7,0,0,0,3,0,0,0,5,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,5,0,0,0,6,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,9,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,5,0,0,0,255,255,255,255,0,1,0,0,255,255,255,255,0,0,128,191,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,1,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,13,0,0,0,15,0,0,0,17,0,0,0,19,0,0,0,23,0,0,0,27,0,0,0,31,0,0,0,35,0,0,0,43,0,0,0,51,0,0,0,59,0,0,0,67,0,0,0,83,0,0,0,99,0,0,0,115,0,0,0,131,0,0,0,163,0,0,0,195,0,0,0,227,0,0,0,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,9,0,0,0,9,0,0,0,10,0,0,0,10,0,0,0,11,0,0,0,11,0,0,0,12,0,0,0,12,0,0,0,13,0,0,0,13,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,7,0,0,0,9,0,0,0,13,0,0,0,17,0,0,0,25,0,0,0,33,0,0,0,49,0,0,0,65,0,0,0,97,0,0,0,129,0,0,0,193,0,0,0,1,1,0,0,129,1,0,0,1,2,0,0,1,3,0,0,1,4,0,0,1,6,0,0,1,8,0,0,1,12,0,0,1,16,0,0,1,24,0,0,1,32,0,0,1,48,0,0,1,64,0,0,1,96,0,0,0,0,0,0,0,0,0,0,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,171,170,42,63,0,0,0,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,192,63,0,0,0,64,0,0,0,0,0,0,128,191,0,0,0,192,0,0,128,192,0,0,0,193,0,0,128,193,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,63,0,0,0,64,0,0,128,64,0,0,0,65,0,0,128,65,0,0,0,0,0,0,0,0,172,95,0,0,0,1,0,0,128,0,0,0,86,0,0,0,64,0,0,0,62,180,228,51,9,145,243,51,139,178,1,52,60,32,10,52,35,26,19,52,96,169,28,52,167,215,38,52,75,175,49,52,80,59,61,52,112,135,73,52,35,160,86,52,184,146,100,52,85,109,115,52,136,159,129,52,252,11,138,52,147,4,147,52,105,146,156,52,50,191,166,52,63,149,177,52,147,31,189,52,228,105,201,52,173,128,214,52,54,113,228,52,166,73,243,52,136,140,1,53,192,247,9,53,6,239,18,53,118,123,28,53,192,166,38,53,55,123,49,53,218,3,61,53,94,76,73,53,59,97,86,53,185,79,100,53,252,37,115,53,138,121,129,53,134,227,137,53,124,217,146,53,133,100,156,53,82,142,166,53,51,97,177,53,37,232,188,53,220,46,201,53,206,65,214,53,65,46,228,53,87,2,243,53,143,102,1,54,79,207,9,54,245,195,18,54,152,77,28,54,232,117,38,54,50,71,49,54,116,204,60,54,94,17,73,54,101,34,86,54,206,12,100,54,184,222,114,54,151,83,129,54,28,187,137,54,114,174,146,54,175,54,156,54,129,93,166,54,53,45,177,54,199,176,188,54,228,243,200,54,1,3,214,54,96,235,227,54,30,187,242,54,162,64,1,55,235,166,9,55,241,152,18,55,201,31,28,55,30,69,38,55,61,19,49,55,30,149,60,55,111,214,72,55,162,227,85,55,247,201,99,55,137,151,114,55,175,45,129,55,190,146,137,55,116,131,146,55,230,8,156,55,190,44,166,55,71,249,176,55,121,121,188,55,254,184,200,55,71,196,213,55,146,168,227,55,248,115,242,55,192,26,1,56,147,126,9,56,249,109,18,56,6,242,27,56,98,20,38,56,86,223,48,56,216,93,60,56,146,155,72,56,242,164,85,56,51,135,99,56,110,80,114,56,211,7,129,56,107,106,137,56,130,88,146,56,42,219,155,56,9,252,165,56,104,197,176,56,59,66,188,56,41,126,200,56,160,133,213,56,217,101,227,56,232,44,242,56,233,244,0,57,70,86,9,57,14,67,18,57,81,196,27,57,181,227,37,57,127,171,48,57,162,38,60,57,197,96,72,57,83,102,85,57,131,68,99,57,104,9,114,57,1,226,128,57,36,66,137,57,157,45,146,57,123,173,155,57,99,203,165,57,153,145,176,57,13,11,188,57,102,67,200,57,11,71,213,57,50,35,227,57,237,229,241,57,29,207,0,58,5,46,9,58,48,24,18,58,169,150,27,58,21,179,37,58,183,119,48,58,124,239,59,58,10,38,72,58,199,39,85,58,230,1,99,58,120,194,113,58,59,188,128,58,233,25,137,58,198,2,146,58,219,127,155,58,203,154,165,58,216,93,176,58,239,211,187,58,179,8,200,58,136,8,213,58,159,224,226,58,7,159,241,58,92,169,0,59,208,5,9,59,94,237,17,59,15,105,27,59,132,130,37,59,253,67,48,59,103,184,59,59,97,235,71,59,77,233,84,59,93,191,98,59,156,123,113,59,127,150,128,59,186,241,136,59,249,215,145,59,71,82,155,59,65,106,165,59,39,42,176,59,226,156,187,59,18,206,199,59,23,202,212,59,32,158,226,59,53,88,241,59,166,131,0,60,167,221,8,60,152,194,17,60,130,59,27,60,1,82,37,60,84,16,48,60,97,129,59,60,200,176,71,60,229,170,84,60,232,124,98,60,212,52,113,60,207,112,128,60,150,201,136,60,58,173,145,60,192,36,155,60,197,57,165,60,133,246,175,60,229,101,187,60,130,147,199,60,185,139,212,60,180,91,226,60,121,17,241,60,251,93,0,61,137,181,8,61,223,151,17,61,2,14,27,61,141,33,37,61,185,220,47,61,109,74,59,61,64,118,71,61,145,108,84,61,133,58,98,61,34,238,112,61,42,75,128,61,127,161,136,61,136,130,145,61,72,247,154,61,88,9,165,61,242,194,175,61,248,46,187,61,3,89,199,61,109,77,212,61,92,25,226,61,209,202,240,61,91,56,0,62,119,141,8,62,51,109,17,62,144,224,26,62,39,241,36,62,46,169,47,62,135,19,59,62,202,59,71,62,77,46,84,62,55,248,97,62,132,167,112,62,143,37,128,62,115,121,136,62,226,87,145,62,220,201,154,62,249,216,164,62,109,143,175,62,27,248,186,62,149,30,199,62,51,15,212,62,23,215,225,62,61,132,240,62,198,18,0,63,114,101,8,63,147,66,17,63,43,179,26,63,206,192,36,63,177,117,47,63,178,220,58,63,101,1,71,63,29,240,83,63,251,181,97,63,251,96,112,63,0,0,128,63,79,103,103,83,2,0,0,192,3,0,0,192,4,0,0,192,5,0,0,192,6,0,0,192,7,0,0,192,8,0,0,192,9,0,0,192,10,0,0,192,11,0,0,192,12,0,0,192,13,0,0,192,14,0,0,192,15,0,0,192,16,0,0,192,17,0,0,192,18,0,0,192,19,0,0,192,20,0,0,192,21,0,0,192,22,0,0,192,23,0,0,192,24,0,0,192,25,0,0,192,26,0,0,192,27,0,0,192,28,0,0,192,29,0,0,192,30,0,0,192,31,0,0,192,0,0,0,179,1,0,0,195,2,0,0,195,3,0,0,195,4,0,0,195,5,0,0,195,6,0,0,195,7,0,0,195,8,0,0,195,9,0,0,195,10,0,0,195,11,0,0,195,12,0,0,195,13,0,0,211,14,0,0,195,15,0,0,195,0,0,12,187,1,0,12,195,2,0,12,195,3,0,12,195,4,0,12,211,140,19,0,0,5,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,111,117,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,110,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,0,0,5,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,119,117,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,100,0,0,0,232,3,0,0,16,39,0,0,160,134,1,0,64,66,15,0,128,150,152,0,0,225,245,5,95,112,137,0,255,9,47,15,176,6,80,6,245,5,160,5,77,5,1,5,185,4,117,4,53,4,249,3,193,3,139,3,88,3,200,68,114,46,32,84,117,114,116,108,101,32,38,32,77,114,46,32,71,65,77,69,82,65,0,114,101,115,111,117,114,99,101,115,47,115,107,121,46,112,110,103,0,114,101,115,111,117,114,99,101,115,47,109,111,117,110,116,97,105,110,115,46,112,110,103,0,114,101,115,111,117,114,99,101,115,47,115,101,97,46,112,110,103,0,114,101,115,111,117,114,99,101,115,47,116,105,116,108,101,46,112,110,103,0,114,101,115,111,117,114,99,101,115,47,116,117,114,116,108,101,46,112,110,103,0,114,101,115,111,117,114,99,101,115,47,103,97,109,101,114,97,46,112,110,103,0,114,101,115,111,117,114,99,101,115,47,115,104,97,114,107,46,112,110,103,0,114,101,115,111,117,114,99,101,115,47,111,114,99,97,46,112,110,103,0,114,101,115,111,117,114,99,101,115,47,115,119,104,97,108,101,46,112,110,103,0,114,101,115,111,117,114,99,101,115,47,102,105,115,104,46,112,110,103,0,114,101,115,111,117,114,99,101,115,47,103,102,114,97,109,101,46,112,110,103,0,114,101,115,111,117,114,99,101,115,47,107,111,109,105,107,97,46,112,110,103,0,114,101,115,111,117,114,99,101,115,47,101,97,116,46,119,97,118,0,114,101,115,111,117,114,99,101,115,47,100,105,101,46,119,97,118,0,114,101,115,111,117,114,99,101,115,47,103,97,109,101,114,97,46,119,97,118,0,114,101,115,111,117,114,99,101,115,47,115,112,101,101,100,105,110,103,46,111,103,103,0,80,82,69,83,83,32,69,78,84,69,82,0,83,67,79,82,69,58,32,37,48,52,105,0,68,73,83,84,65,78,67,69,58,32,37,48,52,105,0,71,65,77,69,82,65,32,77,79,68,69,0,71,65,77,69,32,79,86,69,82,0,72,73,83,67,79,82,69,58,32,37,48,52,105,0,72,73,68,73,83,84,65,78,67,69,58,32,37,48,52,105,0,80,82,69,83,83,32,69,78,84,69,82,32,116,111,32,82,69,80,76,65,89,0,73,110,105,116,105,97,108,105,122,105,110,103,32,114,97,121,108,105,98,32,40,118,49,46,55,46,48,41,0,35,99,97,110,118,97,115,0,84,97,114,103,101,116,32,116,105,109,101,32,112,101,114,32,102,114,97,109,101,58,32,37,48,50,46,48,51,102,32,109,105,108,108,105,115,101,99,111,110,100,115,0,69,115,99,97,112,101,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,102,117,108,108,115,99,114,101,101,110,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,119,105,110,100,111,119,101,100,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,91,84,69,88,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,102,111,110,116,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,84,69,88,32,37,105,93,32,80,97,114,97,109,101,116,101,114,115,58,32,37,105,120,37,105,44,32,37,105,32,109,105,112,115,44,32,102,111,114,109,97,116,32,37,105,0,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,50,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,84,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,84,101,120,116,117,114,101,32,99,114,101,97,116,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,73,109,97,103,101,32,100,97,116,97,32,102,111,114,109,97,116,32,105,115,32,99,111,109,112,114,101,115,115,101,100,44,32,99,97,110,32,110,111,116,32,98,101,32,99,111,110,118,101,114,116,101,100,0,70,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,102,111,114,32,112,105,120,101,108,32,100,97,116,97,32,114,101,116,114,105,101,118,97,108,0,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,71,76,70,87,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,77,83,65,65,32,120,52,0,67,108,111,115,101,115,116,32,102,117,108,108,115,99,114,101,101,110,32,118,105,100,101,111,109,111,100,101,58,32,37,105,32,120,32,37,105,0,71,76,70,87,32,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,87,105,110,100,111,119,0,68,105,115,112,108,97,121,32,100,101,118,105,99,101,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,82,101,110,100,101,114,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,83,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,86,105,101,119,112,111,114,116,32,111,102,102,115,101,116,115,58,32,37,105,44,32,37,105,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,86,83,89,78,67,0,71,80,85,58,32,86,101,110,100,111,114,58,32,32,32,37,115,0,71,80,85,58,32,82,101,110,100,101,114,101,114,58,32,37,115,0,71,80,85,58,32,86,101,114,115,105,111,110,58,32,32,37,115,0,71,80,85,58,32,71,76,83,76,58,32,32,32,32,32,37,115,0,32,0,78,117,109,98,101,114,32,111,102,32,115,117,112,112,111,114,116,101,100,32,101,120,116,101,110,115,105,111,110,115,58,32,37,105,0,71,76,95,79,69,83,95,118,101,114,116,101,120,95,97,114,114,97,121,95,111,98,106,101,99,116,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,79,69,83,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,71,76,95,79,69,83,95,116,101,120,116,117,114,101,95,110,112,111,116,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,115,51,116,99,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,87,69,66,75,73,84,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,79,69,83,95,99,111,109,112,114,101,115,115,101,100,95,69,84,67,49,95,82,71,66,56,95,116,101,120,116,117,114,101,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,101,116,99,49,0,71,76,95,65,82,66,95,69,83,51,95,99,111,109,112,97,116,105,98,105,108,105,116,121,0,71,76,95,73,77,71,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,112,118,114,116,99,0,71,76,95,75,72,82,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,97,115,116,99,95,104,100,114,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,102,105,108,116,101,114,95,97,110,105,115,111,116,114,111,112,105,99,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,109,105,114,114,111,114,95,99,108,97,109,112,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,86,65,79,32,102,117,110,99,116,105,111,110,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,86,65,79,32,117,115,97,103,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,102,117,108,108,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,108,105,109,105,116,101,100,32,78,80,79,84,32,115,117,112,112,111,114,116,32,40,110,111,45,109,105,112,109,97,112,115,44,32,110,111,45,114,101,112,101,97,116,41,0,91,69,88,84,69,78,83,73,79,78,93,32,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,50,47,69,65,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,110,105,115,111,116,114,111,112,105,99,32,116,101,120,116,117,114,101,115,32,102,105,108,116,101,114,105,110,103,32,115,117,112,112,111,114,116,101,100,32,40,109,97,120,58,32,37,46,48,102,88,41,0,91,69,88,84,69,78,83,73,79,78,93,32,67,108,97,109,112,32,109,105,114,114,111,114,32,119,114,97,112,32,116,101,120,116,117,114,101,32,109,111,100,101,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,79,112,101,110,71,76,32,100,101,102,97,117,108,116,32,115,116,97,116,101,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,67,80,85,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,44,32,116,114,105,97,110,103,108,101,115,44,32,113,117,97,100,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,51,32,118,101,114,116,101,120,80,111,115,105,116,105,111,110,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,50,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,52,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,109,97,116,52,32,109,118,112,77,97,116,114,105,120,59,32,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,102,114,97,103,84,101,120,67,111,111,114,100,32,61,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,10,32,32,32,32,102,114,97,103,67,111,108,111,114,32,61,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,10,32,32,32,32,103,108,95,80,111,115,105,116,105,111,110,32,61,32,109,118,112,77,97,116,114,105,120,42,118,101,99,52,40,118,101,114,116,101,120,80,111,115,105,116,105,111,110,44,32,49,46,48,41,59,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,112,114,101,99,105,115,105,111,110,32,109,101,100,105,117,109,112,32,102,108,111,97,116,59,32,32,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,115,97,109,112,108,101,114,50,68,32,116,101,120,116,117,114,101,48,59,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,118,101,99,52,32,99,111,108,68,105,102,102,117,115,101,59,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,118,101,99,52,32,116,101,120,101,108,67,111,108,111,114,32,61,32,116,101,120,116,117,114,101,50,68,40,116,101,120,116,117,114,101,48,44,32,102,114,97,103,84,101,120,67,111,111,114,100,41,59,32,10,32,32,32,32,103,108,95,70,114,97,103,67,111,108,111,114,32,61,32,116,101,120,101,108,67,111,108,111,114,42,99,111,108,68,105,102,102,117,115,101,42,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,118,101,114,116,101,120,80,111,115,105,116,105,111,110,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,50,0,118,101,114,116,101,120,78,111,114,109,97,108,0,118,101,114,116,101,120,84,97,110,103,101,110,116,0,118,101,114,116,101,120,67,111,108,111,114,0,109,118,112,77,97,116,114,105,120,0,99,111,108,68,105,102,102,117,115,101,0,99,111,108,65,109,98,105,101,110,116,0,99,111,108,83,112,101,99,117,108,97,114,0,116,101,120,116,117,114,101,48,0,116,101,120,116,117,114,101,49,0,116,101,120,116,117,114,101,50,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,118,101,114,116,101,120,32,115,104,97,100,101,114,46,46,46,0,37,115,0,91,86,83,72,68,82,32,73,68,32], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE); +/* memory initializer */ allocate([37,105,93,32,86,101,114,116,101,120,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,102,114,97,103,109,101,110,116,32,115,104,97,100,101,114,46,46,46,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,114,97,103,109,101,110,116,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,108,105,110,107,32,115,104,97,100,101,114,32,112,114,111,103,114,97,109,46,46,46,0,91,83,72,68,82,32,73,68,32,37,105,93,32,83,104,97,100,101,114,32,112,114,111,103,114,97,109,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,79,87,78,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,32,40,37,105,120,37,105,41,32,105,115,32,98,105,103,103,101,114,32,116,104,97,110,32,100,105,115,112,108,97,121,32,115,105,122,101,32,40,37,105,120,37,105,41,0,68,111,119,110,115,99,97,108,101,32,109,97,116,114,105,120,32,103,101,110,101,114,97,116,101,100,44,32,99,111,110,116,101,110,116,32,119,105,108,108,32,98,101,32,114,101,110,100,101,114,101,100,32,97,116,58,32,37,105,32,120,32,37,105,0,85,80,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,32,45,62,32,68,105,115,112,108,97,121,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,91,71,76,70,87,51,32,69,114,114,111,114,93,32,67,111,100,101,58,32,37,105,32,68,101,99,114,105,112,116,105,111,110,58,32,37,115,0,73,78,70,79,58,32,0,87,65,82,78,73,78,71,58,32,0,87,105,110,100,111,119,32,99,108,111,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,40,98,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,41,32,102,114,111,109,32,86,82,65,77,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,83,116,97,99,107,32,66,117,102,102,101,114,32,79,118,101,114,102,108,111,119,32,40,77,65,88,32,37,105,32,77,97,116,114,105,120,41,0,77,65,88,95,76,73,78,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,84,82,73,65,78,71,76,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,81,85,65,68,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,67,108,97,109,112,32,109,105,114,114,111,114,32,119,114,97,112,32,109,111,100,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,77,97,120,105,109,117,109,32,97,110,105,115,111,116,114,111,112,105,99,32,102,105,108,116,101,114,32,108,101,118,101,108,32,115,117,112,112,111,114,116,101,100,32,105,115,32,37,105,88,0,65,110,105,115,111,116,114,111,112,105,99,32,102,105,108,116,101,114,105,110,103,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,114,105,46,98,105,116,115,95,112,101,114,95,99,104,97,110,110,101,108,32,61,61,32,49,54,0,46,47,101,120,116,101,114,110,97,108,47,115,116,98,95,105,109,97,103,101,46,104,0,115,116,98,105,95,95,108,111,97,100,95,97,110,100,95,112,111,115,116,112,114,111,99,101,115,115,95,56,98,105,116,0,111,117,116,111,102,109,101,109,0,117,110,107,110,111,119,110,32,105,109,97,103,101,32,116,121,112,101,0,98,97,100,32,114,101,113,95,99,111,109,112,0,114,101,113,95,99,111,109,112,32,62,61,32,49,32,38,38,32,114,101,113,95,99,111,109,112,32,60,61,32,52,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,49,54,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,0,109,117,108,116,105,112,108,101,32,73,72,68,82,0,98,97,100,32,73,72,68,82,32,108,101,110,0,116,111,111,32,108,97,114,103,101,0,49,47,50,47,52,47,56,47,49,54,45,98,105,116,32,111,110,108,121,0,98,97,100,32,99,116,121,112,101,0,98,97,100,32,99,111,109,112,32,109,101,116,104,111,100,0,98,97,100,32,102,105,108,116,101,114,32,109,101,116,104,111,100,0,98,97,100,32,105,110,116,101,114,108,97,99,101,32,109,101,116,104,111,100,0,48,45,112,105,120,101,108,32,105,109,97,103,101,0,102,105,114,115,116,32,110,111,116,32,73,72,68,82,0,105,110,118,97,108,105,100,32,80,76,84,69,0,116,82,78,83,32,97,102,116,101,114,32,73,68,65,84,0,116,82,78,83,32,98,101,102,111,114,101,32,80,76,84,69,0,98,97,100,32,116,82,78,83,32,108,101,110,0,116,82,78,83,32,119,105,116,104,32,97,108,112,104,97,0,0,255,85,0,17,0,0,0,1,110,111,32,80,76,84,69,0,111,117,116,111,102,100,97,116,97,0,110,111,32,73,68,65,84,0,88,88,88,88,32,80,78,71,32,99,104,117,110,107,32,110,111,116,32,107,110,111,119,110,0,115,45,62,105,109,103,95,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,100,101,95,105,112,104,111,110,101,0,111,117,116,95,110,32,61,61,32,50,32,124,124,32,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,49,54,0,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,32,124,124,32,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,43,49,0,115,116,98,105,95,95,99,114,101,97,116,101,95,112,110,103,95,105,109,97,103,101,95,114,97,119,0,110,111,116,32,101,110,111,117,103,104,32,112,105,120,101,108,115,0,105,109,103,95,119,105,100,116,104,95,98,121,116,101,115,32,60,61,32,120,0,0,1,0,5,6,105,109,103,95,110,43,49,32,61,61,32,111,117,116,95,110,0,105,110,118,97,108,105,100,32,102,105,108,116,101,114,0,105,109,103,95,110,32,61,61,32,51,0,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,98,97,100,32,104,117,102,102,109,97,110,32,99,111,100,101,0,98,97,100,32,100,105,115,116,0,111,117,116,112,117,116,32,98,117,102,102,101,114,32,108,105,109,105,116,0,122,45,62,115,105,122,101,91,98,93,32,61,61,32,115,0,115,116,98,105,95,95,122,104,117,102,102,109,97,110,95,100,101,99,111,100,101,95,115,108,111,119,112,97,116,104,0,98,105,116,115,32,60,61,32,49,54,0,115,116,98,105,95,95,98,105,116,95,114,101,118,101,114,115,101,0,122,45,62,99,111,100,101,95,98,117,102,102,101,114,32,60,32,40,49,85,32,60,60,32,122,45,62,110,117,109,95,98,105,116,115,41,0,115,116,98,105,95,95,102,105,108,108,95,98,105,116,115,0,98,97,100,32,99,111,100,101,108,101,110,103,116,104,115,0,99,32,61,61,32,49,56,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,104,117,102,102,109,97,110,95,99,111,100,101,115,0,98,97,100,32,115,105,122,101,115,0,97,45,62,110,117,109,95,98,105,116,115,32,61,61,32,48,0,115,116,98,105,95,95,112,97,114,115,101,95,117,110,99,111,109,112,114,101,115,115,101,100,95,98,108,111,99,107,0,122,108,105,98,32,99,111,114,114,117,112,116,0,114,101,97,100,32,112,97,115,116,32,98,117,102,102,101,114,0,98,97,100,32,122,108,105,98,32,104,101,97,100,101,114,0,110,111,32,112,114,101,115,101,116,32,100,105,99,116,0,98,97,100,32,99,111,109,112,114,101,115,115,105,111,110,0,98,97,100,32,112,110,103,32,115,105,103,0,91,37,115,93,32,82,101,115,111,117,114,99,101,32,102,105,108,101,32,100,111,101,115,32,110,111,116,32,99,111,110,116,97,105,110,32,105,109,97,103,101,32,100,97,116,97,0,46,112,110,103,0,91,37,115,93,32,73,109,97,103,101,32,102,105,108,101,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,37,115,93,32,73,109,97,103,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,91,37,115,93,32,73,109,97,103,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,73,109,97,103,101,32,102,111,114,109,97,116,32,110,111,116,32,114,101,99,111,103,110,105,122,101,100,0,91,37,115,93,32,114,82,69,83,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,91,37,115,93,32,84,104,105,115,32,105,115,32,110,111,116,32,97,32,118,97,108,105,100,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,115,111,117,114,99,101,32,100,97,116,97,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,113,117,101,115,116,101,100,32,114,101,115,111,117,114,99,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,102,111,117,110,100,0,79,117,116,32,111,102,32,109,101,109,111,114,121,32,119,104,105,108,101,32,100,101,99,111,109,112,114,101,115,115,105,110,103,32,100,97,116,97,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,105,111,110,32,102,97,105,108,101,100,0,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,32,100,111,32,110,111,116,32,109,97,116,99,104,44,32,100,97,116,97,32,109,97,121,32,98,101,32,99,111,114,114,117,112,116,101,100,0,32,45,45,32,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,32,45,45,32,82,101,116,117,114,110,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,102,114,111,109,32,37,117,32,98,121,116,101,115,32,116,111,32,37,117,32,98,121,116,101,115,0,5,5,4,0,16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15,2,3,7,0,3,3,11,0,84,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,99,114,101,97,116,101,100,0,65,108,112,104,97,32,109,97,115,107,32,109,117,115,116,32,98,101,32,115,97,109,101,32,115,105,122,101,32,97,115,32,105,109,97,103,101,0,65,108,112,104,97,32,109,97,115,107,32,99,97,110,32,110,111,116,32,98,101,32,97,112,112,108,105,101,100,32,116,111,32,99,111,109,112,114,101,115,115,101,100,32,100,97,116,97,32,102,111,114,109,97,116,115,0,91,84,69,88,32,73,68,32,37,105,93,32,78,111,32,109,105,112,109,97,112,115,32,97,118,97,105,108,97,98,108,101,32,102,111,114,32,84,82,73,76,73,78,69,65,82,32,116,101,120,116,117,114,101,32,102,105,108,116,101,114,105,110,103,0,46,116,116,102,0,46,102,110,116,0,91,37,115,93,32,83,112,114,105,116,101,70,111,110,116,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,44,32,117,115,105,110,103,32,100,101,102,97,117,108,116,32,102,111,110,116,0,83,112,114,105,116,101,70,111,110,116,32,100,97,116,97,32,112,97,114,115,101,100,32,99,111,114,114,101,99,116,108,121,32,102,114,111,109,32,105,109,97,103,101,0,73,109,97,103,101,32,102,105,108,101,32,108,111,97,100,101,100,32,99,111,114,114,101,99,116,108,121,32,97,115,32,83,112,114,105,116,101,70,111,110,116,0,114,116,0,91,37,115,93,32,70,78,84,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,108,105,110,101,72,101,105,103,104,116,0,108,105,110,101,72,101,105,103,104,116,61,37,105,32,98,97,115,101,61,37,105,32,115,99,97,108,101,87,61,37,105,32,115,99,97,108,101,72,61,37,105,0,91,37,115,93,32,70,111,110,116,32,115,105,122,101,58,32,37,105,0,91,37,115,93,32,70,111,110,116,32,116,101,120,116,117,114,101,32,115,99,97,108,101,58,32,37,105,120,37,105,0,102,105,108,101,0,102,105,108,101,61,34,37,49,50,56,91,94,34,93,34,0,91,37,115,93,32,70,111,110,116,32,116,101,120,116,117,114,101,32,102,105,108,101,110,97,109,101,58,32,37,115,0,99,111,117,110,116,0,99,111,117,110,116,61,37,105,0,91,37,115,93,32,70,111,110,116,32,110,117,109,32,99,104,97,114,115,58,32,37,105,0,91,37,115,93,32,70,111,110,116,32,116,101,120,116,117,114,101,32,108,111,97,100,105,110,103,32,112,97,116,104,58,32,37,115,0,99,104,97,114,32,105,100,61,37,105,32,120,61,37,105,32,121,61,37,105,32,119,105,100,116,104,61,37,105,32,104,101,105,103,104,116,61,37,105,32,120,111,102,102,115,101,116,61,37,105,32,121,111,102,102,115,101,116,61,37,105,32,120,97,100,118,97,110,99,101,61,37,105,0,91,37,115,93,32,83,112,114,105,116,101,70,111,110,116,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,85,110,108,111,97,100,101,100,32,115,112,114,105,116,101,32,102,111,110,116,32,100,97,116,97,0,91,37,115,93,32,83,112,114,105,116,101,70,111,110,116,32,99,111,117,108,100,32,110,111,116,32,98,101,32,103,101,110,101,114,97,116,101,100,44,32,117,115,105,110,103,32,100,101,102,97,117,108,116,32,102,111,110,116,0,84,84,70,32,115,112,114,105,116,101,102,111,110,116,32,108,111,97,100,105,110,103,58,32,80,114,101,100,105,99,116,101,100,32,116,101,120,116,117,114,101,32,115,105,122,101,58,32,37,105,120,37,105,0,91,37,115,93,32,84,84,70,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,84,84,70,32,115,112,114,105,116,101,102,111,110,116,32,108,111,97,100,105,110,103,58,32,102,105,114,115,116,32,99,104,97,114,97,99,116,101,114,32,105,115,32,110,111,116,32,83,80,65,67,69,40,51,50,41,32,99,104,97,114,97,99,116,101,114,0,84,84,70,32,115,112,114,105,116,101,102,111,110,116,32,108,111,97,100,105,110,103,58,32,78,111,116,32,97,108,108,32,116,104,101,32,99,104,97,114,97,99,116,101,114,115,32,102,105,116,32,105,110,32,116,104,101,32,102,111,110,116,0,120,43,103,119,32,60,32,112,119,0,46,47,101,120,116,101,114,110,97,108,47,115,116,98,95,116,114,117,101,116,121,112,101,46,104,0,115,116,98,116,116,95,66,97,107,101,70,111,110,116,66,105,116,109,97,112,95,105,110,116,101,114,110,97,108,0,122,45,62,100,105,114,101,99,116,105,111,110,0,115,116,98,116,116,95,95,114,97,115,116,101,114,105,122,101,95,115,111,114,116,101,100,95,101,100,103,101,115,0,122,45,62,101,121,32,62,61,32,115,99,97,110,95,121,95,116,111,112,0,101,45,62,101,121,32,62,61,32,121,95,116,111,112,0,115,116,98,116,116,95,95,102,105,108,108,95,97,99,116,105,118,101,95,101,100,103,101,115,95,110,101,119,0,101,45,62,115,121,32,60,61,32,121,95,98,111,116,116,111,109,32,38,38,32,101,45,62,101,121,32,62,61,32,121,95,116,111,112,0,120,32,62,61,32,48,32,38,38,32,120,32,60,32,108,101,110,0,102,97,98,115,40,97,114,101,97,41,32,60,61,32,49,46,48,49,102,0,121,48,32,60,32,121,49,0,115,116,98,116,116,95,95,104,97,110,100,108,101,95,99,108,105,112,112,101,100,95,101,100,103,101,0,101,45,62,115,121,32,60,61,32,101,45,62,101,121,0,120,49,32,60,61,32,120,43,49,0,120,49,32,62,61,32,120,0,120,49,32,60,61,32,120,0,120,49,32,62,61,32,120,43,49,0,120,49,32,62,61,32,120,32,38,38,32,120,49,32,60,61,32,120,43,49,0,120,48,32,62,61,32,120,32,38,38,32,120,48,32,60,61,32,120,43,49,32,38,38,32,120,49,32,62,61,32,120,32,38,38,32,120,49,32,60,61,32,120,43,49,0,122,32,33,61,32,40,40,118,111,105,100,42,41,48,41,0,115,116,98,116,116,95,95,110,101,119,95,97,99,116,105,118,101,0,33,105,110,102,111,45,62,99,102,102,46,115,105,122,101,0,115,116,98,116,116,95,95,71,101,116,71,108,121,102,79,102,102,115,101,116,0,115,116,98,116,116,95,95,99,102,102,95,105,110,116,0,110,32,62,61,32,49,32,38,38,32,110,32,60,61,32,52,0,115,116,98,116,116,95,95,98,117,102,95,103,101,116,0,115,105,122,101,32,60,32,48,120,52,48,48,48,48,48,48,48,0,115,116,98,116,116,95,95,110,101,119,95,98,117,102,0,33,40,111,32,62,32,98,45,62,115,105,122,101,32,124,124,32,111,32,60,32,48,41,0,115,116,98,116,116,95,95,98,117,102,95,115,101,101,107,0,111,102,102,115,105,122,101,32,62,61,32,49,32,38,38,32,111,102,102,115,105,122,101,32,60,61,32,52,0,115,116,98,116,116,95,95,99,102,102,95,103,101,116,95,105,110,100,101,120,0,98,48,32,62,61,32,50,56,0,115,116,98,116,116,95,95,99,102,102,95,115,107,105,112,95,111,112,101,114,97,110,100,0,105,32,62,61,32,48,32,38,38,32,105,32,60,32,99,111,117,110,116,0,115,116,98,116,116,95,95,99,102,102,95,105,110,100,101,120,95,103,101,116,0,111,117,116,112,117,116,95,99,116,120,46,110,117,109,95,118,101,114,116,105,99,101,115,32,61,61,32,99,111,117,110,116,95,99,116,120,46,110,117,109,95,118,101,114,116,105,99,101,115,0,115,116,98,116,116,95,95,71,101,116,71,108,121,112,104,83,104,97,112,101,84,50,0,115,116,98,116,116,95,95,71,101,116,71,108,121,112,104,83,104,97,112,101,84,84,0,115,116,98,116,116,95,70,105,110,100,71,108,121,112,104,73,110,100,101,120,0,117,110,105,99,111,100,101,95,99,111,100,101,112,111,105,110,116,32,60,61,32,116,116,85,83,72,79,82,84,40,100,97,116,97,32,43,32,101,110,100,67,111,117,110,116,32,43,32,50,42,105,116,101,109,41,0,99,109,97,112,0,108,111,99,97,0,104,101,97,100,0,103,108,121,102,0,104,104,101,97,0,104,109,116,120,0,107,101,114,110,0,67,70,70,32,0,109,97,120,112,0,37,115,40,41,58,32,106,97,114,95,120,109,95,99,104,101,99,107,95,115,97,110,105,116,121,95,112,114,101,108,111,97,100,40,41,32,114,101,116,117,114,110,101,100,32,37,105,44,32,109,111,100,117,108,101,32,105,115,32,110,111,116,32,115,97,102,101,32,116,111,32,108,111,97,100,10,0,106,97,114,95,120,109,95,99,114,101,97,116,101,95,99,111,110,116,101,120,116,95,115,97,102,101,0,37,115,40,41,58,32,99,97,108,108,32,116,111,32,109,97,108,108,111,99,40,41,32,102,97,105,108,101,100,44,32,114,101,116,117,114,110,101,100,32,37,112,10,0,37,115,40,41,58,32,106,97,114,95,120,109,95,99,104,101,99,107,95,115,97,110,105,116,121,95,112,111,115,116,108,111,97,100,40,41,32,114,101,116,117,114,110,101,100,32,37,105,44,32,109,111,100,117,108,101,32,105,115,32,110,111,116,32,115,97,102,101,32,116,111,32,112,108,97,121,10,0,37,115,40,41,58,32,116,114,105,109,109,105,110,103,32,105,110,118,97,108,105,100,32,80,79,84,32,97,116,32,112,111,115,32,37,88,10,0,106,97,114,95,120,109,95,99,104,101,99,107,95,115,97,110,105,116,121,95,112,111,115,116,108,111,97,100,0,37,115,40,41,58,32,109,111,100,117,108,101,32,104,97,115,32,105,110,118,97,108,105,100,32,80,79,84,44,32,112,111,115,32,37,88,32,114,101,102,101,114,101,110,99,101,115,32,110,111,110,101,120,105,115,116,101,110,116,32,112,97,116,116,101,114,110,32,37,88,10,0,69,120,116,101,110,100,101,100,32,77,111,100,117,108,101,58,32,0,67,111,117,108,100,32,110,111,116,32,111,112,101,110,32,105,110,112,117,116,32,102,105,108,101,0,102,115,101,101,107,40,41,32,102,97,105,108,101,100,0,102,114,101,97,100,40,41,32,102,97,105,108,101,100,0,99,111,117,108,100,32,110,111,116,32,99,114,101,97,116,101,32,99,111,110,116,101,120,116,58,32,109,111,100,117,108,101,32,105,115,32,110,111,116,32,115,97,110,101,10,0,99,111,117,108,100,32,110,111,116,32,99,114,101,97,116,101,32,99,111,110,116,101,120,116,58,32,109,97,108,108,111,99,32,102,97,105,108,101,100,10,0,99,111,117,108,100,32,110,111,116,32,99,114,101,97,116,101,32,99,111,110,116,101,120,116,58,32,117,110,107,110,111,119,110,32,101,114,114,111,114,10,0,65,117,100,105,111,32,100,101,118,105,99,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,67,111,117,108,100,32,110,111,116,32,105,110,105,116,105,97,108,105,122,101,32,97,117,100,105,111,32,99,111,110,116,101,120,116,0,65,117,100,105,111,32,100,101,118,105,99,101,32,97,110,100,32,99,111,110,116,101,120,116,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,58,32,37,115,0,67,111,117,108,100,32,110,111,116,32,103,101,116,32,99,117,114,114,101,110,116,32,97,117,100,105,111,32,99,111,110,116,101,120,116,32,102,111,114,32,99,108,111,115,105,110,103,0,65,117,100,105,111,32,100,101,118,105,99,101,32,99,108,111,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,46,119,97,118,0,46,111,103,103,0,46,114,114,101,115,0,91,37,115,93,32,82,101,115,111,117,114,99,101,32,102,105,108,101,32,100,111,101,115,32,110,111,116,32,99,111,110,116,97,105,110,32,119,97,118,101,32,100,97,116,97,0,91,37,115,93,32,65,117,100,105,111,32,102,105,108,101,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,44,32,105,116,32,99,97,110,39,116,32,98,101,32,108,111,97,100,101,100,0,91,37,115,93,32,79,71,71,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,91,37,115,93,32,79,103,103,32,97,117,100,105,111,32,108,101,110,103,116,104,32,105,115,32,108,97,114,103,101,114,32,116,104,97,110,32,49,48,32,115,101,99,111,110,100,115,32,40,37,102,41,44,32,116,104,97,116,39,115,32,97,32,98,105,103,32,102,105,108,101,32,105,110,32,109,101,109,111,114,121,44,32,99,111,110,115,105,100,101,114,32,109,117,115,105,99,32,115,116,114,101,97,109,105,110,103,0,91,37,115,93,32,83,97,109,112,108,101,115,32,111,98,116,97,105,110,101,100,58,32,37,105,0,77,111,110,111,0,83,116,101,114,101,111,0,91,37,115,93,32,79,71,71,32,102,105,108,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,32,72,122,44,32,37,105,32,98,105,116,44,32,37,115,41,0,48,0,101,120,116,101,114,110,97,108,47,115,116,98,95,118,111,114,98,105,115,46,99,0,103,101,116,95,119,105,110,100,111,119,0,102,45,62,97,108,108,111,99,46,97,108,108,111,99,95,98,117,102,102,101,114,95,108,101,110,103,116,104,95,105,110,95,98,121,116,101,115,32,61,61,32,102,45,62,116,101,109,112,95,111,102,102,115,101,116,0,118,111,114,98,105,115,95,100,101,99,111,100,101,95,112,97,99,107,101,116,95,114,101,115,116,0,102,45,62,98,121,116,101,115,95,105,110,95,115,101,103,32,62,32,48,0,103,101,116,56,95,112,97,99,107,101,116,95,114,97,119,0,102,45,62,98,121,116,101,115,95,105,110,95,115,101,103,32,61,61,32,48,0,110,101,120,116,95,115,101,103,109,101,110,116,0,40,110,32,38,32,51,41,32,61,61,32,48,0,105,109,100,99,116,95,115,116,101,112,51,95,105,116,101,114,48,95,108,111,111,112,0,122,32,60,32,99,45,62,115,111,114,116,101,100,95,101,110,116,114,105,101,115,0,99,111,100,101,98,111,111,107,95,100,101,99,111,100,101,95,115,116,97,114,116,0,33,99,45,62,115,112,97,114,115,101,32,124,124,32,122,32,60,32,99,45,62,115,111,114,116,101,100,95,101,110,116,114,105,101,115,0,99,111,100,101,98,111,111,107,95,100,101,99,111,100,101,95,100,101,105,110,116,101,114,108,101,97,118,101,95,114,101,112,101,97,116,0,33,99,45,62,115,112,97,114,115,101,0,99,111,100,101,98,111,111,107,95,100,101,99,111,100,101,95,115,99,97,108,97,114,95,114,97,119,0,0,1,2,2,3,3,3,3,4,4,4,4,4,4,4,4,118,111,114,98,105,115,95,100,101,99,111,100,101,95,105,110,105,116,105,97,108,0,98,117,102,95,99,32,61,61,32,50,0,99,111,110,118,101,114,116,95,99,104,97,110,110,101,108,115,95,115,104,111,114,116,95,105,110,116,101,114,108,101,97,118,101,100,0,0,0,0,0,0,0,7,0,0,0,0,0,3,5,0,0,0,0,3,7,5,0,0,0,3,5,3,5,0,0,3,7,5,3,5,0,3,7,5,3,5,7,114,98,0,102,45,62,116,101,109,112,95,111,102,102,115,101,116,32,61,61,32,102,45,62,97,108,108,111,99,46,97,108,108,111,99,95,98,117,102,102,101,114,95,108,101,110,103,116,104,95,105,110,95,98,121,116,101,115,0,115,116,97,114,116,95,100,101,99,111,100,101,114,0,112,111,119,40,40,102,108,111,97,116,41,32,114,43,49,44,32,100,105,109,41,32,62,32,101,110,116,114,105,101,115,0,108,111,111,107,117,112,49,95,118,97,108,117,101,115,0,40,105,110,116,41,32,102,108,111,111,114,40,112,111,119,40,40,102,108,111,97,116,41,32,114,44,32,100,105,109,41,41,32,60,61,32,101,110,116,114,105,101,115,0,107,32,61,61,32,99,45,62,115,111,114,116,101,100,95,101,110,116,114,105,101,115,0,99,111,109,112,117,116,101,95,115,111,114,116,101,100,95,104,117,102,102,109,97,110,0,99,45,62,115,111,114,116,101,100,95,99,111,100,101,119,111,114,100,115,91,120,93,32,61,61,32,99,111,100,101,0,108,101,110,32,33,61,32,78,79,95,67,79,68,69,0,105,110,99,108,117,100,101,95,105,110,95,115,111,114,116,0,99,45,62,115,111,114,116,101,100,95,101,110,116,114,105,101,115,32,61,61,32,48,0,99,111,109,112,117,116,101,95,99,111,100,101,119,111,114,100,115,0,122,32,62,61,32,48,32,38,38,32,122,32,60,32,51,50,0,108,101,110,91,105,93,32,62,61,32,48,32,38,38,32,108,101,110,91,105,93,32,60,32,51,50,0,97,118,97,105,108,97,98,108,101,91,121,93,32,61,61,32,48,0,118,111,114,98,105,115,91,37,115,93,32,87,65,86,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,82,73,70,70,0,87,65,86,69,0,91,37,115,93,32,73,110,118,97,108,105,100,32,82,73,70,70,32,111,114,32,87,65,86,69,32,72,101,97,100,101,114,0,91,37,115,93,32,73,110,118,97,108,105,100,32,87,97,118,101,32,102,111,114,109,97,116,0,91,37,115,93,32,73,110,118,97,108,105,100,32,100,97,116,97,32,104,101,97,100,101,114,0,91,37,115,93,32,87,65,86,32,115,97,109,112,108,101,32,115,105,122,101,32,40,37,105,98,105,116,41,32,110,111,116,32,115,117,112,112,111,114,116,101,100,44,32,99,111,110,118,101,114,116,101,100,32,116,111,32,49,54,98,105,116,0,91,37,115,93,32,87,65,86,32,99,104,97,110,110,101,108,115,32,110,117,109,98,101,114,32,40,37,105,41,32,110,111,116,32,115,117,112,112,111,114,116,101,100,44,32,99,111,110,118,101,114,116,101,100,32,116,111,32,50,32,99,104,97,110,110,101,108,115,0,91,37,115,93,32,87,65,86,32,102,105,108,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,32,72,122,44,32,37,105,32,98,105,116,44,32,37,115,41,0,85,110,108,111,97,100,101,100,32,119,97,118,101,32,100,97,116,97,32,102,114,111,109,32,82,65,77,0,87,97,118,101,32,115,97,109,112,108,101,32,115,105,122,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,58,32,37,105,0,87,97,118,101,32,110,117,109,98,101,114,32,111,102,32,99,104,97,110,110,101,108,115,32,110,111,116,32,115,117,112,112,111,114,116,101,100,58,32,37,105,0,91,83,78,68,32,73,68,32,37,105,93,91,66,85,70,82,32,73,68,32,37,105,93,32,83,111,117,110,100,32,100,97,116,97,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,32,72,122,44,32,37,105,32,98,105,116,44,32,37,115,41,0,91,83,78,68,32,73,68,32,37,105,93,91,66,85,70,82,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,115,111,117,110,100,32,100,97,116,97,32,102,114,111,109,32,82,65,77,0,91,37,115,93,32,79,71,71,32,97,117,100,105,111,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,91,37,115,93,32,70,76,65,67,32,116,111,116,97,108,32,115,97,109,112,108,101,115,58,32,37,105,0,91,37,115,93,32,79,71,71,32,115,97,109,112,108,101,32,114,97,116,101,58,32,37,105,0,91,37,115,93,32,79,71,71,32,99,104,97,110,110,101,108,115,58,32,37,105,0,91,37,115,93,32,79,71,71,32,109,101,109,111,114,121,32,114,101,113,117,105,114,101,100,58,32,37,105,0,46,120,109,0,91,37,115,93,32,88,77,32,110,117,109,98,101,114,32,111,102,32,115,97,109,112,108,101,115,58,32,37,105,0,91,37,115,93,32,88,77,32,116,114,97,99,107,32,108,101,110,103,116,104,58,32,37,49,49,46,54,102,32,115,101,99,0,91,37,115,93,32,88,77,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,73,110,105,116,32,97,117,100,105,111,32,115,116,114,101,97,109,58,32,78,117,109,98,101,114,32,111,102,32,99,104,97,110,110,101,108,115,32,110,111,116,32,115,117,112,112,111,114,116,101,100,58,32,37,105,0,73,110,105,116,32,97,117,100,105,111,32,115,116,114,101,97,109,58,32,83,97,109,112,108,101,32,115,105,122,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,58,32,37,105,0,91,65,85,68,32,73,68,32,37,105,93,32,65,117,100,105,111,32,115,116,114,101,97,109,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,32,72,122,44,32,37,105,32,98,105,116,44,32,37,115,41,0,91,65,85,68,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,97,117,100,105,111,32,115,116,114,101,97,109,32,100,97,116,97,0,79,112,101,110,65,76,58,32,69,114,114,111,114,32,98,117,102,102,101,114,105,110,103,32,100,97,116,97,46,46,46,0,69,88,84,0,65,82,66,0,79,69,83,0,65,78,71,76,69,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,0,103,108,85,115,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,85,115,101,80,114,111,103,114,97,109,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,0,103,108,65,116,116,97,99,104,79,98,106,101,99,116,0,103,108,65,116,116,97,99,104,83,104,97,100,101,114,0,103,108,68,101,116,97,99,104,79,98,106,101,99,116,0,103,108,68,101,116,97,99,104,83,104,97,100,101,114,0,103,108,80,105,120,101,108,83,116,111,114,101,105,0,103,108,71,101,116,83,116,114,105,110,103,0,103,108,71,101,116,73,110,116,101,103,101,114,118,0,103,108,71,101,116,70,108,111,97,116,118,0,103,108,71,101,116,66,111,111,108,101,97,110,118,0,103,108,71,101,110,84,101,120,116,117,114,101,115,0,103,108,68,101,108,101,116,101,84,101,120,116,117,114,101,115,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,84,101,120,73,109,97,103,101,50,68,0,103,108,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,82,101,97,100,80,105,120,101,108,115,0,103,108,66,105,110,100,84,101,120,116,117,114,101,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,84,101,120,116,117,114,101,0,103,108,71,101,110,66,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,66,117,102,102,101,114,115,0,103,108,71,101,116,66,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,66,117,102,102,101,114,68,97,116,97,0,103,108,66,117,102,102,101,114,83,117,98,68,97,116,97,0,103,108,73,115,66,117,102,102,101,114,0,103,108,71,101,110,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,66,105,110,100,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,82,101,110,100,101,114,98,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,85,110,105,102,111,114,109,102,118,0,103,108,71,101,116,85,110,105,102,111,114,109,105,118,0,103,108,71,101,116,85,110,105,102,111,114,109,76,111,99,97,116,105,111,110,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,102,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,105,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,118,0,103,108,71,101,116,65,99,116,105,118,101,85,110,105,102,111,114,109,0,103,108,85,110,105,102,111,114,109,49,102,0,103,108,85,110,105,102,111,114,109,50,102,0,103,108,85,110,105,102,111,114,109,51,102,0,103,108,85,110,105,102,111,114,109,52,102,0,103,108,85,110,105,102,111,114,109,49,105,0,103,108,85,110,105,102,111,114,109,50,105,0,103,108,85,110,105,102,111,114,109,51,105,0,103,108,85,110,105,102,111,114,109,52,105,0,103,108,85,110,105,102,111,114,109,49,105,118,0,103,108,85,110,105,102,111,114,109,50,105,118,0,103,108,85,110,105,102,111,114,109,51,105,118,0,103,108,85,110,105,102,111,114,109,52,105,118,0,103,108,85,110,105,102,111,114,109,49,102,118,0,103,108,85,110,105,102,111,114,109,50,102,118,0,103,108,85,110,105,102,111,114,109,51,102,118,0,103,108,85,110,105,102,111,114,109,52,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,50,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,51,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,52,102,118,0,103,108,66,105,110,100,66,117,102,102,101,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,118,0,103,108,71,101,116,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,71,101,116,65,99,116,105,118,101,65,116,116,114,105,98,0,103,108,68,101,108,101,116,101,83,104,97,100,101,114,0,103,108,71,101,116,65,116,116,97,99,104,101,100,83,104,97,100,101,114,115,0,103,108,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,71,101,116,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,67,111,109,112,105,108,101,83,104,97,100,101,114,0,103,108,71,101,116,83,104,97,100,101,114,73,110,102,111,76,111,103,0,103,108,71,101,116,83,104,97,100,101,114,105,118,0,103,108,71,101,116,80,114,111,103,114,97,109,105,118,0,103,108,73,115,83,104,97,100,101,114,0,103,108,68,101,108,101,116,101,80,114,111,103,114,97,109,0,103,108,71,101,116,83,104,97,100,101,114,80,114,101,99,105,115,105,111,110,70,111,114,109,97,116,0,103,108,76,105,110,107,80,114,111,103,114,97,109,0,103,108,71,101,116,80,114,111,103,114,97,109,73,110,102,111,76,111,103,0,103,108,86,97,108,105,100,97,116,101,80,114,111,103,114,97,109,0,103,108,73,115,80,114,111,103,114,97,109,0,103,108,66,105,110,100,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,66,105,110,100,70,114,97,109,101,98,117,102,102,101,114,0,103,108,71,101,110,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,70,114,97,109,101,98,117,102,102,101,114,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,70,114,97,109,101,98,117,102,102,101,114,84,101,120,116,117,114,101,50,68,0,103,108,71,101,116,70,114,97,109,101,98,117,102,102,101,114,65,116,116,97,99,104,109,101,110,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,70,114,97,109,101,98,117,102,102,101,114,0,103,108,68,101,108,101,116,101,79,98,106,101,99,116,0,103,108,71,101,116,79,98,106,101,99,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,71,101,116,73,110,102,111,76,111,103,0,103,108,66,105,110,100,80,114,111,103,114,97,109,0,103,108,71,101,116,80,111,105,110,116,101,114,118,0,103,108,68,114,97,119,82,97,110,103,101,69,108,101,109,101,110,116,115,0,103,108,69,110,97,98,108,101,67,108,105,101,110,116,83,116,97,116,101,0,103,108,86,101,114,116,101,120,80,111,105,110,116,101,114,0,103,108,84,101,120,67,111,111,114,100,80,111,105,110,116,101,114,0,103,108,78,111,114,109,97,108,80,111,105,110,116,101,114,0,103,108,67,111,108,111,114,80,111,105,110,116,101,114,0,103,108,67,108,105,101,110,116,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,0,103,108,77,97,116,114,105,120,77,111,100,101,0,103,108,76,111,97,100,73,100,101,110,116,105,116,121,0,103,108,76,111,97,100,77,97,116,114,105,120,102,0,103,108,70,114,117,115,116,117,109,0,103,108,82,111,116,97,116,101,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,0,103,108,69,110,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,105,115,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,114,97,119,65,114,114,97,121,115,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,0,103,108,83,104,97,100,101,114,66,105,110,97,114,121,0,103,108,82,101,108,101,97,115,101,83,104,97,100,101,114,67,111,109,112,105,108,101,114,0,103,108,71,101,116,69,114,114,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,68,105,118,105,115,111,114,0,103,108,68,114,97,119,65,114,114,97,121,115,73,110,115,116,97,110,99,101,100,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,73,110,115,116,97,110,99,101,100,0,103,108,70,105,110,105,115,104,0,103,108,70,108,117,115,104,0,103,108,67,108,101,97,114,68,101,112,116,104,0,103,108,67,108,101,97,114,68,101,112,116,104,102,0,103,108,68,101,112,116,104,70,117,110,99,0,103,108,69,110,97,98,108,101,0,103,108,68,105,115,97,98,108,101,0,103,108,70,114,111], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+10240); +/* memory initializer */ allocate([110,116,70,97,99,101,0,103,108,67,117,108,108,70,97,99,101,0,103,108,67,108,101,97,114,0,103,108,76,105,110,101,87,105,100,116,104,0,103,108,67,108,101,97,114,83,116,101,110,99,105,108,0,103,108,68,101,112,116,104,77,97,115,107,0,103,108,83,116,101,110,99,105,108,77,97,115,107,0,103,108,67,104,101,99,107,70,114,97,109,101,98,117,102,102,101,114,83,116,97,116,117,115,0,103,108,71,101,110,101,114,97,116,101,77,105,112,109,97,112,0,103,108,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,0,103,108,73,115,69,110,97,98,108,101,100,0,103,108,66,108,101,110,100,70,117,110,99,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,83,101,112,97,114,97,116,101,0,103,108,68,101,112,116,104,82,97,110,103,101,0,103,108,68,101,112,116,104,82,97,110,103,101,102,0,103,108,83,116,101,110,99,105,108,77,97,115,107,83,101,112,97,114,97,116,101,0,103,108,72,105,110,116,0,103,108,80,111,108,121,103,111,110,79,102,102,115,101,116,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,0,103,108,83,97,109,112,108,101,67,111,118,101,114,97,103,101,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,0,103,108,83,116,101,110,99,105,108,70,117,110,99,0,103,108,83,116,101,110,99,105,108,79,112,0,103,108,86,105,101,119,112,111,114,116,0,103,108,67,108,101,97,114,67,111,108,111,114,0,103,108,83,99,105,115,115,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,0,103,108,67,111,108,111,114,77,97,115,107,0,103,108,82,101,110,100,101,114,98,117,102,102,101,114,83,116,111,114,97,103,101,0,103,108,66,108,101,110,100,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,66,108,101,110,100,67,111,108,111,114,0,103,108,83,116,101,110,99,105,108,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,83,116,101,110,99,105,108,79,112,83,101,112,97,114,97,116,101,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,0,103,108,67,111,112,121,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,112,121,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,68,114,97,119,66,117,102,102,101,114,115,0,123,32,77,111,100,117,108,101,46,112,114,105,110,116,69,114,114,40,39,98,97,100,32,110,97,109,101,32,105,110,32,103,101,116,80,114,111,99,65,100,100,114,101,115,115,58,32,39,32,43,32,91,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,48,41,44,32,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,49,41,93,41,59,32,125,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,1,2,3,4,5,6,7,8,9,255,255,255,255,255,255,255,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,255,255,255,255,255,255,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,1,2,4,7,3,6,5,0,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,78,65,78,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,46,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,105,110,102,105,110,105,116,121,0,110,97,110,0,114,119,97,0], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+20480); /* no memory initializer */ -var tempDoublePtr = Runtime.alignMemory(allocate(12, "i8", ALLOC_STATIC), 8); +var tempDoublePtr = STATICTOP; STATICTOP += 16; assert(tempDoublePtr % 8 == 0); @@ -1818,11 +1828,17 @@ function copyTempDouble(ptr) { - var GL={counter:1,lastError:0,buffers:[],mappedBuffers:{},programs:[],framebuffers:[],renderbuffers:[],textures:[],uniforms:[],shaders:[],vaos:[],contexts:[],currentContext:null,byteSizeByTypeRoot:5120,byteSizeByType:[1,1,2,2,4,4,4,2,3,4,8],programInfos:{},stringCache:{},packAlignment:4,unpackAlignment:4,init:function () { + var GL={counter:1,lastError:0,buffers:[],mappedBuffers:{},programs:[],framebuffers:[],renderbuffers:[],textures:[],uniforms:[],shaders:[],vaos:[],contexts:[],currentContext:null,offscreenCanvases:{},timerQueriesEXT:[],byteSizeByTypeRoot:5120,byteSizeByType:[1,1,2,2,4,4,4,2,3,4,8],programInfos:{},stringCache:{},tempFixedLengthArray:[],packAlignment:4,unpackAlignment:4,init:function () { GL.miniTempBuffer = new Float32Array(GL.MINI_TEMP_BUFFER_SIZE); for (var i = 0; i < GL.MINI_TEMP_BUFFER_SIZE; i++) { GL.miniTempBufferViews[i] = GL.miniTempBuffer.subarray(0, i+1); } + + // For functions such as glDrawBuffers, glInvalidateFramebuffer and glInvalidateSubFramebuffer that need to pass a short array to the WebGL API, + // create a set of short fixed-length arrays to avoid having to generate any garbage when calling those functions. + for (var i = 0; i < 32; i++) { + GL.tempFixedLengthArray.push(new Array(i)); + } },recordError:function recordError(errorCode) { if (!GL.lastError) { GL.lastError = errorCode; @@ -1833,7 +1849,7 @@ function copyTempDouble(ptr) { table[i] = null; } return ret; - },MINI_TEMP_BUFFER_SIZE:16,miniTempBuffer:null,miniTempBufferViews:[0],getSource:function (shader, count, string, length) { + },MINI_TEMP_BUFFER_SIZE:256,miniTempBuffer:null,miniTempBufferViews:[0],getSource:function (shader, count, string, length) { var source = ''; for (var i = 0; i < count; ++i) { var frag; @@ -1851,9 +1867,9 @@ function copyTempDouble(ptr) { } return source; },createContext:function (canvas, webGLContextAttributes) { - if (typeof webGLContextAttributes.majorVersion === 'undefined' && typeof webGLContextAttributes.minorVersion === 'undefined') { - webGLContextAttributes.majorVersion = 1; - webGLContextAttributes.minorVersion = 0; + if (typeof webGLContextAttributes['majorVersion'] === 'undefined' && typeof webGLContextAttributes['minorVersion'] === 'undefined') { + webGLContextAttributes['majorVersion'] = 1; + webGLContextAttributes['minorVersion'] = 0; } var ctx; var errorInfo = '?'; @@ -1863,9 +1879,9 @@ function copyTempDouble(ptr) { try { canvas.addEventListener('webglcontextcreationerror', onContextCreationError, false); try { - if (webGLContextAttributes.majorVersion == 1 && webGLContextAttributes.minorVersion == 0) { + if (webGLContextAttributes['majorVersion'] == 1 && webGLContextAttributes['minorVersion'] == 0) { ctx = canvas.getContext("webgl", webGLContextAttributes) || canvas.getContext("experimental-webgl", webGLContextAttributes); - } else if (webGLContextAttributes.majorVersion == 2 && webGLContextAttributes.minorVersion == 0) { + } else if (webGLContextAttributes['majorVersion'] == 2 && webGLContextAttributes['minorVersion'] == 0) { ctx = canvas.getContext("webgl2", webGLContextAttributes) || canvas.getContext("experimental-webgl2", webGLContextAttributes); } else { throw 'Unsupported WebGL context version ' + majorVersion + '.' + minorVersion + '!' @@ -1886,13 +1902,16 @@ function copyTempDouble(ptr) { var handle = GL.getNewId(GL.contexts); var context = { handle: handle, - version: webGLContextAttributes.majorVersion, + attributes: webGLContextAttributes, + version: webGLContextAttributes['majorVersion'], GLctx: ctx }; + + // Store the created context object so that we can access the context given a canvas without having to pass the parameters again. if (ctx.canvas) ctx.canvas.GLctxObject = context; GL.contexts[handle] = context; - if (typeof webGLContextAttributes['enableExtensionsByDefault'] === 'undefined' || webGLContextAttributes.enableExtensionsByDefault) { + if (typeof webGLContextAttributes['enableExtensionsByDefault'] === 'undefined' || webGLContextAttributes['enableExtensionsByDefault']) { GL.initExtensions(context); } return handle; @@ -1946,6 +1965,8 @@ function copyTempDouble(ptr) { } } + GLctx.disjointTimerQueryExt = GLctx.getExtension("EXT_disjoint_timer_query"); + // These are the 'safe' feature-enabling extensions that don't add any performance impact related to e.g. debugging, and // should be enabled by default so that client GLES2/GL code will not need to go through extra hoops to get its stuff working. // As new extensions are ratified at http://www.khronos.org/registry/webgl/extensions/ , feel free to add your new extensions @@ -1957,7 +1978,7 @@ function copyTempDouble(ptr) { "OES_texture_float_linear", "OES_texture_half_float_linear", "WEBGL_compressed_texture_atc", "WEBGL_compressed_texture_pvrtc", "EXT_color_buffer_half_float", "WEBGL_color_buffer_float", "EXT_frag_depth", "EXT_sRGB", "WEBGL_draw_buffers", "WEBGL_shared_resources", - "EXT_shader_texture_lod" ]; + "EXT_shader_texture_lod", "EXT_color_buffer_float"]; function shouldEnableAutomatically(extension) { var ret = false; @@ -1982,7 +2003,8 @@ function copyTempDouble(ptr) { GL.programInfos[program] = { uniforms: {}, maxUniformLength: 0, // This is eagerly computed below, since we already enumerate all uniforms anyway. - maxAttributeLength: -1 // This is lazily computed and cached, computed when/if first asked, "-1" meaning not computed yet. + maxAttributeLength: -1, // This is lazily computed and cached, computed when/if first asked, "-1" meaning not computed yet. + maxUniformBlockNameLength: -1 // Lazily computed as well }; var ptable = GL.programInfos[program]; @@ -2006,16 +2028,19 @@ function copyTempDouble(ptr) { // only store the string 'colors' in utable, and 'colors[0]', 'colors[1]' and 'colors[2]' will be parsed as 'colors'+i. // Note that for the GL.uniforms table, we still need to fetch the all WebGLUniformLocations for all the indices. var loc = GLctx.getUniformLocation(p, name); - var id = GL.getNewId(GL.uniforms); - utable[name] = [u.size, id]; - GL.uniforms[id] = loc; - - for (var j = 1; j < u.size; ++j) { - var n = name + '['+j+']'; - loc = GLctx.getUniformLocation(p, n); - id = GL.getNewId(GL.uniforms); - + if (loc != null) + { + var id = GL.getNewId(GL.uniforms); + utable[name] = [u.size, id]; GL.uniforms[id] = loc; + + for (var j = 1; j < u.size; ++j) { + var n = name + '['+j+']'; + loc = GLctx.getUniformLocation(p, n); + id = GL.getNewId(GL.uniforms); + + GL.uniforms[id] = loc; + } } } }};function _emscripten_glIsRenderbuffer(renderbuffer) { @@ -2024,34 +2049,771 @@ function copyTempDouble(ptr) { return GLctx.isRenderbuffer(rb); } - function _emscripten_glStencilMaskSeparate(x0, x1) { GLctx.stencilMaskSeparate(x0, x1) } - - var _ceilf=Math_ceil; + function _emscripten_glStencilMaskSeparate(x0, x1) { GLctx['stencilMaskSeparate'](x0, x1) } - function _emscripten_get_now() { - if (!_emscripten_get_now.actual) { - if (ENVIRONMENT_IS_NODE) { - _emscripten_get_now.actual = function _emscripten_get_now_actual() { - var t = process['hrtime'](); - return t[0] * 1e3 + t[1] / 1e6; - } - } else if (typeof dateNow !== 'undefined') { - _emscripten_get_now.actual = dateNow; - } else if (typeof self === 'object' && self['performance'] && typeof self['performance']['now'] === 'function') { - _emscripten_get_now.actual = function _emscripten_get_now_actual() { return self['performance']['now'](); }; - } else if (typeof performance === 'object' && typeof performance['now'] === 'function') { - _emscripten_get_now.actual = function _emscripten_get_now_actual() { return performance['now'](); }; - } else { - _emscripten_get_now.actual = Date.now; - } + function _emscripten_get_now() { abort() } + + + + function _emscripten_set_main_loop_timing(mode, value) { + Browser.mainLoop.timingMode = mode; + Browser.mainLoop.timingValue = value; + + if (!Browser.mainLoop.func) { + console.error('emscripten_set_main_loop_timing: Cannot set timing mode for main loop since a main loop does not exist! Call emscripten_set_main_loop first to set one up.'); + return 1; // Return non-zero on failure, can't set timing mode when there is no main loop. } - return _emscripten_get_now.actual(); - }var GLFW={Window:function (id, width, height, title, monitor, share) { + + if (mode == 0 /*EM_TIMING_SETTIMEOUT*/) { + Browser.mainLoop.scheduler = function Browser_mainLoop_scheduler_setTimeout() { + var timeUntilNextTick = Math.max(0, Browser.mainLoop.tickStartTime + value - _emscripten_get_now())|0; + setTimeout(Browser.mainLoop.runner, timeUntilNextTick); // doing this each time means that on exception, we stop + }; + Browser.mainLoop.method = 'timeout'; + } else if (mode == 1 /*EM_TIMING_RAF*/) { + Browser.mainLoop.scheduler = function Browser_mainLoop_scheduler_rAF() { + Browser.requestAnimationFrame(Browser.mainLoop.runner); + }; + Browser.mainLoop.method = 'rAF'; + } else if (mode == 2 /*EM_TIMING_SETIMMEDIATE*/) { + if (!window['setImmediate']) { + // Emulate setImmediate. (note: not a complete polyfill, we don't emulate clearImmediate() to keep code size to minimum, since not needed) + var setImmediates = []; + var emscriptenMainLoopMessageId = 'setimmediate'; + function Browser_setImmediate_messageHandler(event) { + if (event.source === window && event.data === emscriptenMainLoopMessageId) { + event.stopPropagation(); + setImmediates.shift()(); + } + } + window.addEventListener("message", Browser_setImmediate_messageHandler, true); + window['setImmediate'] = function Browser_emulated_setImmediate(func) { + setImmediates.push(func); + if (ENVIRONMENT_IS_WORKER) { + if (Module['setImmediates'] === undefined) Module['setImmediates'] = []; + Module['setImmediates'].push(func); + window.postMessage({target: emscriptenMainLoopMessageId}); // In --proxy-to-worker, route the message via proxyClient.js + } else window.postMessage(emscriptenMainLoopMessageId, "*"); // On the main thread, can just send the message to itself. + } + } + Browser.mainLoop.scheduler = function Browser_mainLoop_scheduler_setImmediate() { + window['setImmediate'](Browser.mainLoop.runner); + }; + Browser.mainLoop.method = 'immediate'; + } + return 0; + }function _emscripten_set_main_loop(func, fps, simulateInfiniteLoop, arg, noSetTiming) { + Module['noExitRuntime'] = true; + + assert(!Browser.mainLoop.func, 'emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters.'); + + Browser.mainLoop.func = func; + Browser.mainLoop.arg = arg; + + var browserIterationFunc; + if (typeof arg !== 'undefined') { + browserIterationFunc = function() { + Module['dynCall_vi'](func, arg); + }; + } else { + browserIterationFunc = function() { + Module['dynCall_v'](func); + }; + } + + var thisMainLoopId = Browser.mainLoop.currentlyRunningMainloop; + + Browser.mainLoop.runner = function Browser_mainLoop_runner() { + if (ABORT) return; + if (Browser.mainLoop.queue.length > 0) { + var start = Date.now(); + var blocker = Browser.mainLoop.queue.shift(); + blocker.func(blocker.arg); + if (Browser.mainLoop.remainingBlockers) { + var remaining = Browser.mainLoop.remainingBlockers; + var next = remaining%1 == 0 ? remaining-1 : Math.floor(remaining); + if (blocker.counted) { + Browser.mainLoop.remainingBlockers = next; + } else { + // not counted, but move the progress along a tiny bit + next = next + 0.5; // do not steal all the next one's progress + Browser.mainLoop.remainingBlockers = (8*remaining + next)/9; + } + } + console.log('main loop blocker "' + blocker.name + '" took ' + (Date.now() - start) + ' ms'); //, left: ' + Browser.mainLoop.remainingBlockers); + Browser.mainLoop.updateStatus(); + + // catches pause/resume main loop from blocker execution + if (thisMainLoopId < Browser.mainLoop.currentlyRunningMainloop) return; + + setTimeout(Browser.mainLoop.runner, 0); + return; + } + + // catch pauses from non-main loop sources + if (thisMainLoopId < Browser.mainLoop.currentlyRunningMainloop) return; + + // Implement very basic swap interval control + Browser.mainLoop.currentFrameNumber = Browser.mainLoop.currentFrameNumber + 1 | 0; + if (Browser.mainLoop.timingMode == 1/*EM_TIMING_RAF*/ && Browser.mainLoop.timingValue > 1 && Browser.mainLoop.currentFrameNumber % Browser.mainLoop.timingValue != 0) { + // Not the scheduled time to render this frame - skip. + Browser.mainLoop.scheduler(); + return; + } else if (Browser.mainLoop.timingMode == 0/*EM_TIMING_SETTIMEOUT*/) { + Browser.mainLoop.tickStartTime = _emscripten_get_now(); + } + + // Signal GL rendering layer that processing of a new frame is about to start. This helps it optimize + // VBO double-buffering and reduce GPU stalls. + + + if (Browser.mainLoop.method === 'timeout' && Module.ctx) { + Module.printErr('Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!'); + Browser.mainLoop.method = ''; // just warn once per call to set main loop + } + + Browser.mainLoop.runIter(browserIterationFunc); + + checkStackCookie(); + + // catch pauses from the main loop itself + if (thisMainLoopId < Browser.mainLoop.currentlyRunningMainloop) return; + + // Queue new audio data. This is important to be right after the main loop invocation, so that we will immediately be able + // to queue the newest produced audio samples. + // TODO: Consider adding pre- and post- rAF callbacks so that GL.newRenderingFrameStarted() and SDL.audio.queueNewAudioData() + // do not need to be hardcoded into this function, but can be more generic. + if (typeof SDL === 'object' && SDL.audio && SDL.audio.queueNewAudioData) SDL.audio.queueNewAudioData(); + + Browser.mainLoop.scheduler(); + } + + if (!noSetTiming) { + if (fps && fps > 0) _emscripten_set_main_loop_timing(0/*EM_TIMING_SETTIMEOUT*/, 1000.0 / fps); + else _emscripten_set_main_loop_timing(1/*EM_TIMING_RAF*/, 1); // Do rAF by rendering each frame (no decimating) + + Browser.mainLoop.scheduler(); + } + + if (simulateInfiniteLoop) { + throw 'SimulateInfiniteLoop'; + } + }var Browser={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function () { + Browser.mainLoop.scheduler = null; + Browser.mainLoop.currentlyRunningMainloop++; // Incrementing this signals the previous main loop that it's now become old, and it must return. + },resume:function () { + Browser.mainLoop.currentlyRunningMainloop++; + var timingMode = Browser.mainLoop.timingMode; + var timingValue = Browser.mainLoop.timingValue; + var func = Browser.mainLoop.func; + Browser.mainLoop.func = null; + _emscripten_set_main_loop(func, 0, false, Browser.mainLoop.arg, true /* do not set timing and call scheduler, we will do it on the next lines */); + _emscripten_set_main_loop_timing(timingMode, timingValue); + Browser.mainLoop.scheduler(); + },updateStatus:function () { + if (Module['setStatus']) { + var message = Module['statusMessage'] || 'Please wait...'; + var remaining = Browser.mainLoop.remainingBlockers; + var expected = Browser.mainLoop.expectedBlockers; + if (remaining) { + if (remaining < expected) { + Module['setStatus'](message + ' (' + (expected - remaining) + '/' + expected + ')'); + } else { + Module['setStatus'](message); + } + } else { + Module['setStatus'](''); + } + } + },runIter:function (func) { + if (ABORT) return; + if (Module['preMainLoop']) { + var preRet = Module['preMainLoop'](); + if (preRet === false) { + return; // |return false| skips a frame + } + } + try { + func(); + } catch (e) { + if (e instanceof ExitStatus) { + return; + } else { + if (e && typeof e === 'object' && e.stack) Module.printErr('exception thrown: ' + [e, e.stack]); + throw e; + } + } + if (Module['postMainLoop']) Module['postMainLoop'](); + }},isFullscreen:false,pointerLock:false,moduleContextCreatedCallbacks:[],workers:[],init:function () { + if (!Module["preloadPlugins"]) Module["preloadPlugins"] = []; // needs to exist even in workers + + if (Browser.initted) return; + Browser.initted = true; + + try { + new Blob(); + Browser.hasBlobConstructor = true; + } catch(e) { + Browser.hasBlobConstructor = false; + console.log("warning: no blob constructor, cannot create blobs with mimetypes"); + } + Browser.BlobBuilder = typeof MozBlobBuilder != "undefined" ? MozBlobBuilder : (typeof WebKitBlobBuilder != "undefined" ? WebKitBlobBuilder : (!Browser.hasBlobConstructor ? console.log("warning: no BlobBuilder") : null)); + Browser.URLObject = typeof window != "undefined" ? (window.URL ? window.URL : window.webkitURL) : undefined; + if (!Module.noImageDecoding && typeof Browser.URLObject === 'undefined') { + console.log("warning: Browser does not support creating object URLs. Built-in browser image decoding will not be available."); + Module.noImageDecoding = true; + } + + // Support for plugins that can process preloaded files. You can add more of these to + // your app by creating and appending to Module.preloadPlugins. + // + // Each plugin is asked if it can handle a file based on the file's name. If it can, + // it is given the file's raw data. When it is done, it calls a callback with the file's + // (possibly modified) data. For example, a plugin might decompress a file, or it + // might create some side data structure for use later (like an Image element, etc.). + + var imagePlugin = {}; + imagePlugin['canHandle'] = function imagePlugin_canHandle(name) { + return !Module.noImageDecoding && /\.(jpg|jpeg|png|bmp)$/i.test(name); + }; + imagePlugin['handle'] = function imagePlugin_handle(byteArray, name, onload, onerror) { + var b = null; + if (Browser.hasBlobConstructor) { + try { + b = new Blob([byteArray], { type: Browser.getMimetype(name) }); + if (b.size !== byteArray.length) { // Safari bug #118630 + // Safari's Blob can only take an ArrayBuffer + b = new Blob([(new Uint8Array(byteArray)).buffer], { type: Browser.getMimetype(name) }); + } + } catch(e) { + Runtime.warnOnce('Blob constructor present but fails: ' + e + '; falling back to blob builder'); + } + } + if (!b) { + var bb = new Browser.BlobBuilder(); + bb.append((new Uint8Array(byteArray)).buffer); // we need to pass a buffer, and must copy the array to get the right data range + b = bb.getBlob(); + } + var url = Browser.URLObject.createObjectURL(b); + assert(typeof url == 'string', 'createObjectURL must return a url as a string'); + var img = new Image(); + img.onload = function img_onload() { + assert(img.complete, 'Image ' + name + ' could not be decoded'); + var canvas = document.createElement('canvas'); + canvas.width = img.width; + canvas.height = img.height; + var ctx = canvas.getContext('2d'); + ctx.drawImage(img, 0, 0); + Module["preloadedImages"][name] = canvas; + Browser.URLObject.revokeObjectURL(url); + if (onload) onload(byteArray); + }; + img.onerror = function img_onerror(event) { + console.log('Image ' + url + ' could not be decoded'); + if (onerror) onerror(); + }; + img.src = url; + }; + Module['preloadPlugins'].push(imagePlugin); + + var audioPlugin = {}; + audioPlugin['canHandle'] = function audioPlugin_canHandle(name) { + return !Module.noAudioDecoding && name.substr(-4) in { '.ogg': 1, '.wav': 1, '.mp3': 1 }; + }; + audioPlugin['handle'] = function audioPlugin_handle(byteArray, name, onload, onerror) { + var done = false; + function finish(audio) { + if (done) return; + done = true; + Module["preloadedAudios"][name] = audio; + if (onload) onload(byteArray); + } + function fail() { + if (done) return; + done = true; + Module["preloadedAudios"][name] = new Audio(); // empty shim + if (onerror) onerror(); + } + if (Browser.hasBlobConstructor) { + try { + var b = new Blob([byteArray], { type: Browser.getMimetype(name) }); + } catch(e) { + return fail(); + } + var url = Browser.URLObject.createObjectURL(b); // XXX we never revoke this! + assert(typeof url == 'string', 'createObjectURL must return a url as a string'); + var audio = new Audio(); + audio.addEventListener('canplaythrough', function() { finish(audio) }, false); // use addEventListener due to chromium bug 124926 + audio.onerror = function audio_onerror(event) { + if (done) return; + console.log('warning: browser could not fully decode audio ' + name + ', trying slower base64 approach'); + function encode64(data) { + var BASE = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'; + var PAD = '='; + var ret = ''; + var leftchar = 0; + var leftbits = 0; + for (var i = 0; i < data.length; i++) { + leftchar = (leftchar << 8) | data[i]; + leftbits += 8; + while (leftbits >= 6) { + var curr = (leftchar >> (leftbits-6)) & 0x3f; + leftbits -= 6; + ret += BASE[curr]; + } + } + if (leftbits == 2) { + ret += BASE[(leftchar&3) << 4]; + ret += PAD + PAD; + } else if (leftbits == 4) { + ret += BASE[(leftchar&0xf) << 2]; + ret += PAD; + } + return ret; + } + audio.src = 'data:audio/x-' + name.substr(-3) + ';base64,' + encode64(byteArray); + finish(audio); // we don't wait for confirmation this worked - but it's worth trying + }; + audio.src = url; + // workaround for chrome bug 124926 - we do not always get oncanplaythrough or onerror + Browser.safeSetTimeout(function() { + finish(audio); // try to use it even though it is not necessarily ready to play + }, 10000); + } else { + return fail(); + } + }; + Module['preloadPlugins'].push(audioPlugin); + + // Canvas event setup + + function pointerLockChange() { + Browser.pointerLock = document['pointerLockElement'] === Module['canvas'] || + document['mozPointerLockElement'] === Module['canvas'] || + document['webkitPointerLockElement'] === Module['canvas'] || + document['msPointerLockElement'] === Module['canvas']; + } + var canvas = Module['canvas']; + if (canvas) { + // forced aspect ratio can be enabled by defining 'forcedAspectRatio' on Module + // Module['forcedAspectRatio'] = 4 / 3; + + canvas.requestPointerLock = canvas['requestPointerLock'] || + canvas['mozRequestPointerLock'] || + canvas['webkitRequestPointerLock'] || + canvas['msRequestPointerLock'] || + function(){}; + canvas.exitPointerLock = document['exitPointerLock'] || + document['mozExitPointerLock'] || + document['webkitExitPointerLock'] || + document['msExitPointerLock'] || + function(){}; // no-op if function does not exist + canvas.exitPointerLock = canvas.exitPointerLock.bind(document); + + document.addEventListener('pointerlockchange', pointerLockChange, false); + document.addEventListener('mozpointerlockchange', pointerLockChange, false); + document.addEventListener('webkitpointerlockchange', pointerLockChange, false); + document.addEventListener('mspointerlockchange', pointerLockChange, false); + + if (Module['elementPointerLock']) { + canvas.addEventListener("click", function(ev) { + if (!Browser.pointerLock && Module['canvas'].requestPointerLock) { + Module['canvas'].requestPointerLock(); + ev.preventDefault(); + } + }, false); + } + } + },createContext:function (canvas, useWebGL, setInModule, webGLContextAttributes) { + if (useWebGL && Module.ctx && canvas == Module.canvas) return Module.ctx; // no need to recreate GL context if it's already been created for this canvas. + + var ctx; + var contextHandle; + if (useWebGL) { + // For GLES2/desktop GL compatibility, adjust a few defaults to be different to WebGL defaults, so that they align better with the desktop defaults. + var contextAttributes = { + antialias: false, + alpha: false + }; + + if (webGLContextAttributes) { + for (var attribute in webGLContextAttributes) { + contextAttributes[attribute] = webGLContextAttributes[attribute]; + } + } + + contextHandle = GL.createContext(canvas, contextAttributes); + if (contextHandle) { + ctx = GL.getContext(contextHandle).GLctx; + } + } else { + ctx = canvas.getContext('2d'); + } + + if (!ctx) return null; + + if (setInModule) { + if (!useWebGL) assert(typeof GLctx === 'undefined', 'cannot set in module if GLctx is used, but we are a non-GL context that would replace it'); + + Module.ctx = ctx; + if (useWebGL) GL.makeContextCurrent(contextHandle); + Module.useWebGL = useWebGL; + Browser.moduleContextCreatedCallbacks.forEach(function(callback) { callback() }); + Browser.init(); + } + return ctx; + },destroyContext:function (canvas, useWebGL, setInModule) {},fullscreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullscreen:function (lockPointer, resizeCanvas, vrDevice) { + Browser.lockPointer = lockPointer; + Browser.resizeCanvas = resizeCanvas; + Browser.vrDevice = vrDevice; + if (typeof Browser.lockPointer === 'undefined') Browser.lockPointer = true; + if (typeof Browser.resizeCanvas === 'undefined') Browser.resizeCanvas = false; + if (typeof Browser.vrDevice === 'undefined') Browser.vrDevice = null; + + var canvas = Module['canvas']; + function fullscreenChange() { + Browser.isFullscreen = false; + var canvasContainer = canvas.parentNode; + if ((document['fullscreenElement'] || document['mozFullScreenElement'] || + document['msFullscreenElement'] || document['webkitFullscreenElement'] || + document['webkitCurrentFullScreenElement']) === canvasContainer) { + canvas.exitFullscreen = document['exitFullscreen'] || + document['cancelFullScreen'] || + document['mozCancelFullScreen'] || + document['msExitFullscreen'] || + document['webkitCancelFullScreen'] || + function() {}; + canvas.exitFullscreen = canvas.exitFullscreen.bind(document); + if (Browser.lockPointer) canvas.requestPointerLock(); + Browser.isFullscreen = true; + if (Browser.resizeCanvas) Browser.setFullscreenCanvasSize(); + } else { + + // remove the full screen specific parent of the canvas again to restore the HTML structure from before going full screen + canvasContainer.parentNode.insertBefore(canvas, canvasContainer); + canvasContainer.parentNode.removeChild(canvasContainer); + + if (Browser.resizeCanvas) Browser.setWindowedCanvasSize(); + } + if (Module['onFullScreen']) Module['onFullScreen'](Browser.isFullscreen); + if (Module['onFullscreen']) Module['onFullscreen'](Browser.isFullscreen); + Browser.updateCanvasDimensions(canvas); + } + + if (!Browser.fullscreenHandlersInstalled) { + Browser.fullscreenHandlersInstalled = true; + document.addEventListener('fullscreenchange', fullscreenChange, false); + document.addEventListener('mozfullscreenchange', fullscreenChange, false); + document.addEventListener('webkitfullscreenchange', fullscreenChange, false); + document.addEventListener('MSFullscreenChange', fullscreenChange, false); + } + + // create a new parent to ensure the canvas has no siblings. this allows browsers to optimize full screen performance when its parent is the full screen root + var canvasContainer = document.createElement("div"); + canvas.parentNode.insertBefore(canvasContainer, canvas); + canvasContainer.appendChild(canvas); + + // use parent of canvas as full screen root to allow aspect ratio correction (Firefox stretches the root to screen size) + canvasContainer.requestFullscreen = canvasContainer['requestFullscreen'] || + canvasContainer['mozRequestFullScreen'] || + canvasContainer['msRequestFullscreen'] || + (canvasContainer['webkitRequestFullscreen'] ? function() { canvasContainer['webkitRequestFullscreen'](Element['ALLOW_KEYBOARD_INPUT']) } : null) || + (canvasContainer['webkitRequestFullScreen'] ? function() { canvasContainer['webkitRequestFullScreen'](Element['ALLOW_KEYBOARD_INPUT']) } : null); + + if (vrDevice) { + canvasContainer.requestFullscreen({ vrDisplay: vrDevice }); + } else { + canvasContainer.requestFullscreen(); + } + },requestFullScreen:function (lockPointer, resizeCanvas, vrDevice) { + Module.printErr('Browser.requestFullScreen() is deprecated. Please call Browser.requestFullscreen instead.'); + Browser.requestFullScreen = function(lockPointer, resizeCanvas, vrDevice) { + return Browser.requestFullscreen(lockPointer, resizeCanvas, vrDevice); + } + return Browser.requestFullscreen(lockPointer, resizeCanvas, vrDevice); + },nextRAF:0,fakeRequestAnimationFrame:function (func) { + // try to keep 60fps between calls to here + var now = Date.now(); + if (Browser.nextRAF === 0) { + Browser.nextRAF = now + 1000/60; + } else { + while (now + 2 >= Browser.nextRAF) { // fudge a little, to avoid timer jitter causing us to do lots of delay:0 + Browser.nextRAF += 1000/60; + } + } + var delay = Math.max(Browser.nextRAF - now, 0); + setTimeout(func, delay); + },requestAnimationFrame:function requestAnimationFrame(func) { + if (typeof window === 'undefined') { // Provide fallback to setTimeout if window is undefined (e.g. in Node.js) + Browser.fakeRequestAnimationFrame(func); + } else { + if (!window.requestAnimationFrame) { + window.requestAnimationFrame = window['requestAnimationFrame'] || + window['mozRequestAnimationFrame'] || + window['webkitRequestAnimationFrame'] || + window['msRequestAnimationFrame'] || + window['oRequestAnimationFrame'] || + Browser.fakeRequestAnimationFrame; + } + window.requestAnimationFrame(func); + } + },safeCallback:function (func) { + return function() { + if (!ABORT) return func.apply(null, arguments); + }; + },allowAsyncCallbacks:true,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function () { + Browser.allowAsyncCallbacks = false; + },resumeAsyncCallbacks:function () { // marks future callbacks as ok to execute, and synchronously runs any remaining ones right now + Browser.allowAsyncCallbacks = true; + if (Browser.queuedAsyncCallbacks.length > 0) { + var callbacks = Browser.queuedAsyncCallbacks; + Browser.queuedAsyncCallbacks = []; + callbacks.forEach(function(func) { + func(); + }); + } + },safeRequestAnimationFrame:function (func) { + return Browser.requestAnimationFrame(function() { + if (ABORT) return; + if (Browser.allowAsyncCallbacks) { + func(); + } else { + Browser.queuedAsyncCallbacks.push(func); + } + }); + },safeSetTimeout:function (func, timeout) { + Module['noExitRuntime'] = true; + return setTimeout(function() { + if (ABORT) return; + if (Browser.allowAsyncCallbacks) { + func(); + } else { + Browser.queuedAsyncCallbacks.push(func); + } + }, timeout); + },safeSetInterval:function (func, timeout) { + Module['noExitRuntime'] = true; + return setInterval(function() { + if (ABORT) return; + if (Browser.allowAsyncCallbacks) { + func(); + } // drop it on the floor otherwise, next interval will kick in + }, timeout); + },getMimetype:function (name) { + return { + 'jpg': 'image/jpeg', + 'jpeg': 'image/jpeg', + 'png': 'image/png', + 'bmp': 'image/bmp', + 'ogg': 'audio/ogg', + 'wav': 'audio/wav', + 'mp3': 'audio/mpeg' + }[name.substr(name.lastIndexOf('.')+1)]; + },getUserMedia:function (func) { + if(!window.getUserMedia) { + window.getUserMedia = navigator['getUserMedia'] || + navigator['mozGetUserMedia']; + } + window.getUserMedia(func); + },getMovementX:function (event) { + return event['movementX'] || + event['mozMovementX'] || + event['webkitMovementX'] || + 0; + },getMovementY:function (event) { + return event['movementY'] || + event['mozMovementY'] || + event['webkitMovementY'] || + 0; + },getMouseWheelDelta:function (event) { + var delta = 0; + switch (event.type) { + case 'DOMMouseScroll': + delta = event.detail; + break; + case 'mousewheel': + delta = event.wheelDelta; + break; + case 'wheel': + delta = event['deltaY']; + break; + default: + throw 'unrecognized mouse wheel event: ' + event.type; + } + return delta; + },mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function (event) { // event should be mousemove, mousedown or mouseup + if (Browser.pointerLock) { + // When the pointer is locked, calculate the coordinates + // based on the movement of the mouse. + // Workaround for Firefox bug 764498 + if (event.type != 'mousemove' && + ('mozMovementX' in event)) { + Browser.mouseMovementX = Browser.mouseMovementY = 0; + } else { + Browser.mouseMovementX = Browser.getMovementX(event); + Browser.mouseMovementY = Browser.getMovementY(event); + } + + // check if SDL is available + if (typeof SDL != "undefined") { + Browser.mouseX = SDL.mouseX + Browser.mouseMovementX; + Browser.mouseY = SDL.mouseY + Browser.mouseMovementY; + } else { + // just add the mouse delta to the current absolut mouse position + // FIXME: ideally this should be clamped against the canvas size and zero + Browser.mouseX += Browser.mouseMovementX; + Browser.mouseY += Browser.mouseMovementY; + } + } else { + // Otherwise, calculate the movement based on the changes + // in the coordinates. + var rect = Module["canvas"].getBoundingClientRect(); + var cw = Module["canvas"].width; + var ch = Module["canvas"].height; + + // Neither .scrollX or .pageXOffset are defined in a spec, but + // we prefer .scrollX because it is currently in a spec draft. + // (see: http://www.w3.org/TR/2013/WD-cssom-view-20131217/) + var scrollX = ((typeof window.scrollX !== 'undefined') ? window.scrollX : window.pageXOffset); + var scrollY = ((typeof window.scrollY !== 'undefined') ? window.scrollY : window.pageYOffset); + // If this assert lands, it's likely because the browser doesn't support scrollX or pageXOffset + // and we have no viable fallback. + assert((typeof scrollX !== 'undefined') && (typeof scrollY !== 'undefined'), 'Unable to retrieve scroll position, mouse positions likely broken.'); + + if (event.type === 'touchstart' || event.type === 'touchend' || event.type === 'touchmove') { + var touch = event.touch; + if (touch === undefined) { + return; // the "touch" property is only defined in SDL + + } + var adjustedX = touch.pageX - (scrollX + rect.left); + var adjustedY = touch.pageY - (scrollY + rect.top); + + adjustedX = adjustedX * (cw / rect.width); + adjustedY = adjustedY * (ch / rect.height); + + var coords = { x: adjustedX, y: adjustedY }; + + if (event.type === 'touchstart') { + Browser.lastTouches[touch.identifier] = coords; + Browser.touches[touch.identifier] = coords; + } else if (event.type === 'touchend' || event.type === 'touchmove') { + var last = Browser.touches[touch.identifier]; + if (!last) last = coords; + Browser.lastTouches[touch.identifier] = last; + Browser.touches[touch.identifier] = coords; + } + return; + } + + var x = event.pageX - (scrollX + rect.left); + var y = event.pageY - (scrollY + rect.top); + + // the canvas might be CSS-scaled compared to its backbuffer; + // SDL-using content will want mouse coordinates in terms + // of backbuffer units. + x = x * (cw / rect.width); + y = y * (ch / rect.height); + + Browser.mouseMovementX = x - Browser.mouseX; + Browser.mouseMovementY = y - Browser.mouseY; + Browser.mouseX = x; + Browser.mouseY = y; + } + },asyncLoad:function (url, onload, onerror, noRunDep) { + var dep = !noRunDep ? getUniqueRunDependency('al ' + url) : ''; + Module['readAsync'](url, function(arrayBuffer) { + assert(arrayBuffer, 'Loading data file "' + url + '" failed (no arrayBuffer).'); + onload(new Uint8Array(arrayBuffer)); + if (dep) removeRunDependency(dep); + }, function(event) { + if (onerror) { + onerror(); + } else { + throw 'Loading data file "' + url + '" failed.'; + } + }); + if (dep) addRunDependency(dep); + },resizeListeners:[],updateResizeListeners:function () { + var canvas = Module['canvas']; + Browser.resizeListeners.forEach(function(listener) { + listener(canvas.width, canvas.height); + }); + },setCanvasSize:function (width, height, noUpdates) { + var canvas = Module['canvas']; + Browser.updateCanvasDimensions(canvas, width, height); + if (!noUpdates) Browser.updateResizeListeners(); + },windowedWidth:0,windowedHeight:0,setFullscreenCanvasSize:function () { + // check if SDL is available + if (typeof SDL != "undefined") { + var flags = HEAPU32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)]; + flags = flags | 0x00800000; // set SDL_FULLSCREEN flag + HEAP32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)]=flags + } + Browser.updateResizeListeners(); + },setWindowedCanvasSize:function () { + // check if SDL is available + if (typeof SDL != "undefined") { + var flags = HEAPU32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)]; + flags = flags & ~0x00800000; // clear SDL_FULLSCREEN flag + HEAP32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)]=flags + } + Browser.updateResizeListeners(); + },updateCanvasDimensions:function (canvas, wNative, hNative) { + if (wNative && hNative) { + canvas.widthNative = wNative; + canvas.heightNative = hNative; + } else { + wNative = canvas.widthNative; + hNative = canvas.heightNative; + } + var w = wNative; + var h = hNative; + if (Module['forcedAspectRatio'] && Module['forcedAspectRatio'] > 0) { + if (w/h < Module['forcedAspectRatio']) { + w = Math.round(h * Module['forcedAspectRatio']); + } else { + h = Math.round(w / Module['forcedAspectRatio']); + } + } + if (((document['fullscreenElement'] || document['mozFullScreenElement'] || + document['msFullscreenElement'] || document['webkitFullscreenElement'] || + document['webkitCurrentFullScreenElement']) === canvas.parentNode) && (typeof screen != 'undefined')) { + var factor = Math.min(screen.width / w, screen.height / h); + w = Math.round(w * factor); + h = Math.round(h * factor); + } + if (Browser.resizeCanvas) { + if (canvas.width != w) canvas.width = w; + if (canvas.height != h) canvas.height = h; + if (typeof canvas.style != 'undefined') { + canvas.style.removeProperty( "width"); + canvas.style.removeProperty("height"); + } + } else { + if (canvas.width != wNative) canvas.width = wNative; + if (canvas.height != hNative) canvas.height = hNative; + if (typeof canvas.style != 'undefined') { + if (w != wNative || h != hNative) { + canvas.style.setProperty( "width", w + "px", "important"); + canvas.style.setProperty("height", h + "px", "important"); + } else { + canvas.style.removeProperty( "width"); + canvas.style.removeProperty("height"); + } + } + } + },wgetRequests:{},nextWgetRequestHandle:0,getNextWgetRequestHandle:function () { + var handle = Browser.nextWgetRequestHandle; + Browser.nextWgetRequestHandle++; + return handle; + }};var GLFW={Window:function (id, width, height, title, monitor, share) { this.id = id; this.x = 0; this.y = 0; + this.fullscreen = false; // Used to determine if app in fullscreen mode this.storedX = 0; // Used to store X before fullscreen this.storedY = 0; // Used to store Y before fullscreen this.width = width; @@ -2090,10 +2852,12 @@ function copyTempDouble(ptr) { return GLFW.windows[id - 1]; },errorFunc:null,monitorFunc:null,active:null,windows:null,monitors:null,monitorString:null,versionString:null,initialTime:null,extensions:null,hints:null,defaultHints:{131073:0,131074:0,131075:1,131076:1,131077:1,135169:8,135170:8,135171:8,135172:8,135173:24,135174:8,135175:0,135176:0,135177:0,135178:0,135179:0,135180:0,135181:0,135182:0,135183:0,139265:196609,139266:1,139267:0,139268:0,139269:0,139270:0,139271:0,139272:0},DOMToGLFWKeyCode:function (keycode) { switch (keycode) { + // these keycodes are only defined for GLFW3, assume they are the same for GLFW2 case 0x20:return 32; // DOM_VK_SPACE -> GLFW_KEY_SPACE case 0xDE:return 39; // DOM_VK_QUOTE -> GLFW_KEY_APOSTROPHE case 0xBC:return 44; // DOM_VK_COMMA -> GLFW_KEY_COMMA case 0xAD:return 45; // DOM_VK_HYPHEN_MINUS -> GLFW_KEY_MINUS + case 0xBD:return 45; // DOM_VK_MINUS -> GLFW_KEY_MINUS case 0xBE:return 46; // DOM_VK_PERIOD -> GLFW_KEY_PERIOD case 0xBF:return 47; // DOM_VK_SLASH -> GLFW_KEY_SLASH case 0x30:return 48; // DOM_VK_0 -> GLFW_KEY_0 @@ -2107,7 +2871,8 @@ function copyTempDouble(ptr) { case 0x38:return 56; // DOM_VK_8 -> GLFW_KEY_8 case 0x39:return 57; // DOM_VK_9 -> GLFW_KEY_9 case 0x3B:return 59; // DOM_VK_SEMICOLON -> GLFW_KEY_SEMICOLON - case 0x61:return 61; // DOM_VK_EQUALS -> GLFW_KEY_EQUAL + case 0x3D:return 61; // DOM_VK_EQUALS -> GLFW_KEY_EQUAL + case 0xBB:return 61; // DOM_VK_EQUALS -> GLFW_KEY_EQUAL case 0x41:return 65; // DOM_VK_A -> GLFW_KEY_A case 0x42:return 66; // DOM_VK_B -> GLFW_KEY_B case 0x43:return 67; // DOM_VK_C -> GLFW_KEY_C @@ -2138,6 +2903,8 @@ function copyTempDouble(ptr) { case 0xDC:return 92; // DOM_VK_BACKSLASH -> GLFW_KEY_BACKSLASH case 0xDD:return 93; // DOM_VK_CLOSE_BRACKET -> GLFW_KEY_RIGHT_BRACKET case 0xC0:return 94; // DOM_VK_BACK_QUOTE -> GLFW_KEY_GRAVE_ACCENT + + case 0x1B:return 256; // DOM_VK_ESCAPE -> GLFW_KEY_ESCAPE case 0x0D:return 257; // DOM_VK_RETURN -> GLFW_KEY_ENTER case 0x09:return 258; // DOM_VK_TAB -> GLFW_KEY_TAB @@ -2208,7 +2975,6 @@ function copyTempDouble(ptr) { // case 0x12:return 346; // DOM_VK_ALT -> GLFW_KEY_RIGHT_ALT (DOM_KEY_LOCATION_RIGHT) // case 0x5B:return 347; // DOM_VK_WIN -> GLFW_KEY_RIGHT_SUPER (DOM_KEY_LOCATION_RIGHT) case 0x5D:return 348; // DOM_VK_CONTEXT_MENU -> GLFW_KEY_MENU - // XXX: GLFW_KEY_WORLD_1, GLFW_KEY_WORLD_2 what are these? default:return -1; // GLFW_KEY_UNKNOWN }; @@ -2227,20 +2993,22 @@ function copyTempDouble(ptr) { if (charCode == 0 || (charCode >= 0x00 && charCode <= 0x1F)) return; - Runtime.dynCall('vii', GLFW.active.charFunc, [GLFW.active.id, charCode]); + Module['dynCall_vii'](GLFW.active.charFunc, GLFW.active.id, charCode); },onKeyChanged:function (event, status) { if (!GLFW.active) return; var key = GLFW.DOMToGLFWKeyCode(event.keyCode); if (key == -1) return; + var repeat = status && GLFW.active.keys[key]; GLFW.active.keys[key] = status; if (!GLFW.active.keyFunc) return; - Runtime.dynCall('viiiii', GLFW.active.keyFunc, [GLFW.active.id, key, event.keyCode, status, GLFW.getModBits(GLFW.active)]); + if (repeat) status = 2; // GLFW_REPEAT + Module['dynCall_viiiii'](GLFW.active.keyFunc, GLFW.active.id, key, event.keyCode, status, GLFW.getModBits(GLFW.active)); },onKeydown:function (event) { - GLFW.onKeyChanged(event, 1); // GLFW_PRESS + GLFW.onKeyChanged(event, 1); // GLFW_PRESS or GLFW_REPEAT // This logic comes directly from the sdl implementation. We cannot // call preventDefault on all keydown events otherwise onKeyPress will @@ -2258,21 +3026,10 @@ function copyTempDouble(ptr) { if (event.target != Module["canvas"] || !GLFW.active.cursorPosFunc) return; - Runtime.dynCall('vidd', GLFW.active.cursorPosFunc, [GLFW.active.id, Browser.mouseX, Browser.mouseY]); - },onMouseButtonChanged:function (event, status) { - if (!GLFW.active || !GLFW.active.mouseButtonFunc) return; - - Browser.calculateMouseEvent(event); - - if (event.target != Module["canvas"]) return; - - if (status == 1) { // GLFW_PRESS - try { - event.target.setCapture(); - } catch (e) {} - } - - // DOM and glfw have different button codes + Module['dynCall_vidd'](GLFW.active.cursorPosFunc, GLFW.active.id, Browser.mouseX, Browser.mouseY); + },DOMToGLFWMouseButton:function (event) { + // DOM and glfw have different button codes. + // See http://www.w3schools.com/jsref/event_button.asp. var eventButton = event['button']; if (eventButton > 0) { if (eventButton == 1) { @@ -2281,16 +3038,46 @@ function copyTempDouble(ptr) { eventButton = 1; } } + return eventButton; + },onMouseenter:function (event) { + if (!GLFW.active) return; + + if (event.target != Module["canvas"] || !GLFW.active.cursorEnterFunc) return; + + Module['dynCall_vii'](GLFW.active.cursorEnterFunc, GLFW.active.id, 1); + },onMouseleave:function (event) { + if (!GLFW.active) return; + + if (event.target != Module["canvas"] || !GLFW.active.cursorEnterFunc) return; + + Module['dynCall_vii'](GLFW.active.cursorEnterFunc, GLFW.active.id, 0); + },onMouseButtonChanged:function (event, status) { + if (!GLFW.active) return; + + Browser.calculateMouseEvent(event); + + if (event.target != Module["canvas"]) return; + + eventButton = GLFW.DOMToGLFWMouseButton(event); + + if (status == 1) { // GLFW_PRESS + GLFW.active.buttons |= (1 << eventButton); + try { + event.target.setCapture(); + } catch (e) {} + } else { // GLFW_RELEASE + GLFW.active.buttons &= ~(1 << eventButton); + } + + if (!GLFW.active.mouseButtonFunc) return; - Runtime.dynCall('viiii', GLFW.active.mouseButtonFunc, [GLFW.active.id, eventButton, status, GLFW.getModBits(GLFW.active)]); + Module['dynCall_viiii'](GLFW.active.mouseButtonFunc, GLFW.active.id, eventButton, status, GLFW.getModBits(GLFW.active)); },onMouseButtonDown:function (event) { if (!GLFW.active) return; - GLFW.active.buttons |= (1 << event['button']); GLFW.onMouseButtonChanged(event, 1); // GLFW_PRESS },onMouseButtonUp:function (event) { if (!GLFW.active) return; - GLFW.active.buttons &= ~(1 << event['button']); GLFW.onMouseButtonChanged(event, 0); // GLFW_RELEASE },onMouseWheel:function (event) { // Note the minus sign that flips browser wheel direction (positive direction scrolls page down) to native wheel direction (positive direction is mouse wheel up) @@ -2311,13 +3098,16 @@ function copyTempDouble(ptr) { sy = event.deltaY; } - Runtime.dynCall('vidd', GLFW.active.scrollFunc, [GLFW.active.id, sx, sy]); + Module['dynCall_vidd'](GLFW.active.scrollFunc, GLFW.active.id, sx, sy); event.preventDefault(); - },onFullScreenEventChange:function () { + },onCanvasResize:function (width, height) { if (!GLFW.active) return; - if (document["fullScreen"] || document["mozFullScreen"] || document["webkitIsFullScreen"]) { + var resizeNeeded = true; + + // If the client is requestiong fullscreen mode + if (document["fullscreen"] || document["fullScreen"] || document["mozFullScreen"] || document["webkitIsFullScreen"]) { GLFW.active.storedX = GLFW.active.x; GLFW.active.storedY = GLFW.active.y; GLFW.active.storedWidth = GLFW.active.width; @@ -2325,33 +3115,71 @@ function copyTempDouble(ptr) { GLFW.active.x = GLFW.active.y = 0; GLFW.active.width = screen.width; GLFW.active.height = screen.height; - } else { + GLFW.active.fullscreen = true; + + // If the client is reverting from fullscreen mode + } else if (GLFW.active.fullscreen == true) { GLFW.active.x = GLFW.active.storedX; GLFW.active.y = GLFW.active.storedY; GLFW.active.width = GLFW.active.storedWidth; GLFW.active.height = GLFW.active.storedHeight; + GLFW.active.fullscreen = false; + + // If the width/height values do not match current active window sizes + } else if (GLFW.active.width != width || GLFW.active.height != height) { + GLFW.active.width = width; + GLFW.active.height = height; + } else { + resizeNeeded = false; } - Browser.setCanvasSize(GLFW.active.width, GLFW.active.height, true); // resets the canvas size to counter the aspect preservation of Browser.updateCanvasDimensions + // If any of the above conditions were true, we need to resize the canvas + if (resizeNeeded) { + // resets the canvas size to counter the aspect preservation of Browser.updateCanvasDimensions + Browser.setCanvasSize(GLFW.active.width, GLFW.active.height, true); + // TODO: Client dimensions (clientWidth/clientHeight) vs pixel dimensions (width/height) of + // the canvas should drive window and framebuffer size respectfully. + GLFW.onWindowSizeChanged(); + GLFW.onFramebufferSizeChanged(); + } + },onWindowSizeChanged:function () { + if (!GLFW.active) return; if (!GLFW.active.windowSizeFunc) return; - Runtime.dynCall('viii', GLFW.active.windowSizeFunc, [GLFW.active.id, GLFW.active.width, GLFW.active.height]); - },requestFullScreen:function () { + Module['dynCall_viii'](GLFW.active.windowSizeFunc, GLFW.active.id, GLFW.active.width, GLFW.active.height); + },onFramebufferSizeChanged:function () { + if (!GLFW.active) return; + + if (!GLFW.active.framebufferSizeFunc) return; + + Module['dynCall_viii'](GLFW.active.framebufferSizeFunc, GLFW.active.id, GLFW.active.width, GLFW.active.height); + },requestFullscreen:function () { var RFS = Module["canvas"]['requestFullscreen'] || - Module["canvas"]['requestFullScreen'] || Module["canvas"]['mozRequestFullScreen'] || Module["canvas"]['webkitRequestFullScreen'] || (function() {}); RFS.apply(Module["canvas"], []); - },cancelFullScreen:function () { + },requestFullScreen:function () { + Module.printErr('GLFW.requestFullScreen() is deprecated. Please call GLFW.requestFullscreen instead.'); + GLFW.requestFullScreen = function() { + return GLFW.requestFullscreen(); + } + return GLFW.requestFullscreen(); + },exitFullscreen:function () { var CFS = document['exitFullscreen'] || document['cancelFullScreen'] || document['mozCancelFullScreen'] || document['webkitCancelFullScreen'] || (function() {}); CFS.apply(document, []); + },cancelFullScreen:function () { + Module.printErr('GLFW.cancelFullScreen() is deprecated. Please call GLFW.exitFullscreen instead.'); + GLFW.cancelFullScreen = function() { + return GLFW.exitFullscreen(); + } + return GLFW.exitFullscreen(); },getTime:function () { return _emscripten_get_now() / 1000; },setWindowTitle:function (winid, title) { @@ -2386,6 +3214,7 @@ function copyTempDouble(ptr) { var win = GLFW.WindowFromId(winid); if (!win) return; win.windowSizeFunc = cbfun; + },setWindowCloseCallback:function (winid, cbfun) { var win = GLFW.WindowFromId(winid); if (!win) return; @@ -2394,6 +3223,54 @@ function copyTempDouble(ptr) { var win = GLFW.WindowFromId(winid); if (!win) return; win.windowRefreshFunc = cbfun; + },onClickRequestPointerLock:function (e) { + if (!Browser.pointerLock && Module['canvas'].requestPointerLock) { + Module['canvas'].requestPointerLock(); + e.preventDefault(); + } + },setInputMode:function (winid, mode, value) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + + switch(mode) { + case 0x00033001: { // GLFW_CURSOR + switch(value) { + case 0x00034001: { // GLFW_CURSOR_NORMAL + win.inputModes[mode] = value; + Module['canvas'].removeEventListener('click', GLFW.onClickRequestPointerLock, true); + Module['canvas'].exitPointerLock(); + break; + } + case 0x00034002: { // GLFW_CURSOR_HIDDEN + console.log("glfwSetInputMode called with GLFW_CURSOR_HIDDEN value not implemented."); + break; + } + case 0x00034003: { // GLFW_CURSOR_DISABLED + win.inputModes[mode] = value; + Module['canvas'].addEventListener('click', GLFW.onClickRequestPointerLock, true); + Module['canvas'].requestPointerLock(); + break; + } + default: { + console.log("glfwSetInputMode called with unknown value parameter value: " + value + "."); + break; + } + } + break; + } + case 0x00033002: { // GLFW_STICKY_KEYS + console.log("glfwSetInputMode called with GLFW_STICKY_KEYS mode not implemented."); + break; + } + case 0x00033003: { // GLFW_STICKY_MOUSE_BUTTONS + console.log("glfwSetInputMode called with GLFW_STICKY_MOUSE_BUTTONS mode not implemented."); + break; + } + default: { + console.log("glfwSetInputMode called with unknown mode parameter value: " + mode + "."); + break; + } + } },getKey:function (winid, key) { var win = GLFW.WindowFromId(winid); if (!win) return 0; @@ -2444,19 +3321,19 @@ function copyTempDouble(ptr) { if (GLFW.active.id == win.id) { if (width == screen.width && height == screen.height) { - GLFW.requestFullScreen(); + GLFW.requestFullscreen(); } else { - GLFW.cancelFullScreen(); + GLFW.exitFullscreen(); Browser.setCanvasSize(width, height); win.width = width; win.height = height; } } - if (!win.windowResizeFunc) return; + if (!win.windowSizeFunc) return; - Runtime.dynCall('viii', win.windowResizeFunc, [win.id, width, height]); + Module['dynCall_viii'](win.windowSizeFunc, win.id, width, height); },createWindow:function (width, height, title, monitor, share) { var i, id; for (i = 0; i < GLFW.windows.length && GLFW.windows[i] !== null; i++); @@ -2469,7 +3346,7 @@ function copyTempDouble(ptr) { if (width <= 0 || height <= 0) return 0; if (monitor) { - GLFW.requestFullScreen(); + GLFW.requestFullscreen(); } else { Browser.setCanvasSize(width, height); } @@ -2480,7 +3357,8 @@ function copyTempDouble(ptr) { var contextAttributes = { antialias: (GLFW.hints[0x0002100D] > 1), // GLFW_SAMPLES depth: (GLFW.hints[0x00021005] > 0), // GLFW_DEPTH_BITS - stencil: (GLFW.hints[0x00021006] > 0) // GLFW_STENCIL_BITS + stencil: (GLFW.hints[0x00021006] > 0), // GLFW_STENCIL_BITS + alpha: (GLFW.hints[0x00021004] > 0) // GLFW_ALPHA_BITS } Module.ctx = Browser.createContext(Module['canvas'], true, true, contextAttributes); } @@ -2505,7 +3383,7 @@ function copyTempDouble(ptr) { if (!win) return; if (win.windowCloseFunc) - Runtime.dynCall('vi', win.windowCloseFunc, [win.id]); + Module['dynCall_vi'](win.windowCloseFunc, win.id); GLFW.windows[win.id - 1] = null; if (GLFW.active.id == win.id) @@ -2566,7 +3444,7 @@ function copyTempDouble(ptr) { GLctx.bindTexture(target, texture ? GL.textures[texture] : null); } - function _emscripten_glStencilFunc(x0, x1, x2) { GLctx.stencilFunc(x0, x1, x2) } + function _emscripten_glStencilFunc(x0, x1, x2) { GLctx['stencilFunc'](x0, x1, x2) } function _glGetString(name_) { if (GL.stringCache[name_]) return GL.stringCache[name_]; @@ -2574,20 +3452,37 @@ function copyTempDouble(ptr) { switch(name_) { case 0x1F00 /* GL_VENDOR */: case 0x1F01 /* GL_RENDERER */: - case 0x1F02 /* GL_VERSION */: + case 0x9245 /* UNMASKED_VENDOR_WEBGL */: + case 0x9246 /* UNMASKED_RENDERER_WEBGL */: ret = allocate(intArrayFromString(GLctx.getParameter(name_)), 'i8', ALLOC_NORMAL); break; + case 0x1F02 /* GL_VERSION */: + var glVersion = GLctx.getParameter(GLctx.VERSION); + // return GLES version string corresponding to the version of the WebGL context + { + glVersion = 'OpenGL ES 2.0 (' + glVersion + ')'; + } + ret = allocate(intArrayFromString(glVersion), 'i8', ALLOC_NORMAL); + break; case 0x1F03 /* GL_EXTENSIONS */: var exts = GLctx.getSupportedExtensions(); var gl_exts = []; - for (var i in exts) { + for (var i = 0; i < exts.length; ++i) { gl_exts.push(exts[i]); gl_exts.push("GL_" + exts[i]); } ret = allocate(intArrayFromString(gl_exts.join(' ')), 'i8', ALLOC_NORMAL); break; case 0x8B8C /* GL_SHADING_LANGUAGE_VERSION */: - ret = allocate(intArrayFromString('OpenGL ES GLSL 1.00 (WebGL)'), 'i8', ALLOC_NORMAL); + var glslVersion = GLctx.getParameter(GLctx.SHADING_LANGUAGE_VERSION); + // extract the version number 'N.M' from the string 'WebGL GLSL ES N.M ...' + var ver_re = /^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/; + var ver_num = glslVersion.match(ver_re); + if (ver_num !== null) { + if (ver_num[1].length == 3) ver_num[1] = ver_num[1] + '0'; // ensure minor version has 2 digits + glslVersion = 'OpenGL ES GLSL ES ' + ver_num[1] + ' (' + glslVersion + ')'; + } + ret = allocate(intArrayFromString(glslVersion), 'i8', ALLOC_NORMAL); break; default: GL.recordError(0x0500/*GL_INVALID_ENUM*/); @@ -2598,14 +3493,15 @@ function copyTempDouble(ptr) { } function _emscripten_glUniform3iv(location, count, value) { - location = GL.uniforms[location]; - count *= 3; - value = HEAP32.subarray((value)>>2,(value+count*4)>>2); - GLctx.uniform3iv(location, value); + + + GLctx.uniform3iv(GL.uniforms[location], HEAP32.subarray((value)>>2,(value+count*12)>>2)); } function _emscripten_glShaderSource(shader, count, string, length) { var source = GL.getSource(shader, count, string, length); + + GLctx.shaderSource(GL.shaders[shader], source); } @@ -2617,9 +3513,9 @@ function copyTempDouble(ptr) { GLFW.setScrollCallback(winid, cbfun); } - function _emscripten_glTexParameterf(x0, x1, x2) { GLctx.texParameterf(x0, x1, x2) } + function _emscripten_glTexParameterf(x0, x1, x2) { GLctx['texParameterf'](x0, x1, x2) } - function _emscripten_glTexParameteri(x0, x1, x2) { GLctx.texParameteri(x0, x1, x2) } + function _emscripten_glTexParameteri(x0, x1, x2) { GLctx['texParameteri'](x0, x1, x2) } function _glCompileShader(shader) { GLctx.compileShader(GL.shaders[shader]); @@ -2634,6 +3530,7 @@ function copyTempDouble(ptr) { function ___setErrNo(value) { if (Module['___errno_location']) HEAP32[((Module['___errno_location']())>>2)]=value; + else Module.printErr('failed to set errno from JS'); return value; } @@ -2836,15 +3733,26 @@ function copyTempDouble(ptr) { var buf = new Buffer(BUFSIZE); var bytesRead = 0; - var fd = process.stdin.fd; - // Linux and Mac cannot use process.stdin.fd (which isn't set up as sync) - var usingDevice = false; - try { - fd = fs.openSync('/dev/stdin', 'r'); - usingDevice = true; - } catch (e) {} + var isPosixPlatform = (process.platform != 'win32'); // Node doesn't offer a direct check, so test by exclusion - bytesRead = fs.readSync(fd, buf, 0, BUFSIZE, null); + var fd = process.stdin.fd; + if (isPosixPlatform) { + // Linux and Mac cannot use process.stdin.fd (which isn't set up as sync) + var usingDevice = false; + try { + fd = fs.openSync('/dev/stdin', 'r'); + usingDevice = true; + } catch (e) {} + } + + try { + bytesRead = fs.readSync(fd, buf, 0, BUFSIZE, null); + } catch(e) { + // Cross-platform differences: on Windows, reading EOF throws an exception, but on other OSes, + // reading EOF returns 0. Uniformize behavior by treating the EOF exception to return 0. + if (e.toString().indexOf('EOF') != -1) bytesRead = 0; + else throw e; + } if (usingDevice) { fs.closeSync(fd); } if (bytesRead > 0) { @@ -2963,7 +3871,7 @@ function copyTempDouble(ptr) { } else if (FS.isFile(node.mode)) { node.node_ops = MEMFS.ops_table.file.node; node.stream_ops = MEMFS.ops_table.file.stream; - node.usedBytes = 0; // The actual number of bytes used in the typed array, as opposed to contents.buffer.byteLength which gives the whole capacity. + node.usedBytes = 0; // The actual number of bytes used in the typed array, as opposed to contents.length which gives the whole capacity. // When the byte data of the file is populated, this will point to either a typed array, or a normal JS array. Typed arrays are preferred // for performance, and used by default. However, typed arrays are not resizable like normal JS arrays are, so there is a small disk size // penalty involved for appending file writes that continuously grow a file similar to std::vector capacity vs used -scheme. @@ -3002,7 +3910,7 @@ function copyTempDouble(ptr) { } if (!node.contents || node.contents.subarray) { // Keep using a typed array if creating a new storage, or if old one was a typed array as well. - var prevCapacity = node.contents ? node.contents.buffer.byteLength : 0; + var prevCapacity = node.contents ? node.contents.length : 0; if (prevCapacity >= newCapacity) return; // No need to expand, the storage was already large enough. // Don't expand strictly to the given requested limit if it's only a very small increase, but instead geometrically grow capacity. // For small filesizes (<1MB), perform size*2 geometric increase, but for large sizes, do a much more conservative size*1.125 increase to @@ -3142,7 +4050,8 @@ function copyTempDouble(ptr) { node.timestamp = Date.now(); if (buffer.subarray && (!node.contents || node.contents.subarray)) { // This write is from a typed array to a typed array? - if (canOwn) { // Can we just reuse the buffer we are given? + if (canOwn) { + assert(position === 0, 'canOwn must imply no weird position inside the file'); node.contents = buffer.subarray(offset, offset + length); node.usedBytes = length; return length; @@ -3262,6 +4171,9 @@ function copyTempDouble(ptr) { } catch (e) { return callback(e); } + if (!req) { + return callback("Unable to connect to IndexedDB"); + } req.onupgradeneeded = function(e) { var db = e.target.result; var transaction = e.target.transaction; @@ -3537,7 +4449,10 @@ function copyTempDouble(ptr) { parts.reverse(); return PATH.join.apply(null, parts); },flagsToPermissionStringMap:{0:"r",1:"r+",2:"r+",64:"r",65:"r+",66:"r+",129:"rx+",193:"rx+",514:"w+",577:"w",578:"w+",705:"wx",706:"wx+",1024:"a",1025:"a",1026:"a+",1089:"a",1090:"a+",1153:"ax",1154:"ax+",1217:"ax",1218:"ax+",4096:"rs",4098:"rs+"},flagsToPermissionString:function (flags) { - flags &= ~0100000 /*O_LARGEFILE*/; // Ignore this flag from musl, otherwise node.js fails to open the file. + flags &= ~0x200000 /*O_PATH*/; // Ignore this flag from musl, otherwise node.js fails to open the file. + flags &= ~0x800 /*O_NONBLOCK*/; // Ignore this flag from musl, otherwise node.js fails to open the file. + flags &= ~0x8000 /*O_LARGEFILE*/; // Ignore this flag from musl, otherwise node.js fails to open the file. + flags &= ~0x80000 /*O_CLOEXEC*/; // Some applications may pass it; it makes no sense for a single process. if (flags in NODEFS.flagsToPermissionStringMap) { return NODEFS.flagsToPermissionStringMap[flags]; } else { @@ -3742,8 +4657,15 @@ function copyTempDouble(ptr) { var parent = root; for (var i = 0; i < parts.length-1; i++) { var curr = parts.slice(0, i+1).join('/'); + // Issue 4254: Using curr as a node name will prevent the node + // from being found in FS.nameTable when FS.open is called on + // a path which holds a child of this node, + // given that all FS functions assume node names + // are just their corresponding parts within their given path, + // rather than incremental aggregates which include their parent's + // directories. if (!createdParents[curr]) { - createdParents[curr] = WORKERFS.createNode(parent, curr, WORKERFS.DIR_MODE, 0); + createdParents[curr] = WORKERFS.createNode(parent, parts[i], WORKERFS.DIR_MODE, 0); } parent = createdParents[curr]; } @@ -3819,7 +4741,14 @@ function copyTempDouble(ptr) { },rmdir:function (parent, name) { throw new FS.ErrnoError(ERRNO_CODES.EPERM); },readdir:function (node) { - throw new FS.ErrnoError(ERRNO_CODES.EPERM); + var entries = ['.', '..']; + for (var key in node.contents) { + if (!node.contents.hasOwnProperty(key)) { + continue; + } + entries.push(key); + } + return entries; },symlink:function (parent, newName, oldPath) { throw new FS.ErrnoError(ERRNO_CODES.EPERM); },readlink:function (node) { @@ -3847,11 +4776,11 @@ function copyTempDouble(ptr) { return position; }}}; - var _stdin=allocate(1, "i32*", ALLOC_STATIC); + var _stdin=STATICTOP; STATICTOP += 16;; - var _stdout=allocate(1, "i32*", ALLOC_STATIC); + var _stdout=STATICTOP; STATICTOP += 16;; - var _stderr=allocate(1, "i32*", ALLOC_STATIC);var FS={root:null,mounts:[],devices:[null],streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,handleFSError:function (e) { + var _stderr=STATICTOP; STATICTOP += 16;;var FS={root:null,mounts:[],devices:[null],streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,handleFSError:function (e) { if (!(e instanceof FS.ErrnoError)) throw e + ' : ' + stackTrace(); return ___setErrNo(e.errno); },lookupPath:function (path, opts) { @@ -4106,8 +5035,8 @@ function copyTempDouble(ptr) { if (FS.isLink(node.mode)) { return ERRNO_CODES.ELOOP; } else if (FS.isDir(node.mode)) { - if ((flags & 2097155) !== 0 || // opening for write - (flags & 512)) { + if (FS.flagsToPermissionString(flags) !== 'r' || // opening for write + (flags & 512)) { // TODO: check for O_SEARCH? (== search for dir only) return ERRNO_CODES.EISDIR; } } @@ -4195,19 +5124,31 @@ function copyTempDouble(ptr) { populate = false; } + FS.syncFSRequests++; + + if (FS.syncFSRequests > 1) { + console.log('warning: ' + FS.syncFSRequests + ' FS.syncfs operations in flight at once, probably just doing extra work'); + } + var mounts = FS.getMounts(FS.root.mount); var completed = 0; + function doCallback(err) { + assert(FS.syncFSRequests > 0); + FS.syncFSRequests--; + return callback(err); + } + function done(err) { if (err) { if (!done.errored) { done.errored = true; - return callback(err); + return doCallback(err); } return; } if (++completed >= mounts.length) { - callback(null); + doCallback(null); } }; @@ -4325,6 +5266,18 @@ function copyTempDouble(ptr) { mode &= 511 | 512; mode |= 16384; return FS.mknod(path, mode, 0); + },mkdirTree:function (path, mode) { + var dirs = path.split('/'); + var d = ''; + for (var i = 0; i < dirs.length; ++i) { + if (!dirs[i]) continue; + d += '/' + dirs[i]; + try { + FS.mkdir(d, mode); + } catch(e) { + if (e.errno != ERRNO_CODES.EEXIST) throw e; + } + } },mkdev:function (path, mode, dev) { if (typeof(dev) === 'undefined') { dev = mode; @@ -4487,8 +5440,9 @@ function copyTempDouble(ptr) { var node = FS.lookupNode(parent, name); var err = FS.mayDelete(parent, name, false); if (err) { - // POSIX says unlink should set EPERM, not EISDIR - if (err === ERRNO_CODES.EISDIR) err = ERRNO_CODES.EPERM; + // According to POSIX, we should map EISDIR to EPERM, but + // we instead do what Linux does (and we must, as we use + // the musl linux libc). throw new FS.ErrnoError(err); } if (!parent.node_ops.unlink) { @@ -4874,6 +5828,9 @@ function copyTempDouble(ptr) { return FS.currentPath; },chdir:function (path) { var lookup = FS.lookupPath(path, { follow: true }); + if (lookup.node === null) { + throw new FS.ErrnoError(ERRNO_CODES.ENOENT); + } if (!FS.isDir(lookup.node.mode)) { throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR); } @@ -4928,7 +5885,7 @@ function copyTempDouble(ptr) { FS.mkdir('/proc/self/fd'); FS.mount({ mount: function() { - var node = FS.createNode('/proc/self', 'fd', 16384 | 0777, 73); + var node = FS.createNode('/proc/self', 'fd', 16384 | 511 /* 0777 */, 73); node.node_ops = { lookup: function(parent, name) { var fd = +name; @@ -4996,6 +5953,7 @@ function copyTempDouble(ptr) { }; this.setErrno(errno); this.message = ERRNO_MESSAGES[errno]; + if (this.stack) this.stack = demangleAll(this.stack); }; FS.ErrnoError.prototype = new Error(); FS.ErrnoError.prototype.constructor = FS.ErrnoError; @@ -5237,6 +6195,8 @@ function copyTempDouble(ptr) { var datalength = Number(xhr.getResponseHeader("Content-length")); var header; var hasByteServing = (header = xhr.getResponseHeader("Accept-Ranges")) && header === "bytes"; + var usesGzip = (header = xhr.getResponseHeader("Content-Encoding")) && header === "gzip"; + var chunkSize = 1024*1024; // Chunk size in bytes if (!hasByteServing) chunkSize = datalength; @@ -5277,6 +6237,14 @@ function copyTempDouble(ptr) { return lazyArray.chunks[chunkNum]; }); + if (usesGzip || !datalength) { + // if the server uses gzip or doesn't supply the length, we have to download the whole file to get the (uncompressed) length + chunkSize = datalength = 1; // this will force getter(0)/doXHR do download the whole file + datalength = this.getter(0).length; + chunkSize = datalength; + console.log("LazyFiles on gzip forces download of the whole file when length is accessed"); + } + this._length = datalength; this._chunkSize = chunkSize; this.lengthKnown = true; @@ -5284,21 +6252,23 @@ function copyTempDouble(ptr) { if (typeof XMLHttpRequest !== 'undefined') { if (!ENVIRONMENT_IS_WORKER) throw 'Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc'; var lazyArray = new LazyUint8Array(); - Object.defineProperty(lazyArray, "length", { + Object.defineProperties(lazyArray, { + length: { get: function() { - if(!this.lengthKnown) { - this.cacheLength(); - } - return this._length; + if(!this.lengthKnown) { + this.cacheLength(); + } + return this._length; } - }); - Object.defineProperty(lazyArray, "chunkSize", { + }, + chunkSize: { get: function() { - if(!this.lengthKnown) { - this.cacheLength(); - } - return this._chunkSize; + if(!this.lengthKnown) { + this.cacheLength(); + } + return this._chunkSize; } + } }); var properties = { isDevice: false, contents: lazyArray }; @@ -5317,8 +6287,10 @@ function copyTempDouble(ptr) { node.url = properties.url; } // Add a function that defers querying the file size until it is asked the first time. - Object.defineProperty(node, "usedBytes", { + Object.defineProperties(node, { + usedBytes: { get: function() { return this.contents.length; } + } }); // override each stream op with one that tries to force load the lazy file first var stream_ops = {}; @@ -5356,7 +6328,7 @@ function copyTempDouble(ptr) { node.stream_ops = stream_ops; return node; },createPreloadedFile:function (parent, name, url, canRead, canWrite, onload, onerror, dontCreateFile, canOwn, preFinish) { - Browser.init(); + Browser.init(); // XXX perhaps this method should move onto Browser? // TODO we should allow people to just pass in a complete filename instead // of parent and name being that we just join them anyways var fullname = name ? PATH.resolve(PATH.join2(parent, name)) : parent; @@ -5533,9 +6505,15 @@ function copyTempDouble(ptr) { },doReadlink:function (path, buf, bufsize) { if (bufsize <= 0) return -ERRNO_CODES.EINVAL; var ret = FS.readlink(path); - ret = ret.slice(0, Math.max(0, bufsize)); - writeStringToMemory(ret, buf, true); - return ret.length; + + var len = Math.min(bufsize, lengthBytesUTF8(ret)); + var endChar = HEAP8[buf+len]; + stringToUTF8(ret, buf, bufsize+1); + // readlink is one of the rare functions that write out a C string, but does never append a null to the output buffer(!) + // stringToUTF8() always appends a null byte, so restore the character under the null byte after the write. + HEAP8[buf+len] = endChar; + + return len; },doAccess:function (path, amode) { if (amode & ~7) { // need a valid mode @@ -5633,6 +6611,12 @@ function copyTempDouble(ptr) { var argp = SYSCALLS.get(); return FS.ioctl(stream, op, argp); } + case 21523: { + // TODO: in theory we should write to the winsize struct that gets + // passed in, but for now musl doesn't read anything on it + if (!stream.tty) return -ERRNO_CODES.ENOTTY; + return 0; + } default: abort('bad ioctl syscall ' + op); } } catch (e) { @@ -5641,7 +6625,9 @@ function copyTempDouble(ptr) { } } - function _emscripten_glSampleCoverage(x0, x1) { GLctx.sampleCoverage(x0, x1) } + function _emscripten_glSampleCoverage(value, invert) { + GLctx.sampleCoverage(value, !!invert); + } function _glDeleteTextures(n, textures) { for (var i = 0; i < n; i++) { @@ -5673,8 +6659,7 @@ function copyTempDouble(ptr) { } function _emscripten_glUniform4i(location, v0, v1, v2, v3) { - location = GL.uniforms[location]; - GLctx.uniform4i(location, v0, v1, v2, v3); + GLctx.uniform4i(GL.uniforms[location], v0, v1, v2, v3); } function _emscripten_glBindRenderbuffer(target, renderbuffer) { @@ -5682,748 +6667,7 @@ function copyTempDouble(ptr) { } - - - - function _emscripten_set_main_loop_timing(mode, value) { - Browser.mainLoop.timingMode = mode; - Browser.mainLoop.timingValue = value; - - if (!Browser.mainLoop.func) { - return 1; // Return non-zero on failure, can't set timing mode when there is no main loop. - } - - if (mode == 0 /*EM_TIMING_SETTIMEOUT*/) { - Browser.mainLoop.scheduler = function Browser_mainLoop_scheduler_setTimeout() { - setTimeout(Browser.mainLoop.runner, value); // doing this each time means that on exception, we stop - }; - Browser.mainLoop.method = 'timeout'; - } else if (mode == 1 /*EM_TIMING_RAF*/) { - Browser.mainLoop.scheduler = function Browser_mainLoop_scheduler_rAF() { - Browser.requestAnimationFrame(Browser.mainLoop.runner); - }; - Browser.mainLoop.method = 'rAF'; - } else if (mode == 2 /*EM_TIMING_SETIMMEDIATE*/) { - if (!window['setImmediate']) { - // Emulate setImmediate. (note: not a complete polyfill, we don't emulate clearImmediate() to keep code size to minimum, since not needed) - var setImmediates = []; - var emscriptenMainLoopMessageId = '__emcc'; - function Browser_setImmediate_messageHandler(event) { - if (event.source === window && event.data === emscriptenMainLoopMessageId) { - event.stopPropagation(); - setImmediates.shift()(); - } - } - window.addEventListener("message", Browser_setImmediate_messageHandler, true); - window['setImmediate'] = function Browser_emulated_setImmediate(func) { - setImmediates.push(func); - window.postMessage(emscriptenMainLoopMessageId, "*"); - } - } - Browser.mainLoop.scheduler = function Browser_mainLoop_scheduler_setImmediate() { - window['setImmediate'](Browser.mainLoop.runner); - }; - Browser.mainLoop.method = 'immediate'; - } - return 0; - }function _emscripten_set_main_loop(func, fps, simulateInfiniteLoop, arg, noSetTiming) { - Module['noExitRuntime'] = true; - - assert(!Browser.mainLoop.func, 'emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters.'); - - Browser.mainLoop.func = func; - Browser.mainLoop.arg = arg; - - var thisMainLoopId = Browser.mainLoop.currentlyRunningMainloop; - - Browser.mainLoop.runner = function Browser_mainLoop_runner() { - if (ABORT) return; - if (Browser.mainLoop.queue.length > 0) { - var start = Date.now(); - var blocker = Browser.mainLoop.queue.shift(); - blocker.func(blocker.arg); - if (Browser.mainLoop.remainingBlockers) { - var remaining = Browser.mainLoop.remainingBlockers; - var next = remaining%1 == 0 ? remaining-1 : Math.floor(remaining); - if (blocker.counted) { - Browser.mainLoop.remainingBlockers = next; - } else { - // not counted, but move the progress along a tiny bit - next = next + 0.5; // do not steal all the next one's progress - Browser.mainLoop.remainingBlockers = (8*remaining + next)/9; - } - } - console.log('main loop blocker "' + blocker.name + '" took ' + (Date.now() - start) + ' ms'); //, left: ' + Browser.mainLoop.remainingBlockers); - Browser.mainLoop.updateStatus(); - setTimeout(Browser.mainLoop.runner, 0); - return; - } - - // catch pauses from non-main loop sources - if (thisMainLoopId < Browser.mainLoop.currentlyRunningMainloop) return; - - // Implement very basic swap interval control - Browser.mainLoop.currentFrameNumber = Browser.mainLoop.currentFrameNumber + 1 | 0; - if (Browser.mainLoop.timingMode == 1/*EM_TIMING_RAF*/ && Browser.mainLoop.timingValue > 1 && Browser.mainLoop.currentFrameNumber % Browser.mainLoop.timingValue != 0) { - // Not the scheduled time to render this frame - skip. - Browser.mainLoop.scheduler(); - return; - } - - // Signal GL rendering layer that processing of a new frame is about to start. This helps it optimize - // VBO double-buffering and reduce GPU stalls. - - if (Browser.mainLoop.method === 'timeout' && Module.ctx) { - Module.printErr('Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!'); - Browser.mainLoop.method = ''; // just warn once per call to set main loop - } - - Browser.mainLoop.runIter(function() { - if (typeof arg !== 'undefined') { - Runtime.dynCall('vi', func, [arg]); - } else { - Runtime.dynCall('v', func); - } - }); - - // catch pauses from the main loop itself - if (thisMainLoopId < Browser.mainLoop.currentlyRunningMainloop) return; - - // Queue new audio data. This is important to be right after the main loop invocation, so that we will immediately be able - // to queue the newest produced audio samples. - // TODO: Consider adding pre- and post- rAF callbacks so that GL.newRenderingFrameStarted() and SDL.audio.queueNewAudioData() - // do not need to be hardcoded into this function, but can be more generic. - if (typeof SDL === 'object' && SDL.audio && SDL.audio.queueNewAudioData) SDL.audio.queueNewAudioData(); - - Browser.mainLoop.scheduler(); - } - - if (!noSetTiming) { - if (fps && fps > 0) _emscripten_set_main_loop_timing(0/*EM_TIMING_SETTIMEOUT*/, 1000.0 / fps); - else _emscripten_set_main_loop_timing(1/*EM_TIMING_RAF*/, 1); // Do rAF by rendering each frame (no decimating) - - Browser.mainLoop.scheduler(); - } - - if (simulateInfiniteLoop) { - throw 'SimulateInfiniteLoop'; - } - }var Browser={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function () { - Browser.mainLoop.scheduler = null; - Browser.mainLoop.currentlyRunningMainloop++; // Incrementing this signals the previous main loop that it's now become old, and it must return. - },resume:function () { - Browser.mainLoop.currentlyRunningMainloop++; - var timingMode = Browser.mainLoop.timingMode; - var timingValue = Browser.mainLoop.timingValue; - var func = Browser.mainLoop.func; - Browser.mainLoop.func = null; - _emscripten_set_main_loop(func, 0, false, Browser.mainLoop.arg, true /* do not set timing and call scheduler, we will do it on the next lines */); - _emscripten_set_main_loop_timing(timingMode, timingValue); - Browser.mainLoop.scheduler(); - },updateStatus:function () { - if (Module['setStatus']) { - var message = Module['statusMessage'] || 'Please wait...'; - var remaining = Browser.mainLoop.remainingBlockers; - var expected = Browser.mainLoop.expectedBlockers; - if (remaining) { - if (remaining < expected) { - Module['setStatus'](message + ' (' + (expected - remaining) + '/' + expected + ')'); - } else { - Module['setStatus'](message); - } - } else { - Module['setStatus'](''); - } - } - },runIter:function (func) { - if (ABORT) return; - if (Module['preMainLoop']) { - var preRet = Module['preMainLoop'](); - if (preRet === false) { - return; // |return false| skips a frame - } - } - try { - func(); - } catch (e) { - if (e instanceof ExitStatus) { - return; - } else { - if (e && typeof e === 'object' && e.stack) Module.printErr('exception thrown: ' + [e, e.stack]); - throw e; - } - } - if (Module['postMainLoop']) Module['postMainLoop'](); - }},isFullScreen:false,pointerLock:false,moduleContextCreatedCallbacks:[],workers:[],init:function () { - if (!Module["preloadPlugins"]) Module["preloadPlugins"] = []; // needs to exist even in workers - - if (Browser.initted) return; - Browser.initted = true; - - try { - new Blob(); - Browser.hasBlobConstructor = true; - } catch(e) { - Browser.hasBlobConstructor = false; - console.log("warning: no blob constructor, cannot create blobs with mimetypes"); - } - Browser.BlobBuilder = typeof MozBlobBuilder != "undefined" ? MozBlobBuilder : (typeof WebKitBlobBuilder != "undefined" ? WebKitBlobBuilder : (!Browser.hasBlobConstructor ? console.log("warning: no BlobBuilder") : null)); - Browser.URLObject = typeof window != "undefined" ? (window.URL ? window.URL : window.webkitURL) : undefined; - if (!Module.noImageDecoding && typeof Browser.URLObject === 'undefined') { - console.log("warning: Browser does not support creating object URLs. Built-in browser image decoding will not be available."); - Module.noImageDecoding = true; - } - - // Support for plugins that can process preloaded files. You can add more of these to - // your app by creating and appending to Module.preloadPlugins. - // - // Each plugin is asked if it can handle a file based on the file's name. If it can, - // it is given the file's raw data. When it is done, it calls a callback with the file's - // (possibly modified) data. For example, a plugin might decompress a file, or it - // might create some side data structure for use later (like an Image element, etc.). - - var imagePlugin = {}; - imagePlugin['canHandle'] = function imagePlugin_canHandle(name) { - return !Module.noImageDecoding && /\.(jpg|jpeg|png|bmp)$/i.test(name); - }; - imagePlugin['handle'] = function imagePlugin_handle(byteArray, name, onload, onerror) { - var b = null; - if (Browser.hasBlobConstructor) { - try { - b = new Blob([byteArray], { type: Browser.getMimetype(name) }); - if (b.size !== byteArray.length) { // Safari bug #118630 - // Safari's Blob can only take an ArrayBuffer - b = new Blob([(new Uint8Array(byteArray)).buffer], { type: Browser.getMimetype(name) }); - } - } catch(e) { - Runtime.warnOnce('Blob constructor present but fails: ' + e + '; falling back to blob builder'); - } - } - if (!b) { - var bb = new Browser.BlobBuilder(); - bb.append((new Uint8Array(byteArray)).buffer); // we need to pass a buffer, and must copy the array to get the right data range - b = bb.getBlob(); - } - var url = Browser.URLObject.createObjectURL(b); - var img = new Image(); - img.onload = function img_onload() { - assert(img.complete, 'Image ' + name + ' could not be decoded'); - var canvas = document.createElement('canvas'); - canvas.width = img.width; - canvas.height = img.height; - var ctx = canvas.getContext('2d'); - ctx.drawImage(img, 0, 0); - Module["preloadedImages"][name] = canvas; - Browser.URLObject.revokeObjectURL(url); - if (onload) onload(byteArray); - }; - img.onerror = function img_onerror(event) { - console.log('Image ' + url + ' could not be decoded'); - if (onerror) onerror(); - }; - img.src = url; - }; - Module['preloadPlugins'].push(imagePlugin); - - var audioPlugin = {}; - audioPlugin['canHandle'] = function audioPlugin_canHandle(name) { - return !Module.noAudioDecoding && name.substr(-4) in { '.ogg': 1, '.wav': 1, '.mp3': 1 }; - }; - audioPlugin['handle'] = function audioPlugin_handle(byteArray, name, onload, onerror) { - var done = false; - function finish(audio) { - if (done) return; - done = true; - Module["preloadedAudios"][name] = audio; - if (onload) onload(byteArray); - } - function fail() { - if (done) return; - done = true; - Module["preloadedAudios"][name] = new Audio(); // empty shim - if (onerror) onerror(); - } - if (Browser.hasBlobConstructor) { - try { - var b = new Blob([byteArray], { type: Browser.getMimetype(name) }); - } catch(e) { - return fail(); - } - var url = Browser.URLObject.createObjectURL(b); // XXX we never revoke this! - var audio = new Audio(); - audio.addEventListener('canplaythrough', function() { finish(audio) }, false); // use addEventListener due to chromium bug 124926 - audio.onerror = function audio_onerror(event) { - if (done) return; - console.log('warning: browser could not fully decode audio ' + name + ', trying slower base64 approach'); - function encode64(data) { - var BASE = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'; - var PAD = '='; - var ret = ''; - var leftchar = 0; - var leftbits = 0; - for (var i = 0; i < data.length; i++) { - leftchar = (leftchar << 8) | data[i]; - leftbits += 8; - while (leftbits >= 6) { - var curr = (leftchar >> (leftbits-6)) & 0x3f; - leftbits -= 6; - ret += BASE[curr]; - } - } - if (leftbits == 2) { - ret += BASE[(leftchar&3) << 4]; - ret += PAD + PAD; - } else if (leftbits == 4) { - ret += BASE[(leftchar&0xf) << 2]; - ret += PAD; - } - return ret; - } - audio.src = 'data:audio/x-' + name.substr(-3) + ';base64,' + encode64(byteArray); - finish(audio); // we don't wait for confirmation this worked - but it's worth trying - }; - audio.src = url; - // workaround for chrome bug 124926 - we do not always get oncanplaythrough or onerror - Browser.safeSetTimeout(function() { - finish(audio); // try to use it even though it is not necessarily ready to play - }, 10000); - } else { - return fail(); - } - }; - Module['preloadPlugins'].push(audioPlugin); - - // Canvas event setup - - var canvas = Module['canvas']; - function pointerLockChange() { - Browser.pointerLock = document['pointerLockElement'] === canvas || - document['mozPointerLockElement'] === canvas || - document['webkitPointerLockElement'] === canvas || - document['msPointerLockElement'] === canvas; - } - if (canvas) { - // forced aspect ratio can be enabled by defining 'forcedAspectRatio' on Module - // Module['forcedAspectRatio'] = 4 / 3; - - canvas.requestPointerLock = canvas['requestPointerLock'] || - canvas['mozRequestPointerLock'] || - canvas['webkitRequestPointerLock'] || - canvas['msRequestPointerLock'] || - function(){}; - canvas.exitPointerLock = document['exitPointerLock'] || - document['mozExitPointerLock'] || - document['webkitExitPointerLock'] || - document['msExitPointerLock'] || - function(){}; // no-op if function does not exist - canvas.exitPointerLock = canvas.exitPointerLock.bind(document); - - - document.addEventListener('pointerlockchange', pointerLockChange, false); - document.addEventListener('mozpointerlockchange', pointerLockChange, false); - document.addEventListener('webkitpointerlockchange', pointerLockChange, false); - document.addEventListener('mspointerlockchange', pointerLockChange, false); - - if (Module['elementPointerLock']) { - canvas.addEventListener("click", function(ev) { - if (!Browser.pointerLock && canvas.requestPointerLock) { - canvas.requestPointerLock(); - ev.preventDefault(); - } - }, false); - } - } - },createContext:function (canvas, useWebGL, setInModule, webGLContextAttributes) { - if (useWebGL && Module.ctx && canvas == Module.canvas) return Module.ctx; // no need to recreate GL context if it's already been created for this canvas. - - var ctx; - var contextHandle; - if (useWebGL) { - // For GLES2/desktop GL compatibility, adjust a few defaults to be different to WebGL defaults, so that they align better with the desktop defaults. - var contextAttributes = { - antialias: false, - alpha: false - }; - - if (webGLContextAttributes) { - for (var attribute in webGLContextAttributes) { - contextAttributes[attribute] = webGLContextAttributes[attribute]; - } - } - - contextHandle = GL.createContext(canvas, contextAttributes); - if (contextHandle) { - ctx = GL.getContext(contextHandle).GLctx; - } - // Set the background of the WebGL canvas to black - canvas.style.backgroundColor = "black"; - } else { - ctx = canvas.getContext('2d'); - } - - if (!ctx) return null; - - if (setInModule) { - if (!useWebGL) assert(typeof GLctx === 'undefined', 'cannot set in module if GLctx is used, but we are a non-GL context that would replace it'); - - Module.ctx = ctx; - if (useWebGL) GL.makeContextCurrent(contextHandle); - Module.useWebGL = useWebGL; - Browser.moduleContextCreatedCallbacks.forEach(function(callback) { callback() }); - Browser.init(); - } - return ctx; - },destroyContext:function (canvas, useWebGL, setInModule) {},fullScreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullScreen:function (lockPointer, resizeCanvas, vrDevice) { - Browser.lockPointer = lockPointer; - Browser.resizeCanvas = resizeCanvas; - Browser.vrDevice = vrDevice; - if (typeof Browser.lockPointer === 'undefined') Browser.lockPointer = true; - if (typeof Browser.resizeCanvas === 'undefined') Browser.resizeCanvas = false; - if (typeof Browser.vrDevice === 'undefined') Browser.vrDevice = null; - - var canvas = Module['canvas']; - function fullScreenChange() { - Browser.isFullScreen = false; - var canvasContainer = canvas.parentNode; - if ((document['webkitFullScreenElement'] || document['webkitFullscreenElement'] || - document['mozFullScreenElement'] || document['mozFullscreenElement'] || - document['fullScreenElement'] || document['fullscreenElement'] || - document['msFullScreenElement'] || document['msFullscreenElement'] || - document['webkitCurrentFullScreenElement']) === canvasContainer) { - canvas.cancelFullScreen = document['cancelFullScreen'] || - document['mozCancelFullScreen'] || - document['webkitCancelFullScreen'] || - document['msExitFullscreen'] || - document['exitFullscreen'] || - function() {}; - canvas.cancelFullScreen = canvas.cancelFullScreen.bind(document); - if (Browser.lockPointer) canvas.requestPointerLock(); - Browser.isFullScreen = true; - if (Browser.resizeCanvas) Browser.setFullScreenCanvasSize(); - } else { - - // remove the full screen specific parent of the canvas again to restore the HTML structure from before going full screen - canvasContainer.parentNode.insertBefore(canvas, canvasContainer); - canvasContainer.parentNode.removeChild(canvasContainer); - - if (Browser.resizeCanvas) Browser.setWindowedCanvasSize(); - } - if (Module['onFullScreen']) Module['onFullScreen'](Browser.isFullScreen); - Browser.updateCanvasDimensions(canvas); - } - - if (!Browser.fullScreenHandlersInstalled) { - Browser.fullScreenHandlersInstalled = true; - document.addEventListener('fullscreenchange', fullScreenChange, false); - document.addEventListener('mozfullscreenchange', fullScreenChange, false); - document.addEventListener('webkitfullscreenchange', fullScreenChange, false); - document.addEventListener('MSFullscreenChange', fullScreenChange, false); - } - - // create a new parent to ensure the canvas has no siblings. this allows browsers to optimize full screen performance when its parent is the full screen root - var canvasContainer = document.createElement("div"); - canvas.parentNode.insertBefore(canvasContainer, canvas); - canvasContainer.appendChild(canvas); - - // use parent of canvas as full screen root to allow aspect ratio correction (Firefox stretches the root to screen size) - canvasContainer.requestFullScreen = canvasContainer['requestFullScreen'] || - canvasContainer['mozRequestFullScreen'] || - canvasContainer['msRequestFullscreen'] || - (canvasContainer['webkitRequestFullScreen'] ? function() { canvasContainer['webkitRequestFullScreen'](Element['ALLOW_KEYBOARD_INPUT']) } : null); - - if (vrDevice) { - canvasContainer.requestFullScreen({ vrDisplay: vrDevice }); - } else { - canvasContainer.requestFullScreen(); - } - },nextRAF:0,fakeRequestAnimationFrame:function (func) { - // try to keep 60fps between calls to here - var now = Date.now(); - if (Browser.nextRAF === 0) { - Browser.nextRAF = now + 1000/60; - } else { - while (now + 2 >= Browser.nextRAF) { // fudge a little, to avoid timer jitter causing us to do lots of delay:0 - Browser.nextRAF += 1000/60; - } - } - var delay = Math.max(Browser.nextRAF - now, 0); - setTimeout(func, delay); - },requestAnimationFrame:function requestAnimationFrame(func) { - if (typeof window === 'undefined') { // Provide fallback to setTimeout if window is undefined (e.g. in Node.js) - Browser.fakeRequestAnimationFrame(func); - } else { - if (!window.requestAnimationFrame) { - window.requestAnimationFrame = window['requestAnimationFrame'] || - window['mozRequestAnimationFrame'] || - window['webkitRequestAnimationFrame'] || - window['msRequestAnimationFrame'] || - window['oRequestAnimationFrame'] || - Browser.fakeRequestAnimationFrame; - } - window.requestAnimationFrame(func); - } - },safeCallback:function (func) { - return function() { - if (!ABORT) return func.apply(null, arguments); - }; - },allowAsyncCallbacks:true,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function () { - Browser.allowAsyncCallbacks = false; - },resumeAsyncCallbacks:function () { // marks future callbacks as ok to execute, and synchronously runs any remaining ones right now - Browser.allowAsyncCallbacks = true; - if (Browser.queuedAsyncCallbacks.length > 0) { - var callbacks = Browser.queuedAsyncCallbacks; - Browser.queuedAsyncCallbacks = []; - callbacks.forEach(function(func) { - func(); - }); - } - },safeRequestAnimationFrame:function (func) { - return Browser.requestAnimationFrame(function() { - if (ABORT) return; - if (Browser.allowAsyncCallbacks) { - func(); - } else { - Browser.queuedAsyncCallbacks.push(func); - } - }); - },safeSetTimeout:function (func, timeout) { - Module['noExitRuntime'] = true; - return setTimeout(function() { - if (ABORT) return; - if (Browser.allowAsyncCallbacks) { - func(); - } else { - Browser.queuedAsyncCallbacks.push(func); - } - }, timeout); - },safeSetInterval:function (func, timeout) { - Module['noExitRuntime'] = true; - return setInterval(function() { - if (ABORT) return; - if (Browser.allowAsyncCallbacks) { - func(); - } // drop it on the floor otherwise, next interval will kick in - }, timeout); - },getMimetype:function (name) { - return { - 'jpg': 'image/jpeg', - 'jpeg': 'image/jpeg', - 'png': 'image/png', - 'bmp': 'image/bmp', - 'ogg': 'audio/ogg', - 'wav': 'audio/wav', - 'mp3': 'audio/mpeg' - }[name.substr(name.lastIndexOf('.')+1)]; - },getUserMedia:function (func) { - if(!window.getUserMedia) { - window.getUserMedia = navigator['getUserMedia'] || - navigator['mozGetUserMedia']; - } - window.getUserMedia(func); - },getMovementX:function (event) { - return event['movementX'] || - event['mozMovementX'] || - event['webkitMovementX'] || - 0; - },getMovementY:function (event) { - return event['movementY'] || - event['mozMovementY'] || - event['webkitMovementY'] || - 0; - },getMouseWheelDelta:function (event) { - var delta = 0; - switch (event.type) { - case 'DOMMouseScroll': - delta = event.detail; - break; - case 'mousewheel': - delta = event.wheelDelta; - break; - case 'wheel': - delta = event['deltaY']; - break; - default: - throw 'unrecognized mouse wheel event: ' + event.type; - } - return delta; - },mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function (event) { // event should be mousemove, mousedown or mouseup - if (Browser.pointerLock) { - // When the pointer is locked, calculate the coordinates - // based on the movement of the mouse. - // Workaround for Firefox bug 764498 - if (event.type != 'mousemove' && - ('mozMovementX' in event)) { - Browser.mouseMovementX = Browser.mouseMovementY = 0; - } else { - Browser.mouseMovementX = Browser.getMovementX(event); - Browser.mouseMovementY = Browser.getMovementY(event); - } - - // check if SDL is available - if (typeof SDL != "undefined") { - Browser.mouseX = SDL.mouseX + Browser.mouseMovementX; - Browser.mouseY = SDL.mouseY + Browser.mouseMovementY; - } else { - // just add the mouse delta to the current absolut mouse position - // FIXME: ideally this should be clamped against the canvas size and zero - Browser.mouseX += Browser.mouseMovementX; - Browser.mouseY += Browser.mouseMovementY; - } - } else { - // Otherwise, calculate the movement based on the changes - // in the coordinates. - var rect = Module["canvas"].getBoundingClientRect(); - var cw = Module["canvas"].width; - var ch = Module["canvas"].height; - - // Neither .scrollX or .pageXOffset are defined in a spec, but - // we prefer .scrollX because it is currently in a spec draft. - // (see: http://www.w3.org/TR/2013/WD-cssom-view-20131217/) - var scrollX = ((typeof window.scrollX !== 'undefined') ? window.scrollX : window.pageXOffset); - var scrollY = ((typeof window.scrollY !== 'undefined') ? window.scrollY : window.pageYOffset); - - if (event.type === 'touchstart' || event.type === 'touchend' || event.type === 'touchmove') { - var touch = event.touch; - if (touch === undefined) { - return; // the "touch" property is only defined in SDL - - } - var adjustedX = touch.pageX - (scrollX + rect.left); - var adjustedY = touch.pageY - (scrollY + rect.top); - - adjustedX = adjustedX * (cw / rect.width); - adjustedY = adjustedY * (ch / rect.height); - - var coords = { x: adjustedX, y: adjustedY }; - - if (event.type === 'touchstart') { - Browser.lastTouches[touch.identifier] = coords; - Browser.touches[touch.identifier] = coords; - } else if (event.type === 'touchend' || event.type === 'touchmove') { - var last = Browser.touches[touch.identifier]; - if (!last) last = coords; - Browser.lastTouches[touch.identifier] = last; - Browser.touches[touch.identifier] = coords; - } - return; - } - - var x = event.pageX - (scrollX + rect.left); - var y = event.pageY - (scrollY + rect.top); - - // the canvas might be CSS-scaled compared to its backbuffer; - // SDL-using content will want mouse coordinates in terms - // of backbuffer units. - x = x * (cw / rect.width); - y = y * (ch / rect.height); - - Browser.mouseMovementX = x - Browser.mouseX; - Browser.mouseMovementY = y - Browser.mouseY; - Browser.mouseX = x; - Browser.mouseY = y; - } - },xhrLoad:function (url, onload, onerror) { - var xhr = new XMLHttpRequest(); - xhr.open('GET', url, true); - xhr.responseType = 'arraybuffer'; - xhr.onload = function xhr_onload() { - if (xhr.status == 200 || (xhr.status == 0 && xhr.response)) { // file URLs can return 0 - onload(xhr.response); - } else { - onerror(); - } - }; - xhr.onerror = onerror; - xhr.send(null); - },asyncLoad:function (url, onload, onerror, noRunDep) { - Browser.xhrLoad(url, function(arrayBuffer) { - assert(arrayBuffer, 'Loading data file "' + url + '" failed (no arrayBuffer).'); - onload(new Uint8Array(arrayBuffer)); - if (!noRunDep) removeRunDependency('al ' + url); - }, function(event) { - if (onerror) { - onerror(); - } else { - throw 'Loading data file "' + url + '" failed.'; - } - }); - if (!noRunDep) addRunDependency('al ' + url); - },resizeListeners:[],updateResizeListeners:function () { - var canvas = Module['canvas']; - Browser.resizeListeners.forEach(function(listener) { - listener(canvas.width, canvas.height); - }); - },setCanvasSize:function (width, height, noUpdates) { - var canvas = Module['canvas']; - Browser.updateCanvasDimensions(canvas, width, height); - if (!noUpdates) Browser.updateResizeListeners(); - },windowedWidth:0,windowedHeight:0,setFullScreenCanvasSize:function () { - // check if SDL is available - if (typeof SDL != "undefined") { - var flags = HEAPU32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)]; - flags = flags | 0x00800000; // set SDL_FULLSCREEN flag - HEAP32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)]=flags - } - Browser.updateResizeListeners(); - },setWindowedCanvasSize:function () { - // check if SDL is available - if (typeof SDL != "undefined") { - var flags = HEAPU32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)]; - flags = flags & ~0x00800000; // clear SDL_FULLSCREEN flag - HEAP32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)]=flags - } - Browser.updateResizeListeners(); - },updateCanvasDimensions:function (canvas, wNative, hNative) { - if (wNative && hNative) { - canvas.widthNative = wNative; - canvas.heightNative = hNative; - } else { - wNative = canvas.widthNative; - hNative = canvas.heightNative; - } - var w = wNative; - var h = hNative; - if (Module['forcedAspectRatio'] && Module['forcedAspectRatio'] > 0) { - if (w/h < Module['forcedAspectRatio']) { - w = Math.round(h * Module['forcedAspectRatio']); - } else { - h = Math.round(w / Module['forcedAspectRatio']); - } - } - if (((document['webkitFullScreenElement'] || document['webkitFullscreenElement'] || - document['mozFullScreenElement'] || document['mozFullscreenElement'] || - document['fullScreenElement'] || document['fullscreenElement'] || - document['msFullScreenElement'] || document['msFullscreenElement'] || - document['webkitCurrentFullScreenElement']) === canvas.parentNode) && (typeof screen != 'undefined')) { - var factor = Math.min(screen.width / w, screen.height / h); - w = Math.round(w * factor); - h = Math.round(h * factor); - } - if (Browser.resizeCanvas) { - if (canvas.width != w) canvas.width = w; - if (canvas.height != h) canvas.height = h; - if (typeof canvas.style != 'undefined') { - canvas.style.removeProperty( "width"); - canvas.style.removeProperty("height"); - } - } else { - if (canvas.width != wNative) canvas.width = wNative; - if (canvas.height != hNative) canvas.height = hNative; - if (typeof canvas.style != 'undefined') { - if (w != wNative || h != hNative) { - canvas.style.setProperty( "width", w + "px", "important"); - canvas.style.setProperty("height", h + "px", "important"); - } else { - canvas.style.removeProperty( "width"); - canvas.style.removeProperty("height"); - } - } - } - },wgetRequests:{},nextWgetRequestHandle:0,getNextWgetRequestHandle:function () { - var handle = Browser.nextWgetRequestHandle; - Browser.nextWgetRequestHandle++; - return handle; - }};var AL={contexts:[],currentContext:null,alcErr:0,stringCache:{},alcStringCache:{},QUEUE_INTERVAL:25,QUEUE_LOOKAHEAD:100,newSrcId:1,updateSources:function updateSources(context) { + var AL={contexts:[],currentContext:null,alcErr:0,stringCache:{},alcStringCache:{},QUEUE_INTERVAL:25,QUEUE_LOOKAHEAD:100,newSrcId:1,updateSources:function updateSources(context) { // If we are animating using the requestAnimationFrame method, then the main loop does not run when in the background. // To give a perfect glitch-free audio stop when switching from foreground to background, we need to avoid updating // audio altogether when in the background, so detect that case and kill audio buffer streaming if so. @@ -6433,18 +6677,23 @@ function copyTempDouble(ptr) { AL.updateSource(context.src[srcId]); } },updateSource:function updateSource(src) { + // See comment on updateSources above. + if (Browser.mainLoop.timingMode == 1/*EM_TIMING_RAF*/ && document['visibilityState'] != 'visible') return; + if (src.state !== 0x1012 /* AL_PLAYING */) { return; } - var currentTime = AL.currentContext.ctx.currentTime; + var currentTime = src.context.ctx.currentTime; var startTime = src.bufferPosition; for (var i = src.buffersPlayed; i < src.queue.length; i++) { var entry = src.queue[i]; - var startOffset = startTime - currentTime; - var endTime = startTime + entry.buffer.duration; + var startOffset = (startTime - currentTime) / src.playbackRate; + var endTime; + if (entry.src) endTime = startTime + entry.src.duration; // n.b. entry.src.duration already factors in playbackRate, so no divide by src.playbackRate on it. + else endTime = startTime + entry.buffer.duration / src.playbackRate; // Clean up old buffers. if (currentTime >= endTime) { @@ -6466,9 +6715,11 @@ function copyTempDouble(ptr) { // If the start offset is negative, we need to offset the actual buffer. var offset = Math.abs(Math.min(startOffset, 0)); - entry.src = AL.currentContext.ctx.createBufferSource(); + entry.src = src.context.ctx.createBufferSource(); entry.src.buffer = entry.buffer; entry.src.connect(src.gain); + if (src.playbackRate != 1.0) entry.src.playbackRate.value = src.playbackRate; + entry.src.duration = entry.buffer.duration / src.playbackRate; if (typeof(entry.src.start) !== 'undefined') { entry.src.start(startTime, offset); } else if (typeof(entry.src.noteOn) !== 'undefined') { @@ -6529,212 +6780,16 @@ function copyTempDouble(ptr) { return 0; } - function _emscripten_glViewport(x0, x1, x2, x3) { GLctx.viewport(x0, x1, x2, x3) } + function _emscripten_glViewport(x0, x1, x2, x3) { GLctx['viewport'](x0, x1, x2, x3) } - function _emscripten_memcpy_big(dest, src, num) { - HEAPU8.set(HEAPU8.subarray(src, src+num), dest); - return dest; - } - Module["_memcpy"] = _memcpy; - - var _llvm_pow_f64=Math_pow; - - function _emscripten_glCopyTexImage2D(x0, x1, x2, x3, x4, x5, x6, x7) { GLctx.copyTexImage2D(x0, x1, x2, x3, x4, x5, x6, x7) } - - function _alcGetString(device, param) { - if (AL.alcStringCache[param]) return AL.alcStringCache[param]; - var ret; - switch (param) { - case 0 /* ALC_NO_ERROR */: - ret = 'No Error'; - break; - case 0xA001 /* ALC_INVALID_DEVICE */: - ret = 'Invalid Device'; - break; - case 0xA002 /* ALC_INVALID_CONTEXT */: - ret = 'Invalid Context'; - break; - case 0xA003 /* ALC_INVALID_ENUM */: - ret = 'Invalid Enum'; - break; - case 0xA004 /* ALC_INVALID_VALUE */: - ret = 'Invalid Value'; - break; - case 0xA005 /* ALC_OUT_OF_MEMORY */: - ret = 'Out of Memory'; - break; - case 0x1004 /* ALC_DEFAULT_DEVICE_SPECIFIER */: - if (typeof(AudioContext) !== "undefined" || - typeof(webkitAudioContext) !== "undefined") { - ret = 'Device'; - } else { - return 0; + + var JSEvents={keyEvent:0,mouseEvent:0,wheelEvent:0,uiEvent:0,focusEvent:0,deviceOrientationEvent:0,deviceMotionEvent:0,fullscreenChangeEvent:0,pointerlockChangeEvent:0,visibilityChangeEvent:0,touchEvent:0,lastGamepadState:null,lastGamepadStateFrame:null,numGamepadsConnected:0,previousFullscreenElement:null,previousScreenX:null,previousScreenY:null,removeEventListenersRegistered:false,staticInit:function () { + if (typeof window !== 'undefined') { + window.addEventListener("gamepadconnected", function() { ++JSEvents.numGamepadsConnected; }); + window.addEventListener("gamepaddisconnected", function() { --JSEvents.numGamepadsConnected; }); } - break; - case 0x1005 /* ALC_DEVICE_SPECIFIER */: - if (typeof(AudioContext) !== "undefined" || - typeof(webkitAudioContext) !== "undefined") { - ret = 'Device\0'; - } else { - ret = '\0'; - } - break; - case 0x311 /* ALC_CAPTURE_DEFAULT_DEVICE_SPECIFIER */: - return 0; - break; - case 0x310 /* ALC_CAPTURE_DEVICE_SPECIFIER */: - ret = '\0' - break; - case 0x1006 /* ALC_EXTENSIONS */: - if (!device) { - AL.alcErr = 0xA001 /* ALC_INVALID_DEVICE */; - return 0; - } - ret = ''; - break; - default: - AL.alcErr = 0xA003 /* ALC_INVALID_ENUM */; - return 0; - } - - ret = allocate(intArrayFromString(ret), 'i8', ALLOC_NORMAL); - - AL.alcStringCache[param] = ret; - - return ret; - } - - function _emscripten_glTexParameterfv(target, pname, params) { - var param = HEAPF32[((params)>>2)]; - GLctx.texParameterf(target, pname, param); - } - - function _emscripten_glLinkProgram(program) { - GLctx.linkProgram(GL.programs[program]); - GL.programInfos[program] = null; // uniforms no longer keep the same names after linking - GL.populateUniformTable(program); - } - - function _emscripten_glUniform3f(location, v0, v1, v2) { - location = GL.uniforms[location]; - GLctx.uniform3f(location, v0, v1, v2); - } - - function _emscripten_glGetObjectParameterivARB() { - Module['printErr']('missing function: emscripten_glGetObjectParameterivARB'); abort(-1); - } - - function _emscripten_glBlendFunc(x0, x1) { GLctx.blendFunc(x0, x1) } - - function _emscripten_glUniform3i(location, v0, v1, v2) { - location = GL.uniforms[location]; - GLctx.uniform3i(location, v0, v1, v2); - } - - function _emscripten_glStencilOp(x0, x1, x2) { GLctx.stencilOp(x0, x1, x2) } - - function _glCreateShader(shaderType) { - var id = GL.getNewId(GL.shaders); - GL.shaders[id] = GLctx.createShader(shaderType); - return id; - } - - function _glUniform1i(location, v0) { - location = GL.uniforms[location]; - GLctx.uniform1i(location, v0); - } - - function _emscripten_glBindAttribLocation(program, index, name) { - name = Pointer_stringify(name); - GLctx.bindAttribLocation(GL.programs[program], index, name); - } - - var _cosf=Math_cos; - - function _glCompressedTexImage2D(target, level, internalFormat, width, height, border, imageSize, data) { - var heapView; - if (data) { - heapView = HEAPU8.subarray((data),(data+imageSize)); - } else { - heapView = null; - } - GLctx['compressedTexImage2D'](target, level, internalFormat, width, height, border, heapView); - } - - function _emscripten_glEnableVertexAttribArray(index) { - GLctx.enableVertexAttribArray(index); - } - - - Module["_memset"] = _memset; - - var _BDtoILow=true; - - function _alDeleteBuffers(count, buffers) - { - if (!AL.currentContext) { - return; - } - if (count > AL.currentContext.buf.length) { - AL.currentContext.err = 0xA003 /* AL_INVALID_VALUE */; - return; - } - - for (var i = 0; i < count; ++i) { - var bufferIdx = HEAP32[(((buffers)+(i*4))>>2)] - 1; - - // Make sure the buffer index is valid. - if (bufferIdx >= AL.currentContext.buf.length || !AL.currentContext.buf[bufferIdx]) { - AL.currentContext.err = 0xA001 /* AL_INVALID_NAME */; - return; - } - - // Make sure the buffer is no longer in use. - var buffer = AL.currentContext.buf[bufferIdx]; - for (var srcId in AL.currentContext.src) { - var src = AL.currentContext.src[srcId]; - if (!src) { - continue; - } - for (var k = 0; k < src.queue.length; k++) { - if (buffer === src.queue[k].buffer) { - AL.currentContext.err = 0xA004 /* AL_INVALID_OPERATION */; - return; - } - } - } - } - - for (var i = 0; i < count; ++i) { - var bufferIdx = HEAP32[(((buffers)+(i*4))>>2)] - 1; - delete AL.currentContext.buf[bufferIdx]; - } - } - - function _alListener3f(param, v1, v2, v3) { - if (!AL.currentContext) { - return; - } - switch (param) { - case 0x1004 /* AL_POSITION */: - AL.currentContext.ctx.listener._position = [v1, v2, v3]; - AL.currentContext.ctx.listener.setPosition(v1, v2, v3); - break; - case 0x1006 /* AL_VELOCITY */: - AL.currentContext.ctx.listener._velocity = [v1, v2, v3]; - AL.currentContext.ctx.listener.setVelocity(v1, v2, v3); - break; - default: - AL.currentContext.err = 0xA002 /* AL_INVALID_ENUM */; - break; - } - } - - function _glfwMakeContextCurrent(winid) {} - - - var JSEvents={keyEvent:0,mouseEvent:0,wheelEvent:0,uiEvent:0,focusEvent:0,deviceOrientationEvent:0,deviceMotionEvent:0,fullscreenChangeEvent:0,pointerlockChangeEvent:0,visibilityChangeEvent:0,touchEvent:0,previousFullscreenElement:null,previousScreenX:null,previousScreenY:null,removeEventListenersRegistered:false,registerRemoveEventListeners:function () { + },registerRemoveEventListeners:function () { if (!JSEvents.removeEventListenersRegistered) { __ATEXIT__.push(function() { for(var i = JSEvents.eventHandlers.length-1; i >= 0; --i) { @@ -6848,20 +6903,20 @@ function copyTempDouble(ptr) { } var handlerFunc = function(event) { var e = event || window.event; - writeStringToMemory(e.key ? e.key : "", JSEvents.keyEvent + 0 ); - writeStringToMemory(e.code ? e.code : "", JSEvents.keyEvent + 32 ); + stringToUTF8(e.key ? e.key : "", JSEvents.keyEvent + 0, 32); + stringToUTF8(e.code ? e.code : "", JSEvents.keyEvent + 32, 32); HEAP32[(((JSEvents.keyEvent)+(64))>>2)]=e.location; HEAP32[(((JSEvents.keyEvent)+(68))>>2)]=e.ctrlKey; HEAP32[(((JSEvents.keyEvent)+(72))>>2)]=e.shiftKey; HEAP32[(((JSEvents.keyEvent)+(76))>>2)]=e.altKey; HEAP32[(((JSEvents.keyEvent)+(80))>>2)]=e.metaKey; HEAP32[(((JSEvents.keyEvent)+(84))>>2)]=e.repeat; - writeStringToMemory(e.locale ? e.locale : "", JSEvents.keyEvent + 88 ); - writeStringToMemory(e.char ? e.char : "", JSEvents.keyEvent + 120 ); + stringToUTF8(e.locale ? e.locale : "", JSEvents.keyEvent + 88, 32); + stringToUTF8(e.char ? e.char : "", JSEvents.keyEvent + 120, 32); HEAP32[(((JSEvents.keyEvent)+(152))>>2)]=e.charCode; HEAP32[(((JSEvents.keyEvent)+(156))>>2)]=e.keyCode; HEAP32[(((JSEvents.keyEvent)+(160))>>2)]=e.which; - var shouldCancel = Runtime.dynCall('iiii', callbackfunc, [eventTypeId, JSEvents.keyEvent, userData]); + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.keyEvent, userData); if (shouldCancel) { e.preventDefault(); } @@ -6909,8 +6964,13 @@ function copyTempDouble(ptr) { HEAP32[(((eventStruct)+(52))>>2)]=0; HEAP32[(((eventStruct)+(56))>>2)]=0; } - JSEvents.previousScreenX = e.screenX; - JSEvents.previousScreenY = e.screenY; + // wheel and mousewheel events contain wrong screenX/screenY on chrome/opera + // https://github.com/kripken/emscripten/pull/4997 + // https://bugs.chromium.org/p/chromium/issues/detail?id=699956 + if (e.type !== 'wheel' && e.type !== 'mousewheel') { + JSEvents.previousScreenX = e.screenX; + JSEvents.previousScreenY = e.screenY; + } },registerMouseEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { if (!JSEvents.mouseEvent) { JSEvents.mouseEvent = _malloc( 72 ); @@ -6919,7 +6979,7 @@ function copyTempDouble(ptr) { var handlerFunc = function(event) { var e = event || window.event; JSEvents.fillMouseEventData(JSEvents.mouseEvent, e, target); - var shouldCancel = Runtime.dynCall('iiii', callbackfunc, [eventTypeId, JSEvents.mouseEvent, userData]); + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.mouseEvent, userData); if (shouldCancel) { e.preventDefault(); } @@ -6949,7 +7009,7 @@ function copyTempDouble(ptr) { HEAPF64[(((JSEvents.wheelEvent)+(80))>>3)]=e["deltaY"]; HEAPF64[(((JSEvents.wheelEvent)+(88))>>3)]=e["deltaZ"]; HEAP32[(((JSEvents.wheelEvent)+(96))>>2)]=e["deltaMode"]; - var shouldCancel = Runtime.dynCall('iiii', callbackfunc, [eventTypeId, JSEvents.wheelEvent, userData]); + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.wheelEvent, userData); if (shouldCancel) { e.preventDefault(); } @@ -6958,11 +7018,11 @@ function copyTempDouble(ptr) { var mouseWheelHandlerFunc = function(event) { var e = event || window.event; JSEvents.fillMouseEventData(JSEvents.wheelEvent, e, target); - HEAPF64[(((JSEvents.wheelEvent)+(72))>>3)]=e["wheelDeltaX"]; - HEAPF64[(((JSEvents.wheelEvent)+(80))>>3)]=-e["wheelDeltaY"] /* Invert to unify direction with the DOM Level 3 wheel event. */; + HEAPF64[(((JSEvents.wheelEvent)+(72))>>3)]=e["wheelDeltaX"] || 0; + HEAPF64[(((JSEvents.wheelEvent)+(80))>>3)]=-(e["wheelDeltaY"] ? e["wheelDeltaY"] : e["wheelDelta"]) /* 1. Invert to unify direction with the DOM Level 3 wheel event. 2. MSIE does not provide wheelDeltaY, so wheelDelta is used as a fallback. */; HEAPF64[(((JSEvents.wheelEvent)+(88))>>3)]=0 /* Not available */; HEAP32[(((JSEvents.wheelEvent)+(96))>>2)]=0 /* DOM_DELTA_PIXEL */; - var shouldCancel = Runtime.dynCall('iiii', callbackfunc, [eventTypeId, JSEvents.wheelEvent, userData]); + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.wheelEvent, userData); if (shouldCancel) { e.preventDefault(); } @@ -7015,7 +7075,7 @@ function copyTempDouble(ptr) { HEAP32[(((JSEvents.uiEvent)+(24))>>2)]=window.outerHeight; HEAP32[(((JSEvents.uiEvent)+(28))>>2)]=scrollPos[0]; HEAP32[(((JSEvents.uiEvent)+(32))>>2)]=scrollPos[1]; - var shouldCancel = Runtime.dynCall('iiii', callbackfunc, [eventTypeId, JSEvents.uiEvent, userData]); + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.uiEvent, userData); if (shouldCancel) { e.preventDefault(); } @@ -7044,9 +7104,9 @@ function copyTempDouble(ptr) { var nodeName = JSEvents.getNodeNameForTarget(e.target); var id = e.target.id ? e.target.id : ''; - writeStringToMemory(nodeName, JSEvents.focusEvent + 0 ); - writeStringToMemory(id, JSEvents.focusEvent + 128 ); - var shouldCancel = Runtime.dynCall('iiii', callbackfunc, [eventTypeId, JSEvents.focusEvent, userData]); + stringToUTF8(nodeName, JSEvents.focusEvent + 0, 128); + stringToUTF8(id, JSEvents.focusEvent + 128, 128); + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.focusEvent, userData); if (shouldCancel) { e.preventDefault(); } @@ -7077,7 +7137,7 @@ function copyTempDouble(ptr) { HEAPF64[(((JSEvents.deviceOrientationEvent)+(24))>>3)]=e.gamma; HEAP32[(((JSEvents.deviceOrientationEvent)+(32))>>2)]=e.absolute; - var shouldCancel = Runtime.dynCall('iiii', callbackfunc, [eventTypeId, JSEvents.deviceOrientationEvent, userData]); + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.deviceOrientationEvent, userData); if (shouldCancel) { e.preventDefault(); } @@ -7110,7 +7170,7 @@ function copyTempDouble(ptr) { HEAPF64[(((JSEvents.deviceMotionEvent)+(64))>>3)]=e.rotationRate.beta; HEAPF64[(((JSEvents.deviceMotionEvent)+(72))>>3)]=e.rotationRate.gamma; - var shouldCancel = Runtime.dynCall('iiii', callbackfunc, [eventTypeId, JSEvents.deviceMotionEvent, userData]); + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.deviceMotionEvent, userData); if (shouldCancel) { e.preventDefault(); } @@ -7156,7 +7216,7 @@ function copyTempDouble(ptr) { JSEvents.fillOrientationChangeEventData(JSEvents.orientationChangeEvent, e); - var shouldCancel = Runtime.dynCall('iiii', callbackfunc, [eventTypeId, JSEvents.orientationChangeEvent, userData]); + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.orientationChangeEvent, userData); if (shouldCancel) { e.preventDefault(); } @@ -7176,7 +7236,7 @@ function copyTempDouble(ptr) { }; JSEvents.registerOrRemoveHandler(eventHandler); },fullscreenEnabled:function () { - return document.fullscreenEnabled || document.mozFullscreenEnabled || document.mozFullScreenEnabled || document.webkitFullscreenEnabled || document.msFullscreenEnabled; + return document.fullscreenEnabled || document.mozFullScreenEnabled || document.webkitFullscreenEnabled || document.msFullscreenEnabled; },fillFullscreenChangeEventData:function (eventStruct, e) { var fullscreenElement = document.fullscreenElement || document.mozFullScreenElement || document.webkitFullscreenElement || document.msFullscreenElement; var isFullscreen = !!fullscreenElement; @@ -7187,8 +7247,8 @@ function copyTempDouble(ptr) { var reportedElement = isFullscreen ? fullscreenElement : JSEvents.previousFullscreenElement; var nodeName = JSEvents.getNodeNameForTarget(reportedElement); var id = (reportedElement && reportedElement.id) ? reportedElement.id : ''; - writeStringToMemory(nodeName, eventStruct + 8 ); - writeStringToMemory(id, eventStruct + 136 ); + stringToUTF8(nodeName, eventStruct + 8, 128); + stringToUTF8(id, eventStruct + 136, 128); HEAP32[(((eventStruct)+(264))>>2)]=reportedElement ? reportedElement.clientWidth : 0; HEAP32[(((eventStruct)+(268))>>2)]=reportedElement ? reportedElement.clientHeight : 0; HEAP32[(((eventStruct)+(272))>>2)]=screen.width; @@ -7212,7 +7272,7 @@ function copyTempDouble(ptr) { JSEvents.fillFullscreenChangeEventData(JSEvents.fullscreenChangeEvent, e); - var shouldCancel = Runtime.dynCall('iiii', callbackfunc, [eventTypeId, JSEvents.fullscreenChangeEvent, userData]); + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.fullscreenChangeEvent, userData); if (shouldCancel) { e.preventDefault(); } @@ -7305,7 +7365,7 @@ function copyTempDouble(ptr) { } if (strategy.canvasResizedCallback) { - Runtime.dynCall('iiii', strategy.canvasResizedCallback, [37, 0, strategy.canvasResizedCallbackUserData]); + Module['dynCall_iiii'](strategy.canvasResizedCallback, 37, 0, strategy.canvasResizedCallbackUserData); } return 0; @@ -7315,8 +7375,8 @@ function copyTempDouble(ptr) { HEAP32[((eventStruct)>>2)]=isPointerlocked; var nodeName = JSEvents.getNodeNameForTarget(pointerLockElement); var id = (pointerLockElement && pointerLockElement.id) ? pointerLockElement.id : ''; - writeStringToMemory(nodeName, eventStruct + 4 ); - writeStringToMemory(id, eventStruct + 132); + stringToUTF8(nodeName, eventStruct + 4, 128); + stringToUTF8(id, eventStruct + 132, 128); },registerPointerlockChangeEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { if (!JSEvents.pointerlockChangeEvent) { JSEvents.pointerlockChangeEvent = _malloc( 260 ); @@ -7333,7 +7393,32 @@ function copyTempDouble(ptr) { JSEvents.fillPointerlockChangeEventData(JSEvents.pointerlockChangeEvent, e); - var shouldCancel = Runtime.dynCall('iiii', callbackfunc, [eventTypeId, JSEvents.pointerlockChangeEvent, userData]); + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.pointerlockChangeEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: target, + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },registerPointerlockErrorEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!target) { + target = document; // Pointer lock events need to be captured from 'document' by default instead of 'window' + } else { + target = JSEvents.findEventTarget(target); + } + + var handlerFunc = function(event) { + var e = event || window.event; + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, 0, userData); if (shouldCancel) { e.preventDefault(); } @@ -7389,7 +7474,7 @@ function copyTempDouble(ptr) { JSEvents.fillVisibilityChangeEventData(JSEvents.visibilityChangeEvent, e); - var shouldCancel = Runtime.dynCall('iiii', callbackfunc, [eventTypeId, JSEvents.visibilityChangeEvent, userData]); + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.visibilityChangeEvent, userData); if (shouldCancel) { e.preventDefault(); } @@ -7467,7 +7552,7 @@ function copyTempDouble(ptr) { } HEAP32[((JSEvents.touchEvent)>>2)]=numTouches; - var shouldCancel = Runtime.dynCall('iiii', callbackfunc, [eventTypeId, JSEvents.touchEvent, userData]); + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.touchEvent, userData); if (shouldCancel) { e.preventDefault(); } @@ -7507,8 +7592,8 @@ function copyTempDouble(ptr) { HEAP32[(((eventStruct)+(1300))>>2)]=e.index; HEAP32[(((eventStruct)+(8))>>2)]=e.axes.length; HEAP32[(((eventStruct)+(12))>>2)]=e.buttons.length; - writeStringToMemory(e.id, eventStruct + 1304 ); - writeStringToMemory(e.mapping, eventStruct + 1368 ); + stringToUTF8(e.id, eventStruct + 1304, 64); + stringToUTF8(e.mapping, eventStruct + 1368, 64); },registerGamepadEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { if (!JSEvents.gamepadEvent) { JSEvents.gamepadEvent = _malloc( 1432 ); @@ -7519,7 +7604,7 @@ function copyTempDouble(ptr) { JSEvents.fillGamepadEventData(JSEvents.gamepadEvent, e.gamepad); - var shouldCancel = Runtime.dynCall('iiii', callbackfunc, [eventTypeId, JSEvents.gamepadEvent, userData]); + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.gamepadEvent, userData); if (shouldCancel) { e.preventDefault(); } @@ -7538,7 +7623,7 @@ function copyTempDouble(ptr) { var handlerFunc = function(event) { var e = event || window.event; - var confirmationMessage = Runtime.dynCall('iiii', callbackfunc, [eventTypeId, 0, userData]); + var confirmationMessage = Module['dynCall_iiii'](callbackfunc, eventTypeId, 0, userData); if (confirmationMessage) { confirmationMessage = Pointer_stringify(confirmationMessage); @@ -7574,7 +7659,7 @@ function copyTempDouble(ptr) { JSEvents.fillBatteryEventData(JSEvents.batteryEvent, JSEvents.battery()); - var shouldCancel = Runtime.dynCall('iiii', callbackfunc, [eventTypeId, JSEvents.batteryEvent, userData]); + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.batteryEvent, userData); if (shouldCancel) { e.preventDefault(); } @@ -7596,7 +7681,7 @@ function copyTempDouble(ptr) { var handlerFunc = function(event) { var e = event || window.event; - var shouldCancel = Runtime.dynCall('iiii', callbackfunc, [eventTypeId, 0, userData]); + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, 0, userData); if (shouldCancel) { e.preventDefault(); } @@ -7611,18 +7696,232 @@ function copyTempDouble(ptr) { useCapture: useCapture }; JSEvents.registerOrRemoveHandler(eventHandler); - }};function _emscripten_set_touchcancel_callback(target, userData, useCapture, callbackfunc) { + }};function __emscripten_sample_gamepad_data() { + // Polling gamepads generates garbage, so don't do it when we know there are no gamepads connected. + if (!JSEvents.numGamepadsConnected) return; + + // Produce a new Gamepad API sample if we are ticking a new game frame, or if not using emscripten_set_main_loop() at all to drive animation. + if (Browser.mainLoop.currentFrameNumber !== JSEvents.lastGamepadStateFrame || !Browser.mainLoop.currentFrameNumber) { + JSEvents.lastGamepadState = navigator.getGamepads ? navigator.getGamepads() : (navigator.webkitGetGamepads ? navigator.webkitGetGamepads : null); + JSEvents.lastGamepadStateFrame = Browser.mainLoop.currentFrameNumber; + } + }function _emscripten_get_gamepad_status(index, gamepadState) { + __emscripten_sample_gamepad_data(); + if (!JSEvents.lastGamepadState) return -1; + + // INVALID_PARAM is returned on a Gamepad index that never was there. + if (index < 0 || index >= JSEvents.lastGamepadState.length) return -5; + + // NO_DATA is returned on a Gamepad index that was removed. + // For previously disconnected gamepads there should be an empty slot (null/undefined/false) at the index. + // This is because gamepads must keep their original position in the array. + // For example, removing the first of two gamepads produces [null/undefined/false, gamepad]. + if (!JSEvents.lastGamepadState[index]) return -7; + + JSEvents.fillGamepadEventData(gamepadState, JSEvents.lastGamepadState[index]); + return 0; + } + + var _llvm_pow_f64=Math_pow; + + function _emscripten_glCopyTexImage2D(x0, x1, x2, x3, x4, x5, x6, x7) { GLctx['copyTexImage2D'](x0, x1, x2, x3, x4, x5, x6, x7) } + + function _alcGetString(device, param) { + if (AL.alcStringCache[param]) return AL.alcStringCache[param]; + var ret; + switch (param) { + case 0 /* ALC_NO_ERROR */: + ret = 'No Error'; + break; + case 0xA001 /* ALC_INVALID_DEVICE */: + ret = 'Invalid Device'; + break; + case 0xA002 /* ALC_INVALID_CONTEXT */: + ret = 'Invalid Context'; + break; + case 0xA003 /* ALC_INVALID_ENUM */: + ret = 'Invalid Enum'; + break; + case 0xA004 /* ALC_INVALID_VALUE */: + ret = 'Invalid Value'; + break; + case 0xA005 /* ALC_OUT_OF_MEMORY */: + ret = 'Out of Memory'; + break; + case 0x1004 /* ALC_DEFAULT_DEVICE_SPECIFIER */: + if (typeof(AudioContext) !== "undefined" || + typeof(webkitAudioContext) !== "undefined") { + ret = 'Device'; + } else { + return 0; + } + break; + case 0x1005 /* ALC_DEVICE_SPECIFIER */: + if (typeof(AudioContext) !== "undefined" || + typeof(webkitAudioContext) !== "undefined") { + ret = 'Device\0'; + } else { + ret = '\0'; + } + break; + case 0x311 /* ALC_CAPTURE_DEFAULT_DEVICE_SPECIFIER */: + return 0; + break; + case 0x310 /* ALC_CAPTURE_DEVICE_SPECIFIER */: + ret = '\0' + break; + case 0x1006 /* ALC_EXTENSIONS */: + if (!device) { + AL.alcErr = 0xA001 /* ALC_INVALID_DEVICE */; + return 0; + } + ret = ''; + break; + default: + AL.alcErr = 0xA003 /* ALC_INVALID_ENUM */; + return 0; + } + + ret = allocate(intArrayFromString(ret), 'i8', ALLOC_NORMAL); + + AL.alcStringCache[param] = ret; + + return ret; + } + + function _emscripten_glTexParameterfv(target, pname, params) { + var param = HEAPF32[((params)>>2)]; + GLctx.texParameterf(target, pname, param); + } + + function _emscripten_glLinkProgram(program) { + GLctx.linkProgram(GL.programs[program]); + GL.programInfos[program] = null; // uniforms no longer keep the same names after linking + GL.populateUniformTable(program); + } + + function _emscripten_glUniform3f(location, v0, v1, v2) { + GLctx.uniform3f(GL.uniforms[location], v0, v1, v2); + } + + function _emscripten_glGetObjectParameterivARB() { + Module['printErr']('missing function: emscripten_glGetObjectParameterivARB'); abort(-1); + } + + function _emscripten_glBlendFunc(x0, x1) { GLctx['blendFunc'](x0, x1) } + + function _emscripten_glUniform3i(location, v0, v1, v2) { + GLctx.uniform3i(GL.uniforms[location], v0, v1, v2); + } + + function _emscripten_glStencilOp(x0, x1, x2) { GLctx['stencilOp'](x0, x1, x2) } + + function _glCreateShader(shaderType) { + var id = GL.getNewId(GL.shaders); + GL.shaders[id] = GLctx.createShader(shaderType); + return id; + } + + function _glUniform1i(location, v0) { + GLctx.uniform1i(GL.uniforms[location], v0); + } + + function _emscripten_glBindAttribLocation(program, index, name) { + name = Pointer_stringify(name); + GLctx.bindAttribLocation(GL.programs[program], index, name); + } + + function _glCompressedTexImage2D(target, level, internalFormat, width, height, border, imageSize, data) { + GLctx['compressedTexImage2D'](target, level, internalFormat, width, height, border, data ? HEAPU8.subarray((data),(data+imageSize)) : null); + } + + function _glDisable(x0) { GLctx['disable'](x0) } + + function _emscripten_glEnableVertexAttribArray(index) { + GLctx.enableVertexAttribArray(index); + } + + + Module["_memset"] = _memset; + + function _alDeleteBuffers(count, buffers) + { + if (!AL.currentContext) { + return; + } + if (count > AL.currentContext.buf.length) { + AL.currentContext.err = 0xA003 /* AL_INVALID_VALUE */; + return; + } + + for (var i = 0; i < count; ++i) { + var bufferIdx = HEAP32[(((buffers)+(i*4))>>2)] - 1; + + // Make sure the buffer index is valid. + if (bufferIdx >= AL.currentContext.buf.length || !AL.currentContext.buf[bufferIdx]) { + AL.currentContext.err = 0xA001 /* AL_INVALID_NAME */; + return; + } + + // Make sure the buffer is no longer in use. + var buffer = AL.currentContext.buf[bufferIdx]; + for (var srcId in AL.currentContext.src) { + var src = AL.currentContext.src[srcId]; + if (!src) { + continue; + } + for (var k = 0; k < src.queue.length; k++) { + if (buffer === src.queue[k].buffer) { + AL.currentContext.err = 0xA004 /* AL_INVALID_OPERATION */; + return; + } + } + } + } + + for (var i = 0; i < count; ++i) { + var bufferIdx = HEAP32[(((buffers)+(i*4))>>2)] - 1; + delete AL.currentContext.buf[bufferIdx]; + } + } + + function _alListener3f(param, v1, v2, v3) { + if (!AL.currentContext) { + return; + } + switch (param) { + case 0x1004 /* AL_POSITION */: + AL.currentContext.ctx.listener._position[0] = v1; + AL.currentContext.ctx.listener._position[1] = v2; + AL.currentContext.ctx.listener._position[2] = v3; + AL.currentContext.ctx.listener.setPosition(v1, v2, v3); + break; + case 0x1006 /* AL_VELOCITY */: + AL.currentContext.ctx.listener._velocity[0] = v1; + AL.currentContext.ctx.listener._velocity[1] = v2; + AL.currentContext.ctx.listener._velocity[2] = v3; + // TODO: The velocity values are not currently used to implement a doppler effect. + // If support for doppler effect is reintroduced, compute the doppler + // speed pitch factor and apply it here. + break; + default: + AL.currentContext.err = 0xA002 /* AL_INVALID_ENUM */; + break; + } + } + + function _glfwMakeContextCurrent(winid) {} + + function _emscripten_set_touchcancel_callback(target, userData, useCapture, callbackfunc) { JSEvents.registerTouchEventCallback(target, userData, useCapture, callbackfunc, 25, "touchcancel"); return 0; } - function _glBindFramebuffer(target, framebuffer) { - GLctx.bindFramebuffer(target, framebuffer ? GL.framebuffers[framebuffer] : null); - } - function ___lock() {} - function _emscripten_glBlendFuncSeparate(x0, x1, x2, x3) { GLctx.blendFuncSeparate(x0, x1, x2, x3) } + function _emscripten_glBlendFuncSeparate(x0, x1, x2, x3) { GLctx['blendFuncSeparate'](x0, x1, x2, x3) } + + function _glCullFace(x0) { GLctx['cullFace'](x0) } function _emscripten_glGetVertexAttribPointerv(index, pname, pointer) { if (!pointer) { @@ -7634,7 +7933,7 @@ function copyTempDouble(ptr) { HEAP32[((pointer)>>2)]=GLctx.getVertexAttribOffset(index, pname); } - function _emscripten_glVertexAttrib3f(x0, x1, x2, x3) { GLctx.vertexAttrib3f(x0, x1, x2, x3) } + function _emscripten_glVertexAttrib3f(x0, x1, x2, x3) { GLctx['vertexAttrib3f'](x0, x1, x2, x3) } function _alSource3f(source, param, v1, v2, v3) { if (!AL.currentContext) { @@ -7647,13 +7946,19 @@ function copyTempDouble(ptr) { } switch (param) { case 0x1004 /* AL_POSITION */: - src.position = [v1, v2, v3]; + src.position[0] = v1; + src.position[1] = v2; + src.position[2] = v3; break; case 0x1005 /* AL_DIRECTION */: - src.direction = [v1, v2, v3]; + src.direction[0] = v1; + src.direction[1] = v2; + src.direction[2] = v3; break; case 0x1006 /* AL_VELOCITY */: - src.velocity = [v1, v2, v3]; + src.velocity[0] = v1; + src.velocity[1] = v2; + src.velocity[2] = v3; break; default: AL.currentContext.err = 0xA002 /* AL_INVALID_ENUM */; @@ -7661,6 +7966,8 @@ function copyTempDouble(ptr) { } } + function _emscripten_glEnable(x0) { GLctx['enable'](x0) } + function _emscripten_glNormalPointer() { Module['printErr']('missing function: emscripten_glNormalPointer'); abort(-1); } @@ -7669,11 +7976,7 @@ function copyTempDouble(ptr) { var _emscripten_GetProcAddress=undefined; Module["_emscripten_GetProcAddress"] = _emscripten_GetProcAddress; - - function _eglWaitClient() { - EGL.setErrorCode(0x3000 /* EGL_SUCCESS */); - return 1; - }var EGL={errorCode:12288,defaultDisplayInitialized:false,currentContext:0,currentReadSurface:0,currentDrawSurface:0,stringCache:{},setErrorCode:function (code) { + var EGL={errorCode:12288,defaultDisplayInitialized:false,currentContext:0,currentReadSurface:0,currentDrawSurface:0,stringCache:{},setErrorCode:function (code) { EGL.errorCode = code; },chooseConfig:function (display, attribList, config, config_size, numConfigs) { if (display != 62000 /* Magic ID for Emscripten 'default display' */) { @@ -7711,9 +8014,7 @@ function copyTempDouble(ptr) { GL.programInfos[id] = null; } - - - var _setSourceState=undefined;function _alSourcePlay(source) { + function _alSourcePlay(source) { if (!AL.currentContext) { return; } @@ -7743,7 +8044,9 @@ function copyTempDouble(ptr) { return; } var data = GLctx.getVertexAttrib(index, pname); - if (typeof data == 'number' || typeof data == 'boolean') { + if (pname == 0x889F/*VERTEX_ATTRIB_ARRAY_BUFFER_BINDING*/) { + HEAP32[((params)>>2)]=data["name"]; + } else if (typeof data == 'number' || typeof data == 'boolean') { switch (type) { case 'Integer': HEAP32[((params)>>2)]=data; break; case 'Float': HEAPF32[((params)>>2)]=data; break; @@ -7822,24 +8125,30 @@ function copyTempDouble(ptr) { Module["canvas"].removeEventListener("mouseup", GLFW.onMouseButtonUp, true); Module["canvas"].removeEventListener('wheel', GLFW.onMouseWheel, true); Module["canvas"].removeEventListener('mousewheel', GLFW.onMouseWheel, true); + Module["canvas"].removeEventListener('mouseenter', GLFW.onMouseenter, true); + Module["canvas"].removeEventListener('mouseleave', GLFW.onMouseleave, true); Module["canvas"].width = Module["canvas"].height = 1; GLFW.windows = null; GLFW.active = null; } function _emscripten_glUniformMatrix2fv(location, count, transpose, value) { - location = GL.uniforms[location]; + + var view; - if (count === 1) { - // avoid allocation for the common case of uploading one uniform matrix - view = GL.miniTempBufferViews[3]; - for (var i = 0; i < 4; i++) { - view[i] = HEAPF32[(((value)+(i*4))>>2)]; + if (4*count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[4*count-1]; + for (var i = 0; i < 4*count; i += 4) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; + view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; + view[i+3] = HEAPF32[(((value)+(4*i+12))>>2)]; } } else { view = HEAPF32.subarray((value)>>2,(value+count*16)>>2); } - GLctx.uniformMatrix2fv(location, transpose, view); + GLctx.uniformMatrix2fv(GL.uniforms[location], !!transpose, view); } function ___syscall5(which, varargs) {SYSCALLS.varargs = varargs; @@ -7866,8 +8175,6 @@ function copyTempDouble(ptr) { } } - var _cos=Math_cos; - function _llvm_stacksave() { var self = _llvm_stacksave; if (!self.LLVM_SAVEDSTACKS) { @@ -7884,18 +8191,34 @@ function copyTempDouble(ptr) { } function _emscripten_glUniformMatrix4fv(location, count, transpose, value) { - location = GL.uniforms[location]; + + var view; - if (count === 1) { - // avoid allocation for the common case of uploading one uniform matrix - view = GL.miniTempBufferViews[15]; - for (var i = 0; i < 16; i++) { - view[i] = HEAPF32[(((value)+(i*4))>>2)]; + if (16*count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[16*count-1]; + for (var i = 0; i < 16*count; i += 16) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; + view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; + view[i+3] = HEAPF32[(((value)+(4*i+12))>>2)]; + view[i+4] = HEAPF32[(((value)+(4*i+16))>>2)]; + view[i+5] = HEAPF32[(((value)+(4*i+20))>>2)]; + view[i+6] = HEAPF32[(((value)+(4*i+24))>>2)]; + view[i+7] = HEAPF32[(((value)+(4*i+28))>>2)]; + view[i+8] = HEAPF32[(((value)+(4*i+32))>>2)]; + view[i+9] = HEAPF32[(((value)+(4*i+36))>>2)]; + view[i+10] = HEAPF32[(((value)+(4*i+40))>>2)]; + view[i+11] = HEAPF32[(((value)+(4*i+44))>>2)]; + view[i+12] = HEAPF32[(((value)+(4*i+48))>>2)]; + view[i+13] = HEAPF32[(((value)+(4*i+52))>>2)]; + view[i+14] = HEAPF32[(((value)+(4*i+56))>>2)]; + view[i+15] = HEAPF32[(((value)+(4*i+60))>>2)]; } } else { view = HEAPF32.subarray((value)>>2,(value+count*64)>>2); } - GLctx.uniformMatrix4fv(location, transpose, view); + GLctx.uniformMatrix4fv(GL.uniforms[location], !!transpose, view); } function _emscripten_glDrawArraysInstanced(mode, first, count, primcount) { @@ -7938,8 +8261,7 @@ function copyTempDouble(ptr) { } function _emscripten_glUniform1i(location, v0) { - location = GL.uniforms[location]; - GLctx.uniform1i(location, v0); + GLctx.uniform1i(GL.uniforms[location], v0); } function ___syscall145(which, varargs) {SYSCALLS.varargs = varargs; @@ -7953,15 +8275,13 @@ function copyTempDouble(ptr) { } } - function _emscripten_glStencilMask(x0) { GLctx.stencilMask(x0) } + function _emscripten_glStencilMask(x0) { GLctx['stencilMask'](x0) } - function _emscripten_glStencilFuncSeparate(x0, x1, x2, x3) { GLctx.stencilFuncSeparate(x0, x1, x2, x3) } + function _emscripten_glStencilFuncSeparate(x0, x1, x2, x3) { GLctx['stencilFuncSeparate'](x0, x1, x2, x3) } Module["_i64Subtract"] = _i64Subtract; - var _fabsf=Math_abs; - Module["_i64Add"] = _i64Add; @@ -7974,26 +8294,13 @@ function copyTempDouble(ptr) { GLctx.useProgram(program ? GL.programs[program] : null); } - var _sinf=Math_sin; - function _emscripten_glDisableVertexAttribArray(index) { GLctx.disableVertexAttribArray(index); } - function _emscripten_glVertexAttrib1f(x0, x1) { GLctx.vertexAttrib1f(x0, x1) } + function _emscripten_glVertexAttrib1f(x0, x1) { GLctx['vertexAttrib1f'](x0, x1) } - function _emscripten_glFinish() { GLctx.finish() } - - function _glDeleteFramebuffers(n, framebuffers) { - for (var i = 0; i < n; ++i) { - var id = HEAP32[(((framebuffers)+(i*4))>>2)]; - var framebuffer = GL.framebuffers[id]; - if (!framebuffer) continue; // GL spec: "glDeleteFramebuffers silently ignores 0s and names that do not correspond to existing framebuffer objects". - GLctx.deleteFramebuffer(framebuffer); - framebuffer.name = 0; - GL.framebuffers[id] = null; - } - } + function _emscripten_glFinish() { GLctx['finish']() } function _glDrawArrays(mode, first, count) { @@ -8001,7 +8308,7 @@ function copyTempDouble(ptr) { } - function _emscripten_glDepthFunc(x0) { GLctx.depthFunc(x0) } + function _emscripten_glDepthFunc(x0) { GLctx['depthFunc'](x0) } function _alcOpenDevice(deviceName) { if (typeof(AudioContext) !== "undefined" || @@ -8012,175 +8319,53 @@ function copyTempDouble(ptr) { } } - function _sysconf(name) { - // long sysconf(int name); - // http://pubs.opengroup.org/onlinepubs/009695399/functions/sysconf.html - switch(name) { - case 30: return PAGE_SIZE; - case 85: return totalMemory / PAGE_SIZE; - case 132: - case 133: - case 12: - case 137: - case 138: - case 15: - case 235: - case 16: - case 17: - case 18: - case 19: - case 20: - case 149: - case 13: - case 10: - case 236: - case 153: - case 9: - case 21: - case 22: - case 159: - case 154: - case 14: - case 77: - case 78: - case 139: - case 80: - case 81: - case 82: - case 68: - case 67: - case 164: - case 11: - case 29: - case 47: - case 48: - case 95: - case 52: - case 51: - case 46: - return 200809; - case 79: - return 0; - case 27: - case 246: - case 127: - case 128: - case 23: - case 24: - case 160: - case 161: - case 181: - case 182: - case 242: - case 183: - case 184: - case 243: - case 244: - case 245: - case 165: - case 178: - case 179: - case 49: - case 50: - case 168: - case 169: - case 175: - case 170: - case 171: - case 172: - case 97: - case 76: - case 32: - case 173: - case 35: - return -1; - case 176: - case 177: - case 7: - case 155: - case 8: - case 157: - case 125: - case 126: - case 92: - case 93: - case 129: - case 130: - case 131: - case 94: - case 91: - return 1; - case 74: - case 60: - case 69: - case 70: - case 4: - return 1024; - case 31: - case 42: - case 72: - return 32; - case 87: - case 26: - case 33: - return 2147483647; - case 34: - case 1: - return 47839; - case 38: - case 36: - return 99; - case 43: - case 37: - return 2048; - case 0: return 2097152; - case 3: return 65536; - case 28: return 32768; - case 44: return 32767; - case 75: return 16384; - case 39: return 1000; - case 89: return 700; - case 71: return 256; - case 40: return 255; - case 2: return 100; - case 180: return 64; - case 25: return 20; - case 5: return 16; - case 6: return 6; - case 73: return 4; - case 84: { - if (typeof navigator === 'object') return navigator['hardwareConcurrency'] || 1; - return 1; - } + function _emscripten_get_num_gamepads() { + // Polling gamepads generates garbage, so don't do it when we know there are no gamepads connected. + if (!JSEvents.numGamepadsConnected) return 0; + + __emscripten_sample_gamepad_data(); + if (!JSEvents.lastGamepadState) return -1; + return JSEvents.lastGamepadState.length; + } + + function _glGetProgramInfoLog(program, maxLength, length, infoLog) { + var log = GLctx.getProgramInfoLog(GL.programs[program]); + if (log === null) log = '(unknown error)'; + + if (maxLength > 0 && infoLog) { + var numBytesWrittenExclNull = stringToUTF8(log, infoLog, maxLength); + if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; + } else { + if (length) HEAP32[((length)>>2)]=0; } - ___setErrNo(ERRNO_CODES.EINVAL); - return -1; } function _emscripten_glUniform4iv(location, count, value) { - location = GL.uniforms[location]; - count *= 4; - value = HEAP32.subarray((value)>>2,(value+count*4)>>2); - GLctx.uniform4iv(location, value); + + + GLctx.uniform4iv(GL.uniforms[location], HEAP32.subarray((value)>>2,(value+count*16)>>2)); } - function _glClear(x0) { GLctx.clear(x0) } + function _glClear(x0) { GLctx['clear'](x0) } function _emscripten_glLoadIdentity(){ throw 'Legacy GL function (glLoadIdentity) called. If you want legacy GL emulation, you need to compile with -s LEGACY_GL_EMULATION=1 to enable legacy GL emulation.'; } function _emscripten_glUniform3fv(location, count, value) { - location = GL.uniforms[location]; + + var view; - if (count === 1) { - // avoid allocation for the common case of uploading one uniform - view = GL.miniTempBufferViews[2]; - view[0] = HEAPF32[((value)>>2)]; - view[1] = HEAPF32[(((value)+(4))>>2)]; - view[2] = HEAPF32[(((value)+(8))>>2)]; + if (3*count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[3*count-1]; + for (var i = 0; i < 3*count; i += 3) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; + view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; + } } else { view = HEAPF32.subarray((value)>>2,(value+count*12)>>2); } - GLctx.uniform3fv(location, view); + GLctx.uniform3fv(GL.uniforms[location], view); } function _emscripten_glIsTexture(texture) { @@ -8229,6 +8414,12 @@ function copyTempDouble(ptr) { AL.updateSource(src); } + function _glUniform4f(location, v0, v1, v2, v3) { + GLctx.uniform4f(GL.uniforms[location], v0, v1, v2, v3); + } + + function _emscripten_glVertexAttrib2f(x0, x1, x2) { GLctx['vertexAttrib2f'](x0, x1, x2) } + function _glfwCreateWindow(width, height, title, monitor, share) { return GLFW.createWindow(width, height, title, monitor, share); } @@ -8299,13 +8490,7 @@ function copyTempDouble(ptr) { } } - function _pthread_cleanup_pop() { - assert(_pthread_cleanup_push.level == __ATEXIT__.length, 'cannot pop if something else added meanwhile!'); - __ATEXIT__.pop(); - _pthread_cleanup_push.level = __ATEXIT__.length; - } - - function _emscripten_glClearStencil(x0) { GLctx.clearStencil(x0) } + function _emscripten_glClearStencil(x0) { GLctx['clearStencil'](x0) } function _emscripten_glDetachShader(program, shader) { GLctx.detachShader(GL.programs[program], @@ -8313,7 +8498,7 @@ function copyTempDouble(ptr) { } function _emscripten_glDeleteVertexArrays(n, vaos) { - for(var i = 0; i < n; i++) { + for (var i = 0; i < n; i++) { var id = HEAP32[(((vaos)+(i*4))>>2)]; GLctx['deleteVertexArray'](GL.vaos[id]); GL.vaos[id] = null; @@ -8328,9 +8513,14 @@ function copyTempDouble(ptr) { var gain = AL.currentContext.ctx.createGain(); gain.connect(AL.currentContext.gain); AL.currentContext.src[AL.newSrcId] = { + context: AL.currentContext, state: 0x1011 /* AL_INITIAL */, queue: [], loop: false, + playbackRate: 1, + _position: [0, 0, 0], + _velocity: [0, 0, 0], + _direction: [0, 0, 0], get refDistance() { return this._refDistance || 1; }, @@ -8353,24 +8543,32 @@ function copyTempDouble(ptr) { if (this.panner) this.panner.rolloffFactor = val; }, get position() { - return this._position || [0, 0, 0]; + return this._position; }, set position(val) { - this._position = val; + this._position[0] = val[0]; + this._position[1] = val[1]; + this._position[2] = val[2]; if (this.panner) this.panner.setPosition(val[0], val[1], val[2]); }, get velocity() { - return this._velocity || [0, 0, 0]; + return this._velocity; }, set velocity(val) { - this._velocity = val; - if (this.panner) this.panner.setVelocity(val[0], val[1], val[2]); + this._velocity[0] = val[0]; + this._velocity[1] = val[1]; + this._velocity[2] = val[2]; + // TODO: The velocity values are not currently used to implement a doppler effect. + // If support for doppler effect is reintroduced, compute the doppler + // speed pitch factor and apply it here. }, get direction() { - return this._direction || [0, 0, 0]; + return this._direction; }, set direction(val) { - this._direction = val; + this._direction[0] = val[0]; + this._direction[1] = val[1]; + this._direction[2] = val[2]; if (this.panner) this.panner.setOrientation(val[0], val[1], val[2]); }, get coneOuterGain() { @@ -8420,9 +8618,11 @@ function copyTempDouble(ptr) { Module["canvas"].addEventListener("mouseup", GLFW.onMouseButtonUp, true); Module["canvas"].addEventListener('wheel', GLFW.onMouseWheel, true); Module["canvas"].addEventListener('mousewheel', GLFW.onMouseWheel, true); + Module["canvas"].addEventListener('mouseenter', GLFW.onMouseenter, true); + Module["canvas"].addEventListener('mouseleave', GLFW.onMouseleave, true); Browser.resizeListeners.push(function(width, height) { - GLFW.onFullScreenEventChange(); + GLFW.onCanvasResize(width, height); }); return 1; // GL_TRUE } @@ -8451,13 +8651,12 @@ function copyTempDouble(ptr) { GLFW.swapBuffers(winid); } - function _emscripten_glGenerateMipmap(x0) { GLctx.generateMipmap(x0) } + function _emscripten_glGenerateMipmap(x0) { GLctx['generateMipmap'](x0) } - function _emscripten_glCullFace(x0) { GLctx.cullFace(x0) } + function _emscripten_glCullFace(x0) { GLctx['cullFace'](x0) } function _emscripten_glUniform4f(location, v0, v1, v2, v3) { - location = GL.uniforms[location]; - GLctx.uniform4f(location, v0, v1, v2, v3); + GLctx.uniform4f(GL.uniforms[location], v0, v1, v2, v3); } function _glDisableVertexAttribArray(index) { @@ -8468,20 +8667,23 @@ function copyTempDouble(ptr) { GLctx.useProgram(program ? GL.programs[program] : null); } - function _emscripten_glHint(x0, x1) { GLctx.hint(x0, x1) } + function _emscripten_glHint(x0, x1) { GLctx['hint'](x0, x1) } function _emscripten_glUniform2fv(location, count, value) { - location = GL.uniforms[location]; + + var view; - if (count === 1) { - // avoid allocation for the common case of uploading one uniform - view = GL.miniTempBufferViews[1]; - view[0] = HEAPF32[((value)>>2)]; - view[1] = HEAPF32[(((value)+(4))>>2)]; + if (2*count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[2*count-1]; + for (var i = 0; i < 2*count; i += 2) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; + } } else { view = HEAPF32.subarray((value)>>2,(value+count*8)>>2); } - GLctx.uniform2fv(location, view); + GLctx.uniform2fv(GL.uniforms[location], view); } function _glfwSwapInterval(interval) { @@ -8493,10 +8695,9 @@ function copyTempDouble(ptr) { function _glGetShaderInfoLog(shader, maxLength, length, infoLog) { var log = GLctx.getShaderInfoLog(GL.shaders[shader]); if (log === null) log = '(unknown error)'; - log = log.substr(0, maxLength - 1); if (maxLength > 0 && infoLog) { - writeStringToMemory(log, infoLog); - if (length) HEAP32[((length)>>2)]=log.length; + var numBytesWrittenExclNull = stringToUTF8(log, infoLog, maxLength); + if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; } else { if (length) HEAP32[((length)>>2)]=0; } @@ -8541,18 +8742,17 @@ function copyTempDouble(ptr) { } function _emscripten_glUniform2iv(location, count, value) { - location = GL.uniforms[location]; - count *= 2; - value = HEAP32.subarray((value)>>2,(value+count*4)>>2); - GLctx.uniform2iv(location, value); + + + GLctx.uniform2iv(GL.uniforms[location], HEAP32.subarray((value)>>2,(value+count*8)>>2)); } function _emscripten_glVertexAttrib1fv(index, v) { - v = HEAPF32.subarray((v)>>2,(v+4)>>2); - GLctx.vertexAttrib1fv(index, v); + + GLctx.vertexAttrib1f(index, HEAPF32[v>>2]); } - function _glEnable(x0) { GLctx.enable(x0) } + function _glEnable(x0) { GLctx['enable'](x0) } function _alBufferData(buffer, format, data, size, freq) { if (!AL.currentContext) { @@ -8561,62 +8761,68 @@ function copyTempDouble(ptr) { if (buffer > AL.currentContext.buf.length) { return; } - var channels, bytes; - switch (format) { - case 0x1100 /* AL_FORMAT_MONO8 */: - bytes = 1; - channels = 1; - break; - case 0x1101 /* AL_FORMAT_MONO16 */: - bytes = 2; - channels = 1; - break; - case 0x1102 /* AL_FORMAT_STEREO8 */: - bytes = 1; - channels = 2; - break; - case 0x1103 /* AL_FORMAT_STEREO16 */: - bytes = 2; - channels = 2; - break; - case 0x10010 /* AL_FORMAT_MONO_FLOAT32 */: - bytes = 4; - channels = 1; - break; - case 0x10011 /* AL_FORMAT_STEREO_FLOAT32 */: - bytes = 4; - channels = 2; - break; - default: - return; - } + try { - AL.currentContext.buf[buffer - 1] = AL.currentContext.ctx.createBuffer(channels, size / (bytes * channels), freq); - AL.currentContext.buf[buffer - 1].bytesPerSample = bytes; + switch (format) { + case 0x1100 /* AL_FORMAT_MONO8 */: + var buf = AL.currentContext.ctx.createBuffer(1, size, freq); + buf.bytesPerSample = 1; + var channel0 = buf.getChannelData(0); + for (var i = 0; i < size; ++i) channel0[i] = HEAPU8[data++] * 0.0078125 /* 1/128 */ - 1.0; + break; + case 0x1101 /* AL_FORMAT_MONO16 */: + var buf = AL.currentContext.ctx.createBuffer(1, size>>1, freq); + buf.bytesPerSample = 2; + var channel0 = buf.getChannelData(0); + data >>= 1; + for (var i = 0; i < size>>1; ++i) channel0[i] = HEAP16[data++] * 0.000030517578125 /* 1/32768 */; + break; + case 0x1102 /* AL_FORMAT_STEREO8 */: + var buf = AL.currentContext.ctx.createBuffer(2, size>>1, freq); + buf.bytesPerSample = 1; + var channel0 = buf.getChannelData(0); + var channel1 = buf.getChannelData(1); + for (var i = 0; i < size>>1; ++i) { + channel0[i] = HEAPU8[data++] * 0.0078125 /* 1/128 */ - 1.0; + channel1[i] = HEAPU8[data++] * 0.0078125 /* 1/128 */ - 1.0; + } + break; + case 0x1103 /* AL_FORMAT_STEREO16 */: + var buf = AL.currentContext.ctx.createBuffer(2, size>>2, freq); + buf.bytesPerSample = 2; + var channel0 = buf.getChannelData(0); + var channel1 = buf.getChannelData(1); + data >>= 1; + for (var i = 0; i < size>>2; ++i) { + channel0[i] = HEAP16[data++] * 0.000030517578125 /* 1/32768 */; + channel1[i] = HEAP16[data++] * 0.000030517578125 /* 1/32768 */; + } + break; + case 0x10010 /* AL_FORMAT_MONO_FLOAT32 */: + var buf = AL.currentContext.ctx.createBuffer(1, size>>2, freq); + buf.bytesPerSample = 4; + var channel0 = buf.getChannelData(0); + data >>= 2; + for (var i = 0; i < size>>2; ++i) channel0[i] = HEAPF32[data++]; + break; + case 0x10011 /* AL_FORMAT_STEREO_FLOAT32 */: + var buf = AL.currentContext.ctx.createBuffer(2, size>>3, freq); + buf.bytesPerSample = 4; + var channel0 = buf.getChannelData(0); + var channel1 = buf.getChannelData(1); + data >>= 2; + for (var i = 0; i < size>>2; ++i) { + channel0[i] = HEAPF32[data++]; + channel1[i] = HEAPF32[data++]; + } + break; + default: + AL.currentContext.err = 0xA003 /* AL_INVALID_VALUE */; + break; + } + AL.currentContext.buf[buffer - 1] = buf; } catch (e) { AL.currentContext.err = 0xA003 /* AL_INVALID_VALUE */; - return; - } - var buf = new Array(channels); - for (var i = 0; i < channels; ++i) { - buf[i] = AL.currentContext.buf[buffer - 1].getChannelData(i); - } - for (var i = 0; i < size / (bytes * channels); ++i) { - for (var j = 0; j < channels; ++j) { - switch (bytes) { - case 1: - var val = HEAP8[(((data)+(i*channels+j))>>0)] & 0xff; // unsigned - buf[j][i] = -1.0 + val * (2/256); - break; - case 2: - var val = HEAP16[(((data)+(2*(i*channels+j)))>>1)]; - buf[j][i] = val/32768; - break; - case 4: - buf[j][i] = HEAPF32[(((data)+(4*(i*channels+j)))>>2)]; - break; - } - } } } @@ -8632,6 +8838,21 @@ function copyTempDouble(ptr) { AL.setSourceState(src, 0x1014 /* AL_STOPPED */); } + function _emscripten_glGenFramebuffers(n, ids) { + for (var i = 0; i < n; ++i) { + var framebuffer = GLctx.createFramebuffer(); + if (!framebuffer) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); + while(i < n) HEAP32[(((ids)+(i++*4))>>2)]=0; + return; + } + var id = GL.getNewId(GL.framebuffers); + framebuffer.name = id; + GL.framebuffers[id] = framebuffer; + HEAP32[(((ids)+(i*4))>>2)]=id; + } + } + function emscriptenWebGLComputeImageSize(width, height, sizePerPixel, alignment) { @@ -8649,11 +8870,9 @@ function copyTempDouble(ptr) { case 0x1906 /* GL_ALPHA */: case 0x1909 /* GL_LUMINANCE */: case 0x1902 /* GL_DEPTH_COMPONENT */: - case 0x1903 /* GL_RED */: numChannels = 1; break; case 0x190A /* GL_LUMINANCE_ALPHA */: - case 0x8227 /* GL_RG */: numChannels = 2; break; case 0x1907 /* GL_RGB */: @@ -8666,10 +8885,7 @@ function copyTempDouble(ptr) { break; default: GL.recordError(0x0500); // GL_INVALID_ENUM - return { - pixels: null, - internalFormat: 0x0 - }; + return null; } switch (type) { case 0x1401 /* GL_UNSIGNED_BYTE */: @@ -8683,7 +8899,7 @@ function copyTempDouble(ptr) { case 0x1406 /* GL_FLOAT */: sizePerPixel = numChannels*4; break; - case 0x84FA /* UNSIGNED_INT_24_8_WEBGL/UNSIGNED_INT_24_8 */: + case 0x84FA /* GL_UNSIGNED_INT_24_8_WEBGL/GL_UNSIGNED_INT_24_8 */: sizePerPixel = 4; break; case 0x8363 /* GL_UNSIGNED_SHORT_5_6_5 */: @@ -8693,42 +8909,39 @@ function copyTempDouble(ptr) { break; default: GL.recordError(0x0500); // GL_INVALID_ENUM - return { - pixels: null, - internalFormat: 0x0 - }; + return null; } var bytes = emscriptenWebGLComputeImageSize(width, height, sizePerPixel, GL.unpackAlignment); - if (type == 0x1401 /* GL_UNSIGNED_BYTE */) { - pixels = HEAPU8.subarray((pixels),(pixels+bytes)); - } else if (type == 0x1406 /* GL_FLOAT */) { - pixels = HEAPF32.subarray((pixels)>>2,(pixels+bytes)>>2); - } else if (type == 0x1405 /* GL_UNSIGNED_INT */ || type == 0x84FA /* UNSIGNED_INT_24_8_WEBGL */) { - pixels = HEAPU32.subarray((pixels)>>2,(pixels+bytes)>>2); - } else { - pixels = HEAPU16.subarray((pixels)>>1,(pixels+bytes)>>1); + switch(type) { + case 0x1401 /* GL_UNSIGNED_BYTE */: + return HEAPU8.subarray((pixels),(pixels+bytes)); + case 0x1406 /* GL_FLOAT */: + return HEAPF32.subarray((pixels)>>2,(pixels+bytes)>>2); + case 0x1405 /* GL_UNSIGNED_INT */: + case 0x84FA /* GL_UNSIGNED_INT_24_8_WEBGL/GL_UNSIGNED_INT_24_8 */: + return HEAPU32.subarray((pixels)>>2,(pixels+bytes)>>2); + case 0x1403 /* GL_UNSIGNED_SHORT */: + case 0x8363 /* GL_UNSIGNED_SHORT_5_6_5 */: + case 0x8033 /* GL_UNSIGNED_SHORT_4_4_4_4 */: + case 0x8034 /* GL_UNSIGNED_SHORT_5_5_5_1 */: + case 0x8D61 /* GL_HALF_FLOAT_OES */: + return HEAPU16.subarray((pixels)>>1,(pixels+bytes)>>1); + default: + GL.recordError(0x0500); // GL_INVALID_ENUM + return null; } - return { - pixels: pixels, - internalFormat: internalFormat - }; }function _emscripten_glTexSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixels) { - var pixelData; - if (pixels) { - pixelData = emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, -1).pixels; - } else { - pixelData = null; - } + var pixelData = null; + if (pixels) pixelData = emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, 0); GLctx.texSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixelData); } - function _emscripten_glPolygonOffset(x0, x1) { GLctx.polygonOffset(x0, x1) } + function _emscripten_glPolygonOffset(x0, x1) { GLctx['polygonOffset'](x0, x1) } var _emscripten_asm_const_int=true; function _emscripten_glUniform2f(location, v0, v1) { - location = GL.uniforms[location]; - GLctx.uniform2f(location, v0, v1); + GLctx.uniform2f(GL.uniforms[location], v0, v1); } function _glGetAttribLocation(program, name) { @@ -8741,9 +8954,11 @@ function copyTempDouble(ptr) { GLFW.hints[target] = hint; } - var _sin=Math_sin; + function _emscripten_glUniform2i(location, v0, v1) { + GLctx.uniform2i(GL.uniforms[location], v0, v1); + } - function _glBlendFunc(x0, x1) { GLctx.blendFunc(x0, x1) } + function _glBlendFunc(x0, x1) { GLctx['blendFunc'](x0, x1) } function _glCreateProgram() { var id = GL.getNewId(GL.programs); @@ -8802,12 +9017,14 @@ function copyTempDouble(ptr) { emscriptenWebGLGetUniform(program, location, params, 'Integer'); } - function _emscripten_glDepthMask(x0) { GLctx.depthMask(x0) } + function _emscripten_glDepthMask(flag) { + GLctx.depthMask(!!flag); + } - function _emscripten_glDepthRangef(x0, x1) { GLctx.depthRange(x0, x1) } + function _emscripten_glDepthRangef(x0, x1) { GLctx['depthRange'](x0, x1) } - function _emscripten_glDepthRange(x0, x1) { GLctx.depthRange(x0, x1) } + function _emscripten_glDepthRange(x0, x1) { GLctx['depthRange'](x0, x1) } function _emscripten_set_fullscreenchange_callback(target, userData, useCapture, callbackfunc) { if (typeof JSEvents.fullscreenEnabled() === 'undefined') return -1; @@ -8823,7 +9040,10 @@ function copyTempDouble(ptr) { return 0; } - var _fabs=Math_abs; + + + Module["___muldsi3"] = ___muldsi3; + Module["___muldi3"] = ___muldi3; function _emscripten_glGetShaderPrecisionFormat(shaderType, precisionType, range, precision) { var result = GLctx.getShaderPrecisionFormat(shaderType, precisionType); @@ -8833,16 +9053,45 @@ function copyTempDouble(ptr) { } function _emscripten_glUniform1fv(location, count, value) { - location = GL.uniforms[location]; + + var view; - if (count === 1) { - // avoid allocation for the common case of uploading one uniform - view = GL.miniTempBufferViews[0]; - view[0] = HEAPF32[((value)>>2)]; + if (count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[count-1]; + for (var i = 0; i < count; ++i) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + } } else { view = HEAPF32.subarray((value)>>2,(value+count*4)>>2); } - GLctx.uniform1fv(location, view); + GLctx.uniform1fv(GL.uniforms[location], view); + } + + function _alSourceQueueBuffers(source, count, buffers) { + if (!AL.currentContext) { + return; + } + var src = AL.currentContext.src[source]; + if (!src) { + AL.currentContext.err = 0xA001 /* AL_INVALID_NAME */; + return; + } + for (var i = 0; i < count; ++i) { + var bufferIdx = HEAP32[(((buffers)+(i*4))>>2)]; + if (bufferIdx > AL.currentContext.buf.length) { + AL.currentContext.err = 0xA001 /* AL_INVALID_NAME */; + return; + } + } + + for (var i = 0; i < count; ++i) { + var bufferIdx = HEAP32[(((buffers)+(i*4))>>2)]; + var buffer = AL.currentContext.buf[bufferIdx - 1]; + src.queue.push({ buffer: buffer, src: null }); + } + + AL.updateSource(src); } function _glDeleteBuffers(n, buffers) { @@ -8863,7 +9112,11 @@ function copyTempDouble(ptr) { } } - var _atan2=Math_atan2; + function _emscripten_set_gamepaddisconnected_callback(userData, useCapture, callbackfunc) { + if (!navigator.getGamepads && !navigator.webkitGetGamepads) return -1; + JSEvents.registerGamepadEventCallback(window, userData, useCapture, callbackfunc, 27, "gamepaddisconnected"); + return 0; + } function _emscripten_glBindProgramARB() { Module['printErr']('missing function: emscripten_glBindProgramARB'); abort(-1); @@ -8890,24 +9143,23 @@ function copyTempDouble(ptr) { GL.programInfos[id] = null; } - function _emscripten_glDisable(x0) { GLctx.disable(x0) } + function _emscripten_glDisable(x0) { GLctx['disable'](x0) } function _emscripten_glVertexAttrib3fv(index, v) { - v = HEAPF32.subarray((v)>>2,(v+12)>>2); - GLctx.vertexAttrib3fv(index, v); + + GLctx.vertexAttrib3f(index, HEAPF32[v>>2], HEAPF32[v+4>>2], HEAPF32[v+8>>2]); } - function _glClearColor(x0, x1, x2, x3) { GLctx.clearColor(x0, x1, x2, x3) } + function _glClearColor(x0, x1, x2, x3) { GLctx['clearColor'](x0, x1, x2, x3) } function _emscripten_glGetActiveAttrib(program, index, bufSize, length, size, type, name) { program = GL.programs[program]; var info = GLctx.getActiveAttrib(program, index); if (!info) return; // If an error occurs, nothing will be written to length, size and type and name. - var infoname = info.name.slice(0, Math.max(0, bufSize - 1)); if (bufSize > 0 && name) { - writeStringToMemory(infoname, name); - if (length) HEAP32[((length)>>2)]=infoname.length; + var numBytesWrittenExclNull = stringToUTF8(info.name, name, bufSize); + if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; } else { if (length) HEAP32[((length)>>2)]=0; } @@ -8922,7 +9174,7 @@ function copyTempDouble(ptr) { return GLctx.isFramebuffer(fb); } - function _emscripten_glLineWidth(x0) { GLctx.lineWidth(x0) } + function _emscripten_glLineWidth(x0) { GLctx['lineWidth'](x0) } function _glfwGetCursorPos(winid, x, y) { GLFW.getCursorPos(winid, x, y); @@ -8934,20 +9186,37 @@ function copyTempDouble(ptr) { switch(name_) { case 0x1F00 /* GL_VENDOR */: case 0x1F01 /* GL_RENDERER */: - case 0x1F02 /* GL_VERSION */: + case 0x9245 /* UNMASKED_VENDOR_WEBGL */: + case 0x9246 /* UNMASKED_RENDERER_WEBGL */: ret = allocate(intArrayFromString(GLctx.getParameter(name_)), 'i8', ALLOC_NORMAL); break; + case 0x1F02 /* GL_VERSION */: + var glVersion = GLctx.getParameter(GLctx.VERSION); + // return GLES version string corresponding to the version of the WebGL context + { + glVersion = 'OpenGL ES 2.0 (' + glVersion + ')'; + } + ret = allocate(intArrayFromString(glVersion), 'i8', ALLOC_NORMAL); + break; case 0x1F03 /* GL_EXTENSIONS */: var exts = GLctx.getSupportedExtensions(); var gl_exts = []; - for (var i in exts) { + for (var i = 0; i < exts.length; ++i) { gl_exts.push(exts[i]); gl_exts.push("GL_" + exts[i]); } ret = allocate(intArrayFromString(gl_exts.join(' ')), 'i8', ALLOC_NORMAL); break; case 0x8B8C /* GL_SHADING_LANGUAGE_VERSION */: - ret = allocate(intArrayFromString('OpenGL ES GLSL 1.00 (WebGL)'), 'i8', ALLOC_NORMAL); + var glslVersion = GLctx.getParameter(GLctx.SHADING_LANGUAGE_VERSION); + // extract the version number 'N.M' from the string 'WebGL GLSL ES N.M ...' + var ver_re = /^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/; + var ver_num = glslVersion.match(ver_re); + if (ver_num !== null) { + if (ver_num[1].length == 3) ver_num[1] = ver_num[1] + '0'; // ensure minor version has 2 digits + glslVersion = 'OpenGL ES GLSL ES ' + ver_num[1] + ' (' + glslVersion + ')'; + } + ret = allocate(intArrayFromString(glslVersion), 'i8', ALLOC_NORMAL); break; default: GL.recordError(0x0500/*GL_INVALID_ENUM*/); @@ -8996,12 +9265,6 @@ function copyTempDouble(ptr) { var formats = GLctx.getParameter(0x86A3 /*GL_COMPRESSED_TEXTURE_FORMATS*/); ret = formats.length; break; - case 0x8B9A: // GL_IMPLEMENTATION_COLOR_READ_TYPE - ret = 0x1401; // GL_UNSIGNED_BYTE - break; - case 0x8B9B: // GL_IMPLEMENTATION_COLOR_READ_FORMAT - ret = 0x1908; // GL_RGBA - break; } if (ret === undefined) { @@ -9114,13 +9377,19 @@ function copyTempDouble(ptr) { } } + + function _emscripten_memcpy_big(dest, src, num) { + HEAPU8.set(HEAPU8.subarray(src, src+num), dest); + return dest; + } + Module["_memcpy"] = _memcpy; + function _emscripten_glGetShaderInfoLog(shader, maxLength, length, infoLog) { var log = GLctx.getShaderInfoLog(GL.shaders[shader]); if (log === null) log = '(unknown error)'; - log = log.substr(0, maxLength - 1); if (maxLength > 0 && infoLog) { - writeStringToMemory(log, infoLog); - if (length) HEAP32[((length)>>2)]=log.length; + var numBytesWrittenExclNull = stringToUTF8(log, infoLog, maxLength); + if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; } else { if (length) HEAP32[((length)>>2)]=0; } @@ -9140,25 +9409,19 @@ function copyTempDouble(ptr) { HEAP32[((params)>>2)]=GLctx.getRenderbufferParameter(target, pname); } - function _emscripten_glStencilOpSeparate(x0, x1, x2, x3) { GLctx.stencilOpSeparate(x0, x1, x2, x3) } + function _emscripten_glStencilOpSeparate(x0, x1, x2, x3) { GLctx['stencilOpSeparate'](x0, x1, x2, x3) } function _emscripten_glReadPixels(x, y, width, height, format, type, pixels) { - var data = emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, format); - if (!data.pixels) { + var pixelData = emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, format); + if (!pixelData) { GL.recordError(0x0500/*GL_INVALID_ENUM*/); return; } - GLctx.readPixels(x, y, width, height, format, type, data.pixels); + GLctx.readPixels(x, y, width, height, format, type, pixelData); } function _emscripten_glCompressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, imageSize, data) { - var heapView; - if (data) { - heapView = HEAPU8.subarray((data),(data+imageSize)); - } else { - heapView = null; - } - GLctx['compressedTexSubImage2D'](target, level, xoffset, yoffset, width, height, format, heapView); + GLctx['compressedTexSubImage2D'](target, level, xoffset, yoffset, width, height, format, data ? HEAPU8.subarray((data),(data+imageSize)) : null); } function _emscripten_glGetError() { @@ -9177,11 +9440,6 @@ function copyTempDouble(ptr) { GL.textures[texture], level); } - function _pthread_cleanup_push(routine, arg) { - __ATEXIT__.push(function() { Runtime.dynCall('vi', routine, [arg]) }) - _pthread_cleanup_push.level = __ATEXIT__.length; - } - function _alSourcei(source, param, value) { if (!AL.currentContext) { return; @@ -9218,7 +9476,7 @@ function copyTempDouble(ptr) { // Disconnect from the panner. src.gain.disconnect(); - src.gain.connect(AL.currentContext.ctx.destination); + src.gain.connect(AL.currentContext.gain); } } else if (value === 0 /* AL_FALSE */) { if (!src.panner) { @@ -9229,8 +9487,9 @@ function copyTempDouble(ptr) { panner.maxDistance = src.maxDistance; panner.rolloffFactor = src.rolloffFactor; panner.setPosition(src.position[0], src.position[1], src.position[2]); - panner.setVelocity(src.velocity[0], src.velocity[1], src.velocity[2]); - panner.connect(AL.currentContext.ctx.destination); + // TODO: If support for doppler effect is reintroduced, compute the doppler + // speed pitch factor and apply it here. + panner.connect(AL.currentContext.gain); // Disconnect from the default source. src.gain.disconnect(); @@ -9247,33 +9506,9 @@ function copyTempDouble(ptr) { } } - function _emscripten_glIsEnabled(x0) { return GLctx.isEnabled(x0) } + function _emscripten_glIsEnabled(x0) { return GLctx['isEnabled'](x0) } - function _alSourceQueueBuffers(source, count, buffers) { - if (!AL.currentContext) { - return; - } - var src = AL.currentContext.src[source]; - if (!src) { - AL.currentContext.err = 0xA001 /* AL_INVALID_NAME */; - return; - } - for (var i = 0; i < count; ++i) { - var bufferIdx = HEAP32[(((buffers)+(i*4))>>2)]; - if (bufferIdx > AL.currentContext.buf.length) { - AL.currentContext.err = 0xA001 /* AL_INVALID_NAME */; - return; - } - } - - for (var i = 0; i < count; ++i) { - var bufferIdx = HEAP32[(((buffers)+(i*4))>>2)]; - var buffer = AL.currentContext.buf[bufferIdx - 1]; - src.queue.push({ buffer: buffer, src: null }); - } - - AL.updateSource(src); - } + function _glClearDepthf(x0) { GLctx['clearDepth'](x0) } function _alSourcef(source, param, value) { if (!AL.currentContext) { @@ -9286,9 +9521,39 @@ function copyTempDouble(ptr) { } switch (param) { case 0x1003 /* AL_PITCH */: + if (value <= 0) { + AL.currentContext.err = 0xA003 /* AL_INVALID_VALUE */; + return; + } + src.playbackRate = value; + + if (src.state === 0x1012 /* AL_PLAYING */) { + // update currently playing entry + var entry = src.queue[src.buffersPlayed]; + if (!entry || !entry.src) return; // It is possible that AL.updateSources() has not yet fed the next buffer, if so, skip. + var currentTime = AL.currentContext.ctx.currentTime; + var oldrate = entry.src.playbackRate.value; + var offset = currentTime - src.bufferPosition; + // entry.src.duration is expressed after factoring in playbackRate, so when changing playback rate, need + // to recompute/rescale the rate to the new playback speed. + entry.src.duration = (entry.src.duration - offset) * oldrate / src.playbackRate; + if (entry.src.playbackRate.value != src.playbackRate) entry.src.playbackRate.value = src.playbackRate; + src.bufferPosition = currentTime; + + // stop other buffers + for (var k = src.buffersPlayed + 1; k < src.queue.length; k++) { + var entry = src.queue[k]; + if (entry.src) { + entry.src.stop(); + entry.src = null; + } + } + // update the source to reschedule buffers with the new playbackRate + AL.updateSource(src); + } break; case 0x100A /* AL_GAIN */: - src.gain.gain.value = value; + if (src.gain.gain.value != value) src.gain.gain.value = value; break; // case 0x100D /* AL_MIN_GAIN */: // break; @@ -9336,18 +9601,34 @@ function copyTempDouble(ptr) { } } - function _emscripten_glVertexAttrib4f(x0, x1, x2, x3, x4) { GLctx.vertexAttrib4f(x0, x1, x2, x3, x4) } + function _emscripten_glVertexAttrib4f(x0, x1, x2, x3, x4) { GLctx['vertexAttrib4f'](x0, x1, x2, x3, x4) } - function _glDepthFunc(x0) { GLctx.depthFunc(x0) } + function _glDepthFunc(x0) { GLctx['depthFunc'](x0) } - function _emscripten_glUniform2i(location, v0, v1) { - location = GL.uniforms[location]; - GLctx.uniform2i(location, v0, v1); + + + var cttz_i8 = allocate([8,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,7,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0], "i8", ALLOC_STATIC); + Module["_llvm_cttz_i32"] = _llvm_cttz_i32; + Module["___udivmoddi4"] = ___udivmoddi4; + Module["___uremdi3"] = ___uremdi3; + + function _emscripten_glClearDepthf(x0) { GLctx['clearDepth'](x0) } + + function _alListenerf(param, value) { + if (!AL.currentContext) { + return; + } + switch (param) { + case 0x100A /* AL_GAIN */: + if (AL.currentContext.gain.gain.value != value) AL.currentContext.gain.gain.value = value; + break; + default: + AL.currentContext.err = 0xA002 /* AL_INVALID_ENUM */; + break; + } } - function _emscripten_glClearDepthf(x0) { GLctx.clearDepth(x0) } - - function _emscripten_glClear(x0) { GLctx.clear(x0) } + function _emscripten_glClear(x0) { GLctx['clear'](x0) } function _alGetError() { if (!AL.currentContext) { @@ -9378,56 +9659,71 @@ function copyTempDouble(ptr) { GL.recordError(0x0501 /* GL_INVALID_VALUE */); return; } + + if (program >= GL.counter) { + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + + var ptable = GL.programInfos[program]; + if (!ptable) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); + return; + } + if (pname == 0x8B84) { // GL_INFO_LOG_LENGTH var log = GLctx.getProgramInfoLog(GL.programs[program]); if (log === null) log = '(unknown error)'; HEAP32[((p)>>2)]=log.length + 1; } else if (pname == 0x8B87 /* GL_ACTIVE_UNIFORM_MAX_LENGTH */) { - var ptable = GL.programInfos[program]; - if (ptable) { - HEAP32[((p)>>2)]=ptable.maxUniformLength; - return; - } else if (program < GL.counter) { - GL.recordError(0x0502 /* GL_INVALID_OPERATION */); - } else { - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - } + HEAP32[((p)>>2)]=ptable.maxUniformLength; } else if (pname == 0x8B8A /* GL_ACTIVE_ATTRIBUTE_MAX_LENGTH */) { - var ptable = GL.programInfos[program]; - if (ptable) { - if (ptable.maxAttributeLength == -1) { - var program = GL.programs[program]; - var numAttribs = GLctx.getProgramParameter(program, GLctx.ACTIVE_ATTRIBUTES); - ptable.maxAttributeLength = 0; // Spec says if there are no active attribs, 0 must be returned. - for(var i = 0; i < numAttribs; ++i) { - var activeAttrib = GLctx.getActiveAttrib(program, i); - ptable.maxAttributeLength = Math.max(ptable.maxAttributeLength, activeAttrib.name.length+1); - } + if (ptable.maxAttributeLength == -1) { + var program = GL.programs[program]; + var numAttribs = GLctx.getProgramParameter(program, GLctx.ACTIVE_ATTRIBUTES); + ptable.maxAttributeLength = 0; // Spec says if there are no active attribs, 0 must be returned. + for (var i = 0; i < numAttribs; ++i) { + var activeAttrib = GLctx.getActiveAttrib(program, i); + ptable.maxAttributeLength = Math.max(ptable.maxAttributeLength, activeAttrib.name.length+1); } - HEAP32[((p)>>2)]=ptable.maxAttributeLength; - return; - } else if (program < GL.counter) { - GL.recordError(0x0502 /* GL_INVALID_OPERATION */); - } else { - GL.recordError(0x0501 /* GL_INVALID_VALUE */); } + HEAP32[((p)>>2)]=ptable.maxAttributeLength; + } else if (pname == 0x8A35 /* GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH */) { + if (ptable.maxUniformBlockNameLength == -1) { + var program = GL.programs[program]; + var numBlocks = GLctx.getProgramParameter(program, GLctx.ACTIVE_UNIFORM_BLOCKS); + ptable.maxUniformBlockNameLength = 0; + for (var i = 0; i < numBlocks; ++i) { + var activeBlockName = GLctx.getActiveUniformBlockName(program, i); + ptable.maxUniformBlockNameLength = Math.max(ptable.maxUniformBlockNameLength, activeBlockName.length+1); + } + } + HEAP32[((p)>>2)]=ptable.maxUniformBlockNameLength; } else { HEAP32[((p)>>2)]=GLctx.getProgramParameter(GL.programs[program], pname); } } function _glVertexAttribPointer(index, size, type, normalized, stride, ptr) { - GLctx.vertexAttribPointer(index, size, type, normalized, stride, ptr); + GLctx.vertexAttribPointer(index, size, type, !!normalized, stride, ptr); } - function _alcMakeContextCurrent(context) { - if (context == 0) { - AL.currentContext = null; - return 0; + function _emscripten_exit_pointerlock() { + // Make sure no queued up calls will fire after this. + JSEvents.removeDeferredCalls(JSEvents.requestPointerLock); + + if (document.exitPointerLock) { + document.exitPointerLock(); + } else if (document.msExitPointerLock) { + document.msExitPointerLock(); + } else if (document.mozExitPointerLock) { + document.mozExitPointerLock(); + } else if (document.webkitExitPointerLock) { + document.webkitExitPointerLock(); } else { - AL.currentContext = AL.contexts[context - 1]; - return 1; + return -1; } + return 0; } function _glGetUniformLocation(program, name) { @@ -9469,6 +9765,7 @@ function copyTempDouble(ptr) { HEAP32[((count)>>2)]=len; for (var i = 0; i < len; ++i) { var id = GL.shaders.indexOf(result[i]); + assert(id !== -1, 'shader not bound to local id'); HEAP32[(((shaders)+(i*4))>>2)]=id; } } @@ -9488,30 +9785,14 @@ function copyTempDouble(ptr) { } } - function _emscripten_glFrontFace(x0) { GLctx.frontFace(x0) } + function _emscripten_glFrontFace(x0) { GLctx['frontFace'](x0) } - function _emscripten_glActiveTexture(x0) { GLctx.activeTexture(x0) } + function _emscripten_glActiveTexture(x0) { GLctx['activeTexture'](x0) } function _emscripten_glUniform1iv(location, count, value) { - location = GL.uniforms[location]; - value = HEAP32.subarray((value)>>2,(value+count*4)>>2); - GLctx.uniform1iv(location, value); - } - - function _glUniform4fv(location, count, value) { - location = GL.uniforms[location]; - var view; - if (count === 1) { - // avoid allocation for the common case of uploading one uniform - view = GL.miniTempBufferViews[3]; - view[0] = HEAPF32[((value)>>2)]; - view[1] = HEAPF32[(((value)+(4))>>2)]; - view[2] = HEAPF32[(((value)+(8))>>2)]; - view[3] = HEAPF32[(((value)+(12))>>2)]; - } else { - view = HEAPF32.subarray((value)>>2,(value+count*16)>>2); - } - GLctx.uniform4fv(location, view); + + + GLctx.uniform1iv(GL.uniforms[location], HEAP32.subarray((value)>>2,(value+count*4)>>2)); } function _emscripten_glTexCoordPointer() { @@ -9531,14 +9812,19 @@ function copyTempDouble(ptr) { __exit(status); } - function _emscripten_glRenderbufferStorage(x0, x1, x2, x3) { GLctx.renderbufferStorage(x0, x1, x2, x3) } + function _emscripten_glRenderbufferStorage(x0, x1, x2, x3) { GLctx['renderbufferStorage'](x0, x1, x2, x3) } - function _emscripten_glCopyTexSubImage2D(x0, x1, x2, x3, x4, x5, x6, x7) { GLctx.copyTexSubImage2D(x0, x1, x2, x3, x4, x5, x6, x7) } + function _emscripten_glCopyTexSubImage2D(x0, x1, x2, x3, x4, x5, x6, x7) { GLctx['copyTexSubImage2D'](x0, x1, x2, x3, x4, x5, x6, x7) } function _glfwSetCursorPosCallback(winid, cbfun) { GLFW.setCursorPosCallback(winid, cbfun); } + function _glBindAttribLocation(program, index, name) { + name = Pointer_stringify(name); + GLctx.bindAttribLocation(GL.programs[program], index, name); + } + function _emscripten_glShaderBinary() { GL.recordError(0x0500/*GL_INVALID_ENUM*/); } @@ -9549,7 +9835,10 @@ function copyTempDouble(ptr) { return GLctx.isProgram(program); } - function _emscripten_glBlendColor(x0, x1, x2, x3) { GLctx.blendColor(x0, x1, x2, x3) } + + Module["_bitshift64Shl"] = _bitshift64Shl; + + function _emscripten_glBlendColor(x0, x1, x2, x3) { GLctx['blendColor'](x0, x1, x2, x3) } function _emscripten_glGetShaderiv(shader, pname, p) { if (!p) { @@ -9568,73 +9857,62 @@ function copyTempDouble(ptr) { } function _emscripten_glUniformMatrix3fv(location, count, transpose, value) { - location = GL.uniforms[location]; + + var view; - if (count === 1) { - // avoid allocation for the common case of uploading one uniform matrix - view = GL.miniTempBufferViews[8]; - for (var i = 0; i < 9; i++) { - view[i] = HEAPF32[(((value)+(i*4))>>2)]; + if (9*count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[9*count-1]; + for (var i = 0; i < 9*count; i += 9) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; + view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; + view[i+3] = HEAPF32[(((value)+(4*i+12))>>2)]; + view[i+4] = HEAPF32[(((value)+(4*i+16))>>2)]; + view[i+5] = HEAPF32[(((value)+(4*i+20))>>2)]; + view[i+6] = HEAPF32[(((value)+(4*i+24))>>2)]; + view[i+7] = HEAPF32[(((value)+(4*i+28))>>2)]; + view[i+8] = HEAPF32[(((value)+(4*i+32))>>2)]; } } else { view = HEAPF32.subarray((value)>>2,(value+count*36)>>2); } - GLctx.uniformMatrix3fv(location, transpose, view); + GLctx.uniformMatrix3fv(GL.uniforms[location], !!transpose, view); } - function _emscripten_glVertexAttrib2f(x0, x1, x2) { GLctx.vertexAttrib2f(x0, x1, x2) } + + Module["___udivdi3"] = ___udivdi3; function _emscripten_glUniform4fv(location, count, value) { - location = GL.uniforms[location]; + + var view; - if (count === 1) { - // avoid allocation for the common case of uploading one uniform - view = GL.miniTempBufferViews[3]; - view[0] = HEAPF32[((value)>>2)]; - view[1] = HEAPF32[(((value)+(4))>>2)]; - view[2] = HEAPF32[(((value)+(8))>>2)]; - view[3] = HEAPF32[(((value)+(12))>>2)]; + if (4*count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[4*count-1]; + for (var i = 0; i < 4*count; i += 4) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; + view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; + view[i+3] = HEAPF32[(((value)+(4*i+12))>>2)]; + } } else { view = HEAPF32.subarray((value)>>2,(value+count*16)>>2); } - GLctx.uniform4fv(location, view); + GLctx.uniform4fv(GL.uniforms[location], view); } function _glBufferSubData(target, offset, size, data) { GLctx.bufferSubData(target, offset, HEAPU8.subarray(data, data+size)); } - function _glGetProgramInfoLog(program, maxLength, length, infoLog) { - var log = GLctx.getProgramInfoLog(GL.programs[program]); - if (log === null) log = '(unknown error)'; - - log = log.substr(0, maxLength - 1); - if (maxLength > 0 && infoLog) { - writeStringToMemory(log, infoLog); - if (length) HEAP32[((length)>>2)]=log.length; - } else { - if (length) HEAP32[((length)>>2)]=0; - } - } - function _alcDestroyContext(context) { // Stop playback, etc clearInterval(AL.contexts[context - 1].interval); } - function _emscripten_glGenFramebuffers(n, ids) { - for (var i = 0; i < n; ++i) { - var framebuffer = GLctx.createFramebuffer(); - if (!framebuffer) { - GL.recordError(0x0502 /* GL_INVALID_OPERATION */); - while(i < n) HEAP32[(((ids)+(i++*4))>>2)]=0; - return; - } - var id = GL.getNewId(GL.framebuffers); - framebuffer.name = id; - GL.framebuffers[id] = framebuffer; - HEAP32[(((ids)+(i*4))>>2)]=id; - } + function _llvm_exp2_f32(x) { + return Math.pow(2, x); } function _glGetShaderiv(shader, pname, p) { @@ -9653,7 +9931,7 @@ function copyTempDouble(ptr) { } } - function _emscripten_glBlendEquationSeparate(x0, x1) { GLctx.blendEquationSeparate(x0, x1) } + function _emscripten_glBlendEquationSeparate(x0, x1) { GLctx['blendEquationSeparate'](x0, x1) } function _glfwSetWindowIconifyCallback(winid, cbfun) { var win = GLFW.WindowFromId(winid); @@ -9681,21 +9959,18 @@ function copyTempDouble(ptr) { } function _emscripten_glVertexAttrib2fv(index, v) { - v = HEAPF32.subarray((v)>>2,(v+8)>>2); - GLctx.vertexAttrib2fv(index, v); + + GLctx.vertexAttrib2f(index, HEAPF32[v>>2], HEAPF32[v+4>>2]); } - var _floorf=Math_floor; - function _emscripten_glGetActiveUniform(program, index, bufSize, length, size, type, name) { program = GL.programs[program]; var info = GLctx.getActiveUniform(program, index); if (!info) return; // If an error occurs, nothing will be written to length, size, type and name. - var infoname = info.name.slice(0, Math.max(0, bufSize - 1)); if (bufSize > 0 && name) { - writeStringToMemory(infoname, name); - if (length) HEAP32[((length)>>2)]=infoname.length; + var numBytesWrittenExclNull = stringToUTF8(info.name, name, bufSize); + if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; } else { if (length) HEAP32[((length)>>2)]=0; } @@ -9704,6 +9979,9 @@ function copyTempDouble(ptr) { if (type) HEAP32[((type)>>2)]=info.type; } + + Module["_roundf"] = _roundf; + function _emscripten_glDeleteObjectARB() { Module['printErr']('missing function: emscripten_glDeleteObjectARB'); abort(-1); } @@ -9714,8 +9992,7 @@ function copyTempDouble(ptr) { } function _emscripten_glUniform1f(location, v0) { - location = GL.uniforms[location]; - GLctx.uniform1f(location, v0); + GLctx.uniform1f(GL.uniforms[location], v0); } function _alcCreateContext(device, attrList) { @@ -9742,6 +10019,10 @@ function copyTempDouble(ptr) { var gain = ctx.createGain(); gain.connect(ctx.destination); + // Extend the Web Audio API AudioListener object with a few tracking values of our own. + ctx.listener._position = [0, 0, 0]; + ctx.listener._velocity = [0, 0, 0]; + ctx.listener._orientation = [0, 0, 0, 0, 0, 0]; var context = { ctx: ctx, err: 0, @@ -9758,7 +10039,7 @@ function copyTempDouble(ptr) { } function _emscripten_glVertexAttribPointer(index, size, type, normalized, stride, ptr) { - GLctx.vertexAttribPointer(index, size, type, normalized, stride, ptr); + GLctx.vertexAttribPointer(index, size, type, !!normalized, stride, ptr); } function _alcCloseDevice(device) { @@ -9767,11 +10048,11 @@ function copyTempDouble(ptr) { function _glShaderSource(shader, count, string, length) { var source = GL.getSource(shader, count, string, length); + + GLctx.shaderSource(GL.shaders[shader], source); } - var _sqrtf=Math_sqrt; - function _emscripten_glDrawArrays(mode, first, count) { GLctx.drawArrays(mode, first, count); @@ -9793,7 +10074,12 @@ function copyTempDouble(ptr) { } } - var _log=Math_log; + function _emscripten_glClearDepth(x0) { GLctx['clearDepth'](x0) } + + function _emscripten_set_keypress_callback(target, userData, useCapture, callbackfunc) { + JSEvents.registerKeyEventCallback(target, userData, useCapture, callbackfunc, 1, "keypress"); + return 0; + } function _glfwSetCharCallback(winid, cbfun) { GLFW.setCharCallback(winid, cbfun); @@ -9829,8 +10115,6 @@ function copyTempDouble(ptr) { } } - function _glActiveTexture(x0) { GLctx.activeTexture(x0) } - function _glBindBuffer(target, buffer) { var bufferObj = buffer ? GL.buffers[buffer] : null; @@ -9838,18 +10122,12 @@ function copyTempDouble(ptr) { GLctx.bindBuffer(target, bufferObj); } - function _glPixelStorei(pname, param) { - if (pname == 0x0D05 /* GL_PACK_ALIGNMENT */) { - GL.packAlignment = param; - } else if (pname == 0x0cf5 /* GL_UNPACK_ALIGNMENT */) { - GL.unpackAlignment = param; - } - GLctx.pixelStorei(pname, param); + function _emscripten_glVertexAttrib4fv(index, v) { + + GLctx.vertexAttrib4f(index, HEAPF32[v>>2], HEAPF32[v+4>>2], HEAPF32[v+8>>2], HEAPF32[v+12>>2]); } - function _emscripten_glEnable(x0) { GLctx.enable(x0) } - - function _emscripten_glScissor(x0, x1, x2, x3) { GLctx.scissor(x0, x1, x2, x3) } + function _emscripten_glScissor(x0, x1, x2, x3) { GLctx['scissor'](x0, x1, x2, x3) } function _glfwSetCursorEnterCallback(winid, cbfun) { var win = GLFW.WindowFromId(winid); @@ -9861,20 +10139,6 @@ function copyTempDouble(ptr) { Module["_bitshift64Lshr"] = _bitshift64Lshr; function _glBufferData(target, size, data, usage) { - switch (usage) { // fix usages, WebGL only has *_DRAW - case 0x88E1: // GL_STREAM_READ - case 0x88E2: // GL_STREAM_COPY - usage = 0x88E0; // GL_STREAM_DRAW - break; - case 0x88E5: // GL_STATIC_READ - case 0x88E6: // GL_STATIC_COPY - usage = 0x88E4; // GL_STATIC_DRAW - break; - case 0x88E9: // GL_DYNAMIC_READ - case 0x88EA: // GL_DYNAMIC_COPY - usage = 0x88E8; // GL_DYNAMIC_DRAW - break; - } if (!data) { GLctx.bufferData(target, size, usage); } else { @@ -9882,8 +10146,6 @@ function copyTempDouble(ptr) { } } - var _BDtoIHigh=true; - function _emscripten_glIsShader(shader) { var s = GL.shaders[shader]; if (!s) return 0; @@ -9891,13 +10153,19 @@ function copyTempDouble(ptr) { } function _emscripten_glDrawBuffers(n, bufs) { - var bufArray = []; - for (var i = 0; i < n; i++) - bufArray.push(HEAP32[(((bufs)+(i*4))>>2)]); + + var bufArray = GL.tempFixedLengthArray[n]; + for (var i = 0; i < n; i++) { + bufArray[i] = HEAP32[(((bufs)+(i*4))>>2)]; + } GLctx['drawBuffers'](bufArray); } + function _glGetFloatv(name_, p) { + emscriptenWebGLGet(name_, p, 'Float'); + } + function _emscripten_glBindFramebuffer(target, framebuffer) { GLctx.bindFramebuffer(target, framebuffer ? GL.framebuffers[framebuffer] : null); } @@ -9910,27 +10178,13 @@ function copyTempDouble(ptr) { return 0; } - function _emscripten_glBlendEquation(x0) { GLctx.blendEquation(x0) } + function _emscripten_glBlendEquation(x0) { GLctx['blendEquation'](x0) } function _emscripten_glBufferSubData(target, offset, size, data) { GLctx.bufferSubData(target, offset, HEAPU8.subarray(data, data+size)); } function _emscripten_glBufferData(target, size, data, usage) { - switch (usage) { // fix usages, WebGL only has *_DRAW - case 0x88E1: // GL_STREAM_READ - case 0x88E2: // GL_STREAM_COPY - usage = 0x88E0; // GL_STREAM_DRAW - break; - case 0x88E5: // GL_STATIC_READ - case 0x88E6: // GL_STATIC_COPY - usage = 0x88E4; // GL_STATIC_DRAW - break; - case 0x88E9: // GL_DYNAMIC_READ - case 0x88EA: // GL_DYNAMIC_COPY - usage = 0x88E8; // GL_DYNAMIC_DRAW - break; - } if (!data) { GLctx.bufferData(target, size, usage); } else { @@ -9938,64 +10192,56 @@ function copyTempDouble(ptr) { } } - function _sbrk(bytes) { - // Implement a Linux-like 'memory area' for our 'process'. - // Changes the size of the memory area by |bytes|; returns the - // address of the previous top ('break') of the memory area - // We control the "dynamic" memory - DYNAMIC_BASE to DYNAMICTOP - var self = _sbrk; - if (!self.called) { - DYNAMICTOP = alignMemoryPage(DYNAMICTOP); // make sure we start out aligned - self.called = true; - assert(Runtime.dynamicAlloc); - self.alloc = Runtime.dynamicAlloc; - Runtime.dynamicAlloc = function() { abort('cannot dynamically allocate, sbrk now has control') }; - } - var ret = DYNAMICTOP; - if (bytes != 0) { - var success = self.alloc(bytes); - if (!success) return -1 >>> 0; // sbrk failure code - } - return ret; // Previous break location. - } - - Module["_bitshift64Shl"] = _bitshift64Shl; + Module["_sbrk"] = _sbrk; - function _emscripten_glVertexAttrib4fv(index, v) { - v = HEAPF32.subarray((v)>>2,(v+16)>>2); - GLctx.vertexAttrib4fv(index, v); + function _alcMakeContextCurrent(context) { + if (context == 0) { + AL.currentContext = null; + return 0; + } else { + AL.currentContext = AL.contexts[context - 1]; + return 1; + } } - var _BItoD=true; - function _emscripten_glGetShaderSource(shader, bufSize, length, source) { var result = GLctx.getShaderSource(GL.shaders[shader]); if (!result) return; // If an error occurs, nothing will be written to length or source. - result = result.slice(0, Math.max(0, bufSize - 1)); if (bufSize > 0 && source) { - writeStringToMemory(result, source); - if (length) HEAP32[((length)>>2)]=result.length; + var numBytesWrittenExclNull = stringToUTF8(result, source, bufSize); + if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; } else { if (length) HEAP32[((length)>>2)]=0; } } - function _emscripten_glClearDepth(x0) { GLctx.clearDepth(x0) } + + Module["_llvm_bswap_i32"] = _llvm_bswap_i32; + + function _emscripten_set_click_callback(target, userData, useCapture, callbackfunc) { + JSEvents.registerMouseEventCallback(target, userData, useCapture, callbackfunc, 4, "click"); + return 0; + } + + function _glfwSetKeyCallback(winid, cbfun) { + GLFW.setKeyCallback(winid, cbfun); + } + + function _emscripten_set_gamepadconnected_callback(userData, useCapture, callbackfunc) { + if (!navigator.getGamepads && !navigator.webkitGetGamepads) return -1; + JSEvents.registerGamepadEventCallback(window, userData, useCapture, callbackfunc, 26, "gamepadconnected"); + return 0; + } function _emscripten_glGetFloatv(name_, p) { emscriptenWebGLGet(name_, p, 'Float'); } function _glTexImage2D(target, level, internalFormat, width, height, border, format, type, pixels) { - var pixelData; - if (pixels) { - var data = emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, internalFormat); - pixelData = data.pixels; - internalFormat = data.internalFormat; - } else { - pixelData = null; - } + + var pixelData = null; + if (pixels) pixelData = emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, internalFormat); GLctx.texImage2D(target, level, internalFormat, width, height, border, format, type, pixelData); } @@ -10031,23 +10277,15 @@ function copyTempDouble(ptr) { } function _emscripten_glCompressedTexImage2D(target, level, internalFormat, width, height, border, imageSize, data) { - var heapView; - if (data) { - heapView = HEAPU8.subarray((data),(data+imageSize)); - } else { - heapView = null; - } - GLctx['compressedTexImage2D'](target, level, internalFormat, width, height, border, heapView); + GLctx['compressedTexImage2D'](target, level, internalFormat, width, height, border, data ? HEAPU8.subarray((data),(data+imageSize)) : null); } - function _emscripten_glClearColor(x0, x1, x2, x3) { GLctx.clearColor(x0, x1, x2, x3) } + function _emscripten_glClearColor(x0, x1, x2, x3) { GLctx['clearColor'](x0, x1, x2, x3) } function _emscripten_glBindVertexArray(vao) { GLctx['bindVertexArray'](GL.vaos[vao]); } - var _floor=Math_floor; - function _emscripten_glLoadMatrixf() { Module['printErr']('missing function: emscripten_glLoadMatrixf'); abort(-1); } @@ -10070,39 +10308,46 @@ function copyTempDouble(ptr) { GL.recordError(0x0501 /* GL_INVALID_VALUE */); return; } + + if (program >= GL.counter) { + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + + var ptable = GL.programInfos[program]; + if (!ptable) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); + return; + } + if (pname == 0x8B84) { // GL_INFO_LOG_LENGTH var log = GLctx.getProgramInfoLog(GL.programs[program]); if (log === null) log = '(unknown error)'; HEAP32[((p)>>2)]=log.length + 1; } else if (pname == 0x8B87 /* GL_ACTIVE_UNIFORM_MAX_LENGTH */) { - var ptable = GL.programInfos[program]; - if (ptable) { - HEAP32[((p)>>2)]=ptable.maxUniformLength; - return; - } else if (program < GL.counter) { - GL.recordError(0x0502 /* GL_INVALID_OPERATION */); - } else { - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - } + HEAP32[((p)>>2)]=ptable.maxUniformLength; } else if (pname == 0x8B8A /* GL_ACTIVE_ATTRIBUTE_MAX_LENGTH */) { - var ptable = GL.programInfos[program]; - if (ptable) { - if (ptable.maxAttributeLength == -1) { - var program = GL.programs[program]; - var numAttribs = GLctx.getProgramParameter(program, GLctx.ACTIVE_ATTRIBUTES); - ptable.maxAttributeLength = 0; // Spec says if there are no active attribs, 0 must be returned. - for(var i = 0; i < numAttribs; ++i) { - var activeAttrib = GLctx.getActiveAttrib(program, i); - ptable.maxAttributeLength = Math.max(ptable.maxAttributeLength, activeAttrib.name.length+1); - } + if (ptable.maxAttributeLength == -1) { + var program = GL.programs[program]; + var numAttribs = GLctx.getProgramParameter(program, GLctx.ACTIVE_ATTRIBUTES); + ptable.maxAttributeLength = 0; // Spec says if there are no active attribs, 0 must be returned. + for (var i = 0; i < numAttribs; ++i) { + var activeAttrib = GLctx.getActiveAttrib(program, i); + ptable.maxAttributeLength = Math.max(ptable.maxAttributeLength, activeAttrib.name.length+1); } - HEAP32[((p)>>2)]=ptable.maxAttributeLength; - return; - } else if (program < GL.counter) { - GL.recordError(0x0502 /* GL_INVALID_OPERATION */); - } else { - GL.recordError(0x0501 /* GL_INVALID_VALUE */); } + HEAP32[((p)>>2)]=ptable.maxAttributeLength; + } else if (pname == 0x8A35 /* GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH */) { + if (ptable.maxUniformBlockNameLength == -1) { + var program = GL.programs[program]; + var numBlocks = GLctx.getProgramParameter(program, GLctx.ACTIVE_UNIFORM_BLOCKS); + ptable.maxUniformBlockNameLength = 0; + for (var i = 0; i < numBlocks; ++i) { + var activeBlockName = GLctx.getActiveUniformBlockName(program, i); + ptable.maxUniformBlockNameLength = Math.max(ptable.maxUniformBlockNameLength, activeBlockName.length+1); + } + } + HEAP32[((p)>>2)]=ptable.maxUniformBlockNameLength; } else { HEAP32[((p)>>2)]=GLctx.getProgramParameter(GL.programs[program], pname); } @@ -10112,28 +10357,29 @@ function copyTempDouble(ptr) { var log = GLctx.getProgramInfoLog(GL.programs[program]); if (log === null) log = '(unknown error)'; - log = log.substr(0, maxLength - 1); if (maxLength > 0 && infoLog) { - writeStringToMemory(log, infoLog); - if (length) HEAP32[((length)>>2)]=log.length; + var numBytesWrittenExclNull = stringToUTF8(log, infoLog, maxLength); + if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; } else { if (length) HEAP32[((length)>>2)]=0; } } function _emscripten_glTexImage2D(target, level, internalFormat, width, height, border, format, type, pixels) { - var pixelData; - if (pixels) { - var data = emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, internalFormat); - pixelData = data.pixels; - internalFormat = data.internalFormat; - } else { - pixelData = null; - } + + var pixelData = null; + if (pixels) pixelData = emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, internalFormat); GLctx.texImage2D(target, level, internalFormat, width, height, border, format, type, pixelData); } - var _exp=Math_exp; + function _glPixelStorei(pname, param) { + if (pname == 0x0D05 /* GL_PACK_ALIGNMENT */) { + GL.packAlignment = param; + } else if (pname == 0x0cf5 /* GL_UNPACK_ALIGNMENT */) { + GL.unpackAlignment = param; + } + GLctx.pixelStorei(pname, param); + } function ___unlock() {} @@ -10141,17 +10387,15 @@ function copyTempDouble(ptr) { Module['printErr']('missing function: emscripten_glColorPointer'); abort(-1); } - function _glViewport(x0, x1, x2, x3) { GLctx.viewport(x0, x1, x2, x3) } + function _glViewport(x0, x1, x2, x3) { GLctx['viewport'](x0, x1, x2, x3) } - function _glfwPollEvents() {} - - function _emscripten_glCheckFramebufferStatus(x0) { return GLctx.checkFramebufferStatus(x0) } + function _emscripten_glCheckFramebufferStatus(x0) { return GLctx['checkFramebufferStatus'](x0) } function _glfwDestroyWindow(winid) { return GLFW.destroyWindow(winid); } - function _emscripten_glFlush() { GLctx.flush() } + function _emscripten_glFlush() { GLctx['flush']() } function _glfwSetErrorCallback(cbfun) { GLFW.errorFunc = cbfun; @@ -10164,32 +10408,50 @@ function copyTempDouble(ptr) { } function _glUniformMatrix4fv(location, count, transpose, value) { - location = GL.uniforms[location]; + + var view; - if (count === 1) { - // avoid allocation for the common case of uploading one uniform matrix - view = GL.miniTempBufferViews[15]; - for (var i = 0; i < 16; i++) { - view[i] = HEAPF32[(((value)+(i*4))>>2)]; + if (16*count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[16*count-1]; + for (var i = 0; i < 16*count; i += 16) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; + view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; + view[i+3] = HEAPF32[(((value)+(4*i+12))>>2)]; + view[i+4] = HEAPF32[(((value)+(4*i+16))>>2)]; + view[i+5] = HEAPF32[(((value)+(4*i+20))>>2)]; + view[i+6] = HEAPF32[(((value)+(4*i+24))>>2)]; + view[i+7] = HEAPF32[(((value)+(4*i+28))>>2)]; + view[i+8] = HEAPF32[(((value)+(4*i+32))>>2)]; + view[i+9] = HEAPF32[(((value)+(4*i+36))>>2)]; + view[i+10] = HEAPF32[(((value)+(4*i+40))>>2)]; + view[i+11] = HEAPF32[(((value)+(4*i+44))>>2)]; + view[i+12] = HEAPF32[(((value)+(4*i+48))>>2)]; + view[i+13] = HEAPF32[(((value)+(4*i+52))>>2)]; + view[i+14] = HEAPF32[(((value)+(4*i+56))>>2)]; + view[i+15] = HEAPF32[(((value)+(4*i+60))>>2)]; } } else { view = HEAPF32.subarray((value)>>2,(value+count*64)>>2); } - GLctx.uniformMatrix4fv(location, transpose, view); + GLctx.uniformMatrix4fv(GL.uniforms[location], !!transpose, view); } function _emscripten_glValidateProgram(program) { GLctx.validateProgram(GL.programs[program]); } - function _glTexParameteri(x0, x1, x2) { GLctx.texParameteri(x0, x1, x2) } + function _glTexParameterf(x0, x1, x2) { GLctx['texParameterf'](x0, x1, x2) } - function _glfwSetKeyCallback(winid, cbfun) { - GLFW.setKeyCallback(winid, cbfun); + function _glTexParameteri(x0, x1, x2) { GLctx['texParameteri'](x0, x1, x2) } + + function _glFrontFace(x0) { GLctx['frontFace'](x0) } + + function _emscripten_glColorMask(red, green, blue, alpha) { + GLctx.colorMask(!!red, !!green, !!blue, !!alpha); } - function _emscripten_glColorMask(x0, x1, x2, x3) { GLctx.colorMask(x0, x1, x2, x3) } - function _emscripten_glPixelStorei(pname, param) { if (pname == 0x0D05 /* GL_PACK_ALIGNMENT */) { GL.packAlignment = param; @@ -10216,7 +10478,7 @@ function copyTempDouble(ptr) { function _emscripten_glGenVertexArrays(n, arrays) { - for(var i = 0; i < n; i++) { + for (var i = 0; i < n; i++) { var vao = GLctx['createVertexArray'](); if (!vao) { GL.recordError(0x0502 /* GL_INVALID_OPERATION */); @@ -10238,11 +10500,6 @@ function copyTempDouble(ptr) { return ret; } - function _pthread_self() { - //FIXME: assumes only a single thread - return 0; - } - function _emscripten_glGetBooleanv(name_, p) { emscriptenWebGLGet(name_, p, 'Boolean'); } @@ -10300,36 +10557,103 @@ function copyTempDouble(ptr) { return -e.errno; } } -var GLctx; GL.init() -FS.staticInit();__ATINIT__.unshift(function() { if (!Module["noFSInit"] && !FS.init.initialized) FS.init() });__ATMAIN__.push(function() { FS.ignorePermissions = false });__ATEXIT__.push(function() { FS.quit() });Module["FS_createFolder"] = FS.createFolder;Module["FS_createPath"] = FS.createPath;Module["FS_createDataFile"] = FS.createDataFile;Module["FS_createPreloadedFile"] = FS.createPreloadedFile;Module["FS_createLazyFile"] = FS.createLazyFile;Module["FS_createLink"] = FS.createLink;Module["FS_createDevice"] = FS.createDevice;Module["FS_unlink"] = FS.unlink; -__ATINIT__.unshift(function() { TTY.init() });__ATEXIT__.push(function() { TTY.shutdown() }); -if (ENVIRONMENT_IS_NODE) { var fs = require("fs"); var NODEJS_PATH = require("path"); NODEFS.staticInit(); } -Module["requestFullScreen"] = function Module_requestFullScreen(lockPointer, resizeCanvas, vrDevice) { Browser.requestFullScreen(lockPointer, resizeCanvas, vrDevice) }; +var GLctx; GL.init(); +if (ENVIRONMENT_IS_NODE) { + _emscripten_get_now = function _emscripten_get_now_actual() { + var t = process['hrtime'](); + return t[0] * 1e3 + t[1] / 1e6; + }; + } else if (typeof dateNow !== 'undefined') { + _emscripten_get_now = dateNow; + } else if (typeof self === 'object' && self['performance'] && typeof self['performance']['now'] === 'function') { + _emscripten_get_now = function() { return self['performance']['now'](); }; + } else if (typeof performance === 'object' && typeof performance['now'] === 'function') { + _emscripten_get_now = function() { return performance['now'](); }; + } else { + _emscripten_get_now = Date.now; + }; +Module["requestFullScreen"] = function Module_requestFullScreen(lockPointer, resizeCanvas, vrDevice) { Module.printErr("Module.requestFullScreen is deprecated. Please call Module.requestFullscreen instead."); Module["requestFullScreen"] = Module["requestFullscreen"]; Browser.requestFullScreen(lockPointer, resizeCanvas, vrDevice) }; + Module["requestFullscreen"] = function Module_requestFullscreen(lockPointer, resizeCanvas, vrDevice) { Browser.requestFullscreen(lockPointer, resizeCanvas, vrDevice) }; Module["requestAnimationFrame"] = function Module_requestAnimationFrame(func) { Browser.requestAnimationFrame(func) }; Module["setCanvasSize"] = function Module_setCanvasSize(width, height, noUpdates) { Browser.setCanvasSize(width, height, noUpdates) }; Module["pauseMainLoop"] = function Module_pauseMainLoop() { Browser.mainLoop.pause() }; Module["resumeMainLoop"] = function Module_resumeMainLoop() { Browser.mainLoop.resume() }; Module["getUserMedia"] = function Module_getUserMedia() { Browser.getUserMedia() } - Module["createContext"] = function Module_createContext(canvas, useWebGL, setInModule, webGLContextAttributes) { return Browser.createContext(canvas, useWebGL, setInModule, webGLContextAttributes) } -STACK_BASE = STACKTOP = Runtime.alignMemory(STATICTOP); + Module["createContext"] = function Module_createContext(canvas, useWebGL, setInModule, webGLContextAttributes) { return Browser.createContext(canvas, useWebGL, setInModule, webGLContextAttributes) }; +FS.staticInit();__ATINIT__.unshift(function() { if (!Module["noFSInit"] && !FS.init.initialized) FS.init() });__ATMAIN__.push(function() { FS.ignorePermissions = false });__ATEXIT__.push(function() { FS.quit() });Module["FS_createFolder"] = FS.createFolder;Module["FS_createPath"] = FS.createPath;Module["FS_createDataFile"] = FS.createDataFile;Module["FS_createPreloadedFile"] = FS.createPreloadedFile;Module["FS_createLazyFile"] = FS.createLazyFile;Module["FS_createLink"] = FS.createLink;Module["FS_createDevice"] = FS.createDevice;Module["FS_unlink"] = FS.unlink;; +__ATINIT__.unshift(function() { TTY.init() });__ATEXIT__.push(function() { TTY.shutdown() });; +if (ENVIRONMENT_IS_NODE) { var fs = require("fs"); var NODEJS_PATH = require("path"); NODEFS.staticInit(); }; +JSEvents.staticInit();; +DYNAMICTOP_PTR = allocate(1, "i32", ALLOC_STATIC); -staticSealed = true; // seal the static portion of memory +STACK_BASE = STACKTOP = Runtime.alignMemory(STATICTOP); STACK_MAX = STACK_BASE + TOTAL_STACK; -DYNAMIC_BASE = DYNAMICTOP = Runtime.alignMemory(STACK_MAX); +DYNAMIC_BASE = Runtime.alignMemory(STACK_MAX); + +HEAP32[DYNAMICTOP_PTR>>2] = DYNAMIC_BASE; + +staticSealed = true; // seal the static portion of memory assert(DYNAMIC_BASE < TOTAL_MEMORY, "TOTAL_MEMORY not big enough for stack"); - var cttz_i8 = allocate([8,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,7,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0], "i8", ALLOC_DYNAMIC); +function nullFunc_viiiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_vd(x) { Module["printErr"]("Invalid function pointer called with signature 'vd'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_vid(x) { Module["printErr"]("Invalid function pointer called with signature 'vid'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_vi(x) { Module["printErr"]("Invalid function pointer called with signature 'vi'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_vii(x) { Module["printErr"]("Invalid function pointer called with signature 'vii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_ii(x) { Module["printErr"]("Invalid function pointer called with signature 'ii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_viddd(x) { Module["printErr"]("Invalid function pointer called with signature 'viddd'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_vidd(x) { Module["printErr"]("Invalid function pointer called with signature 'vidd'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_iiii(x) { Module["printErr"]("Invalid function pointer called with signature 'iiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_viiiiiiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiiiiiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_viiiiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiiiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_viii(x) { Module["printErr"]("Invalid function pointer called with signature 'viii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_vidddd(x) { Module["printErr"]("Invalid function pointer called with signature 'vidddd'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_vdi(x) { Module["printErr"]("Invalid function pointer called with signature 'vdi'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_viiiiiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiiiiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_viiiiiiiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiiiiiiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_iii(x) { Module["printErr"]("Invalid function pointer called with signature 'iii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_i(x) { Module["printErr"]("Invalid function pointer called with signature 'i'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_vdddddd(x) { Module["printErr"]("Invalid function pointer called with signature 'vdddddd'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_vdddd(x) { Module["printErr"]("Invalid function pointer called with signature 'vdddd'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_vdd(x) { Module["printErr"]("Invalid function pointer called with signature 'vdd'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_v(x) { Module["printErr"]("Invalid function pointer called with signature 'v'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_viid(x) { Module["printErr"]("Invalid function pointer called with signature 'viid'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_viiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + function invoke_viiiii(index,a1,a2,a3,a4,a5) { try { Module["dynCall_viiiii"](index,a1,a2,a3,a4,a5); } catch(e) { if (typeof e !== 'number' && e !== 'longjmp') throw e; - asm["setThrew"](1, 0); + Module["setThrew"](1, 0); } } @@ -10338,7 +10662,7 @@ function invoke_vd(index,a1) { Module["dynCall_vd"](index,a1); } catch(e) { if (typeof e !== 'number' && e !== 'longjmp') throw e; - asm["setThrew"](1, 0); + Module["setThrew"](1, 0); } } @@ -10347,7 +10671,7 @@ function invoke_vid(index,a1,a2) { Module["dynCall_vid"](index,a1,a2); } catch(e) { if (typeof e !== 'number' && e !== 'longjmp') throw e; - asm["setThrew"](1, 0); + Module["setThrew"](1, 0); } } @@ -10356,7 +10680,7 @@ function invoke_vi(index,a1) { Module["dynCall_vi"](index,a1); } catch(e) { if (typeof e !== 'number' && e !== 'longjmp') throw e; - asm["setThrew"](1, 0); + Module["setThrew"](1, 0); } } @@ -10365,7 +10689,7 @@ function invoke_vii(index,a1,a2) { Module["dynCall_vii"](index,a1,a2); } catch(e) { if (typeof e !== 'number' && e !== 'longjmp') throw e; - asm["setThrew"](1, 0); + Module["setThrew"](1, 0); } } @@ -10374,7 +10698,7 @@ function invoke_ii(index,a1) { return Module["dynCall_ii"](index,a1); } catch(e) { if (typeof e !== 'number' && e !== 'longjmp') throw e; - asm["setThrew"](1, 0); + Module["setThrew"](1, 0); } } @@ -10383,7 +10707,7 @@ function invoke_viddd(index,a1,a2,a3,a4) { Module["dynCall_viddd"](index,a1,a2,a3,a4); } catch(e) { if (typeof e !== 'number' && e !== 'longjmp') throw e; - asm["setThrew"](1, 0); + Module["setThrew"](1, 0); } } @@ -10392,7 +10716,7 @@ function invoke_vidd(index,a1,a2,a3) { Module["dynCall_vidd"](index,a1,a2,a3); } catch(e) { if (typeof e !== 'number' && e !== 'longjmp') throw e; - asm["setThrew"](1, 0); + Module["setThrew"](1, 0); } } @@ -10401,7 +10725,7 @@ function invoke_iiii(index,a1,a2,a3) { return Module["dynCall_iiii"](index,a1,a2,a3); } catch(e) { if (typeof e !== 'number' && e !== 'longjmp') throw e; - asm["setThrew"](1, 0); + Module["setThrew"](1, 0); } } @@ -10410,7 +10734,7 @@ function invoke_viiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8) { Module["dynCall_viiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8); } catch(e) { if (typeof e !== 'number' && e !== 'longjmp') throw e; - asm["setThrew"](1, 0); + Module["setThrew"](1, 0); } } @@ -10419,7 +10743,7 @@ function invoke_viiiiii(index,a1,a2,a3,a4,a5,a6) { Module["dynCall_viiiiii"](index,a1,a2,a3,a4,a5,a6); } catch(e) { if (typeof e !== 'number' && e !== 'longjmp') throw e; - asm["setThrew"](1, 0); + Module["setThrew"](1, 0); } } @@ -10428,7 +10752,7 @@ function invoke_viii(index,a1,a2,a3) { Module["dynCall_viii"](index,a1,a2,a3); } catch(e) { if (typeof e !== 'number' && e !== 'longjmp') throw e; - asm["setThrew"](1, 0); + Module["setThrew"](1, 0); } } @@ -10437,7 +10761,7 @@ function invoke_vidddd(index,a1,a2,a3,a4,a5) { Module["dynCall_vidddd"](index,a1,a2,a3,a4,a5); } catch(e) { if (typeof e !== 'number' && e !== 'longjmp') throw e; - asm["setThrew"](1, 0); + Module["setThrew"](1, 0); } } @@ -10446,7 +10770,7 @@ function invoke_vdi(index,a1,a2) { Module["dynCall_vdi"](index,a1,a2); } catch(e) { if (typeof e !== 'number' && e !== 'longjmp') throw e; - asm["setThrew"](1, 0); + Module["setThrew"](1, 0); } } @@ -10455,7 +10779,7 @@ function invoke_viiiiiii(index,a1,a2,a3,a4,a5,a6,a7) { Module["dynCall_viiiiiii"](index,a1,a2,a3,a4,a5,a6,a7); } catch(e) { if (typeof e !== 'number' && e !== 'longjmp') throw e; - asm["setThrew"](1, 0); + Module["setThrew"](1, 0); } } @@ -10464,7 +10788,7 @@ function invoke_viiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9) { Module["dynCall_viiiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9); } catch(e) { if (typeof e !== 'number' && e !== 'longjmp') throw e; - asm["setThrew"](1, 0); + Module["setThrew"](1, 0); } } @@ -10473,7 +10797,7 @@ function invoke_iii(index,a1,a2) { return Module["dynCall_iii"](index,a1,a2); } catch(e) { if (typeof e !== 'number' && e !== 'longjmp') throw e; - asm["setThrew"](1, 0); + Module["setThrew"](1, 0); } } @@ -10482,16 +10806,7 @@ function invoke_i(index) { return Module["dynCall_i"](index); } catch(e) { if (typeof e !== 'number' && e !== 'longjmp') throw e; - asm["setThrew"](1, 0); - } -} - -function invoke_iiiiii(index,a1,a2,a3,a4,a5) { - try { - return Module["dynCall_iiiiii"](index,a1,a2,a3,a4,a5); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - asm["setThrew"](1, 0); + Module["setThrew"](1, 0); } } @@ -10500,7 +10815,7 @@ function invoke_vdddddd(index,a1,a2,a3,a4,a5,a6) { Module["dynCall_vdddddd"](index,a1,a2,a3,a4,a5,a6); } catch(e) { if (typeof e !== 'number' && e !== 'longjmp') throw e; - asm["setThrew"](1, 0); + Module["setThrew"](1, 0); } } @@ -10509,7 +10824,7 @@ function invoke_vdddd(index,a1,a2,a3,a4) { Module["dynCall_vdddd"](index,a1,a2,a3,a4); } catch(e) { if (typeof e !== 'number' && e !== 'longjmp') throw e; - asm["setThrew"](1, 0); + Module["setThrew"](1, 0); } } @@ -10518,7 +10833,7 @@ function invoke_vdd(index,a1,a2) { Module["dynCall_vdd"](index,a1,a2); } catch(e) { if (typeof e !== 'number' && e !== 'longjmp') throw e; - asm["setThrew"](1, 0); + Module["setThrew"](1, 0); } } @@ -10527,7 +10842,7 @@ function invoke_v(index) { Module["dynCall_v"](index); } catch(e) { if (typeof e !== 'number' && e !== 'longjmp') throw e; - asm["setThrew"](1, 0); + Module["setThrew"](1, 0); } } @@ -10536,7 +10851,7 @@ function invoke_viid(index,a1,a2,a3) { Module["dynCall_viid"](index,a1,a2,a3); } catch(e) { if (typeof e !== 'number' && e !== 'longjmp') throw e; - asm["setThrew"](1, 0); + Module["setThrew"](1, 0); } } @@ -10545,41 +10860,33 @@ function invoke_viiii(index,a1,a2,a3,a4) { Module["dynCall_viiii"](index,a1,a2,a3,a4); } catch(e) { if (typeof e !== 'number' && e !== 'longjmp') throw e; - asm["setThrew"](1, 0); + Module["setThrew"](1, 0); } } -Module.asmGlobalArg = { "Math": Math, "Int8Array": Int8Array, "Int16Array": Int16Array, "Int32Array": Int32Array, "Uint8Array": Uint8Array, "Uint16Array": Uint16Array, "Uint32Array": Uint32Array, "Float32Array": Float32Array, "Float64Array": Float64Array, "NaN": NaN, "Infinity": Infinity, "byteLength": byteLength }; +Module.asmGlobalArg = { "Math": Math, "Int8Array": Int8Array, "Int16Array": Int16Array, "Int32Array": Int32Array, "Uint8Array": Uint8Array, "Uint16Array": Uint16Array, "Uint32Array": Uint32Array, "Float32Array": Float32Array, "Float64Array": Float64Array, "NaN": NaN, "Infinity": Infinity }; -Module.asmLibraryArg = { "abort": abort, "assert": assert, "invoke_viiiii": invoke_viiiii, "invoke_vd": invoke_vd, "invoke_vid": invoke_vid, "invoke_vi": invoke_vi, "invoke_vii": invoke_vii, "invoke_ii": invoke_ii, "invoke_viddd": invoke_viddd, "invoke_vidd": invoke_vidd, "invoke_iiii": invoke_iiii, "invoke_viiiiiiii": invoke_viiiiiiii, "invoke_viiiiii": invoke_viiiiii, "invoke_viii": invoke_viii, "invoke_vidddd": invoke_vidddd, "invoke_vdi": invoke_vdi, "invoke_viiiiiii": invoke_viiiiiii, "invoke_viiiiiiiii": invoke_viiiiiiiii, "invoke_iii": invoke_iii, "invoke_i": invoke_i, "invoke_iiiiii": invoke_iiiiii, "invoke_vdddddd": invoke_vdddddd, "invoke_vdddd": invoke_vdddd, "invoke_vdd": invoke_vdd, "invoke_v": invoke_v, "invoke_viid": invoke_viid, "invoke_viiii": invoke_viiii, "_emscripten_glGetTexParameterfv": _emscripten_glGetTexParameterfv, "_glUseProgram": _glUseProgram, "_exp": _exp, "_glfwCreateWindow": _glfwCreateWindow, "_emscripten_glReleaseShaderCompiler": _emscripten_glReleaseShaderCompiler, "_emscripten_glBlendFuncSeparate": _emscripten_glBlendFuncSeparate, "_emscripten_glUniform4iv": _emscripten_glUniform4iv, "_emscripten_glVertexAttribPointer": _emscripten_glVertexAttribPointer, "_emscripten_glGetIntegerv": _emscripten_glGetIntegerv, "_emscripten_glCullFace": _emscripten_glCullFace, "_emscripten_glIsProgram": _emscripten_glIsProgram, "_emscripten_glStencilMaskSeparate": _emscripten_glStencilMaskSeparate, "_emscripten_glViewport": _emscripten_glViewport, "_emscripten_glFrontFace": _emscripten_glFrontFace, "_alBufferData": _alBufferData, "___assert_fail": ___assert_fail, "_glDeleteProgram": _glDeleteProgram, "_emscripten_glUniform3fv": _emscripten_glUniform3fv, "_emscripten_glPolygonOffset": _emscripten_glPolygonOffset, "_emscripten_glUseProgram": _emscripten_glUseProgram, "_emscripten_glBlendColor": _emscripten_glBlendColor, "_glBindBuffer": _glBindBuffer, "_emscripten_glDepthFunc": _emscripten_glDepthFunc, "_glGetShaderInfoLog": _glGetShaderInfoLog, "_alSource3f": _alSource3f, "_sqrtf": _sqrtf, "_emscripten_set_fullscreenchange_callback": _emscripten_set_fullscreenchange_callback, "_emscripten_set_touchmove_callback": _emscripten_set_touchmove_callback, "_emscripten_set_main_loop_timing": _emscripten_set_main_loop_timing, "_ceilf": _ceilf, "_glBlendFunc": _glBlendFunc, "_emscripten_glDisableVertexAttribArray": _emscripten_glDisableVertexAttribArray, "_glGetAttribLocation": _glGetAttribLocation, "_glDisableVertexAttribArray": _glDisableVertexAttribArray, "_emscripten_memcpy_big": _emscripten_memcpy_big, "_emscripten_glReadPixels": _emscripten_glReadPixels, "_alcGetString": _alcGetString, "_sysconf": _sysconf, "_emscripten_glSampleCoverage": _emscripten_glSampleCoverage, "_emscripten_glVertexPointer": _emscripten_glVertexPointer, "_emscripten_set_touchstart_callback": _emscripten_set_touchstart_callback, "emscriptenWebGLComputeImageSize": emscriptenWebGLComputeImageSize, "_emscripten_glGetBooleanv": _emscripten_glGetBooleanv, "___syscall221": ___syscall221, "_cos": _cos, "_llvm_stacksave": _llvm_stacksave, "_emscripten_glUniform1i": _emscripten_glUniform1i, "_emscripten_glGenBuffers": _emscripten_glGenBuffers, "_emscripten_glDeleteObjectARB": _emscripten_glDeleteObjectARB, "_glfwSetWindowSizeCallback": _glfwSetWindowSizeCallback, "_emscripten_glGetShaderPrecisionFormat": _emscripten_glGetShaderPrecisionFormat, "_glfwInit": _glfwInit, "_emscripten_glGetPointerv": _emscripten_glGetPointerv, "_glGenBuffers": _glGenBuffers, "_glShaderSource": _glShaderSource, "_emscripten_glGetString": _emscripten_glGetString, "_emscripten_glIsFramebuffer": _emscripten_glIsFramebuffer, "_emscripten_glIsEnabled": _emscripten_glIsEnabled, "_emscripten_glScissor": _emscripten_glScissor, "_emscripten_glVertexAttrib4fv": _emscripten_glVertexAttrib4fv, "_emscripten_glTexParameteriv": _emscripten_glTexParameteriv, "_pthread_cleanup_push": _pthread_cleanup_push, "___syscall145": ___syscall145, "_emscripten_glBindProgramARB": _emscripten_glBindProgramARB, "_emscripten_glStencilOpSeparate": _emscripten_glStencilOpSeparate, "_alSourcePlay": _alSourcePlay, "_alSourcei": _alSourcei, "_emscripten_glFramebufferRenderbuffer": _emscripten_glFramebufferRenderbuffer, "___syscall140": ___syscall140, "_glfwSetErrorCallback": _glfwSetErrorCallback, "_glfwSetCursorPosCallback": _glfwSetCursorPosCallback, "_glfwDefaultWindowHints": _glfwDefaultWindowHints, "_emscripten_glIsBuffer": _emscripten_glIsBuffer, "___syscall146": ___syscall146, "_glfwDestroyWindow": _glfwDestroyWindow, "_pthread_cleanup_pop": _pthread_cleanup_pop, "_emscripten_glAttachShader": _emscripten_glAttachShader, "_glVertexAttribPointer": _glVertexAttribPointer, "_emscripten_glCompressedTexSubImage2D": _emscripten_glCompressedTexSubImage2D, "_emscripten_glUniform2f": _emscripten_glUniform2f, "_alcCreateContext": _alcCreateContext, "_emscripten_glTexParameterfv": _emscripten_glTexParameterfv, "_abort": _abort, "_emscripten_glUniformMatrix2fv": _emscripten_glUniformMatrix2fv, "_atan2": _atan2, "_glGetProgramInfoLog": _glGetProgramInfoLog, "_emscripten_glGetUniformiv": _emscripten_glGetUniformiv, "_emscripten_glTexParameterf": _emscripten_glTexParameterf, "_emscripten_glGetAttachedShaders": _emscripten_glGetAttachedShaders, "_emscripten_glGenTextures": _emscripten_glGenTextures, "_emscripten_glTexParameteri": _emscripten_glTexParameteri, "_llvm_stackrestore": _llvm_stackrestore, "_fabsf": _fabsf, "_glfwMakeContextCurrent": _glfwMakeContextCurrent, "_emscripten_glShaderBinary": _emscripten_glShaderBinary, "_glDrawElements": _glDrawElements, "_alGetSourcei": _alGetSourcei, "_glBufferSubData": _glBufferSubData, "_alcMakeContextCurrent": _alcMakeContextCurrent, "_emscripten_glGenVertexArrays": _emscripten_glGenVertexArrays, "_emscripten_glVertexAttrib2fv": _emscripten_glVertexAttrib2fv, "_glViewport": _glViewport, "_alSourceQueueBuffers": _alSourceQueueBuffers, "_emscripten_glGetTexParameteriv": _emscripten_glGetTexParameteriv, "___setErrNo": ___setErrNo, "_eglGetProcAddress": _eglGetProcAddress, "_alcGetCurrentContext": _alcGetCurrentContext, "_emscripten_glBindAttribLocation": _emscripten_glBindAttribLocation, "_glDeleteTextures": _glDeleteTextures, "_glDepthFunc": _glDepthFunc, "_emscripten_glClientActiveTexture": _emscripten_glClientActiveTexture, "_emscripten_glVertexAttrib2f": _emscripten_glVertexAttrib2f, "_emscripten_glFlush": _emscripten_glFlush, "_emscripten_glUniform4i": _emscripten_glUniform4i, "_emscripten_glCheckFramebufferStatus": _emscripten_glCheckFramebufferStatus, "_emscripten_glGenerateMipmap": _emscripten_glGenerateMipmap, "_emscripten_glGetError": _emscripten_glGetError, "_alGenBuffers": _alGenBuffers, "_emscripten_glClearDepthf": _emscripten_glClearDepthf, "_emscripten_glBufferData": _emscripten_glBufferData, "_emscripten_glUniform3i": _emscripten_glUniform3i, "_emscripten_glRotatef": _emscripten_glRotatef, "_emscripten_glDeleteShader": _emscripten_glDeleteShader, "_glEnable": _glEnable, "_fabs": _fabs, "_glGenTextures": _glGenTextures, "_emscripten_glMatrixMode": _emscripten_glMatrixMode, "_alDeleteSources": _alDeleteSources, "_emscripten_glClearStencil": _emscripten_glClearStencil, "_emscripten_glGetUniformLocation": _emscripten_glGetUniformLocation, "emscriptenWebGLGet": emscriptenWebGLGet, "_alSourceUnqueueBuffers": _alSourceUnqueueBuffers, "_emscripten_glEnableVertexAttribArray": _emscripten_glEnableVertexAttribArray, "_alGetError": _alGetError, "_emscripten_get_now": _emscripten_get_now, "_emscripten_glNormalPointer": _emscripten_glNormalPointer, "_glAttachShader": _glAttachShader, "_emscripten_glTexCoordPointer": _emscripten_glTexCoordPointer, "_emscripten_glFinish": _emscripten_glFinish, "_glCreateProgram": _glCreateProgram, "_glUniformMatrix4fv": _glUniformMatrix4fv, "_emscripten_glClearDepth": _emscripten_glClearDepth, "___lock": ___lock, "_emscripten_glBindFramebuffer": _emscripten_glBindFramebuffer, "___syscall6": ___syscall6, "___syscall5": ___syscall5, "_emscripten_glStencilFuncSeparate": _emscripten_glStencilFuncSeparate, "_emscripten_glVertexAttrib3f": _emscripten_glVertexAttrib3f, "_time": _time, "_glBindFramebuffer": _glBindFramebuffer, "_emscripten_glVertexAttrib1f": _emscripten_glVertexAttrib1f, "_emscripten_glGetFramebufferAttachmentParameteriv": _emscripten_glGetFramebufferAttachmentParameteriv, "_emscripten_glBlendEquationSeparate": _emscripten_glBlendEquationSeparate, "_exit": _exit, "_emscripten_asm_const_2": _emscripten_asm_const_2, "_glGetString": _glGetString, "_emscripten_glGetActiveAttrib": _emscripten_glGetActiveAttrib, "_alSourcef": _alSourcef, "_emscripten_glDrawRangeElements": _emscripten_glDrawRangeElements, "_llvm_pow_f64": _llvm_pow_f64, "_glDeleteFramebuffers": _glDeleteFramebuffers, "_glCompressedTexImage2D": _glCompressedTexImage2D, "_glfwPollEvents": _glfwPollEvents, "_emscripten_glUniform4f": _emscripten_glUniform4f, "_glfwSwapInterval": _glfwSwapInterval, "_glfwGetVideoModes": _glfwGetVideoModes, "_sin": _sin, "_emscripten_glClear": _emscripten_glClear, "_emscripten_glDrawElements": _emscripten_glDrawElements, "_emscripten_glBlendFunc": _emscripten_glBlendFunc, "_emscripten_glGetShaderInfoLog": _emscripten_glGetShaderInfoLog, "_sbrk": _sbrk, "_emscripten_glStencilMask": _emscripten_glStencilMask, "_emscripten_glUniform1iv": _emscripten_glUniform1iv, "_emscripten_glGetVertexAttribPointerv": _emscripten_glGetVertexAttribPointerv, "_emscripten_glUniform2i": _emscripten_glUniform2i, "emscriptenWebGLGetUniform": emscriptenWebGLGetUniform, "_emscripten_glGenRenderbuffers": _emscripten_glGenRenderbuffers, "_emscripten_glDeleteVertexArrays": _emscripten_glDeleteVertexArrays, "_glfwSetWindowShouldClose": _glfwSetWindowShouldClose, "_emscripten_glUniform1fv": _emscripten_glUniform1fv, "_emscripten_glGetActiveUniform": _emscripten_glGetActiveUniform, "_glBindTexture": _glBindTexture, "_emscripten_glUniform3iv": _emscripten_glUniform3iv, "_emscripten_glUniform2iv": _emscripten_glUniform2iv, "_emscripten_glHint": _emscripten_glHint, "_glfwSetCharCallback": _glfwSetCharCallback, "_emscripten_glGetBufferParameteriv": _emscripten_glGetBufferParameteriv, "_emscripten_glLoadMatrixf": _emscripten_glLoadMatrixf, "_emscripten_glDeleteProgram": _emscripten_glDeleteProgram, "_emscripten_glDeleteRenderbuffers": _emscripten_glDeleteRenderbuffers, "_glfwSetScrollCallback": _glfwSetScrollCallback, "_emscripten_glDrawElementsInstanced": _emscripten_glDrawElementsInstanced, "_emscripten_glVertexAttrib4f": _emscripten_glVertexAttrib4f, "_alcDestroyContext": _alcDestroyContext, "_glDrawArrays": _glDrawArrays, "_emscripten_glTexSubImage2D": _emscripten_glTexSubImage2D, "_glCreateShader": _glCreateShader, "_emscripten_glPixelStorei": _emscripten_glPixelStorei, "_glCompileShader": _glCompileShader, "_emscripten_glUniformMatrix3fv": _emscripten_glUniformMatrix3fv, "_emscripten_glDepthRange": _emscripten_glDepthRange, "_emscripten_glCompressedTexImage2D": _emscripten_glCompressedTexImage2D, "_floorf": _floorf, "_log": _log, "_glActiveTexture": _glActiveTexture, "_glfwSwapBuffers": _glfwSwapBuffers, "_emscripten_glDepthMask": _emscripten_glDepthMask, "_glfwSetWindowIconifyCallback": _glfwSetWindowIconifyCallback, "_emscripten_glDrawBuffers": _emscripten_glDrawBuffers, "_alSourceStop": _alSourceStop, "_eglWaitClient": _eglWaitClient, "_emscripten_glGetObjectParameterivARB": _emscripten_glGetObjectParameterivARB, "_emscripten_glFramebufferTexture2D": _emscripten_glFramebufferTexture2D, "_alcCloseDevice": _alcCloseDevice, "_glUniform1i": _glUniform1i, "_glEnableVertexAttribArray": _glEnableVertexAttribArray, "_emscripten_glStencilFunc": _emscripten_glStencilFunc, "emscriptenWebGLGetVertexAttrib": emscriptenWebGLGetVertexAttrib, "_alcGetContextsDevice": _alcGetContextsDevice, "_emscripten_glUniform2fv": _emscripten_glUniform2fv, "_emscripten_glGetProgramiv": _emscripten_glGetProgramiv, "_glDeleteBuffers": _glDeleteBuffers, "_glBufferData": _glBufferData, "_glTexImage2D": _glTexImage2D, "_emscripten_glGetShaderiv": _emscripten_glGetShaderiv, "_emscripten_glEnable": _emscripten_glEnable, "_emscripten_glGenFramebuffers": _emscripten_glGenFramebuffers, "_floor": _floor, "_emscripten_glUniformMatrix4fv": _emscripten_glUniformMatrix4fv, "_emscripten_glLoadIdentity": _emscripten_glLoadIdentity, "_glDeleteShader": _glDeleteShader, "_cosf": _cosf, "_glGetProgramiv": _glGetProgramiv, "emscriptenWebGLGetTexPixelData": emscriptenWebGLGetTexPixelData, "_emscripten_glIsRenderbuffer": _emscripten_glIsRenderbuffer, "_glfwGetTime": _glfwGetTime, "_emscripten_glRenderbufferStorage": _emscripten_glRenderbufferStorage, "_alListener3f": _alListener3f, "_emscripten_glGetVertexAttribiv": _emscripten_glGetVertexAttribiv, "_emscripten_glBindVertexArray": _emscripten_glBindVertexArray, "_emscripten_glDrawArraysInstanced": _emscripten_glDrawArraysInstanced, "_emscripten_set_touchcancel_callback": _emscripten_set_touchcancel_callback, "_emscripten_glCreateShader": _emscripten_glCreateShader, "_glfwGetPrimaryMonitor": _glfwGetPrimaryMonitor, "_emscripten_glDeleteTextures": _emscripten_glDeleteTextures, "_emscripten_glBindRenderbuffer": _emscripten_glBindRenderbuffer, "_glLinkProgram": _glLinkProgram, "_emscripten_glVertexAttribDivisor": _emscripten_glVertexAttribDivisor, "_emscripten_set_touchend_callback": _emscripten_set_touchend_callback, "_emscripten_glGetUniformfv": _emscripten_glGetUniformfv, "_emscripten_glGetVertexAttribfv": _emscripten_glGetVertexAttribfv, "_emscripten_glGetRenderbufferParameteriv": _emscripten_glGetRenderbufferParameteriv, "_emscripten_glDeleteFramebuffers": _emscripten_glDeleteFramebuffers, "_glGetShaderiv": _glGetShaderiv, "_emscripten_glVertexAttrib3fv": _emscripten_glVertexAttrib3fv, "_glGetUniformLocation": _glGetUniformLocation, "_emscripten_glGetInfoLogARB": _emscripten_glGetInfoLogARB, "_emscripten_glCompileShader": _emscripten_glCompileShader, "_glClear": _glClear, "_glUniform4fv": _glUniform4fv, "_emscripten_glFrustum": _emscripten_glFrustum, "_emscripten_glDisable": _emscripten_glDisable, "_emscripten_glDepthRangef": _emscripten_glDepthRangef, "_sinf": _sinf, "__exit": __exit, "_glfwTerminate": _glfwTerminate, "_emscripten_glUniform3f": _emscripten_glUniform3f, "_emscripten_glStencilOp": _emscripten_glStencilOp, "_glPixelStorei": _glPixelStorei, "_emscripten_glColorMask": _emscripten_glColorMask, "_emscripten_glLinkProgram": _emscripten_glLinkProgram, "_emscripten_glBlendEquation": _emscripten_glBlendEquation, "_emscripten_glIsTexture": _emscripten_glIsTexture, "_alDeleteBuffers": _alDeleteBuffers, "_pthread_self": _pthread_self, "_emscripten_glVertexAttrib1fv": _emscripten_glVertexAttrib1fv, "_emscripten_glLineWidth": _emscripten_glLineWidth, "_emscripten_glBindTexture": _emscripten_glBindTexture, "_glfwSetMouseButtonCallback": _glfwSetMouseButtonCallback, "_glfwGetCursorPos": _glfwGetCursorPos, "_emscripten_glActiveTexture": _emscripten_glActiveTexture, "_emscripten_glDeleteBuffers": _emscripten_glDeleteBuffers, "___syscall54": ___syscall54, "___unlock": ___unlock, "_emscripten_glBufferSubData": _emscripten_glBufferSubData, "_emscripten_glColorPointer": _emscripten_glColorPointer, "_emscripten_set_main_loop": _emscripten_set_main_loop, "_emscripten_glGetProgramInfoLog": _emscripten_glGetProgramInfoLog, "_glfwWindowHint": _glfwWindowHint, "_alGenSources": _alGenSources, "_emscripten_glShaderSource": _emscripten_glShaderSource, "_emscripten_glIsShader": _emscripten_glIsShader, "_emscripten_glUniform4fv": _emscripten_glUniform4fv, "_emscripten_glUniform1f": _emscripten_glUniform1f, "_alcOpenDevice": _alcOpenDevice, "_emscripten_glDrawArrays": _emscripten_glDrawArrays, "_glfwSetKeyCallback": _glfwSetKeyCallback, "_emscripten_glClearColor": _emscripten_glClearColor, "_emscripten_glGetShaderSource": _emscripten_glGetShaderSource, "_emscripten_glCreateProgram": _emscripten_glCreateProgram, "_emscripten_glCopyTexSubImage2D": _emscripten_glCopyTexSubImage2D, "_emscripten_glGetAttribLocation": _emscripten_glGetAttribLocation, "_glTexParameteri": _glTexParameteri, "_emscripten_glValidateProgram": _emscripten_glValidateProgram, "_emscripten_glBindBuffer": _emscripten_glBindBuffer, "_emscripten_glGetFloatv": _emscripten_glGetFloatv, "_emscripten_glDetachShader": _emscripten_glDetachShader, "_glClearColor": _glClearColor, "_emscripten_glEnableClientState": _emscripten_glEnableClientState, "_glfwSetCursorEnterCallback": _glfwSetCursorEnterCallback, "_emscripten_glCopyTexImage2D": _emscripten_glCopyTexImage2D, "_emscripten_glTexImage2D": _emscripten_glTexImage2D, "STACKTOP": STACKTOP, "STACK_MAX": STACK_MAX, "tempDoublePtr": tempDoublePtr, "ABORT": ABORT, "cttz_i8": cttz_i8 }; +Module.asmLibraryArg = { "abort": abort, "assert": assert, "enlargeMemory": enlargeMemory, "getTotalMemory": getTotalMemory, "abortOnCannotGrowMemory": abortOnCannotGrowMemory, "abortStackOverflow": abortStackOverflow, "nullFunc_viiiii": nullFunc_viiiii, "nullFunc_vd": nullFunc_vd, "nullFunc_vid": nullFunc_vid, "nullFunc_vi": nullFunc_vi, "nullFunc_vii": nullFunc_vii, "nullFunc_ii": nullFunc_ii, "nullFunc_viddd": nullFunc_viddd, "nullFunc_vidd": nullFunc_vidd, "nullFunc_iiii": nullFunc_iiii, "nullFunc_viiiiiiii": nullFunc_viiiiiiii, "nullFunc_viiiiii": nullFunc_viiiiii, "nullFunc_viii": nullFunc_viii, "nullFunc_vidddd": nullFunc_vidddd, "nullFunc_vdi": nullFunc_vdi, "nullFunc_viiiiiii": nullFunc_viiiiiii, "nullFunc_viiiiiiiii": nullFunc_viiiiiiiii, "nullFunc_iii": nullFunc_iii, "nullFunc_i": nullFunc_i, "nullFunc_vdddddd": nullFunc_vdddddd, "nullFunc_vdddd": nullFunc_vdddd, "nullFunc_vdd": nullFunc_vdd, "nullFunc_v": nullFunc_v, "nullFunc_viid": nullFunc_viid, "nullFunc_viiii": nullFunc_viiii, "invoke_viiiii": invoke_viiiii, "invoke_vd": invoke_vd, "invoke_vid": invoke_vid, "invoke_vi": invoke_vi, "invoke_vii": invoke_vii, "invoke_ii": invoke_ii, "invoke_viddd": invoke_viddd, "invoke_vidd": invoke_vidd, "invoke_iiii": invoke_iiii, "invoke_viiiiiiii": invoke_viiiiiiii, "invoke_viiiiii": invoke_viiiiii, "invoke_viii": invoke_viii, "invoke_vidddd": invoke_vidddd, "invoke_vdi": invoke_vdi, "invoke_viiiiiii": invoke_viiiiiii, "invoke_viiiiiiiii": invoke_viiiiiiiii, "invoke_iii": invoke_iii, "invoke_i": invoke_i, "invoke_vdddddd": invoke_vdddddd, "invoke_vdddd": invoke_vdddd, "invoke_vdd": invoke_vdd, "invoke_v": invoke_v, "invoke_viid": invoke_viid, "invoke_viiii": invoke_viiii, "_emscripten_glGetTexParameterfv": _emscripten_glGetTexParameterfv, "_glUseProgram": _glUseProgram, "_emscripten_glShaderSource": _emscripten_glShaderSource, "_glfwCreateWindow": _glfwCreateWindow, "_emscripten_glReleaseShaderCompiler": _emscripten_glReleaseShaderCompiler, "_emscripten_glBlendFuncSeparate": _emscripten_glBlendFuncSeparate, "_emscripten_glUniform4iv": _emscripten_glUniform4iv, "_emscripten_glVertexAttribPointer": _emscripten_glVertexAttribPointer, "_emscripten_glGetIntegerv": _emscripten_glGetIntegerv, "_emscripten_glCullFace": _emscripten_glCullFace, "_emscripten_glIsProgram": _emscripten_glIsProgram, "_emscripten_glStencilMaskSeparate": _emscripten_glStencilMaskSeparate, "_emscripten_glViewport": _emscripten_glViewport, "_emscripten_glFrontFace": _emscripten_glFrontFace, "_alBufferData": _alBufferData, "___assert_fail": ___assert_fail, "_glDeleteProgram": _glDeleteProgram, "_emscripten_glUniform3fv": _emscripten_glUniform3fv, "_emscripten_glPolygonOffset": _emscripten_glPolygonOffset, "_emscripten_glUseProgram": _emscripten_glUseProgram, "_emscripten_glBlendColor": _emscripten_glBlendColor, "_glBindBuffer": _glBindBuffer, "_emscripten_glDepthFunc": _emscripten_glDepthFunc, "_glGetShaderInfoLog": _glGetShaderInfoLog, "_alSource3f": _alSource3f, "_emscripten_set_fullscreenchange_callback": _emscripten_set_fullscreenchange_callback, "_emscripten_set_touchmove_callback": _emscripten_set_touchmove_callback, "_emscripten_set_main_loop_timing": _emscripten_set_main_loop_timing, "_emscripten_set_gamepaddisconnected_callback": _emscripten_set_gamepaddisconnected_callback, "_glDisable": _glDisable, "_glBlendFunc": _glBlendFunc, "_emscripten_glDisableVertexAttribArray": _emscripten_glDisableVertexAttribArray, "_glGetAttribLocation": _glGetAttribLocation, "_glDisableVertexAttribArray": _glDisableVertexAttribArray, "_glCreateShader": _glCreateShader, "_alcGetString": _alcGetString, "_emscripten_glSampleCoverage": _emscripten_glSampleCoverage, "_emscripten_glVertexPointer": _emscripten_glVertexPointer, "_emscripten_set_touchstart_callback": _emscripten_set_touchstart_callback, "emscriptenWebGLComputeImageSize": emscriptenWebGLComputeImageSize, "_emscripten_glGetBooleanv": _emscripten_glGetBooleanv, "_emscripten_glGetShaderSource": _emscripten_glGetShaderSource, "_glUniform4f": _glUniform4f, "_llvm_stacksave": _llvm_stacksave, "_emscripten_glUniform1i": _emscripten_glUniform1i, "_emscripten_glStencilFuncSeparate": _emscripten_glStencilFuncSeparate, "_emscripten_glFrustum": _emscripten_glFrustum, "_emscripten_glGenBuffers": _emscripten_glGenBuffers, "_emscripten_glDeleteObjectARB": _emscripten_glDeleteObjectARB, "_glfwSetWindowSizeCallback": _glfwSetWindowSizeCallback, "_emscripten_glGetShaderPrecisionFormat": _emscripten_glGetShaderPrecisionFormat, "_glfwInit": _glfwInit, "_emscripten_glGetPointerv": _emscripten_glGetPointerv, "_glGenBuffers": _glGenBuffers, "_glShaderSource": _glShaderSource, "_emscripten_glGetString": _emscripten_glGetString, "_emscripten_glIsFramebuffer": _emscripten_glIsFramebuffer, "_emscripten_glIsEnabled": _emscripten_glIsEnabled, "_emscripten_glScissor": _emscripten_glScissor, "_emscripten_glVertexAttrib4fv": _emscripten_glVertexAttrib4fv, "_emscripten_glFramebufferTexture2D": _emscripten_glFramebufferTexture2D, "_emscripten_glTexParameteriv": _emscripten_glTexParameteriv, "_emscripten_glBindProgramARB": _emscripten_glBindProgramARB, "_emscripten_glStencilOpSeparate": _emscripten_glStencilOpSeparate, "_alSourcePlay": _alSourcePlay, "_alSourcei": _alSourcei, "_emscripten_glFramebufferRenderbuffer": _emscripten_glFramebufferRenderbuffer, "___syscall140": ___syscall140, "_glfwSetErrorCallback": _glfwSetErrorCallback, "_glfwDefaultWindowHints": _glfwDefaultWindowHints, "_emscripten_glIsBuffer": _emscripten_glIsBuffer, "___syscall146": ___syscall146, "_glfwDestroyWindow": _glfwDestroyWindow, "_emscripten_glGetActiveAttrib": _emscripten_glGetActiveAttrib, "_emscripten_glAttachShader": _emscripten_glAttachShader, "_glVertexAttribPointer": _glVertexAttribPointer, "_emscripten_glUniform2i": _emscripten_glUniform2i, "_emscripten_glUniform2f": _emscripten_glUniform2f, "_alcCreateContext": _alcCreateContext, "_glfwTerminate": _glfwTerminate, "_emscripten_glTexParameterfv": _emscripten_glTexParameterfv, "_emscripten_glUniformMatrix2fv": _emscripten_glUniformMatrix2fv, "_glGetProgramInfoLog": _glGetProgramInfoLog, "_alcGetContextsDevice": _alcGetContextsDevice, "_emscripten_glTexParameterf": _emscripten_glTexParameterf, "_emscripten_glGetAttachedShaders": _emscripten_glGetAttachedShaders, "_emscripten_glGenTextures": _emscripten_glGenTextures, "_emscripten_glTexParameteri": _emscripten_glTexParameteri, "_llvm_stackrestore": _llvm_stackrestore, "_glfwMakeContextCurrent": _glfwMakeContextCurrent, "_emscripten_glClear": _emscripten_glClear, "_glDrawElements": _glDrawElements, "_alGetSourcei": _alGetSourcei, "_glBufferSubData": _glBufferSubData, "_alcMakeContextCurrent": _alcMakeContextCurrent, "_emscripten_glGenVertexArrays": _emscripten_glGenVertexArrays, "_emscripten_glVertexAttrib2fv": _emscripten_glVertexAttrib2fv, "_glViewport": _glViewport, "_alSourceQueueBuffers": _alSourceQueueBuffers, "_emscripten_glGetTexParameteriv": _emscripten_glGetTexParameteriv, "___setErrNo": ___setErrNo, "_eglGetProcAddress": _eglGetProcAddress, "_alcGetCurrentContext": _alcGetCurrentContext, "_emscripten_glBindAttribLocation": _emscripten_glBindAttribLocation, "_glDeleteTextures": _glDeleteTextures, "_glDepthFunc": _glDepthFunc, "_emscripten_glClientActiveTexture": _emscripten_glClientActiveTexture, "_emscripten_glVertexAttrib2f": _emscripten_glVertexAttrib2f, "_emscripten_glFlush": _emscripten_glFlush, "_emscripten_glCheckFramebufferStatus": _emscripten_glCheckFramebufferStatus, "_emscripten_glGenerateMipmap": _emscripten_glGenerateMipmap, "_emscripten_glGetError": _emscripten_glGetError, "_alGenBuffers": _alGenBuffers, "_emscripten_glClearDepthf": _emscripten_glClearDepthf, "_emscripten_glBufferData": _emscripten_glBufferData, "_emscripten_glUniform3i": _emscripten_glUniform3i, "_emscripten_glRotatef": _emscripten_glRotatef, "_emscripten_glDeleteShader": _emscripten_glDeleteShader, "_glEnable": _glEnable, "_emscripten_glReadPixels": _emscripten_glReadPixels, "_emscripten_glMatrixMode": _emscripten_glMatrixMode, "_alDeleteSources": _alDeleteSources, "_emscripten_glClearStencil": _emscripten_glClearStencil, "_emscripten_glGetUniformLocation": _emscripten_glGetUniformLocation, "emscriptenWebGLGet": emscriptenWebGLGet, "_alSourceUnqueueBuffers": _alSourceUnqueueBuffers, "_emscripten_glEnableVertexAttribArray": _emscripten_glEnableVertexAttribArray, "_alGetError": _alGetError, "_emscripten_get_now": _emscripten_get_now, "_emscripten_glNormalPointer": _emscripten_glNormalPointer, "_glAttachShader": _glAttachShader, "_emscripten_glTexCoordPointer": _emscripten_glTexCoordPointer, "_emscripten_glEnable": _emscripten_glEnable, "_glCreateProgram": _glCreateProgram, "_glUniformMatrix4fv": _glUniformMatrix4fv, "_emscripten_glClearDepth": _emscripten_glClearDepth, "___lock": ___lock, "emscriptenWebGLGetTexPixelData": emscriptenWebGLGetTexPixelData, "___syscall6": ___syscall6, "___syscall5": ___syscall5, "___syscall145": ___syscall145, "_emscripten_glVertexAttrib3f": _emscripten_glVertexAttrib3f, "_time": _time, "_emscripten_glVertexAttrib1f": _emscripten_glVertexAttrib1f, "_emscripten_glGetFramebufferAttachmentParameteriv": _emscripten_glGetFramebufferAttachmentParameteriv, "_emscripten_glBlendEquationSeparate": _emscripten_glBlendEquationSeparate, "_exit": _exit, "_emscripten_glBindFramebuffer": _emscripten_glBindFramebuffer, "_glGetString": _glGetString, "_emscripten_glUniform4i": _emscripten_glUniform4i, "_alSourcef": _alSourcef, "_emscripten_glDrawRangeElements": _emscripten_glDrawRangeElements, "_glCullFace": _glCullFace, "_llvm_pow_f64": _llvm_pow_f64, "_emscripten_set_keypress_callback": _emscripten_set_keypress_callback, "__emscripten_sample_gamepad_data": __emscripten_sample_gamepad_data, "_emscripten_get_gamepad_status": _emscripten_get_gamepad_status, "_emscripten_glUniform4f": _emscripten_glUniform4f, "_glfwSwapInterval": _glfwSwapInterval, "_glfwGetVideoModes": _glfwGetVideoModes, "_emscripten_set_click_callback": _emscripten_set_click_callback, "_emscripten_glShaderBinary": _emscripten_glShaderBinary, "_emscripten_glDrawElements": _emscripten_glDrawElements, "_emscripten_glBlendFunc": _emscripten_glBlendFunc, "_emscripten_get_num_gamepads": _emscripten_get_num_gamepads, "___syscall221": ___syscall221, "_glCompressedTexImage2D": _glCompressedTexImage2D, "_emscripten_glUniform1iv": _emscripten_glUniform1iv, "_emscripten_glGetVertexAttribPointerv": _emscripten_glGetVertexAttribPointerv, "_glClearDepthf": _glClearDepthf, "_emscripten_glCompressedTexSubImage2D": _emscripten_glCompressedTexSubImage2D, "emscriptenWebGLGetUniform": emscriptenWebGLGetUniform, "_emscripten_glGenRenderbuffers": _emscripten_glGenRenderbuffers, "_emscripten_glDeleteVertexArrays": _emscripten_glDeleteVertexArrays, "_glfwSetWindowShouldClose": _glfwSetWindowShouldClose, "_emscripten_glUniform1fv": _emscripten_glUniform1fv, "_emscripten_glGetActiveUniform": _emscripten_glGetActiveUniform, "_glBindTexture": _glBindTexture, "_emscripten_glUniform3iv": _emscripten_glUniform3iv, "_emscripten_glUniform2iv": _emscripten_glUniform2iv, "_emscripten_glHint": _emscripten_glHint, "_glfwSetCharCallback": _glfwSetCharCallback, "emscriptenWebGLGetVertexAttrib": emscriptenWebGLGetVertexAttrib, "_emscripten_glLoadMatrixf": _emscripten_glLoadMatrixf, "_emscripten_glDeleteProgram": _emscripten_glDeleteProgram, "_emscripten_glDeleteRenderbuffers": _emscripten_glDeleteRenderbuffers, "_glfwSetScrollCallback": _glfwSetScrollCallback, "_emscripten_glDrawElementsInstanced": _emscripten_glDrawElementsInstanced, "_emscripten_glVertexAttrib4f": _emscripten_glVertexAttrib4f, "_alcDestroyContext": _alcDestroyContext, "_glDrawArrays": _glDrawArrays, "_emscripten_glTexSubImage2D": _emscripten_glTexSubImage2D, "_emscripten_memcpy_big": _emscripten_memcpy_big, "_emscripten_glPixelStorei": _emscripten_glPixelStorei, "_glCompileShader": _glCompileShader, "_alListenerf": _alListenerf, "_emscripten_glUniformMatrix3fv": _emscripten_glUniformMatrix3fv, "_emscripten_glColorPointer": _emscripten_glColorPointer, "_emscripten_glGetBufferParameteriv": _emscripten_glGetBufferParameteriv, "_emscripten_glFinish": _emscripten_glFinish, "_glfwSwapBuffers": _glfwSwapBuffers, "_glGetFloatv": _glGetFloatv, "_emscripten_asm_const_iii": _emscripten_asm_const_iii, "_emscripten_glDepthMask": _emscripten_glDepthMask, "_glfwSetWindowIconifyCallback": _glfwSetWindowIconifyCallback, "_emscripten_glDrawBuffers": _emscripten_glDrawBuffers, "_alSourceStop": _alSourceStop, "_glFrontFace": _glFrontFace, "_emscripten_glGetObjectParameterivARB": _emscripten_glGetObjectParameterivARB, "_emscripten_exit_pointerlock": _emscripten_exit_pointerlock, "_alcCloseDevice": _alcCloseDevice, "_glUniform1i": _glUniform1i, "_glEnableVertexAttribArray": _glEnableVertexAttribArray, "_emscripten_glStencilFunc": _emscripten_glStencilFunc, "_abort": _abort, "_emscripten_glGetUniformiv": _emscripten_glGetUniformiv, "_emscripten_glUniform2fv": _emscripten_glUniform2fv, "_glDeleteBuffers": _glDeleteBuffers, "_glBufferData": _glBufferData, "_glTexImage2D": _glTexImage2D, "_emscripten_glGetShaderiv": _emscripten_glGetShaderiv, "_glfwSetKeyCallback": _glfwSetKeyCallback, "_emscripten_glGenFramebuffers": _emscripten_glGenFramebuffers, "_emscripten_glUniformMatrix4fv": _emscripten_glUniformMatrix4fv, "_emscripten_glLoadIdentity": _emscripten_glLoadIdentity, "_glDeleteShader": _glDeleteShader, "_emscripten_glUniform1f": _emscripten_glUniform1f, "_glGetProgramiv": _glGetProgramiv, "_llvm_exp2_f32": _llvm_exp2_f32, "_emscripten_glIsRenderbuffer": _emscripten_glIsRenderbuffer, "_glfwGetTime": _glfwGetTime, "_emscripten_glRenderbufferStorage": _emscripten_glRenderbufferStorage, "_emscripten_set_gamepadconnected_callback": _emscripten_set_gamepadconnected_callback, "_alListener3f": _alListener3f, "_emscripten_glGetVertexAttribiv": _emscripten_glGetVertexAttribiv, "_emscripten_glBindVertexArray": _emscripten_glBindVertexArray, "_emscripten_glDrawArraysInstanced": _emscripten_glDrawArraysInstanced, "_emscripten_set_touchcancel_callback": _emscripten_set_touchcancel_callback, "_emscripten_glCreateShader": _emscripten_glCreateShader, "_emscripten_glStencilMask": _emscripten_glStencilMask, "_emscripten_glDeleteTextures": _emscripten_glDeleteTextures, "_emscripten_glBindRenderbuffer": _emscripten_glBindRenderbuffer, "_glfwGetPrimaryMonitor": _glfwGetPrimaryMonitor, "_glLinkProgram": _glLinkProgram, "_emscripten_glVertexAttribDivisor": _emscripten_glVertexAttribDivisor, "_emscripten_set_touchend_callback": _emscripten_set_touchend_callback, "_emscripten_glGetUniformfv": _emscripten_glGetUniformfv, "_emscripten_glGetVertexAttribfv": _emscripten_glGetVertexAttribfv, "_emscripten_glGetRenderbufferParameteriv": _emscripten_glGetRenderbufferParameteriv, "_emscripten_glDeleteFramebuffers": _emscripten_glDeleteFramebuffers, "_glGetShaderiv": _glGetShaderiv, "_emscripten_glVertexAttrib3fv": _emscripten_glVertexAttrib3fv, "_glGetUniformLocation": _glGetUniformLocation, "_emscripten_glGetInfoLogARB": _emscripten_glGetInfoLogARB, "_emscripten_glCompileShader": _emscripten_glCompileShader, "_glClear": _glClear, "_glGenTextures": _glGenTextures, "_emscripten_glDisable": _emscripten_glDisable, "_emscripten_glDepthRangef": _emscripten_glDepthRangef, "__exit": __exit, "_emscripten_glLineWidth": _emscripten_glLineWidth, "_emscripten_glUniform3f": _emscripten_glUniform3f, "_emscripten_glGetShaderInfoLog": _emscripten_glGetShaderInfoLog, "_emscripten_glStencilOp": _emscripten_glStencilOp, "_glBindAttribLocation": _glBindAttribLocation, "_glPixelStorei": _glPixelStorei, "_emscripten_glColorMask": _emscripten_glColorMask, "_emscripten_glLinkProgram": _emscripten_glLinkProgram, "_emscripten_glBlendEquation": _emscripten_glBlendEquation, "_emscripten_glIsTexture": _emscripten_glIsTexture, "_alDeleteBuffers": _alDeleteBuffers, "_emscripten_glGetProgramiv": _emscripten_glGetProgramiv, "_emscripten_glVertexAttrib1fv": _emscripten_glVertexAttrib1fv, "_emscripten_glBindTexture": _emscripten_glBindTexture, "_glfwSetMouseButtonCallback": _glfwSetMouseButtonCallback, "_glfwGetCursorPos": _glfwGetCursorPos, "_emscripten_glActiveTexture": _emscripten_glActiveTexture, "_emscripten_glDeleteBuffers": _emscripten_glDeleteBuffers, "___syscall54": ___syscall54, "___unlock": ___unlock, "_emscripten_glBufferSubData": _emscripten_glBufferSubData, "_emscripten_glDepthRange": _emscripten_glDepthRange, "_emscripten_set_main_loop": _emscripten_set_main_loop, "_emscripten_glGetProgramInfoLog": _emscripten_glGetProgramInfoLog, "_glfwWindowHint": _glfwWindowHint, "_alGenSources": _alGenSources, "_glfwSetCursorPosCallback": _glfwSetCursorPosCallback, "_emscripten_glIsShader": _emscripten_glIsShader, "_emscripten_glUniform4fv": _emscripten_glUniform4fv, "_alcOpenDevice": _alcOpenDevice, "_emscripten_glDrawArrays": _emscripten_glDrawArrays, "_emscripten_glCompressedTexImage2D": _emscripten_glCompressedTexImage2D, "_emscripten_glClearColor": _emscripten_glClearColor, "_emscripten_glCreateProgram": _emscripten_glCreateProgram, "_emscripten_glCopyTexSubImage2D": _emscripten_glCopyTexSubImage2D, "_emscripten_glGetAttribLocation": _emscripten_glGetAttribLocation, "_glTexParameteri": _glTexParameteri, "_emscripten_glValidateProgram": _emscripten_glValidateProgram, "_emscripten_glBindBuffer": _emscripten_glBindBuffer, "_emscripten_glGetFloatv": _emscripten_glGetFloatv, "_emscripten_glDetachShader": _emscripten_glDetachShader, "_glClearColor": _glClearColor, "_emscripten_glEnableClientState": _emscripten_glEnableClientState, "_glTexParameterf": _glTexParameterf, "_glfwSetCursorEnterCallback": _glfwSetCursorEnterCallback, "_emscripten_glCopyTexImage2D": _emscripten_glCopyTexImage2D, "_emscripten_glTexImage2D": _emscripten_glTexImage2D, "DYNAMICTOP_PTR": DYNAMICTOP_PTR, "tempDoublePtr": tempDoublePtr, "ABORT": ABORT, "STACKTOP": STACKTOP, "STACK_MAX": STACK_MAX, "cttz_i8": cttz_i8 }; // EMSCRIPTEN_START_ASM var asm = (function(global, env, buffer) { 'use asm'; - var Int8View = global.Int8Array; - var Int16View = global.Int16Array; - var Int32View = global.Int32Array; - var Uint8View = global.Uint8Array; - var Uint16View = global.Uint16Array; - var Uint32View = global.Uint32Array; - var Float32View = global.Float32Array; - var Float64View = global.Float64Array; - var HEAP8 = new Int8View(buffer); - var HEAP16 = new Int16View(buffer); - var HEAP32 = new Int32View(buffer); - var HEAPU8 = new Uint8View(buffer); - var HEAPU16 = new Uint16View(buffer); - var HEAPU32 = new Uint32View(buffer); - var HEAPF32 = new Float32View(buffer); - var HEAPF64 = new Float64View(buffer); - var byteLength = global.byteLength; + var HEAP8 = new global.Int8Array(buffer); + var HEAP16 = new global.Int16Array(buffer); + var HEAP32 = new global.Int32Array(buffer); + var HEAPU8 = new global.Uint8Array(buffer); + var HEAPU16 = new global.Uint16Array(buffer); + var HEAPU32 = new global.Uint32Array(buffer); + var HEAPF32 = new global.Float32Array(buffer); + var HEAPF64 = new global.Float64Array(buffer); - var STACKTOP=env.STACKTOP|0; - var STACK_MAX=env.STACK_MAX|0; + var DYNAMICTOP_PTR=env.DYNAMICTOP_PTR|0; var tempDoublePtr=env.tempDoublePtr|0; var ABORT=env.ABORT|0; + var STACKTOP=env.STACKTOP|0; + var STACK_MAX=env.STACK_MAX|0; var cttz_i8=env.cttz_i8|0; var __THREW__ = 0; @@ -10588,17 +10895,8 @@ var asm = (function(global, env, buffer) { var undef = 0; var nan = global.NaN, inf = global.Infinity; var tempInt = 0, tempBigInt = 0, tempBigIntP = 0, tempBigIntS = 0, tempBigIntR = 0.0, tempBigIntI = 0, tempBigIntD = 0, tempValue = 0, tempDouble = 0.0; - var tempRet0 = 0; - var tempRet1 = 0; - var tempRet2 = 0; - var tempRet3 = 0; - var tempRet4 = 0; - var tempRet5 = 0; - var tempRet6 = 0; - var tempRet7 = 0; - var tempRet8 = 0; - var tempRet9 = 0; + var Math_floor=global.Math.floor; var Math_abs=global.Math.abs; var Math_sqrt=global.Math.sqrt; @@ -10615,9 +10913,38 @@ var asm = (function(global, env, buffer) { var Math_ceil=global.Math.ceil; var Math_imul=global.Math.imul; var Math_min=global.Math.min; + var Math_max=global.Math.max; var Math_clz32=global.Math.clz32; var abort=env.abort; var assert=env.assert; + var enlargeMemory=env.enlargeMemory; + var getTotalMemory=env.getTotalMemory; + var abortOnCannotGrowMemory=env.abortOnCannotGrowMemory; + var abortStackOverflow=env.abortStackOverflow; + var nullFunc_viiiii=env.nullFunc_viiiii; + var nullFunc_vd=env.nullFunc_vd; + var nullFunc_vid=env.nullFunc_vid; + var nullFunc_vi=env.nullFunc_vi; + var nullFunc_vii=env.nullFunc_vii; + var nullFunc_ii=env.nullFunc_ii; + var nullFunc_viddd=env.nullFunc_viddd; + var nullFunc_vidd=env.nullFunc_vidd; + var nullFunc_iiii=env.nullFunc_iiii; + var nullFunc_viiiiiiii=env.nullFunc_viiiiiiii; + var nullFunc_viiiiii=env.nullFunc_viiiiii; + var nullFunc_viii=env.nullFunc_viii; + var nullFunc_vidddd=env.nullFunc_vidddd; + var nullFunc_vdi=env.nullFunc_vdi; + var nullFunc_viiiiiii=env.nullFunc_viiiiiii; + var nullFunc_viiiiiiiii=env.nullFunc_viiiiiiiii; + var nullFunc_iii=env.nullFunc_iii; + var nullFunc_i=env.nullFunc_i; + var nullFunc_vdddddd=env.nullFunc_vdddddd; + var nullFunc_vdddd=env.nullFunc_vdddd; + var nullFunc_vdd=env.nullFunc_vdd; + var nullFunc_v=env.nullFunc_v; + var nullFunc_viid=env.nullFunc_viid; + var nullFunc_viiii=env.nullFunc_viiii; var invoke_viiiii=env.invoke_viiiii; var invoke_vd=env.invoke_vd; var invoke_vid=env.invoke_vid; @@ -10636,7 +10963,6 @@ var asm = (function(global, env, buffer) { var invoke_viiiiiiiii=env.invoke_viiiiiiiii; var invoke_iii=env.invoke_iii; var invoke_i=env.invoke_i; - var invoke_iiiiii=env.invoke_iiiiii; var invoke_vdddddd=env.invoke_vdddddd; var invoke_vdddd=env.invoke_vdddd; var invoke_vdd=env.invoke_vdd; @@ -10645,7 +10971,7 @@ var asm = (function(global, env, buffer) { var invoke_viiii=env.invoke_viiii; var _emscripten_glGetTexParameterfv=env._emscripten_glGetTexParameterfv; var _glUseProgram=env._glUseProgram; - var _exp=env._exp; + var _emscripten_glShaderSource=env._emscripten_glShaderSource; var _glfwCreateWindow=env._glfwCreateWindow; var _emscripten_glReleaseShaderCompiler=env._emscripten_glReleaseShaderCompiler; var _emscripten_glBlendFuncSeparate=env._emscripten_glBlendFuncSeparate; @@ -10668,28 +10994,28 @@ var asm = (function(global, env, buffer) { var _emscripten_glDepthFunc=env._emscripten_glDepthFunc; var _glGetShaderInfoLog=env._glGetShaderInfoLog; var _alSource3f=env._alSource3f; - var _sqrtf=env._sqrtf; var _emscripten_set_fullscreenchange_callback=env._emscripten_set_fullscreenchange_callback; var _emscripten_set_touchmove_callback=env._emscripten_set_touchmove_callback; var _emscripten_set_main_loop_timing=env._emscripten_set_main_loop_timing; - var _ceilf=env._ceilf; + var _emscripten_set_gamepaddisconnected_callback=env._emscripten_set_gamepaddisconnected_callback; + var _glDisable=env._glDisable; var _glBlendFunc=env._glBlendFunc; var _emscripten_glDisableVertexAttribArray=env._emscripten_glDisableVertexAttribArray; var _glGetAttribLocation=env._glGetAttribLocation; var _glDisableVertexAttribArray=env._glDisableVertexAttribArray; - var _emscripten_memcpy_big=env._emscripten_memcpy_big; - var _emscripten_glReadPixels=env._emscripten_glReadPixels; + var _glCreateShader=env._glCreateShader; var _alcGetString=env._alcGetString; - var _sysconf=env._sysconf; var _emscripten_glSampleCoverage=env._emscripten_glSampleCoverage; var _emscripten_glVertexPointer=env._emscripten_glVertexPointer; var _emscripten_set_touchstart_callback=env._emscripten_set_touchstart_callback; var emscriptenWebGLComputeImageSize=env.emscriptenWebGLComputeImageSize; var _emscripten_glGetBooleanv=env._emscripten_glGetBooleanv; - var ___syscall221=env.___syscall221; - var _cos=env._cos; + var _emscripten_glGetShaderSource=env._emscripten_glGetShaderSource; + var _glUniform4f=env._glUniform4f; var _llvm_stacksave=env._llvm_stacksave; var _emscripten_glUniform1i=env._emscripten_glUniform1i; + var _emscripten_glStencilFuncSeparate=env._emscripten_glStencilFuncSeparate; + var _emscripten_glFrustum=env._emscripten_glFrustum; var _emscripten_glGenBuffers=env._emscripten_glGenBuffers; var _emscripten_glDeleteObjectARB=env._emscripten_glDeleteObjectARB; var _glfwSetWindowSizeCallback=env._glfwSetWindowSizeCallback; @@ -10703,9 +11029,8 @@ var asm = (function(global, env, buffer) { var _emscripten_glIsEnabled=env._emscripten_glIsEnabled; var _emscripten_glScissor=env._emscripten_glScissor; var _emscripten_glVertexAttrib4fv=env._emscripten_glVertexAttrib4fv; + var _emscripten_glFramebufferTexture2D=env._emscripten_glFramebufferTexture2D; var _emscripten_glTexParameteriv=env._emscripten_glTexParameteriv; - var _pthread_cleanup_push=env._pthread_cleanup_push; - var ___syscall145=env.___syscall145; var _emscripten_glBindProgramARB=env._emscripten_glBindProgramARB; var _emscripten_glStencilOpSeparate=env._emscripten_glStencilOpSeparate; var _alSourcePlay=env._alSourcePlay; @@ -10713,31 +11038,28 @@ var asm = (function(global, env, buffer) { var _emscripten_glFramebufferRenderbuffer=env._emscripten_glFramebufferRenderbuffer; var ___syscall140=env.___syscall140; var _glfwSetErrorCallback=env._glfwSetErrorCallback; - var _glfwSetCursorPosCallback=env._glfwSetCursorPosCallback; var _glfwDefaultWindowHints=env._glfwDefaultWindowHints; var _emscripten_glIsBuffer=env._emscripten_glIsBuffer; var ___syscall146=env.___syscall146; var _glfwDestroyWindow=env._glfwDestroyWindow; - var _pthread_cleanup_pop=env._pthread_cleanup_pop; + var _emscripten_glGetActiveAttrib=env._emscripten_glGetActiveAttrib; var _emscripten_glAttachShader=env._emscripten_glAttachShader; var _glVertexAttribPointer=env._glVertexAttribPointer; - var _emscripten_glCompressedTexSubImage2D=env._emscripten_glCompressedTexSubImage2D; + var _emscripten_glUniform2i=env._emscripten_glUniform2i; var _emscripten_glUniform2f=env._emscripten_glUniform2f; var _alcCreateContext=env._alcCreateContext; + var _glfwTerminate=env._glfwTerminate; var _emscripten_glTexParameterfv=env._emscripten_glTexParameterfv; - var _abort=env._abort; var _emscripten_glUniformMatrix2fv=env._emscripten_glUniformMatrix2fv; - var _atan2=env._atan2; var _glGetProgramInfoLog=env._glGetProgramInfoLog; - var _emscripten_glGetUniformiv=env._emscripten_glGetUniformiv; + var _alcGetContextsDevice=env._alcGetContextsDevice; var _emscripten_glTexParameterf=env._emscripten_glTexParameterf; var _emscripten_glGetAttachedShaders=env._emscripten_glGetAttachedShaders; var _emscripten_glGenTextures=env._emscripten_glGenTextures; var _emscripten_glTexParameteri=env._emscripten_glTexParameteri; var _llvm_stackrestore=env._llvm_stackrestore; - var _fabsf=env._fabsf; var _glfwMakeContextCurrent=env._glfwMakeContextCurrent; - var _emscripten_glShaderBinary=env._emscripten_glShaderBinary; + var _emscripten_glClear=env._emscripten_glClear; var _glDrawElements=env._glDrawElements; var _alGetSourcei=env._alGetSourcei; var _glBufferSubData=env._glBufferSubData; @@ -10756,7 +11078,6 @@ var asm = (function(global, env, buffer) { var _emscripten_glClientActiveTexture=env._emscripten_glClientActiveTexture; var _emscripten_glVertexAttrib2f=env._emscripten_glVertexAttrib2f; var _emscripten_glFlush=env._emscripten_glFlush; - var _emscripten_glUniform4i=env._emscripten_glUniform4i; var _emscripten_glCheckFramebufferStatus=env._emscripten_glCheckFramebufferStatus; var _emscripten_glGenerateMipmap=env._emscripten_glGenerateMipmap; var _emscripten_glGetError=env._emscripten_glGetError; @@ -10767,8 +11088,7 @@ var asm = (function(global, env, buffer) { var _emscripten_glRotatef=env._emscripten_glRotatef; var _emscripten_glDeleteShader=env._emscripten_glDeleteShader; var _glEnable=env._glEnable; - var _fabs=env._fabs; - var _glGenTextures=env._glGenTextures; + var _emscripten_glReadPixels=env._emscripten_glReadPixels; var _emscripten_glMatrixMode=env._emscripten_glMatrixMode; var _alDeleteSources=env._alDeleteSources; var _emscripten_glClearStencil=env._emscripten_glClearStencil; @@ -10781,44 +11101,45 @@ var asm = (function(global, env, buffer) { var _emscripten_glNormalPointer=env._emscripten_glNormalPointer; var _glAttachShader=env._glAttachShader; var _emscripten_glTexCoordPointer=env._emscripten_glTexCoordPointer; - var _emscripten_glFinish=env._emscripten_glFinish; + var _emscripten_glEnable=env._emscripten_glEnable; var _glCreateProgram=env._glCreateProgram; var _glUniformMatrix4fv=env._glUniformMatrix4fv; var _emscripten_glClearDepth=env._emscripten_glClearDepth; var ___lock=env.___lock; - var _emscripten_glBindFramebuffer=env._emscripten_glBindFramebuffer; + var emscriptenWebGLGetTexPixelData=env.emscriptenWebGLGetTexPixelData; var ___syscall6=env.___syscall6; var ___syscall5=env.___syscall5; - var _emscripten_glStencilFuncSeparate=env._emscripten_glStencilFuncSeparate; + var ___syscall145=env.___syscall145; var _emscripten_glVertexAttrib3f=env._emscripten_glVertexAttrib3f; var _time=env._time; - var _glBindFramebuffer=env._glBindFramebuffer; var _emscripten_glVertexAttrib1f=env._emscripten_glVertexAttrib1f; var _emscripten_glGetFramebufferAttachmentParameteriv=env._emscripten_glGetFramebufferAttachmentParameteriv; var _emscripten_glBlendEquationSeparate=env._emscripten_glBlendEquationSeparate; var _exit=env._exit; - var _emscripten_asm_const_2=env._emscripten_asm_const_2; + var _emscripten_glBindFramebuffer=env._emscripten_glBindFramebuffer; var _glGetString=env._glGetString; - var _emscripten_glGetActiveAttrib=env._emscripten_glGetActiveAttrib; + var _emscripten_glUniform4i=env._emscripten_glUniform4i; var _alSourcef=env._alSourcef; var _emscripten_glDrawRangeElements=env._emscripten_glDrawRangeElements; + var _glCullFace=env._glCullFace; var _llvm_pow_f64=env._llvm_pow_f64; - var _glDeleteFramebuffers=env._glDeleteFramebuffers; - var _glCompressedTexImage2D=env._glCompressedTexImage2D; - var _glfwPollEvents=env._glfwPollEvents; + var _emscripten_set_keypress_callback=env._emscripten_set_keypress_callback; + var __emscripten_sample_gamepad_data=env.__emscripten_sample_gamepad_data; + var _emscripten_get_gamepad_status=env._emscripten_get_gamepad_status; var _emscripten_glUniform4f=env._emscripten_glUniform4f; var _glfwSwapInterval=env._glfwSwapInterval; var _glfwGetVideoModes=env._glfwGetVideoModes; - var _sin=env._sin; - var _emscripten_glClear=env._emscripten_glClear; + var _emscripten_set_click_callback=env._emscripten_set_click_callback; + var _emscripten_glShaderBinary=env._emscripten_glShaderBinary; var _emscripten_glDrawElements=env._emscripten_glDrawElements; var _emscripten_glBlendFunc=env._emscripten_glBlendFunc; - var _emscripten_glGetShaderInfoLog=env._emscripten_glGetShaderInfoLog; - var _sbrk=env._sbrk; - var _emscripten_glStencilMask=env._emscripten_glStencilMask; + var _emscripten_get_num_gamepads=env._emscripten_get_num_gamepads; + var ___syscall221=env.___syscall221; + var _glCompressedTexImage2D=env._glCompressedTexImage2D; var _emscripten_glUniform1iv=env._emscripten_glUniform1iv; var _emscripten_glGetVertexAttribPointerv=env._emscripten_glGetVertexAttribPointerv; - var _emscripten_glUniform2i=env._emscripten_glUniform2i; + var _glClearDepthf=env._glClearDepthf; + var _emscripten_glCompressedTexSubImage2D=env._emscripten_glCompressedTexSubImage2D; var emscriptenWebGLGetUniform=env.emscriptenWebGLGetUniform; var _emscripten_glGenRenderbuffers=env._emscripten_glGenRenderbuffers; var _emscripten_glDeleteVertexArrays=env._emscripten_glDeleteVertexArrays; @@ -10830,7 +11151,7 @@ var asm = (function(global, env, buffer) { var _emscripten_glUniform2iv=env._emscripten_glUniform2iv; var _emscripten_glHint=env._emscripten_glHint; var _glfwSetCharCallback=env._glfwSetCharCallback; - var _emscripten_glGetBufferParameteriv=env._emscripten_glGetBufferParameteriv; + var emscriptenWebGLGetVertexAttrib=env.emscriptenWebGLGetVertexAttrib; var _emscripten_glLoadMatrixf=env._emscripten_glLoadMatrixf; var _emscripten_glDeleteProgram=env._emscripten_glDeleteProgram; var _emscripten_glDeleteRenderbuffers=env._emscripten_glDeleteRenderbuffers; @@ -10840,56 +11161,57 @@ var asm = (function(global, env, buffer) { var _alcDestroyContext=env._alcDestroyContext; var _glDrawArrays=env._glDrawArrays; var _emscripten_glTexSubImage2D=env._emscripten_glTexSubImage2D; - var _glCreateShader=env._glCreateShader; + var _emscripten_memcpy_big=env._emscripten_memcpy_big; var _emscripten_glPixelStorei=env._emscripten_glPixelStorei; var _glCompileShader=env._glCompileShader; + var _alListenerf=env._alListenerf; var _emscripten_glUniformMatrix3fv=env._emscripten_glUniformMatrix3fv; - var _emscripten_glDepthRange=env._emscripten_glDepthRange; - var _emscripten_glCompressedTexImage2D=env._emscripten_glCompressedTexImage2D; - var _floorf=env._floorf; - var _log=env._log; - var _glActiveTexture=env._glActiveTexture; + var _emscripten_glColorPointer=env._emscripten_glColorPointer; + var _emscripten_glGetBufferParameteriv=env._emscripten_glGetBufferParameteriv; + var _emscripten_glFinish=env._emscripten_glFinish; var _glfwSwapBuffers=env._glfwSwapBuffers; + var _glGetFloatv=env._glGetFloatv; + var _emscripten_asm_const_iii=env._emscripten_asm_const_iii; var _emscripten_glDepthMask=env._emscripten_glDepthMask; var _glfwSetWindowIconifyCallback=env._glfwSetWindowIconifyCallback; var _emscripten_glDrawBuffers=env._emscripten_glDrawBuffers; var _alSourceStop=env._alSourceStop; - var _eglWaitClient=env._eglWaitClient; + var _glFrontFace=env._glFrontFace; var _emscripten_glGetObjectParameterivARB=env._emscripten_glGetObjectParameterivARB; - var _emscripten_glFramebufferTexture2D=env._emscripten_glFramebufferTexture2D; + var _emscripten_exit_pointerlock=env._emscripten_exit_pointerlock; var _alcCloseDevice=env._alcCloseDevice; var _glUniform1i=env._glUniform1i; var _glEnableVertexAttribArray=env._glEnableVertexAttribArray; var _emscripten_glStencilFunc=env._emscripten_glStencilFunc; - var emscriptenWebGLGetVertexAttrib=env.emscriptenWebGLGetVertexAttrib; - var _alcGetContextsDevice=env._alcGetContextsDevice; + var _abort=env._abort; + var _emscripten_glGetUniformiv=env._emscripten_glGetUniformiv; var _emscripten_glUniform2fv=env._emscripten_glUniform2fv; - var _emscripten_glGetProgramiv=env._emscripten_glGetProgramiv; var _glDeleteBuffers=env._glDeleteBuffers; var _glBufferData=env._glBufferData; var _glTexImage2D=env._glTexImage2D; var _emscripten_glGetShaderiv=env._emscripten_glGetShaderiv; - var _emscripten_glEnable=env._emscripten_glEnable; + var _glfwSetKeyCallback=env._glfwSetKeyCallback; var _emscripten_glGenFramebuffers=env._emscripten_glGenFramebuffers; - var _floor=env._floor; var _emscripten_glUniformMatrix4fv=env._emscripten_glUniformMatrix4fv; var _emscripten_glLoadIdentity=env._emscripten_glLoadIdentity; var _glDeleteShader=env._glDeleteShader; - var _cosf=env._cosf; + var _emscripten_glUniform1f=env._emscripten_glUniform1f; var _glGetProgramiv=env._glGetProgramiv; - var emscriptenWebGLGetTexPixelData=env.emscriptenWebGLGetTexPixelData; + var _llvm_exp2_f32=env._llvm_exp2_f32; var _emscripten_glIsRenderbuffer=env._emscripten_glIsRenderbuffer; var _glfwGetTime=env._glfwGetTime; var _emscripten_glRenderbufferStorage=env._emscripten_glRenderbufferStorage; + var _emscripten_set_gamepadconnected_callback=env._emscripten_set_gamepadconnected_callback; var _alListener3f=env._alListener3f; var _emscripten_glGetVertexAttribiv=env._emscripten_glGetVertexAttribiv; var _emscripten_glBindVertexArray=env._emscripten_glBindVertexArray; var _emscripten_glDrawArraysInstanced=env._emscripten_glDrawArraysInstanced; var _emscripten_set_touchcancel_callback=env._emscripten_set_touchcancel_callback; var _emscripten_glCreateShader=env._emscripten_glCreateShader; - var _glfwGetPrimaryMonitor=env._glfwGetPrimaryMonitor; + var _emscripten_glStencilMask=env._emscripten_glStencilMask; var _emscripten_glDeleteTextures=env._emscripten_glDeleteTextures; var _emscripten_glBindRenderbuffer=env._emscripten_glBindRenderbuffer; + var _glfwGetPrimaryMonitor=env._glfwGetPrimaryMonitor; var _glLinkProgram=env._glLinkProgram; var _emscripten_glVertexAttribDivisor=env._emscripten_glVertexAttribDivisor; var _emscripten_set_touchend_callback=env._emscripten_set_touchend_callback; @@ -10903,24 +11225,23 @@ var asm = (function(global, env, buffer) { var _emscripten_glGetInfoLogARB=env._emscripten_glGetInfoLogARB; var _emscripten_glCompileShader=env._emscripten_glCompileShader; var _glClear=env._glClear; - var _glUniform4fv=env._glUniform4fv; - var _emscripten_glFrustum=env._emscripten_glFrustum; + var _glGenTextures=env._glGenTextures; var _emscripten_glDisable=env._emscripten_glDisable; var _emscripten_glDepthRangef=env._emscripten_glDepthRangef; - var _sinf=env._sinf; var __exit=env.__exit; - var _glfwTerminate=env._glfwTerminate; + var _emscripten_glLineWidth=env._emscripten_glLineWidth; var _emscripten_glUniform3f=env._emscripten_glUniform3f; + var _emscripten_glGetShaderInfoLog=env._emscripten_glGetShaderInfoLog; var _emscripten_glStencilOp=env._emscripten_glStencilOp; + var _glBindAttribLocation=env._glBindAttribLocation; var _glPixelStorei=env._glPixelStorei; var _emscripten_glColorMask=env._emscripten_glColorMask; var _emscripten_glLinkProgram=env._emscripten_glLinkProgram; var _emscripten_glBlendEquation=env._emscripten_glBlendEquation; var _emscripten_glIsTexture=env._emscripten_glIsTexture; var _alDeleteBuffers=env._alDeleteBuffers; - var _pthread_self=env._pthread_self; + var _emscripten_glGetProgramiv=env._emscripten_glGetProgramiv; var _emscripten_glVertexAttrib1fv=env._emscripten_glVertexAttrib1fv; - var _emscripten_glLineWidth=env._emscripten_glLineWidth; var _emscripten_glBindTexture=env._emscripten_glBindTexture; var _glfwSetMouseButtonCallback=env._glfwSetMouseButtonCallback; var _glfwGetCursorPos=env._glfwGetCursorPos; @@ -10929,20 +11250,18 @@ var asm = (function(global, env, buffer) { var ___syscall54=env.___syscall54; var ___unlock=env.___unlock; var _emscripten_glBufferSubData=env._emscripten_glBufferSubData; - var _emscripten_glColorPointer=env._emscripten_glColorPointer; + var _emscripten_glDepthRange=env._emscripten_glDepthRange; var _emscripten_set_main_loop=env._emscripten_set_main_loop; var _emscripten_glGetProgramInfoLog=env._emscripten_glGetProgramInfoLog; var _glfwWindowHint=env._glfwWindowHint; var _alGenSources=env._alGenSources; - var _emscripten_glShaderSource=env._emscripten_glShaderSource; + var _glfwSetCursorPosCallback=env._glfwSetCursorPosCallback; var _emscripten_glIsShader=env._emscripten_glIsShader; var _emscripten_glUniform4fv=env._emscripten_glUniform4fv; - var _emscripten_glUniform1f=env._emscripten_glUniform1f; var _alcOpenDevice=env._alcOpenDevice; var _emscripten_glDrawArrays=env._emscripten_glDrawArrays; - var _glfwSetKeyCallback=env._glfwSetKeyCallback; + var _emscripten_glCompressedTexImage2D=env._emscripten_glCompressedTexImage2D; var _emscripten_glClearColor=env._emscripten_glClearColor; - var _emscripten_glGetShaderSource=env._emscripten_glGetShaderSource; var _emscripten_glCreateProgram=env._emscripten_glCreateProgram; var _emscripten_glCopyTexSubImage2D=env._emscripten_glCopyTexSubImage2D; var _emscripten_glGetAttribLocation=env._emscripten_glGetAttribLocation; @@ -10953,32 +11272,21 @@ var asm = (function(global, env, buffer) { var _emscripten_glDetachShader=env._emscripten_glDetachShader; var _glClearColor=env._glClearColor; var _emscripten_glEnableClientState=env._emscripten_glEnableClientState; + var _glTexParameterf=env._glTexParameterf; var _glfwSetCursorEnterCallback=env._glfwSetCursorEnterCallback; var _emscripten_glCopyTexImage2D=env._emscripten_glCopyTexImage2D; var _emscripten_glTexImage2D=env._emscripten_glTexImage2D; var tempFloat = 0.0; -function _emscripten_replace_memory(newBuffer) { - if ((byteLength(newBuffer) & 0xffffff || byteLength(newBuffer) <= 0xffffff) || byteLength(newBuffer) > 0x80000000) return false; - HEAP8 = new Int8View(newBuffer); - HEAP16 = new Int16View(newBuffer); - HEAP32 = new Int32View(newBuffer); - HEAPU8 = new Uint8View(newBuffer); - HEAPU16 = new Uint16View(newBuffer); - HEAPU32 = new Uint32View(newBuffer); - HEAPF32 = new Float32View(newBuffer); - HEAPF64 = new Float64View(newBuffer); - buffer = newBuffer; - return true; -} - // EMSCRIPTEN_START_FUNCS + function stackAlloc(size) { size = size|0; var ret = 0; ret = STACKTOP; STACKTOP = (STACKTOP + size)|0; STACKTOP = (STACKTOP + 15)&-16; + if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(size|0); return ret|0; } @@ -11004,24 +11312,6 @@ function setThrew(threw, value) { threwValue = value; } } -function copyTempFloat(ptr) { - ptr = ptr|0; - HEAP8[tempDoublePtr>>0] = HEAP8[ptr>>0]; - HEAP8[tempDoublePtr+1>>0] = HEAP8[ptr+1>>0]; - HEAP8[tempDoublePtr+2>>0] = HEAP8[ptr+2>>0]; - HEAP8[tempDoublePtr+3>>0] = HEAP8[ptr+3>>0]; -} -function copyTempDouble(ptr) { - ptr = ptr|0; - HEAP8[tempDoublePtr>>0] = HEAP8[ptr>>0]; - HEAP8[tempDoublePtr+1>>0] = HEAP8[ptr+1>>0]; - HEAP8[tempDoublePtr+2>>0] = HEAP8[ptr+2>>0]; - HEAP8[tempDoublePtr+3>>0] = HEAP8[ptr+3>>0]; - HEAP8[tempDoublePtr+4>>0] = HEAP8[ptr+4>>0]; - HEAP8[tempDoublePtr+5>>0] = HEAP8[ptr+5>>0]; - HEAP8[tempDoublePtr+6>>0] = HEAP8[ptr+6>>0]; - HEAP8[tempDoublePtr+7>>0] = HEAP8[ptr+7>>0]; -} function setTempRet0(value) { value = value|0; @@ -11032,234 +11322,200 @@ function getTempRet0() { } function _main() { - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; - var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $8 = 0, $9 = 0, $exitcond = 0, $growl$byval_copy = 0, $i$07 = 0, dest = 0, label = 0; - var sp = 0, src = 0, stop = 0; + var $$026 = 0, $$sink = 0, $$sroa$0$0$$sroa_idx = 0, $$sroa$2$0$$sroa_idx1 = 0, $$sroa$3$0$$sroa_idx2 = 0, $$sroa$4$0$$sroa_idx3 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0; + var $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0; + var $4 = 0, $40 = 0, $41 = 0, $42 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $growl$byval_copy = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 336|0; - $growl$byval_copy = sp + 288|0; - $0 = sp + 268|0; - $1 = sp + 248|0; - $2 = sp + 228|0; - $3 = sp + 208|0; - $4 = sp + 188|0; - $5 = sp + 168|0; - $6 = sp + 148|0; - $7 = sp + 128|0; - $8 = sp + 108|0; - $9 = sp + 88|0; - $10 = sp + 68|0; - $11 = sp + 24|0; - $12 = sp + 16|0; - $13 = sp + 8|0; + STACKTOP = STACKTOP + 336|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(336|0); + $growl$byval_copy = sp + 296|0; + $0 = sp + 272|0; + $1 = sp + 252|0; + $2 = sp + 232|0; + $3 = sp + 212|0; + $4 = sp + 192|0; + $5 = sp + 172|0; + $6 = sp + 152|0; + $7 = sp + 132|0; + $8 = sp + 112|0; + $9 = sp + 92|0; + $10 = sp + 72|0; + $11 = sp + 40|0; + $12 = sp + 24|0; + $13 = sp + 12|0; $14 = sp; - _InitWindow(1280,720,9653); + _InitWindow(1280,720,5695); _InitAudioDevice(); - _LoadTexture($0,9677); - ;HEAP32[204>>2]=HEAP32[$0>>2]|0;HEAP32[204+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[204+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[204+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[204+16>>2]=HEAP32[$0+16>>2]|0; - _LoadTexture($1,9695); - ;HEAP32[224>>2]=HEAP32[$1>>2]|0;HEAP32[224+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[224+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[224+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[224+16>>2]=HEAP32[$1+16>>2]|0; - _LoadTexture($2,9719); - ;HEAP32[244>>2]=HEAP32[$2>>2]|0;HEAP32[244+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[244+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[244+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[244+16>>2]=HEAP32[$2+16>>2]|0; - _LoadTexture($3,9737); - ;HEAP32[264>>2]=HEAP32[$3>>2]|0;HEAP32[264+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[264+8>>2]=HEAP32[$3+8>>2]|0;HEAP32[264+12>>2]=HEAP32[$3+12>>2]|0;HEAP32[264+16>>2]=HEAP32[$3+16>>2]|0; - _LoadTexture($4,9757); - ;HEAP32[284>>2]=HEAP32[$4>>2]|0;HEAP32[284+4>>2]=HEAP32[$4+4>>2]|0;HEAP32[284+8>>2]=HEAP32[$4+8>>2]|0;HEAP32[284+12>>2]=HEAP32[$4+12>>2]|0;HEAP32[284+16>>2]=HEAP32[$4+16>>2]|0; - _LoadTexture($5,9778); - ;HEAP32[304>>2]=HEAP32[$5>>2]|0;HEAP32[304+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[304+8>>2]=HEAP32[$5+8>>2]|0;HEAP32[304+12>>2]=HEAP32[$5+12>>2]|0;HEAP32[304+16>>2]=HEAP32[$5+16>>2]|0; - _LoadTexture($6,9799); - ;HEAP32[324>>2]=HEAP32[$6>>2]|0;HEAP32[324+4>>2]=HEAP32[$6+4>>2]|0;HEAP32[324+8>>2]=HEAP32[$6+8>>2]|0;HEAP32[324+12>>2]=HEAP32[$6+12>>2]|0;HEAP32[324+16>>2]=HEAP32[$6+16>>2]|0; - _LoadTexture($7,9819); - ;HEAP32[344>>2]=HEAP32[$7>>2]|0;HEAP32[344+4>>2]=HEAP32[$7+4>>2]|0;HEAP32[344+8>>2]=HEAP32[$7+8>>2]|0;HEAP32[344+12>>2]=HEAP32[$7+12>>2]|0;HEAP32[344+16>>2]=HEAP32[$7+16>>2]|0; - _LoadTexture($8,9838); - ;HEAP32[364>>2]=HEAP32[$8>>2]|0;HEAP32[364+4>>2]=HEAP32[$8+4>>2]|0;HEAP32[364+8>>2]=HEAP32[$8+8>>2]|0;HEAP32[364+12>>2]=HEAP32[$8+12>>2]|0;HEAP32[364+16>>2]=HEAP32[$8+16>>2]|0; - _LoadTexture($9,9859); - ;HEAP32[384>>2]=HEAP32[$9>>2]|0;HEAP32[384+4>>2]=HEAP32[$9+4>>2]|0;HEAP32[384+8>>2]=HEAP32[$9+8>>2]|0;HEAP32[384+12>>2]=HEAP32[$9+12>>2]|0;HEAP32[384+16>>2]=HEAP32[$9+16>>2]|0; - _LoadTexture($10,9878); - ;HEAP32[404>>2]=HEAP32[$10>>2]|0;HEAP32[404+4>>2]=HEAP32[$10+4>>2]|0;HEAP32[404+8>>2]=HEAP32[$10+8>>2]|0;HEAP32[404+12>>2]=HEAP32[$10+12>>2]|0;HEAP32[404+16>>2]=HEAP32[$10+16>>2]|0; - _LoadSpriteFont($11,9899); - dest=424; src=$11; stop=dest+44|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _LoadSound($12,9920); - $15 = $12; - $16 = $15; - $17 = HEAP32[$16>>2]|0; - $18 = (($15) + 4)|0; - $19 = $18; - $20 = HEAP32[$19>>2]|0; - $21 = 468; - $22 = $21; - HEAP32[$22>>2] = $17; - $23 = (($21) + 4)|0; - $24 = $23; - HEAP32[$24>>2] = $20; - _LoadSound($13,9938); - $25 = $13; - $26 = $25; - $27 = HEAP32[$26>>2]|0; - $28 = (($25) + 4)|0; - $29 = $28; - $30 = HEAP32[$29>>2]|0; - $31 = 476; - $32 = $31; - HEAP32[$32>>2] = $27; - $33 = (($31) + 4)|0; - $34 = $33; - HEAP32[$34>>2] = $30; - _LoadSound($14,9956); - $35 = $14; - $36 = $35; - $37 = HEAP32[$36>>2]|0; - $38 = (($35) + 4)|0; - $39 = $38; - $40 = HEAP32[$39>>2]|0; - $41 = 484; - $42 = $41; - HEAP32[$42>>2] = $37; - $43 = (($41) + 4)|0; - $44 = $43; - HEAP32[$44>>2] = $40; - _PlayMusicStream(9977); - $45 = HEAP32[164>>2]|0; - $46 = ($45*120)|0; - $47 = (($46) + 104)|0; - HEAP32[492>>2] = 44; - HEAP32[(496)>>2] = $47; - HEAP32[(500)>>2] = 100; - HEAP32[(504)>>2] = 100; - $i$07 = 0; + _LoadTexture($0,5719); + ;HEAP32[24228>>2]=HEAP32[$0>>2]|0;HEAP32[24228+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[24228+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[24228+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[24228+16>>2]=HEAP32[$0+16>>2]|0; + _LoadTexture($1,5737); + ;HEAP32[24248>>2]=HEAP32[$1>>2]|0;HEAP32[24248+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[24248+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[24248+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[24248+16>>2]=HEAP32[$1+16>>2]|0; + _LoadTexture($2,5761); + ;HEAP32[24268>>2]=HEAP32[$2>>2]|0;HEAP32[24268+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[24268+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[24268+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[24268+16>>2]=HEAP32[$2+16>>2]|0; + _LoadTexture($3,5779); + ;HEAP32[24288>>2]=HEAP32[$3>>2]|0;HEAP32[24288+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[24288+8>>2]=HEAP32[$3+8>>2]|0;HEAP32[24288+12>>2]=HEAP32[$3+12>>2]|0;HEAP32[24288+16>>2]=HEAP32[$3+16>>2]|0; + _LoadTexture($4,5799); + ;HEAP32[24308>>2]=HEAP32[$4>>2]|0;HEAP32[24308+4>>2]=HEAP32[$4+4>>2]|0;HEAP32[24308+8>>2]=HEAP32[$4+8>>2]|0;HEAP32[24308+12>>2]=HEAP32[$4+12>>2]|0;HEAP32[24308+16>>2]=HEAP32[$4+16>>2]|0; + _LoadTexture($5,5820); + ;HEAP32[24328>>2]=HEAP32[$5>>2]|0;HEAP32[24328+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[24328+8>>2]=HEAP32[$5+8>>2]|0;HEAP32[24328+12>>2]=HEAP32[$5+12>>2]|0;HEAP32[24328+16>>2]=HEAP32[$5+16>>2]|0; + _LoadTexture($6,5841); + ;HEAP32[24348>>2]=HEAP32[$6>>2]|0;HEAP32[24348+4>>2]=HEAP32[$6+4>>2]|0;HEAP32[24348+8>>2]=HEAP32[$6+8>>2]|0;HEAP32[24348+12>>2]=HEAP32[$6+12>>2]|0;HEAP32[24348+16>>2]=HEAP32[$6+16>>2]|0; + _LoadTexture($7,5861); + ;HEAP32[24368>>2]=HEAP32[$7>>2]|0;HEAP32[24368+4>>2]=HEAP32[$7+4>>2]|0;HEAP32[24368+8>>2]=HEAP32[$7+8>>2]|0;HEAP32[24368+12>>2]=HEAP32[$7+12>>2]|0;HEAP32[24368+16>>2]=HEAP32[$7+16>>2]|0; + _LoadTexture($8,5880); + ;HEAP32[24388>>2]=HEAP32[$8>>2]|0;HEAP32[24388+4>>2]=HEAP32[$8+4>>2]|0;HEAP32[24388+8>>2]=HEAP32[$8+8>>2]|0;HEAP32[24388+12>>2]=HEAP32[$8+12>>2]|0;HEAP32[24388+16>>2]=HEAP32[$8+16>>2]|0; + _LoadTexture($9,5901); + ;HEAP32[24408>>2]=HEAP32[$9>>2]|0;HEAP32[24408+4>>2]=HEAP32[$9+4>>2]|0;HEAP32[24408+8>>2]=HEAP32[$9+8>>2]|0;HEAP32[24408+12>>2]=HEAP32[$9+12>>2]|0;HEAP32[24408+16>>2]=HEAP32[$9+16>>2]|0; + _LoadTexture($10,5920); + ;HEAP32[24428>>2]=HEAP32[$10>>2]|0;HEAP32[24428+4>>2]=HEAP32[$10+4>>2]|0;HEAP32[24428+8>>2]=HEAP32[$10+8>>2]|0;HEAP32[24428+12>>2]=HEAP32[$10+12>>2]|0;HEAP32[24428+16>>2]=HEAP32[$10+16>>2]|0; + _LoadSpriteFont($11,5941); + ;HEAP32[24448>>2]=HEAP32[$11>>2]|0;HEAP32[24448+4>>2]=HEAP32[$11+4>>2]|0;HEAP32[24448+8>>2]=HEAP32[$11+8>>2]|0;HEAP32[24448+12>>2]=HEAP32[$11+12>>2]|0;HEAP32[24448+16>>2]=HEAP32[$11+16>>2]|0;HEAP32[24448+20>>2]=HEAP32[$11+20>>2]|0;HEAP32[24448+24>>2]=HEAP32[$11+24>>2]|0;HEAP32[24448+28>>2]=HEAP32[$11+28>>2]|0; + _LoadSound($12,5962); + ;HEAP32[24480>>2]=HEAP32[$12>>2]|0;HEAP32[24480+4>>2]=HEAP32[$12+4>>2]|0;HEAP32[24480+8>>2]=HEAP32[$12+8>>2]|0; + _LoadSound($13,5980); + ;HEAP32[24492>>2]=HEAP32[$13>>2]|0;HEAP32[24492+4>>2]=HEAP32[$13+4>>2]|0;HEAP32[24492+8>>2]=HEAP32[$13+8>>2]|0; + _LoadSound($14,5998); + ;HEAP32[24504>>2]=HEAP32[$14>>2]|0;HEAP32[24504+4>>2]=HEAP32[$14+4>>2]|0;HEAP32[24504+8>>2]=HEAP32[$14+8>>2]|0; + $15 = (_LoadMusicStream(6019)|0); + HEAP32[6129] = $15; + _PlayMusicStream($15); + $16 = HEAP32[2]|0; + $17 = ($16*120)|0; + $18 = (($17) + 104)|0; + HEAP32[6130] = 44; + HEAP32[(24524)>>2] = $18; + HEAP32[(24528)>>2] = 100; + HEAP32[(24532)>>2] = 100; + $$026 = 0; while(1) { - $48 = (_GetRandomValue(0,100)|0); - $49 = ($48|0)<(30); + $20 = (_GetRandomValue(0,100)|0); + $21 = ($20|0)<(30); do { - if ($49) { - $50 = (508 + ($i$07<<2)|0); - HEAP32[$50>>2] = 0; + if ($21) { + $22 = (24536 + ($$026<<2)|0); + HEAP32[$22>>2] = 0; } else { - $51 = ($48|0)<(60); - if ($51) { - $52 = (508 + ($i$07<<2)|0); - HEAP32[$52>>2] = 1; - break; - } - $53 = ($48|0)<(90); - $54 = (508 + ($i$07<<2)|0); - if ($53) { - HEAP32[$54>>2] = 2; + $23 = ($20|0)<(60); + if ($23) { + $24 = (24536 + ($$026<<2)|0); + HEAP32[$24>>2] = 1; break; } else { - HEAP32[$54>>2] = 3; + $25 = ($20|0)<(90); + $26 = (24536 + ($$026<<2)|0); + $$sink = $25 ? 2 : 3; + HEAP32[$26>>2] = $$sink; break; } } } while(0); - $55 = (_GetRandomValue(0,4)|0); - $56 = (548 + ($i$07<<2)|0); - HEAP32[$56>>2] = $55; - $57 = ($i$07|0)>(0); - if ($57) { - $58 = HEAP32[$56>>2]|0; - $59 = (($i$07) + -1)|0; - $60 = (548 + ($59<<2)|0); - $61 = HEAP32[$60>>2]|0; - $62 = ($58|0)==($61|0); - if ($62) { + $27 = (_GetRandomValue(0,4)|0); + $28 = (24576 + ($$026<<2)|0); + HEAP32[$28>>2] = $27; + $29 = ($$026|0)>(0); + if ($29) { + $30 = HEAP32[$28>>2]|0; + $31 = (($$026) + -1)|0; + $32 = (24576 + ($31<<2)|0); + $33 = HEAP32[$32>>2]|0; + $34 = ($30|0)==($33|0); + if ($34) { while(1) { - $63 = (_GetRandomValue(0,4)|0); - HEAP32[$56>>2] = $63; - $64 = HEAP32[$60>>2]|0; - $65 = ($63|0)==($64|0); - if (!($65)) { + $35 = (_GetRandomValue(0,4)|0); + HEAP32[$28>>2] = $35; + $36 = HEAP32[$32>>2]|0; + $37 = ($35|0)==($36|0); + if (!($37)) { break; } } } } - $66 = HEAP32[$56>>2]|0; - $67 = ($66*120)|0; - $68 = (($67) + 104)|0; - $69 = (588 + ($i$07<<4)|0); - HEAP32[$69>>2] = 1294; - $70 = (((588 + ($i$07<<4)|0)) + 4|0); - HEAP32[$70>>2] = $68; - $71 = (((588 + ($i$07<<4)|0)) + 8|0); - HEAP32[$71>>2] = 100; - $72 = (((588 + ($i$07<<4)|0)) + 12|0); - HEAP32[$72>>2] = 100; - $73 = (748 + ($i$07<<2)|0); - HEAP32[$73>>2] = 0; - $74 = (($i$07) + 1)|0; - $exitcond = ($74|0)==(10); + $38 = HEAP32[$28>>2]|0; + $39 = ($38*120)|0; + $40 = (($39) + 104)|0; + $$sroa$0$0$$sroa_idx = (24616 + ($$026<<4)|0); + HEAP32[$$sroa$0$0$$sroa_idx>>2] = 1294; + $$sroa$2$0$$sroa_idx1 = (((24616 + ($$026<<4)|0)) + 4|0); + HEAP32[$$sroa$2$0$$sroa_idx1>>2] = $40; + $$sroa$3$0$$sroa_idx2 = (((24616 + ($$026<<4)|0)) + 8|0); + HEAP32[$$sroa$3$0$$sroa_idx2>>2] = 100; + $$sroa$4$0$$sroa_idx3 = (((24616 + ($$026<<4)|0)) + 12|0); + HEAP32[$$sroa$4$0$$sroa_idx3>>2] = 100; + $41 = (24776 + ($$026<<2)|0); + HEAP32[$41>>2] = 0; + $42 = (($$026) + 1)|0; + $exitcond = ($42|0)==(10); if ($exitcond) { break; } else { - $i$07 = $74; + $$026 = $42; } } _emscripten_set_main_loop((1|0),0,1); - ;HEAP32[$growl$byval_copy>>2]=HEAP32[204>>2]|0;HEAP32[$growl$byval_copy+4>>2]=HEAP32[204+4>>2]|0;HEAP32[$growl$byval_copy+8>>2]=HEAP32[204+8>>2]|0;HEAP32[$growl$byval_copy+12>>2]=HEAP32[204+12>>2]|0;HEAP32[$growl$byval_copy+16>>2]=HEAP32[204+16>>2]|0; + ;HEAP32[$growl$byval_copy>>2]=HEAP32[24228>>2]|0;HEAP32[$growl$byval_copy+4>>2]=HEAP32[24228+4>>2]|0;HEAP32[$growl$byval_copy+8>>2]=HEAP32[24228+8>>2]|0;HEAP32[$growl$byval_copy+12>>2]=HEAP32[24228+12>>2]|0;HEAP32[$growl$byval_copy+16>>2]=HEAP32[24228+16>>2]|0; _UnloadTexture($growl$byval_copy); - ;HEAP32[$growl$byval_copy>>2]=HEAP32[224>>2]|0;HEAP32[$growl$byval_copy+4>>2]=HEAP32[224+4>>2]|0;HEAP32[$growl$byval_copy+8>>2]=HEAP32[224+8>>2]|0;HEAP32[$growl$byval_copy+12>>2]=HEAP32[224+12>>2]|0;HEAP32[$growl$byval_copy+16>>2]=HEAP32[224+16>>2]|0; + ;HEAP32[$growl$byval_copy>>2]=HEAP32[24248>>2]|0;HEAP32[$growl$byval_copy+4>>2]=HEAP32[24248+4>>2]|0;HEAP32[$growl$byval_copy+8>>2]=HEAP32[24248+8>>2]|0;HEAP32[$growl$byval_copy+12>>2]=HEAP32[24248+12>>2]|0;HEAP32[$growl$byval_copy+16>>2]=HEAP32[24248+16>>2]|0; _UnloadTexture($growl$byval_copy); - ;HEAP32[$growl$byval_copy>>2]=HEAP32[244>>2]|0;HEAP32[$growl$byval_copy+4>>2]=HEAP32[244+4>>2]|0;HEAP32[$growl$byval_copy+8>>2]=HEAP32[244+8>>2]|0;HEAP32[$growl$byval_copy+12>>2]=HEAP32[244+12>>2]|0;HEAP32[$growl$byval_copy+16>>2]=HEAP32[244+16>>2]|0; + ;HEAP32[$growl$byval_copy>>2]=HEAP32[24268>>2]|0;HEAP32[$growl$byval_copy+4>>2]=HEAP32[24268+4>>2]|0;HEAP32[$growl$byval_copy+8>>2]=HEAP32[24268+8>>2]|0;HEAP32[$growl$byval_copy+12>>2]=HEAP32[24268+12>>2]|0;HEAP32[$growl$byval_copy+16>>2]=HEAP32[24268+16>>2]|0; _UnloadTexture($growl$byval_copy); - ;HEAP32[$growl$byval_copy>>2]=HEAP32[404>>2]|0;HEAP32[$growl$byval_copy+4>>2]=HEAP32[404+4>>2]|0;HEAP32[$growl$byval_copy+8>>2]=HEAP32[404+8>>2]|0;HEAP32[$growl$byval_copy+12>>2]=HEAP32[404+12>>2]|0;HEAP32[$growl$byval_copy+16>>2]=HEAP32[404+16>>2]|0; + ;HEAP32[$growl$byval_copy>>2]=HEAP32[24428>>2]|0;HEAP32[$growl$byval_copy+4>>2]=HEAP32[24428+4>>2]|0;HEAP32[$growl$byval_copy+8>>2]=HEAP32[24428+8>>2]|0;HEAP32[$growl$byval_copy+12>>2]=HEAP32[24428+12>>2]|0;HEAP32[$growl$byval_copy+16>>2]=HEAP32[24428+16>>2]|0; _UnloadTexture($growl$byval_copy); - ;HEAP32[$growl$byval_copy>>2]=HEAP32[264>>2]|0;HEAP32[$growl$byval_copy+4>>2]=HEAP32[264+4>>2]|0;HEAP32[$growl$byval_copy+8>>2]=HEAP32[264+8>>2]|0;HEAP32[$growl$byval_copy+12>>2]=HEAP32[264+12>>2]|0;HEAP32[$growl$byval_copy+16>>2]=HEAP32[264+16>>2]|0; + ;HEAP32[$growl$byval_copy>>2]=HEAP32[24288>>2]|0;HEAP32[$growl$byval_copy+4>>2]=HEAP32[24288+4>>2]|0;HEAP32[$growl$byval_copy+8>>2]=HEAP32[24288+8>>2]|0;HEAP32[$growl$byval_copy+12>>2]=HEAP32[24288+12>>2]|0;HEAP32[$growl$byval_copy+16>>2]=HEAP32[24288+16>>2]|0; _UnloadTexture($growl$byval_copy); - ;HEAP32[$growl$byval_copy>>2]=HEAP32[284>>2]|0;HEAP32[$growl$byval_copy+4>>2]=HEAP32[284+4>>2]|0;HEAP32[$growl$byval_copy+8>>2]=HEAP32[284+8>>2]|0;HEAP32[$growl$byval_copy+12>>2]=HEAP32[284+12>>2]|0;HEAP32[$growl$byval_copy+16>>2]=HEAP32[284+16>>2]|0; + ;HEAP32[$growl$byval_copy>>2]=HEAP32[24308>>2]|0;HEAP32[$growl$byval_copy+4>>2]=HEAP32[24308+4>>2]|0;HEAP32[$growl$byval_copy+8>>2]=HEAP32[24308+8>>2]|0;HEAP32[$growl$byval_copy+12>>2]=HEAP32[24308+12>>2]|0;HEAP32[$growl$byval_copy+16>>2]=HEAP32[24308+16>>2]|0; _UnloadTexture($growl$byval_copy); - ;HEAP32[$growl$byval_copy>>2]=HEAP32[324>>2]|0;HEAP32[$growl$byval_copy+4>>2]=HEAP32[324+4>>2]|0;HEAP32[$growl$byval_copy+8>>2]=HEAP32[324+8>>2]|0;HEAP32[$growl$byval_copy+12>>2]=HEAP32[324+12>>2]|0;HEAP32[$growl$byval_copy+16>>2]=HEAP32[324+16>>2]|0; + ;HEAP32[$growl$byval_copy>>2]=HEAP32[24348>>2]|0;HEAP32[$growl$byval_copy+4>>2]=HEAP32[24348+4>>2]|0;HEAP32[$growl$byval_copy+8>>2]=HEAP32[24348+8>>2]|0;HEAP32[$growl$byval_copy+12>>2]=HEAP32[24348+12>>2]|0;HEAP32[$growl$byval_copy+16>>2]=HEAP32[24348+16>>2]|0; _UnloadTexture($growl$byval_copy); - ;HEAP32[$growl$byval_copy>>2]=HEAP32[344>>2]|0;HEAP32[$growl$byval_copy+4>>2]=HEAP32[344+4>>2]|0;HEAP32[$growl$byval_copy+8>>2]=HEAP32[344+8>>2]|0;HEAP32[$growl$byval_copy+12>>2]=HEAP32[344+12>>2]|0;HEAP32[$growl$byval_copy+16>>2]=HEAP32[344+16>>2]|0; + ;HEAP32[$growl$byval_copy>>2]=HEAP32[24368>>2]|0;HEAP32[$growl$byval_copy+4>>2]=HEAP32[24368+4>>2]|0;HEAP32[$growl$byval_copy+8>>2]=HEAP32[24368+8>>2]|0;HEAP32[$growl$byval_copy+12>>2]=HEAP32[24368+12>>2]|0;HEAP32[$growl$byval_copy+16>>2]=HEAP32[24368+16>>2]|0; _UnloadTexture($growl$byval_copy); - ;HEAP32[$growl$byval_copy>>2]=HEAP32[364>>2]|0;HEAP32[$growl$byval_copy+4>>2]=HEAP32[364+4>>2]|0;HEAP32[$growl$byval_copy+8>>2]=HEAP32[364+8>>2]|0;HEAP32[$growl$byval_copy+12>>2]=HEAP32[364+12>>2]|0;HEAP32[$growl$byval_copy+16>>2]=HEAP32[364+16>>2]|0; + ;HEAP32[$growl$byval_copy>>2]=HEAP32[24388>>2]|0;HEAP32[$growl$byval_copy+4>>2]=HEAP32[24388+4>>2]|0;HEAP32[$growl$byval_copy+8>>2]=HEAP32[24388+8>>2]|0;HEAP32[$growl$byval_copy+12>>2]=HEAP32[24388+12>>2]|0;HEAP32[$growl$byval_copy+16>>2]=HEAP32[24388+16>>2]|0; _UnloadTexture($growl$byval_copy); - ;HEAP32[$growl$byval_copy>>2]=HEAP32[384>>2]|0;HEAP32[$growl$byval_copy+4>>2]=HEAP32[384+4>>2]|0;HEAP32[$growl$byval_copy+8>>2]=HEAP32[384+8>>2]|0;HEAP32[$growl$byval_copy+12>>2]=HEAP32[384+12>>2]|0;HEAP32[$growl$byval_copy+16>>2]=HEAP32[384+16>>2]|0; + ;HEAP32[$growl$byval_copy>>2]=HEAP32[24408>>2]|0;HEAP32[$growl$byval_copy+4>>2]=HEAP32[24408+4>>2]|0;HEAP32[$growl$byval_copy+8>>2]=HEAP32[24408+8>>2]|0;HEAP32[$growl$byval_copy+12>>2]=HEAP32[24408+12>>2]|0;HEAP32[$growl$byval_copy+16>>2]=HEAP32[24408+16>>2]|0; _UnloadTexture($growl$byval_copy); - ;HEAP32[$growl$byval_copy>>2]=HEAP32[304>>2]|0;HEAP32[$growl$byval_copy+4>>2]=HEAP32[304+4>>2]|0;HEAP32[$growl$byval_copy+8>>2]=HEAP32[304+8>>2]|0;HEAP32[$growl$byval_copy+12>>2]=HEAP32[304+12>>2]|0;HEAP32[$growl$byval_copy+16>>2]=HEAP32[304+16>>2]|0; + ;HEAP32[$growl$byval_copy>>2]=HEAP32[24328>>2]|0;HEAP32[$growl$byval_copy+4>>2]=HEAP32[24328+4>>2]|0;HEAP32[$growl$byval_copy+8>>2]=HEAP32[24328+8>>2]|0;HEAP32[$growl$byval_copy+12>>2]=HEAP32[24328+12>>2]|0;HEAP32[$growl$byval_copy+16>>2]=HEAP32[24328+16>>2]|0; _UnloadTexture($growl$byval_copy); - dest=$growl$byval_copy; src=424; stop=dest+44|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + ;HEAP32[$growl$byval_copy>>2]=HEAP32[24448>>2]|0;HEAP32[$growl$byval_copy+4>>2]=HEAP32[24448+4>>2]|0;HEAP32[$growl$byval_copy+8>>2]=HEAP32[24448+8>>2]|0;HEAP32[$growl$byval_copy+12>>2]=HEAP32[24448+12>>2]|0;HEAP32[$growl$byval_copy+16>>2]=HEAP32[24448+16>>2]|0;HEAP32[$growl$byval_copy+20>>2]=HEAP32[24448+20>>2]|0;HEAP32[$growl$byval_copy+24>>2]=HEAP32[24448+24>>2]|0;HEAP32[$growl$byval_copy+28>>2]=HEAP32[24448+28>>2]|0; _UnloadSpriteFont($growl$byval_copy); - ;HEAP32[$growl$byval_copy>>2]=HEAP32[468>>2]|0;HEAP32[$growl$byval_copy+4>>2]=HEAP32[468+4>>2]|0; + ;HEAP32[$growl$byval_copy>>2]=HEAP32[24480>>2]|0;HEAP32[$growl$byval_copy+4>>2]=HEAP32[24480+4>>2]|0;HEAP32[$growl$byval_copy+8>>2]=HEAP32[24480+8>>2]|0; _UnloadSound($growl$byval_copy); - ;HEAP32[$growl$byval_copy>>2]=HEAP32[476>>2]|0;HEAP32[$growl$byval_copy+4>>2]=HEAP32[476+4>>2]|0; + ;HEAP32[$growl$byval_copy>>2]=HEAP32[24492>>2]|0;HEAP32[$growl$byval_copy+4>>2]=HEAP32[24492+4>>2]|0;HEAP32[$growl$byval_copy+8>>2]=HEAP32[24492+8>>2]|0; _UnloadSound($growl$byval_copy); - ;HEAP32[$growl$byval_copy>>2]=HEAP32[484>>2]|0;HEAP32[$growl$byval_copy+4>>2]=HEAP32[484+4>>2]|0; + ;HEAP32[$growl$byval_copy>>2]=HEAP32[24504>>2]|0;HEAP32[$growl$byval_copy+4>>2]=HEAP32[24504+4>>2]|0;HEAP32[$growl$byval_copy+8>>2]=HEAP32[24504+8>>2]|0; _UnloadSound($growl$byval_copy); - _StopMusicStream(); + $19 = HEAP32[6129]|0; + _UnloadMusicStream($19); _CloseAudioDevice(); _CloseWindow(); STACKTOP = sp;return 0; } function _UpdateDrawFrame() { - var $$ = 0, $$1 = 0, $$2 = 0, $$byval_copy67 = 0, $$byval_copy68 = 0, $$lcssa = 0, $$neg = 0, $$pr = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0; - var $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0.0, $124 = 0.0, $125 = 0.0, $126 = 0.0; - var $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0; - var $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0; - var $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0.0, $168 = 0.0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0; - var $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0; - var $2 = 0, $20 = 0, $200 = 0.0, $201 = 0.0, $202 = 0, $203 = 0.0, $204 = 0.0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0; - var $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0; - var $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0; - var $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0; - var $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0; - var $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0; - var $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0; - var $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0.0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0; - var $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0; - var $361 = 0.0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0.0, $377 = 0, $378 = 0, $379 = 0; - var $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0; - var $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0.0, $47 = 0.0; - var $48 = 0.0, $49 = 0.0, $5 = 0, $50 = 0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0.0, $64 = 0.0, $65 = 0; - var $66 = 0.0, $67 = 0.0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0; - var $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0.0, $93 = 0, $94 = 0, $95 = 0.0, $96 = 0.0, $97 = 0, $98 = 0, $99 = 0, $exitcond = 0, $exitcond188 = 0, $exitcond189 = 0; - var $exitcond190 = 0, $font$byval_copy66 = 0, $i1$0182 = 0, $i2$0179 = 0, $i3$0186 = 0, $i5$0176 = 0, $storemerge = 0, $storemerge$v = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer13 = 0, $vararg_buffer4 = 0, $vararg_buffer7 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + var $$ = 0, $$0135156 = 0, $$0136153 = 0, $$0137160 = 0, $$0150 = 0, $$1 = 0, $$3 = 0, $$byval_copy67 = 0, $$byval_copy68 = 0, $$lcssa = 0, $$neg = 0, $$pr = 0, $$sink = 0, $$sink12 = 0, $$sink2 = 0, $$sink6 = 0, $$sink8 = 0, $$sroa$0$0$$sroa_idx = 0, $$sroa$2$0$$sroa_idx30 = 0, $$sroa$2100$0$$sroa_idx101 = 0; + var $$sroa$258$0$$sroa_idx59 = 0, $$sroa$265$0$$sroa_idx66 = 0, $$sroa$3$0$$sroa_idx31 = 0, $$sroa$3102$0$$sroa_idx103 = 0, $$sroa$360$0$$sroa_idx61 = 0, $$sroa$367$0$$sroa_idx68 = 0, $$sroa$4$0$$sroa_idx32 = 0, $$sroa$4104$0$$sroa_idx105 = 0, $$sroa$462$0$$sroa_idx63 = 0, $$sroa$469$0$$sroa_idx70 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0; + var $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0.0, $121 = 0.0, $122 = 0.0, $123 = 0.0, $124 = 0; + var $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0; + var $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0.0, $16 = 0, $160 = 0.0; + var $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0; + var $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0.0, $189 = 0.0, $19 = 0, $190 = 0, $191 = 0.0, $192 = 0.0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0; + var $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0; + var $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0; + var $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0; + var $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0.0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0; + var $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0.0, $284 = 0, $285 = 0, $286 = 0, $287 = 0.0; + var $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0.0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0; + var $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0; + var $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0.0, $338 = 0, $339 = 0, $34 = 0, $340 = 0; + var $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0.0, $346 = 0, $347 = 0, $348 = 0, $349 = 0.0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0.0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0; + var $36 = 0, $360 = 0, $361 = 0, $362 = 0.0, $363 = 0, $364 = 0, $365 = 0, $366 = 0.0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0.0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0; + var $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0.0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0; + var $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0.0, $48 = 0.0, $49 = 0.0, $5 = 0, $50 = 0.0, $51 = 0, $52 = 0.0; + var $53 = 0.0, $54 = 0.0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0.0, $65 = 0.0, $66 = 0, $67 = 0.0, $68 = 0.0, $69 = 0, $7 = 0, $70 = 0; + var $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0; + var $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0.0, $95 = 0, $96 = 0, $97 = 0.0, $98 = 0.0, $99 = 0, $exitcond = 0, $exitcond162 = 0, $exitcond163 = 0, $exitcond164 = 0, $font$byval_copy66 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer13 = 0; + var $vararg_buffer4 = 0, $vararg_buffer7 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 352|0; - $$byval_copy68 = sp + 240|0; - $$byval_copy67 = sp + 220|0; + STACKTOP = STACKTOP + 352|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(352|0); + $$byval_copy68 = sp + 232|0; + $$byval_copy67 = sp + 208|0; $font$byval_copy66 = sp + 176|0; $vararg_buffer13 = sp + 40|0; $vararg_buffer10 = sp + 32|0; @@ -11267,191 +11523,200 @@ function _UpdateDrawFrame() { $vararg_buffer4 = sp + 16|0; $vararg_buffer1 = sp + 8|0; $vararg_buffer = sp; - $0 = sp + 344|0; + $0 = sp + 336|0; $1 = sp + 172|0; $2 = sp + 168|0; $3 = sp + 164|0; - $4 = sp + 340|0; - $5 = sp + 336|0; - $6 = sp + 332|0; - $7 = sp + 328|0; + $4 = sp + 332|0; + $5 = sp + 328|0; + $6 = sp + 324|0; + $7 = sp + 320|0; $8 = sp + 160|0; $9 = sp + 152|0; $10 = sp + 144|0; - $11 = sp + 324|0; - $12 = sp + 320|0; + $11 = sp + 316|0; + $12 = sp + 312|0; $13 = sp + 140|0; $14 = sp + 136|0; $15 = sp + 132|0; $16 = sp + 128|0; $17 = sp + 124|0; $18 = sp + 120|0; - $19 = sp + 316|0; - $20 = sp + 312|0; - $21 = sp + 308|0; - $22 = sp + 304|0; + $19 = sp + 308|0; + $20 = sp + 304|0; + $21 = sp + 300|0; + $22 = sp + 296|0; $23 = sp + 112|0; - $24 = sp + 300|0; + $24 = sp + 292|0; $25 = sp + 104|0; - $26 = sp + 296|0; - $27 = sp + 292|0; - $28 = sp + 288|0; + $26 = sp + 288|0; + $27 = sp + 284|0; + $28 = sp + 280|0; $29 = sp + 96|0; - $30 = sp + 284|0; - $31 = sp + 280|0; + $30 = sp + 276|0; + $31 = sp + 272|0; $32 = sp + 88|0; - $33 = sp + 276|0; + $33 = sp + 268|0; $34 = sp + 80|0; - $35 = sp + 272|0; + $35 = sp + 264|0; $36 = sp + 72|0; - $37 = sp + 268|0; + $37 = sp + 260|0; $38 = sp + 64|0; - $39 = sp + 264|0; + $39 = sp + 256|0; $40 = sp + 56|0; - $41 = sp + 260|0; + $41 = sp + 252|0; $42 = sp + 48|0; - $43 = sp + 256|0; - _UpdateMusicStream(); - $44 = HEAP32[196>>2]|0; - $45 = (($44) + 1)|0; - HEAP32[196>>2] = $45; - $46 = +HEAPF32[200>>2]; - $47 = (+Math_sin((+$46))); - $48 = $47 * 25.0; - $49 = $48 + 210.0; - $50 = (~~(($49))&255); - HEAP8[9652>>0] = $50; - $51 = $46; - $52 = $51 + 0.01; - $53 = $52; - HEAPF32[200>>2] = $53; - $54 = HEAP32[160>>2]|0; - switch ($54|0) { + $43 = sp + 248|0; + $44 = HEAP32[6129]|0; + _UpdateMusicStream($44); + $45 = HEAP32[6055]|0; + $46 = (($45) + 1)|0; + HEAP32[6055] = $46; + $47 = +HEAPF32[6056]; + $48 = (+Math_sin((+$47))); + $49 = $48 * 25.0; + $50 = $49 + 210.0; + $51 = (~~(($50))&255); + HEAP8[5694] = $51; + $52 = $47; + $53 = $52 + 0.01; + $54 = $53; + HEAPF32[6056] = $54; + $55 = HEAP32[6048]|0; + switch ($55|0) { case 0: { - $55 = HEAP32[156>>2]|0; - $56 = (($55) + -2)|0; - $57 = ($56|0)<(-1279); - $$ = $57 ? 0 : $56; - HEAP32[156>>2] = $$; - $58 = (_IsKeyPressed(257)|0); - $59 = ($58|0)==(0); - if (!($59)) { - HEAP32[160>>2] = 1; - HEAP32[196>>2] = 0; + $56 = HEAP32[6047]|0; + $57 = (($56) + -2)|0; + $58 = ($57|0)<(-1279); + $$ = $58 ? 0 : $57; + HEAP32[6047] = $$; + $59 = (_IsKeyPressed(257)|0); + $60 = ($59|0)==(0); + if (!($60)) { + HEAP32[6048] = 1; + HEAP32[6055] = 0; } break; } case 1: { - $60 = HEAP32[152>>2]|0; - $61 = (($60) + -1)|0; - $62 = ($60|0)<(-1278); - $$1 = $62 ? 0 : $61; - HEAP32[152>>2] = $$1; - $63 = +HEAPF32[172>>2]; - $64 = $63 + -2.0; - $65 = HEAP32[156>>2]|0; - $66 = (+($65|0)); - $67 = $66 - $64; - $68 = (~~(($67))); - $69 = ($68|0)<(-1279); - $$2 = $69 ? 0 : $68; - HEAP32[156>>2] = $$2; - $70 = (_IsKeyPressed(264)|0); - $71 = ($70|0)==(0); - if ($71) { - $74 = (_IsKeyPressed(265)|0); - $75 = ($74|0)==(0); - $$pr = HEAP32[164>>2]|0; - if ($75) { - $77 = $$pr; + $61 = HEAP32[6046]|0; + $62 = (($61) + -1)|0; + $63 = ($61|0)<(-1278); + $$1 = $63 ? 0 : $62; + HEAP32[6046] = $$1; + $64 = +HEAPF32[3]; + $65 = $64 + -2.0; + $66 = HEAP32[6047]|0; + $67 = (+($66|0)); + $68 = $67 - $65; + $69 = (~~(($68))); + $70 = ($69|0)<(-1279); + $$3 = $70 ? 0 : $69; + HEAP32[6047] = $$3; + $71 = (_IsKeyPressed(264)|0); + $72 = ($71|0)==(0); + if ($72) { + $73 = (_IsKeyPressed(265)|0); + $74 = ($73|0)==(0); + if ($74) { + $$pr = HEAP32[2]|0; + $78 = $$pr; } else { - $76 = (($$pr) + -1)|0; - HEAP32[164>>2] = $76; - $77 = $76; + $$sink6 = -1; + label = 6; } } else { - $72 = HEAP32[164>>2]|0; - $73 = (($72) + 1)|0; - HEAP32[164>>2] = $73; - $77 = $73; + $$sink6 = 1; + label = 6; } - $78 = ($77|0)>(4); - if ($78) { - HEAP32[164>>2] = 4; + if ((label|0) == 6) { + $75 = HEAP32[2]|0; + $76 = (($75) + ($$sink6))|0; + HEAP32[2] = $76; + $78 = $76; + } + $77 = ($78|0)>(4); + if ($77) { + $$sink8 = 4; + label = 10; } else { - $79 = ($77|0)<(0); + $79 = ($78|0)<(0); if ($79) { - HEAP32[164>>2] = 0; + $$sink8 = 0; + label = 10; } } - $80 = HEAP32[164>>2]|0; + if ((label|0) == 10) { + HEAP32[2] = $$sink8; + } + $80 = HEAP32[2]|0; $81 = ($80*120)|0; $82 = (($81) + 104)|0; - HEAP32[492>>2] = 44; - HEAP32[(496)>>2] = $82; - HEAP32[(500)>>2] = 100; - HEAP32[(504)>>2] = 100; - $83 = HEAP32[196>>2]|0; + HEAP32[6130] = 44; + HEAP32[(24524)>>2] = $82; + HEAP32[(24528)>>2] = 100; + HEAP32[(24532)>>2] = 100; + $83 = HEAP32[6055]|0; $84 = ($83|0)>(40); if ($84) { - $85 = HEAP32[748>>2]|0; + $85 = HEAP32[6194]|0; $86 = ($85|0)==(0); if ($86) { - $$lcssa = 748; + $$lcssa = 24776; label = 14; } else { - $87 = HEAP32[(752)>>2]|0; + $87 = HEAP32[(24780)>>2]|0; $88 = ($87|0)==(0); if ($88) { - $$lcssa = (752); + $$lcssa = (24780); label = 14; } else { - $393 = HEAP32[(756)>>2]|0; - $394 = ($393|0)==(0); - if ($394) { - $$lcssa = (756); + $385 = HEAP32[(24784)>>2]|0; + $386 = ($385|0)==(0); + if ($386) { + $$lcssa = (24784); label = 14; } else { - $395 = HEAP32[(760)>>2]|0; - $396 = ($395|0)==(0); - if ($396) { - $$lcssa = (760); + $387 = HEAP32[(24788)>>2]|0; + $388 = ($387|0)==(0); + if ($388) { + $$lcssa = (24788); label = 14; } else { - $397 = HEAP32[(764)>>2]|0; - $398 = ($397|0)==(0); - if ($398) { - $$lcssa = (764); + $389 = HEAP32[(24792)>>2]|0; + $390 = ($389|0)==(0); + if ($390) { + $$lcssa = (24792); label = 14; } else { - $399 = HEAP32[(768)>>2]|0; - $400 = ($399|0)==(0); - if ($400) { - $$lcssa = (768); + $391 = HEAP32[(24796)>>2]|0; + $392 = ($391|0)==(0); + if ($392) { + $$lcssa = (24796); label = 14; } else { - $401 = HEAP32[(772)>>2]|0; - $402 = ($401|0)==(0); - if ($402) { - $$lcssa = (772); + $393 = HEAP32[(24800)>>2]|0; + $394 = ($393|0)==(0); + if ($394) { + $$lcssa = (24800); label = 14; } else { - $403 = HEAP32[(776)>>2]|0; - $404 = ($403|0)==(0); - if ($404) { - $$lcssa = (776); + $395 = HEAP32[(24804)>>2]|0; + $396 = ($395|0)==(0); + if ($396) { + $$lcssa = (24804); label = 14; } else { - $405 = HEAP32[(780)>>2]|0; - $406 = ($405|0)==(0); - if ($406) { - $$lcssa = (780); + $397 = HEAP32[(24808)>>2]|0; + $398 = ($397|0)==(0); + if ($398) { + $$lcssa = (24808); label = 14; } else { - $407 = HEAP32[(784)>>2]|0; - $408 = ($407|0)==(0); - if ($408) { - $$lcssa = (784); + $399 = HEAP32[(24812)>>2]|0; + $400 = ($399|0)==(0); + if ($400) { + $$lcssa = (24812); label = 14; } } @@ -11466,358 +11731,358 @@ function _UpdateDrawFrame() { if ((label|0) == 14) { HEAP32[$$lcssa>>2] = 1; } - HEAP32[196>>2] = 0; - $i1$0182 = 0; + HEAP32[6055] = 0; + $$0135156 = 0; } else { - $i1$0182 = 0; + $$0135156 = 0; } while(1) { - $89 = (748 + ($i1$0182<<2)|0); - $90 = HEAP32[$89>>2]|0; - $91 = ($90|0)==(0); - if (!($91)) { - $92 = +HEAPF32[172>>2]; - $93 = (588 + ($i1$0182<<4)|0); - $94 = HEAP32[$93>>2]|0; - $95 = (+($94|0)); - $96 = $95 - $92; - $97 = (~~(($96))); - HEAP32[$93>>2] = $97; + $91 = (24776 + ($$0135156<<2)|0); + $92 = HEAP32[$91>>2]|0; + $93 = ($92|0)==(0); + if (!($93)) { + $94 = +HEAPF32[3]; + $95 = (24616 + ($$0135156<<4)|0); + $96 = HEAP32[$95>>2]|0; + $97 = (+($96|0)); + $98 = $97 - $94; + $99 = (~~(($98))); + HEAP32[$95>>2] = $99; } - $98 = (588 + ($i1$0182<<4)|0); - $99 = HEAP32[$98>>2]|0; - $100 = ($99|0)<(-127); - if ($100) { - HEAP32[$89>>2] = 0; - $101 = (_GetRandomValue(0,3)|0); - $102 = (508 + ($i1$0182<<2)|0); - HEAP32[$102>>2] = $101; - $103 = (_GetRandomValue(0,4)|0); - $104 = (548 + ($i1$0182<<2)|0); + $100 = (24616 + ($$0135156<<4)|0); + $101 = HEAP32[$100>>2]|0; + $102 = ($101|0)<(-127); + if ($102) { + HEAP32[$91>>2] = 0; + $103 = (_GetRandomValue(0,3)|0); + $104 = (24536 + ($$0135156<<2)|0); HEAP32[$104>>2] = $103; - $105 = ($i1$0182|0)>(0); - if ($105) { - $106 = HEAP32[$104>>2]|0; - $107 = (($i1$0182) + -1)|0; - $108 = (548 + ($107<<2)|0); - $109 = HEAP32[$108>>2]|0; - $110 = ($106|0)==($109|0); - if ($110) { + $105 = (_GetRandomValue(0,4)|0); + $106 = (24576 + ($$0135156<<2)|0); + HEAP32[$106>>2] = $105; + $107 = ($$0135156|0)>(0); + if ($107) { + $108 = HEAP32[$106>>2]|0; + $109 = (($$0135156) + -1)|0; + $110 = (24576 + ($109<<2)|0); + $111 = HEAP32[$110>>2]|0; + $112 = ($108|0)==($111|0); + if ($112) { while(1) { - $111 = (_GetRandomValue(0,4)|0); - HEAP32[$104>>2] = $111; - $112 = HEAP32[$108>>2]|0; - $113 = ($111|0)==($112|0); - if (!($113)) { + $113 = (_GetRandomValue(0,4)|0); + HEAP32[$106>>2] = $113; + $114 = HEAP32[$110>>2]|0; + $115 = ($113|0)==($114|0); + if (!($115)) { break; } } } } - $114 = HEAP32[$104>>2]|0; - $115 = ($114*120)|0; - $116 = (($115) + 104)|0; - HEAP32[$98>>2] = 1294; - $117 = (((588 + ($i1$0182<<4)|0)) + 4|0); - HEAP32[$117>>2] = $116; - $118 = (((588 + ($i1$0182<<4)|0)) + 8|0); - HEAP32[$118>>2] = 100; - $119 = (((588 + ($i1$0182<<4)|0)) + 12|0); - HEAP32[$119>>2] = 100; + $116 = HEAP32[$106>>2]|0; + $117 = ($116*120)|0; + $118 = (($117) + 104)|0; + HEAP32[$100>>2] = 1294; + $$sroa$2100$0$$sroa_idx101 = (((24616 + ($$0135156<<4)|0)) + 4|0); + HEAP32[$$sroa$2100$0$$sroa_idx101>>2] = $118; + $$sroa$3102$0$$sroa_idx103 = (((24616 + ($$0135156<<4)|0)) + 8|0); + HEAP32[$$sroa$3102$0$$sroa_idx103>>2] = 100; + $$sroa$4104$0$$sroa_idx105 = (((24616 + ($$0135156<<4)|0)) + 12|0); + HEAP32[$$sroa$4104$0$$sroa_idx105>>2] = 100; } - $120 = (($i1$0182) + 1)|0; - $exitcond189 = ($120|0)==(10); - if ($exitcond189) { + $119 = (($$0135156) + 1)|0; + $exitcond163 = ($119|0)==(10); + if ($exitcond163) { break; } else { - $i1$0182 = $120; + $$0135156 = $119; } } - $121 = HEAP32[168>>2]|0; - $122 = ($121|0)==(0); - if ($122) { - $123 = +HEAPF32[172>>2]; - $124 = $123; - $125 = $124 + 0.0050000000000000001; - $126 = $125; - HEAPF32[172>>2] = $126; - $i2$0179 = 0; + $89 = HEAP32[6049]|0; + $90 = ($89|0)==(0); + if ($90) { + $120 = +HEAPF32[3]; + $121 = $120; + $122 = $121 + 0.0050000000000000001; + $123 = $122; + HEAPF32[3] = $123; + $$0136153 = 0; } else { - $i2$0179 = 0; + $$0136153 = 0; } while(1) { - $127 = (748 + ($i2$0179<<2)|0); - $128 = HEAP32[$127>>2]|0; - $129 = ($128|0)==(0); + $126 = (24776 + ($$0136153<<2)|0); + $127 = HEAP32[$126>>2]|0; + $128 = ($127|0)==(0); do { - if (!($129)) { - $130 = (588 + ($i2$0179<<4)|0); - ;HEAP32[$$byval_copy67>>2]=HEAP32[492>>2]|0;HEAP32[$$byval_copy67+4>>2]=HEAP32[492+4>>2]|0;HEAP32[$$byval_copy67+8>>2]=HEAP32[492+8>>2]|0;HEAP32[$$byval_copy67+12>>2]=HEAP32[492+12>>2]|0; - ;HEAP32[$$byval_copy68>>2]=HEAP32[$130>>2]|0;HEAP32[$$byval_copy68+4>>2]=HEAP32[$130+4>>2]|0;HEAP32[$$byval_copy68+8>>2]=HEAP32[$130+8>>2]|0;HEAP32[$$byval_copy68+12>>2]=HEAP32[$130+12>>2]|0; - $131 = (_CheckCollisionRecs($$byval_copy67,$$byval_copy68)|0); - $132 = ($131|0)==(0); - if (!($132)) { - $133 = (508 + ($i2$0179<<2)|0); - $134 = HEAP32[$133>>2]|0; - $135 = ($134|0)<(3); - if (!($135)) { - HEAP32[$127>>2] = 0; - $170 = (_GetRandomValue(0,3)|0); - HEAP32[$133>>2] = $170; - $171 = (_GetRandomValue(0,4)|0); - $172 = (548 + ($i2$0179<<2)|0); - HEAP32[$172>>2] = $171; - $173 = ($i2$0179|0)>(0); - if ($173) { - $174 = HEAP32[$172>>2]|0; - $175 = (($i2$0179) + -1)|0; - $176 = (548 + ($175<<2)|0); - $177 = HEAP32[$176>>2]|0; - $178 = ($174|0)==($177|0); - if ($178) { + if (!($128)) { + $129 = (24616 + ($$0136153<<4)|0); + ;HEAP32[$$byval_copy67>>2]=HEAP32[24520>>2]|0;HEAP32[$$byval_copy67+4>>2]=HEAP32[24520+4>>2]|0;HEAP32[$$byval_copy67+8>>2]=HEAP32[24520+8>>2]|0;HEAP32[$$byval_copy67+12>>2]=HEAP32[24520+12>>2]|0; + ;HEAP32[$$byval_copy68>>2]=HEAP32[$129>>2]|0;HEAP32[$$byval_copy68+4>>2]=HEAP32[$129+4>>2]|0;HEAP32[$$byval_copy68+8>>2]=HEAP32[$129+8>>2]|0;HEAP32[$$byval_copy68+12>>2]=HEAP32[$129+12>>2]|0; + $130 = (_CheckCollisionRecs($$byval_copy67,$$byval_copy68)|0); + $131 = ($130|0)==(0); + if (!($131)) { + $132 = (24536 + ($$0136153<<2)|0); + $133 = HEAP32[$132>>2]|0; + $134 = ($133|0)<(3); + if (!($134)) { + HEAP32[$126>>2] = 0; + $162 = (_GetRandomValue(0,3)|0); + HEAP32[$132>>2] = $162; + $163 = (_GetRandomValue(0,4)|0); + $164 = (24576 + ($$0136153<<2)|0); + HEAP32[$164>>2] = $163; + $165 = ($$0136153|0)>(0); + if ($165) { + $166 = HEAP32[$164>>2]|0; + $167 = (($$0136153) + -1)|0; + $168 = (24576 + ($167<<2)|0); + $169 = HEAP32[$168>>2]|0; + $170 = ($166|0)==($169|0); + if ($170) { while(1) { - $179 = (_GetRandomValue(0,4)|0); - HEAP32[$172>>2] = $179; - $180 = HEAP32[$176>>2]|0; - $181 = ($179|0)==($180|0); - if (!($181)) { + $171 = (_GetRandomValue(0,4)|0); + HEAP32[$164>>2] = $171; + $172 = HEAP32[$168>>2]|0; + $173 = ($171|0)==($172|0); + if (!($173)) { break; } } } } - $182 = HEAP32[$172>>2]|0; - $183 = ($182*120)|0; - $184 = (($183) + 104)|0; - HEAP32[$130>>2] = 1294; - $185 = (((588 + ($i2$0179<<4)|0)) + 4|0); - HEAP32[$185>>2] = $184; - $186 = (((588 + ($i2$0179<<4)|0)) + 8|0); - HEAP32[$186>>2] = 100; - $187 = (((588 + ($i2$0179<<4)|0)) + 12|0); - HEAP32[$187>>2] = 100; - $188 = HEAP32[168>>2]|0; - $189 = ($188|0)==(0); - $190 = HEAP32[192>>2]|0; - $storemerge$v = $189 ? 80 : 25; - $storemerge = (($storemerge$v) + ($190))|0; - HEAP32[192>>2] = $storemerge; - $191 = HEAP32[176>>2]|0; - $192 = (($191) + 10)|0; - HEAP32[176>>2] = $192; - $193 = ($storemerge|0)==(400); - if ($193) { - HEAP32[168>>2] = 1; - ;HEAP32[$$byval_copy68>>2]=HEAP32[484>>2]|0;HEAP32[$$byval_copy68+4>>2]=HEAP32[484+4>>2]|0; + $174 = HEAP32[$164>>2]|0; + $175 = ($174*120)|0; + $176 = (($175) + 104)|0; + HEAP32[$129>>2] = 1294; + $$sroa$258$0$$sroa_idx59 = (((24616 + ($$0136153<<4)|0)) + 4|0); + HEAP32[$$sroa$258$0$$sroa_idx59>>2] = $176; + $$sroa$360$0$$sroa_idx61 = (((24616 + ($$0136153<<4)|0)) + 8|0); + HEAP32[$$sroa$360$0$$sroa_idx61>>2] = 100; + $$sroa$462$0$$sroa_idx63 = (((24616 + ($$0136153<<4)|0)) + 12|0); + HEAP32[$$sroa$462$0$$sroa_idx63>>2] = 100; + $177 = HEAP32[6049]|0; + $178 = ($177|0)!=(0); + $179 = HEAP32[6054]|0; + $$sink2 = $178 ? 25 : 80; + $180 = (($$sink2) + ($179))|0; + HEAP32[6054] = $180; + $181 = HEAP32[6050]|0; + $182 = (($181) + 10)|0; + HEAP32[6050] = $182; + $183 = ($180|0)==(400); + if ($183) { + HEAP32[6049] = 1; + ;HEAP32[$$byval_copy68>>2]=HEAP32[24504>>2]|0;HEAP32[$$byval_copy68+4>>2]=HEAP32[24504+4>>2]|0;HEAP32[$$byval_copy68+8>>2]=HEAP32[24504+8>>2]|0; _PlaySound($$byval_copy68); } - ;HEAP32[$$byval_copy68>>2]=HEAP32[468>>2]|0;HEAP32[$$byval_copy68+4>>2]=HEAP32[468+4>>2]|0; + ;HEAP32[$$byval_copy68>>2]=HEAP32[24480>>2]|0;HEAP32[$$byval_copy68+4>>2]=HEAP32[24480+4>>2]|0;HEAP32[$$byval_copy68+8>>2]=HEAP32[24480+8>>2]|0; _PlaySound($$byval_copy68); break; } - $136 = HEAP32[168>>2]|0; - $137 = ($136|0)==(0); - if ($137) { - ;HEAP32[$$byval_copy68>>2]=HEAP32[476>>2]|0;HEAP32[$$byval_copy68+4>>2]=HEAP32[476+4>>2]|0; + $135 = HEAP32[6049]|0; + $136 = ($135|0)==(0); + if ($136) { + ;HEAP32[$$byval_copy68>>2]=HEAP32[24492>>2]|0;HEAP32[$$byval_copy68+4>>2]=HEAP32[24492+4>>2]|0;HEAP32[$$byval_copy68+8>>2]=HEAP32[24492+8>>2]|0; _PlaySound($$byval_copy68); - HEAP32[160>>2] = 2; - HEAP32[196>>2] = 0; - $164 = HEAP32[176>>2]|0; - $165 = HEAP32[184>>2]|0; - $166 = ($164|0)>($165|0); - if ($166) { - HEAP32[184>>2] = $164; + HEAP32[6048] = 2; + HEAP32[6055] = 0; + $156 = HEAP32[6050]|0; + $157 = HEAP32[6052]|0; + $158 = ($156|0)>($157|0); + if ($158) { + HEAP32[6052] = $156; } - $167 = +HEAPF32[180>>2]; - $168 = +HEAPF32[188>>2]; - $169 = $167 > $168; - if (!($169)) { + $159 = +HEAPF32[6051]; + $160 = +HEAPF32[6053]; + $161 = $159 > $160; + if (!($161)) { break; } - HEAPF32[188>>2] = $167; + HEAPF32[6053] = $159; break; } - switch ($134|0) { + switch ($133|0) { case 0: { - $138 = HEAP32[176>>2]|0; - $139 = (($138) + 50)|0; - HEAP32[176>>2] = $139; + $$sink12 = 50; + label = 34; break; } case 1: { - $140 = HEAP32[176>>2]|0; - $141 = (($140) + 150)|0; - HEAP32[176>>2] = $141; + $$sink12 = 150; + label = 34; break; } case 2: { - $142 = HEAP32[176>>2]|0; - $143 = (($142) + 300)|0; - HEAP32[176>>2] = $143; + $$sink12 = 300; + label = 34; break; } default: { } } - $144 = HEAP32[192>>2]|0; - $145 = (($144) + 15)|0; - HEAP32[192>>2] = $145; - HEAP32[$127>>2] = 0; - $146 = (_GetRandomValue(0,3)|0); - HEAP32[$133>>2] = $146; - $147 = (_GetRandomValue(0,4)|0); - $148 = (548 + ($i2$0179<<2)|0); - HEAP32[$148>>2] = $147; - $149 = ($i2$0179|0)>(0); - if ($149) { - $150 = HEAP32[$148>>2]|0; - $151 = (($i2$0179) + -1)|0; - $152 = (548 + ($151<<2)|0); - $153 = HEAP32[$152>>2]|0; - $154 = ($150|0)==($153|0); - if ($154) { + if ((label|0) == 34) { + label = 0; + $137 = HEAP32[6050]|0; + $138 = (($137) + ($$sink12))|0; + HEAP32[6050] = $138; + } + $139 = HEAP32[6054]|0; + $140 = (($139) + 15)|0; + HEAP32[6054] = $140; + HEAP32[$126>>2] = 0; + $141 = (_GetRandomValue(0,3)|0); + HEAP32[$132>>2] = $141; + $142 = (_GetRandomValue(0,4)|0); + $143 = (24576 + ($$0136153<<2)|0); + HEAP32[$143>>2] = $142; + $144 = ($$0136153|0)>(0); + if ($144) { + $145 = HEAP32[$143>>2]|0; + $146 = (($$0136153) + -1)|0; + $147 = (24576 + ($146<<2)|0); + $148 = HEAP32[$147>>2]|0; + $149 = ($145|0)==($148|0); + if ($149) { while(1) { - $155 = (_GetRandomValue(0,4)|0); - HEAP32[$148>>2] = $155; - $156 = HEAP32[$152>>2]|0; - $157 = ($155|0)==($156|0); - if (!($157)) { + $150 = (_GetRandomValue(0,4)|0); + HEAP32[$143>>2] = $150; + $151 = HEAP32[$147>>2]|0; + $152 = ($150|0)==($151|0); + if (!($152)) { break; } } } } - $158 = HEAP32[$148>>2]|0; - $159 = ($158*120)|0; - $160 = (($159) + 104)|0; - HEAP32[$130>>2] = 1294; - $161 = (((588 + ($i2$0179<<4)|0)) + 4|0); - HEAP32[$161>>2] = $160; - $162 = (((588 + ($i2$0179<<4)|0)) + 8|0); - HEAP32[$162>>2] = 100; - $163 = (((588 + ($i2$0179<<4)|0)) + 12|0); - HEAP32[$163>>2] = 100; - ;HEAP32[$$byval_copy68>>2]=HEAP32[468>>2]|0;HEAP32[$$byval_copy68+4>>2]=HEAP32[468+4>>2]|0; + $153 = HEAP32[$143>>2]|0; + $154 = ($153*120)|0; + $155 = (($154) + 104)|0; + HEAP32[$129>>2] = 1294; + $$sroa$265$0$$sroa_idx66 = (((24616 + ($$0136153<<4)|0)) + 4|0); + HEAP32[$$sroa$265$0$$sroa_idx66>>2] = $155; + $$sroa$367$0$$sroa_idx68 = (((24616 + ($$0136153<<4)|0)) + 8|0); + HEAP32[$$sroa$367$0$$sroa_idx68>>2] = 100; + $$sroa$469$0$$sroa_idx70 = (((24616 + ($$0136153<<4)|0)) + 12|0); + HEAP32[$$sroa$469$0$$sroa_idx70>>2] = 100; + ;HEAP32[$$byval_copy68>>2]=HEAP32[24480>>2]|0;HEAP32[$$byval_copy68+4>>2]=HEAP32[24480+4>>2]|0;HEAP32[$$byval_copy68+8>>2]=HEAP32[24480+8>>2]|0; _PlaySound($$byval_copy68); } } } while(0); - $194 = (($i2$0179) + 1)|0; - $exitcond188 = ($194|0)==(10); - if ($exitcond188) { + $184 = (($$0136153) + 1)|0; + $exitcond162 = ($184|0)==(10); + if ($exitcond162) { break; } else { - $i2$0179 = $194; + $$0136153 = $184; } } - $195 = HEAP32[168>>2]|0; - $196 = ($195|0)==(0); - if (!($196)) { - $197 = HEAP32[192>>2]|0; - $198 = (($197) + -1)|0; - HEAP32[192>>2] = $198; - $199 = ($197|0)<(2); - if ($199) { - HEAP32[168>>2] = 0; - $200 = +HEAPF32[172>>2]; - $201 = $200 + -2.0; - HEAPF32[172>>2] = $201; - $202 = $201 < 10.0; - if ($202) { - HEAPF32[172>>2] = 10.0; + $124 = HEAP32[6049]|0; + $125 = ($124|0)==(0); + if (!($125)) { + $185 = HEAP32[6054]|0; + $186 = (($185) + -1)|0; + HEAP32[6054] = $186; + $187 = ($185|0)<(2); + if ($187) { + HEAP32[6049] = 0; + $188 = +HEAPF32[3]; + $189 = $188 + -2.0; + HEAPF32[3] = $189; + $190 = $189 < 10.0; + if ($190) { + HEAPF32[3] = 10.0; } } } - $203 = +HEAPF32[180>>2]; - $204 = $203 + 0.5; - HEAPF32[180>>2] = $204; + $191 = +HEAPF32[6051]; + $192 = $191 + 0.5; + HEAPF32[6051] = $192; break; } case 2: { - $205 = (_IsKeyPressed(257)|0); - $206 = ($205|0)==(0); - if (!($206)) { - HEAP32[160>>2] = 1; - HEAP32[164>>2] = 1; - HEAP32[492>>2] = 44; - HEAP32[(496)>>2] = 224; - HEAP32[(500)>>2] = 100; - HEAP32[(504)>>2] = 100; - HEAP32[168>>2] = 0; - $i3$0186 = 0; + $193 = (_IsKeyPressed(257)|0); + $194 = ($193|0)==(0); + if (!($194)) { + HEAP32[6048] = 1; + HEAP32[2] = 1; + HEAP32[6130] = 44; + HEAP32[(24524)>>2] = 224; + HEAP32[(24528)>>2] = 100; + HEAP32[(24532)>>2] = 100; + HEAP32[6049] = 0; + $$0137160 = 0; while(1) { - $207 = (_GetRandomValue(0,100)|0); - $208 = ($207|0)<(30); + $195 = (_GetRandomValue(0,100)|0); + $196 = ($195|0)<(30); do { - if ($208) { - $209 = (508 + ($i3$0186<<2)|0); - HEAP32[$209>>2] = 0; + if ($196) { + $197 = (24536 + ($$0137160<<2)|0); + HEAP32[$197>>2] = 0; } else { - $210 = ($207|0)<(60); - if ($210) { - $211 = (508 + ($i3$0186<<2)|0); - HEAP32[$211>>2] = 1; - break; - } - $212 = ($207|0)<(90); - $213 = (508 + ($i3$0186<<2)|0); - if ($212) { - HEAP32[$213>>2] = 2; + $198 = ($195|0)<(60); + if ($198) { + $199 = (24536 + ($$0137160<<2)|0); + HEAP32[$199>>2] = 1; break; } else { - HEAP32[$213>>2] = 3; + $200 = ($195|0)<(90); + $201 = (24536 + ($$0137160<<2)|0); + $$sink = $200 ? 2 : 3; + HEAP32[$201>>2] = $$sink; break; } } } while(0); - $214 = (_GetRandomValue(0,4)|0); - $215 = (548 + ($i3$0186<<2)|0); - HEAP32[$215>>2] = $214; - $216 = ($i3$0186|0)>(0); - if ($216) { - $217 = HEAP32[$215>>2]|0; - $218 = (($i3$0186) + -1)|0; - $219 = (548 + ($218<<2)|0); - $220 = HEAP32[$219>>2]|0; - $221 = ($217|0)==($220|0); - if ($221) { + $202 = (_GetRandomValue(0,4)|0); + $203 = (24576 + ($$0137160<<2)|0); + HEAP32[$203>>2] = $202; + $204 = ($$0137160|0)>(0); + if ($204) { + $205 = HEAP32[$203>>2]|0; + $206 = (($$0137160) + -1)|0; + $207 = (24576 + ($206<<2)|0); + $208 = HEAP32[$207>>2]|0; + $209 = ($205|0)==($208|0); + if ($209) { while(1) { - $222 = (_GetRandomValue(0,4)|0); - HEAP32[$215>>2] = $222; - $223 = HEAP32[$219>>2]|0; - $224 = ($222|0)==($223|0); - if (!($224)) { + $210 = (_GetRandomValue(0,4)|0); + HEAP32[$203>>2] = $210; + $211 = HEAP32[$207>>2]|0; + $212 = ($210|0)==($211|0); + if (!($212)) { break; } } } } - $225 = HEAP32[$215>>2]|0; - $226 = ($225*120)|0; - $227 = (($226) + 104)|0; - $228 = (588 + ($i3$0186<<4)|0); - HEAP32[$228>>2] = 1294; - $229 = (((588 + ($i3$0186<<4)|0)) + 4|0); - HEAP32[$229>>2] = $227; - $230 = (((588 + ($i3$0186<<4)|0)) + 8|0); - HEAP32[$230>>2] = 100; - $231 = (((588 + ($i3$0186<<4)|0)) + 12|0); - HEAP32[$231>>2] = 100; - $232 = (748 + ($i3$0186<<2)|0); - HEAP32[$232>>2] = 0; - $233 = (($i3$0186) + 1)|0; - $exitcond190 = ($233|0)==(10); - if ($exitcond190) { + $213 = HEAP32[$203>>2]|0; + $214 = ($213*120)|0; + $215 = (($214) + 104)|0; + $$sroa$0$0$$sroa_idx = (24616 + ($$0137160<<4)|0); + HEAP32[$$sroa$0$0$$sroa_idx>>2] = 1294; + $$sroa$2$0$$sroa_idx30 = (((24616 + ($$0137160<<4)|0)) + 4|0); + HEAP32[$$sroa$2$0$$sroa_idx30>>2] = $215; + $$sroa$3$0$$sroa_idx31 = (((24616 + ($$0137160<<4)|0)) + 8|0); + HEAP32[$$sroa$3$0$$sroa_idx31>>2] = 100; + $$sroa$4$0$$sroa_idx32 = (((24616 + ($$0137160<<4)|0)) + 12|0); + HEAP32[$$sroa$4$0$$sroa_idx32>>2] = 100; + $216 = (24776 + ($$0137160<<2)|0); + HEAP32[$216>>2] = 0; + $217 = (($$0137160) + 1)|0; + $exitcond164 = ($217|0)==(10); + if ($exitcond164) { break; } else { - $i3$0186 = $233; + $$0137160 = $217; } } - HEAPF32[172>>2] = 10.0; - HEAP32[176>>2] = 0; - HEAPF32[180>>2] = 0.0; - HEAP32[192>>2] = 0; - HEAP32[196>>2] = 0; + HEAPF32[3] = 10.0; + HEAP32[6050] = 0; + HEAPF32[6051] = 0.0; + HEAP32[6054] = 0; + HEAP32[6055] = 0; } break; } @@ -11826,346 +12091,348 @@ function _UpdateDrawFrame() { } _BeginDrawing(); HEAP8[$0>>0] = -11; - $234 = ((($0)) + 1|0); - HEAP8[$234>>0] = -11; - $235 = ((($0)) + 2|0); - HEAP8[$235>>0] = -11; - $236 = ((($0)) + 3|0); - HEAP8[$236>>0] = -1; + $218 = ((($0)) + 1|0); + HEAP8[$218>>0] = -11; + $219 = ((($0)) + 2|0); + HEAP8[$219>>0] = -11; + $220 = ((($0)) + 3|0); + HEAP8[$220>>0] = -1; ;HEAP8[$$byval_copy68>>0]=HEAP8[$0>>0]|0;HEAP8[$$byval_copy68+1>>0]=HEAP8[$0+1>>0]|0;HEAP8[$$byval_copy68+2>>0]=HEAP8[$0+2>>0]|0;HEAP8[$$byval_copy68+3>>0]=HEAP8[$0+3>>0]|0; _ClearBackground($$byval_copy68); HEAP32[$1>>2] = -1; - ;HEAP32[$$byval_copy67>>2]=HEAP32[204>>2]|0;HEAP32[$$byval_copy67+4>>2]=HEAP32[204+4>>2]|0;HEAP32[$$byval_copy67+8>>2]=HEAP32[204+8>>2]|0;HEAP32[$$byval_copy67+12>>2]=HEAP32[204+12>>2]|0;HEAP32[$$byval_copy67+16>>2]=HEAP32[204+16>>2]|0; + ;HEAP32[$$byval_copy67>>2]=HEAP32[24228>>2]|0;HEAP32[$$byval_copy67+4>>2]=HEAP32[24228+4>>2]|0;HEAP32[$$byval_copy67+8>>2]=HEAP32[24228+8>>2]|0;HEAP32[$$byval_copy67+12>>2]=HEAP32[24228+12>>2]|0;HEAP32[$$byval_copy67+16>>2]=HEAP32[24228+16>>2]|0; ;HEAP8[$$byval_copy68>>0]=HEAP8[$1>>0]|0;HEAP8[$$byval_copy68+1>>0]=HEAP8[$1+1>>0]|0;HEAP8[$$byval_copy68+2>>0]=HEAP8[$1+2>>0]|0;HEAP8[$$byval_copy68+3>>0]=HEAP8[$1+3>>0]|0; _DrawTexture($$byval_copy67,0,0,$$byval_copy68); - $237 = HEAP32[152>>2]|0; + $221 = HEAP32[6046]|0; HEAP32[$2>>2] = -1; - ;HEAP32[$$byval_copy67>>2]=HEAP32[224>>2]|0;HEAP32[$$byval_copy67+4>>2]=HEAP32[224+4>>2]|0;HEAP32[$$byval_copy67+8>>2]=HEAP32[224+8>>2]|0;HEAP32[$$byval_copy67+12>>2]=HEAP32[224+12>>2]|0;HEAP32[$$byval_copy67+16>>2]=HEAP32[224+16>>2]|0; + ;HEAP32[$$byval_copy67>>2]=HEAP32[24248>>2]|0;HEAP32[$$byval_copy67+4>>2]=HEAP32[24248+4>>2]|0;HEAP32[$$byval_copy67+8>>2]=HEAP32[24248+8>>2]|0;HEAP32[$$byval_copy67+12>>2]=HEAP32[24248+12>>2]|0;HEAP32[$$byval_copy67+16>>2]=HEAP32[24248+16>>2]|0; ;HEAP8[$$byval_copy68>>0]=HEAP8[$2>>0]|0;HEAP8[$$byval_copy68+1>>0]=HEAP8[$2+1>>0]|0;HEAP8[$$byval_copy68+2>>0]=HEAP8[$2+2>>0]|0;HEAP8[$$byval_copy68+3>>0]=HEAP8[$2+3>>0]|0; - _DrawTexture($$byval_copy67,$237,0,$$byval_copy68); - $238 = HEAP32[152>>2]|0; - $239 = (($238) + 1280)|0; + _DrawTexture($$byval_copy67,$221,0,$$byval_copy68); + $222 = HEAP32[6046]|0; + $223 = (($222) + 1280)|0; HEAP32[$3>>2] = -1; - ;HEAP32[$$byval_copy67>>2]=HEAP32[224>>2]|0;HEAP32[$$byval_copy67+4>>2]=HEAP32[224+4>>2]|0;HEAP32[$$byval_copy67+8>>2]=HEAP32[224+8>>2]|0;HEAP32[$$byval_copy67+12>>2]=HEAP32[224+12>>2]|0;HEAP32[$$byval_copy67+16>>2]=HEAP32[224+16>>2]|0; + ;HEAP32[$$byval_copy67>>2]=HEAP32[24248>>2]|0;HEAP32[$$byval_copy67+4>>2]=HEAP32[24248+4>>2]|0;HEAP32[$$byval_copy67+8>>2]=HEAP32[24248+8>>2]|0;HEAP32[$$byval_copy67+12>>2]=HEAP32[24248+12>>2]|0;HEAP32[$$byval_copy67+16>>2]=HEAP32[24248+16>>2]|0; ;HEAP8[$$byval_copy68>>0]=HEAP8[$3>>0]|0;HEAP8[$$byval_copy68+1>>0]=HEAP8[$3+1>>0]|0;HEAP8[$$byval_copy68+2>>0]=HEAP8[$3+2>>0]|0;HEAP8[$$byval_copy68+3>>0]=HEAP8[$3+3>>0]|0; - _DrawTexture($$byval_copy67,$239,0,$$byval_copy68); - $240 = HEAP32[168>>2]|0; - $241 = ($240|0)==(0); - $242 = HEAP32[156>>2]|0; - if ($241) { - $243 = HEAP8[9652>>0]|0; + _DrawTexture($$byval_copy67,$223,0,$$byval_copy68); + $224 = HEAP32[6049]|0; + $225 = ($224|0)==(0); + $226 = HEAP32[6047]|0; + if ($225) { HEAP8[$4>>0] = 16; - $244 = ((($4)) + 1|0); - HEAP8[$244>>0] = -67; - $245 = ((($4)) + 2|0); - HEAP8[$245>>0] = $243; - $246 = ((($4)) + 3|0); - HEAP8[$246>>0] = -1; - ;HEAP32[$$byval_copy67>>2]=HEAP32[244>>2]|0;HEAP32[$$byval_copy67+4>>2]=HEAP32[244+4>>2]|0;HEAP32[$$byval_copy67+8>>2]=HEAP32[244+8>>2]|0;HEAP32[$$byval_copy67+12>>2]=HEAP32[244+12>>2]|0;HEAP32[$$byval_copy67+16>>2]=HEAP32[244+16>>2]|0; + $227 = ((($4)) + 1|0); + HEAP8[$227>>0] = -67; + $228 = ((($4)) + 2|0); + $229 = HEAP8[5694]|0; + HEAP8[$228>>0] = $229; + $230 = ((($4)) + 3|0); + HEAP8[$230>>0] = -1; + ;HEAP32[$$byval_copy67>>2]=HEAP32[24268>>2]|0;HEAP32[$$byval_copy67+4>>2]=HEAP32[24268+4>>2]|0;HEAP32[$$byval_copy67+8>>2]=HEAP32[24268+8>>2]|0;HEAP32[$$byval_copy67+12>>2]=HEAP32[24268+12>>2]|0;HEAP32[$$byval_copy67+16>>2]=HEAP32[24268+16>>2]|0; ;HEAP8[$$byval_copy68>>0]=HEAP8[$4>>0]|0;HEAP8[$$byval_copy68+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$$byval_copy68+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$$byval_copy68+3>>0]=HEAP8[$4+3>>0]|0; - _DrawTexture($$byval_copy67,$242,0,$$byval_copy68); - $247 = HEAP32[156>>2]|0; - $248 = (($247) + 1280)|0; - $249 = HEAP8[9652>>0]|0; + _DrawTexture($$byval_copy67,$226,0,$$byval_copy68); + $231 = HEAP32[6047]|0; + $232 = (($231) + 1280)|0; HEAP8[$5>>0] = 16; - $250 = ((($5)) + 1|0); - HEAP8[$250>>0] = -67; - $251 = ((($5)) + 2|0); - HEAP8[$251>>0] = $249; - $252 = ((($5)) + 3|0); - HEAP8[$252>>0] = -1; - ;HEAP32[$$byval_copy67>>2]=HEAP32[244>>2]|0;HEAP32[$$byval_copy67+4>>2]=HEAP32[244+4>>2]|0;HEAP32[$$byval_copy67+8>>2]=HEAP32[244+8>>2]|0;HEAP32[$$byval_copy67+12>>2]=HEAP32[244+12>>2]|0;HEAP32[$$byval_copy67+16>>2]=HEAP32[244+16>>2]|0; + $233 = ((($5)) + 1|0); + HEAP8[$233>>0] = -67; + $234 = ((($5)) + 2|0); + $235 = HEAP8[5694]|0; + HEAP8[$234>>0] = $235; + $236 = ((($5)) + 3|0); + HEAP8[$236>>0] = -1; + ;HEAP32[$$byval_copy67>>2]=HEAP32[24268>>2]|0;HEAP32[$$byval_copy67+4>>2]=HEAP32[24268+4>>2]|0;HEAP32[$$byval_copy67+8>>2]=HEAP32[24268+8>>2]|0;HEAP32[$$byval_copy67+12>>2]=HEAP32[24268+12>>2]|0;HEAP32[$$byval_copy67+16>>2]=HEAP32[24268+16>>2]|0; ;HEAP8[$$byval_copy68>>0]=HEAP8[$5>>0]|0;HEAP8[$$byval_copy68+1>>0]=HEAP8[$5+1>>0]|0;HEAP8[$$byval_copy68+2>>0]=HEAP8[$5+2>>0]|0;HEAP8[$$byval_copy68+3>>0]=HEAP8[$5+3>>0]|0; - _DrawTexture($$byval_copy67,$248,0,$$byval_copy68); + _DrawTexture($$byval_copy67,$232,0,$$byval_copy68); } else { HEAP8[$6>>0] = -1; - $253 = ((($6)) + 1|0); - HEAP8[$253>>0] = 113; - $254 = ((($6)) + 2|0); - HEAP8[$254>>0] = 66; - $255 = ((($6)) + 3|0); - HEAP8[$255>>0] = -1; - ;HEAP32[$$byval_copy67>>2]=HEAP32[244>>2]|0;HEAP32[$$byval_copy67+4>>2]=HEAP32[244+4>>2]|0;HEAP32[$$byval_copy67+8>>2]=HEAP32[244+8>>2]|0;HEAP32[$$byval_copy67+12>>2]=HEAP32[244+12>>2]|0;HEAP32[$$byval_copy67+16>>2]=HEAP32[244+16>>2]|0; + $237 = ((($6)) + 1|0); + HEAP8[$237>>0] = 113; + $238 = ((($6)) + 2|0); + HEAP8[$238>>0] = 66; + $239 = ((($6)) + 3|0); + HEAP8[$239>>0] = -1; + ;HEAP32[$$byval_copy67>>2]=HEAP32[24268>>2]|0;HEAP32[$$byval_copy67+4>>2]=HEAP32[24268+4>>2]|0;HEAP32[$$byval_copy67+8>>2]=HEAP32[24268+8>>2]|0;HEAP32[$$byval_copy67+12>>2]=HEAP32[24268+12>>2]|0;HEAP32[$$byval_copy67+16>>2]=HEAP32[24268+16>>2]|0; ;HEAP8[$$byval_copy68>>0]=HEAP8[$6>>0]|0;HEAP8[$$byval_copy68+1>>0]=HEAP8[$6+1>>0]|0;HEAP8[$$byval_copy68+2>>0]=HEAP8[$6+2>>0]|0;HEAP8[$$byval_copy68+3>>0]=HEAP8[$6+3>>0]|0; - _DrawTexture($$byval_copy67,$242,0,$$byval_copy68); - $256 = HEAP32[156>>2]|0; - $257 = (($256) + 1280)|0; + _DrawTexture($$byval_copy67,$226,0,$$byval_copy68); + $240 = HEAP32[6047]|0; + $241 = (($240) + 1280)|0; HEAP8[$7>>0] = -1; - $258 = ((($7)) + 1|0); - HEAP8[$258>>0] = 113; - $259 = ((($7)) + 2|0); - HEAP8[$259>>0] = 66; - $260 = ((($7)) + 3|0); - HEAP8[$260>>0] = -1; - ;HEAP32[$$byval_copy67>>2]=HEAP32[244>>2]|0;HEAP32[$$byval_copy67+4>>2]=HEAP32[244+4>>2]|0;HEAP32[$$byval_copy67+8>>2]=HEAP32[244+8>>2]|0;HEAP32[$$byval_copy67+12>>2]=HEAP32[244+12>>2]|0;HEAP32[$$byval_copy67+16>>2]=HEAP32[244+16>>2]|0; + $242 = ((($7)) + 1|0); + HEAP8[$242>>0] = 113; + $243 = ((($7)) + 2|0); + HEAP8[$243>>0] = 66; + $244 = ((($7)) + 3|0); + HEAP8[$244>>0] = -1; + ;HEAP32[$$byval_copy67>>2]=HEAP32[24268>>2]|0;HEAP32[$$byval_copy67+4>>2]=HEAP32[24268+4>>2]|0;HEAP32[$$byval_copy67+8>>2]=HEAP32[24268+8>>2]|0;HEAP32[$$byval_copy67+12>>2]=HEAP32[24268+12>>2]|0;HEAP32[$$byval_copy67+16>>2]=HEAP32[24268+16>>2]|0; ;HEAP8[$$byval_copy68>>0]=HEAP8[$7>>0]|0;HEAP8[$$byval_copy68+1>>0]=HEAP8[$7+1>>0]|0;HEAP8[$$byval_copy68+2>>0]=HEAP8[$7+2>>0]|0;HEAP8[$$byval_copy68+3>>0]=HEAP8[$7+3>>0]|0; - _DrawTexture($$byval_copy67,$257,0,$$byval_copy68); + _DrawTexture($$byval_copy67,$241,0,$$byval_copy68); } - $261 = HEAP32[160>>2]|0; - switch ($261|0) { + $245 = HEAP32[6048]|0; + switch ($245|0) { case 0: { - $262 = HEAP32[(268)>>2]|0; - $263 = (($262|0) / 2)&-1; - $264 = (640 - ($263))|0; - $265 = HEAP32[(272)>>2]|0; - $$neg = (($265|0) / -2)&-1; - $266 = (($$neg) + 280)|0; + $246 = HEAP32[(24292)>>2]|0; + $247 = (($246|0) / 2)&-1; + $248 = (640 - ($247))|0; + $249 = HEAP32[(24296)>>2]|0; + $$neg = (($249|0) / -2)&-1; + $250 = (($$neg) + 280)|0; HEAP32[$8>>2] = -1; - ;HEAP32[$$byval_copy67>>2]=HEAP32[264>>2]|0;HEAP32[$$byval_copy67+4>>2]=HEAP32[264+4>>2]|0;HEAP32[$$byval_copy67+8>>2]=HEAP32[264+8>>2]|0;HEAP32[$$byval_copy67+12>>2]=HEAP32[264+12>>2]|0;HEAP32[$$byval_copy67+16>>2]=HEAP32[264+16>>2]|0; + ;HEAP32[$$byval_copy67>>2]=HEAP32[24288>>2]|0;HEAP32[$$byval_copy67+4>>2]=HEAP32[24288+4>>2]|0;HEAP32[$$byval_copy67+8>>2]=HEAP32[24288+8>>2]|0;HEAP32[$$byval_copy67+12>>2]=HEAP32[24288+12>>2]|0;HEAP32[$$byval_copy67+16>>2]=HEAP32[24288+16>>2]|0; ;HEAP8[$$byval_copy68>>0]=HEAP8[$8>>0]|0;HEAP8[$$byval_copy68+1>>0]=HEAP8[$8+1>>0]|0;HEAP8[$$byval_copy68+2>>0]=HEAP8[$8+2>>0]|0;HEAP8[$$byval_copy68+3>>0]=HEAP8[$8+3>>0]|0; - _DrawTexture($$byval_copy67,$264,$266,$$byval_copy68); - $267 = HEAP32[196>>2]|0; - $268 = (($267|0) / 30)&-1; - $269 = $268 & 1; - $270 = ($269|0)==(0); - if ($270) { + _DrawTexture($$byval_copy67,$248,$250,$$byval_copy68); + $251 = HEAP32[6055]|0; + $252 = (($251|0) / 30)&-1; + $253 = $252 & 1; + $254 = ($253|0)==(0); + if ($254) { _EndDrawing(); STACKTOP = sp;return; } HEAPF32[$9>>2] = 490.0; - $271 = ((($9)) + 4|0); - HEAPF32[$271>>2] = 480.0; - $272 = HEAP32[(444)>>2]|0; + $255 = ((($9)) + 4|0); + HEAPF32[$255>>2] = 480.0; + $256 = HEAP32[(24468)>>2]|0; + $257 = (+($256|0)); HEAP32[$10>>2] = -1; - dest=$font$byval_copy66; src=424; stop=dest+44|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + ;HEAP32[$font$byval_copy66>>2]=HEAP32[24448>>2]|0;HEAP32[$font$byval_copy66+4>>2]=HEAP32[24448+4>>2]|0;HEAP32[$font$byval_copy66+8>>2]=HEAP32[24448+8>>2]|0;HEAP32[$font$byval_copy66+12>>2]=HEAP32[24448+12>>2]|0;HEAP32[$font$byval_copy66+16>>2]=HEAP32[24448+16>>2]|0;HEAP32[$font$byval_copy66+20>>2]=HEAP32[24448+20>>2]|0;HEAP32[$font$byval_copy66+24>>2]=HEAP32[24448+24>>2]|0;HEAP32[$font$byval_copy66+28>>2]=HEAP32[24448+28>>2]|0; ;HEAP32[$$byval_copy67>>2]=HEAP32[$9>>2]|0;HEAP32[$$byval_copy67+4>>2]=HEAP32[$9+4>>2]|0; ;HEAP8[$$byval_copy68>>0]=HEAP8[$10>>0]|0;HEAP8[$$byval_copy68+1>>0]=HEAP8[$10+1>>0]|0;HEAP8[$$byval_copy68+2>>0]=HEAP8[$10+2>>0]|0;HEAP8[$$byval_copy68+3>>0]=HEAP8[$10+3>>0]|0; - _DrawTextEx($font$byval_copy66,10000,$$byval_copy67,$272,1,$$byval_copy68); + _DrawTextEx($font$byval_copy66,6042,$$byval_copy67,$257,1,$$byval_copy68); _EndDrawing(); STACKTOP = sp;return; break; } case 1: { - $273 = ((($12)) + 1|0); - $274 = ((($12)) + 2|0); - $275 = ((($12)) + 3|0); + $258 = ((($12)) + 1|0); + $259 = ((($12)) + 2|0); + $260 = ((($12)) + 3|0); HEAP8[$12>>0] = 102; - HEAP8[$273>>0] = -65; - HEAP8[$274>>0] = -1; - HEAP8[$275>>0] = -1; + HEAP8[$258>>0] = -65; + HEAP8[$259>>0] = -1; + HEAP8[$260>>0] = -1; ;HEAP8[$$byval_copy68>>0]=HEAP8[$12>>0]|0;HEAP8[$$byval_copy68+1>>0]=HEAP8[$12+1>>0]|0;HEAP8[$$byval_copy68+2>>0]=HEAP8[$12+2>>0]|0;HEAP8[$$byval_copy68+3>>0]=HEAP8[$12+3>>0]|0; _Fade($11,$$byval_copy68,0.10000000149011612); ;HEAP8[$$byval_copy68>>0]=HEAP8[$11>>0]|0;HEAP8[$$byval_copy68+1>>0]=HEAP8[$11+1>>0]|0;HEAP8[$$byval_copy68+2>>0]=HEAP8[$11+2>>0]|0;HEAP8[$$byval_copy68+3>>0]=HEAP8[$11+3>>0]|0; _DrawRectangle(0,120,1280,110,$$byval_copy68); HEAP8[$12>>0] = 102; - HEAP8[$273>>0] = -65; - HEAP8[$274>>0] = -1; - HEAP8[$275>>0] = -1; + HEAP8[$258>>0] = -65; + HEAP8[$259>>0] = -1; + HEAP8[$260>>0] = -1; ;HEAP8[$$byval_copy68>>0]=HEAP8[$12>>0]|0;HEAP8[$$byval_copy68+1>>0]=HEAP8[$12+1>>0]|0;HEAP8[$$byval_copy68+2>>0]=HEAP8[$12+2>>0]|0;HEAP8[$$byval_copy68+3>>0]=HEAP8[$12+3>>0]|0; _Fade($11,$$byval_copy68,0.10000000149011612); ;HEAP8[$$byval_copy68>>0]=HEAP8[$11>>0]|0;HEAP8[$$byval_copy68+1>>0]=HEAP8[$11+1>>0]|0;HEAP8[$$byval_copy68+2>>0]=HEAP8[$11+2>>0]|0;HEAP8[$$byval_copy68+3>>0]=HEAP8[$11+3>>0]|0; _DrawRectangle(0,240,1280,110,$$byval_copy68); HEAP8[$12>>0] = 102; - HEAP8[$273>>0] = -65; - HEAP8[$274>>0] = -1; - HEAP8[$275>>0] = -1; + HEAP8[$258>>0] = -65; + HEAP8[$259>>0] = -1; + HEAP8[$260>>0] = -1; ;HEAP8[$$byval_copy68>>0]=HEAP8[$12>>0]|0;HEAP8[$$byval_copy68+1>>0]=HEAP8[$12+1>>0]|0;HEAP8[$$byval_copy68+2>>0]=HEAP8[$12+2>>0]|0;HEAP8[$$byval_copy68+3>>0]=HEAP8[$12+3>>0]|0; _Fade($11,$$byval_copy68,0.10000000149011612); ;HEAP8[$$byval_copy68>>0]=HEAP8[$11>>0]|0;HEAP8[$$byval_copy68+1>>0]=HEAP8[$11+1>>0]|0;HEAP8[$$byval_copy68+2>>0]=HEAP8[$11+2>>0]|0;HEAP8[$$byval_copy68+3>>0]=HEAP8[$11+3>>0]|0; _DrawRectangle(0,360,1280,110,$$byval_copy68); HEAP8[$12>>0] = 102; - HEAP8[$273>>0] = -65; - HEAP8[$274>>0] = -1; - HEAP8[$275>>0] = -1; + HEAP8[$258>>0] = -65; + HEAP8[$259>>0] = -1; + HEAP8[$260>>0] = -1; ;HEAP8[$$byval_copy68>>0]=HEAP8[$12>>0]|0;HEAP8[$$byval_copy68+1>>0]=HEAP8[$12+1>>0]|0;HEAP8[$$byval_copy68+2>>0]=HEAP8[$12+2>>0]|0;HEAP8[$$byval_copy68+3>>0]=HEAP8[$12+3>>0]|0; _Fade($11,$$byval_copy68,0.10000000149011612); ;HEAP8[$$byval_copy68>>0]=HEAP8[$11>>0]|0;HEAP8[$$byval_copy68+1>>0]=HEAP8[$11+1>>0]|0;HEAP8[$$byval_copy68+2>>0]=HEAP8[$11+2>>0]|0;HEAP8[$$byval_copy68+3>>0]=HEAP8[$11+3>>0]|0; _DrawRectangle(0,480,1280,110,$$byval_copy68); HEAP8[$12>>0] = 102; - HEAP8[$273>>0] = -65; - HEAP8[$274>>0] = -1; - HEAP8[$275>>0] = -1; + HEAP8[$258>>0] = -65; + HEAP8[$259>>0] = -1; + HEAP8[$260>>0] = -1; ;HEAP8[$$byval_copy68>>0]=HEAP8[$12>>0]|0;HEAP8[$$byval_copy68+1>>0]=HEAP8[$12+1>>0]|0;HEAP8[$$byval_copy68+2>>0]=HEAP8[$12+2>>0]|0;HEAP8[$$byval_copy68+3>>0]=HEAP8[$12+3>>0]|0; _Fade($11,$$byval_copy68,0.10000000149011612); ;HEAP8[$$byval_copy68>>0]=HEAP8[$11>>0]|0;HEAP8[$$byval_copy68+1>>0]=HEAP8[$11+1>>0]|0;HEAP8[$$byval_copy68+2>>0]=HEAP8[$11+2>>0]|0;HEAP8[$$byval_copy68+3>>0]=HEAP8[$11+3>>0]|0; _DrawRectangle(0,600,1280,110,$$byval_copy68); - $276 = HEAP32[168>>2]|0; - $277 = ($276|0)==(0); - $278 = HEAP32[492>>2]|0; - if ($277) { - $279 = (($278) + -14)|0; - $280 = HEAP32[(496)>>2]|0; - $281 = (($280) + -14)|0; + $261 = HEAP32[6049]|0; + $262 = ($261|0)==(0); + $263 = HEAP32[6130]|0; + $264 = HEAP32[(24524)>>2]|0; + if ($262) { + $265 = (($263) + -14)|0; + $266 = (($264) + -14)|0; HEAP32[$13>>2] = -1; - ;HEAP32[$$byval_copy67>>2]=HEAP32[284>>2]|0;HEAP32[$$byval_copy67+4>>2]=HEAP32[284+4>>2]|0;HEAP32[$$byval_copy67+8>>2]=HEAP32[284+8>>2]|0;HEAP32[$$byval_copy67+12>>2]=HEAP32[284+12>>2]|0;HEAP32[$$byval_copy67+16>>2]=HEAP32[284+16>>2]|0; + ;HEAP32[$$byval_copy67>>2]=HEAP32[24308>>2]|0;HEAP32[$$byval_copy67+4>>2]=HEAP32[24308+4>>2]|0;HEAP32[$$byval_copy67+8>>2]=HEAP32[24308+8>>2]|0;HEAP32[$$byval_copy67+12>>2]=HEAP32[24308+12>>2]|0;HEAP32[$$byval_copy67+16>>2]=HEAP32[24308+16>>2]|0; ;HEAP8[$$byval_copy68>>0]=HEAP8[$13>>0]|0;HEAP8[$$byval_copy68+1>>0]=HEAP8[$13+1>>0]|0;HEAP8[$$byval_copy68+2>>0]=HEAP8[$13+2>>0]|0;HEAP8[$$byval_copy68+3>>0]=HEAP8[$13+3>>0]|0; - _DrawTexture($$byval_copy67,$279,$281,$$byval_copy68); - $i5$0176 = 0; + _DrawTexture($$byval_copy67,$265,$266,$$byval_copy68); + $$0150 = 0; } else { - $282 = (($278) + -64)|0; - $283 = HEAP32[(496)>>2]|0; - $284 = (($283) + -64)|0; + $267 = (($263) + -64)|0; + $268 = (($264) + -64)|0; HEAP32[$14>>2] = -1; - ;HEAP32[$$byval_copy67>>2]=HEAP32[304>>2]|0;HEAP32[$$byval_copy67+4>>2]=HEAP32[304+4>>2]|0;HEAP32[$$byval_copy67+8>>2]=HEAP32[304+8>>2]|0;HEAP32[$$byval_copy67+12>>2]=HEAP32[304+12>>2]|0;HEAP32[$$byval_copy67+16>>2]=HEAP32[304+16>>2]|0; + ;HEAP32[$$byval_copy67>>2]=HEAP32[24328>>2]|0;HEAP32[$$byval_copy67+4>>2]=HEAP32[24328+4>>2]|0;HEAP32[$$byval_copy67+8>>2]=HEAP32[24328+8>>2]|0;HEAP32[$$byval_copy67+12>>2]=HEAP32[24328+12>>2]|0;HEAP32[$$byval_copy67+16>>2]=HEAP32[24328+16>>2]|0; ;HEAP8[$$byval_copy68>>0]=HEAP8[$14>>0]|0;HEAP8[$$byval_copy68+1>>0]=HEAP8[$14+1>>0]|0;HEAP8[$$byval_copy68+2>>0]=HEAP8[$14+2>>0]|0;HEAP8[$$byval_copy68+3>>0]=HEAP8[$14+3>>0]|0; - _DrawTexture($$byval_copy67,$282,$284,$$byval_copy68); - $i5$0176 = 0; + _DrawTexture($$byval_copy67,$267,$268,$$byval_copy68); + $$0150 = 0; } while(1) { - $285 = (748 + ($i5$0176<<2)|0); - $286 = HEAP32[$285>>2]|0; - $287 = ($286|0)==(0); - L123: do { - if (!($287)) { - $288 = (508 + ($i5$0176<<2)|0); - $289 = HEAP32[$288>>2]|0; - switch ($289|0) { + $298 = (24776 + ($$0150<<2)|0); + $299 = HEAP32[$298>>2]|0; + $300 = ($299|0)==(0); + L122: do { + if (!($300)) { + $301 = (24536 + ($$0150<<2)|0); + $302 = HEAP32[$301>>2]|0; + switch ($302|0) { case 0: { - $290 = (588 + ($i5$0176<<4)|0); - $291 = HEAP32[$290>>2]|0; - $292 = (($291) + -14)|0; - $293 = (((588 + ($i5$0176<<4)|0)) + 4|0); - $294 = HEAP32[$293>>2]|0; - $295 = (($294) + -14)|0; + $303 = (24616 + ($$0150<<4)|0); + $304 = HEAP32[$303>>2]|0; + $305 = (($304) + -14)|0; + $306 = (((24616 + ($$0150<<4)|0)) + 4|0); + $307 = HEAP32[$306>>2]|0; + $308 = (($307) + -14)|0; HEAP32[$15>>2] = -1; - ;HEAP32[$$byval_copy67>>2]=HEAP32[324>>2]|0;HEAP32[$$byval_copy67+4>>2]=HEAP32[324+4>>2]|0;HEAP32[$$byval_copy67+8>>2]=HEAP32[324+8>>2]|0;HEAP32[$$byval_copy67+12>>2]=HEAP32[324+12>>2]|0;HEAP32[$$byval_copy67+16>>2]=HEAP32[324+16>>2]|0; + ;HEAP32[$$byval_copy67>>2]=HEAP32[24348>>2]|0;HEAP32[$$byval_copy67+4>>2]=HEAP32[24348+4>>2]|0;HEAP32[$$byval_copy67+8>>2]=HEAP32[24348+8>>2]|0;HEAP32[$$byval_copy67+12>>2]=HEAP32[24348+12>>2]|0;HEAP32[$$byval_copy67+16>>2]=HEAP32[24348+16>>2]|0; ;HEAP8[$$byval_copy68>>0]=HEAP8[$15>>0]|0;HEAP8[$$byval_copy68+1>>0]=HEAP8[$15+1>>0]|0;HEAP8[$$byval_copy68+2>>0]=HEAP8[$15+2>>0]|0;HEAP8[$$byval_copy68+3>>0]=HEAP8[$15+3>>0]|0; - _DrawTexture($$byval_copy67,$292,$295,$$byval_copy68); - break L123; + _DrawTexture($$byval_copy67,$305,$308,$$byval_copy68); + break L122; break; } case 1: { - $296 = (588 + ($i5$0176<<4)|0); - $297 = HEAP32[$296>>2]|0; - $298 = (($297) + -14)|0; - $299 = (((588 + ($i5$0176<<4)|0)) + 4|0); - $300 = HEAP32[$299>>2]|0; - $301 = (($300) + -14)|0; + $309 = (24616 + ($$0150<<4)|0); + $310 = HEAP32[$309>>2]|0; + $311 = (($310) + -14)|0; + $312 = (((24616 + ($$0150<<4)|0)) + 4|0); + $313 = HEAP32[$312>>2]|0; + $314 = (($313) + -14)|0; HEAP32[$16>>2] = -1; - ;HEAP32[$$byval_copy67>>2]=HEAP32[344>>2]|0;HEAP32[$$byval_copy67+4>>2]=HEAP32[344+4>>2]|0;HEAP32[$$byval_copy67+8>>2]=HEAP32[344+8>>2]|0;HEAP32[$$byval_copy67+12>>2]=HEAP32[344+12>>2]|0;HEAP32[$$byval_copy67+16>>2]=HEAP32[344+16>>2]|0; + ;HEAP32[$$byval_copy67>>2]=HEAP32[24368>>2]|0;HEAP32[$$byval_copy67+4>>2]=HEAP32[24368+4>>2]|0;HEAP32[$$byval_copy67+8>>2]=HEAP32[24368+8>>2]|0;HEAP32[$$byval_copy67+12>>2]=HEAP32[24368+12>>2]|0;HEAP32[$$byval_copy67+16>>2]=HEAP32[24368+16>>2]|0; ;HEAP8[$$byval_copy68>>0]=HEAP8[$16>>0]|0;HEAP8[$$byval_copy68+1>>0]=HEAP8[$16+1>>0]|0;HEAP8[$$byval_copy68+2>>0]=HEAP8[$16+2>>0]|0;HEAP8[$$byval_copy68+3>>0]=HEAP8[$16+3>>0]|0; - _DrawTexture($$byval_copy67,$298,$301,$$byval_copy68); - break L123; + _DrawTexture($$byval_copy67,$311,$314,$$byval_copy68); + break L122; break; } case 2: { - $302 = (588 + ($i5$0176<<4)|0); - $303 = HEAP32[$302>>2]|0; - $304 = (($303) + -14)|0; - $305 = (((588 + ($i5$0176<<4)|0)) + 4|0); - $306 = HEAP32[$305>>2]|0; - $307 = (($306) + -14)|0; + $315 = (24616 + ($$0150<<4)|0); + $316 = HEAP32[$315>>2]|0; + $317 = (($316) + -14)|0; + $318 = (((24616 + ($$0150<<4)|0)) + 4|0); + $319 = HEAP32[$318>>2]|0; + $320 = (($319) + -14)|0; HEAP32[$17>>2] = -1; - ;HEAP32[$$byval_copy67>>2]=HEAP32[364>>2]|0;HEAP32[$$byval_copy67+4>>2]=HEAP32[364+4>>2]|0;HEAP32[$$byval_copy67+8>>2]=HEAP32[364+8>>2]|0;HEAP32[$$byval_copy67+12>>2]=HEAP32[364+12>>2]|0;HEAP32[$$byval_copy67+16>>2]=HEAP32[364+16>>2]|0; + ;HEAP32[$$byval_copy67>>2]=HEAP32[24388>>2]|0;HEAP32[$$byval_copy67+4>>2]=HEAP32[24388+4>>2]|0;HEAP32[$$byval_copy67+8>>2]=HEAP32[24388+8>>2]|0;HEAP32[$$byval_copy67+12>>2]=HEAP32[24388+12>>2]|0;HEAP32[$$byval_copy67+16>>2]=HEAP32[24388+16>>2]|0; ;HEAP8[$$byval_copy68>>0]=HEAP8[$17>>0]|0;HEAP8[$$byval_copy68+1>>0]=HEAP8[$17+1>>0]|0;HEAP8[$$byval_copy68+2>>0]=HEAP8[$17+2>>0]|0;HEAP8[$$byval_copy68+3>>0]=HEAP8[$17+3>>0]|0; - _DrawTexture($$byval_copy67,$304,$307,$$byval_copy68); - break L123; + _DrawTexture($$byval_copy67,$317,$320,$$byval_copy68); + break L122; break; } case 3: { - $308 = (588 + ($i5$0176<<4)|0); - $309 = HEAP32[$308>>2]|0; - $310 = (($309) + -14)|0; - $311 = (((588 + ($i5$0176<<4)|0)) + 4|0); - $312 = HEAP32[$311>>2]|0; - $313 = (($312) + -14)|0; + $321 = (24616 + ($$0150<<4)|0); + $322 = HEAP32[$321>>2]|0; + $323 = (($322) + -14)|0; + $324 = (((24616 + ($$0150<<4)|0)) + 4|0); + $325 = HEAP32[$324>>2]|0; + $326 = (($325) + -14)|0; HEAP32[$18>>2] = -1; - ;HEAP32[$$byval_copy67>>2]=HEAP32[384>>2]|0;HEAP32[$$byval_copy67+4>>2]=HEAP32[384+4>>2]|0;HEAP32[$$byval_copy67+8>>2]=HEAP32[384+8>>2]|0;HEAP32[$$byval_copy67+12>>2]=HEAP32[384+12>>2]|0;HEAP32[$$byval_copy67+16>>2]=HEAP32[384+16>>2]|0; + ;HEAP32[$$byval_copy67>>2]=HEAP32[24408>>2]|0;HEAP32[$$byval_copy67+4>>2]=HEAP32[24408+4>>2]|0;HEAP32[$$byval_copy67+8>>2]=HEAP32[24408+8>>2]|0;HEAP32[$$byval_copy67+12>>2]=HEAP32[24408+12>>2]|0;HEAP32[$$byval_copy67+16>>2]=HEAP32[24408+16>>2]|0; ;HEAP8[$$byval_copy68>>0]=HEAP8[$18>>0]|0;HEAP8[$$byval_copy68+1>>0]=HEAP8[$18+1>>0]|0;HEAP8[$$byval_copy68+2>>0]=HEAP8[$18+2>>0]|0;HEAP8[$$byval_copy68+3>>0]=HEAP8[$18+3>>0]|0; - _DrawTexture($$byval_copy67,$310,$313,$$byval_copy68); - break L123; + _DrawTexture($$byval_copy67,$323,$326,$$byval_copy68); + break L122; break; } default: { - break L123; + break L122; } } } } while(0); - $314 = (($i5$0176) + 1)|0; - $exitcond = ($314|0)==(10); + $327 = (($$0150) + 1)|0; + $exitcond = ($327|0)==(10); if ($exitcond) { break; } else { - $i5$0176 = $314; + $$0150 = $327; } } HEAP8[$20>>0] = -126; - $315 = ((($20)) + 1|0); - HEAP8[$315>>0] = -126; - $316 = ((($20)) + 2|0); - HEAP8[$316>>0] = -126; - $317 = ((($20)) + 3|0); - HEAP8[$317>>0] = -1; + $269 = ((($20)) + 1|0); + HEAP8[$269>>0] = -126; + $270 = ((($20)) + 2|0); + HEAP8[$270>>0] = -126; + $271 = ((($20)) + 3|0); + HEAP8[$271>>0] = -1; ;HEAP8[$$byval_copy68>>0]=HEAP8[$20>>0]|0;HEAP8[$$byval_copy68+1>>0]=HEAP8[$20+1>>0]|0;HEAP8[$$byval_copy68+2>>0]=HEAP8[$20+2>>0]|0;HEAP8[$$byval_copy68+3>>0]=HEAP8[$20+3>>0]|0; _Fade($19,$$byval_copy68,0.40000000596046448); ;HEAP8[$$byval_copy68>>0]=HEAP8[$19>>0]|0;HEAP8[$$byval_copy68+1>>0]=HEAP8[$19+1>>0]|0;HEAP8[$$byval_copy68+2>>0]=HEAP8[$19+2>>0]|0;HEAP8[$$byval_copy68+3>>0]=HEAP8[$19+3>>0]|0; _DrawRectangle(20,20,400,40,$$byval_copy68); - $318 = HEAP32[192>>2]|0; + $272 = HEAP32[6054]|0; HEAP8[$21>>0] = -1; - $319 = ((($21)) + 1|0); - HEAP8[$319>>0] = -95; - $320 = ((($21)) + 2|0); - HEAP8[$320>>0] = 0; - $321 = ((($21)) + 3|0); - HEAP8[$321>>0] = -1; + $273 = ((($21)) + 1|0); + HEAP8[$273>>0] = -95; + $274 = ((($21)) + 2|0); + HEAP8[$274>>0] = 0; + $275 = ((($21)) + 3|0); + HEAP8[$275>>0] = -1; ;HEAP8[$$byval_copy68>>0]=HEAP8[$21>>0]|0;HEAP8[$$byval_copy68+1>>0]=HEAP8[$21+1>>0]|0;HEAP8[$$byval_copy68+2>>0]=HEAP8[$21+2>>0]|0;HEAP8[$$byval_copy68+3>>0]=HEAP8[$21+3>>0]|0; - _DrawRectangle(20,20,$318,40,$$byval_copy68); + _DrawRectangle(20,20,$272,40,$$byval_copy68); HEAP8[$22>>0] = 0; - $322 = ((($22)) + 1|0); - HEAP8[$322>>0] = 0; - $323 = ((($22)) + 2|0); - HEAP8[$323>>0] = 0; - $324 = ((($22)) + 3|0); - HEAP8[$324>>0] = -1; + $276 = ((($22)) + 1|0); + HEAP8[$276>>0] = 0; + $277 = ((($22)) + 2|0); + HEAP8[$277>>0] = 0; + $278 = ((($22)) + 3|0); + HEAP8[$278>>0] = -1; ;HEAP8[$$byval_copy68>>0]=HEAP8[$22>>0]|0;HEAP8[$$byval_copy68+1>>0]=HEAP8[$22+1>>0]|0;HEAP8[$$byval_copy68+2>>0]=HEAP8[$22+2>>0]|0;HEAP8[$$byval_copy68+3>>0]=HEAP8[$22+3>>0]|0; _DrawRectangleLines(20,20,400,40,$$byval_copy68); - $325 = HEAP32[176>>2]|0; - HEAP32[$vararg_buffer>>2] = $325; - $326 = (_FormatText(10012,$vararg_buffer)|0); + $279 = HEAP32[6050]|0; + HEAP32[$vararg_buffer>>2] = $279; + $280 = (_FormatText(6054,$vararg_buffer)|0); HEAPF32[$23>>2] = 980.0; - $327 = ((($23)) + 4|0); - HEAPF32[$327>>2] = 20.0; - $328 = HEAP32[(444)>>2]|0; + $281 = ((($23)) + 4|0); + HEAPF32[$281>>2] = 20.0; + $282 = HEAP32[(24468)>>2]|0; + $283 = (+($282|0)); HEAP8[$24>>0] = -1; - $329 = ((($24)) + 1|0); - HEAP8[$329>>0] = -95; - $330 = ((($24)) + 2|0); - HEAP8[$330>>0] = 0; - $331 = ((($24)) + 3|0); - HEAP8[$331>>0] = -1; - dest=$font$byval_copy66; src=424; stop=dest+44|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + $284 = ((($24)) + 1|0); + HEAP8[$284>>0] = -95; + $285 = ((($24)) + 2|0); + HEAP8[$285>>0] = 0; + $286 = ((($24)) + 3|0); + HEAP8[$286>>0] = -1; + ;HEAP32[$font$byval_copy66>>2]=HEAP32[24448>>2]|0;HEAP32[$font$byval_copy66+4>>2]=HEAP32[24448+4>>2]|0;HEAP32[$font$byval_copy66+8>>2]=HEAP32[24448+8>>2]|0;HEAP32[$font$byval_copy66+12>>2]=HEAP32[24448+12>>2]|0;HEAP32[$font$byval_copy66+16>>2]=HEAP32[24448+16>>2]|0;HEAP32[$font$byval_copy66+20>>2]=HEAP32[24448+20>>2]|0;HEAP32[$font$byval_copy66+24>>2]=HEAP32[24448+24>>2]|0;HEAP32[$font$byval_copy66+28>>2]=HEAP32[24448+28>>2]|0; ;HEAP32[$$byval_copy67>>2]=HEAP32[$23>>2]|0;HEAP32[$$byval_copy67+4>>2]=HEAP32[$23+4>>2]|0; ;HEAP8[$$byval_copy68>>0]=HEAP8[$24>>0]|0;HEAP8[$$byval_copy68+1>>0]=HEAP8[$24+1>>0]|0;HEAP8[$$byval_copy68+2>>0]=HEAP8[$24+2>>0]|0;HEAP8[$$byval_copy68+3>>0]=HEAP8[$24+3>>0]|0; - _DrawTextEx($font$byval_copy66,$326,$$byval_copy67,$328,-2,$$byval_copy68); - $332 = +HEAPF32[180>>2]; - $333 = (~~(($332))); - HEAP32[$vararg_buffer1>>2] = $333; - $334 = (_FormatText(10024,$vararg_buffer1)|0); + _DrawTextEx($font$byval_copy66,$280,$$byval_copy67,$283,-2,$$byval_copy68); + $287 = +HEAPF32[6051]; + $288 = (~~(($287))); + HEAP32[$vararg_buffer1>>2] = $288; + $289 = (_FormatText(6066,$vararg_buffer1)|0); HEAPF32[$25>>2] = 550.0; - $335 = ((($25)) + 4|0); - HEAPF32[$335>>2] = 20.0; - $336 = HEAP32[(444)>>2]|0; + $290 = ((($25)) + 4|0); + HEAPF32[$290>>2] = 20.0; + $291 = HEAP32[(24468)>>2]|0; + $292 = (+($291|0)); HEAP8[$26>>0] = -1; - $337 = ((($26)) + 1|0); - HEAP8[$337>>0] = -95; - $338 = ((($26)) + 2|0); - HEAP8[$338>>0] = 0; - $339 = ((($26)) + 3|0); - HEAP8[$339>>0] = -1; - dest=$font$byval_copy66; src=424; stop=dest+44|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + $293 = ((($26)) + 1|0); + HEAP8[$293>>0] = -95; + $294 = ((($26)) + 2|0); + HEAP8[$294>>0] = 0; + $295 = ((($26)) + 3|0); + HEAP8[$295>>0] = -1; + ;HEAP32[$font$byval_copy66>>2]=HEAP32[24448>>2]|0;HEAP32[$font$byval_copy66+4>>2]=HEAP32[24448+4>>2]|0;HEAP32[$font$byval_copy66+8>>2]=HEAP32[24448+8>>2]|0;HEAP32[$font$byval_copy66+12>>2]=HEAP32[24448+12>>2]|0;HEAP32[$font$byval_copy66+16>>2]=HEAP32[24448+16>>2]|0;HEAP32[$font$byval_copy66+20>>2]=HEAP32[24448+20>>2]|0;HEAP32[$font$byval_copy66+24>>2]=HEAP32[24448+24>>2]|0;HEAP32[$font$byval_copy66+28>>2]=HEAP32[24448+28>>2]|0; ;HEAP32[$$byval_copy67>>2]=HEAP32[$25>>2]|0;HEAP32[$$byval_copy67+4>>2]=HEAP32[$25+4>>2]|0; ;HEAP8[$$byval_copy68>>0]=HEAP8[$26>>0]|0;HEAP8[$$byval_copy68+1>>0]=HEAP8[$26+1>>0]|0;HEAP8[$$byval_copy68+2>>0]=HEAP8[$26+2>>0]|0;HEAP8[$$byval_copy68+3>>0]=HEAP8[$26+3>>0]|0; - _DrawTextEx($font$byval_copy66,$334,$$byval_copy67,$336,-2,$$byval_copy68); - $340 = HEAP32[168>>2]|0; - $341 = ($340|0)==(0); - if ($341) { + _DrawTextEx($font$byval_copy66,$289,$$byval_copy67,$292,-2,$$byval_copy68); + $296 = HEAP32[6049]|0; + $297 = ($296|0)==(0); + if ($297) { _EndDrawing(); STACKTOP = sp;return; } HEAP8[$27>>0] = -126; - $342 = ((($27)) + 1|0); - HEAP8[$342>>0] = -126; - $343 = ((($27)) + 2|0); - HEAP8[$343>>0] = -126; - $344 = ((($27)) + 3|0); - HEAP8[$344>>0] = -1; + $328 = ((($27)) + 1|0); + HEAP8[$328>>0] = -126; + $329 = ((($27)) + 2|0); + HEAP8[$329>>0] = -126; + $330 = ((($27)) + 3|0); + HEAP8[$330>>0] = -1; ;HEAP8[$$byval_copy68>>0]=HEAP8[$27>>0]|0;HEAP8[$$byval_copy68+1>>0]=HEAP8[$27+1>>0]|0;HEAP8[$$byval_copy68+2>>0]=HEAP8[$27+2>>0]|0;HEAP8[$$byval_copy68+3>>0]=HEAP8[$27+3>>0]|0; - _DrawText(10039,60,22,40,$$byval_copy68); + _DrawText(6081,60,22,40,$$byval_copy68); HEAP32[$29>>2] = -1; ;HEAP8[$$byval_copy68>>0]=HEAP8[$29>>0]|0;HEAP8[$$byval_copy68+1>>0]=HEAP8[$29+1>>0]|0;HEAP8[$$byval_copy68+2>>0]=HEAP8[$29+2>>0]|0;HEAP8[$$byval_copy68+3>>0]=HEAP8[$29+3>>0]|0; _Fade($28,$$byval_copy68,0.5); - ;HEAP32[$$byval_copy67>>2]=HEAP32[404>>2]|0;HEAP32[$$byval_copy67+4>>2]=HEAP32[404+4>>2]|0;HEAP32[$$byval_copy67+8>>2]=HEAP32[404+8>>2]|0;HEAP32[$$byval_copy67+12>>2]=HEAP32[404+12>>2]|0;HEAP32[$$byval_copy67+16>>2]=HEAP32[404+16>>2]|0; + ;HEAP32[$$byval_copy67>>2]=HEAP32[24428>>2]|0;HEAP32[$$byval_copy67+4>>2]=HEAP32[24428+4>>2]|0;HEAP32[$$byval_copy67+8>>2]=HEAP32[24428+8>>2]|0;HEAP32[$$byval_copy67+12>>2]=HEAP32[24428+12>>2]|0;HEAP32[$$byval_copy67+16>>2]=HEAP32[24428+16>>2]|0; ;HEAP8[$$byval_copy68>>0]=HEAP8[$28>>0]|0;HEAP8[$$byval_copy68+1>>0]=HEAP8[$28+1>>0]|0;HEAP8[$$byval_copy68+2>>0]=HEAP8[$28+2>>0]|0;HEAP8[$$byval_copy68+3>>0]=HEAP8[$28+3>>0]|0; _DrawTexture($$byval_copy67,0,0,$$byval_copy68); _EndDrawing(); @@ -12174,129 +12441,135 @@ function _UpdateDrawFrame() { } case 2: { HEAP8[$31>>0] = 0; - $345 = ((($31)) + 1|0); - HEAP8[$345>>0] = 0; - $346 = ((($31)) + 2|0); - HEAP8[$346>>0] = 0; - $347 = ((($31)) + 3|0); - HEAP8[$347>>0] = -1; + $331 = ((($31)) + 1|0); + HEAP8[$331>>0] = 0; + $332 = ((($31)) + 2|0); + HEAP8[$332>>0] = 0; + $333 = ((($31)) + 3|0); + HEAP8[$333>>0] = -1; ;HEAP8[$$byval_copy68>>0]=HEAP8[$31>>0]|0;HEAP8[$$byval_copy68+1>>0]=HEAP8[$31+1>>0]|0;HEAP8[$$byval_copy68+2>>0]=HEAP8[$31+2>>0]|0;HEAP8[$$byval_copy68+3>>0]=HEAP8[$31+3>>0]|0; _Fade($30,$$byval_copy68,0.40000000596046448); ;HEAP8[$$byval_copy68>>0]=HEAP8[$30>>0]|0;HEAP8[$$byval_copy68+1>>0]=HEAP8[$30+1>>0]|0;HEAP8[$$byval_copy68+2>>0]=HEAP8[$30+2>>0]|0;HEAP8[$$byval_copy68+3>>0]=HEAP8[$30+3>>0]|0; _DrawRectangle(0,0,1280,720,$$byval_copy68); HEAPF32[$32>>2] = 300.0; - $348 = ((($32)) + 4|0); - HEAPF32[$348>>2] = 160.0; - $349 = HEAP32[(444)>>2]|0; - $350 = ($349*3)|0; + $334 = ((($32)) + 4|0); + HEAPF32[$334>>2] = 160.0; + $335 = HEAP32[(24468)>>2]|0; + $336 = ($335*3)|0; + $337 = (+($336|0)); HEAP8[$33>>0] = -66; - $351 = ((($33)) + 1|0); - HEAP8[$351>>0] = 33; - $352 = ((($33)) + 2|0); - HEAP8[$352>>0] = 55; - $353 = ((($33)) + 3|0); - HEAP8[$353>>0] = -1; - dest=$font$byval_copy66; src=424; stop=dest+44|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + $338 = ((($33)) + 1|0); + HEAP8[$338>>0] = 33; + $339 = ((($33)) + 2|0); + HEAP8[$339>>0] = 55; + $340 = ((($33)) + 3|0); + HEAP8[$340>>0] = -1; + ;HEAP32[$font$byval_copy66>>2]=HEAP32[24448>>2]|0;HEAP32[$font$byval_copy66+4>>2]=HEAP32[24448+4>>2]|0;HEAP32[$font$byval_copy66+8>>2]=HEAP32[24448+8>>2]|0;HEAP32[$font$byval_copy66+12>>2]=HEAP32[24448+12>>2]|0;HEAP32[$font$byval_copy66+16>>2]=HEAP32[24448+16>>2]|0;HEAP32[$font$byval_copy66+20>>2]=HEAP32[24448+20>>2]|0;HEAP32[$font$byval_copy66+24>>2]=HEAP32[24448+24>>2]|0;HEAP32[$font$byval_copy66+28>>2]=HEAP32[24448+28>>2]|0; ;HEAP32[$$byval_copy67>>2]=HEAP32[$32>>2]|0;HEAP32[$$byval_copy67+4>>2]=HEAP32[$32+4>>2]|0; ;HEAP8[$$byval_copy68>>0]=HEAP8[$33>>0]|0;HEAP8[$$byval_copy68+1>>0]=HEAP8[$33+1>>0]|0;HEAP8[$$byval_copy68+2>>0]=HEAP8[$33+2>>0]|0;HEAP8[$$byval_copy68+3>>0]=HEAP8[$33+3>>0]|0; - _DrawTextEx($font$byval_copy66,10051,$$byval_copy67,$350,-2,$$byval_copy68); - $354 = HEAP32[176>>2]|0; - HEAP32[$vararg_buffer4>>2] = $354; - $355 = (_FormatText(10012,$vararg_buffer4)|0); + _DrawTextEx($font$byval_copy66,6093,$$byval_copy67,$337,-2,$$byval_copy68); + $341 = HEAP32[6050]|0; + HEAP32[$vararg_buffer4>>2] = $341; + $342 = (_FormatText(6054,$vararg_buffer4)|0); HEAPF32[$34>>2] = 680.0; - $356 = ((($34)) + 4|0); - HEAPF32[$356>>2] = 350.0; - $357 = HEAP32[(444)>>2]|0; + $343 = ((($34)) + 4|0); + HEAPF32[$343>>2] = 350.0; + $344 = HEAP32[(24468)>>2]|0; + $345 = (+($344|0)); HEAP8[$35>>0] = -1; - $358 = ((($35)) + 1|0); - HEAP8[$358>>0] = -53; - $359 = ((($35)) + 2|0); - HEAP8[$359>>0] = 0; - $360 = ((($35)) + 3|0); - HEAP8[$360>>0] = -1; - dest=$font$byval_copy66; src=424; stop=dest+44|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + $346 = ((($35)) + 1|0); + HEAP8[$346>>0] = -53; + $347 = ((($35)) + 2|0); + HEAP8[$347>>0] = 0; + $348 = ((($35)) + 3|0); + HEAP8[$348>>0] = -1; + ;HEAP32[$font$byval_copy66>>2]=HEAP32[24448>>2]|0;HEAP32[$font$byval_copy66+4>>2]=HEAP32[24448+4>>2]|0;HEAP32[$font$byval_copy66+8>>2]=HEAP32[24448+8>>2]|0;HEAP32[$font$byval_copy66+12>>2]=HEAP32[24448+12>>2]|0;HEAP32[$font$byval_copy66+16>>2]=HEAP32[24448+16>>2]|0;HEAP32[$font$byval_copy66+20>>2]=HEAP32[24448+20>>2]|0;HEAP32[$font$byval_copy66+24>>2]=HEAP32[24448+24>>2]|0;HEAP32[$font$byval_copy66+28>>2]=HEAP32[24448+28>>2]|0; ;HEAP32[$$byval_copy67>>2]=HEAP32[$34>>2]|0;HEAP32[$$byval_copy67+4>>2]=HEAP32[$34+4>>2]|0; ;HEAP8[$$byval_copy68>>0]=HEAP8[$35>>0]|0;HEAP8[$$byval_copy68+1>>0]=HEAP8[$35+1>>0]|0;HEAP8[$$byval_copy68+2>>0]=HEAP8[$35+2>>0]|0;HEAP8[$$byval_copy68+3>>0]=HEAP8[$35+3>>0]|0; - _DrawTextEx($font$byval_copy66,$355,$$byval_copy67,$357,-2,$$byval_copy68); - $361 = +HEAPF32[180>>2]; - $362 = (~~(($361))); - HEAP32[$vararg_buffer7>>2] = $362; - $363 = (_FormatText(10024,$vararg_buffer7)|0); + _DrawTextEx($font$byval_copy66,$342,$$byval_copy67,$345,-2,$$byval_copy68); + $349 = +HEAPF32[6051]; + $350 = (~~(($349))); + HEAP32[$vararg_buffer7>>2] = $350; + $351 = (_FormatText(6066,$vararg_buffer7)|0); HEAPF32[$36>>2] = 290.0; - $364 = ((($36)) + 4|0); - HEAPF32[$364>>2] = 350.0; - $365 = HEAP32[(444)>>2]|0; + $352 = ((($36)) + 4|0); + HEAPF32[$352>>2] = 350.0; + $353 = HEAP32[(24468)>>2]|0; + $354 = (+($353|0)); HEAP8[$37>>0] = -1; - $366 = ((($37)) + 1|0); - HEAP8[$366>>0] = -53; - $367 = ((($37)) + 2|0); - HEAP8[$367>>0] = 0; - $368 = ((($37)) + 3|0); - HEAP8[$368>>0] = -1; - dest=$font$byval_copy66; src=424; stop=dest+44|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + $355 = ((($37)) + 1|0); + HEAP8[$355>>0] = -53; + $356 = ((($37)) + 2|0); + HEAP8[$356>>0] = 0; + $357 = ((($37)) + 3|0); + HEAP8[$357>>0] = -1; + ;HEAP32[$font$byval_copy66>>2]=HEAP32[24448>>2]|0;HEAP32[$font$byval_copy66+4>>2]=HEAP32[24448+4>>2]|0;HEAP32[$font$byval_copy66+8>>2]=HEAP32[24448+8>>2]|0;HEAP32[$font$byval_copy66+12>>2]=HEAP32[24448+12>>2]|0;HEAP32[$font$byval_copy66+16>>2]=HEAP32[24448+16>>2]|0;HEAP32[$font$byval_copy66+20>>2]=HEAP32[24448+20>>2]|0;HEAP32[$font$byval_copy66+24>>2]=HEAP32[24448+24>>2]|0;HEAP32[$font$byval_copy66+28>>2]=HEAP32[24448+28>>2]|0; ;HEAP32[$$byval_copy67>>2]=HEAP32[$36>>2]|0;HEAP32[$$byval_copy67+4>>2]=HEAP32[$36+4>>2]|0; ;HEAP8[$$byval_copy68>>0]=HEAP8[$37>>0]|0;HEAP8[$$byval_copy68+1>>0]=HEAP8[$37+1>>0]|0;HEAP8[$$byval_copy68+2>>0]=HEAP8[$37+2>>0]|0;HEAP8[$$byval_copy68+3>>0]=HEAP8[$37+3>>0]|0; - _DrawTextEx($font$byval_copy66,$363,$$byval_copy67,$365,-2,$$byval_copy68); - $369 = HEAP32[184>>2]|0; - HEAP32[$vararg_buffer10>>2] = $369; - $370 = (_FormatText(10061,$vararg_buffer10)|0); + _DrawTextEx($font$byval_copy66,$351,$$byval_copy67,$354,-2,$$byval_copy68); + $358 = HEAP32[6052]|0; + HEAP32[$vararg_buffer10>>2] = $358; + $359 = (_FormatText(6103,$vararg_buffer10)|0); HEAPF32[$38>>2] = 665.0; - $371 = ((($38)) + 4|0); - HEAPF32[$371>>2] = 400.0; - $372 = HEAP32[(444)>>2]|0; + $360 = ((($38)) + 4|0); + HEAPF32[$360>>2] = 400.0; + $361 = HEAP32[(24468)>>2]|0; + $362 = (+($361|0)); HEAP8[$39>>0] = -1; - $373 = ((($39)) + 1|0); - HEAP8[$373>>0] = -95; - $374 = ((($39)) + 2|0); - HEAP8[$374>>0] = 0; - $375 = ((($39)) + 3|0); - HEAP8[$375>>0] = -1; - dest=$font$byval_copy66; src=424; stop=dest+44|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + $363 = ((($39)) + 1|0); + HEAP8[$363>>0] = -95; + $364 = ((($39)) + 2|0); + HEAP8[$364>>0] = 0; + $365 = ((($39)) + 3|0); + HEAP8[$365>>0] = -1; + ;HEAP32[$font$byval_copy66>>2]=HEAP32[24448>>2]|0;HEAP32[$font$byval_copy66+4>>2]=HEAP32[24448+4>>2]|0;HEAP32[$font$byval_copy66+8>>2]=HEAP32[24448+8>>2]|0;HEAP32[$font$byval_copy66+12>>2]=HEAP32[24448+12>>2]|0;HEAP32[$font$byval_copy66+16>>2]=HEAP32[24448+16>>2]|0;HEAP32[$font$byval_copy66+20>>2]=HEAP32[24448+20>>2]|0;HEAP32[$font$byval_copy66+24>>2]=HEAP32[24448+24>>2]|0;HEAP32[$font$byval_copy66+28>>2]=HEAP32[24448+28>>2]|0; ;HEAP32[$$byval_copy67>>2]=HEAP32[$38>>2]|0;HEAP32[$$byval_copy67+4>>2]=HEAP32[$38+4>>2]|0; ;HEAP8[$$byval_copy68>>0]=HEAP8[$39>>0]|0;HEAP8[$$byval_copy68+1>>0]=HEAP8[$39+1>>0]|0;HEAP8[$$byval_copy68+2>>0]=HEAP8[$39+2>>0]|0;HEAP8[$$byval_copy68+3>>0]=HEAP8[$39+3>>0]|0; - _DrawTextEx($font$byval_copy66,$370,$$byval_copy67,$372,-2,$$byval_copy68); - $376 = +HEAPF32[188>>2]; - $377 = (~~(($376))); - HEAP32[$vararg_buffer13>>2] = $377; - $378 = (_FormatText(10075,$vararg_buffer13)|0); + _DrawTextEx($font$byval_copy66,$359,$$byval_copy67,$362,-2,$$byval_copy68); + $366 = +HEAPF32[6053]; + $367 = (~~(($366))); + HEAP32[$vararg_buffer13>>2] = $367; + $368 = (_FormatText(6117,$vararg_buffer13)|0); HEAPF32[$40>>2] = 270.0; - $379 = ((($40)) + 4|0); - HEAPF32[$379>>2] = 400.0; - $380 = HEAP32[(444)>>2]|0; + $369 = ((($40)) + 4|0); + HEAPF32[$369>>2] = 400.0; + $370 = HEAP32[(24468)>>2]|0; + $371 = (+($370|0)); HEAP8[$41>>0] = -1; - $381 = ((($41)) + 1|0); - HEAP8[$381>>0] = -95; - $382 = ((($41)) + 2|0); - HEAP8[$382>>0] = 0; - $383 = ((($41)) + 3|0); - HEAP8[$383>>0] = -1; - dest=$font$byval_copy66; src=424; stop=dest+44|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + $372 = ((($41)) + 1|0); + HEAP8[$372>>0] = -95; + $373 = ((($41)) + 2|0); + HEAP8[$373>>0] = 0; + $374 = ((($41)) + 3|0); + HEAP8[$374>>0] = -1; + ;HEAP32[$font$byval_copy66>>2]=HEAP32[24448>>2]|0;HEAP32[$font$byval_copy66+4>>2]=HEAP32[24448+4>>2]|0;HEAP32[$font$byval_copy66+8>>2]=HEAP32[24448+8>>2]|0;HEAP32[$font$byval_copy66+12>>2]=HEAP32[24448+12>>2]|0;HEAP32[$font$byval_copy66+16>>2]=HEAP32[24448+16>>2]|0;HEAP32[$font$byval_copy66+20>>2]=HEAP32[24448+20>>2]|0;HEAP32[$font$byval_copy66+24>>2]=HEAP32[24448+24>>2]|0;HEAP32[$font$byval_copy66+28>>2]=HEAP32[24448+28>>2]|0; ;HEAP32[$$byval_copy67>>2]=HEAP32[$40>>2]|0;HEAP32[$$byval_copy67+4>>2]=HEAP32[$40+4>>2]|0; ;HEAP8[$$byval_copy68>>0]=HEAP8[$41>>0]|0;HEAP8[$$byval_copy68+1>>0]=HEAP8[$41+1>>0]|0;HEAP8[$$byval_copy68+2>>0]=HEAP8[$41+2>>0]|0;HEAP8[$$byval_copy68+3>>0]=HEAP8[$41+3>>0]|0; - _DrawTextEx($font$byval_copy66,$378,$$byval_copy67,$380,-2,$$byval_copy68); - $384 = HEAP32[196>>2]|0; - $385 = (($384|0) / 30)&-1; - $386 = $385 & 1; - $387 = ($386|0)==(0); - if ($387) { + _DrawTextEx($font$byval_copy66,$368,$$byval_copy67,$371,-2,$$byval_copy68); + $375 = HEAP32[6055]|0; + $376 = (($375|0) / 30)&-1; + $377 = $376 & 1; + $378 = ($377|0)==(0); + if ($378) { _EndDrawing(); STACKTOP = sp;return; } HEAPF32[$42>>2] = 390.0; - $388 = ((($42)) + 4|0); - HEAPF32[$388>>2] = 520.0; - $389 = HEAP32[(444)>>2]|0; + $379 = ((($42)) + 4|0); + HEAPF32[$379>>2] = 520.0; + $380 = HEAP32[(24468)>>2]|0; + $381 = (+($380|0)); HEAP8[$43>>0] = -56; - $390 = ((($43)) + 1|0); - HEAP8[$390>>0] = -56; - $391 = ((($43)) + 2|0); - HEAP8[$391>>0] = -56; - $392 = ((($43)) + 3|0); - HEAP8[$392>>0] = -1; - dest=$font$byval_copy66; src=424; stop=dest+44|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + $382 = ((($43)) + 1|0); + HEAP8[$382>>0] = -56; + $383 = ((($43)) + 2|0); + HEAP8[$383>>0] = -56; + $384 = ((($43)) + 3|0); + HEAP8[$384>>0] = -1; + ;HEAP32[$font$byval_copy66>>2]=HEAP32[24448>>2]|0;HEAP32[$font$byval_copy66+4>>2]=HEAP32[24448+4>>2]|0;HEAP32[$font$byval_copy66+8>>2]=HEAP32[24448+8>>2]|0;HEAP32[$font$byval_copy66+12>>2]=HEAP32[24448+12>>2]|0;HEAP32[$font$byval_copy66+16>>2]=HEAP32[24448+16>>2]|0;HEAP32[$font$byval_copy66+20>>2]=HEAP32[24448+20>>2]|0;HEAP32[$font$byval_copy66+24>>2]=HEAP32[24448+24>>2]|0;HEAP32[$font$byval_copy66+28>>2]=HEAP32[24448+28>>2]|0; ;HEAP32[$$byval_copy67>>2]=HEAP32[$42>>2]|0;HEAP32[$$byval_copy67+4>>2]=HEAP32[$42+4>>2]|0; ;HEAP8[$$byval_copy68>>0]=HEAP8[$43>>0]|0;HEAP8[$$byval_copy68+1>>0]=HEAP8[$43+1>>0]|0;HEAP8[$$byval_copy68+2>>0]=HEAP8[$43+2>>0]|0;HEAP8[$$byval_copy68+3>>0]=HEAP8[$43+3>>0]|0; - _DrawTextEx($font$byval_copy66,10092,$$byval_copy67,$389,-2,$$byval_copy68); + _DrawTextEx($font$byval_copy66,6134,$$byval_copy67,$381,-2,$$byval_copy68); _EndDrawing(); STACKTOP = sp;return; break; @@ -12307,2012 +12580,3303 @@ function _UpdateDrawFrame() { } } } -function _VectorLength($v) { - $v = $v|0; - var $0 = 0.0, $1 = 0.0, $2 = 0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0.0, $9 = 0.0, $sqrtf = 0.0, label = 0, sp = 0; +function _Vector2Distance($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; sp = STACKTOP; - $0 = +HEAPF32[$v>>2]; - $1 = $0 * $0; - $2 = ((($v)) + 4|0); - $3 = +HEAPF32[$2>>2]; - $4 = $3 * $3; - $5 = $1 + $4; - $6 = ((($v)) + 8|0); + $2 = +HEAPF32[$0>>2]; + $3 = +HEAPF32[$1>>2]; + $4 = $2 - $3; + $5 = $4 * $4; + $6 = ((($0)) + 4|0); $7 = +HEAPF32[$6>>2]; - $8 = $7 * $7; - $9 = $5 + $8; - $sqrtf = (+Math_sqrt((+$9))); - return (+$sqrtf); -} -function _VectorNormalize($v) { - $v = $v|0; - var $$op = 0.0, $0 = 0.0, $1 = 0, $10 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0.0, $v$byval_copy = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $v$byval_copy = sp; - ;HEAP32[$v$byval_copy>>2]=HEAP32[$v>>2]|0;HEAP32[$v$byval_copy+4>>2]=HEAP32[$v+4>>2]|0;HEAP32[$v$byval_copy+8>>2]=HEAP32[$v+8>>2]|0; - $0 = (+_VectorLength($v$byval_copy)); - $1 = $0 == 0.0; - $$op = 1.0 / $0; - $2 = $1 ? 1.0 : $$op; - $3 = +HEAPF32[$v>>2]; - $4 = $3 * $2; - HEAPF32[$v>>2] = $4; - $5 = ((($v)) + 4|0); - $6 = +HEAPF32[$5>>2]; - $7 = $2 * $6; - HEAPF32[$5>>2] = $7; - $8 = ((($v)) + 8|0); + $8 = ((($1)) + 4|0); $9 = +HEAPF32[$8>>2]; - $10 = $2 * $9; - HEAPF32[$8>>2] = $10; + $10 = $7 - $9; + $11 = $10 * $10; + $12 = $5 + $11; + $13 = (+Math_sqrt((+$12))); + return (+$13); +} +function _Vector2Angle($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($1)) + 4|0); + $3 = +HEAPF32[$2>>2]; + $4 = ((($0)) + 4|0); + $5 = +HEAPF32[$4>>2]; + $6 = $3 - $5; + $7 = +HEAPF32[$1>>2]; + $8 = +HEAPF32[$0>>2]; + $9 = $7 - $8; + $10 = (+Math_atan2((+$6),(+$9))); + $11 = $10 * 57.2957763671875; + $12 = $11 < 0.0; + $13 = $11 + 360.0; + $$0 = $12 ? $13 : $11; + return (+$$0); +} +function _VectorZero($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = 0.0; + $1 = ((($0)) + 4|0); + HEAPF32[$1>>2] = 0.0; + $2 = ((($0)) + 8|0); + HEAPF32[$2>>2] = 0.0; + return; +} +function _VectorLength($0) { + $0 = $0|0; + var $1 = 0.0, $10 = 0.0, $11 = 0.0, $2 = 0.0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $1 = +HEAPF32[$0>>2]; + $2 = $1 * $1; + $3 = ((($0)) + 4|0); + $4 = +HEAPF32[$3>>2]; + $5 = $4 * $4; + $6 = $2 + $5; + $7 = ((($0)) + 8|0); + $8 = +HEAPF32[$7>>2]; + $9 = $8 * $8; + $10 = $6 + $9; + $11 = (+Math_sqrt((+$10))); + return (+$11); +} +function _VectorNormalize($0) { + $0 = $0|0; + var $$byval_copy = 0, $$op = 0.0, $1 = 0.0, $10 = 0.0, $11 = 0.0, $2 = 0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0.0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $$byval_copy = sp; + ;HEAP32[$$byval_copy>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$0+8>>2]|0; + $1 = (+_VectorLength($$byval_copy)); + $2 = $1 == 0.0; + $$op = 1.0 / $1; + $3 = $2 ? 1.0 : $$op; + $4 = +HEAPF32[$0>>2]; + $5 = $4 * $3; + HEAPF32[$0>>2] = $5; + $6 = ((($0)) + 4|0); + $7 = +HEAPF32[$6>>2]; + $8 = $3 * $7; + HEAPF32[$6>>2] = $8; + $9 = ((($0)) + 8|0); + $10 = +HEAPF32[$9>>2]; + $11 = $3 * $10; + HEAPF32[$9>>2] = $11; STACKTOP = sp;return; } -function _VectorTransform($v,$mat) { - $v = $v|0; - $mat = $mat|0; - var $0 = 0.0, $1 = 0, $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0, $16 = 0.0, $17 = 0.0, $18 = 0, $19 = 0.0, $2 = 0.0, $20 = 0.0, $21 = 0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0, $26 = 0.0; - var $27 = 0.0, $28 = 0.0, $29 = 0, $3 = 0, $30 = 0.0, $31 = 0.0, $32 = 0, $33 = 0.0, $34 = 0.0, $35 = 0, $36 = 0.0, $37 = 0.0, $38 = 0.0, $39 = 0, $4 = 0.0, $40 = 0.0, $41 = 0.0, $42 = 0.0, $43 = 0, $44 = 0.0; - var $45 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; +function _VectorTransform($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0, $18 = 0.0, $19 = 0.0, $2 = 0.0, $20 = 0, $21 = 0.0, $22 = 0.0, $23 = 0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0, $28 = 0.0; + var $29 = 0.0, $3 = 0, $30 = 0.0, $31 = 0, $32 = 0.0, $33 = 0.0, $34 = 0, $35 = 0.0, $36 = 0.0, $37 = 0, $38 = 0.0, $39 = 0.0, $4 = 0.0, $40 = 0.0, $41 = 0, $42 = 0.0, $43 = 0.0, $44 = 0.0, $45 = 0, $46 = 0.0; + var $47 = 0.0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = +HEAPF32[$v>>2]; - $1 = ((($v)) + 4|0); - $2 = +HEAPF32[$1>>2]; - $3 = ((($v)) + 8|0); + $2 = +HEAPF32[$0>>2]; + $3 = ((($0)) + 4|0); $4 = +HEAPF32[$3>>2]; - $5 = +HEAPF32[$mat>>2]; - $6 = $0 * $5; - $7 = ((($mat)) + 4|0); - $8 = +HEAPF32[$7>>2]; - $9 = $2 * $8; - $10 = $6 + $9; - $11 = ((($mat)) + 8|0); - $12 = +HEAPF32[$11>>2]; - $13 = $4 * $12; - $14 = $10 + $13; - $15 = ((($mat)) + 12|0); - $16 = +HEAPF32[$15>>2]; - $17 = $16 + $14; - HEAPF32[$v>>2] = $17; - $18 = ((($mat)) + 16|0); - $19 = +HEAPF32[$18>>2]; - $20 = $0 * $19; - $21 = ((($mat)) + 20|0); - $22 = +HEAPF32[$21>>2]; - $23 = $2 * $22; - $24 = $20 + $23; - $25 = ((($mat)) + 24|0); - $26 = +HEAPF32[$25>>2]; - $27 = $4 * $26; - $28 = $24 + $27; - $29 = ((($mat)) + 28|0); - $30 = +HEAPF32[$29>>2]; - $31 = $30 + $28; - HEAPF32[$1>>2] = $31; - $32 = ((($mat)) + 32|0); - $33 = +HEAPF32[$32>>2]; - $34 = $0 * $33; - $35 = ((($mat)) + 36|0); - $36 = +HEAPF32[$35>>2]; - $37 = $2 * $36; - $38 = $34 + $37; - $39 = ((($mat)) + 40|0); - $40 = +HEAPF32[$39>>2]; - $41 = $4 * $40; - $42 = $38 + $41; - $43 = ((($mat)) + 44|0); - $44 = +HEAPF32[$43>>2]; - $45 = $44 + $42; - HEAPF32[$3>>2] = $45; + $5 = ((($0)) + 8|0); + $6 = +HEAPF32[$5>>2]; + $7 = +HEAPF32[$1>>2]; + $8 = $2 * $7; + $9 = ((($1)) + 4|0); + $10 = +HEAPF32[$9>>2]; + $11 = $4 * $10; + $12 = $8 + $11; + $13 = ((($1)) + 8|0); + $14 = +HEAPF32[$13>>2]; + $15 = $6 * $14; + $16 = $12 + $15; + $17 = ((($1)) + 12|0); + $18 = +HEAPF32[$17>>2]; + $19 = $18 + $16; + HEAPF32[$0>>2] = $19; + $20 = ((($1)) + 16|0); + $21 = +HEAPF32[$20>>2]; + $22 = $2 * $21; + $23 = ((($1)) + 20|0); + $24 = +HEAPF32[$23>>2]; + $25 = $4 * $24; + $26 = $22 + $25; + $27 = ((($1)) + 24|0); + $28 = +HEAPF32[$27>>2]; + $29 = $6 * $28; + $30 = $26 + $29; + $31 = ((($1)) + 28|0); + $32 = +HEAPF32[$31>>2]; + $33 = $32 + $30; + HEAPF32[$3>>2] = $33; + $34 = ((($1)) + 32|0); + $35 = +HEAPF32[$34>>2]; + $36 = $2 * $35; + $37 = ((($1)) + 36|0); + $38 = +HEAPF32[$37>>2]; + $39 = $4 * $38; + $40 = $36 + $39; + $41 = ((($1)) + 40|0); + $42 = +HEAPF32[$41>>2]; + $43 = $6 * $42; + $44 = $40 + $43; + $45 = ((($1)) + 44|0); + $46 = +HEAPF32[$45>>2]; + $47 = $46 + $44; + HEAPF32[$5>>2] = $47; return; } -function _VectorZero($agg$result) { - $agg$result = $agg$result|0; - var label = 0, sp = 0; - sp = STACKTOP; - ;HEAP32[$agg$result>>2]=0|0;HEAP32[$agg$result+4>>2]=0|0;HEAP32[$agg$result+8>>2]=0|0; - return; -} -function _MatrixTranspose($mat) { - $mat = $mat|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $3 = 0, $4 = 0, $5 = 0; +function _MatrixTranspose($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0, $5 = 0; var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = ((($mat)) + 4|0); - $1 = HEAP32[$0>>2]|0; - $2 = ((($mat)) + 8|0); - $3 = HEAP32[$2>>2]|0; - $4 = ((($mat)) + 12|0); - $5 = HEAP32[$4>>2]|0; - $6 = ((($mat)) + 16|0); - $7 = HEAP32[$6>>2]|0; - $8 = ((($mat)) + 24|0); - $9 = HEAP32[$8>>2]|0; - $10 = ((($mat)) + 28|0); - $11 = HEAP32[$10>>2]|0; - $12 = ((($mat)) + 32|0); - $13 = HEAP32[$12>>2]|0; - $14 = ((($mat)) + 36|0); - $15 = HEAP32[$14>>2]|0; - $16 = ((($mat)) + 44|0); - $17 = HEAP32[$16>>2]|0; - $18 = ((($mat)) + 48|0); - $19 = HEAP32[$18>>2]|0; - $20 = ((($mat)) + 52|0); - $21 = HEAP32[$20>>2]|0; - $22 = ((($mat)) + 56|0); - $23 = HEAP32[$22>>2]|0; - HEAP32[$0>>2] = $7; - HEAP32[$2>>2] = $13; - HEAP32[$4>>2] = $19; - HEAP32[$6>>2] = $1; - HEAP32[$8>>2] = $15; - HEAP32[$10>>2] = $21; - HEAP32[$12>>2] = $3; - HEAP32[$14>>2] = $9; - HEAP32[$16>>2] = $23; - HEAP32[$18>>2] = $5; - HEAP32[$20>>2] = $11; - HEAP32[$22>>2] = $17; + $1 = ((($0)) + 4|0); + $2 = HEAP32[$1>>2]|0; + $3 = ((($0)) + 8|0); + $4 = HEAP32[$3>>2]|0; + $5 = ((($0)) + 12|0); + $6 = HEAP32[$5>>2]|0; + $7 = ((($0)) + 16|0); + $8 = HEAP32[$7>>2]|0; + $9 = ((($0)) + 24|0); + $10 = HEAP32[$9>>2]|0; + $11 = ((($0)) + 28|0); + $12 = HEAP32[$11>>2]|0; + $13 = ((($0)) + 32|0); + $14 = HEAP32[$13>>2]|0; + $15 = ((($0)) + 36|0); + $16 = HEAP32[$15>>2]|0; + $17 = ((($0)) + 44|0); + $18 = HEAP32[$17>>2]|0; + $19 = ((($0)) + 48|0); + $20 = HEAP32[$19>>2]|0; + $21 = ((($0)) + 52|0); + $22 = HEAP32[$21>>2]|0; + $23 = ((($0)) + 56|0); + $24 = HEAP32[$23>>2]|0; + HEAP32[$1>>2] = $8; + HEAP32[$3>>2] = $14; + HEAP32[$5>>2] = $20; + HEAP32[$7>>2] = $2; + HEAP32[$9>>2] = $16; + HEAP32[$11>>2] = $22; + HEAP32[$13>>2] = $4; + HEAP32[$15>>2] = $10; + HEAP32[$17>>2] = $24; + HEAP32[$19>>2] = $6; + HEAP32[$21>>2] = $12; + HEAP32[$23>>2] = $18; return; } -function _MatrixIdentity($agg$result) { - $agg$result = $agg$result|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $result$sroa$5 = 0, $result$sroa$6 = 0, $result$sroa$7 = 0, label = 0, sp = 0; +function _MatrixIdentity($0) { + $0 = $0|0; + var $$sroa$5$0$$sroa_idx = 0, $$sroa$55$0$$sroa_idx6 = 0, $$sroa$6$0$$sroa_idx = 0, $$sroa$611$0$$sroa_idx12 = 0, $$sroa$7$0$$sroa_idx = 0, $$sroa$717$0$$sroa_idx18 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $result$sroa$5 = sp + 32|0; - $result$sroa$6 = sp + 16|0; - $result$sroa$7 = sp; - ;HEAP32[$result$sroa$5>>2]=0|0;HEAP32[$result$sroa$5+4>>2]=0|0;HEAP32[$result$sroa$5+8>>2]=0|0;HEAP32[$result$sroa$5+12>>2]=0|0; - ;HEAP32[$result$sroa$6>>2]=0|0;HEAP32[$result$sroa$6+4>>2]=0|0;HEAP32[$result$sroa$6+8>>2]=0|0;HEAP32[$result$sroa$6+12>>2]=0|0; - ;HEAP32[$result$sroa$7>>2]=0|0;HEAP32[$result$sroa$7+4>>2]=0|0;HEAP32[$result$sroa$7+8>>2]=0|0;HEAP32[$result$sroa$7+12>>2]=0|0; - HEAPF32[$agg$result>>2] = 1.0; - $0 = ((($agg$result)) + 4|0); - ;HEAP32[$0>>2]=HEAP32[$result$sroa$5>>2]|0;HEAP32[$0+4>>2]=HEAP32[$result$sroa$5+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$result$sroa$5+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$result$sroa$5+12>>2]|0; - $1 = ((($agg$result)) + 20|0); - HEAPF32[$1>>2] = 1.0; - $2 = ((($agg$result)) + 24|0); - ;HEAP32[$2>>2]=HEAP32[$result$sroa$6>>2]|0;HEAP32[$2+4>>2]=HEAP32[$result$sroa$6+4>>2]|0;HEAP32[$2+8>>2]=HEAP32[$result$sroa$6+8>>2]|0;HEAP32[$2+12>>2]=HEAP32[$result$sroa$6+12>>2]|0; - $3 = ((($agg$result)) + 40|0); - HEAPF32[$3>>2] = 1.0; - $4 = ((($agg$result)) + 44|0); - ;HEAP32[$4>>2]=HEAP32[$result$sroa$7>>2]|0;HEAP32[$4+4>>2]=HEAP32[$result$sroa$7+4>>2]|0;HEAP32[$4+8>>2]=HEAP32[$result$sroa$7+8>>2]|0;HEAP32[$4+12>>2]=HEAP32[$result$sroa$7+12>>2]|0; - $5 = ((($agg$result)) + 60|0); - HEAPF32[$5>>2] = 1.0; - STACKTOP = sp;return; -} -function _MatrixTranslate($agg$result,$x,$y,$z) { - $agg$result = $agg$result|0; - $x = +$x; - $y = +$y; - $z = +$z; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; - sp = STACKTOP; - HEAPF32[$agg$result>>2] = 1.0; - $0 = ((($agg$result)) + 4|0); - $1 = ((($agg$result)) + 20|0); - ;HEAP32[$0>>2]=0|0;HEAP32[$0+4>>2]=0|0;HEAP32[$0+8>>2]=0|0;HEAP32[$0+12>>2]=0|0; - HEAPF32[$1>>2] = 1.0; - $2 = ((($agg$result)) + 24|0); - $3 = ((($agg$result)) + 40|0); - ;HEAP32[$2>>2]=0|0;HEAP32[$2+4>>2]=0|0;HEAP32[$2+8>>2]=0|0;HEAP32[$2+12>>2]=0|0; - HEAPF32[$3>>2] = 1.0; - $4 = ((($agg$result)) + 44|0); - HEAPF32[$4>>2] = 0.0; - $5 = ((($agg$result)) + 48|0); - HEAPF32[$5>>2] = $x; - $6 = ((($agg$result)) + 52|0); - HEAPF32[$6>>2] = $y; - $7 = ((($agg$result)) + 56|0); - HEAPF32[$7>>2] = $z; - $8 = ((($agg$result)) + 60|0); - HEAPF32[$8>>2] = 1.0; + HEAPF32[$0>>2] = 1.0; + $$sroa$5$0$$sroa_idx = ((($0)) + 4|0); + ;HEAP32[$$sroa$5$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+12>>2]=0|0; + $$sroa$55$0$$sroa_idx6 = ((($0)) + 20|0); + HEAPF32[$$sroa$55$0$$sroa_idx6>>2] = 1.0; + $$sroa$6$0$$sroa_idx = ((($0)) + 24|0); + ;HEAP32[$$sroa$6$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+12>>2]=0|0; + $$sroa$611$0$$sroa_idx12 = ((($0)) + 40|0); + HEAPF32[$$sroa$611$0$$sroa_idx12>>2] = 1.0; + $$sroa$7$0$$sroa_idx = ((($0)) + 44|0); + ;HEAP32[$$sroa$7$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+12>>2]=0|0; + $$sroa$717$0$$sroa_idx18 = ((($0)) + 60|0); + HEAPF32[$$sroa$717$0$$sroa_idx18>>2] = 1.0; return; } -function _MatrixRotate($agg$result,$axis,$angle) { - $agg$result = $agg$result|0; - $axis = $axis|0; - $angle = +$angle; - var $0 = 0.0, $1 = 0, $10 = 0, $100 = 0.0, $101 = 0.0, $102 = 0.0, $103 = 0.0, $104 = 0.0, $105 = 0.0, $106 = 0.0, $107 = 0.0, $108 = 0.0, $109 = 0.0, $11 = 0, $110 = 0.0, $111 = 0.0, $112 = 0.0, $113 = 0.0, $114 = 0.0, $115 = 0.0; - var $116 = 0.0, $117 = 0.0, $118 = 0.0, $119 = 0.0, $12 = 0.0, $120 = 0.0, $121 = 0.0, $122 = 0.0, $123 = 0.0, $124 = 0.0, $125 = 0.0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0.0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0.0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0; - var $19 = 0.0, $2 = 0.0, $20 = 0, $21 = 0.0, $22 = 0, $23 = 0.0, $24 = 0, $25 = 0.0, $26 = 0, $27 = 0.0, $28 = 0, $29 = 0.0, $3 = 0, $30 = 0, $31 = 0.0, $32 = 0, $33 = 0.0, $34 = 0, $35 = 0.0, $36 = 0; - var $37 = 0.0, $38 = 0, $39 = 0.0, $4 = 0.0, $40 = 0, $41 = 0.0, $42 = 0.0, $43 = 0.0, $44 = 0.0, $45 = 0.0, $46 = 0.0, $47 = 0.0, $48 = 0.0, $49 = 0.0, $5 = 0.0, $50 = 0.0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0.0; - var $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0.0, $60 = 0.0, $61 = 0.0, $62 = 0.0, $63 = 0.0, $64 = 0.0, $65 = 0.0, $66 = 0.0, $67 = 0.0, $68 = 0.0, $69 = 0.0, $7 = 0.0, $70 = 0.0, $71 = 0.0, $72 = 0.0; - var $73 = 0.0, $74 = 0.0, $75 = 0.0, $76 = 0.0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0.0, $80 = 0.0, $81 = 0.0, $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0.0, $86 = 0.0, $87 = 0.0, $88 = 0.0, $89 = 0.0, $9 = 0.0, $90 = 0.0; - var $91 = 0.0, $92 = 0.0, $93 = 0.0, $94 = 0.0, $95 = 0.0, $96 = 0.0, $97 = 0.0, $98 = 0.0, $99 = 0.0, $mat = 0, $or$cond = 0, $sqrtf = 0.0, $x$0 = 0.0, $y$0 = 0.0, $z$0 = 0.0, label = 0, sp = 0; +function _MatrixTranslate($0,$1,$2,$3) { + $0 = $0|0; + $1 = +$1; + $2 = +$2; + $3 = +$3; + var $$sroa$13$0$$sroa_idx20 = 0, $$sroa$14$0$$sroa_idx22 = 0, $$sroa$15$0$$sroa_idx24 = 0, $$sroa$16$0$$sroa_idx26 = 0, $$sroa$17$0$$sroa_idx28 = 0, $$sroa$18$0$$sroa_idx30 = 0, $$sroa$4$0$$sroa_idx2 = 0, $$sroa$8$0$$sroa_idx10 = 0, $$sroa$9$0$$sroa_idx12 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; - $mat = sp; - _MatrixIdentity($mat); - $0 = +HEAPF32[$axis>>2]; - $1 = ((($axis)) + 4|0); - $2 = +HEAPF32[$1>>2]; - $3 = ((($axis)) + 8|0); - $4 = +HEAPF32[$3>>2]; - $5 = $0 * $0; - $6 = $2 * $2; - $7 = $5 + $6; - $8 = $4 * $4; - $9 = $7 + $8; - $sqrtf = (+Math_sqrt((+$9))); - $10 = $sqrtf != 1.0; - $11 = $sqrtf != 0.0; - $or$cond = $10 & $11; - if ($or$cond) { - $12 = 1.0 / $sqrtf; - $13 = $0 * $12; - $14 = $2 * $12; - $15 = $4 * $12; - $x$0 = $13;$y$0 = $14;$z$0 = $15; - } else { - $x$0 = $0;$y$0 = $2;$z$0 = $4; - } - $16 = (+Math_sin((+$angle))); - $17 = (+Math_cos((+$angle))); - $18 = 1.0 - $17; - $19 = +HEAPF32[$mat>>2]; - $20 = ((($mat)) + 16|0); - $21 = +HEAPF32[$20>>2]; - $22 = ((($mat)) + 32|0); - $23 = +HEAPF32[$22>>2]; - $24 = ((($mat)) + 48|0); - $25 = +HEAPF32[$24>>2]; - $26 = ((($mat)) + 4|0); - $27 = +HEAPF32[$26>>2]; - $28 = ((($mat)) + 20|0); - $29 = +HEAPF32[$28>>2]; - $30 = ((($mat)) + 36|0); - $31 = +HEAPF32[$30>>2]; - $32 = ((($mat)) + 52|0); - $33 = +HEAPF32[$32>>2]; - $34 = ((($mat)) + 8|0); - $35 = +HEAPF32[$34>>2]; - $36 = ((($mat)) + 24|0); - $37 = +HEAPF32[$36>>2]; - $38 = ((($mat)) + 40|0); - $39 = +HEAPF32[$38>>2]; - $40 = ((($mat)) + 56|0); - $41 = +HEAPF32[$40>>2]; - $42 = $x$0 * $x$0; - $43 = $42 * $18; - $44 = $17 + $43; - $45 = $y$0 * $x$0; - $46 = $45 * $18; - $47 = $z$0 * $16; - $48 = $47 + $46; - $49 = $z$0 * $x$0; - $50 = $49 * $18; - $51 = $y$0 * $16; - $52 = $50 - $51; - $53 = $46 - $47; - $54 = $y$0 * $y$0; - $55 = $54 * $18; - $56 = $17 + $55; - $57 = $z$0 * $y$0; - $58 = $57 * $18; - $59 = $x$0 * $16; - $60 = $59 + $58; - $61 = $51 + $50; - $62 = $58 - $59; - $63 = $z$0 * $z$0; - $64 = $63 * $18; - $65 = $17 + $64; - $66 = $19 * $44; - $67 = $48 * $27; - $68 = $66 + $67; - $69 = $52 * $35; - $70 = $68 + $69; - $71 = $21 * $44; - $72 = $48 * $29; + HEAPF32[$0>>2] = 1.0; + $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); + $$sroa$8$0$$sroa_idx10 = ((($0)) + 20|0); + ;HEAP32[$$sroa$4$0$$sroa_idx2>>2]=0|0;HEAP32[$$sroa$4$0$$sroa_idx2+4>>2]=0|0;HEAP32[$$sroa$4$0$$sroa_idx2+8>>2]=0|0;HEAP32[$$sroa$4$0$$sroa_idx2+12>>2]=0|0; + HEAPF32[$$sroa$8$0$$sroa_idx10>>2] = 1.0; + $$sroa$9$0$$sroa_idx12 = ((($0)) + 24|0); + $$sroa$13$0$$sroa_idx20 = ((($0)) + 40|0); + ;HEAP32[$$sroa$9$0$$sroa_idx12>>2]=0|0;HEAP32[$$sroa$9$0$$sroa_idx12+4>>2]=0|0;HEAP32[$$sroa$9$0$$sroa_idx12+8>>2]=0|0;HEAP32[$$sroa$9$0$$sroa_idx12+12>>2]=0|0; + HEAPF32[$$sroa$13$0$$sroa_idx20>>2] = 1.0; + $$sroa$14$0$$sroa_idx22 = ((($0)) + 44|0); + HEAPF32[$$sroa$14$0$$sroa_idx22>>2] = 0.0; + $$sroa$15$0$$sroa_idx24 = ((($0)) + 48|0); + HEAPF32[$$sroa$15$0$$sroa_idx24>>2] = $1; + $$sroa$16$0$$sroa_idx26 = ((($0)) + 52|0); + HEAPF32[$$sroa$16$0$$sroa_idx26>>2] = $2; + $$sroa$17$0$$sroa_idx28 = ((($0)) + 56|0); + HEAPF32[$$sroa$17$0$$sroa_idx28>>2] = $3; + $$sroa$18$0$$sroa_idx30 = ((($0)) + 60|0); + HEAPF32[$$sroa$18$0$$sroa_idx30>>2] = 1.0; + return; +} +function _MatrixRotate($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = +$2; + var $$ = 0.0, $$221 = 0.0, $$222 = 0.0, $$sroa$10$0$$sroa_idx199 = 0, $$sroa$11$0$$sroa_idx201 = 0, $$sroa$12$0$$sroa_idx203 = 0, $$sroa$13$0$$sroa_idx205 = 0, $$sroa$14$0$$sroa_idx207 = 0, $$sroa$15$0$$sroa_idx209 = 0, $$sroa$16$0$$sroa_idx211 = 0, $$sroa$17$0$$sroa_idx213 = 0, $$sroa$18$0$$sroa_idx215 = 0, $$sroa$4$0$$sroa_idx187 = 0, $$sroa$5$0$$sroa_idx189 = 0, $$sroa$6$0$$sroa_idx191 = 0, $$sroa$7$0$$sroa_idx193 = 0, $$sroa$8$0$$sroa_idx195 = 0, $$sroa$9$0$$sroa_idx197 = 0, $10 = 0.0, $100 = 0.0; + var $101 = 0.0, $102 = 0.0, $103 = 0.0, $104 = 0.0, $105 = 0.0, $106 = 0.0, $107 = 0.0, $108 = 0.0, $109 = 0.0, $11 = 0.0, $110 = 0.0, $111 = 0.0, $112 = 0.0, $113 = 0.0, $114 = 0.0, $115 = 0.0, $116 = 0.0, $117 = 0.0, $118 = 0.0, $119 = 0.0; + var $12 = 0.0, $120 = 0.0, $121 = 0.0, $122 = 0.0, $123 = 0.0, $124 = 0.0, $125 = 0.0, $126 = 0.0, $127 = 0.0, $128 = 0.0, $129 = 0.0, $13 = 0.0, $130 = 0.0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0; + var $138 = 0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0, $26 = 0.0, $27 = 0, $28 = 0.0, $29 = 0, $3 = 0, $30 = 0.0, $31 = 0; + var $32 = 0.0, $33 = 0, $34 = 0.0, $35 = 0, $36 = 0.0, $37 = 0, $38 = 0.0, $39 = 0, $4 = 0.0, $40 = 0.0, $41 = 0, $42 = 0.0, $43 = 0, $44 = 0.0, $45 = 0, $46 = 0.0, $47 = 0.0, $48 = 0.0, $49 = 0.0, $5 = 0; + var $50 = 0.0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0.0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0.0, $60 = 0.0, $61 = 0.0, $62 = 0.0, $63 = 0.0, $64 = 0.0, $65 = 0.0, $66 = 0.0, $67 = 0.0, $68 = 0.0; + var $69 = 0.0, $7 = 0, $70 = 0.0, $71 = 0.0, $72 = 0.0, $73 = 0.0, $74 = 0.0, $75 = 0.0, $76 = 0.0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0.0, $80 = 0.0, $81 = 0.0, $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0.0, $86 = 0.0; + var $87 = 0.0, $88 = 0.0, $89 = 0.0, $9 = 0.0, $90 = 0.0, $91 = 0.0, $92 = 0.0, $93 = 0.0, $94 = 0.0, $95 = 0.0, $96 = 0.0, $97 = 0.0, $98 = 0.0, $99 = 0.0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $3 = sp; + _MatrixIdentity($3); + $4 = +HEAPF32[$1>>2]; + $5 = ((($1)) + 4|0); + $6 = +HEAPF32[$5>>2]; + $7 = ((($1)) + 8|0); + $8 = +HEAPF32[$7>>2]; + $9 = $4 * $4; + $10 = $6 * $6; + $11 = $9 + $10; + $12 = $8 * $8; + $13 = $11 + $12; + $14 = (+Math_sqrt((+$13))); + $15 = $14 != 1.0; + $16 = $14 != 0.0; + $or$cond = $15 & $16; + $17 = 1.0 / $14; + $18 = $4 * $17; + $19 = $6 * $17; + $20 = $8 * $17; + $$ = $or$cond ? $20 : $8; + $$221 = $or$cond ? $19 : $6; + $$222 = $or$cond ? $18 : $4; + $21 = (+Math_sin((+$2))); + $22 = (+Math_cos((+$2))); + $23 = 1.0 - $22; + $24 = +HEAPF32[$3>>2]; + $25 = ((($3)) + 16|0); + $26 = +HEAPF32[$25>>2]; + $27 = ((($3)) + 32|0); + $28 = +HEAPF32[$27>>2]; + $29 = ((($3)) + 48|0); + $30 = +HEAPF32[$29>>2]; + $31 = ((($3)) + 4|0); + $32 = +HEAPF32[$31>>2]; + $33 = ((($3)) + 20|0); + $34 = +HEAPF32[$33>>2]; + $35 = ((($3)) + 36|0); + $36 = +HEAPF32[$35>>2]; + $37 = ((($3)) + 52|0); + $38 = +HEAPF32[$37>>2]; + $39 = ((($3)) + 8|0); + $40 = +HEAPF32[$39>>2]; + $41 = ((($3)) + 24|0); + $42 = +HEAPF32[$41>>2]; + $43 = ((($3)) + 40|0); + $44 = +HEAPF32[$43>>2]; + $45 = ((($3)) + 56|0); + $46 = +HEAPF32[$45>>2]; + $47 = $$222 * $$222; + $48 = $23 * $47; + $49 = $22 + $48; + $50 = $$221 * $$222; + $51 = $23 * $50; + $52 = $21 * $$; + $53 = $52 + $51; + $54 = $$ * $$222; + $55 = $23 * $54; + $56 = $21 * $$221; + $57 = $55 - $56; + $58 = $51 - $52; + $59 = $$221 * $$221; + $60 = $23 * $59; + $61 = $22 + $60; + $62 = $$ * $$221; + $63 = $23 * $62; + $64 = $21 * $$222; + $65 = $64 + $63; + $66 = $56 + $55; + $67 = $63 - $64; + $68 = $$ * $$; + $69 = $23 * $68; + $70 = $22 + $69; + $71 = $24 * $49; + $72 = $53 * $32; $73 = $71 + $72; - $74 = $52 * $37; + $74 = $57 * $40; $75 = $73 + $74; - $76 = $23 * $44; - $77 = $48 * $31; + $76 = $26 * $49; + $77 = $53 * $34; $78 = $76 + $77; - $79 = $52 * $39; + $79 = $57 * $42; $80 = $78 + $79; - $81 = $44 * $25; - $82 = $48 * $33; + $81 = $28 * $49; + $82 = $53 * $36; $83 = $81 + $82; - $84 = $52 * $41; + $84 = $57 * $44; $85 = $83 + $84; - $86 = $19 * $53; - $87 = $56 * $27; + $86 = $30 * $49; + $87 = $53 * $38; $88 = $86 + $87; - $89 = $60 * $35; + $89 = $57 * $46; $90 = $88 + $89; - $91 = $21 * $53; - $92 = $56 * $29; + $91 = $24 * $58; + $92 = $61 * $32; $93 = $91 + $92; - $94 = $60 * $37; + $94 = $65 * $40; $95 = $93 + $94; - $96 = $23 * $53; - $97 = $56 * $31; + $96 = $26 * $58; + $97 = $61 * $34; $98 = $96 + $97; - $99 = $60 * $39; + $99 = $65 * $42; $100 = $98 + $99; - $101 = $53 * $25; - $102 = $56 * $33; + $101 = $28 * $58; + $102 = $61 * $36; $103 = $101 + $102; - $104 = $60 * $41; + $104 = $65 * $44; $105 = $103 + $104; - $106 = $19 * $61; - $107 = $62 * $27; + $106 = $30 * $58; + $107 = $61 * $38; $108 = $106 + $107; - $109 = $65 * $35; + $109 = $65 * $46; $110 = $108 + $109; - $111 = $21 * $61; - $112 = $62 * $29; + $111 = $24 * $66; + $112 = $67 * $32; $113 = $111 + $112; - $114 = $65 * $37; + $114 = $70 * $40; $115 = $113 + $114; - $116 = $23 * $61; - $117 = $62 * $31; + $116 = $26 * $66; + $117 = $67 * $34; $118 = $116 + $117; - $119 = $65 * $39; + $119 = $70 * $42; $120 = $118 + $119; - $121 = $61 * $25; - $122 = $62 * $33; + $121 = $28 * $66; + $122 = $67 * $36; $123 = $121 + $122; - $124 = $65 * $41; + $124 = $70 * $44; $125 = $123 + $124; - $126 = ((($mat)) + 12|0); - $127 = HEAP32[$126>>2]|0; - $128 = ((($mat)) + 28|0); - $129 = HEAP32[$128>>2]|0; - $130 = ((($mat)) + 44|0); - $131 = HEAP32[$130>>2]|0; - $132 = ((($mat)) + 60|0); - $133 = HEAP32[$132>>2]|0; - HEAPF32[$agg$result>>2] = $70; - $134 = ((($agg$result)) + 4|0); - HEAPF32[$134>>2] = $90; - $135 = ((($agg$result)) + 8|0); - HEAPF32[$135>>2] = $110; - $136 = ((($agg$result)) + 12|0); - HEAP32[$136>>2] = $127; - $137 = ((($agg$result)) + 16|0); - HEAPF32[$137>>2] = $75; - $138 = ((($agg$result)) + 20|0); - HEAPF32[$138>>2] = $95; - $139 = ((($agg$result)) + 24|0); - HEAPF32[$139>>2] = $115; - $140 = ((($agg$result)) + 28|0); - HEAP32[$140>>2] = $129; - $141 = ((($agg$result)) + 32|0); - HEAPF32[$141>>2] = $80; - $142 = ((($agg$result)) + 36|0); - HEAPF32[$142>>2] = $100; - $143 = ((($agg$result)) + 40|0); - HEAPF32[$143>>2] = $120; - $144 = ((($agg$result)) + 44|0); - HEAP32[$144>>2] = $131; - $145 = ((($agg$result)) + 48|0); - HEAPF32[$145>>2] = $85; - $146 = ((($agg$result)) + 52|0); - HEAPF32[$146>>2] = $105; - $147 = ((($agg$result)) + 56|0); - HEAPF32[$147>>2] = $125; - $148 = ((($agg$result)) + 60|0); - HEAP32[$148>>2] = $133; + $126 = $30 * $66; + $127 = $67 * $38; + $128 = $126 + $127; + $129 = $70 * $46; + $130 = $128 + $129; + $131 = ((($3)) + 12|0); + $132 = HEAP32[$131>>2]|0; + $133 = ((($3)) + 28|0); + $134 = HEAP32[$133>>2]|0; + $135 = ((($3)) + 44|0); + $136 = HEAP32[$135>>2]|0; + $137 = ((($3)) + 60|0); + $138 = HEAP32[$137>>2]|0; + HEAPF32[$0>>2] = $75; + $$sroa$4$0$$sroa_idx187 = ((($0)) + 4|0); + HEAPF32[$$sroa$4$0$$sroa_idx187>>2] = $95; + $$sroa$5$0$$sroa_idx189 = ((($0)) + 8|0); + HEAPF32[$$sroa$5$0$$sroa_idx189>>2] = $115; + $$sroa$6$0$$sroa_idx191 = ((($0)) + 12|0); + HEAP32[$$sroa$6$0$$sroa_idx191>>2] = $132; + $$sroa$7$0$$sroa_idx193 = ((($0)) + 16|0); + HEAPF32[$$sroa$7$0$$sroa_idx193>>2] = $80; + $$sroa$8$0$$sroa_idx195 = ((($0)) + 20|0); + HEAPF32[$$sroa$8$0$$sroa_idx195>>2] = $100; + $$sroa$9$0$$sroa_idx197 = ((($0)) + 24|0); + HEAPF32[$$sroa$9$0$$sroa_idx197>>2] = $120; + $$sroa$10$0$$sroa_idx199 = ((($0)) + 28|0); + HEAP32[$$sroa$10$0$$sroa_idx199>>2] = $134; + $$sroa$11$0$$sroa_idx201 = ((($0)) + 32|0); + HEAPF32[$$sroa$11$0$$sroa_idx201>>2] = $85; + $$sroa$12$0$$sroa_idx203 = ((($0)) + 36|0); + HEAPF32[$$sroa$12$0$$sroa_idx203>>2] = $105; + $$sroa$13$0$$sroa_idx205 = ((($0)) + 40|0); + HEAPF32[$$sroa$13$0$$sroa_idx205>>2] = $125; + $$sroa$14$0$$sroa_idx207 = ((($0)) + 44|0); + HEAP32[$$sroa$14$0$$sroa_idx207>>2] = $136; + $$sroa$15$0$$sroa_idx209 = ((($0)) + 48|0); + HEAPF32[$$sroa$15$0$$sroa_idx209>>2] = $90; + $$sroa$16$0$$sroa_idx211 = ((($0)) + 52|0); + HEAPF32[$$sroa$16$0$$sroa_idx211>>2] = $110; + $$sroa$17$0$$sroa_idx213 = ((($0)) + 56|0); + HEAPF32[$$sroa$17$0$$sroa_idx213>>2] = $130; + $$sroa$18$0$$sroa_idx215 = ((($0)) + 60|0); + HEAP32[$$sroa$18$0$$sroa_idx215>>2] = $138; STACKTOP = sp;return; } -function _MatrixScale($agg$result,$x,$y,$z) { - $agg$result = $agg$result|0; - $x = +$x; - $y = +$y; - $z = +$z; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $result$sroa$5 = 0, $result$sroa$6 = 0, $result$sroa$7 = 0, label = 0, sp = 0; +function _MatrixScale($0,$1,$2,$3) { + $0 = $0|0; + $1 = +$1; + $2 = +$2; + $3 = +$3; + var $$sroa$5$0$$sroa_idx = 0, $$sroa$55$0$$sroa_idx6 = 0, $$sroa$6$0$$sroa_idx = 0, $$sroa$611$0$$sroa_idx12 = 0, $$sroa$7$0$$sroa_idx = 0, $$sroa$717$0$$sroa_idx18 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $result$sroa$5 = sp + 32|0; - $result$sroa$6 = sp + 16|0; - $result$sroa$7 = sp; - ;HEAP32[$result$sroa$5>>2]=0|0;HEAP32[$result$sroa$5+4>>2]=0|0;HEAP32[$result$sroa$5+8>>2]=0|0;HEAP32[$result$sroa$5+12>>2]=0|0; - ;HEAP32[$result$sroa$6>>2]=0|0;HEAP32[$result$sroa$6+4>>2]=0|0;HEAP32[$result$sroa$6+8>>2]=0|0;HEAP32[$result$sroa$6+12>>2]=0|0; - ;HEAP32[$result$sroa$7>>2]=0|0;HEAP32[$result$sroa$7+4>>2]=0|0;HEAP32[$result$sroa$7+8>>2]=0|0;HEAP32[$result$sroa$7+12>>2]=0|0; - HEAPF32[$agg$result>>2] = $x; - $0 = ((($agg$result)) + 4|0); - ;HEAP32[$0>>2]=HEAP32[$result$sroa$5>>2]|0;HEAP32[$0+4>>2]=HEAP32[$result$sroa$5+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$result$sroa$5+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$result$sroa$5+12>>2]|0; - $1 = ((($agg$result)) + 20|0); - HEAPF32[$1>>2] = $y; - $2 = ((($agg$result)) + 24|0); - ;HEAP32[$2>>2]=HEAP32[$result$sroa$6>>2]|0;HEAP32[$2+4>>2]=HEAP32[$result$sroa$6+4>>2]|0;HEAP32[$2+8>>2]=HEAP32[$result$sroa$6+8>>2]|0;HEAP32[$2+12>>2]=HEAP32[$result$sroa$6+12>>2]|0; - $3 = ((($agg$result)) + 40|0); - HEAPF32[$3>>2] = $z; - $4 = ((($agg$result)) + 44|0); - ;HEAP32[$4>>2]=HEAP32[$result$sroa$7>>2]|0;HEAP32[$4+4>>2]=HEAP32[$result$sroa$7+4>>2]|0;HEAP32[$4+8>>2]=HEAP32[$result$sroa$7+8>>2]|0;HEAP32[$4+12>>2]=HEAP32[$result$sroa$7+12>>2]|0; - $5 = ((($agg$result)) + 60|0); - HEAPF32[$5>>2] = 1.0; - STACKTOP = sp;return; + HEAPF32[$0>>2] = $1; + $$sroa$5$0$$sroa_idx = ((($0)) + 4|0); + ;HEAP32[$$sroa$5$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+12>>2]=0|0; + $$sroa$55$0$$sroa_idx6 = ((($0)) + 20|0); + HEAPF32[$$sroa$55$0$$sroa_idx6>>2] = $2; + $$sroa$6$0$$sroa_idx = ((($0)) + 24|0); + ;HEAP32[$$sroa$6$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+12>>2]=0|0; + $$sroa$611$0$$sroa_idx12 = ((($0)) + 40|0); + HEAPF32[$$sroa$611$0$$sroa_idx12>>2] = $3; + $$sroa$7$0$$sroa_idx = ((($0)) + 44|0); + ;HEAP32[$$sroa$7$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+12>>2]=0|0; + $$sroa$717$0$$sroa_idx18 = ((($0)) + 60|0); + HEAPF32[$$sroa$717$0$$sroa_idx18>>2] = 1.0; + return; } -function _MatrixMultiply($agg$result,$left,$right) { - $agg$result = $agg$result|0; - $left = $left|0; - $right = $right|0; - var $0 = 0.0, $1 = 0.0, $10 = 0.0, $100 = 0.0, $101 = 0.0, $102 = 0, $103 = 0.0, $104 = 0.0, $105 = 0, $106 = 0.0, $107 = 0.0, $108 = 0.0, $109 = 0, $11 = 0, $110 = 0.0, $111 = 0.0, $112 = 0.0, $113 = 0, $114 = 0.0, $115 = 0.0; - var $116 = 0.0, $117 = 0.0, $118 = 0.0, $119 = 0.0, $12 = 0.0, $120 = 0.0, $121 = 0.0, $122 = 0.0, $123 = 0.0, $124 = 0.0, $125 = 0.0, $126 = 0.0, $127 = 0.0, $128 = 0.0, $129 = 0.0, $13 = 0.0, $130 = 0.0, $131 = 0.0, $132 = 0.0, $133 = 0.0; - var $134 = 0.0, $135 = 0.0, $136 = 0.0, $137 = 0.0, $138 = 0, $139 = 0.0, $14 = 0.0, $140 = 0.0, $141 = 0, $142 = 0.0, $143 = 0.0, $144 = 0.0, $145 = 0, $146 = 0.0, $147 = 0.0, $148 = 0.0, $149 = 0, $15 = 0, $150 = 0.0, $151 = 0.0; - var $152 = 0.0, $153 = 0.0, $154 = 0.0, $155 = 0.0, $156 = 0.0, $157 = 0.0, $158 = 0.0, $159 = 0.0, $16 = 0.0, $160 = 0.0, $161 = 0.0, $162 = 0.0, $163 = 0.0, $164 = 0.0, $165 = 0.0, $166 = 0.0, $167 = 0.0, $168 = 0.0, $169 = 0.0, $17 = 0; - var $170 = 0.0, $171 = 0.0, $172 = 0.0, $173 = 0.0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0.0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; - var $19 = 0.0, $2 = 0.0, $20 = 0.0, $21 = 0, $22 = 0.0, $23 = 0.0, $24 = 0, $25 = 0.0, $26 = 0.0, $27 = 0.0, $28 = 0, $29 = 0.0, $3 = 0, $30 = 0.0, $31 = 0.0, $32 = 0, $33 = 0.0, $34 = 0.0, $35 = 0.0, $36 = 0; - var $37 = 0.0, $38 = 0.0, $39 = 0, $4 = 0.0, $40 = 0.0, $41 = 0.0, $42 = 0.0, $43 = 0, $44 = 0.0, $45 = 0.0, $46 = 0.0, $47 = 0, $48 = 0.0, $49 = 0.0, $5 = 0, $50 = 0.0, $51 = 0, $52 = 0.0, $53 = 0.0, $54 = 0; - var $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0, $59 = 0.0, $6 = 0.0, $60 = 0.0, $61 = 0.0, $62 = 0, $63 = 0.0, $64 = 0.0, $65 = 0.0, $66 = 0, $67 = 0.0, $68 = 0.0, $69 = 0, $7 = 0.0, $70 = 0.0, $71 = 0.0, $72 = 0.0; - var $73 = 0, $74 = 0.0, $75 = 0.0, $76 = 0.0, $77 = 0, $78 = 0.0, $79 = 0.0, $8 = 0.0, $80 = 0.0, $81 = 0.0, $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0.0, $86 = 0.0, $87 = 0.0, $88 = 0.0, $89 = 0.0, $9 = 0, $90 = 0.0; +function _MatrixMultiply($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$sroa$10$0$$sroa_idx14 = 0, $$sroa$11$0$$sroa_idx16 = 0, $$sroa$12$0$$sroa_idx18 = 0, $$sroa$13$0$$sroa_idx20 = 0, $$sroa$14$0$$sroa_idx22 = 0, $$sroa$15$0$$sroa_idx24 = 0, $$sroa$16$0$$sroa_idx26 = 0, $$sroa$17$0$$sroa_idx28 = 0, $$sroa$18$0$$sroa_idx30 = 0, $$sroa$4$0$$sroa_idx2 = 0, $$sroa$5$0$$sroa_idx4 = 0, $$sroa$6$0$$sroa_idx6 = 0, $$sroa$7$0$$sroa_idx8 = 0, $$sroa$8$0$$sroa_idx10 = 0, $$sroa$9$0$$sroa_idx12 = 0, $10 = 0.0, $100 = 0.0, $101 = 0.0, $102 = 0.0, $103 = 0.0; + var $104 = 0.0, $105 = 0, $106 = 0.0, $107 = 0.0, $108 = 0, $109 = 0.0, $11 = 0.0, $110 = 0.0, $111 = 0.0, $112 = 0, $113 = 0.0, $114 = 0.0, $115 = 0.0, $116 = 0, $117 = 0.0, $118 = 0.0, $119 = 0.0, $12 = 0, $120 = 0.0, $121 = 0.0; + var $122 = 0.0, $123 = 0.0, $124 = 0.0, $125 = 0.0, $126 = 0.0, $127 = 0.0, $128 = 0.0, $129 = 0.0, $13 = 0.0, $130 = 0.0, $131 = 0.0, $132 = 0.0, $133 = 0.0, $134 = 0.0, $135 = 0.0, $136 = 0.0, $137 = 0.0, $138 = 0.0, $139 = 0.0, $14 = 0; + var $140 = 0.0, $141 = 0, $142 = 0.0, $143 = 0.0, $144 = 0, $145 = 0.0, $146 = 0.0, $147 = 0.0, $148 = 0, $149 = 0.0, $15 = 0.0, $150 = 0.0, $151 = 0.0, $152 = 0, $153 = 0.0, $154 = 0.0, $155 = 0.0, $156 = 0.0, $157 = 0.0, $158 = 0.0; + var $159 = 0.0, $16 = 0.0, $160 = 0.0, $161 = 0.0, $162 = 0.0, $163 = 0.0, $164 = 0.0, $165 = 0.0, $166 = 0.0, $167 = 0.0, $168 = 0.0, $169 = 0.0, $17 = 0.0, $170 = 0.0, $171 = 0.0, $172 = 0.0, $173 = 0.0, $174 = 0.0, $175 = 0.0, $176 = 0.0; + var $18 = 0, $19 = 0.0, $20 = 0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0, $25 = 0.0, $26 = 0.0, $27 = 0, $28 = 0.0, $29 = 0.0, $3 = 0.0, $30 = 0.0, $31 = 0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0, $36 = 0.0; + var $37 = 0.0, $38 = 0.0, $39 = 0, $4 = 0.0, $40 = 0.0, $41 = 0.0, $42 = 0, $43 = 0.0, $44 = 0.0, $45 = 0.0, $46 = 0, $47 = 0.0, $48 = 0.0, $49 = 0.0, $5 = 0.0, $50 = 0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0; + var $55 = 0.0, $56 = 0.0, $57 = 0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0.0, $61 = 0, $62 = 0.0, $63 = 0.0, $64 = 0.0, $65 = 0, $66 = 0.0, $67 = 0.0, $68 = 0.0, $69 = 0, $7 = 0.0, $70 = 0.0, $71 = 0.0, $72 = 0; + var $73 = 0.0, $74 = 0.0, $75 = 0.0, $76 = 0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0, $80 = 0, $81 = 0.0, $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0.0, $86 = 0.0, $87 = 0.0, $88 = 0.0, $89 = 0.0, $9 = 0.0, $90 = 0.0; var $91 = 0.0, $92 = 0.0, $93 = 0.0, $94 = 0.0, $95 = 0.0, $96 = 0.0, $97 = 0.0, $98 = 0.0, $99 = 0.0, label = 0, sp = 0; sp = STACKTOP; - $0 = +HEAPF32[$right>>2]; - $1 = +HEAPF32[$left>>2]; - $2 = $0 * $1; - $3 = ((($right)) + 16|0); - $4 = +HEAPF32[$3>>2]; - $5 = ((($left)) + 4|0); - $6 = +HEAPF32[$5>>2]; - $7 = $4 * $6; - $8 = $2 + $7; - $9 = ((($right)) + 32|0); - $10 = +HEAPF32[$9>>2]; - $11 = ((($left)) + 8|0); - $12 = +HEAPF32[$11>>2]; - $13 = $10 * $12; - $14 = $8 + $13; - $15 = ((($right)) + 48|0); - $16 = +HEAPF32[$15>>2]; - $17 = ((($left)) + 12|0); - $18 = +HEAPF32[$17>>2]; - $19 = $16 * $18; - $20 = $14 + $19; - $21 = ((($left)) + 16|0); - $22 = +HEAPF32[$21>>2]; - $23 = $0 * $22; - $24 = ((($left)) + 20|0); + $3 = +HEAPF32[$2>>2]; + $4 = +HEAPF32[$1>>2]; + $5 = $3 * $4; + $6 = ((($2)) + 16|0); + $7 = +HEAPF32[$6>>2]; + $8 = ((($1)) + 4|0); + $9 = +HEAPF32[$8>>2]; + $10 = $7 * $9; + $11 = $5 + $10; + $12 = ((($2)) + 32|0); + $13 = +HEAPF32[$12>>2]; + $14 = ((($1)) + 8|0); + $15 = +HEAPF32[$14>>2]; + $16 = $13 * $15; + $17 = $11 + $16; + $18 = ((($2)) + 48|0); + $19 = +HEAPF32[$18>>2]; + $20 = ((($1)) + 12|0); + $21 = +HEAPF32[$20>>2]; + $22 = $19 * $21; + $23 = $17 + $22; + $24 = ((($1)) + 16|0); $25 = +HEAPF32[$24>>2]; - $26 = $4 * $25; - $27 = $23 + $26; - $28 = ((($left)) + 24|0); - $29 = +HEAPF32[$28>>2]; - $30 = $10 * $29; - $31 = $27 + $30; - $32 = ((($left)) + 28|0); - $33 = +HEAPF32[$32>>2]; - $34 = $16 * $33; - $35 = $31 + $34; - $36 = ((($left)) + 32|0); - $37 = +HEAPF32[$36>>2]; - $38 = $0 * $37; - $39 = ((($left)) + 36|0); + $26 = $3 * $25; + $27 = ((($1)) + 20|0); + $28 = +HEAPF32[$27>>2]; + $29 = $7 * $28; + $30 = $26 + $29; + $31 = ((($1)) + 24|0); + $32 = +HEAPF32[$31>>2]; + $33 = $13 * $32; + $34 = $30 + $33; + $35 = ((($1)) + 28|0); + $36 = +HEAPF32[$35>>2]; + $37 = $19 * $36; + $38 = $34 + $37; + $39 = ((($1)) + 32|0); $40 = +HEAPF32[$39>>2]; - $41 = $4 * $40; - $42 = $38 + $41; - $43 = ((($left)) + 40|0); - $44 = +HEAPF32[$43>>2]; - $45 = $10 * $44; - $46 = $42 + $45; - $47 = ((($left)) + 44|0); - $48 = +HEAPF32[$47>>2]; - $49 = $16 * $48; - $50 = $46 + $49; - $51 = ((($left)) + 48|0); - $52 = +HEAPF32[$51>>2]; - $53 = $0 * $52; - $54 = ((($left)) + 52|0); + $41 = $3 * $40; + $42 = ((($1)) + 36|0); + $43 = +HEAPF32[$42>>2]; + $44 = $7 * $43; + $45 = $41 + $44; + $46 = ((($1)) + 40|0); + $47 = +HEAPF32[$46>>2]; + $48 = $13 * $47; + $49 = $45 + $48; + $50 = ((($1)) + 44|0); + $51 = +HEAPF32[$50>>2]; + $52 = $19 * $51; + $53 = $49 + $52; + $54 = ((($1)) + 48|0); $55 = +HEAPF32[$54>>2]; - $56 = $4 * $55; - $57 = $53 + $56; - $58 = ((($left)) + 56|0); - $59 = +HEAPF32[$58>>2]; - $60 = $10 * $59; - $61 = $57 + $60; - $62 = ((($left)) + 60|0); - $63 = +HEAPF32[$62>>2]; - $64 = $16 * $63; - $65 = $61 + $64; - $66 = ((($right)) + 4|0); - $67 = +HEAPF32[$66>>2]; - $68 = $1 * $67; - $69 = ((($right)) + 20|0); + $56 = $3 * $55; + $57 = ((($1)) + 52|0); + $58 = +HEAPF32[$57>>2]; + $59 = $7 * $58; + $60 = $56 + $59; + $61 = ((($1)) + 56|0); + $62 = +HEAPF32[$61>>2]; + $63 = $13 * $62; + $64 = $60 + $63; + $65 = ((($1)) + 60|0); + $66 = +HEAPF32[$65>>2]; + $67 = $19 * $66; + $68 = $64 + $67; + $69 = ((($2)) + 4|0); $70 = +HEAPF32[$69>>2]; - $71 = $6 * $70; - $72 = $68 + $71; - $73 = ((($right)) + 36|0); - $74 = +HEAPF32[$73>>2]; - $75 = $12 * $74; - $76 = $72 + $75; - $77 = ((($right)) + 52|0); - $78 = +HEAPF32[$77>>2]; - $79 = $18 * $78; - $80 = $76 + $79; - $81 = $22 * $67; - $82 = $25 * $70; - $83 = $81 + $82; - $84 = $29 * $74; - $85 = $83 + $84; - $86 = $33 * $78; - $87 = $85 + $86; - $88 = $37 * $67; - $89 = $40 * $70; + $71 = $4 * $70; + $72 = ((($2)) + 20|0); + $73 = +HEAPF32[$72>>2]; + $74 = $9 * $73; + $75 = $71 + $74; + $76 = ((($2)) + 36|0); + $77 = +HEAPF32[$76>>2]; + $78 = $15 * $77; + $79 = $75 + $78; + $80 = ((($2)) + 52|0); + $81 = +HEAPF32[$80>>2]; + $82 = $21 * $81; + $83 = $79 + $82; + $84 = $25 * $70; + $85 = $28 * $73; + $86 = $84 + $85; + $87 = $32 * $77; + $88 = $86 + $87; + $89 = $36 * $81; $90 = $88 + $89; - $91 = $44 * $74; - $92 = $90 + $91; - $93 = $48 * $78; - $94 = $92 + $93; - $95 = $52 * $67; - $96 = $55 * $70; + $91 = $40 * $70; + $92 = $43 * $73; + $93 = $91 + $92; + $94 = $47 * $77; + $95 = $93 + $94; + $96 = $51 * $81; $97 = $95 + $96; - $98 = $59 * $74; - $99 = $97 + $98; - $100 = $63 * $78; - $101 = $99 + $100; - $102 = ((($right)) + 8|0); - $103 = +HEAPF32[$102>>2]; - $104 = $1 * $103; - $105 = ((($right)) + 24|0); + $98 = $55 * $70; + $99 = $58 * $73; + $100 = $98 + $99; + $101 = $62 * $77; + $102 = $100 + $101; + $103 = $66 * $81; + $104 = $102 + $103; + $105 = ((($2)) + 8|0); $106 = +HEAPF32[$105>>2]; - $107 = $6 * $106; - $108 = $104 + $107; - $109 = ((($right)) + 40|0); - $110 = +HEAPF32[$109>>2]; - $111 = $12 * $110; - $112 = $108 + $111; - $113 = ((($right)) + 56|0); - $114 = +HEAPF32[$113>>2]; - $115 = $18 * $114; - $116 = $112 + $115; - $117 = $22 * $103; - $118 = $25 * $106; - $119 = $117 + $118; - $120 = $29 * $110; - $121 = $119 + $120; - $122 = $33 * $114; - $123 = $121 + $122; - $124 = $37 * $103; - $125 = $40 * $106; + $107 = $4 * $106; + $108 = ((($2)) + 24|0); + $109 = +HEAPF32[$108>>2]; + $110 = $9 * $109; + $111 = $107 + $110; + $112 = ((($2)) + 40|0); + $113 = +HEAPF32[$112>>2]; + $114 = $15 * $113; + $115 = $111 + $114; + $116 = ((($2)) + 56|0); + $117 = +HEAPF32[$116>>2]; + $118 = $21 * $117; + $119 = $115 + $118; + $120 = $25 * $106; + $121 = $28 * $109; + $122 = $120 + $121; + $123 = $32 * $113; + $124 = $122 + $123; + $125 = $36 * $117; $126 = $124 + $125; - $127 = $44 * $110; - $128 = $126 + $127; - $129 = $48 * $114; - $130 = $128 + $129; - $131 = $52 * $103; - $132 = $55 * $106; + $127 = $40 * $106; + $128 = $43 * $109; + $129 = $127 + $128; + $130 = $47 * $113; + $131 = $129 + $130; + $132 = $51 * $117; $133 = $131 + $132; - $134 = $59 * $110; - $135 = $133 + $134; - $136 = $63 * $114; - $137 = $135 + $136; - $138 = ((($right)) + 12|0); - $139 = +HEAPF32[$138>>2]; - $140 = $1 * $139; - $141 = ((($right)) + 28|0); + $134 = $55 * $106; + $135 = $58 * $109; + $136 = $134 + $135; + $137 = $62 * $113; + $138 = $136 + $137; + $139 = $66 * $117; + $140 = $138 + $139; + $141 = ((($2)) + 12|0); $142 = +HEAPF32[$141>>2]; - $143 = $6 * $142; - $144 = $140 + $143; - $145 = ((($right)) + 44|0); - $146 = +HEAPF32[$145>>2]; - $147 = $12 * $146; - $148 = $144 + $147; - $149 = ((($right)) + 60|0); - $150 = +HEAPF32[$149>>2]; - $151 = $18 * $150; - $152 = $148 + $151; - $153 = $22 * $139; - $154 = $25 * $142; - $155 = $153 + $154; - $156 = $29 * $146; - $157 = $155 + $156; - $158 = $33 * $150; - $159 = $157 + $158; - $160 = $37 * $139; - $161 = $40 * $142; + $143 = $4 * $142; + $144 = ((($2)) + 28|0); + $145 = +HEAPF32[$144>>2]; + $146 = $9 * $145; + $147 = $143 + $146; + $148 = ((($2)) + 44|0); + $149 = +HEAPF32[$148>>2]; + $150 = $15 * $149; + $151 = $147 + $150; + $152 = ((($2)) + 60|0); + $153 = +HEAPF32[$152>>2]; + $154 = $21 * $153; + $155 = $151 + $154; + $156 = $25 * $142; + $157 = $28 * $145; + $158 = $156 + $157; + $159 = $32 * $149; + $160 = $158 + $159; + $161 = $36 * $153; $162 = $160 + $161; - $163 = $44 * $146; - $164 = $162 + $163; - $165 = $48 * $150; - $166 = $164 + $165; - $167 = $52 * $139; - $168 = $55 * $142; + $163 = $40 * $142; + $164 = $43 * $145; + $165 = $163 + $164; + $166 = $47 * $149; + $167 = $165 + $166; + $168 = $51 * $153; $169 = $167 + $168; - $170 = $59 * $146; - $171 = $169 + $170; - $172 = $63 * $150; - $173 = $171 + $172; - HEAPF32[$agg$result>>2] = $20; - $174 = ((($agg$result)) + 4|0); - HEAPF32[$174>>2] = $80; - $175 = ((($agg$result)) + 8|0); - HEAPF32[$175>>2] = $116; - $176 = ((($agg$result)) + 12|0); - HEAPF32[$176>>2] = $152; - $177 = ((($agg$result)) + 16|0); - HEAPF32[$177>>2] = $35; - $178 = ((($agg$result)) + 20|0); - HEAPF32[$178>>2] = $87; - $179 = ((($agg$result)) + 24|0); - HEAPF32[$179>>2] = $123; - $180 = ((($agg$result)) + 28|0); - HEAPF32[$180>>2] = $159; - $181 = ((($agg$result)) + 32|0); - HEAPF32[$181>>2] = $50; - $182 = ((($agg$result)) + 36|0); - HEAPF32[$182>>2] = $94; - $183 = ((($agg$result)) + 40|0); - HEAPF32[$183>>2] = $130; - $184 = ((($agg$result)) + 44|0); - HEAPF32[$184>>2] = $166; - $185 = ((($agg$result)) + 48|0); - HEAPF32[$185>>2] = $65; - $186 = ((($agg$result)) + 52|0); - HEAPF32[$186>>2] = $101; - $187 = ((($agg$result)) + 56|0); - HEAPF32[$187>>2] = $137; - $188 = ((($agg$result)) + 60|0); - HEAPF32[$188>>2] = $173; + $170 = $55 * $142; + $171 = $58 * $145; + $172 = $170 + $171; + $173 = $62 * $149; + $174 = $172 + $173; + $175 = $66 * $153; + $176 = $174 + $175; + HEAPF32[$0>>2] = $23; + $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); + HEAPF32[$$sroa$4$0$$sroa_idx2>>2] = $83; + $$sroa$5$0$$sroa_idx4 = ((($0)) + 8|0); + HEAPF32[$$sroa$5$0$$sroa_idx4>>2] = $119; + $$sroa$6$0$$sroa_idx6 = ((($0)) + 12|0); + HEAPF32[$$sroa$6$0$$sroa_idx6>>2] = $155; + $$sroa$7$0$$sroa_idx8 = ((($0)) + 16|0); + HEAPF32[$$sroa$7$0$$sroa_idx8>>2] = $38; + $$sroa$8$0$$sroa_idx10 = ((($0)) + 20|0); + HEAPF32[$$sroa$8$0$$sroa_idx10>>2] = $90; + $$sroa$9$0$$sroa_idx12 = ((($0)) + 24|0); + HEAPF32[$$sroa$9$0$$sroa_idx12>>2] = $126; + $$sroa$10$0$$sroa_idx14 = ((($0)) + 28|0); + HEAPF32[$$sroa$10$0$$sroa_idx14>>2] = $162; + $$sroa$11$0$$sroa_idx16 = ((($0)) + 32|0); + HEAPF32[$$sroa$11$0$$sroa_idx16>>2] = $53; + $$sroa$12$0$$sroa_idx18 = ((($0)) + 36|0); + HEAPF32[$$sroa$12$0$$sroa_idx18>>2] = $97; + $$sroa$13$0$$sroa_idx20 = ((($0)) + 40|0); + HEAPF32[$$sroa$13$0$$sroa_idx20>>2] = $133; + $$sroa$14$0$$sroa_idx22 = ((($0)) + 44|0); + HEAPF32[$$sroa$14$0$$sroa_idx22>>2] = $169; + $$sroa$15$0$$sroa_idx24 = ((($0)) + 48|0); + HEAPF32[$$sroa$15$0$$sroa_idx24>>2] = $68; + $$sroa$16$0$$sroa_idx26 = ((($0)) + 52|0); + HEAPF32[$$sroa$16$0$$sroa_idx26>>2] = $104; + $$sroa$17$0$$sroa_idx28 = ((($0)) + 56|0); + HEAPF32[$$sroa$17$0$$sroa_idx28>>2] = $140; + $$sroa$18$0$$sroa_idx30 = ((($0)) + 60|0); + HEAPF32[$$sroa$18$0$$sroa_idx30>>2] = $176; return; } -function _MatrixOrtho($agg$result,$left,$right,$bottom,$top,$near,$far) { - $agg$result = $agg$result|0; - $left = +$left; - $right = +$right; - $bottom = +$bottom; - $top = +$top; - $near = +$near; - $far = +$far; - var $0 = 0.0, $1 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $2 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0.0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0; +function _MatrixOrtho($0,$1,$2,$3,$4,$5,$6) { + $0 = $0|0; + $1 = +$1; + $2 = +$2; + $3 = +$3; + $4 = +$4; + $5 = +$5; + $6 = +$6; + var $$sroa$10$0$$sroa_idx24 = 0, $$sroa$11$0$$sroa_idx26 = 0, $$sroa$12$0$$sroa_idx28 = 0, $$sroa$13$0$$sroa_idx30 = 0, $$sroa$14$0$$sroa_idx32 = 0, $$sroa$15$0$$sroa_idx34 = 0, $$sroa$16$0$$sroa_idx36 = 0, $$sroa$17$0$$sroa_idx38 = 0, $$sroa$18$0$$sroa_idx40 = 0, $$sroa$4$0$$sroa_idx12 = 0, $$sroa$5$0$$sroa_idx14 = 0, $$sroa$6$0$$sroa_idx16 = 0, $$sroa$7$0$$sroa_idx18 = 0, $$sroa$8$0$$sroa_idx20 = 0, $$sroa$9$0$$sroa_idx22 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0; + var $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0.0, $28 = 0.0, $29 = 0.0, $30 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0; var sp = 0; sp = STACKTOP; - $0 = $right - $left; - $1 = $0; - $2 = $top - $bottom; - $3 = $2; - $4 = $far - $near; - $5 = $4; - $6 = 2.0 / $1; - $7 = 2.0 / $3; - $8 = -2.0 / $5; - $9 = $left + $right; - $10 = -$9; - $11 = $1; - $12 = $10 / $11; - $13 = $12; - $14 = $bottom + $top; - $15 = -$14; - $16 = $3; - $17 = $15 / $16; - $18 = $17; - $19 = $near + $far; - $20 = -$19; - $21 = $5; - $22 = $20 / $21; - $23 = $22; - HEAPF32[$agg$result>>2] = $6; - $24 = ((($agg$result)) + 4|0); - HEAPF32[$24>>2] = 0.0; - $25 = ((($agg$result)) + 8|0); - HEAPF32[$25>>2] = 0.0; - $26 = ((($agg$result)) + 12|0); - HEAPF32[$26>>2] = $13; - $27 = ((($agg$result)) + 16|0); - HEAPF32[$27>>2] = 0.0; - $28 = ((($agg$result)) + 20|0); - HEAPF32[$28>>2] = $7; - $29 = ((($agg$result)) + 24|0); - HEAPF32[$29>>2] = 0.0; - $30 = ((($agg$result)) + 28|0); - HEAPF32[$30>>2] = $18; - $31 = ((($agg$result)) + 32|0); - HEAPF32[$31>>2] = 0.0; - $32 = ((($agg$result)) + 36|0); - HEAPF32[$32>>2] = 0.0; - $33 = ((($agg$result)) + 40|0); - HEAPF32[$33>>2] = $8; - $34 = ((($agg$result)) + 44|0); - HEAPF32[$34>>2] = $23; - $35 = ((($agg$result)) + 48|0); - HEAPF32[$35>>2] = 0.0; - $36 = ((($agg$result)) + 52|0); - HEAPF32[$36>>2] = 0.0; - $37 = ((($agg$result)) + 56|0); - HEAPF32[$37>>2] = 0.0; - $38 = ((($agg$result)) + 60|0); - HEAPF32[$38>>2] = 1.0; + $7 = $2 - $1; + $8 = $7; + $9 = $4 - $3; + $10 = $9; + $11 = $6 - $5; + $12 = $11; + $13 = 2.0 / $8; + $14 = 2.0 / $10; + $15 = -2.0 / $12; + $16 = $1 + $2; + $17 = -$16; + $18 = $8; + $19 = $17 / $18; + $20 = $19; + $21 = $3 + $4; + $22 = -$21; + $23 = $10; + $24 = $22 / $23; + $25 = $24; + $26 = $5 + $6; + $27 = -$26; + $28 = $12; + $29 = $27 / $28; + $30 = $29; + HEAPF32[$0>>2] = $13; + $$sroa$4$0$$sroa_idx12 = ((($0)) + 4|0); + HEAPF32[$$sroa$4$0$$sroa_idx12>>2] = 0.0; + $$sroa$5$0$$sroa_idx14 = ((($0)) + 8|0); + HEAPF32[$$sroa$5$0$$sroa_idx14>>2] = 0.0; + $$sroa$6$0$$sroa_idx16 = ((($0)) + 12|0); + HEAPF32[$$sroa$6$0$$sroa_idx16>>2] = $20; + $$sroa$7$0$$sroa_idx18 = ((($0)) + 16|0); + HEAPF32[$$sroa$7$0$$sroa_idx18>>2] = 0.0; + $$sroa$8$0$$sroa_idx20 = ((($0)) + 20|0); + HEAPF32[$$sroa$8$0$$sroa_idx20>>2] = $14; + $$sroa$9$0$$sroa_idx22 = ((($0)) + 24|0); + HEAPF32[$$sroa$9$0$$sroa_idx22>>2] = 0.0; + $$sroa$10$0$$sroa_idx24 = ((($0)) + 28|0); + HEAPF32[$$sroa$10$0$$sroa_idx24>>2] = $25; + $$sroa$11$0$$sroa_idx26 = ((($0)) + 32|0); + HEAPF32[$$sroa$11$0$$sroa_idx26>>2] = 0.0; + $$sroa$12$0$$sroa_idx28 = ((($0)) + 36|0); + HEAPF32[$$sroa$12$0$$sroa_idx28>>2] = 0.0; + $$sroa$13$0$$sroa_idx30 = ((($0)) + 40|0); + HEAPF32[$$sroa$13$0$$sroa_idx30>>2] = $15; + $$sroa$14$0$$sroa_idx32 = ((($0)) + 44|0); + HEAPF32[$$sroa$14$0$$sroa_idx32>>2] = $30; + $$sroa$15$0$$sroa_idx34 = ((($0)) + 48|0); + HEAPF32[$$sroa$15$0$$sroa_idx34>>2] = 0.0; + $$sroa$16$0$$sroa_idx36 = ((($0)) + 52|0); + HEAPF32[$$sroa$16$0$$sroa_idx36>>2] = 0.0; + $$sroa$17$0$$sroa_idx38 = ((($0)) + 56|0); + HEAPF32[$$sroa$17$0$$sroa_idx38>>2] = 0.0; + $$sroa$18$0$$sroa_idx40 = ((($0)) + 60|0); + HEAPF32[$$sroa$18$0$$sroa_idx40>>2] = 1.0; return; } -function _InitWindow($width,$height,$title) { - $width = $width|0; - $height = $height|0; - $title = $title|0; - var $0 = 0, $1 = 0.0, $2 = 0.0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0, $vararg_buffer = 0, label = 0, sp = 0; +function _ProcessGestureEvent($0) { + $0 = $0|0; + var $$$sink = 0, $$sink = 0, $$sink10 = 0, $$sink11 = 0, $$sink16 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0.0, $111 = 0.0; + var $112 = 0.0, $113 = 0.0, $114 = 0.0, $115 = 0.0, $116 = 0.0, $117 = 0, $118 = 0, $119 = 0, $12 = 0.0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0; + var $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0; + var $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0.0, $16 = 0, $160 = 0.0, $161 = 0.0, $162 = 0.0, $163 = 0.0, $164 = 0.0, $165 = 0.0, $166 = 0; + var $167 = 0.0, $168 = 0, $169 = 0.0, $17 = 0, $170 = 0.0, $171 = 0.0, $172 = 0, $173 = 0.0, $174 = 0.0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; + var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; + var $46 = 0, $47 = 0, $48 = 0.0, $49 = 0.0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0.0, $56 = 0.0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0; + var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0.0, $81 = 0; + var $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0.0, $86 = 0.0, $87 = 0.0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $moveDownPosition$byval_copy11 = 0; + var $moveDownPosition2$byval_copy12 = 0, $or$cond = 0, $or$cond3 = 0, $or$cond5 = 0, $or$cond7 = 0, $or$cond9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $moveDownPosition2$byval_copy12 = sp + 8|0; + $moveDownPosition$byval_copy11 = sp; + $1 = ((($0)) + 4|0); + $2 = HEAP32[$1>>2]|0; + HEAP32[6205] = $2; + $3 = ($2|0)<(2); + $4 = HEAP32[$0>>2]|0; + $5 = ($4|0)==(1); + if (!($3)) { + if ($5) { + $88 = ((($0)) + 24|0); + $89 = $88; + $90 = $89; + $91 = HEAP32[$90>>2]|0; + $92 = (($89) + 4)|0; + $93 = $92; + $94 = HEAP32[$93>>2]|0; + $95 = 23912; + $96 = $95; + HEAP32[$96>>2] = $91; + $97 = (($95) + 4)|0; + $98 = $97; + HEAP32[$98>>2] = $94; + $99 = ((($0)) + 32|0); + $100 = $99; + $101 = $100; + $102 = HEAP32[$101>>2]|0; + $103 = (($100) + 4)|0; + $104 = $103; + $105 = HEAP32[$104>>2]|0; + $106 = 23952; + $107 = $106; + HEAP32[$107>>2] = $102; + $108 = (($106) + 4)|0; + $109 = $108; + HEAP32[$109>>2] = $105; + $110 = +HEAPF32[5988]; + $111 = +HEAPF32[5978]; + $112 = $110 - $111; + HEAPF32[5990] = $112; + $113 = +HEAPF32[(23956)>>2]; + $114 = +HEAPF32[(23916)>>2]; + $115 = $113 - $114; + HEAPF32[(23964)>>2] = $115; + HEAP32[6204] = 4; + STACKTOP = sp;return; + } + switch ($4|0) { + case 2: { + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[23944>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[23944+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[23968>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[23968+4>>2]|0; + $116 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + HEAPF32[6210] = $116; + $117 = 23944; + $118 = $117; + $119 = HEAP32[$118>>2]|0; + $120 = (($117) + 4)|0; + $121 = $120; + $122 = HEAP32[$121>>2]|0; + $123 = 23912; + $124 = $123; + HEAP32[$124>>2] = $119; + $125 = (($123) + 4)|0; + $126 = $125; + HEAP32[$126>>2] = $122; + $127 = 23968; + $128 = $127; + $129 = HEAP32[$128>>2]|0; + $130 = (($127) + 4)|0; + $131 = $130; + $132 = HEAP32[$131>>2]|0; + $133 = 23952; + $134 = $133; + HEAP32[$134>>2] = $129; + $135 = (($133) + 4)|0; + $136 = $135; + HEAP32[$136>>2] = $132; + $137 = ((($0)) + 24|0); + $138 = $137; + $139 = $138; + $140 = HEAP32[$139>>2]|0; + $141 = (($138) + 4)|0; + $142 = $141; + $143 = HEAP32[$142>>2]|0; + $144 = 23944; + $145 = $144; + HEAP32[$145>>2] = $140; + $146 = (($144) + 4)|0; + $147 = $146; + HEAP32[$147>>2] = $143; + $148 = ((($0)) + 32|0); + $149 = $148; + $150 = $149; + $151 = HEAP32[$150>>2]|0; + $152 = (($149) + 4)|0; + $153 = $152; + $154 = HEAP32[$153>>2]|0; + $155 = 23968; + $156 = $155; + HEAP32[$156>>2] = $151; + $157 = (($155) + 4)|0; + $158 = $157; + HEAP32[$158>>2] = $154; + $159 = +HEAPF32[5992]; + $160 = +HEAPF32[5986]; + $161 = $159 - $160; + HEAPF32[5990] = $161; + $162 = +HEAPF32[(23972)>>2]; + $163 = +HEAPF32[(23948)>>2]; + $164 = $162 - $163; + HEAPF32[(23964)>>2] = $164; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[23912>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[23912+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[23944>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[23944+4>>2]|0; + $165 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $166 = !($165 >= 0.004999999888241291); + if ($166) { + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[23952>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[23952+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[23968>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[23968+4>>2]|0; + $167 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $168 = !($167 >= 0.004999999888241291); + if ($168) { + $$sink16 = 4; + } else { + label = 29; + } + } else { + label = 29; + } + if ((label|0) == 29) { + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[23944>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[23944+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[23968>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[23968+4>>2]|0; + $169 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $170 = +HEAPF32[6210]; + $171 = $169 - $170; + $172 = $171 < 0.0; + $$sink11 = $172 ? 256 : 512; + $$sink16 = $$sink11; + } + HEAP32[6204] = $$sink16; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[23944>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[23944+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[23968>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[23968+4>>2]|0; + $173 = (+_Vector2Angle($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $174 = 360.0 - $173; + HEAPF32[6211] = $174; + STACKTOP = sp;return; + break; + } + case 0: { + HEAPF32[6210] = 0.0; + HEAPF32[6211] = 0.0; + HEAPF32[5990] = 0.0; + HEAPF32[(23964)>>2] = 0.0; + HEAP32[6205] = 0; + HEAP32[6204] = 0; + STACKTOP = sp;return; + break; + } + default: { + STACKTOP = sp;return; + } + } + } + if ($5) { + $6 = HEAP32[6206]|0; + $7 = (($6) + 1)|0; + HEAP32[6206] = $7; + $8 = HEAP32[6204]|0; + $9 = ($8|0)==(0); + $10 = ($6|0)>(0); + $or$cond = $10 & $9; + if ($or$cond) { + $11 = ((($0)) + 24|0); + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[23912>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[23912+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[$11>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[$11+4>>2]|0; + $12 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $13 = $12 < 0.029999999329447746; + if ($13) { + HEAP32[6204] = 2; + HEAP32[6206] = 0; + } else { + label = 6; + } + } else { + label = 6; + } + if ((label|0) == 6) { + HEAP32[6206] = 1; + HEAP32[6204] = 1; + } + $14 = ((($0)) + 24|0); + $15 = $14; + $16 = $15; + $17 = HEAP32[$16>>2]|0; + $18 = (($15) + 4)|0; + $19 = $18; + $20 = HEAP32[$19>>2]|0; + $21 = 23912; + $22 = $21; + HEAP32[$22>>2] = $17; + $23 = (($21) + 4)|0; + $24 = $23; + HEAP32[$24>>2] = $20; + $25 = 23920; + $26 = $25; + HEAP32[$26>>2] = $17; + $27 = (($25) + 4)|0; + $28 = $27; + HEAP32[$28>>2] = $20; + $29 = 23928; + $30 = $29; + HEAP32[$30>>2] = $17; + $31 = (($29) + 4)|0; + $32 = $31; + HEAP32[$32>>2] = $20; + $33 = ((($0)) + 8|0); + $34 = HEAP32[$33>>2]|0; + HEAP32[4] = $34; + HEAPF32[5984] = 0.0; + HEAPF32[(23940)>>2] = 0.0; + STACKTOP = sp;return; + } + switch ($4|0) { + case 0: { + $35 = HEAP32[6204]|0; + $36 = ($35|0)==(8); + if ($36) { + $37 = ((($0)) + 24|0); + $38 = $37; + $39 = $38; + $40 = HEAP32[$39>>2]|0; + $41 = (($38) + 4)|0; + $42 = $41; + $43 = HEAP32[$42>>2]|0; + $44 = 23928; + $45 = $44; + HEAP32[$45>>2] = $40; + $46 = (($44) + 4)|0; + $47 = $46; + HEAP32[$47>>2] = $43; + } + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[23912>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[23912+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[23928>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[23928+4>>2]|0; + $48 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $49 = $48 / 0.0; + HEAPF32[6207] = $49; + HEAP32[6208] = 0; + $50 = $49 > 5.0000002374872565E-4; + if ($50) { + $51 = HEAP32[4]|0; + $52 = ((($0)) + 8|0); + $53 = HEAP32[$52>>2]|0; + $54 = ($51|0)==($53|0); + if ($54) { + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[23912>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[23912+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[23928>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[23928+4>>2]|0; + $55 = (+_Vector2Angle($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $56 = 360.0 - $55; + HEAPF32[6209] = $56; + $57 = $56 < 30.0; + $58 = $56 > 330.0; + $or$cond3 = $57 | $58; + if ($or$cond3) { + $$sink10 = 16; + } else { + $59 = $56 > 30.0; + $60 = $56 < 120.0; + $or$cond5 = $59 & $60; + if ($or$cond5) { + $$sink10 = 64; + } else { + $61 = $56 > 120.0; + $62 = $56 < 210.0; + $or$cond7 = $61 & $62; + $63 = $56 > 210.0; + $64 = $56 < 300.0; + $or$cond9 = $63 & $64; + $$sink = $or$cond9 ? 128 : 0; + $$$sink = $or$cond7 ? 32 : $$sink; + $$sink10 = $$$sink; + } + } + } else { + label = 16; + } + } else { + label = 16; + } + if ((label|0) == 16) { + HEAPF32[6207] = 0.0; + HEAPF32[6209] = 0.0; + $$sink10 = 0; + } + HEAP32[6204] = $$sink10; + HEAPF32[5980] = 0.0; + HEAPF32[(23924)>>2] = 0.0; + HEAP32[6205] = 0; + STACKTOP = sp;return; + break; + } + case 2: { + $65 = HEAP32[6208]|0; + $66 = ($65|0)==(0); + if ($66) { + HEAP32[6208] = 1; + } + $67 = ((($0)) + 24|0); + $68 = $67; + $69 = $68; + $70 = HEAP32[$69>>2]|0; + $71 = (($68) + 4)|0; + $72 = $71; + $73 = HEAP32[$72>>2]|0; + $74 = 23944; + $75 = $74; + HEAP32[$75>>2] = $70; + $76 = (($74) + 4)|0; + $77 = $76; + HEAP32[$77>>2] = $73; + $78 = HEAP32[6204]|0; + $79 = ($78|0)==(4); + if ($79) { + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[23912>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[23912+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[23944>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[23944+4>>2]|0; + $80 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $81 = !($80 >= 0.014999999664723873); + if (!($81)) { + HEAP32[6204] = 8; + } + } + $82 = +HEAPF32[5986]; + $83 = +HEAPF32[5980]; + $84 = $82 - $83; + HEAPF32[5984] = $84; + $85 = +HEAPF32[(23948)>>2]; + $86 = +HEAPF32[(23924)>>2]; + $87 = $85 - $86; + HEAPF32[(23940)>>2] = $87; + STACKTOP = sp;return; + break; + } + default: { + STACKTOP = sp;return; + } + } +} +function _UpdateGestures() { + var $$off = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $or$cond3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[6204]|0; + $$off = (($0) + -1)|0; + $1 = ($$off>>>0)<(2); + $2 = HEAP32[6205]|0; + $3 = ($2|0)<(2); + $or$cond3 = $1 & $3; + if ($or$cond3) { + HEAP32[6204] = 4; + } + $4 = HEAP32[6204]|0; + $5 = (($4) + -16)|0; + $6 = $5 >>> 4; + $7 = $5 << 28; + $8 = $6 | $7; + switch ($8|0) { + case 0: case 1: case 3: case 7: { + break; + } + default: { + return; + } + } + HEAP32[6204] = 0; + return; +} +function _GetMousePosition($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = 23976; + $2 = $1; + $3 = HEAP32[$2>>2]|0; + $4 = (($1) + 4)|0; + $5 = $4; + $6 = HEAP32[$5>>2]|0; + $7 = $0; + $8 = $7; + HEAP32[$8>>2] = $3; + $9 = (($7) + 4)|0; + $10 = $9; + HEAP32[$10>>2] = $6; + return; +} +function _GetScreenWidth() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[6214]|0; + return ($0|0); +} +function _GetScreenHeight() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[6213]|0; + return ($0|0); +} +function _InitWindow($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0.0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); $vararg_buffer = sp; - _TraceLog(0,10114,$vararg_buffer); - HEAP32[792>>2] = $title; - _InitDisplay($width,$height); - _InitGraphics(); + _TraceLog(0,6156,$vararg_buffer); + HEAP32[6216] = $2; + _InitGraphicsDevice($0,$1); _LoadDefaultFont(); _InitTimer(); - (_emscripten_set_fullscreenchange_callback((0|0),(0|0),1,(5|0))|0); - (_emscripten_set_touchstart_callback((10143|0),(0|0),1,(6|0))|0); - (_emscripten_set_touchend_callback((10143|0),(0|0),1,(6|0))|0); - (_emscripten_set_touchmove_callback((10143|0),(0|0),1,(6|0))|0); - (_emscripten_set_touchcancel_callback((10143|0),(0|0),1,(6|0))|0); - $0 = HEAP32[796>>2]|0; - $1 = (+($0|0)); - $2 = $1 * 0.5; - HEAPF32[8>>2] = $2; - $3 = HEAP32[800>>2]|0; + (_emscripten_set_fullscreenchange_callback((0|0),(0|0),1,(6|0))|0); + (_emscripten_set_keypress_callback((6185|0),(0|0),1,(7|0))|0); + (_emscripten_set_click_callback((6185|0),(0|0),1,(8|0))|0); + (_emscripten_set_touchstart_callback((6185|0),(0|0),1,(9|0))|0); + (_emscripten_set_touchend_callback((6185|0),(0|0),1,(9|0))|0); + (_emscripten_set_touchmove_callback((6185|0),(0|0),1,(9|0))|0); + (_emscripten_set_touchcancel_callback((6185|0),(0|0),1,(9|0))|0); + (_emscripten_set_gamepadconnected_callback((0|0),1,(10|0))|0); + (_emscripten_set_gamepaddisconnected_callback((0|0),1,(10|0))|0); + $3 = HEAP32[6214]|0; $4 = (+($3|0)); $5 = $4 * 0.5; - HEAPF32[(12)>>2] = $5; - $6 = HEAP32[804>>2]|0; - $7 = ($6|0)==(0); - if ($7) { + HEAPF32[5994] = $5; + $6 = HEAP32[6213]|0; + $7 = (+($6|0)); + $8 = $7 * 0.5; + HEAPF32[(23980)>>2] = $8; + $9 = HEAP32[6217]|0; + $10 = ($9|0)==(0); + if ($10) { STACKTOP = sp;return; } _SetTargetFPS(60); _LogoAnimation(); STACKTOP = sp;return; } -function _SetTargetFPS($fps) { - $fps = $fps|0; - var $0 = 0.0, $1 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $vararg_buffer = 0, label = 0, sp = 0; +function _TraceLog($0,$1,$varargs) { + $0 = $0|0; + $1 = $1|0; + $varargs = $varargs|0; + var $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $endptr = 0, $strlen = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $vararg_buffer = sp; - $0 = (+($fps|0)); - $1 = 1.0 / $0; - HEAPF64[16>>3] = $1; - $2 = $1; - $3 = $2 * 1000.0; - $4 = $3; - HEAPF64[$vararg_buffer>>3] = $4; - _TraceLog(0,10151,$vararg_buffer); - STACKTOP = sp;return; -} -function _CloseWindow() { - var $0 = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $vararg_buffer = sp; - _UnloadDefaultFont(); - _rlglClose(); - $0 = HEAP32[808>>2]|0; - _glfwDestroyWindow(($0|0)); - _glfwTerminate(); - _TraceLog(0,10195,$vararg_buffer); - STACKTOP = sp;return; -} -function _GetScreenWidth() { - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[796>>2]|0; - return ($0|0); -} -function _GetScreenHeight() { - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[800>>2]|0; - return ($0|0); -} -function _ClearBackground($color) { - $color = $color|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP8[$color>>0]|0; - $1 = ((($color)) + 1|0); - $2 = HEAP8[$1>>0]|0; - $3 = ((($color)) + 2|0); - $4 = HEAP8[$3>>0]|0; - $5 = ((($color)) + 3|0); - $6 = HEAP8[$5>>0]|0; - _rlClearColor($0,$2,$4,$6); - return; -} -function _BeginDrawing() { - var $0 = 0.0, $1 = 0.0, $2 = 0.0, $3 = 0, $4 = 0, $downscaleView$byval_copy = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; - $downscaleView$byval_copy = sp; - $0 = (+_GetTime()); - HEAPF64[24>>3] = $0; - $1 = +HEAPF64[32>>3]; - $2 = $0 - $1; - HEAPF64[40>>3] = $2; - HEAPF64[32>>3] = $0; - $3 = (_IsPosproShaderEnabled()|0); - $4 = ($3|0)==(0); - if (!($4)) { - _rlEnablePostproFBO(); - } - _rlClearScreenBuffers(); - _rlLoadIdentity(); - dest=$downscaleView$byval_copy; src=820; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - (_MatrixToFloat($downscaleView$byval_copy)|0); - _rlMultMatrixf(884); - STACKTOP = sp;return; -} -function _MatrixToFloat($mat) { - $mat = $mat|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[$mat>>2]|0; - HEAP32[884>>2] = $0; - $1 = ((($mat)) + 4|0); - $2 = HEAP32[$1>>2]|0; - HEAP32[(888)>>2] = $2; - $3 = ((($mat)) + 8|0); - $4 = HEAP32[$3>>2]|0; - HEAP32[(892)>>2] = $4; - $5 = ((($mat)) + 12|0); - $6 = HEAP32[$5>>2]|0; - HEAP32[(896)>>2] = $6; - $7 = ((($mat)) + 16|0); - $8 = HEAP32[$7>>2]|0; - HEAP32[(900)>>2] = $8; - $9 = ((($mat)) + 20|0); - $10 = HEAP32[$9>>2]|0; - HEAP32[(904)>>2] = $10; - $11 = ((($mat)) + 24|0); - $12 = HEAP32[$11>>2]|0; - HEAP32[(908)>>2] = $12; - $13 = ((($mat)) + 28|0); - $14 = HEAP32[$13>>2]|0; - HEAP32[(912)>>2] = $14; - $15 = ((($mat)) + 32|0); - $16 = HEAP32[$15>>2]|0; - HEAP32[(916)>>2] = $16; - $17 = ((($mat)) + 36|0); - $18 = HEAP32[$17>>2]|0; - HEAP32[(920)>>2] = $18; - $19 = ((($mat)) + 40|0); - $20 = HEAP32[$19>>2]|0; - HEAP32[(924)>>2] = $20; - $21 = ((($mat)) + 44|0); - $22 = HEAP32[$21>>2]|0; - HEAP32[(928)>>2] = $22; - $23 = ((($mat)) + 48|0); - $24 = HEAP32[$23>>2]|0; - HEAP32[(932)>>2] = $24; - $25 = ((($mat)) + 52|0); - $26 = HEAP32[$25>>2]|0; - HEAP32[(936)>>2] = $26; - $27 = ((($mat)) + 56|0); - $28 = HEAP32[$27>>2]|0; - HEAP32[(940)>>2] = $28; - $29 = ((($mat)) + 60|0); - $30 = HEAP32[$29>>2]|0; - HEAP32[(944)>>2] = $30; - return (884|0); -} -function _EndDrawing() { - var $0 = 0, $1 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - _rlglDraw(); - $0 = (_IsPosproShaderEnabled()|0); - $1 = ($0|0)==(0); - if (!($1)) { - _rlglDrawPostpro(); - } - _SwapBuffers(); - _PollInputEvents(); - $2 = (+_GetTime()); - HEAPF64[24>>3] = $2; - $3 = +HEAPF64[32>>3]; - $4 = $2 - $3; - HEAPF64[48>>3] = $4; - HEAPF64[32>>3] = $2; - $5 = +HEAPF64[40>>3]; - $6 = $5 + $4; - HEAPF64[56>>3] = $6; - $7 = +HEAPF64[16>>3]; - $8 = $6 < $7; - if (!($8)) { - return; - } - while(1) { - $9 = (+_GetTime()); - HEAPF64[24>>3] = $9; - $10 = +HEAPF64[32>>3]; - $11 = $9 - $10; - HEAPF64[32>>3] = $9; - $12 = +HEAPF64[56>>3]; - $13 = $12 + $11; - HEAPF64[56>>3] = $13; - $14 = +HEAPF64[16>>3]; - $15 = $13 < $14; - if (!($15)) { - break; - } - } - return; -} -function _GetRandomValue($min,$max) { - $min = $min|0; - $max = $max|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $ispos = 0, $max$min = 0, $min$max = 0, $neg = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ($min|0)>($max|0); - $min$max = $0 ? $min : $max; - $max$min = $0 ? $max : $min; - $1 = (_rand()|0); - $2 = (($min$max) - ($max$min))|0; - $ispos = ($2|0)>(-1); - $neg = (0 - ($2))|0; - $3 = $ispos ? $2 : $neg; - $4 = (($3) + 1)|0; - $5 = (($1|0) % ($4|0))&-1; - $6 = (($5) + ($max$min))|0; - return ($6|0); -} -function _Fade($agg$result,$color,$alpha) { - $agg$result = $agg$result|0; - $color = $color|0; - $alpha = +$alpha; - var $$0 = 0.0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = $alpha < 0.0; - if ($0) { - $$0 = 0.0; - } else { - $1 = $alpha > 1.0; - if ($1) { - $$0 = 1.0; - } else { - $$0 = $alpha; - } - } - $2 = ((($color)) + 3|0); - $3 = HEAP8[$2>>0]|0; - $4 = (+($3&255)); - $5 = $$0 * $4; - $6 = HEAP8[$color>>0]|0; - HEAP8[$agg$result>>0] = $6; - $7 = ((($agg$result)) + 1|0); - $8 = ((($color)) + 1|0); - $9 = HEAP8[$8>>0]|0; - HEAP8[$7>>0] = $9; - $10 = ((($agg$result)) + 2|0); - $11 = ((($color)) + 2|0); - $12 = HEAP8[$11>>0]|0; - HEAP8[$10>>0] = $12; - $13 = ((($agg$result)) + 3|0); - $14 = (~~(($5))&255); - HEAP8[$13>>0] = $14; - return; -} -function _IsKeyPressed($key) { - $key = $key|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $or$cond = 0, $pressed$0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (10223 + ($key)|0); - $1 = HEAP8[$0>>0]|0; - $2 = (10735 + ($key)|0); - $3 = HEAP8[$2>>0]|0; - $4 = ($1<<24>>24)!=($3<<24>>24); - $5 = ($1<<24>>24)==(1); - $or$cond = $5 & $4; - $pressed$0 = $or$cond&1; - return ($pressed$0|0); -} -function _IsMouseButtonPressed($button) { - $button = $button|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $or$cond = 0, $pressed$0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (11247 + ($button)|0); - $1 = HEAP8[$0>>0]|0; - $2 = (11250 + ($button)|0); - $3 = HEAP8[$2>>0]|0; - $4 = ($1<<24>>24)!=($3<<24>>24); - $5 = ($1<<24>>24)==(1); - $or$cond = $5 & $4; - $pressed$0 = $or$cond&1; - return ($pressed$0|0); -} -function _IsMouseButtonReleased($button) { - $button = $button|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $or$cond = 0, $released$0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (11247 + ($button)|0); - $1 = HEAP8[$0>>0]|0; - $2 = (11250 + ($button)|0); - $3 = HEAP8[$2>>0]|0; - $4 = ($1<<24>>24)!=($3<<24>>24); - $5 = ($1<<24>>24)==(0); - $or$cond = $5 & $4; - $released$0 = $or$cond&1; - return ($released$0|0); -} -function _GetMousePosition($agg$result) { - $agg$result = $agg$result|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = 8; - $1 = $0; - $2 = HEAP32[$1>>2]|0; - $3 = (($0) + 4)|0; - $4 = $3; - $5 = HEAP32[$4>>2]|0; - $6 = $agg$result; - $7 = $6; - HEAP32[$7>>2] = $2; - $8 = (($6) + 4)|0; - $9 = $8; - HEAP32[$9>>2] = $5; - return; -} -function _mystrdup($str) { - $str = $str|0; - var $$0 = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_strlen($str)|0); - $1 = (($0) + 1)|0; - $2 = (_malloc($1)|0); - $3 = ($2|0)==(0|0); - if ($3) { - $$0 = 0; - return ($$0|0); - } - _memcpy(($2|0),($str|0),($1|0))|0; - $$0 = $2; - return ($$0|0); -} -function _rlMatrixMode($mode) { - $mode = $mode|0; - var label = 0, sp = 0; - sp = STACKTOP; - switch ($mode|0) { + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $2 = sp; + switch ($0|0) { case 0: { - HEAP32[1048>>2] = 984; - break; - } - case 1: { - HEAP32[1048>>2] = 1052; - break; - } - default: { - } - } - HEAP32[1116>>2] = $mode; - return; -} -function _rlPushMatrix() { - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $vararg_buffer = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $vararg_buffer = sp; - $0 = HEAP32[1120>>2]|0; - $1 = ($0|0)==(15); - if ($1) { - HEAP32[$vararg_buffer>>2] = 16; - _TraceLog(1,11253,$vararg_buffer); - } - $2 = HEAP32[1120>>2]|0; - $3 = (1124 + ($2<<6)|0); - $4 = HEAP32[1048>>2]|0; - dest=$3; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _rlLoadIdentity(); - $5 = HEAP32[1120>>2]|0; - $6 = (($5) + 1)|0; - HEAP32[1120>>2] = $6; - $7 = HEAP32[1116>>2]|0; - $8 = ($7|0)==(1); - if (!($8)) { - STACKTOP = sp;return; - } - HEAP32[2148>>2] = 1; - STACKTOP = sp;return; -} -function _rlLoadIdentity() { - var $0 = 0, $1 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; - $0 = sp; - $1 = HEAP32[1048>>2]|0; - _MatrixIdentity($0); - dest=$1; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; -} -function _rlPopMatrix() { - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[1120>>2]|0; - $1 = ($0|0)>(0); - if (!($1)) { - return; - } - $2 = HEAP32[1120>>2]|0; - $3 = (($2) + -1)|0; - $4 = (1124 + ($3<<6)|0); - $5 = HEAP32[1048>>2]|0; - _memmove(($5|0),($4|0),64)|0; - $6 = HEAP32[1120>>2]|0; - $7 = (($6) + -1)|0; - HEAP32[1120>>2] = $7; - return; -} -function _rlTranslatef($x,$y,$z) { - $x = +$x; - $y = +$y; - $z = +$z; - var $$byval_copy = 0, $0 = 0, $1 = 0, $matTranslation = 0, $matTranslation$byval_copy = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 256|0; - $matTranslation$byval_copy = sp + 192|0; - $$byval_copy = sp + 128|0; - $matTranslation = sp + 64|0; - $0 = sp; - _MatrixTranslate($matTranslation,$x,$y,$z); - _MatrixTranspose($matTranslation); - $1 = HEAP32[1048>>2]|0; - dest=$$byval_copy; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$matTranslation$byval_copy; src=$matTranslation; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixMultiply($0,$$byval_copy,$matTranslation$byval_copy); - dest=$1; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; -} -function _rlRotatef($angleDeg,$x,$y,$z) { - $angleDeg = +$angleDeg; - $x = +$x; - $y = +$y; - $z = +$z; - var $$byval_copy = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0, $axis = 0, $matRotation = 0, $matRotation$byval_copy = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 336|0; - $matRotation$byval_copy = sp + 272|0; - $$byval_copy = sp + 208|0; - $matRotation = sp + 144|0; - $axis = sp + 128|0; - $0 = sp + 64|0; - $1 = sp; - _MatrixIdentity($matRotation); - HEAPF32[$axis>>2] = $x; - $2 = ((($axis)) + 4|0); - HEAPF32[$2>>2] = $y; - $3 = ((($axis)) + 8|0); - HEAPF32[$3>>2] = $z; - _VectorNormalize($axis); - $4 = $angleDeg; - $5 = $4 * 0.017453292519943295; - $6 = $5; - ;HEAP32[$matRotation$byval_copy>>2]=HEAP32[$axis>>2]|0;HEAP32[$matRotation$byval_copy+4>>2]=HEAP32[$axis+4>>2]|0;HEAP32[$matRotation$byval_copy+8>>2]=HEAP32[$axis+8>>2]|0; - _MatrixRotate($0,$matRotation$byval_copy,$6); - dest=$matRotation; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixTranspose($matRotation); - $7 = HEAP32[1048>>2]|0; - dest=$$byval_copy; src=$7; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$matRotation$byval_copy; src=$matRotation; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixMultiply($1,$$byval_copy,$matRotation$byval_copy); - dest=$7; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; -} -function _rlMultMatrixf($m) { - $m = $m|0; - var $$byval_copy = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; - var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $mat = 0, $mat$byval_copy = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 256|0; - $mat$byval_copy = sp + 192|0; - $$byval_copy = sp + 128|0; - $mat = sp + 64|0; - $0 = sp; - $1 = HEAP32[$m>>2]|0; - HEAP32[$mat>>2] = $1; - $2 = ((($mat)) + 4|0); - $3 = ((($m)) + 4|0); - $4 = HEAP32[$3>>2]|0; - HEAP32[$2>>2] = $4; - $5 = ((($mat)) + 8|0); - $6 = ((($m)) + 8|0); - $7 = HEAP32[$6>>2]|0; - HEAP32[$5>>2] = $7; - $8 = ((($mat)) + 12|0); - $9 = ((($m)) + 12|0); - $10 = HEAP32[$9>>2]|0; - HEAP32[$8>>2] = $10; - $11 = ((($mat)) + 16|0); - $12 = ((($m)) + 16|0); - $13 = HEAP32[$12>>2]|0; - HEAP32[$11>>2] = $13; - $14 = ((($mat)) + 20|0); - $15 = ((($m)) + 20|0); - $16 = HEAP32[$15>>2]|0; - HEAP32[$14>>2] = $16; - $17 = ((($mat)) + 24|0); - $18 = ((($m)) + 24|0); - $19 = HEAP32[$18>>2]|0; - HEAP32[$17>>2] = $19; - $20 = ((($mat)) + 28|0); - $21 = ((($m)) + 28|0); - $22 = HEAP32[$21>>2]|0; - HEAP32[$20>>2] = $22; - $23 = ((($mat)) + 32|0); - $24 = ((($m)) + 32|0); - $25 = HEAP32[$24>>2]|0; - HEAP32[$23>>2] = $25; - $26 = ((($mat)) + 36|0); - $27 = ((($m)) + 36|0); - $28 = HEAP32[$27>>2]|0; - HEAP32[$26>>2] = $28; - $29 = ((($mat)) + 40|0); - $30 = ((($m)) + 40|0); - $31 = HEAP32[$30>>2]|0; - HEAP32[$29>>2] = $31; - $32 = ((($mat)) + 44|0); - $33 = ((($m)) + 44|0); - $34 = HEAP32[$33>>2]|0; - HEAP32[$32>>2] = $34; - $35 = ((($mat)) + 48|0); - $36 = ((($m)) + 48|0); - $37 = HEAP32[$36>>2]|0; - HEAP32[$35>>2] = $37; - $38 = ((($mat)) + 52|0); - $39 = ((($m)) + 52|0); - $40 = HEAP32[$39>>2]|0; - HEAP32[$38>>2] = $40; - $41 = ((($mat)) + 56|0); - $42 = ((($m)) + 56|0); - $43 = HEAP32[$42>>2]|0; - HEAP32[$41>>2] = $43; - $44 = ((($mat)) + 60|0); - $45 = ((($m)) + 60|0); - $46 = HEAP32[$45>>2]|0; - HEAP32[$44>>2] = $46; - $47 = HEAP32[1048>>2]|0; - dest=$$byval_copy; src=$47; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$mat$byval_copy; src=$mat; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixMultiply($0,$$byval_copy,$mat$byval_copy); - dest=$47; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; -} -function _rlOrtho($left,$right,$bottom,$top,$near,$far) { - $left = +$left; - $right = +$right; - $bottom = +$bottom; - $top = +$top; - $near = +$near; - $far = +$far; - var $$byval_copy = 0, $0 = 0, $1 = 0, $matOrtho = 0, $matOrtho$byval_copy = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 256|0; - $matOrtho$byval_copy = sp + 192|0; - $$byval_copy = sp + 128|0; - $matOrtho = sp + 64|0; - $0 = sp; - _MatrixOrtho($matOrtho,$left,$right,$bottom,$top,$near,$far); - _MatrixTranspose($matOrtho); - $1 = HEAP32[1048>>2]|0; - dest=$$byval_copy; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$matOrtho$byval_copy; src=$matOrtho; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixMultiply($0,$$byval_copy,$matOrtho$byval_copy); - dest=$1; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; -} -function _rlBegin($mode) { - $mode = $mode|0; - var label = 0, sp = 0; - sp = STACKTOP; - HEAP32[2152>>2] = $mode; - return; -} -function _rlEnd() { - var $$byval_copy = 0, $$lcssa = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0; - var $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0.0, $130 = 0, $131 = 0; - var $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0.0; - var $150 = 0, $151 = 0.0, $152 = 0.0, $16 = 0, $17 = 0.0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0; - var $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0; - var $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0; - var $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0; - var $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond = 0, $exitcond16 = 0, $exitcond17 = 0, $exitcond18 = 0, $i$013 = 0; - var $i1$011 = 0, $i2$04 = 0, $i4$05 = 0, $i6$09 = 0, $i7$07 = 0, $quads$1$promoted = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; - $$byval_copy = sp; - $0 = HEAP32[2148>>2]|0; - $1 = ($0|0)==(0); - if (!($1)) { - $2 = HEAP32[2156>>2]|0; - $3 = ($2|0)>(0); - if ($3) { - $i$013 = 0; - while(1) { - $4 = HEAP32[2160>>2]|0; - $5 = (($4) + (($i$013*12)|0)|0); - $6 = HEAP32[1048>>2]|0; - dest=$$byval_copy; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _VectorTransform($5,$$byval_copy); - $7 = (($i$013) + 1)|0; - $8 = HEAP32[2156>>2]|0; - $9 = ($7|0)<($8|0); - if ($9) { - $i$013 = $7; - } else { - $$lcssa = $8; - break; - } - } - HEAP32[2148>>2] = 0; - $10 = ($$lcssa|0)>(0); - if ($10) { - $i1$011 = 0; - while(1) { - $11 = HEAP32[2160>>2]|0; - $12 = (($11) + (($i1$011*12)|0)|0); - $13 = +HEAPF32[$12>>2]; - $14 = (((($11) + (($i1$011*12)|0)|0)) + 4|0); - $15 = +HEAPF32[$14>>2]; - $16 = (((($11) + (($i1$011*12)|0)|0)) + 8|0); - $17 = +HEAPF32[$16>>2]; - _rlVertex3f($13,$15,$17); - $18 = (($i1$011) + 1)|0; - $19 = HEAP32[2156>>2]|0; - $20 = ($18|0)<($19|0); - if ($20) { - $i1$011 = $18; - } else { - break; - } - } - } - } else { - HEAP32[2148>>2] = 0; - } - HEAP32[2156>>2] = 0; - } - $21 = HEAP32[2152>>2]|0; - switch ($21|0) { - case 0: { - $22 = HEAP32[2164>>2]|0; - $23 = HEAP32[2168>>2]|0; - $24 = ($22|0)>($23|0); - if (!($24)) { - $151 = +HEAPF32[2208>>2]; - $152 = $151 + 4.9999998736893758E-5; - HEAPF32[2208>>2] = $152; - STACKTOP = sp;return; - } - $25 = (($22) - ($23))|0; - $i2$04 = 0; - while(1) { - $26 = HEAP32[2168>>2]|0; - $27 = $26 << 2; - $28 = (($27) + -4)|0; - $29 = HEAP32[2172>>2]|0; - $30 = (($29) + ($28)|0); - $31 = HEAP8[$30>>0]|0; - $32 = (($29) + ($27)|0); - HEAP8[$32>>0] = $31; - $33 = HEAP32[2168>>2]|0; - $34 = $33 << 2; - $35 = (($34) + -3)|0; - $36 = HEAP32[2172>>2]|0; - $37 = (($36) + ($35)|0); - $38 = HEAP8[$37>>0]|0; - $39 = $34 | 1; - $40 = (($36) + ($39)|0); - HEAP8[$40>>0] = $38; - $41 = HEAP32[2168>>2]|0; - $42 = $41 << 2; - $43 = (($42) + -2)|0; - $44 = HEAP32[2172>>2]|0; - $45 = (($44) + ($43)|0); - $46 = HEAP8[$45>>0]|0; - $47 = $42 | 2; - $48 = (($44) + ($47)|0); - HEAP8[$48>>0] = $46; - $49 = HEAP32[2168>>2]|0; - $50 = $49 << 2; - $51 = (($50) + -1)|0; - $52 = HEAP32[2172>>2]|0; - $53 = (($52) + ($51)|0); - $54 = HEAP8[$53>>0]|0; - $55 = $50 | 3; - $56 = (($52) + ($55)|0); - HEAP8[$56>>0] = $54; - $57 = HEAP32[2168>>2]|0; - $58 = (($57) + 1)|0; - HEAP32[2168>>2] = $58; - $59 = (($i2$04) + 1)|0; - $exitcond = ($59|0)==($25|0); - if ($exitcond) { - break; - } else { - $i2$04 = $59; - } - } - $151 = +HEAPF32[2208>>2]; - $152 = $151 + 4.9999998736893758E-5; - HEAPF32[2208>>2] = $152; - STACKTOP = sp;return; - break; - } - case 1: { - $60 = HEAP32[2176>>2]|0; - $61 = HEAP32[2180>>2]|0; - $62 = ($60|0)>($61|0); - if (!($62)) { - $151 = +HEAPF32[2208>>2]; - $152 = $151 + 4.9999998736893758E-5; - HEAPF32[2208>>2] = $152; - STACKTOP = sp;return; - } - $63 = (($60) - ($61))|0; - $i4$05 = 0; - while(1) { - $64 = HEAP32[2180>>2]|0; - $65 = $64 << 2; - $66 = (($65) + -4)|0; - $67 = HEAP32[2184>>2]|0; - $68 = (($67) + ($66)|0); - $69 = HEAP8[$68>>0]|0; - $70 = (($67) + ($65)|0); - HEAP8[$70>>0] = $69; - $71 = HEAP32[2180>>2]|0; - $72 = $71 << 2; - $73 = (($72) + -3)|0; - $74 = HEAP32[2184>>2]|0; - $75 = (($74) + ($73)|0); - $76 = HEAP8[$75>>0]|0; - $77 = $72 | 1; - $78 = (($74) + ($77)|0); - HEAP8[$78>>0] = $76; - $79 = HEAP32[2180>>2]|0; - $80 = $79 << 2; - $81 = (($80) + -2)|0; - $82 = HEAP32[2184>>2]|0; - $83 = (($82) + ($81)|0); - $84 = HEAP8[$83>>0]|0; - $85 = $80 | 2; - $86 = (($82) + ($85)|0); - HEAP8[$86>>0] = $84; - $87 = HEAP32[2180>>2]|0; - $88 = $87 << 2; - $89 = (($88) + -1)|0; - $90 = HEAP32[2184>>2]|0; - $91 = (($90) + ($89)|0); - $92 = HEAP8[$91>>0]|0; - $93 = $88 | 3; - $94 = (($90) + ($93)|0); - HEAP8[$94>>0] = $92; - $95 = HEAP32[2180>>2]|0; - $96 = (($95) + 1)|0; - HEAP32[2180>>2] = $96; - $97 = (($i4$05) + 1)|0; - $exitcond16 = ($97|0)==($63|0); - if ($exitcond16) { - break; - } else { - $i4$05 = $97; - } - } - $151 = +HEAPF32[2208>>2]; - $152 = $151 + 4.9999998736893758E-5; - HEAPF32[2208>>2] = $152; - STACKTOP = sp;return; + ;HEAP8[24016>>0]=HEAP8[10732>>0]|0;HEAP8[24016+1>>0]=HEAP8[10732+1>>0]|0;HEAP8[24016+2>>0]=HEAP8[10732+2>>0]|0;HEAP8[24016+3>>0]=HEAP8[10732+3>>0]|0;HEAP8[24016+4>>0]=HEAP8[10732+4>>0]|0;HEAP8[24016+5>>0]=HEAP8[10732+5>>0]|0;HEAP8[24016+6>>0]=HEAP8[10732+6>>0]|0; break; } case 2: { - $98 = HEAP32[2188>>2]|0; - $99 = HEAP32[2192>>2]|0; - $100 = ($98|0)>($99|0); - if ($100) { - $101 = (($98) - ($99))|0; - $i6$09 = 0; - while(1) { - $102 = HEAP32[2192>>2]|0; - $103 = $102 << 2; - $104 = (($103) + -4)|0; - $105 = HEAP32[2196>>2]|0; - $106 = (($105) + ($104)|0); - $107 = HEAP8[$106>>0]|0; - $108 = (($105) + ($103)|0); - HEAP8[$108>>0] = $107; - $109 = HEAP32[2192>>2]|0; - $110 = $109 << 2; - $111 = (($110) + -3)|0; - $112 = HEAP32[2196>>2]|0; - $113 = (($112) + ($111)|0); - $114 = HEAP8[$113>>0]|0; - $115 = $110 | 1; - $116 = (($112) + ($115)|0); - HEAP8[$116>>0] = $114; - $117 = HEAP32[2192>>2]|0; - $118 = $117 << 2; - $119 = (($118) + -2)|0; - $120 = HEAP32[2196>>2]|0; - $121 = (($120) + ($119)|0); - $122 = HEAP8[$121>>0]|0; - $123 = $118 | 2; - $124 = (($120) + ($123)|0); - HEAP8[$124>>0] = $122; - $125 = HEAP32[2192>>2]|0; - $126 = $125 << 2; - $127 = (($126) + -1)|0; - $128 = HEAP32[2196>>2]|0; - $129 = (($128) + ($127)|0); - $130 = HEAP8[$129>>0]|0; - $131 = $126 | 3; - $132 = (($128) + ($131)|0); - HEAP8[$132>>0] = $130; - $133 = HEAP32[2192>>2]|0; - $134 = (($133) + 1)|0; - HEAP32[2192>>2] = $134; - $135 = (($i6$09) + 1)|0; - $exitcond18 = ($135|0)==($101|0); - if ($exitcond18) { - break; - } else { - $i6$09 = $135; - } - } - } - $136 = HEAP32[2188>>2]|0; - $137 = HEAP32[2200>>2]|0; - $138 = ($136|0)>($137|0); - if (!($138)) { - $151 = +HEAPF32[2208>>2]; - $152 = $151 + 4.9999998736893758E-5; - HEAPF32[2208>>2] = $152; - STACKTOP = sp;return; - } - $139 = HEAP32[2204>>2]|0; - $quads$1$promoted = HEAP32[2200>>2]|0; - $140 = (($136) + ($quads$1$promoted))|0; - $141 = (($136) - ($137))|0; - $143 = $quads$1$promoted;$i7$07 = 0; - while(1) { - $142 = $143 << 1; - $144 = (($139) + ($142<<2)|0); - HEAPF32[$144>>2] = 0.0; - $145 = $143 << 1; - $146 = $145 | 1; - $147 = (($139) + ($146<<2)|0); - HEAPF32[$147>>2] = 0.0; - $148 = (($143) + 1)|0; - $149 = (($i7$07) + 1)|0; - $exitcond17 = ($149|0)==($141|0); - if ($exitcond17) { - break; - } else { - $143 = $148;$i7$07 = $149; - } - } - $150 = (($140) - ($137))|0; - HEAP32[2200>>2] = $150; - $151 = +HEAPF32[2208>>2]; - $152 = $151 + 4.9999998736893758E-5; - HEAPF32[2208>>2] = $152; - STACKTOP = sp;return; + $3 = 24016; + $4 = $3; + HEAP32[$4>>2] = 1330795077; + $5 = (($3) + 4)|0; + $6 = $5; + HEAP32[$6>>2] = 2112082; + break; + } + case 1: { + dest=24016; src=10739; stop=dest+10|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); + break; + } + case 3: { + $7 = 24016; + $8 = $7; + HEAP32[$8>>2] = 1430406468; + $9 = (($7) + 4)|0; + $10 = $9; + HEAP32[$10>>2] = 2112071; break; } default: { - $151 = +HEAPF32[2208>>2]; - $152 = $151 + 4.9999998736893758E-5; - HEAPF32[2208>>2] = $152; + } + } + (_strcat(24016,$1)|0); + $strlen = (_strlen(24016)|0); + $endptr = (24016 + ($strlen)|0); + HEAP8[$endptr>>0]=10&255;HEAP8[$endptr+1>>0]=10>>8; + HEAP32[$2>>2] = $varargs; + $11 = ($0|0)==(3); + if ($11) { STACKTOP = sp;return; } + (_vprintf(24016,$2)|0); + $12 = ($0|0)==(2); + if ($12) { + _exit(1); + // unreachable; + } else { + STACKTOP = sp;return; } } -function _rlVertex3f($x,$y,$z) { - $x = +$x; - $y = +$y; - $z = +$z; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; +function _InitGraphicsDevice($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$015 = 0, $$byval_copy = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; - var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer3 = 0, label = 0, sp = 0; + var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0.0, $79 = 0, $8 = 0, $80 = 0; + var $81 = 0, $82 = 0.0, $83 = 0, $84 = 0, $85 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer14 = 0, $vararg_buffer18 = 0, $vararg_buffer22 = 0, $vararg_buffer3 = 0, $vararg_buffer6 = 0, $vararg_buffer8 = 0, $vararg_ptr13 = 0, $vararg_ptr17 = 0, $vararg_ptr21 = 0, $vararg_ptr5 = 0, dest = 0; + var label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; + STACKTOP = STACKTOP + 144|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(144|0); + $$byval_copy = sp + 136|0; + $vararg_buffer22 = sp + 64|0; + $vararg_buffer18 = sp + 56|0; + $vararg_buffer14 = sp + 48|0; + $vararg_buffer10 = sp + 40|0; + $vararg_buffer8 = sp + 32|0; + $vararg_buffer6 = sp + 24|0; $vararg_buffer3 = sp + 16|0; $vararg_buffer1 = sp + 8|0; $vararg_buffer = sp; - $0 = HEAP32[2148>>2]|0; - $1 = ($0|0)==(0); - if (!($1)) { - $2 = HEAP32[2156>>2]|0; - $3 = HEAP32[2160>>2]|0; - $4 = (($3) + (($2*12)|0)|0); - HEAPF32[$4>>2] = $x; - $5 = HEAP32[2156>>2]|0; - $6 = HEAP32[2160>>2]|0; - $7 = (((($6) + (($5*12)|0)|0)) + 4|0); - HEAPF32[$7>>2] = $y; - $8 = HEAP32[2156>>2]|0; - $9 = HEAP32[2160>>2]|0; - $10 = (((($9) + (($8*12)|0)|0)) + 8|0); - HEAPF32[$10>>2] = $z; - $11 = HEAP32[2156>>2]|0; - $12 = (($11) + 1)|0; - HEAP32[2156>>2] = $12; + $2 = sp + 72|0; + $3 = sp + 140|0; + HEAP32[6214] = $0; + HEAP32[6213] = $1; + _MatrixIdentity($2); + dest=24944; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + (_glfwSetErrorCallback((2|0))|0); + $4 = (_glfwInit()|0); + $5 = ($4|0)==(0); + if ($5) { + _TraceLog(2,6874,$vararg_buffer); + } + $6 = HEAP32[6214]|0; + HEAP32[6252] = $6; + $7 = HEAP32[6213]|0; + HEAP32[6253] = $7; + _glfwDefaultWindowHints(); + $8 = HEAP8[28704]|0; + $9 = $8 & 4; + $10 = ($9<<24>>24)==(0); + if ($10) { + _glfwWindowHint(131075,0); + } else { + _glfwWindowHint(131075,1); + } + $11 = HEAP8[28704]|0; + $12 = $11 & 8; + $13 = ($12<<24>>24)==(0); + if (!($13)) { + _glfwWindowHint(131077,1); + } + $14 = HEAP8[28704]|0; + $15 = $14 & 32; + $16 = ($15<<24>>24)==(0); + if (!($16)) { + _glfwWindowHint(135181,4); + _TraceLog(0,6900,$vararg_buffer1); + } + $17 = (_rlGetVersion()|0); + $18 = ($17|0)==(2); + if ($18) { + _glfwWindowHint(139266,2); + _glfwWindowHint(139267,1); + } else { + $19 = (_rlGetVersion()|0); + $20 = ($19|0)==(3); + if ($20) { + _glfwWindowHint(139266,3); + _glfwWindowHint(139267,3); + _glfwWindowHint(139272,204801); + _glfwWindowHint(139270,0); + } + } + $21 = HEAP32[6254]|0; + $22 = ($21|0)==(0); + if ($22) { + $47 = HEAP32[6214]|0; + $48 = HEAP32[6213]|0; + $49 = HEAP32[6216]|0; + $50 = (_glfwCreateWindow(($47|0),($48|0),($49|0),(0|0),(0|0))|0); + HEAP32[6212] = $50; + $51 = HEAP32[6214]|0; + HEAP32[6255] = $51; + $52 = HEAP32[6213]|0; + HEAP32[6256] = $52; + $54 = $50; + } else { + $23 = (_glfwGetPrimaryMonitor()|0); + $24 = (_glfwGetVideoModes(($23|0),($$byval_copy|0))|0); + $25 = HEAP32[$$byval_copy>>2]|0; + $26 = ($25|0)>(0); + L22: do { + if ($26) { + $27 = HEAP32[6214]|0; + $28 = HEAP32[$$byval_copy>>2]|0; + $29 = HEAP32[6213]|0; + $$015 = 0; + while(1) { + $30 = (($24) + (($$015*24)|0)|0); + $31 = HEAP32[$30>>2]|0; + $32 = ($31|0)<($27|0); + if (!($32)) { + $33 = (((($24) + (($$015*24)|0)|0)) + 4|0); + $34 = HEAP32[$33>>2]|0; + $35 = ($34|0)<($29|0); + if (!($35)) { + break; + } + } + $36 = (($$015) + 1)|0; + $37 = ($36|0)<($28|0); + if ($37) { + $$015 = $36; + } else { + break L22; + } + } + HEAP32[6252] = $31; + HEAP32[6253] = $34; + } + } while(0); + $38 = HEAP32[6252]|0; + $39 = HEAP32[6253]|0; + HEAP32[$vararg_buffer3>>2] = $38; + $vararg_ptr5 = ((($vararg_buffer3)) + 4|0); + HEAP32[$vararg_ptr5>>2] = $39; + _TraceLog(1,6925,$vararg_buffer3); + $40 = HEAP32[6252]|0; + $41 = HEAP32[6253]|0; + _SetupFramebufferSize($40,$41); + $42 = HEAP32[6252]|0; + $43 = HEAP32[6253]|0; + $44 = HEAP32[6216]|0; + $45 = (_glfwGetPrimaryMonitor()|0); + $46 = (_glfwCreateWindow(($42|0),($43|0),($44|0),($45|0),(0|0))|0); + HEAP32[6212] = $46; + $54 = $46; + } + $53 = ($54|0)==(0|0); + if ($53) { + _glfwTerminate(); + _TraceLog(2,6963,$vararg_buffer6); + } else { + _TraceLog(0,6996,$vararg_buffer8); + $55 = HEAP32[6255]|0; + $56 = HEAP32[6256]|0; + HEAP32[$vararg_buffer10>>2] = $55; + $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); + HEAP32[$vararg_ptr13>>2] = $56; + _TraceLog(0,7036,$vararg_buffer10); + $57 = HEAP32[6214]|0; + $58 = HEAP32[6213]|0; + HEAP32[$vararg_buffer14>>2] = $57; + $vararg_ptr17 = ((($vararg_buffer14)) + 4|0); + HEAP32[$vararg_ptr17>>2] = $58; + _TraceLog(0,7057,$vararg_buffer14); + $59 = HEAP32[6257]|0; + $60 = HEAP32[6258]|0; + HEAP32[$vararg_buffer18>>2] = $59; + $vararg_ptr21 = ((($vararg_buffer18)) + 4|0); + HEAP32[$vararg_ptr21>>2] = $60; + _TraceLog(0,7078,$vararg_buffer18); + } + $61 = HEAP32[6212]|0; + (_glfwSetWindowSizeCallback(($61|0),(1|0))|0); + $62 = HEAP32[6212]|0; + (_glfwSetCursorEnterCallback(($62|0),(3|0))|0); + $63 = HEAP32[6212]|0; + (_glfwSetKeyCallback(($63|0),(1|0))|0); + $64 = HEAP32[6212]|0; + (_glfwSetMouseButtonCallback(($64|0),(1|0))|0); + $65 = HEAP32[6212]|0; + (_glfwSetCursorPosCallback(($65|0),(1|0))|0); + $66 = HEAP32[6212]|0; + (_glfwSetCharCallback(($66|0),(4|0))|0); + $67 = HEAP32[6212]|0; + (_glfwSetScrollCallback(($67|0),(2|0))|0); + $68 = HEAP32[6212]|0; + (_glfwSetWindowIconifyCallback(($68|0),(5|0))|0); + $69 = HEAP32[6212]|0; + _glfwMakeContextCurrent(($69|0)); + _glfwSwapInterval(0); + $70 = HEAP8[28704]|0; + $71 = $70 & 64; + $72 = ($71<<24>>24)==(0); + if ($72) { + $73 = HEAP32[6214]|0; + $74 = HEAP32[6213]|0; + _rlglInit($73,$74); + _SetupViewport(); + _rlMatrixMode(5889); + _rlLoadIdentity(); + $75 = HEAP32[6255]|0; + $76 = HEAP32[6257]|0; + $77 = (($75) - ($76))|0; + $78 = (+($77|0)); + $79 = HEAP32[6256]|0; + $80 = HEAP32[6258]|0; + $81 = (($79) - ($80))|0; + $82 = (+($81|0)); + _rlOrtho(0.0,$78,$82,0.0,0.0,1.0); + _rlMatrixMode(5888); + _rlLoadIdentity(); + HEAP8[$3>>0] = -11; + $83 = ((($3)) + 1|0); + HEAP8[$83>>0] = -11; + $84 = ((($3)) + 2|0); + HEAP8[$84>>0] = -11; + $85 = ((($3)) + 3|0); + HEAP8[$85>>0] = -1; + ;HEAP8[$$byval_copy>>0]=HEAP8[$3>>0]|0;HEAP8[$$byval_copy+1>>0]=HEAP8[$3+1>>0]|0;HEAP8[$$byval_copy+2>>0]=HEAP8[$3+2>>0]|0;HEAP8[$$byval_copy+3>>0]=HEAP8[$3+3>>0]|0; + _ClearBackground($$byval_copy); STACKTOP = sp;return; } - $13 = HEAP32[2152>>2]|0; - switch ($13|0) { - case 0: { - $14 = HEAP32[2164>>2]|0; - $15 = ($14|0)<(2048); + _glfwSwapInterval(1); + _TraceLog(0,7103,$vararg_buffer22); + $73 = HEAP32[6214]|0; + $74 = HEAP32[6213]|0; + _rlglInit($73,$74); + _SetupViewport(); + _rlMatrixMode(5889); + _rlLoadIdentity(); + $75 = HEAP32[6255]|0; + $76 = HEAP32[6257]|0; + $77 = (($75) - ($76))|0; + $78 = (+($77|0)); + $79 = HEAP32[6256]|0; + $80 = HEAP32[6258]|0; + $81 = (($79) - ($80))|0; + $82 = (+($81|0)); + _rlOrtho(0.0,$78,$82,0.0,0.0,1.0); + _rlMatrixMode(5888); + _rlLoadIdentity(); + HEAP8[$3>>0] = -11; + $83 = ((($3)) + 1|0); + HEAP8[$83>>0] = -11; + $84 = ((($3)) + 2|0); + HEAP8[$84>>0] = -11; + $85 = ((($3)) + 3|0); + HEAP8[$85>>0] = -1; + ;HEAP8[$$byval_copy>>0]=HEAP8[$3>>0]|0;HEAP8[$$byval_copy+1>>0]=HEAP8[$3+1>>0]|0;HEAP8[$$byval_copy+2>>0]=HEAP8[$3+2>>0]|0;HEAP8[$$byval_copy+3>>0]=HEAP8[$3+3>>0]|0; + _ClearBackground($$byval_copy); + STACKTOP = sp;return; +} +function _LoadDefaultFont() { + var $$ = 0, $$0101 = 0, $$090100 = 0, $$09299 = 0, $$095104 = 0, $$096103 = 0, $$097102 = 0, $$191 = 0, $$193 = 0, $$byval_copy1 = 0, $$lcssa = 0, $$sroa$0$0$$sroa_idx = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0; + var $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0; + var $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; + var $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $$byval_copy1 = sp + 44|0; + $vararg_buffer = sp; + $0 = sp + 4|0; + $1 = sp + 24|0; + HEAP32[(24912)>>2] = 224; + $2 = (_malloc(65536)|0); + _memset(($2|0),0,65536)|0; + $$095104 = 0;$$096103 = 0; + while(1) { + $3 = (20 + ($$095104<<2)|0); + $4 = HEAP32[$3>>2]|0; + $$097102 = 31; + while(1) { + $16 = 1 << $$097102; + $17 = $4 & $16; + $18 = ($17|0)==(0); + if (!($18)) { + $19 = (($$097102) + ($$096103))|0; + $$sroa$0$0$$sroa_idx = (($2) + ($19<<2)|0); + HEAP8[$$sroa$0$0$$sroa_idx>>0]=-1&255;HEAP8[$$sroa$0$0$$sroa_idx+1>>0]=(-1>>8)&255;HEAP8[$$sroa$0$0$$sroa_idx+2>>0]=(-1>>16)&255;HEAP8[$$sroa$0$0$$sroa_idx+3>>0]=-1>>24; + } + $20 = (($$097102) + -1)|0; + $21 = ($$097102|0)>(0); + if ($21) { + $$097102 = $20; + } else { + break; + } + } + $12 = (($$095104) + 1)|0; + $13 = ($$095104|0)>(511); + $$ = $13 ? 0 : $12; + $14 = (($$096103) + 32)|0; + $15 = ($14|0)<(16384); if ($15) { - $16 = ($14*3)|0; - $17 = HEAP32[2212>>2]|0; - $18 = (($17) + ($16<<2)|0); - HEAPF32[$18>>2] = $x; - $19 = HEAP32[2164>>2]|0; - $20 = ($19*3)|0; - $21 = (($20) + 1)|0; - $22 = HEAP32[2212>>2]|0; - $23 = (($22) + ($21<<2)|0); - HEAPF32[$23>>2] = $y; - $24 = HEAP32[2164>>2]|0; - $25 = ($24*3)|0; - $26 = (($25) + 2)|0; - $27 = HEAP32[2212>>2]|0; - $28 = (($27) + ($26<<2)|0); - HEAPF32[$28>>2] = $z; - $29 = HEAP32[2164>>2]|0; - $30 = (($29) + 1)|0; - HEAP32[2164>>2] = $30; - STACKTOP = sp;return; + $$095104 = $$;$$096103 = $14; } else { - _TraceLog(1,11291,$vararg_buffer); - STACKTOP = sp;return; + break; } + } + _LoadImageEx($0,$2,128,128); + _ImageFormat($0,2); + _free($2); + ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; + _LoadTextureFromImage($1,$$byval_copy1); + ;HEAP32[24888>>2]=HEAP32[$1>>2]|0;HEAP32[24888+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[24888+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[24888+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[24888+16>>2]=HEAP32[$1+16>>2]|0; + ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; + _UnloadImage($$byval_copy1); + $5 = HEAP32[(24912)>>2]|0; + $6 = $5 << 5; + $7 = (_malloc($6)|0); + HEAP32[(24916)>>2] = $7; + $8 = ($5|0)>(0); + if (!($8)) { + $$lcssa = $7; + $22 = ((($$lcssa)) + 16|0); + $23 = HEAP32[$22>>2]|0; + HEAP32[(24908)>>2] = $23; + $24 = HEAP32[6222]|0; + HEAP32[$vararg_buffer>>2] = $24; + _TraceLog(0,6380,$vararg_buffer); + STACKTOP = sp;return; + } + $9 = HEAP32[(24892)>>2]|0; + $10 = HEAP32[(24912)>>2]|0; + $11 = HEAP32[(24916)>>2]|0; + $$0101 = 0;$$090100 = 1;$$09299 = 0;$27 = $7; + while(1) { + $25 = (($$0101) + 32)|0; + $26 = (($27) + ($$0101<<5)|0); + HEAP32[$26>>2] = $25; + $28 = (((($27) + ($$0101<<5)|0)) + 4|0); + HEAP32[$28>>2] = $$090100; + $29 = ($$09299*11)|0; + $30 = (($29) + 1)|0; + $31 = (((($27) + ($$0101<<5)|0)) + 8|0); + HEAP32[$31>>2] = $30; + $32 = (2068 + ($$0101<<2)|0); + $33 = HEAP32[$32>>2]|0; + $34 = (((($27) + ($$0101<<5)|0)) + 12|0); + HEAP32[$34>>2] = $33; + $35 = (((($27) + ($$0101<<5)|0)) + 16|0); + HEAP32[$35>>2] = 10; + $36 = (($$090100) + 1)|0; + $37 = (($36) + ($33))|0; + $38 = ($37|0)<($9|0); + $39 = (($$09299) + 1)|0; + if ($38) { + $$191 = $37;$$193 = $$09299; + } else { + $40 = ($39*11)|0; + $41 = (($40) + 1)|0; + $42 = (($33) + 2)|0; + HEAP32[$28>>2] = 1; + HEAP32[$31>>2] = $41; + $$191 = $42;$$193 = $39; + } + $43 = (((($27) + ($$0101<<5)|0)) + 20|0); + HEAP32[$43>>2] = 0; + $44 = (((($27) + ($$0101<<5)|0)) + 24|0); + HEAP32[$44>>2] = 0; + $45 = (((($27) + ($$0101<<5)|0)) + 28|0); + HEAP32[$45>>2] = 0; + $46 = (($$0101) + 1)|0; + $47 = ($46|0)<($10|0); + if ($47) { + $$0101 = $46;$$090100 = $$191;$$09299 = $$193;$27 = $11; + } else { + $$lcssa = $11; + break; + } + } + $22 = ((($$lcssa)) + 16|0); + $23 = HEAP32[$22>>2]|0; + HEAP32[(24908)>>2] = $23; + $24 = HEAP32[6222]|0; + HEAP32[$vararg_buffer>>2] = $24; + _TraceLog(0,6380,$vararg_buffer); + STACKTOP = sp;return; +} +function _InitTimer() { + var $0 = 0, $1 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (_time((0|0))|0); + _srand($0); + $1 = (+_GetTime()); + HEAPF64[3001] = $1; + return; +} +function _EmscriptenFullscreenChangeCallback($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer4 = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, $vararg_ptr9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $vararg_buffer4 = sp + 16|0; + $vararg_buffer = sp; + $3 = HEAP32[$1>>2]|0; + $4 = ($3|0)==(0); + $5 = ((($1)) + 264|0); + $6 = HEAP32[$5>>2]|0; + $7 = ((($1)) + 268|0); + $8 = HEAP32[$7>>2]|0; + $9 = ((($1)) + 272|0); + $10 = HEAP32[$9>>2]|0; + $11 = ((($1)) + 276|0); + $12 = HEAP32[$11>>2]|0; + if ($4) { + HEAP32[$vararg_buffer4>>2] = $6; + $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); + HEAP32[$vararg_ptr7>>2] = $8; + $vararg_ptr8 = ((($vararg_buffer4)) + 8|0); + HEAP32[$vararg_ptr8>>2] = $10; + $vararg_ptr9 = ((($vararg_buffer4)) + 12|0); + HEAP32[$vararg_ptr9>>2] = $12; + _TraceLog(0,6313,$vararg_buffer4); + STACKTOP = sp;return 0; + } else { + HEAP32[$vararg_buffer>>2] = $6; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $8; + $vararg_ptr2 = ((($vararg_buffer)) + 8|0); + HEAP32[$vararg_ptr2>>2] = $10; + $vararg_ptr3 = ((($vararg_buffer)) + 12|0); + HEAP32[$vararg_ptr3>>2] = $12; + _TraceLog(0,6244,$vararg_buffer); + STACKTOP = sp;return 0; + } + return (0)|0; +} +function _EmscriptenKeyboardCallback($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ($0|0)==(1); + if (!($3)) { + return 0; + } + $4 = ((($1)) + 32|0); + $5 = (_strcmp($4,6237)|0); + $6 = ($5|0)==(0); + if (!($6)) { + return 0; + } + (_emscripten_exit_pointerlock()|0); + return 0; +} +function _EmscriptenMouseCallback($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var label = 0, sp = 0; + sp = STACKTOP; + return 0; +} +function _EmscriptenTouchCallback($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$byval_copy = 0, $$sink = 0, $$sroa$0$0$$sroa_idx = 0, $$sroa$03$0$$sroa_idx = 0, $$sroa$2$0$$sroa_idx2 = 0, $$sroa$24$0$$sroa_idx5 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0.0, $18 = 0, $19 = 0, $20 = 0.0, $21 = 0, $22 = 0, $23 = 0.0; + var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; + var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0.0, $48 = 0.0, $49 = 0.0, $5 = 0, $50 = 0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0, $59 = 0.0, $6 = 0; + var $60 = 0.0, $61 = 0.0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0); + $$byval_copy = sp + 56|0; + $3 = sp; + switch ($0|0) { + case 22: { + $$sink = 1; + label = 4; break; } - case 1: { - $31 = HEAP32[2176>>2]|0; - $32 = ($31|0)<(6144); - if ($32) { - $33 = ($31*3)|0; - $34 = HEAP32[2216>>2]|0; - $35 = (($34) + ($33<<2)|0); - HEAPF32[$35>>2] = $x; - $36 = HEAP32[2176>>2]|0; - $37 = ($36*3)|0; - $38 = (($37) + 1)|0; - $39 = HEAP32[2216>>2]|0; - $40 = (($39) + ($38<<2)|0); - HEAPF32[$40>>2] = $y; - $41 = HEAP32[2176>>2]|0; - $42 = ($41*3)|0; - $43 = (($42) + 2)|0; - $44 = HEAP32[2216>>2]|0; - $45 = (($44) + ($43<<2)|0); - HEAPF32[$45>>2] = $z; - $46 = HEAP32[2176>>2]|0; - $47 = (($46) + 1)|0; - HEAP32[2176>>2] = $47; - STACKTOP = sp;return; - } else { - _TraceLog(1,11316,$vararg_buffer1); - STACKTOP = sp;return; - } + case 23: { + $$sink = 0; + label = 4; break; } - case 2: { - $48 = HEAP32[2188>>2]|0; - $49 = ($48|0)<(4096); - if ($49) { - $50 = ($48*3)|0; - $51 = HEAP32[2220>>2]|0; - $52 = (($51) + ($50<<2)|0); - HEAPF32[$52>>2] = $x; - $53 = HEAP32[2188>>2]|0; - $54 = ($53*3)|0; - $55 = (($54) + 1)|0; - $56 = HEAP32[2220>>2]|0; - $57 = (($56) + ($55<<2)|0); - HEAPF32[$57>>2] = $y; - $58 = HEAP32[2188>>2]|0; - $59 = ($58*3)|0; - $60 = (($59) + 2)|0; - $61 = HEAP32[2220>>2]|0; - $62 = (($61) + ($60<<2)|0); - HEAPF32[$62>>2] = $z; - $63 = HEAP32[2188>>2]|0; - $64 = (($63) + 1)|0; - HEAP32[2188>>2] = $64; - $65 = HEAP32[2224>>2]|0; - $66 = (($65) + -1)|0; - $67 = HEAP32[2228>>2]|0; - $68 = (((($67) + ($66<<3)|0)) + 4|0); - $69 = HEAP32[$68>>2]|0; - $70 = (($69) + 1)|0; - HEAP32[$68>>2] = $70; - STACKTOP = sp;return; - } else { - _TraceLog(1,11345,$vararg_buffer3); - STACKTOP = sp;return; - } + case 24: { + $$sink = 2; + label = 4; break; } default: { - STACKTOP = sp;return; } } + if ((label|0) == 4) { + HEAP32[$3>>2] = $$sink; + } + $4 = HEAP32[$1>>2]|0; + $5 = ((($3)) + 4|0); + HEAP32[$5>>2] = $4; + $6 = ((($1)) + 20|0); + $7 = HEAP32[$6>>2]|0; + $8 = ((($3)) + 8|0); + HEAP32[$8>>2] = $7; + $9 = ((($1)) + 72|0); + $10 = HEAP32[$9>>2]|0; + $11 = ((($3)) + 12|0); + HEAP32[$11>>2] = $10; + $12 = ((($1)) + 56|0); + $13 = HEAP32[$12>>2]|0; + $14 = (+($13|0)); + $15 = ((($1)) + 60|0); + $16 = HEAP32[$15>>2]|0; + $17 = (+($16|0)); + $$sroa$03$0$$sroa_idx = ((($3)) + 24|0); + HEAPF32[$$sroa$03$0$$sroa_idx>>2] = $14; + $$sroa$24$0$$sroa_idx5 = ((($3)) + 28|0); + HEAPF32[$$sroa$24$0$$sroa_idx5>>2] = $17; + $18 = ((($1)) + 108|0); + $19 = HEAP32[$18>>2]|0; + $20 = (+($19|0)); + $21 = ((($1)) + 112|0); + $22 = HEAP32[$21>>2]|0; + $23 = (+($22|0)); + $$sroa$0$0$$sroa_idx = ((($3)) + 32|0); + HEAPF32[$$sroa$0$0$$sroa_idx>>2] = $20; + $$sroa$2$0$$sroa_idx2 = ((($3)) + 36|0); + HEAPF32[$$sroa$2$0$$sroa_idx2>>2] = $23; + $24 = ((($3)) + 24|0); + $25 = $24; + $26 = $25; + $27 = HEAP32[$26>>2]|0; + $28 = (($25) + 4)|0; + $29 = $28; + $30 = HEAP32[$29>>2]|0; + $31 = 23992; + $32 = $31; + HEAP32[$32>>2] = $27; + $33 = (($31) + 4)|0; + $34 = $33; + HEAP32[$34>>2] = $30; + $35 = ((($3)) + 32|0); + $36 = $35; + $37 = $36; + $38 = HEAP32[$37>>2]|0; + $39 = (($36) + 4)|0; + $40 = $39; + $41 = HEAP32[$40>>2]|0; + $42 = (24000); + $43 = $42; + HEAP32[$43>>2] = $38; + $44 = (($42) + 4)|0; + $45 = $44; + HEAP32[$45>>2] = $41; + $46 = (_GetScreenWidth()|0); + $47 = (+($46|0)); + $48 = +HEAPF32[$24>>2]; + $49 = $48 / $47; + HEAPF32[$24>>2] = $49; + $50 = (_GetScreenHeight()|0); + $51 = (+($50|0)); + $52 = +HEAPF32[$$sroa$24$0$$sroa_idx5>>2]; + $53 = $52 / $51; + HEAPF32[$$sroa$24$0$$sroa_idx5>>2] = $53; + $54 = (_GetScreenWidth()|0); + $55 = (+($54|0)); + $56 = +HEAPF32[$35>>2]; + $57 = $56 / $55; + HEAPF32[$35>>2] = $57; + $58 = (_GetScreenHeight()|0); + $59 = (+($58|0)); + $60 = +HEAPF32[$$sroa$2$0$$sroa_idx2>>2]; + $61 = $60 / $59; + HEAPF32[$$sroa$2$0$$sroa_idx2>>2] = $61; + dest=$$byval_copy; src=$3; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _ProcessGestureEvent($$byval_copy); + STACKTOP = sp;return 1; } -function _rlVertex2f($x,$y) { - $x = +$x; - $y = +$y; +function _EmscriptenGamepadCallback($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$sink = 0, $10 = 0, $11 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ((($1)) + 1296|0); + $4 = HEAP32[$3>>2]|0; + $5 = ($4|0)==(0); + if ($5) { + label = 3; + } else { + $6 = ((($1)) + 1300|0); + $7 = HEAP32[$6>>2]|0; + $8 = ($7|0)<(4); + if ($8) { + $$sink = 1; + } else { + label = 3; + } + } + if ((label|0) == 3) { + $$sink = 0; + } + $9 = ((($1)) + 1300|0); + $10 = HEAP32[$9>>2]|0; + $11 = (24872 + ($10<<2)|0); + HEAP32[$11>>2] = $$sink; + return 0; +} +function _SetTargetFPS($0) { + $0 = $0|0; + var $$ = 0.0, $$op = 0.0, $1 = 0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $vararg_buffer = sp; + $1 = ($0|0)<(1); + $2 = (+($0|0)); + $3 = 1.0 / $2; + $$ = $1 ? 0.0 : $3; + HEAPF64[2998] = $$; + $4 = $3; + $$op = $4 * 1000.0; + $5 = $$op; + $6 = $1 ? 0.0 : $5; + HEAPF64[$vararg_buffer>>3] = $6; + _TraceLog(0,6193,$vararg_buffer); + STACKTOP = sp;return; +} +function _LogoAnimation() { + var label = 0, sp = 0; + sp = STACKTOP; + HEAP32[6217] = 0; + return; +} +function _GetTime() { var $0 = 0.0, label = 0, sp = 0; sp = STACKTOP; - $0 = +HEAPF32[2208>>2]; - _rlVertex3f($x,$y,$0); - return; + $0 = (+_glfwGetTime()); + return (+$0); } -function _rlVertex2i($x,$y) { - $x = $x|0; - $y = $y|0; - var $0 = 0.0, $1 = 0.0, $2 = 0.0, label = 0, sp = 0; +function _LoadImageEx($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$03334 = 0, $$035 = 0, $$sroa$12$0$$sroa_idx21 = 0, $$sroa$15$0$$sroa_idx24 = 0, $$sroa$16$0$$sroa_idx26 = 0, $$sroa$9$0$$sroa_idx18 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; + var $24 = 0, $25 = 0, $26 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = (+($x|0)); - $1 = (+($y|0)); - $2 = +HEAPF32[2208>>2]; - _rlVertex3f($0,$1,$2); - return; -} -function _rlTexCoord2f($x,$y) { - $x = +$x; - $y = +$y; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[2152>>2]|0; - $1 = ($0|0)==(2); - if (!($1)) { - return; + $4 = $2 << 2; + $5 = Math_imul($4, $3)|0; + $6 = (_malloc($5)|0); + $7 = ($5|0)>(0); + if ($7) { + $8 = (($5) + -1)|0; + $9 = $8 >>> 2; + $$03334 = 0;$$035 = 0; + while(1) { + $10 = (($1) + ($$03334<<2)|0); + $11 = HEAP8[$10>>0]|0; + $12 = (($6) + ($$035)|0); + HEAP8[$12>>0] = $11; + $13 = (((($1) + ($$03334<<2)|0)) + 1|0); + $14 = HEAP8[$13>>0]|0; + $15 = $$035 | 1; + $16 = (($6) + ($15)|0); + HEAP8[$16>>0] = $14; + $17 = (((($1) + ($$03334<<2)|0)) + 2|0); + $18 = HEAP8[$17>>0]|0; + $19 = $$035 | 2; + $20 = (($6) + ($19)|0); + HEAP8[$20>>0] = $18; + $21 = (((($1) + ($$03334<<2)|0)) + 3|0); + $22 = HEAP8[$21>>0]|0; + $23 = $$035 | 3; + $24 = (($6) + ($23)|0); + HEAP8[$24>>0] = $22; + $25 = (($$03334) + 1)|0; + $26 = (($$035) + 4)|0; + $exitcond = ($$03334|0)==($9|0); + if ($exitcond) { + break; + } else { + $$03334 = $25;$$035 = $26; + } + } } - $2 = HEAP32[2200>>2]|0; - $3 = $2 << 1; - $4 = HEAP32[2204>>2]|0; - $5 = (($4) + ($3<<2)|0); - HEAPF32[$5>>2] = $x; - $6 = HEAP32[2200>>2]|0; - $7 = $6 << 1; - $8 = $7 | 1; - $9 = HEAP32[2204>>2]|0; - $10 = (($9) + ($8<<2)|0); - HEAPF32[$10>>2] = $y; - $11 = HEAP32[2200>>2]|0; - $12 = (($11) + 1)|0; - HEAP32[2200>>2] = $12; + HEAP32[$0>>2] = $6; + $$sroa$9$0$$sroa_idx18 = ((($0)) + 4|0); + HEAP32[$$sroa$9$0$$sroa_idx18>>2] = $2; + $$sroa$12$0$$sroa_idx21 = ((($0)) + 8|0); + HEAP32[$$sroa$12$0$$sroa_idx21>>2] = $3; + $$sroa$15$0$$sroa_idx24 = ((($0)) + 12|0); + HEAP32[$$sroa$15$0$$sroa_idx24>>2] = 1; + $$sroa$16$0$$sroa_idx26 = ((($0)) + 16|0); + HEAP32[$$sroa$16$0$$sroa_idx26>>2] = 7; return; } -function _rlNormal3f($x,$y,$z) { - $x = +$x; - $y = +$y; - $z = +$z; - var label = 0, sp = 0; +function _ImageFormat($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0166199 = 0, $$0167197 = 0, $$0168195 = 0, $$0169192 = 0, $$0170190 = 0, $$0171188 = 0, $$0172189 = 0, $$0202 = 0, $$1194 = 0, $$2201 = 0, $$byval_copy = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0.0, $103 = 0.0, $104 = 0.0, $105 = 0, $106 = 0, $107 = 0; + var $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0; + var $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0; + var $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0; + var $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0.0, $17 = 0, $170 = 0.0, $171 = 0.0, $172 = 0, $173 = 0, $174 = 0, $175 = 0.0, $176 = 0.0, $177 = 0.0, $178 = 0, $179 = 0, $18 = 0; + var $180 = 0, $181 = 0.0, $182 = 0.0, $183 = 0.0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0.0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0; + var $199 = 0, $2 = 0, $20 = 0.0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0; + var $216 = 0, $217 = 0, $218 = 0.0, $219 = 0.0, $22 = 0, $220 = 0.0, $221 = 0, $222 = 0, $223 = 0, $224 = 0.0, $225 = 0.0, $226 = 0.0, $227 = 0, $228 = 0, $229 = 0, $23 = 0.0, $230 = 0.0, $231 = 0.0, $232 = 0.0, $233 = 0; + var $234 = 0, $235 = 0, $236 = 0.0, $237 = 0.0, $238 = 0.0, $239 = 0, $24 = 0.0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0.0, $250 = 0, $251 = 0; + var $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0; + var $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0.0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0; + var $289 = 0, $29 = 0.0, $290 = 0, $3 = 0, $30 = 0.0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0.0, $53 = 0.0, $54 = 0, $55 = 0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0, $6 = 0, $60 = 0, $61 = 0.0, $62 = 0.0; + var $63 = 0.0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0; + var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0.0, $91 = 0.0, $92 = 0.0, $93 = 0, $94 = 0, $95 = 0, $96 = 0.0, $97 = 0.0, $98 = 0.0, $99 = 0; + var $or$cond = 0, $roundf = 0.0, $roundf173 = 0.0, $roundf174 = 0.0, $roundf175 = 0.0, $roundf176 = 0.0, $roundf177 = 0.0, $roundf178 = 0.0, $roundf179 = 0.0, $roundf180 = 0.0, $roundf181 = 0.0, $vararg_buffer = 0, label = 0, sp = 0; sp = STACKTOP; - return; -} -function _rlColor4ub($x,$y,$z,$w) { - $x = $x|0; - $y = $y|0; - $z = $z|0; - $w = $w|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; - var $63 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[2152>>2]|0; - switch ($0|0) { - case 0: { - $1 = HEAP32[2168>>2]|0; - $2 = $1 << 2; - $3 = HEAP32[2172>>2]|0; - $4 = (($3) + ($2)|0); - HEAP8[$4>>0] = $x; - $5 = HEAP32[2168>>2]|0; - $6 = $5 << 2; - $7 = $6 | 1; - $8 = HEAP32[2172>>2]|0; - $9 = (($8) + ($7)|0); - HEAP8[$9>>0] = $y; - $10 = HEAP32[2168>>2]|0; - $11 = $10 << 2; - $12 = $11 | 2; - $13 = HEAP32[2172>>2]|0; - $14 = (($13) + ($12)|0); - HEAP8[$14>>0] = $z; - $15 = HEAP32[2168>>2]|0; - $16 = $15 << 2; - $17 = $16 | 3; - $18 = HEAP32[2172>>2]|0; - $19 = (($18) + ($17)|0); - HEAP8[$19>>0] = $w; - $20 = HEAP32[2168>>2]|0; - $21 = (($20) + 1)|0; - HEAP32[2168>>2] = $21; - return; - break; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $$byval_copy = sp + 4|0; + $vararg_buffer = sp; + $2 = ((($0)) + 16|0); + $3 = HEAP32[$2>>2]|0; + $4 = ($3|0)==($1|0); + if ($4) { + STACKTOP = sp;return; } + $5 = ($3|0)<(8); + $6 = ($1|0)<(8); + $or$cond = $6 & $5; + if (!($or$cond)) { + _TraceLog(1,6774,$vararg_buffer); + STACKTOP = sp;return; + } + ;HEAP32[$$byval_copy>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$0+16>>2]|0; + $7 = (_GetImageData($$byval_copy)|0); + $8 = HEAP32[$0>>2]|0; + _free($8); + HEAP32[$2>>2] = $1; + switch ($1|0) { case 1: { - $22 = HEAP32[2180>>2]|0; - $23 = $22 << 2; - $24 = HEAP32[2184>>2]|0; - $25 = (($24) + ($23)|0); - HEAP8[$25>>0] = $x; - $26 = HEAP32[2180>>2]|0; - $27 = $26 << 2; - $28 = $27 | 1; - $29 = HEAP32[2184>>2]|0; - $30 = (($29) + ($28)|0); - HEAP8[$30>>0] = $y; - $31 = HEAP32[2180>>2]|0; - $32 = $31 << 2; - $33 = $32 | 2; - $34 = HEAP32[2184>>2]|0; - $35 = (($34) + ($33)|0); - HEAP8[$35>>0] = $z; - $36 = HEAP32[2180>>2]|0; - $37 = $36 << 2; - $38 = $37 | 3; - $39 = HEAP32[2184>>2]|0; - $40 = (($39) + ($38)|0); - HEAP8[$40>>0] = $w; - $41 = HEAP32[2180>>2]|0; - $42 = (($41) + 1)|0; - HEAP32[2180>>2] = $42; - return; + $9 = ((($0)) + 4|0); + $10 = HEAP32[$9>>2]|0; + $11 = ((($0)) + 8|0); + $12 = HEAP32[$11>>2]|0; + $13 = Math_imul($12, $10)|0; + $14 = (_malloc($13)|0); + HEAP32[$0>>2] = $14; + $15 = Math_imul($12, $10)|0; + $16 = ($15|0)>(0); + if ($16) { + $$0171188 = 0; + while(1) { + $17 = (($7) + ($$0171188<<2)|0); + $18 = HEAP8[$17>>0]|0; + $19 = (+($18&255)); + $20 = $19 * 0.29899999499320984; + $21 = (((($7) + ($$0171188<<2)|0)) + 1|0); + $22 = HEAP8[$21>>0]|0; + $23 = (+($22&255)); + $24 = $23 * 0.58700001239776611; + $25 = $20 + $24; + $26 = (((($7) + ($$0171188<<2)|0)) + 2|0); + $27 = HEAP8[$26>>0]|0; + $28 = (+($27&255)); + $29 = $28 * 0.11400000005960464; + $30 = $25 + $29; + $31 = (~~(($30))&255); + $32 = HEAP32[$0>>2]|0; + $33 = (($32) + ($$0171188)|0); + HEAP8[$33>>0] = $31; + $34 = (($$0171188) + 1)|0; + $35 = HEAP32[$9>>2]|0; + $36 = HEAP32[$11>>2]|0; + $37 = Math_imul($36, $35)|0; + $38 = ($34|0)<($37|0); + if ($38) { + $$0171188 = $34; + } else { + break; + } + } + } break; } case 2: { - $43 = HEAP32[2192>>2]|0; - $44 = $43 << 2; - $45 = HEAP32[2196>>2]|0; - $46 = (($45) + ($44)|0); - HEAP8[$46>>0] = $x; - $47 = HEAP32[2192>>2]|0; - $48 = $47 << 2; - $49 = $48 | 1; - $50 = HEAP32[2196>>2]|0; - $51 = (($50) + ($49)|0); - HEAP8[$51>>0] = $y; - $52 = HEAP32[2192>>2]|0; - $53 = $52 << 2; - $54 = $53 | 2; - $55 = HEAP32[2196>>2]|0; - $56 = (($55) + ($54)|0); - HEAP8[$56>>0] = $z; - $57 = HEAP32[2192>>2]|0; - $58 = $57 << 2; - $59 = $58 | 3; - $60 = HEAP32[2196>>2]|0; - $61 = (($60) + ($59)|0); - HEAP8[$61>>0] = $w; - $62 = HEAP32[2192>>2]|0; - $63 = (($62) + 1)|0; - HEAP32[2192>>2] = $63; - return; + $39 = ((($0)) + 4|0); + $40 = HEAP32[$39>>2]|0; + $41 = ((($0)) + 8|0); + $42 = HEAP32[$41>>2]|0; + $43 = $40 << 1; + $44 = Math_imul($43, $42)|0; + $45 = (_malloc($44)|0); + HEAP32[$0>>2] = $45; + $46 = HEAP32[$39>>2]|0; + $47 = $46 << 1; + $48 = Math_imul($47, $42)|0; + $49 = ($48|0)>(0); + if ($49) { + $$0170190 = 0;$$0172189 = 0; + while(1) { + $50 = (($7) + ($$0172189<<2)|0); + $51 = HEAP8[$50>>0]|0; + $52 = (+($51&255)); + $53 = $52 * 0.29899999499320984; + $54 = (((($7) + ($$0172189<<2)|0)) + 1|0); + $55 = HEAP8[$54>>0]|0; + $56 = (+($55&255)); + $57 = $56 * 0.58700001239776611; + $58 = $53 + $57; + $59 = (((($7) + ($$0172189<<2)|0)) + 2|0); + $60 = HEAP8[$59>>0]|0; + $61 = (+($60&255)); + $62 = $61 * 0.11400000005960464; + $63 = $58 + $62; + $64 = (~~(($63))&255); + $65 = HEAP32[$0>>2]|0; + $66 = (($65) + ($$0170190)|0); + HEAP8[$66>>0] = $64; + $67 = (((($7) + ($$0172189<<2)|0)) + 3|0); + $68 = HEAP8[$67>>0]|0; + $69 = HEAP32[$0>>2]|0; + $70 = $$0170190 | 1; + $71 = (($69) + ($70)|0); + HEAP8[$71>>0] = $68; + $72 = (($$0172189) + 1)|0; + $73 = (($$0170190) + 2)|0; + $74 = HEAP32[$39>>2]|0; + $75 = HEAP32[$41>>2]|0; + $76 = $74 << 1; + $77 = Math_imul($76, $75)|0; + $78 = ($73|0)<($77|0); + if ($78) { + $$0170190 = $73;$$0172189 = $72; + } else { + break; + } + } + } + break; + } + case 3: { + $79 = ((($0)) + 4|0); + $80 = HEAP32[$79>>2]|0; + $81 = ((($0)) + 8|0); + $82 = HEAP32[$81>>2]|0; + $83 = $80 << 1; + $84 = Math_imul($83, $82)|0; + $85 = (_malloc($84)|0); + HEAP32[$0>>2] = $85; + $86 = HEAP32[$79>>2]|0; + $87 = Math_imul($82, $86)|0; + $88 = ($87|0)>(0); + if ($88) { + $89 = HEAP8[$7>>0]|0; + $90 = (+($89&255)); + $91 = $90 * 31.0; + $92 = $91 / 255.0; + $roundf179 = (+_roundf((+$92))); + $93 = (~~(($roundf179))&255); + $94 = ((($7)) + 1|0); + $95 = HEAP8[$94>>0]|0; + $96 = (+($95&255)); + $97 = $96 * 63.0; + $98 = $97 / 255.0; + $roundf180 = (+_roundf((+$98))); + $99 = (~~(($roundf180))&255); + $100 = ((($7)) + 2|0); + $101 = HEAP8[$100>>0]|0; + $102 = (+($101&255)); + $103 = $102 * 31.0; + $104 = $103 / 255.0; + $roundf181 = (+_roundf((+$104))); + $105 = (~~(($roundf181))&255); + $106 = $93&255; + $107 = $106 << 11; + $108 = $99&255; + $109 = $108 << 5; + $110 = $109 | $107; + $111 = $105&255; + $112 = $110 | $111; + $113 = $112&65535; + $114 = HEAP32[$0>>2]|0; + $115 = HEAP32[$79>>2]|0; + $116 = HEAP32[$81>>2]|0; + $117 = Math_imul($116, $115)|0; + $$0169192 = 0; + while(1) { + $118 = (($114) + ($$0169192<<1)|0); + HEAP16[$118>>1] = $113; + $119 = (($$0169192) + 1)|0; + $120 = ($119|0)<($117|0); + if ($120) { + $$0169192 = $119; + } else { + break; + } + } + } + break; + } + case 4: { + $121 = ((($0)) + 4|0); + $122 = HEAP32[$121>>2]|0; + $123 = ((($0)) + 8|0); + $124 = HEAP32[$123>>2]|0; + $125 = ($122*3)|0; + $126 = Math_imul($125, $124)|0; + $127 = (_malloc($126)|0); + HEAP32[$0>>2] = $127; + $128 = HEAP32[$121>>2]|0; + $129 = ($128*3)|0; + $130 = Math_imul($129, $124)|0; + $131 = ($130|0)>(0); + if ($131) { + $$0168195 = 0;$$1194 = 0; + while(1) { + $132 = (($7) + ($$1194<<2)|0); + $133 = HEAP8[$132>>0]|0; + $134 = HEAP32[$0>>2]|0; + $135 = (($134) + ($$0168195)|0); + HEAP8[$135>>0] = $133; + $136 = (((($7) + ($$1194<<2)|0)) + 1|0); + $137 = HEAP8[$136>>0]|0; + $138 = HEAP32[$0>>2]|0; + $139 = (($$0168195) + 1)|0; + $140 = (($138) + ($139)|0); + HEAP8[$140>>0] = $137; + $141 = (((($7) + ($$1194<<2)|0)) + 2|0); + $142 = HEAP8[$141>>0]|0; + $143 = HEAP32[$0>>2]|0; + $144 = (($$0168195) + 2)|0; + $145 = (($143) + ($144)|0); + HEAP8[$145>>0] = $142; + $146 = (($$1194) + 1)|0; + $147 = (($$0168195) + 3)|0; + $148 = HEAP32[$121>>2]|0; + $149 = HEAP32[$123>>2]|0; + $150 = ($148*3)|0; + $151 = Math_imul($150, $149)|0; + $152 = ($147|0)<($151|0); + if ($152) { + $$0168195 = $147;$$1194 = $146; + } else { + break; + } + } + } + break; + } + case 5: { + $153 = ((($0)) + 4|0); + $154 = HEAP32[$153>>2]|0; + $155 = ((($0)) + 8|0); + $156 = HEAP32[$155>>2]|0; + $157 = $154 << 1; + $158 = Math_imul($157, $156)|0; + $159 = (_malloc($158)|0); + HEAP32[$0>>2] = $159; + $160 = HEAP32[$153>>2]|0; + $161 = Math_imul($156, $160)|0; + $162 = ($161|0)>(0); + if ($162) { + $163 = HEAP32[$0>>2]|0; + $164 = HEAP32[$153>>2]|0; + $165 = HEAP32[$155>>2]|0; + $166 = Math_imul($165, $164)|0; + $$0167197 = 0; + while(1) { + $167 = (($7) + ($$0167197<<2)|0); + $168 = HEAP8[$167>>0]|0; + $169 = (+($168&255)); + $170 = $169 * 31.0; + $171 = $170 / 255.0; + $roundf176 = (+_roundf((+$171))); + $172 = (~~(($roundf176))&255); + $173 = (((($7) + ($$0167197<<2)|0)) + 1|0); + $174 = HEAP8[$173>>0]|0; + $175 = (+($174&255)); + $176 = $175 * 31.0; + $177 = $176 / 255.0; + $roundf177 = (+_roundf((+$177))); + $178 = (~~(($roundf177))&255); + $179 = (((($7) + ($$0167197<<2)|0)) + 2|0); + $180 = HEAP8[$179>>0]|0; + $181 = (+($180&255)); + $182 = $181 * 31.0; + $183 = $182 / 255.0; + $roundf178 = (+_roundf((+$183))); + $184 = (~~(($roundf178))&255); + $185 = (((($7) + ($$0167197<<2)|0)) + 3|0); + $186 = HEAP8[$185>>0]|0; + $187 = ($186&255)>(50); + $188 = $172&255; + $189 = $188 << 11; + $190 = $178&255; + $191 = $190 << 6; + $192 = $191 | $189; + $193 = $184&255; + $194 = $193 << 1; + $195 = $192 | $194; + $196 = $187&1; + $197 = $195 | $196; + $198 = $197&65535; + $199 = (($163) + ($$0167197<<1)|0); + HEAP16[$199>>1] = $198; + $200 = (($$0167197) + 1)|0; + $201 = ($200|0)<($166|0); + if ($201) { + $$0167197 = $200; + } else { + break; + } + } + } + break; + } + case 6: { + $202 = ((($0)) + 4|0); + $203 = HEAP32[$202>>2]|0; + $204 = ((($0)) + 8|0); + $205 = HEAP32[$204>>2]|0; + $206 = $203 << 1; + $207 = Math_imul($206, $205)|0; + $208 = (_malloc($207)|0); + HEAP32[$0>>2] = $208; + $209 = HEAP32[$202>>2]|0; + $210 = Math_imul($205, $209)|0; + $211 = ($210|0)>(0); + if ($211) { + $212 = HEAP32[$0>>2]|0; + $213 = HEAP32[$202>>2]|0; + $214 = HEAP32[$204>>2]|0; + $215 = Math_imul($214, $213)|0; + $$0166199 = 0; + while(1) { + $216 = (($7) + ($$0166199<<2)|0); + $217 = HEAP8[$216>>0]|0; + $218 = (+($217&255)); + $219 = $218 * 15.0; + $220 = $219 / 255.0; + $roundf = (+_roundf((+$220))); + $221 = (~~(($roundf))&255); + $222 = (((($7) + ($$0166199<<2)|0)) + 1|0); + $223 = HEAP8[$222>>0]|0; + $224 = (+($223&255)); + $225 = $224 * 15.0; + $226 = $225 / 255.0; + $roundf173 = (+_roundf((+$226))); + $227 = (~~(($roundf173))&255); + $228 = (((($7) + ($$0166199<<2)|0)) + 2|0); + $229 = HEAP8[$228>>0]|0; + $230 = (+($229&255)); + $231 = $230 * 15.0; + $232 = $231 / 255.0; + $roundf174 = (+_roundf((+$232))); + $233 = (~~(($roundf174))&255); + $234 = (((($7) + ($$0166199<<2)|0)) + 3|0); + $235 = HEAP8[$234>>0]|0; + $236 = (+($235&255)); + $237 = $236 * 15.0; + $238 = $237 / 255.0; + $roundf175 = (+_roundf((+$238))); + $239 = (~~(($roundf175))&255); + $240 = $221&255; + $241 = $240 << 12; + $242 = $227&255; + $243 = $242 << 8; + $244 = $243 | $241; + $245 = $233&255; + $246 = $245 << 4; + $247 = $244 | $246; + $248 = $239&255; + $249 = $247 | $248; + $250 = $249&65535; + $251 = (($212) + ($$0166199<<1)|0); + HEAP16[$251>>1] = $250; + $252 = (($$0166199) + 1)|0; + $253 = ($252|0)<($215|0); + if ($253) { + $$0166199 = $252; + } else { + break; + } + } + } + break; + } + case 7: { + $254 = ((($0)) + 4|0); + $255 = HEAP32[$254>>2]|0; + $256 = ((($0)) + 8|0); + $257 = HEAP32[$256>>2]|0; + $258 = $255 << 2; + $259 = Math_imul($258, $257)|0; + $260 = (_malloc($259)|0); + HEAP32[$0>>2] = $260; + $261 = HEAP32[$254>>2]|0; + $262 = $261 << 2; + $263 = Math_imul($262, $257)|0; + $264 = ($263|0)>(0); + if ($264) { + $$0202 = 0;$$2201 = 0; + while(1) { + $265 = (($7) + ($$2201<<2)|0); + $266 = HEAP8[$265>>0]|0; + $267 = HEAP32[$0>>2]|0; + $268 = (($267) + ($$0202)|0); + HEAP8[$268>>0] = $266; + $269 = (((($7) + ($$2201<<2)|0)) + 1|0); + $270 = HEAP8[$269>>0]|0; + $271 = HEAP32[$0>>2]|0; + $272 = $$0202 | 1; + $273 = (($271) + ($272)|0); + HEAP8[$273>>0] = $270; + $274 = (((($7) + ($$2201<<2)|0)) + 2|0); + $275 = HEAP8[$274>>0]|0; + $276 = HEAP32[$0>>2]|0; + $277 = $$0202 | 2; + $278 = (($276) + ($277)|0); + HEAP8[$278>>0] = $275; + $279 = (((($7) + ($$2201<<2)|0)) + 3|0); + $280 = HEAP8[$279>>0]|0; + $281 = HEAP32[$0>>2]|0; + $282 = $$0202 | 3; + $283 = (($281) + ($282)|0); + HEAP8[$283>>0] = $280; + $284 = (($$2201) + 1)|0; + $285 = (($$0202) + 4)|0; + $286 = HEAP32[$254>>2]|0; + $287 = HEAP32[$256>>2]|0; + $288 = $286 << 2; + $289 = Math_imul($288, $287)|0; + $290 = ($285|0)<($289|0); + if ($290) { + $$0202 = $285;$$2201 = $284; + } else { + break; + } + } + } break; } default: { - return; } } + _free($7); + STACKTOP = sp;return; } -function _rlEnableTexture($id) { - $id = $id|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; +function _LoadTextureFromImage($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$sroa$10$0$$sroa_idx6 = 0, $$sroa$12$0$$sroa_idx8 = 0, $$sroa$6$0$$sroa_idx2 = 0, $$sroa$8$0$$sroa_idx4 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0; + var $vararg_ptr4 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[2224>>2]|0; - $1 = (($0) + -1)|0; - $2 = HEAP32[2228>>2]|0; - $3 = (($2) + ($1<<3)|0); + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $vararg_buffer = sp; + $2 = HEAP32[$1>>2]|0; + $3 = ((($1)) + 4|0); $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)==($id|0); - if ($5) { + $5 = ((($1)) + 8|0); + $6 = HEAP32[$5>>2]|0; + $7 = ((($1)) + 16|0); + $8 = HEAP32[$7>>2]|0; + $9 = ((($1)) + 12|0); + $10 = HEAP32[$9>>2]|0; + $11 = (_rlglLoadTexture($2,$4,$6,$8,$10)|0); + $12 = HEAP32[$3>>2]|0; + $13 = HEAP32[$5>>2]|0; + HEAP32[$vararg_buffer>>2] = $11; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $12; + $vararg_ptr2 = ((($vararg_buffer)) + 8|0); + HEAP32[$vararg_ptr2>>2] = $13; + $vararg_ptr3 = ((($vararg_buffer)) + 12|0); + HEAP32[$vararg_ptr3>>2] = $10; + $vararg_ptr4 = ((($vararg_buffer)) + 16|0); + HEAP32[$vararg_ptr4>>2] = $8; + _TraceLog(0,6425,$vararg_buffer); + HEAP32[$0>>2] = $11; + $$sroa$6$0$$sroa_idx2 = ((($0)) + 4|0); + HEAP32[$$sroa$6$0$$sroa_idx2>>2] = $12; + $$sroa$8$0$$sroa_idx4 = ((($0)) + 8|0); + HEAP32[$$sroa$8$0$$sroa_idx4>>2] = $13; + $$sroa$10$0$$sroa_idx6 = ((($0)) + 12|0); + HEAP32[$$sroa$10$0$$sroa_idx6>>2] = $10; + $$sroa$12$0$$sroa_idx8 = ((($0)) + 16|0); + HEAP32[$$sroa$12$0$$sroa_idx8>>2] = $8; + STACKTOP = sp;return; +} +function _UnloadImage($0) { + $0 = $0|0; + var $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP32[$0>>2]|0; + _free($1); + return; +} +function _rlglLoadTexture($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$0 = 0, $$off = 0, $$off92 = 0, $$off93 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; + var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; + var $46 = 0, $47 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond100 = 0, $or$cond7 = 0, $or$cond96 = 0, $or$cond98 = 0, $switch = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer11 = 0, $vararg_buffer15 = 0, $vararg_buffer3 = 0, $vararg_buffer5 = 0, $vararg_buffer7 = 0; + var $vararg_buffer9 = 0, $vararg_ptr13 = 0, $vararg_ptr14 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0); + $vararg_buffer15 = sp + 64|0; + $vararg_buffer11 = sp + 48|0; + $vararg_buffer9 = sp + 40|0; + $vararg_buffer7 = sp + 32|0; + $vararg_buffer5 = sp + 24|0; + $vararg_buffer3 = sp + 16|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $5 = sp + 68|0; + _glBindTexture(3553,0); + HEAP32[$5>>2] = 0; + $6 = HEAP32[6230]|0; + $7 = ($6|0)==(0); + $8 = $3 & -4; + $switch = ($8|0)==(8); + $or$cond100 = $switch & $7; + if ($or$cond100) { + _TraceLog(1,6472,$vararg_buffer); + $$0 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($$0|0); + } + $9 = HEAP32[6231]|0; + $10 = ($9|0)==(0); + $11 = ($3|0)==(12); + $or$cond7 = $11 & $10; + if ($or$cond7) { + _TraceLog(1,6516,$vararg_buffer1); + $$0 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($$0|0); + } + $12 = HEAP32[6232]|0; + $13 = ($12|0)==(0); + $$off = (($3) + -13)|0; + $14 = ($$off>>>0)<(2); + $or$cond = $14 & $13; + if ($or$cond) { + _TraceLog(1,6561,$vararg_buffer3); + $$0 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($$0|0); + } + $15 = HEAP32[6233]|0; + $16 = ($15|0)==(0); + $$off92 = (($3) + -15)|0; + $17 = ($$off92>>>0)<(2); + $or$cond96 = $17 & $16; + if ($or$cond96) { + _TraceLog(1,6606,$vararg_buffer5); + $$0 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($$0|0); + } + $18 = HEAP32[6234]|0; + $19 = ($18|0)==(0); + $$off93 = (($3) + -17)|0; + $20 = ($$off93>>>0)<(2); + $or$cond98 = $20 & $19; + if ($or$cond98) { + _TraceLog(1,6651,$vararg_buffer7); + $$0 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($$0|0); + } + _glGenTextures(1,($5|0)); + $21 = HEAP32[$5>>2]|0; + _glBindTexture(3553,($21|0)); + do { + switch ($3|0) { + case 1: { + _glTexImage2D(3553,0,6409,($1|0),($2|0),0,6409,5121,($0|0)); + break; + } + case 2: { + _glTexImage2D(3553,0,6410,($1|0),($2|0),0,6410,5121,($0|0)); + break; + } + case 3: { + _glTexImage2D(3553,0,6407,($1|0),($2|0),0,6407,33635,($0|0)); + break; + } + case 4: { + _glTexImage2D(3553,0,6407,($1|0),($2|0),0,6407,5121,($0|0)); + break; + } + case 5: { + _glTexImage2D(3553,0,6408,($1|0),($2|0),0,6408,32820,($0|0)); + break; + } + case 6: { + _glTexImage2D(3553,0,6408,($1|0),($2|0),0,6408,32819,($0|0)); + break; + } + case 7: { + _glTexImage2D(3553,0,6408,($1|0),($2|0),0,6408,5121,($0|0)); + break; + } + case 8: { + $22 = HEAP32[6230]|0; + $23 = ($22|0)==(0); + if (!($23)) { + _LoadCompressedTexture($0,$1,$2,$4,33776); + } + break; + } + case 9: { + $24 = HEAP32[6230]|0; + $25 = ($24|0)==(0); + if (!($25)) { + _LoadCompressedTexture($0,$1,$2,$4,33777); + } + break; + } + case 10: { + $26 = HEAP32[6230]|0; + $27 = ($26|0)==(0); + if (!($27)) { + _LoadCompressedTexture($0,$1,$2,$4,33778); + } + break; + } + case 11: { + $28 = HEAP32[6230]|0; + $29 = ($28|0)==(0); + if (!($29)) { + _LoadCompressedTexture($0,$1,$2,$4,33779); + } + break; + } + case 12: { + $30 = HEAP32[6231]|0; + $31 = ($30|0)==(0); + if (!($31)) { + _LoadCompressedTexture($0,$1,$2,$4,36196); + } + break; + } + case 13: { + $32 = HEAP32[6232]|0; + $33 = ($32|0)==(0); + if (!($33)) { + _LoadCompressedTexture($0,$1,$2,$4,37492); + } + break; + } + case 14: { + $34 = HEAP32[6232]|0; + $35 = ($34|0)==(0); + if (!($35)) { + _LoadCompressedTexture($0,$1,$2,$4,37496); + } + break; + } + case 15: { + $36 = HEAP32[6233]|0; + $37 = ($36|0)==(0); + if (!($37)) { + _LoadCompressedTexture($0,$1,$2,$4,35840); + } + break; + } + case 16: { + $38 = HEAP32[6233]|0; + $39 = ($38|0)==(0); + if (!($39)) { + _LoadCompressedTexture($0,$1,$2,$4,35842); + } + break; + } + case 17: { + $40 = HEAP32[6234]|0; + $41 = ($40|0)==(0); + if (!($41)) { + _LoadCompressedTexture($0,$1,$2,$4,37808); + } + break; + } + case 18: { + $42 = HEAP32[6234]|0; + $43 = ($42|0)==(0); + if (!($43)) { + _LoadCompressedTexture($0,$1,$2,$4,37815); + } + break; + } + default: { + _TraceLog(1,6696,$vararg_buffer9); + } + } + } while(0); + $44 = HEAP32[6235]|0; + $45 = ($44|0)==(0); + if ($45) { + _glTexParameteri(3553,10242,33071); + _glTexParameteri(3553,10243,33071); + } else { + _glTexParameteri(3553,10242,10497); + _glTexParameteri(3553,10243,10497); + } + _glTexParameteri(3553,10240,9728); + _glTexParameteri(3553,10241,9728); + _glBindTexture(3553,0); + $46 = HEAP32[$5>>2]|0; + $47 = ($46|0)==(0); + if ($47) { + _TraceLog(1,13255,$vararg_buffer15); + $$0 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($$0|0); + } else { + HEAP32[$vararg_buffer11>>2] = $46; + $vararg_ptr13 = ((($vararg_buffer11)) + 4|0); + HEAP32[$vararg_ptr13>>2] = $1; + $vararg_ptr14 = ((($vararg_buffer11)) + 8|0); + HEAP32[$vararg_ptr14>>2] = $2; + _TraceLog(0,6725,$vararg_buffer11); + $$0 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($$0|0); + } + return (0)|0; +} +function _LoadCompressedTexture($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$ = 0, $$03645 = 0, $$03744 = 0, $$038 = 0, $$03943 = 0, $$046 = 0, $$140 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0; + var $23 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond42 = 0, label = 0, sp = 0; + sp = STACKTOP; + _glPixelStorei(3317,1); + switch ($4|0) { + case 33776: case 33777: case 36196: case 37492: { + $$038 = 8; + break; + } + default: { + $$038 = 16; + } + } + $5 = ($3|0)<(1); + $6 = $1 | $2; + $7 = ($6|0)==(0); + $or$cond42 = $5 | $7; + if ($or$cond42) { return; + } else { + $$03645 = 0;$$03744 = 0;$$03943 = $2;$$046 = $1; } - $6 = (((($2) + ($1<<3)|0)) + 4|0); - $7 = HEAP32[$6>>2]|0; - $8 = ($7|0)>(0); - if ($8) { - $9 = (($0) + 1)|0; - HEAP32[2224>>2] = $9; + while(1) { + $8 = (($$046) + 3)|0; + $9 = (($8|0) / 4)&-1; + $10 = (($$03943) + 3)|0; + $11 = (($10|0) / 4)&-1; + $12 = Math_imul($11, $$038)|0; + $13 = Math_imul($12, $9)|0; + $14 = (($0) + ($$03744)|0); + _glCompressedTexImage2D(3553,($$03645|0),($4|0),($$046|0),($$03943|0),0,($13|0),($14|0)); + $15 = (($13) + ($$03744))|0; + $16 = (($$046|0) / 2)&-1; + $17 = (($$03943|0) / 2)&-1; + $18 = ($$046|0)<(2); + $$ = $18 ? 1 : $16; + $19 = ($$03943|0)<(2); + $$140 = $19 ? 1 : $17; + $20 = (($$03645) + 1)|0; + $21 = ($20|0)>=($3|0); + $22 = $$ | $$140; + $23 = ($22|0)==(0); + $or$cond = $21 | $23; + if ($or$cond) { + break; + } else { + $$03645 = $20;$$03744 = $15;$$03943 = $$140;$$046 = $$; + } } - $10 = HEAP32[2224>>2]|0; - $11 = (($10) + -1)|0; - $12 = HEAP32[2228>>2]|0; - $13 = (($12) + ($11<<3)|0); - HEAP32[$13>>2] = $id; - $14 = HEAP32[2224>>2]|0; - $15 = (($14) + -1)|0; - $16 = HEAP32[2228>>2]|0; - $17 = (((($16) + ($15<<3)|0)) + 4|0); - HEAP32[$17>>2] = 0; return; } -function _rlDisableTexture() { - var label = 0, sp = 0; +function _GetImageData($0) { + $0 = $0|0; + var $$0104105 = 0, $$0106 = 0, $$1 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0.0, $103 = 0.0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0; + var $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0; + var $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; + var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0.0, $4 = 0, $40 = 0.0, $41 = 0; + var $42 = 0, $43 = 0, $44 = 0, $45 = 0.0, $46 = 0.0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0.0, $52 = 0.0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0; + var $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0.0, $65 = 0.0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0.0, $71 = 0.0, $72 = 0, $73 = 0, $74 = 0, $75 = 0.0, $76 = 0.0, $77 = 0, $78 = 0; + var $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0.0, $86 = 0.0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0.0, $92 = 0.0, $93 = 0, $94 = 0, $95 = 0, $96 = 0; + var $97 = 0.0, $98 = 0.0, $99 = 0, $vararg_buffer = 0, label = 0, sp = 0; sp = STACKTOP; - return; -} -function _rlDeleteTextures($id) { - $id = $id|0; - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $id; - _glDeleteTextures(1,($0|0)); - STACKTOP = sp;return; -} -function _rlEnablePostproFBO() { - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[2232>>2]|0; - _glBindFramebuffer(36160,($0|0)); - return; -} -function _rlDeleteVertexArrays($id) { - $id = $id|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $id; - $1 = HEAP32[2244>>2]|0; - $2 = ($1|0)==(0); - if ($2) { - STACKTOP = sp;return; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $vararg_buffer = sp; + $1 = ((($0)) + 4|0); + $2 = HEAP32[$1>>2]|0; + $3 = ((($0)) + 8|0); + $4 = HEAP32[$3>>2]|0; + $5 = $2 << 2; + $6 = Math_imul($5, $4)|0; + $7 = (_malloc($6)|0); + $8 = HEAP32[$1>>2]|0; + $9 = Math_imul($4, $8)|0; + $10 = ($9|0)>(0); + if (!($10)) { + STACKTOP = sp;return ($7|0); } - $3 = HEAP32[2248>>2]|0; - FUNCTION_TABLE_vii[$3 & 63](1,$0); + $11 = ((($0)) + 16|0); + $12 = HEAP32[$11>>2]|0; + $13 = HEAP32[$0>>2]|0; + $$0104105 = 0;$$0106 = 0; + while(1) { + switch ($12|0) { + case 1: { + $14 = (($13) + ($$0106)|0); + $15 = HEAP8[$14>>0]|0; + $16 = (($7) + ($$0104105<<2)|0); + HEAP8[$16>>0] = $15; + $17 = HEAP8[$14>>0]|0; + $18 = (((($7) + ($$0104105<<2)|0)) + 1|0); + HEAP8[$18>>0] = $17; + $19 = HEAP8[$14>>0]|0; + $20 = (((($7) + ($$0104105<<2)|0)) + 2|0); + HEAP8[$20>>0] = $19; + $21 = (((($7) + ($$0104105<<2)|0)) + 3|0); + HEAP8[$21>>0] = -1; + $22 = (($$0106) + 1)|0; + $$1 = $22; + break; + } + case 2: { + $23 = (($13) + ($$0106)|0); + $24 = HEAP8[$23>>0]|0; + $25 = (($7) + ($$0104105<<2)|0); + HEAP8[$25>>0] = $24; + $26 = HEAP8[$23>>0]|0; + $27 = (((($7) + ($$0104105<<2)|0)) + 1|0); + HEAP8[$27>>0] = $26; + $28 = HEAP8[$23>>0]|0; + $29 = (((($7) + ($$0104105<<2)|0)) + 2|0); + HEAP8[$29>>0] = $28; + $30 = (($$0106) + 1)|0; + $31 = (($13) + ($30)|0); + $32 = HEAP8[$31>>0]|0; + $33 = (((($7) + ($$0104105<<2)|0)) + 3|0); + HEAP8[$33>>0] = $32; + $34 = (($$0106) + 2)|0; + $$1 = $34; + break; + } + case 5: { + $35 = (($13) + ($$0106<<1)|0); + $36 = HEAP16[$35>>1]|0; + $37 = $36&65535; + $38 = $37 >>> 11; + $39 = (+($38|0)); + $40 = $39 * 8.0; + $41 = (~~(($40))&255); + $42 = (($7) + ($$0104105<<2)|0); + HEAP8[$42>>0] = $41; + $43 = $37 >>> 6; + $44 = $43 & 31; + $45 = (+($44|0)); + $46 = $45 * 8.0; + $47 = (~~(($46))&255); + $48 = (((($7) + ($$0104105<<2)|0)) + 1|0); + HEAP8[$48>>0] = $47; + $49 = $37 >>> 1; + $50 = $49 & 31; + $51 = (+($50|0)); + $52 = $51 * 8.0; + $53 = (~~(($52))&255); + $54 = (((($7) + ($$0104105<<2)|0)) + 2|0); + HEAP8[$54>>0] = $53; + $55 = $37 & 1; + $56 = (0 - ($55))|0; + $57 = $56&255; + $58 = (((($7) + ($$0104105<<2)|0)) + 3|0); + HEAP8[$58>>0] = $57; + $59 = (($$0106) + 1)|0; + $$1 = $59; + break; + } + case 3: { + $60 = (($13) + ($$0106<<1)|0); + $61 = HEAP16[$60>>1]|0; + $62 = $61&65535; + $63 = $62 >>> 11; + $64 = (+($63|0)); + $65 = $64 * 8.0; + $66 = (~~(($65))&255); + $67 = (($7) + ($$0104105<<2)|0); + HEAP8[$67>>0] = $66; + $68 = $62 >>> 5; + $69 = $68 & 63; + $70 = (+($69|0)); + $71 = $70 * 4.0; + $72 = (~~(($71))&255); + $73 = (((($7) + ($$0104105<<2)|0)) + 1|0); + HEAP8[$73>>0] = $72; + $74 = $62 & 31; + $75 = (+($74|0)); + $76 = $75 * 8.0; + $77 = (~~(($76))&255); + $78 = (((($7) + ($$0104105<<2)|0)) + 2|0); + HEAP8[$78>>0] = $77; + $79 = (((($7) + ($$0104105<<2)|0)) + 3|0); + HEAP8[$79>>0] = -1; + $80 = (($$0106) + 1)|0; + $$1 = $80; + break; + } + case 6: { + $81 = (($13) + ($$0106<<1)|0); + $82 = HEAP16[$81>>1]|0; + $83 = $82&65535; + $84 = $83 >>> 12; + $85 = (+($84|0)); + $86 = $85 * 17.0; + $87 = (~~(($86))&255); + $88 = (($7) + ($$0104105<<2)|0); + HEAP8[$88>>0] = $87; + $89 = $83 >>> 8; + $90 = $89 & 15; + $91 = (+($90|0)); + $92 = $91 * 17.0; + $93 = (~~(($92))&255); + $94 = (((($7) + ($$0104105<<2)|0)) + 1|0); + HEAP8[$94>>0] = $93; + $95 = $83 >>> 4; + $96 = $95 & 15; + $97 = (+($96|0)); + $98 = $97 * 17.0; + $99 = (~~(($98))&255); + $100 = (((($7) + ($$0104105<<2)|0)) + 2|0); + HEAP8[$100>>0] = $99; + $101 = $83 & 15; + $102 = (+($101|0)); + $103 = $102 * 17.0; + $104 = (~~(($103))&255); + $105 = (((($7) + ($$0104105<<2)|0)) + 3|0); + HEAP8[$105>>0] = $104; + $106 = (($$0106) + 1)|0; + $$1 = $106; + break; + } + case 7: { + $107 = (($13) + ($$0106)|0); + $108 = HEAP8[$107>>0]|0; + $109 = (($7) + ($$0104105<<2)|0); + HEAP8[$109>>0] = $108; + $110 = (($$0106) + 1)|0; + $111 = (($13) + ($110)|0); + $112 = HEAP8[$111>>0]|0; + $113 = (((($7) + ($$0104105<<2)|0)) + 1|0); + HEAP8[$113>>0] = $112; + $114 = (($$0106) + 2)|0; + $115 = (($13) + ($114)|0); + $116 = HEAP8[$115>>0]|0; + $117 = (((($7) + ($$0104105<<2)|0)) + 2|0); + HEAP8[$117>>0] = $116; + $118 = (($$0106) + 3)|0; + $119 = (($13) + ($118)|0); + $120 = HEAP8[$119>>0]|0; + $121 = (((($7) + ($$0104105<<2)|0)) + 3|0); + HEAP8[$121>>0] = $120; + $122 = (($$0106) + 4)|0; + $$1 = $122; + break; + } + case 4: { + $123 = (($13) + ($$0106)|0); + $124 = HEAP8[$123>>0]|0; + $125 = (($7) + ($$0104105<<2)|0); + HEAP8[$125>>0] = $124; + $126 = (($$0106) + 1)|0; + $127 = (($13) + ($126)|0); + $128 = HEAP8[$127>>0]|0; + $129 = (((($7) + ($$0104105<<2)|0)) + 1|0); + HEAP8[$129>>0] = $128; + $130 = (($$0106) + 2)|0; + $131 = (($13) + ($130)|0); + $132 = HEAP8[$131>>0]|0; + $133 = (((($7) + ($$0104105<<2)|0)) + 2|0); + HEAP8[$133>>0] = $132; + $134 = (((($7) + ($$0104105<<2)|0)) + 3|0); + HEAP8[$134>>0] = -1; + $135 = (($$0106) + 3)|0; + $$1 = $135; + break; + } + default: { + _TraceLog(1,6828,$vararg_buffer); + $$1 = $$0106; + } + } + $136 = (($$0104105) + 1)|0; + $137 = HEAP32[$1>>2]|0; + $138 = HEAP32[$3>>2]|0; + $139 = Math_imul($138, $137)|0; + $140 = ($136|0)<($139|0); + if ($140) { + $$0104105 = $136;$$0106 = $$1; + } else { + break; + } + } + STACKTOP = sp;return ($7|0); +} +function _ErrorCallback($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $vararg_buffer = sp; + HEAP32[$vararg_buffer>>2] = $0; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $1; + _TraceLog(1,10694,$vararg_buffer); STACKTOP = sp;return; } -function _rlDeleteBuffers($id) { - $id = $id|0; - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $id; - _glDeleteBuffers(1,($0|0)); - STACKTOP = sp;return; -} -function _rlClearColor($r,$g,$b,$a) { - $r = $r|0; - $g = $g|0; - $b = $b|0; - $a = $a|0; - var $0 = 0.0, $1 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (+($r&255)); - $1 = $0 / 255.0; - $2 = (+($g&255)); - $3 = $2 / 255.0; - $4 = (+($b&255)); - $5 = $4 / 255.0; - $6 = (+($a&255)); - $7 = $6 / 255.0; - _glClearColor((+$1),(+$3),(+$5),(+$7)); - return; -} -function _rlClearScreenBuffers() { - var label = 0, sp = 0; - sp = STACKTOP; - _glClear(16640); - return; -} function _rlGetVersion() { var label = 0, sp = 0; sp = STACKTOP; - return 3; + return 4; } -function _rlglInit() { - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; - var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond10 = 0, $exitcond12 = 0, $i$04 = 0, $i2$02 = 0, $i3$01 = 0, $numExt$0$lcssa = 0; - var $numExt$05 = 0, $pixels = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer13 = 0, $vararg_buffer15 = 0, $vararg_buffer17 = 0, $vararg_buffer19 = 0, $vararg_buffer21 = 0, $vararg_buffer23 = 0, $vararg_buffer25 = 0, $vararg_buffer27 = 0, $vararg_buffer29 = 0, $vararg_buffer31 = 0, $vararg_buffer34 = 0, $vararg_buffer4 = 0, $vararg_buffer7 = 0, dest = 0, label = 0; - var sp = 0, src = 0, stop = 0; +function _SetupFramebufferSize($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$sink = 0, $$sink1 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0.0, $16 = 0, $17 = 0, $18 = 0.0, $19 = 0.0, $2 = 0, $20 = 0, $21 = 0, $22 = 0.0, $23 = 0, $24 = 0, $25 = 0, $26 = 0.0; + var $27 = 0, $28 = 0.0, $29 = 0.0, $3 = 0, $30 = 0, $31 = 0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0, $36 = 0.0, $37 = 0, $38 = 0.0, $39 = 0.0, $4 = 0, $40 = 0, $41 = 0.0, $42 = 0, $43 = 0, $44 = 0.0; + var $45 = 0, $46 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0, $or$cond = 0, $roundf = 0.0, $roundf38 = 0.0, $roundf39 = 0.0, $roundf40 = 0.0, $vararg_buffer = 0, $vararg_buffer4 = 0, $vararg_buffer8 = 0, $vararg_ptr1 = 0, $vararg_ptr11 = 0, $vararg_ptr12 = 0, $vararg_ptr13 = 0, $vararg_ptr2 = 0; + var $vararg_ptr3 = 0, $vararg_ptr7 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 2480|0; + STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0); + $vararg_buffer8 = sp + 24|0; + $vararg_buffer4 = sp + 16|0; + $vararg_buffer = sp; + $2 = sp + 40|0; + $3 = HEAP32[6214]|0; + $4 = ($3|0)>($0|0); + if (!($4)) { + $5 = HEAP32[6213]|0; + $6 = ($5|0)>($1|0); + if (!($6)) { + $30 = ($3|0)<($0|0); + $31 = ($5|0)<($1|0); + $or$cond = $30 | $31; + if (!($or$cond)) { + HEAP32[6255] = $3; + HEAP32[6256] = $5; + HEAP32[6257] = 0; + HEAP32[6258] = 0; + STACKTOP = sp;return; + } + HEAP32[$vararg_buffer8>>2] = $3; + $vararg_ptr11 = ((($vararg_buffer8)) + 4|0); + HEAP32[$vararg_ptr11>>2] = $5; + $vararg_ptr12 = ((($vararg_buffer8)) + 8|0); + HEAP32[$vararg_ptr12>>2] = $0; + $vararg_ptr13 = ((($vararg_buffer8)) + 12|0); + HEAP32[$vararg_ptr13>>2] = $1; + _TraceLog(0,10628,$vararg_buffer8); + $32 = (+($0|0)); + $33 = (+($1|0)); + $34 = $32 / $33; + $35 = HEAP32[6214]|0; + $36 = (+($35|0)); + $37 = HEAP32[6213]|0; + $38 = (+($37|0)); + $39 = $36 / $38; + $40 = !($34 <= $39); + if ($40) { + $44 = $34 * $38; + $roundf = (+_roundf((+$44))); + $45 = (~~(($roundf))); + HEAP32[6255] = $45; + HEAP32[6256] = $37; + $46 = (($45) - ($35))|0; + HEAP32[6257] = $46; + $$sink1 = 0; + } else { + HEAP32[6255] = $35; + $41 = $36 / $34; + $roundf38 = (+_roundf((+$41))); + $42 = (~~(($roundf38))); + HEAP32[6256] = $42; + HEAP32[6257] = 0; + $43 = (($42) - ($37))|0; + $$sink1 = $43; + } + HEAP32[6258] = $$sink1; + STACKTOP = sp;return; + } + } + $7 = HEAP32[6213]|0; + HEAP32[$vararg_buffer>>2] = $3; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $7; + $vararg_ptr2 = ((($vararg_buffer)) + 8|0); + HEAP32[$vararg_ptr2>>2] = $0; + $vararg_ptr3 = ((($vararg_buffer)) + 12|0); + HEAP32[$vararg_ptr3>>2] = $1; + _TraceLog(1,10485,$vararg_buffer); + $8 = (+($0|0)); + $9 = HEAP32[6214]|0; + $10 = (+($9|0)); + $11 = $8 / $10; + $12 = (+($1|0)); + $13 = HEAP32[6213]|0; + $14 = (+($13|0)); + $15 = $12 / $14; + $16 = !($11 <= $15); + if ($16) { + $22 = $10 * $15; + $roundf39 = (+_roundf((+$22))); + $23 = (~~(($roundf39))); + HEAP32[6255] = $23; + HEAP32[6256] = $1; + $24 = (($0) - ($23))|0; + HEAP32[6257] = $24; + $$sink = 0; + } else { + HEAP32[6255] = $0; + $17 = HEAP32[6213]|0; + $18 = (+($17|0)); + $19 = $11 * $18; + $roundf40 = (+_roundf((+$19))); + $20 = (~~(($roundf40))); + HEAP32[6256] = $20; + HEAP32[6257] = 0; + $21 = (($1) - ($20))|0; + $$sink = $21; + } + HEAP32[6258] = $$sink; + $25 = HEAP32[6255]|0; + $26 = (+($25|0)); + $27 = HEAP32[6214]|0; + $28 = (+($27|0)); + $29 = $26 / $28; + _MatrixScale($2,$29,$29,$29); + dest=24944; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + HEAP32[6255] = $0; + HEAP32[6256] = $1; + HEAP32[$vararg_buffer4>>2] = $0; + $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); + HEAP32[$vararg_ptr7>>2] = $1; + _TraceLog(1,10563,$vararg_buffer4); + STACKTOP = sp;return; +} +function _WindowSizeCallback($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $3 = 0.0, $4 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + _rlViewport(0,0,$1,$2); + _rlMatrixMode(5889); + _rlLoadIdentity(); + $3 = (+($1|0)); + $4 = (+($2|0)); + _rlOrtho(0.0,$3,$4,0.0,0.0,1.0); + _rlMatrixMode(5888); + _rlLoadIdentity(); + _rlClearScreenBuffers(); + HEAP32[6214] = $1; + HEAP32[6213] = $2; + HEAP32[6255] = $1; + HEAP32[6256] = $2; + return; +} +function _CursorEnterCallback($0,$1) { + $0 = $0|0; + $1 = $1|0; + var label = 0, sp = 0; + sp = STACKTOP; + return; +} +function _KeyCallback($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $5 = HEAP32[742]|0; + $6 = ($5|0)==($1|0); + $7 = ($3|0)==(1); + $or$cond = $7 & $6; + if ($or$cond) { + _glfwSetWindowShouldClose(($0|0),1); + return; + } + $8 = $3&255; + $9 = (28711 + ($1)|0); + HEAP8[$9>>0] = $8; + if (!($7)) { + return; + } + HEAP32[741] = $1; + return; +} +function _MouseButtonCallback($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$byval_copy = 0, $$sink = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0.0, $27 = 0.0; + var $28 = 0.0, $29 = 0, $30 = 0.0, $31 = 0, $32 = 0.0, $33 = 0.0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0); + $$byval_copy = sp + 64|0; + $4 = sp + 8|0; + $5 = sp; + $6 = $2&255; + $7 = (28705 + ($1)|0); + HEAP8[$7>>0] = $6; + $8 = (_IsMouseButtonPressed(0)|0); + $9 = ($8|0)==(0); + if ($9) { + $10 = (_IsMouseButtonReleased(0)|0); + $11 = ($10|0)==(0); + if (!($11)) { + $$sink = 0; + label = 3; + } + } else { + $$sink = 1; + label = 3; + } + if ((label|0) == 3) { + HEAP32[$4>>2] = $$sink; + } + $12 = ((($4)) + 8|0); + HEAP32[$12>>2] = 0; + $13 = ((($4)) + 4|0); + HEAP32[$13>>2] = 1; + $14 = ((($4)) + 24|0); + _GetMousePosition($5); + $15 = $5; + $16 = $15; + $17 = HEAP32[$16>>2]|0; + $18 = (($15) + 4)|0; + $19 = $18; + $20 = HEAP32[$19>>2]|0; + $21 = $14; + $22 = $21; + HEAP32[$22>>2] = $17; + $23 = (($21) + 4)|0; + $24 = $23; + HEAP32[$24>>2] = $20; + $25 = (_GetScreenWidth()|0); + $26 = (+($25|0)); + $27 = +HEAPF32[$14>>2]; + $28 = $27 / $26; + HEAPF32[$14>>2] = $28; + $29 = (_GetScreenHeight()|0); + $30 = (+($29|0)); + $31 = ((($4)) + 28|0); + $32 = +HEAPF32[$31>>2]; + $33 = $32 / $30; + HEAPF32[$31>>2] = $33; + dest=$$byval_copy; src=$4; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _ProcessGestureEvent($$byval_copy); + STACKTOP = sp;return; +} +function _MouseCursorPosCallback($0,$1,$2) { + $0 = $0|0; + $1 = +$1; + $2 = +$2; + var $$byval_copy = 0, $$sroa$0$0$$sroa_idx = 0, $$sroa$2$0$$sroa_idx1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0, $24 = 0.0, $25 = 0.0, $26 = 0.0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0); + $$byval_copy = sp + 56|0; + $3 = sp; + HEAP32[$3>>2] = 2; + $4 = ((($3)) + 8|0); + HEAP32[$4>>2] = 0; + $5 = ((($3)) + 4|0); + HEAP32[$5>>2] = 1; + $6 = $1; + $7 = $2; + $$sroa$0$0$$sroa_idx = ((($3)) + 24|0); + HEAPF32[$$sroa$0$0$$sroa_idx>>2] = $6; + $$sroa$2$0$$sroa_idx1 = ((($3)) + 28|0); + HEAPF32[$$sroa$2$0$$sroa_idx1>>2] = $7; + $8 = ((($3)) + 24|0); + $9 = $8; + $10 = $9; + $11 = HEAP32[$10>>2]|0; + $12 = (($9) + 4)|0; + $13 = $12; + $14 = HEAP32[$13>>2]|0; + $15 = 23992; + $16 = $15; + HEAP32[$16>>2] = $11; + $17 = (($15) + 4)|0; + $18 = $17; + HEAP32[$18>>2] = $14; + $19 = (_GetScreenWidth()|0); + $20 = (+($19|0)); + $21 = +HEAPF32[$8>>2]; + $22 = $21 / $20; + HEAPF32[$8>>2] = $22; + $23 = (_GetScreenHeight()|0); + $24 = (+($23|0)); + $25 = +HEAPF32[$$sroa$2$0$$sroa_idx1>>2]; + $26 = $25 / $24; + HEAPF32[$$sroa$2$0$$sroa_idx1>>2] = $26; + dest=$$byval_copy; src=$3; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _ProcessGestureEvent($$byval_copy); + STACKTOP = sp;return; +} +function _CharCallback($0,$1) { + $0 = $0|0; + $1 = $1|0; + var label = 0, sp = 0; + sp = STACKTOP; + HEAP32[741] = $1; + return; +} +function _ScrollCallback($0,$1,$2) { + $0 = $0|0; + $1 = +$1; + $2 = +$2; + var $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = (~~(($2))); + HEAP32[6628] = $3; + return; +} +function _WindowIconifyCallback($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$sink = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ($1|0)!=(0); + $$sink = $2&1; + HEAP32[6627] = $$sink; + return; +} +function _rlglInit($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$05965 = 0, $$06066 = 0, $$06167 = 0, $$062 = 0, $$sink63 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; + var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; + var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0; + var $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0.0, $72 = 0.0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0; + var $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $9 = 0, $exitcond = 0, $exitcond69 = 0, $exitcond70 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer13 = 0, $vararg_buffer15 = 0, $vararg_buffer17 = 0, $vararg_buffer19 = 0; + var $vararg_buffer21 = 0, $vararg_buffer23 = 0, $vararg_buffer25 = 0, $vararg_buffer27 = 0, $vararg_buffer29 = 0, $vararg_buffer31 = 0, $vararg_buffer34 = 0, $vararg_buffer36 = 0, $vararg_buffer39 = 0, $vararg_buffer4 = 0, $vararg_buffer41 = 0, $vararg_buffer7 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 2464|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(2464|0); + $vararg_buffer41 = sp + 2184|0; + $vararg_buffer39 = sp + 2176|0; + $vararg_buffer36 = sp + 2168|0; $vararg_buffer34 = sp + 2160|0; $vararg_buffer31 = sp + 2152|0; $vararg_buffer29 = sp + 2144|0; @@ -14329,1073 +15893,728 @@ function _rlglInit() { $vararg_buffer4 = sp + 16|0; $vararg_buffer1 = sp + 8|0; $vararg_buffer = sp; - $0 = sp + 2416|0; - $1 = sp + 2352|0; - $2 = sp + 2288|0; - $pixels = sp + 2280|0; - $3 = sp + 2228|0; - $4 = sp + 2176|0; - $5 = sp + 2164|0; - $6 = (_glGetString(7936)|0); - HEAP32[$vararg_buffer>>2] = $6; - _TraceLog(0,11370,$vararg_buffer); - $7 = (_glGetString(7937)|0); - HEAP32[$vararg_buffer1>>2] = $7; - _TraceLog(0,11388,$vararg_buffer1); - $8 = (_glGetString(7938)|0); - HEAP32[$vararg_buffer4>>2] = $8; - _TraceLog(0,11406,$vararg_buffer4); - $9 = (_glGetString(35724)|0); - HEAP32[$vararg_buffer7>>2] = $9; - _TraceLog(0,11424,$vararg_buffer7); - $10 = (_glGetString(7939)|0); - $11 = (_mystrdup($10)|0); - $12 = (_strtok($11,11442)|0); - HEAP32[$vararg_buffer7>>2] = $12; - $13 = ($12|0)==(0|0); - if ($13) { - $numExt$0$lcssa = -1; - } else { - $numExt$05 = 0; - while(1) { - $14 = (($numExt$05) + 1)|0; - $15 = (_strtok(0,11442)|0); - $16 = (($vararg_buffer7) + ($14<<2)|0); - HEAP32[$16>>2] = $15; - $17 = ($15|0)==(0|0); - if ($17) { - $numExt$0$lcssa = $numExt$05; - break; - } else { - $numExt$05 = $14; - } - } - } - _free($11); - HEAP32[$vararg_buffer10>>2] = $numExt$0$lcssa; - _TraceLog(0,11444,$vararg_buffer10); - $18 = ($numExt$0$lcssa|0)>(0); - if ($18) { - $i$04 = 0; - while(1) { - $19 = (($vararg_buffer7) + ($i$04<<2)|0); - $20 = HEAP32[$19>>2]|0; - $21 = (_strcmp($20,11479)|0); - $22 = ($21|0)==(0); - if ($22) { - HEAP32[2244>>2] = 1; - $23 = (_eglGetProcAddress((11506|0))|0); - HEAP32[2252>>2] = $23; - $24 = (_eglGetProcAddress((11527|0))|0); - HEAP32[2256>>2] = $24; - $25 = (_eglGetProcAddress((11548|0))|0); - HEAP32[2248>>2] = $25; - } - $26 = HEAP32[$19>>2]|0; - $27 = (_strcmp($26,11572)|0); - $28 = ($27|0)==(0); - if ($28) { - HEAP32[2260>>2] = 1; - } - $29 = HEAP32[$19>>2]|0; - $30 = (_strcmp($29,11592)|0); - $31 = ($30|0)==(0); - if ($31) { - label = 10; - } else { - $32 = (_strcmp($29,11624)|0); - $33 = ($32|0)==(0); - if ($33) { - label = 10; - } - } - if ((label|0) == 10) { - label = 0; - HEAP32[2264>>2] = 1; - } - $34 = HEAP32[$19>>2]|0; - $35 = (_strcmp($34,11664)|0); - $36 = ($35|0)==(0); - if ($36) { - HEAP32[2268>>2] = 1; - } - $37 = HEAP32[$19>>2]|0; - $38 = (_strcmp($37,11700)|0); - $39 = ($38|0)==(0); - if ($39) { - HEAP32[2272>>2] = 1; - } - $40 = HEAP32[$19>>2]|0; - $41 = (_strcmp($40,11725)|0); - $42 = ($41|0)==(0); - if ($42) { - HEAP32[2276>>2] = 1; - } - $43 = HEAP32[$19>>2]|0; - $44 = (_strcmp($43,11758)|0); - $45 = ($44|0)==(0); - if ($45) { - HEAP32[2280>>2] = 1; - } - $46 = (($i$04) + 1)|0; - $exitcond12 = ($46|0)==($numExt$0$lcssa|0); - if ($exitcond12) { - break; - } else { - $i$04 = $46; - } - } - } - $47 = HEAP32[2244>>2]|0; - $48 = ($47|0)==(0); - if ($48) { - _TraceLog(2,11869,$vararg_buffer15); - } else { - _TraceLog(0,11794,$vararg_buffer13); - } - $49 = HEAP32[2260>>2]|0; - $50 = ($49|0)==(0); - if ($50) { - _TraceLog(2,12005,$vararg_buffer19); - } else { - _TraceLog(0,11930,$vararg_buffer17); - } - $51 = HEAP32[2264>>2]|0; - $52 = ($51|0)==(0); - if (!($52)) { - _TraceLog(0,12097,$vararg_buffer21); - } - $53 = HEAP32[2268>>2]|0; - $54 = ($53|0)==(0); - if (!($54)) { - _TraceLog(0,12143,$vararg_buffer23); - } - $55 = HEAP32[2272>>2]|0; - $56 = ($55|0)==(0); - if (!($56)) { - _TraceLog(0,12190,$vararg_buffer25); - } - $57 = HEAP32[2276>>2]|0; - $58 = ($57|0)==(0); - if (!($58)) { - _TraceLog(0,12241,$vararg_buffer27); - } - $59 = HEAP32[2280>>2]|0; - $60 = ($59|0)==(0); - if (!($60)) { - _TraceLog(0,12288,$vararg_buffer29); - } - HEAP32[2152>>2] = 1; - _MatrixIdentity($0); - dest=984; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($1); - dest=1052; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - HEAP32[1048>>2] = 1052; - _MatrixIdentity($2); - dest=1124; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($2); - dest=(1188); src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($2); - dest=(1252); src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($2); - dest=(1316); src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($2); - dest=(1380); src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($2); - dest=(1444); src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($2); - dest=(1508); src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($2); - dest=(1572); src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($2); - dest=(1636); src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($2); - dest=(1700); src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($2); - dest=(1764); src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($2); - dest=(1828); src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($2); - dest=(1892); src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($2); - dest=(1956); src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($2); - dest=(2020); src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($2); - dest=(2084); src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - HEAP32[$pixels>>2] = -1; - $61 = (_rlglLoadTexture($pixels,1,1,7,1)|0); - HEAP32[788>>2] = $61; - $62 = ($61|0)==(0); - if ($62) { - _TraceLog(2,12386,$vararg_buffer34); - } else { - HEAP32[$vararg_buffer31>>2] = $61; - _TraceLog(0,12335,$vararg_buffer31); - } - _LoadDefaultShader($3); - dest=2284; src=$3; stop=dest+52|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _LoadSimpleShader($4); - dest=2336; src=$4; stop=dest+52|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=2388; src=2284; stop=dest+52|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _InitializeBuffers(); - _InitializeBuffersGPU(); - $63 = (_malloc(49152)|0); - HEAP32[2160>>2] = $63; - $i2$02 = 0; + $2 = sp + 2400|0; + $3 = sp + 2384|0; + $4 = sp + 2320|0; + $5 = sp + 2256|0; + $6 = sp + 2192|0; + $7 = (_glGetString(7936)|0); + HEAP32[$vararg_buffer>>2] = $7; + _TraceLog(0,7126,$vararg_buffer); + $8 = (_glGetString(7937)|0); + HEAP32[$vararg_buffer1>>2] = $8; + _TraceLog(0,7144,$vararg_buffer1); + $9 = (_glGetString(7938)|0); + HEAP32[$vararg_buffer4>>2] = $9; + _TraceLog(0,7162,$vararg_buffer4); + $10 = (_glGetString(35724)|0); + HEAP32[$vararg_buffer7>>2] = $10; + _TraceLog(0,7180,$vararg_buffer7); + $11 = (_glGetString(7939)|0); + $12 = (_strlen($11)|0); + $13 = (($12) + 1)|0; + $14 = (_malloc($13)|0); + _memcpy(($14|0),($11|0),($13|0))|0; + $$062 = 0;$$sink63 = $14; while(1) { - $64 = HEAP32[2160>>2]|0; - $65 = (($64) + (($i2$02*12)|0)|0); - _VectorZero($5); - ;HEAP32[$65>>2]=HEAP32[$5>>2]|0;HEAP32[$65+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$65+8>>2]=HEAP32[$5+8>>2]|0; - $66 = (($i2$02) + 1)|0; - $exitcond10 = ($66|0)==(4096); - if ($exitcond10) { + $15 = (_strtok($$sink63,7198)|0); + $16 = (($vararg_buffer7) + ($$062<<2)|0); + HEAP32[$16>>2] = $15; + $17 = ($15|0)==(0|0); + $18 = (($$062) + 1)|0; + if ($17) { break; } else { - $i2$02 = $66; + $$062 = $18;$$sink63 = 0; } } - $67 = (_malloc(2048)|0); - HEAP32[2228>>2] = $67; - $i3$01 = 0; + _free($14); + $19 = (($$062) + -1)|0; + HEAP32[$vararg_buffer10>>2] = $19; + _TraceLog(0,7200,$vararg_buffer10); + $20 = ($$062|0)>(1); + if ($20) { + $$06167 = 0; + while(1) { + $23 = (($vararg_buffer7) + ($$06167<<2)|0); + $24 = HEAP32[$23>>2]|0; + $25 = (_strcmp($24,7235)|0); + $26 = ($25|0)==(0); + if ($26) { + HEAP32[6293] = 1; + $27 = (_eglGetProcAddress((7262|0))|0); + HEAP32[6294] = $27; + $28 = (_eglGetProcAddress((7283|0))|0); + HEAP32[6295] = $28; + $29 = (_eglGetProcAddress((7304|0))|0); + HEAP32[6296] = $29; + } + $30 = (_strcmp($24,7328)|0); + $31 = ($30|0)==(0); + if ($31) { + HEAP32[6235] = 1; + } + $32 = (_strcmp($24,7348)|0); + $33 = ($32|0)==(0); + if ($33) { + label = 12; + } else { + $34 = HEAP32[$23>>2]|0; + $35 = (_strcmp($34,7380)|0); + $36 = ($35|0)==(0); + if ($36) { + label = 12; + } else { + $37 = (_strcmp($34,7413)|0); + $38 = ($37|0)==(0); + if ($38) { + label = 12; + } + } + } + if ((label|0) == 12) { + label = 0; + HEAP32[6230] = 1; + } + $39 = (_strcmp($24,7453)|0); + $40 = ($39|0)==(0); + if ($40) { + label = 15; + } else { + $41 = HEAP32[$23>>2]|0; + $42 = (_strcmp($41,7489)|0); + $43 = ($42|0)==(0); + if ($43) { + label = 15; + } + } + if ((label|0) == 15) { + label = 0; + HEAP32[6231] = 1; + } + $44 = HEAP32[$23>>2]|0; + $45 = (_strcmp($44,7522)|0); + $46 = ($45|0)==(0); + if ($46) { + HEAP32[6232] = 1; + } + $47 = (_strcmp($44,7547)|0); + $48 = ($47|0)==(0); + if ($48) { + HEAP32[6233] = 1; + } + $49 = (_strcmp($44,7580)|0); + $50 = ($49|0)==(0); + if ($50) { + HEAP32[6234] = 1; + } + $51 = (_strcmp($44,7616)|0); + $52 = ($51|0)==(0); + if ($52) { + HEAP32[6297] = 1; + _glGetFloatv(34047,(25192|0)); + } + $53 = HEAP32[$23>>2]|0; + $54 = (_strcmp($53,7650)|0); + $55 = ($54|0)==(0); + if ($55) { + HEAP32[6299] = 1; + } + $56 = (($$06167) + 1)|0; + $exitcond70 = ($56|0)==($19|0); + if ($exitcond70) { + break; + } else { + $$06167 = $56; + } + } + } + $21 = HEAP32[6293]|0; + $22 = ($21|0)==(0); + if ($22) { + _TraceLog(1,7753,$vararg_buffer15); + } else { + _TraceLog(0,7678,$vararg_buffer13); + } + $57 = HEAP32[6235]|0; + $58 = ($57|0)==(0); + if ($58) { + _TraceLog(1,7889,$vararg_buffer19); + } else { + _TraceLog(0,7814,$vararg_buffer17); + } + $59 = HEAP32[6230]|0; + $60 = ($59|0)==(0); + if (!($60)) { + _TraceLog(0,7981,$vararg_buffer21); + } + $61 = HEAP32[6231]|0; + $62 = ($61|0)==(0); + if (!($62)) { + _TraceLog(0,8027,$vararg_buffer23); + } + $63 = HEAP32[6232]|0; + $64 = ($63|0)==(0); + if (!($64)) { + _TraceLog(0,8074,$vararg_buffer25); + } + $65 = HEAP32[6233]|0; + $66 = ($65|0)==(0); + if (!($66)) { + _TraceLog(0,8125,$vararg_buffer27); + } + $67 = HEAP32[6234]|0; + $68 = ($67|0)==(0); + if (!($68)) { + _TraceLog(0,8172,$vararg_buffer29); + } + $69 = HEAP32[6297]|0; + $70 = ($69|0)==(0); + if (!($70)) { + $71 = +HEAPF32[6298]; + $72 = $71; + HEAPF64[$vararg_buffer31>>3] = $72; + _TraceLog(0,8219,$vararg_buffer31); + } + $73 = HEAP32[6299]|0; + $74 = ($73|0)==(0); + if (!($74)) { + _TraceLog(0,8285,$vararg_buffer34); + } + HEAP32[$vararg_buffer10>>2] = -1; + $75 = (_rlglLoadTexture($vararg_buffer10,1,1,7,1)|0); + HEAP32[6300] = $75; + $76 = ($75|0)==(0); + if ($76) { + _TraceLog(1,8389,$vararg_buffer39); + } else { + HEAP32[$vararg_buffer36>>2] = $75; + _TraceLog(0,8338,$vararg_buffer36); + } + _LoadDefaultShader($2); + dest=25204; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=25260; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _LoadDefaultBuffers(); + $77 = (_malloc(49152)|0); + HEAP32[6329] = $77; + $$06066 = 0; while(1) { - $68 = (($67) + ($i3$01<<3)|0); - HEAP32[$68>>2] = 0; - $69 = (((($67) + ($i3$01<<3)|0)) + 4|0); - HEAP32[$69>>2] = 0; - $70 = (($i3$01) + 1)|0; - $exitcond = ($70|0)==(256); + $79 = HEAP32[6329]|0; + $80 = (($79) + (($$06066*12)|0)|0); + _VectorZero($3); + ;HEAP32[$80>>2]=HEAP32[$3>>2]|0;HEAP32[$80+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$80+8>>2]=HEAP32[$3+8>>2]|0; + $81 = (($$06066) + 1)|0; + $exitcond69 = ($81|0)==(4096); + if ($exitcond69) { + break; + } else { + $$06066 = $81; + } + } + $78 = (_malloc(36864)|0); + HEAP32[6330] = $78; + $$05965 = 0; + while(1) { + $82 = (((($78) + (($$05965*144)|0)|0)) + 8|0); + HEAP32[$82>>2] = 0; + $83 = (($78) + (($$05965*144)|0)|0); + HEAP32[$83>>2] = 0; + $84 = (($$05965) + 1)|0; + $exitcond = ($84|0)==(256); if ($exitcond) { break; } else { - $i3$01 = $70; + $$05965 = $84; } } - HEAP32[2224>>2] = 1; - $71 = HEAP32[788>>2]|0; - $72 = HEAP32[2228>>2]|0; - HEAP32[$72>>2] = $71; + HEAP32[6331] = 1; + $85 = HEAP32[6300]|0; + $86 = ((($78)) + 8|0); + HEAP32[$86>>2] = $85; + HEAP32[6332] = 4; + _MatrixIdentity($4); + dest=25332; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(25396); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(25460); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(25524); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(25588); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(25652); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(25716); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(25780); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(25844); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(25908); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(25972); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(26036); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(26100); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(26164); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(26228); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(26292); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($5); + dest=25040; src=$5; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($6); + dest=25104; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + HEAP32[6259] = 25104; + _glDepthFunc(515); + _glDisable(2929); + _glBlendFunc(770,771); + _glEnable(3042); + _glCullFace(1029); + _glFrontFace(2305); + _glEnable(2884); + _glClearColor(0.0,0.0,0.0,1.0); + _glClearDepthf(1.0); + _glClear(16640); + HEAP32[6589] = $0; + HEAP32[6590] = $1; + _TraceLog(0,8428,$vararg_buffer41); STACKTOP = sp;return; } -function _rlglLoadTexture($data,$width,$height,$textureFormat,$mipmapCount) { - $data = $data|0; - $width = $width|0; - $height = $height|0; - $textureFormat = $textureFormat|0; - $mipmapCount = $mipmapCount|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $5 = 0, $6 = 0; - var $7 = 0, $8 = 0, $9 = 0, $id = 0, $or$cond = 0, $or$cond20 = 0, $or$cond22 = 0, $or$cond24 = 0, $or$cond9 = 0, $switch = 0, $textureFormat$off = 0, $textureFormat$off16 = 0, $textureFormat$off17 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer11 = 0, $vararg_buffer15 = 0, $vararg_buffer3 = 0, $vararg_buffer5 = 0, $vararg_buffer7 = 0; - var $vararg_buffer9 = 0, $vararg_ptr13 = 0, $vararg_ptr14 = 0, label = 0, sp = 0; +function _SetupViewport() { + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 80|0; - $vararg_buffer15 = sp + 64|0; - $vararg_buffer11 = sp + 48|0; - $vararg_buffer9 = sp + 40|0; - $vararg_buffer7 = sp + 32|0; - $vararg_buffer5 = sp + 24|0; + $0 = HEAP32[6257]|0; + $1 = (($0|0) / 2)&-1; + $2 = HEAP32[6258]|0; + $3 = (($2|0) / 2)&-1; + $4 = HEAP32[6255]|0; + $5 = (($4) - ($0))|0; + $6 = HEAP32[6256]|0; + $7 = (($6) - ($2))|0; + _rlViewport($1,$3,$5,$7); + return; +} +function _rlMatrixMode($0) { + $0 = $0|0; + var $modelview$sink = 0, label = 0, sp = 0; + sp = STACKTOP; + switch ($0|0) { + case 5889: { + $modelview$sink = 25040; + label = 3; + break; + } + case 5888: { + $modelview$sink = 25104; + label = 3; + break; + } + default: { + } + } + if ((label|0) == 3) { + HEAP32[6259] = $modelview$sink; + } + HEAP32[6292] = $0; + return; +} +function _rlLoadIdentity() { + var $0 = 0, $1 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $0 = sp; + $1 = HEAP32[6259]|0; + _MatrixIdentity($0); + dest=$1; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + STACKTOP = sp;return; +} +function _rlOrtho($0,$1,$2,$3,$4,$5) { + $0 = +$0; + $1 = +$1; + $2 = +$2; + $3 = +$3; + $4 = +$4; + $5 = +$5; + var $$byval_copy = 0, $$byval_copy1 = 0, $6 = 0, $7 = 0, $8 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0); + $$byval_copy1 = sp + 192|0; + $$byval_copy = sp + 128|0; + $6 = sp + 64|0; + $7 = sp; + _MatrixOrtho($6,$0,$1,$2,$3,$4,$5); + _MatrixTranspose($6); + $8 = HEAP32[6259]|0; + dest=$$byval_copy; src=$8; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$$byval_copy1; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixMultiply($7,$$byval_copy,$$byval_copy1); + dest=$8; src=$7; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + STACKTOP = sp;return; +} +function _ClearBackground($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP8[$0>>0]|0; + $2 = ((($0)) + 1|0); + $3 = HEAP8[$2>>0]|0; + $4 = ((($0)) + 2|0); + $5 = HEAP8[$4>>0]|0; + $6 = ((($0)) + 3|0); + $7 = HEAP8[$6>>0]|0; + _rlClearColor($1,$3,$5,$7); + return; +} +function _rlClearColor($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $10 = 0.0, $11 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $4 = (+($0&255)); + $5 = $4 / 255.0; + $6 = (+($1&255)); + $7 = $6 / 255.0; + $8 = (+($2&255)); + $9 = $8 / 255.0; + $10 = (+($3&255)); + $11 = $10 / 255.0; + _glClearColor((+$5),(+$7),(+$9),(+$11)); + return; +} +function _rlViewport($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var label = 0, sp = 0; + sp = STACKTOP; + _glViewport(($0|0),($1|0),($2|0),($3|0)); + return; +} +function _LoadDefaultShader($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 1008|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1008|0); + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $1 = sp + 16|0; + $2 = sp + 513|0; + $3 = sp + 72|0; + _memcpy(($2|0),(9004|0),489)|0; + _memcpy(($3|0),(9493|0),441)|0; + $4 = (_LoadShaderProgram($2,$3)|0); + HEAP32[$1>>2] = $4; + $5 = ($4|0)==(0); + if ($5) { + HEAP32[$vararg_buffer1>>2] = $4; + _TraceLog(1,9982,$vararg_buffer1); + } else { + HEAP32[$vararg_buffer>>2] = $4; + _TraceLog(0,9934,$vararg_buffer); + } + $6 = HEAP32[$1>>2]|0; + $7 = ($6|0)==(0); + if (!($7)) { + _LoadDefaultShaderLocations($1); + } + dest=$0; src=$1; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + STACKTOP = sp;return; +} +function _LoadDefaultBuffers() { + var $$05365 = 0, $$05467 = 0, $$05770 = 0, $$05972 = 0, $$066 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0; + var $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0; + var $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0; + var $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0; + var $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0; + var $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond = 0, $exitcond75 = 0, $exitcond78 = 0, $exitcond80 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer14 = 0, $vararg_buffer17 = 0; + var $vararg_buffer3 = 0, $vararg_buffer7 = 0, $vararg_ptr13 = 0, $vararg_ptr20 = 0, $vararg_ptr21 = 0, $vararg_ptr22 = 0, $vararg_ptr6 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $vararg_buffer17 = sp + 48|0; + $vararg_buffer14 = sp + 40|0; + $vararg_buffer10 = sp + 32|0; + $vararg_buffer7 = sp + 24|0; $vararg_buffer3 = sp + 16|0; $vararg_buffer1 = sp + 8|0; $vararg_buffer = sp; - $id = sp + 68|0; - _glBindTexture(3553,0); - HEAP32[$id>>2] = 0; - $0 = HEAP32[2264>>2]|0; - $1 = ($0|0)==(0); - $2 = $textureFormat & -4; - $switch = ($2|0)==(8); - $or$cond24 = $switch & $1; - if ($or$cond24) { - _TraceLog(2,12425,$vararg_buffer); - $$0 = HEAP32[$id>>2]|0; - STACKTOP = sp;return ($$0|0); - } - $3 = HEAP32[2268>>2]|0; - $4 = ($3|0)==(0); - $5 = ($textureFormat|0)==(12); - $or$cond9 = $5 & $4; - if ($or$cond9) { - _TraceLog(2,12469,$vararg_buffer1); - $$0 = HEAP32[$id>>2]|0; - STACKTOP = sp;return ($$0|0); - } - $6 = HEAP32[2272>>2]|0; - $7 = ($6|0)==(0); - $textureFormat$off = (($textureFormat) + -13)|0; - $8 = ($textureFormat$off>>>0)<(2); - $or$cond = $8 & $7; - if ($or$cond) { - _TraceLog(2,12514,$vararg_buffer3); - $$0 = HEAP32[$id>>2]|0; - STACKTOP = sp;return ($$0|0); - } - $9 = HEAP32[2276>>2]|0; - $10 = ($9|0)==(0); - $textureFormat$off16 = (($textureFormat) + -15)|0; - $11 = ($textureFormat$off16>>>0)<(2); - $or$cond20 = $11 & $10; - if ($or$cond20) { - _TraceLog(2,12559,$vararg_buffer5); - $$0 = HEAP32[$id>>2]|0; - STACKTOP = sp;return ($$0|0); - } - $12 = HEAP32[2280>>2]|0; - $13 = ($12|0)==(0); - $textureFormat$off17 = (($textureFormat) + -17)|0; - $14 = ($textureFormat$off17>>>0)<(2); - $or$cond22 = $14 & $13; - if ($or$cond22) { - _TraceLog(2,12604,$vararg_buffer7); - $$0 = HEAP32[$id>>2]|0; - STACKTOP = sp;return ($$0|0); - } - _glGenTextures(1,($id|0)); - $15 = HEAP32[$id>>2]|0; - _glBindTexture(3553,($15|0)); - do { - switch ($textureFormat|0) { - case 1: { - _glTexImage2D(3553,0,6409,($width|0),($height|0),0,6409,5121,($data|0)); + $0 = (_malloc(24576)|0); + HEAP32[(26376)>>2] = $0; + $1 = (_malloc(8192)|0); + HEAP32[(26384)>>2] = $1; + HEAP32[(26380)>>2] = 0; + HEAP32[(26388)>>2] = 0; + _memset(($0|0),0,24576)|0; + $$05972 = 0; + while(1) { + $2 = HEAP32[(26384)>>2]|0; + $3 = (($2) + ($$05972)|0); + HEAP8[$3>>0] = 0; + $4 = (($$05972) + 1)|0; + $exitcond80 = ($4|0)==(8192); + if ($exitcond80) { break; - } - case 2: { - _glTexImage2D(3553,0,6410,($width|0),($height|0),0,6410,5121,($data|0)); - break; - } - case 3: { - _glTexImage2D(3553,0,6407,($width|0),($height|0),0,6407,33635,($data|0)); - break; - } - case 4: { - _glTexImage2D(3553,0,6407,($width|0),($height|0),0,6407,5121,($data|0)); - break; - } - case 5: { - _glTexImage2D(3553,0,6408,($width|0),($height|0),0,6408,32820,($data|0)); - break; - } - case 6: { - _glTexImage2D(3553,0,6408,($width|0),($height|0),0,6408,32819,($data|0)); - break; - } - case 7: { - _glTexImage2D(3553,0,6408,($width|0),($height|0),0,6408,5121,($data|0)); - break; - } - case 8: { - $16 = HEAP32[2264>>2]|0; - $17 = ($16|0)==(0); - if (!($17)) { - _LoadCompressedTexture($data,$width,$height,$mipmapCount,33776); - } - break; - } - case 9: { - $18 = HEAP32[2264>>2]|0; - $19 = ($18|0)==(0); - if (!($19)) { - _LoadCompressedTexture($data,$width,$height,$mipmapCount,33777); - } - break; - } - case 10: { - $20 = HEAP32[2264>>2]|0; - $21 = ($20|0)==(0); - if (!($21)) { - _LoadCompressedTexture($data,$width,$height,$mipmapCount,33778); - } - break; - } - case 11: { - $22 = HEAP32[2264>>2]|0; - $23 = ($22|0)==(0); - if (!($23)) { - _LoadCompressedTexture($data,$width,$height,$mipmapCount,33779); - } - break; - } - case 12: { - $24 = HEAP32[2268>>2]|0; - $25 = ($24|0)==(0); - if (!($25)) { - _LoadCompressedTexture($data,$width,$height,$mipmapCount,36196); - } - break; - } - case 13: { - $26 = HEAP32[2272>>2]|0; - $27 = ($26|0)==(0); - if (!($27)) { - _LoadCompressedTexture($data,$width,$height,$mipmapCount,37492); - } - break; - } - case 14: { - $28 = HEAP32[2272>>2]|0; - $29 = ($28|0)==(0); - if (!($29)) { - _LoadCompressedTexture($data,$width,$height,$mipmapCount,37496); - } - break; - } - case 15: { - $30 = HEAP32[2276>>2]|0; - $31 = ($30|0)==(0); - if (!($31)) { - _LoadCompressedTexture($data,$width,$height,$mipmapCount,35840); - } - break; - } - case 16: { - $32 = HEAP32[2276>>2]|0; - $33 = ($32|0)==(0); - if (!($33)) { - _LoadCompressedTexture($data,$width,$height,$mipmapCount,35842); - } - break; - } - case 17: { - $34 = HEAP32[2280>>2]|0; - $35 = ($34|0)==(0); - if (!($35)) { - _LoadCompressedTexture($data,$width,$height,$mipmapCount,37808); - } - break; - } - case 18: { - $36 = HEAP32[2280>>2]|0; - $37 = ($36|0)==(0); - if (!($37)) { - _LoadCompressedTexture($data,$width,$height,$mipmapCount,37815); - } - break; - } - default: { - _TraceLog(2,12649,$vararg_buffer9); - } - } - } while(0); - $38 = HEAP32[2260>>2]|0; - $39 = ($38|0)==(0); - if ($39) { - _glTexParameteri(3553,10242,33071); - _glTexParameteri(3553,10243,33071); - } else { - _glTexParameteri(3553,10242,10497); - _glTexParameteri(3553,10243,10497); - } - _glTexParameteri(3553,10240,9728); - _glTexParameteri(3553,10241,9728); - _glBindTexture(3553,0); - $40 = HEAP32[$id>>2]|0; - $41 = ($40|0)==(0); - if ($41) { - _TraceLog(2,13924,$vararg_buffer15); - $$0 = HEAP32[$id>>2]|0; - STACKTOP = sp;return ($$0|0); - } else { - HEAP32[$vararg_buffer11>>2] = $40; - $vararg_ptr13 = ((($vararg_buffer11)) + 4|0); - HEAP32[$vararg_ptr13>>2] = $width; - $vararg_ptr14 = ((($vararg_buffer11)) + 8|0); - HEAP32[$vararg_ptr14>>2] = $height; - _TraceLog(0,12678,$vararg_buffer11); - $$0 = HEAP32[$id>>2]|0; - STACKTOP = sp;return ($$0|0); - } - return (0)|0; -} -function _rlglUnloadFBO($fbo) { - $fbo = $fbo|0; - var $0 = 0, $1 = 0, $2 = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $vararg_buffer = sp; - _glDeleteFramebuffers(1,($fbo|0)); - $0 = ((($fbo)) + 4|0); - _glDeleteTextures(1,($0|0)); - $1 = ((($fbo)) + 8|0); - _glDeleteTextures(1,($1|0)); - $2 = HEAP32[$fbo>>2]|0; - HEAP32[$vararg_buffer>>2] = $2; - _TraceLog(0,12727,$vararg_buffer); - STACKTOP = sp;return; -} -function _rlglClose() { - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $3 = 0; - var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $postproFbo$byval_copy = 0, $vararg_buffer1 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $postproFbo$byval_copy = sp + 8|0; - $vararg_buffer1 = sp; - $0 = HEAP32[2244>>2]|0; - $1 = ($0|0)==(0); - if (!($1)) { - $2 = HEAP32[2256>>2]|0; - FUNCTION_TABLE_vi[$2 & 31](0); - } - _glDisableVertexAttribArray(0); - _glDisableVertexAttribArray(1); - _glDisableVertexAttribArray(2); - _glDisableVertexAttribArray(3); - _glBindBuffer(34962,0); - _glBindBuffer(34963,0); - _glUseProgram(0); - _glDeleteBuffers(1,(2664|0)); - _glDeleteBuffers(1,((2668)|0)); - _glDeleteBuffers(1,(2672|0)); - _glDeleteBuffers(1,((2676)|0)); - _glDeleteBuffers(1,(2680|0)); - _glDeleteBuffers(1,((2684)|0)); - _glDeleteBuffers(1,((2688)|0)); - _glDeleteBuffers(1,((2692)|0)); - $3 = HEAP32[2244>>2]|0; - $4 = ($3|0)==(0); - if (!($4)) { - $5 = HEAP32[2248>>2]|0; - FUNCTION_TABLE_vii[$5 & 63](1,2696); - $6 = HEAP32[2248>>2]|0; - FUNCTION_TABLE_vii[$6 & 63](1,2700); - $7 = HEAP32[2248>>2]|0; - FUNCTION_TABLE_vii[$7 & 63](1,2704); - } - $8 = HEAP32[2284>>2]|0; - _glDeleteProgram(($8|0)); - $9 = HEAP32[2336>>2]|0; - _glDeleteProgram(($9|0)); - $10 = HEAP32[2212>>2]|0; - _free($10); - $11 = HEAP32[2172>>2]|0; - _free($11); - $12 = HEAP32[2216>>2]|0; - _free($12); - $13 = HEAP32[2184>>2]|0; - _free($13); - $14 = HEAP32[2220>>2]|0; - _free($14); - $15 = HEAP32[2204>>2]|0; - _free($15); - $16 = HEAP32[2196>>2]|0; - _free($16); - $17 = HEAP32[2708>>2]|0; - _free($17); - _glDeleteTextures(1,(788|0)); - $18 = HEAP32[788>>2]|0; - HEAP32[$postproFbo$byval_copy>>2] = $18; - _TraceLog(0,12780,$postproFbo$byval_copy); - $19 = HEAP32[2232>>2]|0; - $20 = ($19|0)==(0); - if ($20) { - $25 = HEAP32[2228>>2]|0; - _free($25); - STACKTOP = sp;return; - } - ;HEAP32[$postproFbo$byval_copy>>2]=HEAP32[2232>>2]|0;HEAP32[$postproFbo$byval_copy+4>>2]=HEAP32[2232+4>>2]|0;HEAP32[$postproFbo$byval_copy+8>>2]=HEAP32[2232+8>>2]|0; - _rlglUnloadFBO($postproFbo$byval_copy); - $21 = HEAP32[(2504)>>2]|0; - _rlDeleteBuffers($21); - $22 = HEAP32[(2508)>>2]|0; - _rlDeleteBuffers($22); - $23 = HEAP32[(2512)>>2]|0; - _rlDeleteBuffers($23); - $24 = HEAP32[(2500)>>2]|0; - _rlDeleteVertexArrays($24); - _TraceLog(0,12845,$vararg_buffer1); - $25 = HEAP32[2228>>2]|0; - _free($25); - STACKTOP = sp;return; -} -function _rlglDraw() { - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; - var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0; - var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $i$05 = 0, $indicesOffset$04 = 0, $matMVP = 0, $matMVP$byval_copy = 0, $modelview$byval_copy = 0, $or$cond = 0, $or$cond3 = 0; - var dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 192|0; - $matMVP$byval_copy = sp + 128|0; - $modelview$byval_copy = sp + 64|0; - $matMVP = sp; - _UpdateBuffers(); - $0 = HEAP32[2164>>2]|0; - $1 = ($0|0)>(0); - $2 = HEAP32[2176>>2]|0; - $3 = ($2|0)>(0); - $or$cond = $1 | $3; - $4 = HEAP32[2188>>2]|0; - $5 = ($4|0)>(0); - $or$cond3 = $or$cond | $5; - if ($or$cond3) { - $6 = HEAP32[2388>>2]|0; - _glUseProgram(($6|0)); - dest=$modelview$byval_copy; src=1052; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$matMVP$byval_copy; src=984; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixMultiply($matMVP,$modelview$byval_copy,$matMVP$byval_copy); - $7 = HEAP32[(2420)>>2]|0; - dest=$matMVP$byval_copy; src=$matMVP; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $8 = (_MatrixToFloat($matMVP$byval_copy)|0); - _glUniformMatrix4fv(($7|0),1,0,($8|0)); - $9 = HEAP32[(2428)>>2]|0; - _glUniform1i(($9|0),0); - } - $10 = HEAP32[2164>>2]|0; - $11 = ($10|0)>(0); - if ($11) { - $12 = HEAP32[788>>2]|0; - _glBindTexture(3553,($12|0)); - $13 = HEAP32[2244>>2]|0; - $14 = ($13|0)==(0); - if ($14) { - $17 = HEAP32[2664>>2]|0; - _glBindBuffer(34962,($17|0)); - $18 = HEAP32[(2404)>>2]|0; - _glVertexAttribPointer(($18|0),3,5126,0,0,(0|0)); - $19 = HEAP32[(2404)>>2]|0; - _glEnableVertexAttribArray(($19|0)); - $20 = HEAP32[(2416)>>2]|0; - $21 = ($20|0)==(-1); - if (!($21)) { - $22 = HEAP32[(2668)>>2]|0; - _glBindBuffer(34962,($22|0)); - $23 = HEAP32[(2416)>>2]|0; - _glVertexAttribPointer(($23|0),4,5121,1,0,(0|0)); - $24 = HEAP32[(2416)>>2]|0; - _glEnableVertexAttribArray(($24|0)); - } } else { - $15 = HEAP32[2256>>2]|0; - $16 = HEAP32[2696>>2]|0; - FUNCTION_TABLE_vi[$15 & 31]($16); + $$05972 = $4; } - $25 = HEAP32[2164>>2]|0; - _glDrawArrays(1,0,($25|0)); - $26 = HEAP32[2244>>2]|0; - $27 = ($26|0)==(0); - if ($27) { - _glBindBuffer(34962,0); - } - _glBindTexture(3553,0); } - $28 = HEAP32[2176>>2]|0; - $29 = ($28|0)>(0); - if ($29) { - $30 = HEAP32[788>>2]|0; - _glBindTexture(3553,($30|0)); - $31 = HEAP32[2244>>2]|0; - $32 = ($31|0)==(0); - if ($32) { - $35 = HEAP32[2672>>2]|0; - _glBindBuffer(34962,($35|0)); - $36 = HEAP32[(2404)>>2]|0; - _glVertexAttribPointer(($36|0),3,5126,0,0,(0|0)); - $37 = HEAP32[(2404)>>2]|0; - _glEnableVertexAttribArray(($37|0)); - $38 = HEAP32[(2416)>>2]|0; - $39 = ($38|0)==(-1); - if (!($39)) { - $40 = HEAP32[(2676)>>2]|0; - _glBindBuffer(34962,($40|0)); - $41 = HEAP32[(2416)>>2]|0; - _glVertexAttribPointer(($41|0),4,5121,1,0,(0|0)); - $42 = HEAP32[(2416)>>2]|0; - _glEnableVertexAttribArray(($42|0)); - } + HEAP32[6591] = 0; + HEAP32[(26372)>>2] = 0; + HEAP32[(26368)>>2] = 0; + $5 = (_malloc(73728)|0); + HEAP32[(26424)>>2] = $5; + $6 = (_malloc(24576)|0); + HEAP32[(26432)>>2] = $6; + HEAP32[(26428)>>2] = 0; + HEAP32[(26436)>>2] = 0; + _memset(($5|0),0,73728)|0; + $$05770 = 0; + while(1) { + $7 = HEAP32[(26432)>>2]|0; + $8 = (($7) + ($$05770)|0); + HEAP8[$8>>0] = 0; + $9 = (($$05770) + 1)|0; + $exitcond78 = ($9|0)==(24576); + if ($exitcond78) { + break; } else { - $33 = HEAP32[2256>>2]|0; - $34 = HEAP32[2700>>2]|0; - FUNCTION_TABLE_vi[$33 & 31]($34); + $$05770 = $9; } - $43 = HEAP32[2176>>2]|0; - _glDrawArrays(4,0,($43|0)); - $44 = HEAP32[2244>>2]|0; - $45 = ($44|0)==(0); - if ($45) { - _glBindBuffer(34962,0); - } - _glBindTexture(3553,0); } - $46 = HEAP32[2188>>2]|0; - $47 = ($46|0)>(0); - if ($47) { - $48 = HEAP32[2244>>2]|0; - $49 = ($48|0)==(0); - if ($49) { - $52 = HEAP32[2680>>2]|0; - _glBindBuffer(34962,($52|0)); - $53 = HEAP32[(2404)>>2]|0; - _glVertexAttribPointer(($53|0),3,5126,0,0,(0|0)); - $54 = HEAP32[(2404)>>2]|0; - _glEnableVertexAttribArray(($54|0)); - $55 = HEAP32[(2684)>>2]|0; - _glBindBuffer(34962,($55|0)); - $56 = HEAP32[(2408)>>2]|0; - _glVertexAttribPointer(($56|0),2,5126,0,0,(0|0)); - $57 = HEAP32[(2408)>>2]|0; - _glEnableVertexAttribArray(($57|0)); - $58 = HEAP32[(2416)>>2]|0; - $59 = ($58|0)==(-1); - if (!($59)) { - $60 = HEAP32[(2688)>>2]|0; - _glBindBuffer(34962,($60|0)); - $61 = HEAP32[(2416)>>2]|0; - _glVertexAttribPointer(($61|0),4,5121,1,0,(0|0)); - $62 = HEAP32[(2416)>>2]|0; - _glEnableVertexAttribArray(($62|0)); - } - $63 = HEAP32[(2692)>>2]|0; - _glBindBuffer(34963,($63|0)); + HEAP32[6603] = 0; + HEAP32[(26420)>>2] = 0; + HEAP32[(26416)>>2] = 0; + $10 = (_malloc(49152)|0); + HEAP32[(26472)>>2] = $10; + $11 = (_malloc(32768)|0); + HEAP32[(26476)>>2] = $11; + $12 = (_malloc(16384)|0); + HEAP32[(26480)>>2] = $12; + $13 = (_malloc(12288)|0); + HEAP32[(26484)>>2] = $13; + $14 = HEAP32[(26472)>>2]|0; + _memset(($14|0),0,49152)|0; + $15 = HEAP32[(26476)>>2]|0; + _memset(($15|0),0,32768)|0; + $$05467 = 0; + while(1) { + $17 = HEAP32[(26480)>>2]|0; + $18 = (($17) + ($$05467)|0); + HEAP8[$18>>0] = 0; + $19 = (($$05467) + 1)|0; + $exitcond75 = ($19|0)==(16384); + if ($exitcond75) { + break; } else { - $50 = HEAP32[2256>>2]|0; - $51 = HEAP32[2704>>2]|0; - FUNCTION_TABLE_vi[$50 & 31]($51); + $$05467 = $19; } - $64 = HEAP32[2224>>2]|0; - $65 = ($64|0)>(0); - if ($65) { - $i$05 = 0;$indicesOffset$04 = 0; - while(1) { - $66 = HEAP32[2228>>2]|0; - $67 = (((($66) + ($i$05<<3)|0)) + 4|0); - $68 = HEAP32[$67>>2]|0; - $69 = (($68|0) / 4)&-1; - $70 = ($69*6)|0; - $71 = (($66) + ($i$05<<3)|0); - $72 = HEAP32[$71>>2]|0; - _glBindTexture(3553,($72|0)); - $73 = $indicesOffset$04 << 1; - $74 = $73; - _glDrawElements(4,($70|0),5123,($74|0)); - $75 = HEAP32[2228>>2]|0; - $76 = (((($75) + ($i$05<<3)|0)) + 4|0); - $77 = HEAP32[$76>>2]|0; - $78 = (($77|0) / 4)&-1; - $79 = ($78*6)|0; - $80 = (($79) + ($indicesOffset$04))|0; - $81 = (($i$05) + 1)|0; - $82 = HEAP32[2224>>2]|0; - $83 = ($81|0)<($82|0); - if ($83) { - $i$05 = $81;$indicesOffset$04 = $80; - } else { - break; - } - } + } + $16 = HEAP32[(26484)>>2]|0; + $$05365 = 0;$$066 = 0; + while(1) { + $22 = $$05365 << 2; + $23 = $22&65535; + $24 = (($16) + ($$066<<1)|0); + HEAP16[$24>>1] = $23; + $25 = $22 | 1; + $26 = $25&65535; + $27 = $$066 | 1; + $28 = (($16) + ($27<<1)|0); + HEAP16[$28>>1] = $26; + $29 = $22 | 2; + $30 = $29&65535; + $31 = (($$066) + 2)|0; + $32 = (($16) + ($31<<1)|0); + HEAP16[$32>>1] = $30; + $33 = (($$066) + 3)|0; + $34 = (($16) + ($33<<1)|0); + HEAP16[$34>>1] = $23; + $35 = (($$066) + 4)|0; + $36 = (($16) + ($35<<1)|0); + HEAP16[$36>>1] = $30; + $37 = $22 | 3; + $38 = $37&65535; + $39 = (($$066) + 5)|0; + $40 = (($16) + ($39<<1)|0); + HEAP16[$40>>1] = $38; + $41 = (($$05365) + 1)|0; + $42 = (($$066) + 6)|0; + $exitcond = ($41|0)==(1024); + if ($exitcond) { + break; + } else { + $$05365 = $41;$$066 = $42; } - $84 = HEAP32[2244>>2]|0; - $85 = ($84|0)==(0); - if ($85) { - _glBindBuffer(34962,0); - _glBindBuffer(34963,0); - } - _glBindTexture(3553,0); } - $86 = HEAP32[2244>>2]|0; - $87 = ($86|0)==(0); - if ($87) { - _glUseProgram(0); - HEAP32[2224>>2] = 1; - $89 = HEAP32[788>>2]|0; - $90 = HEAP32[2228>>2]|0; - HEAP32[$90>>2] = $89; - $91 = HEAP32[2228>>2]|0; - $92 = ((($91)) + 4|0); - HEAP32[$92>>2] = 0; - HEAP32[2164>>2] = 0; - HEAP32[2168>>2] = 0; - HEAP32[2176>>2] = 0; - HEAP32[2180>>2] = 0; - HEAP32[2188>>2] = 0; - HEAP32[2200>>2] = 0; - HEAP32[2192>>2] = 0; - HEAPF32[2208>>2] = -1.0; - STACKTOP = sp;return; + HEAP32[6615] = 0; + HEAP32[(26464)>>2] = 0; + HEAP32[(26468)>>2] = 0; + _TraceLog(0,8475,$vararg_buffer); + $20 = HEAP32[6293]|0; + $21 = ($20|0)==(0); + if (!($21)) { + $43 = HEAP32[6294]|0; + FUNCTION_TABLE_vii[$43 & 63](1,(26392)); + $44 = HEAP32[6295]|0; + $45 = HEAP32[(26392)>>2]|0; + FUNCTION_TABLE_vi[$44 & 31]($45); } - $88 = HEAP32[2256>>2]|0; - FUNCTION_TABLE_vi[$88 & 31](0); - _glUseProgram(0); - HEAP32[2224>>2] = 1; - $89 = HEAP32[788>>2]|0; - $90 = HEAP32[2228>>2]|0; - HEAP32[$90>>2] = $89; - $91 = HEAP32[2228>>2]|0; - $92 = ((($91)) + 4|0); - HEAP32[$92>>2] = 0; - HEAP32[2164>>2] = 0; - HEAP32[2168>>2] = 0; - HEAP32[2176>>2] = 0; - HEAP32[2180>>2] = 0; - HEAP32[2188>>2] = 0; - HEAP32[2200>>2] = 0; - HEAP32[2192>>2] = 0; - HEAPF32[2208>>2] = -1.0; - STACKTOP = sp;return; -} -function _rlglDrawPostpro() { - var $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $postproQuad$byval_copy = 0, $tmpcast$byval_copy = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 304|0; - $tmpcast$byval_copy = sp + 292|0; - $$byval_copy2 = sp + 280|0; - $$byval_copy1 = sp + 268|0; - $$byval_copy = sp + 256|0; - $postproQuad$byval_copy = sp + 40|0; - $0 = sp + 28|0; - $1 = sp + 16|0; - $2 = sp + 4|0; - $3 = sp; - _glBindFramebuffer(36160,0); - HEAPF32[$0>>2] = 0.0; - $4 = ((($0)) + 4|0); - HEAPF32[$4>>2] = 0.0; - $5 = ((($0)) + 8|0); - HEAPF32[$5>>2] = 0.0; - HEAPF32[$1>>2] = 0.0; - $6 = ((($1)) + 4|0); - HEAPF32[$6>>2] = 0.0; - $7 = ((($1)) + 8|0); - HEAPF32[$7>>2] = 0.0; - HEAPF32[$2>>2] = 1.0; - $8 = ((($2)) + 4|0); - HEAPF32[$8>>2] = 1.0; - $9 = ((($2)) + 8|0); - HEAPF32[$9>>2] = 1.0; - HEAP32[$3>>2] = -1; - _memcpy(($postproQuad$byval_copy|0),(2448|0),216)|0; - ;HEAP32[$$byval_copy>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$0+8>>2]|0; - ;HEAP32[$$byval_copy1>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$1+8>>2]|0; - ;HEAP32[$$byval_copy2>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$$byval_copy2+8>>2]=HEAP32[$2+8>>2]|0; - ;HEAP8[$tmpcast$byval_copy>>0]=HEAP8[$3>>0]|0;HEAP8[$tmpcast$byval_copy+1>>0]=HEAP8[$3+1>>0]|0;HEAP8[$tmpcast$byval_copy+2>>0]=HEAP8[$3+2>>0]|0;HEAP8[$tmpcast$byval_copy+3>>0]=HEAP8[$3+3>>0]|0; - _rlglDrawModel($postproQuad$byval_copy,$$byval_copy,$$byval_copy1,0.0,$$byval_copy2,$tmpcast$byval_copy,0); - STACKTOP = sp;return; -} -function _rlglDrawModel($model,$position,$rotationAxis,$rotationAngle,$scale,$color,$wires) { - $model = $model|0; - $position = $position|0; - $rotationAxis = $rotationAxis|0; - $rotationAngle = +$rotationAngle; - $scale = $scale|0; - $color = $color|0; - $wires = $wires|0; - var $0 = 0, $1 = 0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $14 = 0, $15 = 0.0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0.0, $22 = 0.0, $23 = 0, $24 = 0, $25 = 0, $26 = 0.0; - var $27 = 0.0, $28 = 0, $29 = 0, $3 = 0.0, $30 = 0, $31 = 0.0, $32 = 0.0, $33 = 0, $34 = 0, $35 = 0, $36 = 0.0, $37 = 0.0, $38 = 0, $39 = 0, $4 = 0.0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0.0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0.0, $60 = 0, $61 = 0, $62 = 0; - var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0.0, $80 = 0; - var $81 = 0, $9 = 0, $matMVP = 0, $matMVP$byval_copy = 0, $matModel = 0, $matModelView = 0, $matModelView$byval_copy = 0, $matProjection = 0, $matRotation = 0, $matScale = 0, $matTransform = 0, $matTranslation = 0, $matView = 0, $vColor = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 784|0; - $matMVP$byval_copy = sp + 720|0; - $matModelView$byval_copy = sp + 656|0; - $matView = sp + 512|0; - $matProjection = sp + 448|0; - $matRotation = sp + 384|0; - $matScale = sp + 320|0; - $matTranslation = sp + 256|0; - $matTransform = sp + 192|0; - $0 = sp + 592|0; - $matModel = sp + 128|0; - $matModelView = sp + 64|0; - $matMVP = sp; - $vColor = sp + 576|0; - $1 = ((($model)) + 164|0); - $2 = HEAP32[$1>>2]|0; - _glUseProgram(($2|0)); - dest=$matView; src=1052; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$matProjection; src=984; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $3 = $rotationAngle; - $4 = $3 * 0.017453292519943295; - $5 = $4; - ;HEAP32[$matMVP$byval_copy>>2]=HEAP32[$rotationAxis>>2]|0;HEAP32[$matMVP$byval_copy+4>>2]=HEAP32[$rotationAxis+4>>2]|0;HEAP32[$matMVP$byval_copy+8>>2]=HEAP32[$rotationAxis+8>>2]|0; - _MatrixRotate($matRotation,$matMVP$byval_copy,$5); - $6 = +HEAPF32[$scale>>2]; - $7 = ((($scale)) + 4|0); - $8 = +HEAPF32[$7>>2]; - $9 = ((($scale)) + 8|0); - $10 = +HEAPF32[$9>>2]; - _MatrixScale($matScale,$6,$8,$10); - $11 = +HEAPF32[$position>>2]; - $12 = ((($position)) + 4|0); - $13 = +HEAPF32[$12>>2]; - $14 = ((($position)) + 8|0); - $15 = +HEAPF32[$14>>2]; - _MatrixTranslate($matTranslation,$11,$13,$15); - dest=$matModelView$byval_copy; src=$matScale; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$matMVP$byval_copy; src=$matRotation; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixMultiply($0,$matModelView$byval_copy,$matMVP$byval_copy); - dest=$matModelView$byval_copy; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$matMVP$byval_copy; src=$matTranslation; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixMultiply($matTransform,$matModelView$byval_copy,$matMVP$byval_copy); - $16 = ((($model)) + 80|0); - dest=$matModelView$byval_copy; src=$16; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$matMVP$byval_copy; src=$matTransform; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixMultiply($matModel,$matModelView$byval_copy,$matMVP$byval_copy); - dest=$matModelView$byval_copy; src=$matModel; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$matMVP$byval_copy; src=$matView; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixMultiply($matModelView,$matModelView$byval_copy,$matMVP$byval_copy); - dest=$matModelView$byval_copy; src=$matModelView; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$matMVP$byval_copy; src=$matProjection; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixMultiply($matMVP,$matModelView$byval_copy,$matMVP$byval_copy); - $17 = ((($model)) + 196|0); - $18 = HEAP32[$17>>2]|0; - dest=$matMVP$byval_copy; src=$matMVP; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $19 = (_MatrixToFloat($matMVP$byval_copy)|0); - _glUniformMatrix4fv(($18|0),1,0,($19|0)); - $20 = HEAP8[$color>>0]|0; - $21 = (+($20&255)); - $22 = $21 / 255.0; - HEAPF32[$vColor>>2] = $22; - $23 = ((($vColor)) + 4|0); - $24 = ((($color)) + 1|0); - $25 = HEAP8[$24>>0]|0; - $26 = (+($25&255)); - $27 = $26 / 255.0; - HEAPF32[$23>>2] = $27; - $28 = ((($vColor)) + 8|0); - $29 = ((($color)) + 2|0); - $30 = HEAP8[$29>>0]|0; - $31 = (+($30&255)); - $32 = $31 / 255.0; - HEAPF32[$28>>2] = $32; - $33 = ((($vColor)) + 12|0); - $34 = ((($color)) + 3|0); - $35 = HEAP8[$34>>0]|0; - $36 = (+($35&255)); - $37 = $36 / 255.0; - HEAPF32[$33>>2] = $37; - $38 = ((($model)) + 200|0); - $39 = HEAP32[$38>>2]|0; - _glUniform4fv(($39|0),1,($vColor|0)); - _glActiveTexture(33984); - $40 = ((($model)) + 168|0); - $41 = HEAP32[$40>>2]|0; - _glBindTexture(3553,($41|0)); - $42 = ((($model)) + 204|0); - $43 = HEAP32[$42>>2]|0; - _glUniform1i(($43|0),0); - $44 = ((($model)) + 172|0); - $45 = HEAP32[$44>>2]|0; - $46 = ($45|0)==(0); - if (!($46)) { - _glActiveTexture(33985); - $47 = HEAP32[$44>>2]|0; - _glBindTexture(3553,($47|0)); - } - $48 = ((($model)) + 176|0); - $49 = HEAP32[$48>>2]|0; - $50 = ($49|0)==(0); - if (!($50)) { - _glActiveTexture(33986); - $51 = HEAP32[$48>>2]|0; - _glBindTexture(3553,($51|0)); - } - $52 = HEAP32[2244>>2]|0; - $53 = ($52|0)==(0); - if ($53) { - $57 = ((($model)) + 56|0); - $58 = HEAP32[$57>>2]|0; - _glBindBuffer(34962,($58|0)); - $59 = ((($model)) + 180|0); - $60 = HEAP32[$59>>2]|0; - _glVertexAttribPointer(($60|0),3,5126,0,0,(0|0)); - $61 = HEAP32[$59>>2]|0; - _glEnableVertexAttribArray(($61|0)); - $62 = ((($model)) + 60|0); - $63 = HEAP32[$62>>2]|0; - _glBindBuffer(34962,($63|0)); - $64 = ((($model)) + 184|0); - $65 = HEAP32[$64>>2]|0; - _glVertexAttribPointer(($65|0),2,5126,0,0,(0|0)); - $66 = HEAP32[$64>>2]|0; - _glEnableVertexAttribArray(($66|0)); - $67 = ((($model)) + 188|0); - $68 = HEAP32[$67>>2]|0; - $69 = ($68|0)==(-1); - if (!($69)) { - $70 = ((($model)) + 64|0); - $71 = HEAP32[$70>>2]|0; - _glBindBuffer(34962,($71|0)); - $72 = HEAP32[$67>>2]|0; - _glVertexAttribPointer(($72|0),3,5126,0,0,(0|0)); - $73 = HEAP32[$67>>2]|0; - _glEnableVertexAttribArray(($73|0)); - } + _glGenBuffers(2,((26396)|0)); + $46 = HEAP32[(26396)>>2]|0; + _glBindBuffer(34962,($46|0)); + $47 = HEAP32[(26376)>>2]|0; + _glBufferData(34962,24576,($47|0),35048); + $48 = HEAP32[(25264)>>2]|0; + _glEnableVertexAttribArray(($48|0)); + $49 = HEAP32[(25264)>>2]|0; + _glVertexAttribPointer(($49|0),3,5126,0,0,(0|0)); + _glGenBuffers(2,((26400)|0)); + $50 = HEAP32[(26400)>>2]|0; + _glBindBuffer(34962,($50|0)); + $51 = HEAP32[(26384)>>2]|0; + _glBufferData(34962,8192,($51|0),35048); + $52 = HEAP32[(25284)>>2]|0; + _glEnableVertexAttribArray(($52|0)); + $53 = HEAP32[(25284)>>2]|0; + _glVertexAttribPointer(($53|0),4,5121,1,0,(0|0)); + $54 = HEAP32[6293]|0; + $55 = ($54|0)==(0); + if ($55) { + $57 = HEAP32[(26396)>>2]|0; + $58 = HEAP32[(26400)>>2]|0; + HEAP32[$vararg_buffer3>>2] = $57; + $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); + HEAP32[$vararg_ptr6>>2] = $58; + _TraceLog(0,8613,$vararg_buffer3); } else { - $54 = HEAP32[2256>>2]|0; - $55 = ((($model)) + 52|0); - $56 = HEAP32[$55>>2]|0; - FUNCTION_TABLE_vi[$54 & 31]($56); + $56 = HEAP32[(26392)>>2]|0; + HEAP32[$vararg_buffer1>>2] = $56; + _TraceLog(0,8548,$vararg_buffer1); } - $74 = HEAP32[$model>>2]|0; - _glDrawArrays(4,0,($74|0)); - $75 = HEAP32[$44>>2]|0; - $76 = ($75|0)==(0); - if (!($76)) { - _glActiveTexture(33985); - _glBindTexture(3553,0); + $59 = HEAP32[6293]|0; + $60 = ($59|0)==(0); + if (!($60)) { + $61 = HEAP32[6294]|0; + FUNCTION_TABLE_vii[$61 & 63](1,(26440)); + $62 = HEAP32[6295]|0; + $63 = HEAP32[(26440)>>2]|0; + FUNCTION_TABLE_vi[$62 & 31]($63); } - $77 = HEAP32[$48>>2]|0; + _glGenBuffers(1,((26444)|0)); + $64 = HEAP32[(26444)>>2]|0; + _glBindBuffer(34962,($64|0)); + $65 = HEAP32[(26424)>>2]|0; + _glBufferData(34962,73728,($65|0),35048); + $66 = HEAP32[(25264)>>2]|0; + _glEnableVertexAttribArray(($66|0)); + $67 = HEAP32[(25264)>>2]|0; + _glVertexAttribPointer(($67|0),3,5126,0,0,(0|0)); + _glGenBuffers(1,((26448)|0)); + $68 = HEAP32[(26448)>>2]|0; + _glBindBuffer(34962,($68|0)); + $69 = HEAP32[(26432)>>2]|0; + _glBufferData(34962,24576,($69|0),35048); + $70 = HEAP32[(25284)>>2]|0; + _glEnableVertexAttribArray(($70|0)); + $71 = HEAP32[(25284)>>2]|0; + _glVertexAttribPointer(($71|0),4,5121,1,0,(0|0)); + $72 = HEAP32[6293]|0; + $73 = ($72|0)==(0); + if ($73) { + $75 = HEAP32[(26444)>>2]|0; + $76 = HEAP32[(26448)>>2]|0; + HEAP32[$vararg_buffer10>>2] = $75; + $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); + HEAP32[$vararg_ptr13>>2] = $76; + _TraceLog(0,8759,$vararg_buffer10); + } else { + $74 = HEAP32[(26440)>>2]|0; + HEAP32[$vararg_buffer7>>2] = $74; + _TraceLog(0,8690,$vararg_buffer7); + } + $77 = HEAP32[6293]|0; $78 = ($77|0)==(0); if (!($78)) { - _glActiveTexture(33986); - _glBindTexture(3553,0); + $79 = HEAP32[6294]|0; + FUNCTION_TABLE_vii[$79 & 63](1,(26488)); + $80 = HEAP32[6295]|0; + $81 = HEAP32[(26488)>>2]|0; + FUNCTION_TABLE_vi[$80 & 31]($81); } - _glActiveTexture(33984); - _glBindTexture(3553,0); - $79 = HEAP32[2244>>2]|0; - $80 = ($79|0)==(0); - if ($80) { - _glBindBuffer(34962,0); - _glUseProgram(0); - STACKTOP = sp;return; + _glGenBuffers(1,((26492)|0)); + $82 = HEAP32[(26492)>>2]|0; + _glBindBuffer(34962,($82|0)); + $83 = HEAP32[(26472)>>2]|0; + _glBufferData(34962,49152,($83|0),35048); + $84 = HEAP32[(25264)>>2]|0; + _glEnableVertexAttribArray(($84|0)); + $85 = HEAP32[(25264)>>2]|0; + _glVertexAttribPointer(($85|0),3,5126,0,0,(0|0)); + _glGenBuffers(1,((26496)|0)); + $86 = HEAP32[(26496)>>2]|0; + _glBindBuffer(34962,($86|0)); + $87 = HEAP32[(26476)>>2]|0; + _glBufferData(34962,32768,($87|0),35048); + $88 = HEAP32[(25268)>>2]|0; + _glEnableVertexAttribArray(($88|0)); + $89 = HEAP32[(25268)>>2]|0; + _glVertexAttribPointer(($89|0),2,5126,0,0,(0|0)); + _glGenBuffers(1,((26500)|0)); + $90 = HEAP32[(26500)>>2]|0; + _glBindBuffer(34962,($90|0)); + $91 = HEAP32[(26480)>>2]|0; + _glBufferData(34962,16384,($91|0),35048); + $92 = HEAP32[(25284)>>2]|0; + _glEnableVertexAttribArray(($92|0)); + $93 = HEAP32[(25284)>>2]|0; + _glVertexAttribPointer(($93|0),4,5121,1,0,(0|0)); + _glGenBuffers(1,((26504)|0)); + $94 = HEAP32[(26504)>>2]|0; + _glBindBuffer(34963,($94|0)); + $95 = HEAP32[(26484)>>2]|0; + _glBufferData(34963,12288,($95|0),35044); + $96 = HEAP32[6293]|0; + $97 = ($96|0)==(0); + if ($97) { + $99 = HEAP32[(26492)>>2]|0; + $100 = HEAP32[(26496)>>2]|0; + $101 = HEAP32[(26500)>>2]|0; + $102 = HEAP32[(26504)>>2]|0; + HEAP32[$vararg_buffer17>>2] = $99; + $vararg_ptr20 = ((($vararg_buffer17)) + 4|0); + HEAP32[$vararg_ptr20>>2] = $100; + $vararg_ptr21 = ((($vararg_buffer17)) + 8|0); + HEAP32[$vararg_ptr21>>2] = $101; + $vararg_ptr22 = ((($vararg_buffer17)) + 12|0); + HEAP32[$vararg_ptr22>>2] = $102; + _TraceLog(0,8905,$vararg_buffer17); } else { - $81 = HEAP32[2256>>2]|0; - FUNCTION_TABLE_vi[$81 & 31](0); - _glUseProgram(0); + $98 = HEAP32[(26488)>>2]|0; + HEAP32[$vararg_buffer14>>2] = $98; + _TraceLog(0,8840,$vararg_buffer14); + } + $103 = HEAP32[6293]|0; + $104 = ($103|0)==(0); + if ($104) { STACKTOP = sp;return; } -} -function _rlglInitGraphics($offsetX,$offsetY,$width,$height) { - $offsetX = $offsetX|0; - $offsetY = $offsetY|0; - $width = $width|0; - $height = $height|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0.0, $5 = 0.0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $vararg_buffer = sp; - HEAP32[2440>>2] = $width; - HEAP32[2444>>2] = $height; - $0 = (($offsetX|0) / 2)&-1; - $1 = (($offsetY|0) / 2)&-1; - $2 = (($width) - ($offsetX))|0; - $3 = (($height) - ($offsetY))|0; - _glViewport(($0|0),($1|0),($2|0),($3|0)); - _glClearColor(0.0,0.0,0.0,1.0); - _glClear(16640); - _glEnable(2929); - _glDepthFunc(515); - _glEnable(3042); - _glBlendFunc(770,771); - _rlMatrixMode(0); - _rlLoadIdentity(); - $4 = (+($2|0)); - $5 = (+($3|0)); - _rlOrtho(0.0,$4,$5,0.0,0.0,1.0); - _rlMatrixMode(1); - _rlLoadIdentity(); - _glEnable(2884); - _TraceLog(0,12874,$vararg_buffer); + $105 = HEAP32[6295]|0; + FUNCTION_TABLE_vi[$105 & 31](0); STACKTOP = sp;return; } -function _LoadShaderProgram($vShaderStr,$fShaderStr) { - $vShaderStr = $vShaderStr|0; - $fShaderStr = $fShaderStr|0; - var $$alloca_mul = 0, $$alloca_mul25 = 0, $$alloca_mul27 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0; - var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $length = 0, $length2 = 0, $length4 = 0, $maxLength = 0, $maxLength1 = 0, $maxLength3 = 0, $pfs = 0, $program$0 = 0, $pvs = 0, $success = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer13 = 0, $vararg_buffer16 = 0, $vararg_buffer19 = 0; - var $vararg_buffer22 = 0, $vararg_buffer4 = 0, $vararg_buffer7 = 0, label = 0, sp = 0; +function _LoadShaderProgram($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $$alloca_mul = 0, $$alloca_mul34 = 0, $$alloca_mul36 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; + var $25 = 0, $26 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer13 = 0, $vararg_buffer16 = 0, $vararg_buffer19 = 0, $vararg_buffer22 = 0, $vararg_buffer4 = 0, $vararg_buffer7 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 112|0; + STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0); $vararg_buffer22 = sp + 64|0; $vararg_buffer19 = sp + 56|0; $vararg_buffer16 = sp + 48|0; @@ -15405,8810 +16624,23817 @@ function _LoadShaderProgram($vShaderStr,$fShaderStr) { $vararg_buffer4 = sp + 16|0; $vararg_buffer1 = sp + 8|0; $vararg_buffer = sp; - $pvs = sp + 100|0; - $pfs = sp + 96|0; - $success = sp + 92|0; - $maxLength = sp + 88|0; - $length = sp + 84|0; - $maxLength1 = sp + 80|0; - $length2 = sp + 76|0; - $maxLength3 = sp + 72|0; - $length4 = sp + 68|0; - $0 = (_glCreateShader(35633)|0); - $1 = (_glCreateShader(35632)|0); - HEAP32[$pvs>>2] = $vShaderStr; - HEAP32[$pfs>>2] = $fShaderStr; - _glShaderSource(($0|0),1,($pvs|0),(0|0)); - _glShaderSource(($1|0),1,($pfs|0),(0|0)); - HEAP32[$success>>2] = 0; - _glCompileShader(($0|0)); - _glGetShaderiv(($0|0),35713,($success|0)); - $2 = HEAP32[$success>>2]|0; - $3 = ($2|0)==(1); - if ($3) { - HEAP32[$vararg_buffer4>>2] = $0; - _TraceLog(0,13049,$vararg_buffer4); - } else { - HEAP32[$vararg_buffer>>2] = $0; - _TraceLog(2,12997,$vararg_buffer); - HEAP32[$maxLength>>2] = 0; - _glGetShaderiv(($0|0),35716,($maxLength|0)); - $4 = HEAP32[$maxLength>>2]|0; - $5 = (_llvm_stacksave()|0); - $$alloca_mul = $4; - $6 = STACKTOP; STACKTOP = STACKTOP + ((((1*$$alloca_mul)|0)+15)&-16)|0;; - $7 = HEAP32[$maxLength>>2]|0; - _glGetShaderInfoLog(($0|0),($7|0),($length|0),($6|0)); - HEAP32[$vararg_buffer1>>2] = $6; - _TraceLog(0,13046,$vararg_buffer1); - _llvm_stackrestore(($5|0)); - } - _glCompileShader(($1|0)); - _glGetShaderiv(($1|0),35713,($success|0)); - $8 = HEAP32[$success>>2]|0; + $2 = sp + 80|0; + $3 = sp + 76|0; + $4 = sp + 72|0; + $5 = sp + 68|0; + $6 = (_glCreateShader(35633)|0); + $7 = (_glCreateShader(35632)|0); + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + _glShaderSource(($6|0),1,($2|0),(0|0)); + _glShaderSource(($7|0),1,($3|0),(0|0)); + HEAP32[$4>>2] = 0; + _glCompileShader(($6|0)); + _glGetShaderiv(($6|0),35713,($4|0)); + $8 = HEAP32[$4>>2]|0; $9 = ($8|0)==(1); if ($9) { - HEAP32[$vararg_buffer13>>2] = $1; - _TraceLog(0,13150,$vararg_buffer13); + HEAP32[$vararg_buffer4>>2] = $6; + _TraceLog(0,10238,$vararg_buffer4); } else { - HEAP32[$vararg_buffer7>>2] = $1; - _TraceLog(2,13099,$vararg_buffer7); - HEAP32[$maxLength1>>2] = 0; - _glGetShaderiv(($1|0),35716,($maxLength1|0)); - $10 = HEAP32[$maxLength1>>2]|0; + HEAP32[$vararg_buffer>>2] = $6; + _TraceLog(1,10186,$vararg_buffer); + HEAP32[$vararg_buffer>>2] = 0; + _glGetShaderiv(($6|0),35716,($vararg_buffer|0)); + $10 = HEAP32[$vararg_buffer>>2]|0; $11 = (_llvm_stacksave()|0); - $$alloca_mul25 = $10; - $12 = STACKTOP; STACKTOP = STACKTOP + ((((1*$$alloca_mul25)|0)+15)&-16)|0;; - $13 = HEAP32[$maxLength1>>2]|0; - _glGetShaderInfoLog(($1|0),($13|0),($length2|0),($12|0)); - HEAP32[$vararg_buffer10>>2] = $12; - _TraceLog(0,13046,$vararg_buffer10); + $$alloca_mul = $10; + $12 = STACKTOP; STACKTOP = STACKTOP + ((((1*$$alloca_mul)|0)+15)&-16)|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(((((1*$$alloca_mul)|0)+15)&-16)|0);; + $13 = HEAP32[$vararg_buffer>>2]|0; + _glGetShaderInfoLog(($6|0),($13|0),($5|0),($12|0)); + HEAP32[$vararg_buffer1>>2] = $12; + _TraceLog(0,10235,$vararg_buffer1); _llvm_stackrestore(($11|0)); } - $14 = (_glCreateProgram()|0); - _glAttachShader(($14|0),($0|0)); - _glAttachShader(($14|0),($1|0)); - _glLinkProgram(($14|0)); - _glGetProgramiv(($14|0),35714,($success|0)); - $15 = HEAP32[$success>>2]|0; - $16 = ($15|0)==(0); - if ($16) { - HEAP32[$vararg_buffer16>>2] = $14; - _TraceLog(2,13202,$vararg_buffer16); - HEAP32[$maxLength3>>2] = 0; - _glGetProgramiv(($14|0),35716,($maxLength3|0)); - $17 = HEAP32[$maxLength3>>2]|0; - $18 = (_llvm_stacksave()|0); - $$alloca_mul27 = $17; - $19 = STACKTOP; STACKTOP = STACKTOP + ((((1*$$alloca_mul27)|0)+15)&-16)|0;; - $20 = HEAP32[$maxLength3>>2]|0; - _glGetProgramInfoLog(($14|0),($20|0),($length4|0),($19|0)); - HEAP32[$vararg_buffer19>>2] = $19; - _TraceLog(0,13046,$vararg_buffer19); - _glDeleteProgram(($14|0)); - _llvm_stackrestore(($18|0)); - $program$0 = 0; - _glDeleteShader(($0|0)); - _glDeleteShader(($1|0)); - STACKTOP = sp;return ($program$0|0); + _glCompileShader(($7|0)); + _glGetShaderiv(($7|0),35713,($4|0)); + $14 = HEAP32[$4>>2]|0; + $15 = ($14|0)==(1); + if ($15) { + HEAP32[$vararg_buffer13>>2] = $7; + _TraceLog(0,10339,$vararg_buffer13); } else { - HEAP32[$vararg_buffer22>>2] = $14; - _TraceLog(0,13248,$vararg_buffer22); - $program$0 = $14; - _glDeleteShader(($0|0)); - _glDeleteShader(($1|0)); - STACKTOP = sp;return ($program$0|0); + HEAP32[$vararg_buffer7>>2] = $7; + _TraceLog(1,10288,$vararg_buffer7); + HEAP32[$vararg_buffer7>>2] = 0; + _glGetShaderiv(($7|0),35716,($vararg_buffer7|0)); + $16 = HEAP32[$vararg_buffer7>>2]|0; + $17 = (_llvm_stacksave()|0); + $$alloca_mul34 = $16; + $18 = STACKTOP; STACKTOP = STACKTOP + ((((1*$$alloca_mul34)|0)+15)&-16)|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(((((1*$$alloca_mul34)|0)+15)&-16)|0);; + $19 = HEAP32[$vararg_buffer7>>2]|0; + _glGetShaderInfoLog(($7|0),($19|0),($5|0),($18|0)); + HEAP32[$vararg_buffer10>>2] = $18; + _TraceLog(0,10235,$vararg_buffer10); + _llvm_stackrestore(($17|0)); + } + $20 = (_glCreateProgram()|0); + _glAttachShader(($20|0),($6|0)); + _glAttachShader(($20|0),($7|0)); + _glBindAttribLocation(($20|0),0,(10030|0)); + _glBindAttribLocation(($20|0),1,(10045|0)); + _glBindAttribLocation(($20|0),2,(10076|0)); + _glBindAttribLocation(($20|0),3,(10103|0)); + _glBindAttribLocation(($20|0),4,(10089|0)); + _glBindAttribLocation(($20|0),5,(10060|0)); + _glLinkProgram(($20|0)); + _glGetProgramiv(($20|0),35714,($4|0)); + $21 = HEAP32[$4>>2]|0; + $22 = ($21|0)==(0); + if ($22) { + HEAP32[$vararg_buffer16>>2] = $20; + _TraceLog(1,10391,$vararg_buffer16); + HEAP32[$vararg_buffer16>>2] = 0; + _glGetProgramiv(($20|0),35716,($vararg_buffer16|0)); + $23 = HEAP32[$vararg_buffer16>>2]|0; + $24 = (_llvm_stacksave()|0); + $$alloca_mul36 = $23; + $25 = STACKTOP; STACKTOP = STACKTOP + ((((1*$$alloca_mul36)|0)+15)&-16)|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(((((1*$$alloca_mul36)|0)+15)&-16)|0);; + $26 = HEAP32[$vararg_buffer16>>2]|0; + _glGetProgramInfoLog(($20|0),($26|0),($5|0),($25|0)); + HEAP32[$vararg_buffer19>>2] = $25; + _TraceLog(0,10235,$vararg_buffer19); + _glDeleteProgram(($20|0)); + _llvm_stackrestore(($24|0)); + $$0 = 0; + _glDeleteShader(($6|0)); + _glDeleteShader(($7|0)); + STACKTOP = sp;return ($$0|0); + } else { + HEAP32[$vararg_buffer22>>2] = $20; + _TraceLog(0,10437,$vararg_buffer22); + $$0 = $20; + _glDeleteShader(($6|0)); + _glDeleteShader(($7|0)); + STACKTOP = sp;return ($$0|0); } return (0)|0; } -function _IsPosproShaderEnabled() { - var $0 = 0, label = 0, sp = 0; +function _LoadDefaultShaderLocations($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; + var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; + var sp = 0; sp = STACKTOP; - $0 = HEAP32[2712>>2]|0; - return ($0|0); + $1 = HEAP32[$0>>2]|0; + $2 = (_glGetAttribLocation(($1|0),(10030|0))|0); + $3 = ((($0)) + 4|0); + HEAP32[$3>>2] = $2; + $4 = HEAP32[$0>>2]|0; + $5 = (_glGetAttribLocation(($4|0),(10045|0))|0); + $6 = ((($0)) + 8|0); + HEAP32[$6>>2] = $5; + $7 = HEAP32[$0>>2]|0; + $8 = (_glGetAttribLocation(($7|0),(10060|0))|0); + $9 = ((($0)) + 12|0); + HEAP32[$9>>2] = $8; + $10 = HEAP32[$0>>2]|0; + $11 = (_glGetAttribLocation(($10|0),(10076|0))|0); + $12 = ((($0)) + 16|0); + HEAP32[$12>>2] = $11; + $13 = HEAP32[$0>>2]|0; + $14 = (_glGetAttribLocation(($13|0),(10089|0))|0); + $15 = ((($0)) + 20|0); + HEAP32[$15>>2] = $14; + $16 = HEAP32[$0>>2]|0; + $17 = (_glGetAttribLocation(($16|0),(10103|0))|0); + $18 = ((($0)) + 24|0); + HEAP32[$18>>2] = $17; + $19 = HEAP32[$0>>2]|0; + $20 = (_glGetUniformLocation(($19|0),(10115|0))|0); + $21 = ((($0)) + 28|0); + HEAP32[$21>>2] = $20; + $22 = HEAP32[$0>>2]|0; + $23 = (_glGetUniformLocation(($22|0),(10125|0))|0); + $24 = ((($0)) + 32|0); + HEAP32[$24>>2] = $23; + $25 = HEAP32[$0>>2]|0; + $26 = (_glGetUniformLocation(($25|0),(10136|0))|0); + $27 = ((($0)) + 36|0); + HEAP32[$27>>2] = $26; + $28 = HEAP32[$0>>2]|0; + $29 = (_glGetUniformLocation(($28|0),(10147|0))|0); + $30 = ((($0)) + 40|0); + HEAP32[$30>>2] = $29; + $31 = HEAP32[$0>>2]|0; + $32 = (_glGetUniformLocation(($31|0),(10159|0))|0); + $33 = ((($0)) + 44|0); + HEAP32[$33>>2] = $32; + $34 = HEAP32[$0>>2]|0; + $35 = (_glGetUniformLocation(($34|0),(10168|0))|0); + $36 = ((($0)) + 48|0); + HEAP32[$36>>2] = $35; + $37 = HEAP32[$0>>2]|0; + $38 = (_glGetUniformLocation(($37|0),(10177|0))|0); + $39 = ((($0)) + 52|0); + HEAP32[$39>>2] = $38; + return; } -function _DrawRectangle($posX,$posY,$width,$height,$color) { - $posX = $posX|0; - $posY = $posY|0; - $width = $width|0; - $height = $height|0; - $color = $color|0; - var $0 = 0.0, $1 = 0, $2 = 0.0, $3 = 0.0, $4 = 0, $5 = 0.0, $color$byval_copy = 0, $position = 0, $position$byval_copy = 0, $size = 0, $size$byval_copy = 0, label = 0, sp = 0; +function _IsMouseButtonPressed($0) { + $0 = $0|0; + var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $color$byval_copy = sp + 32|0; - $size$byval_copy = sp + 24|0; - $position$byval_copy = sp + 16|0; - $position = sp + 8|0; - $size = sp; - $0 = (+($posX|0)); - HEAPF32[$position>>2] = $0; - $1 = ((($position)) + 4|0); - $2 = (+($posY|0)); - HEAPF32[$1>>2] = $2; - $3 = (+($width|0)); - HEAPF32[$size>>2] = $3; - $4 = ((($size)) + 4|0); - $5 = (+($height|0)); - HEAPF32[$4>>2] = $5; - ;HEAP32[$position$byval_copy>>2]=HEAP32[$position>>2]|0;HEAP32[$position$byval_copy+4>>2]=HEAP32[$position+4>>2]|0; - ;HEAP32[$size$byval_copy>>2]=HEAP32[$size>>2]|0;HEAP32[$size$byval_copy+4>>2]=HEAP32[$size+4>>2]|0; - ;HEAP8[$color$byval_copy>>0]=HEAP8[$color>>0]|0;HEAP8[$color$byval_copy+1>>0]=HEAP8[$color+1>>0]|0;HEAP8[$color$byval_copy+2>>0]=HEAP8[$color+2>>0]|0;HEAP8[$color$byval_copy+3>>0]=HEAP8[$color+3>>0]|0; - _DrawRectangleV($position$byval_copy,$size$byval_copy,$color$byval_copy); + $1 = (28705 + ($0)|0); + $2 = HEAP8[$1>>0]|0; + $3 = (28708 + ($0)|0); + $4 = HEAP8[$3>>0]|0; + $5 = ($2<<24>>24)!=($4<<24>>24); + $6 = ($2<<24>>24)==(1); + $or$cond = $6 & $5; + $$0 = $or$cond&1; + return ($$0|0); +} +function _IsMouseButtonReleased($0) { + $0 = $0|0; + var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (28705 + ($0)|0); + $2 = HEAP8[$1>>0]|0; + $3 = (28708 + ($0)|0); + $4 = HEAP8[$3>>0]|0; + $5 = ($2<<24>>24)!=($4<<24>>24); + $6 = ($2<<24>>24)==(0); + $or$cond = $6 & $5; + $$0 = $or$cond&1; + return ($$0|0); +} +function _rlClearScreenBuffers() { + var label = 0, sp = 0; + sp = STACKTOP; + _glClear(16640); + return; +} +function _CloseWindow() { + var $0 = 0, $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $vararg_buffer = sp; + _UnloadDefaultFont(); + _rlglClose(); + $0 = HEAP32[6212]|0; + _glfwDestroyWindow(($0|0)); + _glfwTerminate(); + _TraceLog(0,10749,$vararg_buffer); STACKTOP = sp;return; } -function _DrawRectangleV($position,$size,$color) { - $position = $position|0; - $size = $size|0; - $color = $color|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0, $16 = 0.0, $17 = 0, $18 = 0.0, $19 = 0.0, $2 = 0, $20 = 0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0, $25 = 0.0, $26 = 0.0; - var $27 = 0.0, $28 = 0, $29 = 0.0, $3 = 0, $30 = 0, $31 = 0.0, $32 = 0, $33 = 0.0, $34 = 0.0, $35 = 0.0, $36 = 0, $37 = 0.0, $38 = 0.0, $39 = 0.0, $4 = 0, $40 = 0, $41 = 0.0, $42 = 0.0, $43 = 0.0, $44 = 0; - var $45 = 0.0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0.0, $6 = 0, $60 = 0, $61 = 0.0, $62 = 0.0; - var $63 = 0.0, $64 = 0, $65 = 0.0, $66 = 0.0, $67 = 0.0, $68 = 0.0, $69 = 0.0, $7 = 0, $70 = 0.0, $71 = 0.0, $72 = 0.0, $73 = 0.0, $74 = 0.0, $75 = 0.0, $76 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; +function _UnloadDefaultFont() { + var $$byval_copy = 0, $0 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = (_rlGetVersion()|0); - $1 = ($0|0)==(1); - if ($1) { - _rlBegin(1); - $2 = HEAP8[$color>>0]|0; - $3 = ((($color)) + 1|0); - $4 = HEAP8[$3>>0]|0; - $5 = ((($color)) + 2|0); - $6 = HEAP8[$5>>0]|0; - $7 = ((($color)) + 3|0); - $8 = HEAP8[$7>>0]|0; - _rlColor4ub($2,$4,$6,$8); - $9 = +HEAPF32[$position>>2]; - $10 = (~~(($9))); - $11 = ((($position)) + 4|0); - $12 = +HEAPF32[$11>>2]; - $13 = (~~(($12))); - _rlVertex2i($10,$13); - $14 = +HEAPF32[$position>>2]; - $15 = (~~(($14))); - $16 = +HEAPF32[$11>>2]; - $17 = ((($size)) + 4|0); - $18 = +HEAPF32[$17>>2]; - $19 = $16 + $18; - $20 = (~~(($19))); - _rlVertex2i($15,$20); - $21 = +HEAPF32[$position>>2]; - $22 = +HEAPF32[$size>>2]; - $23 = $21 + $22; - $24 = (~~(($23))); - $25 = +HEAPF32[$11>>2]; - $26 = +HEAPF32[$17>>2]; - $27 = $25 + $26; - $28 = (~~(($27))); - _rlVertex2i($24,$28); - $29 = +HEAPF32[$position>>2]; - $30 = (~~(($29))); - $31 = +HEAPF32[$11>>2]; - $32 = (~~(($31))); - _rlVertex2i($30,$32); - $33 = +HEAPF32[$position>>2]; - $34 = +HEAPF32[$size>>2]; - $35 = $33 + $34; - $36 = (~~(($35))); - $37 = +HEAPF32[$11>>2]; - $38 = +HEAPF32[$17>>2]; - $39 = $37 + $38; - $40 = (~~(($39))); - _rlVertex2i($36,$40); - $41 = +HEAPF32[$position>>2]; - $42 = +HEAPF32[$size>>2]; - $43 = $41 + $42; - $44 = (~~(($43))); - $45 = +HEAPF32[$11>>2]; - $46 = (~~(($45))); - _rlVertex2i($44,$46); - _rlEnd(); + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $$byval_copy = sp; + ;HEAP32[$$byval_copy>>2]=HEAP32[24888>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[24888+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[24888+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[24888+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[24888+16>>2]|0; + _UnloadTexture($$byval_copy); + $0 = HEAP32[(24916)>>2]|0; + _free($0); + STACKTOP = sp;return; +} +function _rlglClose() { + var $0 = 0, $1 = 0, $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $vararg_buffer = sp; + _UnloadDefaultShader(); + _UnloadDefaultBuffers(); + _glDeleteTextures(1,(25200|0)); + $0 = HEAP32[6300]|0; + HEAP32[$vararg_buffer>>2] = $0; + _TraceLog(0,10776,$vararg_buffer); + $1 = HEAP32[6330]|0; + _free($1); + STACKTOP = sp;return; +} +function _UnloadDefaultShader() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + _glUseProgram(0); + $0 = HEAP32[6301]|0; + _glDeleteProgram(($0|0)); + return; +} +function _UnloadDefaultBuffers() { + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[6293]|0; + $1 = ($0|0)==(0); + if (!($1)) { + $2 = HEAP32[6295]|0; + FUNCTION_TABLE_vi[$2 & 31](0); + } + _glDisableVertexAttribArray(0); + _glDisableVertexAttribArray(1); + _glDisableVertexAttribArray(2); + _glDisableVertexAttribArray(3); + _glBindBuffer(34962,0); + _glBindBuffer(34963,0); + _glDeleteBuffers(1,((26396)|0)); + _glDeleteBuffers(1,((26400)|0)); + _glDeleteBuffers(1,((26444)|0)); + _glDeleteBuffers(1,((26448)|0)); + _glDeleteBuffers(1,((26492)|0)); + _glDeleteBuffers(1,((26496)|0)); + _glDeleteBuffers(1,((26500)|0)); + _glDeleteBuffers(1,((26504)|0)); + $3 = HEAP32[6293]|0; + $4 = ($3|0)==(0); + if (!($4)) { + $5 = HEAP32[6296]|0; + FUNCTION_TABLE_vii[$5 & 63](1,(26392)); + $6 = HEAP32[6296]|0; + FUNCTION_TABLE_vii[$6 & 63](1,(26440)); + $7 = HEAP32[6296]|0; + FUNCTION_TABLE_vii[$7 & 63](1,(26488)); + } + $8 = HEAP32[(26376)>>2]|0; + _free($8); + $9 = HEAP32[(26384)>>2]|0; + _free($9); + $10 = HEAP32[(26424)>>2]|0; + _free($10); + $11 = HEAP32[(26432)>>2]|0; + _free($11); + $12 = HEAP32[(26472)>>2]|0; + _free($12); + $13 = HEAP32[(26476)>>2]|0; + _free($13); + $14 = HEAP32[(26480)>>2]|0; + _free($14); + $15 = HEAP32[(26484)>>2]|0; + _free($15); + return; +} +function _UnloadTexture($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $vararg_buffer = sp; + $1 = HEAP32[$0>>2]|0; + $2 = ($1|0)==(0); + if ($2) { + STACKTOP = sp;return; + } + _rlDeleteTextures($1); + $3 = HEAP32[$0>>2]|0; + HEAP32[$vararg_buffer>>2] = $3; + _TraceLog(0,10841,$vararg_buffer); + STACKTOP = sp;return; +} +function _rlDeleteTextures($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = ($0|0)==(0); + if (!($2)) { + _glDeleteTextures(1,($1|0)); + } + STACKTOP = sp;return; +} +function _BeginDrawing() { + var $0 = 0.0, $1 = 0.0, $2 = 0.0, $downscaleView$byval_copy = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $downscaleView$byval_copy = sp; + $0 = (+_GetTime()); + HEAPF64[3018] = $0; + $1 = +HEAPF64[3001]; + $2 = $0 - $1; + HEAPF64[3019] = $2; + HEAPF64[3001] = $0; + _rlClearScreenBuffers(); + _rlLoadIdentity(); + dest=$downscaleView$byval_copy; src=24944; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + (_MatrixToFloat($downscaleView$byval_copy)|0); + _rlMultMatrixf(26516); + STACKTOP = sp;return; +} +function _MatrixToFloat($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; + var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP32[$0>>2]|0; + HEAP32[6629] = $1; + $2 = ((($0)) + 4|0); + $3 = HEAP32[$2>>2]|0; + HEAP32[(26520)>>2] = $3; + $4 = ((($0)) + 8|0); + $5 = HEAP32[$4>>2]|0; + HEAP32[(26524)>>2] = $5; + $6 = ((($0)) + 12|0); + $7 = HEAP32[$6>>2]|0; + HEAP32[(26528)>>2] = $7; + $8 = ((($0)) + 16|0); + $9 = HEAP32[$8>>2]|0; + HEAP32[(26532)>>2] = $9; + $10 = ((($0)) + 20|0); + $11 = HEAP32[$10>>2]|0; + HEAP32[(26536)>>2] = $11; + $12 = ((($0)) + 24|0); + $13 = HEAP32[$12>>2]|0; + HEAP32[(26540)>>2] = $13; + $14 = ((($0)) + 28|0); + $15 = HEAP32[$14>>2]|0; + HEAP32[(26544)>>2] = $15; + $16 = ((($0)) + 32|0); + $17 = HEAP32[$16>>2]|0; + HEAP32[(26548)>>2] = $17; + $18 = ((($0)) + 36|0); + $19 = HEAP32[$18>>2]|0; + HEAP32[(26552)>>2] = $19; + $20 = ((($0)) + 40|0); + $21 = HEAP32[$20>>2]|0; + HEAP32[(26556)>>2] = $21; + $22 = ((($0)) + 44|0); + $23 = HEAP32[$22>>2]|0; + HEAP32[(26560)>>2] = $23; + $24 = ((($0)) + 48|0); + $25 = HEAP32[$24>>2]|0; + HEAP32[(26564)>>2] = $25; + $26 = ((($0)) + 52|0); + $27 = HEAP32[$26>>2]|0; + HEAP32[(26568)>>2] = $27; + $28 = ((($0)) + 56|0); + $29 = HEAP32[$28>>2]|0; + HEAP32[(26572)>>2] = $29; + $30 = ((($0)) + 60|0); + $31 = HEAP32[$30>>2]|0; + HEAP32[(26576)>>2] = $31; + return (26516|0); +} +function _rlMultMatrixf($0) { + $0 = $0|0; + var $$byval_copy = 0, $$byval_copy1 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; + var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; + var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0); + $$byval_copy1 = sp + 192|0; + $$byval_copy = sp + 128|0; + $1 = sp + 64|0; + $2 = sp; + $3 = HEAP32[$0>>2]|0; + HEAP32[$1>>2] = $3; + $4 = ((($1)) + 4|0); + $5 = ((($0)) + 4|0); + $6 = HEAP32[$5>>2]|0; + HEAP32[$4>>2] = $6; + $7 = ((($1)) + 8|0); + $8 = ((($0)) + 8|0); + $9 = HEAP32[$8>>2]|0; + HEAP32[$7>>2] = $9; + $10 = ((($1)) + 12|0); + $11 = ((($0)) + 12|0); + $12 = HEAP32[$11>>2]|0; + HEAP32[$10>>2] = $12; + $13 = ((($1)) + 16|0); + $14 = ((($0)) + 16|0); + $15 = HEAP32[$14>>2]|0; + HEAP32[$13>>2] = $15; + $16 = ((($1)) + 20|0); + $17 = ((($0)) + 20|0); + $18 = HEAP32[$17>>2]|0; + HEAP32[$16>>2] = $18; + $19 = ((($1)) + 24|0); + $20 = ((($0)) + 24|0); + $21 = HEAP32[$20>>2]|0; + HEAP32[$19>>2] = $21; + $22 = ((($1)) + 28|0); + $23 = ((($0)) + 28|0); + $24 = HEAP32[$23>>2]|0; + HEAP32[$22>>2] = $24; + $25 = ((($1)) + 32|0); + $26 = ((($0)) + 32|0); + $27 = HEAP32[$26>>2]|0; + HEAP32[$25>>2] = $27; + $28 = ((($1)) + 36|0); + $29 = ((($0)) + 36|0); + $30 = HEAP32[$29>>2]|0; + HEAP32[$28>>2] = $30; + $31 = ((($1)) + 40|0); + $32 = ((($0)) + 40|0); + $33 = HEAP32[$32>>2]|0; + HEAP32[$31>>2] = $33; + $34 = ((($1)) + 44|0); + $35 = ((($0)) + 44|0); + $36 = HEAP32[$35>>2]|0; + HEAP32[$34>>2] = $36; + $37 = ((($1)) + 48|0); + $38 = ((($0)) + 48|0); + $39 = HEAP32[$38>>2]|0; + HEAP32[$37>>2] = $39; + $40 = ((($1)) + 52|0); + $41 = ((($0)) + 52|0); + $42 = HEAP32[$41>>2]|0; + HEAP32[$40>>2] = $42; + $43 = ((($1)) + 56|0); + $44 = ((($0)) + 56|0); + $45 = HEAP32[$44>>2]|0; + HEAP32[$43>>2] = $45; + $46 = ((($1)) + 60|0); + $47 = ((($0)) + 60|0); + $48 = HEAP32[$47>>2]|0; + HEAP32[$46>>2] = $48; + $49 = HEAP32[6259]|0; + dest=$$byval_copy; src=$49; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$$byval_copy1; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixMultiply($2,$$byval_copy,$$byval_copy1); + dest=$49; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + STACKTOP = sp;return; +} +function _EndDrawing() { + var $0 = 0.0, $1 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + _rlglDraw(); + _SwapBuffers(); + _PollInputEvents(); + $0 = (+_GetTime()); + HEAPF64[3018] = $0; + $1 = +HEAPF64[3001]; + $2 = $0 - $1; + HEAPF64[3020] = $2; + HEAPF64[3001] = $0; + $3 = +HEAPF64[3019]; + $4 = $2 + $3; + HEAPF64[3021] = $4; + $5 = +HEAPF64[2998]; + $6 = $4 < $5; + if (!($6)) { return; } - $47 = (_rlGetVersion()|0); - $48 = ($47|0)==(2); - if (!($48)) { - $49 = (_rlGetVersion()|0); - $50 = ($49|0)==(3); - if (!($50)) { - return; + $7 = $5 - $4; + $8 = $7 * 1000.0; + $9 = $8; + _Wait($9); + $10 = (+_GetTime()); + HEAPF64[3018] = $10; + $11 = +HEAPF64[3001]; + $12 = $10 - $11; + HEAPF64[3001] = $10; + $13 = +HEAPF64[3021]; + $14 = $12 + $13; + HEAPF64[3021] = $14; + return; +} +function _rlglDraw() { + var label = 0, sp = 0; + sp = STACKTOP; + _UpdateDefaultBuffers(); + _DrawDefaultBuffers(); + return; +} +function _SwapBuffers() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[6212]|0; + _glfwSwapBuffers(($0|0)); + return; +} +function _PollInputEvents() { + var $$04857 = 0, $$05160 = 0, $$058 = 0, $$lcssa = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0; + var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0.0, $31 = 0.0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0.0, $40 = 0; + var $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0, $scevgep = 0, $scevgep67 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 1456|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1456|0); + $0 = sp + 1440|0; + $1 = sp + 1432|0; + $2 = sp; + _UpdateGestures(); + HEAP32[741] = -1; + HEAP32[743] = -1; + HEAP32[6645] = 0; + $3 = HEAP32[6212]|0; + _glfwGetCursorPos(($3|0),($0|0),($1|0)); + $4 = +HEAPF64[$0>>3]; + $5 = $4; + HEAPF32[5994] = $5; + $6 = +HEAPF64[$1>>3]; + $7 = $6; + HEAPF32[(23980)>>2] = $7; + _memcpy((29223|0),(28711|0),512)|0; + ;HEAP8[28708>>0]=HEAP8[28705>>0]|0;HEAP8[28708+1>>0]=HEAP8[28705+1>>0]|0;HEAP8[28708+2>>0]=HEAP8[28705+2>>0]|0; + $8 = HEAP32[6628]|0; + HEAP32[6215] = $8; + HEAP32[6628] = 0; + $9 = (_emscripten_get_num_gamepads()|0); + $10 = ($9|0)>(0); + if (!($10)) { + STACKTOP = sp;return; + } + $11 = ((($2)) + 12|0); + $12 = ((($2)) + 8|0); + $$05160 = 0; + while(1) { + $scevgep = (29735 + ($$05160<<5)|0); + $scevgep67 = (29863 + ($$05160<<5)|0); + dest=$scevgep; src=$scevgep67; stop=dest+32|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); + $13 = (_emscripten_get_gamepad_status(($$05160|0),($2|0))|0); + $14 = ($13|0)==(0); + if ($14) { + $15 = HEAP32[$11>>2]|0; + $16 = ($15|0)>(0); + if ($16) { + $17 = HEAP32[$11>>2]|0; + $$04857 = 0; + while(1) { + $21 = (((($2)) + 1040|0) + ($$04857<<2)|0); + $22 = HEAP32[$21>>2]|0; + $23 = ($22|0)==(1); + $24 = ((29863 + ($$05160<<5)|0) + ($$04857)|0); + if ($23) { + HEAP8[$24>>0] = 1; + HEAP32[743] = $$04857; + } else { + HEAP8[$24>>0] = 0; + } + $25 = (($$04857) + 1)|0; + $26 = ($25|0)<($17|0); + $27 = ($25|0)<(32); + $28 = $27 & $26; + if ($28) { + $$04857 = $25; + } else { + break; + } + } + } + $18 = HEAP32[$12>>2]|0; + $19 = ($18|0)>(0); + if ($19) { + $20 = HEAP32[$12>>2]|0; + $$058 = 0; + while(1) { + $29 = (((($2)) + 16|0) + ($$058<<3)|0); + $30 = +HEAPF64[$29>>3]; + $31 = $30; + $32 = ((26584 + ($$05160<<5)|0) + ($$058<<2)|0); + HEAPF32[$32>>2] = $31; + $33 = (($$058) + 1)|0; + $34 = ($33|0)<($20|0); + $35 = ($33|0)<(8); + $36 = $35 & $34; + if ($36) { + $$058 = $33; + } else { + $$lcssa = $20; + break; + } + } + } else { + $$lcssa = $18; + } + HEAP32[6645] = $$lcssa; + } + $37 = (($$05160) + 1)|0; + $38 = ($37|0)<($9|0); + $39 = ($37|0)<(4); + $40 = $38 & $39; + if ($40) { + $$05160 = $37; + } else { + break; + } + } + STACKTOP = sp;return; +} +function _Wait($0) { + $0 = +$0; + var $1 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (+_GetTime()); + $2 = 0.0 - $1; + $3 = $0 / 1000.0; + $4 = $3; + $5 = $2 < $4; + if (!($5)) { + return; + } + while(1) { + $6 = (+_GetTime()); + $7 = $6 - $1; + $8 = $7 < $4; + if (!($8)) { + break; } } - $51 = HEAP32[788>>2]|0; - _rlEnableTexture($51); - _rlBegin(2); - $52 = HEAP8[$color>>0]|0; - $53 = ((($color)) + 1|0); - $54 = HEAP8[$53>>0]|0; - $55 = ((($color)) + 2|0); - $56 = HEAP8[$55>>0]|0; - $57 = ((($color)) + 3|0); - $58 = HEAP8[$57>>0]|0; - _rlColor4ub($52,$54,$56,$58); - _rlTexCoord2f(0.0,0.0); - $59 = +HEAPF32[$position>>2]; - $60 = ((($position)) + 4|0); - $61 = +HEAPF32[$60>>2]; - _rlVertex2f($59,$61); - _rlTexCoord2f(0.0,1.0); - $62 = +HEAPF32[$position>>2]; - $63 = +HEAPF32[$60>>2]; - $64 = ((($size)) + 4|0); - $65 = +HEAPF32[$64>>2]; - $66 = $63 + $65; - _rlVertex2f($62,$66); - _rlTexCoord2f(1.0,1.0); - $67 = +HEAPF32[$position>>2]; - $68 = +HEAPF32[$size>>2]; - $69 = $67 + $68; - $70 = +HEAPF32[$60>>2]; - $71 = +HEAPF32[$64>>2]; - $72 = $70 + $71; - _rlVertex2f($69,$72); - _rlTexCoord2f(1.0,0.0); - $73 = +HEAPF32[$position>>2]; - $74 = +HEAPF32[$size>>2]; - $75 = $73 + $74; - $76 = +HEAPF32[$60>>2]; - _rlVertex2f($75,$76); - _rlEnd(); return; } -function _DrawRectangleLines($posX,$posY,$width,$height,$color) { - $posX = $posX|0; - $posY = $posY|0; - $width = $width|0; - $height = $height|0; - $color = $color|0; - var $0 = 0, $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; +function _UpdateDefaultBuffers() { + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - _rlBegin(0); - $0 = HEAP8[$color>>0]|0; - $1 = ((($color)) + 1|0); - $2 = HEAP8[$1>>0]|0; - $3 = ((($color)) + 2|0); - $4 = HEAP8[$3>>0]|0; - $5 = ((($color)) + 3|0); - $6 = HEAP8[$5>>0]|0; - _rlColor4ub($0,$2,$4,$6); - $7 = (($posX) + 1)|0; - $8 = (($posY) + 1)|0; - _rlVertex2i($7,$8); - $9 = (($width) + ($posX))|0; - _rlVertex2i($9,$8); - _rlVertex2i($9,$8); - $10 = (($height) + ($posY))|0; - _rlVertex2i($9,$10); - _rlVertex2i($9,$10); - _rlVertex2i($7,$10); - _rlVertex2i($7,$10); - _rlVertex2i($7,$8); - _rlEnd(); + $0 = HEAP32[6591]|0; + $1 = ($0|0)>(0); + if ($1) { + $2 = HEAP32[6293]|0; + $3 = ($2|0)==(0); + if (!($3)) { + $4 = HEAP32[6295]|0; + $5 = HEAP32[(26392)>>2]|0; + FUNCTION_TABLE_vi[$4 & 31]($5); + } + $6 = HEAP32[(26396)>>2]|0; + _glBindBuffer(34962,($6|0)); + $7 = HEAP32[6591]|0; + $8 = ($7*12)|0; + $9 = HEAP32[(26376)>>2]|0; + _glBufferSubData(34962,0,($8|0),($9|0)); + $10 = HEAP32[(26400)>>2]|0; + _glBindBuffer(34962,($10|0)); + $11 = HEAP32[(26372)>>2]|0; + $12 = $11 << 2; + $13 = HEAP32[(26384)>>2]|0; + _glBufferSubData(34962,0,($12|0),($13|0)); + } + $14 = HEAP32[6603]|0; + $15 = ($14|0)>(0); + if ($15) { + $16 = HEAP32[6293]|0; + $17 = ($16|0)==(0); + if (!($17)) { + $18 = HEAP32[6295]|0; + $19 = HEAP32[(26440)>>2]|0; + FUNCTION_TABLE_vi[$18 & 31]($19); + } + $20 = HEAP32[(26444)>>2]|0; + _glBindBuffer(34962,($20|0)); + $21 = HEAP32[6603]|0; + $22 = ($21*12)|0; + $23 = HEAP32[(26424)>>2]|0; + _glBufferSubData(34962,0,($22|0),($23|0)); + $24 = HEAP32[(26448)>>2]|0; + _glBindBuffer(34962,($24|0)); + $25 = HEAP32[(26420)>>2]|0; + $26 = $25 << 2; + $27 = HEAP32[(26432)>>2]|0; + _glBufferSubData(34962,0,($26|0),($27|0)); + } + $28 = HEAP32[6615]|0; + $29 = ($28|0)>(0); + if ($29) { + $30 = HEAP32[6293]|0; + $31 = ($30|0)==(0); + if (!($31)) { + $32 = HEAP32[6295]|0; + $33 = HEAP32[(26488)>>2]|0; + FUNCTION_TABLE_vi[$32 & 31]($33); + } + $34 = HEAP32[(26492)>>2]|0; + _glBindBuffer(34962,($34|0)); + $35 = HEAP32[6615]|0; + $36 = ($35*12)|0; + $37 = HEAP32[(26472)>>2]|0; + _glBufferSubData(34962,0,($36|0),($37|0)); + $38 = HEAP32[(26496)>>2]|0; + _glBindBuffer(34962,($38|0)); + $39 = HEAP32[6615]|0; + $40 = $39 << 3; + $41 = HEAP32[(26476)>>2]|0; + _glBufferSubData(34962,0,($40|0),($41|0)); + $42 = HEAP32[(26500)>>2]|0; + _glBindBuffer(34962,($42|0)); + $43 = HEAP32[6615]|0; + $44 = $43 << 2; + $45 = HEAP32[(26480)>>2]|0; + _glBufferSubData(34962,0,($44|0),($45|0)); + } + $46 = HEAP32[6293]|0; + $47 = ($46|0)==(0); + if ($47) { + return; + } + $48 = HEAP32[6295]|0; + FUNCTION_TABLE_vi[$48 & 31](0); return; } -function _CheckCollisionRecs($rec1,$rec2) { - $rec1 = $rec1|0; - $rec2 = $rec2|0; - var $$ = 0, $$neg4 = 0, $$neg7 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; - var $24 = 0, $25 = 0, $26 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $ispos = 0, $ispos1 = 0, $neg = 0, $neg2 = 0, $not$ = 0, label = 0, sp = 0; +function _DrawDefaultBuffers() { + var $$ = 0, $$02830 = 0, $$02932 = 0, $$031 = 0, $$byval_copy2 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0; + var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0; + var $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0; + var $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0; + var $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $modelview$byval_copy = 0; + var $or$cond = 0, $or$cond3 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; - $0 = HEAP32[$rec1>>2]|0; - $1 = ((($rec1)) + 8|0); - $2 = HEAP32[$1>>2]|0; - $3 = (($2|0) / 2)&-1; - $4 = HEAP32[$rec2>>2]|0; - $5 = ((($rec2)) + 8|0); - $6 = HEAP32[$5>>2]|0; + STACKTOP = STACKTOP + 320|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(320|0); + $$byval_copy2 = sp + 256|0; + $modelview$byval_copy = sp + 192|0; + $0 = sp + 128|0; + $1 = sp + 64|0; + $2 = sp; + dest=$0; src=25040; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$1; src=25104; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + $3 = HEAP32[6678]|0; + $4 = ($3|0)!=(0); + $$ = $4 ? 2 : 1; + $$02932 = 0; + while(1) { + if ($4) { + dest=$modelview$byval_copy; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$$byval_copy2; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _SetStereoView($$02932,$modelview$byval_copy,$$byval_copy2); + } + $8 = HEAP32[6591]|0; + $9 = ($8|0)>(0); + $10 = HEAP32[6603]|0; + $11 = ($10|0)>(0); + $or$cond = $9 | $11; + $12 = HEAP32[6615]|0; + $13 = ($12|0)>(0); + $or$cond3 = $or$cond | $13; + if ($or$cond3) { + $14 = HEAP32[6315]|0; + _glUseProgram(($14|0)); + dest=$modelview$byval_copy; src=25104; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$$byval_copy2; src=25040; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixMultiply($2,$modelview$byval_copy,$$byval_copy2); + $15 = HEAP32[(25288)>>2]|0; + dest=$$byval_copy2; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + $16 = (_MatrixToFloat($$byval_copy2)|0); + _glUniformMatrix4fv(($15|0),1,0,($16|0)); + $17 = HEAP32[(25292)>>2]|0; + _glUniform4f(($17|0),1.0,1.0,1.0,1.0); + $18 = HEAP32[(25304)>>2]|0; + _glUniform1i(($18|0),0); + } + $19 = HEAP32[6591]|0; + $20 = ($19|0)>(0); + if ($20) { + $21 = HEAP32[6300]|0; + _glBindTexture(3553,($21|0)); + $22 = HEAP32[6293]|0; + $23 = ($22|0)==(0); + if ($23) { + $26 = HEAP32[(26396)>>2]|0; + _glBindBuffer(34962,($26|0)); + $27 = HEAP32[(25264)>>2]|0; + _glVertexAttribPointer(($27|0),3,5126,0,0,(0|0)); + $28 = HEAP32[(25264)>>2]|0; + _glEnableVertexAttribArray(($28|0)); + $29 = HEAP32[(26400)>>2]|0; + _glBindBuffer(34962,($29|0)); + $30 = HEAP32[(25284)>>2]|0; + _glVertexAttribPointer(($30|0),4,5121,1,0,(0|0)); + $31 = HEAP32[(25284)>>2]|0; + _glEnableVertexAttribArray(($31|0)); + } else { + $24 = HEAP32[6295]|0; + $25 = HEAP32[(26392)>>2]|0; + FUNCTION_TABLE_vi[$24 & 31]($25); + } + $32 = HEAP32[6591]|0; + _glDrawArrays(1,0,($32|0)); + $33 = HEAP32[6293]|0; + $34 = ($33|0)==(0); + if ($34) { + _glBindBuffer(34962,0); + } + _glBindTexture(3553,0); + } + $35 = HEAP32[6603]|0; + $36 = ($35|0)>(0); + if ($36) { + $37 = HEAP32[6300]|0; + _glBindTexture(3553,($37|0)); + $38 = HEAP32[6293]|0; + $39 = ($38|0)==(0); + if ($39) { + $42 = HEAP32[(26444)>>2]|0; + _glBindBuffer(34962,($42|0)); + $43 = HEAP32[(25264)>>2]|0; + _glVertexAttribPointer(($43|0),3,5126,0,0,(0|0)); + $44 = HEAP32[(25264)>>2]|0; + _glEnableVertexAttribArray(($44|0)); + $45 = HEAP32[(26448)>>2]|0; + _glBindBuffer(34962,($45|0)); + $46 = HEAP32[(25284)>>2]|0; + _glVertexAttribPointer(($46|0),4,5121,1,0,(0|0)); + $47 = HEAP32[(25284)>>2]|0; + _glEnableVertexAttribArray(($47|0)); + } else { + $40 = HEAP32[6295]|0; + $41 = HEAP32[(26440)>>2]|0; + FUNCTION_TABLE_vi[$40 & 31]($41); + } + $48 = HEAP32[6603]|0; + _glDrawArrays(4,0,($48|0)); + $49 = HEAP32[6293]|0; + $50 = ($49|0)==(0); + if ($50) { + _glBindBuffer(34962,0); + } + _glBindTexture(3553,0); + } + $51 = HEAP32[6615]|0; + $52 = ($51|0)>(0); + if ($52) { + $53 = HEAP32[6293]|0; + $54 = ($53|0)==(0); + if ($54) { + $57 = HEAP32[(26492)>>2]|0; + _glBindBuffer(34962,($57|0)); + $58 = HEAP32[(25264)>>2]|0; + _glVertexAttribPointer(($58|0),3,5126,0,0,(0|0)); + $59 = HEAP32[(25264)>>2]|0; + _glEnableVertexAttribArray(($59|0)); + $60 = HEAP32[(26496)>>2]|0; + _glBindBuffer(34962,($60|0)); + $61 = HEAP32[(25268)>>2]|0; + _glVertexAttribPointer(($61|0),2,5126,0,0,(0|0)); + $62 = HEAP32[(25268)>>2]|0; + _glEnableVertexAttribArray(($62|0)); + $63 = HEAP32[(26500)>>2]|0; + _glBindBuffer(34962,($63|0)); + $64 = HEAP32[(25284)>>2]|0; + _glVertexAttribPointer(($64|0),4,5121,1,0,(0|0)); + $65 = HEAP32[(25284)>>2]|0; + _glEnableVertexAttribArray(($65|0)); + $66 = HEAP32[(26504)>>2]|0; + _glBindBuffer(34963,($66|0)); + } else { + $55 = HEAP32[6295]|0; + $56 = HEAP32[(26488)>>2]|0; + FUNCTION_TABLE_vi[$55 & 31]($56); + } + $67 = HEAP32[6331]|0; + $68 = ($67|0)>(0); + if ($68) { + $$02830 = 0;$$031 = 0; + while(1) { + $71 = HEAP32[6330]|0; + $72 = (($71) + (($$031*144)|0)|0); + $73 = HEAP32[$72>>2]|0; + $74 = (($73|0) / 4)&-1; + $75 = ($74*6)|0; + $76 = (((($71) + (($$031*144)|0)|0)) + 8|0); + $77 = HEAP32[$76>>2]|0; + _glBindTexture(3553,($77|0)); + $78 = $$02830 << 1; + $79 = $78; + _glDrawElements(4,($75|0),5123,($79|0)); + $80 = HEAP32[6330]|0; + $81 = (($80) + (($$031*144)|0)|0); + $82 = HEAP32[$81>>2]|0; + $83 = (($82|0) / 4)&-1; + $84 = ($83*6)|0; + $85 = (($84) + ($$02830))|0; + $86 = (($$031) + 1)|0; + $87 = HEAP32[6331]|0; + $88 = ($86|0)<($87|0); + if ($88) { + $$02830 = $85;$$031 = $86; + } else { + break; + } + } + } + $69 = HEAP32[6293]|0; + $70 = ($69|0)==(0); + if ($70) { + _glBindBuffer(34962,0); + _glBindBuffer(34963,0); + } + _glBindTexture(3553,0); + } + $89 = HEAP32[6293]|0; + $90 = ($89|0)==(0); + if (!($90)) { + $91 = HEAP32[6295]|0; + FUNCTION_TABLE_vi[$91 & 31](0); + } + _glUseProgram(0); + $92 = (($$02932) + 1)|0; + $93 = ($92|0)<($$|0); + if ($93) { + $$02932 = $92; + } else { + break; + } + } + HEAP32[6331] = 1; + $5 = HEAP32[6300]|0; + $6 = HEAP32[6330]|0; + $7 = ((($6)) + 8|0); + HEAP32[$7>>2] = $5; + HEAP32[$6>>2] = 0; + HEAP32[6591] = 0; + HEAP32[(26372)>>2] = 0; + HEAP32[6603] = 0; + HEAP32[(26420)>>2] = 0; + HEAP32[6615] = 0; + HEAP32[(26464)>>2] = 0; + HEAP32[(26468)>>2] = 0; + HEAPF32[744] = -1.0; + dest=25040; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=25104; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + STACKTOP = sp;return; +} +function _SetStereoView($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$byval_copy = 0, $$byval_copy3 = 0, $10 = 0, $11 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0); + $$byval_copy3 = sp + 192|0; + $$byval_copy = sp + 64|0; + $3 = sp; + $4 = sp + 128|0; + dest=$3; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + $5 = HEAP32[6589]|0; + $6 = Math_imul($5, $0)|0; $7 = (($6|0) / 2)&-1; - $$neg4 = (($3) + ($0))|0; - $8 = (($$neg4) - ($4))|0; - $9 = (($8) - ($7))|0; - $ispos = ($9|0)>(-1); - $neg = (0 - ($9))|0; - $10 = $ispos ? $9 : $neg; - $11 = ((($rec1)) + 4|0); - $12 = HEAP32[$11>>2]|0; - $13 = ((($rec1)) + 12|0); - $14 = HEAP32[$13>>2]|0; - $15 = (($14|0) / 2)&-1; - $16 = ((($rec2)) + 4|0); - $17 = HEAP32[$16>>2]|0; - $18 = ((($rec2)) + 12|0); - $19 = HEAP32[$18>>2]|0; - $20 = (($19|0) / 2)&-1; - $$neg7 = (($15) + ($12))|0; - $21 = (($$neg7) - ($17))|0; - $22 = (($21) - ($20))|0; - $23 = (($7) + ($3))|0; - $24 = ($10|0)>($23|0); - if ($24) { + $8 = (($5|0) / 2)&-1; + $9 = HEAP32[6590]|0; + _rlViewport($7,0,$8,$9); + $10 = (26944 + ($0<<6)|0); + dest=$$byval_copy; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$$byval_copy3; src=$10; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixMultiply($4,$$byval_copy,$$byval_copy3); + $11 = (26816 + ($0<<6)|0); + dest=$3; src=$11; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$$byval_copy3; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _SetMatrixModelview($$byval_copy3); + dest=$$byval_copy3; src=$3; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _SetMatrixProjection($$byval_copy3); + STACKTOP = sp;return; +} +function _SetMatrixModelview($0) { + $0 = $0|0; + var dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + dest=25104; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + return; +} +function _SetMatrixProjection($0) { + $0 = $0|0; + var dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + dest=25040; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + return; +} +function _rlPushMatrix() { + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $vararg_buffer = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $vararg_buffer = sp; + $0 = HEAP32[6768]|0; + $1 = ($0|0)==(15); + if ($1) { + HEAP32[$vararg_buffer>>2] = 16; + _TraceLog(2,10891,$vararg_buffer); + } + $2 = HEAP32[6768]|0; + $3 = (25332 + ($2<<6)|0); + $4 = HEAP32[6259]|0; + dest=$3; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _rlLoadIdentity(); + $5 = HEAP32[6768]|0; + $6 = (($5) + 1)|0; + HEAP32[6768] = $6; + $7 = HEAP32[6292]|0; + $8 = ($7|0)==(5888); + if (!($8)) { + STACKTOP = sp;return; + } + HEAP32[6769] = 1; + STACKTOP = sp;return; +} +function _rlPopMatrix() { + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[6768]|0; + $1 = ($0|0)>(0); + if (!($1)) { + return; + } + $2 = HEAP32[6768]|0; + $3 = (($2) + -1)|0; + $4 = (25332 + ($3<<6)|0); + $5 = HEAP32[6259]|0; + _memmove(($5|0),($4|0),64)|0; + $6 = (($2) + -1)|0; + HEAP32[6768] = $6; + return; +} +function _GetRandomValue($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$ = 0, $$10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $ispos = 0, $neg = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ($0|0)>($1|0); + $$ = $2 ? $0 : $1; + $$10 = $2 ? $1 : $0; + $3 = (_rand()|0); + $4 = (($$) - ($$10))|0; + $ispos = ($4|0)>(-1); + $neg = (0 - ($4))|0; + $5 = $ispos ? $4 : $neg; + $6 = (($5) + 1)|0; + $7 = (($3|0) % ($6|0))&-1; + $8 = (($7) + ($$10))|0; + return ($8|0); +} +function _Fade($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = +$2; + var $$0 = 0.0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0.0, $8 = 0.0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = $2 < 0.0; + if ($3) { + $$0 = 0.0; + } else { + $4 = $2 > 1.0; + if ($4) { + $$0 = 1.0; + } else { + $$0 = $2; + } + } + $5 = ((($1)) + 3|0); + $6 = HEAP8[$5>>0]|0; + $7 = (+($6&255)); + $8 = $$0 * $7; + $9 = HEAP8[$1>>0]|0; + HEAP8[$0>>0] = $9; + $10 = ((($0)) + 1|0); + $11 = ((($1)) + 1|0); + $12 = HEAP8[$11>>0]|0; + HEAP8[$10>>0] = $12; + $13 = ((($0)) + 2|0); + $14 = ((($1)) + 2|0); + $15 = HEAP8[$14>>0]|0; + HEAP8[$13>>0] = $15; + $16 = ((($0)) + 3|0); + $17 = (~~(($8))&255); + HEAP8[$16>>0] = $17; + return; +} +function _IsFileExtension($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$ = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = (_strrchr($0,46)|0); + $3 = ($2|0)==(0|0); + if ($3) { return 0; } else { - $ispos1 = ($22|0)>(-1); - $neg2 = (0 - ($22))|0; - $25 = $ispos1 ? $22 : $neg2; - $26 = (($20) + ($15))|0; - $not$ = ($25|0)<=($26|0); + $4 = (_strcmp($2,$1)|0); + $5 = ($4|0)==(0); + $$ = $5&1; + return ($$|0); + } + return (0)|0; +} +function _IsKeyPressed($0) { + $0 = $0|0; + var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (28711 + ($0)|0); + $2 = HEAP8[$1>>0]|0; + $3 = (29223 + ($0)|0); + $4 = HEAP8[$3>>0]|0; + $5 = ($2<<24>>24)!=($4<<24>>24); + $6 = ($2<<24>>24)==(1); + $or$cond = $6 & $5; + $$0 = $or$cond&1; + return ($$0|0); +} +function _rlTranslatef($0,$1,$2) { + $0 = +$0; + $1 = +$1; + $2 = +$2; + var $$byval_copy = 0, $$byval_copy1 = 0, $3 = 0, $4 = 0, $5 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0); + $$byval_copy1 = sp + 192|0; + $$byval_copy = sp + 128|0; + $3 = sp + 64|0; + $4 = sp; + _MatrixTranslate($3,$0,$1,$2); + _MatrixTranspose($3); + $5 = HEAP32[6259]|0; + dest=$$byval_copy; src=$5; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$$byval_copy1; src=$3; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixMultiply($4,$$byval_copy,$$byval_copy1); + dest=$5; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + STACKTOP = sp;return; +} +function _rlRotatef($0,$1,$2,$3) { + $0 = +$0; + $1 = +$1; + $2 = +$2; + $3 = +$3; + var $$byval_copy1 = 0, $$byval_copy2 = 0, $10 = 0.0, $11 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 336|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(336|0); + $$byval_copy2 = sp + 272|0; + $$byval_copy1 = sp + 208|0; + $4 = sp + 144|0; + $5 = sp + 64|0; + $6 = sp + 80|0; + $7 = sp; + _MatrixIdentity($4); + HEAPF32[$5>>2] = $1; + $8 = ((($5)) + 4|0); + HEAPF32[$8>>2] = $2; + $9 = ((($5)) + 8|0); + HEAPF32[$9>>2] = $3; + _VectorNormalize($5); + $10 = $0 * 0.01745329238474369; + ;HEAP32[$$byval_copy2>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$$byval_copy2+8>>2]=HEAP32[$5+8>>2]|0; + _MatrixRotate($6,$$byval_copy2,$10); + dest=$4; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixTranspose($4); + $11 = HEAP32[6259]|0; + dest=$$byval_copy1; src=$11; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$$byval_copy2; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixMultiply($7,$$byval_copy1,$$byval_copy2); + dest=$11; src=$7; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + STACKTOP = sp;return; +} +function _rlBegin($0) { + $0 = $0|0; + var label = 0, sp = 0; + sp = STACKTOP; + HEAP32[6332] = $0; + return; +} +function _rlEnd() { + var $$03956 = 0, $$04052 = 0, $$04154 = 0, $$04248 = 0, $$04347 = 0, $$byval_copy = 0, $$promoted = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0; + var $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0; + var $128 = 0, $129 = 0, $13 = 0.0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0; + var $146 = 0, $147 = 0, $148 = 0.0, $149 = 0.0, $15 = 0.0, $16 = 0, $17 = 0.0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0; + var $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0; + var $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond = 0, $exitcond60 = 0, $exitcond63 = 0; + var $scevgep = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $$byval_copy = sp; + $0 = HEAP32[6769]|0; + $1 = ($0|0)==(0); + if (!($1)) { + $2 = HEAP32[6770]|0; + $3 = ($2|0)>(0); + if ($3) { + $$03956 = 0; + while(1) { + $6 = HEAP32[6329]|0; + $7 = (($6) + (($$03956*12)|0)|0); + $8 = HEAP32[6259]|0; + dest=$$byval_copy; src=$8; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _VectorTransform($7,$$byval_copy); + $9 = (($$03956) + 1)|0; + $5 = HEAP32[6770]|0; + $10 = ($9|0)<($5|0); + if ($10) { + $$03956 = $9; + } else { + break; + } + } + HEAP32[6769] = 0; + $4 = ($5|0)>(0); + if ($4) { + $$04154 = 0; + while(1) { + $11 = HEAP32[6329]|0; + $12 = (($11) + (($$04154*12)|0)|0); + $13 = +HEAPF32[$12>>2]; + $14 = (((($11) + (($$04154*12)|0)|0)) + 4|0); + $15 = +HEAPF32[$14>>2]; + $16 = (((($11) + (($$04154*12)|0)|0)) + 8|0); + $17 = +HEAPF32[$16>>2]; + _rlVertex3f($13,$15,$17); + $18 = (($$04154) + 1)|0; + $19 = HEAP32[6770]|0; + $20 = ($18|0)<($19|0); + if ($20) { + $$04154 = $18; + } else { + break; + } + } + } + } else { + HEAP32[6769] = 0; + } + HEAP32[6770] = 0; + } + $21 = HEAP32[6332]|0; + switch ($21|0) { + case 1: { + $22 = HEAP32[6591]|0; + $23 = HEAP32[(26372)>>2]|0; + $24 = ($22|0)==($23|0); + if ($24) { + $148 = +HEAPF32[744]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[744] = $149; + STACKTOP = sp;return; + } + $25 = (($22) - ($23))|0; + $26 = ($25|0)>(0); + if ($26) { + $$04347 = 0; + } else { + $148 = +HEAPF32[744]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[744] = $149; + STACKTOP = sp;return; + } + while(1) { + $27 = HEAP32[(26384)>>2]|0; + $28 = HEAP32[(26372)>>2]|0; + $29 = $28 << 2; + $30 = (($29) + -4)|0; + $31 = (($27) + ($30)|0); + $32 = HEAP8[$31>>0]|0; + $33 = (($27) + ($29)|0); + HEAP8[$33>>0] = $32; + $34 = HEAP32[(26384)>>2]|0; + $35 = HEAP32[(26372)>>2]|0; + $36 = $35 << 2; + $37 = (($36) + -3)|0; + $38 = (($34) + ($37)|0); + $39 = HEAP8[$38>>0]|0; + $40 = $36 | 1; + $41 = (($34) + ($40)|0); + HEAP8[$41>>0] = $39; + $42 = HEAP32[(26384)>>2]|0; + $43 = HEAP32[(26372)>>2]|0; + $44 = $43 << 2; + $45 = (($44) + -2)|0; + $46 = (($42) + ($45)|0); + $47 = HEAP8[$46>>0]|0; + $48 = $44 | 2; + $49 = (($42) + ($48)|0); + HEAP8[$49>>0] = $47; + $50 = HEAP32[(26384)>>2]|0; + $51 = HEAP32[(26372)>>2]|0; + $52 = $51 << 2; + $53 = (($52) + -1)|0; + $54 = (($50) + ($53)|0); + $55 = HEAP8[$54>>0]|0; + $56 = $52 | 3; + $57 = (($50) + ($56)|0); + HEAP8[$57>>0] = $55; + $58 = HEAP32[(26372)>>2]|0; + $59 = (($58) + 1)|0; + HEAP32[(26372)>>2] = $59; + $60 = (($$04347) + 1)|0; + $exitcond = ($60|0)==($25|0); + if ($exitcond) { + break; + } else { + $$04347 = $60; + } + } + $148 = +HEAPF32[744]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[744] = $149; + STACKTOP = sp;return; + break; + } + case 4: { + $61 = HEAP32[6603]|0; + $62 = HEAP32[(26420)>>2]|0; + $63 = ($61|0)==($62|0); + if ($63) { + $148 = +HEAPF32[744]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[744] = $149; + STACKTOP = sp;return; + } + $64 = (($61) - ($62))|0; + $65 = ($64|0)>(0); + if ($65) { + $$04248 = 0; + } else { + $148 = +HEAPF32[744]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[744] = $149; + STACKTOP = sp;return; + } + while(1) { + $66 = HEAP32[(26432)>>2]|0; + $67 = HEAP32[(26420)>>2]|0; + $68 = $67 << 2; + $69 = (($68) + -4)|0; + $70 = (($66) + ($69)|0); + $71 = HEAP8[$70>>0]|0; + $72 = (($66) + ($68)|0); + HEAP8[$72>>0] = $71; + $73 = HEAP32[(26432)>>2]|0; + $74 = HEAP32[(26420)>>2]|0; + $75 = $74 << 2; + $76 = (($75) + -3)|0; + $77 = (($73) + ($76)|0); + $78 = HEAP8[$77>>0]|0; + $79 = $75 | 1; + $80 = (($73) + ($79)|0); + HEAP8[$80>>0] = $78; + $81 = HEAP32[(26432)>>2]|0; + $82 = HEAP32[(26420)>>2]|0; + $83 = $82 << 2; + $84 = (($83) + -2)|0; + $85 = (($81) + ($84)|0); + $86 = HEAP8[$85>>0]|0; + $87 = $83 | 2; + $88 = (($81) + ($87)|0); + HEAP8[$88>>0] = $86; + $89 = HEAP32[(26432)>>2]|0; + $90 = HEAP32[(26420)>>2]|0; + $91 = $90 << 2; + $92 = (($91) + -1)|0; + $93 = (($89) + ($92)|0); + $94 = HEAP8[$93>>0]|0; + $95 = $91 | 3; + $96 = (($89) + ($95)|0); + HEAP8[$96>>0] = $94; + $97 = HEAP32[(26420)>>2]|0; + $98 = (($97) + 1)|0; + HEAP32[(26420)>>2] = $98; + $99 = (($$04248) + 1)|0; + $exitcond60 = ($99|0)==($64|0); + if ($exitcond60) { + break; + } else { + $$04248 = $99; + } + } + $148 = +HEAPF32[744]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[744] = $149; + STACKTOP = sp;return; + break; + } + case 7: { + $100 = HEAP32[6615]|0; + $101 = HEAP32[(26468)>>2]|0; + $102 = ($100|0)==($101|0); + if (!($102)) { + $103 = (($100) - ($101))|0; + $104 = ($103|0)>(0); + if ($104) { + $$04052 = 0; + while(1) { + $105 = HEAP32[(26480)>>2]|0; + $106 = HEAP32[(26468)>>2]|0; + $107 = $106 << 2; + $108 = (($107) + -4)|0; + $109 = (($105) + ($108)|0); + $110 = HEAP8[$109>>0]|0; + $111 = (($105) + ($107)|0); + HEAP8[$111>>0] = $110; + $112 = HEAP32[(26480)>>2]|0; + $113 = HEAP32[(26468)>>2]|0; + $114 = $113 << 2; + $115 = (($114) + -3)|0; + $116 = (($112) + ($115)|0); + $117 = HEAP8[$116>>0]|0; + $118 = $114 | 1; + $119 = (($112) + ($118)|0); + HEAP8[$119>>0] = $117; + $120 = HEAP32[(26480)>>2]|0; + $121 = HEAP32[(26468)>>2]|0; + $122 = $121 << 2; + $123 = (($122) + -2)|0; + $124 = (($120) + ($123)|0); + $125 = HEAP8[$124>>0]|0; + $126 = $122 | 2; + $127 = (($120) + ($126)|0); + HEAP8[$127>>0] = $125; + $128 = HEAP32[(26480)>>2]|0; + $129 = HEAP32[(26468)>>2]|0; + $130 = $129 << 2; + $131 = (($130) + -1)|0; + $132 = (($128) + ($131)|0); + $133 = HEAP8[$132>>0]|0; + $134 = $130 | 3; + $135 = (($128) + ($134)|0); + HEAP8[$135>>0] = $133; + $136 = HEAP32[(26468)>>2]|0; + $137 = (($136) + 1)|0; + HEAP32[(26468)>>2] = $137; + $138 = (($$04052) + 1)|0; + $exitcond63 = ($138|0)==($103|0); + if ($exitcond63) { + break; + } else { + $$04052 = $138; + } + } + } + } + $139 = HEAP32[6615]|0; + $140 = HEAP32[(26464)>>2]|0; + $141 = ($139|0)>($140|0); + if (!($141)) { + $148 = +HEAPF32[744]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[744] = $149; + STACKTOP = sp;return; + } + $142 = HEAP32[(26476)>>2]|0; + $$promoted = HEAP32[(26464)>>2]|0; + $143 = $$promoted << 1; + $scevgep = (($142) + ($143<<2)|0); + $144 = (($139) - ($140))|0; + $145 = $144 << 3; + _memset(($scevgep|0),0,($145|0))|0; + $146 = (($139) + ($$promoted))|0; + $147 = (($146) - ($140))|0; + HEAP32[(26464)>>2] = $147; + $148 = +HEAPF32[744]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[744] = $149; + STACKTOP = sp;return; + break; + } + default: { + $148 = +HEAPF32[744]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[744] = $149; + STACKTOP = sp;return; + } + } +} +function _rlVertex3f($0,$1,$2) { + $0 = +$0; + $1 = +$1; + $2 = +$2; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer3 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $vararg_buffer3 = sp + 16|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $3 = HEAP32[6769]|0; + $4 = ($3|0)==(0); + if (!($4)) { + $5 = HEAP32[6329]|0; + $6 = HEAP32[6770]|0; + $7 = (($5) + (($6*12)|0)|0); + HEAPF32[$7>>2] = $0; + $8 = (((($5) + (($6*12)|0)|0)) + 4|0); + HEAPF32[$8>>2] = $1; + $9 = (((($5) + (($6*12)|0)|0)) + 8|0); + HEAPF32[$9>>2] = $2; + $10 = (($6) + 1)|0; + HEAP32[6770] = $10; + STACKTOP = sp;return; + } + $11 = HEAP32[6332]|0; + switch ($11|0) { + case 1: { + $12 = HEAP32[6591]|0; + $13 = ($12|0)<(2048); + if ($13) { + $14 = HEAP32[(26376)>>2]|0; + $15 = ($12*3)|0; + $16 = (($14) + ($15<<2)|0); + HEAPF32[$16>>2] = $0; + $17 = (($15) + 1)|0; + $18 = (($14) + ($17<<2)|0); + HEAPF32[$18>>2] = $1; + $19 = (($15) + 2)|0; + $20 = (($14) + ($19<<2)|0); + HEAPF32[$20>>2] = $2; + $21 = (($12) + 1)|0; + HEAP32[6591] = $21; + STACKTOP = sp;return; + } else { + _TraceLog(2,10929,$vararg_buffer); + STACKTOP = sp;return; + } + break; + } + case 4: { + $22 = HEAP32[6603]|0; + $23 = ($22|0)<(6144); + if ($23) { + $24 = HEAP32[(26424)>>2]|0; + $25 = ($22*3)|0; + $26 = (($24) + ($25<<2)|0); + HEAPF32[$26>>2] = $0; + $27 = (($25) + 1)|0; + $28 = (($24) + ($27<<2)|0); + HEAPF32[$28>>2] = $1; + $29 = (($25) + 2)|0; + $30 = (($24) + ($29<<2)|0); + HEAPF32[$30>>2] = $2; + $31 = (($22) + 1)|0; + HEAP32[6603] = $31; + STACKTOP = sp;return; + } else { + _TraceLog(2,10954,$vararg_buffer1); + STACKTOP = sp;return; + } + break; + } + case 7: { + $32 = HEAP32[6615]|0; + $33 = ($32|0)<(4096); + if ($33) { + $34 = HEAP32[(26472)>>2]|0; + $35 = ($32*3)|0; + $36 = (($34) + ($35<<2)|0); + HEAPF32[$36>>2] = $0; + $37 = (($35) + 1)|0; + $38 = (($34) + ($37<<2)|0); + HEAPF32[$38>>2] = $1; + $39 = (($35) + 2)|0; + $40 = (($34) + ($39<<2)|0); + HEAPF32[$40>>2] = $2; + $41 = (($32) + 1)|0; + HEAP32[6615] = $41; + $42 = HEAP32[6330]|0; + $43 = HEAP32[6331]|0; + $44 = (($43) + -1)|0; + $45 = (($42) + (($44*144)|0)|0); + $46 = HEAP32[$45>>2]|0; + $47 = (($46) + 1)|0; + HEAP32[$45>>2] = $47; + STACKTOP = sp;return; + } else { + _TraceLog(2,10983,$vararg_buffer3); + STACKTOP = sp;return; + } + break; + } + default: { + STACKTOP = sp;return; + } + } +} +function _rlVertex2f($0,$1) { + $0 = +$0; + $1 = +$1; + var $2 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[744]; + _rlVertex3f($0,$1,$2); + return; +} +function _rlVertex2i($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0.0, $3 = 0.0, $4 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = (+($0|0)); + $3 = (+($1|0)); + $4 = +HEAPF32[744]; + _rlVertex3f($2,$3,$4); + return; +} +function _rlTexCoord2f($0,$1) { + $0 = +$0; + $1 = +$1; + var $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = HEAP32[6332]|0; + $3 = ($2|0)==(7); + if (!($3)) { + return; + } + $4 = HEAP32[(26476)>>2]|0; + $5 = HEAP32[(26464)>>2]|0; + $6 = $5 << 1; + $7 = (($4) + ($6<<2)|0); + HEAPF32[$7>>2] = $0; + $8 = $6 | 1; + $9 = (($4) + ($8<<2)|0); + HEAPF32[$9>>2] = $1; + $10 = (($5) + 1)|0; + HEAP32[(26464)>>2] = $10; + return; +} +function _rlNormal3f($0,$1,$2) { + $0 = +$0; + $1 = +$1; + $2 = +$2; + var label = 0, sp = 0; + sp = STACKTOP; + return; +} +function _rlColor4ub($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$sink37 = 0, $$sink38 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $4 = 0, $5 = 0; + var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $4 = HEAP32[6332]|0; + switch ($4|0) { + case 1: { + $$sink37 = (26372);$$sink38 = (26384); + break; + } + case 4: { + $$sink37 = (26420);$$sink38 = (26432); + break; + } + case 7: { + $$sink37 = (26468);$$sink38 = (26480); + break; + } + default: { + return; + } + } + $5 = HEAP32[$$sink38>>2]|0; + $6 = HEAP32[$$sink37>>2]|0; + $7 = $6 << 2; + $8 = (($5) + ($7)|0); + HEAP8[$8>>0] = $0; + $9 = HEAP32[$$sink38>>2]|0; + $10 = HEAP32[$$sink37>>2]|0; + $11 = $10 << 2; + $12 = $11 | 1; + $13 = (($9) + ($12)|0); + HEAP8[$13>>0] = $1; + $14 = HEAP32[$$sink38>>2]|0; + $15 = HEAP32[$$sink37>>2]|0; + $16 = $15 << 2; + $17 = $16 | 2; + $18 = (($14) + ($17)|0); + HEAP8[$18>>0] = $2; + $19 = HEAP32[$$sink38>>2]|0; + $20 = HEAP32[$$sink37>>2]|0; + $21 = $20 << 2; + $22 = $21 | 3; + $23 = (($19) + ($22)|0); + HEAP8[$23>>0] = $3; + $24 = HEAP32[$$sink37>>2]|0; + $25 = (($24) + 1)|0; + HEAP32[$$sink37>>2] = $25; + return; +} +function _rlEnableTexture($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP32[6330]|0; + $2 = HEAP32[6331]|0; + $3 = (($2) + -1)|0; + $4 = (((($1) + (($3*144)|0)|0)) + 8|0); + $5 = HEAP32[$4>>2]|0; + $6 = ($5|0)==($0|0); + if ($6) { + return; + } + $7 = (($1) + (($3*144)|0)|0); + $8 = HEAP32[$7>>2]|0; + $9 = ($8|0)>(0); + if ($9) { + $10 = (($2) + 1)|0; + HEAP32[6331] = $10; + } + $11 = HEAP32[6331]|0; + $12 = (($11) + -1)|0; + $13 = (((($1) + (($12*144)|0)|0)) + 8|0); + HEAP32[$13>>2] = $0; + $14 = (($1) + (($12*144)|0)|0); + HEAP32[$14>>2] = 0; + return; +} +function _rlDisableTexture() { + var $0 = 0, $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[6615]|0; + $1 = ($0|0)>(4095); + if (!($1)) { + return; + } + _rlglDraw(); + return; +} +function _rlTextureParameters($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0.0, $3 = 0, $4 = 0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0, $or$cond = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer4 = 0, $vararg_ptr3 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $vararg_buffer4 = sp + 24|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + _glBindTexture(3553,($0|0)); + L1: do { + switch ($1|0) { + case 10243: case 10242: { + $3 = ($2|0)!=(34626); + $4 = HEAP32[6299]|0; + $5 = ($4|0)!=(0); + $or$cond = $3 | $5; + if ($or$cond) { + _glTexParameteri(3553,($1|0),($2|0)); + break L1; + } else { + _TraceLog(1,11008,$vararg_buffer); + break L1; + } + break; + } + case 10241: case 10240: { + _glTexParameteri(3553,($1|0),($2|0)); + break; + } + case 12288: { + $6 = (+($2|0)); + $7 = +HEAPF32[6298]; + $8 = !($6 <= $7); + if (!($8)) { + _glTexParameterf(3553,34046,(+$6)); + break L1; + } + $9 = $7 > 0.0; + if ($9) { + $10 = $7; + HEAP32[$vararg_buffer1>>2] = $0; + $vararg_ptr3 = ((($vararg_buffer1)) + 8|0); + HEAPF64[$vararg_ptr3>>3] = $10; + _TraceLog(1,11045,$vararg_buffer1); + _glTexParameterf(3553,34046,(+$6)); + break L1; + } else { + _TraceLog(1,11107,$vararg_buffer4); + break L1; + } + break; + } + default: { + } + } + } while(0); + _glBindTexture(3553,0); + STACKTOP = sp;return; +} +function _GetDefaultTexture($0) { + $0 = $0|0; + var $$sroa$4$0$$sroa_idx2 = 0, $$sroa$5$0$$sroa_idx4 = 0, $$sroa$6$0$$sroa_idx6 = 0, $$sroa$7$0$$sroa_idx8 = 0, $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP32[6300]|0; + HEAP32[$0>>2] = $1; + $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); + HEAP32[$$sroa$4$0$$sroa_idx2>>2] = 1; + $$sroa$5$0$$sroa_idx4 = ((($0)) + 8|0); + HEAP32[$$sroa$5$0$$sroa_idx4>>2] = 1; + $$sroa$6$0$$sroa_idx6 = ((($0)) + 12|0); + HEAP32[$$sroa$6$0$$sroa_idx6>>2] = 1; + $$sroa$7$0$$sroa_idx8 = ((($0)) + 16|0); + HEAP32[$$sroa$7$0$$sroa_idx8>>2] = 7; + return; +} +function _DrawRectangle($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $10 = 0.0, $11 = 0, $12 = 0.0, $5 = 0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0); + $$byval_copy2 = sp + 32|0; + $$byval_copy1 = sp + 24|0; + $$byval_copy = sp + 16|0; + $5 = sp + 8|0; + $6 = sp; + $7 = (+($0|0)); + HEAPF32[$5>>2] = $7; + $8 = ((($5)) + 4|0); + $9 = (+($1|0)); + HEAPF32[$8>>2] = $9; + $10 = (+($2|0)); + HEAPF32[$6>>2] = $10; + $11 = ((($6)) + 4|0); + $12 = (+($3|0)); + HEAPF32[$11>>2] = $12; + ;HEAP32[$$byval_copy>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$5+4>>2]|0; + ;HEAP32[$$byval_copy1>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$6+4>>2]|0; + ;HEAP8[$$byval_copy2>>0]=HEAP8[$4>>0]|0;HEAP8[$$byval_copy2+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$$byval_copy2+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$$byval_copy2+3>>0]=HEAP8[$4+3>>0]|0; + _DrawRectangleV($$byval_copy,$$byval_copy1,$$byval_copy2); + STACKTOP = sp;return; +} +function _DrawRectangleV($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0.0, $14 = 0, $15 = 0, $16 = 0.0, $17 = 0, $18 = 0, $19 = 0.0, $20 = 0.0, $21 = 0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0, $26 = 0.0, $27 = 0.0, $28 = 0.0, $29 = 0; + var $3 = 0, $30 = 0.0, $31 = 0, $32 = 0.0, $33 = 0, $34 = 0.0, $35 = 0.0, $36 = 0, $37 = 0.0, $38 = 0.0, $39 = 0, $4 = 0, $40 = 0.0, $41 = 0.0, $42 = 0.0, $43 = 0, $44 = 0.0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0.0, $61 = 0, $62 = 0.0, $63 = 0, $64 = 0.0, $65 = 0.0; + var $66 = 0.0, $67 = 0.0, $68 = 0.0, $69 = 0.0, $7 = 0, $70 = 0.0, $71 = 0.0, $72 = 0.0, $73 = 0.0, $74 = 0.0, $75 = 0.0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $3 = sp; + $4 = (_rlGetVersion()|0); + $5 = ($4|0)==(1); + if ($5) { + _rlBegin(4); + $6 = HEAP8[$2>>0]|0; + $7 = ((($2)) + 1|0); + $8 = HEAP8[$7>>0]|0; + $9 = ((($2)) + 2|0); + $10 = HEAP8[$9>>0]|0; + $11 = ((($2)) + 3|0); + $12 = HEAP8[$11>>0]|0; + _rlColor4ub($6,$8,$10,$12); + $13 = +HEAPF32[$0>>2]; + $14 = (~~(($13))); + $15 = ((($0)) + 4|0); + $16 = +HEAPF32[$15>>2]; + $17 = (~~(($16))); + _rlVertex2i($14,$17); + $18 = ((($1)) + 4|0); + $19 = +HEAPF32[$18>>2]; + $20 = $16 + $19; + $21 = (~~(($20))); + _rlVertex2i($14,$21); + $22 = +HEAPF32[$0>>2]; + $23 = +HEAPF32[$1>>2]; + $24 = $22 + $23; + $25 = (~~(($24))); + $26 = +HEAPF32[$15>>2]; + $27 = +HEAPF32[$18>>2]; + $28 = $26 + $27; + $29 = (~~(($28))); + _rlVertex2i($25,$29); + $30 = +HEAPF32[$0>>2]; + $31 = (~~(($30))); + $32 = +HEAPF32[$15>>2]; + $33 = (~~(($32))); + _rlVertex2i($31,$33); + $34 = +HEAPF32[$1>>2]; + $35 = $30 + $34; + $36 = (~~(($35))); + $37 = +HEAPF32[$18>>2]; + $38 = $32 + $37; + $39 = (~~(($38))); + _rlVertex2i($36,$39); + $40 = +HEAPF32[$0>>2]; + $41 = +HEAPF32[$1>>2]; + $42 = $40 + $41; + $43 = (~~(($42))); + $44 = +HEAPF32[$15>>2]; + $45 = (~~(($44))); + _rlVertex2i($43,$45); + _rlEnd(); + STACKTOP = sp;return; + } + $46 = (_rlGetVersion()|0); + $47 = ($46|0)==(2); + if (!($47)) { + $48 = (_rlGetVersion()|0); + $49 = ($48|0)==(3); + if (!($49)) { + $50 = (_rlGetVersion()|0); + $51 = ($50|0)==(4); + if (!($51)) { + STACKTOP = sp;return; + } + } + } + _GetDefaultTexture($3); + $52 = HEAP32[$3>>2]|0; + _rlEnableTexture($52); + _rlBegin(7); + $53 = HEAP8[$2>>0]|0; + $54 = ((($2)) + 1|0); + $55 = HEAP8[$54>>0]|0; + $56 = ((($2)) + 2|0); + $57 = HEAP8[$56>>0]|0; + $58 = ((($2)) + 3|0); + $59 = HEAP8[$58>>0]|0; + _rlColor4ub($53,$55,$57,$59); + _rlTexCoord2f(0.0,0.0); + $60 = +HEAPF32[$0>>2]; + $61 = ((($0)) + 4|0); + $62 = +HEAPF32[$61>>2]; + _rlVertex2f($60,$62); + _rlTexCoord2f(0.0,1.0); + $63 = ((($1)) + 4|0); + $64 = +HEAPF32[$63>>2]; + $65 = $62 + $64; + _rlVertex2f($60,$65); + _rlTexCoord2f(1.0,1.0); + $66 = +HEAPF32[$0>>2]; + $67 = +HEAPF32[$1>>2]; + $68 = $66 + $67; + $69 = +HEAPF32[$61>>2]; + $70 = +HEAPF32[$63>>2]; + $71 = $69 + $70; + _rlVertex2f($68,$71); + _rlTexCoord2f(1.0,0.0); + $72 = +HEAPF32[$0>>2]; + $73 = +HEAPF32[$1>>2]; + $74 = $72 + $73; + $75 = +HEAPF32[$61>>2]; + _rlVertex2f($74,$75); + _rlEnd(); + _rlDisableTexture(); + STACKTOP = sp;return; +} +function _DrawRectangleLines($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$byval_copy3 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $$byval_copy3 = sp; + $5 = (_rlGetVersion()|0); + $6 = ($5|0)==(1); + if ($6) { + _rlBegin(1); + $7 = HEAP8[$4>>0]|0; + $8 = ((($4)) + 1|0); + $9 = HEAP8[$8>>0]|0; + $10 = ((($4)) + 2|0); + $11 = HEAP8[$10>>0]|0; + $12 = ((($4)) + 3|0); + $13 = HEAP8[$12>>0]|0; + _rlColor4ub($7,$9,$11,$13); + $14 = (($0) + 1)|0; + $15 = (($1) + 1)|0; + _rlVertex2i($14,$15); + $16 = (($2) + ($0))|0; + _rlVertex2i($16,$15); + _rlVertex2i($16,$15); + $17 = (($3) + ($1))|0; + _rlVertex2i($16,$17); + _rlVertex2i($16,$17); + _rlVertex2i($14,$17); + _rlVertex2i($14,$17); + _rlVertex2i($14,$15); + _rlEnd(); + STACKTOP = sp;return; + } + $18 = (_rlGetVersion()|0); + $19 = ($18|0)==(2); + if (!($19)) { + $20 = (_rlGetVersion()|0); + $21 = ($20|0)==(3); + if (!($21)) { + $22 = (_rlGetVersion()|0); + $23 = ($22|0)==(4); + if (!($23)) { + STACKTOP = sp;return; + } + } + } + ;HEAP8[$$byval_copy3>>0]=HEAP8[$4>>0]|0;HEAP8[$$byval_copy3+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$$byval_copy3+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$$byval_copy3+3>>0]=HEAP8[$4+3>>0]|0; + _DrawRectangle($0,$1,$2,1,$$byval_copy3); + $24 = (($0) + -1)|0; + $25 = (($24) + ($2))|0; + $26 = (($1) + 1)|0; + $27 = (($3) + -2)|0; + ;HEAP8[$$byval_copy3>>0]=HEAP8[$4>>0]|0;HEAP8[$$byval_copy3+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$$byval_copy3+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$$byval_copy3+3>>0]=HEAP8[$4+3>>0]|0; + _DrawRectangle($25,$26,1,$27,$$byval_copy3); + $28 = (($1) + -1)|0; + $29 = (($28) + ($3))|0; + ;HEAP8[$$byval_copy3>>0]=HEAP8[$4>>0]|0;HEAP8[$$byval_copy3+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$$byval_copy3+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$$byval_copy3+3>>0]=HEAP8[$4+3>>0]|0; + _DrawRectangle($0,$29,$2,1,$$byval_copy3); + ;HEAP8[$$byval_copy3>>0]=HEAP8[$4>>0]|0;HEAP8[$$byval_copy3+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$$byval_copy3+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$$byval_copy3+3>>0]=HEAP8[$4+3>>0]|0; + _DrawRectangle($0,$26,1,$27,$$byval_copy3); + STACKTOP = sp;return; +} +function _CheckCollisionRecs($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$ = 0, $$neg11 = 0, $$neg14 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; + var $26 = 0, $27 = 0, $28 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $ispos = 0, $ispos8 = 0, $neg = 0, $neg9 = 0, $not$ = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = HEAP32[$0>>2]|0; + $3 = ((($0)) + 8|0); + $4 = HEAP32[$3>>2]|0; + $5 = (($4|0) / 2)&-1; + $6 = HEAP32[$1>>2]|0; + $7 = ((($1)) + 8|0); + $8 = HEAP32[$7>>2]|0; + $9 = (($8|0) / 2)&-1; + $$neg11 = (($5) + ($2))|0; + $10 = (($$neg11) - ($6))|0; + $11 = (($10) - ($9))|0; + $ispos = ($11|0)>(-1); + $neg = (0 - ($11))|0; + $12 = $ispos ? $11 : $neg; + $13 = ((($0)) + 4|0); + $14 = HEAP32[$13>>2]|0; + $15 = ((($0)) + 12|0); + $16 = HEAP32[$15>>2]|0; + $17 = (($16|0) / 2)&-1; + $18 = ((($1)) + 4|0); + $19 = HEAP32[$18>>2]|0; + $20 = ((($1)) + 12|0); + $21 = HEAP32[$20>>2]|0; + $22 = (($21|0) / 2)&-1; + $$neg14 = (($17) + ($14))|0; + $23 = (($$neg14) - ($19))|0; + $24 = (($23) - ($22))|0; + $25 = (($9) + ($5))|0; + $26 = ($12|0)>($25|0); + if ($26) { + return 0; + } else { + $ispos8 = ($24|0)>(-1); + $neg9 = (0 - ($24))|0; + $27 = $ispos8 ? $24 : $neg9; + $28 = (($22) + ($17))|0; + $not$ = ($27|0)<=($28|0); $$ = $not$&1; return ($$|0); } return (0)|0; } -function _stbtt_InitFont($info,$data2,$fontstart) { - $info = $info|0; - $data2 = $data2|0; - $fontstart = $fontstart|0; - var $$0 = 0, $$pr = 0, $$sum = 0, $$sum1 = 0, $$sum2 = 0, $$sum3 = 0, $$sum4 = 0, $$sum5 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0; - var $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0; - var $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0; - var $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $i$06 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($info)) + 4|0); - HEAP32[$0>>2] = $data2; - $1 = ((($info)) + 8|0); - HEAP32[$1>>2] = $fontstart; - $2 = (_stbtt__find_table($data2,$fontstart,13296)|0); - $3 = (_stbtt__find_table($data2,$fontstart,13301)|0); - $4 = ((($info)) + 16|0); - HEAP32[$4>>2] = $3; - $5 = (_stbtt__find_table($data2,$fontstart,13306)|0); - $6 = ((($info)) + 20|0); - HEAP32[$6>>2] = $5; - $7 = (_stbtt__find_table($data2,$fontstart,13311)|0); - $8 = ((($info)) + 24|0); - HEAP32[$8>>2] = $7; - $9 = (_stbtt__find_table($data2,$fontstart,13316)|0); - $10 = ((($info)) + 28|0); - HEAP32[$10>>2] = $9; - $11 = (_stbtt__find_table($data2,$fontstart,13321)|0); - $12 = ((($info)) + 32|0); - HEAP32[$12>>2] = $11; - $13 = (_stbtt__find_table($data2,$fontstart,13326)|0); - $14 = ((($info)) + 36|0); - HEAP32[$14>>2] = $13; - $15 = ($2|0)==(0); - if ($15) { - $$0 = 0; - return ($$0|0); - } - $16 = HEAP32[$4>>2]|0; - $17 = ($16|0)==(0); - if ($17) { - $$0 = 0; - return ($$0|0); - } - $18 = HEAP32[$6>>2]|0; - $19 = ($18|0)==(0); - if ($19) { - $$0 = 0; - return ($$0|0); - } - $20 = HEAP32[$8>>2]|0; - $21 = ($20|0)==(0); - if ($21) { - $$0 = 0; - return ($$0|0); - } - $22 = HEAP32[$10>>2]|0; - $23 = ($22|0)==(0); - if ($23) { - $$0 = 0; - return ($$0|0); - } - $24 = HEAP32[$12>>2]|0; - $25 = ($24|0)==(0); - if ($25) { - $$0 = 0; - return ($$0|0); - } - $26 = (_stbtt__find_table($data2,$fontstart,13331)|0); - $27 = ($26|0)==(0); - if ($27) { - $32 = ((($info)) + 12|0); - HEAP32[$32>>2] = 65535; - } else { - $$sum5 = (($26) + 4)|0; - $28 = (($data2) + ($$sum5)|0); - $29 = (_ttUSHORT($28)|0); - $30 = $29&65535; - $31 = ((($info)) + 12|0); - HEAP32[$31>>2] = $30; - } - $$sum = (($2) + 2)|0; - $33 = (($data2) + ($$sum)|0); - $34 = (_ttUSHORT($33)|0); - $35 = ((($info)) + 40|0); - HEAP32[$35>>2] = 0; - $36 = ($34<<16>>16)==(0); - if ($36) { - $$0 = 0; - return ($$0|0); - } - $37 = (($2) + 4)|0; - $38 = $34&65535; - $i$06 = 0; - while(1) { - $39 = $i$06 << 3; - $40 = (($37) + ($39))|0; - $41 = (($data2) + ($40)|0); - $42 = (_ttUSHORT($41)|0); - $43 = $42&65535; - L28: do { - switch ($43|0) { - case 3: { - $$sum3 = (($40) + 2)|0; - $44 = (($data2) + ($$sum3)|0); - $45 = (_ttUSHORT($44)|0); - $46 = $45&65535; - switch ($46|0) { - case 10: case 1: { - break; - } - default: { - break L28; - } - } - $$sum4 = (($40) + 4)|0; - $47 = (($data2) + ($$sum4)|0); - $48 = (_ttULONG($47)|0); - $49 = (($48) + ($2))|0; - HEAP32[$35>>2] = $49; - break; - } - case 0: { - $$sum2 = (($40) + 4)|0; - $50 = (($data2) + ($$sum2)|0); - $51 = (_ttULONG($50)|0); - $52 = (($51) + ($2))|0; - HEAP32[$35>>2] = $52; - break; - } - default: { - } - } - } while(0); - $53 = (($i$06) + 1)|0; - $exitcond = ($53|0)==($38|0); - if ($exitcond) { - break; - } else { - $i$06 = $53; - } - } - $$pr = HEAP32[$35>>2]|0; - $54 = ($$pr|0)==(0); - if ($54) { - $$0 = 0; - return ($$0|0); - } - $55 = HEAP32[$6>>2]|0; - $$sum1 = (($55) + 50)|0; - $56 = (($data2) + ($$sum1)|0); - $57 = (_ttUSHORT($56)|0); - $58 = $57&65535; - $59 = ((($info)) + 44|0); - HEAP32[$59>>2] = $58; - $$0 = 1; - return ($$0|0); -} -function _stbtt_FindGlyphIndex($info,$unicode_codepoint) { - $info = $info|0; - $unicode_codepoint = $unicode_codepoint|0; - var $$ = 0, $$0 = 0, $$lcssa = 0, $$lcssa50 = 0, $$lcssa50$lcssa = 0, $$neg = 0, $$search$1 = 0, $$sum = 0, $$sum1 = 0, $$sum10 = 0, $$sum12 = 0, $$sum13 = 0, $$sum14 = 0, $$sum15 = 0, $$sum16 = 0, $$sum17 = 0, $$sum19 = 0, $$sum2 = 0, $$sum2$lcssa = 0, $$sum2$lcssa$lcssa = 0; - var $$sum20 = 0, $$sum21 = 0, $$sum22 = 0, $$sum23 = 0, $$sum24 = 0, $$sum25 = 0, $$sum26 = 0, $$sum27 = 0, $$sum28 = 0, $$sum29 = 0, $$sum3 = 0, $$sum30 = 0, $$sum31 = 0, $$sum32 = 0, $$sum33 = 0, $$sum34 = 0, $$sum4 = 0, $$sum5 = 0, $$sum6 = 0, $$sum7 = 0; - var $$sum8 = 0, $$sum9 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0; - var $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0; - var $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0; - var $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0; - var $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0; - var $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $entrySelector$039 = 0, $high$0 = 0, $high$0$lcssa49 = 0, $high$0$ph = 0, $low$0$ph = 0, $search$1$lcssa = 0, $search$138 = 0, $searchRange$040 = 0, $switch = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($info)) + 4|0); - $1 = HEAP32[$0>>2]|0; - $2 = ((($info)) + 40|0); - $3 = HEAP32[$2>>2]|0; - $4 = (($1) + ($3)|0); - $5 = (_ttUSHORT($4)|0); - switch ($5<<16>>16) { - case 0: { - $$sum32 = (($3) + 2)|0; - $6 = (($1) + ($$sum32)|0); - $7 = (_ttUSHORT($6)|0); - $8 = $7&65535; - $9 = (($8) + -6)|0; - $10 = ($9|0)>($unicode_codepoint|0); - if (!($10)) { - $$0 = 0; - return ($$0|0); - } - $$sum33 = (($unicode_codepoint) + 6)|0; - $$sum34 = (($$sum33) + ($3))|0; - $11 = (($1) + ($$sum34)|0); - $12 = HEAP8[$11>>0]|0; - $13 = $12&255; - $$0 = $13; - return ($$0|0); - break; - } - case 6: { - $$sum28 = (($3) + 6)|0; - $14 = (($1) + ($$sum28)|0); - $15 = (_ttUSHORT($14)|0); - $16 = $15&65535; - $17 = ($16>>>0)>($unicode_codepoint>>>0); - if ($17) { - $$0 = 0; - return ($$0|0); - } - $$sum29 = (($3) + 8)|0; - $18 = (($1) + ($$sum29)|0); - $19 = (_ttUSHORT($18)|0); - $20 = $19&65535; - $21 = (($20) + ($16))|0; - $22 = ($21>>>0)>($unicode_codepoint>>>0); - if (!($22)) { - $$0 = 0; - return ($$0|0); - } - $$sum30 = (($3) + 10)|0; - $23 = (($unicode_codepoint) - ($16))|0; - $24 = $23 << 1; - $$sum31 = (($$sum30) + ($24))|0; - $25 = (($1) + ($$sum31)|0); - $26 = (_ttUSHORT($25)|0); - $27 = $26&65535; - $$0 = $27; - return ($$0|0); - break; - } - case 2: { - ___assert_fail((18816|0),(13336|0),1094,(13353|0)); - // unreachable; - break; - } - case 4: { - $$sum5 = (($3) + 6)|0; - $28 = (($1) + ($$sum5)|0); - $29 = (_ttUSHORT($28)|0); - $30 = ($29&65535) >>> 1; - $31 = (($3) + 14)|0; - $32 = ($unicode_codepoint|0)>(65535); - if ($32) { - $$0 = 0; - return ($$0|0); - } - $$sum8 = (($3) + 12)|0; - $33 = (($1) + ($$sum8)|0); - $34 = (_ttUSHORT($33)|0); - $$sum7 = (($3) + 10)|0; - $35 = (($1) + ($$sum7)|0); - $36 = (_ttUSHORT($35)|0); - $37 = ($34&65535) >>> 1; - $38 = $37&65535; - $39 = $38 << 1; - $$sum9 = (($39) + ($31))|0; - $40 = (($1) + ($$sum9)|0); - $41 = (_ttUSHORT($40)|0); - $42 = $41&65535; - $43 = ($42|0)>($unicode_codepoint|0); - $$ = $43 ? $31 : $$sum9; - $44 = (($$) + -2)|0; - $45 = ($36<<16>>16)==(0); - if ($45) { - $search$1$lcssa = $44; - } else { - $$sum6 = (($3) + 8)|0; - $46 = (($1) + ($$sum6)|0); - $47 = (_ttUSHORT($46)|0); - $48 = ($47&65535) >>> 1; - $entrySelector$039 = $36;$search$138 = $44;$searchRange$040 = $48; - while(1) { - $49 = ($searchRange$040&65535) >>> 1; - $50 = $49&65535; - $51 = $50 << 1; - $$sum27 = (($51) + ($search$138))|0; - $52 = (($1) + ($$sum27)|0); - $53 = (_ttUSHORT($52)|0); - $54 = $53&65535; - $55 = ($54|0)<($unicode_codepoint|0); - $$search$1 = $55 ? $$sum27 : $search$138; - $56 = (($entrySelector$039) + -1)<<16>>16; - $57 = ($56<<16>>16)==(0); - if ($57) { - $search$1$lcssa = $$search$1; - break; - } else { - $entrySelector$039 = $56;$search$138 = $$search$1;$searchRange$040 = $49; - } - } - } - $$neg = (-14 - ($3))|0; - $58 = (($$neg) + 2)|0; - $59 = (($58) + ($search$1$lcssa))|0; - $60 = $59 & 131070; - $$sum10 = (($60) + ($31))|0; - $61 = (($1) + ($$sum10)|0); - $62 = (_ttUSHORT($61)|0); - $63 = $62&65535; - $64 = ($63|0)<($unicode_codepoint|0); - if ($64) { - ___assert_fail((13374|0),(13336|0),1130,(13353|0)); - // unreachable; - } - $65 = $30&65535; - $66 = $65 << 1; - $$sum12 = (($3) + 16)|0; - $$sum13 = (($$sum12) + ($66))|0; - $$sum14 = (($$sum13) + ($60))|0; - $67 = (($1) + ($$sum14)|0); - $68 = (_ttUSHORT($67)|0); - $69 = $68&65535; - $70 = ($69|0)>($unicode_codepoint|0); - if ($70) { - $$0 = 0; - return ($$0|0); - } - $71 = ($65*6)|0; - $$sum15 = (($3) + 16)|0; - $$sum16 = (($$sum15) + ($71))|0; - $$sum17 = (($$sum16) + ($60))|0; - $72 = (($1) + ($$sum17)|0); - $73 = (_ttUSHORT($72)|0); - $74 = ($73<<16>>16)==(0); - if ($74) { - $75 = $65 << 2; - $$sum24 = (($3) + 16)|0; - $$sum25 = (($$sum24) + ($75))|0; - $$sum26 = (($$sum25) + ($60))|0; - $76 = (($1) + ($$sum26)|0); - $77 = (_ttSHORT($76)|0); - $78 = $77&65535; - $79 = (($78) + ($unicode_codepoint))|0; - $80 = $79 & 65535; - $$0 = $80; - return ($$0|0); - } else { - $81 = $73&65535; - $82 = (($unicode_codepoint) - ($69))|0; - $83 = $82 << 1; - $$sum19 = (($3) + 16)|0; - $$sum20 = (($$sum19) + ($71))|0; - $$sum21 = (($$sum20) + ($60))|0; - $$sum22 = (($$sum21) + ($83))|0; - $$sum23 = (($$sum22) + ($81))|0; - $84 = (($1) + ($$sum23)|0); - $85 = (_ttUSHORT($84)|0); - $86 = $85&65535; - $$0 = $86; - return ($$0|0); - } - break; - } - default: { - $87 = ($5<<16>>16)==(12); - $88 = $5 & -2; - $switch = ($88<<16>>16)==(12); - if (!($switch)) { - ___assert_fail((18816|0),(13336|0),1165,(13353|0)); - // unreachable; - } - $$sum = (($3) + 12)|0; - $89 = (($1) + ($$sum)|0); - $90 = (_ttULONG($89)|0); - $$sum1 = (($3) + 16)|0; - $high$0$ph = $90;$low$0$ph = 0; - L6: while(1) { - $high$0 = $high$0$ph; - while(1) { - $91 = ($high$0|0)>($low$0$ph|0); - if (!($91)) { - $$0 = 0; - label = 27; - break L6; - } - $92 = (($high$0) - ($low$0$ph))|0; - $93 = $92 >> 1; - $94 = (($93) + ($low$0$ph))|0; - $95 = ($94*12)|0; - $$sum2 = (($$sum1) + ($95))|0; - $96 = (($1) + ($$sum2)|0); - $97 = (_ttULONG($96)|0); - $98 = ($97>>>0)>($unicode_codepoint>>>0); - if ($98) { - $high$0 = $94; - } else { - $$lcssa = $94;$$lcssa50 = $97;$$sum2$lcssa = $$sum2;$high$0$lcssa49 = $high$0; - break; - } - } - $$sum3 = (($$sum2$lcssa) + 4)|0; - $99 = (($1) + ($$sum3)|0); - $100 = (_ttULONG($99)|0); - $101 = ($100>>>0)<($unicode_codepoint>>>0); - $102 = (($$lcssa) + 1)|0; - if ($101) { - $high$0$ph = $high$0$lcssa49;$low$0$ph = $102; - } else { - $$lcssa50$lcssa = $$lcssa50;$$sum2$lcssa$lcssa = $$sum2$lcssa; - break; - } - } - if ((label|0) == 27) { - return ($$0|0); - } - $$sum4 = (($$sum2$lcssa$lcssa) + 8)|0; - $103 = (($1) + ($$sum4)|0); - $104 = (_ttULONG($103)|0); - if (!($87)) { - $$0 = $104; - return ($$0|0); - } - $105 = (($unicode_codepoint) - ($$lcssa50$lcssa))|0; - $106 = (($105) + ($104))|0; - $$0 = $106; - return ($$0|0); - } - } - return (0)|0; -} -function _stbtt_GetGlyphShape($info,$glyph_index,$pvertices) { - $info = $info|0; - $glyph_index = $glyph_index|0; - $pvertices = $pvertices|0; - var $$0 = 0, $$sum = 0, $$sum2 = 0, $$sum3 = 0, $$sum4 = 0, $$sum5 = 0, $$sum6 = 0, $$sum7 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0; - var $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0; - var $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0; - var $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0.0; - var $163 = 0, $164 = 0, $165 = 0.0, $166 = 0, $167 = 0, $168 = 0.0, $169 = 0, $17 = 0, $170 = 0, $171 = 0.0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0.0, $177 = 0.0, $178 = 0, $179 = 0, $18 = 0, $180 = 0; - var $181 = 0, $182 = 0, $183 = 0.0, $184 = 0.0, $185 = 0, $186 = 0, $187 = 0.0, $188 = 0.0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0.0, $195 = 0.0, $196 = 0, $197 = 0, $198 = 0.0, $199 = 0.0; - var $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0.0, $203 = 0.0, $204 = 0, $205 = 0, $206 = 0, $207 = 0.0, $208 = 0.0, $209 = 0, $21 = 0, $210 = 0, $211 = 0.0, $212 = 0.0, $213 = 0.0, $214 = 0.0, $215 = 0.0, $216 = 0.0; - var $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0.0, $226 = 0.0, $227 = 0.0, $228 = 0.0, $229 = 0.0, $23 = 0, $230 = 0.0, $231 = 0.0, $232 = 0, $233 = 0.0, $234 = 0.0; - var $235 = 0.0, $236 = 0.0, $237 = 0.0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0.0, $244 = 0.0, $245 = 0.0, $246 = 0.0, $247 = 0.0, $248 = 0.0, $249 = 0.0, $25 = 0, $250 = 0, $251 = 0.0, $252 = 0.0; - var $253 = 0.0, $254 = 0.0, $255 = 0.0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0; - var $271 = 0, $272 = 0, $273 = 0, $274 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; - var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0; - var $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0; - var $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0; - var $97 = 0, $98 = 0, $99 = 0, $comp$046 = 0, $comp$1 = 0, $comp$2 = 0, $comp_verts = 0, $cx$024 = 0, $cx$1 = 0, $cx$1$lcssa = 0, $cy$025 = 0, $cy$1 = 0, $cy$1$lcssa = 0, $exitcond = 0, $exitcond51 = 0, $exitcond52 = 0, $exitcond53 = 0, $flagcount$043 = 0, $flagcount$1 = 0, $flags$044 = 0; - var $flags$1 = 0, $i$042 = 0, $i$140 = 0, $i$237 = 0, $i$333 = 0, $i$4 = 0, $i$5 = 0, $i2$045 = 0, $j$032 = 0, $j$1 = 0, $mtx$sroa$0$0 = 0.0, $mtx$sroa$15$0 = 0.0, $mtx$sroa$22$0 = 0.0, $mtx$sroa$29$0 = 0.0, $mtx$sroa$33$0 = 0.0, $mtx$sroa$8$0 = 0.0, $next_move$031 = 0, $next_move$1 = 0, $num_vertices$034 = 0, $num_vertices$1 = 0; - var $num_vertices$3 = 0, $num_vertices$3$lcssa = 0, $num_vertices$447 = 0, $num_vertices$5 = 0, $num_vertices$6 = 0, $points$041 = 0, $points$1 = 0, $points$1$lcssa = 0, $points$239 = 0, $points$3 = 0, $points$3$lcssa = 0, $points$436 = 0, $points$5 = 0, $scx$028 = 0, $scx$1 = 0, $scx$2 = 0, $scx$2$lcssa = 0, $scy$029 = 0, $scy$1 = 0, $scy$2 = 0; - var $scy$2$lcssa = 0, $sext = 0, $sext8 = 0, $sqrtf = 0.0, $sqrtf1 = 0.0, $start_off$023 = 0, $start_off$1 = 0, $start_off$1$lcssa = 0, $sx$026 = 0, $sx$1 = 0, $sx$2 = 0, $sx$2$lcssa = 0, $sy$027 = 0, $sy$1 = 0, $sy$2 = 0, $sy$2$lcssa = 0, $vertices$048 = 0, $vertices$048$lcssa60 = 0, $vertices$1 = 0, $vertices$2 = 0; - var $was_off$030 = 0, $was_off$1 = 0, $was_off$1$lcssa = 0, $x$038 = 0, $x$1 = 0, $y$035 = 0, $y$1 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $comp_verts = sp; - $0 = ((($info)) + 4|0); - $1 = HEAP32[$0>>2]|0; - $2 = (_stbtt__GetGlyfOffset($info,$glyph_index)|0); - HEAP32[$pvertices>>2] = 0; - $3 = ($2|0)<(0); - if ($3) { - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $4 = (($1) + ($2)|0); - $5 = (_ttSHORT($4)|0); - $6 = ($5<<16>>16)>(0); - L4: do { - if ($6) { - $7 = $5 << 16 >> 16; - $$sum2 = (($2) + 10)|0; - $8 = $7 << 1; - $$sum3 = (($8) + ($$sum2))|0; - $9 = (($1) + ($$sum3)|0); - $10 = (_ttUSHORT($9)|0); - $$sum6 = (($$sum3) + -2)|0; - $11 = (($1) + ($$sum6)|0); - $12 = (_ttUSHORT($11)|0); - $13 = $12&65535; - $14 = (($13) + 1)|0; - $15 = (($14) + ($8))|0; - $16 = ($15*10)|0; - $17 = (_malloc($16)|0); - $18 = ($17|0)==(0|0); - if ($18) { - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $$sum4 = (($$sum3) + 2)|0; - $19 = $10&65535; - $$sum5 = (($$sum4) + ($19))|0; - $20 = (($1) + ($$sum5)|0); - $21 = $12&65535; - $flagcount$043 = 0;$flags$044 = 0;$i$042 = 0;$points$041 = $20; - while(1) { - $23 = ($flagcount$043<<24>>24)==(0); - if ($23) { - $24 = ((($points$041)) + 1|0); - $25 = HEAP8[$points$041>>0]|0; - $26 = $25 & 8; - $27 = ($26<<24>>24)==(0); - if ($27) { - $flagcount$1 = 0;$flags$1 = $25;$points$1 = $24; - } else { - $28 = ((($points$041)) + 2|0); - $29 = HEAP8[$24>>0]|0; - $flagcount$1 = $29;$flags$1 = $25;$points$1 = $28; - } - } else { - $30 = (($flagcount$043) + -1)<<24>>24; - $flagcount$1 = $30;$flags$1 = $flags$044;$points$1 = $points$041; - } - $31 = (($i$042) + ($8))|0; - $32 = (((($17) + (($31*10)|0)|0)) + 8|0); - HEAP8[$32>>0] = $flags$1; - $33 = (($i$042) + 1)|0; - $exitcond52 = ($i$042|0)==($21|0); - if ($exitcond52) { - $points$1$lcssa = $points$1; - break; - } else { - $flagcount$043 = $flagcount$1;$flags$044 = $flags$1;$i$042 = $33;$points$041 = $points$1; - } - } - $22 = $12&65535; - $i$140 = 0;$points$239 = $points$1$lcssa;$x$038 = 0; - while(1) { - $35 = (($i$140) + ($8))|0; - $36 = (((($17) + (($35*10)|0)|0)) + 8|0); - $37 = HEAP8[$36>>0]|0; - $38 = $37&255; - $39 = $38 & 2; - $40 = ($39|0)==(0); - if ($40) { - $49 = $38 & 16; - $50 = ($49|0)==(0); - if ($50) { - $51 = HEAP8[$points$239>>0]|0; - $52 = $51&255; - $53 = $52 << 8; - $54 = ((($points$239)) + 1|0); - $55 = HEAP8[$54>>0]|0; - $56 = $55&255; - $57 = $53 | $56; - $sext8 = $57 << 16; - $58 = $sext8 >> 16; - $59 = (($58) + ($x$038))|0; - $60 = ((($points$239)) + 2|0); - $points$3 = $60;$x$1 = $59; - } else { - $points$3 = $points$239;$x$1 = $x$038; - } - } else { - $41 = ((($points$239)) + 1|0); - $42 = HEAP8[$points$239>>0]|0; - $43 = $38 & 16; - $44 = ($43|0)!=(0); - $45 = $42&255; - $46 = (0 - ($45))|0; - $47 = $44 ? $45 : $46; - $48 = (($47) + ($x$038))|0; - $points$3 = $41;$x$1 = $48; - } - $61 = $x$1&65535; - $62 = (($17) + (($35*10)|0)|0); - HEAP16[$62>>1] = $61; - $63 = (($i$140) + 1)|0; - $exitcond51 = ($i$140|0)==($22|0); - if ($exitcond51) { - $points$3$lcssa = $points$3; - break; - } else { - $i$140 = $63;$points$239 = $points$3;$x$038 = $x$1; - } - } - $34 = $12&65535; - $i$237 = 0;$points$436 = $points$3$lcssa;$y$035 = 0; - while(1) { - $64 = (($i$237) + ($8))|0; - $65 = (((($17) + (($64*10)|0)|0)) + 8|0); - $66 = HEAP8[$65>>0]|0; - $67 = $66&255; - $68 = $67 & 4; - $69 = ($68|0)==(0); - if ($69) { - $78 = $67 & 32; - $79 = ($78|0)==(0); - if ($79) { - $80 = HEAP8[$points$436>>0]|0; - $81 = $80&255; - $82 = $81 << 8; - $83 = ((($points$436)) + 1|0); - $84 = HEAP8[$83>>0]|0; - $85 = $84&255; - $86 = $82 | $85; - $sext = $86 << 16; - $87 = $sext >> 16; - $88 = (($87) + ($y$035))|0; - $89 = ((($points$436)) + 2|0); - $points$5 = $89;$y$1 = $88; - } else { - $points$5 = $points$436;$y$1 = $y$035; - } - } else { - $70 = ((($points$436)) + 1|0); - $71 = HEAP8[$points$436>>0]|0; - $72 = $67 & 32; - $73 = ($72|0)!=(0); - $74 = $71&255; - $75 = (0 - ($74))|0; - $76 = $73 ? $74 : $75; - $77 = (($76) + ($y$035))|0; - $points$5 = $70;$y$1 = $77; - } - $90 = $y$1&65535; - $91 = (((($17) + (($64*10)|0)|0)) + 2|0); - HEAP16[$91>>1] = $90; - $92 = (($i$237) + 1)|0; - $exitcond = ($i$237|0)==($34|0); - if ($exitcond) { - $cx$024 = 0;$cy$025 = 0;$i$333 = 0;$j$032 = 0;$next_move$031 = 0;$num_vertices$034 = 0;$scx$028 = 0;$scy$029 = 0;$start_off$023 = 0;$sx$026 = 0;$sy$027 = 0;$was_off$030 = 0; - break; - } else { - $i$237 = $92;$points$436 = $points$5;$y$035 = $y$1; - } - } - while(1) { - $93 = (($i$333) + ($8))|0; - $94 = (((($17) + (($93*10)|0)|0)) + 8|0); - $95 = HEAP8[$94>>0]|0; - $96 = (($17) + (($93*10)|0)|0); - $97 = HEAP16[$96>>1]|0; - $98 = $97 << 16 >> 16; - $99 = (((($17) + (($93*10)|0)|0)) + 2|0); - $100 = HEAP16[$99>>1]|0; - $101 = $100 << 16 >> 16; - $102 = ($next_move$031|0)==($i$333|0); - do { - if ($102) { - $103 = ($i$333|0)==(0); - if ($103) { - $num_vertices$1 = $num_vertices$034; - } else { - $104 = (_stbtt__close_shape($17,$num_vertices$034,$was_off$030,$start_off$023,$sx$026,$sy$027,$scx$028,$scy$029,$cx$024,$cy$025)|0); - $num_vertices$1 = $104; - } - $105 = $95 & 1; - $106 = ($105<<24>>24)==(0); - $107 = $105 ^ 1; - $108 = $107&255; - do { - if ($106) { - $109 = (($93) + 1)|0; - $110 = (((($17) + (($109*10)|0)|0)) + 8|0); - $111 = HEAP8[$110>>0]|0; - $112 = $111 & 1; - $113 = ($112<<24>>24)==(0); - $114 = (($17) + (($109*10)|0)|0); - $115 = HEAP16[$114>>1]|0; - $116 = $115 << 16 >> 16; - if ($113) { - $117 = (($116) + ($98))|0; - $118 = $117 >> 1; - $119 = (((($17) + (($109*10)|0)|0)) + 2|0); - $120 = HEAP16[$119>>1]|0; - $121 = $120 << 16 >> 16; - $122 = (($121) + ($101))|0; - $123 = $122 >> 1; - $i$4 = $i$333;$scx$1 = $98;$scy$1 = $101;$sx$1 = $118;$sy$1 = $123; - break; - } else { - $124 = (((($17) + (($109*10)|0)|0)) + 2|0); - $125 = HEAP16[$124>>1]|0; - $126 = $125 << 16 >> 16; - $127 = (($i$333) + 1)|0; - $i$4 = $127;$scx$1 = $98;$scy$1 = $101;$sx$1 = $116;$sy$1 = $126; - break; - } - } else { - $i$4 = $i$333;$scx$1 = $scx$028;$scy$1 = $scy$029;$sx$1 = $98;$sy$1 = $101; - } - } while(0); - $128 = (($num_vertices$1) + 1)|0; - $129 = (($17) + (($num_vertices$1*10)|0)|0); - _stbtt_setvertex($129,1,$sx$1,$sy$1,0,0); - $130 = $j$032 << 1; - $$sum7 = (($130) + ($$sum2))|0; - $131 = (($1) + ($$sum7)|0); - $132 = (_ttUSHORT($131)|0); - $133 = $132&65535; - $134 = (($133) + 1)|0; - $135 = (($j$032) + 1)|0; - $cx$1 = $cx$024;$cy$1 = $cy$025;$i$5 = $i$4;$j$1 = $135;$next_move$1 = $134;$num_vertices$3 = $128;$scx$2 = $scx$1;$scy$2 = $scy$1;$start_off$1 = $108;$sx$2 = $sx$1;$sy$2 = $sy$1;$was_off$1 = 0; - } else { - $136 = $95 & 1; - $137 = ($136<<24>>24)==(0); - $138 = ($was_off$030|0)!=(0); - if ($137) { - if (!($138)) { - $cx$1 = $98;$cy$1 = $101;$i$5 = $i$333;$j$1 = $j$032;$next_move$1 = $next_move$031;$num_vertices$3 = $num_vertices$034;$scx$2 = $scx$028;$scy$2 = $scy$029;$start_off$1 = $start_off$023;$sx$2 = $sx$026;$sy$2 = $sy$027;$was_off$1 = 1; - break; - } - $139 = (($num_vertices$034) + 1)|0; - $140 = (($17) + (($num_vertices$034*10)|0)|0); - $141 = (($98) + ($cx$024))|0; - $142 = $141 >> 1; - $143 = (($101) + ($cy$025))|0; - $144 = $143 >> 1; - _stbtt_setvertex($140,3,$142,$144,$cx$024,$cy$025); - $cx$1 = $98;$cy$1 = $101;$i$5 = $i$333;$j$1 = $j$032;$next_move$1 = $next_move$031;$num_vertices$3 = $139;$scx$2 = $scx$028;$scy$2 = $scy$029;$start_off$1 = $start_off$023;$sx$2 = $sx$026;$sy$2 = $sy$027;$was_off$1 = 1; - break; - } - $145 = (($num_vertices$034) + 1)|0; - $146 = (($17) + (($num_vertices$034*10)|0)|0); - if ($138) { - _stbtt_setvertex($146,3,$98,$101,$cx$024,$cy$025); - $cx$1 = $cx$024;$cy$1 = $cy$025;$i$5 = $i$333;$j$1 = $j$032;$next_move$1 = $next_move$031;$num_vertices$3 = $145;$scx$2 = $scx$028;$scy$2 = $scy$029;$start_off$1 = $start_off$023;$sx$2 = $sx$026;$sy$2 = $sy$027;$was_off$1 = 0; - break; - } else { - _stbtt_setvertex($146,2,$98,$101,0,0); - $cx$1 = $cx$024;$cy$1 = $cy$025;$i$5 = $i$333;$j$1 = $j$032;$next_move$1 = $next_move$031;$num_vertices$3 = $145;$scx$2 = $scx$028;$scy$2 = $scy$029;$start_off$1 = $start_off$023;$sx$2 = $sx$026;$sy$2 = $sy$027;$was_off$1 = 0; - break; - } - } - } while(0); - $147 = (($i$5) + 1)|0; - $148 = ($147|0)<($14|0); - if ($148) { - $cx$024 = $cx$1;$cy$025 = $cy$1;$i$333 = $147;$j$032 = $j$1;$next_move$031 = $next_move$1;$num_vertices$034 = $num_vertices$3;$scx$028 = $scx$2;$scy$029 = $scy$2;$start_off$023 = $start_off$1;$sx$026 = $sx$2;$sy$027 = $sy$2;$was_off$030 = $was_off$1; - } else { - $cx$1$lcssa = $cx$1;$cy$1$lcssa = $cy$1;$num_vertices$3$lcssa = $num_vertices$3;$scx$2$lcssa = $scx$2;$scy$2$lcssa = $scy$2;$start_off$1$lcssa = $start_off$1;$sx$2$lcssa = $sx$2;$sy$2$lcssa = $sy$2;$was_off$1$lcssa = $was_off$1; - break; - } - } - $149 = (_stbtt__close_shape($17,$num_vertices$3$lcssa,$was_off$1$lcssa,$start_off$1$lcssa,$sx$2$lcssa,$sy$2$lcssa,$scx$2$lcssa,$scy$2$lcssa,$cx$1$lcssa,$cy$1$lcssa)|0); - $num_vertices$6 = $149;$vertices$2 = $17; - } else { - $150 = ($5<<16>>16)==(-1); - if (!($150)) { - $274 = ($5<<16>>16)<(0); - if (!($274)) { - $num_vertices$6 = 0;$vertices$2 = 0; - break; - } - ___assert_fail((18816|0),(13336|0),1460,(13430|0)); - // unreachable; - } - $$sum = (($2) + 10)|0; - $151 = (($1) + ($$sum)|0); - $comp$046 = $151;$num_vertices$447 = 0;$vertices$048 = 0; - while(1) { - HEAP32[$comp_verts>>2] = 0; - $152 = (_ttSHORT($comp$046)|0); - $153 = ((($comp$046)) + 2|0); - $154 = (_ttSHORT($153)|0); - $155 = ((($comp$046)) + 4|0); - $156 = $152&65535; - $157 = $156 & 2; - $158 = ($157|0)==(0); - if ($158) { - label = 44; - break; - } - $159 = $156 & 1; - $160 = ($159|0)==(0); - if ($160) { - $167 = HEAP8[$155>>0]|0; - $168 = (+($167<<24>>24)); - $169 = ((($comp$046)) + 5|0); - $170 = HEAP8[$169>>0]|0; - $171 = (+($170<<24>>24)); - $172 = ((($comp$046)) + 6|0); - $179 = 8;$190 = 10;$205 = 12;$210 = 14;$comp$1 = $172;$mtx$sroa$29$0 = $168;$mtx$sroa$33$0 = $171; - } else { - $161 = (_ttSHORT($155)|0); - $162 = (+($161<<16>>16)); - $163 = ((($comp$046)) + 6|0); - $164 = (_ttSHORT($163)|0); - $165 = (+($164<<16>>16)); - $166 = ((($comp$046)) + 8|0); - $179 = 10;$190 = 12;$205 = 14;$210 = 16;$comp$1 = $166;$mtx$sroa$29$0 = $162;$mtx$sroa$33$0 = $165; - } - $173 = $156 & 8; - $174 = ($173|0)==(0); - do { - if ($174) { - $180 = $156 & 64; - $181 = ($180|0)==(0); - if (!($181)) { - $182 = (_ttSHORT($comp$1)|0); - $183 = (+($182<<16>>16)); - $184 = $183 * 6.103515625E-5; - $185 = (($comp$046) + ($179)|0); - $186 = (_ttSHORT($185)|0); - $187 = (+($186<<16>>16)); - $188 = $187 * 6.103515625E-5; - $189 = (($comp$046) + ($190)|0); - $comp$2 = $189;$mtx$sroa$0$0 = $184;$mtx$sroa$15$0 = 0.0;$mtx$sroa$22$0 = $188;$mtx$sroa$8$0 = 0.0; - break; - } - $191 = $156 & 128; - $192 = ($191|0)==(0); - if ($192) { - $comp$2 = $comp$1;$mtx$sroa$0$0 = 1.0;$mtx$sroa$15$0 = 0.0;$mtx$sroa$22$0 = 1.0;$mtx$sroa$8$0 = 0.0; - } else { - $193 = (_ttSHORT($comp$1)|0); - $194 = (+($193<<16>>16)); - $195 = $194 * 6.103515625E-5; - $196 = (($comp$046) + ($179)|0); - $197 = (_ttSHORT($196)|0); - $198 = (+($197<<16>>16)); - $199 = $198 * 6.103515625E-5; - $200 = (($comp$046) + ($190)|0); - $201 = (_ttSHORT($200)|0); - $202 = (+($201<<16>>16)); - $203 = $202 * 6.103515625E-5; - $204 = (($comp$046) + ($205)|0); - $206 = (_ttSHORT($204)|0); - $207 = (+($206<<16>>16)); - $208 = $207 * 6.103515625E-5; - $209 = (($comp$046) + ($210)|0); - $comp$2 = $209;$mtx$sroa$0$0 = $195;$mtx$sroa$15$0 = $203;$mtx$sroa$22$0 = $208;$mtx$sroa$8$0 = $199; - } - } else { - $175 = (_ttSHORT($comp$1)|0); - $176 = (+($175<<16>>16)); - $177 = $176 * 6.103515625E-5; - $178 = (($comp$046) + ($179)|0); - $comp$2 = $178;$mtx$sroa$0$0 = $177;$mtx$sroa$15$0 = 0.0;$mtx$sroa$22$0 = $177;$mtx$sroa$8$0 = 0.0; - } - } while(0); - $211 = $mtx$sroa$0$0 * $mtx$sroa$0$0; - $212 = $mtx$sroa$8$0 * $mtx$sroa$8$0; - $213 = $212 + $211; - $sqrtf = (+Math_sqrt((+$213))); - $214 = $mtx$sroa$15$0 * $mtx$sroa$15$0; - $215 = $mtx$sroa$22$0 * $mtx$sroa$22$0; - $216 = $215 + $214; - $sqrtf1 = (+Math_sqrt((+$216))); - $217 = $154&65535; - $218 = (_stbtt_GetGlyphShape($info,$217,$comp_verts)|0); - $219 = ($218|0)>(0); - if ($219) { - $220 = HEAP32[$comp_verts>>2]|0; - $i2$045 = 0; - while(1) { - $221 = (($220) + (($i2$045*10)|0)|0); - $222 = HEAP16[$221>>1]|0; - $223 = (((($220) + (($i2$045*10)|0)|0)) + 2|0); - $224 = HEAP16[$223>>1]|0; - $225 = (+($222<<16>>16)); - $226 = $mtx$sroa$0$0 * $225; - $227 = (+($224<<16>>16)); - $228 = $mtx$sroa$15$0 * $227; - $229 = $226 + $228; - $230 = $mtx$sroa$29$0 + $229; - $231 = $sqrtf * $230; - $232 = (~~(($231))); - HEAP16[$221>>1] = $232; - $233 = $mtx$sroa$8$0 * $225; - $234 = $mtx$sroa$22$0 * $227; - $235 = $233 + $234; - $236 = $mtx$sroa$33$0 + $235; - $237 = $sqrtf1 * $236; - $238 = (~~(($237))); - HEAP16[$223>>1] = $238; - $239 = (((($220) + (($i2$045*10)|0)|0)) + 4|0); - $240 = HEAP16[$239>>1]|0; - $241 = (((($220) + (($i2$045*10)|0)|0)) + 6|0); - $242 = HEAP16[$241>>1]|0; - $243 = (+($240<<16>>16)); - $244 = $mtx$sroa$0$0 * $243; - $245 = (+($242<<16>>16)); - $246 = $mtx$sroa$15$0 * $245; - $247 = $244 + $246; - $248 = $mtx$sroa$29$0 + $247; - $249 = $sqrtf * $248; - $250 = (~~(($249))); - HEAP16[$239>>1] = $250; - $251 = $mtx$sroa$8$0 * $243; - $252 = $mtx$sroa$22$0 * $245; - $253 = $251 + $252; - $254 = $mtx$sroa$33$0 + $253; - $255 = $sqrtf1 * $254; - $256 = (~~(($255))); - HEAP16[$241>>1] = $256; - $257 = (($i2$045) + 1)|0; - $exitcond53 = ($257|0)==($218|0); - if ($exitcond53) { - break; - } else { - $i2$045 = $257; - } - } - $258 = (($218) + ($num_vertices$447))|0; - $259 = ($258*10)|0; - $260 = (_malloc($259)|0); - $261 = ($260|0)==(0|0); - if ($261) { - $vertices$048$lcssa60 = $vertices$048; - break; - } - $265 = ($num_vertices$447|0)>(0); - if ($265) { - $266 = ($num_vertices$447*10)|0; - _memcpy(($260|0),($vertices$048|0),($266|0))|0; - } - $267 = (($260) + (($num_vertices$447*10)|0)|0); - $268 = HEAP32[$comp_verts>>2]|0; - $269 = ($218*10)|0; - _memcpy(($267|0),($268|0),($269|0))|0; - $270 = ($vertices$048|0)==(0|0); - if (!($270)) { - _free($vertices$048); - } - $271 = HEAP32[$comp_verts>>2]|0; - _free($271); - $num_vertices$5 = $258;$vertices$1 = $260; - } else { - $num_vertices$5 = $num_vertices$447;$vertices$1 = $vertices$048; - } - $272 = $156 & 32; - $273 = ($272|0)==(0); - if ($273) { - $num_vertices$6 = $num_vertices$5;$vertices$2 = $vertices$1; - break L4; - } else { - $comp$046 = $comp$2;$num_vertices$447 = $num_vertices$5;$vertices$048 = $vertices$1; - } - } - if ((label|0) == 44) { - ___assert_fail((18816|0),(13336|0),1407,(13430|0)); - // unreachable; - } - $262 = ($vertices$048$lcssa60|0)==(0|0); - if (!($262)) { - _free($vertices$048$lcssa60); - } - $263 = HEAP32[$comp_verts>>2]|0; - $264 = ($263|0)==(0|0); - if ($264) { - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - _free($263); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - } while(0); - HEAP32[$pvertices>>2] = $vertices$2; - $$0 = $num_vertices$6; - STACKTOP = sp;return ($$0|0); -} -function _stbtt_GetGlyphBox($info,$glyph_index,$x0,$y0,$x1,$y1) { - $info = $info|0; - $glyph_index = $glyph_index|0; - $x0 = $x0|0; - $y0 = $y0|0; - $x1 = $x1|0; - $y1 = $y1|0; - var $$0 = 0, $$sum = 0, $$sum1 = 0, $$sum2 = 0, $$sum3 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0; - var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_stbtt__GetGlyfOffset($info,$glyph_index)|0); - $1 = ($0|0)<(0); - if ($1) { - $$0 = 0; - return ($$0|0); - } - $2 = ($x0|0)==(0|0); - if (!($2)) { - $3 = ((($info)) + 4|0); - $4 = HEAP32[$3>>2]|0; - $$sum3 = (($0) + 2)|0; - $5 = (($4) + ($$sum3)|0); - $6 = (_ttSHORT($5)|0); - $7 = $6 << 16 >> 16; - HEAP32[$x0>>2] = $7; - } - $8 = ($y0|0)==(0|0); - if (!($8)) { - $9 = ((($info)) + 4|0); - $10 = HEAP32[$9>>2]|0; - $$sum2 = (($0) + 4)|0; - $11 = (($10) + ($$sum2)|0); - $12 = (_ttSHORT($11)|0); - $13 = $12 << 16 >> 16; - HEAP32[$y0>>2] = $13; - } - $14 = ($x1|0)==(0|0); - if (!($14)) { - $15 = ((($info)) + 4|0); - $16 = HEAP32[$15>>2]|0; - $$sum1 = (($0) + 6)|0; - $17 = (($16) + ($$sum1)|0); - $18 = (_ttSHORT($17)|0); - $19 = $18 << 16 >> 16; - HEAP32[$x1>>2] = $19; - } - $20 = ($y1|0)==(0|0); - if ($20) { - $$0 = 1; - return ($$0|0); - } - $21 = ((($info)) + 4|0); - $22 = HEAP32[$21>>2]|0; - $$sum = (($0) + 8)|0; - $23 = (($22) + ($$sum)|0); - $24 = (_ttSHORT($23)|0); - $25 = $24 << 16 >> 16; - HEAP32[$y1>>2] = $25; - $$0 = 1; - return ($$0|0); -} -function _stbtt_GetGlyphHMetrics($info,$glyph_index,$advanceWidth,$leftSideBearing) { - $info = $info|0; - $glyph_index = $glyph_index|0; - $advanceWidth = $advanceWidth|0; - $leftSideBearing = $leftSideBearing|0; - var $$sum = 0, $$sum1 = 0, $$sum2 = 0, $$sum3 = 0, $$sum47 = 0, $$sum5 = 0, $$sum6 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0; - var $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0; - var $39 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($info)) + 4|0); - $1 = HEAP32[$0>>2]|0; - $2 = ((($info)) + 28|0); - $3 = HEAP32[$2>>2]|0; - $$sum = (($3) + 34)|0; - $4 = (($1) + ($$sum)|0); - $5 = (_ttUSHORT($4)|0); - $6 = $5&65535; - $7 = ($6|0)>($glyph_index|0); - $8 = ($advanceWidth|0)!=(0|0); - if ($7) { - if ($8) { - $9 = ((($info)) + 32|0); - $10 = HEAP32[$9>>2]|0; - $11 = $glyph_index << 2; - $$sum6 = (($10) + ($11))|0; - $12 = (($1) + ($$sum6)|0); - $13 = (_ttSHORT($12)|0); - $14 = $13 << 16 >> 16; - HEAP32[$advanceWidth>>2] = $14; - } - $15 = ($leftSideBearing|0)==(0|0); - if ($15) { - return; - } - $16 = HEAP32[$0>>2]|0; - $17 = ((($info)) + 32|0); - $18 = HEAP32[$17>>2]|0; - $19 = $glyph_index << 2; - $$sum47 = $19 | 2; - $$sum5 = (($$sum47) + ($18))|0; - $20 = (($16) + ($$sum5)|0); - $21 = (_ttSHORT($20)|0); - $22 = $21 << 16 >> 16; - HEAP32[$leftSideBearing>>2] = $22; - return; - } else { - if ($8) { - $23 = ((($info)) + 32|0); - $24 = HEAP32[$23>>2]|0; - $25 = $6 << 2; - $26 = (($25) + -4)|0; - $$sum3 = (($26) + ($24))|0; - $27 = (($1) + ($$sum3)|0); - $28 = (_ttSHORT($27)|0); - $29 = $28 << 16 >> 16; - HEAP32[$advanceWidth>>2] = $29; - } - $30 = ($leftSideBearing|0)==(0|0); - if ($30) { - return; - } - $31 = HEAP32[$0>>2]|0; - $32 = ((($info)) + 32|0); - $33 = HEAP32[$32>>2]|0; - $34 = $6 << 2; - $35 = (($glyph_index) - ($6))|0; - $36 = $35 << 1; - $$sum1 = (($36) + ($34))|0; - $$sum2 = (($$sum1) + ($33))|0; - $37 = (($31) + ($$sum2)|0); - $38 = (_ttSHORT($37)|0); - $39 = $38 << 16 >> 16; - HEAP32[$leftSideBearing>>2] = $39; - return; - } -} -function _stbtt_ScaleForPixelHeight($info,$height) { - $info = $info|0; - $height = +$height; - var $$sum = 0, $$sum1 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0.0, $12 = 0.0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($info)) + 4|0); - $1 = HEAP32[$0>>2]|0; - $2 = ((($info)) + 28|0); - $3 = HEAP32[$2>>2]|0; - $$sum = (($3) + 4)|0; - $4 = (($1) + ($$sum)|0); - $5 = (_ttSHORT($4)|0); - $6 = $5 << 16 >> 16; - $$sum1 = (($3) + 6)|0; - $7 = (($1) + ($$sum1)|0); - $8 = (_ttSHORT($7)|0); - $9 = $8 << 16 >> 16; - $10 = (($6) - ($9))|0; - $11 = (+($10|0)); - $12 = $height / $11; - return (+$12); -} -function _stbtt_GetGlyphBitmapBoxSubpixel($font,$glyph,$scale_x,$scale_y,$shift_x,$shift_y,$ix0,$iy0,$ix1,$iy1) { - $font = $font|0; - $glyph = $glyph|0; - $scale_x = +$scale_x; - $scale_y = +$scale_y; - $shift_x = +$shift_x; - $shift_y = +$shift_y; - $ix0 = $ix0|0; - $iy0 = $iy0|0; - $ix1 = $ix1|0; - $iy1 = $iy1|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0.0, $28 = 0.0, $29 = 0.0, $3 = 0, $30 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0.0, $8 = 0.0, $9 = 0.0, $ceilf = 0.0, $ceilf1 = 0.0, $floorf = 0.0, $floorf2 = 0.0, $x0 = 0, $x1 = 0, $y0 = 0, $y1 = 0, label = 0; - var sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $x0 = sp + 12|0; - $y0 = sp + 8|0; - $x1 = sp + 4|0; - $y1 = sp; - HEAP32[$x0>>2] = 0; - HEAP32[$y0>>2] = 0; - $0 = (_stbtt_GetGlyphBox($font,$glyph,$x0,$y0,$x1,$y1)|0); - $1 = ($0|0)==(0); - $2 = ($ix0|0)!=(0|0); - if ($1) { - if ($2) { - HEAP32[$ix0>>2] = 0; - } - $3 = ($iy0|0)==(0|0); - if (!($3)) { - HEAP32[$iy0>>2] = 0; - } - $4 = ($ix1|0)==(0|0); - if (!($4)) { - HEAP32[$ix1>>2] = 0; - } - $5 = ($iy1|0)==(0|0); - if ($5) { - STACKTOP = sp;return; - } - HEAP32[$iy1>>2] = 0; - STACKTOP = sp;return; - } else { - if ($2) { - $6 = HEAP32[$x0>>2]|0; - $7 = (+($6|0)); - $8 = $7 * $scale_x; - $9 = $8 + $shift_x; - $floorf2 = (+Math_floor((+$9))); - $10 = (~~(($floorf2))); - HEAP32[$ix0>>2] = $10; - } - $11 = ($iy0|0)==(0|0); - if (!($11)) { - $12 = HEAP32[$y1>>2]|0; - $13 = (0 - ($12))|0; - $14 = (+($13|0)); - $15 = $14 * $scale_y; - $16 = $15 + $shift_y; - $floorf = (+Math_floor((+$16))); - $17 = (~~(($floorf))); - HEAP32[$iy0>>2] = $17; - } - $18 = ($ix1|0)==(0|0); - if (!($18)) { - $19 = HEAP32[$x1>>2]|0; - $20 = (+($19|0)); - $21 = $20 * $scale_x; - $22 = $21 + $shift_x; - $ceilf1 = (+Math_ceil((+$22))); - $23 = (~~(($ceilf1))); - HEAP32[$ix1>>2] = $23; - } - $24 = ($iy1|0)==(0|0); - if ($24) { - STACKTOP = sp;return; - } - $25 = HEAP32[$y0>>2]|0; - $26 = (0 - ($25))|0; - $27 = (+($26|0)); - $28 = $27 * $scale_y; - $29 = $28 + $shift_y; - $ceilf = (+Math_ceil((+$29))); - $30 = (~~(($ceilf))); - HEAP32[$iy1>>2] = $30; - STACKTOP = sp;return; - } -} -function _stbtt_GetGlyphBitmapBox($font,$glyph,$scale_x,$scale_y,$ix0,$iy0,$ix1,$iy1) { - $font = $font|0; - $glyph = $glyph|0; - $scale_x = +$scale_x; - $scale_y = +$scale_y; - $ix0 = $ix0|0; - $iy0 = $iy0|0; - $ix1 = $ix1|0; - $iy1 = $iy1|0; +function _stbi__err($0) { + $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; - _stbtt_GetGlyphBitmapBoxSubpixel($font,$glyph,$scale_x,$scale_y,0.0,0.0,$ix0,$iy0,$ix1,$iy1); + HEAP32[6771] = $0; return; } -function _stbtt_Rasterize($result,$flatness_in_pixels,$vertices,$num_verts,$scale_x,$scale_y,$shift_x,$shift_y,$x_off,$y_off,$invert,$userdata) { - $result = $result|0; - $flatness_in_pixels = +$flatness_in_pixels; - $vertices = $vertices|0; - $num_verts = $num_verts|0; - $scale_x = +$scale_x; - $scale_y = +$scale_y; - $shift_x = +$shift_x; - $shift_y = +$shift_y; - $x_off = $x_off|0; - $y_off = $y_off|0; - $invert = $invert|0; - $userdata = $userdata|0; - var $0 = 0, $1 = 0.0, $2 = 0.0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $winding_count = 0, $winding_lengths = 0, label = 0, sp = 0; +function _stbi_load_from_file($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $10 = 0, $11 = 0, $12 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $winding_count = sp + 4|0; - $winding_lengths = sp; - $0 = $scale_x > $scale_y; - $1 = $0 ? $scale_y : $scale_x; - $2 = $flatness_in_pixels / $1; - $3 = (_stbtt_FlattenCurves($vertices,$num_verts,$2,$winding_lengths,$winding_count)|0); - $4 = ($3|0)==(0|0); - if ($4) { - STACKTOP = sp;return; - } - $5 = HEAP32[$winding_lengths>>2]|0; - $6 = HEAP32[$winding_count>>2]|0; - _stbtt__rasterize($result,$3,$5,$6,$scale_x,$scale_y,$shift_x,$shift_y,$x_off,$y_off,$invert); - $7 = HEAP32[$winding_lengths>>2]|0; - _free($7); - _free($3); - STACKTOP = sp;return; -} -function _stbtt_MakeGlyphBitmapSubpixel($info,$output,$out_w,$out_h,$out_stride,$scale_x,$scale_y,$shift_x,$shift_y,$glyph) { - $info = $info|0; - $output = $output|0; - $out_w = $out_w|0; - $out_h = $out_h|0; - $out_stride = $out_stride|0; - $scale_x = +$scale_x; - $scale_y = +$scale_y; - $shift_x = +$shift_x; - $shift_y = +$shift_y; - $glyph = $glyph|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $gbm = 0, $ix0 = 0, $iy0 = 0, $or$cond = 0, $vertices = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $ix0 = sp + 24|0; - $iy0 = sp + 20|0; - $vertices = sp + 16|0; - $gbm = sp; - $0 = (_stbtt_GetGlyphShape($info,$glyph,$vertices)|0); - _stbtt_GetGlyphBitmapBoxSubpixel($info,$glyph,$scale_x,$scale_y,$shift_x,$shift_y,$ix0,$iy0,0,0); - $1 = ((($gbm)) + 12|0); - HEAP32[$1>>2] = $output; - HEAP32[$gbm>>2] = $out_w; - $2 = ((($gbm)) + 4|0); - HEAP32[$2>>2] = $out_h; - $3 = ((($gbm)) + 8|0); - HEAP32[$3>>2] = $out_stride; - $4 = HEAP32[$gbm>>2]|0; - $5 = ($4|0)==(0); - $6 = HEAP32[$2>>2]|0; - $7 = ($6|0)==(0); - $or$cond = $5 | $7; - if ($or$cond) { - $11 = HEAP32[$vertices>>2]|0; - _free($11); - STACKTOP = sp;return; - } - $8 = HEAP32[$vertices>>2]|0; - $9 = HEAP32[$ix0>>2]|0; - $10 = HEAP32[$iy0>>2]|0; - _stbtt_Rasterize($gbm,0.34999999403953552,$8,$0,$scale_x,$scale_y,$shift_x,$shift_y,$9,$10,1,0); - $11 = HEAP32[$vertices>>2]|0; - _free($11); - STACKTOP = sp;return; -} -function _stbtt_MakeGlyphBitmap($info,$output,$out_w,$out_h,$out_stride,$scale_x,$scale_y,$glyph) { - $info = $info|0; - $output = $output|0; - $out_w = $out_w|0; - $out_h = $out_h|0; - $out_stride = $out_stride|0; - $scale_x = +$scale_x; - $scale_y = +$scale_y; - $glyph = $glyph|0; - var label = 0, sp = 0; - sp = STACKTOP; - _stbtt_MakeGlyphBitmapSubpixel($info,$output,$out_w,$out_h,$out_stride,$scale_x,$scale_y,0.0,0.0,$glyph); - return; -} -function _stbtt_BakeFontBitmap($data,$offset,$pixel_height,$pixels,$pw,$ph,$first_char,$num_chars,$chardata) { - $data = $data|0; - $offset = $offset|0; - $pixel_height = +$pixel_height; - $pixels = $pixels|0; - $pw = $pw|0; - $ph = $ph|0; - $first_char = $first_char|0; - $num_chars = $num_chars|0; - $chardata = $chardata|0; - var $$0 = 0, $$sum = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; - var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0.0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0.0, $35 = 0.0, $36 = 0, $37 = 0, $38 = 0.0, $39 = 0, $4 = 0, $40 = 0, $41 = 0.0, $42 = 0; - var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $advance = 0, $bottom_y$0$ = 0, $bottom_y$07 = 0, $f = 0, $i$08 = 0, $i$08$lcssa = 0, $lsb = 0, $x$0$ = 0, $x$010 = 0, $x0 = 0, $x1 = 0; - var $y$0$bottom_y$0 = 0, $y$09 = 0, $y0 = 0, $y1 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 80|0; - $f = sp + 24|0; - $advance = sp + 20|0; - $lsb = sp + 16|0; - $x0 = sp + 12|0; - $y0 = sp + 8|0; - $x1 = sp + 4|0; - $y1 = sp; - HEAP32[$f>>2] = 0; - $0 = (_stbtt_InitFont($f,$data,$offset)|0); - $1 = ($0|0)==(0); - if ($1) { - $$0 = -1; - STACKTOP = sp;return ($$0|0); - } - $2 = Math_imul($ph, $pw)|0; - _memset(($pixels|0),0,($2|0))|0; - $3 = (+_stbtt_ScaleForPixelHeight($f,$pixel_height)); - $4 = ($num_chars|0)>(0); - if ($4) { - $bottom_y$07 = 1;$i$08 = 0;$x$010 = 1;$y$09 = 1; - } else { - $$0 = 1; - STACKTOP = sp;return ($$0|0); - } - while(1) { - $5 = (($i$08) + ($first_char))|0; - $6 = (_stbtt_FindGlyphIndex($f,$5)|0); - _stbtt_GetGlyphHMetrics($f,$6,$advance,$lsb); - _stbtt_GetGlyphBitmapBox($f,$6,$3,$3,$x0,$y0,$x1,$y1); - $7 = HEAP32[$x1>>2]|0; - $8 = HEAP32[$x0>>2]|0; - $9 = (($7) - ($8))|0; - $10 = HEAP32[$y1>>2]|0; - $11 = HEAP32[$y0>>2]|0; - $12 = (($10) - ($11))|0; - $13 = (($x$010) + 1)|0; - $14 = (($13) + ($9))|0; - $15 = ($14|0)<($pw|0); - $y$0$bottom_y$0 = $15 ? $y$09 : $bottom_y$07; - $x$0$ = $15 ? $x$010 : 1; - $16 = (($y$0$bottom_y$0) + ($12))|0; - $17 = (($16) + 1)|0; - $18 = ($17|0)<($ph|0); - if (!($18)) { - $i$08$lcssa = $i$08; - label = 4; - break; - } - $20 = (($x$0$) + ($9))|0; - $21 = ($20|0)<($pw|0); - if (!($21)) { - label = 6; - break; - } - $22 = ($16|0)<($ph|0); - if (!($22)) { - label = 8; - break; - } - $23 = Math_imul($y$0$bottom_y$0, $pw)|0; - $$sum = (($23) + ($x$0$))|0; - $24 = (($pixels) + ($$sum)|0); - _stbtt_MakeGlyphBitmap($f,$24,$9,$12,$pw,$3,$3,$6); - $25 = $x$0$&65535; - $26 = (($chardata) + (($i$08*20)|0)|0); - HEAP16[$26>>1] = $25; - $27 = $y$0$bottom_y$0&65535; - $28 = (((($chardata) + (($i$08*20)|0)|0)) + 2|0); - HEAP16[$28>>1] = $27; - $29 = $20&65535; - $30 = (((($chardata) + (($i$08*20)|0)|0)) + 4|0); - HEAP16[$30>>1] = $29; - $31 = $16&65535; - $32 = (((($chardata) + (($i$08*20)|0)|0)) + 6|0); - HEAP16[$32>>1] = $31; - $33 = HEAP32[$advance>>2]|0; - $34 = (+($33|0)); - $35 = $3 * $34; - $36 = (((($chardata) + (($i$08*20)|0)|0)) + 16|0); - HEAPF32[$36>>2] = $35; - $37 = HEAP32[$x0>>2]|0; - $38 = (+($37|0)); - $39 = (((($chardata) + (($i$08*20)|0)|0)) + 8|0); - HEAPF32[$39>>2] = $38; - $40 = HEAP32[$y0>>2]|0; - $41 = (+($40|0)); - $42 = (((($chardata) + (($i$08*20)|0)|0)) + 12|0); - HEAPF32[$42>>2] = $41; - $43 = (($20) + 1)|0; - $44 = ($16|0)<($bottom_y$07|0); - $bottom_y$0$ = $44 ? $bottom_y$07 : $17; - $45 = (($i$08) + 1)|0; - $46 = ($45|0)<($num_chars|0); - if ($46) { - $bottom_y$07 = $bottom_y$0$;$i$08 = $45;$x$010 = $43;$y$09 = $y$0$bottom_y$0; - } else { - $$0 = $bottom_y$0$; - label = 10; - break; - } - } - if ((label|0) == 4) { - $19 = (0 - ($i$08$lcssa))|0; - $$0 = $19; - STACKTOP = sp;return ($$0|0); - } - else if ((label|0) == 6) { - ___assert_fail((13450|0),(13336|0),2545,(13460|0)); - // unreachable; - } - else if ((label|0) == 8) { - ___assert_fail((13481|0),(13336|0),2546,(13460|0)); - // unreachable; - } - else if ((label|0) == 10) { - STACKTOP = sp;return ($$0|0); - } - return (0)|0; -} -function _LoadDefaultFont() { - var $$ = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; - var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0; - var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $8 = 0, $9 = 0, $counter$013 = 0, $currentLine$08 = 0, $currentLine$1 = 0, $currentPosX$09 = 0, $currentPosX$1 = 0, $exitcond = 0; - var $i$014 = 0, $i1$012 = 0, $i2$010 = 0, $image = 0, $image$byval_copy1 = 0, $j$011 = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; - $image$byval_copy1 = sp + 44|0; - $vararg_buffer = sp; - $image = sp + 24|0; - $0 = sp + 4|0; - HEAP32[(2740)>>2] = 224; - $1 = (_malloc(65536)|0); - $i$014 = 0; - while(1) { - $2 = (($1) + ($i$014<<2)|0); - $3 = (($i$014) + 1)|0; - $exitcond = ($3|0)==(16384); - HEAP8[$2>>0]=0&255;HEAP8[$2+1>>0]=(0>>8)&255;HEAP8[$2+2>>0]=(0>>16)&255;HEAP8[$2+3>>0]=0>>24; - if ($exitcond) { - $counter$013 = 0;$i1$012 = 0; - break; - } else { - $i$014 = $3; - } - } - while(1) { - $4 = (2760 + ($counter$013<<2)|0); - $5 = HEAP32[$4>>2]|0; - $j$011 = 31; - while(1) { - $6 = 1 << $j$011; - $7 = $5 & $6; - $8 = ($7|0)==(0); - if (!($8)) { - $9 = (($j$011) + ($i1$012))|0; - $10 = (($1) + ($9<<2)|0); - HEAP8[$10>>0]=-1&255;HEAP8[$10+1>>0]=(-1>>8)&255;HEAP8[$10+2>>0]=(-1>>16)&255;HEAP8[$10+3>>0]=-1>>24; - } - $11 = (($j$011) + -1)|0; - $12 = ($j$011|0)>(0); - if ($12) { - $j$011 = $11; - } else { - break; - } - } - $13 = (($counter$013) + 1)|0; - $14 = ($counter$013|0)>(511); - $$ = $14 ? 0 : $13; - $15 = (($i1$012) + 32)|0; - $16 = ($15|0)<(16384); - if ($16) { - $counter$013 = $$;$i1$012 = $15; - } else { - break; - } - } - _LoadImageEx($image,$1,128,128); - _ImageFormat($image,2); - _free($1); - ;HEAP32[$image$byval_copy1>>2]=HEAP32[$image>>2]|0;HEAP32[$image$byval_copy1+4>>2]=HEAP32[$image+4>>2]|0;HEAP32[$image$byval_copy1+8>>2]=HEAP32[$image+8>>2]|0;HEAP32[$image$byval_copy1+12>>2]=HEAP32[$image+12>>2]|0;HEAP32[$image$byval_copy1+16>>2]=HEAP32[$image+16>>2]|0; - _LoadTextureFromImage($0,$image$byval_copy1); - ;HEAP32[2716>>2]=HEAP32[$0>>2]|0;HEAP32[2716+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[2716+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[2716+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[2716+16>>2]=HEAP32[$0+16>>2]|0; - ;HEAP32[$image$byval_copy1>>2]=HEAP32[$image>>2]|0;HEAP32[$image$byval_copy1+4>>2]=HEAP32[$image+4>>2]|0;HEAP32[$image$byval_copy1+8>>2]=HEAP32[$image+8>>2]|0;HEAP32[$image$byval_copy1+12>>2]=HEAP32[$image+12>>2]|0;HEAP32[$image$byval_copy1+16>>2]=HEAP32[$image+16>>2]|0; - _UnloadImage($image$byval_copy1); - $17 = HEAP32[(2740)>>2]|0; - $18 = $17 << 2; - $19 = (_malloc($18)|0); - HEAP32[(2744)>>2] = $19; - $20 = HEAP32[(2740)>>2]|0; - $21 = $20 << 4; - $22 = (_malloc($21)|0); - HEAP32[(2748)>>2] = $22; - $23 = HEAP32[(2740)>>2]|0; - $24 = $23 << 3; - $25 = (_malloc($24)|0); - HEAP32[(2752)>>2] = $25; - $26 = HEAP32[(2740)>>2]|0; - $27 = $26 << 2; - $28 = (_malloc($27)|0); - HEAP32[(2756)>>2] = $28; - $29 = HEAP32[(2740)>>2]|0; - $30 = ($29|0)>(0); - if ($30) { - $currentLine$08 = 0;$currentPosX$09 = 1;$i2$010 = 0; - } else { - $69 = HEAP32[(2748)>>2]|0; - $70 = ((($69)) + 12|0); - $71 = HEAP32[$70>>2]|0; - HEAP32[(2736)>>2] = $71; - $72 = HEAP32[2716>>2]|0; - HEAP32[$vararg_buffer>>2] = $72; - _TraceLog(0,13491,$vararg_buffer); - STACKTOP = sp;return; - } - while(1) { - $31 = (($i2$010) + 32)|0; - $32 = HEAP32[(2744)>>2]|0; - $33 = (($32) + ($i2$010<<2)|0); - HEAP32[$33>>2] = $31; - $34 = HEAP32[(2748)>>2]|0; - $35 = (($34) + ($i2$010<<4)|0); - HEAP32[$35>>2] = $currentPosX$09; - $36 = ($currentLine$08*11)|0; - $37 = (($36) + 1)|0; - $38 = HEAP32[(2748)>>2]|0; - $39 = (((($38) + ($i2$010<<4)|0)) + 4|0); - HEAP32[$39>>2] = $37; - $40 = (4808 + ($i2$010<<2)|0); - $41 = HEAP32[$40>>2]|0; - $42 = HEAP32[(2748)>>2]|0; - $43 = (((($42) + ($i2$010<<4)|0)) + 8|0); - HEAP32[$43>>2] = $41; - $44 = HEAP32[(2748)>>2]|0; - $45 = (((($44) + ($i2$010<<4)|0)) + 12|0); - HEAP32[$45>>2] = 10; - $46 = HEAP32[(2748)>>2]|0; - $47 = (((($46) + ($i2$010<<4)|0)) + 8|0); - $48 = HEAP32[$47>>2]|0; - $49 = (($currentPosX$09) + 1)|0; - $50 = (($49) + ($48))|0; - $51 = HEAP32[(2720)>>2]|0; - $52 = ($50|0)<($51|0); - if ($52) { - $currentLine$1 = $currentLine$08;$currentPosX$1 = $50; - } else { - $53 = (($currentLine$08) + 1)|0; - $54 = HEAP32[$40>>2]|0; - $55 = (($54) + 2)|0; - $56 = (($46) + ($i2$010<<4)|0); - HEAP32[$56>>2] = 1; - $57 = ($53*11)|0; - $58 = (($57) + 1)|0; - $59 = HEAP32[(2748)>>2]|0; - $60 = (((($59) + ($i2$010<<4)|0)) + 4|0); - HEAP32[$60>>2] = $58; - $currentLine$1 = $53;$currentPosX$1 = $55; - } - $61 = HEAP32[(2752)>>2]|0; - $62 = (($61) + ($i2$010<<3)|0); - HEAPF32[$62>>2] = 0.0; - $63 = (((($61) + ($i2$010<<3)|0)) + 4|0); - HEAPF32[$63>>2] = 0.0; - $64 = HEAP32[(2756)>>2]|0; - $65 = (($64) + ($i2$010<<2)|0); - HEAP32[$65>>2] = 0; - $66 = (($i2$010) + 1)|0; - $67 = HEAP32[(2740)>>2]|0; - $68 = ($66|0)<($67|0); - if ($68) { - $currentLine$08 = $currentLine$1;$currentPosX$09 = $currentPosX$1;$i2$010 = $66; - } else { - break; - } - } - $69 = HEAP32[(2748)>>2]|0; - $70 = ((($69)) + 12|0); - $71 = HEAP32[$70>>2]|0; - HEAP32[(2736)>>2] = $71; - $72 = HEAP32[2716>>2]|0; - HEAP32[$vararg_buffer>>2] = $72; - _TraceLog(0,13491,$vararg_buffer); - STACKTOP = sp;return; -} -function _UnloadDefaultFont() { - var $$byval_copy = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $$byval_copy = sp; - ;HEAP32[$$byval_copy>>2]=HEAP32[2716>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[2716+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[2716+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[2716+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[2716+16>>2]|0; - _UnloadTexture($$byval_copy); - $0 = HEAP32[(2744)>>2]|0; - _free($0); - $1 = HEAP32[(2748)>>2]|0; - _free($1); - $2 = HEAP32[(2752)>>2]|0; - _free($2); - $3 = HEAP32[(2756)>>2]|0; - _free($3); - STACKTOP = sp;return; -} -function _GetDefaultFont($agg$result) { - $agg$result = $agg$result|0; - var dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - dest=$agg$result; src=2716; stop=dest+44|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - return; -} -function _LoadSpriteFont($agg$result,$fileName) { - $agg$result = $agg$result|0; - $fileName = $fileName|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; - var $i$01 = 0, $image = 0, $image$byval_copy12 = 0, $spriteFont = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer5 = 0, $vararg_buffer8 = 0, $vararg_ptr4 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 144|0; - $image$byval_copy12 = sp + 112|0; - $vararg_buffer8 = sp + 24|0; - $vararg_buffer5 = sp + 16|0; - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $spriteFont = sp + 28|0; - $image = sp + 92|0; - $0 = sp + 72|0; - $1 = (_GetExtension($fileName)|0); - $2 = (_strcmp($1,13536)|0); - $3 = ($2|0)==(0); - do { - if ($3) { - _LoadRBMF($spriteFont,$fileName); - } else { - $4 = (_GetExtension($fileName)|0); - $5 = (_strcmp($4,13541)|0); - $6 = ($5|0)==(0); - if ($6) { - _LoadTTF($spriteFont,$fileName); - break; - } - $7 = (_GetExtension($fileName)|0); - $8 = (_strcmp($7,13545)|0); - $9 = ($8|0)==(0); - if ($9) { - _LoadBMFont($spriteFont,$fileName); - break; - } - _LoadImage($image,$fileName); - $10 = HEAP32[$image>>2]|0; - $11 = ($10|0)==(0|0); - if ($11) { - HEAP32[$vararg_buffer5>>2] = $fileName; - _TraceLog(2,13626,$vararg_buffer5); - _GetDefaultFont($spriteFont); - } else { - $12 = ((($spriteFont)) + 28|0); - $13 = ((($spriteFont)) + 32|0); - ;HEAP32[$image$byval_copy12>>2]=HEAP32[$image>>2]|0;HEAP32[$image$byval_copy12+4>>2]=HEAP32[$image+4>>2]|0;HEAP32[$image$byval_copy12+8>>2]=HEAP32[$image+8>>2]|0;HEAP32[$image$byval_copy12+12>>2]=HEAP32[$image+12>>2]|0;HEAP32[$image$byval_copy12+16>>2]=HEAP32[$image+16>>2]|0; - $14 = (_ParseImageData($image$byval_copy12,$12,$13)|0); - HEAP32[$vararg_buffer>>2] = $fileName; - _TraceLog(3,13549,$vararg_buffer); - HEAP32[$vararg_buffer1>>2] = $fileName; - $vararg_ptr4 = ((($vararg_buffer1)) + 4|0); - HEAP32[$vararg_ptr4>>2] = $14; - _TraceLog(3,13587,$vararg_buffer1); - $15 = ((($spriteFont)) + 24|0); - HEAP32[$15>>2] = $14; - ;HEAP32[$image$byval_copy12>>2]=HEAP32[$image>>2]|0;HEAP32[$image$byval_copy12+4>>2]=HEAP32[$image+4>>2]|0;HEAP32[$image$byval_copy12+8>>2]=HEAP32[$image+8>>2]|0;HEAP32[$image$byval_copy12+12>>2]=HEAP32[$image+12>>2]|0;HEAP32[$image$byval_copy12+16>>2]=HEAP32[$image+16>>2]|0; - _LoadTextureFromImage($0,$image$byval_copy12); - ;HEAP32[$spriteFont>>2]=HEAP32[$0>>2]|0;HEAP32[$spriteFont+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$spriteFont+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$spriteFont+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$spriteFont+16>>2]=HEAP32[$0+16>>2]|0; - $16 = HEAP32[$13>>2]|0; - $17 = ((($16)) + 12|0); - $18 = HEAP32[$17>>2]|0; - $19 = ((($spriteFont)) + 20|0); - HEAP32[$19>>2] = $18; - $20 = HEAP32[$15>>2]|0; - $21 = $20 << 3; - $22 = (_malloc($21)|0); - $23 = ((($spriteFont)) + 36|0); - HEAP32[$23>>2] = $22; - $24 = HEAP32[$15>>2]|0; - $25 = $24 << 2; - $26 = (_malloc($25)|0); - $27 = ((($spriteFont)) + 40|0); - HEAP32[$27>>2] = $26; - $28 = HEAP32[$15>>2]|0; - $29 = ($28|0)>(0); - if ($29) { - $30 = HEAP32[$23>>2]|0; - $31 = HEAP32[$27>>2]|0; - $32 = HEAP32[$15>>2]|0; - $i$01 = 0; - while(1) { - $33 = (($30) + ($i$01<<3)|0); - HEAPF32[$33>>2] = 0.0; - $34 = (((($30) + ($i$01<<3)|0)) + 4|0); - HEAPF32[$34>>2] = 0.0; - $35 = (($31) + ($i$01<<2)|0); - HEAP32[$35>>2] = 0; - $36 = (($i$01) + 1)|0; - $37 = ($36|0)<($32|0); - if ($37) { - $i$01 = $36; - } else { - break; - } - } - } - } - ;HEAP32[$image$byval_copy12>>2]=HEAP32[$image>>2]|0;HEAP32[$image$byval_copy12+4>>2]=HEAP32[$image+4>>2]|0;HEAP32[$image$byval_copy12+8>>2]=HEAP32[$image+8>>2]|0;HEAP32[$image$byval_copy12+12>>2]=HEAP32[$image+12>>2]|0;HEAP32[$image$byval_copy12+16>>2]=HEAP32[$image+16>>2]|0; - _UnloadImage($image$byval_copy12); - } - } while(0); - $38 = HEAP32[$spriteFont>>2]|0; - $39 = ($38|0)==(0); - if (!($39)) { - dest=$agg$result; src=$spriteFont; stop=dest+44|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; - } - HEAP32[$vararg_buffer8>>2] = $fileName; - _TraceLog(2,13626,$vararg_buffer8); - _GetDefaultFont($spriteFont); - dest=$agg$result; src=$spriteFont; stop=dest+44|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; -} -function _UnloadSpriteFont($spriteFont) { - $spriteFont = $spriteFont|0; - var $$byval_copy = 0, $0 = 0, $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $$byval_copy = sp + 4|0; - $vararg_buffer = sp; - $0 = HEAP32[$spriteFont>>2]|0; - $1 = HEAP32[2716>>2]|0; - $2 = ($0|0)==($1|0); - if ($2) { - STACKTOP = sp;return; - } - ;HEAP32[$$byval_copy>>2]=HEAP32[$spriteFont>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$spriteFont+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$spriteFont+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$spriteFont+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$spriteFont+16>>2]|0; - _UnloadTexture($$byval_copy); - $3 = ((($spriteFont)) + 28|0); - $4 = HEAP32[$3>>2]|0; - _free($4); - $5 = ((($spriteFont)) + 32|0); - $6 = HEAP32[$5>>2]|0; - _free($6); - $7 = ((($spriteFont)) + 36|0); - $8 = HEAP32[$7>>2]|0; - _free($8); - $9 = ((($spriteFont)) + 40|0); - $10 = HEAP32[$9>>2]|0; - _free($10); - _TraceLog(0,13682,$vararg_buffer); - STACKTOP = sp;return; -} -function _DrawText($text,$posX,$posY,$fontSize,$color) { - $text = $text|0; - $posX = $posX|0; - $posY = $posY|0; - $fontSize = $fontSize|0; - $color = $color|0; - var $$fontSize = 0, $0 = 0.0, $1 = 0, $2 = 0.0, $3 = 0, $4 = 0, $color$byval_copy = 0, $defaultFont$byval_copy = 0, $position = 0, $position$byval_copy = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 80|0; - $color$byval_copy = sp + 64|0; - $position$byval_copy = sp + 56|0; - $defaultFont$byval_copy = sp + 8|0; - $position = sp; - $0 = (+($posX|0)); - HEAPF32[$position>>2] = $0; - $1 = ((($position)) + 4|0); - $2 = (+($posY|0)); - HEAPF32[$1>>2] = $2; - $3 = ($fontSize|0)<(10); - $$fontSize = $3 ? 10 : $fontSize; - $4 = (($$fontSize|0) / 10)&-1; - dest=$defaultFont$byval_copy; src=2716; stop=dest+44|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - ;HEAP32[$position$byval_copy>>2]=HEAP32[$position>>2]|0;HEAP32[$position$byval_copy+4>>2]=HEAP32[$position+4>>2]|0; - ;HEAP8[$color$byval_copy>>0]=HEAP8[$color>>0]|0;HEAP8[$color$byval_copy+1>>0]=HEAP8[$color+1>>0]|0;HEAP8[$color$byval_copy+2>>0]=HEAP8[$color+2>>0]|0;HEAP8[$color$byval_copy+3>>0]=HEAP8[$color+3>>0]|0; - _DrawTextEx($defaultFont$byval_copy,$text,$position$byval_copy,$$fontSize,$4,$color$byval_copy); - STACKTOP = sp;return; -} -function _DrawTextEx($spriteFont,$text,$position,$fontSize,$spacing,$tint) { - $spriteFont = $spriteFont|0; - $text = $text|0; - $position = $position|0; - $fontSize = $fontSize|0; - $spacing = $spacing|0; - $tint = $tint|0; - var $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $$pr = 0, $0 = 0, $1 = 0, $10 = 0.0, $100 = 0, $11 = 0, $12 = 0, $13 = 0.0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0.0; - var $22 = 0.0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0.0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0; - var $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0.0, $45 = 0.0, $46 = 0.0, $47 = 0.0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0.0, $55 = 0.0, $56 = 0, $57 = 0, $58 = 0; - var $59 = 0, $6 = 0.0, $60 = 0, $61 = 0, $62 = 0.0, $63 = 0.0, $64 = 0.0, $65 = 0, $66 = 0.0, $67 = 0.0, $68 = 0, $69 = 0.0, $7 = 0.0, $70 = 0.0, $71 = 0.0, $72 = 0, $73 = 0, $74 = 0.0, $75 = 0.0, $76 = 0; - var $77 = 0, $78 = 0.0, $79 = 0.0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0.0, $9 = 0, $90 = 0.0, $91 = 0.0, $92 = 0.0, $93 = 0, $94 = 0.0; - var $95 = 0.0, $96 = 0.0, $97 = 0.0, $98 = 0, $99 = 0, $i$03 = 0, $i$1$ph = 0, $i$16 = 0, $rec = 0, $rec$byval_copy = 0, $textOffsetX$05 = 0, $textOffsetX$2 = 0, $textOffsetY$04 = 0, $textOffsetY$17 = 0, $tint$byval_copy = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 112|0; - $tint$byval_copy = sp + 104|0; - $$byval_copy2 = sp + 96|0; - $$byval_copy1 = sp + 80|0; - $rec$byval_copy = sp + 64|0; - $$byval_copy = sp + 40|0; - $rec = sp + 24|0; - $0 = sp + 8|0; - $1 = sp; - $2 = (_strlen($text)|0); - $3 = (+($fontSize|0)); - $4 = ((($spriteFont)) + 20|0); - $5 = HEAP32[$4>>2]|0; - $6 = (+($5|0)); - $7 = $3 / $6; - $8 = ($2|0)>(0); - if (!($8)) { - STACKTOP = sp;return; - } - $9 = ((($spriteFont)) + 32|0); - $10 = +HEAPF32[$position>>2]; - $11 = ((($spriteFont)) + 36|0); - $12 = ((($position)) + 4|0); - $13 = +HEAPF32[$12>>2]; - $14 = ((($rec)) + 8|0); - $15 = ((($rec)) + 12|0); - $16 = ((($0)) + 4|0); - $17 = ((($0)) + 8|0); - $18 = ((($0)) + 12|0); - $19 = ((($1)) + 4|0); - $20 = ((($spriteFont)) + 40|0); - $21 = (+($spacing|0)); - $22 = (+($spacing|0)); - $23 = ((($spriteFont)) + 32|0); - $24 = ((($spriteFont)) + 32|0); - $i$03 = 0;$textOffsetX$05 = 0;$textOffsetY$04 = 0; - while(1) { - $25 = (($text) + ($i$03)|0); - $26 = HEAP8[$25>>0]|0; - switch ($26<<24>>24) { - case -62: { - $27 = (($i$03) + 1)|0; - $28 = (($text) + ($27)|0); - $29 = HEAP8[$28>>0]|0; - $30 = $29&255; - $31 = (($30) + -32)|0; - $32 = HEAP32[$23>>2]|0; - $33 = (($32) + ($31<<4)|0); - ;HEAP32[$rec>>2]=HEAP32[$33>>2]|0;HEAP32[$rec+4>>2]=HEAP32[$33+4>>2]|0;HEAP32[$rec+8>>2]=HEAP32[$33+8>>2]|0;HEAP32[$rec+12>>2]=HEAP32[$33+12>>2]|0; - $i$1$ph = $27; - label = 8; - break; - } - case -61: { - $34 = (($i$03) + 1)|0; - $35 = (($text) + ($34)|0); - $36 = HEAP8[$35>>0]|0; - $37 = $36&255; - $38 = (($37) + 32)|0; - $39 = HEAP32[$24>>2]|0; - $40 = (($39) + ($38<<4)|0); - ;HEAP32[$rec>>2]=HEAP32[$40>>2]|0;HEAP32[$rec+4>>2]=HEAP32[$40+4>>2]|0;HEAP32[$rec+8>>2]=HEAP32[$40+8>>2]|0;HEAP32[$rec+12>>2]=HEAP32[$40+12>>2]|0; - $i$1$ph = $34; - label = 8; - break; - } - case 10: { - $41 = HEAP32[$4>>2]|0; - $42 = (($41|0) / 2)&-1; - $43 = (($42) + ($41))|0; - $44 = (+($43|0)); - $45 = $7 * $44; - $46 = (+($textOffsetY$04|0)); - $47 = $46 + $45; - $48 = (~~(($47))); - HEAP32[$rec>>2] = -1; - $i$16 = $i$03;$textOffsetX$2 = 0;$textOffsetY$17 = $48; - break; - } - default: { - $49 = $26 << 24 >> 24; - $50 = (($49) + -32)|0; - $51 = HEAP32[$9>>2]|0; - $52 = (($51) + ($50<<4)|0); - ;HEAP32[$rec>>2]=HEAP32[$52>>2]|0;HEAP32[$rec+4>>2]=HEAP32[$52+4>>2]|0;HEAP32[$rec+8>>2]=HEAP32[$52+8>>2]|0;HEAP32[$rec+12>>2]=HEAP32[$52+12>>2]|0; - $i$1$ph = $i$03; - label = 8; - } - } - do { - if ((label|0) == 8) { - label = 0; - $$pr = HEAP32[$rec>>2]|0; - $53 = ($$pr|0)>(0); - if ($53) { - $54 = (+($textOffsetX$05|0)); - $55 = $54 + $10; - $56 = (($text) + ($i$1$ph)|0); - $57 = HEAP8[$56>>0]|0; - $58 = $57 << 24 >> 24; - $59 = (($58) + -32)|0; - $60 = HEAP32[$11>>2]|0; - $61 = (($60) + ($59<<3)|0); - $62 = +HEAPF32[$61>>2]; - $63 = $7 * $62; - $64 = $55 + $63; - $65 = (~~(($64))); - $66 = (+($textOffsetY$04|0)); - $67 = $66 + $13; - $68 = (((($60) + ($59<<3)|0)) + 4|0); - $69 = +HEAPF32[$68>>2]; - $70 = $7 * $69; - $71 = $67 + $70; - $72 = (~~(($71))); - $73 = HEAP32[$14>>2]|0; - $74 = (+($73|0)); - $75 = $7 * $74; - $76 = (~~(($75))); - $77 = HEAP32[$15>>2]|0; - $78 = (+($77|0)); - $79 = $7 * $78; - $80 = (~~(($79))); - HEAP32[$0>>2] = $65; - HEAP32[$16>>2] = $72; - HEAP32[$17>>2] = $76; - HEAP32[$18>>2] = $80; - HEAPF32[$1>>2] = 0.0; - HEAPF32[$19>>2] = 0.0; - ;HEAP32[$$byval_copy>>2]=HEAP32[$spriteFont>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$spriteFont+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$spriteFont+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$spriteFont+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$spriteFont+16>>2]|0; - ;HEAP32[$rec$byval_copy>>2]=HEAP32[$rec>>2]|0;HEAP32[$rec$byval_copy+4>>2]=HEAP32[$rec+4>>2]|0;HEAP32[$rec$byval_copy+8>>2]=HEAP32[$rec+8>>2]|0;HEAP32[$rec$byval_copy+12>>2]=HEAP32[$rec+12>>2]|0; - ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0; - ;HEAP32[$$byval_copy2>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$1+4>>2]|0; - ;HEAP8[$tint$byval_copy>>0]=HEAP8[$tint>>0]|0;HEAP8[$tint$byval_copy+1>>0]=HEAP8[$tint+1>>0]|0;HEAP8[$tint$byval_copy+2>>0]=HEAP8[$tint+2>>0]|0;HEAP8[$tint$byval_copy+3>>0]=HEAP8[$tint+3>>0]|0; - _DrawTexturePro($$byval_copy,$rec$byval_copy,$$byval_copy1,$$byval_copy2,0.0,$tint$byval_copy); - $81 = HEAP8[$56>>0]|0; - $82 = $81 << 24 >> 24; - $83 = (($82) + -32)|0; - $84 = HEAP32[$20>>2]|0; - $85 = (($84) + ($83<<2)|0); - $86 = HEAP32[$85>>2]|0; - $87 = ($86|0)==(0); - if ($87) { - $88 = HEAP32[$14>>2]|0; - $89 = (+($88|0)); - $90 = $7 * $89; - $91 = $21 + $90; - $92 = $54 + $91; - $93 = (~~(($92))); - $i$16 = $i$1$ph;$textOffsetX$2 = $93;$textOffsetY$17 = $textOffsetY$04; - break; - } else { - $94 = (+($86|0)); - $95 = $7 * $94; - $96 = $22 + $95; - $97 = $54 + $96; - $98 = (~~(($97))); - $i$16 = $i$1$ph;$textOffsetX$2 = $98;$textOffsetY$17 = $textOffsetY$04; - break; - } - } else { - $i$16 = $i$1$ph;$textOffsetX$2 = $textOffsetX$05;$textOffsetY$17 = $textOffsetY$04; - } - } - } while(0); - $99 = (($i$16) + 1)|0; - $100 = ($99|0)<($2|0); - if ($100) { - $i$03 = $99;$textOffsetX$05 = $textOffsetX$2;$textOffsetY$04 = $textOffsetY$17; - } else { - break; - } - } - STACKTOP = sp;return; -} -function _FormatText($text,$varargs) { - $text = $text|0; - $varargs = $varargs|0; - var $args = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $args = sp; - HEAP32[$args>>2] = $varargs; - (_vsprintf(13708,$text,$args)|0); - STACKTOP = sp;return (13708|0); -} -function _stbi_load($filename,$x,$y,$comp,$req_comp) { - $filename = $filename|0; - $x = $x|0; - $y = $y|0; - $comp = $comp|0; - $req_comp = $req_comp|0; - var $$0 = 0, $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_stbi__fopen($filename)|0); - $1 = ($0|0)==(0|0); - if ($1) { - _stbi__err(13772); - $$0 = 0; - return ($$0|0); - } else { - $2 = (_stbi_load_from_file($0,$x,$y,$comp,$req_comp)|0); - (_fclose($0)|0); - $$0 = $2; - return ($$0|0); - } - return (0)|0; -} -function _stbi_load_from_file($f,$x,$y,$comp,$req_comp) { - $f = $f|0; - $x = $x|0; - $y = $y|0; - $comp = $comp|0; - $req_comp = $req_comp|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $s = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 192|0; - $s = sp; - _stbi__start_file($s,$f); - $0 = (_stbi__load_flip($s,$x,$y,$comp,$req_comp)|0); - $1 = ($0|0)==(0|0); - if ($1) { - STACKTOP = sp;return ($0|0); - } - $2 = ((($s)) + 172|0); - $3 = HEAP32[$2>>2]|0; - $4 = ((($s)) + 168|0); - $5 = HEAP32[$4>>2]|0; - $6 = $3; - $7 = $5; - $8 = (($7) - ($6))|0; - (_fseek($f,$8,1)|0); - STACKTOP = sp;return ($0|0); -} -function _stbi_zlib_decode_malloc_guesssize_headerflag($buffer,$len,$initial_size,$outlen,$parse_header) { - $buffer = $buffer|0; - $len = $len|0; - $initial_size = $initial_size|0; - $outlen = $outlen|0; - $parse_header = $parse_header|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $a = 0; - var label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 4080|0; - $a = sp; - $0 = (_stbi__malloc($initial_size)|0); - $1 = ($0|0)==(0|0); - if ($1) { - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - HEAP32[$a>>2] = $buffer; - $2 = (($buffer) + ($len)|0); - $3 = ((($a)) + 4|0); - HEAP32[$3>>2] = $2; - $4 = (_stbi__do_zlib($a,$0,$initial_size,1,$parse_header)|0); - $5 = ($4|0)==(0); - if ($5) { - $16 = ((($a)) + 20|0); - $17 = HEAP32[$16>>2]|0; - _free($17); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $6 = ($outlen|0)==(0|0); - if (!($6)) { - $7 = ((($a)) + 16|0); - $8 = HEAP32[$7>>2]|0; - $9 = ((($a)) + 20|0); - $10 = HEAP32[$9>>2]|0; - $11 = $8; - $12 = $10; - $13 = (($11) - ($12))|0; - HEAP32[$outlen>>2] = $13; - } - $14 = ((($a)) + 20|0); - $15 = HEAP32[$14>>2]|0; - $$0 = $15; - STACKTOP = sp;return ($$0|0); -} -function _stbi__tga_read_rgb16($s,$out) { - $s = $s|0; - $out = $out|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_stbi__get16le($s)|0); - $1 = $0 >>> 10; - $2 = $1 & 31; - $3 = $0 >>> 5; - $4 = $3 & 31; - $5 = $0 & 31; - $6 = ($2*255)|0; - $7 = (($6>>>0) / 31)&-1; - $8 = $7&255; - HEAP8[$out>>0] = $8; - $9 = ($4*255)|0; - $10 = (($9>>>0) / 31)&-1; - $11 = $10&255; - $12 = ((($out)) + 1|0); - HEAP8[$12>>0] = $11; - $13 = ($5*255)|0; - $14 = (($13>>>0) / 31)&-1; - $15 = $14&255; - $16 = ((($out)) + 2|0); - HEAP8[$16>>0] = $15; - return; -} -function _LoadImage($agg$result,$fileName) { - $agg$result = $agg$result|0; - $fileName = $fileName|0; - var $$ = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; - var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0; - var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0; - var $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $image$sroa$0$0 = 0, $image$sroa$0$09 = 0, $image$sroa$12$0 = 0; - var $image$sroa$12$05 = 0, $image$sroa$12$06 = 0, $image$sroa$15$0 = 0, $image$sroa$15$03 = 0, $image$sroa$15$04 = 0, $image$sroa$17$0 = 0, $image$sroa$17$01 = 0, $image$sroa$17$02 = 0, $image$sroa$9$0 = 0, $image$sroa$9$07 = 0, $image$sroa$9$08 = 0, $imgBpp = 0, $imgHeight = 0, $imgWidth = 0, $vararg_buffer = 0, $vararg_buffer3 = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 144|0; - $vararg_buffer3 = sp + 16|0; - $vararg_buffer = sp; - $imgWidth = sp + 128|0; - $imgHeight = sp + 124|0; - $imgBpp = sp + 120|0; - $0 = sp + 100|0; - $1 = sp + 80|0; - $2 = sp + 60|0; - $3 = sp + 40|0; - $4 = sp + 20|0; - $5 = (_GetExtension($fileName)|0); - $6 = (_strcmp($5,13784)|0); - $7 = ($6|0)==(0); - do { - if ($7) { - label = 8; - } else { - $8 = (_GetExtension($fileName)|0); - $9 = (_strcmp($8,13788)|0); - $10 = ($9|0)==(0); - if ($10) { - label = 8; - } else { - $11 = (_GetExtension($fileName)|0); - $12 = (_strcmp($11,13792)|0); - $13 = ($12|0)==(0); - if ($13) { - label = 8; - } else { - $14 = (_GetExtension($fileName)|0); - $15 = (_strcmp($14,13796)|0); - $16 = ($15|0)==(0); - if ($16) { - label = 8; - } else { - $17 = (_GetExtension($fileName)|0); - $18 = (_strcmp($17,13800)|0); - $19 = ($18|0)==(0); - if ($19) { - label = 8; - } else { - $20 = (_GetExtension($fileName)|0); - $21 = (_strcmp($20,13804)|0); - $22 = ($21|0)==(0); - if ($22) { - label = 8; - } else { - $23 = (_GetExtension($fileName)|0); - $24 = (_strcmp($23,13808)|0); - $25 = ($24|0)==(0); - if ($25) { - label = 8; - } else { - $31 = (_GetExtension($fileName)|0); - $32 = (_strcmp($31,13812)|0); - $33 = ($32|0)==(0); - if ($33) { - _LoadDDS($0,$fileName); - $34 = HEAP32[$0>>2]|0; - $35 = ((($0)) + 4|0); - $36 = HEAP32[$35>>2]|0; - $37 = ((($0)) + 8|0); - $38 = HEAP32[$37>>2]|0; - $39 = ((($0)) + 12|0); - $40 = HEAP32[$39>>2]|0; - $41 = ((($0)) + 16|0); - $42 = HEAP32[$41>>2]|0; - $image$sroa$0$0 = $34;$image$sroa$12$0 = $38;$image$sroa$15$0 = $40;$image$sroa$17$0 = $42;$image$sroa$9$0 = $36; - label = 22; - break; - } - $43 = (_GetExtension($fileName)|0); - $44 = (_strcmp($43,13816)|0); - $45 = ($44|0)==(0); - if ($45) { - _LoadPKM($1,$fileName); - $46 = HEAP32[$1>>2]|0; - $47 = ((($1)) + 4|0); - $48 = HEAP32[$47>>2]|0; - $49 = ((($1)) + 8|0); - $50 = HEAP32[$49>>2]|0; - $51 = ((($1)) + 12|0); - $52 = HEAP32[$51>>2]|0; - $53 = ((($1)) + 16|0); - $54 = HEAP32[$53>>2]|0; - $image$sroa$0$0 = $46;$image$sroa$12$0 = $50;$image$sroa$15$0 = $52;$image$sroa$17$0 = $54;$image$sroa$9$0 = $48; - label = 22; - break; - } - $55 = (_GetExtension($fileName)|0); - $56 = (_strcmp($55,13820)|0); - $57 = ($56|0)==(0); - if ($57) { - _LoadKTX($2,$fileName); - $58 = HEAP32[$2>>2]|0; - $59 = ((($2)) + 4|0); - $60 = HEAP32[$59>>2]|0; - $61 = ((($2)) + 8|0); - $62 = HEAP32[$61>>2]|0; - $63 = ((($2)) + 12|0); - $64 = HEAP32[$63>>2]|0; - $65 = ((($2)) + 16|0); - $66 = HEAP32[$65>>2]|0; - $image$sroa$0$0 = $58;$image$sroa$12$0 = $62;$image$sroa$15$0 = $64;$image$sroa$17$0 = $66;$image$sroa$9$0 = $60; - label = 22; - break; - } - $67 = (_GetExtension($fileName)|0); - $68 = (_strcmp($67,13824)|0); - $69 = ($68|0)==(0); - if ($69) { - _LoadPVR($3,$fileName); - $70 = HEAP32[$3>>2]|0; - $71 = ((($3)) + 4|0); - $72 = HEAP32[$71>>2]|0; - $73 = ((($3)) + 8|0); - $74 = HEAP32[$73>>2]|0; - $75 = ((($3)) + 12|0); - $76 = HEAP32[$75>>2]|0; - $77 = ((($3)) + 16|0); - $78 = HEAP32[$77>>2]|0; - $image$sroa$0$0 = $70;$image$sroa$12$0 = $74;$image$sroa$15$0 = $76;$image$sroa$17$0 = $78;$image$sroa$9$0 = $72; - label = 22; - break; - } - $79 = (_GetExtension($fileName)|0); - $80 = (_strcmp($79,13828)|0); - $81 = ($80|0)==(0); - if ($81) { - _LoadASTC($4,$fileName); - $82 = HEAP32[$4>>2]|0; - $83 = ((($4)) + 4|0); - $84 = HEAP32[$83>>2]|0; - $85 = ((($4)) + 8|0); - $86 = HEAP32[$85>>2]|0; - $87 = ((($4)) + 12|0); - $88 = HEAP32[$87>>2]|0; - $89 = ((($4)) + 16|0); - $90 = HEAP32[$89>>2]|0; - $image$sroa$0$0 = $82;$image$sroa$12$0 = $86;$image$sroa$15$0 = $88;$image$sroa$17$0 = $90;$image$sroa$9$0 = $84; - label = 22; - } else { - $image$sroa$12$06 = 0;$image$sroa$15$04 = 0;$image$sroa$17$02 = 0;$image$sroa$9$08 = 0; - } - } - } - } - } - } - } - } - } while(0); - L22: do { - if ((label|0) == 8) { - HEAP32[$imgWidth>>2] = 0; - HEAP32[$imgHeight>>2] = 0; - HEAP32[$imgBpp>>2] = 0; - $26 = (_stbi_load($fileName,$imgWidth,$imgHeight,$imgBpp,0)|0); - $27 = HEAP32[$imgWidth>>2]|0; - $28 = HEAP32[$imgHeight>>2]|0; - $29 = HEAP32[$imgBpp>>2]|0; - switch ($29|0) { - case 1: { - $image$sroa$0$0 = $26;$image$sroa$12$0 = $28;$image$sroa$15$0 = 1;$image$sroa$17$0 = 1;$image$sroa$9$0 = $27; - label = 22; - break L22; - break; - } - case 2: { - $image$sroa$0$0 = $26;$image$sroa$12$0 = $28;$image$sroa$15$0 = 1;$image$sroa$17$0 = 2;$image$sroa$9$0 = $27; - label = 22; - break L22; - break; - } - case 3: { - $image$sroa$0$0 = $26;$image$sroa$12$0 = $28;$image$sroa$15$0 = 1;$image$sroa$17$0 = 4;$image$sroa$9$0 = $27; - label = 22; - break L22; - break; - } - default: { - $30 = ($29|0)==(4); - $$ = $30 ? 7 : 0; - $image$sroa$0$0 = $26;$image$sroa$12$0 = $28;$image$sroa$15$0 = 1;$image$sroa$17$0 = $$;$image$sroa$9$0 = $27; - label = 22; - break L22; - } - } - } - } while(0); - if ((label|0) == 22) { - $91 = ($image$sroa$0$0|0)==(0|0); - if ($91) { - $image$sroa$12$06 = $image$sroa$12$0;$image$sroa$15$04 = $image$sroa$15$0;$image$sroa$17$02 = $image$sroa$17$0;$image$sroa$9$08 = $image$sroa$9$0; - } else { - HEAP32[$vararg_buffer>>2] = $fileName; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = $image$sroa$9$0; - $vararg_ptr2 = ((($vararg_buffer)) + 8|0); - HEAP32[$vararg_ptr2>>2] = $image$sroa$12$0; - _TraceLog(0,13833,$vararg_buffer); - $image$sroa$0$09 = $image$sroa$0$0;$image$sroa$12$05 = $image$sroa$12$0;$image$sroa$15$03 = $image$sroa$15$0;$image$sroa$17$01 = $image$sroa$17$0;$image$sroa$9$07 = $image$sroa$9$0; - HEAP32[$agg$result>>2] = $image$sroa$0$09; - $92 = ((($agg$result)) + 4|0); - HEAP32[$92>>2] = $image$sroa$9$07; - $93 = ((($agg$result)) + 8|0); - HEAP32[$93>>2] = $image$sroa$12$05; - $94 = ((($agg$result)) + 12|0); - HEAP32[$94>>2] = $image$sroa$15$03; - $95 = ((($agg$result)) + 16|0); - HEAP32[$95>>2] = $image$sroa$17$01; - STACKTOP = sp;return; - } - } - HEAP32[$vararg_buffer3>>2] = $fileName; - _TraceLog(2,13872,$vararg_buffer3); - $image$sroa$0$09 = 0;$image$sroa$12$05 = $image$sroa$12$06;$image$sroa$15$03 = $image$sroa$15$04;$image$sroa$17$01 = $image$sroa$17$02;$image$sroa$9$07 = $image$sroa$9$08; - HEAP32[$agg$result>>2] = $image$sroa$0$09; - $92 = ((($agg$result)) + 4|0); - HEAP32[$92>>2] = $image$sroa$9$07; - $93 = ((($agg$result)) + 8|0); - HEAP32[$93>>2] = $image$sroa$12$05; - $94 = ((($agg$result)) + 12|0); - HEAP32[$94>>2] = $image$sroa$15$03; - $95 = ((($agg$result)) + 16|0); - HEAP32[$95>>2] = $image$sroa$17$01; - STACKTOP = sp;return; -} -function _LoadImageEx($agg$result,$pixels,$width,$height) { - $agg$result = $agg$result|0; - $pixels = $pixels|0; - $width = $width|0; - $height = $height|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $i$02 = 0, $k$01 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = $width << 2; - $1 = Math_imul($0, $height)|0; - $2 = (_malloc($1)|0); - $3 = ($1|0)>(0); - if ($3) { - $4 = Math_imul($height, $width)|0; - $5 = $4 << 2; - $6 = (($5) + -1)|0; - $7 = $6 >>> 2; - $i$02 = 0;$k$01 = 0; - while(1) { - $8 = (($pixels) + ($k$01<<2)|0); - $9 = HEAP8[$8>>0]|0; - $10 = (($2) + ($i$02)|0); - HEAP8[$10>>0] = $9; - $11 = (((($pixels) + ($k$01<<2)|0)) + 1|0); - $12 = HEAP8[$11>>0]|0; - $13 = $i$02 | 1; - $14 = (($2) + ($13)|0); - HEAP8[$14>>0] = $12; - $15 = (((($pixels) + ($k$01<<2)|0)) + 2|0); - $16 = HEAP8[$15>>0]|0; - $17 = $i$02 | 2; - $18 = (($2) + ($17)|0); - HEAP8[$18>>0] = $16; - $19 = (((($pixels) + ($k$01<<2)|0)) + 3|0); - $20 = HEAP8[$19>>0]|0; - $21 = $i$02 | 3; - $22 = (($2) + ($21)|0); - HEAP8[$22>>0] = $20; - $23 = (($k$01) + 1)|0; - $24 = (($i$02) + 4)|0; - $exitcond = ($k$01|0)==($7|0); - if ($exitcond) { - break; - } else { - $i$02 = $24;$k$01 = $23; - } - } - } - HEAP32[$agg$result>>2] = $2; - $25 = ((($agg$result)) + 4|0); - HEAP32[$25>>2] = $width; - $26 = ((($agg$result)) + 8|0); - HEAP32[$26>>2] = $height; - $27 = ((($agg$result)) + 12|0); - HEAP32[$27>>2] = 1; - $28 = ((($agg$result)) + 16|0); - HEAP32[$28>>2] = 7; - return; -} -function _LoadTexture($agg$result,$fileName) { - $agg$result = $agg$result|0; - $fileName = $fileName|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $image = 0, $image$byval_copy1 = 0, $texture$sroa$0$0 = 0, $texture$sroa$3 = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 96|0; - $image$byval_copy1 = sp + 64|0; - $vararg_buffer = sp; - $texture$sroa$3 = sp + 8|0; - $image = sp + 44|0; - $0 = sp + 24|0; - _LoadImage($image,$fileName); - $1 = HEAP32[$image>>2]|0; - $2 = ($1|0)==(0|0); - if ($2) { - _TraceLog(2,13924,$vararg_buffer); - $texture$sroa$0$0 = 0; - } else { - ;HEAP32[$image$byval_copy1>>2]=HEAP32[$image>>2]|0;HEAP32[$image$byval_copy1+4>>2]=HEAP32[$image+4>>2]|0;HEAP32[$image$byval_copy1+8>>2]=HEAP32[$image+8>>2]|0;HEAP32[$image$byval_copy1+12>>2]=HEAP32[$image+12>>2]|0;HEAP32[$image$byval_copy1+16>>2]=HEAP32[$image+16>>2]|0; - _LoadTextureFromImage($0,$image$byval_copy1); - $3 = HEAP32[$0>>2]|0; - $4 = ((($0)) + 4|0); - ;HEAP32[$texture$sroa$3>>2]=HEAP32[$4>>2]|0;HEAP32[$texture$sroa$3+4>>2]=HEAP32[$4+4>>2]|0;HEAP32[$texture$sroa$3+8>>2]=HEAP32[$4+8>>2]|0;HEAP32[$texture$sroa$3+12>>2]=HEAP32[$4+12>>2]|0; - ;HEAP32[$image$byval_copy1>>2]=HEAP32[$image>>2]|0;HEAP32[$image$byval_copy1+4>>2]=HEAP32[$image+4>>2]|0;HEAP32[$image$byval_copy1+8>>2]=HEAP32[$image+8>>2]|0;HEAP32[$image$byval_copy1+12>>2]=HEAP32[$image+12>>2]|0;HEAP32[$image$byval_copy1+16>>2]=HEAP32[$image+16>>2]|0; - _UnloadImage($image$byval_copy1); - $texture$sroa$0$0 = $3; - } - HEAP32[$agg$result>>2] = $texture$sroa$0$0; - $5 = ((($agg$result)) + 4|0); - ;HEAP32[$5>>2]=HEAP32[$texture$sroa$3>>2]|0;HEAP32[$5+4>>2]=HEAP32[$texture$sroa$3+4>>2]|0;HEAP32[$5+8>>2]=HEAP32[$texture$sroa$3+8>>2]|0;HEAP32[$5+12>>2]=HEAP32[$texture$sroa$3+12>>2]|0; - STACKTOP = sp;return; -} -function _LoadTextureFromImage($agg$result,$image) { - $agg$result = $agg$result|0; - $image = $image|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[$image>>2]|0; - $1 = ((($image)) + 4|0); - $2 = HEAP32[$1>>2]|0; - $3 = ((($image)) + 8|0); - $4 = HEAP32[$3>>2]|0; - $5 = ((($image)) + 16|0); - $6 = HEAP32[$5>>2]|0; - $7 = ((($image)) + 12|0); - $8 = HEAP32[$7>>2]|0; - $9 = (_rlglLoadTexture($0,$2,$4,$6,$8)|0); - $10 = HEAP32[$1>>2]|0; - $11 = HEAP32[$3>>2]|0; - $12 = HEAP32[$7>>2]|0; - $13 = HEAP32[$5>>2]|0; - HEAP32[$agg$result>>2] = $9; - $14 = ((($agg$result)) + 4|0); - HEAP32[$14>>2] = $10; - $15 = ((($agg$result)) + 8|0); - HEAP32[$15>>2] = $11; - $16 = ((($agg$result)) + 12|0); - HEAP32[$16>>2] = $12; - $17 = ((($agg$result)) + 16|0); - HEAP32[$17>>2] = $13; - return; -} -function _UnloadImage($image) { - $image = $image|0; - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[$image>>2]|0; - _free($0); - return; -} -function _UnloadTexture($texture) { - $texture = $texture|0; - var $0 = 0, $1 = 0, $2 = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $vararg_buffer = sp; - $0 = HEAP32[$texture>>2]|0; - $1 = ($0|0)==(0); - if ($1) { - STACKTOP = sp;return; - } - _rlDeleteTextures($0); - $2 = HEAP32[$texture>>2]|0; - HEAP32[$vararg_buffer>>2] = $2; - _TraceLog(0,13953,$vararg_buffer); - STACKTOP = sp;return; -} -function _GetImageData($image) { - $image = $image|0; - var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0.0, $105 = 0.0, $106 = 0, $107 = 0, $108 = 0, $109 = 0.0, $11 = 0, $110 = 0.0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0; - var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0; - var $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0.0, $47 = 0.0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0.0, $53 = 0.0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0.0; - var $59 = 0.0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0.0, $72 = 0.0, $73 = 0, $74 = 0, $75 = 0, $76 = 0; - var $77 = 0.0, $78 = 0.0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0.0, $83 = 0.0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0.0, $93 = 0.0, $94 = 0; - var $95 = 0, $96 = 0, $97 = 0, $98 = 0.0, $99 = 0.0, $i$01 = 0, $k$02 = 0, $k$1 = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $vararg_buffer = sp; - $0 = ((($image)) + 4|0); - $1 = HEAP32[$0>>2]|0; - $2 = ((($image)) + 8|0); - $3 = HEAP32[$2>>2]|0; - $4 = $1 << 2; - $5 = Math_imul($4, $3)|0; - $6 = (_malloc($5)|0); - $7 = HEAP32[$0>>2]|0; - $8 = HEAP32[$2>>2]|0; - $9 = Math_imul($8, $7)|0; - $10 = ($9|0)>(0); - if (!($10)) { - STACKTOP = sp;return ($6|0); - } - $11 = ((($image)) + 16|0); - $12 = HEAP32[$11>>2]|0; - $13 = HEAP32[$0>>2]|0; - $14 = HEAP32[$2>>2]|0; - $15 = Math_imul($14, $13)|0; - $16 = HEAP32[$image>>2]|0; - $i$01 = 0;$k$02 = 0; - while(1) { - switch ($12|0) { - case 1: { - $17 = (($16) + ($k$02)|0); - $18 = HEAP8[$17>>0]|0; - $19 = (($6) + ($i$01<<2)|0); - HEAP8[$19>>0] = $18; - $20 = (($16) + ($k$02)|0); - $21 = HEAP8[$20>>0]|0; - $22 = (((($6) + ($i$01<<2)|0)) + 1|0); - HEAP8[$22>>0] = $21; - $23 = (($16) + ($k$02)|0); - $24 = HEAP8[$23>>0]|0; - $25 = (((($6) + ($i$01<<2)|0)) + 2|0); - HEAP8[$25>>0] = $24; - $26 = (((($6) + ($i$01<<2)|0)) + 3|0); - HEAP8[$26>>0] = -1; - $27 = (($k$02) + 1)|0; - $k$1 = $27; - break; - } - case 2: { - $28 = (($16) + ($k$02)|0); - $29 = HEAP8[$28>>0]|0; - $30 = (($6) + ($i$01<<2)|0); - HEAP8[$30>>0] = $29; - $31 = (($16) + ($k$02)|0); - $32 = HEAP8[$31>>0]|0; - $33 = (((($6) + ($i$01<<2)|0)) + 1|0); - HEAP8[$33>>0] = $32; - $34 = (($16) + ($k$02)|0); - $35 = HEAP8[$34>>0]|0; - $36 = (((($6) + ($i$01<<2)|0)) + 2|0); - HEAP8[$36>>0] = $35; - $37 = (($k$02) + 1)|0; - $38 = (($16) + ($37)|0); - $39 = HEAP8[$38>>0]|0; - $40 = (((($6) + ($i$01<<2)|0)) + 3|0); - HEAP8[$40>>0] = $39; - $41 = (($k$02) + 2)|0; - $k$1 = $41; - break; - } - case 5: { - $42 = (($16) + ($k$02<<1)|0); - $43 = HEAP16[$42>>1]|0; - $44 = $43&65535; - $45 = $44 >>> 11; - $46 = (+($45|0)); - $47 = $46 * 8.0; - $48 = (~~(($47))&255); - $49 = (($6) + ($i$01<<2)|0); - HEAP8[$49>>0] = $48; - $50 = $44 >>> 6; - $51 = $50 & 31; - $52 = (+($51|0)); - $53 = $52 * 8.0; - $54 = (~~(($53))&255); - $55 = (((($6) + ($i$01<<2)|0)) + 1|0); - HEAP8[$55>>0] = $54; - $56 = $44 >>> 1; - $57 = $56 & 31; - $58 = (+($57|0)); - $59 = $58 * 8.0; - $60 = (~~(($59))&255); - $61 = (((($6) + ($i$01<<2)|0)) + 2|0); - HEAP8[$61>>0] = $60; - $62 = $44 & 1; - $63 = (0 - ($62))|0; - $64 = $63&255; - $65 = (((($6) + ($i$01<<2)|0)) + 3|0); - HEAP8[$65>>0] = $64; - $66 = (($k$02) + 1)|0; - $k$1 = $66; - break; - } - case 3: { - $67 = (($16) + ($k$02<<1)|0); - $68 = HEAP16[$67>>1]|0; - $69 = $68&65535; - $70 = $69 >>> 11; - $71 = (+($70|0)); - $72 = $71 * 8.0; - $73 = (~~(($72))&255); - $74 = (($6) + ($i$01<<2)|0); - HEAP8[$74>>0] = $73; - $75 = $69 >>> 5; - $76 = $75 & 63; - $77 = (+($76|0)); - $78 = $77 * 4.0; - $79 = (~~(($78))&255); - $80 = (((($6) + ($i$01<<2)|0)) + 1|0); - HEAP8[$80>>0] = $79; - $81 = $69 & 31; - $82 = (+($81|0)); - $83 = $82 * 8.0; - $84 = (~~(($83))&255); - $85 = (((($6) + ($i$01<<2)|0)) + 2|0); - HEAP8[$85>>0] = $84; - $86 = (((($6) + ($i$01<<2)|0)) + 3|0); - HEAP8[$86>>0] = -1; - $87 = (($k$02) + 1)|0; - $k$1 = $87; - break; - } - case 6: { - $88 = (($16) + ($k$02<<1)|0); - $89 = HEAP16[$88>>1]|0; - $90 = $89&65535; - $91 = $90 >>> 12; - $92 = (+($91|0)); - $93 = $92 * 17.0; - $94 = (~~(($93))&255); - $95 = (($6) + ($i$01<<2)|0); - HEAP8[$95>>0] = $94; - $96 = $90 >>> 8; - $97 = $96 & 15; - $98 = (+($97|0)); - $99 = $98 * 17.0; - $100 = (~~(($99))&255); - $101 = (((($6) + ($i$01<<2)|0)) + 1|0); - HEAP8[$101>>0] = $100; - $102 = $90 >>> 4; - $103 = $102 & 15; - $104 = (+($103|0)); - $105 = $104 * 17.0; - $106 = (~~(($105))&255); - $107 = (((($6) + ($i$01<<2)|0)) + 2|0); - HEAP8[$107>>0] = $106; - $108 = $90 & 15; - $109 = (+($108|0)); - $110 = $109 * 17.0; - $111 = (~~(($110))&255); - $112 = (((($6) + ($i$01<<2)|0)) + 3|0); - HEAP8[$112>>0] = $111; - $113 = (($k$02) + 1)|0; - $k$1 = $113; - break; - } - case 7: { - $114 = (($16) + ($k$02)|0); - $115 = HEAP8[$114>>0]|0; - $116 = (($6) + ($i$01<<2)|0); - HEAP8[$116>>0] = $115; - $117 = (($k$02) + 1)|0; - $118 = (($16) + ($117)|0); - $119 = HEAP8[$118>>0]|0; - $120 = (((($6) + ($i$01<<2)|0)) + 1|0); - HEAP8[$120>>0] = $119; - $121 = (($k$02) + 2)|0; - $122 = (($16) + ($121)|0); - $123 = HEAP8[$122>>0]|0; - $124 = (((($6) + ($i$01<<2)|0)) + 2|0); - HEAP8[$124>>0] = $123; - $125 = (($k$02) + 3)|0; - $126 = (($16) + ($125)|0); - $127 = HEAP8[$126>>0]|0; - $128 = (((($6) + ($i$01<<2)|0)) + 3|0); - HEAP8[$128>>0] = $127; - $129 = (($k$02) + 4)|0; - $k$1 = $129; - break; - } - case 4: { - $130 = (($16) + ($k$02)|0); - $131 = HEAP8[$130>>0]|0; - $132 = (($6) + ($i$01<<2)|0); - HEAP8[$132>>0] = $131; - $133 = (($k$02) + 1)|0; - $134 = (($16) + ($133)|0); - $135 = HEAP8[$134>>0]|0; - $136 = (((($6) + ($i$01<<2)|0)) + 1|0); - HEAP8[$136>>0] = $135; - $137 = (($k$02) + 2)|0; - $138 = (($16) + ($137)|0); - $139 = HEAP8[$138>>0]|0; - $140 = (((($6) + ($i$01<<2)|0)) + 2|0); - HEAP8[$140>>0] = $139; - $141 = (((($6) + ($i$01<<2)|0)) + 3|0); - HEAP8[$141>>0] = -1; - $142 = (($k$02) + 3)|0; - $k$1 = $142; - break; - } - default: { - _TraceLog(2,14003,$vararg_buffer); - $k$1 = $k$02; - } - } - $143 = (($i$01) + 1)|0; - $144 = ($143|0)<($15|0); - if ($144) { - $i$01 = $143;$k$02 = $k$1; - } else { - break; - } - } - STACKTOP = sp;return ($6|0); -} -function _ImageFormat($image,$newFormat) { - $image = $image|0; - $newFormat = $newFormat|0; - var $0 = 0, $1 = 0, $10 = 0, $100 = 0.0, $101 = 0, $102 = 0, $103 = 0, $104 = 0.0, $105 = 0.0, $106 = 0.0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; - var $170 = 0, $171 = 0, $172 = 0, $173 = 0.0, $174 = 0.0, $175 = 0.0, $176 = 0, $177 = 0, $178 = 0, $179 = 0.0, $18 = 0, $180 = 0.0, $181 = 0.0, $182 = 0, $183 = 0, $184 = 0, $185 = 0.0, $186 = 0.0, $187 = 0.0, $188 = 0; - var $189 = 0, $19 = 0.0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0.0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0; - var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0.0; - var $224 = 0.0, $225 = 0.0, $226 = 0, $227 = 0, $228 = 0, $229 = 0.0, $23 = 0.0, $230 = 0.0, $231 = 0.0, $232 = 0, $233 = 0, $234 = 0, $235 = 0.0, $236 = 0.0, $237 = 0.0, $238 = 0, $239 = 0, $24 = 0.0, $240 = 0, $241 = 0.0; - var $242 = 0.0, $243 = 0.0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0.0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0; - var $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0; - var $279 = 0, $28 = 0.0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0.0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0; - var $3 = 0, $30 = 0.0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; - var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0.0, $54 = 0.0, $55 = 0, $56 = 0, $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0, $61 = 0, $62 = 0.0, $63 = 0.0, $64 = 0.0, $65 = 0; - var $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0; - var $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0.0, $93 = 0.0, $94 = 0.0, $95 = 0, $96 = 0, $97 = 0, $98 = 0.0, $99 = 0.0, $i$017 = 0, $i1$019 = 0, $i12$028 = 0; - var $i13$031 = 0, $i2$021 = 0, $i3$024 = 0, $i7$026 = 0, $image$byval_copy = 0, $k$018 = 0, $k$123 = 0, $k$230 = 0, $or$cond = 0, $roundf = 0.0, $roundf10 = 0.0, $roundf2 = 0.0, $roundf3 = 0.0, $roundf4 = 0.0, $roundf5 = 0.0, $roundf6 = 0.0, $roundf7 = 0.0, $roundf8 = 0.0, $roundf9 = 0.0, $vararg_buffer = 0; - var label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $image$byval_copy = sp + 4|0; - $vararg_buffer = sp; - $0 = ((($image)) + 16|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)==($newFormat|0); - if ($2) { - STACKTOP = sp;return; - } - $3 = ($1|0)<(8); - $4 = ($newFormat|0)<(8); - $or$cond = $4 & $3; - if (!($or$cond)) { - _TraceLog(2,14049,$vararg_buffer); - STACKTOP = sp;return; - } - ;HEAP32[$image$byval_copy>>2]=HEAP32[$image>>2]|0;HEAP32[$image$byval_copy+4>>2]=HEAP32[$image+4>>2]|0;HEAP32[$image$byval_copy+8>>2]=HEAP32[$image+8>>2]|0;HEAP32[$image$byval_copy+12>>2]=HEAP32[$image+12>>2]|0;HEAP32[$image$byval_copy+16>>2]=HEAP32[$image+16>>2]|0; - $5 = (_GetImageData($image$byval_copy)|0); - $6 = HEAP32[$image>>2]|0; - _free($6); - HEAP32[$0>>2] = $newFormat; - switch ($newFormat|0) { - case 1: { - $7 = ((($image)) + 4|0); - $8 = HEAP32[$7>>2]|0; - $9 = ((($image)) + 8|0); - $10 = HEAP32[$9>>2]|0; - $11 = Math_imul($10, $8)|0; - $12 = (_malloc($11)|0); - HEAP32[$image>>2] = $12; - $13 = HEAP32[$7>>2]|0; - $14 = HEAP32[$9>>2]|0; - $15 = Math_imul($14, $13)|0; - $16 = ($15|0)>(0); - if ($16) { - $i$017 = 0; - while(1) { - $17 = (($5) + ($i$017<<2)|0); - $18 = HEAP8[$17>>0]|0; - $19 = (+($18&255)); - $20 = $19 * 0.29899999499320984; - $21 = (((($5) + ($i$017<<2)|0)) + 1|0); - $22 = HEAP8[$21>>0]|0; - $23 = (+($22&255)); - $24 = $23 * 0.58700001239776611; - $25 = $20 + $24; - $26 = (((($5) + ($i$017<<2)|0)) + 2|0); - $27 = HEAP8[$26>>0]|0; - $28 = (+($27&255)); - $29 = $28 * 0.11400000005960464; - $30 = $25 + $29; - $31 = (~~(($30))&255); - $32 = HEAP32[$image>>2]|0; - $33 = (($32) + ($i$017)|0); - HEAP8[$33>>0] = $31; - $34 = (($i$017) + 1)|0; - $35 = HEAP32[$7>>2]|0; - $36 = HEAP32[$9>>2]|0; - $37 = Math_imul($36, $35)|0; - $38 = ($34|0)<($37|0); - if ($38) { - $i$017 = $34; - } else { - break; - } - } - } - break; - } - case 2: { - $39 = ((($image)) + 4|0); - $40 = HEAP32[$39>>2]|0; - $41 = ((($image)) + 8|0); - $42 = HEAP32[$41>>2]|0; - $43 = $40 << 1; - $44 = Math_imul($43, $42)|0; - $45 = (_malloc($44)|0); - HEAP32[$image>>2] = $45; - $46 = HEAP32[$39>>2]|0; - $47 = HEAP32[$41>>2]|0; - $48 = $46 << 1; - $49 = Math_imul($48, $47)|0; - $50 = ($49|0)>(0); - if ($50) { - $i1$019 = 0;$k$018 = 0; - while(1) { - $51 = (($5) + ($k$018<<2)|0); - $52 = HEAP8[$51>>0]|0; - $53 = (+($52&255)); - $54 = $53 * 0.29899999499320984; - $55 = (((($5) + ($k$018<<2)|0)) + 1|0); - $56 = HEAP8[$55>>0]|0; - $57 = (+($56&255)); - $58 = $57 * 0.58700001239776611; - $59 = $54 + $58; - $60 = (((($5) + ($k$018<<2)|0)) + 2|0); - $61 = HEAP8[$60>>0]|0; - $62 = (+($61&255)); - $63 = $62 * 0.11400000005960464; - $64 = $59 + $63; - $65 = (~~(($64))&255); - $66 = HEAP32[$image>>2]|0; - $67 = (($66) + ($i1$019)|0); - HEAP8[$67>>0] = $65; - $68 = (((($5) + ($k$018<<2)|0)) + 3|0); - $69 = HEAP8[$68>>0]|0; - $70 = $i1$019 | 1; - $71 = HEAP32[$image>>2]|0; - $72 = (($71) + ($70)|0); - HEAP8[$72>>0] = $69; - $73 = (($k$018) + 1)|0; - $74 = (($i1$019) + 2)|0; - $75 = HEAP32[$39>>2]|0; - $76 = HEAP32[$41>>2]|0; - $77 = $75 << 1; - $78 = Math_imul($77, $76)|0; - $79 = ($74|0)<($78|0); - if ($79) { - $i1$019 = $74;$k$018 = $73; - } else { - break; - } - } - } - break; - } - case 3: { - $80 = ((($image)) + 4|0); - $81 = HEAP32[$80>>2]|0; - $82 = ((($image)) + 8|0); - $83 = HEAP32[$82>>2]|0; - $84 = $81 << 1; - $85 = Math_imul($84, $83)|0; - $86 = (_malloc($85)|0); - HEAP32[$image>>2] = $86; - $87 = HEAP32[$80>>2]|0; - $88 = HEAP32[$82>>2]|0; - $89 = Math_imul($88, $87)|0; - $90 = ($89|0)>(0); - if ($90) { - $91 = HEAP8[$5>>0]|0; - $92 = (+($91&255)); - $93 = $92 * 31.0; - $94 = $93 / 255.0; - $roundf8 = (+_roundf($94)); - $95 = (~~(($roundf8))&255); - $96 = ((($5)) + 1|0); - $97 = HEAP8[$96>>0]|0; - $98 = (+($97&255)); - $99 = $98 * 63.0; - $100 = $99 / 255.0; - $roundf9 = (+_roundf($100)); - $101 = (~~(($roundf9))&255); - $102 = ((($5)) + 2|0); - $103 = HEAP8[$102>>0]|0; - $104 = (+($103&255)); - $105 = $104 * 31.0; - $106 = $105 / 255.0; - $roundf10 = (+_roundf($106)); - $107 = (~~(($roundf10))&255); - $108 = $95&255; - $109 = $108 << 11; - $110 = $101&255; - $111 = $110 << 5; - $112 = $111 | $109; - $113 = $107&255; - $114 = $112 | $113; - $115 = $114&65535; - $116 = HEAP32[$image>>2]|0; - $117 = HEAP32[$80>>2]|0; - $118 = HEAP32[$82>>2]|0; - $119 = Math_imul($118, $117)|0; - $i2$021 = 0; - while(1) { - $120 = (($116) + ($i2$021<<1)|0); - HEAP16[$120>>1] = $115; - $121 = (($i2$021) + 1)|0; - $122 = ($121|0)<($119|0); - if ($122) { - $i2$021 = $121; - } else { - break; - } - } - } - break; - } - case 4: { - $123 = ((($image)) + 4|0); - $124 = HEAP32[$123>>2]|0; - $125 = ((($image)) + 8|0); - $126 = HEAP32[$125>>2]|0; - $127 = ($124*3)|0; - $128 = Math_imul($127, $126)|0; - $129 = (_malloc($128)|0); - HEAP32[$image>>2] = $129; - $130 = HEAP32[$123>>2]|0; - $131 = HEAP32[$125>>2]|0; - $132 = ($130*3)|0; - $133 = Math_imul($132, $131)|0; - $134 = ($133|0)>(0); - if ($134) { - $i3$024 = 0;$k$123 = 0; - while(1) { - $135 = (($5) + ($k$123<<2)|0); - $136 = HEAP8[$135>>0]|0; - $137 = HEAP32[$image>>2]|0; - $138 = (($137) + ($i3$024)|0); - HEAP8[$138>>0] = $136; - $139 = (((($5) + ($k$123<<2)|0)) + 1|0); - $140 = HEAP8[$139>>0]|0; - $141 = (($i3$024) + 1)|0; - $142 = HEAP32[$image>>2]|0; - $143 = (($142) + ($141)|0); - HEAP8[$143>>0] = $140; - $144 = (((($5) + ($k$123<<2)|0)) + 2|0); - $145 = HEAP8[$144>>0]|0; - $146 = (($i3$024) + 2)|0; - $147 = HEAP32[$image>>2]|0; - $148 = (($147) + ($146)|0); - HEAP8[$148>>0] = $145; - $149 = (($k$123) + 1)|0; - $150 = (($i3$024) + 3)|0; - $151 = HEAP32[$123>>2]|0; - $152 = HEAP32[$125>>2]|0; - $153 = ($151*3)|0; - $154 = Math_imul($153, $152)|0; - $155 = ($150|0)<($154|0); - if ($155) { - $i3$024 = $150;$k$123 = $149; - } else { - break; - } - } - } - break; - } - case 5: { - $156 = ((($image)) + 4|0); - $157 = HEAP32[$156>>2]|0; - $158 = ((($image)) + 8|0); - $159 = HEAP32[$158>>2]|0; - $160 = $157 << 1; - $161 = Math_imul($160, $159)|0; - $162 = (_malloc($161)|0); - HEAP32[$image>>2] = $162; - $163 = HEAP32[$156>>2]|0; - $164 = HEAP32[$158>>2]|0; - $165 = Math_imul($164, $163)|0; - $166 = ($165|0)>(0); - if ($166) { - $167 = HEAP32[$image>>2]|0; - $168 = HEAP32[$156>>2]|0; - $169 = HEAP32[$158>>2]|0; - $170 = Math_imul($169, $168)|0; - $i7$026 = 0; - while(1) { - $171 = (($5) + ($i7$026<<2)|0); - $172 = HEAP8[$171>>0]|0; - $173 = (+($172&255)); - $174 = $173 * 31.0; - $175 = $174 / 255.0; - $roundf5 = (+_roundf($175)); - $176 = (~~(($roundf5))&255); - $177 = (((($5) + ($i7$026<<2)|0)) + 1|0); - $178 = HEAP8[$177>>0]|0; - $179 = (+($178&255)); - $180 = $179 * 31.0; - $181 = $180 / 255.0; - $roundf6 = (+_roundf($181)); - $182 = (~~(($roundf6))&255); - $183 = (((($5) + ($i7$026<<2)|0)) + 2|0); - $184 = HEAP8[$183>>0]|0; - $185 = (+($184&255)); - $186 = $185 * 31.0; - $187 = $186 / 255.0; - $roundf7 = (+_roundf($187)); - $188 = (~~(($roundf7))&255); - $189 = (((($5) + ($i7$026<<2)|0)) + 3|0); - $190 = HEAP8[$189>>0]|0; - $191 = ($190&255)>(50); - $192 = $176&255; - $193 = $192 << 11; - $194 = $182&255; - $195 = $194 << 6; - $196 = $195 | $193; - $197 = $188&255; - $198 = $197 << 1; - $199 = $196 | $198; - $200 = $191&1; - $201 = $199 | $200; - $202 = $201&65535; - $203 = (($167) + ($i7$026<<1)|0); - HEAP16[$203>>1] = $202; - $204 = (($i7$026) + 1)|0; - $205 = ($204|0)<($170|0); - if ($205) { - $i7$026 = $204; - } else { - break; - } - } - } - break; - } - case 6: { - $206 = ((($image)) + 4|0); - $207 = HEAP32[$206>>2]|0; - $208 = ((($image)) + 8|0); - $209 = HEAP32[$208>>2]|0; - $210 = $207 << 1; - $211 = Math_imul($210, $209)|0; - $212 = (_malloc($211)|0); - HEAP32[$image>>2] = $212; - $213 = HEAP32[$206>>2]|0; - $214 = HEAP32[$208>>2]|0; - $215 = Math_imul($214, $213)|0; - $216 = ($215|0)>(0); - if ($216) { - $217 = HEAP32[$image>>2]|0; - $218 = HEAP32[$206>>2]|0; - $219 = HEAP32[$208>>2]|0; - $220 = Math_imul($219, $218)|0; - $i12$028 = 0; - while(1) { - $221 = (($5) + ($i12$028<<2)|0); - $222 = HEAP8[$221>>0]|0; - $223 = (+($222&255)); - $224 = $223 * 15.0; - $225 = $224 / 255.0; - $roundf = (+_roundf($225)); - $226 = (~~(($roundf))&255); - $227 = (((($5) + ($i12$028<<2)|0)) + 1|0); - $228 = HEAP8[$227>>0]|0; - $229 = (+($228&255)); - $230 = $229 * 15.0; - $231 = $230 / 255.0; - $roundf2 = (+_roundf($231)); - $232 = (~~(($roundf2))&255); - $233 = (((($5) + ($i12$028<<2)|0)) + 2|0); - $234 = HEAP8[$233>>0]|0; - $235 = (+($234&255)); - $236 = $235 * 15.0; - $237 = $236 / 255.0; - $roundf3 = (+_roundf($237)); - $238 = (~~(($roundf3))&255); - $239 = (((($5) + ($i12$028<<2)|0)) + 3|0); - $240 = HEAP8[$239>>0]|0; - $241 = (+($240&255)); - $242 = $241 * 15.0; - $243 = $242 / 255.0; - $roundf4 = (+_roundf($243)); - $244 = (~~(($roundf4))&255); - $245 = $226&255; - $246 = $245 << 12; - $247 = $232&255; - $248 = $247 << 8; - $249 = $248 | $246; - $250 = $238&255; - $251 = $250 << 4; - $252 = $249 | $251; - $253 = $244&255; - $254 = $252 | $253; - $255 = $254&65535; - $256 = (($217) + ($i12$028<<1)|0); - HEAP16[$256>>1] = $255; - $257 = (($i12$028) + 1)|0; - $258 = ($257|0)<($220|0); - if ($258) { - $i12$028 = $257; - } else { - break; - } - } - } - break; - } - case 7: { - $259 = ((($image)) + 4|0); - $260 = HEAP32[$259>>2]|0; - $261 = ((($image)) + 8|0); - $262 = HEAP32[$261>>2]|0; - $263 = $260 << 2; - $264 = Math_imul($263, $262)|0; - $265 = (_malloc($264)|0); - HEAP32[$image>>2] = $265; - $266 = HEAP32[$259>>2]|0; - $267 = HEAP32[$261>>2]|0; - $268 = $266 << 2; - $269 = Math_imul($268, $267)|0; - $270 = ($269|0)>(0); - if ($270) { - $i13$031 = 0;$k$230 = 0; - while(1) { - $271 = (($5) + ($k$230<<2)|0); - $272 = HEAP8[$271>>0]|0; - $273 = HEAP32[$image>>2]|0; - $274 = (($273) + ($i13$031)|0); - HEAP8[$274>>0] = $272; - $275 = (((($5) + ($k$230<<2)|0)) + 1|0); - $276 = HEAP8[$275>>0]|0; - $277 = $i13$031 | 1; - $278 = HEAP32[$image>>2]|0; - $279 = (($278) + ($277)|0); - HEAP8[$279>>0] = $276; - $280 = (((($5) + ($k$230<<2)|0)) + 2|0); - $281 = HEAP8[$280>>0]|0; - $282 = $i13$031 | 2; - $283 = HEAP32[$image>>2]|0; - $284 = (($283) + ($282)|0); - HEAP8[$284>>0] = $281; - $285 = (((($5) + ($k$230<<2)|0)) + 3|0); - $286 = HEAP8[$285>>0]|0; - $287 = $i13$031 | 3; - $288 = HEAP32[$image>>2]|0; - $289 = (($288) + ($287)|0); - HEAP8[$289>>0] = $286; - $290 = (($k$230) + 1)|0; - $291 = (($i13$031) + 4)|0; - $292 = HEAP32[$259>>2]|0; - $293 = HEAP32[$261>>2]|0; - $294 = $292 << 2; - $295 = Math_imul($294, $293)|0; - $296 = ($291|0)<($295|0); - if ($296) { - $i13$031 = $291;$k$230 = $290; - } else { - break; - } - } - } - break; - } - default: { - } - } - _free($5); - STACKTOP = sp;return; -} -function _DrawTexture($texture,$posX,$posY,$tint) { - $texture = $texture|0; - $posX = $posX|0; - $posY = $posY|0; - $tint = $tint|0; - var $$byval_copy = 0, $0 = 0, $1 = 0.0, $2 = 0.0, $3 = 0, $texture$byval_copy = 0, $tint$byval_copy = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $tint$byval_copy = sp + 40|0; - $$byval_copy = sp + 32|0; - $texture$byval_copy = sp + 8|0; - $0 = sp; - $1 = (+($posX|0)); - $2 = (+($posY|0)); - HEAPF32[$0>>2] = $1; - $3 = ((($0)) + 4|0); - HEAPF32[$3>>2] = $2; - ;HEAP32[$texture$byval_copy>>2]=HEAP32[$texture>>2]|0;HEAP32[$texture$byval_copy+4>>2]=HEAP32[$texture+4>>2]|0;HEAP32[$texture$byval_copy+8>>2]=HEAP32[$texture+8>>2]|0;HEAP32[$texture$byval_copy+12>>2]=HEAP32[$texture+12>>2]|0;HEAP32[$texture$byval_copy+16>>2]=HEAP32[$texture+16>>2]|0; - ;HEAP32[$$byval_copy>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$0+4>>2]|0; - ;HEAP8[$tint$byval_copy>>0]=HEAP8[$tint>>0]|0;HEAP8[$tint$byval_copy+1>>0]=HEAP8[$tint+1>>0]|0;HEAP8[$tint$byval_copy+2>>0]=HEAP8[$tint+2>>0]|0;HEAP8[$tint$byval_copy+3>>0]=HEAP8[$tint+3>>0]|0; - _DrawTextureEx($texture$byval_copy,$$byval_copy,0.0,1.0,$tint$byval_copy); - STACKTOP = sp;return; -} -function _DrawTextureEx($texture,$position,$rotation,$scale,$tint) { - $texture = $texture|0; - $position = $position|0; - $rotation = +$rotation; - $scale = +$scale; - $tint = $tint|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0.0, $12 = 0, $13 = 0, $14 = 0, $15 = 0.0, $16 = 0.0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0.0, $21 = 0.0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0, $destRec = 0, $destRec$byval_copy = 0, $origin = 0, $sourceRec = 0, $sourceRec$byval_copy = 0, $texture$byval_copy = 0, $tint$byval_copy = 0, $tmpcast$byval_copy = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 112|0; - $tint$byval_copy = sp + 104|0; - $tmpcast$byval_copy = sp + 96|0; - $destRec$byval_copy = sp + 80|0; - $sourceRec$byval_copy = sp + 64|0; - $texture$byval_copy = sp + 40|0; - $sourceRec = sp + 24|0; - $destRec = sp + 8|0; - $origin = sp; - HEAP32[$sourceRec>>2] = 0; - $0 = ((($sourceRec)) + 4|0); - HEAP32[$0>>2] = 0; - $1 = ((($sourceRec)) + 8|0); - $2 = ((($texture)) + 4|0); - $3 = HEAP32[$2>>2]|0; - HEAP32[$1>>2] = $3; - $4 = ((($sourceRec)) + 12|0); - $5 = ((($texture)) + 8|0); - $6 = HEAP32[$5>>2]|0; - HEAP32[$4>>2] = $6; - $7 = +HEAPF32[$position>>2]; - $8 = (~~(($7))); - HEAP32[$destRec>>2] = $8; - $9 = ((($destRec)) + 4|0); - $10 = ((($position)) + 4|0); - $11 = +HEAPF32[$10>>2]; - $12 = (~~(($11))); - HEAP32[$9>>2] = $12; - $13 = ((($destRec)) + 8|0); - $14 = HEAP32[$2>>2]|0; - $15 = (+($14|0)); - $16 = $15 * $scale; - $17 = (~~(($16))); - HEAP32[$13>>2] = $17; - $18 = ((($destRec)) + 12|0); - $19 = HEAP32[$5>>2]|0; - $20 = (+($19|0)); - $21 = $20 * $scale; - $22 = (~~(($21))); - HEAP32[$18>>2] = $22; - $23 = $origin; - $24 = $23; - HEAP32[$24>>2] = 0; - $25 = (($23) + 4)|0; - $26 = $25; - HEAP32[$26>>2] = 0; - ;HEAP32[$texture$byval_copy>>2]=HEAP32[$texture>>2]|0;HEAP32[$texture$byval_copy+4>>2]=HEAP32[$texture+4>>2]|0;HEAP32[$texture$byval_copy+8>>2]=HEAP32[$texture+8>>2]|0;HEAP32[$texture$byval_copy+12>>2]=HEAP32[$texture+12>>2]|0;HEAP32[$texture$byval_copy+16>>2]=HEAP32[$texture+16>>2]|0; - ;HEAP32[$sourceRec$byval_copy>>2]=HEAP32[$sourceRec>>2]|0;HEAP32[$sourceRec$byval_copy+4>>2]=HEAP32[$sourceRec+4>>2]|0;HEAP32[$sourceRec$byval_copy+8>>2]=HEAP32[$sourceRec+8>>2]|0;HEAP32[$sourceRec$byval_copy+12>>2]=HEAP32[$sourceRec+12>>2]|0; - ;HEAP32[$destRec$byval_copy>>2]=HEAP32[$destRec>>2]|0;HEAP32[$destRec$byval_copy+4>>2]=HEAP32[$destRec+4>>2]|0;HEAP32[$destRec$byval_copy+8>>2]=HEAP32[$destRec+8>>2]|0;HEAP32[$destRec$byval_copy+12>>2]=HEAP32[$destRec+12>>2]|0; - ;HEAP32[$tmpcast$byval_copy>>2]=HEAP32[$origin>>2]|0;HEAP32[$tmpcast$byval_copy+4>>2]=HEAP32[$origin+4>>2]|0; - ;HEAP8[$tint$byval_copy>>0]=HEAP8[$tint>>0]|0;HEAP8[$tint$byval_copy+1>>0]=HEAP8[$tint+1>>0]|0;HEAP8[$tint$byval_copy+2>>0]=HEAP8[$tint+2>>0]|0;HEAP8[$tint$byval_copy+3>>0]=HEAP8[$tint+3>>0]|0; - _DrawTexturePro($texture$byval_copy,$sourceRec$byval_copy,$destRec$byval_copy,$tmpcast$byval_copy,$rotation,$tint$byval_copy); - STACKTOP = sp;return; -} -function _DrawTexturePro($texture,$sourceRec,$destRec,$origin,$rotation,$tint) { - $texture = $texture|0; - $sourceRec = $sourceRec|0; - $destRec = $destRec|0; - $origin = $origin|0; - $rotation = +$rotation; - $tint = $tint|0; - var $0 = 0, $1 = 0, $10 = 0.0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0.0, $2 = 0.0, $20 = 0, $21 = 0, $22 = 0.0, $23 = 0.0, $24 = 0, $25 = 0, $26 = 0.0; - var $27 = 0, $28 = 0, $29 = 0.0, $3 = 0, $30 = 0.0, $31 = 0, $32 = 0.0, $33 = 0, $34 = 0.0, $35 = 0.0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0.0, $41 = 0, $42 = 0.0, $43 = 0.0, $44 = 0; - var $45 = 0, $46 = 0.0, $47 = 0, $48 = 0, $49 = 0, $5 = 0.0, $50 = 0, $51 = 0.0, $52 = 0, $53 = 0.0, $54 = 0.0, $55 = 0, $56 = 0, $57 = 0, $58 = 0.0, $59 = 0, $6 = 0.0, $60 = 0.0, $61 = 0.0, $62 = 0; - var $63 = 0, $64 = 0.0, $65 = 0, $66 = 0.0, $67 = 0, $68 = 0, $69 = 0, $7 = 0.0, $70 = 0.0, $71 = 0, $72 = 0.0, $73 = 0.0, $74 = 0, $75 = 0.0, $76 = 0, $77 = 0.0, $78 = 0.0, $79 = 0, $8 = 0, $80 = 0.0; - var $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[$texture>>2]|0; - _rlEnableTexture($0); - _rlPushMatrix(); - $1 = HEAP32[$destRec>>2]|0; - $2 = (+($1|0)); - $3 = ((($destRec)) + 4|0); - $4 = HEAP32[$3>>2]|0; - $5 = (+($4|0)); - _rlTranslatef($2,$5,0.0); - _rlRotatef($rotation,0.0,0.0,1.0); - $6 = +HEAPF32[$origin>>2]; - $7 = -$6; - $8 = ((($origin)) + 4|0); - $9 = +HEAPF32[$8>>2]; - $10 = -$9; - _rlTranslatef($7,$10,0.0); - _rlBegin(2); - $11 = HEAP8[$tint>>0]|0; - $12 = ((($tint)) + 1|0); - $13 = HEAP8[$12>>0]|0; - $14 = ((($tint)) + 2|0); - $15 = HEAP8[$14>>0]|0; - $16 = ((($tint)) + 3|0); - $17 = HEAP8[$16>>0]|0; - _rlColor4ub($11,$13,$15,$17); - $18 = HEAP32[$sourceRec>>2]|0; - $19 = (+($18|0)); - $20 = ((($texture)) + 4|0); - $21 = HEAP32[$20>>2]|0; - $22 = (+($21|0)); - $23 = $19 / $22; - $24 = ((($sourceRec)) + 4|0); - $25 = HEAP32[$24>>2]|0; - $26 = (+($25|0)); - $27 = ((($texture)) + 8|0); - $28 = HEAP32[$27>>2]|0; - $29 = (+($28|0)); - $30 = $26 / $29; - _rlTexCoord2f($23,$30); - _rlVertex2f(0.0,0.0); - $31 = HEAP32[$sourceRec>>2]|0; - $32 = (+($31|0)); - $33 = HEAP32[$20>>2]|0; - $34 = (+($33|0)); - $35 = $32 / $34; - $36 = HEAP32[$24>>2]|0; - $37 = ((($sourceRec)) + 12|0); - $38 = HEAP32[$37>>2]|0; - $39 = (($38) + ($36))|0; - $40 = (+($39|0)); - $41 = HEAP32[$27>>2]|0; - $42 = (+($41|0)); - $43 = $40 / $42; - _rlTexCoord2f($35,$43); - $44 = ((($destRec)) + 12|0); - $45 = HEAP32[$44>>2]|0; - $46 = (+($45|0)); - _rlVertex2f(0.0,$46); - $47 = HEAP32[$sourceRec>>2]|0; - $48 = ((($sourceRec)) + 8|0); - $49 = HEAP32[$48>>2]|0; - $50 = (($49) + ($47))|0; - $51 = (+($50|0)); - $52 = HEAP32[$20>>2]|0; - $53 = (+($52|0)); - $54 = $51 / $53; - $55 = HEAP32[$24>>2]|0; - $56 = HEAP32[$37>>2]|0; - $57 = (($56) + ($55))|0; - $58 = (+($57|0)); - $59 = HEAP32[$27>>2]|0; - $60 = (+($59|0)); - $61 = $58 / $60; - _rlTexCoord2f($54,$61); - $62 = ((($destRec)) + 8|0); - $63 = HEAP32[$62>>2]|0; - $64 = (+($63|0)); - $65 = HEAP32[$44>>2]|0; - $66 = (+($65|0)); - _rlVertex2f($64,$66); - $67 = HEAP32[$sourceRec>>2]|0; - $68 = HEAP32[$48>>2]|0; - $69 = (($68) + ($67))|0; - $70 = (+($69|0)); - $71 = HEAP32[$20>>2]|0; - $72 = (+($71|0)); - $73 = $70 / $72; - $74 = HEAP32[$24>>2]|0; - $75 = (+($74|0)); - $76 = HEAP32[$27>>2]|0; - $77 = (+($76|0)); - $78 = $75 / $77; - _rlTexCoord2f($73,$78); - $79 = HEAP32[$62>>2]|0; - $80 = (+($79|0)); - _rlVertex2f($80,0.0); - _rlEnd(); - _rlPopMatrix(); - return; -} -function _InitAudioDevice() { - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $cond = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer3 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $vararg_buffer3 = sp + 16|0; - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $0 = (_alcOpenDevice((0|0))|0); - $1 = ($0|0)==(0|0); - if ($1) { - _TraceLog(1,14103,$vararg_buffer); - } - $2 = (_alcCreateContext(($0|0),(0|0))|0); - $cond = ($2|0)==(0|0); - if ($cond) { - label = 6; - } else { - $3 = (_alcMakeContextCurrent(($2|0))|0); - $4 = ($3<<24>>24)==(0); - if ($4) { - _alcDestroyContext(($2|0)); - label = 6; - } - } - if ((label|0) == 6) { - (_alcCloseDevice(($0|0))|0); - _TraceLog(1,14136,$vararg_buffer1); - } - $5 = (_alcGetString(($0|0),4101)|0); - HEAP32[$vararg_buffer3>>2] = $5; - _TraceLog(0,14166,$vararg_buffer3); - _alListener3f(4100,0.0,0.0,0.0); - _alListener3f(4102,0.0,0.0,0.0); - _alListener3f(4111,0.0,0.0,-1.0); - STACKTOP = sp;return; -} -function _CloseAudioDevice() { - var $0 = 0, $1 = 0, $2 = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $vararg_buffer = sp; - _StopMusicStream(); - $0 = (_alcGetCurrentContext()|0); - $1 = ($0|0)==(0|0); - if ($1) { - _TraceLog(2,14220,$vararg_buffer); - } - $2 = (_alcGetContextsDevice(($0|0))|0); - (_alcMakeContextCurrent((0|0))|0); - _alcDestroyContext(($0|0)); - (_alcCloseDevice(($2|0))|0); - STACKTOP = sp;return; -} -function _StopMusicStream() { - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[5720>>2]|0; - $1 = ($0|0)==(0); - if ($1) { - HEAP32[5720>>2] = 0; - return; - } - $2 = HEAP32[(5736)>>2]|0; - _alSourceStop(($2|0)); - _EmptyMusicStream(); - _alDeleteSources(1,((5736)|0)); - _alDeleteBuffers(2,((5728)|0)); - $3 = HEAP32[5724>>2]|0; - _stb_vorbis_close($3); - HEAP32[5720>>2] = 0; - return; -} -function _LoadSound($agg$result,$fileName) { - $agg$result = $agg$result|0; - $fileName = $fileName|0; - var $$ = 0, $$1 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; - var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; - var $8 = 0, $9 = 0, $buffer = 0, $format$0 = 0, $sound$sroa$0$0 = 0, $sound$sroa$3$0 = 0, $source = 0, $vararg_buffer = 0, $vararg_ptr4 = 0, $vararg_ptr5 = 0, $vararg_ptr6 = 0, $wave = 0, $wave$byval_copy = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $wave$byval_copy = sp + 8|0; - $vararg_buffer = sp; - $wave = sp + 32|0; - $source = sp + 28|0; - $buffer = sp + 24|0; - ;HEAP32[$wave>>2]=0|0;HEAP32[$wave+4>>2]=0|0;HEAP32[$wave+8>>2]=0|0;HEAP32[$wave+12>>2]=0|0; - $0 = (_GetExtension($fileName)|0); - $1 = (_strcmp($0,14268)|0); - $2 = ($1|0)==(0); - do { - if ($2) { - _LoadWAV($wave,$fileName); - } else { - $3 = (_GetExtension($fileName)|0); - $4 = (_strcmp($3,14272)|0); - $5 = ($4|0)==(0); - if ($5) { - _LoadOGG($wave,$fileName); - break; - } else { - HEAP32[$vararg_buffer>>2] = $fileName; - _TraceLog(2,14276,$vararg_buffer); - break; - } - } - } while(0); - $6 = HEAP32[$wave>>2]|0; + STACKTOP = STACKTOP + 192|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(192|0); + $5 = sp; + _stbi__start_file($5,$0); + $6 = (_stbi__load_and_postprocess_8bit($5,$1,$2,$3,$4)|0); $7 = ($6|0)==(0|0); if ($7) { - $sound$sroa$0$0 = 0;$sound$sroa$3$0 = 0; - HEAP32[$agg$result>>2] = $sound$sroa$0$0; - $39 = ((($agg$result)) + 4|0); - HEAP32[$39>>2] = $sound$sroa$3$0; - STACKTOP = sp;return; + STACKTOP = sp;return ($6|0); } - $8 = ((($wave)) + 14|0); - $9 = HEAP16[$8>>1]|0; - switch ($9<<16>>16) { - case 1: { - $10 = ((($wave)) + 12|0); - $11 = HEAP16[$10>>1]|0; - $12 = ($11<<16>>16)==(8); - if ($12) { - $format$0 = 4352; - } else { - $13 = ($11<<16>>16)==(16); - $$ = $13 ? 4353 : 0; - $format$0 = $$; - } + $8 = ((($5)) + 172|0); + $9 = HEAP32[$8>>2]|0; + $10 = ((($5)) + 168|0); + $11 = HEAP32[$10>>2]|0; + $12 = (($11) - ($9))|0; + (_fseek($0,$12,1)|0); + STACKTOP = sp;return ($6|0); +} +function _stbi__start_file($0,$1) { + $0 = $0|0; + $1 = $1|0; + var label = 0, sp = 0; + sp = STACKTOP; + _stbi__start_callbacks($0,3092,$1); + return; +} +function _stbi__load_and_postprocess_8bit($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$0 = 0, $$070 = 0, $$07175 = 0, $$07276 = 0, $$07378 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; + var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $5 = 0, $6 = 0; + var $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond79 = 0, $exitcond80 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $5 = sp; + $6 = (_stbi__load_main($0,$1,$2,$3,$4,$5)|0); + $7 = ($6|0)==(0|0); + if ($7) { + $$0 = 0; + STACKTOP = sp;return ($$0|0); + } + $8 = HEAP32[$5>>2]|0; + switch ($8|0) { + case 8: { + $$070 = $6; break; } - case 2: { - $14 = ((($wave)) + 12|0); - $15 = HEAP16[$14>>1]|0; - $16 = ($15<<16>>16)==(8); - if ($16) { - $format$0 = 4354; - } else { - $17 = ($15<<16>>16)==(16); - $$1 = $17 ? 4355 : 0; - $format$0 = $$1; - } + case 16: { + label = 4; break; } default: { - $format$0 = 0; + ___assert_fail((11143|0),(11169|0),1041,(11192|0)); + // unreachable; } } - _alGenSources(1,($source|0)); - $18 = HEAP32[$source>>2]|0; - _alSourcef(($18|0),4099,1.0); - $19 = HEAP32[$source>>2]|0; - _alSourcef(($19|0),4106,1.0); - $20 = HEAP32[$source>>2]|0; - _alSource3f(($20|0),4100,0.0,0.0,0.0); - $21 = HEAP32[$source>>2]|0; - _alSource3f(($21|0),4102,0.0,0.0,0.0); - $22 = HEAP32[$source>>2]|0; - _alSourcei(($22|0),4103,0); - _alGenBuffers(1,($buffer|0)); - $23 = HEAP32[$buffer>>2]|0; - $24 = HEAP32[$wave>>2]|0; - $25 = ((($wave)) + 4|0); - $26 = HEAP32[$25>>2]|0; - $27 = ((($wave)) + 8|0); - $28 = HEAP32[$27>>2]|0; - _alBufferData(($23|0),($format$0|0),($24|0),($26|0),($28|0)); - $29 = HEAP32[$source>>2]|0; - $30 = HEAP32[$buffer>>2]|0; - _alSourcei(($29|0),4105,($30|0)); - $31 = HEAP32[$27>>2]|0; - $32 = ((($wave)) + 12|0); - $33 = HEAP16[$32>>1]|0; - $34 = $33 << 16 >> 16; - $35 = HEAP16[$8>>1]|0; - $36 = $35 << 16 >> 16; - HEAP32[$wave$byval_copy>>2] = $fileName; - $vararg_ptr4 = ((($wave$byval_copy)) + 4|0); - HEAP32[$vararg_ptr4>>2] = $31; - $vararg_ptr5 = ((($wave$byval_copy)) + 8|0); - HEAP32[$vararg_ptr5>>2] = $34; - $vararg_ptr6 = ((($wave$byval_copy)) + 12|0); - HEAP32[$vararg_ptr6>>2] = $36; - _TraceLog(0,14332,$wave$byval_copy); - ;HEAP32[$wave$byval_copy>>2]=HEAP32[$wave>>2]|0;HEAP32[$wave$byval_copy+4>>2]=HEAP32[$wave+4>>2]|0;HEAP32[$wave$byval_copy+8>>2]=HEAP32[$wave+8>>2]|0;HEAP32[$wave$byval_copy+12>>2]=HEAP32[$wave+12>>2]|0; - _UnloadWave($wave$byval_copy); - $37 = HEAP32[$source>>2]|0; - $38 = HEAP32[$buffer>>2]|0; - $sound$sroa$0$0 = $37;$sound$sroa$3$0 = $38; - HEAP32[$agg$result>>2] = $sound$sroa$0$0; - $39 = ((($agg$result)) + 4|0); - HEAP32[$39>>2] = $sound$sroa$3$0; - STACKTOP = sp;return; -} -function _UnloadSound($sound) { - $sound = $sound|0; - var $0 = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $vararg_buffer = sp; - _alDeleteSources(1,($sound|0)); - $0 = ((($sound)) + 4|0); - _alDeleteBuffers(1,($0|0)); - _TraceLog(0,14412,$vararg_buffer); - STACKTOP = sp;return; -} -function _PlaySound($sound) { - $sound = $sound|0; - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[$sound>>2]|0; - _alSourcePlay(($0|0)); - return; -} -function _PlayMusicStream($fileName) { - $fileName = $fileName|0; - var $$ = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $info = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer13 = 0, $vararg_buffer5 = 0, $vararg_buffer9 = 0, $vararg_ptr12 = 0, $vararg_ptr4 = 0, $vararg_ptr8 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; - $vararg_buffer13 = sp + 32|0; - $vararg_buffer9 = sp + 24|0; - $vararg_buffer5 = sp + 16|0; - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $info = sp + 40|0; - $0 = (_GetExtension($fileName)|0); - $1 = (_strcmp($0,14272)|0); - $2 = ($1|0)==(0); - if (!($2)) { - HEAP32[$vararg_buffer13>>2] = $fileName; - _TraceLog(2,14549,$vararg_buffer13); - STACKTOP = sp;return; + if ((label|0) == 4) { + $9 = HEAP32[$1>>2]|0; + $10 = HEAP32[$2>>2]|0; + $11 = ($4|0)==(0); + if ($11) { + $12 = HEAP32[$3>>2]|0; + $13 = $12; + } else { + $13 = $4; + } + $14 = (_stbi__convert_16_to_8($6,$9,$10,$13)|0); + HEAP32[$5>>2] = 8; + $$070 = $14; } - _StopMusicStream(); - $3 = (_stb_vorbis_open_filename($fileName,0,0)|0); - HEAP32[5724>>2] = $3; - $4 = ($3|0)==(0|0); - if ($4) { - HEAP32[$vararg_buffer>>2] = $fileName; - _TraceLog(2,14432,$vararg_buffer); - STACKTOP = sp;return; + $15 = HEAP32[6772]|0; + $16 = ($15|0)==(0); + if ($16) { + $$0 = $$070; + STACKTOP = sp;return ($$0|0); + } + $17 = HEAP32[$1>>2]|0; + $18 = HEAP32[$2>>2]|0; + $19 = ($4|0)==(0); + if ($19) { + $20 = HEAP32[$3>>2]|0; + $25 = $20; } else { - _stb_vorbis_get_info($info,$3); - $5 = ((($info)) + 4|0); - $6 = HEAP32[$5>>2]|0; - HEAP32[(5744)>>2] = $6; - $7 = HEAP32[$info>>2]|0; - HEAP32[(5748)>>2] = $7; - $8 = HEAP32[$info>>2]|0; - HEAP32[$vararg_buffer1>>2] = $fileName; - $vararg_ptr4 = ((($vararg_buffer1)) + 4|0); - HEAP32[$vararg_ptr4>>2] = $8; - _TraceLog(0,14472,$vararg_buffer1); - $9 = HEAP32[$5>>2]|0; - HEAP32[$vararg_buffer5>>2] = $fileName; - $vararg_ptr8 = ((($vararg_buffer5)) + 4|0); - HEAP32[$vararg_ptr8>>2] = $9; - _TraceLog(0,14497,$vararg_buffer5); - $10 = ((($info)) + 16|0); - $11 = HEAP32[$10>>2]|0; - HEAP32[$vararg_buffer9>>2] = $fileName; - $vararg_ptr12 = ((($vararg_buffer9)) + 4|0); - HEAP32[$vararg_ptr12>>2] = $11; - _TraceLog(3,14519,$vararg_buffer9); - $12 = HEAP32[$5>>2]|0; - $13 = ($12|0)==(2); - $$ = $13 ? 4355 : 4353; - HEAP32[(5740)>>2] = $$; - HEAP32[(5756)>>2] = 1; - HEAP32[5720>>2] = 1; - _alGenSources(1,((5736)|0)); - $14 = HEAP32[(5736)>>2]|0; - _alSourcef(($14|0),4099,1.0); - $15 = HEAP32[(5736)>>2]|0; - _alSourcef(($15|0),4106,1.0); - $16 = HEAP32[(5736)>>2]|0; - _alSource3f(($16|0),4100,0.0,0.0,0.0); - $17 = HEAP32[(5736)>>2]|0; - _alSource3f(($17|0),4102,0.0,0.0,0.0); - _alGenBuffers(2,((5728)|0)); - $18 = HEAP32[(5728)>>2]|0; - (_BufferMusicStream($18)|0); - $19 = HEAP32[(5732)>>2]|0; - (_BufferMusicStream($19)|0); - $20 = HEAP32[(5736)>>2]|0; - _alSourceQueueBuffers(($20|0),2,((5728)|0)); - $21 = HEAP32[(5736)>>2]|0; - _alSourcePlay(($21|0)); - $22 = HEAP32[5724>>2]|0; - $23 = (_stb_vorbis_stream_length_in_samples($22)|0); - $24 = HEAP32[(5744)>>2]|0; - $25 = Math_imul($24, $23)|0; - HEAP32[(5752)>>2] = $25; - STACKTOP = sp;return; + $25 = $4; } -} -function _UpdateMusicStream() { - var $$lcssa = 0, $$pr = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; - var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $active$0$lcssa = 0, $active$1 = 0, $buffer = 0, $or$cond = 0, $or$cond3 = 0, $processed = 0, $state = 0, $vararg_buffer = 0, label = 0; - var sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $vararg_buffer = sp; - $buffer = sp + 12|0; - $processed = sp + 8|0; - $state = sp + 4|0; - HEAP32[$buffer>>2] = 0; - HEAP32[$processed>>2] = 0; - $0 = HEAP32[5720>>2]|0; - $1 = ($0|0)==(0); - if ($1) { - STACKTOP = sp;return; + $21 = $18 >> 1; + $22 = ($21|0)>(0); + if (!($22)) { + $$0 = $$070; + STACKTOP = sp;return ($$0|0); } - $2 = HEAP32[(5736)>>2]|0; - _alGetSourcei(($2|0),4118,($processed|0)); - $$pr = HEAP32[$processed>>2]|0; - $3 = ($$pr|0)>(0); - $4 = HEAP32[(5736)>>2]|0; - if ($3) { - $5 = $4; - while(1) { - _alSourceUnqueueBuffers(($5|0),1,($buffer|0)); - $6 = HEAP32[$buffer>>2]|0; - $7 = (_BufferMusicStream($6)|0); - $8 = ($7|0)==(0); - $9 = HEAP32[(5756)>>2]|0; - $10 = ($9|0)!=(0); - $or$cond = $8 & $10; - if ($or$cond) { - $11 = HEAP32[5724>>2]|0; - _stb_vorbis_seek_start($11); - $12 = HEAP32[5724>>2]|0; - $13 = (_stb_vorbis_stream_length_in_samples($12)|0); - $14 = HEAP32[(5744)>>2]|0; - $15 = Math_imul($14, $13)|0; - HEAP32[(5752)>>2] = $15; - $16 = HEAP32[$buffer>>2]|0; - $17 = (_BufferMusicStream($16)|0); - $active$1 = $17; - } else { - $active$1 = $7; - } - $18 = HEAP32[(5736)>>2]|0; - _alSourceQueueBuffers(($18|0),1,($buffer|0)); - $19 = (_alGetError()|0); - $20 = ($19|0)==(0); - if (!($20)) { - _TraceLog(2,14605,$vararg_buffer); - } - $21 = HEAP32[$processed>>2]|0; - $22 = (($21) + -1)|0; - HEAP32[$processed>>2] = $22; - $23 = ($21|0)>(1); - $24 = HEAP32[(5736)>>2]|0; - if ($23) { - $5 = $24; - } else { - $$lcssa = $24;$active$0$lcssa = $active$1; - break; + $23 = ($17|0)>(0); + $24 = ($25|0)>(0); + $26 = (($18) + -1)|0; + $$07378 = 0; + while(1) { + if ($23) { + $27 = Math_imul($$07378, $17)|0; + $28 = (($26) - ($$07378))|0; + $29 = Math_imul($28, $17)|0; + $$07276 = 0; + while(1) { + if ($24) { + $30 = (($$07276) + ($27))|0; + $31 = Math_imul($30, $25)|0; + $32 = (($$07276) + ($29))|0; + $33 = Math_imul($32, $25)|0; + $$07175 = 0; + while(1) { + $34 = (($$07175) + ($31))|0; + $35 = (($$070) + ($34)|0); + $36 = HEAP8[$35>>0]|0; + $37 = (($$07175) + ($33))|0; + $38 = (($$070) + ($37)|0); + $39 = HEAP8[$38>>0]|0; + HEAP8[$35>>0] = $39; + HEAP8[$38>>0] = $36; + $40 = (($$07175) + 1)|0; + $exitcond = ($40|0)==($25|0); + if ($exitcond) { + break; + } else { + $$07175 = $40; + } + } + } + $41 = (($$07276) + 1)|0; + $exitcond79 = ($41|0)==($17|0); + if ($exitcond79) { + break; + } else { + $$07276 = $41; + } } } - } else { - $$lcssa = $4;$active$0$lcssa = 1; + $42 = (($$07378) + 1)|0; + $exitcond80 = ($42|0)==($21|0); + if ($exitcond80) { + $$0 = $$070; + break; + } else { + $$07378 = $42; + } } - _alGetSourcei(($$lcssa|0),4112,($state|0)); - $25 = HEAP32[$state>>2]|0; - $26 = ($25|0)!=(4114); - $27 = ($active$0$lcssa|0)!=(0); - $or$cond3 = $27 & $26; - if ($or$cond3) { - $28 = HEAP32[(5736)>>2]|0; - _alSourcePlay(($28|0)); - } - if ($27) { - STACKTOP = sp;return; - } - _StopMusicStream(); - STACKTOP = sp;return; + STACKTOP = sp;return ($$0|0); } -function _stb_vorbis_close($p) { - $p = $p|0; - var $0 = 0, label = 0, sp = 0; +function _stbi__load_main($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + var $$0 = 0, $10 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = ($p|0)==(0|0); - if ($0) { - return; - } - _vorbis_deinit($p); - _setup_free($p,$p); - return; -} -function _stb_vorbis_get_info($agg$result,$f) { - $agg$result = $agg$result|0; - $f = $f|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($f)) + 4|0); - $1 = HEAP32[$0>>2]|0; - $2 = HEAP32[$f>>2]|0; - $3 = ((($f)) + 8|0); - $4 = HEAP32[$3>>2]|0; - $5 = ((($f)) + 16|0); - $6 = HEAP32[$5>>2]|0; - $7 = ((($f)) + 12|0); - $8 = HEAP32[$7>>2]|0; - $9 = ((($f)) + 116|0); - $10 = HEAP32[$9>>2]|0; - $11 = $10 >> 1; - HEAP32[$agg$result>>2] = $2; - $12 = ((($agg$result)) + 4|0); - HEAP32[$12>>2] = $1; - $13 = ((($agg$result)) + 8|0); - HEAP32[$13>>2] = $4; - $14 = ((($agg$result)) + 12|0); - HEAP32[$14>>2] = $6; - $15 = ((($agg$result)) + 16|0); - HEAP32[$15>>2] = $8; - $16 = ((($agg$result)) + 20|0); - HEAP32[$16>>2] = $11; - return; -} -function _stb_vorbis_get_file_offset($f) { - $f = $f|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($f)) + 48|0); - $1 = HEAP8[$0>>0]|0; - $2 = ($1<<24>>24)==(0); - if (!($2)) { + HEAP32[$5>>2] = 8; + $6 = ((($5)) + 8|0); + HEAP32[$6>>2] = 0; + $7 = ((($5)) + 4|0); + HEAP32[$7>>2] = 0; + $8 = (_stbi__png_test($0)|0); + $9 = ($8|0)==(0); + if ($9) { + _stbi__err(11233); $$0 = 0; return ($$0|0); - } - $3 = ((($f)) + 32|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)==(0|0); - if ($5) { - $11 = ((($f)) + 20|0); - $12 = HEAP32[$11>>2]|0; - $13 = (_ftell($12)|0); - $14 = ((($f)) + 24|0); - $15 = HEAP32[$14>>2]|0; - $16 = (($13) - ($15))|0; - $$0 = $16; - return ($$0|0); } else { - $6 = ((($f)) + 36|0); - $7 = HEAP32[$6>>2]|0; - $8 = $4; - $9 = $7; - $10 = (($8) - ($9))|0; + $10 = (_stbi__png_load($0,$1,$2,$3,$4,$5)|0); $$0 = $10; return ($$0|0); } return (0)|0; } -function _stb_vorbis_get_frame_float($f,$channels,$output) { - $f = $f|0; - $channels = $channels|0; - $output = $output|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i$01 = 0, $left = 0, $len = 0, $right = 0, label = 0, sp = 0; +function _stbi__convert_16_to_8($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$0 = 0, $$01819 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $len = sp + 8|0; - $right = sp + 4|0; - $left = sp; - $0 = ((($f)) + 48|0); - $1 = HEAP8[$0>>0]|0; - $2 = ($1<<24>>24)==(0); - if (!($2)) { - _error($f,2); + $4 = Math_imul($2, $1)|0; + $5 = Math_imul($4, $3)|0; + $6 = (_stbi__malloc($5)|0); + $7 = ($6|0)==(0|0); + if ($7) { + _stbi__err(11224); $$0 = 0; - STACKTOP = sp;return ($$0|0); + return ($$0|0); } - $3 = (_vorbis_decode_packet($f,$len,$left,$right)|0); - $4 = ($3|0)==(0); - if ($4) { - $5 = ((($f)) + 1508|0); - HEAP32[$5>>2] = 0; - $6 = ((($f)) + 1504|0); - HEAP32[$6>>2] = 0; - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $7 = HEAP32[$len>>2]|0; - $8 = HEAP32[$left>>2]|0; - $9 = HEAP32[$right>>2]|0; - $10 = (_vorbis_finish_frame($f,$7,$8,$9)|0); - HEAP32[$len>>2] = $10; - $11 = ((($f)) + 4|0); - $12 = HEAP32[$11>>2]|0; - $13 = ($12|0)>(0); - if ($13) { - $14 = HEAP32[$left>>2]|0; - $i$01 = 0; + $8 = ($5|0)>(0); + if ($8) { + $$01819 = 0; while(1) { - $15 = (((($f)) + 800|0) + ($i$01<<2)|0); - $16 = HEAP32[$15>>2]|0; - $17 = (($16) + ($14<<2)|0); - $18 = (((($f)) + 864|0) + ($i$01<<2)|0); - HEAP32[$18>>2] = $17; - $19 = (($i$01) + 1)|0; - $20 = HEAP32[$11>>2]|0; - $21 = ($19|0)<($20|0); - if ($21) { - $i$01 = $19; - } else { + $9 = (($0) + ($$01819<<1)|0); + $10 = HEAP16[$9>>1]|0; + $11 = ($10&65535) >>> 8; + $12 = $11&255; + $13 = (($6) + ($$01819)|0); + HEAP8[$13>>0] = $12; + $14 = (($$01819) + 1)|0; + $exitcond = ($14|0)==($5|0); + if ($exitcond) { break; + } else { + $$01819 = $14; } } } - $22 = HEAP32[$left>>2]|0; - $23 = ((($f)) + 1504|0); - HEAP32[$23>>2] = $22; - $24 = HEAP32[$left>>2]|0; - $25 = HEAP32[$len>>2]|0; - $26 = (($25) + ($24))|0; - $27 = ((($f)) + 1508|0); - HEAP32[$27>>2] = $26; - $28 = ($channels|0)==(0|0); - if (!($28)) { - $29 = HEAP32[$11>>2]|0; - HEAP32[$channels>>2] = $29; - } - $30 = ($output|0)==(0|0); - if (!($30)) { - $31 = ((($f)) + 864|0); - HEAP32[$output>>2] = $31; - } - $32 = HEAP32[$len>>2]|0; - $$0 = $32; - STACKTOP = sp;return ($$0|0); + _free($0); + $$0 = $6; + return ($$0|0); } -function _stb_vorbis_seek_start($f) { - $f = $f|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; +function _stbi__malloc($0) { + $0 = $0|0; + var $1 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = ((($f)) + 48|0); - $1 = HEAP8[$0>>0]|0; - $2 = ($1<<24>>24)==(0); - if ($2) { - $3 = ((($f)) + 52|0); - $4 = HEAP32[$3>>2]|0; - _set_file_offset($f,$4); - $5 = ((($f)) + 992|0); - HEAP32[$5>>2] = 0; - $6 = ((($f)) + 1377|0); - HEAP8[$6>>0] = 1; - $7 = ((($f)) + 1380|0); - HEAP32[$7>>2] = -1; - _vorbis_pump_first_frame($f); - return; + $1 = (_malloc($0)|0); + return ($1|0); +} +function _stbi__png_test($0) { + $0 = $0|0; + var $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (_stbi__check_png_header($0)|0); + _stbi__rewind($0); + return ($1|0); +} +function _stbi__png_load($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + var $6 = 0, $7 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $6 = sp; + HEAP32[$6>>2] = $0; + $7 = (_stbi__do_png($6,$1,$2,$3,$4,$5)|0); + STACKTOP = sp;return ($7|0); +} +function _stbi__do_png($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + var $$ = 0, $$0 = 0, $$045 = 0, $$1 = 0, $$2 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; + var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $6 = ($4>>>0)>(4); + if ($6) { + _stbi__err(11252); + $$045 = 0; + return ($$045|0); + } + $7 = (_stbi__parse_png_file($0,0,$4)|0); + $8 = ($7|0)==(0); + if ($8) { + $$2 = 0; } else { - _error($f,2); - return; - } -} -function _stb_vorbis_stream_length_in_samples($f) { - $f = $f|0; - var $$ = 0, $$0 = 0, $$2 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; - var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $5 = 0, $6 = 0; - var $7 = 0, $8 = 0, $9 = 0, $end = 0, $header = 0, $last = 0, $last_page_loc$0$lcssa = 0, $last_page_loc$03 = 0, $previous_safe$0 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $end = sp + 4|0; - $last = sp; - $header = sp + 8|0; - $0 = ((($f)) + 48|0); - $1 = HEAP8[$0>>0]|0; - $2 = ($1<<24>>24)==(0); - if (!($2)) { - _error($f,2); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $3 = ((($f)) + 796|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)==(0); - if ($5) { - $6 = (_stb_vorbis_get_file_offset($f)|0); - $7 = ((($f)) + 44|0); - $8 = HEAP32[$7>>2]|0; - $9 = ($8>>>0)>(65535); - if ($9) { - $10 = (($8) + -65536)|0; - $11 = ((($f)) + 52|0); - $12 = HEAP32[$11>>2]|0; - $13 = ($10>>>0)<($12>>>0); - if ($13) { - label = 6; - } else { - $previous_safe$0 = $10; - } + $9 = ((($0)) + 16|0); + $10 = HEAP32[$9>>2]|0; + $11 = ($10|0)>(8); + $$ = $11 ? $10 : 8; + HEAP32[$5>>2] = $$; + $12 = ((($0)) + 12|0); + $13 = HEAP32[$12>>2]|0; + HEAP32[$12>>2] = 0; + $14 = ($4|0)==(0); + if ($14) { + $$1 = $13; } else { - label = 6; - } - if ((label|0) == 6) { - $14 = ((($f)) + 52|0); - $15 = HEAP32[$14>>2]|0; - $previous_safe$0 = $15; - } - _set_file_offset($f,$previous_safe$0); - $16 = (_vorbis_find_page($f,$end,$last)|0); - $17 = ($16|0)==(0); - do { - if ($17) { - $18 = ((($f)) + 100|0); - HEAP32[$18>>2] = 36; - HEAP32[$3>>2] = -1; + $15 = HEAP32[$0>>2]|0; + $16 = ((($15)) + 12|0); + $17 = HEAP32[$16>>2]|0; + $18 = ($17|0)==($4|0); + if ($18) { + $$1 = $13; } else { - $19 = (_stb_vorbis_get_file_offset($f)|0); - $20 = HEAP32[$last>>2]|0; - $21 = ($20|0)==(0); - L15: do { - if ($21) { - $last_page_loc$03 = $19; - while(1) { - $22 = HEAP32[$end>>2]|0; - _set_file_offset($f,$22); - $23 = (_vorbis_find_page($f,$end,$last)|0); - $24 = ($23|0)==(0); - if ($24) { - $last_page_loc$0$lcssa = $last_page_loc$03; - break L15; - } - $25 = (_stb_vorbis_get_file_offset($f)|0); - $26 = HEAP32[$last>>2]|0; - $27 = ($26|0)==(0); - if ($27) { - $last_page_loc$03 = $25; - } else { - $last_page_loc$0$lcssa = $25; - break; - } + $19 = HEAP32[$5>>2]|0; + $20 = ($19|0)==(8); + $21 = ((($15)) + 4|0); + $22 = HEAP32[$21>>2]|0; + $23 = HEAP32[$15>>2]|0; + if ($20) { + $24 = (_stbi__convert_format($13,$17,$4,$23,$22)|0); + $$0 = $24; + } else { + $25 = (_stbi__convert_format16($13,$17,$4,$23,$22)|0); + $$0 = $25; + } + $26 = HEAP32[$0>>2]|0; + $27 = ((($26)) + 12|0); + HEAP32[$27>>2] = $4; + $28 = ($$0|0)==(0|0); + if ($28) { + $$045 = 0; + return ($$045|0); + } else { + $$1 = $$0; + } + } + } + $29 = HEAP32[$0>>2]|0; + $30 = HEAP32[$29>>2]|0; + HEAP32[$1>>2] = $30; + $31 = ((($29)) + 4|0); + $32 = HEAP32[$31>>2]|0; + HEAP32[$2>>2] = $32; + $33 = ($3|0)==(0|0); + if ($33) { + $$2 = $$1; + } else { + $34 = ((($29)) + 8|0); + $35 = HEAP32[$34>>2]|0; + HEAP32[$3>>2] = $35; + $$2 = $$1; + } + } + $36 = ((($0)) + 12|0); + $37 = HEAP32[$36>>2]|0; + _free($37); + HEAP32[$36>>2] = 0; + $38 = ((($0)) + 8|0); + $39 = HEAP32[$38>>2]|0; + _free($39); + HEAP32[$38>>2] = 0; + $40 = ((($0)) + 4|0); + $41 = HEAP32[$40>>2]|0; + _free($41); + HEAP32[$40>>2] = 0; + $$045 = $$2; + return ($$045|0); +} +function _stbi__parse_png_file($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$ = 0, $$$0217 = 0, $$0206 = 0, $$0211 = 0, $$0214 = 0, $$0217 = 0, $$0226593 = 0, $$0228 = 0, $$0231 = 0, $$0235 = 0, $$0239591 = 0, $$0241 = 0, $$0245 = 0, $$1207 = 0, $$1212 = 0, $$1215 = 0, $$1218 = 0, $$1227588 = 0, $$1229 = 0, $$1240589 = 0; + var $$1246 = 0, $$2219 = 0, $$2233 = 0, $$2237 = 0, $$2243 = 0, $$254 = 0, $$3209 = 0, $$3220 = 0, $$4 = 0, $$6$ph = 0, $$7 = 0, $$lobit = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0; + var $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0; + var $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0; + var $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0; + var $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0; + var $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0; + var $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $22 = 0, $23 = 0; + var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; + var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0; + var $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0; + var $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0; + var $97 = 0, $98 = 0, $99 = 0, $notlhs = 0, $notrhs = 0, $or$cond = 0, $or$cond11 = 0, $or$cond248 = 0, $or$cond5$not = 0, $or$cond7 = 0, $switch$split112D = 0, $switch$split142D = 0, $switch$split2D = 0, $switch$split52D = 0, $switch$split82D = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 1056|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1056|0); + $3 = sp + 32|0; + $4 = sp + 22|0; + $5 = sp + 16|0; + $6 = sp + 8|0; + $7 = sp; + $8 = HEAP32[$0>>2]|0; + $9 = ((($0)) + 8|0); + HEAP32[$9>>2] = 0; + $10 = ((($0)) + 4|0); + HEAP32[$10>>2] = 0; + $11 = ((($0)) + 12|0); + HEAP32[$11>>2] = 0; + $12 = (_stbi__check_png_header($8)|0); + $13 = ($12|0)==(0); + if ($13) { + $$7 = 0; + STACKTOP = sp;return ($$7|0); + } + $14 = ($1|0)==(1); + if ($14) { + $$7 = 1; + STACKTOP = sp;return ($$7|0); + } + $15 = ((($6)) + 4|0); + $16 = ((($8)) + 4|0); + $17 = ((($0)) + 16|0); + $18 = ((($8)) + 8|0); + $19 = ($1|0)==(2); + $20 = ((($8)) + 8|0); + $21 = ((($8)) + 8|0); + $22 = ((($0)) + 16|0); + $23 = ($1|0)==(2); + $24 = ($1|0)==(2); + $$0206 = 0;$$0211 = 0;$$0214 = 0;$$0217 = 0;$$0228 = 0;$$0231 = 0;$$0235 = 0;$$0241 = 1;$$0245 = 0; + L7: while(1) { + _stbi__get_chunk_header($6,$8); + $25 = HEAP32[$15>>2]|0; + $switch$split2D = ($25|0)<(1229472850); + L9: do { + if ($switch$split2D) { + $switch$split52D = ($25|0)<(1229209940); + if ($switch$split52D) { + switch ($25|0) { + case 1130840649: { + break; + } + default: { + label = 103; + break L9; + } + } + $26 = HEAP32[$6>>2]|0; + _stbi__skip($8,$26); + $$1212 = $$0211;$$1215 = $$0214;$$1229 = 1;$$1246 = $$0245;$$2233 = $$0231;$$2237 = $$0235;$$2243 = $$0241;$$3209 = $$0206;$$3220 = $$0217; + break; + } + $switch$split112D = ($25|0)<(1229278788); + if (!($switch$split112D)) { + switch ($25|0) { + case 1229278788: { + label = 85; + break L7; + break; + } + default: { + label = 103; + break L9; + } + } + } + switch ($25|0) { + case 1229209940: { + break; + } + default: { + label = 103; + break L9; + } + } + $130 = ($$0241|0)==(0); + if (!($130)) { + label = 70; + break L7; + } + $131 = ($$0206<<24>>24)==(0); + $132 = ($$0245|0)!=(0); + $or$cond = $132 | $131; + if (!($or$cond)) { + label = 72; + break L7; + } + if ($24) { + label = 74; + break L7; + } + $135 = HEAP32[$6>>2]|0; + $136 = (($135) + ($$0214))|0; + $137 = ($136|0)<($$0214|0); + if ($137) { + $$6$ph = 0; + break L7; + } + $138 = ($136>>>0)>($$0217>>>0); + if ($138) { + $139 = ($$0217|0)==(0); + $140 = ($135>>>0)>(4096); + $141 = $140 ? $135 : 4096; + $$$0217 = $139 ? $141 : $$0217; + $142 = HEAP32[$6>>2]|0; + $143 = (($142) + ($$0214))|0; + $$1218 = $$$0217; + while(1) { + $144 = ($143>>>0)>($$1218>>>0); + $145 = $$1218 << 1; + if ($144) { + $$1218 = $145; + } else { + break; + } + } + $146 = HEAP32[$10>>2]|0; + $147 = (_realloc($146,$$1218)|0); + $148 = ($147|0)==(0|0); + if ($148) { + label = 81; + break L7; + } + HEAP32[$10>>2] = $147; + $$2219 = $$1218; + } else { + $$2219 = $$0217; + } + $149 = HEAP32[$10>>2]|0; + $150 = (($149) + ($$0214)|0); + $151 = HEAP32[$6>>2]|0; + $152 = (_stbi__getn($8,$150,$151)|0); + $153 = ($152|0)==(0); + if ($153) { + label = 83; + break L7; + } + $154 = HEAP32[$6>>2]|0; + $155 = (($154) + ($$0214))|0; + $$1212 = $$0211;$$1215 = $155;$$1229 = $$0228;$$1246 = $$0245;$$2233 = $$0231;$$2237 = $$0235;$$2243 = $$0241;$$3209 = $$0206;$$3220 = $$2219; + } else { + $switch$split82D = ($25|0)<(1347179589); + if ($switch$split82D) { + switch ($25|0) { + case 1229472850: { + break; + } + default: { + label = 103; + break L9; + } + } + $27 = ($$0241|0)==(0); + if ($27) { + label = 7; + break L7; + } + $28 = HEAP32[$6>>2]|0; + $29 = ($28|0)==(13); + if (!($29)) { + label = 9; + break L7; + } + $30 = (_stbi__get32be($8)|0); + HEAP32[$8>>2] = $30; + $31 = ($30>>>0)>(16777216); + if ($31) { + label = 11; + break L7; + } + $32 = (_stbi__get32be($8)|0); + HEAP32[$16>>2] = $32; + $33 = ($32>>>0)>(16777216); + if ($33) { + label = 13; + break L7; + } + $34 = (_stbi__get8($8)|0); + $35 = $34&255; + HEAP32[$17>>2] = $35; + switch ($34<<24>>24) { + case 16: case 8: case 4: case 2: case 1: { + break; + } + default: { + label = 15; + break L7; + } + } + $36 = (_stbi__get8($8)|0); + $37 = $36&255; + $38 = ($36&255)>(6); + if ($38) { + label = 17; + break L7; + } + $39 = ($36<<24>>24)==(3); + if ($39) { + $40 = HEAP32[$17>>2]|0; + $41 = ($40|0)==(16); + if ($41) { + label = 20; + break L7; + } else { + $$1207 = 3; } } else { - $last_page_loc$0$lcssa = $19; + $42 = $37 & 1; + $43 = ($42|0)==(0); + if ($43) { + $$1207 = $$0206; + } else { + label = 22; + break L7; + } } - } while(0); - _set_file_offset($f,$last_page_loc$0$lcssa); - (_getn($f,$header,6)|0); - $28 = (_get32($f)|0); - $29 = (_get32($f)|0); - $30 = $29 & $28; - $31 = ($30|0)==(-1); - if ($31) { - $32 = ((($f)) + 100|0); - HEAP32[$32>>2] = 36; - HEAP32[$3>>2] = -1; + $44 = (_stbi__get8($8)|0); + $45 = ($44<<24>>24)==(0); + if (!($45)) { + label = 24; + break L7; + } + $46 = (_stbi__get8($8)|0); + $47 = ($46<<24>>24)==(0); + if (!($47)) { + label = 26; + break L7; + } + $48 = (_stbi__get8($8)|0); + $49 = $48&255; + $50 = ($48&255)>(1); + if ($50) { + label = 28; + break L7; + } + $51 = HEAP32[$8>>2]|0; + $52 = ($51|0)==(0); + if ($52) { + label = 31; + break L7; + } + $53 = HEAP32[$16>>2]|0; + $54 = ($53|0)==(0); + if ($54) { + label = 31; + break L7; + } + $55 = ($$1207<<24>>24)==(0); + $56 = (1073741824 / ($51>>>0))&-1; + if (!($55)) { + HEAP32[$20>>2] = 1; + $63 = $56 >>> 2; + $64 = ($63>>>0)<($53>>>0); + if ($64) { + label = 37; + break L7; + } else { + $$1212 = $$0211;$$1215 = $$0214;$$1229 = $$0228;$$1246 = $$0245;$$2233 = $37;$$2237 = $49;$$2243 = 0;$$3209 = $$1207;$$3220 = $$0217; + break; + } + } + $57 = $37 & 2; + $58 = $57 | 1; + $59 = $37 >>> 2; + $$lobit = $59 & 1; + $60 = (($58) + ($$lobit))|0; + HEAP32[$18>>2] = $60; + $61 = (($56>>>0) / ($60>>>0))&-1; + $62 = ($61>>>0)<($53>>>0); + if ($62) { + label = 34; + break L7; + } + if ($19) { + $$6$ph = 1; + break L7; + } else { + $$1212 = $$0211;$$1215 = $$0214;$$1229 = $$0228;$$1246 = $$0245;$$2233 = $37;$$2237 = $49;$$2243 = 0;$$3209 = 0;$$3220 = $$0217; + break; + } + } + $switch$split142D = ($25|0)<(1951551059); + if ($switch$split142D) { + switch ($25|0) { + case 1347179589: { + break; + } + default: { + label = 103; + break L9; + } + } + $65 = ($$0241|0)==(0); + if (!($65)) { + label = 39; + break L7; + } + $66 = HEAP32[$6>>2]|0; + $67 = ($66>>>0)>(768); + if ($67) { + label = 41; + break L7; + } + $68 = (($66>>>0) / 3)&-1; + $69 = ($68*3)|0; + $70 = ($69|0)==($66|0); + if (!($70)) { + label = 44; + break L7; + } + $71 = ($66>>>0)>(2); + if ($71) { + $$0226593 = 0; + } else { + $$1212 = $$0211;$$1215 = $$0214;$$1229 = $$0228;$$1246 = $68;$$2233 = $$0231;$$2237 = $$0235;$$2243 = 0;$$3209 = $$0206;$$3220 = $$0217; + break; + } + while(1) { + $72 = (_stbi__get8($8)|0); + $73 = $$0226593 << 2; + $74 = (($3) + ($73)|0); + HEAP8[$74>>0] = $72; + $75 = (_stbi__get8($8)|0); + $76 = $73 | 1; + $77 = (($3) + ($76)|0); + HEAP8[$77>>0] = $75; + $78 = (_stbi__get8($8)|0); + $79 = $73 | 2; + $80 = (($3) + ($79)|0); + HEAP8[$80>>0] = $78; + $81 = $73 | 3; + $82 = (($3) + ($81)|0); + HEAP8[$82>>0] = -1; + $83 = (($$0226593) + 1)|0; + $84 = ($83>>>0)<($68>>>0); + if ($84) { + $$0226593 = $83; + } else { + $$1212 = $$0211;$$1215 = $$0214;$$1229 = $$0228;$$1246 = $68;$$2233 = $$0231;$$2237 = $$0235;$$2243 = $$0241;$$3209 = $$0206;$$3220 = $$0217; + break L9; + } + } + } + switch ($25|0) { + case 1951551059: { break; + } + default: { + label = 103; + break L9; + } + } + $85 = ($$0241|0)==(0); + if (!($85)) { + label = 47; + break L7; + } + $86 = HEAP32[$10>>2]|0; + $87 = ($86|0)==(0|0); + if (!($87)) { + label = 49; + break L7; + } + $88 = ($$0206<<24>>24)==(0); + if (!($88)) { + if ($23) { + label = 52; + break L7; + } + $90 = ($$0245|0)==(0); + if ($90) { + label = 54; + break L7; + } + $91 = HEAP32[$6>>2]|0; + $92 = ($91>>>0)>($$0245>>>0); + if ($92) { + label = 58; + break L7; + } + $93 = HEAP32[$6>>2]|0; + $94 = ($93|0)==(0); + if ($94) { + $$1212 = $$0211;$$1215 = $$0214;$$1229 = $$0228;$$1246 = $$0245;$$2233 = $$0231;$$2237 = $$0235;$$2243 = 0;$$3209 = 4;$$3220 = $$0217; + break; + } + $95 = HEAP32[$6>>2]|0; + $$1227588 = 0; + while(1) { + $96 = (_stbi__get8($8)|0); + $97 = $$1227588 << 2; + $98 = $97 | 3; + $99 = (($3) + ($98)|0); + HEAP8[$99>>0] = $96; + $100 = (($$1227588) + 1)|0; + $101 = ($100>>>0)<($95>>>0); + if ($101) { + $$1227588 = $100; + } else { + $$1212 = $$0211;$$1215 = $$0214;$$1229 = $$0228;$$1246 = $$0245;$$2233 = $$0231;$$2237 = $$0235;$$2243 = $$0241;$$3209 = 4;$$3220 = $$0217; + break L9; + } + } + } + $102 = HEAP32[$21>>2]|0; + $103 = $102 & 1; + $104 = ($103|0)==(0); + if ($104) { + label = 61; + break L7; + } + $105 = HEAP32[$6>>2]|0; + $106 = $102 << 1; + $107 = ($105|0)==($106|0); + if (!($107)) { + label = 63; + break L7; + } + $108 = HEAP32[$22>>2]|0; + $109 = ($108|0)==(16); + $110 = HEAP32[$21>>2]|0; + $111 = ($110|0)>(0); + if ($109) { + if ($111) { + $$0239591 = 0; + } else { + $$1212 = 1;$$1215 = $$0214;$$1229 = $$0228;$$1246 = $$0245;$$2233 = $$0231;$$2237 = $$0235;$$2243 = 0;$$3209 = 0;$$3220 = $$0217; + break; + } + while(1) { + $112 = (_stbi__get16be($8)|0); + $113 = $112&65535; + $114 = (($5) + ($$0239591<<1)|0); + HEAP16[$114>>1] = $113; + $115 = (($$0239591) + 1)|0; + $116 = HEAP32[$21>>2]|0; + $117 = ($115|0)<($116|0); + if ($117) { + $$0239591 = $115; + } else { + $$1212 = 1;$$1215 = $$0214;$$1229 = $$0228;$$1246 = $$0245;$$2233 = $$0231;$$2237 = $$0235;$$2243 = $$0241;$$3209 = $$0206;$$3220 = $$0217; + break; + } + } } else { - $33 = ($29|0)==(0); - $$ = $33 ? $28 : -2; - HEAP32[$3>>2] = $$; - $34 = ((($f)) + 68|0); - HEAP32[$34>>2] = $last_page_loc$0$lcssa; - $35 = HEAP32[$end>>2]|0; - $36 = ((($f)) + 72|0); - HEAP32[$36>>2] = $35; - $37 = ((($f)) + 76|0); - HEAP32[$37>>2] = $$; - break; + if ($111) { + $$1240589 = 0; + } else { + $$1212 = 1;$$1215 = $$0214;$$1229 = $$0228;$$1246 = $$0245;$$2233 = $$0231;$$2237 = $$0235;$$2243 = 0;$$3209 = 0;$$3220 = $$0217; + break; + } + while(1) { + $118 = (_stbi__get16be($8)|0); + $119 = $118 & 255; + $120 = HEAP32[$22>>2]|0; + $121 = (11566 + ($120)|0); + $122 = HEAP8[$121>>0]|0; + $123 = $122&255; + $124 = Math_imul($123, $119)|0; + $125 = $124&255; + $126 = (($4) + ($$1240589)|0); + HEAP8[$126>>0] = $125; + $127 = (($$1240589) + 1)|0; + $128 = HEAP32[$21>>2]|0; + $129 = ($127|0)<($128|0); + if ($129) { + $$1240589 = $127; + } else { + $$1212 = 1;$$1215 = $$0214;$$1229 = $$0228;$$1246 = $$0245;$$2233 = $$0231;$$2237 = $$0235;$$2243 = $$0241;$$3209 = $$0206;$$3220 = $$0217; + break; + } + } } } } while(0); - _set_file_offset($f,$6); + if ((label|0) == 103) { + label = 0; + $202 = ($$0241|0)==(0); + if (!($202)) { + label = 104; + break; + } + $203 = $25 & 536870912; + $204 = ($203|0)==(0); + if ($204) { + label = 106; + break; + } + $213 = HEAP32[$6>>2]|0; + _stbi__skip($8,$213); + $$1212 = $$0211;$$1215 = $$0214;$$1229 = $$0228;$$1246 = $$0245;$$2233 = $$0231;$$2237 = $$0235;$$2243 = 0;$$3209 = $$0206;$$3220 = $$0217; + } + (_stbi__get32be($8)|0); + $$0206 = $$3209;$$0211 = $$1212;$$0214 = $$1215;$$0217 = $$3220;$$0228 = $$1229;$$0231 = $$2233;$$0235 = $$2237;$$0241 = $$2243;$$0245 = $$1246; } - $38 = HEAP32[$3>>2]|0; - $39 = ($38|0)==(-1); - $$2 = $39 ? 0 : $38; - $$0 = $$2; - STACKTOP = sp;return ($$0|0); -} -function _stb_vorbis_stream_length_in_seconds($f) { - $f = $f|0; - var $0 = 0, $1 = 0.0, $2 = 0, $3 = 0.0, $4 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_stb_vorbis_stream_length_in_samples($f)|0); - $1 = (+($0>>>0)); - $2 = HEAP32[$f>>2]|0; - $3 = (+($2>>>0)); - $4 = $1 / $3; - return (+$4); -} -function _stb_vorbis_open_file_section($file,$close_on_free,$error,$alloc,$length) { - $file = $file|0; - $close_on_free = $close_on_free|0; - $error = $error|0; - $alloc = $alloc|0; - $length = $length|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $p = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 1520|0; - $p = sp; - _vorbis_init($p,$alloc); - $0 = ((($p)) + 20|0); - HEAP32[$0>>2] = $file; - $1 = (_ftell($file)|0); - $2 = ((($p)) + 24|0); - HEAP32[$2>>2] = $1; - $3 = ((($p)) + 44|0); - HEAP32[$3>>2] = $length; - $4 = ((($p)) + 28|0); - HEAP32[$4>>2] = $close_on_free; - $5 = (_start_decoder($p)|0); - $6 = ($5|0)==(0); - if (!($6)) { - $7 = (_vorbis_alloc($p)|0); - $8 = ($7|0)==(0|0); - if (!($8)) { - _memcpy(($7|0),($p|0),1512)|0; - _vorbis_pump_first_frame($7); - $$0 = $7; - STACKTOP = sp;return ($$0|0); + switch (label|0) { + case 7: { + _stbi__err(11340); + $$6$ph = 0; + break; + } + case 9: { + _stbi__err(11354); + $$6$ph = 0; + break; + } + case 11: { + _stbi__err(11367); + $$6$ph = 0; + break; + } + case 13: { + _stbi__err(11367); + $$6$ph = 0; + break; + } + case 15: { + _stbi__err(11377); + $$6$ph = 0; + break; + } + case 17: { + _stbi__err(11397); + $$6$ph = 0; + break; + } + case 20: { + _stbi__err(11397); + $$6$ph = 0; + break; + } + case 22: { + _stbi__err(11397); + $$6$ph = 0; + break; + } + case 24: { + _stbi__err(11407); + $$6$ph = 0; + break; + } + case 26: { + _stbi__err(11423); + $$6$ph = 0; + break; + } + case 28: { + _stbi__err(11441); + $$6$ph = 0; + break; + } + case 31: { + _stbi__err(11462); + $$6$ph = 0; + break; + } + case 34: { + _stbi__err(11367); + $$6$ph = 0; + break; + } + case 37: { + _stbi__err(11367); + $$6$ph = 0; + break; + } + case 39: { + _stbi__err(11476); + $$6$ph = 0; + break; + } + case 41: { + _stbi__err(11491); + $$6$ph = 0; + break; + } + case 44: { + _stbi__err(11491); + $$6$ph = 0; + break; + } + case 47: { + _stbi__err(11476); + $$6$ph = 0; + break; + } + case 49: { + _stbi__err(11504); + $$6$ph = 0; + break; + } + case 52: { + $89 = ((($8)) + 8|0); + HEAP32[$89>>2] = 4; + $$6$ph = 1; + break; + } + case 54: { + _stbi__err(11520); + $$6$ph = 0; + break; + } + case 58: { + _stbi__err(11537); + $$6$ph = 0; + break; + } + case 61: { + _stbi__err(11550); + $$6$ph = 0; + break; + } + case 63: { + _stbi__err(11537); + $$6$ph = 0; + break; + } + case 70: { + _stbi__err(11476); + $$6$ph = 0; + break; + } + case 72: { + _stbi__err(11575); + $$6$ph = 0; + break; + } + case 74: { + $133 = $$0206&255; + $134 = ((($8)) + 8|0); + HEAP32[$134>>2] = $133; + $$6$ph = 1; + break; + } + case 81: { + _stbi__err(11224); + $$6$ph = 0; + break; + } + case 83: { + _stbi__err(11583); + $$6$ph = 0; + break; + } + case 85: { + $156 = ($$0241|0)==(0); + do { + if ($156) { + $157 = ($1|0)==(0); + if ($157) { + $158 = HEAP32[$10>>2]|0; + $159 = ($158|0)==(0|0); + if ($159) { + _stbi__err(11593); + $$4 = 0; + break; + } + $160 = HEAP32[$8>>2]|0; + $161 = ((($0)) + 16|0); + $162 = HEAP32[$161>>2]|0; + $163 = Math_imul($162, $160)|0; + $164 = (($163) + 7)|0; + $165 = $164 >>> 3; + $166 = ((($8)) + 4|0); + $167 = HEAP32[$166>>2]|0; + $168 = ((($8)) + 8|0); + $169 = HEAP32[$168>>2]|0; + $170 = Math_imul($169, $167)|0; + $171 = Math_imul($170, $165)|0; + $172 = (($171) + ($167))|0; + HEAP32[$7>>2] = $172; + $173 = ($$0228|0)!=(0); + $174 = $173 ^ 1; + $175 = $174&1; + $176 = (_stbi_zlib_decode_malloc_guesssize_headerflag($158,$$0214,$172,$7,$175)|0); + HEAP32[$9>>2] = $176; + $177 = ($176|0)==(0|0); + if ($177) { + $$4 = 0; + } else { + $178 = HEAP32[$10>>2]|0; + _free($178); + HEAP32[$10>>2] = 0; + $179 = HEAP32[$168>>2]|0; + $180 = (($179) + 1)|0; + $notlhs = ($180|0)!=($2|0); + $notrhs = ($2|0)==(3); + $or$cond5$not = $notrhs | $notlhs; + $181 = ($$0206<<24>>24)!=(0); + $or$cond7 = $181 | $or$cond5$not; + $182 = ($$0211<<24>>24)==(0); + $or$cond248 = $182 & $or$cond7; + $$254 = $or$cond248 ? $179 : $180; + $183 = ((($8)) + 12|0); + HEAP32[$183>>2] = $$254; + $184 = HEAP32[$9>>2]|0; + $185 = HEAP32[$7>>2]|0; + $186 = HEAP32[$161>>2]|0; + $187 = (_stbi__create_png_image($0,$184,$185,$$254,$186,$$0231,$$0235)|0); + $188 = ($187|0)==(0); + if ($188) { + $$4 = 0; + } else { + do { + if (!($182)) { + $189 = HEAP32[$161>>2]|0; + $190 = ($189|0)==(16); + if ($190) { + $191 = HEAP32[$183>>2]|0; + _stbi__compute_transparency16($0,$5,$191); + break; + } else { + $192 = HEAP32[$183>>2]|0; + _stbi__compute_transparency($0,$4,$192); + break; + } + } + } while(0); + $193 = HEAP32[6773]|0; + $194 = ($193|0)!=(0); + $or$cond11 = $173 & $194; + if ($or$cond11) { + $195 = HEAP32[$183>>2]|0; + $196 = ($195|0)>(2); + if ($196) { + _stbi__de_iphone($0); + } + } + if ($181) { + $197 = $$0206&255; + HEAP32[$168>>2] = $197; + $198 = ($2|0)>(2); + $$ = $198 ? $2 : $197; + HEAP32[$183>>2] = $$; + $199 = (_stbi__expand_png_palette($0,$3,$$)|0); + $200 = ($199|0)==(0); + if ($200) { + $$4 = 0; + break; + } + } + $201 = HEAP32[$9>>2]|0; + _free($201); + HEAP32[$9>>2] = 0; + $$4 = 1; + } + } + } else { + $$4 = 1; + } + } else { + _stbi__err(11476); + $$4 = 0; + } + } while(0); + $$6$ph = $$4; + break; + } + case 104: { + _stbi__err(11476); + $$6$ph = 0; + break; + } + case 106: { + $205 = $25 >>> 24; + $206 = $205&255; + HEAP8[11601] = $206; + $207 = HEAP32[$15>>2]|0; + $208 = $207 >>> 16; + $209 = $208&255; + HEAP8[(11602)>>0] = $209; + $210 = $207 >>> 8; + $211 = $210&255; + HEAP8[(11603)>>0] = $211; + $212 = $207&255; + HEAP8[(11604)>>0] = $212; + _stbi__err(11601); + $$6$ph = 0; + break; } } - $9 = ($error|0)==(0|0); - if (!($9)) { - $10 = ((($p)) + 100|0); - $11 = HEAP32[$10>>2]|0; - HEAP32[$error>>2] = $11; + $$7 = $$6$ph; + STACKTOP = sp;return ($$7|0); +} +function _stbi__convert_format($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$0151255 = 0, $$0163 = 0, $$0164259 = 0, $$0165 = 0, $$0165254 = 0, $$0165257 = 0, $$0256 = 0, $$10161205 = 0, $$10175 = 0, $$10175204 = 0, $$10175207 = 0, $$10206 = 0, $$11162201 = 0, $$11176 = 0, $$11176200 = 0, $$11176203 = 0, $$11202 = 0, $$1152250 = 0, $$1166 = 0, $$1166249 = 0; + var $$1166252 = 0, $$1251 = 0, $$2153245 = 0, $$2167 = 0, $$2167244 = 0, $$2167247 = 0, $$2246 = 0, $$3154240 = 0, $$3168 = 0, $$3168239 = 0, $$3168242 = 0, $$3241 = 0, $$4155235 = 0, $$4169 = 0, $$4169234 = 0, $$4169237 = 0, $$4236 = 0, $$5156230 = 0, $$5170 = 0, $$5170229 = 0; + var $$5170232 = 0, $$5231 = 0, $$6157225 = 0, $$6171 = 0, $$6171224 = 0, $$6171227 = 0, $$6226 = 0, $$7158220 = 0, $$7172 = 0, $$7172219 = 0, $$7172222 = 0, $$7221 = 0, $$8159215 = 0, $$8173 = 0, $$8173214 = 0, $$8173217 = 0, $$8216 = 0, $$9160210 = 0, $$9174 = 0, $$9174209 = 0; + var $$9174212 = 0, $$9211 = 0, $$off = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0; + var $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0; + var $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; + var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; + var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0; + var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0; + var $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0; + var sp = 0; + sp = STACKTOP; + $5 = ($2|0)==($1|0); + if ($5) { + $$0163 = $0; + return ($$0163|0); } - _vorbis_deinit($p); - $$0 = 0; - STACKTOP = sp;return ($$0|0); + $$off = (($2) + -1)|0; + $6 = ($$off>>>0)<(4); + if (!($6)) { + ___assert_fail((11265|0),(11169|0),1477,(11319|0)); + // unreachable; + } + $7 = (_stbi__malloc_mad3($2,$3,$4)|0); + $8 = ($7|0)==(0|0); + if ($8) { + _free($0); + _stbi__err(11224); + $$0163 = 0; + return ($$0163|0); + } + $9 = ($4|0)>(0); + L11: do { + if ($9) { + $10 = $1 << 3; + $11 = (($10) + ($2))|0; + $$0165254 = (($3) + -1)|0; + $12 = ($$0165254|0)>(-1); + $$1166249 = (($3) + -1)|0; + $13 = ($$1166249|0)>(-1); + $$2167244 = (($3) + -1)|0; + $14 = ($$2167244|0)>(-1); + $$3168239 = (($3) + -1)|0; + $15 = ($$3168239|0)>(-1); + $$4169234 = (($3) + -1)|0; + $16 = ($$4169234|0)>(-1); + $$5170229 = (($3) + -1)|0; + $17 = ($$5170229|0)>(-1); + $$6171224 = (($3) + -1)|0; + $18 = ($$6171224|0)>(-1); + $$7172219 = (($3) + -1)|0; + $19 = ($$7172219|0)>(-1); + $$8173214 = (($3) + -1)|0; + $20 = ($$8173214|0)>(-1); + $$9174209 = (($3) + -1)|0; + $21 = ($$9174209|0)>(-1); + $$10175204 = (($3) + -1)|0; + $22 = ($$10175204|0)>(-1); + $$11176200 = (($3) + -1)|0; + $23 = ($$11176200|0)>(-1); + $$0164259 = 0; + L13: while(1) { + $24 = Math_imul($$0164259, $3)|0; + $25 = Math_imul($24, $1)|0; + $26 = (($0) + ($25)|0); + $27 = Math_imul($24, $2)|0; + $28 = (($7) + ($27)|0); + do { + switch ($11|0) { + case 10: { + if ($12) { + $$0151255 = $26;$$0165257 = $$0165254;$$0256 = $28; + while(1) { + $29 = HEAP8[$$0151255>>0]|0; + HEAP8[$$0256>>0] = $29; + $30 = ((($$0256)) + 1|0); + HEAP8[$30>>0] = -1; + $31 = ((($$0151255)) + 1|0); + $32 = ((($$0256)) + 2|0); + $$0165 = (($$0165257) + -1)|0; + $33 = ($$0165|0)>(-1); + if ($33) { + $$0151255 = $31;$$0165257 = $$0165;$$0256 = $32; + } else { + break; + } + } + } + break; + } + case 11: { + if ($13) { + $$1152250 = $26;$$1166252 = $$1166249;$$1251 = $28; + while(1) { + $34 = HEAP8[$$1152250>>0]|0; + $35 = ((($$1251)) + 2|0); + HEAP8[$35>>0] = $34; + $36 = ((($$1251)) + 1|0); + HEAP8[$36>>0] = $34; + HEAP8[$$1251>>0] = $34; + $37 = ((($$1152250)) + 1|0); + $38 = ((($$1251)) + 3|0); + $$1166 = (($$1166252) + -1)|0; + $39 = ($$1166|0)>(-1); + if ($39) { + $$1152250 = $37;$$1166252 = $$1166;$$1251 = $38; + } else { + break; + } + } + } + break; + } + case 12: { + if ($14) { + $$2153245 = $26;$$2167247 = $$2167244;$$2246 = $28; + while(1) { + $40 = HEAP8[$$2153245>>0]|0; + $41 = ((($$2246)) + 2|0); + HEAP8[$41>>0] = $40; + $42 = ((($$2246)) + 1|0); + HEAP8[$42>>0] = $40; + HEAP8[$$2246>>0] = $40; + $43 = ((($$2246)) + 3|0); + HEAP8[$43>>0] = -1; + $44 = ((($$2153245)) + 1|0); + $45 = ((($$2246)) + 4|0); + $$2167 = (($$2167247) + -1)|0; + $46 = ($$2167|0)>(-1); + if ($46) { + $$2153245 = $44;$$2167247 = $$2167;$$2246 = $45; + } else { + break; + } + } + } + break; + } + case 17: { + if ($15) { + $$3154240 = $26;$$3168242 = $$3168239;$$3241 = $28; + while(1) { + $47 = HEAP8[$$3154240>>0]|0; + HEAP8[$$3241>>0] = $47; + $48 = ((($$3154240)) + 2|0); + $49 = ((($$3241)) + 1|0); + $$3168 = (($$3168242) + -1)|0; + $50 = ($$3168|0)>(-1); + if ($50) { + $$3154240 = $48;$$3168242 = $$3168;$$3241 = $49; + } else { + break; + } + } + } + break; + } + case 19: { + if ($16) { + $$4155235 = $26;$$4169237 = $$4169234;$$4236 = $28; + while(1) { + $51 = HEAP8[$$4155235>>0]|0; + $52 = ((($$4236)) + 2|0); + HEAP8[$52>>0] = $51; + $53 = ((($$4236)) + 1|0); + HEAP8[$53>>0] = $51; + HEAP8[$$4236>>0] = $51; + $54 = ((($$4155235)) + 2|0); + $55 = ((($$4236)) + 3|0); + $$4169 = (($$4169237) + -1)|0; + $56 = ($$4169|0)>(-1); + if ($56) { + $$4155235 = $54;$$4169237 = $$4169;$$4236 = $55; + } else { + break; + } + } + } + break; + } + case 20: { + if ($17) { + $$5156230 = $26;$$5170232 = $$5170229;$$5231 = $28; + while(1) { + $57 = HEAP8[$$5156230>>0]|0; + $58 = ((($$5231)) + 2|0); + HEAP8[$58>>0] = $57; + $59 = ((($$5231)) + 1|0); + HEAP8[$59>>0] = $57; + HEAP8[$$5231>>0] = $57; + $60 = ((($$5156230)) + 1|0); + $61 = HEAP8[$60>>0]|0; + $62 = ((($$5231)) + 3|0); + HEAP8[$62>>0] = $61; + $63 = ((($$5156230)) + 2|0); + $64 = ((($$5231)) + 4|0); + $$5170 = (($$5170232) + -1)|0; + $65 = ($$5170|0)>(-1); + if ($65) { + $$5156230 = $63;$$5170232 = $$5170;$$5231 = $64; + } else { + break; + } + } + } + break; + } + case 28: { + if ($18) { + $$6157225 = $26;$$6171227 = $$6171224;$$6226 = $28; + while(1) { + $66 = HEAP8[$$6157225>>0]|0; + HEAP8[$$6226>>0] = $66; + $67 = ((($$6157225)) + 1|0); + $68 = HEAP8[$67>>0]|0; + $69 = ((($$6226)) + 1|0); + HEAP8[$69>>0] = $68; + $70 = ((($$6157225)) + 2|0); + $71 = HEAP8[$70>>0]|0; + $72 = ((($$6226)) + 2|0); + HEAP8[$72>>0] = $71; + $73 = ((($$6226)) + 3|0); + HEAP8[$73>>0] = -1; + $74 = ((($$6157225)) + 3|0); + $75 = ((($$6226)) + 4|0); + $$6171 = (($$6171227) + -1)|0; + $76 = ($$6171|0)>(-1); + if ($76) { + $$6157225 = $74;$$6171227 = $$6171;$$6226 = $75; + } else { + break; + } + } + } + break; + } + case 25: { + if ($19) { + $$7158220 = $26;$$7172222 = $$7172219;$$7221 = $28; + while(1) { + $77 = HEAP8[$$7158220>>0]|0; + $78 = $77&255; + $79 = ((($$7158220)) + 1|0); + $80 = HEAP8[$79>>0]|0; + $81 = $80&255; + $82 = ((($$7158220)) + 2|0); + $83 = HEAP8[$82>>0]|0; + $84 = $83&255; + $85 = (_stbi__compute_y($78,$81,$84)|0); + HEAP8[$$7221>>0] = $85; + $86 = ((($$7158220)) + 3|0); + $87 = ((($$7221)) + 1|0); + $$7172 = (($$7172222) + -1)|0; + $88 = ($$7172|0)>(-1); + if ($88) { + $$7158220 = $86;$$7172222 = $$7172;$$7221 = $87; + } else { + break; + } + } + } + break; + } + case 26: { + if ($20) { + $$8159215 = $26;$$8173217 = $$8173214;$$8216 = $28; + while(1) { + $89 = HEAP8[$$8159215>>0]|0; + $90 = $89&255; + $91 = ((($$8159215)) + 1|0); + $92 = HEAP8[$91>>0]|0; + $93 = $92&255; + $94 = ((($$8159215)) + 2|0); + $95 = HEAP8[$94>>0]|0; + $96 = $95&255; + $97 = (_stbi__compute_y($90,$93,$96)|0); + HEAP8[$$8216>>0] = $97; + $98 = ((($$8216)) + 1|0); + HEAP8[$98>>0] = -1; + $99 = ((($$8159215)) + 3|0); + $100 = ((($$8216)) + 2|0); + $$8173 = (($$8173217) + -1)|0; + $101 = ($$8173|0)>(-1); + if ($101) { + $$8159215 = $99;$$8173217 = $$8173;$$8216 = $100; + } else { + break; + } + } + } + break; + } + case 33: { + if ($21) { + $$9160210 = $26;$$9174212 = $$9174209;$$9211 = $28; + while(1) { + $102 = HEAP8[$$9160210>>0]|0; + $103 = $102&255; + $104 = ((($$9160210)) + 1|0); + $105 = HEAP8[$104>>0]|0; + $106 = $105&255; + $107 = ((($$9160210)) + 2|0); + $108 = HEAP8[$107>>0]|0; + $109 = $108&255; + $110 = (_stbi__compute_y($103,$106,$109)|0); + HEAP8[$$9211>>0] = $110; + $111 = ((($$9160210)) + 4|0); + $112 = ((($$9211)) + 1|0); + $$9174 = (($$9174212) + -1)|0; + $113 = ($$9174|0)>(-1); + if ($113) { + $$9160210 = $111;$$9174212 = $$9174;$$9211 = $112; + } else { + break; + } + } + } + break; + } + case 34: { + if ($22) { + $$10161205 = $26;$$10175207 = $$10175204;$$10206 = $28; + while(1) { + $114 = HEAP8[$$10161205>>0]|0; + $115 = $114&255; + $116 = ((($$10161205)) + 1|0); + $117 = HEAP8[$116>>0]|0; + $118 = $117&255; + $119 = ((($$10161205)) + 2|0); + $120 = HEAP8[$119>>0]|0; + $121 = $120&255; + $122 = (_stbi__compute_y($115,$118,$121)|0); + HEAP8[$$10206>>0] = $122; + $123 = ((($$10161205)) + 3|0); + $124 = HEAP8[$123>>0]|0; + $125 = ((($$10206)) + 1|0); + HEAP8[$125>>0] = $124; + $126 = ((($$10161205)) + 4|0); + $127 = ((($$10206)) + 2|0); + $$10175 = (($$10175207) + -1)|0; + $128 = ($$10175|0)>(-1); + if ($128) { + $$10161205 = $126;$$10175207 = $$10175;$$10206 = $127; + } else { + break; + } + } + } + break; + } + case 35: { + if ($23) { + $$11162201 = $26;$$11176203 = $$11176200;$$11202 = $28; + while(1) { + $129 = HEAP8[$$11162201>>0]|0; + HEAP8[$$11202>>0] = $129; + $130 = ((($$11162201)) + 1|0); + $131 = HEAP8[$130>>0]|0; + $132 = ((($$11202)) + 1|0); + HEAP8[$132>>0] = $131; + $133 = ((($$11162201)) + 2|0); + $134 = HEAP8[$133>>0]|0; + $135 = ((($$11202)) + 2|0); + HEAP8[$135>>0] = $134; + $136 = ((($$11162201)) + 4|0); + $137 = ((($$11202)) + 3|0); + $$11176 = (($$11176203) + -1)|0; + $138 = ($$11176|0)>(-1); + if ($138) { + $$11162201 = $136;$$11176203 = $$11176;$$11202 = $137; + } else { + break; + } + } + } + break; + } + default: { + break L13; + } + } + } while(0); + $139 = (($$0164259) + 1)|0; + $140 = ($139|0)<($4|0); + if ($140) { + $$0164259 = $139; + } else { + break L11; + } + } + ___assert_fail((16329|0),(11169|0),1506,(11319|0)); + // unreachable; + } + } while(0); + _free($0); + $$0163 = $7; + return ($$0163|0); } -function _stb_vorbis_open_file($file,$close_on_free,$error,$alloc) { - $file = $file|0; - $close_on_free = $close_on_free|0; - $error = $error|0; - $alloc = $alloc|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; +function _stbi__convert_format16($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$0151255 = 0, $$0163 = 0, $$0164259 = 0, $$0165 = 0, $$0165254 = 0, $$0165257 = 0, $$0256 = 0, $$10161205 = 0, $$10175 = 0, $$10175204 = 0, $$10175207 = 0, $$10206 = 0, $$11162201 = 0, $$11176 = 0, $$11176200 = 0, $$11176203 = 0, $$11202 = 0, $$1152250 = 0, $$1166 = 0, $$1166249 = 0; + var $$1166252 = 0, $$1251 = 0, $$2153245 = 0, $$2167 = 0, $$2167244 = 0, $$2167247 = 0, $$2246 = 0, $$3154240 = 0, $$3168 = 0, $$3168239 = 0, $$3168242 = 0, $$3241 = 0, $$4155235 = 0, $$4169 = 0, $$4169234 = 0, $$4169237 = 0, $$4236 = 0, $$5156230 = 0, $$5170 = 0, $$5170229 = 0; + var $$5170232 = 0, $$5231 = 0, $$6157225 = 0, $$6171 = 0, $$6171224 = 0, $$6171227 = 0, $$6226 = 0, $$7158220 = 0, $$7172 = 0, $$7172219 = 0, $$7172222 = 0, $$7221 = 0, $$8159215 = 0, $$8173 = 0, $$8173214 = 0, $$8173217 = 0, $$8216 = 0, $$9160210 = 0, $$9174 = 0, $$9174209 = 0; + var $$9174212 = 0, $$9211 = 0, $$off = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0; + var $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0; + var $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0; + var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0; + var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0; + var $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0; + var $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0; + var $98 = 0, $99 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = (_ftell($file)|0); - (_fseek($file,0,2)|0); - $1 = (_ftell($file)|0); - $2 = (($1) - ($0))|0; - (_fseek($file,$0,0)|0); - $3 = (_stb_vorbis_open_file_section($file,$close_on_free,$error,$alloc,$2)|0); - return ($3|0); + $5 = ($2|0)==($1|0); + if ($5) { + $$0163 = $0; + return ($$0163|0); + } + $$off = (($2) + -1)|0; + $6 = ($$off>>>0)<(4); + if (!($6)) { + ___assert_fail((11265|0),(11169|0),1526,(11296|0)); + // unreachable; + } + $7 = $2 << 1; + $8 = Math_imul($7, $3)|0; + $9 = Math_imul($8, $4)|0; + $10 = (_stbi__malloc($9)|0); + $11 = ($10|0)==(0|0); + if ($11) { + _free($0); + _stbi__err(11224); + $$0163 = 0; + return ($$0163|0); + } + $12 = ($4|0)>(0); + L11: do { + if ($12) { + $13 = $1 << 3; + $14 = (($13) + ($2))|0; + $$0165254 = (($3) + -1)|0; + $15 = ($$0165254|0)>(-1); + $$1166249 = (($3) + -1)|0; + $16 = ($$1166249|0)>(-1); + $$2167244 = (($3) + -1)|0; + $17 = ($$2167244|0)>(-1); + $$3168239 = (($3) + -1)|0; + $18 = ($$3168239|0)>(-1); + $$4169234 = (($3) + -1)|0; + $19 = ($$4169234|0)>(-1); + $$5170229 = (($3) + -1)|0; + $20 = ($$5170229|0)>(-1); + $$6171224 = (($3) + -1)|0; + $21 = ($$6171224|0)>(-1); + $$7172219 = (($3) + -1)|0; + $22 = ($$7172219|0)>(-1); + $$8173214 = (($3) + -1)|0; + $23 = ($$8173214|0)>(-1); + $$9174209 = (($3) + -1)|0; + $24 = ($$9174209|0)>(-1); + $$10175204 = (($3) + -1)|0; + $25 = ($$10175204|0)>(-1); + $$11176200 = (($3) + -1)|0; + $26 = ($$11176200|0)>(-1); + $$0164259 = 0; + L13: while(1) { + $27 = Math_imul($$0164259, $3)|0; + $28 = Math_imul($27, $1)|0; + $29 = (($0) + ($28<<1)|0); + $30 = Math_imul($27, $2)|0; + $31 = (($10) + ($30<<1)|0); + do { + switch ($14|0) { + case 10: { + if ($15) { + $$0151255 = $29;$$0165257 = $$0165254;$$0256 = $31; + while(1) { + $32 = HEAP16[$$0151255>>1]|0; + HEAP16[$$0256>>1] = $32; + $33 = ((($$0256)) + 2|0); + HEAP16[$33>>1] = -1; + $34 = ((($$0151255)) + 2|0); + $35 = ((($$0256)) + 4|0); + $$0165 = (($$0165257) + -1)|0; + $36 = ($$0165|0)>(-1); + if ($36) { + $$0151255 = $34;$$0165257 = $$0165;$$0256 = $35; + } else { + break; + } + } + } + break; + } + case 11: { + if ($16) { + $$1152250 = $29;$$1166252 = $$1166249;$$1251 = $31; + while(1) { + $37 = HEAP16[$$1152250>>1]|0; + $38 = ((($$1251)) + 4|0); + HEAP16[$38>>1] = $37; + $39 = ((($$1251)) + 2|0); + HEAP16[$39>>1] = $37; + HEAP16[$$1251>>1] = $37; + $40 = ((($$1152250)) + 2|0); + $41 = ((($$1251)) + 6|0); + $$1166 = (($$1166252) + -1)|0; + $42 = ($$1166|0)>(-1); + if ($42) { + $$1152250 = $40;$$1166252 = $$1166;$$1251 = $41; + } else { + break; + } + } + } + break; + } + case 12: { + if ($17) { + $$2153245 = $29;$$2167247 = $$2167244;$$2246 = $31; + while(1) { + $43 = HEAP16[$$2153245>>1]|0; + $44 = ((($$2246)) + 4|0); + HEAP16[$44>>1] = $43; + $45 = ((($$2246)) + 2|0); + HEAP16[$45>>1] = $43; + HEAP16[$$2246>>1] = $43; + $46 = ((($$2246)) + 6|0); + HEAP16[$46>>1] = -1; + $47 = ((($$2153245)) + 2|0); + $48 = ((($$2246)) + 8|0); + $$2167 = (($$2167247) + -1)|0; + $49 = ($$2167|0)>(-1); + if ($49) { + $$2153245 = $47;$$2167247 = $$2167;$$2246 = $48; + } else { + break; + } + } + } + break; + } + case 17: { + if ($18) { + $$3154240 = $29;$$3168242 = $$3168239;$$3241 = $31; + while(1) { + $50 = HEAP16[$$3154240>>1]|0; + HEAP16[$$3241>>1] = $50; + $51 = ((($$3154240)) + 4|0); + $52 = ((($$3241)) + 2|0); + $$3168 = (($$3168242) + -1)|0; + $53 = ($$3168|0)>(-1); + if ($53) { + $$3154240 = $51;$$3168242 = $$3168;$$3241 = $52; + } else { + break; + } + } + } + break; + } + case 19: { + if ($19) { + $$4155235 = $29;$$4169237 = $$4169234;$$4236 = $31; + while(1) { + $54 = HEAP16[$$4155235>>1]|0; + $55 = ((($$4236)) + 4|0); + HEAP16[$55>>1] = $54; + $56 = ((($$4236)) + 2|0); + HEAP16[$56>>1] = $54; + HEAP16[$$4236>>1] = $54; + $57 = ((($$4155235)) + 4|0); + $58 = ((($$4236)) + 6|0); + $$4169 = (($$4169237) + -1)|0; + $59 = ($$4169|0)>(-1); + if ($59) { + $$4155235 = $57;$$4169237 = $$4169;$$4236 = $58; + } else { + break; + } + } + } + break; + } + case 20: { + if ($20) { + $$5156230 = $29;$$5170232 = $$5170229;$$5231 = $31; + while(1) { + $60 = HEAP16[$$5156230>>1]|0; + $61 = ((($$5231)) + 4|0); + HEAP16[$61>>1] = $60; + $62 = ((($$5231)) + 2|0); + HEAP16[$62>>1] = $60; + HEAP16[$$5231>>1] = $60; + $63 = ((($$5156230)) + 2|0); + $64 = HEAP16[$63>>1]|0; + $65 = ((($$5231)) + 6|0); + HEAP16[$65>>1] = $64; + $66 = ((($$5156230)) + 4|0); + $67 = ((($$5231)) + 8|0); + $$5170 = (($$5170232) + -1)|0; + $68 = ($$5170|0)>(-1); + if ($68) { + $$5156230 = $66;$$5170232 = $$5170;$$5231 = $67; + } else { + break; + } + } + } + break; + } + case 28: { + if ($21) { + $$6157225 = $29;$$6171227 = $$6171224;$$6226 = $31; + while(1) { + $69 = HEAP16[$$6157225>>1]|0; + HEAP16[$$6226>>1] = $69; + $70 = ((($$6157225)) + 2|0); + $71 = HEAP16[$70>>1]|0; + $72 = ((($$6226)) + 2|0); + HEAP16[$72>>1] = $71; + $73 = ((($$6157225)) + 4|0); + $74 = HEAP16[$73>>1]|0; + $75 = ((($$6226)) + 4|0); + HEAP16[$75>>1] = $74; + $76 = ((($$6226)) + 6|0); + HEAP16[$76>>1] = -1; + $77 = ((($$6157225)) + 6|0); + $78 = ((($$6226)) + 8|0); + $$6171 = (($$6171227) + -1)|0; + $79 = ($$6171|0)>(-1); + if ($79) { + $$6157225 = $77;$$6171227 = $$6171;$$6226 = $78; + } else { + break; + } + } + } + break; + } + case 25: { + if ($22) { + $$7158220 = $29;$$7172222 = $$7172219;$$7221 = $31; + while(1) { + $80 = HEAP16[$$7158220>>1]|0; + $81 = $80&65535; + $82 = ((($$7158220)) + 2|0); + $83 = HEAP16[$82>>1]|0; + $84 = $83&65535; + $85 = ((($$7158220)) + 4|0); + $86 = HEAP16[$85>>1]|0; + $87 = $86&65535; + $88 = (_stbi__compute_y_16($81,$84,$87)|0); + HEAP16[$$7221>>1] = $88; + $89 = ((($$7158220)) + 6|0); + $90 = ((($$7221)) + 2|0); + $$7172 = (($$7172222) + -1)|0; + $91 = ($$7172|0)>(-1); + if ($91) { + $$7158220 = $89;$$7172222 = $$7172;$$7221 = $90; + } else { + break; + } + } + } + break; + } + case 26: { + if ($23) { + $$8159215 = $29;$$8173217 = $$8173214;$$8216 = $31; + while(1) { + $92 = HEAP16[$$8159215>>1]|0; + $93 = $92&65535; + $94 = ((($$8159215)) + 2|0); + $95 = HEAP16[$94>>1]|0; + $96 = $95&65535; + $97 = ((($$8159215)) + 4|0); + $98 = HEAP16[$97>>1]|0; + $99 = $98&65535; + $100 = (_stbi__compute_y_16($93,$96,$99)|0); + HEAP16[$$8216>>1] = $100; + $101 = ((($$8216)) + 2|0); + HEAP16[$101>>1] = -1; + $102 = ((($$8159215)) + 6|0); + $103 = ((($$8216)) + 4|0); + $$8173 = (($$8173217) + -1)|0; + $104 = ($$8173|0)>(-1); + if ($104) { + $$8159215 = $102;$$8173217 = $$8173;$$8216 = $103; + } else { + break; + } + } + } + break; + } + case 33: { + if ($24) { + $$9160210 = $29;$$9174212 = $$9174209;$$9211 = $31; + while(1) { + $105 = HEAP16[$$9160210>>1]|0; + $106 = $105&65535; + $107 = ((($$9160210)) + 2|0); + $108 = HEAP16[$107>>1]|0; + $109 = $108&65535; + $110 = ((($$9160210)) + 4|0); + $111 = HEAP16[$110>>1]|0; + $112 = $111&65535; + $113 = (_stbi__compute_y_16($106,$109,$112)|0); + HEAP16[$$9211>>1] = $113; + $114 = ((($$9160210)) + 8|0); + $115 = ((($$9211)) + 2|0); + $$9174 = (($$9174212) + -1)|0; + $116 = ($$9174|0)>(-1); + if ($116) { + $$9160210 = $114;$$9174212 = $$9174;$$9211 = $115; + } else { + break; + } + } + } + break; + } + case 34: { + if ($25) { + $$10161205 = $29;$$10175207 = $$10175204;$$10206 = $31; + while(1) { + $117 = HEAP16[$$10161205>>1]|0; + $118 = $117&65535; + $119 = ((($$10161205)) + 2|0); + $120 = HEAP16[$119>>1]|0; + $121 = $120&65535; + $122 = ((($$10161205)) + 4|0); + $123 = HEAP16[$122>>1]|0; + $124 = $123&65535; + $125 = (_stbi__compute_y_16($118,$121,$124)|0); + HEAP16[$$10206>>1] = $125; + $126 = ((($$10161205)) + 6|0); + $127 = HEAP16[$126>>1]|0; + $128 = ((($$10206)) + 2|0); + HEAP16[$128>>1] = $127; + $129 = ((($$10161205)) + 8|0); + $130 = ((($$10206)) + 4|0); + $$10175 = (($$10175207) + -1)|0; + $131 = ($$10175|0)>(-1); + if ($131) { + $$10161205 = $129;$$10175207 = $$10175;$$10206 = $130; + } else { + break; + } + } + } + break; + } + case 35: { + if ($26) { + $$11162201 = $29;$$11176203 = $$11176200;$$11202 = $31; + while(1) { + $132 = HEAP16[$$11162201>>1]|0; + HEAP16[$$11202>>1] = $132; + $133 = ((($$11162201)) + 2|0); + $134 = HEAP16[$133>>1]|0; + $135 = ((($$11202)) + 2|0); + HEAP16[$135>>1] = $134; + $136 = ((($$11162201)) + 4|0); + $137 = HEAP16[$136>>1]|0; + $138 = ((($$11202)) + 4|0); + HEAP16[$138>>1] = $137; + $139 = ((($$11162201)) + 8|0); + $140 = ((($$11202)) + 6|0); + $$11176 = (($$11176203) + -1)|0; + $141 = ($$11176|0)>(-1); + if ($141) { + $$11162201 = $139;$$11176203 = $$11176;$$11202 = $140; + } else { + break; + } + } + } + break; + } + default: { + break L13; + } + } + } while(0); + $142 = (($$0164259) + 1)|0; + $143 = ($142|0)<($4|0); + if ($143) { + $$0164259 = $142; + } else { + break L11; + } + } + ___assert_fail((16329|0),(11169|0),1555,(11296|0)); + // unreachable; + } + } while(0); + _free($0); + $$0163 = $10; + return ($$0163|0); } -function _stb_vorbis_open_filename($filename,$error,$alloc) { - $filename = $filename|0; - $error = $error|0; - $alloc = $alloc|0; - var $$0 = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; +function _stbi__compute_y_16($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = (_fopen($filename,19734)|0); - $1 = ($0|0)==(0|0); - if (!($1)) { - $2 = (_stb_vorbis_open_file($0,1,$error,$alloc)|0); - $$0 = $2; + $3 = ($0*77)|0; + $4 = ($1*150)|0; + $5 = (($4) + ($3))|0; + $6 = ($2*29)|0; + $7 = (($5) + ($6))|0; + $8 = $7 >>> 8; + $9 = $8&65535; + return ($9|0); +} +function _stbi__malloc_mad3($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$0 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = (_stbi__mad3sizes_valid($0,$1,$2)|0); + $4 = ($3|0)==(0); + if ($4) { + $$0 = 0; return ($$0|0); } - $3 = ($error|0)==(0|0); + $5 = Math_imul($1, $0)|0; + $6 = Math_imul($5, $2)|0; + $7 = (_stbi__malloc($6)|0); + $$0 = $7; + return ($$0|0); +} +function _stbi__compute_y($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ($0*77)|0; + $4 = ($1*150)|0; + $5 = (($4) + ($3))|0; + $6 = ($2*29)|0; + $7 = (($5) + ($6))|0; + $8 = $7 >>> 8; + $9 = $8&255; + return ($9|0); +} +function _stbi__mad3sizes_valid($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = (_stbi__mul2sizes_valid($0,$1)|0); + $4 = ($3|0)==(0); + if ($4) { + $12 = 0; + } else { + $5 = Math_imul($1, $0)|0; + $6 = (_stbi__mul2sizes_valid($5,$2)|0); + $7 = ($6|0)==(0); + if ($7) { + $12 = 0; + } else { + $8 = Math_imul($5, $2)|0; + $9 = (_stbi__addsizes_valid($8)|0); + $10 = ($9|0)!=(0); + $12 = $10; + } + } + $11 = $12&1; + return ($11|0); +} +function _stbi__mul2sizes_valid($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = $1 | $0; + $3 = ($2|0)<(0); + if ($3) { + $$0 = 0; + } else { + $4 = ($1|0)==(0); + if ($4) { + $$0 = 1; + } else { + $5 = (2147483647 / ($1|0))&-1; + $6 = ($5|0)>=($0|0); + $7 = $6&1; + $$0 = $7; + } + } + return ($$0|0); +} +function _stbi__addsizes_valid($0) { + $0 = $0|0; + var label = 0, sp = 0; + sp = STACKTOP; + return 1; +} +function _stbi__check_png_header($0) { + $0 = $0|0; + var $$05 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (_stbi__get8($0)|0); + $2 = ($1<<24>>24)==(-119); + if ($2) { + $3 = (_stbi__get8($0)|0); + $4 = ($3<<24>>24)==(80); + if ($4) { + $5 = (_stbi__get8($0)|0); + $6 = ($5<<24>>24)==(78); + if ($6) { + $7 = (_stbi__get8($0)|0); + $8 = ($7<<24>>24)==(71); + if ($8) { + $9 = (_stbi__get8($0)|0); + $10 = ($9<<24>>24)==(13); + if ($10) { + $11 = (_stbi__get8($0)|0); + $12 = ($11<<24>>24)==(10); + if ($12) { + $13 = (_stbi__get8($0)|0); + $14 = ($13<<24>>24)==(26); + if ($14) { + $15 = (_stbi__get8($0)|0); + $16 = ($15<<24>>24)==(10); + if ($16) { + $$05 = 1; + return ($$05|0); + } + } + } + } + } + } + } + } + _stbi__err(12578); + $$05 = 0; + return ($$05|0); +} +function _stbi__get_chunk_header($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$sroa$4$0$$sroa_idx2 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = (_stbi__get32be($1)|0); + $3 = (_stbi__get32be($1)|0); + HEAP32[$0>>2] = $2; + $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); + HEAP32[$$sroa$4$0$$sroa_idx2>>2] = $3; + return; +} +function _stbi__skip($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; + var $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ($1|0)<(0); + if ($2) { + $3 = ((($0)) + 172|0); + $4 = HEAP32[$3>>2]|0; + $5 = ((($0)) + 168|0); + HEAP32[$5>>2] = $4; + return; + } + $6 = ((($0)) + 16|0); + $7 = HEAP32[$6>>2]|0; + $8 = ($7|0)==(0|0); + if (!($8)) { + $9 = ((($0)) + 172|0); + $10 = HEAP32[$9>>2]|0; + $11 = ((($0)) + 168|0); + $12 = HEAP32[$11>>2]|0; + $13 = $10; + $14 = (($13) - ($12))|0; + $15 = ($14|0)<($1|0); + if ($15) { + HEAP32[$11>>2] = $10; + $16 = ((($0)) + 20|0); + $17 = HEAP32[$16>>2]|0; + $18 = ((($0)) + 28|0); + $19 = HEAP32[$18>>2]|0; + $20 = (($1) - ($14))|0; + FUNCTION_TABLE_vii[$17 & 63]($19,$20); + return; + } + } + $21 = ((($0)) + 168|0); + $22 = HEAP32[$21>>2]|0; + $23 = (($22) + ($1)|0); + HEAP32[$21>>2] = $23; + return; +} +function _stbi__get32be($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (_stbi__get16be($0)|0); + $2 = $1 << 16; + $3 = (_stbi__get16be($0)|0); + $4 = (($2) + ($3))|0; + return ($4|0); +} +function _stbi__get8($0) { + $0 = $0|0; + var $$0 = 0, $$sink6 = 0, $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 168|0); + $2 = HEAP32[$1>>2]|0; + $3 = ((($0)) + 172|0); + $4 = HEAP32[$3>>2]|0; + $5 = ($2>>>0)<($4>>>0); + do { + if ($5) { + $$sink6 = $2; + } else { + $6 = ((($0)) + 32|0); + $7 = HEAP32[$6>>2]|0; + $8 = ($7|0)==(0); + if ($8) { + $$0 = 0; + return ($$0|0); + } else { + _stbi__refill_buffer($0); + $9 = HEAP32[$1>>2]|0; + $$sink6 = $9; + break; + } + } + } while(0); + $10 = ((($$sink6)) + 1|0); + HEAP32[$1>>2] = $10; + $11 = HEAP8[$$sink6>>0]|0; + $$0 = $11; + return ($$0|0); +} +function _stbi__get16be($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (_stbi__get8($0)|0); + $2 = $1&255; + $3 = $2 << 8; + $4 = (_stbi__get8($0)|0); + $5 = $4&255; + $6 = $3 | $5; + return ($6|0); +} +function _stbi__getn($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ((($0)) + 16|0); + $4 = HEAP32[$3>>2]|0; + $5 = ($4|0)==(0|0); + if (!($5)) { + $6 = ((($0)) + 172|0); + $7 = HEAP32[$6>>2]|0; + $8 = ((($0)) + 168|0); + $9 = HEAP32[$8>>2]|0; + $10 = $9; + $11 = (($7) - ($10))|0; + $12 = ($11|0)<($2|0); + if ($12) { + _memcpy(($1|0),($9|0),($11|0))|0; + $13 = HEAP32[$3>>2]|0; + $14 = ((($0)) + 28|0); + $15 = HEAP32[$14>>2]|0; + $16 = (($1) + ($11)|0); + $17 = (($2) - ($11))|0; + $18 = (FUNCTION_TABLE_iiii[$13 & 15]($15,$16,$17)|0); + $19 = ($18|0)==($17|0); + $20 = $19&1; + $21 = HEAP32[$6>>2]|0; + HEAP32[$8>>2] = $21; + $$1 = $20; + return ($$1|0); + } + } + $22 = ((($0)) + 168|0); + $23 = HEAP32[$22>>2]|0; + $24 = (($23) + ($2)|0); + $25 = ((($0)) + 172|0); + $26 = HEAP32[$25>>2]|0; + $27 = ($24>>>0)>($26>>>0); + if ($27) { + $$1 = 0; + return ($$1|0); + } + _memcpy(($1|0),($23|0),($2|0))|0; + $28 = HEAP32[$22>>2]|0; + $29 = (($28) + ($2)|0); + HEAP32[$22>>2] = $29; + $$1 = 1; + return ($$1|0); +} +function _stbi_zlib_decode_malloc_guesssize_headerflag($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 4080|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(4080|0); + $5 = sp; + $6 = (_stbi__malloc($2)|0); + $7 = ($6|0)==(0|0); + do { + if ($7) { + $$0 = 0; + } else { + HEAP32[$5>>2] = $0; + $8 = (($0) + ($1)|0); + $9 = ((($5)) + 4|0); + HEAP32[$9>>2] = $8; + $10 = (_stbi__do_zlib($5,$6,$2,1,$4)|0); + $11 = ($10|0)==(0); + $12 = ((($5)) + 20|0); + $13 = HEAP32[$12>>2]|0; + if ($11) { + _free($13); + $$0 = 0; + break; + } + $14 = ($3|0)==(0|0); + if ($14) { + $$0 = $13; + } else { + $15 = ((($5)) + 16|0); + $16 = HEAP32[$15>>2]|0; + $17 = $13; + $18 = (($16) - ($17))|0; + HEAP32[$3>>2] = $18; + $$0 = $13; + } + } + } while(0); + STACKTOP = sp;return ($$0|0); +} +function _stbi__create_png_image($0,$1,$2,$3,$4,$5,$6) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + $6 = $6|0; + var $$0103117 = 0, $$0106116 = 0, $$0107115 = 0, $$095119 = 0, $$099118 = 0, $$3102$ph = 0, $$398$ph = 0, $$4 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0; + var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0; + var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $60 = 0, $61 = 0; + var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0; + var $80 = 0, $81 = 0, $82 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $7 = ($4|0)==(16); + $8 = $7 ? 2 : 1; + $9 = Math_imul($8, $3)|0; + $10 = ($6|0)==(0); + $11 = HEAP32[$0>>2]|0; + $12 = HEAP32[$11>>2]|0; + $13 = ((($11)) + 4|0); + $14 = HEAP32[$13>>2]|0; + if ($10) { + $15 = (_stbi__create_png_image_raw($0,$1,$2,$3,$12,$14,$4,$5)|0); + $$4 = $15; + return ($$4|0); + } + $16 = (_stbi__malloc_mad3($12,$14,$9)|0); + $17 = ((($0)) + 12|0); + $18 = ((($0)) + 12|0); + $$0103117 = 0;$$095119 = $1;$$099118 = $2; + while(1) { + $19 = HEAP32[$0>>2]|0; + $20 = HEAP32[$19>>2]|0; + $21 = (2980 + ($$0103117<<2)|0); + $22 = HEAP32[$21>>2]|0; + $23 = (3008 + ($$0103117<<2)|0); + $24 = HEAP32[$23>>2]|0; + $25 = (($20) + -1)|0; + $26 = (($25) - ($22))|0; + $27 = (($26) + ($24))|0; + $28 = (($27>>>0) / ($24>>>0))&-1; + $29 = ((($19)) + 4|0); + $30 = HEAP32[$29>>2]|0; + $31 = (3036 + ($$0103117<<2)|0); + $32 = HEAP32[$31>>2]|0; + $33 = (3064 + ($$0103117<<2)|0); + $34 = HEAP32[$33>>2]|0; + $35 = (($30) + -1)|0; + $36 = (($35) - ($32))|0; + $37 = (($36) + ($34))|0; + $38 = (($37>>>0) / ($34>>>0))&-1; + $39 = ($24>>>0)<=($27>>>0); + $40 = ($34>>>0)<=($37>>>0); + $or$cond = $39 & $40; + if ($or$cond) { + $41 = ((($19)) + 8|0); + $42 = HEAP32[$41>>2]|0; + $43 = Math_imul($28, $4)|0; + $44 = Math_imul($43, $42)|0; + $45 = (($44) + 7)|0; + $46 = $45 >> 3; + $47 = (($46) + 1)|0; + $48 = Math_imul($47, $38)|0; + $49 = (_stbi__create_png_image_raw($0,$$095119,$$099118,$3,$28,$38,$4,$5)|0); + $50 = ($49|0)==(0); + if ($50) { + label = 13; + break; + } + $51 = ($38|0)>(0); + if ($51) { + $52 = ($28|0)>(0); + $$0106116 = 0; + while(1) { + if ($52) { + $53 = HEAP32[$33>>2]|0; + $54 = Math_imul($53, $$0106116)|0; + $55 = HEAP32[$31>>2]|0; + $56 = (($54) + ($55))|0; + $57 = HEAP32[$23>>2]|0; + $58 = HEAP32[$21>>2]|0; + $59 = Math_imul($56, $9)|0; + $60 = Math_imul($$0106116, $28)|0; + $$0107115 = 0; + while(1) { + $61 = Math_imul($57, $$0107115)|0; + $62 = (($61) + ($58))|0; + $63 = HEAP32[$0>>2]|0; + $64 = HEAP32[$63>>2]|0; + $65 = Math_imul($59, $64)|0; + $66 = (($16) + ($65)|0); + $67 = Math_imul($62, $9)|0; + $68 = (($66) + ($67)|0); + $69 = HEAP32[$18>>2]|0; + $70 = (($$0107115) + ($60))|0; + $71 = Math_imul($70, $9)|0; + $72 = (($69) + ($71)|0); + _memcpy(($68|0),($72|0),($9|0))|0; + $73 = (($$0107115) + 1)|0; + $74 = ($73|0)<($28|0); + if ($74) { + $$0107115 = $73; + } else { + break; + } + } + } + $75 = (($$0106116) + 1)|0; + $76 = ($75|0)<($38|0); + if ($76) { + $$0106116 = $75; + } else { + break; + } + } + } + $77 = HEAP32[$17>>2]|0; + _free($77); + $78 = (($$095119) + ($48)|0); + $79 = (($$099118) - ($48))|0; + $$3102$ph = $79;$$398$ph = $78; + } else { + $$3102$ph = $$099118;$$398$ph = $$095119; + } + $80 = (($$0103117) + 1)|0; + $81 = ($80|0)<(7); + if ($81) { + $$0103117 = $80;$$095119 = $$398$ph;$$099118 = $$3102$ph; + } else { + label = 15; + break; + } + } + if ((label|0) == 13) { + _free($16); + $$4 = 0; + return ($$4|0); + } + else if ((label|0) == 15) { + $82 = ((($0)) + 12|0); + HEAP32[$82>>2] = $16; + $$4 = 1; + return ($$4|0); + } + return (0)|0; +} +function _stbi__compute_transparency16($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$0323 = 0, $$04 = 0, $$1335 = 0, $$16 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; + var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond9 = 0, $not$ = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = HEAP32[$0>>2]|0; + $4 = HEAP32[$3>>2]|0; + $5 = ((($3)) + 4|0); + $6 = HEAP32[$5>>2]|0; + $7 = Math_imul($6, $4)|0; + $8 = ((($0)) + 12|0); + $9 = HEAP32[$8>>2]|0; + switch ($2|0) { + case 2: { + $13 = ($7|0)==(0); + if ($13) { + return; + } else { + $$0323 = 0;$$04 = $9; + } + while(1) { + $14 = HEAP16[$$04>>1]|0; + $15 = HEAP16[$1>>1]|0; + $not$ = ($14<<16>>16)!=($15<<16>>16); + $16 = $not$ << 31 >> 31; + $17 = ((($$04)) + 2|0); + HEAP16[$17>>1] = $16; + $18 = ((($$04)) + 4|0); + $19 = (($$0323) + 1)|0; + $exitcond = ($19|0)==($7|0); + if ($exitcond) { + break; + } else { + $$0323 = $19;$$04 = $18; + } + } + return; + break; + } + case 4: { + $10 = ($7|0)==(0); + if ($10) { + return; + } + $11 = ((($1)) + 2|0); + $12 = ((($1)) + 4|0); + $$1335 = 0;$$16 = $9; + while(1) { + $20 = HEAP16[$$16>>1]|0; + $21 = HEAP16[$1>>1]|0; + $22 = ($20<<16>>16)==($21<<16>>16); + if ($22) { + $23 = ((($$16)) + 2|0); + $24 = HEAP16[$23>>1]|0; + $25 = HEAP16[$11>>1]|0; + $26 = ($24<<16>>16)==($25<<16>>16); + if ($26) { + $27 = ((($$16)) + 4|0); + $28 = HEAP16[$27>>1]|0; + $29 = HEAP16[$12>>1]|0; + $30 = ($28<<16>>16)==($29<<16>>16); + if ($30) { + $31 = ((($$16)) + 6|0); + HEAP16[$31>>1] = 0; + } + } + } + $32 = ((($$16)) + 8|0); + $33 = (($$1335) + 1)|0; + $exitcond9 = ($33|0)==($7|0); + if ($exitcond9) { + break; + } else { + $$1335 = $33;$$16 = $32; + } + } + return; + break; + } + default: { + ___assert_fail((11660|0),(11169|0),4569,(11712|0)); + // unreachable; + } + } +} +function _stbi__compute_transparency($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$0323 = 0, $$04 = 0, $$1335 = 0, $$16 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; + var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond9 = 0, $not$ = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = HEAP32[$0>>2]|0; + $4 = HEAP32[$3>>2]|0; + $5 = ((($3)) + 4|0); + $6 = HEAP32[$5>>2]|0; + $7 = Math_imul($6, $4)|0; + $8 = ((($0)) + 12|0); + $9 = HEAP32[$8>>2]|0; + switch ($2|0) { + case 2: { + $13 = ($7|0)==(0); + if ($13) { + return; + } else { + $$0323 = 0;$$04 = $9; + } + while(1) { + $14 = HEAP8[$$04>>0]|0; + $15 = HEAP8[$1>>0]|0; + $not$ = ($14<<24>>24)!=($15<<24>>24); + $16 = $not$ << 31 >> 31; + $17 = ((($$04)) + 1|0); + HEAP8[$17>>0] = $16; + $18 = ((($$04)) + 2|0); + $19 = (($$0323) + 1)|0; + $exitcond = ($19|0)==($7|0); + if ($exitcond) { + break; + } else { + $$0323 = $19;$$04 = $18; + } + } + return; + break; + } + case 4: { + $10 = ($7|0)==(0); + if ($10) { + return; + } + $11 = ((($1)) + 1|0); + $12 = ((($1)) + 2|0); + $$1335 = 0;$$16 = $9; + while(1) { + $20 = HEAP8[$$16>>0]|0; + $21 = HEAP8[$1>>0]|0; + $22 = ($20<<24>>24)==($21<<24>>24); + if ($22) { + $23 = ((($$16)) + 1|0); + $24 = HEAP8[$23>>0]|0; + $25 = HEAP8[$11>>0]|0; + $26 = ($24<<24>>24)==($25<<24>>24); + if ($26) { + $27 = ((($$16)) + 2|0); + $28 = HEAP8[$27>>0]|0; + $29 = HEAP8[$12>>0]|0; + $30 = ($28<<24>>24)==($29<<24>>24); + if ($30) { + $31 = ((($$16)) + 3|0); + HEAP8[$31>>0] = 0; + } + } + } + $32 = ((($$16)) + 4|0); + $33 = (($$1335) + 1)|0; + $exitcond9 = ($33|0)==($7|0); + if ($exitcond9) { + break; + } else { + $$1335 = $33;$$16 = $32; + } + } + return; + break; + } + default: { + ___assert_fail((11660|0),(11169|0),4544,(11685|0)); + // unreachable; + } + } +} +function _stbi__de_iphone($0) { + $0 = $0|0; + var $$05158 = 0, $$059 = 0, $$15263 = 0, $$164 = 0, $$25360 = 0, $$261 = 0, $$sink = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0; + var $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0; + var $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond68 = 0, $exitcond69 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP32[$0>>2]|0; + $2 = HEAP32[$1>>2]|0; + $3 = ((($1)) + 4|0); + $4 = HEAP32[$3>>2]|0; + $5 = Math_imul($4, $2)|0; + $6 = ((($0)) + 12|0); + $7 = HEAP32[$6>>2]|0; + $8 = ((($1)) + 12|0); + $9 = HEAP32[$8>>2]|0; + switch ($9|0) { + case 3: { + $10 = ($5|0)==(0); + if ($10) { + return; + } else { + $$05158 = $7;$$059 = 0; + } + while(1) { + $11 = HEAP8[$$05158>>0]|0; + $12 = ((($$05158)) + 2|0); + $13 = HEAP8[$12>>0]|0; + HEAP8[$$05158>>0] = $13; + HEAP8[$12>>0] = $11; + $14 = ((($$05158)) + 3|0); + $15 = (($$059) + 1)|0; + $exitcond = ($15|0)==($5|0); + if ($exitcond) { + break; + } else { + $$05158 = $14;$$059 = $15; + } + } + return; + break; + } + case 4: { + $16 = HEAP32[6774]|0; + $17 = ($16|0)==(0); + $18 = ($5|0)!=(0); + if ($17) { + if ($18) { + $$25360 = $7;$$261 = 0; + } else { + return; + } + while(1) { + $42 = HEAP8[$$25360>>0]|0; + $43 = ((($$25360)) + 2|0); + $44 = HEAP8[$43>>0]|0; + HEAP8[$$25360>>0] = $44; + HEAP8[$43>>0] = $42; + $45 = ((($$25360)) + 4|0); + $46 = (($$261) + 1)|0; + $exitcond68 = ($46|0)==($5|0); + if ($exitcond68) { + break; + } else { + $$25360 = $45;$$261 = $46; + } + } + return; + } + if ($18) { + $$15263 = $7;$$164 = 0; + } else { + return; + } + while(1) { + $19 = ((($$15263)) + 3|0); + $20 = HEAP8[$19>>0]|0; + $21 = HEAP8[$$15263>>0]|0; + $22 = ($20<<24>>24)==(0); + $23 = ((($$15263)) + 2|0); + $24 = HEAP8[$23>>0]|0; + if ($22) { + HEAP8[$$15263>>0] = $24; + $$sink = $21; + } else { + $25 = $24&255; + $26 = ($25*255)|0; + $27 = $20&255; + $28 = (($26>>>0) / ($27>>>0))&-1; + $29 = $28&255; + HEAP8[$$15263>>0] = $29; + $30 = ((($$15263)) + 1|0); + $31 = HEAP8[$30>>0]|0; + $32 = $31&255; + $33 = ($32*255)|0; + $34 = (($33>>>0) / ($27>>>0))&-1; + $35 = $34&255; + HEAP8[$30>>0] = $35; + $36 = $21&255; + $37 = ($36*255)|0; + $38 = (($37>>>0) / ($27>>>0))&-1; + $39 = $38&255; + $$sink = $39; + } + HEAP8[$23>>0] = $$sink; + $40 = ((($$15263)) + 4|0); + $41 = (($$164) + 1)|0; + $exitcond69 = ($41|0)==($5|0); + if ($exitcond69) { + break; + } else { + $$15263 = $40;$$164 = $41; + } + } + return; + break; + } + default: { + ___assert_fail((11626|0),(11169|0),4650,(11644|0)); + // unreachable; + } + } +} +function _stbi__expand_png_palette($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$0 = 0, $$0574 = 0, $$0583 = 0, $$1595 = 0, $$16 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; + var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0; + var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = HEAP32[$0>>2]|0; + $4 = HEAP32[$3>>2]|0; + $5 = ((($3)) + 4|0); + $6 = HEAP32[$5>>2]|0; + $7 = Math_imul($6, $4)|0; + $8 = ((($0)) + 12|0); + $9 = HEAP32[$8>>2]|0; + $10 = (_stbi__malloc_mad2($7,$2)|0); + $11 = ($10|0)==(0|0); + if ($11) { + _stbi__err(11224); + $$0 = 0; + return ($$0|0); + } + $12 = ($2|0)==(3); + $13 = ($7|0)!=(0); + if ($12) { + if ($13) { + $$0574 = 0;$$0583 = $10; + while(1) { + $14 = (($9) + ($$0574)|0); + $15 = HEAP8[$14>>0]|0; + $16 = $15&255; + $17 = $16 << 2; + $18 = (($1) + ($17)|0); + $19 = HEAP8[$18>>0]|0; + HEAP8[$$0583>>0] = $19; + $20 = $17 | 1; + $21 = (($1) + ($20)|0); + $22 = HEAP8[$21>>0]|0; + $23 = ((($$0583)) + 1|0); + HEAP8[$23>>0] = $22; + $24 = $17 | 2; + $25 = (($1) + ($24)|0); + $26 = HEAP8[$25>>0]|0; + $27 = ((($$0583)) + 2|0); + HEAP8[$27>>0] = $26; + $28 = ((($$0583)) + 3|0); + $29 = (($$0574) + 1)|0; + $exitcond = ($29|0)==($7|0); + if ($exitcond) { + break; + } else { + $$0574 = $29;$$0583 = $28; + } + } + } + } else { + if ($13) { + $$1595 = $10;$$16 = 0; + while(1) { + $30 = (($9) + ($$16)|0); + $31 = HEAP8[$30>>0]|0; + $32 = $31&255; + $33 = $32 << 2; + $34 = (($1) + ($33)|0); + $35 = HEAP8[$34>>0]|0; + HEAP8[$$1595>>0] = $35; + $36 = $33 | 1; + $37 = (($1) + ($36)|0); + $38 = HEAP8[$37>>0]|0; + $39 = ((($$1595)) + 1|0); + HEAP8[$39>>0] = $38; + $40 = $33 | 2; + $41 = (($1) + ($40)|0); + $42 = HEAP8[$41>>0]|0; + $43 = ((($$1595)) + 2|0); + HEAP8[$43>>0] = $42; + $44 = $33 | 3; + $45 = (($1) + ($44)|0); + $46 = HEAP8[$45>>0]|0; + $47 = ((($$1595)) + 3|0); + HEAP8[$47>>0] = $46; + $48 = ((($$1595)) + 4|0); + $49 = (($$16) + 1)|0; + $exitcond9 = ($49|0)==($7|0); + if ($exitcond9) { + break; + } else { + $$1595 = $48;$$16 = $49; + } + } + } + } + $50 = HEAP32[$8>>2]|0; + _free($50); + HEAP32[$8>>2] = $10; + $$0 = 1; + return ($$0|0); +} +function _stbi__malloc_mad2($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = (_stbi__mad2sizes_valid($0,$1)|0); + $3 = ($2|0)==(0); if ($3) { $$0 = 0; return ($$0|0); } - HEAP32[$error>>2] = 6; - $$0 = 0; + $4 = Math_imul($1, $0)|0; + $5 = (_stbi__malloc($4)|0); + $$0 = $5; return ($$0|0); } -function _stb_vorbis_get_samples_short_interleaved($f,$channels,$buffer,$num_shorts) { - $f = $f|0; - $channels = $channels|0; - $buffer = $buffer|0; - $num_shorts = $num_shorts|0; - var $$ = 0, $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0; - var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $n$0 = 0, $n$1 = 0, $outputs = 0, label = 0, sp = 0; +function _stbi__mad2sizes_valid($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $outputs = sp; - $0 = (($num_shorts|0) / ($channels|0))&-1; - $1 = ((($f)) + 4|0); - $2 = ((($f)) + 1508|0); - $3 = ((($f)) + 1504|0); - $4 = ((($f)) + 800|0); - $$0 = $buffer;$n$0 = 0; - while(1) { - $5 = ($0|0)>($n$0|0); - if (!($5)) { - $n$1 = $n$0; - label = 7; - break; - } - $6 = HEAP32[$2>>2]|0; - $7 = HEAP32[$3>>2]|0; - $8 = (($6) - ($7))|0; - $9 = (($8) + ($n$0))|0; - $10 = ($9|0)<($0|0); - $11 = (($0) - ($n$0))|0; - $$ = $10 ? $8 : $11; - $12 = ($$|0)==(0); - if (!($12)) { - $13 = HEAP32[$1>>2]|0; - _convert_channels_short_interleaved($channels,$$0,$13,$4,$7,$$); - } - $14 = (($$) + ($n$0))|0; - $15 = HEAP32[$3>>2]|0; - $16 = (($15) + ($$))|0; - HEAP32[$3>>2] = $16; - $17 = ($14|0)==($0|0); - if ($17) { - $n$1 = $14; - label = 7; - break; - } - $18 = Math_imul($$, $channels)|0; - $19 = (($$0) + ($18<<1)|0); - $20 = (_stb_vorbis_get_frame_float($f,0,$outputs)|0); - $21 = ($20|0)==(0); - if ($21) { - $n$1 = $14; - label = 7; - break; - } else { - $$0 = $19;$n$0 = $14; - } + $2 = (_stbi__mul2sizes_valid($0,$1)|0); + $3 = ($2|0)==(0); + if ($3) { + $8 = 0; + $7 = $8&1; + return ($7|0); } - if ((label|0) == 7) { - STACKTOP = sp;return ($n$1|0); - } - return (0)|0; + $4 = Math_imul($1, $0)|0; + $5 = (_stbi__addsizes_valid($4)|0); + $6 = ($5|0)!=(0); + $8 = $6; + $7 = $8&1; + return ($7|0); } -function _TraceLog($msgType,$text,$varargs) { - $msgType = $msgType|0; - $text = $text|0; - $varargs = $varargs|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $args = 0, label = 0, sp = 0; +function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + $6 = $6|0; + $7 = $7|0; + var $$0568 = 0, $$0568724 = 0, $$0568725 = 0, $$0571$lcssa = 0, $$0571715 = 0, $$0574$lcssa = 0, $$0574714 = 0, $$0577817 = 0, $$0588 = 0, $$0597 = 0, $$0608816 = 0, $$0611815 = 0, $$0614 = 0, $$0614793 = 0, $$0614796 = 0, $$0623814 = 0, $$0625734 = 0, $$0731 = 0, $$1 = 0, $$10635764 = 0; + var $$11$ph = 0, $$11636755 = 0, $$12747 = 0, $$13739 = 0, $$14$lcssa = 0, $$14713 = 0, $$15$lcssa = 0, $$15705 = 0, $$1572$lcssa = 0, $$1572707 = 0, $$1575$lcssa = 0, $$1575706 = 0, $$1578 = 0, $$16$lcssa = 0, $$1609 = 0, $$1612 = 0, $$1615 = 0, $$1615785 = 0, $$1615788 = 0, $$1624727 = 0; + var $$1626812 = 0, $$16700 = 0, $$1721 = 0, $$1722 = 0, $$2 = 0, $$2573$lcssa = 0, $$2573702 = 0, $$2579795 = 0, $$2599794 = 0, $$2616 = 0, $$2616776 = 0, $$2616780 = 0, $$2627810 = 0, $$3580787 = 0, $$3592778 = 0, $$3600786 = 0, $$3617 = 0, $$3617767 = 0, $$3617771 = 0, $$3628808 = 0; + var $$4$lcssa = 0, $$4581779 = 0, $$4593769 = 0, $$4601777 = 0, $$4618 = 0, $$4618758 = 0, $$4618762 = 0, $$4629806 = 0, $$4701 = 0, $$5582770 = 0, $$5594760 = 0, $$5602768 = 0, $$5619 = 0, $$5619750 = 0, $$5619753 = 0, $$5630804 = 0, $$6583761 = 0, $$6603759 = 0, $$6620 = 0, $$6620742 = 0; + var $$6620745 = 0, $$6631802 = 0, $$7584752 = 0, $$7604751 = 0, $$7621798 = 0, $$7632790 = 0, $$8585744 = 0, $$8605743 = 0, $$8622729 = 0, $$8633782 = 0, $$9586 = 0, $$9606799 = 0, $$9634773 = 0, $$not = 0, $$sink = 0, $$sink1 = 0, $$sink641 = 0, $10 = 0, $100 = 0, $101 = 0; + var $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0; + var $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0; + var $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0; + var $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0; + var $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0; + var $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0; + var $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0; + var $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0; + var $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0; + var $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0; + var $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $30 = 0, $300 = 0, $301 = 0; + var $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0; + var $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0; + var $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0; + var $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0; + var $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0; + var $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0; + var $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0; + var $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0; + var $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0; + var $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0; + var $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $50 = 0, $500 = 0, $501 = 0; + var $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0; + var $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0, $531 = 0, $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0; + var $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0, $549 = 0, $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0; + var $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0, $562 = 0, $563 = 0, $564 = 0, $565 = 0, $566 = 0, $567 = 0, $568 = 0, $569 = 0, $57 = 0, $570 = 0, $571 = 0, $572 = 0, $573 = 0, $574 = 0; + var $575 = 0, $576 = 0, $577 = 0, $578 = 0, $579 = 0, $58 = 0, $580 = 0, $581 = 0, $582 = 0, $583 = 0, $584 = 0, $585 = 0, $586 = 0, $587 = 0, $588 = 0, $589 = 0, $59 = 0, $590 = 0, $591 = 0, $592 = 0; + var $593 = 0, $594 = 0, $595 = 0, $596 = 0, $597 = 0, $598 = 0, $599 = 0, $60 = 0, $600 = 0, $601 = 0, $602 = 0, $603 = 0, $604 = 0, $605 = 0, $606 = 0, $607 = 0, $608 = 0, $609 = 0, $61 = 0, $610 = 0; + var $611 = 0, $612 = 0, $613 = 0, $614 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0; + var $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0; + var $96 = 0, $97 = 0, $98 = 0, $99 = 0, $brmerge = 0, $brmerge894 = 0, $exitcond = 0, $exitcond864 = 0, $exitcond865 = 0, $exitcond867 = 0, $exitcond869 = 0, $exitcond871 = 0, $exitcond873 = 0, $exitcond875 = 0, $exitcond877 = 0, $exitcond880 = 0, $exitcond881 = 0, $exitcond882 = 0, $exitcond883 = 0, $exitcond884 = 0; + var $exitcond885 = 0, $exitcond886 = 0, $indvars$iv = 0, $indvars$iv$next = 0, $indvars$iv$next849 = 0, $indvars$iv$next852 = 0, $indvars$iv$next855 = 0, $indvars$iv$next858 = 0, $indvars$iv$next861 = 0, $indvars$iv848 = 0, $indvars$iv851 = 0, $indvars$iv854 = 0, $indvars$iv857 = 0, $indvars$iv860 = 0, $or$cond = 0, $scevgep = 0, $scevgep850 = 0, $scevgep853 = 0, $scevgep856 = 0, $scevgep859 = 0; + var $scevgep862 = 0, $scevgep866 = 0, $scevgep868 = 0, $scevgep870 = 0, $scevgep872 = 0, $scevgep874 = 0, $scevgep876 = 0, $scevgep879 = 0, $trunc = 0, $trunc637 = 0, $trunc638 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $args = sp; - switch ($msgType|0) { - case 0: { - $0 = HEAP32[8880>>2]|0; - (_fwrite(14655,6,1,$0)|0); - break; - } - case 1: { - $1 = HEAP32[8880>>2]|0; - (_fwrite(14662,7,1,$1)|0); - break; - } - case 2: { - $2 = HEAP32[8880>>2]|0; - (_fwrite(14670,9,1,$2)|0); - break; - } - case 3: { - STACKTOP = sp;return; - break; - } - default: { - } - } - HEAP32[$args>>2] = $varargs; - $3 = HEAP32[8880>>2]|0; - (_vfprintf($3,$text,$args)|0); - $4 = HEAP32[8880>>2]|0; - (_fputc(10,$4)|0); - $5 = ($msgType|0)==(1); - if ($5) { - _exit(1); + $8 = ($6|0)==(16); + $9 = $8 ? 2 : 1; + $10 = HEAP32[$0>>2]|0; + $11 = Math_imul($4, $3)|0; + $12 = Math_imul($9, $11)|0; + $13 = ((($10)) + 8|0); + $14 = HEAP32[$13>>2]|0; + $15 = Math_imul($9, $3)|0; + $16 = Math_imul($14, $9)|0; + $17 = ($14|0)==($3|0); + $18 = (($14) + 1)|0; + $19 = ($18|0)==($3|0); + $or$cond = $17 | $19; + if (!($or$cond)) { + ___assert_fail((11741|0),(11169|0),4294,(11782|0)); // unreachable; - } else { - STACKTOP = sp;return; } -} -function _GetExtension($fileName) { - $fileName = $fileName|0; - var $$0 = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $or$cond = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_strrchr($fileName,46)|0); - $1 = ($0|0)==(0|0); - $2 = ($0|0)==($fileName|0); - $or$cond = $1 | $2; - $3 = ((($0)) + 1|0); - $$0 = $or$cond ? 17160 : $3; - return ($$0|0); -} -function _ProcessGestureEvent($event) { - $event = $event|0; - var $0 = 0, $1 = 0, $10 = 0, $100 = 0.0, $101 = 0.0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0.0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0.0, $126 = 0.0, $127 = 0.0, $128 = 0.0, $129 = 0.0, $13 = 0, $130 = 0.0, $131 = 0.0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; - var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0.0, $175 = 0.0, $176 = 0.0, $177 = 0.0, $178 = 0.0, $179 = 0.0, $18 = 0, $180 = 0.0, $181 = 0, $182 = 0.0, $183 = 0, $184 = 0.0, $185 = 0.0, $186 = 0.0, $187 = 0, $188 = 0.0; - var $189 = 0.0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0; - var $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0.0, $53 = 0.0; - var $54 = 0, $55 = 0, $56 = 0, $57 = 0.0, $58 = 0.0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0; - var $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0; - var $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0.0, $95 = 0, $96 = 0.0, $97 = 0.0, $98 = 0.0, $99 = 0.0, $moveDownPosition$byval_copy11 = 0, $moveDownPosition2$byval_copy12 = 0, $or$cond = 0, $or$cond11 = 0, $or$cond3 = 0, $or$cond5 = 0, $or$cond7 = 0, $or$cond9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $moveDownPosition2$byval_copy12 = sp + 8|0; - $moveDownPosition$byval_copy11 = sp; - $0 = ((($event)) + 4|0); - $1 = HEAP32[$0>>2]|0; - HEAP32[5760>>2] = $1; - $2 = ($1|0)<(2); - if (!($2)) { - $102 = HEAP32[$event>>2]|0; - switch ($102|0) { - case 1: { - $103 = ((($event)) + 16|0); - $104 = $103; - $105 = $104; - $106 = HEAP32[$105>>2]|0; - $107 = (($104) + 4)|0; - $108 = $107; - $109 = HEAP32[$108>>2]|0; - $110 = 80; - $111 = $110; - HEAP32[$111>>2] = $106; - $112 = (($110) + 4)|0; - $113 = $112; - HEAP32[$113>>2] = $109; - $114 = ((($event)) + 24|0); - $115 = $114; - $116 = $115; - $117 = HEAP32[$116>>2]|0; - $118 = (($115) + 4)|0; - $119 = $118; - $120 = HEAP32[$119>>2]|0; - $121 = 120; - $122 = $121; - HEAP32[$122>>2] = $117; - $123 = (($121) + 4)|0; - $124 = $123; - HEAP32[$124>>2] = $120; - $125 = +HEAPF32[120>>2]; - $126 = +HEAPF32[80>>2]; - $127 = $125 - $126; - HEAPF32[128>>2] = $127; - $128 = +HEAPF32[(124)>>2]; - $129 = +HEAPF32[(84)>>2]; - $130 = $128 - $129; - HEAPF32[(132)>>2] = $130; - HEAP32[5772>>2] = 4; - STACKTOP = sp;return; - break; - } - case 2: { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[112>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[112+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[136>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[136+4>>2]|0; - $131 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - HEAPF32[5792>>2] = $131; - $132 = 112; - $133 = $132; - $134 = HEAP32[$133>>2]|0; - $135 = (($132) + 4)|0; - $136 = $135; - $137 = HEAP32[$136>>2]|0; - $138 = 80; - $139 = $138; - HEAP32[$139>>2] = $134; - $140 = (($138) + 4)|0; - $141 = $140; - HEAP32[$141>>2] = $137; - $142 = 136; - $143 = $142; - $144 = HEAP32[$143>>2]|0; - $145 = (($142) + 4)|0; - $146 = $145; - $147 = HEAP32[$146>>2]|0; - $148 = 120; - $149 = $148; - HEAP32[$149>>2] = $144; - $150 = (($148) + 4)|0; - $151 = $150; - HEAP32[$151>>2] = $147; - $152 = ((($event)) + 16|0); - $153 = $152; - $154 = $153; - $155 = HEAP32[$154>>2]|0; - $156 = (($153) + 4)|0; - $157 = $156; - $158 = HEAP32[$157>>2]|0; - $159 = 112; - $160 = $159; - HEAP32[$160>>2] = $155; - $161 = (($159) + 4)|0; - $162 = $161; - HEAP32[$162>>2] = $158; - $163 = ((($event)) + 24|0); - $164 = $163; - $165 = $164; - $166 = HEAP32[$165>>2]|0; - $167 = (($164) + 4)|0; - $168 = $167; - $169 = HEAP32[$168>>2]|0; - $170 = 136; - $171 = $170; - HEAP32[$171>>2] = $166; - $172 = (($170) + 4)|0; - $173 = $172; - HEAP32[$173>>2] = $169; - $174 = +HEAPF32[136>>2]; - $175 = +HEAPF32[112>>2]; - $176 = $174 - $175; - HEAPF32[128>>2] = $176; - $177 = +HEAPF32[(140)>>2]; - $178 = +HEAPF32[(116)>>2]; - $179 = $177 - $178; - HEAPF32[(132)>>2] = $179; - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[80>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[80+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[112>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[112+4>>2]|0; - $180 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - $181 = !($180 >= 0.004999999888241291); - if ($181) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[120>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[120+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[136>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[136+4>>2]|0; - $182 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - $183 = !($182 >= 0.004999999888241291); - if ($183) { - HEAP32[5772>>2] = 4; - } else { - label = 34; - } - } else { - label = 34; + $20 = (_stbi__malloc_mad3($4,$5,$15)|0); + $21 = ((($0)) + 12|0); + HEAP32[$21>>2] = $20; + $22 = ($20|0)==(0|0); + if ($22) { + _stbi__err(11224); + $$2 = 0; + return ($$2|0); + } + $23 = Math_imul($14, $4)|0; + $24 = Math_imul($23, $6)|0; + $25 = (($24) + 7)|0; + $26 = $25 >>> 3; + $27 = (($26) + 1)|0; + $28 = Math_imul($27, $5)|0; + $29 = HEAP32[$10>>2]|0; + $30 = ($29|0)==($4|0); + if ($30) { + $31 = ((($10)) + 4|0); + $32 = HEAP32[$31>>2]|0; + $33 = ($32|0)==($5|0); + if ($33) { + $34 = ($28|0)==($2|0); + if (!($34)) { + _stbi__err(11809); + $$2 = 0; + return ($$2|0); } - do { - if ((label|0) == 34) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[112>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[112+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[136>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[136+4>>2]|0; - $184 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - $185 = +HEAPF32[5792>>2]; - $186 = $184 - $185; - $187 = $186 < 0.0; - if ($187) { - HEAP32[5772>>2] = 256; + } else { + label = 9; + } + } else { + label = 9; + } + if ((label|0) == 9) { + $35 = ($28>>>0)>($2>>>0); + if ($35) { + _stbi__err(11809); + $$2 = 0; + return ($$2|0); + } + } + $36 = ($5|0)==(0); + L18: do { + if (!($36)) { + $37 = ($6|0)<(8); + $38 = ($26>>>0)>($4>>>0); + $39 = (($11) - ($26))|0; + $40 = (0 - ($12))|0; + $41 = ($6|0)==(8); + $brmerge = $37 | $17; + $42 = ($4|0)==(0); + $$0614793 = (($4) + -1)|0; + $43 = ($$0614793|0)==(0); + $$1615785 = (($4) + -1)|0; + $44 = ($$1615785|0)==(0); + $$2616776 = (($4) + -1)|0; + $45 = ($$2616776|0)==(0); + $$3617767 = (($4) + -1)|0; + $46 = ($$3617767|0)==(0); + $$4618758 = (($4) + -1)|0; + $47 = ($$4618758|0)==(0); + $$5619750 = (($4) + -1)|0; + $48 = ($$5619750|0)==(0); + $$6620742 = (($4) + -1)|0; + $49 = ($$6620742|0)==(0); + $$not = $8 ^ 1; + $brmerge894 = $42 | $$not; + $$0577817 = $1;$$0608816 = $4;$$0611815 = $16;$$0623814 = 0; + while(1) { + $50 = HEAP32[$21>>2]|0; + $51 = Math_imul($$0623814, $12)|0; + $52 = (($50) + ($51)|0); + $53 = ((($$0577817)) + 1|0); + $54 = HEAP8[$$0577817>>0]|0; + $55 = $54&255; + $56 = ($54&255)>(4); + if ($56) { + label = 105; + break; + } + if ($37) { + if ($38) { + label = 16; break; + } + $57 = (($52) + ($39)|0); + $$0597 = $57;$$1609 = $26;$$1612 = 1; + } else { + $$0597 = $52;$$1609 = $$0608816;$$1612 = $$0611815; + } + $58 = (($$0597) + ($40)|0); + $59 = ($$0623814|0)==(0); + if ($59) { + $60 = (11848 + ($55)|0); + $61 = HEAP8[$60>>0]|0; + $62 = $61&255; + $$0588 = $62; + } else { + $$0588 = $55; + } + $63 = ($$1612|0)>(0); + L30: do { + if ($63) { + $trunc638 = $$0588&255; + $$0625734 = 0; + while(1) { + switch ($trunc638<<24>>24) { + case 0: { + $64 = (($53) + ($$0625734)|0); + $65 = HEAP8[$64>>0]|0; + $$sink = $65; + label = 30; + break; + } + case 1: { + $66 = (($53) + ($$0625734)|0); + $67 = HEAP8[$66>>0]|0; + $$sink = $67; + label = 30; + break; + } + case 2: { + $68 = (($53) + ($$0625734)|0); + $69 = HEAP8[$68>>0]|0; + $70 = $69&255; + $71 = (($58) + ($$0625734)|0); + $72 = HEAP8[$71>>0]|0; + $73 = $72&255; + $74 = (($73) + ($70))|0; + $75 = $74&255; + $$sink = $75; + label = 30; + break; + } + case 3: { + $76 = (($53) + ($$0625734)|0); + $77 = HEAP8[$76>>0]|0; + $78 = $77&255; + $79 = (($58) + ($$0625734)|0); + $80 = HEAP8[$79>>0]|0; + $81 = $80&255; + $82 = $81 >>> 1; + $83 = (($82) + ($78))|0; + $84 = $83&255; + $$sink = $84; + label = 30; + break; + } + case 4: { + $85 = (($53) + ($$0625734)|0); + $86 = HEAP8[$85>>0]|0; + $87 = $86&255; + $88 = (($58) + ($$0625734)|0); + $89 = HEAP8[$88>>0]|0; + $90 = $89&255; + $91 = (_stbi__paeth(0,$90,0)|0); + $92 = (($91) + ($87))|0; + $93 = $92&255; + $$sink = $93; + label = 30; + break; + } + case 5: { + $94 = (($53) + ($$0625734)|0); + $95 = HEAP8[$94>>0]|0; + $$sink = $95; + label = 30; + break; + } + case 6: { + $96 = (($53) + ($$0625734)|0); + $97 = HEAP8[$96>>0]|0; + $$sink = $97; + label = 30; + break; + } + default: { + } + } + if ((label|0) == 30) { + label = 0; + $$sink1 = (($$0597) + ($$0625734)|0); + HEAP8[$$sink1>>0] = $$sink; + } + $98 = (($$0625734) + 1)|0; + $exitcond864 = ($98|0)==($$1612|0); + if ($exitcond864) { + break L30; + } else { + $$0625734 = $98; + } + } + } + } while(0); + do { + if ($41) { + if (!($17)) { + $99 = (($$0597) + ($14)|0); + HEAP8[$99>>0] = -1; + } + $100 = (($53) + ($14)|0); + $$1578 = $100;$$sink641 = $3; + } else { + if (!($8)) { + $105 = ((($$0577817)) + 2|0); + $$1578 = $105;$$sink641 = 1; + break; + } + if (!($17)) { + $101 = (($$1612) + 1)|0; + $102 = (($$0597) + ($101)|0); + $103 = (($$0597) + ($$1612)|0); + HEAP8[$103>>0] = -1; + HEAP8[$102>>0] = -1; + } + $104 = (($53) + ($$1612)|0); + $$1578 = $104;$$sink641 = $15; + } + } while(0); + $106 = (($$0597) + ($$sink641)|0); + $107 = (($58) + ($$sink641)|0); + if ($brmerge) { + $108 = (($$1609) + -1)|0; + $109 = Math_imul($108, $$1612)|0; + $trunc637 = $$0588&255; + switch ($trunc637<<24>>24) { + case 0: { + _memcpy(($106|0),($$1578|0),($109|0))|0; + break; + } + case 1: { + $115 = ($109|0)>(0); + if ($115) { + $$1626812 = 0; + while(1) { + $116 = (($$1578) + ($$1626812)|0); + $117 = HEAP8[$116>>0]|0; + $118 = $117&255; + $119 = (($$1626812) - ($$1612))|0; + $120 = (($106) + ($119)|0); + $121 = HEAP8[$120>>0]|0; + $122 = $121&255; + $123 = (($122) + ($118))|0; + $124 = $123&255; + $125 = (($106) + ($$1626812)|0); + HEAP8[$125>>0] = $124; + $126 = (($$1626812) + 1)|0; + $exitcond886 = ($126|0)==($109|0); + if ($exitcond886) { + break; + } else { + $$1626812 = $126; + } + } + } + break; + } + case 2: { + $114 = ($109|0)>(0); + if ($114) { + $$2627810 = 0; + while(1) { + $127 = (($$1578) + ($$2627810)|0); + $128 = HEAP8[$127>>0]|0; + $129 = $128&255; + $130 = (($107) + ($$2627810)|0); + $131 = HEAP8[$130>>0]|0; + $132 = $131&255; + $133 = (($132) + ($129))|0; + $134 = $133&255; + $135 = (($106) + ($$2627810)|0); + HEAP8[$135>>0] = $134; + $136 = (($$2627810) + 1)|0; + $exitcond885 = ($136|0)==($109|0); + if ($exitcond885) { + break; + } else { + $$2627810 = $136; + } + } + } + break; + } + case 3: { + $113 = ($109|0)>(0); + if ($113) { + $$3628808 = 0; + while(1) { + $137 = (($$1578) + ($$3628808)|0); + $138 = HEAP8[$137>>0]|0; + $139 = $138&255; + $140 = (($107) + ($$3628808)|0); + $141 = HEAP8[$140>>0]|0; + $142 = $141&255; + $143 = (($$3628808) - ($$1612))|0; + $144 = (($106) + ($143)|0); + $145 = HEAP8[$144>>0]|0; + $146 = $145&255; + $147 = (($146) + ($142))|0; + $148 = $147 >>> 1; + $149 = (($148) + ($139))|0; + $150 = $149&255; + $151 = (($106) + ($$3628808)|0); + HEAP8[$151>>0] = $150; + $152 = (($$3628808) + 1)|0; + $exitcond884 = ($152|0)==($109|0); + if ($exitcond884) { + break; + } else { + $$3628808 = $152; + } + } + } + break; + } + case 4: { + $112 = ($109|0)>(0); + if ($112) { + $$4629806 = 0; + while(1) { + $153 = (($$1578) + ($$4629806)|0); + $154 = HEAP8[$153>>0]|0; + $155 = $154&255; + $156 = (($$4629806) - ($$1612))|0; + $157 = (($106) + ($156)|0); + $158 = HEAP8[$157>>0]|0; + $159 = $158&255; + $160 = (($107) + ($$4629806)|0); + $161 = HEAP8[$160>>0]|0; + $162 = $161&255; + $163 = (($107) + ($156)|0); + $164 = HEAP8[$163>>0]|0; + $165 = $164&255; + $166 = (_stbi__paeth($159,$162,$165)|0); + $167 = (($166) + ($155))|0; + $168 = $167&255; + $169 = (($106) + ($$4629806)|0); + HEAP8[$169>>0] = $168; + $170 = (($$4629806) + 1)|0; + $exitcond883 = ($170|0)==($109|0); + if ($exitcond883) { + break; + } else { + $$4629806 = $170; + } + } + } + break; + } + case 5: { + $111 = ($109|0)>(0); + if ($111) { + $$5630804 = 0; + while(1) { + $171 = (($$1578) + ($$5630804)|0); + $172 = HEAP8[$171>>0]|0; + $173 = $172&255; + $174 = (($$5630804) - ($$1612))|0; + $175 = (($106) + ($174)|0); + $176 = HEAP8[$175>>0]|0; + $177 = $176&255; + $178 = $177 >>> 1; + $179 = (($178) + ($173))|0; + $180 = $179&255; + $181 = (($106) + ($$5630804)|0); + HEAP8[$181>>0] = $180; + $182 = (($$5630804) + 1)|0; + $exitcond882 = ($182|0)==($109|0); + if ($exitcond882) { + break; + } else { + $$5630804 = $182; + } + } + } + break; + } + case 6: { + $110 = ($109|0)>(0); + if ($110) { + $$6631802 = 0; + while(1) { + $183 = (($$1578) + ($$6631802)|0); + $184 = HEAP8[$183>>0]|0; + $185 = $184&255; + $186 = (($$6631802) - ($$1612))|0; + $187 = (($106) + ($186)|0); + $188 = HEAP8[$187>>0]|0; + $189 = $188&255; + $190 = (_stbi__paeth($189,0,0)|0); + $191 = (($190) + ($185))|0; + $192 = $191&255; + $193 = (($106) + ($$6631802)|0); + HEAP8[$193>>0] = $192; + $194 = (($$6631802) + 1)|0; + $exitcond881 = ($194|0)==($109|0); + if ($exitcond881) { + break; + } else { + $$6631802 = $194; + } + } + } + break; + } + default: { + } + } + $195 = (($$1578) + ($109)|0); + $$11$ph = $195; + } else { + if (!($19)) { + label = 58; + break; + } + $trunc = $$0588&255; + switch ($trunc<<24>>24) { + case 0: { + if ($43) { + $$9586 = $$1578; + } else { + $208 = ($$1612|0)>(0); + $209 = Math_imul($$6620742, $$1612)|0; + $$0614796 = $$0614793;$$2579795 = $$1578;$$2599794 = $106; + while(1) { + if ($208) { + $$7632790 = 0; + while(1) { + $210 = (($$2579795) + ($$7632790)|0); + $211 = HEAP8[$210>>0]|0; + $212 = (($$2599794) + ($$7632790)|0); + HEAP8[$212>>0] = $211; + $213 = (($$7632790) + 1)|0; + $exitcond877 = ($213|0)==($$1612|0); + if ($exitcond877) { + break; + } else { + $$7632790 = $213; + } + } + } + $214 = (($$2599794) + ($$1612)|0); + HEAP8[$214>>0] = -1; + $215 = (($$2579795) + ($$1612)|0); + $216 = (($$2599794) + ($15)|0); + $$0614 = (($$0614796) + -1)|0; + $217 = ($$0614|0)==(0); + if ($217) { + break; + } else { + $$0614796 = $$0614;$$2579795 = $215;$$2599794 = $216; + } + } + $scevgep879 = (($$1578) + ($209)|0); + $$9586 = $scevgep879; + } + break; + } + case 1: { + if ($44) { + $$9586 = $$1578; + } else { + $206 = ($$1612|0)>(0); + $207 = Math_imul($$6620742, $$1612)|0; + $$1615788 = $$1615785;$$3580787 = $$1578;$$3600786 = $106; + while(1) { + if ($206) { + $$8633782 = 0; + while(1) { + $218 = (($$3580787) + ($$8633782)|0); + $219 = HEAP8[$218>>0]|0; + $220 = $219&255; + $221 = (($$8633782) - ($15))|0; + $222 = (($$3600786) + ($221)|0); + $223 = HEAP8[$222>>0]|0; + $224 = $223&255; + $225 = (($224) + ($220))|0; + $226 = $225&255; + $227 = (($$3600786) + ($$8633782)|0); + HEAP8[$227>>0] = $226; + $228 = (($$8633782) + 1)|0; + $exitcond875 = ($228|0)==($$1612|0); + if ($exitcond875) { + break; + } else { + $$8633782 = $228; + } + } + } + $229 = (($$3600786) + ($$1612)|0); + HEAP8[$229>>0] = -1; + $230 = (($$3580787) + ($$1612)|0); + $231 = (($$3600786) + ($15)|0); + $$1615 = (($$1615788) + -1)|0; + $232 = ($$1615|0)==(0); + if ($232) { + break; + } else { + $$1615788 = $$1615;$$3580787 = $230;$$3600786 = $231; + } + } + $scevgep876 = (($$1578) + ($207)|0); + $$9586 = $scevgep876; + } + break; + } + case 2: { + if ($45) { + $$9586 = $$1578; + } else { + $204 = ($$1612|0)>(0); + $205 = Math_imul($$6620742, $$1612)|0; + $$2616780 = $$2616776;$$3592778 = $107;$$4581779 = $$1578;$$4601777 = $106; + while(1) { + if ($204) { + $$9634773 = 0; + while(1) { + $233 = (($$4581779) + ($$9634773)|0); + $234 = HEAP8[$233>>0]|0; + $235 = $234&255; + $236 = (($$3592778) + ($$9634773)|0); + $237 = HEAP8[$236>>0]|0; + $238 = $237&255; + $239 = (($238) + ($235))|0; + $240 = $239&255; + $241 = (($$4601777) + ($$9634773)|0); + HEAP8[$241>>0] = $240; + $242 = (($$9634773) + 1)|0; + $exitcond873 = ($242|0)==($$1612|0); + if ($exitcond873) { + break; + } else { + $$9634773 = $242; + } + } + } + $243 = (($$4601777) + ($$1612)|0); + HEAP8[$243>>0] = -1; + $244 = (($$4581779) + ($$1612)|0); + $245 = (($$4601777) + ($15)|0); + $246 = (($$3592778) + ($15)|0); + $$2616 = (($$2616780) + -1)|0; + $247 = ($$2616|0)==(0); + if ($247) { + break; + } else { + $$2616780 = $$2616;$$3592778 = $246;$$4581779 = $244;$$4601777 = $245; + } + } + $scevgep874 = (($$1578) + ($205)|0); + $$9586 = $scevgep874; + } + break; + } + case 3: { + if ($46) { + $$9586 = $$1578; + } else { + $202 = ($$1612|0)>(0); + $203 = Math_imul($$6620742, $$1612)|0; + $$3617771 = $$3617767;$$4593769 = $107;$$5582770 = $$1578;$$5602768 = $106; + while(1) { + if ($202) { + $$10635764 = 0; + while(1) { + $248 = (($$5582770) + ($$10635764)|0); + $249 = HEAP8[$248>>0]|0; + $250 = $249&255; + $251 = (($$4593769) + ($$10635764)|0); + $252 = HEAP8[$251>>0]|0; + $253 = $252&255; + $254 = (($$10635764) - ($15))|0; + $255 = (($$5602768) + ($254)|0); + $256 = HEAP8[$255>>0]|0; + $257 = $256&255; + $258 = (($257) + ($253))|0; + $259 = $258 >>> 1; + $260 = (($259) + ($250))|0; + $261 = $260&255; + $262 = (($$5602768) + ($$10635764)|0); + HEAP8[$262>>0] = $261; + $263 = (($$10635764) + 1)|0; + $exitcond871 = ($263|0)==($$1612|0); + if ($exitcond871) { + break; + } else { + $$10635764 = $263; + } + } + } + $264 = (($$5602768) + ($$1612)|0); + HEAP8[$264>>0] = -1; + $265 = (($$5582770) + ($$1612)|0); + $266 = (($$5602768) + ($15)|0); + $267 = (($$4593769) + ($15)|0); + $$3617 = (($$3617771) + -1)|0; + $268 = ($$3617|0)==(0); + if ($268) { + break; + } else { + $$3617771 = $$3617;$$4593769 = $267;$$5582770 = $265;$$5602768 = $266; + } + } + $scevgep872 = (($$1578) + ($203)|0); + $$9586 = $scevgep872; + } + break; + } + case 4: { + if ($47) { + $$9586 = $$1578; + } else { + $200 = ($$1612|0)>(0); + $201 = Math_imul($$6620742, $$1612)|0; + $$4618762 = $$4618758;$$5594760 = $107;$$6583761 = $$1578;$$6603759 = $106; + while(1) { + if ($200) { + $$11636755 = 0; + while(1) { + $269 = (($$6583761) + ($$11636755)|0); + $270 = HEAP8[$269>>0]|0; + $271 = $270&255; + $272 = (($$11636755) - ($15))|0; + $273 = (($$6603759) + ($272)|0); + $274 = HEAP8[$273>>0]|0; + $275 = $274&255; + $276 = (($$5594760) + ($$11636755)|0); + $277 = HEAP8[$276>>0]|0; + $278 = $277&255; + $279 = (($$5594760) + ($272)|0); + $280 = HEAP8[$279>>0]|0; + $281 = $280&255; + $282 = (_stbi__paeth($275,$278,$281)|0); + $283 = (($282) + ($271))|0; + $284 = $283&255; + $285 = (($$6603759) + ($$11636755)|0); + HEAP8[$285>>0] = $284; + $286 = (($$11636755) + 1)|0; + $exitcond869 = ($286|0)==($$1612|0); + if ($exitcond869) { + break; + } else { + $$11636755 = $286; + } + } + } + $287 = (($$6603759) + ($$1612)|0); + HEAP8[$287>>0] = -1; + $288 = (($$6583761) + ($$1612)|0); + $289 = (($$6603759) + ($15)|0); + $290 = (($$5594760) + ($15)|0); + $$4618 = (($$4618762) + -1)|0; + $291 = ($$4618|0)==(0); + if ($291) { + break; + } else { + $$4618762 = $$4618;$$5594760 = $290;$$6583761 = $288;$$6603759 = $289; + } + } + $scevgep870 = (($$1578) + ($201)|0); + $$9586 = $scevgep870; + } + break; + } + case 5: { + if ($48) { + $$9586 = $$1578; + } else { + $198 = ($$1612|0)>(0); + $199 = Math_imul($$6620742, $$1612)|0; + $$5619753 = $$5619750;$$7584752 = $$1578;$$7604751 = $106; + while(1) { + if ($198) { + $$12747 = 0; + while(1) { + $292 = (($$7584752) + ($$12747)|0); + $293 = HEAP8[$292>>0]|0; + $294 = $293&255; + $295 = (($$12747) - ($15))|0; + $296 = (($$7604751) + ($295)|0); + $297 = HEAP8[$296>>0]|0; + $298 = $297&255; + $299 = $298 >>> 1; + $300 = (($299) + ($294))|0; + $301 = $300&255; + $302 = (($$7604751) + ($$12747)|0); + HEAP8[$302>>0] = $301; + $303 = (($$12747) + 1)|0; + $exitcond867 = ($303|0)==($$1612|0); + if ($exitcond867) { + break; + } else { + $$12747 = $303; + } + } + } + $304 = (($$7604751) + ($$1612)|0); + HEAP8[$304>>0] = -1; + $305 = (($$7584752) + ($$1612)|0); + $306 = (($$7604751) + ($15)|0); + $$5619 = (($$5619753) + -1)|0; + $307 = ($$5619|0)==(0); + if ($307) { + break; + } else { + $$5619753 = $$5619;$$7584752 = $305;$$7604751 = $306; + } + } + $scevgep868 = (($$1578) + ($199)|0); + $$9586 = $scevgep868; + } + break; + } + case 6: { + if ($49) { + $$9586 = $$1578; + } else { + $196 = ($$1612|0)>(0); + $197 = Math_imul($$6620742, $$1612)|0; + $$6620745 = $$6620742;$$8585744 = $$1578;$$8605743 = $106; + while(1) { + if ($196) { + $$13739 = 0; + while(1) { + $308 = (($$8585744) + ($$13739)|0); + $309 = HEAP8[$308>>0]|0; + $310 = $309&255; + $311 = (($$13739) - ($15))|0; + $312 = (($$8605743) + ($311)|0); + $313 = HEAP8[$312>>0]|0; + $314 = $313&255; + $315 = (_stbi__paeth($314,0,0)|0); + $316 = (($315) + ($310))|0; + $317 = $316&255; + $318 = (($$8605743) + ($$13739)|0); + HEAP8[$318>>0] = $317; + $319 = (($$13739) + 1)|0; + $exitcond865 = ($319|0)==($$1612|0); + if ($exitcond865) { + break; + } else { + $$13739 = $319; + } + } + } + $320 = (($$8605743) + ($$1612)|0); + HEAP8[$320>>0] = -1; + $321 = (($$8585744) + ($$1612)|0); + $322 = (($$8605743) + ($15)|0); + $$6620 = (($$6620745) + -1)|0; + $323 = ($$6620|0)==(0); + if ($323) { + break; + } else { + $$6620745 = $$6620;$$8585744 = $321;$$8605743 = $322; + } + } + $scevgep866 = (($$1578) + ($197)|0); + $$9586 = $scevgep866; + } + break; + } + default: { + $$9586 = $$1578; + } + } + if ($brmerge894) { + $$11$ph = $$9586; + } else { + $324 = HEAP32[$21>>2]|0; + $325 = (($324) + ($51)|0); + $326 = (($$1612) + 1)|0; + $$7621798 = 0;$$9606799 = $325; + while(1) { + $327 = (($$9606799) + ($326)|0); + HEAP8[$327>>0] = -1; + $328 = (($$7621798) + 1)|0; + $329 = (($$9606799) + ($15)|0); + $exitcond880 = ($328|0)==($4|0); + if ($exitcond880) { + $$11$ph = $$9586; + break; + } else { + $$7621798 = $328;$$9606799 = $329; + } + } + } + } + $330 = (($$0623814) + 1)|0; + $331 = ($330>>>0)<($5>>>0); + if ($331) { + $$0577817 = $$11$ph;$$0608816 = $$1609;$$0611815 = $$1612;$$0623814 = $330; + } else { + break L18; + } + } + if ((label|0) == 16) { + ___assert_fail((11827|0),(11169|0),4315,(11782|0)); + // unreachable; + } + else if ((label|0) == 58) { + ___assert_fail((11853|0),(11169|0),4377,(11782|0)); + // unreachable; + } + else if ((label|0) == 105) { + _stbi__err(11870); + $$2 = 0; + return ($$2|0); + } + } + } while(0); + $332 = ($6|0)<(8); + if (!($332)) { + if (!($8)) { + $$2 = 1; + return ($$2|0); + } + $601 = Math_imul($4, $3)|0; + $602 = Math_imul($601, $5)|0; + $603 = ($602|0)==(0); + if ($603) { + $$2 = 1; + return ($$2|0); + } + $604 = HEAP32[$21>>2]|0; + $$0731 = $604;$$8622729 = 0; + while(1) { + $605 = HEAP8[$$0731>>0]|0; + $606 = $605&255; + $607 = $606 << 8; + $608 = ((($$0731)) + 1|0); + $609 = HEAP8[$608>>0]|0; + $610 = $609&255; + $611 = $607 | $610; + $612 = $611&65535; + HEAP16[$$0731>>1] = $612; + $613 = (($$8622729) + 1)|0; + $614 = ((($$0731)) + 2|0); + $exitcond = ($613|0)==($602|0); + if ($exitcond) { + $$2 = 1; + break; + } else { + $$0731 = $614;$$8622729 = $613; + } + } + return ($$2|0); + } + $333 = ($5|0)==(0); + if ($333) { + $$2 = 1; + return ($$2|0); + } + $334 = (0 - ($26))|0; + $335 = ($7|0)==(0); + $336 = (11566 + ($6)|0); + $$0568724 = (($4) + -1)|0; + $337 = ($$0568724|0)>(-1); + $$1721 = (($4) + -1)|0; + $338 = ($$1721|0)>(-1); + $339 = ($23|0)>(1); + $340 = ($23|0)>(3); + $341 = ($23|0)>(7); + $342 = (($23) + -8)|0; + $343 = $342 >>> 3; + $344 = $343 << 3; + $345 = (($344) + 8)|0; + $346 = (($342) - ($344))|0; + $347 = (($343) + ($11))|0; + $348 = (($347) + 1)|0; + $349 = (($348) - ($26))|0; + $350 = (($23) + -4)|0; + $351 = $350 >>> 2; + $352 = $351 << 2; + $353 = (($352) + 4)|0; + $354 = (($350) - ($352))|0; + $355 = (($351) + ($11))|0; + $356 = (($355) + 1)|0; + $357 = (($356) - ($26))|0; + $358 = (($23) + -2)|0; + $359 = $358 >>> 1; + $360 = $359 << 1; + $361 = (($360) + 2)|0; + $362 = (($358) - ($360))|0; + $363 = (($359) + ($11))|0; + $364 = (($363) + 1)|0; + $365 = (($364) - ($26))|0; + $$1624727 = 0;$indvars$iv = $345;$indvars$iv848 = $349;$indvars$iv851 = $353;$indvars$iv854 = $357;$indvars$iv857 = $361;$indvars$iv860 = $365; + L174: while(1) { + $366 = HEAP32[$21>>2]|0; + $367 = Math_imul($$1624727, $12)|0; + $368 = (($366) + ($367)|0); + $369 = (($368) + ($11)|0); + $370 = (($369) + ($334)|0); + if ($335) { + $371 = HEAP8[$336>>0]|0; + $372 = $371&255; + $377 = $372; + } else { + $377 = 1; + } + switch ($6|0) { + case 4: { + if ($339) { + $scevgep859 = (($366) + ($indvars$iv857)|0); + $$0571715 = $370;$$0574714 = $368;$$14713 = $23; + while(1) { + $373 = HEAP8[$$0571715>>0]|0; + $374 = $373&255; + $375 = $374 >>> 4; + $376 = Math_imul($375, $377)|0; + $378 = $376&255; + $379 = ((($$0574714)) + 1|0); + HEAP8[$$0574714>>0] = $378; + $380 = HEAP8[$$0571715>>0]|0; + $381 = $380 & 15; + $382 = $381&255; + $383 = Math_imul($382, $377)|0; + $384 = $383&255; + $385 = ((($$0574714)) + 2|0); + HEAP8[$379>>0] = $384; + $386 = (($$14713) + -2)|0; + $387 = ((($$0571715)) + 1|0); + $388 = ($386|0)>(1); + if ($388) { + $$0571715 = $387;$$0574714 = $385;$$14713 = $386; } else { - HEAP32[5772>>2] = 512; break; } } - } while(0); - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[112>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[112+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[136>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[136+4>>2]|0; - $188 = (+_Vector2Angle($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - $189 = 360.0 - $188; - HEAPF32[5796>>2] = $189; - STACKTOP = sp;return; + $scevgep862 = (($366) + ($indvars$iv860)|0); + $$0571$lcssa = $scevgep862;$$0574$lcssa = $scevgep859;$$14$lcssa = $362; + } else { + $$0571$lcssa = $370;$$0574$lcssa = $368;$$14$lcssa = $23; + } + $389 = ($$14$lcssa|0)==(1); + if ($389) { + $390 = HEAP8[$$0571$lcssa>>0]|0; + $391 = $390&255; + $392 = $391 >>> 4; + $393 = Math_imul($392, $377)|0; + $394 = $393&255; + HEAP8[$$0574$lcssa>>0] = $394; + } break; } - case 0: { - HEAPF32[5792>>2] = 0.0; - HEAPF32[5796>>2] = 0.0; - HEAPF32[128>>2] = 0.0; - HEAPF32[(132)>>2] = 0.0; - HEAP32[5772>>2] = 0; - STACKTOP = sp;return; + case 2: { + if ($340) { + $scevgep853 = (($366) + ($indvars$iv851)|0); + $$15705 = $23;$$1572707 = $370;$$1575706 = $368; + while(1) { + $395 = HEAP8[$$1572707>>0]|0; + $396 = $395&255; + $397 = $396 >>> 6; + $398 = Math_imul($397, $377)|0; + $399 = $398&255; + $400 = ((($$1575706)) + 1|0); + HEAP8[$$1575706>>0] = $399; + $401 = HEAP8[$$1572707>>0]|0; + $402 = $401&255; + $403 = $402 >>> 4; + $404 = $403 & 3; + $405 = Math_imul($404, $377)|0; + $406 = $405&255; + $407 = ((($$1575706)) + 2|0); + HEAP8[$400>>0] = $406; + $408 = HEAP8[$$1572707>>0]|0; + $409 = $408&255; + $410 = $409 >>> 2; + $411 = $410 & 3; + $412 = Math_imul($411, $377)|0; + $413 = $412&255; + $414 = ((($$1575706)) + 3|0); + HEAP8[$407>>0] = $413; + $415 = HEAP8[$$1572707>>0]|0; + $416 = $415 & 3; + $417 = $416&255; + $418 = Math_imul($417, $377)|0; + $419 = $418&255; + $420 = ((($$1575706)) + 4|0); + HEAP8[$414>>0] = $419; + $421 = (($$15705) + -4)|0; + $422 = ((($$1572707)) + 1|0); + $423 = ($421|0)>(3); + if ($423) { + $$15705 = $421;$$1572707 = $422;$$1575706 = $420; + } else { + break; + } + } + $scevgep856 = (($366) + ($indvars$iv854)|0); + $$15$lcssa = $354;$$1572$lcssa = $scevgep856;$$1575$lcssa = $scevgep853; + } else { + $$15$lcssa = $23;$$1572$lcssa = $370;$$1575$lcssa = $368; + } + $424 = ($$15$lcssa|0)>(0); + if ($424) { + $425 = HEAP8[$$1572$lcssa>>0]|0; + $426 = $425&255; + $427 = $426 >>> 6; + $428 = Math_imul($427, $377)|0; + $429 = $428&255; + HEAP8[$$1575$lcssa>>0] = $429; + $430 = ($$15$lcssa|0)==(1); + if (!($430)) { + $431 = ((($$1575$lcssa)) + 1|0); + $432 = HEAP8[$$1572$lcssa>>0]|0; + $433 = $432&255; + $434 = $433 >>> 4; + $435 = $434 & 3; + $436 = Math_imul($435, $377)|0; + $437 = $436&255; + HEAP8[$431>>0] = $437; + $438 = ($$15$lcssa|0)>(2); + if ($438) { + $439 = ((($$1575$lcssa)) + 2|0); + $440 = HEAP8[$$1572$lcssa>>0]|0; + $441 = $440&255; + $442 = $441 >>> 2; + $443 = $442 & 3; + $444 = Math_imul($443, $377)|0; + $445 = $444&255; + HEAP8[$439>>0] = $445; + } + } + } + break; + } + case 1: { + if ($341) { + $scevgep = (($366) + ($indvars$iv)|0); + $$16700 = $23;$$2573702 = $370;$$4701 = $368; + while(1) { + $446 = HEAP8[$$2573702>>0]|0; + $447 = $446&255; + $448 = $447 >>> 7; + $449 = (0 - ($448))|0; + $450 = $377 & $449; + $451 = $450&255; + $452 = ((($$4701)) + 1|0); + HEAP8[$$4701>>0] = $451; + $453 = HEAP8[$$2573702>>0]|0; + $454 = $453&255; + $455 = $454 >>> 6; + $456 = $455 & 1; + $457 = (0 - ($456))|0; + $458 = $377 & $457; + $459 = $458&255; + $460 = ((($$4701)) + 2|0); + HEAP8[$452>>0] = $459; + $461 = HEAP8[$$2573702>>0]|0; + $462 = $461&255; + $463 = $462 >>> 5; + $464 = $463 & 1; + $465 = (0 - ($464))|0; + $466 = $377 & $465; + $467 = $466&255; + $468 = ((($$4701)) + 3|0); + HEAP8[$460>>0] = $467; + $469 = HEAP8[$$2573702>>0]|0; + $470 = $469&255; + $471 = $470 >>> 4; + $472 = $471 & 1; + $473 = (0 - ($472))|0; + $474 = $377 & $473; + $475 = $474&255; + $476 = ((($$4701)) + 4|0); + HEAP8[$468>>0] = $475; + $477 = HEAP8[$$2573702>>0]|0; + $478 = $477&255; + $479 = $478 >>> 3; + $480 = $479 & 1; + $481 = (0 - ($480))|0; + $482 = $377 & $481; + $483 = $482&255; + $484 = ((($$4701)) + 5|0); + HEAP8[$476>>0] = $483; + $485 = HEAP8[$$2573702>>0]|0; + $486 = $485&255; + $487 = $486 >>> 2; + $488 = $487 & 1; + $489 = (0 - ($488))|0; + $490 = $377 & $489; + $491 = $490&255; + $492 = ((($$4701)) + 6|0); + HEAP8[$484>>0] = $491; + $493 = HEAP8[$$2573702>>0]|0; + $494 = $493&255; + $495 = $494 >>> 1; + $496 = $495 & 1; + $497 = (0 - ($496))|0; + $498 = $377 & $497; + $499 = $498&255; + $500 = ((($$4701)) + 7|0); + HEAP8[$492>>0] = $499; + $501 = HEAP8[$$2573702>>0]|0; + $502 = $501 & 1; + $503 = $502&255; + $504 = (0 - ($503))|0; + $505 = $377 & $504; + $506 = $505&255; + $507 = ((($$4701)) + 8|0); + HEAP8[$500>>0] = $506; + $508 = (($$16700) + -8)|0; + $509 = ((($$2573702)) + 1|0); + $510 = ($508|0)>(7); + if ($510) { + $$16700 = $508;$$2573702 = $509;$$4701 = $507; + } else { + break; + } + } + $scevgep850 = (($366) + ($indvars$iv848)|0); + $$16$lcssa = $346;$$2573$lcssa = $scevgep850;$$4$lcssa = $scevgep; + } else { + $$16$lcssa = $23;$$2573$lcssa = $370;$$4$lcssa = $368; + } + $511 = ($$16$lcssa|0)>(0); + if ($511) { + $512 = HEAP8[$$2573$lcssa>>0]|0; + $513 = $512&255; + $514 = $513 >>> 7; + $515 = (0 - ($514))|0; + $516 = $377 & $515; + $517 = $516&255; + HEAP8[$$4$lcssa>>0] = $517; + $518 = ($$16$lcssa|0)==(1); + if (!($518)) { + $519 = ((($$4$lcssa)) + 1|0); + $520 = HEAP8[$$2573$lcssa>>0]|0; + $521 = $520&255; + $522 = $521 >>> 6; + $523 = $522 & 1; + $524 = (0 - ($523))|0; + $525 = $377 & $524; + $526 = $525&255; + HEAP8[$519>>0] = $526; + $527 = ($$16$lcssa|0)>(2); + if ($527) { + $528 = ((($$4$lcssa)) + 2|0); + $529 = HEAP8[$$2573$lcssa>>0]|0; + $530 = $529&255; + $531 = $530 >>> 5; + $532 = $531 & 1; + $533 = (0 - ($532))|0; + $534 = $377 & $533; + $535 = $534&255; + HEAP8[$528>>0] = $535; + $536 = ($$16$lcssa|0)==(3); + if (!($536)) { + $537 = ((($$4$lcssa)) + 3|0); + $538 = HEAP8[$$2573$lcssa>>0]|0; + $539 = $538&255; + $540 = $539 >>> 4; + $541 = $540 & 1; + $542 = (0 - ($541))|0; + $543 = $377 & $542; + $544 = $543&255; + HEAP8[$537>>0] = $544; + $545 = ($$16$lcssa|0)>(4); + if ($545) { + $546 = ((($$4$lcssa)) + 4|0); + $547 = HEAP8[$$2573$lcssa>>0]|0; + $548 = $547&255; + $549 = $548 >>> 3; + $550 = $549 & 1; + $551 = (0 - ($550))|0; + $552 = $377 & $551; + $553 = $552&255; + HEAP8[$546>>0] = $553; + $554 = ($$16$lcssa|0)==(5); + if (!($554)) { + $555 = ((($$4$lcssa)) + 5|0); + $556 = HEAP8[$$2573$lcssa>>0]|0; + $557 = $556&255; + $558 = $557 >>> 2; + $559 = $558 & 1; + $560 = (0 - ($559))|0; + $561 = $377 & $560; + $562 = $561&255; + HEAP8[$555>>0] = $562; + $563 = ($$16$lcssa|0)>(6); + if ($563) { + $564 = ((($$4$lcssa)) + 6|0); + $565 = HEAP8[$$2573$lcssa>>0]|0; + $566 = $565&255; + $567 = $566 >>> 1; + $568 = $567 & 1; + $569 = (0 - ($568))|0; + $570 = $377 & $569; + $571 = $570&255; + HEAP8[$564>>0] = $571; + } + } + } + } + } + } + } break; } default: { - STACKTOP = sp;return; } } - } - $3 = ((($event)) + 8|0); - $4 = HEAP32[$3>>2]|0; - HEAP32[5764>>2] = $4; - $5 = HEAP32[$event>>2]|0; - switch ($5|0) { - case 1: { - $6 = HEAP32[5768>>2]|0; - $7 = (($6) + 1)|0; - HEAP32[5768>>2] = $7; - $8 = HEAP32[5772>>2]|0; - $9 = ($8|0)==(0); - $10 = ($6|0)>(0); - $or$cond = $10 & $9; - if ($or$cond) { - $11 = ((($event)) + 16|0); - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[80>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[80+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[$11>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[$11+4>>2]|0; - $12 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - $13 = $12 < 0.029999999329447746; - if ($13) { - HEAP32[5772>>2] = 2; - HEAP32[5768>>2] = 0; - } else { - label = 6; - } - } else { - label = 6; - } - if ((label|0) == 6) { - HEAP32[5768>>2] = 1; - HEAP32[5772>>2] = 1; - } - $14 = ((($event)) + 16|0); - $15 = $14; - $16 = $15; - $17 = HEAP32[$16>>2]|0; - $18 = (($15) + 4)|0; - $19 = $18; - $20 = HEAP32[$19>>2]|0; - $21 = 80; - $22 = $21; - HEAP32[$22>>2] = $17; - $23 = (($21) + 4)|0; - $24 = $23; - HEAP32[$24>>2] = $20; - $25 = $14; - $26 = $25; - $27 = HEAP32[$26>>2]|0; - $28 = (($25) + 4)|0; - $29 = $28; - $30 = HEAP32[$29>>2]|0; - $31 = 88; - $32 = $31; - HEAP32[$32>>2] = $27; - $33 = (($31) + 4)|0; - $34 = $33; - HEAP32[$34>>2] = $30; - $35 = 96; - $36 = $35; - HEAP32[$36>>2] = $17; - $37 = (($35) + 4)|0; - $38 = $37; - HEAP32[$38>>2] = $20; - HEAPF32[104>>2] = 0.0; - HEAPF32[(108)>>2] = 0.0; - STACKTOP = sp;return; - break; - } - case 0: { - $39 = HEAP32[5772>>2]|0; - $40 = ($39|0)==(8); - if ($40) { - $41 = ((($event)) + 16|0); - $42 = $41; - $43 = $42; - $44 = HEAP32[$43>>2]|0; - $45 = (($42) + 4)|0; - $46 = $45; - $47 = HEAP32[$46>>2]|0; - $48 = 96; - $49 = $48; - HEAP32[$49>>2] = $44; - $50 = (($48) + 4)|0; - $51 = $50; - HEAP32[$51>>2] = $47; - } - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[80>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[80+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[96>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[96+4>>2]|0; - $52 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - $53 = $52 / 0.0; - HEAPF32[5776>>2] = $53; - HEAP32[5780>>2] = 0; - $54 = $53 > 5.0000002374872565E-4; - $55 = HEAP32[5764>>2]|0; - $56 = ($55|0)==(0); - $or$cond3 = $54 & $56; - do { - if ($or$cond3) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[80>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[80+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[96>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[96+4>>2]|0; - $57 = (+_Vector2Angle($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - $58 = 360.0 - $57; - HEAPF32[5784>>2] = $58; - $59 = $58 < 30.0; - $60 = $58 > 330.0; - $or$cond5 = $59 | $60; - if ($or$cond5) { - HEAP32[5772>>2] = 16; + L213: do { + if (!($17)) { + $572 = HEAP32[$21>>2]|0; + $573 = (($572) + ($367)|0); + switch ($14|0) { + case 1: { + if ($337) { + $$0568725 = $$0568724; + } else { + break L213; + } + while(1) { + $574 = $$0568725 << 1; + $575 = $574 | 1; + $576 = (($573) + ($575)|0); + HEAP8[$576>>0] = -1; + $577 = (($573) + ($$0568725)|0); + $578 = HEAP8[$577>>0]|0; + $579 = (($573) + ($574)|0); + HEAP8[$579>>0] = $578; + $$0568 = (($$0568725) + -1)|0; + $580 = ($$0568|0)>(-1); + if ($580) { + $$0568725 = $$0568; + } else { + break; + } + } break; } - $61 = $58 > 30.0; - $62 = $58 < 120.0; - $or$cond7 = $61 & $62; - if ($or$cond7) { - HEAP32[5772>>2] = 64; + case 3: { + if ($338) { + $$1722 = $$1721; + } else { + break L213; + } + while(1) { + $581 = $$1722 << 2; + $582 = $581 | 3; + $583 = (($573) + ($582)|0); + HEAP8[$583>>0] = -1; + $584 = ($$1722*3)|0; + $585 = (($584) + 2)|0; + $586 = (($573) + ($585)|0); + $587 = HEAP8[$586>>0]|0; + $588 = $581 | 2; + $589 = (($573) + ($588)|0); + HEAP8[$589>>0] = $587; + $590 = (($584) + 1)|0; + $591 = (($573) + ($590)|0); + $592 = HEAP8[$591>>0]|0; + $593 = $581 | 1; + $594 = (($573) + ($593)|0); + HEAP8[$594>>0] = $592; + $595 = (($573) + ($584)|0); + $596 = HEAP8[$595>>0]|0; + $597 = (($573) + ($581)|0); + HEAP8[$597>>0] = $596; + $$1 = (($$1722) + -1)|0; + $598 = ($$1|0)>(-1); + if ($598) { + $$1722 = $$1; + } else { + break; + } + } break; } - $63 = $58 > 120.0; - $64 = $58 < 210.0; - $or$cond9 = $63 & $64; - if ($or$cond9) { - HEAP32[5772>>2] = 32; - break; + default: { + label = 144; + break L174; } - $65 = $58 > 210.0; - $66 = $58 < 300.0; - $or$cond11 = $65 & $66; - if ($or$cond11) { - HEAP32[5772>>2] = 128; - break; - } else { - HEAP32[5772>>2] = 0; - break; } - } else { - HEAPF32[5776>>2] = 0.0; - HEAPF32[5784>>2] = 0.0; - HEAP32[5772>>2] = 0; } } while(0); - HEAPF32[88>>2] = 0.0; - HEAPF32[(92)>>2] = 0.0; - STACKTOP = sp;return; - break; - } - case 2: { - $67 = HEAP32[5780>>2]|0; - $68 = ($67|0)==(0); - if ($68) { - HEAP32[5780>>2] = 1; + $599 = (($$1624727) + 1)|0; + $600 = ($599>>>0)<($5>>>0); + $indvars$iv$next = (($indvars$iv) + ($12))|0; + $indvars$iv$next849 = (($indvars$iv848) + ($12))|0; + $indvars$iv$next852 = (($indvars$iv851) + ($12))|0; + $indvars$iv$next855 = (($indvars$iv854) + ($12))|0; + $indvars$iv$next858 = (($indvars$iv857) + ($12))|0; + $indvars$iv$next861 = (($indvars$iv860) + ($12))|0; + if ($600) { + $$1624727 = $599;$indvars$iv = $indvars$iv$next;$indvars$iv848 = $indvars$iv$next849;$indvars$iv851 = $indvars$iv$next852;$indvars$iv854 = $indvars$iv$next855;$indvars$iv857 = $indvars$iv$next858;$indvars$iv860 = $indvars$iv$next861; + } else { + $$2 = 1; + label = 151; + break; } - $69 = ((($event)) + 16|0); - $70 = $69; - $71 = $70; - $72 = HEAP32[$71>>2]|0; - $73 = (($70) + 4)|0; - $74 = $73; - $75 = HEAP32[$74>>2]|0; - $76 = 112; - $77 = $76; - HEAP32[$77>>2] = $72; - $78 = (($76) + 4)|0; - $79 = $78; - HEAP32[$79>>2] = $75; - $80 = HEAP32[5772>>2]|0; - $81 = ($80|0)==(4); - if ($81) { - $82 = HEAP32[5788>>2]|0; - $83 = ($82|0)==(1); - if ($83) { - $84 = $69; - $85 = $84; - $86 = HEAP32[$85>>2]|0; - $87 = (($84) + 4)|0; - $88 = $87; - $89 = HEAP32[$88>>2]|0; - $90 = 80; - $91 = $90; - HEAP32[$91>>2] = $86; - $92 = (($90) + 4)|0; - $93 = $92; - HEAP32[$93>>2] = $89; + } + if ((label|0) == 144) { + ___assert_fail((11885|0),(11169|0),4466,(11782|0)); + // unreachable; + } + else if ((label|0) == 151) { + return ($$2|0); + } + return (0)|0; +} +function _stbi__paeth($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$ = 0, $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $ispos = 0, $ispos26 = 0, $ispos28 = 0, $neg = 0, $neg27 = 0, $neg29 = 0, $or$cond = 0; + var label = 0, sp = 0; + sp = STACKTOP; + $3 = (($1) + ($0))|0; + $4 = (($3) - ($2))|0; + $5 = (($4) - ($0))|0; + $ispos = ($5|0)>(-1); + $neg = (0 - ($5))|0; + $6 = $ispos ? $5 : $neg; + $7 = (($4) - ($1))|0; + $ispos26 = ($7|0)>(-1); + $neg27 = (0 - ($7))|0; + $8 = $ispos26 ? $7 : $neg27; + $9 = (($4) - ($2))|0; + $ispos28 = ($9|0)>(-1); + $neg29 = (0 - ($9))|0; + $10 = $ispos28 ? $9 : $neg29; + $11 = ($6|0)>($8|0); + $12 = ($6|0)>($10|0); + $or$cond = $11 | $12; + $13 = ($8|0)>($10|0); + $$ = $13 ? $2 : $1; + $$0 = $or$cond ? $$ : $0; + return ($$0|0); +} +function _stbi__do_zlib($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $10 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $5 = ((($0)) + 20|0); + HEAP32[$5>>2] = $1; + $6 = ((($0)) + 16|0); + HEAP32[$6>>2] = $1; + $7 = (($1) + ($2)|0); + $8 = ((($0)) + 24|0); + HEAP32[$8>>2] = $7; + $9 = ((($0)) + 28|0); + HEAP32[$9>>2] = $3; + $10 = (_stbi__parse_zlib($0,$4)|0); + return ($10|0); +} +function _stbi__parse_zlib($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ($1|0)==(0); + if (!($2)) { + $3 = (_stbi__parse_zlib_header($0)|0); + $4 = ($3|0)==(0); + if ($4) { + $$0 = 0; + return ($$0|0); + } + } + $5 = ((($0)) + 8|0); + HEAP32[$5>>2] = 0; + $6 = ((($0)) + 12|0); + HEAP32[$6>>2] = 0; + $7 = ((($0)) + 32|0); + $8 = ((($0)) + 2052|0); + L5: while(1) { + $9 = (_stbi__zreceive($0,1)|0); + $10 = (_stbi__zreceive($0,2)|0); + switch ($10|0) { + case 3: { + $$0 = 0; + label = 11; + break L5; + break; + } + case 0: { + $11 = (_stbi__parse_uncompressed_block($0)|0); + $12 = ($11|0)==(0); + if ($12) { + $$0 = 0; + label = 11; + break L5; } - HEAP32[5788>>2] = 2; - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[80>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[80+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[112>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[112+4>>2]|0; - $94 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - $95 = !($94 >= 0.014999999664723873); - if (!($95)) { - HEAP32[5772>>2] = 8; + break; + } + case 1: { + $13 = (_stbi__zbuild_huffman($7,11896,288)|0); + $14 = ($13|0)==(0); + if ($14) { + $$0 = 0; + label = 11; + break L5; + } + $15 = (_stbi__zbuild_huffman($8,12184,32)|0); + $16 = ($15|0)==(0); + if ($16) { + $$0 = 0; + label = 11; + break L5; + } else { + label = 9; + } + break; + } + default: { + $17 = (_stbi__compute_huffman_codes($0)|0); + $18 = ($17|0)==(0); + if ($18) { + $$0 = 0; + label = 11; + break L5; + } else { + label = 9; } } - $96 = +HEAPF32[112>>2]; - $97 = +HEAPF32[88>>2]; - $98 = $96 - $97; - HEAPF32[104>>2] = $98; - $99 = +HEAPF32[(116)>>2]; - $100 = +HEAPF32[(92)>>2]; - $101 = $99 - $100; - HEAPF32[(108)>>2] = $101; - STACKTOP = sp;return; - break; + } + if ((label|0) == 9) { + label = 0; + $19 = (_stbi__parse_huffman_block($0)|0); + $20 = ($19|0)==(0); + if ($20) { + $$0 = 0; + label = 11; + break; + } + } + $21 = ($9|0)==(0); + if (!($21)) { + $$0 = 1; + label = 11; + break; + } } - default: { - STACKTOP = sp;return; + if ((label|0) == 11) { + return ($$0|0); } + return (0)|0; +} +function _stbi__parse_zlib_header($0) { + $0 = $0|0; + var $$0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (_stbi__zget8($0)|0); + $2 = $1&255; + $3 = $2 & 15; + $4 = (_stbi__zget8($0)|0); + $5 = $4&255; + $6 = $2 << 8; + $7 = $6 | $5; + $8 = (($7>>>0) % 31)&-1; + $9 = ($8|0)==(0); + if (!($9)) { + _stbi__err(12531); + $$0 = 0; + return ($$0|0); + } + $10 = $5 & 32; + $11 = ($10|0)==(0); + if (!($11)) { + _stbi__err(12547); + $$0 = 0; + return ($$0|0); + } + $12 = ($3|0)==(8); + if ($12) { + $$0 = 1; + return ($$0|0); + } + _stbi__err(12562); + $$0 = 0; + return ($$0|0); +} +function _stbi__zreceive($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($0)) + 8|0); + $3 = HEAP32[$2>>2]|0; + $4 = ($3|0)<($1|0); + if ($4) { + _stbi__fill_bits($0); + } + $5 = ((($0)) + 12|0); + $6 = HEAP32[$5>>2]|0; + $7 = 1 << $1; + $8 = (($7) + -1)|0; + $9 = $6 & $8; + $10 = $6 >>> $1; + HEAP32[$5>>2] = $10; + $11 = HEAP32[$2>>2]|0; + $12 = (($11) - ($1))|0; + HEAP32[$2>>2] = $12; + return ($9|0); +} +function _stbi__parse_uncompressed_block($0) { + $0 = $0|0; + var $$0$lcssa = 0, $$034 = 0, $$037 = 0, $$136 = 0, $$lcssa = 0, $$ph = 0, $$pr = 0, $$promoted = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0; + var $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0; + var $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0; + var $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond47 = 0, $smax = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $1 = sp; + $2 = ((($0)) + 8|0); + $3 = HEAP32[$2>>2]|0; + $4 = $3 & 7; + $5 = ($4|0)==(0); + if ($5) { + $$ph = $3; + } else { + (_stbi__zreceive($0,$4)|0); + $$pr = HEAP32[$2>>2]|0; + $$ph = $$pr; + } + $6 = ($$ph|0)>(0); + if ($6) { + $7 = ((($0)) + 12|0); + $$promoted = HEAP32[$7>>2]|0; + $8 = $$ph ^ -1; + $9 = ($8|0)>(-9); + $smax = $9 ? $8 : -9; + $10 = (($$ph) + ($smax))|0; + $11 = (($10) + 8)|0; + $12 = $11 >>> 3; + $13 = (($12) + 1)|0; + $14 = $12 << 3; + $$037 = 0;$16 = $$promoted; + while(1) { + $15 = $16&255; + $17 = (($$037) + 1)|0; + $18 = (($1) + ($$037)|0); + HEAP8[$18>>0] = $15; + $19 = $16 >>> 8; + $exitcond47 = ($17|0)==($13|0); + if ($exitcond47) { + break; + } else { + $$037 = $17;$16 = $19; + } + } + $20 = (($$ph) + -8)|0; + $21 = (($20) - ($14))|0; + HEAP32[$7>>2] = $19; + HEAP32[$2>>2] = $21; + $$0$lcssa = $13;$$lcssa = $21; + } else { + $$0$lcssa = 0;$$lcssa = $$ph; + } + $22 = ($$lcssa|0)==(0); + if (!($22)) { + ___assert_fail((12453|0),(11169|0),4033,(12470|0)); + // unreachable; + } + $23 = ($$0$lcssa|0)<(4); + if ($23) { + $$136 = $$0$lcssa; + while(1) { + $24 = (_stbi__zget8($0)|0); + $25 = (($$136) + 1)|0; + $26 = (($1) + ($$136)|0); + HEAP8[$26>>0] = $24; + $exitcond = ($25|0)==(4); + if ($exitcond) { + break; + } else { + $$136 = $25; + } + } + } + $27 = ((($1)) + 1|0); + $28 = HEAP8[$27>>0]|0; + $29 = $28&255; + $30 = $29 << 8; + $31 = HEAP8[$1>>0]|0; + $32 = $31&255; + $33 = $30 | $32; + $34 = ((($1)) + 3|0); + $35 = HEAP8[$34>>0]|0; + $36 = $35&255; + $37 = $36 << 8; + $38 = ((($1)) + 2|0); + $39 = HEAP8[$38>>0]|0; + $40 = $39&255; + $41 = $37 | $40; + $42 = $33 ^ 65535; + $43 = ($41|0)==($42|0); + if (!($43)) { + _stbi__err(12501); + $$034 = 0; + STACKTOP = sp;return ($$034|0); + } + $44 = HEAP32[$0>>2]|0; + $45 = (($44) + ($33)|0); + $46 = ((($0)) + 4|0); + $47 = HEAP32[$46>>2]|0; + $48 = ($45>>>0)>($47>>>0); + if ($48) { + _stbi__err(12514); + $$034 = 0; + STACKTOP = sp;return ($$034|0); + } + $49 = ((($0)) + 16|0); + $50 = HEAP32[$49>>2]|0; + $51 = (($50) + ($33)|0); + $52 = ((($0)) + 24|0); + $53 = HEAP32[$52>>2]|0; + $54 = ($51>>>0)>($53>>>0); + if ($54) { + $55 = (_stbi__zexpand($0,$50,$33)|0); + $56 = ($55|0)==(0); + if ($56) { + $$034 = 0; + STACKTOP = sp;return ($$034|0); + } + } + $57 = HEAP32[$49>>2]|0; + $58 = HEAP32[$0>>2]|0; + _memcpy(($57|0),($58|0),($33|0))|0; + $59 = HEAP32[$0>>2]|0; + $60 = (($59) + ($33)|0); + HEAP32[$0>>2] = $60; + $61 = HEAP32[$49>>2]|0; + $62 = (($61) + ($33)|0); + HEAP32[$49>>2] = $62; + $$034 = 1; + STACKTOP = sp;return ($$034|0); +} +function _stbi__zbuild_huffman($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$075 = 0, $$07688 = 0, $$07785 = 0, $$07884 = 0, $$081 = 0, $$286 = 0, $$382 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0; + var $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0; + var $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0; + var $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0; + var $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0; + var $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond = 0, $exitcond91 = 0, $or$cond = 0, dest = 0, label = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 144|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(144|0); + $3 = sp + 72|0; + $4 = sp; + dest=$4; stop=dest+68|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + _memset(($0|0),0,1024)|0; + $5 = ($2|0)>(0); + if ($5) { + $$07688 = 0; + while(1) { + $6 = (($1) + ($$07688)|0); + $7 = HEAP8[$6>>0]|0; + $8 = $7&255; + $9 = (($4) + ($8<<2)|0); + $10 = HEAP32[$9>>2]|0; + $11 = (($10) + 1)|0; + HEAP32[$9>>2] = $11; + $12 = (($$07688) + 1)|0; + $exitcond91 = ($12|0)==($2|0); + if ($exitcond91) { + break; + } else { + $$07688 = $12; + } + } + } + HEAP32[$4>>2] = 0; + $16 = ((($4)) + 4|0); + $17 = HEAP32[$16>>2]|0; + $18 = ($17|0)>(2); + if (!($18)) { + $13 = ((($4)) + 8|0); + $14 = HEAP32[$13>>2]|0; + $15 = ($14|0)>(4); + if (!($15)) { + $69 = ((($4)) + 12|0); + $70 = HEAP32[$69>>2]|0; + $71 = ($70|0)>(8); + if (!($71)) { + $72 = ((($4)) + 16|0); + $73 = HEAP32[$72>>2]|0; + $74 = ($73|0)>(16); + if (!($74)) { + $75 = ((($4)) + 20|0); + $76 = HEAP32[$75>>2]|0; + $77 = ($76|0)>(32); + if (!($77)) { + $78 = ((($4)) + 24|0); + $79 = HEAP32[$78>>2]|0; + $80 = ($79|0)>(64); + if (!($80)) { + $81 = ((($4)) + 28|0); + $82 = HEAP32[$81>>2]|0; + $83 = ($82|0)>(128); + if (!($83)) { + $84 = ((($4)) + 32|0); + $85 = HEAP32[$84>>2]|0; + $86 = ($85|0)>(256); + if (!($86)) { + $87 = ((($4)) + 36|0); + $88 = HEAP32[$87>>2]|0; + $89 = ($88|0)>(512); + if (!($89)) { + $90 = ((($4)) + 40|0); + $91 = HEAP32[$90>>2]|0; + $92 = ($91|0)>(1024); + if (!($92)) { + $93 = ((($4)) + 44|0); + $94 = HEAP32[$93>>2]|0; + $95 = ($94|0)>(2048); + if (!($95)) { + $96 = ((($4)) + 48|0); + $97 = HEAP32[$96>>2]|0; + $98 = ($97|0)>(4096); + if (!($98)) { + $99 = ((($4)) + 52|0); + $100 = HEAP32[$99>>2]|0; + $101 = ($100|0)>(8192); + if (!($101)) { + $102 = ((($4)) + 56|0); + $103 = HEAP32[$102>>2]|0; + $104 = ($103|0)>(16384); + if (!($104)) { + $105 = ((($4)) + 60|0); + $106 = HEAP32[$105>>2]|0; + $107 = ($106|0)>(32768); + if (!($107)) { + $$07785 = 0;$$07884 = 0;$$286 = 1; + while(1) { + $19 = (($3) + ($$286<<2)|0); + HEAP32[$19>>2] = $$07884; + $20 = $$07884&65535; + $21 = (((($0)) + 1024|0) + ($$286<<1)|0); + HEAP16[$21>>1] = $20; + $22 = $$07785&65535; + $23 = (((($0)) + 1124|0) + ($$286<<1)|0); + HEAP16[$23>>1] = $22; + $24 = (($4) + ($$286<<2)|0); + $25 = HEAP32[$24>>2]|0; + $26 = (($25) + ($$07884))|0; + $27 = ($25|0)!=(0); + $28 = 1 << $$286; + $29 = ($26|0)>($28|0); + $or$cond = $27 & $29; + if ($or$cond) { + label = 7; + break; + } + $30 = (16 - ($$286))|0; + $31 = $26 << $30; + $32 = (((($0)) + 1056|0) + ($$286<<2)|0); + HEAP32[$32>>2] = $31; + $33 = $26 << 1; + $34 = (($25) + ($$07785))|0; + $35 = (($$286) + 1)|0; + $36 = ($35|0)<(16); + if ($36) { + $$07785 = $34;$$07884 = $33;$$286 = $35; + } else { + break; + } + } + if ((label|0) == 7) { + _stbi__err(12391); + $$075 = 0; + STACKTOP = sp;return ($$075|0); + } + $37 = ((($0)) + 1120|0); + HEAP32[$37>>2] = 65536; + $38 = ($2|0)>(0); + if ($38) { + $$382 = 0; + } else { + $$075 = 1; + STACKTOP = sp;return ($$075|0); + } + while(1) { + $39 = (($1) + ($$382)|0); + $40 = HEAP8[$39>>0]|0; + $41 = $40&255; + $42 = ($40<<24>>24)==(0); + if (!($42)) { + $43 = (($3) + ($41<<2)|0); + $44 = HEAP32[$43>>2]|0; + $45 = (((($0)) + 1024|0) + ($41<<1)|0); + $46 = HEAP16[$45>>1]|0; + $47 = $46&65535; + $48 = (($44) - ($47))|0; + $49 = (((($0)) + 1124|0) + ($41<<1)|0); + $50 = HEAP16[$49>>1]|0; + $51 = $50&65535; + $52 = (($48) + ($51))|0; + $53 = $41 << 9; + $54 = $53 | $$382; + $55 = $54&65535; + $56 = (((($0)) + 1156|0) + ($52)|0); + HEAP8[$56>>0] = $40; + $57 = $$382&65535; + $58 = (((($0)) + 1444|0) + ($52<<1)|0); + HEAP16[$58>>1] = $57; + $59 = ($40&255)<(10); + do { + if ($59) { + $60 = (_stbi__bit_reverse($44,$41)|0); + $61 = ($60|0)<(512); + if (!($61)) { + break; + } + $62 = 1 << $41; + $$081 = $60; + while(1) { + $63 = (($0) + ($$081<<1)|0); + HEAP16[$63>>1] = $55; + $64 = (($$081) + ($62))|0; + $65 = ($64|0)<(512); + if ($65) { + $$081 = $64; + } else { + break; + } + } + } + } while(0); + $66 = HEAP32[$43>>2]|0; + $67 = (($66) + 1)|0; + HEAP32[$43>>2] = $67; + } + $68 = (($$382) + 1)|0; + $exitcond = ($68|0)==($2|0); + if ($exitcond) { + $$075 = 1; + break; + } else { + $$382 = $68; + } + } + STACKTOP = sp;return ($$075|0); + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + _stbi__err(12443); + $$075 = 0; + STACKTOP = sp;return ($$075|0); +} +function _stbi__compute_huffman_codes($0) { + $0 = $0|0; + var $$ = 0, $$0 = 0, $$061 = 0, $$06579 = 0, $$066$be = 0, $$066$lcssa = 0, $$06678 = 0, $$4 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0; + var $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0; + var $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $not$ = 0, dest = 0; + var label = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 2496|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(2496|0); + $1 = sp; + $2 = sp + 2039|0; + $3 = sp + 2020|0; + $4 = (_stbi__zreceive($0,5)|0); + $5 = (($4) + 257)|0; + $6 = (_stbi__zreceive($0,5)|0); + $7 = (($6) + 1)|0; + $8 = (_stbi__zreceive($0,4)|0); + $9 = (($8) + 4)|0; + $10 = (($7) + ($5))|0; + dest=$3; stop=dest+19|0; do { HEAP8[dest>>0]=0|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); + $11 = ($9|0)>(0); + if ($11) { + $$06579 = 0; + while(1) { + $12 = (_stbi__zreceive($0,3)|0); + $13 = $12&255; + $14 = (13228 + ($$06579)|0); + $15 = HEAP8[$14>>0]|0; + $16 = $15&255; + $17 = (($3) + ($16)|0); + HEAP8[$17>>0] = $13; + $18 = (($$06579) + 1)|0; + $exitcond = ($18|0)==($9|0); + if ($exitcond) { + break; + } else { + $$06579 = $18; + } + } + } + $19 = (_stbi__zbuild_huffman($1,$3,19)|0); + $20 = ($19|0)==(0); + if ($20) { + $$4 = 0; + STACKTOP = sp;return ($$4|0); + } + $21 = ($10|0)>(0); + L8: do { + if ($21) { + $$06678 = 0; + L9: while(1) { + $22 = (_stbi__zhuffman_decode($0,$1)|0); + $23 = ($22>>>0)>(18); + if ($23) { + label = 6; + break; + } + $24 = ($22|0)<(16); + if ($24) { + $25 = $22&255; + $26 = (($$06678) + 1)|0; + $27 = (($2) + ($$06678)|0); + HEAP8[$27>>0] = $25; + $$066$be = $26; + } else { + switch ($22|0) { + case 16: { + $28 = (_stbi__zreceive($0,2)|0); + $29 = ($$06678|0)==(0); + if ($29) { + label = 11; + break L9; + } + $30 = (($28) + 3)|0; + $31 = (($$06678) + -1)|0; + $32 = (($2) + ($31)|0); + $33 = HEAP8[$32>>0]|0; + $$0 = $33;$$061 = $30; + break; + } + case 17: { + $34 = (_stbi__zreceive($0,3)|0); + $35 = (($34) + 3)|0; + $$0 = 0;$$061 = $35; + break; + } + case 18: { + $36 = (_stbi__zreceive($0,7)|0); + $37 = (($36) + 11)|0; + $$0 = 0;$$061 = $37; + break; + } + default: { + label = 14; + break L9; + } + } + $38 = (($10) - ($$06678))|0; + $39 = ($38|0)<($$061|0); + if ($39) { + label = 17; + break; + } + $40 = (($2) + ($$06678)|0); + _memset(($40|0),($$0|0),($$061|0))|0; + $41 = (($$061) + ($$06678))|0; + $$066$be = $41; + } + $42 = ($10|0)>($$066$be|0); + if ($42) { + $$06678 = $$066$be; + } else { + $$066$lcssa = $$066$be; + break L8; + } + } + if ((label|0) == 6) { + _stbi__err(12391); + $$4 = 0; + STACKTOP = sp;return ($$4|0); + } + else if ((label|0) == 11) { + _stbi__err(12391); + $$4 = 0; + STACKTOP = sp;return ($$4|0); + } + else if ((label|0) == 14) { + ___assert_fail((12407|0),(11169|0),4006,(12415|0)); + // unreachable; + } + else if ((label|0) == 17) { + _stbi__err(12391); + $$4 = 0; + STACKTOP = sp;return ($$4|0); + } + } else { + $$066$lcssa = 0; + } + } while(0); + $43 = ($10|0)==($$066$lcssa|0); + if (!($43)) { + _stbi__err(12391); + $$4 = 0; + STACKTOP = sp;return ($$4|0); + } + $44 = ((($0)) + 32|0); + $45 = (_stbi__zbuild_huffman($44,$2,$5)|0); + $46 = ($45|0)==(0); + if ($46) { + $$4 = 0; + STACKTOP = sp;return ($$4|0); + } + $47 = ((($0)) + 2052|0); + $48 = (($2) + ($5)|0); + $49 = (_stbi__zbuild_huffman($47,$48,$7)|0); + $not$ = ($49|0)!=(0); + $$ = $not$&1; + $$4 = $$; + STACKTOP = sp;return ($$4|0); +} +function _stbi__parse_huffman_block($0) { + $0 = $0|0; + var $$063 = 0, $$064 = 0, $$067 = 0, $$070 = 0, $$171 = 0, $$266 = 0, $$272 = 0, $$3$ph = 0, $$5 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0; + var $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0; + var $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0; + var $56 = 0, $57 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $scevgep = 0, $scevgep92 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 16|0); + $2 = HEAP32[$1>>2]|0; + $3 = ((($0)) + 32|0); + $4 = ((($0)) + 24|0); + $5 = ((($0)) + 2052|0); + $6 = ((($0)) + 20|0); + $7 = ((($0)) + 24|0); + $$070 = $2; + while(1) { + $10 = (_stbi__zhuffman_decode($0,$3)|0); + $11 = ($10|0)<(256); + if ($11) { + $12 = ($10|0)<(0); + if ($12) { + label = 6; + break; + } + $13 = HEAP32[$4>>2]|0; + $14 = ($$070>>>0)<($13>>>0); + if ($14) { + $$171 = $$070; + } else { + $15 = (_stbi__zexpand($0,$$070,1)|0); + $16 = ($15|0)==(0); + if ($16) { + $$3$ph = 0; + label = 28; + break; + } + $17 = HEAP32[$1>>2]|0; + $$171 = $17; + } + $18 = $10&255; + $19 = ((($$171)) + 1|0); + HEAP8[$$171>>0] = $18; + $$070 = $19; + continue; + } + $20 = ($10|0)==(256); + if ($20) { + label = 12; + break; + } + $21 = (($10) + -257)|0; + $22 = (3240 + ($21<<2)|0); + $23 = HEAP32[$22>>2]|0; + $24 = (($10) + -265)|0; + $25 = ($24>>>0)<(20); + if ($25) { + $26 = (3116 + ($21<<2)|0); + $27 = HEAP32[$26>>2]|0; + $28 = (_stbi__zreceive($0,$27)|0); + $29 = (($28) + ($23))|0; + $$064 = $29; + } else { + $$064 = $23; + } + $30 = (_stbi__zhuffman_decode($0,$5)|0); + $31 = ($30|0)<(0); + if ($31) { + label = 16; + break; + } + $32 = (3492 + ($30<<2)|0); + $33 = HEAP32[$32>>2]|0; + $34 = (($30) + -4)|0; + $35 = ($34>>>0)<(26); + if ($35) { + $36 = (3364 + ($30<<2)|0); + $37 = HEAP32[$36>>2]|0; + $38 = (_stbi__zreceive($0,$37)|0); + $39 = (($38) + ($33))|0; + $$063 = $39; + } else { + $$063 = $33; + } + $40 = HEAP32[$6>>2]|0; + $41 = $$070; + $42 = (($41) - ($40))|0; + $43 = ($42|0)<($$063|0); + if ($43) { + label = 20; + break; + } + $44 = (($$070) + ($$064)|0); + $45 = HEAP32[$7>>2]|0; + $46 = ($44>>>0)>($45>>>0); + if ($46) { + $47 = (_stbi__zexpand($0,$$070,$$064)|0); + $48 = ($47|0)==(0); + if ($48) { + $$3$ph = 0; + label = 28; + break; + } + $49 = HEAP32[$1>>2]|0; + $$272 = $49; + } else { + $$272 = $$070; + } + $50 = (0 - ($$063))|0; + $9 = (($$272) + ($50)|0); + $51 = ($$063|0)==(1); + $52 = ($$064|0)!=(0); + if ($51) { + if (!($52)) { + $$070 = $$272; + continue; + } + $8 = HEAP8[$9>>0]|0; + _memset(($$272|0),($8|0),($$064|0))|0; + $scevgep92 = (($$272) + ($$064)|0); + $$070 = $scevgep92; + continue; + } + if ($52) { + $$067 = $9;$$266 = $$064;$$5 = $$272; + } else { + $$070 = $$272; + continue; + } + while(1) { + $53 = ((($$067)) + 1|0); + $54 = HEAP8[$$067>>0]|0; + $55 = ((($$5)) + 1|0); + HEAP8[$$5>>0] = $54; + $56 = (($$266) + -1)|0; + $57 = ($56|0)==(0); + if ($57) { + break; + } else { + $$067 = $53;$$266 = $56;$$5 = $55; + } + } + $scevgep = (($$272) + ($$064)|0); + $$070 = $scevgep; + } + if ((label|0) == 6) { + _stbi__err(12216); + $$3$ph = 0; + return ($$3$ph|0); + } + else if ((label|0) == 12) { + HEAP32[$1>>2] = $$070; + $$3$ph = 1; + return ($$3$ph|0); + } + else if ((label|0) == 16) { + _stbi__err(12216); + $$3$ph = 0; + return ($$3$ph|0); + } + else if ((label|0) == 20) { + _stbi__err(12233); + $$3$ph = 0; + return ($$3$ph|0); + } + else if ((label|0) == 28) { + return ($$3$ph|0); + } + return (0)|0; +} +function _stbi__zhuffman_decode($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($0)) + 8|0); + $3 = HEAP32[$2>>2]|0; + $4 = ($3|0)<(16); + if ($4) { + _stbi__fill_bits($0); + } + $5 = ((($0)) + 12|0); + $6 = HEAP32[$5>>2]|0; + $7 = $6 & 511; + $8 = (($1) + ($7<<1)|0); + $9 = HEAP16[$8>>1]|0; + $10 = $9&65535; + $11 = ($9<<16>>16)==(0); + if ($11) { + $17 = (_stbi__zhuffman_decode_slowpath($0,$1)|0); + $$0 = $17; + return ($$0|0); + } else { + $12 = $10 >>> 9; + $13 = $6 >>> $12; + HEAP32[$5>>2] = $13; + $14 = HEAP32[$2>>2]|0; + $15 = (($14) - ($12))|0; + HEAP32[$2>>2] = $15; + $16 = $10 & 511; + $$0 = $16; + return ($$0|0); + } + return (0)|0; +} +function _stbi__zexpand($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$0 = 0, $$029 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ((($0)) + 16|0); + HEAP32[$3>>2] = $1; + $4 = ((($0)) + 28|0); + $5 = HEAP32[$4>>2]|0; + $6 = ($5|0)==(0); + if ($6) { + _stbi__err(12242); + $$0 = 0; + return ($$0|0); + } + $7 = ((($0)) + 20|0); + $8 = HEAP32[$7>>2]|0; + $9 = $1; + $10 = $8; + $11 = (($9) - ($10))|0; + $12 = ((($0)) + 24|0); + $13 = HEAP32[$12>>2]|0; + $14 = (($13) - ($10))|0; + $15 = (($11) + ($2))|0; + $$029 = $14; + while(1) { + $16 = ($15|0)>($$029|0); + $17 = $$029 << 1; + if ($16) { + $$029 = $17; + } else { + break; + } + } + $18 = (_realloc($8,$$029)|0); + $19 = ($18|0)==(0|0); + if ($19) { + _stbi__err(11224); + $$0 = 0; + return ($$0|0); + } else { + HEAP32[$7>>2] = $18; + $20 = (($18) + ($11)|0); + HEAP32[$3>>2] = $20; + $21 = (($18) + ($$029)|0); + HEAP32[$12>>2] = $21; + $$0 = 1; + return ($$0|0); + } + return (0)|0; +} +function _stbi__fill_bits($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 12|0); + $2 = ((($0)) + 8|0); + while(1) { + $3 = HEAP32[$1>>2]|0; + $4 = HEAP32[$2>>2]|0; + $5 = 1 << $4; + $6 = ($3>>>0)<($5>>>0); + if (!($6)) { + label = 3; + break; + } + $7 = (_stbi__zget8($0)|0); + $8 = $7&255; + $9 = HEAP32[$2>>2]|0; + $10 = $8 << $9; + $11 = HEAP32[$1>>2]|0; + $12 = $11 | $10; + HEAP32[$1>>2] = $12; + $13 = (($9) + 8)|0; + HEAP32[$2>>2] = $13; + $14 = ($13|0)<(25); + if (!($14)) { + label = 5; + break; + } + } + if ((label|0) == 3) { + ___assert_fail((12338|0),(11169|0),3848,(12375|0)); + // unreachable; + } + else if ((label|0) == 5) { + return; } } -function _UpdateGestures() { - var $$off = 0, $$pr = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $or$cond3 = 0, label = 0, sp = 0; +function _stbi__zhuffman_decode_slowpath($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $$025 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[5772>>2]|0; - $$off = (($0) + -1)|0; - $1 = ($$off>>>0)<(2); - $2 = HEAP32[5760>>2]|0; - $3 = ($2|0)<(2); - $or$cond3 = $1 & $3; - if ($or$cond3) { - HEAP32[5772>>2] = 4; + $2 = ((($0)) + 12|0); + $3 = HEAP32[$2>>2]|0; + $4 = (_stbi__bit_reverse($3,16)|0); + $$025 = 10; + while(1) { + $5 = (((($1)) + 1056|0) + ($$025<<2)|0); + $6 = HEAP32[$5>>2]|0; + $7 = ($4|0)<($6|0); + $8 = (($$025) + 1)|0; + if ($7) { + break; + } else { + $$025 = $8; + } + } + $9 = ($$025|0)==(16); + if ($9) { + $$0 = -1; + return ($$0|0); + } + $10 = (16 - ($$025))|0; + $11 = $4 >> $10; + $12 = (((($1)) + 1024|0) + ($$025<<1)|0); + $13 = HEAP16[$12>>1]|0; + $14 = $13&65535; + $15 = (($11) - ($14))|0; + $16 = (((($1)) + 1124|0) + ($$025<<1)|0); + $17 = HEAP16[$16>>1]|0; + $18 = $17&65535; + $19 = (($15) + ($18))|0; + $20 = (((($1)) + 1156|0) + ($19)|0); + $21 = HEAP8[$20>>0]|0; + $22 = $21&255; + $23 = ($22|0)==($$025|0); + if (!($23)) { + ___assert_fail((12262|0),(11169|0),3876,(12278|0)); + // unreachable; + } + $24 = HEAP32[$2>>2]|0; + $25 = $24 >>> $$025; + HEAP32[$2>>2] = $25; + $26 = ((($0)) + 8|0); + $27 = HEAP32[$26>>2]|0; + $28 = (($27) - ($$025))|0; + HEAP32[$26>>2] = $28; + $29 = (((($1)) + 1444|0) + ($19<<1)|0); + $30 = HEAP16[$29>>1]|0; + $31 = $30&65535; + $$0 = $31; + return ($$0|0); +} +function _stbi__bit_reverse($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ($1|0)<(17); + if ($2) { + $3 = (_stbi__bitreverse16($0)|0); + $4 = (16 - ($1))|0; + $5 = $3 >> $4; + return ($5|0); + } else { + ___assert_fail((12309|0),(11169|0),3766,(12320|0)); + // unreachable; + } + return (0)|0; +} +function _stbi__bitreverse16($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; + var sp = 0; + sp = STACKTOP; + $1 = $0 >>> 1; + $2 = $1 & 21845; + $3 = $0 << 1; + $4 = $3 & 43690; + $5 = $2 | $4; + $6 = $5 >>> 2; + $7 = $6 & 13107; + $8 = $5 << 2; + $9 = $8 & 52428; + $10 = $7 | $9; + $11 = $10 >>> 4; + $12 = $11 & 3855; + $13 = $10 << 4; + $14 = $13 & 61680; + $15 = $12 | $14; + $16 = $15 >>> 8; + $17 = $15 << 8; + $18 = $17 & 65280; + $19 = $18 | $16; + return ($19|0); +} +function _stbi__zget8($0) { + $0 = $0|0; + var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP32[$0>>2]|0; + $2 = ((($0)) + 4|0); + $3 = HEAP32[$2>>2]|0; + $4 = ($1>>>0)<($3>>>0); + if (!($4)) { + $$0 = 0; + return ($$0|0); + } + $5 = ((($1)) + 1|0); + HEAP32[$0>>2] = $5; + $6 = HEAP8[$1>>0]|0; + $$0 = $6; + return ($$0|0); +} +function _stbi__refill_buffer($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 16|0); + $2 = HEAP32[$1>>2]|0; + $3 = ((($0)) + 28|0); + $4 = HEAP32[$3>>2]|0; + $5 = ((($0)) + 40|0); + $6 = ((($0)) + 36|0); + $7 = HEAP32[$6>>2]|0; + $8 = (FUNCTION_TABLE_iiii[$2 & 15]($4,$5,$7)|0); + $9 = ($8|0)==(0); + if ($9) { + $10 = ((($0)) + 32|0); + HEAP32[$10>>2] = 0; + $11 = ((($0)) + 168|0); + HEAP32[$11>>2] = $5; + $12 = ((($0)) + 41|0); + $13 = ((($0)) + 172|0); + HEAP32[$13>>2] = $12; + HEAP8[$5>>0] = 0; + return; + } else { + $14 = ((($0)) + 168|0); + HEAP32[$14>>2] = $5; + $15 = (((($0)) + 40|0) + ($8)|0); + $16 = ((($0)) + 172|0); + HEAP32[$16>>2] = $15; return; } - $$pr = HEAP32[5772>>2]|0; - switch ($$pr|0) { - case 16: case 32: case 64: case 128: { - break; - } - default: { - return; - } - } - HEAP32[5772>>2] = 0; +} +function _stbi__rewind($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 176|0); + $2 = HEAP32[$1>>2]|0; + $3 = ((($0)) + 168|0); + HEAP32[$3>>2] = $2; + $4 = ((($0)) + 180|0); + $5 = HEAP32[$4>>2]|0; + $6 = ((($0)) + 172|0); + HEAP32[$6>>2] = $5; return; } -function _InitDisplay($width,$height) { - $width = $width|0; - $height = $height|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $count = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer14 = 0, $vararg_buffer18 = 0, $vararg_buffer3 = 0, $vararg_buffer5 = 0, $vararg_buffer7 = 0, $vararg_ptr13 = 0, $vararg_ptr17 = 0, $vararg_ptr9 = 0, dest = 0, label = 0; - var sp = 0, src = 0, stop = 0; +function _stbi__start_callbacks($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 128|0; - $vararg_buffer18 = sp + 56|0; - $vararg_buffer14 = sp + 48|0; + $3 = ((($0)) + 16|0); + ;HEAP32[$3>>2]=HEAP32[$1>>2]|0;HEAP32[$3+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$3+8>>2]=HEAP32[$1+8>>2]|0; + $4 = ((($0)) + 28|0); + HEAP32[$4>>2] = $2; + $5 = ((($0)) + 36|0); + HEAP32[$5>>2] = 128; + $6 = ((($0)) + 32|0); + HEAP32[$6>>2] = 1; + $7 = ((($0)) + 40|0); + $8 = ((($0)) + 176|0); + HEAP32[$8>>2] = $7; + _stbi__refill_buffer($0); + $9 = ((($0)) + 172|0); + $10 = HEAP32[$9>>2]|0; + $11 = ((($0)) + 180|0); + HEAP32[$11>>2] = $10; + return; +} +function _stbi__stdio_read($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = (_fread($1,1,$2,$0)|0); + return ($3|0); +} +function _stbi__stdio_skip($0,$1) { + $0 = $0|0; + $1 = $1|0; + var label = 0, sp = 0; + sp = STACKTOP; + (_fseek($0,$1,1)|0); + return; +} +function _stbi__stdio_eof($0) { + $0 = $0|0; + var $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (_feof($0)|0); + return ($1|0); +} +function _LoadImage($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$sink = 0, $$sroa$0$0 = 0, $$sroa$0$0$copyload = 0, $$sroa$0$1 = 0, $$sroa$0$144 = 0, $$sroa$11$0 = 0, $$sroa$11$0$$sroa_idx23 = 0, $$sroa$11$0$$sroa_idx24 = 0, $$sroa$11$0$copyload = 0, $$sroa$11$1 = 0, $$sroa$11$146 = 0, $$sroa$11$147 = 0, $$sroa$12$0 = 0, $$sroa$12$0$$sroa_idx27 = 0, $$sroa$12$0$$sroa_idx28 = 0, $$sroa$12$0$copyload = 0, $$sroa$12$1 = 0, $$sroa$12$2 = 0, $$sroa$12$248 = 0, $$sroa$12$249 = 0; + var $$sroa$7$0 = 0, $$sroa$7$0$$sroa_idx15 = 0, $$sroa$7$0$$sroa_idx16 = 0, $$sroa$7$0$copyload = 0, $$sroa$7$1 = 0, $$sroa$7$142 = 0, $$sroa$7$143 = 0, $$sroa$9$0 = 0, $$sroa$9$0$$sroa_idx19 = 0, $$sroa$9$0$$sroa_idx20 = 0, $$sroa$9$0$copyload = 0, $$sroa$9$1 = 0, $$sroa$9$140 = 0, $$sroa$9$141 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0; + var $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0; + var $vararg_buffer1 = 0, $vararg_buffer4 = 0, $vararg_buffer9 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0); + $vararg_buffer9 = sp + 32|0; + $vararg_buffer4 = sp + 16|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $2 = sp + 48|0; + $3 = sp + 44|0; + $4 = sp + 40|0; + $5 = sp + 36|0; + $6 = (_IsFileExtension($1,15987)|0); + $7 = ($6|0)==(0); + do { + if ($7) { + $19 = (_IsFileExtension($1,12637)|0); + $20 = ($19|0)==(0); + if ($20) { + HEAP32[$vararg_buffer1>>2] = $1; + _TraceLog(1,12642,$vararg_buffer1); + $$sroa$11$147 = 0;$$sroa$12$249 = 0;$$sroa$7$143 = 0;$$sroa$9$141 = 0; + break; + } + HEAP32[$3>>2] = 0; + HEAP32[$4>>2] = 0; + HEAP32[$5>>2] = 0; + $21 = (_fopen($1,16832)|0); + $22 = (_stbi_load_from_file($21,$3,$4,$5,0)|0); + (_fclose($21)|0); + $23 = HEAP32[$3>>2]|0; + $24 = HEAP32[$4>>2]|0; + $25 = HEAP32[$5>>2]|0; + switch ($25|0) { + case 1: { + $$sink = 1; + label = 11; + break; + } + case 2: { + $$sink = 2; + label = 11; + break; + } + case 3: { + $$sink = 4; + label = 11; + break; + } + case 4: { + $$sink = 7; + label = 11; + break; + } + default: { + $$sroa$12$1 = 0; + } + } + if ((label|0) == 11) { + $$sroa$12$1 = $$sink; + } + $$sroa$0$1 = $22;$$sroa$11$1 = 1;$$sroa$12$2 = $$sroa$12$1;$$sroa$7$1 = $23;$$sroa$9$1 = $24; + label = 14; + } else { + $8 = (_LoadResource($1,0)|0); + $9 = HEAP32[$8>>2]|0; + $10 = ($9|0)==(1); + if ($10) { + $11 = ((($8)) + 20|0); + $12 = HEAP32[$11>>2]|0; + $13 = ((($8)) + 4|0); + $14 = HEAP32[$13>>2]|0; + $15 = ((($8)) + 8|0); + $16 = HEAP32[$15>>2]|0; + $17 = ((($8)) + 12|0); + $18 = HEAP32[$17>>2]|0; + _LoadImagePro($2,$12,$14,$16,$18); + $$sroa$0$0$copyload = HEAP32[$2>>2]|0; + $$sroa$7$0$$sroa_idx15 = ((($2)) + 4|0); + $$sroa$7$0$copyload = HEAP32[$$sroa$7$0$$sroa_idx15>>2]|0; + $$sroa$9$0$$sroa_idx19 = ((($2)) + 8|0); + $$sroa$9$0$copyload = HEAP32[$$sroa$9$0$$sroa_idx19>>2]|0; + $$sroa$11$0$$sroa_idx23 = ((($2)) + 12|0); + $$sroa$11$0$copyload = HEAP32[$$sroa$11$0$$sroa_idx23>>2]|0; + $$sroa$12$0$$sroa_idx27 = ((($2)) + 16|0); + $$sroa$12$0$copyload = HEAP32[$$sroa$12$0$$sroa_idx27>>2]|0; + $$sroa$0$0 = $$sroa$0$0$copyload;$$sroa$11$0 = $$sroa$11$0$copyload;$$sroa$12$0 = $$sroa$12$0$copyload;$$sroa$7$0 = $$sroa$7$0$copyload;$$sroa$9$0 = $$sroa$9$0$copyload; + } else { + HEAP32[$vararg_buffer>>2] = $1; + _TraceLog(1,12590,$vararg_buffer); + $$sroa$0$0 = 0;$$sroa$11$0 = 0;$$sroa$12$0 = 0;$$sroa$7$0 = 0;$$sroa$9$0 = 0; + } + _UnloadResource($8); + $$sroa$0$1 = $$sroa$0$0;$$sroa$11$1 = $$sroa$11$0;$$sroa$12$2 = $$sroa$12$0;$$sroa$7$1 = $$sroa$7$0;$$sroa$9$1 = $$sroa$9$0; + label = 14; + } + } while(0); + if ((label|0) == 14) { + $26 = ($$sroa$0$1|0)==(0|0); + if ($26) { + $$sroa$11$147 = $$sroa$11$1;$$sroa$12$249 = $$sroa$12$2;$$sroa$7$143 = $$sroa$7$1;$$sroa$9$141 = $$sroa$9$1; + } else { + HEAP32[$vararg_buffer4>>2] = $1; + $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); + HEAP32[$vararg_ptr7>>2] = $$sroa$7$1; + $vararg_ptr8 = ((($vararg_buffer4)) + 8|0); + HEAP32[$vararg_ptr8>>2] = $$sroa$9$1; + _TraceLog(0,12678,$vararg_buffer4); + $$sroa$0$144 = $$sroa$0$1;$$sroa$11$146 = $$sroa$11$1;$$sroa$12$248 = $$sroa$12$2;$$sroa$7$142 = $$sroa$7$1;$$sroa$9$140 = $$sroa$9$1; + HEAP32[$0>>2] = $$sroa$0$144; + $$sroa$7$0$$sroa_idx16 = ((($0)) + 4|0); + HEAP32[$$sroa$7$0$$sroa_idx16>>2] = $$sroa$7$142; + $$sroa$9$0$$sroa_idx20 = ((($0)) + 8|0); + HEAP32[$$sroa$9$0$$sroa_idx20>>2] = $$sroa$9$140; + $$sroa$11$0$$sroa_idx24 = ((($0)) + 12|0); + HEAP32[$$sroa$11$0$$sroa_idx24>>2] = $$sroa$11$146; + $$sroa$12$0$$sroa_idx28 = ((($0)) + 16|0); + HEAP32[$$sroa$12$0$$sroa_idx28>>2] = $$sroa$12$248; + STACKTOP = sp;return; + } + } + HEAP32[$vararg_buffer9>>2] = $1; + _TraceLog(1,12717,$vararg_buffer9); + $$sroa$0$144 = 0;$$sroa$11$146 = $$sroa$11$147;$$sroa$12$248 = $$sroa$12$249;$$sroa$7$142 = $$sroa$7$143;$$sroa$9$140 = $$sroa$9$141; + HEAP32[$0>>2] = $$sroa$0$144; + $$sroa$7$0$$sroa_idx16 = ((($0)) + 4|0); + HEAP32[$$sroa$7$0$$sroa_idx16>>2] = $$sroa$7$142; + $$sroa$9$0$$sroa_idx20 = ((($0)) + 8|0); + HEAP32[$$sroa$9$0$$sroa_idx20>>2] = $$sroa$9$140; + $$sroa$11$0$$sroa_idx24 = ((($0)) + 12|0); + HEAP32[$$sroa$11$0$$sroa_idx24>>2] = $$sroa$11$146; + $$sroa$12$0$$sroa_idx28 = ((($0)) + 16|0); + HEAP32[$$sroa$12$0$$sroa_idx28>>2] = $$sroa$12$248; + STACKTOP = sp;return; +} +function _LoadResource($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0$lcssa = 0, $$05665 = 0, $$05764 = 0, $$1 = 0, $$2 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; + var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; + var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0; + var $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond60 = 0; + var $or$cond62 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer4 = 0, $vararg_buffer8 = 0, $vararg_ptr11 = 0, $vararg_ptr7 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0); + $vararg_buffer8 = sp + 24|0; + $vararg_buffer4 = sp + 16|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $2 = sp + 64|0; + $3 = sp + 32|0; + $4 = (_fopen($0,16832)|0); + $5 = ($4|0)==(0|0); + if ($5) { + HEAP32[$vararg_buffer>>2] = $0; + _TraceLog(1,12776,$vararg_buffer); + $$2 = 0; + STACKTOP = sp;return ($$2|0); + } + (_fread($2,1,1,$4)|0); + $6 = ((($2)) + 1|0); + (_fread($6,1,1,$4)|0); + $7 = ((($2)) + 2|0); + (_fread($7,1,1,$4)|0); + $8 = ((($2)) + 3|0); + (_fread($8,1,1,$4)|0); + $9 = ((($2)) + 4|0); + (_fread($9,2,1,$4)|0); + $10 = ((($2)) + 6|0); + (_fread($10,2,1,$4)|0); + $11 = HEAP8[$2>>0]|0; + $12 = ($11<<24>>24)==(114); + $13 = HEAP8[$6>>0]|0; + $14 = ($13<<24>>24)==(82); + $or$cond = $12 | $14; + $15 = HEAP8[$7>>0]|0; + $16 = ($15<<24>>24)==(69); + $or$cond60 = $or$cond | $16; + $17 = HEAP8[$8>>0]|0; + $18 = ($17<<24>>24)==(83); + $or$cond62 = $or$cond60 | $18; + if ($or$cond62) { + $19 = HEAP16[$10>>1]|0; + $20 = ($19<<16>>16)==(0); + if ($20) { + $$0$lcssa = 0; + } else { + $21 = ((($3)) + 7|0); + $22 = HEAP16[$10>>1]|0; + $23 = $22&65535; + $24 = ((($3)) + 8|0); + $25 = ((($3)) + 4|0); + $26 = ((($3)) + 16|0); + $27 = ((($3)) + 20|0); + $28 = ((($3)) + 24|0); + $29 = ((($3)) + 28|0); + $30 = ((($3)) + 8|0); + $31 = ((($3)) + 5|0); + $32 = ((($3)) + 12|0); + $$05665 = 0; + while(1) { + (_fread($3,32,1,$4)|0); + $36 = HEAP8[$21>>0]|0; + $37 = $36&255; + $38 = ($37*24)|0; + $39 = (_malloc($38)|0); + $40 = HEAP32[$3>>2]|0; + $41 = ($40|0)==($1|0); + if ($41) { + $42 = HEAP8[$21>>0]|0; + $43 = ($42<<24>>24)==(0); + if (!($43)) { + $$05764 = 0; + while(1) { + $44 = HEAP8[$25>>0]|0; + $45 = $44&255; + $46 = (($39) + (($$05764*24)|0)|0); + HEAP32[$46>>2] = $45; + $47 = HEAP32[$26>>2]|0; + $48 = (((($39) + (($$05764*24)|0)|0)) + 4|0); + HEAP32[$48>>2] = $47; + $49 = HEAP32[$27>>2]|0; + $50 = (((($39) + (($$05764*24)|0)|0)) + 8|0); + HEAP32[$50>>2] = $49; + $51 = HEAP32[$28>>2]|0; + $52 = (((($39) + (($$05764*24)|0)|0)) + 12|0); + HEAP32[$52>>2] = $51; + $53 = HEAP32[$29>>2]|0; + $54 = (((($39) + (($$05764*24)|0)|0)) + 16|0); + HEAP32[$54>>2] = $53; + $55 = HEAP32[$30>>2]|0; + $56 = (_malloc($55)|0); + (_fread($56,$55,1,$4)|0); + $57 = HEAP8[$31>>0]|0; + $58 = ($57<<24>>24)==(1); + if ($58) { + $59 = HEAP32[$30>>2]|0; + $60 = HEAP32[$32>>2]|0; + $61 = (_DecompressData($56,$59,$60)|0); + $62 = (((($39) + (($$05764*24)|0)|0)) + 20|0); + HEAP32[$62>>2] = $61; + _free($56); + } else { + $63 = (((($39) + (($$05764*24)|0)|0)) + 20|0); + HEAP32[$63>>2] = $56; + } + $64 = (((($39) + (($$05764*24)|0)|0)) + 20|0); + $65 = HEAP32[$64>>2]|0; + $66 = ($65|0)==(0|0); + if (!($66)) { + $67 = HEAP32[$3>>2]|0; + HEAP32[$vararg_buffer4>>2] = $0; + $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); + HEAP32[$vararg_ptr7>>2] = $67; + _TraceLog(0,12873,$vararg_buffer4); + } + (_fread($3,32,1,$4)|0); + $68 = (($$05764) + 1)|0; + $69 = HEAP8[$21>>0]|0; + $70 = $69&255; + $71 = ($68|0)<($70|0); + if ($71) { + $$05764 = $68; + } else { + break; + } + } + } + } else { + $72 = HEAP32[$24>>2]|0; + (_fseek($4,$72,1)|0); + } + $73 = (($$05665) + 1)|0; + $74 = ($73|0)<($23|0); + if ($74) { + $$05665 = $73; + } else { + $$0$lcssa = $39; + break; + } + } + } + $33 = ((($$0$lcssa)) + 20|0); + $34 = HEAP32[$33>>2]|0; + $35 = ($34|0)==(0|0); + if ($35) { + HEAP32[$vararg_buffer8>>2] = $0; + $vararg_ptr11 = ((($vararg_buffer8)) + 4|0); + HEAP32[$vararg_ptr11>>2] = $1; + _TraceLog(1,12919,$vararg_buffer8); + $$1 = $$0$lcssa; + } else { + $$1 = $$0$lcssa; + } + } else { + HEAP32[$vararg_buffer1>>2] = $0; + _TraceLog(1,12827,$vararg_buffer1); + $$1 = 0; + } + (_fclose($4)|0); + $$2 = $$1; + STACKTOP = sp;return ($$2|0); +} +function _LoadImagePro($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$byval_copy = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0); + $$byval_copy = sp + 20|0; + $5 = sp; + HEAP32[$5>>2] = $1; + $6 = ((($5)) + 4|0); + HEAP32[$6>>2] = $2; + $7 = ((($5)) + 8|0); + HEAP32[$7>>2] = $3; + $8 = ((($5)) + 12|0); + HEAP32[$8>>2] = 1; + $9 = ((($5)) + 16|0); + HEAP32[$9>>2] = $4; + ;HEAP32[$$byval_copy>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$5+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$5+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$5+16>>2]|0; + _ImageCopy($0,$$byval_copy); + STACKTOP = sp;return; +} +function _UnloadResource($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 20|0); + $2 = HEAP32[$1>>2]|0; + $3 = ($2|0)==(0|0); + if ($3) { + return; + } + _free($2); + return; +} +function _ImageCopy($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $$sroa$6$0 = 0, $$sroa$6$0$$sroa_idx10 = 0, $$sroa$7$0 = 0, $$sroa$7$0$$sroa_idx12 = 0, $$sroa$8$0 = 0, $$sroa$8$0$$sroa_idx14 = 0, $$sroa$9$0 = 0, $$sroa$9$0$$sroa_idx16 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0; + var $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $vararg_buffer = sp; + $2 = ((($1)) + 4|0); + $3 = HEAP32[$2>>2]|0; + $4 = ((($1)) + 8|0); + $5 = HEAP32[$4>>2]|0; + $6 = Math_imul($5, $3)|0; + $7 = ((($1)) + 16|0); + $8 = HEAP32[$7>>2]|0; + switch ($8|0) { + case 17: case 14: case 11: case 10: case 1: { + $$0 = $6; + break; + } + case 6: case 5: case 3: case 2: { + $9 = $6 << 1; + $$0 = $9; + break; + } + case 4: { + $10 = ($6*3)|0; + $$0 = $10; + break; + } + case 7: { + $11 = $6 << 2; + $$0 = $11; + break; + } + case 16: case 15: case 13: case 12: case 9: case 8: { + $12 = (($6|0) / 2)&-1; + $$0 = $12; + break; + } + case 18: { + $13 = (($6|0) / 4)&-1; + $$0 = $13; + break; + } + default: { + _TraceLog(1,12748,$vararg_buffer); + $$0 = $6; + } + } + $14 = (_malloc($$0)|0); + $15 = ($14|0)==(0|0); + if ($15) { + $$sroa$6$0 = 0;$$sroa$7$0 = 0;$$sroa$8$0 = 0;$$sroa$9$0 = 0; + } else { + $16 = HEAP32[$1>>2]|0; + _memcpy(($14|0),($16|0),($$0|0))|0; + $17 = HEAP32[$2>>2]|0; + $18 = HEAP32[$4>>2]|0; + $19 = ((($1)) + 12|0); + $20 = HEAP32[$19>>2]|0; + $21 = HEAP32[$7>>2]|0; + $$sroa$6$0 = $17;$$sroa$7$0 = $18;$$sroa$8$0 = $20;$$sroa$9$0 = $21; + } + HEAP32[$0>>2] = $14; + $$sroa$6$0$$sroa_idx10 = ((($0)) + 4|0); + HEAP32[$$sroa$6$0$$sroa_idx10>>2] = $$sroa$6$0; + $$sroa$7$0$$sroa_idx12 = ((($0)) + 8|0); + HEAP32[$$sroa$7$0$$sroa_idx12>>2] = $$sroa$7$0; + $$sroa$8$0$$sroa_idx14 = ((($0)) + 12|0); + HEAP32[$$sroa$8$0$$sroa_idx14>>2] = $$sroa$8$0; + $$sroa$9$0$$sroa_idx16 = ((($0)) + 16|0); + HEAP32[$$sroa$9$0$$sroa_idx16>>2] = $$sroa$9$0; + STACKTOP = sp;return; +} +function _DecompressData($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer3 = 0, $vararg_buffer5 = 0, $vararg_buffer7 = 0, $vararg_ptr13 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0); $vararg_buffer10 = sp + 40|0; $vararg_buffer7 = sp + 32|0; $vararg_buffer5 = sp + 24|0; $vararg_buffer3 = sp + 16|0; $vararg_buffer1 = sp + 8|0; $vararg_buffer = sp; - $0 = sp + 64|0; - $count = sp + 60|0; - HEAP32[796>>2] = $width; - HEAP32[800>>2] = $height; - _MatrixIdentity($0); - dest=820; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - (_glfwSetErrorCallback((2|0))|0); - $1 = (_glfwInit()|0); - $2 = ($1|0)==(0); - if ($2) { - _TraceLog(1,22711,$vararg_buffer); - } - $3 = HEAP32[796>>2]|0; - HEAP32[960>>2] = $3; - $4 = HEAP32[800>>2]|0; - HEAP32[964>>2] = $4; - _glfwDefaultWindowHints(); - _glfwWindowHint(131075,0); - $5 = (_rlGetVersion()|0); - $6 = ($5|0)==(2); - if ($6) { - $7 = HEAP8[10222>>0]|0; - $8 = $7 & 16; - $9 = ($8<<24>>24)==(0); - if (!($9)) { - _glfwWindowHint(135181,4); - _TraceLog(0,22737,$vararg_buffer1); - } - _glfwWindowHint(139266,3); - _glfwWindowHint(139267,3); - _glfwWindowHint(139272,204801); - _glfwWindowHint(139270,0); - } - $10 = HEAP32[948>>2]|0; - $11 = ($10|0)==(0); - if ($11) { - $20 = HEAP32[796>>2]|0; - $21 = HEAP32[800>>2]|0; - $22 = HEAP32[792>>2]|0; - $23 = (_glfwCreateWindow(($20|0),($21|0),($22|0),(0|0),(0|0))|0); - HEAP32[808>>2] = $23; - $24 = HEAP32[796>>2]|0; - HEAP32[976>>2] = $24; - $25 = HEAP32[800>>2]|0; - HEAP32[980>>2] = $25; - $26 = $23; - } else { - $12 = HEAP32[960>>2]|0; - $13 = HEAP32[964>>2]|0; - _SetupFramebufferSize($12,$13); - $14 = (_glfwGetPrimaryMonitor()|0); - (_glfwGetVideoModes(($14|0),($count|0))|0); - $15 = HEAP32[796>>2]|0; - $16 = HEAP32[800>>2]|0; - $17 = HEAP32[792>>2]|0; - $18 = (_glfwGetPrimaryMonitor()|0); - $19 = (_glfwCreateWindow(($15|0),($16|0),($17|0),($18|0),(0|0))|0); - HEAP32[808>>2] = $19; - $26 = $19; - } - $27 = ($26|0)==(0|0); - if ($27) { - _glfwTerminate(); - _TraceLog(1,22762,$vararg_buffer3); - } else { - _TraceLog(0,22795,$vararg_buffer5); - $28 = HEAP32[976>>2]|0; - $29 = HEAP32[980>>2]|0; - HEAP32[$vararg_buffer7>>2] = $28; - $vararg_ptr9 = ((($vararg_buffer7)) + 4|0); - HEAP32[$vararg_ptr9>>2] = $29; - _TraceLog(0,22835,$vararg_buffer7); - $30 = HEAP32[796>>2]|0; - $31 = HEAP32[800>>2]|0; - HEAP32[$vararg_buffer10>>2] = $30; - $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); - HEAP32[$vararg_ptr13>>2] = $31; - _TraceLog(0,22856,$vararg_buffer10); - $32 = HEAP32[968>>2]|0; - $33 = HEAP32[972>>2]|0; - HEAP32[$vararg_buffer14>>2] = $32; - $vararg_ptr17 = ((($vararg_buffer14)) + 4|0); - HEAP32[$vararg_ptr17>>2] = $33; - _TraceLog(0,22877,$vararg_buffer14); - } - $34 = HEAP32[808>>2]|0; - (_glfwSetWindowSizeCallback(($34|0),(1|0))|0); - $35 = HEAP32[808>>2]|0; - (_glfwSetCursorEnterCallback(($35|0),(3|0))|0); - $36 = HEAP32[808>>2]|0; - (_glfwSetKeyCallback(($36|0),(1|0))|0); - $37 = HEAP32[808>>2]|0; - (_glfwSetMouseButtonCallback(($37|0),(1|0))|0); - $38 = HEAP32[808>>2]|0; - (_glfwSetCursorPosCallback(($38|0),(1|0))|0); - $39 = HEAP32[808>>2]|0; - (_glfwSetCharCallback(($39|0),(4|0))|0); - $40 = HEAP32[808>>2]|0; - (_glfwSetScrollCallback(($40|0),(2|0))|0); - $41 = HEAP32[808>>2]|0; - (_glfwSetWindowIconifyCallback(($41|0),(5|0))|0); - $42 = HEAP32[808>>2]|0; - _glfwMakeContextCurrent(($42|0)); - $43 = HEAP8[10222>>0]|0; - $44 = $43 & 32; - $45 = ($44<<24>>24)==(0); - if ($45) { - STACKTOP = sp;return; - } - _glfwSwapInterval(1); - _TraceLog(0,22902,$vararg_buffer18); - STACKTOP = sp;return; -} -function _InitGraphics() { - var $$byval_copy = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $$byval_copy = sp + 4|0; - $0 = sp; - _rlglInit(); - $1 = HEAP32[968>>2]|0; - $2 = HEAP32[972>>2]|0; - $3 = HEAP32[976>>2]|0; - $4 = HEAP32[980>>2]|0; - _rlglInitGraphics($1,$2,$3,$4); - HEAP8[$0>>0] = -11; - $5 = ((($0)) + 1|0); - HEAP8[$5>>0] = -11; - $6 = ((($0)) + 2|0); - HEAP8[$6>>0] = -11; - $7 = ((($0)) + 3|0); - HEAP8[$7>>0] = -1; - ;HEAP8[$$byval_copy>>0]=HEAP8[$0>>0]|0;HEAP8[$$byval_copy+1>>0]=HEAP8[$0+1>>0]|0;HEAP8[$$byval_copy+2>>0]=HEAP8[$0+2>>0]|0;HEAP8[$$byval_copy+3>>0]=HEAP8[$0+3>>0]|0; - _ClearBackground($$byval_copy); - STACKTOP = sp;return; -} -function _InitTimer() { - var $0 = 0, $1 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_time((0|0))|0); - _srand($0); - $1 = (+_GetTime()); - HEAPF64[32>>3] = $1; - return; -} -function _EmscriptenFullscreenChangeCallback($eventType,$e,$userData) { - $eventType = $eventType|0; - $e = $e|0; - $userData = $userData|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer4 = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, $vararg_ptr9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $vararg_buffer4 = sp + 16|0; - $vararg_buffer = sp; - $0 = HEAP32[$e>>2]|0; - $1 = ($0|0)==(0); - $2 = ((($e)) + 264|0); - $3 = HEAP32[$2>>2]|0; - $4 = ((($e)) + 268|0); - $5 = HEAP32[$4>>2]|0; - $6 = ((($e)) + 272|0); - $7 = HEAP32[$6>>2]|0; - $8 = ((($e)) + 276|0); - $9 = HEAP32[$8>>2]|0; - if ($1) { - HEAP32[$vararg_buffer4>>2] = $3; - $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); - HEAP32[$vararg_ptr7>>2] = $5; - $vararg_ptr8 = ((($vararg_buffer4)) + 8|0); - HEAP32[$vararg_ptr8>>2] = $7; - $vararg_ptr9 = ((($vararg_buffer4)) + 12|0); - HEAP32[$vararg_ptr9>>2] = $9; - _TraceLog(0,22644,$vararg_buffer4); - STACKTOP = sp;return 0; - } else { - HEAP32[$vararg_buffer>>2] = $3; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = $5; - $vararg_ptr2 = ((($vararg_buffer)) + 8|0); - HEAP32[$vararg_ptr2>>2] = $7; - $vararg_ptr3 = ((($vararg_buffer)) + 12|0); - HEAP32[$vararg_ptr3>>2] = $9; - _TraceLog(0,22575,$vararg_buffer); - STACKTOP = sp;return 0; - } - return (0)|0; -} -function _EmscriptenInputCallback($eventType,$touchEvent,$userData) { - $eventType = $eventType|0; - $touchEvent = $touchEvent|0; - $userData = $userData|0; - var $0 = 0, $1 = 0, $10 = 0.0, $11 = 0, $12 = 0, $13 = 0.0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0.0, $19 = 0, $2 = 0, $20 = 0, $21 = 0.0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0.0, $48 = 0.0, $49 = 0.0, $5 = 0, $50 = 0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0, $59 = 0.0, $6 = 0, $60 = 0.0, $61 = 0.0, $7 = 0; - var $8 = 0, $9 = 0, $gestureEvent = 0, $gestureEvent$byval_copy = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; - $gestureEvent$byval_copy = sp + 32|0; - $gestureEvent = sp; - switch ($eventType|0) { - case 22: { - HEAP32[$gestureEvent>>2] = 1; - break; - } - case 23: { - HEAP32[$gestureEvent>>2] = 0; - break; - } - case 24: { - HEAP32[$gestureEvent>>2] = 2; - break; - } - default: { - } - } - $0 = HEAP32[$touchEvent>>2]|0; - $1 = ((($gestureEvent)) + 4|0); - HEAP32[$1>>2] = $0; - $2 = ((($touchEvent)) + 20|0); - $3 = HEAP32[$2>>2]|0; - $4 = ((($gestureEvent)) + 8|0); - HEAP32[$4>>2] = $3; - $5 = ((($touchEvent)) + 72|0); - $6 = HEAP32[$5>>2]|0; - $7 = ((($gestureEvent)) + 12|0); - HEAP32[$7>>2] = $6; - $8 = ((($touchEvent)) + 56|0); - $9 = HEAP32[$8>>2]|0; - $10 = (+($9|0)); - $11 = ((($touchEvent)) + 60|0); - $12 = HEAP32[$11>>2]|0; - $13 = (+($12|0)); - $14 = ((($gestureEvent)) + 16|0); - HEAPF32[$14>>2] = $10; - $15 = ((($gestureEvent)) + 20|0); - HEAPF32[$15>>2] = $13; - $16 = ((($touchEvent)) + 108|0); - $17 = HEAP32[$16>>2]|0; - $18 = (+($17|0)); - $19 = ((($touchEvent)) + 112|0); - $20 = HEAP32[$19>>2]|0; - $21 = (+($20|0)); - $22 = ((($gestureEvent)) + 24|0); - HEAPF32[$22>>2] = $18; - $23 = ((($gestureEvent)) + 28|0); - HEAPF32[$23>>2] = $21; - $24 = ((($gestureEvent)) + 16|0); - $25 = $24; - $26 = $25; - $27 = HEAP32[$26>>2]|0; - $28 = (($25) + 4)|0; - $29 = $28; - $30 = HEAP32[$29>>2]|0; - $31 = 64; - $32 = $31; - HEAP32[$32>>2] = $27; - $33 = (($31) + 4)|0; - $34 = $33; - HEAP32[$34>>2] = $30; - $35 = ((($gestureEvent)) + 24|0); - $36 = $35; - $37 = $36; - $38 = HEAP32[$37>>2]|0; - $39 = (($36) + 4)|0; - $40 = $39; - $41 = HEAP32[$40>>2]|0; - $42 = (72); - $43 = $42; - HEAP32[$43>>2] = $38; - $44 = (($42) + 4)|0; - $45 = $44; - HEAP32[$45>>2] = $41; - $46 = (_GetScreenWidth()|0); - $47 = (+($46|0)); - $48 = +HEAPF32[$24>>2]; - $49 = $48 / $47; - HEAPF32[$24>>2] = $49; - $50 = (_GetScreenHeight()|0); - $51 = (+($50|0)); - $52 = +HEAPF32[$15>>2]; - $53 = $52 / $51; - HEAPF32[$15>>2] = $53; - $54 = (_GetScreenWidth()|0); - $55 = (+($54|0)); - $56 = +HEAPF32[$35>>2]; - $57 = $56 / $55; - HEAPF32[$35>>2] = $57; - $58 = (_GetScreenHeight()|0); - $59 = (+($58|0)); - $60 = +HEAPF32[$23>>2]; - $61 = $60 / $59; - HEAPF32[$23>>2] = $61; - ;HEAP32[$gestureEvent$byval_copy>>2]=HEAP32[$gestureEvent>>2]|0;HEAP32[$gestureEvent$byval_copy+4>>2]=HEAP32[$gestureEvent+4>>2]|0;HEAP32[$gestureEvent$byval_copy+8>>2]=HEAP32[$gestureEvent+8>>2]|0;HEAP32[$gestureEvent$byval_copy+12>>2]=HEAP32[$gestureEvent+12>>2]|0;HEAP32[$gestureEvent$byval_copy+16>>2]=HEAP32[$gestureEvent+16>>2]|0;HEAP32[$gestureEvent$byval_copy+20>>2]=HEAP32[$gestureEvent+20>>2]|0;HEAP32[$gestureEvent$byval_copy+24>>2]=HEAP32[$gestureEvent+24>>2]|0;HEAP32[$gestureEvent$byval_copy+28>>2]=HEAP32[$gestureEvent+28>>2]|0; - _ProcessGestureEvent($gestureEvent$byval_copy); - STACKTOP = sp;return 1; -} -function _LogoAnimation() { - var label = 0, sp = 0; - sp = STACKTOP; - HEAP32[804>>2] = 0; - return; -} -function _GetTime() { - var $0 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (+_glfwGetTime()); - return (+$0); -} -function _SwapBuffers() { - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[808>>2]|0; - _glfwSwapBuffers(($0|0)); - return; -} -function _PollInputEvents() { - var $0 = 0, $1 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $mouseX = 0, $mouseY = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $mouseX = sp + 8|0; - $mouseY = sp; - _UpdateGestures(); - $0 = HEAP32[808>>2]|0; - _glfwGetCursorPos(($0|0),($mouseX|0),($mouseY|0)); - $1 = +HEAPF64[$mouseX>>3]; - $2 = $1; - HEAPF32[8>>2] = $2; - $3 = +HEAPF64[$mouseY>>3]; - $4 = $3; - HEAPF32[(12)>>2] = $4; - HEAP32[952>>2] = -1; - _memcpy((10735|0),(10223|0),512)|0; - ;HEAP8[11250>>0]=HEAP8[11247>>0]|0;HEAP8[11250+1>>0]=HEAP8[11247+1>>0]|0;HEAP8[11250+2>>0]=HEAP8[11247+2>>0]|0; - $5 = HEAP32[8628>>2]|0; - HEAP32[956>>2] = $5; - HEAP32[8628>>2] = 0; - _glfwPollEvents(); - STACKTOP = sp;return; -} -function _LoadDefaultShader($agg$result) { - $agg$result = $agg$result|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; - var $fShaderStr = 0, $vShaderStr = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 864|0; - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $vShaderStr = sp + 390|0; - $fShaderStr = sp + 12|0; - _memcpy(($vShaderStr|0),(21624|0),466)|0; - _memcpy(($fShaderStr|0),(22090|0),377)|0; - $0 = (_LoadShaderProgram($vShaderStr,$fShaderStr)|0); - $1 = ($0|0)==(0); - if ($1) { - HEAP32[$vararg_buffer1>>2] = $0; - _TraceLog(2,22515,$vararg_buffer1); - } else { - HEAP32[$vararg_buffer>>2] = $0; - _TraceLog(0,22467,$vararg_buffer); - } - $2 = (_glGetAttribLocation(($0|0),(12921|0))|0); - $3 = (_glGetAttribLocation(($0|0),(12936|0))|0); - $4 = (_glGetAttribLocation(($0|0),(22563|0))|0); - $5 = (_glGetUniformLocation(($0|0),(12964|0))|0); - $6 = (_glGetUniformLocation(($0|0),(12988|0))|0); - $7 = HEAP32[788>>2]|0; - HEAP32[$agg$result>>2] = $0; - $8 = ((($agg$result)) + 4|0); - HEAP32[$8>>2] = $7; - $9 = ((($agg$result)) + 8|0); - HEAP32[$9>>2] = 0; - $10 = ((($agg$result)) + 12|0); - HEAP32[$10>>2] = 0; - $11 = ((($agg$result)) + 16|0); - HEAP32[$11>>2] = $2; - $12 = ((($agg$result)) + 20|0); - HEAP32[$12>>2] = $3; - $13 = ((($agg$result)) + 24|0); - HEAP32[$13>>2] = -1; - $14 = ((($agg$result)) + 28|0); - HEAP32[$14>>2] = $4; - $15 = ((($agg$result)) + 32|0); - HEAP32[$15>>2] = $5; - $16 = ((($agg$result)) + 36|0); - HEAP32[$16>>2] = -1; - $17 = ((($agg$result)) + 40|0); - HEAP32[$17>>2] = $6; - $18 = ((($agg$result)) + 44|0); - HEAP32[$18>>2] = -1; - $19 = ((($agg$result)) + 48|0); - HEAP32[$19>>2] = -1; - STACKTOP = sp;return; -} -function _LoadSimpleShader($agg$result) { - $agg$result = $agg$result|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; - var $9 = 0, $fShaderStr = 0, $vShaderStr = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 800|0; - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $vShaderStr = sp + 389|0; - $fShaderStr = sp + 12|0; - _memcpy(($vShaderStr|0),(20752|0),401)|0; - _memcpy(($fShaderStr|0),(21153|0),377)|0; - $0 = (_LoadShaderProgram($vShaderStr,$fShaderStr)|0); - $1 = ($0|0)==(0); - if ($1) { - HEAP32[$vararg_buffer1>>2] = $0; - _TraceLog(2,21577,$vararg_buffer1); - } else { - HEAP32[$vararg_buffer>>2] = $0; - _TraceLog(0,21530,$vararg_buffer); - } - $2 = (_glGetAttribLocation(($0|0),(12921|0))|0); - $3 = (_glGetAttribLocation(($0|0),(12936|0))|0); - $4 = (_glGetAttribLocation(($0|0),(12951|0))|0); - $5 = (_glGetUniformLocation(($0|0),(12964|0))|0); - $6 = (_glGetUniformLocation(($0|0),(12974|0))|0); - $7 = (_glGetUniformLocation(($0|0),(12988|0))|0); - $8 = HEAP32[788>>2]|0; - HEAP32[$agg$result>>2] = $0; - $9 = ((($agg$result)) + 4|0); - HEAP32[$9>>2] = $8; - $10 = ((($agg$result)) + 8|0); - HEAP32[$10>>2] = 0; - $11 = ((($agg$result)) + 12|0); - HEAP32[$11>>2] = 0; - $12 = ((($agg$result)) + 16|0); - HEAP32[$12>>2] = $2; - $13 = ((($agg$result)) + 20|0); - HEAP32[$13>>2] = $3; - $14 = ((($agg$result)) + 24|0); - HEAP32[$14>>2] = $4; - $15 = ((($agg$result)) + 28|0); - HEAP32[$15>>2] = -1; - $16 = ((($agg$result)) + 32|0); - HEAP32[$16>>2] = $5; - $17 = ((($agg$result)) + 36|0); - HEAP32[$17>>2] = $6; - $18 = ((($agg$result)) + 40|0); - HEAP32[$18>>2] = $7; - $19 = ((($agg$result)) + 44|0); - HEAP32[$19>>2] = -1; - $20 = ((($agg$result)) + 48|0); - HEAP32[$20>>2] = -1; - STACKTOP = sp;return; -} -function _InitializeBuffers() { - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $5 = 0, $6 = 0; - var $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond14 = 0, $exitcond17 = 0, $exitcond19 = 0, $i1$012 = 0, $i3$010 = 0, $i6$07 = 0, $i7$06 = 0, $k$05 = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $vararg_buffer = sp; - $0 = (_malloc(24576)|0); - HEAP32[2212>>2] = $0; - $1 = (_malloc(8192)|0); - HEAP32[2172>>2] = $1; - $2 = HEAP32[2212>>2]|0; - _memset(($2|0),0,24576)|0; - $i1$012 = 0; - while(1) { - $3 = HEAP32[2172>>2]|0; - $4 = (($3) + ($i1$012)|0); - HEAP8[$4>>0] = 0; - $5 = (($i1$012) + 1)|0; - $exitcond19 = ($5|0)==(8192); - if ($exitcond19) { - break; - } else { - $i1$012 = $5; - } - } - HEAP32[2164>>2] = 0; - HEAP32[2168>>2] = 0; - $6 = (_malloc(73728)|0); - HEAP32[2216>>2] = $6; - $7 = (_malloc(24576)|0); - HEAP32[2184>>2] = $7; - $8 = HEAP32[2216>>2]|0; - _memset(($8|0),0,73728)|0; - $i3$010 = 0; - while(1) { - $9 = HEAP32[2184>>2]|0; - $10 = (($9) + ($i3$010)|0); - HEAP8[$10>>0] = 0; - $11 = (($i3$010) + 1)|0; - $exitcond17 = ($11|0)==(24576); - if ($exitcond17) { - break; - } else { - $i3$010 = $11; - } - } - HEAP32[2176>>2] = 0; - HEAP32[2180>>2] = 0; - $12 = (_malloc(49152)|0); - HEAP32[2220>>2] = $12; - $13 = (_malloc(32768)|0); - HEAP32[2204>>2] = $13; - $14 = (_malloc(16384)|0); - HEAP32[2196>>2] = $14; - $15 = (_malloc(12288)|0); - HEAP32[2708>>2] = $15; - $16 = HEAP32[2220>>2]|0; - _memset(($16|0),0,49152)|0; - $17 = HEAP32[2204>>2]|0; - _memset(($17|0),0,32768)|0; - $i6$07 = 0; - while(1) { - $19 = HEAP32[2196>>2]|0; - $20 = (($19) + ($i6$07)|0); - HEAP8[$20>>0] = 0; - $21 = (($i6$07) + 1)|0; - $exitcond14 = ($21|0)==(16384); - if ($exitcond14) { - break; - } else { - $i6$07 = $21; - } - } - $18 = HEAP32[2708>>2]|0; - $i7$06 = 0;$k$05 = 0; - while(1) { - $22 = $k$05 << 2; - $23 = $22&65535; - $24 = (($18) + ($i7$06<<1)|0); - HEAP16[$24>>1] = $23; - $25 = $22 | 1; - $26 = $25&65535; - $27 = $i7$06 | 1; - $28 = (($18) + ($27<<1)|0); - HEAP16[$28>>1] = $26; - $29 = $22 | 2; - $30 = $29&65535; - $31 = (($i7$06) + 2)|0; - $32 = (($18) + ($31<<1)|0); - HEAP16[$32>>1] = $30; - $33 = (($i7$06) + 3)|0; - $34 = (($18) + ($33<<1)|0); - HEAP16[$34>>1] = $23; - $35 = (($i7$06) + 4)|0; - $36 = (($18) + ($35<<1)|0); - HEAP16[$36>>1] = $30; - $37 = $22 | 3; - $38 = $37&65535; - $39 = (($i7$06) + 5)|0; - $40 = (($18) + ($39<<1)|0); - HEAP16[$40>>1] = $38; - $41 = (($k$05) + 1)|0; - $42 = (($i7$06) + 6)|0; - $exitcond = ($41|0)==(1024); - if ($exitcond) { - break; - } else { - $i7$06 = $42;$k$05 = $41; - } - } - HEAP32[2188>>2] = 0; - HEAP32[2200>>2] = 0; - HEAP32[2192>>2] = 0; - _TraceLog(0,20689,$vararg_buffer); - STACKTOP = sp;return; -} -function _InitializeBuffersGPU() { - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; - var $63 = 0, $64 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer12 = 0, $vararg_buffer15 = 0, $vararg_buffer5 = 0, $vararg_buffer8 = 0, $vararg_ptr11 = 0, $vararg_ptr18 = 0, $vararg_ptr19 = 0, $vararg_ptr20 = 0, $vararg_ptr4 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; - $vararg_buffer15 = sp + 40|0; - $vararg_buffer12 = sp + 32|0; - $vararg_buffer8 = sp + 24|0; - $vararg_buffer5 = sp + 16|0; - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $0 = HEAP32[2244>>2]|0; - $1 = ($0|0)==(0); - if (!($1)) { - $2 = HEAP32[2252>>2]|0; - FUNCTION_TABLE_vii[$2 & 63](1,2696); - $3 = HEAP32[2256>>2]|0; - $4 = HEAP32[2696>>2]|0; - FUNCTION_TABLE_vi[$3 & 31]($4); - } - _glGenBuffers(2,(2664|0)); - $5 = HEAP32[2664>>2]|0; - _glBindBuffer(34962,($5|0)); - $6 = HEAP32[2212>>2]|0; - _glBufferData(34962,24576,($6|0),35048); - $7 = HEAP32[(2404)>>2]|0; - _glEnableVertexAttribArray(($7|0)); - $8 = HEAP32[(2404)>>2]|0; - _glVertexAttribPointer(($8|0),3,5126,0,0,(0|0)); - $9 = HEAP32[(2668)>>2]|0; - _glBindBuffer(34962,($9|0)); - $10 = HEAP32[2172>>2]|0; - _glBufferData(34962,8192,($10|0),35048); - $11 = HEAP32[(2416)>>2]|0; - _glEnableVertexAttribArray(($11|0)); - $12 = HEAP32[(2416)>>2]|0; - _glVertexAttribPointer(($12|0),4,5121,1,0,(0|0)); - $13 = HEAP32[2244>>2]|0; - $14 = ($13|0)==(0); - if ($14) { - $16 = HEAP32[2664>>2]|0; - $17 = HEAP32[(2668)>>2]|0; - HEAP32[$vararg_buffer1>>2] = $16; - $vararg_ptr4 = ((($vararg_buffer1)) + 4|0); - HEAP32[$vararg_ptr4>>2] = $17; - _TraceLog(0,20388,$vararg_buffer1); - } else { - $15 = HEAP32[2696>>2]|0; - HEAP32[$vararg_buffer>>2] = $15; - _TraceLog(0,20341,$vararg_buffer); - } - $18 = HEAP32[2244>>2]|0; - $19 = ($18|0)==(0); - if (!($19)) { - $20 = HEAP32[2252>>2]|0; - FUNCTION_TABLE_vii[$20 & 63](1,2700); - $21 = HEAP32[2256>>2]|0; - $22 = HEAP32[2700>>2]|0; - FUNCTION_TABLE_vi[$21 & 31]($22); - } - _glGenBuffers(2,(2672|0)); - $23 = HEAP32[2672>>2]|0; - _glBindBuffer(34962,($23|0)); - $24 = HEAP32[2216>>2]|0; - _glBufferData(34962,73728,($24|0),35048); - $25 = HEAP32[(2404)>>2]|0; - _glEnableVertexAttribArray(($25|0)); - $26 = HEAP32[(2404)>>2]|0; - _glVertexAttribPointer(($26|0),3,5126,0,0,(0|0)); - $27 = HEAP32[(2676)>>2]|0; - _glBindBuffer(34962,($27|0)); - $28 = HEAP32[2184>>2]|0; - _glBufferData(34962,24576,($28|0),35048); - $29 = HEAP32[(2416)>>2]|0; - _glEnableVertexAttribArray(($29|0)); - $30 = HEAP32[(2416)>>2]|0; - _glVertexAttribPointer(($30|0),4,5121,1,0,(0|0)); - $31 = HEAP32[2244>>2]|0; - $32 = ($31|0)==(0); - if ($32) { - $34 = HEAP32[2672>>2]|0; - $35 = HEAP32[(2676)>>2]|0; - HEAP32[$vararg_buffer8>>2] = $34; - $vararg_ptr11 = ((($vararg_buffer8)) + 4|0); - HEAP32[$vararg_ptr11>>2] = $35; - _TraceLog(0,20498,$vararg_buffer8); - } else { - $33 = HEAP32[2700>>2]|0; - HEAP32[$vararg_buffer5>>2] = $33; - _TraceLog(0,20447,$vararg_buffer5); - } - $36 = HEAP32[2244>>2]|0; - $37 = ($36|0)==(0); - if (!($37)) { - $38 = HEAP32[2252>>2]|0; - FUNCTION_TABLE_vii[$38 & 63](1,2704); - $39 = HEAP32[2256>>2]|0; - $40 = HEAP32[2704>>2]|0; - FUNCTION_TABLE_vi[$39 & 31]($40); - } - _glGenBuffers(4,(2680|0)); - $41 = HEAP32[2680>>2]|0; - _glBindBuffer(34962,($41|0)); - $42 = HEAP32[2220>>2]|0; - _glBufferData(34962,49152,($42|0),35048); - $43 = HEAP32[(2404)>>2]|0; - _glEnableVertexAttribArray(($43|0)); - $44 = HEAP32[(2404)>>2]|0; - _glVertexAttribPointer(($44|0),3,5126,0,0,(0|0)); - $45 = HEAP32[(2684)>>2]|0; - _glBindBuffer(34962,($45|0)); - $46 = HEAP32[2204>>2]|0; - _glBufferData(34962,32768,($46|0),35048); - $47 = HEAP32[(2408)>>2]|0; - _glEnableVertexAttribArray(($47|0)); - $48 = HEAP32[(2408)>>2]|0; - _glVertexAttribPointer(($48|0),2,5126,0,0,(0|0)); - $49 = HEAP32[(2688)>>2]|0; - _glBindBuffer(34962,($49|0)); - $50 = HEAP32[2196>>2]|0; - _glBufferData(34962,16384,($50|0),35048); - $51 = HEAP32[(2416)>>2]|0; - _glEnableVertexAttribArray(($51|0)); - $52 = HEAP32[(2416)>>2]|0; - _glVertexAttribPointer(($52|0),4,5121,1,0,(0|0)); - $53 = HEAP32[(2692)>>2]|0; - _glBindBuffer(34963,($53|0)); - $54 = HEAP32[2708>>2]|0; - _glBufferData(34963,12288,($54|0),35044); - $55 = HEAP32[2244>>2]|0; - $56 = ($55|0)==(0); - if ($56) { - $58 = HEAP32[2680>>2]|0; - $59 = HEAP32[(2684)>>2]|0; - $60 = HEAP32[(2688)>>2]|0; - $61 = HEAP32[(2692)>>2]|0; - HEAP32[$vararg_buffer15>>2] = $58; - $vararg_ptr18 = ((($vararg_buffer15)) + 4|0); - HEAP32[$vararg_ptr18>>2] = $59; - $vararg_ptr19 = ((($vararg_buffer15)) + 8|0); - HEAP32[$vararg_ptr19>>2] = $60; - $vararg_ptr20 = ((($vararg_buffer15)) + 12|0); - HEAP32[$vararg_ptr20>>2] = $61; - _TraceLog(0,20608,$vararg_buffer15); - } else { - $57 = HEAP32[2704>>2]|0; - HEAP32[$vararg_buffer12>>2] = $57; - _TraceLog(0,20561,$vararg_buffer12); - } - $62 = HEAP32[2244>>2]|0; - $63 = ($62|0)==(0); - if ($63) { - STACKTOP = sp;return; - } - $64 = HEAP32[2256>>2]|0; - FUNCTION_TABLE_vi[$64 & 31](0); - STACKTOP = sp;return; -} -function _LoadCompressedTexture($data,$width,$height,$mipmapCount,$compressedFormat) { - $data = $data|0; - $width = $width|0; - $height = $height|0; - $mipmapCount = $mipmapCount|0; - $compressedFormat = $compressedFormat|0; - var $$ = 0, $$013 = 0, $$0610 = 0, $$17 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0; - var $7 = 0, $8 = 0, $9 = 0, $blockSize$0 = 0, $level$012 = 0, $offset$011 = 0, $or$cond = 0, $or$cond9 = 0, label = 0, sp = 0; - sp = STACKTOP; - _glPixelStorei(3317,1); - switch ($compressedFormat|0) { - case 33776: case 33777: case 36196: case 37492: { - $blockSize$0 = 8; - break; - } - default: { - $blockSize$0 = 16; - } - } - $0 = ($mipmapCount|0)<(1); - $1 = $width | $height; - $2 = ($1|0)==(0); - $or$cond9 = $0 | $2; - if ($or$cond9) { - return; - } else { - $$013 = $width;$$0610 = $height;$level$012 = 0;$offset$011 = 0; - } - while(1) { - $3 = (($$013) + 3)|0; - $4 = (($3|0) / 4)&-1; - $5 = (($$0610) + 3)|0; - $6 = (($5|0) / 4)&-1; - $7 = Math_imul($4, $blockSize$0)|0; - $8 = Math_imul($7, $6)|0; - $9 = (($data) + ($offset$011)|0); - _glCompressedTexImage2D(3553,($level$012|0),($compressedFormat|0),($$013|0),($$0610|0),0,($8|0),($9|0)); - $10 = (($8) + ($offset$011))|0; - $11 = (($$013|0) / 2)&-1; - $12 = (($$0610|0) / 2)&-1; - $13 = ($$013|0)<(2); - $$ = $13 ? 1 : $11; - $14 = ($$0610|0)<(2); - $$17 = $14 ? 1 : $12; - $15 = (($level$012) + 1)|0; - $16 = ($15|0)>=($mipmapCount|0); - $17 = $$ | $$17; - $18 = ($17|0)==(0); - $or$cond = $16 | $18; - if ($or$cond) { - break; - } else { - $$013 = $$;$$0610 = $$17;$level$012 = $15;$offset$011 = $10; - } - } - return; -} -function _UpdateBuffers() { - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[2164>>2]|0; - $1 = ($0|0)>(0); - if ($1) { - $2 = HEAP32[2244>>2]|0; - $3 = ($2|0)==(0); - if (!($3)) { - $4 = HEAP32[2256>>2]|0; - $5 = HEAP32[2696>>2]|0; - FUNCTION_TABLE_vi[$4 & 31]($5); - } - $6 = HEAP32[2664>>2]|0; - _glBindBuffer(34962,($6|0)); - $7 = HEAP32[2164>>2]|0; - $8 = ($7*12)|0; - $9 = HEAP32[2212>>2]|0; - _glBufferSubData(34962,0,($8|0),($9|0)); - $10 = HEAP32[(2668)>>2]|0; - _glBindBuffer(34962,($10|0)); - $11 = HEAP32[2168>>2]|0; - $12 = $11 << 2; - $13 = HEAP32[2172>>2]|0; - _glBufferSubData(34962,0,($12|0),($13|0)); - } - $14 = HEAP32[2176>>2]|0; - $15 = ($14|0)>(0); - if ($15) { - $16 = HEAP32[2244>>2]|0; - $17 = ($16|0)==(0); - if (!($17)) { - $18 = HEAP32[2256>>2]|0; - $19 = HEAP32[2700>>2]|0; - FUNCTION_TABLE_vi[$18 & 31]($19); - } - $20 = HEAP32[2672>>2]|0; - _glBindBuffer(34962,($20|0)); - $21 = HEAP32[2176>>2]|0; - $22 = ($21*12)|0; - $23 = HEAP32[2216>>2]|0; - _glBufferSubData(34962,0,($22|0),($23|0)); - $24 = HEAP32[(2676)>>2]|0; - _glBindBuffer(34962,($24|0)); - $25 = HEAP32[2180>>2]|0; - $26 = $25 << 2; - $27 = HEAP32[2184>>2]|0; - _glBufferSubData(34962,0,($26|0),($27|0)); - } - $28 = HEAP32[2188>>2]|0; - $29 = ($28|0)>(0); - if ($29) { - $30 = HEAP32[2244>>2]|0; - $31 = ($30|0)==(0); - if (!($31)) { - $32 = HEAP32[2256>>2]|0; - $33 = HEAP32[2704>>2]|0; - FUNCTION_TABLE_vi[$32 & 31]($33); - } - $34 = HEAP32[2680>>2]|0; - _glBindBuffer(34962,($34|0)); - $35 = HEAP32[2188>>2]|0; - $36 = ($35*12)|0; - $37 = HEAP32[2220>>2]|0; - _glBufferSubData(34962,0,($36|0),($37|0)); - $38 = HEAP32[(2684)>>2]|0; - _glBindBuffer(34962,($38|0)); - $39 = HEAP32[2188>>2]|0; - $40 = $39 << 3; - $41 = HEAP32[2204>>2]|0; - _glBufferSubData(34962,0,($40|0),($41|0)); - $42 = HEAP32[(2688)>>2]|0; - _glBindBuffer(34962,($42|0)); - $43 = HEAP32[2188>>2]|0; - $44 = $43 << 2; - $45 = HEAP32[2196>>2]|0; - _glBufferSubData(34962,0,($44|0),($45|0)); - } - $46 = HEAP32[2244>>2]|0; - $47 = ($46|0)==(0); - if ($47) { - return; - } - $48 = HEAP32[2256>>2]|0; - FUNCTION_TABLE_vi[$48 & 31](0); - return; -} -function _ttULONG($p) { - $p = $p|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP8[$p>>0]|0; - $1 = $0&255; - $2 = $1 << 24; - $3 = ((($p)) + 1|0); - $4 = HEAP8[$3>>0]|0; - $5 = $4&255; - $6 = $5 << 16; - $7 = $6 | $2; - $8 = ((($p)) + 2|0); - $9 = HEAP8[$8>>0]|0; - $10 = $9&255; - $11 = $10 << 8; - $12 = $7 | $11; - $13 = ((($p)) + 3|0); - $14 = HEAP8[$13>>0]|0; - $15 = $14&255; - $16 = $12 | $15; - return ($16|0); -} -function _stbtt__find_table($data,$fontstart,$tag) { - $data = $data|0; - $fontstart = $fontstart|0; - $tag = $tag|0; - var $$0 = 0, $$lcssa = 0, $$sum = 0, $$sum1 = 0, $$sum2 = 0, $$sum3 = 0, $$sum4 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0; - var $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $4 = 0; - var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i$05 = 0, label = 0, sp = 0; - sp = STACKTOP; - $$sum = (($fontstart) + 4)|0; - $0 = (($data) + ($$sum)|0); - $1 = (_ttUSHORT($0)|0); - $2 = $1&65535; - $3 = (($fontstart) + 12)|0; - $4 = ($1<<16>>16)==(0); - if ($4) { - $$0 = 0; - return ($$0|0); - } - $5 = HEAP8[$tag>>0]|0; - $6 = $5 << 24 >> 24; - $7 = ((($tag)) + 1|0); - $8 = ((($tag)) + 2|0); - $9 = ((($tag)) + 3|0); - $i$05 = 0; - while(1) { - $10 = $i$05 << 4; - $11 = (($3) + ($10))|0; - $12 = (($data) + ($11)|0); - $13 = HEAP8[$12>>0]|0; - $14 = $13&255; - $15 = ($14|0)==($6|0); - if ($15) { - $$sum1 = (($11) + 1)|0; - $16 = (($data) + ($$sum1)|0); - $17 = HEAP8[$16>>0]|0; - $18 = $17&255; - $19 = HEAP8[$7>>0]|0; - $20 = $19 << 24 >> 24; - $21 = ($18|0)==($20|0); - if ($21) { - $$sum2 = (($11) + 2)|0; - $22 = (($data) + ($$sum2)|0); - $23 = HEAP8[$22>>0]|0; - $24 = $23&255; - $25 = HEAP8[$8>>0]|0; - $26 = $25 << 24 >> 24; - $27 = ($24|0)==($26|0); - if ($27) { - $$sum3 = (($11) + 3)|0; - $28 = (($data) + ($$sum3)|0); - $29 = HEAP8[$28>>0]|0; - $30 = $29&255; - $31 = HEAP8[$9>>0]|0; - $32 = $31 << 24 >> 24; - $33 = ($30|0)==($32|0); - if ($33) { - $$lcssa = $11; - break; - } - } - } - } - $36 = (($i$05) + 1)|0; - $37 = ($36|0)<($2|0); - if ($37) { - $i$05 = $36; - } else { - $$0 = 0; - label = 9; - break; - } - } - if ((label|0) == 9) { - return ($$0|0); - } - $$sum4 = (($$lcssa) + 8)|0; - $34 = (($data) + ($$sum4)|0); - $35 = (_ttULONG($34)|0); - $$0 = $35; - return ($$0|0); -} -function _ttUSHORT($p) { - $p = $p|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP8[$p>>0]|0; - $1 = $0&255; - $2 = $1 << 8; - $3 = ((($p)) + 1|0); - $4 = HEAP8[$3>>0]|0; - $5 = $4&255; - $6 = $2 | $5; - $7 = $6&65535; - return ($7|0); -} -function _ttSHORT($p) { - $p = $p|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP8[$p>>0]|0; - $1 = $0&255; - $2 = $1 << 8; - $3 = ((($p)) + 1|0); - $4 = HEAP8[$3>>0]|0; - $5 = $4&255; - $6 = $2 | $5; - $7 = $6&65535; - return ($7|0); -} -function _stbtt__GetGlyfOffset($info,$glyph_index) { - $info = $info|0; - $glyph_index = $glyph_index|0; - var $$0 = 0, $$pn = 0, $$sink = 0, $$sum = 0, $$sum2 = 0, $$sum3 = 0, $$sum5 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0; - var $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $g1$0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($info)) + 12|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)>($glyph_index|0); - if (!($2)) { - $$0 = -1; - return ($$0|0); - } - $3 = ((($info)) + 44|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)>(1); - if ($5) { - $$0 = -1; - return ($$0|0); - } - $6 = ($4|0)==(0); - $7 = ((($info)) + 24|0); - $8 = HEAP32[$7>>2]|0; - $9 = ((($info)) + 4|0); - $10 = HEAP32[$9>>2]|0; - $11 = ((($info)) + 16|0); - $12 = HEAP32[$11>>2]|0; - if ($6) { - $13 = $glyph_index << 1; - $$sum3 = (($12) + ($13))|0; - $14 = (($10) + ($$sum3)|0); - $15 = (_ttUSHORT($14)|0); - $16 = $15&65535; - $17 = $16 << 1; - $$sum5 = (($$sum3) + 2)|0; - $18 = (($10) + ($$sum5)|0); - $19 = (_ttUSHORT($18)|0); - $20 = $19&65535; - $21 = $20 << 1; - $$pn = $17;$$sink = $21; - } else { - $22 = $glyph_index << 2; - $$sum = (($12) + ($22))|0; - $23 = (($10) + ($$sum)|0); - $24 = (_ttULONG($23)|0); - $$sum2 = (($$sum) + 4)|0; - $25 = (($10) + ($$sum2)|0); - $26 = (_ttULONG($25)|0); - $$pn = $24;$$sink = $26; - } - $27 = (($$sink) + ($8))|0; - $g1$0 = (($$pn) + ($8))|0; - $28 = ($g1$0|0)==($27|0); - $29 = $28 ? -1 : $g1$0; - $$0 = $29; - return ($$0|0); -} -function _stbtt__close_shape($vertices,$num_vertices,$was_off,$start_off,$sx,$sy,$scx,$scy,$cx,$cy) { - $vertices = $vertices|0; - $num_vertices = $num_vertices|0; - $was_off = $was_off|0; - $start_off = $start_off|0; - $sx = $sx|0; - $sy = $sy|0; - $scx = $scx|0; - $scy = $scy|0; - $cx = $cx|0; - $cy = $cy|0; - var $$0 = 0, $$1 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ($start_off|0)==(0); - $1 = ($was_off|0)!=(0); - if (!($0)) { - if ($1) { - $2 = (($num_vertices) + 1)|0; - $3 = (($vertices) + (($num_vertices*10)|0)|0); - $4 = (($cx) + ($scx))|0; - $5 = $4 >> 1; - $6 = (($cy) + ($scy))|0; - $7 = $6 >> 1; - _stbtt_setvertex($3,3,$5,$7,$cx,$cy); - $$0 = $2; - } else { - $$0 = $num_vertices; - } - $8 = (($$0) + 1)|0; - $9 = (($vertices) + (($$0*10)|0)|0); - _stbtt_setvertex($9,3,$sx,$sy,$scx,$scy); - $$1 = $8; - return ($$1|0); - } - $10 = (($num_vertices) + 1)|0; - $11 = (($vertices) + (($num_vertices*10)|0)|0); - if ($1) { - _stbtt_setvertex($11,3,$sx,$sy,$cx,$cy); - $$1 = $10; - return ($$1|0); - } else { - _stbtt_setvertex($11,2,$sx,$sy,0,0); - $$1 = $10; - return ($$1|0); - } - return (0)|0; -} -function _stbtt_setvertex($v,$type,$x,$y,$cx,$cy) { - $v = $v|0; - $type = $type|0; - $x = $x|0; - $y = $y|0; - $cx = $cx|0; - $cy = $cy|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($v)) + 8|0); - HEAP8[$0>>0] = $type; - $1 = $x&65535; - HEAP16[$v>>1] = $1; - $2 = $y&65535; - $3 = ((($v)) + 2|0); - HEAP16[$3>>1] = $2; - $4 = $cx&65535; - $5 = ((($v)) + 4|0); - HEAP16[$5>>1] = $4; - $6 = $cy&65535; - $7 = ((($v)) + 6|0); - HEAP16[$7>>1] = $6; - return; -} -function _stbtt_FlattenCurves($vertices,$num_verts,$objspace_flatness,$contour_lengths,$num_contours) { - $vertices = $vertices|0; - $num_verts = $num_verts|0; - $objspace_flatness = +$objspace_flatness; - $contour_lengths = $contour_lengths|0; - $num_contours = $num_contours|0; - var $$0 = 0, $$lcssa = 0, $$n$0 = 0, $$n$0$lcssa = 0, $0 = 0.0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0; - var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0.0, $3 = 0, $30 = 0, $31 = 0, $32 = 0.0, $33 = 0, $34 = 0, $35 = 0.0, $36 = 0, $37 = 0, $38 = 0.0, $39 = 0, $4 = 0, $40 = 0; - var $41 = 0, $42 = 0, $43 = 0.0, $44 = 0, $45 = 0, $46 = 0.0, $47 = 0, $48 = 0.0, $49 = 0, $5 = 0, $50 = 0, $51 = 0.0, $52 = 0, $53 = 0.0, $54 = 0, $55 = 0.0, $56 = 0, $57 = 0, $58 = 0, $59 = 0; - var $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond18 = 0, $i$012 = 0, $i$12 = 0, $n$013 = 0, $n$2$lcssa = 0, $n$24 = 0, $n$3 = 0, $num_points = 0, $pass$011 = 0, $points$09 = 0, $points$1 = 0; - var $start$010 = 0, $start$1$lcssa = 0, $start$15 = 0, $start$2 = 0, $x$06 = 0.0, $x$1 = 0.0, $y$07 = 0.0, $y$1 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $num_points = sp; - HEAP32[$num_points>>2] = 0; - $0 = $objspace_flatness * $objspace_flatness; - $1 = ($num_verts|0)>(0); - if ($1) { - $i$012 = 0;$n$013 = 0; - } else { - HEAP32[$num_contours>>2] = 0; - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - while(1) { - $2 = (((($vertices) + (($i$012*10)|0)|0)) + 8|0); - $3 = HEAP8[$2>>0]|0; - $4 = ($3<<24>>24)==(1); - $5 = $4&1; - $$n$0 = (($5) + ($n$013))|0; - $6 = (($i$012) + 1)|0; - $exitcond18 = ($6|0)==($num_verts|0); - if ($exitcond18) { - $$n$0$lcssa = $$n$0; - break; - } else { - $i$012 = $6;$n$013 = $$n$0; - } - } - HEAP32[$num_contours>>2] = $$n$0$lcssa; - $7 = ($$n$0$lcssa|0)==(0); - if ($7) { - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $8 = $$n$0$lcssa << 2; - $9 = (_malloc($8)|0); - HEAP32[$contour_lengths>>2] = $9; - $10 = ($9|0)==(0|0); - if ($10) { - HEAP32[$num_contours>>2] = 0; - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $11 = ($num_verts|0)>(0); - $pass$011 = 0;$points$09 = 0;$start$010 = 0; - while(1) { - $12 = ($pass$011|0)==(1); - if ($12) { - $13 = HEAP32[$num_points>>2]|0; - $14 = $13 << 3; - $15 = (_malloc($14)|0); - $16 = ($15|0)==(0|0); - if ($16) { - $$lcssa = $15; - break; - } else { - $points$1 = $15; - } - } else { - $points$1 = $points$09; - } - HEAP32[$num_points>>2] = 0; - L19: do { - if ($11) { - $i$12 = 0;$n$24 = -1;$start$15 = $start$010;$x$06 = 0.0;$y$07 = 0.0; - while(1) { - $17 = (($vertices) + (($i$12*10)|0)|0); - $18 = (((($vertices) + (($i$12*10)|0)|0)) + 8|0); - $19 = HEAP8[$18>>0]|0; - $20 = $19&255; - switch ($20|0) { - case 1: { - $21 = ($n$24|0)>(-1); - if ($21) { - $22 = HEAP32[$num_points>>2]|0; - $23 = (($22) - ($start$15))|0; - $24 = HEAP32[$contour_lengths>>2]|0; - $25 = (($24) + ($n$24<<2)|0); - HEAP32[$25>>2] = $23; - } - $26 = (($n$24) + 1)|0; - $27 = HEAP32[$num_points>>2]|0; - $28 = HEAP16[$17>>1]|0; - $29 = (+($28<<16>>16)); - $30 = (((($vertices) + (($i$12*10)|0)|0)) + 2|0); - $31 = HEAP16[$30>>1]|0; - $32 = (+($31<<16>>16)); - $33 = (($27) + 1)|0; - HEAP32[$num_points>>2] = $33; - _stbtt__add_point($points$1,$27,$29,$32); - $n$3 = $26;$start$2 = $27;$x$1 = $29;$y$1 = $32; - break; - } - case 2: { - $34 = HEAP16[$17>>1]|0; - $35 = (+($34<<16>>16)); - $36 = (((($vertices) + (($i$12*10)|0)|0)) + 2|0); - $37 = HEAP16[$36>>1]|0; - $38 = (+($37<<16>>16)); - $39 = HEAP32[$num_points>>2]|0; - $40 = (($39) + 1)|0; - HEAP32[$num_points>>2] = $40; - _stbtt__add_point($points$1,$39,$35,$38); - $n$3 = $n$24;$start$2 = $start$15;$x$1 = $35;$y$1 = $38; - break; - } - case 3: { - $41 = (((($vertices) + (($i$12*10)|0)|0)) + 4|0); - $42 = HEAP16[$41>>1]|0; - $43 = (+($42<<16>>16)); - $44 = (((($vertices) + (($i$12*10)|0)|0)) + 6|0); - $45 = HEAP16[$44>>1]|0; - $46 = (+($45<<16>>16)); - $47 = HEAP16[$17>>1]|0; - $48 = (+($47<<16>>16)); - $49 = (((($vertices) + (($i$12*10)|0)|0)) + 2|0); - $50 = HEAP16[$49>>1]|0; - $51 = (+($50<<16>>16)); - _stbtt__tesselate_curve($points$1,$num_points,$x$06,$y$07,$43,$46,$48,$51,$0,0); - $52 = HEAP16[$17>>1]|0; - $53 = (+($52<<16>>16)); - $54 = HEAP16[$49>>1]|0; - $55 = (+($54<<16>>16)); - $n$3 = $n$24;$start$2 = $start$15;$x$1 = $53;$y$1 = $55; - break; - } - default: { - $n$3 = $n$24;$start$2 = $start$15;$x$1 = $x$06;$y$1 = $y$07; - } - } - $56 = (($i$12) + 1)|0; - $exitcond = ($56|0)==($num_verts|0); - if ($exitcond) { - $n$2$lcssa = $n$3;$start$1$lcssa = $start$2; - break L19; - } else { - $i$12 = $56;$n$24 = $n$3;$start$15 = $start$2;$x$06 = $x$1;$y$07 = $y$1; - } - } - } else { - $n$2$lcssa = -1;$start$1$lcssa = $start$010; - } - } while(0); - $57 = HEAP32[$num_points>>2]|0; - $58 = (($57) - ($start$1$lcssa))|0; - $59 = HEAP32[$contour_lengths>>2]|0; - $60 = (($59) + ($n$2$lcssa<<2)|0); - HEAP32[$60>>2] = $58; - $61 = (($pass$011) + 1)|0; - $62 = ($61|0)<(2); - if ($62) { - $pass$011 = $61;$points$09 = $points$1;$start$010 = $start$1$lcssa; - } else { - $$0 = $points$1; - label = 20; - break; - } - } - if ((label|0) == 20) { - STACKTOP = sp;return ($$0|0); - } - _free($$lcssa); - $63 = HEAP32[$contour_lengths>>2]|0; - _free($63); - HEAP32[$contour_lengths>>2] = 0; - HEAP32[$num_contours>>2] = 0; - $$0 = 0; - STACKTOP = sp;return ($$0|0); -} -function _stbtt__rasterize($result,$pts,$wcount,$windings,$scale_x,$scale_y,$shift_x,$shift_y,$off_x,$off_y,$invert) { - $result = $result|0; - $pts = $pts|0; - $wcount = $wcount|0; - $windings = $windings|0; - $scale_x = +$scale_x; - $scale_y = +$scale_y; - $shift_x = +$shift_x; - $shift_y = +$shift_y; - $off_x = $off_x|0; - $off_y = $off_y|0; - $invert = $invert|0; - var $$lcssa = 0, $$sum = 0, $$sum1 = 0, $$sum2 = 0, $$sum3 = 0, $0 = 0, $1 = 0.0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0.0, $19 = 0, $2 = 0.0, $20 = 0.0, $21 = 0; - var $22 = 0, $23 = 0.0, $24 = 0.0, $25 = 0, $26 = 0, $27 = 0, $28 = 0.0, $29 = 0.0, $3 = 0, $30 = 0.0, $31 = 0, $32 = 0, $33 = 0.0, $34 = 0.0, $35 = 0.0, $36 = 0, $37 = 0, $38 = 0.0, $39 = 0.0, $4 = 0; - var $40 = 0.0, $41 = 0, $42 = 0, $43 = 0.0, $44 = 0.0, $45 = 0.0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $a$0 = 0, $b$0 = 0, $exitcond = 0, $exitcond20 = 0; - var $i$013 = 0, $i$18 = 0, $j$04 = 0, $j$04$phi = 0, $k$05 = 0, $m$07 = 0, $n$0$lcssa = 0, $n$014 = 0, $n$1$lcssa = 0, $n$19 = 0, $n$2$lcssa = 0, $n$26 = 0, $n$3 = 0, $phitmp = 0, $phitmp19 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ($invert|0)!=(0); - $1 = -$scale_y; - $2 = $0 ? $1 : $scale_y; - $3 = ($windings|0)>(0); - if ($3) { - $i$013 = 0;$n$014 = 0; - while(1) { - $4 = (($wcount) + ($i$013<<2)|0); - $5 = HEAP32[$4>>2]|0; - $6 = (($5) + ($n$014))|0; - $7 = (($i$013) + 1)|0; - $exitcond20 = ($7|0)==($windings|0); - if ($exitcond20) { - $$lcssa = $6; - break; - } else { - $i$013 = $7;$n$014 = $6; - } - } - $phitmp = ($$lcssa*20)|0; - $phitmp19 = (($phitmp) + 20)|0; - $n$0$lcssa = $phitmp19; - } else { - $n$0$lcssa = 20; - } - $8 = (_malloc($n$0$lcssa)|0); - $9 = ($8|0)==(0|0); - if ($9) { - return; - } - $10 = ($windings|0)>(0); - if ($10) { - $i$18 = 0;$m$07 = 0;$n$19 = 0; - while(1) { - $11 = (($wcount) + ($i$18<<2)|0); - $12 = HEAP32[$11>>2]|0; - $13 = (($12) + ($m$07))|0; - $14 = ($12|0)>(0); - if ($14) { - $15 = (($12) + -1)|0; - $16 = HEAP32[$11>>2]|0; - $j$04 = $15;$k$05 = 0;$n$26 = $n$19; - while(1) { - $$sum = (($j$04) + ($m$07))|0; - $17 = (((($pts) + ($$sum<<3)|0)) + 4|0); - $18 = +HEAPF32[$17>>2]; - $$sum1 = (($k$05) + ($m$07))|0; - $19 = (((($pts) + ($$sum1<<3)|0)) + 4|0); - $20 = +HEAPF32[$19>>2]; - $21 = $18 == $20; - if ($21) { - $n$3 = $n$26; - } else { - $22 = (((($8) + (($n$26*20)|0)|0)) + 16|0); - HEAP32[$22>>2] = 0; - $23 = +HEAPF32[$17>>2]; - $24 = +HEAPF32[$19>>2]; - if ($0) { - $25 = $23 > $24; - if ($25) { - label = 12; - } else { - $a$0 = $k$05;$b$0 = $j$04; - } - } else { - $26 = $23 < $24; - if ($26) { - label = 12; - } else { - $a$0 = $k$05;$b$0 = $j$04; - } - } - if ((label|0) == 12) { - label = 0; - HEAP32[$22>>2] = 1; - $a$0 = $j$04;$b$0 = $k$05; - } - $$sum2 = (($a$0) + ($m$07))|0; - $27 = (($pts) + ($$sum2<<3)|0); - $28 = +HEAPF32[$27>>2]; - $29 = $28 * $scale_x; - $30 = $29 + $shift_x; - $31 = (($8) + (($n$26*20)|0)|0); - HEAPF32[$31>>2] = $30; - $32 = (((($pts) + ($$sum2<<3)|0)) + 4|0); - $33 = +HEAPF32[$32>>2]; - $34 = $2 * $33; - $35 = $34 + $shift_y; - $36 = (((($8) + (($n$26*20)|0)|0)) + 4|0); - HEAPF32[$36>>2] = $35; - $$sum3 = (($b$0) + ($m$07))|0; - $37 = (($pts) + ($$sum3<<3)|0); - $38 = +HEAPF32[$37>>2]; - $39 = $38 * $scale_x; - $40 = $39 + $shift_x; - $41 = (((($8) + (($n$26*20)|0)|0)) + 8|0); - HEAPF32[$41>>2] = $40; - $42 = (((($pts) + ($$sum3<<3)|0)) + 4|0); - $43 = +HEAPF32[$42>>2]; - $44 = $2 * $43; - $45 = $44 + $shift_y; - $46 = (((($8) + (($n$26*20)|0)|0)) + 12|0); - HEAPF32[$46>>2] = $45; - $47 = (($n$26) + 1)|0; - $n$3 = $47; - } - $48 = (($k$05) + 1)|0; - $49 = ($48|0)<($16|0); - if ($49) { - $j$04$phi = $k$05;$k$05 = $48;$n$26 = $n$3;$j$04 = $j$04$phi; - } else { - $n$2$lcssa = $n$3; - break; - } - } - } else { - $n$2$lcssa = $n$19; - } - $50 = (($i$18) + 1)|0; - $exitcond = ($50|0)==($windings|0); - if ($exitcond) { - $n$1$lcssa = $n$2$lcssa; - break; - } else { - $i$18 = $50;$m$07 = $13;$n$19 = $n$2$lcssa; - } - } - } else { - $n$1$lcssa = 0; - } - _stbtt__sort_edges($8,$n$1$lcssa); - _stbtt__rasterize_sorted_edges($result,$8,$n$1$lcssa,$off_x,$off_y); - _free($8); - return; -} -function _LoadRBMF($agg$result,$fileName) { - $agg$result = $agg$result|0; - $fileName = $fileName|0; - var $$lcssa = 0, $$lcssa9 = 0, $$op = 0, $$op$op = 0, $$op$op$op = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0; - var $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0; - var $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0; - var $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; - var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0; - var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0; - var $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0; - var $99 = 0, $counter$014 = 0, $currentLine$010 = 0, $currentLine$1 = 0, $currentPosX$011 = 0, $currentPosX$1 = 0, $exitcond = 0, $exitcond29 = 0, $exitcond30 = 0, $i$025 = 0, $i1$021 = 0, $i2$018 = 0, $i3$015 = 0, $i4$012 = 0, $image = 0, $image$byval_copy14 = 0, $j$013 = 0, $rbmfCharWidthData$0 = 0, $rbmfFileData$0 = 0, $rbmfHeader = 0; - var $spriteFont$sroa$0$0 = 0, $spriteFont$sroa$16$0 = 0, $spriteFont$sroa$18$0 = 0, $spriteFont$sroa$27$0 = 0, $spriteFont$sroa$29$0 = 0, $spriteFont$sroa$6$0 = 0, $spriteFont$sroa$7 = 0, $spriteFont$sroa$77$0 = 0, $spriteFont$sroa$8$0 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer11 = 0, $vararg_ptr4 = 0, $vararg_ptr5 = 0, $vararg_ptr6 = 0, $vararg_ptr7 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 176|0; - $image$byval_copy14 = sp + 56|0; - $vararg_buffer11 = sp + 48|0; - $vararg_buffer1 = sp + 24|0; - $vararg_buffer = sp + 16|0; - $spriteFont$sroa$7 = sp; - $rbmfHeader = sp + 160|0; - $0 = sp + 116|0; - $image = sp + 96|0; - $1 = sp + 76|0; - ;HEAP32[$spriteFont$sroa$7>>2]=0|0;HEAP32[$spriteFont$sroa$7+4>>2]=0|0;HEAP32[$spriteFont$sroa$7+8>>2]=0|0; - $2 = (_fopen($fileName,19734)|0); - $3 = ($2|0)==(0|0); - if ($3) { - HEAP32[$vararg_buffer>>2] = $fileName; - _TraceLog(2,19737,$vararg_buffer); - _GetDefaultFont($0); - $4 = HEAP32[$0>>2]|0; - $5 = ((($0)) + 4|0); - $6 = HEAP32[$5>>2]|0; - $7 = ((($0)) + 8|0); - ;HEAP32[$spriteFont$sroa$7>>2]=HEAP32[$7>>2]|0;HEAP32[$spriteFont$sroa$7+4>>2]=HEAP32[$7+4>>2]|0;HEAP32[$spriteFont$sroa$7+8>>2]=HEAP32[$7+8>>2]|0; - $8 = ((($0)) + 20|0); - $9 = HEAP32[$8>>2]|0; - $10 = ((($0)) + 24|0); - $11 = HEAP32[$10>>2]|0; - $12 = ((($0)) + 28|0); - $13 = HEAP32[$12>>2]|0; - $14 = ((($0)) + 32|0); - $15 = HEAP32[$14>>2]|0; - $16 = ((($0)) + 36|0); - $17 = HEAP32[$16>>2]|0; - $18 = ((($0)) + 40|0); - $19 = HEAP32[$18>>2]|0; - $rbmfCharWidthData$0 = 0;$rbmfFileData$0 = 0;$spriteFont$sroa$0$0 = $4;$spriteFont$sroa$16$0 = $13;$spriteFont$sroa$18$0 = $15;$spriteFont$sroa$27$0 = $17;$spriteFont$sroa$29$0 = $19;$spriteFont$sroa$6$0 = $6;$spriteFont$sroa$77$0 = $9;$spriteFont$sroa$8$0 = $11; - (_fclose($2)|0); - _free($rbmfFileData$0); - _free($rbmfCharWidthData$0); - HEAP32[$agg$result>>2] = $spriteFont$sroa$0$0; - $148 = ((($agg$result)) + 4|0); - HEAP32[$148>>2] = $spriteFont$sroa$6$0; - $149 = ((($agg$result)) + 8|0); - ;HEAP32[$149>>2]=HEAP32[$spriteFont$sroa$7>>2]|0;HEAP32[$149+4>>2]=HEAP32[$spriteFont$sroa$7+4>>2]|0;HEAP32[$149+8>>2]=HEAP32[$spriteFont$sroa$7+8>>2]|0; - $150 = ((($agg$result)) + 20|0); - HEAP32[$150>>2] = $spriteFont$sroa$77$0; - $151 = ((($agg$result)) + 24|0); - HEAP32[$151>>2] = $spriteFont$sroa$8$0; - $152 = ((($agg$result)) + 28|0); - HEAP32[$152>>2] = $spriteFont$sroa$16$0; - $153 = ((($agg$result)) + 32|0); - HEAP32[$153>>2] = $spriteFont$sroa$18$0; - $154 = ((($agg$result)) + 36|0); - HEAP32[$154>>2] = $spriteFont$sroa$27$0; - $155 = ((($agg$result)) + 40|0); - HEAP32[$155>>2] = $spriteFont$sroa$29$0; - STACKTOP = sp;return; - } - (_fread($rbmfHeader,16,1,$2)|0); - $20 = ((($rbmfHeader)) + 6|0); - $21 = HEAP16[$20>>1]|0; - $22 = $21 << 16 >> 16; - $23 = ((($rbmfHeader)) + 8|0); - $24 = HEAP16[$23>>1]|0; - $25 = $24 << 16 >> 16; - $26 = ((($rbmfHeader)) + 10|0); - $27 = HEAP16[$26>>1]|0; - $28 = $27 << 16 >> 16; - $29 = ((($rbmfHeader)) + 12|0); - $30 = HEAP16[$29>>1]|0; - $31 = $30 << 16 >> 16; - HEAP32[$vararg_buffer1>>2] = $fileName; - $vararg_ptr4 = ((($vararg_buffer1)) + 4|0); - HEAP32[$vararg_ptr4>>2] = $22; - $vararg_ptr5 = ((($vararg_buffer1)) + 8|0); - HEAP32[$vararg_ptr5>>2] = $25; - $vararg_ptr6 = ((($vararg_buffer1)) + 12|0); - HEAP32[$vararg_ptr6>>2] = $28; - $vararg_ptr7 = ((($vararg_buffer1)) + 16|0); - HEAP32[$vararg_ptr7>>2] = $31; - _TraceLog(3,19797,$vararg_buffer1); - $32 = HEAP16[$26>>1]|0; - $33 = $32 << 16 >> 16; - $34 = HEAP16[$20>>1]|0; - $35 = $34 << 16 >> 16; - $36 = HEAP16[$23>>1]|0; - $37 = $36 << 16 >> 16; - $38 = Math_imul($37, $35)|0; - $39 = (($38|0) / 32)&-1; - $40 = $39 << 2; - $41 = (_malloc($40)|0); - $42 = ($38|0)>(31); - if ($42) { - $i$025 = 0; - while(1) { - $43 = (($41) + ($i$025<<2)|0); - (_fread($43,4,1,$2)|0); - $44 = (($i$025) + 1)|0; - $45 = ($44|0)<($39|0); - if ($45) { - $i$025 = $44; - } else { - break; - } - } - } - $46 = (_malloc($33)|0); - $47 = ($32<<16>>16)>(0); - if ($47) { - $48 = $32 << 16 >> 16; - $i1$021 = 0; - while(1) { - $49 = (($46) + ($i1$021)|0); - (_fread($49,1,1,$2)|0); - $50 = (($i1$021) + 1)|0; - $exitcond30 = ($50|0)==($48|0); - if ($exitcond30) { - break; - } else { - $i1$021 = $50; - } - } - } - $51 = HEAP16[$20>>1]|0; - $52 = $51 << 16 >> 16; - $53 = HEAP16[$23>>1]|0; - $54 = $53 << 16 >> 16; - $55 = $52 << 2; - $56 = Math_imul($55, $54)|0; - $57 = (_malloc($56)|0); - $58 = HEAP16[$20>>1]|0; - $59 = $58 << 16 >> 16; - $60 = HEAP16[$23>>1]|0; - $61 = $60 << 16 >> 16; - $62 = Math_imul($61, $59)|0; - $63 = ($62|0)>(0); - if ($63) { - $64 = HEAP16[$20>>1]|0; - $65 = $64 << 16 >> 16; - $66 = HEAP16[$23>>1]|0; - $67 = $66 << 16 >> 16; - $68 = Math_imul($67, $65)|0; - $i2$018 = 0; - while(1) { - $82 = (($57) + ($i2$018<<2)|0); - $83 = (($i2$018) + 1)|0; - $84 = ($83|0)<($68|0); - HEAP8[$82>>0]=0&255;HEAP8[$82+1>>0]=(0>>8)&255;HEAP8[$82+2>>0]=(0>>16)&255;HEAP8[$82+3>>0]=0>>24; - if ($84) { - $i2$018 = $83; - } else { - break; - } - } - } - $69 = HEAP16[$20>>1]|0; - $70 = $69 << 16 >> 16; - $71 = HEAP16[$23>>1]|0; - $72 = $71 << 16 >> 16; - $73 = Math_imul($72, $70)|0; - $74 = ($73|0)>(0); - if ($74) { - $75 = HEAP16[$20>>1]|0; - $76 = HEAP16[$23>>1]|0; - $77 = $76 << 16 >> 16; - $78 = $75 << 16 >> 16; - $79 = Math_imul($77, $78)|0; - $80 = ($79|0)>(32); - $$op = (($79) + -1)|0; - $$op$op = $$op >>> 5; - $$op$op$op = (($$op$op) + 1)|0; - $81 = $80 ? $$op$op$op : 1; - $counter$014 = 0;$i3$015 = 0; - while(1) { - $85 = (($41) + ($counter$014<<2)|0); - $86 = HEAP32[$85>>2]|0; - $j$013 = 31; - while(1) { - $87 = 1 << $j$013; - $88 = $86 & $87; - $89 = ($88|0)==(0); - if (!($89)) { - $90 = (($j$013) + ($i3$015))|0; - $91 = (($57) + ($90<<2)|0); - HEAP8[$91>>0]=-1&255;HEAP8[$91+1>>0]=(-1>>8)&255;HEAP8[$91+2>>0]=(-1>>16)&255;HEAP8[$91+3>>0]=-1>>24; - } - $92 = (($j$013) + -1)|0; - $93 = ($j$013|0)>(0); - if ($93) { - $j$013 = $92; - } else { - break; - } - } - $94 = (($counter$014) + 1)|0; - $95 = (($i3$015) + 32)|0; - $exitcond29 = ($94|0)==($81|0); - if ($exitcond29) { - break; - } else { - $counter$014 = $94;$i3$015 = $95; - } - } - $96 = $75 << 16 >> 16; - $97 = $76 << 16 >> 16; - $$lcssa = $96;$$lcssa9 = $97; - } else { - $$lcssa = $70;$$lcssa9 = $72; - } - _LoadImageEx($image,$57,$$lcssa,$$lcssa9); - _ImageFormat($image,2); - _free($57); - HEAP32[$image$byval_copy14>>2] = $fileName; - _TraceLog(3,19863,$image$byval_copy14); - ;HEAP32[$image$byval_copy14>>2]=HEAP32[$image>>2]|0;HEAP32[$image$byval_copy14+4>>2]=HEAP32[$image+4>>2]|0;HEAP32[$image$byval_copy14+8>>2]=HEAP32[$image+8>>2]|0;HEAP32[$image$byval_copy14+12>>2]=HEAP32[$image+12>>2]|0;HEAP32[$image$byval_copy14+16>>2]=HEAP32[$image+16>>2]|0; - _LoadTextureFromImage($1,$image$byval_copy14); - $98 = HEAP32[$1>>2]|0; - $99 = ((($1)) + 4|0); - $100 = HEAP32[$99>>2]|0; - $101 = ((($1)) + 8|0); - ;HEAP32[$spriteFont$sroa$7>>2]=HEAP32[$101>>2]|0;HEAP32[$spriteFont$sroa$7+4>>2]=HEAP32[$101+4>>2]|0;HEAP32[$spriteFont$sroa$7+8>>2]=HEAP32[$101+8>>2]|0; - ;HEAP32[$image$byval_copy14>>2]=HEAP32[$image>>2]|0;HEAP32[$image$byval_copy14+4>>2]=HEAP32[$image+4>>2]|0;HEAP32[$image$byval_copy14+8>>2]=HEAP32[$image+8>>2]|0;HEAP32[$image$byval_copy14+12>>2]=HEAP32[$image+12>>2]|0;HEAP32[$image$byval_copy14+16>>2]=HEAP32[$image+16>>2]|0; - _UnloadImage($image$byval_copy14); - $102 = $33 << 2; - $103 = (_malloc($102)|0); - $104 = $33 << 4; - $105 = (_malloc($104)|0); - $106 = $33 << 3; - $107 = (_malloc($106)|0); - $108 = (_malloc($102)|0); - $109 = ($32<<16>>16)>(0); - if ($109) { - $110 = ((($rbmfHeader)) + 5|0); - $111 = HEAP8[$110>>0]|0; - $112 = $111 << 24 >> 24; - $113 = HEAP16[$29>>1]|0; - $114 = $113 << 16 >> 16; - $115 = (($114) + 1)|0; - $116 = $113 << 16 >> 16; - $117 = $113 << 16 >> 16; - $118 = (($117) + 1)|0; - $119 = $32 << 16 >> 16; - $120 = $32 << 16 >> 16; - $121 = $120 << 2; - _memset(($108|0),0,($121|0))|0; - $currentLine$010 = 0;$currentPosX$011 = 1;$i4$012 = 0; - while(1) { - $122 = (($112) + ($i4$012))|0; - $123 = (($103) + ($i4$012<<2)|0); - HEAP32[$123>>2] = $122; - $124 = (($105) + ($i4$012<<4)|0); - HEAP32[$124>>2] = $currentPosX$011; - $125 = Math_imul($115, $currentLine$010)|0; - $126 = (($125) + 1)|0; - $127 = (((($105) + ($i4$012<<4)|0)) + 4|0); - HEAP32[$127>>2] = $126; - $128 = (($46) + ($i4$012)|0); - $129 = HEAP8[$128>>0]|0; - $130 = $129&255; - $131 = (((($105) + ($i4$012<<4)|0)) + 8|0); - HEAP32[$131>>2] = $130; - $132 = (((($105) + ($i4$012<<4)|0)) + 12|0); - HEAP32[$132>>2] = $116; - $133 = (($107) + ($i4$012<<3)|0); - HEAPF32[$133>>2] = 0.0; - $134 = (((($107) + ($i4$012<<3)|0)) + 4|0); - HEAPF32[$134>>2] = 0.0; - $135 = HEAP32[$131>>2]|0; - $136 = (($currentPosX$011) + 1)|0; - $137 = (($136) + ($135))|0; - $138 = ($137|0)>($100|0); - if ($138) { - $139 = (($currentLine$010) + 1)|0; - $140 = HEAP8[$128>>0]|0; - $141 = $140&255; - $142 = (($141) + 2)|0; - HEAP32[$124>>2] = 1; - $143 = Math_imul($118, $139)|0; - $144 = (($143) + 1)|0; - HEAP32[$127>>2] = $144; - $currentLine$1 = $139;$currentPosX$1 = $142; - } else { - $currentLine$1 = $currentLine$010;$currentPosX$1 = $137; - } - $145 = (($i4$012) + 1)|0; - $exitcond = ($145|0)==($119|0); - if ($exitcond) { - break; - } else { - $currentLine$010 = $currentLine$1;$currentPosX$011 = $currentPosX$1;$i4$012 = $145; - } - } - } - $146 = ((($105)) + 12|0); - $147 = HEAP32[$146>>2]|0; - HEAP32[$vararg_buffer11>>2] = $fileName; - _TraceLog(0,19928,$vararg_buffer11); - $rbmfCharWidthData$0 = $46;$rbmfFileData$0 = $41;$spriteFont$sroa$0$0 = $98;$spriteFont$sroa$16$0 = $103;$spriteFont$sroa$18$0 = $105;$spriteFont$sroa$27$0 = $107;$spriteFont$sroa$29$0 = $108;$spriteFont$sroa$6$0 = $100;$spriteFont$sroa$77$0 = $147;$spriteFont$sroa$8$0 = $33; - (_fclose($2)|0); - _free($rbmfFileData$0); - _free($rbmfCharWidthData$0); - HEAP32[$agg$result>>2] = $spriteFont$sroa$0$0; - $148 = ((($agg$result)) + 4|0); - HEAP32[$148>>2] = $spriteFont$sroa$6$0; - $149 = ((($agg$result)) + 8|0); - ;HEAP32[$149>>2]=HEAP32[$spriteFont$sroa$7>>2]|0;HEAP32[$149+4>>2]=HEAP32[$spriteFont$sroa$7+4>>2]|0;HEAP32[$149+8>>2]=HEAP32[$spriteFont$sroa$7+8>>2]|0; - $150 = ((($agg$result)) + 20|0); - HEAP32[$150>>2] = $spriteFont$sroa$77$0; - $151 = ((($agg$result)) + 24|0); - HEAP32[$151>>2] = $spriteFont$sroa$8$0; - $152 = ((($agg$result)) + 28|0); - HEAP32[$152>>2] = $spriteFont$sroa$16$0; - $153 = ((($agg$result)) + 32|0); - HEAP32[$153>>2] = $spriteFont$sroa$18$0; - $154 = ((($agg$result)) + 36|0); - HEAP32[$154>>2] = $spriteFont$sroa$27$0; - $155 = ((($agg$result)) + 40|0); - HEAP32[$155>>2] = $spriteFont$sroa$29$0; - STACKTOP = sp;return; -} -function _LoadTTF($agg$result,$fileName) { - $agg$result = $agg$result|0; - $fileName = $fileName|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0.0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; - var $7 = 0, $8 = 0, $9 = 0, $charData = 0, $exitcond = 0, $exitcond4 = 0, $font$sroa$0 = 0, $i$03 = 0, $i1$01 = 0, $image = 0, $image$byval_copy1 = 0, $k$02 = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 2000|0; - $image$byval_copy1 = sp + 1968|0; - $vararg_buffer = sp + 24|0; - $charData = sp + 68|0; - $font$sroa$0 = sp; - $image = sp + 48|0; - $0 = sp + 28|0; - $1 = (_malloc(33554432)|0); - $2 = (_malloc(262144)|0); - ;HEAP32[$font$sroa$0>>2]=0|0;HEAP32[$font$sroa$0+4>>2]=0|0;HEAP32[$font$sroa$0+8>>2]=0|0;HEAP32[$font$sroa$0+12>>2]=0|0;HEAP32[$font$sroa$0+16>>2]=0|0; - $3 = (_fopen($fileName,19734)|0); + $3 = (_malloc($2)|0); $4 = ($3|0)==(0|0); if ($4) { - HEAP32[$vararg_buffer>>2] = $fileName; - _TraceLog(2,19361,$vararg_buffer); - ;HEAP32[$agg$result>>2]=HEAP32[$font$sroa$0>>2]|0;HEAP32[$agg$result+4>>2]=HEAP32[$font$sroa$0+4>>2]|0;HEAP32[$agg$result+8>>2]=HEAP32[$font$sroa$0+8>>2]|0;HEAP32[$agg$result+12>>2]=HEAP32[$font$sroa$0+12>>2]|0;HEAP32[$agg$result+16>>2]=HEAP32[$font$sroa$0+16>>2]|0; - $5 = ((($agg$result)) + 20|0); - ;HEAP32[$5>>2]=0|0;HEAP32[$5+4>>2]=0|0;HEAP32[$5+8>>2]=0|0;HEAP32[$5+12>>2]=0|0;HEAP32[$5+16>>2]=0|0;HEAP32[$5+20>>2]=0|0; - STACKTOP = sp;return; + _TraceLog(1,12969,$vararg_buffer); + STACKTOP = sp;return ($3|0); } - (_fread($1,1,33554432,$3)|0); - (_stbtt_BakeFontBitmap($1,0,32.0,$2,512,512,32,95,$charData)|0); - _free($1); - $6 = (_malloc(524288)|0); - $i$03 = 0;$k$02 = 0; - while(1) { - $7 = (($6) + ($k$02)|0); - HEAP8[$7>>0] = -1; - $8 = (($2) + ($i$03)|0); - $9 = HEAP8[$8>>0]|0; - $10 = $k$02 | 1; - $11 = (($6) + ($10)|0); - HEAP8[$11>>0] = $9; - $12 = (($k$02) + 2)|0; - $13 = (($i$03) + 1)|0; - $exitcond4 = ($13|0)==(262144); - if ($exitcond4) { - break; - } else { - $i$03 = $13;$k$02 = $12; - } + $5 = (_tinfl_decompress_mem_to_mem($3,$2,$0,$1,1)|0); + $6 = ($5|0)==(-1); + if ($6) { + _TraceLog(1,13008,$vararg_buffer1); + _free($3); } - _free($2); - $14 = ((($image)) + 4|0); - HEAP32[$14>>2] = 512; - $15 = ((($image)) + 8|0); - HEAP32[$15>>2] = 512; - $16 = ((($image)) + 12|0); - HEAP32[$16>>2] = 1; - $17 = ((($image)) + 16|0); - HEAP32[$17>>2] = 2; - HEAP32[$image>>2] = $6; - ;HEAP32[$image$byval_copy1>>2]=HEAP32[$image>>2]|0;HEAP32[$image$byval_copy1+4>>2]=HEAP32[$image+4>>2]|0;HEAP32[$image$byval_copy1+8>>2]=HEAP32[$image+8>>2]|0;HEAP32[$image$byval_copy1+12>>2]=HEAP32[$image+12>>2]|0;HEAP32[$image$byval_copy1+16>>2]=HEAP32[$image+16>>2]|0; - _LoadTextureFromImage($0,$image$byval_copy1); - ;HEAP32[$font$sroa$0>>2]=HEAP32[$0>>2]|0;HEAP32[$font$sroa$0+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$font$sroa$0+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$font$sroa$0+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$font$sroa$0+16>>2]=HEAP32[$0+16>>2]|0; - ;HEAP32[$image$byval_copy1>>2]=HEAP32[$image>>2]|0;HEAP32[$image$byval_copy1+4>>2]=HEAP32[$image+4>>2]|0;HEAP32[$image$byval_copy1+8>>2]=HEAP32[$image+8>>2]|0;HEAP32[$image$byval_copy1+12>>2]=HEAP32[$image+12>>2]|0;HEAP32[$image$byval_copy1+16>>2]=HEAP32[$image+16>>2]|0; - _UnloadImage($image$byval_copy1); - $18 = (_malloc(380)|0); - $19 = (_malloc(1520)|0); - $20 = (_malloc(760)|0); - $21 = (_malloc(380)|0); - $i1$01 = 0; - while(1) { - $22 = (($i1$01) + 32)|0; - $23 = (($18) + ($i1$01<<2)|0); - HEAP32[$23>>2] = $22; - $24 = (($charData) + (($i1$01*20)|0)|0); - $25 = HEAP16[$24>>1]|0; - $26 = $25&65535; - $27 = (($19) + ($i1$01<<4)|0); - HEAP32[$27>>2] = $26; - $28 = (((($charData) + (($i1$01*20)|0)|0)) + 2|0); - $29 = HEAP16[$28>>1]|0; - $30 = $29&65535; - $31 = (((($19) + ($i1$01<<4)|0)) + 4|0); - HEAP32[$31>>2] = $30; - $32 = (((($charData) + (($i1$01*20)|0)|0)) + 4|0); - $33 = HEAP16[$32>>1]|0; - $34 = $33&65535; - $35 = HEAP16[$24>>1]|0; - $36 = $35&65535; - $37 = (($34) - ($36))|0; - $38 = (((($19) + ($i1$01<<4)|0)) + 8|0); - HEAP32[$38>>2] = $37; - $39 = (((($charData) + (($i1$01*20)|0)|0)) + 6|0); - $40 = HEAP16[$39>>1]|0; - $41 = $40&65535; - $42 = HEAP16[$28>>1]|0; - $43 = $42&65535; - $44 = (($41) - ($43))|0; - $45 = (((($19) + ($i1$01<<4)|0)) + 12|0); - HEAP32[$45>>2] = $44; - $46 = (($20) + ($i1$01<<3)|0); - $47 = (((($charData) + (($i1$01*20)|0)|0)) + 8|0); - $48 = HEAP32[$47>>2]|0; - $49 = (((($charData) + (($i1$01*20)|0)|0)) + 12|0); - $50 = HEAP32[$49>>2]|0; - HEAP32[$46>>2] = $48; - $51 = (((($20) + ($i1$01<<3)|0)) + 4|0); - HEAP32[$51>>2] = $50; - $52 = (((($charData) + (($i1$01*20)|0)|0)) + 16|0); - $53 = +HEAPF32[$52>>2]; - $54 = (~~(($53))); - $55 = (($21) + ($i1$01<<2)|0); - HEAP32[$55>>2] = $54; - $56 = (($i1$01) + 1)|0; - $exitcond = ($56|0)==(95); - if ($exitcond) { - break; - } else { - $i1$01 = $56; - } + $7 = ($5|0)==($2|0); + if (!($7)) { + _TraceLog(1,13034,$vararg_buffer3); + HEAP32[$vararg_buffer5>>2] = $2; + _TraceLog(1,13097,$vararg_buffer5); + HEAP32[$vararg_buffer7>>2] = $5; + _TraceLog(1,13132,$vararg_buffer7); } - ;HEAP32[$agg$result>>2]=HEAP32[$font$sroa$0>>2]|0;HEAP32[$agg$result+4>>2]=HEAP32[$font$sroa$0+4>>2]|0;HEAP32[$agg$result+8>>2]=HEAP32[$font$sroa$0+8>>2]|0;HEAP32[$agg$result+12>>2]=HEAP32[$font$sroa$0+12>>2]|0;HEAP32[$agg$result+16>>2]=HEAP32[$font$sroa$0+16>>2]|0; - $57 = ((($agg$result)) + 20|0); - HEAP32[$57>>2] = 32; - $58 = ((($agg$result)) + 24|0); - HEAP32[$58>>2] = 95; - $59 = ((($agg$result)) + 28|0); - HEAP32[$59>>2] = $18; - $60 = ((($agg$result)) + 32|0); - HEAP32[$60>>2] = $19; - $61 = ((($agg$result)) + 36|0); - HEAP32[$61>>2] = $20; - $62 = ((($agg$result)) + 40|0); - HEAP32[$62>>2] = $21; - STACKTOP = sp;return; + HEAP32[$vararg_buffer10>>2] = $1; + $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); + HEAP32[$vararg_ptr13>>2] = $5; + _TraceLog(0,13167,$vararg_buffer10); + STACKTOP = sp;return ($3|0); } -function _LoadBMFont($agg$result,$fileName) { - $agg$result = $agg$result|0; - $fileName = $fileName|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0.0, $52 = 0, $53 = 0.0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; - var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $7 = 0, $8 = 0, $9 = 0, $base = 0, $buffer = 0, $charAdvanceX = 0, $charHeight = 0, $charId = 0, $charOffsetX = 0, $charOffsetY = 0, $charWidth = 0, $charX = 0, $charY = 0, $endptr = 0, $font$sroa$7 = 0; - var $fontSize = 0, $i$04 = 0, $numChars = 0, $strlen = 0, $texFileName = 0, $texHeight = 0, $texWidth = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer11 = 0, $vararg_buffer16 = 0, $vararg_buffer19 = 0, $vararg_buffer23 = 0, $vararg_buffer26 = 0, $vararg_buffer30 = 0, $vararg_buffer34 = 0, $vararg_buffer44 = 0, $vararg_buffer7 = 0, $vararg_ptr10 = 0, $vararg_ptr14 = 0; - var $vararg_ptr15 = 0, $vararg_ptr22 = 0, $vararg_ptr29 = 0, $vararg_ptr33 = 0, $vararg_ptr37 = 0, $vararg_ptr38 = 0, $vararg_ptr39 = 0, $vararg_ptr4 = 0, $vararg_ptr40 = 0, $vararg_ptr41 = 0, $vararg_ptr42 = 0, $vararg_ptr43 = 0, $vararg_ptr5 = 0, $vararg_ptr6 = 0, label = 0, sp = 0; +function _tinfl_decompress_mem_to_mem($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 608|0; - $vararg_buffer44 = sp + 136|0; - $vararg_buffer34 = sp + 104|0; - $vararg_buffer30 = sp + 96|0; - $vararg_buffer26 = sp + 88|0; - $vararg_buffer23 = sp + 80|0; - $vararg_buffer19 = sp + 72|0; - $vararg_buffer16 = sp + 64|0; - $vararg_buffer11 = sp + 48|0; - $vararg_buffer7 = sp + 40|0; - $vararg_buffer1 = sp + 24|0; - $vararg_buffer = sp + 16|0; - $font$sroa$7 = sp; - $buffer = sp + 344|0; - $fontSize = sp + 208|0; - $texWidth = sp + 204|0; - $texHeight = sp + 200|0; - $texFileName = sp + 216|0; - $numChars = sp + 196|0; - $base = sp + 192|0; - $0 = sp + 172|0; - $charId = sp + 168|0; - $charX = sp + 164|0; - $charY = sp + 160|0; - $charWidth = sp + 156|0; - $charHeight = sp + 152|0; - $charOffsetX = sp + 148|0; - $charOffsetY = sp + 144|0; - $charAdvanceX = sp + 140|0; - ;HEAP32[$font$sroa$7>>2]=0|0;HEAP32[$font$sroa$7+4>>2]=0|0;HEAP32[$font$sroa$7+8>>2]=0|0;HEAP32[$font$sroa$7+12>>2]=0|0; - HEAP32[$fontSize>>2] = 0; - HEAP32[$numChars>>2] = 0; - $1 = (_fopen($fileName,19358)|0); - $2 = ($1|0)==(0|0); - if ($2) { - HEAP32[$vararg_buffer>>2] = $fileName; - _TraceLog(2,19361,$vararg_buffer); - HEAP32[$agg$result>>2] = 0; - $3 = ((($agg$result)) + 4|0); - ;HEAP32[$3>>2]=HEAP32[$font$sroa$7>>2]|0;HEAP32[$3+4>>2]=HEAP32[$font$sroa$7+4>>2]|0;HEAP32[$3+8>>2]=HEAP32[$font$sroa$7+8>>2]|0;HEAP32[$3+12>>2]=HEAP32[$font$sroa$7+12>>2]|0; - $4 = ((($agg$result)) + 20|0); - ;HEAP32[$4>>2]=0|0;HEAP32[$4+4>>2]=0|0;HEAP32[$4+8>>2]=0|0;HEAP32[$4+12>>2]=0|0;HEAP32[$4+16>>2]=0|0;HEAP32[$4+20>>2]=0|0; - STACKTOP = sp;return; + STACKTOP = STACKTOP + 11008|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(11008|0); + $5 = sp + 11000|0; + $6 = sp; + $7 = sp + 8|0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $3; + HEAP32[$7>>2] = 0; + $8 = $4 & -7; + $9 = $8 | 4; + $10 = (_tinfl_decompress($7,$2,$6,$0,$0,$5,$9)|0); + $11 = ($10|0)!=(0); + $12 = HEAP32[$5>>2]|0; + $13 = $11 ? -1 : $12; + STACKTOP = sp;return ($13|0); +} +function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + $6 = $6|0; + var $$ = 0, $$$301127 = 0, $$010861840 = 0, $$010871839 = 0, $$010881838 = 0, $$010911856 = 0, $$010941846 = 0, $$010951864 = 0, $$01097 = 0, $$01194 = 0, $$011971855 = 0, $$01202 = 0, $$01202$shrunk = 0, $$01203 = 0, $$01300 = 0, $$01300$shrunk = 0, $$01309 = 0, $$01410 = 0, $$01410$shrunk = 0, $$01411 = 0; + var $$01411$shrunk = 0, $$01412 = 0, $$01413 = 0, $$01413$shrunk = 0, $$01416 = 0, $$01507 = 0, $$01607 = 0, $$01834 = 0, $$0937$lcssa = 0, $$09371833 = 0, $$0938$lcssa = 0, $$09381832 = 0, $$0941$lcssa = 0, $$09411816 = 0, $$09431831 = 0, $$09441830 = 0, $$0947 = 0, $$0947$shrunk = 0, $$0948 = 0, $$0949 = 0; + var $$0950 = 0, $$0950$shrunk = 0, $$0951 = 0, $$0952 = 0, $$0952$shrunk = 0, $$0953 = 0, $$0956 = 0, $$0959 = 0, $$0959$shrunk = 0, $$0960 = 0, $$0963 = 0, $$0967 = 0, $$0971 = 0, $$0971$shrunk = 0, $$0972 = 0, $$0975 = 0, $$0978 = 0, $$0979 = 0, $$0979$shrunk = 0, $$0980 = 0; + var $$0980$shrunk = 0, $$0981 = 0, $$0984 = 0, $$0987 = 0, $$0991 = 0, $$1$lcssa = 0, $$100 = 0, $$1001409 = 0, $$101426 = 0, $$101617 = 0, $$110891852 = 0, $$11098 = 0, $$11098$ph = 0, $$111427 = 0, $$111518 = 0, $$111618 = 0, $$11198 = 0, $$11204 = 0, $$11204$ph = 0, $$11310 = 0; + var $$11310$ph = 0, $$11417 = 0, $$11508 = 0, $$11608 = 0, $$11818 = 0, $$121428 = 0, $$121428$ph = 0, $$121519 = 0, $$121619 = 0, $$121619$ph = 0, $$13 = 0, $$131004 = 0, $$131110 = 0, $$131216 = 0, $$131322 = 0, $$131429 = 0, $$131520 = 0, $$131620 = 0, $$14 = 0, $$141005 = 0; + var $$141111 = 0, $$141217 = 0, $$141323 = 0, $$141430 = 0, $$141521 = 0, $$141621 = 0, $$15 = 0, $$151006 = 0, $$151112 = 0, $$151218 = 0, $$151324 = 0, $$151431 = 0, $$151522 = 0, $$151622 = 0, $$16 = 0, $$161007 = 0, $$161113 = 0, $$161113$ph = 0, $$161219 = 0, $$161325 = 0; + var $$161432 = 0, $$161523 = 0, $$161623 = 0, $$17 = 0, $$17$ph = 0, $$171008 = 0, $$171008$ph = 0, $$171114 = 0, $$171220 = 0, $$171220$ph = 0, $$171326 = 0, $$171326$ph = 0, $$171433 = 0, $$171524 = 0, $$171624 = 0, $$1753 = 0, $$1754 = 0, $$18 = 0, $$181009 = 0, $$181115 = 0; + var $$181221 = 0, $$181327 = 0, $$181434 = 0, $$181525 = 0, $$181625 = 0, $$19 = 0, $$191010 = 0, $$191116 = 0, $$191222 = 0, $$191328 = 0, $$191435 = 0, $$191526 = 0, $$191626 = 0, $$1939$lcssa = 0, $$19391817 = 0, $$19421823 = 0, $$1945$lcssa = 0, $$19451815 = 0, $$1954 = 0, $$1957 = 0; + var $$1961 = 0, $$1961$ = 0, $$1964 = 0, $$1968 = 0, $$1973 = 0, $$1976 = 0, $$1982 = 0, $$1985 = 0, $$1988 = 0, $$1988$ph = 0, $$1992 = 0, $$1992$ph = 0, $$2$lcssa = 0, $$20 = 0, $$201011 = 0, $$201117 = 0, $$201223 = 0, $$201329 = 0, $$201436 = 0, $$201527 = 0; + var $$201627 = 0, $$21 = 0, $$21099 = 0, $$211012 = 0, $$211118 = 0, $$211224 = 0, $$211330 = 0, $$211437 = 0, $$211437$ph = 0, $$211528 = 0, $$211628 = 0, $$211628$ph = 0, $$21196 = 0, $$21199$lcssa = 0, $$211991845 = 0, $$21205 = 0, $$21311 = 0, $$21418 = 0, $$21509 = 0, $$21609 = 0; + var $$21825 = 0, $$22 = 0, $$221013 = 0, $$221119 = 0, $$221225 = 0, $$221331 = 0, $$221438 = 0, $$221529 = 0, $$221629 = 0, $$23 = 0, $$231014 = 0, $$231120 = 0, $$231226 = 0, $$231332 = 0, $$231439 = 0, $$231530 = 0, $$231630 = 0, $$24 = 0, $$241015 = 0, $$241121 = 0; + var $$241227 = 0, $$241333 = 0, $$241440 = 0, $$241531 = 0, $$241631 = 0, $$25 = 0, $$251016 = 0, $$251122 = 0, $$251122$ph = 0, $$251228 = 0, $$251334 = 0, $$251441 = 0, $$251532 = 0, $$251632 = 0, $$26 = 0, $$26$ph = 0, $$261017 = 0, $$261017$ph = 0, $$261123 = 0, $$261229 = 0; + var $$261229$ph = 0, $$261335 = 0, $$261335$ph = 0, $$261442 = 0, $$261533 = 0, $$261633 = 0, $$27 = 0, $$271018 = 0, $$271124 = 0, $$271230 = 0, $$271336 = 0, $$271443 = 0, $$271534 = 0, $$271634 = 0, $$28 = 0, $$281019 = 0, $$281125 = 0, $$281231 = 0, $$281337 = 0, $$281444 = 0; + var $$281535 = 0, $$281635 = 0, $$29 = 0, $$291020 = 0, $$291126 = 0, $$291232 = 0, $$291338 = 0, $$291445 = 0, $$291536 = 0, $$291636 = 0, $$2940$lcssa = 0, $$29401824 = 0, $$2946$lcssa = 0, $$29461822 = 0, $$2955 = 0, $$2958 = 0, $$2965 = 0, $$2969 = 0, $$2974 = 0, $$2977 = 0; + var $$2983 = 0, $$2986 = 0, $$2989 = 0, $$2993 = 0, $$30 = 0, $$301021 = 0, $$301127 = 0, $$301233 = 0, $$301339 = 0, $$301446 = 0, $$301537 = 0, $$301637 = 0, $$31 = 0, $$31100$v = 0, $$311022 = 0, $$311128 = 0, $$311234 = 0, $$311340 = 0, $$311447 = 0, $$311538 = 0; + var $$311638 = 0, $$31200 = 0, $$31206 = 0, $$31206$ph = 0, $$31312 = 0, $$31312$ph = 0, $$31419 = 0, $$31419$ph = 0, $$31610 = 0, $$31610$ph = 0, $$32 = 0, $$321023 = 0, $$321129 = 0, $$321235 = 0, $$321341 = 0, $$321448 = 0, $$321448$ph = 0, $$321539 = 0, $$321639 = 0, $$321639$ph = 0; + var $$33 = 0, $$331024 = 0, $$331130 = 0, $$331236 = 0, $$331342 = 0, $$331449 = 0, $$331540 = 0, $$331640 = 0, $$34 = 0, $$341025 = 0, $$341131 = 0, $$341237 = 0, $$341343 = 0, $$341450 = 0, $$341541 = 0, $$341641 = 0, $$35 = 0, $$351026 = 0, $$351132 = 0, $$351238 = 0; + var $$351344 = 0, $$351451 = 0, $$351542 = 0, $$351642 = 0, $$36 = 0, $$361027 = 0, $$361027$ph = 0, $$361133 = 0, $$361133$ph = 0, $$361239 = 0, $$361345 = 0, $$361452 = 0, $$361543 = 0, $$361643 = 0, $$37 = 0, $$37$ph = 0, $$371028 = 0, $$371134 = 0, $$371240 = 0, $$371240$ph = 0; + var $$371346 = 0, $$371346$ph = 0, $$371453 = 0, $$371453$ph = 0, $$371544 = 0, $$371644 = 0, $$371644$ph = 0, $$38 = 0, $$381029 = 0, $$381135 = 0, $$381241 = 0, $$381347 = 0, $$381454 = 0, $$381545 = 0, $$381645 = 0, $$39 = 0, $$391030 = 0, $$391136 = 0, $$391242 = 0, $$391348 = 0; + var $$391455 = 0, $$391546 = 0, $$391646 = 0, $$3966 = 0, $$3970 = 0, $$3990 = 0, $$3990$ph = 0, $$3994 = 0, $$3994$ph = 0, $$40 = 0, $$401031 = 0, $$401137 = 0, $$401243 = 0, $$401349 = 0, $$401456 = 0, $$401547 = 0, $$401647 = 0, $$41 = 0, $$411032 = 0, $$411032$ph = 0; + var $$411138 = 0, $$411138$ph = 0, $$411244 = 0, $$411350 = 0, $$411457 = 0, $$411548 = 0, $$411648 = 0, $$41201 = 0, $$41420 = 0, $$41511 = 0, $$41611 = 0, $$42 = 0, $$42$ph = 0, $$421033 = 0, $$421139 = 0, $$421245 = 0, $$421245$ph = 0, $$421351 = 0, $$421351$ph = 0, $$421458 = 0; + var $$421549 = 0, $$421649 = 0, $$43 = 0, $$431034 = 0, $$431140 = 0, $$431246 = 0, $$431352 = 0, $$431459 = 0, $$431550 = 0, $$431650 = 0, $$44 = 0, $$441035 = 0, $$441141 = 0, $$441247 = 0, $$441353 = 0, $$441460 = 0, $$441460$ph = 0, $$441551 = 0, $$441651 = 0, $$441651$ph = 0; + var $$45 = 0, $$451036 = 0, $$451142 = 0, $$451248 = 0, $$451354 = 0, $$451461 = 0, $$451552 = 0, $$451652 = 0, $$46 = 0, $$461037 = 0, $$461143 = 0, $$461249 = 0, $$461355 = 0, $$461462 = 0, $$461553 = 0, $$461653 = 0, $$47 = 0, $$471038 = 0, $$471144 = 0, $$471250 = 0; + var $$471356 = 0, $$471463 = 0, $$471554 = 0, $$471654 = 0, $$48 = 0, $$481039 = 0, $$481039$ph = 0, $$481145 = 0, $$481145$ph = 0, $$481251 = 0, $$481357 = 0, $$481464 = 0, $$481555 = 0, $$481655 = 0, $$49 = 0, $$49$ph = 0, $$491040 = 0, $$491146 = 0, $$491252 = 0, $$491252$ph = 0; + var $$491358 = 0, $$491358$ph = 0, $$491465 = 0, $$491465$ph = 0, $$491556 = 0, $$491656 = 0, $$491656$ph = 0, $$5 = 0, $$50 = 0, $$501041 = 0, $$501147 = 0, $$501253 = 0, $$501359 = 0, $$501466 = 0, $$501557 = 0, $$501657 = 0, $$51 = 0, $$51102 = 0, $$511042 = 0, $$511148 = 0; + var $$511254 = 0, $$511360 = 0, $$511467 = 0, $$511558 = 0, $$511658 = 0, $$51208 = 0, $$51314 = 0, $$51512 = 0, $$52 = 0, $$521043 = 0, $$521043$ph = 0, $$521149 = 0, $$521255 = 0, $$521361 = 0, $$521468 = 0, $$521559 = 0, $$521659 = 0, $$53 = 0, $$531044 = 0, $$531150 = 0; + var $$531150$ph = 0, $$531256 = 0, $$531362 = 0, $$531469 = 0, $$531560 = 0, $$531660 = 0, $$54 = 0, $$54$ph = 0, $$541045 = 0, $$541151 = 0, $$541257 = 0, $$541257$ph = 0, $$541363 = 0, $$541363$ph = 0, $$541470$ph = 0, $$541561 = 0, $$541661$lcssa = 0, $$541661$ph = 0, $$5416611868 = 0, $$55 = 0; + var $$551046 = 0, $$551152 = 0, $$551258 = 0, $$551364 = 0, $$551471 = 0, $$551562 = 0, $$551662 = 0, $$56 = 0, $$561047 = 0, $$561153 = 0, $$561259 = 0, $$561365 = 0, $$561472 = 0, $$561563 = 0, $$561663 = 0, $$57 = 0, $$571048$ph = 0, $$571154 = 0, $$571260 = 0, $$571366 = 0; + var $$571473 = 0, $$571473$ph = 0, $$571564 = 0, $$571664 = 0, $$571664$ph = 0, $$58 = 0, $$581049 = 0, $$581155$lcssa = 0, $$581155$ph = 0, $$5811551871 = 0, $$581261 = 0, $$581367 = 0, $$581474 = 0, $$581565$lcssa = 0, $$581565$ph = 0, $$5815651869 = 0, $$581665 = 0, $$59$lcssa = 0, $$59$ph = 0, $$591050 = 0; + var $$591156 = 0, $$591262$ph = 0, $$591368$lcssa = 0, $$591368$ph = 0, $$5913681870 = 0, $$591475 = 0, $$591566 = 0, $$591666 = 0, $$591872 = 0, $$5996 = 0, $$6 = 0, $$60 = 0, $$601051 = 0, $$601051$ph = 0, $$601157 = 0, $$601263 = 0, $$601369 = 0, $$601476 = 0, $$601567 = 0, $$61 = 0; + var $$61103 = 0, $$611052 = 0, $$611158 = 0, $$611158$ph = 0, $$611264 = 0, $$611370 = 0, $$611477 = 0, $$611568 = 0, $$611668 = 0, $$61209 = 0, $$61315 = 0, $$61513 = 0, $$62 = 0, $$62$ph = 0, $$621053 = 0, $$621159 = 0, $$621265 = 0, $$621265$ph = 0, $$621371 = 0, $$621371$ph = 0; + var $$621478 = 0, $$621569 = 0, $$621669 = 0, $$63 = 0, $$631054 = 0, $$631266 = 0, $$631372 = 0, $$631479 = 0, $$631479$ph = 0, $$631570 = 0, $$631670 = 0, $$64 = 0, $$641055 = 0, $$641161 = 0, $$641267 = 0, $$641373 = 0, $$641480 = 0, $$641571 = 0, $$641671 = 0, $$641671$ph = 0; + var $$65 = 0, $$651056 = 0, $$651162 = 0, $$651268 = 0, $$651374 = 0, $$651481 = 0, $$651572 = 0, $$651672 = 0, $$66 = 0, $$661057 = 0, $$661057$ph = 0, $$661163 = 0, $$661269 = 0, $$661375 = 0, $$661482 = 0, $$661673 = 0, $$671058 = 0, $$671164 = 0, $$671164$ph = 0, $$671270 = 0; + var $$671483 = 0, $$671574 = 0, $$671674 = 0, $$68 = 0, $$681059 = 0, $$681165 = 0, $$681271 = 0, $$681271$ph = 0, $$681377 = 0, $$681484 = 0, $$681484$ph = 0, $$681575 = 0, $$681675 = 0, $$69 = 0, $$691060 = 0, $$691166 = 0, $$691272 = 0, $$691378 = 0, $$691485 = 0, $$691576 = 0; + var $$691676 = 0, $$691676$ph = 0, $$6997 = 0, $$7 = 0, $$70 = 0, $$701061 = 0, $$701167 = 0, $$701273 = 0, $$701379 = 0, $$701486 = 0, $$701577 = 0, $$701677 = 0, $$71 = 0, $$71$ph = 0, $$71104 = 0, $$711062 = 0, $$711062$ph = 0, $$711168 = 0, $$711274 = 0, $$711380 = 0; + var $$711380$ph = 0, $$711487 = 0, $$711578 = 0, $$711678 = 0, $$71210 = 0, $$71316 = 0, $$71514 = 0, $$72 = 0, $$721063 = 0, $$721169 = 0, $$721169$ph = 0, $$721275 = 0, $$721381 = 0, $$721488 = 0, $$721488$ph = 0, $$721579 = 0, $$721679 = 0, $$73 = 0, $$731064 = 0, $$731170 = 0; + var $$731276 = 0, $$731276$ph = 0, $$731382 = 0, $$731489 = 0, $$731580 = 0, $$731680 = 0, $$731680$ph = 0, $$74 = 0, $$741065 = 0, $$741065$ph = 0, $$741171 = 0, $$741277 = 0, $$741383 = 0, $$741490 = 0, $$741581 = 0, $$741681 = 0, $$75 = 0, $$751066 = 0, $$751172 = 0, $$751278 = 0; + var $$751384 = 0, $$751491 = 0, $$751582 = 0, $$751682 = 0, $$76 = 0, $$76$ph = 0, $$761067 = 0, $$761173 = 0, $$761173$ph = 0, $$761279 = 0, $$761279$ph = 0, $$761385 = 0, $$761385$ph = 0, $$761492 = 0, $$761583 = 0, $$761683 = 0, $$77 = 0, $$771068 = 0, $$771174 = 0, $$771280 = 0; + var $$771386 = 0, $$771584 = 0, $$771684 = 0, $$78 = 0, $$781069 = 0, $$781175 = 0, $$781281 = 0, $$781387 = 0, $$781585 = 0, $$781685 = 0, $$79 = 0, $$791070 = 0, $$791176 = 0, $$791282 = 0, $$791388 = 0, $$791586 = 0, $$791686 = 0, $$7998 = 0, $$8 = 0, $$8$ph = 0; + var $$80 = 0, $$80$ph = 0, $$801071 = 0, $$801177 = 0, $$801283 = 0, $$801389 = 0, $$801389$ph = 0, $$801496 = 0, $$801587 = 0, $$801687 = 0, $$81 = 0, $$81105 = 0, $$81105$ph = 0, $$811178 = 0, $$811284 = 0, $$811390 = 0, $$811497 = 0, $$811588 = 0, $$81211 = 0, $$81211$ph = 0; + var $$81317 = 0, $$81317$ph = 0, $$81424 = 0, $$81515 = 0, $$81615 = 0, $$82 = 0, $$821179 = 0, $$821285 = 0, $$821391 = 0, $$821498 = 0, $$821589 = 0, $$83 = 0, $$831180 = 0, $$831392 = 0, $$831499 = 0, $$831590 = 0, $$84 = 0, $$841075 = 0, $$841393 = 0, $$841500 = 0; + var $$841500$ph = 0, $$841591 = 0, $$841691 = 0, $$85 = 0, $$851076 = 0, $$851394 = 0, $$851501 = 0, $$851592 = 0, $$851692 = 0, $$86 = 0, $$861077 = 0, $$861289 = 0, $$861395 = 0, $$861502 = 0, $$861693 = 0, $$871078 = 0, $$871184 = 0, $$871290 = 0, $$871503 = 0, $$871694 = 0; + var $$881079 = 0, $$881079$ph = 0, $$881185 = 0, $$881291 = 0, $$881504 = 0, $$881595 = 0, $$881695 = 0, $$881695$ph = 0, $$891080 = 0, $$891186 = 0, $$891292 = 0, $$891505 = 0, $$891596 = 0, $$891696 = 0, $$8999 = 0, $$8999$ph = 0, $$9 = 0, $$90 = 0, $$901081 = 0, $$901187 = 0; + var $$901187$ph = 0, $$901293 = 0, $$901293$ph = 0, $$901399 = 0, $$901506 = 0, $$901597 = 0, $$901697 = 0, $$91 = 0, $$91000 = 0, $$91106 = 0, $$911082 = 0, $$911188 = 0, $$911294 = 0, $$911400 = 0, $$911598 = 0, $$911698 = 0, $$91212 = 0, $$91318 = 0, $$91425 = 0, $$91616 = 0; + var $$92 = 0, $$921083 = 0, $$921189 = 0, $$921295 = 0, $$921401 = 0, $$921599 = 0, $$921699 = 0, $$93 = 0, $$931084 = 0, $$931190 = 0, $$931296 = 0, $$931402 = 0, $$931600 = 0, $$931700 = 0, $$94 = 0, $$94$ph = 0, $$941085 = 0, $$941191 = 0, $$941297 = 0, $$941403 = 0; + var $$941403$ph = 0, $$941601 = 0, $$941701 = 0, $$95 = 0, $$951192 = 0, $$951298 = 0, $$951404 = 0, $$951602 = 0, $$96 = 0, $$961193 = 0, $$961299 = 0, $$961405 = 0, $$961603 = 0, $$97 = 0, $$971406 = 0, $$971604 = 0, $$98 = 0, $$981407 = 0, $$981605 = 0, $$99 = 0; + var $$991408 = 0, $$991606 = 0, $$lcssa1778 = 0, $$lcssa1779 = 0, $$lcssa1799 = 0, $$lcssa1802 = 0, $$not = 0, $$not1747 = 0, $$sink12 = 0, $$sink13 = 0, $$sink16 = 0, $$sink17 = 0, $$sink1705 = 0, $$sink1710 = 0, $$sink1713 = 0, $$sink1716 = 0, $$sink1719 = 0, $$sink1722 = 0, $$sink1729 = 0, $$sink1732 = 0; + var $$sink1736 = 0, $$sink1739 = 0, $$sink1743 = 0, $$sink1746 = 0, $$sink1750 = 0, $$sink3 = 0, $$sink3$shrunk = 0, $$sink30 = 0, $$sink9 = 0, $$sink9$shrunk = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0; + var $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0; + var $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0; + var $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0; + var $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0; + var $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0; + var $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0; + var $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0; + var $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0; + var $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0; + var $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0; + var $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0; + var $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0; + var $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0; + var $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0; + var $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0; + var $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0; + var $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0; + var $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0; + var $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0; + var $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0; + var $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0; + var $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0; + var $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0; + var $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0, $531 = 0, $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0; + var $545 = 0, $546 = 0, $547 = 0, $548 = 0, $549 = 0, $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0, $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0, $562 = 0; + var $563 = 0, $564 = 0, $565 = 0, $566 = 0, $567 = 0, $568 = 0, $569 = 0, $57 = 0, $570 = 0, $571 = 0, $572 = 0, $573 = 0, $574 = 0, $575 = 0, $576 = 0, $577 = 0, $578 = 0, $579 = 0, $58 = 0, $580 = 0; + var $581 = 0, $582 = 0, $583 = 0, $584 = 0, $585 = 0, $586 = 0, $587 = 0, $588 = 0, $589 = 0, $59 = 0, $590 = 0, $591 = 0, $592 = 0, $593 = 0, $594 = 0, $595 = 0, $596 = 0, $597 = 0, $598 = 0, $599 = 0; + var $60 = 0, $600 = 0, $601 = 0, $602 = 0, $603 = 0, $604 = 0, $605 = 0, $606 = 0, $607 = 0, $608 = 0, $609 = 0, $61 = 0, $610 = 0, $611 = 0, $612 = 0, $613 = 0, $614 = 0, $615 = 0, $616 = 0, $617 = 0; + var $618 = 0, $619 = 0, $62 = 0, $620 = 0, $621 = 0, $622 = 0, $623 = 0, $624 = 0, $625 = 0, $626 = 0, $627 = 0, $628 = 0, $629 = 0, $63 = 0, $630 = 0, $631 = 0, $632 = 0, $633 = 0, $634 = 0, $635 = 0; + var $636 = 0, $637 = 0, $638 = 0, $639 = 0, $64 = 0, $640 = 0, $641 = 0, $642 = 0, $643 = 0, $644 = 0, $645 = 0, $646 = 0, $647 = 0, $648 = 0, $649 = 0, $65 = 0, $650 = 0, $651 = 0, $652 = 0, $653 = 0; + var $654 = 0, $655 = 0, $656 = 0, $657 = 0, $658 = 0, $659 = 0, $66 = 0, $660 = 0, $661 = 0, $662 = 0, $663 = 0, $664 = 0, $665 = 0, $666 = 0, $667 = 0, $668 = 0, $669 = 0, $67 = 0, $670 = 0, $671 = 0; + var $672 = 0, $673 = 0, $674 = 0, $675 = 0, $676 = 0, $677 = 0, $678 = 0, $679 = 0, $68 = 0, $680 = 0, $681 = 0, $682 = 0, $683 = 0, $684 = 0, $685 = 0, $686 = 0, $687 = 0, $688 = 0, $689 = 0, $69 = 0; + var $690 = 0, $691 = 0, $692 = 0, $693 = 0, $694 = 0, $695 = 0, $696 = 0, $697 = 0, $698 = 0, $699 = 0, $7 = 0, $70 = 0, $700 = 0, $701 = 0, $702 = 0, $703 = 0, $704 = 0, $705 = 0, $706 = 0, $707 = 0; + var $708 = 0, $709 = 0, $71 = 0, $710 = 0, $711 = 0, $712 = 0, $713 = 0, $714 = 0, $715 = 0, $716 = 0, $717 = 0, $718 = 0, $719 = 0, $72 = 0, $720 = 0, $721 = 0, $722 = 0, $723 = 0, $724 = 0, $725 = 0; + var $726 = 0, $727 = 0, $728 = 0, $729 = 0, $73 = 0, $730 = 0, $731 = 0, $732 = 0, $733 = 0, $734 = 0, $735 = 0, $736 = 0, $737 = 0, $738 = 0, $739 = 0, $74 = 0, $740 = 0, $741 = 0, $742 = 0, $743 = 0; + var $744 = 0, $745 = 0, $746 = 0, $747 = 0, $748 = 0, $749 = 0, $75 = 0, $750 = 0, $751 = 0, $752 = 0, $753 = 0, $754 = 0, $755 = 0, $756 = 0, $757 = 0, $758 = 0, $759 = 0, $76 = 0, $760 = 0, $761 = 0; + var $762 = 0, $763 = 0, $764 = 0, $765 = 0, $766 = 0, $767 = 0, $768 = 0, $769 = 0, $77 = 0, $770 = 0, $771 = 0, $772 = 0, $773 = 0, $774 = 0, $775 = 0, $776 = 0, $777 = 0, $778 = 0, $779 = 0, $78 = 0; + var $780 = 0, $781 = 0, $782 = 0, $783 = 0, $784 = 0, $785 = 0, $786 = 0, $787 = 0, $788 = 0, $789 = 0, $79 = 0, $790 = 0, $791 = 0, $792 = 0, $793 = 0, $794 = 0, $795 = 0, $796 = 0, $797 = 0, $798 = 0; + var $799 = 0, $8 = 0, $80 = 0, $800 = 0, $801 = 0, $802 = 0, $803 = 0, $804 = 0, $805 = 0, $806 = 0, $807 = 0, $808 = 0, $809 = 0, $81 = 0, $810 = 0, $811 = 0, $812 = 0, $813 = 0, $814 = 0, $815 = 0; + var $816 = 0, $817 = 0, $818 = 0, $819 = 0, $82 = 0, $820 = 0, $821 = 0, $822 = 0, $823 = 0, $824 = 0, $825 = 0, $826 = 0, $827 = 0, $828 = 0, $829 = 0, $83 = 0, $830 = 0, $831 = 0, $832 = 0, $833 = 0; + var $834 = 0, $835 = 0, $836 = 0, $837 = 0, $838 = 0, $839 = 0, $84 = 0, $840 = 0, $841 = 0, $842 = 0, $843 = 0, $844 = 0, $845 = 0, $846 = 0, $847 = 0, $848 = 0, $849 = 0, $85 = 0, $850 = 0, $851 = 0; + var $852 = 0, $853 = 0, $854 = 0, $855 = 0, $856 = 0, $857 = 0, $858 = 0, $859 = 0, $86 = 0, $860 = 0, $861 = 0, $862 = 0, $863 = 0, $864 = 0, $865 = 0, $866 = 0, $867 = 0, $868 = 0, $869 = 0, $87 = 0; + var $870 = 0, $871 = 0, $872 = 0, $873 = 0, $874 = 0, $875 = 0, $876 = 0, $877 = 0, $878 = 0, $879 = 0, $88 = 0, $880 = 0, $881 = 0, $882 = 0, $883 = 0, $884 = 0, $885 = 0, $886 = 0, $887 = 0, $888 = 0; + var $889 = 0, $89 = 0, $890 = 0, $891 = 0, $892 = 0, $893 = 0, $894 = 0, $895 = 0, $896 = 0, $897 = 0, $898 = 0, $899 = 0, $9 = 0, $90 = 0, $900 = 0, $901 = 0, $902 = 0, $903 = 0, $904 = 0, $905 = 0; + var $906 = 0, $907 = 0, $908 = 0, $909 = 0, $91 = 0, $910 = 0, $911 = 0, $912 = 0, $913 = 0, $914 = 0, $915 = 0, $916 = 0, $917 = 0, $918 = 0, $919 = 0, $92 = 0, $920 = 0, $921 = 0, $922 = 0, $923 = 0; + var $924 = 0, $925 = 0, $926 = 0, $927 = 0, $928 = 0, $929 = 0, $93 = 0, $930 = 0, $931 = 0, $932 = 0, $933 = 0, $934 = 0, $935 = 0, $936 = 0, $937 = 0, $938 = 0, $939 = 0, $94 = 0, $940 = 0, $941 = 0; + var $942 = 0, $943 = 0, $944 = 0, $945 = 0, $946 = 0, $947 = 0, $948 = 0, $949 = 0, $95 = 0, $950 = 0, $951 = 0, $952 = 0, $953 = 0, $954 = 0, $955 = 0, $956 = 0, $957 = 0, $958 = 0, $959 = 0, $96 = 0; + var $960 = 0, $961 = 0, $962 = 0, $963 = 0, $964 = 0, $965 = 0, $966 = 0, $97 = 0, $98 = 0, $99 = 0, $brmerge = 0, $exitcond = 0, $not$ = 0, $not$1755 = 0, $or$cond = 0, $or$cond1702 = 0, $or$cond1752 = 0, $or$cond24 = 0, $or$cond29 = 0, $scevgep = 0; + var $scevgep1947 = 0, $scevgep1948 = 0, $scevgep1955 = 0, $scevgep1957 = 0, $scevgep1959 = 0, $scevgep19611962 = 0, $trunc = 0, $trunc$clear = 0, dest = 0, label = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 144|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(144|0); + $7 = sp + 64|0; + $8 = sp; + $9 = HEAP32[$2>>2]|0; + $10 = (($1) + ($9)|0); + $11 = HEAP32[$5>>2]|0; + $12 = (($4) + ($11)|0); + $13 = $6 & 4; + $14 = ($13|0)!=(0); + $15 = $4; + $16 = $3; + $17 = $16 ^ -1; + $18 = (($15) + ($17))|0; + $19 = (($18) + ($11))|0; + $$1753 = $14 ? -1 : $19; + $20 = (($$1753) + 1)|0; + $21 = $20 & $$1753; + $22 = ($21|0)!=(0); + $23 = ($4>>>0)<($3>>>0); + $or$cond1702 = $23 | $22; + if ($or$cond1702) { + HEAP32[$5>>2] = 0; + HEAP32[$2>>2] = 0; + $$0951 = -3; + STACKTOP = sp;return ($$0951|0); } - (_fgets($buffer,256,$1)|0); - (_fgets($buffer,256,$1)|0); - $5 = (_strstr($buffer,19395)|0); - HEAP32[$vararg_buffer1>>2] = $fontSize; - $vararg_ptr4 = ((($vararg_buffer1)) + 4|0); - HEAP32[$vararg_ptr4>>2] = $base; - $vararg_ptr5 = ((($vararg_buffer1)) + 8|0); - HEAP32[$vararg_ptr5>>2] = $texWidth; - $vararg_ptr6 = ((($vararg_buffer1)) + 12|0); - HEAP32[$vararg_ptr6>>2] = $texHeight; - (_sscanf($5,19406,$vararg_buffer1)|0); - $6 = HEAP32[$fontSize>>2]|0; - HEAP32[$vararg_buffer7>>2] = $fileName; - $vararg_ptr10 = ((($vararg_buffer7)) + 4|0); - HEAP32[$vararg_ptr10>>2] = $6; - _TraceLog(3,19448,$vararg_buffer7); - $7 = HEAP32[$texWidth>>2]|0; - $8 = HEAP32[$texHeight>>2]|0; - HEAP32[$vararg_buffer11>>2] = $fileName; - $vararg_ptr14 = ((($vararg_buffer11)) + 4|0); - HEAP32[$vararg_ptr14>>2] = $7; - $vararg_ptr15 = ((($vararg_buffer11)) + 8|0); - HEAP32[$vararg_ptr15>>2] = $8; - _TraceLog(3,19467,$vararg_buffer11); - (_fgets($buffer,256,$1)|0); - $9 = (_strstr($buffer,19498)|0); - HEAP32[$vararg_buffer16>>2] = $texFileName; - (_sscanf($9,19503,$vararg_buffer16)|0); - HEAP32[$vararg_buffer19>>2] = $fileName; - $vararg_ptr22 = ((($vararg_buffer19)) + 4|0); - HEAP32[$vararg_ptr22>>2] = $texFileName; - _TraceLog(3,19519,$vararg_buffer19); - (_fgets($buffer,256,$1)|0); - $10 = (_strstr($buffer,19550)|0); - HEAP32[$vararg_buffer23>>2] = $numChars; - (_sscanf($10,19556,$vararg_buffer23)|0); - $11 = HEAP32[$numChars>>2]|0; - HEAP32[$vararg_buffer26>>2] = $fileName; - $vararg_ptr29 = ((($vararg_buffer26)) + 4|0); - HEAP32[$vararg_ptr29>>2] = $11; - _TraceLog(3,19565,$vararg_buffer26); - $12 = (_strrchr($fileName,47)|0); - $13 = (_strlen($fileName)|0); - $14 = (_strlen($12)|0); - $15 = (_strlen($texFileName)|0); - $16 = (($13) + 2)|0; - $17 = (($16) - ($14))|0; - $18 = (($17) + ($15))|0; - $19 = (_malloc($18)|0); - $20 = (_strlen($fileName)|0); - $21 = (_strlen($12)|0); - $22 = (($20) - ($21))|0; - _memcpy(($19|0),($fileName|0),($22|0))|0; - $strlen = (_strlen($19)|0); - $endptr = (($19) + ($strlen)|0); - HEAP8[$endptr>>0]=47&255;HEAP8[$endptr+1>>0]=47>>8; - (_strcat($19,$texFileName)|0); - HEAP32[$vararg_buffer30>>2] = $fileName; - $vararg_ptr33 = ((($vararg_buffer30)) + 4|0); - HEAP32[$vararg_ptr33>>2] = $19; - _TraceLog(3,19589,$vararg_buffer30); - _LoadTexture($0,$19); - $23 = HEAP32[$0>>2]|0; $24 = ((($0)) + 4|0); - ;HEAP32[$font$sroa$7>>2]=HEAP32[$24>>2]|0;HEAP32[$font$sroa$7+4>>2]=HEAP32[$24+4>>2]|0;HEAP32[$font$sroa$7+8>>2]=HEAP32[$24+8>>2]|0;HEAP32[$font$sroa$7+12>>2]=HEAP32[$24+12>>2]|0; - $25 = HEAP32[$fontSize>>2]|0; - $26 = HEAP32[$numChars>>2]|0; - $27 = $26 << 2; - $28 = (_malloc($27)|0); - $29 = HEAP32[$numChars>>2]|0; - $30 = $29 << 4; - $31 = (_malloc($30)|0); - $32 = HEAP32[$numChars>>2]|0; - $33 = $32 << 3; - $34 = (_malloc($33)|0); - $35 = HEAP32[$numChars>>2]|0; - $36 = $35 << 2; - $37 = (_malloc($36)|0); - _free($19); - $38 = HEAP32[$numChars>>2]|0; - $39 = ($38|0)>(0); - if ($39) { - $i$04 = 0; - while(1) { - (_fgets($buffer,256,$1)|0); - HEAP32[$vararg_buffer34>>2] = $charId; - $vararg_ptr37 = ((($vararg_buffer34)) + 4|0); - HEAP32[$vararg_ptr37>>2] = $charX; - $vararg_ptr38 = ((($vararg_buffer34)) + 8|0); - HEAP32[$vararg_ptr38>>2] = $charY; - $vararg_ptr39 = ((($vararg_buffer34)) + 12|0); - HEAP32[$vararg_ptr39>>2] = $charWidth; - $vararg_ptr40 = ((($vararg_buffer34)) + 16|0); - HEAP32[$vararg_ptr40>>2] = $charHeight; - $vararg_ptr41 = ((($vararg_buffer34)) + 20|0); - HEAP32[$vararg_ptr41>>2] = $charOffsetX; - $vararg_ptr42 = ((($vararg_buffer34)) + 24|0); - HEAP32[$vararg_ptr42>>2] = $charOffsetY; - $vararg_ptr43 = ((($vararg_buffer34)) + 28|0); - HEAP32[$vararg_ptr43>>2] = $charAdvanceX; - (_sscanf($buffer,19624,$vararg_buffer34)|0); - $40 = HEAP32[$charId>>2]|0; - $41 = (($28) + ($i$04<<2)|0); - HEAP32[$41>>2] = $40; - $42 = HEAP32[$charX>>2]|0; - $43 = HEAP32[$charY>>2]|0; - $44 = HEAP32[$charWidth>>2]|0; - $45 = HEAP32[$charHeight>>2]|0; - $46 = (($31) + ($i$04<<4)|0); - HEAP32[$46>>2] = $42; - $47 = (((($31) + ($i$04<<4)|0)) + 4|0); - HEAP32[$47>>2] = $43; - $48 = (((($31) + ($i$04<<4)|0)) + 8|0); - HEAP32[$48>>2] = $44; - $49 = (((($31) + ($i$04<<4)|0)) + 12|0); - HEAP32[$49>>2] = $45; - $50 = HEAP32[$charOffsetX>>2]|0; - $51 = (+($50|0)); - $52 = HEAP32[$charOffsetY>>2]|0; - $53 = (+($52|0)); - $54 = (($34) + ($i$04<<3)|0); - HEAPF32[$54>>2] = $51; - $55 = (((($34) + ($i$04<<3)|0)) + 4|0); - HEAPF32[$55>>2] = $53; - $56 = HEAP32[$charAdvanceX>>2]|0; - $57 = (($37) + ($i$04<<2)|0); - HEAP32[$57>>2] = $56; - $58 = (($i$04) + 1)|0; - $59 = HEAP32[$numChars>>2]|0; - $60 = ($58|0)<($59|0); - if ($60) { - $i$04 = $58; + $25 = HEAP32[$24>>2]|0; + $26 = ((($0)) + 56|0); + $27 = HEAP32[$26>>2]|0; + $28 = ((($0)) + 32|0); + $29 = HEAP32[$28>>2]|0; + $30 = ((($0)) + 36|0); + $31 = HEAP32[$30>>2]|0; + $32 = ((($0)) + 40|0); + $33 = HEAP32[$32>>2]|0; + $34 = ((($0)) + 60|0); + $35 = HEAP32[$34>>2]|0; + $36 = HEAP32[$0>>2]|0; + L5: do { + switch ($36|0) { + case 0: { + $37 = ((($0)) + 12|0); + HEAP32[$37>>2] = 0; + $38 = ((($0)) + 8|0); + HEAP32[$38>>2] = 0; + $39 = ((($0)) + 28|0); + HEAP32[$39>>2] = 1; + $40 = ((($0)) + 16|0); + HEAP32[$40>>2] = 1; + $41 = $6 & 1; + $42 = ($41|0)==(0); + if ($42) { + $$01416 = $35;$$01607 = $4;$$41511 = $1;$$5 = 0;$$51102 = 0;$$51208 = 0;$$51314 = 0;$$5996 = 0; + label = 14; } else { - break; - } - } - } - (_fclose($1)|0); - HEAP32[$vararg_buffer44>>2] = $fileName; - _TraceLog(0,19698,$vararg_buffer44); - HEAP32[$agg$result>>2] = $23; - $61 = ((($agg$result)) + 4|0); - ;HEAP32[$61>>2]=HEAP32[$font$sroa$7>>2]|0;HEAP32[$61+4>>2]=HEAP32[$font$sroa$7+4>>2]|0;HEAP32[$61+8>>2]=HEAP32[$font$sroa$7+8>>2]|0;HEAP32[$61+12>>2]=HEAP32[$font$sroa$7+12>>2]|0; - $62 = ((($agg$result)) + 20|0); - HEAP32[$62>>2] = $25; - $63 = ((($agg$result)) + 24|0); - HEAP32[$63>>2] = $26; - $64 = ((($agg$result)) + 28|0); - HEAP32[$64>>2] = $28; - $65 = ((($agg$result)) + 32|0); - HEAP32[$65>>2] = $31; - $66 = ((($agg$result)) + 36|0); - HEAP32[$66>>2] = $34; - $67 = ((($agg$result)) + 40|0); - HEAP32[$67>>2] = $37; - STACKTOP = sp;return; -} -function _ParseImageData($image,$charValues,$charRecs) { - $image = $image|0; - $charValues = $charValues|0; - $charRecs = $charRecs|0; - var $$byval_copy4 = 0, $$lcssa = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; - var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0; - var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0; - var $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $8 = 0, $9 = 0, $charWidth$0 = 0, $charWidth$0$lcssa = 0; - var $exitcond = 0, $i$06 = 0, $index$0$lcssa = 0, $index$012 = 0, $index$1$lcssa = 0, $index$17 = 0, $j$0 = 0, $j$0$lcssa = 0, $lineToRead$013 = 0, $tempCharRecs = 0, $tempCharValues = 0, $x$1$lcssa = 0, $x$116 = 0, $x$2 = 0, $xPosToRead$18 = 0, $y$0$lcssa = 0, $y$024 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 2592|0; - $$byval_copy4 = sp + 2560|0; - $tempCharValues = sp + 2048|0; - $tempCharRecs = sp; - ;HEAP32[$$byval_copy4>>2]=HEAP32[$image>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$image+4>>2]|0;HEAP32[$$byval_copy4+8>>2]=HEAP32[$image+8>>2]|0;HEAP32[$$byval_copy4+12>>2]=HEAP32[$image+12>>2]|0;HEAP32[$$byval_copy4+16>>2]=HEAP32[$image+16>>2]|0; - $0 = (_GetImageData($$byval_copy4)|0); - $1 = ((($image)) + 8|0); - $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)>(0); - L1: do { - if ($3) { - $4 = ((($image)) + 4|0); - $5 = HEAP32[$4>>2]|0; - $6 = ($5|0)>(0); - $7 = HEAP32[$1>>2]|0; - $y$024 = 0; - while(1) { - L5: do { - if ($6) { - $8 = Math_imul($5, $y$024)|0; - $x$116 = 0; - while(1) { - $9 = (($8) + ($x$116))|0; - $10 = (($0) + ($9<<2)|0); - ;HEAP8[$$byval_copy4>>0]=HEAP8[$10>>0]|0;HEAP8[$$byval_copy4+1>>0]=HEAP8[$10+1>>0]|0;HEAP8[$$byval_copy4+2>>0]=HEAP8[$10+2>>0]|0;HEAP8[$$byval_copy4+3>>0]=HEAP8[$10+3>>0]|0; - $11 = (_PixelIsMagenta($$byval_copy4)|0); - $12 = ($11|0)==(0); - if ($12) { - $x$1$lcssa = $x$116; - break L5; - } - $13 = (($x$116) + 1)|0; - $14 = ($13|0)<($5|0); - if ($14) { - $x$116 = $13; - } else { - $x$1$lcssa = $13; - break; - } - } - } else { - $x$1$lcssa = 0; - } - } while(0); - $15 = Math_imul($5, $y$024)|0; - $16 = (($15) + ($x$1$lcssa))|0; - $17 = (($0) + ($16<<2)|0); - ;HEAP8[$$byval_copy4>>0]=HEAP8[$17>>0]|0;HEAP8[$$byval_copy4+1>>0]=HEAP8[$17+1>>0]|0;HEAP8[$$byval_copy4+2>>0]=HEAP8[$17+2>>0]|0;HEAP8[$$byval_copy4+3>>0]=HEAP8[$17+3>>0]|0; - $18 = (_PixelIsMagenta($$byval_copy4)|0); - $19 = ($18|0)==(0); - if ($19) { - $x$2 = $x$1$lcssa;$y$0$lcssa = $y$024; - break L1; - } - $20 = (($y$024) + 1)|0; - $21 = ($20|0)<($7|0); - if ($21) { - $y$024 = $20; + $43 = ($9|0)<(1); + if ($43) { + $$01097 = 0;$$01203 = 0;$$01309 = 0;$$0987 = 0;$$0991 = 0; + label = 6; } else { - $x$2 = $x$1$lcssa;$y$0$lcssa = $20; - break; + $$11098$ph = 0;$$11204$ph = 0;$$11310$ph = 0;$$1988$ph = 0;$$1992$ph = 0; + label = 8; } } - } else { - $x$2 = 0;$y$0$lcssa = 0; + break; + } + case 1: { + $46 = ($9|0)>(0); + if ($46) { + $$11098$ph = $31;$$11204$ph = $33;$$11310$ph = $27;$$1988$ph = $25;$$1992$ph = $29; + label = 8; + } else { + $$01097 = $31;$$01203 = $33;$$01309 = $27;$$0987 = $25;$$0991 = $29; + label = 6; + } + break; + } + case 2: { + $53 = ($9|0)>(0); + if ($53) { + $$31206$ph = $33;$$31312$ph = $27;$$3990$ph = $25;$$3994$ph = $29;$$sink1705 = $1; + label = 12; + } else { + $$11508 = $1;$$21099 = $31;$$21205 = $33;$$21311 = $27;$$2989 = $25;$$2993 = $29; + label = 10; + } + break; + } + case 36: { + $$0960 = -1;$$891505 = $35;$$931084 = $29;$$931700 = $4;$$951192 = $31;$$951298 = $33;$$981605 = $1;$$99 = $25;$$991408 = $27;$$sink30 = 36; + label = 243; + break; + } + case 3: { + $75 = ($9|0)>(0); + if ($75) { + $$31419$ph = $35;$$31610$ph = $4;$$8$ph = $25;$$81105$ph = $31;$$81211$ph = $33;$$81317$ph = $27;$$8999$ph = $29;$$sink1710 = $1; + label = 18; + } else { + $$21418 = $35;$$21609 = $4;$$61513 = $1;$$7 = $25;$$71104 = $31;$$71210 = $33;$$71316 = $27;$$7998 = $29; + label = 16; + } + break; + } + case 5: { + $90 = ($9|0)>(0); + if ($90) { + $91 = ((($1)) + 1|0); + $92 = HEAP8[$1>>0]|0; + $93 = $92&255; + $$01412 = $93;$$111518 = $91; + } else { + $88 = $6 & 2; + $89 = ($88|0)==(0); + if ($89) { + $$01412 = 0;$$111518 = $1; + } else { + $$0960 = 1;$$891505 = $35;$$931084 = $29;$$931700 = $4;$$951192 = $31;$$951298 = $33;$$981605 = $1;$$99 = $25;$$991408 = $27;$$sink30 = 5; + label = 243; + break L5; + } + } + $94 = $$01412 << $25; + $95 = $94 | $27; + $96 = (($25) + 8)|0; + $$121519 = $$111518;$$13 = $96;$$131004 = $29;$$131216 = $33;$$131322 = $95;$$81424 = $35;$$81615 = $4; + label = 25; + break; + } + case 6: { + $106 = ($9|0)>(0); + if ($106) { + $$121428$ph = $35;$$121619$ph = $4;$$161113$ph = $31;$$17$ph = $25;$$171008$ph = $29;$$171220$ph = $33;$$171326$ph = $27;$$sink1713 = $1; + label = 32; + } else { + $$111427 = $35;$$111618 = $4;$$151112 = $31;$$151522 = $1;$$16 = $25;$$161007 = $29;$$161219 = $33;$$161325 = $27; + label = 30; + } + break; + } + case 7: { + $120 = ($9|0)>(0); + if ($120) { + $121 = ((($1)) + 1|0); + $122 = HEAP8[$1>>0]|0; + $$151431 = $35;$$151622 = $4;$$191116 = $31;$$191526 = $121;$$20 = $25;$$201011 = $29;$$201223 = $33;$$201329 = $27;$$sink12 = $122; + label = 39; + } else { + $$141430 = $35;$$141621 = $4;$$181115 = $31;$$181525 = $1;$$19 = $25;$$191010 = $29;$$191222 = $33;$$191328 = $27; + label = 36; + } + break; + } + case 39: { + $$171433 = $35;$$171624 = $4;$$211118 = $31;$$211528 = $1;$$22 = $25;$$221013 = $29;$$221225 = $33;$$221331 = $27; + label = 43; + break; + } + case 51: { + $152 = ($9|0)>(0); + if ($152) { + $$211437$ph = $35;$$211628$ph = $4;$$251122$ph = $31;$$26$ph = $25;$$261017$ph = $29;$$261229$ph = $33;$$261335$ph = $27;$$sink1716 = $1; + label = 49; + } else { + $$201436 = $35;$$201627 = $4;$$241121 = $31;$$241531 = $1;$$25 = $25;$$251016 = $29;$$251228 = $33;$$251334 = $27; + label = 47; + } + break; + } + case 52: { + $$231439 = $35;$$231630 = $4;$$271018 = $29;$$271124 = $31;$$271534 = $1;$$28 = $25;$$281231 = $33;$$281337 = $27; + label = 52; + break; + } + case 9: { + $$251441 = $35;$$251632 = $4;$$291020 = $29;$$291126 = $31;$$291536 = $1;$$30 = $25;$$301233 = $33;$$301339 = $27; + label = 55; + break; + } + case 38: { + $$261442 = $35;$$261633 = $4;$$301021 = $29;$$301127 = $31;$$301537 = $1;$$31 = $25;$$311234 = $33;$$311340 = $27; + label = 56; + break; + } + case 40: { + $$271443 = $35;$$271634 = $4;$$311022 = $29;$$311128 = $31;$$311538 = $1;$$32 = $25;$$321235 = $33;$$321341 = $27; + label = 58; + break; + } + case 10: { + $$281444 = $35;$$281635 = $4;$$321023 = $29;$$321129 = $31;$$321539 = $1;$$33 = $25;$$331236 = $33;$$331342 = $27; + label = 60; + break; + } + case 11: { + $193 = ($9|0)>(0); + if ($193) { + $$321448$ph = $35;$$321639$ph = $4;$$361027$ph = $29;$$361133$ph = $31;$$37$ph = $25;$$371240$ph = $33;$$371346$ph = $27;$$sink1719 = $1; + label = 66; + } else { + $$311447 = $35;$$311638 = $4;$$351026 = $29;$$351132 = $31;$$351542 = $1;$$36 = $25;$$361239 = $33;$$361345 = $27; + label = 64; + } + break; + } + case 14: { + $224 = ($9|0)>(0); + if ($224) { + $$371453$ph = $35;$$371644$ph = $4;$$411032$ph = $29;$$411138$ph = $31;$$42$ph = $25;$$421245$ph = $33;$$421351$ph = $27;$$sink1722 = $1; + label = 75; + } else { + $$361452 = $35;$$361643 = $4;$$401031 = $29;$$401137 = $31;$$401547 = $1;$$41 = $25;$$411244 = $33;$$411350 = $27; + label = 73; + } + break; + } + case 35: { + $$401456 = $35;$$401647 = $4;$$441035 = $29;$$441141 = $31;$$441551 = $1;$$45 = $25;$$451248 = $33;$$451354 = $27; + label = 86; + break; + } + case 16: { + $452 = ($9|0)>(0); + if ($452) { + $$441460$ph = $35;$$441651$ph = $4;$$481039$ph = $29;$$481145$ph = $31;$$49$ph = $25;$$491252$ph = $33;$$491358$ph = $27;$$sink1729 = $1; + label = 116; + } else { + $$431459 = $35;$$431650 = $4;$$471038 = $29;$$471144 = $31;$$471554 = $1;$$48 = $25;$$481251 = $33;$$481357 = $27; + label = 114; + } + break; + } + case 17: { + $$461462 = $35;$$461653 = $4;$$491040 = $29;$$501147 = $31;$$501557 = $1;$$51 = $25;$$511254 = $33;$$511360 = $27; + label = 125; + break; + } + case 18: { + $503 = ($9|0)>(0); + if ($503) { + $$491465$ph = $35;$$491656$ph = $4;$$521043$ph = $29;$$531150$ph = $31;$$54$ph = $25;$$541257$ph = $33;$$541363$ph = $27;$$sink1732 = $1; + label = 130; + } else { + $$481464 = $35;$$481655 = $4;$$511042 = $29;$$521149 = $31;$$521559 = $1;$$53 = $25;$$531256 = $33;$$531362 = $27; + label = 128; + } + break; + } + case 21: { + $$511467 = $35;$$511658 = $4;$$541045 = $29;$$551152 = $31;$$551562 = $1;$$56 = $25;$$561259 = $33;$$561365 = $27; + label = 136; + break; + } + case 23: { + $572 = ($9|0)>(0); + if ($572) { + $$571473$ph = $35;$$571664$ph = $4;$$601051$ph = $29;$$611158$ph = $31;$$62$ph = $25;$$621265$ph = $33;$$621371$ph = $27;$$sink1736 = $1; + label = 153; + } else { + $$561472 = $35;$$561663 = $4;$$591050 = $29;$$601157 = $31;$$601567 = $1;$$61 = $25;$$611264 = $33;$$611370 = $27; + label = 151; + } + break; + } + case 24: { + $$591475 = $35;$$591666 = $4;$$621053 = $29;$$621159 = $31;$$631570 = $1;$$64 = $25;$$641267 = $33;$$641373 = $27; + label = 160; + break; + } + case 25: { + $696 = ($9|0)>(0); + if ($696) { + $$631479$ph = $35;$$641671$ph = $4;$$661057$ph = $29;$$671164$ph = $31;$$681271$ph = $33;$$71$ph = $25;$$711380$ph = $27;$$sink1739 = $1; + label = 182; + } else { + $$621478 = $35;$$631670 = $4;$$651056 = $29;$$661163 = $31;$$671270 = $33;$$691576 = $1;$$70 = $25;$$701379 = $27; + label = 180; + } + break; + } + case 26: { + $737 = ($9|0)>(0); + if ($737) { + $$681484$ph = $35;$$691676$ph = $4;$$711062$ph = $29;$$721169$ph = $31;$$731276$ph = $33;$$76$ph = $25;$$761385$ph = $27;$$sink1743 = $1; + label = 195; + } else { + $$671483 = $35;$$681675 = $4;$$701061 = $29;$$711168 = $31;$$721275 = $33;$$741581 = $1;$$75 = $25;$$751384 = $27; + label = 193; + } + break; + } + case 27: { + $784 = ($9|0)>(0); + if ($784) { + $$721488$ph = $35;$$731680$ph = $4;$$741065$ph = $29;$$761173$ph = $31;$$761279$ph = $33;$$80$ph = $25;$$801389$ph = $27;$$sink1746 = $1; + label = 206; + } else { + $$711487 = $35;$$721679 = $4;$$731064 = $29;$$751172 = $31;$$751278 = $33;$$781585 = $1;$$79 = $25;$$791388 = $27; + label = 204; + } + break; + } + case 37: { + $$731489 = $35;$$761683 = $4;$$771068 = $29;$$791176 = $31;$$791282 = $33;$$821589 = $1;$$83 = $25;$$831392 = $27; + label = 210; + break; + } + case 53: { + $$751491 = $35;$$781685 = $4;$$791070 = $29;$$811178 = $31;$$811284 = $33;$$841591 = $1;$$85 = $25;$$851394 = $27; + label = 213; + break; + } + case 32: { + $842 = ($9|0)>(0); + if ($842) { + $843 = ((($1)) + 1|0); + $844 = HEAP8[$1>>0]|0; + $845 = $844&255; + $$0949 = $845;$$881595 = $843; + } else { + $840 = $6 & 2; + $841 = ($840|0)==(0); + if ($841) { + $$0949 = 0;$$881595 = $1; + } else { + $$0960 = 1;$$891505 = $35;$$931084 = $29;$$931700 = $4;$$951192 = $31;$$951298 = $33;$$981605 = $1;$$99 = $25;$$991408 = $27;$$sink30 = 32; + label = 243; + break L5; + } + } + $846 = $$0949 << $25; + $847 = $846 | $27; + $848 = (($25) + 8)|0; + $$801496 = $35;$$841075 = $29;$$841691 = $4;$$861289 = $33;$$891596 = $$881595;$$90 = $848;$$901399 = $847; + label = 226; + break; + } + case 41: { + $858 = ($9|0)>(0); + if ($858) { + $$841500$ph = $35;$$881079$ph = $29;$$881695$ph = $4;$$901187$ph = $31;$$901293$ph = $33;$$94$ph = $25;$$941403$ph = $27;$$sink1750 = $1; + label = 233; + } else { + $$831499 = $35;$$871078 = $29;$$871694 = $4;$$891186 = $31;$$891292 = $33;$$921599 = $1;$$93 = $25;$$931402 = $27; + label = 231; + } + break; + } + case 42: { + $871 = ($9|0)>(0); + if ($871) { + $872 = ((($1)) + 1|0); + $873 = HEAP8[$1>>0]|0; + $874 = $873&255; + $$0948 = $874;$$871503 = $35;$$911082 = $29;$$911698 = $4;$$931190 = $31;$$931296 = $33;$$961603 = $872;$$97 = $25;$$971406 = $27; + label = 241; + } else { + $$861502 = $35;$$901081 = $29;$$901697 = $4;$$921189 = $31;$$921295 = $33;$$951602 = $1;$$96 = $25;$$961405 = $27; + label = 237; + } + break; + } + case 34: { + $$881504 = $35;$$921083 = $29;$$921699 = $4;$$941191 = $31;$$941297 = $33;$$971604 = $1;$$98 = $25;$$981407 = $27; + label = 242; + break; + } + default: { + $$100 = $25;$$1001409 = $27;$$1961 = -1;$$901506 = $35;$$941085 = $29;$$941701 = $4;$$961193 = $31;$$961299 = $33;$$991606 = $1; + label = 244; + } } } while(0); - $22 = ((($image)) + 4|0); - $23 = HEAP32[$22>>2]|0; - $j$0 = 0; - while(1) { - $24 = (($j$0) + ($y$0$lcssa))|0; - $25 = Math_imul($24, $23)|0; - $26 = (($25) + ($x$2))|0; - $27 = (($0) + ($26<<2)|0); - ;HEAP8[$$byval_copy4>>0]=HEAP8[$27>>0]|0;HEAP8[$$byval_copy4+1>>0]=HEAP8[$27+1>>0]|0;HEAP8[$$byval_copy4+2>>0]=HEAP8[$27+2>>0]|0;HEAP8[$$byval_copy4+3>>0]=HEAP8[$27+3>>0]|0; - $28 = (_PixelIsMagenta($$byval_copy4)|0); - $29 = ($28|0)==(0); - $30 = (($j$0) + 1)|0; - if ($29) { - $j$0 = $30; + if ((label|0) == 6) { + $44 = $6 & 2; + $45 = ($44|0)==(0); + if ($45) { + $$01507 = $1;$$11098 = $$01097;$$11204 = $$01203;$$11310 = $$01309;$$1988 = $$0987;$$1992 = $$0991;$$sink3$shrunk = 0; + label = 9; } else { - $$lcssa = $24;$j$0$lcssa = $j$0; - break; + $$0960 = 1;$$891505 = $35;$$931084 = $$0991;$$931700 = $4;$$951192 = $$01097;$$951298 = $$01203;$$981605 = $1;$$99 = $$0987;$$991408 = $$01309;$$sink30 = 1; + label = 243; } } - $31 = HEAP32[$1>>2]|0; - $32 = ($y$0$lcssa|0)<($31|0); - if ($32) { - $33 = HEAP32[$22>>2]|0; - $34 = ($x$2|0)<($33|0); - $35 = HEAP32[$1>>2]|0; - $37 = $y$0$lcssa;$index$012 = 0;$lineToRead$013 = 0; - while(1) { - L20: do { - if ($34) { - $36 = Math_imul($33, $37)|0; - $38 = Math_imul($33, $37)|0; - $index$17 = $index$012;$xPosToRead$18 = $x$2; - while(1) { - $39 = (($38) + ($xPosToRead$18))|0; - $40 = (($0) + ($39<<2)|0); - ;HEAP8[$$byval_copy4>>0]=HEAP8[$40>>0]|0;HEAP8[$$byval_copy4+1>>0]=HEAP8[$40+1>>0]|0;HEAP8[$$byval_copy4+2>>0]=HEAP8[$40+2>>0]|0;HEAP8[$$byval_copy4+3>>0]=HEAP8[$40+3>>0]|0; - $41 = (_PixelIsMagenta($$byval_copy4)|0); - $42 = ($41|0)==(0); - if (!($42)) { - $index$1$lcssa = $index$17; - break L20; - } - $43 = (($index$17) + 32)|0; - $44 = (($tempCharValues) + ($index$17<<2)|0); - HEAP32[$44>>2] = $43; - $45 = (($tempCharRecs) + ($index$17<<4)|0); - HEAP32[$45>>2] = $xPosToRead$18; - $46 = (((($tempCharRecs) + ($index$17<<4)|0)) + 4|0); - HEAP32[$46>>2] = $37; - $47 = (((($tempCharRecs) + ($index$17<<4)|0)) + 12|0); - HEAP32[$47>>2] = $j$0$lcssa; - $charWidth$0 = 0; - while(1) { - $48 = (($charWidth$0) + ($xPosToRead$18))|0; - $49 = (($48) + ($36))|0; - $50 = (($0) + ($49<<2)|0); - ;HEAP8[$$byval_copy4>>0]=HEAP8[$50>>0]|0;HEAP8[$$byval_copy4+1>>0]=HEAP8[$50+1>>0]|0;HEAP8[$$byval_copy4+2>>0]=HEAP8[$50+2>>0]|0;HEAP8[$$byval_copy4+3>>0]=HEAP8[$50+3>>0]|0; - $51 = (_PixelIsMagenta($$byval_copy4)|0); - $52 = ($51|0)==(0); - $53 = (($charWidth$0) + 1)|0; - if ($52) { - $charWidth$0 = $53; - } else { - $charWidth$0$lcssa = $charWidth$0; - break; - } - } - $54 = (((($tempCharRecs) + ($index$17<<4)|0)) + 8|0); - HEAP32[$54>>2] = $charWidth$0$lcssa; - $55 = (($index$17) + 1)|0; - $56 = (($xPosToRead$18) + ($x$2))|0; - $57 = (($56) + ($charWidth$0$lcssa))|0; - $58 = ($57|0)<($33|0); - if ($58) { - $index$17 = $55;$xPosToRead$18 = $57; - } else { - $index$1$lcssa = $55; - break; - } - } + else if ((label|0) == 8) { + $47 = ((($1)) + 1|0); + $48 = HEAP8[$1>>0]|0; + $$01507 = $47;$$11098 = $$11098$ph;$$11204 = $$11204$ph;$$11310 = $$11310$ph;$$1988 = $$1988$ph;$$1992 = $$1992$ph;$$sink3$shrunk = $48; + label = 9; + } + if ((label|0) == 9) { + $$sink3 = $$sink3$shrunk&255; + $49 = ((($0)) + 8|0); + HEAP32[$49>>2] = $$sink3; + $50 = ($$01507>>>0)<($10>>>0); + if ($50) { + $$31206$ph = $$11204;$$31312$ph = $$11310;$$3990$ph = $$1988;$$3994$ph = $$1992;$$sink1705 = $$01507; + label = 12; + } else { + $$11508 = $$01507;$$21099 = $$11098;$$21205 = $$11204;$$21311 = $$11310;$$2989 = $$1988;$$2993 = $$1992; + label = 10; + } + } + if ((label|0) == 10) { + $51 = $6 & 2; + $52 = ($51|0)==(0); + if ($52) { + $$21509 = $$11508;$$31206 = $$21205;$$31312 = $$21311;$$3990 = $$2989;$$3994 = $$2993;$$sink9$shrunk = 0; + label = 13; + } else { + $$0960 = 1;$$891505 = $35;$$931084 = $$2993;$$931700 = $4;$$951192 = $$21099;$$951298 = $$21205;$$981605 = $$11508;$$99 = $$2989;$$991408 = $$21311;$$sink30 = 2; + label = 243; + } + } + else if ((label|0) == 12) { + $54 = ((($$sink1705)) + 1|0); + $55 = HEAP8[$$sink1705>>0]|0; + $$21509 = $54;$$31206 = $$31206$ph;$$31312 = $$31312$ph;$$3990 = $$3990$ph;$$3994 = $$3994$ph;$$sink9$shrunk = $55; + label = 13; + } + if ((label|0) == 13) { + $$sink9 = $$sink9$shrunk&255; + $56 = ((($0)) + 12|0); + HEAP32[$56>>2] = $$sink9; + $57 = ((($0)) + 8|0); + $58 = HEAP32[$57>>2]|0; + $59 = $58 << 8; + $60 = $59 | $$sink9; + $61 = (($60>>>0) % 31)&-1; + $62 = $$sink9 & 32; + $63 = $61 | $62; + $64 = $58 & 15; + $65 = ($64|0)!=(8); + $not$ = ($63|0)!=(0); + $$1754 = $65 | $not$; + $66 = $58 >>> 4; + $67 = 256 << $66; + $68 = ($67>>>0)>(32768); + $69 = ($20>>>0)<($67>>>0); + $$ = $68 | $69; + $not$1755 = $14 ^ 1; + $70 = $$ & $not$1755; + $$31100$v = $70 | $$1754; + if ($$31100$v) { + $$0960 = -1;$$891505 = $35;$$931084 = $$3994;$$931700 = $4;$$951192 = 1;$$951298 = $$31206;$$981605 = $$21509;$$99 = $$3990;$$991408 = $$31312;$$sink30 = 36; + label = 243; + } else { + $$01416 = $35;$$01607 = $4;$$41511 = $$21509;$$5 = $$3990;$$51102 = 0;$$51208 = $$31206;$$51314 = $$31312;$$5996 = $$3994; + label = 14; + } + } + L46: while(1) { + switch (label|0) { + case 14: { + label = 0; + $71 = ($$5>>>0)<(3); + if ($71) { + $$11417 = $$01416;$$11608 = $$01607;$$51512 = $$41511;$$6 = $$5;$$61103 = $$51102;$$61209 = $$51208;$$61315 = $$51314;$$6997 = $$5996; + label = 15; } else { - $index$1$lcssa = $index$012; + $$41420 = $$01416;$$41611 = $$01607;$$81515 = $$41511;$$9 = $$5;$$91000 = $$5996;$$91106 = $$51102;$$91212 = $$51208;$$91318 = $$51314; + label = 20; + } + break; + } + case 16: { + label = 0; + $73 = $6 & 2; + $74 = ($73|0)==(0); + if ($74) { + $$01413$shrunk = 0;$$31419 = $$21418;$$31610 = $$21609;$$71514 = $$61513;$$8 = $$7;$$81105 = $$71104;$$81211 = $$71210;$$81317 = $$71316;$$8999 = $$7998; + label = 19; + } else { + $$0960 = 1;$$891505 = $$21418;$$931084 = $$7998;$$931700 = $$21609;$$951192 = $$71104;$$951298 = $$71210;$$981605 = $$61513;$$99 = $$7;$$991408 = $$71316;$$sink30 = 3; + label = 243; + continue L46; + } + break; + } + case 18: { + label = 0; + $76 = ((($$sink1710)) + 1|0); + $77 = HEAP8[$$sink1710>>0]|0; + $$01413$shrunk = $77;$$31419 = $$31419$ph;$$31610 = $$31610$ph;$$71514 = $76;$$8 = $$8$ph;$$81105 = $$81105$ph;$$81211 = $$81211$ph;$$81317 = $$81317$ph;$$8999 = $$8999$ph; + label = 19; + break; + } + case 25: { + label = 0; + $97 = $$13 & 7; + $98 = $$131322 >>> $97; + $99 = (($$13) - ($97))|0; + $$131110 = 0;$$131520 = $$121519;$$14 = $99;$$141005 = $$131004;$$141217 = $$131216;$$141323 = $98;$$91425 = $$81424;$$91616 = $$81615; + label = 26; + break; + } + case 30: { + label = 0; + $104 = $6 & 2; + $105 = ($104|0)==(0); + if ($105) { + $$01411$shrunk = 0;$$121428 = $$111427;$$121619 = $$111618;$$161113 = $$151112;$$161523 = $$151522;$$17 = $$16;$$171008 = $$161007;$$171220 = $$161219;$$171326 = $$161325; + label = 33; + } else { + $$0960 = 1;$$891505 = $$111427;$$931084 = $$161007;$$931700 = $$111618;$$951192 = $$151112;$$951298 = $$161219;$$981605 = $$151522;$$99 = $$16;$$991408 = $$161325;$$sink30 = 6; + label = 243; + continue L46; + } + break; + } + case 32: { + label = 0; + $107 = ((($$sink1713)) + 1|0); + $108 = HEAP8[$$sink1713>>0]|0; + $$01411$shrunk = $108;$$121428 = $$121428$ph;$$121619 = $$121619$ph;$$161113 = $$161113$ph;$$161523 = $107;$$17 = $$17$ph;$$171008 = $$171008$ph;$$171220 = $$171220$ph;$$171326 = $$171326$ph; + label = 33; + break; + } + case 36: { + label = 0; + $118 = $6 & 2; + $119 = ($118|0)==(0); + if ($119) { + $$151431 = $$141430;$$151622 = $$141621;$$191116 = $$181115;$$191526 = $$181525;$$20 = $$19;$$201011 = $$191010;$$201223 = $$191222;$$201329 = $$191328;$$sink12 = 0; + label = 39; + continue L46; + } else { + $$0960 = 1;$$891505 = $$141430;$$931084 = $$191010;$$931700 = $$141621;$$951192 = $$181115;$$951298 = $$191222;$$981605 = $$181525;$$99 = $$19;$$991408 = $$191328;$$sink30 = 7; + label = 243; + continue L46; + } + break; + } + case 39: { + label = 0; + $$sink13 = (((($0)) + 10528|0) + ($$191116)|0); + HEAP8[$$sink13>>0] = $$sink12; + $$161432 = $$151431;$$161623 = $$151622;$$201117 = $$191116;$$201527 = $$191526;$$21 = $$20;$$211012 = $$201011;$$211224 = $$201223;$$211330 = $$201329; + label = 41; + break; + } + case 43: { + label = 0; + $$0960 = -1;$$891505 = $$171433;$$931084 = $$221013;$$931700 = $$171624;$$951192 = $$211118;$$951298 = $$221225;$$981605 = $$211528;$$99 = $$22;$$991408 = $$221331;$$sink30 = 39; + label = 243; + continue L46; + break; + } + case 47: { + label = 0; + $150 = $6 & 2; + $151 = ($150|0)==(0); + if ($151) { + $$01410$shrunk = 0;$$211437 = $$201436;$$211628 = $$201627;$$251122 = $$241121;$$251532 = $$241531;$$26 = $$25;$$261017 = $$251016;$$261229 = $$251228;$$261335 = $$251334; + label = 50; + } else { + $$0960 = 1;$$891505 = $$201436;$$931084 = $$251016;$$931700 = $$201627;$$951192 = $$241121;$$951298 = $$251228;$$981605 = $$241531;$$99 = $$25;$$991408 = $$251334;$$sink30 = 51; + label = 243; + continue L46; + } + break; + } + case 49: { + label = 0; + $153 = ((($$sink1716)) + 1|0); + $154 = HEAP8[$$sink1716>>0]|0; + $$01410$shrunk = $154;$$211437 = $$211437$ph;$$211628 = $$211628$ph;$$251122 = $$251122$ph;$$251532 = $153;$$26 = $$26$ph;$$261017 = $$261017$ph;$$261229 = $$261229$ph;$$261335 = $$261335$ph; + label = 50; + break; + } + case 52: { + label = 0; + $162 = ($$231630>>>0)<($12>>>0); + if (!($162)) { + $$0960 = 2;$$891505 = $$231439;$$931084 = $$271018;$$931700 = $$231630;$$951192 = $$271124;$$951298 = $$281231;$$981605 = $$271534;$$99 = $$28;$$991408 = $$281337;$$sink30 = 52; + label = 243; + continue L46; + } + $163 = $$271018&255; + $164 = ((($$231630)) + 1|0); + HEAP8[$$231630>>0] = $163; + $165 = (($$271124) + -1)|0; + $$181434 = $$231439;$$181625 = $164;$$221119 = $165;$$221529 = $$271534;$$23 = $$28;$$231014 = $$271018;$$231226 = $$281231;$$231332 = $$281337; + label = 44; + break; + } + case 55: { + label = 0; + $167 = ($$251632>>>0)<($12>>>0); + if ($167) { + $$261442 = $$251441;$$261633 = $$251632;$$301021 = $$291020;$$301127 = $$291126;$$301537 = $$291536;$$31 = $$30;$$311234 = $$301233;$$311340 = $$301339; + label = 56; + continue L46; + } else { + $$0960 = 2;$$891505 = $$251441;$$931084 = $$291020;$$931700 = $$251632;$$951192 = $$291126;$$951298 = $$301233;$$981605 = $$291536;$$99 = $$30;$$991408 = $$301339;$$sink30 = 9; + label = 243; + continue L46; + } + break; + } + case 56: { + label = 0; + $168 = ($$301537>>>0)<($10>>>0); + if ($168) { + $171 = $12; + $172 = $$261633; + $173 = (($171) - ($172))|0; + $174 = $10; + $175 = $$301537; + $176 = (($174) - ($175))|0; + $177 = ($173>>>0)<($176>>>0); + $$sink17 = $177 ? $12 : $10; + $$sink16 = $177 ? $$261633 : $$301537; + $178 = $$sink17; + $179 = $$sink16; + $180 = (($178) - ($179))|0; + $181 = ($180>>>0)<($$301127>>>0); + $$$301127 = $181 ? $180 : $$301127; + _memcpy(($$261633|0),($$301537|0),($$$301127|0))|0; + $182 = (($$301537) + ($$$301127)|0); + $183 = (($$261633) + ($$$301127)|0); + $184 = (($$301127) - ($$$301127))|0; + $$241440 = $$261442;$$241631 = $183;$$281019 = $$301021;$$281125 = $184;$$281535 = $182;$$29 = $$31;$$291232 = $$311234;$$291338 = $$311340; + label = 54; + break; + } else { + $169 = $6 & 2; + $170 = ($169|0)==(0); + if ($170) { + $$271443 = $$261442;$$271634 = $$261633;$$311022 = $$301021;$$311128 = $$301127;$$311538 = $$301537;$$32 = $$31;$$321235 = $$311234;$$321341 = $$311340; + label = 58; + continue L46; + } else { + $$0960 = 1;$$891505 = $$261442;$$931084 = $$301021;$$931700 = $$261633;$$951192 = $$301127;$$951298 = $$311234;$$981605 = $$301537;$$99 = $$31;$$991408 = $$311340;$$sink30 = 38; + label = 243; + continue L46; + } + } + break; + } + case 58: { + label = 0; + $$0960 = -1;$$891505 = $$271443;$$931084 = $$311022;$$931700 = $$271634;$$951192 = $$311128;$$951298 = $$321235;$$981605 = $$311538;$$99 = $$32;$$991408 = $$321341;$$sink30 = 40; + label = 243; + continue L46; + break; + } + case 60: { + label = 0; + $$0960 = -1;$$891505 = $$281444;$$931084 = $$321023;$$931700 = $$281635;$$951192 = $$321129;$$951298 = $$331236;$$981605 = $$321539;$$99 = $$33;$$991408 = $$331342;$$sink30 = 10; + label = 243; + continue L46; + break; + } + case 64: { + label = 0; + $191 = $6 & 2; + $192 = ($191|0)==(0); + if ($192) { + $$01300$shrunk = 0;$$321448 = $$311447;$$321639 = $$311638;$$361027 = $$351026;$$361133 = $$351132;$$361543 = $$351542;$$37 = $$36;$$371240 = $$361239;$$371346 = $$361345; + label = 67; + } else { + $$0960 = 1;$$891505 = $$311447;$$931084 = $$351026;$$931700 = $$311638;$$951192 = $$351132;$$951298 = $$361239;$$981605 = $$351542;$$99 = $$36;$$991408 = $$361345;$$sink30 = 11; + label = 243; + continue L46; + } + break; + } + case 66: { + label = 0; + $194 = ((($$sink1719)) + 1|0); + $195 = HEAP8[$$sink1719>>0]|0; + $$01300$shrunk = $195;$$321448 = $$321448$ph;$$321639 = $$321639$ph;$$361027 = $$361027$ph;$$361133 = $$361133$ph;$$361543 = $194;$$37 = $$37$ph;$$371240 = $$371240$ph;$$371346 = $$371346$ph; + label = 67; + break; + } + case 73: { + label = 0; + $222 = $6 & 2; + $223 = ($222|0)==(0); + if ($223) { + $$01202$shrunk = 0;$$371453 = $$361452;$$371644 = $$361643;$$411032 = $$401031;$$411138 = $$401137;$$411548 = $$401547;$$42 = $$41;$$421245 = $$411244;$$421351 = $$411350; + label = 76; + } else { + $$0960 = 1;$$891505 = $$361452;$$931084 = $$401031;$$931700 = $$361643;$$951192 = $$401137;$$951298 = $$411244;$$981605 = $$401547;$$99 = $$41;$$991408 = $$411350;$$sink30 = 14; + label = 243; + continue L46; + } + break; + } + case 75: { + label = 0; + $225 = ((($$sink1722)) + 1|0); + $226 = HEAP8[$$sink1722>>0]|0; + $$01202$shrunk = $226;$$371453 = $$371453$ph;$$371644 = $$371644$ph;$$411032 = $$411032$ph;$$411138 = $$411138$ph;$$411548 = $225;$$42 = $$42$ph;$$421245 = $$421245$ph;$$421351 = $$421351$ph; + label = 76; + break; + } + case 86: { + label = 0; + $$0960 = -1;$$891505 = $$401456;$$931084 = $$441035;$$931700 = $$401647;$$951192 = $$441141;$$951298 = $$451248;$$981605 = $$441551;$$99 = $$45;$$991408 = $$451354;$$sink30 = 35; + label = 243; + continue L46; + break; + } + case 114: { + label = 0; + $450 = $6 & 2; + $451 = ($450|0)==(0); + if ($451) { + $$0980$shrunk = 0;$$441460 = $$431459;$$441651 = $$431650;$$481039 = $$471038;$$481145 = $$471144;$$481555 = $$471554;$$49 = $$48;$$491252 = $$481251;$$491358 = $$481357; + label = 117; + } else { + $$0960 = 1;$$891505 = $$431459;$$931084 = $$471038;$$931700 = $$431650;$$951192 = $$471144;$$951298 = $$481251;$$981605 = $$471554;$$99 = $$48;$$991408 = $$481357;$$sink30 = 16; + label = 243; + continue L46; + } + break; + } + case 116: { + label = 0; + $453 = ((($$sink1729)) + 1|0); + $454 = HEAP8[$$sink1729>>0]|0; + $$0980$shrunk = $454;$$441460 = $$441460$ph;$$441651 = $$441651$ph;$$481039 = $$481039$ph;$$481145 = $$481145$ph;$$481555 = $453;$$49 = $$49$ph;$$491252 = $$491252$ph;$$491358 = $$491358$ph; + label = 117; + break; + } + case 125: { + label = 0; + $$0960 = -1;$$891505 = $$461462;$$931084 = $$491040;$$931700 = $$461653;$$951192 = $$501147;$$951298 = $$511254;$$981605 = $$501557;$$99 = $$51;$$991408 = $$511360;$$sink30 = 17; + label = 243; + continue L46; + break; + } + case 128: { + label = 0; + $501 = $6 & 2; + $502 = ($501|0)==(0); + if ($502) { + $$0979$shrunk = 0;$$491465 = $$481464;$$491656 = $$481655;$$521043 = $$511042;$$531150 = $$521149;$$531560 = $$521559;$$54 = $$53;$$541257 = $$531256;$$541363 = $$531362; + label = 131; + } else { + $$0960 = 1;$$891505 = $$481464;$$931084 = $$511042;$$931700 = $$481655;$$951192 = $$521149;$$951298 = $$531256;$$981605 = $$521559;$$99 = $$53;$$991408 = $$531362;$$sink30 = 18; + label = 243; + continue L46; + } + break; + } + case 130: { + label = 0; + $504 = ((($$sink1732)) + 1|0); + $505 = HEAP8[$$sink1732>>0]|0; + $$0979$shrunk = $505;$$491465 = $$491465$ph;$$491656 = $$491656$ph;$$521043 = $$521043$ph;$$531150 = $$531150$ph;$$531560 = $504;$$54 = $$54$ph;$$541257 = $$541257$ph;$$541363 = $$541363$ph; + label = 131; + break; + } + case 136: { + label = 0; + $$0960 = -1;$$891505 = $$511467;$$931084 = $$541045;$$931700 = $$511658;$$951192 = $$551152;$$951298 = $$561259;$$981605 = $$551562;$$99 = $$56;$$991408 = $$561365;$$sink30 = 21; + label = 243; + continue L46; + break; + } + case 151: { + label = 0; + $570 = $6 & 2; + $571 = ($570|0)==(0); + if ($571) { + $$0971$shrunk = 0;$$571473 = $$561472;$$571664 = $$561663;$$601051 = $$591050;$$611158 = $$601157;$$611568 = $$601567;$$62 = $$61;$$621265 = $$611264;$$621371 = $$611370; + label = 154; + } else { + $$0960 = 1;$$891505 = $$561472;$$931084 = $$591050;$$931700 = $$561663;$$951192 = $$601157;$$951298 = $$611264;$$981605 = $$601567;$$99 = $$61;$$991408 = $$611370;$$sink30 = 23; + label = 243; + continue L46; + } + break; + } + case 153: { + label = 0; + $573 = ((($$sink1736)) + 1|0); + $574 = HEAP8[$$sink1736>>0]|0; + $$0971$shrunk = $574;$$571473 = $$571473$ph;$$571664 = $$571664$ph;$$601051 = $$601051$ph;$$611158 = $$611158$ph;$$611568 = $573;$$62 = $$62$ph;$$621265 = $$621265$ph;$$621371 = $$621371$ph; + label = 154; + break; + } + case 160: { + label = 0; + $610 = ($$591666>>>0)<($12>>>0); + if (!($610)) { + $$0960 = 2;$$891505 = $$591475;$$931084 = $$621053;$$931700 = $$591666;$$951192 = $$621159;$$951298 = $$641267;$$981605 = $$631570;$$99 = $$64;$$991408 = $$641373;$$sink30 = 24; + label = 243; + continue L46; + } + $611 = $$621159&255; + $612 = ((($$591666)) + 1|0); + HEAP8[$$591666>>0] = $611; + $$541470$ph = $$591475;$$541661$ph = $612;$$571048$ph = $$621053;$$581155$ph = $$621159;$$581565$ph = $$631570;$$59$ph = $$64;$$591262$ph = $$641267;$$591368$ph = $$641373; + label = 140; + break; + } + case 180: { + label = 0; + $694 = $6 & 2; + $695 = ($694|0)==(0); + if ($695) { + $$0959$shrunk = 0;$$631479 = $$621478;$$641671 = $$631670;$$661057 = $$651056;$$671164 = $$661163;$$681271 = $$671270;$$701577 = $$691576;$$71 = $$70;$$711380 = $$701379; + label = 183; + } else { + $$0960 = 1;$$891505 = $$621478;$$931084 = $$651056;$$931700 = $$631670;$$951192 = $$661163;$$951298 = $$671270;$$981605 = $$691576;$$99 = $$70;$$991408 = $$701379;$$sink30 = 25; + label = 243; + continue L46; + } + break; + } + case 182: { + label = 0; + $697 = ((($$sink1739)) + 1|0); + $698 = HEAP8[$$sink1739>>0]|0; + $$0959$shrunk = $698;$$631479 = $$631479$ph;$$641671 = $$641671$ph;$$661057 = $$661057$ph;$$671164 = $$671164$ph;$$681271 = $$681271$ph;$$701577 = $697;$$71 = $$71$ph;$$711380 = $$711380$ph; + label = 183; + break; + } + case 193: { + label = 0; + $735 = $6 & 2; + $736 = ($735|0)==(0); + if ($736) { + $$0952$shrunk = 0;$$681484 = $$671483;$$691676 = $$681675;$$711062 = $$701061;$$721169 = $$711168;$$731276 = $$721275;$$751582 = $$741581;$$76 = $$75;$$761385 = $$751384; + label = 196; + } else { + $$0960 = 1;$$891505 = $$671483;$$931084 = $$701061;$$931700 = $$681675;$$951192 = $$711168;$$951298 = $$721275;$$981605 = $$741581;$$99 = $$75;$$991408 = $$751384;$$sink30 = 26; + label = 243; + continue L46; + } + break; + } + case 195: { + label = 0; + $738 = ((($$sink1743)) + 1|0); + $739 = HEAP8[$$sink1743>>0]|0; + $$0952$shrunk = $739;$$681484 = $$681484$ph;$$691676 = $$691676$ph;$$711062 = $$711062$ph;$$721169 = $$721169$ph;$$731276 = $$731276$ph;$$751582 = $738;$$76 = $$76$ph;$$761385 = $$761385$ph; + label = 196; + break; + } + case 204: { + label = 0; + $782 = $6 & 2; + $783 = ($782|0)==(0); + if ($783) { + $$0950$shrunk = 0;$$721488 = $$711487;$$731680 = $$721679;$$741065 = $$731064;$$761173 = $$751172;$$761279 = $$751278;$$791586 = $$781585;$$80 = $$79;$$801389 = $$791388; + label = 207; + } else { + $$0960 = 1;$$891505 = $$711487;$$931084 = $$731064;$$931700 = $$721679;$$951192 = $$751172;$$951298 = $$751278;$$981605 = $$781585;$$99 = $$79;$$991408 = $$791388;$$sink30 = 27; + label = 243; + continue L46; + } + break; + } + case 206: { + label = 0; + $785 = ((($$sink1746)) + 1|0); + $786 = HEAP8[$$sink1746>>0]|0; + $$0950$shrunk = $786;$$721488 = $$721488$ph;$$731680 = $$731680$ph;$$741065 = $$741065$ph;$$761173 = $$761173$ph;$$761279 = $$761279$ph;$$791586 = $785;$$80 = $$80$ph;$$801389 = $$801389$ph; + label = 207; + break; + } + case 210: { + label = 0; + $$0960 = -1;$$891505 = $$731489;$$931084 = $$771068;$$931700 = $$761683;$$951192 = $$791176;$$951298 = $$791282;$$981605 = $$821589;$$99 = $$83;$$991408 = $$831392;$$sink30 = 37; + label = 243; + continue L46; + break; + } + case 213: { + label = 0; + $809 = ($$781685>>>0)<($12>>>0); + if (!($809)) { + $$0960 = 2;$$891505 = $$751491;$$931084 = $$791070;$$931700 = $$781685;$$951192 = $$811178;$$951298 = $$811284;$$981605 = $$841591;$$99 = $$85;$$991408 = $$851394;$$sink30 = 53; + label = 243; + continue L46; + } + $810 = (($$751491) + 1)|0; + $811 = (($$751491) - ($$791070))|0; + $812 = $811 & $$1753; + $813 = (($3) + ($812)|0); + $814 = HEAP8[$813>>0]|0; + $815 = ((($$781685)) + 1|0); + HEAP8[$$781685>>0] = $814; + $$741490 = $810;$$771684 = $815;$$781069 = $$791070;$$801177 = $$811178;$$801283 = $$811284;$$831590 = $$841591;$$84 = $$85;$$841393 = $$851394; + label = 212; + break; + } + case 226: { + label = 0; + $849 = $$90 & 7; + $850 = $$901399 >>> $849; + $851 = (($$90) - ($849))|0; + $$811497 = $$801496;$$851076 = $$841075;$$851692 = $$841691;$$871184 = 0;$$871290 = $$861289;$$901597 = $$891596;$$91 = $851;$$911400 = $850; + label = 227; + break; + } + case 231: { + label = 0; + $856 = $6 & 2; + $857 = ($856|0)==(0); + if ($857) { + $$0947$shrunk = 0;$$841500 = $$831499;$$881079 = $$871078;$$881695 = $$871694;$$901187 = $$891186;$$901293 = $$891292;$$931600 = $$921599;$$94 = $$93;$$941403 = $$931402; + label = 234; + } else { + $$0960 = 1;$$891505 = $$831499;$$931084 = $$871078;$$931700 = $$871694;$$951192 = $$891186;$$951298 = $$891292;$$981605 = $$921599;$$99 = $$93;$$991408 = $$931402;$$sink30 = 41; + label = 243; + continue L46; + } + break; + } + case 233: { + label = 0; + $859 = ((($$sink1750)) + 1|0); + $860 = HEAP8[$$sink1750>>0]|0; + $$0947$shrunk = $860;$$841500 = $$841500$ph;$$881079 = $$881079$ph;$$881695 = $$881695$ph;$$901187 = $$901187$ph;$$901293 = $$901293$ph;$$931600 = $859;$$94 = $$94$ph;$$941403 = $$941403$ph; + label = 234; + break; + } + case 237: { + label = 0; + $869 = $6 & 2; + $870 = ($869|0)==(0); + if ($870) { + $$0948 = 0;$$871503 = $$861502;$$911082 = $$901081;$$911698 = $$901697;$$931190 = $$921189;$$931296 = $$921295;$$961603 = $$951602;$$97 = $$96;$$971406 = $$961405; + label = 241; + continue L46; + } else { + $$0960 = 1;$$891505 = $$861502;$$931084 = $$901081;$$931700 = $$901697;$$951192 = $$921189;$$951298 = $$921295;$$981605 = $$951602;$$99 = $$96;$$991408 = $$961405;$$sink30 = 42; + label = 243; + continue L46; + } + break; + } + case 241: { + label = 0; + $878 = ((($0)) + 16|0); + $879 = HEAP32[$878>>2]|0; + $880 = $879 << 8; + $881 = $880 | $$0948; + HEAP32[$878>>2] = $881; + $882 = (($$931190) + 1)|0; + $$811497 = $$871503;$$851076 = $$911082;$$851692 = $$911698;$$871184 = $882;$$871290 = $$931296;$$901597 = $$961603;$$91 = $$97;$$911400 = $$971406; + label = 227; + break; + } + case 242: { + label = 0; + $$0960 = 0;$$891505 = $$881504;$$931084 = $$921083;$$931700 = $$921699;$$951192 = $$941191;$$951298 = $$941297;$$981605 = $$971604;$$99 = $$98;$$991408 = $$981407;$$sink30 = 34; + label = 243; + continue L46; + break; + } + case 243: { + label = 0; + HEAP32[$0>>2] = $$sink30; + $$100 = $$99;$$1001409 = $$991408;$$1961 = $$0960;$$901506 = $$891505;$$941085 = $$931084;$$941701 = $$931700;$$961193 = $$951192;$$961299 = $$951298;$$991606 = $$981605; + label = 244; + continue L46; + break; + } + case 244: { + label = 0; + HEAP32[$24>>2] = $$100; + HEAP32[$26>>2] = $$1001409; + HEAP32[$28>>2] = $$941085; + HEAP32[$30>>2] = $$961193; + HEAP32[$32>>2] = $$961299; + HEAP32[$34>>2] = $$901506; + $883 = $$991606; + $884 = $1; + $885 = (($883) - ($884))|0; + HEAP32[$2>>2] = $885; + $886 = $$941701; + $887 = $4; + $888 = (($886) - ($887))|0; + HEAP32[$5>>2] = $888; + $889 = $6 & 9; + $890 = ($889|0)!=(0); + $891 = ($$1961|0)>(-1); + $or$cond29 = $890 & $891; + if ($or$cond29) { + break L46; + } else { + $$0951 = $$1961; + label = 258; + break L46; } - } while(0); - $59 = (($lineToRead$013) + 1)|0; - $60 = Math_imul($59, $$lcssa)|0; - $61 = (($60) + ($y$0$lcssa))|0; - $62 = ($61|0)<($35|0); - if ($62) { - $37 = $61;$index$012 = $index$1$lcssa;$lineToRead$013 = $59; - } else { - $index$0$lcssa = $index$1$lcssa; break; } } - } else { - $index$0$lcssa = 0; - } - _free($0); - $63 = $index$0$lcssa << 4; - $64 = (_malloc($63)|0); - HEAP32[$charRecs>>2] = $64; - $65 = $index$0$lcssa << 2; - $66 = (_malloc($65)|0); - HEAP32[$charValues>>2] = $66; - $67 = ($index$0$lcssa|0)>(0); - if ($67) { - $i$06 = 0; - } else { - STACKTOP = sp;return ($index$0$lcssa|0); - } - while(1) { - $68 = (($tempCharValues) + ($i$06<<2)|0); - $69 = HEAP32[$68>>2]|0; - $70 = HEAP32[$charValues>>2]|0; - $71 = (($70) + ($i$06<<2)|0); - HEAP32[$71>>2] = $69; - $72 = HEAP32[$charRecs>>2]|0; - $73 = (($72) + ($i$06<<4)|0); - $74 = (($tempCharRecs) + ($i$06<<4)|0); - ;HEAP32[$73>>2]=HEAP32[$74>>2]|0;HEAP32[$73+4>>2]=HEAP32[$74+4>>2]|0;HEAP32[$73+8>>2]=HEAP32[$74+8>>2]|0;HEAP32[$73+12>>2]=HEAP32[$74+12>>2]|0; - $75 = (($i$06) + 1)|0; - $exitcond = ($75|0)==($index$0$lcssa|0); - if ($exitcond) { - break; - } else { - $i$06 = $75; - } - } - STACKTOP = sp;return ($index$0$lcssa|0); -} -function _stbi__fopen($filename) { - $filename = $filename|0; - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_fopen($filename,19734)|0); - return ($0|0); -} -function _stbi__err($str) { - $str = $str|0; - var label = 0, sp = 0; - sp = STACKTOP; - HEAP32[5704>>2] = $str; - return; -} -function _stbi__start_file($s,$f) { - $s = $s|0; - $f = $f|0; - var label = 0, sp = 0; - sp = STACKTOP; - _stbi__start_callbacks($s,8616,$f); - return; -} -function _stbi__load_flip($s,$x,$y,$comp,$req_comp) { - $s = $s|0; - $x = $x|0; - $y = $y|0; - $comp = $comp|0; - $req_comp = $req_comp|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $col$04 = 0, $exitcond = 0, $exitcond7 = 0, $exitcond8 = 0, $or$cond = 0, $row$06 = 0, $z$03 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_stbi__load_main($s,$x,$y,$comp,$req_comp)|0); - $1 = HEAP32[5708>>2]|0; - $2 = ($1|0)!=(0); - $3 = ($0|0)!=(0|0); - $or$cond = $3 & $2; - if (!($or$cond)) { - return ($0|0); - } - $4 = HEAP32[$x>>2]|0; - $5 = HEAP32[$y>>2]|0; - $6 = ($req_comp|0)==(0); - if ($6) { - $7 = HEAP32[$comp>>2]|0; - $11 = $7; - } else { - $11 = $req_comp; - } - $8 = $5 >> 1; - $9 = ($8|0)>(0); - if (!($9)) { - return ($0|0); - } - $10 = ($4|0)>(0); - $12 = ($11|0)>(0); - $13 = (($5) + -1)|0; - $row$06 = 0; - while(1) { - if ($10) { - $14 = Math_imul($row$06, $4)|0; - $15 = (($13) - ($row$06))|0; - $16 = Math_imul($15, $4)|0; - $col$04 = 0; - while(1) { - if ($12) { - $17 = (($col$04) + ($14))|0; - $18 = Math_imul($17, $11)|0; - $19 = (($col$04) + ($16))|0; - $20 = Math_imul($19, $11)|0; - $z$03 = 0; - while(1) { - $21 = (($z$03) + ($18))|0; - $22 = (($0) + ($21)|0); - $23 = HEAP8[$22>>0]|0; - $24 = (($z$03) + ($20))|0; - $25 = (($0) + ($24)|0); - $26 = HEAP8[$25>>0]|0; - HEAP8[$22>>0] = $26; - HEAP8[$25>>0] = $23; - $27 = (($z$03) + 1)|0; - $exitcond = ($27|0)==($11|0); - if ($exitcond) { - break; - } else { - $z$03 = $27; - } + switch (label|0) { + case 19: { + label = 0; + $$01413 = $$01413$shrunk&255; + $78 = $$01413 << $$8; + $79 = $78 | $$81317; + $80 = (($$8) + 8)|0; + $81 = ($80>>>0)<(3); + if ($81) { + $$11417 = $$31419;$$11608 = $$31610;$$51512 = $$71514;$$6 = $80;$$61103 = $$81105;$$61209 = $$81211;$$61315 = $79;$$6997 = $$8999; + label = 15; + } else { + $$41420 = $$31419;$$41611 = $$31610;$$81515 = $$71514;$$9 = $80;$$91000 = $$8999;$$91106 = $$81105;$$91212 = $$81211;$$91318 = $79; + label = 20; + } + break; + } + case 33: { + label = 0; + $$01411 = $$01411$shrunk&255; + $109 = $$01411 << $$17; + $110 = $109 | $$171326; + $111 = (($$17) + 8)|0; + $112 = ($$17>>>0)>(4294967287); + if ($112) { + $$101426 = $$121428;$$101617 = $$121619;$$141111 = $$161113;$$141521 = $$161523;$$15 = $111;$$151006 = $$171008;$$151218 = $$171220;$$151324 = $110; + label = 29; + } else { + $$131429 = $$121428;$$131620 = $$121619;$$171114 = $$161113;$$171524 = $$161523;$$18 = $111;$$181009 = $$171008;$$181221 = $$171220;$$181327 = $110; + label = 34; + } + break; + } + case 50: { + label = 0; + $$01410 = $$01410$shrunk&255; + $155 = $$01410 << $$26; + $156 = $155 | $$261335; + $157 = (($$26) + 8)|0; + $158 = ($$26>>>0)>(4294967287); + if ($158) { + $$191435 = $$211437;$$191626 = $$211628;$$231120 = $$251122;$$231530 = $$251532;$$24 = $157;$$241015 = $$261017;$$241227 = $$261229;$$241333 = $156; + label = 46; + } else { + $$221438 = $$211437;$$221629 = $$211628;$$261123 = $$251122;$$261533 = $$251532;$$27 = $157;$$271230 = $$261229;$$271336 = $156; + label = 51; + } + break; + } + case 67: { + label = 0; + $$01300 = $$01300$shrunk&255; + $196 = $$01300 << $$37; + $197 = $196 | $$371346; + $198 = (($$37) + 8)|0; + $199 = (13224 + ($$361133)|0); + $200 = HEAP8[$199>>0]|0; + $201 = $200 << 24 >> 24; + $202 = ($198>>>0)<($201>>>0); + if ($202) { + $$301446 = $$321448;$$301637 = $$321639;$$341025 = $$361027;$$341131 = $$361133;$$341541 = $$361543;$$35 = $198;$$351238 = $$371240;$$351344 = $197; + label = 63; + } else { + $$331449 = $$321448;$$331640 = $$321639;$$371028 = $$361027;$$371134 = $$361133;$$371544 = $$361543;$$38 = $198;$$381241 = $$371240;$$381347 = $197; + label = 68; + } + break; + } + case 76: { + label = 0; + $$01202 = $$01202$shrunk&255; + $227 = $$01202 << $$42; + $228 = $227 | $$421351; + $229 = (($$42) + 8)|0; + $230 = ($229>>>0)<(3); + if ($230) { + $$351451 = $$371453;$$351642 = $$371644;$$391030 = $$411032;$$391136 = $$411138;$$391546 = $$411548;$$40 = $229;$$401243 = $$421245;$$401349 = $228; + label = 72; + } else { + $$381454 = $$371453;$$381645 = $$371644;$$421033 = $$411032;$$421139 = $$411138;$$421549 = $$411548;$$43 = $229;$$431246 = $$421245;$$431352 = $228; + label = 77; + } + break; + } + case 117: { + label = 0; + $$0980 = $$0980$shrunk&255; + $455 = $$0980 << $$49; + $456 = $455 | $$491358; + $457 = (($$49) + 8)|0; + $458 = ($457>>>0)<(15); + if ($458) { + $$421458 = $$441460;$$421649 = $$441651;$$461037 = $$481039;$$461143 = $$481145;$$461553 = $$481555;$$47 = $457;$$471250 = $$491252;$$471356 = $456; + label = 108; + } else { + $$451461 = $$441460;$$451652 = $$441651;$$491146 = $$481145;$$491556 = $$481555;$$50 = $457;$$501253 = $$491252;$$501359 = $456; + label = 119; + } + break; + } + case 131: { + label = 0; + $$0979 = $$0979$shrunk&255; + $506 = $$0979 << $$54; + $507 = $506 | $$541363; + $508 = (($$54) + 8)|0; + $509 = ($508>>>0)<($$541257>>>0); + if ($509) { + $$471463 = $$491465;$$471654 = $$491656;$$501041 = $$521043;$$511148 = $$531150;$$511558 = $$531560;$$52 = $508;$$521255 = $$541257;$$521361 = $507; + label = 127; + } else { + $$501466 = $$491465;$$501657 = $$491656;$$531044 = $$521043;$$541151 = $$531150;$$541561 = $$531560;$$55 = $508;$$551258 = $$541257;$$551364 = $507; + label = 132; + } + break; + } + case 154: { + label = 0; + $$0971 = $$0971$shrunk&255; + $575 = $$0971 << $$62; + $576 = $575 | $$621371; + $577 = (($$62) + 8)|0; + $578 = ($577>>>0)<(15); + if ($578) { + $$551471 = $$571473;$$551662 = $$571664;$$581049 = $$601051;$$591156 = $$611158;$$591566 = $$611568;$$60 = $577;$$601263 = $$621265;$$601369 = $576; + label = 145; + } else { + $$581474 = $$571473;$$581665 = $$571664;$$611052 = $$601051;$$621569 = $$611568;$$63 = $577;$$631266 = $$621265;$$631372 = $576; + label = 156; + } + break; + } + case 183: { + label = 0; + $$0959 = $$0959$shrunk&255; + $699 = $$0959 << $$71; + $700 = $699 | $$711380; + $701 = (($$71) + 8)|0; + $702 = ($701>>>0)<($$681271>>>0); + if ($702) { + $$611477 = $$631479;$$621669 = $$641671;$$641055 = $$661057;$$651162 = $$671164;$$661269 = $$681271;$$681575 = $$701577;$$69 = $701;$$691378 = $700; + label = 179; + } else { + $$641480 = $$631479;$$651672 = $$641671;$$671058 = $$661057;$$681165 = $$671164;$$691272 = $$681271;$$711578 = $$701577;$$72 = $701;$$721381 = $700; + label = 184; + } + break; + } + case 196: { + label = 0; + $$0952 = $$0952$shrunk&255; + $740 = $$0952 << $$76; + $741 = $740 | $$761385; + $742 = (($$76) + 8)|0; + $743 = ($742>>>0)<(15); + if ($743) { + $$661482 = $$681484;$$671674 = $$691676;$$691060 = $$711062;$$701167 = $$721169;$$711274 = $$731276;$$731580 = $$751582;$$74 = $742;$$741383 = $741; + label = 187; + } else { + $$691485 = $$681484;$$701677 = $$691676;$$731170 = $$721169;$$761583 = $$751582;$$77 = $742;$$771386 = $741; + label = 198; + } + break; + } + case 207: { + label = 0; + $$0950 = $$0950$shrunk&255; + $787 = $$0950 << $$80; + $788 = $787 | $$801389; + $789 = (($$80) + 8)|0; + $790 = ($789>>>0)<($$761279>>>0); + if ($790) { + $$701486 = $$721488;$$711678 = $$731680;$$721063 = $$741065;$$741171 = $$761173;$$741277 = $$761279;$$771584 = $$791586;$$78 = $789;$$781387 = $788; + label = 203; + } else { + $$741681 = $$731680;$$751066 = $$741065;$$771174 = $$761173;$$771280 = $$761279;$$801587 = $$791586;$$81 = $789;$$811390 = $788; + label = 208; + } + break; + } + case 227: { + label = 0; + $852 = ($$871184>>>0)<(4); + if (!($852)) { + $$881504 = $$811497;$$921083 = $$851076;$$921699 = $$851692;$$941191 = $$871184;$$941297 = $$871290;$$971604 = $$901597;$$98 = $$91;$$981407 = $$911400; + label = 242; + continue L46; + } + $853 = ($$91|0)==(0); + if (!($853)) { + $854 = ($$91>>>0)<(8); + if ($854) { + $$821498 = $$811497;$$861077 = $$851076;$$861693 = $$851692;$$881185 = $$871184;$$881291 = $$871290;$$911598 = $$901597;$$92 = $$91;$$921401 = $$911400; + label = 230; + break; + } else { + $$851501 = $$811497;$$891080 = $$851076;$$891696 = $$851692;$$911188 = $$871184;$$911294 = $$871290;$$941601 = $$901597;$$95 = $$91;$$951404 = $$911400; + label = 235; + break; } } - $28 = (($col$04) + 1)|0; - $exitcond7 = ($28|0)==($4|0); - if ($exitcond7) { - break; - } else { - $col$04 = $28; + $868 = ($$901597>>>0)<($10>>>0); + if (!($868)) { + $$861502 = $$811497;$$901081 = $$851076;$$901697 = $$851692;$$921189 = $$871184;$$921295 = $$871290;$$951602 = $$901597;$$96 = 0;$$961405 = $$911400; + label = 237; + continue L46; } + $875 = ((($$901597)) + 1|0); + $876 = HEAP8[$$901597>>0]|0; + $877 = $876&255; + $$0948 = $877;$$871503 = $$811497;$$911082 = $$851076;$$911698 = $$851692;$$931190 = $$871184;$$931296 = $$871290;$$961603 = $875;$$97 = 0;$$971406 = $$911400; + label = 241; + continue L46; + break; + } + case 234: { + label = 0; + $$0947 = $$0947$shrunk&255; + $861 = $$0947 << $$94; + $862 = $861 | $$941403; + $863 = (($$94) + 8)|0; + $864 = ($$94>>>0)>(4294967287); + if ($864) { + $$821498 = $$841500;$$861077 = $$881079;$$861693 = $$881695;$$881185 = $$901187;$$881291 = $$901293;$$911598 = $$931600;$$92 = $863;$$921401 = $862; + label = 230; + } else { + $$851501 = $$841500;$$891080 = $$881079;$$891696 = $$881695;$$911188 = $$901187;$$911294 = $$901293;$$941601 = $$931600;$$95 = $863;$$951404 = $862; + label = 235; + } + break; } } - $29 = (($row$06) + 1)|0; - $exitcond8 = ($29|0)==($8|0); - if ($exitcond8) { - break; - } else { - $row$06 = $29; - } - } - return ($0|0); -} -function _stbi__start_callbacks($s,$c,$user) { - $s = $s|0; - $c = $c|0; - $user = $user|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($s)) + 16|0); - ;HEAP32[$0>>2]=HEAP32[$c>>2]|0;HEAP32[$0+4>>2]=HEAP32[$c+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$c+8>>2]|0; - $1 = ((($s)) + 28|0); - HEAP32[$1>>2] = $user; - $2 = ((($s)) + 36|0); - HEAP32[$2>>2] = 128; - $3 = ((($s)) + 32|0); - HEAP32[$3>>2] = 1; - $4 = ((($s)) + 40|0); - $5 = ((($s)) + 176|0); - HEAP32[$5>>2] = $4; - _stbi__refill_buffer($s); - $6 = ((($s)) + 172|0); - $7 = HEAP32[$6>>2]|0; - $8 = ((($s)) + 180|0); - HEAP32[$8>>2] = $7; - return; -} -function _stbi__malloc($size) { - $size = $size|0; - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_malloc($size)|0); - return ($0|0); -} -function _stbi__do_zlib($a,$obuf,$olen,$exp,$parse_header) { - $a = $a|0; - $obuf = $obuf|0; - $olen = $olen|0; - $exp = $exp|0; - $parse_header = $parse_header|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($a)) + 20|0); - HEAP32[$0>>2] = $obuf; - $1 = ((($a)) + 16|0); - HEAP32[$1>>2] = $obuf; - $2 = (($obuf) + ($olen)|0); - $3 = ((($a)) + 24|0); - HEAP32[$3>>2] = $2; - $4 = ((($a)) + 28|0); - HEAP32[$4>>2] = $exp; - $5 = (_stbi__parse_zlib($a,$parse_header)|0); - return ($5|0); -} -function _stbi__get16le($s) { - $s = $s|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_stbi__get8($s)|0); - $1 = $0&255; - $2 = (_stbi__get8($s)|0); - $3 = $2&255; - $4 = $3 << 8; - $5 = $4 | $1; - return ($5|0); -} -function _LoadDDS($agg$result,$fileName) { - $agg$result = $agg$result|0; - $fileName = $fileName|0; - var $$ = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; - var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0; - var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0; - var $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $bufsize$0 = 0, $exitcond = 0, $exitcond13 = 0, $filecode = 0, $header = 0, $i$09 = 0, $i2$011 = 0, $i3$08 = 0, $image$sroa$0$0 = 0; - var $image$sroa$0$1 = 0, $image$sroa$0$2 = 0, $image$sroa$0$3 = 0, $image$sroa$26$0 = 0, $image$sroa$26$1 = 0, $image$sroa$41$0 = 0, $image$sroa$41$1 = 0, $image$sroa$56$0 = 0, $image$sroa$56$1 = 0, $image$sroa$56$2 = 0, $image$sroa$59$0 = 0, $image$sroa$59$1 = 0, $image$sroa$59$2 = 0, $image$sroa$59$3 = 0, $or$cond = 0, $or$cond3 = 0, $or$cond5 = 0, $switch = 0, $switch$split12D = 0, $switch$split2D = 0; - var $switch$split42D = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer12 = 0, $vararg_buffer16 = 0, $vararg_buffer20 = 0, $vararg_buffer24 = 0, $vararg_buffer4 = 0, $vararg_buffer8 = 0, $vararg_ptr11 = 0, $vararg_ptr15 = 0, $vararg_ptr19 = 0, $vararg_ptr23 = 0, $vararg_ptr7 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 192|0; - $vararg_buffer24 = sp + 56|0; - $vararg_buffer20 = sp + 48|0; - $vararg_buffer16 = sp + 40|0; - $vararg_buffer12 = sp + 32|0; - $vararg_buffer8 = sp + 24|0; - $vararg_buffer4 = sp + 16|0; - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $filecode = sp + 184|0; - $header = sp + 60|0; - $0 = (_fopen($fileName,19734)|0); - $1 = ($0|0)==(0|0); - if ($1) { - HEAP32[$vararg_buffer>>2] = $fileName; - _TraceLog(2,16791,$vararg_buffer); - $image$sroa$0$3 = 0;$image$sroa$26$1 = 0;$image$sroa$41$1 = 0;$image$sroa$56$2 = 0;$image$sroa$59$3 = 0; - HEAP32[$agg$result>>2] = $image$sroa$0$3; - $86 = ((($agg$result)) + 4|0); - HEAP32[$86>>2] = $image$sroa$26$1; - $87 = ((($agg$result)) + 8|0); - HEAP32[$87>>2] = $image$sroa$41$1; - $88 = ((($agg$result)) + 12|0); - HEAP32[$88>>2] = $image$sroa$56$2; - $89 = ((($agg$result)) + 16|0); - HEAP32[$89>>2] = $image$sroa$59$3; - STACKTOP = sp;return; - } - (_fread($filecode,1,4,$0)|0); - $2 = (_strncmp($filecode,16825,4)|0); - $3 = ($2|0)==(0); - if ($3) { - (_fread($header,124,1,$0)|0); - HEAP32[$vararg_buffer4>>2] = $fileName; - $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); - HEAP32[$vararg_ptr7>>2] = 124; - _TraceLog(3,16878,$vararg_buffer4); - $4 = ((($header)) + 72|0); - $5 = HEAP32[$4>>2]|0; - HEAP32[$vararg_buffer8>>2] = $fileName; - $vararg_ptr11 = ((($vararg_buffer8)) + 4|0); - HEAP32[$vararg_ptr11>>2] = $5; - _TraceLog(3,16908,$vararg_buffer8); - $6 = ((($header)) + 76|0); - $7 = HEAP32[$6>>2]|0; - HEAP32[$vararg_buffer12>>2] = $fileName; - $vararg_ptr15 = ((($vararg_buffer12)) + 4|0); - HEAP32[$vararg_ptr15>>2] = $7; - _TraceLog(3,16944,$vararg_buffer12); - $8 = ((($header)) + 80|0); - $9 = HEAP32[$8>>2]|0; - HEAP32[$vararg_buffer16>>2] = $fileName; - $vararg_ptr19 = ((($vararg_buffer16)) + 4|0); - HEAP32[$vararg_ptr19>>2] = $9; - _TraceLog(3,16983,$vararg_buffer16); - $10 = ((($header)) + 84|0); - $11 = HEAP32[$10>>2]|0; - HEAP32[$vararg_buffer20>>2] = $fileName; - $vararg_ptr23 = ((($vararg_buffer20)) + 4|0); - HEAP32[$vararg_ptr23>>2] = $11; - _TraceLog(3,17010,$vararg_buffer20); - $12 = ((($header)) + 12|0); - $13 = HEAP32[$12>>2]|0; - $14 = ((($header)) + 8|0); - $15 = HEAP32[$14>>2]|0; - $16 = HEAP32[$10>>2]|0; - $17 = ($16|0)==(16); - L7: do { - if ($17) { - $18 = HEAP32[$6>>2]|0; - switch ($18|0) { - case 64: { - $19 = $13 << 1; - $20 = Math_imul($19, $15)|0; - $21 = (_malloc($20)|0); - (_fread($21,$20,1,$0)|0); - $image$sroa$0$0 = $21;$image$sroa$59$0 = 3; - break L7; + L119: do { + if ((label|0) == 15) { + label = 0; + $72 = ($$51512>>>0)<($10>>>0); + if ($72) { + $$31419$ph = $$11417;$$31610$ph = $$11608;$$8$ph = $$6;$$81105$ph = $$61103;$$81211$ph = $$61209;$$81317$ph = $$61315;$$8999$ph = $$6997;$$sink1710 = $$51512; + label = 18; + continue L46; + } else { + $$21418 = $$11417;$$21609 = $$11608;$$61513 = $$51512;$$7 = $$6;$$71104 = $$61103;$$71210 = $$61209;$$71316 = $$61315;$$7998 = $$6997; + label = 16; + continue L46; + } + } + else if ((label|0) == 20) { + label = 0; + $82 = $$91318 & 7; + $83 = ((($0)) + 20|0); + HEAP32[$83>>2] = $82; + $84 = $$91318 >>> 3; + $85 = (($$9) + -3)|0; + $86 = $82 >>> 1; + $87 = ((($0)) + 24|0); + HEAP32[$87>>2] = $86; + $trunc = $86&255; + $trunc$clear = $trunc & 3; + switch ($trunc$clear<<24>>24) { + case 0: { + $$121519 = $$81515;$$13 = $85;$$131004 = $$91000;$$131216 = $$91212;$$131322 = $84;$$81424 = $$41420;$$81615 = $$41611; + label = 25; + continue L46; break; } - case 65: { + case 3: { + $$281444 = $$41420;$$281635 = $$41611;$$321023 = $$91000;$$321129 = $$91106;$$321539 = $$81515;$$33 = $85;$$331236 = $$91212;$$331342 = $84; + label = 60; + continue L46; + break; + } + case 1: { break; } default: { - $image$sroa$0$0 = 0;$image$sroa$59$0 = 0; - break L7; + $$291445 = $$41420;$$291636 = $$41611;$$331024 = $$91000;$$331130 = 0;$$331540 = $$81515;$$34 = $85;$$341237 = $$91212;$$341343 = $84; + label = 61; + break L119; } } - $22 = ((($header)) + 100|0); - $23 = HEAP32[$22>>2]|0; - $switch$split2D = ($23|0)<(61440); - if ($switch$split2D) { - switch ($23|0) { - case 32768: { - break; - } - default: { - $image$sroa$0$0 = 0;$image$sroa$59$0 = 0; - break L7; - } - } - $24 = Math_imul($15, $13)|0; - $25 = $24 << 1; - $26 = (_malloc($25)|0); - (_fread($26,$25,1,$0)|0); - $27 = ($24|0)>(0); - if (!($27)) { - $image$sroa$0$0 = $26;$image$sroa$59$0 = 5; - break; - } - $28 = Math_imul($15, $13)|0; - $i$09 = 0; - while(1) { - $29 = (($26) + ($i$09<<1)|0); - $30 = HEAP16[$29>>1]|0; - $31 = $30&65535; - $32 = ($30&65535) >>> 15; - $33 = $32&65535; - $34 = $31 << 1; - $35 = $34 | $33; - $36 = $35&65535; - HEAP16[$29>>1] = $36; - $37 = (($i$09) + 1)|0; - $exitcond = ($37|0)==($28|0); - if ($exitcond) { - $image$sroa$0$0 = $26;$image$sroa$59$0 = 5; - break; - } else { - $i$09 = $37; - } - } + $240 = ((($0)) + 44|0); + HEAP32[$240>>2] = 288; + $241 = ((($0)) + 48|0); + HEAP32[$241>>2] = 32; + $242 = ((($0)) + 3552|0); + ;HEAP32[$242>>2]=84215045|0;HEAP32[$242+4>>2]=84215045|0;HEAP32[$242+8>>2]=84215045|0;HEAP32[$242+12>>2]=84215045|0;HEAP32[$242+16>>2]=84215045|0;HEAP32[$242+20>>2]=84215045|0;HEAP32[$242+24>>2]=84215045|0;HEAP32[$242+28>>2]=84215045|0; + $scevgep19611962 = ((($0)) + 64|0); + _memset(($scevgep19611962|0),8,144)|0; + $scevgep1959 = ((($0)) + 208|0); + dest=$scevgep1959; stop=dest+112|0; do { HEAP8[dest>>0]=9|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); + $scevgep1957 = ((($0)) + 320|0); + dest=$scevgep1957; stop=dest+24|0; do { HEAP8[dest>>0]=7|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); + $scevgep1955 = ((($0)) + 344|0); + $243 = $scevgep1955; + $244 = $243; + HEAP8[$244>>0]=134744072&255;HEAP8[$244+1>>0]=(134744072>>8)&255;HEAP8[$244+2>>0]=(134744072>>16)&255;HEAP8[$244+3>>0]=134744072>>24; + $245 = (($243) + 4)|0; + $246 = $245; + HEAP8[$246>>0]=134744072&255;HEAP8[$246+1>>0]=(134744072>>8)&255;HEAP8[$246+2>>0]=(134744072>>16)&255;HEAP8[$246+3>>0]=134744072>>24; + $$391455 = $$41420;$$391646 = $$41611;$$431034 = $$91000;$$431140 = $$91106;$$431550 = $$81515;$$44 = $85;$$441247 = $$91212;$$441353 = $84; + label = 80; + } + else if ((label|0) == 230) { + label = 0; + $855 = ($$911598>>>0)<($10>>>0); + if ($855) { + $$841500$ph = $$821498;$$881079$ph = $$861077;$$881695$ph = $$861693;$$901187$ph = $$881185;$$901293$ph = $$881291;$$94$ph = $$92;$$941403$ph = $$921401;$$sink1750 = $$911598; + label = 233; + continue L46; } else { - switch ($23|0) { - case 61440: { - break; - } - default: { - $image$sroa$0$0 = 0;$image$sroa$59$0 = 0; - break L7; - } - } - $38 = Math_imul($15, $13)|0; - $39 = $38 << 1; - $40 = (_malloc($39)|0); - (_fread($40,$39,1,$0)|0); - $41 = ($38|0)>(0); - if (!($41)) { - $image$sroa$0$0 = $40;$image$sroa$59$0 = 6; - break; - } - $42 = Math_imul($15, $13)|0; - $i2$011 = 0; - while(1) { - $43 = (($40) + ($i2$011<<1)|0); - $44 = HEAP16[$43>>1]|0; - $45 = $44&65535; - $46 = ($44&65535) >>> 12; - $47 = $46&65535; - $48 = $45 << 4; - $49 = $48 | $47; - $50 = $49&65535; - HEAP16[$43>>1] = $50; - $51 = (($i2$011) + 1)|0; - $exitcond13 = ($51|0)==($42|0); - if ($exitcond13) { - $image$sroa$0$0 = $40;$image$sroa$59$0 = 6; - break; - } else { - $i2$011 = $51; - } - } + $$831499 = $$821498;$$871078 = $$861077;$$871694 = $$861693;$$891186 = $$881185;$$891292 = $$881291;$$921599 = $$911598;$$93 = $$92;$$931402 = $$921401; + label = 231; + continue L46; } - } else { - $image$sroa$0$0 = 0;$image$sroa$59$0 = 0; + } + else if ((label|0) == 235) { + label = 0; + $865 = $$951404 & 255; + $866 = $$951404 >>> 8; + $867 = (($$95) + -8)|0; + $$0948 = $865;$$871503 = $$851501;$$911082 = $$891080;$$911698 = $$891696;$$931190 = $$911188;$$931296 = $$911294;$$961603 = $$941601;$$97 = $867;$$971406 = $866; + label = 241; + continue L46; } } while(0); - $52 = HEAP32[$6>>2]|0; - $53 = ($52|0)==(64); - $54 = HEAP32[$10>>2]|0; - $55 = ($54|0)==(24); - $or$cond = $53 & $55; - L24: do { - if ($or$cond) { - $56 = ($13*3)|0; - $57 = Math_imul($56, $15)|0; - $58 = (_malloc($57)|0); - (_fread($58,$57,1,$0)|0); - $image$sroa$0$1 = $58;$image$sroa$56$0 = 1;$image$sroa$59$1 = 4; - } else { - $59 = ($52|0)==(65); - $60 = ($54|0)==(32); - $or$cond3 = $59 & $60; - if ($or$cond3) { - $61 = $13 << 2; - $62 = Math_imul($61, $15)|0; - $63 = (_malloc($62)|0); - (_fread($63,$62,1,$0)|0); - $64 = ($62|0)>(0); - if ($64) { - $i3$08 = 0; - } else { - $image$sroa$0$1 = $63;$image$sroa$56$0 = 1;$image$sroa$59$1 = 7; - break; - } - while(1) { - $65 = (($63) + ($i3$08)|0); - $66 = HEAP8[$65>>0]|0; - $67 = $i3$08 | 2; - $68 = (($63) + ($67)|0); - $69 = HEAP8[$68>>0]|0; - HEAP8[$65>>0] = $69; - HEAP8[$68>>0] = $66; - $70 = (($i3$08) + 4)|0; - $71 = ($70|0)<($62|0); - if ($71) { - $i3$08 = $70; + L125: while(1) { + L126: switch (label|0) { + case 26: { + label = 0; + $100 = ($$131110>>>0)<(4); + if (!($100)) { + $127 = ((($0)) + 10528|0); + $128 = HEAP8[$127>>0]|0; + $129 = $128&255; + $130 = ((($0)) + 10529|0); + $131 = HEAP8[$130>>0]|0; + $132 = $131&255; + $133 = $132 << 8; + $134 = $133 | $129; + $135 = ((($0)) + 10530|0); + $136 = HEAP8[$135>>0]|0; + $137 = $136&255; + $138 = ((($0)) + 10531|0); + $139 = HEAP8[$138>>0]|0; + $140 = $139&255; + $141 = $140 << 8; + $142 = $141 | $137; + $143 = $142 ^ 65535; + $144 = ($134|0)==($143|0); + if ($144) { + $$181434 = $$91425;$$181625 = $$91616;$$221119 = $134;$$221529 = $$131520;$$23 = $$14;$$231014 = $$141005;$$231226 = $$141217;$$231332 = $$141323; + label = 44; + continue L125; } else { - $image$sroa$0$1 = $63;$image$sroa$56$0 = 1;$image$sroa$59$1 = 7; - break L24; + $$171433 = $$91425;$$171624 = $$91616;$$211118 = $134;$$211528 = $$131520;$$22 = $$14;$$221013 = $$141005;$$221225 = $$141217;$$221331 = $$141323; + label = 43; + continue L46; } } + $101 = ($$14|0)==(0); + if (!($101)) { + $102 = ($$14>>>0)<(8); + if ($102) { + $$101426 = $$91425;$$101617 = $$91616;$$141111 = $$131110;$$141521 = $$131520;$$15 = $$14;$$151006 = $$141005;$$151218 = $$141217;$$151324 = $$141323; + label = 29; + continue L125; + } else { + $$131429 = $$91425;$$131620 = $$91616;$$171114 = $$131110;$$171524 = $$131520;$$18 = $$14;$$181009 = $$141005;$$181221 = $$141217;$$181327 = $$141323; + label = 34; + continue L125; + } + } + $117 = ($$131520>>>0)<($10>>>0); + if (!($117)) { + $$141430 = $$91425;$$141621 = $$91616;$$181115 = $$131110;$$181525 = $$131520;$$19 = 0;$$191010 = $$141005;$$191222 = $$141217;$$191328 = $$141323; + label = 36; + continue L46; + } + $123 = ((($$131520)) + 1|0); + $124 = HEAP8[$$131520>>0]|0; + $125 = (((($0)) + 10528|0) + ($$131110)|0); + HEAP8[$125>>0] = $124; + $$161432 = $$91425;$$161623 = $$91616;$$201117 = $$131110;$$201527 = $123;$$21 = 0;$$211012 = $$141005;$$211224 = $$141217;$$211330 = $$141323; + label = 41; + continue L125; + break; } - $72 = $52 & -2; - $switch = ($72|0)!=(4); - $73 = HEAP32[$8>>2]|0; - $74 = ($73|0)==(0); - $or$cond5 = $switch | $74; - if ($or$cond5) { - $image$sroa$0$1 = $image$sroa$0$0;$image$sroa$56$0 = 1;$image$sroa$59$1 = $image$sroa$59$0; - } else { - $75 = ((($header)) + 24|0); - $76 = HEAP32[$75>>2]|0; - $77 = ($76>>>0)>(1); - $78 = ((($header)) + 16|0); - $79 = HEAP32[$78>>2]|0; - $80 = $77&1; - $bufsize$0 = $79 << $80; - HEAP32[$vararg_buffer24>>2] = $79; - _TraceLog(3,17040,$vararg_buffer24); - $81 = (_malloc($bufsize$0)|0); - (_fread($81,1,$bufsize$0,$0)|0); - $82 = HEAP32[$75>>2]|0; - $83 = HEAP32[$8>>2]|0; - $switch$split12D = ($83|0)<(861165636); - if ($switch$split12D) { - switch ($83|0) { - case 827611204: { - break; - } - default: { - $image$sroa$0$1 = $81;$image$sroa$56$0 = $82;$image$sroa$59$1 = $image$sroa$59$0; - break L24; - } - } - $84 = HEAP32[$6>>2]|0; - $85 = ($84|0)==(4); - $$ = $85 ? 8 : 9; - $image$sroa$0$1 = $81;$image$sroa$56$0 = $82;$image$sroa$59$1 = $$; - break; - } - $switch$split42D = ($83|0)<(894720068); - if ($switch$split42D) { - switch ($83|0) { - case 861165636: { - break; - } - default: { - $image$sroa$0$1 = $81;$image$sroa$56$0 = $82;$image$sroa$59$1 = $image$sroa$59$0; - break L24; - } - } - $image$sroa$0$1 = $81;$image$sroa$56$0 = $82;$image$sroa$59$1 = 10; - break; + case 29: { + label = 0; + $103 = ($$141521>>>0)<($10>>>0); + if ($103) { + $$121428$ph = $$101426;$$121619$ph = $$101617;$$161113$ph = $$141111;$$17$ph = $$15;$$171008$ph = $$151006;$$171220$ph = $$151218;$$171326$ph = $$151324;$$sink1713 = $$141521; + label = 32; + continue L46; } else { - switch ($83|0) { - case 894720068: { - break; + $$111427 = $$101426;$$111618 = $$101617;$$151112 = $$141111;$$151522 = $$141521;$$16 = $$15;$$161007 = $$151006;$$161219 = $$151218;$$161325 = $$151324; + label = 30; + continue L46; + } + break; + } + case 34: { + label = 0; + $113 = $$181327&255; + $114 = (((($0)) + 10528|0) + ($$171114)|0); + HEAP8[$114>>0] = $113; + $115 = $$181327 >>> 8; + $116 = (($$18) + -8)|0; + $$161432 = $$131429;$$161623 = $$131620;$$201117 = $$171114;$$201527 = $$171524;$$21 = $116;$$211012 = $$181009;$$211224 = $$181221;$$211330 = $115; + label = 41; + continue L125; + break; + } + case 41: { + label = 0; + $126 = (($$201117) + 1)|0; + $$131110 = $126;$$131520 = $$201527;$$14 = $$21;$$141005 = $$211012;$$141217 = $$211224;$$141323 = $$211330;$$91425 = $$161432;$$91616 = $$161623; + label = 26; + continue L125; + break; + } + case 44: { + label = 0; + $145 = ($$221119|0)!=(0); + $146 = ($$23|0)!=(0); + $147 = $145 & $146; + if (!($147)) { + $$241440 = $$181434;$$241631 = $$181625;$$281019 = $$231014;$$281125 = $$221119;$$281535 = $$221529;$$29 = $$23;$$291232 = $$231226;$$291338 = $$231332; + label = 54; + continue L125; + } + $148 = ($$23>>>0)<(8); + if ($148) { + $$191435 = $$181434;$$191626 = $$181625;$$231120 = $$221119;$$231530 = $$221529;$$24 = $$23;$$241015 = $$231014;$$241227 = $$231226;$$241333 = $$231332; + label = 46; + continue L125; + } else { + $$221438 = $$181434;$$221629 = $$181625;$$261123 = $$221119;$$261533 = $$221529;$$27 = $$23;$$271230 = $$231226;$$271336 = $$231332; + label = 51; + continue L125; + } + break; + } + case 46: { + label = 0; + $149 = ($$231530>>>0)<($10>>>0); + if ($149) { + $$211437$ph = $$191435;$$211628$ph = $$191626;$$251122$ph = $$231120;$$26$ph = $$24;$$261017$ph = $$241015;$$261229$ph = $$241227;$$261335$ph = $$241333;$$sink1716 = $$231530; + label = 49; + continue L46; + } else { + $$201436 = $$191435;$$201627 = $$191626;$$241121 = $$231120;$$241531 = $$231530;$$25 = $$24;$$251016 = $$241015;$$251228 = $$241227;$$251334 = $$241333; + label = 47; + continue L46; + } + break; + } + case 51: { + label = 0; + $159 = $$271336 & 255; + $160 = $$271336 >>> 8; + $161 = (($$27) + -8)|0; + $$231439 = $$221438;$$231630 = $$221629;$$271018 = $159;$$271124 = $$261123;$$271534 = $$261533;$$28 = $161;$$281231 = $$271230;$$281337 = $160; + label = 52; + continue L46; + break; + } + case 54: { + label = 0; + $166 = ($$281125|0)==(0); + if ($166) { + $$761492 = $$241440;$$801071 = $$281019;$$801687 = $$241631;$$821285 = $$291232;$$831180 = 0;$$851592 = $$281535;$$86 = $$29;$$861395 = $$291338; + label = 220; + break L125; + } else { + $$251441 = $$241440;$$251632 = $$241631;$$291020 = $$281019;$$291126 = $$281125;$$291536 = $$281535;$$30 = $$29;$$301233 = $$291232;$$301339 = $$291338; + label = 55; + continue L46; + } + break; + } + case 61: { + label = 0; + $185 = ($$331130>>>0)<(3); + if ($185) { + $186 = (13224 + ($$331130)|0); + $187 = HEAP8[$186>>0]|0; + $188 = $187 << 24 >> 24; + $189 = ($$34>>>0)<($188>>>0); + if ($189) { + $$301446 = $$291445;$$301637 = $$291636;$$341025 = $$331024;$$341131 = $$331130;$$341541 = $$331540;$$35 = $$34;$$351238 = $$341237;$$351344 = $$341343; + label = 63; + continue L125; + } else { + $$331449 = $$291445;$$331640 = $$291636;$$371028 = $$331024;$$371134 = $$331130;$$371544 = $$331540;$$38 = $$34;$$381241 = $$341237;$$381347 = $$341343; + label = 68; + continue L125; } - default: { - $image$sroa$0$1 = $81;$image$sroa$56$0 = $82;$image$sroa$59$1 = $image$sroa$59$0; - break L24; - } - } - $image$sroa$0$1 = $81;$image$sroa$56$0 = $82;$image$sroa$59$1 = 11; + } else { + $216 = ((($0)) + 7040|0); + _memset(($216|0),0,288)|0; + $$341450 = $$291445;$$341641 = $$291636;$$381029 = $$331024;$$381135 = 0;$$381545 = $$331540;$$39 = $$34;$$391242 = $$341237;$$391348 = $$341343; + label = 70; break; } + break; } - } - } while(0); - $image$sroa$0$2 = $image$sroa$0$1;$image$sroa$26$0 = $13;$image$sroa$41$0 = $15;$image$sroa$56$1 = $image$sroa$56$0;$image$sroa$59$2 = $image$sroa$59$1; - } else { - HEAP32[$vararg_buffer1>>2] = $fileName; - _TraceLog(2,16830,$vararg_buffer1); - $image$sroa$0$2 = 0;$image$sroa$26$0 = 0;$image$sroa$41$0 = 0;$image$sroa$56$1 = 0;$image$sroa$59$2 = 0; - } - (_fclose($0)|0); - $image$sroa$0$3 = $image$sroa$0$2;$image$sroa$26$1 = $image$sroa$26$0;$image$sroa$41$1 = $image$sroa$41$0;$image$sroa$56$2 = $image$sroa$56$1;$image$sroa$59$3 = $image$sroa$59$2; - HEAP32[$agg$result>>2] = $image$sroa$0$3; - $86 = ((($agg$result)) + 4|0); - HEAP32[$86>>2] = $image$sroa$26$1; - $87 = ((($agg$result)) + 8|0); - HEAP32[$87>>2] = $image$sroa$41$1; - $88 = ((($agg$result)) + 12|0); - HEAP32[$88>>2] = $image$sroa$56$2; - $89 = ((($agg$result)) + 16|0); - HEAP32[$89>>2] = $image$sroa$59$3; - STACKTOP = sp;return; -} -function _LoadPKM($agg$result,$fileName) { - $agg$result = $agg$result|0; - $fileName = $fileName|0; - var $$ = 0, $$1 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; - var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0; - var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $header = 0, $image$sroa$0$0 = 0, $image$sroa$0$1 = 0, $image$sroa$10$0 = 0, $image$sroa$10$1 = 0, $image$sroa$12$0 = 0, $image$sroa$12$1 = 0, $image$sroa$4$0 = 0, $image$sroa$4$1 = 0, $image$sroa$7$0 = 0, $image$sroa$7$1 = 0; - var $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer4 = 0, $vararg_buffer7 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; - $vararg_buffer10 = sp + 32|0; - $vararg_buffer7 = sp + 24|0; - $vararg_buffer4 = sp + 16|0; - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $header = sp + 40|0; - $0 = (_fopen($fileName,19734)|0); - $1 = ($0|0)==(0|0); - if ($1) { - HEAP32[$vararg_buffer>>2] = $fileName; - _TraceLog(2,16624,$vararg_buffer); - $image$sroa$0$1 = 0;$image$sroa$10$1 = 0;$image$sroa$12$1 = 0;$image$sroa$4$1 = 0;$image$sroa$7$1 = 0; - HEAP32[$agg$result>>2] = $image$sroa$0$1; - $43 = ((($agg$result)) + 4|0); - HEAP32[$43>>2] = $image$sroa$4$1; - $44 = ((($agg$result)) + 8|0); - HEAP32[$44>>2] = $image$sroa$7$1; - $45 = ((($agg$result)) + 12|0); - HEAP32[$45>>2] = $image$sroa$10$1; - $46 = ((($agg$result)) + 16|0); - HEAP32[$46>>2] = $image$sroa$12$1; - STACKTOP = sp;return; - } - (_fread($header,16,1,$0)|0); - $2 = (_strncmp($header,16658,4)|0); - $3 = ($2|0)==(0); - L5: do { - if ($3) { - $4 = ((($header)) + 6|0); - $5 = HEAP16[$4>>1]|0; - $6 = $5&65535; - $7 = $6 << 8; - $8 = $6 >>> 8; - $9 = $7 | $8; - $10 = $9&65535; - HEAP16[$4>>1] = $10; - $11 = ((($header)) + 8|0); - $12 = HEAP16[$11>>1]|0; - $13 = $12&65535; - $14 = $13 << 8; - $15 = $13 >>> 8; - $16 = $14 | $15; - $17 = $16&65535; - HEAP16[$11>>1] = $17; - $18 = ((($header)) + 10|0); - $19 = HEAP16[$18>>1]|0; - $20 = $19&65535; - $21 = $20 << 8; - $22 = $20 >>> 8; - $23 = $21 | $22; - $24 = $23&65535; - HEAP16[$18>>1] = $24; - $25 = HEAP16[$11>>1]|0; - $26 = $25&65535; - HEAP32[$vararg_buffer4>>2] = $26; - _TraceLog(3,16711,$vararg_buffer4); - $27 = HEAP16[$18>>1]|0; - $28 = $27&65535; - HEAP32[$vararg_buffer7>>2] = $28; - _TraceLog(3,16737,$vararg_buffer7); - $29 = HEAP16[$4>>1]|0; - $30 = $29&65535; - HEAP32[$vararg_buffer10>>2] = $30; - _TraceLog(3,16764,$vararg_buffer10); - $31 = HEAP16[$11>>1]|0; - $32 = $31&65535; - $33 = HEAP16[$18>>1]|0; - $34 = $33&65535; - $35 = HEAP16[$4>>1]|0; - $36 = ($35<<16>>16)==(3); - $$ = $36 ? 8 : 4; - $37 = Math_imul($34, $32)|0; - $38 = Math_imul($37, $$)|0; - $39 = $38 >>> 3; - $40 = (_malloc($39)|0); - (_fread($40,1,$39,$0)|0); - $41 = HEAP16[$4>>1]|0; - switch ($41<<16>>16) { - case 0: { - $image$sroa$0$0 = $40;$image$sroa$10$0 = 1;$image$sroa$12$0 = 12;$image$sroa$4$0 = $32;$image$sroa$7$0 = $34; - break L5; - break; - } - case 1: { - $image$sroa$0$0 = $40;$image$sroa$10$0 = 1;$image$sroa$12$0 = 13;$image$sroa$4$0 = $32;$image$sroa$7$0 = $34; - break L5; - break; - } - default: { - $42 = ($41<<16>>16)==(3); - $$1 = $42 ? 14 : 0; - $image$sroa$0$0 = $40;$image$sroa$10$0 = 1;$image$sroa$12$0 = $$1;$image$sroa$4$0 = $32;$image$sroa$7$0 = $34; - break L5; - } - } - } else { - HEAP32[$vararg_buffer1>>2] = $fileName; - _TraceLog(2,16663,$vararg_buffer1); - $image$sroa$0$0 = 0;$image$sroa$10$0 = 0;$image$sroa$12$0 = 0;$image$sroa$4$0 = 0;$image$sroa$7$0 = 0; - } - } while(0); - (_fclose($0)|0); - $image$sroa$0$1 = $image$sroa$0$0;$image$sroa$10$1 = $image$sroa$10$0;$image$sroa$12$1 = $image$sroa$12$0;$image$sroa$4$1 = $image$sroa$4$0;$image$sroa$7$1 = $image$sroa$7$0; - HEAP32[$agg$result>>2] = $image$sroa$0$1; - $43 = ((($agg$result)) + 4|0); - HEAP32[$43>>2] = $image$sroa$4$1; - $44 = ((($agg$result)) + 8|0); - HEAP32[$44>>2] = $image$sroa$7$1; - $45 = ((($agg$result)) + 12|0); - HEAP32[$45>>2] = $image$sroa$10$1; - $46 = ((($agg$result)) + 16|0); - HEAP32[$46>>2] = $image$sroa$12$1; - STACKTOP = sp;return; -} -function _LoadKTX($agg$result,$fileName) { - $agg$result = $agg$result|0; - $fileName = $fileName|0; - var $$ = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; - var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $dataSize = 0, $header = 0, $i$01 = 0, $image$sroa$0$0 = 0, $image$sroa$0$1 = 0, $image$sroa$3$0 = 0, $image$sroa$3$1 = 0, $image$sroa$5$0 = 0, $image$sroa$5$1 = 0, $image$sroa$7$0 = 0, $image$sroa$7$1 = 0, $image$sroa$9$0 = 0, $image$sroa$9$1 = 0, $unused = 0, $vararg_buffer = 0; - var $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer4 = 0, $vararg_buffer7 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 112|0; - $vararg_buffer10 = sp + 32|0; - $vararg_buffer7 = sp + 24|0; - $vararg_buffer4 = sp + 16|0; - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $header = sp + 40|0; - $unused = sp + 104|0; - $dataSize = sp + 36|0; - $0 = (_fopen($fileName,19734)|0); - $1 = ($0|0)==(0|0); - if ($1) { - HEAP32[$vararg_buffer>>2] = $fileName; - _TraceLog(2,16455,$vararg_buffer); - $image$sroa$0$1 = 0;$image$sroa$3$1 = 0;$image$sroa$5$1 = 0;$image$sroa$7$1 = 0;$image$sroa$9$1 = 0; - HEAP32[$agg$result>>2] = $image$sroa$0$1; - $40 = ((($agg$result)) + 4|0); - HEAP32[$40>>2] = $image$sroa$3$1; - $41 = ((($agg$result)) + 8|0); - HEAP32[$41>>2] = $image$sroa$5$1; - $42 = ((($agg$result)) + 12|0); - HEAP32[$42>>2] = $image$sroa$7$1; - $43 = ((($agg$result)) + 16|0); - HEAP32[$43>>2] = $image$sroa$9$1; - STACKTOP = sp;return; - } - (_fread($header,64,1,$0)|0); - $2 = ((($header)) + 1|0); - $3 = HEAP8[$2>>0]|0; - $4 = ($3<<24>>24)==(75); - L5: do { - if ($4) { - $5 = ((($header)) + 2|0); - $6 = HEAP8[$5>>0]|0; - $7 = ($6<<24>>24)==(84); - if ($7) { - $8 = ((($header)) + 3|0); - $9 = HEAP8[$8>>0]|0; - $10 = ($9<<24>>24)==(88); - if ($10) { - $11 = ((($header)) + 4|0); - $12 = HEAP8[$11>>0]|0; - $13 = ($12<<24>>24)==(32); - if ($13) { - $14 = ((($header)) + 5|0); - $15 = HEAP8[$14>>0]|0; - $16 = ($15<<24>>24)==(49); - if ($16) { - $17 = ((($header)) + 6|0); - $18 = HEAP8[$17>>0]|0; - $19 = ($18<<24>>24)==(49); - if ($19) { - $20 = ((($header)) + 36|0); - $21 = HEAP32[$20>>2]|0; - $22 = ((($header)) + 40|0); - $23 = HEAP32[$22>>2]|0; - $24 = ((($header)) + 56|0); - $25 = HEAP32[$24>>2]|0; - HEAP32[$vararg_buffer4>>2] = $21; - _TraceLog(3,16542,$vararg_buffer4); - $26 = HEAP32[$22>>2]|0; - HEAP32[$vararg_buffer7>>2] = $26; - _TraceLog(3,16568,$vararg_buffer7); - $27 = ((($header)) + 28|0); - $28 = HEAP32[$27>>2]|0; - HEAP32[$vararg_buffer10>>2] = $28; - _TraceLog(3,16595,$vararg_buffer10); - $29 = ((($header)) + 60|0); - $30 = HEAP32[$29>>2]|0; - $31 = ($30|0)==(0); - if (!($31)) { - $32 = HEAP32[$29>>2]|0; - $i$01 = 0; - while(1) { - (_fread($unused,1,1,$0)|0); - $33 = (($i$01) + 1)|0; - $34 = ($33>>>0)<($32>>>0); - if ($34) { - $i$01 = $33; + case 63: { + label = 0; + $190 = ($$341541>>>0)<($10>>>0); + if ($190) { + $$321448$ph = $$301446;$$321639$ph = $$301637;$$361027$ph = $$341025;$$361133$ph = $$341131;$$37$ph = $$35;$$371240$ph = $$351238;$$371346$ph = $$351344;$$sink1719 = $$341541; + label = 66; + continue L46; + } else { + $$311447 = $$301446;$$311638 = $$301637;$$351026 = $$341025;$$351132 = $$341131;$$351542 = $$341541;$$36 = $$35;$$361239 = $$351238;$$361345 = $$351344; + label = 64; + continue L46; + } + break; + } + case 68: { + label = 0; + $203 = (13224 + ($$371134)|0); + $204 = HEAP8[$203>>0]|0; + $205 = $204 << 24 >> 24; + $206 = 1 << $205; + $207 = (($206) + -1)|0; + $208 = $207 & $$381347; + $209 = (((($0)) + 44|0) + ($$371134<<2)|0); + $210 = $$381347 >>> $205; + $211 = (($$38) - ($205))|0; + $212 = (3104 + ($$371134<<2)|0); + $213 = HEAP32[$212>>2]|0; + $214 = (($208) + ($213))|0; + HEAP32[$209>>2] = $214; + $215 = (($$371134) + 1)|0; + $$291445 = $$331449;$$291636 = $$331640;$$331024 = $$371028;$$331130 = $215;$$331540 = $$371544;$$34 = $211;$$341237 = $$381241;$$341343 = $210; + label = 61; + continue L125; + break; + } + case 72: { + label = 0; + $221 = ($$391546>>>0)<($10>>>0); + if ($221) { + $$371453$ph = $$351451;$$371644$ph = $$351642;$$411032$ph = $$391030;$$411138$ph = $$391136;$$42$ph = $$40;$$421245$ph = $$401243;$$421351$ph = $$401349;$$sink1722 = $$391546; + label = 75; + continue L46; + } else { + $$361452 = $$351451;$$361643 = $$351642;$$401031 = $$391030;$$401137 = $$391136;$$401547 = $$391546;$$41 = $$40;$$411244 = $$401243;$$411350 = $$401349; + label = 73; + continue L46; + } + break; + } + case 77: { + label = 0; + $231 = $$431352 & 7; + $232 = $$431352 >>> 3; + $233 = (($$43) + -3)|0; + $234 = $231&255; + $235 = (13228 + ($$421139)|0); + $236 = HEAP8[$235>>0]|0; + $237 = $236&255; + $238 = (((($0)) + 7040|0) + ($237)|0); + HEAP8[$238>>0] = $234; + $239 = (($$421139) + 1)|0; + $$341450 = $$381454;$$341641 = $$381645;$$381029 = $$421033;$$381135 = $239;$$381545 = $$421549;$$39 = $233;$$391242 = $$431246;$$391348 = $232; + label = 70; + break; + } + case 80: { + label = 0; + $247 = ((($0)) + 24|0); + $248 = HEAP32[$247>>2]|0; + $249 = ($248|0)>(-1); + if ($249) { + dest=$8; stop=dest+64|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + $250 = (((((($0)) + 64|0) + (($248*3488)|0)|0)) + 288|0); + _memset(($250|0),0,3200)|0; + $251 = HEAP32[$247>>2]|0; + $252 = (((($0)) + 44|0) + ($251<<2)|0); + $253 = HEAP32[$252>>2]|0; + $254 = ($253|0)==(0); + if (!($254)) { + $255 = HEAP32[$247>>2]|0; + $256 = (((($0)) + 44|0) + ($255<<2)|0); + $257 = HEAP32[$256>>2]|0; + $$010951864 = 0; + while(1) { + $258 = ((((($0)) + 64|0) + (($248*3488)|0)|0) + ($$010951864)|0); + $259 = HEAP8[$258>>0]|0; + $260 = $259&255; + $261 = (($8) + ($260<<2)|0); + $262 = HEAP32[$261>>2]|0; + $263 = (($262) + 1)|0; + HEAP32[$261>>2] = $263; + $264 = (($$010951864) + 1)|0; + $265 = ($264>>>0)<($257>>>0); + if ($265) { + $$010951864 = $264; + } else { + break; + } + } + } + $266 = ((($7)) + 4|0); + HEAP32[$266>>2] = 0; + HEAP32[$7>>2] = 0; + $267 = ((($8)) + 4|0); + $268 = HEAP32[$267>>2]|0; + $269 = $268 << 1; + $270 = ((($7)) + 8|0); + HEAP32[$270>>2] = $269; + $271 = ((($8)) + 8|0); + $272 = HEAP32[$271>>2]|0; + $273 = (($272) + ($268))|0; + $274 = (($272) + ($269))|0; + $275 = $274 << 1; + $276 = ((($7)) + 12|0); + HEAP32[$276>>2] = $275; + $277 = ((($8)) + 12|0); + $278 = HEAP32[$277>>2]|0; + $279 = (($278) + ($273))|0; + $280 = (($278) + ($275))|0; + $281 = $280 << 1; + $282 = ((($7)) + 16|0); + HEAP32[$282>>2] = $281; + $283 = ((($8)) + 16|0); + $284 = HEAP32[$283>>2]|0; + $285 = (($284) + ($279))|0; + $286 = (($284) + ($281))|0; + $287 = $286 << 1; + $288 = ((($7)) + 20|0); + HEAP32[$288>>2] = $287; + $289 = ((($8)) + 20|0); + $290 = HEAP32[$289>>2]|0; + $291 = (($290) + ($285))|0; + $292 = (($290) + ($287))|0; + $293 = $292 << 1; + $294 = ((($7)) + 24|0); + HEAP32[$294>>2] = $293; + $295 = ((($8)) + 24|0); + $296 = HEAP32[$295>>2]|0; + $297 = (($296) + ($291))|0; + $298 = (($296) + ($293))|0; + $299 = $298 << 1; + $300 = ((($7)) + 28|0); + HEAP32[$300>>2] = $299; + $301 = ((($8)) + 28|0); + $302 = HEAP32[$301>>2]|0; + $303 = (($302) + ($297))|0; + $304 = (($302) + ($299))|0; + $305 = $304 << 1; + $306 = ((($7)) + 32|0); + HEAP32[$306>>2] = $305; + $307 = ((($8)) + 32|0); + $308 = HEAP32[$307>>2]|0; + $309 = (($308) + ($303))|0; + $310 = (($308) + ($305))|0; + $311 = $310 << 1; + $312 = ((($7)) + 36|0); + HEAP32[$312>>2] = $311; + $313 = ((($8)) + 36|0); + $314 = HEAP32[$313>>2]|0; + $315 = (($314) + ($309))|0; + $316 = (($314) + ($311))|0; + $317 = $316 << 1; + $318 = ((($7)) + 40|0); + HEAP32[$318>>2] = $317; + $319 = ((($8)) + 40|0); + $320 = HEAP32[$319>>2]|0; + $321 = (($320) + ($315))|0; + $322 = (($320) + ($317))|0; + $323 = $322 << 1; + $324 = ((($7)) + 44|0); + HEAP32[$324>>2] = $323; + $325 = ((($8)) + 44|0); + $326 = HEAP32[$325>>2]|0; + $327 = (($326) + ($321))|0; + $328 = (($326) + ($323))|0; + $329 = $328 << 1; + $330 = ((($7)) + 48|0); + HEAP32[$330>>2] = $329; + $331 = ((($8)) + 48|0); + $332 = HEAP32[$331>>2]|0; + $333 = (($332) + ($327))|0; + $334 = (($332) + ($329))|0; + $335 = $334 << 1; + $336 = ((($7)) + 52|0); + HEAP32[$336>>2] = $335; + $337 = ((($8)) + 52|0); + $338 = HEAP32[$337>>2]|0; + $339 = (($338) + ($333))|0; + $340 = (($338) + ($335))|0; + $341 = $340 << 1; + $342 = ((($7)) + 56|0); + HEAP32[$342>>2] = $341; + $343 = ((($8)) + 56|0); + $344 = HEAP32[$343>>2]|0; + $345 = (($344) + ($339))|0; + $346 = (($344) + ($341))|0; + $347 = $346 << 1; + $348 = ((($7)) + 60|0); + HEAP32[$348>>2] = $347; + $349 = ((($8)) + 60|0); + $350 = HEAP32[$349>>2]|0; + $351 = (($350) + ($345))|0; + $352 = (($350) + ($347))|0; + $353 = $352 << 1; + $354 = ((($7)) + 64|0); + HEAP32[$354>>2] = $353; + $355 = ($353|0)!=(65536); + $356 = ($351>>>0)>(1); + $or$cond = $355 & $356; + if ($or$cond) { + $$401456 = $$391455;$$401647 = $$391646;$$441035 = $$431034;$$441141 = $$431140;$$441551 = $$431550;$$45 = $$44;$$451248 = $$441247;$$451354 = $$441353; + label = 86; + continue L46; + } + $357 = HEAP32[$247>>2]|0; + $358 = (((($0)) + 44|0) + ($357<<2)|0); + $359 = HEAP32[$358>>2]|0; + $360 = ($359|0)==(0); + if ($360) { + $$lcssa1779 = $357; + } else { + $$010911856 = 0;$$011971855 = -1; + while(1) { + $361 = ((((($0)) + 64|0) + (($248*3488)|0)|0) + ($$010911856)|0); + $362 = HEAP8[$361>>0]|0; + $363 = $362&255; + $364 = ($362<<24>>24)==(0); + L142: do { + if ($364) { + $$41201 = $$011971855; + } else { + $365 = (($7) + ($363<<2)|0); + $366 = HEAP32[$365>>2]|0; + $367 = (($366) + 1)|0; + HEAP32[$365>>2] = $367; + $$010861840 = $366;$$010871839 = $363;$$010881838 = 0; + while(1) { + $368 = $$010881838 << 1; + $369 = $$010861840 & 1; + $370 = $369 | $368; + $371 = (($$010871839) + -1)|0; + $372 = $$010861840 >>> 1; + $373 = ($371|0)==(0); + if ($373) { + break; + } else { + $$010861840 = $372;$$010871839 = $371;$$010881838 = $370; + } + } + $374 = ($362&255)<(11); + if ($374) { + $375 = $363 << 9; + $376 = $375 | $$010911856; + $377 = $376&65535; + $378 = ($370>>>0)<(1024); + if (!($378)) { + $$41201 = $$011971855; + break; + } + $379 = 1 << $363; + $$110891852 = $370; + while(1) { + $380 = ((((((($0)) + 64|0) + (($248*3488)|0)|0)) + 288|0) + ($$110891852<<1)|0); + HEAP16[$380>>1] = $377; + $381 = (($$110891852) + ($379))|0; + $382 = ($381>>>0)<(1024); + if ($382) { + $$110891852 = $381; + } else { + $$41201 = $$011971855; + break L142; + } + } + } + $383 = $370 & 1023; + $384 = ((((((($0)) + 64|0) + (($248*3488)|0)|0)) + 288|0) + ($383<<1)|0); + $385 = HEAP16[$384>>1]|0; + $386 = $385 << 16 >> 16; + $387 = ($385<<16>>16)==(0); + if ($387) { + $388 = (($$011971855) + -2)|0; + $389 = $$011971855&65535; + HEAP16[$384>>1] = $389; + $$01194 = $$011971855;$$11198 = $388; } else { + $$01194 = $386;$$11198 = $$011971855; + } + $390 = $$010881838 >>> 9; + $391 = ($362&255)>(11); + $392 = $390 & 1; + $393 = (($392) - ($$01194))|0; + $394 = (($393) + -1)|0; + if ($391) { + $395 = $390 & 4194303; + $$010941846 = $363;$$211991845 = $$11198;$397 = $394;$406 = $395; + while(1) { + $396 = ((((((($0)) + 64|0) + (($248*3488)|0)|0)) + 2336|0) + ($397<<1)|0); + $398 = HEAP16[$396>>1]|0; + $399 = ($398<<16>>16)==(0); + if ($399) { + $400 = $$211991845&65535; + HEAP16[$396>>1] = $400; + $401 = (($$211991845) + -2)|0; + $$21196 = $$211991845;$$31200 = $401; + } else { + $402 = $398 << 16 >> 16; + $$21196 = $402;$$31200 = $$211991845; + } + $403 = (($$010941846) + -1)|0; + $404 = ($403>>>0)>(11); + $405 = $406 >>> 1; + $407 = $405 & 1; + $408 = (($407) - ($$21196))|0; + $409 = (($408) + -1)|0; + if ($404) { + $$010941846 = $403;$$211991845 = $$31200;$397 = $409;$406 = $405; + } else { + $$21199$lcssa = $$31200;$$lcssa1778 = $409; + break; + } + } + } else { + $$21199$lcssa = $$11198;$$lcssa1778 = $394; + } + $410 = $$010911856&65535; + $411 = ((((((($0)) + 64|0) + (($248*3488)|0)|0)) + 2336|0) + ($$lcssa1778<<1)|0); + HEAP16[$411>>1] = $410; + $$41201 = $$21199$lcssa; + } + } while(0); + $412 = (($$010911856) + 1)|0; + $413 = HEAP32[$247>>2]|0; + $414 = (((($0)) + 44|0) + ($413<<2)|0); + $415 = HEAP32[$414>>2]|0; + $416 = ($412>>>0)<($415>>>0); + if ($416) { + $$010911856 = $412;$$011971855 = $$41201; + } else { + $$lcssa1779 = $413; + break; + } + } + } + $417 = ($$lcssa1779|0)==(2); + if ($417) { + $$411457 = $$391455;$$411648 = $$391646;$$451036 = $$431034;$$451142 = 0;$$451552 = $$431550;$$46 = $$44;$$461249 = $$441247;$$461355 = $$441353; + label = 105; + } else { + $$521468 = $$391455;$$521659 = $$391646;$$551046 = $$431034;$$561153 = $$431140;$$561563 = $$431550;$$57 = $$44;$$571260 = $$441247;$$571366 = $$441353; + label = 138; + } + } else { + $$531469 = $$391455;$$531660 = $$391646;$$561047 = $$431034;$$571154 = $$431140;$$571564 = $$431550;$$58 = $$44;$$581261 = $$441247;$$581367 = $$441353; + label = 139; + } + break; + } + case 108: { + label = 0; + $429 = $$471356 & 1023; + $430 = (((($0)) + 7328|0) + ($429<<1)|0); + $431 = HEAP16[$430>>1]|0; + $432 = $431 << 16 >> 16; + $433 = ($431<<16>>16)>(-1); + if ($433) { + $434 = $432 >> 9; + $435 = (($434) + -1)|0; + $436 = ($435>>>0)<($$47>>>0); + if ($436) { + $$451461 = $$421458;$$451652 = $$421649;$$491146 = $$461143;$$491556 = $$461553;$$50 = $$47;$$501253 = $$471250;$$501359 = $$471356; + label = 119; + continue L125; + } else { + label = 113; + break L125; + } + } + $437 = ($$47>>>0)>(10); + if ($437) { + $$0981 = 10;$$0984 = $432; + } else { + label = 113; + break L125; + } + while(1) { + $438 = $$0984 ^ -1; + $439 = $$471356 >>> $$0981; + $440 = $439 & 1; + $441 = (($440) + ($438))|0; + $442 = (((($0)) + 9376|0) + ($441<<1)|0); + $443 = HEAP16[$442>>1]|0; + $444 = ($443<<16>>16)<(0); + if (!($444)) { + $$451461 = $$421458;$$451652 = $$421649;$$491146 = $$461143;$$491556 = $$461553;$$50 = $$47;$$501253 = $$471250;$$501359 = $$471356; + label = 119; + continue L125; + } + $445 = (($$0981) + 1)|0; + $446 = $443 << 16 >> 16; + $447 = (($$0981) + 2)|0; + $448 = ($$47>>>0)<($447>>>0); + if ($448) { + label = 113; + break L125; + } else { + $$0981 = $445;$$0984 = $446; + } + } + break; + } + case 119: { + label = 0; + $471 = $$501359 & 1023; + $472 = (((($0)) + 7328|0) + ($471<<1)|0); + $473 = HEAP16[$472>>1]|0; + $474 = $473 << 16 >> 16; + $475 = ($473<<16>>16)>(-1); + if ($475) { + $476 = $474 >> 9; + $477 = $474 & 511; + $$2983 = $476;$$2986 = $477; + } else { + $$1982 = 10;$$1985 = $474; + while(1) { + $478 = $$1985 ^ -1; + $479 = (($$1982) + 1)|0; + $480 = $$501359 >>> $$1982; + $481 = $480 & 1; + $482 = (($481) + ($478))|0; + $483 = (((($0)) + 9376|0) + ($482<<1)|0); + $484 = HEAP16[$483>>1]|0; + $485 = $484 << 16 >> 16; + $486 = ($484<<16>>16)<(0); + if ($486) { + $$1982 = $479;$$1985 = $485; + } else { + $$2983 = $479;$$2986 = $485; + break; + } + } + } + $487 = $$501359 >>> $$2983; + $488 = (($$50) - ($$2983))|0; + $489 = ($$2986>>>0)<(16); + if ($489) { + $490 = $$2986&255; + $491 = (($$491146) + 1)|0; + $492 = (((($0)) + 10532|0) + ($$491146)|0); + HEAP8[$492>>0] = $490; + $$411457 = $$451461;$$411648 = $$451652;$$451036 = $$2986;$$451142 = $491;$$451552 = $$491556;$$46 = $488;$$461249 = $$501253;$$461355 = $487; + label = 105; + break; + } + $493 = ($$2986|0)!=(16); + $494 = ($$491146|0)!=(0); + $or$cond24 = $494 | $493; + if (!($or$cond24)) { + $$461462 = $$451461;$$461653 = $$451652;$$491040 = $$2986;$$501147 = $$491146;$$501557 = $$491556;$$51 = $488;$$511254 = $$501253;$$511360 = $487; + label = 125; + continue L46; + } + $495 = (($$2986) + -16)|0; + $496 = (13247 + ($495)|0); + $497 = HEAP8[$496>>0]|0; + $498 = $497 << 24 >> 24; + $499 = ($488>>>0)<($498>>>0); + if ($499) { + $$471463 = $$451461;$$471654 = $$451652;$$501041 = $$2986;$$511148 = $$491146;$$511558 = $$491556;$$52 = $488;$$521255 = $498;$$521361 = $487; + label = 127; + continue L125; + } else { + $$501466 = $$451461;$$501657 = $$451652;$$531044 = $$2986;$$541151 = $$491146;$$541561 = $$491556;$$55 = $488;$$551258 = $498;$$551364 = $487; + label = 132; + continue L125; + } + break; + } + case 127: { + label = 0; + $500 = ($$511558>>>0)<($10>>>0); + if ($500) { + $$491465$ph = $$471463;$$491656$ph = $$471654;$$521043$ph = $$501041;$$531150$ph = $$511148;$$54$ph = $$52;$$541257$ph = $$521255;$$541363$ph = $$521361;$$sink1732 = $$511558; + label = 130; + continue L46; + } else { + $$481464 = $$471463;$$481655 = $$471654;$$511042 = $$501041;$$521149 = $$511148;$$521559 = $$511558;$$53 = $$52;$$531256 = $$521255;$$531362 = $$521361; + label = 128; + continue L46; + } + break; + } + case 132: { + label = 0; + $510 = 1 << $$551258; + $511 = (($510) + -1)|0; + $512 = $511 & $$551364; + $513 = $$551364 >>> $$551258; + $514 = (($$55) - ($$551258))|0; + $515 = (($$531044) + -16)|0; + $516 = (13251 + ($515)|0); + $517 = HEAP8[$516>>0]|0; + $518 = $517 << 24 >> 24; + $519 = (($518) + ($512))|0; + $520 = (((($0)) + 10532|0) + ($$541151)|0); + $521 = ($$531044|0)==(16); + if ($521) { + $522 = (($$541151) + -1)|0; + $523 = (((($0)) + 10532|0) + ($522)|0); + $524 = HEAP8[$523>>0]|0; + $525 = $524&255; + $527 = $525; + } else { + $527 = 0; + } + $526 = $527&255; + _memset(($520|0),($526|0),($519|0))|0; + $528 = (($519) + ($$541151))|0; + $$411457 = $$501466;$$411648 = $$501657;$$451036 = $$531044;$$451142 = $528;$$451552 = $$541561;$$46 = $514;$$461249 = $$551258;$$461355 = $513; + label = 105; + break; + } + case 140: { + label = 0; + $539 = $10; + $540 = $$581565$ph; + $541 = (($539) - ($540))|0; + $542 = ($541|0)<(4); + $543 = ($$59$ph>>>0)<(15); + L241: do { + if ($542) { + $$541661$lcssa = $$541661$ph;$$581155$lcssa = $$581155$ph;$$581565$lcssa = $$581565$ph;$$59$lcssa = $$59$ph;$$591368$lcssa = $$591368$ph;$$lcssa1799 = $543;$$lcssa1802 = $541; + } else { + $544 = $12; + $$5416611868 = $$541661$ph;$$5811551871 = $$581155$ph;$$5815651869 = $$581565$ph;$$5913681870 = $$591368$ph;$$591872 = $$59$ph;$965 = $543;$966 = $541; + while(1) { + $545 = $$5416611868; + $546 = (($544) - ($545))|0; + $547 = ($546|0)<(2); + if ($547) { + $$541661$lcssa = $$5416611868;$$581155$lcssa = $$5811551871;$$581565$lcssa = $$5815651869;$$59$lcssa = $$591872;$$591368$lcssa = $$5913681870;$$lcssa1799 = $965;$$lcssa1802 = $966; + break L241; + } + if ($965) { + $613 = HEAP8[$$5815651869>>0]|0; + $614 = $613&255; + $615 = ((($$5815651869)) + 1|0); + $616 = HEAP8[$615>>0]|0; + $617 = $616&255; + $618 = $617 << 8; + $619 = $618 | $614; + $620 = $619 << $$591872; + $621 = $620 | $$5913681870; + $622 = ((($$5815651869)) + 2|0); + $623 = (($$591872) + 16)|0; + $$641571 = $622;$$65 = $623;$$651374 = $621; + } else { + $$641571 = $$5815651869;$$65 = $$591872;$$651374 = $$5913681870; + } + $624 = $$651374 & 1023; + $625 = (((($0)) + 352|0) + ($624<<1)|0); + $626 = HEAP16[$625>>1]|0; + $627 = $626 << 16 >> 16; + $628 = ($626<<16>>16)>(-1); + if ($628) { + $629 = $627 >> 9; + $$1964 = $629;$$1968 = $627; + } else { + $$0963 = 10;$$0967 = $627; + while(1) { + $630 = $$0967 ^ -1; + $631 = (($$0963) + 1)|0; + $632 = $$651374 >>> $$0963; + $633 = $632 & 1; + $634 = (($633) + ($630))|0; + $635 = (((($0)) + 2400|0) + ($634<<1)|0); + $636 = HEAP16[$635>>1]|0; + $637 = $636 << 16 >> 16; + $638 = ($636<<16>>16)<(0); + if ($638) { + $$0963 = $631;$$0967 = $637; + } else { + $$1964 = $631;$$1968 = $637; break; } } } - (_fread($dataSize,4,1,$0)|0); - $35 = HEAP32[$dataSize>>2]|0; - $36 = (_malloc($35)|0); - $37 = HEAP32[$dataSize>>2]|0; - (_fread($36,1,$37,$0)|0); - $38 = HEAP32[$27>>2]|0; - switch ($38|0) { - case 36196: { - $image$sroa$0$0 = $36;$image$sroa$3$0 = $21;$image$sroa$5$0 = $23;$image$sroa$7$0 = $25;$image$sroa$9$0 = 12; - break L5; + $639 = $$651374 >>> $$1964; + $640 = (($$65) - ($$1964))|0; + $641 = $$1968 & 256; + $642 = ($641|0)==(0); + if (!($642)) { + $$601476 = $$541470$ph;$$611668 = $$5416611868;$$631054 = $$571048$ph;$$641161 = $$1968;$$651268 = $$591262$ph;$$671574 = $$641571;$$68 = $640;$$681377 = $639; + label = 176; + break L126; + } + $643 = ($640>>>0)<(15); + if ($643) { + $644 = HEAP8[$$641571>>0]|0; + $645 = $644&255; + $646 = ((($$641571)) + 1|0); + $647 = HEAP8[$646>>0]|0; + $648 = $647&255; + $649 = $648 << 8; + $650 = $649 | $645; + $651 = $650 << $640; + $652 = $651 | $639; + $653 = ((($$641571)) + 2|0); + $654 = (($640) + 16)|0; + $$651572 = $653;$$66 = $654;$$661375 = $652; + } else { + $$651572 = $$641571;$$66 = $640;$$661375 = $639; + } + $655 = $$661375 & 1023; + $656 = (((($0)) + 352|0) + ($655<<1)|0); + $657 = HEAP16[$656>>1]|0; + $658 = $657 << 16 >> 16; + $659 = ($657<<16>>16)>(-1); + if ($659) { + $660 = $658 >> 9; + $$3966 = $660;$$3970 = $658; + } else { + $$2965 = 10;$$2969 = $658; + while(1) { + $661 = $$2969 ^ -1; + $662 = (($$2965) + 1)|0; + $663 = $$661375 >>> $$2965; + $664 = $663 & 1; + $665 = (($664) + ($661))|0; + $666 = (((($0)) + 2400|0) + ($665<<1)|0); + $667 = HEAP16[$666>>1]|0; + $668 = $667 << 16 >> 16; + $669 = ($667<<16>>16)<(0); + if ($669) { + $$2965 = $662;$$2969 = $668; + } else { + $$3966 = $662;$$3970 = $668; + break; + } + } + } + $670 = $$661375 >>> $$3966; + $671 = (($$66) - ($$3966))|0; + $672 = $$1968&255; + HEAP8[$$5416611868>>0] = $672; + $673 = $$3970 & 256; + $674 = ($673|0)==(0); + if (!($674)) { break; } - case 37492: { - $image$sroa$0$0 = $36;$image$sroa$3$0 = $21;$image$sroa$5$0 = $23;$image$sroa$7$0 = $25;$image$sroa$9$0 = 13; - break L5; - break; + $676 = $$3970&255; + $677 = ((($$5416611868)) + 1|0); + HEAP8[$677>>0] = $676; + $678 = ((($$5416611868)) + 2|0); + $679 = $$651572; + $680 = (($539) - ($679))|0; + $681 = ($680|0)<(4); + $682 = ($671>>>0)<(15); + if ($681) { + $$541661$lcssa = $678;$$581155$lcssa = $$1968;$$581565$lcssa = $$651572;$$59$lcssa = $671;$$591368$lcssa = $670;$$lcssa1799 = $682;$$lcssa1802 = $680; + break L241; + } else { + $$5416611868 = $678;$$5811551871 = $$1968;$$5815651869 = $$651572;$$5913681870 = $670;$$591872 = $671;$965 = $682;$966 = $680; } - default: { - $39 = ($38|0)==(37496); - $$ = $39 ? 14 : 0; - $image$sroa$0$0 = $36;$image$sroa$3$0 = $21;$image$sroa$5$0 = $23;$image$sroa$7$0 = $25;$image$sroa$9$0 = $$; - break L5; - } - } - } else { - label = 9; } + $675 = ((($$5416611868)) + 1|0); + $$601476 = $$541470$ph;$$611668 = $675;$$631054 = $$571048$ph;$$641161 = $$3970;$$651268 = $$591262$ph;$$671574 = $$651572;$$68 = $671;$$681377 = $670; + label = 176; + break L126; + } + } while(0); + if (!($$lcssa1799)) { + $$581474 = $$541470$ph;$$581665 = $$541661$lcssa;$$611052 = $$571048$ph;$$621569 = $$581565$lcssa;$$63 = $$59$lcssa;$$631266 = $$591262$ph;$$631372 = $$591368$lcssa; + label = 156; + continue L125; + } + $548 = ($$lcssa1802|0)<(2); + if ($548) { + $$551471 = $$541470$ph;$$551662 = $$541661$lcssa;$$581049 = $$571048$ph;$$591156 = $$581155$lcssa;$$591566 = $$581565$lcssa;$$60 = $$59$lcssa;$$601263 = $$591262$ph;$$601369 = $$591368$lcssa; + label = 145; + continue L125; + } + $579 = HEAP8[$$581565$lcssa>>0]|0; + $580 = $579&255; + $581 = $580 << $$59$lcssa; + $582 = ((($$581565$lcssa)) + 1|0); + $583 = HEAP8[$582>>0]|0; + $584 = $583&255; + $585 = (($$59$lcssa) + 8)|0; + $586 = $584 << $585; + $587 = $581 | $$591368$lcssa; + $588 = $587 | $586; + $589 = ((($$581565$lcssa)) + 2|0); + $590 = (($$59$lcssa) + 16)|0; + $$581474 = $$541470$ph;$$581665 = $$541661$lcssa;$$611052 = $$571048$ph;$$621569 = $589;$$63 = $590;$$631266 = $$591262$ph;$$631372 = $588; + label = 156; + continue L125; + break; + } + case 145: { + label = 0; + $549 = $$601369 & 1023; + $550 = (((($0)) + 352|0) + ($549<<1)|0); + $551 = HEAP16[$550>>1]|0; + $552 = $551 << 16 >> 16; + $553 = ($551<<16>>16)>(-1); + if ($553) { + $554 = $552 >> 9; + $555 = (($554) + -1)|0; + $556 = ($555>>>0)<($$60>>>0); + if ($556) { + $$581474 = $$551471;$$581665 = $$551662;$$611052 = $$581049;$$621569 = $$591566;$$63 = $$60;$$631266 = $$601263;$$631372 = $$601369; + label = 156; + continue L125; } else { - label = 9; + label = 150; + break L125; + } + } + $557 = ($$60>>>0)>(10); + if ($557) { + $$0972 = 10;$$0975 = $552; + } else { + label = 150; + break L125; + } + while(1) { + $558 = $$0975 ^ -1; + $559 = $$601369 >>> $$0972; + $560 = $559 & 1; + $561 = (($560) + ($558))|0; + $562 = (((($0)) + 2400|0) + ($561<<1)|0); + $563 = HEAP16[$562>>1]|0; + $564 = ($563<<16>>16)<(0); + if (!($564)) { + $$581474 = $$551471;$$581665 = $$551662;$$611052 = $$581049;$$621569 = $$591566;$$63 = $$60;$$631266 = $$601263;$$631372 = $$601369; + label = 156; + continue L125; + } + $565 = (($$0972) + 1)|0; + $566 = $563 << 16 >> 16; + $567 = (($$0972) + 2)|0; + $568 = ($$60>>>0)<($567>>>0); + if ($568) { + label = 150; + break L125; + } else { + $$0972 = $565;$$0975 = $566; + } + } + break; + } + case 156: { + label = 0; + $591 = $$631372 & 1023; + $592 = (((($0)) + 352|0) + ($591<<1)|0); + $593 = HEAP16[$592>>1]|0; + $594 = $593 << 16 >> 16; + $595 = ($593<<16>>16)>(-1); + if ($595) { + $596 = $594 >> 9; + $597 = $594 & 511; + $$2974 = $596;$$2977 = $597; + } else { + $$1973 = 10;$$1976 = $594; + while(1) { + $598 = $$1976 ^ -1; + $599 = (($$1973) + 1)|0; + $600 = $$631372 >>> $$1973; + $601 = $600 & 1; + $602 = (($601) + ($598))|0; + $603 = (((($0)) + 2400|0) + ($602<<1)|0); + $604 = HEAP16[$603>>1]|0; + $605 = $604 << 16 >> 16; + $606 = ($604<<16>>16)<(0); + if ($606) { + $$1973 = $599;$$1976 = $605; + } else { + $$2974 = $599;$$2977 = $605; + break; + } + } + } + $607 = $$631372 >>> $$2974; + $608 = (($$63) - ($$2974))|0; + $609 = ($$2977>>>0)>(255); + if ($609) { + $$601476 = $$581474;$$611668 = $$581665;$$631054 = $$611052;$$641161 = $$2977;$$651268 = $$631266;$$671574 = $$621569;$$68 = $608;$$681377 = $607; + label = 176; + } else { + $$591475 = $$581474;$$591666 = $$581665;$$621053 = $$611052;$$621159 = $$2977;$$631570 = $$621569;$$64 = $608;$$641267 = $$631266;$$641373 = $607; + label = 160; + continue L46; + } + break; + } + case 179: { + label = 0; + $693 = ($$681575>>>0)<($10>>>0); + if ($693) { + $$631479$ph = $$611477;$$641671$ph = $$621669;$$661057$ph = $$641055;$$671164$ph = $$651162;$$681271$ph = $$661269;$$71$ph = $$69;$$711380$ph = $$691378;$$sink1739 = $$681575; + label = 182; + continue L46; + } else { + $$621478 = $$611477;$$631670 = $$621669;$$651056 = $$641055;$$661163 = $$651162;$$671270 = $$661269;$$691576 = $$681575;$$70 = $$69;$$701379 = $$691378; + label = 180; + continue L46; + } + break; + } + case 184: { + label = 0; + $703 = 1 << $$691272; + $704 = (($703) + -1)|0; + $705 = $704 & $$721381; + $706 = $$721381 >>> $$691272; + $707 = (($$72) - ($$691272))|0; + $708 = (($705) + ($$681165))|0; + $$651481 = $$641480;$$661673 = $$651672;$$681059 = $$671058;$$691166 = $708;$$701273 = $$691272;$$721579 = $$711578;$$73 = $707;$$731382 = $706; + label = 185; + break; + } + case 187: { + label = 0; + $714 = $$741383 & 1023; + $715 = (((($0)) + 3840|0) + ($714<<1)|0); + $716 = HEAP16[$715>>1]|0; + $717 = $716 << 16 >> 16; + $718 = ($716<<16>>16)>(-1); + if ($718) { + $719 = $717 >> 9; + $720 = (($719) + -1)|0; + $721 = ($720>>>0)<($$74>>>0); + if ($721) { + $$691485 = $$661482;$$701677 = $$671674;$$731170 = $$701167;$$761583 = $$731580;$$77 = $$74;$$771386 = $$741383; + label = 198; + continue L125; + } else { + label = 192; + break L125; + } + } + $722 = ($$74>>>0)>(10); + if ($722) { + $$0953 = 10;$$0956 = $717; + } else { + label = 192; + break L125; + } + while(1) { + $723 = $$0956 ^ -1; + $724 = $$741383 >>> $$0953; + $725 = $724 & 1; + $726 = (($725) + ($723))|0; + $727 = (((($0)) + 5888|0) + ($726<<1)|0); + $728 = HEAP16[$727>>1]|0; + $729 = ($728<<16>>16)<(0); + if (!($729)) { + $$691485 = $$661482;$$701677 = $$671674;$$731170 = $$701167;$$761583 = $$731580;$$77 = $$74;$$771386 = $$741383; + label = 198; + continue L125; + } + $730 = (($$0953) + 1)|0; + $731 = $728 << 16 >> 16; + $732 = (($$0953) + 2)|0; + $733 = ($$74>>>0)<($732>>>0); + if ($733) { + label = 192; + break L125; + } else { + $$0953 = $730;$$0956 = $731; + } + } + break; + } + case 198: { + label = 0; + $756 = $$771386 & 1023; + $757 = (((($0)) + 3840|0) + ($756<<1)|0); + $758 = HEAP16[$757>>1]|0; + $759 = $758 << 16 >> 16; + $760 = ($758<<16>>16)>(-1); + if ($760) { + $761 = $759 >> 9; + $762 = $759 & 511; + $$2955 = $761;$$2958 = $762; + } else { + $$1954 = 10;$$1957 = $759; + while(1) { + $763 = $$1957 ^ -1; + $764 = (($$1954) + 1)|0; + $765 = $$771386 >>> $$1954; + $766 = $765 & 1; + $767 = (($766) + ($763))|0; + $768 = (((($0)) + 5888|0) + ($767<<1)|0); + $769 = HEAP16[$768>>1]|0; + $770 = $769 << 16 >> 16; + $771 = ($769<<16>>16)<(0); + if ($771) { + $$1954 = $764;$$1957 = $770; + } else { + $$2955 = $764;$$2958 = $770; + break; + } + } + } + $772 = $$771386 >>> $$2955; + $773 = (($$77) - ($$2955))|0; + $774 = (3364 + ($$2958<<2)|0); + $775 = HEAP32[$774>>2]|0; + $776 = (3492 + ($$2958<<2)|0); + $777 = HEAP32[$776>>2]|0; + $778 = (($$2958) + -4)|0; + $779 = ($778>>>0)<(26); + if ($779) { + $780 = ($773>>>0)<($775>>>0); + if ($780) { + $$701486 = $$691485;$$711678 = $$701677;$$721063 = $777;$$741171 = $$731170;$$741277 = $775;$$771584 = $$761583;$$78 = $773;$$781387 = $772; + label = 203; + continue L125; + } else { + $$741681 = $$701677;$$751066 = $777;$$771174 = $$731170;$$771280 = $775;$$801587 = $$761583;$$81 = $773;$$811390 = $772; + label = 208; + continue L125; } } else { - label = 9; + $$751682 = $$701677;$$761067 = $777;$$781175 = $$731170;$$781281 = $775;$$811588 = $$761583;$$82 = $773;$$821391 = $772; + label = 209; } - } else { - label = 9; + break; + } + case 203: { + label = 0; + $781 = ($$771584>>>0)<($10>>>0); + if ($781) { + $$721488$ph = $$701486;$$731680$ph = $$711678;$$741065$ph = $$721063;$$761173$ph = $$741171;$$761279$ph = $$741277;$$80$ph = $$78;$$801389$ph = $$781387;$$sink1746 = $$771584; + label = 206; + continue L46; + } else { + $$711487 = $$701486;$$721679 = $$711678;$$731064 = $$721063;$$751172 = $$741171;$$751278 = $$741277;$$781585 = $$771584;$$79 = $$78;$$791388 = $$781387; + label = 204; + continue L46; + } + break; + } + case 208: { + label = 0; + $791 = 1 << $$771280; + $792 = (($791) + -1)|0; + $793 = $792 & $$811390; + $794 = $$811390 >>> $$771280; + $795 = (($$81) - ($$771280))|0; + $796 = (($793) + ($$751066))|0; + $$751682 = $$741681;$$761067 = $796;$$781175 = $$771174;$$781281 = $$771280;$$811588 = $$801587;$$82 = $795;$$821391 = $794; + label = 209; + break; + } + case 212: { + label = 0; + $807 = (($$801177) + -1)|0; + $808 = ($$801177|0)==(0); + if ($808) { + $$531469 = $$741490;$$531660 = $$771684;$$561047 = $$781069;$$571154 = $807;$$571564 = $$831590;$$58 = $$84;$$581261 = $$801283;$$581367 = $$841393; + label = 139; + } else { + $$751491 = $$741490;$$781685 = $$771684;$$791070 = $$781069;$$811178 = $807;$$811284 = $$801283;$$841591 = $$831590;$$85 = $$84;$$851394 = $$841393; + label = 213; + continue L46; + } + break; } - } else { - label = 9; } - } else { - label = 9; + do { + if ((label|0) == 70) { + label = 0; + $217 = ((($0)) + 52|0); + $218 = HEAP32[$217>>2]|0; + $219 = ($$381135>>>0)<($218>>>0); + if ($219) { + $220 = ($$39>>>0)<(3); + if ($220) { + $$351451 = $$341450;$$351642 = $$341641;$$391030 = $$381029;$$391136 = $$381135;$$391546 = $$381545;$$40 = $$39;$$401243 = $$391242;$$401349 = $$391348; + label = 72; + continue L125; + } else { + $$381454 = $$341450;$$381645 = $$341641;$$421033 = $$381029;$$421139 = $$381135;$$421549 = $$381545;$$43 = $$39;$$431246 = $$391242;$$431352 = $$391348; + label = 77; + continue L125; + } + } else { + HEAP32[$217>>2] = 19; + $$391455 = $$341450;$$391646 = $$341641;$$431034 = $$381029;$$431140 = $$381135;$$431550 = $$381545;$$44 = $$39;$$441247 = $$391242;$$441353 = $$391348; + label = 80; + continue L125; + } + } + else if ((label|0) == 105) { + label = 0; + $418 = ((($0)) + 44|0); + $419 = HEAP32[$418>>2]|0; + $420 = ((($0)) + 48|0); + $421 = HEAP32[$420>>2]|0; + $422 = (($421) + ($419))|0; + $423 = ($$451142>>>0)<($422>>>0); + if (!($423)) { + $529 = ($422|0)==($$451142|0); + if (!($529)) { + $$511467 = $$411457;$$511658 = $$411648;$$541045 = $$451036;$$551152 = $$451142;$$551562 = $$451552;$$56 = $$46;$$561259 = $$461249;$$561365 = $$461355; + label = 136; + continue L46; + } + $530 = ((($0)) + 64|0); + $531 = ((($0)) + 10532|0); + _memcpy(($530|0),($531|0),($419|0))|0; + $532 = ((($0)) + 3552|0); + $533 = HEAP32[$418>>2]|0; + $534 = (((($0)) + 10532|0) + ($533)|0); + $535 = HEAP32[$420>>2]|0; + _memcpy(($532|0),($534|0),($535|0))|0; + $$521468 = $$411457;$$521659 = $$411648;$$551046 = $$451036;$$561153 = $$451142;$$561563 = $$451552;$$57 = $$46;$$571260 = $$461249;$$571366 = $$461355; + label = 138; + break; + } + $424 = ($$46>>>0)<(15); + if (!($424)) { + $$451461 = $$411457;$$451652 = $$411648;$$491146 = $$451142;$$491556 = $$451552;$$50 = $$46;$$501253 = $$461249;$$501359 = $$461355; + label = 119; + continue L125; + } + $425 = $10; + $426 = $$451552; + $427 = (($425) - ($426))|0; + $428 = ($427|0)<(2); + if ($428) { + $$421458 = $$411457;$$421649 = $$411648;$$461037 = $$451036;$$461143 = $$451142;$$461553 = $$451552;$$47 = $$46;$$471250 = $$461249;$$471356 = $$461355; + label = 108; + continue L125; + } + $459 = HEAP8[$$451552>>0]|0; + $460 = $459&255; + $461 = $460 << $$46; + $462 = ((($$451552)) + 1|0); + $463 = HEAP8[$462>>0]|0; + $464 = $463&255; + $465 = (($$46) + 8)|0; + $466 = $464 << $465; + $467 = $461 | $$461355; + $468 = $467 | $466; + $469 = ((($$451552)) + 2|0); + $470 = (($$46) + 16)|0; + $$451461 = $$411457;$$451652 = $$411648;$$491146 = $$451142;$$491556 = $469;$$50 = $470;$$501253 = $$461249;$$501359 = $468; + label = 119; + continue L125; + } + else if ((label|0) == 176) { + label = 0; + $683 = $$641161 & 511; + $684 = ($683|0)==(256); + if ($684) { + $$761492 = $$601476;$$801071 = $$631054;$$801687 = $$611668;$$821285 = $$651268;$$831180 = 256;$$851592 = $$671574;$$86 = $$68;$$861395 = $$681377; + label = 220; + break L125; + } + $685 = (($683) + -257)|0; + $686 = (3116 + ($685<<2)|0); + $687 = HEAP32[$686>>2]|0; + $688 = (3240 + ($685<<2)|0); + $689 = HEAP32[$688>>2]|0; + $690 = (($683) + -265)|0; + $691 = ($690>>>0)<(20); + if ($691) { + $692 = ($$68>>>0)<($687>>>0); + if ($692) { + $$611477 = $$601476;$$621669 = $$611668;$$641055 = $$631054;$$651162 = $689;$$661269 = $687;$$681575 = $$671574;$$69 = $$68;$$691378 = $$681377; + label = 179; + continue L125; + } else { + $$641480 = $$601476;$$651672 = $$611668;$$671058 = $$631054;$$681165 = $689;$$691272 = $687;$$711578 = $$671574;$$72 = $$68;$$721381 = $$681377; + label = 184; + continue L125; + } + } else { + $$651481 = $$601476;$$661673 = $$611668;$$681059 = $$631054;$$691166 = $689;$$701273 = $687;$$721579 = $$671574;$$73 = $$68;$$731382 = $$681377; + label = 185; + } + } + else if ((label|0) == 209) { + label = 0; + $797 = $$751682; + $798 = $3; + $799 = (($797) - ($798))|0; + $$not = ($799>>>0)>=($$761067>>>0); + $$not1747 = $14 ^ 1; + $brmerge = $$not | $$not1747; + if (!($brmerge)) { + $$731489 = $799;$$761683 = $$751682;$$771068 = $$761067;$$791176 = $$781175;$$791282 = $$781281;$$821589 = $$811588;$$83 = $$82;$$831392 = $$821391; + label = 210; + continue L46; + } + $800 = (($799) - ($$761067))|0; + $801 = $800 & $$1753; + $802 = (($3) + ($801)|0); + $803 = ($$751682>>>0)>($802>>>0); + $804 = $803 ? $$751682 : $802; + $805 = (($804) + ($$781175)|0); + $806 = ($805>>>0)>($12>>>0); + if ($806) { + $$741490 = $799;$$771684 = $$751682;$$781069 = $$761067;$$801177 = $$781175;$$801283 = $$781281;$$831590 = $$811588;$$84 = $$82;$$841393 = $$821391; + label = 212; + continue L125; + } else { + $$0978 = $802;$$791686 = $$751682;$$821179 = $$781175; + } + while(1) { + $816 = HEAP8[$$0978>>0]|0; + HEAP8[$$791686>>0] = $816; + $817 = ((($$0978)) + 1|0); + $818 = HEAP8[$817>>0]|0; + $819 = ((($$791686)) + 1|0); + HEAP8[$819>>0] = $818; + $820 = ((($$0978)) + 2|0); + $821 = HEAP8[$820>>0]|0; + $822 = ((($$791686)) + 2|0); + HEAP8[$822>>0] = $821; + $823 = ((($$791686)) + 3|0); + $824 = ((($$0978)) + 3|0); + $825 = (($$821179) + -3)|0; + $826 = ($825|0)>(2); + if ($826) { + $$0978 = $824;$$791686 = $823;$$821179 = $825; + } else { + break; + } + } + $827 = ($825|0)>(0); + if ($827) { + $828 = HEAP8[$824>>0]|0; + HEAP8[$823>>0] = $828; + $829 = ($825|0)==(1); + if (!($829)) { + $830 = ((($$0978)) + 4|0); + $831 = HEAP8[$830>>0]|0; + $832 = ((($$791686)) + 4|0); + HEAP8[$832>>0] = $831; + } + $833 = (($823) + ($825)|0); + $$531469 = $799;$$531660 = $833;$$561047 = $$761067;$$571154 = $825;$$571564 = $$811588;$$58 = $$82;$$581261 = $$781281;$$581367 = $$821391; + label = 139; + } else { + $$531469 = $799;$$531660 = $823;$$561047 = $$761067;$$571154 = $825;$$571564 = $$811588;$$58 = $$82;$$581261 = $$781281;$$581367 = $$821391; + label = 139; + } + } + } while(0); + if ((label|0) == 138) { + label = 0; + $536 = ((($0)) + 24|0); + $537 = HEAP32[$536>>2]|0; + $538 = (($537) + -1)|0; + HEAP32[$536>>2] = $538; + $$391455 = $$521468;$$391646 = $$521659;$$431034 = $$551046;$$431140 = $$561153;$$431550 = $$561563;$$44 = $$57;$$441247 = $$571260;$$441353 = $$571366; + label = 80; + continue; + } + else if ((label|0) == 139) { + label = 0; + $$541470$ph = $$531469;$$541661$ph = $$531660;$$571048$ph = $$561047;$$581155$ph = $$571154;$$581565$ph = $$571564;$$59$ph = $$58;$$591262$ph = $$581261;$$591368$ph = $$581367; + label = 140; + continue; + } + else if ((label|0) == 185) { + label = 0; + $709 = ($$73>>>0)<(15); + if (!($709)) { + $$691485 = $$651481;$$701677 = $$661673;$$731170 = $$691166;$$761583 = $$721579;$$77 = $$73;$$771386 = $$731382; + label = 198; + continue; + } + $710 = $10; + $711 = $$721579; + $712 = (($710) - ($711))|0; + $713 = ($712|0)<(2); + if ($713) { + $$661482 = $$651481;$$671674 = $$661673;$$691060 = $$681059;$$701167 = $$691166;$$711274 = $$701273;$$731580 = $$721579;$$74 = $$73;$$741383 = $$731382; + label = 187; + continue; + } + $744 = HEAP8[$$721579>>0]|0; + $745 = $744&255; + $746 = $745 << $$73; + $747 = ((($$721579)) + 1|0); + $748 = HEAP8[$747>>0]|0; + $749 = $748&255; + $750 = (($$73) + 8)|0; + $751 = $749 << $750; + $752 = $746 | $$731382; + $753 = $752 | $751; + $754 = ((($$721579)) + 2|0); + $755 = (($$73) + 16)|0; + $$691485 = $$651481;$$701677 = $$661673;$$731170 = $$691166;$$761583 = $754;$$77 = $755;$$771386 = $753; + label = 198; + continue; + } + } + if ((label|0) == 113) { + label = 0; + $449 = ($$461553>>>0)<($10>>>0); + if ($449) { + $$441460$ph = $$421458;$$441651$ph = $$421649;$$481039$ph = $$461037;$$481145$ph = $$461143;$$49$ph = $$47;$$491252$ph = $$471250;$$491358$ph = $$471356;$$sink1729 = $$461553; + label = 116; + continue; + } else { + $$431459 = $$421458;$$431650 = $$421649;$$471038 = $$461037;$$471144 = $$461143;$$471554 = $$461553;$$48 = $$47;$$481251 = $$471250;$$481357 = $$471356; + label = 114; + continue; + } + } + else if ((label|0) == 150) { + label = 0; + $569 = ($$591566>>>0)<($10>>>0); + if ($569) { + $$571473$ph = $$551471;$$571664$ph = $$551662;$$601051$ph = $$581049;$$611158$ph = $$591156;$$62$ph = $$60;$$621265$ph = $$601263;$$621371$ph = $$601369;$$sink1736 = $$591566; + label = 153; + continue; + } else { + $$561472 = $$551471;$$561663 = $$551662;$$591050 = $$581049;$$601157 = $$591156;$$601567 = $$591566;$$61 = $$60;$$611264 = $$601263;$$611370 = $$601369; + label = 151; + continue; + } + } + else if ((label|0) == 192) { + label = 0; + $734 = ($$731580>>>0)<($10>>>0); + if ($734) { + $$681484$ph = $$661482;$$691676$ph = $$671674;$$711062$ph = $$691060;$$721169$ph = $$701167;$$731276$ph = $$711274;$$76$ph = $$74;$$761385$ph = $$741383;$$sink1743 = $$731580; + label = 195; + continue; + } else { + $$671483 = $$661482;$$681675 = $$671674;$$701061 = $$691060;$$711168 = $$701167;$$721275 = $$711274;$$741581 = $$731580;$$75 = $$74;$$751384 = $$741383; + label = 193; + continue; + } + } + else if ((label|0) == 220) { + label = 0; + $834 = ((($0)) + 20|0); + $835 = HEAP32[$834>>2]|0; + $836 = $835 & 1; + $837 = ($836|0)==(0); + if ($837) { + $$01416 = $$761492;$$01607 = $$801687;$$41511 = $$851592;$$5 = $$86;$$51102 = $$831180;$$51208 = $$821285;$$51314 = $$861395;$$5996 = $$801071; + label = 14; + continue; + } + $838 = $6 & 1; + $839 = ($838|0)==(0); + if ($839) { + $$881504 = $$761492;$$921083 = $$801071;$$921699 = $$801687;$$941191 = $$831180;$$941297 = $$821285;$$971604 = $$851592;$$98 = $$86;$$981407 = $$861395; + label = 242; + continue; + } else { + $$801496 = $$761492;$$841075 = $$801071;$$841691 = $$801687;$$861289 = $$821285;$$891596 = $$851592;$$90 = $$86;$$901399 = $$861395; + label = 226; + continue; + } } - } while(0); - if ((label|0) == 9) { - HEAP32[$vararg_buffer1>>2] = $fileName; - _TraceLog(2,16495,$vararg_buffer1); - $image$sroa$0$0 = 0;$image$sroa$3$0 = 0;$image$sroa$5$0 = 0;$image$sroa$7$0 = 0;$image$sroa$9$0 = 0; } - (_fclose($0)|0); - $image$sroa$0$1 = $image$sroa$0$0;$image$sroa$3$1 = $image$sroa$3$0;$image$sroa$5$1 = $image$sroa$5$0;$image$sroa$7$1 = $image$sroa$7$0;$image$sroa$9$1 = $image$sroa$9$0; - HEAP32[$agg$result>>2] = $image$sroa$0$1; - $40 = ((($agg$result)) + 4|0); - HEAP32[$40>>2] = $image$sroa$3$1; - $41 = ((($agg$result)) + 8|0); - HEAP32[$41>>2] = $image$sroa$5$1; - $42 = ((($agg$result)) + 12|0); - HEAP32[$42>>2] = $image$sroa$7$1; - $43 = ((($agg$result)) + 16|0); - HEAP32[$43>>2] = $image$sroa$9$1; + if ((label|0) == 258) { + STACKTOP = sp;return ($$0951|0); + } + $892 = ((($0)) + 28|0); + $893 = HEAP32[$892>>2]|0; + $894 = $893 & 65535; + $895 = $893 >>> 16; + $896 = ($888|0)==(0); + if ($896) { + $$0937$lcssa = $895;$$0938$lcssa = $894; + } else { + $897 = (($888>>>0) % 5552)&-1; + $$01834 = $897;$$09371833 = $895;$$09381832 = $894;$$09431831 = $888;$$09441830 = $4; + while(1) { + $898 = ($$01834>>>0)>(7); + if ($898) { + $899 = (($$01834) + -8)|0; + $900 = $899 & -8; + $scevgep = ((($$09441830)) + 8|0); + $$09411816 = 0;$$11818 = $$09371833;$$19391817 = $$09381832;$$19451815 = $$09441830; + while(1) { + $904 = HEAP8[$$19451815>>0]|0; + $905 = $904&255; + $906 = (($905) + ($$19391817))|0; + $907 = (($906) + ($$11818))|0; + $908 = ((($$19451815)) + 1|0); + $909 = HEAP8[$908>>0]|0; + $910 = $909&255; + $911 = (($906) + ($910))|0; + $912 = (($907) + ($911))|0; + $913 = ((($$19451815)) + 2|0); + $914 = HEAP8[$913>>0]|0; + $915 = $914&255; + $916 = (($911) + ($915))|0; + $917 = (($912) + ($916))|0; + $918 = ((($$19451815)) + 3|0); + $919 = HEAP8[$918>>0]|0; + $920 = $919&255; + $921 = (($916) + ($920))|0; + $922 = (($917) + ($921))|0; + $923 = ((($$19451815)) + 4|0); + $924 = HEAP8[$923>>0]|0; + $925 = $924&255; + $926 = (($921) + ($925))|0; + $927 = (($922) + ($926))|0; + $928 = ((($$19451815)) + 5|0); + $929 = HEAP8[$928>>0]|0; + $930 = $929&255; + $931 = (($926) + ($930))|0; + $932 = (($927) + ($931))|0; + $933 = ((($$19451815)) + 6|0); + $934 = HEAP8[$933>>0]|0; + $935 = $934&255; + $936 = (($931) + ($935))|0; + $937 = (($932) + ($936))|0; + $938 = ((($$19451815)) + 7|0); + $939 = HEAP8[$938>>0]|0; + $940 = $939&255; + $941 = (($936) + ($940))|0; + $942 = (($937) + ($941))|0; + $943 = (($$09411816) + 8)|0; + $944 = ((($$19451815)) + 8|0); + $945 = $943 | 7; + $946 = ($945>>>0)<($$01834>>>0); + if ($946) { + $$09411816 = $943;$$11818 = $942;$$19391817 = $941;$$19451815 = $944; + } else { + break; + } + } + $901 = (($900) + 8)|0; + $scevgep1947 = (($scevgep) + ($900)|0); + $$0941$lcssa = $901;$$1$lcssa = $942;$$1939$lcssa = $941;$$1945$lcssa = $scevgep1947; + } else { + $$0941$lcssa = 0;$$1$lcssa = $$09371833;$$1939$lcssa = $$09381832;$$1945$lcssa = $$09441830; + } + $902 = ($$01834>>>0)>($$0941$lcssa>>>0); + if ($902) { + $903 = (($$01834) - ($$0941$lcssa))|0; + $$19421823 = $$0941$lcssa;$$21825 = $$1$lcssa;$$29401824 = $$1939$lcssa;$$29461822 = $$1945$lcssa; + while(1) { + $947 = ((($$29461822)) + 1|0); + $948 = HEAP8[$$29461822>>0]|0; + $949 = $948&255; + $950 = (($949) + ($$29401824))|0; + $951 = (($950) + ($$21825))|0; + $952 = (($$19421823) + 1)|0; + $exitcond = ($952|0)==($$01834|0); + if ($exitcond) { + break; + } else { + $$19421823 = $952;$$21825 = $951;$$29401824 = $950;$$29461822 = $947; + } + } + $scevgep1948 = (($$1945$lcssa) + ($903)|0); + $$2$lcssa = $951;$$2940$lcssa = $950;$$2946$lcssa = $scevgep1948; + } else { + $$2$lcssa = $$1$lcssa;$$2940$lcssa = $$1939$lcssa;$$2946$lcssa = $$1945$lcssa; + } + $953 = (($$2940$lcssa>>>0) % 65521)&-1; + $954 = (($$2$lcssa>>>0) % 65521)&-1; + $955 = (($$09431831) - ($$01834))|0; + $956 = ($955|0)==(0); + if ($956) { + $$0937$lcssa = $954;$$0938$lcssa = $953; + break; + } else { + $$01834 = 5552;$$09371833 = $954;$$09381832 = $953;$$09431831 = $955;$$09441830 = $$2946$lcssa; + } + } + } + $957 = $$0937$lcssa << 16; + $958 = $957 | $$0938$lcssa; + HEAP32[$892>>2] = $958; + $959 = ($$1961|0)!=(0); + $960 = $6 & 1; + $961 = ($960|0)==(0); + $or$cond1752 = $961 | $959; + if ($or$cond1752) { + $$0951 = $$1961; + STACKTOP = sp;return ($$0951|0); + } else { + $962 = ((($0)) + 16|0); + $963 = HEAP32[$962>>2]|0; + $964 = ($958|0)==($963|0); + $$1961$ = $964 ? $$1961 : -2; + STACKTOP = sp;return ($$1961$|0); + } + return (0)|0; +} +function _LoadTexture($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$byval_copy1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $$byval_copy1 = sp + 44|0; + $vararg_buffer = sp; + $2 = sp + 24|0; + $3 = sp + 4|0; + ;HEAP32[$2>>2]=0|0;HEAP32[$2+4>>2]=0|0;HEAP32[$2+8>>2]=0|0;HEAP32[$2+12>>2]=0|0;HEAP32[$2+16>>2]=0|0; + _LoadImage($3,$1); + $4 = HEAP32[$3>>2]|0; + $5 = ($4|0)==(0|0); + if ($5) { + _TraceLog(1,13255,$vararg_buffer); + ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$2+16>>2]|0; + STACKTOP = sp;return; + } else { + ;HEAP32[$$byval_copy1>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$3+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$3+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$3+16>>2]|0; + _LoadTextureFromImage($2,$$byval_copy1); + ;HEAP32[$$byval_copy1>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$3+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$3+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$3+16>>2]|0; + _UnloadImage($$byval_copy1); + ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$2+16>>2]|0; + STACKTOP = sp;return; + } +} +function _ImageAlphaMask($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $$031 = 0, $$032 = 0, $$033 = 0, $$byval_copy3 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; + var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; + var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, label = 0; + var sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $$byval_copy3 = sp + 32|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $2 = sp + 12|0; + $3 = ((($0)) + 4|0); + $4 = HEAP32[$3>>2]|0; + $5 = ((($1)) + 4|0); + $6 = HEAP32[$5>>2]|0; + $7 = ($4|0)==($6|0); + if ($7) { + $8 = ((($0)) + 8|0); + $9 = HEAP32[$8>>2]|0; + $10 = ((($1)) + 8|0); + $11 = HEAP32[$10>>2]|0; + $12 = ($9|0)==($11|0); + if ($12) { + $13 = ((($0)) + 16|0); + $14 = HEAP32[$13>>2]|0; + $15 = ($14|0)>(7); + if ($15) { + _TraceLog(1,13322,$vararg_buffer1); + STACKTOP = sp;return; + } + ;HEAP32[$$byval_copy3>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$$byval_copy3+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[$$byval_copy3+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[$$byval_copy3+16>>2]=HEAP32[$1+16>>2]|0; + _ImageCopy($2,$$byval_copy3); + $16 = ((($2)) + 16|0); + $17 = HEAP32[$16>>2]|0; + $18 = ($17|0)==(1); + if (!($18)) { + _ImageFormat($2,1); + } + $19 = HEAP32[$13>>2]|0; + L11: do { + switch ($19|0) { + case 1: { + _ImageFormat($0,2); + $20 = ((($2)) + 4|0); + $21 = HEAP32[$20>>2]|0; + $22 = ((($2)) + 8|0); + $23 = HEAP32[$22>>2]|0; + $24 = Math_imul($23, $21)|0; + $25 = HEAP32[$2>>2]|0; + $$032 = 1;$$033 = 0; + while(1) { + $26 = ($$033|0)<($24|0); + if (!($26)) { + $27 = HEAP32[$3>>2]|0; + $28 = HEAP32[$8>>2]|0; + $29 = Math_imul($28, $27)|0; + $30 = ($$033|0)<($29|0); + if (!($30)) { + break L11; + } + } + $31 = (($25) + ($$033)|0); + $32 = HEAP8[$31>>0]|0; + $33 = HEAP32[$0>>2]|0; + $34 = (($33) + ($$032)|0); + HEAP8[$34>>0] = $32; + $35 = (($$033) + 1)|0; + $36 = (($$032) + 2)|0; + $$032 = $36;$$033 = $35; + } + break; + } + case 7: { + label = 14; + break; + } + default: { + _ImageFormat($0,7); + label = 14; + } + } + } while(0); + L19: do { + if ((label|0) == 14) { + $37 = ((($2)) + 4|0); + $38 = HEAP32[$37>>2]|0; + $39 = ((($2)) + 8|0); + $40 = HEAP32[$39>>2]|0; + $41 = Math_imul($40, $38)|0; + $42 = HEAP32[$2>>2]|0; + $$0 = 3;$$031 = 0; + while(1) { + $43 = ($$031|0)<($41|0); + if (!($43)) { + $44 = HEAP32[$3>>2]|0; + $45 = HEAP32[$8>>2]|0; + $46 = Math_imul($45, $44)|0; + $47 = ($$031|0)<($46|0); + if (!($47)) { + break L19; + } + } + $48 = (($42) + ($$031)|0); + $49 = HEAP8[$48>>0]|0; + $50 = HEAP32[$0>>2]|0; + $51 = (($50) + ($$0)|0); + HEAP8[$51>>0] = $49; + $52 = (($$031) + 1)|0; + $53 = (($$0) + 4)|0; + $$0 = $53;$$031 = $52; + } + } + } while(0); + ;HEAP32[$$byval_copy3>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$$byval_copy3+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$$byval_copy3+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$$byval_copy3+16>>2]=HEAP32[$2+16>>2]|0; + _UnloadImage($$byval_copy3); + STACKTOP = sp;return; + } + } + _TraceLog(1,13284,$vararg_buffer); STACKTOP = sp;return; } -function _LoadPVR($agg$result,$fileName) { - $agg$result = $agg$result|0; - $fileName = $fileName|0; - var $$ = 0, $$1 = 0, $$2 = 0, $$pr = 0, $$pr3 = 0, $$pr5 = 0, $$pr7 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0; - var $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0; +function _GetDefaultFont($0) { + $0 = $0|0; + var label = 0, sp = 0; + sp = STACKTOP; + ;HEAP32[$0>>2]=HEAP32[24888>>2]|0;HEAP32[$0+4>>2]=HEAP32[24888+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[24888+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[24888+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[24888+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[24888+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[24888+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[24888+28>>2]|0; + return; +} +function _GetCharIndex($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$08 = 0, $$09 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($0)) + 24|0); + $3 = HEAP32[$2>>2]|0; + $4 = ($3|0)>(0); + if (!($4)) { + $$08 = 0; + return ($$08|0); + } + $5 = ((($0)) + 28|0); + $6 = HEAP32[$5>>2]|0; + $$09 = 0; + while(1) { + $7 = (($6) + ($$09<<5)|0); + $8 = HEAP32[$7>>2]|0; + $9 = ($8|0)==($1|0); + if ($9) { + $$08 = $$09; + label = 5; + break; + } + $10 = (($$09) + 1)|0; + $11 = HEAP32[$2>>2]|0; + $12 = ($10|0)<($11|0); + if ($12) { + $$09 = $10; + } else { + $$08 = 0; + label = 5; + break; + } + } + if ((label|0) == 5) { + return ($$08|0); + } + return (0)|0; +} +function _SetTextureFilter($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $vararg_buffer = sp; + switch ($1|0) { + case 0: { + $2 = ((($0)) + 12|0); + $3 = HEAP32[$2>>2]|0; + $4 = ($3|0)>(1); + $5 = HEAP32[$0>>2]|0; + if ($4) { + _rlTextureParameters($5,10241,9984); + $6 = HEAP32[$0>>2]|0; + _rlTextureParameters($6,10240,9728); + STACKTOP = sp;return; + } else { + _rlTextureParameters($5,10241,9728); + $7 = HEAP32[$0>>2]|0; + _rlTextureParameters($7,10240,9728); + STACKTOP = sp;return; + } + break; + } + case 1: { + $8 = ((($0)) + 12|0); + $9 = HEAP32[$8>>2]|0; + $10 = ($9|0)>(1); + $11 = HEAP32[$0>>2]|0; + if ($10) { + _rlTextureParameters($11,10241,9985); + $12 = HEAP32[$0>>2]|0; + _rlTextureParameters($12,10240,9729); + STACKTOP = sp;return; + } else { + _rlTextureParameters($11,10241,9729); + $13 = HEAP32[$0>>2]|0; + _rlTextureParameters($13,10240,9729); + STACKTOP = sp;return; + } + break; + } + case 2: { + $14 = ((($0)) + 12|0); + $15 = HEAP32[$14>>2]|0; + $16 = ($15|0)>(1); + $17 = HEAP32[$0>>2]|0; + if ($16) { + _rlTextureParameters($17,10241,9987); + $18 = HEAP32[$0>>2]|0; + _rlTextureParameters($18,10240,9729); + STACKTOP = sp;return; + } else { + HEAP32[$vararg_buffer>>2] = $17; + _TraceLog(1,13379,$vararg_buffer); + $19 = HEAP32[$0>>2]|0; + _rlTextureParameters($19,10241,9729); + _rlTextureParameters($19,10240,9729); + STACKTOP = sp;return; + } + break; + } + case 3: { + $20 = HEAP32[$0>>2]|0; + _rlTextureParameters($20,12288,4); + STACKTOP = sp;return; + break; + } + case 4: { + $21 = HEAP32[$0>>2]|0; + _rlTextureParameters($21,12288,8); + STACKTOP = sp;return; + break; + } + case 5: { + $22 = HEAP32[$0>>2]|0; + _rlTextureParameters($22,12288,16); + STACKTOP = sp;return; + break; + } + default: { + STACKTOP = sp;return; + } + } +} +function _DrawTexture($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $4 = 0, $5 = 0.0, $6 = 0, $7 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0); + $$byval_copy2 = sp + 40|0; + $$byval_copy1 = sp + 32|0; + $$byval_copy = sp + 8|0; + $4 = sp; + $5 = (+($1|0)); + HEAPF32[$4>>2] = $5; + $6 = ((($4)) + 4|0); + $7 = (+($2|0)); + HEAPF32[$6>>2] = $7; + ;HEAP32[$$byval_copy>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$0+16>>2]|0; + ;HEAP32[$$byval_copy1>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$4+4>>2]|0; + ;HEAP8[$$byval_copy2>>0]=HEAP8[$3>>0]|0;HEAP8[$$byval_copy2+1>>0]=HEAP8[$3+1>>0]|0;HEAP8[$$byval_copy2+2>>0]=HEAP8[$3+2>>0]|0;HEAP8[$$byval_copy2+3>>0]=HEAP8[$3+3>>0]|0; + _DrawTextureEx($$byval_copy,$$byval_copy1,0.0,1.0,$$byval_copy2); + STACKTOP = sp;return; +} +function _DrawTextureEx($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = +$2; + $3 = +$3; + $4 = $4|0; + var $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $$byval_copy3 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0.0, $16 = 0, $17 = 0, $18 = 0, $19 = 0.0, $20 = 0, $21 = 0, $22 = 0, $23 = 0.0, $24 = 0.0, $25 = 0; + var $26 = 0, $27 = 0, $28 = 0.0, $29 = 0.0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $tmpcast$byval_copy = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0); + $$byval_copy3 = sp + 104|0; + $tmpcast$byval_copy = sp + 96|0; + $$byval_copy2 = sp + 80|0; + $$byval_copy1 = sp + 64|0; + $$byval_copy = sp + 40|0; + $5 = sp + 24|0; + $6 = sp + 8|0; + $7 = sp; + HEAP32[$5>>2] = 0; + $8 = ((($5)) + 4|0); + HEAP32[$8>>2] = 0; + $9 = ((($5)) + 8|0); + $10 = ((($0)) + 4|0); + $11 = HEAP32[$10>>2]|0; + HEAP32[$9>>2] = $11; + $12 = ((($5)) + 12|0); + $13 = ((($0)) + 8|0); + $14 = HEAP32[$13>>2]|0; + HEAP32[$12>>2] = $14; + $15 = +HEAPF32[$1>>2]; + $16 = (~~(($15))); + HEAP32[$6>>2] = $16; + $17 = ((($6)) + 4|0); + $18 = ((($1)) + 4|0); + $19 = +HEAPF32[$18>>2]; + $20 = (~~(($19))); + HEAP32[$17>>2] = $20; + $21 = ((($6)) + 8|0); + $22 = HEAP32[$10>>2]|0; + $23 = (+($22|0)); + $24 = $23 * $3; + $25 = (~~(($24))); + HEAP32[$21>>2] = $25; + $26 = ((($6)) + 12|0); + $27 = HEAP32[$13>>2]|0; + $28 = (+($27|0)); + $29 = $28 * $3; + $30 = (~~(($29))); + HEAP32[$26>>2] = $30; + $31 = $7; + $32 = $31; + HEAP32[$32>>2] = 0; + $33 = (($31) + 4)|0; + $34 = $33; + HEAP32[$34>>2] = 0; + ;HEAP32[$$byval_copy>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$0+16>>2]|0; + ;HEAP32[$$byval_copy1>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$5+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$5+12>>2]|0; + ;HEAP32[$$byval_copy2>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$6+4>>2]|0;HEAP32[$$byval_copy2+8>>2]=HEAP32[$6+8>>2]|0;HEAP32[$$byval_copy2+12>>2]=HEAP32[$6+12>>2]|0; + ;HEAP32[$tmpcast$byval_copy>>2]=HEAP32[$7>>2]|0;HEAP32[$tmpcast$byval_copy+4>>2]=HEAP32[$7+4>>2]|0; + ;HEAP8[$$byval_copy3>>0]=HEAP8[$4>>0]|0;HEAP8[$$byval_copy3+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$$byval_copy3+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$$byval_copy3+3>>0]=HEAP8[$4+3>>0]|0; + _DrawTexturePro($$byval_copy,$$byval_copy1,$$byval_copy2,$tmpcast$byval_copy,$2,$$byval_copy3); + STACKTOP = sp;return; +} +function _DrawTexturePro($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = +$4; + $5 = $5|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0.0, $22 = 0, $23 = 0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0, $28 = 0.0, $29 = 0.0; + var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0.0, $39 = 0, $40 = 0, $41 = 0.0, $42 = 0.0, $43 = 0, $44 = 0, $45 = 0.0, $46 = 0, $47 = 0, $48 = 0.0, $49 = 0.0; + var $50 = 0, $51 = 0.0, $52 = 0, $53 = 0.0, $54 = 0.0, $55 = 0, $56 = 0, $57 = 0, $58 = 0.0, $59 = 0, $6 = 0, $60 = 0.0, $61 = 0.0, $62 = 0, $63 = 0, $64 = 0.0, $65 = 0, $66 = 0, $67 = 0, $68 = 0.0; + var $69 = 0, $7 = 0, $70 = 0.0, $71 = 0.0, $72 = 0, $73 = 0, $74 = 0, $75 = 0.0, $76 = 0, $77 = 0.0, $78 = 0.0, $79 = 0, $8 = 0, $80 = 0, $81 = 0.0, $82 = 0, $83 = 0.0, $84 = 0, $85 = 0, $86 = 0; + var $87 = 0.0, $88 = 0, $89 = 0.0, $9 = 0, $90 = 0.0, $91 = 0, $92 = 0.0, $93 = 0, $94 = 0.0, $95 = 0.0, $96 = 0, $97 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $6 = HEAP32[$0>>2]|0; + $7 = ($6|0)==(0); + if ($7) { + return; + } + $8 = ((($1)) + 8|0); + $9 = HEAP32[$8>>2]|0; + $10 = ($9|0)<(0); + if ($10) { + $11 = HEAP32[$1>>2]|0; + $12 = (($11) - ($9))|0; + HEAP32[$1>>2] = $12; + } + $13 = ((($1)) + 12|0); + $14 = HEAP32[$13>>2]|0; + $15 = ($14|0)<(0); + if ($15) { + $16 = ((($1)) + 4|0); + $17 = HEAP32[$16>>2]|0; + $18 = (($17) - ($14))|0; + HEAP32[$16>>2] = $18; + } + $19 = HEAP32[$0>>2]|0; + _rlEnableTexture($19); + _rlPushMatrix(); + $20 = HEAP32[$2>>2]|0; + $21 = (+($20|0)); + $22 = ((($2)) + 4|0); + $23 = HEAP32[$22>>2]|0; + $24 = (+($23|0)); + _rlTranslatef($21,$24,0.0); + _rlRotatef($4,0.0,0.0,1.0); + $25 = +HEAPF32[$3>>2]; + $26 = -$25; + $27 = ((($3)) + 4|0); + $28 = +HEAPF32[$27>>2]; + $29 = -$28; + _rlTranslatef($26,$29,0.0); + _rlBegin(7); + $30 = HEAP8[$5>>0]|0; + $31 = ((($5)) + 1|0); + $32 = HEAP8[$31>>0]|0; + $33 = ((($5)) + 2|0); + $34 = HEAP8[$33>>0]|0; + $35 = ((($5)) + 3|0); + $36 = HEAP8[$35>>0]|0; + _rlColor4ub($30,$32,$34,$36); + $37 = HEAP32[$1>>2]|0; + $38 = (+($37|0)); + $39 = ((($0)) + 4|0); + $40 = HEAP32[$39>>2]|0; + $41 = (+($40|0)); + $42 = $38 / $41; + $43 = ((($1)) + 4|0); + $44 = HEAP32[$43>>2]|0; + $45 = (+($44|0)); + $46 = ((($0)) + 8|0); + $47 = HEAP32[$46>>2]|0; + $48 = (+($47|0)); + $49 = $45 / $48; + _rlTexCoord2f($42,$49); + _rlVertex2f(0.0,0.0); + $50 = HEAP32[$1>>2]|0; + $51 = (+($50|0)); + $52 = HEAP32[$39>>2]|0; + $53 = (+($52|0)); + $54 = $51 / $53; + $55 = HEAP32[$43>>2]|0; + $56 = HEAP32[$13>>2]|0; + $57 = (($56) + ($55))|0; + $58 = (+($57|0)); + $59 = HEAP32[$46>>2]|0; + $60 = (+($59|0)); + $61 = $58 / $60; + _rlTexCoord2f($54,$61); + $62 = ((($2)) + 12|0); + $63 = HEAP32[$62>>2]|0; + $64 = (+($63|0)); + _rlVertex2f(0.0,$64); + $65 = HEAP32[$1>>2]|0; + $66 = HEAP32[$8>>2]|0; + $67 = (($66) + ($65))|0; + $68 = (+($67|0)); + $69 = HEAP32[$39>>2]|0; + $70 = (+($69|0)); + $71 = $68 / $70; + $72 = HEAP32[$43>>2]|0; + $73 = HEAP32[$13>>2]|0; + $74 = (($73) + ($72))|0; + $75 = (+($74|0)); + $76 = HEAP32[$46>>2]|0; + $77 = (+($76|0)); + $78 = $75 / $77; + _rlTexCoord2f($71,$78); + $79 = ((($2)) + 8|0); + $80 = HEAP32[$79>>2]|0; + $81 = (+($80|0)); + $82 = HEAP32[$62>>2]|0; + $83 = (+($82|0)); + _rlVertex2f($81,$83); + $84 = HEAP32[$1>>2]|0; + $85 = HEAP32[$8>>2]|0; + $86 = (($85) + ($84))|0; + $87 = (+($86|0)); + $88 = HEAP32[$39>>2]|0; + $89 = (+($88|0)); + $90 = $87 / $89; + $91 = HEAP32[$43>>2]|0; + $92 = (+($91|0)); + $93 = HEAP32[$46>>2]|0; + $94 = (+($93|0)); + $95 = $92 / $94; + _rlTexCoord2f($90,$95); + $96 = HEAP32[$79>>2]|0; + $97 = (+($96|0)); + _rlVertex2f($97,0.0); + _rlEnd(); + _rlPopMatrix(); + _rlDisableTexture(); + return; +} +function _LoadSpriteFont($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$byval_copy2 = 0, $$byval_copy5 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0); + $$byval_copy5 = sp + 232|0; + $$byval_copy2 = sp + 212|0; + $vararg_buffer = sp; + $2 = sp + 96|0; + $3 = sp + 192|0; + $4 = sp + 160|0; + $5 = sp + 128|0; + $6 = sp + 40|0; + $7 = sp + 252|0; + $8 = sp + 64|0; + $9 = sp + 8|0; + ;HEAP32[$2>>2]=0|0;HEAP32[$2+4>>2]=0|0;HEAP32[$2+8>>2]=0|0;HEAP32[$2+12>>2]=0|0;HEAP32[$2+16>>2]=0|0;HEAP32[$2+20>>2]=0|0;HEAP32[$2+24>>2]=0|0;HEAP32[$2+28>>2]=0|0; + $10 = (_IsFileExtension($1,15987)|0); + $11 = ($10|0)==(0); + do { + if ($11) { + $35 = (_IsFileExtension($1,13444)|0); + $36 = ($35|0)==(0); + if (!($36)) { + _LoadSpriteFontEx($4,$1,32,0,0); + ;HEAP32[$2>>2]=HEAP32[$4>>2]|0;HEAP32[$2+4>>2]=HEAP32[$4+4>>2]|0;HEAP32[$2+8>>2]=HEAP32[$4+8>>2]|0;HEAP32[$2+12>>2]=HEAP32[$4+12>>2]|0;HEAP32[$2+16>>2]=HEAP32[$4+16>>2]|0;HEAP32[$2+20>>2]=HEAP32[$4+20>>2]|0;HEAP32[$2+24>>2]=HEAP32[$4+24>>2]|0;HEAP32[$2+28>>2]=HEAP32[$4+28>>2]|0; + break; + } + $37 = (_IsFileExtension($1,13449)|0); + $38 = ($37|0)==(0); + if (!($38)) { + _LoadBMFont($5,$1); + ;HEAP32[$2>>2]=HEAP32[$5>>2]|0;HEAP32[$2+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$2+8>>2]=HEAP32[$5+8>>2]|0;HEAP32[$2+12>>2]=HEAP32[$5+12>>2]|0;HEAP32[$2+16>>2]=HEAP32[$5+16>>2]|0;HEAP32[$2+20>>2]=HEAP32[$5+20>>2]|0;HEAP32[$2+24>>2]=HEAP32[$5+24>>2]|0;HEAP32[$2+28>>2]=HEAP32[$5+28>>2]|0; + break; + } + _LoadImage($6,$1); + $39 = HEAP32[$6>>2]|0; + $40 = ($39|0)==(0|0); + if (!($40)) { + HEAP8[$7>>0] = -1; + $41 = ((($7)) + 1|0); + HEAP8[$41>>0] = 0; + $42 = ((($7)) + 2|0); + HEAP8[$42>>0] = -1; + $43 = ((($7)) + 3|0); + HEAP8[$43>>0] = -1; + ;HEAP32[$$byval_copy2>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$6+4>>2]|0;HEAP32[$$byval_copy2+8>>2]=HEAP32[$6+8>>2]|0;HEAP32[$$byval_copy2+12>>2]=HEAP32[$6+12>>2]|0;HEAP32[$$byval_copy2+16>>2]=HEAP32[$6+16>>2]|0; + ;HEAP8[$$byval_copy5>>0]=HEAP8[$7>>0]|0;HEAP8[$$byval_copy5+1>>0]=HEAP8[$7+1>>0]|0;HEAP8[$$byval_copy5+2>>0]=HEAP8[$7+2>>0]|0;HEAP8[$$byval_copy5+3>>0]=HEAP8[$7+3>>0]|0; + _LoadImageFont($8,$$byval_copy2,$$byval_copy5); + ;HEAP32[$2>>2]=HEAP32[$8>>2]|0;HEAP32[$2+4>>2]=HEAP32[$8+4>>2]|0;HEAP32[$2+8>>2]=HEAP32[$8+8>>2]|0;HEAP32[$2+12>>2]=HEAP32[$8+12>>2]|0;HEAP32[$2+16>>2]=HEAP32[$8+16>>2]|0;HEAP32[$2+20>>2]=HEAP32[$8+20>>2]|0;HEAP32[$2+24>>2]=HEAP32[$8+24>>2]|0;HEAP32[$2+28>>2]=HEAP32[$8+28>>2]|0; + } + ;HEAP32[$$byval_copy5>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$6+4>>2]|0;HEAP32[$$byval_copy5+8>>2]=HEAP32[$6+8>>2]|0;HEAP32[$$byval_copy5+12>>2]=HEAP32[$6+12>>2]|0;HEAP32[$$byval_copy5+16>>2]=HEAP32[$6+16>>2]|0; + _UnloadImage($$byval_copy5); + } else { + $12 = (_LoadResource($1,0)|0); + $13 = HEAP32[$12>>2]|0; + $14 = ($13|0)==(5); + if ($14) { + $15 = ((($12)) + 20|0); + $16 = HEAP32[$15>>2]|0; + $17 = ((($12)) + 4|0); + $18 = HEAP32[$17>>2]|0; + $19 = ((($12)) + 8|0); + $20 = HEAP32[$19>>2]|0; + $21 = ((($12)) + 12|0); + $22 = HEAP32[$21>>2]|0; + _LoadImagePro($$byval_copy2,$16,$18,$20,$22); + ;HEAP32[$$byval_copy5>>2]=HEAP32[$$byval_copy2>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$$byval_copy2+4>>2]|0;HEAP32[$$byval_copy5+8>>2]=HEAP32[$$byval_copy2+8>>2]|0;HEAP32[$$byval_copy5+12>>2]=HEAP32[$$byval_copy2+12>>2]|0;HEAP32[$$byval_copy5+16>>2]=HEAP32[$$byval_copy2+16>>2]|0; + _LoadTextureFromImage($3,$$byval_copy5); + ;HEAP32[$2>>2]=HEAP32[$3>>2]|0;HEAP32[$2+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$2+8>>2]=HEAP32[$3+8>>2]|0;HEAP32[$2+12>>2]=HEAP32[$3+12>>2]|0;HEAP32[$2+16>>2]=HEAP32[$3+16>>2]|0; + ;HEAP32[$$byval_copy5>>2]=HEAP32[$$byval_copy2>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$$byval_copy2+4>>2]|0;HEAP32[$$byval_copy5+8>>2]=HEAP32[$$byval_copy2+8>>2]|0;HEAP32[$$byval_copy5+12>>2]=HEAP32[$$byval_copy2+12>>2]|0;HEAP32[$$byval_copy5+16>>2]=HEAP32[$$byval_copy2+16>>2]|0; + _UnloadImage($$byval_copy5); + } + $23 = ((($12)) + 24|0); + $24 = HEAP32[$23>>2]|0; + $25 = ($24|0)==(6); + if ($25) { + $26 = ((($12)) + 28|0); + $27 = HEAP32[$26>>2]|0; + $28 = ((($2)) + 20|0); + HEAP32[$28>>2] = $27; + $29 = ((($12)) + 32|0); + $30 = HEAP32[$29>>2]|0; + $31 = ((($2)) + 24|0); + HEAP32[$31>>2] = $30; + $32 = ((($12)) + 44|0); + $33 = HEAP32[$32>>2]|0; + $34 = ((($2)) + 28|0); + HEAP32[$34>>2] = $33; + } + } + } while(0); + $44 = HEAP32[$2>>2]|0; + $45 = ($44|0)==(0); + if ($45) { + HEAP32[$vararg_buffer>>2] = $1; + _TraceLog(1,13454,$vararg_buffer); + _GetDefaultFont($9); + ;HEAP32[$2>>2]=HEAP32[$9>>2]|0;HEAP32[$2+4>>2]=HEAP32[$9+4>>2]|0;HEAP32[$2+8>>2]=HEAP32[$9+8>>2]|0;HEAP32[$2+12>>2]=HEAP32[$9+12>>2]|0;HEAP32[$2+16>>2]=HEAP32[$9+16>>2]|0;HEAP32[$2+20>>2]=HEAP32[$9+20>>2]|0;HEAP32[$2+24>>2]=HEAP32[$9+24>>2]|0;HEAP32[$2+28>>2]=HEAP32[$9+28>>2]|0; + ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$2+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[$2+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[$2+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[$2+28>>2]|0; + STACKTOP = sp;return; + } else { + ;HEAP32[$$byval_copy5>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$$byval_copy5+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$$byval_copy5+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$$byval_copy5+16>>2]=HEAP32[$2+16>>2]|0; + _SetTextureFilter($$byval_copy5,0); + ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$2+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[$2+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[$2+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[$2+28>>2]|0; + STACKTOP = sp;return; + } +} +function _LoadSpriteFontEx($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$048 = 0, $$sroa$0$0 = 0, $$sroa$0$0$copyload = 0, $$sroa$0$0$copyload15 = 0, $$sroa$0$0$copyload17 = 0, $$sroa$0$1 = 0, $$sroa$8 = 0, $$sroa$8$0$$sroa_idx = 0, $$sroa$8$0$$sroa_idx23 = 0, $$sroa$8$0$$sroa_idx26 = 0, $$sroa$8$0$$sroa_idx29 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $5 = 0, $6 = 0; + var $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $or$cond = 0, $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 144|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(144|0); + $vararg_buffer = sp; + $$sroa$8 = sp + 104|0; + $5 = sp + 72|0; + $6 = sp + 40|0; + $7 = sp + 8|0; + ;HEAP32[$$sroa$8>>2]=0|0;HEAP32[$$sroa$8+4>>2]=0|0;HEAP32[$$sroa$8+8>>2]=0|0;HEAP32[$$sroa$8+12>>2]=0|0;HEAP32[$$sroa$8+16>>2]=0|0;HEAP32[$$sroa$8+20>>2]=0|0;HEAP32[$$sroa$8+24>>2]=0|0; + $8 = (_IsFileExtension($1,13444)|0); + $9 = ($8|0)==(0); + if (!($9)) { + $10 = ($4|0)==(0|0); + $11 = ($3|0)==(0); + $or$cond = $11 | $10; + if ($or$cond) { + $12 = (_malloc(380)|0); + $$048 = 0; + while(1) { + $13 = (($$048) + 32)|0; + $14 = (($12) + ($$048<<2)|0); + HEAP32[$14>>2] = $13; + $15 = (($$048) + 1)|0; + $exitcond = ($15|0)==(95); + if ($exitcond) { + break; + } else { + $$048 = $15; + } + } + _LoadTTF($5,$1,$2,95,$12); + $$sroa$0$0$copyload = HEAP32[$5>>2]|0; + $$sroa$8$0$$sroa_idx = ((($5)) + 4|0); + ;HEAP32[$$sroa$8>>2]=HEAP32[$$sroa$8$0$$sroa_idx>>2]|0;HEAP32[$$sroa$8+4>>2]=HEAP32[$$sroa$8$0$$sroa_idx+4>>2]|0;HEAP32[$$sroa$8+8>>2]=HEAP32[$$sroa$8$0$$sroa_idx+8>>2]|0;HEAP32[$$sroa$8+12>>2]=HEAP32[$$sroa$8$0$$sroa_idx+12>>2]|0;HEAP32[$$sroa$8+16>>2]=HEAP32[$$sroa$8$0$$sroa_idx+16>>2]|0;HEAP32[$$sroa$8+20>>2]=HEAP32[$$sroa$8$0$$sroa_idx+20>>2]|0;HEAP32[$$sroa$8+24>>2]=HEAP32[$$sroa$8$0$$sroa_idx+24>>2]|0; + $$sroa$0$0 = $$sroa$0$0$copyload; + } else { + _LoadTTF($6,$1,$2,$3,$4); + $$sroa$0$0$copyload15 = HEAP32[$6>>2]|0; + $$sroa$8$0$$sroa_idx23 = ((($6)) + 4|0); + ;HEAP32[$$sroa$8>>2]=HEAP32[$$sroa$8$0$$sroa_idx23>>2]|0;HEAP32[$$sroa$8+4>>2]=HEAP32[$$sroa$8$0$$sroa_idx23+4>>2]|0;HEAP32[$$sroa$8+8>>2]=HEAP32[$$sroa$8$0$$sroa_idx23+8>>2]|0;HEAP32[$$sroa$8+12>>2]=HEAP32[$$sroa$8$0$$sroa_idx23+12>>2]|0;HEAP32[$$sroa$8+16>>2]=HEAP32[$$sroa$8$0$$sroa_idx23+16>>2]|0;HEAP32[$$sroa$8+20>>2]=HEAP32[$$sroa$8$0$$sroa_idx23+20>>2]|0;HEAP32[$$sroa$8+24>>2]=HEAP32[$$sroa$8$0$$sroa_idx23+24>>2]|0; + $$sroa$0$0 = $$sroa$0$0$copyload15; + } + $16 = ($$sroa$0$0|0)==(0); + if (!($16)) { + $$sroa$0$1 = $$sroa$0$0; + HEAP32[$0>>2] = $$sroa$0$1; + $$sroa$8$0$$sroa_idx29 = ((($0)) + 4|0); + ;HEAP32[$$sroa$8$0$$sroa_idx29>>2]=HEAP32[$$sroa$8>>2]|0;HEAP32[$$sroa$8$0$$sroa_idx29+4>>2]=HEAP32[$$sroa$8+4>>2]|0;HEAP32[$$sroa$8$0$$sroa_idx29+8>>2]=HEAP32[$$sroa$8+8>>2]|0;HEAP32[$$sroa$8$0$$sroa_idx29+12>>2]=HEAP32[$$sroa$8+12>>2]|0;HEAP32[$$sroa$8$0$$sroa_idx29+16>>2]=HEAP32[$$sroa$8+16>>2]|0;HEAP32[$$sroa$8$0$$sroa_idx29+20>>2]=HEAP32[$$sroa$8+20>>2]|0;HEAP32[$$sroa$8$0$$sroa_idx29+24>>2]=HEAP32[$$sroa$8+24>>2]|0; + STACKTOP = sp;return; + } + } + HEAP32[$vararg_buffer>>2] = $1; + _TraceLog(1,13998,$vararg_buffer); + _GetDefaultFont($7); + $$sroa$0$0$copyload17 = HEAP32[$7>>2]|0; + $$sroa$8$0$$sroa_idx26 = ((($7)) + 4|0); + ;HEAP32[$$sroa$8>>2]=HEAP32[$$sroa$8$0$$sroa_idx26>>2]|0;HEAP32[$$sroa$8+4>>2]=HEAP32[$$sroa$8$0$$sroa_idx26+4>>2]|0;HEAP32[$$sroa$8+8>>2]=HEAP32[$$sroa$8$0$$sroa_idx26+8>>2]|0;HEAP32[$$sroa$8+12>>2]=HEAP32[$$sroa$8$0$$sroa_idx26+12>>2]|0;HEAP32[$$sroa$8+16>>2]=HEAP32[$$sroa$8$0$$sroa_idx26+16>>2]|0;HEAP32[$$sroa$8+20>>2]=HEAP32[$$sroa$8$0$$sroa_idx26+20>>2]|0;HEAP32[$$sroa$8+24>>2]=HEAP32[$$sroa$8$0$$sroa_idx26+24>>2]|0; + $$sroa$0$1 = $$sroa$0$0$copyload17; + HEAP32[$0>>2] = $$sroa$0$1; + $$sroa$8$0$$sroa_idx29 = ((($0)) + 4|0); + ;HEAP32[$$sroa$8$0$$sroa_idx29>>2]=HEAP32[$$sroa$8>>2]|0;HEAP32[$$sroa$8$0$$sroa_idx29+4>>2]=HEAP32[$$sroa$8+4>>2]|0;HEAP32[$$sroa$8$0$$sroa_idx29+8>>2]=HEAP32[$$sroa$8+8>>2]|0;HEAP32[$$sroa$8$0$$sroa_idx29+12>>2]=HEAP32[$$sroa$8+12>>2]|0;HEAP32[$$sroa$8$0$$sroa_idx29+16>>2]=HEAP32[$$sroa$8+16>>2]|0;HEAP32[$$sroa$8$0$$sroa_idx29+20>>2]=HEAP32[$$sroa$8+20>>2]|0;HEAP32[$$sroa$8$0$$sroa_idx29+24>>2]=HEAP32[$$sroa$8+24>>2]|0; + STACKTOP = sp;return; +} +function _LoadBMFont($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$05355 = 0, $$056 = 0, $$byval_copy52 = 0, $$sroa$0$0$$sroa_idx = 0, $$sroa$2$0$$sroa_idx1 = 0, $$sroa$3$0$$sroa_idx2 = 0, $$sroa$4$0$$sroa_idx3 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0; + var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0; + var $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0; + var $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0; + var $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer11 = 0, $vararg_buffer16 = 0, $vararg_buffer19 = 0, $vararg_buffer23 = 0, $vararg_buffer26 = 0, $vararg_buffer34 = 0, $vararg_buffer44 = 0, $vararg_buffer7 = 0, $vararg_ptr10 = 0; + var $vararg_ptr14 = 0, $vararg_ptr15 = 0, $vararg_ptr22 = 0, $vararg_ptr29 = 0, $vararg_ptr33 = 0, $vararg_ptr37 = 0, $vararg_ptr38 = 0, $vararg_ptr39 = 0, $vararg_ptr4 = 0, $vararg_ptr40 = 0, $vararg_ptr41 = 0, $vararg_ptr42 = 0, $vararg_ptr43 = 0, $vararg_ptr5 = 0, $vararg_ptr6 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 704|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(704|0); + $$byval_copy52 = sp + 152|0; + $vararg_buffer44 = sp + 144|0; + $vararg_buffer34 = sp + 112|0; + $vararg_buffer26 = sp + 88|0; + $vararg_buffer23 = sp + 64|0; + $vararg_buffer19 = sp + 56|0; + $vararg_buffer16 = sp + 48|0; + $vararg_buffer11 = sp + 32|0; + $vararg_buffer7 = sp + 24|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $2 = sp + 288|0; + $3 = sp + 448|0; + $4 = sp + 260|0; + $5 = sp + 236|0; + $6 = sp + 232|0; + $7 = sp + 320|0; + $8 = sp + 196|0; + $9 = sp + 192|0; + $10 = sp + 264|0; + $11 = sp + 240|0; + $12 = sp + 188|0; + $13 = sp + 184|0; + $14 = sp + 200|0; + ;HEAP32[$2>>2]=0|0;HEAP32[$2+4>>2]=0|0;HEAP32[$2+8>>2]=0|0;HEAP32[$2+12>>2]=0|0;HEAP32[$2+16>>2]=0|0;HEAP32[$2+20>>2]=0|0;HEAP32[$2+24>>2]=0|0;HEAP32[$2+28>>2]=0|0; + HEAP32[$4>>2] = 0; + HEAP32[$8>>2] = 0; + $15 = (_fopen($1,13596)|0); + $16 = ($15|0)==(0|0); + if ($16) { + HEAP32[$vararg_buffer>>2] = $1; + _TraceLog(1,13599,$vararg_buffer); + ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$2+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[$2+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[$2+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[$2+28>>2]|0; + STACKTOP = sp;return; + } + (_fgets($3,256,$15)|0); + (_fgets($3,256,$15)|0); + $17 = (_strstr($3,13633)|0); + HEAP32[$vararg_buffer1>>2] = $4; + $vararg_ptr4 = ((($vararg_buffer1)) + 4|0); + HEAP32[$vararg_ptr4>>2] = $9; + $vararg_ptr5 = ((($vararg_buffer1)) + 8|0); + HEAP32[$vararg_ptr5>>2] = $5; + $vararg_ptr6 = ((($vararg_buffer1)) + 12|0); + HEAP32[$vararg_ptr6>>2] = $6; + (_sscanf($17,13644,$vararg_buffer1)|0); + $18 = HEAP32[$4>>2]|0; + HEAP32[$vararg_buffer7>>2] = $1; + $vararg_ptr10 = ((($vararg_buffer7)) + 4|0); + HEAP32[$vararg_ptr10>>2] = $18; + _TraceLog(3,13686,$vararg_buffer7); + $19 = HEAP32[$5>>2]|0; + $20 = HEAP32[$6>>2]|0; + HEAP32[$vararg_buffer11>>2] = $1; + $vararg_ptr14 = ((($vararg_buffer11)) + 4|0); + HEAP32[$vararg_ptr14>>2] = $19; + $vararg_ptr15 = ((($vararg_buffer11)) + 8|0); + HEAP32[$vararg_ptr15>>2] = $20; + _TraceLog(3,13705,$vararg_buffer11); + (_fgets($3,256,$15)|0); + $21 = (_strstr($3,13736)|0); + HEAP32[$vararg_buffer16>>2] = $7; + (_sscanf($21,13741,$vararg_buffer16)|0); + HEAP32[$vararg_buffer19>>2] = $1; + $vararg_ptr22 = ((($vararg_buffer19)) + 4|0); + HEAP32[$vararg_ptr22>>2] = $7; + _TraceLog(3,13757,$vararg_buffer19); + (_fgets($3,256,$15)|0); + $22 = (_strstr($3,13788)|0); + HEAP32[$vararg_buffer23>>2] = $8; + (_sscanf($22,13794,$vararg_buffer23)|0); + $23 = HEAP32[$8>>2]|0; + HEAP32[$vararg_buffer26>>2] = $1; + $vararg_ptr29 = ((($vararg_buffer26)) + 4|0); + HEAP32[$vararg_ptr29>>2] = $23; + _TraceLog(3,13803,$vararg_buffer26); + $24 = (_strrchr($1,47)|0); + $25 = (_strlen($1)|0); + $26 = (_strlen($24)|0); + $27 = (_strlen($7)|0); + $28 = (($25) + 4)|0; + $29 = (($28) - ($26))|0; + $30 = (($29) + ($27))|0; + $31 = (_malloc($30)|0); + HEAP8[$31>>0] = 0; + $32 = (_strlen($1)|0); + $33 = (_strlen($24)|0); + $34 = (($32) + 1)|0; + $35 = (($34) - ($33))|0; + (_strncat($31,$1,$35)|0); + $36 = (_strlen($7)|0); + (_strncat($31,$7,$36)|0); + HEAP32[$$byval_copy52>>2] = $1; + $vararg_ptr33 = ((($$byval_copy52)) + 4|0); + HEAP32[$vararg_ptr33>>2] = $31; + _TraceLog(3,13827,$$byval_copy52); + _LoadImage($vararg_buffer26,$31); + $37 = ((($vararg_buffer26)) + 16|0); + $38 = HEAP32[$37>>2]|0; + $39 = ($38|0)==(1); + if ($39) { + ;HEAP32[$$byval_copy52>>2]=HEAP32[$vararg_buffer26>>2]|0;HEAP32[$$byval_copy52+4>>2]=HEAP32[$vararg_buffer26+4>>2]|0;HEAP32[$$byval_copy52+8>>2]=HEAP32[$vararg_buffer26+8>>2]|0;HEAP32[$$byval_copy52+12>>2]=HEAP32[$vararg_buffer26+12>>2]|0;HEAP32[$$byval_copy52+16>>2]=HEAP32[$vararg_buffer26+16>>2]|0; + _ImageCopy($vararg_buffer23,$$byval_copy52); + $40 = ((($vararg_buffer23)) + 4|0); + $41 = HEAP32[$40>>2]|0; + $42 = ((($vararg_buffer23)) + 8|0); + $43 = HEAP32[$42>>2]|0; + $44 = Math_imul($43, $41)|0; + $45 = ($44|0)>(0); + if ($45) { + $$056 = 0; + while(1) { + $46 = HEAP32[$vararg_buffer23>>2]|0; + $47 = (($46) + ($$056)|0); + HEAP8[$47>>0] = -1; + $48 = (($$056) + 1)|0; + $49 = HEAP32[$40>>2]|0; + $50 = HEAP32[$42>>2]|0; + $51 = Math_imul($50, $49)|0; + $52 = ($48|0)<($51|0); + if ($52) { + $$056 = $48; + } else { + break; + } + } + } + ;HEAP32[$$byval_copy52>>2]=HEAP32[$vararg_buffer26>>2]|0;HEAP32[$$byval_copy52+4>>2]=HEAP32[$vararg_buffer26+4>>2]|0;HEAP32[$$byval_copy52+8>>2]=HEAP32[$vararg_buffer26+8>>2]|0;HEAP32[$$byval_copy52+12>>2]=HEAP32[$vararg_buffer26+12>>2]|0;HEAP32[$$byval_copy52+16>>2]=HEAP32[$vararg_buffer26+16>>2]|0; + _ImageAlphaMask($vararg_buffer23,$$byval_copy52); + ;HEAP32[$$byval_copy52>>2]=HEAP32[$vararg_buffer23>>2]|0;HEAP32[$$byval_copy52+4>>2]=HEAP32[$vararg_buffer23+4>>2]|0;HEAP32[$$byval_copy52+8>>2]=HEAP32[$vararg_buffer23+8>>2]|0;HEAP32[$$byval_copy52+12>>2]=HEAP32[$vararg_buffer23+12>>2]|0;HEAP32[$$byval_copy52+16>>2]=HEAP32[$vararg_buffer23+16>>2]|0; + _LoadTextureFromImage($10,$$byval_copy52); + ;HEAP32[$2>>2]=HEAP32[$10>>2]|0;HEAP32[$2+4>>2]=HEAP32[$10+4>>2]|0;HEAP32[$2+8>>2]=HEAP32[$10+8>>2]|0;HEAP32[$2+12>>2]=HEAP32[$10+12>>2]|0;HEAP32[$2+16>>2]=HEAP32[$10+16>>2]|0; + ;HEAP32[$$byval_copy52>>2]=HEAP32[$vararg_buffer23>>2]|0;HEAP32[$$byval_copy52+4>>2]=HEAP32[$vararg_buffer23+4>>2]|0;HEAP32[$$byval_copy52+8>>2]=HEAP32[$vararg_buffer23+8>>2]|0;HEAP32[$$byval_copy52+12>>2]=HEAP32[$vararg_buffer23+12>>2]|0;HEAP32[$$byval_copy52+16>>2]=HEAP32[$vararg_buffer23+16>>2]|0; + _UnloadImage($$byval_copy52); + } else { + ;HEAP32[$$byval_copy52>>2]=HEAP32[$vararg_buffer26>>2]|0;HEAP32[$$byval_copy52+4>>2]=HEAP32[$vararg_buffer26+4>>2]|0;HEAP32[$$byval_copy52+8>>2]=HEAP32[$vararg_buffer26+8>>2]|0;HEAP32[$$byval_copy52+12>>2]=HEAP32[$vararg_buffer26+12>>2]|0;HEAP32[$$byval_copy52+16>>2]=HEAP32[$vararg_buffer26+16>>2]|0; + _LoadTextureFromImage($11,$$byval_copy52); + ;HEAP32[$2>>2]=HEAP32[$11>>2]|0;HEAP32[$2+4>>2]=HEAP32[$11+4>>2]|0;HEAP32[$2+8>>2]=HEAP32[$11+8>>2]|0;HEAP32[$2+12>>2]=HEAP32[$11+12>>2]|0;HEAP32[$2+16>>2]=HEAP32[$11+16>>2]|0; + } + $53 = HEAP32[$4>>2]|0; + $54 = ((($2)) + 20|0); + HEAP32[$54>>2] = $53; + $55 = HEAP32[$8>>2]|0; + $56 = ((($2)) + 24|0); + HEAP32[$56>>2] = $55; + $57 = $55 << 5; + $58 = (_malloc($57)|0); + $59 = ((($2)) + 28|0); + HEAP32[$59>>2] = $58; + ;HEAP32[$$byval_copy52>>2]=HEAP32[$vararg_buffer26>>2]|0;HEAP32[$$byval_copy52+4>>2]=HEAP32[$vararg_buffer26+4>>2]|0;HEAP32[$$byval_copy52+8>>2]=HEAP32[$vararg_buffer26+8>>2]|0;HEAP32[$$byval_copy52+12>>2]=HEAP32[$vararg_buffer26+12>>2]|0;HEAP32[$$byval_copy52+16>>2]=HEAP32[$vararg_buffer26+16>>2]|0; + _UnloadImage($$byval_copy52); + _free($31); + $60 = HEAP32[$8>>2]|0; + $61 = ($60|0)>(0); + if ($61) { + $$05355 = 0; + while(1) { + (_fgets($3,256,$15)|0); + HEAP32[$vararg_buffer34>>2] = $vararg_buffer23; + $vararg_ptr37 = ((($vararg_buffer34)) + 4|0); + HEAP32[$vararg_ptr37>>2] = $vararg_buffer19; + $vararg_ptr38 = ((($vararg_buffer34)) + 8|0); + HEAP32[$vararg_ptr38>>2] = $vararg_buffer16; + $vararg_ptr39 = ((($vararg_buffer34)) + 12|0); + HEAP32[$vararg_ptr39>>2] = $vararg_buffer11; + $vararg_ptr40 = ((($vararg_buffer34)) + 16|0); + HEAP32[$vararg_ptr40>>2] = $vararg_buffer7; + $vararg_ptr41 = ((($vararg_buffer34)) + 20|0); + HEAP32[$vararg_ptr41>>2] = $vararg_buffer1; + $vararg_ptr42 = ((($vararg_buffer34)) + 24|0); + HEAP32[$vararg_ptr42>>2] = $12; + $vararg_ptr43 = ((($vararg_buffer34)) + 28|0); + HEAP32[$vararg_ptr43>>2] = $13; + (_sscanf($3,13862,$vararg_buffer34)|0); + $64 = HEAP32[$vararg_buffer23>>2]|0; + $65 = HEAP32[$59>>2]|0; + $66 = (($65) + ($$05355<<5)|0); + HEAP32[$66>>2] = $64; + $67 = HEAP32[$59>>2]|0; + $68 = HEAP32[$vararg_buffer19>>2]|0; + $69 = HEAP32[$vararg_buffer16>>2]|0; + $70 = HEAP32[$vararg_buffer11>>2]|0; + $71 = HEAP32[$vararg_buffer7>>2]|0; + $$sroa$0$0$$sroa_idx = (((($67) + ($$05355<<5)|0)) + 4|0); + HEAP32[$$sroa$0$0$$sroa_idx>>2] = $68; + $$sroa$2$0$$sroa_idx1 = (((($67) + ($$05355<<5)|0)) + 8|0); + HEAP32[$$sroa$2$0$$sroa_idx1>>2] = $69; + $$sroa$3$0$$sroa_idx2 = (((($67) + ($$05355<<5)|0)) + 12|0); + HEAP32[$$sroa$3$0$$sroa_idx2>>2] = $70; + $$sroa$4$0$$sroa_idx3 = (((($67) + ($$05355<<5)|0)) + 16|0); + HEAP32[$$sroa$4$0$$sroa_idx3>>2] = $71; + $72 = HEAP32[$vararg_buffer1>>2]|0; + $73 = HEAP32[$59>>2]|0; + $74 = (((($73) + ($$05355<<5)|0)) + 20|0); + HEAP32[$74>>2] = $72; + $75 = HEAP32[$12>>2]|0; + $76 = HEAP32[$59>>2]|0; + $77 = (((($76) + ($$05355<<5)|0)) + 24|0); + HEAP32[$77>>2] = $75; + $78 = HEAP32[$13>>2]|0; + $79 = HEAP32[$59>>2]|0; + $80 = (((($79) + ($$05355<<5)|0)) + 28|0); + HEAP32[$80>>2] = $78; + $81 = (($$05355) + 1)|0; + $82 = HEAP32[$8>>2]|0; + $83 = ($81|0)<($82|0); + if ($83) { + $$05355 = $81; + } else { + break; + } + } + } + (_fclose($15)|0); + $62 = HEAP32[$2>>2]|0; + $63 = ($62|0)==(0); + if ($63) { + ;HEAP32[$$byval_copy52>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy52+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$$byval_copy52+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$$byval_copy52+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$$byval_copy52+16>>2]=HEAP32[$2+16>>2]|0;HEAP32[$$byval_copy52+20>>2]=HEAP32[$2+20>>2]|0;HEAP32[$$byval_copy52+24>>2]=HEAP32[$2+24>>2]|0;HEAP32[$$byval_copy52+28>>2]=HEAP32[$2+28>>2]|0; + _UnloadSpriteFont($$byval_copy52); + _GetDefaultFont($14); + ;HEAP32[$2>>2]=HEAP32[$14>>2]|0;HEAP32[$2+4>>2]=HEAP32[$14+4>>2]|0;HEAP32[$2+8>>2]=HEAP32[$14+8>>2]|0;HEAP32[$2+12>>2]=HEAP32[$14+12>>2]|0;HEAP32[$2+16>>2]=HEAP32[$14+16>>2]|0;HEAP32[$2+20>>2]=HEAP32[$14+20>>2]|0;HEAP32[$2+24>>2]=HEAP32[$14+24>>2]|0;HEAP32[$2+28>>2]=HEAP32[$14+28>>2]|0; + } else { + HEAP32[$vararg_buffer44>>2] = $1; + _TraceLog(0,13936,$vararg_buffer44); + } + ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$2+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[$2+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[$2+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[$2+28>>2]|0; + STACKTOP = sp;return; +} +function _LoadImageFont($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$0195$lcssa = 0, $$019552 = 0, $$019622 = 0, $$0197 = 0, $$020032 = 0, $$0201$lcssa = 0, $$020131 = 0, $$0203 = 0, $$021 = 0, $$1$lcssa = 0, $$119927 = 0, $$1202$lcssa = 0, $$120226 = 0, $$135 = 0, $$2 = 0, $$byval_copy4 = 0, $$sroa$0 = 0, $$sroa$5$0$$sroa_idx15 = 0, $$sroa$6$0$$sroa_idx17 = 0, $$sroa$9$0$$sroa_idx20 = 0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0; + var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; + var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; + var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0; + var $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0; + var $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0; + var $97 = 0, $98 = 0, $99 = 0, $exitcond = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 5232|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(5232|0); + $$byval_copy4 = sp + 5200|0; + $vararg_buffer1 = sp + 48|0; + $vararg_buffer = sp + 24|0; + $3 = sp + 4176|0; + $4 = sp + 56|0; + $$sroa$0 = sp; + $5 = sp + 4152|0; + ;HEAP32[$$byval_copy4>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$$byval_copy4+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[$$byval_copy4+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[$$byval_copy4+16>>2]=HEAP32[$1+16>>2]|0; + $6 = (_GetImageData($$byval_copy4)|0); + $7 = ((($1)) + 8|0); + $8 = HEAP32[$7>>2]|0; + $9 = ($8|0)>(0); + L1: do { + if ($9) { + $10 = ((($1)) + 4|0); + $11 = HEAP32[$10>>2]|0; + $12 = ($11|0)>(0); + $13 = HEAP8[$2>>0]|0; + $14 = ((($2)) + 1|0); + $15 = HEAP8[$14>>0]|0; + $16 = ((($2)) + 2|0); + $17 = HEAP8[$16>>0]|0; + $18 = ((($2)) + 3|0); + $19 = HEAP8[$18>>0]|0; + $20 = HEAP8[$2>>0]|0; + $21 = ((($2)) + 1|0); + $22 = HEAP8[$21>>0]|0; + $23 = ((($2)) + 2|0); + $24 = HEAP8[$23>>0]|0; + $25 = ((($2)) + 3|0); + $26 = HEAP8[$25>>0]|0; + $27 = HEAP32[$10>>2]|0; + $$019552 = 0; + while(1) { + L5: do { + if ($12) { + $$135 = 0;$29 = $11; + while(1) { + $28 = Math_imul($29, $$019552)|0; + $30 = (($28) + ($$135))|0; + $31 = (($6) + ($30<<2)|0); + $32 = HEAP8[$31>>0]|0; + $33 = ($32<<24>>24)==($20<<24>>24); + if (!($33)) { + $$1$lcssa = $$135; + break L5; + } + $34 = (((($6) + ($30<<2)|0)) + 1|0); + $35 = HEAP8[$34>>0]|0; + $36 = ($35<<24>>24)==($22<<24>>24); + if (!($36)) { + $$1$lcssa = $$135; + break L5; + } + $37 = (((($6) + ($30<<2)|0)) + 2|0); + $38 = HEAP8[$37>>0]|0; + $39 = ($38<<24>>24)==($24<<24>>24); + if (!($39)) { + $$1$lcssa = $$135; + break L5; + } + $40 = (((($6) + ($30<<2)|0)) + 3|0); + $41 = HEAP8[$40>>0]|0; + $42 = ($41<<24>>24)==($26<<24>>24); + if (!($42)) { + $$1$lcssa = $$135; + break L5; + } + $43 = (($$135) + 1)|0; + $44 = HEAP32[$10>>2]|0; + $45 = ($43|0)<($44|0); + if ($45) { + $$135 = $43;$29 = $44; + } else { + $$1$lcssa = $43; + break; + } + } + } else { + $$1$lcssa = 0; + } + } while(0); + $46 = Math_imul($27, $$019552)|0; + $47 = (($46) + ($$1$lcssa))|0; + $48 = (($6) + ($47<<2)|0); + $49 = HEAP8[$48>>0]|0; + $50 = ($49<<24>>24)==($13<<24>>24); + if (!($50)) { + $$0195$lcssa = $$019552;$$2 = $$1$lcssa; + break L1; + } + $51 = (((($6) + ($47<<2)|0)) + 1|0); + $52 = HEAP8[$51>>0]|0; + $53 = ($52<<24>>24)==($15<<24>>24); + if (!($53)) { + $$0195$lcssa = $$019552;$$2 = $$1$lcssa; + break L1; + } + $54 = (((($6) + ($47<<2)|0)) + 2|0); + $55 = HEAP8[$54>>0]|0; + $56 = ($55<<24>>24)==($17<<24>>24); + if (!($56)) { + $$0195$lcssa = $$019552;$$2 = $$1$lcssa; + break L1; + } + $57 = (((($6) + ($47<<2)|0)) + 3|0); + $58 = HEAP8[$57>>0]|0; + $59 = ($58<<24>>24)==($19<<24>>24); + if (!($59)) { + $$0195$lcssa = $$019552;$$2 = $$1$lcssa; + break L1; + } + $60 = (($$019552) + 1)|0; + $61 = HEAP32[$7>>2]|0; + $62 = ($60|0)<($61|0); + if ($62) { + $$019552 = $60; + } else { + $$0195$lcssa = $60;$$2 = $$1$lcssa; + break; + } + } + } else { + $$0195$lcssa = 0;$$2 = 0; + } + } while(0); + $63 = ((($1)) + 4|0); + $64 = HEAP32[$63>>2]|0; + $65 = HEAP8[$2>>0]|0; + $66 = ((($2)) + 1|0); + $67 = HEAP8[$66>>0]|0; + $68 = ((($2)) + 2|0); + $69 = HEAP8[$68>>0]|0; + $70 = ((($2)) + 3|0); + $71 = HEAP8[$70>>0]|0; + $$0203 = 0; + while(1) { + $72 = (($$0203) + ($$0195$lcssa))|0; + $73 = Math_imul($72, $64)|0; + $74 = (($73) + ($$2))|0; + $75 = (($6) + ($74<<2)|0); + $76 = HEAP8[$75>>0]|0; + $77 = ($76<<24>>24)==($65<<24>>24); + if ($77) { + $78 = (((($6) + ($74<<2)|0)) + 1|0); + $79 = HEAP8[$78>>0]|0; + $80 = ($79<<24>>24)==($67<<24>>24); + if ($80) { + $81 = (((($6) + ($74<<2)|0)) + 2|0); + $82 = HEAP8[$81>>0]|0; + $83 = ($82<<24>>24)==($69<<24>>24); + if ($83) { + $84 = (((($6) + ($74<<2)|0)) + 3|0); + $85 = HEAP8[$84>>0]|0; + $86 = ($85<<24>>24)==($71<<24>>24); + if ($86) { + break; + } + } + } + } + $96 = (($$0203) + 1)|0; + $$0203 = $96; + } + $87 = HEAP32[$7>>2]|0; + $88 = ($$0195$lcssa|0)<($87|0); + if ($88) { + $89 = HEAP32[$63>>2]|0; + $90 = ($$2|0)<($89|0); + $91 = HEAP32[$7>>2]|0; + $92 = HEAP8[$2>>0]|0; + $93 = HEAP8[$66>>0]|0; + $94 = HEAP8[$68>>0]|0; + $95 = HEAP8[$70>>0]|0; + $$020032 = 0;$$020131 = 0;$99 = $$0195$lcssa; + while(1) { + L30: do { + if ($90) { + $$119927 = $$2;$$120226 = $$020131;$98 = $89; + while(1) { + $97 = Math_imul($98, $99)|0; + $100 = (($97) + ($$119927))|0; + $101 = (($6) + ($100<<2)|0); + $102 = HEAP8[$101>>0]|0; + $103 = ($102<<24>>24)==($92<<24>>24); + if ($103) { + $104 = (((($6) + ($100<<2)|0)) + 1|0); + $105 = HEAP8[$104>>0]|0; + $106 = ($105<<24>>24)==($93<<24>>24); + if ($106) { + $107 = (((($6) + ($100<<2)|0)) + 2|0); + $108 = HEAP8[$107>>0]|0; + $109 = ($108<<24>>24)==($94<<24>>24); + if ($109) { + $110 = (((($6) + ($100<<2)|0)) + 3|0); + $111 = HEAP8[$110>>0]|0; + $112 = ($111<<24>>24)==($95<<24>>24); + if ($112) { + $$1202$lcssa = $$120226; + break L30; + } + } + } + } + $113 = (($$120226) + 32)|0; + $114 = (($3) + ($$120226<<2)|0); + HEAP32[$114>>2] = $113; + $115 = (($4) + ($$120226<<4)|0); + HEAP32[$115>>2] = $$119927; + $116 = (((($4) + ($$120226<<4)|0)) + 4|0); + HEAP32[$116>>2] = $99; + $117 = (((($4) + ($$120226<<4)|0)) + 12|0); + HEAP32[$117>>2] = $$0203; + $118 = HEAP32[$63>>2]|0; + $119 = Math_imul($118, $99)|0; + $$0197 = 0; + while(1) { + $120 = (($$0197) + ($$119927))|0; + $121 = (($120) + ($119))|0; + $122 = (($6) + ($121<<2)|0); + $123 = HEAP8[$122>>0]|0; + $124 = ($123<<24>>24)==($92<<24>>24); + if ($124) { + $125 = (((($6) + ($121<<2)|0)) + 1|0); + $126 = HEAP8[$125>>0]|0; + $127 = ($126<<24>>24)==($93<<24>>24); + if ($127) { + $128 = (((($6) + ($121<<2)|0)) + 2|0); + $129 = HEAP8[$128>>0]|0; + $130 = ($129<<24>>24)==($94<<24>>24); + if ($130) { + $131 = (((($6) + ($121<<2)|0)) + 3|0); + $132 = HEAP8[$131>>0]|0; + $133 = ($132<<24>>24)==($95<<24>>24); + if ($133) { + break; + } + } + } + } + $134 = (($$0197) + 1)|0; + $$0197 = $134; + } + $135 = (((($4) + ($$120226<<4)|0)) + 8|0); + HEAP32[$135>>2] = $$0197; + $136 = (($$120226) + 1)|0; + $137 = (($$119927) + ($$2))|0; + $138 = (($137) + ($$0197))|0; + $139 = HEAP32[$63>>2]|0; + $140 = ($138|0)<($139|0); + if ($140) { + $$119927 = $138;$$120226 = $136;$98 = $139; + } else { + $$1202$lcssa = $136; + break; + } + } + } else { + $$1202$lcssa = $$020131; + } + } while(0); + $141 = (($$020032) + 1)|0; + $142 = Math_imul($141, $72)|0; + $143 = (($142) + ($$0195$lcssa))|0; + $144 = ($143|0)<($91|0); + if ($144) { + $$020032 = $141;$$020131 = $$1202$lcssa;$99 = $143; + } else { + $$0201$lcssa = $$1202$lcssa; + break; + } + } + } else { + $$0201$lcssa = 0; + } + _TraceLog(3,13510,$vararg_buffer); + $145 = HEAP32[$7>>2]|0; + $146 = HEAP32[$63>>2]|0; + $147 = Math_imul($146, $145)|0; + $148 = ($147|0)>(0); + if ($148) { + $149 = HEAP8[$2>>0]|0; + $150 = HEAP8[$66>>0]|0; + $151 = HEAP8[$68>>0]|0; + $152 = HEAP8[$70>>0]|0; + $$019622 = 0; + while(1) { + $158 = (($6) + ($$019622<<2)|0); + $159 = HEAP8[$158>>0]|0; + $160 = ($159<<24>>24)==($149<<24>>24); + if ($160) { + $161 = (((($6) + ($$019622<<2)|0)) + 1|0); + $162 = HEAP8[$161>>0]|0; + $163 = ($162<<24>>24)==($150<<24>>24); + if ($163) { + $164 = (((($6) + ($$019622<<2)|0)) + 2|0); + $165 = HEAP8[$164>>0]|0; + $166 = ($165<<24>>24)==($151<<24>>24); + if ($166) { + $167 = (((($6) + ($$019622<<2)|0)) + 3|0); + $168 = HEAP8[$167>>0]|0; + $169 = ($168<<24>>24)==($152<<24>>24); + if ($169) { + HEAP8[$158>>0]=0&255;HEAP8[$158+1>>0]=(0>>8)&255;HEAP8[$158+2>>0]=(0>>16)&255;HEAP8[$158+3>>0]=0>>24; + } + } + } + } + $170 = (($$019622) + 1)|0; + $171 = HEAP32[$7>>2]|0; + $172 = HEAP32[$63>>2]|0; + $173 = Math_imul($172, $171)|0; + $174 = ($170|0)<($173|0); + if ($174) { + $$019622 = $170; + } else { + break; + } + } + } + $153 = HEAP32[$63>>2]|0; + $154 = HEAP32[$7>>2]|0; + _LoadImageEx($vararg_buffer,$6,$153,$154); + _free($6); + ;HEAP32[$$sroa$0>>2]=0|0;HEAP32[$$sroa$0+4>>2]=0|0;HEAP32[$$sroa$0+8>>2]=0|0;HEAP32[$$sroa$0+12>>2]=0|0;HEAP32[$$sroa$0+16>>2]=0|0; + ;HEAP32[$$byval_copy4>>2]=HEAP32[$vararg_buffer>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$vararg_buffer+4>>2]|0;HEAP32[$$byval_copy4+8>>2]=HEAP32[$vararg_buffer+8>>2]|0;HEAP32[$$byval_copy4+12>>2]=HEAP32[$vararg_buffer+12>>2]|0;HEAP32[$$byval_copy4+16>>2]=HEAP32[$vararg_buffer+16>>2]|0; + _LoadTextureFromImage($5,$$byval_copy4); + ;HEAP32[$$sroa$0>>2]=HEAP32[$5>>2]|0;HEAP32[$$sroa$0+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$$sroa$0+8>>2]=HEAP32[$5+8>>2]|0;HEAP32[$$sroa$0+12>>2]=HEAP32[$5+12>>2]|0;HEAP32[$$sroa$0+16>>2]=HEAP32[$5+16>>2]|0; + ;HEAP32[$$byval_copy4>>2]=HEAP32[$vararg_buffer>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$vararg_buffer+4>>2]|0;HEAP32[$$byval_copy4+8>>2]=HEAP32[$vararg_buffer+8>>2]|0;HEAP32[$$byval_copy4+12>>2]=HEAP32[$vararg_buffer+12>>2]|0;HEAP32[$$byval_copy4+16>>2]=HEAP32[$vararg_buffer+16>>2]|0; + _UnloadImage($$byval_copy4); + $155 = $$0201$lcssa << 5; + $156 = (_malloc($155)|0); + $157 = ($$0201$lcssa|0)>(0); + if ($157) { + $$021 = 0; + } else { + $175 = ((($156)) + 16|0); + $176 = HEAP32[$175>>2]|0; + _TraceLog(0,13554,$vararg_buffer1); + ;HEAP32[$0>>2]=HEAP32[$$sroa$0>>2]|0;HEAP32[$0+4>>2]=HEAP32[$$sroa$0+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$$sroa$0+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$$sroa$0+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$$sroa$0+16>>2]|0; + $$sroa$5$0$$sroa_idx15 = ((($0)) + 20|0); + HEAP32[$$sroa$5$0$$sroa_idx15>>2] = $176; + $$sroa$6$0$$sroa_idx17 = ((($0)) + 24|0); + HEAP32[$$sroa$6$0$$sroa_idx17>>2] = $$0201$lcssa; + $$sroa$9$0$$sroa_idx20 = ((($0)) + 28|0); + HEAP32[$$sroa$9$0$$sroa_idx20>>2] = $156; + STACKTOP = sp;return; + } + while(1) { + $177 = (($3) + ($$021<<2)|0); + $178 = HEAP32[$177>>2]|0; + $179 = (($156) + ($$021<<5)|0); + HEAP32[$179>>2] = $178; + $180 = (((($156) + ($$021<<5)|0)) + 4|0); + $181 = (($4) + ($$021<<4)|0); + ;HEAP32[$180>>2]=HEAP32[$181>>2]|0;HEAP32[$180+4>>2]=HEAP32[$181+4>>2]|0;HEAP32[$180+8>>2]=HEAP32[$181+8>>2]|0;HEAP32[$180+12>>2]=HEAP32[$181+12>>2]|0; + $182 = (((($156) + ($$021<<5)|0)) + 20|0); + HEAP32[$182>>2] = 0; + $183 = (((($156) + ($$021<<5)|0)) + 24|0); + HEAP32[$183>>2] = 0; + $184 = (((($156) + ($$021<<5)|0)) + 28|0); + HEAP32[$184>>2] = 0; + $185 = (($$021) + 1)|0; + $exitcond = ($185|0)==($$0201$lcssa|0); + if ($exitcond) { + break; + } else { + $$021 = $185; + } + } + $175 = ((($156)) + 16|0); + $176 = HEAP32[$175>>2]|0; + _TraceLog(0,13554,$vararg_buffer1); + ;HEAP32[$0>>2]=HEAP32[$$sroa$0>>2]|0;HEAP32[$0+4>>2]=HEAP32[$$sroa$0+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$$sroa$0+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$$sroa$0+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$$sroa$0+16>>2]|0; + $$sroa$5$0$$sroa_idx15 = ((($0)) + 20|0); + HEAP32[$$sroa$5$0$$sroa_idx15>>2] = $176; + $$sroa$6$0$$sroa_idx17 = ((($0)) + 24|0); + HEAP32[$$sroa$6$0$$sroa_idx17>>2] = $$0201$lcssa; + $$sroa$9$0$$sroa_idx20 = ((($0)) + 28|0); + HEAP32[$$sroa$9$0$$sroa_idx20>>2] = $156; + STACKTOP = sp;return; +} +function _UnloadSpriteFont($0) { + $0 = $0|0; + var $$byval_copy = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $$byval_copy = sp + 40|0; + $vararg_buffer = sp; + $1 = sp + 8|0; + $2 = HEAP32[$0>>2]|0; + _GetDefaultFont($1); + $3 = HEAP32[$1>>2]|0; + $4 = ($2|0)==($3|0); + if ($4) { + STACKTOP = sp;return; + } + ;HEAP32[$$byval_copy>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$0+16>>2]|0; + _UnloadTexture($$byval_copy); + $5 = ((($0)) + 28|0); + $6 = HEAP32[$5>>2]|0; + _free($6); + _TraceLog(3,13972,$vararg_buffer); + STACKTOP = sp;return; +} +function _LoadTTF($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$0124130 = 0, $$0125129 = 0, $$0128 = 0, $$byval_copy9 = 0, $$sroa$0 = 0, $$sroa$10$0$$sroa_idx58 = 0, $$sroa$10$0$$sroa_idx59 = 0, $$sroa$6$0$$sroa_idx49 = 0, $$sroa$6$0$$sroa_idx50 = 0, $$sroa$7$0$$sroa_idx53 = 0, $$sroa$7$0$$sroa_idx54 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0; + var $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0; + var $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0; + var $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0.0, $70 = 0, $71 = 0.0, $72 = 0, $73 = 0, $74 = 0, $75 = 0.0; + var $76 = 0, $77 = 0, $78 = 0, $79 = 0.0, $8 = 0.0, $80 = 0, $81 = 0, $82 = 0, $9 = 0.0, $exitcond = 0, $exp2 = 0.0, $vararg_buffer2 = 0, $vararg_buffer5 = 0, $vararg_buffer7 = 0, $vararg_ptr1 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0); + $$byval_copy9 = sp + 48|0; + $vararg_buffer7 = sp + 40|0; + $vararg_buffer5 = sp + 32|0; + $vararg_buffer2 = sp + 24|0; + $$sroa$0 = sp; + $5 = sp + 68|0; + $6 = sp + 88|0; + $7 = (+($2|0)); + $8 = $7 * 3.0; + $9 = $8 * 0.25; + $10 = (+Math_ceil((+$9))); + $11 = (+($3|0)); + $12 = (+Math_sqrt((+$11))); + $13 = (+Math_ceil((+$12))); + $14 = $10 * $13; + $15 = (+Math_log((+$14))); + $16 = $15 / 0.69314718246459961; + $17 = (+Math_ceil((+$16))); + $exp2 = (+_llvm_exp2_f32((+$17))); + $18 = (~~(($exp2))); + HEAP32[$$byval_copy9>>2] = $18; + $vararg_ptr1 = ((($$byval_copy9)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $18; + _TraceLog(0,14057,$$byval_copy9); + $19 = (_malloc(16777216)|0); + $20 = Math_imul($18, $18)|0; + $21 = (_malloc($20)|0); + $22 = ($3*20)|0; + $23 = (_malloc($22)|0); + ;HEAP32[$$sroa$0>>2]=0|0;HEAP32[$$sroa$0+4>>2]=0|0;HEAP32[$$sroa$0+8>>2]=0|0;HEAP32[$$sroa$0+12>>2]=0|0;HEAP32[$$sroa$0+16>>2]=0|0; + $24 = (_fopen($1,16832)|0); + $25 = ($24|0)==(0|0); + if ($25) { + HEAP32[$vararg_buffer2>>2] = $1; + _TraceLog(1,14111,$vararg_buffer2); + ;HEAP32[$0>>2]=HEAP32[$$sroa$0>>2]|0;HEAP32[$0+4>>2]=HEAP32[$$sroa$0+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$$sroa$0+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$$sroa$0+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$$sroa$0+16>>2]|0; + $$sroa$6$0$$sroa_idx49 = ((($0)) + 20|0); + HEAP32[$$sroa$6$0$$sroa_idx49>>2] = 0; + $$sroa$7$0$$sroa_idx53 = ((($0)) + 24|0); + HEAP32[$$sroa$7$0$$sroa_idx53>>2] = 0; + $$sroa$10$0$$sroa_idx58 = ((($0)) + 28|0); + HEAP32[$$sroa$10$0$$sroa_idx58>>2] = 0; + STACKTOP = sp;return; + } + (_fread($19,1,16777216,$24)|0); + $26 = HEAP32[$4>>2]|0; + $27 = ($26|0)==(32); + if (!($27)) { + _TraceLog(1,14145,$vararg_buffer5); + } + $28 = HEAP32[$4>>2]|0; + $29 = (_stbtt_BakeFontBitmap($19,$7,$21,$18,$18,$28,$3,$23)|0); + $30 = ($29|0)<(0); + if ($30) { + _TraceLog(1,14212,$vararg_buffer7); + } + _free($19); + $31 = $20 << 1; + $32 = (_malloc($31)|0); + $33 = ($20|0)==(0); + if (!($33)) { + $$0124130 = 0;$$0125129 = 0; + while(1) { + $41 = (($32) + ($$0124130)|0); + HEAP8[$41>>0] = -1; + $42 = (($21) + ($$0125129)|0); + $43 = HEAP8[$42>>0]|0; + $44 = $$0124130 | 1; + $45 = (($32) + ($44)|0); + HEAP8[$45>>0] = $43; + $46 = (($$0125129) + 1)|0; + $47 = (($$0124130) + 2)|0; + $48 = ($46|0)<($20|0); + if ($48) { + $$0124130 = $47;$$0125129 = $46; + } else { + break; + } + } + } + _free($21); + $34 = ((($5)) + 4|0); + HEAP32[$34>>2] = $18; + $35 = ((($5)) + 8|0); + HEAP32[$35>>2] = $18; + $36 = ((($5)) + 12|0); + HEAP32[$36>>2] = 1; + $37 = ((($5)) + 16|0); + HEAP32[$37>>2] = 2; + HEAP32[$5>>2] = $32; + ;HEAP32[$$byval_copy9>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy9+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$$byval_copy9+8>>2]=HEAP32[$5+8>>2]|0;HEAP32[$$byval_copy9+12>>2]=HEAP32[$5+12>>2]|0;HEAP32[$$byval_copy9+16>>2]=HEAP32[$5+16>>2]|0; + _LoadTextureFromImage($6,$$byval_copy9); + ;HEAP32[$$sroa$0>>2]=HEAP32[$6>>2]|0;HEAP32[$$sroa$0+4>>2]=HEAP32[$6+4>>2]|0;HEAP32[$$sroa$0+8>>2]=HEAP32[$6+8>>2]|0;HEAP32[$$sroa$0+12>>2]=HEAP32[$6+12>>2]|0;HEAP32[$$sroa$0+16>>2]=HEAP32[$6+16>>2]|0; + ;HEAP32[$$byval_copy9>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy9+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$$byval_copy9+8>>2]=HEAP32[$5+8>>2]|0;HEAP32[$$byval_copy9+12>>2]=HEAP32[$5+12>>2]|0;HEAP32[$$byval_copy9+16>>2]=HEAP32[$5+16>>2]|0; + _UnloadImage($$byval_copy9); + $38 = $3 << 5; + $39 = (_malloc($38)|0); + $40 = ($3|0)>(0); + if ($40) { + $$0128 = 0; + while(1) { + $49 = (($4) + ($$0128<<2)|0); + $50 = HEAP32[$49>>2]|0; + $51 = (($39) + ($$0128<<5)|0); + HEAP32[$51>>2] = $50; + $52 = (($23) + (($$0128*20)|0)|0); + $53 = HEAP16[$52>>1]|0; + $54 = $53&65535; + $55 = (((($39) + ($$0128<<5)|0)) + 4|0); + HEAP32[$55>>2] = $54; + $56 = (((($23) + (($$0128*20)|0)|0)) + 2|0); + $57 = HEAP16[$56>>1]|0; + $58 = $57&65535; + $59 = (((($39) + ($$0128<<5)|0)) + 8|0); + HEAP32[$59>>2] = $58; + $60 = (((($23) + (($$0128*20)|0)|0)) + 4|0); + $61 = HEAP16[$60>>1]|0; + $62 = $61&65535; + $63 = (($62) - ($54))|0; + $64 = (((($39) + ($$0128<<5)|0)) + 12|0); + HEAP32[$64>>2] = $63; + $65 = (((($23) + (($$0128*20)|0)|0)) + 6|0); + $66 = HEAP16[$65>>1]|0; + $67 = $66&65535; + $68 = (($67) - ($58))|0; + $69 = (((($39) + ($$0128<<5)|0)) + 16|0); + HEAP32[$69>>2] = $68; + $70 = (((($23) + (($$0128*20)|0)|0)) + 8|0); + $71 = +HEAPF32[$70>>2]; + $72 = (~~(($71))); + $73 = (((($39) + ($$0128<<5)|0)) + 20|0); + HEAP32[$73>>2] = $72; + $74 = (((($23) + (($$0128*20)|0)|0)) + 12|0); + $75 = +HEAPF32[$74>>2]; + $76 = (~~(($75))); + $77 = (((($39) + ($$0128<<5)|0)) + 24|0); + HEAP32[$77>>2] = $76; + $78 = (((($23) + (($$0128*20)|0)|0)) + 16|0); + $79 = +HEAPF32[$78>>2]; + $80 = (~~(($79))); + $81 = (((($39) + ($$0128<<5)|0)) + 28|0); + HEAP32[$81>>2] = $80; + $82 = (($$0128) + 1)|0; + $exitcond = ($82|0)==($3|0); + if ($exitcond) { + break; + } else { + $$0128 = $82; + } + } + } + _free($23); + ;HEAP32[$0>>2]=HEAP32[$$sroa$0>>2]|0;HEAP32[$0+4>>2]=HEAP32[$$sroa$0+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$$sroa$0+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$$sroa$0+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$$sroa$0+16>>2]|0; + $$sroa$6$0$$sroa_idx50 = ((($0)) + 20|0); + HEAP32[$$sroa$6$0$$sroa_idx50>>2] = $2; + $$sroa$7$0$$sroa_idx54 = ((($0)) + 24|0); + HEAP32[$$sroa$7$0$$sroa_idx54>>2] = $3; + $$sroa$10$0$$sroa_idx59 = ((($0)) + 28|0); + HEAP32[$$sroa$10$0$$sroa_idx59>>2] = $39; + STACKTOP = sp;return; +} +function _stbtt_BakeFontBitmap($0,$1,$2,$3,$4,$5,$6,$7) { + $0 = $0|0; + $1 = +$1; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + $6 = $6|0; + $7 = $7|0; + var $8 = 0, label = 0, sp = 0; + sp = STACKTOP; + $8 = (_stbtt_BakeFontBitmap_internal($0,$1,$2,$3,$4,$5,$6,$7)|0); + return ($8|0); +} +function _stbtt_BakeFontBitmap_internal($0,$1,$2,$3,$4,$5,$6,$7) { + $0 = $0|0; + $1 = +$1; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + $6 = $6|0; + $7 = $7|0; + var $$05 = 0, $$084$ = 0, $$0844 = 0, $$087$$091 = 0, $$0873 = 0, $$089 = 0, $$0902 = 0, $$091$ = 0, $$0911 = 0, $$1 = 0, $$2 = 0, $$286 = 0, $$293 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0; + var $17 = 0, $18 = 0.0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0; + var $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0.0, $52 = 0.0, $53 = 0, $54 = 0, $55 = 0.0, $56 = 0; + var $57 = 0, $58 = 0.0, $59 = 0, $60 = 0, $61 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 144|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(144|0); + $8 = sp + 24|0; + $9 = sp + 20|0; + $10 = sp + 16|0; + $11 = sp + 12|0; + $12 = sp + 8|0; + $13 = sp + 4|0; + $14 = sp; + HEAP32[$8>>2] = 0; + $15 = (_stbtt_InitFont($8,$0)|0); + $16 = ($15|0)==(0); + if ($16) { + $$2 = -1; + STACKTOP = sp;return ($$2|0); + } + $17 = Math_imul($4, $3)|0; + _memset(($2|0),0,($17|0))|0; + $18 = (+_stbtt_ScaleForPixelHeight($8,$1)); + $19 = ($6|0)>(0); + if (!($19)) { + $$2 = 1; + STACKTOP = sp;return ($$2|0); + } + $$05 = 0;$$0844 = 1;$$0873 = 1;$$0902 = 0;$$0911 = 1; + while(1) { + $22 = (($$0902) + ($5))|0; + $23 = (_stbtt_FindGlyphIndex($8,$22)|0); + _stbtt_GetGlyphHMetrics($8,$23,$9,$10); + _stbtt_GetGlyphBitmapBox($8,$23,$18,$18,$11,$12,$13,$14); + $24 = HEAP32[$13>>2]|0; + $25 = HEAP32[$11>>2]|0; + $26 = (($24) - ($25))|0; + $27 = HEAP32[$14>>2]|0; + $28 = HEAP32[$12>>2]|0; + $29 = (($27) - ($28))|0; + $30 = (($$0844) + 1)|0; + $31 = (($30) + ($26))|0; + $32 = ($31|0)<($3|0); + $$087$$091 = $32 ? $$0873 : $$0911; + $$084$ = $32 ? $$0844 : 1; + $33 = (($$087$$091) + ($29))|0; + $34 = (($33) + 1)|0; + $35 = ($34|0)<($4|0); + if ($35) { + $37 = (($$084$) + ($26))|0; + $38 = ($37|0)<($3|0); + if (!($38)) { + label = 8; + break; + } + $39 = (($2) + ($$084$)|0); + $40 = Math_imul($$087$$091, $3)|0; + $41 = (($39) + ($40)|0); + _stbtt_MakeGlyphBitmap($8,$41,$26,$29,$3,$18,$18,$23); + $42 = $$084$&65535; + $43 = (($7) + (($$0902*20)|0)|0); + HEAP16[$43>>1] = $42; + $44 = $$087$$091&65535; + $45 = (((($7) + (($$0902*20)|0)|0)) + 2|0); + HEAP16[$45>>1] = $44; + $46 = $37&65535; + $47 = (((($7) + (($$0902*20)|0)|0)) + 4|0); + HEAP16[$47>>1] = $46; + $48 = $33&65535; + $49 = (((($7) + (($$0902*20)|0)|0)) + 6|0); + HEAP16[$49>>1] = $48; + $50 = HEAP32[$9>>2]|0; + $51 = (+($50|0)); + $52 = $18 * $51; + $53 = (((($7) + (($$0902*20)|0)|0)) + 16|0); + HEAPF32[$53>>2] = $52; + $54 = HEAP32[$11>>2]|0; + $55 = (+($54|0)); + $56 = (((($7) + (($$0902*20)|0)|0)) + 8|0); + HEAPF32[$56>>2] = $55; + $57 = HEAP32[$12>>2]|0; + $58 = (+($57|0)); + $59 = (((($7) + (($$0902*20)|0)|0)) + 12|0); + HEAPF32[$59>>2] = $58; + $60 = (($37) + 1)|0; + $61 = ($33|0)<($$0911|0); + $$091$ = $61 ? $$0911 : $34; + $$089 = 1;$$1 = $$05;$$286 = $60;$$293 = $$091$; + } else { + $36 = (0 - ($$0902))|0; + $$089 = 0;$$1 = $36;$$286 = $$084$;$$293 = $$0911; + } + $21 = (($$0902) + 1)|0; + if (!($$089)) { + $$2 = $$1; + label = 11; + break; + } + $20 = ($21|0)<($6|0); + if ($20) { + $$05 = $$1;$$0844 = $$286;$$0873 = $$087$$091;$$0902 = $21;$$0911 = $$293; + } else { + $$2 = $$293; + label = 11; + break; + } + } + if ((label|0) == 8) { + ___assert_fail((14275|0),(14285|0),3274,(14311|0)); + // unreachable; + } + else if ((label|0) == 11) { + STACKTOP = sp;return ($$2|0); + } + return (0)|0; +} +function _stbtt_InitFont($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = (_stbtt_InitFont_internal($0,$1)|0); + return ($2|0); +} +function _stbtt_ScaleForPixelHeight($0,$1) { + $0 = $0|0; + $1 = +$1; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0.0, $15 = 0.0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($0)) + 4|0); + $3 = HEAP32[$2>>2]|0; + $4 = ((($0)) + 28|0); + $5 = HEAP32[$4>>2]|0; + $6 = (($3) + ($5)|0); + $7 = ((($6)) + 4|0); + $8 = (_ttSHORT($7)|0); + $9 = $8 << 16 >> 16; + $10 = ((($6)) + 6|0); + $11 = (_ttSHORT($10)|0); + $12 = $11 << 16 >> 16; + $13 = (($9) - ($12))|0; + $14 = (+($13|0)); + $15 = $1 / $14; + return (+$15); +} +function _stbtt_FindGlyphIndex($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$ = 0, $$$1172 = 0, $$0163180 = 0, $$0164179 = 0, $$0165 = 0, $$0165$ph = 0, $$0168$ph = 0, $$1172$lcssa = 0, $$1172178 = 0, $$2 = 0, $$2$shrunk = 0, $$5 = 0, $$8 = 0, $$neg = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0; + var $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0; + var $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; + var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0; + var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0; + var $switch = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($0)) + 4|0); + $3 = HEAP32[$2>>2]|0; + $4 = ((($0)) + 40|0); + $5 = HEAP32[$4>>2]|0; + $6 = (($3) + ($5)|0); + $7 = (_ttUSHORT($6)|0); + switch ($7<<16>>16) { + case 0: { + $8 = ((($6)) + 2|0); + $9 = (_ttUSHORT($8)|0); + $10 = $9&65535; + $11 = (($10) + -6)|0; + $12 = ($11|0)>($1|0); + if (!($12)) { + $$8 = 0; + return ($$8|0); + } + $13 = ((($6)) + 6|0); + $14 = (($13) + ($1)|0); + $15 = HEAP8[$14>>0]|0; + $16 = $15&255; + $$8 = $16; + return ($$8|0); + break; + } + case 6: { + $17 = ((($6)) + 6|0); + $18 = (_ttUSHORT($17)|0); + $19 = $18&65535; + $20 = ($19>>>0)>($1>>>0); + if ($20) { + $$8 = 0; + return ($$8|0); + } + $21 = ((($6)) + 8|0); + $22 = (_ttUSHORT($21)|0); + $23 = $22&65535; + $24 = (($23) + ($19))|0; + $25 = ($24>>>0)>($1>>>0); + if (!($25)) { + $$8 = 0; + return ($$8|0); + } + $26 = ((($6)) + 10|0); + $27 = (($1) - ($19))|0; + $28 = $27 << 1; + $29 = (($26) + ($28)|0); + $30 = (_ttUSHORT($29)|0); + $31 = $30&65535; + $$8 = $31; + return ($$8|0); + break; + } + case 2: { + ___assert_fail((16329|0),(14285|0),1347,(15085|0)); + // unreachable; + break; + } + case 4: { + $32 = ((($6)) + 6|0); + $33 = (_ttUSHORT($32)|0); + $34 = ($33&65535) >>> 1; + $35 = ($1|0)>(65535); + if ($35) { + $$8 = 0; + return ($$8|0); + } + $36 = (($5) + 14)|0; + $37 = ((($6)) + 12|0); + $38 = (_ttUSHORT($37)|0); + $39 = ((($6)) + 10|0); + $40 = (_ttUSHORT($39)|0); + $41 = $38 & -2; + $42 = (($3) + ($36)|0); + $43 = $41&65535; + $44 = (($42) + ($43)|0); + $45 = (_ttUSHORT($44)|0); + $46 = $45&65535; + $47 = ($46|0)>($1|0); + $48 = $47 ? 0 : $43; + $$ = (($5) + 12)|0; + $49 = (($$) + ($48))|0; + $50 = ($40<<16>>16)==(0); + if ($50) { + $$1172$lcssa = $49; + } else { + $51 = ((($6)) + 8|0); + $52 = (_ttUSHORT($51)|0); + $53 = ($52&65535) >>> 1; + $$0163180 = $53;$$0164179 = $40;$$1172178 = $49; + while(1) { + $54 = ($$0163180&65535) >>> 1; + $55 = (($3) + ($$1172178)|0); + $56 = ($54 << 1)&65535; + $57 = $56&65535; + $58 = (($55) + ($57)|0); + $59 = (_ttUSHORT($58)|0); + $60 = $59&65535; + $61 = ($60|0)<($1|0); + $62 = $61 ? $57 : 0; + $$$1172 = (($62) + ($$1172178))|0; + $63 = (($$0164179) + -1)<<16>>16; + $64 = ($63<<16>>16)==(0); + if ($64) { + $$1172$lcssa = $$$1172; + break; + } else { + $$0163180 = $54;$$0164179 = $63;$$1172178 = $$$1172; + } + } + } + $$neg = (-14 - ($5))|0; + $65 = (($$neg) + 2)|0; + $66 = (($65) + ($$1172$lcssa))|0; + $67 = $66 & 131070; + $68 = (($42) + ($67)|0); + $69 = (_ttUSHORT($68)|0); + $70 = $69&65535; + $71 = ($70|0)<($1|0); + if ($71) { + ___assert_fail((15106|0),(14285|0),1383,(15085|0)); + // unreachable; + } + $72 = ((($6)) + 14|0); + $73 = $34&65535; + $74 = ($34 << 1)&65535; + $75 = $74&65535; + $76 = (($72) + ($75)|0); + $77 = ((($76)) + 2|0); + $78 = (($77) + ($67)|0); + $79 = (_ttUSHORT($78)|0); + $80 = $79&65535; + $81 = ($80|0)>($1|0); + do { + if ($81) { + $$2$shrunk = 0; + } else { + $82 = ($73*6)|0; + $83 = (($72) + ($82)|0); + $84 = ((($83)) + 2|0); + $85 = (($84) + ($67)|0); + $86 = (_ttUSHORT($85)|0); + $87 = ($86<<16>>16)==(0); + if ($87) { + $88 = $73 << 2; + $89 = (($72) + ($88)|0); + $90 = ((($89)) + 2|0); + $91 = (($90) + ($67)|0); + $92 = (_ttSHORT($91)|0); + $93 = $92&65535; + $94 = (($93) + ($1))|0; + $95 = $94&65535; + $$2$shrunk = $95; + break; + } else { + $96 = $86&65535; + $97 = (($3) + ($96)|0); + $98 = (($1) - ($80))|0; + $99 = $98 << 1; + $100 = (($97) + ($99)|0); + $101 = (($100) + ($5)|0); + $102 = ((($101)) + 14|0); + $103 = (($102) + ($82)|0); + $104 = ((($103)) + 2|0); + $105 = (($104) + ($67)|0); + $106 = (_ttUSHORT($105)|0); + $$2$shrunk = $106; + break; + } + } + } while(0); + $$2 = $$2$shrunk&65535; + $$8 = $$2; + return ($$8|0); + break; + } + default: { + $107 = ($7<<16>>16)==(12); + $108 = $7 & -2; + $switch = ($108<<16>>16)==(12); + if (!($switch)) { + ___assert_fail((16329|0),(14285|0),1418,(15085|0)); + // unreachable; + } + $109 = ((($6)) + 12|0); + $110 = (_ttULONG($109)|0); + $111 = ((($6)) + 16|0); + $$0165$ph = $110;$$0168$ph = 0; + L6: while(1) { + $$0165 = $$0165$ph; + while(1) { + $112 = ($$0165|0)>($$0168$ph|0); + if (!($112)) { + $$8 = 0; + label = 27; + break L6; + } + $113 = (($$0165) - ($$0168$ph))|0; + $114 = $113 >> 1; + $115 = (($114) + ($$0168$ph))|0; + $116 = ($115*12)|0; + $117 = (($111) + ($116)|0); + $118 = (_ttULONG($117)|0); + $119 = ($118>>>0)>($1>>>0); + if ($119) { + $$0165 = $115; + } else { + break; + } + } + $120 = ((($117)) + 4|0); + $121 = (_ttULONG($120)|0); + $122 = ($121>>>0)<($1>>>0); + $123 = (($115) + 1)|0; + if ($122) { + $$0165$ph = $$0165;$$0168$ph = $123; + } else { + break; + } + } + if ((label|0) == 27) { + return ($$8|0); + } + $124 = ((($117)) + 8|0); + $125 = (_ttULONG($124)|0); + $126 = (($1) - ($118))|0; + $127 = $107 ? $126 : 0; + $$5 = (($125) + ($127))|0; + $$8 = $$5; + return ($$8|0); + } + } + return (0)|0; +} +function _stbtt_GetGlyphHMetrics($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0; + var $49 = 0, $5 = 0, $50 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $4 = ((($0)) + 4|0); + $5 = HEAP32[$4>>2]|0; + $6 = ((($0)) + 28|0); + $7 = HEAP32[$6>>2]|0; + $8 = (($5) + ($7)|0); + $9 = ((($8)) + 34|0); + $10 = (_ttUSHORT($9)|0); + $11 = $10&65535; + $12 = ($11|0)>($1|0); + $13 = ($2|0)!=(0|0); + if ($12) { + if ($13) { + $14 = ((($0)) + 32|0); + $15 = HEAP32[$14>>2]|0; + $16 = (($5) + ($15)|0); + $17 = $1 << 2; + $18 = (($16) + ($17)|0); + $19 = (_ttSHORT($18)|0); + $20 = $19 << 16 >> 16; + HEAP32[$2>>2] = $20; + } + $21 = ($3|0)==(0|0); + if ($21) { + return; + } + $22 = HEAP32[$4>>2]|0; + $23 = ((($0)) + 32|0); + $24 = HEAP32[$23>>2]|0; + $25 = (($22) + ($24)|0); + $26 = $1 << 2; + $27 = (($25) + ($26)|0); + $28 = ((($27)) + 2|0); + $29 = (_ttSHORT($28)|0); + $30 = $29 << 16 >> 16; + HEAP32[$3>>2] = $30; + return; + } else { + if ($13) { + $31 = ((($0)) + 32|0); + $32 = HEAP32[$31>>2]|0; + $33 = (($5) + ($32)|0); + $34 = $11 << 2; + $35 = (($34) + -4)|0; + $36 = (($33) + ($35)|0); + $37 = (_ttSHORT($36)|0); + $38 = $37 << 16 >> 16; + HEAP32[$2>>2] = $38; + } + $39 = ($3|0)==(0|0); + if ($39) { + return; + } + $40 = HEAP32[$4>>2]|0; + $41 = ((($0)) + 32|0); + $42 = HEAP32[$41>>2]|0; + $43 = (($40) + ($42)|0); + $44 = $11 << 2; + $45 = (($43) + ($44)|0); + $46 = (($1) - ($11))|0; + $47 = $46 << 1; + $48 = (($45) + ($47)|0); + $49 = (_ttSHORT($48)|0); + $50 = $49 << 16 >> 16; + HEAP32[$3>>2] = $50; + return; + } +} +function _stbtt_GetGlyphBitmapBox($0,$1,$2,$3,$4,$5,$6,$7) { + $0 = $0|0; + $1 = $1|0; + $2 = +$2; + $3 = +$3; + $4 = $4|0; + $5 = $5|0; + $6 = $6|0; + $7 = $7|0; + var label = 0, sp = 0; + sp = STACKTOP; + _stbtt_GetGlyphBitmapBoxSubpixel($0,$1,$2,$3,$4,$5,$6,$7); + return; +} +function _stbtt_MakeGlyphBitmap($0,$1,$2,$3,$4,$5,$6,$7) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = +$5; + $6 = +$6; + $7 = $7|0; + var label = 0, sp = 0; + sp = STACKTOP; + _stbtt_MakeGlyphBitmapSubpixel($0,$1,$2,$3,$4,$5,$6,$7); + return; +} +function _stbtt_MakeGlyphBitmapSubpixel($0,$1,$2,$3,$4,$5,$6,$7) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = +$5; + $6 = +$6; + $7 = $7|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $8 = sp + 24|0; + $9 = sp + 20|0; + $10 = sp + 16|0; + $11 = sp; + $12 = (_stbtt_GetGlyphShape($0,$7,$10)|0); + _stbtt_GetGlyphBitmapBoxSubpixel($0,$7,$5,$6,$8,$9,0,0); + $13 = ((($11)) + 12|0); + HEAP32[$13>>2] = $1; + HEAP32[$11>>2] = $2; + $14 = ((($11)) + 4|0); + HEAP32[$14>>2] = $3; + $15 = ((($11)) + 8|0); + HEAP32[$15>>2] = $4; + $16 = ($2|0)==(0); + $17 = ($3|0)==(0); + $or$cond = $16 | $17; + if ($or$cond) { + $21 = HEAP32[$10>>2]|0; + _free($21); + STACKTOP = sp;return; + } + $18 = HEAP32[$10>>2]|0; + $19 = HEAP32[$8>>2]|0; + $20 = HEAP32[$9>>2]|0; + _stbtt_Rasterize($11,$18,$12,$5,$6,$19,$20); + $21 = HEAP32[$10>>2]|0; + _free($21); + STACKTOP = sp;return; +} +function _stbtt_GetGlyphShape($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$0 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ((($0)) + 56|0); + $4 = HEAP32[$3>>2]|0; + $5 = ($4|0)==(0); + if ($5) { + $6 = (_stbtt__GetGlyphShapeTT($0,$1,$2)|0); + $$0 = $6; + return ($$0|0); + } else { + $7 = (_stbtt__GetGlyphShapeT2($0,$1,$2)|0); + $$0 = $7; + return ($$0|0); + } + return (0)|0; +} +function _stbtt_GetGlyphBitmapBoxSubpixel($0,$1,$2,$3,$4,$5,$6,$7) { + $0 = $0|0; + $1 = $1|0; + $2 = +$2; + $3 = +$3; + $4 = $4|0; + $5 = $5|0; + $6 = $6|0; + $7 = $7|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0.0, $27 = 0.0, $28 = 0.0, $29 = 0; + var $30 = 0, $31 = 0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0.0, $40 = 0.0, $41 = 0.0, $42 = 0, $8 = 0, $9 = 0, $ceilf = 0.0, $ceilf1 = 0.0, $floorf = 0.0, $floorf2 = 0.0, label = 0; + var sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $8 = sp + 12|0; + $9 = sp + 8|0; + $10 = sp + 4|0; + $11 = sp; + HEAP32[$8>>2] = 0; + HEAP32[$9>>2] = 0; + $12 = (_stbtt_GetGlyphBox($0,$1,$8,$9,$10,$11)|0); + $13 = ($12|0)==(0); + $14 = ($4|0)!=(0|0); + if ($13) { + if ($14) { + HEAP32[$4>>2] = 0; + } + $15 = ($5|0)==(0|0); + if (!($15)) { + HEAP32[$5>>2] = 0; + } + $16 = ($6|0)==(0|0); + if (!($16)) { + HEAP32[$6>>2] = 0; + } + $17 = ($7|0)==(0|0); + if ($17) { + STACKTOP = sp;return; + } + HEAP32[$7>>2] = 0; + STACKTOP = sp;return; + } else { + if ($14) { + $18 = HEAP32[$8>>2]|0; + $19 = (+($18|0)); + $20 = $19 * $2; + $21 = $20 + 0.0; + $floorf2 = (+Math_floor((+$21))); + $22 = (~~(($floorf2))); + HEAP32[$4>>2] = $22; + } + $23 = ($5|0)==(0|0); + if (!($23)) { + $24 = HEAP32[$11>>2]|0; + $25 = (0 - ($24))|0; + $26 = (+($25|0)); + $27 = $26 * $3; + $28 = $27 + 0.0; + $floorf = (+Math_floor((+$28))); + $29 = (~~(($floorf))); + HEAP32[$5>>2] = $29; + } + $30 = ($6|0)==(0|0); + if (!($30)) { + $31 = HEAP32[$10>>2]|0; + $32 = (+($31|0)); + $33 = $32 * $2; + $34 = $33 + 0.0; + $ceilf1 = (+Math_ceil((+$34))); + $35 = (~~(($ceilf1))); + HEAP32[$6>>2] = $35; + } + $36 = ($7|0)==(0|0); + if ($36) { + STACKTOP = sp;return; + } + $37 = HEAP32[$9>>2]|0; + $38 = (0 - ($37))|0; + $39 = (+($38|0)); + $40 = $39 * $3; + $41 = $40 + 0.0; + $ceilf = (+Math_ceil((+$41))); + $42 = (~~(($ceilf))); + HEAP32[$7>>2] = $42; + STACKTOP = sp;return; + } +} +function _stbtt_Rasterize($0,$1,$2,$3,$4,$5,$6) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = +$3; + $4 = +$4; + $5 = $5|0; + $6 = $6|0; + var $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $7 = sp + 4|0; + $8 = sp; + $9 = $3 > $4; + $10 = $9 ? $4 : $3; + $11 = 0.34999999403953552 / $10; + $12 = (_stbtt_FlattenCurves($1,$2,$11,$8,$7)|0); + $13 = ($12|0)==(0|0); + if ($13) { + STACKTOP = sp;return; + } + $14 = HEAP32[$8>>2]|0; + $15 = HEAP32[$7>>2]|0; + _stbtt__rasterize($0,$12,$14,$15,$3,$4,$5,$6); + _free($14); + _free($12); + STACKTOP = sp;return; +} +function _stbtt_FlattenCurves($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = +$2; + $3 = $3|0; + $4 = $4|0; + var $$$0113 = 0, $$010 = 0.0, $$01079 = 0.0, $$011014 = 0, $$011113 = 0, $$011316 = 0, $$011715 = 0, $$0119 = 0, $$012012 = 0, $$1 = 0.0, $$1108 = 0.0, $$1112$lcssa = 0, $$11128 = 0, $$11185 = 0, $$1121 = 0, $$2 = 0, $$2115$lcssa = 0, $$21157 = 0, $$3116 = 0, $10 = 0; + var $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0; + var $31 = 0, $32 = 0, $33 = 0, $34 = 0.0, $35 = 0, $36 = 0, $37 = 0.0, $38 = 0, $39 = 0, $40 = 0.0, $41 = 0, $42 = 0, $43 = 0.0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0.0, $49 = 0, $5 = 0; + var $50 = 0, $51 = 0.0, $52 = 0, $53 = 0.0, $54 = 0, $55 = 0, $56 = 0.0, $57 = 0, $58 = 0.0, $59 = 0, $6 = 0.0, $60 = 0.0, $61 = 0, $62 = 0, $63 = 0.0, $64 = 0, $65 = 0, $66 = 0.0, $67 = 0, $68 = 0; + var $69 = 0.0, $7 = 0, $70 = 0, $71 = 0, $72 = 0.0, $73 = 0, $74 = 0.0, $75 = 0, $76 = 0, $77 = 0.0, $78 = 0, $79 = 0.0, $8 = 0, $80 = 0, $81 = 0.0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0; + var $87 = 0, $88 = 0, $89 = 0, $9 = 0, $exitcond = 0, $exitcond21 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $5 = sp; + HEAP32[$5>>2] = 0; + $6 = $2 * $2; + $7 = ($1|0)>(0); + if ($7) { + $$011316 = 0;$$011715 = 0; + } else { + HEAP32[$4>>2] = 0; + $$0119 = 0; + STACKTOP = sp;return ($$0119|0); + } + while(1) { + $8 = (((($0) + (($$011715*14)|0)|0)) + 12|0); + $9 = HEAP8[$8>>0]|0; + $10 = ($9<<24>>24)==(1); + $11 = $10&1; + $$$0113 = (($11) + ($$011316))|0; + $12 = (($$011715) + 1)|0; + $exitcond21 = ($12|0)==($1|0); + if ($exitcond21) { + break; + } else { + $$011316 = $$$0113;$$011715 = $12; + } + } + HEAP32[$4>>2] = $$$0113; + $13 = ($$$0113|0)==(0); + if ($13) { + $$0119 = 0; + STACKTOP = sp;return ($$0119|0); + } + $14 = $$$0113 << 2; + $15 = (_malloc($14)|0); + HEAP32[$3>>2] = $15; + $16 = ($15|0)==(0|0); + if ($16) { + HEAP32[$4>>2] = 0; + $$0119 = 0; + STACKTOP = sp;return ($$0119|0); + } + $17 = ($1|0)>(0); + $$011014 = 0;$$011113 = 0;$$012012 = 0; + while(1) { + $18 = ($$011014|0)==(1); + if ($18) { + $19 = HEAP32[$5>>2]|0; + $20 = $19 << 3; + $21 = (_malloc($20)|0); + $22 = ($21|0)==(0|0); + if ($22) { + break; + } else { + $$1121 = $21; + } + } else { + $$1121 = $$012012; + } + HEAP32[$5>>2] = 0; + L19: do { + if ($17) { + $$010 = 0.0;$$01079 = 0.0;$$11128 = $$011113;$$11185 = 0;$$21157 = -1; + while(1) { + $23 = (($0) + (($$11185*14)|0)|0); + $24 = (((($0) + (($$11185*14)|0)|0)) + 12|0); + $25 = HEAP8[$24>>0]|0; + switch ($25<<24>>24) { + case 1: { + $26 = ($$21157|0)>(-1); + if ($26) { + $27 = HEAP32[$5>>2]|0; + $28 = (($27) - ($$11128))|0; + $29 = HEAP32[$3>>2]|0; + $30 = (($29) + ($$21157<<2)|0); + HEAP32[$30>>2] = $28; + } + $31 = (($$21157) + 1)|0; + $32 = HEAP32[$5>>2]|0; + $33 = HEAP16[$23>>1]|0; + $34 = (+($33<<16>>16)); + $35 = (((($0) + (($$11185*14)|0)|0)) + 2|0); + $36 = HEAP16[$35>>1]|0; + $37 = (+($36<<16>>16)); + $38 = (($32) + 1)|0; + HEAP32[$5>>2] = $38; + _stbtt__add_point($$1121,$32,$34,$37); + $$1 = $37;$$1108 = $34;$$2 = $32;$$3116 = $31; + break; + } + case 2: { + $39 = HEAP16[$23>>1]|0; + $40 = (+($39<<16>>16)); + $41 = (((($0) + (($$11185*14)|0)|0)) + 2|0); + $42 = HEAP16[$41>>1]|0; + $43 = (+($42<<16>>16)); + $44 = HEAP32[$5>>2]|0; + $45 = (($44) + 1)|0; + HEAP32[$5>>2] = $45; + _stbtt__add_point($$1121,$44,$40,$43); + $$1 = $43;$$1108 = $40;$$2 = $$11128;$$3116 = $$21157; + break; + } + case 3: { + $46 = (((($0) + (($$11185*14)|0)|0)) + 4|0); + $47 = HEAP16[$46>>1]|0; + $48 = (+($47<<16>>16)); + $49 = (((($0) + (($$11185*14)|0)|0)) + 6|0); + $50 = HEAP16[$49>>1]|0; + $51 = (+($50<<16>>16)); + $52 = HEAP16[$23>>1]|0; + $53 = (+($52<<16>>16)); + $54 = (((($0) + (($$11185*14)|0)|0)) + 2|0); + $55 = HEAP16[$54>>1]|0; + $56 = (+($55<<16>>16)); + _stbtt__tesselate_curve($$1121,$5,$$01079,$$010,$48,$51,$53,$56,$6,0); + $57 = HEAP16[$23>>1]|0; + $58 = (+($57<<16>>16)); + $59 = HEAP16[$54>>1]|0; + $60 = (+($59<<16>>16)); + $$1 = $60;$$1108 = $58;$$2 = $$11128;$$3116 = $$21157; + break; + } + case 4: { + $61 = (((($0) + (($$11185*14)|0)|0)) + 4|0); + $62 = HEAP16[$61>>1]|0; + $63 = (+($62<<16>>16)); + $64 = (((($0) + (($$11185*14)|0)|0)) + 6|0); + $65 = HEAP16[$64>>1]|0; + $66 = (+($65<<16>>16)); + $67 = (((($0) + (($$11185*14)|0)|0)) + 8|0); + $68 = HEAP16[$67>>1]|0; + $69 = (+($68<<16>>16)); + $70 = (((($0) + (($$11185*14)|0)|0)) + 10|0); + $71 = HEAP16[$70>>1]|0; + $72 = (+($71<<16>>16)); + $73 = HEAP16[$23>>1]|0; + $74 = (+($73<<16>>16)); + $75 = (((($0) + (($$11185*14)|0)|0)) + 2|0); + $76 = HEAP16[$75>>1]|0; + $77 = (+($76<<16>>16)); + _stbtt__tesselate_cubic($$1121,$5,$$01079,$$010,$63,$66,$69,$72,$74,$77,$6,0); + $78 = HEAP16[$23>>1]|0; + $79 = (+($78<<16>>16)); + $80 = HEAP16[$75>>1]|0; + $81 = (+($80<<16>>16)); + $$1 = $81;$$1108 = $79;$$2 = $$11128;$$3116 = $$21157; + break; + } + default: { + $$1 = $$010;$$1108 = $$01079;$$2 = $$11128;$$3116 = $$21157; + } + } + $82 = (($$11185) + 1)|0; + $exitcond = ($82|0)==($1|0); + if ($exitcond) { + $$1112$lcssa = $$2;$$2115$lcssa = $$3116; + break L19; + } else { + $$010 = $$1;$$01079 = $$1108;$$11128 = $$2;$$11185 = $82;$$21157 = $$3116; + } + } + } else { + $$1112$lcssa = $$011113;$$2115$lcssa = -1; + } + } while(0); + $83 = HEAP32[$5>>2]|0; + $84 = (($83) - ($$1112$lcssa))|0; + $85 = HEAP32[$3>>2]|0; + $86 = (($85) + ($$2115$lcssa<<2)|0); + HEAP32[$86>>2] = $84; + $87 = (($$011014) + 1)|0; + $88 = ($87|0)<(2); + if ($88) { + $$011014 = $87;$$011113 = $$1112$lcssa;$$012012 = $$1121; + } else { + $$0119 = $$1121; + label = 21; + break; + } + } + if ((label|0) == 21) { + STACKTOP = sp;return ($$0119|0); + } + $89 = HEAP32[$3>>2]|0; + _free($89); + HEAP32[$3>>2] = 0; + HEAP32[$4>>2] = 0; + $$0119 = 0; + STACKTOP = sp;return ($$0119|0); +} +function _stbtt__rasterize($0,$1,$2,$3,$4,$5,$6,$7) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = +$4; + $5 = +$5; + $6 = $6|0; + $7 = $7|0; + var $$0 = 0, $$0101 = 0, $$0102$lcssa = 0, $$010211 = 0, $$010410 = 0, $$01064 = 0, $$01072 = 0, $$01081 = 0, $$01081$phi = 0, $$1$lcssa = 0, $$11055 = 0, $$16 = 0, $$2$lcssa = 0, $$23 = 0, $$3 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0; + var $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0.0, $27 = 0, $28 = 0, $29 = 0.0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0.0; + var $35 = 0.0, $36 = 0.0, $37 = 0, $38 = 0, $39 = 0.0, $40 = 0.0, $41 = 0.0, $42 = 0, $43 = 0, $44 = 0.0, $45 = 0.0, $46 = 0.0, $47 = 0, $48 = 0, $49 = 0.0, $50 = 0.0, $51 = 0.0, $52 = 0, $53 = 0, $54 = 0; + var $55 = 0, $56 = 0, $8 = 0.0, $9 = 0, $exitcond = 0, $exitcond16 = 0, $phitmp = 0, $phitmp17 = 0, $storemerge = 0, label = 0, sp = 0; + sp = STACKTOP; + $8 = -$5; + $9 = ($3|0)>(0); + if ($9) { + $$010211 = 0;$$010410 = 0; + while(1) { + $10 = (($2) + ($$010410<<2)|0); + $11 = HEAP32[$10>>2]|0; + $12 = (($11) + ($$010211))|0; + $13 = (($$010410) + 1)|0; + $exitcond16 = ($13|0)==($3|0); + if ($exitcond16) { + break; + } else { + $$010211 = $12;$$010410 = $13; + } + } + $phitmp = ($12*20)|0; + $phitmp17 = (($phitmp) + 20)|0; + $$0102$lcssa = $phitmp17; + } else { + $$0102$lcssa = 20; + } + $14 = (_malloc($$0102$lcssa)|0); + $15 = ($14|0)==(0|0); + if ($15) { + return; + } + $16 = ($3|0)>(0); + if ($16) { + $$01064 = 0;$$11055 = 0;$$16 = 0; + while(1) { + $17 = (($1) + ($$01064<<3)|0); + $18 = (($2) + ($$11055<<2)|0); + $19 = HEAP32[$18>>2]|0; + $20 = (($19) + ($$01064))|0; + $21 = ($19|0)>(0); + if ($21) { + $22 = (($19) + -1)|0; + $23 = HEAP32[$18>>2]|0; + $$01072 = 0;$$01081 = $22;$$23 = $$16; + while(1) { + $24 = (($17) + ($$01081<<3)|0); + $25 = ((($24)) + 4|0); + $26 = +HEAPF32[$25>>2]; + $27 = (($17) + ($$01072<<3)|0); + $28 = ((($27)) + 4|0); + $29 = +HEAPF32[$28>>2]; + $30 = $26 == $29; + if ($30) { + $$3 = $$23; + } else { + $31 = (((($14) + (($$23*20)|0)|0)) + 16|0); + $32 = $26 > $29; + $storemerge = $32&1; + $$0101 = $32 ? $$01081 : $$01072; + $$0 = $32 ? $$01072 : $$01081; + HEAP32[$31>>2] = $storemerge; + $33 = (($17) + ($$0101<<3)|0); + $34 = +HEAPF32[$33>>2]; + $35 = $34 * $4; + $36 = $35 + 0.0; + $37 = (($14) + (($$23*20)|0)|0); + HEAPF32[$37>>2] = $36; + $38 = ((($33)) + 4|0); + $39 = +HEAPF32[$38>>2]; + $40 = $39 * $8; + $41 = $40 + 0.0; + $42 = (((($14) + (($$23*20)|0)|0)) + 4|0); + HEAPF32[$42>>2] = $41; + $43 = (($17) + ($$0<<3)|0); + $44 = +HEAPF32[$43>>2]; + $45 = $44 * $4; + $46 = $45 + 0.0; + $47 = (((($14) + (($$23*20)|0)|0)) + 8|0); + HEAPF32[$47>>2] = $46; + $48 = ((($43)) + 4|0); + $49 = +HEAPF32[$48>>2]; + $50 = $49 * $8; + $51 = $50 + 0.0; + $52 = (((($14) + (($$23*20)|0)|0)) + 12|0); + HEAPF32[$52>>2] = $51; + $53 = (($$23) + 1)|0; + $$3 = $53; + } + $54 = (($$01072) + 1)|0; + $55 = ($54|0)<($23|0); + if ($55) { + $$01081$phi = $$01072;$$01072 = $54;$$23 = $$3;$$01081 = $$01081$phi; + } else { + $$2$lcssa = $$3; + break; + } + } + } else { + $$2$lcssa = $$16; + } + $56 = (($$11055) + 1)|0; + $exitcond = ($56|0)==($3|0); + if ($exitcond) { + $$1$lcssa = $$2$lcssa; + break; + } else { + $$01064 = $20;$$11055 = $56;$$16 = $$2$lcssa; + } + } + } else { + $$1$lcssa = 0; + } + _stbtt__sort_edges($14,$$1$lcssa); + _stbtt__rasterize_sorted_edges($0,$14,$$1$lcssa,$6,$7); + _free($14); + return; +} +function _stbtt__sort_edges($0,$1) { + $0 = $0|0; + $1 = $1|0; + var label = 0, sp = 0; + sp = STACKTOP; + _stbtt__sort_edges_quicksort($0,$1); + _stbtt__sort_edges_ins_sort($0,$1); + return; +} +function _stbtt__rasterize_sorted_edges($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$ = 0, $$010025 = 0, $$010123 = 0, $$010219 = 0.0, $$010318 = 0, $$0104 = 0, $$0105$ph15 = 0, $$026 = 0, $$1$lcssa = 0, $$116 = 0, $$sroa$0 = 0, $$sroa$0$0$$sroa$0$0$$0$1 = 0, $$sroa$0$0$$sroa$0$0$$0$1079 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0; + var $17 = 0.0, $18 = 0.0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0.0, $26 = 0.0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0.0, $34 = 0, $35 = 0, $36 = 0; + var $37 = 0.0, $38 = 0, $39 = 0, $40 = 0, $41 = 0.0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0.0, $49 = 0, $5 = 0, $50 = 0.0, $51 = 0, $52 = 0, $53 = 0, $54 = 0.0, $55 = 0; + var $56 = 0, $57 = 0, $58 = 0, $59 = 0.0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0.0, $69 = 0.0, $7 = 0, $70 = 0, $71 = 0.0, $72 = 0.0, $73 = 0.0; + var $74 = 0.0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0.0, $89 = 0, $9 = 0, $90 = 0.0, $91 = 0.0; + var $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $fabsf = 0.0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 544|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(544|0); + $5 = sp + 520|0; + $$sroa$0 = sp + 516|0; + $6 = sp; + ;HEAP32[$5>>2]=0|0;HEAP32[$5+4>>2]=0|0;HEAP32[$5+8>>2]=0|0; + HEAP32[$$sroa$0>>2] = 0; + $7 = HEAP32[$0>>2]|0; + $8 = ($7|0)>(64); + if ($8) { + $9 = $7 << 3; + $10 = $9 | 4; + $11 = (_malloc($10)|0); + $$0104 = $11; + } else { + $$0104 = $6; + } + $12 = HEAP32[$0>>2]|0; + $13 = (($$0104) + ($12<<2)|0); + $14 = ((($0)) + 4|0); + $15 = HEAP32[$14>>2]|0; + $16 = (($15) + ($4))|0; + $17 = (+($16|0)); + $18 = $17 + 1.0; + $19 = (((($1) + (($2*20)|0)|0)) + 4|0); + HEAPF32[$19>>2] = $18; + $20 = HEAP32[$14>>2]|0; + $21 = ($20|0)>(0); + L5: do { + if ($21) { + $22 = ((($13)) + 4|0); + $23 = ((($0)) + 12|0); + $24 = ((($0)) + 8|0); + $$010025 = $4;$$010123 = 0;$$026 = $1; + L7: while(1) { + $25 = (+($$010025|0)); + $26 = $25 + 1.0; + $27 = HEAP32[$0>>2]|0; + $28 = $27 << 2; + _memset(($$0104|0),0,($28|0))|0; + $29 = (($28) + 4)|0; + _memset(($13|0),0,($29|0))|0; + $30 = HEAP32[$$sroa$0>>2]|0; + $31 = ($30|0)==(0|0); + L9: do { + if (!($31)) { + $$0105$ph15 = $$sroa$0;$99 = $30; + while(1) { + $36 = $99; + while(1) { + $35 = ((($36)) + 24|0); + $37 = +HEAPF32[$35>>2]; + $38 = !($37 <= $25); + if ($38) { + break; + } + $39 = HEAP32[$36>>2]|0; + HEAP32[$$0105$ph15>>2] = $39; + $40 = ((($36)) + 16|0); + $41 = +HEAPF32[$40>>2]; + $42 = $41 != 0.0; + if (!($42)) { + label = 11; + break L7; + } + HEAPF32[$40>>2] = 0.0; + _stbtt__hheap_free($5,$36); + $43 = HEAP32[$$0105$ph15>>2]|0; + $44 = ($43|0)==(0|0); + if ($44) { + break L9; + } else { + $36 = $43; + } + } + $45 = HEAP32[$36>>2]|0; + $46 = ($45|0)==(0|0); + if ($46) { + break; + } else { + $$0105$ph15 = $36;$99 = $45; + } + } + } + } while(0); + $32 = ((($$026)) + 4|0); + $33 = +HEAPF32[$32>>2]; + $34 = !($33 <= $26); + if ($34) { + $$1$lcssa = $$026; + } else { + $$116 = $$026;$50 = $33; + while(1) { + $47 = ((($$116)) + 12|0); + $48 = +HEAPF32[$47>>2]; + $49 = $50 != $48; + if ($49) { + $51 = (_stbtt__new_active($5,$$116,$3,$25)|0); + $52 = ($51|0)==(0|0); + if (!($52)) { + $53 = ((($51)) + 24|0); + $54 = +HEAPF32[$53>>2]; + $55 = !($54 >= $25); + if ($55) { + label = 17; + break L7; + } + $$sroa$0$0$$sroa$0$0$$0$1 = HEAP32[$$sroa$0>>2]|0; + HEAP32[$51>>2] = $$sroa$0$0$$sroa$0$0$$0$1; + $56 = $51; + HEAP32[$$sroa$0>>2] = $56; + } + } + $57 = ((($$116)) + 20|0); + $58 = ((($$116)) + 24|0); + $59 = +HEAPF32[$58>>2]; + $60 = !($59 <= $26); + if ($60) { + $$1$lcssa = $57; + break; + } else { + $$116 = $57;$50 = $59; + } + } + } + $$sroa$0$0$$sroa$0$0$$0$1079 = HEAP32[$$sroa$0>>2]|0; + $61 = ($$sroa$0$0$$sroa$0$0$$0$1079|0)==(0|0); + if (!($61)) { + $62 = HEAP32[$0>>2]|0; + _stbtt__fill_active_edges_new($$0104,$22,$62,$$sroa$0$0$$sroa$0$0$$0$1079,$25); + } + $63 = HEAP32[$0>>2]|0; + $64 = ($63|0)>(0); + if ($64) { + $$010219 = 0.0;$$010318 = 0; + while(1) { + $67 = (($13) + ($$010318<<2)|0); + $68 = +HEAPF32[$67>>2]; + $69 = $$010219 + $68; + $70 = (($$0104) + ($$010318<<2)|0); + $71 = +HEAPF32[$70>>2]; + $72 = $71 + $69; + $fabsf = (+Math_abs((+$72))); + $73 = $fabsf * 255.0; + $74 = $73 + 0.5; + $75 = (~~(($74))); + $76 = ($75|0)<(255); + $$ = $76 ? $75 : 255; + $77 = $$&255; + $78 = HEAP32[$23>>2]|0; + $79 = HEAP32[$24>>2]|0; + $80 = Math_imul($79, $$010123)|0; + $81 = (($80) + ($$010318))|0; + $82 = (($78) + ($81)|0); + HEAP8[$82>>0] = $77; + $83 = (($$010318) + 1)|0; + $84 = HEAP32[$0>>2]|0; + $85 = ($83|0)<($84|0); + if ($85) { + $$010219 = $69;$$010318 = $83; + } else { + break; + } + } + } + $65 = HEAP32[$$sroa$0>>2]|0; + $66 = ($65|0)==(0|0); + if (!($66)) { + $87 = $65; + while(1) { + $86 = ((($87)) + 8|0); + $88 = +HEAPF32[$86>>2]; + $89 = ((($87)) + 4|0); + $90 = +HEAPF32[$89>>2]; + $91 = $88 + $90; + HEAPF32[$89>>2] = $91; + $92 = HEAP32[$87>>2]|0; + $93 = ($92|0)==(0|0); + if ($93) { + break; + } else { + $87 = $92; + } + } + } + $94 = (($$010025) + 1)|0; + $95 = (($$010123) + 1)|0; + $96 = HEAP32[$14>>2]|0; + $97 = ($95|0)<($96|0); + if ($97) { + $$010025 = $94;$$010123 = $95;$$026 = $$1$lcssa; + } else { + break L5; + } + } + if ((label|0) == 11) { + ___assert_fail((14341|0),(14285|0),2775,(14354|0)); + // unreachable; + } + else if ((label|0) == 17) { + ___assert_fail((14384|0),(14285|0),2788,(14354|0)); + // unreachable; + } + } + } while(0); + _stbtt__hheap_cleanup($5); + $98 = ($$0104|0)==($6|0); + if ($98) { + STACKTOP = sp;return; + } + _free($$0104); + STACKTOP = sp;return; +} +function _stbtt__hheap_free($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($0)) + 4|0); + $3 = HEAP32[$2>>2]|0; + HEAP32[$1>>2] = $3; + HEAP32[$2>>2] = $1; + return; +} +function _stbtt__new_active($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = +$3; + var $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0, $18 = 0.0, $19 = 0.0, $20 = 0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0.0, $26 = 0, $27 = 0.0, $28 = 0.0, $29 = 0; + var $30 = 0, $31 = 0, $32 = 0.0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $4 = 0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $4 = (_stbtt__hheap_alloc($0)|0); + $5 = ((($1)) + 8|0); + $6 = +HEAPF32[$5>>2]; + $7 = +HEAPF32[$1>>2]; + $8 = $6 - $7; + $9 = ((($1)) + 12|0); + $10 = +HEAPF32[$9>>2]; + $11 = ((($1)) + 4|0); + $12 = +HEAPF32[$11>>2]; + $13 = $10 - $12; + $14 = $8 / $13; + $15 = ($4|0)==(0|0); + if ($15) { + ___assert_fail((14674|0),(14285|0),2374,(14690|0)); + // unreachable; + } else { + $16 = ((($4)) + 8|0); + HEAPF32[$16>>2] = $14; + $17 = $14 != 0.0; + $18 = 1.0 / $14; + $19 = $17 ? $18 : 0.0; + $20 = ((($4)) + 12|0); + HEAPF32[$20>>2] = $19; + $21 = +HEAPF32[$1>>2]; + $22 = +HEAPF32[$11>>2]; + $23 = $3 - $22; + $24 = $14 * $23; + $25 = $21 + $24; + $26 = ((($4)) + 4|0); + $27 = (+($2|0)); + $28 = $25 - $27; + HEAPF32[$26>>2] = $28; + $29 = ((($1)) + 16|0); + $30 = HEAP32[$29>>2]|0; + $31 = ($30|0)!=(0); + $32 = $31 ? 1.0 : -1.0; + $33 = ((($4)) + 16|0); + HEAPF32[$33>>2] = $32; + $34 = ((($4)) + 20|0); + HEAPF32[$34>>2] = $22; + $35 = HEAP32[$9>>2]|0; + $36 = ((($4)) + 24|0); + HEAP32[$36>>2] = $35; + HEAP32[$4>>2] = 0; + return ($4|0); + } + return (0)|0; +} +function _stbtt__fill_active_edges_new($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = +$4; + var $$0350 = 0.0, $$0351 = 0.0, $$0352 = 0.0, $$0354 = 0.0, $$0356370 = 0, $$0357 = 0.0, $$0359$lcssa = 0.0, $$0359372 = 0.0, $$0360 = 0.0, $$0361371 = 0, $$0374 = 0, $$1 = 0.0, $$1353 = 0.0, $$1355 = 0.0, $$1358 = 0.0, $10 = 0.0, $100 = 0.0, $101 = 0, $102 = 0, $103 = 0; + var $104 = 0.0, $105 = 0.0, $106 = 0.0, $107 = 0.0, $108 = 0.0, $109 = 0.0, $11 = 0, $110 = 0.0, $111 = 0.0, $112 = 0.0, $113 = 0.0, $114 = 0.0, $115 = 0.0, $116 = 0, $117 = 0.0, $118 = 0.0, $119 = 0.0, $12 = 0, $120 = 0.0, $121 = 0; + var $122 = 0.0, $123 = 0.0, $124 = 0.0, $125 = 0, $126 = 0.0, $127 = 0.0, $128 = 0.0, $129 = 0.0, $13 = 0.0, $130 = 0.0, $131 = 0.0, $132 = 0.0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0; + var $140 = 0, $141 = 0, $142 = 0, $15 = 0, $16 = 0.0, $17 = 0, $18 = 0, $19 = 0.0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0.0, $25 = 0, $26 = 0.0, $27 = 0, $28 = 0.0, $29 = 0, $30 = 0, $31 = 0.0; + var $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0, $36 = 0.0, $37 = 0.0, $38 = 0.0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0.0, $47 = 0, $48 = 0, $49 = 0, $5 = 0.0, $50 = 0.0; + var $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0.0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0, $6 = 0, $60 = 0.0, $61 = 0.0, $62 = 0.0, $63 = 0.0, $64 = 0, $65 = 0.0, $66 = 0.0, $67 = 0, $68 = 0.0, $69 = 0.0; + var $7 = 0.0, $70 = 0.0, $71 = 0.0, $72 = 0.0, $73 = 0, $74 = 0, $75 = 0, $76 = 0.0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0, $80 = 0, $81 = 0.0, $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0.0, $86 = 0.0, $87 = 0.0; + var $88 = 0.0, $89 = 0.0, $9 = 0, $90 = 0, $91 = 0.0, $92 = 0.0, $93 = 0.0, $94 = 0, $95 = 0.0, $96 = 0.0, $97 = 0, $98 = 0.0, $99 = 0.0, $exitcond = 0, $exitcond380 = 0, $fabsf = 0.0, $or$cond = 0, $or$cond362 = 0, $or$cond363 = 0, $or$cond364 = 0; + var $or$cond365 = 0, $or$cond366 = 0, $or$cond367 = 0, $or$cond368 = 0, $or$cond369 = 0, label = 0, sp = 0; + sp = STACKTOP; + $5 = $4 + 1.0; + $6 = ($3|0)==(0|0); + if ($6) { + return; + } + $7 = (+($2|0)); + $8 = ((($1)) + -4|0); + $9 = ((($1)) + -4|0); + $10 = (+($2|0)); + $11 = ($2|0)>(0); + $$0374 = $3; + L4: while(1) { + $12 = ((($$0374)) + 24|0); + $13 = +HEAPF32[$12>>2]; + $14 = !($13 >= $4); + if ($14) { + label = 4; + break; + } + $15 = ((($$0374)) + 8|0); + $16 = +HEAPF32[$15>>2]; + $17 = $16 == 0.0; + $18 = ((($$0374)) + 4|0); + $19 = +HEAPF32[$18>>2]; + do { + if ($17) { + $20 = $19 < $7; + if ($20) { + $21 = !($19 >= 0.0); + if ($21) { + _stbtt__handle_clipped_edge($8,0,$$0374,$19,$4,$19,$5); + break; + } else { + $22 = (~~(($19))); + _stbtt__handle_clipped_edge($0,$22,$$0374,$19,$4,$19,$5); + $23 = (($22) + 1)|0; + _stbtt__handle_clipped_edge($9,$23,$$0374,$19,$4,$19,$5); + break; + } + } + } else { + $24 = $16 + $19; + $25 = ((($$0374)) + 12|0); + $26 = +HEAPF32[$25>>2]; + $27 = ((($$0374)) + 20|0); + $28 = +HEAPF32[$27>>2]; + $29 = !($28 <= $5); + if ($29) { + label = 11; + break L4; + } + $30 = $28 > $4; + $31 = $28 - $4; + $32 = $16 * $31; + $33 = $19 + $32; + $$0354 = $30 ? $28 : $4; + $$0351 = $30 ? $33 : $19; + $34 = +HEAPF32[$12>>2]; + $35 = $34 < $5; + $36 = $34 - $4; + $37 = $16 * $36; + $38 = $19 + $37; + $$0357 = $35 ? $34 : $5; + $$0352 = $35 ? $38 : $24; + $39 = $$0351 >= 0.0; + $40 = $$0352 >= 0.0; + $or$cond = $39 & $40; + if ($or$cond) { + $41 = $$0351 < $10; + $42 = $$0352 < $10; + $or$cond362 = $41 & $42; + if ($or$cond362) { + $43 = (~~(($$0351))); + $44 = (~~(($$0352))); + $45 = ($43|0)==($44|0); + if ($45) { + $46 = $$0357 - $$0354; + $47 = ($43|0)>(-1); + $48 = ($43|0)<($2|0); + $or$cond363 = $47 & $48; + if (!($or$cond363)) { + label = 17; + break L4; + } + $49 = ((($$0374)) + 16|0); + $50 = +HEAPF32[$49>>2]; + $51 = (+($43|0)); + $52 = $$0351 - $51; + $53 = $$0352 - $51; + $54 = $52 + $53; + $55 = $54 * 0.5; + $56 = 1.0 - $55; + $57 = $56 * $50; + $58 = $46 * $57; + $59 = (($0) + ($43<<2)|0); + $60 = +HEAPF32[$59>>2]; + $61 = $60 + $58; + HEAPF32[$59>>2] = $61; + $62 = +HEAPF32[$49>>2]; + $63 = $46 * $62; + $64 = (($1) + ($43<<2)|0); + $65 = +HEAPF32[$64>>2]; + $66 = $65 + $63; + HEAPF32[$64>>2] = $66; + break; + } + $67 = $$0351 > $$0352; + if ($67) { + $68 = -$26; + $69 = $$0357 - $4; + $70 = $5 - $69; + $71 = $$0354 - $4; + $72 = $5 - $71; + $$0350 = $24;$$0360 = $68;$$1 = $$0352;$$1353 = $$0351;$$1355 = $70;$$1358 = $72; + } else { + $$0350 = $19;$$0360 = $26;$$1 = $$0351;$$1353 = $$0352;$$1355 = $$0354;$$1358 = $$0357; + } + $73 = (~~(($$1))); + $74 = (~~(($$1353))); + $75 = (($73) + 1)|0; + $76 = (+($75|0)); + $77 = $76 - $$0350; + $78 = $$0360 * $77; + $79 = $78 + $4; + $80 = ((($$0374)) + 16|0); + $81 = +HEAPF32[$80>>2]; + $82 = $79 - $$1355; + $83 = $81 * $82; + $84 = (+($73|0)); + $85 = $$1 - $84; + $86 = $85 + 1.0; + $87 = $86 * 0.5; + $88 = 1.0 - $87; + $89 = $88 * $83; + $90 = (($0) + ($73<<2)|0); + $91 = +HEAPF32[$90>>2]; + $92 = $91 + $89; + HEAPF32[$90>>2] = $92; + $93 = $$0360 * $81; + $94 = ($74|0)>($75|0); + if ($94) { + $95 = $93 * 0.5; + $$0359372 = $83;$$0361371 = $75; + while(1) { + $96 = $95 + $$0359372; + $97 = (($0) + ($$0361371<<2)|0); + $98 = +HEAPF32[$97>>2]; + $99 = $96 + $98; + HEAPF32[$97>>2] = $99; + $100 = $93 + $$0359372; + $101 = (($$0361371) + 1)|0; + $exitcond380 = ($101|0)==($74|0); + if ($exitcond380) { + $$0359$lcssa = $100; + break; + } else { + $$0359372 = $100;$$0361371 = $101; + } + } + } else { + $$0359$lcssa = $83; + } + $fabsf = (+Math_abs((+$$0359$lcssa))); + $102 = !($fabsf <= 1.0099999904632568); + if ($102) { + label = 25; + break L4; + } + $103 = (($74) - ($75))|0; + $104 = (+($103|0)); + $105 = $$0360 * $104; + $106 = $105 + $79; + $107 = (+($74|0)); + $108 = $$1353 - $107; + $109 = $108 + 0.0; + $110 = $109 * 0.5; + $111 = 1.0 - $110; + $112 = $81 * $111; + $113 = $$1358 - $106; + $114 = $112 * $113; + $115 = $114 + $$0359$lcssa; + $116 = (($0) + ($74<<2)|0); + $117 = +HEAPF32[$116>>2]; + $118 = $115 + $117; + HEAPF32[$116>>2] = $118; + $119 = $$1358 - $$1355; + $120 = $119 * $81; + $121 = (($1) + ($74<<2)|0); + $122 = +HEAPF32[$121>>2]; + $123 = $120 + $122; + HEAPF32[$121>>2] = $123; + break; + } + } + if ($11) { + $$0356370 = 0; + while(1) { + $124 = (+($$0356370|0)); + $125 = (($$0356370) + 1)|0; + $126 = (+($125|0)); + $127 = $124 - $19; + $128 = $127 / $16; + $129 = $128 + $4; + $130 = $126 - $19; + $131 = $130 / $16; + $132 = $131 + $4; + $133 = $19 < $124; + $134 = $24 > $126; + $or$cond364 = $133 & $134; + do { + if ($or$cond364) { + _stbtt__handle_clipped_edge($0,$$0356370,$$0374,$19,$4,$124,$129); + _stbtt__handle_clipped_edge($0,$$0356370,$$0374,$124,$129,$126,$132); + _stbtt__handle_clipped_edge($0,$$0356370,$$0374,$126,$132,$24,$5); + } else { + $135 = $24 < $124; + $136 = $19 > $126; + $or$cond365 = $135 & $136; + if ($or$cond365) { + _stbtt__handle_clipped_edge($0,$$0356370,$$0374,$19,$4,$126,$132); + _stbtt__handle_clipped_edge($0,$$0356370,$$0374,$126,$132,$124,$129); + _stbtt__handle_clipped_edge($0,$$0356370,$$0374,$124,$129,$24,$5); + break; + } + $137 = $24 > $124; + $or$cond366 = $133 & $137; + if ($or$cond366) { + _stbtt__handle_clipped_edge($0,$$0356370,$$0374,$19,$4,$124,$129); + _stbtt__handle_clipped_edge($0,$$0356370,$$0374,$124,$129,$24,$5); + break; + } + $138 = $19 > $124; + $or$cond367 = $135 & $138; + if ($or$cond367) { + _stbtt__handle_clipped_edge($0,$$0356370,$$0374,$19,$4,$124,$129); + _stbtt__handle_clipped_edge($0,$$0356370,$$0374,$124,$129,$24,$5); + break; + } + $139 = $19 < $126; + $or$cond368 = $139 & $134; + if ($or$cond368) { + _stbtt__handle_clipped_edge($0,$$0356370,$$0374,$19,$4,$126,$132); + _stbtt__handle_clipped_edge($0,$$0356370,$$0374,$126,$132,$24,$5); + break; + } + $140 = $24 < $126; + $or$cond369 = $140 & $136; + if ($or$cond369) { + _stbtt__handle_clipped_edge($0,$$0356370,$$0374,$19,$4,$126,$132); + _stbtt__handle_clipped_edge($0,$$0356370,$$0374,$126,$132,$24,$5); + break; + } else { + _stbtt__handle_clipped_edge($0,$$0356370,$$0374,$19,$4,$24,$5); + break; + } + } + } while(0); + $exitcond = ($125|0)==($2|0); + if ($exitcond) { + break; + } else { + $$0356370 = $125; + } + } + } + } + } while(0); + $141 = HEAP32[$$0374>>2]|0; + $142 = ($141|0)==(0|0); + if ($142) { + label = 42; + break; + } else { + $$0374 = $141; + } + } + if ((label|0) == 4) { + ___assert_fail((14404|0),(14285|0),2586,(14419|0)); + // unreachable; + } + else if ((label|0) == 11) { + ___assert_fail((14448|0),(14285|0),2605,(14419|0)); + // unreachable; + } + else if ((label|0) == 17) { + ___assert_fail((14484|0),(14285|0),2633,(14419|0)); + // unreachable; + } + else if ((label|0) == 25) { + ___assert_fail((14502|0),(14285|0),2670,(14419|0)); + // unreachable; + } + else if ((label|0) == 42) { + return; + } +} +function _stbtt__hheap_cleanup($0) { + $0 = $0|0; + var $$in12 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP32[$0>>2]|0; + $2 = ($1|0)==(0|0); + if ($2) { + return; + } else { + $$in12 = $1; + } + while(1) { + $3 = HEAP32[$$in12>>2]|0; + _free($$in12); + $4 = ($3|0)==(0|0); + if ($4) { + break; + } else { + $$in12 = $3; + } + } + return; +} +function _stbtt__handle_clipped_edge($0,$1,$2,$3,$4,$5,$6) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = +$3; + $4 = +$4; + $5 = +$5; + $6 = +$6; + var $$0 = 0.0, $$077 = 0.0, $$078 = 0.0, $$079 = 0.0, $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0, $25 = 0.0; + var $26 = 0.0, $27 = 0.0, $28 = 0.0, $29 = 0.0, $30 = 0.0, $31 = 0.0, $32 = 0, $33 = 0, $34 = 0.0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; + var $46 = 0, $47 = 0.0, $48 = 0.0, $49 = 0.0, $50 = 0, $51 = 0.0, $52 = 0.0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $60 = 0.0, $61 = 0.0, $62 = 0.0, $63 = 0.0, $64 = 0.0, $65 = 0.0; + var $66 = 0.0, $67 = 0.0, $68 = 0.0, $69 = 0, $7 = 0, $70 = 0.0, $71 = 0.0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond80 = 0, $or$cond81 = 0, $or$cond82 = 0, $or$cond83 = 0, $or$cond84 = 0, $or$cond85 = 0, label = 0, sp = 0; + sp = STACKTOP; + $7 = $4 == $6; + if ($7) { + return; + } + $8 = $4 < $6; + if (!($8)) { + ___assert_fail((14522|0),(14285|0),2544,(14530|0)); + // unreachable; + } + $9 = ((($2)) + 20|0); + $10 = +HEAPF32[$9>>2]; + $11 = ((($2)) + 24|0); + $12 = +HEAPF32[$11>>2]; + $13 = !($10 <= $12); + if ($13) { + ___assert_fail((14557|0),(14285|0),2545,(14530|0)); + // unreachable; + } + $14 = $12 < $4; + $15 = $10 > $6; + $or$cond = $15 | $14; + if ($or$cond) { + return; + } + $16 = $10 > $4; + if ($16) { + $17 = $5 - $3; + $18 = $10 - $4; + $19 = $17 * $18; + $20 = $6 - $4; + $21 = $19 / $20; + $22 = $21 + $3; + $$078 = $10;$$079 = $22; + } else { + $$078 = $4;$$079 = $3; + } + $23 = +HEAPF32[$11>>2]; + $24 = $23 < $6; + if ($24) { + $25 = $5 - $$079; + $26 = $23 - $6; + $27 = $25 * $26; + $28 = $6 - $$078; + $29 = $27 / $28; + $30 = $29 + $5; + $$0 = $23;$$077 = $30; + } else { + $$0 = $6;$$077 = $5; + } + $31 = (+($1|0)); + $32 = $$079 == $31; + $33 = (($1) + 1)|0; + $34 = (+($33|0)); + do { + if ($32) { + $35 = !($$077 <= $34); + if ($35) { + ___assert_fail((14572|0),(14285|0),2558,(14530|0)); + // unreachable; + } + } else { + $36 = $$079 == $34; + if ($36) { + $37 = !($$077 >= $31); + if (!($37)) { + break; + } + ___assert_fail((14582|0),(14285|0),2560,(14530|0)); + // unreachable; + } + $38 = !($$079 <= $31); + if (!($38)) { + $39 = !($$077 <= $31); + if (!($39)) { + break; + } + ___assert_fail((14590|0),(14285|0),2562,(14530|0)); + // unreachable; + } + $40 = !($$079 >= $34); + if ($40) { + $42 = !($$077 >= $31); + $43 = !($$077 <= $34); + $or$cond80 = $42 | $43; + if (!($or$cond80)) { + break; + } + ___assert_fail((14608|0),(14285|0),2566,(14530|0)); + // unreachable; + } else { + $41 = !($$077 >= $34); + if (!($41)) { + break; + } + ___assert_fail((14598|0),(14285|0),2564,(14530|0)); + // unreachable; + } + } + } while(0); + $44 = !($$079 <= $31); + $45 = !($$077 <= $31); + $or$cond81 = $44 | $45; + if (!($or$cond81)) { + $46 = ((($2)) + 16|0); + $47 = +HEAPF32[$46>>2]; + $48 = $$0 - $$078; + $49 = $48 * $47; + $50 = (($0) + ($1<<2)|0); + $51 = +HEAPF32[$50>>2]; + $52 = $51 + $49; + HEAPF32[$50>>2] = $52; + return; + } + $53 = !($$079 >= $34); + $54 = !($$077 >= $34); + $or$cond82 = $53 | $54; + if (!($or$cond82)) { + return; + } + $55 = !($$079 >= $31); + $56 = !($$079 <= $34); + $or$cond83 = $55 | $56; + $57 = !($$077 >= $31); + $or$cond84 = $or$cond83 | $57; + $58 = !($$077 <= $34); + $or$cond85 = $58 | $or$cond84; + if ($or$cond85) { + ___assert_fail((14629|0),(14285|0),2573,(14530|0)); + // unreachable; + } + $59 = ((($2)) + 16|0); + $60 = +HEAPF32[$59>>2]; + $61 = $$0 - $$078; + $62 = $61 * $60; + $63 = $$079 - $31; + $64 = $$077 - $31; + $65 = $63 + $64; + $66 = $65 * 0.5; + $67 = 1.0 - $66; + $68 = $67 * $62; + $69 = (($0) + ($1<<2)|0); + $70 = +HEAPF32[$69>>2]; + $71 = $70 + $68; + HEAPF32[$69>>2] = $71; + return; +} +function _stbtt__hheap_alloc($0) { + $0 = $0|0; + var $$1 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 4|0); + $2 = HEAP32[$1>>2]|0; + $3 = ($2|0)==(0|0); + if (!($3)) { + $4 = HEAP32[$2>>2]|0; + HEAP32[$1>>2] = $4; + $$1 = $2; + return ($$1|0); + } + $5 = ((($0)) + 8|0); + $6 = HEAP32[$5>>2]|0; + $7 = ($6|0)==(0); + do { + if ($7) { + $8 = (_malloc(56004)|0); + $9 = ($8|0)==(0|0); + if ($9) { + $$1 = 0; + return ($$1|0); + } else { + $10 = HEAP32[$0>>2]|0; + HEAP32[$8>>2] = $10; + HEAP32[$0>>2] = $8; + HEAP32[$5>>2] = 2000; + break; + } + } + } while(0); + $11 = HEAP32[$5>>2]|0; + $12 = (($11) + -1)|0; + HEAP32[$5>>2] = $12; + $13 = HEAP32[$0>>2]|0; + $14 = ($12*28)|0; + $15 = (($13) + ($14)|0); + $$1 = $15; + return ($$1|0); +} +function _stbtt__sort_edges_quicksort($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$079 = 0, $$081 = 0, $$08390 = 0, $$091 = 0, $$1 = 0, $$180 = 0, $$182 = 0, $$184 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0.0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0.0, $2 = 0, $20 = 0; + var $21 = 0.0, $22 = 0, $23 = 0, $24 = 0, $25 = 0.0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $4 = 0, $5 = 0, $6 = 0.0, $7 = 0; + var $8 = 0, $9 = 0.0, $tmp = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $2 = sp; + $3 = ($1|0)>(12); + if (!($3)) { + STACKTOP = sp;return; + } + $$08390 = $1;$$091 = $0; + while(1) { + $4 = $$08390 >>> 1; + $5 = ((($$091)) + 4|0); + $6 = +HEAPF32[$5>>2]; + $7 = (($$091) + (($4*20)|0)|0); + $8 = (((($$091) + (($4*20)|0)|0)) + 4|0); + $9 = +HEAPF32[$8>>2]; + $10 = $6 < $9; + $11 = (($$08390) + -1)|0; + $12 = (((($$091) + (($11*20)|0)|0)) + 4|0); + $13 = +HEAPF32[$12>>2]; + $14 = $9 < $13; + $15 = $10 ^ $14; + $16 = $6 < $13; + $tmp = $16 ^ $14; + $17 = $tmp ? $11 : 0; + $18 = (($$091) + (($17*20)|0)|0); + if ($15) { + ;HEAP32[$2>>2]=HEAP32[$18>>2]|0;HEAP32[$2+4>>2]=HEAP32[$18+4>>2]|0;HEAP32[$2+8>>2]=HEAP32[$18+8>>2]|0;HEAP32[$2+12>>2]=HEAP32[$18+12>>2]|0;HEAP32[$2+16>>2]=HEAP32[$18+16>>2]|0; + ;HEAP32[$18>>2]=HEAP32[$7>>2]|0;HEAP32[$18+4>>2]=HEAP32[$7+4>>2]|0;HEAP32[$18+8>>2]=HEAP32[$7+8>>2]|0;HEAP32[$18+12>>2]=HEAP32[$7+12>>2]|0;HEAP32[$18+16>>2]=HEAP32[$7+16>>2]|0; + ;HEAP32[$7>>2]=HEAP32[$2>>2]|0;HEAP32[$7+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$7+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$7+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$7+16>>2]=HEAP32[$2+16>>2]|0; + } + ;HEAP32[$2>>2]=HEAP32[$$091>>2]|0;HEAP32[$2+4>>2]=HEAP32[$$091+4>>2]|0;HEAP32[$2+8>>2]=HEAP32[$$091+8>>2]|0;HEAP32[$2+12>>2]=HEAP32[$$091+12>>2]|0;HEAP32[$2+16>>2]=HEAP32[$$091+16>>2]|0; + ;HEAP32[$$091>>2]=HEAP32[$7>>2]|0;HEAP32[$$091+4>>2]=HEAP32[$7+4>>2]|0;HEAP32[$$091+8>>2]=HEAP32[$7+8>>2]|0;HEAP32[$$091+12>>2]=HEAP32[$7+12>>2]|0;HEAP32[$$091+16>>2]=HEAP32[$7+16>>2]|0; + ;HEAP32[$7>>2]=HEAP32[$2>>2]|0;HEAP32[$7+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$7+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$7+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$7+16>>2]=HEAP32[$2+16>>2]|0; + $$079 = $11;$$081 = 1; + while(1) { + $19 = +HEAPF32[$5>>2]; + $$182 = $$081; + while(1) { + $20 = (((($$091) + (($$182*20)|0)|0)) + 4|0); + $21 = +HEAPF32[$20>>2]; + $22 = $21 < $19; + $23 = (($$182) + 1)|0; + if ($22) { + $$182 = $23; + } else { + $$180 = $$079; + break; + } + } + while(1) { + $24 = (((($$091) + (($$180*20)|0)|0)) + 4|0); + $25 = +HEAPF32[$24>>2]; + $26 = $19 < $25; + $27 = (($$180) + -1)|0; + if ($26) { + $$180 = $27; + } else { + break; + } + } + $28 = (($$091) + (($$182*20)|0)|0); + $29 = ($$182|0)<($$180|0); + if (!($29)) { + break; + } + $30 = (($$091) + (($$180*20)|0)|0); + ;HEAP32[$2>>2]=HEAP32[$28>>2]|0;HEAP32[$2+4>>2]=HEAP32[$28+4>>2]|0;HEAP32[$2+8>>2]=HEAP32[$28+8>>2]|0;HEAP32[$2+12>>2]=HEAP32[$28+12>>2]|0;HEAP32[$2+16>>2]=HEAP32[$28+16>>2]|0; + ;HEAP32[$28>>2]=HEAP32[$30>>2]|0;HEAP32[$28+4>>2]=HEAP32[$30+4>>2]|0;HEAP32[$28+8>>2]=HEAP32[$30+8>>2]|0;HEAP32[$28+12>>2]=HEAP32[$30+12>>2]|0;HEAP32[$28+16>>2]=HEAP32[$30+16>>2]|0; + ;HEAP32[$30>>2]=HEAP32[$2>>2]|0;HEAP32[$30+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$30+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$30+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$30+16>>2]=HEAP32[$2+16>>2]|0; + $31 = (($$182) + 1)|0; + $32 = (($$180) + -1)|0; + $$079 = $32;$$081 = $31; + } + $33 = (($$08390) - ($$182))|0; + $34 = ($$180|0)<($33|0); + if ($34) { + _stbtt__sort_edges_quicksort($$091,$$180); + $$1 = $28;$$184 = $33; + } else { + _stbtt__sort_edges_quicksort($28,$33); + $$1 = $$091;$$184 = $$180; + } + $35 = ($$184|0)>(12); + if ($35) { + $$08390 = $$184;$$091 = $$1; + } else { + break; + } + } + STACKTOP = sp;return; +} +function _stbtt__sort_edges_ins_sort($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$03251 = 0, $$033 = 0, $$2$ph = 0, $$sroa$0$0$copyload48 = 0, $$sroa$4$0$$sroa_idx37 = 0, $$sroa$4$0$$sroa_idx38 = 0, $$sroa$4$0$copyload = 0.0, $$sroa$5 = 0, $$sroa$5$0$$sroa_idx = 0, $$sroa$5$0$$sroa_idx42 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0.0, $7 = 0; + var $8 = 0, $9 = 0, $exitcond = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $$sroa$5 = sp; + $2 = ($1|0)>(1); + if (!($2)) { + STACKTOP = sp;return; + } + $$03251 = 1; + while(1) { + $3 = (($0) + (($$03251*20)|0)|0); + $$sroa$0$0$copyload48 = HEAP32[$3>>2]|0; + $$sroa$4$0$$sroa_idx37 = (((($0) + (($$03251*20)|0)|0)) + 4|0); + $$sroa$4$0$copyload = +HEAPF32[$$sroa$4$0$$sroa_idx37>>2]; + $$sroa$5$0$$sroa_idx = (((($0) + (($$03251*20)|0)|0)) + 8|0); + ;HEAP32[$$sroa$5>>2]=HEAP32[$$sroa$5$0$$sroa_idx>>2]|0;HEAP32[$$sroa$5+4>>2]=HEAP32[$$sroa$5$0$$sroa_idx+4>>2]|0;HEAP32[$$sroa$5+8>>2]=HEAP32[$$sroa$5$0$$sroa_idx+8>>2]|0; + $$033 = $$03251; + while(1) { + $4 = (($$033) + -1)|0; + $5 = (((($0) + (($4*20)|0)|0)) + 4|0); + $6 = +HEAPF32[$5>>2]; + $7 = $$sroa$4$0$copyload < $6; + if (!($7)) { + $$2$ph = $$033; + break; + } + $8 = (($0) + (($4*20)|0)|0); + $9 = (($0) + (($$033*20)|0)|0); + ;HEAP32[$9>>2]=HEAP32[$8>>2]|0;HEAP32[$9+4>>2]=HEAP32[$8+4>>2]|0;HEAP32[$9+8>>2]=HEAP32[$8+8>>2]|0;HEAP32[$9+12>>2]=HEAP32[$8+12>>2]|0;HEAP32[$9+16>>2]=HEAP32[$8+16>>2]|0; + $10 = ($$033|0)>(1); + if ($10) { + $$033 = $4; + } else { + $$2$ph = $4; + break; + } + } + $11 = ($$03251|0)==($$2$ph|0); + if (!($11)) { + $$sroa$5$0$$sroa_idx42 = (((($0) + (($$2$ph*20)|0)|0)) + 8|0); + $$sroa$4$0$$sroa_idx38 = (((($0) + (($$2$ph*20)|0)|0)) + 4|0); + $12 = (($0) + (($$2$ph*20)|0)|0); + HEAP32[$12>>2] = $$sroa$0$0$copyload48; + HEAPF32[$$sroa$4$0$$sroa_idx38>>2] = $$sroa$4$0$copyload; + ;HEAP32[$$sroa$5$0$$sroa_idx42>>2]=HEAP32[$$sroa$5>>2]|0;HEAP32[$$sroa$5$0$$sroa_idx42+4>>2]=HEAP32[$$sroa$5+4>>2]|0;HEAP32[$$sroa$5$0$$sroa_idx42+8>>2]=HEAP32[$$sroa$5+8>>2]|0; + } + $13 = (($$03251) + 1)|0; + $exitcond = ($13|0)==($1|0); + if ($exitcond) { + break; + } else { + $$03251 = $13; + } + } + STACKTOP = sp;return; +} +function _stbtt__add_point($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = +$2; + $3 = +$3; + var $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; + sp = STACKTOP; + $4 = ($0|0)==(0|0); + if ($4) { + return; + } + $5 = (((($0) + ($1<<3)|0)) + 4|0); + $6 = (($0) + ($1<<3)|0); + HEAPF32[$6>>2] = $2; + HEAPF32[$5>>2] = $3; + return; +} +function _stbtt__tesselate_curve($0,$1,$2,$3,$4,$5,$6,$7,$8,$9) { + $0 = $0|0; + $1 = $1|0; + $2 = +$2; + $3 = +$3; + $4 = +$4; + $5 = +$5; + $6 = +$6; + $7 = +$7; + $8 = +$8; + $9 = $9|0; + var $$tr210 = 0.0, $$tr210$phi = 0.0, $$tr311 = 0.0, $$tr311$phi = 0.0, $$tr412 = 0.0, $$tr513 = 0.0, $$tr914 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0; + var $23 = 0.0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0.0, $28 = 0.0, $29 = 0.0, $30 = 0, $31 = 0.0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0, $36 = 0.0, $37 = 0.0, $38 = 0.0, $39 = 0.0, $40 = 0.0, $41 = 0.0, $42 = 0.0; + var $43 = 0.0, $44 = 0.0, $45 = 0.0, $46 = 0.0, $47 = 0.0, $48 = 0.0, $49 = 0.0, $50 = 0.0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0.0, $55 = 0.0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, label = 0, sp = 0; + sp = STACKTOP; + $10 = $4 * 2.0; + $11 = $10 + $2; + $12 = $11 + $6; + $13 = $12 * 0.25; + $14 = $5 * 2.0; + $15 = $14 + $3; + $16 = $15 + $7; + $17 = $16 * 0.25; + $18 = ($9|0)>(16); + if ($18) { + return; + } + $19 = $7 + $3; + $20 = $19 * 0.5; + $21 = $20 - $17; + $22 = $6 + $2; + $23 = $22 * 0.5; + $24 = $23 - $13; + $$tr210 = $2;$$tr311 = $3;$$tr412 = $4;$$tr513 = $5;$$tr914 = $9;$26 = $24;$28 = $21;$36 = $13;$37 = $17; + while(1) { + $25 = $26 * $26; + $27 = $28 * $28; + $29 = $25 + $27; + $30 = $29 > $8; + if (!($30)) { + break; + } + $31 = $$tr210 + $$tr412; + $32 = $31 * 0.5; + $33 = $$tr311 + $$tr513; + $34 = $33 * 0.5; + $35 = (($$tr914) + 1)|0; + _stbtt__tesselate_curve($0,$1,$$tr210,$$tr311,$32,$34,$36,$37,$8,$35); + $38 = $$tr412 + $6; + $39 = $38 * 0.5; + $40 = $$tr513 + $7; + $41 = $40 * 0.5; + $42 = $39 * 2.0; + $43 = $36 + $42; + $44 = $43 + $6; + $45 = $44 * 0.25; + $46 = $41 * 2.0; + $47 = $37 + $46; + $48 = $47 + $7; + $49 = $48 * 0.25; + $50 = $36 + $6; + $51 = $50 * 0.5; + $52 = $51 - $45; + $53 = $37 + $7; + $54 = $53 * 0.5; + $55 = $54 - $49; + $56 = ($$tr914|0)>(15); + if ($56) { + label = 6; + break; + } else { + $$tr311$phi = $37;$$tr210$phi = $36;$$tr412 = $39;$$tr513 = $41;$$tr914 = $35;$26 = $52;$28 = $55;$36 = $45;$37 = $49;$$tr311 = $$tr311$phi;$$tr210 = $$tr210$phi; + } + } + if ((label|0) == 6) { + return; + } + $57 = HEAP32[$1>>2]|0; + _stbtt__add_point($0,$57,$6,$7); + $58 = HEAP32[$1>>2]|0; + $59 = (($58) + 1)|0; + HEAP32[$1>>2] = $59; + return; +} +function _stbtt__tesselate_cubic($0,$1,$2,$3,$4,$5,$6,$7,$8,$9,$10,$11) { + $0 = $0|0; + $1 = $1|0; + $2 = +$2; + $3 = +$3; + $4 = +$4; + $5 = +$5; + $6 = +$6; + $7 = +$7; + $8 = +$8; + $9 = +$9; + $10 = +$10; + $11 = $11|0; + var $$tr138 = 0.0, $$tr139 = 0.0, $$tr140 = 0.0, $$tr141 = 0.0, $$tr142 = 0.0, $$tr143 = 0.0, $$tr147 = 0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0; + var $25 = 0.0, $26 = 0.0, $27 = 0.0, $28 = 0.0, $29 = 0.0, $30 = 0.0, $31 = 0.0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0.0, $36 = 0.0, $37 = 0.0, $38 = 0.0, $39 = 0.0, $40 = 0.0, $41 = 0, $42 = 0.0, $43 = 0.0, $44 = 0.0; + var $45 = 0, $46 = 0.0, $47 = 0.0, $48 = 0.0, $49 = 0.0, $50 = 0.0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0.0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0.0, $60 = 0.0, $61 = 0.0, $62 = 0.0, $63 = 0.0, $64 = 0.0; + var $65 = 0.0, $66 = 0.0, $67 = 0.0, $68 = 0.0, $69 = 0.0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $sqrtf = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $$tr138 = $2;$$tr139 = $3;$$tr140 = $4;$$tr141 = $5;$$tr142 = $6;$$tr143 = $7;$$tr147 = $11; + while(1) { + $12 = $$tr140 - $$tr138; + $13 = $$tr141 - $$tr139; + $14 = $$tr142 - $$tr140; + $15 = $$tr143 - $$tr141; + $16 = $8 - $$tr142; + $17 = $9 - $$tr143; + $18 = $8 - $$tr138; + $19 = $9 - $$tr139; + $20 = $12 * $12; + $21 = $13 * $13; + $22 = $20 + $21; + $23 = $22; + $24 = (+Math_sqrt((+$23))); + $25 = $14 * $14; + $26 = $15 * $15; + $27 = $25 + $26; + $28 = $27; + $29 = (+Math_sqrt((+$28))); + $30 = $24 + $29; + $31 = $16 * $16; + $32 = $17 * $17; + $33 = $31 + $32; + $34 = $33; + $35 = (+Math_sqrt((+$34))); + $36 = $30 + $35; + $37 = $36; + $38 = $18 * $18; + $39 = $19 * $19; + $40 = $38 + $39; + $sqrtf = (+Math_sqrt((+$40))); + $41 = ($$tr147|0)>(16); + if ($41) { + label = 6; + break; + } + $42 = $37 * $37; + $43 = $sqrtf * $sqrtf; + $44 = $42 - $43; + $45 = $44 > $10; + if (!($45)) { + break; + } + $46 = $$tr138 + $$tr140; + $47 = $46 * 0.5; + $48 = $$tr139 + $$tr141; + $49 = $48 * 0.5; + $50 = $$tr140 + $$tr142; + $51 = $50 * 0.5; + $52 = $$tr141 + $$tr143; + $53 = $52 * 0.5; + $54 = $$tr142 + $8; + $55 = $54 * 0.5; + $56 = $$tr143 + $9; + $57 = $56 * 0.5; + $58 = $47 + $51; + $59 = $58 * 0.5; + $60 = $49 + $53; + $61 = $60 * 0.5; + $62 = $51 + $55; + $63 = $62 * 0.5; + $64 = $53 + $57; + $65 = $64 * 0.5; + $66 = $59 + $63; + $67 = $66 * 0.5; + $68 = $61 + $65; + $69 = $68 * 0.5; + $70 = (($$tr147) + 1)|0; + _stbtt__tesselate_cubic($0,$1,$$tr138,$$tr139,$47,$49,$59,$61,$67,$69,$10,$70); + $$tr138 = $67;$$tr139 = $69;$$tr140 = $63;$$tr141 = $65;$$tr142 = $55;$$tr143 = $57;$$tr147 = $70; + } + if ((label|0) == 6) { + return; + } + $71 = HEAP32[$1>>2]|0; + _stbtt__add_point($0,$71,$8,$9); + $72 = HEAP32[$1>>2]|0; + $73 = (($72) + 1)|0; + HEAP32[$1>>2] = $73; + return; +} +function _stbtt_GetGlyphBox($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + var $$1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $6 = ((($0)) + 56|0); + $7 = HEAP32[$6>>2]|0; + $8 = ($7|0)==(0); + if (!($8)) { + _stbtt__GetGlyphInfoT2($0,$1,$2,$3,$4,$5); + $$1 = 1; + return ($$1|0); + } + $9 = (_stbtt__GetGlyfOffset($0,$1)|0); + $10 = ($9|0)<(0); + if ($10) { + $$1 = 0; + return ($$1|0); + } + $11 = ($2|0)==(0|0); + if (!($11)) { + $12 = ((($0)) + 4|0); + $13 = HEAP32[$12>>2]|0; + $14 = (($13) + ($9)|0); + $15 = ((($14)) + 2|0); + $16 = (_ttSHORT($15)|0); + $17 = $16 << 16 >> 16; + HEAP32[$2>>2] = $17; + } + $18 = ($3|0)==(0|0); + if (!($18)) { + $19 = ((($0)) + 4|0); + $20 = HEAP32[$19>>2]|0; + $21 = (($20) + ($9)|0); + $22 = ((($21)) + 4|0); + $23 = (_ttSHORT($22)|0); + $24 = $23 << 16 >> 16; + HEAP32[$3>>2] = $24; + } + $25 = ($4|0)==(0|0); + if (!($25)) { + $26 = ((($0)) + 4|0); + $27 = HEAP32[$26>>2]|0; + $28 = (($27) + ($9)|0); + $29 = ((($28)) + 6|0); + $30 = (_ttSHORT($29)|0); + $31 = $30 << 16 >> 16; + HEAP32[$4>>2] = $31; + } + $32 = ($5|0)==(0|0); + if ($32) { + $$1 = 1; + return ($$1|0); + } + $33 = ((($0)) + 4|0); + $34 = HEAP32[$33>>2]|0; + $35 = (($34) + ($9)|0); + $36 = ((($35)) + 8|0); + $37 = (_ttSHORT($36)|0); + $38 = $37 << 16 >> 16; + HEAP32[$5>>2] = $38; + $$1 = 1; + return ($$1|0); +} +function _stbtt__GetGlyphInfoT2($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0; + var stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0); + $6 = sp; + $7 = ((($6)) + 4|0); + dest=$7; stop=dest+44|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + HEAP32[$6>>2] = 1; + $8 = (_stbtt__run_charstring($0,$1,$6)|0); + $9 = ($2|0)==(0|0); + $10 = ($8|0)!=(0); + if ($9) { + STACKTOP = sp;return; + } + $11 = ((($6)) + 24|0); + $12 = HEAP32[$11>>2]|0; + $13 = $10 ? $12 : 0; + HEAP32[$2>>2] = $13; + $14 = ((($6)) + 32|0); + $15 = HEAP32[$14>>2]|0; + $16 = $10 ? $15 : 0; + HEAP32[$3>>2] = $16; + $17 = ((($6)) + 28|0); + $18 = HEAP32[$17>>2]|0; + $19 = $10 ? $18 : 0; + HEAP32[$4>>2] = $19; + $20 = ((($6)) + 36|0); + $21 = HEAP32[$20>>2]|0; + $22 = $10 ? $21 : 0; + HEAP32[$5>>2] = $22; + STACKTOP = sp;return; +} +function _stbtt__GetGlyfOffset($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$023 = 0, $$024 = 0, $$pn = 0, $$sink = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; + var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($0)) + 56|0); + $3 = HEAP32[$2>>2]|0; + $4 = ($3|0)==(0); + if (!($4)) { + ___assert_fail((14708|0),(14285|0),1440,(14724|0)); + // unreachable; + } + $5 = ((($0)) + 12|0); + $6 = HEAP32[$5>>2]|0; + $7 = ($6|0)>($1|0); + if (!($7)) { + $$024 = -1; + return ($$024|0); + } + $8 = ((($0)) + 44|0); + $9 = HEAP32[$8>>2]|0; + $10 = ($9|0)>(1); + if ($10) { + $$024 = -1; + return ($$024|0); + } + $11 = ($9|0)==(0); + $12 = ((($0)) + 24|0); + $13 = HEAP32[$12>>2]|0; + $14 = ((($0)) + 4|0); + $15 = HEAP32[$14>>2]|0; + $16 = ((($0)) + 16|0); + $17 = HEAP32[$16>>2]|0; + $18 = (($15) + ($17)|0); + if ($11) { + $19 = $1 << 1; + $20 = (($18) + ($19)|0); + $21 = (_ttUSHORT($20)|0); + $22 = $21&65535; + $23 = $22 << 1; + $24 = ((($20)) + 2|0); + $25 = (_ttUSHORT($24)|0); + $26 = $25&65535; + $27 = $26 << 1; + $$pn = $23;$$sink = $27; + } else { + $28 = $1 << 2; + $29 = (($18) + ($28)|0); + $30 = (_ttULONG($29)|0); + $31 = ((($29)) + 4|0); + $32 = (_ttULONG($31)|0); + $$pn = $30;$$sink = $32; + } + $33 = (($$sink) + ($13))|0; + $$023 = (($$pn) + ($13))|0; + $34 = ($$023|0)==($33|0); + $35 = $34 ? -1 : $$023; + $$024 = $35; + return ($$024|0); +} +function _ttSHORT($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP8[$0>>0]|0; + $2 = $1&255; + $3 = $2 << 8; + $4 = ((($0)) + 1|0); + $5 = HEAP8[$4>>0]|0; + $6 = $5&255; + $7 = $3 | $6; + $8 = $7&65535; + return ($8|0); +} +function _ttUSHORT($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP8[$0>>0]|0; + $2 = $1&255; + $3 = $2 << 8; + $4 = ((($0)) + 1|0); + $5 = HEAP8[$4>>0]|0; + $6 = $5&255; + $7 = $3 | $6; + $8 = $7&65535; + return ($8|0); +} +function _ttULONG($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP8[$0>>0]|0; + $2 = $1&255; + $3 = $2 << 24; + $4 = ((($0)) + 1|0); + $5 = HEAP8[$4>>0]|0; + $6 = $5&255; + $7 = $6 << 16; + $8 = $7 | $3; + $9 = ((($0)) + 2|0); + $10 = HEAP8[$9>>0]|0; + $11 = $10&255; + $12 = $11 << 8; + $13 = $8 | $12; + $14 = ((($0)) + 3|0); + $15 = HEAP8[$14>>0]|0; + $16 = $15&255; + $17 = $13 | $16; + return ($17|0); +} +function _stbtt__run_charstring($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$ = 0, $$0274$be = 0, $$0274335 = 0, $$0276$be = 0, $$0276334 = 0, $$0279 = 0.0, $$0280 = 0.0, $$0282318 = 0.0, $$0285$be = 0, $$0285333 = 0, $$0288$be = 0, $$0288332 = 0, $$0290329 = 0, $$0294$be = 0, $$0294331 = 0, $$1277 = 0, $$1283 = 0.0, $$1286 = 0, $$1291 = 0, $$2292 = 0; + var $$3 = 0, $$3293 = 0, $$363 = 0.0, $$4 = 0, $$5327 = 0, $$6$lcssa = 0, $$6322 = 0, $$7$lcssa = 0, $$7319 = 0, $$8317 = 0, $$byval_copy1 = 0, $$lcssa = 0, $$lcssa316 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0.0, $103 = 0, $104 = 0, $105 = 0.0; + var $106 = 0, $107 = 0.0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0.0, $113 = 0.0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0.0, $119 = 0, $12 = 0, $120 = 0, $121 = 0.0, $122 = 0, $123 = 0; + var $124 = 0.0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0.0, $13 = 0, $130 = 0, $131 = 0.0, $132 = 0.0, $133 = 0, $134 = 0, $135 = 0, $136 = 0.0, $137 = 0, $138 = 0, $139 = 0.0, $14 = 0, $140 = 0, $141 = 0; + var $142 = 0.0, $143 = 0, $144 = 0, $145 = 0.0, $146 = 0, $147 = 0, $148 = 0.0, $149 = 0, $15 = 0, $150 = 0, $151 = 0.0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0.0, $16 = 0; + var $160 = 0, $161 = 0, $162 = 0.0, $163 = 0, $164 = 0, $165 = 0.0, $166 = 0, $167 = 0, $168 = 0.0, $169 = 0, $17 = 0, $170 = 0, $171 = 0.0, $172 = 0, $173 = 0, $174 = 0.0, $175 = 0, $176 = 0, $177 = 0, $178 = 0; + var $179 = 0, $18 = 0, $180 = 0, $181 = 0.0, $182 = 0, $183 = 0.0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0.0, $189 = 0, $19 = 0, $190 = 0, $191 = 0.0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0; + var $197 = 0, $198 = 0.0, $199 = 0, $20 = 0, $200 = 0.0, $201 = 0, $202 = 0, $203 = 0.0, $204 = 0, $205 = 0, $206 = 0.0, $207 = 0, $208 = 0, $209 = 0.0, $21 = 0, $210 = 0, $211 = 0.0, $212 = 0, $213 = 0, $214 = 0; + var $215 = 0, $216 = 0, $217 = 0.0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0.0, $223 = 0, $224 = 0.0, $225 = 0, $226 = 0.0, $227 = 0, $228 = 0, $229 = 0.0, $23 = 0, $230 = 0, $231 = 0, $232 = 0; + var $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0.0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0; + var $251 = 0, $252 = 0.0, $253 = 0.0, $254 = 0.0, $255 = 0.0, $256 = 0.0, $257 = 0.0, $258 = 0.0, $259 = 0.0, $26 = 0, $260 = 0, $261 = 0.0, $262 = 0.0, $263 = 0.0, $264 = 0.0, $265 = 0.0, $266 = 0.0, $267 = 0.0, $268 = 0.0, $269 = 0.0; + var $27 = 0, $270 = 0.0, $271 = 0.0, $272 = 0.0, $273 = 0, $274 = 0.0, $275 = 0.0, $276 = 0.0, $277 = 0.0, $278 = 0.0, $279 = 0.0, $28 = 0, $280 = 0.0, $281 = 0.0, $282 = 0.0, $283 = 0.0, $284 = 0.0, $285 = 0.0, $286 = 0, $287 = 0.0; + var $288 = 0.0, $289 = 0.0, $29 = 0, $290 = 0.0, $291 = 0.0, $292 = 0.0, $293 = 0.0, $294 = 0.0, $295 = 0.0, $296 = 0.0, $297 = 0.0, $298 = 0.0, $299 = 0.0, $3 = 0, $30 = 0, $300 = 0.0, $301 = 0.0, $302 = 0.0, $303 = 0.0, $304 = 0.0; + var $305 = 0.0, $306 = 0, $307 = 0.0, $308 = 0.0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0.0, $316 = 0.0, $317 = 0, $318 = 0, $319 = 0.0, $32 = 0, $320 = 0, $321 = 0, $322 = 0; + var $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0; + var $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0.0, $64 = 0, $65 = 0, $66 = 0.0, $67 = 0, $68 = 0, $69 = 0; + var $7 = 0, $70 = 0.0, $71 = 0, $72 = 0, $73 = 0, $74 = 0.0, $75 = 0, $76 = 0, $77 = 0.0, $78 = 0, $79 = 0, $8 = 0, $80 = 0.0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0; + var $88 = 0.0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0.0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0.0, $fabsf = 0.0, $fabsf296 = 0.0, $not$ = 0, $or$cond3 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 368|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(368|0); + $$byval_copy1 = sp + 352|0; + $3 = sp + 160|0; + $4 = sp + 40|0; + $5 = sp + 24|0; + $6 = sp; + $7 = sp + 12|0; + $8 = ((($0)) + 84|0); + ;HEAP32[$5>>2]=HEAP32[$8>>2]|0;HEAP32[$5+4>>2]=HEAP32[$8+4>>2]|0;HEAP32[$5+8>>2]=HEAP32[$8+8>>2]|0; + $9 = ((($0)) + 60|0); + ;HEAP32[$$byval_copy1>>2]=HEAP32[$9>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$9+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$9+8>>2]|0; + _stbtt__cff_index_get($6,$$byval_copy1,$1); + $10 = ((($6)) + 4|0); + $11 = HEAP32[$10>>2]|0; + $12 = ((($6)) + 8|0); + $13 = HEAP32[$12>>2]|0; + $14 = ($11|0)<($13|0); + if (!($14)) { + $$3 = 0; + STACKTOP = sp;return ($$3|0); + } + $15 = ((($0)) + 116|0); + $16 = ((($0)) + 72|0); + $17 = ((($3)) + 4|0); + $18 = ((($3)) + 8|0); + $19 = ((($3)) + 12|0); + $20 = ((($3)) + 16|0); + $21 = ((($3)) + 20|0); + $22 = ((($3)) + 24|0); + $23 = ((($3)) + 4|0); + $24 = ((($3)) + 8|0); + $25 = ((($3)) + 12|0); + $26 = ((($3)) + 16|0); + $27 = ((($3)) + 20|0); + $28 = ((($3)) + 24|0); + $29 = ((($3)) + 28|0); + $30 = ((($3)) + 32|0); + $31 = ((($3)) + 36|0); + $32 = ((($3)) + 40|0); + $33 = ((($3)) + 44|0); + $34 = ((($3)) + 4|0); + $35 = ((($3)) + 8|0); + $36 = ((($3)) + 12|0); + $37 = ((($3)) + 16|0); + $38 = ((($3)) + 20|0); + $39 = ((($3)) + 24|0); + $40 = ((($3)) + 28|0); + $41 = ((($3)) + 32|0); + $42 = ((($3)) + 4|0); + $43 = ((($3)) + 8|0); + $44 = ((($3)) + 12|0); + $45 = ((($3)) + 16|0); + $46 = ((($3)) + 20|0); + $47 = ((($3)) + 24|0); + $48 = ((($3)) + 28|0); + $49 = ((($3)) + 32|0); + $50 = ((($3)) + 36|0); + $51 = ((($3)) + 40|0); + $$0274335 = 1;$$0276334 = 0;$$0285333 = 0;$$0288332 = 0;$$0294331 = 0; + L4: while(1) { + $52 = (_stbtt__buf_get8($6)|0); + L6: do { + switch ($52<<24>>24) { + case 14: { + label = 63; + break L4; + break; + } + case 20: case 19: { + $53 = ($$0274335|0)==(0); + if ($53) { + $$1277 = $$0276334; + } else { + $54 = (($$0294331|0) / 2)&-1; + $55 = (($$0276334) + ($54))|0; + $$1277 = $55; + } + $56 = (($$1277) + 7)|0; + $57 = (($56|0) / 8)&-1; + _stbtt__buf_skip($6,$57); + $$0274$be = 0;$$0276$be = $$1277;$$0285$be = $$0285333;$$0288$be = $$0288332;$$0294$be = 0; + label = 73; + break; + } + case 23: case 18: case 3: case 1: { + $58 = (($$0294331|0) / 2)&-1; + $59 = (($$0276334) + ($58))|0; + $$0274$be = $$0274335;$$0276$be = $59;$$0285$be = $$0285333;$$0288$be = $$0288332;$$0294$be = 0; + label = 73; + break; + } + case 21: { + $60 = ($$0294331|0)<(2); + if ($60) { + $$3 = 0; + label = 80; + break L4; + } + $61 = (($$0294331) + -2)|0; + $62 = (($3) + ($61<<2)|0); + $63 = +HEAPF32[$62>>2]; + $64 = (($$0294331) + -1)|0; + $65 = (($3) + ($64<<2)|0); + $66 = +HEAPF32[$65>>2]; + _stbtt__csctx_rmove_to($2,$63,$66); + $$0274$be = 0;$$0276$be = $$0276334;$$0285$be = $$0285333;$$0288$be = $$0288332;$$0294$be = 0; + label = 73; + break; + } + case 4: { + $67 = ($$0294331|0)<(1); + if ($67) { + $$3 = 0; + label = 80; + break L4; + } + $68 = (($$0294331) + -1)|0; + $69 = (($3) + ($68<<2)|0); + $70 = +HEAPF32[$69>>2]; + _stbtt__csctx_rmove_to($2,0.0,$70); + $$0274$be = 0;$$0276$be = $$0276334;$$0285$be = $$0285333;$$0288$be = $$0288332;$$0294$be = 0; + label = 73; + break; + } + case 22: { + $71 = ($$0294331|0)<(1); + if ($71) { + $$3 = 0; + label = 80; + break L4; + } + $72 = (($$0294331) + -1)|0; + $73 = (($3) + ($72<<2)|0); + $74 = +HEAPF32[$73>>2]; + _stbtt__csctx_rmove_to($2,$74,0.0); + $$0274$be = 0;$$0276$be = $$0276334;$$0285$be = $$0285333;$$0288$be = $$0288332;$$0294$be = 0; + label = 73; + break; + } + case 5: { + $75 = ($$0294331|0)<(2); + if ($75) { + $$3 = 0; + label = 80; + break L4; + } else { + $$0290329 = 0;$79 = 1; + } + while(1) { + $76 = (($3) + ($$0290329<<2)|0); + $77 = +HEAPF32[$76>>2]; + $78 = (($3) + ($79<<2)|0); + $80 = +HEAPF32[$78>>2]; + _stbtt__csctx_rline_to($2,$77,$80); + $81 = (($$0290329) + 2)|0; + $82 = $81 | 1; + $83 = ($82|0)<($$0294331|0); + if ($83) { + $$0290329 = $81;$79 = $82; + } else { + $$0274$be = $$0274335;$$0276$be = $$0276334;$$0285$be = $$0285333;$$0288$be = $$0288332;$$0294$be = 0; + label = 73; + break; + } + } + break; + } + case 7: { + $84 = ($$0294331|0)<(1); + if ($84) { + $$3 = 0; + label = 80; + break L4; + } else { + $$2292 = 0; + label = 20; + } + break; + } + case 6: { + $85 = ($$0294331|0)<(1); + if ($85) { + $$3 = 0; + label = 80; + break L4; + } else { + $$1291 = 0; + label = 18; + } + break; + } + case 31: { + $94 = ($$0294331|0)<(4); + if ($94) { + $$3 = 0; + label = 80; + break L4; + } else { + $$4 = 0; + label = 28; + } + break; + } + case 30: { + $95 = ($$0294331|0)<(4); + if ($95) { + $$3 = 0; + label = 80; + break L4; + } else { + $$3293 = 0; + label = 24; + } + break; + } + case 8: { + $134 = ($$0294331|0)<(6); + if ($134) { + $$3 = 0; + label = 80; + break L4; + } else { + $$5327 = 0;$150 = 5; + } + while(1) { + $135 = (($3) + ($$5327<<2)|0); + $136 = +HEAPF32[$135>>2]; + $137 = $$5327 | 1; + $138 = (($3) + ($137<<2)|0); + $139 = +HEAPF32[$138>>2]; + $140 = (($$5327) + 2)|0; + $141 = (($3) + ($140<<2)|0); + $142 = +HEAPF32[$141>>2]; + $143 = (($$5327) + 3)|0; + $144 = (($3) + ($143<<2)|0); + $145 = +HEAPF32[$144>>2]; + $146 = (($$5327) + 4)|0; + $147 = (($3) + ($146<<2)|0); + $148 = +HEAPF32[$147>>2]; + $149 = (($3) + ($150<<2)|0); + $151 = +HEAPF32[$149>>2]; + _stbtt__csctx_rccurve_to($2,$136,$139,$142,$145,$148,$151); + $152 = (($$5327) + 6)|0; + $153 = (($$5327) + 11)|0; + $154 = ($153|0)<($$0294331|0); + if ($154) { + $$5327 = $152;$150 = $153; + } else { + $$0274$be = $$0274335;$$0276$be = $$0276334;$$0285$be = $$0285333;$$0288$be = $$0288332;$$0294$be = 0; + label = 73; + break; + } + } + break; + } + case 24: { + $155 = ($$0294331|0)<(8); + if ($155) { + $$3 = 0; + label = 80; + break L4; + } + $156 = (($$0294331) + -2)|0; + $157 = ($156|0)>(5); + if ($157) { + $$6322 = 0;$161 = 1;$173 = 5; + while(1) { + $158 = (($3) + ($$6322<<2)|0); + $159 = +HEAPF32[$158>>2]; + $160 = (($3) + ($161<<2)|0); + $162 = +HEAPF32[$160>>2]; + $163 = (($$6322) + 2)|0; + $164 = (($3) + ($163<<2)|0); + $165 = +HEAPF32[$164>>2]; + $166 = (($$6322) + 3)|0; + $167 = (($3) + ($166<<2)|0); + $168 = +HEAPF32[$167>>2]; + $169 = (($$6322) + 4)|0; + $170 = (($3) + ($169<<2)|0); + $171 = +HEAPF32[$170>>2]; + $172 = (($3) + ($173<<2)|0); + $174 = +HEAPF32[$172>>2]; + _stbtt__csctx_rccurve_to($2,$159,$162,$165,$168,$171,$174); + $175 = (($$6322) + 6)|0; + $176 = (($$6322) + 11)|0; + $177 = ($176|0)<($156|0); + $178 = $175 | 1; + if ($177) { + $$6322 = $175;$161 = $178;$173 = $176; + } else { + $$6$lcssa = $175;$$lcssa316 = $178; + break; + } + } + } else { + $$6$lcssa = 0;$$lcssa316 = 1; + } + $179 = ($$lcssa316|0)<($$0294331|0); + if (!($179)) { + $$3 = 0; + label = 80; + break L4; + } + $180 = (($3) + ($$6$lcssa<<2)|0); + $181 = +HEAPF32[$180>>2]; + $182 = (($3) + ($$lcssa316<<2)|0); + $183 = +HEAPF32[$182>>2]; + _stbtt__csctx_rline_to($2,$181,$183); + $$0274$be = $$0274335;$$0276$be = $$0276334;$$0285$be = $$0285333;$$0288$be = $$0288332;$$0294$be = 0; + label = 73; + break; + } + case 25: { + $184 = ($$0294331|0)<(8); + if ($184) { + $$3 = 0; + label = 80; + break L4; + } + $185 = (($$0294331) + -6)|0; + $186 = ($185|0)>(1); + if ($186) { + $$7319 = 0;$190 = 1; + while(1) { + $187 = (($3) + ($$7319<<2)|0); + $188 = +HEAPF32[$187>>2]; + $189 = (($3) + ($190<<2)|0); + $191 = +HEAPF32[$189>>2]; + _stbtt__csctx_rline_to($2,$188,$191); + $192 = (($$7319) + 2)|0; + $193 = $192 | 1; + $194 = ($193|0)<($185|0); + if ($194) { + $$7319 = $192;$190 = $193; + } else { + $$7$lcssa = $192;$$lcssa = $193; + break; + } + } + } else { + $$7$lcssa = 0;$$lcssa = 1; + } + $195 = (($$7$lcssa) + 5)|0; + $196 = ($195|0)<($$0294331|0); + if (!($196)) { + $$3 = 0; + label = 80; + break L4; + } + $197 = (($3) + ($$7$lcssa<<2)|0); + $198 = +HEAPF32[$197>>2]; + $199 = (($3) + ($$lcssa<<2)|0); + $200 = +HEAPF32[$199>>2]; + $201 = (($$7$lcssa) + 2)|0; + $202 = (($3) + ($201<<2)|0); + $203 = +HEAPF32[$202>>2]; + $204 = (($$7$lcssa) + 3)|0; + $205 = (($3) + ($204<<2)|0); + $206 = +HEAPF32[$205>>2]; + $207 = (($$7$lcssa) + 4)|0; + $208 = (($3) + ($207<<2)|0); + $209 = +HEAPF32[$208>>2]; + $210 = (($3) + ($195<<2)|0); + $211 = +HEAPF32[$210>>2]; + _stbtt__csctx_rccurve_to($2,$198,$200,$203,$206,$209,$211); + $$0274$be = $$0274335;$$0276$be = $$0276334;$$0285$be = $$0285333;$$0288$be = $$0288332;$$0294$be = 0; + label = 73; + break; + } + case 27: case 26: { + $212 = ($$0294331|0)<(4); + if ($212) { + $$3 = 0; + label = 80; + break L4; + } + $213 = $$0294331 & 1; + $214 = ($213|0)==(0); + $215 = (($213) + 3)|0; + $216 = ($215|0)<($$0294331|0); + if ($216) { + $not$ = $214 ^ 1; + $$ = $not$&1; + $217 = +HEAPF32[$3>>2]; + $$363 = $214 ? 0.0 : $217; + $218 = ($52<<24>>24)==(27); + $$0282318 = $$363;$$8317 = $$;$228 = $215; + while(1) { + $219 = (($$8317) + 2)|0; + $220 = (($$8317) + 1)|0; + $221 = (($3) + ($219<<2)|0); + $222 = +HEAPF32[$221>>2]; + $223 = (($3) + ($$8317<<2)|0); + $224 = +HEAPF32[$223>>2]; + $225 = (($3) + ($220<<2)|0); + $226 = +HEAPF32[$225>>2]; + $227 = (($3) + ($228<<2)|0); + $229 = +HEAPF32[$227>>2]; + if ($218) { + _stbtt__csctx_rccurve_to($2,$224,$$0282318,$226,$222,$229,0.0); + } else { + _stbtt__csctx_rccurve_to($2,$$0282318,$224,$226,$222,0.0,$229); + } + $230 = (($$8317) + 4)|0; + $231 = (($$8317) + 7)|0; + $232 = ($231|0)<($$0294331|0); + if ($232) { + $$0282318 = 0.0;$$8317 = $230;$228 = $231; + } else { + $$0274$be = $$0274335;$$0276$be = $$0276334;$$0285$be = $$0285333;$$0288$be = $$0288332;$$0294$be = 0; + label = 73; + break; + } + } + } else { + $$0274$be = $$0274335;$$0276$be = $$0276334;$$0285$be = $$0285333;$$0288$be = $$0288332;$$0294$be = 0; + label = 73; + } + break; + } + case 10: { + $233 = ($$0285333|0)==(0); + if ($233) { + $234 = HEAP32[$15>>2]|0; + $235 = ($234|0)==(0); + if ($235) { + $$1286 = 1; + label = 54; + } else { + _stbtt__cid_get_glyph_subrs($5,$0,$1); + $$1286 = 1; + label = 54; + } + } else { + $$1286 = $$0285333; + label = 54; + } + break; + } + case 29: { + $$1286 = $$0285333; + label = 54; + break; + } + case 11: { + $247 = ($$0288332|0)<(1); + if ($247) { + $$3 = 0; + label = 80; + break L4; + } + $248 = (($$0288332) + -1)|0; + $249 = (($4) + (($248*12)|0)|0); + ;HEAP32[$6>>2]=HEAP32[$249>>2]|0;HEAP32[$6+4>>2]=HEAP32[$249+4>>2]|0;HEAP32[$6+8>>2]=HEAP32[$249+8>>2]|0; + $$0274$be = $$0274335;$$0276$be = $$0276334;$$0285$be = $$0285333;$$0288$be = $248;$$0294$be = $$0294331; + label = 73; + break; + } + case 12: { + $250 = (_stbtt__buf_get8($6)|0); + switch ($250<<24>>24) { + case 34: { + $251 = ($$0294331|0)<(7); + if ($251) { + $$3 = 0; + label = 80; + break L4; + } + $252 = +HEAPF32[$3>>2]; + $253 = +HEAPF32[$17>>2]; + $254 = +HEAPF32[$18>>2]; + $255 = +HEAPF32[$19>>2]; + $256 = +HEAPF32[$20>>2]; + $257 = +HEAPF32[$21>>2]; + $258 = +HEAPF32[$22>>2]; + _stbtt__csctx_rccurve_to($2,$252,0.0,$253,$254,$255,0.0); + $259 = -$254; + _stbtt__csctx_rccurve_to($2,$256,0.0,$257,$259,$258,0.0); + $$0274$be = $$0274335;$$0276$be = $$0276334;$$0285$be = $$0285333;$$0288$be = $$0288332;$$0294$be = 0; + label = 73; + break L6; + break; + } + case 35: { + $260 = ($$0294331|0)<(13); + if ($260) { + $$3 = 0; + label = 80; + break L4; + } + $261 = +HEAPF32[$3>>2]; + $262 = +HEAPF32[$23>>2]; + $263 = +HEAPF32[$24>>2]; + $264 = +HEAPF32[$25>>2]; + $265 = +HEAPF32[$26>>2]; + $266 = +HEAPF32[$27>>2]; + $267 = +HEAPF32[$28>>2]; + $268 = +HEAPF32[$29>>2]; + $269 = +HEAPF32[$30>>2]; + $270 = +HEAPF32[$31>>2]; + $271 = +HEAPF32[$32>>2]; + $272 = +HEAPF32[$33>>2]; + _stbtt__csctx_rccurve_to($2,$261,$262,$263,$264,$265,$266); + _stbtt__csctx_rccurve_to($2,$267,$268,$269,$270,$271,$272); + $$0274$be = $$0274335;$$0276$be = $$0276334;$$0285$be = $$0285333;$$0288$be = $$0288332;$$0294$be = 0; + label = 73; + break L6; + break; + } + case 36: { + $273 = ($$0294331|0)<(9); + if ($273) { + $$3 = 0; + label = 80; + break L4; + } + $274 = +HEAPF32[$3>>2]; + $275 = +HEAPF32[$34>>2]; + $276 = +HEAPF32[$35>>2]; + $277 = +HEAPF32[$36>>2]; + $278 = +HEAPF32[$37>>2]; + $279 = +HEAPF32[$38>>2]; + $280 = +HEAPF32[$39>>2]; + $281 = +HEAPF32[$40>>2]; + $282 = +HEAPF32[$41>>2]; + _stbtt__csctx_rccurve_to($2,$274,$275,$276,$277,$278,0.0); + $283 = $275 + $277; + $284 = $283 + $281; + $285 = -$284; + _stbtt__csctx_rccurve_to($2,$279,0.0,$280,$281,$282,$285); + $$0274$be = $$0274335;$$0276$be = $$0276334;$$0285$be = $$0285333;$$0288$be = $$0288332;$$0294$be = 0; + label = 73; + break L6; + break; + } + case 37: { + $286 = ($$0294331|0)<(11); + if ($286) { + $$3 = 0; + label = 80; + break L4; + } + $287 = +HEAPF32[$3>>2]; + $288 = +HEAPF32[$42>>2]; + $289 = +HEAPF32[$43>>2]; + $290 = +HEAPF32[$44>>2]; + $291 = +HEAPF32[$45>>2]; + $292 = +HEAPF32[$46>>2]; + $293 = +HEAPF32[$47>>2]; + $294 = +HEAPF32[$48>>2]; + $295 = +HEAPF32[$49>>2]; + $296 = +HEAPF32[$50>>2]; + $297 = +HEAPF32[$51>>2]; + $298 = $287 + $289; + $299 = $298 + $291; + $300 = $299 + $293; + $301 = $300 + $295; + $302 = $288 + $290; + $303 = $302 + $292; + $304 = $303 + $294; + $305 = $304 + $296; + $fabsf = (+Math_abs((+$301))); + $fabsf296 = (+Math_abs((+$305))); + $306 = $fabsf > $fabsf296; + $307 = -$305; + $308 = -$301; + $$0280 = $306 ? $297 : $308; + $$0279 = $306 ? $307 : $297; + _stbtt__csctx_rccurve_to($2,$287,$288,$289,$290,$291,$292); + _stbtt__csctx_rccurve_to($2,$293,$294,$295,$296,$$0280,$$0279); + $$0274$be = $$0274335;$$0276$be = $$0276334;$$0285$be = $$0285333;$$0288$be = $$0288332;$$0294$be = 0; + label = 73; + break L6; + break; + } + default: { + $$3 = 0; + label = 80; + break L4; + } + } + break; + } + case -1: { + label = 76; + break; + } + case 28: { + label = 77; + break; + } + default: { + $312 = ($52&255)<(32); + $313 = ($52<<24>>24)==(-1); + $or$cond3 = $312 | $313; + if ($or$cond3) { + $$3 = 0; + label = 80; + break L4; + } + if ($313) { + label = 76; + } else { + label = 77; + } + } + } + } while(0); + if ((label|0) == 54) { + label = 0; + $236 = ($$0294331|0)<(1); + if ($236) { + $$3 = 0; + label = 80; + break; + } + $237 = (($$0294331) + -1)|0; + $238 = (($3) + ($237<<2)|0); + $239 = +HEAPF32[$238>>2]; + $240 = (~~(($239))); + $241 = ($$0288332|0)>(9); + if ($241) { + $$3 = 0; + label = 80; + break; + } + $242 = (($$0288332) + 1)|0; + $243 = (($4) + (($$0288332*12)|0)|0); + ;HEAP32[$243>>2]=HEAP32[$6>>2]|0;HEAP32[$243+4>>2]=HEAP32[$6+4>>2]|0;HEAP32[$243+8>>2]=HEAP32[$6+8>>2]|0; + $244 = ($52<<24>>24)==(10); + if ($244) { + ;HEAP32[$7>>2]=HEAP32[$5>>2]|0;HEAP32[$7+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$7+8>>2]=HEAP32[$5+8>>2]|0; + } else { + ;HEAP32[$7>>2]=HEAP32[$16>>2]|0;HEAP32[$7+4>>2]=HEAP32[$16+4>>2]|0;HEAP32[$7+8>>2]=HEAP32[$16+8>>2]|0; + } + ;HEAP32[$$byval_copy1>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$7+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$7+8>>2]|0; + _stbtt__get_subr($6,$$byval_copy1,$240); + $245 = HEAP32[$12>>2]|0; + $246 = ($245|0)==(0); + if ($246) { + $$3 = 0; + label = 80; + break; + } + HEAP32[$10>>2] = 0; + $$0274$be = $$0274335;$$0276$be = $$0276334;$$0285$be = $$1286;$$0288$be = $242;$$0294$be = $237; + label = 73; + } + else if ((label|0) == 76) { + label = 0; + $314 = (_stbtt__buf_get($6,4)|0); + $315 = (+($314>>>0)); + $316 = $315 * 1.52587890625E-5; + $$1283 = $316; + label = 78; + } + else if ((label|0) == 77) { + label = 0; + _stbtt__buf_skip($6,-1); + $317 = (_stbtt__cff_int($6)|0); + $318 = $317&65535; + $319 = (+($318<<16>>16)); + $$1283 = $319; + label = 78; + } + if ((label|0) == 78) { + label = 0; + $320 = ($$0294331|0)>(47); + if ($320) { + $$3 = 0; + label = 80; + break; + } + $321 = (($$0294331) + 1)|0; + $322 = (($3) + ($$0294331<<2)|0); + HEAPF32[$322>>2] = $$1283; + $$0274$be = $$0274335;$$0276$be = $$0276334;$$0285$be = $$0285333;$$0288$be = $$0288332;$$0294$be = $321; + label = 73; + } + while(1) { + if ((label|0) == 18) { + label = 0; + $86 = ($$1291|0)<($$0294331|0); + if (!($86)) { + $$0274$be = $$0274335;$$0276$be = $$0276334;$$0285$be = $$0285333;$$0288$be = $$0288332;$$0294$be = 0; + label = 73; + continue; + } + $87 = (($3) + ($$1291<<2)|0); + $88 = +HEAPF32[$87>>2]; + _stbtt__csctx_rline_to($2,$88,0.0); + $89 = (($$1291) + 1)|0; + $$2292 = $89; + label = 20; + continue; + } + else if ((label|0) == 20) { + label = 0; + $90 = ($$2292|0)<($$0294331|0); + if (!($90)) { + $$0274$be = $$0274335;$$0276$be = $$0276334;$$0285$be = $$0285333;$$0288$be = $$0288332;$$0294$be = 0; + label = 73; + continue; + } + $91 = (($3) + ($$2292<<2)|0); + $92 = +HEAPF32[$91>>2]; + _stbtt__csctx_rline_to($2,0.0,$92); + $93 = (($$2292) + 1)|0; + $$1291 = $93; + label = 18; + continue; + } + else if ((label|0) == 24) { + label = 0; + $96 = (($$3293) + 3)|0; + $97 = ($96|0)<($$0294331|0); + if (!($97)) { + $$0274$be = $$0274335;$$0276$be = $$0276334;$$0285$be = $$0285333;$$0288$be = $$0288332;$$0294$be = 0; + label = 73; + continue; + } + $98 = (($3) + ($$3293<<2)|0); + $99 = +HEAPF32[$98>>2]; + $100 = (($$3293) + 1)|0; + $101 = (($3) + ($100<<2)|0); + $102 = +HEAPF32[$101>>2]; + $103 = (($$3293) + 2)|0; + $104 = (($3) + ($103<<2)|0); + $105 = +HEAPF32[$104>>2]; + $106 = (($3) + ($96<<2)|0); + $107 = +HEAPF32[$106>>2]; + $108 = (($$0294331) - ($$3293))|0; + $109 = ($108|0)==(5); + if ($109) { + $110 = (($$3293) + 4)|0; + $111 = (($3) + ($110<<2)|0); + $112 = +HEAPF32[$111>>2]; + $113 = $112; + } else { + $113 = 0.0; + } + _stbtt__csctx_rccurve_to($2,0.0,$99,$102,$105,$107,$113); + $114 = (($$3293) + 4)|0; + $$4 = $114; + label = 28; + continue; + } + else if ((label|0) == 28) { + label = 0; + $115 = (($$4) + 3)|0; + $116 = ($115|0)<($$0294331|0); + if (!($116)) { + $$0274$be = $$0274335;$$0276$be = $$0276334;$$0285$be = $$0285333;$$0288$be = $$0288332;$$0294$be = 0; + label = 73; + continue; + } + $117 = (($3) + ($$4<<2)|0); + $118 = +HEAPF32[$117>>2]; + $119 = (($$4) + 1)|0; + $120 = (($3) + ($119<<2)|0); + $121 = +HEAPF32[$120>>2]; + $122 = (($$4) + 2)|0; + $123 = (($3) + ($122<<2)|0); + $124 = +HEAPF32[$123>>2]; + $125 = (($$0294331) - ($$4))|0; + $126 = ($125|0)==(5); + if ($126) { + $127 = (($$4) + 4)|0; + $128 = (($3) + ($127<<2)|0); + $129 = +HEAPF32[$128>>2]; + $132 = $129; + } else { + $132 = 0.0; + } + $130 = (($3) + ($115<<2)|0); + $131 = +HEAPF32[$130>>2]; + _stbtt__csctx_rccurve_to($2,$118,0.0,$121,$124,$132,$131); + $133 = (($$4) + 4)|0; + $$3293 = $133; + label = 24; + continue; + } + else if ((label|0) == 73) { + label = 0; + $309 = HEAP32[$10>>2]|0; + $310 = HEAP32[$12>>2]|0; + $311 = ($309|0)<($310|0); + if ($311) { + $$0274335 = $$0274$be;$$0276334 = $$0276$be;$$0285333 = $$0285$be;$$0288332 = $$0288$be;$$0294331 = $$0294$be; + continue L4; + } else { + $$3 = 0; + label = 80; + break L4; + } + } + } + } + if ((label|0) == 63) { + _stbtt__csctx_close_shape($2); + $$3 = 1; + STACKTOP = sp;return ($$3|0); + } + else if ((label|0) == 80) { + STACKTOP = sp;return ($$3|0); + } + return (0)|0; +} +function _stbtt__cff_index_get($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$off = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + _stbtt__buf_seek($1,0); + $3 = (_stbtt__buf_get($1,2)|0); + $4 = (_stbtt__buf_get8($1)|0); + $5 = $4&255; + $6 = ($2|0)>(-1); + $7 = ($3|0)>($2|0); + $or$cond = $6 & $7; + if (!($or$cond)) { + ___assert_fail((14948|0),(14285|0),1118,(14968|0)); + // unreachable; + } + $$off = (($4) + -1)<<24>>24; + $8 = ($$off&255)<(4); + if ($8) { + $9 = Math_imul($5, $2)|0; + _stbtt__buf_skip($1,$9); + $10 = (_stbtt__buf_get($1,$5)|0); + $11 = (_stbtt__buf_get($1,$5)|0); + $12 = (($3) + 1)|0; + $13 = Math_imul($5, $12)|0; + $14 = (($13) + 2)|0; + $15 = (($14) + ($10))|0; + $16 = (($11) - ($10))|0; + _stbtt__buf_range($0,$1,$15,$16); + return; + } else { + ___assert_fail((14865|0),(14285|0),1119,(14968|0)); + // unreachable; + } +} +function _stbtt__buf_get8($0) { + $0 = $0|0; + var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 4|0); + $2 = HEAP32[$1>>2]|0; + $3 = ((($0)) + 8|0); + $4 = HEAP32[$3>>2]|0; + $5 = ($2|0)<($4|0); + if (!($5)) { + $$0 = 0; + return ($$0|0); + } + $6 = (($2) + 1)|0; + $7 = HEAP32[$0>>2]|0; + HEAP32[$1>>2] = $6; + $8 = (($7) + ($2)|0); + $9 = HEAP8[$8>>0]|0; + $$0 = $9; + return ($$0|0); +} +function _stbtt__buf_skip($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($0)) + 4|0); + $3 = HEAP32[$2>>2]|0; + $4 = (($3) + ($1))|0; + _stbtt__buf_seek($0,$4); + return; +} +function _stbtt__csctx_rmove_to($0,$1,$2) { + $0 = $0|0; + $1 = +$1; + $2 = +$2; + var $10 = 0, $11 = 0.0, $12 = 0, $13 = 0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + _stbtt__csctx_close_shape($0); + $3 = ((($0)) + 16|0); + $4 = +HEAPF32[$3>>2]; + $5 = $4 + $1; + HEAPF32[$3>>2] = $5; + $6 = ((($0)) + 8|0); + HEAPF32[$6>>2] = $5; + $7 = ((($0)) + 20|0); + $8 = +HEAPF32[$7>>2]; + $9 = $8 + $2; + HEAPF32[$7>>2] = $9; + $10 = ((($0)) + 12|0); + HEAPF32[$10>>2] = $9; + $11 = +HEAPF32[$3>>2]; + $12 = (~~(($11))); + $13 = (~~(($9))); + _stbtt__csctx_v($0,1,$12,$13,0,0,0,0); + return; +} +function _stbtt__csctx_rline_to($0,$1,$2) { + $0 = $0|0; + $1 = +$1; + $2 = +$2; + var $10 = 0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0.0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ((($0)) + 16|0); + $4 = +HEAPF32[$3>>2]; + $5 = $4 + $1; + HEAPF32[$3>>2] = $5; + $6 = ((($0)) + 20|0); + $7 = +HEAPF32[$6>>2]; + $8 = $7 + $2; + HEAPF32[$6>>2] = $8; + $9 = (~~(($5))); + $10 = (~~(($8))); + _stbtt__csctx_v($0,2,$9,$10,0,0,0,0); + return; +} +function _stbtt__csctx_rccurve_to($0,$1,$2,$3,$4,$5,$6) { + $0 = $0|0; + $1 = +$1; + $2 = +$2; + $3 = +$3; + $4 = +$4; + $5 = +$5; + $6 = +$6; + var $10 = 0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $7 = ((($0)) + 16|0); + $8 = +HEAPF32[$7>>2]; + $9 = $8 + $1; + $10 = ((($0)) + 20|0); + $11 = +HEAPF32[$10>>2]; + $12 = $11 + $2; + $13 = $9 + $3; + $14 = $12 + $4; + $15 = $13 + $5; + HEAPF32[$7>>2] = $15; + $16 = $14 + $6; + HEAPF32[$10>>2] = $16; + $17 = (~~(($15))); + $18 = (~~(($16))); + $19 = (~~(($9))); + $20 = (~~(($12))); + $21 = (~~(($13))); + $22 = (~~(($14))); + _stbtt__csctx_v($0,4,$17,$18,$19,$20,$21,$22); + return; +} +function _stbtt__cid_get_glyph_subrs($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$02931 = 0, $$03034 = 0, $$035 = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0; + var $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0); + $$byval_copy2 = sp + 36|0; + $$byval_copy1 = sp + 24|0; + $3 = sp; + $4 = sp + 12|0; + $5 = ((($1)) + 108|0); + ;HEAP32[$3>>2]=HEAP32[$5>>2]|0;HEAP32[$3+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$3+8>>2]=HEAP32[$5+8>>2]|0; + _stbtt__buf_seek($3,0); + $6 = (_stbtt__buf_get8($3)|0); + L1: do { + switch ($6<<24>>24) { + case 0: { + _stbtt__buf_skip($3,$2); + $7 = (_stbtt__buf_get8($3)|0); + $8 = $7&255; + $$02931 = $8; + break; + } + case 3: { + $9 = (_stbtt__buf_get($3,2)|0); + $10 = (_stbtt__buf_get($3,2)|0); + $11 = ($9|0)>(0); + if ($11) { + $$03034 = $10;$$035 = 0; + while(1) { + $14 = (_stbtt__buf_get8($3)|0); + $15 = (_stbtt__buf_get($3,2)|0); + $16 = ($$03034|0)<=($2|0); + $17 = ($15|0)>($2|0); + $or$cond = $16 & $17; + $13 = (($$035) + 1)|0; + if ($or$cond) { + break; + } + $12 = ($13|0)<($9|0); + if ($12) { + $$03034 = $15;$$035 = $13; + } else { + label = 6; + break L1; + } + } + $18 = $14&255; + $$02931 = $18; + } else { + label = 6; + } + break; + } + default: { + label = 6; + } + } + } while(0); + if ((label|0) == 6) { + _stbtt__new_buf($$byval_copy2,0,0); + $$02931 = -1; + } + $19 = ((($1)) + 48|0); + $20 = ((($1)) + 96|0); + ;HEAP32[$$byval_copy2>>2]=HEAP32[$20>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$20+4>>2]|0;HEAP32[$$byval_copy2+8>>2]=HEAP32[$20+8>>2]|0; + _stbtt__cff_index_get($4,$$byval_copy2,$$02931); + ;HEAP32[$$byval_copy1>>2]=HEAP32[$19>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$19+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$19+8>>2]|0; + ;HEAP32[$$byval_copy2>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$4+4>>2]|0;HEAP32[$$byval_copy2+8>>2]=HEAP32[$4+8>>2]|0; + _stbtt__get_subrs($0,$$byval_copy1,$$byval_copy2); + STACKTOP = sp;return; +} +function _stbtt__get_subr($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$ = 0, $$0 = 0, $$byval_copy = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $$byval_copy = sp; + $3 = (_stbtt__cff_index_count($1)|0); + $4 = ($3|0)>(33899); + $5 = ($3|0)>(1239); + $$ = $5 ? 1131 : 107; + $$0 = $4 ? 32768 : $$; + $6 = (($$0) + ($2))|0; + $7 = ($6|0)>(-1); + $8 = ($6|0)<($3|0); + $or$cond = $7 & $8; + if ($or$cond) { + ;HEAP32[$$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$1+8>>2]|0; + _stbtt__cff_index_get($0,$$byval_copy,$6); + STACKTOP = sp;return; + } else { + _stbtt__new_buf($0,0,0); + STACKTOP = sp;return; + } +} +function _stbtt__csctx_close_shape($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0.0, $3 = 0, $4 = 0.0, $5 = 0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 8|0); + $2 = +HEAPF32[$1>>2]; + $3 = ((($0)) + 16|0); + $4 = +HEAPF32[$3>>2]; + $5 = $2 != $4; + $6 = ((($0)) + 12|0); + $7 = +HEAPF32[$6>>2]; + if (!($5)) { + $8 = ((($0)) + 20|0); + $9 = +HEAPF32[$8>>2]; + $10 = $7 != $9; + if (!($10)) { + return; + } + } + $11 = (~~(($2))); + $12 = (~~(($7))); + _stbtt__csctx_v($0,2,$11,$12,0,0,0,0); + return; +} +function _stbtt__buf_get($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$01011 = 0, $$012 = 0, $$off = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $exitcond = 0, label = 0, sp = 0; + sp = STACKTOP; + $$off = (($1) + -1)|0; + $2 = ($$off>>>0)<(4); + if ($2) { + $$01011 = 0;$$012 = 0; + } else { + ___assert_fail((14760|0),(14285|0),1014,(14777|0)); + // unreachable; + } + while(1) { + $3 = $$01011 << 8; + $4 = (_stbtt__buf_get8($0)|0); + $5 = $4&255; + $6 = $5 | $3; + $7 = (($$012) + 1)|0; + $exitcond = ($7|0)==($1|0); + if ($exitcond) { + break; + } else { + $$01011 = $6;$$012 = $7; + } + } + return ($6|0); +} +function _stbtt__cff_int($0) { + $0 = $0|0; + var $$0 = 0, $$off = 0, $$off19 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0; + var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond5 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (_stbtt__buf_get8($0)|0); + $2 = $1&255; + $$off = (($1) + -32)<<24>>24; + $3 = ($$off&255)<(215); + if ($3) { + $4 = (($2) + -139)|0; + $$0 = $4; + return ($$0|0); + } + $$off19 = (($1) + 9)<<24>>24; + $5 = ($$off19&255)<(4); + if ($5) { + $6 = $2 << 8; + $7 = (($6) + -63232)|0; + $8 = (_stbtt__buf_get8($0)|0); + $9 = $8&255; + $10 = $9 | $7; + $11 = (($10) + 108)|0; + $$0 = $11; + return ($$0|0); + } + $12 = ($1&255)>(250); + $13 = ($1<<24>>24)!=(-1); + $or$cond5 = $12 & $13; + if ($or$cond5) { + $14 = (251 - ($2))|0; + $15 = $14 << 8; + $16 = (_stbtt__buf_get8($0)|0); + $17 = $16&255; + $18 = (($15) + -108)|0; + $19 = (($18) - ($17))|0; + $$0 = $19; + return ($$0|0); + } + switch ($1<<24>>24) { + case 28: { + $20 = (_stbtt__buf_get($0,2)|0); + $$0 = $20; + return ($$0|0); + break; + } + case 29: { + $21 = (_stbtt__buf_get($0,4)|0); + $$0 = $21; + return ($$0|0); + break; + } + default: { + ___assert_fail((16329|0),(14285|0),1064,(14745|0)); + // unreachable; + } + } + return (0)|0; +} +function _stbtt__csctx_v($0,$1,$2,$3,$4,$5,$6,$7) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + $6 = $6|0; + $7 = $7|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $8 = 0, $9 = 0, label = 0; + var sp = 0; + sp = STACKTOP; + $8 = HEAP32[$0>>2]|0; + $9 = ($8|0)==(0); + if ($9) { + $11 = ((($0)) + 40|0); + $12 = HEAP32[$11>>2]|0; + $13 = ((($0)) + 44|0); + $14 = HEAP32[$13>>2]|0; + $15 = (($12) + (($14*14)|0)|0); + _stbtt_setvertex($15,$1,$2,$3,$4,$5); + $16 = $6&65535; + $17 = HEAP32[$11>>2]|0; + $18 = HEAP32[$13>>2]|0; + $19 = (((($17) + (($18*14)|0)|0)) + 8|0); + HEAP16[$19>>1] = $16; + $20 = $7&65535; + $21 = HEAP32[$11>>2]|0; + $22 = HEAP32[$13>>2]|0; + $23 = (((($21) + (($22*14)|0)|0)) + 10|0); + HEAP16[$23>>1] = $20; + } else { + _stbtt__track_vertex($0,$2,$3); + $10 = ($1<<24>>24)==(4); + if ($10) { + _stbtt__track_vertex($0,$4,$5); + _stbtt__track_vertex($0,$6,$7); + } + } + $24 = ((($0)) + 44|0); + $25 = HEAP32[$24>>2]|0; + $26 = (($25) + 1)|0; + HEAP32[$24>>2] = $26; + return; +} +function _stbtt__track_vertex($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $3 = 0, $4 = 0; + var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ((($0)) + 28|0); + $4 = HEAP32[$3>>2]|0; + $5 = ($4|0)<($1|0); + if ($5) { + label = 3; + } else { + $6 = ((($0)) + 4|0); + $7 = HEAP32[$6>>2]|0; + $8 = ($7|0)==(0); + if ($8) { + label = 3; + } + } + if ((label|0) == 3) { + HEAP32[$3>>2] = $1; + } + $9 = ((($0)) + 36|0); + $10 = HEAP32[$9>>2]|0; + $11 = ($10|0)<($2|0); + if ($11) { + label = 6; + } else { + $12 = ((($0)) + 4|0); + $13 = HEAP32[$12>>2]|0; + $14 = ($13|0)==(0); + if ($14) { + label = 6; + } + } + if ((label|0) == 6) { + HEAP32[$9>>2] = $2; + } + $15 = ((($0)) + 24|0); + $16 = HEAP32[$15>>2]|0; + $17 = ($16|0)>($1|0); + if ($17) { + label = 9; + } else { + $18 = ((($0)) + 4|0); + $19 = HEAP32[$18>>2]|0; + $20 = ($19|0)==(0); + if ($20) { + label = 9; + } + } + if ((label|0) == 9) { + HEAP32[$15>>2] = $1; + } + $21 = ((($0)) + 32|0); + $22 = HEAP32[$21>>2]|0; + $23 = ($22|0)>($2|0); + if (!($23)) { + $24 = ((($0)) + 4|0); + $25 = HEAP32[$24>>2]|0; + $26 = ($25|0)==(0); + if (!($26)) { + $27 = ((($0)) + 4|0); + HEAP32[$27>>2] = 1; + return; + } + } + HEAP32[$21>>2] = $2; + $27 = ((($0)) + 4|0); + HEAP32[$27>>2] = 1; + return; +} +function _stbtt_setvertex($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $6 = ((($0)) + 12|0); + HEAP8[$6>>0] = $1; + $7 = $2&65535; + HEAP16[$0>>1] = $7; + $8 = $3&65535; + $9 = ((($0)) + 2|0); + HEAP16[$9>>1] = $8; + $10 = $4&65535; + $11 = ((($0)) + 4|0); + HEAP16[$11>>1] = $10; + $12 = $5&65535; + $13 = ((($0)) + 6|0); + HEAP16[$13>>1] = $12; + return; +} +function _stbtt__cff_index_count($0) { + $0 = $0|0; + var $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + _stbtt__buf_seek($0,0); + $1 = (_stbtt__buf_get($0,2)|0); + return ($1|0); +} +function _stbtt__new_buf($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$sroa$4$0$$sroa_idx2 = 0, $$sroa$5$0$$sroa_idx4 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ($2>>>0)<(1073741824); + if ($3) { + HEAP32[$0>>2] = $1; + $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); + HEAP32[$$sroa$4$0$$sroa_idx2>>2] = 0; + $$sroa$5$0$$sroa_idx4 = ((($0)) + 8|0); + HEAP32[$$sroa$5$0$$sroa_idx4>>2] = $2; + return; + } else { + ___assert_fail((14792|0),(14285|0),1023,(14810|0)); + // unreachable; + } +} +function _stbtt__buf_seek($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($0)) + 8|0); + $3 = HEAP32[$2>>2]|0; + $4 = ($3|0)<($1|0); + $5 = ($1|0)<(0); + $or$cond = $5 | $4; + if ($or$cond) { + ___assert_fail((14825|0),(14285|0),1001,(14849|0)); + // unreachable; + } else { + $6 = ((($0)) + 4|0); + HEAP32[$6>>2] = $1; + return; + } +} +function _stbtt__get_subrs($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $3 = sp + 20|0; + $4 = sp; + $5 = sp + 8|0; + HEAP32[$3>>2] = 0; + $6 = $4; + $7 = $6; + HEAP32[$7>>2] = 0; + $8 = (($6) + 4)|0; + $9 = $8; + HEAP32[$9>>2] = 0; + _stbtt__dict_get_ints($2,18,2,$4); + $10 = ((($4)) + 4|0); + $11 = HEAP32[$10>>2]|0; + $12 = ($11|0)==(0); + if (!($12)) { + $13 = HEAP32[$4>>2]|0; + $14 = ($13|0)==(0); + if (!($14)) { + _stbtt__buf_range($5,$1,$11,$13); + _stbtt__dict_get_ints($5,19,1,$3); + $15 = HEAP32[$3>>2]|0; + $16 = ($15|0)==(0); + if ($16) { + _stbtt__new_buf($0,0,0); + STACKTOP = sp;return; + } else { + $17 = HEAP32[$10>>2]|0; + $18 = (($17) + ($15))|0; + _stbtt__buf_seek($1,$18); + _stbtt__cff_get_index($0,$1); + STACKTOP = sp;return; + } + } + } + _stbtt__new_buf($0,0,0); + STACKTOP = sp;return; +} +function _stbtt__dict_get_ints($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$07 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $4 = sp; + _stbtt__dict_get($4,$0,$1); + $5 = ((($4)) + 4|0); + $6 = ($2|0)>(0); + if (!($6)) { + STACKTOP = sp;return; + } + $7 = ((($4)) + 8|0); + $$07 = 0; + while(1) { + $8 = HEAP32[$5>>2]|0; + $9 = HEAP32[$7>>2]|0; + $10 = ($8|0)<($9|0); + if (!($10)) { + label = 5; + break; + } + $11 = (_stbtt__cff_int($4)|0); + $12 = (($3) + ($$07<<2)|0); + HEAP32[$12>>2] = $11; + $13 = (($$07) + 1)|0; + $14 = ($13|0)<($2|0); + if ($14) { + $$07 = $13; + } else { + label = 5; + break; + } + } + if ((label|0) == 5) { + STACKTOP = sp;return; + } +} +function _stbtt__buf_range($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $4 = sp; + _stbtt__new_buf($4,0,0); + $5 = $3 | $2; + $6 = ($5|0)<(0); + if (!($6)) { + $7 = ((($1)) + 8|0); + $8 = HEAP32[$7>>2]|0; + $9 = ($8|0)<($2|0); + $10 = (($8) - ($2))|0; + $11 = ($10|0)<($3|0); + $or$cond = $9 | $11; + if (!($or$cond)) { + $12 = HEAP32[$1>>2]|0; + $13 = (($12) + ($2)|0); + HEAP32[$4>>2] = $13; + $14 = ((($4)) + 8|0); + HEAP32[$14>>2] = $3; + ;HEAP32[$0>>2]=HEAP32[$4>>2]|0;HEAP32[$0+4>>2]=HEAP32[$4+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$4+8>>2]|0; + STACKTOP = sp;return; + } + } + ;HEAP32[$0>>2]=HEAP32[$4>>2]|0;HEAP32[$0+4>>2]=HEAP32[$4+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$4+8>>2]|0; + STACKTOP = sp;return; +} +function _stbtt__cff_get_index($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$off = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($1)) + 4|0); + $3 = HEAP32[$2>>2]|0; + $4 = (_stbtt__buf_get($1,2)|0); + $5 = ($4|0)==(0); + if ($5) { + $12 = HEAP32[$2>>2]|0; + $13 = (($12) - ($3))|0; + _stbtt__buf_range($0,$1,$3,$13); + return; + } + $6 = (_stbtt__buf_get8($1)|0); + $7 = $6&255; + $$off = (($6) + -1)<<24>>24; + $8 = ($$off&255)<(4); + if (!($8)) { + ___assert_fail((14865|0),(14285|0),1049,(14894|0)); + // unreachable; + } + $9 = Math_imul($7, $4)|0; + _stbtt__buf_skip($1,$9); + $10 = (_stbtt__buf_get($1,$7)|0); + $11 = (($10) + -1)|0; + _stbtt__buf_skip($1,$11); + $12 = HEAP32[$2>>2]|0; + $13 = (($12) - ($3))|0; + _stbtt__buf_range($0,$1,$3,$13); + return; +} +function _stbtt__dict_get($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$021 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; + var sp = 0; + sp = STACKTOP; + _stbtt__buf_seek($1,0); + $3 = ((($1)) + 4|0); + $4 = ((($1)) + 8|0); + while(1) { + $5 = HEAP32[$3>>2]|0; + $6 = HEAP32[$4>>2]|0; + $7 = ($5|0)<($6|0); + if (!($7)) { + label = 9; + break; + } + $8 = (_stbtt__buf_peek8($1)|0); + $9 = ($8&255)>(27); + if ($9) { + while(1) { + _stbtt__cff_skip_operand($1); + $10 = (_stbtt__buf_peek8($1)|0); + $11 = ($10&255)>(27); + if (!($11)) { + break; + } + } + } + $12 = HEAP32[$3>>2]|0; + $13 = (_stbtt__buf_get8($1)|0); + $14 = $13&255; + $15 = ($13<<24>>24)==(12); + if ($15) { + $16 = (_stbtt__buf_get8($1)|0); + $17 = $16&255; + $18 = $17 | 256; + $$021 = $18; + } else { + $$021 = $14; + } + $19 = ($$021|0)==($2|0); + if ($19) { + label = 8; + break; + } + } + if ((label|0) == 8) { + $20 = (($12) - ($5))|0; + _stbtt__buf_range($0,$1,$5,$20); + return; + } + else if ((label|0) == 9) { + _stbtt__buf_range($0,$1,0,0); + return; + } +} +function _stbtt__buf_peek8($0) { + $0 = $0|0; + var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 4|0); + $2 = HEAP32[$1>>2]|0; + $3 = ((($0)) + 8|0); + $4 = HEAP32[$3>>2]|0; + $5 = ($2|0)<($4|0); + if (!($5)) { + $$0 = 0; + return ($$0|0); + } + $6 = HEAP32[$0>>2]|0; + $7 = (($6) + ($2)|0); + $8 = HEAP8[$7>>0]|0; + $$0 = $8; + return ($$0|0); +} +function _stbtt__cff_skip_operand($0) { + $0 = $0|0; + var $$mask = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (_stbtt__buf_peek8($0)|0); + $2 = ($1&255)>(27); + if (!($2)) { + ___assert_fail((14915|0),(14285|0),1070,(14924|0)); + // unreachable; + } + $3 = ($1<<24>>24)==(30); + if (!($3)) { + (_stbtt__cff_int($0)|0); + return; + } + _stbtt__buf_skip($0,1); + $4 = ((($0)) + 4|0); + $5 = ((($0)) + 8|0); + while(1) { + $6 = HEAP32[$4>>2]|0; + $7 = HEAP32[$5>>2]|0; + $8 = ($6|0)<($7|0); + if (!($8)) { + label = 8; + break; + } + $9 = (_stbtt__buf_get8($0)|0); + $10 = $9&255; + $11 = $10 & 15; + $12 = ($11|0)==(15); + $$mask = $10 & 240; + $13 = ($$mask|0)==(240); + $or$cond = $12 | $13; + if ($or$cond) { + label = 8; + break; + } + } + if ((label|0) == 8) { + return; + } +} +function _stbtt__GetGlyphShapeTT($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$0348453 = 0, $$0353439 = 0, $$0361449 = 0, $$0363450 = 0, $$0364448 = 0, $$0366447 = 0, $$0372451 = 0, $$0377437 = 0, $$0379436 = 0, $$0381446 = 0, $$0387435 = 0, $$0390434 = 0, $$0393433 = 0, $$0396432 = 0, $$0399431 = 0, $$0401430 = 0, $$0403440 = 0, $$0405443 = 0, $$0407429 = 0, $$0409428 = 0; + var $$1349 = 0, $$1354 = 0, $$1362 = 0, $$1365 = 0, $$1367445 = 0, $$1378 = 0, $$1380 = 0, $$1382 = 0, $$1388 = 0, $$1391 = 0, $$1394 = 0, $$1397 = 0, $$1400 = 0, $$1402 = 0, $$1404 = 0, $$1406 = 0, $$1408 = 0, $$1410 = 0, $$2368442 = 0, $$2374 = 0; + var $$2383444 = 0, $$2389 = 0, $$2392 = 0, $$2395 = 0, $$2398 = 0, $$3356 = 0, $$3369438 = 0, $$3384 = 0, $$4 = 0, $$4352 = 0, $$4370 = 0, $$4385441 = 0, $$5371 = 0, $$5386 = 0, $$5452 = 0, $$6 = 0, $$9 = 0, $$sink = 0, $$sroa$0$0 = 0.0, $$sroa$10$0 = 0.0; + var $$sroa$17$0 = 0.0, $$sroa$24$0 = 0.0, $$sroa$31$0 = 0.0, $$sroa$35$0 = 0.0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0; + var $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0; + var $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0; + var $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0.0, $155 = 0, $156 = 0, $157 = 0.0, $158 = 0, $159 = 0.0, $16 = 0, $160 = 0, $161 = 0, $162 = 0.0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0.0, $168 = 0.0; + var $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0.0, $174 = 0.0, $175 = 0, $176 = 0, $177 = 0.0, $178 = 0.0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0.0, $184 = 0.0, $185 = 0, $186 = 0; + var $187 = 0.0, $188 = 0.0, $189 = 0, $19 = 0, $190 = 0, $191 = 0.0, $192 = 0.0, $193 = 0, $194 = 0, $195 = 0.0, $196 = 0.0, $197 = 0, $198 = 0.0, $199 = 0.0, $20 = 0, $200 = 0.0, $201 = 0.0, $202 = 0.0, $203 = 0.0, $204 = 0; + var $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0.0, $213 = 0.0, $214 = 0.0, $215 = 0.0, $216 = 0.0, $217 = 0.0, $218 = 0.0, $219 = 0, $22 = 0, $220 = 0.0, $221 = 0.0, $222 = 0.0; + var $223 = 0.0, $224 = 0.0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0.0, $231 = 0.0, $232 = 0.0, $233 = 0.0, $234 = 0.0, $235 = 0.0, $236 = 0.0, $237 = 0, $238 = 0.0, $239 = 0.0, $24 = 0, $240 = 0.0; + var $241 = 0.0, $242 = 0.0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0; + var $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0; + var $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0; + var $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0; + var $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0; + var $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond = 0, $exitcond458 = 0, $exitcond459 = 0, $exitcond460 = 0, $sext = 0, $sext412 = 0, $sqrtf = 0.0, $sqrtf411 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $3 = sp; + $4 = ((($0)) + 4|0); + $5 = HEAP32[$4>>2]|0; + $6 = (_stbtt__GetGlyfOffset($0,$1)|0); + HEAP32[$2>>2] = 0; + $7 = ($6|0)<(0); + if ($7) { + $$4 = 0; + STACKTOP = sp;return ($$4|0); + } + $8 = (($5) + ($6)|0); + $9 = (_ttSHORT($8)|0); + $10 = ($9<<16>>16)>(0); + L4: do { + if ($10) { + $11 = $9 << 16 >> 16; + $12 = ((($8)) + 10|0); + $13 = $11 << 1; + $14 = (($12) + ($13)|0); + $15 = (_ttUSHORT($14)|0); + $16 = ((($14)) + -2|0); + $17 = (_ttUSHORT($16)|0); + $18 = $17&65535; + $19 = $13 | 1; + $20 = (($19) + ($18))|0; + $21 = ($20*14)|0; + $22 = (_malloc($21)|0); + $23 = ($22|0)==(0|0); + if ($23) { + $$4 = 0; + STACKTOP = sp;return ($$4|0); + } + $24 = ((($14)) + 2|0); + $25 = $15&65535; + $26 = (($24) + ($25)|0); + $$0361449 = 0;$$0364448 = 0;$$0366447 = 0;$$0381446 = $26; + while(1) { + $27 = ($$0364448<<24>>24)==(0); + if ($27) { + $28 = ((($$0381446)) + 1|0); + $29 = HEAP8[$$0381446>>0]|0; + $30 = $29 & 8; + $31 = ($30<<24>>24)==(0); + if ($31) { + $$1362 = $29;$$1365 = 0;$$1382 = $28; + } else { + $32 = ((($$0381446)) + 2|0); + $33 = HEAP8[$28>>0]|0; + $$1362 = $29;$$1365 = $33;$$1382 = $32; + } + } else { + $34 = (($$0364448) + -1)<<24>>24; + $$1362 = $$0361449;$$1365 = $34;$$1382 = $$0381446; + } + $35 = (($$0366447) + ($13))|0; + $36 = (((($22) + (($35*14)|0)|0)) + 12|0); + HEAP8[$36>>0] = $$1362; + $37 = (($$0366447) + 1)|0; + $exitcond459 = ($$0366447|0)==($18|0); + if ($exitcond459) { + $$0405443 = 0;$$1367445 = 0;$$2383444 = $$1382; + break; + } else { + $$0361449 = $$1362;$$0364448 = $$1365;$$0366447 = $37;$$0381446 = $$1382; + } + } + while(1) { + $38 = (($$1367445) + ($13))|0; + $39 = (((($22) + (($38*14)|0)|0)) + 12|0); + $40 = HEAP8[$39>>0]|0; + $41 = $40&255; + $42 = $41 & 2; + $43 = ($42|0)==(0); + $44 = $41 & 16; + $45 = ($44|0)!=(0); + if ($43) { + if ($45) { + $$1406 = $$0405443;$$3384 = $$2383444; + } else { + $52 = HEAP8[$$2383444>>0]|0; + $53 = $52&255; + $54 = $53 << 8; + $55 = ((($$2383444)) + 1|0); + $56 = HEAP8[$55>>0]|0; + $57 = $56&255; + $58 = $54 | $57; + $sext412 = $58 << 16; + $59 = $sext412 >> 16; + $60 = (($59) + ($$0405443))|0; + $61 = ((($$2383444)) + 2|0); + $$1406 = $60;$$3384 = $61; + } + } else { + $46 = ((($$2383444)) + 1|0); + $47 = HEAP8[$$2383444>>0]|0; + $48 = $47&255; + $49 = (0 - ($48))|0; + $50 = $45 ? $48 : $49; + $51 = (($50) + ($$0405443))|0; + $$1406 = $51;$$3384 = $46; + } + $62 = $$1406&65535; + $63 = (($22) + (($38*14)|0)|0); + HEAP16[$63>>1] = $62; + $64 = (($$1367445) + 1)|0; + $exitcond458 = ($$1367445|0)==($18|0); + if ($exitcond458) { + $$0403440 = 0;$$2368442 = 0;$$4385441 = $$3384; + break; + } else { + $$0405443 = $$1406;$$1367445 = $64;$$2383444 = $$3384; + } + } + while(1) { + $65 = (($$2368442) + ($13))|0; + $66 = (((($22) + (($65*14)|0)|0)) + 12|0); + $67 = HEAP8[$66>>0]|0; + $68 = $67&255; + $69 = $68 & 4; + $70 = ($69|0)==(0); + $71 = $68 & 32; + $72 = ($71|0)!=(0); + if ($70) { + if ($72) { + $$1404 = $$0403440;$$5386 = $$4385441; + } else { + $79 = HEAP8[$$4385441>>0]|0; + $80 = $79&255; + $81 = $80 << 8; + $82 = ((($$4385441)) + 1|0); + $83 = HEAP8[$82>>0]|0; + $84 = $83&255; + $85 = $81 | $84; + $sext = $85 << 16; + $86 = $sext >> 16; + $87 = (($86) + ($$0403440))|0; + $88 = ((($$4385441)) + 2|0); + $$1404 = $87;$$5386 = $88; + } + } else { + $73 = ((($$4385441)) + 1|0); + $74 = HEAP8[$$4385441>>0]|0; + $75 = $74&255; + $76 = (0 - ($75))|0; + $77 = $72 ? $75 : $76; + $78 = (($77) + ($$0403440))|0; + $$1404 = $78;$$5386 = $73; + } + $89 = $$1404&65535; + $90 = (((($22) + (($65*14)|0)|0)) + 2|0); + HEAP16[$90>>1] = $89; + $91 = (($$2368442) + 1)|0; + $exitcond = ($$2368442|0)==($18|0); + if ($exitcond) { + $$0353439 = 0;$$0377437 = 0;$$0379436 = 0;$$0387435 = 0;$$0390434 = 0;$$0393433 = 0;$$0396432 = 0;$$0399431 = 0;$$0401430 = 0;$$0407429 = 0;$$0409428 = 0;$$3369438 = 0; + break; + } else { + $$0403440 = $$1404;$$2368442 = $91;$$4385441 = $$5386; + } + } + while(1) { + $92 = (($$3369438) + ($13))|0; + $93 = (((($22) + (($92*14)|0)|0)) + 12|0); + $94 = HEAP8[$93>>0]|0; + $95 = (($22) + (($92*14)|0)|0); + $96 = HEAP16[$95>>1]|0; + $97 = $96 << 16 >> 16; + $98 = (((($22) + (($92*14)|0)|0)) + 2|0); + $99 = HEAP16[$98>>1]|0; + $100 = $99 << 16 >> 16; + $101 = ($$0379436|0)==($$3369438|0); + $102 = $94 & 1; + $103 = ($102<<24>>24)!=(0); + do { + if ($101) { + $104 = ($$3369438|0)==(0); + if ($104) { + $$1354 = $$0353439; + } else { + $105 = (_stbtt__close_shape($22,$$0353439,$$0409428,$$0407429,$$0396432,$$0393433,$$0390434,$$0387435,$$0401430,$$0399431)|0); + $$1354 = $105; + } + $106 = $103 ^ 1; + $107 = $106&1; + do { + if ($103) { + $$1388 = $$0387435;$$1391 = $$0390434;$$1394 = $100;$$1397 = $97;$$4370 = $$3369438; + } else { + $108 = (($92) + 1)|0; + $109 = (((($22) + (($108*14)|0)|0)) + 12|0); + $110 = HEAP8[$109>>0]|0; + $111 = $110 & 1; + $112 = ($111<<24>>24)==(0); + $113 = (((($22) + (($108*14)|0)|0)) + 2|0); + $114 = HEAP16[$113>>1]|0; + $115 = (($22) + (($108*14)|0)|0); + $116 = HEAP16[$115>>1]|0; + $117 = $114 << 16 >> 16; + $118 = $116 << 16 >> 16; + if ($112) { + $119 = (($118) + ($97))|0; + $120 = $119 >> 1; + $121 = (($117) + ($100))|0; + $122 = $121 >> 1; + $$1388 = $100;$$1391 = $97;$$1394 = $122;$$1397 = $120;$$4370 = $$3369438; + break; + } else { + $123 = (($$3369438) + 1)|0; + $$1388 = $100;$$1391 = $97;$$1394 = $117;$$1397 = $118;$$4370 = $123; + break; + } + } + } while(0); + $124 = (($$1354) + 1)|0; + $125 = (($22) + (($$1354*14)|0)|0); + _stbtt_setvertex($125,1,$$1397,$$1394,0,0); + $126 = $$0377437 << 1; + $127 = (($12) + ($126)|0); + $128 = (_ttUSHORT($127)|0); + $129 = $128&65535; + $130 = (($129) + 1)|0; + $131 = (($$0377437) + 1)|0; + $$1378 = $131;$$1380 = $130;$$1400 = $$0399431;$$1402 = $$0401430;$$1408 = $107;$$1410 = 0;$$2389 = $$1388;$$2392 = $$1391;$$2395 = $$1394;$$2398 = $$1397;$$3356 = $124;$$5371 = $$4370; + } else { + $132 = ($$0409428|0)!=(0); + $133 = (($$0353439) + 1)|0; + $134 = (($22) + (($$0353439*14)|0)|0); + if (!($103)) { + if (!($132)) { + $$1378 = $$0377437;$$1380 = $$0379436;$$1400 = $100;$$1402 = $97;$$1408 = $$0407429;$$1410 = 1;$$2389 = $$0387435;$$2392 = $$0390434;$$2395 = $$0393433;$$2398 = $$0396432;$$3356 = $$0353439;$$5371 = $$3369438; + break; + } + $135 = (($100) + ($$0399431))|0; + $136 = $135 >> 1; + $137 = (($97) + ($$0401430))|0; + $138 = $137 >> 1; + _stbtt_setvertex($134,3,$138,$136,$$0401430,$$0399431); + $$1378 = $$0377437;$$1380 = $$0379436;$$1400 = $100;$$1402 = $97;$$1408 = $$0407429;$$1410 = 1;$$2389 = $$0387435;$$2392 = $$0390434;$$2395 = $$0393433;$$2398 = $$0396432;$$3356 = $133;$$5371 = $$3369438; + break; + } + if ($132) { + _stbtt_setvertex($134,3,$97,$100,$$0401430,$$0399431); + $$1378 = $$0377437;$$1380 = $$0379436;$$1400 = $$0399431;$$1402 = $$0401430;$$1408 = $$0407429;$$1410 = 0;$$2389 = $$0387435;$$2392 = $$0390434;$$2395 = $$0393433;$$2398 = $$0396432;$$3356 = $133;$$5371 = $$3369438; + break; + } else { + _stbtt_setvertex($134,2,$97,$100,0,0); + $$1378 = $$0377437;$$1380 = $$0379436;$$1400 = $$0399431;$$1402 = $$0401430;$$1408 = $$0407429;$$1410 = 0;$$2389 = $$0387435;$$2392 = $$0390434;$$2395 = $$0393433;$$2398 = $$0396432;$$3356 = $133;$$5371 = $$3369438; + break; + } + } + } while(0); + $139 = (($$5371) + 1)|0; + $140 = ($$5371|0)<($18|0); + if ($140) { + $$0353439 = $$3356;$$0377437 = $$1378;$$0379436 = $$1380;$$0387435 = $$2389;$$0390434 = $$2392;$$0393433 = $$2395;$$0396432 = $$2398;$$0399431 = $$1400;$$0401430 = $$1402;$$0407429 = $$1408;$$0409428 = $$1410;$$3369438 = $139; + } else { + break; + } + } + $141 = (_stbtt__close_shape($22,$$3356,$$1410,$$1408,$$2398,$$2395,$$2392,$$2389,$$1402,$$1400)|0); + $$4352 = $22;$$9 = $141; + } else { + $142 = ($9<<16>>16)==(-1); + if (!($142)) { + $264 = ($9<<16>>16)<(0); + if (!($264)) { + $$4352 = 0;$$9 = 0; + break; + } + ___assert_fail((16329|0),(14285|0),1724,(15062|0)); + // unreachable; + } + $143 = ((($8)) + 10|0); + $$0348453 = 0;$$0372451 = $143;$$5452 = 0;$250 = 0;$255 = 0;$260 = 0; + while(1) { + HEAP32[$3>>2] = 0; + $144 = (_ttSHORT($$0372451)|0); + $145 = ((($$0372451)) + 2|0); + $146 = (_ttSHORT($145)|0); + $147 = ((($$0372451)) + 4|0); + $148 = $144&65535; + $149 = $148 & 2; + $150 = ($149|0)==(0); + if ($150) { + label = 42; + break; + } + $151 = $148 & 1; + $152 = ($151|0)==(0); + if ($152) { + $158 = HEAP8[$147>>0]|0; + $159 = (+($158<<24>>24)); + $160 = ((($$0372451)) + 5|0); + $161 = HEAP8[$160>>0]|0; + $162 = (+($161<<24>>24)); + $$sink = 6;$$sroa$31$0 = $159;$$sroa$35$0 = $162; + } else { + $153 = (_ttSHORT($147)|0); + $154 = (+($153<<16>>16)); + $155 = ((($$0372451)) + 6|0); + $156 = (_ttSHORT($155)|0); + $157 = (+($156<<16>>16)); + $$sink = 8;$$sroa$31$0 = $154;$$sroa$35$0 = $157; + } + $163 = (($$0372451) + ($$sink)|0); + $164 = $148 & 8; + $165 = ($164|0)==(0); + do { + if ($165) { + $170 = $148 & 64; + $171 = ($170|0)==(0); + if (!($171)) { + $172 = (_ttSHORT($163)|0); + $173 = (+($172<<16>>16)); + $174 = $173 * 6.103515625E-5; + $175 = ((($163)) + 2|0); + $176 = (_ttSHORT($175)|0); + $177 = (+($176<<16>>16)); + $178 = $177 * 6.103515625E-5; + $179 = ((($163)) + 4|0); + $$2374 = $179;$$sroa$0$0 = $174;$$sroa$10$0 = 0.0;$$sroa$17$0 = 0.0;$$sroa$24$0 = $178; + break; + } + $180 = $148 & 128; + $181 = ($180|0)==(0); + if ($181) { + $$2374 = $163;$$sroa$0$0 = 1.0;$$sroa$10$0 = 0.0;$$sroa$17$0 = 0.0;$$sroa$24$0 = 1.0; + } else { + $182 = (_ttSHORT($163)|0); + $183 = (+($182<<16>>16)); + $184 = $183 * 6.103515625E-5; + $185 = ((($163)) + 2|0); + $186 = (_ttSHORT($185)|0); + $187 = (+($186<<16>>16)); + $188 = $187 * 6.103515625E-5; + $189 = ((($163)) + 4|0); + $190 = (_ttSHORT($189)|0); + $191 = (+($190<<16>>16)); + $192 = $191 * 6.103515625E-5; + $193 = ((($163)) + 6|0); + $194 = (_ttSHORT($193)|0); + $195 = (+($194<<16>>16)); + $196 = $195 * 6.103515625E-5; + $197 = ((($163)) + 8|0); + $$2374 = $197;$$sroa$0$0 = $184;$$sroa$10$0 = $188;$$sroa$17$0 = $192;$$sroa$24$0 = $196; + } + } else { + $166 = (_ttSHORT($163)|0); + $167 = (+($166<<16>>16)); + $168 = $167 * 6.103515625E-5; + $169 = ((($163)) + 2|0); + $$2374 = $169;$$sroa$0$0 = $168;$$sroa$10$0 = 0.0;$$sroa$17$0 = 0.0;$$sroa$24$0 = $168; + } + } while(0); + $198 = $$sroa$0$0 * $$sroa$0$0; + $199 = $$sroa$10$0 * $$sroa$10$0; + $200 = $199 + $198; + $sqrtf = (+Math_sqrt((+$200))); + $201 = $$sroa$17$0 * $$sroa$17$0; + $202 = $$sroa$24$0 * $$sroa$24$0; + $203 = $202 + $201; + $sqrtf411 = (+Math_sqrt((+$203))); + $204 = $146&65535; + $205 = (_stbtt_GetGlyphShape($0,$204,$3)|0); + $206 = ($205|0)>(0); + if ($206) { + $207 = HEAP32[$3>>2]|0; + $$0363450 = 0; + while(1) { + $208 = (($207) + (($$0363450*14)|0)|0); + $209 = HEAP16[$208>>1]|0; + $210 = (((($207) + (($$0363450*14)|0)|0)) + 2|0); + $211 = HEAP16[$210>>1]|0; + $212 = (+($209<<16>>16)); + $213 = $$sroa$0$0 * $212; + $214 = (+($211<<16>>16)); + $215 = $$sroa$17$0 * $214; + $216 = $213 + $215; + $217 = $$sroa$31$0 + $216; + $218 = $sqrtf * $217; + $219 = (~~(($218))); + HEAP16[$208>>1] = $219; + $220 = $$sroa$10$0 * $212; + $221 = $$sroa$24$0 * $214; + $222 = $220 + $221; + $223 = $$sroa$35$0 + $222; + $224 = $sqrtf411 * $223; + $225 = (~~(($224))); + HEAP16[$210>>1] = $225; + $226 = (((($207) + (($$0363450*14)|0)|0)) + 4|0); + $227 = HEAP16[$226>>1]|0; + $228 = (((($207) + (($$0363450*14)|0)|0)) + 6|0); + $229 = HEAP16[$228>>1]|0; + $230 = (+($227<<16>>16)); + $231 = $$sroa$0$0 * $230; + $232 = (+($229<<16>>16)); + $233 = $$sroa$17$0 * $232; + $234 = $231 + $233; + $235 = $$sroa$31$0 + $234; + $236 = $sqrtf * $235; + $237 = (~~(($236))); + HEAP16[$226>>1] = $237; + $238 = $$sroa$10$0 * $230; + $239 = $$sroa$24$0 * $232; + $240 = $238 + $239; + $241 = $$sroa$35$0 + $240; + $242 = $sqrtf411 * $241; + $243 = (~~(($242))); + HEAP16[$228>>1] = $243; + $244 = (($$0363450) + 1)|0; + $exitcond460 = ($244|0)==($205|0); + if ($exitcond460) { + break; + } else { + $$0363450 = $244; + } + } + $245 = (($205) + ($$5452))|0; + $246 = ($245*14)|0; + $247 = (_malloc($246)|0); + $248 = ($247|0)==(0|0); + if ($248) { + break; + } + $253 = ($$5452|0)>(0); + if ($253) { + $254 = ($$5452*14)|0; + _memcpy(($247|0),($255|0),($254|0))|0; + } + $256 = (($247) + (($$5452*14)|0)|0); + $257 = HEAP32[$3>>2]|0; + $258 = ($205*14)|0; + _memcpy(($256|0),($257|0),($258|0))|0; + $259 = ($$0348453|0)==(0|0); + if (!($259)) { + _free($260); + } + $261 = HEAP32[$3>>2]|0; + _free($261); + $$1349 = $247;$$6 = $245;$265 = $247;$266 = $247;$267 = $247; + } else { + $$1349 = $$0348453;$$6 = $$5452;$265 = $250;$266 = $260;$267 = $255; + } + $262 = $148 & 32; + $263 = ($262|0)==(0); + if ($263) { + $$4352 = $$1349;$$9 = $$6; + break L4; + } else { + $$0348453 = $$1349;$$0372451 = $$2374;$$5452 = $$6;$250 = $265;$255 = $267;$260 = $266; + } + } + if ((label|0) == 42) { + ___assert_fail((16329|0),(14285|0),1671,(15062|0)); + // unreachable; + } + $249 = ($$0348453|0)==(0|0); + if (!($249)) { + _free($250); + } + $251 = HEAP32[$3>>2]|0; + $252 = ($251|0)==(0|0); + if (!($252)) { + _free($251); + } + $$4 = 0; + STACKTOP = sp;return ($$4|0); + } + } while(0); + HEAP32[$2>>2] = $$4352; + $$4 = $$9; + STACKTOP = sp;return ($$4|0); +} +function _stbtt__GetGlyphShapeT2($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0; + var stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0); + $3 = sp + 48|0; + $4 = sp; + $5 = ((($3)) + 4|0); + dest=$5; stop=dest+44|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + HEAP32[$3>>2] = 1; + dest=$4; stop=dest+48|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + $6 = (_stbtt__run_charstring($0,$1,$3)|0); + $7 = ($6|0)==(0); + if (!($7)) { + $8 = ((($3)) + 44|0); + $9 = HEAP32[$8>>2]|0; + $10 = ($9*14)|0; + $11 = (_malloc($10)|0); + HEAP32[$2>>2] = $11; + $12 = ((($4)) + 40|0); + HEAP32[$12>>2] = $11; + $13 = (_stbtt__run_charstring($0,$1,$4)|0); + $14 = ($13|0)==(0); + if (!($14)) { + $15 = ((($4)) + 44|0); + $16 = HEAP32[$15>>2]|0; + $17 = HEAP32[$8>>2]|0; + $18 = ($16|0)==($17|0); + if ($18) { + $$0 = $16; + STACKTOP = sp;return ($$0|0); + } else { + ___assert_fail((14989|0),(14285|0),2114,(15039|0)); + // unreachable; + } + } + } + HEAP32[$2>>2] = 0; + $$0 = 0; + STACKTOP = sp;return ($$0|0); +} +function _stbtt__close_shape($0,$1,$2,$3,$4,$5,$6,$7,$8,$9) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + $6 = $6|0; + $7 = $7|0; + $8 = $8|0; + $9 = $9|0; + var $$0 = 0, $$1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, label = 0, sp = 0; + sp = STACKTOP; + $10 = ($3|0)==(0); + $11 = ($2|0)!=(0); + $12 = (($1) + 1)|0; + $13 = (($0) + (($1*14)|0)|0); + if (!($10)) { + if ($11) { + $14 = (($9) + ($7))|0; + $15 = $14 >> 1; + $16 = (($8) + ($6))|0; + $17 = $16 >> 1; + _stbtt_setvertex($13,3,$17,$15,$8,$9); + $$0 = $12; + } else { + $$0 = $1; + } + $18 = (($$0) + 1)|0; + $19 = (($0) + (($$0*14)|0)|0); + _stbtt_setvertex($19,3,$4,$5,$6,$7); + $$1 = $18; + return ($$1|0); + } + if ($11) { + _stbtt_setvertex($13,3,$4,$5,$8,$9); + $$1 = $12; + return ($$1|0); + } else { + _stbtt_setvertex($13,2,$4,$5,0,0); + $$1 = $12; + return ($$1|0); + } + return (0)|0; +} +function _stbtt_InitFont_internal($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0902 = 0, $$1 = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $$pr = 0, $$sink = 0, $10 = 0, $100 = 0, $101 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0; + var $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0; + var $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0; + var $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0; + var $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0; + var $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 192|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(192|0); + $$byval_copy2 = sp + 172|0; + $$byval_copy1 = sp + 160|0; + $2 = sp + 148|0; + $3 = sp + 136|0; + $4 = sp + 124|0; + $5 = sp + 112|0; + $6 = sp + 108|0; + $7 = sp + 104|0; + $8 = sp + 100|0; + $9 = sp + 96|0; + $10 = sp + 84|0; + $11 = sp + 72|0; + $12 = sp + 60|0; + $13 = sp + 48|0; + $14 = sp + 36|0; + $15 = sp + 24|0; + $16 = sp + 12|0; + $17 = sp; + $18 = ((($0)) + 4|0); + HEAP32[$18>>2] = $1; + $19 = ((($0)) + 8|0); + HEAP32[$19>>2] = 0; + $20 = ((($0)) + 48|0); + _stbtt__new_buf($2,0,0); + ;HEAP32[$20>>2]=HEAP32[$2>>2]|0;HEAP32[$20+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$20+8>>2]=HEAP32[$2+8>>2]|0; + $21 = (_stbtt__find_table($1,15162)|0); + $22 = (_stbtt__find_table($1,15167)|0); + $23 = ((($0)) + 16|0); + HEAP32[$23>>2] = $22; + $24 = (_stbtt__find_table($1,15172)|0); + $25 = ((($0)) + 20|0); + HEAP32[$25>>2] = $24; + $26 = (_stbtt__find_table($1,15177)|0); + $27 = ((($0)) + 24|0); + HEAP32[$27>>2] = $26; + $28 = (_stbtt__find_table($1,15182)|0); + $29 = ((($0)) + 28|0); + HEAP32[$29>>2] = $28; + $30 = (_stbtt__find_table($1,15187)|0); + $31 = ((($0)) + 32|0); + HEAP32[$31>>2] = $30; + $32 = (_stbtt__find_table($1,15192)|0); + $33 = ((($0)) + 36|0); + HEAP32[$33>>2] = $32; + $34 = ($21|0)==(0); + if ($34) { + $$1 = 0; + STACKTOP = sp;return ($$1|0); + } + $35 = HEAP32[$25>>2]|0; + $36 = ($35|0)==(0); + if ($36) { + $$1 = 0; + STACKTOP = sp;return ($$1|0); + } + $37 = HEAP32[$29>>2]|0; + $38 = ($37|0)==(0); + if ($38) { + $$1 = 0; + STACKTOP = sp;return ($$1|0); + } + $39 = HEAP32[$31>>2]|0; + $40 = ($39|0)==(0); + if ($40) { + $$1 = 0; + STACKTOP = sp;return ($$1|0); + } + $41 = HEAP32[$27>>2]|0; + $42 = ($41|0)==(0); + L13: do { + if ($42) { + HEAP32[$6>>2] = 2; + HEAP32[$7>>2] = 0; + HEAP32[$8>>2] = 0; + HEAP32[$9>>2] = 0; + $45 = (_stbtt__find_table($1,15197)|0); + $46 = ($45|0)==(0); + do { + if (!($46)) { + $47 = ((($0)) + 96|0); + _stbtt__new_buf($10,0,0); + ;HEAP32[$47>>2]=HEAP32[$10>>2]|0;HEAP32[$47+4>>2]=HEAP32[$10+4>>2]|0;HEAP32[$47+8>>2]=HEAP32[$10+8>>2]|0; + $48 = ((($0)) + 108|0); + _stbtt__new_buf($11,0,0); + ;HEAP32[$48>>2]=HEAP32[$11>>2]|0;HEAP32[$48+4>>2]=HEAP32[$11+4>>2]|0;HEAP32[$48+8>>2]=HEAP32[$11+8>>2]|0; + $49 = (($1) + ($45)|0); + _stbtt__new_buf($12,$49,536870912); + ;HEAP32[$20>>2]=HEAP32[$12>>2]|0;HEAP32[$20+4>>2]=HEAP32[$12+4>>2]|0;HEAP32[$20+8>>2]=HEAP32[$12+8>>2]|0; + ;HEAP32[$3>>2]=HEAP32[$12>>2]|0;HEAP32[$3+4>>2]=HEAP32[$12+4>>2]|0;HEAP32[$3+8>>2]=HEAP32[$12+8>>2]|0; + _stbtt__buf_skip($3,2); + $50 = (_stbtt__buf_get8($3)|0); + $51 = $50&255; + _stbtt__buf_seek($3,$51); + _stbtt__cff_get_index($$byval_copy2,$3); + _stbtt__cff_get_index($5,$3); + ;HEAP32[$$byval_copy2>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$$byval_copy2+8>>2]=HEAP32[$5+8>>2]|0; + _stbtt__cff_index_get($4,$$byval_copy2,0); + _stbtt__cff_get_index($$byval_copy2,$3); + $52 = ((($0)) + 72|0); + _stbtt__cff_get_index($13,$3); + ;HEAP32[$52>>2]=HEAP32[$13>>2]|0;HEAP32[$52+4>>2]=HEAP32[$13+4>>2]|0;HEAP32[$52+8>>2]=HEAP32[$13+8>>2]|0; + _stbtt__dict_get_ints($4,17,1,$7); + _stbtt__dict_get_ints($4,262,1,$6); + _stbtt__dict_get_ints($4,292,1,$8); + _stbtt__dict_get_ints($4,293,1,$9); + $53 = ((($0)) + 84|0); + ;HEAP32[$$byval_copy1>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$3+8>>2]|0; + ;HEAP32[$$byval_copy2>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$4+4>>2]|0;HEAP32[$$byval_copy2+8>>2]=HEAP32[$4+8>>2]|0; + _stbtt__get_subrs($14,$$byval_copy1,$$byval_copy2); + ;HEAP32[$53>>2]=HEAP32[$14>>2]|0;HEAP32[$53+4>>2]=HEAP32[$14+4>>2]|0;HEAP32[$53+8>>2]=HEAP32[$14+8>>2]|0; + $54 = HEAP32[$6>>2]|0; + $55 = ($54|0)!=(2); + $56 = HEAP32[$7>>2]|0; + $57 = ($56|0)==(0); + $or$cond = $55 | $57; + if (!($or$cond)) { + $58 = HEAP32[$8>>2]|0; + $59 = ($58|0)==(0); + if (!($59)) { + $60 = HEAP32[$9>>2]|0; + $61 = ($60|0)==(0); + if ($61) { + break; + } + _stbtt__buf_seek($3,$58); + _stbtt__cff_get_index($15,$3); + ;HEAP32[$47>>2]=HEAP32[$15>>2]|0;HEAP32[$47+4>>2]=HEAP32[$15+4>>2]|0;HEAP32[$47+8>>2]=HEAP32[$15+8>>2]|0; + $62 = HEAP32[$9>>2]|0; + $63 = ((($3)) + 8|0); + $64 = HEAP32[$63>>2]|0; + $65 = (($64) - ($62))|0; + _stbtt__buf_range($16,$3,$62,$65); + ;HEAP32[$48>>2]=HEAP32[$16>>2]|0;HEAP32[$48+4>>2]=HEAP32[$16+4>>2]|0;HEAP32[$48+8>>2]=HEAP32[$16+8>>2]|0; + } + $66 = HEAP32[$7>>2]|0; + _stbtt__buf_seek($3,$66); + $67 = ((($0)) + 60|0); + _stbtt__cff_get_index($17,$3); + ;HEAP32[$67>>2]=HEAP32[$17>>2]|0;HEAP32[$67+4>>2]=HEAP32[$17+4>>2]|0;HEAP32[$67+8>>2]=HEAP32[$17+8>>2]|0; + break L13; + } + } + } while(0); + $$1 = 0; + STACKTOP = sp;return ($$1|0); + } else { + $43 = HEAP32[$23>>2]|0; + $44 = ($43|0)==(0); + if ($44) { + $$1 = 0; + STACKTOP = sp;return ($$1|0); + } + } + } while(0); + $68 = (_stbtt__find_table($1,15202)|0); + $69 = ($68|0)==(0); + if ($69) { + $$sink = 65535; + } else { + $70 = (($1) + ($68)|0); + $71 = ((($70)) + 4|0); + $72 = (_ttUSHORT($71)|0); + $73 = $72&65535; + $$sink = $73; + } + $74 = ((($0)) + 12|0); + HEAP32[$74>>2] = $$sink; + $75 = (($1) + ($21)|0); + $76 = ((($75)) + 2|0); + $77 = (_ttUSHORT($76)|0); + $78 = $77&65535; + $79 = ((($0)) + 40|0); + HEAP32[$79>>2] = 0; + $80 = ($77<<16>>16)==(0); + if ($80) { + $$1 = 0; + STACKTOP = sp;return ($$1|0); + } + $81 = (($21) + 4)|0; + $$0902 = 0; + while(1) { + $82 = $$0902 << 3; + $83 = (($81) + ($82))|0; + $84 = (($1) + ($83)|0); + $85 = (_ttUSHORT($84)|0); + L35: do { + switch ($85<<16>>16) { + case 3: { + $86 = ((($84)) + 2|0); + $87 = (_ttUSHORT($86)|0); + switch ($87<<16>>16) { + case 10: case 1: { + break; + } + default: { + break L35; + } + } + $88 = ((($84)) + 4|0); + $89 = (_ttULONG($88)|0); + $90 = (($89) + ($21))|0; + HEAP32[$79>>2] = $90; + break; + } + case 0: { + $91 = ((($84)) + 4|0); + $92 = (_ttULONG($91)|0); + $93 = (($92) + ($21))|0; + HEAP32[$79>>2] = $93; + break; + } + default: { + } + } + } while(0); + $94 = (($$0902) + 1)|0; + $exitcond = ($94|0)==($78|0); + if ($exitcond) { + break; + } else { + $$0902 = $94; + } + } + $$pr = HEAP32[$79>>2]|0; + $95 = ($$pr|0)==(0); + if ($95) { + $$1 = 0; + STACKTOP = sp;return ($$1|0); + } + $96 = HEAP32[$25>>2]|0; + $97 = (($1) + ($96)|0); + $98 = ((($97)) + 50|0); + $99 = (_ttUSHORT($98)|0); + $100 = $99&65535; + $101 = ((($0)) + 44|0); + HEAP32[$101>>2] = $100; + $$1 = 1; + STACKTOP = sp;return ($$1|0); +} +function _stbtt__find_table($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0312 = 0, $$2 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; + var sp = 0; + sp = STACKTOP; + $2 = ((($0)) + 4|0); + $3 = (_ttUSHORT($2)|0); + $4 = $3&65535; + $5 = ($3<<16>>16)==(0); + if ($5) { + $$2 = 0; + return ($$2|0); + } + $6 = HEAP8[$1>>0]|0; + $7 = $6 << 24 >> 24; + $8 = ((($1)) + 1|0); + $9 = ((($1)) + 2|0); + $10 = ((($1)) + 3|0); + $$0312 = 0; + while(1) { + $11 = $$0312 << 4; + $12 = $11 | 12; + $13 = (($0) + ($12)|0); + $14 = HEAP8[$13>>0]|0; + $15 = $14&255; + $16 = ($15|0)==($7|0); + if ($16) { + $17 = ((($13)) + 1|0); + $18 = HEAP8[$17>>0]|0; + $19 = $18&255; + $20 = HEAP8[$8>>0]|0; + $21 = $20 << 24 >> 24; + $22 = ($19|0)==($21|0); + if ($22) { + $23 = ((($13)) + 2|0); + $24 = HEAP8[$23>>0]|0; + $25 = $24&255; + $26 = HEAP8[$9>>0]|0; + $27 = $26 << 24 >> 24; + $28 = ($25|0)==($27|0); + if ($28) { + $29 = ((($13)) + 3|0); + $30 = HEAP8[$29>>0]|0; + $31 = $30&255; + $32 = HEAP8[$10>>0]|0; + $33 = $32 << 24 >> 24; + $34 = ($31|0)==($33|0); + if ($34) { + break; + } + } + } + } + $37 = (($$0312) + 1)|0; + $38 = ($37|0)<($4|0); + if ($38) { + $$0312 = $37; + } else { + $$2 = 0; + label = 9; + break; + } + } + if ((label|0) == 9) { + return ($$2|0); + } + $35 = ((($13)) + 8|0); + $36 = (_ttULONG($35)|0); + $$2 = $36; + return ($$2|0); +} +function _DrawText($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$ = 0, $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0.0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0); + $$byval_copy2 = sp + 112|0; + $$byval_copy1 = sp + 104|0; + $$byval_copy = sp + 72|0; + $5 = sp + 32|0; + $6 = sp + 64|0; + $7 = sp; + _GetDefaultFont($5); + $8 = HEAP32[$5>>2]|0; + $9 = ($8|0)==(0); + if ($9) { + STACKTOP = sp;return; + } + $10 = (+($1|0)); + HEAPF32[$6>>2] = $10; + $11 = ((($6)) + 4|0); + $12 = (+($2|0)); + HEAPF32[$11>>2] = $12; + $13 = ($3|0)>(10); + $$ = $13 ? $3 : 10; + $14 = (($$>>>0) / 10)&-1; + _GetDefaultFont($7); + $15 = (+($$|0)); + ;HEAP32[$$byval_copy>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$7+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$7+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$7+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$7+16>>2]|0;HEAP32[$$byval_copy+20>>2]=HEAP32[$7+20>>2]|0;HEAP32[$$byval_copy+24>>2]=HEAP32[$7+24>>2]|0;HEAP32[$$byval_copy+28>>2]=HEAP32[$7+28>>2]|0; + ;HEAP32[$$byval_copy1>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$6+4>>2]|0; + ;HEAP8[$$byval_copy2>>0]=HEAP8[$4>>0]|0;HEAP8[$$byval_copy2+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$$byval_copy2+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$$byval_copy2+3>>0]=HEAP8[$4+3>>0]|0; + _DrawTextEx($$byval_copy,$0,$$byval_copy1,$15,$14,$$byval_copy2); + STACKTOP = sp;return; +} +function _DrawTextEx($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = +$3; + $4 = $4|0; + $5 = $5|0; + var $$04954 = 0, $$05153 = 0, $$055 = 0, $$1 = 0, $$150 = 0, $$152 = 0, $$2 = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $$byval_copy3 = 0, $$byval_copy4 = 0, $$byval_copy5 = 0, $$sink = 0, $10 = 0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0.0, $16 = 0; + var $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0.0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0.0, $28 = 0.0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0; + var $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0.0, $45 = 0.0, $46 = 0, $47 = 0, $48 = 0.0, $49 = 0.0, $50 = 0.0, $51 = 0, $52 = 0.0, $53 = 0.0, $54 = 0.0, $55 = 0, $56 = 0; + var $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0.0, $64 = 0.0, $65 = 0, $66 = 0, $67 = 0, $68 = 0.0, $69 = 0.0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0; + var $75 = 0, $76 = 0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0, $80 = 0, $81 = 0, $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0); + $$byval_copy5 = sp + 88|0; + $$byval_copy4 = sp + 80|0; + $$byval_copy3 = sp + 64|0; + $$byval_copy2 = sp + 48|0; + $$byval_copy1 = sp + 24|0; + $6 = sp + 8|0; + $7 = sp; + $8 = (_strlen($1)|0); + $9 = ((($0)) + 20|0); + $10 = HEAP32[$9>>2]|0; + $11 = (+($10|0)); + $12 = $3 / $11; + $13 = ($8|0)>(0); + if (!($13)) { + STACKTOP = sp;return; + } + $14 = ((($0)) + 28|0); + $15 = +HEAPF32[$2>>2]; + $16 = ((($6)) + 4|0); + $17 = ((($2)) + 4|0); + $18 = ((($6)) + 8|0); + $19 = ((($6)) + 12|0); + $20 = ((($7)) + 4|0); + $21 = (+($4|0)); + $$04954 = 0;$$05153 = 0;$$055 = 0; + while(1) { + $22 = (($1) + ($$055)|0); + $23 = HEAP8[$22>>0]|0; + switch ($23<<24>>24) { + case 10: { + $24 = HEAP32[$9>>2]|0; + $25 = (($24|0) / 2)&-1; + $26 = (($25) + ($24))|0; + $27 = (+($26|0)); + $28 = $12 * $27; + $29 = (~~(($28))); + $30 = (($29) + ($$05153))|0; + $$150 = 0;$$152 = $30;$$2 = $$055; + break; + } + case -62: { + $31 = (($$055) + 1)|0; + $32 = (($1) + ($31)|0); + $33 = HEAP8[$32>>0]|0; + $34 = $33&255; + $$1 = $31;$$sink = $34; + label = 9; + break; + } + case -61: { + $35 = (($$055) + 1)|0; + $36 = (($1) + ($35)|0); + $37 = HEAP8[$36>>0]|0; + $38 = $37&255; + $39 = (($38) + 64)|0; + $$1 = $35;$$sink = $39; + label = 9; + break; + } + default: { + $40 = $23 << 24 >> 24; + $$1 = $$055;$$sink = $40; + label = 9; + } + } + do { + if ((label|0) == 9) { + label = 0; + ;HEAP32[$$byval_copy5>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy5+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy5+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy5+16>>2]=HEAP32[$0+16>>2]|0;HEAP32[$$byval_copy5+20>>2]=HEAP32[$0+20>>2]|0;HEAP32[$$byval_copy5+24>>2]=HEAP32[$0+24>>2]|0;HEAP32[$$byval_copy5+28>>2]=HEAP32[$0+28>>2]|0; + $41 = (_GetCharIndex($$byval_copy5,$$sink)|0); + $42 = HEAP32[$14>>2]|0; + $43 = (((($42) + ($41<<5)|0)) + 4|0); + $44 = (+($$04954|0)); + $45 = $44 + $15; + $46 = (((($42) + ($41<<5)|0)) + 20|0); + $47 = HEAP32[$46>>2]|0; + $48 = (+($47|0)); + $49 = $12 * $48; + $50 = $45 + $49; + $51 = (~~(($50))); + HEAP32[$6>>2] = $51; + $52 = +HEAPF32[$17>>2]; + $53 = (+($$05153|0)); + $54 = $53 + $52; + $55 = (((($42) + ($41<<5)|0)) + 24|0); + $56 = HEAP32[$55>>2]|0; + $57 = (+($56|0)); + $58 = $12 * $57; + $59 = $54 + $58; + $60 = (~~(($59))); + HEAP32[$16>>2] = $60; + $61 = (((($42) + ($41<<5)|0)) + 12|0); + $62 = HEAP32[$61>>2]|0; + $63 = (+($62|0)); + $64 = $12 * $63; + $65 = (~~(($64))); + HEAP32[$18>>2] = $65; + $66 = (((($42) + ($41<<5)|0)) + 16|0); + $67 = HEAP32[$66>>2]|0; + $68 = (+($67|0)); + $69 = $12 * $68; + $70 = (~~(($69))); + HEAP32[$19>>2] = $70; + HEAPF32[$7>>2] = 0.0; + HEAPF32[$20>>2] = 0.0; + ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; + ;HEAP32[$$byval_copy2>>2]=HEAP32[$43>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$43+4>>2]|0;HEAP32[$$byval_copy2+8>>2]=HEAP32[$43+8>>2]|0;HEAP32[$$byval_copy2+12>>2]=HEAP32[$43+12>>2]|0; + ;HEAP32[$$byval_copy3>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$6+4>>2]|0;HEAP32[$$byval_copy3+8>>2]=HEAP32[$6+8>>2]|0;HEAP32[$$byval_copy3+12>>2]=HEAP32[$6+12>>2]|0; + ;HEAP32[$$byval_copy4>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$7+4>>2]|0; + ;HEAP8[$$byval_copy5>>0]=HEAP8[$5>>0]|0;HEAP8[$$byval_copy5+1>>0]=HEAP8[$5+1>>0]|0;HEAP8[$$byval_copy5+2>>0]=HEAP8[$5+2>>0]|0;HEAP8[$$byval_copy5+3>>0]=HEAP8[$5+3>>0]|0; + _DrawTexturePro($$byval_copy1,$$byval_copy2,$$byval_copy3,$$byval_copy4,0.0,$$byval_copy5); + $71 = HEAP32[$14>>2]|0; + $72 = (((($71) + ($41<<5)|0)) + 28|0); + $73 = HEAP32[$72>>2]|0; + $74 = ($73|0)==(0); + if ($74) { + $75 = (((($71) + ($41<<5)|0)) + 12|0); + $76 = HEAP32[$75>>2]|0; + $77 = (+($76|0)); + $78 = $12 * $77; + $79 = $21 + $78; + $80 = (~~(($79))); + $81 = (($80) + ($$04954))|0; + $$150 = $81;$$152 = $$05153;$$2 = $$1; + break; + } else { + $82 = (+($73|0)); + $83 = $12 * $82; + $84 = $21 + $83; + $85 = (~~(($84))); + $86 = (($85) + ($$04954))|0; + $$150 = $86;$$152 = $$05153;$$2 = $$1; + break; + } + } + } while(0); + $87 = (($$2) + 1)|0; + $88 = ($87|0)<($8|0); + if ($88) { + $$04954 = $$150;$$05153 = $$152;$$055 = $87; + } else { + break; + } + } + STACKTOP = sp;return; +} +function _FormatText($0,$varargs) { + $0 = $0|0; + $varargs = $varargs|0; + var $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $1 = sp; + HEAP32[$1>>2] = $varargs; + (_vsprintf(29991,$0,$1)|0); + STACKTOP = sp;return (29991|0); +} +function _jar_xm_generate_samples_16bit($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$015 = 0, $10 = 0.0, $11 = 0, $12 = 0, $13 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0.0, $exitcond = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = $2 << 1; + $4 = $2 << 3; + $5 = (_malloc($4)|0); + _jar_xm_generate_samples($0,$5,$2); + $6 = ($1|0)!=(0|0); + $7 = ($3|0)!=(0); + $or$cond = $6 & $7; + if ($or$cond) { + $$015 = 0; + } else { + _free($5); + return; + } + while(1) { + $8 = (($5) + ($$015<<2)|0); + $9 = +HEAPF32[$8>>2]; + $10 = $9 * 32767.0; + $11 = (~~(($10))); + $12 = (($1) + ($$015<<1)|0); + HEAP16[$12>>1] = $11; + $13 = (($$015) + 1)|0; + $exitcond = ($13|0)==($3|0); + if ($exitcond) { + break; + } else { + $$015 = $13; + } + } + _free($5); + return; +} +function _jar_xm_generate_samples($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$013 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; + var $8 = 0, $9 = 0, $exitcond = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ($0|0)!=(0|0); + $4 = ($1|0)!=(0|0); + $or$cond = $3 & $4; + if (!($or$cond)) { + return; + } + $5 = ((($0)) + 360|0); + $6 = $5; + $7 = $6; + $8 = HEAP32[$7>>2]|0; + $9 = (($6) + 4)|0; + $10 = $9; + $11 = HEAP32[$10>>2]|0; + $12 = (_i64Add(($8|0),($11|0),($2|0),0)|0); + $13 = tempRet0; + $14 = $5; + $15 = $14; + HEAP32[$15>>2] = $12; + $16 = (($14) + 4)|0; + $17 = $16; + HEAP32[$17>>2] = $13; + $18 = ($2|0)==(0); + if ($18) { + return; + } else { + $$013 = 0; + } + while(1) { + $19 = $$013 << 1; + $20 = (($1) + ($19<<2)|0); + $21 = $19 | 1; + $22 = (($1) + ($21<<2)|0); + _jar_xm_sample($0,$20,$22); + $23 = (($$013) + 1)|0; + $exitcond = ($23|0)==($2|0); + if ($exitcond) { + break; + } else { + $$013 = $23; + } + } + return; +} +function _jar_xm_sample($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$072 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0.0, $24 = 0, $25 = 0.0, $26 = 0.0, $27 = 0.0, $28 = 0.0; + var $29 = 0.0, $3 = 0, $30 = 0.0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0.0, $40 = 0, $41 = 0.0, $42 = 0, $43 = 0.0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0.0, $53 = 0.0, $54 = 0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0.0, $60 = 0.0, $61 = 0.0, $62 = 0.0, $63 = 0.0, $64 = 0.0; + var $65 = 0.0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0.0, $70 = 0.0, $71 = 0, $72 = 0.0, $73 = 0, $74 = 0.0, $75 = 0.0, $76 = 0, $77 = 0, $78 = 0.0, $79 = 0.0, $8 = 0, $80 = 0, $81 = 0, $82 = 0.0; + var $83 = 0, $84 = 0.0, $85 = 0, $86 = 0.0, $87 = 0.0, $88 = 0, $89 = 0, $9 = 0, $90 = 0.0, $91 = 0.0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ((($0)) + 352|0); + $4 = +HEAPF32[$3>>2]; + $5 = !($4 <= 0.0); + if (!($5)) { + _jar_xm_tick($0); + } + $6 = +HEAPF32[$3>>2]; + $7 = $6 + -1.0; + HEAPF32[$3>>2] = $7; + HEAPF32[$1>>2] = 0.0; + HEAPF32[$2>>2] = 0.0; + $8 = ((($0)) + 385|0); + $9 = HEAP8[$8>>0]|0; + $10 = ($9<<24>>24)==(0); + if (!($10)) { + $11 = ((($0)) + 384|0); + $12 = HEAP8[$11>>0]|0; + $13 = ($12&255)<($9&255); + if (!($13)) { + return; + } + } + $14 = ((($0)) + 50|0); + $15 = HEAP16[$14>>1]|0; + $16 = ($15<<16>>16)==(0); + if (!($16)) { + $17 = ((($0)) + 388|0); + $18 = ((($0)) + 340|0); + $19 = ((($0)) + 344|0); + $20 = ((($0)) + 344|0); + $21 = ((($0)) + 340|0); + $$072 = 0;$33 = 0; + while(1) { + $31 = HEAP32[$17>>2]|0; + $32 = (($31) + (($33*304)|0)|0); + $34 = (((($31) + (($33*304)|0)|0)) + 8|0); + $35 = HEAP32[$34>>2]|0; + $36 = ($35|0)==(0|0); + do { + if (!($36)) { + $37 = (((($31) + (($33*304)|0)|0)) + 12|0); + $38 = HEAP32[$37>>2]|0; + $39 = ($38|0)==(0|0); + if (!($39)) { + $40 = (((($31) + (($33*304)|0)|0)) + 20|0); + $41 = +HEAPF32[$40>>2]; + $42 = $41 < 0.0; + if (!($42)) { + $43 = (+_jar_xm_next_of_sample($32)); + $44 = (((($31) + (($33*304)|0)|0)) + 152|0); + $45 = HEAP32[$44>>2]|0; + $46 = ($45|0)==(0); + if ($46) { + $47 = HEAP32[$34>>2]|0; + $48 = ((($47)) + 272|0); + $49 = HEAP32[$48>>2]|0; + $50 = ($49|0)==(0); + if ($50) { + $51 = (((($31) + (($33*304)|0)|0)) + 300|0); + $52 = +HEAPF32[$51>>2]; + $53 = $43 * $52; + $54 = (((($31) + (($33*304)|0)|0)) + 296|0); + $55 = +HEAPF32[$54>>2]; + $56 = 1.0 - $55; + $57 = $53 * $56; + $58 = +HEAPF32[$1>>2]; + $59 = $58 + $57; + HEAPF32[$1>>2] = $59; + $60 = +HEAPF32[$51>>2]; + $61 = $43 * $60; + $62 = +HEAPF32[$54>>2]; + $63 = $61 * $62; + $64 = +HEAPF32[$2>>2]; + $65 = $64 + $63; + HEAPF32[$2>>2] = $65; + } + } + $66 = (((($31) + (($33*304)|0)|0)) + 164|0); + $67 = HEAP32[$66>>2]|0; + $68 = (($67) + 1)|0; + HEAP32[$66>>2] = $68; + $69 = (((($31) + (($33*304)|0)|0)) + 300|0); + $70 = +HEAPF32[$69>>2]; + $71 = (((($31) + (($33*304)|0)|0)) + 160|0); + $72 = +HEAPF32[$71>>2]; + $73 = $70 > $72; + if ($73) { + $74 = +HEAPF32[$18>>2]; + $75 = $70 - $74; + HEAPF32[$69>>2] = $75; + $76 = $75 < $72; + if ($76) { + HEAPF32[$69>>2] = $72; + } + } else { + $77 = $70 < $72; + if ($77) { + $78 = +HEAPF32[$21>>2]; + $79 = $70 + $78; + HEAPF32[$69>>2] = $79; + $80 = $79 > $72; + if ($80) { + HEAPF32[$69>>2] = $72; + } + } + } + $81 = (((($31) + (($33*304)|0)|0)) + 296|0); + $82 = +HEAPF32[$81>>2]; + $83 = (((($31) + (($33*304)|0)|0)) + 156|0); + $84 = +HEAPF32[$83>>2]; + $85 = $82 > $84; + if ($85) { + $86 = +HEAPF32[$19>>2]; + $87 = $82 - $86; + HEAPF32[$81>>2] = $87; + $88 = $87 < $84; + if (!($88)) { + break; + } + HEAPF32[$81>>2] = $84; + break; + } + $89 = $82 < $84; + if ($89) { + $90 = +HEAPF32[$20>>2]; + $91 = $82 + $90; + HEAPF32[$81>>2] = $91; + $92 = $91 > $84; + if ($92) { + HEAPF32[$81>>2] = $84; + } + } + } + } + } + } while(0); + $93 = (($$072) + 1)<<24>>24; + $94 = $93&255; + $95 = HEAP16[$14>>1]|0; + $96 = $95&65535; + $97 = ($94>>>0)<($96>>>0); + if ($97) { + $$072 = $93;$33 = $94; + } else { + break; + } + } + } + $22 = ((($0)) + 332|0); + $23 = +HEAPF32[$22>>2]; + $24 = ((($0)) + 336|0); + $25 = +HEAPF32[$24>>2]; + $26 = $23 * $25; + $27 = +HEAPF32[$1>>2]; + $28 = $27 * $26; + HEAPF32[$1>>2] = $28; + $29 = +HEAPF32[$2>>2]; + $30 = $26 * $29; + HEAPF32[$2>>2] = $30; + return; +} +function _jar_xm_tick($0) { + $0 = $0|0; + var $$0 = 0.0, $$0195202 = 0, $$0196 = 0.0, $$1 = 0.0, $$not = 0, $$pr = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0; + var $111 = 0.0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0.0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0; + var $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0; + var $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0; + var $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0.0, $181 = 0, $182 = 0.0, $183 = 0.0; + var $184 = 0.0, $185 = 0, $186 = 0.0, $187 = 0.0, $188 = 0.0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0; + var $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0.0, $212 = 0, $213 = 0, $214 = 0.0, $215 = 0.0, $216 = 0, $217 = 0.0, $218 = 0.0, $219 = 0; + var $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0.0; + var $238 = 0, $239 = 0.0, $24 = 0, $240 = 0.0, $241 = 0.0, $242 = 0.0, $243 = 0.0, $244 = 0.0, $245 = 0.0, $246 = 0.0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0.0, $252 = 0, $253 = 0.0, $254 = 0.0, $255 = 0; + var $256 = 0, $257 = 0, $258 = 0.0, $259 = 0, $26 = 0, $260 = 0.0, $261 = 0.0, $262 = 0.0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0.0, $273 = 0; + var $274 = 0, $275 = 0.0, $276 = 0.0, $277 = 0.0, $278 = 0, $279 = 0.0, $28 = 0, $280 = 0.0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0; + var $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0; + var $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0; + var $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0; + var $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, $storemerge = 0.0, $storemerge198 = 0.0, $trunc = 0, $trunc$clear = 0, $trunc199 = 0, $trunc199$clear = 0, $trunc200 = 0, $trunc200$clear = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 350|0); + $2 = HEAP16[$1>>1]|0; + $3 = ($2<<16>>16)==(0); + if ($3) { + _jar_xm_row($0); + } + $4 = ((($0)) + 50|0); + $5 = HEAP16[$4>>1]|0; + $6 = ($5<<16>>16)==(0); + L4: do { + if (!($6)) { + $7 = ((($0)) + 388|0); + $8 = ((($0)) + 328|0); + $9 = ((($0)) + 332|0); + $$0195202 = 0;$23 = 0; + while(1) { + $21 = HEAP32[$7>>2]|0; + $22 = (($21) + (($23*304)|0)|0); + _jar_xm_envelopes($22); + _jar_xm_autovibrato($0,$22); + $24 = (((($21) + (($23*304)|0)|0)) + 76|0); + $25 = HEAP32[$24>>2]|0; + $26 = ($25|0)==(0); + do { + if (!($26)) { + $27 = (((($21) + (($23*304)|0)|0)) + 16|0); + $28 = HEAP32[$27>>2]|0; + $29 = ((($28)) + 3|0); + $30 = HEAP8[$29>>0]|0; + $31 = ($30<<24>>24)==(0); + if ($31) { + $32 = ((($28)) + 4|0); + $33 = HEAP8[$32>>0]|0; + $34 = ($33<<24>>24)==(0); + if (!($34)) { + break; + } + } + HEAP32[$24>>2] = 0; + $35 = (((($21) + (($23*304)|0)|0)) + 80|0); + HEAP8[$35>>0] = 0; + _jar_xm_update_frequency($0,$22); + } + } while(0); + $36 = (((($21) + (($23*304)|0)|0)) + 100|0); + $37 = HEAP32[$36>>2]|0; + $38 = ($37|0)==(0); + if (!($38)) { + $39 = (((($21) + (($23*304)|0)|0)) + 16|0); + $40 = HEAP32[$39>>2]|0; + $41 = ((($40)) + 3|0); + $42 = HEAP8[$41>>0]|0; + $43 = ($42<<24>>24)==(4); + if (!($43)) { + $44 = ((($40)) + 4|0); + $45 = HEAP8[$44>>0]|0; + $46 = ($45<<24>>24)==(6); + if (!($46)) { + $47 = ((($40)) + 2|0); + $48 = HEAP8[$47>>0]|0; + $49 = $48 & -16; + $50 = ($49<<24>>24)==(-80); + if (!($50)) { + $51 = (((($21) + (($23*304)|0)|0)) + 116|0); + HEAP32[$36>>2] = 0; + HEAPF32[$51>>2] = 0.0; + _jar_xm_update_frequency($0,$22); + } + } + } + } + $52 = (((($21) + (($23*304)|0)|0)) + 16|0); + $53 = HEAP32[$52>>2]|0; + $54 = ((($53)) + 2|0); + $55 = HEAP8[$54>>0]|0; + $56 = $55&255; + $trunc = ($55&255) >>> 4; + $trunc$clear = $trunc & 15; + switch ($trunc$clear<<24>>24) { + case 6: { + $57 = HEAP16[$1>>1]|0; + $58 = ($57<<16>>16)==(0); + if (!($58)) { + $59 = $56 & 15; + $60 = $59&255; + _jar_xm_volume_slide($22,$60); + } + break; + } + case 7: { + $61 = HEAP16[$1>>1]|0; + $62 = ($61<<16>>16)==(0); + if (!($62)) { + $63 = $56 << 4; + $64 = $63&255; + _jar_xm_volume_slide($22,$64); + } + break; + } + case 11: { + $65 = HEAP16[$1>>1]|0; + $66 = ($65<<16>>16)==(0); + if (!($66)) { + HEAP32[$36>>2] = 0; + $67 = (((($21) + (($23*304)|0)|0)) + 112|0); + $68 = HEAP8[$67>>0]|0; + $69 = (((($21) + (($23*304)|0)|0)) + 114|0); + $70 = HEAP16[$69>>1]|0; + $71 = (($70) + 1)<<16>>16; + HEAP16[$69>>1] = $71; + _jar_xm_vibrato($0,$22,$68,$70); + } + break; + } + case 13: { + $72 = HEAP16[$1>>1]|0; + $73 = ($72<<16>>16)==(0); + if (!($73)) { + $74 = $56 & 15; + $75 = $74&255; + _jar_xm_panning_slide($22,$75); + } + break; + } + case 14: { + $76 = HEAP16[$1>>1]|0; + $77 = ($76<<16>>16)==(0); + if (!($77)) { + $78 = $56 << 4; + $79 = $78&255; + _jar_xm_panning_slide($22,$79); + } + break; + } + case 15: { + $80 = HEAP16[$1>>1]|0; + $81 = ($80<<16>>16)==(0); + if (!($81)) { + _jar_xm_tone_portamento($0,$22); + } + break; + } + default: { + } + } + $82 = HEAP32[$52>>2]|0; + $83 = ((($82)) + 3|0); + $84 = HEAP8[$83>>0]|0; + L34: do { + switch ($84<<24>>24) { + case 0: { + $85 = ((($82)) + 4|0); + $86 = HEAP8[$85>>0]|0; + $87 = ($86<<24>>24)==(0); + if (!($87)) { + $88 = HEAP16[$8>>1]|0; + $89 = (($88&65535) % 3)&-1; + $90 = $89&65535; + $trunc200 = $89&255; + $trunc200$clear = $trunc200 & 3; + switch ($trunc200$clear<<24>>24) { + case 2: { + $91 = HEAP16[$1>>1]|0; + $92 = ($91<<16>>16)==(1); + if ($92) { + HEAP32[$24>>2] = 1; + $93 = ($86&255) >>> 4; + $94 = (((($21) + (($23*304)|0)|0)) + 80|0); + HEAP8[$94>>0] = $93; + _jar_xm_update_frequency($0,$22); + break L34; + } else { + $96 = $91; + label = 34; + } + break; + } + case 1: { + $$pr = HEAP16[$1>>1]|0; + $96 = $$pr; + label = 34; + break; + } + case 0: { + break; + } + default: { + break L34; + } + } + if ((label|0) == 34) { + label = 0; + $95 = ($96<<16>>16)==(0); + if ($95) { + HEAP32[$24>>2] = 0; + $97 = (((($21) + (($23*304)|0)|0)) + 80|0); + HEAP8[$97>>0] = 0; + _jar_xm_update_frequency($0,$22); + break L34; + } + } + $98 = HEAP32[$52>>2]|0; + $99 = ((($98)) + 4|0); + $100 = HEAP8[$99>>0]|0; + $101 = HEAP16[$1>>1]|0; + $102 = $101&65535; + $103 = (($102) - ($90))|0; + $104 = $103&65535; + _jar_xm_arpeggio($0,$22,$100,$104); + } + break; + } + case 1: { + $105 = HEAP16[$1>>1]|0; + $106 = ($105<<16>>16)==(0); + if (!($106)) { + $107 = (((($21) + (($23*304)|0)|0)) + 85|0); + $108 = HEAP8[$107>>0]|0; + $109 = $108&255; + $110 = (0 - ($109))|0; + $111 = (+($110|0)); + _jar_xm_pitch_slide($0,$22,$111); + } + break; + } + case 2: { + $112 = HEAP16[$1>>1]|0; + $113 = ($112<<16>>16)==(0); + if (!($113)) { + $114 = (((($21) + (($23*304)|0)|0)) + 86|0); + $115 = HEAP8[$114>>0]|0; + $116 = (+($115&255)); + _jar_xm_pitch_slide($0,$22,$116); + } + break; + } + case 3: { + $117 = HEAP16[$1>>1]|0; + $118 = ($117<<16>>16)==(0); + if (!($118)) { + _jar_xm_tone_portamento($0,$22); + } + break; + } + case 4: { + $119 = HEAP16[$1>>1]|0; + $120 = ($119<<16>>16)==(0); + if (!($120)) { + HEAP32[$36>>2] = 1; + $121 = (((($21) + (($23*304)|0)|0)) + 112|0); + $122 = HEAP8[$121>>0]|0; + $123 = (((($21) + (($23*304)|0)|0)) + 114|0); + $124 = HEAP16[$123>>1]|0; + $125 = (($124) + 1)<<16>>16; + HEAP16[$123>>1] = $125; + _jar_xm_vibrato($0,$22,$122,$124); + } + break; + } + case 5: { + $126 = HEAP16[$1>>1]|0; + $127 = ($126<<16>>16)==(0); + if (!($127)) { + $128 = (((($21) + (($23*304)|0)|0)) + 81|0); + _jar_xm_tone_portamento($0,$22); + $129 = HEAP8[$128>>0]|0; + _jar_xm_volume_slide($22,$129); + } + break; + } + case 6: { + $130 = HEAP16[$1>>1]|0; + $131 = ($130<<16>>16)==(0); + if (!($131)) { + HEAP32[$36>>2] = 1; + $132 = (((($21) + (($23*304)|0)|0)) + 112|0); + $133 = HEAP8[$132>>0]|0; + $134 = (((($21) + (($23*304)|0)|0)) + 114|0); + $135 = HEAP16[$134>>1]|0; + $136 = (($135) + 1)<<16>>16; + HEAP16[$134>>1] = $136; + _jar_xm_vibrato($0,$22,$133,$135); + $137 = (((($21) + (($23*304)|0)|0)) + 81|0); + $138 = HEAP8[$137>>0]|0; + _jar_xm_volume_slide($22,$138); + } + break; + } + case 7: { + $139 = HEAP16[$1>>1]|0; + $140 = ($139<<16>>16)==(0); + if (!($140)) { + $141 = (((($21) + (($23*304)|0)|0)) + 128|0); + $142 = HEAP8[$141>>0]|0; + $143 = (((($21) + (($23*304)|0)|0)) + 129|0); + $144 = HEAP8[$143>>0]|0; + $145 = (($144) + 1)<<24>>24; + HEAP8[$143>>0] = $145; + $146 = $144&255; + _jar_xm_tremolo($22,$142,$146); + } + break; + } + case 10: { + $147 = HEAP16[$1>>1]|0; + $148 = ($147<<16>>16)==(0); + if (!($148)) { + $149 = (((($21) + (($23*304)|0)|0)) + 81|0); + $150 = HEAP8[$149>>0]|0; + _jar_xm_volume_slide($22,$150); + } + break; + } + case 14: { + $151 = ((($82)) + 4|0); + $152 = HEAP8[$151>>0]|0; + $153 = $152&255; + $trunc199 = ($152&255) >>> 4; + $trunc199$clear = $trunc199 & 15; + switch ($trunc199$clear<<24>>24) { + case 9: { + $154 = HEAP16[$1>>1]|0; + $155 = $154&65535; + $156 = ($154<<16>>16)==(0); + if ($156) { + break L34; + } + $157 = $153 & 15; + $158 = ($157|0)==(0); + if ($158) { + break L34; + } + $159 = (($155>>>0) % ($157>>>0))&-1; + $160 = ($159|0)==(0); + if (!($160)) { + break L34; + } + _jar_xm_trigger_note($0,$22,0); + _jar_xm_envelopes($22); + break L34; + break; + } + case 12: { + $161 = $153 & 15; + $162 = HEAP16[$1>>1]|0; + $163 = $162&65535; + $164 = ($161|0)==($163|0); + if (!($164)) { + break L34; + } + _jar_xm_cut_note($22); + break L34; + break; + } + case 13: { + $165 = (((($21) + (($23*304)|0)|0)) + 97|0); + $166 = HEAP8[$165>>0]|0; + $167 = $166&255; + $168 = HEAP16[$1>>1]|0; + $169 = $168&65535; + $170 = ($167|0)==($169|0); + if (!($170)) { + break L34; + } + _jar_xm_handle_note_and_instrument($0,$22,$82); + _jar_xm_envelopes($22); + break L34; + break; + } + default: { + break L34; + } + } + break; + } + case 17: { + $171 = HEAP16[$1>>1]|0; + $172 = ($171<<16>>16)==(0); + if (!($172)) { + $173 = (((($21) + (($23*304)|0)|0)) + 83|0); + $174 = HEAP8[$173>>0]|0; + $175 = $174&255; + $176 = $175 & 240; + $177 = ($176|0)!=(0); + $$not = $177 ^ 1; + $178 = $175 & 15; + $179 = ($178|0)==(0); + $or$cond = $179 | $$not; + if ($or$cond) { + $180 = +HEAPF32[$9>>2]; + if ($177) { + $181 = $175 >>> 4; + $182 = (+($181|0)); + $183 = $182 * 0.015625; + $184 = $183 + $180; + $185 = $184 > 1.0; + $storemerge198 = $185 ? 1.0 : $184; + HEAPF32[$9>>2] = $storemerge198; + break L34; + } else { + $186 = (+($178|0)); + $187 = $186 * 0.015625; + $188 = $180 - $187; + $189 = $188 < 0.0; + $storemerge = $189 ? 0.0 : $188; + HEAPF32[$9>>2] = $storemerge; + break L34; + } + } + } + break; + } + case 20: { + $190 = HEAP16[$1>>1]|0; + $191 = $190&65535; + $192 = ((($82)) + 4|0); + $193 = HEAP8[$192>>0]|0; + $194 = $193&255; + $195 = ($191|0)==($194|0); + if ($195) { + _jar_xm_key_off($22); + } + break; + } + case 25: { + $196 = HEAP16[$1>>1]|0; + $197 = ($196<<16>>16)==(0); + if (!($197)) { + $198 = (((($21) + (($23*304)|0)|0)) + 84|0); + $199 = HEAP8[$198>>0]|0; + _jar_xm_panning_slide($22,$199); + } + break; + } + case 27: { + $200 = HEAP16[$1>>1]|0; + $201 = $200&65535; + $202 = ($200<<16>>16)==(0); + if (!($202)) { + $203 = (((($21) + (($23*304)|0)|0)) + 96|0); + $204 = HEAP8[$203>>0]|0; + $205 = $204&255; + $206 = $205 & 15; + $207 = ($206|0)==(0); + if (!($207)) { + $208 = (($201>>>0) % ($206>>>0))&-1; + $209 = ($208|0)==(0); + if ($209) { + $210 = (((($21) + (($23*304)|0)|0)) + 40|0); + $211 = +HEAPF32[$210>>2]; + $212 = $205 >>> 4; + $213 = (3620 + ($212<<2)|0); + $214 = +HEAPF32[$213>>2]; + $215 = $211 * $214; + $216 = (3684 + ($212<<2)|0); + $217 = +HEAPF32[$216>>2]; + $218 = $215 + $217; + $219 = $218 > 1.0; + if ($219) { + $$0196 = 1.0; + } else { + $220 = $218 < 0.0; + if ($220) { + $$0196 = 0.0; + } else { + $$0196 = $218; + } + } + _jar_xm_trigger_note($0,$22,0); + HEAPF32[$210>>2] = $$0196; + } + } + } + break; + } + case 29: { + $221 = HEAP16[$1>>1]|0; + $222 = ($221<<16>>16)==(0); + if (!($222)) { + $223 = $221&65535; + $224 = (($223) + -1)|0; + $225 = (((($21) + (($23*304)|0)|0)) + 136|0); + $226 = HEAP8[$225>>0]|0; + $227 = $226&255; + $228 = $227 >>> 4; + $229 = $227 & 15; + $230 = (($229) + 2)|0; + $231 = (($230) + ($228))|0; + $232 = (($224|0) % ($231|0))&-1; + $233 = ($232|0)>($228|0); + $234 = $233&1; + $235 = (((($21) + (($23*304)|0)|0)) + 140|0); + HEAP32[$235>>2] = $234; + } + break; + } + default: { + } + } + } while(0); + $236 = (((($21) + (($23*304)|0)|0)) + 44|0); + $237 = +HEAPF32[$236>>2]; + $238 = (((($21) + (($23*304)|0)|0)) + 64|0); + $239 = +HEAPF32[$238>>2]; + $240 = $239 + -0.5; + $241 = $237 + -0.5; + $242 = (+Math_abs((+$241))); + $243 = 0.5 - $242; + $244 = $240 * $243; + $245 = $244 * 2.0; + $246 = $237 + $245; + $247 = (((($21) + (($23*304)|0)|0)) + 140|0); + $248 = HEAP32[$247>>2]|0; + $249 = ($248|0)==(0); + if ($249) { + $250 = (((($21) + (($23*304)|0)|0)) + 40|0); + $251 = +HEAPF32[$250>>2]; + $252 = (((($21) + (($23*304)|0)|0)) + 132|0); + $253 = +HEAPF32[$252>>2]; + $254 = $251 + $253; + $255 = $254 > 1.0; + if ($255) { + $$0 = 1.0; + } else { + $256 = $254 < 0.0; + if ($256) { + $$0 = 0.0; + } else { + $$0 = $254; + } + } + $257 = (((($21) + (($23*304)|0)|0)) + 56|0); + $258 = +HEAPF32[$257>>2]; + $259 = (((($21) + (($23*304)|0)|0)) + 60|0); + $260 = +HEAPF32[$259>>2]; + $261 = $258 * $260; + $262 = $$0 * $261; + $$1 = $262; + } else { + $$1 = 0.0; + } + $263 = (((($21) + (($23*304)|0)|0)) + 156|0); + HEAPF32[$263>>2] = $246; + $264 = (((($21) + (($23*304)|0)|0)) + 160|0); + HEAPF32[$264>>2] = $$1; + $265 = (($$0195202) + 1)<<24>>24; + $266 = $265&255; + $267 = HEAP16[$4>>1]|0; + $268 = $267&65535; + $269 = ($266>>>0)<($268>>>0); + if ($269) { + $$0195202 = $265;$23 = $266; + } else { + break L4; + } + } + } + } while(0); + $10 = HEAP16[$1>>1]|0; + $11 = (($10) + 1)<<16>>16; + HEAP16[$1>>1] = $11; + $12 = $11&65535; + $13 = ((($0)) + 328|0); + $14 = HEAP16[$13>>1]|0; + $15 = $14&65535; + $16 = ((($0)) + 378|0); + $17 = HEAP16[$16>>1]|0; + $18 = $17&65535; + $19 = (($18) + ($15))|0; + $20 = ($12>>>0)<($19>>>0); + if ($20) { + $270 = ((($0)) + 324|0); + $271 = HEAP32[$270>>2]|0; + $272 = (+($271>>>0)); + $273 = ((($0)) + 330|0); + $274 = HEAP16[$273>>1]|0; + $275 = (+($274&65535)); + $276 = $275 * 0.40000000596046448; + $277 = $272 / $276; + $278 = ((($0)) + 352|0); + $279 = +HEAPF32[$278>>2]; + $280 = $279 + $277; + HEAPF32[$278>>2] = $280; + return; + } + HEAP16[$1>>1] = 0; + HEAP16[$16>>1] = 0; + $270 = ((($0)) + 324|0); + $271 = HEAP32[$270>>2]|0; + $272 = (+($271>>>0)); + $273 = ((($0)) + 330|0); + $274 = HEAP16[$273>>1]|0; + $275 = (+($274&65535)); + $276 = $275 * 0.40000000596046448; + $277 = $272 / $276; + $278 = ((($0)) + 352|0); + $279 = +HEAPF32[$278>>2]; + $280 = $279 + $277; + HEAPF32[$278>>2] = $280; + return; +} +function _jar_xm_next_of_sample($0) { + $0 = $0|0; + var $$0100 = 0.0, $$0101 = 0.0, $$1 = 0.0, $$pr = 0.0, $$sink = 0.0, $$sink$p = 0.0, $$sink103 = 0, $$sink105 = 0, $$sink2 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0; + var $109 = 0, $11 = 0, $110 = 0.0, $111 = 0.0, $112 = 0, $113 = 0, $114 = 0, $115 = 0.0, $116 = 0, $117 = 0, $118 = 0.0, $119 = 0.0, $12 = 0, $120 = 0, $121 = 0.0, $122 = 0.0, $123 = 0.0, $124 = 0.0, $125 = 0, $126 = 0; + var $127 = 0, $128 = 0.0, $129 = 0.0, $13 = 0.0, $130 = 0, $131 = 0.0, $132 = 0.0, $133 = 0.0, $134 = 0.0, $135 = 0.0, $14 = 0.0, $15 = 0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $2 = 0, $20 = 0, $21 = 0, $22 = 0; + var $23 = 0, $24 = 0, $25 = 0.0, $26 = 0.0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0.0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0.0, $36 = 0, $37 = 0.0, $38 = 0.0, $39 = 0.0, $4 = 0, $40 = 0; + var $41 = 0, $42 = 0, $43 = 0.0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0.0, $53 = 0, $54 = 0.0, $55 = 0.0, $56 = 0.0, $57 = 0, $58 = 0, $59 = 0; + var $6 = 0, $60 = 0.0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0.0, $66 = 0, $67 = 0, $68 = 0, $69 = 0.0, $7 = 0, $70 = 0.0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0.0, $77 = 0.0; + var $78 = 0, $79 = 0, $8 = 0.0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0.0, $86 = 0.0, $87 = 0, $88 = 0, $89 = 0.0, $9 = 0, $90 = 0.0, $91 = 0.0, $92 = 0.0, $93 = 0, $94 = 0, $95 = 0.0; + var $96 = 0, $97 = 0, $98 = 0.0, $99 = 0.0, $storemerge106 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 8|0); + $2 = HEAP32[$1>>2]|0; + $3 = ($2|0)==(0|0); + if (!($3)) { + $4 = ((($0)) + 12|0); + $5 = HEAP32[$4>>2]|0; + $6 = ($5|0)==(0|0); + if (!($6)) { + $7 = ((($0)) + 20|0); + $8 = +HEAPF32[$7>>2]; + $9 = $8 < 0.0; + if (!($9)) { + $20 = ((($5)) + 24|0); + $21 = HEAP32[$20>>2]|0; + $22 = ($21|0)==(0); + if ($22) { + $$1 = 0.0; + return (+$$1); + } + $23 = (~~(($8))>>>0); + $24 = (($23) + 1)|0; + $25 = (+($23>>>0)); + $26 = $8 - $25; + $27 = ((($5)) + 72|0); + $28 = HEAP32[$27>>2]|0; + $29 = (($28) + ($23<<2)|0); + $30 = +HEAPF32[$29>>2]; + $31 = ((($5)) + 48|0); + $32 = HEAP32[$31>>2]|0; + L8: do { + switch ($32|0) { + case 0: { + $33 = ($24>>>0)<($21>>>0); + if ($33) { + $34 = (($28) + ($24<<2)|0); + $35 = +HEAPF32[$34>>2]; + $135 = $35; + } else { + $135 = 0.0; + } + $36 = ((($0)) + 32|0); + $37 = +HEAPF32[$36>>2]; + $38 = +HEAPF32[$7>>2]; + $39 = $37 + $38; + HEAPF32[$7>>2] = $39; + $40 = HEAP32[$4>>2]|0; + $41 = ((($40)) + 24|0); + $42 = HEAP32[$41>>2]|0; + $43 = (+($42>>>0)); + $44 = !($39 >= $43); + if ($44) { + $$0100 = $30;$$0101 = $135; + } else { + HEAPF32[$7>>2] = -1.0; + $$0100 = $30;$$0101 = $135; + } + break; + } + case 1: { + $45 = ((($5)) + 36|0); + $46 = HEAP32[$45>>2]|0; + $47 = ($24|0)==($46|0); + if ($47) { + $48 = ((($5)) + 28|0); + $49 = HEAP32[$48>>2]|0; + $51 = $49; + } else { + $51 = $24; + } + $50 = (($28) + ($51<<2)|0); + $52 = +HEAPF32[$50>>2]; + $53 = ((($0)) + 32|0); + $54 = +HEAPF32[$53>>2]; + $55 = +HEAPF32[$7>>2]; + $56 = $54 + $55; + HEAPF32[$7>>2] = $56; + $57 = HEAP32[$4>>2]|0; + $58 = ((($57)) + 36|0); + $59 = HEAP32[$58>>2]|0; + $60 = (+($59>>>0)); + $61 = !($56 >= $60); + if ($61) { + $$0100 = $30;$$0101 = $52; + } else { + $62 = HEAP32[$4>>2]|0; + $63 = ((($62)) + 36|0); + $64 = HEAP32[$63>>2]|0; + $65 = (+($64>>>0)); + $67 = $57;$storemerge106 = $56; + while(1) { + $66 = ((($67)) + 32|0); + $68 = HEAP32[$66>>2]|0; + $69 = (+($68>>>0)); + $70 = $storemerge106 - $69; + $71 = !($70 >= $65); + if ($71) { + break; + } else { + $67 = $62;$storemerge106 = $70; + } + } + HEAPF32[$7>>2] = $70; + $$0100 = $30;$$0101 = $52; + } + break; + } + case 2: { + $72 = ((($0)) + 36|0); + $73 = HEAP32[$72>>2]|0; + $74 = ($73|0)!=(0); + $75 = ((($0)) + 32|0); + $76 = +HEAPF32[$75>>2]; + $77 = -$76; + $$sink$p = $74 ? $76 : $77; + $$sink = $8 + $$sink$p; + HEAPF32[$7>>2] = $$sink; + if ($74) { + $78 = HEAP32[$4>>2]|0; + $79 = ((($78)) + 36|0); + $80 = HEAP32[$79>>2]|0; + $81 = ($24>>>0)>=($80>>>0); + $82 = ((($78)) + 72|0); + $83 = HEAP32[$82>>2]|0; + $$sink2 = $81 ? $23 : $24; + $84 = (($83) + ($$sink2<<2)|0); + $85 = +HEAPF32[$84>>2]; + $86 = (+($80>>>0)); + $87 = !($$sink >= $86); + if (!($87)) { + $88 = $80 << 1; + $89 = (+($88>>>0)); + HEAP32[$72>>2] = 0; + $90 = +HEAPF32[$7>>2]; + $91 = $89 - $90; + HEAPF32[$7>>2] = $91; + } + $92 = +HEAPF32[$7>>2]; + $93 = ((($78)) + 24|0); + $94 = HEAP32[$93>>2]|0; + $95 = (+($94>>>0)); + $96 = !($92 >= $95); + if ($96) { + $$0100 = $30;$$0101 = $85; + break L8; + } + $97 = (($94) + -1)|0; + $98 = (+($97>>>0)); + $99 = $92 - $98; + HEAP32[$72>>2] = 0; + HEAPF32[$7>>2] = $99; + $$0100 = $30;$$0101 = $85; + break L8; + } + $100 = ($23|0)==(0); + if ($100) { + label = 24; + } else { + $101 = (($23) + -1)|0; + $102 = HEAP32[$4>>2]|0; + $103 = ((($102)) + 28|0); + $104 = HEAP32[$103>>2]|0; + $105 = ($101>>>0)>($104>>>0); + if ($105) { + $$sink103 = $101;$$sink105 = $102; + } else { + label = 24; + } + } + if ((label|0) == 24) { + $106 = HEAP32[$4>>2]|0; + $$sink103 = $23;$$sink105 = $106; + } + $107 = ((($$sink105)) + 72|0); + $108 = HEAP32[$107>>2]|0; + $109 = (($108) + ($$sink103<<2)|0); + $110 = +HEAPF32[$109>>2]; + $111 = +HEAPF32[$7>>2]; + $112 = HEAP32[$4>>2]|0; + $113 = ((($112)) + 28|0); + $114 = HEAP32[$113>>2]|0; + $115 = (+($114>>>0)); + $116 = !($111 <= $115); + $117 = $114 << 1; + $118 = (+($117>>>0)); + $119 = $118 - $111; + if ($116) { + $$pr = +HEAPF32[$7>>2]; + $121 = $$pr; + } else { + HEAP32[$72>>2] = 1; + HEAPF32[$7>>2] = $119; + $121 = $119; + } + $120 = !($121 <= 0.0); + if ($120) { + $$0100 = $110;$$0101 = $30; + } else { + HEAP32[$72>>2] = 1; + HEAPF32[$7>>2] = 0.0; + $$0100 = $110;$$0101 = $30; + } + break; + } + default: { + $$0100 = $30;$$0101 = 0.0; + } + } + } while(0); + $122 = $$0101 - $$0100; + $123 = $26 * $122; + $124 = $$0100 + $123; + $125 = ((($0)) + 164|0); + $126 = HEAP32[$125>>2]|0; + $127 = ($126>>>0)<(32); + if (!($127)) { + $$1 = $124; + return (+$$1); + } + $128 = (+($126>>>0)); + $129 = $128 * 0.03125; + $130 = (((($0)) + 168|0) + ($126<<2)|0); + $131 = +HEAPF32[$130>>2]; + $132 = $124 - $131; + $133 = $129 * $132; + $134 = $131 + $133; + $$1 = $134; + return (+$$1); + } + } + } + $10 = ((($0)) + 164|0); + $11 = HEAP32[$10>>2]|0; + $12 = ($11>>>0)<(32); + if (!($12)) { + $$1 = 0.0; + return (+$$1); + } + $13 = (+($11>>>0)); + $14 = $13 * 0.03125; + $15 = (((($0)) + 168|0) + ($11<<2)|0); + $16 = +HEAPF32[$15>>2]; + $17 = 0.0 - $16; + $18 = $14 * $17; + $19 = $16 + $18; + $$1 = $19; + return (+$$1); +} +function _jar_xm_row($0) { + $0 = $0|0; + var $$0$ = 0, $$06061 = 0, $$062 = 0, $$1 = 0, $$mask = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0; var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0; var $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0; var $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0; var $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0; - var $96 = 0, $97 = 0, $98 = 0, $99 = 0, $bpp$0 = 0, $header = 0, $i$08 = 0, $image$sroa$0$0 = 0, $image$sroa$0$1 = 0, $image$sroa$0$2 = 0, $image$sroa$10$0 = 0, $image$sroa$10$1 = 0, $image$sroa$10$2 = 0, $image$sroa$12$0 = 0, $image$sroa$12$1 = 0, $image$sroa$12$2 = 0, $image$sroa$12$3 = 0, $image$sroa$4$0 = 0, $image$sroa$4$1 = 0, $image$sroa$4$2 = 0; - var $image$sroa$7$0 = 0, $image$sroa$7$1 = 0, $image$sroa$7$2 = 0, $pvrVersion = 0, $unused = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer4 = 0, label = 0, sp = 0; + var $96 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 80|0; - $vararg_buffer4 = sp + 16|0; - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $pvrVersion = sp + 73|0; - $header = sp + 20|0; - $unused = sp + 72|0; - $0 = (_fopen($fileName,19734)|0); - $1 = ($0|0)==(0|0); - if ($1) { - HEAP32[$vararg_buffer>>2] = $fileName; - _TraceLog(2,16323,$vararg_buffer); - $image$sroa$0$2 = 0;$image$sroa$10$2 = 0;$image$sroa$12$3 = 0;$image$sroa$4$2 = 0;$image$sroa$7$2 = 0; - HEAP32[$agg$result>>2] = $image$sroa$0$2; - $113 = ((($agg$result)) + 4|0); - HEAP32[$113>>2] = $image$sroa$4$2; - $114 = ((($agg$result)) + 8|0); - HEAP32[$114>>2] = $image$sroa$7$2; - $115 = ((($agg$result)) + 12|0); - HEAP32[$115>>2] = $image$sroa$10$2; - $116 = ((($agg$result)) + 16|0); - HEAP32[$116>>2] = $image$sroa$12$3; - STACKTOP = sp;return; + $1 = ((($0)) + 368|0); + $2 = HEAP32[$1>>2]|0; + $3 = ($2|0)==(0); + if ($3) { + $11 = ((($0)) + 372|0); + $12 = HEAP32[$11>>2]|0; + $13 = ($12|0)==(0); + if (!($13)) { + $14 = ((($0)) + 348|0); + $15 = HEAP8[$14>>0]|0; + $16 = (($15) + 1)<<24>>24; + HEAP8[$14>>0] = $16; + $17 = ((($0)) + 377|0); + $18 = HEAP8[$17>>0]|0; + $19 = ((($0)) + 349|0); + HEAP8[$19>>0] = $18; + HEAP32[$11>>2] = 0; + HEAP8[$17>>0] = 0; + _jar_xm_post_pattern_change($0); + } + } else { + $4 = ((($0)) + 376|0); + $5 = HEAP8[$4>>0]|0; + $6 = ((($0)) + 348|0); + HEAP8[$6>>0] = $5; + $7 = ((($0)) + 377|0); + $8 = HEAP8[$7>>0]|0; + $9 = ((($0)) + 349|0); + HEAP8[$9>>0] = $8; + HEAP32[$1>>2] = 0; + $10 = ((($0)) + 372|0); + HEAP32[$10>>2] = 0; + HEAP8[$7>>0] = 0; + _jar_xm_post_pattern_change($0); } - HEAP8[$pvrVersion>>0] = 0; - (_fread($pvrVersion,1,1,$0)|0); - (_fseek($0,0,0)|0); - $2 = HEAP8[$pvrVersion>>0]|0; - switch ($2<<24>>24) { - case 80: { - (_fread($header,52,1,$0)|0); - $3 = HEAP8[$header>>0]|0; - $4 = ($3<<24>>24)==(80); - if ($4) { - $5 = ((($header)) + 1|0); - $6 = HEAP8[$5>>0]|0; - $7 = ($6<<24>>24)==(86); - if ($7) { - $8 = ((($header)) + 2|0); - $9 = HEAP8[$8>>0]|0; - $10 = ($9<<24>>24)==(82); - if ($10) { - $11 = ((($header)) + 3|0); - $12 = HEAP8[$11>>0]|0; - $13 = ($12<<24>>24)==(3); - if ($13) { - $14 = ((($header)) + 28|0); - $15 = HEAP32[$14>>2]|0; - $16 = ((($header)) + 24|0); - $17 = HEAP32[$16>>2]|0; - $18 = ((($header)) + 44|0); - $19 = HEAP32[$18>>2]|0; - $20 = ((($header)) + 8|0); - $21 = HEAP8[$20>>0]|0; - $22 = ($21<<24>>24)==(108); - do { - if ($22) { - $23 = ((($header)) + 9|0); - $24 = HEAP8[$23>>0]|0; - $25 = ($24<<24>>24)==(0); - if ($25) { - $26 = ((($header)) + 12|0); - $27 = HEAP8[$26>>0]|0; - $28 = ($27<<24>>24)==(8); - if ($28) { - $image$sroa$12$0 = 1; - break; - } - } - $$pr = HEAP8[$20>>0]|0; - $29 = ($$pr<<24>>24)==(108); - if ($29) { - $30 = ((($header)) + 9|0); - $31 = HEAP8[$30>>0]|0; - $32 = ($31<<24>>24)==(97); - if ($32) { - $33 = ((($header)) + 12|0); - $34 = HEAP8[$33>>0]|0; - $35 = ($34<<24>>24)==(8); - if ($35) { - $36 = ((($header)) + 13|0); - $37 = HEAP8[$36>>0]|0; - $38 = ($37<<24>>24)==(8); - if ($38) { - $image$sroa$12$0 = 2; - } else { - label = 16; - } - } else { - label = 16; - } - } else { - label = 16; - } - } else { - $39 = $$pr; - label = 17; - } - } else { - label = 16; - } - } while(0); - if ((label|0) == 16) { - $$pr3 = HEAP8[$20>>0]|0; - $39 = $$pr3; - label = 17; - } - L22: do { - if ((label|0) == 17) { - $40 = ($39<<24>>24)==(114); - if ($40) { - $41 = ((($header)) + 9|0); - $42 = HEAP8[$41>>0]|0; - $43 = ($42<<24>>24)==(103); - if ($43) { - $44 = ((($header)) + 10|0); - $45 = HEAP8[$44>>0]|0; - $46 = ($45<<24>>24)==(98); - if ($46) { - $47 = ((($header)) + 11|0); - $48 = HEAP8[$47>>0]|0; - switch ($48<<24>>24) { - case 97: { - break; - } - case 0: { - $83 = ((($header)) + 12|0); - $84 = HEAP8[$83>>0]|0; - $85 = ($84<<24>>24)==(5); - if ($85) { - $86 = ((($header)) + 13|0); - $87 = HEAP8[$86>>0]|0; - $88 = ($87<<24>>24)==(6); - if ($88) { - $89 = ((($header)) + 14|0); - $90 = HEAP8[$89>>0]|0; - $91 = ($90<<24>>24)==(5); - if ($91) { - $image$sroa$12$0 = 3; - break L22; - } - } - $$pr7 = HEAP8[$83>>0]|0; - $92 = $$pr7; - } else { - $92 = $84; - } - $93 = ($92<<24>>24)==(8); - if (!($93)) { - $image$sroa$12$0 = 0; - break L22; - } - $94 = ((($header)) + 13|0); - $95 = HEAP8[$94>>0]|0; - $96 = ($95<<24>>24)==(8); - if (!($96)) { - $image$sroa$12$0 = 0; - break L22; - } - $97 = ((($header)) + 14|0); - $98 = HEAP8[$97>>0]|0; - $99 = ($98<<24>>24)==(8); - $$1 = $99 ? 4 : 0; - $image$sroa$12$0 = $$1; - break L22; - break; - } - default: { - $image$sroa$12$0 = 0; - break L22; - } - } - $49 = ((($header)) + 12|0); - $50 = HEAP8[$49>>0]|0; - $51 = ($50<<24>>24)==(5); - if ($51) { - $52 = ((($header)) + 13|0); - $53 = HEAP8[$52>>0]|0; - $54 = ($53<<24>>24)==(5); - if ($54) { - $55 = ((($header)) + 14|0); - $56 = HEAP8[$55>>0]|0; - $57 = ($56<<24>>24)==(5); - if ($57) { - $58 = ((($header)) + 15|0); - $59 = HEAP8[$58>>0]|0; - $60 = ($59<<24>>24)==(1); - if ($60) { - $image$sroa$12$0 = 5; - break; - } - } - } - $$pr5 = HEAP8[$49>>0]|0; - $61 = $$pr5; - } else { - $61 = $50; - } - $62 = ($61<<24>>24)==(4); - if ($62) { - $63 = ((($header)) + 13|0); - $64 = HEAP8[$63>>0]|0; - $65 = ($64<<24>>24)==(4); - if ($65) { - $66 = ((($header)) + 14|0); - $67 = HEAP8[$66>>0]|0; - $68 = ($67<<24>>24)==(4); - if ($68) { - $69 = ((($header)) + 15|0); - $70 = HEAP8[$69>>0]|0; - $71 = ($70<<24>>24)==(4); - if ($71) { - $image$sroa$12$0 = 6; - break; - } - } - } - } - $72 = HEAP8[$49>>0]|0; - $73 = ($72<<24>>24)==(8); - if (!($73)) { - $image$sroa$12$0 = 0; - break; - } - $74 = ((($header)) + 13|0); - $75 = HEAP8[$74>>0]|0; - $76 = ($75<<24>>24)==(8); - if (!($76)) { - $image$sroa$12$0 = 0; - break; - } - $77 = ((($header)) + 14|0); - $78 = HEAP8[$77>>0]|0; - $79 = ($78<<24>>24)==(8); - if (!($79)) { - $image$sroa$12$0 = 0; - break; - } - $80 = ((($header)) + 15|0); - $81 = HEAP8[$80>>0]|0; - $82 = ($81<<24>>24)==(8); - $$ = $82 ? 7 : 0; - $image$sroa$12$0 = $$; - break; - } - } - } - $100 = HEAP8[$20>>0]|0; - $101 = ($100<<24>>24)==(2); - if ($101) { - $image$sroa$12$0 = 15; - } else { - $102 = ($100<<24>>24)==(3); - $$2 = $102 ? 16 : 0; - $image$sroa$12$0 = $$2; - } - } - } while(0); - HEAP8[$unused>>0] = 0; - $103 = ((($header)) + 48|0); - $104 = HEAP32[$103>>2]|0; - $105 = ($104|0)==(0); - if (!($105)) { - $i$08 = 0; - while(1) { - (_fread($unused,1,1,$0)|0); - $106 = (($i$08) + 1)|0; - $107 = HEAP32[$103>>2]|0; - $108 = ($106>>>0)<($107>>>0); - if ($108) { - $i$08 = $106; - } else { - break; - } - } - } - switch ($image$sroa$12$0|0) { - case 1: { - $bpp$0 = 8; - break; - } - case 6: case 3: case 5: case 2: { - $bpp$0 = 16; - break; - } - case 7: { - $bpp$0 = 32; - break; - } - case 4: { - $bpp$0 = 24; - break; - } - case 16: case 15: { - $bpp$0 = 4; - break; - } - default: { - $bpp$0 = 0; - } - } - $109 = Math_imul($17, $15)|0; - $110 = Math_imul($109, $bpp$0)|0; - $111 = (($110|0) / 8)&-1; - $112 = (_malloc($111)|0); - (_fread($112,$111,1,$0)|0); - $image$sroa$0$0 = $112;$image$sroa$10$0 = $19;$image$sroa$12$1 = $image$sroa$12$0;$image$sroa$4$0 = $15;$image$sroa$7$0 = $17; - } else { - label = 8; - } + $20 = ((($0)) + 316|0); + $21 = HEAP32[$20>>2]|0; + $22 = ((($0)) + 348|0); + $23 = HEAP8[$22>>0]|0; + $24 = $23&255; + $25 = (((($0)) + 60|0) + ($24)|0); + $26 = HEAP8[$25>>0]|0; + $27 = $26&255; + $28 = ((($0)) + 50|0); + $29 = HEAP16[$28>>1]|0; + $30 = ($29<<16>>16)==(0); + if ($30) { + label = 15; + } else { + $31 = $29&65535; + $32 = (((($21) + ($27<<3)|0)) + 4|0); + $33 = ((($0)) + 349|0); + $34 = ((($0)) + 388|0); + $$06061 = 0;$$062 = 0;$40 = $31;$43 = 0; + while(1) { + $36 = HEAP32[$32>>2]|0; + $37 = HEAP8[$33>>0]|0; + $38 = $37&255; + $39 = Math_imul($38, $40)|0; + $41 = (($36) + (($39*5)|0)|0); + $42 = (($41) + (($43*5)|0)|0); + $44 = HEAP32[$34>>2]|0; + $45 = (($44) + (($43*304)|0)|0); + $46 = (((($44) + (($43*304)|0)|0)) + 16|0); + HEAP32[$46>>2] = $42; + $47 = ((($42)) + 3|0); + $48 = HEAP8[$47>>0]|0; + $49 = ($48<<24>>24)==(14); + if ($49) { + $50 = ((($42)) + 4|0); + $51 = HEAP8[$50>>0]|0; + $52 = $51&255; + $$mask = $52 & 240; + $53 = ($$mask|0)==(208); + if ($53) { + $54 = $52 & 15; + $55 = $54&255; + $56 = (((($44) + (($43*304)|0)|0)) + 97|0); + HEAP8[$56>>0] = $55; } else { - label = 8; + label = 10; } } else { - label = 8; + label = 10; + } + if ((label|0) == 10) { + label = 0; + _jar_xm_handle_note_and_instrument($0,$45,$42); + } + $57 = ($$062|0)==(0); + if ($57) { + $58 = (((($44) + (($43*304)|0)|0)) + 99|0); + $59 = HEAP8[$58>>0]|0; + $60 = ($59<<24>>24)==(0); + $$0$ = $60 ? $$062 : 1; + $$1 = $$0$; + } else { + $$1 = $$062; + } + $61 = (($$06061) + 1)<<24>>24; + $62 = $61&255; + $63 = HEAP16[$28>>1]|0; + $64 = $63&65535; + $65 = ($62>>>0)<($64>>>0); + if ($65) { + $$06061 = $61;$$062 = $$1;$40 = $64;$43 = $62; + } else { + break; } - } else { - label = 8; } - if ((label|0) == 8) { - HEAP32[$vararg_buffer1>>2] = $fileName; - _TraceLog(2,16357,$vararg_buffer1); - $image$sroa$0$0 = 0;$image$sroa$10$0 = 0;$image$sroa$12$1 = 0;$image$sroa$4$0 = 0;$image$sroa$7$0 = 0; + $35 = ($$1|0)==(0); + if ($35) { + label = 15; } - $image$sroa$0$1 = $image$sroa$0$0;$image$sroa$10$1 = $image$sroa$10$0;$image$sroa$12$2 = $image$sroa$12$1;$image$sroa$4$1 = $image$sroa$4$0;$image$sroa$7$1 = $image$sroa$7$0; + } + if ((label|0) == 15) { + $66 = ((($0)) + 380|0); + $67 = HEAP32[$66>>2]|0; + $68 = HEAP8[$22>>0]|0; + $69 = $68&255; + $70 = $69 << 8; + $71 = ((($0)) + 349|0); + $72 = HEAP8[$71>>0]|0; + $73 = $72&255; + $74 = $70 | $73; + $75 = (($67) + ($74)|0); + $76 = HEAP8[$75>>0]|0; + $77 = (($76) + 1)<<24>>24; + HEAP8[$75>>0] = $77; + $78 = ((($0)) + 384|0); + HEAP8[$78>>0] = $76; + } + $79 = ((($0)) + 349|0); + $80 = HEAP8[$79>>0]|0; + $81 = (($80) + 1)<<24>>24; + HEAP8[$79>>0] = $81; + $82 = HEAP32[$1>>2]|0; + $83 = ($82|0)==(0); + if (!($83)) { + return; + } + $84 = ((($0)) + 372|0); + $85 = HEAP32[$84>>2]|0; + $86 = ($85|0)==(0); + if (!($86)) { + return; + } + $87 = $81&255; + $88 = (($21) + ($27<<3)|0); + $89 = HEAP16[$88>>1]|0; + $90 = $89&65535; + $91 = ($87>>>0)>=($90>>>0); + $92 = ($81<<24>>24)==(0); + $or$cond = $92 | $91; + if (!($or$cond)) { + return; + } + $93 = HEAP8[$22>>0]|0; + $94 = (($93) + 1)<<24>>24; + HEAP8[$22>>0] = $94; + $95 = ((($0)) + 377|0); + $96 = HEAP8[$95>>0]|0; + HEAP8[$79>>0] = $96; + HEAP8[$95>>0] = 0; + _jar_xm_post_pattern_change($0); + return; +} +function _jar_xm_envelopes($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0.0, $13 = 0.0, $14 = 0, $15 = 0.0, $16 = 0.0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; + var $28 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 8|0); + $2 = HEAP32[$1>>2]|0; + $3 = ($2|0)==(0|0); + if ($3) { + return; + } + $4 = ((($2)) + 176|0); + $5 = HEAP32[$4>>2]|0; + $6 = ($5|0)==(0); + if (!($6)) { + $7 = ((($0)) + 52|0); + $8 = HEAP32[$7>>2]|0; + $9 = ($8|0)==(0); + if ($9) { + $10 = ((($2)) + 260|0); + $11 = HEAP16[$10>>1]|0; + $12 = (+($11&65535)); + $13 = $12 * 1.52587890625E-5; + $14 = ((($0)) + 56|0); + $15 = +HEAPF32[$14>>2]; + $16 = $15 - $13; + HEAPF32[$14>>2] = $16; + $17 = $16 < 0.0; + if ($17) { + HEAPF32[$14>>2] = 0.0; + } + } + $18 = HEAP32[$1>>2]|0; + $19 = ((($18)) + 124|0); + $20 = ((($0)) + 68|0); + $21 = ((($0)) + 60|0); + _jar_xm_envelope_tick($0,$19,$20,$21); + } + $22 = HEAP32[$1>>2]|0; + $23 = ((($22)) + 240|0); + $24 = HEAP32[$23>>2]|0; + $25 = ($24|0)==(0); + if ($25) { + return; + } + $26 = ((($22)) + 188|0); + $27 = ((($0)) + 70|0); + $28 = ((($0)) + 64|0); + _jar_xm_envelope_tick($0,$26,$27,$28); + return; +} +function _jar_xm_autovibrato($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$ = 0.0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; + var $28 = 0.0, $29 = 0.0, $3 = 0, $30 = 0, $31 = 0.0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($1)) + 8|0); + $3 = HEAP32[$2>>2]|0; + $4 = ($3|0)==(0|0); + if ($4) { + return; + } + $5 = ((($3)) + 257|0); + $6 = HEAP8[$5>>0]|0; + $7 = ($6<<24>>24)==(0); + if ($7) { + return; + } + $8 = ((($1)) + 48|0); + $9 = HEAP16[$8>>1]|0; + $10 = $9&65535; + $11 = ((($3)) + 256|0); + $12 = HEAP8[$11>>0]|0; + $13 = $12&255; + $14 = ($10>>>0)<($13>>>0); + $15 = (+($9&65535)); + $16 = (+($12&255)); + $17 = $15 / $16; + $18 = $17 + 0.0; + $$ = $14 ? $18 : 1.0; + $19 = (($9) + 1)<<16>>16; + HEAP16[$8>>1] = $19; + $20 = ((($3)) + 258|0); + $21 = HEAP8[$20>>0]|0; + $22 = $21&255; + $23 = Math_imul($22, $10)|0; + $24 = $23 >>> 2; + $25 = ((($3)) + 252|0); + $26 = HEAP32[$25>>2]|0; + $27 = $24&255; + $28 = (+_jar_xm_waveform($26,$27)); + $29 = $28 * 0.25; + $30 = HEAP8[$5>>0]|0; + $31 = (+($30&255)); + $32 = $29 * $31; + $33 = $32 / 15.0; + $34 = $$ * $33; + $35 = ((($1)) + 72|0); + HEAPF32[$35>>2] = $34; + _jar_xm_update_frequency($0,$1); + return; +} +function _jar_xm_update_frequency($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0, $18 = 0.0, $19 = 0.0, $2 = 0, $20 = 0, $3 = 0.0, $4 = 0, $5 = 0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0; + var sp = 0; + sp = STACKTOP; + $2 = ((($1)) + 24|0); + $3 = +HEAPF32[$2>>2]; + $4 = ((($1)) + 80|0); + $5 = HEAP8[$4>>0]|0; + $6 = ($5<<24>>24)==(0); + if ($6) { + $8 = ((($1)) + 116|0); + $9 = +HEAPF32[$8>>2]; + $10 = ((($1)) + 72|0); + $11 = +HEAPF32[$10>>2]; + $12 = $9 + $11; + $13 = $12; + } else { + $7 = (+($5&255)); + $13 = $7; + } + $14 = (+_jar_xm_frequency($0,$3,$13)); + $15 = ((($1)) + 28|0); + HEAPF32[$15>>2] = $14; + $16 = ((($0)) + 324|0); + $17 = HEAP32[$16>>2]|0; + $18 = (+($17>>>0)); + $19 = $14 / $18; + $20 = ((($1)) + 32|0); + HEAPF32[$20>>2] = $19; + return; +} +function _jar_xm_volume_slide($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$not = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = $1&255; + $3 = $2 & 240; + $4 = ($3|0)!=(0); + $$not = $4 ^ 1; + $5 = $2 & 15; + $6 = ($5|0)==(0); + $or$cond = $6 | $$not; + if (!($or$cond)) { + return; + } + $7 = ((($0)) + 40|0); + $8 = +HEAPF32[$7>>2]; + if ($4) { + $9 = $2 >>> 4; + $10 = (+($9|0)); + $11 = $10 * 0.015625; + $12 = $11 + $8; + HEAPF32[$7>>2] = $12; + $13 = $12 > 1.0; + if (!($13)) { + return; + } + HEAPF32[$7>>2] = 1.0; + return; + } else { + $14 = (+($5|0)); + $15 = $14 * 0.015625; + $16 = $8 - $15; + HEAPF32[$7>>2] = $16; + $17 = $16 < 0.0; + if (!($17)) { + return; + } + HEAPF32[$7>>2] = 0.0; + return; + } +} +function _jar_xm_vibrato($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $10 = 0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $4 = $3&65535; + $5 = $2&255; + $6 = $5 >>> 4; + $7 = Math_imul($4, $6)|0; + $8 = ((($1)) + 104|0); + $9 = HEAP32[$8>>2]|0; + $10 = $7&255; + $11 = (+_jar_xm_waveform($9,$10)); + $12 = $11 * 2.0; + $13 = $5 & 15; + $14 = (+($13|0)); + $15 = $14 * $12; + $16 = $15 / 15.0; + $17 = ((($1)) + 116|0); + HEAPF32[$17>>2] = $16; + _jar_xm_update_frequency($0,$1); + return; +} +function _jar_xm_panning_slide($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$not = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = $1&255; + $3 = $2 & 240; + $4 = ($3|0)!=(0); + $$not = $4 ^ 1; + $5 = $2 & 15; + $6 = ($5|0)==(0); + $or$cond = $6 | $$not; + if (!($or$cond)) { + return; + } + $7 = ((($0)) + 44|0); + $8 = +HEAPF32[$7>>2]; + if ($4) { + $9 = $2 >>> 4; + $10 = (+($9|0)); + $11 = $10 / 255.0; + $12 = $11 + $8; + HEAPF32[$7>>2] = $12; + $13 = $12 > 1.0; + if (!($13)) { + return; + } + HEAPF32[$7>>2] = 1.0; + return; + } else { + $14 = (+($5|0)); + $15 = $14 / 255.0; + $16 = $8 - $15; + HEAPF32[$7>>2] = $16; + $17 = $16 < 0.0; + if (!($17)) { + return; + } + HEAPF32[$7>>2] = 0.0; + return; + } +} +function _jar_xm_tone_portamento($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0.0, $24 = 0, $25 = 0, $26 = 0.0, $27 = 0.0, $28 = 0.0; + var $29 = 0, $3 = 0.0, $4 = 0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($1)) + 92|0); + $3 = +HEAPF32[$2>>2]; + $4 = $3 == 0.0; + if ($4) { + return; + } + $5 = ((($1)) + 24|0); + $6 = +HEAPF32[$5>>2]; + $7 = $6 != $3; + if (!($7)) { + return; + } + $8 = $6 > $3; + if ($8) { + $9 = ((($0)) + 56|0); + $10 = HEAP32[$9>>2]|0; + $11 = ($10|0)==(0); + $12 = $11 ? 4.0 : 1.0; + $13 = ((($1)) + 91|0); + $14 = HEAP8[$13>>0]|0; + $15 = (+($14&255)); + $16 = $12 * $15; + $17 = $6 - $16; + HEAPF32[$5>>2] = $17; + $18 = $17 < $3; + if ($18) { + HEAPF32[$5>>2] = $3; + } + } else { + $19 = $6 < $3; + if ($19) { + $20 = ((($0)) + 56|0); + $21 = HEAP32[$20>>2]|0; + $22 = ($21|0)==(0); + $23 = $22 ? 4.0 : 1.0; + $24 = ((($1)) + 91|0); + $25 = HEAP8[$24>>0]|0; + $26 = (+($25&255)); + $27 = $23 * $26; + $28 = $6 + $27; + HEAPF32[$5>>2] = $28; + $29 = $28 > $3; + if ($29) { + HEAPF32[$5>>2] = $3; + } + } + } + _jar_xm_update_frequency($0,$1); + return; +} +function _jar_xm_arpeggio($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$sink = 0, $10 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $trunc = 0, $trunc$clear = 0, label = 0, sp = 0; + sp = STACKTOP; + $4 = (($3&65535) % 3)&-1; + $trunc = $4&255; + $trunc$clear = $trunc & 3; + switch ($trunc$clear<<24>>24) { + case 0: { + $5 = ((($1)) + 76|0); + HEAP32[$5>>2] = 0; + $$sink = 0; break; } - case 52: { - _TraceLog(0,16405,$vararg_buffer4); - $image$sroa$0$1 = 0;$image$sroa$10$1 = 0;$image$sroa$12$2 = 0;$image$sroa$4$1 = 0;$image$sroa$7$1 = 0; + case 2: { + $6 = ((($1)) + 76|0); + HEAP32[$6>>2] = 1; + $7 = ($2&255) >>> 4; + $$sink = $7; + break; + } + case 1: { + $8 = ((($1)) + 76|0); + HEAP32[$8>>2] = 1; + $9 = $2 & 15; + $$sink = $9; break; } default: { - $image$sroa$0$1 = 0;$image$sroa$10$1 = 0;$image$sroa$12$2 = 0;$image$sroa$4$1 = 0;$image$sroa$7$1 = 0; + _jar_xm_update_frequency($0,$1); + return; } } - (_fclose($0)|0); - $image$sroa$0$2 = $image$sroa$0$1;$image$sroa$10$2 = $image$sroa$10$1;$image$sroa$12$3 = $image$sroa$12$2;$image$sroa$4$2 = $image$sroa$4$1;$image$sroa$7$2 = $image$sroa$7$1; - HEAP32[$agg$result>>2] = $image$sroa$0$2; - $113 = ((($agg$result)) + 4|0); - HEAP32[$113>>2] = $image$sroa$4$2; - $114 = ((($agg$result)) + 8|0); - HEAP32[$114>>2] = $image$sroa$7$2; - $115 = ((($agg$result)) + 12|0); - HEAP32[$115>>2] = $image$sroa$10$2; - $116 = ((($agg$result)) + 16|0); - HEAP32[$116>>2] = $image$sroa$12$3; + $10 = ((($1)) + 80|0); + HEAP8[$10>>0] = $$sink; + _jar_xm_update_frequency($0,$1); + return; +} +function _jar_xm_pitch_slide($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = +$2; + var $$ = 0.0, $10 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, $storemerge = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ((($0)) + 56|0); + $4 = HEAP32[$3>>2]|0; + $5 = ($4|0)==(0); + $6 = $2 * 4.0; + $$ = $5 ? $6 : $2; + $7 = ((($1)) + 24|0); + $8 = +HEAPF32[$7>>2]; + $9 = $8 + $$; + $10 = $9 < 0.0; + $storemerge = $10 ? 0.0 : $9; + HEAPF32[$7>>2] = $storemerge; + _jar_xm_update_frequency($0,$1); + return; +} +function _jar_xm_tremolo($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = $2&65535; + $4 = $1&255; + $5 = $4 >>> 4; + $6 = Math_imul($3, $5)|0; + $7 = ((($0)) + 120|0); + $8 = HEAP32[$7>>2]|0; + $9 = $6&255; + $10 = (+_jar_xm_waveform($8,$9)); + $11 = $4 & 15; + $12 = (+($11|0)); + $13 = $12 * $10; + $14 = -$13; + $15 = $14 / 15.0; + $16 = ((($0)) + 132|0); + HEAPF32[$16>>2] = $15; + return; +} +function _jar_xm_trigger_note($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0.0, $39 = 0.0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0; + var $66 = 0, $67 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = $2 & 4; + $4 = ($3|0)==(0); + if ($4) { + $5 = ((($1)) + 20|0); + HEAPF32[$5>>2] = 0.0; + $6 = ((($1)) + 36|0); + HEAP32[$6>>2] = 1; + } + $7 = ((($1)) + 12|0); + $8 = HEAP32[$7>>2]|0; + $9 = ($8|0)==(0|0); + if (!($9)) { + $10 = $2 & 1; + $11 = ($10|0)==(0); + if ($11) { + $12 = ((($8)) + 40|0); + $13 = HEAP32[$12>>2]|0; + $14 = ((($1)) + 40|0); + HEAP32[$14>>2] = $13; + } + $15 = ((($8)) + 52|0); + $16 = HEAP32[$15>>2]|0; + $17 = ((($1)) + 44|0); + HEAP32[$17>>2] = $16; + } + $18 = ((($1)) + 52|0); + HEAP32[$18>>2] = 1; + $19 = ((($1)) + 60|0); + HEAPF32[$19>>2] = 1.0; + $20 = ((($1)) + 56|0); + HEAPF32[$20>>2] = 1.0; + $21 = ((($1)) + 64|0); + HEAPF32[$21>>2] = 0.5; + $22 = ((($1)) + 70|0); + HEAP16[$22>>1] = 0; + $23 = ((($1)) + 68|0); + HEAP16[$23>>1] = 0; + $24 = ((($1)) + 116|0); + HEAPF32[$24>>2] = 0.0; + $25 = ((($1)) + 132|0); + HEAPF32[$25>>2] = 0.0; + $26 = ((($1)) + 140|0); + HEAP32[$26>>2] = 0; + $27 = ((($1)) + 48|0); + HEAP16[$27>>1] = 0; + $28 = ((($1)) + 108|0); + $29 = HEAP32[$28>>2]|0; + $30 = ($29|0)==(0); + if (!($30)) { + $31 = ((($1)) + 114|0); + HEAP16[$31>>1] = 0; + } + $32 = ((($1)) + 124|0); + $33 = HEAP32[$32>>2]|0; + $34 = ($33|0)==(0); + if (!($34)) { + $35 = ((($1)) + 129|0); + HEAP8[$35>>0] = 0; + } + $36 = $2 & 2; + $37 = ($36|0)==(0); + if ($37) { + $38 = +HEAPF32[$1>>2]; + $39 = (+_jar_xm_period($0,$38)); + $40 = ((($1)) + 24|0); + HEAPF32[$40>>2] = $39; + _jar_xm_update_frequency($0,$1); + } + $41 = ((($0)) + 360|0); + $42 = $41; + $43 = $42; + $44 = HEAP32[$43>>2]|0; + $45 = (($42) + 4)|0; + $46 = $45; + $47 = HEAP32[$46>>2]|0; + $48 = ((($1)) + 144|0); + $49 = $48; + $50 = $49; + HEAP32[$50>>2] = $44; + $51 = (($49) + 4)|0; + $52 = $51; + HEAP32[$52>>2] = $47; + $53 = ((($1)) + 8|0); + $54 = HEAP32[$53>>2]|0; + $55 = ($54|0)==(0|0); + if (!($55)) { + $56 = ((($54)) + 264|0); + $57 = $56; + $58 = $57; + HEAP32[$58>>2] = $44; + $59 = (($57) + 4)|0; + $60 = $59; + HEAP32[$60>>2] = $47; + } + $61 = HEAP32[$7>>2]|0; + $62 = ($61|0)==(0|0); + if ($62) { + return; + } + $63 = ((($61)) + 64|0); + $64 = $63; + $65 = $64; + HEAP32[$65>>2] = $44; + $66 = (($64) + 4)|0; + $67 = $66; + HEAP32[$67>>2] = $47; + return; +} +function _jar_xm_cut_note($0) { + $0 = $0|0; + var $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 40|0); + HEAPF32[$1>>2] = 0.0; + return; +} +function _jar_xm_handle_note_and_instrument($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$0275 = 0, $$lobit = 0, $$lobit262 = 0, $$mask = 0, $$mask265 = 0, $$mask266 = 0, $$off = 0, $$off273 = 0, $$off274 = 0, $$old1 = 0, $$sink = 0, $10 = 0, $100 = 0.0, $101 = 0.0, $102 = 0.0, $103 = 0, $104 = 0, $105 = 0, $106 = 0.0, $107 = 0; + var $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0.0, $116 = 0.0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0; + var $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0.0, $133 = 0.0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0; + var $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0; + var $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0; + var $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0; + var $199 = 0, $20 = 0, $200 = 0, $201 = 0.0, $202 = 0.0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0; + var $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0.0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0; + var $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0.0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0; + var $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0.0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0.0, $27 = 0, $270 = 0; + var $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0.0, $288 = 0, $289 = 0; + var $29 = 0, $290 = 0, $291 = 0.0, $292 = 0.0, $293 = 0.0, $294 = 0.0, $295 = 0.0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0; + var $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0; + var $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0; + var $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0; + var $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0.0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0; + var $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0; + var $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0.0, $411 = 0.0, $412 = 0, $413 = 0, $414 = 0; + var $415 = 0, $416 = 0, $417 = 0, $418 = 0.0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0; + var $57 = 0.0, $58 = 0, $59 = 0, $6 = 0, $60 = 0.0, $61 = 0.0, $62 = 0.0, $63 = 0.0, $64 = 0.0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0; + var $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0; + var $93 = 0, $94 = 0, $95 = 0, $96 = 0.0, $97 = 0, $98 = 0, $99 = 0.0, $exitcond = 0, $or$cond = 0, $phitmp = 0.0, $phitmp260 = 0.0, $phitmp263 = 0.0, $phitmp264 = 0.0, $trunc = 0, $trunc$clear = 0, $trunc259 = 0, $trunc259$clear = 0, $trunc261 = 0, $trunc261$clear = 0, label = 0; + var sp = 0; + sp = STACKTOP; + $3 = ((($2)) + 1|0); + $4 = HEAP8[$3>>0]|0; + $5 = ($4<<24>>24)==(0); + do { + if (!($5)) { + $6 = ((($1)) + 16|0); + $7 = HEAP32[$6>>2]|0; + $8 = ((($7)) + 3|0); + $9 = HEAP8[$8>>0]|0; + switch ($9<<24>>24) { + case 5: case 3: { + label = 4; + break; + } + default: { + $10 = ((($7)) + 2|0); + $11 = HEAP8[$10>>0]|0; + $12 = ($11&255)>(239); + if ($12) { + label = 4; + } + } + } + if ((label|0) == 4) { + $13 = ((($1)) + 8|0); + $14 = HEAP32[$13>>2]|0; + $15 = ($14|0)==(0|0); + if (!($15)) { + $16 = ((($1)) + 12|0); + $17 = HEAP32[$16>>2]|0; + $18 = ($17|0)==(0|0); + if (!($18)) { + _jar_xm_trigger_note($0,$1,6); + break; + } + } + } + $19 = HEAP8[$3>>0]|0; + $20 = $19&255; + $21 = ((($0)) + 54|0); + $22 = HEAP16[$21>>1]|0; + $23 = $22&65535; + $24 = ($20>>>0)>($23>>>0); + if ($24) { + _jar_xm_cut_note($1); + $25 = ((($1)) + 8|0); + HEAP32[$25>>2] = 0; + $26 = ((($1)) + 12|0); + HEAP32[$26>>2] = 0; + break; + } + $27 = ((($0)) + 320|0); + $28 = HEAP32[$27>>2]|0; + $29 = (($20) + -1)|0; + $30 = (($28) + (($29*280)|0)|0); + $31 = ((($1)) + 8|0); + HEAP32[$31>>2] = $30; + $32 = HEAP8[$2>>0]|0; + $33 = ($32<<24>>24)==(0); + if ($33) { + $34 = ((($1)) + 12|0); + $35 = HEAP32[$34>>2]|0; + $36 = ($35|0)==(0|0); + if (!($36)) { + _jar_xm_trigger_note($0,$1,4); + } + } + } + } while(0); + $37 = HEAP8[$2>>0]|0; + $$off = (($37) + -1)<<24>>24; + $38 = ($$off&255)<(96); + do { + if ($38) { + $39 = ((($1)) + 8|0); + $40 = HEAP32[$39>>2]|0; + $41 = ((($1)) + 16|0); + $42 = HEAP32[$41>>2]|0; + $43 = ((($42)) + 3|0); + $44 = HEAP8[$43>>0]|0; + $$old1 = ($40|0)!=(0|0); + switch ($44<<24>>24) { + case 5: case 3: { + if ($$old1) { + label = 16; + } + break; + } + default: { + $45 = ((($42)) + 2|0); + $46 = HEAP8[$45>>0]|0; + $47 = ($46&255)>(239); + $or$cond = $$old1 & $47; + if ($or$cond) { + label = 16; + } else { + $66 = ($40|0)==(0|0); + if (!($66)) { + label = 19; + } + } + } + } + if ((label|0) == 16) { + $48 = ((($1)) + 12|0); + $49 = HEAP32[$48>>2]|0; + $50 = ($49|0)==(0|0); + if ($50) { + label = 19; + } else { + $51 = HEAP8[$2>>0]|0; + $52 = $51&255; + $53 = ((($49)) + 56|0); + $54 = HEAP8[$53>>0]|0; + $55 = $54 << 24 >> 24; + $56 = (($55) + ($52))|0; + $57 = (+($56|0)); + $58 = ((($49)) + 44|0); + $59 = HEAP8[$58>>0]|0; + $60 = (+($59<<24>>24)); + $61 = $60 * 0.0078125; + $62 = $57 + $61; + $63 = $62 + -1.0; + HEAPF32[$1>>2] = $63; + $64 = (+_jar_xm_period($0,$63)); + $65 = ((($1)) + 92|0); + HEAPF32[$65>>2] = $64; + break; + } + } + if ((label|0) == 19) { + $67 = HEAP32[$39>>2]|0; + $68 = ((($67)) + 24|0); + $69 = HEAP16[$68>>1]|0; + $70 = ($69<<16>>16)==(0); + if (!($70)) { + $71 = HEAP8[$2>>0]|0; + $72 = $71&255; + $73 = (($72) + -1)|0; + $74 = (((($40)) + 26|0) + ($73)|0); + $75 = HEAP8[$74>>0]|0; + $76 = $75&255; + $77 = ((($40)) + 24|0); + $78 = HEAP16[$77>>1]|0; + $79 = $78&65535; + $80 = ($76>>>0)<($79>>>0); + if ($80) { + $$0275 = 0; + } else { + _jar_xm_cut_note($1); + break; + } + while(1) { + $106 = (+_jar_xm_next_of_sample($1)); + $107 = (((($1)) + 168|0) + ($$0275<<2)|0); + HEAPF32[$107>>2] = $106; + $108 = (($$0275) + 1)|0; + $exitcond = ($108|0)==(32); + if ($exitcond) { + break; + } else { + $$0275 = $108; + } + } + $81 = ((($1)) + 164|0); + HEAP32[$81>>2] = 0; + $82 = ((($40)) + 276|0); + $83 = HEAP32[$82>>2]|0; + $84 = HEAP8[$2>>0]|0; + $85 = $84&255; + $86 = (($85) + -1)|0; + $87 = (((($40)) + 26|0) + ($86)|0); + $88 = HEAP8[$87>>0]|0; + $89 = $88&255; + $90 = (($83) + (($89*80)|0)|0); + $91 = ((($1)) + 12|0); + HEAP32[$91>>2] = $90; + $92 = (((($83) + (($89*80)|0)|0)) + 56|0); + $93 = HEAP8[$92>>0]|0; + $94 = $93 << 24 >> 24; + $95 = (($94) + ($85))|0; + $96 = (+($95|0)); + $97 = (((($83) + (($89*80)|0)|0)) + 44|0); + $98 = HEAP8[$97>>0]|0; + $99 = (+($98<<24>>24)); + $100 = $99 * 0.0078125; + $101 = $96 + $100; + $102 = $101 + -1.0; + HEAPF32[$1>>2] = $102; + $103 = ((($1)) + 4|0); + HEAPF32[$103>>2] = $102; + $104 = HEAP8[$3>>0]|0; + $105 = ($104<<24>>24)==(0); + if ($105) { + _jar_xm_trigger_note($0,$1,1); + break; + } else { + _jar_xm_trigger_note($0,$1,0); + break; + } + } + } + _jar_xm_cut_note($1); + } else { + $109 = ($37<<24>>24)==(97); + if ($109) { + _jar_xm_key_off($1); + } + } + } while(0); + $110 = ((($2)) + 2|0); + $111 = HEAP8[$110>>0]|0; + $112 = $111&255; + $trunc = ($111&255) >>> 4; + $trunc$clear = $trunc & 15; + switch ($trunc$clear<<24>>24) { + case 5: { + $113 = ($111&255)>(80); + if (!($113)) { + label = 31; + } + break; + } + case 4: case 3: case 2: case 1: { + label = 31; + break; + } + case 8: { + $118 = $112 & 15; + $119 = $118&255; + _jar_xm_volume_slide($1,$119); + break; + } + case 9: { + $120 = $112 << 4; + $121 = $120&255; + _jar_xm_volume_slide($1,$121); + break; + } + case 10: { + $122 = ((($1)) + 112|0); + $123 = HEAP8[$122>>0]|0; + $124 = $123 & 15; + $125 = $124&255; + $126 = $112 << 4; + $127 = $125 | $126; + $128 = $127&255; + HEAP8[$122>>0] = $128; + break; + } + case 12: { + $129 = $112 & 15; + $130 = $129 << 4; + $131 = $130 | $129; + $132 = (+($131|0)); + $133 = $132 / 255.0; + $134 = ((($1)) + 44|0); + HEAPF32[$134>>2] = $133; + break; + } + case 15: { + $135 = $112 & 15; + $136 = ($135|0)==(0); + if (!($136)) { + $137 = ((($1)) + 91|0); + $138 = $112 << 4; + $139 = $138 | $135; + $140 = $139&255; + HEAP8[$137>>0] = $140; + } + break; + } + default: { + } + } + if ((label|0) == 31) { + $114 = (($112) + -16)|0; + $115 = (+($114|0)); + $116 = $115 * 0.015625; + $117 = ((($1)) + 40|0); + HEAPF32[$117>>2] = $116; + } + $141 = ((($2)) + 3|0); + $142 = HEAP8[$141>>0]|0; + do { + switch ($142<<24>>24) { + case 1: { + $143 = ((($2)) + 4|0); + $144 = HEAP8[$143>>0]|0; + $145 = ($144<<24>>24)==(0); + if ($145) { + return; + } + $146 = ((($1)) + 85|0); + HEAP8[$146>>0] = $144; + return; + break; + } + case 2: { + $147 = ((($2)) + 4|0); + $148 = HEAP8[$147>>0]|0; + $149 = ($148<<24>>24)==(0); + if ($149) { + return; + } + $150 = ((($1)) + 86|0); + HEAP8[$150>>0] = $148; + return; + break; + } + case 3: { + $151 = ((($2)) + 4|0); + $152 = HEAP8[$151>>0]|0; + $153 = ($152<<24>>24)==(0); + if ($153) { + return; + } + $154 = ((($1)) + 91|0); + HEAP8[$154>>0] = $152; + return; + break; + } + case 4: { + $155 = ((($2)) + 4|0); + $156 = HEAP8[$155>>0]|0; + $157 = $156&255; + $158 = $157 & 15; + $159 = ($158|0)==(0); + if (!($159)) { + $160 = ((($1)) + 112|0); + $161 = HEAP8[$160>>0]|0; + $162 = $161 & -16; + $163 = $162&255; + $164 = $163 | $158; + $165 = $164&255; + HEAP8[$160>>0] = $165; + } + $$mask266 = $157 & 240; + $166 = ($$mask266|0)==(0); + if ($166) { + return; + } + $167 = ((($1)) + 112|0); + $168 = HEAP8[$167>>0]|0; + $169 = $168 & 15; + $170 = $169&255; + $171 = $170 | $$mask266; + $172 = $171&255; + HEAP8[$167>>0] = $172; + return; + break; + } + case 5: { + $173 = ((($2)) + 4|0); + $174 = HEAP8[$173>>0]|0; + $175 = ($174<<24>>24)==(0); + if ($175) { + return; + } + $176 = ((($1)) + 81|0); + HEAP8[$176>>0] = $174; + return; + break; + } + case 6: { + $177 = ((($2)) + 4|0); + $178 = HEAP8[$177>>0]|0; + $179 = ($178<<24>>24)==(0); + if ($179) { + return; + } + $180 = ((($1)) + 81|0); + HEAP8[$180>>0] = $178; + return; + break; + } + case 7: { + $181 = ((($2)) + 4|0); + $182 = HEAP8[$181>>0]|0; + $183 = $182&255; + $184 = $183 & 15; + $185 = ($184|0)==(0); + if (!($185)) { + $186 = ((($1)) + 128|0); + $187 = HEAP8[$186>>0]|0; + $188 = $187 & -16; + $189 = $188&255; + $190 = $189 | $184; + $191 = $190&255; + HEAP8[$186>>0] = $191; + } + $$mask265 = $183 & 240; + $192 = ($$mask265|0)==(0); + if ($192) { + return; + } + $193 = ((($1)) + 128|0); + $194 = HEAP8[$193>>0]|0; + $195 = $194 & 15; + $196 = $195&255; + $197 = $196 | $$mask265; + $198 = $197&255; + HEAP8[$193>>0] = $198; + return; + break; + } + case 8: { + $199 = ((($2)) + 4|0); + $200 = HEAP8[$199>>0]|0; + $201 = (+($200&255)); + $202 = $201 / 255.0; + $203 = ((($1)) + 44|0); + HEAPF32[$203>>2] = $202; + return; + break; + } + case 9: { + $204 = ((($1)) + 12|0); + $205 = HEAP32[$204>>2]|0; + $206 = ($205|0)==(0|0); + if ($206) { + return; + } + $207 = HEAP8[$2>>0]|0; + $$off274 = (($207) + -1)<<24>>24; + $208 = ($$off274&255)<(96); + if (!($208)) { + return; + } + $209 = ((($2)) + 4|0); + $210 = HEAP8[$209>>0]|0; + $211 = $210&255; + $212 = ((($205)) + 23|0); + $213 = HEAP8[$212>>0]|0; + $214 = ($213<<24>>24)==(16); + $215 = $214 ? 7 : 8; + $216 = $211 << $215; + $217 = ((($205)) + 24|0); + $218 = HEAP32[$217>>2]|0; + $219 = ($216>>>0)<($218>>>0); + if ($219) { + $221 = (+($216>>>0)); + $222 = ((($1)) + 20|0); + HEAPF32[$222>>2] = $221; + return; + } else { + $220 = ((($1)) + 20|0); + HEAPF32[$220>>2] = -1.0; + return; + } + break; + } + case 10: { + $223 = ((($2)) + 4|0); + $224 = HEAP8[$223>>0]|0; + $225 = ($224<<24>>24)==(0); + if ($225) { + return; + } + $226 = ((($1)) + 81|0); + HEAP8[$226>>0] = $224; + return; + break; + } + case 11: { + $227 = ((($2)) + 4|0); + $228 = HEAP8[$227>>0]|0; + $229 = $228&255; + $230 = ((($0)) + 46|0); + $231 = HEAP16[$230>>1]|0; + $232 = $231&65535; + $233 = ($229>>>0)<($232>>>0); + if (!($233)) { + return; + } + $234 = ((($0)) + 368|0); + HEAP32[$234>>2] = 1; + $235 = ((($0)) + 376|0); + HEAP8[$235>>0] = $228; + return; + break; + } + case 12: { + $236 = ((($2)) + 4|0); + $237 = HEAP8[$236>>0]|0; + $238 = ($237&255)>(64); + $phitmp263 = (+($237&255)); + $phitmp264 = $phitmp263 * 0.015625; + $239 = $238 ? 1.0 : $phitmp264; + $240 = ((($1)) + 40|0); + HEAPF32[$240>>2] = $239; + return; + break; + } + case 13: { + $241 = ((($0)) + 372|0); + HEAP32[$241>>2] = 1; + $242 = ((($2)) + 4|0); + $243 = HEAP8[$242>>0]|0; + $244 = $243&255; + $245 = $244 >>> 4; + $246 = ($245*10)|0; + $247 = $244 & 15; + $248 = (($246) + ($247))|0; + $249 = $248&255; + $250 = ((($0)) + 377|0); + HEAP8[$250>>0] = $249; + return; + break; + } + case 14: { + $251 = ((($2)) + 4|0); + $252 = HEAP8[$251>>0]|0; + $253 = $252&255; + $trunc261 = ($252&255) >>> 4; + $trunc261$clear = $trunc261 & 15; + do { + switch ($trunc261$clear<<24>>24) { + case 1: { + $254 = $253 & 15; + $255 = ($254|0)==(0); + if (!($255)) { + $256 = $254&255; + $257 = ((($1)) + 87|0); + HEAP8[$257>>0] = $256; + } + $258 = ((($1)) + 87|0); + $259 = HEAP8[$258>>0]|0; + $260 = $259&255; + $261 = (0 - ($260))|0; + $262 = (+($261|0)); + _jar_xm_pitch_slide($0,$1,$262); + return; + break; + } + case 2: { + $263 = $253 & 15; + $264 = ($263|0)==(0); + if (!($264)) { + $265 = $263&255; + $266 = ((($1)) + 88|0); + HEAP8[$266>>0] = $265; + } + $267 = ((($1)) + 88|0); + $268 = HEAP8[$267>>0]|0; + $269 = (+($268&255)); + _jar_xm_pitch_slide($0,$1,$269); + return; + break; + } + case 4: { + $270 = $253 & 3; + $271 = ((($1)) + 104|0); + HEAP32[$271>>2] = $270; + $272 = $253 >>> 2; + $$lobit262 = $272 & 1; + $273 = $$lobit262 ^ 1; + $274 = ((($1)) + 108|0); + HEAP32[$274>>2] = $273; + return; + break; + } + case 5: { + $275 = ((($1)) + 16|0); + $276 = HEAP32[$275>>2]|0; + $277 = HEAP8[$276>>0]|0; + $278 = $277&255; + $$off273 = (($277) + -1)<<24>>24; + $279 = ($$off273&255)<(96); + if (!($279)) { + return; + } + $280 = ((($1)) + 12|0); + $281 = HEAP32[$280>>2]|0; + $282 = ($281|0)==(0|0); + if ($282) { + return; + } + $283 = ((($281)) + 56|0); + $284 = HEAP8[$283>>0]|0; + $285 = $284 << 24 >> 24; + $286 = (($285) + ($278))|0; + $287 = (+($286|0)); + $288 = $253 << 4; + $289 = $288 & 240; + $290 = (($289) + -128)|0; + $291 = (+($290|0)); + $292 = $291 * 0.0078125; + $293 = $292 + $287; + $294 = $293 + -1.0; + HEAPF32[$1>>2] = $294; + $295 = (+_jar_xm_period($0,$294)); + $296 = ((($1)) + 24|0); + HEAPF32[$296>>2] = $295; + _jar_xm_update_frequency($0,$1); + return; + break; + } + case 6: { + $297 = $253 & 15; + $298 = ($297|0)==(0); + if ($298) { + $311 = ((($0)) + 349|0); + $312 = HEAP8[$311>>0]|0; + $313 = ((($1)) + 98|0); + HEAP8[$313>>0] = $312; + $314 = ((($0)) + 377|0); + HEAP8[$314>>0] = $312; + return; + } + $299 = ((($1)) + 99|0); + $300 = HEAP8[$299>>0]|0; + $301 = $300&255; + $302 = ($297|0)==($301|0); + if ($302) { + HEAP8[$299>>0] = 0; + return; + } else { + $303 = (($300) + 1)<<24>>24; + HEAP8[$299>>0] = $303; + $304 = ((($0)) + 368|0); + HEAP32[$304>>2] = 1; + $305 = ((($1)) + 98|0); + $306 = HEAP8[$305>>0]|0; + $307 = ((($0)) + 377|0); + HEAP8[$307>>0] = $306; + $308 = ((($0)) + 348|0); + $309 = HEAP8[$308>>0]|0; + $310 = ((($0)) + 376|0); + HEAP8[$310>>0] = $309; + return; + } + break; + } + case 7: { + $315 = $253 & 3; + $316 = ((($1)) + 120|0); + HEAP32[$316>>2] = $315; + $317 = $253 >>> 2; + $$lobit = $317 & 1; + $318 = $$lobit ^ 1; + $319 = ((($1)) + 124|0); + HEAP32[$319>>2] = $318; + return; + break; + } + case 10: { + $320 = $253 & 15; + $321 = ($320|0)==(0); + if (!($321)) { + $322 = $320&255; + $323 = ((($1)) + 82|0); + HEAP8[$323>>0] = $322; + } + $324 = ((($1)) + 82|0); + $325 = HEAP8[$324>>0]|0; + $326 = $325&255; + $327 = $326 << 4; + $328 = $327&255; + _jar_xm_volume_slide($1,$328); + return; + break; + } + case 11: { + $329 = $253 & 15; + $330 = ($329|0)==(0); + if (!($330)) { + $331 = $329&255; + $332 = ((($1)) + 82|0); + HEAP8[$332>>0] = $331; + } + $333 = ((($1)) + 82|0); + $334 = HEAP8[$333>>0]|0; + _jar_xm_volume_slide($1,$334); + return; + break; + } + case 13: { + $335 = HEAP8[$2>>0]|0; + $336 = ($335<<24>>24)==(0); + if (!($336)) { + return; + } + $337 = HEAP8[$3>>0]|0; + $338 = ($337<<24>>24)==(0); + if (!($338)) { + return; + } + $339 = ((($1)) + 16|0); + $340 = HEAP32[$339>>2]|0; + $341 = ((($340)) + 4|0); + $342 = HEAP8[$341>>0]|0; + $343 = $342 & 15; + $344 = ($343<<24>>24)==(0); + if ($344) { + _jar_xm_trigger_note($0,$1,7); + return; + } else { + $345 = ((($1)) + 4|0); + $346 = HEAP32[$345>>2]|0; + HEAP32[$1>>2] = $346; + _jar_xm_trigger_note($0,$1,1); + return; + } + break; + } + case 14: { + $347 = ((($1)) + 16|0); + $348 = HEAP32[$347>>2]|0; + $349 = ((($348)) + 4|0); + $350 = HEAP8[$349>>0]|0; + $351 = $350 & 15; + $352 = $351&255; + $353 = ((($0)) + 328|0); + $354 = HEAP16[$353>>1]|0; + $355 = $354&65535; + $356 = Math_imul($352, $355)|0; + $357 = $356&65535; + $358 = ((($0)) + 378|0); + HEAP16[$358>>1] = $357; + return; + break; + } + default: { + return; + } + } + } while(0); + break; + } + case 15: { + $359 = ((($2)) + 4|0); + $360 = HEAP8[$359>>0]|0; + $361 = ($360<<24>>24)==(0); + if ($361) { + return; + } + $362 = ($360&255)<(32); + $363 = $360&255; + if ($362) { + $364 = ((($0)) + 328|0); + HEAP16[$364>>1] = $363; + return; + } else { + $365 = ((($0)) + 330|0); + HEAP16[$365>>1] = $363; + return; + } + break; + } + case 16: { + $366 = ((($2)) + 4|0); + $367 = HEAP8[$366>>0]|0; + $368 = ($367&255)>(64); + $phitmp = (+($367&255)); + $phitmp260 = $phitmp * 0.015625; + $369 = $368 ? 1.0 : $phitmp260; + $370 = ((($0)) + 332|0); + HEAPF32[$370>>2] = $369; + return; + break; + } + case 17: { + $371 = ((($2)) + 4|0); + $372 = HEAP8[$371>>0]|0; + $373 = ($372<<24>>24)==(0); + if ($373) { + return; + } + $374 = ((($1)) + 83|0); + HEAP8[$374>>0] = $372; + return; + break; + } + case 21: { + $375 = ((($2)) + 4|0); + $376 = HEAP8[$375>>0]|0; + $377 = $376&255; + $378 = ((($1)) + 68|0); + HEAP16[$378>>1] = $377; + $379 = ((($1)) + 70|0); + HEAP16[$379>>1] = $377; + return; + break; + } + case 25: { + $380 = ((($2)) + 4|0); + $381 = HEAP8[$380>>0]|0; + $382 = ($381<<24>>24)==(0); + if ($382) { + return; + } + $383 = ((($1)) + 84|0); + HEAP8[$383>>0] = $381; + return; + break; + } + case 27: { + $384 = ((($2)) + 4|0); + $385 = HEAP8[$384>>0]|0; + $386 = $385&255; + $387 = ($385<<24>>24)==(0); + if ($387) { + return; + } + $$mask = $386 & 240; + $388 = ($$mask|0)==(0); + if ($388) { + $389 = ((($1)) + 96|0); + $390 = HEAP8[$389>>0]|0; + $391 = $390 & -16; + $392 = $391&255; + $393 = $386 & 15; + $394 = $392 | $393; + $395 = $394&255; + $$sink = $395; + } else { + $$sink = $385; + } + $396 = ((($1)) + 96|0); + HEAP8[$396>>0] = $$sink; + return; + break; + } + case 29: { + $397 = ((($2)) + 4|0); + $398 = HEAP8[$397>>0]|0; + $399 = ($398<<24>>24)==(0); + if ($399) { + return; + } + $400 = ((($1)) + 136|0); + HEAP8[$400>>0] = $398; + return; + break; + } + case 33: { + $401 = ((($2)) + 4|0); + $402 = HEAP8[$401>>0]|0; + $403 = $402&255; + $trunc259 = ($402&255) >>> 4; + $trunc259$clear = $trunc259 & 15; + switch ($trunc259$clear<<24>>24) { + case 1: { + $404 = $403 & 15; + $405 = ($404|0)==(0); + if (!($405)) { + $406 = $404&255; + $407 = ((($1)) + 89|0); + HEAP8[$407>>0] = $406; + } + $408 = ((($1)) + 89|0); + $409 = HEAP8[$408>>0]|0; + $410 = (+($409&255)); + $411 = -$410; + _jar_xm_pitch_slide($0,$1,$411); + return; + break; + } + case 2: { + $412 = $403 & 15; + $413 = ($412|0)==(0); + if (!($413)) { + $414 = $412&255; + $415 = ((($1)) + 90|0); + HEAP8[$415>>0] = $414; + } + $416 = ((($1)) + 90|0); + $417 = HEAP8[$416>>0]|0; + $418 = (+($417&255)); + _jar_xm_pitch_slide($0,$1,$418); + return; + break; + } + default: { + return; + } + } + break; + } + default: { + return; + } + } + } while(0); +} +function _jar_xm_key_off($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 52|0); + HEAP32[$1>>2] = 0; + $2 = ((($0)) + 8|0); + $3 = HEAP32[$2>>2]|0; + $4 = ($3|0)==(0|0); + if (!($4)) { + $5 = ((($3)) + 176|0); + $6 = HEAP32[$5>>2]|0; + $7 = ($6|0)==(0); + if (!($7)) { + return; + } + } + _jar_xm_cut_note($0); + return; +} +function _jar_xm_period($0,$1) { + $0 = $0|0; + $1 = +$1; + var $$0 = 0.0, $2 = 0, $3 = 0, $4 = 0.0, $5 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($0)) + 56|0); + $3 = HEAP32[$2>>2]|0; + switch ($3|0) { + case 0: { + $4 = (+_jar_xm_linear_period($1)); + $$0 = $4; + break; + } + case 1: { + $5 = (+_jar_xm_amiga_period($1)); + $$0 = $5; + break; + } + default: { + $$0 = 0.0; + } + } + return (+$$0); +} +function _jar_xm_linear_period($0) { + $0 = +$0; + var $1 = 0.0, $2 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $1 = $0 * 64.0; + $2 = 7680.0 - $1; + return (+$2); +} +function _jar_xm_amiga_period($0) { + $0 = +$0; + var $$0 = 0, $$023 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; + var $26 = 0, $27 = 0, $28 = 0.0, $29 = 0.0, $3 = 0.0, $30 = 0.0, $31 = 0, $32 = 0, $33 = 0.0, $34 = 0.0, $35 = 0.0, $4 = 0.0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (~~(($0))>>>0); + $2 = (($1>>>0) % 12)&-1; + $3 = $0 / 12.0; + $4 = $3 + -2.0; + $5 = (~~(($4))); + $6 = (5668 + ($2<<1)|0); + $7 = HEAP16[$6>>1]|0; + $8 = (($2) + 1)|0; + $9 = (5668 + ($8<<1)|0); + $10 = HEAP16[$9>>1]|0; + $11 = $5 << 24 >> 24; + $12 = ($5<<24>>24)>(0); + if ($12) { + $13 = $7&65535; + $14 = $13 >>> $11; + $15 = $14&65535; + $16 = $10&65535; + $17 = $16 >>> $11; + $18 = $17&65535; + $$0 = $18;$$023 = $15; + } else { + $19 = ($5<<24>>24)<(0); + $20 = (0 - ($11))|0; + if ($19) { + $21 = $10&65535; + $22 = $21 << $20; + $23 = $7&65535; + $24 = $23 << $20; + $25 = $24&65535; + $26 = $22&65535; + $$0 = $26;$$023 = $25; + } else { + $$0 = $10;$$023 = $7; + } + } + $27 = $$023&65535; + $28 = (+($$023&65535)); + $29 = (+($1>>>0)); + $30 = $0 - $29; + $31 = $$0&65535; + $32 = (($31) - ($27))|0; + $33 = (+($32|0)); + $34 = $30 * $33; + $35 = $28 + $34; + return (+$35); +} +function _jar_xm_waveform($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0.0, $2 = 0, $20 = 0.0, $21 = 0.0, $22 = 0, $23 = 0, $24 = 0.0, $25 = 0.0, $3 = 0.0, $4 = 0.0; + var $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = $1 & 63; + switch ($0|0) { + case 0: { + $3 = (+($2&255)); + $4 = $3 * 6.2831840515136719; + $5 = $4 * 0.015625; + $6 = (+Math_sin((+$5))); + $7 = -$6; + $$0 = $7; + return (+$$0); + break; + } + case 1: { + $8 = $2&255; + $9 = (32 - ($8))|0; + $10 = (+($9|0)); + $11 = $10 * 0.03125; + $$0 = $11; + return (+$$0); + break; + } + case 2: { + $12 = ($2&255)>(31); + $13 = $12 ? 1.0 : -1.0; + $$0 = $13; + return (+$$0); + break; + } + case 3: { + $14 = HEAP32[937]|0; + $15 = Math_imul($14, 1103515245)|0; + $16 = (($15) + 12345)|0; + HEAP32[937] = $16; + $17 = $16 >>> 16; + $18 = $17 & 32767; + $19 = (+($18>>>0)); + $20 = $19 * 6.103515625E-5; + $21 = $20 + -1.0; + $$0 = $21; + return (+$$0); + break; + } + case 4: { + $22 = $2&255; + $23 = (($22) + -32)|0; + $24 = (+($23|0)); + $25 = $24 * 0.03125; + $$0 = $25; + return (+$$0); + break; + } + default: { + $$0 = 0.0; + return (+$$0); + } + } + return +(0.0); +} +function _jar_xm_frequency($0,$1,$2) { + $0 = $0|0; + $1 = +$1; + $2 = +$2; + var $$050 = 0.0, $$051 = 0, $$054 = 0, $$1 = 0, $$148 = 0, $$152 = 0, $$253 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0.0, $21 = 0, $22 = 0; + var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0; + var $41 = 0, $42 = 0, $43 = 0, $44 = 0.0, $45 = 0, $46 = 0.0, $47 = 0, $48 = 0, $49 = 0, $5 = 0.0, $50 = 0, $51 = 0, $52 = 0.0, $53 = 0.0, $54 = 0.0, $55 = 0.0, $56 = 0, $57 = 0.0, $58 = 0.0, $59 = 0; + var $6 = 0.0, $60 = 0, $61 = 0.0, $62 = 0.0, $63 = 0.0, $64 = 0.0, $65 = 0.0, $66 = 0.0, $7 = 0.0, $8 = 0, $9 = 0.0, $indvars$iv = 0, $indvars$iv$next = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ((($0)) + 56|0); + $4 = HEAP32[$3>>2]|0; + switch ($4|0) { + case 0: { + $5 = $2 * 64.0; + $6 = $1 - $5; + $7 = (+_jar_xm_linear_frequency($6)); + $$050 = $7; + return (+$$050); + break; + } + case 1: { + $8 = $2 == 0.0; + if ($8) { + $9 = (+_jar_xm_amiga_frequency($1)); + $$050 = $9; + return (+$$050); + } + $10 = $1 > 1712.0; + if ($10) { + $$051 = -1; + while(1) { + $11 = $$051 << 24 >> 24; + $12 = (0 - ($11))|0; + $13 = 1712 << $12; + $14 = (+($13|0)); + $15 = $14 < $1; + $16 = (($$051) + -1)<<24>>24; + if ($15) { + $$051 = $16; + } else { + $$253 = $$051; + break; + } + } + } else { + $17 = $1 < 856.0; + if ($17) { + $$152 = 1; + while(1) { + $18 = $$152 << 24 >> 24; + $19 = 856 >>> $18; + $20 = (+($19|0)); + $21 = $20 > $1; + $22 = (($$152) + 1)<<24>>24; + if ($21) { + $$152 = $22; + } else { + $$253 = $$152; + break; + } + } + } else { + $$253 = 0; + } + } + $23 = $$253 << 24 >> 24; + $24 = ($$253<<24>>24)>(0); + $25 = ($$253<<24>>24)<(0); + $26 = (0 - ($23))|0; + $indvars$iv = 0; + while(1) { + $27 = (5668 + ($indvars$iv<<1)|0); + $28 = HEAP16[$27>>1]|0; + $29 = (($indvars$iv) + 1)|0; + $30 = (5668 + ($29<<1)|0); + $31 = HEAP16[$30>>1]|0; + if ($24) { + $32 = $28&65535; + $33 = $32 >>> $23; + $34 = $33&65535; + $35 = $31&65535; + $36 = $35 >>> $23; + $37 = $36&65535; + $$1 = $37;$$148 = $34; + } else { + if ($25) { + $38 = $31&65535; + $39 = $38 << $26; + $40 = $28&65535; + $41 = $40 << $26; + $42 = $41&65535; + $43 = $39&65535; + $$1 = $43;$$148 = $42; + } else { + $$1 = $31;$$148 = $28; + } + } + $44 = (+($$1&65535)); + $45 = !($44 <= $1); + $46 = (+($$148&65535)); + $47 = !($46 >= $1); + $or$cond = $47 | $45; + $48 = $indvars$iv&255; + if (!($or$cond)) { + $$054 = $48; + break; + } + $indvars$iv$next = (($indvars$iv) + 1)|0; + $49 = ($indvars$iv$next>>>0)<(12); + if ($49) { + $indvars$iv = $indvars$iv$next; + } else { + $$054 = 0; + break; + } + } + $50 = $$253 << 24 >> 24; + $51 = (($50) + 2)|0; + $52 = (+($51|0)); + $53 = $52 * 12.0; + $54 = (+($$054&255)); + $55 = $53 + $54; + $56 = $$148&65535; + $57 = (+($$148&65535)); + $58 = $1 - $57; + $59 = $$1&65535; + $60 = (($59) - ($56))|0; + $61 = (+($60|0)); + $62 = $58 / $61; + $63 = $55 + $62; + $64 = $63 + $2; + $65 = (+_jar_xm_amiga_period($64)); + $66 = (+_jar_xm_amiga_frequency($65)); + $$050 = $66; + return (+$$050); + break; + } + default: { + $$050 = 0.0; + return (+$$050); + } + } + return +(0.0); +} +function _jar_xm_linear_frequency($0) { + $0 = +$0; + var $1 = 0.0, $2 = 0.0, $3 = 0.0, $exp2 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $1 = 4608.0 - $0; + $2 = $1 / 768.0; + $exp2 = (+_llvm_exp2_f32((+$2))); + $3 = $exp2 * 8363.0; + return (+$3); +} +function _jar_xm_amiga_frequency($0) { + $0 = +$0; + var $$0 = 0.0, $1 = 0, $2 = 0.0, $3 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $1 = $0 == 0.0; + $2 = $0 * 2.0; + $3 = 7093789.0 / $2; + $$0 = $1 ? 0.0 : $3; + return (+$$0); +} +function _jar_xm_envelope_tick($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$043 = 0, $$lcssa = 0, $$lcssa42 = 0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; + var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0.0, $56 = 0.0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0; + var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $4 = ((($1)) + 48|0); + $5 = HEAP8[$4>>0]|0; + $6 = ($5&255)<(2); + if ($6) { + $7 = ($5<<24>>24)==(1); + if (!($7)) { + return; + } + $8 = ((($1)) + 2|0); + $9 = HEAP16[$8>>1]|0; + $10 = (+($9&65535)); + $11 = $10 * 0.015625; + HEAPF32[$3>>2] = $11; + $12 = $11 > 1.0; + if (!($12)) { + return; + } + HEAPF32[$3>>2] = 1.0; + return; + } + $13 = ((($1)) + 60|0); + $14 = HEAP32[$13>>2]|0; + $15 = ($14|0)==(0); + if (!($15)) { + $16 = ((($1)) + 51|0); + $17 = HEAP8[$16>>0]|0; + $18 = $17&255; + $19 = (($1) + ($18<<2)|0); + $20 = HEAP16[$19>>1]|0; + $21 = HEAP16[$2>>1]|0; + $22 = ($21&65535)<($20&65535); + if (!($22)) { + $23 = $21&65535; + $24 = $20&65535; + $25 = ((($1)) + 50|0); + $26 = HEAP8[$25>>0]|0; + $27 = $26&255; + $28 = (($1) + ($27<<2)|0); + $29 = HEAP16[$28>>1]|0; + $30 = $29&65535; + $31 = (($23) - ($24))|0; + $32 = (($31) + ($30))|0; + $33 = $32&65535; + HEAP16[$2>>1] = $33; + } + } + $34 = HEAP8[$4>>0]|0; + $35 = ($34&255)>(2); + $36 = HEAP16[$2>>1]|0; + L15: do { + if ($35) { + $$043 = 0;$38 = 0;$41 = $36; + while(1) { + $37 = (($1) + ($38<<2)|0); + $39 = HEAP16[$37>>1]|0; + $40 = ($39&65535)>($41&65535); + if (!($40)) { + $42 = (($38) + 1)|0; + $43 = (($1) + ($42<<2)|0); + $44 = HEAP16[$43>>1]|0; + $45 = ($44&65535)<($41&65535); + if (!($45)) { + $$lcssa = $41;$$lcssa42 = $38; + break L15; + } + } + $46 = (($$043) + 1)<<24>>24; + $47 = $46&255; + $48 = HEAP8[$4>>0]|0; + $49 = $48&255; + $50 = (($49) + -2)|0; + $51 = ($47|0)<($50|0); + $52 = HEAP16[$2>>1]|0; + if ($51) { + $$043 = $46;$38 = $47;$41 = $52; + } else { + $$lcssa = $52;$$lcssa42 = $47; + break; + } + } + } else { + $$lcssa = $36;$$lcssa42 = 0; + } + } while(0); + $53 = (($1) + ($$lcssa42<<2)|0); + $54 = ((($53)) + 4|0); + $55 = (+_jar_xm_envelope_lerp($53,$54,$$lcssa)); + $56 = $55 * 0.015625; + HEAPF32[$3>>2] = $56; + $57 = ((($0)) + 52|0); + $58 = HEAP32[$57>>2]|0; + $59 = ($58|0)==(0); + if (!($59)) { + $60 = ((($1)) + 56|0); + $61 = HEAP32[$60>>2]|0; + $62 = ($61|0)==(0); + if (!($62)) { + $63 = HEAP16[$2>>1]|0; + $64 = ((($1)) + 49|0); + $65 = HEAP8[$64>>0]|0; + $66 = $65&255; + $67 = (($1) + ($66<<2)|0); + $68 = HEAP16[$67>>1]|0; + $69 = ($63<<16>>16)==($68<<16>>16); + if ($69) { + return; + } + } + } + $70 = HEAP16[$2>>1]|0; + $71 = (($70) + 1)<<16>>16; + HEAP16[$2>>1] = $71; + return; +} +function _jar_xm_envelope_lerp($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$0 = 0.0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0.0, $18 = 0, $19 = 0.0, $20 = 0.0, $21 = 0, $22 = 0, $23 = 0.0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0.0, $28 = 0.0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $3 = $2&65535; + $4 = HEAP16[$0>>1]|0; + $5 = $4&65535; + $6 = ($4&65535)<($2&65535); + if (!($6)) { + $7 = ((($0)) + 2|0); + $8 = HEAP16[$7>>1]|0; + $9 = (+($8&65535)); + $$0 = $9; + return (+$$0); + } + $10 = HEAP16[$1>>1]|0; + $11 = ($10&65535)>($2&65535); + $12 = ((($1)) + 2|0); + $13 = HEAP16[$12>>1]|0; + if ($11) { + $15 = $10&65535; + $16 = (($3) - ($5))|0; + $17 = (+($16|0)); + $18 = (($15) - ($5))|0; + $19 = (+($18|0)); + $20 = $17 / $19; + $21 = ((($0)) + 2|0); + $22 = HEAP16[$21>>1]|0; + $23 = (+($22&65535)); + $24 = 1.0 - $20; + $25 = $24 * $23; + $26 = (+($13&65535)); + $27 = $26 * $20; + $28 = $27 + $25; + $$0 = $28; + return (+$$0); + } else { + $14 = (+($13&65535)); + $$0 = $14; + return (+$$0); + } + return +(0.0); +} +function _jar_xm_post_pattern_change($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 348|0); + $2 = HEAP8[$1>>0]|0; + $3 = $2&255; + $4 = ((($0)) + 46|0); + $5 = HEAP16[$4>>1]|0; + $6 = $5&65535; + $7 = ($3>>>0)<($6>>>0); + if ($7) { + return; + } + $8 = ((($0)) + 48|0); + $9 = HEAP16[$8>>1]|0; + $10 = $9&255; + HEAP8[$1>>0] = $10; + return; +} +function _jar_xm_create_context_safe($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$0 = 0, $$06364 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; + var $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $vararg_buffer = 0, $vararg_buffer2 = 0, $vararg_buffer6 = 0, $vararg_ptr1 = 0, $vararg_ptr5 = 0, $vararg_ptr9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $vararg_buffer6 = sp + 16|0; + $vararg_buffer2 = sp + 8|0; + $vararg_buffer = sp; + $4 = (_jar_xm_check_sanity_preload($1,$2)|0); + $5 = ($4|0)==(0); + if (!($5)) { + $6 = HEAP32[1250]|0; + HEAP32[$vararg_buffer>>2] = 15284; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $4; + (_fprintf($6,15207,$vararg_buffer)|0); + (_fflush($6)|0); + $$0 = 1; + STACKTOP = sp;return ($$0|0); + } + $7 = (_jar_xm_get_memory_needed_for_context($1,$2)|0); + $8 = (_malloc($7)|0); + $9 = ($8|0)==(0|0); + $10 = ($7|0)!=(0); + $or$cond = $10 & $9; + if ($or$cond) { + $11 = HEAP32[1250]|0; + HEAP32[$vararg_buffer2>>2] = 15284; + $vararg_ptr5 = ((($vararg_buffer2)) + 4|0); + HEAP32[$vararg_ptr5>>2] = $8; + (_fprintf($11,15311,$vararg_buffer2)|0); + (_fflush($11)|0); + $$0 = 2; + STACKTOP = sp;return ($$0|0); + } + _memset(($8|0),0,($7|0))|0; + HEAP32[$0>>2] = $8; + HEAP32[$8>>2] = $8; + $12 = ((($8)) + 392|0); + $13 = ((($8)) + 324|0); + HEAP32[$13>>2] = $3; + $14 = (_jar_xm_load_module($8,$1,$2,$12)|0); + $15 = ((($8)) + 388|0); + HEAP32[$15>>2] = $14; + $16 = ((($8)) + 50|0); + $17 = HEAP16[$16>>1]|0; + $18 = $17&65535; + $19 = ($18*304)|0; + $20 = (($14) + ($19)|0); + $21 = ((($8)) + 332|0); + HEAPF32[$21>>2] = 1.0; + $22 = ((($8)) + 336|0); + HEAPF32[$22>>2] = 0.25; + $23 = ((($8)) + 340|0); + HEAPF32[$23>>2] = 0.0078125; + $24 = ((($8)) + 344|0); + HEAPF32[$24>>2] = 0.0078125; + $25 = HEAP16[$16>>1]|0; + $26 = ($25<<16>>16)==(0); + if (!($26)) { + $27 = HEAP32[$15>>2]|0; + $28 = HEAP16[$16>>1]|0; + $29 = $28&65535; + $$06364 = 0;$34 = 0; + while(1) { + $33 = (((($27) + (($34*304)|0)|0)) + 36|0); + HEAP32[$33>>2] = 1; + $35 = (((($27) + (($34*304)|0)|0)) + 104|0); + HEAP32[$35>>2] = 0; + $36 = (((($27) + (($34*304)|0)|0)) + 108|0); + HEAP32[$36>>2] = 1; + $37 = (((($27) + (($34*304)|0)|0)) + 120|0); + HEAP32[$37>>2] = 0; + $38 = (((($27) + (($34*304)|0)|0)) + 124|0); + HEAP32[$38>>2] = 1; + $39 = (((($27) + (($34*304)|0)|0)) + 56|0); + HEAPF32[$39>>2] = 1.0; + $40 = (((($27) + (($34*304)|0)|0)) + 60|0); + HEAPF32[$40>>2] = 1.0; + $41 = (((($27) + (($34*304)|0)|0)) + 40|0); + HEAPF32[$41>>2] = 1.0; + $42 = (((($27) + (($34*304)|0)|0)) + 64|0); + HEAPF32[$42>>2] = 0.5; + $43 = (((($27) + (($34*304)|0)|0)) + 44|0); + HEAPF32[$43>>2] = 0.5; + $44 = (((($27) + (($34*304)|0)|0)) + 300|0); + HEAPF32[$44>>2] = 0.0; + $45 = (((($27) + (($34*304)|0)|0)) + 296|0); + HEAPF32[$45>>2] = 0.5; + $46 = (($$06364) + 1)<<24>>24; + $47 = $46&255; + $48 = ($47>>>0)<($29>>>0); + if ($48) { + $$06364 = $46;$34 = $47; + } else { + break; + } + } + } + $30 = ((($8)) + 380|0); + HEAP32[$30>>2] = $20; + $31 = (_jar_xm_check_sanity_postload($8)|0); + $32 = ($31|0)==(0); + if ($32) { + $$0 = 0; + STACKTOP = sp;return ($$0|0); + } + $49 = HEAP32[1250]|0; + HEAP32[$vararg_buffer6>>2] = 15284; + $vararg_ptr9 = ((($vararg_buffer6)) + 4|0); + HEAP32[$vararg_ptr9>>2] = $31; + (_fprintf($49,15355,$vararg_buffer6)|0); + (_fflush($49)|0); + _jar_xm_free_context($8); + $$0 = 1; + STACKTOP = sp;return ($$0|0); +} +function _jar_xm_check_sanity_preload($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$ = 0, $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ($1>>>0)<(60); + if ($2) { + $$0 = 4; + return ($$0|0); + } + $3 = (_memcmp(15572,$0,17)|0); + $4 = ($3|0)==(0); + if (!($4)) { + $$0 = 1; + return ($$0|0); + } + $5 = ((($0)) + 37|0); + $6 = HEAP8[$5>>0]|0; + $7 = ($6<<24>>24)==(26); + if (!($7)) { + $$0 = 2; + return ($$0|0); + } + $8 = ((($0)) + 59|0); + $9 = HEAP8[$8>>0]|0; + $10 = ($9<<24>>24)==(1); + if ($10) { + $11 = ((($0)) + 58|0); + $12 = HEAP8[$11>>0]|0; + $13 = ($12<<24>>24)==(4); + $$ = $13 ? 0 : 3; + return ($$|0); + } else { + $$0 = 3; + return ($$0|0); + } + return (0)|0; +} +function _jar_xm_get_memory_needed_for_context($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0$lcssa = 0, $$0209$lcssa = 0, $$0209274 = 0, $$0212262 = 0, $$0213$lcssa = 0, $$0213261 = 0, $$0214 = 0, $$0215267 = 0, $$0216273 = 0, $$0275 = 0, $$1$lcssa = 0, $$1210268 = 0, $$1269 = 0, $$2$lcssa = 0, $$2211$lcssa = 0, $$2211263 = 0, $$2264 = 0, $$3 = 0, $$ph = 0, $$ph228 = 0; + var $$ph233 = 0, $$ph234 = 0, $$ph237 = 0, $$ph238 = 0, $$ph239 = 0, $$ph240 = 0, $$ph241 = 0, $$ph242 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0; + var $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0; + var $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0; + var $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0; + var $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0; + var $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0; + var $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0; + var $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0; + var $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0; + var $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0; + var $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $3 = 0; + var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0; + var $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0; + var $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0; + var $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $phitmp = 0, $phitmp294 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ($1>>>0)>(68); + $3 = ($1>>>0)>(69); + if ($2) { + $4 = ((($0)) + 68|0); + $5 = HEAP8[$4>>0]|0; + $6 = $5&255; + $12 = $6; + } else { + $12 = 0; + } + do { + if ($3) { + $7 = ((($0)) + 69|0); + $8 = HEAP8[$7>>0]|0; + $9 = $8&255; + $10 = $9 << 8; + $11 = $10 | $12; + $13 = ($1|0)==(70); + do { + if ($13) { + $$ph = 0;$$ph233 = 0;$$ph234 = 0; + } else { + $14 = ((($0)) + 70|0); + $15 = HEAP8[$14>>0]|0; + $16 = $15&255; + $17 = ($1>>>0)>(71); + if (!($17)) { + $18 = $16 << 3; + $$ph = $18;$$ph233 = 0;$$ph234 = $16; + break; + } + $19 = ((($0)) + 71|0); + $20 = HEAP8[$19>>0]|0; + $21 = $20&255; + $22 = $21 << 8; + $23 = $22 | $16; + $24 = $23 << 3; + $25 = ($1|0)==(72); + if ($25) { + $$ph = $24;$$ph233 = 0;$$ph234 = $23; + } else { + $26 = ((($0)) + 72|0); + $27 = HEAP8[$26>>0]|0; + $28 = $27&255; + $29 = ($1>>>0)>(73); + if ($29) { + $30 = ((($0)) + 73|0); + $31 = HEAP8[$30>>0]|0; + $32 = $31&255; + $phitmp294 = $32 << 8; + $$ph228 = $phitmp294; + } else { + $$ph228 = 0; + } + $33 = $$ph228 | $28; + $34 = ($33*280)|0; + $35 = (($34) + ($24))|0; + $$ph = $35;$$ph233 = $33;$$ph234 = $23; + } + } + } while(0); + $37 = ((($0)) + 64|0); + $38 = HEAP8[$37>>0]|0; + $39 = $38&255; + $284 = $39;$285 = $11;$286 = $$ph234;$287 = $$ph233;$288 = $$ph; + label = 14; + } else { + $36 = ($1>>>0)>(64); + if ($36) { + $40 = ((($0)) + 64|0); + $41 = HEAP8[$40>>0]|0; + $42 = $41&255; + $43 = ($1|0)==(65); + if ($43) { + $$ph237 = $42;$$ph238 = $12;$$ph239 = 0;$$ph240 = 0;$$ph241 = 0;$$ph242 = 0; + label = 15; + break; + } else { + $284 = $42;$285 = $12;$286 = 0;$287 = 0;$288 = 0; + label = 14; + break; + } + } + $61 = ($1>>>0)>(62); + if (!($61)) { + $$1$lcssa = 0;$155 = $12; + $154 = ($155*304)|0; + $156 = (($154) + 392)|0; + $157 = (($156) + ($$1$lcssa))|0; + return ($157|0); + } + $62 = ((($0)) + 61|0); + $63 = HEAP8[$62>>0]|0; + $64 = $63&255; + $65 = $64 << 8; + $66 = ((($0)) + 60|0); + $67 = HEAP8[$66>>0]|0; + $68 = $67&255; + $69 = $65 | $68; + $70 = ((($0)) + 62|0); + $71 = HEAP8[$70>>0]|0; + $72 = $71&255; + $73 = ($1|0)==(63); + if ($73) { + $$1$lcssa = 0;$155 = $12; + $154 = ($155*304)|0; + $156 = (($154) + 392)|0; + $157 = (($156) + ($$1$lcssa))|0; + return ($157|0); + } else { + $289 = 0;$79 = $72;$82 = $69;$85 = 0;$87 = $12;$89 = 0; + } + } + } while(0); + if ((label|0) == 14) { + $44 = ((($0)) + 65|0); + $45 = HEAP8[$44>>0]|0; + $46 = $45&255; + $phitmp = $46 << 8; + $$ph237 = $284;$$ph238 = $285;$$ph239 = $286;$$ph240 = $287;$$ph241 = $288;$$ph242 = $phitmp; + label = 15; + } + if ((label|0) == 15) { + $47 = $$ph242 | $$ph237; + $48 = $47 << 8; + $49 = (($48) + ($$ph241))|0; + $50 = ((($0)) + 60|0); + $51 = HEAP8[$50>>0]|0; + $52 = $51&255; + $53 = ((($0)) + 61|0); + $54 = HEAP8[$53>>0]|0; + $55 = $54&255; + $56 = $55 << 8; + $57 = $56 | $52; + $58 = ((($0)) + 62|0); + $59 = HEAP8[$58>>0]|0; + $60 = $59&255; + $289 = $49;$79 = $60;$82 = $57;$85 = $$ph239;$87 = $$ph238;$89 = $$ph240; + } + $74 = ((($0)) + 63|0); + $75 = HEAP8[$74>>0]|0; + $76 = $75&255; + $77 = $76 << 8; + $78 = $77 | $79; + $80 = $78 << 16; + $81 = $80 | $82; + $83 = (($81) + 60)|0; + $84 = ($85|0)==(0); + if ($84) { + $$0$lcssa = $289;$$0209$lcssa = $83; + } else { + $86 = ($87*5)|0; + $$0209274 = $83;$$0216273 = 0;$$0275 = $289; + while(1) { + $90 = (($$0209274) + 5)|0; + $91 = ($90>>>0)<($1>>>0); + if ($91) { + $92 = (($0) + ($90)|0); + $93 = HEAP8[$92>>0]|0; + $94 = $93&255; + $103 = $94; + } else { + $103 = 0; + } + $95 = (($$0209274) + 6)|0; + $96 = ($95>>>0)<($1>>>0); + if ($96) { + $97 = (($0) + ($95)|0); + $98 = HEAP8[$97>>0]|0; + $99 = $98&255; + $101 = $99; + } else { + $101 = 0; + } + $100 = $101 << 8; + $102 = $100 | $103; + $104 = Math_imul($86, $102)|0; + $105 = (($104) + ($$0275))|0; + $106 = ($$0209274>>>0)<($1>>>0); + if ($106) { + $107 = (($0) + ($$0209274)|0); + $108 = HEAP8[$107>>0]|0; + $109 = $108&255; + $118 = $109; + } else { + $118 = 0; + } + $110 = (($$0209274) + 1)|0; + $111 = ($110>>>0)<($1>>>0); + if ($111) { + $112 = (($0) + ($110)|0); + $113 = HEAP8[$112>>0]|0; + $114 = $113&255; + $116 = $114; + } else { + $116 = 0; + } + $115 = $116 << 8; + $117 = $115 | $118; + $119 = (($$0209274) + 2)|0; + $120 = ($119>>>0)<($1>>>0); + if ($120) { + $121 = (($0) + ($119)|0); + $122 = HEAP8[$121>>0]|0; + $123 = $122&255; + $132 = $123; + } else { + $132 = 0; + } + $124 = (($$0209274) + 3)|0; + $125 = ($124>>>0)<($1>>>0); + if ($125) { + $126 = (($0) + ($124)|0); + $127 = HEAP8[$126>>0]|0; + $128 = $127&255; + $130 = $128; + } else { + $130 = 0; + } + $129 = $130 << 8; + $131 = $129 | $132; + $133 = $131 << 16; + $134 = $117 | $133; + $135 = (($$0209274) + 7)|0; + $136 = ($135>>>0)<($1>>>0); + if ($136) { + $137 = (($0) + ($135)|0); + $138 = HEAP8[$137>>0]|0; + $139 = $138&255; + $148 = $139; + } else { + $148 = 0; + } + $140 = (($$0209274) + 8)|0; + $141 = ($140>>>0)<($1>>>0); + if ($141) { + $142 = (($0) + ($140)|0); + $143 = HEAP8[$142>>0]|0; + $144 = $143&255; + $146 = $144; + } else { + $146 = 0; + } + $145 = $146 << 8; + $147 = $145 | $148; + $149 = (($134) + ($$0209274))|0; + $150 = (($149) + ($147))|0; + $151 = (($$0216273) + 1)<<16>>16; + $152 = $151&65535; + $153 = ($152>>>0)<($85>>>0); + if ($153) { + $$0209274 = $150;$$0216273 = $151;$$0275 = $105; + } else { + $$0$lcssa = $105;$$0209$lcssa = $150; + break; + } + } + } + $88 = ($89|0)==(0); + if ($88) { + $$1$lcssa = $$0$lcssa;$155 = $87; + $154 = ($155*304)|0; + $156 = (($154) + 392)|0; + $157 = (($156) + ($$1$lcssa))|0; + return ($157|0); + } else { + $$0215267 = 0;$$1210268 = $$0209$lcssa;$$1269 = $$0$lcssa; + } + while(1) { + $158 = (($$1210268) + 27)|0; + $159 = ($158>>>0)<($1>>>0); + if ($159) { + $160 = (($0) + ($158)|0); + $161 = HEAP8[$160>>0]|0; + $162 = $161&255; + $171 = $162; + } else { + $171 = 0; + } + $163 = (($$1210268) + 28)|0; + $164 = ($163>>>0)<($1>>>0); + if ($164) { + $165 = (($0) + ($163)|0); + $166 = HEAP8[$165>>0]|0; + $167 = $166&255; + $169 = $167; + } else { + $169 = 0; + } + $168 = $169 << 8; + $170 = $168 | $171; + $172 = ($170*80)|0; + $173 = (($172) + ($$1269))|0; + $174 = ($170|0)==(0); + if ($174) { + $$0214 = 0; + } else { + $175 = (($$1210268) + 29)|0; + $176 = ($175>>>0)<($1>>>0); + if ($176) { + $177 = (($0) + ($175)|0); + $178 = HEAP8[$177>>0]|0; + $179 = $178&255; + $188 = $179; + } else { + $188 = 0; + } + $180 = (($$1210268) + 30)|0; + $181 = ($180>>>0)<($1>>>0); + if ($181) { + $182 = (($0) + ($180)|0); + $183 = HEAP8[$182>>0]|0; + $184 = $183&255; + $186 = $184; + } else { + $186 = 0; + } + $185 = $186 << 8; + $187 = $185 | $188; + $189 = (($$1210268) + 31)|0; + $190 = ($189>>>0)<($1>>>0); + if ($190) { + $191 = (($0) + ($189)|0); + $192 = HEAP8[$191>>0]|0; + $193 = $192&255; + $202 = $193; + } else { + $202 = 0; + } + $194 = (($$1210268) + 32)|0; + $195 = ($194>>>0)<($1>>>0); + if ($195) { + $196 = (($0) + ($194)|0); + $197 = HEAP8[$196>>0]|0; + $198 = $197&255; + $200 = $198; + } else { + $200 = 0; + } + $199 = $200 << 8; + $201 = $199 | $202; + $203 = $201 << 16; + $204 = $187 | $203; + $$0214 = $204; + } + $205 = ($$1210268>>>0)<($1>>>0); + if ($205) { + $206 = (($0) + ($$1210268)|0); + $207 = HEAP8[$206>>0]|0; + $208 = $207&255; + $217 = $208; + } else { + $217 = 0; + } + $209 = (($$1210268) + 1)|0; + $210 = ($209>>>0)<($1>>>0); + if ($210) { + $211 = (($0) + ($209)|0); + $212 = HEAP8[$211>>0]|0; + $213 = $212&255; + $215 = $213; + } else { + $215 = 0; + } + $214 = $215 << 8; + $216 = $214 | $217; + $218 = (($$1210268) + 2)|0; + $219 = ($218>>>0)<($1>>>0); + if ($219) { + $220 = (($0) + ($218)|0); + $221 = HEAP8[$220>>0]|0; + $222 = $221&255; + $231 = $222; + } else { + $231 = 0; + } + $223 = (($$1210268) + 3)|0; + $224 = ($223>>>0)<($1>>>0); + if ($224) { + $225 = (($0) + ($223)|0); + $226 = HEAP8[$225>>0]|0; + $227 = $226&255; + $229 = $227; + } else { + $229 = 0; + } + $228 = $229 << 8; + $230 = $228 | $231; + $232 = $230 << 16; + $233 = $216 | $232; + $234 = (($233) + ($$1210268))|0; + $235 = ($170|0)==(0); + if ($235) { + $$0213$lcssa = 0;$$2$lcssa = $173;$$2211$lcssa = $234; + } else { + $$0212262 = 0;$$0213261 = 0;$$2211263 = $234;$$2264 = $173; + while(1) { + $240 = ($$2211263>>>0)<($1>>>0); + if ($240) { + $241 = (($0) + ($$2211263)|0); + $242 = HEAP8[$241>>0]|0; + $243 = $242&255; + $252 = $243; + } else { + $252 = 0; + } + $244 = (($$2211263) + 1)|0; + $245 = ($244>>>0)<($1>>>0); + if ($245) { + $246 = (($0) + ($244)|0); + $247 = HEAP8[$246>>0]|0; + $248 = $247&255; + $250 = $248; + } else { + $250 = 0; + } + $249 = $250 << 8; + $251 = $249 | $252; + $253 = (($$2211263) + 2)|0; + $254 = ($253>>>0)<($1>>>0); + if ($254) { + $255 = (($0) + ($253)|0); + $256 = HEAP8[$255>>0]|0; + $257 = $256&255; + $266 = $257; + } else { + $266 = 0; + } + $258 = (($$2211263) + 3)|0; + $259 = ($258>>>0)<($1>>>0); + if ($259) { + $260 = (($0) + ($258)|0); + $261 = HEAP8[$260>>0]|0; + $262 = $261&255; + $264 = $262; + } else { + $264 = 0; + } + $263 = $264 << 8; + $265 = $263 | $266; + $267 = $265 << 16; + $268 = $251 | $267; + $269 = (($$2211263) + 14)|0; + $270 = ($269>>>0)<($1>>>0); + if ($270) { + $271 = (($0) + ($269)|0); + $272 = HEAP8[$271>>0]|0; + $273 = $272&255; + $276 = $273; + } else { + $276 = 0; + } + $274 = (($268) + ($$0213261))|0; + $275 = $276 >>> 4; + $277 = $275 & 1; + $278 = (2 - ($277))|0; + $279 = $268 << $278; + $$3 = (($279) + ($$2264))|0; + $280 = (($$2211263) + ($$0214))|0; + $281 = (($$0212262) + 1)<<16>>16; + $282 = $281&65535; + $283 = ($282>>>0)<($170>>>0); + if ($283) { + $$0212262 = $281;$$0213261 = $274;$$2211263 = $280;$$2264 = $$3; + } else { + $$0213$lcssa = $274;$$2$lcssa = $$3;$$2211$lcssa = $280; + break; + } + } + } + $236 = (($$2211$lcssa) + ($$0213$lcssa))|0; + $237 = (($$0215267) + 1)<<16>>16; + $238 = $237&65535; + $239 = ($238>>>0)<($89>>>0); + if ($239) { + $$0215267 = $237;$$1210268 = $236;$$1269 = $$2$lcssa; + } else { + $$1$lcssa = $$2$lcssa;$155 = $87; + break; + } + } + $154 = ($155*304)|0; + $156 = (($154) + 392)|0; + $157 = (($156) + ($$1$lcssa))|0; + return ($157|0); +} +function _jar_xm_load_module($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$0668761 = 0, $$0669766 = 0, $$0670765 = 0, $$0671$lcssa = 0, $$0671787 = 0, $$0672$lcssa = 0, $$0672786 = 0, $$0677769 = 0, $$0678785 = 0, $$0679755 = 0, $$0680753 = 0, $$0681752 = 0, $$0682783 = 0, $$0687 = 0, $$0688776 = 0, $$0689782 = 0, $$0762 = 0, $$1$lcssa = 0, $$1673777 = 0, $$1683 = 0; + var $$1778 = 0, $$2 = 0, $$2674756 = 0, $$2684 = 0, $$3$lcssa794 = 0, $$3675$lcssa = 0, $$3675770 = 0, $$3685 = 0, $$3757 = 0, $$4 = 0, $$4676 = 0, $$4686 = 0, $$5 = 0, $$ph700 = 0, $$ph701 = 0, $$ph707 = 0, $$ph708 = 0, $$ph714 = 0, $$ph715 = 0, $$ph721 = 0; + var $$ph722 = 0, $$ph729 = 0, $$ph730 = 0, $$ph731 = 0, $$ph740 = 0, $$pn = 0, $$pn693 = 0, $$pr = 0, $$sink = 0, $$sink694 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0; + var $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0; + var $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0; + var $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0; + var $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0; + var $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0; + var $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0; + var $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0; + var $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0; + var $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0; + var $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0; + var $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0; + var $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0; + var $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0; + var $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0; + var $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0; + var $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0; + var $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0; + var $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0; + var $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0; + var $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0; + var $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0; + var $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0; + var $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0; + var $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0, $531 = 0, $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0; + var $543 = 0, $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0, $549 = 0, $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0, $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0; + var $561 = 0, $562 = 0, $563 = 0, $564 = 0, $565 = 0, $566 = 0, $567 = 0, $568 = 0, $569 = 0, $57 = 0, $570 = 0, $571 = 0, $572 = 0, $573 = 0, $574 = 0, $575 = 0, $576 = 0, $577 = 0, $578 = 0, $579 = 0; + var $58 = 0, $580 = 0, $581 = 0, $582 = 0, $583 = 0, $584 = 0, $585 = 0, $586 = 0, $587 = 0, $588 = 0, $589 = 0, $59 = 0, $590 = 0, $591 = 0, $592 = 0, $593 = 0, $594 = 0, $595 = 0, $596 = 0, $597 = 0; + var $598 = 0, $599 = 0, $6 = 0, $60 = 0, $600 = 0, $601 = 0, $602 = 0, $603 = 0, $604 = 0, $605 = 0, $606 = 0, $607 = 0, $608 = 0, $609 = 0, $61 = 0, $610 = 0, $611 = 0, $612 = 0, $613 = 0, $614 = 0; + var $615 = 0, $616 = 0, $617 = 0, $618 = 0, $619 = 0, $62 = 0, $620 = 0, $621 = 0, $622 = 0, $623 = 0, $624 = 0, $625 = 0, $626 = 0, $627 = 0, $628 = 0, $629 = 0, $63 = 0, $630 = 0, $631 = 0, $632 = 0; + var $633 = 0, $634 = 0, $635 = 0, $636 = 0, $637 = 0, $638 = 0, $639 = 0, $64 = 0, $640 = 0, $641 = 0, $642 = 0, $643 = 0, $644 = 0, $645 = 0, $646 = 0, $647 = 0, $648 = 0, $649 = 0, $65 = 0, $650 = 0; + var $651 = 0, $652 = 0, $653 = 0, $654 = 0, $655 = 0, $656 = 0, $657 = 0, $658 = 0, $659 = 0, $66 = 0, $660 = 0, $661 = 0, $662 = 0, $663 = 0, $664 = 0, $665 = 0, $666 = 0, $667 = 0, $668 = 0, $669 = 0; + var $67 = 0, $670 = 0, $671 = 0, $672 = 0, $673 = 0, $674 = 0, $675 = 0, $676 = 0, $677 = 0, $678 = 0, $679 = 0, $68 = 0, $680 = 0, $681 = 0, $682 = 0, $683 = 0, $684 = 0, $685 = 0, $686 = 0, $687 = 0; + var $688 = 0, $689 = 0, $69 = 0, $690 = 0, $691 = 0, $692 = 0, $693 = 0, $694 = 0, $695 = 0, $696 = 0, $697 = 0, $698 = 0, $699 = 0, $7 = 0, $70 = 0, $700 = 0, $701 = 0, $702 = 0, $703 = 0, $704 = 0; + var $705 = 0, $706 = 0, $707 = 0, $708 = 0, $709 = 0, $71 = 0, $710 = 0, $711 = 0, $712 = 0, $713 = 0, $714 = 0, $715 = 0, $716 = 0, $717 = 0, $718 = 0, $719 = 0, $72 = 0, $720 = 0, $721 = 0, $722 = 0; + var $723 = 0, $724 = 0, $725 = 0, $726 = 0, $727 = 0, $728 = 0, $729 = 0, $73 = 0, $730 = 0, $731 = 0, $732 = 0, $733 = 0, $734 = 0, $735 = 0, $736 = 0, $737 = 0, $738 = 0, $739 = 0, $74 = 0, $740 = 0; + var $741 = 0, $742 = 0, $743 = 0, $744 = 0, $745 = 0, $746 = 0, $747 = 0, $748 = 0, $749 = 0, $75 = 0, $750 = 0, $751 = 0, $752 = 0, $753 = 0, $754 = 0, $755 = 0, $756 = 0, $757 = 0, $758 = 0, $759 = 0; + var $76 = 0, $760 = 0, $761 = 0, $762 = 0, $763 = 0, $764 = 0, $765 = 0, $766 = 0, $767 = 0, $768 = 0.0, $769 = 0, $77 = 0, $770 = 0.0, $771 = 0, $772 = 0, $773 = 0, $774 = 0, $775 = 0, $776 = 0, $777 = 0; + var $778 = 0, $779 = 0, $78 = 0, $780 = 0, $781 = 0, $782 = 0, $783 = 0, $784 = 0, $785 = 0, $786 = 0, $787 = 0, $788 = 0, $789 = 0, $79 = 0, $790 = 0, $791 = 0, $792 = 0, $793 = 0, $794 = 0, $795 = 0; + var $796 = 0, $797 = 0, $798 = 0, $799 = 0, $8 = 0, $80 = 0, $800 = 0, $801 = 0.0, $802 = 0, $803 = 0.0, $804 = 0, $805 = 0, $806 = 0, $807 = 0, $808 = 0, $809 = 0, $81 = 0, $810 = 0, $811 = 0, $812 = 0; + var $813 = 0, $814 = 0, $815 = 0, $816 = 0, $817 = 0, $818 = 0, $819 = 0, $82 = 0, $820 = 0, $821 = 0, $822 = 0, $823 = 0, $824 = 0, $825 = 0, $826 = 0, $827 = 0, $828 = 0, $829 = 0, $83 = 0, $830 = 0; + var $831 = 0, $832 = 0, $833 = 0, $834 = 0, $835 = 0, $836 = 0, $837 = 0, $838 = 0, $839 = 0, $84 = 0, $840 = 0, $841 = 0, $842 = 0, $843 = 0, $844 = 0, $845 = 0, $846 = 0, $847 = 0, $848 = 0, $849 = 0; + var $85 = 0, $850 = 0, $851 = 0, $852 = 0, $853 = 0, $854 = 0, $855 = 0, $856 = 0, $857 = 0, $858 = 0, $859 = 0, $86 = 0, $860 = 0, $861 = 0, $862 = 0, $863 = 0, $864 = 0, $865 = 0.0, $866 = 0.0, $867 = 0; + var $868 = 0, $869 = 0, $87 = 0, $870 = 0, $871 = 0, $872 = 0, $873 = 0, $874 = 0, $875 = 0, $876 = 0, $877 = 0, $878 = 0, $879 = 0, $88 = 0, $880 = 0, $881 = 0.0, $882 = 0.0, $883 = 0, $884 = 0, $885 = 0; + var $886 = 0, $887 = 0, $888 = 0, $889 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond = 0, $exitcond793 = 0, $phitmp = 0, $phitmp804 = 0; + var $sext = 0, $sext690 = 0, $sext691 = 0, $sext692 = 0, label = 0, sp = 0; + sp = STACKTOP; + $4 = ((($0)) + 4|0); + _memcpy_pad($4,20,$1,$2,17); + $5 = ((($0)) + 25|0); + _memcpy_pad($5,20,$1,$2,38); + $6 = ($2>>>0)>(60); + if ($6) { + $7 = ((($1)) + 60|0); + $8 = HEAP8[$7>>0]|0; + $9 = $8&255; + $10 = ($2|0)==(61); + if ($10) { + $$ph700 = 0;$$ph701 = $9; + label = 5; + } else { + $11 = ((($1)) + 61|0); + $12 = HEAP8[$11>>0]|0; + $13 = $12&255; + $14 = $13 << 8; + $15 = $14 | $9; + $16 = ($2>>>0)>(62); + if ($16) { + $17 = ((($1)) + 62|0); + $18 = HEAP8[$17>>0]|0; + $19 = $18&255; + $20 = ($2|0)==(63); + if ($20) { + $$ph700 = $19;$$ph701 = $15; + label = 5; + } else { + $23 = ((($1)) + 63|0); + $24 = HEAP8[$23>>0]|0; + $25 = $24&255; + $26 = $25 << 8; + $27 = $26 | $19; + $28 = $27 << 16; + $29 = $28 | $15; + $30 = ($2>>>0)>(64); + if ($30) { + $31 = ((($1)) + 64|0); + $32 = HEAP8[$31>>0]|0; + $33 = $32&255; + $34 = ($2|0)==(65); + if ($34) { + $$ph707 = $33;$$ph708 = $29; + label = 8; + } else { + $37 = ((($1)) + 65|0); + $38 = HEAP8[$37>>0]|0; + $39 = $38&255; + $40 = $39 << 8; + $41 = $40 | $33; + $42 = $41&65535; + $43 = ((($0)) + 46|0); + HEAP16[$43>>1] = $42; + $44 = ($2>>>0)>(66); + if ($44) { + $45 = ((($1)) + 66|0); + $46 = HEAP8[$45>>0]|0; + $47 = $46&255; + $48 = ($2|0)==(67); + if ($48) { + $$ph714 = $47;$$ph715 = $29; + label = 11; + } else { + $51 = ((($1)) + 67|0); + $52 = HEAP8[$51>>0]|0; + $53 = $52&255; + $54 = $53 << 8; + $55 = $54 | $47; + $56 = $55&65535; + $57 = ((($0)) + 48|0); + HEAP16[$57>>1] = $56; + $58 = ($2>>>0)>(68); + if ($58) { + $59 = ((($1)) + 68|0); + $60 = HEAP8[$59>>0]|0; + $61 = $60&255; + $62 = ($2|0)==(69); + if ($62) { + $$ph721 = $61;$$ph722 = $29; + label = 14; + } else { + $65 = ((($1)) + 69|0); + $66 = HEAP8[$65>>0]|0; + $67 = $66&255; + $68 = $67 << 8; + $69 = $68 | $61; + $70 = $69&65535; + $71 = ((($0)) + 50|0); + HEAP16[$71>>1] = $70; + $72 = ($2>>>0)>(70); + if ($72) { + $73 = ((($1)) + 70|0); + $74 = HEAP8[$73>>0]|0; + $75 = $74&255; + $76 = ($2|0)==(71); + if ($76) { + $$ph729 = $75;$$ph730 = $29;$$ph731 = $71; + label = 17; + } else { + $79 = ((($1)) + 71|0); + $80 = HEAP8[$79>>0]|0; + $81 = $80&255; + $82 = $81 << 8; + $83 = $82 | $75; + $84 = $83&65535; + $85 = ((($0)) + 52|0); + HEAP16[$85>>1] = $84; + $86 = ($2>>>0)>(72); + if ($86) { + $87 = ((($1)) + 72|0); + $88 = HEAP8[$87>>0]|0; + $89 = $88&255; + $90 = ($2|0)==(73); + if ($90) { + $101 = $85;$147 = $29;$186 = $71;$95 = 0;$96 = $89; + } else { + $91 = ((($1)) + 73|0); + $92 = HEAP8[$91>>0]|0; + $93 = $92&255; + $phitmp = $93 << 8; + $101 = $85;$147 = $29;$186 = $71;$95 = $phitmp;$96 = $89; + } + } else { + $101 = $85;$147 = $29;$186 = $71;$95 = 0;$96 = 0; + } + } + } else { + $$ph729 = 0;$$ph730 = $29;$$ph731 = $71; + label = 17; + } + } + } else { + $$ph721 = 0;$$ph722 = $29; + label = 14; + } + } + } else { + $$ph714 = 0;$$ph715 = $29; + label = 11; + } + } + } else { + $$ph707 = 0;$$ph708 = $29; + label = 8; + } + } + } else { + $$ph700 = 0;$$ph701 = $15; + label = 5; + } + } + } else { + $$ph700 = 0;$$ph701 = 0; + label = 5; + } + if ((label|0) == 5) { + $21 = $$ph700 << 16; + $22 = $$ph701 | $21; + $$ph707 = 0;$$ph708 = $22; + label = 8; + } + if ((label|0) == 8) { + $35 = $$ph707&65535; + $36 = ((($0)) + 46|0); + HEAP16[$36>>1] = $35; + $$ph714 = 0;$$ph715 = $$ph708; + label = 11; + } + if ((label|0) == 11) { + $49 = $$ph714&65535; + $50 = ((($0)) + 48|0); + HEAP16[$50>>1] = $49; + $$ph721 = 0;$$ph722 = $$ph715; + label = 14; + } + if ((label|0) == 14) { + $63 = $$ph721&65535; + $64 = ((($0)) + 50|0); + HEAP16[$64>>1] = $63; + $$ph729 = 0;$$ph730 = $$ph722;$$ph731 = $64; + label = 17; + } + if ((label|0) == 17) { + $77 = $$ph729&65535; + $78 = ((($0)) + 52|0); + HEAP16[$78>>1] = $77; + $101 = $78;$147 = $$ph730;$186 = $$ph731;$95 = 0;$96 = 0; + } + $94 = $95 | $96; + $97 = $94&65535; + $98 = ((($0)) + 54|0); + HEAP16[$98>>1] = $97; + $99 = ((($0)) + 316|0); + HEAP32[$99>>2] = $3; + $100 = HEAP16[$101>>1]|0; + $102 = $100&65535; + $103 = $102 << 3; + $104 = (($3) + ($103)|0); + $105 = ((($0)) + 320|0); + HEAP32[$105>>2] = $104; + $106 = HEAP16[$98>>1]|0; + $107 = $106&65535; + $108 = ($107*280)|0; + $109 = (($104) + ($108)|0); + $110 = ($2>>>0)>(74); + if ($110) { + $112 = ((($1)) + 74|0); + $113 = HEAP8[$112>>0]|0; + $114 = ($2>>>0)>(76); + $115 = $113 & 1; + $116 = $115 ^ 1; + $117 = $116&255; + $118 = ((($0)) + 56|0); + HEAP32[$118>>2] = $117; + if ($114) { + $119 = ($2|0)==(77); + $120 = ((($1)) + 76|0); + $121 = HEAP8[$120>>0]|0; + $122 = $121&255; + if ($119) { + $$ph740 = $122; + label = 25; + } else { + $125 = ((($1)) + 77|0); + $126 = HEAP8[$125>>0]|0; + $127 = $126&255; + $128 = $127 << 8; + $129 = $128 | $122; + $130 = $129&65535; + $131 = ((($0)) + 328|0); + HEAP16[$131>>1] = $130; + $132 = ($2>>>0)>(78); + if ($132) { + $133 = ((($1)) + 78|0); + $134 = HEAP8[$133>>0]|0; + $135 = $134&255; + $136 = ($2|0)==(79); + if ($136) { + $141 = 0;$142 = $135; + } else { + $137 = ((($1)) + 79|0); + $138 = HEAP8[$137>>0]|0; + $139 = $138&255; + $phitmp804 = $139 << 8; + $141 = $phitmp804;$142 = $135; + } + } else { + $141 = 0;$142 = 0; + } + } + } else { + $$ph740 = 0; + label = 25; + } + } else { + $111 = ((($0)) + 56|0); + HEAP32[$111>>2] = 1; + $$ph740 = 0; + label = 25; + } + if ((label|0) == 25) { + $123 = $$ph740&65535; + $124 = ((($0)) + 328|0); + HEAP16[$124>>1] = $123; + $141 = 0;$142 = 0; + } + $140 = $141 | $142; + $143 = $140&65535; + $144 = ((($0)) + 330|0); + HEAP16[$144>>1] = $143; + $145 = ((($0)) + 60|0); + _memcpy_pad($145,256,$1,$2,80); + $146 = (($147) + 60)|0; + $148 = HEAP16[$101>>1]|0; + $149 = ($148<<16>>16)==(0); + if ($149) { + $$0671$lcssa = $109;$$0672$lcssa = $146; + } else { + $$0671787 = $109;$$0672786 = $146;$$0678785 = 0;$183 = 0; + while(1) { + $152 = (($$0672786) + 7)|0; + $153 = ($152>>>0)<($2>>>0); + if ($153) { + $154 = (($1) + ($152)|0); + $155 = HEAP8[$154>>0]|0; + $156 = $155&255; + $165 = $156; + } else { + $165 = 0; + } + $157 = (($$0672786) + 8)|0; + $158 = ($157>>>0)<($2>>>0); + if ($158) { + $159 = (($1) + ($157)|0); + $160 = HEAP8[$159>>0]|0; + $161 = $160&255; + $163 = $161; + } else { + $163 = 0; + } + $162 = $163 << 8; + $164 = $162 | $165; + $166 = HEAP32[$99>>2]|0; + $167 = (($$0672786) + 5)|0; + $168 = ($167>>>0)<($2>>>0); + if ($168) { + $169 = (($1) + ($167)|0); + $170 = HEAP8[$169>>0]|0; + $171 = $170&255; + $180 = $171; + } else { + $180 = 0; + } + $172 = (($$0672786) + 6)|0; + $173 = ($172>>>0)<($2>>>0); + if ($173) { + $174 = (($1) + ($172)|0); + $175 = HEAP8[$174>>0]|0; + $176 = $175&255; + $178 = $176; + } else { + $178 = 0; + } + $177 = $178 << 8; + $179 = $177 | $180; + $181 = $179&65535; + $182 = (($166) + ($183<<3)|0); + HEAP16[$182>>1] = $181; + $184 = (((($166) + ($183<<3)|0)) + 4|0); + HEAP32[$184>>2] = $$0671787; + $185 = HEAP16[$186>>1]|0; + $187 = $185&65535; + $188 = ($179*5)|0; + $189 = Math_imul($188, $187)|0; + $190 = (($$0671787) + ($189)|0); + $191 = ($$0672786>>>0)<($2>>>0); + if ($191) { + $192 = (($1) + ($$0672786)|0); + $193 = HEAP8[$192>>0]|0; + $194 = $193&255; + $203 = $194; + } else { + $203 = 0; + } + $195 = (($$0672786) + 1)|0; + $196 = ($195>>>0)<($2>>>0); + if ($196) { + $197 = (($1) + ($195)|0); + $198 = HEAP8[$197>>0]|0; + $199 = $198&255; + $201 = $199; + } else { + $201 = 0; + } + $200 = $201 << 8; + $202 = $200 | $203; + $204 = (($$0672786) + 2)|0; + $205 = ($204>>>0)<($2>>>0); + if ($205) { + $206 = (($1) + ($204)|0); + $207 = HEAP8[$206>>0]|0; + $208 = $207&255; + $217 = $208; + } else { + $217 = 0; + } + $209 = (($$0672786) + 3)|0; + $210 = ($209>>>0)<($2>>>0); + if ($210) { + $211 = (($1) + ($209)|0); + $212 = HEAP8[$211>>0]|0; + $213 = $212&255; + $215 = $213; + } else { + $215 = 0; + } + $214 = $215 << 8; + $216 = $214 | $217; + $218 = $216 << 16; + $219 = $202 | $218; + $220 = (($219) + ($$0672786))|0; + $221 = ($164|0)==(0); + if ($221) { + $222 = HEAP32[$184>>2]|0; + $223 = HEAP16[$182>>1]|0; + $224 = $223&65535; + $225 = ($224*5)|0; + $226 = HEAP16[$186>>1]|0; + $227 = $226&65535; + $228 = Math_imul($225, $227)|0; + _memset(($222|0),0,($228|0))|0; + } else { + $$0682783 = 0;$$0689782 = 0;$230 = 0; + while(1) { + $229 = (($230) + ($220))|0; + $231 = ($229>>>0)<($2>>>0); + do { + if ($231) { + $235 = (($1) + ($229)|0); + $236 = HEAP8[$235>>0]|0; + $237 = $236&255; + $238 = HEAP32[$184>>2]|0; + $239 = $$0689782&65535; + $240 = (($238) + (($239*5)|0)|0); + $241 = $237 & 128; + $242 = ($241|0)==(0); + if ($242) { + $308 = $237;$309 = $240;$318 = $238;$319 = $239; + label = 77; + } else { + $243 = (($$0682783) + 1)<<16>>16; + $244 = $237 & 1; + $245 = ($244|0)==(0); + if ($245) { + HEAP8[$240>>0] = 0; + $$1683 = $243; + } else { + $246 = $243&65535; + $247 = (($246) + ($220))|0; + $248 = ($247>>>0)<($2>>>0); + if ($248) { + $249 = (($1) + ($247)|0); + $250 = HEAP8[$249>>0]|0; + $251 = $250&255; + $253 = $251; + } else { + $253 = 0; + } + $252 = $253&255; + HEAP8[$240>>0] = $252; + $254 = (($$0682783) + 2)<<16>>16; + $$1683 = $254; + } + $255 = $237 & 2; + $256 = ($255|0)==(0); + if ($256) { + $267 = (((($238) + (($239*5)|0)|0)) + 1|0); + HEAP8[$267>>0] = 0; + $$2684 = $$1683; + } else { + $257 = $$1683&65535; + $258 = (($257) + ($220))|0; + $259 = ($258>>>0)<($2>>>0); + if ($259) { + $260 = (($1) + ($258)|0); + $261 = HEAP8[$260>>0]|0; + $262 = $261&255; + $264 = $262; + } else { + $264 = 0; + } + $263 = $264&255; + $265 = (((($238) + (($239*5)|0)|0)) + 1|0); + HEAP8[$265>>0] = $263; + $266 = (($$1683) + 1)<<16>>16; + $$2684 = $266; + } + $268 = $237 & 4; + $269 = ($268|0)==(0); + if ($269) { + $280 = (((($238) + (($239*5)|0)|0)) + 2|0); + HEAP8[$280>>0] = 0; + $$3685 = $$2684; + } else { + $270 = $$2684&65535; + $271 = (($270) + ($220))|0; + $272 = ($271>>>0)<($2>>>0); + if ($272) { + $273 = (($1) + ($271)|0); + $274 = HEAP8[$273>>0]|0; + $275 = $274&255; + $277 = $275; + } else { + $277 = 0; + } + $276 = $277&255; + $278 = (((($238) + (($239*5)|0)|0)) + 2|0); + HEAP8[$278>>0] = $276; + $279 = (($$2684) + 1)<<16>>16; + $$3685 = $279; + } + $281 = $237 & 8; + $282 = ($281|0)==(0); + if ($282) { + $293 = (((($238) + (($239*5)|0)|0)) + 3|0); + HEAP8[$293>>0] = 0; + $$4686 = $$3685; + } else { + $283 = $$3685&65535; + $284 = (($283) + ($220))|0; + $285 = ($284>>>0)<($2>>>0); + if ($285) { + $286 = (($1) + ($284)|0); + $287 = HEAP8[$286>>0]|0; + $288 = $287&255; + $290 = $288; + } else { + $290 = 0; + } + $289 = $290&255; + $291 = (((($238) + (($239*5)|0)|0)) + 3|0); + HEAP8[$291>>0] = $289; + $292 = (($$3685) + 1)<<16>>16; + $$4686 = $292; + } + $294 = $237 & 16; + $295 = ($294|0)==(0); + if ($295) { + $306 = (((($238) + (($239*5)|0)|0)) + 4|0); + HEAP8[$306>>0] = 0; + $$5 = $$4686; + break; + } + $296 = $$4686&65535; + $297 = (($296) + ($220))|0; + $298 = ($297>>>0)<($2>>>0); + if ($298) { + $299 = (($1) + ($297)|0); + $300 = HEAP8[$299>>0]|0; + $301 = $300&255; + $303 = $301; + } else { + $303 = 0; + } + $302 = $303&255; + $304 = (((($238) + (($239*5)|0)|0)) + 4|0); + HEAP8[$304>>0] = $302; + $305 = (($$4686) + 1)<<16>>16; + $$5 = $305; + } + } else { + $232 = HEAP32[$184>>2]|0; + $233 = $$0689782&65535; + $234 = (($232) + (($233*5)|0)|0); + $308 = 0;$309 = $234;$318 = $232;$319 = $233; + label = 77; + } + } while(0); + if ((label|0) == 77) { + label = 0; + $307 = $308&255; + HEAP8[$309>>0] = $307; + $310 = (($229) + 1)|0; + $311 = ($310>>>0)<($2>>>0); + if ($311) { + $312 = (($1) + ($310)|0); + $313 = HEAP8[$312>>0]|0; + $314 = $313&255; + $316 = $314; + } else { + $316 = 0; + } + $315 = $316&255; + $317 = (((($318) + (($319*5)|0)|0)) + 1|0); + HEAP8[$317>>0] = $315; + $320 = (($229) + 2)|0; + $321 = ($320>>>0)<($2>>>0); + if ($321) { + $322 = (($1) + ($320)|0); + $323 = HEAP8[$322>>0]|0; + $324 = $323&255; + $326 = $324; + } else { + $326 = 0; + } + $325 = $326&255; + $327 = (((($318) + (($319*5)|0)|0)) + 2|0); + HEAP8[$327>>0] = $325; + $328 = (($229) + 3)|0; + $329 = ($328>>>0)<($2>>>0); + if ($329) { + $330 = (($1) + ($328)|0); + $331 = HEAP8[$330>>0]|0; + $332 = $331&255; + $334 = $332; + } else { + $334 = 0; + } + $333 = $334&255; + $335 = (((($318) + (($319*5)|0)|0)) + 3|0); + HEAP8[$335>>0] = $333; + $336 = (($229) + 4)|0; + $337 = ($336>>>0)<($2>>>0); + if ($337) { + $338 = (($1) + ($336)|0); + $339 = HEAP8[$338>>0]|0; + $340 = $339&255; + $342 = $340; + } else { + $342 = 0; + } + $341 = $342&255; + $343 = (((($318) + (($319*5)|0)|0)) + 4|0); + HEAP8[$343>>0] = $341; + $344 = (($230) + 5)|0; + $345 = $344&65535; + $$5 = $345; + } + $346 = (($$0689782) + 1)<<16>>16; + $347 = $$5&65535; + $348 = ($347>>>0)<($164>>>0); + if ($348) { + $$0682783 = $$5;$$0689782 = $346;$230 = $347; + } else { + break; + } + } + } + $349 = (($220) + ($164))|0; + $350 = (($$0678785) + 1)<<16>>16; + $351 = $350&65535; + $352 = HEAP16[$101>>1]|0; + $353 = ($350&65535)<($352&65535); + if ($353) { + $$0671787 = $190;$$0672786 = $349;$$0678785 = $350;$183 = $351; + } else { + $$0671$lcssa = $190;$$0672$lcssa = $349; + break; + } + } + } + $150 = HEAP16[$98>>1]|0; + $151 = ($150<<16>>16)==(0); + if ($151) { + $$1$lcssa = $$0671$lcssa; + return ($$1$lcssa|0); + } else { + $$0688776 = 0;$$1673777 = $$0672$lcssa;$$1778 = $$0671$lcssa; + } + while(1) { + $354 = $$0688776&65535; + $355 = HEAP32[$105>>2]|0; + $356 = (($355) + (($354*280)|0)|0); + $357 = (($$1673777) + 4)|0; + _memcpy_pad($356,22,$1,$2,$357); + $358 = (($$1673777) + 27)|0; + $359 = ($358>>>0)<($2>>>0); + if ($359) { + $360 = (($1) + ($358)|0); + $361 = HEAP8[$360>>0]|0; + $362 = $361&255; + $371 = $362; + } else { + $371 = 0; + } + $363 = (($$1673777) + 28)|0; + $364 = ($363>>>0)<($2>>>0); + if ($364) { + $365 = (($1) + ($363)|0); + $366 = HEAP8[$365>>0]|0; + $367 = $366&255; + $369 = $367; + } else { + $369 = 0; + } + $368 = $369 << 8; + $370 = $368 | $371; + $372 = $370&65535; + $373 = (((($355) + (($354*280)|0)|0)) + 24|0); + HEAP16[$373>>1] = $372; + $374 = ($370|0)==(0); + if ($374) { + $629 = (((($355) + (($354*280)|0)|0)) + 276|0); + HEAP32[$629>>2] = 0; + $$0687 = 0;$$2 = $$1778; + } else { + $375 = (($$1673777) + 29)|0; + $376 = ($375>>>0)<($2>>>0); + if ($376) { + $377 = (($1) + ($375)|0); + $378 = HEAP8[$377>>0]|0; + $379 = $378&255; + $388 = $379; + } else { + $388 = 0; + } + $380 = (($$1673777) + 30)|0; + $381 = ($380>>>0)<($2>>>0); + if ($381) { + $382 = (($1) + ($380)|0); + $383 = HEAP8[$382>>0]|0; + $384 = $383&255; + $386 = $384; + } else { + $386 = 0; + } + $385 = $386 << 8; + $387 = $385 | $388; + $389 = (($$1673777) + 31)|0; + $390 = ($389>>>0)<($2>>>0); + if ($390) { + $391 = (($1) + ($389)|0); + $392 = HEAP8[$391>>0]|0; + $393 = $392&255; + $402 = $393; + } else { + $402 = 0; + } + $394 = (($$1673777) + 32)|0; + $395 = ($394>>>0)<($2>>>0); + if ($395) { + $396 = (($1) + ($394)|0); + $397 = HEAP8[$396>>0]|0; + $398 = $397&255; + $400 = $398; + } else { + $400 = 0; + } + $399 = $400 << 8; + $401 = $399 | $402; + $403 = $401 << 16; + $404 = $387 | $403; + $405 = (((($355) + (($354*280)|0)|0)) + 26|0); + $406 = (($$1673777) + 33)|0; + _memcpy_pad($405,96,$1,$2,$406); + $407 = (($$1673777) + 225)|0; + $408 = ($407>>>0)<($2>>>0); + if ($408) { + $409 = (($1) + ($407)|0); + $410 = HEAP8[$409>>0]|0; + $411 = $410&255; + $413 = $411; + } else { + $413 = 0; + } + $412 = $413&255; + $414 = (((($355) + (($354*280)|0)|0)) + 172|0); + HEAP8[$414>>0] = $412; + $415 = (($$1673777) + 226)|0; + $416 = ($415>>>0)<($2>>>0); + if ($416) { + $417 = (($1) + ($415)|0); + $418 = HEAP8[$417>>0]|0; + $419 = $418&255; + $421 = $419; + } else { + $421 = 0; + } + $420 = $421&255; + $422 = (((($355) + (($354*280)|0)|0)) + 236|0); + HEAP8[$422>>0] = $420; + $423 = HEAP8[$414>>0]|0; + $424 = ($423<<24>>24)==(0); + if ($424) { + $427 = $420; + } else { + $425 = (($$1673777) + 129)|0; + $$0681752 = 0;$430 = 0; + while(1) { + $429 = $430 << 2; + $431 = (($425) + ($429))|0; + $432 = ($431>>>0)<($2>>>0); + if ($432) { + $433 = (($1) + ($431)|0); + $434 = HEAP8[$433>>0]|0; + $435 = $434&255; + $444 = $435; + } else { + $444 = 0; + } + $436 = (($431) + 1)|0; + $437 = ($436>>>0)<($2>>>0); + if ($437) { + $438 = (($1) + ($436)|0); + $439 = HEAP8[$438>>0]|0; + $440 = $439&255; + $442 = $440; + } else { + $442 = 0; + } + $441 = $442 << 8; + $443 = $441 | $444; + $445 = $443&65535; + $446 = ((((($355) + (($354*280)|0)|0)) + 124|0) + ($430<<2)|0); + HEAP16[$446>>1] = $445; + $447 = (($431) + 2)|0; + $448 = ($447>>>0)<($2>>>0); + if ($448) { + $449 = (($1) + ($447)|0); + $450 = HEAP8[$449>>0]|0; + $451 = $450&255; + $460 = $451; + } else { + $460 = 0; + } + $452 = (($431) + 3)|0; + $453 = ($452>>>0)<($2>>>0); + if ($453) { + $454 = (($1) + ($452)|0); + $455 = HEAP8[$454>>0]|0; + $456 = $455&255; + $458 = $456; + } else { + $458 = 0; + } + $457 = $458 << 8; + $459 = $457 | $460; + $461 = $459&65535; + $462 = ((((((($355) + (($354*280)|0)|0)) + 124|0) + ($430<<2)|0)) + 2|0); + HEAP16[$462>>1] = $461; + $463 = (($$0681752) + 1)<<24>>24; + $464 = $463&255; + $465 = HEAP8[$414>>0]|0; + $466 = ($463&255)<($465&255); + if ($466) { + $$0681752 = $463;$430 = $464; + } else { + break; + } + } + $$pr = HEAP8[$422>>0]|0; + $427 = $$pr; + } + $426 = ($427<<24>>24)==(0); + if (!($426)) { + $428 = (($$1673777) + 177)|0; + $$0680753 = 0;$470 = 0; + while(1) { + $469 = $470 << 2; + $471 = (($428) + ($469))|0; + $472 = ($471>>>0)<($2>>>0); + if ($472) { + $473 = (($1) + ($471)|0); + $474 = HEAP8[$473>>0]|0; + $475 = $474&255; + $484 = $475; + } else { + $484 = 0; + } + $476 = (($471) + 1)|0; + $477 = ($476>>>0)<($2>>>0); + if ($477) { + $478 = (($1) + ($476)|0); + $479 = HEAP8[$478>>0]|0; + $480 = $479&255; + $482 = $480; + } else { + $482 = 0; + } + $481 = $482 << 8; + $483 = $481 | $484; + $485 = $483&65535; + $486 = ((((($355) + (($354*280)|0)|0)) + 188|0) + ($470<<2)|0); + HEAP16[$486>>1] = $485; + $487 = (($471) + 2)|0; + $488 = ($487>>>0)<($2>>>0); + if ($488) { + $489 = (($1) + ($487)|0); + $490 = HEAP8[$489>>0]|0; + $491 = $490&255; + $500 = $491; + } else { + $500 = 0; + } + $492 = (($471) + 3)|0; + $493 = ($492>>>0)<($2>>>0); + if ($493) { + $494 = (($1) + ($492)|0); + $495 = HEAP8[$494>>0]|0; + $496 = $495&255; + $498 = $496; + } else { + $498 = 0; + } + $497 = $498 << 8; + $499 = $497 | $500; + $501 = $499&65535; + $502 = ((((((($355) + (($354*280)|0)|0)) + 188|0) + ($470<<2)|0)) + 2|0); + HEAP16[$502>>1] = $501; + $503 = (($$0680753) + 1)<<24>>24; + $504 = $503&255; + $505 = HEAP8[$422>>0]|0; + $506 = ($503&255)<($505&255); + if ($506) { + $$0680753 = $503;$470 = $504; + } else { + break; + } + } + } + $467 = (($$1673777) + 227)|0; + $468 = ($467>>>0)<($2>>>0); + if ($468) { + $507 = (($1) + ($467)|0); + $508 = HEAP8[$507>>0]|0; + $509 = $508&255; + $511 = $509; + } else { + $511 = 0; + } + $510 = $511&255; + $512 = (((($355) + (($354*280)|0)|0)) + 173|0); + HEAP8[$512>>0] = $510; + $513 = (($$1673777) + 228)|0; + $514 = ($513>>>0)<($2>>>0); + if ($514) { + $515 = (($1) + ($513)|0); + $516 = HEAP8[$515>>0]|0; + $517 = $516&255; + $519 = $517; + } else { + $519 = 0; + } + $518 = $519&255; + $520 = (((($355) + (($354*280)|0)|0)) + 174|0); + HEAP8[$520>>0] = $518; + $521 = (($$1673777) + 229)|0; + $522 = ($521>>>0)<($2>>>0); + if ($522) { + $523 = (($1) + ($521)|0); + $524 = HEAP8[$523>>0]|0; + $525 = $524&255; + $527 = $525; + } else { + $527 = 0; + } + $526 = $527&255; + $528 = (((($355) + (($354*280)|0)|0)) + 175|0); + HEAP8[$528>>0] = $526; + $529 = (($$1673777) + 230)|0; + $530 = ($529>>>0)<($2>>>0); + if ($530) { + $531 = (($1) + ($529)|0); + $532 = HEAP8[$531>>0]|0; + $533 = $532&255; + $535 = $533; + } else { + $535 = 0; + } + $534 = $535&255; + $536 = (((($355) + (($354*280)|0)|0)) + 237|0); + HEAP8[$536>>0] = $534; + $537 = (($$1673777) + 231)|0; + $538 = ($537>>>0)<($2>>>0); + if ($538) { + $539 = (($1) + ($537)|0); + $540 = HEAP8[$539>>0]|0; + $541 = $540&255; + $543 = $541; + } else { + $543 = 0; + } + $542 = $543&255; + $544 = (((($355) + (($354*280)|0)|0)) + 238|0); + HEAP8[$544>>0] = $542; + $545 = (($$1673777) + 232)|0; + $546 = ($545>>>0)<($2>>>0); + if ($546) { + $547 = (($1) + ($545)|0); + $548 = HEAP8[$547>>0]|0; + $549 = $548&255; + $551 = $549; + } else { + $551 = 0; + } + $550 = $551&255; + $552 = (((($355) + (($354*280)|0)|0)) + 239|0); + HEAP8[$552>>0] = $550; + $553 = (($$1673777) + 233)|0; + $554 = ($553>>>0)<($2>>>0); + if ($554) { + $555 = (($1) + ($553)|0); + $556 = HEAP8[$555>>0]|0; + $557 = $556&255; + $559 = $557; + } else { + $559 = 0; + } + $558 = $559 & 1; + $560 = (((($355) + (($354*280)|0)|0)) + 176|0); + HEAP32[$560>>2] = $558; + $561 = $559 & 2; + $562 = (((($355) + (($354*280)|0)|0)) + 180|0); + HEAP32[$562>>2] = $561; + $563 = $559 & 4; + $564 = (((($355) + (($354*280)|0)|0)) + 184|0); + HEAP32[$564>>2] = $563; + $565 = (($$1673777) + 234)|0; + $566 = ($565>>>0)<($2>>>0); + if ($566) { + $567 = (($1) + ($565)|0); + $568 = HEAP8[$567>>0]|0; + $569 = $568&255; + $571 = $569; + } else { + $571 = 0; + } + $570 = $571 & 1; + $572 = (((($355) + (($354*280)|0)|0)) + 240|0); + HEAP32[$572>>2] = $570; + $573 = $571 & 2; + $574 = (((($355) + (($354*280)|0)|0)) + 244|0); + HEAP32[$574>>2] = $573; + $575 = $571 & 4; + $576 = (((($355) + (($354*280)|0)|0)) + 248|0); + HEAP32[$576>>2] = $575; + $577 = (($$1673777) + 235)|0; + $578 = ($577>>>0)<($2>>>0); + L213: do { + if ($578) { + $580 = (($1) + ($577)|0); + $581 = HEAP8[$580>>0]|0; + $582 = $581&255; + $583 = (((($355) + (($354*280)|0)|0)) + 252|0); + HEAP32[$583>>2] = $582; + switch ($581<<24>>24) { + case 2: { + $$sink694 = 1; + break; + } + case 1: { + $$sink694 = 2; + break; + } + default: { + break L213; + } + } + HEAP32[$583>>2] = $$sink694; + } else { + $579 = (((($355) + (($354*280)|0)|0)) + 252|0); + HEAP32[$579>>2] = 0; + } + } while(0); + $584 = (($$1673777) + 236)|0; + $585 = ($584>>>0)<($2>>>0); + if ($585) { + $586 = (($1) + ($584)|0); + $587 = HEAP8[$586>>0]|0; + $588 = $587&255; + $590 = $588; + } else { + $590 = 0; + } + $589 = $590&255; + $591 = (((($355) + (($354*280)|0)|0)) + 256|0); + HEAP8[$591>>0] = $589; + $592 = (($$1673777) + 237)|0; + $593 = ($592>>>0)<($2>>>0); + if ($593) { + $594 = (($1) + ($592)|0); + $595 = HEAP8[$594>>0]|0; + $596 = $595&255; + $598 = $596; + } else { + $598 = 0; + } + $597 = $598&255; + $599 = (((($355) + (($354*280)|0)|0)) + 257|0); + HEAP8[$599>>0] = $597; + $600 = (($$1673777) + 238)|0; + $601 = ($600>>>0)<($2>>>0); + if ($601) { + $602 = (($1) + ($600)|0); + $603 = HEAP8[$602>>0]|0; + $604 = $603&255; + $606 = $604; + } else { + $606 = 0; + } + $605 = $606&255; + $607 = (((($355) + (($354*280)|0)|0)) + 258|0); + HEAP8[$607>>0] = $605; + $608 = (($$1673777) + 239)|0; + $609 = ($608>>>0)<($2>>>0); + if ($609) { + $610 = (($1) + ($608)|0); + $611 = HEAP8[$610>>0]|0; + $612 = $611&255; + $621 = $612; + } else { + $621 = 0; + } + $613 = (($$1673777) + 240)|0; + $614 = ($613>>>0)<($2>>>0); + if ($614) { + $615 = (($1) + ($613)|0); + $616 = HEAP8[$615>>0]|0; + $617 = $616&255; + $619 = $617; + } else { + $619 = 0; + } + $618 = $619 << 8; + $620 = $618 | $621; + $622 = $620&65535; + $623 = (((($355) + (($354*280)|0)|0)) + 260|0); + HEAP16[$623>>1] = $622; + $624 = (((($355) + (($354*280)|0)|0)) + 276|0); + HEAP32[$624>>2] = $$1778; + $625 = HEAP16[$373>>1]|0; + $626 = $625&65535; + $627 = ($626*80)|0; + $628 = (($$1778) + ($627)|0); + $$0687 = $404;$$2 = $628; + } + $630 = ($$1673777>>>0)<($2>>>0); + if ($630) { + $631 = (($1) + ($$1673777)|0); + $632 = HEAP8[$631>>0]|0; + $633 = $632&255; + $642 = $633; + } else { + $642 = 0; + } + $634 = (($$1673777) + 1)|0; + $635 = ($634>>>0)<($2>>>0); + if ($635) { + $636 = (($1) + ($634)|0); + $637 = HEAP8[$636>>0]|0; + $638 = $637&255; + $640 = $638; + } else { + $640 = 0; + } + $639 = $640 << 8; + $641 = $639 | $642; + $643 = (($$1673777) + 2)|0; + $644 = ($643>>>0)<($2>>>0); + if ($644) { + $645 = (($1) + ($643)|0); + $646 = HEAP8[$645>>0]|0; + $647 = $646&255; + $656 = $647; + } else { + $656 = 0; + } + $648 = (($$1673777) + 3)|0; + $649 = ($648>>>0)<($2>>>0); + if ($649) { + $650 = (($1) + ($648)|0); + $651 = HEAP8[$650>>0]|0; + $652 = $651&255; + $654 = $652; + } else { + $654 = 0; + } + $653 = $654 << 8; + $655 = $653 | $656; + $657 = $655 << 16; + $658 = $641 | $657; + $659 = (($658) + ($$1673777))|0; + $660 = HEAP16[$373>>1]|0; + $661 = ($660<<16>>16)==(0); + if ($661) { + $$3$lcssa794 = $$2;$$3675$lcssa = $659; + } else { + $662 = (((($355) + (($354*280)|0)|0)) + 276|0); + $$0679755 = 0;$$2674756 = $659;$$3757 = $$2; + while(1) { + $666 = $$0679755&65535; + $667 = HEAP32[$662>>2]|0; + $668 = ($$2674756>>>0)<($2>>>0); + if ($668) { + $669 = (($1) + ($$2674756)|0); + $670 = HEAP8[$669>>0]|0; + $671 = $670&255; + $680 = $671; + } else { + $680 = 0; + } + $672 = (($$2674756) + 1)|0; + $673 = ($672>>>0)<($2>>>0); + if ($673) { + $674 = (($1) + ($672)|0); + $675 = HEAP8[$674>>0]|0; + $676 = $675&255; + $678 = $676; + } else { + $678 = 0; + } + $677 = $678 << 8; + $679 = $677 | $680; + $681 = (($$2674756) + 2)|0; + $682 = ($681>>>0)<($2>>>0); + if ($682) { + $683 = (($1) + ($681)|0); + $684 = HEAP8[$683>>0]|0; + $685 = $684&255; + $694 = $685; + } else { + $694 = 0; + } + $686 = (($$2674756) + 3)|0; + $687 = ($686>>>0)<($2>>>0); + if ($687) { + $688 = (($1) + ($686)|0); + $689 = HEAP8[$688>>0]|0; + $690 = $689&255; + $692 = $690; + } else { + $692 = 0; + } + $691 = $692 << 8; + $693 = $691 | $694; + $695 = $693 << 16; + $696 = $679 | $695; + $697 = (((($667) + (($666*80)|0)|0)) + 24|0); + HEAP32[$697>>2] = $696; + $698 = (($$2674756) + 4)|0; + $699 = ($698>>>0)<($2>>>0); + if ($699) { + $700 = (($1) + ($698)|0); + $701 = HEAP8[$700>>0]|0; + $702 = $701&255; + $711 = $702; + } else { + $711 = 0; + } + $703 = (($$2674756) + 5)|0; + $704 = ($703>>>0)<($2>>>0); + if ($704) { + $705 = (($1) + ($703)|0); + $706 = HEAP8[$705>>0]|0; + $707 = $706&255; + $709 = $707; + } else { + $709 = 0; + } + $708 = $709 << 8; + $710 = $708 | $711; + $712 = (($$2674756) + 6)|0; + $713 = ($712>>>0)<($2>>>0); + if ($713) { + $714 = (($1) + ($712)|0); + $715 = HEAP8[$714>>0]|0; + $716 = $715&255; + $725 = $716; + } else { + $725 = 0; + } + $717 = (($$2674756) + 7)|0; + $718 = ($717>>>0)<($2>>>0); + if ($718) { + $719 = (($1) + ($717)|0); + $720 = HEAP8[$719>>0]|0; + $721 = $720&255; + $723 = $721; + } else { + $723 = 0; + } + $722 = $723 << 8; + $724 = $722 | $725; + $726 = $724 << 16; + $727 = $710 | $726; + $728 = (((($667) + (($666*80)|0)|0)) + 28|0); + HEAP32[$728>>2] = $727; + $729 = (($$2674756) + 8)|0; + $730 = ($729>>>0)<($2>>>0); + if ($730) { + $731 = (($1) + ($729)|0); + $732 = HEAP8[$731>>0]|0; + $733 = $732&255; + $742 = $733; + } else { + $742 = 0; + } + $734 = (($$2674756) + 9)|0; + $735 = ($734>>>0)<($2>>>0); + if ($735) { + $736 = (($1) + ($734)|0); + $737 = HEAP8[$736>>0]|0; + $738 = $737&255; + $740 = $738; + } else { + $740 = 0; + } + $739 = $740 << 8; + $741 = $739 | $742; + $743 = (($$2674756) + 10)|0; + $744 = ($743>>>0)<($2>>>0); + if ($744) { + $745 = (($1) + ($743)|0); + $746 = HEAP8[$745>>0]|0; + $747 = $746&255; + $756 = $747; + } else { + $756 = 0; + } + $748 = (($$2674756) + 11)|0; + $749 = ($748>>>0)<($2>>>0); + if ($749) { + $750 = (($1) + ($748)|0); + $751 = HEAP8[$750>>0]|0; + $752 = $751&255; + $754 = $752; + } else { + $754 = 0; + } + $753 = $754 << 8; + $755 = $753 | $756; + $757 = $755 << 16; + $758 = $741 | $757; + $759 = (((($667) + (($666*80)|0)|0)) + 32|0); + HEAP32[$759>>2] = $758; + $760 = HEAP32[$728>>2]|0; + $761 = (($758) + ($760))|0; + $762 = (((($667) + (($666*80)|0)|0)) + 36|0); + HEAP32[$762>>2] = $761; + $763 = (($$2674756) + 12)|0; + $764 = ($763>>>0)<($2>>>0); + if ($764) { + $765 = (($1) + ($763)|0); + $766 = HEAP8[$765>>0]|0; + $767 = $766&255; + $769 = $767; + } else { + $769 = 0; + } + $768 = (+($769|0)); + $770 = $768 * 0.015625; + $771 = (((($667) + (($666*80)|0)|0)) + 40|0); + HEAPF32[$771>>2] = $770; + $772 = (($$2674756) + 13)|0; + $773 = ($772>>>0)<($2>>>0); + if ($773) { + $774 = (($1) + ($772)|0); + $775 = HEAP8[$774>>0]|0; + $776 = $775&255; + $778 = $776; + } else { + $778 = 0; + } + $777 = $778&255; + $779 = (((($667) + (($666*80)|0)|0)) + 44|0); + HEAP8[$779>>0] = $777; + $780 = (($$2674756) + 14)|0; + $781 = ($780>>>0)<($2>>>0); + do { + if ($781) { + $782 = (($1) + ($780)|0); + $783 = HEAP8[$782>>0]|0; + $784 = $783&255; + $785 = $784 & 3; + $786 = ($785|0)==(0); + if ($786) { + $889 = $784; + label = 204; + break; + } + $788 = ($785|0)==(1); + $789 = (((($667) + (($666*80)|0)|0)) + 48|0); + $$sink = $788 ? 1 : 2; + HEAP32[$789>>2] = $$sink; + $791 = $784; + } else { + $889 = 0; + label = 204; + } + } while(0); + if ((label|0) == 204) { + label = 0; + $787 = (((($667) + (($666*80)|0)|0)) + 48|0); + HEAP32[$787>>2] = 0; + $791 = $889; + } + $790 = $791 >>> 1; + $792 = $790 & 8; + $793 = (($792) + 8)|0; + $794 = $793&255; + $795 = (((($667) + (($666*80)|0)|0)) + 23|0); + HEAP8[$795>>0] = $794; + $796 = (($$2674756) + 15)|0; + $797 = ($796>>>0)<($2>>>0); + if ($797) { + $798 = (($1) + ($796)|0); + $799 = HEAP8[$798>>0]|0; + $800 = $799&255; + $802 = $800; + } else { + $802 = 0; + } + $801 = (+($802|0)); + $803 = $801 / 255.0; + $804 = (((($667) + (($666*80)|0)|0)) + 52|0); + HEAPF32[$804>>2] = $803; + $805 = (($$2674756) + 16)|0; + $806 = ($805>>>0)<($2>>>0); + if ($806) { + $807 = (($1) + ($805)|0); + $808 = HEAP8[$807>>0]|0; + $809 = $808&255; + $811 = $809; + } else { + $811 = 0; + } + $810 = $811&255; + $812 = (((($667) + (($666*80)|0)|0)) + 56|0); + HEAP8[$812>>0] = $810; + $813 = (($667) + (($666*80)|0)|0); + _memcpy_pad($813,22,$1,$2,18); + $814 = (((($667) + (($666*80)|0)|0)) + 72|0); + HEAP32[$814>>2] = $$3757; + $815 = HEAP8[$795>>0]|0; + $816 = ($815<<24>>24)==(16); + $817 = HEAP32[$697>>2]|0; + if ($816) { + $818 = $817 << 1; + $819 = HEAP32[$728>>2]|0; + $820 = $819 >>> 1; + HEAP32[$728>>2] = $820; + $821 = HEAP32[$759>>2]|0; + $822 = $821 >>> 1; + HEAP32[$759>>2] = $822; + $823 = HEAP32[$762>>2]|0; + $824 = $823 >>> 1; + HEAP32[$762>>2] = $824; + $825 = HEAP32[$697>>2]|0; + $826 = $825 >>> 1; + HEAP32[$697>>2] = $826; + $$pn693 = $818; + } else { + $827 = $817 << 2; + $$pn693 = $827; + } + $$4 = (($$3757) + ($$pn693)|0); + $828 = (($$2674756) + ($$0687))|0; + $829 = (($$0679755) + 1)<<16>>16; + $664 = HEAP16[$373>>1]|0; + $830 = ($829&65535)<($664&65535); + if ($830) { + $$0679755 = $829;$$2674756 = $828;$$3757 = $$4; + } else { + break; + } + } + $663 = ($664<<16>>16)==(0); + if ($663) { + $$3$lcssa794 = $$4;$$3675$lcssa = $828; + } else { + $665 = (((($355) + (($354*280)|0)|0)) + 276|0); + $$0677769 = 0;$$3675770 = $828; + while(1) { + $834 = $$0677769&65535; + $835 = HEAP32[$665>>2]|0; + $836 = (((($835) + (($834*80)|0)|0)) + 24|0); + $837 = HEAP32[$836>>2]|0; + $838 = (((($835) + (($834*80)|0)|0)) + 23|0); + $839 = HEAP8[$838>>0]|0; + $840 = ($839<<24>>24)==(16); + $841 = ($837|0)!=(0); + if ($840) { + if ($841) { + $843 = (((($835) + (($834*80)|0)|0)) + 72|0); + $$0669766 = 0;$$0670765 = 0; + while(1) { + $sext691 = $$0670765 << 16; + $846 = $sext691 >> 16; + $847 = $$0669766 << 1; + $848 = (($847) + ($$3675770))|0; + $849 = ($848>>>0)<($2>>>0); + if ($849) { + $850 = (($1) + ($848)|0); + $851 = HEAP8[$850>>0]|0; + $852 = $851&255; + $861 = $852; + } else { + $861 = 0; + } + $853 = (($848) + 1)|0; + $854 = ($853>>>0)<($2>>>0); + if ($854) { + $855 = (($1) + ($853)|0); + $856 = HEAP8[$855>>0]|0; + $857 = $856&255; + $859 = $857; + } else { + $859 = 0; + } + $858 = $859 << 8; + $860 = $858 | $861; + $sext692 = $860 << 16; + $862 = $sext692 >> 16; + $863 = (($862) + ($846))|0; + $864 = $863&65535; + $865 = (+($864<<16>>16)); + $866 = $865 * 3.0517578125E-5; + $867 = HEAP32[$843>>2]|0; + $868 = (($867) + ($$0669766<<2)|0); + HEAPF32[$868>>2] = $866; + $869 = (($$0669766) + 1)|0; + $exitcond793 = ($869|0)==($837|0); + if ($exitcond793) { + break; + } else { + $$0669766 = $869;$$0670765 = $863; + } + } + } + $844 = HEAP32[$836>>2]|0; + $845 = $844 << 1; + $$pn = $845; + } else { + if ($841) { + $842 = (((($835) + (($834*80)|0)|0)) + 72|0); + $$0668761 = 0;$$0762 = 0; + while(1) { + $sext = $$0668761 << 24; + $871 = $sext >> 24; + $872 = (($$0762) + ($$3675770))|0; + $873 = ($872>>>0)<($2>>>0); + if ($873) { + $874 = (($1) + ($872)|0); + $875 = HEAP8[$874>>0]|0; + $876 = $875&255; + $877 = $876; + } else { + $877 = 0; + } + $sext690 = $877 << 24; + $878 = $sext690 >> 24; + $879 = (($878) + ($871))|0; + $880 = $879&255; + $881 = (+($880<<24>>24)); + $882 = $881 * 0.0078125; + $883 = HEAP32[$842>>2]|0; + $884 = (($883) + ($$0762<<2)|0); + HEAPF32[$884>>2] = $882; + $885 = (($$0762) + 1)|0; + $exitcond = ($885|0)==($837|0); + if ($exitcond) { + break; + } else { + $$0668761 = $879;$$0762 = $885; + } + } + } + $870 = HEAP32[$836>>2]|0; + $$pn = $870; + } + $$4676 = (($$pn) + ($$3675770))|0; + $886 = (($$0677769) + 1)<<16>>16; + $887 = HEAP16[$373>>1]|0; + $888 = ($886&65535)<($887&65535); + if ($888) { + $$0677769 = $886;$$3675770 = $$4676; + } else { + $$3$lcssa794 = $$4;$$3675$lcssa = $$4676; + break; + } + } + } + } + $831 = (($$0688776) + 1)<<16>>16; + $832 = HEAP16[$98>>1]|0; + $833 = ($831&65535)<($832&65535); + if ($833) { + $$0688776 = $831;$$1673777 = $$3675$lcssa;$$1778 = $$3$lcssa794; + } else { + $$1$lcssa = $$3$lcssa794; + break; + } + } + return ($$1$lcssa|0); +} +function _jar_xm_check_sanity_postload($0) { + $0 = $0|0; + var $$01520 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $vararg_buffer = 0, $vararg_buffer2 = 0, $vararg_ptr1 = 0, $vararg_ptr5 = 0, $vararg_ptr6 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $vararg_buffer2 = sp + 8|0; + $vararg_buffer = sp; + $1 = ((($0)) + 46|0); + $2 = HEAP16[$1>>1]|0; + $3 = ($2<<16>>16)==(0); + if ($3) { + $26 = 0; + STACKTOP = sp;return ($26|0); + } + $4 = $2&65535; + $5 = ((($0)) + 52|0); + $6 = HEAP32[1250]|0; + $$01520 = 0;$16 = $4;$18 = $2;$8 = 0; + while(1) { + $7 = (((($0)) + 60|0) + ($8)|0); + $9 = HEAP8[$7>>0]|0; + $10 = $9&255; + $11 = HEAP16[$5>>1]|0; + $12 = $11&65535; + $13 = ($10>>>0)<($12>>>0); + if (!($13)) { + $14 = (($8) + 1)|0; + $15 = ($14|0)==($16|0); + $17 = ($18&65535)>(1); + $or$cond = $17 & $15; + if (!($or$cond)) { + break; + } + $19 = (($18) + -1)<<16>>16; + HEAP16[$1>>1] = $19; + HEAP32[$vararg_buffer>>2] = 15471; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $8; + (_fprintf($6,15433,$vararg_buffer)|0); + (_fflush($6)|0); + } + $20 = (($$01520) + 1)<<24>>24; + $21 = $20&255; + $22 = HEAP16[$1>>1]|0; + $23 = $22&65535; + $24 = ($21>>>0)<($23>>>0); + if ($24) { + $$01520 = $20;$16 = $23;$18 = $22;$8 = $21; + } else { + $26 = 0; + label = 8; + break; + } + } + if ((label|0) == 8) { + STACKTOP = sp;return ($26|0); + } + HEAP32[$vararg_buffer2>>2] = 15471; + $vararg_ptr5 = ((($vararg_buffer2)) + 4|0); + HEAP32[$vararg_ptr5>>2] = $8; + $vararg_ptr6 = ((($vararg_buffer2)) + 8|0); + HEAP32[$vararg_ptr6>>2] = $10; + (_fprintf($6,15500,$vararg_buffer2)|0); + $25 = HEAP32[1250]|0; + (_fflush($25)|0); + $26 = 1; + STACKTOP = sp;return ($26|0); +} +function _jar_xm_free_context($0) { + $0 = $0|0; + var $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP32[$0>>2]|0; + _free($1); + return; +} +function _memcpy_pad($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$ = 0, $10 = 0, $11 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $5 = ($3>>>0)<($4>>>0); + $6 = (($3) - ($4))|0; + $$ = $5 ? 0 : $6; + $7 = ($$>>>0)>($1>>>0); + $8 = $7 ? $1 : $$; + $9 = (($2) + ($4)|0); + _memcpy(($0|0),($9|0),($8|0))|0; + $10 = (($0) + ($8)|0); + $11 = (($1) - ($8))|0; + _memset(($10|0),0,($11|0))|0; + return; +} +function _jar_xm_set_max_loop_count($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($0)) + 385|0); + HEAP8[$2>>0] = $1; + return; +} +function _jar_xm_get_loop_count($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 384|0); + $2 = HEAP8[$1>>0]|0; + return ($2|0); +} +function _jar_xm_get_remaining_samples($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0.0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (_jar_xm_get_loop_count($0)|0); + _jar_xm_set_max_loop_count($0,0); + $2 = (_jar_xm_get_loop_count($0)|0); + $3 = ($2<<24>>24)==($1<<24>>24); + if (!($3)) { + $15 = 0;$16 = 0; + $14 = ((($0)) + 384|0); + HEAP8[$14>>0] = $1; + tempRet0 = ($15); + return ($16|0); + } + $4 = ((($0)) + 352|0); + $6 = 0;$7 = 0; + while(1) { + $5 = +HEAPF32[$4>>2]; + $8 = (+($6>>>0)) + (4294967296.0*(+($7>>>0))); + $9 = $8 + $5; + $10 = (~~$9)>>>0; + $11 = +Math_abs($9) >= 1.0 ? $9 > 0.0 ? (~~+Math_min(+Math_floor($9 / 4294967296.0), 4294967295.0)) >>> 0 : ~~+Math_ceil(($9 - +(~~$9 >>> 0)) / 4294967296.0) >>> 0 : 0; + HEAPF32[$4>>2] = 0.0; + _jar_xm_tick($0); + $12 = (_jar_xm_get_loop_count($0)|0); + $13 = ($12<<24>>24)==($1<<24>>24); + if ($13) { + $6 = $10;$7 = $11; + } else { + $15 = $11;$16 = $10; + break; + } + } + $14 = ((($0)) + 384|0); + HEAP8[$14>>0] = $1; + tempRet0 = ($15); + return ($16|0); +} +function _jar_xm_create_context_from_file($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$1 = 0, $$1$ph = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = (_fopen($2,16832)|0); + $4 = ($3|0)==(0|0); + L1: do { + if ($4) { + $5 = HEAP32[1250]|0; + (_fwrite(15590,25,1,$5)|0); + (_fflush($5)|0); + $$1$ph = 3; + } else { + (_fseek($3,0,2)|0); + $6 = (_ftell($3)|0); + _rewind($3); + $7 = ($6|0)==(-1); + if ($7) { + (_fclose($3)|0); + $8 = HEAP32[1250]|0; + (_fwrite(15616,14,1,$8)|0); + (_fflush($8)|0); + $$1$ph = 4; + break; + } + $9 = (($6) + 1)|0; + $10 = (_malloc($9)|0); + $11 = (_fread($10,1,$6,$3)|0); + $12 = ($11>>>0)<($6>>>0); + (_fclose($3)|0); + if ($12) { + $13 = HEAP32[1250]|0; + (_fwrite(15631,14,1,$13)|0); + (_fflush($13)|0); + $$1$ph = 5; + break; + } + $14 = (_jar_xm_create_context_safe($0,$10,$6,$1)|0); + switch ($14|0) { + case 1: { + $15 = HEAP32[1250]|0; + (_fwrite(15646,45,1,$15)|0); + (_fflush($15)|0); + $$1$ph = 1; + break L1; + break; + } + case 2: { + $16 = HEAP32[1250]|0; + (_fwrite(15692,40,1,$16)|0); + (_fflush($16)|0); + _exit(1); + // unreachable; + break; + } + case 0: { + $$1 = 0; + return ($$1|0); + break; + } + default: { + $17 = HEAP32[1250]|0; + (_fwrite(15733,40,1,$17)|0); + (_fflush($17)|0); + _exit(1); + // unreachable; + } + } + } + } while(0); + HEAP32[$0>>2] = 0; + $$1 = $$1$ph; + return ($$1|0); +} +function _InitAudioDevice() { + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $cond = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer3 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $vararg_buffer3 = sp + 16|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $0 = (_alcOpenDevice((0|0))|0); + $1 = ($0|0)==(0|0); + if ($1) { + _TraceLog(2,15774,$vararg_buffer); + STACKTOP = sp;return; + } + $2 = (_alcCreateContext(($0|0),(0|0))|0); + $cond = ($2|0)==(0|0); + do { + if (!($cond)) { + $3 = (_alcMakeContextCurrent(($2|0))|0); + $4 = ($3<<24>>24)==(0); + if ($4) { + _alcDestroyContext(($2|0)); + break; + } + $5 = (_alcGetString(($0|0),4101)|0); + HEAP32[$vararg_buffer3>>2] = $5; + _TraceLog(0,15842,$vararg_buffer3); + _alListener3f(4100,0.0,0.0,0.0); + _alListener3f(4102,0.0,0.0,0.0); + _alListener3f(4111,0.0,0.0,-1.0); + _alListenerf(4106,1.0); + STACKTOP = sp;return; + } + } while(0); + (_alcCloseDevice(($0|0))|0); + _TraceLog(2,15807,$vararg_buffer1); STACKTOP = sp;return; } -function _LoadASTC($agg$result,$fileName) { - $agg$result = $agg$result|0; - $fileName = $fileName|0; - var $$$ = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; - var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0; - var $7 = 0, $8 = 0, $9 = 0, $header = 0, $image$sroa$0$0 = 0, $image$sroa$0$1 = 0, $image$sroa$12$0 = 0, $image$sroa$12$1 = 0, $image$sroa$14$0 = 0, $image$sroa$14$1 = 0, $image$sroa$4$0 = 0, $image$sroa$4$1 = 0, $image$sroa$8$0 = 0, $image$sroa$8$1 = 0, $or$cond = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer14 = 0, $vararg_buffer4 = 0; - var $vararg_buffer7 = 0, $vararg_ptr13 = 0, label = 0, sp = 0; +function _CloseAudioDevice() { + var $0 = 0, $1 = 0, $2 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $0 = (_alcGetCurrentContext()|0); + $1 = ($0|0)==(0|0); + if ($1) { + _TraceLog(1,15896,$vararg_buffer); + } + $2 = (_alcGetContextsDevice(($0|0))|0); + (_alcMakeContextCurrent((0|0))|0); + _alcDestroyContext(($0|0)); + (_alcCloseDevice(($2|0))|0); + _TraceLog(0,15944,$vararg_buffer1); + STACKTOP = sp;return; +} +function _LoadWave($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; + var $vararg_buffer = 0, $vararg_buffer1 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $2 = sp + 12|0; + ;HEAP32[$2>>2]=0|0;HEAP32[$2+4>>2]=0|0;HEAP32[$2+8>>2]=0|0;HEAP32[$2+12>>2]=0|0;HEAP32[$2+16>>2]=0|0; + $3 = (_IsFileExtension($1,15977)|0); + $4 = ($3|0)==(0); + do { + if ($4) { + $5 = (_IsFileExtension($1,15982)|0); + $6 = ($5|0)==(0); + if (!($6)) { + _LoadOGG($2,$1); + break; + } + $7 = (_IsFileExtension($1,15987)|0); + $8 = ($7|0)==(0); + if ($8) { + HEAP32[$vararg_buffer1>>2] = $1; + _TraceLog(1,16039,$vararg_buffer1); + break; + } + $9 = (_LoadResource($1,0)|0); + $10 = HEAP32[$9>>2]|0; + $11 = ($10|0)==(2); + if ($11) { + $12 = ((($9)) + 20|0); + $13 = HEAP32[$12>>2]|0; + $14 = ((($9)) + 4|0); + $15 = HEAP32[$14>>2]|0; + $16 = ((($9)) + 8|0); + $17 = HEAP32[$16>>2]|0; + $18 = ((($9)) + 12|0); + $19 = HEAP32[$18>>2]|0; + $20 = ((($9)) + 16|0); + $21 = HEAP32[$20>>2]|0; + _LoadWaveEx($2,$13,$15,$17,$19,$21); + } else { + HEAP32[$vararg_buffer>>2] = $1; + _TraceLog(1,15993,$vararg_buffer); + } + _UnloadResource($9); + } else { + _LoadWAV($2,$1); + } + } while(0); + ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$2+16>>2]|0; + STACKTOP = sp;return; +} +function _LoadWAV($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$pr = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; + var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; + var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0; + var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer14 = 0, $vararg_buffer18 = 0, $vararg_buffer4 = 0, $vararg_buffer7 = 0, $vararg_ptr13 = 0, $vararg_ptr17 = 0, $vararg_ptr21 = 0, $vararg_ptr22 = 0; + var $vararg_ptr23 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 144|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(144|0); + $vararg_buffer18 = sp + 48|0; $vararg_buffer14 = sp + 40|0; $vararg_buffer10 = sp + 32|0; $vararg_buffer7 = sp + 24|0; $vararg_buffer4 = sp + 16|0; $vararg_buffer1 = sp + 8|0; $vararg_buffer = sp; - $header = sp + 48|0; - $0 = (_fopen($fileName,19734)|0); - $1 = ($0|0)==(0|0); - if ($1) { - HEAP32[$vararg_buffer>>2] = $fileName; - _TraceLog(2,16122,$vararg_buffer); - $image$sroa$0$1 = 0;$image$sroa$12$1 = 0;$image$sroa$14$1 = 0;$image$sroa$4$1 = 0;$image$sroa$8$1 = 0; - HEAP32[$agg$result>>2] = $image$sroa$0$1; - $58 = ((($agg$result)) + 4|0); - HEAP32[$58>>2] = $image$sroa$4$1; - $59 = ((($agg$result)) + 8|0); - HEAP32[$59>>2] = $image$sroa$8$1; - $60 = ((($agg$result)) + 12|0); - HEAP32[$60>>2] = $image$sroa$12$1; - $61 = ((($agg$result)) + 16|0); - HEAP32[$61>>2] = $image$sroa$14$1; + $2 = sp + 120|0; + $3 = sp + 96|0; + $4 = sp + 88|0; + $5 = sp + 64|0; + ;HEAP32[$5>>2]=0|0;HEAP32[$5+4>>2]=0|0;HEAP32[$5+8>>2]=0|0;HEAP32[$5+12>>2]=0|0;HEAP32[$5+16>>2]=0|0; + $6 = (_fopen($1,16832)|0); + $7 = ($6|0)==(0|0); + if ($7) { + HEAP32[$vararg_buffer>>2] = $1; + _TraceLog(1,17213,$vararg_buffer); + $8 = ((($5)) + 16|0); + HEAP32[$8>>2] = 0; + ;HEAP32[$0>>2]=HEAP32[$5>>2]|0;HEAP32[$0+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$5+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$5+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$5+16>>2]|0; STACKTOP = sp;return; } - (_fread($header,16,1,$0)|0); - $2 = ((($header)) + 3|0); - $3 = HEAP8[$2>>0]|0; - $4 = ($3<<24>>24)==(92); - L5: do { - if ($4) { - $5 = ((($header)) + 2|0); - $6 = HEAP8[$5>>0]|0; - $7 = ($6<<24>>24)==(-95); - if ($7) { - $8 = ((($header)) + 1|0); - $9 = HEAP8[$8>>0]|0; - $10 = ($9<<24>>24)==(-85); - $11 = HEAP8[$header>>0]|0; - $12 = ($11<<24>>24)==(19); - $or$cond = $10 & $12; - if ($or$cond) { - $13 = ((($header)) + 9|0); - $14 = HEAP8[$13>>0]|0; - $15 = $14&255; - $16 = $15 << 16; - $17 = ((($header)) + 8|0); - $18 = HEAP8[$17>>0]|0; - $19 = $18&255; - $20 = $19 << 8; - $21 = $20 | $16; - $22 = ((($header)) + 7|0); - $23 = HEAP8[$22>>0]|0; - $24 = $23&255; - $25 = $21 | $24; - $26 = ((($header)) + 12|0); - $27 = HEAP8[$26>>0]|0; - $28 = $27&255; - $29 = $28 << 16; - $30 = ((($header)) + 11|0); - $31 = HEAP8[$30>>0]|0; - $32 = $31&255; - $33 = $32 << 8; - $34 = $33 | $29; - $35 = ((($header)) + 10|0); - $36 = HEAP8[$35>>0]|0; - $37 = $36&255; - $38 = $34 | $37; - HEAP32[$vararg_buffer4>>2] = $25; - _TraceLog(3,16206,$vararg_buffer4); - HEAP32[$vararg_buffer7>>2] = $38; - _TraceLog(3,16227,$vararg_buffer7); - $39 = ((($header)) + 4|0); - $40 = HEAP8[$39>>0]|0; - $41 = $40&255; - $42 = ((($header)) + 5|0); - $43 = HEAP8[$42>>0]|0; - $44 = $43&255; - HEAP32[$vararg_buffer10>>2] = $41; - $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); - HEAP32[$vararg_ptr13>>2] = $44; - _TraceLog(3,16249,$vararg_buffer10); - $45 = HEAP8[$39>>0]|0; - $46 = $45&255; - $47 = HEAP8[$42>>0]|0; - $48 = $47&255; - $49 = Math_imul($48, $46)|0; - $50 = (128 / ($49>>>0))&-1; - $51 = ($50|0)==(8); - $52 = ($50|0)==(2); - switch ($50|0) { - case 2: case 8: { - $53 = Math_imul($38, $25)|0; - $54 = Math_imul($53, $50)|0; - $55 = $54 >>> 3; - $56 = (_malloc($55)|0); - (_fread($56,$55,1,$0)|0); - $57 = $51 | $52; - $$$ = $57 ? 17 : 0; - $image$sroa$0$0 = $56;$image$sroa$12$0 = 1;$image$sroa$14$0 = $$$;$image$sroa$4$0 = $25;$image$sroa$8$0 = $38; - break L5; - break; - } - default: { - HEAP32[$vararg_buffer14>>2] = $fileName; - _TraceLog(2,16274,$vararg_buffer14); - $image$sroa$0$0 = 0;$image$sroa$12$0 = 1;$image$sroa$14$0 = 0;$image$sroa$4$0 = $25;$image$sroa$8$0 = $38; - break L5; - } - } - } else { - label = 6; - } - } else { - label = 6; - } - } else { - label = 6; - } - } while(0); - if ((label|0) == 6) { - HEAP32[$vararg_buffer1>>2] = $fileName; - _TraceLog(2,16157,$vararg_buffer1); - $image$sroa$0$0 = 0;$image$sroa$12$0 = 0;$image$sroa$14$0 = 0;$image$sroa$4$0 = 0;$image$sroa$8$0 = 0; - } - (_fclose($0)|0); - $image$sroa$0$1 = $image$sroa$0$0;$image$sroa$12$1 = $image$sroa$12$0;$image$sroa$14$1 = $image$sroa$14$0;$image$sroa$4$1 = $image$sroa$4$0;$image$sroa$8$1 = $image$sroa$8$0; - HEAP32[$agg$result>>2] = $image$sroa$0$1; - $58 = ((($agg$result)) + 4|0); - HEAP32[$58>>2] = $image$sroa$4$1; - $59 = ((($agg$result)) + 8|0); - HEAP32[$59>>2] = $image$sroa$8$1; - $60 = ((($agg$result)) + 12|0); - HEAP32[$60>>2] = $image$sroa$12$1; - $61 = ((($agg$result)) + 16|0); - HEAP32[$61>>2] = $image$sroa$14$1; - STACKTOP = sp;return; -} -function _EmptyMusicStream() { - var $$pr = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $buffer = 0, $queued = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $buffer = sp + 4|0; - $queued = sp; - HEAP32[$buffer>>2] = 0; - HEAP32[$queued>>2] = 0; - $0 = HEAP32[(5736)>>2]|0; - _alGetSourcei(($0|0),4117,($queued|0)); - $$pr = HEAP32[$queued>>2]|0; - $1 = ($$pr|0)>(0); - if (!($1)) { - STACKTOP = sp;return; - } - while(1) { - $2 = HEAP32[(5736)>>2]|0; - _alSourceUnqueueBuffers(($2|0),1,($buffer|0)); - $3 = HEAP32[$queued>>2]|0; - $4 = (($3) + -1)|0; - HEAP32[$queued>>2] = $4; - $5 = ($3|0)>(1); - if (!($5)) { - break; - } - } - STACKTOP = sp;return; -} -function _LoadWAV($agg$result,$fileName) { - $agg$result = $agg$result|0; - $fileName = $fileName|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $riffHeader = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer4 = 0, $vararg_buffer7 = 0, $vararg_ptr13 = 0, $vararg_ptr14 = 0, $vararg_ptr15 = 0, $wave$sroa$0$0 = 0, $wave$sroa$0$1 = 0; - var $wave$sroa$10$0 = 0, $wave$sroa$10$1 = 0, $wave$sroa$5$0 = 0, $wave$sroa$5$1 = 0, $wave$sroa$6$0 = 0, $wave$sroa$6$1 = 0, $wave$sroa$8$0 = 0, $wave$sroa$8$1 = 0, $waveData = 0, $waveFormat = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 96|0; - $vararg_buffer10 = sp + 32|0; - $vararg_buffer7 = sp + 24|0; - $vararg_buffer4 = sp + 16|0; - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $riffHeader = sp + 80|0; - $waveFormat = sp + 56|0; - $waveData = sp + 48|0; - $0 = (_fopen($fileName,19734)|0); - $1 = ($0|0)==(0|0); - if ($1) { - HEAP32[$vararg_buffer>>2] = $fileName; - _TraceLog(2,15917,$vararg_buffer); - $wave$sroa$0$1 = 0;$wave$sroa$10$1 = 0;$wave$sroa$5$1 = 0;$wave$sroa$6$1 = 0;$wave$sroa$8$1 = 0; - HEAP32[$agg$result>>2] = $wave$sroa$0$1; - $45 = ((($agg$result)) + 4|0); - HEAP32[$45>>2] = $wave$sroa$5$1; - $46 = ((($agg$result)) + 8|0); - HEAP32[$46>>2] = $wave$sroa$6$1; - $47 = ((($agg$result)) + 12|0); - HEAP16[$47>>1] = $wave$sroa$8$1; - $48 = ((($agg$result)) + 14|0); - HEAP16[$48>>1] = $wave$sroa$10$1; - STACKTOP = sp;return; - } - (_fread($riffHeader,12,1,$0)|0); - $2 = (_strncmp($riffHeader,15951,4)|0); - $3 = ($2|0)==(0); + (_fread($2,12,1,$6)|0); + $9 = (_strncmp($2,17247,4)|0); + $10 = ($9|0)==(0); do { - if ($3) { - $4 = ((($riffHeader)) + 8|0); - $5 = (_strncmp($4,15956,4)|0); - $6 = ($5|0)==(0); - if ($6) { - (_fread($waveFormat,24,1,$0)|0); - $7 = HEAP8[$waveFormat>>0]|0; - $8 = ($7<<24>>24)==(102); - if ($8) { - $9 = ((($waveFormat)) + 1|0); - $10 = HEAP8[$9>>0]|0; - $11 = ($10<<24>>24)==(109); - if ($11) { - $12 = ((($waveFormat)) + 2|0); - $13 = HEAP8[$12>>0]|0; - $14 = ($13<<24>>24)==(116); - if ($14) { - $15 = ((($waveFormat)) + 3|0); - $16 = HEAP8[$15>>0]|0; - $17 = ($16<<24>>24)==(32); - if ($17) { - $18 = ((($waveFormat)) + 4|0); - $19 = HEAP32[$18>>2]|0; - $20 = ($19|0)>(16); - if ($20) { - (_fseek($0,2,1)|0); + if ($10) { + $11 = ((($2)) + 8|0); + $12 = (_strncmp($11,17252,4)|0); + $13 = ($12|0)==(0); + if ($13) { + (_fread($3,24,1,$6)|0); + $14 = HEAP8[$3>>0]|0; + $15 = ($14<<24>>24)==(102); + if ($15) { + $16 = ((($3)) + 1|0); + $17 = HEAP8[$16>>0]|0; + $18 = ($17<<24>>24)==(109); + if ($18) { + $19 = ((($3)) + 2|0); + $20 = HEAP8[$19>>0]|0; + $21 = ($20<<24>>24)==(116); + if ($21) { + $22 = ((($3)) + 3|0); + $23 = HEAP8[$22>>0]|0; + $24 = ($23<<24>>24)==(32); + if ($24) { + $25 = ((($3)) + 4|0); + $26 = HEAP32[$25>>2]|0; + $27 = ($26|0)>(16); + if ($27) { + (_fseek($6,2,1)|0); } - (_fread($waveData,8,1,$0)|0); - $21 = HEAP8[$waveData>>0]|0; - $22 = ($21<<24>>24)==(100); - if ($22) { - $23 = ((($waveData)) + 1|0); - $24 = HEAP8[$23>>0]|0; - $25 = ($24<<24>>24)==(97); - if ($25) { - $26 = ((($waveData)) + 2|0); - $27 = HEAP8[$26>>0]|0; - $28 = ($27<<24>>24)==(116); - if ($28) { - $29 = ((($waveData)) + 3|0); - $30 = HEAP8[$29>>0]|0; - $31 = ($30<<24>>24)==(97); - if ($31) { - $32 = ((($waveData)) + 4|0); - $33 = HEAP32[$32>>2]|0; - $34 = (_malloc($33)|0); - $35 = HEAP32[$32>>2]|0; - (_fread($34,$35,1,$0)|0); - $36 = HEAP32[$32>>2]|0; - $37 = ((($waveFormat)) + 12|0); - $38 = HEAP32[$37>>2]|0; - $39 = ((($waveFormat)) + 10|0); - $40 = HEAP16[$39>>1]|0; - $41 = ((($waveFormat)) + 22|0); - $42 = HEAP16[$41>>1]|0; - $43 = $42 << 16 >> 16; - $44 = $40 << 16 >> 16; - HEAP32[$vararg_buffer10>>2] = $fileName; - $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); - HEAP32[$vararg_ptr13>>2] = $38; - $vararg_ptr14 = ((($vararg_buffer10)) + 8|0); - HEAP32[$vararg_ptr14>>2] = $43; - $vararg_ptr15 = ((($vararg_buffer10)) + 12|0); - HEAP32[$vararg_ptr15>>2] = $44; - _TraceLog(0,16044,$vararg_buffer10); - $wave$sroa$0$0 = $34;$wave$sroa$10$0 = $40;$wave$sroa$5$0 = $36;$wave$sroa$6$0 = $38;$wave$sroa$8$0 = $42; + (_fread($4,8,1,$6)|0); + $28 = HEAP8[$4>>0]|0; + $29 = ($28<<24>>24)==(100); + if ($29) { + $30 = ((($4)) + 1|0); + $31 = HEAP8[$30>>0]|0; + $32 = ($31<<24>>24)==(97); + if ($32) { + $33 = ((($4)) + 2|0); + $34 = HEAP8[$33>>0]|0; + $35 = ($34<<24>>24)==(116); + if ($35) { + $36 = ((($4)) + 3|0); + $37 = HEAP8[$36>>0]|0; + $38 = ($37<<24>>24)==(97); + if ($38) { + $39 = ((($4)) + 4|0); + $40 = HEAP32[$39>>2]|0; + $41 = (_malloc($40)|0); + $42 = ((($5)) + 16|0); + HEAP32[$42>>2] = $41; + (_fread($41,$40,1,$6)|0); + $43 = ((($3)) + 12|0); + $44 = HEAP32[$43>>2]|0; + $45 = ((($5)) + 4|0); + HEAP32[$45>>2] = $44; + $46 = ((($3)) + 22|0); + $47 = HEAP16[$46>>1]|0; + $48 = $47 << 16 >> 16; + $49 = ((($5)) + 8|0); + HEAP32[$49>>2] = $48; + $50 = ((($3)) + 10|0); + $51 = HEAP16[$50>>1]|0; + $52 = $51 << 16 >> 16; + $53 = ((($5)) + 12|0); + HEAP32[$53>>2] = $52; + switch ($47<<16>>16) { + case 32: case 16: case 8: { + $57 = $52; + break; + } + default: { + HEAP32[$vararg_buffer10>>2] = $1; + $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); + HEAP32[$vararg_ptr13>>2] = $48; + _TraceLog(1,17340,$vararg_buffer10); + $54 = HEAP32[$45>>2]|0; + $55 = HEAP32[$53>>2]|0; + _WaveFormat($5,$54,16,$55); + $$pr = HEAP32[$53>>2]|0; + $57 = $$pr; + } + } + $56 = ($57>>>0)>(2); + if ($56) { + $58 = HEAP32[$45>>2]|0; + $59 = HEAP32[$49>>2]|0; + _WaveFormat($5,$58,$59,2); + $60 = HEAP32[$53>>2]|0; + HEAP32[$vararg_buffer14>>2] = $1; + $vararg_ptr17 = ((($vararg_buffer14)) + 4|0); + HEAP32[$vararg_ptr17>>2] = $60; + _TraceLog(1,17403,$vararg_buffer14); + } + $61 = HEAP32[$39>>2]|0; + $62 = HEAP32[$49>>2]|0; + $63 = $62 >>> 3; + $64 = (($61>>>0) / ($63>>>0))&-1; + $65 = HEAP32[$53>>2]|0; + $66 = (($64>>>0) / ($65>>>0))&-1; + HEAP32[$5>>2] = $66; + $67 = HEAP32[$45>>2]|0; + $68 = ($65|0)==(1); + $69 = $68 ? 16263 : 16268; + HEAP32[$vararg_buffer18>>2] = $1; + $vararg_ptr21 = ((($vararg_buffer18)) + 4|0); + HEAP32[$vararg_ptr21>>2] = $67; + $vararg_ptr22 = ((($vararg_buffer18)) + 8|0); + HEAP32[$vararg_ptr22>>2] = $62; + $vararg_ptr23 = ((($vararg_buffer18)) + 12|0); + HEAP32[$vararg_ptr23>>2] = $69; + _TraceLog(0,17472,$vararg_buffer18); break; } } } } - HEAP32[$vararg_buffer7>>2] = $fileName; - _TraceLog(2,16019,$vararg_buffer7); - $wave$sroa$0$0 = 0;$wave$sroa$10$0 = 0;$wave$sroa$5$0 = 0;$wave$sroa$6$0 = 0;$wave$sroa$8$0 = 0; + HEAP32[$vararg_buffer7>>2] = $1; + _TraceLog(1,17315,$vararg_buffer7); break; } } } } - HEAP32[$vararg_buffer4>>2] = $fileName; - _TraceLog(2,15994,$vararg_buffer4); - $wave$sroa$0$0 = 0;$wave$sroa$10$0 = 0;$wave$sroa$5$0 = 0;$wave$sroa$6$0 = 0;$wave$sroa$8$0 = 0; + HEAP32[$vararg_buffer4>>2] = $1; + _TraceLog(1,17290,$vararg_buffer4); } else { label = 5; } @@ -24217,4204 +40443,4314 @@ function _LoadWAV($agg$result,$fileName) { } } while(0); if ((label|0) == 5) { - HEAP32[$vararg_buffer1>>2] = $fileName; - _TraceLog(2,15961,$vararg_buffer1); - $wave$sroa$0$0 = 0;$wave$sroa$10$0 = 0;$wave$sroa$5$0 = 0;$wave$sroa$6$0 = 0;$wave$sroa$8$0 = 0; + HEAP32[$vararg_buffer1>>2] = $1; + _TraceLog(1,17257,$vararg_buffer1); } - (_fclose($0)|0); - $wave$sroa$0$1 = $wave$sroa$0$0;$wave$sroa$10$1 = $wave$sroa$10$0;$wave$sroa$5$1 = $wave$sroa$5$0;$wave$sroa$6$1 = $wave$sroa$6$0;$wave$sroa$8$1 = $wave$sroa$8$0; - HEAP32[$agg$result>>2] = $wave$sroa$0$1; - $45 = ((($agg$result)) + 4|0); - HEAP32[$45>>2] = $wave$sroa$5$1; - $46 = ((($agg$result)) + 8|0); - HEAP32[$46>>2] = $wave$sroa$6$1; - $47 = ((($agg$result)) + 12|0); - HEAP16[$47>>1] = $wave$sroa$8$1; - $48 = ((($agg$result)) + 14|0); - HEAP16[$48>>1] = $wave$sroa$10$1; + (_fclose($6)|0); + ;HEAP32[$0>>2]=HEAP32[$5>>2]|0;HEAP32[$0+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$5+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$5+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$5+16>>2]|0; STACKTOP = sp;return; } -function _LoadOGG($agg$result,$fileName) { - $agg$result = $agg$result|0; - $fileName = $fileName|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0.0, $16 = 0.0, $17 = 0, $18 = 0.0, $19 = 0.0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $info = 0, $sext = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer13 = 0, $vararg_buffer17 = 0, $vararg_buffer21 = 0, $vararg_buffer25 = 0, $vararg_buffer29 = 0, $vararg_buffer5 = 0, $vararg_buffer9 = 0; - var $vararg_ptr12 = 0, $vararg_ptr16 = 0, $vararg_ptr20 = 0, $vararg_ptr24 = 0, $vararg_ptr28 = 0, $vararg_ptr32 = 0, $vararg_ptr33 = 0, $vararg_ptr34 = 0, $vararg_ptr4 = 0, $vararg_ptr8 = 0, $wave$sroa$0$0 = 0, $wave$sroa$4$0 = 0, $wave$sroa$5$0 = 0, $wave$sroa$9$0 = 0, label = 0, sp = 0; +function _LoadOGG($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$sroa$0$0 = 0, $$sroa$10$0 = 0, $$sroa$10$0$$sroa_idx19 = 0, $$sroa$14$0 = 0, $$sroa$14$0$$sroa_idx23 = 0, $$sroa$6$0 = 0, $$sroa$6$0$$sroa_idx15 = 0, $$sroa$8$0$$sroa_idx17 = 0, $10 = 0, $11 = 0.0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $2 = 0, $3 = 0, $4 = 0; + var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0.0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer5 = 0, $vararg_buffer9 = 0, $vararg_ptr12 = 0, $vararg_ptr13 = 0, $vararg_ptr14 = 0, $vararg_ptr4 = 0, $vararg_ptr8 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 128|0; - $vararg_buffer29 = sp + 80|0; - $vararg_buffer25 = sp + 72|0; - $vararg_buffer21 = sp + 64|0; - $vararg_buffer17 = sp + 48|0; - $vararg_buffer13 = sp + 32|0; - $vararg_buffer9 = sp + 24|0; - $vararg_buffer5 = sp + 16|0; + STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0); + $vararg_buffer9 = sp + 32|0; + $vararg_buffer5 = sp + 24|0; $vararg_buffer1 = sp + 8|0; $vararg_buffer = sp; - $info = sp + 96|0; - $0 = (_stb_vorbis_open_filename($fileName,0,0)|0); - $1 = ($0|0)==(0|0); - if ($1) { - HEAP32[$vararg_buffer>>2] = $fileName; - _TraceLog(2,15590,$vararg_buffer); - $wave$sroa$0$0 = 0;$wave$sroa$4$0 = 0;$wave$sroa$5$0 = 0;$wave$sroa$9$0 = 0; - HEAP32[$agg$result>>2] = $wave$sroa$0$0; - $25 = ((($agg$result)) + 4|0); - HEAP32[$25>>2] = $wave$sroa$4$0; - $26 = ((($agg$result)) + 8|0); - HEAP32[$26>>2] = $wave$sroa$5$0; - $27 = ((($agg$result)) + 12|0); - HEAP16[$27>>1] = 16; - $28 = ((($agg$result)) + 14|0); - HEAP16[$28>>1] = $wave$sroa$9$0; - STACKTOP = sp;return; - } - _stb_vorbis_get_info($info,$0); - $2 = HEAP32[$info>>2]|0; - $3 = ((($info)) + 4|0); - $4 = HEAP32[$3>>2]|0; - $5 = $4&65535; - HEAP32[$vararg_buffer1>>2] = $fileName; - $vararg_ptr4 = ((($vararg_buffer1)) + 4|0); - HEAP32[$vararg_ptr4>>2] = $2; - _TraceLog(3,14472,$vararg_buffer1); - $6 = HEAP32[$3>>2]|0; - HEAP32[$vararg_buffer5>>2] = $fileName; - $vararg_ptr8 = ((($vararg_buffer5)) + 4|0); - HEAP32[$vararg_ptr8>>2] = $6; - _TraceLog(3,14497,$vararg_buffer5); - $7 = (_stb_vorbis_stream_length_in_samples($0)|0); - $8 = HEAP32[$3>>2]|0; - $9 = Math_imul($8, $7)|0; - $10 = $9 << 1; - HEAP32[$vararg_buffer9>>2] = $fileName; - $vararg_ptr12 = ((($vararg_buffer9)) + 4|0); - HEAP32[$vararg_ptr12>>2] = $9; - _TraceLog(3,15624,$vararg_buffer9); - $11 = (+_stb_vorbis_stream_length_in_seconds($0)); - $12 = $11; - HEAP32[$vararg_buffer13>>2] = $fileName; - $vararg_ptr16 = ((($vararg_buffer13)) + 8|0); - HEAPF64[$vararg_ptr16>>3] = $12; - _TraceLog(3,15648,$vararg_buffer13); - $13 = $11 > 10.0; - if ($13) { - HEAP32[$vararg_buffer17>>2] = $fileName; - $vararg_ptr20 = ((($vararg_buffer17)) + 8|0); - HEAPF64[$vararg_ptr20>>3] = $12; - _TraceLog(2,15671,$vararg_buffer17); - } - $14 = HEAP32[$info>>2]|0; - $15 = (+($14>>>0)); - $16 = $11 * $15; - $17 = HEAP32[$3>>2]|0; - $18 = (+($17|0)); - $19 = $16 * $18; - $20 = (~~(($19))); - HEAP32[$vararg_buffer21>>2] = $fileName; - $vararg_ptr24 = ((($vararg_buffer21)) + 4|0); - HEAP32[$vararg_ptr24>>2] = $20; - _TraceLog(3,15779,$vararg_buffer21); - $21 = (_malloc($10)|0); - $22 = HEAP32[$3>>2]|0; - $23 = (_stb_vorbis_get_samples_short_interleaved($0,$22,$21,$9)|0); - HEAP32[$vararg_buffer25>>2] = $fileName; - $vararg_ptr28 = ((($vararg_buffer25)) + 4|0); - HEAP32[$vararg_ptr28>>2] = $23; - _TraceLog(3,15813,$vararg_buffer25); - $sext = $4 << 16; - $24 = $sext >> 16; - HEAP32[$vararg_buffer29>>2] = $fileName; - $vararg_ptr32 = ((($vararg_buffer29)) + 4|0); - HEAP32[$vararg_ptr32>>2] = $2; - $vararg_ptr33 = ((($vararg_buffer29)) + 8|0); - HEAP32[$vararg_ptr33>>2] = 16; - $vararg_ptr34 = ((($vararg_buffer29)) + 12|0); - HEAP32[$vararg_ptr34>>2] = $24; - _TraceLog(0,15839,$vararg_buffer29); - _stb_vorbis_close($0); - $wave$sroa$0$0 = $21;$wave$sroa$4$0 = $10;$wave$sroa$5$0 = $2;$wave$sroa$9$0 = $5; - HEAP32[$agg$result>>2] = $wave$sroa$0$0; - $25 = ((($agg$result)) + 4|0); - HEAP32[$25>>2] = $wave$sroa$4$0; - $26 = ((($agg$result)) + 8|0); - HEAP32[$26>>2] = $wave$sroa$5$0; - $27 = ((($agg$result)) + 12|0); - HEAP16[$27>>1] = 16; - $28 = ((($agg$result)) + 14|0); - HEAP16[$28>>1] = $wave$sroa$9$0; - STACKTOP = sp;return; -} -function _UnloadWave($wave) { - $wave = $wave|0; - var $0 = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $vararg_buffer = sp; - $0 = HEAP32[$wave>>2]|0; - _free($0); - _TraceLog(0,15571,$vararg_buffer); - STACKTOP = sp;return; -} -function _BufferMusicStream($buffer) { - $buffer = $buffer|0; - var $$old1 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $active$0 = 0, $pcm = 0; - var $size$0 = 0, $size$0$lcssa = 0, $size$12 = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 65552|0; - $vararg_buffer = sp; - $pcm = sp + 8|0; - $0 = HEAP32[5720>>2]|0; - $1 = ($0|0)==(0); - do { - if (!($1)) { - $size$0 = 0; - while(1) { - $2 = HEAP32[5724>>2]|0; - $3 = HEAP32[(5744)>>2]|0; - $4 = (($pcm) + ($size$0<<1)|0); - $5 = (32768 - ($size$0))|0; - $6 = (_stb_vorbis_get_samples_short_interleaved($2,$3,$4,$5)|0); - $7 = ($6|0)>(0); - if (!($7)) { - $size$0$lcssa = $size$0; - label = 4; - break; - } - $8 = HEAP32[(5744)>>2]|0; - $9 = Math_imul($8, $6)|0; - $10 = (($9) + ($size$0))|0; - $$old1 = ($10|0)<(32768); - if ($$old1) { - $size$0 = $10; - } else { - $size$12 = $10; - break; - } - } - if ((label|0) == 4) { - $11 = ($size$0$lcssa|0)>(0); - if ($11) { - $size$12 = $size$0$lcssa; - } else { - break; - } - } - $12 = HEAP32[(5740)>>2]|0; - $13 = $size$12 << 1; - $14 = HEAP32[(5748)>>2]|0; - _alBufferData(($buffer|0),($12|0),($pcm|0),($13|0),($14|0)); - $15 = HEAP32[(5752)>>2]|0; - $16 = (($15) - ($size$12))|0; - HEAP32[(5752)>>2] = $16; - $active$0 = 1; - STACKTOP = sp;return ($active$0|0); + $2 = sp + 48|0; + $3 = (_stb_vorbis_open_filename($1,0,0)|0); + $4 = ($3|0)==(0|0); + if ($4) { + HEAP32[$vararg_buffer>>2] = $1; + _TraceLog(1,16095,$vararg_buffer); + $$sroa$0$0 = 0;$$sroa$10$0 = 0;$$sroa$14$0 = 0;$$sroa$6$0 = 0; + } else { + _stb_vorbis_get_info($2,$3); + $5 = HEAP32[$2>>2]|0; + $6 = ((($2)) + 4|0); + $7 = HEAP32[$6>>2]|0; + $8 = (_stb_vorbis_stream_length_in_samples($3)|0); + $9 = (+_stb_vorbis_stream_length_in_seconds($3)); + $10 = $9 > 10.0; + if ($10) { + $11 = $9; + HEAP32[$vararg_buffer1>>2] = $1; + $vararg_ptr4 = ((($vararg_buffer1)) + 8|0); + HEAPF64[$vararg_ptr4>>3] = $11; + _TraceLog(1,16129,$vararg_buffer1); } - } while(0); - _TraceLog(2,15537,$vararg_buffer); - $active$0 = 0; - STACKTOP = sp;return ($active$0|0); + $12 = Math_imul($8, $7)|0; + $13 = $12 << 1; + $14 = (_malloc($13)|0); + $15 = HEAP32[$6>>2]|0; + $16 = (_stb_vorbis_get_samples_short_interleaved($3,$15,$14,$12)|0); + HEAP32[$vararg_buffer5>>2] = $1; + $vararg_ptr8 = ((($vararg_buffer5)) + 4|0); + HEAP32[$vararg_ptr8>>2] = $16; + _TraceLog(3,16237,$vararg_buffer5); + $17 = ($7|0)==(1); + $18 = $17 ? 16263 : 16268; + HEAP32[$vararg_buffer9>>2] = $1; + $vararg_ptr12 = ((($vararg_buffer9)) + 4|0); + HEAP32[$vararg_ptr12>>2] = $5; + $vararg_ptr13 = ((($vararg_buffer9)) + 8|0); + HEAP32[$vararg_ptr13>>2] = 16; + $vararg_ptr14 = ((($vararg_buffer9)) + 12|0); + HEAP32[$vararg_ptr14>>2] = $18; + _TraceLog(0,16275,$vararg_buffer9); + _stb_vorbis_close($3); + $$sroa$0$0 = $8;$$sroa$10$0 = $7;$$sroa$14$0 = $14;$$sroa$6$0 = $5; + } + HEAP32[$0>>2] = $$sroa$0$0; + $$sroa$6$0$$sroa_idx15 = ((($0)) + 4|0); + HEAP32[$$sroa$6$0$$sroa_idx15>>2] = $$sroa$6$0; + $$sroa$8$0$$sroa_idx17 = ((($0)) + 8|0); + HEAP32[$$sroa$8$0$$sroa_idx17>>2] = 16; + $$sroa$10$0$$sroa_idx19 = ((($0)) + 12|0); + HEAP32[$$sroa$10$0$$sroa_idx19>>2] = $$sroa$10$0; + $$sroa$14$0$$sroa_idx23 = ((($0)) + 16|0); + HEAP32[$$sroa$14$0$$sroa_idx23>>2] = $$sroa$14$0; + STACKTOP = sp;return; } -function _vorbis_deinit($p) { - $p = $p|0; - var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $12 = 0, $13 = 0, $14 = 0; - var $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0; - var $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0; - var $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0; - var $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0; - var $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $i$016 = 0, $i$110 = 0, $i$28 = 0, $i$37 = 0, $j$013 = 0, label = 0, sp = 0; +function _LoadWaveEx($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + var $$byval_copy = 0, $10 = 0, $11 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = ((($p)) + 396|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)==(0|0); - if (!($2)) { - $3 = ((($p)) + 264|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)>(0); - if ($5) { - $6 = ((($p)) + 124|0); - $i$016 = 0; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $$byval_copy = sp + 40|0; + $6 = sp + 20|0; + $7 = sp; + $8 = ((($6)) + 16|0); + HEAP32[$8>>2] = $1; + HEAP32[$6>>2] = $2; + $9 = ((($6)) + 4|0); + HEAP32[$9>>2] = $3; + $10 = ((($6)) + 8|0); + HEAP32[$10>>2] = $4; + $11 = ((($6)) + 12|0); + HEAP32[$11>>2] = $5; + ;HEAP32[$$byval_copy>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$6+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$6+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$6+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$6+16>>2]|0; + _WaveCopy($7,$$byval_copy); + _WaveFormat($7,$3,$4,$5); + ;HEAP32[$0>>2]=HEAP32[$7>>2]|0;HEAP32[$0+4>>2]=HEAP32[$7+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$7+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$7+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$7+16>>2]|0; + STACKTOP = sp;return; +} +function _WaveCopy($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$sroa$0$0 = 0, $$sroa$5$0 = 0, $$sroa$5$0$$sroa_idx2 = 0, $$sroa$6$0 = 0, $$sroa$6$0$$sroa_idx4 = 0, $$sroa$7$0 = 0, $$sroa$7$0$$sroa_idx6 = 0, $$sroa$8$0$$sroa_idx8 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0; + var $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = HEAP32[$1>>2]|0; + $3 = ((($1)) + 8|0); + $4 = HEAP32[$3>>2]|0; + $5 = Math_imul($4, $2)|0; + $6 = $5 >>> 3; + $7 = ((($1)) + 12|0); + $8 = HEAP32[$7>>2]|0; + $9 = Math_imul($6, $8)|0; + $10 = (_malloc($9)|0); + $11 = ($10|0)==(0|0); + if ($11) { + $$sroa$0$0 = 0;$$sroa$5$0 = 0;$$sroa$6$0 = 0;$$sroa$7$0 = 0; + } else { + $12 = ((($1)) + 16|0); + $13 = HEAP32[$12>>2]|0; + $14 = Math_imul($4, $2)|0; + $15 = Math_imul($14, $8)|0; + $16 = $15 >>> 3; + _memcpy(($10|0),($13|0),($16|0))|0; + $17 = HEAP32[$1>>2]|0; + $18 = ((($1)) + 4|0); + $19 = HEAP32[$18>>2]|0; + $20 = HEAP32[$3>>2]|0; + $21 = HEAP32[$7>>2]|0; + $$sroa$0$0 = $17;$$sroa$5$0 = $19;$$sroa$6$0 = $20;$$sroa$7$0 = $21; + } + HEAP32[$0>>2] = $$sroa$0$0; + $$sroa$5$0$$sroa_idx2 = ((($0)) + 4|0); + HEAP32[$$sroa$5$0$$sroa_idx2>>2] = $$sroa$5$0; + $$sroa$6$0$$sroa_idx4 = ((($0)) + 8|0); + HEAP32[$$sroa$6$0$$sroa_idx4>>2] = $$sroa$6$0; + $$sroa$7$0$$sroa_idx6 = ((($0)) + 12|0); + HEAP32[$$sroa$7$0$$sroa_idx6>>2] = $$sroa$7$0; + $$sroa$8$0$$sroa_idx8 = ((($0)) + 16|0); + HEAP32[$$sroa$8$0$$sroa_idx8>>2] = $10; + return; +} +function _WaveFormat($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$0153164 = 0, $$0154162 = 0, $$0155163 = 0, $$0156170 = 0, $$0157167 = 0, $$0165 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0; + var $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0; + var $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0; + var $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0; + var $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0.0, $171 = 0, $172 = 0, $173 = 0.0, $174 = 0.0, $175 = 0.0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $19 = 0, $20 = 0; + var $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0.0, $4 = 0; + var $40 = 0.0, $41 = 0.0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0.0, $49 = 0.0, $5 = 0, $50 = 0.0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0; + var $59 = 0, $6 = 0, $60 = 0, $61 = 0.0, $62 = 0.0, $63 = 0.0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0.0, $71 = 0.0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0; + var $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0.0, $83 = 0.0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0.0, $91 = 0.0, $92 = 0, $93 = 0, $94 = 0; + var $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond = 0, $or$cond = 0, $or$cond3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $4 = ((($0)) + 4|0); + $5 = HEAP32[$4>>2]|0; + $6 = ($5|0)==($1|0); + if (!($6)) { + HEAP32[$4>>2] = $1; + } + $7 = ((($0)) + 8|0); + $8 = HEAP32[$7>>2]|0; + $9 = ($8|0)==($2|0); + if (!($9)) { + $10 = HEAP32[$0>>2]|0; + $11 = ((($0)) + 12|0); + $12 = HEAP32[$11>>2]|0; + $13 = Math_imul($10, $2)|0; + $14 = Math_imul($13, $12)|0; + $15 = $14 >>> 3; + $16 = (_malloc($15)|0); + $17 = HEAP32[$0>>2]|0; + $18 = ($17|0)==(0); + if (!($18)) { + $19 = ((($0)) + 16|0); + $20 = ((($0)) + 16|0); + $21 = ((($0)) + 16|0); + $22 = ((($0)) + 16|0); + $23 = ((($0)) + 16|0); + $24 = ((($0)) + 16|0); + $$0156170 = 0; while(1) { - $7 = HEAP32[$0>>2]|0; - $8 = (((($7) + (($i$016*24)|0)|0)) + 16|0); - $9 = HEAP32[$8>>2]|0; - $10 = ($9|0)==(0|0); - if (!($10)) { - $11 = (((($7) + (($i$016*24)|0)|0)) + 13|0); - $12 = HEAP8[$11>>0]|0; - $13 = $12&255; - $14 = HEAP32[$6>>2]|0; - $15 = (((($14) + (($13*2096)|0)|0)) + 4|0); - $16 = HEAP32[$15>>2]|0; - $17 = ($16|0)>(0); - if ($17) { - $j$013 = 0; + $25 = HEAP32[$11>>2]|0; + $26 = ($25|0)==(0); + L10: do { + if (!($26)) { + $$0157167 = 0;$35 = $25; while(1) { - $18 = HEAP32[$8>>2]|0; - $19 = (($18) + ($j$013<<2)|0); - $20 = HEAP32[$19>>2]|0; - _setup_free($p,$20); - $21 = (($j$013) + 1)|0; - $22 = HEAP8[$11>>0]|0; - $23 = $22&255; - $24 = HEAP32[$6>>2]|0; - $25 = (((($24) + (($23*2096)|0)|0)) + 4|0); - $26 = HEAP32[$25>>2]|0; - $27 = ($21|0)<($26|0); - if ($27) { - $j$013 = $21; + L13: do { + switch ($2|0) { + case 8: { + $32 = HEAP32[$7>>2]|0; + switch ($32|0) { + case 16: { + $33 = HEAP32[$19>>2]|0; + $34 = Math_imul($35, $$0156170)|0; + $36 = (($34) + ($$0157167))|0; + $37 = (($33) + ($36<<1)|0); + $38 = HEAP16[$37>>1]|0; + $39 = (+($38<<16>>16)); + $40 = $39 / 32767.0; + $41 = $40 * 256.0; + $42 = (~~(($41))&255); + $43 = (($16) + ($36)|0); + HEAP8[$43>>0] = $42; + break L13; + break; + } + case 32: { + $44 = HEAP32[$20>>2]|0; + $45 = Math_imul($35, $$0156170)|0; + $46 = (($45) + ($$0157167))|0; + $47 = (($44) + ($46<<2)|0); + $48 = +HEAPF32[$47>>2]; + $49 = $48 * 127.0; + $50 = $49 + 127.0; + $51 = (~~(($50))&255); + $52 = (($16) + ($46)|0); + HEAP8[$52>>0] = $51; + break L13; + break; + } + default: { + break L13; + } + } + break; + } + case 16: { + $53 = HEAP32[$7>>2]|0; + switch ($53|0) { + case 8: { + $54 = HEAP32[$21>>2]|0; + $55 = Math_imul($35, $$0156170)|0; + $56 = (($55) + ($$0157167))|0; + $57 = (($54) + ($56)|0); + $58 = HEAP8[$57>>0]|0; + $59 = $58&255; + $60 = (($59) + -127)|0; + $61 = (+($60|0)); + $62 = $61 * 0.00390625; + $63 = $62 * 32767.0; + $64 = (~~(($63))); + $65 = (($16) + ($56<<1)|0); + HEAP16[$65>>1] = $64; + break L13; + break; + } + case 32: { + $66 = HEAP32[$22>>2]|0; + $67 = Math_imul($35, $$0156170)|0; + $68 = (($67) + ($$0157167))|0; + $69 = (($66) + ($68<<2)|0); + $70 = +HEAPF32[$69>>2]; + $71 = $70 * 32767.0; + $72 = (~~(($71))); + $73 = (($16) + ($68<<1)|0); + HEAP16[$73>>1] = $72; + break L13; + break; + } + default: { + break L13; + } + } + break; + } + case 32: { + $74 = HEAP32[$7>>2]|0; + switch ($74|0) { + case 8: { + $75 = HEAP32[$23>>2]|0; + $76 = Math_imul($35, $$0156170)|0; + $77 = (($76) + ($$0157167))|0; + $78 = (($75) + ($77)|0); + $79 = HEAP8[$78>>0]|0; + $80 = $79&255; + $81 = (($80) + -127)|0; + $82 = (+($81|0)); + $83 = $82 * 0.00390625; + $84 = (($16) + ($77<<2)|0); + HEAPF32[$84>>2] = $83; + break L13; + break; + } + case 16: { + $85 = HEAP32[$24>>2]|0; + $86 = Math_imul($35, $$0156170)|0; + $87 = (($86) + ($$0157167))|0; + $88 = (($85) + ($87<<1)|0); + $89 = HEAP16[$88>>1]|0; + $90 = (+($89<<16>>16)); + $91 = $90 / 32767.0; + $92 = (($16) + ($87<<2)|0); + HEAPF32[$92>>2] = $91; + break L13; + break; + } + default: { + break L13; + } + } + break; + } + default: { + } + } + } while(0); + $93 = (($$0157167) + 1)|0; + $94 = HEAP32[$11>>2]|0; + $95 = ($93>>>0)<($94>>>0); + if ($95) { + $$0157167 = $93;$35 = $94; } else { - break; + break L10; } } } - $28 = HEAP32[$8>>2]|0; - _setup_free($p,$28); - } - $29 = (((($7) + (($i$016*24)|0)|0)) + 20|0); - $30 = HEAP32[$29>>2]|0; - _setup_free($p,$30); - $31 = (($i$016) + 1)|0; - $32 = HEAP32[$3>>2]|0; - $33 = ($31|0)<($32|0); - if ($33) { - $i$016 = $31; + } while(0); + $29 = (($$0156170) + 1)|0; + $30 = HEAP32[$0>>2]|0; + $31 = ($29>>>0)<($30>>>0); + if ($31) { + $$0156170 = $29; } else { break; } } } + HEAP32[$7>>2] = $2; + $27 = ((($0)) + 16|0); + $28 = HEAP32[$27>>2]|0; + _free($28); + HEAP32[$27>>2] = $16; } - $34 = ((($p)) + 124|0); - $35 = HEAP32[$34>>2]|0; - $36 = ($35|0)==(0|0); - if (!($36)) { - $37 = ((($p)) + 120|0); - $38 = HEAP32[$37>>2]|0; - $39 = ($38|0)>(0); - if ($39) { - $i$110 = 0; - while(1) { - $40 = HEAP32[$34>>2]|0; - $41 = (((($40) + (($i$110*2096)|0)|0)) + 8|0); - $42 = HEAP32[$41>>2]|0; - _setup_free($p,$42); - $43 = (((($40) + (($i$110*2096)|0)|0)) + 28|0); - $44 = HEAP32[$43>>2]|0; - _setup_free($p,$44); - $45 = (((($40) + (($i$110*2096)|0)|0)) + 32|0); - $46 = HEAP32[$45>>2]|0; - _setup_free($p,$46); - $47 = (((($40) + (($i$110*2096)|0)|0)) + 2084|0); - $48 = HEAP32[$47>>2]|0; - _setup_free($p,$48); - $49 = (((($40) + (($i$110*2096)|0)|0)) + 2088|0); - $50 = HEAP32[$49>>2]|0; - $51 = ($50|0)==(0|0); - $52 = ((($50)) + -4|0); - $53 = $51 ? 0 : $52; - _setup_free($p,$53); - $54 = (($i$110) + 1)|0; - $55 = HEAP32[$37>>2]|0; - $56 = ($54|0)<($55|0); - if ($56) { - $i$110 = $54; - } else { - break; - } - } - } - $57 = HEAP32[$34>>2]|0; - _setup_free($p,$57); - } - $58 = ((($p)) + 260|0); - $59 = HEAP32[$58>>2]|0; - _setup_free($p,$59); - $60 = HEAP32[$0>>2]|0; - _setup_free($p,$60); - $61 = ((($p)) + 404|0); - $62 = HEAP32[$61>>2]|0; - $63 = ($62|0)==(0|0); - if (!($63)) { - $64 = ((($p)) + 400|0); - $65 = HEAP32[$64>>2]|0; - $66 = ($65|0)>(0); - if ($66) { - $i$28 = 0; - while(1) { - $67 = HEAP32[$61>>2]|0; - $68 = (((($67) + (($i$28*40)|0)|0)) + 4|0); - $69 = HEAP32[$68>>2]|0; - _setup_free($p,$69); - $70 = (($i$28) + 1)|0; - $71 = HEAP32[$64>>2]|0; - $72 = ($70|0)<($71|0); - if ($72) { - $i$28 = $70; - } else { - break; - } - } - } - $73 = HEAP32[$61>>2]|0; - _setup_free($p,$73); - } - $74 = ((($p)) + 4|0); - $75 = HEAP32[$74>>2]|0; - $76 = ($75|0)>(0); - if ($76) { - $i$37 = 0; - while(1) { - $77 = (((($p)) + 800|0) + ($i$37<<2)|0); - $78 = HEAP32[$77>>2]|0; - _setup_free($p,$78); - $79 = (((($p)) + 928|0) + ($i$37<<2)|0); - $80 = HEAP32[$79>>2]|0; - _setup_free($p,$80); - $81 = (((($p)) + 996|0) + ($i$37<<2)|0); - $82 = HEAP32[$81>>2]|0; - _setup_free($p,$82); - $83 = (($i$37) + 1)|0; - $84 = HEAP32[$74>>2]|0; - $85 = ($83|0)<($84|0); - $86 = ($83|0)<(16); - $87 = $86 & $85; - if ($87) { - $i$37 = $83; - } else { - break; - } - } - } - $88 = ((($p)) + 1068|0); - $89 = HEAP32[$88>>2]|0; - _setup_free($p,$89); - $90 = ((($p)) + 1076|0); - $91 = HEAP32[$90>>2]|0; - _setup_free($p,$91); - $92 = ((($p)) + 1084|0); - $93 = HEAP32[$92>>2]|0; - _setup_free($p,$93); - $94 = ((($p)) + 1092|0); - $95 = HEAP32[$94>>2]|0; - _setup_free($p,$95); - $96 = ((($p)) + 1100|0); + $96 = ((($0)) + 12|0); $97 = HEAP32[$96>>2]|0; - _setup_free($p,$97); - $98 = ((($p)) + 1072|0); - $99 = HEAP32[$98>>2]|0; - _setup_free($p,$99); - $100 = ((($p)) + 1080|0); - $101 = HEAP32[$100>>2]|0; - _setup_free($p,$101); - $102 = ((($p)) + 1088|0); - $103 = HEAP32[$102>>2]|0; - _setup_free($p,$103); - $104 = ((($p)) + 1096|0); - $105 = HEAP32[$104>>2]|0; - _setup_free($p,$105); - $106 = ((($p)) + 1104|0); - $107 = HEAP32[$106>>2]|0; - _setup_free($p,$107); - $108 = ((($p)) + 28|0); - $109 = HEAP32[$108>>2]|0; - $110 = ($109|0)==(0); - if ($110) { + $98 = ($97|0)==($3|0); + if ($98) { return; } - $111 = ((($p)) + 20|0); - $112 = HEAP32[$111>>2]|0; - (_fclose($112)|0); - return; -} -function _setup_free($f,$p) { - $f = $f|0; - $p = $p|0; - var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($f)) + 80|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)==(0|0); - if (!($2)) { - return; - } - _free($p); - return; -} -function _error($f,$e) { - $f = $f|0; - $e = $e|0; - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($f)) + 100|0); - HEAP32[$0>>2] = $e; - return; -} -function _is_whole_packet_present($f,$end_page) { - $f = $f|0; - $end_page = $end_page|0; - var $$0 = 0, $$s$0 = 0, $$s$3 = 0, $$sum = 0, $$sum1 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0; - var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0; - var $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0; - var $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $7 = 0, $8 = 0, $9 = 0, $first$0 = 0, $first$0$ph = 0, $or$cond = 0, $p$011 = 0, $p$1 = 0, $p$2 = 0, $p$2$ph = 0, $p$35 = 0, $p$4 = 0; - var $s$0$lcssa = 0, $s$012 = 0, $s$2 = 0, $s$2$ph = 0, $s$3$lcssa = 0, $s$36 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($f)) + 1380|0); - $1 = HEAP32[$0>>2]|0; - $2 = ((($f)) + 32|0); - $3 = HEAP32[$2>>2]|0; - $4 = ($1|0)==(-1); - if ($4) { - $first$0$ph = 1;$p$2$ph = $3;$s$2$ph = -1; - } else { - $5 = ((($f)) + 1116|0); - $6 = HEAP32[$5>>2]|0; - $7 = ($1|0)<($6|0); - L3: do { - if ($7) { - $p$011 = $3;$s$012 = $1; - while(1) { - $8 = (((($f)) + 1120|0) + ($s$012)|0); - $9 = HEAP8[$8>>0]|0; - $10 = $9&255; - $11 = (($p$011) + ($10)|0); - $12 = ($9<<24>>24)==(-1); - if (!($12)) { - $p$1 = $11;$s$0$lcssa = $s$012; - break L3; - } - $13 = (($s$012) + 1)|0; - $14 = HEAP32[$5>>2]|0; - $15 = ($13|0)<($14|0); - if ($15) { - $p$011 = $11;$s$012 = $13; - } else { - $p$1 = $11;$s$0$lcssa = $13; - break; - } - } - } else { - $p$1 = $3;$s$0$lcssa = $1; - } - } while(0); - $16 = ($end_page|0)==(0); - if (!($16)) { - $17 = HEAP32[$5>>2]|0; - $18 = (($17) + -1)|0; - $19 = ($s$0$lcssa|0)<($18|0); - if ($19) { - _error($f,21); - $$0 = 0; - return ($$0|0); - } - } - $20 = HEAP32[$5>>2]|0; - $21 = ($s$0$lcssa|0)==($20|0); - $$s$0 = $21 ? -1 : $s$0$lcssa; - $22 = ((($f)) + 40|0); - $23 = HEAP32[$22>>2]|0; - $24 = ($p$1>>>0)>($23>>>0); - if ($24) { - _error($f,1); - $$0 = 0; - return ($$0|0); - } else { - $first$0$ph = 0;$p$2$ph = $p$1;$s$2$ph = $$s$0; - } - } - $25 = ((($f)) + 40|0); - $26 = ($end_page|0)!=(0); - $27 = ((($f)) + 992|0); - $first$0 = $first$0$ph;$p$2 = $p$2$ph;$s$2 = $s$2$ph; - while(1) { - $28 = ($s$2|0)==(-1); - if (!($28)) { - $$0 = 1; - label = 33; - break; - } - $29 = ((($p$2)) + 26|0); - $30 = HEAP32[$25>>2]|0; - $31 = ($29>>>0)<($30>>>0); - if (!($31)) { - label = 13; - break; - } - $32 = (_memcmp($p$2,5800,4)|0); - $33 = ($32|0)==(0); - if (!($33)) { - label = 15; - break; - } - $34 = ((($p$2)) + 4|0); - $35 = HEAP8[$34>>0]|0; - $36 = ($35<<24>>24)==(0); - if (!($36)) { - label = 17; - break; - } - $37 = ($first$0|0)==(0); - if ($37) { - $44 = ((($p$2)) + 5|0); - $45 = HEAP8[$44>>0]|0; - $46 = $45 & 1; - $47 = ($46<<24>>24)==(0); - if ($47) { - label = 23; - break; - } - } else { - $38 = HEAP32[$27>>2]|0; - $39 = ($38|0)==(0); - if (!($39)) { - $40 = ((($p$2)) + 5|0); - $41 = HEAP8[$40>>0]|0; - $42 = $41 & 1; - $43 = ($42<<24>>24)==(0); - if (!($43)) { - label = 21; - break; - } - } - } - $48 = HEAP8[$29>>0]|0; - $49 = $48&255; - $$sum = (($49) + 27)|0; - $50 = (($p$2) + ($$sum)|0); - $51 = HEAP32[$25>>2]|0; - $52 = ($50>>>0)>($51>>>0); - if ($52) { - label = 26; - break; - } - $53 = ($48<<24>>24)==(0); - L28: do { - if ($53) { - $p$4 = $50;$s$3$lcssa = 0; - } else { - $p$35 = $50;$s$36 = 0; - while(1) { - $$sum1 = (($s$36) + 27)|0; - $54 = (($p$2) + ($$sum1)|0); - $55 = HEAP8[$54>>0]|0; - $56 = $55&255; - $57 = (($p$35) + ($56)|0); - $58 = ($55<<24>>24)==(-1); - if (!($58)) { - $p$4 = $57;$s$3$lcssa = $s$36; - break L28; - } - $59 = (($s$36) + 1)|0; - $60 = ($59|0)<($49|0); - if ($60) { - $p$35 = $57;$s$36 = $59; - } else { - $p$4 = $57;$s$3$lcssa = $59; - break; - } - } - } - } while(0); - $61 = (($49) + -1)|0; - $62 = ($s$3$lcssa|0)<($61|0); - $or$cond = $26 & $62; + $99 = HEAP32[$0>>2]|0; + $100 = HEAP32[$7>>2]|0; + $101 = Math_imul($100, $99)|0; + $102 = $101 >>> 3; + $103 = Math_imul($102, $3)|0; + $104 = (_malloc($103)|0); + $105 = HEAP32[$96>>2]|0; + $106 = ($105|0)==(1); + $107 = ($3|0)==(2); + $or$cond = $107 & $106; + L33: do { if ($or$cond) { - label = 30; - break; - } - $63 = ($s$3$lcssa|0)==($49|0); - $$s$3 = $63 ? -1 : $s$3$lcssa; - $64 = HEAP32[$25>>2]|0; - $65 = ($p$4>>>0)>($64>>>0); - if ($65) { - label = 32; - break; + $108 = HEAP32[$0>>2]|0; + $109 = ($108|0)==(0); + if (!($109)) { + $110 = ((($0)) + 16|0); + $111 = ((($0)) + 16|0); + $112 = ((($0)) + 16|0); + $$0155163 = 0; + while(1) { + $113 = Math_imul($$0155163, $3)|0; + $114 = Math_imul($$0155163, $3)|0; + $115 = Math_imul($$0155163, $3)|0; + $$0154162 = 0; + while(1) { + $119 = HEAP32[$7>>2]|0; + switch ($119|0) { + case 8: { + $120 = HEAP32[$110>>2]|0; + $121 = (($120) + ($$0155163)|0); + $122 = HEAP8[$121>>0]|0; + $123 = (($$0154162) + ($113))|0; + $124 = (($104) + ($123)|0); + HEAP8[$124>>0] = $122; + break; + } + case 16: { + $125 = HEAP32[$111>>2]|0; + $126 = (($125) + ($$0155163<<1)|0); + $127 = HEAP16[$126>>1]|0; + $128 = (($$0154162) + ($114))|0; + $129 = (($104) + ($128<<1)|0); + HEAP16[$129>>1] = $127; + break; + } + case 32: { + $130 = HEAP32[$112>>2]|0; + $131 = (($130) + ($$0155163<<2)|0); + $132 = HEAP32[$131>>2]|0; + $133 = (($$0154162) + ($115))|0; + $134 = (($104) + ($133<<2)|0); + HEAP32[$134>>2] = $132; + break; + } + default: { + } + } + $135 = (($$0154162) + 1)|0; + $exitcond = ($135|0)==($3|0); + if ($exitcond) { + break; + } else { + $$0154162 = $135; + } + } + $116 = (($$0155163) + 1)|0; + $117 = HEAP32[$0>>2]|0; + $118 = ($116>>>0)<($117>>>0); + if ($118) { + $$0155163 = $116; + } else { + break; + } + } + } } else { - $first$0 = 0;$p$2 = $p$4;$s$2 = $$s$3; + $136 = ($105|0)==(2); + $137 = ($3|0)==(1); + $or$cond3 = $137 & $136; + if ($or$cond3) { + $138 = HEAP32[$0>>2]|0; + $139 = ($138|0)==(0); + if (!($139)) { + $140 = ((($0)) + 16|0); + $141 = ((($0)) + 16|0); + $142 = ((($0)) + 16|0); + $$0153164 = 0;$$0165 = 0; + while(1) { + $143 = HEAP32[$7>>2]|0; + switch ($143|0) { + case 8: { + $144 = HEAP32[$140>>2]|0; + $145 = (($144) + ($$0165)|0); + $146 = HEAP8[$145>>0]|0; + $147 = $146&255; + $148 = $$0165 | 1; + $149 = (($144) + ($148)|0); + $150 = HEAP8[$149>>0]|0; + $151 = $150&255; + $152 = (($151) + ($147))|0; + $153 = $152 >>> 1; + $154 = $153&255; + $155 = (($104) + ($$0153164)|0); + HEAP8[$155>>0] = $154; + break; + } + case 16: { + $156 = HEAP32[$141>>2]|0; + $157 = (($156) + ($$0165<<1)|0); + $158 = HEAP16[$157>>1]|0; + $159 = $158 << 16 >> 16; + $160 = $$0165 | 1; + $161 = (($156) + ($160<<1)|0); + $162 = HEAP16[$161>>1]|0; + $163 = $162 << 16 >> 16; + $164 = (($163) + ($159))|0; + $165 = (($164|0) / 2)&-1; + $166 = $165&65535; + $167 = (($104) + ($$0153164<<1)|0); + HEAP16[$167>>1] = $166; + break; + } + case 32: { + $168 = HEAP32[$142>>2]|0; + $169 = (($168) + ($$0165<<2)|0); + $170 = +HEAPF32[$169>>2]; + $171 = $$0165 | 1; + $172 = (($168) + ($171<<2)|0); + $173 = +HEAPF32[$172>>2]; + $174 = $170 + $173; + $175 = $174 * 0.5; + $176 = (($104) + ($$0153164<<2)|0); + HEAPF32[$176>>2] = $175; + break; + } + default: { + } + } + $177 = (($$0153164) + 1)|0; + $178 = (($$0165) + 2)|0; + $179 = HEAP32[$0>>2]|0; + $180 = ($177>>>0)<($179>>>0); + if ($180) { + $$0153164 = $177;$$0165 = $178; + } else { + break L33; + } + } + } + } } - } - if ((label|0) == 13) { - _error($f,1); - $$0 = 0; - return ($$0|0); - } - else if ((label|0) == 15) { - _error($f,21); - $$0 = 0; - return ($$0|0); - } - else if ((label|0) == 17) { - _error($f,21); - $$0 = 0; - return ($$0|0); - } - else if ((label|0) == 21) { - _error($f,21); - $$0 = 0; - return ($$0|0); - } - else if ((label|0) == 23) { - _error($f,21); - $$0 = 0; - return ($$0|0); - } - else if ((label|0) == 26) { - _error($f,1); - $$0 = 0; - return ($$0|0); - } - else if ((label|0) == 30) { - _error($f,21); - $$0 = 0; - return ($$0|0); - } - else if ((label|0) == 32) { - _error($f,1); - $$0 = 0; - return ($$0|0); - } - else if ((label|0) == 33) { - return ($$0|0); - } - return (0)|0; + } while(0); + HEAP32[$96>>2] = $3; + $181 = ((($0)) + 16|0); + $182 = HEAP32[$181>>2]|0; + _free($182); + HEAP32[$181>>2] = $104; + return; } -function _vorbis_decode_packet($f,$len,$p_left,$p_right) { - $f = $f|0; - $len = $len|0; - $p_left = $p_left|0; - $p_right = $p_right|0; - var $$0 = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $left_end = 0, $mode = 0, $right_end = 0, label = 0, sp = 0; +function _stb_vorbis_open_filename($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$0 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $mode = sp + 8|0; - $left_end = sp + 4|0; - $right_end = sp; - $0 = (_vorbis_decode_initial($f,$p_left,$left_end,$p_right,$right_end,$mode)|0); - $1 = ($0|0)==(0); - if ($1) { + $3 = (_fopen($0,16832)|0); + $4 = ($3|0)==(0|0); + if ($4) { + $6 = ($1|0)==(0|0); + if ($6) { + $$0 = 0; + } else { + HEAP32[$1>>2] = 6; + $$0 = 0; + } + } else { + $5 = (_stb_vorbis_open_file($3,1,$1,$2)|0); + $$0 = $5; + } + return ($$0|0); +} +function _stb_vorbis_get_info($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$sroa$4$0$$sroa_idx2 = 0, $$sroa$5$0$$sroa_idx4 = 0, $$sroa$6$0$$sroa_idx6 = 0, $$sroa$7$0$$sroa_idx8 = 0, $$sroa$8$0$$sroa_idx10 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($1)) + 4|0); + $3 = HEAP32[$2>>2]|0; + $4 = HEAP32[$1>>2]|0; + $5 = ((($1)) + 8|0); + $6 = HEAP32[$5>>2]|0; + $7 = ((($1)) + 16|0); + $8 = HEAP32[$7>>2]|0; + $9 = ((($1)) + 12|0); + $10 = HEAP32[$9>>2]|0; + $11 = ((($1)) + 116|0); + $12 = HEAP32[$11>>2]|0; + $13 = $12 >> 1; + HEAP32[$0>>2] = $4; + $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); + HEAP32[$$sroa$4$0$$sroa_idx2>>2] = $3; + $$sroa$5$0$$sroa_idx4 = ((($0)) + 8|0); + HEAP32[$$sroa$5$0$$sroa_idx4>>2] = $6; + $$sroa$6$0$$sroa_idx6 = ((($0)) + 12|0); + HEAP32[$$sroa$6$0$$sroa_idx6>>2] = $8; + $$sroa$7$0$$sroa_idx8 = ((($0)) + 16|0); + HEAP32[$$sroa$7$0$$sroa_idx8>>2] = $10; + $$sroa$8$0$$sroa_idx10 = ((($0)) + 20|0); + HEAP32[$$sroa$8$0$$sroa_idx10>>2] = $13; + return; +} +function _stb_vorbis_stream_length_in_samples($0) { + $0 = $0|0; + var $$ = 0, $$0 = 0, $$050 = 0, $$51 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; + var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; + var $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $1 = sp + 4|0; + $2 = sp; + $3 = sp + 8|0; + $4 = ((($0)) + 48|0); + $5 = HEAP8[$4>>0]|0; + $6 = ($5<<24>>24)==(0); + if (!($6)) { + _error($0,2); $$0 = 0; STACKTOP = sp;return ($$0|0); } - $2 = HEAP32[$mode>>2]|0; - $3 = (((($f)) + 412|0) + (($2*6)|0)|0); - $4 = HEAP32[$p_left>>2]|0; - $5 = HEAP32[$p_right>>2]|0; - $6 = HEAP32[$right_end>>2]|0; - $7 = (_vorbis_decode_packet_rest($f,$len,$3,$4,$5,$6,$p_left)|0); - $$0 = $7; + $7 = ((($0)) + 796|0); + $8 = HEAP32[$7>>2]|0; + $9 = ($8|0)==(0); + if ($9) { + $10 = (_stb_vorbis_get_file_offset($0)|0); + $11 = ((($0)) + 44|0); + $12 = HEAP32[$11>>2]|0; + $13 = ($12>>>0)>(65535); + $14 = ((($0)) + 52|0); + $15 = HEAP32[$14>>2]|0; + if ($13) { + $16 = (($12) + -65536)|0; + $17 = ($16>>>0)<($15>>>0); + if ($17) { + label = 6; + } else { + $$050 = $16; + } + } else { + label = 6; + } + if ((label|0) == 6) { + $$050 = $15; + } + _set_file_offset($0,$$050); + $18 = (_vorbis_find_page($0,$1,$2)|0); + $19 = ($18|0)==(0); + do { + if ($19) { + $20 = ((($0)) + 100|0); + HEAP32[$20>>2] = 36; + HEAP32[$7>>2] = -1; + } else { + while(1) { + $21 = (_stb_vorbis_get_file_offset($0)|0); + $22 = HEAP32[$2>>2]|0; + $23 = ($22|0)==(0); + if (!($23)) { + break; + } + $24 = HEAP32[$1>>2]|0; + _set_file_offset($0,$24); + $25 = (_vorbis_find_page($0,$1,$2)|0); + $26 = ($25|0)==(0); + if ($26) { + break; + } + } + _set_file_offset($0,$21); + (_getn($0,$3,6)|0); + $27 = (_get32($0)|0); + $28 = (_get32($0)|0); + $29 = $28 & $27; + $30 = ($29|0)==(-1); + if ($30) { + $31 = ((($0)) + 100|0); + HEAP32[$31>>2] = 36; + HEAP32[$7>>2] = -1; + break; + } else { + $32 = ($28|0)==(0); + $$ = $32 ? $27 : -2; + HEAP32[$7>>2] = $$; + $33 = ((($0)) + 68|0); + HEAP32[$33>>2] = $21; + $34 = HEAP32[$1>>2]|0; + $35 = ((($0)) + 72|0); + HEAP32[$35>>2] = $34; + $36 = ((($0)) + 76|0); + HEAP32[$36>>2] = $$; + break; + } + } + } while(0); + _set_file_offset($0,$10); + } + $37 = HEAP32[$7>>2]|0; + $38 = ($37|0)==(-1); + $$51 = $38 ? 0 : $37; + $$0 = $$51; STACKTOP = sp;return ($$0|0); } -function _get8_packet($f) { - $f = $f|0; - var $0 = 0, $1 = 0, label = 0, sp = 0; +function _stb_vorbis_stream_length_in_seconds($0) { + $0 = $0|0; + var $1 = 0, $2 = 0.0, $3 = 0, $4 = 0.0, $5 = 0.0, label = 0, sp = 0; sp = STACKTOP; - $0 = (_get8_packet_raw($f)|0); - $1 = ((($f)) + 1396|0); - HEAP32[$1>>2] = 0; - return ($0|0); + $1 = (_stb_vorbis_stream_length_in_samples($0)|0); + $2 = (+($1>>>0)); + $3 = HEAP32[$0>>2]|0; + $4 = (+($3>>>0)); + $5 = $2 / $4; + return (+$5); } -function _vorbis_finish_frame($f,$len,$left,$right) { - $f = $f|0; - $len = $len|0; - $left = $left|0; - $right = $right|0; - var $$0 = 0, $$pr = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0.0, $17 = 0, $18 = 0.0, $19 = 0.0, $2 = 0, $20 = 0, $21 = 0.0, $22 = 0, $23 = 0, $24 = 0.0; - var $25 = 0.0, $26 = 0.0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0; - var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond10 = 0; - var $i$04 = 0, $i1$09 = 0, $j$03 = 0, $j2$06 = 0, $len$right = 0, label = 0, sp = 0; +function _stb_vorbis_get_samples_short_interleaved($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$ = 0, $$041 = 0, $$042 = 0, $$1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; + var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $not$ = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = ((($f)) + 992|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)==(0); - if ($2) { - $49 = 0; - } else { - $3 = (_get_window($f,$1)|0); - $4 = ((($f)) + 4|0); + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $4 = sp; + $5 = (($3|0) / ($1|0))&-1; + $6 = ((($0)) + 4|0); + $7 = ((($0)) + 1508|0); + $8 = ((($0)) + 1504|0); + $9 = ((($0)) + 800|0); + $$041 = 0;$$042 = $2; + while(1) { + $10 = ($5|0)>($$041|0); + if (!($10)) { + $$1 = $$041; + label = 7; + break; + } + $11 = HEAP32[$7>>2]|0; + $12 = HEAP32[$8>>2]|0; + $13 = (($11) - ($12))|0; + $14 = (($13) + ($$041))|0; + $15 = ($14|0)<($5|0); + $16 = (($5) - ($$041))|0; + $$ = $15 ? $13 : $16; + $17 = ($$|0)==(0); + if (!($17)) { + $18 = HEAP32[$6>>2]|0; + _convert_channels_short_interleaved($1,$$042,$18,$9,$12,$$); + } + $19 = (($$) + ($$041))|0; + $20 = HEAP32[$8>>2]|0; + $21 = (($20) + ($$))|0; + HEAP32[$8>>2] = $21; + $22 = ($19|0)==($5|0); + if ($22) { + $$1 = $19; + label = 7; + break; + } + $23 = Math_imul($$, $1)|0; + $24 = (($$042) + ($23<<1)|0); + $25 = (_stb_vorbis_get_frame_float($0,0,$4)|0); + $not$ = ($25|0)==(0); + if ($not$) { + $$1 = $19; + label = 7; + break; + } else { + $$041 = $19;$$042 = $24; + } + } + if ((label|0) == 7) { + STACKTOP = sp;return ($$1|0); + } + return (0)|0; +} +function _stb_vorbis_close($0) { + $0 = $0|0; + var $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ($0|0)==(0|0); + if ($1) { + return; + } + _vorbis_deinit($0); + _setup_free($0,$0); + return; +} +function _vorbis_deinit($0) { + $0 = $0|0; + var $$0103 = 0, $$08399 = 0, $$195 = 0, $$293 = 0, $$392 = 0, $$lcssa = 0, $$lcssa89 = 0, $$lcssa90 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0; + var $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0; + var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0; + var $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0; + var $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0; + var $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0; + var $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 396|0); + $2 = HEAP32[$1>>2]|0; + $3 = ($2|0)==(0|0); + if (!($3)) { + $4 = ((($0)) + 264|0); $5 = HEAP32[$4>>2]|0; $6 = ($5|0)>(0); if ($6) { - $7 = ($1|0)>(0); - $8 = HEAP32[$4>>2]|0; - $9 = (($1) + -1)|0; - $i1$09 = 0; + $7 = ((($0)) + 124|0); + $$0103 = 0; while(1) { - if ($7) { - $10 = (((($f)) + 800|0) + ($i1$09<<2)|0); - $11 = HEAP32[$10>>2]|0; - $12 = (((($f)) + 928|0) + ($i1$09<<2)|0); - $13 = HEAP32[$12>>2]|0; - $j2$06 = 0; - while(1) { - $14 = (($j2$06) + ($left))|0; - $15 = (($11) + ($14<<2)|0); - $16 = +HEAPF32[$15>>2]; - $17 = (($3) + ($j2$06<<2)|0); - $18 = +HEAPF32[$17>>2]; - $19 = $16 * $18; - $20 = (($13) + ($j2$06<<2)|0); - $21 = +HEAPF32[$20>>2]; - $22 = (($9) - ($j2$06))|0; - $23 = (($3) + ($22<<2)|0); - $24 = +HEAPF32[$23>>2]; - $25 = $21 * $24; - $26 = $19 + $25; - HEAPF32[$15>>2] = $26; - $27 = (($j2$06) + 1)|0; - $exitcond10 = ($27|0)==($1|0); - if ($exitcond10) { - break; - } else { - $j2$06 = $27; - } - } - } - $28 = (($i1$09) + 1)|0; - $29 = ($28|0)<($8|0); - if ($29) { - $i1$09 = $28; - } else { - break; - } - } - } - $$pr = HEAP32[$0>>2]|0; - $49 = $$pr; - } - $30 = (($len) - ($right))|0; - HEAP32[$0>>2] = $30; - $31 = ((($f)) + 4|0); - $32 = HEAP32[$31>>2]|0; - $33 = ($32|0)>(0); - if ($33) { - $34 = ($len|0)>($right|0); - $35 = HEAP32[$31>>2]|0; - $36 = (($len) - ($right))|0; - $i$04 = 0; - while(1) { - if ($34) { - $37 = (((($f)) + 800|0) + ($i$04<<2)|0); - $38 = HEAP32[$37>>2]|0; - $39 = (((($f)) + 928|0) + ($i$04<<2)|0); - $40 = HEAP32[$39>>2]|0; - $42 = $right;$j$03 = 0; - while(1) { - $41 = (($38) + ($42<<2)|0); - $43 = HEAP32[$41>>2]|0; - $44 = (($40) + ($j$03<<2)|0); - HEAP32[$44>>2] = $43; - $45 = (($j$03) + 1)|0; - $46 = (($45) + ($right))|0; - $exitcond = ($45|0)==($36|0); - if ($exitcond) { - break; - } else { - $42 = $46;$j$03 = $45; - } - } - } - $47 = (($i$04) + 1)|0; - $48 = ($47|0)<($35|0); - if ($48) { - $i$04 = $47; - } else { - break; - } - } - } - $50 = ($49|0)==(0); - if ($50) { - $$0 = 0; - return ($$0|0); - } - $51 = ($len|0)<($right|0); - $len$right = $51 ? $len : $right; - $52 = (($len$right) - ($left))|0; - $53 = ((($f)) + 1416|0); - $54 = HEAP32[$53>>2]|0; - $55 = (($54) + ($52))|0; - HEAP32[$53>>2] = $55; - $$0 = $52; - return ($$0|0); -} -function _vorbis_init($p,$z) { - $p = $p|0; - $z = $z|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $3 = 0, $4 = 0, $5 = 0; - var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - _memset(($p|0),0,1512)|0; - $0 = ($z|0)==(0|0); - if (!($0)) { - $1 = ((($p)) + 80|0); - $2 = $z; - $3 = $2; - $4 = HEAP32[$3>>2]|0; - $5 = (($2) + 4)|0; - $6 = $5; - $7 = HEAP32[$6>>2]|0; - $8 = $1; - $9 = $8; - HEAP32[$9>>2] = $4; - $10 = (($8) + 4)|0; - $11 = $10; - HEAP32[$11>>2] = $7; - $12 = ((($p)) + 84|0); - $13 = HEAP32[$12>>2]|0; - $14 = (($13) + 3)|0; - $15 = $14 & -4; - HEAP32[$12>>2] = $15; - $16 = ((($p)) + 92|0); - HEAP32[$16>>2] = $15; - } - $17 = ((($p)) + 96|0); - HEAP32[$17>>2] = 0; - $18 = ((($p)) + 100|0); - HEAP32[$18>>2] = 0; - $19 = ((($p)) + 32|0); - HEAP32[$19>>2] = 0; - $20 = ((($p)) + 124|0); - HEAP32[$20>>2] = 0; - $21 = ((($p)) + 1420|0); - HEAP32[$21>>2] = -1; - $22 = ((($p)) + 28|0); - HEAP32[$22>>2] = 0; - $23 = ((($p)) + 20|0); - HEAP32[$23>>2] = 0; - return; -} -function _start_decoder($f) { - $f = $f|0; - var $$ = 0, $$15 = 0, $$4 = 0, $$lcssa = 0, $$lcssa457 = 0, $$lcssa465 = 0, $$lcssa466 = 0, $$lcssa476 = 0, $$lcssa499 = 0, $$lcssa50 = 0, $$lcssa501 = 0, $$lcssa504 = 0, $$lcssa505 = 0, $$lcssa506 = 0, $$lcssa507 = 0, $$lcssa508 = 0, $$lcssa51 = 0, $$lcssa63 = 0, $$lcssa65 = 0, $$longest_floorlist$0 = 0; - var $$longest_floorlist$0$lcssa = 0, $$max_class$0 = 0, $$max_class$0$lcssa = 0, $$max_part_read$0 = 0, $$max_part_read$0$lcssa = 0, $$off = 0, $$off7 = 0, $$pr = 0, $$pr17 = 0, $$pr287 = 0, $$pr288 = 0, $$sum = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0; - var $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0; - var $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0; - var $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0; - var $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0; - var $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0; - var $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0; - var $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0; - var $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0; - var $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0.0, $26 = 0, $260 = 0, $261 = 0, $262 = 0.0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0; - var $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0; - var $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0; - var $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0; - var $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0.0, $337 = 0.0, $338 = 0.0, $339 = 0.0; - var $34 = 0, $340 = 0.0, $341 = 0.0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0; - var $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0.0, $374 = 0.0, $375 = 0.0; - var $376 = 0.0, $377 = 0.0, $378 = 0.0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0; - var $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0; - var $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0; - var $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0; - var $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0; - var $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0; - var $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0; - var $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0; - var $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0, $531 = 0, $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0; - var $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0, $549 = 0, $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 0, $554 = 0, $555 = 0; - var $556 = 0, $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0, $562 = 0, $563 = 0, $564 = 0, $565 = 0, $566 = 0, $567 = 0, $568 = 0, $569 = 0, $57 = 0, $570 = 0, $571 = 0, $572 = 0, $573 = 0; - var $574 = 0, $575 = 0, $576 = 0, $577 = 0, $578 = 0, $579 = 0, $58 = 0, $580 = 0, $581 = 0, $582 = 0, $583 = 0, $584 = 0, $585 = 0, $586 = 0, $587 = 0, $588 = 0, $589 = 0, $59 = 0, $590 = 0, $591 = 0; - var $592 = 0, $593 = 0, $594 = 0, $595 = 0, $596 = 0, $597 = 0, $598 = 0, $599 = 0, $6 = 0, $60 = 0, $600 = 0, $601 = 0, $602 = 0, $603 = 0, $604 = 0, $605 = 0, $606 = 0, $607 = 0, $608 = 0, $609 = 0; - var $61 = 0, $610 = 0, $611 = 0, $612 = 0, $613 = 0, $614 = 0, $615 = 0, $616 = 0, $617 = 0, $618 = 0, $619 = 0, $62 = 0, $620 = 0, $621 = 0, $622 = 0, $623 = 0, $624 = 0, $625 = 0, $626 = 0, $627 = 0; - var $628 = 0, $629 = 0, $63 = 0, $630 = 0, $631 = 0, $632 = 0, $633 = 0, $634 = 0, $635 = 0, $636 = 0, $637 = 0, $638 = 0, $639 = 0, $64 = 0, $640 = 0, $641 = 0, $642 = 0, $643 = 0, $644 = 0, $645 = 0; - var $646 = 0, $647 = 0, $648 = 0, $649 = 0, $65 = 0, $650 = 0, $651 = 0, $652 = 0, $653 = 0, $654 = 0, $655 = 0, $656 = 0, $657 = 0, $658 = 0, $659 = 0, $66 = 0, $660 = 0, $661 = 0, $662 = 0, $663 = 0; - var $664 = 0, $665 = 0, $666 = 0, $667 = 0, $668 = 0, $669 = 0, $67 = 0, $670 = 0, $671 = 0, $672 = 0, $673 = 0, $674 = 0, $675 = 0, $676 = 0, $677 = 0, $678 = 0, $679 = 0, $68 = 0, $680 = 0, $681 = 0; - var $682 = 0, $683 = 0, $684 = 0, $685 = 0, $686 = 0, $687 = 0, $688 = 0, $689 = 0, $69 = 0, $690 = 0, $691 = 0, $692 = 0, $693 = 0, $694 = 0, $695 = 0, $696 = 0, $697 = 0, $698 = 0, $699 = 0, $7 = 0; - var $70 = 0, $700 = 0, $701 = 0, $702 = 0, $703 = 0, $704 = 0, $705 = 0, $706 = 0, $707 = 0, $708 = 0, $709 = 0, $71 = 0, $710 = 0, $711 = 0, $712 = 0, $713 = 0, $714 = 0, $715 = 0, $716 = 0, $717 = 0; - var $718 = 0, $719 = 0, $72 = 0, $720 = 0, $721 = 0, $722 = 0, $723 = 0, $724 = 0, $725 = 0, $726 = 0, $727 = 0, $728 = 0, $729 = 0, $73 = 0, $730 = 0, $731 = 0, $732 = 0, $733 = 0, $734 = 0, $735 = 0; - var $736 = 0, $737 = 0, $738 = 0, $739 = 0, $74 = 0, $740 = 0, $741 = 0, $742 = 0, $743 = 0, $744 = 0, $745 = 0, $746 = 0, $747 = 0, $748 = 0, $749 = 0, $75 = 0, $750 = 0, $751 = 0, $752 = 0, $753 = 0; - var $754 = 0, $755 = 0, $756 = 0, $757 = 0, $758 = 0, $759 = 0, $76 = 0, $760 = 0, $761 = 0, $762 = 0, $763 = 0, $764 = 0, $765 = 0, $766 = 0, $767 = 0, $768 = 0, $769 = 0, $77 = 0, $770 = 0, $771 = 0; - var $772 = 0, $773 = 0, $774 = 0, $775 = 0, $776 = 0, $777 = 0, $778 = 0, $779 = 0, $78 = 0, $780 = 0, $781 = 0, $782 = 0, $783 = 0, $784 = 0, $785 = 0, $786 = 0, $787 = 0, $788 = 0, $789 = 0, $79 = 0; - var $790 = 0, $791 = 0, $792 = 0, $793 = 0, $794 = 0, $795 = 0, $796 = 0, $797 = 0, $798 = 0, $799 = 0, $8 = 0, $80 = 0, $800 = 0, $801 = 0, $802 = 0, $803 = 0, $804 = 0, $805 = 0, $806 = 0, $807 = 0; - var $808 = 0, $809 = 0, $81 = 0, $810 = 0, $811 = 0, $812 = 0, $813 = 0, $814 = 0, $815 = 0, $816 = 0, $817 = 0, $818 = 0, $819 = 0, $82 = 0, $820 = 0, $821 = 0, $822 = 0, $823 = 0, $824 = 0, $825 = 0; - var $826 = 0, $827 = 0, $828 = 0, $829 = 0, $83 = 0, $830 = 0, $831 = 0, $832 = 0, $833 = 0, $834 = 0, $835 = 0, $836 = 0, $837 = 0, $838 = 0, $839 = 0, $84 = 0, $840 = 0, $841 = 0, $842 = 0, $843 = 0; - var $844 = 0, $845 = 0, $846 = 0, $847 = 0, $848 = 0, $849 = 0, $85 = 0, $850 = 0, $851 = 0, $852 = 0, $853 = 0, $854 = 0, $855 = 0, $856 = 0, $857 = 0, $858 = 0, $859 = 0, $86 = 0, $860 = 0, $861 = 0; - var $862 = 0, $863 = 0, $864 = 0, $865 = 0, $866 = 0, $867 = 0, $868 = 0, $869 = 0, $87 = 0, $870 = 0, $871 = 0, $872 = 0, $873 = 0, $874 = 0, $875 = 0, $876 = 0, $877 = 0, $878 = 0, $879 = 0, $88 = 0; - var $880 = 0, $881 = 0, $882 = 0, $883 = 0, $884 = 0, $885 = 0, $886 = 0, $887 = 0, $888 = 0, $889 = 0, $89 = 0, $890 = 0, $891 = 0, $892 = 0, $893 = 0, $894 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0; - var $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $current_entry$0203 = 0, $current_length$0204 = 0, $current_length$0204$in = 0, $div$0$ph = 0, $header = 0, $hi = 0, $high_bits$0 = 0, $i$1225 = 0, $i$2194 = 0, $i$3189 = 0, $i$3189$lcssa459 = 0, $i$4154 = 0, $i$5133 = 0; - var $i$6118 = 0, $i$7114 = 0, $i9$0109 = 0, $j$0199 = 0, $j$10181 = 0, $j$11184 = 0, $j$1208 = 0, $j$12138 = 0, $j$13143 = 0, $j$14150 = 0, $j$15127 = 0, $j$16125 = 0, $j$17129 = 0, $j$2211 = 0, $j$3221 = 0, $j$4216 = 0, $j$5108 = 0, $j$6159 = 0, $j$7166 = 0, $j$8174 = 0; - var $j$9177 = 0, $k$0 = 0, $k$0$ph = 0, $k$1163 = 0, $k$2170 = 0, $k$3142 = 0, $k$4147 = 0, $k$4147$in = 0, $k$5122 = 0, $last$0220 = 0.0, $last$1 = 0.0, $last$1$ = 0.0, $last$1$$lcssa = 0.0, $last$1$lcssa = 0.0, $last$1$ph = 0.0, $last2$0$ = 0.0, $last2$0215 = 0.0, $lengths$0 = 0, $lengths$119 = 0, $lengths$120$ph = 0; - var $longest_floorlist$0$lcssa = 0, $longest_floorlist$0188 = 0, $low = 0, $max_class$0158 = 0, $max_part_read$0$lcssa = 0, $max_part_read$0110 = 0, $or$cond = 0, $or$cond14 = 0, $p = 0, $phitmp = 0, $phitmp233 = 0, $phitmp234 = 0, $sext = 0, $sorted_count$0207 = 0, $sorted_count$1 = 0, $sorted_count$2 = 0, $temp$0146 = 0, $total$0198 = 0, $total$1 = 0, $total$2 = 0; - var $values$0 = 0, $values$1 = 0, $values$1$lcssa = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 1024|0; - $header = sp + 1008|0; - $p = sp + 8|0; - $low = sp + 4|0; - $hi = sp; - $0 = (_start_page($f)|0); - $1 = ($0|0)==(0); - if ($1) { - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - $2 = ((($f)) + 1375|0); - $3 = HEAP8[$2>>0]|0; - $4 = $3&255; - $5 = $4 & 2; - $6 = ($5|0)==(0); - if ($6) { - _error($f,34); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - $7 = $4 & 4; - $8 = ($7|0)==(0); - if (!($8)) { - _error($f,34); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - $9 = $4 & 1; - $10 = ($9|0)==(0); - if (!($10)) { - _error($f,34); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - $11 = ((($f)) + 1116|0); - $12 = HEAP32[$11>>2]|0; - $13 = ($12|0)==(1); - if (!($13)) { - _error($f,34); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - $14 = ((($f)) + 1120|0); - $15 = HEAP8[$14>>0]|0; - $16 = ($15<<24>>24)==(30); - if (!($16)) { - _error($f,34); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - $17 = (_get8($f)|0); - $18 = ($17<<24>>24)==(1); - if (!($18)) { - _error($f,34); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - $19 = (_getn($f,$header,6)|0); - $20 = ($19|0)==(0); - if ($20) { - _error($f,10); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - $21 = (_vorbis_validate($header)|0); - $22 = ($21|0)==(0); - if ($22) { - _error($f,34); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - $23 = (_get32($f)|0); - $24 = ($23|0)==(0); - if (!($24)) { - _error($f,34); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - $25 = (_get8($f)|0); - $26 = $25&255; - $27 = ((($f)) + 4|0); - HEAP32[$27>>2] = $26; - $28 = ($25<<24>>24)==(0); - if ($28) { - _error($f,34); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - $29 = ($25&255)>(16); - if ($29) { - _error($f,5); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - $30 = (_get32($f)|0); - HEAP32[$f>>2] = $30; - $31 = ($30|0)==(0); - if ($31) { - _error($f,34); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - (_get32($f)|0); - (_get32($f)|0); - (_get32($f)|0); - $32 = (_get8($f)|0); - $33 = $32&255; - $34 = $33 & 15; - $35 = $33 >>> 4; - $36 = 1 << $34; - $37 = ((($f)) + 112|0); - HEAP32[$37>>2] = $36; - $38 = 1 << $35; - $39 = ((($f)) + 116|0); - HEAP32[$39>>2] = $38; - $$off = (($34) + -6)|0; - $40 = ($$off>>>0)>(7); - if ($40) { - _error($f,20); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - $$off7 = (($32) + -96)<<24>>24; - $41 = ($$off7<<24>>24)<(0); - if ($41) { - _error($f,20); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - $42 = ($34>>>0)>($35>>>0); - if ($42) { - _error($f,20); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - $43 = (_get8($f)|0); - $44 = $43 & 1; - $45 = ($44<<24>>24)==(0); - if ($45) { - _error($f,34); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - $46 = (_start_page($f)|0); - $47 = ($46|0)==(0); - if ($47) { - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - $48 = (_start_packet($f)|0); - $49 = ($48|0)==(0); - if ($49) { - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - $50 = ((($f)) + 1376|0); - while(1) { - $51 = (_next_segment($f)|0); - _skip($f,$51); - HEAP8[$50>>0] = 0; - $52 = ($51|0)==(0); - if ($52) { - break; - } - } - $53 = (_start_packet($f)|0); - $54 = ($53|0)==(0); - if ($54) { - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - $55 = ((($f)) + 48|0); - $56 = HEAP8[$55>>0]|0; - $57 = ($56<<24>>24)==(0); - do { - if (!($57)) { - $58 = (_is_whole_packet_present($f,1)|0); - $59 = ($58|0)==(0); - if (!($59)) { - break; - } - $60 = ((($f)) + 100|0); - $61 = HEAP32[$60>>2]|0; - $62 = ($61|0)==(21); - if (!($62)) { - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - HEAP32[$60>>2] = 20; - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - } while(0); - _crc32_init(); - $63 = (_get8_packet($f)|0); - $64 = ($63|0)==(5); - if (!($64)) { - _error($f,20); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - $65 = (_get8_packet($f)|0); - $66 = $65&255; - HEAP8[$header>>0] = $66; - $67 = (_get8_packet($f)|0); - $68 = $67&255; - $69 = ((($header)) + 1|0); - HEAP8[$69>>0] = $68; - $70 = (_get8_packet($f)|0); - $71 = $70&255; - $72 = ((($header)) + 2|0); - HEAP8[$72>>0] = $71; - $73 = (_get8_packet($f)|0); - $74 = $73&255; - $75 = ((($header)) + 3|0); - HEAP8[$75>>0] = $74; - $76 = (_get8_packet($f)|0); - $77 = $76&255; - $78 = ((($header)) + 4|0); - HEAP8[$78>>0] = $77; - $79 = (_get8_packet($f)|0); - $80 = $79&255; - $81 = ((($header)) + 5|0); - HEAP8[$81>>0] = $80; - $82 = (_vorbis_validate($header)|0); - $83 = ($82|0)==(0); - if ($83) { - _error($f,20); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - $84 = (_get_bits($f,8)|0); - $85 = (($84) + 1)|0; - $86 = ((($f)) + 120|0); - HEAP32[$86>>2] = $85; - $87 = ($85*2096)|0; - $88 = (_setup_malloc($f,$87)|0); - $89 = ((($f)) + 124|0); - HEAP32[$89>>2] = $88; - $90 = ($88|0)==(0|0); - if ($90) { - _error($f,3); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - $91 = HEAP32[$86>>2]|0; - $92 = ($91*2096)|0; - _memset(($88|0),0,($92|0))|0; - $93 = HEAP32[$86>>2]|0; - $94 = ($93|0)>(0); - L100: do { - if ($94) { - $95 = ((($f)) + 16|0); - $96 = ((($f)) + 16|0); - $i$1225 = 0; - L102: while(1) { - $97 = HEAP32[$89>>2]|0; - $98 = (($97) + (($i$1225*2096)|0)|0); - $99 = (_get_bits($f,8)|0); - $100 = $99 & 255; - $101 = ($100|0)==(66); - if (!($101)) { - label = 52; - break; - } - $102 = (_get_bits($f,8)|0); - $103 = $102 & 255; - $104 = ($103|0)==(67); - if (!($104)) { - label = 54; - break; - } - $105 = (_get_bits($f,8)|0); - $106 = $105 & 255; - $107 = ($106|0)==(86); - if (!($107)) { - label = 56; - break; - } - $108 = (_get_bits($f,8)|0); - $109 = (_get_bits($f,8)|0); - $110 = $109 << 8; - $111 = $108 & 255; - $112 = $110 | $111; - HEAP32[$98>>2] = $112; - $113 = (_get_bits($f,8)|0); - $114 = (_get_bits($f,8)|0); - $115 = (_get_bits($f,8)|0); - $116 = $115 << 16; - $117 = $114 << 8; - $118 = $117 & 65280; - $119 = $113 & 255; - $120 = $118 | $119; - $121 = $120 | $116; - $122 = (((($97) + (($i$1225*2096)|0)|0)) + 4|0); - HEAP32[$122>>2] = $121; - $123 = (_get_bits($f,1)|0); - $124 = ($123|0)!=(0); - if ($124) { - $127 = 0; - } else { - $125 = (_get_bits($f,1)|0); - $127 = $125; - } - $126 = $127&255; - $128 = (((($97) + (($i$1225*2096)|0)|0)) + 23|0); - HEAP8[$128>>0] = $126; - $129 = HEAP32[$98>>2]|0; - $130 = ($129|0)==(0); - if ($130) { - $131 = HEAP32[$122>>2]|0; - $132 = ($131|0)==(0); - if (!($132)) { - label = 61; - break; - } - $$pr = HEAP8[$128>>0]|0; - $133 = $$pr; - } else { - $133 = $126; - } - $134 = ($133<<24>>24)==(0); - $135 = HEAP32[$122>>2]|0; - if ($134) { - $137 = (_setup_malloc($f,$135)|0); - $138 = (((($97) + (($i$1225*2096)|0)|0)) + 8|0); - HEAP32[$138>>2] = $137; - $lengths$0 = $137; - } else { - $136 = (_setup_temp_malloc($f,$135)|0); - $lengths$0 = $136; - } - $139 = ($lengths$0|0)==(0|0); - if ($139) { - label = 67; - break; - } - do { - if ($124) { - $142 = (_get_bits($f,5)|0); - $143 = HEAP32[$122>>2]|0; - $144 = ($143|0)>(0); - if ($144) { - $146 = $143;$current_entry$0203 = 0;$current_length$0204$in = $142; - } else { - $total$2 = 0; - break; - } + $8 = HEAP32[$1>>2]|0; + $9 = (((($8) + (($$0103*24)|0)|0)) + 16|0); + $10 = HEAP32[$9>>2]|0; + $11 = ($10|0)==(0|0); + if (!($11)) { + $12 = HEAP32[$7>>2]|0; + $13 = (((($8) + (($$0103*24)|0)|0)) + 13|0); + $14 = HEAP8[$13>>0]|0; + $15 = $14&255; + $16 = (((($12) + (($15*2096)|0)|0)) + 4|0); + $17 = HEAP32[$16>>2]|0; + $18 = ($17|0)>(0); + $19 = HEAP32[$9>>2]|0; + if ($18) { + $$08399 = 0;$21 = $19; while(1) { - $current_length$0204 = (($current_length$0204$in) + 1)|0; - $145 = (($146) - ($current_entry$0203))|0; - $147 = (_ilog($145)|0); - $148 = (_get_bits($f,$147)|0); - $149 = (($148) + ($current_entry$0203))|0; - $150 = HEAP32[$122>>2]|0; - $151 = ($149|0)>($150|0); - if ($151) { - label = 72; - break L102; - } - $152 = (($lengths$0) + ($current_entry$0203)|0); - $153 = $current_length$0204&255; - _memset(($152|0),($153|0),($148|0))|0; - $154 = HEAP32[$122>>2]|0; - $155 = ($154|0)>($149|0); - if ($155) { - $146 = $154;$current_entry$0203 = $149;$current_length$0204$in = $current_length$0204; + $20 = (($21) + ($$08399<<2)|0); + $22 = HEAP32[$20>>2]|0; + _setup_free($0,$22); + $23 = (($$08399) + 1)|0; + $24 = HEAP32[$7>>2]|0; + $25 = HEAP8[$13>>0]|0; + $26 = $25&255; + $27 = (((($24) + (($26*2096)|0)|0)) + 4|0); + $28 = HEAP32[$27>>2]|0; + $29 = ($23|0)<($28|0); + $30 = HEAP32[$9>>2]|0; + if ($29) { + $$08399 = $23;$21 = $30; } else { - $total$2 = 0; + $$lcssa90 = $30; break; } } } else { - $140 = HEAP32[$122>>2]|0; - $141 = ($140|0)>(0); - if ($141) { - $j$0199 = 0;$total$0198 = 0; - } else { - $total$2 = 0; - break; - } - while(1) { - $156 = HEAP8[$128>>0]|0; - $157 = ($156<<24>>24)==(0); - do { - if ($157) { - label = 76; - } else { - $158 = (_get_bits($f,1)|0); - $159 = ($158|0)==(0); - if (!($159)) { - label = 76; - break; - } - $167 = (($lengths$0) + ($j$0199)|0); - HEAP8[$167>>0] = -1; - $total$1 = $total$0198; - } - } while(0); - if ((label|0) == 76) { - label = 0; - $160 = (_get_bits($f,5)|0); - $161 = (($160) + 1)|0; - $162 = $161&255; - $163 = (($lengths$0) + ($j$0199)|0); - HEAP8[$163>>0] = $162; - $164 = (($total$0198) + 1)|0; - $165 = $161 & 255; - $166 = ($165|0)==(32); - if ($166) { - label = 77; - break L102; - } else { - $total$1 = $164; - } - } - $168 = (($j$0199) + 1)|0; - $169 = HEAP32[$122>>2]|0; - $170 = ($168|0)<($169|0); - if ($170) { - $j$0199 = $168;$total$0198 = $total$1; - } else { - $total$2 = $total$1; - break; - } - } + $$lcssa90 = $19; } - } while(0); - $171 = HEAP8[$128>>0]|0; - $172 = ($171<<24>>24)==(0); - do { - if ($172) { - $lengths$120$ph = $lengths$0; - label = 88; - } else { - $173 = HEAP32[$122>>2]|0; - $174 = $173 >> 2; - $175 = ($total$2|0)<($174|0); - if ($175) { - $$pr17 = HEAP8[$128>>0]|0; - $185 = ($$pr17<<24>>24)==(0); - if ($185) { - $lengths$120$ph = $lengths$0; - label = 88; - break; - } else { - $lengths$119 = $lengths$0;$sorted_count$2 = $total$2; - break; - } - } - $176 = HEAP32[$96>>2]|0; - $177 = ($173|0)>($176|0); - if ($177) { - HEAP32[$96>>2] = $173; - } - $178 = HEAP32[$122>>2]|0; - $179 = (_setup_malloc($f,$178)|0); - $180 = (((($97) + (($i$1225*2096)|0)|0)) + 8|0); - HEAP32[$180>>2] = $179; - $181 = ($179|0)==(0|0); - if ($181) { - label = 85; - break L102; - } - $182 = HEAP32[$122>>2]|0; - _memcpy(($179|0),($lengths$0|0),($182|0))|0; - $183 = HEAP32[$122>>2]|0; - _setup_temp_free($f,$lengths$0,$183); - $184 = HEAP32[$180>>2]|0; - HEAP8[$128>>0] = 0; - $lengths$120$ph = $184; - label = 88; - } - } while(0); - do { - if ((label|0) == 88) { - label = 0; - $186 = HEAP32[$122>>2]|0; - $187 = ($186|0)>(0); - if (!($187)) { - $lengths$119 = $lengths$120$ph;$sorted_count$2 = 0; - break; - } - $188 = HEAP32[$122>>2]|0; - $j$1208 = 0;$sorted_count$0207 = 0; - while(1) { - $189 = (($lengths$120$ph) + ($j$1208)|0); - $190 = HEAP8[$189>>0]|0; - $191 = ($190&255)<(11); - $192 = ($190<<24>>24)==(-1); - $or$cond = $191 | $192; - $193 = $or$cond&1; - $194 = $193 ^ 1; - $sorted_count$1 = (($194) + ($sorted_count$0207))|0; - $195 = (($j$1208) + 1)|0; - $196 = ($195|0)<($188|0); - if ($196) { - $j$1208 = $195;$sorted_count$0207 = $sorted_count$1; - } else { - $lengths$119 = $lengths$120$ph;$sorted_count$2 = $sorted_count$1; - break; - } - } - } - } while(0); - $197 = (((($97) + (($i$1225*2096)|0)|0)) + 2092|0); - HEAP32[$197>>2] = $sorted_count$2; - $198 = HEAP8[$128>>0]|0; - $199 = ($198<<24>>24)==(0); - do { - if ($199) { - $200 = HEAP32[$122>>2]|0; - $201 = $200 << 2; - $202 = (_setup_malloc($f,$201)|0); - $203 = (((($97) + (($i$1225*2096)|0)|0)) + 32|0); - HEAP32[$203>>2] = $202; - $204 = ($202|0)==(0|0); - if ($204) { - label = 93; - break L102; - } else { - $values$1 = 0; - } - } else { - $205 = ($sorted_count$2|0)==(0); - if ($205) { - $values$0 = 0; - } else { - $206 = (_setup_malloc($f,$sorted_count$2)|0); - $207 = (((($97) + (($i$1225*2096)|0)|0)) + 8|0); - HEAP32[$207>>2] = $206; - $208 = ($206|0)==(0|0); - if ($208) { - label = 96; - break L102; - } - $209 = HEAP32[$197>>2]|0; - $210 = $209 << 2; - $211 = (_setup_temp_malloc($f,$210)|0); - $212 = (((($97) + (($i$1225*2096)|0)|0)) + 32|0); - HEAP32[$212>>2] = $211; - $213 = ($211|0)==(0|0); - if ($213) { - label = 98; - break L102; - } - $214 = HEAP32[$197>>2]|0; - $215 = $214 << 2; - $216 = (_setup_temp_malloc($f,$215)|0); - $217 = ($216|0)==(0|0); - if ($217) { - label = 100; - break L102; - } else { - $values$0 = $216; - } - } - $218 = HEAP32[$122>>2]|0; - $219 = HEAP32[$197>>2]|0; - $220 = $219 << 3; - $221 = (($220) + ($218))|0; - $222 = HEAP32[$95>>2]|0; - $223 = ($221>>>0)>($222>>>0); - if (!($223)) { - $values$1 = $values$0; - break; - } - HEAP32[$95>>2] = $221; - $values$1 = $values$0; - } - } while(0); - $224 = HEAP32[$122>>2]|0; - $225 = (_compute_codewords($98,$lengths$119,$224,$values$1)|0); - $226 = ($225|0)==(0); - if ($226) { - $$lcssa476 = $128;$values$1$lcssa = $values$1; - label = 104; - break; + _setup_free($0,$$lcssa90); } - $229 = HEAP32[$197>>2]|0; - $230 = ($229|0)==(0); - if (!($230)) { - $231 = $229 << 2; - $232 = (($231) + 4)|0; - $233 = (_setup_malloc($f,$232)|0); - $234 = (((($97) + (($i$1225*2096)|0)|0)) + 2084|0); - HEAP32[$234>>2] = $233; - $235 = ($233|0)==(0|0); - if ($235) { - label = 109; - break; - } - $236 = HEAP32[$197>>2]|0; - $237 = $236 << 2; - $238 = (($237) + 4)|0; - $239 = (_setup_malloc($f,$238)|0); - $240 = (((($97) + (($i$1225*2096)|0)|0)) + 2088|0); - HEAP32[$240>>2] = $239; - $241 = ($239|0)==(0|0); - if ($241) { - label = 111; - break; - } - $242 = ((($239)) + 4|0); - HEAP32[$240>>2] = $242; - HEAP32[$239>>2] = -1; - _compute_sorted_huffman($98,$lengths$119,$values$1); - } - $243 = HEAP8[$128>>0]|0; - $244 = ($243<<24>>24)==(0); - if (!($244)) { - $245 = HEAP32[$197>>2]|0; - $246 = $245 << 2; - _setup_temp_free($f,$values$1,$246); - $247 = (((($97) + (($i$1225*2096)|0)|0)) + 32|0); - $248 = HEAP32[$247>>2]|0; - $249 = HEAP32[$197>>2]|0; - $250 = $249 << 2; - _setup_temp_free($f,$248,$250); - $251 = HEAP32[$122>>2]|0; - _setup_temp_free($f,$lengths$119,$251); - HEAP32[$247>>2] = 0; - } - _compute_accelerated_huffman($98); - $252 = (_get_bits($f,4)|0); - $253 = $252&255; - $254 = (((($97) + (($i$1225*2096)|0)|0)) + 21|0); - HEAP8[$254>>0] = $253; - $255 = $252 & 255; - $256 = ($255>>>0)>(2); - if ($256) { - label = 116; - break; - } - $257 = ($255|0)==(0); - do { - if (!($257)) { - $258 = (_get_bits($f,32)|0); - $259 = (+_float32_unpack($258)); - $260 = (((($97) + (($i$1225*2096)|0)|0)) + 12|0); - HEAPF32[$260>>2] = $259; - $261 = (_get_bits($f,32)|0); - $262 = (+_float32_unpack($261)); - $263 = (((($97) + (($i$1225*2096)|0)|0)) + 16|0); - HEAPF32[$263>>2] = $262; - $264 = (_get_bits($f,4)|0); - $265 = (($264) + 1)|0; - $266 = $265&255; - $267 = (((($97) + (($i$1225*2096)|0)|0)) + 20|0); - HEAP8[$267>>0] = $266; - $268 = (_get_bits($f,1)|0); - $269 = $268&255; - $270 = (((($97) + (($i$1225*2096)|0)|0)) + 22|0); - HEAP8[$270>>0] = $269; - $271 = HEAP8[$254>>0]|0; - $272 = ($271<<24>>24)==(1); - $273 = HEAP32[$122>>2]|0; - $274 = HEAP32[$98>>2]|0; - if ($272) { - $275 = (_lookup1_values($273,$274)|0); - $276 = (((($97) + (($i$1225*2096)|0)|0)) + 24|0); - HEAP32[$276>>2] = $275; - } else { - $277 = Math_imul($274, $273)|0; - $278 = (((($97) + (($i$1225*2096)|0)|0)) + 24|0); - HEAP32[$278>>2] = $277; - } - $279 = (((($97) + (($i$1225*2096)|0)|0)) + 24|0); - $280 = HEAP32[$279>>2]|0; - $281 = ($280|0)==(0); - if ($281) { - label = 122; - break L102; - } - $282 = $280 << 1; - $283 = (_setup_temp_malloc($f,$282)|0); - $284 = ($283|0)==(0|0); - if ($284) { - label = 125; - break L102; - } - $285 = HEAP32[$279>>2]|0; - $286 = ($285|0)>(0); - if ($286) { - $j$2211 = 0; - while(1) { - $287 = HEAP8[$267>>0]|0; - $288 = $287&255; - $289 = (_get_bits($f,$288)|0); - $290 = ($289|0)==(-1); - if ($290) { - $$lcssa499 = $279;$$lcssa504 = $283; - label = 127; - break L102; - } - $293 = $289&65535; - $294 = (($283) + ($j$2211<<1)|0); - HEAP16[$294>>1] = $293; - $295 = (($j$2211) + 1)|0; - $296 = HEAP32[$279>>2]|0; - $297 = ($295|0)<($296|0); - if ($297) { - $j$2211 = $295; - } else { - $$lcssa63 = $296; - break; - } - } - } else { - $$lcssa63 = $285; - } - $298 = HEAP8[$254>>0]|0; - $299 = ($298<<24>>24)==(1); - if (!($299)) { - $359 = $$lcssa63 << 2; - $360 = (_setup_malloc($f,$359)|0); - $361 = (((($97) + (($i$1225*2096)|0)|0)) + 28|0); - HEAP32[$361>>2] = $360; - $362 = ($360|0)==(0|0); - $363 = HEAP32[$279>>2]|0; - if ($362) { - $$lcssa505 = $283;$$lcssa508 = $363; - label = 152; - break L102; - } - $364 = ($363|0)>(0); - if ($364) { - $365 = HEAP32[$361>>2]|0; - $366 = HEAP8[$270>>0]|0; - $367 = ($366<<24>>24)==(0); - $368 = HEAP32[$279>>2]|0; - $j$4216 = 0;$last2$0215 = 0.0; - while(1) { - $370 = (($283) + ($j$4216<<1)|0); - $371 = HEAP16[$370>>1]|0; - $372 = $371&65535; - $373 = (+($372|0)); - $374 = +HEAPF32[$263>>2]; - $375 = $374 * $373; - $376 = +HEAPF32[$260>>2]; - $377 = $376 + $375; - $378 = $last2$0215 + $377; - $379 = (($365) + ($j$4216<<2)|0); - HEAPF32[$379>>2] = $378; - $last2$0$ = $367 ? $last2$0215 : $378; - $380 = (($j$4216) + 1)|0; - $381 = ($380|0)<($368|0); - if ($381) { - $j$4216 = $380;$last2$0215 = $last2$0$; - } else { - $$lcssa65 = $368; - break; - } - } - } else { - $$lcssa65 = $363; - } - $382 = $$lcssa65 << 1; - _setup_temp_free($f,$283,$382); - break; - } - $300 = HEAP8[$128>>0]|0; - $301 = ($300<<24>>24)!=(0); - if ($301) { - $302 = HEAP32[$197>>2]|0; - $303 = ($302|0)==(0); - if ($303) { - break; - } - $304 = $302 << 2; - $305 = HEAP32[$98>>2]|0; - $306 = Math_imul($304, $305)|0; - $307 = (_setup_malloc($f,$306)|0); - $308 = (((($97) + (($i$1225*2096)|0)|0)) + 28|0); - HEAP32[$308>>2] = $307; - } else { - $309 = HEAP32[$122>>2]|0; - $310 = $309 << 2; - $311 = HEAP32[$98>>2]|0; - $312 = Math_imul($310, $311)|0; - $313 = (_setup_malloc($f,$312)|0); - $314 = (((($97) + (($i$1225*2096)|0)|0)) + 28|0); - HEAP32[$314>>2] = $313; - } - $315 = (((($97) + (($i$1225*2096)|0)|0)) + 28|0); - $316 = HEAP32[$315>>2]|0; - $317 = ($316|0)==(0|0); - if ($317) { - $$lcssa501 = $279;$$lcssa506 = $283; - label = 135; - break L102; - } - $$ = $301 ? $197 : $122; - $320 = HEAP32[$$>>2]|0; - $321 = ($320|0)>(0); - if ($321) { - $322 = (((($97) + (($i$1225*2096)|0)|0)) + 2088|0); - $323 = HEAP32[$98>>2]|0; - $j$3221 = 0;$last$0220 = 0.0; - while(1) { - if ($301) { - $324 = HEAP32[$322>>2]|0; - $325 = (($324) + ($j$3221<<2)|0); - $326 = HEAP32[$325>>2]|0; - $330 = $326; - } else { - $330 = $j$3221; - } - $327 = Math_imul($323, $j$3221)|0; - $div$0$ph = 1;$k$0$ph = 0;$last$1$ph = $last$0220; - L204: while(1) { - $k$0 = $k$0$ph;$last$1 = $last$1$ph; - while(1) { - $328 = ($k$0|0)<($323|0); - if (!($328)) { - $last$1$lcssa = $last$1; - break L204; - } - $329 = (($330>>>0) / ($div$0$ph>>>0))&-1; - $331 = HEAP32[$279>>2]|0; - $332 = (($329>>>0) % ($331>>>0))&-1; - $333 = (($283) + ($332<<1)|0); - $334 = HEAP16[$333>>1]|0; - $335 = $334&65535; - $336 = (+($335|0)); - $337 = +HEAPF32[$263>>2]; - $338 = $337 * $336; - $339 = +HEAPF32[$260>>2]; - $340 = $339 + $338; - $341 = $last$1 + $340; - $342 = (($327) + ($k$0))|0; - $343 = HEAP32[$315>>2]|0; - $344 = (($343) + ($342<<2)|0); - HEAPF32[$344>>2] = $341; - $345 = HEAP8[$270>>0]|0; - $346 = ($345<<24>>24)==(0); - $last$1$ = $346 ? $last$1 : $341; - $347 = (($k$0) + 1)|0; - $348 = HEAP32[$98>>2]|0; - $349 = ($347|0)<($348|0); - if ($349) { - $$lcssa465 = $347;$last$1$$lcssa = $last$1$; - break; - } else { - $k$0 = $347;$last$1 = $last$1$; - } - } - $350 = HEAP32[$279>>2]|0; - $351 = (4294967295 / ($350>>>0))&-1; - $352 = ($div$0$ph>>>0)>($351>>>0); - if ($352) { - $$lcssa466 = $350;$$lcssa507 = $283; - label = 145; - break L102; - } - $354 = Math_imul($350, $div$0$ph)|0; - $div$0$ph = $354;$k$0$ph = $$lcssa465;$last$1$ph = $last$1$$lcssa; - } - $355 = (($j$3221) + 1)|0; - $356 = ($355|0)<($320|0); - if ($356) { - $j$3221 = $355;$last$0220 = $last$1$lcssa; - } else { - break; - } - } - } - $357 = HEAP32[$279>>2]|0; - $358 = $357 << 1; - _setup_temp_free($f,$283,$358); - HEAP8[$254>>0] = 2; - } - } while(0); - $383 = (($i$1225) + 1)|0; - $384 = HEAP32[$86>>2]|0; - $385 = ($383|0)<($384|0); - if ($385) { - $i$1225 = $383; + $31 = (((($8) + (($$0103*24)|0)|0)) + 20|0); + $32 = HEAP32[$31>>2]|0; + _setup_free($0,$32); + $33 = (($$0103) + 1)|0; + $34 = HEAP32[$4>>2]|0; + $35 = ($33|0)<($34|0); + if ($35) { + $$0103 = $33; } else { - break L100; - } - } - switch (label|0) { - case 52: { - _error($f,20); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - break; - } - case 54: { - _error($f,20); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - break; - } - case 56: { - _error($f,20); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - break; - } - case 61: { - _error($f,20); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - break; - } - case 67: { - _error($f,3); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - break; - } - case 72: { - _error($f,20); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - break; - } - case 77: { - _error($f,20); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - break; - } - case 85: { - _error($f,3); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - break; - } - case 93: { - _error($f,3); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - break; - } - case 96: { - _error($f,3); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - break; - } - case 98: { - _error($f,3); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - break; - } - case 100: { - _error($f,3); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - break; - } - case 104: { - $227 = HEAP8[$$lcssa476>>0]|0; - $228 = ($227<<24>>24)==(0); - if (!($228)) { - _setup_temp_free($f,$values$1$lcssa,0); - } - _error($f,20); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - break; - } - case 109: { - _error($f,3); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - break; - } - case 111: { - _error($f,3); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - break; - } - case 116: { - _error($f,20); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - break; - } - case 122: { - _error($f,20); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - break; - } - case 125: { - _error($f,3); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - break; - } - case 127: { - $291 = HEAP32[$$lcssa499>>2]|0; - $292 = $291 << 1; - _setup_temp_free($f,$$lcssa504,$292); - _error($f,20); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - break; - } - case 135: { - $318 = HEAP32[$$lcssa501>>2]|0; - $319 = $318 << 1; - _setup_temp_free($f,$$lcssa506,$319); - _error($f,3); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - break; - } - case 145: { - $353 = $$lcssa466 << 1; - _setup_temp_free($f,$$lcssa507,$353); - _error($f,20); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - break; - } - case 152: { - $369 = $$lcssa508 << 1; - _setup_temp_free($f,$$lcssa505,$369); - _error($f,3); - $$4 = 0; - STACKTOP = sp;return ($$4|0); break; } } } - } while(0); - $386 = (_get_bits($f,6)|0); - $387 = (($386) + 1)|0; - $388 = $387 & 255; - $389 = ($388|0)==(0); - L263: do { - if (!($389)) { - $i$2194 = 0; + } + $36 = ((($0)) + 124|0); + $37 = HEAP32[$36>>2]|0; + $38 = ($37|0)==(0|0); + if (!($38)) { + $39 = ((($0)) + 120|0); + $40 = HEAP32[$39>>2]|0; + $41 = ($40|0)>(0); + $42 = HEAP32[$36>>2]|0; + if ($41) { + $$195 = 0;$44 = $42; while(1) { - $392 = (_get_bits($f,16)|0); - $393 = ($392|0)==(0); - $390 = (($i$2194) + 1)|0; - if (!($393)) { - break; - } - $391 = ($390|0)<($388|0); - if ($391) { - $i$2194 = $390; + $43 = (((($44) + (($$195*2096)|0)|0)) + 8|0); + $45 = HEAP32[$43>>2]|0; + _setup_free($0,$45); + $46 = (((($44) + (($$195*2096)|0)|0)) + 28|0); + $47 = HEAP32[$46>>2]|0; + _setup_free($0,$47); + $48 = (((($44) + (($$195*2096)|0)|0)) + 32|0); + $49 = HEAP32[$48>>2]|0; + _setup_free($0,$49); + $50 = (((($44) + (($$195*2096)|0)|0)) + 2084|0); + $51 = HEAP32[$50>>2]|0; + _setup_free($0,$51); + $52 = (((($44) + (($$195*2096)|0)|0)) + 2088|0); + $53 = HEAP32[$52>>2]|0; + $54 = ($53|0)==(0|0); + $55 = ((($53)) + -4|0); + $56 = $54 ? 0 : $55; + _setup_free($0,$56); + $57 = (($$195) + 1)|0; + $58 = HEAP32[$39>>2]|0; + $59 = ($57|0)<($58|0); + $60 = HEAP32[$36>>2]|0; + if ($59) { + $$195 = $57;$44 = $60; } else { - break L263; - } - } - _error($f,20); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - } while(0); - $394 = (_get_bits($f,6)|0); - $395 = (($394) + 1)|0; - $396 = ((($f)) + 128|0); - HEAP32[$396>>2] = $395; - $397 = ($395*1596)|0; - $398 = (_setup_malloc($f,$397)|0); - $399 = ((($f)) + 260|0); - HEAP32[$399>>2] = $398; - $400 = ($398|0)==(0|0); - if ($400) { - _error($f,3); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - $401 = HEAP32[$396>>2]|0; - $402 = ($401|0)>(0); - do { - if ($402) { - $i$3189 = 0;$longest_floorlist$0188 = 0; - L276: while(1) { - $403 = (_get_bits($f,16)|0); - $404 = $403&65535; - $405 = (((($f)) + 132|0) + ($i$3189<<1)|0); - HEAP16[$405>>1] = $404; - $406 = $403 & 65535; - $407 = ($406>>>0)>(1); - if ($407) { - label = 165; - break; - } - $408 = ($406|0)==(0); - if ($408) { - $i$3189$lcssa459 = $i$3189; - label = 167; - break; - } - $438 = HEAP32[$399>>2]|0; - $439 = (_get_bits($f,5)|0); - $440 = $439&255; - $441 = (($438) + (($i$3189*1596)|0)|0); - HEAP8[$441>>0] = $440; - $442 = $439 & 255; - $443 = ($442|0)==(0); - do { - if (!($443)) { - $j$6159 = 0;$max_class$0158 = -1; - while(1) { - $445 = (_get_bits($f,4)|0); - $446 = $445&255; - $447 = ((((($438) + (($i$3189*1596)|0)|0)) + 1|0) + ($j$6159)|0); - HEAP8[$447>>0] = $446; - $448 = $445 & 255; - $449 = ($448|0)>($max_class$0158|0); - $$max_class$0 = $449 ? $448 : $max_class$0158; - $450 = (($j$6159) + 1)|0; - $451 = HEAP8[$441>>0]|0; - $452 = $451&255; - $453 = ($450|0)<($452|0); - if ($453) { - $j$6159 = $450;$max_class$0158 = $$max_class$0; - } else { - $$max_class$0$lcssa = $$max_class$0; - break; - } - } - $444 = ($$max_class$0$lcssa|0)<(0); - if ($444) { - break; - } else { - $j$7166 = 0; - } - while(1) { - $454 = (_get_bits($f,3)|0); - $455 = (($454) + 1)|0; - $456 = $455&255; - $457 = ((((($438) + (($i$3189*1596)|0)|0)) + 33|0) + ($j$7166)|0); - HEAP8[$457>>0] = $456; - $458 = (_get_bits($f,2)|0); - $459 = $458&255; - $460 = ((((($438) + (($i$3189*1596)|0)|0)) + 49|0) + ($j$7166)|0); - HEAP8[$460>>0] = $459; - $461 = ($459<<24>>24)==(0); - if ($461) { - $k$1163 = 0; - label = 178; - } else { - $463 = (_get_bits($f,8)|0); - $464 = $463&255; - $465 = ((((($438) + (($i$3189*1596)|0)|0)) + 65|0) + ($j$7166)|0); - HEAP8[$465>>0] = $464; - $466 = $463 & 255; - $467 = HEAP32[$86>>2]|0; - $468 = ($466|0)<($467|0); - if (!($468)) { - label = 176; - break L276; - } - $$pr287 = HEAP8[$460>>0]|0; - $462 = ($$pr287<<24>>24)==(31); - if (!($462)) { - $k$1163 = 0; - label = 178; - } - } - if ((label|0) == 178) { - while(1) { - label = 0; - $474 = (_get_bits($f,8)|0); - $475 = (($474) + 65535)|0; - $476 = $475&65535; - $477 = (((((($438) + (($i$3189*1596)|0)|0)) + 82|0) + ($j$7166<<4)|0) + ($k$1163<<1)|0); - HEAP16[$477>>1] = $476; - $sext = $475 << 16; - $478 = $sext >> 16; - $479 = HEAP32[$86>>2]|0; - $480 = ($478|0)<($479|0); - $472 = (($k$1163) + 1)|0; - if (!($480)) { - label = 179; - break L276; - } - $469 = HEAP8[$460>>0]|0; - $470 = $469&255; - $471 = 1 << $470; - $473 = ($472|0)<($471|0); - if ($473) { - $k$1163 = $472; - label = 178; - } else { - break; - } - } - } - $481 = (($j$7166) + 1)|0; - $482 = ($j$7166|0)<($$max_class$0$lcssa|0); - if ($482) { - $j$7166 = $481; - } else { - break; - } - } - } - } while(0); - $483 = (_get_bits($f,2)|0); - $484 = (($483) + 1)|0; - $485 = $484&255; - $486 = (((($438) + (($i$3189*1596)|0)|0)) + 1588|0); - HEAP8[$486>>0] = $485; - $487 = (_get_bits($f,4)|0); - $488 = $487&255; - $489 = (((($438) + (($i$3189*1596)|0)|0)) + 1589|0); - HEAP8[$489>>0] = $488; - $490 = (((($438) + (($i$3189*1596)|0)|0)) + 338|0); - HEAP16[$490>>1] = 0; - $491 = HEAP8[$489>>0]|0; - $492 = $491&255; - $493 = 1 << $492; - $494 = $493&65535; - $495 = (((($438) + (($i$3189*1596)|0)|0)) + 340|0); - HEAP16[$495>>1] = $494; - $496 = (((($438) + (($i$3189*1596)|0)|0)) + 1592|0); - HEAP32[$496>>2] = 2; - $497 = HEAP8[$441>>0]|0; - $498 = ($497<<24>>24)==(0); - if ($498) { - $j$9177 = 0; - label = 186; - } else { - $j$8174 = 0; - while(1) { - $500 = ((((($438) + (($i$3189*1596)|0)|0)) + 1|0) + ($j$8174)|0); - $501 = HEAP8[$500>>0]|0; - $502 = $501&255; - $503 = ((((($438) + (($i$3189*1596)|0)|0)) + 33|0) + ($502)|0); - $504 = HEAP8[$503>>0]|0; - $505 = ($504<<24>>24)==(0); - if (!($505)) { - $k$2170 = 0; - while(1) { - $506 = HEAP8[$489>>0]|0; - $507 = $506&255; - $508 = (_get_bits($f,$507)|0); - $509 = $508&65535; - $510 = HEAP32[$496>>2]|0; - $511 = ((((($438) + (($i$3189*1596)|0)|0)) + 338|0) + ($510<<1)|0); - HEAP16[$511>>1] = $509; - $512 = HEAP32[$496>>2]|0; - $513 = (($512) + 1)|0; - HEAP32[$496>>2] = $513; - $514 = (($k$2170) + 1)|0; - $515 = HEAP8[$503>>0]|0; - $516 = $515&255; - $517 = ($514|0)<($516|0); - if ($517) { - $k$2170 = $514; - } else { - break; - } - } - } - $518 = (($j$8174) + 1)|0; - $519 = HEAP8[$441>>0]|0; - $520 = $519&255; - $521 = ($518|0)<($520|0); - if ($521) { - $j$8174 = $518; - } else { - break; - } - } - $$pr288 = HEAP32[$496>>2]|0; - $499 = ($$pr288|0)>(0); - if ($499) { - $j$9177 = 0; - label = 186; - } else { - $$lcssa50 = $$pr288; - } - } - if ((label|0) == 186) { - while(1) { - label = 0; - $522 = ((((($438) + (($i$3189*1596)|0)|0)) + 338|0) + ($j$9177<<1)|0); - $523 = HEAP16[$522>>1]|0; - $524 = (($p) + ($j$9177<<2)|0); - HEAP16[$524>>1] = $523; - $525 = $j$9177&65535; - $526 = (((($p) + ($j$9177<<2)|0)) + 2|0); - HEAP16[$526>>1] = $525; - $527 = (($j$9177) + 1)|0; - $528 = HEAP32[$496>>2]|0; - $529 = ($527|0)<($528|0); - if ($529) { - $j$9177 = $527; - label = 186; - } else { - $$lcssa50 = $528; - break; - } - } - } - _qsort($p,$$lcssa50,4,1); - $530 = HEAP32[$496>>2]|0; - $531 = ($530|0)>(0); - do { - if ($531) { - $j$10181 = 0; - while(1) { - $533 = (((($p) + ($j$10181<<2)|0)) + 2|0); - $534 = HEAP16[$533>>1]|0; - $535 = $534&255; - $536 = ((((($438) + (($i$3189*1596)|0)|0)) + 838|0) + ($j$10181)|0); - HEAP8[$536>>0] = $535; - $537 = (($j$10181) + 1)|0; - $538 = HEAP32[$496>>2]|0; - $539 = ($537|0)<($538|0); - if ($539) { - $j$10181 = $537; - } else { - $$lcssa457 = $538; - break; - } - } - $532 = ($$lcssa457|0)>(2); - if ($532) { - $j$11184 = 2; - } else { - $$lcssa51 = $$lcssa457; - break; - } - while(1) { - _neighbors($490,$j$11184,$low,$hi); - $540 = HEAP32[$low>>2]|0; - $541 = $540&255; - $542 = ((((($438) + (($i$3189*1596)|0)|0)) + 1088|0) + ($j$11184<<1)|0); - HEAP8[$542>>0] = $541; - $543 = HEAP32[$hi>>2]|0; - $544 = $543&255; - $545 = ((((((($438) + (($i$3189*1596)|0)|0)) + 1088|0) + ($j$11184<<1)|0)) + 1|0); - HEAP8[$545>>0] = $544; - $546 = (($j$11184) + 1)|0; - $547 = HEAP32[$496>>2]|0; - $548 = ($546|0)<($547|0); - if ($548) { - $j$11184 = $546; - } else { - $$lcssa51 = $547; - break; - } - } - } else { - $$lcssa51 = $530; - } - } while(0); - $549 = ($$lcssa51|0)>($longest_floorlist$0188|0); - $$longest_floorlist$0 = $549 ? $$lcssa51 : $longest_floorlist$0188; - $550 = (($i$3189) + 1)|0; - $551 = HEAP32[$396>>2]|0; - $552 = ($550|0)<($551|0); - if ($552) { - $i$3189 = $550;$longest_floorlist$0188 = $$longest_floorlist$0; - } else { - $$longest_floorlist$0$lcssa = $$longest_floorlist$0; - label = 193; + $$lcssa89 = $60; break; } } - if ((label|0) == 165) { - _error($f,20); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - else if ((label|0) == 167) { - $409 = HEAP32[$399>>2]|0; - $410 = (_get_bits($f,8)|0); - $411 = $410&255; - $412 = (($409) + (($i$3189$lcssa459*1596)|0)|0); - HEAP8[$412>>0] = $411; - $413 = (_get_bits($f,16)|0); - $414 = $413&65535; - $415 = (((($409) + (($i$3189$lcssa459*1596)|0)|0)) + 2|0); - HEAP16[$415>>1] = $414; - $416 = (_get_bits($f,16)|0); - $417 = $416&65535; - $418 = (((($409) + (($i$3189$lcssa459*1596)|0)|0)) + 4|0); - HEAP16[$418>>1] = $417; - $419 = (_get_bits($f,6)|0); - $420 = $419&255; - $421 = (((($409) + (($i$3189$lcssa459*1596)|0)|0)) + 6|0); - HEAP8[$421>>0] = $420; - $422 = (_get_bits($f,8)|0); - $423 = $422&255; - $424 = (((($409) + (($i$3189$lcssa459*1596)|0)|0)) + 7|0); - HEAP8[$424>>0] = $423; - $425 = (_get_bits($f,4)|0); - $426 = (($425) + 1)|0; - $427 = $426&255; - $428 = (((($409) + (($i$3189$lcssa459*1596)|0)|0)) + 8|0); - HEAP8[$428>>0] = $427; - $429 = $426 & 255; - $430 = ($429|0)==(0); - if (!($430)) { - $j$5108 = 0; - while(1) { - $431 = (_get_bits($f,8)|0); - $432 = $431&255; - $$sum = (($j$5108) + 8)|0; - $433 = ((((($409) + (($i$3189$lcssa459*1596)|0)|0)) + 1|0) + ($$sum)|0); - HEAP8[$433>>0] = $432; - $434 = (($j$5108) + 1)|0; - $435 = HEAP8[$428>>0]|0; - $436 = $435&255; - $437 = ($434|0)<($436|0); - if ($437) { - $j$5108 = $434; - } else { - break; - } - } - } - _error($f,4); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - else if ((label|0) == 176) { - _error($f,20); - } - else if ((label|0) == 179) { - _error($f,20); - } - else if ((label|0) == 193) { - $phitmp234 = $$longest_floorlist$0$lcssa << 1; - $longest_floorlist$0$lcssa = $phitmp234; - break; - } - $$4 = 0; - STACKTOP = sp;return ($$4|0); } else { - $longest_floorlist$0$lcssa = 0; + $$lcssa89 = $42; } - } while(0); - $553 = (_get_bits($f,6)|0); - $554 = (($553) + 1)|0; - $555 = ((($f)) + 264|0); - HEAP32[$555>>2] = $554; - $556 = ($554*24)|0; - $557 = (_setup_malloc($f,$556)|0); - $558 = ((($f)) + 396|0); - HEAP32[$558>>2] = $557; - $559 = ($557|0)==(0|0); - if ($559) { - _error($f,3); - $$4 = 0; - STACKTOP = sp;return ($$4|0); + _setup_free($0,$$lcssa89); } - $560 = HEAP32[$555>>2]|0; - $561 = ($560*24)|0; - _memset(($557|0),0,($561|0))|0; - $562 = HEAP32[$555>>2]|0; - $563 = ($562|0)>(0); - L333: do { - if ($563) { - $i$4154 = 0; - L335: while(1) { - $564 = HEAP32[$558>>2]|0; - $565 = (_get_bits($f,16)|0); - $566 = $565&65535; - $567 = (((($f)) + 268|0) + ($i$4154<<1)|0); - HEAP16[$567>>1] = $566; - $568 = $565 & 65535; - $569 = ($568>>>0)>(2); - if ($569) { - label = 199; - break; - } - $570 = (_get_bits($f,24)|0); - $571 = (($564) + (($i$4154*24)|0)|0); - HEAP32[$571>>2] = $570; - $572 = (_get_bits($f,24)|0); - $573 = (((($564) + (($i$4154*24)|0)|0)) + 4|0); - HEAP32[$573>>2] = $572; - $574 = HEAP32[$571>>2]|0; - $575 = ($572>>>0)<($574>>>0); - if ($575) { - label = 201; - break; - } - $576 = (_get_bits($f,24)|0); - $577 = (($576) + 1)|0; - $578 = (((($564) + (($i$4154*24)|0)|0)) + 8|0); - HEAP32[$578>>2] = $577; - $579 = (_get_bits($f,6)|0); - $580 = (($579) + 1)|0; - $581 = $580&255; - $582 = (((($564) + (($i$4154*24)|0)|0)) + 12|0); - HEAP8[$582>>0] = $581; - $583 = (_get_bits($f,8)|0); - $584 = $583&255; - $585 = (((($564) + (($i$4154*24)|0)|0)) + 13|0); - HEAP8[$585>>0] = $584; - $586 = $583 & 255; - $587 = HEAP32[$86>>2]|0; - $588 = ($586|0)<($587|0); - if (!($588)) { - label = 204; - break; - } - $589 = HEAP8[$582>>0]|0; - $590 = $589&255; - $591 = ($589<<24>>24)==(0); - if ($591) { - $$lcssa = $590; - } else { - $j$12138 = 0; - while(1) { - $592 = (_get_bits($f,3)|0); - $593 = (_get_bits($f,1)|0); - $594 = ($593|0)==(0); - if ($594) { - $high_bits$0 = 0; - } else { - $595 = (_get_bits($f,5)|0); - $high_bits$0 = $595; - } - $596 = $high_bits$0 << 3; - $597 = (($596) + ($592))|0; - $598 = $597&255; - $599 = (($p) + ($j$12138)|0); - HEAP8[$599>>0] = $598; - $600 = (($j$12138) + 1)|0; - $601 = HEAP8[$582>>0]|0; - $602 = $601&255; - $603 = ($600|0)<($602|0); - if ($603) { - $j$12138 = $600; - } else { - $$lcssa = $602; - break; - } - } - } - $604 = $$lcssa << 4; - $605 = (_setup_malloc($f,$604)|0); - $606 = (((($564) + (($i$4154*24)|0)|0)) + 20|0); - HEAP32[$606>>2] = $605; - $607 = ($605|0)==(0|0); - if ($607) { - label = 210; - break; - } - $608 = HEAP8[$582>>0]|0; - $609 = ($608<<24>>24)==(0); - if (!($609)) { - $j$13143 = 0; - while(1) { - $610 = (($p) + ($j$13143)|0); - $611 = HEAP8[$610>>0]|0; - $612 = $611&255; - $k$3142 = 0; - while(1) { - $613 = 1 << $k$3142; - $614 = $612 & $613; - $615 = ($614|0)==(0); - if ($615) { - $626 = HEAP32[$606>>2]|0; - $627 = ((($626) + ($j$13143<<4)|0) + ($k$3142<<1)|0); - HEAP16[$627>>1] = -1; - } else { - $616 = (_get_bits($f,8)|0); - $617 = $616&65535; - $618 = HEAP32[$606>>2]|0; - $619 = ((($618) + ($j$13143<<4)|0) + ($k$3142<<1)|0); - HEAP16[$619>>1] = $617; - $620 = HEAP32[$606>>2]|0; - $621 = ((($620) + ($j$13143<<4)|0) + ($k$3142<<1)|0); - $622 = HEAP16[$621>>1]|0; - $623 = $622 << 16 >> 16; - $624 = HEAP32[$86>>2]|0; - $625 = ($623|0)<($624|0); - if (!($625)) { - label = 214; - break L335; - } - } - $628 = (($k$3142) + 1)|0; - $629 = ($628|0)<(8); - if ($629) { - $k$3142 = $628; - } else { - break; - } - } - $630 = (($j$13143) + 1)|0; - $631 = HEAP8[$582>>0]|0; - $632 = $631&255; - $633 = ($630|0)<($632|0); - if ($633) { - $j$13143 = $630; - } else { - break; - } - } - } - $634 = HEAP8[$585>>0]|0; - $635 = $634&255; - $636 = HEAP32[$89>>2]|0; - $637 = (((($636) + (($635*2096)|0)|0)) + 4|0); - $638 = HEAP32[$637>>2]|0; - $639 = $638 << 2; - $640 = (_setup_malloc($f,$639)|0); - $641 = (((($564) + (($i$4154*24)|0)|0)) + 16|0); - HEAP32[$641>>2] = $640; - $642 = ($640|0)==(0|0); - if ($642) { - label = 219; - break; - } - $643 = HEAP8[$585>>0]|0; - $644 = $643&255; - $645 = HEAP32[$89>>2]|0; - $646 = (((($645) + (($644*2096)|0)|0)) + 4|0); - $647 = HEAP32[$646>>2]|0; - $648 = $647 << 2; - _memset(($640|0),0,($648|0))|0; - $649 = HEAP8[$585>>0]|0; - $650 = $649&255; - $651 = HEAP32[$89>>2]|0; - $652 = (((($651) + (($650*2096)|0)|0)) + 4|0); - $653 = HEAP32[$652>>2]|0; - $654 = ($653|0)>(0); - if ($654) { - $656 = $651;$657 = $650;$j$14150 = 0; - while(1) { - $655 = (($656) + (($657*2096)|0)|0); - $658 = HEAP32[$655>>2]|0; - $659 = (_setup_malloc($f,$658)|0); - $660 = HEAP32[$641>>2]|0; - $661 = (($660) + ($j$14150<<2)|0); - HEAP32[$661>>2] = $659; - $662 = HEAP32[$641>>2]|0; - $663 = (($662) + ($j$14150<<2)|0); - $664 = HEAP32[$663>>2]|0; - $665 = ($664|0)==(0|0); - if ($665) { - label = 223; - break L335; - } - $666 = ($658|0)>(0); - if ($666) { - $k$4147$in = $658;$temp$0146 = $j$14150; - while(1) { - $k$4147 = (($k$4147$in) + -1)|0; - $667 = HEAP8[$582>>0]|0; - $668 = $667&255; - $669 = (($temp$0146|0) % ($668|0))&-1; - $670 = $669&255; - $671 = HEAP32[$641>>2]|0; - $672 = (($671) + ($j$14150<<2)|0); - $673 = HEAP32[$672>>2]|0; - $674 = (($673) + ($k$4147)|0); - HEAP8[$674>>0] = $670; - $675 = HEAP8[$582>>0]|0; - $676 = $675&255; - $677 = (($temp$0146|0) / ($676|0))&-1; - $678 = ($k$4147$in|0)>(1); - if ($678) { - $k$4147$in = $k$4147;$temp$0146 = $677; - } else { - break; - } - } - } - $679 = (($j$14150) + 1)|0; - $680 = HEAP8[$585>>0]|0; - $681 = $680&255; - $682 = HEAP32[$89>>2]|0; - $683 = (((($682) + (($681*2096)|0)|0)) + 4|0); - $684 = HEAP32[$683>>2]|0; - $685 = ($679|0)<($684|0); - if ($685) { - $656 = $682;$657 = $681;$j$14150 = $679; - } else { - break; - } - } - } - $686 = (($i$4154) + 1)|0; - $687 = HEAP32[$555>>2]|0; - $688 = ($686|0)<($687|0); - if ($688) { - $i$4154 = $686; - } else { - break L333; - } - } - if ((label|0) == 199) { - _error($f,20); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - else if ((label|0) == 201) { - _error($f,20); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - else if ((label|0) == 204) { - _error($f,20); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - else if ((label|0) == 210) { - _error($f,3); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - else if ((label|0) == 214) { - _error($f,20); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - else if ((label|0) == 219) { - _error($f,3); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - else if ((label|0) == 223) { - _error($f,3); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - } - } while(0); - $689 = (_get_bits($f,6)|0); - $690 = (($689) + 1)|0; - $691 = ((($f)) + 400|0); - HEAP32[$691>>2] = $690; - $692 = ($690*40)|0; - $693 = (_setup_malloc($f,$692)|0); - $694 = ((($f)) + 404|0); - HEAP32[$694>>2] = $693; - $695 = ($693|0)==(0|0); - if ($695) { - _error($f,3); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - $696 = HEAP32[$691>>2]|0; - $697 = ($696*40)|0; - _memset(($693|0),0,($697|0))|0; - $698 = HEAP32[$691>>2]|0; - $699 = ($698|0)>(0); - L389: do { - if ($699) { - $i$5133 = 0; - L390: while(1) { - $700 = HEAP32[$694>>2]|0; - $701 = (($700) + (($i$5133*40)|0)|0); - $702 = (_get_bits($f,16)|0); - $703 = ($702|0)==(0); - if (!($703)) { - label = 231; - break; - } - $704 = HEAP32[$27>>2]|0; - $705 = ($704*3)|0; - $706 = (_setup_malloc($f,$705)|0); - $707 = (((($700) + (($i$5133*40)|0)|0)) + 4|0); - HEAP32[$707>>2] = $706; - $708 = ($706|0)==(0|0); - if ($708) { - label = 233; - break; - } - $709 = (_get_bits($f,1)|0); - $710 = ($709|0)==(0); - if ($710) { - $715 = (((($700) + (($i$5133*40)|0)|0)) + 8|0); - HEAP8[$715>>0] = 1; - } else { - $711 = (_get_bits($f,4)|0); - $712 = (($711) + 1)|0; - $713 = $712&255; - $714 = (((($700) + (($i$5133*40)|0)|0)) + 8|0); - HEAP8[$714>>0] = $713; - } - $716 = (((($700) + (($i$5133*40)|0)|0)) + 8|0); - $717 = (_get_bits($f,1)|0); - $718 = ($717|0)==(0); - do { - if ($718) { - HEAP16[$701>>1] = 0; - } else { - $719 = (_get_bits($f,8)|0); - $720 = (($719) + 1)|0; - $721 = $720&65535; - HEAP16[$701>>1] = $721; - $722 = $720 & 65535; - $723 = ($722|0)==(0); - if ($723) { - break; - } else { - $k$5122 = 0; - } - while(1) { - $728 = HEAP32[$27>>2]|0; - $729 = (($728) + -1)|0; - $730 = (_ilog($729)|0); - $731 = (_get_bits($f,$730)|0); - $732 = $731&255; - $733 = HEAP32[$707>>2]|0; - $734 = (($733) + (($k$5122*3)|0)|0); - HEAP8[$734>>0] = $732; - $735 = HEAP32[$27>>2]|0; - $736 = (($735) + -1)|0; - $737 = (_ilog($736)|0); - $738 = (_get_bits($f,$737)|0); - $739 = $738&255; - $740 = HEAP32[$707>>2]|0; - $741 = (((($740) + (($k$5122*3)|0)|0)) + 1|0); - HEAP8[$741>>0] = $739; - $742 = HEAP32[$707>>2]|0; - $743 = (($742) + (($k$5122*3)|0)|0); - $744 = HEAP8[$743>>0]|0; - $745 = $744&255; - $746 = HEAP32[$27>>2]|0; - $747 = ($745|0)<($746|0); - if (!($747)) { - label = 241; - break L390; - } - $748 = (((($742) + (($k$5122*3)|0)|0)) + 1|0); - $749 = HEAP8[$748>>0]|0; - $750 = $749&255; - $751 = ($750|0)<($746|0); - if (!($751)) { - label = 243; - break L390; - } - $752 = ($744<<24>>24)==($749<<24>>24); - $726 = (($k$5122) + 1)|0; - if ($752) { - label = 245; - break L390; - } - $724 = HEAP16[$701>>1]|0; - $725 = $724&65535; - $727 = ($726|0)<($725|0); - if ($727) { - $k$5122 = $726; - } else { - break; - } - } - } - } while(0); - $753 = (_get_bits($f,2)|0); - $754 = ($753|0)==(0); - if (!($754)) { - label = 248; - break; - } - $755 = HEAP8[$716>>0]|0; - $756 = ($755&255)>(1); - $757 = HEAP32[$27>>2]|0; - $758 = ($757|0)>(0); - do { - if ($756) { - if ($758) { - $j$15127 = 0; - } else { - break; - } - while(1) { - $766 = (_get_bits($f,4)|0); - $767 = $766&255; - $768 = HEAP32[$707>>2]|0; - $769 = (((($768) + (($j$15127*3)|0)|0)) + 2|0); - HEAP8[$769>>0] = $767; - $770 = HEAP32[$707>>2]|0; - $771 = (((($770) + (($j$15127*3)|0)|0)) + 2|0); - $772 = HEAP8[$771>>0]|0; - $773 = HEAP8[$716>>0]|0; - $774 = ($772&255)<($773&255); - $762 = (($j$15127) + 1)|0; - if (!($774)) { - label = 256; - break L390; - } - $761 = HEAP32[$27>>2]|0; - $763 = ($762|0)<($761|0); - if ($763) { - $j$15127 = $762; - } else { - break; - } - } - } else { - if (!($758)) { - break; - } - $759 = HEAP32[$707>>2]|0; - $760 = HEAP32[$27>>2]|0; - $j$16125 = 0; - while(1) { - $775 = (((($759) + (($j$16125*3)|0)|0)) + 2|0); - HEAP8[$775>>0] = 0; - $776 = (($j$16125) + 1)|0; - $777 = ($776|0)<($760|0); - if ($777) { - $j$16125 = $776; - } else { - break; - } - } - } - } while(0); - $764 = HEAP8[$716>>0]|0; - $765 = ($764<<24>>24)==(0); - if (!($765)) { - $j$17129 = 0; - while(1) { - (_get_bits($f,8)|0); - $782 = (_get_bits($f,8)|0); - $783 = $782&255; - $784 = ((((($700) + (($i$5133*40)|0)|0)) + 9|0) + ($j$17129)|0); - HEAP8[$784>>0] = $783; - $785 = (_get_bits($f,8)|0); - $786 = $785&255; - $787 = ((((($700) + (($i$5133*40)|0)|0)) + 24|0) + ($j$17129)|0); - HEAP8[$787>>0] = $786; - $788 = HEAP8[$784>>0]|0; - $789 = $788&255; - $790 = HEAP32[$396>>2]|0; - $791 = ($789|0)<($790|0); - if (!($791)) { - label = 260; - break L390; - } - $792 = $785 & 255; - $793 = HEAP32[$555>>2]|0; - $794 = ($792|0)<($793|0); - $780 = (($j$17129) + 1)|0; - if (!($794)) { - label = 262; - break L390; - } - $778 = HEAP8[$716>>0]|0; - $779 = $778&255; - $781 = ($780|0)<($779|0); - if ($781) { - $j$17129 = $780; - } else { - break; - } - } - } - $795 = (($i$5133) + 1)|0; - $796 = HEAP32[$691>>2]|0; - $797 = ($795|0)<($796|0); - if ($797) { - $i$5133 = $795; - } else { - break L389; - } - } - if ((label|0) == 231) { - _error($f,20); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - else if ((label|0) == 233) { - _error($f,3); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - else if ((label|0) == 241) { - _error($f,20); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - else if ((label|0) == 243) { - _error($f,20); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - else if ((label|0) == 245) { - _error($f,20); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - else if ((label|0) == 248) { - _error($f,20); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - else if ((label|0) == 256) { - _error($f,20); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - else if ((label|0) == 260) { - _error($f,20); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - else if ((label|0) == 262) { - _error($f,20); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - } - } while(0); - $798 = (_get_bits($f,6)|0); - $799 = (($798) + 1)|0; - $800 = ((($f)) + 408|0); - HEAP32[$800>>2] = $799; - $801 = ($799|0)>(0); - L444: do { - if ($801) { - $i$6118 = 0; + $61 = ((($0)) + 260|0); + $62 = HEAP32[$61>>2]|0; + _setup_free($0,$62); + $63 = HEAP32[$1>>2]|0; + _setup_free($0,$63); + $64 = ((($0)) + 404|0); + $65 = HEAP32[$64>>2]|0; + $66 = ($65|0)==(0|0); + if (!($66)) { + $67 = ((($0)) + 400|0); + $68 = HEAP32[$67>>2]|0; + $69 = ($68|0)>(0); + $70 = HEAP32[$64>>2]|0; + if ($69) { + $$293 = 0;$72 = $70; while(1) { - $805 = (_get_bits($f,1)|0); - $806 = $805&255; - $807 = (((($f)) + 412|0) + (($i$6118*6)|0)|0); - HEAP8[$807>>0] = $806; - $808 = (_get_bits($f,16)|0); - $809 = $808&65535; - $810 = (((((($f)) + 412|0) + (($i$6118*6)|0)|0)) + 2|0); - HEAP16[$810>>1] = $809; - $811 = (_get_bits($f,16)|0); - $812 = $811&65535; - $813 = (((((($f)) + 412|0) + (($i$6118*6)|0)|0)) + 4|0); - HEAP16[$813>>1] = $812; - $814 = (_get_bits($f,8)|0); - $815 = $814&255; - $816 = (((((($f)) + 412|0) + (($i$6118*6)|0)|0)) + 1|0); - HEAP8[$816>>0] = $815; - $817 = HEAP16[$810>>1]|0; - $818 = ($817<<16>>16)==(0); - if (!($818)) { - label = 267; - break; - } - $819 = HEAP16[$813>>1]|0; - $820 = ($819<<16>>16)==(0); - if (!($820)) { - label = 269; - break; - } - $821 = $814 & 255; - $822 = HEAP32[$691>>2]|0; - $823 = ($821|0)<($822|0); - $803 = (($i$6118) + 1)|0; - if (!($823)) { - label = 271; - break; - } - $802 = HEAP32[$800>>2]|0; - $804 = ($803|0)<($802|0); - if ($804) { - $i$6118 = $803; + $71 = (((($72) + (($$293*40)|0)|0)) + 4|0); + $73 = HEAP32[$71>>2]|0; + _setup_free($0,$73); + $74 = (($$293) + 1)|0; + $75 = HEAP32[$67>>2]|0; + $76 = ($74|0)<($75|0); + $77 = HEAP32[$64>>2]|0; + if ($76) { + $$293 = $74;$72 = $77; } else { - break L444; - } - } - if ((label|0) == 267) { - _error($f,20); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - else if ((label|0) == 269) { - _error($f,20); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - else if ((label|0) == 271) { - _error($f,20); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - } - } while(0); - _flush_packet($f); - $824 = ((($f)) + 992|0); - HEAP32[$824>>2] = 0; - $825 = HEAP32[$27>>2]|0; - $826 = ($825|0)>(0); - L458: do { - if ($826) { - $i$7114 = 0; - while(1) { - $830 = HEAP32[$39>>2]|0; - $831 = $830 << 2; - $832 = (_setup_malloc($f,$831)|0); - $833 = (((($f)) + 800|0) + ($i$7114<<2)|0); - HEAP32[$833>>2] = $832; - $834 = HEAP32[$39>>2]|0; - $835 = $834 << 1; - $836 = $835 & 2147483646; - $837 = (_setup_malloc($f,$836)|0); - $838 = (((($f)) + 928|0) + ($i$7114<<2)|0); - HEAP32[$838>>2] = $837; - $839 = (_setup_malloc($f,$longest_floorlist$0$lcssa)|0); - $840 = (((($f)) + 996|0) + ($i$7114<<2)|0); - HEAP32[$840>>2] = $839; - $841 = HEAP32[$833>>2]|0; - $842 = ($841|0)==(0|0); - if ($842) { + $$lcssa = $77; break; } - $843 = HEAP32[$838>>2]|0; - $844 = ($843|0)==(0|0); - $845 = ($839|0)==(0|0); - $or$cond14 = $845 | $844; - $828 = (($i$7114) + 1)|0; - if ($or$cond14) { - break; - } - $827 = HEAP32[$27>>2]|0; - $829 = ($828|0)<($827|0); - if ($829) { - $i$7114 = $828; - } else { - break L458; - } } - _error($f,3); - $$4 = 0; - STACKTOP = sp;return ($$4|0); + } else { + $$lcssa = $70; } - } while(0); - $846 = HEAP32[$37>>2]|0; - $847 = (_init_blocksize($f,0,$846)|0); - $848 = ($847|0)==(0); - if ($848) { - $$4 = 0; - STACKTOP = sp;return ($$4|0); + _setup_free($0,$$lcssa); } - $849 = HEAP32[$39>>2]|0; - $850 = (_init_blocksize($f,1,$849)|0); - $851 = ($850|0)==(0); - if ($851) { - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - $852 = HEAP32[$37>>2]|0; - $853 = ((($f)) + 104|0); - HEAP32[$853>>2] = $852; - $854 = HEAP32[$39>>2]|0; - $855 = ((($f)) + 108|0); - HEAP32[$855>>2] = $854; - $856 = HEAP32[$39>>2]|0; - $857 = $856 << 1; - $858 = $857 & 2147483646; - $859 = HEAP32[$555>>2]|0; - $860 = ($859|0)>(0); - if ($860) { - $861 = HEAP32[$558>>2]|0; - $862 = HEAP32[$555>>2]|0; - $i9$0109 = 0;$max_part_read$0110 = 0; + $78 = ((($0)) + 4|0); + $79 = HEAP32[$78>>2]|0; + $80 = ($79|0)>(0); + if ($80) { + $$392 = 0; while(1) { - $863 = (((($861) + (($i9$0109*24)|0)|0)) + 4|0); - $864 = HEAP32[$863>>2]|0; - $865 = (($861) + (($i9$0109*24)|0)|0); - $866 = HEAP32[$865>>2]|0; - $867 = (($864) - ($866))|0; - $868 = (((($861) + (($i9$0109*24)|0)|0)) + 8|0); - $869 = HEAP32[$868>>2]|0; - $870 = (($867>>>0) / ($869>>>0))&-1; - $871 = ($870|0)>($max_part_read$0110|0); - $$max_part_read$0 = $871 ? $870 : $max_part_read$0110; - $872 = (($i9$0109) + 1)|0; - $873 = ($872|0)<($862|0); - if ($873) { - $i9$0109 = $872;$max_part_read$0110 = $$max_part_read$0; + $81 = (((($0)) + 800|0) + ($$392<<2)|0); + $82 = HEAP32[$81>>2]|0; + _setup_free($0,$82); + $83 = (((($0)) + 928|0) + ($$392<<2)|0); + $84 = HEAP32[$83>>2]|0; + _setup_free($0,$84); + $85 = (((($0)) + 996|0) + ($$392<<2)|0); + $86 = HEAP32[$85>>2]|0; + _setup_free($0,$86); + $87 = (($$392) + 1)|0; + $88 = HEAP32[$78>>2]|0; + $89 = ($87|0)<($88|0); + $90 = ($87|0)<(16); + $91 = $90 & $89; + if ($91) { + $$392 = $87; } else { - $$max_part_read$0$lcssa = $$max_part_read$0; break; } } - $phitmp = $$max_part_read$0$lcssa << 2; - $phitmp233 = (($phitmp) + 4)|0; - $max_part_read$0$lcssa = $phitmp233; - } else { - $max_part_read$0$lcssa = 4; } - $874 = HEAP32[$27>>2]|0; - $875 = Math_imul($874, $max_part_read$0$lcssa)|0; - $876 = ((($f)) + 12|0); - $877 = ($858>>>0)>($875>>>0); - $$15 = $877 ? $858 : $875; - HEAP32[$876>>2] = $$15; - $878 = ((($f)) + 1377|0); - HEAP8[$878>>0] = 1; - $879 = ((($f)) + 80|0); - $880 = HEAP32[$879>>2]|0; - $881 = ($880|0)==(0|0); - do { - if (!($881)) { - $882 = ((($f)) + 92|0); - $883 = HEAP32[$882>>2]|0; - $884 = ((($f)) + 84|0); - $885 = HEAP32[$884>>2]|0; - $886 = ($883|0)==($885|0); - if (!($886)) { - ___assert_fail((14932|0),(14642|0),3780,(14988|0)); - // unreachable; - } - $887 = ((($f)) + 88|0); - $888 = HEAP32[$887>>2]|0; - $889 = (($888) + 1512)|0; - $890 = HEAP32[$876>>2]|0; - $891 = (($889) + ($890))|0; - $892 = ($891>>>0)>($883>>>0); - if (!($892)) { - break; - } - _error($f,3); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - } while(0); - $893 = (_stb_vorbis_get_file_offset($f)|0); - $894 = ((($f)) + 52|0); - HEAP32[$894>>2] = $893; - $$4 = 1; - STACKTOP = sp;return ($$4|0); -} -function _vorbis_alloc($f) { - $f = $f|0; - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_setup_malloc($f,1512)|0); - return ($0|0); -} -function _vorbis_pump_first_frame($f) { - $f = $f|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $left = 0, $len = 0, $right = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $len = sp + 8|0; - $right = sp + 4|0; - $left = sp; - $0 = (_vorbis_decode_packet($f,$len,$left,$right)|0); - $1 = ($0|0)==(0); - if ($1) { - STACKTOP = sp;return; - } - $2 = HEAP32[$len>>2]|0; - $3 = HEAP32[$left>>2]|0; - $4 = HEAP32[$right>>2]|0; - (_vorbis_finish_frame($f,$2,$3,$4)|0); - STACKTOP = sp;return; -} -function _maybe_start_packet($f) { - $f = $f|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $3 = 0, $4 = 0, $5 = 0; - var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($f)) + 1380|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)==(-1); - if ($2) { - $3 = (_get8($f)|0); - $4 = ((($f)) + 96|0); - $5 = HEAP32[$4>>2]|0; - $6 = ($5|0)==(0); - if (!($6)) { - $$0 = 0; - return ($$0|0); - } - $7 = ($3<<24>>24)==(79); - if (!($7)) { - _error($f,30); - $$0 = 0; - return ($$0|0); - } - $8 = (_get8($f)|0); - $9 = ($8<<24>>24)==(103); - if (!($9)) { - _error($f,30); - $$0 = 0; - return ($$0|0); - } - $10 = (_get8($f)|0); - $11 = ($10<<24>>24)==(103); - if (!($11)) { - _error($f,30); - $$0 = 0; - return ($$0|0); - } - $12 = (_get8($f)|0); - $13 = ($12<<24>>24)==(83); - if (!($13)) { - _error($f,30); - $$0 = 0; - return ($$0|0); - } - $14 = (_start_page_no_capturepattern($f)|0); - $15 = ($14|0)==(0); - if ($15) { - $$0 = 0; - return ($$0|0); - } - $16 = ((($f)) + 1375|0); - $17 = HEAP8[$16>>0]|0; - $18 = $17 & 1; - $19 = ($18<<24>>24)==(0); - if (!($19)) { - $20 = ((($f)) + 1384|0); - HEAP32[$20>>2] = 0; - $21 = ((($f)) + 1376|0); - HEAP8[$21>>0] = 0; - _error($f,32); - $$0 = 0; - return ($$0|0); - } - } - $22 = (_start_packet($f)|0); - $$0 = $22; - return ($$0|0); -} -function _flush_packet($f) { - $f = $f|0; - var $0 = 0, $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - while(1) { - $0 = (_get8_packet_raw($f)|0); - $1 = ($0|0)==(-1); - if ($1) { - break; - } - } - return; -} -function _set_file_offset($f,$loc) { - $f = $f|0; - $loc = $loc|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($f)) + 48|0); - $1 = HEAP8[$0>>0]|0; - $2 = ($1<<24>>24)==(0); - if (!($2)) { + $92 = ((($0)) + 1068|0); + $93 = HEAP32[$92>>2]|0; + _setup_free($0,$93); + $94 = ((($0)) + 1076|0); + $95 = HEAP32[$94>>2]|0; + _setup_free($0,$95); + $96 = ((($0)) + 1084|0); + $97 = HEAP32[$96>>2]|0; + _setup_free($0,$97); + $98 = ((($0)) + 1092|0); + $99 = HEAP32[$98>>2]|0; + _setup_free($0,$99); + $100 = ((($0)) + 1100|0); + $101 = HEAP32[$100>>2]|0; + _setup_free($0,$101); + $102 = ((($0)) + 1072|0); + $103 = HEAP32[$102>>2]|0; + _setup_free($0,$103); + $104 = ((($0)) + 1080|0); + $105 = HEAP32[$104>>2]|0; + _setup_free($0,$105); + $106 = ((($0)) + 1088|0); + $107 = HEAP32[$106>>2]|0; + _setup_free($0,$107); + $108 = ((($0)) + 1096|0); + $109 = HEAP32[$108>>2]|0; + _setup_free($0,$109); + $110 = ((($0)) + 1104|0); + $111 = HEAP32[$110>>2]|0; + _setup_free($0,$111); + $112 = ((($0)) + 28|0); + $113 = HEAP32[$112>>2]|0; + $114 = ($113|0)==(0); + if ($114) { return; } - $3 = ((($f)) + 96|0); - HEAP32[$3>>2] = 0; - $4 = ((($f)) + 32|0); - $5 = HEAP32[$4>>2]|0; - $6 = ($5|0)==(0|0); - if (!($6)) { - $7 = ((($f)) + 36|0); - $8 = HEAP32[$7>>2]|0; - $9 = (($8) + ($loc)|0); - $10 = ((($f)) + 40|0); - $11 = HEAP32[$10>>2]|0; - $12 = ($9>>>0)>=($11>>>0); - $13 = ($loc|0)<(0); - $or$cond1 = $13 | $12; - if ($or$cond1) { - $14 = HEAP32[$10>>2]|0; - HEAP32[$4>>2] = $14; - HEAP32[$3>>2] = 1; - return; - } else { - HEAP32[$4>>2] = $9; - return; - } - } - $15 = ((($f)) + 24|0); - $16 = HEAP32[$15>>2]|0; - $17 = (($16) + ($loc))|0; - $18 = ($17>>>0)<($loc>>>0); - $19 = ($loc|0)<(0); - $or$cond = $19 | $18; - if ($or$cond) { - HEAP32[$3>>2] = 1; - $$0 = 2147483647; - } else { - $$0 = $17; - } - $20 = ((($f)) + 20|0); - $21 = HEAP32[$20>>2]|0; - $22 = (_fseek($21,$$0,0)|0); - $23 = ($22|0)==(0); - if ($23) { - return; - } - HEAP32[$3>>2] = 1; - $24 = HEAP32[$20>>2]|0; - $25 = HEAP32[$15>>2]|0; - (_fseek($24,$25,2)|0); + $115 = ((($0)) + 20|0); + $116 = HEAP32[$115>>2]|0; + (_fclose($116)|0); return; } -function _vorbis_find_page($f,$end,$last) { - $f = $f|0; - $end = $end|0; - $last = $last|0; - var $$ = 0, $$0 = 0, $$lcssa = 0, $$lcssa58 = 0, $$lcssa59 = 0, $$lcssa61 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0; - var $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0; - var $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0; - var $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0; - var $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0; - var $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0; - var $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $crc$011 = 0, $crc$113 = 0, $crc$2$lcssa = 0, $crc$219 = 0, $exitcond = 0, $exitcond40 = 0, $header = 0, $i$0$lcssa = 0, $i1$310 = 0, $i1$412 = 0; - var $i1$518 = 0, $len$014 = 0, $scevgep = 0, label = 0, sp = 0; +function _setup_free($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $header = sp; - $0 = ((($f)) + 96|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)==(0); - if (!($2)) { - $$0 = 0; - STACKTOP = sp;return ($$0|0); + $2 = ((($0)) + 80|0); + $3 = HEAP32[$2>>2]|0; + $4 = ($3|0)==(0|0); + if (!($4)) { + return; } - $3 = ((($f)) + 44|0); - $4 = ((($header)) + 4|0); - $5 = ((($header)) + 22|0); - $6 = ((($header)) + 23|0); - $7 = ((($header)) + 24|0); - $8 = ((($header)) + 25|0); - $9 = ((($header)) + 26|0); - $scevgep = ((($header)) + 22|0); - $10 = ((($header)) + 4|0); - $11 = ((($header)) + 5|0); - $12 = ((($header)) + 6|0); - $13 = ((($header)) + 7|0); - $14 = ((($header)) + 8|0); - $15 = ((($header)) + 9|0); - $16 = ((($header)) + 10|0); - $17 = ((($header)) + 11|0); - $18 = ((($header)) + 12|0); - $19 = ((($header)) + 13|0); - $20 = ((($header)) + 14|0); - $21 = ((($header)) + 15|0); - $22 = ((($header)) + 16|0); - $23 = ((($header)) + 17|0); - $24 = ((($header)) + 18|0); - $25 = ((($header)) + 19|0); - $26 = ((($header)) + 20|0); - $27 = ((($header)) + 21|0); - $28 = ((($header)) + 22|0); - $29 = ((($header)) + 23|0); - $30 = ((($header)) + 24|0); - $31 = ((($header)) + 25|0); - $32 = ((($header)) + 26|0); - while(1) { - $33 = (_get8($f)|0); - $34 = ($33<<24>>24)==(79); - if ($34) { - $35 = (_stb_vorbis_get_file_offset($f)|0); - $36 = (($35) + -25)|0; - $37 = HEAP32[$3>>2]|0; - $38 = ($36>>>0)>($37>>>0); - if ($38) { - $$0 = 0; - label = 29; - break; - } - $39 = (_get8($f)|0); - $40 = HEAP8[(5801)>>0]|0; - $41 = ($39<<24>>24)==($40<<24>>24); - if ($41) { - $42 = (_get8($f)|0); - $43 = HEAP8[(5802)>>0]|0; - $44 = ($42<<24>>24)==($43<<24>>24); - if ($44) { - $121 = (_get8($f)|0); - $122 = HEAP8[(5803)>>0]|0; - $123 = ($121<<24>>24)==($122<<24>>24); - $$ = $123 ? 4 : 3; - $i$0$lcssa = $$; - } else { - $i$0$lcssa = 2; - } - } else { - $i$0$lcssa = 1; - } - $45 = HEAP32[$0>>2]|0; - $46 = ($45|0)==(0); - if (!($46)) { - $$0 = 0; - label = 29; - break; - } - $47 = ($i$0$lcssa|0)==(4); - if ($47) { - $48 = HEAP32[5800>>2]|0; - HEAP32[$header>>2] = $48; - $49 = (_get8($f)|0); - HEAP8[$10>>0] = $49; - $50 = (_get8($f)|0); - HEAP8[$11>>0] = $50; - $51 = (_get8($f)|0); - HEAP8[$12>>0] = $51; - $52 = (_get8($f)|0); - HEAP8[$13>>0] = $52; - $53 = (_get8($f)|0); - HEAP8[$14>>0] = $53; - $54 = (_get8($f)|0); - HEAP8[$15>>0] = $54; - $55 = (_get8($f)|0); - HEAP8[$16>>0] = $55; - $56 = (_get8($f)|0); - HEAP8[$17>>0] = $56; - $57 = (_get8($f)|0); - HEAP8[$18>>0] = $57; - $58 = (_get8($f)|0); - HEAP8[$19>>0] = $58; - $59 = (_get8($f)|0); - HEAP8[$20>>0] = $59; - $60 = (_get8($f)|0); - HEAP8[$21>>0] = $60; - $61 = (_get8($f)|0); - HEAP8[$22>>0] = $61; - $62 = (_get8($f)|0); - HEAP8[$23>>0] = $62; - $63 = (_get8($f)|0); - HEAP8[$24>>0] = $63; - $64 = (_get8($f)|0); - HEAP8[$25>>0] = $64; - $65 = (_get8($f)|0); - HEAP8[$26>>0] = $65; - $66 = (_get8($f)|0); - HEAP8[$27>>0] = $66; - $67 = (_get8($f)|0); - HEAP8[$28>>0] = $67; - $68 = (_get8($f)|0); - HEAP8[$29>>0] = $68; - $69 = (_get8($f)|0); - HEAP8[$30>>0] = $69; - $70 = (_get8($f)|0); - HEAP8[$31>>0] = $70; - $71 = (_get8($f)|0); - HEAP8[$32>>0] = $71; - $72 = HEAP32[$0>>2]|0; - $73 = ($72|0)==(0); - if (!($73)) { - $$0 = 0; - label = 29; - break; - } - $74 = HEAP8[$4>>0]|0; - $75 = ($74<<24>>24)==(0); - if ($75) { - $76 = HEAP8[$5>>0]|0; - $77 = HEAP8[$6>>0]|0; - $78 = HEAP8[$7>>0]|0; - $79 = HEAP8[$8>>0]|0; - $80 = $79&255; - $81 = $80 << 24; - HEAP16[$scevgep>>1]=0&65535;HEAP16[$scevgep+2>>1]=0>>>16; - $82 = $78&255; - $83 = $82 << 16; - $84 = $77&255; - $85 = $84 << 8; - $86 = $76&255; - $87 = $85 | $86; - $88 = $87 | $83; - $crc$011 = 0;$i1$310 = 0; - while(1) { - $94 = (($header) + ($i1$310)|0); - $95 = HEAP8[$94>>0]|0; - $96 = (_crc32_update($crc$011,$95)|0); - $97 = (($i1$310) + 1)|0; - $exitcond = ($97|0)==(27); - if ($exitcond) { - $$lcssa = $96; - break; - } else { - $crc$011 = $96;$i1$310 = $97; - } - } - $89 = $88 | $81; - $90 = HEAP8[$9>>0]|0; - $91 = ($90<<24>>24)==(0); - if ($91) { - $crc$2$lcssa = $$lcssa; - } else { - $92 = HEAP8[$9>>0]|0; - $93 = $92&255; - $crc$113 = $$lcssa;$i1$412 = 0;$len$014 = 0; - while(1) { - $98 = (_get8($f)|0); - $99 = $98&255; - $100 = (_crc32_update($crc$113,$98)|0); - $101 = (($99) + ($len$014))|0; - $102 = (($i1$412) + 1)|0; - $103 = ($102>>>0)<($93>>>0); - if ($103) { - $crc$113 = $100;$i1$412 = $102;$len$014 = $101; - } else { - $$lcssa58 = $100;$$lcssa59 = $101; - break; - } - } - $104 = ($$lcssa59|0)==(0); - if ($104) { - $crc$2$lcssa = $$lcssa58; - } else { - $105 = HEAP32[$0>>2]|0; - $106 = ($105|0)==(0); - if ($106) { - $crc$219 = $$lcssa58;$i1$518 = 0; - } else { - $$0 = 0; - label = 29; - break; - } - while(1) { - $107 = (_get8($f)|0); - $108 = (_crc32_update($crc$219,$107)|0); - $109 = (($i1$518) + 1)|0; - $exitcond40 = ($109|0)==($$lcssa59|0); - if ($exitcond40) { - $crc$2$lcssa = $108; - break; - } else { - $crc$219 = $108;$i1$518 = $109; - } - } - } - } - $110 = ($crc$2$lcssa|0)==($89|0); - if ($110) { - $$lcssa61 = $35; - label = 20; - break; - } - } - } - _set_file_offset($f,$35); - } - $119 = HEAP32[$0>>2]|0; - $120 = ($119|0)==(0); - if (!($120)) { - $$0 = 0; - label = 29; - break; - } - } - if ((label|0) == 20) { - $111 = ($end|0)==(0|0); - if (!($111)) { - $112 = (_stb_vorbis_get_file_offset($f)|0); - HEAP32[$end>>2] = $112; - } - $113 = ($last|0)==(0|0); - do { - if (!($113)) { - $114 = ((($header)) + 5|0); - $115 = HEAP8[$114>>0]|0; - $116 = $115 & 4; - $117 = ($116<<24>>24)==(0); - if ($117) { - HEAP32[$last>>2] = 0; - break; - } else { - HEAP32[$last>>2] = 1; - break; - } - } - } while(0); - $118 = (($$lcssa61) + -1)|0; - _set_file_offset($f,$118); - $$0 = 1; - STACKTOP = sp;return ($$0|0); - } - else if ((label|0) == 29) { - STACKTOP = sp;return ($$0|0); - } - return (0)|0; + _free($1); + return; } -function _getn($z,$data,$n) { - $z = $z|0; - $data = $data|0; - $n = $n|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; +function _convert_channels_short_interleaved($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + var $$0 = 0, $$04866 = 0, $$04956 = 0, $$05265 = 0, $$1$lcssa = 0, $$150$lcssa = 0, $$15057 = 0, $$158 = 0, $$2$lcssa = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0; + var $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0.0, $27 = 0.0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, $exitcond = 0, $or$cond = 0, $or$cond3 = 0, $scevgep = 0, $smax = 0, $smax71 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = ((($z)) + 32|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)==(0|0); - if ($2) { - $10 = ((($z)) + 20|0); - $11 = HEAP32[$10>>2]|0; - $12 = (_fread($data,$n,1,$11)|0); - $13 = ($12|0)==(1); - if ($13) { - $$0 = 1; - return ($$0|0); - } - $14 = ((($z)) + 96|0); - HEAP32[$14>>2] = 1; - $$0 = 0; - return ($$0|0); - } - $3 = (($1) + ($n)|0); - $4 = ((($z)) + 40|0); - $5 = HEAP32[$4>>2]|0; - $6 = ($3>>>0)>($5>>>0); - if ($6) { - $7 = ((($z)) + 96|0); - HEAP32[$7>>2] = 1; - $$0 = 0; - return ($$0|0); - } else { - _memcpy(($data|0),($1|0),($n|0))|0; - $8 = HEAP32[$0>>2]|0; - $9 = (($8) + ($n)|0); - HEAP32[$0>>2] = $9; - $$0 = 1; - return ($$0|0); - } - return (0)|0; -} -function _get32($f) { - $f = $f|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_get8($f)|0); - $1 = $0&255; - $2 = (_get8($f)|0); - $3 = $2&255; - $4 = $3 << 8; - $5 = $4 | $1; - $6 = (_get8($f)|0); - $7 = $6&255; - $8 = $7 << 16; - $9 = $5 | $8; - $10 = (_get8($f)|0); - $11 = $10&255; - $12 = $11 << 24; - $13 = $9 | $12; - return ($13|0); -} -function _convert_channels_short_interleaved($buf_c,$buffer,$data_c,$data,$d_offset,$len) { - $buf_c = $buf_c|0; - $buffer = $buffer|0; - $data_c = $data_c|0; - $data = $data|0; - $d_offset = $d_offset|0; - $len = $len|0; - var $$017 = 0, $$1$lcssa = 0, $$19 = 0, $$2$lcssa = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0.0, $17 = 0.0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0; - var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond20 = 0, $exitcond25 = 0, $i$07 = 0, $i$1$lcssa = 0, $i$18 = 0, $j$016 = 0; - var $or$cond = 0, $or$cond3 = 0, $scevgep = 0, $scevgep21$sum = 0, $scevgep22 = 0, $v$0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ($buf_c|0)!=($data_c|0); - $1 = ($buf_c|0)<(3); - $or$cond = $1 & $0; - $2 = ($data_c|0)<(7); - $or$cond3 = $2 & $or$cond; + $6 = ($0|0)!=($2|0); + $7 = ($0|0)<(3); + $or$cond = $7 & $6; + $8 = ($2|0)<(7); + $or$cond3 = $8 & $or$cond; if ($or$cond3) { - $3 = ($buf_c|0)==(2); - if ($3) { - $i$07 = 0; + $9 = ($0|0)==(2); + if ($9) { + $$04956 = 0; } else { - ___assert_fail((14680|0),(14642|0),4820,(14691|0)); + ___assert_fail((16744|0),(16331|0),4759,(16755|0)); // unreachable; } while(1) { - _compute_stereo_samples($buffer,$data_c,$data,$d_offset,$len); - $4 = (($i$07) + 1)|0; - $exitcond = ($4|0)==($buf_c|0); - if ($exitcond) { - break; + _compute_stereo_samples($1,$2,$3,$4,$5); + $10 = (($$04956) + 1)|0; + $11 = ($10|0)<($0|0); + if ($11) { + $$04956 = $10; } else { - $i$07 = $4; + break; } } return; } - $5 = ($len|0)>(0); - if (!($5)) { + $12 = ($0|0)<($2|0); + $13 = $12 ? $0 : $2; + $14 = ($5|0)>(0); + if (!($14)) { return; } - $6 = ($buf_c|0)<($data_c|0); - $7 = $6 ? $buf_c : $data_c; - $8 = ($7|0)>(0); - $9 = ($data_c|0)<($buf_c|0); - $10 = $9 ? $data_c : $buf_c; - $$017 = $buffer;$j$016 = 0; + $15 = ($13|0)>(0); + $16 = ($13|0)>(0); + $smax = $16 ? $13 : 0; + $17 = (($0) - ($smax))|0; + $18 = ($13|0)>(0); + $smax71 = $18 ? $13 : 0; + $19 = (($0) - ($smax71))|0; + $20 = $19 << 1; + $$04866 = $1;$$05265 = 0; while(1) { - if ($8) { - $11 = (($j$016) + ($d_offset))|0; - $$19 = $$017;$i$18 = 0; + if ($15) { + $21 = (($$05265) + ($4))|0; + $$15057 = 0;$$158 = $$04866; while(1) { - $13 = (($data) + ($i$18<<2)|0); - $14 = HEAP32[$13>>2]|0; - $15 = (($14) + ($11<<2)|0); - $16 = +HEAPF32[$15>>2]; - $17 = $16 + 384.0; - $18 = (HEAPF32[tempDoublePtr>>2]=$17,HEAP32[tempDoublePtr>>2]|0); - $19 = (($18) + -1136623616)|0; - $20 = ($19>>>0)>(65535); - $21 = ($18|0)<(1136656384); - $22 = $21 ? 32768 : 32767; - $v$0 = $20 ? $22 : $18; - $23 = $v$0&65535; - $24 = ((($$19)) + 2|0); - HEAP16[$$19>>1] = $23; - $25 = (($i$18) + 1)|0; - $exitcond20 = ($25|0)==($10|0); - if ($exitcond20) { - break; + $23 = (($3) + ($$15057<<2)|0); + $24 = HEAP32[$23>>2]|0; + $25 = (($24) + ($21<<2)|0); + $26 = +HEAPF32[$25>>2]; + $27 = $26 + 384.0; + $28 = (HEAPF32[tempDoublePtr>>2]=$27,HEAP32[tempDoublePtr>>2]|0); + $29 = (($28) + -1136623616)|0; + $30 = ($29>>>0)>(65535); + $31 = ($28|0)<(1136656384); + $32 = $31 ? 32768 : 32767; + $$0 = $30 ? $32 : $28; + $33 = $$0&65535; + $34 = ((($$158)) + 2|0); + HEAP16[$$158>>1] = $33; + $35 = (($$15057) + 1)|0; + $36 = ($35|0)<($13|0); + if ($36) { + $$15057 = $35;$$158 = $34; } else { - $$19 = $24;$i$18 = $25; + $$1$lcssa = $34;$$150$lcssa = $13; + break; } } - $scevgep = (($$017) + ($10<<1)|0); - $$1$lcssa = $scevgep;$i$1$lcssa = $10; } else { - $$1$lcssa = $$017;$i$1$lcssa = 0; + $$1$lcssa = $$04866;$$150$lcssa = 0; } - $12 = ($i$1$lcssa|0)<($buf_c|0); - if ($12) { - $26 = (($buf_c) - ($i$1$lcssa))|0; - $27 = $26 << 1; - _memset(($$1$lcssa|0),0,($27|0))|0; - $scevgep21$sum = (($buf_c) - ($i$1$lcssa))|0; - $scevgep22 = (($$1$lcssa) + ($scevgep21$sum<<1)|0); - $$2$lcssa = $scevgep22; + $22 = ($$150$lcssa|0)<($0|0); + if ($22) { + _memset(($$1$lcssa|0),0,($20|0))|0; + $scevgep = (($$1$lcssa) + ($17<<1)|0); + $$2$lcssa = $scevgep; } else { $$2$lcssa = $$1$lcssa; } - $28 = (($j$016) + 1)|0; - $exitcond25 = ($28|0)==($len|0); - if ($exitcond25) { + $37 = (($$05265) + 1)|0; + $exitcond = ($37|0)==($5|0); + if ($exitcond) { break; } else { - $$017 = $$2$lcssa;$j$016 = $28; + $$04866 = $$2$lcssa;$$05265 = $37; } } return; } -function _Vector2Distance($v1,$v2) { - $v1 = $v1|0; - $v2 = $v2|0; - var $0 = 0.0, $1 = 0.0, $10 = 0.0, $2 = 0.0, $3 = 0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, $sqrtf = 0.0, label = 0, sp = 0; +function _stb_vorbis_get_frame_float($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$020 = 0, $$022 = 0, $$lcssa = 0, $$lcssa21 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; + var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = +HEAPF32[$v2>>2]; - $1 = +HEAPF32[$v1>>2]; - $2 = $0 - $1; - $3 = ((($v2)) + 4|0); - $4 = +HEAPF32[$3>>2]; - $5 = ((($v1)) + 4|0); - $6 = +HEAPF32[$5>>2]; - $7 = $4 - $6; - $8 = $2 * $2; - $9 = $7 * $7; - $10 = $8 + $9; - $sqrtf = (+Math_sqrt((+$10))); - return (+$sqrtf); -} -function _Vector2Angle($initialPosition,$finalPosition) { - $initialPosition = $initialPosition|0; - $finalPosition = $finalPosition|0; - var $0 = 0, $1 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0, $16 = 0.0, $2 = 0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, $angle$0 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($finalPosition)) + 4|0); - $1 = +HEAPF32[$0>>2]; - $2 = ((($initialPosition)) + 4|0); - $3 = +HEAPF32[$2>>2]; - $4 = $1 - $3; - $5 = $4; - $6 = +HEAPF32[$finalPosition>>2]; - $7 = +HEAPF32[$initialPosition>>2]; - $8 = $6 - $7; - $9 = $8; - $10 = (+Math_atan2((+$5),(+$9))); - $11 = $10; - $12 = $11; - $13 = $12 * 57.295779513082323; - $14 = $13; - $15 = $14 < 0.0; - $16 = $14 + 360.0; - $angle$0 = $15 ? $16 : $14; - return (+$angle$0); -} -function _compute_stereo_samples($output,$num_c,$data,$d_offset,$len) { - $output = $output|0; - $num_c = $num_c|0; - $data = $data|0; - $d_offset = $d_offset|0; - $len = $len|0; - var $$n$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0.0, $41 = 0, $42 = 0, $43 = 0.0; - var $44 = 0.0, $45 = 0, $46 = 0.0, $47 = 0, $48 = 0, $49 = 0.0, $5 = 0, $50 = 0.0, $51 = 0, $52 = 0, $53 = 0, $54 = 0.0, $55 = 0, $56 = 0, $57 = 0.0, $58 = 0.0, $59 = 0, $6 = 0, $60 = 0, $61 = 0; - var $62 = 0.0, $63 = 0, $64 = 0, $65 = 0, $66 = 0.0, $67 = 0.0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0.0, $72 = 0.0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0; - var $80 = 0, $81 = 0, $82 = 0, $83 = 0, $9 = 0, $buffer = 0, $exitcond = 0, $exitcond23 = 0, $exitcond27 = 0, $exitcond28 = 0, $exitcond34 = 0, $i$09 = 0, $i$17 = 0, $i$26 = 0, $i$313 = 0, $indvars$iv$next30 = 0, $indvars$iv$next32 = 0, $indvars$iv29 = 0, $indvars$iv31 = 0, $j$011 = 0; - var $n$015 = 0, $o$016 = 0, $smax = 0, $smax22 = 0, $smax26 = 0, $smax33 = 0, $v$0 = 0, dest = 0, label = 0, sp = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 128|0; - $buffer = sp; - $0 = ($len|0)>(0); - if (!($0)) { - STACKTOP = sp;return; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + $6 = ((($0)) + 48|0); + $7 = HEAP8[$6>>0]|0; + $8 = ($7<<24>>24)==(0); + if (!($8)) { + _error($0,2); + $$020 = 0; + STACKTOP = sp;return ($$020|0); } - $1 = ($num_c|0)>(0); - $2 = $len ^ -1; - $indvars$iv29 = -2;$indvars$iv31 = -1;$n$015 = 16;$o$016 = 0; - while(1) { - $3 = $o$016 << 1; - dest=$buffer; stop=dest+128|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - $4 = (($o$016) + ($n$015))|0; - $5 = ($4|0)>($len|0); - $6 = (($len) - ($o$016))|0; - $$n$0 = $5 ? $6 : $n$015; - L6: do { - if ($1) { - $7 = ($$n$0|0)>(0); - $8 = (($o$016) + ($d_offset))|0; - $9 = ($$n$0|0)>(0); - $10 = (($o$016) + ($d_offset))|0; - $11 = ($$n$0|0)>(0); - $12 = (($o$016) + ($d_offset))|0; - $13 = (($indvars$iv31) - ($n$015))|0; - $14 = ($13|0)>($2|0); - $smax = $14 ? $13 : $2; - $15 = (($indvars$iv31) - ($smax))|0; - $16 = (($indvars$iv31) - ($n$015))|0; - $17 = ($16|0)>($2|0); - $smax22 = $17 ? $16 : $2; - $18 = (($indvars$iv31) - ($smax22))|0; - $19 = (($indvars$iv31) - ($n$015))|0; - $20 = ($19|0)>($2|0); - $smax26 = $20 ? $19 : $2; - $21 = (($indvars$iv31) - ($smax26))|0; - $j$011 = 0; - while(1) { - $28 = ((14726 + (($num_c*6)|0)|0) + ($j$011)|0); - $29 = HEAP8[$28>>0]|0; - $30 = $29&255; - $31 = $30 & 6; - switch ($31|0) { - case 6: { - if ($7) { - $36 = (($data) + ($j$011<<2)|0); - $37 = HEAP32[$36>>2]|0; - $i$09 = 0; - while(1) { - $38 = (($8) + ($i$09))|0; - $39 = (($37) + ($38<<2)|0); - $40 = +HEAPF32[$39>>2]; - $41 = $i$09 << 1; - $42 = (($buffer) + ($41<<2)|0); - $43 = +HEAPF32[$42>>2]; - $44 = $40 + $43; - HEAPF32[$42>>2] = $44; - $45 = (($37) + ($38<<2)|0); - $46 = +HEAPF32[$45>>2]; - $47 = $41 | 1; - $48 = (($buffer) + ($47<<2)|0); - $49 = +HEAPF32[$48>>2]; - $50 = $46 + $49; - HEAPF32[$48>>2] = $50; - $51 = (($i$09) + 1)|0; - $exitcond27 = ($51|0)==($21|0); - if ($exitcond27) { - break; - } else { - $i$09 = $51; - } - } + $9 = (_vorbis_decode_packet($0,$3,$5,$4)|0); + $10 = ($9|0)==(0); + if ($10) { + $11 = ((($0)) + 1508|0); + HEAP32[$11>>2] = 0; + $12 = ((($0)) + 1504|0); + HEAP32[$12>>2] = 0; + $$020 = 0; + STACKTOP = sp;return ($$020|0); + } + $13 = HEAP32[$3>>2]|0; + $14 = HEAP32[$5>>2]|0; + $15 = HEAP32[$4>>2]|0; + $16 = (_vorbis_finish_frame($0,$13,$14,$15)|0); + HEAP32[$3>>2] = $16; + $17 = ((($0)) + 4|0); + $18 = HEAP32[$17>>2]|0; + $19 = ($18|0)>(0); + $20 = HEAP32[$5>>2]|0; + if ($19) { + $21 = HEAP32[$5>>2]|0; + $$022 = 0;$25 = $20; + while(1) { + $22 = (((($0)) + 800|0) + ($$022<<2)|0); + $23 = HEAP32[$22>>2]|0; + $24 = (($23) + ($25<<2)|0); + $26 = (((($0)) + 864|0) + ($$022<<2)|0); + HEAP32[$26>>2] = $24; + $27 = (($$022) + 1)|0; + $28 = HEAP32[$17>>2]|0; + $29 = ($27|0)<($28|0); + if ($29) { + $$022 = $27;$25 = $21; + } else { + $$lcssa = $21;$$lcssa21 = $28; + break; + } + } + } else { + $$lcssa = $20;$$lcssa21 = $18; + } + $30 = ((($0)) + 1504|0); + HEAP32[$30>>2] = $$lcssa; + $31 = HEAP32[$3>>2]|0; + $32 = (($31) + ($$lcssa))|0; + $33 = ((($0)) + 1508|0); + HEAP32[$33>>2] = $32; + $34 = ($1|0)==(0|0); + if (!($34)) { + HEAP32[$1>>2] = $$lcssa21; + } + $35 = ($2|0)==(0|0); + if ($35) { + $$020 = $31; + STACKTOP = sp;return ($$020|0); + } + $36 = ((($0)) + 864|0); + HEAP32[$2>>2] = $36; + $$020 = $31; + STACKTOP = sp;return ($$020|0); +} +function _error($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($0)) + 100|0); + HEAP32[$2>>2] = $1; + return; +} +function _vorbis_decode_packet($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $4 = sp + 8|0; + $5 = sp + 4|0; + $6 = sp; + $7 = (_vorbis_decode_initial($0,$2,$5,$3,$6,$4)|0); + $8 = ($7|0)==(0); + if ($8) { + $$0 = 0; + STACKTOP = sp;return ($$0|0); + } + $9 = HEAP32[$4>>2]|0; + $10 = (((($0)) + 412|0) + (($9*6)|0)|0); + $11 = HEAP32[$2>>2]|0; + $12 = HEAP32[$3>>2]|0; + $13 = HEAP32[$6>>2]|0; + $14 = (_vorbis_decode_packet_rest($0,$1,$10,$11,$12,$13,$2)|0); + $$0 = $14; + STACKTOP = sp;return ($$0|0); +} +function _vorbis_finish_frame($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$ = 0, $$0 = 0, $$06775 = 0, $$06878 = 0, $$06972 = 0, $$07073 = 0, $$pr = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0.0, $21 = 0, $22 = 0.0; + var $23 = 0.0, $24 = 0, $25 = 0.0, $26 = 0, $27 = 0, $28 = 0.0, $29 = 0.0, $30 = 0.0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; + var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0; + var $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond79 = 0, label = 0, sp = 0; + sp = STACKTOP; + $4 = ((($0)) + 992|0); + $5 = HEAP32[$4>>2]|0; + $6 = ($5|0)==(0); + if ($6) { + $54 = 0; + } else { + $7 = (_get_window($0,$5)|0); + $8 = ((($0)) + 4|0); + $9 = HEAP32[$8>>2]|0; + $10 = ($9|0)>(0); + if ($10) { + $11 = ($5|0)>(0); + $12 = HEAP32[$8>>2]|0; + $13 = (($5) + -1)|0; + $$06878 = 0; + while(1) { + if ($11) { + $14 = (((($0)) + 800|0) + ($$06878<<2)|0); + $15 = HEAP32[$14>>2]|0; + $16 = (((($0)) + 928|0) + ($$06878<<2)|0); + $17 = HEAP32[$16>>2]|0; + $$06775 = 0; + while(1) { + $18 = (($$06775) + ($2))|0; + $19 = (($15) + ($18<<2)|0); + $20 = +HEAPF32[$19>>2]; + $21 = (($7) + ($$06775<<2)|0); + $22 = +HEAPF32[$21>>2]; + $23 = $20 * $22; + $24 = (($17) + ($$06775<<2)|0); + $25 = +HEAPF32[$24>>2]; + $26 = (($13) - ($$06775))|0; + $27 = (($7) + ($26<<2)|0); + $28 = +HEAPF32[$27>>2]; + $29 = $25 * $28; + $30 = $23 + $29; + HEAPF32[$19>>2] = $30; + $31 = (($$06775) + 1)|0; + $exitcond79 = ($31|0)==($5|0); + if ($exitcond79) { + break; + } else { + $$06775 = $31; } - break; - } - case 2: { - if ($9) { - $34 = (($data) + ($j$011<<2)|0); - $35 = HEAP32[$34>>2]|0; - $i$17 = 0; - while(1) { - $52 = (($10) + ($i$17))|0; - $53 = (($35) + ($52<<2)|0); - $54 = +HEAPF32[$53>>2]; - $55 = $i$17 << 1; - $56 = (($buffer) + ($55<<2)|0); - $57 = +HEAPF32[$56>>2]; - $58 = $54 + $57; - HEAPF32[$56>>2] = $58; - $59 = (($i$17) + 1)|0; - $exitcond23 = ($59|0)==($18|0); - if ($exitcond23) { - break; - } else { - $i$17 = $59; - } - } - } - break; - } - case 4: { - if ($11) { - $32 = (($data) + ($j$011<<2)|0); - $33 = HEAP32[$32>>2]|0; - $i$26 = 0; - while(1) { - $60 = (($12) + ($i$26))|0; - $61 = (($33) + ($60<<2)|0); - $62 = +HEAPF32[$61>>2]; - $63 = $i$26 << 1; - $64 = $63 | 1; - $65 = (($buffer) + ($64<<2)|0); - $66 = +HEAPF32[$65>>2]; - $67 = $62 + $66; - HEAPF32[$65>>2] = $67; - $68 = (($i$26) + 1)|0; - $exitcond = ($68|0)==($15|0); - if ($exitcond) { - break; - } else { - $i$26 = $68; - } - } - } - break; - } - default: { - } - } - $69 = (($j$011) + 1)|0; - $exitcond28 = ($69|0)==($num_c|0); - if ($exitcond28) { - break L6; - } else { - $j$011 = $69; } } - } - } while(0); - $22 = $$n$0 << 1; - $23 = ($22|0)>(0); - if ($23) { - $24 = (($indvars$iv31) - ($n$015))|0; - $25 = ($24|0)>($2|0); - $smax33 = $25 ? $24 : $2; - $26 = $smax33 << 1; - $27 = (($indvars$iv29) - ($26))|0; - $i$313 = 0; - while(1) { - $70 = (($buffer) + ($i$313<<2)|0); - $71 = +HEAPF32[$70>>2]; - $72 = $71 + 384.0; - $73 = (HEAPF32[tempDoublePtr>>2]=$72,HEAP32[tempDoublePtr>>2]|0); - $74 = (($73) + -1136623616)|0; - $75 = ($74>>>0)>(65535); - $76 = ($73|0)<(1136656384); - $77 = $76 ? 32768 : 32767; - $v$0 = $75 ? $77 : $73; - $78 = $v$0&65535; - $79 = (($i$313) + ($3))|0; - $80 = (($output) + ($79<<1)|0); - HEAP16[$80>>1] = $78; - $81 = (($i$313) + 1)|0; - $exitcond34 = ($81|0)==($27|0); - if ($exitcond34) { - break; + $32 = (($$06878) + 1)|0; + $33 = ($32|0)<($12|0); + if ($33) { + $$06878 = $32; } else { - $i$313 = $81; + break; } } } - $82 = (($o$016) + 16)|0; - $83 = ($82|0)<($len|0); - $indvars$iv$next32 = (($indvars$iv31) + -16)|0; - $indvars$iv$next30 = (($indvars$iv29) + -32)|0; - if ($83) { - $indvars$iv29 = $indvars$iv$next30;$indvars$iv31 = $indvars$iv$next32;$n$015 = $$n$0;$o$016 = $82; + $$pr = HEAP32[$4>>2]|0; + $54 = $$pr; + } + $34 = (($1) - ($3))|0; + HEAP32[$4>>2] = $34; + $35 = ((($0)) + 4|0); + $36 = HEAP32[$35>>2]|0; + $37 = ($36|0)>(0); + if ($37) { + $38 = ($1|0)>($3|0); + $39 = HEAP32[$35>>2]|0; + $40 = (($1) - ($3))|0; + $$07073 = 0; + while(1) { + if ($38) { + $41 = (((($0)) + 800|0) + ($$07073<<2)|0); + $42 = HEAP32[$41>>2]|0; + $43 = (((($0)) + 928|0) + ($$07073<<2)|0); + $44 = HEAP32[$43>>2]|0; + $$06972 = 0;$46 = $3; + while(1) { + $45 = (($42) + ($46<<2)|0); + $47 = HEAP32[$45>>2]|0; + $48 = (($44) + ($$06972<<2)|0); + HEAP32[$48>>2] = $47; + $49 = (($$06972) + 1)|0; + $50 = (($49) + ($3))|0; + $exitcond = ($49|0)==($40|0); + if ($exitcond) { + break; + } else { + $$06972 = $49;$46 = $50; + } + } + } + $51 = (($$07073) + 1)|0; + $52 = ($51|0)<($39|0); + if ($52) { + $$07073 = $51; + } else { + break; + } + } + } + $53 = ($54|0)==(0); + $55 = ($1|0)<($3|0); + $$ = $55 ? $1 : $3; + $56 = (($$) - ($2))|0; + $57 = ((($0)) + 1416|0); + if ($53) { + $$0 = 0; + return ($$0|0); + } + $58 = HEAP32[$57>>2]|0; + $59 = (($58) + ($56))|0; + HEAP32[$57>>2] = $59; + $$0 = $56; + return ($$0|0); +} +function _get_window($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $$sink = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = $1 << 1; + $3 = ((($0)) + 112|0); + $4 = HEAP32[$3>>2]|0; + $5 = ($2|0)==($4|0); + if ($5) { + $$sink = 0; + } else { + $6 = ((($0)) + 116|0); + $7 = HEAP32[$6>>2]|0; + $8 = ($2|0)==($7|0); + if ($8) { + $$sink = 1; } else { + ___assert_fail((16329|0),(16331|0),2658,(16353|0)); + // unreachable; + } + } + $9 = (((($0)) + 1092|0) + ($$sink<<2)|0); + $$0 = HEAP32[$9>>2]|0; + return ($$0|0); +} +function _vorbis_decode_initial($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + var $$0 = 0, $$062 = 0, $$063 = 0, $$064 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; + var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; + var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0; + var $65 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond3 = 0, $phitmp = 0, $storemerge = 0, $storemerge65 = 0, label = 0, sp = 0; + sp = STACKTOP; + $6 = ((($0)) + 1508|0); + HEAP32[$6>>2] = 0; + $7 = ((($0)) + 1504|0); + HEAP32[$7>>2] = 0; + $8 = ((($0)) + 96|0); + $9 = HEAP32[$8>>2]|0; + $10 = ($9|0)==(0); + if (!($10)) { + $$0 = 0; + return ($$0|0); + } + $11 = ((($0)) + 48|0); + while(1) { + $14 = (_maybe_start_packet($0)|0); + $15 = ($14|0)==(0); + if ($15) { + $$0 = 0; + label = 24; + break; + } + $16 = (_get_bits($0,1)|0); + $17 = ($16|0)==(0); + if ($17) { + label = 9; + break; + } + $18 = HEAP8[$11>>0]|0; + $19 = ($18<<24>>24)==(0); + if (!($19)) { + label = 7; + break; + } + while(1) { + $20 = (_get8_packet($0)|0); + $21 = ($20|0)==(-1); + if ($21) { + break; + } + } + $12 = HEAP32[$8>>2]|0; + $13 = ($12|0)==(0); + if (!($13)) { + $$0 = 0; + label = 24; break; } } - STACKTOP = sp;return; -} -function _get8($z) { - $z = $z|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($z)) + 32|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)==(0|0); - if ($2) { - $9 = ((($z)) + 20|0); - $10 = HEAP32[$9>>2]|0; - $11 = (_fgetc($10)|0); - $12 = ($11|0)==(-1); - if ($12) { - $13 = ((($z)) + 96|0); - HEAP32[$13>>2] = 1; + if ((label|0) == 7) { + _error($0,35); + $$0 = 0; + return ($$0|0); + } + else if ((label|0) == 9) { + $22 = ((($0)) + 80|0); + $23 = HEAP32[$22>>2]|0; + $24 = ($23|0)==(0|0); + if (!($24)) { + $25 = ((($0)) + 84|0); + $26 = HEAP32[$25>>2]|0; + $27 = ((($0)) + 92|0); + $28 = HEAP32[$27>>2]|0; + $29 = ($26|0)==($28|0); + if (!($29)) { + ___assert_fail((16364|0),(16331|0),2737,(16722|0)); + // unreachable; + } + } + $30 = ((($0)) + 408|0); + $31 = HEAP32[$30>>2]|0; + $32 = (($31) + -1)|0; + $33 = (_ilog($32)|0); + $34 = (_get_bits($0,$33)|0); + $35 = ($34|0)==(-1); + if ($35) { $$0 = 0; return ($$0|0); + } + $36 = HEAP32[$30>>2]|0; + $37 = ($34|0)<($36|0); + if (!($37)) { + $$0 = 0; + return ($$0|0); + } + HEAP32[$5>>2] = $34; + $38 = (((($0)) + 412|0) + (($34*6)|0)|0); + $39 = HEAP8[$38>>0]|0; + $40 = ($39<<24>>24)==(0); + if ($40) { + $45 = ((($0)) + 112|0); + $46 = HEAP32[$45>>2]|0; + $$062 = 0;$$063 = 0;$$064 = $46; } else { - $14 = $11&255; - $$0 = $14; + $41 = ((($0)) + 116|0); + $42 = HEAP32[$41>>2]|0; + $43 = (_get_bits($0,1)|0); + $44 = (_get_bits($0,1)|0); + $phitmp = ($43|0)!=(0); + $$062 = $44;$$063 = $phitmp;$$064 = $42; + } + $47 = $$064 >> 1; + $48 = HEAP8[$38>>0]|0; + $49 = ($48<<24>>24)==(0); + $or$cond = $$063 | $49; + if ($or$cond) { + HEAP32[$1>>2] = 0; + $storemerge = $47; + } else { + $50 = ((($0)) + 112|0); + $51 = HEAP32[$50>>2]|0; + $52 = (($$064) - ($51))|0; + $53 = $52 >> 2; + HEAP32[$1>>2] = $53; + $54 = HEAP32[$50>>2]|0; + $55 = (($54) + ($$064))|0; + $56 = $55 >> 2; + $storemerge = $56; + } + HEAP32[$2>>2] = $storemerge; + $57 = ($$062|0)!=(0); + $or$cond3 = $57 | $49; + if ($or$cond3) { + HEAP32[$3>>2] = $47; + $storemerge65 = $$064; + } else { + $58 = ($$064*3)|0; + $59 = ((($0)) + 112|0); + $60 = HEAP32[$59>>2]|0; + $61 = (($58) - ($60))|0; + $62 = $61 >> 2; + HEAP32[$3>>2] = $62; + $63 = HEAP32[$59>>2]|0; + $64 = (($63) + ($58))|0; + $65 = $64 >> 2; + $storemerge65 = $65; + } + HEAP32[$4>>2] = $storemerge65; + $$0 = 1; + return ($$0|0); + } + else if ((label|0) == 24) { + return ($$0|0); + } + return (0)|0; +} +function _vorbis_decode_packet_rest($0,$1,$2,$3,$4,$5,$6) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + $6 = $6|0; + var $$ = 0, $$0409 = 0.0, $$0410 = 0.0, $$0411 = 0, $$041263 = 0, $$041652 = 0, $$0421$lcssa = 0, $$042133 = 0, $$042347 = 0, $$0427 = 0, $$042851 = 0, $$11 = 0, $$13 = 0, $$141341 = 0, $$141756 = 0, $$1422 = 0, $$1429$lcssa = 0, $$142946 = 0, $$1432 = 0, $$1437 = 0; + var $$241438 = 0, $$241860 = 0, $$2430 = 0, $$2438 = 0, $$3 = 0, $$341530 = 0, $$341530$in = 0, $$341934 = 0, $$424 = 0, $$442026 = 0, $$4435$ph = 0, $$443545 = 0, $$523 = 0, $$6 = 0, $$7 = 0, $$8 = 0, $$lcssa19 = 0, $$sink$sink = 0, $$sink3 = 0, $$sink3$in = 0; + var $$sink5 = 0, $$sink9 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; + var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; + var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; + var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; + var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; + var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0; + var $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0; + var $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0; + var $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0; + var $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0; + var $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0; + var $298 = 0, $299 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0.0, $305 = 0, $306 = 0, $307 = 0.0, $308 = 0, $309 = 0.0, $31 = 0, $310 = 0.0, $311 = 0.0, $312 = 0.0, $313 = 0, $314 = 0, $315 = 0; + var $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0; + var $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0; + var $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0; + var $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0; + var $389 = 0, $39 = 0, $390 = 0, $391 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0; + var $56 = 0, $57 = 0, $58 = 0, $59 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0; + var $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0; + var $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond = 0, $exitcond69 = 0, $storemerge = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 2560|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(2560|0); + $7 = sp + 1280|0; + $8 = sp + 256|0; + $9 = sp; + $10 = sp + 2304|0; + $11 = HEAP8[$2>>0]|0; + $12 = $11&255; + $13 = (((($0)) + 104|0) + ($12<<2)|0); + $14 = HEAP32[$13>>2]|0; + $15 = ((($0)) + 404|0); + $16 = HEAP32[$15>>2]|0; + $17 = ((($2)) + 1|0); + $18 = HEAP8[$17>>0]|0; + $19 = $18&255; + $20 = (($16) + (($19*40)|0)|0); + $21 = $14 >> 1; + $22 = (0 - ($21))|0; + $23 = ((($0)) + 4|0); + $24 = HEAP32[$23>>2]|0; + $25 = ($24|0)>(0); + L1: do { + if ($25) { + $26 = (((($16) + (($19*40)|0)|0)) + 4|0); + $27 = ((($0)) + 260|0); + $28 = ((($0)) + 1396|0); + $29 = ((($9)) + 1|0); + $30 = ((($0)) + 124|0); + $31 = ((($0)) + 1396|0); + $32 = ((($0)) + 1392|0); + $33 = ((($0)) + 124|0); + $34 = ((($0)) + 1396|0); + $35 = ((($0)) + 1392|0); + $$041263 = 0; + while(1) { + $36 = HEAP32[$26>>2]|0; + $37 = (((($36) + (($$041263*3)|0)|0)) + 2|0); + $38 = HEAP8[$37>>0]|0; + $39 = $38&255; + $40 = (($7) + ($$041263<<2)|0); + HEAP32[$40>>2] = 0; + $41 = ((((($16) + (($19*40)|0)|0)) + 9|0) + ($39)|0); + $42 = HEAP8[$41>>0]|0; + $43 = $42&255; + $44 = (((($0)) + 132|0) + ($43<<1)|0); + $45 = HEAP16[$44>>1]|0; + $46 = ($45<<16>>16)==(0); + if ($46) { + break; + } + $47 = HEAP32[$27>>2]|0; + $48 = (_get_bits($0,1)|0); + $49 = ($48|0)==(0); + do { + if ($49) { + label = 48; + } else { + $50 = (((($47) + (($43*1596)|0)|0)) + 1588|0); + $51 = HEAP8[$50>>0]|0; + $52 = $51&255; + $53 = (($52) + -1)|0; + $54 = (3752 + ($53<<2)|0); + $55 = HEAP32[$54>>2]|0; + $56 = (((($0)) + 996|0) + ($$041263<<2)|0); + $57 = HEAP32[$56>>2]|0; + $58 = (_ilog($55)|0); + $59 = (($58) + -1)|0; + $60 = (_get_bits($0,$59)|0); + $61 = $60&65535; + HEAP16[$57>>1] = $61; + $62 = (_get_bits($0,$59)|0); + $63 = $62&65535; + $64 = ((($57)) + 2|0); + HEAP16[$64>>1] = $63; + $65 = (($47) + (($43*1596)|0)|0); + $66 = HEAP8[$65>>0]|0; + $67 = ($66<<24>>24)==(0); + if (!($67)) { + $$041652 = 0;$$042851 = 2; + while(1) { + $68 = ((((($47) + (($43*1596)|0)|0)) + 1|0) + ($$041652)|0); + $69 = HEAP8[$68>>0]|0; + $70 = $69&255; + $71 = ((((($47) + (($43*1596)|0)|0)) + 33|0) + ($70)|0); + $72 = HEAP8[$71>>0]|0; + $73 = $72&255; + $74 = ((((($47) + (($43*1596)|0)|0)) + 49|0) + ($70)|0); + $75 = HEAP8[$74>>0]|0; + $76 = $75&255; + $77 = 1 << $76; + $78 = (($77) + -1)|0; + $79 = ($75<<24>>24)==(0); + if ($79) { + $$4435$ph = 0; + } else { + $80 = HEAP32[$30>>2]|0; + $81 = ((((($47) + (($43*1596)|0)|0)) + 65|0) + ($70)|0); + $82 = HEAP8[$81>>0]|0; + $83 = $82&255; + $84 = (($80) + (($83*2096)|0)|0); + $85 = HEAP32[$31>>2]|0; + $86 = ($85|0)<(10); + if ($86) { + _prep_huffman($0); + } + $87 = HEAP32[$32>>2]|0; + $88 = $87 & 1023; + $89 = ((((($80) + (($83*2096)|0)|0)) + 36|0) + ($88<<1)|0); + $90 = HEAP16[$89>>1]|0; + $91 = $90 << 16 >> 16; + $92 = ($90<<16>>16)>(-1); + if ($92) { + $93 = (((($80) + (($83*2096)|0)|0)) + 8|0); + $94 = HEAP32[$93>>2]|0; + $95 = (($94) + ($91)|0); + $96 = HEAP8[$95>>0]|0; + $97 = $96&255; + $98 = $87 >>> $97; + HEAP32[$32>>2] = $98; + $99 = HEAP32[$31>>2]|0; + $100 = (($99) - ($97))|0; + $101 = ($100|0)<(0); + $$ = $101 ? 0 : $100; + $$6 = $101 ? -1 : $91; + HEAP32[$31>>2] = $$; + $$1432 = $$6; + } else { + $102 = (_codebook_decode_scalar_raw($0,$84)|0); + $$1432 = $102; + } + $103 = (((($80) + (($83*2096)|0)|0)) + 23|0); + $104 = HEAP8[$103>>0]|0; + $105 = ($104<<24>>24)==(0); + if ($105) { + $$4435$ph = $$1432; + } else { + $106 = (((($80) + (($83*2096)|0)|0)) + 2088|0); + $107 = HEAP32[$106>>2]|0; + $108 = (($107) + ($$1432<<2)|0); + $109 = HEAP32[$108>>2]|0; + $$4435$ph = $109; + } + } + $110 = ($72<<24>>24)==(0); + if ($110) { + $$1429$lcssa = $$042851; + } else { + $$042347 = 0;$$142946 = $$042851;$$443545 = $$4435$ph; + while(1) { + $111 = $$443545 & $78; + $112 = (((((($47) + (($43*1596)|0)|0)) + 82|0) + ($70<<4)|0) + ($111<<1)|0); + $113 = HEAP16[$112>>1]|0; + $114 = $$443545 >> $76; + $115 = ($113<<16>>16)>(-1); + if ($115) { + $116 = $113 << 16 >> 16; + $117 = HEAP32[$33>>2]|0; + $118 = (($117) + (($116*2096)|0)|0); + $119 = HEAP32[$34>>2]|0; + $120 = ($119|0)<(10); + if ($120) { + _prep_huffman($0); + } + $121 = HEAP32[$35>>2]|0; + $122 = $121 & 1023; + $123 = ((((($117) + (($116*2096)|0)|0)) + 36|0) + ($122<<1)|0); + $124 = HEAP16[$123>>1]|0; + $125 = $124 << 16 >> 16; + $126 = ($124<<16>>16)>(-1); + if ($126) { + $127 = (((($117) + (($116*2096)|0)|0)) + 8|0); + $128 = HEAP32[$127>>2]|0; + $129 = (($128) + ($125)|0); + $130 = HEAP8[$129>>0]|0; + $131 = $130&255; + $132 = $121 >>> $131; + HEAP32[$35>>2] = $132; + $133 = HEAP32[$34>>2]|0; + $134 = (($133) - ($131))|0; + $135 = ($134|0)<(0); + $$7 = $135 ? 0 : $134; + $$8 = $135 ? -1 : $125; + HEAP32[$34>>2] = $$7; + $$1437 = $$8; + } else { + $136 = (_codebook_decode_scalar_raw($0,$118)|0); + $$1437 = $136; + } + $137 = (((($117) + (($116*2096)|0)|0)) + 23|0); + $138 = HEAP8[$137>>0]|0; + $139 = ($138<<24>>24)==(0); + if ($139) { + $$2438 = $$1437; + } else { + $140 = (((($117) + (($116*2096)|0)|0)) + 2088|0); + $141 = HEAP32[$140>>2]|0; + $142 = (($141) + ($$1437<<2)|0); + $143 = HEAP32[$142>>2]|0; + $$2438 = $143; + } + $144 = $$2438&65535; + $$sink9 = $144; + } else { + $$sink9 = 0; + } + $145 = (($57) + ($$142946<<1)|0); + HEAP16[$145>>1] = $$sink9; + $$2430 = (($$142946) + 1)|0; + $146 = (($$042347) + 1)|0; + $exitcond69 = ($146|0)==($73|0); + if ($exitcond69) { + break; + } else { + $$042347 = $146;$$142946 = $$2430;$$443545 = $114; + } + } + $147 = (($$042851) + ($73))|0; + $$1429$lcssa = $147; + } + $148 = (($$041652) + 1)|0; + $149 = HEAP8[$65>>0]|0; + $150 = $149&255; + $151 = ($148|0)<($150|0); + if ($151) { + $$041652 = $148;$$042851 = $$1429$lcssa; + } else { + break; + } + } + } + $152 = HEAP32[$28>>2]|0; + $153 = ($152|0)==(-1); + if ($153) { + label = 48; + break; + } + HEAP8[$29>>0] = 1; + HEAP8[$9>>0] = 1; + $154 = (((($47) + (($43*1596)|0)|0)) + 1592|0); + $155 = HEAP32[$154>>2]|0; + $156 = ($155|0)>(2); + if ($156) { + $157 = (($55) + 65535)|0; + $$141756 = 2; + while(1) { + $161 = ((((($47) + (($43*1596)|0)|0)) + 1088|0) + ($$141756<<1)|0); + $162 = HEAP8[$161>>0]|0; + $163 = $162&255; + $164 = ((((((($47) + (($43*1596)|0)|0)) + 1088|0) + ($$141756<<1)|0)) + 1|0); + $165 = HEAP8[$164>>0]|0; + $166 = $165&255; + $167 = ((((($47) + (($43*1596)|0)|0)) + 338|0) + ($$141756<<1)|0); + $168 = HEAP16[$167>>1]|0; + $169 = $168&65535; + $170 = ((((($47) + (($43*1596)|0)|0)) + 338|0) + ($163<<1)|0); + $171 = HEAP16[$170>>1]|0; + $172 = $171&65535; + $173 = ((((($47) + (($43*1596)|0)|0)) + 338|0) + ($166<<1)|0); + $174 = HEAP16[$173>>1]|0; + $175 = $174&65535; + $176 = (($57) + ($163<<1)|0); + $177 = HEAP16[$176>>1]|0; + $178 = $177 << 16 >> 16; + $179 = (($57) + ($166<<1)|0); + $180 = HEAP16[$179>>1]|0; + $181 = $180 << 16 >> 16; + $182 = (_predict_point($169,$172,$175,$178,$181)|0); + $183 = (($57) + ($$141756<<1)|0); + $184 = HEAP16[$183>>1]|0; + $185 = $184 << 16 >> 16; + $186 = (($55) - ($182))|0; + $187 = ($184<<16>>16)==(0); + do { + if ($187) { + $203 = (($9) + ($$141756)|0); + HEAP8[$203>>0] = 0; + $204 = $182&65535; + $$sink$sink = $204; + } else { + $188 = ($186|0)<($182|0); + $$11 = $188 ? $186 : $182; + $$0427 = $$11 << 1; + $189 = (($9) + ($166)|0); + HEAP8[$189>>0] = 1; + $190 = (($9) + ($163)|0); + HEAP8[$190>>0] = 1; + $191 = (($9) + ($$141756)|0); + HEAP8[$191>>0] = 1; + $192 = ($185|0)<($$0427|0); + if (!($192)) { + $193 = ($186|0)>($182|0); + if ($193) { + $$sink$sink = $184; + break; + } + $194 = (($157) - ($185))|0; + $195 = $194&65535; + $$sink$sink = $195; + break; + } + $196 = $185 & 1; + $197 = ($196|0)==(0); + if ($197) { + $201 = $185 >>> 1; + $202 = (($201) + ($182))|0; + $$sink3$in = $202; + } else { + $198 = (($185) + 1)|0; + $199 = $198 >> 1; + $200 = (($182) - ($199))|0; + $$sink3$in = $200; + } + $$sink3 = $$sink3$in&65535; + $$sink$sink = $$sink3; + } + } while(0); + HEAP16[$183>>1] = $$sink$sink; + $205 = (($$141756) + 1)|0; + $206 = HEAP32[$154>>2]|0; + $207 = ($205|0)<($206|0); + if ($207) { + $$141756 = $205; + } else { + $159 = $206; + break; + } + } + } else { + $159 = $155; + } + $158 = ($159|0)>(0); + if ($158) { + $160 = HEAP32[$154>>2]|0; + $$241860 = 0; + while(1) { + $208 = (($9) + ($$241860)|0); + $209 = HEAP8[$208>>0]|0; + $210 = ($209<<24>>24)==(0); + if ($210) { + $211 = (($57) + ($$241860<<1)|0); + HEAP16[$211>>1] = -1; + } + $212 = (($$241860) + 1)|0; + $213 = ($212|0)<($160|0); + if ($213) { + $$241860 = $212; + } else { + break; + } + } + } + } + } while(0); + if ((label|0) == 48) { + label = 0; + HEAP32[$40>>2] = 1; + } + $214 = (($$041263) + 1)|0; + $215 = HEAP32[$23>>2]|0; + $216 = ($214|0)<($215|0); + if ($216) { + $$041263 = $214; + } else { + $$lcssa19 = $215; + break L1; + } + } + _error($0,21); + $$3 = 0; + STACKTOP = sp;return ($$3|0); + } else { + $$lcssa19 = $24; + } + } while(0); + $217 = ((($0)) + 80|0); + $218 = HEAP32[$217>>2]|0; + $219 = ($218|0)==(0|0); + if (!($219)) { + $220 = ((($0)) + 84|0); + $221 = HEAP32[$220>>2]|0; + $222 = ((($0)) + 92|0); + $223 = HEAP32[$222>>2]|0; + $224 = ($221|0)==($223|0); + if (!($224)) { + ___assert_fail((16364|0),(16331|0),2886,(16420|0)); + // unreachable; + } + } + $225 = $$lcssa19 << 2; + _memcpy(($8|0),($7|0),($225|0))|0; + $226 = HEAP16[$20>>1]|0; + $227 = ($226<<16>>16)==(0); + if (!($227)) { + $228 = (((($16) + (($19*40)|0)|0)) + 4|0); + $229 = HEAP32[$228>>2]|0; + $230 = HEAP16[$20>>1]|0; + $231 = $230&65535; + $$141341 = 0; + while(1) { + $236 = (($229) + (($$141341*3)|0)|0); + $237 = HEAP8[$236>>0]|0; + $238 = $237&255; + $239 = (($7) + ($238<<2)|0); + $240 = HEAP32[$239>>2]|0; + $241 = ($240|0)==(0); + $242 = (((($229) + (($$141341*3)|0)|0)) + 1|0); + $243 = HEAP8[$242>>0]|0; + $244 = $243&255; + if ($241) { + label = 59; + } else { + $245 = (($7) + ($244<<2)|0); + $246 = HEAP32[$245>>2]|0; + $247 = ($246|0)==(0); + if ($247) { + label = 59; + } + } + if ((label|0) == 59) { + label = 0; + $248 = (($7) + ($244<<2)|0); + HEAP32[$248>>2] = 0; + HEAP32[$239>>2] = 0; + } + $249 = (($$141341) + 1)|0; + $250 = ($249|0)<($231|0); + if ($250) { + $$141341 = $249; + } else { + break; + } + } + } + $232 = (((($16) + (($19*40)|0)|0)) + 8|0); + $233 = HEAP8[$232>>0]|0; + $234 = ($233<<24>>24)==(0); + if (!($234)) { + $235 = (((($16) + (($19*40)|0)|0)) + 4|0); + $$241438 = 0; + while(1) { + $251 = HEAP32[$23>>2]|0; + $252 = ($251|0)>(0); + if ($252) { + $253 = HEAP32[$235>>2]|0; + $254 = HEAP32[$23>>2]|0; + $$042133 = 0;$$341934 = 0; + while(1) { + $255 = (((($253) + (($$341934*3)|0)|0)) + 2|0); + $256 = HEAP8[$255>>0]|0; + $257 = $256&255; + $258 = ($257|0)==($$241438|0); + if ($258) { + $259 = (($7) + ($$341934<<2)|0); + $260 = HEAP32[$259>>2]|0; + $261 = ($260|0)==(0); + $262 = (($10) + ($$042133)|0); + if ($261) { + HEAP8[$262>>0] = 0; + $263 = (((($0)) + 800|0) + ($$341934<<2)|0); + $264 = HEAP32[$263>>2]|0; + $$sink5 = $264; + } else { + HEAP8[$262>>0] = 1; + $$sink5 = 0; + } + $265 = (($9) + ($$042133<<2)|0); + HEAP32[$265>>2] = $$sink5; + $266 = (($$042133) + 1)|0; + $$1422 = $266; + } else { + $$1422 = $$042133; + } + $267 = (($$341934) + 1)|0; + $268 = ($267|0)<($254|0); + if ($268) { + $$042133 = $$1422;$$341934 = $267; + } else { + $$0421$lcssa = $$1422; + break; + } + } + } else { + $$0421$lcssa = 0; + } + $269 = ((((($16) + (($19*40)|0)|0)) + 24|0) + ($$241438)|0); + $270 = HEAP8[$269>>0]|0; + $271 = $270&255; + _decode_residue($0,$9,$$0421$lcssa,$21,$271,$10); + $272 = (($$241438) + 1)|0; + $273 = HEAP8[$232>>0]|0; + $274 = $273&255; + $275 = ($272|0)<($274|0); + if ($275) { + $$241438 = $272; + } else { + break; + } + } + } + $276 = HEAP32[$217>>2]|0; + $277 = ($276|0)==(0|0); + if (!($277)) { + $278 = ((($0)) + 84|0); + $279 = HEAP32[$278>>2]|0; + $280 = ((($0)) + 92|0); + $281 = HEAP32[$280>>2]|0; + $282 = ($279|0)==($281|0); + if (!($282)) { + ___assert_fail((16364|0),(16331|0),2919,(16420|0)); + // unreachable; + } + } + $283 = HEAP16[$20>>1]|0; + $284 = ($283<<16>>16)==(0); + if (!($284)) { + $285 = $283&65535; + $286 = (((($16) + (($19*40)|0)|0)) + 4|0); + $287 = HEAP32[$286>>2]|0; + $288 = ($21|0)>(0); + $$341530$in = $285; + while(1) { + $$341530 = (($$341530$in) + -1)|0; + $293 = (($287) + (($$341530*3)|0)|0); + $294 = HEAP8[$293>>0]|0; + $295 = $294&255; + $296 = (((($0)) + 800|0) + ($295<<2)|0); + $297 = HEAP32[$296>>2]|0; + $298 = (((($287) + (($$341530*3)|0)|0)) + 1|0); + $299 = HEAP8[$298>>0]|0; + $300 = $299&255; + $301 = (((($0)) + 800|0) + ($300<<2)|0); + $302 = HEAP32[$301>>2]|0; + if ($288) { + $$442026 = 0; + while(1) { + $303 = (($297) + ($$442026<<2)|0); + $304 = +HEAPF32[$303>>2]; + $305 = $304 > 0.0; + $306 = (($302) + ($$442026<<2)|0); + $307 = +HEAPF32[$306>>2]; + $308 = $307 > 0.0; + do { + if ($305) { + if ($308) { + $309 = $304 - $307; + $$0409 = $304;$$0410 = $309; + break; + } else { + $310 = $304 + $307; + $$0409 = $310;$$0410 = $304; + break; + } + } else { + if ($308) { + $311 = $304 + $307; + $$0409 = $304;$$0410 = $311; + break; + } else { + $312 = $304 - $307; + $$0409 = $312;$$0410 = $304; + break; + } + } + } while(0); + HEAPF32[$303>>2] = $$0409; + HEAPF32[$306>>2] = $$0410; + $313 = (($$442026) + 1)|0; + $exitcond = ($313|0)==($21|0); + if ($exitcond) { + break; + } else { + $$442026 = $313; + } + } + } + $289 = ($$341530$in|0)>(1); + if ($289) { + $$341530$in = $$341530; + } else { + break; + } + } + } + $290 = HEAP32[$23>>2]|0; + $291 = ($290|0)>(0); + if ($291) { + $292 = $21 << 2; + $$424 = 0; + while(1) { + $316 = (($8) + ($$424<<2)|0); + $317 = HEAP32[$316>>2]|0; + $318 = ($317|0)==(0); + $319 = (((($0)) + 800|0) + ($$424<<2)|0); + $320 = HEAP32[$319>>2]|0; + if ($318) { + $321 = (((($0)) + 996|0) + ($$424<<2)|0); + $322 = HEAP32[$321>>2]|0; + _do_floor($0,$20,$$424,$14,$320,$322); + } else { + _memset(($320|0),0,($292|0))|0; + } + $323 = (($$424) + 1)|0; + $315 = HEAP32[$23>>2]|0; + $324 = ($323|0)<($315|0); + if ($324) { + $$424 = $323; + } else { + break; + } + } + $314 = ($315|0)>(0); + if ($314) { + $$523 = 0; + while(1) { + $325 = (((($0)) + 800|0) + ($$523<<2)|0); + $326 = HEAP32[$325>>2]|0; + $327 = HEAP8[$2>>0]|0; + $328 = $327&255; + _inverse_mdct($326,$14,$0,$328); + $329 = (($$523) + 1)|0; + $330 = HEAP32[$23>>2]|0; + $331 = ($329|0)<($330|0); + if ($331) { + $$523 = $329; + } else { + break; + } + } + } + } + _flush_packet($0); + $332 = ((($0)) + 1377|0); + $333 = HEAP8[$332>>0]|0; + $334 = ($333<<24>>24)==(0); + do { + if ($334) { + $339 = ((($0)) + 1412|0); + $340 = HEAP32[$339>>2]|0; + $341 = ($340|0)==(0); + if ($341) { + $$0411 = $3; + } else { + $342 = (($4) - ($3))|0; + $343 = ($340|0)<($342|0); + if ($343) { + $345 = (($340) + ($3))|0; + HEAP32[$6>>2] = $345; + HEAP32[$339>>2] = 0; + $$0411 = $345; + break; + } else { + $344 = (($340) - ($342))|0; + HEAP32[$339>>2] = $344; + HEAP32[$6>>2] = $4; + $$0411 = $4; + break; + } + } + } else { + $335 = ((($0)) + 1060|0); + HEAP32[$335>>2] = $22; + $336 = (($14) - ($5))|0; + $337 = ((($0)) + 1412|0); + HEAP32[$337>>2] = $336; + $338 = ((($0)) + 1064|0); + HEAP32[$338>>2] = 1; + HEAP8[$332>>0] = 0; + $$0411 = $3; + } + } while(0); + $346 = ((($0)) + 1388|0); + $347 = HEAP32[$346>>2]|0; + $348 = ((($0)) + 1404|0); + $349 = HEAP32[$348>>2]|0; + $350 = ($347|0)==($349|0); + if ($350) { + $351 = ((($0)) + 1064|0); + $352 = HEAP32[$351>>2]|0; + $353 = ($352|0)==(0); + if (!($353)) { + $354 = ((($0)) + 1375|0); + $355 = HEAP8[$354>>0]|0; + $356 = $355 & 4; + $357 = ($356<<24>>24)==(0); + if (!($357)) { + $358 = ((($0)) + 1408|0); + $359 = HEAP32[$358>>2]|0; + $360 = (($5) - ($14))|0; + $361 = (($359) + ($360))|0; + $362 = ((($0)) + 1060|0); + $363 = HEAP32[$362>>2]|0; + $364 = (($5) - ($$0411))|0; + $365 = (($364) + ($363))|0; + $366 = ($361>>>0)<($365>>>0); + $367 = ($361>>>0)<($363>>>0); + $368 = (($361) - ($363))|0; + $storemerge = $367 ? 0 : $368; + $369 = (($storemerge) + ($$0411))|0; + $370 = ($369|0)>($5|0); + $$13 = $370 ? $5 : $369; + if ($366) { + HEAP32[$1>>2] = $$13; + $371 = HEAP32[$362>>2]|0; + $372 = (($371) + ($$13))|0; + HEAP32[$362>>2] = $372; + $$3 = 1; + STACKTOP = sp;return ($$3|0); + } + } + } + $373 = ((($0)) + 1408|0); + $374 = HEAP32[$373>>2]|0; + $375 = (($$0411) - ($21))|0; + $376 = (($375) + ($374))|0; + $377 = ((($0)) + 1060|0); + HEAP32[$377>>2] = $376; + HEAP32[$351>>2] = 1; + } + $378 = ((($0)) + 1064|0); + $379 = HEAP32[$378>>2]|0; + $380 = ($379|0)==(0); + $381 = ((($0)) + 1060|0); + if (!($380)) { + $382 = (($4) - ($$0411))|0; + $383 = HEAP32[$381>>2]|0; + $384 = (($382) + ($383))|0; + HEAP32[$381>>2] = $384; + } + $385 = HEAP32[$217>>2]|0; + $386 = ($385|0)==(0|0); + if (!($386)) { + $387 = ((($0)) + 84|0); + $388 = HEAP32[$387>>2]|0; + $389 = ((($0)) + 92|0); + $390 = HEAP32[$389>>2]|0; + $391 = ($388|0)==($390|0); + if (!($391)) { + ___assert_fail((16364|0),(16331|0),3035,(16420|0)); + // unreachable; + } + } + HEAP32[$1>>2] = $5; + $$3 = 1; + STACKTOP = sp;return ($$3|0); +} +function _get_bits($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$2 = 0, $$pr = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($0)) + 1396|0); + $3 = HEAP32[$2>>2]|0; + $4 = ($3|0)<(0); + if ($4) { + $$2 = 0; + return ($$2|0); + } + $5 = ($3|0)<($1|0); + L4: do { + if ($5) { + $6 = ($1|0)>(24); + if ($6) { + $7 = (_get_bits($0,24)|0); + $8 = (($1) + -24)|0; + $9 = (_get_bits($0,$8)|0); + $10 = $9 << 24; + $11 = (($10) + ($7))|0; + return ($11|0); + } + $12 = ($3|0)==(0); + if ($12) { + $13 = ((($0)) + 1392|0); + HEAP32[$13>>2] = 0; + } + $14 = HEAP32[$2>>2]|0; + $15 = ($14|0)<($1|0); + if ($15) { + $16 = ((($0)) + 1392|0); + while(1) { + $17 = (_get8_packet_raw($0)|0); + $18 = ($17|0)==(-1); + if ($18) { + break; + } + $19 = HEAP32[$2>>2]|0; + $20 = $17 << $19; + $21 = HEAP32[$16>>2]|0; + $22 = (($21) + ($20))|0; + HEAP32[$16>>2] = $22; + $23 = (($19) + 8)|0; + HEAP32[$2>>2] = $23; + $24 = ($23|0)<($1|0); + if (!($24)) { + $26 = $23; + break L4; + } + } + HEAP32[$2>>2] = -1; + $$2 = 0; + return ($$2|0); + } else { + $26 = $14; + } + } else { + $$pr = HEAP32[$2>>2]|0; + $26 = $$pr; + } + } while(0); + $25 = ($26|0)<(0); + if ($25) { + $$2 = 0; + return ($$2|0); + } + $27 = ((($0)) + 1392|0); + $28 = HEAP32[$27>>2]|0; + $29 = 1 << $1; + $30 = (($29) + -1)|0; + $31 = $28 & $30; + $32 = $28 >>> $1; + HEAP32[$27>>2] = $32; + $33 = (($26) - ($1))|0; + HEAP32[$2>>2] = $33; + $$2 = $31; + return ($$2|0); +} +function _ilog($0) { + $0 = $0|0; + var $$0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ($0|0)<(0); + if ($1) { + $$0 = 0; + return ($$0|0); + } + $2 = ($0|0)<(16384); + if ($2) { + $3 = ($0|0)<(16); + if ($3) { + $4 = (16706 + ($0)|0); + $5 = HEAP8[$4>>0]|0; + $6 = $5 << 24 >> 24; + $$0 = $6; + return ($$0|0); + } + $7 = ($0|0)<(512); + if ($7) { + $8 = $0 >>> 5; + $9 = (16706 + ($8)|0); + $10 = HEAP8[$9>>0]|0; + $11 = $10 << 24 >> 24; + $12 = (($11) + 5)|0; + $$0 = $12; + return ($$0|0); + } else { + $13 = $0 >>> 10; + $14 = (16706 + ($13)|0); + $15 = HEAP8[$14>>0]|0; + $16 = $15 << 24 >> 24; + $17 = (($16) + 10)|0; + $$0 = $17; + return ($$0|0); + } + } + $18 = ($0|0)<(16777216); + if ($18) { + $19 = ($0|0)<(524288); + if ($19) { + $20 = $0 >>> 15; + $21 = (16706 + ($20)|0); + $22 = HEAP8[$21>>0]|0; + $23 = $22 << 24 >> 24; + $24 = (($23) + 15)|0; + $$0 = $24; + return ($$0|0); + } else { + $25 = $0 >>> 20; + $26 = (16706 + ($25)|0); + $27 = HEAP8[$26>>0]|0; + $28 = $27 << 24 >> 24; + $29 = (($28) + 20)|0; + $$0 = $29; return ($$0|0); } } else { - $3 = ((($z)) + 40|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($1>>>0)<($4>>>0); - if ($5) { - $7 = ((($1)) + 1|0); - HEAP32[$0>>2] = $7; - $8 = HEAP8[$1>>0]|0; - $$0 = $8; + $30 = ($0|0)<(536870912); + if ($30) { + $31 = $0 >>> 25; + $32 = (16706 + ($31)|0); + $33 = HEAP8[$32>>0]|0; + $34 = $33 << 24 >> 24; + $35 = (($34) + 25)|0; + $$0 = $35; return ($$0|0); } else { - $6 = ((($z)) + 96|0); - HEAP32[$6>>2] = 1; - $$0 = 0; + $36 = $0 >>> 30; + $37 = (16706 + ($36)|0); + $38 = HEAP8[$37>>0]|0; + $39 = $38 << 24 >> 24; + $40 = (($39) + 30)|0; + $$0 = $40; return ($$0|0); } } return (0)|0; } -function _crc32_update($crc,$byte) { - $crc = $crc|0; - $byte = $byte|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; +function _prep_huffman($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; + var label = 0, sp = 0; sp = STACKTOP; - $0 = $crc << 8; - $1 = $byte&255; - $2 = $crc >>> 24; - $3 = $1 ^ $2; - $4 = (5804 + ($3<<2)|0); - $5 = HEAP32[$4>>2]|0; - $6 = $5 ^ $0; - return ($6|0); + $1 = ((($0)) + 1396|0); + $2 = HEAP32[$1>>2]|0; + $3 = ($2|0)<(25); + if (!($3)) { + return; + } + $4 = ($2|0)==(0); + if ($4) { + $5 = ((($0)) + 1392|0); + HEAP32[$5>>2] = 0; + } + $6 = ((($0)) + 1376|0); + $7 = ((($0)) + 1384|0); + $8 = ((($0)) + 1392|0); + while(1) { + $9 = HEAP32[$7>>2]|0; + $10 = ($9|0)==(0); + if (!($10)) { + $11 = HEAP8[$6>>0]|0; + $12 = ($11<<24>>24)==(0); + if ($12) { + label = 9; + break; + } + } + $13 = (_get8_packet_raw($0)|0); + $14 = ($13|0)==(-1); + if ($14) { + label = 9; + break; + } + $15 = HEAP32[$1>>2]|0; + $16 = $13 << $15; + $17 = HEAP32[$8>>2]|0; + $18 = (($17) + ($16))|0; + HEAP32[$8>>2] = $18; + $19 = (($15) + 8)|0; + HEAP32[$1>>2] = $19; + $20 = ($19|0)<(25); + if (!($20)) { + label = 9; + break; + } + } + if ((label|0) == 9) { + return; + } } -function _get8_packet_raw($f) { - $f = $f|0; - var $$0 = 0, $$pr = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; +function _codebook_decode_scalar_raw($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $$06574 = 0, $$06676 = 0, $$068$lcssa = 0, $$06875 = 0, $$1 = 0, $$167 = 0, $$169 = 0, $$2 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0; + var $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0; + var $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0; + var $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0; + var $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $9 = 0, $storemerge = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = ((($f)) + 1376|0); - $1 = HEAP8[$0>>0]|0; - $2 = ($1<<24>>24)==(0); - if ($2) { - $3 = ((($f)) + 1384|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)==(0); - if (!($5)) { - $$0 = -1; - return ($$0|0); - } - $6 = (_next_segment($f)|0); - $7 = ($6|0)==(0); + _prep_huffman($0); + $2 = ((($1)) + 32|0); + $3 = HEAP32[$2>>2]|0; + $4 = ($3|0)==(0|0); + if ($4) { + $5 = ((($1)) + 2084|0); + $6 = HEAP32[$5>>2]|0; + $7 = ($6|0)==(0|0); if ($7) { - $$0 = -1; - return ($$0|0); + $$1 = -1; + return ($$1|0); } - $$pr = HEAP8[$0>>0]|0; - $8 = ($$pr<<24>>24)==(0); - if ($8) { - ___assert_fail((14768|0),(14642|0),1132,(14788|0)); - // unreachable; - } else { - $10 = $$pr; + } + $8 = ((($1)) + 4|0); + $9 = HEAP32[$8>>2]|0; + $10 = ($9|0)>(8); + if ($10) { + $11 = ((($1)) + 2084|0); + $12 = HEAP32[$11>>2]|0; + $13 = ($12|0)==(0|0); + if (!($13)) { + label = 6; } } else { - $10 = $1; - } - $9 = (($10) + -1)<<24>>24; - HEAP8[$0>>0] = $9; - $11 = ((($f)) + 1400|0); - $12 = HEAP32[$11>>2]|0; - $13 = (($12) + 1)|0; - HEAP32[$11>>2] = $13; - $14 = (_get8($f)|0); - $15 = $14&255; - $$0 = $15; - return ($$0|0); -} -function _next_segment($f) { - $f = $f|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($f)) + 1384|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)==(0); - if (!($2)) { - $$0 = 0; - return ($$0|0); - } - $3 = ((($f)) + 1380|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)==(-1); - if ($5) { - $6 = ((($f)) + 1116|0); - $7 = HEAP32[$6>>2]|0; - $8 = (($7) + -1)|0; - $9 = ((($f)) + 1388|0); - HEAP32[$9>>2] = $8; - $10 = (_start_page($f)|0); - $11 = ($10|0)==(0); - if ($11) { - HEAP32[$0>>2] = 1; - $$0 = 0; - return ($$0|0); - } - $12 = ((($f)) + 1375|0); - $13 = HEAP8[$12>>0]|0; - $14 = $13 & 1; - $15 = ($14<<24>>24)==(0); + $14 = HEAP32[$2>>2]|0; + $15 = ($14|0)==(0|0); if ($15) { - _error($f,32); - $$0 = 0; - return ($$0|0); + label = 6; } } - $16 = HEAP32[$3>>2]|0; - $17 = (($16) + 1)|0; - HEAP32[$3>>2] = $17; - $18 = (((($f)) + 1120|0) + ($16)|0); - $19 = HEAP8[$18>>0]|0; - $20 = $19&255; - $21 = ($19<<24>>24)==(-1); - if (!($21)) { - HEAP32[$0>>2] = 1; - $22 = HEAP32[$3>>2]|0; - $23 = (($22) + -1)|0; - $24 = ((($f)) + 1388|0); - HEAP32[$24>>2] = $23; + if ((label|0) == 6) { + $16 = ((($0)) + 1392|0); + $17 = HEAP32[$16>>2]|0; + $18 = (_bit_reverse($17)|0); + $19 = ((($1)) + 2092|0); + $20 = HEAP32[$19>>2]|0; + $21 = ($20|0)>(1); + if ($21) { + $22 = ((($1)) + 2084|0); + $23 = HEAP32[$22>>2]|0; + $$06676 = $20;$$06875 = 0; + while(1) { + $24 = $$06676 >>> 1; + $25 = (($24) + ($$06875))|0; + $26 = (($23) + ($25<<2)|0); + $27 = HEAP32[$26>>2]|0; + $28 = ($27>>>0)>($18>>>0); + $29 = (($$06676) - ($24))|0; + $$169 = $28 ? $$06875 : $25; + $$167 = $28 ? $24 : $29; + $30 = ($$167|0)>(1); + if ($30) { + $$06676 = $$167;$$06875 = $$169; + } else { + $$068$lcssa = $$169; + break; + } + } + } else { + $$068$lcssa = 0; + } + $31 = ((($1)) + 23|0); + $32 = HEAP8[$31>>0]|0; + $33 = ($32<<24>>24)==(0); + if ($33) { + $34 = ((($1)) + 2088|0); + $35 = HEAP32[$34>>2]|0; + $36 = (($35) + ($$068$lcssa<<2)|0); + $37 = HEAP32[$36>>2]|0; + $$2 = $37; + } else { + $$2 = $$068$lcssa; + } + $38 = ((($1)) + 8|0); + $39 = HEAP32[$38>>2]|0; + $40 = (($39) + ($$2)|0); + $41 = HEAP8[$40>>0]|0; + $42 = $41&255; + $43 = ((($0)) + 1396|0); + $44 = HEAP32[$43>>2]|0; + $45 = ($44|0)<($42|0); + if ($45) { + $$0 = -1;$storemerge = 0; + } else { + $46 = (($44) - ($42))|0; + $47 = HEAP32[$16>>2]|0; + $48 = $47 >>> $42; + HEAP32[$16>>2] = $48; + $$0 = $$2;$storemerge = $46; + } + HEAP32[$43>>2] = $storemerge; + $$1 = $$0; + return ($$1|0); } - $25 = HEAP32[$3>>2]|0; - $26 = ((($f)) + 1116|0); - $27 = HEAP32[$26>>2]|0; - $28 = ($25|0)<($27|0); - if (!($28)) { - HEAP32[$3>>2] = -1; - } - $29 = ((($f)) + 1376|0); - $30 = HEAP8[$29>>0]|0; - $31 = ($30<<24>>24)==(0); - if (!($31)) { - ___assert_fail((14804|0),(14642|0),1118,(14825|0)); + $49 = ((($1)) + 23|0); + $50 = HEAP8[$49>>0]|0; + $51 = ($50<<24>>24)==(0); + if (!($51)) { + ___assert_fail((16668|0),(16331|0),1254,(16679|0)); // unreachable; } - HEAP8[$29>>0] = $19; - $$0 = $20; + $52 = HEAP32[$8>>2]|0; + $53 = ($52|0)>(0); + L26: do { + if ($53) { + $54 = ((($1)) + 8|0); + $55 = HEAP32[$54>>2]|0; + $56 = ((($0)) + 1392|0); + $$06574 = 0; + while(1) { + $57 = (($55) + ($$06574)|0); + $58 = HEAP8[$57>>0]|0; + $59 = $58&255; + $60 = ($58<<24>>24)==(-1); + if (!($60)) { + $61 = HEAP32[$2>>2]|0; + $62 = (($61) + ($$06574<<2)|0); + $63 = HEAP32[$62>>2]|0; + $64 = HEAP32[$56>>2]|0; + $65 = 1 << $59; + $66 = (($65) + -1)|0; + $67 = $64 & $66; + $68 = ($63|0)==($67|0); + if ($68) { + break; + } + } + $76 = (($$06574) + 1)|0; + $77 = HEAP32[$8>>2]|0; + $78 = ($76|0)<($77|0); + if ($78) { + $$06574 = $76; + } else { + break L26; + } + } + $69 = ((($0)) + 1396|0); + $70 = HEAP32[$69>>2]|0; + $71 = ($70|0)<($59|0); + if ($71) { + HEAP32[$69>>2] = 0; + $$1 = -1; + return ($$1|0); + } else { + $72 = $64 >>> $59; + HEAP32[$56>>2] = $72; + $73 = HEAP8[$57>>0]|0; + $74 = $73&255; + $75 = (($70) - ($74))|0; + HEAP32[$69>>2] = $75; + $$1 = $$06574; + return ($$1|0); + } + } + } while(0); + _error($0,21); + $79 = ((($0)) + 1396|0); + HEAP32[$79>>2] = 0; + $$1 = -1; + return ($$1|0); +} +function _predict_point($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$p = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $ispos = 0, $neg = 0, label = 0, sp = 0; + sp = STACKTOP; + $5 = (($4) - ($3))|0; + $6 = (($2) - ($1))|0; + $ispos = ($5|0)>(-1); + $neg = (0 - ($5))|0; + $7 = $ispos ? $5 : $neg; + $8 = (($0) - ($1))|0; + $9 = Math_imul($7, $8)|0; + $10 = (($9|0) / ($6|0))&-1; + $11 = ($5|0)<(0); + $12 = (0 - ($10))|0; + $$p = $11 ? $12 : $10; + $13 = (($$p) + ($3))|0; + return ($13|0); +} +function _decode_residue($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + var $$ = 0, $$0434$lcssa = 0, $$0434590 = 0, $$0437586 = 0, $$0439574 = 0, $$0444572 = 0, $$0465608 = 0, $$0466607 = 0, $$0613 = 0, $$1435596 = 0, $$1438611 = 0, $$1440$lcssa = 0, $$1440567 = 0, $$1451 = 0, $$1463 = 0, $$1467$lcssa = 0, $$1467603 = 0, $$1469 = 0, $$1472 = 0, $$1568 = 0; + var $$2436599 = 0, $$2446562 = 0, $$2452 = 0, $$2464 = 0, $$2470 = 0, $$2473 = 0, $$2561 = 0, $$3442564 = 0, $$3578 = 0, $$4443$lcssa = 0, $$4443560 = 0, $$4448582 = 0, $$4605 = 0, $$477 = 0, $$480 = 0, $$481 = 0, $$484 = 0, $$485 = 0, $$488 = 0, $$489 = 0; + var $$6584 = 0, $$7$lcssa = 0, $$7577 = 0, $$alloca_mul = 0, $$not = 0, $$not617 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0; + var $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0; + var $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0; + var $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0; + var $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0; + var $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0; + var $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0; + var $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0; + var $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0; + var $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0; + var $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0; + var $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0; + var $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0; + var $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0; + var $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0; + var $367 = 0, $368 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0; + var $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0; + var $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0; + var $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $brmerge = 0, $exitcond = 0, $not$ = 0, $not$521 = 0, $not$522 = 0, $not$523 = 0, $or$cond = 0, $or$cond478 = 0, $or$cond478566 = 0, $or$cond482 = 0, $or$cond482559 = 0; + var $or$cond486 = 0, $or$cond486576 = 0, $or$cond490 = 0, $or$cond490602 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $6 = sp + 4|0; + $7 = sp; + $8 = ((($0)) + 396|0); + $9 = HEAP32[$8>>2]|0; + $10 = (((($0)) + 268|0) + ($4<<1)|0); + $11 = HEAP16[$10>>1]|0; + $12 = $11&65535; + $13 = (((($9) + (($4*24)|0)|0)) + 13|0); + $14 = HEAP8[$13>>0]|0; + $15 = $14&255; + $16 = ((($0)) + 124|0); + $17 = HEAP32[$16>>2]|0; + $18 = (($17) + (($15*2096)|0)|0); + $19 = HEAP32[$18>>2]|0; + $20 = (((($9) + (($4*24)|0)|0)) + 4|0); + $21 = HEAP32[$20>>2]|0; + $22 = (($9) + (($4*24)|0)|0); + $23 = HEAP32[$22>>2]|0; + $24 = (($21) - ($23))|0; + $25 = (((($9) + (($4*24)|0)|0)) + 8|0); + $26 = HEAP32[$25>>2]|0; + $27 = (($24>>>0) / ($26>>>0))&-1; + $28 = ((($0)) + 92|0); + $29 = HEAP32[$28>>2]|0; + $30 = ((($0)) + 80|0); + $31 = HEAP32[$30>>2]|0; + $32 = ($31|0)==(0|0); + $33 = $27 << 2; + $34 = (($33) + 4)|0; + $35 = ((($0)) + 4|0); + $36 = HEAP32[$35>>2]|0; + $37 = Math_imul($36, $34)|0; + if ($32) { + $$alloca_mul = $37; + $39 = STACKTOP; STACKTOP = STACKTOP + ((((1*$$alloca_mul)|0)+15)&-16)|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(((((1*$$alloca_mul)|0)+15)&-16)|0);; + $41 = $39; + } else { + $38 = (_setup_temp_malloc($0,$37)|0); + $41 = $38; + } + $40 = HEAP32[$35>>2]|0; + $42 = (_make_block_array($41,$40,$33)|0); + $43 = ($2|0)>(0); + if ($43) { + $44 = $3 << 2; + $$0613 = 0; + while(1) { + $45 = (($5) + ($$0613)|0); + $46 = HEAP8[$45>>0]|0; + $47 = ($46<<24>>24)==(0); + if ($47) { + $48 = (($1) + ($$0613<<2)|0); + $49 = HEAP32[$48>>2]|0; + _memset(($49|0),0,($44|0))|0; + } + $50 = (($$0613) + 1)|0; + $exitcond = ($50|0)==($2|0); + if ($exitcond) { + break; + } else { + $$0613 = $50; + } + } + } + $51 = ($11<<16>>16)==(2); + $52 = ($2|0)!=(1); + $or$cond = $52 & $51; + if (!($or$cond)) { + $53 = ($27|0)>(0); + $54 = ($19|0)>(0); + $55 = ($2|0)>(0); + $56 = (((($9) + (($4*24)|0)|0)) + 20|0); + $57 = ((($0)) + 1396|0); + $58 = ((($0)) + 1392|0); + $59 = (((($9) + (($4*24)|0)|0)) + 16|0); + $$not617 = ($2|0)<(1); + $$1438611 = 0; + L15: while(1) { + if ($53) { + $$not = ($$1438611|0)!=(0); + $brmerge = $$not | $$not617; + $$0465608 = 0;$$0466607 = 0; + while(1) { + if (!($brmerge)) { + $$1435596 = 0; + while(1) { + $294 = (($5) + ($$1435596)|0); + $295 = HEAP8[$294>>0]|0; + $296 = ($295<<24>>24)==(0); + if ($296) { + $297 = HEAP32[$16>>2]|0; + $298 = HEAP8[$13>>0]|0; + $299 = $298&255; + $300 = (($297) + (($299*2096)|0)|0); + $301 = HEAP32[$57>>2]|0; + $302 = ($301|0)<(10); + if ($302) { + _prep_huffman($0); + } + $303 = HEAP32[$58>>2]|0; + $304 = $303 & 1023; + $305 = ((((($297) + (($299*2096)|0)|0)) + 36|0) + ($304<<1)|0); + $306 = HEAP16[$305>>1]|0; + $307 = $306 << 16 >> 16; + $308 = ($306<<16>>16)>(-1); + if ($308) { + $309 = (((($297) + (($299*2096)|0)|0)) + 8|0); + $310 = HEAP32[$309>>2]|0; + $311 = (($310) + ($307)|0); + $312 = HEAP8[$311>>0]|0; + $313 = $312&255; + $314 = $303 >>> $313; + HEAP32[$58>>2] = $314; + $315 = HEAP32[$57>>2]|0; + $316 = (($315) - ($313))|0; + $317 = ($316|0)<(0); + $$488 = $317 ? 0 : $316; + $$489 = $317 ? -1 : $307; + HEAP32[$57>>2] = $$488; + $$1463 = $$489; + } else { + $318 = (_codebook_decode_scalar_raw($0,$300)|0); + $$1463 = $318; + } + $319 = (((($297) + (($299*2096)|0)|0)) + 23|0); + $320 = HEAP8[$319>>0]|0; + $321 = ($320<<24>>24)==(0); + if ($321) { + $$2464 = $$1463; + } else { + $322 = (((($297) + (($299*2096)|0)|0)) + 2088|0); + $323 = HEAP32[$322>>2]|0; + $324 = (($323) + ($$1463<<2)|0); + $325 = HEAP32[$324>>2]|0; + $$2464 = $325; + } + $326 = ($$2464|0)==(-1); + if ($326) { + label = 98; + break L15; + } + $327 = HEAP32[$59>>2]|0; + $328 = (($327) + ($$2464<<2)|0); + $329 = HEAP32[$328>>2]|0; + $330 = (($41) + ($$1435596<<2)|0); + $331 = HEAP32[$330>>2]|0; + $332 = (($331) + ($$0465608<<2)|0); + HEAP32[$332>>2] = $329; + } + $333 = (($$1435596) + 1)|0; + $334 = ($333|0)<($2|0); + if ($334) { + $$1435596 = $333; + } else { + break; + } + } + } + $293 = ($$0466607|0)<($27|0); + $or$cond490602 = $293 & $54; + if ($or$cond490602) { + $$1467603 = $$0466607;$$4605 = 0; + while(1) { + if ($55) { + $$2436599 = 0; + while(1) { + $335 = (($5) + ($$2436599)|0); + $336 = HEAP8[$335>>0]|0; + $337 = ($336<<24>>24)==(0); + if ($337) { + $338 = (($41) + ($$2436599<<2)|0); + $339 = HEAP32[$338>>2]|0; + $340 = (($339) + ($$0465608<<2)|0); + $341 = HEAP32[$340>>2]|0; + $342 = (($341) + ($$4605)|0); + $343 = HEAP8[$342>>0]|0; + $344 = $343&255; + $345 = HEAP32[$56>>2]|0; + $346 = ((($345) + ($344<<4)|0) + ($$1438611<<1)|0); + $347 = HEAP16[$346>>1]|0; + $348 = ($347<<16>>16)>(-1); + if ($348) { + $349 = $347 << 16 >> 16; + $350 = (($1) + ($$2436599<<2)|0); + $351 = HEAP32[$350>>2]|0; + $352 = HEAP32[$22>>2]|0; + $353 = HEAP32[$25>>2]|0; + $354 = Math_imul($353, $$1467603)|0; + $355 = (($354) + ($352))|0; + $356 = HEAP32[$16>>2]|0; + $357 = (($356) + (($349*2096)|0)|0); + $358 = (_residue_decode($0,$357,$351,$355,$353,$12)|0); + $not$ = ($358|0)==(0); + if ($not$) { + label = 98; + break L15; + } + } + } + $359 = (($$2436599) + 1)|0; + $360 = ($359|0)<($2|0); + if ($360) { + $$2436599 = $359; + } else { + break; + } + } + } + $361 = (($$4605) + 1)|0; + $362 = (($$1467603) + 1)|0; + $363 = ($361|0)<($19|0); + $364 = ($362|0)<($27|0); + $or$cond490 = $364 & $363; + if ($or$cond490) { + $$1467603 = $362;$$4605 = $361; + } else { + $$1467$lcssa = $362; + break; + } + } + } else { + $$1467$lcssa = $$0466607; + } + $365 = (($$0465608) + 1)|0; + $366 = ($$1467$lcssa|0)<($27|0); + if ($366) { + $$0465608 = $365;$$0466607 = $$1467$lcssa; + } else { + break; + } + } + } + $367 = (($$1438611) + 1)|0; + $368 = ($367|0)<(8); + if ($368) { + $$1438611 = $367; + } else { + label = 98; + break; + } + } + if ((label|0) == 98) { + HEAP32[$28>>2] = $29; + STACKTOP = sp;return; + } + } + $60 = ($2|0)>(0); + L57: do { + if ($60) { + $$0434590 = 0; + while(1) { + $61 = (($5) + ($$0434590)|0); + $62 = HEAP8[$61>>0]|0; + $63 = ($62<<24>>24)==(0); + if ($63) { + $$0434$lcssa = $$0434590; + break L57; + } + $64 = (($$0434590) + 1)|0; + $65 = ($64|0)<($2|0); + if ($65) { + $$0434590 = $64; + } else { + $$0434$lcssa = $64; + break; + } + } + } else { + $$0434$lcssa = 0; + } + } while(0); + $66 = ($$0434$lcssa|0)==($2|0); + if ($66) { + HEAP32[$28>>2] = $29; + STACKTOP = sp;return; + } + $67 = ($27|0)>(0); + $68 = ((($0)) + 1396|0); + $69 = ((($0)) + 1392|0); + $70 = (((($9) + (($4*24)|0)|0)) + 16|0); + $71 = ($19|0)>(0); + $72 = (((($9) + (($4*24)|0)|0)) + 20|0); + $73 = ($27|0)>(0); + $74 = ((($0)) + 1396|0); + $75 = ((($0)) + 1392|0); + $76 = (((($9) + (($4*24)|0)|0)) + 16|0); + $77 = ($19|0)>(0); + $78 = (((($9) + (($4*24)|0)|0)) + 20|0); + $79 = ($27|0)>(0); + $80 = ((($0)) + 1396|0); + $81 = ((($0)) + 1392|0); + $82 = (((($9) + (($4*24)|0)|0)) + 16|0); + $83 = ($19|0)>(0); + $84 = (((($9) + (($4*24)|0)|0)) + 20|0); + $$0437586 = 0; + L65: while(1) { + switch ($2|0) { + case 2: { + if ($73) { + $86 = ($$0437586|0)==(0); + $$0439574 = 0;$$0444572 = 0; + while(1) { + $88 = HEAP32[$22>>2]|0; + $89 = HEAP32[$25>>2]|0; + $90 = Math_imul($89, $$0439574)|0; + $91 = (($90) + ($88))|0; + $92 = $91 & 1; + HEAP32[$6>>2] = $92; + $93 = $91 >> 1; + HEAP32[$7>>2] = $93; + if ($86) { + $94 = HEAP32[$16>>2]|0; + $95 = HEAP8[$13>>0]|0; + $96 = $95&255; + $97 = (($94) + (($96*2096)|0)|0); + $98 = HEAP32[$74>>2]|0; + $99 = ($98|0)<(10); + if ($99) { + _prep_huffman($0); + } + $100 = HEAP32[$75>>2]|0; + $101 = $100 & 1023; + $102 = ((((($94) + (($96*2096)|0)|0)) + 36|0) + ($101<<1)|0); + $103 = HEAP16[$102>>1]|0; + $104 = $103 << 16 >> 16; + $105 = ($103<<16>>16)>(-1); + if ($105) { + $106 = (((($94) + (($96*2096)|0)|0)) + 8|0); + $107 = HEAP32[$106>>2]|0; + $108 = (($107) + ($104)|0); + $109 = HEAP8[$108>>0]|0; + $110 = $109&255; + $111 = $100 >>> $110; + HEAP32[$75>>2] = $111; + $112 = HEAP32[$74>>2]|0; + $113 = (($112) - ($110))|0; + $114 = ($113|0)<(0); + $$ = $114 ? 0 : $113; + $$477 = $114 ? -1 : $104; + HEAP32[$74>>2] = $$; + $$1451 = $$477; + } else { + $115 = (_codebook_decode_scalar_raw($0,$97)|0); + $$1451 = $115; + } + $116 = (((($94) + (($96*2096)|0)|0)) + 23|0); + $117 = HEAP8[$116>>0]|0; + $118 = ($117<<24>>24)==(0); + if ($118) { + $$2452 = $$1451; + } else { + $119 = (((($94) + (($96*2096)|0)|0)) + 2088|0); + $120 = HEAP32[$119>>2]|0; + $121 = (($120) + ($$1451<<2)|0); + $122 = HEAP32[$121>>2]|0; + $$2452 = $122; + } + $123 = ($$2452|0)==(-1); + if ($123) { + label = 38; + break L65; + } + $124 = HEAP32[$76>>2]|0; + $125 = (($124) + ($$2452<<2)|0); + $126 = HEAP32[$125>>2]|0; + $127 = HEAP32[$41>>2]|0; + $128 = (($127) + ($$0444572<<2)|0); + HEAP32[$128>>2] = $126; + } + $129 = ($$0439574|0)<($27|0); + $or$cond478566 = $129 & $77; + if ($or$cond478566) { + $$1440567 = $$0439574;$$1568 = 0; + while(1) { + $130 = HEAP32[$25>>2]|0; + $131 = HEAP32[$41>>2]|0; + $132 = (($131) + ($$0444572<<2)|0); + $133 = HEAP32[$132>>2]|0; + $134 = (($133) + ($$1568)|0); + $135 = HEAP8[$134>>0]|0; + $136 = $135&255; + $137 = HEAP32[$78>>2]|0; + $138 = ((($137) + ($136<<4)|0) + ($$0437586<<1)|0); + $139 = HEAP16[$138>>1]|0; + $140 = ($139<<16>>16)>(-1); + if ($140) { + $141 = $139 << 16 >> 16; + $142 = HEAP32[$16>>2]|0; + $143 = (($142) + (($141*2096)|0)|0); + $144 = (_codebook_decode_deinterleave_repeat($0,$143,$1,$2,$6,$7,$3,$130)|0); + $not$522 = ($144|0)==(0); + if ($not$522) { + label = 38; + break L65; + } + } else { + $145 = HEAP32[$22>>2]|0; + $146 = Math_imul($130, $$1440567)|0; + $147 = (($146) + ($130))|0; + $148 = (($147) + ($145))|0; + $149 = $148 & 1; + HEAP32[$6>>2] = $149; + $150 = $148 >> 1; + HEAP32[$7>>2] = $150; + } + $151 = (($$1568) + 1)|0; + $152 = (($$1440567) + 1)|0; + $153 = ($151|0)<($19|0); + $154 = ($152|0)<($27|0); + $or$cond478 = $154 & $153; + if ($or$cond478) { + $$1440567 = $152;$$1568 = $151; + } else { + $$1440$lcssa = $152; + break; + } + } + } else { + $$1440$lcssa = $$0439574; + } + $155 = (($$0444572) + 1)|0; + $156 = ($$1440$lcssa|0)<($27|0); + if ($156) { + $$0439574 = $$1440$lcssa;$$0444572 = $155; + } else { + break; + } + } + } + break; + } + case 1: { + if ($79) { + $85 = ($$0437586|0)==(0); + $$2446562 = 0;$$3442564 = 0; + while(1) { + $157 = HEAP32[$22>>2]|0; + $158 = HEAP32[$25>>2]|0; + $159 = Math_imul($158, $$3442564)|0; + $160 = (($159) + ($157))|0; + HEAP32[$6>>2] = 0; + HEAP32[$7>>2] = $160; + if ($85) { + $161 = HEAP32[$16>>2]|0; + $162 = HEAP8[$13>>0]|0; + $163 = $162&255; + $164 = (($161) + (($163*2096)|0)|0); + $165 = HEAP32[$80>>2]|0; + $166 = ($165|0)<(10); + if ($166) { + _prep_huffman($0); + } + $167 = HEAP32[$81>>2]|0; + $168 = $167 & 1023; + $169 = ((((($161) + (($163*2096)|0)|0)) + 36|0) + ($168<<1)|0); + $170 = HEAP16[$169>>1]|0; + $171 = $170 << 16 >> 16; + $172 = ($170<<16>>16)>(-1); + if ($172) { + $173 = (((($161) + (($163*2096)|0)|0)) + 8|0); + $174 = HEAP32[$173>>2]|0; + $175 = (($174) + ($171)|0); + $176 = HEAP8[$175>>0]|0; + $177 = $176&255; + $178 = $167 >>> $177; + HEAP32[$81>>2] = $178; + $179 = HEAP32[$80>>2]|0; + $180 = (($179) - ($177))|0; + $181 = ($180|0)<(0); + $$480 = $181 ? 0 : $180; + $$481 = $181 ? -1 : $171; + HEAP32[$80>>2] = $$480; + $$1469 = $$481; + } else { + $182 = (_codebook_decode_scalar_raw($0,$164)|0); + $$1469 = $182; + } + $183 = (((($161) + (($163*2096)|0)|0)) + 23|0); + $184 = HEAP8[$183>>0]|0; + $185 = ($184<<24>>24)==(0); + if ($185) { + $$2470 = $$1469; + } else { + $186 = (((($161) + (($163*2096)|0)|0)) + 2088|0); + $187 = HEAP32[$186>>2]|0; + $188 = (($187) + ($$1469<<2)|0); + $189 = HEAP32[$188>>2]|0; + $$2470 = $189; + } + $190 = ($$2470|0)==(-1); + if ($190) { + label = 55; + break L65; + } + $191 = HEAP32[$82>>2]|0; + $192 = (($191) + ($$2470<<2)|0); + $193 = HEAP32[$192>>2]|0; + $194 = HEAP32[$41>>2]|0; + $195 = (($194) + ($$2446562<<2)|0); + HEAP32[$195>>2] = $193; + } + $196 = ($$3442564|0)<($27|0); + $or$cond482559 = $196 & $83; + if ($or$cond482559) { + $$2561 = 0;$$4443560 = $$3442564; + while(1) { + $197 = HEAP32[$25>>2]|0; + $198 = HEAP32[$41>>2]|0; + $199 = (($198) + ($$2446562<<2)|0); + $200 = HEAP32[$199>>2]|0; + $201 = (($200) + ($$2561)|0); + $202 = HEAP8[$201>>0]|0; + $203 = $202&255; + $204 = HEAP32[$84>>2]|0; + $205 = ((($204) + ($203<<4)|0) + ($$0437586<<1)|0); + $206 = HEAP16[$205>>1]|0; + $207 = ($206<<16>>16)>(-1); + if ($207) { + $208 = $206 << 16 >> 16; + $209 = HEAP32[$16>>2]|0; + $210 = (($209) + (($208*2096)|0)|0); + $211 = (_codebook_decode_deinterleave_repeat($0,$210,$1,$2,$6,$7,$3,$197)|0); + $not$521 = ($211|0)==(0); + if ($not$521) { + label = 55; + break L65; + } + } else { + $212 = HEAP32[$22>>2]|0; + $213 = Math_imul($197, $$4443560)|0; + $214 = (($213) + ($197))|0; + $215 = (($214) + ($212))|0; + HEAP32[$6>>2] = 0; + HEAP32[$7>>2] = $215; + } + $216 = (($$2561) + 1)|0; + $217 = (($$4443560) + 1)|0; + $218 = ($216|0)<($19|0); + $219 = ($217|0)<($27|0); + $or$cond482 = $219 & $218; + if ($or$cond482) { + $$2561 = $216;$$4443560 = $217; + } else { + $$4443$lcssa = $217; + break; + } + } + } else { + $$4443$lcssa = $$3442564; + } + $220 = (($$2446562) + 1)|0; + $221 = ($$4443$lcssa|0)<($27|0); + if ($221) { + $$2446562 = $220;$$3442564 = $$4443$lcssa; + } else { + break; + } + } + } + break; + } + default: { + if ($67) { + $87 = ($$0437586|0)==(0); + $$4448582 = 0;$$6584 = 0; + while(1) { + $222 = HEAP32[$22>>2]|0; + $223 = HEAP32[$25>>2]|0; + $224 = Math_imul($223, $$6584)|0; + $225 = (($224) + ($222))|0; + $226 = (($225|0) % ($2|0))&-1; + HEAP32[$6>>2] = $226; + $227 = (($225|0) / ($2|0))&-1; + HEAP32[$7>>2] = $227; + if ($87) { + $228 = HEAP32[$16>>2]|0; + $229 = HEAP8[$13>>0]|0; + $230 = $229&255; + $231 = (($228) + (($230*2096)|0)|0); + $232 = HEAP32[$68>>2]|0; + $233 = ($232|0)<(10); + if ($233) { + _prep_huffman($0); + } + $234 = HEAP32[$69>>2]|0; + $235 = $234 & 1023; + $236 = ((((($228) + (($230*2096)|0)|0)) + 36|0) + ($235<<1)|0); + $237 = HEAP16[$236>>1]|0; + $238 = $237 << 16 >> 16; + $239 = ($237<<16>>16)>(-1); + if ($239) { + $240 = (((($228) + (($230*2096)|0)|0)) + 8|0); + $241 = HEAP32[$240>>2]|0; + $242 = (($241) + ($238)|0); + $243 = HEAP8[$242>>0]|0; + $244 = $243&255; + $245 = $234 >>> $244; + HEAP32[$69>>2] = $245; + $246 = HEAP32[$68>>2]|0; + $247 = (($246) - ($244))|0; + $248 = ($247|0)<(0); + $$484 = $248 ? 0 : $247; + $$485 = $248 ? -1 : $238; + HEAP32[$68>>2] = $$484; + $$1472 = $$485; + } else { + $249 = (_codebook_decode_scalar_raw($0,$231)|0); + $$1472 = $249; + } + $250 = (((($228) + (($230*2096)|0)|0)) + 23|0); + $251 = HEAP8[$250>>0]|0; + $252 = ($251<<24>>24)==(0); + if ($252) { + $$2473 = $$1472; + } else { + $253 = (((($228) + (($230*2096)|0)|0)) + 2088|0); + $254 = HEAP32[$253>>2]|0; + $255 = (($254) + ($$1472<<2)|0); + $256 = HEAP32[$255>>2]|0; + $$2473 = $256; + } + $257 = ($$2473|0)==(-1); + if ($257) { + label = 72; + break L65; + } + $258 = HEAP32[$70>>2]|0; + $259 = (($258) + ($$2473<<2)|0); + $260 = HEAP32[$259>>2]|0; + $261 = HEAP32[$41>>2]|0; + $262 = (($261) + ($$4448582<<2)|0); + HEAP32[$262>>2] = $260; + } + $263 = ($$6584|0)<($27|0); + $or$cond486576 = $263 & $71; + if ($or$cond486576) { + $$3578 = 0;$$7577 = $$6584; + while(1) { + $264 = HEAP32[$25>>2]|0; + $265 = HEAP32[$41>>2]|0; + $266 = (($265) + ($$4448582<<2)|0); + $267 = HEAP32[$266>>2]|0; + $268 = (($267) + ($$3578)|0); + $269 = HEAP8[$268>>0]|0; + $270 = $269&255; + $271 = HEAP32[$72>>2]|0; + $272 = ((($271) + ($270<<4)|0) + ($$0437586<<1)|0); + $273 = HEAP16[$272>>1]|0; + $274 = ($273<<16>>16)>(-1); + if ($274) { + $275 = $273 << 16 >> 16; + $276 = HEAP32[$16>>2]|0; + $277 = (($276) + (($275*2096)|0)|0); + $278 = (_codebook_decode_deinterleave_repeat($0,$277,$1,$2,$6,$7,$3,$264)|0); + $not$523 = ($278|0)==(0); + if ($not$523) { + label = 72; + break L65; + } + } else { + $279 = HEAP32[$22>>2]|0; + $280 = Math_imul($264, $$7577)|0; + $281 = (($280) + ($264))|0; + $282 = (($281) + ($279))|0; + $283 = (($282|0) % ($2|0))&-1; + HEAP32[$6>>2] = $283; + $284 = (($282|0) / ($2|0))&-1; + HEAP32[$7>>2] = $284; + } + $285 = (($$3578) + 1)|0; + $286 = (($$7577) + 1)|0; + $287 = ($285|0)<($19|0); + $288 = ($286|0)<($27|0); + $or$cond486 = $288 & $287; + if ($or$cond486) { + $$3578 = $285;$$7577 = $286; + } else { + $$7$lcssa = $286; + break; + } + } + } else { + $$7$lcssa = $$6584; + } + $289 = (($$4448582) + 1)|0; + $290 = ($$7$lcssa|0)<($27|0); + if ($290) { + $$4448582 = $289;$$6584 = $$7$lcssa; + } else { + break; + } + } + } + } + } + $291 = (($$0437586) + 1)|0; + $292 = ($291|0)<(8); + if ($292) { + $$0437586 = $291; + } else { + label = 98; + break; + } + } + if ((label|0) == 38) { + HEAP32[$28>>2] = $29; + STACKTOP = sp;return; + } + else if ((label|0) == 55) { + HEAP32[$28>>2] = $29; + STACKTOP = sp;return; + } + else if ((label|0) == 72) { + HEAP32[$28>>2] = $29; + STACKTOP = sp;return; + } + else if ((label|0) == 98) { + HEAP32[$28>>2] = $29; + STACKTOP = sp;return; + } +} +function _do_floor($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + var $$062$lcssa = 0, $$0624 = 0, $$063$lcssa = 0, $$0633 = 0, $$0652 = 0, $$0661 = 0, $$1 = 0, $$164 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0; + var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0; + var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0.0, $49 = 0, $50 = 0.0, $51 = 0.0, $52 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, label = 0, sp = 0; + sp = STACKTOP; + $6 = $3 >> 1; + $7 = ((($1)) + 4|0); + $8 = HEAP32[$7>>2]|0; + $9 = (((($8) + (($2*3)|0)|0)) + 2|0); + $10 = HEAP8[$9>>0]|0; + $11 = $10&255; + $12 = (((($1)) + 9|0) + ($11)|0); + $13 = HEAP8[$12>>0]|0; + $14 = $13&255; + $15 = (((($0)) + 132|0) + ($14<<1)|0); + $16 = HEAP16[$15>>1]|0; + $17 = ($16<<16>>16)==(0); + if ($17) { + _error($0,21); + return; + } + $18 = ((($0)) + 260|0); + $19 = HEAP32[$18>>2]|0; + $20 = HEAP16[$5>>1]|0; + $21 = $20 << 16 >> 16; + $22 = (((($19) + (($14*1596)|0)|0)) + 1588|0); + $23 = HEAP8[$22>>0]|0; + $24 = $23&255; + $25 = Math_imul($24, $21)|0; + $26 = (((($19) + (($14*1596)|0)|0)) + 1592|0); + $27 = HEAP32[$26>>2]|0; + $28 = ($27|0)>(1); + if ($28) { + $$0624 = $25;$$0633 = 0;$$0652 = 1; + while(1) { + $29 = ((((($19) + (($14*1596)|0)|0)) + 838|0) + ($$0652)|0); + $30 = HEAP8[$29>>0]|0; + $31 = $30&255; + $32 = (($5) + ($31<<1)|0); + $33 = HEAP16[$32>>1]|0; + $34 = ($33<<16>>16)>(-1); + if ($34) { + $35 = $33 << 16 >> 16; + $36 = HEAP8[$22>>0]|0; + $37 = $36&255; + $38 = Math_imul($37, $35)|0; + $39 = ((((($19) + (($14*1596)|0)|0)) + 338|0) + ($31<<1)|0); + $40 = HEAP16[$39>>1]|0; + $41 = $40&65535; + $42 = ($$0633|0)==($41|0); + if ($42) { + $$1 = $38;$$164 = $41; + } else { + _draw_line($4,$$0633,$$0624,$41,$38,$6); + $$1 = $38;$$164 = $41; + } + } else { + $$1 = $$0624;$$164 = $$0633; + } + $43 = (($$0652) + 1)|0; + $44 = HEAP32[$26>>2]|0; + $45 = ($43|0)<($44|0); + if ($45) { + $$0624 = $$1;$$0633 = $$164;$$0652 = $43; + } else { + $$062$lcssa = $$1;$$063$lcssa = $$164; + break; + } + } + } else { + $$062$lcssa = $25;$$063$lcssa = 0; + } + $46 = ($$063$lcssa|0)<($6|0); + if (!($46)) { + return; + } + $47 = (3768 + ($$062$lcssa<<2)|0); + $48 = +HEAPF32[$47>>2]; + $$0661 = $$063$lcssa; + while(1) { + $49 = (($4) + ($$0661<<2)|0); + $50 = +HEAPF32[$49>>2]; + $51 = $48 * $50; + HEAPF32[$49>>2] = $51; + $52 = (($$0661) + 1)|0; + $exitcond = ($52|0)==($6|0); + if ($exitcond) { + break; + } else { + $$0661 = $52; + } + } + return; +} +function _inverse_mdct($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$0$lcssa = 0, $$0492$lcssa = 0, $$0492576 = 0, $$0494 = 0, $$0494522 = 0, $$0494530 = 0, $$0495531 = 0, $$0495531$pn = 0, $$0496527 = 0, $$0497526 = 0, $$0498525 = 0, $$0499524 = 0, $$0500575 = 0, $$0502$lcssa = 0, $$0502574 = 0, $$0504564 = 0, $$0505563 = 0, $$0506562 = 0, $$0507561 = 0, $$0508 = 0; + var $$0508532 = 0, $$0508536 = 0, $$0509534 = 0, $$0510533 = 0, $$0511560 = 0, $$0512542 = 0, $$0513541 = 0, $$0514540 = 0, $$0515548 = 0, $$0516547 = 0, $$0517554 = 0, $$0518546 = 0, $$0557 = 0, $$1493570 = 0, $$1501569 = 0, $$1503568 = 0, $$1551 = 0, $$alloca_mul = 0, $$pn520529 = 0, $$pn520529$phi = 0; + var $$pn535 = 0, $$pn535$phi = 0, $10 = 0, $100 = 0, $101 = 0.0, $102 = 0.0, $103 = 0.0, $104 = 0.0, $105 = 0.0, $106 = 0, $107 = 0.0, $108 = 0, $109 = 0.0, $11 = 0, $110 = 0.0, $111 = 0, $112 = 0.0, $113 = 0, $114 = 0.0, $115 = 0.0; + var $116 = 0.0, $117 = 0, $118 = 0.0, $119 = 0.0, $12 = 0, $120 = 0.0, $121 = 0, $122 = 0.0, $123 = 0.0, $124 = 0, $125 = 0.0, $126 = 0.0, $127 = 0.0, $128 = 0, $129 = 0.0, $13 = 0, $130 = 0.0, $131 = 0.0, $132 = 0.0, $133 = 0.0; + var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; + var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; + var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; + var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0; + var $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0; + var $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0.0, $238 = 0, $239 = 0.0, $24 = 0, $240 = 0.0, $241 = 0, $242 = 0.0; + var $243 = 0, $244 = 0.0, $245 = 0.0, $246 = 0, $247 = 0.0, $248 = 0.0, $249 = 0.0, $25 = 0, $250 = 0.0, $251 = 0.0, $252 = 0.0, $253 = 0.0, $254 = 0.0, $255 = 0.0, $256 = 0.0, $257 = 0.0, $258 = 0.0, $259 = 0.0, $26 = 0, $260 = 0.0; + var $261 = 0, $262 = 0.0, $263 = 0.0, $264 = 0.0, $265 = 0, $266 = 0.0, $267 = 0, $268 = 0.0, $269 = 0.0, $27 = 0, $270 = 0, $271 = 0.0, $272 = 0.0, $273 = 0, $274 = 0.0, $275 = 0.0, $276 = 0.0, $277 = 0.0, $278 = 0.0, $279 = 0.0; + var $28 = 0, $280 = 0.0, $281 = 0.0, $282 = 0.0, $283 = 0.0, $284 = 0.0, $285 = 0.0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0.0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0.0; + var $298 = 0, $299 = 0.0, $30 = 0.0, $300 = 0.0, $301 = 0, $302 = 0.0, $303 = 0, $304 = 0.0, $305 = 0.0, $306 = 0.0, $307 = 0.0, $308 = 0.0, $309 = 0.0, $31 = 0.0, $310 = 0.0, $311 = 0.0, $312 = 0, $313 = 0, $314 = 0, $315 = 0.0; + var $316 = 0, $317 = 0.0, $318 = 0.0, $319 = 0, $32 = 0, $320 = 0.0, $321 = 0, $322 = 0.0, $323 = 0.0, $324 = 0.0, $325 = 0.0, $326 = 0.0, $327 = 0.0, $328 = 0.0, $329 = 0, $33 = 0.0, $330 = 0.0, $331 = 0, $332 = 0, $333 = 0; + var $334 = 0, $335 = 0.0, $336 = 0, $337 = 0.0, $338 = 0.0, $339 = 0, $34 = 0, $340 = 0.0, $341 = 0, $342 = 0.0, $343 = 0.0, $344 = 0.0, $345 = 0.0, $346 = 0.0, $347 = 0.0, $348 = 0.0, $349 = 0, $35 = 0.0, $350 = 0.0, $351 = 0; + var $352 = 0, $353 = 0, $354 = 0.0, $355 = 0, $356 = 0.0, $357 = 0.0, $358 = 0, $359 = 0.0, $36 = 0.0, $360 = 0.0, $361 = 0.0, $362 = 0.0, $363 = 0.0, $364 = 0.0, $365 = 0.0, $366 = 0.0, $367 = 0, $368 = 0.0, $369 = 0, $37 = 0.0; + var $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $38 = 0, $39 = 0.0, $4 = 0, $40 = 0.0, $41 = 0.0, $42 = 0.0, $43 = 0.0, $44 = 0.0, $45 = 0.0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0; + var $51 = 0, $52 = 0, $53 = 0, $54 = 0.0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0, $59 = 0.0, $6 = 0, $60 = 0.0, $61 = 0.0, $62 = 0, $63 = 0.0, $64 = 0.0, $65 = 0.0, $66 = 0.0, $67 = 0.0, $68 = 0.0, $69 = 0.0; + var $7 = 0, $70 = 0.0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0.0, $82 = 0, $83 = 0.0, $84 = 0.0, $85 = 0.0, $86 = 0.0, $87 = 0.0; + var $88 = 0.0, $89 = 0, $9 = 0, $90 = 0.0, $91 = 0.0, $92 = 0.0, $93 = 0, $94 = 0.0, $95 = 0.0, $96 = 0, $97 = 0.0, $98 = 0.0, $99 = 0.0, $exitcond = 0, $exitcond584 = 0, $scevgep = 0, $scevgep586 = 0, label = 0, sp = 0; + sp = STACKTOP; + $4 = $1 >> 1; + $5 = $1 >> 2; + $6 = $1 >> 3; + $7 = ((($2)) + 92|0); + $8 = HEAP32[$7>>2]|0; + $9 = ((($2)) + 80|0); + $10 = HEAP32[$9>>2]|0; + $11 = ($10|0)==(0|0); + $12 = $4 << 2; + if ($11) { + $$alloca_mul = $12; + $14 = STACKTOP; STACKTOP = STACKTOP + ((((1*$$alloca_mul)|0)+15)&-16)|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(((((1*$$alloca_mul)|0)+15)&-16)|0);; + $19 = $14; + } else { + $13 = (_setup_temp_malloc($2,$12)|0); + $19 = $13; + } + $15 = (((($2)) + 1068|0) + ($3<<2)|0); + $16 = HEAP32[$15>>2]|0; + $17 = (($4) + -2)|0; + $18 = (($19) + ($17<<2)|0); + $20 = (($0) + ($4<<2)|0); + $21 = ($4|0)==(0); + if ($21) { + $$0492$lcssa = $18;$$0502$lcssa = $16; + } else { + $22 = $4 << 2; + $23 = (($22) + -16)|0; + $24 = $23 >>> 4; + $25 = $24 << 3; + $26 = (($23) - ($25))|0; + $scevgep = (($19) + ($26)|0); + $27 = $24 << 1; + $28 = (($27) + 2)|0; + $$0492576 = $18;$$0500575 = $0;$$0502574 = $16; + while(1) { + $29 = +HEAPF32[$$0500575>>2]; + $30 = +HEAPF32[$$0502574>>2]; + $31 = $29 * $30; + $32 = ((($$0500575)) + 8|0); + $33 = +HEAPF32[$32>>2]; + $34 = ((($$0502574)) + 4|0); + $35 = +HEAPF32[$34>>2]; + $36 = $33 * $35; + $37 = $31 - $36; + $38 = ((($$0492576)) + 4|0); + HEAPF32[$38>>2] = $37; + $39 = +HEAPF32[$$0500575>>2]; + $40 = +HEAPF32[$34>>2]; + $41 = $39 * $40; + $42 = +HEAPF32[$32>>2]; + $43 = +HEAPF32[$$0502574>>2]; + $44 = $42 * $43; + $45 = $41 + $44; + HEAPF32[$$0492576>>2] = $45; + $46 = ((($$0492576)) + -8|0); + $47 = ((($$0502574)) + 8|0); + $48 = ((($$0500575)) + 16|0); + $49 = ($48|0)==($20|0); + if ($49) { + break; + } else { + $$0492576 = $46;$$0500575 = $48;$$0502574 = $47; + } + } + $scevgep586 = (($16) + ($28<<2)|0); + $$0492$lcssa = $scevgep;$$0502$lcssa = $scevgep586; + } + $50 = ($$0492$lcssa>>>0)<($19>>>0); + if (!($50)) { + $51 = (($4) + -3)|0; + $52 = (($0) + ($51<<2)|0); + $$1493570 = $$0492$lcssa;$$1501569 = $52;$$1503568 = $$0502$lcssa; + while(1) { + $53 = ((($$1501569)) + 8|0); + $54 = +HEAPF32[$53>>2]; + $55 = +HEAPF32[$$1503568>>2]; + $56 = $54 * $55; + $57 = +HEAPF32[$$1501569>>2]; + $58 = ((($$1503568)) + 4|0); + $59 = +HEAPF32[$58>>2]; + $60 = $57 * $59; + $61 = $60 - $56; + $62 = ((($$1493570)) + 4|0); + HEAPF32[$62>>2] = $61; + $63 = +HEAPF32[$53>>2]; + $64 = +HEAPF32[$58>>2]; + $65 = $63 * $64; + $66 = +HEAPF32[$$1501569>>2]; + $67 = +HEAPF32[$$1503568>>2]; + $68 = $66 * $67; + $69 = -$68; + $70 = $69 - $65; + HEAPF32[$$1493570>>2] = $70; + $71 = ((($$1493570)) + -8|0); + $72 = ((($$1503568)) + 8|0); + $73 = ((($$1501569)) + -16|0); + $74 = ($71>>>0)<($19>>>0); + if ($74) { + break; + } else { + $$1493570 = $71;$$1501569 = $73;$$1503568 = $72; + } + } + } + $75 = ($4|0)<(8); + if (!($75)) { + $76 = (($0) + ($5<<2)|0); + $77 = (($19) + ($5<<2)|0); + $78 = (($4) + -8)|0; + $79 = (($16) + ($78<<2)|0); + $$0504564 = $79;$$0505563 = $76;$$0506562 = $0;$$0507561 = $77;$$0511560 = $19; + while(1) { + $80 = ((($$0507561)) + 4|0); + $81 = +HEAPF32[$80>>2]; + $82 = ((($$0511560)) + 4|0); + $83 = +HEAPF32[$82>>2]; + $84 = $81 - $83; + $85 = +HEAPF32[$$0507561>>2]; + $86 = +HEAPF32[$$0511560>>2]; + $87 = $85 - $86; + $88 = $81 + $83; + $89 = ((($$0505563)) + 4|0); + HEAPF32[$89>>2] = $88; + $90 = +HEAPF32[$$0507561>>2]; + $91 = +HEAPF32[$$0511560>>2]; + $92 = $90 + $91; + HEAPF32[$$0505563>>2] = $92; + $93 = ((($$0504564)) + 16|0); + $94 = +HEAPF32[$93>>2]; + $95 = $84 * $94; + $96 = ((($$0504564)) + 20|0); + $97 = +HEAPF32[$96>>2]; + $98 = $87 * $97; + $99 = $95 - $98; + $100 = ((($$0506562)) + 4|0); + HEAPF32[$100>>2] = $99; + $101 = +HEAPF32[$93>>2]; + $102 = $87 * $101; + $103 = +HEAPF32[$96>>2]; + $104 = $84 * $103; + $105 = $102 + $104; + HEAPF32[$$0506562>>2] = $105; + $106 = ((($$0507561)) + 12|0); + $107 = +HEAPF32[$106>>2]; + $108 = ((($$0511560)) + 12|0); + $109 = +HEAPF32[$108>>2]; + $110 = $107 - $109; + $111 = ((($$0507561)) + 8|0); + $112 = +HEAPF32[$111>>2]; + $113 = ((($$0511560)) + 8|0); + $114 = +HEAPF32[$113>>2]; + $115 = $112 - $114; + $116 = $107 + $109; + $117 = ((($$0505563)) + 12|0); + HEAPF32[$117>>2] = $116; + $118 = +HEAPF32[$111>>2]; + $119 = +HEAPF32[$113>>2]; + $120 = $118 + $119; + $121 = ((($$0505563)) + 8|0); + HEAPF32[$121>>2] = $120; + $122 = +HEAPF32[$$0504564>>2]; + $123 = $110 * $122; + $124 = ((($$0504564)) + 4|0); + $125 = +HEAPF32[$124>>2]; + $126 = $115 * $125; + $127 = $123 - $126; + $128 = ((($$0506562)) + 12|0); + HEAPF32[$128>>2] = $127; + $129 = +HEAPF32[$$0504564>>2]; + $130 = $115 * $129; + $131 = +HEAPF32[$124>>2]; + $132 = $110 * $131; + $133 = $130 + $132; + $134 = ((($$0506562)) + 8|0); + HEAPF32[$134>>2] = $133; + $135 = ((($$0504564)) + -32|0); + $136 = ((($$0505563)) + 16|0); + $137 = ((($$0506562)) + 16|0); + $138 = ((($$0507561)) + 16|0); + $139 = ((($$0511560)) + 16|0); + $140 = ($135>>>0)<($16>>>0); + if ($140) { + break; + } else { + $$0504564 = $135;$$0505563 = $136;$$0506562 = $137;$$0507561 = $138;$$0511560 = $139; + } + } + } + $141 = (_ilog($1)|0); + $142 = $1 >> 4; + $143 = (($4) + -1)|0; + $144 = (0 - ($6))|0; + _imdct_step3_iter0_loop($142,$0,$143,$144,$16); + $145 = (($143) - ($5))|0; + _imdct_step3_iter0_loop($142,$0,$145,$144,$16); + $146 = $1 >> 5; + $147 = (0 - ($142))|0; + _imdct_step3_inner_r_loop($146,$0,$143,$147,$16,16); + $148 = (($143) - ($6))|0; + _imdct_step3_inner_r_loop($146,$0,$148,$147,$16,16); + $149 = $6 << 1; + $150 = (($143) - ($149))|0; + _imdct_step3_inner_r_loop($146,$0,$150,$147,$16,16); + $151 = Math_imul($6, -3)|0; + $152 = (($143) + ($151))|0; + _imdct_step3_inner_r_loop($146,$0,$152,$147,$16,16); + $153 = (($141) + -4)|0; + $154 = $153 >> 1; + $155 = ($154|0)>(2); + if ($155) { + $$0557 = 2; + while(1) { + $159 = (($$0557) + 2)|0; + $160 = $1 >> $159; + $156 = (($$0557) + 1)|0; + $161 = 1 << $156; + $162 = ($156|0)==(31); + if (!($162)) { + $163 = $160 >> 1; + $164 = (($$0557) + 4)|0; + $165 = $1 >> $164; + $166 = (0 - ($163))|0; + $167 = (($$0557) + 3)|0; + $168 = 1 << $167; + $$0517554 = 0; + while(1) { + $169 = Math_imul($$0517554, $160)|0; + $170 = (($143) - ($169))|0; + _imdct_step3_inner_r_loop($165,$0,$170,$166,$16,$168); + $171 = (($$0517554) + 1)|0; + $172 = ($171|0)<($161|0); + if ($172) { + $$0517554 = $171; + } else { + break; + } + } + } + $exitcond584 = ($156|0)==($154|0); + if ($exitcond584) { + $$0$lcssa = $154; + break; + } else { + $$0557 = $156; + } + } + } else { + $$0$lcssa = 2; + } + $157 = (($141) + -7)|0; + $158 = ($$0$lcssa|0)<($157|0); + if ($158) { + $$1551 = $$0$lcssa; + while(1) { + $174 = (($$1551) + 2)|0; + $175 = $1 >> $174; + $176 = (($$1551) + 3)|0; + $177 = 1 << $176; + $178 = (($$1551) + 6)|0; + $179 = $1 >> $178; + $173 = (($$1551) + 1)|0; + $180 = 1 << $173; + $181 = ($179|0)>(0); + if ($181) { + $182 = $175 >> 1; + $183 = (0 - ($182))|0; + $184 = $177 << 2; + $$0515548 = $16;$$0516547 = $143;$$0518546 = $179; + while(1) { + _imdct_step3_inner_s_loop($180,$0,$$0516547,$183,$$0515548,$177,$175); + $185 = (($$0515548) + ($184<<2)|0); + $186 = (($$0516547) + -8)|0; + $187 = (($$0518546) + -1)|0; + $188 = ($$0518546|0)>(1); + if ($188) { + $$0515548 = $185;$$0516547 = $186;$$0518546 = $187; + } else { + break; + } + } + } + $exitcond = ($173|0)==($157|0); + if ($exitcond) { + break; + } else { + $$1551 = $173; + } + } + } + _imdct_step3_inner_s_loop_ld654($146,$0,$143,$16,$1); + $189 = (($5) + -4)|0; + $190 = (($19) + ($189<<2)|0); + $191 = (($4) + -4)|0; + $192 = ($190>>>0)<($19>>>0); + if (!($192)) { + $193 = (($19) + ($191<<2)|0); + $194 = (((($2)) + 1100|0) + ($3<<2)|0); + $195 = HEAP32[$194>>2]|0; + $$0512542 = $193;$$0513541 = $190;$$0514540 = $195; + while(1) { + $196 = HEAP16[$$0514540>>1]|0; + $197 = $196&65535; + $198 = (($0) + ($197<<2)|0); + $199 = HEAP32[$198>>2]|0; + $200 = ((($$0512542)) + 12|0); + HEAP32[$200>>2] = $199; + $201 = (($197) + 1)|0; + $202 = (($0) + ($201<<2)|0); + $203 = HEAP32[$202>>2]|0; + $204 = ((($$0512542)) + 8|0); + HEAP32[$204>>2] = $203; + $205 = (($197) + 2)|0; + $206 = (($0) + ($205<<2)|0); + $207 = HEAP32[$206>>2]|0; + $208 = ((($$0513541)) + 12|0); + HEAP32[$208>>2] = $207; + $209 = (($197) + 3)|0; + $210 = (($0) + ($209<<2)|0); + $211 = HEAP32[$210>>2]|0; + $212 = ((($$0513541)) + 8|0); + HEAP32[$212>>2] = $211; + $213 = ((($$0514540)) + 2|0); + $214 = HEAP16[$213>>1]|0; + $215 = $214&65535; + $216 = (($0) + ($215<<2)|0); + $217 = HEAP32[$216>>2]|0; + $218 = ((($$0512542)) + 4|0); + HEAP32[$218>>2] = $217; + $219 = (($215) + 1)|0; + $220 = (($0) + ($219<<2)|0); + $221 = HEAP32[$220>>2]|0; + HEAP32[$$0512542>>2] = $221; + $222 = (($215) + 2)|0; + $223 = (($0) + ($222<<2)|0); + $224 = HEAP32[$223>>2]|0; + $225 = ((($$0513541)) + 4|0); + HEAP32[$225>>2] = $224; + $226 = (($215) + 3)|0; + $227 = (($0) + ($226<<2)|0); + $228 = HEAP32[$227>>2]|0; + HEAP32[$$0513541>>2] = $228; + $229 = ((($$0513541)) + -16|0); + $230 = ((($$0512542)) + -16|0); + $231 = ((($$0514540)) + 4|0); + $232 = ($229>>>0)<($19>>>0); + if ($232) { + break; + } else { + $$0512542 = $230;$$0513541 = $229;$$0514540 = $231; + } + } + } + $233 = (($19) + ($4<<2)|0); + $$0508532 = ((($233)) + -16|0); + $234 = ($19>>>0)<($$0508532>>>0); + if ($234) { + $235 = (((($2)) + 1084|0) + ($3<<2)|0); + $236 = HEAP32[$235>>2]|0; + $$0508536 = $$0508532;$$0509534 = $19;$$0510533 = $236;$$pn535 = $233; + while(1) { + $237 = +HEAPF32[$$0509534>>2]; + $238 = ((($$pn535)) + -8|0); + $239 = +HEAPF32[$238>>2]; + $240 = $237 - $239; + $241 = ((($$0509534)) + 4|0); + $242 = +HEAPF32[$241>>2]; + $243 = ((($$pn535)) + -4|0); + $244 = +HEAPF32[$243>>2]; + $245 = $242 + $244; + $246 = ((($$0510533)) + 4|0); + $247 = +HEAPF32[$246>>2]; + $248 = $240 * $247; + $249 = +HEAPF32[$$0510533>>2]; + $250 = $245 * $249; + $251 = $248 + $250; + $252 = $247 * $245; + $253 = $240 * $249; + $254 = $252 - $253; + $255 = $237 + $239; + $256 = $242 - $244; + $257 = $255 + $251; + HEAPF32[$$0509534>>2] = $257; + $258 = $256 + $254; + HEAPF32[$241>>2] = $258; + $259 = $255 - $251; + HEAPF32[$238>>2] = $259; + $260 = $254 - $256; + HEAPF32[$243>>2] = $260; + $261 = ((($$0509534)) + 8|0); + $262 = +HEAPF32[$261>>2]; + $263 = +HEAPF32[$$0508536>>2]; + $264 = $262 - $263; + $265 = ((($$0509534)) + 12|0); + $266 = +HEAPF32[$265>>2]; + $267 = ((($$pn535)) + -12|0); + $268 = +HEAPF32[$267>>2]; + $269 = $266 + $268; + $270 = ((($$0510533)) + 12|0); + $271 = +HEAPF32[$270>>2]; + $272 = $264 * $271; + $273 = ((($$0510533)) + 8|0); + $274 = +HEAPF32[$273>>2]; + $275 = $269 * $274; + $276 = $272 + $275; + $277 = $271 * $269; + $278 = $264 * $274; + $279 = $277 - $278; + $280 = $262 + $263; + $281 = $266 - $268; + $282 = $280 + $276; + HEAPF32[$261>>2] = $282; + $283 = $281 + $279; + HEAPF32[$265>>2] = $283; + $284 = $280 - $276; + HEAPF32[$$0508536>>2] = $284; + $285 = $279 - $281; + HEAPF32[$267>>2] = $285; + $286 = ((($$0510533)) + 16|0); + $287 = ((($$0509534)) + 16|0); + $$0508 = ((($$0508536)) + -16|0); + $288 = ($287>>>0)<($$0508>>>0); + if ($288) { + $$pn535$phi = $$0508536;$$0508536 = $$0508;$$0509534 = $287;$$0510533 = $286;$$pn535 = $$pn535$phi; + } else { + break; + } + } + } + $$0494522 = ((($233)) + -32|0); + $289 = ($$0494522>>>0)<($19>>>0); + if ($289) { + HEAP32[$7>>2] = $8; + STACKTOP = sp;return; + } + $290 = (($1) + -4)|0; + $291 = (($0) + ($290<<2)|0); + $292 = (($0) + ($191<<2)|0); + $293 = (((($2)) + 1076|0) + ($3<<2)|0); + $294 = HEAP32[$293>>2]|0; + $295 = (($294) + ($4<<2)|0); + $$0494530 = $$0494522;$$0495531$pn = $295;$$0496527 = $291;$$0497526 = $20;$$0498525 = $292;$$0499524 = $0;$$pn520529 = $233; + while(1) { + $$0495531 = ((($$0495531$pn)) + -32|0); + $296 = ((($$pn520529)) + -8|0); + $297 = +HEAPF32[$296>>2]; + $298 = ((($$0495531$pn)) + -4|0); + $299 = +HEAPF32[$298>>2]; + $300 = $297 * $299; + $301 = ((($$pn520529)) + -4|0); + $302 = +HEAPF32[$301>>2]; + $303 = ((($$0495531$pn)) + -8|0); + $304 = +HEAPF32[$303>>2]; + $305 = $302 * $304; + $306 = $300 - $305; + $307 = $297 * $304; + $308 = -$307; + $309 = $299 * $302; + $310 = $308 - $309; + HEAPF32[$$0499524>>2] = $306; + $311 = -$306; + $312 = ((($$0498525)) + 12|0); + HEAPF32[$312>>2] = $311; + HEAPF32[$$0497526>>2] = $310; + $313 = ((($$0496527)) + 12|0); + HEAPF32[$313>>2] = $310; + $314 = ((($$pn520529)) + -16|0); + $315 = +HEAPF32[$314>>2]; + $316 = ((($$0495531$pn)) + -12|0); + $317 = +HEAPF32[$316>>2]; + $318 = $315 * $317; + $319 = ((($$pn520529)) + -12|0); + $320 = +HEAPF32[$319>>2]; + $321 = ((($$0495531$pn)) + -16|0); + $322 = +HEAPF32[$321>>2]; + $323 = $320 * $322; + $324 = $318 - $323; + $325 = $315 * $322; + $326 = -$325; + $327 = $317 * $320; + $328 = $326 - $327; + $329 = ((($$0499524)) + 4|0); + HEAPF32[$329>>2] = $324; + $330 = -$324; + $331 = ((($$0498525)) + 8|0); + HEAPF32[$331>>2] = $330; + $332 = ((($$0497526)) + 4|0); + HEAPF32[$332>>2] = $328; + $333 = ((($$0496527)) + 8|0); + HEAPF32[$333>>2] = $328; + $334 = ((($$pn520529)) + -24|0); + $335 = +HEAPF32[$334>>2]; + $336 = ((($$0495531$pn)) + -20|0); + $337 = +HEAPF32[$336>>2]; + $338 = $335 * $337; + $339 = ((($$pn520529)) + -20|0); + $340 = +HEAPF32[$339>>2]; + $341 = ((($$0495531$pn)) + -24|0); + $342 = +HEAPF32[$341>>2]; + $343 = $340 * $342; + $344 = $338 - $343; + $345 = $335 * $342; + $346 = -$345; + $347 = $337 * $340; + $348 = $346 - $347; + $349 = ((($$0499524)) + 8|0); + HEAPF32[$349>>2] = $344; + $350 = -$344; + $351 = ((($$0498525)) + 4|0); + HEAPF32[$351>>2] = $350; + $352 = ((($$0497526)) + 8|0); + HEAPF32[$352>>2] = $348; + $353 = ((($$0496527)) + 4|0); + HEAPF32[$353>>2] = $348; + $354 = +HEAPF32[$$0494530>>2]; + $355 = ((($$0495531$pn)) + -28|0); + $356 = +HEAPF32[$355>>2]; + $357 = $354 * $356; + $358 = ((($$pn520529)) + -28|0); + $359 = +HEAPF32[$358>>2]; + $360 = +HEAPF32[$$0495531>>2]; + $361 = $359 * $360; + $362 = $357 - $361; + $363 = $354 * $360; + $364 = -$363; + $365 = $356 * $359; + $366 = $364 - $365; + $367 = ((($$0499524)) + 12|0); + HEAPF32[$367>>2] = $362; + $368 = -$362; + HEAPF32[$$0498525>>2] = $368; + $369 = ((($$0497526)) + 12|0); + HEAPF32[$369>>2] = $366; + HEAPF32[$$0496527>>2] = $366; + $370 = ((($$0499524)) + 16|0); + $371 = ((($$0497526)) + 16|0); + $372 = ((($$0498525)) + -16|0); + $373 = ((($$0496527)) + -16|0); + $$0494 = ((($$0494530)) + -32|0); + $374 = ($$0494>>>0)<($19>>>0); + if ($374) { + break; + } else { + $$pn520529$phi = $$0494530;$$0494530 = $$0494;$$0495531$pn = $$0495531;$$0496527 = $373;$$0497526 = $371;$$0498525 = $372;$$0499524 = $370;$$pn520529 = $$pn520529$phi; + } + } + HEAP32[$7>>2] = $8; + STACKTOP = sp;return; +} +function _flush_packet($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + while(1) { + $1 = (_get8_packet_raw($0)|0); + $2 = ($1|0)==(-1); + if ($2) { + break; + } + } + return; +} +function _get8_packet_raw($0) { + $0 = $0|0; + var $$0 = 0, $$pr = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 1376|0); + $2 = HEAP8[$1>>0]|0; + $3 = ($2<<24>>24)==(0); + if ($3) { + $4 = ((($0)) + 1384|0); + $5 = HEAP32[$4>>2]|0; + $6 = ($5|0)==(0); + if (!($6)) { + $$0 = -1; + return ($$0|0); + } + $7 = (_next_segment($0)|0); + $8 = ($7|0)==(0); + if ($8) { + $$0 = -1; + return ($$0|0); + } + $$pr = HEAP8[$1>>0]|0; + $9 = ($$pr<<24>>24)==(0); + if ($9) { + ___assert_fail((16446|0),(16331|0),1138,(16466|0)); + // unreachable; + } else { + $11 = $$pr; + } + } else { + $11 = $2; + } + $10 = (($11) + -1)<<24>>24; + HEAP8[$1>>0] = $10; + $12 = ((($0)) + 1400|0); + $13 = HEAP32[$12>>2]|0; + $14 = (($13) + 1)|0; + HEAP32[$12>>2] = $14; + $15 = (_get8($0)|0); + $16 = $15&255; + $$0 = $16; return ($$0|0); } -function _start_page($f) { - $f = $f|0; - var $$0 = 0, $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0; +function _next_segment($0) { + $0 = $0|0; + var $$0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = (_capture_pattern($f)|0); - $1 = ($0|0)==(0); - if ($1) { - _error($f,30); + $1 = ((($0)) + 1384|0); + $2 = HEAP32[$1>>2]|0; + $3 = ($2|0)==(0); + if (!($3)) { + $$0 = 0; + return ($$0|0); + } + $4 = ((($0)) + 1380|0); + $5 = HEAP32[$4>>2]|0; + $6 = ($5|0)==(-1); + if ($6) { + $7 = ((($0)) + 1116|0); + $8 = HEAP32[$7>>2]|0; + $9 = (($8) + -1)|0; + $10 = ((($0)) + 1388|0); + HEAP32[$10>>2] = $9; + $11 = (_start_page($0)|0); + $12 = ($11|0)==(0); + if ($12) { + HEAP32[$1>>2] = 1; + $$0 = 0; + return ($$0|0); + } + $13 = ((($0)) + 1375|0); + $14 = HEAP8[$13>>0]|0; + $15 = $14 & 1; + $16 = ($15<<24>>24)==(0); + if ($16) { + _error($0,32); + $$0 = 0; + return ($$0|0); + } + } + $17 = HEAP32[$4>>2]|0; + $18 = (($17) + 1)|0; + HEAP32[$4>>2] = $18; + $19 = (((($0)) + 1120|0) + ($17)|0); + $20 = HEAP8[$19>>0]|0; + $21 = $20&255; + $22 = ($20<<24>>24)==(-1); + if (!($22)) { + HEAP32[$1>>2] = 1; + $23 = ((($0)) + 1388|0); + HEAP32[$23>>2] = $17; + } + $24 = ((($0)) + 1116|0); + $25 = HEAP32[$24>>2]|0; + $26 = ($18|0)<($25|0); + if (!($26)) { + HEAP32[$4>>2] = -1; + } + $27 = ((($0)) + 1376|0); + $28 = HEAP8[$27>>0]|0; + $29 = ($28<<24>>24)==(0); + if (!($29)) { + ___assert_fail((16482|0),(16331|0),1124,(16503|0)); + // unreachable; + } + HEAP8[$27>>0] = $20; + $$0 = $21; + return ($$0|0); +} +function _get8($0) { + $0 = $0|0; + var $$1 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 32|0); + $2 = HEAP32[$1>>2]|0; + $3 = ($2|0)==(0|0); + if ($3) { + $10 = ((($0)) + 20|0); + $11 = HEAP32[$10>>2]|0; + $12 = (_fgetc($11)|0); + $13 = ($12|0)==(-1); + if ($13) { + $14 = ((($0)) + 96|0); + HEAP32[$14>>2] = 1; + $$1 = 0; + return ($$1|0); + } else { + $15 = $12&255; + $$1 = $15; + return ($$1|0); + } + } else { + $4 = ((($0)) + 40|0); + $5 = HEAP32[$4>>2]|0; + $6 = ($2>>>0)<($5>>>0); + if ($6) { + $8 = ((($2)) + 1|0); + HEAP32[$1>>2] = $8; + $9 = HEAP8[$2>>0]|0; + $$1 = $9; + return ($$1|0); + } else { + $7 = ((($0)) + 96|0); + HEAP32[$7>>2] = 1; + $$1 = 0; + return ($$1|0); + } + } + return (0)|0; +} +function _start_page($0) { + $0 = $0|0; + var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (_capture_pattern($0)|0); + $2 = ($1|0)==(0); + if ($2) { + _error($0,30); $$0 = 0; return ($$0|0); } else { - $2 = (_start_page_no_capturepattern($f)|0); - $$0 = $2; + $3 = (_start_page_no_capturepattern($0)|0); + $$0 = $3; return ($$0|0); } return (0)|0; } -function _capture_pattern($f) { - $f = $f|0; - var $$ = 0, $$0 = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; +function _capture_pattern($0) { + $0 = $0|0; + var $$ = 0, $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = (_get8($f)|0); - $1 = ($0<<24>>24)==(79); - if ($1) { - $2 = (_get8($f)|0); - $3 = ($2<<24>>24)==(103); - if ($3) { - $4 = (_get8($f)|0); - $5 = ($4<<24>>24)==(103); - if ($5) { - $6 = (_get8($f)|0); - $7 = ($6<<24>>24)==(83); - $$ = $7&1; + $1 = (_get8($0)|0); + $2 = ($1<<24>>24)==(79); + if ($2) { + $3 = (_get8($0)|0); + $4 = ($3<<24>>24)==(103); + if ($4) { + $5 = (_get8($0)|0); + $6 = ($5<<24>>24)==(103); + if ($6) { + $7 = (_get8($0)|0); + $8 = ($7<<24>>24)==(83); + $$ = $8&1; $$0 = $$; } else { $$0 = 0; @@ -28427,156 +44763,1548 @@ function _capture_pattern($f) { } return ($$0|0); } -function _start_page_no_capturepattern($f) { - $f = $f|0; - var $$0 = 0, $$lcssa = 0, $$lcssa14 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; - var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; - var $42 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i$0 = 0, $i$0$in = 0, $i$0$lcssa15 = 0, $i1$04 = 0, $len$0$lcssa = 0, $len$03 = 0, $phitmp = 0, label = 0, sp = 0; +function _start_page_no_capturepattern($0) { + $0 = $0|0; + var $$0 = 0, $$058 = 0, $$058$in = 0, $$059$lcssa = 0, $$05963 = 0, $$06062 = 0, $$lcssa = 0, $$sroa$0$0$$sroa_idx = 0, $$sroa$5$0$$sroa_idx3 = 0, $$sroa$6$0$$sroa_idx5 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0; + var $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0; + var $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $phitmp = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = (_get8($f)|0); - $1 = ($0<<24>>24)==(0); - if (!($1)) { - _error($f,31); + $1 = (_get8($0)|0); + $2 = ($1<<24>>24)==(0); + if (!($2)) { + _error($0,31); $$0 = 0; return ($$0|0); } - $2 = (_get8($f)|0); - $3 = ((($f)) + 1375|0); - HEAP8[$3>>0] = $2; - $4 = (_get32($f)|0); - $5 = (_get32($f)|0); - (_get32($f)|0); - $6 = (_get32($f)|0); - $7 = ((($f)) + 1112|0); - HEAP32[$7>>2] = $6; - (_get32($f)|0); - $8 = (_get8($f)|0); - $9 = $8&255; - $10 = ((($f)) + 1116|0); - HEAP32[$10>>2] = $9; - $11 = ((($f)) + 1120|0); - $12 = (_getn($f,$11,$9)|0); - $13 = ($12|0)==(0); - if ($13) { - _error($f,10); + $3 = (_get8($0)|0); + $4 = ((($0)) + 1375|0); + HEAP8[$4>>0] = $3; + $5 = (_get32($0)|0); + $6 = (_get32($0)|0); + (_get32($0)|0); + $7 = (_get32($0)|0); + $8 = ((($0)) + 1112|0); + HEAP32[$8>>2] = $7; + (_get32($0)|0); + $9 = (_get8($0)|0); + $10 = $9&255; + $11 = ((($0)) + 1116|0); + HEAP32[$11>>2] = $10; + $12 = ((($0)) + 1120|0); + $13 = (_getn($0,$12,$10)|0); + $14 = ($13|0)==(0); + if ($14) { + _error($0,10); $$0 = 0; return ($$0|0); } - $14 = ((($f)) + 1404|0); - HEAP32[$14>>2] = -2; - $15 = $5 & $4; - $16 = ($15|0)==(-1); + $15 = ((($0)) + 1404|0); + HEAP32[$15>>2] = -2; + $16 = $6 & $5; + $17 = ($16|0)==(-1); L9: do { - if (!($16)) { - $17 = HEAP32[$10>>2]|0; - $i$0$in = $17; + if (!($17)) { + $18 = HEAP32[$11>>2]|0; + $$058$in = $18; while(1) { - $i$0 = (($i$0$in) + -1)|0; - $18 = ($i$0$in|0)>(0); - if (!($18)) { + $$058 = (($$058$in) + -1)|0; + $19 = ($$058$in|0)>(0); + if (!($19)) { break L9; } - $19 = (((($f)) + 1120|0) + ($i$0)|0); - $20 = HEAP8[$19>>0]|0; - $21 = ($20<<24>>24)==(-1); - if ($21) { - $i$0$in = $i$0; + $20 = (((($0)) + 1120|0) + ($$058)|0); + $21 = HEAP8[$20>>0]|0; + $22 = ($21<<24>>24)==(-1); + if ($22) { + $$058$in = $$058; } else { - $i$0$lcssa15 = $i$0; break; } } - HEAP32[$14>>2] = $i$0$lcssa15; - $22 = ((($f)) + 1408|0); - HEAP32[$22>>2] = $4; + HEAP32[$15>>2] = $$058; + $23 = ((($0)) + 1408|0); + HEAP32[$23>>2] = $5; } } while(0); - $23 = ((($f)) + 1377|0); - $24 = HEAP8[$23>>0]|0; - $25 = ($24<<24>>24)==(0); - if (!($25)) { - $26 = HEAP32[$10>>2]|0; - $27 = ($26|0)>(0); - if ($27) { - $28 = HEAP32[$10>>2]|0; - $i1$04 = 0;$len$03 = 0; + $24 = ((($0)) + 1377|0); + $25 = HEAP8[$24>>0]|0; + $26 = ($25<<24>>24)==(0); + if (!($26)) { + $27 = HEAP32[$11>>2]|0; + $28 = ($27|0)>(0); + if ($28) { + $29 = HEAP32[$11>>2]|0; + $$05963 = 0;$$06062 = 0; while(1) { - $29 = (((($f)) + 1120|0) + ($i1$04)|0); - $30 = HEAP8[$29>>0]|0; - $31 = $30&255; - $32 = (($31) + ($len$03))|0; - $33 = (($i1$04) + 1)|0; - $34 = ($33|0)<($28|0); - if ($34) { - $i1$04 = $33;$len$03 = $32; + $30 = (((($0)) + 1120|0) + ($$06062)|0); + $31 = HEAP8[$30>>0]|0; + $32 = $31&255; + $33 = (($32) + ($$05963))|0; + $34 = (($$06062) + 1)|0; + $35 = ($34|0)<($29|0); + if ($35) { + $$05963 = $33;$$06062 = $34; } else { - $$lcssa14 = $32; break; } } - $phitmp = (($$lcssa14) + 27)|0; - $$lcssa = $28;$len$0$lcssa = $phitmp; + $phitmp = (($33) + 27)|0; + $$059$lcssa = $phitmp;$$lcssa = $29; } else { - $$lcssa = $26;$len$0$lcssa = 27; + $$059$lcssa = 27;$$lcssa = $27; } - $35 = ((($f)) + 52|0); - $36 = HEAP32[$35>>2]|0; - $37 = (($len$0$lcssa) + ($$lcssa))|0; - $38 = (($37) + ($36))|0; - $39 = ((($f)) + 56|0); - HEAP32[$39>>2] = $36; - $40 = ((($f)) + 60|0); - HEAP32[$40>>2] = $38; - $41 = ((($f)) + 64|0); - HEAP32[$41>>2] = $4; + $36 = ((($0)) + 52|0); + $37 = HEAP32[$36>>2]|0; + $38 = (($$059$lcssa) + ($$lcssa))|0; + $39 = (($38) + ($37))|0; + $$sroa$0$0$$sroa_idx = ((($0)) + 56|0); + HEAP32[$$sroa$0$0$$sroa_idx>>2] = $37; + $$sroa$5$0$$sroa_idx3 = ((($0)) + 60|0); + HEAP32[$$sroa$5$0$$sroa_idx3>>2] = $39; + $$sroa$6$0$$sroa_idx5 = ((($0)) + 64|0); + HEAP32[$$sroa$6$0$$sroa_idx5>>2] = $5; } - $42 = ((($f)) + 1380|0); - HEAP32[$42>>2] = 0; + $40 = ((($0)) + 1380|0); + HEAP32[$40>>2] = 0; $$0 = 1; return ($$0|0); } -function _start_packet($f) { - $f = $f|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; +function _get32($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = ((($f)) + 1380|0); - $1 = ((($f)) + 1375|0); + $1 = (_get8($0)|0); + $2 = $1&255; + $3 = (_get8($0)|0); + $4 = $3&255; + $5 = $4 << 8; + $6 = $5 | $2; + $7 = (_get8($0)|0); + $8 = $7&255; + $9 = $8 << 16; + $10 = $6 | $9; + $11 = (_get8($0)|0); + $12 = $11&255; + $13 = $12 << 24; + $14 = $10 | $13; + return ($14|0); +} +function _getn($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ((($0)) + 32|0); + $4 = HEAP32[$3>>2]|0; + $5 = ($4|0)==(0|0); + if ($5) { + $13 = ((($0)) + 20|0); + $14 = HEAP32[$13>>2]|0; + $15 = (_fread($1,$2,1,$14)|0); + $16 = ($15|0)==(1); + if ($16) { + $$0 = 1; + return ($$0|0); + } + $17 = ((($0)) + 96|0); + HEAP32[$17>>2] = 1; + $$0 = 0; + return ($$0|0); + } + $6 = (($4) + ($2)|0); + $7 = ((($0)) + 40|0); + $8 = HEAP32[$7>>2]|0; + $9 = ($6>>>0)>($8>>>0); + if ($9) { + $10 = ((($0)) + 96|0); + HEAP32[$10>>2] = 1; + $$0 = 0; + return ($$0|0); + } else { + _memcpy(($1|0),($4|0),($2|0))|0; + $11 = HEAP32[$3>>2]|0; + $12 = (($11) + ($2)|0); + HEAP32[$3>>2] = $12; + $$0 = 1; + return ($$0|0); + } + return (0)|0; +} +function _setup_temp_malloc($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = (($1) + 3)|0; + $3 = $2 & -4; + $4 = ((($0)) + 80|0); + $5 = HEAP32[$4>>2]|0; + $6 = ($5|0)==(0|0); + if ($6) { + $14 = (_malloc($3)|0); + $$0 = $14; + return ($$0|0); + } + $7 = ((($0)) + 92|0); + $8 = HEAP32[$7>>2]|0; + $9 = (($8) - ($3))|0; + $10 = ((($0)) + 88|0); + $11 = HEAP32[$10>>2]|0; + $12 = ($9|0)<($11|0); + if ($12) { + $$0 = 0; + return ($$0|0); + } + HEAP32[$7>>2] = $9; + $13 = (($5) + ($9)|0); + $$0 = $13; + return ($$0|0); +} +function _imdct_step3_iter0_loop($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$0100 = 0, $$09499 = 0, $$09598 = 0, $$09697 = 0, $10 = 0, $100 = 0.0, $101 = 0.0, $102 = 0.0, $103 = 0.0, $104 = 0.0, $105 = 0.0, $106 = 0.0, $107 = 0.0, $108 = 0, $109 = 0, $11 = 0.0, $110 = 0, $111 = 0, $112 = 0, $12 = 0.0; + var $13 = 0.0, $14 = 0, $15 = 0.0, $16 = 0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0, $25 = 0.0, $26 = 0.0, $27 = 0.0, $28 = 0.0, $29 = 0.0, $30 = 0.0, $31 = 0.0, $32 = 0.0; + var $33 = 0, $34 = 0, $35 = 0.0, $36 = 0, $37 = 0.0, $38 = 0.0, $39 = 0, $40 = 0.0, $41 = 0, $42 = 0.0, $43 = 0.0, $44 = 0.0, $45 = 0.0, $46 = 0.0, $47 = 0.0, $48 = 0.0, $49 = 0, $5 = 0, $50 = 0.0, $51 = 0.0; + var $52 = 0.0, $53 = 0.0, $54 = 0.0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0, $59 = 0, $6 = 0, $60 = 0.0, $61 = 0, $62 = 0.0, $63 = 0.0, $64 = 0, $65 = 0.0, $66 = 0, $67 = 0.0, $68 = 0.0, $69 = 0.0, $7 = 0; + var $70 = 0.0, $71 = 0.0, $72 = 0.0, $73 = 0.0, $74 = 0, $75 = 0.0, $76 = 0.0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0, $80 = 0.0, $81 = 0.0, $82 = 0.0, $83 = 0, $84 = 0, $85 = 0.0, $86 = 0, $87 = 0.0, $88 = 0.0; + var $89 = 0, $9 = 0, $90 = 0.0, $91 = 0, $92 = 0.0, $93 = 0.0, $94 = 0.0, $95 = 0.0, $96 = 0.0, $97 = 0.0, $98 = 0.0, $99 = 0, label = 0, sp = 0; + sp = STACKTOP; + $5 = (($1) + ($2<<2)|0); + $6 = $0 & 3; + $7 = ($6|0)==(0); + if (!($7)) { + ___assert_fail((16516|0),(16331|0),2007,(16529|0)); + // unreachable; + } + $8 = $0 >> 2; + $9 = ($8|0)>(0); + if (!($9)) { + return; + } + $10 = (($5) + ($3<<2)|0); + $$0100 = $4;$$09499 = $5;$$09598 = $8;$$09697 = $10; while(1) { - $2 = HEAP32[$0>>2]|0; - $3 = ($2|0)==(-1); - if (!($3)) { + $11 = +HEAPF32[$$09499>>2]; + $12 = +HEAPF32[$$09697>>2]; + $13 = $11 - $12; + $14 = ((($$09499)) + -4|0); + $15 = +HEAPF32[$14>>2]; + $16 = ((($$09697)) + -4|0); + $17 = +HEAPF32[$16>>2]; + $18 = $15 - $17; + $19 = $11 + $12; + HEAPF32[$$09499>>2] = $19; + $20 = +HEAPF32[$16>>2]; + $21 = $15 + $20; + HEAPF32[$14>>2] = $21; + $22 = +HEAPF32[$$0100>>2]; + $23 = $13 * $22; + $24 = ((($$0100)) + 4|0); + $25 = +HEAPF32[$24>>2]; + $26 = $18 * $25; + $27 = $23 - $26; + HEAPF32[$$09697>>2] = $27; + $28 = +HEAPF32[$$0100>>2]; + $29 = $18 * $28; + $30 = +HEAPF32[$24>>2]; + $31 = $13 * $30; + $32 = $29 + $31; + HEAPF32[$16>>2] = $32; + $33 = ((($$0100)) + 32|0); + $34 = ((($$09499)) + -8|0); + $35 = +HEAPF32[$34>>2]; + $36 = ((($$09697)) + -8|0); + $37 = +HEAPF32[$36>>2]; + $38 = $35 - $37; + $39 = ((($$09499)) + -12|0); + $40 = +HEAPF32[$39>>2]; + $41 = ((($$09697)) + -12|0); + $42 = +HEAPF32[$41>>2]; + $43 = $40 - $42; + $44 = $35 + $37; + HEAPF32[$34>>2] = $44; + $45 = +HEAPF32[$41>>2]; + $46 = $40 + $45; + HEAPF32[$39>>2] = $46; + $47 = +HEAPF32[$33>>2]; + $48 = $38 * $47; + $49 = ((($$0100)) + 36|0); + $50 = +HEAPF32[$49>>2]; + $51 = $43 * $50; + $52 = $48 - $51; + HEAPF32[$36>>2] = $52; + $53 = +HEAPF32[$33>>2]; + $54 = $43 * $53; + $55 = +HEAPF32[$49>>2]; + $56 = $38 * $55; + $57 = $54 + $56; + HEAPF32[$41>>2] = $57; + $58 = ((($$0100)) + 64|0); + $59 = ((($$09499)) + -16|0); + $60 = +HEAPF32[$59>>2]; + $61 = ((($$09697)) + -16|0); + $62 = +HEAPF32[$61>>2]; + $63 = $60 - $62; + $64 = ((($$09499)) + -20|0); + $65 = +HEAPF32[$64>>2]; + $66 = ((($$09697)) + -20|0); + $67 = +HEAPF32[$66>>2]; + $68 = $65 - $67; + $69 = $60 + $62; + HEAPF32[$59>>2] = $69; + $70 = +HEAPF32[$66>>2]; + $71 = $65 + $70; + HEAPF32[$64>>2] = $71; + $72 = +HEAPF32[$58>>2]; + $73 = $63 * $72; + $74 = ((($$0100)) + 68|0); + $75 = +HEAPF32[$74>>2]; + $76 = $68 * $75; + $77 = $73 - $76; + HEAPF32[$61>>2] = $77; + $78 = +HEAPF32[$58>>2]; + $79 = $68 * $78; + $80 = +HEAPF32[$74>>2]; + $81 = $63 * $80; + $82 = $79 + $81; + HEAPF32[$66>>2] = $82; + $83 = ((($$0100)) + 96|0); + $84 = ((($$09499)) + -24|0); + $85 = +HEAPF32[$84>>2]; + $86 = ((($$09697)) + -24|0); + $87 = +HEAPF32[$86>>2]; + $88 = $85 - $87; + $89 = ((($$09499)) + -28|0); + $90 = +HEAPF32[$89>>2]; + $91 = ((($$09697)) + -28|0); + $92 = +HEAPF32[$91>>2]; + $93 = $90 - $92; + $94 = $85 + $87; + HEAPF32[$84>>2] = $94; + $95 = +HEAPF32[$91>>2]; + $96 = $90 + $95; + HEAPF32[$89>>2] = $96; + $97 = +HEAPF32[$83>>2]; + $98 = $88 * $97; + $99 = ((($$0100)) + 100|0); + $100 = +HEAPF32[$99>>2]; + $101 = $93 * $100; + $102 = $98 - $101; + HEAPF32[$86>>2] = $102; + $103 = +HEAPF32[$83>>2]; + $104 = $93 * $103; + $105 = +HEAPF32[$99>>2]; + $106 = $88 * $105; + $107 = $104 + $106; + HEAPF32[$91>>2] = $107; + $108 = ((($$0100)) + 128|0); + $109 = ((($$09499)) + -32|0); + $110 = ((($$09697)) + -32|0); + $111 = (($$09598) + -1)|0; + $112 = ($$09598|0)>(1); + if ($112) { + $$0100 = $108;$$09499 = $109;$$09598 = $111;$$09697 = $110; + } else { + break; + } + } + return; +} +function _imdct_step3_inner_r_loop($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + var $$0103 = 0, $$097102 = 0, $$098101 = 0, $$099100 = 0, $10 = 0.0, $100 = 0.0, $101 = 0.0, $102 = 0.0, $103 = 0.0, $104 = 0.0, $105 = 0.0, $106 = 0.0, $107 = 0, $108 = 0, $109 = 0, $11 = 0.0, $110 = 0, $111 = 0, $12 = 0.0, $13 = 0; + var $14 = 0.0, $15 = 0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0.0, $28 = 0.0, $29 = 0.0, $30 = 0.0, $31 = 0.0, $32 = 0, $33 = 0; + var $34 = 0.0, $35 = 0, $36 = 0.0, $37 = 0.0, $38 = 0, $39 = 0.0, $40 = 0, $41 = 0.0, $42 = 0.0, $43 = 0.0, $44 = 0.0, $45 = 0.0, $46 = 0.0, $47 = 0.0, $48 = 0, $49 = 0.0, $50 = 0.0, $51 = 0.0, $52 = 0.0, $53 = 0.0; + var $54 = 0.0, $55 = 0.0, $56 = 0.0, $57 = 0, $58 = 0, $59 = 0.0, $6 = 0, $60 = 0, $61 = 0.0, $62 = 0.0, $63 = 0, $64 = 0.0, $65 = 0, $66 = 0.0, $67 = 0.0, $68 = 0.0, $69 = 0.0, $7 = 0, $70 = 0.0, $71 = 0.0; + var $72 = 0.0, $73 = 0, $74 = 0.0, $75 = 0.0, $76 = 0.0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0, $80 = 0.0, $81 = 0.0, $82 = 0, $83 = 0, $84 = 0.0, $85 = 0, $86 = 0.0, $87 = 0.0, $88 = 0, $89 = 0.0, $9 = 0; + var $90 = 0, $91 = 0.0, $92 = 0.0, $93 = 0.0, $94 = 0.0, $95 = 0.0, $96 = 0.0, $97 = 0.0, $98 = 0, $99 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $6 = (($1) + ($2<<2)|0); + $7 = $0 >> 2; + $8 = ($7|0)>(0); + if (!($8)) { + return; + } + $9 = (($6) + ($3<<2)|0); + $$0103 = $9;$$097102 = $6;$$098101 = $4;$$099100 = $7; + while(1) { + $10 = +HEAPF32[$$097102>>2]; + $11 = +HEAPF32[$$0103>>2]; + $12 = $10 - $11; + $13 = ((($$097102)) + -4|0); + $14 = +HEAPF32[$13>>2]; + $15 = ((($$0103)) + -4|0); + $16 = +HEAPF32[$15>>2]; + $17 = $14 - $16; + $18 = $10 + $11; + HEAPF32[$$097102>>2] = $18; + $19 = +HEAPF32[$15>>2]; + $20 = $14 + $19; + HEAPF32[$13>>2] = $20; + $21 = +HEAPF32[$$098101>>2]; + $22 = $12 * $21; + $23 = ((($$098101)) + 4|0); + $24 = +HEAPF32[$23>>2]; + $25 = $17 * $24; + $26 = $22 - $25; + HEAPF32[$$0103>>2] = $26; + $27 = +HEAPF32[$$098101>>2]; + $28 = $17 * $27; + $29 = +HEAPF32[$23>>2]; + $30 = $12 * $29; + $31 = $28 + $30; + HEAPF32[$15>>2] = $31; + $32 = (($$098101) + ($5<<2)|0); + $33 = ((($$097102)) + -8|0); + $34 = +HEAPF32[$33>>2]; + $35 = ((($$0103)) + -8|0); + $36 = +HEAPF32[$35>>2]; + $37 = $34 - $36; + $38 = ((($$097102)) + -12|0); + $39 = +HEAPF32[$38>>2]; + $40 = ((($$0103)) + -12|0); + $41 = +HEAPF32[$40>>2]; + $42 = $39 - $41; + $43 = $34 + $36; + HEAPF32[$33>>2] = $43; + $44 = +HEAPF32[$40>>2]; + $45 = $39 + $44; + HEAPF32[$38>>2] = $45; + $46 = +HEAPF32[$32>>2]; + $47 = $37 * $46; + $48 = ((($32)) + 4|0); + $49 = +HEAPF32[$48>>2]; + $50 = $42 * $49; + $51 = $47 - $50; + HEAPF32[$35>>2] = $51; + $52 = +HEAPF32[$32>>2]; + $53 = $42 * $52; + $54 = +HEAPF32[$48>>2]; + $55 = $37 * $54; + $56 = $53 + $55; + HEAPF32[$40>>2] = $56; + $57 = (($32) + ($5<<2)|0); + $58 = ((($$097102)) + -16|0); + $59 = +HEAPF32[$58>>2]; + $60 = ((($$0103)) + -16|0); + $61 = +HEAPF32[$60>>2]; + $62 = $59 - $61; + $63 = ((($$097102)) + -20|0); + $64 = +HEAPF32[$63>>2]; + $65 = ((($$0103)) + -20|0); + $66 = +HEAPF32[$65>>2]; + $67 = $64 - $66; + $68 = $59 + $61; + HEAPF32[$58>>2] = $68; + $69 = +HEAPF32[$65>>2]; + $70 = $64 + $69; + HEAPF32[$63>>2] = $70; + $71 = +HEAPF32[$57>>2]; + $72 = $62 * $71; + $73 = ((($57)) + 4|0); + $74 = +HEAPF32[$73>>2]; + $75 = $67 * $74; + $76 = $72 - $75; + HEAPF32[$60>>2] = $76; + $77 = +HEAPF32[$57>>2]; + $78 = $67 * $77; + $79 = +HEAPF32[$73>>2]; + $80 = $62 * $79; + $81 = $78 + $80; + HEAPF32[$65>>2] = $81; + $82 = (($57) + ($5<<2)|0); + $83 = ((($$097102)) + -24|0); + $84 = +HEAPF32[$83>>2]; + $85 = ((($$0103)) + -24|0); + $86 = +HEAPF32[$85>>2]; + $87 = $84 - $86; + $88 = ((($$097102)) + -28|0); + $89 = +HEAPF32[$88>>2]; + $90 = ((($$0103)) + -28|0); + $91 = +HEAPF32[$90>>2]; + $92 = $89 - $91; + $93 = $84 + $86; + HEAPF32[$83>>2] = $93; + $94 = +HEAPF32[$90>>2]; + $95 = $89 + $94; + HEAPF32[$88>>2] = $95; + $96 = +HEAPF32[$82>>2]; + $97 = $87 * $96; + $98 = ((($82)) + 4|0); + $99 = +HEAPF32[$98>>2]; + $100 = $92 * $99; + $101 = $97 - $100; + HEAPF32[$85>>2] = $101; + $102 = +HEAPF32[$82>>2]; + $103 = $92 * $102; + $104 = +HEAPF32[$98>>2]; + $105 = $87 * $104; + $106 = $103 + $105; + HEAPF32[$90>>2] = $106; + $107 = ((($$097102)) + -32|0); + $108 = ((($$0103)) + -32|0); + $109 = (($82) + ($5<<2)|0); + $110 = (($$099100) + -1)|0; + $111 = ($$099100|0)>(1); + if ($111) { + $$0103 = $108;$$097102 = $107;$$098101 = $109;$$099100 = $110; + } else { + break; + } + } + return; +} +function _imdct_step3_inner_s_loop($0,$1,$2,$3,$4,$5,$6) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + $6 = $6|0; + var $$0129132 = 0, $$0130131 = 0, $$0133 = 0, $10 = 0, $100 = 0.0, $101 = 0.0, $102 = 0.0, $103 = 0.0, $104 = 0.0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $11 = 0.0, $12 = 0, $13 = 0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0.0; + var $18 = 0, $19 = 0, $20 = 0.0, $21 = 0, $22 = 0, $23 = 0.0, $24 = 0, $25 = 0, $26 = 0.0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0.0, $32 = 0.0, $33 = 0.0, $34 = 0, $35 = 0.0, $36 = 0, $37 = 0.0; + var $38 = 0.0, $39 = 0.0, $40 = 0.0, $41 = 0.0, $42 = 0.0, $43 = 0.0, $44 = 0.0, $45 = 0.0, $46 = 0.0, $47 = 0.0, $48 = 0, $49 = 0.0, $50 = 0, $51 = 0.0, $52 = 0.0, $53 = 0, $54 = 0.0, $55 = 0, $56 = 0.0, $57 = 0.0; + var $58 = 0.0, $59 = 0.0, $60 = 0.0, $61 = 0.0, $62 = 0.0, $63 = 0.0, $64 = 0.0, $65 = 0.0, $66 = 0.0, $67 = 0, $68 = 0.0, $69 = 0, $7 = 0.0, $70 = 0.0, $71 = 0.0, $72 = 0, $73 = 0.0, $74 = 0, $75 = 0.0, $76 = 0.0; + var $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0, $80 = 0.0, $81 = 0.0, $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0.0, $86 = 0, $87 = 0.0, $88 = 0, $89 = 0.0, $9 = 0.0, $90 = 0.0, $91 = 0, $92 = 0.0, $93 = 0, $94 = 0.0; + var $95 = 0.0, $96 = 0.0, $97 = 0.0, $98 = 0.0, $99 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $7 = +HEAPF32[$4>>2]; + $8 = ((($4)) + 4|0); + $9 = +HEAPF32[$8>>2]; + $10 = (($4) + ($5<<2)|0); + $11 = +HEAPF32[$10>>2]; + $12 = (($5) + 1)|0; + $13 = (($4) + ($12<<2)|0); + $14 = +HEAPF32[$13>>2]; + $15 = $5 << 1; + $16 = (($4) + ($15<<2)|0); + $17 = +HEAPF32[$16>>2]; + $18 = $15 | 1; + $19 = (($4) + ($18<<2)|0); + $20 = +HEAPF32[$19>>2]; + $21 = ($5*3)|0; + $22 = (($4) + ($21<<2)|0); + $23 = +HEAPF32[$22>>2]; + $24 = (($21) + 1)|0; + $25 = (($4) + ($24<<2)|0); + $26 = +HEAPF32[$25>>2]; + $27 = (($1) + ($2<<2)|0); + $28 = ($0|0)>(0); + if (!($28)) { + return; + } + $29 = (($27) + ($3<<2)|0); + $30 = (0 - ($6))|0; + $$0129132 = $27;$$0130131 = $0;$$0133 = $29; + while(1) { + $31 = +HEAPF32[$$0129132>>2]; + $32 = +HEAPF32[$$0133>>2]; + $33 = $31 - $32; + $34 = ((($$0129132)) + -4|0); + $35 = +HEAPF32[$34>>2]; + $36 = ((($$0133)) + -4|0); + $37 = +HEAPF32[$36>>2]; + $38 = $35 - $37; + $39 = $31 + $32; + HEAPF32[$$0129132>>2] = $39; + $40 = +HEAPF32[$36>>2]; + $41 = $35 + $40; + HEAPF32[$34>>2] = $41; + $42 = $7 * $33; + $43 = $9 * $38; + $44 = $42 - $43; + HEAPF32[$$0133>>2] = $44; + $45 = $7 * $38; + $46 = $9 * $33; + $47 = $46 + $45; + HEAPF32[$36>>2] = $47; + $48 = ((($$0129132)) + -8|0); + $49 = +HEAPF32[$48>>2]; + $50 = ((($$0133)) + -8|0); + $51 = +HEAPF32[$50>>2]; + $52 = $49 - $51; + $53 = ((($$0129132)) + -12|0); + $54 = +HEAPF32[$53>>2]; + $55 = ((($$0133)) + -12|0); + $56 = +HEAPF32[$55>>2]; + $57 = $54 - $56; + $58 = $49 + $51; + HEAPF32[$48>>2] = $58; + $59 = +HEAPF32[$55>>2]; + $60 = $54 + $59; + HEAPF32[$53>>2] = $60; + $61 = $11 * $52; + $62 = $14 * $57; + $63 = $61 - $62; + HEAPF32[$50>>2] = $63; + $64 = $11 * $57; + $65 = $14 * $52; + $66 = $65 + $64; + HEAPF32[$55>>2] = $66; + $67 = ((($$0129132)) + -16|0); + $68 = +HEAPF32[$67>>2]; + $69 = ((($$0133)) + -16|0); + $70 = +HEAPF32[$69>>2]; + $71 = $68 - $70; + $72 = ((($$0129132)) + -20|0); + $73 = +HEAPF32[$72>>2]; + $74 = ((($$0133)) + -20|0); + $75 = +HEAPF32[$74>>2]; + $76 = $73 - $75; + $77 = $68 + $70; + HEAPF32[$67>>2] = $77; + $78 = +HEAPF32[$74>>2]; + $79 = $73 + $78; + HEAPF32[$72>>2] = $79; + $80 = $17 * $71; + $81 = $20 * $76; + $82 = $80 - $81; + HEAPF32[$69>>2] = $82; + $83 = $17 * $76; + $84 = $20 * $71; + $85 = $84 + $83; + HEAPF32[$74>>2] = $85; + $86 = ((($$0129132)) + -24|0); + $87 = +HEAPF32[$86>>2]; + $88 = ((($$0133)) + -24|0); + $89 = +HEAPF32[$88>>2]; + $90 = $87 - $89; + $91 = ((($$0129132)) + -28|0); + $92 = +HEAPF32[$91>>2]; + $93 = ((($$0133)) + -28|0); + $94 = +HEAPF32[$93>>2]; + $95 = $92 - $94; + $96 = $87 + $89; + HEAPF32[$86>>2] = $96; + $97 = +HEAPF32[$93>>2]; + $98 = $92 + $97; + HEAPF32[$91>>2] = $98; + $99 = $23 * $90; + $100 = $26 * $95; + $101 = $99 - $100; + HEAPF32[$88>>2] = $101; + $102 = $23 * $95; + $103 = $26 * $90; + $104 = $103 + $102; + HEAPF32[$93>>2] = $104; + $105 = (($$0129132) + ($30<<2)|0); + $106 = (($$0133) + ($30<<2)|0); + $107 = (($$0130131) + -1)|0; + $108 = ($$0130131|0)>(1); + if ($108) { + $$0129132 = $105;$$0130131 = $107;$$0133 = $106; + } else { + break; + } + } + return; +} +function _imdct_step3_inner_s_loop_ld654($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$086 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0.0, $14 = 0, $15 = 0.0, $16 = 0.0, $17 = 0, $18 = 0.0, $19 = 0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0, $25 = 0.0, $26 = 0, $27 = 0.0, $28 = 0.0; + var $29 = 0, $30 = 0.0, $31 = 0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0.0, $36 = 0.0, $37 = 0.0, $38 = 0.0, $39 = 0.0, $40 = 0, $41 = 0.0, $42 = 0, $43 = 0.0, $44 = 0.0, $45 = 0, $46 = 0.0, $47 = 0, $48 = 0.0; + var $49 = 0.0, $5 = 0, $50 = 0.0, $51 = 0.0, $52 = 0, $53 = 0.0, $54 = 0, $55 = 0.0, $56 = 0.0, $57 = 0, $58 = 0.0, $59 = 0, $6 = 0, $60 = 0.0, $61 = 0.0, $62 = 0.0, $63 = 0.0, $64 = 0.0, $65 = 0.0, $66 = 0.0; + var $67 = 0.0, $68 = 0, $69 = 0, $7 = 0.0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $5 = $4 >> 3; + $6 = (($3) + ($5<<2)|0); + $7 = +HEAPF32[$6>>2]; + $8 = (($1) + ($2<<2)|0); + $9 = $0 << 4; + $10 = (0 - ($9))|0; + $11 = (($8) + ($10<<2)|0); + $12 = ($10|0)<(0); + if ($12) { + $$086 = $8; + } else { + return; + } + while(1) { + $13 = +HEAPF32[$$086>>2]; + $14 = ((($$086)) + -32|0); + $15 = +HEAPF32[$14>>2]; + $16 = $13 - $15; + $17 = ((($$086)) + -4|0); + $18 = +HEAPF32[$17>>2]; + $19 = ((($$086)) + -36|0); + $20 = +HEAPF32[$19>>2]; + $21 = $18 - $20; + $22 = $13 + $15; + HEAPF32[$$086>>2] = $22; + $23 = $18 + $20; + HEAPF32[$17>>2] = $23; + HEAPF32[$14>>2] = $16; + HEAPF32[$19>>2] = $21; + $24 = ((($$086)) + -8|0); + $25 = +HEAPF32[$24>>2]; + $26 = ((($$086)) + -40|0); + $27 = +HEAPF32[$26>>2]; + $28 = $25 - $27; + $29 = ((($$086)) + -12|0); + $30 = +HEAPF32[$29>>2]; + $31 = ((($$086)) + -44|0); + $32 = +HEAPF32[$31>>2]; + $33 = $30 - $32; + $34 = $25 + $27; + HEAPF32[$24>>2] = $34; + $35 = $30 + $32; + HEAPF32[$29>>2] = $35; + $36 = $28 + $33; + $37 = $7 * $36; + HEAPF32[$26>>2] = $37; + $38 = $33 - $28; + $39 = $7 * $38; + HEAPF32[$31>>2] = $39; + $40 = ((($$086)) + -48|0); + $41 = +HEAPF32[$40>>2]; + $42 = ((($$086)) + -16|0); + $43 = +HEAPF32[$42>>2]; + $44 = $41 - $43; + $45 = ((($$086)) + -20|0); + $46 = +HEAPF32[$45>>2]; + $47 = ((($$086)) + -52|0); + $48 = +HEAPF32[$47>>2]; + $49 = $46 - $48; + $50 = $41 + $43; + HEAPF32[$42>>2] = $50; + $51 = $46 + $48; + HEAPF32[$45>>2] = $51; + HEAPF32[$40>>2] = $49; + HEAPF32[$47>>2] = $44; + $52 = ((($$086)) + -56|0); + $53 = +HEAPF32[$52>>2]; + $54 = ((($$086)) + -24|0); + $55 = +HEAPF32[$54>>2]; + $56 = $53 - $55; + $57 = ((($$086)) + -28|0); + $58 = +HEAPF32[$57>>2]; + $59 = ((($$086)) + -60|0); + $60 = +HEAPF32[$59>>2]; + $61 = $58 - $60; + $62 = $53 + $55; + HEAPF32[$54>>2] = $62; + $63 = $58 + $60; + HEAPF32[$57>>2] = $63; + $64 = $56 + $61; + $65 = $7 * $64; + HEAPF32[$52>>2] = $65; + $66 = $56 - $61; + $67 = $7 * $66; + HEAPF32[$59>>2] = $67; + _iter_54($$086); + _iter_54($14); + $68 = ((($$086)) + -64|0); + $69 = ($68>>>0)>($11>>>0); + if ($69) { + $$086 = $68; + } else { + break; + } + } + return; +} +function _iter_54($0) { + $0 = $0|0; + var $1 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0, $15 = 0.0, $16 = 0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $2 = 0, $20 = 0.0, $21 = 0, $22 = 0.0, $23 = 0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0.0; + var $28 = 0.0, $29 = 0.0, $3 = 0.0, $30 = 0.0, $31 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $1 = +HEAPF32[$0>>2]; + $2 = ((($0)) + -16|0); + $3 = +HEAPF32[$2>>2]; + $4 = $1 - $3; + $5 = $1 + $3; + $6 = ((($0)) + -8|0); + $7 = +HEAPF32[$6>>2]; + $8 = ((($0)) + -24|0); + $9 = +HEAPF32[$8>>2]; + $10 = $7 + $9; + $11 = $7 - $9; + $12 = $5 + $10; + HEAPF32[$0>>2] = $12; + $13 = $5 - $10; + HEAPF32[$6>>2] = $13; + $14 = ((($0)) + -12|0); + $15 = +HEAPF32[$14>>2]; + $16 = ((($0)) + -28|0); + $17 = +HEAPF32[$16>>2]; + $18 = $15 - $17; + $19 = $4 + $18; + HEAPF32[$2>>2] = $19; + $20 = $4 - $18; + HEAPF32[$8>>2] = $20; + $21 = ((($0)) + -4|0); + $22 = +HEAPF32[$21>>2]; + $23 = ((($0)) + -20|0); + $24 = +HEAPF32[$23>>2]; + $25 = $22 - $24; + $26 = $22 + $24; + $27 = $15 + $17; + $28 = $27 + $26; + HEAPF32[$21>>2] = $28; + $29 = $26 - $27; + HEAPF32[$14>>2] = $29; + $30 = $25 - $11; + HEAPF32[$23>>2] = $30; + $31 = $11 + $25; + HEAPF32[$16>>2] = $31; + return; +} +function _draw_line($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + var $$ = 0, $$0$pn = 0, $$05368 = 0, $$056 = 0, $$05666 = 0, $$05669 = 0, $$1 = 0, $$155 = 0, $$155$sink67 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0.0, $19 = 0, $20 = 0.0; + var $21 = 0.0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0.0, $29 = 0, $30 = 0.0, $31 = 0.0, $32 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $ispos = 0, $ispos58 = 0, $neg = 0, $neg59 = 0; + var label = 0, sp = 0; + sp = STACKTOP; + $6 = (($4) - ($2))|0; + $7 = (($3) - ($1))|0; + $ispos = ($6|0)>(-1); + $neg = (0 - ($6))|0; + $8 = $ispos ? $6 : $neg; + $9 = (($6|0) / ($7|0))&-1; + $10 = $6 >> 31; + $11 = $10 | 1; + $ispos58 = ($9|0)>(-1); + $neg59 = (0 - ($9))|0; + $12 = $ispos58 ? $9 : $neg59; + $13 = Math_imul($12, $7)|0; + $14 = (($8) - ($13))|0; + $15 = ($3|0)>($5|0); + $$ = $15 ? $5 : $3; + $16 = ($$|0)>($1|0); + if (!($16)) { + return; + } + $17 = (3768 + ($2<<2)|0); + $18 = +HEAPF32[$17>>2]; + $19 = (($0) + ($1<<2)|0); + $20 = +HEAPF32[$19>>2]; + $21 = $18 * $20; + HEAPF32[$19>>2] = $21; + $$05666 = (($1) + 1)|0; + $22 = ($$05666|0)<($$|0); + if ($22) { + $$05368 = 0;$$05669 = $$05666;$$155$sink67 = $2; + } else { + return; + } + while(1) { + $23 = (($$05368) + ($14))|0; + $24 = ($23|0)<($7|0); + $25 = $24 ? 0 : $11; + $26 = $24 ? 0 : $7; + $$1 = (($23) - ($26))|0; + $$0$pn = (($$155$sink67) + ($9))|0; + $$155 = (($$0$pn) + ($25))|0; + $27 = (3768 + ($$155<<2)|0); + $28 = +HEAPF32[$27>>2]; + $29 = (($0) + ($$05669<<2)|0); + $30 = +HEAPF32[$29>>2]; + $31 = $28 * $30; + HEAPF32[$29>>2] = $31; + $$056 = (($$05669) + 1)|0; + $32 = ($$056|0)<($$|0); + if ($32) { + $$05368 = $$1;$$05669 = $$056;$$155$sink67 = $$155; + } else { + break; + } + } + return; +} +function _make_block_array($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$01617 = 0, $$018 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $exitcond = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ($1|0)>(0); + if (!($3)) { + return ($0|0); + } + $4 = (($0) + ($1<<2)|0); + $$01617 = 0;$$018 = $4; + while(1) { + $5 = (($0) + ($$01617<<2)|0); + HEAP32[$5>>2] = $$018; + $6 = (($$018) + ($2)|0); + $7 = (($$01617) + 1)|0; + $exitcond = ($7|0)==($1|0); + if ($exitcond) { + break; + } else { + $$01617 = $7;$$018 = $6; + } + } + return ($0|0); +} +function _codebook_decode_deinterleave_repeat($0,$1,$2,$3,$4,$5,$6,$7) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + $6 = $6|0; + $7 = $7|0; + var $$ = 0, $$$1115 = 0, $$$3117 = 0, $$0100145 = 0, $$0102$lcssa = 0, $$0102144 = 0, $$0105133 = 0.0, $$0107143 = 0, $$0112132 = 0, $$0114$lcssa = 0, $$0114142 = 0, $$1103134 = 0, $$1108 = 0, $$1111 = 0, $$1113137 = 0, $$1115131 = 0, $$121 = 0, $$122 = 0, $$123 = 0, $$2 = 0; + var $$3117136 = 0, $$3138 = 0, $$5 = 0, $$5119 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; + var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; + var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0; + var $66 = 0.0, $67 = 0.0, $68 = 0, $69 = 0, $70 = 0, $71 = 0, $72 = 0.0, $73 = 0.0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0.0; + var $85 = 0.0, $86 = 0, $87 = 0.0, $88 = 0.0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $exitcond = 0, $exitcond150 = 0, label = 0, sp = 0; + sp = STACKTOP; + $8 = HEAP32[$4>>2]|0; + $9 = HEAP32[$5>>2]|0; + $10 = HEAP32[$1>>2]|0; + $11 = ((($1)) + 21|0); + $12 = HEAP8[$11>>0]|0; + $13 = ($12<<24>>24)==(0); + if ($13) { + _error($0,21); + $$2 = 0; + return ($$2|0); + } + $14 = ($7|0)>(0); + L5: do { + if ($14) { + $15 = ((($0)) + 1396|0); + $16 = ((($0)) + 1392|0); + $17 = ((($1)) + 8|0); + $18 = ((($1)) + 23|0); + $19 = Math_imul($6, $3)|0; + $20 = ((($1)) + 22|0); + $21 = ((($1)) + 28|0); + $22 = ((($1)) + 28|0); + $23 = ((($1)) + 2092|0); + $$0100145 = $7;$$0102144 = $8;$$0107143 = $10;$$0114142 = $9; + while(1) { + $24 = HEAP32[$15>>2]|0; + $25 = ($24|0)<(10); + if ($25) { + _prep_huffman($0); + } + $26 = HEAP32[$16>>2]|0; + $27 = $26 & 1023; + $28 = (((($1)) + 36|0) + ($27<<1)|0); + $29 = HEAP16[$28>>1]|0; + $30 = $29 << 16 >> 16; + $31 = ($29<<16>>16)>(-1); + if ($31) { + $32 = HEAP32[$17>>2]|0; + $33 = (($32) + ($30)|0); + $34 = HEAP8[$33>>0]|0; + $35 = $34&255; + $36 = $26 >>> $35; + HEAP32[$16>>2] = $36; + $37 = HEAP32[$15>>2]|0; + $38 = (($37) - ($35))|0; + $39 = ($38|0)<(0); + $$ = $39 ? 0 : $38; + $$121 = $39 ? -1 : $30; + HEAP32[$15>>2] = $$; + $$1111 = $$121; + } else { + $40 = (_codebook_decode_scalar_raw($0,$1)|0); + $$1111 = $40; + } + $41 = HEAP8[$18>>0]|0; + $42 = ($41<<24>>24)==(0); + if (!($42)) { + $43 = HEAP32[$23>>2]|0; + $44 = ($$1111|0)<($43|0); + if (!($44)) { + label = 12; + break; + } + } + $45 = ($$1111|0)<(0); + if ($45) { + break; + } + $52 = Math_imul($$0114142, $3)|0; + $53 = (($$0107143) + ($52))|0; + $54 = (($53) + ($$0102144))|0; + $55 = ($54|0)>($19|0); + $56 = (($19) - ($52))|0; + $57 = (($56) + ($$0102144))|0; + $$1108 = $55 ? $57 : $$0107143; + $58 = HEAP32[$1>>2]|0; + $59 = Math_imul($58, $$1111)|0; + $60 = HEAP8[$20>>0]|0; + $61 = ($60<<24>>24)==(0); + $62 = ($$1108|0)>(0); + if ($61) { + if ($62) { + $$1113137 = 0;$$3117136 = $$0114142;$$3138 = $$0102144; + while(1) { + $78 = (($2) + ($$3138<<2)|0); + $79 = HEAP32[$78>>2]|0; + $80 = ($79|0)==(0|0); + if (!($80)) { + $81 = HEAP32[$21>>2]|0; + $82 = (($$1113137) + ($59))|0; + $83 = (($81) + ($82<<2)|0); + $84 = +HEAPF32[$83>>2]; + $85 = $84 + 0.0; + $86 = (($79) + ($$3117136<<2)|0); + $87 = +HEAPF32[$86>>2]; + $88 = $87 + $85; + HEAPF32[$86>>2] = $88; + } + $89 = (($$3138) + 1)|0; + $90 = ($89|0)==($3|0); + $91 = $90&1; + $$$3117 = (($91) + ($$3117136))|0; + $$123 = $90 ? 0 : $89; + $92 = (($$1113137) + 1)|0; + $exitcond150 = ($92|0)==($$1108|0); + if ($exitcond150) { + $$5 = $$123;$$5119 = $$$3117; + break; + } else { + $$1113137 = $92;$$3117136 = $$$3117;$$3138 = $$123; + } + } + } else { + $$5 = $$0102144;$$5119 = $$0114142; + } + } else { + if ($62) { + $63 = HEAP32[$22>>2]|0; + $$0105133 = 0.0;$$0112132 = 0;$$1103134 = $$0102144;$$1115131 = $$0114142; + while(1) { + $64 = (($$0112132) + ($59))|0; + $65 = (($63) + ($64<<2)|0); + $66 = +HEAPF32[$65>>2]; + $67 = $$0105133 + $66; + $68 = (($2) + ($$1103134<<2)|0); + $69 = HEAP32[$68>>2]|0; + $70 = ($69|0)==(0|0); + $71 = (($69) + ($$1115131<<2)|0); + if (!($70)) { + $72 = +HEAPF32[$71>>2]; + $73 = $67 + $72; + HEAPF32[$71>>2] = $73; + } + $74 = (($$1103134) + 1)|0; + $75 = ($74|0)==($3|0); + $76 = $75&1; + $$$1115 = (($76) + ($$1115131))|0; + $$122 = $75 ? 0 : $74; + $77 = (($$0112132) + 1)|0; + $exitcond = ($77|0)==($$1108|0); + if ($exitcond) { + $$5 = $$122;$$5119 = $$$1115; + break; + } else { + $$0105133 = $67;$$0112132 = $77;$$1103134 = $$122;$$1115131 = $$$1115; + } + } + } else { + $$5 = $$0102144;$$5119 = $$0114142; + } + } + $93 = (($$0100145) - ($$1108))|0; + $94 = ($93|0)>(0); + if ($94) { + $$0100145 = $93;$$0102144 = $$5;$$0107143 = $$1108;$$0114142 = $$5119; + } else { + $$0102$lcssa = $$5;$$0114$lcssa = $$5119; + break L5; + } + } + if ((label|0) == 12) { + ___assert_fail((16596|0),(16331|0),1436,(16632|0)); + // unreachable; + } + $46 = ((($0)) + 1376|0); + $47 = HEAP8[$46>>0]|0; + $48 = ($47<<24>>24)==(0); + if ($48) { + $49 = ((($0)) + 1384|0); + $50 = HEAP32[$49>>2]|0; + $51 = ($50|0)==(0); + if (!($51)) { + $$2 = 0; + return ($$2|0); + } + } + _error($0,21); + $$2 = 0; + return ($$2|0); + } else { + $$0102$lcssa = $8;$$0114$lcssa = $9; + } + } while(0); + HEAP32[$4>>2] = $$0102$lcssa; + HEAP32[$5>>2] = $$0114$lcssa; + $$2 = 1; + return ($$2|0); +} +function _residue_decode($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + var $$03237 = 0, $$03440 = 0, $$1 = 0, $$13341 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; + var $26 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $6 = ($5|0)==(0); + if ($6) { + $8 = HEAP32[$1>>2]|0; + $9 = (($4|0) / ($8|0))&-1; + $10 = (($2) + ($3<<2)|0); + $11 = ($9|0)>(0); + if (!($11)) { + $$1 = 1; + return ($$1|0); + } + $12 = (($4) - ($3))|0; + $$03237 = 0; + while(1) { + $15 = (($10) + ($$03237<<2)|0); + $16 = (($12) - ($$03237))|0; + $17 = (_codebook_decode_step($0,$1,$15,$16,$9)|0); + $18 = ($17|0)==(0); + $14 = (($$03237) + 1)|0; + if ($18) { + $$1 = 0; + label = 10; + break; + } + $13 = ($14|0)<($9|0); + if ($13) { + $$03237 = $14; + } else { + $$1 = 1; + label = 10; + break; + } + } + if ((label|0) == 10) { + return ($$1|0); + } + } else { + $7 = ($4|0)>(0); + if (!($7)) { + $$1 = 1; + return ($$1|0); + } + $$03440 = $3;$$13341 = 0; + while(1) { + $19 = (($2) + ($$03440<<2)|0); + $20 = (($4) - ($$13341))|0; + $21 = (_codebook_decode($0,$1,$19,$20)|0); + $22 = ($21|0)==(0); + if ($22) { + $$1 = 0; + label = 10; + break; + } + $23 = HEAP32[$1>>2]|0; + $24 = (($23) + ($$13341))|0; + $25 = (($23) + ($$03440))|0; + $26 = ($24|0)<($4|0); + if ($26) { + $$03440 = $25;$$13341 = $24; + } else { + $$1 = 1; + label = 10; + break; + } + } + if ((label|0) == 10) { + return ($$1|0); + } + } + return (0)|0; +} +function _codebook_decode_step($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$ = 0, $$0 = 0, $$028$ = 0.0, $$02832 = 0.0, $$02931 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0.0, $19 = 0.0, $20 = 0, $21 = 0, $22 = 0.0, $23 = 0.0, $24 = 0; + var $25 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $5 = (_codebook_decode_start($0,$1)|0); + $6 = ($5|0)<(0); + if ($6) { + $$0 = 0; + return ($$0|0); + } + $7 = HEAP32[$1>>2]|0; + $8 = ($7|0)<($3|0); + $$ = $8 ? $7 : $3; + $9 = Math_imul($7, $5)|0; + $10 = ($$|0)>(0); + if (!($10)) { + $$0 = 1; + return ($$0|0); + } + $11 = ((($1)) + 28|0); + $12 = HEAP32[$11>>2]|0; + $13 = ((($1)) + 22|0); + $14 = HEAP8[$13>>0]|0; + $15 = ($14<<24>>24)==(0); + $$02832 = 0.0;$$02931 = 0; + while(1) { + $16 = (($$02931) + ($9))|0; + $17 = (($12) + ($16<<2)|0); + $18 = +HEAPF32[$17>>2]; + $19 = $$02832 + $18; + $20 = Math_imul($$02931, $4)|0; + $21 = (($2) + ($20<<2)|0); + $22 = +HEAPF32[$21>>2]; + $23 = $22 + $19; + HEAPF32[$21>>2] = $23; + $$028$ = $15 ? $$02832 : $19; + $24 = (($$02931) + 1)|0; + $25 = ($24|0)<($$|0); + if ($25) { + $$02832 = $$028$;$$02931 = $24; + } else { + $$0 = 1; + break; + } + } + return ($$0|0); +} +function _codebook_decode($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$ = 0, $$0 = 0, $$04046 = 0.0, $$04145 = 0, $$144 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0.0, $21 = 0.0, $22 = 0, $23 = 0.0, $24 = 0.0; + var $25 = 0.0, $26 = 0.0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0.0, $32 = 0.0, $33 = 0, $34 = 0.0, $35 = 0.0, $36 = 0, $37 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; + var sp = 0; + sp = STACKTOP; + $4 = (_codebook_decode_start($0,$1)|0); + $5 = ($4|0)<(0); + if ($5) { + $$0 = 0; + return ($$0|0); + } + $6 = HEAP32[$1>>2]|0; + $7 = ($6|0)<($3|0); + $$ = $7 ? $6 : $3; + $8 = Math_imul($6, $4)|0; + $9 = ((($1)) + 22|0); + $10 = HEAP8[$9>>0]|0; + $11 = ($10<<24>>24)==(0); + $12 = ($$|0)>(0); + if ($11) { + if (!($12)) { + $$0 = 1; + return ($$0|0); + } + $16 = ((($1)) + 28|0); + $17 = HEAP32[$16>>2]|0; + $$144 = 0; + while(1) { + $29 = (($$144) + ($8))|0; + $30 = (($17) + ($29<<2)|0); + $31 = +HEAPF32[$30>>2]; + $32 = $31 + 0.0; + $33 = (($2) + ($$144<<2)|0); + $34 = +HEAPF32[$33>>2]; + $35 = $34 + $32; + HEAPF32[$33>>2] = $35; + $36 = (($$144) + 1)|0; + $37 = ($36|0)<($$|0); + if ($37) { + $$144 = $36; + } else { + $$0 = 1; + break; + } + } + return ($$0|0); + } else { + if (!($12)) { + $$0 = 1; + return ($$0|0); + } + $13 = ((($1)) + 28|0); + $14 = HEAP32[$13>>2]|0; + $15 = ((($1)) + 12|0); + $$04046 = 0.0;$$04145 = 0; + while(1) { + $18 = (($$04145) + ($8))|0; + $19 = (($14) + ($18<<2)|0); + $20 = +HEAPF32[$19>>2]; + $21 = $$04046 + $20; + $22 = (($2) + ($$04145<<2)|0); + $23 = +HEAPF32[$22>>2]; + $24 = $23 + $21; + HEAPF32[$22>>2] = $24; + $25 = +HEAPF32[$15>>2]; + $26 = $21 + $25; + $27 = (($$04145) + 1)|0; + $28 = ($27|0)<($$|0); + if ($28) { + $$04046 = $26;$$04145 = $27; + } else { + $$0 = 1; + break; + } + } + return ($$0|0); + } + return (0)|0; +} +function _codebook_decode_start($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$ = 0, $$0 = 0, $$1 = 0, $$30 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; + var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; + var label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($1)) + 21|0); + $3 = HEAP8[$2>>0]|0; + $4 = ($3<<24>>24)==(0); + if ($4) { + _error($0,21); + $$0 = -1; + return ($$0|0); + } + $5 = ((($0)) + 1396|0); + $6 = HEAP32[$5>>2]|0; + $7 = ($6|0)<(10); + if ($7) { + _prep_huffman($0); + } + $8 = ((($0)) + 1392|0); + $9 = HEAP32[$8>>2]|0; + $10 = $9 & 1023; + $11 = (((($1)) + 36|0) + ($10<<1)|0); + $12 = HEAP16[$11>>1]|0; + $13 = $12 << 16 >> 16; + $14 = ($12<<16>>16)>(-1); + if ($14) { + $15 = ((($1)) + 8|0); + $16 = HEAP32[$15>>2]|0; + $17 = (($16) + ($13)|0); + $18 = HEAP8[$17>>0]|0; + $19 = $18&255; + $20 = $9 >>> $19; + HEAP32[$8>>2] = $20; + $21 = HEAP32[$5>>2]|0; + $22 = (($21) - ($19))|0; + $23 = ($22|0)<(0); + $$ = $23 ? 0 : $22; + $$30 = $23 ? -1 : $13; + HEAP32[$5>>2] = $$; + $$1 = $$30; + } else { + $24 = (_codebook_decode_scalar_raw($0,$1)|0); + $$1 = $24; + } + $25 = ((($1)) + 23|0); + $26 = HEAP8[$25>>0]|0; + $27 = ($26<<24>>24)==(0); + if (!($27)) { + $28 = ((($1)) + 2092|0); + $29 = HEAP32[$28>>2]|0; + $30 = ($$1|0)<($29|0); + if (!($30)) { + ___assert_fail((16552|0),(16331|0),1342,(16574|0)); + // unreachable; + } + } + $31 = ($$1|0)<(0); + if (!($31)) { + $$0 = $$1; + return ($$0|0); + } + $32 = ((($0)) + 1376|0); + $33 = HEAP8[$32>>0]|0; + $34 = ($33<<24>>24)==(0); + if ($34) { + $35 = ((($0)) + 1384|0); + $36 = HEAP32[$35>>2]|0; + $37 = ($36|0)==(0); + if (!($37)) { + $$0 = $$1; + return ($$0|0); + } + } + _error($0,21); + $$0 = $$1; + return ($$0|0); +} +function _bit_reverse($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0; + var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = $0 >>> 1; + $2 = $1 & 1431655765; + $3 = $0 << 1; + $4 = $3 & -1431655766; + $5 = $2 | $4; + $6 = $5 >>> 2; + $7 = $6 & 858993459; + $8 = $5 << 2; + $9 = $8 & -858993460; + $10 = $7 | $9; + $11 = $10 >>> 4; + $12 = $11 & 252645135; + $13 = $10 << 4; + $14 = $13 & -252645136; + $15 = $12 | $14; + $16 = $15 >>> 8; + $17 = $16 & 16711935; + $18 = $15 << 8; + $19 = $18 & -16711936; + $20 = $17 | $19; + $21 = $20 >>> 16; + $22 = $20 << 16; + $23 = $21 | $22; + return ($23|0); +} +function _maybe_start_packet($0) { + $0 = $0|0; + var $$1 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $3 = 0, $4 = 0, $5 = 0; + var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 1380|0); + $2 = HEAP32[$1>>2]|0; + $3 = ($2|0)==(-1); + if ($3) { + $4 = (_get8($0)|0); + $5 = ((($0)) + 96|0); + $6 = HEAP32[$5>>2]|0; + $7 = ($6|0)==(0); + if (!($7)) { + $$1 = 0; + return ($$1|0); + } + $8 = ($4<<24>>24)==(79); + if (!($8)) { + _error($0,30); + $$1 = 0; + return ($$1|0); + } + $9 = (_get8($0)|0); + $10 = ($9<<24>>24)==(103); + if (!($10)) { + _error($0,30); + $$1 = 0; + return ($$1|0); + } + $11 = (_get8($0)|0); + $12 = ($11<<24>>24)==(103); + if (!($12)) { + _error($0,30); + $$1 = 0; + return ($$1|0); + } + $13 = (_get8($0)|0); + $14 = ($13<<24>>24)==(83); + if (!($14)) { + _error($0,30); + $$1 = 0; + return ($$1|0); + } + $15 = (_start_page_no_capturepattern($0)|0); + $16 = ($15|0)==(0); + if ($16) { + $$1 = 0; + return ($$1|0); + } + $17 = ((($0)) + 1375|0); + $18 = HEAP8[$17>>0]|0; + $19 = $18 & 1; + $20 = ($19<<24>>24)==(0); + if (!($20)) { + $21 = ((($0)) + 1384|0); + HEAP32[$21>>2] = 0; + $22 = ((($0)) + 1376|0); + HEAP8[$22>>0] = 0; + _error($0,32); + $$1 = 0; + return ($$1|0); + } + } + $23 = (_start_packet($0)|0); + $$1 = $23; + return ($$1|0); +} +function _get8_packet($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (_get8_packet_raw($0)|0); + $2 = ((($0)) + 1396|0); + HEAP32[$2>>2] = 0; + return ($1|0); +} +function _start_packet($0) { + $0 = $0|0; + var $$0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 1380|0); + $2 = ((($0)) + 1375|0); + while(1) { + $3 = HEAP32[$1>>2]|0; + $4 = ($3|0)==(-1); + if (!($4)) { label = 6; break; } - $4 = (_start_page($f)|0); - $5 = ($4|0)==(0); - if ($5) { + $5 = (_start_page($0)|0); + $6 = ($5|0)==(0); + if ($6) { $$0 = 0; label = 7; break; } - $6 = HEAP8[$1>>0]|0; - $7 = $6 & 1; - $8 = ($7<<24>>24)==(0); - if (!($8)) { + $7 = HEAP8[$2>>0]|0; + $8 = $7 & 1; + $9 = ($8<<24>>24)==(0); + if (!($9)) { label = 5; break; } } if ((label|0) == 5) { - _error($f,32); + _error($0,32); $$0 = 0; return ($$0|0); } else if ((label|0) == 6) { - $9 = ((($f)) + 1384|0); - HEAP32[$9>>2] = 0; - $10 = ((($f)) + 1396|0); + $10 = ((($0)) + 1384|0); HEAP32[$10>>2] = 0; - $11 = ((($f)) + 1400|0); + $11 = ((($0)) + 1396|0); HEAP32[$11>>2] = 0; - $12 = ((($f)) + 1376|0); - HEAP8[$12>>0] = 0; + $12 = ((($0)) + 1400|0); + HEAP32[$12>>2] = 0; + $13 = ((($0)) + 1376|0); + HEAP8[$13>>0] = 0; $$0 = 1; return ($$0|0); } @@ -28585,403 +46313,3310 @@ function _start_packet($f) { } return (0)|0; } -function _vorbis_decode_initial($f,$p_left_start,$p_left_end,$p_right_start,$p_right_end,$mode) { - $f = $f|0; - $p_left_start = $p_left_start|0; - $p_left_end = $p_left_end|0; - $p_right_start = $p_right_start|0; - $p_right_end = $p_right_end|0; - $mode = $mode|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; - var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0; - var $7 = 0, $8 = 0, $9 = 0, $n$0 = 0, $next$0 = 0, $or$cond = 0, $or$cond3 = 0, $phitmp = 0, $prev$0 = 0, $storemerge = 0, $storemerge4 = 0, label = 0, sp = 0; +function _compute_stereo_samples($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$$076 = 0, $$0 = 0, $$07386 = 0, $$07488 = 0, $$07593 = 0, $$07692 = 0, $$184 = 0, $$283 = 0, $$390 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0; + var $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0.0, $31 = 0, $32 = 0, $33 = 0.0, $34 = 0.0, $35 = 0, $36 = 0, $37 = 0.0, $38 = 0.0, $39 = 0, $40 = 0; + var $41 = 0, $42 = 0, $43 = 0.0, $44 = 0, $45 = 0, $46 = 0.0, $47 = 0.0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0.0, $53 = 0, $54 = 0, $55 = 0, $56 = 0.0, $57 = 0.0, $58 = 0, $59 = 0; + var $6 = 0, $60 = 0, $61 = 0, $62 = 0.0, $63 = 0.0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $8 = 0, $9 = 0; + var $exitcond = 0, $trunc = 0, $trunc$clear = 0, dest = 0, label = 0, sp = 0, stop = 0; sp = STACKTOP; - $0 = ((($f)) + 1508|0); - HEAP32[$0>>2] = 0; - $1 = ((($f)) + 1504|0); - HEAP32[$1>>2] = 0; - $2 = ((($f)) + 96|0); - $3 = HEAP32[$2>>2]|0; - $4 = ($3|0)==(0); - if (!($4)) { - $$0 = 0; - return ($$0|0); + STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0); + $5 = sp; + $6 = ($4|0)>(0); + if (!($6)) { + STACKTOP = sp;return; } - $5 = ((($f)) + 48|0); + $7 = ($1|0)>(0); + $$07593 = 0;$$07692 = 16; while(1) { - $8 = (_maybe_start_packet($f)|0); - $9 = ($8|0)==(0); - if ($9) { - $$0 = 0; - label = 24; - break; - } - $10 = (_get_bits($f,1)|0); - $11 = ($10|0)==(0); - if ($11) { - label = 9; - break; - } - $12 = HEAP8[$5>>0]|0; - $13 = ($12<<24>>24)==(0); - if (!($13)) { - label = 7; - break; - } - while(1) { - $14 = (_get8_packet($f)|0); - $15 = ($14|0)==(-1); - if ($15) { - break; - } - } - $6 = HEAP32[$2>>2]|0; - $7 = ($6|0)==(0); - if (!($7)) { - $$0 = 0; - label = 24; - break; - } - } - if ((label|0) == 7) { - _error($f,35); - $$0 = 0; - return ($$0|0); - } - else if ((label|0) == 9) { - $16 = ((($f)) + 80|0); - $17 = HEAP32[$16>>2]|0; - $18 = ($17|0)==(0|0); - if (!($18)) { - $19 = ((($f)) + 84|0); - $20 = HEAP32[$19>>2]|0; - $21 = ((($f)) + 92|0); - $22 = HEAP32[$21>>2]|0; - $23 = ($20|0)==($22|0); - if (!($23)) { - ___assert_fail((14854|0),(14642|0),2804,(14910|0)); - // unreachable; - } - } - $24 = ((($f)) + 408|0); - $25 = HEAP32[$24>>2]|0; - $26 = (($25) + -1)|0; - $27 = (_ilog($26)|0); - $28 = (_get_bits($f,$27)|0); - $29 = ($28|0)==(-1); - if ($29) { - $$0 = 0; - return ($$0|0); - } - $30 = HEAP32[$24>>2]|0; - $31 = ($28|0)<($30|0); - if (!($31)) { - $$0 = 0; - return ($$0|0); - } - HEAP32[$mode>>2] = $28; - $32 = (((($f)) + 412|0) + (($28*6)|0)|0); - $33 = HEAP8[$32>>0]|0; - $34 = ($33<<24>>24)==(0); - if ($34) { - $39 = ((($f)) + 112|0); - $40 = HEAP32[$39>>2]|0; - $n$0 = $40;$next$0 = 0;$prev$0 = 0; - } else { - $35 = ((($f)) + 116|0); - $36 = HEAP32[$35>>2]|0; - $37 = (_get_bits($f,1)|0); - $38 = (_get_bits($f,1)|0); - $phitmp = ($37|0)!=(0); - $n$0 = $36;$next$0 = $38;$prev$0 = $phitmp; - } - $41 = $n$0 >> 1; - $42 = HEAP8[$32>>0]|0; - $43 = ($42<<24>>24)==(0); - $or$cond = $prev$0 | $43; - if ($or$cond) { - HEAP32[$p_left_start>>2] = 0; - $storemerge = $41; - } else { - $44 = ((($f)) + 112|0); - $45 = HEAP32[$44>>2]|0; - $46 = (($n$0) - ($45))|0; - $47 = $46 >> 2; - HEAP32[$p_left_start>>2] = $47; - $48 = HEAP32[$44>>2]|0; - $49 = (($48) + ($n$0))|0; - $50 = $49 >> 2; - $storemerge = $50; - } - HEAP32[$p_left_end>>2] = $storemerge; - $51 = HEAP8[$32>>0]|0; - $52 = ($51<<24>>24)==(0); - $53 = ($next$0|0)!=(0); - $or$cond3 = $53 | $52; - if ($or$cond3) { - HEAP32[$p_right_start>>2] = $41; - $storemerge4 = $n$0; - } else { - $54 = ($n$0*3)|0; - $55 = ((($f)) + 112|0); - $56 = HEAP32[$55>>2]|0; - $57 = (($54) - ($56))|0; - $58 = $57 >> 2; - HEAP32[$p_right_start>>2] = $58; - $59 = HEAP32[$55>>2]|0; - $60 = (($59) + ($54))|0; - $61 = $60 >> 2; - $storemerge4 = $61; - } - HEAP32[$p_right_end>>2] = $storemerge4; - $$0 = 1; - return ($$0|0); - } - else if ((label|0) == 24) { - return ($$0|0); - } - return (0)|0; -} -function _ilog($n) { - $n = $n|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ($n|0)<(16384); - if ($0) { - $1 = ($n|0)<(16); - if ($1) { - $2 = (14838 + ($n)|0); - $3 = HEAP8[$2>>0]|0; - $4 = $3 << 24 >> 24; - $$0 = $4; - return ($$0|0); - } - $5 = ($n|0)<(512); - if ($5) { - $6 = $n >> 5; - $7 = (14838 + ($6)|0); - $8 = HEAP8[$7>>0]|0; - $9 = $8 << 24 >> 24; - $10 = (($9) + 5)|0; - $$0 = $10; - return ($$0|0); - } else { - $11 = $n >> 10; - $12 = (14838 + ($11)|0); - $13 = HEAP8[$12>>0]|0; - $14 = $13 << 24 >> 24; - $15 = (($14) + 10)|0; - $$0 = $15; - return ($$0|0); - } - } - $16 = ($n|0)<(16777216); - if (!($16)) { - $28 = ($n|0)<(536870912); - if (!($28)) { - $$0 = 0; - return ($$0|0); - } - $29 = $n >> 25; - $30 = (14838 + ($29)|0); - $31 = HEAP8[$30>>0]|0; - $32 = $31 << 24 >> 24; - $33 = (($32) + 25)|0; - $$0 = $33; - return ($$0|0); - } - $17 = ($n|0)<(524288); - if ($17) { - $18 = $n >> 15; - $19 = (14838 + ($18)|0); - $20 = HEAP8[$19>>0]|0; - $21 = $20 << 24 >> 24; - $22 = (($21) + 15)|0; - $$0 = $22; - return ($$0|0); - } else { - $23 = $n >> 20; - $24 = (14838 + ($23)|0); - $25 = HEAP8[$24>>0]|0; - $26 = $25 << 24 >> 24; - $27 = (($26) + 20)|0; - $$0 = $27; - return ($$0|0); - } - return (0)|0; -} -function _skip($z,$n) { - $z = $z|0; - $n = $n|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($z)) + 32|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)==(0|0); - if ($2) { - $8 = ((($z)) + 20|0); - $9 = HEAP32[$8>>2]|0; - $10 = (_ftell($9)|0); - $11 = HEAP32[$8>>2]|0; - $12 = (($10) + ($n))|0; - (_fseek($11,$12,0)|0); - return; - } - $3 = (($1) + ($n)|0); - HEAP32[$0>>2] = $3; - $4 = ((($z)) + 40|0); - $5 = HEAP32[$4>>2]|0; - $6 = ($3>>>0)<($5>>>0); - if ($6) { - return; - } - $7 = ((($z)) + 96|0); - HEAP32[$7>>2] = 1; - return; -} -function _get_bits($f,$n) { - $f = $f|0; - $n = $n|0; - var $$0 = 0, $$pr = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; - var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($f)) + 1396|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)<(0); - if ($2) { - $$0 = 0; - return ($$0|0); - } - $3 = ($1|0)<($n|0); - L4: do { - if ($3) { - $4 = ($n|0)>(24); - if ($4) { - $5 = (_get_bits($f,24)|0); - $6 = (($n) + -24)|0; - $7 = (_get_bits($f,$6)|0); - $8 = $7 << 24; - $9 = (($8) + ($5))|0; - return ($9|0); - } - $10 = ($1|0)==(0); - if ($10) { - $11 = ((($f)) + 1392|0); - HEAP32[$11>>2] = 0; - } - $12 = HEAP32[$0>>2]|0; - $13 = ($12|0)<($n|0); - if ($13) { - $14 = ((($f)) + 1392|0); + $8 = $$07593 << 1; + dest=$5; stop=dest+128|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + $9 = (($$07593) + ($$07692))|0; + $10 = ($9|0)>($4|0); + $11 = (($4) - ($$07593))|0; + $$$076 = $10 ? $11 : $$07692; + L6: do { + if ($7) { + $12 = ($$$076|0)>(0); + $13 = (($$07593) + ($3))|0; + $14 = ($$$076|0)>(0); + $15 = (($$07593) + ($3))|0; + $16 = ($$$076|0)>(0); + $17 = (($$07593) + ($3))|0; + $$07488 = 0; while(1) { - $15 = (_get8_packet_raw($f)|0); - $16 = ($15|0)==(-1); - if ($16) { + $20 = ((16790 + (($1*6)|0)|0) + ($$07488)|0); + $21 = HEAP8[$20>>0]|0; + $trunc = $21 & 6; + $trunc$clear = $trunc & 7; + switch ($trunc$clear<<24>>24) { + case 6: { + if ($12) { + $26 = (($2) + ($$07488<<2)|0); + $27 = HEAP32[$26>>2]|0; + $$07386 = 0; + while(1) { + $28 = (($13) + ($$07386))|0; + $29 = (($27) + ($28<<2)|0); + $30 = +HEAPF32[$29>>2]; + $31 = $$07386 << 1; + $32 = (($5) + ($31<<2)|0); + $33 = +HEAPF32[$32>>2]; + $34 = $30 + $33; + HEAPF32[$32>>2] = $34; + $35 = $31 | 1; + $36 = (($5) + ($35<<2)|0); + $37 = +HEAPF32[$36>>2]; + $38 = $30 + $37; + HEAPF32[$36>>2] = $38; + $39 = (($$07386) + 1)|0; + $40 = ($39|0)<($$$076|0); + if ($40) { + $$07386 = $39; + } else { + break; + } + } + } break; } - $17 = HEAP32[$0>>2]|0; - $18 = $15 << $17; - $19 = HEAP32[$14>>2]|0; - $20 = (($19) + ($18))|0; - HEAP32[$14>>2] = $20; - $21 = HEAP32[$0>>2]|0; - $22 = (($21) + 8)|0; - HEAP32[$0>>2] = $22; - $23 = ($22|0)<($n|0); - if (!($23)) { - $24 = $22; - break L4; + case 2: { + if ($14) { + $24 = (($2) + ($$07488<<2)|0); + $25 = HEAP32[$24>>2]|0; + $$184 = 0; + while(1) { + $41 = (($15) + ($$184))|0; + $42 = (($25) + ($41<<2)|0); + $43 = +HEAPF32[$42>>2]; + $44 = $$184 << 1; + $45 = (($5) + ($44<<2)|0); + $46 = +HEAPF32[$45>>2]; + $47 = $43 + $46; + HEAPF32[$45>>2] = $47; + $48 = (($$184) + 1)|0; + $49 = ($48|0)<($$$076|0); + if ($49) { + $$184 = $48; + } else { + break; + } + } + } + break; + } + case 4: { + if ($16) { + $22 = (($2) + ($$07488<<2)|0); + $23 = HEAP32[$22>>2]|0; + $$283 = 0; + while(1) { + $50 = (($17) + ($$283))|0; + $51 = (($23) + ($50<<2)|0); + $52 = +HEAPF32[$51>>2]; + $53 = $$283 << 1; + $54 = $53 | 1; + $55 = (($5) + ($54<<2)|0); + $56 = +HEAPF32[$55>>2]; + $57 = $52 + $56; + HEAPF32[$55>>2] = $57; + $58 = (($$283) + 1)|0; + $59 = ($58|0)<($$$076|0); + if ($59) { + $$283 = $58; + } else { + break; + } + } + } + break; + } + default: { + } + } + $60 = (($$07488) + 1)|0; + $exitcond = ($60|0)==($1|0); + if ($exitcond) { + break L6; + } else { + $$07488 = $60; } } - HEAP32[$0>>2] = -1; - $$0 = 0; - return ($$0|0); - } else { - $24 = $12; } - } else { - $$pr = HEAP32[$0>>2]|0; - $24 = $$pr; + } while(0); + $18 = $$$076 << 1; + $19 = ($18|0)>(0); + if ($19) { + $$390 = 0; + while(1) { + $61 = (($5) + ($$390<<2)|0); + $62 = +HEAPF32[$61>>2]; + $63 = $62 + 384.0; + $64 = (HEAPF32[tempDoublePtr>>2]=$63,HEAP32[tempDoublePtr>>2]|0); + $65 = (($64) + -1136623616)|0; + $66 = ($65>>>0)>(65535); + $67 = ($64|0)<(1136656384); + $68 = $67 ? 32768 : 32767; + $$0 = $66 ? $68 : $64; + $69 = $$0&65535; + $70 = (($$390) + ($8))|0; + $71 = (($0) + ($70<<1)|0); + HEAP16[$71>>1] = $69; + $72 = (($$390) + 1)|0; + $73 = ($72|0)<($18|0); + if ($73) { + $$390 = $72; + } else { + break; + } + } } - } while(0); - $25 = ($24|0)<(0); - if ($25) { + $74 = (($$07593) + 16)|0; + $75 = ($74|0)<($4|0); + if ($75) { + $$07593 = $74;$$07692 = $$$076; + } else { + break; + } + } + STACKTOP = sp;return; +} +function _stb_vorbis_get_file_offset($0) { + $0 = $0|0; + var $$0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 48|0); + $2 = HEAP8[$1>>0]|0; + $3 = ($2<<24>>24)==(0); + if (!($3)) { $$0 = 0; return ($$0|0); } - $26 = ((($f)) + 1392|0); - $27 = HEAP32[$26>>2]|0; - $28 = 1 << $n; - $29 = (($28) + -1)|0; - $30 = $27 & $29; - $31 = $27 >>> $n; - HEAP32[$26>>2] = $31; - $32 = HEAP32[$0>>2]|0; - $33 = (($32) - ($n))|0; - HEAP32[$0>>2] = $33; - $$0 = $30; - return ($$0|0); -} -function _setup_malloc($f,$sz) { - $f = $f|0; - $sz = $sz|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (($sz) + 3)|0; - $1 = $0 & -4; - $2 = ((($f)) + 8|0); - $3 = HEAP32[$2>>2]|0; - $4 = (($3) + ($1))|0; - HEAP32[$2>>2] = $4; - $5 = ((($f)) + 80|0); - $6 = HEAP32[$5>>2]|0; - $7 = ($6|0)==(0|0); - if ($7) { - $15 = ($1|0)==(0); - if ($15) { - $$0 = 0; - return ($$0|0); - } - $16 = (_malloc($1)|0); + $4 = ((($0)) + 32|0); + $5 = HEAP32[$4>>2]|0; + $6 = ($5|0)==(0|0); + if ($6) { + $11 = ((($0)) + 20|0); + $12 = HEAP32[$11>>2]|0; + $13 = (_ftell($12)|0); + $14 = ((($0)) + 24|0); + $15 = HEAP32[$14>>2]|0; + $16 = (($13) - ($15))|0; $$0 = $16; return ($$0|0); } else { - $8 = ((($f)) + 88|0); - $9 = HEAP32[$8>>2]|0; - $10 = (($9) + ($1))|0; - $11 = ((($f)) + 92|0); - $12 = HEAP32[$11>>2]|0; - $13 = ($10|0)>($12|0); - if ($13) { - $$0 = 0; - return ($$0|0); - } - $14 = (($6) + ($9)|0); - HEAP32[$8>>2] = $10; - $$0 = $14; + $7 = ((($0)) + 36|0); + $8 = HEAP32[$7>>2]|0; + $9 = $5; + $10 = (($9) - ($8))|0; + $$0 = $10; return ($$0|0); } return (0)|0; } -function _vorbis_validate($data) { - $data = $data|0; - var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0; +function _set_file_offset($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $3 = 0; + var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond1 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = (_memcmp($data,15304,6)|0); - $1 = ($0|0)==(0); - $2 = $1&1; - return ($2|0); + $2 = ((($0)) + 48|0); + $3 = HEAP8[$2>>0]|0; + $4 = ($3<<24>>24)==(0); + if (!($4)) { + return; + } + $5 = ((($0)) + 96|0); + HEAP32[$5>>2] = 0; + $6 = ((($0)) + 32|0); + $7 = HEAP32[$6>>2]|0; + $8 = ($7|0)==(0|0); + if (!($8)) { + $9 = ((($0)) + 36|0); + $10 = HEAP32[$9>>2]|0; + $11 = (($10) + ($1)|0); + $12 = ((($0)) + 40|0); + $13 = HEAP32[$12>>2]|0; + $14 = ($11>>>0)>=($13>>>0); + $15 = ($1|0)<(0); + $or$cond1 = $15 | $14; + if ($or$cond1) { + HEAP32[$6>>2] = $13; + HEAP32[$5>>2] = 1; + return; + } else { + HEAP32[$6>>2] = $11; + return; + } + } + $16 = ((($0)) + 24|0); + $17 = HEAP32[$16>>2]|0; + $18 = (($17) + ($1))|0; + $19 = ($18>>>0)<($1>>>0); + $20 = ($1|0)<(0); + $or$cond = $20 | $19; + if ($or$cond) { + HEAP32[$5>>2] = 1; + $$0 = 2147483647; + } else { + $$0 = $18; + } + $21 = ((($0)) + 20|0); + $22 = HEAP32[$21>>2]|0; + $23 = (_fseek($22,$$0,0)|0); + $24 = ($23|0)==(0); + if ($24) { + return; + } + HEAP32[$5>>2] = 1; + $25 = HEAP32[$21>>2]|0; + $26 = HEAP32[$16>>2]|0; + (_fseek($25,$26,2)|0); + return; +} +function _vorbis_find_page($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$ = 0, $$0$ph = 0, $$069104 = 0, $$070 = 0, $$082$lcssa = 0, $$1 = 0, $$174103 = 0, $$2 = 0, $$275$lcssa = 0, $$275109 = 0, $$480102 = 0, $$5$ph = 0, $$581108 = 0, $$lobit = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0; + var $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0; + var $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0; + var $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0; + var $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0; + var $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0; + var $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0; + var $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0; + var $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0; + var $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0; + var $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $cond = 0, $exitcond = 0, $scevgep = 0, $trunc = 0, $trunc$clear = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $3 = sp; + $4 = ((($0)) + 96|0); + $5 = ((($0)) + 44|0); + $6 = ((($3)) + 4|0); + $7 = ((($3)) + 22|0); + $8 = ((($3)) + 23|0); + $9 = ((($3)) + 24|0); + $10 = ((($3)) + 25|0); + $11 = ((($3)) + 26|0); + $12 = ($1|0)==(0|0); + $13 = ($2|0)==(0|0); + $14 = ((($3)) + 5|0); + $scevgep = ((($3)) + 22|0); + $15 = ((($3)) + 4|0); + $16 = ((($3)) + 5|0); + $17 = ((($3)) + 6|0); + $18 = ((($3)) + 7|0); + $19 = ((($3)) + 8|0); + $20 = ((($3)) + 9|0); + $21 = ((($3)) + 10|0); + $22 = ((($3)) + 11|0); + $23 = ((($3)) + 12|0); + $24 = ((($3)) + 13|0); + $25 = ((($3)) + 14|0); + $26 = ((($3)) + 15|0); + $27 = ((($3)) + 16|0); + $28 = ((($3)) + 17|0); + $29 = ((($3)) + 18|0); + $30 = ((($3)) + 19|0); + $31 = ((($3)) + 20|0); + $32 = ((($3)) + 21|0); + $33 = ((($3)) + 22|0); + $34 = ((($3)) + 23|0); + $35 = ((($3)) + 24|0); + $36 = ((($3)) + 25|0); + $37 = ((($3)) + 26|0); + $38 = ((($3)) + 1|0); + $39 = ((($3)) + 2|0); + $40 = ((($3)) + 3|0); + $41 = ((($3)) + 4|0); + $42 = ((($3)) + 5|0); + $43 = ((($3)) + 6|0); + $44 = ((($3)) + 7|0); + $45 = ((($3)) + 8|0); + $46 = ((($3)) + 9|0); + $47 = ((($3)) + 10|0); + $48 = ((($3)) + 11|0); + $49 = ((($3)) + 12|0); + $50 = ((($3)) + 13|0); + $51 = ((($3)) + 14|0); + $52 = ((($3)) + 15|0); + $53 = ((($3)) + 16|0); + $54 = ((($3)) + 17|0); + $55 = ((($3)) + 18|0); + $56 = ((($3)) + 19|0); + $57 = ((($3)) + 20|0); + $58 = ((($3)) + 21|0); + $59 = ((($3)) + 22|0); + $60 = ((($3)) + 23|0); + $61 = ((($3)) + 24|0); + $62 = ((($3)) + 25|0); + $63 = ((($3)) + 26|0); + $$0$ph = 0; + L1: while(1) { + while(1) { + $64 = HEAP32[$4>>2]|0; + $65 = ($64|0)==(0); + if (!($65)) { + $$5$ph = 0; + label = 27; + break L1; + } + $66 = (_get8($0)|0); + $67 = ($66<<24>>24)==(79); + if ($67) { + break; + } + } + $68 = (_stb_vorbis_get_file_offset($0)|0); + $69 = (($68) + -25)|0; + $70 = HEAP32[$5>>2]|0; + $71 = ($69>>>0)>($70>>>0); + if ($71) { + $$5$ph = 0; + label = 27; + break; + } + $72 = (_get8($0)|0); + $73 = HEAP8[(4793)>>0]|0; + $74 = ($72<<24>>24)==($73<<24>>24); + if ($74) { + $75 = (_get8($0)|0); + $76 = HEAP8[(4794)>>0]|0; + $77 = ($75<<24>>24)==($76<<24>>24); + if ($77) { + $198 = (_get8($0)|0); + $199 = HEAP8[(4795)>>0]|0; + $200 = ($198<<24>>24)==($199<<24>>24); + $$ = $200 ? 4 : 3; + $$082$lcssa = $$; + } else { + $$082$lcssa = 2; + } + } else { + $$082$lcssa = 1; + } + $78 = HEAP32[$4>>2]|0; + $79 = ($78|0)==(0); + if (!($79)) { + $$5$ph = 0; + label = 27; + break; + } + $80 = ($$082$lcssa|0)==(4); + L13: do { + if ($80) { + $81 = HEAP32[1198]|0; + HEAP32[$3>>2] = $81; + $82 = (_get8($0)|0); + HEAP8[$15>>0] = $82; + $83 = (_get8($0)|0); + HEAP8[$16>>0] = $83; + $84 = (_get8($0)|0); + HEAP8[$17>>0] = $84; + $85 = (_get8($0)|0); + HEAP8[$18>>0] = $85; + $86 = (_get8($0)|0); + HEAP8[$19>>0] = $86; + $87 = (_get8($0)|0); + HEAP8[$20>>0] = $87; + $88 = (_get8($0)|0); + HEAP8[$21>>0] = $88; + $89 = (_get8($0)|0); + HEAP8[$22>>0] = $89; + $90 = (_get8($0)|0); + HEAP8[$23>>0] = $90; + $91 = (_get8($0)|0); + HEAP8[$24>>0] = $91; + $92 = (_get8($0)|0); + HEAP8[$25>>0] = $92; + $93 = (_get8($0)|0); + HEAP8[$26>>0] = $93; + $94 = (_get8($0)|0); + HEAP8[$27>>0] = $94; + $95 = (_get8($0)|0); + HEAP8[$28>>0] = $95; + $96 = (_get8($0)|0); + HEAP8[$29>>0] = $96; + $97 = (_get8($0)|0); + HEAP8[$30>>0] = $97; + $98 = (_get8($0)|0); + HEAP8[$31>>0] = $98; + $99 = (_get8($0)|0); + HEAP8[$32>>0] = $99; + $100 = (_get8($0)|0); + HEAP8[$33>>0] = $100; + $101 = (_get8($0)|0); + HEAP8[$34>>0] = $101; + $102 = (_get8($0)|0); + HEAP8[$35>>0] = $102; + $103 = (_get8($0)|0); + HEAP8[$36>>0] = $103; + $104 = (_get8($0)|0); + HEAP8[$37>>0] = $104; + $105 = HEAP32[$4>>2]|0; + $106 = ($105|0)==(0); + do { + if ($106) { + $107 = HEAP8[$6>>0]|0; + $108 = ($107<<24>>24)==(0); + if ($108) { + $111 = HEAP8[$7>>0]|0; + $112 = HEAP8[$8>>0]|0; + $113 = HEAP8[$9>>0]|0; + $114 = HEAP8[$10>>0]|0; + $115 = $114&255; + $116 = $115 << 24; + HEAP16[$scevgep>>1]=0&65535;HEAP16[$scevgep+2>>1]=0>>>16; + $117 = $112&255; + $118 = $117 << 8; + $119 = $111&255; + $120 = $118 | $119; + $121 = $113&255; + $122 = $121 << 16; + $123 = $120 | $122; + $124 = HEAP8[$3>>0]|0; + $125 = (_crc32_update(0,$124)|0); + $126 = HEAP8[$38>>0]|0; + $127 = (_crc32_update($125,$126)|0); + $128 = HEAP8[$39>>0]|0; + $129 = (_crc32_update($127,$128)|0); + $130 = HEAP8[$40>>0]|0; + $131 = (_crc32_update($129,$130)|0); + $132 = HEAP8[$41>>0]|0; + $133 = (_crc32_update($131,$132)|0); + $134 = HEAP8[$42>>0]|0; + $135 = (_crc32_update($133,$134)|0); + $136 = HEAP8[$43>>0]|0; + $137 = (_crc32_update($135,$136)|0); + $138 = HEAP8[$44>>0]|0; + $139 = (_crc32_update($137,$138)|0); + $140 = HEAP8[$45>>0]|0; + $141 = (_crc32_update($139,$140)|0); + $142 = HEAP8[$46>>0]|0; + $143 = (_crc32_update($141,$142)|0); + $144 = HEAP8[$47>>0]|0; + $145 = (_crc32_update($143,$144)|0); + $146 = HEAP8[$48>>0]|0; + $147 = (_crc32_update($145,$146)|0); + $148 = HEAP8[$49>>0]|0; + $149 = (_crc32_update($147,$148)|0); + $150 = HEAP8[$50>>0]|0; + $151 = (_crc32_update($149,$150)|0); + $152 = HEAP8[$51>>0]|0; + $153 = (_crc32_update($151,$152)|0); + $154 = HEAP8[$52>>0]|0; + $155 = (_crc32_update($153,$154)|0); + $156 = HEAP8[$53>>0]|0; + $157 = (_crc32_update($155,$156)|0); + $158 = HEAP8[$54>>0]|0; + $159 = (_crc32_update($157,$158)|0); + $160 = HEAP8[$55>>0]|0; + $161 = (_crc32_update($159,$160)|0); + $162 = HEAP8[$56>>0]|0; + $163 = (_crc32_update($161,$162)|0); + $164 = HEAP8[$57>>0]|0; + $165 = (_crc32_update($163,$164)|0); + $166 = HEAP8[$58>>0]|0; + $167 = (_crc32_update($165,$166)|0); + $168 = HEAP8[$59>>0]|0; + $169 = (_crc32_update($167,$168)|0); + $170 = HEAP8[$60>>0]|0; + $171 = (_crc32_update($169,$170)|0); + $172 = HEAP8[$61>>0]|0; + $173 = (_crc32_update($171,$172)|0); + $174 = HEAP8[$62>>0]|0; + $175 = (_crc32_update($173,$174)|0); + $176 = HEAP8[$63>>0]|0; + $177 = (_crc32_update($175,$176)|0); + $178 = $123 | $116; + $179 = ($176<<24>>24)==(0); + if ($179) { + $$275$lcssa = $177; + } else { + $109 = HEAP8[$11>>0]|0; + $110 = $109&255; + $$069104 = 0;$$174103 = $177;$$480102 = 0; + while(1) { + $180 = (_get8($0)|0); + $181 = $180&255; + $182 = (_crc32_update($$174103,$180)|0); + $183 = (($181) + ($$069104))|0; + $184 = (($$480102) + 1)|0; + $185 = ($184>>>0)<($110>>>0); + if ($185) { + $$069104 = $183;$$174103 = $182;$$480102 = $184; + } else { + break; + } + } + $186 = ($183|0)==(0); + if ($186) { + $$275$lcssa = $182; + } else { + $187 = HEAP32[$4>>2]|0; + $188 = ($187|0)==(0); + if ($188) { + $$275109 = $182;$$581108 = 0; + } else { + $$070 = 1;$$1 = 0; + break; + } + while(1) { + $189 = (_get8($0)|0); + $190 = (_crc32_update($$275109,$189)|0); + $191 = (($$581108) + 1)|0; + $exitcond = ($191|0)==($183|0); + if ($exitcond) { + $$275$lcssa = $190; + break; + } else { + $$275109 = $190;$$581108 = $191; + } + } + } + } + $192 = ($$275$lcssa|0)==($178|0); + if ($192) { + if (!($12)) { + $193 = (_stb_vorbis_get_file_offset($0)|0); + HEAP32[$1>>2] = $193; + } + if (!($13)) { + $194 = HEAP8[$14>>0]|0; + $195 = ($194&255) >>> 2; + $$lobit = $195 & 1; + $196 = $$lobit&255; + HEAP32[$2>>2] = $196; + } + $197 = (($68) + -1)|0; + _set_file_offset($0,$197); + $$070 = 1;$$1 = 1; + } else { + $$070 = 0;$$1 = $$0$ph; + } + } else { + $$070 = 13;$$1 = $$0$ph; + } + } else { + $$070 = 1;$$1 = 0; + } + } while(0); + $trunc = $$070&255; + $trunc$clear = $trunc & 15; + switch ($trunc$clear<<24>>24) { + case 13: case 0: { + $$2 = $$1; + break L13; + break; + } + default: { + } + } + $cond = ($$070|0)==(0); + if ($cond) { + $$0$ph = $$1; + continue L1; + } else { + $$5$ph = $$1; + label = 27; + break L1; + } + } else { + $$2 = $$0$ph; + } + } while(0); + _set_file_offset($0,$68); + $$0$ph = $$2; + } + if ((label|0) == 27) { + STACKTOP = sp;return ($$5$ph|0); + } + return (0)|0; +} +function _crc32_update($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = $0 << 8; + $3 = $1&255; + $4 = $0 >>> 24; + $5 = $3 ^ $4; + $6 = (27100 + ($5<<2)|0); + $7 = HEAP32[$6>>2]|0; + $8 = $7 ^ $2; + return ($8|0); +} +function _stb_vorbis_open_file($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; + sp = STACKTOP; + $4 = (_ftell($0)|0); + (_fseek($0,0,2)|0); + $5 = (_ftell($0)|0); + $6 = (($5) - ($4))|0; + (_fseek($0,$4,0)|0); + $7 = (_stb_vorbis_open_file_section($0,$1,$2,$3,$6)|0); + return ($7|0); +} +function _stb_vorbis_open_file_section($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 1520|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1520|0); + $5 = sp; + _vorbis_init($5,$3); + $6 = ((($5)) + 20|0); + HEAP32[$6>>2] = $0; + $7 = (_ftell($0)|0); + $8 = ((($5)) + 24|0); + HEAP32[$8>>2] = $7; + $9 = ((($5)) + 44|0); + HEAP32[$9>>2] = $4; + $10 = ((($5)) + 28|0); + HEAP32[$10>>2] = $1; + $11 = (_start_decoder($5)|0); + $12 = ($11|0)==(0); + if (!($12)) { + $13 = (_vorbis_alloc($5)|0); + $14 = ($13|0)==(0|0); + if (!($14)) { + _memcpy(($13|0),($5|0),1512)|0; + (_vorbis_pump_first_frame($13)|0); + $$0 = $13; + STACKTOP = sp;return ($$0|0); + } + } + $15 = ($2|0)==(0|0); + if (!($15)) { + $16 = ((($5)) + 100|0); + $17 = HEAP32[$16>>2]|0; + HEAP32[$2>>2] = $17; + } + _vorbis_deinit($5); + $$0 = 0; + STACKTOP = sp;return ($$0|0); +} +function _vorbis_init($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $3 = 0, $4 = 0, $5 = 0; + var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + _memset(($0|0),0,1512)|0; + $2 = ($1|0)==(0|0); + if (!($2)) { + $3 = ((($0)) + 80|0); + $4 = $1; + $5 = $4; + $6 = HEAP32[$5>>2]|0; + $7 = (($4) + 4)|0; + $8 = $7; + $9 = HEAP32[$8>>2]|0; + $10 = $3; + $11 = $10; + HEAP32[$11>>2] = $6; + $12 = (($10) + 4)|0; + $13 = $12; + HEAP32[$13>>2] = $9; + $14 = ((($0)) + 84|0); + $15 = HEAP32[$14>>2]|0; + $16 = (($15) + 3)|0; + $17 = $16 & -4; + HEAP32[$14>>2] = $17; + $18 = ((($0)) + 92|0); + HEAP32[$18>>2] = $17; + } + $19 = ((($0)) + 96|0); + HEAP32[$19>>2] = 0; + $20 = ((($0)) + 100|0); + HEAP32[$20>>2] = 0; + $21 = ((($0)) + 32|0); + HEAP32[$21>>2] = 0; + $22 = ((($0)) + 124|0); + HEAP32[$22>>2] = 0; + $23 = ((($0)) + 1420|0); + HEAP32[$23>>2] = -1; + $24 = ((($0)) + 28|0); + HEAP32[$24>>2] = 0; + $25 = ((($0)) + 20|0); + HEAP32[$25>>2] = 0; + return; +} +function _start_decoder($0) { + $0 = $0|0; + var $$ = 0, $$$0899 = 0, $$$0929 = 0, $$$0964 = 0, $$0899$lcssa = 0, $$08991120 = 0, $$09011119 = 0, $$09021210 = 0, $$0920 = 0, $$0920$ph = 0, $$0929$lcssa = 0, $$09291199 = 0, $$09501156 = 0, $$0951 = 0, $$09541216 = 0, $$0957 = 0, $$09581209 = 0, $$0962 = 0, $$09641169 = 0, $$09661213 = 0; + var $$09701227 = 0.0, $$0974$ph = 0, $$0977$ = 0.0, $$09771224 = 0.0, $$109121192 = 0, $$119131195 = 0, $$129141148 = 0, $$139151153 = 0, $$149161160 = 0, $$159171137 = 0, $$169181135 = 0, $$179191139 = 0, $$18921232 = 0, $$19031217 = 0, $$19211174 = 0, $$1955 = 0, $$19631000 = 0, $$19631001$ph = 0, $$1971 = 0.0, $$1971$ = 0.0; + var $$1971$ph = 0.0, $$28931205 = 0, $$29041220 = 0, $$29221181 = 0, $$2953 = 0, $$2956 = 0, $$2960$ph = 0, $$34 = 0, $$38941200 = 0, $$39051228 = 0, $$39231152 = 0, $$3961 = 0, $$48951165 = 0, $$49061225 = 0, $$49241157 = 0, $$49241157$in = 0, $$58961143 = 0, $$59071118 = 0, $$59251132 = 0, $$68971128 = 0; + var $$69081170 = 0, $$78981124 = 0, $$79091177 = 0, $$89101185 = 0, $$99111188 = 0, $$in = 0, $$lcssa = 0, $$lcssa1060 = 0, $$lcssa1061 = 0, $$lcssa1073 = 0, $$off = 0, $$off979 = 0, $$pr = 0, $$pr1300 = 0, $$pr1301 = 0, $$sink = 0, $$sink25 = 0, $$sink26 = 0, $$sink986 = 0, $1 = 0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0; + var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0; + var $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0; + var $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0; + var $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0; + var $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0.0; + var $262 = 0, $263 = 0, $264 = 0.0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0; + var $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0; + var $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0; + var $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0.0, $328 = 0.0, $329 = 0.0, $33 = 0, $330 = 0.0, $331 = 0.0, $332 = 0.0, $333 = 0; + var $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0; + var $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0.0, $359 = 0.0, $36 = 0, $360 = 0.0, $361 = 0.0, $362 = 0.0, $363 = 0.0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0; + var $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0; + var $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0; + var $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0; + var $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0; + var $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0; + var $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0, $478 = 0; + var $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0, $496 = 0; + var $497 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0, $513 = 0; + var $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0, $531 = 0; + var $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0, $549 = 0, $55 = 0; + var $550 = 0, $551 = 0, $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0, $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0, $562 = 0, $563 = 0, $564 = 0, $565 = 0, $566 = 0, $567 = 0, $568 = 0; + var $569 = 0, $57 = 0, $570 = 0, $571 = 0, $572 = 0, $573 = 0, $574 = 0, $575 = 0, $576 = 0, $577 = 0, $578 = 0, $579 = 0, $58 = 0, $580 = 0, $581 = 0, $582 = 0, $583 = 0, $584 = 0, $585 = 0, $586 = 0; + var $587 = 0, $588 = 0, $589 = 0, $59 = 0, $590 = 0, $591 = 0, $592 = 0, $593 = 0, $594 = 0, $595 = 0, $596 = 0, $597 = 0, $598 = 0, $599 = 0, $6 = 0, $60 = 0, $600 = 0, $601 = 0, $602 = 0, $603 = 0; + var $604 = 0, $605 = 0, $606 = 0, $607 = 0, $608 = 0, $609 = 0, $61 = 0, $610 = 0, $611 = 0, $612 = 0, $613 = 0, $614 = 0, $615 = 0, $616 = 0, $617 = 0, $618 = 0, $619 = 0, $62 = 0, $620 = 0, $621 = 0; + var $622 = 0, $623 = 0, $624 = 0, $625 = 0, $626 = 0, $627 = 0, $628 = 0, $629 = 0, $63 = 0, $630 = 0, $631 = 0, $632 = 0, $633 = 0, $634 = 0, $635 = 0, $636 = 0, $637 = 0, $638 = 0, $639 = 0, $64 = 0; + var $640 = 0, $641 = 0, $642 = 0, $643 = 0, $644 = 0, $645 = 0, $646 = 0, $647 = 0, $648 = 0, $649 = 0, $65 = 0, $650 = 0, $651 = 0, $652 = 0, $653 = 0, $654 = 0, $655 = 0, $656 = 0, $657 = 0, $658 = 0; + var $659 = 0, $66 = 0, $660 = 0, $661 = 0, $662 = 0, $663 = 0, $664 = 0, $665 = 0, $666 = 0, $667 = 0, $668 = 0, $669 = 0, $67 = 0, $670 = 0, $671 = 0, $672 = 0, $673 = 0, $674 = 0, $675 = 0, $676 = 0; + var $677 = 0, $678 = 0, $679 = 0, $68 = 0, $680 = 0, $681 = 0, $682 = 0, $683 = 0, $684 = 0, $685 = 0, $686 = 0, $687 = 0, $688 = 0, $689 = 0, $69 = 0, $690 = 0, $691 = 0, $692 = 0, $693 = 0, $694 = 0; + var $695 = 0, $696 = 0, $697 = 0, $698 = 0, $699 = 0, $7 = 0, $70 = 0, $700 = 0, $701 = 0, $702 = 0, $703 = 0, $704 = 0, $705 = 0, $706 = 0, $707 = 0, $708 = 0, $709 = 0, $71 = 0, $710 = 0, $711 = 0; + var $712 = 0, $713 = 0, $714 = 0, $715 = 0, $716 = 0, $717 = 0, $718 = 0, $719 = 0, $72 = 0, $720 = 0, $721 = 0, $722 = 0, $723 = 0, $724 = 0, $725 = 0, $726 = 0, $727 = 0, $728 = 0, $729 = 0, $73 = 0; + var $730 = 0, $731 = 0, $732 = 0, $733 = 0, $734 = 0, $735 = 0, $736 = 0, $737 = 0, $738 = 0, $739 = 0, $74 = 0, $740 = 0, $741 = 0, $742 = 0, $743 = 0, $744 = 0, $745 = 0, $746 = 0, $747 = 0, $748 = 0; + var $749 = 0, $75 = 0, $750 = 0, $751 = 0, $752 = 0, $753 = 0, $754 = 0, $755 = 0, $756 = 0, $757 = 0, $758 = 0, $759 = 0, $76 = 0, $760 = 0, $761 = 0, $762 = 0, $763 = 0, $764 = 0, $765 = 0, $766 = 0; + var $767 = 0, $768 = 0, $769 = 0, $77 = 0, $770 = 0, $771 = 0, $772 = 0, $773 = 0, $774 = 0, $775 = 0, $776 = 0, $777 = 0, $778 = 0, $779 = 0, $78 = 0, $780 = 0, $781 = 0, $782 = 0, $783 = 0, $784 = 0; + var $785 = 0, $786 = 0, $787 = 0, $788 = 0, $789 = 0, $79 = 0, $790 = 0, $791 = 0, $792 = 0, $793 = 0, $794 = 0, $795 = 0, $796 = 0, $797 = 0, $798 = 0, $799 = 0, $8 = 0, $80 = 0, $800 = 0, $801 = 0; + var $802 = 0, $803 = 0, $804 = 0, $805 = 0, $806 = 0, $807 = 0, $808 = 0, $809 = 0, $81 = 0, $810 = 0, $811 = 0, $812 = 0, $813 = 0, $814 = 0, $815 = 0, $816 = 0, $817 = 0, $818 = 0, $819 = 0, $82 = 0; + var $820 = 0, $821 = 0, $822 = 0, $823 = 0, $824 = 0, $825 = 0, $826 = 0, $827 = 0, $828 = 0, $829 = 0, $83 = 0, $830 = 0, $831 = 0, $832 = 0, $833 = 0, $834 = 0, $835 = 0, $836 = 0, $837 = 0, $838 = 0; + var $839 = 0, $84 = 0, $840 = 0, $841 = 0, $842 = 0, $843 = 0, $844 = 0, $845 = 0, $846 = 0, $847 = 0, $848 = 0, $849 = 0, $85 = 0, $850 = 0, $851 = 0, $852 = 0, $853 = 0, $854 = 0, $855 = 0, $856 = 0; + var $857 = 0, $858 = 0, $859 = 0, $86 = 0, $860 = 0, $861 = 0, $862 = 0, $863 = 0, $864 = 0, $865 = 0, $866 = 0, $867 = 0, $868 = 0, $869 = 0, $87 = 0, $870 = 0, $871 = 0, $872 = 0, $873 = 0, $874 = 0; + var $875 = 0, $876 = 0, $877 = 0, $878 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $not$or$cond982 = 0, $notrhs = 0, $or$cond = 0; + var $or$cond991 = 0, $phitmp = 0, $phitmp1296 = 0, $phitmp1297 = 0, $sext = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 1024|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1024|0); + $1 = sp + 1008|0; + $2 = sp + 8|0; + $3 = sp + 4|0; + $4 = sp; + $5 = (_start_page($0)|0); + $6 = ($5|0)==(0); + if ($6) { + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + $7 = ((($0)) + 1375|0); + $8 = HEAP8[$7>>0]|0; + $9 = $8&255; + $10 = $9 & 2; + $11 = ($10|0)==(0); + if ($11) { + _error($0,34); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + $12 = $9 & 4; + $13 = ($12|0)==(0); + if (!($13)) { + _error($0,34); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + $14 = $9 & 1; + $15 = ($14|0)==(0); + if (!($15)) { + _error($0,34); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + $16 = ((($0)) + 1116|0); + $17 = HEAP32[$16>>2]|0; + $18 = ($17|0)==(1); + if (!($18)) { + _error($0,34); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + $19 = ((($0)) + 1120|0); + $20 = HEAP8[$19>>0]|0; + $21 = ($20<<24>>24)==(30); + if (!($21)) { + _error($0,34); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + $22 = (_get8($0)|0); + $23 = ($22<<24>>24)==(1); + if (!($23)) { + _error($0,34); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + $24 = (_getn($0,$1,6)|0); + $25 = ($24|0)==(0); + if ($25) { + _error($0,10); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + $26 = (_vorbis_validate($1)|0); + $27 = ($26|0)==(0); + if ($27) { + _error($0,34); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + $28 = (_get32($0)|0); + $29 = ($28|0)==(0); + if (!($29)) { + _error($0,34); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + $30 = (_get8($0)|0); + $31 = $30&255; + $32 = ((($0)) + 4|0); + HEAP32[$32>>2] = $31; + $33 = ($30<<24>>24)==(0); + if ($33) { + _error($0,34); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + $34 = ($30&255)>(16); + if ($34) { + _error($0,5); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + $35 = (_get32($0)|0); + HEAP32[$0>>2] = $35; + $36 = ($35|0)==(0); + if ($36) { + _error($0,34); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + (_get32($0)|0); + (_get32($0)|0); + (_get32($0)|0); + $37 = (_get8($0)|0); + $38 = $37&255; + $39 = $38 & 15; + $40 = $38 >>> 4; + $41 = 1 << $39; + $42 = ((($0)) + 112|0); + HEAP32[$42>>2] = $41; + $43 = 1 << $40; + $44 = ((($0)) + 116|0); + HEAP32[$44>>2] = $43; + $$off = (($39) + -6)|0; + $45 = ($$off>>>0)>(7); + if ($45) { + _error($0,20); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + $$off979 = (($37) + -96)<<24>>24; + $46 = ($$off979<<24>>24)<(0); + if ($46) { + _error($0,20); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + $47 = ($39>>>0)>($40>>>0); + if ($47) { + _error($0,20); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + $48 = (_get8($0)|0); + $49 = $48 & 1; + $50 = ($49<<24>>24)==(0); + if ($50) { + _error($0,34); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + $51 = (_start_page($0)|0); + $52 = ($51|0)==(0); + if ($52) { + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + $53 = (_start_packet($0)|0); + $54 = ($53|0)==(0); + if ($54) { + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + $55 = ((($0)) + 1376|0); + while(1) { + $56 = (_next_segment($0)|0); + _skip($0,$56); + HEAP8[$55>>0] = 0; + $57 = ($56|0)==(0); + if ($57) { + break; + } + } + $58 = (_start_packet($0)|0); + $59 = ($58|0)==(0); + if ($59) { + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + $60 = ((($0)) + 48|0); + $61 = HEAP8[$60>>0]|0; + $62 = ($61<<24>>24)==(0); + do { + if (!($62)) { + $63 = (_is_whole_packet_present($0,1)|0); + $64 = ($63|0)==(0); + if (!($64)) { + break; + } + $65 = ((($0)) + 100|0); + $66 = HEAP32[$65>>2]|0; + $67 = ($66|0)==(21); + if (!($67)) { + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + HEAP32[$65>>2] = 20; + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + } while(0); + _crc32_init(); + $68 = (_get8_packet($0)|0); + $69 = ($68|0)==(5); + if (!($69)) { + _error($0,20); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + $70 = (_get8_packet($0)|0); + $71 = $70&255; + HEAP8[$1>>0] = $71; + $72 = (_get8_packet($0)|0); + $73 = $72&255; + $74 = ((($1)) + 1|0); + HEAP8[$74>>0] = $73; + $75 = (_get8_packet($0)|0); + $76 = $75&255; + $77 = ((($1)) + 2|0); + HEAP8[$77>>0] = $76; + $78 = (_get8_packet($0)|0); + $79 = $78&255; + $80 = ((($1)) + 3|0); + HEAP8[$80>>0] = $79; + $81 = (_get8_packet($0)|0); + $82 = $81&255; + $83 = ((($1)) + 4|0); + HEAP8[$83>>0] = $82; + $84 = (_get8_packet($0)|0); + $85 = $84&255; + $86 = ((($1)) + 5|0); + HEAP8[$86>>0] = $85; + $87 = (_vorbis_validate($1)|0); + $88 = ($87|0)==(0); + if ($88) { + _error($0,20); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + $89 = (_get_bits($0,8)|0); + $90 = (($89) + 1)|0; + $91 = ((($0)) + 120|0); + HEAP32[$91>>2] = $90; + $92 = ($90*2096)|0; + $93 = (_setup_malloc($0,$92)|0); + $94 = ((($0)) + 124|0); + HEAP32[$94>>2] = $93; + $95 = ($93|0)==(0|0); + if ($95) { + _error($0,3); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + $96 = HEAP32[$91>>2]|0; + $97 = ($96*2096)|0; + _memset(($93|0),0,($97|0))|0; + $98 = HEAP32[$91>>2]|0; + $99 = ($98|0)>(0); + L100: do { + if ($99) { + $100 = ((($0)) + 16|0); + $101 = ((($0)) + 16|0); + $$18921232 = 0; + L102: while(1) { + $102 = HEAP32[$94>>2]|0; + $103 = (($102) + (($$18921232*2096)|0)|0); + $104 = (_get_bits($0,8)|0); + $105 = $104 & 255; + $106 = ($105|0)==(66); + if (!($106)) { + label = 52; + break; + } + $107 = (_get_bits($0,8)|0); + $108 = $107 & 255; + $109 = ($108|0)==(67); + if (!($109)) { + label = 54; + break; + } + $110 = (_get_bits($0,8)|0); + $111 = $110 & 255; + $112 = ($111|0)==(86); + if (!($112)) { + label = 56; + break; + } + $113 = (_get_bits($0,8)|0); + $114 = (_get_bits($0,8)|0); + $115 = $114 << 8; + $116 = $113 & 255; + $117 = $115 | $116; + HEAP32[$103>>2] = $117; + $118 = (_get_bits($0,8)|0); + $119 = (_get_bits($0,8)|0); + $120 = (_get_bits($0,8)|0); + $121 = $120 << 16; + $122 = $119 << 8; + $123 = $122 & 65280; + $124 = $118 & 255; + $125 = $123 | $124; + $126 = $125 | $121; + $127 = (((($102) + (($$18921232*2096)|0)|0)) + 4|0); + HEAP32[$127>>2] = $126; + $128 = (_get_bits($0,1)|0); + $129 = ($128|0)!=(0); + if ($129) { + $132 = 0; + } else { + $130 = (_get_bits($0,1)|0); + $132 = $130; + } + $131 = $132&255; + $133 = (((($102) + (($$18921232*2096)|0)|0)) + 23|0); + HEAP8[$133>>0] = $131; + $134 = HEAP32[$103>>2]|0; + $135 = ($134|0)!=(0); + $136 = HEAP32[$127>>2]|0; + $137 = ($136|0)==(0); + $or$cond = $135 | $137; + if (!($or$cond)) { + label = 60; + break; + } + $138 = ($131<<24>>24)==(0); + if ($138) { + $140 = (_setup_malloc($0,$136)|0); + $141 = (((($102) + (($$18921232*2096)|0)|0)) + 8|0); + HEAP32[$141>>2] = $140; + $$0962 = $140; + } else { + $139 = (_setup_temp_malloc($0,$136)|0); + $$0962 = $139; + } + $142 = ($$0962|0)==(0|0); + if ($142) { + label = 65; + break; + } + do { + if ($129) { + $145 = (_get_bits($0,5)|0); + $146 = HEAP32[$127>>2]|0; + $147 = ($146|0)>(0); + if ($147) { + $$09661213 = 0;$$in = $145;$150 = $146; + } else { + $$3961 = 0; + break; + } + while(1) { + $148 = (($$in) + 1)|0; + $149 = (($150) - ($$09661213))|0; + $151 = (_ilog($149)|0); + $152 = (_get_bits($0,$151)|0); + $153 = (($152) + ($$09661213))|0; + $154 = HEAP32[$127>>2]|0; + $155 = ($153|0)>($154|0); + if ($155) { + label = 71; + break L102; + } + $156 = (($$0962) + ($$09661213)|0); + $157 = $148&255; + _memset(($156|0),($157|0),($152|0))|0; + $158 = HEAP32[$127>>2]|0; + $159 = ($158|0)>($153|0); + if ($159) { + $$09661213 = $153;$$in = $148;$150 = $158; + } else { + $$3961 = 0; + break; + } + } + } else { + $143 = HEAP32[$127>>2]|0; + $144 = ($143|0)>(0); + if ($144) { + $$09021210 = 0;$$09581209 = 0; + } else { + $$3961 = 0; + break; + } + while(1) { + $160 = HEAP8[$133>>0]|0; + $161 = ($160<<24>>24)==(0); + do { + if ($161) { + label = 74; + } else { + $162 = (_get_bits($0,1)|0); + $163 = ($162|0)==(0); + if (!($163)) { + label = 74; + break; + } + $171 = (($$0962) + ($$09021210)|0); + HEAP8[$171>>0] = -1; + $$2960$ph = $$09581209; + } + } while(0); + if ((label|0) == 74) { + label = 0; + $164 = (_get_bits($0,5)|0); + $165 = (($164) + 1)|0; + $166 = $165&255; + $167 = (($$0962) + ($$09021210)|0); + HEAP8[$167>>0] = $166; + $168 = (($$09581209) + 1)|0; + $169 = $165 & 255; + $170 = ($169|0)==(32); + if ($170) { + label = 76; + break L102; + } else { + $$2960$ph = $168; + } + } + $172 = (($$09021210) + 1)|0; + $173 = HEAP32[$127>>2]|0; + $174 = ($172|0)<($173|0); + if ($174) { + $$09021210 = $172;$$09581209 = $$2960$ph; + } else { + $$3961 = $$2960$ph; + break; + } + } + } + } while(0); + $175 = HEAP8[$133>>0]|0; + $176 = ($175<<24>>24)==(0); + do { + if ($176) { + $$19631001$ph = $$0962; + label = 86; + } else { + $177 = HEAP32[$127>>2]|0; + $178 = $177 >> 2; + $179 = ($$3961|0)<($178|0); + if ($179) { + $$pr = HEAP8[$133>>0]|0; + $188 = ($$pr<<24>>24)==(0); + if ($188) { + $$19631001$ph = $$0962; + label = 86; + break; + } else { + $$19631000 = $$0962;$$2956 = $$3961; + break; + } + } + $180 = HEAP32[$101>>2]|0; + $181 = ($177|0)>($180|0); + if ($181) { + HEAP32[$101>>2] = $177; + } + $182 = (_setup_malloc($0,$177)|0); + $183 = (((($102) + (($$18921232*2096)|0)|0)) + 8|0); + HEAP32[$183>>2] = $182; + $184 = ($182|0)==(0|0); + if ($184) { + label = 83; + break L102; + } + $185 = HEAP32[$127>>2]|0; + _memcpy(($182|0),($$0962|0),($185|0))|0; + $186 = HEAP32[$127>>2]|0; + _setup_temp_free($0,$$0962,$186); + $187 = HEAP32[$183>>2]|0; + HEAP8[$133>>0] = 0; + $$19631001$ph = $187; + label = 86; + } + } while(0); + do { + if ((label|0) == 86) { + label = 0; + $189 = HEAP32[$127>>2]|0; + $190 = ($189|0)>(0); + if (!($190)) { + $$19631000 = $$19631001$ph;$$2956 = 0; + break; + } + $191 = HEAP32[$127>>2]|0; + $$09541216 = 0;$$19031217 = 0; + while(1) { + $192 = (($$19631001$ph) + ($$19031217)|0); + $193 = HEAP8[$192>>0]|0; + $194 = ($193&255)<(11); + $notrhs = ($193<<24>>24)!=(-1); + $not$or$cond982 = $194 ^ $notrhs; + $195 = $not$or$cond982&1; + $$1955 = (($195) + ($$09541216))|0; + $196 = (($$19031217) + 1)|0; + $197 = ($196|0)<($191|0); + if ($197) { + $$09541216 = $$1955;$$19031217 = $196; + } else { + $$19631000 = $$19631001$ph;$$2956 = $$1955; + break; + } + } + } + } while(0); + $198 = (((($102) + (($$18921232*2096)|0)|0)) + 2092|0); + HEAP32[$198>>2] = $$2956; + $199 = HEAP8[$133>>0]|0; + $200 = ($199<<24>>24)==(0); + do { + if ($200) { + $201 = HEAP32[$127>>2]|0; + $202 = $201 << 2; + $203 = (_setup_malloc($0,$202)|0); + $204 = (((($102) + (($$18921232*2096)|0)|0)) + 32|0); + HEAP32[$204>>2] = $203; + $205 = ($203|0)==(0|0); + if ($205) { + label = 91; + break L102; + } else { + $$2953 = 0;$230 = 0; + } + } else { + $206 = ($$2956|0)==(0); + if ($206) { + $$0951 = 0;$878 = 0; + } else { + $207 = (_setup_malloc($0,$$2956)|0); + $208 = (((($102) + (($$18921232*2096)|0)|0)) + 8|0); + HEAP32[$208>>2] = $207; + $209 = ($207|0)==(0|0); + if ($209) { + label = 94; + break L102; + } + $210 = HEAP32[$198>>2]|0; + $211 = $210 << 2; + $212 = (_setup_temp_malloc($0,$211)|0); + $213 = (((($102) + (($$18921232*2096)|0)|0)) + 32|0); + HEAP32[$213>>2] = $212; + $214 = ($212|0)==(0|0); + if ($214) { + label = 96; + break L102; + } + $215 = HEAP32[$198>>2]|0; + $216 = $215 << 2; + $217 = (_setup_temp_malloc($0,$216)|0); + $218 = ($217|0)==(0|0); + if ($218) { + label = 98; + break L102; + } else { + $$0951 = $217;$878 = $217; + } + } + $219 = HEAP32[$127>>2]|0; + $220 = HEAP32[$198>>2]|0; + $221 = $220 << 3; + $222 = (($221) + ($219))|0; + $223 = HEAP32[$100>>2]|0; + $224 = ($222>>>0)>($223>>>0); + if (!($224)) { + $$2953 = $$0951;$230 = $878; + break; + } + HEAP32[$100>>2] = $222; + $$2953 = $$0951;$230 = $878; + } + } while(0); + $225 = HEAP32[$127>>2]|0; + $226 = (_compute_codewords($103,$$19631000,$225,$$2953)|0); + $227 = ($226|0)==(0); + if ($227) { + label = 102; + break; + } + $231 = HEAP32[$198>>2]|0; + $232 = ($231|0)==(0); + if (!($232)) { + $233 = $231 << 2; + $234 = (($233) + 4)|0; + $235 = (_setup_malloc($0,$234)|0); + $236 = (((($102) + (($$18921232*2096)|0)|0)) + 2084|0); + HEAP32[$236>>2] = $235; + $237 = ($235|0)==(0|0); + if ($237) { + label = 107; + break; + } + $238 = HEAP32[$198>>2]|0; + $239 = $238 << 2; + $240 = (($239) + 4)|0; + $241 = (_setup_malloc($0,$240)|0); + $242 = (((($102) + (($$18921232*2096)|0)|0)) + 2088|0); + HEAP32[$242>>2] = $241; + $243 = ($241|0)==(0|0); + if ($243) { + label = 109; + break; + } + $244 = ((($241)) + 4|0); + HEAP32[$242>>2] = $244; + HEAP32[$241>>2] = -1; + _compute_sorted_huffman($103,$$19631000,$$2953); + } + $245 = HEAP8[$133>>0]|0; + $246 = ($245<<24>>24)==(0); + if (!($246)) { + $247 = HEAP32[$198>>2]|0; + $248 = $247 << 2; + _setup_temp_free($0,$230,$248); + $249 = (((($102) + (($$18921232*2096)|0)|0)) + 32|0); + $250 = HEAP32[$249>>2]|0; + $251 = HEAP32[$198>>2]|0; + $252 = $251 << 2; + _setup_temp_free($0,$250,$252); + $253 = HEAP32[$127>>2]|0; + _setup_temp_free($0,$$19631000,$253); + HEAP32[$249>>2] = 0; + } + _compute_accelerated_huffman($103); + $254 = (_get_bits($0,4)|0); + $255 = $254&255; + $256 = (((($102) + (($$18921232*2096)|0)|0)) + 21|0); + HEAP8[$256>>0] = $255; + $257 = $254 & 255; + $258 = ($257>>>0)>(2); + if ($258) { + label = 114; + break; + } + $259 = ($257|0)==(0); + if (!($259)) { + $260 = (_get_bits($0,32)|0); + $261 = (+_float32_unpack($260)); + $262 = (((($102) + (($$18921232*2096)|0)|0)) + 12|0); + HEAPF32[$262>>2] = $261; + $263 = (_get_bits($0,32)|0); + $264 = (+_float32_unpack($263)); + $265 = (((($102) + (($$18921232*2096)|0)|0)) + 16|0); + HEAPF32[$265>>2] = $264; + $266 = (_get_bits($0,4)|0); + $267 = (($266) + 1)|0; + $268 = $267&255; + $269 = (((($102) + (($$18921232*2096)|0)|0)) + 20|0); + HEAP8[$269>>0] = $268; + $270 = (_get_bits($0,1)|0); + $271 = $270&255; + $272 = (((($102) + (($$18921232*2096)|0)|0)) + 22|0); + HEAP8[$272>>0] = $271; + $273 = HEAP8[$256>>0]|0; + $274 = ($273<<24>>24)==(1); + $275 = HEAP32[$127>>2]|0; + $276 = HEAP32[$103>>2]|0; + if ($274) { + $277 = (_lookup1_values($275,$276)|0); + $$sink = $277; + } else { + $278 = Math_imul($276, $275)|0; + $$sink = $278; + } + $279 = (((($102) + (($$18921232*2096)|0)|0)) + 24|0); + HEAP32[$279>>2] = $$sink; + $280 = ($$sink|0)==(0); + if ($280) { + label = 120; + break; + } + $281 = $$sink << 1; + $282 = (_setup_temp_malloc($0,$281)|0); + $283 = ($282|0)==(0|0); + if ($283) { + label = 123; + break; + } + $284 = HEAP32[$279>>2]|0; + $285 = ($284|0)>(0); + if ($285) { + $$29041220 = 0; + while(1) { + $286 = HEAP8[$269>>0]|0; + $287 = $286&255; + $288 = (_get_bits($0,$287)|0); + $289 = ($288|0)==(-1); + if ($289) { + label = 125; + break L102; + } + $292 = $288&65535; + $293 = (($282) + ($$29041220<<1)|0); + HEAP16[$293>>1] = $292; + $294 = (($$29041220) + 1)|0; + $295 = HEAP32[$279>>2]|0; + $296 = ($294|0)<($295|0); + if ($296) { + $$29041220 = $294; + } else { + $$lcssa1073 = $295; + break; + } + } + } else { + $$lcssa1073 = $284; + } + $297 = HEAP8[$256>>0]|0; + $298 = ($297<<24>>24)==(1); + do { + if ($298) { + $299 = HEAP8[$133>>0]|0; + $300 = ($299<<24>>24)!=(0); + if ($300) { + $301 = HEAP32[$198>>2]|0; + $302 = ($301|0)==(0); + if ($302) { + break; + } else { + $$sink986 = $301; + } + } else { + $303 = HEAP32[$127>>2]|0; + $$sink986 = $303; + } + $304 = $$sink986 << 2; + $305 = HEAP32[$103>>2]|0; + $306 = Math_imul($304, $305)|0; + $307 = (_setup_malloc($0,$306)|0); + $308 = (((($102) + (($$18921232*2096)|0)|0)) + 28|0); + HEAP32[$308>>2] = $307; + $309 = ($307|0)==(0|0); + if ($309) { + label = 132; + break L102; + } + $$sink25 = $300 ? $198 : $127; + $312 = HEAP32[$$sink25>>2]|0; + $313 = ($312|0)>(0); + if ($313) { + $314 = (((($102) + (($$18921232*2096)|0)|0)) + 2088|0); + $315 = HEAP32[$103>>2]|0; + $$09701227 = 0.0;$$39051228 = 0; + while(1) { + if ($300) { + $316 = HEAP32[$314>>2]|0; + $317 = (($316) + ($$39051228<<2)|0); + $318 = HEAP32[$317>>2]|0; + $322 = $318; + } else { + $322 = $$39051228; + } + $319 = Math_imul($315, $$39051228)|0; + $$0920$ph = 0;$$0974$ph = 1;$$1971$ph = $$09701227; + L193: while(1) { + $$0920 = $$0920$ph;$$1971 = $$1971$ph; + while(1) { + $320 = ($$0920|0)<($315|0); + if (!($320)) { + break L193; + } + $321 = (($322>>>0) / ($$0974$ph>>>0))&-1; + $323 = HEAP32[$279>>2]|0; + $324 = (($321>>>0) % ($323>>>0))&-1; + $325 = (($282) + ($324<<1)|0); + $326 = HEAP16[$325>>1]|0; + $327 = (+($326&65535)); + $328 = +HEAPF32[$265>>2]; + $329 = $327 * $328; + $330 = +HEAPF32[$262>>2]; + $331 = $329 + $330; + $332 = $$1971 + $331; + $333 = HEAP32[$308>>2]|0; + $334 = (($319) + ($$0920))|0; + $335 = (($333) + ($334<<2)|0); + HEAPF32[$335>>2] = $332; + $336 = HEAP8[$272>>0]|0; + $337 = ($336<<24>>24)==(0); + $$1971$ = $337 ? $$1971 : $332; + $338 = (($$0920) + 1)|0; + $339 = ($338|0)<($315|0); + if ($339) { + break; + } else { + $$0920 = $338;$$1971 = $$1971$; + } + } + $340 = (4294967295 / ($323>>>0))&-1; + $341 = ($$0974$ph>>>0)>($340>>>0); + if ($341) { + label = 143; + break L102; + } + $342 = Math_imul($323, $$0974$ph)|0; + $$0920$ph = $338;$$0974$ph = $342;$$1971$ph = $$1971$; + } + $344 = (($$39051228) + 1)|0; + $345 = ($344|0)<($312|0); + if ($345) { + $$09701227 = $$1971;$$39051228 = $344; + } else { + break; + } + } + } + HEAP8[$256>>0] = 2; + } else { + $346 = $$lcssa1073 << 2; + $347 = (_setup_malloc($0,$346)|0); + $348 = (((($102) + (($$18921232*2096)|0)|0)) + 28|0); + HEAP32[$348>>2] = $347; + $349 = ($347|0)==(0|0); + $350 = HEAP32[$279>>2]|0; + if ($349) { + label = 150; + break L102; + } + $351 = ($350|0)>(0); + if (!($351)) { + break; + } + $352 = HEAP32[$348>>2]|0; + $353 = HEAP8[$272>>0]|0; + $354 = ($353<<24>>24)==(0); + $355 = HEAP32[$279>>2]|0; + $$09771224 = 0.0;$$49061225 = 0; + while(1) { + $356 = (($282) + ($$49061225<<1)|0); + $357 = HEAP16[$356>>1]|0; + $358 = (+($357&65535)); + $359 = +HEAPF32[$265>>2]; + $360 = $358 * $359; + $361 = +HEAPF32[$262>>2]; + $362 = $360 + $361; + $363 = $$09771224 + $362; + $364 = (($352) + ($$49061225<<2)|0); + HEAPF32[$364>>2] = $363; + $$0977$ = $354 ? $$09771224 : $363; + $365 = (($$49061225) + 1)|0; + $366 = ($365|0)<($355|0); + if ($366) { + $$09771224 = $$0977$;$$49061225 = $365; + } else { + break; + } + } + } + } while(0); + $368 = HEAP32[$279>>2]|0; + $369 = $368 << 1; + _setup_temp_free($0,$282,$369); + } + $370 = (($$18921232) + 1)|0; + $371 = HEAP32[$91>>2]|0; + $372 = ($370|0)<($371|0); + if ($372) { + $$18921232 = $370; + } else { + break L100; + } + } + switch (label|0) { + case 52: { + _error($0,20); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + break; + } + case 54: { + _error($0,20); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + break; + } + case 56: { + _error($0,20); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + break; + } + case 60: { + _error($0,20); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + break; + } + case 65: { + _error($0,3); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + break; + } + case 71: { + _error($0,20); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + break; + } + case 76: { + _error($0,20); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + break; + } + case 83: { + _error($0,3); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + break; + } + case 91: { + _error($0,3); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + break; + } + case 94: { + _error($0,3); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + break; + } + case 96: { + _error($0,3); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + break; + } + case 98: { + _error($0,3); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + break; + } + case 102: { + $228 = HEAP8[$133>>0]|0; + $229 = ($228<<24>>24)==(0); + if (!($229)) { + _setup_temp_free($0,$230,0); + } + _error($0,20); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + break; + } + case 107: { + _error($0,3); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + break; + } + case 109: { + _error($0,3); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + break; + } + case 114: { + _error($0,20); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + break; + } + case 120: { + _error($0,20); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + break; + } + case 123: { + _error($0,3); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + break; + } + case 125: { + $290 = HEAP32[$279>>2]|0; + $291 = $290 << 1; + _setup_temp_free($0,$282,$291); + _error($0,20); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + break; + } + case 132: { + $310 = HEAP32[$279>>2]|0; + $311 = $310 << 1; + _setup_temp_free($0,$282,$311); + _error($0,3); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + break; + } + case 143: { + $343 = $323 << 1; + _setup_temp_free($0,$282,$343); + _error($0,20); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + break; + } + case 150: { + $367 = $350 << 1; + _setup_temp_free($0,$282,$367); + _error($0,3); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + break; + } + } + } + } while(0); + $373 = (_get_bits($0,6)|0); + $374 = (($373) + 1)|0; + $375 = $374 & 255; + $376 = ($375|0)==(0); + L258: do { + if (!($376)) { + $$28931205 = 0; + while(1) { + $379 = (_get_bits($0,16)|0); + $380 = ($379|0)==(0); + $378 = (($$28931205) + 1)|0; + if (!($380)) { + break; + } + $377 = ($378|0)<($375|0); + if ($377) { + $$28931205 = $378; + } else { + break L258; + } + } + _error($0,20); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + } while(0); + $381 = (_get_bits($0,6)|0); + $382 = (($381) + 1)|0; + $383 = ((($0)) + 128|0); + HEAP32[$383>>2] = $382; + $384 = ($382*1596)|0; + $385 = (_setup_malloc($0,$384)|0); + $386 = ((($0)) + 260|0); + HEAP32[$386>>2] = $385; + $387 = ($385|0)==(0|0); + if ($387) { + _error($0,3); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + $388 = HEAP32[$383>>2]|0; + $389 = ($388|0)>(0); + do { + if ($389) { + $$09291199 = 0;$$38941200 = 0; + L271: while(1) { + $390 = (_get_bits($0,16)|0); + $391 = $390&65535; + $392 = (((($0)) + 132|0) + ($$38941200<<1)|0); + HEAP16[$392>>1] = $391; + $393 = $390 & 65535; + $394 = ($393>>>0)>(1); + if ($394) { + label = 162; + break; + } + $395 = ($393|0)==(0); + if ($395) { + label = 164; + break; + } + $426 = HEAP32[$386>>2]|0; + $427 = (_get_bits($0,5)|0); + $428 = $427&255; + $429 = (($426) + (($$38941200*1596)|0)|0); + HEAP8[$429>>0] = $428; + $430 = $427 & 255; + $431 = ($430|0)==(0); + if (!($431)) { + $$09641169 = -1;$$69081170 = 0; + while(1) { + $432 = (_get_bits($0,4)|0); + $433 = $432&255; + $434 = ((((($426) + (($$38941200*1596)|0)|0)) + 1|0) + ($$69081170)|0); + HEAP8[$434>>0] = $433; + $435 = $432 & 255; + $436 = ($435|0)>($$09641169|0); + $$$0964 = $436 ? $435 : $$09641169; + $437 = (($$69081170) + 1)|0; + $438 = HEAP8[$429>>0]|0; + $439 = $438&255; + $440 = ($437|0)<($439|0); + if ($440) { + $$09641169 = $$$0964;$$69081170 = $437; + } else { + $$79091177 = 0; + break; + } + } + while(1) { + $441 = (_get_bits($0,3)|0); + $442 = (($441) + 1)|0; + $443 = $442&255; + $444 = ((((($426) + (($$38941200*1596)|0)|0)) + 33|0) + ($$79091177)|0); + HEAP8[$444>>0] = $443; + $445 = (_get_bits($0,2)|0); + $446 = $445&255; + $447 = ((((($426) + (($$38941200*1596)|0)|0)) + 49|0) + ($$79091177)|0); + HEAP8[$447>>0] = $446; + $448 = ($446<<24>>24)==(0); + if ($448) { + $$19211174 = 0; + label = 175; + } else { + $450 = (_get_bits($0,8)|0); + $451 = $450&255; + $452 = ((((($426) + (($$38941200*1596)|0)|0)) + 65|0) + ($$79091177)|0); + HEAP8[$452>>0] = $451; + $453 = $450 & 255; + $454 = HEAP32[$91>>2]|0; + $455 = ($453|0)<($454|0); + if (!($455)) { + label = 173; + break L271; + } + $$pr1300 = HEAP8[$447>>0]|0; + $449 = ($$pr1300<<24>>24)==(31); + if (!($449)) { + $$19211174 = 0; + label = 175; + } + } + if ((label|0) == 175) { + while(1) { + label = 0; + $461 = (_get_bits($0,8)|0); + $462 = (($461) + 65535)|0; + $463 = $462&65535; + $464 = (((((($426) + (($$38941200*1596)|0)|0)) + 82|0) + ($$79091177<<4)|0) + ($$19211174<<1)|0); + HEAP16[$464>>1] = $463; + $sext = $462 << 16; + $465 = $sext >> 16; + $466 = HEAP32[$91>>2]|0; + $467 = ($465|0)<($466|0); + $460 = (($$19211174) + 1)|0; + if (!($467)) { + label = 176; + break L271; + } + $456 = HEAP8[$447>>0]|0; + $457 = $456&255; + $458 = 1 << $457; + $459 = ($460|0)<($458|0); + if ($459) { + $$19211174 = $460; + label = 175; + } else { + break; + } + } + } + $468 = (($$79091177) + 1)|0; + $469 = ($$79091177|0)<($$$0964|0); + if ($469) { + $$79091177 = $468; + } else { + break; + } + } + } + $470 = (_get_bits($0,2)|0); + $471 = (($470) + 1)|0; + $472 = $471&255; + $473 = (((($426) + (($$38941200*1596)|0)|0)) + 1588|0); + HEAP8[$473>>0] = $472; + $474 = (_get_bits($0,4)|0); + $475 = $474&255; + $476 = (((($426) + (($$38941200*1596)|0)|0)) + 1589|0); + HEAP8[$476>>0] = $475; + $477 = (((($426) + (($$38941200*1596)|0)|0)) + 338|0); + HEAP16[$477>>1] = 0; + $478 = $474 & 255; + $479 = 1 << $478; + $480 = $479&65535; + $481 = (((($426) + (($$38941200*1596)|0)|0)) + 340|0); + HEAP16[$481>>1] = $480; + $482 = (((($426) + (($$38941200*1596)|0)|0)) + 1592|0); + HEAP32[$482>>2] = 2; + $483 = HEAP8[$429>>0]|0; + $484 = ($483<<24>>24)==(0); + if ($484) { + $$99111188 = 0; + label = 183; + } else { + $$89101185 = 0; + while(1) { + $486 = ((((($426) + (($$38941200*1596)|0)|0)) + 1|0) + ($$89101185)|0); + $487 = HEAP8[$486>>0]|0; + $488 = $487&255; + $489 = ((((($426) + (($$38941200*1596)|0)|0)) + 33|0) + ($488)|0); + $490 = HEAP8[$489>>0]|0; + $491 = ($490<<24>>24)==(0); + if (!($491)) { + $$29221181 = 0; + while(1) { + $492 = HEAP8[$476>>0]|0; + $493 = $492&255; + $494 = (_get_bits($0,$493)|0); + $495 = $494&65535; + $496 = HEAP32[$482>>2]|0; + $497 = ((((($426) + (($$38941200*1596)|0)|0)) + 338|0) + ($496<<1)|0); + HEAP16[$497>>1] = $495; + $498 = HEAP32[$482>>2]|0; + $499 = (($498) + 1)|0; + HEAP32[$482>>2] = $499; + $500 = (($$29221181) + 1)|0; + $501 = HEAP8[$489>>0]|0; + $502 = $501&255; + $503 = ($500|0)<($502|0); + if ($503) { + $$29221181 = $500; + } else { + break; + } + } + } + $504 = (($$89101185) + 1)|0; + $505 = HEAP8[$429>>0]|0; + $506 = $505&255; + $507 = ($504|0)<($506|0); + if ($507) { + $$89101185 = $504; + } else { + break; + } + } + $$pr1301 = HEAP32[$482>>2]|0; + $485 = ($$pr1301|0)>(0); + if ($485) { + $$99111188 = 0; + label = 183; + } else { + $$lcssa1060 = $$pr1301; + } + } + if ((label|0) == 183) { + while(1) { + label = 0; + $508 = ((((($426) + (($$38941200*1596)|0)|0)) + 338|0) + ($$99111188<<1)|0); + $509 = HEAP16[$508>>1]|0; + $510 = (($2) + ($$99111188<<2)|0); + HEAP16[$510>>1] = $509; + $511 = $$99111188&65535; + $512 = (((($2) + ($$99111188<<2)|0)) + 2|0); + HEAP16[$512>>1] = $511; + $513 = (($$99111188) + 1)|0; + $514 = HEAP32[$482>>2]|0; + $515 = ($513|0)<($514|0); + if ($515) { + $$99111188 = $513; + label = 183; + } else { + $$lcssa1060 = $514; + break; + } + } + } + _qsort($2,$$lcssa1060,4,1); + $516 = HEAP32[$482>>2]|0; + $517 = ($516|0)>(0); + do { + if ($517) { + $$109121192 = 0; + while(1) { + $520 = (((($2) + ($$109121192<<2)|0)) + 2|0); + $521 = HEAP16[$520>>1]|0; + $522 = $521&255; + $523 = ((((($426) + (($$38941200*1596)|0)|0)) + 838|0) + ($$109121192)|0); + HEAP8[$523>>0] = $522; + $524 = (($$109121192) + 1)|0; + $519 = HEAP32[$482>>2]|0; + $525 = ($524|0)<($519|0); + if ($525) { + $$109121192 = $524; + } else { + break; + } + } + $518 = ($519|0)>(2); + if ($518) { + $$119131195 = 2; + } else { + $$lcssa1061 = $519; + break; + } + while(1) { + _neighbors($477,$$119131195,$3,$4); + $526 = HEAP32[$3>>2]|0; + $527 = $526&255; + $528 = ((((($426) + (($$38941200*1596)|0)|0)) + 1088|0) + ($$119131195<<1)|0); + HEAP8[$528>>0] = $527; + $529 = HEAP32[$4>>2]|0; + $530 = $529&255; + $531 = ((((((($426) + (($$38941200*1596)|0)|0)) + 1088|0) + ($$119131195<<1)|0)) + 1|0); + HEAP8[$531>>0] = $530; + $532 = (($$119131195) + 1)|0; + $533 = HEAP32[$482>>2]|0; + $534 = ($532|0)<($533|0); + if ($534) { + $$119131195 = $532; + } else { + $$lcssa1061 = $533; + break; + } + } + } else { + $$lcssa1061 = $516; + } + } while(0); + $535 = ($$lcssa1061|0)>($$09291199|0); + $$$0929 = $535 ? $$lcssa1061 : $$09291199; + $536 = (($$38941200) + 1)|0; + $537 = HEAP32[$383>>2]|0; + $538 = ($536|0)<($537|0); + if ($538) { + $$09291199 = $$$0929;$$38941200 = $536; + } else { + label = 190; + break; + } + } + if ((label|0) == 162) { + _error($0,20); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + else if ((label|0) == 164) { + $396 = HEAP32[$386>>2]|0; + $397 = (_get_bits($0,8)|0); + $398 = $397&255; + $399 = (($396) + (($$38941200*1596)|0)|0); + HEAP8[$399>>0] = $398; + $400 = (_get_bits($0,16)|0); + $401 = $400&65535; + $402 = (((($396) + (($$38941200*1596)|0)|0)) + 2|0); + HEAP16[$402>>1] = $401; + $403 = (_get_bits($0,16)|0); + $404 = $403&65535; + $405 = (((($396) + (($$38941200*1596)|0)|0)) + 4|0); + HEAP16[$405>>1] = $404; + $406 = (_get_bits($0,6)|0); + $407 = $406&255; + $408 = (((($396) + (($$38941200*1596)|0)|0)) + 6|0); + HEAP8[$408>>0] = $407; + $409 = (_get_bits($0,8)|0); + $410 = $409&255; + $411 = (((($396) + (($$38941200*1596)|0)|0)) + 7|0); + HEAP8[$411>>0] = $410; + $412 = (_get_bits($0,4)|0); + $413 = (($412) + 1)|0; + $414 = $413&255; + $415 = (((($396) + (($$38941200*1596)|0)|0)) + 8|0); + HEAP8[$415>>0] = $414; + $416 = $413 & 255; + $417 = ($416|0)==(0); + if (!($417)) { + $418 = (((($396) + (($$38941200*1596)|0)|0)) + 9|0); + $$59071118 = 0; + while(1) { + $419 = (_get_bits($0,8)|0); + $420 = $419&255; + $421 = (($418) + ($$59071118)|0); + HEAP8[$421>>0] = $420; + $422 = (($$59071118) + 1)|0; + $423 = HEAP8[$415>>0]|0; + $424 = $423&255; + $425 = ($422|0)<($424|0); + if ($425) { + $$59071118 = $422; + } else { + break; + } + } + } + _error($0,4); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + else if ((label|0) == 173) { + _error($0,20); + } + else if ((label|0) == 176) { + _error($0,20); + } + else if ((label|0) == 190) { + $phitmp1297 = $$$0929 << 1; + $$0929$lcssa = $phitmp1297; + break; + } + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } else { + $$0929$lcssa = 0; + } + } while(0); + $539 = (_get_bits($0,6)|0); + $540 = (($539) + 1)|0; + $541 = ((($0)) + 264|0); + HEAP32[$541>>2] = $540; + $542 = ($540*24)|0; + $543 = (_setup_malloc($0,$542)|0); + $544 = ((($0)) + 396|0); + HEAP32[$544>>2] = $543; + $545 = ($543|0)==(0|0); + if ($545) { + _error($0,3); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + $546 = HEAP32[$541>>2]|0; + $547 = ($546*24)|0; + _memset(($543|0),0,($547|0))|0; + $548 = HEAP32[$541>>2]|0; + $549 = ($548|0)>(0); + L328: do { + if ($549) { + $$48951165 = 0; + L330: while(1) { + $550 = HEAP32[$544>>2]|0; + $551 = (_get_bits($0,16)|0); + $552 = $551&65535; + $553 = (((($0)) + 268|0) + ($$48951165<<1)|0); + HEAP16[$553>>1] = $552; + $554 = $551 & 65535; + $555 = ($554>>>0)>(2); + if ($555) { + label = 196; + break; + } + $556 = (_get_bits($0,24)|0); + $557 = (($550) + (($$48951165*24)|0)|0); + HEAP32[$557>>2] = $556; + $558 = (_get_bits($0,24)|0); + $559 = (((($550) + (($$48951165*24)|0)|0)) + 4|0); + HEAP32[$559>>2] = $558; + $560 = HEAP32[$557>>2]|0; + $561 = ($558>>>0)<($560>>>0); + if ($561) { + label = 198; + break; + } + $562 = (_get_bits($0,24)|0); + $563 = (($562) + 1)|0; + $564 = (((($550) + (($$48951165*24)|0)|0)) + 8|0); + HEAP32[$564>>2] = $563; + $565 = (_get_bits($0,6)|0); + $566 = (($565) + 1)|0; + $567 = $566&255; + $568 = (((($550) + (($$48951165*24)|0)|0)) + 12|0); + HEAP8[$568>>0] = $567; + $569 = (_get_bits($0,8)|0); + $570 = $569&255; + $571 = (((($550) + (($$48951165*24)|0)|0)) + 13|0); + HEAP8[$571>>0] = $570; + $572 = $569 & 255; + $573 = HEAP32[$91>>2]|0; + $574 = ($572|0)<($573|0); + if (!($574)) { + label = 201; + break; + } + $575 = HEAP8[$568>>0]|0; + $576 = $575&255; + $577 = ($575<<24>>24)==(0); + if ($577) { + $$lcssa = $576; + } else { + $$129141148 = 0; + while(1) { + $578 = (_get_bits($0,3)|0); + $579 = (_get_bits($0,1)|0); + $580 = ($579|0)==(0); + if ($580) { + $$0957 = 0; + } else { + $581 = (_get_bits($0,5)|0); + $$0957 = $581; + } + $582 = $$0957 << 3; + $583 = (($582) + ($578))|0; + $584 = $583&255; + $585 = (($2) + ($$129141148)|0); + HEAP8[$585>>0] = $584; + $586 = (($$129141148) + 1)|0; + $587 = HEAP8[$568>>0]|0; + $588 = $587&255; + $589 = ($586|0)<($588|0); + if ($589) { + $$129141148 = $586; + } else { + $$lcssa = $588; + break; + } + } + } + $590 = $$lcssa << 4; + $591 = (_setup_malloc($0,$590)|0); + $592 = (((($550) + (($$48951165*24)|0)|0)) + 20|0); + HEAP32[$592>>2] = $591; + $593 = ($591|0)==(0|0); + if ($593) { + label = 207; + break; + } + $594 = HEAP8[$568>>0]|0; + $595 = ($594<<24>>24)==(0); + if (!($595)) { + $$139151153 = 0; + while(1) { + $596 = (($2) + ($$139151153)|0); + $597 = HEAP8[$596>>0]|0; + $598 = $597&255; + $$39231152 = 0; + while(1) { + $599 = 1 << $$39231152; + $600 = $598 & $599; + $601 = ($600|0)==(0); + if ($601) { + $612 = HEAP32[$592>>2]|0; + $613 = ((($612) + ($$139151153<<4)|0) + ($$39231152<<1)|0); + HEAP16[$613>>1] = -1; + } else { + $602 = (_get_bits($0,8)|0); + $603 = $602&65535; + $604 = HEAP32[$592>>2]|0; + $605 = ((($604) + ($$139151153<<4)|0) + ($$39231152<<1)|0); + HEAP16[$605>>1] = $603; + $606 = HEAP32[$592>>2]|0; + $607 = ((($606) + ($$139151153<<4)|0) + ($$39231152<<1)|0); + $608 = HEAP16[$607>>1]|0; + $609 = $608 << 16 >> 16; + $610 = HEAP32[$91>>2]|0; + $611 = ($609|0)<($610|0); + if (!($611)) { + label = 211; + break L330; + } + } + $614 = (($$39231152) + 1)|0; + $615 = ($614|0)<(8); + if ($615) { + $$39231152 = $614; + } else { + break; + } + } + $616 = (($$139151153) + 1)|0; + $617 = HEAP8[$568>>0]|0; + $618 = $617&255; + $619 = ($616|0)<($618|0); + if ($619) { + $$139151153 = $616; + } else { + break; + } + } + } + $620 = HEAP32[$94>>2]|0; + $621 = HEAP8[$571>>0]|0; + $622 = $621&255; + $623 = (((($620) + (($622*2096)|0)|0)) + 4|0); + $624 = HEAP32[$623>>2]|0; + $625 = $624 << 2; + $626 = (_setup_malloc($0,$625)|0); + $627 = (((($550) + (($$48951165*24)|0)|0)) + 16|0); + HEAP32[$627>>2] = $626; + $628 = ($626|0)==(0|0); + if ($628) { + label = 216; + break; + } + $629 = HEAP32[$94>>2]|0; + $630 = HEAP8[$571>>0]|0; + $631 = $630&255; + $632 = (((($629) + (($631*2096)|0)|0)) + 4|0); + $633 = HEAP32[$632>>2]|0; + $634 = $633 << 2; + _memset(($626|0),0,($634|0))|0; + $635 = HEAP32[$94>>2]|0; + $636 = HEAP8[$571>>0]|0; + $637 = $636&255; + $638 = (((($635) + (($637*2096)|0)|0)) + 4|0); + $639 = HEAP32[$638>>2]|0; + $640 = ($639|0)>(0); + if ($640) { + $$149161160 = 0;$642 = $635;$643 = $637; + while(1) { + $641 = (($642) + (($643*2096)|0)|0); + $644 = HEAP32[$641>>2]|0; + $645 = (_setup_malloc($0,$644)|0); + $646 = HEAP32[$627>>2]|0; + $647 = (($646) + ($$149161160<<2)|0); + HEAP32[$647>>2] = $645; + $648 = HEAP32[$627>>2]|0; + $649 = (($648) + ($$149161160<<2)|0); + $650 = HEAP32[$649>>2]|0; + $651 = ($650|0)==(0|0); + if ($651) { + label = 221; + break L330; + } + $652 = ($644|0)>(0); + if ($652) { + $$09501156 = $$149161160;$$49241157$in = $644; + while(1) { + $$49241157 = (($$49241157$in) + -1)|0; + $653 = HEAP8[$568>>0]|0; + $654 = $653&255; + $655 = (($$09501156|0) % ($654|0))&-1; + $656 = $655&255; + $657 = HEAP32[$627>>2]|0; + $658 = (($657) + ($$149161160<<2)|0); + $659 = HEAP32[$658>>2]|0; + $660 = (($659) + ($$49241157)|0); + HEAP8[$660>>0] = $656; + $661 = HEAP8[$568>>0]|0; + $662 = $661&255; + $663 = (($$09501156|0) / ($662|0))&-1; + $664 = ($$49241157$in|0)>(1); + if ($664) { + $$09501156 = $663;$$49241157$in = $$49241157; + } else { + break; + } + } + } + $665 = (($$149161160) + 1)|0; + $666 = HEAP32[$94>>2]|0; + $667 = HEAP8[$571>>0]|0; + $668 = $667&255; + $669 = (((($666) + (($668*2096)|0)|0)) + 4|0); + $670 = HEAP32[$669>>2]|0; + $671 = ($665|0)<($670|0); + if ($671) { + $$149161160 = $665;$642 = $666;$643 = $668; + } else { + break; + } + } + } + $672 = (($$48951165) + 1)|0; + $673 = HEAP32[$541>>2]|0; + $674 = ($672|0)<($673|0); + if ($674) { + $$48951165 = $672; + } else { + break L328; + } + } + if ((label|0) == 196) { + _error($0,20); + } + else if ((label|0) == 198) { + _error($0,20); + } + else if ((label|0) == 201) { + _error($0,20); + } + else if ((label|0) == 207) { + _error($0,3); + } + else if ((label|0) == 211) { + _error($0,20); + } + else if ((label|0) == 216) { + _error($0,3); + } + else if ((label|0) == 221) { + _error($0,3); + } + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + } while(0); + $675 = (_get_bits($0,6)|0); + $676 = (($675) + 1)|0; + $677 = ((($0)) + 400|0); + HEAP32[$677>>2] = $676; + $678 = ($676*40)|0; + $679 = (_setup_malloc($0,$678)|0); + $680 = ((($0)) + 404|0); + HEAP32[$680>>2] = $679; + $681 = ($679|0)==(0|0); + if ($681) { + _error($0,3); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + $682 = HEAP32[$677>>2]|0; + $683 = ($682*40)|0; + _memset(($679|0),0,($683|0))|0; + $684 = HEAP32[$677>>2]|0; + $685 = ($684|0)>(0); + L379: do { + if ($685) { + $$58961143 = 0; + L380: while(1) { + $686 = HEAP32[$680>>2]|0; + $687 = (($686) + (($$58961143*40)|0)|0); + $688 = (_get_bits($0,16)|0); + $689 = ($688|0)==(0); + if (!($689)) { + label = 229; + break; + } + $690 = HEAP32[$32>>2]|0; + $691 = ($690*3)|0; + $692 = (_setup_malloc($0,$691)|0); + $693 = (((($686) + (($$58961143*40)|0)|0)) + 4|0); + HEAP32[$693>>2] = $692; + $694 = ($692|0)==(0|0); + if ($694) { + label = 231; + break; + } + $695 = (_get_bits($0,1)|0); + $696 = ($695|0)==(0); + if ($696) { + $$sink26 = 1; + } else { + $697 = (_get_bits($0,4)|0); + $698 = (($697) + 1)|0; + $699 = $698&255; + $$sink26 = $699; + } + $700 = (((($686) + (($$58961143*40)|0)|0)) + 8|0); + HEAP8[$700>>0] = $$sink26; + $701 = (_get_bits($0,1)|0); + $702 = ($701|0)==(0); + do { + if ($702) { + HEAP16[$687>>1] = 0; + } else { + $703 = (_get_bits($0,8)|0); + $704 = (($703) + 1)|0; + $705 = $704&65535; + HEAP16[$687>>1] = $705; + $706 = $704 & 65535; + $707 = ($706|0)==(0); + if ($707) { + break; + } else { + $$59251132 = 0; + } + while(1) { + $712 = HEAP32[$32>>2]|0; + $713 = (($712) + -1)|0; + $714 = (_ilog($713)|0); + $715 = (_get_bits($0,$714)|0); + $716 = $715&255; + $717 = HEAP32[$693>>2]|0; + $718 = (($717) + (($$59251132*3)|0)|0); + HEAP8[$718>>0] = $716; + $719 = HEAP32[$32>>2]|0; + $720 = (($719) + -1)|0; + $721 = (_ilog($720)|0); + $722 = (_get_bits($0,$721)|0); + $723 = $722&255; + $724 = HEAP32[$693>>2]|0; + $725 = (((($724) + (($$59251132*3)|0)|0)) + 1|0); + HEAP8[$725>>0] = $723; + $726 = HEAP32[$693>>2]|0; + $727 = (($726) + (($$59251132*3)|0)|0); + $728 = HEAP8[$727>>0]|0; + $729 = $728&255; + $730 = HEAP32[$32>>2]|0; + $731 = ($729|0)<($730|0); + if (!($731)) { + label = 238; + break L380; + } + $732 = (((($726) + (($$59251132*3)|0)|0)) + 1|0); + $733 = HEAP8[$732>>0]|0; + $734 = $733&255; + $735 = ($734|0)<($730|0); + if (!($735)) { + label = 240; + break L380; + } + $736 = ($728<<24>>24)==($733<<24>>24); + $711 = (($$59251132) + 1)|0; + if ($736) { + label = 242; + break L380; + } + $708 = HEAP16[$687>>1]|0; + $709 = $708&65535; + $710 = ($711|0)<($709|0); + if ($710) { + $$59251132 = $711; + } else { + break; + } + } + } + } while(0); + $737 = (_get_bits($0,2)|0); + $738 = ($737|0)==(0); + if (!($738)) { + label = 245; + break; + } + $739 = HEAP8[$700>>0]|0; + $740 = ($739&255)>(1); + $741 = HEAP32[$32>>2]|0; + $742 = ($741|0)>(0); + do { + if ($740) { + if ($742) { + $$159171137 = 0; + } else { + break; + } + while(1) { + $750 = (_get_bits($0,4)|0); + $751 = $750&255; + $752 = HEAP32[$693>>2]|0; + $753 = (((($752) + (($$159171137*3)|0)|0)) + 2|0); + HEAP8[$753>>0] = $751; + $754 = HEAP32[$693>>2]|0; + $755 = (((($754) + (($$159171137*3)|0)|0)) + 2|0); + $756 = HEAP8[$755>>0]|0; + $757 = HEAP8[$700>>0]|0; + $758 = ($756&255)<($757&255); + $747 = (($$159171137) + 1)|0; + if (!($758)) { + label = 253; + break L380; + } + $745 = HEAP32[$32>>2]|0; + $746 = ($747|0)<($745|0); + if ($746) { + $$159171137 = $747; + } else { + break; + } + } + } else { + if (!($742)) { + break; + } + $743 = HEAP32[$693>>2]|0; + $744 = HEAP32[$32>>2]|0; + $$169181135 = 0; + while(1) { + $759 = (((($743) + (($$169181135*3)|0)|0)) + 2|0); + HEAP8[$759>>0] = 0; + $760 = (($$169181135) + 1)|0; + $761 = ($760|0)<($744|0); + if ($761) { + $$169181135 = $760; + } else { + break; + } + } + } + } while(0); + $748 = HEAP8[$700>>0]|0; + $749 = ($748<<24>>24)==(0); + if (!($749)) { + $$179191139 = 0; + while(1) { + (_get_bits($0,8)|0); + $766 = (_get_bits($0,8)|0); + $767 = $766&255; + $768 = ((((($686) + (($$58961143*40)|0)|0)) + 9|0) + ($$179191139)|0); + HEAP8[$768>>0] = $767; + $769 = (_get_bits($0,8)|0); + $770 = $769&255; + $771 = ((((($686) + (($$58961143*40)|0)|0)) + 24|0) + ($$179191139)|0); + HEAP8[$771>>0] = $770; + $772 = HEAP8[$768>>0]|0; + $773 = $772&255; + $774 = HEAP32[$383>>2]|0; + $775 = ($773|0)<($774|0); + if (!($775)) { + label = 257; + break L380; + } + $776 = $769 & 255; + $777 = HEAP32[$541>>2]|0; + $778 = ($776|0)<($777|0); + $765 = (($$179191139) + 1)|0; + if (!($778)) { + label = 259; + break L380; + } + $762 = HEAP8[$700>>0]|0; + $763 = $762&255; + $764 = ($765|0)<($763|0); + if ($764) { + $$179191139 = $765; + } else { + break; + } + } + } + $779 = (($$58961143) + 1)|0; + $780 = HEAP32[$677>>2]|0; + $781 = ($779|0)<($780|0); + if ($781) { + $$58961143 = $779; + } else { + break L379; + } + } + if ((label|0) == 229) { + _error($0,20); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + else if ((label|0) == 231) { + _error($0,3); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + else if ((label|0) == 238) { + _error($0,20); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + else if ((label|0) == 240) { + _error($0,20); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + else if ((label|0) == 242) { + _error($0,20); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + else if ((label|0) == 245) { + _error($0,20); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + else if ((label|0) == 253) { + _error($0,20); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + else if ((label|0) == 257) { + _error($0,20); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + else if ((label|0) == 259) { + _error($0,20); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + } + } while(0); + $782 = (_get_bits($0,6)|0); + $783 = (($782) + 1)|0; + $784 = ((($0)) + 408|0); + HEAP32[$784>>2] = $783; + $785 = ($783|0)>(0); + L433: do { + if ($785) { + $$68971128 = 0; + while(1) { + $789 = (_get_bits($0,1)|0); + $790 = $789&255; + $791 = (((($0)) + 412|0) + (($$68971128*6)|0)|0); + HEAP8[$791>>0] = $790; + $792 = (_get_bits($0,16)|0); + $793 = $792&65535; + $794 = (((((($0)) + 412|0) + (($$68971128*6)|0)|0)) + 2|0); + HEAP16[$794>>1] = $793; + $795 = (_get_bits($0,16)|0); + $796 = $795&65535; + $797 = (((((($0)) + 412|0) + (($$68971128*6)|0)|0)) + 4|0); + HEAP16[$797>>1] = $796; + $798 = (_get_bits($0,8)|0); + $799 = $798&255; + $800 = (((((($0)) + 412|0) + (($$68971128*6)|0)|0)) + 1|0); + HEAP8[$800>>0] = $799; + $801 = HEAP16[$794>>1]|0; + $802 = ($801<<16>>16)==(0); + if (!($802)) { + label = 264; + break; + } + $803 = HEAP16[$797>>1]|0; + $804 = ($803<<16>>16)==(0); + if (!($804)) { + label = 266; + break; + } + $805 = $798 & 255; + $806 = HEAP32[$677>>2]|0; + $807 = ($805|0)<($806|0); + $788 = (($$68971128) + 1)|0; + if (!($807)) { + label = 268; + break; + } + $786 = HEAP32[$784>>2]|0; + $787 = ($788|0)<($786|0); + if ($787) { + $$68971128 = $788; + } else { + break L433; + } + } + if ((label|0) == 264) { + _error($0,20); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + else if ((label|0) == 266) { + _error($0,20); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + else if ((label|0) == 268) { + _error($0,20); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + } + } while(0); + _flush_packet($0); + $808 = ((($0)) + 992|0); + HEAP32[$808>>2] = 0; + $809 = HEAP32[$32>>2]|0; + $810 = ($809|0)>(0); + L447: do { + if ($810) { + $$78981124 = 0; + while(1) { + $814 = HEAP32[$44>>2]|0; + $815 = $814 << 2; + $816 = (_setup_malloc($0,$815)|0); + $817 = (((($0)) + 800|0) + ($$78981124<<2)|0); + HEAP32[$817>>2] = $816; + $818 = HEAP32[$44>>2]|0; + $819 = $818 << 1; + $820 = $819 & 2147483646; + $821 = (_setup_malloc($0,$820)|0); + $822 = (((($0)) + 928|0) + ($$78981124<<2)|0); + HEAP32[$822>>2] = $821; + $823 = (_setup_malloc($0,$$0929$lcssa)|0); + $824 = (((($0)) + 996|0) + ($$78981124<<2)|0); + HEAP32[$824>>2] = $823; + $825 = HEAP32[$817>>2]|0; + $826 = ($825|0)==(0|0); + if ($826) { + break; + } + $827 = HEAP32[$822>>2]|0; + $828 = ($827|0)==(0|0); + $829 = ($823|0)==(0|0); + $or$cond991 = $829 | $828; + $813 = (($$78981124) + 1)|0; + if ($or$cond991) { + break; + } + $811 = HEAP32[$32>>2]|0; + $812 = ($813|0)<($811|0); + if ($812) { + $$78981124 = $813; + } else { + break L447; + } + } + _error($0,3); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + } while(0); + $830 = HEAP32[$42>>2]|0; + $831 = (_init_blocksize($0,0,$830)|0); + $832 = ($831|0)==(0); + if ($832) { + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + $833 = HEAP32[$44>>2]|0; + $834 = (_init_blocksize($0,1,$833)|0); + $835 = ($834|0)==(0); + if ($835) { + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + $836 = HEAP32[$42>>2]|0; + $837 = ((($0)) + 104|0); + HEAP32[$837>>2] = $836; + $838 = HEAP32[$44>>2]|0; + $839 = ((($0)) + 108|0); + HEAP32[$839>>2] = $838; + $840 = $838 << 1; + $841 = $840 & 2147483646; + $842 = HEAP32[$541>>2]|0; + $843 = ($842|0)>(0); + if ($843) { + $844 = HEAP32[$544>>2]|0; + $845 = HEAP32[$541>>2]|0; + $$08991120 = 0;$$09011119 = 0; + while(1) { + $846 = (((($844) + (($$09011119*24)|0)|0)) + 4|0); + $847 = HEAP32[$846>>2]|0; + $848 = (($844) + (($$09011119*24)|0)|0); + $849 = HEAP32[$848>>2]|0; + $850 = (($847) - ($849))|0; + $851 = (((($844) + (($$09011119*24)|0)|0)) + 8|0); + $852 = HEAP32[$851>>2]|0; + $853 = (($850>>>0) / ($852>>>0))&-1; + $854 = ($853|0)>($$08991120|0); + $$$0899 = $854 ? $853 : $$08991120; + $855 = (($$09011119) + 1)|0; + $856 = ($855|0)<($845|0); + if ($856) { + $$08991120 = $$$0899;$$09011119 = $855; + } else { + break; + } + } + $phitmp = $$$0899 << 2; + $phitmp1296 = (($phitmp) + 4)|0; + $$0899$lcssa = $phitmp1296; + } else { + $$0899$lcssa = 4; + } + $857 = HEAP32[$32>>2]|0; + $858 = Math_imul($857, $$0899$lcssa)|0; + $859 = ((($0)) + 12|0); + $860 = ($841>>>0)>($858>>>0); + $$ = $860 ? $841 : $858; + HEAP32[$859>>2] = $$; + $861 = ((($0)) + 1377|0); + HEAP8[$861>>0] = 1; + $862 = ((($0)) + 80|0); + $863 = HEAP32[$862>>2]|0; + $864 = ($863|0)==(0|0); + do { + if (!($864)) { + $865 = ((($0)) + 92|0); + $866 = HEAP32[$865>>2]|0; + $867 = ((($0)) + 84|0); + $868 = HEAP32[$867>>2]|0; + $869 = ($866|0)==($868|0); + if (!($869)) { + ___assert_fail((16835|0),(16331|0),3714,(16891|0)); + // unreachable; + } + $870 = ((($0)) + 88|0); + $871 = HEAP32[$870>>2]|0; + $872 = (($871) + 1512)|0; + $873 = HEAP32[$859>>2]|0; + $874 = (($872) + ($873))|0; + $875 = ($874>>>0)>($866>>>0); + if (!($875)) { + break; + } + _error($0,3); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + } while(0); + $876 = (_stb_vorbis_get_file_offset($0)|0); + $877 = ((($0)) + 52|0); + HEAP32[$877>>2] = $876; + $$34 = 1; + STACKTOP = sp;return ($$34|0); +} +function _vorbis_alloc($0) { + $0 = $0|0; + var $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (_setup_malloc($0,1512)|0); + return ($1|0); +} +function _vorbis_pump_first_frame($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $1 = sp + 8|0; + $2 = sp + 4|0; + $3 = sp; + $4 = (_vorbis_decode_packet($0,$1,$3,$2)|0); + $5 = ($4|0)==(0); + if ($5) { + STACKTOP = sp;return ($4|0); + } + $6 = HEAP32[$1>>2]|0; + $7 = HEAP32[$3>>2]|0; + $8 = HEAP32[$2>>2]|0; + (_vorbis_finish_frame($0,$6,$7,$8)|0); + STACKTOP = sp;return ($4|0); +} +function _setup_malloc($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = (($1) + 3)|0; + $3 = $2 & -4; + $4 = ((($0)) + 8|0); + $5 = HEAP32[$4>>2]|0; + $6 = (($5) + ($3))|0; + HEAP32[$4>>2] = $6; + $7 = ((($0)) + 80|0); + $8 = HEAP32[$7>>2]|0; + $9 = ($8|0)==(0|0); + if ($9) { + $17 = ($3|0)==(0); + if ($17) { + $$1 = 0; + return ($$1|0); + } + $18 = (_malloc($3)|0); + $$1 = $18; + return ($$1|0); + } else { + $10 = ((($0)) + 88|0); + $11 = HEAP32[$10>>2]|0; + $12 = (($11) + ($3))|0; + $13 = ((($0)) + 92|0); + $14 = HEAP32[$13>>2]|0; + $15 = ($12|0)>($14|0); + if ($15) { + $$1 = 0; + return ($$1|0); + } + $16 = (($8) + ($11)|0); + HEAP32[$10>>2] = $12; + $$1 = $16; + return ($$1|0); + } + return (0)|0; +} +function _vorbis_validate($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (_memcmp($0,17207,6)|0); + $2 = ($1|0)==(0); + $3 = $2&1; + return ($3|0); +} +function _skip($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($0)) + 32|0); + $3 = HEAP32[$2>>2]|0; + $4 = ($3|0)==(0|0); + if ($4) { + $10 = ((($0)) + 20|0); + $11 = HEAP32[$10>>2]|0; + $12 = (_ftell($11)|0); + $13 = HEAP32[$10>>2]|0; + $14 = (($12) + ($1))|0; + (_fseek($13,$14,0)|0); + return; + } + $5 = (($3) + ($1)|0); + HEAP32[$2>>2] = $5; + $6 = ((($0)) + 40|0); + $7 = HEAP32[$6>>2]|0; + $8 = ($5>>>0)<($7>>>0); + if ($8) { + return; + } + $9 = ((($0)) + 96|0); + HEAP32[$9>>2] = 1; + return; +} +function _is_whole_packet_present($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$$068 = 0, $$$3 = 0, $$068$lcssa = 0, $$06892 = 0, $$07291 = 0, $$078 = 0, $$078$ph = 0, $$173 = 0, $$2 = 0, $$270 = 0, $$270$ph = 0, $$274 = 0, $$274$ph = 0, $$3$lcssa = 0, $$37585 = 0, $$386 = 0, $$476 = 0, $$lcssa = 0, $10 = 0, $11 = 0; + var $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0; + var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0; + var $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0; + var $67 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond82 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($0)) + 1380|0); + $3 = HEAP32[$2>>2]|0; + $4 = ((($0)) + 32|0); + $5 = HEAP32[$4>>2]|0; + $6 = ($3|0)==(-1); + if ($6) { + $$078$ph = 1;$$270$ph = -1;$$274$ph = $5; + } else { + $7 = ((($0)) + 1116|0); + $8 = HEAP32[$7>>2]|0; + $9 = ($3|0)<($8|0); + L3: do { + if ($9) { + $$06892 = $3;$$07291 = $5;$67 = $8; + while(1) { + $10 = (((($0)) + 1120|0) + ($$06892)|0); + $11 = HEAP8[$10>>0]|0; + $12 = $11&255; + $13 = (($$07291) + ($12)|0); + $14 = ($11<<24>>24)==(-1); + if (!($14)) { + $$068$lcssa = $$06892;$$173 = $13;$$lcssa = $67; + break L3; + } + $15 = (($$06892) + 1)|0; + $16 = HEAP32[$7>>2]|0; + $17 = ($15|0)<($16|0); + if ($17) { + $$06892 = $15;$$07291 = $13;$67 = $16; + } else { + $$068$lcssa = $15;$$173 = $13;$$lcssa = $16; + break; + } + } + } else { + $$068$lcssa = $3;$$173 = $5;$$lcssa = $8; + } + } while(0); + $18 = ($1|0)!=(0); + $19 = (($$lcssa) + -1)|0; + $20 = ($$068$lcssa|0)<($19|0); + $or$cond = $18 & $20; + if ($or$cond) { + _error($0,21); + $$2 = 0; + return ($$2|0); + } + $21 = ($$068$lcssa|0)==($$lcssa|0); + $$$068 = $21 ? -1 : $$068$lcssa; + $22 = ((($0)) + 40|0); + $23 = HEAP32[$22>>2]|0; + $24 = ($$173>>>0)>($23>>>0); + if ($24) { + _error($0,1); + $$2 = 0; + return ($$2|0); + } else { + $$078$ph = 0;$$270$ph = $$$068;$$274$ph = $$173; + } + } + $25 = ((($0)) + 40|0); + $26 = ($1|0)!=(0); + $27 = ((($0)) + 992|0); + $$078 = $$078$ph;$$270 = $$270$ph;$$274 = $$274$ph; + while(1) { + $28 = ($$270|0)==(-1); + if (!($28)) { + $$2 = 1; + label = 32; + break; + } + $29 = ((($$274)) + 26|0); + $30 = HEAP32[$25>>2]|0; + $31 = ($29>>>0)<($30>>>0); + if (!($31)) { + label = 12; + break; + } + $32 = (_memcmp($$274,4792,4)|0); + $33 = ($32|0)==(0); + if (!($33)) { + label = 14; + break; + } + $34 = ((($$274)) + 4|0); + $35 = HEAP8[$34>>0]|0; + $36 = ($35<<24>>24)==(0); + if (!($36)) { + label = 16; + break; + } + $37 = ($$078|0)==(0); + if ($37) { + $44 = ((($$274)) + 5|0); + $45 = HEAP8[$44>>0]|0; + $46 = $45 & 1; + $47 = ($46<<24>>24)==(0); + if ($47) { + label = 22; + break; + } + } else { + $38 = HEAP32[$27>>2]|0; + $39 = ($38|0)==(0); + if (!($39)) { + $40 = ((($$274)) + 5|0); + $41 = HEAP8[$40>>0]|0; + $42 = $41 & 1; + $43 = ($42<<24>>24)==(0); + if (!($43)) { + label = 20; + break; + } + } + } + $48 = HEAP8[$29>>0]|0; + $49 = $48&255; + $50 = ((($$274)) + 27|0); + $51 = (($50) + ($49)|0); + $52 = HEAP32[$25>>2]|0; + $53 = ($51>>>0)>($52>>>0); + if ($53) { + label = 25; + break; + } + $54 = ($48<<24>>24)==(0); + L27: do { + if ($54) { + $$3$lcssa = 0;$$476 = $51; + } else { + $$37585 = $51;$$386 = 0; + while(1) { + $55 = (($50) + ($$386)|0); + $56 = HEAP8[$55>>0]|0; + $57 = $56&255; + $58 = (($$37585) + ($57)|0); + $59 = ($56<<24>>24)==(-1); + if (!($59)) { + $$3$lcssa = $$386;$$476 = $58; + break L27; + } + $60 = (($$386) + 1)|0; + $61 = ($60|0)<($49|0); + if ($61) { + $$37585 = $58;$$386 = $60; + } else { + $$3$lcssa = $60;$$476 = $58; + break; + } + } + } + } while(0); + $62 = (($49) + -1)|0; + $63 = ($$3$lcssa|0)<($62|0); + $or$cond82 = $26 & $63; + if ($or$cond82) { + label = 29; + break; + } + $64 = ($$3$lcssa|0)==($49|0); + $$$3 = $64 ? -1 : $$3$lcssa; + $65 = HEAP32[$25>>2]|0; + $66 = ($$476>>>0)>($65>>>0); + if ($66) { + label = 31; + break; + } else { + $$078 = 0;$$270 = $$$3;$$274 = $$476; + } + } + if ((label|0) == 12) { + _error($0,1); + $$2 = 0; + return ($$2|0); + } + else if ((label|0) == 14) { + _error($0,21); + $$2 = 0; + return ($$2|0); + } + else if ((label|0) == 16) { + _error($0,21); + $$2 = 0; + return ($$2|0); + } + else if ((label|0) == 20) { + _error($0,21); + $$2 = 0; + return ($$2|0); + } + else if ((label|0) == 22) { + _error($0,21); + $$2 = 0; + return ($$2|0); + } + else if ((label|0) == 25) { + _error($0,1); + $$2 = 0; + return ($$2|0); + } + else if ((label|0) == 29) { + _error($0,21); + $$2 = 0; + return ($$2|0); + } + else if ((label|0) == 31) { + _error($0,1); + $$2 = 0; + return ($$2|0); + } + else if ((label|0) == 32) { + return ($$2|0); + } + return (0)|0; } function _crc32_init() { - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $i$03 = 0, label = 0, sp = 0; + var $$01417 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; + var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, label = 0, sp = 0; sp = STACKTOP; - $i$03 = 0; + $$01417 = 0; while(1) { - $0 = $i$03 << 24; - $1 = $i$03 << 25; + $0 = $$01417 << 24; + $1 = $$01417 << 25; $2 = $0 >> 31; $3 = $2 & 79764919; $4 = $3 ^ $1; @@ -29013,21654 +49648,1742 @@ function _crc32_init() { $30 = $25 >> 31; $31 = $30 & 79764919; $32 = $31 ^ $29; - $33 = (5804 + ($i$03<<2)|0); + $33 = (27100 + ($$01417<<2)|0); HEAP32[$33>>2] = $32; - $34 = (($i$03) + 1)|0; + $34 = (($$01417) + 1)|0; $exitcond = ($34|0)==(256); if ($exitcond) { break; } else { - $i$03 = $34; + $$01417 = $34; } } return; } -function _setup_temp_malloc($f,$sz) { - $f = $f|0; - $sz = $sz|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; +function _setup_temp_free($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = (($sz) + 3)|0; - $1 = $0 & -4; - $2 = ((($f)) + 80|0); - $3 = HEAP32[$2>>2]|0; - $4 = ($3|0)==(0|0); - if ($4) { - $13 = (_malloc($1)|0); - $$0 = $13; - return ($$0|0); - } - $5 = ((($f)) + 92|0); - $6 = HEAP32[$5>>2]|0; - $7 = (($6) - ($1))|0; - $8 = ((($f)) + 88|0); - $9 = HEAP32[$8>>2]|0; - $10 = ($7|0)<($9|0); - if ($10) { - $$0 = 0; - return ($$0|0); - } - HEAP32[$5>>2] = $7; - $11 = HEAP32[$2>>2]|0; - $12 = (($11) + ($7)|0); - $$0 = $12; - return ($$0|0); -} -function _setup_temp_free($f,$p,$sz) { - $f = $f|0; - $p = $p|0; - $sz = $sz|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($f)) + 80|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)==(0|0); - if ($2) { - _free($p); + $3 = ((($0)) + 80|0); + $4 = HEAP32[$3>>2]|0; + $5 = ($4|0)==(0|0); + if ($5) { + _free($1); return; } else { - $3 = (($sz) + 3)|0; - $4 = $3 & -4; - $5 = ((($f)) + 92|0); - $6 = HEAP32[$5>>2]|0; - $7 = (($6) + ($4))|0; - HEAP32[$5>>2] = $7; + $6 = (($2) + 3)|0; + $7 = $6 & -4; + $8 = ((($0)) + 92|0); + $9 = HEAP32[$8>>2]|0; + $10 = (($9) + ($7))|0; + HEAP32[$8>>2] = $10; return; } } -function _compute_codewords($c,$len,$n,$values) { - $c = $c|0; - $len = $len|0; - $n = $n|0; - $values = $values|0; - var $$0 = 0, $$lcssa = 0, $$lcssa37 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; - var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; - var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $available = 0, $i$014 = 0, $i$1 = 0; - var $i$1$in = 0, $i$1$in$ph = 0, $i$1$lcssa36 = 0, $k$0$lcssa = 0, $k$016 = 0, $m$0$ph = 0, $y$012 = 0, $z$0$lcssa = 0, $z$09 = 0, dest = 0, label = 0, sp = 0, stop = 0; +function _compute_codewords($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$06983 = 0, $$072$ph = 0, $$074$lcssa = 0, $$07488 = 0, $$07586 = 0, $$084 = 0, $$176 = 0, $$176$in = 0, $$176$in$ph = 0, $$2 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0; + var $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0; + var $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $6 = 0, $7 = 0; + var $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, stop = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 128|0; - $available = sp; - dest=$available; stop=dest+128|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - $0 = ($n|0)>(0); + STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0); + $4 = sp; + dest=$4; stop=dest+128|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + $5 = ($2|0)>(0); L1: do { - if ($0) { - $k$016 = 0; + if ($5) { + $$07488 = 0; while(1) { - $1 = (($len) + ($k$016)|0); - $2 = HEAP8[$1>>0]|0; - $3 = ($2<<24>>24)==(-1); - if (!($3)) { - $k$0$lcssa = $k$016; + $6 = (($1) + ($$07488)|0); + $7 = HEAP8[$6>>0]|0; + $8 = ($7<<24>>24)==(-1); + if (!($8)) { + $$074$lcssa = $$07488; break L1; } - $4 = (($k$016) + 1)|0; - $5 = ($4|0)<($n|0); - if ($5) { - $k$016 = $4; + $9 = (($$07488) + 1)|0; + $10 = ($9|0)<($2|0); + if ($10) { + $$07488 = $9; } else { - $k$0$lcssa = $4; + $$074$lcssa = $9; break; } } } else { - $k$0$lcssa = 0; + $$074$lcssa = 0; } } while(0); - $6 = ($k$0$lcssa|0)==($n|0); - if ($6) { - $7 = ((($c)) + 2092|0); - $8 = HEAP32[$7>>2]|0; - $9 = ($8|0)==(0); - if ($9) { - $$0 = 1; - STACKTOP = sp;return ($$0|0); + $11 = ($$074$lcssa|0)==($2|0); + if ($11) { + $12 = ((($0)) + 2092|0); + $13 = HEAP32[$12>>2]|0; + $14 = ($13|0)==(0); + if ($14) { + $$2 = 1; + STACKTOP = sp;return ($$2|0); } else { - ___assert_fail((15201|0),(14642|0),659,(15224|0)); + ___assert_fail((17104|0),(16331|0),665,(17127|0)); // unreachable; } } - $10 = (($len) + ($k$0$lcssa)|0); - $11 = HEAP8[$10>>0]|0; - $12 = $11&255; - _add_entry($c,0,$k$0$lcssa,0,$12,$values); - $13 = HEAP8[$10>>0]|0; - $14 = ($13<<24>>24)==(0); - if ($14) { - $i$1$in$ph = $k$0$lcssa;$m$0$ph = 1; + $15 = (($1) + ($$074$lcssa)|0); + $16 = HEAP8[$15>>0]|0; + $17 = $16&255; + _add_entry($0,0,$$074$lcssa,0,$17,$3); + $18 = HEAP8[$15>>0]|0; + $19 = ($18<<24>>24)==(0); + if ($19) { + $$072$ph = 1;$$176$in$ph = $$074$lcssa; } else { - $15 = HEAP8[$10>>0]|0; - $16 = $15&255; - $i$014 = 1; + $20 = HEAP8[$15>>0]|0; + $21 = $20&255; + $$07586 = 1; while(1) { - $17 = (32 - ($i$014))|0; - $18 = 1 << $17; - $19 = (($available) + ($i$014<<2)|0); - HEAP32[$19>>2] = $18; - $20 = (($i$014) + 1)|0; - $21 = ($i$014|0)<($16|0); - if ($21) { - $i$014 = $20; + $22 = (32 - ($$07586))|0; + $23 = 1 << $22; + $24 = (($4) + ($$07586<<2)|0); + HEAP32[$24>>2] = $23; + $25 = (($$07586) + 1)|0; + $26 = ($$07586|0)<($21|0); + if ($26) { + $$07586 = $25; } else { - $i$1$in$ph = $k$0$lcssa;$m$0$ph = 1; + $$072$ph = 1;$$176$in$ph = $$074$lcssa; break; } } } L16: while(1) { - $i$1$in = $i$1$in$ph; - while(1) { - $i$1 = (($i$1$in) + 1)|0; - $22 = ($i$1|0)<($n|0); - if (!($22)) { - $$0 = 1; - label = 26; + $$176$in = $$176$in$ph; + L18: while(1) { + $$176 = (($$176$in) + 1)|0; + $27 = ($$176|0)<($2|0); + if (!($27)) { + $$2 = 1; + label = 25; break L16; } - $23 = (($len) + ($i$1)|0); - $24 = HEAP8[$23>>0]|0; - $25 = ($24<<24>>24)==(-1); - if ($25) { - $i$1$in = $i$1; - } else { - $$lcssa = $23;$$lcssa37 = $24;$i$1$lcssa36 = $i$1; + $28 = (($1) + ($$176)|0); + $29 = HEAP8[$28>>0]|0; + switch ($29<<24>>24) { + case 0: { + $$2 = 0; + label = 25; + break L16; break; } - } - $26 = $$lcssa37&255; - $27 = ($$lcssa37<<24>>24)==(0); - L22: do { - if ($27) { - $z$0$lcssa = $26; - } else { - $z$09 = $26; - while(1) { - $28 = (($available) + ($z$09<<2)|0); - $29 = HEAP32[$28>>2]|0; - $30 = ($29|0)==(0); - if (!($30)) { - $z$0$lcssa = $z$09; - break L22; - } - $31 = (($z$09) + -1)|0; - $32 = ($z$09|0)>(1); - if ($32) { - $z$09 = $31; - } else { - $z$0$lcssa = $31; - break; - } - } + case -1: { + $$176$in = $$176; + break; } - } while(0); - $33 = ($z$0$lcssa|0)==(0); - if ($33) { - $$0 = 0; - label = 26; + default: { + break L18; + } + } + } + $30 = $29&255; + $$06983 = $30; + while(1) { + $31 = (($4) + ($$06983<<2)|0); + $32 = HEAP32[$31>>2]|0; + $33 = ($32|0)==(0); + if (!($33)) { + break; + } + $34 = (($$06983) + -1)|0; + $35 = ($$06983|0)>(1); + if ($35) { + $$06983 = $34; + } else { + $$2 = 0; + label = 25; + break L16; + } + } + $36 = (($4) + ($$06983<<2)|0); + $37 = HEAP32[$36>>2]|0; + $38 = ($$06983>>>0)<(32); + if (!($38)) { + label = 17; break; } - $34 = (($available) + ($z$0$lcssa<<2)|0); - $35 = HEAP32[$34>>2]|0; - $36 = ($z$0$lcssa>>>0)<(32); - if (!($36)) { - label = 18; - break; - } - HEAP32[$34>>2] = 0; - $37 = (_bit_reverse($35)|0); - $38 = (($m$0$ph) + 1)|0; - $39 = HEAP8[$$lcssa>>0]|0; - $40 = $39&255; - _add_entry($c,$37,$i$1$lcssa36,$m$0$ph,$40,$values); - $41 = HEAP8[$$lcssa>>0]|0; + HEAP32[$36>>2] = 0; + $39 = (_bit_reverse($37)|0); + $40 = (($$072$ph) + 1)|0; + $41 = HEAP8[$28>>0]|0; $42 = $41&255; - $43 = ($z$0$lcssa|0)==($42|0); - if ($43) { - $i$1$in$ph = $i$1$lcssa36;$m$0$ph = $38; + _add_entry($0,$39,$$176,$$072$ph,$42,$3); + $43 = HEAP8[$28>>0]|0; + $44 = $43&255; + $45 = ($$06983|0)==($44|0); + if ($45) { + $$072$ph = $40;$$176$in$ph = $$176; continue; } - $44 = ($41&255)<(32); - if (!($44)) { - label = 22; + $46 = ($43&255)<(32); + if (!($46)) { + label = 21; break; } - $45 = ($42|0)>($z$0$lcssa|0); - if ($45) { - $y$012 = $42; + $47 = ($44|0)>($$06983|0); + if ($47) { + $$084 = $44; } else { - $i$1$in$ph = $i$1$lcssa36;$m$0$ph = $38; + $$072$ph = $40;$$176$in$ph = $$176; continue; } while(1) { - $46 = (($available) + ($y$012<<2)|0); - $47 = HEAP32[$46>>2]|0; - $48 = ($47|0)==(0); - if (!($48)) { - label = 24; + $48 = (($4) + ($$084<<2)|0); + $49 = HEAP32[$48>>2]|0; + $50 = ($49|0)==(0); + if (!($50)) { + label = 23; break L16; } - $49 = (32 - ($y$012))|0; - $50 = 1 << $49; - $51 = (($50) + ($35))|0; - HEAP32[$46>>2] = $51; - $52 = (($y$012) + -1)|0; - $53 = ($52|0)>($z$0$lcssa|0); - if ($53) { - $y$012 = $52; + $51 = (32 - ($$084))|0; + $52 = 1 << $51; + $53 = (($52) + ($37))|0; + HEAP32[$48>>2] = $53; + $54 = (($$084) + -1)|0; + $55 = ($54|0)>($$06983|0); + if ($55) { + $$084 = $54; } else { - $i$1$in$ph = $i$1$lcssa36;$m$0$ph = $38; + $$072$ph = $40;$$176$in$ph = $$176; continue L16; } } } - if ((label|0) == 18) { - ___assert_fail((15242|0),(14642|0),682,(15224|0)); + if ((label|0) == 17) { + ___assert_fail((17145|0),(16331|0),688,(17127|0)); // unreachable; } - else if ((label|0) == 22) { - ___assert_fail((15259|0),(14642|0),687,(15224|0)); + else if ((label|0) == 21) { + ___assert_fail((17162|0),(16331|0),693,(17127|0)); // unreachable; } - else if ((label|0) == 24) { - ___assert_fail((15286|0),(14642|0),689,(15224|0)); + else if ((label|0) == 23) { + ___assert_fail((17189|0),(16331|0),695,(17127|0)); // unreachable; } - else if ((label|0) == 26) { - STACKTOP = sp;return ($$0|0); + else if ((label|0) == 25) { + STACKTOP = sp;return ($$2|0); } return (0)|0; } -function _compute_sorted_huffman($c,$lengths,$values) { - $c = $c|0; - $lengths = $lengths|0; - $values = $values|0; - var $$ = 0, $$in = 0, $$pn = 0, $$sink$in = 0, $$sink1 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0; - var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0; - var $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0; - var $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0; - var $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $i$010 = 0, $i$114 = 0, $i$25 = 0, $k$0$lcssa = 0; - var $k$09 = 0, $k$1 = 0, $n$04 = 0, $x$0$ = 0, $x$0$lcssa = 0, $x$03 = 0, label = 0, sp = 0; +function _compute_sorted_huffman($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$08088 = 0, $$082$lcssa = 0, $$08287 = 0, $$084$lcssa = 0, $$08495 = 0, $$096 = 0, $$1100 = 0, $$181 = 0, $$183 = 0, $$185 = 0, $$290 = 0, $$lcssa = 0, $$sink = 0, $$sink3 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0; + var $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0; + var $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0; + var $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0; + var $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0; + var $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = ((($c)) + 23|0); - $1 = HEAP8[$0>>0]|0; - $2 = ($1<<24>>24)==(0); - if ($2) { - $10 = ((($c)) + 4|0); - $11 = HEAP32[$10>>2]|0; - $12 = ($11|0)>(0); - if ($12) { - $13 = ((($c)) + 32|0); - $14 = ((($c)) + 2084|0); - $i$010 = 0;$k$09 = 0; + $3 = ((($0)) + 23|0); + $4 = HEAP8[$3>>0]|0; + $5 = ($4<<24>>24)==(0); + if ($5) { + $13 = ((($0)) + 4|0); + $14 = HEAP32[$13>>2]|0; + $15 = ($14|0)>(0); + if ($15) { + $16 = ((($0)) + 32|0); + $17 = ((($0)) + 2084|0); + $$08495 = 0;$$096 = 0; while(1) { - $15 = (($lengths) + ($i$010)|0); - $16 = HEAP8[$15>>0]|0; - $17 = (_include_in_sort($c,$16)|0); - $18 = ($17|0)==(0); - if ($18) { - $k$1 = $k$09; + $18 = (($1) + ($$096)|0); + $19 = HEAP8[$18>>0]|0; + $20 = (_include_in_sort($0,$19)|0); + $21 = ($20|0)==(0); + if ($21) { + $$185 = $$08495; } else { - $19 = HEAP32[$13>>2]|0; - $20 = (($19) + ($i$010<<2)|0); - $21 = HEAP32[$20>>2]|0; - $22 = (_bit_reverse($21)|0); - $23 = (($k$09) + 1)|0; - $24 = HEAP32[$14>>2]|0; - $25 = (($24) + ($k$09<<2)|0); - HEAP32[$25>>2] = $22; - $k$1 = $23; + $22 = HEAP32[$16>>2]|0; + $23 = (($22) + ($$096<<2)|0); + $24 = HEAP32[$23>>2]|0; + $25 = (_bit_reverse($24)|0); + $26 = HEAP32[$17>>2]|0; + $27 = (($$08495) + 1)|0; + $28 = (($26) + ($$08495<<2)|0); + HEAP32[$28>>2] = $25; + $$185 = $27; } - $26 = (($i$010) + 1)|0; - $27 = HEAP32[$10>>2]|0; - $28 = ($26|0)<($27|0); - if ($28) { - $i$010 = $26;$k$09 = $k$1; + $29 = (($$096) + 1)|0; + $30 = HEAP32[$13>>2]|0; + $31 = ($29|0)<($30|0); + if ($31) { + $$08495 = $$185;$$096 = $29; } else { - $k$0$lcssa = $k$1; + $$084$lcssa = $$185; break; } } } else { - $k$0$lcssa = 0; + $$084$lcssa = 0; } - $29 = ((($c)) + 2092|0); - $30 = HEAP32[$29>>2]|0; - $31 = ($k$0$lcssa|0)==($30|0); - if (!($31)) { - ___assert_fail((15093|0),(14642|0),756,(15116|0)); + $32 = ((($0)) + 2092|0); + $33 = HEAP32[$32>>2]|0; + $34 = ($$084$lcssa|0)==($33|0); + if (!($34)) { + ___assert_fail((16996|0),(16331|0),762,(17019|0)); // unreachable; } } else { - $3 = ((($c)) + 2092|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)>(0); - if ($5) { - $6 = ((($c)) + 32|0); - $7 = HEAP32[$6>>2]|0; - $8 = ((($c)) + 2084|0); - $9 = HEAP32[$8>>2]|0; - $i$114 = 0; + $6 = ((($0)) + 2092|0); + $7 = HEAP32[$6>>2]|0; + $8 = ($7|0)>(0); + if ($8) { + $9 = ((($0)) + 32|0); + $10 = HEAP32[$9>>2]|0; + $11 = ((($0)) + 2084|0); + $12 = HEAP32[$11>>2]|0; + $$1100 = 0; while(1) { - $32 = (($7) + ($i$114<<2)|0); - $33 = HEAP32[$32>>2]|0; - $34 = (_bit_reverse($33)|0); - $35 = (($9) + ($i$114<<2)|0); - HEAP32[$35>>2] = $34; - $36 = (($i$114) + 1)|0; - $37 = HEAP32[$3>>2]|0; - $38 = ($36|0)<($37|0); - if ($38) { - $i$114 = $36; + $35 = (($10) + ($$1100<<2)|0); + $36 = HEAP32[$35>>2]|0; + $37 = (_bit_reverse($36)|0); + $38 = (($12) + ($$1100<<2)|0); + HEAP32[$38>>2] = $37; + $39 = (($$1100) + 1)|0; + $40 = HEAP32[$6>>2]|0; + $41 = ($39|0)<($40|0); + if ($41) { + $$1100 = $39; } else { break; } } } } - $39 = ((($c)) + 2084|0); - $40 = HEAP32[$39>>2]|0; - $41 = ((($c)) + 2092|0); - $42 = HEAP32[$41>>2]|0; - _qsort($40,$42,4,2); - $43 = HEAP32[$41>>2]|0; - $44 = HEAP32[$39>>2]|0; - $45 = (($44) + ($43<<2)|0); - HEAP32[$45>>2] = -1; - $46 = HEAP8[$0>>0]|0; - $47 = ($46<<24>>24)==(0); - $48 = ((($c)) + 4|0); - $$in = $47 ? $48 : $41; - $49 = HEAP32[$$in>>2]|0; - $50 = ($49|0)>(0); - if (!($50)) { + $42 = ((($0)) + 2084|0); + $43 = HEAP32[$42>>2]|0; + $44 = ((($0)) + 2092|0); + $45 = HEAP32[$44>>2]|0; + _qsort($43,$45,4,2); + $46 = HEAP32[$42>>2]|0; + $47 = HEAP32[$44>>2]|0; + $48 = (($46) + ($47<<2)|0); + HEAP32[$48>>2] = -1; + $49 = HEAP8[$3>>0]|0; + $50 = ($49<<24>>24)!=(0); + $51 = ((($0)) + 4|0); + $$sink = $50 ? $44 : $51; + $52 = HEAP32[$$sink>>2]|0; + $53 = ($52|0)>(0); + if (!($53)) { return; } - $51 = ((($c)) + 32|0); - $52 = ((($c)) + 2088|0); - $53 = ((($c)) + 2088|0); - $54 = ((($c)) + 8|0); - $i$25 = 0; + $54 = ((($0)) + 32|0); + $55 = ((($0)) + 2088|0); + $56 = ((($0)) + 8|0); + $$290 = 0; L20: while(1) { - $55 = HEAP8[$0>>0]|0; - $56 = ($55<<24>>24)==(0); - if ($56) { - $$pn = $i$25; + $57 = HEAP8[$3>>0]|0; + $58 = ($57<<24>>24)==(0); + if ($58) { + $$sink3 = $$290; } else { - $57 = (($values) + ($i$25<<2)|0); - $58 = HEAP32[$57>>2]|0; - $$pn = $58; + $59 = (($2) + ($$290<<2)|0); + $60 = HEAP32[$59>>2]|0; + $$sink3 = $60; } - $$sink$in = (($lengths) + ($$pn)|0); - $$sink1 = HEAP8[$$sink$in>>0]|0; - $59 = (_include_in_sort($c,$$sink1)|0); - $60 = ($59|0)==(0); + $61 = (($1) + ($$sink3)|0); + $62 = HEAP8[$61>>0]|0; + $63 = (_include_in_sort($0,$62)|0); + $64 = ($63|0)==(0); do { - if (!($60)) { - $61 = HEAP32[$51>>2]|0; - $62 = (($61) + ($i$25<<2)|0); - $63 = HEAP32[$62>>2]|0; - $64 = (_bit_reverse($63)|0); - $65 = HEAP32[$41>>2]|0; - $66 = ($65|0)>(1); - if ($66) { - $67 = HEAP32[$39>>2]|0; - $n$04 = $65;$x$03 = 0; + if (!($64)) { + $65 = HEAP32[$54>>2]|0; + $66 = (($65) + ($$290<<2)|0); + $67 = HEAP32[$66>>2]|0; + $68 = (_bit_reverse($67)|0); + $69 = HEAP32[$44>>2]|0; + $70 = ($69|0)>(1); + $71 = HEAP32[$42>>2]|0; + if ($70) { + $72 = HEAP32[$42>>2]|0; + $$08088 = $69;$$08287 = 0;$76 = $71; while(1) { - $68 = $n$04 >> 1; - $69 = (($68) + ($x$03))|0; - $70 = (($67) + ($69<<2)|0); - $71 = HEAP32[$70>>2]|0; - $72 = ($71>>>0)>($64>>>0); - $73 = (($n$04) - ($68))|0; - $x$0$ = $72 ? $x$03 : $69; - $$ = $72 ? $68 : $73; - $74 = ($$|0)>(1); - if ($74) { - $n$04 = $$;$x$03 = $x$0$; + $73 = $$08088 >>> 1; + $74 = (($73) + ($$08287))|0; + $75 = (($76) + ($74<<2)|0); + $77 = HEAP32[$75>>2]|0; + $78 = ($77>>>0)>($68>>>0); + $79 = (($$08088) - ($73))|0; + $$183 = $78 ? $$08287 : $74; + $$181 = $78 ? $73 : $79; + $80 = ($$181|0)>(1); + if ($80) { + $$08088 = $$181;$$08287 = $$183;$76 = $72; } else { - $x$0$lcssa = $x$0$; + $$082$lcssa = $$183;$$lcssa = $72; break; } } } else { - $x$0$lcssa = 0; + $$082$lcssa = 0;$$lcssa = $71; } - $75 = HEAP32[$39>>2]|0; - $76 = (($75) + ($x$0$lcssa<<2)|0); - $77 = HEAP32[$76>>2]|0; - $78 = ($77|0)==($64|0); - if (!($78)) { + $81 = (($$lcssa) + ($$082$lcssa<<2)|0); + $82 = HEAP32[$81>>2]|0; + $83 = ($82|0)==($68|0); + if (!($83)) { label = 21; break L20; } - $79 = HEAP8[$0>>0]|0; - $80 = ($79<<24>>24)==(0); - if ($80) { - $87 = HEAP32[$52>>2]|0; - $88 = (($87) + ($x$0$lcssa<<2)|0); - HEAP32[$88>>2] = $i$25; + $84 = HEAP8[$3>>0]|0; + $85 = ($84<<24>>24)==(0); + $86 = HEAP32[$55>>2]|0; + if ($85) { + $92 = (($86) + ($$082$lcssa<<2)|0); + HEAP32[$92>>2] = $$290; break; } else { - $81 = (($values) + ($i$25<<2)|0); - $82 = HEAP32[$81>>2]|0; - $83 = HEAP32[$53>>2]|0; - $84 = (($83) + ($x$0$lcssa<<2)|0); - HEAP32[$84>>2] = $82; - $85 = HEAP32[$54>>2]|0; - $86 = (($85) + ($x$0$lcssa)|0); - HEAP8[$86>>0] = $$sink1; + $87 = (($2) + ($$290<<2)|0); + $88 = HEAP32[$87>>2]|0; + $89 = (($86) + ($$082$lcssa<<2)|0); + HEAP32[$89>>2] = $88; + $90 = HEAP32[$56>>2]|0; + $91 = (($90) + ($$082$lcssa)|0); + HEAP8[$91>>0] = $62; break; } } } while(0); - $89 = (($i$25) + 1)|0; - $90 = ($89|0)<($49|0); - if ($90) { - $i$25 = $89; + $93 = (($$290) + 1)|0; + $94 = ($93|0)<($52|0); + if ($94) { + $$290 = $93; } else { label = 26; break; } } if ((label|0) == 21) { - ___assert_fail((15139|0),(14642|0),786,(15116|0)); + ___assert_fail((17042|0),(16331|0),792,(17019|0)); // unreachable; } else if ((label|0) == 26) { return; } } -function _compute_accelerated_huffman($c) { - $c = $c|0; - var $$in = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $i$12 = 0, $scevgep = 0; - var $z$0$ph = 0, $z$01 = 0, label = 0, sp = 0; +function _compute_accelerated_huffman($0) { + $0 = $0|0; + var $$ = 0, $$0$ph = 0, $$027 = 0, $$128 = 0, $$sink = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0; + var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, $scevgep = 0, label = 0, sp = 0; sp = STACKTOP; - $scevgep = ((($c)) + 36|0); + $scevgep = ((($0)) + 36|0); _memset(($scevgep|0),-1,2048)|0; - $0 = ((($c)) + 23|0); - $1 = HEAP8[$0>>0]|0; - $2 = ($1<<24>>24)==(0); - $3 = ((($c)) + 2092|0); - $4 = ((($c)) + 4|0); - $$in = $2 ? $4 : $3; - $5 = HEAP32[$$in>>2]|0; - $6 = ($5|0)>(0); - if (!($6)) { + $1 = ((($0)) + 23|0); + $2 = HEAP8[$1>>0]|0; + $3 = ($2<<24>>24)!=(0); + $4 = ((($0)) + 4|0); + $5 = ((($0)) + 2092|0); + $$sink = $3 ? $5 : $4; + $6 = HEAP32[$$sink>>2]|0; + $7 = ($6|0)<(32767); + $$ = $7 ? $6 : 32767; + $8 = ($6|0)>(0); + if (!($8)) { return; } - $7 = ((($c)) + 8|0); - $8 = ((($c)) + 32|0); - $9 = ((($c)) + 2084|0); - $10 = ($5|0)<(32767); - $11 = $10 ? $5 : 32767; - $i$12 = 0; + $9 = ((($0)) + 8|0); + $10 = ((($0)) + 32|0); + $11 = ((($0)) + 2084|0); + $$128 = 0; while(1) { - $12 = HEAP32[$7>>2]|0; - $13 = (($12) + ($i$12)|0); + $12 = HEAP32[$9>>2]|0; + $13 = (($12) + ($$128)|0); $14 = HEAP8[$13>>0]|0; $15 = ($14&255)<(11); if ($15) { - $16 = HEAP8[$0>>0]|0; + $16 = HEAP8[$1>>0]|0; $17 = ($16<<24>>24)==(0); if ($17) { - $22 = HEAP32[$8>>2]|0; - $23 = (($22) + ($i$12<<2)|0); + $22 = HEAP32[$10>>2]|0; + $23 = (($22) + ($$128<<2)|0); $24 = HEAP32[$23>>2]|0; - $z$0$ph = $24; + $$0$ph = $24; } else { - $18 = HEAP32[$9>>2]|0; - $19 = (($18) + ($i$12<<2)|0); + $18 = HEAP32[$11>>2]|0; + $19 = (($18) + ($$128<<2)|0); $20 = HEAP32[$19>>2]|0; $21 = (_bit_reverse($20)|0); - $z$0$ph = $21; + $$0$ph = $21; } - $25 = ($z$0$ph>>>0)<(1024); + $25 = ($$0$ph>>>0)<(1024); if ($25) { - $26 = $i$12&65535; - $z$01 = $z$0$ph; + $26 = $$128&65535; + $$027 = $$0$ph; while(1) { - $27 = (((($c)) + 36|0) + ($z$01<<1)|0); + $27 = (((($0)) + 36|0) + ($$027<<1)|0); HEAP16[$27>>1] = $26; - $28 = HEAP32[$7>>2]|0; - $29 = (($28) + ($i$12)|0); + $28 = HEAP32[$9>>2]|0; + $29 = (($28) + ($$128)|0); $30 = HEAP8[$29>>0]|0; $31 = $30&255; $32 = 1 << $31; - $33 = (($32) + ($z$01))|0; + $33 = (($32) + ($$027))|0; $34 = ($33>>>0)<(1024); if ($34) { - $z$01 = $33; + $$027 = $33; } else { break; } } } } - $35 = (($i$12) + 1)|0; - $exitcond = ($35|0)==($11|0); - if ($exitcond) { - break; + $35 = (($$128) + 1)|0; + $36 = ($35|0)<($$|0); + if ($36) { + $$128 = $35; } else { - $i$12 = $35; + break; } } return; } -function _float32_unpack($x) { - $x = $x|0; - var $0 = 0, $1 = 0, $10 = 0.0, $11 = 0.0, $2 = 0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0, label = 0, sp = 0; +function _float32_unpack($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0.0, $12 = 0.0, $2 = 0, $3 = 0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; sp = STACKTOP; - $0 = $x & 2097151; - $1 = $x >>> 21; - $2 = $1 & 1023; - $3 = ($x|0)<(0); - $4 = (+($0>>>0)); - $5 = -$4; - $6 = $3 ? $5 : $4; - $7 = $6; + $1 = $0 & 2097151; + $2 = $0 >>> 21; + $3 = $2 & 1023; + $4 = ($0|0)<(0); + $5 = (+($1>>>0)); + $6 = -$5; + $7 = $4 ? $6 : $5; $8 = $7; - $9 = (($2) + -788)|0; - $10 = (+_ldexp($8,$9)); - $11 = $10; - return (+$11); -} -function _lookup1_values($entries,$dim) { - $entries = $entries|0; - $dim = $dim|0; - var $$ = 0, $0 = 0.0, $1 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0, $17 = 0, $18 = 0.0, $19 = 0.0, $2 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0, $24 = 0.0, $25 = 0.0; - var $26 = 0.0, $27 = 0, $28 = 0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0, $not$ = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (+($entries|0)); - $1 = $0; - $2 = (+Math_log((+$1))); - $3 = $2; - $4 = (+($dim|0)); - $5 = $3 / $4; - $6 = $5; - $7 = (+Math_exp((+$6))); - $8 = (+Math_floor((+$7))); - $9 = (~~(($8))); - $10 = (+($9|0)); - $11 = $10 + 1.0; + $9 = $8; + $10 = (($3) + -788)|0; + $11 = (+_ldexp($9,$10)); $12 = $11; - $13 = (+($dim|0)); - $14 = (+Math_pow((+$12),(+$13))); - $15 = (+Math_floor((+$14))); - $16 = (~~(($15))); - $not$ = ($16|0)<=($entries|0); - $17 = $not$&1; - $$ = (($17) + ($9))|0; - $18 = (+($$|0)); - $19 = $18 + 1.0; - $20 = $19; - $21 = (+Math_pow((+$20),(+$13))); - $22 = (+($entries|0)); - $23 = $21 > $22; - if (!($23)) { - ___assert_fail((15002|0),(14642|0),811,(15034|0)); + return (+$12); +} +function _lookup1_values($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$ = 0, $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0, $19 = 0, $2 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0, $26 = 0.0, $27 = 0.0; + var $28 = 0.0, $29 = 0, $3 = 0.0, $30 = 0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, $not$ = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = (+($0|0)); + $3 = $2; + $4 = (+Math_log((+$3))); + $5 = $4; + $6 = (+($1|0)); + $7 = $5 / $6; + $8 = $7; + $9 = (+Math_exp((+$8))); + $10 = (+Math_floor((+$9))); + $11 = (~~(($10))); + $12 = (+($11|0)); + $13 = $12 + 1.0; + $14 = $13; + $15 = (+($1|0)); + $16 = (+Math_pow((+$14),(+$15))); + $17 = (+Math_floor((+$16))); + $18 = (~~(($17))); + $not$ = ($18|0)<=($0|0); + $19 = $not$&1; + $$ = (($19) + ($11))|0; + $20 = (+($$|0)); + $21 = $20 + 1.0; + $22 = $21; + $23 = (+Math_pow((+$22),(+$15))); + $24 = (+($0|0)); + $25 = $23 > $24; + if (!($25)) { + ___assert_fail((16905|0),(16331|0),817,(16937|0)); // unreachable; } - $24 = $18; - $25 = (+Math_pow((+$24),(+$13))); - $26 = (+Math_floor((+$25))); - $27 = (~~(($26))); - $28 = ($27|0)>($entries|0); - if ($28) { - ___assert_fail((15049|0),(14642|0),812,(15034|0)); + $26 = $20; + $27 = (+Math_pow((+$26),(+$15))); + $28 = (+Math_floor((+$27))); + $29 = (~~(($28))); + $30 = ($29|0)>($0|0); + if ($30) { + ___assert_fail((16952|0),(16331|0),818,(16937|0)); // unreachable; } else { return ($$|0); } return (0)|0; } -function _point_compare($p,$q) { - $p = $p|0; - $q = $q|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; +function _point_compare($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP16[$p>>1]|0; - $1 = HEAP16[$q>>1]|0; - $2 = ($0&65535)<($1&65535); - $3 = ($0&65535)>($1&65535); - $4 = $3&1; - $5 = $2 ? -1 : $4; - return ($5|0); + $2 = HEAP16[$0>>1]|0; + $3 = HEAP16[$1>>1]|0; + $4 = ($2&65535)<($3&65535); + $5 = ($2&65535)>($3&65535); + $6 = $5&1; + $7 = $4 ? -1 : $6; + return ($7|0); } -function _neighbors($x,$n,$plow,$phigh) { - $x = $x|0; - $n = $n|0; - $plow = $plow|0; - $phigh = $phigh|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0; - var $high$02 = 0, $high$1 = 0, $i$03 = 0, $low$01 = 0, $low$1 = 0, label = 0, sp = 0; +function _neighbors($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$02933 = 0, $$03032 = 0, $$034 = 0, $$1 = 0, $$131 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, label = 0; + var sp = 0; sp = STACKTOP; - $0 = ($n|0)>(0); - if (!($0)) { - return; - } - $1 = (($x) + ($n<<1)|0); - $2 = (($x) + ($n<<1)|0); - $high$02 = 65536;$i$03 = 0;$low$01 = -1; - while(1) { - $3 = (($x) + ($i$03<<1)|0); - $4 = HEAP16[$3>>1]|0; - $5 = $4&65535; - $6 = ($5|0)>($low$01|0); - if ($6) { - $7 = HEAP16[$1>>1]|0; - $8 = ($4&65535)<($7&65535); - if ($8) { - HEAP32[$plow>>2] = $i$03; - $9 = HEAP16[$3>>1]|0; - $10 = $9&65535; - $low$1 = $10; - } else { - $low$1 = $low$01; - } - } else { - $low$1 = $low$01; - } - $11 = HEAP16[$3>>1]|0; - $12 = $11&65535; - $13 = ($12|0)<($high$02|0); - if ($13) { - $14 = HEAP16[$2>>1]|0; - $15 = ($11&65535)>($14&65535); - if ($15) { - HEAP32[$phigh>>2] = $i$03; - $16 = HEAP16[$3>>1]|0; - $17 = $16&65535; - $high$1 = $17; - } else { - $high$1 = $high$02; - } - } else { - $high$1 = $high$02; - } - $18 = (($i$03) + 1)|0; - $exitcond = ($18|0)==($n|0); - if ($exitcond) { - break; - } else { - $high$02 = $high$1;$i$03 = $18;$low$01 = $low$1; - } - } - return; -} -function _init_blocksize($f,$b,$n) { - $f = $f|0; - $b = $b|0; - $n = $n|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0; - var $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = $n >>> 1; - $1 = $n & -4; - $2 = $n >> 3; - $3 = $0 << 2; - $4 = (_setup_malloc($f,$3)|0); - $5 = (((($f)) + 1068|0) + ($b<<2)|0); - HEAP32[$5>>2] = $4; - $6 = (_setup_malloc($f,$3)|0); - $7 = (((($f)) + 1076|0) + ($b<<2)|0); - HEAP32[$7>>2] = $6; - $8 = (_setup_malloc($f,$1)|0); - $9 = (((($f)) + 1084|0) + ($b<<2)|0); - HEAP32[$9>>2] = $8; - $10 = HEAP32[$5>>2]|0; - $11 = ($10|0)==(0|0); - if (!($11)) { - $12 = HEAP32[$7>>2]|0; - $13 = ($12|0)==(0|0); - $14 = ($8|0)==(0|0); - $or$cond = $14 | $13; - if (!($or$cond)) { - _compute_twiddle_factors($n,$10,$12,$8); - $15 = (_setup_malloc($f,$3)|0); - $16 = (((($f)) + 1092|0) + ($b<<2)|0); - HEAP32[$16>>2] = $15; - $17 = ($15|0)==(0|0); - if ($17) { - _error($f,3); - $$0 = 0; - return ($$0|0); - } - _compute_window($n,$15); - $18 = $2 << 1; - $19 = (_setup_malloc($f,$18)|0); - $20 = (((($f)) + 1100|0) + ($b<<2)|0); - HEAP32[$20>>2] = $19; - $21 = ($19|0)==(0|0); - if ($21) { - _error($f,3); - $$0 = 0; - return ($$0|0); - } else { - _compute_bitreverse($n,$19); - $$0 = 1; - return ($$0|0); - } - } - } - _error($f,3); - $$0 = 0; - return ($$0|0); -} -function _compute_twiddle_factors($n,$A,$B,$C) { - $n = $n|0; - $A = $A|0; - $B = $B|0; - $C = $C|0; - var $0 = 0, $1 = 0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0, $17 = 0, $18 = 0.0, $19 = 0.0, $2 = 0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0, $26 = 0.0; - var $27 = 0.0, $28 = 0.0, $29 = 0, $3 = 0.0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0.0, $35 = 0.0, $36 = 0.0, $37 = 0.0, $38 = 0.0, $39 = 0, $4 = 0, $40 = 0.0, $41 = 0.0, $42 = 0.0, $43 = 0, $44 = 0; - var $45 = 0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0.0, $9 = 0.0, $exitcond = 0, $exitcond7 = 0, $k$03 = 0, $k$11 = 0, $k2$04 = 0, $k2$12 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = $n >> 2; - $1 = $n >> 3; - $2 = ($0|0)>(0); - if ($2) { - $3 = (+($n|0)); - $k$03 = 0;$k2$04 = 0; - while(1) { - $6 = $k$03 << 2; - $7 = (+($6|0)); - $8 = $7 * 3.1415926535897931; - $9 = $8 / $3; - $10 = (+Math_cos((+$9))); - $11 = $10; - $12 = (($A) + ($k2$04<<2)|0); - HEAPF32[$12>>2] = $11; - $13 = (+Math_sin((+$9))); - $14 = $13; - $15 = -$14; - $16 = $k2$04 | 1; - $17 = (($A) + ($16<<2)|0); - HEAPF32[$17>>2] = $15; - $18 = (+($16|0)); - $19 = $18 * 3.1415926535897931; - $20 = $19 / $3; - $21 = $20 * 0.5; - $22 = (+Math_cos((+$21))); - $23 = $22; - $24 = $23 * 0.5; - $25 = (($B) + ($k2$04<<2)|0); - HEAPF32[$25>>2] = $24; - $26 = (+Math_sin((+$21))); - $27 = $26; - $28 = $27 * 0.5; - $29 = (($B) + ($16<<2)|0); - HEAPF32[$29>>2] = $28; - $30 = (($k$03) + 1)|0; - $31 = (($k2$04) + 2)|0; - $exitcond7 = ($30|0)==($0|0); - if ($exitcond7) { - break; - } else { - $k$03 = $30;$k2$04 = $31; - } - } - } $4 = ($1|0)>(0); if (!($4)) { return; } - $5 = (+($n|0)); - $k$11 = 0;$k2$12 = 0; + $5 = (($0) + ($1<<1)|0); + $6 = (($0) + ($1<<1)|0); + $$02933 = 65536;$$03032 = -1;$$034 = 0; while(1) { - $32 = $k2$12 | 1; - $33 = $32 << 1; - $34 = (+($33|0)); - $35 = $34 * 3.1415926535897931; - $36 = $35 / $5; - $37 = (+Math_cos((+$36))); - $38 = $37; - $39 = (($C) + ($k2$12<<2)|0); - HEAPF32[$39>>2] = $38; - $40 = (+Math_sin((+$36))); - $41 = $40; - $42 = -$41; - $43 = (($C) + ($32<<2)|0); - HEAPF32[$43>>2] = $42; - $44 = (($k$11) + 1)|0; - $45 = (($k2$12) + 2)|0; - $exitcond = ($44|0)==($1|0); + $7 = (($0) + ($$034<<1)|0); + $8 = HEAP16[$7>>1]|0; + $9 = $8&65535; + $10 = ($9|0)>($$03032|0); + if ($10) { + $11 = HEAP16[$5>>1]|0; + $12 = ($8&65535)<($11&65535); + if ($12) { + HEAP32[$2>>2] = $$034; + $$131 = $9; + } else { + $$131 = $$03032; + } + } else { + $$131 = $$03032; + } + $13 = ($9|0)<($$02933|0); + if ($13) { + $14 = HEAP16[$6>>1]|0; + $15 = ($8&65535)>($14&65535); + if ($15) { + HEAP32[$3>>2] = $$034; + $$1 = $9; + } else { + $$1 = $$02933; + } + } else { + $$1 = $$02933; + } + $16 = (($$034) + 1)|0; + $exitcond = ($16|0)==($1|0); if ($exitcond) { break; } else { - $k$11 = $44;$k2$12 = $45; + $$02933 = $$1;$$03032 = $$131;$$034 = $16; } } return; } -function _compute_window($n,$window) { - $n = $n|0; - $window = $window|0; - var $0 = 0, $1 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0, $16 = 0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, $exitcond = 0, $i$01 = 0, label = 0; +function _init_blocksize($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0; + var $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = $2 >>> 1; + $4 = $2 & -4; + $5 = $2 >> 3; + $6 = $3 << 2; + $7 = (_setup_malloc($0,$6)|0); + $8 = (((($0)) + 1068|0) + ($1<<2)|0); + HEAP32[$8>>2] = $7; + $9 = (_setup_malloc($0,$6)|0); + $10 = (((($0)) + 1076|0) + ($1<<2)|0); + HEAP32[$10>>2] = $9; + $11 = (_setup_malloc($0,$4)|0); + $12 = (((($0)) + 1084|0) + ($1<<2)|0); + HEAP32[$12>>2] = $11; + $13 = HEAP32[$8>>2]|0; + $14 = ($13|0)==(0|0); + if (!($14)) { + $15 = HEAP32[$10>>2]|0; + $16 = ($15|0)==(0|0); + $17 = ($11|0)==(0|0); + $or$cond = $17 | $16; + if (!($or$cond)) { + _compute_twiddle_factors($2,$13,$15,$11); + $18 = (_setup_malloc($0,$6)|0); + $19 = (((($0)) + 1092|0) + ($1<<2)|0); + HEAP32[$19>>2] = $18; + $20 = ($18|0)==(0|0); + if ($20) { + _error($0,3); + $$0 = 0; + return ($$0|0); + } + _compute_window($2,$18); + $21 = $5 << 1; + $22 = (_setup_malloc($0,$21)|0); + $23 = (((($0)) + 1100|0) + ($1<<2)|0); + HEAP32[$23>>2] = $22; + $24 = ($22|0)==(0|0); + if ($24) { + _error($0,3); + $$0 = 0; + return ($$0|0); + } else { + _compute_bitreverse($2,$22); + $$0 = 1; + return ($$0|0); + } + } + } + _error($0,3); + $$0 = 0; + return ($$0|0); +} +function _compute_twiddle_factors($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$04044 = 0, $$045 = 0, $$14142 = 0, $$143 = 0, $10 = 0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0, $18 = 0.0, $19 = 0.0, $20 = 0.0, $21 = 0, $22 = 0, $23 = 0.0, $24 = 0.0, $25 = 0.0; + var $26 = 0.0, $27 = 0.0, $28 = 0.0, $29 = 0.0, $30 = 0.0, $31 = 0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0.0, $41 = 0.0, $42 = 0.0, $43 = 0.0, $44 = 0.0; + var $45 = 0.0, $46 = 0, $47 = 0.0, $48 = 0.0, $49 = 0.0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, $exitcond = 0, $exitcond48 = 0, label = 0, sp = 0; + sp = STACKTOP; + $4 = $0 >> 2; + $5 = $0 >> 3; + $6 = ($4|0)>(0); + if ($6) { + $7 = (+($0|0)); + $$04044 = 0;$$045 = 0; + while(1) { + $10 = $$04044 << 2; + $11 = (+($10|0)); + $12 = $11 * 3.1415927410125732; + $13 = $12 / $7; + $14 = $13; + $15 = (+Math_cos((+$14))); + $16 = $15; + $17 = (($1) + ($$045<<2)|0); + HEAPF32[$17>>2] = $16; + $18 = (+Math_sin((+$14))); + $19 = $18; + $20 = -$19; + $21 = $$045 | 1; + $22 = (($1) + ($21<<2)|0); + HEAPF32[$22>>2] = $20; + $23 = (+($21|0)); + $24 = $23 * 3.1415927410125732; + $25 = $24 / $7; + $26 = $25 * 0.5; + $27 = $26; + $28 = (+Math_cos((+$27))); + $29 = $28; + $30 = $29 * 0.5; + $31 = (($2) + ($$045<<2)|0); + HEAPF32[$31>>2] = $30; + $32 = (+Math_sin((+$27))); + $33 = $32; + $34 = $33 * 0.5; + $35 = (($2) + ($21<<2)|0); + HEAPF32[$35>>2] = $34; + $36 = (($$04044) + 1)|0; + $37 = (($$045) + 2)|0; + $exitcond48 = ($36|0)==($4|0); + if ($exitcond48) { + break; + } else { + $$04044 = $36;$$045 = $37; + } + } + } + $8 = ($5|0)>(0); + if (!($8)) { + return; + } + $9 = (+($0|0)); + $$14142 = 0;$$143 = 0; + while(1) { + $38 = $$143 | 1; + $39 = $38 << 1; + $40 = (+($39|0)); + $41 = $40 * 3.1415927410125732; + $42 = $41 / $9; + $43 = $42; + $44 = (+Math_cos((+$43))); + $45 = $44; + $46 = (($3) + ($$143<<2)|0); + HEAPF32[$46>>2] = $45; + $47 = (+Math_sin((+$43))); + $48 = $47; + $49 = -$48; + $50 = (($3) + ($38<<2)|0); + HEAPF32[$50>>2] = $49; + $51 = (($$14142) + 1)|0; + $52 = (($$143) + 2)|0; + $exitcond = ($51|0)==($5|0); + if ($exitcond) { + break; + } else { + $$14142 = $51;$$143 = $52; + } + } + return; +} +function _compute_window($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$010 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0, $18 = 0, $2 = 0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, $exitcond = 0, label = 0; var sp = 0; sp = STACKTOP; - $0 = $n >> 1; - $1 = ($0|0)>(0); - if (!($1)) { - return; - } - $2 = (+($0|0)); - $i$01 = 0; - while(1) { - $3 = (+($i$01|0)); - $4 = $3 + 0.5; - $5 = $4 / $2; - $6 = $5 * 0.5; - $7 = $6 * 3.1415926535897931; - $8 = (+Math_sin((+$7))); - $9 = $8; - $10 = (+_square($9)); - $11 = $10; - $12 = $11 * 1.5707963267948966; - $13 = (+Math_sin((+$12))); - $14 = $13; - $15 = (($window) + ($i$01<<2)|0); - HEAPF32[$15>>2] = $14; - $16 = (($i$01) + 1)|0; - $exitcond = ($16|0)==($0|0); - if ($exitcond) { - break; - } else { - $i$01 = $16; - } - } - return; -} -function _compute_bitreverse($n,$rev) { - $n = $n|0; - $rev = $rev|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $i$01 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = $n >> 3; - $1 = ($0|0)>(0); - if (!($1)) { - return; - } - $2 = (_ilog($n)|0); - $3 = (36 - ($2))|0; - $i$01 = 0; - while(1) { - $4 = (_bit_reverse($i$01)|0); - $5 = $4 >>> $3; - $6 = $5 << 2; - $7 = $6&65535; - $8 = (($rev) + ($i$01<<1)|0); - HEAP16[$8>>1] = $7; - $9 = (($i$01) + 1)|0; - $exitcond = ($9|0)==($0|0); - if ($exitcond) { - break; - } else { - $i$01 = $9; - } - } - return; -} -function _bit_reverse($n) { - $n = $n|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0; - var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = $n >>> 1; - $1 = $0 & 1431655765; - $2 = $n << 1; - $3 = $2 & -1431655766; - $4 = $1 | $3; - $5 = $4 >>> 2; - $6 = $5 & 858993459; - $7 = $4 << 2; - $8 = $7 & -858993460; - $9 = $6 | $8; - $10 = $9 >>> 4; - $11 = $10 & 252645135; - $12 = $9 << 4; - $13 = $12 & -252645136; - $14 = $11 | $13; - $15 = $14 >>> 8; - $16 = $15 & 16711935; - $17 = $14 << 8; - $18 = $17 & -16711936; - $19 = $16 | $18; - $20 = $19 >>> 16; - $21 = $19 << 16; - $22 = $20 | $21; - return ($22|0); -} -function _square($x) { - $x = +$x; - var $0 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $0 = $x * $x; - return (+$0); -} -function _include_in_sort($c,$len) { - $c = $c|0; - $len = $len|0; - var $$ = 0, $$0 = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($c)) + 23|0); - $1 = HEAP8[$0>>0]|0; - $2 = ($1<<24>>24)==(0); - $3 = ($len<<24>>24)==(-1); - if (!($2)) { - if ($3) { - ___assert_fail((15170|0),(14642|0),736,(15185|0)); - // unreachable; - } else { - $$0 = 1; - return ($$0|0); - } - } - if ($3) { - $$0 = 0; - return ($$0|0); - } - $4 = ($len&255)>(10); - $$ = $4&1; - $$0 = $$; - return ($$0|0); -} -function _uint32_compare($p,$q) { - $p = $p|0; - $q = $q|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[$p>>2]|0; - $1 = HEAP32[$q>>2]|0; - $2 = ($0>>>0)<($1>>>0); - $3 = ($0>>>0)>($1>>>0); - $4 = $3&1; - $5 = $2 ? -1 : $4; - return ($5|0); -} -function _add_entry($c,$huff_code,$symbol,$count,$len,$values) { - $c = $c|0; - $huff_code = $huff_code|0; - $symbol = $symbol|0; - $count = $count|0; - $len = $len|0; - $values = $values|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($c)) + 23|0); - $1 = HEAP8[$0>>0]|0; - $2 = ($1<<24>>24)==(0); - $3 = ((($c)) + 32|0); - $4 = HEAP32[$3>>2]|0; - if ($2) { - $5 = (($4) + ($symbol<<2)|0); - HEAP32[$5>>2] = $huff_code; - return; - } else { - $6 = (($4) + ($count<<2)|0); - HEAP32[$6>>2] = $huff_code; - $7 = $len&255; - $8 = ((($c)) + 8|0); - $9 = HEAP32[$8>>2]|0; - $10 = (($9) + ($count)|0); - HEAP8[$10>>0] = $7; - $11 = (($values) + ($count<<2)|0); - HEAP32[$11>>2] = $symbol; - return; - } -} -function _get_window($f,$len) { - $f = $f|0; - $len = $len|0; - var $$0 = 0, $$0$in = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = $len << 1; - $1 = ((($f)) + 112|0); - $2 = HEAP32[$1>>2]|0; - $3 = ($0|0)==($2|0); - if ($3) { - $4 = ((($f)) + 1092|0); - $$0$in = $4; - $$0 = HEAP32[$$0$in>>2]|0; - return ($$0|0); - } - $5 = ((($f)) + 116|0); - $6 = HEAP32[$5>>2]|0; - $7 = ($0|0)==($6|0); - if (!($7)) { - ___assert_fail((18816|0),(14642|0),2725,(15310|0)); - // unreachable; - } - $8 = ((($f)) + 1096|0); - $$0$in = $8; - $$0 = HEAP32[$$0$in>>2]|0; - return ($$0|0); -} -function _vorbis_decode_packet_rest($f,$len,$m,$left_start,$right_start,$right_end,$p_left) { - $f = $f|0; - $len = $len|0; - $m = $m|0; - $left_start = $left_start|0; - $right_start = $right_start|0; - $right_end = $right_end|0; - $p_left = $p_left|0; - var $$ = 0, $$0 = 0, $$01 = 0, $$2 = 0, $$3 = 0, $$4 = 0, $$5 = 0, $$lcssa = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0; - var $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0; - var $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0; - var $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0; - var $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0; - var $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0; - var $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0; - var $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0; - var $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0; - var $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0; - var $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0; - var $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0; - var $307 = 0.0, $308 = 0, $309 = 0, $31 = 0, $310 = 0.0, $311 = 0, $312 = 0.0, $313 = 0.0, $314 = 0.0, $315 = 0.0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0; - var $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0; - var $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0; - var $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0; - var $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $4 = 0, $40 = 0; - var $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0; - var $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0; - var $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0; - var $96 = 0, $97 = 0, $98 = 0, $99 = 0, $a2$0 = 0.0, $ch$0$lcssa = 0, $ch$023 = 0, $ch$1 = 0, $cval$0 = 0, $cval$2$ph = 0, $cval$236 = 0, $do_not_decode = 0, $exitcond = 0, $exitcond58 = 0, $i$053 = 0, $i$131 = 0, $i$228 = 0, $i$320 = 0, $i$320$in = 0, $i$414 = 0; - var $i$513 = 0, $j$043 = 0, $j$147 = 0, $j$251 = 0, $j$324 = 0, $j$416 = 0, $k$038 = 0, $m2$0 = 0.0, $offset$042 = 0, $offset$1$lcssa = 0, $offset$137 = 0, $offset$2 = 0, $really_zero_channel = 0, $right_end$ = 0, $room$0 = 0, $step2_flag = 0, $storemerge = 0, $temp$0 = 0, $temp$1 = 0, $zero_channel = 0; - var label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 2560|0; - $zero_channel = sp + 1280|0; - $really_zero_channel = sp + 256|0; - $step2_flag = sp; - $do_not_decode = sp + 2304|0; - $0 = HEAP8[$m>>0]|0; - $1 = $0&255; - $2 = (((($f)) + 104|0) + ($1<<2)|0); - $3 = HEAP32[$2>>2]|0; - $4 = ((($m)) + 1|0); - $5 = HEAP8[$4>>0]|0; - $6 = $5&255; - $7 = ((($f)) + 404|0); - $8 = HEAP32[$7>>2]|0; - $9 = (($8) + (($6*40)|0)|0); - $10 = $3 >> 1; - $11 = (0 - ($10))|0; - $12 = ((($f)) + 4|0); - $13 = HEAP32[$12>>2]|0; - $14 = ($13|0)>(0); - L1: do { - if ($14) { - $15 = (((($8) + (($6*40)|0)|0)) + 4|0); - $16 = ((($f)) + 260|0); - $17 = ((($f)) + 1396|0); - $18 = ((($step2_flag)) + 1|0); - $19 = ((($f)) + 124|0); - $20 = ((($f)) + 1396|0); - $21 = ((($f)) + 1392|0); - $22 = ((($f)) + 124|0); - $23 = ((($f)) + 1396|0); - $24 = ((($f)) + 1392|0); - $i$053 = 0; - while(1) { - $25 = HEAP32[$15>>2]|0; - $26 = (((($25) + (($i$053*3)|0)|0)) + 2|0); - $27 = HEAP8[$26>>0]|0; - $28 = $27&255; - $29 = (($zero_channel) + ($i$053<<2)|0); - HEAP32[$29>>2] = 0; - $30 = ((((($8) + (($6*40)|0)|0)) + 9|0) + ($28)|0); - $31 = HEAP8[$30>>0]|0; - $32 = $31&255; - $33 = (((($f)) + 132|0) + ($32<<1)|0); - $34 = HEAP16[$33>>1]|0; - $35 = ($34<<16>>16)==(0); - if ($35) { - break; - } - $36 = HEAP32[$16>>2]|0; - $37 = (_get_bits($f,1)|0); - $38 = ($37|0)==(0); - do { - if ($38) { - label = 50; - } else { - $39 = (((($36) + (($32*1596)|0)|0)) + 1588|0); - $40 = HEAP8[$39>>0]|0; - $41 = $40&255; - $42 = (($41) + -1)|0; - $43 = (6828 + ($42<<2)|0); - $44 = HEAP32[$43>>2]|0; - $45 = (((($f)) + 996|0) + ($i$053<<2)|0); - $46 = HEAP32[$45>>2]|0; - $47 = (_ilog($44)|0); - $48 = (($47) + -1)|0; - $49 = (_get_bits($f,$48)|0); - $50 = $49&65535; - HEAP16[$46>>1] = $50; - $51 = (_get_bits($f,$48)|0); - $52 = $51&65535; - $53 = ((($46)) + 2|0); - HEAP16[$53>>1] = $52; - $54 = (($36) + (($32*1596)|0)|0); - $55 = HEAP8[$54>>0]|0; - $56 = ($55<<24>>24)==(0); - if (!($56)) { - $j$043 = 0;$offset$042 = 2; - while(1) { - $57 = ((((($36) + (($32*1596)|0)|0)) + 1|0) + ($j$043)|0); - $58 = HEAP8[$57>>0]|0; - $59 = $58&255; - $60 = ((((($36) + (($32*1596)|0)|0)) + 33|0) + ($59)|0); - $61 = HEAP8[$60>>0]|0; - $62 = ((((($36) + (($32*1596)|0)|0)) + 49|0) + ($59)|0); - $63 = HEAP8[$62>>0]|0; - $64 = $63&255; - $65 = 1 << $64; - $66 = (($65) + -1)|0; - $67 = ($63<<24>>24)==(0); - if ($67) { - $cval$2$ph = 0; - } else { - $68 = HEAP32[$19>>2]|0; - $69 = ((((($36) + (($32*1596)|0)|0)) + 65|0) + ($59)|0); - $70 = HEAP8[$69>>0]|0; - $71 = $70&255; - $72 = (($68) + (($71*2096)|0)|0); - $73 = HEAP32[$20>>2]|0; - $74 = ($73|0)<(10); - if ($74) { - _prep_huffman($f); - } - $75 = HEAP32[$21>>2]|0; - $76 = $75 & 1023; - $77 = ((((($68) + (($71*2096)|0)|0)) + 36|0) + ($76<<1)|0); - $78 = HEAP16[$77>>1]|0; - $79 = $78 << 16 >> 16; - $80 = ($78<<16>>16)>(-1); - if ($80) { - $81 = (((($68) + (($71*2096)|0)|0)) + 8|0); - $82 = HEAP32[$81>>2]|0; - $83 = (($82) + ($79)|0); - $84 = HEAP8[$83>>0]|0; - $85 = $84&255; - $86 = $75 >>> $85; - HEAP32[$21>>2] = $86; - $87 = HEAP32[$20>>2]|0; - $88 = (($87) - ($85))|0; - $89 = ($88|0)<(0); - $$ = $89 ? 0 : $88; - HEAP32[$20>>2] = $$; - $$2 = $89 ? -1 : $79; - $cval$0 = $$2; - } else { - $90 = (_codebook_decode_scalar_raw($f,$72)|0); - $cval$0 = $90; - } - $91 = (((($68) + (($71*2096)|0)|0)) + 23|0); - $92 = HEAP8[$91>>0]|0; - $93 = ($92<<24>>24)==(0); - if ($93) { - $cval$2$ph = $cval$0; - } else { - $94 = (((($68) + (($71*2096)|0)|0)) + 2088|0); - $95 = HEAP32[$94>>2]|0; - $96 = (($95) + ($cval$0<<2)|0); - $97 = HEAP32[$96>>2]|0; - $cval$2$ph = $97; - } - } - $98 = ($61<<24>>24)==(0); - if ($98) { - $offset$1$lcssa = $offset$042; - } else { - $99 = $61&255; - $cval$236 = $cval$2$ph;$k$038 = 0;$offset$137 = $offset$042; - while(1) { - $100 = $cval$236 & $66; - $101 = (((((($36) + (($32*1596)|0)|0)) + 82|0) + ($59<<4)|0) + ($100<<1)|0); - $102 = HEAP16[$101>>1]|0; - $103 = $cval$236 >> $64; - $104 = ($102<<16>>16)>(-1); - if ($104) { - $105 = $102 << 16 >> 16; - $106 = HEAP32[$22>>2]|0; - $107 = (($106) + (($105*2096)|0)|0); - $108 = HEAP32[$23>>2]|0; - $109 = ($108|0)<(10); - if ($109) { - _prep_huffman($f); - } - $110 = HEAP32[$24>>2]|0; - $111 = $110 & 1023; - $112 = ((((($106) + (($105*2096)|0)|0)) + 36|0) + ($111<<1)|0); - $113 = HEAP16[$112>>1]|0; - $114 = $113 << 16 >> 16; - $115 = ($113<<16>>16)>(-1); - if ($115) { - $116 = (((($106) + (($105*2096)|0)|0)) + 8|0); - $117 = HEAP32[$116>>2]|0; - $118 = (($117) + ($114)|0); - $119 = HEAP8[$118>>0]|0; - $120 = $119&255; - $121 = $110 >>> $120; - HEAP32[$24>>2] = $121; - $122 = HEAP32[$23>>2]|0; - $123 = (($122) - ($120))|0; - $124 = ($123|0)<(0); - $$3 = $124 ? 0 : $123; - HEAP32[$23>>2] = $$3; - $$4 = $124 ? -1 : $114; - $temp$0 = $$4; - } else { - $125 = (_codebook_decode_scalar_raw($f,$107)|0); - $temp$0 = $125; - } - $126 = (((($106) + (($105*2096)|0)|0)) + 23|0); - $127 = HEAP8[$126>>0]|0; - $128 = ($127<<24>>24)==(0); - if ($128) { - $temp$1 = $temp$0; - } else { - $129 = (((($106) + (($105*2096)|0)|0)) + 2088|0); - $130 = HEAP32[$129>>2]|0; - $131 = (($130) + ($temp$0<<2)|0); - $132 = HEAP32[$131>>2]|0; - $temp$1 = $132; - } - $133 = $temp$1&65535; - $134 = (($46) + ($offset$137<<1)|0); - HEAP16[$134>>1] = $133; - } else { - $135 = (($46) + ($offset$137<<1)|0); - HEAP16[$135>>1] = 0; - } - $offset$2 = (($offset$137) + 1)|0; - $136 = (($k$038) + 1)|0; - $exitcond58 = ($136|0)==($99|0); - if ($exitcond58) { - break; - } else { - $cval$236 = $103;$k$038 = $136;$offset$137 = $offset$2; - } - } - $137 = (($offset$042) + ($99))|0; - $offset$1$lcssa = $137; - } - $138 = (($j$043) + 1)|0; - $139 = HEAP8[$54>>0]|0; - $140 = $139&255; - $141 = ($138|0)<($140|0); - if ($141) { - $j$043 = $138;$offset$042 = $offset$1$lcssa; - } else { - break; - } - } - } - $142 = HEAP32[$17>>2]|0; - $143 = ($142|0)==(-1); - if ($143) { - label = 50; - break; - } - HEAP8[$18>>0] = 1; - HEAP8[$step2_flag>>0] = 1; - $144 = (((($36) + (($32*1596)|0)|0)) + 1592|0); - $145 = HEAP32[$144>>2]|0; - $146 = ($145|0)>(2); - if ($146) { - $147 = (($44) + 65535)|0; - $j$147 = 2; - while(1) { - $151 = ((((($36) + (($32*1596)|0)|0)) + 1088|0) + ($j$147<<1)|0); - $152 = HEAP8[$151>>0]|0; - $153 = $152&255; - $154 = ((((((($36) + (($32*1596)|0)|0)) + 1088|0) + ($j$147<<1)|0)) + 1|0); - $155 = HEAP8[$154>>0]|0; - $156 = $155&255; - $157 = ((((($36) + (($32*1596)|0)|0)) + 338|0) + ($j$147<<1)|0); - $158 = HEAP16[$157>>1]|0; - $159 = $158&65535; - $160 = ((((($36) + (($32*1596)|0)|0)) + 338|0) + ($153<<1)|0); - $161 = HEAP16[$160>>1]|0; - $162 = $161&65535; - $163 = ((((($36) + (($32*1596)|0)|0)) + 338|0) + ($156<<1)|0); - $164 = HEAP16[$163>>1]|0; - $165 = $164&65535; - $166 = (($46) + ($153<<1)|0); - $167 = HEAP16[$166>>1]|0; - $168 = $167 << 16 >> 16; - $169 = (($46) + ($156<<1)|0); - $170 = HEAP16[$169>>1]|0; - $171 = $170 << 16 >> 16; - $172 = (_predict_point($159,$162,$165,$168,$171)|0); - $173 = (($46) + ($j$147<<1)|0); - $174 = HEAP16[$173>>1]|0; - $175 = $174 << 16 >> 16; - $176 = (($44) - ($172))|0; - $177 = ($174<<16>>16)==(0); - do { - if ($177) { - $195 = (($step2_flag) + ($j$147)|0); - HEAP8[$195>>0] = 0; - $196 = $172&65535; - HEAP16[$173>>1] = $196; - } else { - $178 = ($176|0)<($172|0); - $$5 = $178 ? $176 : $172; - $room$0 = $$5 << 1; - $179 = (($step2_flag) + ($156)|0); - HEAP8[$179>>0] = 1; - $180 = (($step2_flag) + ($153)|0); - HEAP8[$180>>0] = 1; - $181 = (($step2_flag) + ($j$147)|0); - HEAP8[$181>>0] = 1; - $182 = ($175|0)<($room$0|0); - if ($182) { - $186 = $175 & 1; - $187 = ($186|0)==(0); - if ($187) { - $192 = $175 >>> 1; - $193 = (($192) + ($172))|0; - $194 = $193&65535; - HEAP16[$173>>1] = $194; - break; - } else { - $188 = (($175) + 1)|0; - $189 = $188 >>> 1; - $190 = (($172) - ($189))|0; - $191 = $190&65535; - HEAP16[$173>>1] = $191; - break; - } - } else { - $183 = ($176|0)>($172|0); - if ($183) { - HEAP16[$173>>1] = $174; - break; - } else { - $184 = (($147) - ($175))|0; - $185 = $184&65535; - HEAP16[$173>>1] = $185; - break; - } - } - } - } while(0); - $197 = (($j$147) + 1)|0; - $198 = HEAP32[$144>>2]|0; - $199 = ($197|0)<($198|0); - if ($199) { - $j$147 = $197; - } else { - $148 = $198; - break; - } - } - } else { - $148 = $145; - } - $149 = ($148|0)>(0); - if ($149) { - $150 = HEAP32[$144>>2]|0; - $j$251 = 0; - while(1) { - $200 = (($step2_flag) + ($j$251)|0); - $201 = HEAP8[$200>>0]|0; - $202 = ($201<<24>>24)==(0); - if ($202) { - $203 = (($46) + ($j$251<<1)|0); - HEAP16[$203>>1] = -1; - } - $204 = (($j$251) + 1)|0; - $205 = ($204|0)<($150|0); - if ($205) { - $j$251 = $204; - } else { - break; - } - } - } - } - } while(0); - if ((label|0) == 50) { - label = 0; - HEAP32[$29>>2] = 1; - } - $206 = (($i$053) + 1)|0; - $207 = HEAP32[$12>>2]|0; - $208 = ($206|0)<($207|0); - if ($208) { - $i$053 = $206; - } else { - break L1; - } - } - _error($f,21); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - } while(0); - $209 = ((($f)) + 80|0); - $210 = HEAP32[$209>>2]|0; - $211 = ($210|0)==(0|0); - if (!($211)) { - $212 = ((($f)) + 84|0); - $213 = HEAP32[$212>>2]|0; - $214 = ((($f)) + 92|0); - $215 = HEAP32[$214>>2]|0; - $216 = ($213|0)==($215|0); - if (!($216)) { - ___assert_fail((14854|0),(14642|0),2953,(15321|0)); - // unreachable; - } - } - $217 = HEAP32[$12>>2]|0; - $218 = $217 << 2; - _memcpy(($really_zero_channel|0),($zero_channel|0),($218|0))|0; - $219 = HEAP16[$9>>1]|0; - $220 = ($219<<16>>16)==(0); - if (!($220)) { - $221 = (((($8) + (($6*40)|0)|0)) + 4|0); - $222 = HEAP32[$221>>2]|0; - $223 = HEAP16[$9>>1]|0; - $224 = $223&65535; - $i$131 = 0; - while(1) { - $229 = (($222) + (($i$131*3)|0)|0); - $230 = HEAP8[$229>>0]|0; - $231 = $230&255; - $232 = (($zero_channel) + ($231<<2)|0); - $233 = HEAP32[$232>>2]|0; - $234 = ($233|0)==(0); - if ($234) { - label = 61; - } else { - $235 = (((($222) + (($i$131*3)|0)|0)) + 1|0); - $236 = HEAP8[$235>>0]|0; - $237 = $236&255; - $238 = (($zero_channel) + ($237<<2)|0); - $239 = HEAP32[$238>>2]|0; - $240 = ($239|0)==(0); - if ($240) { - label = 61; - } - } - if ((label|0) == 61) { - label = 0; - $241 = HEAP32[$221>>2]|0; - $242 = (((($241) + (($i$131*3)|0)|0)) + 1|0); - $243 = HEAP8[$242>>0]|0; - $244 = $243&255; - $245 = (($zero_channel) + ($244<<2)|0); - HEAP32[$245>>2] = 0; - $246 = HEAP32[$221>>2]|0; - $247 = (($246) + (($i$131*3)|0)|0); - $248 = HEAP8[$247>>0]|0; - $249 = $248&255; - $250 = (($zero_channel) + ($249<<2)|0); - HEAP32[$250>>2] = 0; - } - $251 = (($i$131) + 1)|0; - $252 = ($251|0)<($224|0); - if ($252) { - $i$131 = $251; - } else { - break; - } - } - } - $225 = (((($8) + (($6*40)|0)|0)) + 8|0); - $226 = HEAP8[$225>>0]|0; - $227 = ($226<<24>>24)==(0); - if (!($227)) { - $228 = (((($8) + (($6*40)|0)|0)) + 4|0); - $i$228 = 0; - while(1) { - $253 = HEAP32[$12>>2]|0; - $254 = ($253|0)>(0); - if ($254) { - $255 = HEAP32[$228>>2]|0; - $256 = HEAP32[$12>>2]|0; - $ch$023 = 0;$j$324 = 0; - while(1) { - $257 = (((($255) + (($j$324*3)|0)|0)) + 2|0); - $258 = HEAP8[$257>>0]|0; - $259 = $258&255; - $260 = ($259|0)==($i$228|0); - if ($260) { - $261 = (($zero_channel) + ($j$324<<2)|0); - $262 = HEAP32[$261>>2]|0; - $263 = ($262|0)==(0); - $264 = (($do_not_decode) + ($ch$023)|0); - if ($263) { - HEAP8[$264>>0] = 0; - $266 = (((($f)) + 800|0) + ($j$324<<2)|0); - $267 = HEAP32[$266>>2]|0; - $268 = (($step2_flag) + ($ch$023<<2)|0); - HEAP32[$268>>2] = $267; - } else { - HEAP8[$264>>0] = 1; - $265 = (($step2_flag) + ($ch$023<<2)|0); - HEAP32[$265>>2] = 0; - } - $269 = (($ch$023) + 1)|0; - $ch$1 = $269; - } else { - $ch$1 = $ch$023; - } - $270 = (($j$324) + 1)|0; - $271 = ($270|0)<($256|0); - if ($271) { - $ch$023 = $ch$1;$j$324 = $270; - } else { - $ch$0$lcssa = $ch$1; - break; - } - } - } else { - $ch$0$lcssa = 0; - } - $272 = ((((($8) + (($6*40)|0)|0)) + 24|0) + ($i$228)|0); - $273 = HEAP8[$272>>0]|0; - $274 = $273&255; - _decode_residue($f,$step2_flag,$ch$0$lcssa,$10,$274,$do_not_decode); - $275 = (($i$228) + 1)|0; - $276 = HEAP8[$225>>0]|0; - $277 = $276&255; - $278 = ($275|0)<($277|0); - if ($278) { - $i$228 = $275; - } else { - break; - } - } - } - $279 = HEAP32[$209>>2]|0; - $280 = ($279|0)==(0|0); - if (!($280)) { - $281 = ((($f)) + 84|0); - $282 = HEAP32[$281>>2]|0; - $283 = ((($f)) + 92|0); - $284 = HEAP32[$283>>2]|0; - $285 = ($282|0)==($284|0); - if (!($285)) { - ___assert_fail((14854|0),(14642|0),2986,(15321|0)); - // unreachable; - } - } - $286 = HEAP16[$9>>1]|0; - $287 = ($286<<16>>16)==(0); - if (!($287)) { - $288 = $286&65535; - $289 = (((($8) + (($6*40)|0)|0)) + 4|0); - $290 = HEAP32[$289>>2]|0; - $291 = ($10|0)>(0); - $i$320$in = $288; - while(1) { - $i$320 = (($i$320$in) + -1)|0; - $296 = (($290) + (($i$320*3)|0)|0); - $297 = HEAP8[$296>>0]|0; - $298 = $297&255; - $299 = (((($f)) + 800|0) + ($298<<2)|0); - $300 = HEAP32[$299>>2]|0; - $301 = (((($290) + (($i$320*3)|0)|0)) + 1|0); - $302 = HEAP8[$301>>0]|0; - $303 = $302&255; - $304 = (((($f)) + 800|0) + ($303<<2)|0); - $305 = HEAP32[$304>>2]|0; - if ($291) { - $j$416 = 0; - while(1) { - $306 = (($300) + ($j$416<<2)|0); - $307 = +HEAPF32[$306>>2]; - $308 = $307 > 0.0; - $309 = (($305) + ($j$416<<2)|0); - $310 = +HEAPF32[$309>>2]; - $311 = $310 > 0.0; - do { - if ($308) { - if ($311) { - $312 = $307 - $310; - $a2$0 = $312;$m2$0 = $307; - break; - } else { - $313 = $307 + $310; - $a2$0 = $307;$m2$0 = $313; - break; - } - } else { - if ($311) { - $314 = $307 + $310; - $a2$0 = $314;$m2$0 = $307; - break; - } else { - $315 = $307 - $310; - $a2$0 = $307;$m2$0 = $315; - break; - } - } - } while(0); - HEAPF32[$306>>2] = $m2$0; - HEAPF32[$309>>2] = $a2$0; - $316 = (($j$416) + 1)|0; - $exitcond = ($316|0)==($10|0); - if ($exitcond) { - break; - } else { - $j$416 = $316; - } - } - } - $292 = ($i$320$in|0)>(1); - if ($292) { - $i$320$in = $i$320; - } else { - break; - } - } - } - $293 = HEAP32[$12>>2]|0; - $294 = ($293|0)>(0); - if ($294) { - $295 = $10 << 2; - $i$414 = 0; - while(1) { - $318 = (($really_zero_channel) + ($i$414<<2)|0); - $319 = HEAP32[$318>>2]|0; - $320 = ($319|0)==(0); - $321 = (((($f)) + 800|0) + ($i$414<<2)|0); - if ($320) { - $323 = HEAP32[$321>>2]|0; - $324 = (((($f)) + 996|0) + ($i$414<<2)|0); - $325 = HEAP32[$324>>2]|0; - _do_floor($f,$9,$i$414,$3,$323,$325); - } else { - $322 = HEAP32[$321>>2]|0; - _memset(($322|0),0,($295|0))|0; - } - $326 = (($i$414) + 1)|0; - $327 = HEAP32[$12>>2]|0; - $328 = ($326|0)<($327|0); - if ($328) { - $i$414 = $326; - } else { - $$lcssa = $327; - break; - } - } - $317 = ($$lcssa|0)>(0); - if ($317) { - $i$513 = 0; - while(1) { - $329 = (((($f)) + 800|0) + ($i$513<<2)|0); - $330 = HEAP32[$329>>2]|0; - $331 = HEAP8[$m>>0]|0; - $332 = $331&255; - _inverse_mdct($330,$3,$f,$332); - $333 = (($i$513) + 1)|0; - $334 = HEAP32[$12>>2]|0; - $335 = ($333|0)<($334|0); - if ($335) { - $i$513 = $333; - } else { - break; - } - } - } - } - _flush_packet($f); - $336 = ((($f)) + 1377|0); - $337 = HEAP8[$336>>0]|0; - $338 = ($337<<24>>24)==(0); - do { - if ($338) { - $343 = ((($f)) + 1412|0); - $344 = HEAP32[$343>>2]|0; - $345 = ($344|0)==(0); - if ($345) { - $$01 = $left_start; - } else { - $346 = (($right_start) - ($left_start))|0; - $347 = ($344|0)<($346|0); - if ($347) { - $349 = (($344) + ($left_start))|0; - HEAP32[$p_left>>2] = $349; - HEAP32[$343>>2] = 0; - $$01 = $349; - break; - } else { - $348 = (($344) - ($346))|0; - HEAP32[$343>>2] = $348; - HEAP32[$p_left>>2] = $right_start; - $$01 = $right_start; - break; - } - } - } else { - $339 = ((($f)) + 1060|0); - HEAP32[$339>>2] = $11; - $340 = (($3) - ($right_end))|0; - $341 = ((($f)) + 1412|0); - HEAP32[$341>>2] = $340; - $342 = ((($f)) + 1064|0); - HEAP32[$342>>2] = 1; - HEAP8[$336>>0] = 0; - $$01 = $left_start; - } - } while(0); - $350 = ((($f)) + 1388|0); - $351 = HEAP32[$350>>2]|0; - $352 = ((($f)) + 1404|0); - $353 = HEAP32[$352>>2]|0; - $354 = ($351|0)==($353|0); - if ($354) { - $355 = ((($f)) + 1064|0); - $356 = HEAP32[$355>>2]|0; - $357 = ($356|0)==(0); - if (!($357)) { - $358 = ((($f)) + 1375|0); - $359 = HEAP8[$358>>0]|0; - $360 = $359 & 4; - $361 = ($360<<24>>24)==(0); - if (!($361)) { - $362 = ((($f)) + 1408|0); - $363 = HEAP32[$362>>2]|0; - $364 = (($right_end) - ($3))|0; - $365 = (($363) + ($364))|0; - $366 = ((($f)) + 1060|0); - $367 = HEAP32[$366>>2]|0; - $368 = (($right_end) - ($$01))|0; - $369 = (($368) + ($367))|0; - $370 = ($365>>>0)<($369>>>0); - if ($370) { - $371 = ($365>>>0)<($367>>>0); - $372 = (($365) - ($367))|0; - $storemerge = $371 ? 0 : $372; - $373 = (($storemerge) + ($$01))|0; - $374 = ($373|0)>($right_end|0); - $right_end$ = $374 ? $right_end : $373; - HEAP32[$len>>2] = $right_end$; - $375 = HEAP32[$366>>2]|0; - $376 = (($375) + ($right_end$))|0; - HEAP32[$366>>2] = $376; - $$0 = 1; - STACKTOP = sp;return ($$0|0); - } - } - } - $377 = ((($f)) + 1408|0); - $378 = HEAP32[$377>>2]|0; - $379 = (($$01) - ($10))|0; - $380 = (($379) + ($378))|0; - $381 = ((($f)) + 1060|0); - HEAP32[$381>>2] = $380; - HEAP32[$355>>2] = 1; - } - $382 = ((($f)) + 1064|0); - $383 = HEAP32[$382>>2]|0; - $384 = ($383|0)==(0); - if (!($384)) { - $385 = (($right_start) - ($$01))|0; - $386 = ((($f)) + 1060|0); - $387 = HEAP32[$386>>2]|0; - $388 = (($385) + ($387))|0; - HEAP32[$386>>2] = $388; - } - $389 = HEAP32[$209>>2]|0; - $390 = ($389|0)==(0|0); - if (!($390)) { - $391 = ((($f)) + 84|0); - $392 = HEAP32[$391>>2]|0; - $393 = ((($f)) + 92|0); - $394 = HEAP32[$393>>2]|0; - $395 = ($392|0)==($394|0); - if (!($395)) { - ___assert_fail((14854|0),(14642|0),3102,(15321|0)); - // unreachable; - } - } - HEAP32[$len>>2] = $right_end; - $$0 = 1; - STACKTOP = sp;return ($$0|0); -} -function _prep_huffman($f) { - $f = $f|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; - var $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($f)) + 1396|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)<(25); - if (!($2)) { - return; - } - $3 = ($1|0)==(0); - if ($3) { - $4 = ((($f)) + 1392|0); - HEAP32[$4>>2] = 0; - } - $5 = ((($f)) + 1376|0); - $6 = ((($f)) + 1384|0); - $7 = ((($f)) + 1392|0); - while(1) { - $8 = HEAP32[$6>>2]|0; - $9 = ($8|0)==(0); - if (!($9)) { - $10 = HEAP8[$5>>0]|0; - $11 = ($10<<24>>24)==(0); - if ($11) { - label = 9; - break; - } - } - $12 = (_get8_packet_raw($f)|0); - $13 = ($12|0)==(-1); - if ($13) { - label = 9; - break; - } - $14 = HEAP32[$0>>2]|0; - $15 = $12 << $14; - $16 = HEAP32[$7>>2]|0; - $17 = (($16) + ($15))|0; - HEAP32[$7>>2] = $17; - $18 = HEAP32[$0>>2]|0; - $19 = (($18) + 8)|0; - HEAP32[$0>>2] = $19; - $20 = ($19|0)<(25); - if (!($20)) { - label = 9; - break; - } - } - if ((label|0) == 9) { - return; - } -} -function _codebook_decode_scalar_raw($f,$c) { - $f = $f|0; - $c = $c|0; - var $$ = 0, $$0 = 0, $$lcssa = 0, $$lcssa25 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0; - var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0; - var $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0; - var $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0; - var $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $9 = 0, $i$05 = 0, $i$05$lcssa = 0, $n$07 = 0, $x$0$ = 0, $x$0$lcssa = 0, $x$06 = 0, $x$1 = 0, label = 0, sp = 0; - sp = STACKTOP; - _prep_huffman($f); - $0 = ((($c)) + 32|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)==(0|0); - if ($2) { - $3 = ((($c)) + 2084|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)==(0|0); - if ($5) { - $$0 = -1; - return ($$0|0); - } - } - $6 = ((($c)) + 4|0); - $7 = HEAP32[$6>>2]|0; - $8 = ($7|0)>(8); - if ($8) { - $9 = ((($c)) + 2084|0); - $10 = HEAP32[$9>>2]|0; - $11 = ($10|0)==(0|0); - if (!($11)) { - label = 6; - } - } else { - $12 = HEAP32[$0>>2]|0; - $13 = ($12|0)==(0|0); - if ($13) { - label = 6; - } - } - if ((label|0) == 6) { - $14 = ((($f)) + 1392|0); - $15 = HEAP32[$14>>2]|0; - $16 = (_bit_reverse($15)|0); - $17 = ((($c)) + 2092|0); - $18 = HEAP32[$17>>2]|0; - $19 = ($18|0)>(1); - if ($19) { - $20 = ((($c)) + 2084|0); - $21 = HEAP32[$20>>2]|0; - $n$07 = $18;$x$06 = 0; - while(1) { - $22 = $n$07 >> 1; - $23 = (($22) + ($x$06))|0; - $24 = (($21) + ($23<<2)|0); - $25 = HEAP32[$24>>2]|0; - $26 = ($25>>>0)>($16>>>0); - $27 = (($n$07) - ($22))|0; - $x$0$ = $26 ? $x$06 : $23; - $$ = $26 ? $22 : $27; - $28 = ($$|0)>(1); - if ($28) { - $n$07 = $$;$x$06 = $x$0$; - } else { - $x$0$lcssa = $x$0$; - break; - } - } - } else { - $x$0$lcssa = 0; - } - $29 = ((($c)) + 23|0); - $30 = HEAP8[$29>>0]|0; - $31 = ($30<<24>>24)==(0); - if ($31) { - $32 = ((($c)) + 2088|0); - $33 = HEAP32[$32>>2]|0; - $34 = (($33) + ($x$0$lcssa<<2)|0); - $35 = HEAP32[$34>>2]|0; - $x$1 = $35; - } else { - $x$1 = $x$0$lcssa; - } - $36 = ((($c)) + 8|0); - $37 = HEAP32[$36>>2]|0; - $38 = (($37) + ($x$1)|0); - $39 = HEAP8[$38>>0]|0; - $40 = $39&255; - $41 = ((($f)) + 1396|0); - $42 = HEAP32[$41>>2]|0; - $43 = ($42|0)<($40|0); - if ($43) { - HEAP32[$41>>2] = 0; - $$0 = -1; - return ($$0|0); - } else { - $44 = HEAP32[$14>>2]|0; - $45 = $44 >>> $40; - HEAP32[$14>>2] = $45; - $46 = HEAP32[$41>>2]|0; - $47 = (($46) - ($40))|0; - HEAP32[$41>>2] = $47; - $$0 = $x$1; - return ($$0|0); - } - } - $48 = ((($c)) + 23|0); - $49 = HEAP8[$48>>0]|0; - $50 = ($49<<24>>24)==(0); - if (!($50)) { - ___assert_fail((15499|0),(14642|0),1248,(15510|0)); - // unreachable; - } - $51 = HEAP32[$6>>2]|0; - $52 = ($51|0)>(0); - L27: do { - if ($52) { - $53 = ((($c)) + 8|0); - $54 = HEAP32[$53>>2]|0; - $55 = ((($f)) + 1392|0); - $i$05 = 0; - while(1) { - $56 = (($54) + ($i$05)|0); - $57 = HEAP8[$56>>0]|0; - $58 = $57&255; - $59 = ($57<<24>>24)==(-1); - if (!($59)) { - $60 = HEAP32[$0>>2]|0; - $61 = (($60) + ($i$05<<2)|0); - $62 = HEAP32[$61>>2]|0; - $63 = HEAP32[$55>>2]|0; - $64 = 1 << $58; - $65 = (($64) + -1)|0; - $66 = $63 & $65; - $67 = ($62|0)==($66|0); - if ($67) { - $$lcssa = $58;$$lcssa25 = $63;$i$05$lcssa = $i$05; - break; - } - } - $78 = (($i$05) + 1)|0; - $79 = HEAP32[$6>>2]|0; - $80 = ($78|0)<($79|0); - if ($80) { - $i$05 = $78; - } else { - break L27; - } - } - $68 = ((($f)) + 1396|0); - $69 = HEAP32[$68>>2]|0; - $70 = ($69|0)<($$lcssa|0); - if ($70) { - HEAP32[$68>>2] = 0; - $$0 = -1; - return ($$0|0); - } else { - $71 = $$lcssa25 >>> $$lcssa; - HEAP32[$55>>2] = $71; - $72 = HEAP32[$53>>2]|0; - $73 = (($72) + ($i$05$lcssa)|0); - $74 = HEAP8[$73>>0]|0; - $75 = $74&255; - $76 = HEAP32[$68>>2]|0; - $77 = (($76) - ($75))|0; - HEAP32[$68>>2] = $77; - $$0 = $i$05$lcssa; - return ($$0|0); - } - } - } while(0); - _error($f,21); - $81 = ((($f)) + 1396|0); - HEAP32[$81>>2] = 0; - $$0 = -1; - return ($$0|0); -} -function _predict_point($x,$x0,$x1,$y0,$y1) { - $x = $x|0; - $x0 = $x0|0; - $x1 = $x1|0; - $y0 = $y0|0; - $y1 = $y1|0; - var $$p = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $ispos = 0, $neg = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (($y1) - ($y0))|0; - $1 = (($x1) - ($x0))|0; - $ispos = ($0|0)>(-1); - $neg = (0 - ($0))|0; - $2 = $ispos ? $0 : $neg; - $3 = (($x) - ($x0))|0; - $4 = Math_imul($2, $3)|0; - $5 = (($4|0) / ($1|0))&-1; - $6 = ($0|0)<(0); - $7 = (0 - ($5))|0; - $$p = $6 ? $7 : $5; - $8 = (($$p) + ($y0))|0; - return ($8|0); -} -function _decode_residue($f,$residue_buffers,$ch,$n,$rn,$do_not_decode) { - $f = $f|0; - $residue_buffers = $residue_buffers|0; - $ch = $ch|0; - $n = $n|0; - $rn = $rn|0; - $do_not_decode = $do_not_decode|0; - var $$ = 0, $$10 = 0, $$11 = 0, $$13 = 0, $$14 = 0, $$5 = 0, $$7 = 0, $$8 = 0, $$alloca_mul = 0, $$not = 0, $$not115 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0; - var $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0; - var $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0; - var $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0; - var $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0; - var $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0; - var $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0; - var $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0; - var $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0; - var $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0; - var $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0; - var $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0; - var $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0; - var $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0; - var $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0; - var $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0; - var $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0; - var $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0; - var $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $brmerge = 0, $c_inter = 0, $c_inter16 = 0, $c_inter6 = 0; - var $class_set$055 = 0, $class_set$147 = 0, $class_set$263 = 0, $class_set26$087 = 0, $exitcond = 0, $i$092 = 0, $i$152 = 0, $i$246 = 0, $i$360 = 0, $i$484 = 0, $j$0$lcssa = 0, $j$070 = 0, $j$175 = 0, $j$278 = 0, $or$cond = 0, $or$cond12 = 0, $or$cond1258 = 0, $or$cond15 = 0, $or$cond1581 = 0, $or$cond6 = 0; - var $or$cond650 = 0, $or$cond9 = 0, $or$cond944 = 0, $p_inter = 0, $p_inter17 = 0, $p_inter7 = 0, $pass$066 = 0, $pass$190 = 0, $pcount$056 = 0, $pcount$1$lcssa = 0, $pcount$151 = 0, $pcount$248 = 0, $pcount$3$lcssa = 0, $pcount$345 = 0, $pcount$464 = 0, $pcount$5$lcssa = 0, $pcount$559 = 0, $pcount25$086 = 0, $pcount25$1$lcssa = 0, $pcount25$182 = 0; - var $q$0 = 0, $q$1 = 0, $q19$0 = 0, $q19$1 = 0, $q9$0 = 0, $q9$1 = 0, $temp$0 = 0, $temp$1 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $c_inter = sp + 20|0; - $p_inter = sp + 16|0; - $c_inter6 = sp + 12|0; - $p_inter7 = sp + 8|0; - $c_inter16 = sp + 4|0; - $p_inter17 = sp; - $0 = ((($f)) + 396|0); - $1 = HEAP32[$0>>2]|0; - $2 = (((($f)) + 268|0) + ($rn<<1)|0); - $3 = HEAP16[$2>>1]|0; - $4 = $3&65535; - $5 = (((($1) + (($rn*24)|0)|0)) + 13|0); - $6 = HEAP8[$5>>0]|0; - $7 = $6&255; - $8 = ((($f)) + 124|0); - $9 = HEAP32[$8>>2]|0; - $10 = (($9) + (($7*2096)|0)|0); - $11 = HEAP32[$10>>2]|0; - $12 = (((($1) + (($rn*24)|0)|0)) + 4|0); - $13 = HEAP32[$12>>2]|0; - $14 = (($1) + (($rn*24)|0)|0); - $15 = HEAP32[$14>>2]|0; - $16 = (($13) - ($15))|0; - $17 = (((($1) + (($rn*24)|0)|0)) + 8|0); - $18 = HEAP32[$17>>2]|0; - $19 = (($16>>>0) / ($18>>>0))&-1; - $20 = ((($f)) + 92|0); - $21 = HEAP32[$20>>2]|0; - $22 = ((($f)) + 80|0); - $23 = HEAP32[$22>>2]|0; - $24 = ($23|0)==(0|0); - $25 = ((($f)) + 4|0); - $26 = HEAP32[$25>>2]|0; - $27 = $19 << 2; - $28 = (($27) + 4)|0; - $29 = Math_imul($26, $28)|0; - if ($24) { - $$alloca_mul = $29; - $31 = STACKTOP; STACKTOP = STACKTOP + ((((1*$$alloca_mul)|0)+15)&-16)|0;; - $33 = $31; - } else { - $30 = (_setup_temp_malloc($f,$29)|0); - $33 = $30; - } - $32 = HEAP32[$25>>2]|0; - $34 = (_make_block_array($33,$32,$27)|0); - $35 = ($ch|0)>(0); - if ($35) { - $36 = $n << 2; - $i$092 = 0; - while(1) { - $37 = (($do_not_decode) + ($i$092)|0); - $38 = HEAP8[$37>>0]|0; - $39 = ($38<<24>>24)==(0); - if ($39) { - $40 = (($residue_buffers) + ($i$092<<2)|0); - $41 = HEAP32[$40>>2]|0; - _memset(($41|0),0,($36|0))|0; - } - $42 = (($i$092) + 1)|0; - $exitcond = ($42|0)==($ch|0); - if ($exitcond) { - break; - } else { - $i$092 = $42; - } - } - } - $43 = ($3<<16>>16)==(2); - $44 = ($ch|0)!=(1); - $or$cond = $44 & $43; - if (!($or$cond)) { - $45 = ($19|0)>(0); - $46 = ($11|0)>(0); - $47 = ($ch|0)>(0); - $48 = (((($1) + (($rn*24)|0)|0)) + 20|0); - $49 = ((($f)) + 1396|0); - $50 = ((($f)) + 1392|0); - $51 = (((($1) + (($rn*24)|0)|0)) + 16|0); - $$not115 = ($ch|0)<(1); - $pass$190 = 0; - L15: while(1) { - if ($45) { - $$not = ($pass$190|0)!=(0); - $brmerge = $$not | $$not115; - $class_set26$087 = 0;$pcount25$086 = 0; - while(1) { - if (!($brmerge)) { - $j$175 = 0; - while(1) { - $289 = (($do_not_decode) + ($j$175)|0); - $290 = HEAP8[$289>>0]|0; - $291 = ($290<<24>>24)==(0); - if ($291) { - $292 = HEAP32[$8>>2]|0; - $293 = HEAP8[$5>>0]|0; - $294 = $293&255; - $295 = (($292) + (($294*2096)|0)|0); - $296 = HEAP32[$49>>2]|0; - $297 = ($296|0)<(10); - if ($297) { - _prep_huffman($f); - } - $298 = HEAP32[$50>>2]|0; - $299 = $298 & 1023; - $300 = ((((($292) + (($294*2096)|0)|0)) + 36|0) + ($299<<1)|0); - $301 = HEAP16[$300>>1]|0; - $302 = $301 << 16 >> 16; - $303 = ($301<<16>>16)>(-1); - if ($303) { - $304 = (((($292) + (($294*2096)|0)|0)) + 8|0); - $305 = HEAP32[$304>>2]|0; - $306 = (($305) + ($302)|0); - $307 = HEAP8[$306>>0]|0; - $308 = $307&255; - $309 = $298 >>> $308; - HEAP32[$50>>2] = $309; - $310 = HEAP32[$49>>2]|0; - $311 = (($310) - ($308))|0; - $312 = ($311|0)<(0); - $$13 = $312 ? 0 : $311; - HEAP32[$49>>2] = $$13; - $$14 = $312 ? -1 : $302; - $temp$0 = $$14; - } else { - $313 = (_codebook_decode_scalar_raw($f,$295)|0); - $temp$0 = $313; - } - $314 = (((($292) + (($294*2096)|0)|0)) + 23|0); - $315 = HEAP8[$314>>0]|0; - $316 = ($315<<24>>24)==(0); - if ($316) { - $temp$1 = $temp$0; - } else { - $317 = (((($292) + (($294*2096)|0)|0)) + 2088|0); - $318 = HEAP32[$317>>2]|0; - $319 = (($318) + ($temp$0<<2)|0); - $320 = HEAP32[$319>>2]|0; - $temp$1 = $320; - } - $321 = ($temp$1|0)==(-1); - if ($321) { - label = 95; - break L15; - } - $322 = HEAP32[$51>>2]|0; - $323 = (($322) + ($temp$1<<2)|0); - $324 = HEAP32[$323>>2]|0; - $325 = (($34) + ($j$175<<2)|0); - $326 = HEAP32[$325>>2]|0; - $327 = (($326) + ($class_set26$087<<2)|0); - HEAP32[$327>>2] = $324; - } - $328 = (($j$175) + 1)|0; - $329 = ($328|0)<($ch|0); - if ($329) { - $j$175 = $328; - } else { - break; - } - } - } - $288 = ($pcount25$086|0)<($19|0); - $or$cond1581 = $288 & $46; - if ($or$cond1581) { - $i$484 = 0;$pcount25$182 = $pcount25$086; - while(1) { - if ($47) { - $j$278 = 0; - while(1) { - $330 = (($do_not_decode) + ($j$278)|0); - $331 = HEAP8[$330>>0]|0; - $332 = ($331<<24>>24)==(0); - if ($332) { - $333 = (($34) + ($j$278<<2)|0); - $334 = HEAP32[$333>>2]|0; - $335 = (($334) + ($class_set26$087<<2)|0); - $336 = HEAP32[$335>>2]|0; - $337 = (($336) + ($i$484)|0); - $338 = HEAP8[$337>>0]|0; - $339 = $338&255; - $340 = HEAP32[$48>>2]|0; - $341 = ((($340) + ($339<<4)|0) + ($pass$190<<1)|0); - $342 = HEAP16[$341>>1]|0; - $343 = ($342<<16>>16)>(-1); - if ($343) { - $344 = $342 << 16 >> 16; - $345 = (($residue_buffers) + ($j$278<<2)|0); - $346 = HEAP32[$345>>2]|0; - $347 = HEAP32[$14>>2]|0; - $348 = HEAP32[$17>>2]|0; - $349 = Math_imul($348, $pcount25$182)|0; - $350 = (($349) + ($347))|0; - $351 = HEAP32[$8>>2]|0; - $352 = (($351) + (($344*2096)|0)|0); - $353 = (_residue_decode($f,$352,$346,$350,$348,$4)|0); - $354 = ($353|0)==(0); - if ($354) { - label = 95; - break L15; - } - } - } - $355 = (($j$278) + 1)|0; - $356 = ($355|0)<($ch|0); - if ($356) { - $j$278 = $355; - } else { - break; - } - } - } - $357 = (($i$484) + 1)|0; - $358 = (($pcount25$182) + 1)|0; - $359 = ($357|0)<($11|0); - $360 = ($358|0)<($19|0); - $or$cond15 = $360 & $359; - if ($or$cond15) { - $i$484 = $357;$pcount25$182 = $358; - } else { - $pcount25$1$lcssa = $358; - break; - } - } - } else { - $pcount25$1$lcssa = $pcount25$086; - } - $361 = (($class_set26$087) + 1)|0; - $362 = ($pcount25$1$lcssa|0)<($19|0); - if ($362) { - $class_set26$087 = $361;$pcount25$086 = $pcount25$1$lcssa; - } else { - break; - } - } - } - $363 = (($pass$190) + 1)|0; - $364 = ($363|0)<(8); - if ($364) { - $pass$190 = $363; - } else { - label = 95; - break; - } - } - if ((label|0) == 95) { - HEAP32[$20>>2] = $21; - STACKTOP = sp;return; - } - } - $52 = ($ch|0)>(0); - L57: do { - if ($52) { - $j$070 = 0; - while(1) { - $53 = (($do_not_decode) + ($j$070)|0); - $54 = HEAP8[$53>>0]|0; - $55 = ($54<<24>>24)==(0); - if ($55) { - $j$0$lcssa = $j$070; - break L57; - } - $56 = (($j$070) + 1)|0; - $57 = ($56|0)<($ch|0); - if ($57) { - $j$070 = $56; - } else { - $j$0$lcssa = $56; - break; - } - } - } else { - $j$0$lcssa = 0; - } - } while(0); - $58 = ($j$0$lcssa|0)==($ch|0); - if ($58) { - HEAP32[$20>>2] = $21; - STACKTOP = sp;return; - } - $59 = ($19|0)>(0); - $60 = ((($f)) + 1396|0); - $61 = ((($f)) + 1392|0); - $62 = (((($1) + (($rn*24)|0)|0)) + 16|0); - $63 = ($11|0)>(0); - $64 = (((($1) + (($rn*24)|0)|0)) + 20|0); - $65 = ($19|0)>(0); - $66 = ((($f)) + 1396|0); - $67 = ((($f)) + 1392|0); - $68 = (((($1) + (($rn*24)|0)|0)) + 16|0); - $69 = ($11|0)>(0); - $70 = (((($1) + (($rn*24)|0)|0)) + 20|0); - $71 = ($19|0)>(0); - $72 = ((($f)) + 1396|0); - $73 = ((($f)) + 1392|0); - $74 = (((($1) + (($rn*24)|0)|0)) + 16|0); - $75 = ($11|0)>(0); - $76 = (((($1) + (($rn*24)|0)|0)) + 20|0); - $pass$066 = 0; - L65: while(1) { - switch ($ch|0) { - case 2: { - if ($65) { - $78 = ($pass$066|0)==(0); - $class_set$055 = 0;$pcount$056 = 0; - while(1) { - $80 = HEAP32[$14>>2]|0; - $81 = HEAP32[$17>>2]|0; - $82 = Math_imul($81, $pcount$056)|0; - $83 = (($82) + ($80))|0; - $84 = $83 & 1; - HEAP32[$c_inter>>2] = $84; - $85 = $83 >> 1; - HEAP32[$p_inter>>2] = $85; - if ($78) { - $86 = HEAP32[$8>>2]|0; - $87 = HEAP8[$5>>0]|0; - $88 = $87&255; - $89 = (($86) + (($88*2096)|0)|0); - $90 = HEAP32[$66>>2]|0; - $91 = ($90|0)<(10); - if ($91) { - _prep_huffman($f); - } - $92 = HEAP32[$67>>2]|0; - $93 = $92 & 1023; - $94 = ((((($86) + (($88*2096)|0)|0)) + 36|0) + ($93<<1)|0); - $95 = HEAP16[$94>>1]|0; - $96 = $95 << 16 >> 16; - $97 = ($95<<16>>16)>(-1); - if ($97) { - $98 = (((($86) + (($88*2096)|0)|0)) + 8|0); - $99 = HEAP32[$98>>2]|0; - $100 = (($99) + ($96)|0); - $101 = HEAP8[$100>>0]|0; - $102 = $101&255; - $103 = $92 >>> $102; - HEAP32[$67>>2] = $103; - $104 = HEAP32[$66>>2]|0; - $105 = (($104) - ($102))|0; - $106 = ($105|0)<(0); - $$ = $106 ? 0 : $105; - HEAP32[$66>>2] = $$; - $$5 = $106 ? -1 : $96; - $q$0 = $$5; - } else { - $107 = (_codebook_decode_scalar_raw($f,$89)|0); - $q$0 = $107; - } - $108 = (((($86) + (($88*2096)|0)|0)) + 23|0); - $109 = HEAP8[$108>>0]|0; - $110 = ($109<<24>>24)==(0); - if ($110) { - $q$1 = $q$0; - } else { - $111 = (((($86) + (($88*2096)|0)|0)) + 2088|0); - $112 = HEAP32[$111>>2]|0; - $113 = (($112) + ($q$0<<2)|0); - $114 = HEAP32[$113>>2]|0; - $q$1 = $114; - } - $115 = ($q$1|0)==(-1); - if ($115) { - label = 95; - break L65; - } - $116 = HEAP32[$68>>2]|0; - $117 = (($116) + ($q$1<<2)|0); - $118 = HEAP32[$117>>2]|0; - $119 = HEAP32[$34>>2]|0; - $120 = (($119) + ($class_set$055<<2)|0); - HEAP32[$120>>2] = $118; - } - $121 = ($pcount$056|0)<($19|0); - $or$cond650 = $121 & $69; - if ($or$cond650) { - $i$152 = 0;$pcount$151 = $pcount$056; - while(1) { - $122 = HEAP32[$17>>2]|0; - $123 = HEAP32[$34>>2]|0; - $124 = (($123) + ($class_set$055<<2)|0); - $125 = HEAP32[$124>>2]|0; - $126 = (($125) + ($i$152)|0); - $127 = HEAP8[$126>>0]|0; - $128 = $127&255; - $129 = HEAP32[$70>>2]|0; - $130 = ((($129) + ($128<<4)|0) + ($pass$066<<1)|0); - $131 = HEAP16[$130>>1]|0; - $132 = ($131<<16>>16)>(-1); - if ($132) { - $133 = $131 << 16 >> 16; - $134 = HEAP32[$8>>2]|0; - $135 = (($134) + (($133*2096)|0)|0); - $136 = (_codebook_decode_deinterleave_repeat($f,$135,$residue_buffers,$ch,$c_inter,$p_inter,$n,$122)|0); - $137 = ($136|0)==(0); - if ($137) { - label = 95; - break L65; - } - } else { - $138 = HEAP32[$14>>2]|0; - $139 = Math_imul($122, $pcount$151)|0; - $140 = (($139) + ($122))|0; - $141 = (($140) + ($138))|0; - $142 = $141 & 1; - HEAP32[$c_inter>>2] = $142; - $143 = $141 >> 1; - HEAP32[$p_inter>>2] = $143; - } - $144 = (($i$152) + 1)|0; - $145 = (($pcount$151) + 1)|0; - $146 = ($144|0)<($11|0); - $147 = ($145|0)<($19|0); - $or$cond6 = $147 & $146; - if ($or$cond6) { - $i$152 = $144;$pcount$151 = $145; - } else { - $pcount$1$lcssa = $145; - break; - } - } - } else { - $pcount$1$lcssa = $pcount$056; - } - $148 = (($class_set$055) + 1)|0; - $149 = ($pcount$1$lcssa|0)<($19|0); - if ($149) { - $class_set$055 = $148;$pcount$056 = $pcount$1$lcssa; - } else { - break; - } - } - } - break; - } - case 1: { - if ($71) { - $77 = ($pass$066|0)==(0); - $class_set$147 = 0;$pcount$248 = 0; - while(1) { - $150 = HEAP32[$14>>2]|0; - $151 = HEAP32[$17>>2]|0; - $152 = Math_imul($151, $pcount$248)|0; - $153 = (($152) + ($150))|0; - HEAP32[$c_inter6>>2] = 0; - HEAP32[$p_inter7>>2] = $153; - if ($77) { - $154 = HEAP32[$8>>2]|0; - $155 = HEAP8[$5>>0]|0; - $156 = $155&255; - $157 = (($154) + (($156*2096)|0)|0); - $158 = HEAP32[$72>>2]|0; - $159 = ($158|0)<(10); - if ($159) { - _prep_huffman($f); - } - $160 = HEAP32[$73>>2]|0; - $161 = $160 & 1023; - $162 = ((((($154) + (($156*2096)|0)|0)) + 36|0) + ($161<<1)|0); - $163 = HEAP16[$162>>1]|0; - $164 = $163 << 16 >> 16; - $165 = ($163<<16>>16)>(-1); - if ($165) { - $166 = (((($154) + (($156*2096)|0)|0)) + 8|0); - $167 = HEAP32[$166>>2]|0; - $168 = (($167) + ($164)|0); - $169 = HEAP8[$168>>0]|0; - $170 = $169&255; - $171 = $160 >>> $170; - HEAP32[$73>>2] = $171; - $172 = HEAP32[$72>>2]|0; - $173 = (($172) - ($170))|0; - $174 = ($173|0)<(0); - $$7 = $174 ? 0 : $173; - HEAP32[$72>>2] = $$7; - $$8 = $174 ? -1 : $164; - $q9$0 = $$8; - } else { - $175 = (_codebook_decode_scalar_raw($f,$157)|0); - $q9$0 = $175; - } - $176 = (((($154) + (($156*2096)|0)|0)) + 23|0); - $177 = HEAP8[$176>>0]|0; - $178 = ($177<<24>>24)==(0); - if ($178) { - $q9$1 = $q9$0; - } else { - $179 = (((($154) + (($156*2096)|0)|0)) + 2088|0); - $180 = HEAP32[$179>>2]|0; - $181 = (($180) + ($q9$0<<2)|0); - $182 = HEAP32[$181>>2]|0; - $q9$1 = $182; - } - $183 = ($q9$1|0)==(-1); - if ($183) { - label = 95; - break L65; - } - $184 = HEAP32[$74>>2]|0; - $185 = (($184) + ($q9$1<<2)|0); - $186 = HEAP32[$185>>2]|0; - $187 = HEAP32[$34>>2]|0; - $188 = (($187) + ($class_set$147<<2)|0); - HEAP32[$188>>2] = $186; - } - $189 = ($pcount$248|0)<($19|0); - $or$cond944 = $189 & $75; - if ($or$cond944) { - $i$246 = 0;$pcount$345 = $pcount$248; - while(1) { - $190 = HEAP32[$17>>2]|0; - $191 = HEAP32[$34>>2]|0; - $192 = (($191) + ($class_set$147<<2)|0); - $193 = HEAP32[$192>>2]|0; - $194 = (($193) + ($i$246)|0); - $195 = HEAP8[$194>>0]|0; - $196 = $195&255; - $197 = HEAP32[$76>>2]|0; - $198 = ((($197) + ($196<<4)|0) + ($pass$066<<1)|0); - $199 = HEAP16[$198>>1]|0; - $200 = ($199<<16>>16)>(-1); - if ($200) { - $201 = $199 << 16 >> 16; - $202 = HEAP32[$8>>2]|0; - $203 = (($202) + (($201*2096)|0)|0); - $204 = (_codebook_decode_deinterleave_repeat($f,$203,$residue_buffers,$ch,$c_inter6,$p_inter7,$n,$190)|0); - $205 = ($204|0)==(0); - if ($205) { - label = 95; - break L65; - } - } else { - $206 = HEAP32[$14>>2]|0; - $207 = Math_imul($190, $pcount$345)|0; - $208 = (($207) + ($190))|0; - $209 = (($208) + ($206))|0; - HEAP32[$c_inter6>>2] = 0; - HEAP32[$p_inter7>>2] = $209; - } - $210 = (($i$246) + 1)|0; - $211 = (($pcount$345) + 1)|0; - $212 = ($210|0)<($11|0); - $213 = ($211|0)<($19|0); - $or$cond9 = $213 & $212; - if ($or$cond9) { - $i$246 = $210;$pcount$345 = $211; - } else { - $pcount$3$lcssa = $211; - break; - } - } - } else { - $pcount$3$lcssa = $pcount$248; - } - $214 = (($class_set$147) + 1)|0; - $215 = ($pcount$3$lcssa|0)<($19|0); - if ($215) { - $class_set$147 = $214;$pcount$248 = $pcount$3$lcssa; - } else { - break; - } - } - } - break; - } - default: { - if ($59) { - $79 = ($pass$066|0)==(0); - $class_set$263 = 0;$pcount$464 = 0; - while(1) { - $216 = HEAP32[$14>>2]|0; - $217 = HEAP32[$17>>2]|0; - $218 = Math_imul($217, $pcount$464)|0; - $219 = (($218) + ($216))|0; - $220 = (($219|0) % ($ch|0))&-1; - HEAP32[$c_inter16>>2] = $220; - $221 = (($219|0) / ($ch|0))&-1; - HEAP32[$p_inter17>>2] = $221; - if ($79) { - $222 = HEAP32[$8>>2]|0; - $223 = HEAP8[$5>>0]|0; - $224 = $223&255; - $225 = (($222) + (($224*2096)|0)|0); - $226 = HEAP32[$60>>2]|0; - $227 = ($226|0)<(10); - if ($227) { - _prep_huffman($f); - } - $228 = HEAP32[$61>>2]|0; - $229 = $228 & 1023; - $230 = ((((($222) + (($224*2096)|0)|0)) + 36|0) + ($229<<1)|0); - $231 = HEAP16[$230>>1]|0; - $232 = $231 << 16 >> 16; - $233 = ($231<<16>>16)>(-1); - if ($233) { - $234 = (((($222) + (($224*2096)|0)|0)) + 8|0); - $235 = HEAP32[$234>>2]|0; - $236 = (($235) + ($232)|0); - $237 = HEAP8[$236>>0]|0; - $238 = $237&255; - $239 = $228 >>> $238; - HEAP32[$61>>2] = $239; - $240 = HEAP32[$60>>2]|0; - $241 = (($240) - ($238))|0; - $242 = ($241|0)<(0); - $$10 = $242 ? 0 : $241; - HEAP32[$60>>2] = $$10; - $$11 = $242 ? -1 : $232; - $q19$0 = $$11; - } else { - $243 = (_codebook_decode_scalar_raw($f,$225)|0); - $q19$0 = $243; - } - $244 = (((($222) + (($224*2096)|0)|0)) + 23|0); - $245 = HEAP8[$244>>0]|0; - $246 = ($245<<24>>24)==(0); - if ($246) { - $q19$1 = $q19$0; - } else { - $247 = (((($222) + (($224*2096)|0)|0)) + 2088|0); - $248 = HEAP32[$247>>2]|0; - $249 = (($248) + ($q19$0<<2)|0); - $250 = HEAP32[$249>>2]|0; - $q19$1 = $250; - } - $251 = ($q19$1|0)==(-1); - if ($251) { - label = 95; - break L65; - } - $252 = HEAP32[$62>>2]|0; - $253 = (($252) + ($q19$1<<2)|0); - $254 = HEAP32[$253>>2]|0; - $255 = HEAP32[$34>>2]|0; - $256 = (($255) + ($class_set$263<<2)|0); - HEAP32[$256>>2] = $254; - } - $257 = ($pcount$464|0)<($19|0); - $or$cond1258 = $257 & $63; - if ($or$cond1258) { - $i$360 = 0;$pcount$559 = $pcount$464; - while(1) { - $258 = HEAP32[$17>>2]|0; - $259 = HEAP32[$34>>2]|0; - $260 = (($259) + ($class_set$263<<2)|0); - $261 = HEAP32[$260>>2]|0; - $262 = (($261) + ($i$360)|0); - $263 = HEAP8[$262>>0]|0; - $264 = $263&255; - $265 = HEAP32[$64>>2]|0; - $266 = ((($265) + ($264<<4)|0) + ($pass$066<<1)|0); - $267 = HEAP16[$266>>1]|0; - $268 = ($267<<16>>16)>(-1); - if ($268) { - $269 = $267 << 16 >> 16; - $270 = HEAP32[$8>>2]|0; - $271 = (($270) + (($269*2096)|0)|0); - $272 = (_codebook_decode_deinterleave_repeat($f,$271,$residue_buffers,$ch,$c_inter16,$p_inter17,$n,$258)|0); - $273 = ($272|0)==(0); - if ($273) { - label = 95; - break L65; - } - } else { - $274 = HEAP32[$14>>2]|0; - $275 = Math_imul($258, $pcount$559)|0; - $276 = (($275) + ($258))|0; - $277 = (($276) + ($274))|0; - $278 = (($277|0) % ($ch|0))&-1; - HEAP32[$c_inter16>>2] = $278; - $279 = (($277|0) / ($ch|0))&-1; - HEAP32[$p_inter17>>2] = $279; - } - $280 = (($i$360) + 1)|0; - $281 = (($pcount$559) + 1)|0; - $282 = ($280|0)<($11|0); - $283 = ($281|0)<($19|0); - $or$cond12 = $283 & $282; - if ($or$cond12) { - $i$360 = $280;$pcount$559 = $281; - } else { - $pcount$5$lcssa = $281; - break; - } - } - } else { - $pcount$5$lcssa = $pcount$464; - } - $284 = (($class_set$263) + 1)|0; - $285 = ($pcount$5$lcssa|0)<($19|0); - if ($285) { - $class_set$263 = $284;$pcount$464 = $pcount$5$lcssa; - } else { - break; - } - } - } - } - } - $286 = (($pass$066) + 1)|0; - $287 = ($286|0)<(8); - if ($287) { - $pass$066 = $286; - } else { - label = 95; - break; - } - } - if ((label|0) == 95) { - HEAP32[$20>>2] = $21; - STACKTOP = sp;return; - } -} -function _do_floor($f,$map,$i,$n,$target,$finalY) { - $f = $f|0; - $map = $map|0; - $i = $i|0; - $n = $n|0; - $target = $target|0; - $finalY = $finalY|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0.0, $43 = 0, $44 = 0.0; - var $45 = 0.0, $46 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $j$01 = 0, $lx$0$lcssa = 0, $lx$03 = 0, $lx$1 = 0, $ly$0$lcssa = 0, $ly$04 = 0, $ly$1 = 0, $q$02 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = $n >> 1; - $1 = ((($map)) + 4|0); - $2 = HEAP32[$1>>2]|0; - $3 = (((($2) + (($i*3)|0)|0)) + 2|0); - $4 = HEAP8[$3>>0]|0; - $5 = $4&255; - $6 = (((($map)) + 9|0) + ($5)|0); - $7 = HEAP8[$6>>0]|0; - $8 = $7&255; - $9 = (((($f)) + 132|0) + ($8<<1)|0); - $10 = HEAP16[$9>>1]|0; - $11 = ($10<<16>>16)==(0); - if ($11) { - _error($f,21); - return; - } - $12 = ((($f)) + 260|0); - $13 = HEAP32[$12>>2]|0; - $14 = HEAP16[$finalY>>1]|0; - $15 = $14 << 16 >> 16; - $16 = (((($13) + (($8*1596)|0)|0)) + 1588|0); - $17 = HEAP8[$16>>0]|0; - $18 = $17&255; - $19 = Math_imul($18, $15)|0; - $20 = (((($13) + (($8*1596)|0)|0)) + 1592|0); - $21 = HEAP32[$20>>2]|0; - $22 = ($21|0)>(1); - if ($22) { - $lx$03 = 0;$ly$04 = $19;$q$02 = 1; - while(1) { - $23 = ((((($13) + (($8*1596)|0)|0)) + 838|0) + ($q$02)|0); - $24 = HEAP8[$23>>0]|0; - $25 = $24&255; - $26 = (($finalY) + ($25<<1)|0); - $27 = HEAP16[$26>>1]|0; - $28 = ($27<<16>>16)>(-1); - if ($28) { - $29 = $27 << 16 >> 16; - $30 = HEAP8[$16>>0]|0; - $31 = $30&255; - $32 = Math_imul($31, $29)|0; - $33 = ((((($13) + (($8*1596)|0)|0)) + 338|0) + ($25<<1)|0); - $34 = HEAP16[$33>>1]|0; - $35 = $34&65535; - $36 = ($lx$03|0)==($35|0); - if ($36) { - $lx$1 = $35;$ly$1 = $32; - } else { - _draw_line($target,$lx$03,$ly$04,$35,$32,$0); - $lx$1 = $35;$ly$1 = $32; - } - } else { - $lx$1 = $lx$03;$ly$1 = $ly$04; - } - $37 = (($q$02) + 1)|0; - $38 = HEAP32[$20>>2]|0; - $39 = ($37|0)<($38|0); - if ($39) { - $lx$03 = $lx$1;$ly$04 = $ly$1;$q$02 = $37; - } else { - $lx$0$lcssa = $lx$1;$ly$0$lcssa = $ly$1; - break; - } - } - } else { - $lx$0$lcssa = 0;$ly$0$lcssa = $19; - } - $40 = ($lx$0$lcssa|0)<($0|0); - if (!($40)) { - return; - } - $41 = (6844 + ($ly$0$lcssa<<2)|0); - $42 = +HEAPF32[$41>>2]; - $j$01 = $lx$0$lcssa; - while(1) { - $43 = (($target) + ($j$01<<2)|0); - $44 = +HEAPF32[$43>>2]; - $45 = $42 * $44; - HEAPF32[$43>>2] = $45; - $46 = (($j$01) + 1)|0; - $exitcond = ($46|0)==($0|0); - if ($exitcond) { - break; - } else { - $j$01 = $46; - } - } - return; -} -function _inverse_mdct($buffer,$n,$f,$blocktype) { - $buffer = $buffer|0; - $n = $n|0; - $f = $f|0; - $blocktype = $blocktype|0; - var $$alloca_mul = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0.0, $101 = 0.0, $102 = 0, $103 = 0.0, $104 = 0, $105 = 0.0, $106 = 0.0, $107 = 0, $108 = 0.0, $109 = 0, $11 = 0, $110 = 0.0, $111 = 0.0, $112 = 0.0, $113 = 0, $114 = 0.0; - var $115 = 0.0, $116 = 0.0, $117 = 0, $118 = 0.0, $119 = 0.0, $12 = 0, $120 = 0, $121 = 0.0, $122 = 0.0, $123 = 0.0, $124 = 0, $125 = 0.0, $126 = 0.0, $127 = 0.0, $128 = 0.0, $129 = 0.0, $13 = 0, $130 = 0, $131 = 0, $132 = 0; - var $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0; - var $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0; - var $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0; - var $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0; - var $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0; - var $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0.0, $234 = 0, $235 = 0.0, $236 = 0.0, $237 = 0, $238 = 0.0, $239 = 0, $24 = 0, $240 = 0.0; - var $241 = 0.0, $242 = 0, $243 = 0.0, $244 = 0.0, $245 = 0.0, $246 = 0.0, $247 = 0.0, $248 = 0.0, $249 = 0.0, $25 = 0.0, $250 = 0.0, $251 = 0.0, $252 = 0.0, $253 = 0.0, $254 = 0.0, $255 = 0.0, $256 = 0.0, $257 = 0, $258 = 0.0, $259 = 0.0; - var $26 = 0.0, $260 = 0.0, $261 = 0, $262 = 0.0, $263 = 0, $264 = 0.0, $265 = 0.0, $266 = 0, $267 = 0.0, $268 = 0.0, $269 = 0, $27 = 0.0, $270 = 0.0, $271 = 0.0, $272 = 0.0, $273 = 0.0, $274 = 0.0, $275 = 0.0, $276 = 0.0, $277 = 0.0; - var $278 = 0.0, $279 = 0.0, $28 = 0, $280 = 0.0, $281 = 0.0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0.0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0.0; - var $296 = 0, $297 = 0.0, $298 = 0.0, $299 = 0, $3 = 0, $30 = 0, $300 = 0.0, $301 = 0, $302 = 0.0, $303 = 0.0, $304 = 0.0, $305 = 0.0, $306 = 0.0, $307 = 0.0, $308 = 0.0, $309 = 0.0, $31 = 0.0, $310 = 0, $311 = 0, $312 = 0; - var $313 = 0.0, $314 = 0, $315 = 0.0, $316 = 0.0, $317 = 0, $318 = 0.0, $319 = 0, $32 = 0.0, $320 = 0.0, $321 = 0.0, $322 = 0.0, $323 = 0.0, $324 = 0.0, $325 = 0.0, $326 = 0.0, $327 = 0, $328 = 0.0, $329 = 0, $33 = 0.0, $330 = 0; - var $331 = 0, $332 = 0, $333 = 0.0, $334 = 0, $335 = 0.0, $336 = 0.0, $337 = 0, $338 = 0.0, $339 = 0, $34 = 0, $340 = 0.0, $341 = 0.0, $342 = 0.0, $343 = 0.0, $344 = 0.0, $345 = 0.0, $346 = 0.0, $347 = 0, $348 = 0.0, $349 = 0; - var $35 = 0.0, $350 = 0, $351 = 0, $352 = 0.0, $353 = 0, $354 = 0.0, $355 = 0.0, $356 = 0, $357 = 0.0, $358 = 0.0, $359 = 0.0, $36 = 0.0, $360 = 0.0, $361 = 0.0, $362 = 0.0, $363 = 0.0, $364 = 0.0, $365 = 0, $366 = 0.0, $367 = 0; - var $368 = 0, $369 = 0, $37 = 0.0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $38 = 0.0, $39 = 0.0, $4 = 0, $40 = 0.0, $41 = 0.0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0; - var $49 = 0, $5 = 0, $50 = 0.0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0, $59 = 0.0, $6 = 0, $60 = 0.0, $61 = 0.0, $62 = 0.0, $63 = 0.0, $64 = 0.0, $65 = 0.0, $66 = 0.0; - var $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0.0, $78 = 0, $79 = 0.0, $8 = 0, $80 = 0.0, $81 = 0.0, $82 = 0.0, $83 = 0.0, $84 = 0.0; - var $85 = 0, $86 = 0.0, $87 = 0.0, $88 = 0.0, $89 = 0, $9 = 0, $90 = 0.0, $91 = 0.0, $92 = 0, $93 = 0.0, $94 = 0.0, $95 = 0.0, $96 = 0, $97 = 0.0, $98 = 0.0, $99 = 0.0, $A0$024 = 0, $AA$0$lcssa = 0, $AA$050 = 0, $AA$144 = 0; - var $AA1$040 = 0, $B$08 = 0, $C$010 = 0, $bitrev$016 = 0, $d$0$lcssa = 0, $d$052 = 0, $d$146 = 0, $d0$039 = 0, $d05$017 = 0, $d09$04 = 0, $d1$038 = 0, $d110$05 = 0, $d16$018 = 0, $d2$06 = 0, $d3$07 = 0, $d7$011 = 0, $e$051 = 0, $e$145 = 0, $e0$037 = 0, $e1$036 = 0; - var $e11$09 = 0, $e8$012 = 0, $exitcond = 0, $exitcond60 = 0, $i$030 = 0, $i_off$023 = 0, $l$0$lcssa = 0, $l$033 = 0, $l$127 = 0, $r$022 = 0, $scevgep = 0, $scevgep61 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = $n >> 1; - $1 = $n >> 2; - $2 = $n >> 3; - $3 = ((($f)) + 92|0); - $4 = HEAP32[$3>>2]|0; - $5 = ((($f)) + 80|0); - $6 = HEAP32[$5>>2]|0; - $7 = ($6|0)==(0|0); - $8 = $0 << 2; - if ($7) { - $$alloca_mul = $8; - $10 = STACKTOP; STACKTOP = STACKTOP + ((((1*$$alloca_mul)|0)+15)&-16)|0;; - $15 = $10; - } else { - $9 = (_setup_temp_malloc($f,$8)|0); - $15 = $9; - } - $11 = (((($f)) + 1068|0) + ($blocktype<<2)|0); - $12 = HEAP32[$11>>2]|0; - $13 = (($0) + -2)|0; - $14 = (($15) + ($13<<2)|0); - $16 = (($buffer) + ($0<<2)|0); - $17 = ($0|0)==(0); - if ($17) { - $AA$0$lcssa = $12;$d$0$lcssa = $14; - } else { - $18 = $0 << 2; - $19 = (($18) + -16)|0; - $20 = $19 >>> 4; - $21 = $20 << 1; - $22 = (($21) + 2)|0; - $23 = $20 << 3; - $24 = (($19) - ($23))|0; - $scevgep61 = (($15) + ($24)|0); - $AA$050 = $12;$d$052 = $14;$e$051 = $buffer; - while(1) { - $25 = +HEAPF32[$e$051>>2]; - $26 = +HEAPF32[$AA$050>>2]; - $27 = $25 * $26; - $28 = ((($e$051)) + 8|0); - $29 = +HEAPF32[$28>>2]; - $30 = ((($AA$050)) + 4|0); - $31 = +HEAPF32[$30>>2]; - $32 = $29 * $31; - $33 = $27 - $32; - $34 = ((($d$052)) + 4|0); - HEAPF32[$34>>2] = $33; - $35 = +HEAPF32[$e$051>>2]; - $36 = +HEAPF32[$30>>2]; - $37 = $35 * $36; - $38 = +HEAPF32[$28>>2]; - $39 = +HEAPF32[$AA$050>>2]; - $40 = $38 * $39; - $41 = $37 + $40; - HEAPF32[$d$052>>2] = $41; - $42 = ((($d$052)) + -8|0); - $43 = ((($AA$050)) + 8|0); - $44 = ((($e$051)) + 16|0); - $45 = ($44|0)==($16|0); - if ($45) { - break; - } else { - $AA$050 = $43;$d$052 = $42;$e$051 = $44; - } - } - $scevgep = (($12) + ($22<<2)|0); - $AA$0$lcssa = $scevgep;$d$0$lcssa = $scevgep61; - } - $46 = ($d$0$lcssa>>>0)<($15>>>0); - if (!($46)) { - $47 = (($0) + -3)|0; - $48 = (($buffer) + ($47<<2)|0); - $AA$144 = $AA$0$lcssa;$d$146 = $d$0$lcssa;$e$145 = $48; - while(1) { - $49 = ((($e$145)) + 8|0); - $50 = +HEAPF32[$49>>2]; - $51 = +HEAPF32[$AA$144>>2]; - $52 = $50 * $51; - $53 = +HEAPF32[$e$145>>2]; - $54 = ((($AA$144)) + 4|0); - $55 = +HEAPF32[$54>>2]; - $56 = $53 * $55; - $57 = $56 - $52; - $58 = ((($d$146)) + 4|0); - HEAPF32[$58>>2] = $57; - $59 = +HEAPF32[$49>>2]; - $60 = +HEAPF32[$54>>2]; - $61 = $59 * $60; - $62 = +HEAPF32[$e$145>>2]; - $63 = +HEAPF32[$AA$144>>2]; - $64 = $62 * $63; - $65 = -$64; - $66 = $65 - $61; - HEAPF32[$d$146>>2] = $66; - $67 = ((($d$146)) + -8|0); - $68 = ((($AA$144)) + 8|0); - $69 = ((($e$145)) + -16|0); - $70 = ($67>>>0)<($15>>>0); - if ($70) { - break; - } else { - $AA$144 = $68;$d$146 = $67;$e$145 = $69; - } - } - } - $71 = (($0) + -8)|0; - $72 = ($0|0)<(8); - if (!($72)) { - $73 = (($12) + ($71<<2)|0); - $74 = (($buffer) + ($1<<2)|0); - $75 = (($15) + ($1<<2)|0); - $AA1$040 = $73;$d0$039 = $74;$d1$038 = $buffer;$e0$037 = $75;$e1$036 = $15; - while(1) { - $76 = ((($e0$037)) + 4|0); - $77 = +HEAPF32[$76>>2]; - $78 = ((($e1$036)) + 4|0); - $79 = +HEAPF32[$78>>2]; - $80 = $77 - $79; - $81 = +HEAPF32[$e0$037>>2]; - $82 = +HEAPF32[$e1$036>>2]; - $83 = $81 - $82; - $84 = $77 + $79; - $85 = ((($d0$039)) + 4|0); - HEAPF32[$85>>2] = $84; - $86 = +HEAPF32[$e0$037>>2]; - $87 = +HEAPF32[$e1$036>>2]; - $88 = $86 + $87; - HEAPF32[$d0$039>>2] = $88; - $89 = ((($AA1$040)) + 16|0); - $90 = +HEAPF32[$89>>2]; - $91 = $80 * $90; - $92 = ((($AA1$040)) + 20|0); - $93 = +HEAPF32[$92>>2]; - $94 = $83 * $93; - $95 = $91 - $94; - $96 = ((($d1$038)) + 4|0); - HEAPF32[$96>>2] = $95; - $97 = +HEAPF32[$89>>2]; - $98 = $83 * $97; - $99 = +HEAPF32[$92>>2]; - $100 = $80 * $99; - $101 = $98 + $100; - HEAPF32[$d1$038>>2] = $101; - $102 = ((($e0$037)) + 12|0); - $103 = +HEAPF32[$102>>2]; - $104 = ((($e1$036)) + 12|0); - $105 = +HEAPF32[$104>>2]; - $106 = $103 - $105; - $107 = ((($e0$037)) + 8|0); - $108 = +HEAPF32[$107>>2]; - $109 = ((($e1$036)) + 8|0); - $110 = +HEAPF32[$109>>2]; - $111 = $108 - $110; - $112 = $103 + $105; - $113 = ((($d0$039)) + 12|0); - HEAPF32[$113>>2] = $112; - $114 = +HEAPF32[$107>>2]; - $115 = +HEAPF32[$109>>2]; - $116 = $114 + $115; - $117 = ((($d0$039)) + 8|0); - HEAPF32[$117>>2] = $116; - $118 = +HEAPF32[$AA1$040>>2]; - $119 = $106 * $118; - $120 = ((($AA1$040)) + 4|0); - $121 = +HEAPF32[$120>>2]; - $122 = $111 * $121; - $123 = $119 - $122; - $124 = ((($d1$038)) + 12|0); - HEAPF32[$124>>2] = $123; - $125 = +HEAPF32[$AA1$040>>2]; - $126 = $111 * $125; - $127 = +HEAPF32[$120>>2]; - $128 = $106 * $127; - $129 = $126 + $128; - $130 = ((($d1$038)) + 8|0); - HEAPF32[$130>>2] = $129; - $131 = ((($AA1$040)) + -32|0); - $132 = ((($d0$039)) + 16|0); - $133 = ((($d1$038)) + 16|0); - $134 = ((($e0$037)) + 16|0); - $135 = ((($e1$036)) + 16|0); - $136 = ($131>>>0)<($12>>>0); - if ($136) { - break; - } else { - $AA1$040 = $131;$d0$039 = $132;$d1$038 = $133;$e0$037 = $134;$e1$036 = $135; - } - } - } - $137 = (_ilog($n)|0); - $138 = $n >> 4; - $139 = (($0) + -1)|0; - $140 = (0 - ($2))|0; - _imdct_step3_iter0_loop($138,$buffer,$139,$140,$12); - $141 = (($139) - ($1))|0; - _imdct_step3_iter0_loop($138,$buffer,$141,$140,$12); - $142 = $n >> 5; - $143 = (0 - ($138))|0; - _imdct_step3_inner_r_loop($142,$buffer,$139,$143,$12,16); - $144 = (($139) - ($2))|0; - _imdct_step3_inner_r_loop($142,$buffer,$144,$143,$12,16); - $145 = $2 << 1; - $146 = (($139) - ($145))|0; - _imdct_step3_inner_r_loop($142,$buffer,$146,$143,$12,16); - $147 = Math_imul($2, -3)|0; - $148 = (($139) + ($147))|0; - _imdct_step3_inner_r_loop($142,$buffer,$148,$143,$12,16); - $149 = (($137) + -4)|0; - $150 = $149 >> 1; - $151 = ($150|0)>(2); - if ($151) { - $l$033 = 2; - while(1) { - $156 = (($l$033) + 2)|0; - $157 = $n >> $156; - $152 = (($l$033) + 1)|0; - $158 = 1 << $152; - $159 = ($152|0)==(31); - if (!($159)) { - $160 = $157 >> 1; - $161 = (($l$033) + 4)|0; - $162 = $n >> $161; - $163 = (0 - ($160))|0; - $164 = (($l$033) + 3)|0; - $165 = 1 << $164; - $i$030 = 0; - while(1) { - $166 = Math_imul($i$030, $157)|0; - $167 = (($139) - ($166))|0; - _imdct_step3_inner_r_loop($162,$buffer,$167,$163,$12,$165); - $168 = (($i$030) + 1)|0; - $169 = ($168|0)<($158|0); - if ($169) { - $i$030 = $168; - } else { - break; - } - } - } - $exitcond60 = ($152|0)==($150|0); - if ($exitcond60) { - $l$0$lcssa = $150; - break; - } else { - $l$033 = $152; - } - } - } else { - $l$0$lcssa = 2; - } - $153 = (($137) + -7)|0; - $154 = ($l$0$lcssa|0)<($153|0); - if ($154) { - $155 = (($137) + -7)|0; - $l$127 = $l$0$lcssa; - while(1) { - $171 = (($l$127) + 2)|0; - $172 = $n >> $171; - $173 = (($l$127) + 3)|0; - $174 = 1 << $173; - $175 = (($l$127) + 6)|0; - $176 = $n >> $175; - $170 = (($l$127) + 1)|0; - $177 = 1 << $170; - $178 = ($176|0)>(0); - if ($178) { - $179 = $172 >> 1; - $180 = (0 - ($179))|0; - $181 = $174 << 2; - $A0$024 = $12;$i_off$023 = $139;$r$022 = $176; - while(1) { - _imdct_step3_inner_s_loop($177,$buffer,$i_off$023,$180,$A0$024,$174,$172); - $182 = (($A0$024) + ($181<<2)|0); - $183 = (($i_off$023) + -8)|0; - $184 = (($r$022) + -1)|0; - $185 = ($r$022|0)>(1); - if ($185) { - $A0$024 = $182;$i_off$023 = $183;$r$022 = $184; - } else { - break; - } - } - } - $exitcond = ($170|0)==($155|0); - if ($exitcond) { - break; - } else { - $l$127 = $170; - } - } - } - _imdct_step3_inner_s_loop_ld654($142,$buffer,$139,$12,$n); - $186 = (($1) + -4)|0; - $187 = (($15) + ($186<<2)|0); - $188 = (($0) + -4)|0; - $189 = (($15) + ($188<<2)|0); - $190 = ($187>>>0)<($15>>>0); - if (!($190)) { - $191 = (((($f)) + 1100|0) + ($blocktype<<2)|0); - $192 = HEAP32[$191>>2]|0; - $bitrev$016 = $192;$d05$017 = $187;$d16$018 = $189; - while(1) { - $193 = HEAP16[$bitrev$016>>1]|0; - $194 = $193&65535; - $195 = (($buffer) + ($194<<2)|0); - $196 = HEAP32[$195>>2]|0; - $197 = ((($d16$018)) + 12|0); - HEAP32[$197>>2] = $196; - $198 = (($194) + 1)|0; - $199 = (($buffer) + ($198<<2)|0); - $200 = HEAP32[$199>>2]|0; - $201 = ((($d16$018)) + 8|0); - HEAP32[$201>>2] = $200; - $202 = (($194) + 2)|0; - $203 = (($buffer) + ($202<<2)|0); - $204 = HEAP32[$203>>2]|0; - $205 = ((($d05$017)) + 12|0); - HEAP32[$205>>2] = $204; - $206 = (($194) + 3)|0; - $207 = (($buffer) + ($206<<2)|0); - $208 = HEAP32[$207>>2]|0; - $209 = ((($d05$017)) + 8|0); - HEAP32[$209>>2] = $208; - $210 = ((($bitrev$016)) + 2|0); - $211 = HEAP16[$210>>1]|0; - $212 = $211&65535; - $213 = (($buffer) + ($212<<2)|0); - $214 = HEAP32[$213>>2]|0; - $215 = ((($d16$018)) + 4|0); - HEAP32[$215>>2] = $214; - $216 = (($212) + 1)|0; - $217 = (($buffer) + ($216<<2)|0); - $218 = HEAP32[$217>>2]|0; - HEAP32[$d16$018>>2] = $218; - $219 = (($212) + 2)|0; - $220 = (($buffer) + ($219<<2)|0); - $221 = HEAP32[$220>>2]|0; - $222 = ((($d05$017)) + 4|0); - HEAP32[$222>>2] = $221; - $223 = (($212) + 3)|0; - $224 = (($buffer) + ($223<<2)|0); - $225 = HEAP32[$224>>2]|0; - HEAP32[$d05$017>>2] = $225; - $226 = ((($d05$017)) + -16|0); - $227 = ((($d16$018)) + -16|0); - $228 = ((($bitrev$016)) + 4|0); - $229 = ($226>>>0)<($15>>>0); - if ($229) { - break; - } else { - $bitrev$016 = $228;$d05$017 = $226;$d16$018 = $227; - } - } - } - $230 = ($15>>>0)<($189>>>0); - if ($230) { - $231 = (((($f)) + 1084|0) + ($blocktype<<2)|0); - $232 = HEAP32[$231>>2]|0; - $C$010 = $232;$d7$011 = $15;$e8$012 = $189; - while(1) { - $233 = +HEAPF32[$d7$011>>2]; - $234 = ((($e8$012)) + 8|0); - $235 = +HEAPF32[$234>>2]; - $236 = $233 - $235; - $237 = ((($d7$011)) + 4|0); - $238 = +HEAPF32[$237>>2]; - $239 = ((($e8$012)) + 12|0); - $240 = +HEAPF32[$239>>2]; - $241 = $238 + $240; - $242 = ((($C$010)) + 4|0); - $243 = +HEAPF32[$242>>2]; - $244 = $236 * $243; - $245 = +HEAPF32[$C$010>>2]; - $246 = $241 * $245; - $247 = $244 + $246; - $248 = $243 * $241; - $249 = $236 * $245; - $250 = $248 - $249; - $251 = $233 + $235; - $252 = $238 - $240; - $253 = $251 + $247; - HEAPF32[$d7$011>>2] = $253; - $254 = $252 + $250; - HEAPF32[$237>>2] = $254; - $255 = $251 - $247; - HEAPF32[$234>>2] = $255; - $256 = $250 - $252; - HEAPF32[$239>>2] = $256; - $257 = ((($d7$011)) + 8|0); - $258 = +HEAPF32[$257>>2]; - $259 = +HEAPF32[$e8$012>>2]; - $260 = $258 - $259; - $261 = ((($d7$011)) + 12|0); - $262 = +HEAPF32[$261>>2]; - $263 = ((($e8$012)) + 4|0); - $264 = +HEAPF32[$263>>2]; - $265 = $262 + $264; - $266 = ((($C$010)) + 12|0); - $267 = +HEAPF32[$266>>2]; - $268 = $260 * $267; - $269 = ((($C$010)) + 8|0); - $270 = +HEAPF32[$269>>2]; - $271 = $265 * $270; - $272 = $268 + $271; - $273 = $267 * $265; - $274 = $260 * $270; - $275 = $273 - $274; - $276 = $258 + $259; - $277 = $262 - $264; - $278 = $276 + $272; - HEAPF32[$257>>2] = $278; - $279 = $277 + $275; - HEAPF32[$261>>2] = $279; - $280 = $276 - $272; - HEAPF32[$e8$012>>2] = $280; - $281 = $275 - $277; - HEAPF32[$263>>2] = $281; - $282 = ((($C$010)) + 16|0); - $283 = ((($d7$011)) + 16|0); - $284 = ((($e8$012)) + -16|0); - $285 = ($283>>>0)<($284>>>0); - if ($285) { - $C$010 = $282;$d7$011 = $283;$e8$012 = $284; - } else { - break; - } - } - } - $286 = (($15) + ($71<<2)|0); - $287 = ($286>>>0)<($15>>>0); - if ($287) { - HEAP32[$3>>2] = $4; - STACKTOP = sp;return; - } - $288 = (($n) + -4)|0; - $289 = (($buffer) + ($288<<2)|0); - $290 = (($buffer) + ($188<<2)|0); - $291 = (((($f)) + 1076|0) + ($blocktype<<2)|0); - $292 = HEAP32[$291>>2]|0; - $293 = (($292) + ($71<<2)|0); - $B$08 = $293;$d09$04 = $buffer;$d110$05 = $290;$d2$06 = $16;$d3$07 = $289;$e11$09 = $286; - while(1) { - $294 = ((($e11$09)) + 24|0); - $295 = +HEAPF32[$294>>2]; - $296 = ((($B$08)) + 28|0); - $297 = +HEAPF32[$296>>2]; - $298 = $295 * $297; - $299 = ((($e11$09)) + 28|0); - $300 = +HEAPF32[$299>>2]; - $301 = ((($B$08)) + 24|0); - $302 = +HEAPF32[$301>>2]; - $303 = $300 * $302; - $304 = $298 - $303; - $305 = $295 * $302; - $306 = -$305; - $307 = $297 * $300; - $308 = $306 - $307; - HEAPF32[$d09$04>>2] = $304; - $309 = -$304; - $310 = ((($d110$05)) + 12|0); - HEAPF32[$310>>2] = $309; - HEAPF32[$d2$06>>2] = $308; - $311 = ((($d3$07)) + 12|0); - HEAPF32[$311>>2] = $308; - $312 = ((($e11$09)) + 16|0); - $313 = +HEAPF32[$312>>2]; - $314 = ((($B$08)) + 20|0); - $315 = +HEAPF32[$314>>2]; - $316 = $313 * $315; - $317 = ((($e11$09)) + 20|0); - $318 = +HEAPF32[$317>>2]; - $319 = ((($B$08)) + 16|0); - $320 = +HEAPF32[$319>>2]; - $321 = $318 * $320; - $322 = $316 - $321; - $323 = $313 * $320; - $324 = -$323; - $325 = $315 * $318; - $326 = $324 - $325; - $327 = ((($d09$04)) + 4|0); - HEAPF32[$327>>2] = $322; - $328 = -$322; - $329 = ((($d110$05)) + 8|0); - HEAPF32[$329>>2] = $328; - $330 = ((($d2$06)) + 4|0); - HEAPF32[$330>>2] = $326; - $331 = ((($d3$07)) + 8|0); - HEAPF32[$331>>2] = $326; - $332 = ((($e11$09)) + 8|0); - $333 = +HEAPF32[$332>>2]; - $334 = ((($B$08)) + 12|0); - $335 = +HEAPF32[$334>>2]; - $336 = $333 * $335; - $337 = ((($e11$09)) + 12|0); - $338 = +HEAPF32[$337>>2]; - $339 = ((($B$08)) + 8|0); - $340 = +HEAPF32[$339>>2]; - $341 = $338 * $340; - $342 = $336 - $341; - $343 = $333 * $340; - $344 = -$343; - $345 = $335 * $338; - $346 = $344 - $345; - $347 = ((($d09$04)) + 8|0); - HEAPF32[$347>>2] = $342; - $348 = -$342; - $349 = ((($d110$05)) + 4|0); - HEAPF32[$349>>2] = $348; - $350 = ((($d2$06)) + 8|0); - HEAPF32[$350>>2] = $346; - $351 = ((($d3$07)) + 4|0); - HEAPF32[$351>>2] = $346; - $352 = +HEAPF32[$e11$09>>2]; - $353 = ((($B$08)) + 4|0); - $354 = +HEAPF32[$353>>2]; - $355 = $352 * $354; - $356 = ((($e11$09)) + 4|0); - $357 = +HEAPF32[$356>>2]; - $358 = +HEAPF32[$B$08>>2]; - $359 = $357 * $358; - $360 = $355 - $359; - $361 = $352 * $358; - $362 = -$361; - $363 = $354 * $357; - $364 = $362 - $363; - $365 = ((($d09$04)) + 12|0); - HEAPF32[$365>>2] = $360; - $366 = -$360; - HEAPF32[$d110$05>>2] = $366; - $367 = ((($d2$06)) + 12|0); - HEAPF32[$367>>2] = $364; - HEAPF32[$d3$07>>2] = $364; - $368 = ((($B$08)) + -32|0); - $369 = ((($e11$09)) + -32|0); - $370 = ((($d09$04)) + 16|0); - $371 = ((($d2$06)) + 16|0); - $372 = ((($d110$05)) + -16|0); - $373 = ((($d3$07)) + -16|0); - $374 = ($369>>>0)<($15>>>0); - if ($374) { - break; - } else { - $B$08 = $368;$d09$04 = $370;$d110$05 = $372;$d2$06 = $371;$d3$07 = $373;$e11$09 = $369; - } - } - HEAP32[$3>>2] = $4; - STACKTOP = sp;return; -} -function _imdct_step3_iter0_loop($n,$e,$i_off,$k_off,$A) { - $n = $n|0; - $e = $e|0; - $i_off = $i_off|0; - $k_off = $k_off|0; - $A = $A|0; - var $$04 = 0, $$sum = 0, $0 = 0, $1 = 0, $10 = 0.0, $100 = 0.0, $101 = 0.0, $102 = 0.0, $103 = 0.0, $104 = 0.0, $105 = 0.0, $106 = 0.0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $12 = 0.0, $13 = 0.0; - var $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $2 = 0, $20 = 0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0.0, $28 = 0.0, $29 = 0, $3 = 0, $30 = 0, $31 = 0.0; - var $32 = 0, $33 = 0.0, $34 = 0.0, $35 = 0, $36 = 0.0, $37 = 0, $38 = 0.0, $39 = 0.0, $4 = 0, $40 = 0.0, $41 = 0.0, $42 = 0.0, $43 = 0.0, $44 = 0.0, $45 = 0.0, $46 = 0, $47 = 0.0, $48 = 0.0, $49 = 0.0, $5 = 0; - var $50 = 0.0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0.0, $55 = 0, $56 = 0, $57 = 0.0, $58 = 0, $59 = 0.0, $6 = 0.0, $60 = 0.0, $61 = 0, $62 = 0.0, $63 = 0, $64 = 0.0, $65 = 0.0, $66 = 0.0, $67 = 0.0, $68 = 0.0; - var $69 = 0.0, $7 = 0.0, $70 = 0.0, $71 = 0.0, $72 = 0, $73 = 0.0, $74 = 0.0, $75 = 0.0, $76 = 0.0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0.0, $80 = 0.0, $81 = 0, $82 = 0, $83 = 0.0, $84 = 0, $85 = 0.0, $86 = 0.0; - var $87 = 0, $88 = 0.0, $89 = 0, $9 = 0, $90 = 0.0, $91 = 0.0, $92 = 0.0, $93 = 0.0, $94 = 0.0, $95 = 0.0, $96 = 0.0, $97 = 0.0, $98 = 0, $99 = 0.0, $ee0$03 = 0, $ee2$01 = 0, $i$02 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = $n & 3; - $1 = ($0|0)==(0); - if (!($1)) { - ___assert_fail((15347|0),(14642|0),2075,(15360|0)); - // unreachable; - } - $2 = $n >> 2; + $2 = $0 >> 1; $3 = ($2|0)>(0); if (!($3)) { return; } - $$sum = (($k_off) + ($i_off))|0; - $4 = (($e) + ($$sum<<2)|0); - $5 = (($e) + ($i_off<<2)|0); - $$04 = $A;$ee0$03 = $5;$ee2$01 = $4;$i$02 = $2; + $4 = (+($2|0)); + $$010 = 0; while(1) { - $6 = +HEAPF32[$ee0$03>>2]; - $7 = +HEAPF32[$ee2$01>>2]; - $8 = $6 - $7; - $9 = ((($ee0$03)) + -4|0); - $10 = +HEAPF32[$9>>2]; - $11 = ((($ee2$01)) + -4|0); - $12 = +HEAPF32[$11>>2]; - $13 = $10 - $12; - $14 = $6 + $7; - HEAPF32[$ee0$03>>2] = $14; - $15 = +HEAPF32[$11>>2]; - $16 = +HEAPF32[$9>>2]; - $17 = $15 + $16; - HEAPF32[$9>>2] = $17; - $18 = +HEAPF32[$$04>>2]; - $19 = $8 * $18; - $20 = ((($$04)) + 4|0); - $21 = +HEAPF32[$20>>2]; - $22 = $13 * $21; - $23 = $19 - $22; - HEAPF32[$ee2$01>>2] = $23; - $24 = +HEAPF32[$$04>>2]; - $25 = $13 * $24; - $26 = +HEAPF32[$20>>2]; - $27 = $8 * $26; - $28 = $25 + $27; - HEAPF32[$11>>2] = $28; - $29 = ((($$04)) + 32|0); - $30 = ((($ee0$03)) + -8|0); - $31 = +HEAPF32[$30>>2]; - $32 = ((($ee2$01)) + -8|0); - $33 = +HEAPF32[$32>>2]; - $34 = $31 - $33; - $35 = ((($ee0$03)) + -12|0); - $36 = +HEAPF32[$35>>2]; - $37 = ((($ee2$01)) + -12|0); - $38 = +HEAPF32[$37>>2]; - $39 = $36 - $38; - $40 = $31 + $33; - HEAPF32[$30>>2] = $40; - $41 = +HEAPF32[$37>>2]; - $42 = +HEAPF32[$35>>2]; - $43 = $41 + $42; - HEAPF32[$35>>2] = $43; - $44 = +HEAPF32[$29>>2]; - $45 = $34 * $44; - $46 = ((($$04)) + 36|0); - $47 = +HEAPF32[$46>>2]; - $48 = $39 * $47; - $49 = $45 - $48; - HEAPF32[$32>>2] = $49; - $50 = +HEAPF32[$29>>2]; - $51 = $39 * $50; - $52 = +HEAPF32[$46>>2]; - $53 = $34 * $52; - $54 = $51 + $53; - HEAPF32[$37>>2] = $54; - $55 = ((($$04)) + 64|0); - $56 = ((($ee0$03)) + -16|0); - $57 = +HEAPF32[$56>>2]; - $58 = ((($ee2$01)) + -16|0); - $59 = +HEAPF32[$58>>2]; - $60 = $57 - $59; - $61 = ((($ee0$03)) + -20|0); - $62 = +HEAPF32[$61>>2]; - $63 = ((($ee2$01)) + -20|0); - $64 = +HEAPF32[$63>>2]; - $65 = $62 - $64; - $66 = $57 + $59; - HEAPF32[$56>>2] = $66; - $67 = +HEAPF32[$63>>2]; - $68 = +HEAPF32[$61>>2]; - $69 = $67 + $68; - HEAPF32[$61>>2] = $69; - $70 = +HEAPF32[$55>>2]; - $71 = $60 * $70; - $72 = ((($$04)) + 68|0); - $73 = +HEAPF32[$72>>2]; - $74 = $65 * $73; - $75 = $71 - $74; - HEAPF32[$58>>2] = $75; - $76 = +HEAPF32[$55>>2]; - $77 = $65 * $76; - $78 = +HEAPF32[$72>>2]; - $79 = $60 * $78; - $80 = $77 + $79; - HEAPF32[$63>>2] = $80; - $81 = ((($$04)) + 96|0); - $82 = ((($ee0$03)) + -24|0); - $83 = +HEAPF32[$82>>2]; - $84 = ((($ee2$01)) + -24|0); - $85 = +HEAPF32[$84>>2]; - $86 = $83 - $85; - $87 = ((($ee0$03)) + -28|0); - $88 = +HEAPF32[$87>>2]; - $89 = ((($ee2$01)) + -28|0); - $90 = +HEAPF32[$89>>2]; - $91 = $88 - $90; - $92 = $83 + $85; - HEAPF32[$82>>2] = $92; - $93 = +HEAPF32[$89>>2]; - $94 = +HEAPF32[$87>>2]; - $95 = $93 + $94; - HEAPF32[$87>>2] = $95; - $96 = +HEAPF32[$81>>2]; - $97 = $86 * $96; - $98 = ((($$04)) + 100|0); - $99 = +HEAPF32[$98>>2]; - $100 = $91 * $99; - $101 = $97 - $100; - HEAPF32[$84>>2] = $101; - $102 = +HEAPF32[$81>>2]; - $103 = $91 * $102; - $104 = +HEAPF32[$98>>2]; - $105 = $86 * $104; - $106 = $103 + $105; - HEAPF32[$89>>2] = $106; - $107 = ((($$04)) + 128|0); - $108 = ((($ee0$03)) + -32|0); - $109 = ((($ee2$01)) + -32|0); - $110 = (($i$02) + -1)|0; - $111 = ($i$02|0)>(1); - if ($111) { - $$04 = $107;$ee0$03 = $108;$ee2$01 = $109;$i$02 = $110; - } else { - break; - } - } - return; -} -function _imdct_step3_inner_r_loop($lim,$e,$d0,$k_off,$A,$k1) { - $lim = $lim|0; - $e = $e|0; - $d0 = $d0|0; - $k_off = $k_off|0; - $A = $A|0; - $k1 = $k1|0; - var $$09 = 0, $$sum = 0, $$sum1 = 0, $$sum2 = 0, $$sum34 = 0, $$sum5 = 0, $$sum6 = 0, $$sum7 = 0, $0 = 0, $1 = 0, $10 = 0.0, $100 = 0.0, $101 = 0.0, $102 = 0.0, $103 = 0.0, $104 = 0.0, $105 = 0, $106 = 0, $107 = 0, $108 = 0; - var $109 = 0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0, $19 = 0.0, $2 = 0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0, $28 = 0; - var $29 = 0.0, $3 = 0, $30 = 0, $31 = 0.0, $32 = 0.0, $33 = 0, $34 = 0.0, $35 = 0, $36 = 0.0, $37 = 0.0, $38 = 0.0, $39 = 0.0, $4 = 0.0, $40 = 0.0, $41 = 0.0, $42 = 0.0, $43 = 0.0, $44 = 0, $45 = 0.0, $46 = 0.0; - var $47 = 0.0, $48 = 0.0, $49 = 0.0, $5 = 0.0, $50 = 0.0, $51 = 0.0, $52 = 0.0, $53 = 0, $54 = 0, $55 = 0.0, $56 = 0, $57 = 0.0, $58 = 0.0, $59 = 0, $6 = 0.0, $60 = 0.0, $61 = 0, $62 = 0.0, $63 = 0.0, $64 = 0.0; - var $65 = 0.0, $66 = 0.0, $67 = 0.0, $68 = 0.0, $69 = 0.0, $7 = 0, $70 = 0, $71 = 0.0, $72 = 0.0, $73 = 0.0, $74 = 0.0, $75 = 0.0, $76 = 0.0, $77 = 0.0, $78 = 0.0, $79 = 0, $8 = 0.0, $80 = 0, $81 = 0.0, $82 = 0; - var $83 = 0.0, $84 = 0.0, $85 = 0, $86 = 0.0, $87 = 0, $88 = 0.0, $89 = 0.0, $9 = 0, $90 = 0.0, $91 = 0.0, $92 = 0.0, $93 = 0.0, $94 = 0.0, $95 = 0.0, $96 = 0, $97 = 0.0, $98 = 0.0, $99 = 0.0, $e0$010 = 0, $e2$011 = 0; - var $i$08 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = $lim >> 2; - $1 = ($0|0)>(0); - if (!($1)) { - return; - } - $$sum = (($k_off) + ($d0))|0; - $2 = (($e) + ($$sum<<2)|0); - $3 = (($e) + ($d0<<2)|0); - $$sum1 = (($k1) + 1)|0; - $$sum2 = $k1 << 1; - $$sum34 = $$sum2 | 1; - $$sum5 = ($k1*3)|0; - $$sum6 = (($$sum5) + 1)|0; - $$sum7 = $k1 << 2; - $$09 = $A;$e0$010 = $3;$e2$011 = $2;$i$08 = $0; - while(1) { - $4 = +HEAPF32[$e0$010>>2]; - $5 = +HEAPF32[$e2$011>>2]; - $6 = $4 - $5; - $7 = ((($e0$010)) + -4|0); - $8 = +HEAPF32[$7>>2]; - $9 = ((($e2$011)) + -4|0); - $10 = +HEAPF32[$9>>2]; - $11 = $8 - $10; - $12 = $4 + $5; - HEAPF32[$e0$010>>2] = $12; - $13 = +HEAPF32[$9>>2]; - $14 = +HEAPF32[$7>>2]; - $15 = $13 + $14; - HEAPF32[$7>>2] = $15; - $16 = +HEAPF32[$$09>>2]; - $17 = $6 * $16; - $18 = ((($$09)) + 4|0); - $19 = +HEAPF32[$18>>2]; - $20 = $11 * $19; - $21 = $17 - $20; - HEAPF32[$e2$011>>2] = $21; - $22 = +HEAPF32[$$09>>2]; - $23 = $11 * $22; - $24 = +HEAPF32[$18>>2]; - $25 = $6 * $24; - $26 = $23 + $25; - HEAPF32[$9>>2] = $26; - $27 = (($$09) + ($k1<<2)|0); - $28 = ((($e0$010)) + -8|0); - $29 = +HEAPF32[$28>>2]; - $30 = ((($e2$011)) + -8|0); - $31 = +HEAPF32[$30>>2]; - $32 = $29 - $31; - $33 = ((($e0$010)) + -12|0); - $34 = +HEAPF32[$33>>2]; - $35 = ((($e2$011)) + -12|0); - $36 = +HEAPF32[$35>>2]; - $37 = $34 - $36; - $38 = $29 + $31; - HEAPF32[$28>>2] = $38; - $39 = +HEAPF32[$35>>2]; - $40 = +HEAPF32[$33>>2]; - $41 = $39 + $40; - HEAPF32[$33>>2] = $41; - $42 = +HEAPF32[$27>>2]; - $43 = $32 * $42; - $44 = (($$09) + ($$sum1<<2)|0); - $45 = +HEAPF32[$44>>2]; - $46 = $37 * $45; - $47 = $43 - $46; - HEAPF32[$30>>2] = $47; - $48 = +HEAPF32[$27>>2]; - $49 = $37 * $48; - $50 = +HEAPF32[$44>>2]; - $51 = $32 * $50; - $52 = $49 + $51; - HEAPF32[$35>>2] = $52; - $53 = (($$09) + ($$sum2<<2)|0); - $54 = ((($e0$010)) + -16|0); - $55 = +HEAPF32[$54>>2]; - $56 = ((($e2$011)) + -16|0); - $57 = +HEAPF32[$56>>2]; - $58 = $55 - $57; - $59 = ((($e0$010)) + -20|0); - $60 = +HEAPF32[$59>>2]; - $61 = ((($e2$011)) + -20|0); - $62 = +HEAPF32[$61>>2]; - $63 = $60 - $62; - $64 = $55 + $57; - HEAPF32[$54>>2] = $64; - $65 = +HEAPF32[$61>>2]; - $66 = +HEAPF32[$59>>2]; - $67 = $65 + $66; - HEAPF32[$59>>2] = $67; - $68 = +HEAPF32[$53>>2]; - $69 = $58 * $68; - $70 = (($$09) + ($$sum34<<2)|0); - $71 = +HEAPF32[$70>>2]; - $72 = $63 * $71; - $73 = $69 - $72; - HEAPF32[$56>>2] = $73; - $74 = +HEAPF32[$53>>2]; - $75 = $63 * $74; - $76 = +HEAPF32[$70>>2]; - $77 = $58 * $76; - $78 = $75 + $77; - HEAPF32[$61>>2] = $78; - $79 = (($$09) + ($$sum5<<2)|0); - $80 = ((($e0$010)) + -24|0); - $81 = +HEAPF32[$80>>2]; - $82 = ((($e2$011)) + -24|0); - $83 = +HEAPF32[$82>>2]; - $84 = $81 - $83; - $85 = ((($e0$010)) + -28|0); - $86 = +HEAPF32[$85>>2]; - $87 = ((($e2$011)) + -28|0); - $88 = +HEAPF32[$87>>2]; - $89 = $86 - $88; - $90 = $81 + $83; - HEAPF32[$80>>2] = $90; - $91 = +HEAPF32[$87>>2]; - $92 = +HEAPF32[$85>>2]; - $93 = $91 + $92; - HEAPF32[$85>>2] = $93; - $94 = +HEAPF32[$79>>2]; - $95 = $84 * $94; - $96 = (($$09) + ($$sum6<<2)|0); - $97 = +HEAPF32[$96>>2]; - $98 = $89 * $97; - $99 = $95 - $98; - HEAPF32[$82>>2] = $99; - $100 = +HEAPF32[$79>>2]; - $101 = $89 * $100; - $102 = +HEAPF32[$96>>2]; - $103 = $84 * $102; - $104 = $101 + $103; - HEAPF32[$87>>2] = $104; - $105 = ((($e0$010)) + -32|0); - $106 = ((($e2$011)) + -32|0); - $107 = (($$09) + ($$sum7<<2)|0); - $108 = (($i$08) + -1)|0; - $109 = ($i$08|0)>(1); - if ($109) { - $$09 = $107;$e0$010 = $105;$e2$011 = $106;$i$08 = $108; - } else { - break; - } - } - return; -} -function _imdct_step3_inner_s_loop($n,$e,$i_off,$k_off,$A,$a_off,$k0) { - $n = $n|0; - $e = $e|0; - $i_off = $i_off|0; - $k_off = $k_off|0; - $A = $A|0; - $a_off = $a_off|0; - $k0 = $k0|0; - var $$sum = 0, $0 = 0.0, $1 = 0, $10 = 0.0, $100 = 0.0, $101 = 0.0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $11 = 0, $12 = 0, $13 = 0.0, $14 = 0, $15 = 0, $16 = 0.0, $17 = 0, $18 = 0, $19 = 0.0, $2 = 0.0; - var $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0, $28 = 0.0, $29 = 0, $3 = 0, $30 = 0.0, $31 = 0.0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0.0, $36 = 0.0, $37 = 0.0, $38 = 0.0; - var $39 = 0.0, $4 = 0.0, $40 = 0.0, $41 = 0.0, $42 = 0, $43 = 0.0, $44 = 0, $45 = 0.0, $46 = 0.0, $47 = 0, $48 = 0.0, $49 = 0, $5 = 0, $50 = 0.0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0.0, $55 = 0.0, $56 = 0.0; - var $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0.0, $61 = 0.0, $62 = 0, $63 = 0.0, $64 = 0, $65 = 0.0, $66 = 0.0, $67 = 0, $68 = 0.0, $69 = 0, $7 = 0.0, $70 = 0.0, $71 = 0.0, $72 = 0.0, $73 = 0.0, $74 = 0.0; - var $75 = 0.0, $76 = 0.0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0, $80 = 0.0, $81 = 0.0, $82 = 0, $83 = 0.0, $84 = 0, $85 = 0.0, $86 = 0.0, $87 = 0, $88 = 0.0, $89 = 0, $9 = 0, $90 = 0.0, $91 = 0.0, $92 = 0.0; - var $93 = 0.0, $94 = 0.0, $95 = 0.0, $96 = 0.0, $97 = 0.0, $98 = 0.0, $99 = 0.0, $ee0$02 = 0, $ee2$03 = 0, $i$01 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = +HEAPF32[$A>>2]; - $1 = ((($A)) + 4|0); - $2 = +HEAPF32[$1>>2]; - $3 = (($A) + ($a_off<<2)|0); - $4 = +HEAPF32[$3>>2]; - $5 = (($a_off) + 1)|0; - $6 = (($A) + ($5<<2)|0); - $7 = +HEAPF32[$6>>2]; - $8 = $a_off << 1; - $9 = (($A) + ($8<<2)|0); - $10 = +HEAPF32[$9>>2]; - $11 = $8 | 1; - $12 = (($A) + ($11<<2)|0); - $13 = +HEAPF32[$12>>2]; - $14 = ($a_off*3)|0; - $15 = (($A) + ($14<<2)|0); - $16 = +HEAPF32[$15>>2]; - $17 = (($14) + 1)|0; - $18 = (($A) + ($17<<2)|0); - $19 = +HEAPF32[$18>>2]; - $20 = ($n|0)>(0); - if (!($20)) { - return; - } - $$sum = (($k_off) + ($i_off))|0; - $21 = (($e) + ($$sum<<2)|0); - $22 = (($e) + ($i_off<<2)|0); - $23 = (0 - ($k0))|0; - $ee0$02 = $22;$ee2$03 = $21;$i$01 = $n; - while(1) { - $24 = +HEAPF32[$ee0$02>>2]; - $25 = +HEAPF32[$ee2$03>>2]; - $26 = $24 - $25; - $27 = ((($ee0$02)) + -4|0); - $28 = +HEAPF32[$27>>2]; - $29 = ((($ee2$03)) + -4|0); - $30 = +HEAPF32[$29>>2]; - $31 = $28 - $30; - $32 = $24 + $25; - HEAPF32[$ee0$02>>2] = $32; - $33 = +HEAPF32[$27>>2]; - $34 = +HEAPF32[$29>>2]; - $35 = $33 + $34; - HEAPF32[$27>>2] = $35; - $36 = $0 * $26; - $37 = $2 * $31; - $38 = $36 - $37; - HEAPF32[$ee2$03>>2] = $38; - $39 = $0 * $31; - $40 = $2 * $26; - $41 = $40 + $39; - HEAPF32[$29>>2] = $41; - $42 = ((($ee0$02)) + -8|0); - $43 = +HEAPF32[$42>>2]; - $44 = ((($ee2$03)) + -8|0); - $45 = +HEAPF32[$44>>2]; - $46 = $43 - $45; - $47 = ((($ee0$02)) + -12|0); - $48 = +HEAPF32[$47>>2]; - $49 = ((($ee2$03)) + -12|0); - $50 = +HEAPF32[$49>>2]; - $51 = $48 - $50; - $52 = $43 + $45; - HEAPF32[$42>>2] = $52; - $53 = +HEAPF32[$47>>2]; - $54 = +HEAPF32[$49>>2]; - $55 = $53 + $54; - HEAPF32[$47>>2] = $55; - $56 = $4 * $46; - $57 = $7 * $51; - $58 = $56 - $57; - HEAPF32[$44>>2] = $58; - $59 = $4 * $51; - $60 = $7 * $46; - $61 = $60 + $59; - HEAPF32[$49>>2] = $61; - $62 = ((($ee0$02)) + -16|0); - $63 = +HEAPF32[$62>>2]; - $64 = ((($ee2$03)) + -16|0); - $65 = +HEAPF32[$64>>2]; - $66 = $63 - $65; - $67 = ((($ee0$02)) + -20|0); - $68 = +HEAPF32[$67>>2]; - $69 = ((($ee2$03)) + -20|0); - $70 = +HEAPF32[$69>>2]; - $71 = $68 - $70; - $72 = $63 + $65; - HEAPF32[$62>>2] = $72; - $73 = +HEAPF32[$67>>2]; - $74 = +HEAPF32[$69>>2]; - $75 = $73 + $74; - HEAPF32[$67>>2] = $75; - $76 = $10 * $66; - $77 = $13 * $71; - $78 = $76 - $77; - HEAPF32[$64>>2] = $78; - $79 = $10 * $71; - $80 = $13 * $66; - $81 = $80 + $79; - HEAPF32[$69>>2] = $81; - $82 = ((($ee0$02)) + -24|0); - $83 = +HEAPF32[$82>>2]; - $84 = ((($ee2$03)) + -24|0); - $85 = +HEAPF32[$84>>2]; - $86 = $83 - $85; - $87 = ((($ee0$02)) + -28|0); - $88 = +HEAPF32[$87>>2]; - $89 = ((($ee2$03)) + -28|0); - $90 = +HEAPF32[$89>>2]; - $91 = $88 - $90; - $92 = $83 + $85; - HEAPF32[$82>>2] = $92; - $93 = +HEAPF32[$87>>2]; - $94 = +HEAPF32[$89>>2]; - $95 = $93 + $94; - HEAPF32[$87>>2] = $95; - $96 = $16 * $86; - $97 = $19 * $91; - $98 = $96 - $97; - HEAPF32[$84>>2] = $98; - $99 = $16 * $91; - $100 = $19 * $86; - $101 = $100 + $99; - HEAPF32[$89>>2] = $101; - $102 = (($ee0$02) + ($23<<2)|0); - $103 = (($ee2$03) + ($23<<2)|0); - $104 = (($i$01) + -1)|0; - $105 = ($i$01|0)>(1); - if ($105) { - $ee0$02 = $102;$ee2$03 = $103;$i$01 = $104; - } else { - break; - } - } - return; -} -function _imdct_step3_inner_s_loop_ld654($n,$e,$i_off,$A,$base_n) { - $n = $n|0; - $e = $e|0; - $i_off = $i_off|0; - $A = $A|0; - $base_n = $base_n|0; - var $$sum = 0, $0 = 0, $1 = 0, $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $2 = 0.0, $20 = 0, $21 = 0.0, $22 = 0, $23 = 0.0, $24 = 0.0, $25 = 0; - var $26 = 0.0, $27 = 0, $28 = 0.0, $29 = 0.0, $3 = 0, $30 = 0.0, $31 = 0.0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0.0, $36 = 0.0, $37 = 0.0, $38 = 0, $39 = 0.0, $4 = 0, $40 = 0, $41 = 0.0, $42 = 0.0, $43 = 0; - var $44 = 0.0, $45 = 0, $46 = 0.0, $47 = 0.0, $48 = 0.0, $49 = 0.0, $5 = 0, $50 = 0.0, $51 = 0.0, $52 = 0, $53 = 0.0, $54 = 0, $55 = 0.0, $56 = 0.0, $57 = 0, $58 = 0.0, $59 = 0, $6 = 0, $60 = 0.0, $61 = 0.0; - var $62 = 0.0, $63 = 0.0, $64 = 0.0, $65 = 0.0, $66 = 0.0, $67 = 0.0, $68 = 0.0, $69 = 0.0, $7 = 0.0, $70 = 0, $71 = 0, $8 = 0, $9 = 0.0, $z$01 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = $base_n >> 3; - $1 = (($A) + ($0<<2)|0); - $2 = +HEAPF32[$1>>2]; - $3 = $n << 4; - $$sum = (($i_off) - ($3))|0; - $4 = (($e) + ($$sum<<2)|0); - $5 = ($$sum|0)<($i_off|0); - if (!($5)) { - return; - } - $6 = (($e) + ($i_off<<2)|0); - $z$01 = $6; - while(1) { - $7 = +HEAPF32[$z$01>>2]; - $8 = ((($z$01)) + -32|0); - $9 = +HEAPF32[$8>>2]; - $10 = $7 - $9; - $11 = ((($z$01)) + -4|0); - $12 = +HEAPF32[$11>>2]; - $13 = ((($z$01)) + -36|0); - $14 = +HEAPF32[$13>>2]; - $15 = $12 - $14; - $16 = $7 + $9; - HEAPF32[$z$01>>2] = $16; - $17 = +HEAPF32[$11>>2]; - $18 = +HEAPF32[$13>>2]; - $19 = $17 + $18; - HEAPF32[$11>>2] = $19; - HEAPF32[$8>>2] = $10; - HEAPF32[$13>>2] = $15; - $20 = ((($z$01)) + -8|0); - $21 = +HEAPF32[$20>>2]; - $22 = ((($z$01)) + -40|0); - $23 = +HEAPF32[$22>>2]; - $24 = $21 - $23; - $25 = ((($z$01)) + -12|0); - $26 = +HEAPF32[$25>>2]; - $27 = ((($z$01)) + -44|0); - $28 = +HEAPF32[$27>>2]; - $29 = $26 - $28; - $30 = $21 + $23; - HEAPF32[$20>>2] = $30; - $31 = +HEAPF32[$25>>2]; - $32 = +HEAPF32[$27>>2]; - $33 = $31 + $32; - HEAPF32[$25>>2] = $33; - $34 = $24 + $29; - $35 = $2 * $34; - HEAPF32[$22>>2] = $35; - $36 = $29 - $24; - $37 = $2 * $36; - HEAPF32[$27>>2] = $37; - $38 = ((($z$01)) + -48|0); - $39 = +HEAPF32[$38>>2]; - $40 = ((($z$01)) + -16|0); - $41 = +HEAPF32[$40>>2]; - $42 = $39 - $41; - $43 = ((($z$01)) + -20|0); - $44 = +HEAPF32[$43>>2]; - $45 = ((($z$01)) + -52|0); - $46 = +HEAPF32[$45>>2]; - $47 = $44 - $46; - $48 = $39 + $41; - HEAPF32[$40>>2] = $48; - $49 = +HEAPF32[$43>>2]; - $50 = +HEAPF32[$45>>2]; - $51 = $49 + $50; - HEAPF32[$43>>2] = $51; - HEAPF32[$38>>2] = $47; - HEAPF32[$45>>2] = $42; - $52 = ((($z$01)) + -56|0); - $53 = +HEAPF32[$52>>2]; - $54 = ((($z$01)) + -24|0); - $55 = +HEAPF32[$54>>2]; - $56 = $53 - $55; - $57 = ((($z$01)) + -28|0); - $58 = +HEAPF32[$57>>2]; - $59 = ((($z$01)) + -60|0); - $60 = +HEAPF32[$59>>2]; - $61 = $58 - $60; - $62 = $53 + $55; - HEAPF32[$54>>2] = $62; - $63 = +HEAPF32[$57>>2]; - $64 = +HEAPF32[$59>>2]; - $65 = $63 + $64; - HEAPF32[$57>>2] = $65; - $66 = $56 + $61; - $67 = $2 * $66; - HEAPF32[$52>>2] = $67; - $68 = $56 - $61; - $69 = $2 * $68; - HEAPF32[$59>>2] = $69; - _iter_54($z$01); - _iter_54($8); - $70 = ((($z$01)) + -64|0); - $71 = ($70>>>0)>($4>>>0); - if ($71) { - $z$01 = $70; - } else { - break; - } - } - return; -} -function _iter_54($z) { - $z = $z|0; - var $0 = 0.0, $1 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $2 = 0.0, $20 = 0, $21 = 0.0, $22 = 0, $23 = 0.0, $24 = 0.0, $25 = 0.0, $26 = 0.0; - var $27 = 0.0, $28 = 0.0, $29 = 0.0, $3 = 0.0, $30 = 0.0, $31 = 0.0, $32 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $0 = +HEAPF32[$z>>2]; - $1 = ((($z)) + -16|0); - $2 = +HEAPF32[$1>>2]; - $3 = $0 - $2; - $4 = $0 + $2; - $5 = ((($z)) + -8|0); - $6 = +HEAPF32[$5>>2]; - $7 = ((($z)) + -24|0); - $8 = +HEAPF32[$7>>2]; - $9 = $6 + $8; - $10 = $6 - $8; - $11 = $4 + $9; - HEAPF32[$z>>2] = $11; - $12 = $4 - $9; - HEAPF32[$5>>2] = $12; - $13 = ((($z)) + -12|0); - $14 = +HEAPF32[$13>>2]; - $15 = ((($z)) + -28|0); - $16 = +HEAPF32[$15>>2]; - $17 = $14 - $16; - $18 = $3 + $17; - HEAPF32[$1>>2] = $18; - $19 = $3 - $17; - HEAPF32[$7>>2] = $19; - $20 = ((($z)) + -4|0); - $21 = +HEAPF32[$20>>2]; - $22 = ((($z)) + -20|0); - $23 = +HEAPF32[$22>>2]; - $24 = $21 - $23; - $25 = $21 + $23; - $26 = +HEAPF32[$13>>2]; - $27 = +HEAPF32[$15>>2]; - $28 = $26 + $27; - $29 = $25 + $28; - HEAPF32[$20>>2] = $29; - $30 = $25 - $28; - HEAPF32[$13>>2] = $30; - $31 = $24 - $10; - HEAPF32[$22>>2] = $31; - $32 = $10 + $24; - HEAPF32[$15>>2] = $32; - return; -} -function _draw_line($output,$x0,$y0,$x1,$y1,$n) { - $output = $output|0; - $x0 = $x0|0; - $y0 = $y0|0; - $x1 = $x1|0; - $y1 = $y1|0; - $n = $n|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0.0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0.0, $24 = 0, $25 = 0.0, $26 = 0.0; - var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $err$05 = 0, $err$1 = 0, $exitcond = 0, $ispos = 0, $ispos1 = 0, $n$x1 = 0, $neg = 0, $neg2 = 0, $sy$0 = 0, $sy$0$pn = 0, $x$0 = 0, $x$03 = 0, $x$06 = 0; - var $y$04 = 0, $y$1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (($y1) - ($y0))|0; - $1 = (($x1) - ($x0))|0; - $ispos = ($0|0)>(-1); - $neg = (0 - ($0))|0; - $2 = $ispos ? $0 : $neg; - $3 = (($0|0) / ($1|0))&-1; - $4 = $0 >> 31; - $5 = $4 | 1; - $ispos1 = ($3|0)>(-1); - $neg2 = (0 - ($3))|0; - $6 = $ispos1 ? $3 : $neg2; - $7 = Math_imul($6, $1)|0; - $8 = (($2) - ($7))|0; - $9 = ($x1|0)>($n|0); - $n$x1 = $9 ? $n : $x1; - $10 = ($n$x1|0)>($x0|0); - if (!($10)) { - return; - } - $11 = (6844 + ($y0<<2)|0); - $12 = +HEAPF32[$11>>2]; - $13 = (($output) + ($x0<<2)|0); - $14 = +HEAPF32[$13>>2]; - $15 = $12 * $14; - HEAPF32[$13>>2] = $15; - $x$03 = (($x0) + 1)|0; - $16 = ($x$03|0)<($n$x1|0); - if (!($16)) { - return; - } - $17 = ($n|0)<($x1|0); - $18 = $17 ? $n : $x1; - $err$05 = 0;$x$06 = $x$03;$y$04 = $y0; - while(1) { - $19 = (($err$05) + ($8))|0; - $20 = ($19|0)<($1|0); - $sy$0 = $20 ? 0 : $5; - $21 = $20 ? 0 : $1; - $err$1 = (($19) - ($21))|0; - $sy$0$pn = (($y$04) + ($3))|0; - $y$1 = (($sy$0$pn) + ($sy$0))|0; - $22 = (6844 + ($y$1<<2)|0); - $23 = +HEAPF32[$22>>2]; - $24 = (($output) + ($x$06<<2)|0); - $25 = +HEAPF32[$24>>2]; - $26 = $23 * $25; - HEAPF32[$24>>2] = $26; - $x$0 = (($x$06) + 1)|0; - $exitcond = ($x$0|0)==($18|0); + $5 = (+($$010|0)); + $6 = $5 + 0.5; + $7 = $6 / $4; + $8 = $7 * 0.5; + $9 = $8 * 3.1415927410125732; + $10 = (+Math_sin((+$9))); + $11 = $10; + $12 = (+_square($11)); + $13 = $12; + $14 = $13 * 1.5707963705062866; + $15 = (+Math_sin((+$14))); + $16 = $15; + $17 = (($1) + ($$010<<2)|0); + HEAPF32[$17>>2] = $16; + $18 = (($$010) + 1)|0; + $exitcond = ($18|0)==($2|0); if ($exitcond) { break; } else { - $err$05 = $err$1;$x$06 = $x$0;$y$04 = $y$1; + $$010 = $18; } } return; } -function _make_block_array($mem,$count,$size) { - $mem = $mem|0; - $count = $count|0; - $size = $size|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $exitcond = 0, $i$01 = 0, $q$02 = 0, label = 0, sp = 0; +function _compute_bitreverse($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$013 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = ($count|0)>(0); - if (!($0)) { - return ($mem|0); + $2 = $0 >> 3; + $3 = ($2|0)>(0); + if (!($3)) { + return; } - $1 = (($mem) + ($count<<2)|0); - $i$01 = 0;$q$02 = $1; + $4 = (_ilog($0)|0); + $5 = (36 - ($4))|0; + $$013 = 0; while(1) { - $2 = (($mem) + ($i$01<<2)|0); - HEAP32[$2>>2] = $q$02; - $3 = (($q$02) + ($size)|0); - $4 = (($i$01) + 1)|0; - $exitcond = ($4|0)==($count|0); + $6 = (_bit_reverse($$013)|0); + $7 = $6 >>> $5; + $8 = $7 << 2; + $9 = $8&65535; + $10 = (($1) + ($$013<<1)|0); + HEAP16[$10>>1] = $9; + $11 = (($$013) + 1)|0; + $exitcond = ($11|0)==($2|0); if ($exitcond) { break; } else { - $i$01 = $4;$q$02 = $3; + $$013 = $11; } } - return ($mem|0); + return; } -function _codebook_decode_deinterleave_repeat($f,$c,$outputs,$ch,$c_inter_p,$p_inter_p,$len,$total_decode) { - $f = $f|0; - $c = $c|0; - $outputs = $outputs|0; - $ch = $ch|0; - $c_inter_p = $c_inter_p|0; - $p_inter_p = $p_inter_p|0; - $len = $len|0; - $total_decode = $total_decode|0; - var $$ = 0, $$0 = 0, $$0126 = 0, $$2 = 0, $$3 = 0, $$4 = 0, $$p_inter$1 = 0, $$p_inter$3 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0; - var $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0; - var $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0; - var $56 = 0, $57 = 0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0.0, $65 = 0.0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0; - var $74 = 0, $75 = 0, $76 = 0.0, $77 = 0.0, $78 = 0, $79 = 0.0, $8 = 0, $80 = 0.0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $9 = 0, $c_inter$0$lcssa = 0, $c_inter$025 = 0, $c_inter$115 = 0, $c_inter$319 = 0, $c_inter$5 = 0; - var $effective$024 = 0, $effective$1 = 0, $exitcond = 0, $exitcond30 = 0, $i$013 = 0, $i$118 = 0, $last$014 = 0.0, $p_inter$0$lcssa = 0, $p_inter$023 = 0, $p_inter$112 = 0, $p_inter$317 = 0, $p_inter$5 = 0, $z$0 = 0, label = 0, sp = 0; +function _square($0) { + $0 = +$0; + var $1 = 0.0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[$c_inter_p>>2]|0; - $1 = HEAP32[$p_inter_p>>2]|0; - $2 = HEAP32[$c>>2]|0; - $3 = ((($c)) + 21|0); - $4 = HEAP8[$3>>0]|0; - $5 = ($4<<24>>24)==(0); - if ($5) { - _error($f,21); - $$0 = 0; - return ($$0|0); - } - $6 = ($total_decode|0)>(0); - L5: do { - if ($6) { - $7 = ((($f)) + 1396|0); - $8 = ((($f)) + 1392|0); - $9 = ((($c)) + 8|0); - $10 = ((($c)) + 23|0); - $11 = Math_imul($len, $ch)|0; - $12 = ((($c)) + 22|0); - $13 = ((($c)) + 28|0); - $14 = ((($c)) + 28|0); - $15 = ((($c)) + 2092|0); - $$0126 = $total_decode;$c_inter$025 = $0;$effective$024 = $2;$p_inter$023 = $1; - while(1) { - $16 = HEAP32[$7>>2]|0; - $17 = ($16|0)<(10); - if ($17) { - _prep_huffman($f); - } - $18 = HEAP32[$8>>2]|0; - $19 = $18 & 1023; - $20 = (((($c)) + 36|0) + ($19<<1)|0); - $21 = HEAP16[$20>>1]|0; - $22 = $21 << 16 >> 16; - $23 = ($21<<16>>16)>(-1); - if ($23) { - $24 = HEAP32[$9>>2]|0; - $25 = (($24) + ($22)|0); - $26 = HEAP8[$25>>0]|0; - $27 = $26&255; - $28 = $18 >>> $27; - HEAP32[$8>>2] = $28; - $29 = HEAP32[$7>>2]|0; - $30 = (($29) - ($27))|0; - $31 = ($30|0)<(0); - $$ = $31 ? 0 : $30; - HEAP32[$7>>2] = $$; - $$2 = $31 ? -1 : $22; - $z$0 = $$2; - } else { - $32 = (_codebook_decode_scalar_raw($f,$c)|0); - $z$0 = $32; - } - $33 = HEAP8[$10>>0]|0; - $34 = ($33<<24>>24)==(0); - if (!($34)) { - $35 = HEAP32[$15>>2]|0; - $36 = ($z$0|0)<($35|0); - if (!($36)) { - label = 12; - break; - } - } - $37 = ($z$0|0)<(0); - if ($37) { - break; - } - $44 = Math_imul($p_inter$023, $ch)|0; - $45 = (($effective$024) + ($44))|0; - $46 = (($45) + ($c_inter$025))|0; - $47 = ($46|0)>($11|0); - $48 = (($11) - ($44))|0; - $49 = (($48) + ($c_inter$025))|0; - $effective$1 = $47 ? $49 : $effective$024; - $50 = HEAP32[$c>>2]|0; - $51 = Math_imul($50, $z$0)|0; - $52 = HEAP8[$12>>0]|0; - $53 = ($52<<24>>24)==(0); - $54 = ($effective$1|0)>(0); - if ($53) { - if ($54) { - $c_inter$319 = $c_inter$025;$i$118 = 0;$p_inter$317 = $p_inter$023; - while(1) { - $70 = (($outputs) + ($c_inter$319<<2)|0); - $71 = HEAP32[$70>>2]|0; - $72 = ($71|0)==(0|0); - if (!($72)) { - $73 = HEAP32[$13>>2]|0; - $74 = (($i$118) + ($51))|0; - $75 = (($73) + ($74<<2)|0); - $76 = +HEAPF32[$75>>2]; - $77 = $76 + 0.0; - $78 = (($71) + ($p_inter$317<<2)|0); - $79 = +HEAPF32[$78>>2]; - $80 = $79 + $77; - HEAPF32[$78>>2] = $80; - } - $81 = (($c_inter$319) + 1)|0; - $82 = ($81|0)==($ch|0); - $83 = $82&1; - $$p_inter$3 = (($83) + ($p_inter$317))|0; - $$4 = $82 ? 0 : $81; - $84 = (($i$118) + 1)|0; - $exitcond30 = ($84|0)==($effective$1|0); - if ($exitcond30) { - $c_inter$5 = $$4;$p_inter$5 = $$p_inter$3; - break; - } else { - $c_inter$319 = $$4;$i$118 = $84;$p_inter$317 = $$p_inter$3; - } - } - } else { - $c_inter$5 = $c_inter$025;$p_inter$5 = $p_inter$023; - } - } else { - if ($54) { - $55 = HEAP32[$14>>2]|0; - $c_inter$115 = $c_inter$025;$i$013 = 0;$last$014 = 0.0;$p_inter$112 = $p_inter$023; - while(1) { - $56 = (($i$013) + ($51))|0; - $57 = (($55) + ($56<<2)|0); - $58 = +HEAPF32[$57>>2]; - $59 = $last$014 + $58; - $60 = (($outputs) + ($c_inter$115<<2)|0); - $61 = HEAP32[$60>>2]|0; - $62 = ($61|0)==(0|0); - if (!($62)) { - $63 = (($61) + ($p_inter$112<<2)|0); - $64 = +HEAPF32[$63>>2]; - $65 = $59 + $64; - HEAPF32[$63>>2] = $65; - } - $66 = (($c_inter$115) + 1)|0; - $67 = ($66|0)==($ch|0); - $68 = $67&1; - $$p_inter$1 = (($68) + ($p_inter$112))|0; - $$3 = $67 ? 0 : $66; - $69 = (($i$013) + 1)|0; - $exitcond = ($69|0)==($effective$1|0); - if ($exitcond) { - $c_inter$5 = $$3;$p_inter$5 = $$p_inter$1; - break; - } else { - $c_inter$115 = $$3;$i$013 = $69;$last$014 = $59;$p_inter$112 = $$p_inter$1; - } - } - } else { - $c_inter$5 = $c_inter$025;$p_inter$5 = $p_inter$023; - } - } - $85 = (($$0126) - ($effective$1))|0; - $86 = ($85|0)>(0); - if ($86) { - $$0126 = $85;$c_inter$025 = $c_inter$5;$effective$024 = $effective$1;$p_inter$023 = $p_inter$5; - } else { - $c_inter$0$lcssa = $c_inter$5;$p_inter$0$lcssa = $p_inter$5; - break L5; - } - } - if ((label|0) == 12) { - ___assert_fail((15427|0),(14642|0),1430,(15463|0)); - // unreachable; - } - $38 = ((($f)) + 1376|0); - $39 = HEAP8[$38>>0]|0; - $40 = ($39<<24>>24)==(0); - if ($40) { - $41 = ((($f)) + 1384|0); - $42 = HEAP32[$41>>2]|0; - $43 = ($42|0)==(0); - if (!($43)) { - $$0 = 0; - return ($$0|0); - } - } - _error($f,21); - $$0 = 0; - return ($$0|0); - } else { - $c_inter$0$lcssa = $0;$p_inter$0$lcssa = $1; - } - } while(0); - HEAP32[$c_inter_p>>2] = $c_inter$0$lcssa; - HEAP32[$p_inter_p>>2] = $p_inter$0$lcssa; - $$0 = 1; - return ($$0|0); + $1 = $0 * $0; + return (+$1); } -function _residue_decode($f,$book,$target,$offset,$n,$rtype) { - $f = $f|0; - $book = $book|0; - $target = $target|0; - $offset = $offset|0; - $n = $n|0; - $rtype = $rtype|0; - var $$0 = 0, $$017 = 0, $$sum = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0; - var $7 = 0, $8 = 0, $9 = 0, $k$04 = 0, $k$18 = 0, label = 0, sp = 0; +function _include_in_sort($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$$ = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $narrow = 0, $not$ = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = ($rtype|0)==(0); - if ($0) { - $2 = HEAP32[$book>>2]|0; - $3 = (($n|0) / ($2|0))&-1; - $4 = ($3|0)>(0); - if (!($4)) { - $$0 = 1; - return ($$0|0); - } - $5 = (($n) - ($offset))|0; - $k$04 = 0; - while(1) { - $$sum = (($k$04) + ($offset))|0; - $8 = (($target) + ($$sum<<2)|0); - $9 = (($5) - ($k$04))|0; - $10 = (_codebook_decode_step($f,$book,$8,$9,$3)|0); - $11 = ($10|0)==(0); - $6 = (($k$04) + 1)|0; - if ($11) { - $$0 = 0; - label = 10; - break; - } - $7 = ($6|0)<($3|0); - if ($7) { - $k$04 = $6; - } else { - $$0 = 1; - label = 10; - break; - } - } - if ((label|0) == 10) { - return ($$0|0); - } - } else { - $1 = ($n|0)>(0); - if (!($1)) { - $$0 = 1; - return ($$0|0); - } - $$017 = $offset;$k$18 = 0; - while(1) { - $12 = (($target) + ($$017<<2)|0); - $13 = (($n) - ($k$18))|0; - $14 = (_codebook_decode($f,$book,$12,$13)|0); - $15 = ($14|0)==(0); - if ($15) { - $$0 = 0; - label = 10; - break; - } - $16 = HEAP32[$book>>2]|0; - $17 = (($16) + ($k$18))|0; - $18 = (($16) + ($$017))|0; - $19 = ($17|0)<($n|0); - if ($19) { - $$017 = $18;$k$18 = $17; - } else { - $$0 = 1; - label = 10; - break; - } - } - if ((label|0) == 10) { - return ($$0|0); - } - } - return (0)|0; -} -function _codebook_decode_step($f,$c,$output,$len,$step) { - $f = $f|0; - $c = $c|0; - $output = $output|0; - $len = $len|0; - $step = $step|0; - var $$0 = 0, $$len = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0.0, $16 = 0.0, $17 = 0, $18 = 0, $19 = 0.0, $2 = 0, $20 = 0.0, $21 = 0, $3 = 0, $4 = 0, $5 = 0; - var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $i$02 = 0, $last$0$ = 0.0, $last$03 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_codebook_decode_start($f,$c)|0); - $1 = ($0|0)<(0); - if ($1) { - $$0 = 0; - return ($$0|0); - } - $2 = HEAP32[$c>>2]|0; - $3 = ($2|0)<($len|0); - $$len = $3 ? $2 : $len; - $4 = Math_imul($2, $0)|0; - $5 = ($$len|0)>(0); - if (!($5)) { - $$0 = 1; - return ($$0|0); - } - $6 = ((($c)) + 28|0); - $7 = HEAP32[$6>>2]|0; - $8 = ((($c)) + 22|0); - $9 = HEAP8[$8>>0]|0; - $10 = ($9<<24>>24)==(0); - $11 = ($2|0)<($len|0); - $12 = $11 ? $2 : $len; - $i$02 = 0;$last$03 = 0.0; - while(1) { - $13 = (($i$02) + ($4))|0; - $14 = (($7) + ($13<<2)|0); - $15 = +HEAPF32[$14>>2]; - $16 = $last$03 + $15; - $17 = Math_imul($i$02, $step)|0; - $18 = (($output) + ($17<<2)|0); - $19 = +HEAPF32[$18>>2]; - $20 = $19 + $16; - HEAPF32[$18>>2] = $20; - $last$0$ = $10 ? $last$03 : $16; - $21 = (($i$02) + 1)|0; - $exitcond = ($21|0)==($12|0); - if ($exitcond) { - $$0 = 1; - break; - } else { - $i$02 = $21;$last$03 = $last$0$; - } - } - return ($$0|0); -} -function _codebook_decode($f,$c,$output,$len) { - $f = $f|0; - $c = $c|0; - $output = $output|0; - $len = $len|0; - var $$0 = 0, $$len = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0.0, $21 = 0.0, $22 = 0, $23 = 0.0, $24 = 0.0; - var $25 = 0.0, $26 = 0.0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0.0, $31 = 0.0, $32 = 0, $33 = 0.0, $34 = 0.0, $35 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond9 = 0; - var $i$05 = 0, $i$14 = 0, $last$06 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_codebook_decode_start($f,$c)|0); - $1 = ($0|0)<(0); - if ($1) { - $$0 = 0; - return ($$0|0); - } - $2 = HEAP32[$c>>2]|0; - $3 = ($2|0)<($len|0); - $$len = $3 ? $2 : $len; - $4 = Math_imul($2, $0)|0; - $5 = ((($c)) + 22|0); - $6 = HEAP8[$5>>0]|0; - $7 = ($6<<24>>24)==(0); - $8 = ($$len|0)>(0); - if ($7) { - if (!($8)) { - $$0 = 1; - return ($$0|0); - } - $14 = ((($c)) + 28|0); - $15 = HEAP32[$14>>2]|0; - $16 = ($2|0)<($len|0); - $17 = $16 ? $2 : $len; - $i$14 = 0; - while(1) { - $28 = (($i$14) + ($4))|0; - $29 = (($15) + ($28<<2)|0); - $30 = +HEAPF32[$29>>2]; - $31 = $30 + 0.0; - $32 = (($output) + ($i$14<<2)|0); - $33 = +HEAPF32[$32>>2]; - $34 = $33 + $31; - HEAPF32[$32>>2] = $34; - $35 = (($i$14) + 1)|0; - $exitcond = ($35|0)==($17|0); - if ($exitcond) { - $$0 = 1; - break; - } else { - $i$14 = $35; - } - } - return ($$0|0); - } else { - if (!($8)) { - $$0 = 1; - return ($$0|0); - } - $9 = ((($c)) + 28|0); - $10 = HEAP32[$9>>2]|0; - $11 = ((($c)) + 12|0); - $12 = ($2|0)<($len|0); - $13 = $12 ? $2 : $len; - $i$05 = 0;$last$06 = 0.0; - while(1) { - $18 = (($i$05) + ($4))|0; - $19 = (($10) + ($18<<2)|0); - $20 = +HEAPF32[$19>>2]; - $21 = $last$06 + $20; - $22 = (($output) + ($i$05<<2)|0); - $23 = +HEAPF32[$22>>2]; - $24 = $23 + $21; - HEAPF32[$22>>2] = $24; - $25 = +HEAPF32[$11>>2]; - $26 = $21 + $25; - $27 = (($i$05) + 1)|0; - $exitcond9 = ($27|0)==($13|0); - if ($exitcond9) { - $$0 = 1; - break; - } else { - $i$05 = $27;$last$06 = $26; - } - } - return ($$0|0); - } - return (0)|0; -} -function _codebook_decode_start($f,$c) { - $f = $f|0; - $c = $c|0; - var $$ = 0, $$0 = 0, $$1 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; - var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $z$0 = 0; - var label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($c)) + 21|0); - $1 = HEAP8[$0>>0]|0; - $2 = ($1<<24>>24)==(0); - if ($2) { - _error($f,21); - $$0 = -1; - return ($$0|0); - } - $3 = ((($f)) + 1396|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)<(10); - if ($5) { - _prep_huffman($f); - } - $6 = ((($f)) + 1392|0); - $7 = HEAP32[$6>>2]|0; - $8 = $7 & 1023; - $9 = (((($c)) + 36|0) + ($8<<1)|0); - $10 = HEAP16[$9>>1]|0; - $11 = $10 << 16 >> 16; - $12 = ($10<<16>>16)>(-1); - if ($12) { - $13 = ((($c)) + 8|0); - $14 = HEAP32[$13>>2]|0; - $15 = (($14) + ($11)|0); - $16 = HEAP8[$15>>0]|0; - $17 = $16&255; - $18 = $7 >>> $17; - HEAP32[$6>>2] = $18; - $19 = HEAP32[$3>>2]|0; - $20 = (($19) - ($17))|0; - $21 = ($20|0)<(0); - $$ = $21 ? 0 : $20; - HEAP32[$3>>2] = $$; - $$1 = $21 ? -1 : $11; - $z$0 = $$1; - } else { - $22 = (_codebook_decode_scalar_raw($f,$c)|0); - $z$0 = $22; - } - $23 = ((($c)) + 23|0); - $24 = HEAP8[$23>>0]|0; - $25 = ($24<<24>>24)==(0); - if (!($25)) { - $26 = ((($c)) + 2092|0); - $27 = HEAP32[$26>>2]|0; - $28 = ($z$0|0)<($27|0); - if (!($28)) { - ___assert_fail((15383|0),(14642|0),1336,(15405|0)); - // unreachable; - } - } - $29 = ($z$0|0)<(0); - if (!($29)) { - $$0 = $z$0; - return ($$0|0); - } - $30 = ((($f)) + 1376|0); - $31 = HEAP8[$30>>0]|0; - $32 = ($31<<24>>24)==(0); - if ($32) { - $33 = ((($f)) + 1384|0); - $34 = HEAP32[$33>>2]|0; - $35 = ($34|0)==(0); - if (!($35)) { - $$0 = $z$0; - return ($$0|0); - } - } - _error($f,21); - $$0 = $z$0; - return ($$0|0); -} -function _stbi__pnm_info($s,$x,$y,$comp) { - $s = $s|0; - $x = $x|0; - $y = $y|0; - $comp = $comp|0; - var $$0 = 0, $$off = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $c = 0, $or$cond = 0, $switch = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $c = sp; - _stbi__rewind($s); - $0 = (_stbi__get8($s)|0); - $1 = (_stbi__get8($s)|0); - $2 = ($0<<24>>24)==(80); - $$off = (($1) + -53)<<24>>24; - $switch = ($$off&255)<(2); - $or$cond = $2 & $switch; - if (!($or$cond)) { - _stbi__rewind($s); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $3 = ($1<<24>>24)==(54); - $4 = $3 ? 3 : 1; - HEAP32[$comp>>2] = $4; - $5 = (_stbi__get8($s)|0); - HEAP8[$c>>0] = $5; - _stbi__pnm_skip_whitespace($s,$c); - $6 = (_stbi__pnm_getinteger($s,$c)|0); - HEAP32[$x>>2] = $6; - _stbi__pnm_skip_whitespace($s,$c); - $7 = (_stbi__pnm_getinteger($s,$c)|0); - HEAP32[$y>>2] = $7; - _stbi__pnm_skip_whitespace($s,$c); - $8 = (_stbi__pnm_getinteger($s,$c)|0); - $9 = ($8|0)>(255); - if (!($9)) { - $$0 = 1; - STACKTOP = sp;return ($$0|0); - } - _stbi__err(17084); - $$0 = 0; - STACKTOP = sp;return ($$0|0); -} -function _stbi__get8($s) { - $s = $s|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($s)) + 168|0); - $1 = HEAP32[$0>>2]|0; - $2 = ((($s)) + 172|0); - $3 = HEAP32[$2>>2]|0; - $4 = ($1>>>0)<($3>>>0); + $2 = ((($0)) + 23|0); + $3 = HEAP8[$2>>0]|0; + $4 = ($3<<24>>24)==(0); + $5 = ($1<<24>>24)==(-1); if ($4) { - $5 = ((($1)) + 1|0); - HEAP32[$0>>2] = $5; - $6 = HEAP8[$1>>0]|0; - $$0 = $6; - return ($$0|0); + $6 = ($1&255)>(10); + $not$ = $5 ^ 1; + $narrow = $6 & $not$; + $$$ = $narrow&1; + return ($$$|0); } - $7 = ((($s)) + 32|0); - $8 = HEAP32[$7>>2]|0; - $9 = ($8|0)==(0); - if ($9) { - $$0 = 0; - return ($$0|0); + if ($5) { + ___assert_fail((17073|0),(16331|0),742,(17088|0)); + // unreachable; + } else { + return 1; } - _stbi__refill_buffer($s); - $10 = HEAP32[$0>>2]|0; - $11 = ((($10)) + 1|0); - HEAP32[$0>>2] = $11; - $12 = HEAP8[$10>>0]|0; - $$0 = $12; - return ($$0|0); + return (0)|0; } -function _stbi__rewind($s) { - $s = $s|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; +function _uint32_compare($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = ((($s)) + 176|0); - $1 = HEAP32[$0>>2]|0; - $2 = ((($s)) + 168|0); - HEAP32[$2>>2] = $1; - $3 = ((($s)) + 180|0); - $4 = HEAP32[$3>>2]|0; - $5 = ((($s)) + 172|0); - HEAP32[$5>>2] = $4; - return; + $2 = HEAP32[$0>>2]|0; + $3 = HEAP32[$1>>2]|0; + $4 = ($2>>>0)<($3>>>0); + $5 = ($2>>>0)>($3>>>0); + $6 = $5&1; + $7 = $4 ? -1 : $6; + return ($7|0); } -function _stbi__skip($s,$n) { - $s = $s|0; - $n = $n|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0; - var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; +function _add_entry($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + var $$sink = 0, $$sink1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = ($n|0)<(0); - if ($0) { - $1 = ((($s)) + 172|0); - $2 = HEAP32[$1>>2]|0; - $3 = ((($s)) + 168|0); - HEAP32[$3>>2] = $2; + $6 = ((($0)) + 23|0); + $7 = HEAP8[$6>>0]|0; + $8 = ($7<<24>>24)==(0); + $9 = ((($0)) + 32|0); + $10 = HEAP32[$9>>2]|0; + if ($8) { + $11 = (($10) + ($2<<2)|0); + $$sink = $1;$$sink1 = $11; + HEAP32[$$sink1>>2] = $$sink; + return; + } else { + $12 = (($10) + ($3<<2)|0); + HEAP32[$12>>2] = $1; + $13 = $4&255; + $14 = ((($0)) + 8|0); + $15 = HEAP32[$14>>2]|0; + $16 = (($15) + ($3)|0); + HEAP8[$16>>0] = $13; + $17 = (($5) + ($3<<2)|0); + $$sink = $2;$$sink1 = $17; + HEAP32[$$sink1>>2] = $$sink; return; } - $4 = ((($s)) + 16|0); +} +function _LoadSound($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$byval_copy1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0); + $$byval_copy1 = sp + 20|0; + $2 = sp; + _LoadWave($2,$1); + ;HEAP32[$$byval_copy1>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$2+16>>2]|0; + _LoadSoundFromWave($0,$$byval_copy1); + ;HEAP32[$$byval_copy1>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$2+16>>2]|0; + _UnloadWave($$byval_copy1); + STACKTOP = sp;return; +} +function _LoadSoundFromWave($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $$sroa$0$0 = 0, $$sroa$5$0 = 0, $$sroa$5$0$$sroa_idx7 = 0, $$sroa$6$0 = 0, $$sroa$6$0$$sroa_idx9 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0; + var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $5 = 0; + var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer4 = 0, $vararg_buffer7 = 0, $vararg_ptr10 = 0, $vararg_ptr11 = 0, $vararg_ptr12 = 0, $vararg_ptr13 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $vararg_buffer7 = sp + 24|0; + $vararg_buffer4 = sp + 16|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $2 = sp + 48|0; + $3 = sp + 44|0; + $4 = ((($1)) + 16|0); $5 = HEAP32[$4>>2]|0; $6 = ($5|0)==(0|0); - if (!($6)) { - $7 = ((($s)) + 172|0); - $8 = HEAP32[$7>>2]|0; - $9 = ((($s)) + 168|0); - $10 = HEAP32[$9>>2]|0; - $11 = $8; - $12 = $10; - $13 = (($11) - ($12))|0; - $14 = ($13|0)<($n|0); - if ($14) { - HEAP32[$9>>2] = $8; - $15 = ((($s)) + 20|0); - $16 = HEAP32[$15>>2]|0; - $17 = ((($s)) + 28|0); - $18 = HEAP32[$17>>2]|0; - $19 = (($n) - ($13))|0; - FUNCTION_TABLE_vii[$16 & 63]($18,$19); - return; - } - } - $20 = ((($s)) + 168|0); - $21 = HEAP32[$20>>2]|0; - $22 = (($21) + ($n)|0); - HEAP32[$20>>2] = $22; - return; -} -function _stbi__tga_get_comp($bits_per_pixel,$is_grey,$is_rgb16) { - $bits_per_pixel = $bits_per_pixel|0; - $is_grey = $is_grey|0; - $is_rgb16 = $is_rgb16|0; - var $$0 = 0, $$mux = 0, $$not = 0, $$not1 = 0, $0 = 0, $1 = 0, $brmerge = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ($is_rgb16|0)!=(0|0); - if ($0) { - HEAP32[$is_rgb16>>2] = 0; - } - switch ($bits_per_pixel|0) { - case 8: { - $$0 = 1; - break; - } - case 16: { - $$not = ($is_grey|0)!=(0); - $$not1 = $0 ^ 1; - $brmerge = $$not | $$not1; - $$mux = $$not ? 2 : 3; - if ($brmerge) { - $$0 = $$mux; - } else { - label = 6; - } - break; - } - case 15: { - if ($0) { - label = 6; - } else { - $$0 = 3; - } - break; - } - case 32: case 24: { - $1 = (($bits_per_pixel|0) / 8)&-1; - $$0 = $1; - break; - } - default: { - $$0 = 0; - } - } - if ((label|0) == 6) { - HEAP32[$is_rgb16>>2] = 1; - $$0 = 3; - } - return ($$0|0); -} -function _stbi__refill_buffer($s) { - $s = $s|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($s)) + 16|0); - $1 = HEAP32[$0>>2]|0; - $2 = ((($s)) + 28|0); - $3 = HEAP32[$2>>2]|0; - $4 = ((($s)) + 40|0); - $5 = ((($s)) + 36|0); - $6 = HEAP32[$5>>2]|0; - $7 = (FUNCTION_TABLE_iiii[$1 & 15]($3,$4,$6)|0); - $8 = ($7|0)==(0); - if ($8) { - $9 = ((($s)) + 32|0); - HEAP32[$9>>2] = 0; - $10 = ((($s)) + 168|0); - HEAP32[$10>>2] = $4; - $11 = ((($s)) + 41|0); - $12 = ((($s)) + 172|0); - HEAP32[$12>>2] = $11; - $13 = HEAP32[$10>>2]|0; - HEAP8[$13>>0] = 0; - return; - } else { - $14 = ((($s)) + 168|0); - HEAP32[$14>>2] = $4; - $15 = (((($s)) + 40|0) + ($7)|0); - $16 = ((($s)) + 172|0); - HEAP32[$16>>2] = $15; - return; - } -} -function _stbi__pnm_skip_whitespace($s,$c) { - $s = $s|0; - $c = $c|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - L1: while(1) { - $0 = (_stbi__at_eof($s)|0); - $1 = ($0|0)==(0); - if ($1) { - $2 = HEAP8[$c>>0]|0; - $3 = (_stbi__pnm_isspace($2)|0); - $4 = ($3|0)==(0); - if (!($4)) { - $5 = (_stbi__get8($s)|0); - HEAP8[$c>>0] = $5; - continue; - } - } - $6 = (_stbi__at_eof($s)|0); - $7 = ($6|0)==(0); - if (!($7)) { - label = 10; - break; - } - $8 = HEAP8[$c>>0]|0; - $9 = ($8<<24>>24)==(35); - if (!($9)) { - label = 10; - break; - } - $10 = (_stbi__at_eof($s)|0); - $11 = ($10|0)==(0); - if (!($11)) { - continue; - } - while(1) { - $12 = HEAP8[$c>>0]|0; - switch ($12<<24>>24) { - case 13: case 10: { - continue L1; - break; - } - default: { - } - } - $13 = (_stbi__get8($s)|0); - HEAP8[$c>>0] = $13; - $14 = (_stbi__at_eof($s)|0); - $15 = ($14|0)==(0); - if (!($15)) { - continue L1; - } - } - } - if ((label|0) == 10) { - return; - } -} -function _stbi__pnm_getinteger($s,$c) { - $s = $s|0; - $c = $c|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $value$0$lcssa = 0, $value$01 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_stbi__at_eof($s)|0); - $1 = ($0|0)==(0); - if ($1) { - $value$01 = 0; - } else { - $value$0$lcssa = 0; - return ($value$0$lcssa|0); - } - while(1) { - $2 = HEAP8[$c>>0]|0; - $3 = (_stbi__pnm_isdigit($2)|0); - $4 = ($3|0)==(0); - if ($4) { - $value$0$lcssa = $value$01; - label = 4; - break; - } - $5 = ($value$01*10)|0; - $6 = $2 << 24 >> 24; - $7 = (($5) + -48)|0; - $8 = (($7) + ($6))|0; - $9 = (_stbi__get8($s)|0); - HEAP8[$c>>0] = $9; - $10 = (_stbi__at_eof($s)|0); - $11 = ($10|0)==(0); - if ($11) { - $value$01 = $8; - } else { - $value$0$lcssa = $8; - label = 4; - break; - } - } - if ((label|0) == 4) { - return ($value$0$lcssa|0); - } - return (0)|0; -} -function _stbi__at_eof($s) { - $s = $s|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; - var sp = 0; - sp = STACKTOP; - $0 = ((($s)) + 16|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)==(0|0); - if (!($2)) { - $3 = ((($s)) + 24|0); - $4 = HEAP32[$3>>2]|0; - $5 = ((($s)) + 28|0); - $6 = HEAP32[$5>>2]|0; - $7 = (FUNCTION_TABLE_ii[$4 & 15]($6)|0); - $8 = ($7|0)==(0); - if ($8) { - $$0 = 0; - return ($$0|0); - } - $9 = ((($s)) + 32|0); - $10 = HEAP32[$9>>2]|0; - $11 = ($10|0)==(0); - if ($11) { - $$0 = 1; - return ($$0|0); - } - } - $12 = ((($s)) + 168|0); - $13 = HEAP32[$12>>2]|0; - $14 = ((($s)) + 172|0); - $15 = HEAP32[$14>>2]|0; - $16 = ($13>>>0)>=($15>>>0); - $17 = $16&1; - $$0 = $17; - return ($$0|0); -} -function _stbi__pnm_isdigit($c) { - $c = $c|0; - var $0 = 0, $1 = 0, $c$off = 0, label = 0, sp = 0; - sp = STACKTOP; - $c$off = (($c) + -48)<<24>>24; - $0 = ($c$off&255)<(10); - $1 = $0&1; - return ($1|0); -} -function _stbi__pnm_isspace($c) { - $c = $c|0; - var $0 = 0, $1 = 0, $phitmp = 0, $switch$cast = 0, $switch$cast$clear = 0, $switch$downshift = 0, $switch$masked = 0, $switch$tableidx = 0, label = 0, sp = 0; - sp = STACKTOP; - $switch$tableidx = (($c) + -9)<<24>>24; - $0 = ($switch$tableidx&255)<(24); - if (!($0)) { - $1 = 0; - return ($1|0); - } - $switch$cast = $switch$tableidx&255; - $switch$cast$clear = $switch$cast & 16777215; - $switch$downshift = 8388639 >>> $switch$cast$clear; - $switch$masked = $switch$downshift & 16777215; - $phitmp = $switch$masked & 1; - $1 = $phitmp; - return ($1|0); -} -function _stbi__pic_is4($s,$str) { - $s = $s|0; - $str = $str|0; - var $$ = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_stbi__get8($s)|0); - $1 = HEAP8[$str>>0]|0; - $2 = ($0<<24>>24)==($1<<24>>24); - if (!($2)) { - return 0; - } - $3 = (_stbi__get8($s)|0); - $4 = ((($str)) + 1|0); - $5 = HEAP8[$4>>0]|0; - $6 = ($3<<24>>24)==($5<<24>>24); - if (!($6)) { - return 0; - } - $7 = (_stbi__get8($s)|0); - $8 = ((($str)) + 2|0); - $9 = HEAP8[$8>>0]|0; - $10 = ($7<<24>>24)==($9<<24>>24); - if ($10) { - $11 = (_stbi__get8($s)|0); - $12 = ((($str)) + 3|0); - $13 = HEAP8[$12>>0]|0; - $14 = ($11<<24>>24)==($13<<24>>24); - $$ = $14&1; - return ($$|0); - } else { - return 0; - } - return (0)|0; -} -function _stbi__get16be($s) { - $s = $s|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_stbi__get8($s)|0); - $1 = $0&255; - $2 = $1 << 8; - $3 = (_stbi__get8($s)|0); - $4 = $3&255; - $5 = $2 | $4; - return ($5|0); -} -function _stbi__get32be($s) { - $s = $s|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_stbi__get16be($s)|0); - $1 = $0 << 16; - $2 = (_stbi__get16be($s)|0); - $3 = (($1) + ($2))|0; - return ($3|0); -} -function _stbi__bmp_parse_header($s,$info) { - $s = $s|0; - $info = $info|0; - var $$0 = 0, $$off = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; - var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0; - var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_stbi__get8($s)|0); - $1 = ($0<<24>>24)==(66); - if ($1) { - $2 = (_stbi__get8($s)|0); - $3 = ($2<<24>>24)==(77); - if ($3) { - (_stbi__get32le($s)|0); - (_stbi__get16le($s)|0); - (_stbi__get16le($s)|0); - $4 = (_stbi__get32le($s)|0); - $5 = ((($info)) + 4|0); - HEAP32[$5>>2] = $4; - $6 = (_stbi__get32le($s)|0); - $7 = ((($info)) + 8|0); - HEAP32[$7>>2] = $6; - $8 = ($6|0)==(12); - switch ($6|0) { - case 12: { - $9 = (_stbi__get16le($s)|0); - HEAP32[$s>>2] = $9; - $10 = (_stbi__get16le($s)|0); - $11 = ((($s)) + 4|0); - HEAP32[$11>>2] = $10; - break; - } - case 124: case 108: case 56: case 40: { - $12 = (_stbi__get32le($s)|0); - HEAP32[$s>>2] = $12; - $13 = (_stbi__get32le($s)|0); - $14 = ((($s)) + 4|0); - HEAP32[$14>>2] = $13; - break; - } - default: { - _stbi__err(17113); - $$0 = 0; - return ($$0|0); - } - } - $15 = (_stbi__get16le($s)|0); - $16 = ($15|0)==(1); - if (!($16)) { - _stbi__err(17125); - $$0 = 0; - return ($$0|0); - } - $17 = (_stbi__get16le($s)|0); - HEAP32[$info>>2] = $17; - $18 = ($17|0)==(1); - if ($18) { - _stbi__err(17133); - $$0 = 0; - return ($$0|0); - } - if ($8) { - $$0 = (1); - return ($$0|0); - } - $19 = (_stbi__get32le($s)|0); - $$off = (($19) + -1)|0; - $20 = ($$off>>>0)<(2); - if ($20) { - _stbi__err(17144); - $$0 = 0; - return ($$0|0); - } - (_stbi__get32le($s)|0); - (_stbi__get32le($s)|0); - (_stbi__get32le($s)|0); - (_stbi__get32le($s)|0); - (_stbi__get32le($s)|0); - $21 = $6 & -17; - $22 = ($21|0)==(40); - if (!($22)) { - switch ($6|0) { - case 108: case 124: { - break; - } - default: { - _stbi__err(17125); - $$0 = 0; - return ($$0|0); - } - } - $39 = (_stbi__get32le($s)|0); - $40 = ((($info)) + 12|0); - HEAP32[$40>>2] = $39; - $41 = (_stbi__get32le($s)|0); - $42 = ((($info)) + 16|0); - HEAP32[$42>>2] = $41; - $43 = (_stbi__get32le($s)|0); - $44 = ((($info)) + 20|0); - HEAP32[$44>>2] = $43; - $45 = (_stbi__get32le($s)|0); - $46 = ((($info)) + 24|0); - HEAP32[$46>>2] = $45; - (_stbi__get32le($s)|0); - (_stbi__get32le($s)|0); - (_stbi__get32le($s)|0); - (_stbi__get32le($s)|0); - (_stbi__get32le($s)|0); - (_stbi__get32le($s)|0); - (_stbi__get32le($s)|0); - (_stbi__get32le($s)|0); - (_stbi__get32le($s)|0); - (_stbi__get32le($s)|0); - (_stbi__get32le($s)|0); - (_stbi__get32le($s)|0); - (_stbi__get32le($s)|0); - $47 = ($6|0)==(124); - if (!($47)) { - $$0 = (1); - return ($$0|0); - } - (_stbi__get32le($s)|0); - (_stbi__get32le($s)|0); - (_stbi__get32le($s)|0); - (_stbi__get32le($s)|0); - $$0 = (1); - return ($$0|0); - } - $23 = ($6|0)==(56); - if ($23) { - (_stbi__get32le($s)|0); - (_stbi__get32le($s)|0); - (_stbi__get32le($s)|0); - (_stbi__get32le($s)|0); - } - $24 = HEAP32[$info>>2]|0; - switch ($24|0) { - case 32: case 16: { - break; - } - default: { - $$0 = (1); - return ($$0|0); - } - } - $25 = ((($info)) + 20|0); - HEAP32[$25>>2] = 0; - $26 = ((($info)) + 16|0); - HEAP32[$26>>2] = 0; - $27 = ((($info)) + 12|0); - HEAP32[$27>>2] = 0; - switch ($19|0) { - case 0: { - $28 = HEAP32[$info>>2]|0; - $29 = ($28|0)==(32); - if ($29) { - HEAP32[$27>>2] = 16711680; - HEAP32[$26>>2] = 65280; - HEAP32[$25>>2] = 255; - $30 = ((($info)) + 24|0); - HEAP32[$30>>2] = -16777216; - $31 = ((($info)) + 28|0); - HEAP32[$31>>2] = 0; - $$0 = (1); - return ($$0|0); - } else { - HEAP32[$27>>2] = 31744; - HEAP32[$26>>2] = 992; - HEAP32[$25>>2] = 31; - $$0 = (1); - return ($$0|0); - } - break; - } - case 3: { - $32 = (_stbi__get32le($s)|0); - HEAP32[$27>>2] = $32; - $33 = (_stbi__get32le($s)|0); - HEAP32[$26>>2] = $33; - $34 = (_stbi__get32le($s)|0); - HEAP32[$25>>2] = $34; - $35 = HEAP32[$27>>2]|0; - $36 = HEAP32[$26>>2]|0; - $37 = ($35|0)==($36|0); - $38 = ($36|0)==($34|0); - $or$cond = $37 & $38; - if (!($or$cond)) { - $$0 = (1); - return ($$0|0); - } - _stbi__err(17125); - $$0 = 0; - return ($$0|0); - break; - } - default: { - _stbi__err(17125); - $$0 = 0; - return ($$0|0); - } - } - } - } - _stbi__err(17105); - $$0 = 0; - return ($$0|0); -} -function _stbi__get32le($s) { - $s = $s|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_stbi__get16le($s)|0); - $1 = (_stbi__get16le($s)|0); - $2 = $1 << 16; - $3 = (($2) + ($0))|0; - return ($3|0); -} -function _stbi__gif_header($s,$g,$comp,$is_info) { - $s = $s|0; - $g = $g|0; - $comp = $comp|0; - $is_info = $is_info|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_stbi__get8($s)|0); - $1 = ($0<<24>>24)==(71); - if ($1) { - $2 = (_stbi__get8($s)|0); - $3 = ($2<<24>>24)==(73); - if ($3) { - $4 = (_stbi__get8($s)|0); - $5 = ($4<<24>>24)==(70); - if ($5) { - $6 = (_stbi__get8($s)|0); - $7 = ($6<<24>>24)==(56); - if ($7) { - $8 = (_stbi__get8($s)|0); - switch ($8<<24>>24) { - case 57: case 55: { - break; - } - default: { - _stbi__err(17152); - $$0 = 0; - return ($$0|0); - } - } - $9 = (_stbi__get8($s)|0); - $10 = ($9<<24>>24)==(97); - if (!($10)) { - _stbi__err(17152); - $$0 = 0; - return ($$0|0); - } - HEAP32[5704>>2] = 17160; - $11 = (_stbi__get16le($s)|0); - HEAP32[$g>>2] = $11; - $12 = (_stbi__get16le($s)|0); - $13 = ((($g)) + 4|0); - HEAP32[$13>>2] = $12; - $14 = (_stbi__get8($s)|0); - $15 = $14&255; - $16 = ((($g)) + 16|0); - HEAP32[$16>>2] = $15; - $17 = (_stbi__get8($s)|0); - $18 = $17&255; - $19 = ((($g)) + 20|0); - HEAP32[$19>>2] = $18; - $20 = (_stbi__get8($s)|0); - $21 = $20&255; - $22 = ((($g)) + 24|0); - HEAP32[$22>>2] = $21; - $23 = ((($g)) + 28|0); - HEAP32[$23>>2] = -1; - $24 = ($comp|0)==(0|0); - if (!($24)) { - HEAP32[$comp>>2] = 4; - } - $25 = ($is_info|0)==(0); - if (!($25)) { - $$0 = 1; - return ($$0|0); - } - $26 = HEAP32[$16>>2]|0; - $27 = $26 & 128; - $28 = ($27|0)==(0); - if ($28) { - $$0 = 1; - return ($$0|0); - } - $29 = ((($g)) + 40|0); - $30 = $26 & 7; - $31 = 2 << $30; - _stbi__gif_parse_colortable($s,$29,$31,-1); - $$0 = 1; - return ($$0|0); - } - } - } - } - _stbi__err(17152); - $$0 = 0; - return ($$0|0); -} -function _stbi__gif_parse_colortable($s,$pal,$num_entries,$transp) { - $s = $s|0; - $pal = $pal|0; - $num_entries = $num_entries|0; - $transp = $transp|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $i$01 = 0, $not$ = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ($num_entries|0)>(0); - if ($0) { - $i$01 = 0; - } else { - return; - } - while(1) { - $1 = (_stbi__get8($s)|0); - $2 = (((($pal) + ($i$01<<2)|0)) + 2|0); - HEAP8[$2>>0] = $1; - $3 = (_stbi__get8($s)|0); - $4 = (((($pal) + ($i$01<<2)|0)) + 1|0); - HEAP8[$4>>0] = $3; - $5 = (_stbi__get8($s)|0); - $6 = (($pal) + ($i$01<<2)|0); - HEAP8[$6>>0] = $5; - $not$ = ($i$01|0)!=($transp|0); - $7 = $not$ << 31 >> 31; - $8 = (((($pal) + ($i$01<<2)|0)) + 3|0); - HEAP8[$8>>0] = $7; - $9 = (($i$01) + 1)|0; - $exitcond = ($9|0)==($num_entries|0); - if ($exitcond) { - break; - } else { - $i$01 = $9; - } - } - return; -} -function _stbi__parse_png_file($z,$scan,$req_comp) { - $z = $z|0; - $scan = $scan|0; - $req_comp = $req_comp|0; - var $$ = 0, $$0 = 0, $$lcssa1740 = 0, $$lobit = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0; - var $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0; - var $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0; - var $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0; - var $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0; - var $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; - var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0; - var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0; - var $c = 0, $color$0 = 0, $color$0$lcssa = 0, $color$1 = 0, $depth$0 = 0, $depth$0$lcssa = 0, $depth$1 = 0, $first$0 = 0, $first$0$lcssa = 0, $first$1 = 0, $has_trans$0 = 0, $has_trans$0$lcssa = 0, $has_trans$1 = 0, $i$0337 = 0, $i$1334 = 0, $idata_limit$0 = 0, $idata_limit$1 = 0, $idata_limit$1$lcssa = 0, $idata_limit$1$ph = 0, $idata_limit$2 = 0; - var $idata_limit$3 = 0, $interlace$0 = 0, $interlace$0$lcssa = 0, $interlace$1 = 0, $ioff$0 = 0, $ioff$0$lcssa = 0, $ioff$1 = 0, $is_iphone$0 = 0, $is_iphone$0$lcssa = 0, $is_iphone$1 = 0, $k$0335 = 0, $notlhs = 0, $notrhs = 0, $or$cond = 0, $or$cond11 = 0, $or$cond13 = 0, $or$cond7 = 0, $or$cond9$not = 0, $pal_img_n$0 = 0, $pal_img_n$0$lcssa = 0; - var $pal_img_n$0$lcssa1681 = 0, $pal_img_n$1 = 0, $pal_img_n$2 = 0, $pal_len$0 = 0, $pal_len$1 = 0, $palette = 0, $raw_len = 0, $req_comp$ = 0, $switch$split102D = 0, $switch$split12D = 0, $switch$split2D = 0, $switch$split42D = 0, $switch$split72D = 0, $tc = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 1056|0; - $palette = sp + 24|0; - $tc = sp + 16|0; - $c = sp + 8|0; - $raw_len = sp; - $0 = HEAP32[$z>>2]|0; - $1 = ((($z)) + 8|0); - HEAP32[$1>>2] = 0; - $2 = ((($z)) + 4|0); - HEAP32[$2>>2] = 0; - $3 = ((($z)) + 12|0); - HEAP32[$3>>2] = 0; - $4 = (_stbi__check_png_header($0)|0); - $5 = ($4|0)==(0); - if ($5) { - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $6 = ($scan|0)==(1); if ($6) { - $$0 = 1; - STACKTOP = sp;return ($$0|0); + $$sroa$0$0 = 0;$$sroa$5$0 = 0;$$sroa$6$0 = 0; + HEAP32[$0>>2] = $$sroa$0$0; + $$sroa$5$0$$sroa_idx7 = ((($0)) + 4|0); + HEAP32[$$sroa$5$0$$sroa_idx7>>2] = $$sroa$5$0; + $$sroa$6$0$$sroa_idx9 = ((($0)) + 8|0); + HEAP32[$$sroa$6$0$$sroa_idx9>>2] = $$sroa$6$0; + STACKTOP = sp;return; } - $7 = ((($c)) + 4|0); - $8 = ((($0)) + 4|0); - $9 = ((($0)) + 8|0); - $10 = ($scan|0)==(2); - $11 = ((($0)) + 8|0); - $12 = ((($0)) + 8|0); - $13 = ($scan|0)==(2); - $14 = ($scan|0)==(2); - $color$0 = 0;$depth$0 = 0;$first$0 = 1;$has_trans$0 = 0;$idata_limit$0 = 0;$interlace$0 = 0;$ioff$0 = 0;$is_iphone$0 = 0;$pal_img_n$0 = 0;$pal_len$0 = 0; - L7: while(1) { - _stbi__get_chunk_header($c,$0); - $15 = HEAP32[$7>>2]|0; - $switch$split2D = ($15|0)<(1229472850); - L9: do { - if ($switch$split2D) { - $switch$split12D = ($15|0)<(1229209940); - if ($switch$split12D) { - switch ($15|0) { - case 1130840649: { - break; - } - default: { - label = 96; - break L9; - } - } - $16 = HEAP32[$c>>2]|0; - _stbi__skip($0,$16); - $color$1 = $color$0;$depth$1 = $depth$0;$first$1 = $first$0;$has_trans$1 = $has_trans$0;$idata_limit$3 = $idata_limit$0;$interlace$1 = $interlace$0;$ioff$1 = $ioff$0;$is_iphone$1 = 1;$pal_img_n$2 = $pal_img_n$0;$pal_len$1 = $pal_len$0; - break; - } - $switch$split72D = ($15|0)<(1229278788); - if (!($switch$split72D)) { - switch ($15|0) { - case 1229278788: { - $color$0$lcssa = $color$0;$depth$0$lcssa = $depth$0;$first$0$lcssa = $first$0;$has_trans$0$lcssa = $has_trans$0;$interlace$0$lcssa = $interlace$0;$ioff$0$lcssa = $ioff$0;$is_iphone$0$lcssa = $is_iphone$0;$pal_img_n$0$lcssa = $pal_img_n$0; - label = 81; - break L7; - break; - } - default: { - label = 96; - break L9; - } - } - } - switch ($15|0) { - case 1229209940: { - break; - } - default: { - label = 96; - break L9; - } - } - $114 = ($first$0|0)==(0); - if (!($114)) { - label = 66; - break L7; - } - $115 = ($pal_img_n$0<<24>>24)==(0); - $116 = ($pal_len$0|0)!=(0); - $or$cond7 = $116 | $115; - if (!($or$cond7)) { - label = 68; - break L7; - } - if ($14) { - $pal_img_n$0$lcssa1681 = $pal_img_n$0; - label = 70; - break L7; - } - $119 = HEAP32[$c>>2]|0; - $120 = (($119) + ($ioff$0))|0; - $121 = ($120|0)<($ioff$0|0); - if ($121) { - $$0 = 0; - label = 102; - break L7; - } - $122 = ($120>>>0)>($idata_limit$0>>>0); - if ($122) { - $123 = ($idata_limit$0|0)==(0); - $124 = ($119>>>0)>(4096); - $125 = $124 ? $119 : 4096; - $idata_limit$1$ph = $123 ? $125 : $idata_limit$0; - $126 = HEAP32[$c>>2]|0; - $127 = (($126) + ($ioff$0))|0; - $idata_limit$1 = $idata_limit$1$ph; - while(1) { - $128 = ($127>>>0)>($idata_limit$1>>>0); - $129 = $idata_limit$1 << 1; - if ($128) { - $idata_limit$1 = $129; - } else { - $idata_limit$1$lcssa = $idata_limit$1; - break; - } - } - $130 = HEAP32[$2>>2]|0; - $131 = (_realloc($130,$idata_limit$1$lcssa)|0); - $132 = ($131|0)==(0|0); - if ($132) { - label = 76; - break L7; - } - HEAP32[$2>>2] = $131; - $idata_limit$2 = $idata_limit$1$lcssa; - } else { - $idata_limit$2 = $idata_limit$0; - } - $133 = HEAP32[$2>>2]|0; - $134 = (($133) + ($ioff$0)|0); - $135 = HEAP32[$c>>2]|0; - $136 = (_stbi__getn($0,$134,$135)|0); - $137 = ($136|0)==(0); - if ($137) { - label = 79; - break L7; - } - $138 = HEAP32[$c>>2]|0; - $139 = (($138) + ($ioff$0))|0; - $color$1 = $color$0;$depth$1 = $depth$0;$first$1 = $first$0;$has_trans$1 = $has_trans$0;$idata_limit$3 = $idata_limit$2;$interlace$1 = $interlace$0;$ioff$1 = $139;$is_iphone$1 = $is_iphone$0;$pal_img_n$2 = $pal_img_n$0;$pal_len$1 = $pal_len$0; - } else { - $switch$split42D = ($15|0)<(1347179589); - if ($switch$split42D) { - switch ($15|0) { - case 1229472850: { - break; - } - default: { - label = 96; - break L9; - } - } - $17 = ($first$0|0)==(0); - if ($17) { - label = 7; - break L7; - } - $18 = HEAP32[$c>>2]|0; - $19 = ($18|0)==(13); - if (!($19)) { - label = 9; - break L7; - } - $20 = (_stbi__get32be($0)|0); - HEAP32[$0>>2] = $20; - $21 = ($20>>>0)>(16777216); - if ($21) { - label = 11; - break L7; - } - $22 = (_stbi__get32be($0)|0); - HEAP32[$8>>2] = $22; - $23 = ($22>>>0)>(16777216); - if ($23) { - label = 13; - break L7; - } - $24 = (_stbi__get8($0)|0); - $25 = $24&255; - switch ($24<<24>>24) { - case 1: case 2: case 4: case 8: { - break; - } - default: { - label = 15; - break L7; - } - } - $26 = (_stbi__get8($0)|0); - $27 = $26&255; - $28 = ($26&255)>(6); - if ($28) { - label = 17; - break L7; - } - $29 = ($26<<24>>24)==(3); - if ($29) { - $pal_img_n$1 = 3; - } else { - $30 = $27 & 1; - $31 = ($30|0)==(0); - if ($31) { - $pal_img_n$1 = $pal_img_n$0; - } else { - label = 20; - break L7; - } - } - $32 = (_stbi__get8($0)|0); - $33 = ($32<<24>>24)==(0); - if (!($33)) { - label = 22; - break L7; - } - $34 = (_stbi__get8($0)|0); - $35 = ($34<<24>>24)==(0); - if (!($35)) { - label = 24; - break L7; - } - $36 = (_stbi__get8($0)|0); - $37 = $36&255; - $38 = ($36&255)>(1); - if ($38) { - label = 26; - break L7; - } - $39 = HEAP32[$0>>2]|0; - $40 = ($39|0)==(0); - if ($40) { - label = 29; - break L7; - } - $41 = HEAP32[$8>>2]|0; - $42 = ($41|0)==(0); - if ($42) { - label = 29; - break L7; - } - $43 = ($pal_img_n$1<<24>>24)==(0); - if (!($43)) { - HEAP32[$11>>2] = 1; - $53 = HEAP32[$0>>2]|0; - $54 = (1073741824 / ($53>>>0))&-1; - $55 = $54 >>> 2; - $56 = HEAP32[$8>>2]|0; - $57 = ($55>>>0)<($56>>>0); - if ($57) { - label = 35; - break L7; - } else { - $color$1 = $27;$depth$1 = $25;$first$1 = 0;$has_trans$1 = $has_trans$0;$idata_limit$3 = $idata_limit$0;$interlace$1 = $37;$ioff$1 = $ioff$0;$is_iphone$1 = $is_iphone$0;$pal_img_n$2 = $pal_img_n$1;$pal_len$1 = $pal_len$0; - break; - } - } - $44 = $27 & 2; - $45 = $44 | 1; - $46 = $27 >>> 2; - $$lobit = $46 & 1; - $47 = (($45) + ($$lobit))|0; - HEAP32[$9>>2] = $47; - $48 = HEAP32[$0>>2]|0; - $49 = (1073741824 / ($48>>>0))&-1; - $50 = (($49>>>0) / ($47>>>0))&-1; - $51 = HEAP32[$8>>2]|0; - $52 = ($50>>>0)<($51>>>0); - if ($52) { - label = 32; - break L7; - } - if ($10) { - $$0 = 1; - label = 102; - break L7; - } else { - $color$1 = $27;$depth$1 = $25;$first$1 = 0;$has_trans$1 = $has_trans$0;$idata_limit$3 = $idata_limit$0;$interlace$1 = $37;$ioff$1 = $ioff$0;$is_iphone$1 = $is_iphone$0;$pal_img_n$2 = 0;$pal_len$1 = $pal_len$0; - break; - } - } - $switch$split102D = ($15|0)<(1951551059); - if ($switch$split102D) { - switch ($15|0) { - case 1347179589: { - break; - } - default: { - label = 96; - break L9; - } - } - $58 = ($first$0|0)==(0); - if (!($58)) { - label = 37; - break L7; - } - $59 = HEAP32[$c>>2]|0; - $60 = ($59>>>0)>(768); - if ($60) { - label = 39; - break L7; - } - $61 = (($59>>>0) / 3)&-1; - $62 = ($61*3)|0; - $63 = ($62|0)==($59|0); - if (!($63)) { - label = 42; - break L7; - } - $64 = ($59>>>0)>(2); - if ($64) { - $i$0337 = 0; - } else { - $color$1 = $color$0;$depth$1 = $depth$0;$first$1 = 0;$has_trans$1 = $has_trans$0;$idata_limit$3 = $idata_limit$0;$interlace$1 = $interlace$0;$ioff$1 = $ioff$0;$is_iphone$1 = $is_iphone$0;$pal_img_n$2 = $pal_img_n$0;$pal_len$1 = $61; - break; - } - while(1) { - $65 = (_stbi__get8($0)|0); - $66 = $i$0337 << 2; - $67 = (($palette) + ($66)|0); - HEAP8[$67>>0] = $65; - $68 = (_stbi__get8($0)|0); - $69 = $66 | 1; - $70 = (($palette) + ($69)|0); - HEAP8[$70>>0] = $68; - $71 = (_stbi__get8($0)|0); - $72 = $66 | 2; - $73 = (($palette) + ($72)|0); - HEAP8[$73>>0] = $71; - $74 = $66 | 3; - $75 = (($palette) + ($74)|0); - HEAP8[$75>>0] = -1; - $76 = (($i$0337) + 1)|0; - $77 = ($76>>>0)<($61>>>0); - if ($77) { - $i$0337 = $76; - } else { - $color$1 = $color$0;$depth$1 = $depth$0;$first$1 = $first$0;$has_trans$1 = $has_trans$0;$idata_limit$3 = $idata_limit$0;$interlace$1 = $interlace$0;$ioff$1 = $ioff$0;$is_iphone$1 = $is_iphone$0;$pal_img_n$2 = $pal_img_n$0;$pal_len$1 = $61; - break L9; - } - } - } - switch ($15|0) { - case 1951551059: { - break; - } - default: { - label = 96; - break L9; - } - } - $78 = ($first$0|0)==(0); - if (!($78)) { - label = 45; - break L7; - } - $79 = HEAP32[$2>>2]|0; - $80 = ($79|0)==(0|0); - if (!($80)) { - label = 47; - break L7; - } - $81 = ($pal_img_n$0<<24>>24)==(0); - if ($81) { - $95 = HEAP32[$12>>2]|0; - $96 = $95 & 1; - $97 = ($96|0)==(0); - if ($97) { - label = 59; - break L7; - } - $98 = HEAP32[$c>>2]|0; - $99 = $95 << 1; - $100 = ($98|0)==($99|0); - if (!($100)) { - label = 63; - break L7; - } - $101 = HEAP32[$12>>2]|0; - $102 = ($101|0)>(0); - if (!($102)) { - $color$1 = $color$0;$depth$1 = $depth$0;$first$1 = 0;$has_trans$1 = 1;$idata_limit$3 = $idata_limit$0;$interlace$1 = $interlace$0;$ioff$1 = $ioff$0;$is_iphone$1 = $is_iphone$0;$pal_img_n$2 = 0;$pal_len$1 = $pal_len$0; - break; - } - $103 = (17384 + ($depth$0)|0); - $104 = HEAP8[$103>>0]|0; - $105 = $104&255; - $k$0335 = 0; - while(1) { - $106 = (_stbi__get16be($0)|0); - $107 = $106 & 255; - $108 = Math_imul($105, $107)|0; - $109 = $108&255; - $110 = (($tc) + ($k$0335)|0); - HEAP8[$110>>0] = $109; - $111 = (($k$0335) + 1)|0; - $112 = HEAP32[$12>>2]|0; - $113 = ($111|0)<($112|0); - if ($113) { - $k$0335 = $111; - } else { - $color$1 = $color$0;$depth$1 = $depth$0;$first$1 = $first$0;$has_trans$1 = 1;$idata_limit$3 = $idata_limit$0;$interlace$1 = $interlace$0;$ioff$1 = $ioff$0;$is_iphone$1 = $is_iphone$0;$pal_img_n$2 = $pal_img_n$0;$pal_len$1 = $pal_len$0; - break L9; - } - } - } - if ($13) { - label = 50; - break L7; - } - $83 = ($pal_len$0|0)==(0); - if ($83) { - label = 52; - break L7; - } - $84 = HEAP32[$c>>2]|0; - $85 = ($84>>>0)>($pal_len$0>>>0); - if ($85) { - label = 56; - break L7; - } - $86 = HEAP32[$c>>2]|0; - $87 = ($86|0)==(0); - if ($87) { - $color$1 = $color$0;$depth$1 = $depth$0;$first$1 = 0;$has_trans$1 = $has_trans$0;$idata_limit$3 = $idata_limit$0;$interlace$1 = $interlace$0;$ioff$1 = $ioff$0;$is_iphone$1 = $is_iphone$0;$pal_img_n$2 = 4;$pal_len$1 = $pal_len$0; - } else { - $88 = HEAP32[$c>>2]|0; - $i$1334 = 0; - while(1) { - $89 = (_stbi__get8($0)|0); - $90 = $i$1334 << 2; - $91 = $90 | 3; - $92 = (($palette) + ($91)|0); - HEAP8[$92>>0] = $89; - $93 = (($i$1334) + 1)|0; - $94 = ($93>>>0)<($88>>>0); - if ($94) { - $i$1334 = $93; - } else { - $color$1 = $color$0;$depth$1 = $depth$0;$first$1 = $first$0;$has_trans$1 = $has_trans$0;$idata_limit$3 = $idata_limit$0;$interlace$1 = $interlace$0;$ioff$1 = $ioff$0;$is_iphone$1 = $is_iphone$0;$pal_img_n$2 = 4;$pal_len$1 = $pal_len$0; - break; - } - } - } - } - } while(0); - if ((label|0) == 96) { - label = 0; - $182 = ($first$0|0)==(0); - if (!($182)) { - label = 97; - break; - } - $183 = $15 & 536870912; - $184 = ($183|0)==(0); - if ($184) { - $$lcssa1740 = $15; - label = 99; - break; - } - $195 = HEAP32[$c>>2]|0; - _stbi__skip($0,$195); - $color$1 = $color$0;$depth$1 = $depth$0;$first$1 = 0;$has_trans$1 = $has_trans$0;$idata_limit$3 = $idata_limit$0;$interlace$1 = $interlace$0;$ioff$1 = $ioff$0;$is_iphone$1 = $is_iphone$0;$pal_img_n$2 = $pal_img_n$0;$pal_len$1 = $pal_len$0; - } - (_stbi__get32be($0)|0); - $color$0 = $color$1;$depth$0 = $depth$1;$first$0 = $first$1;$has_trans$0 = $has_trans$1;$idata_limit$0 = $idata_limit$3;$interlace$0 = $interlace$1;$ioff$0 = $ioff$1;$is_iphone$0 = $is_iphone$1;$pal_img_n$0 = $pal_img_n$2;$pal_len$0 = $pal_len$1; - } - switch (label|0) { - case 7: { - _stbi__err(17161); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - break; - } - case 9: { - _stbi__err(17175); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - break; - } - case 11: { - _stbi__err(17188); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - break; - } - case 13: { - _stbi__err(17188); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - break; - } - case 15: { - _stbi__err(17198); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - break; - } - case 17: { - _stbi__err(17215); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - break; - } - case 20: { - _stbi__err(17215); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - break; - } - case 22: { - _stbi__err(17225); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - break; - } - case 24: { - _stbi__err(17241); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - break; - } - case 26: { - _stbi__err(17259); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - break; - } - case 29: { - _stbi__err(17280); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - break; - } - case 32: { - _stbi__err(17188); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - break; - } - case 35: { - _stbi__err(17188); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - break; - } - case 37: { - _stbi__err(17294); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - break; - } - case 39: { - _stbi__err(17309); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - break; - } - case 42: { - _stbi__err(17309); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - break; - } - case 45: { - _stbi__err(17294); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - break; - } - case 47: { - _stbi__err(17322); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - break; - } - case 50: { - $82 = ((($0)) + 8|0); - HEAP32[$82>>2] = 4; - $$0 = 1; - STACKTOP = sp;return ($$0|0); - break; - } - case 52: { - _stbi__err(17338); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - break; - } - case 56: { - _stbi__err(17355); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - break; - } - case 59: { - _stbi__err(17368); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - break; - } - case 63: { - _stbi__err(17355); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - break; - } - case 66: { - _stbi__err(17294); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - break; - } - case 68: { - _stbi__err(17393); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - break; - } - case 70: { - $117 = $pal_img_n$0$lcssa1681&255; - $118 = ((($0)) + 8|0); - HEAP32[$118>>2] = $117; - $$0 = 1; - STACKTOP = sp;return ($$0|0); - break; - } - case 76: { - _stbi__err(17401); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - break; - } - case 79: { - _stbi__err(17410); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - break; - } - case 81: { - $140 = ($first$0$lcssa|0)==(0); - if (!($140)) { - _stbi__err(17294); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $141 = ($scan|0)==(0); - if (!($141)) { - $$0 = 1; - STACKTOP = sp;return ($$0|0); - } - $142 = HEAP32[$2>>2]|0; - $143 = ($142|0)==(0|0); - if ($143) { - _stbi__err(17420); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $144 = HEAP32[$0>>2]|0; - $145 = Math_imul($144, $depth$0$lcssa)|0; - $146 = (($145) + 7)|0; - $147 = $146 >>> 3; - $148 = ((($0)) + 4|0); - $149 = HEAP32[$148>>2]|0; - $150 = ((($0)) + 8|0); - $151 = HEAP32[$150>>2]|0; - $152 = Math_imul($151, $149)|0; - $153 = Math_imul($152, $147)|0; - $154 = (($153) + ($149))|0; - HEAP32[$raw_len>>2] = $154; - $155 = HEAP32[$2>>2]|0; - $156 = ($is_iphone$0$lcssa|0)!=(0); - $157 = $156&1; - $158 = $157 ^ 1; - $159 = (_stbi_zlib_decode_malloc_guesssize_headerflag($155,$ioff$0$lcssa,$154,$raw_len,$158)|0); - HEAP32[$1>>2] = $159; - $160 = ($159|0)==(0|0); - if ($160) { - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $161 = HEAP32[$2>>2]|0; - _free($161); - HEAP32[$2>>2] = 0; - $162 = HEAP32[$150>>2]|0; - $163 = (($162) + 1)|0; - $notlhs = ($163|0)!=($req_comp|0); - $notrhs = ($req_comp|0)==(3); - $or$cond9$not = $notrhs | $notlhs; - $164 = ($pal_img_n$0$lcssa<<24>>24)!=(0); - $or$cond11 = $164 | $or$cond9$not; - $165 = ($has_trans$0$lcssa<<24>>24)==(0); - $or$cond = $165 & $or$cond11; - $166 = ((($0)) + 12|0); - $$ = $or$cond ? $162 : $163; - HEAP32[$166>>2] = $$; - $167 = HEAP32[$1>>2]|0; - $168 = HEAP32[$raw_len>>2]|0; - $169 = ((($0)) + 12|0); - $170 = (_stbi__create_png_image($z,$167,$168,$$,$depth$0$lcssa,$color$0$lcssa,$interlace$0$lcssa)|0); - $171 = ($170|0)==(0); - if ($171) { - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - if (!($165)) { - $172 = HEAP32[$169>>2]|0; - _stbi__compute_transparency($z,$tc,$172); - } - $173 = HEAP32[5716>>2]|0; - $174 = ($173|0)!=(0); - $or$cond13 = $156 & $174; - if ($or$cond13) { - $175 = HEAP32[$169>>2]|0; - $176 = ($175|0)>(2); - if ($176) { - _stbi__de_iphone($z); - } - } - if ($164) { - $177 = $pal_img_n$0$lcssa&255; - HEAP32[$150>>2] = $177; - $178 = ($req_comp|0)>(2); - $req_comp$ = $178 ? $req_comp : $177; - HEAP32[$169>>2] = $req_comp$; - $179 = (_stbi__expand_png_palette($z,$palette,$req_comp$)|0); - $180 = ($179|0)==(0); - if ($180) { - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - } - $181 = HEAP32[$1>>2]|0; - _free($181); - HEAP32[$1>>2] = 0; - $$0 = 1; - STACKTOP = sp;return ($$0|0); - break; - } - case 97: { - _stbi__err(17294); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - break; - } - case 99: { - $185 = $$lcssa1740 >>> 24; - $186 = $185&255; - HEAP8[17428>>0] = $186; - $187 = HEAP32[$7>>2]|0; - $188 = $187 >>> 16; - $189 = $188&255; - HEAP8[(17429)>>0] = $189; - $190 = HEAP32[$7>>2]|0; - $191 = $190 >>> 8; - $192 = $191&255; - HEAP8[(17430)>>0] = $192; - $193 = HEAP32[$7>>2]|0; - $194 = $193&255; - HEAP8[(17431)>>0] = $194; - _stbi__err(17428); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - break; - } - case 102: { - STACKTOP = sp;return ($$0|0); - break; - } - } - return (0)|0; -} -function _stbi__check_png_header($s) { - $s = $s|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_stbi__get8($s)|0); - $1 = ($0<<24>>24)==(-119); - if ($1) { - $2 = (_stbi__get8($s)|0); - $3 = ($2<<24>>24)==(80); - if ($3) { - $4 = (_stbi__get8($s)|0); - $5 = ($4<<24>>24)==(78); - if ($5) { - $6 = (_stbi__get8($s)|0); - $7 = ($6<<24>>24)==(71); - if ($7) { - $8 = (_stbi__get8($s)|0); - $9 = ($8<<24>>24)==(13); - if ($9) { - $10 = (_stbi__get8($s)|0); - $11 = ($10<<24>>24)==(10); - if ($11) { - $12 = (_stbi__get8($s)|0); - $13 = ($12<<24>>24)==(26); - if ($13) { - $14 = (_stbi__get8($s)|0); - $15 = ($14<<24>>24)==(10); - if ($15) { - $$0 = 1; - return ($$0|0); - } - } - } - } - } - } - } - } - _stbi__err(17708); - $$0 = 0; - return ($$0|0); -} -function _stbi__get_chunk_header($agg$result,$s) { - $agg$result = $agg$result|0; - $s = $s|0; - var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_stbi__get32be($s)|0); - $1 = (_stbi__get32be($s)|0); - HEAP32[$agg$result>>2] = $0; - $2 = ((($agg$result)) + 4|0); - HEAP32[$2>>2] = $1; - return; -} -function _stbi__getn($s,$buffer,$n) { - $s = $s|0; - $buffer = $buffer|0; - $n = $n|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($s)) + 16|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)==(0|0); - if (!($2)) { - $3 = ((($s)) + 172|0); - $4 = HEAP32[$3>>2]|0; - $5 = ((($s)) + 168|0); - $6 = HEAP32[$5>>2]|0; - $7 = $4; - $8 = $6; - $9 = (($7) - ($8))|0; - $10 = ($9|0)<($n|0); - if ($10) { - _memcpy(($buffer|0),($6|0),($9|0))|0; - $11 = HEAP32[$0>>2]|0; - $12 = ((($s)) + 28|0); - $13 = HEAP32[$12>>2]|0; - $14 = (($buffer) + ($9)|0); - $15 = (($n) - ($9))|0; - $16 = (FUNCTION_TABLE_iiii[$11 & 15]($13,$14,$15)|0); - $17 = ($16|0)==($15|0); - $18 = $17&1; - $19 = HEAP32[$3>>2]|0; - HEAP32[$5>>2] = $19; - $$0 = $18; - return ($$0|0); - } - } - $20 = ((($s)) + 168|0); - $21 = HEAP32[$20>>2]|0; - $22 = (($21) + ($n)|0); - $23 = ((($s)) + 172|0); - $24 = HEAP32[$23>>2]|0; - $25 = ($22>>>0)>($24>>>0); - if ($25) { - $$0 = 0; - return ($$0|0); - } - _memcpy(($buffer|0),($21|0),($n|0))|0; - $26 = HEAP32[$20>>2]|0; - $27 = (($26) + ($n)|0); - HEAP32[$20>>2] = $27; - $$0 = 1; - return ($$0|0); -} -function _stbi__create_png_image($a,$image_data,$image_data_len,$out_n,$depth,$color,$interlaced) { - $a = $a|0; - $image_data = $image_data|0; - $image_data_len = $image_data_len|0; - $out_n = $out_n|0; - $depth = $depth|0; - $color = $color|0; - $interlaced = $interlaced|0; - var $$0 = 0, $$0212 = 0, $$0311 = 0, $$1 = 0, $$14 = 0, $$sum = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0; - var $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0; - var $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0; - var $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $8 = 0, $9 = 0, $i$07 = 0; - var $j$08 = 0, $or$cond = 0, $p$010 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ($interlaced|0)==(0); - $1 = HEAP32[$a>>2]|0; - $2 = HEAP32[$1>>2]|0; - $3 = ((($1)) + 4|0); - $4 = HEAP32[$3>>2]|0; - if ($0) { - $5 = (_stbi__create_png_image_raw($a,$image_data,$image_data_len,$out_n,$2,$4,$depth,$color)|0); - $$0 = $5; - return ($$0|0); - } - $6 = Math_imul($2, $out_n)|0; - $7 = Math_imul($6, $4)|0; - $8 = (_stbi__malloc($7)|0); - $9 = ((($a)) + 12|0); - $10 = ((($a)) + 12|0); - $$0212 = $image_data;$$0311 = $image_data_len;$p$010 = 0; - while(1) { - $11 = HEAP32[$a>>2]|0; - $12 = HEAP32[$11>>2]|0; - $13 = (7868 + ($p$010<<2)|0); - $14 = HEAP32[$13>>2]|0; - $15 = (7896 + ($p$010<<2)|0); - $16 = HEAP32[$15>>2]|0; - $17 = (($12) + -1)|0; - $18 = (($17) - ($14))|0; - $19 = (($18) + ($16))|0; - $20 = (($19>>>0) / ($16>>>0))&-1; - $21 = ((($11)) + 4|0); - $22 = HEAP32[$21>>2]|0; - $23 = (7924 + ($p$010<<2)|0); - $24 = HEAP32[$23>>2]|0; - $25 = (7952 + ($p$010<<2)|0); - $26 = HEAP32[$25>>2]|0; - $27 = (($22) + -1)|0; - $28 = (($27) - ($24))|0; - $29 = (($28) + ($26))|0; - $30 = (($29>>>0) / ($26>>>0))&-1; - $31 = ($20|0)!=(0); - $32 = ($30|0)!=(0); - $or$cond = $31 & $32; - if ($or$cond) { - $33 = ((($11)) + 8|0); - $34 = HEAP32[$33>>2]|0; - $35 = Math_imul($20, $depth)|0; - $36 = Math_imul($35, $34)|0; - $37 = (($36) + 7)|0; - $38 = $37 >> 3; - $39 = (($38) + 1)|0; - $40 = Math_imul($39, $30)|0; - $41 = (_stbi__create_png_image_raw($a,$$0212,$$0311,$out_n,$20,$30,$depth,$color)|0); - $42 = ($41|0)==(0); - if ($42) { - label = 8; - break; - } - $43 = ($30|0)>(0); - if ($43) { - $44 = ($20|0)>(0); - $j$08 = 0; - while(1) { - if ($44) { - $45 = HEAP32[$25>>2]|0; - $46 = Math_imul($45, $j$08)|0; - $47 = HEAP32[$23>>2]|0; - $48 = (($46) + ($47))|0; - $49 = HEAP32[$15>>2]|0; - $50 = HEAP32[$13>>2]|0; - $51 = Math_imul($j$08, $20)|0; - $i$07 = 0; - while(1) { - $52 = Math_imul($49, $i$07)|0; - $53 = (($52) + ($50))|0; - $54 = HEAP32[$a>>2]|0; - $55 = HEAP32[$54>>2]|0; - $56 = Math_imul($55, $48)|0; - $57 = (($53) + ($56))|0; - $$sum = Math_imul($57, $out_n)|0; - $58 = (($8) + ($$sum)|0); - $59 = HEAP32[$10>>2]|0; - $60 = (($i$07) + ($51))|0; - $61 = Math_imul($60, $out_n)|0; - $62 = (($59) + ($61)|0); - _memcpy(($58|0),($62|0),($out_n|0))|0; - $63 = (($i$07) + 1)|0; - $64 = ($63|0)<($20|0); - if ($64) { - $i$07 = $63; - } else { - break; - } - } - } - $65 = (($j$08) + 1)|0; - $66 = ($65|0)<($30|0); - if ($66) { - $j$08 = $65; - } else { - break; - } - } - } - $67 = HEAP32[$9>>2]|0; - _free($67); - $68 = (($$0212) + ($40)|0); - $69 = (($$0311) - ($40))|0; - $$1 = $68;$$14 = $69; - } else { - $$1 = $$0212;$$14 = $$0311; - } - $70 = (($p$010) + 1)|0; - $71 = ($70|0)<(7); - if ($71) { - $$0212 = $$1;$$0311 = $$14;$p$010 = $70; - } else { - label = 15; - break; - } - } - if ((label|0) == 8) { - _free($8); - $$0 = 0; - return ($$0|0); - } - else if ((label|0) == 15) { - $72 = ((($a)) + 12|0); - HEAP32[$72>>2] = $8; - $$0 = 1; - return ($$0|0); - } - return (0)|0; -} -function _stbi__compute_transparency($z,$tc,$out_n) { - $z = $z|0; - $tc = $tc|0; - $out_n = $out_n|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond8 = 0, $i$03 = 0, $i$15 = 0, $not$ = 0, $p$04 = 0, $p$16 = 0; - var label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[$z>>2]|0; - $1 = HEAP32[$0>>2]|0; - $2 = ((($0)) + 4|0); - $3 = HEAP32[$2>>2]|0; - $4 = Math_imul($3, $1)|0; - $5 = ((($z)) + 12|0); - $6 = HEAP32[$5>>2]|0; - switch ($out_n|0) { - case 2: { - $11 = ($4|0)==(0); - if ($11) { - return; - } - $12 = Math_imul($3, $1)|0; - $i$03 = 0;$p$04 = $6; - while(1) { - $13 = HEAP8[$p$04>>0]|0; - $14 = HEAP8[$tc>>0]|0; - $not$ = ($13<<24>>24)!=($14<<24>>24); - $15 = $not$ << 31 >> 31; - $16 = ((($p$04)) + 1|0); - HEAP8[$16>>0] = $15; - $17 = ((($p$04)) + 2|0); - $18 = (($i$03) + 1)|0; - $exitcond = ($18|0)==($12|0); - if ($exitcond) { - break; - } else { - $i$03 = $18;$p$04 = $17; - } - } - return; - break; - } - case 4: { - $7 = ($4|0)==(0); - if ($7) { - return; - } - $8 = ((($tc)) + 1|0); - $9 = ((($tc)) + 2|0); - $10 = Math_imul($3, $1)|0; - $i$15 = 0;$p$16 = $6; - while(1) { - $19 = HEAP8[$p$16>>0]|0; - $20 = HEAP8[$tc>>0]|0; - $21 = ($19<<24>>24)==($20<<24>>24); - if ($21) { - $22 = ((($p$16)) + 1|0); - $23 = HEAP8[$22>>0]|0; - $24 = HEAP8[$8>>0]|0; - $25 = ($23<<24>>24)==($24<<24>>24); - if ($25) { - $26 = ((($p$16)) + 2|0); - $27 = HEAP8[$26>>0]|0; - $28 = HEAP8[$9>>0]|0; - $29 = ($27<<24>>24)==($28<<24>>24); - if ($29) { - $30 = ((($p$16)) + 3|0); - HEAP8[$30>>0] = 0; - } - } - } - $31 = ((($p$16)) + 4|0); - $32 = (($i$15) + 1)|0; - $exitcond8 = ($32|0)==($10|0); - if ($exitcond8) { - break; - } else { - $i$15 = $32;$p$16 = $31; - } - } - return; - break; - } - default: { - ___assert_fail((17501|0),(17471|0),4214,(17526|0)); - // unreachable; - } - } -} -function _stbi__de_iphone($z) { - $z = $z|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond13 = 0, $exitcond14 = 0, $i$06 = 0, $i$111 = 0, $i$28 = 0, $p$05 = 0, $p$110 = 0, $p$27 = 0, $storemerge = 0, label = 0; - var sp = 0; - sp = STACKTOP; - $0 = HEAP32[$z>>2]|0; - $1 = HEAP32[$0>>2]|0; - $2 = ((($0)) + 4|0); - $3 = HEAP32[$2>>2]|0; - $4 = Math_imul($3, $1)|0; - $5 = ((($z)) + 12|0); - $6 = HEAP32[$5>>2]|0; - $7 = ((($0)) + 12|0); + $7 = ((($1)) + 12|0); $8 = HEAP32[$7>>2]|0; - switch ($8|0) { - case 3: { - $9 = ($4|0)==(0); - if ($9) { - return; - } - $10 = Math_imul($3, $1)|0; - $i$06 = 0;$p$05 = $6; - while(1) { - $11 = HEAP8[$p$05>>0]|0; - $12 = ((($p$05)) + 2|0); - $13 = HEAP8[$12>>0]|0; - HEAP8[$p$05>>0] = $13; - HEAP8[$12>>0] = $11; - $14 = ((($p$05)) + 3|0); - $15 = (($i$06) + 1)|0; - $exitcond = ($15|0)==($10|0); - if ($exitcond) { + L4: do { + switch ($8|0) { + case 1: { + $9 = ((($1)) + 8|0); + $10 = HEAP32[$9>>2]|0; + switch ($10|0) { + case 8: { + $$0 = 4352; + break L4; break; - } else { - $i$06 = $15;$p$05 = $14; } - } - return; - break; - } - case 4: { - $16 = HEAP32[5712>>2]|0; - $17 = ($16|0)==(0); - $18 = ($4|0)==(0); - if ($17) { - if ($18) { - return; - } - $20 = Math_imul($3, $1)|0; - $i$28 = 0;$p$27 = $6; - while(1) { - $44 = HEAP8[$p$27>>0]|0; - $45 = ((($p$27)) + 2|0); - $46 = HEAP8[$45>>0]|0; - HEAP8[$p$27>>0] = $46; - HEAP8[$45>>0] = $44; - $47 = ((($p$27)) + 4|0); - $48 = (($i$28) + 1)|0; - $exitcond13 = ($48|0)==($20|0); - if ($exitcond13) { - break; - } else { - $i$28 = $48;$p$27 = $47; - } - } - return; - } - if ($18) { - return; - } - $19 = Math_imul($3, $1)|0; - $i$111 = 0;$p$110 = $6; - while(1) { - $21 = ((($p$110)) + 3|0); - $22 = HEAP8[$21>>0]|0; - $23 = HEAP8[$p$110>>0]|0; - $24 = ($22<<24>>24)==(0); - $25 = ((($p$110)) + 2|0); - $26 = HEAP8[$25>>0]|0; - if ($24) { - HEAP8[$p$110>>0] = $26; - $storemerge = $23; - } else { - $27 = $26&255; - $28 = ($27*255)|0; - $29 = $22&255; - $30 = (($28>>>0) / ($29>>>0))&-1; - $31 = $30&255; - HEAP8[$p$110>>0] = $31; - $32 = ((($p$110)) + 1|0); - $33 = HEAP8[$32>>0]|0; - $34 = $33&255; - $35 = ($34*255)|0; - $36 = (($35>>>0) / ($29>>>0))&-1; - $37 = $36&255; - HEAP8[$32>>0] = $37; - $38 = $23&255; - $39 = ($38*255)|0; - $40 = (($39>>>0) / ($29>>>0))&-1; - $41 = $40&255; - $storemerge = $41; - } - HEAP8[$25>>0] = $storemerge; - $42 = ((($p$110)) + 4|0); - $43 = (($i$111) + 1)|0; - $exitcond14 = ($43|0)==($19|0); - if ($exitcond14) { + case 16: { + $$0 = 4353; + break L4; break; - } else { - $i$111 = $43;$p$110 = $42; } - } - return; - break; - } - default: { - ___assert_fail((17453|0),(17471|0),4295,(17485|0)); - // unreachable; - } - } -} -function _stbi__expand_png_palette($a,$palette,$pal_img_n) { - $a = $a|0; - $palette = $palette|0; - $pal_img_n = $pal_img_n|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; - var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond8 = 0, $i$04 = 0, $i$16 = 0, $p$03 = 0, $p$15 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[$a>>2]|0; - $1 = HEAP32[$0>>2]|0; - $2 = ((($0)) + 4|0); - $3 = HEAP32[$2>>2]|0; - $4 = Math_imul($3, $1)|0; - $5 = ((($a)) + 12|0); - $6 = HEAP32[$5>>2]|0; - $7 = Math_imul($4, $pal_img_n)|0; - $8 = (_stbi__malloc($7)|0); - $9 = ($8|0)==(0|0); - if ($9) { - _stbi__err(17401); - $$0 = 0; - return ($$0|0); - } - $10 = ($pal_img_n|0)==(3); - $11 = ($4|0)==(0); - if ($10) { - if (!($11)) { - $13 = Math_imul($3, $1)|0; - $i$04 = 0;$p$03 = $8; - while(1) { - $14 = (($6) + ($i$04)|0); - $15 = HEAP8[$14>>0]|0; - $16 = $15&255; - $17 = $16 << 2; - $18 = (($palette) + ($17)|0); - $19 = HEAP8[$18>>0]|0; - HEAP8[$p$03>>0] = $19; - $20 = $17 | 1; - $21 = (($palette) + ($20)|0); - $22 = HEAP8[$21>>0]|0; - $23 = ((($p$03)) + 1|0); - HEAP8[$23>>0] = $22; - $24 = $17 | 2; - $25 = (($palette) + ($24)|0); - $26 = HEAP8[$25>>0]|0; - $27 = ((($p$03)) + 2|0); - HEAP8[$27>>0] = $26; - $28 = ((($p$03)) + 3|0); - $29 = (($i$04) + 1)|0; - $exitcond = ($29|0)==($13|0); - if ($exitcond) { - break; - } else { - $i$04 = $29;$p$03 = $28; - } + case 32: { + $$0 = 65552; + break L4; + break; } - } - } else { - if (!($11)) { - $12 = Math_imul($3, $1)|0; - $i$16 = 0;$p$15 = $8; - while(1) { - $30 = (($6) + ($i$16)|0); - $31 = HEAP8[$30>>0]|0; - $32 = $31&255; - $33 = $32 << 2; - $34 = (($palette) + ($33)|0); - $35 = HEAP8[$34>>0]|0; - HEAP8[$p$15>>0] = $35; - $36 = $33 | 1; - $37 = (($palette) + ($36)|0); - $38 = HEAP8[$37>>0]|0; - $39 = ((($p$15)) + 1|0); - HEAP8[$39>>0] = $38; - $40 = $33 | 2; - $41 = (($palette) + ($40)|0); - $42 = HEAP8[$41>>0]|0; - $43 = ((($p$15)) + 2|0); - HEAP8[$43>>0] = $42; - $44 = $33 | 3; - $45 = (($palette) + ($44)|0); - $46 = HEAP8[$45>>0]|0; - $47 = ((($p$15)) + 3|0); - HEAP8[$47>>0] = $46; - $48 = ((($p$15)) + 4|0); - $49 = (($i$16) + 1)|0; - $exitcond8 = ($49|0)==($12|0); - if ($exitcond8) { - break; - } else { - $i$16 = $49;$p$15 = $48; - } - } - } - } - $50 = HEAP32[$5>>2]|0; - _free($50); - HEAP32[$5>>2] = $8; - $$0 = 1; - return ($$0|0); -} -function _stbi__create_png_image_raw($a,$raw,$raw_len,$out_n,$x,$y,$depth,$color) { - $a = $a|0; - $raw = $raw|0; - $raw_len = $raw_len|0; - $out_n = $out_n|0; - $x = $x|0; - $y = $y|0; - $depth = $depth|0; - $color = $color|0; - var $$0 = 0, $$01229 = 0, $$1 = 0, $$2213 = 0, $$3205 = 0, $$4197 = 0, $$5188 = 0, $$6179 = 0, $$7170 = 0, $$8162 = 0, $$9 = 0, $$sum = 0, $$sum10 = 0, $$sum11 = 0, $$sum12 = 0, $$sum13 = 0, $$sum15 = 0, $$sum16 = 0, $$sum17 = 0, $$sum18 = 0; - var $$sum19 = 0, $$sum2 = 0, $$sum20 = 0, $$sum21 = 0, $$sum22 = 0, $$sum23 = 0, $$sum24 = 0, $$sum25 = 0, $$sum26 = 0, $$sum27$pn = 0, $$sum290 = 0, $$sum291 = 0, $$sum292 = 0, $$sum293 = 0, $$sum294 = 0, $$sum295 = 0, $$sum296 = 0, $$sum297 = 0, $$sum298 = 0, $$sum299 = 0; - var $$sum3 = 0, $$sum300 = 0, $$sum301 = 0, $$sum302 = 0, $$sum303 = 0, $$sum304 = 0, $$sum31 = 0, $$sum32 = 0, $$sum33 = 0, $$sum34 = 0, $$sum35 = 0, $$sum36 = 0, $$sum37 = 0, $$sum38 = 0, $$sum39 = 0, $$sum4 = 0, $$sum40 = 0, $$sum41 = 0, $$sum41$pn = 0, $$sum5 = 0; - var $$sum6 = 0, $$sum63 = 0, $$sum64 = 0, $$sum65 = 0, $$sum66 = 0, $$sum67 = 0, $$sum68 = 0, $$sum69 = 0, $$sum7 = 0, $$sum8 = 0, $$sum9 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0; - var $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0; - var $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0; - var $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0; - var $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0; - var $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0; - var $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0; - var $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0; - var $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0; - var $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0; - var $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0; - var $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0; - var $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0; - var $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0; - var $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0; - var $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0; - var $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0; - var $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0; - var $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0; - var $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0; - var $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0; - var $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0; - var $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0; - var $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0; - var $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0, $531 = 0, $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0; - var $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0, $549 = 0, $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0; - var $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0, $562 = 0, $563 = 0, $564 = 0, $565 = 0, $566 = 0, $567 = 0, $568 = 0, $569 = 0, $57 = 0, $570 = 0, $571 = 0, $572 = 0, $573 = 0, $574 = 0; - var $575 = 0, $576 = 0, $577 = 0, $578 = 0, $579 = 0, $58 = 0, $580 = 0, $581 = 0, $582 = 0, $583 = 0, $584 = 0, $585 = 0, $586 = 0, $587 = 0, $588 = 0, $589 = 0, $59 = 0, $590 = 0, $591 = 0, $592 = 0; - var $593 = 0, $594 = 0, $595 = 0, $596 = 0, $597 = 0, $598 = 0, $599 = 0, $6 = 0, $60 = 0, $600 = 0, $601 = 0, $602 = 0, $603 = 0, $604 = 0, $605 = 0, $606 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0; - var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0; - var $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $brmerge = 0, $cur$0$sum = 0; - var $cur$0$sum42 = 0, $cur$0$sum43 = 0, $cur$0$sum44 = 0, $cur$0$sum45 = 0, $cur$0$sum46 = 0, $cur$0$sum47 = 0, $cur$0$sum48 = 0, $cur$0$sum49 = 0, $cur$0$sum50 = 0, $cur$0$sum51 = 0, $cur$0$sum53$pn = 0, $cur$0$sum54 = 0, $cur$0$sum55 = 0, $cur$0$sum56 = 0, $cur$0$sum57 = 0, $cur$0$sum58 = 0, $cur$0$sum59 = 0, $cur$0$sum60 = 0, $cur$0$sum61 = 0, $cur$1 = 0; - var $cur$2212 = 0, $cur$3204 = 0, $cur$4195 = 0, $cur$5186 = 0, $cur$6177 = 0, $cur$7169 = 0, $cur$8161 = 0, $cur1$0$lcssa = 0, $cur1$0138 = 0, $cur1$1$lcssa = 0, $cur1$1130 = 0, $cur1$4$lcssa = 0, $cur1$4125 = 0, $exitcond = 0, $exitcond269 = 0, $exitcond271 = 0, $exitcond273 = 0, $exitcond275 = 0, $exitcond277 = 0, $exitcond279 = 0; - var $exitcond281 = 0, $exitcond284 = 0, $exitcond285 = 0, $exitcond286 = 0, $exitcond287 = 0, $exitcond288 = 0, $exitcond289 = 0, $filter$0 = 0, $filter_bytes$0 = 0, $i$0 = 0, $i$0211 = 0, $i$0214 = 0, $i$1 = 0, $i$1203 = 0, $i$1206 = 0, $i$2 = 0, $i$2194 = 0, $i$2198 = 0, $i$3 = 0, $i$3185 = 0; - var $i$3189 = 0, $i$4 = 0, $i$4176 = 0, $i$4180 = 0, $i$5 = 0, $i$5168 = 0, $i$5171 = 0, $i$6 = 0, $i$6160 = 0, $i$6163 = 0, $in$0$lcssa = 0, $in$0139 = 0, $in$1$lcssa = 0, $in$1131 = 0, $in$2$lcssa = 0, $in$2126 = 0, $indvars$iv = 0, $indvars$iv$next = 0, $indvars$iv$next255 = 0, $indvars$iv$next258 = 0; - var $indvars$iv$next261 = 0, $indvars$iv$next264 = 0, $indvars$iv$next267 = 0, $indvars$iv254 = 0, $indvars$iv257 = 0, $indvars$iv260 = 0, $indvars$iv263 = 0, $indvars$iv266 = 0, $j$0228 = 0, $j$1151 = 0, $k$0153 = 0, $k$10182 = 0, $k$11173 = 0, $k$12165 = 0, $k$1226 = 0, $k$13157 = 0, $k$14$lcssa = 0, $k$14137 = 0, $k$15$lcssa = 0, $k$15129 = 0; - var $k$16$lcssa = 0, $k$16124 = 0, $k$2224 = 0, $k$3222 = 0, $k$4220 = 0, $k$5218 = 0, $k$6216 = 0, $k$7208 = 0, $k$8200 = 0, $k$9191 = 0, $or$cond = 0, $or$cond311 = 0, $prior$0 = 0, $prior$0$sum = 0, $prior$0$sum28 = 0, $prior$0$sum29 = 0, $prior$0$sum30 = 0, $prior$3196 = 0, $prior$4187 = 0, $prior$5178 = 0; - var $q$0 = 0, $q$0148 = 0, $q$0149 = 0, $q$1 = 0, $q$1145 = 0, $q$1146 = 0, $scevgep = 0, $scevgep256 = 0, $scevgep259 = 0, $scevgep262 = 0, $scevgep265 = 0, $scevgep268 = 0, $scevgep270 = 0, $scevgep272 = 0, $scevgep274 = 0, $scevgep276 = 0, $scevgep278 = 0, $scevgep280 = 0, $scevgep283 = 0, $width$0 = 0; - var label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[$a>>2]|0; - $1 = Math_imul($x, $out_n)|0; - $2 = ((($0)) + 8|0); - $3 = HEAP32[$2>>2]|0; - $4 = ($3|0)==($out_n|0); - $5 = (($3) + 1)|0; - $6 = ($5|0)==($out_n|0); - $or$cond = $4 | $6; - if (!($or$cond)) { - ___assert_fail((17553|0),(17471|0),3994,(17594|0)); - // unreachable; - } - $7 = Math_imul($x, $out_n)|0; - $8 = Math_imul($7, $y)|0; - $9 = (_stbi__malloc($8)|0); - $10 = ((($a)) + 12|0); - HEAP32[$10>>2] = $9; - $11 = ($9|0)==(0|0); - if ($11) { - _stbi__err(17401); - $$0 = 0; - return ($$0|0); - } - $12 = Math_imul($3, $x)|0; - $13 = Math_imul($12, $depth)|0; - $14 = (($13) + 7)|0; - $15 = $14 >>> 3; - $16 = (($15) + 1)|0; - $17 = Math_imul($16, $y)|0; - $18 = HEAP32[$0>>2]|0; - $19 = ($18|0)==($x|0); - if ($19) { - $20 = ((($0)) + 4|0); - $21 = HEAP32[$20>>2]|0; - $22 = ($21|0)==($y|0); - if ($22) { - $23 = ($17|0)==($raw_len|0); - if (!($23)) { - _stbi__err(17621); + default: { + HEAP32[$vararg_buffer>>2] = $10; + _TraceLog(1,17554,$vararg_buffer); $$0 = 0; - return ($$0|0); + break L4; } - } else { - label = 9; - } - } else { - label = 9; - } - if ((label|0) == 9) { - $24 = ($17>>>0)>($raw_len>>>0); - if ($24) { - _stbi__err(17621); - $$0 = 0; - return ($$0|0); - } - } - $25 = ($y|0)==(0); - L18: do { - if (!($25)) { - $26 = ($depth|0)<(8); - $27 = ($15>>>0)>($x>>>0); - $28 = (($1) - ($15))|0; - $29 = ($depth|0)==(8); - $$sum26 = (($3) + 1)|0; - $brmerge = $26 | $4; - $i$0211 = (($x) + -1)|0; - $30 = ($i$0211|0)==(0); - $31 = ($3|0)>(0); - $i$1203 = (($x) + -1)|0; - $32 = ($i$1203|0)==(0); - $33 = ($3|0)>(0); - $i$2194 = (($x) + -1)|0; - $34 = ($i$2194|0)==(0); - $35 = ($3|0)>(0); - $i$3185 = (($x) + -1)|0; - $36 = ($i$3185|0)==(0); - $37 = ($3|0)>(0); - $i$4176 = (($x) + -1)|0; - $38 = ($i$4176|0)==(0); - $39 = ($3|0)>(0); - $i$5168 = (($x) + -1)|0; - $40 = ($i$5168|0)==(0); - $41 = ($3|0)>(0); - $i$6160 = (($x) + -1)|0; - $42 = ($i$6160|0)==(0); - $43 = ($3|0)>(0); - $44 = Math_imul($3, $i$6160)|0; - $$01229 = $raw;$j$0228 = 0; - L20: while(1) { - $45 = HEAP32[$10>>2]|0; - $46 = Math_imul($j$0228, $1)|0; - $$sum13 = (($46) - ($1))|0; - $47 = HEAP8[$$01229>>0]|0; - $48 = $47&255; - $49 = ($47&255)>(4); - if ($49) { - label = 14; - break; - } - if ($26) { - if ($27) { - label = 17; - break; - } - $$sum41 = (($28) + ($46))|0; - $$sum41$pn = $$sum41;$filter_bytes$0 = 1;$width$0 = $15; - } else { - $$sum41$pn = $46;$filter_bytes$0 = $3;$width$0 = $x; - } - $50 = ($j$0228|0)==(0); - if ($50) { - $51 = (17675 + ($48)|0); - $52 = HEAP8[$51>>0]|0; - $53 = $52&255; - $filter$0 = $53; - } else { - $filter$0 = $48; - } - $54 = ($filter_bytes$0|0)>(0); - L30: do { - if ($54) { - $k$0153 = 0; - while(1) { - switch ($filter$0|0) { - case 0: { - $$sum40 = (($k$0153) + 1)|0; - $55 = (($$01229) + ($$sum40)|0); - $56 = HEAP8[$55>>0]|0; - $cur$0$sum55 = (($k$0153) + ($$sum41$pn))|0; - $57 = (($45) + ($cur$0$sum55)|0); - HEAP8[$57>>0] = $56; - break; - } - case 1: { - $$sum39 = (($k$0153) + 1)|0; - $58 = (($$01229) + ($$sum39)|0); - $59 = HEAP8[$58>>0]|0; - $cur$0$sum56 = (($k$0153) + ($$sum41$pn))|0; - $60 = (($45) + ($cur$0$sum56)|0); - HEAP8[$60>>0] = $59; - break; - } - case 2: { - $$sum37 = (($k$0153) + 1)|0; - $61 = (($$01229) + ($$sum37)|0); - $62 = HEAP8[$61>>0]|0; - $63 = $62&255; - $$sum38 = (($k$0153) + ($$sum13))|0; - $64 = (($45) + ($$sum38)|0); - $65 = HEAP8[$64>>0]|0; - $66 = $65&255; - $67 = (($66) + ($63))|0; - $68 = $67&255; - $cur$0$sum57 = (($k$0153) + ($$sum41$pn))|0; - $69 = (($45) + ($cur$0$sum57)|0); - HEAP8[$69>>0] = $68; - break; - } - case 3: { - $$sum35 = (($k$0153) + 1)|0; - $70 = (($$01229) + ($$sum35)|0); - $71 = HEAP8[$70>>0]|0; - $72 = $71&255; - $$sum36 = (($k$0153) + ($$sum13))|0; - $73 = (($45) + ($$sum36)|0); - $74 = HEAP8[$73>>0]|0; - $75 = $74&255; - $76 = $75 >>> 1; - $77 = (($76) + ($72))|0; - $78 = $77&255; - $cur$0$sum58 = (($k$0153) + ($$sum41$pn))|0; - $79 = (($45) + ($cur$0$sum58)|0); - HEAP8[$79>>0] = $78; - break; - } - case 4: { - $$sum33 = (($k$0153) + 1)|0; - $80 = (($$01229) + ($$sum33)|0); - $81 = HEAP8[$80>>0]|0; - $82 = $81&255; - $$sum34 = (($k$0153) + ($$sum13))|0; - $83 = (($45) + ($$sum34)|0); - $84 = HEAP8[$83>>0]|0; - $85 = $84&255; - $86 = (_stbi__paeth(0,$85,0)|0); - $87 = (($86) + ($82))|0; - $88 = $87&255; - $cur$0$sum59 = (($k$0153) + ($$sum41$pn))|0; - $89 = (($45) + ($cur$0$sum59)|0); - HEAP8[$89>>0] = $88; - break; - } - case 5: { - $$sum32 = (($k$0153) + 1)|0; - $90 = (($$01229) + ($$sum32)|0); - $91 = HEAP8[$90>>0]|0; - $cur$0$sum60 = (($k$0153) + ($$sum41$pn))|0; - $92 = (($45) + ($cur$0$sum60)|0); - HEAP8[$92>>0] = $91; - break; - } - case 6: { - $$sum31 = (($k$0153) + 1)|0; - $93 = (($$01229) + ($$sum31)|0); - $94 = HEAP8[$93>>0]|0; - $cur$0$sum61 = (($k$0153) + ($$sum41$pn))|0; - $95 = (($45) + ($cur$0$sum61)|0); - HEAP8[$95>>0] = $94; - break; - } - default: { - } - } - $96 = (($k$0153) + 1)|0; - $exitcond = ($96|0)==($filter_bytes$0|0); - if ($exitcond) { - break L30; - } else { - $k$0153 = $96; - } - } - } - } while(0); - if ($29) { - if (!($4)) { - $cur$0$sum54 = (($$sum41$pn) + ($3))|0; - $97 = (($45) + ($cur$0$sum54)|0); - HEAP8[$97>>0] = -1; - } - $98 = (($$01229) + ($$sum26)|0); - $$1 = $98;$100 = $out_n;$125 = $$sum26; - } else { - $99 = ((($$01229)) + 2|0); - $$1 = $99;$100 = 1;$125 = 2; - } - $$sum27$pn = (($100) + ($$sum13))|0; - $cur$0$sum53$pn = (($100) + ($$sum41$pn))|0; - $cur$1 = (($45) + ($cur$0$sum53$pn)|0); - $prior$0 = (($45) + ($$sum27$pn)|0); - L50: do { - if ($brmerge) { - $101 = (($width$0) + -1)|0; - $102 = Math_imul($101, $3)|0; - switch ($filter$0|0) { - case 0: { - _memcpy(($cur$1|0),($$1|0),($102|0))|0; - break; - } - case 1: { - $121 = ($102|0)>(0); - if ($121) { - $122 = (($$sum41$pn) - ($filter_bytes$0))|0; - $$sum24 = (($122) + ($100))|0; - $$sum25 = (($100) + ($$sum41$pn))|0; - $123 = (($width$0) + -1)|0; - $124 = Math_imul($3, $123)|0; - $k$1226 = 0; - while(1) { - $$sum69 = (($k$1226) + ($125))|0; - $126 = (($$01229) + ($$sum69)|0); - $127 = HEAP8[$126>>0]|0; - $128 = $127&255; - $cur$0$sum42 = (($$sum24) + ($k$1226))|0; - $129 = (($45) + ($cur$0$sum42)|0); - $130 = HEAP8[$129>>0]|0; - $131 = $130&255; - $132 = (($131) + ($128))|0; - $133 = $132&255; - $cur$0$sum = (($$sum25) + ($k$1226))|0; - $134 = (($45) + ($cur$0$sum)|0); - HEAP8[$134>>0] = $133; - $135 = (($k$1226) + 1)|0; - $exitcond289 = ($135|0)==($124|0); - if ($exitcond289) { - break; - } else { - $k$1226 = $135; - } - } - } - break; - } - case 2: { - $118 = ($102|0)>(0); - if ($118) { - $$sum23 = (($100) + ($$sum41$pn))|0; - $119 = (($width$0) + -1)|0; - $120 = Math_imul($3, $119)|0; - $k$2224 = 0; - while(1) { - $$sum68 = (($k$2224) + ($125))|0; - $136 = (($$01229) + ($$sum68)|0); - $137 = HEAP8[$136>>0]|0; - $138 = $137&255; - $prior$0$sum = (($k$2224) + ($$sum27$pn))|0; - $139 = (($45) + ($prior$0$sum)|0); - $140 = HEAP8[$139>>0]|0; - $141 = $140&255; - $142 = (($141) + ($138))|0; - $143 = $142&255; - $cur$0$sum43 = (($$sum23) + ($k$2224))|0; - $144 = (($45) + ($cur$0$sum43)|0); - HEAP8[$144>>0] = $143; - $145 = (($k$2224) + 1)|0; - $exitcond288 = ($145|0)==($120|0); - if ($exitcond288) { - break; - } else { - $k$2224 = $145; - } - } - } - break; - } - case 3: { - $114 = ($102|0)>(0); - if ($114) { - $115 = (($$sum41$pn) - ($filter_bytes$0))|0; - $$sum21 = (($115) + ($100))|0; - $$sum22 = (($100) + ($$sum41$pn))|0; - $116 = (($width$0) + -1)|0; - $117 = Math_imul($3, $116)|0; - $k$3222 = 0; - while(1) { - $$sum67 = (($k$3222) + ($125))|0; - $146 = (($$01229) + ($$sum67)|0); - $147 = HEAP8[$146>>0]|0; - $148 = $147&255; - $prior$0$sum28 = (($k$3222) + ($$sum27$pn))|0; - $149 = (($45) + ($prior$0$sum28)|0); - $150 = HEAP8[$149>>0]|0; - $151 = $150&255; - $cur$0$sum45 = (($$sum21) + ($k$3222))|0; - $152 = (($45) + ($cur$0$sum45)|0); - $153 = HEAP8[$152>>0]|0; - $154 = $153&255; - $155 = (($154) + ($151))|0; - $156 = $155 >>> 1; - $157 = (($156) + ($148))|0; - $158 = $157&255; - $cur$0$sum44 = (($$sum22) + ($k$3222))|0; - $159 = (($45) + ($cur$0$sum44)|0); - HEAP8[$159>>0] = $158; - $160 = (($k$3222) + 1)|0; - $exitcond287 = ($160|0)==($117|0); - if ($exitcond287) { - break; - } else { - $k$3222 = $160; - } - } - } - break; - } - case 4: { - $111 = ($102|0)>(0); - if ($111) { - $$sum19 = (($100) + ($$sum41$pn))|0; - $$sum20 = (($100) + ($$sum41$pn))|0; - $112 = (($width$0) + -1)|0; - $113 = Math_imul($3, $112)|0; - $k$4220 = 0; - while(1) { - $$sum66 = (($k$4220) + ($125))|0; - $161 = (($$01229) + ($$sum66)|0); - $162 = HEAP8[$161>>0]|0; - $163 = $162&255; - $164 = (($k$4220) - ($filter_bytes$0))|0; - $cur$0$sum47 = (($$sum19) + ($164))|0; - $165 = (($45) + ($cur$0$sum47)|0); - $166 = HEAP8[$165>>0]|0; - $167 = $166&255; - $prior$0$sum30 = (($k$4220) + ($$sum27$pn))|0; - $168 = (($45) + ($prior$0$sum30)|0); - $169 = HEAP8[$168>>0]|0; - $170 = $169&255; - $prior$0$sum29 = (($164) + ($$sum27$pn))|0; - $171 = (($45) + ($prior$0$sum29)|0); - $172 = HEAP8[$171>>0]|0; - $173 = $172&255; - $174 = (_stbi__paeth($167,$170,$173)|0); - $175 = (($174) + ($163))|0; - $176 = $175&255; - $cur$0$sum46 = (($$sum20) + ($k$4220))|0; - $177 = (($45) + ($cur$0$sum46)|0); - HEAP8[$177>>0] = $176; - $178 = (($k$4220) + 1)|0; - $exitcond286 = ($178|0)==($113|0); - if ($exitcond286) { - break; - } else { - $k$4220 = $178; - } - } - } - break; - } - case 5: { - $107 = ($102|0)>(0); - if ($107) { - $108 = (($$sum41$pn) - ($filter_bytes$0))|0; - $$sum17 = (($108) + ($100))|0; - $$sum18 = (($100) + ($$sum41$pn))|0; - $109 = (($width$0) + -1)|0; - $110 = Math_imul($3, $109)|0; - $k$5218 = 0; - while(1) { - $$sum65 = (($k$5218) + ($125))|0; - $179 = (($$01229) + ($$sum65)|0); - $180 = HEAP8[$179>>0]|0; - $181 = $180&255; - $cur$0$sum49 = (($$sum17) + ($k$5218))|0; - $182 = (($45) + ($cur$0$sum49)|0); - $183 = HEAP8[$182>>0]|0; - $184 = $183&255; - $185 = $184 >>> 1; - $186 = (($185) + ($181))|0; - $187 = $186&255; - $cur$0$sum48 = (($$sum18) + ($k$5218))|0; - $188 = (($45) + ($cur$0$sum48)|0); - HEAP8[$188>>0] = $187; - $189 = (($k$5218) + 1)|0; - $exitcond285 = ($189|0)==($110|0); - if ($exitcond285) { - break; - } else { - $k$5218 = $189; - } - } - } - break; - } - case 6: { - $103 = ($102|0)>(0); - if ($103) { - $104 = (($$sum41$pn) - ($filter_bytes$0))|0; - $$sum15 = (($104) + ($100))|0; - $$sum16 = (($100) + ($$sum41$pn))|0; - $105 = (($width$0) + -1)|0; - $106 = Math_imul($3, $105)|0; - $k$6216 = 0; - while(1) { - $$sum64 = (($k$6216) + ($125))|0; - $190 = (($$01229) + ($$sum64)|0); - $191 = HEAP8[$190>>0]|0; - $192 = $191&255; - $cur$0$sum51 = (($$sum15) + ($k$6216))|0; - $193 = (($45) + ($cur$0$sum51)|0); - $194 = HEAP8[$193>>0]|0; - $195 = $194&255; - $196 = (_stbi__paeth($195,0,0)|0); - $197 = (($196) + ($192))|0; - $198 = $197&255; - $cur$0$sum50 = (($$sum16) + ($k$6216))|0; - $199 = (($45) + ($cur$0$sum50)|0); - HEAP8[$199>>0] = $198; - $200 = (($k$6216) + 1)|0; - $exitcond284 = ($200|0)==($106|0); - if ($exitcond284) { - break; - } else { - $k$6216 = $200; - } - } - } - break; - } - default: { - } - } - $$sum63 = (($125) + ($102))|0; - $201 = (($$01229) + ($$sum63)|0); - $$9 = $201; - } else { - if (!($6)) { - label = 59; - break L20; - } - switch ($filter$0|0) { - case 0: { - if ($30) { - $$9 = $$1; - break L50; - } else { - $$2213 = $$1;$cur$2212 = $cur$1;$i$0214 = $i$0211; - } - while(1) { - if ($31) { - $k$7208 = 0; - while(1) { - $202 = (($$2213) + ($k$7208)|0); - $203 = HEAP8[$202>>0]|0; - $204 = (($cur$2212) + ($k$7208)|0); - HEAP8[$204>>0] = $203; - $205 = (($k$7208) + 1)|0; - $exitcond281 = ($205|0)==($3|0); - if ($exitcond281) { - break; - } else { - $k$7208 = $205; - } - } - } - $206 = (($cur$2212) + ($3)|0); - HEAP8[$206>>0] = -1; - $207 = (($$2213) + ($3)|0); - $208 = (($cur$2212) + ($out_n)|0); - $i$0 = (($i$0214) + -1)|0; - $209 = ($i$0|0)==(0); - if ($209) { - break; - } else { - $$2213 = $207;$cur$2212 = $208;$i$0214 = $i$0; - } - } - $$sum304 = (($125) + ($44))|0; - $scevgep283 = (($$01229) + ($$sum304)|0); - $$9 = $scevgep283; - break L50; - break; - } - case 1: { - if ($32) { - $$9 = $$1; - break L50; - } else { - $$3205 = $$1;$cur$3204 = $cur$1;$i$1206 = $i$1203; - } - while(1) { - if ($33) { - $k$8200 = 0; - while(1) { - $210 = (($$3205) + ($k$8200)|0); - $211 = HEAP8[$210>>0]|0; - $212 = $211&255; - $213 = (($k$8200) - ($out_n))|0; - $214 = (($cur$3204) + ($213)|0); - $215 = HEAP8[$214>>0]|0; - $216 = $215&255; - $217 = (($216) + ($212))|0; - $218 = $217&255; - $219 = (($cur$3204) + ($k$8200)|0); - HEAP8[$219>>0] = $218; - $220 = (($k$8200) + 1)|0; - $exitcond279 = ($220|0)==($3|0); - if ($exitcond279) { - break; - } else { - $k$8200 = $220; - } - } - } - $221 = (($cur$3204) + ($3)|0); - HEAP8[$221>>0] = -1; - $222 = (($$3205) + ($3)|0); - $223 = (($cur$3204) + ($out_n)|0); - $i$1 = (($i$1206) + -1)|0; - $224 = ($i$1|0)==(0); - if ($224) { - break; - } else { - $$3205 = $222;$cur$3204 = $223;$i$1206 = $i$1; - } - } - $$sum303 = (($125) + ($44))|0; - $scevgep280 = (($$01229) + ($$sum303)|0); - $$9 = $scevgep280; - break L50; - break; - } - case 2: { - if ($34) { - $$9 = $$1; - break L50; - } else { - $$4197 = $$1;$cur$4195 = $cur$1;$i$2198 = $i$2194;$prior$3196 = $prior$0; - } - while(1) { - if ($35) { - $k$9191 = 0; - while(1) { - $225 = (($$4197) + ($k$9191)|0); - $226 = HEAP8[$225>>0]|0; - $227 = $226&255; - $228 = (($prior$3196) + ($k$9191)|0); - $229 = HEAP8[$228>>0]|0; - $230 = $229&255; - $231 = (($230) + ($227))|0; - $232 = $231&255; - $233 = (($cur$4195) + ($k$9191)|0); - HEAP8[$233>>0] = $232; - $234 = (($k$9191) + 1)|0; - $exitcond277 = ($234|0)==($3|0); - if ($exitcond277) { - break; - } else { - $k$9191 = $234; - } - } - } - $235 = (($cur$4195) + ($3)|0); - HEAP8[$235>>0] = -1; - $236 = (($$4197) + ($3)|0); - $237 = (($cur$4195) + ($out_n)|0); - $238 = (($prior$3196) + ($out_n)|0); - $i$2 = (($i$2198) + -1)|0; - $239 = ($i$2|0)==(0); - if ($239) { - break; - } else { - $$4197 = $236;$cur$4195 = $237;$i$2198 = $i$2;$prior$3196 = $238; - } - } - $$sum302 = (($125) + ($44))|0; - $scevgep278 = (($$01229) + ($$sum302)|0); - $$9 = $scevgep278; - break L50; - break; - } - case 3: { - if ($36) { - $$9 = $$1; - break L50; - } else { - $$5188 = $$1;$cur$5186 = $cur$1;$i$3189 = $i$3185;$prior$4187 = $prior$0; - } - while(1) { - if ($37) { - $k$10182 = 0; - while(1) { - $240 = (($$5188) + ($k$10182)|0); - $241 = HEAP8[$240>>0]|0; - $242 = $241&255; - $243 = (($prior$4187) + ($k$10182)|0); - $244 = HEAP8[$243>>0]|0; - $245 = $244&255; - $246 = (($k$10182) - ($out_n))|0; - $247 = (($cur$5186) + ($246)|0); - $248 = HEAP8[$247>>0]|0; - $249 = $248&255; - $250 = (($249) + ($245))|0; - $251 = $250 >>> 1; - $252 = (($251) + ($242))|0; - $253 = $252&255; - $254 = (($cur$5186) + ($k$10182)|0); - HEAP8[$254>>0] = $253; - $255 = (($k$10182) + 1)|0; - $exitcond275 = ($255|0)==($3|0); - if ($exitcond275) { - break; - } else { - $k$10182 = $255; - } - } - } - $256 = (($cur$5186) + ($3)|0); - HEAP8[$256>>0] = -1; - $257 = (($$5188) + ($3)|0); - $258 = (($cur$5186) + ($out_n)|0); - $259 = (($prior$4187) + ($out_n)|0); - $i$3 = (($i$3189) + -1)|0; - $260 = ($i$3|0)==(0); - if ($260) { - break; - } else { - $$5188 = $257;$cur$5186 = $258;$i$3189 = $i$3;$prior$4187 = $259; - } - } - $$sum301 = (($125) + ($44))|0; - $scevgep276 = (($$01229) + ($$sum301)|0); - $$9 = $scevgep276; - break L50; - break; - } - case 4: { - if ($38) { - $$9 = $$1; - break L50; - } else { - $$6179 = $$1;$cur$6177 = $cur$1;$i$4180 = $i$4176;$prior$5178 = $prior$0; - } - while(1) { - if ($39) { - $k$11173 = 0; - while(1) { - $261 = (($$6179) + ($k$11173)|0); - $262 = HEAP8[$261>>0]|0; - $263 = $262&255; - $264 = (($k$11173) - ($out_n))|0; - $265 = (($cur$6177) + ($264)|0); - $266 = HEAP8[$265>>0]|0; - $267 = $266&255; - $268 = (($prior$5178) + ($k$11173)|0); - $269 = HEAP8[$268>>0]|0; - $270 = $269&255; - $271 = (($prior$5178) + ($264)|0); - $272 = HEAP8[$271>>0]|0; - $273 = $272&255; - $274 = (_stbi__paeth($267,$270,$273)|0); - $275 = (($274) + ($263))|0; - $276 = $275&255; - $277 = (($cur$6177) + ($k$11173)|0); - HEAP8[$277>>0] = $276; - $278 = (($k$11173) + 1)|0; - $exitcond273 = ($278|0)==($3|0); - if ($exitcond273) { - break; - } else { - $k$11173 = $278; - } - } - } - $279 = (($cur$6177) + ($3)|0); - HEAP8[$279>>0] = -1; - $280 = (($$6179) + ($3)|0); - $281 = (($cur$6177) + ($out_n)|0); - $282 = (($prior$5178) + ($out_n)|0); - $i$4 = (($i$4180) + -1)|0; - $283 = ($i$4|0)==(0); - if ($283) { - break; - } else { - $$6179 = $280;$cur$6177 = $281;$i$4180 = $i$4;$prior$5178 = $282; - } - } - $$sum300 = (($125) + ($44))|0; - $scevgep274 = (($$01229) + ($$sum300)|0); - $$9 = $scevgep274; - break L50; - break; - } - case 5: { - if ($40) { - $$9 = $$1; - break L50; - } else { - $$7170 = $$1;$cur$7169 = $cur$1;$i$5171 = $i$5168; - } - while(1) { - if ($41) { - $k$12165 = 0; - while(1) { - $284 = (($$7170) + ($k$12165)|0); - $285 = HEAP8[$284>>0]|0; - $286 = $285&255; - $287 = (($k$12165) - ($out_n))|0; - $288 = (($cur$7169) + ($287)|0); - $289 = HEAP8[$288>>0]|0; - $290 = $289&255; - $291 = $290 >>> 1; - $292 = (($291) + ($286))|0; - $293 = $292&255; - $294 = (($cur$7169) + ($k$12165)|0); - HEAP8[$294>>0] = $293; - $295 = (($k$12165) + 1)|0; - $exitcond271 = ($295|0)==($3|0); - if ($exitcond271) { - break; - } else { - $k$12165 = $295; - } - } - } - $296 = (($cur$7169) + ($3)|0); - HEAP8[$296>>0] = -1; - $297 = (($$7170) + ($3)|0); - $298 = (($cur$7169) + ($out_n)|0); - $i$5 = (($i$5171) + -1)|0; - $299 = ($i$5|0)==(0); - if ($299) { - break; - } else { - $$7170 = $297;$cur$7169 = $298;$i$5171 = $i$5; - } - } - $$sum299 = (($125) + ($44))|0; - $scevgep272 = (($$01229) + ($$sum299)|0); - $$9 = $scevgep272; - break L50; - break; - } - case 6: { - if ($42) { - $$9 = $$1; - break L50; - } else { - $$8162 = $$1;$cur$8161 = $cur$1;$i$6163 = $i$6160; - } - while(1) { - if ($43) { - $k$13157 = 0; - while(1) { - $300 = (($$8162) + ($k$13157)|0); - $301 = HEAP8[$300>>0]|0; - $302 = $301&255; - $303 = (($k$13157) - ($out_n))|0; - $304 = (($cur$8161) + ($303)|0); - $305 = HEAP8[$304>>0]|0; - $306 = $305&255; - $307 = (_stbi__paeth($306,0,0)|0); - $308 = (($307) + ($302))|0; - $309 = $308&255; - $310 = (($cur$8161) + ($k$13157)|0); - HEAP8[$310>>0] = $309; - $311 = (($k$13157) + 1)|0; - $exitcond269 = ($311|0)==($3|0); - if ($exitcond269) { - break; - } else { - $k$13157 = $311; - } - } - } - $312 = (($cur$8161) + ($3)|0); - HEAP8[$312>>0] = -1; - $313 = (($$8162) + ($3)|0); - $314 = (($cur$8161) + ($out_n)|0); - $i$6 = (($i$6163) + -1)|0; - $315 = ($i$6|0)==(0); - if ($315) { - break; - } else { - $$8162 = $313;$cur$8161 = $314;$i$6163 = $i$6; - } - } - $$sum290 = (($125) + ($44))|0; - $scevgep270 = (($$01229) + ($$sum290)|0); - $$9 = $scevgep270; - break L50; - break; - } - default: { - $$9 = $$1; - break L50; - } - } - } - } while(0); - $316 = (($j$0228) + 1)|0; - $317 = ($316>>>0)<($y>>>0); - if ($317) { - $$01229 = $$9;$j$0228 = $316; - } else { - break L18; - } - } - if ((label|0) == 14) { - _stbi__err(17639); - $$0 = 0; - return ($$0|0); - } - else if ((label|0) == 17) { - ___assert_fail((17654|0),(17471|0),4016,(17594|0)); - // unreachable; - } - else if ((label|0) == 59) { - ___assert_fail((17680|0),(17471|0),4069,(17594|0)); - // unreachable; - } - } - } while(0); - $318 = ($depth|0)>(7); - $319 = ($y|0)==(0); - $or$cond311 = $318 | $319; - if ($or$cond311) { - $$0 = 1; - return ($$0|0); - } - $$sum = (($1) - ($15))|0; - $320 = ($color|0)==(0); - $321 = (17384 + ($depth)|0); - $q$0148 = (($x) + -1)|0; - $322 = ($q$0148|0)>(-1); - $q$1145 = (($x) + -1)|0; - $323 = ($q$1145|0)>(-1); - $324 = ($12|0)>(1); - $325 = ($12|0)>(3); - $326 = ($12|0)>(7); - $327 = Math_imul($3, $x)|0; - $328 = (($327) + -8)|0; - $329 = $328 >>> 3; - $330 = Math_imul($x, $out_n)|0; - $331 = (($329) + ($330))|0; - $332 = (($331) + 1)|0; - $333 = Math_imul($3, $depth)|0; - $334 = Math_imul($333, $x)|0; - $335 = (($334) + 7)|0; - $336 = $335 >>> 3; - $337 = (($332) - ($336))|0; - $338 = (($327) + -8)|0; - $339 = $329 << 3; - $340 = (($338) - ($339))|0; - $341 = (($339) + 8)|0; - $342 = Math_imul($3, $x)|0; - $343 = (($342) + -4)|0; - $344 = $343 >>> 2; - $345 = Math_imul($x, $out_n)|0; - $346 = (($344) + ($345))|0; - $347 = (($346) + 1)|0; - $348 = Math_imul($3, $depth)|0; - $349 = Math_imul($348, $x)|0; - $350 = (($349) + 7)|0; - $351 = $350 >>> 3; - $352 = (($347) - ($351))|0; - $353 = (($342) + -4)|0; - $354 = $344 << 2; - $355 = (($353) - ($354))|0; - $356 = (($354) + 4)|0; - $357 = Math_imul($3, $x)|0; - $358 = (($357) + -2)|0; - $359 = $358 >>> 1; - $360 = Math_imul($x, $out_n)|0; - $361 = (($359) + ($360))|0; - $362 = (($361) + 1)|0; - $363 = Math_imul($3, $depth)|0; - $364 = Math_imul($363, $x)|0; - $365 = (($364) + 7)|0; - $366 = $365 >>> 3; - $367 = (($362) - ($366))|0; - $368 = (($357) + -2)|0; - $369 = $359 << 1; - $370 = (($368) - ($369))|0; - $371 = (($369) + 2)|0; - $indvars$iv = $337;$indvars$iv254 = $341;$indvars$iv257 = $352;$indvars$iv260 = $356;$indvars$iv263 = $367;$indvars$iv266 = $371;$j$1151 = 0; - L148: while(1) { - $372 = HEAP32[$10>>2]|0; - $373 = Math_imul($j$1151, $1)|0; - $374 = (($372) + ($373)|0); - $$sum2 = (($$sum) + ($373))|0; - $375 = (($372) + ($$sum2)|0); - if ($320) { - $376 = HEAP8[$321>>0]|0; - $377 = $376&255; - $382 = $377; - } else { - $382 = 1; - } - switch ($depth|0) { - case 4: { - if ($324) { - $scevgep265 = (($372) + ($indvars$iv263)|0); - $cur1$0138 = $374;$in$0139 = $375;$k$14137 = $12; - while(1) { - $378 = HEAP8[$in$0139>>0]|0; - $379 = $378&255; - $380 = $379 >>> 4; - $381 = Math_imul($380, $382)|0; - $383 = $381&255; - $384 = ((($cur1$0138)) + 1|0); - HEAP8[$cur1$0138>>0] = $383; - $385 = HEAP8[$in$0139>>0]|0; - $386 = $385&255; - $387 = $386 & 15; - $388 = Math_imul($387, $382)|0; - $389 = $388&255; - $390 = ((($cur1$0138)) + 2|0); - HEAP8[$384>>0] = $389; - $391 = (($k$14137) + -2)|0; - $392 = ((($in$0139)) + 1|0); - $393 = ($391|0)>(1); - if ($393) { - $cur1$0138 = $390;$in$0139 = $392;$k$14137 = $391; - } else { - break; - } - } - $scevgep268 = (($372) + ($indvars$iv266)|0); - $cur1$0$lcssa = $scevgep268;$in$0$lcssa = $scevgep265;$k$14$lcssa = $370; - } else { - $cur1$0$lcssa = $374;$in$0$lcssa = $375;$k$14$lcssa = $12; - } - $394 = ($k$14$lcssa|0)>(0); - if ($394) { - $395 = HEAP8[$in$0$lcssa>>0]|0; - $396 = $395&255; - $397 = $396 >>> 4; - $398 = Math_imul($397, $382)|0; - $399 = $398&255; - HEAP8[$cur1$0$lcssa>>0] = $399; } break; } case 2: { - if ($325) { - $scevgep259 = (($372) + ($indvars$iv257)|0); - $cur1$1130 = $374;$in$1131 = $375;$k$15129 = $12; - while(1) { - $400 = HEAP8[$in$1131>>0]|0; - $401 = $400&255; - $402 = $401 >>> 6; - $403 = Math_imul($402, $382)|0; - $404 = $403&255; - $405 = ((($cur1$1130)) + 1|0); - HEAP8[$cur1$1130>>0] = $404; - $406 = HEAP8[$in$1131>>0]|0; - $407 = $406&255; - $408 = $407 >>> 4; - $409 = $408 & 3; - $410 = Math_imul($409, $382)|0; - $411 = $410&255; - $412 = ((($cur1$1130)) + 2|0); - HEAP8[$405>>0] = $411; - $413 = HEAP8[$in$1131>>0]|0; - $414 = $413&255; - $415 = $414 >>> 2; - $416 = $415 & 3; - $417 = Math_imul($416, $382)|0; - $418 = $417&255; - $419 = ((($cur1$1130)) + 3|0); - HEAP8[$412>>0] = $418; - $420 = HEAP8[$in$1131>>0]|0; - $421 = $420&255; - $422 = $421 & 3; - $423 = Math_imul($422, $382)|0; - $424 = $423&255; - $425 = ((($cur1$1130)) + 4|0); - HEAP8[$419>>0] = $424; - $426 = (($k$15129) + -4)|0; - $427 = ((($in$1131)) + 1|0); - $428 = ($426|0)>(3); - if ($428) { - $cur1$1130 = $425;$in$1131 = $427;$k$15129 = $426; - } else { - break; - } - } - $scevgep262 = (($372) + ($indvars$iv260)|0); - $436 = $indvars$iv260;$cur1$1$lcssa = $scevgep262;$in$1$lcssa = $scevgep259;$k$15$lcssa = $355; - } else { - $436 = $373;$cur1$1$lcssa = $374;$in$1$lcssa = $375;$k$15$lcssa = $12; + $11 = ((($1)) + 8|0); + $12 = HEAP32[$11>>2]|0; + switch ($12|0) { + case 8: { + $$0 = 4354; + break L4; + break; } - $429 = ($k$15$lcssa|0)>(0); - if ($429) { - $430 = HEAP8[$in$1$lcssa>>0]|0; - $431 = $430&255; - $432 = $431 >>> 6; - $433 = Math_imul($432, $382)|0; - $434 = $433&255; - HEAP8[$cur1$1$lcssa>>0] = $434; - $435 = ($k$15$lcssa|0)>(1); - if ($435) { - $$sum297 = (($436) + 1)|0; - $437 = (($372) + ($$sum297)|0); - $438 = HEAP8[$in$1$lcssa>>0]|0; - $439 = $438&255; - $440 = $439 >>> 4; - $441 = $440 & 3; - $442 = Math_imul($441, $382)|0; - $443 = $442&255; - HEAP8[$437>>0] = $443; - $444 = ($k$15$lcssa|0)>(2); - if ($444) { - $$sum298 = (($436) + 2)|0; - $445 = (($372) + ($$sum298)|0); - $446 = HEAP8[$in$1$lcssa>>0]|0; - $447 = $446&255; - $448 = $447 >>> 2; - $449 = $448 & 3; - $450 = Math_imul($449, $382)|0; - $451 = $450&255; - HEAP8[$445>>0] = $451; - } - } + case 16: { + $$0 = 4355; + break L4; + break; } - break; - } - case 1: { - if ($326) { - $scevgep = (($372) + ($indvars$iv)|0); - $cur1$4125 = $374;$in$2126 = $375;$k$16124 = $12; - while(1) { - $452 = HEAP8[$in$2126>>0]|0; - $453 = $452&255; - $454 = $453 >>> 7; - $455 = (0 - ($454))|0; - $456 = $382 & $455; - $457 = $456&255; - $458 = ((($cur1$4125)) + 1|0); - HEAP8[$cur1$4125>>0] = $457; - $459 = HEAP8[$in$2126>>0]|0; - $460 = $459&255; - $461 = $460 >>> 6; - $462 = $461 & 1; - $463 = (0 - ($462))|0; - $464 = $382 & $463; - $465 = $464&255; - $466 = ((($cur1$4125)) + 2|0); - HEAP8[$458>>0] = $465; - $467 = HEAP8[$in$2126>>0]|0; - $468 = $467&255; - $469 = $468 >>> 5; - $470 = $469 & 1; - $471 = (0 - ($470))|0; - $472 = $382 & $471; - $473 = $472&255; - $474 = ((($cur1$4125)) + 3|0); - HEAP8[$466>>0] = $473; - $475 = HEAP8[$in$2126>>0]|0; - $476 = $475&255; - $477 = $476 >>> 4; - $478 = $477 & 1; - $479 = (0 - ($478))|0; - $480 = $382 & $479; - $481 = $480&255; - $482 = ((($cur1$4125)) + 4|0); - HEAP8[$474>>0] = $481; - $483 = HEAP8[$in$2126>>0]|0; - $484 = $483&255; - $485 = $484 >>> 3; - $486 = $485 & 1; - $487 = (0 - ($486))|0; - $488 = $382 & $487; - $489 = $488&255; - $490 = ((($cur1$4125)) + 5|0); - HEAP8[$482>>0] = $489; - $491 = HEAP8[$in$2126>>0]|0; - $492 = $491&255; - $493 = $492 >>> 2; - $494 = $493 & 1; - $495 = (0 - ($494))|0; - $496 = $382 & $495; - $497 = $496&255; - $498 = ((($cur1$4125)) + 6|0); - HEAP8[$490>>0] = $497; - $499 = HEAP8[$in$2126>>0]|0; - $500 = $499&255; - $501 = $500 >>> 1; - $502 = $501 & 1; - $503 = (0 - ($502))|0; - $504 = $382 & $503; - $505 = $504&255; - $506 = ((($cur1$4125)) + 7|0); - HEAP8[$498>>0] = $505; - $507 = HEAP8[$in$2126>>0]|0; - $508 = $507&255; - $509 = $508 & 1; - $510 = (0 - ($509))|0; - $511 = $382 & $510; - $512 = $511&255; - $513 = ((($cur1$4125)) + 8|0); - HEAP8[$506>>0] = $512; - $514 = (($k$16124) + -8)|0; - $515 = ((($in$2126)) + 1|0); - $516 = ($514|0)>(7); - if ($516) { - $cur1$4125 = $513;$in$2126 = $515;$k$16124 = $514; - } else { - break; - } - } - $scevgep256 = (($372) + ($indvars$iv254)|0); - $525 = $indvars$iv254;$cur1$4$lcssa = $scevgep256;$in$2$lcssa = $scevgep;$k$16$lcssa = $340; - } else { - $525 = $373;$cur1$4$lcssa = $374;$in$2$lcssa = $375;$k$16$lcssa = $12; + case 32: { + $$0 = 65553; + break L4; + break; + } + default: { + HEAP32[$vararg_buffer1>>2] = $12; + _TraceLog(1,17554,$vararg_buffer1); + $$0 = 0; + break L4; } - $517 = ($k$16$lcssa|0)>(0); - if ($517) { - $518 = HEAP8[$in$2$lcssa>>0]|0; - $519 = $518&255; - $520 = $519 >>> 7; - $521 = (0 - ($520))|0; - $522 = $382 & $521; - $523 = $522&255; - HEAP8[$cur1$4$lcssa>>0] = $523; - $524 = ($k$16$lcssa|0)>(1); - if ($524) { - $$sum291 = (($525) + 1)|0; - $526 = (($372) + ($$sum291)|0); - $527 = HEAP8[$in$2$lcssa>>0]|0; - $528 = $527&255; - $529 = $528 >>> 6; - $530 = $529 & 1; - $531 = (0 - ($530))|0; - $532 = $382 & $531; - $533 = $532&255; - HEAP8[$526>>0] = $533; - $534 = ($k$16$lcssa|0)>(2); - if ($534) { - $$sum292 = (($525) + 2)|0; - $535 = (($372) + ($$sum292)|0); - $536 = HEAP8[$in$2$lcssa>>0]|0; - $537 = $536&255; - $538 = $537 >>> 5; - $539 = $538 & 1; - $540 = (0 - ($539))|0; - $541 = $382 & $540; - $542 = $541&255; - HEAP8[$535>>0] = $542; - $543 = ($k$16$lcssa|0)>(3); - if ($543) { - $$sum293 = (($525) + 3)|0; - $544 = (($372) + ($$sum293)|0); - $545 = HEAP8[$in$2$lcssa>>0]|0; - $546 = $545&255; - $547 = $546 >>> 4; - $548 = $547 & 1; - $549 = (0 - ($548))|0; - $550 = $382 & $549; - $551 = $550&255; - HEAP8[$544>>0] = $551; - $552 = ($k$16$lcssa|0)>(4); - if ($552) { - $$sum294 = (($525) + 4)|0; - $553 = (($372) + ($$sum294)|0); - $554 = HEAP8[$in$2$lcssa>>0]|0; - $555 = $554&255; - $556 = $555 >>> 3; - $557 = $556 & 1; - $558 = (0 - ($557))|0; - $559 = $382 & $558; - $560 = $559&255; - HEAP8[$553>>0] = $560; - $561 = ($k$16$lcssa|0)>(5); - if ($561) { - $$sum295 = (($525) + 5)|0; - $562 = (($372) + ($$sum295)|0); - $563 = HEAP8[$in$2$lcssa>>0]|0; - $564 = $563&255; - $565 = $564 >>> 2; - $566 = $565 & 1; - $567 = (0 - ($566))|0; - $568 = $382 & $567; - $569 = $568&255; - HEAP8[$562>>0] = $569; - $570 = ($k$16$lcssa|0)>(6); - if ($570) { - $$sum296 = (($525) + 6)|0; - $571 = (($372) + ($$sum296)|0); - $572 = HEAP8[$in$2$lcssa>>0]|0; - $573 = $572&255; - $574 = $573 >>> 1; - $575 = $574 & 1; - $576 = (0 - ($575))|0; - $577 = $382 & $576; - $578 = $577&255; - HEAP8[$571>>0] = $578; - } - } - } - } - } - } } break; } default: { + HEAP32[$vararg_buffer4>>2] = $8; + _TraceLog(1,17589,$vararg_buffer4); + $$0 = 0; } } - L187: do { - if (!($4)) { - $579 = HEAP32[$10>>2]|0; - switch ($3|0) { - case 1: { - if ($322) { - $q$0149 = $q$0148; - } else { - break L187; - } - while(1) { - $582 = $q$0149 << 1; - $583 = $582 | 1; - $$sum10 = (($583) + ($373))|0; - $584 = (($579) + ($$sum10)|0); - HEAP8[$584>>0] = -1; - $$sum11 = (($q$0149) + ($373))|0; - $585 = (($579) + ($$sum11)|0); - $586 = HEAP8[$585>>0]|0; - $$sum12 = (($582) + ($373))|0; - $587 = (($579) + ($$sum12)|0); - HEAP8[$587>>0] = $586; - $q$0 = (($q$0149) + -1)|0; - $588 = ($q$0|0)>(-1); - if ($588) { - $q$0149 = $q$0; - } else { - break L187; - } - } - break; - } - case 3: { - break; - } - default: { - label = 134; - break L148; - } - } - if ($323) { - $580 = (($373) + 2)|0; - $581 = (($373) + 1)|0; - $q$1146 = $q$1145; - while(1) { - $589 = $q$1146 << 2; - $590 = $589 | 3; - $$sum3 = (($590) + ($373))|0; - $591 = (($579) + ($$sum3)|0); - HEAP8[$591>>0] = -1; - $592 = ($q$1146*3)|0; - $$sum4 = (($580) + ($592))|0; - $593 = (($579) + ($$sum4)|0); - $594 = HEAP8[$593>>0]|0; - $595 = $589 | 2; - $$sum5 = (($595) + ($373))|0; - $596 = (($579) + ($$sum5)|0); - HEAP8[$596>>0] = $594; - $$sum6 = (($581) + ($592))|0; - $597 = (($579) + ($$sum6)|0); - $598 = HEAP8[$597>>0]|0; - $599 = $589 | 1; - $$sum7 = (($599) + ($373))|0; - $600 = (($579) + ($$sum7)|0); - HEAP8[$600>>0] = $598; - $$sum8 = (($592) + ($373))|0; - $601 = (($579) + ($$sum8)|0); - $602 = HEAP8[$601>>0]|0; - $$sum9 = (($589) + ($373))|0; - $603 = (($579) + ($$sum9)|0); - HEAP8[$603>>0] = $602; - $q$1 = (($q$1146) + -1)|0; - $604 = ($q$1|0)>(-1); - if ($604) { - $q$1146 = $q$1; - } else { - break; - } - } - } - } - } while(0); - $605 = (($j$1151) + 1)|0; - $606 = ($605>>>0)<($y>>>0); - $indvars$iv$next = (($indvars$iv) + ($330))|0; - $indvars$iv$next255 = (($indvars$iv254) + ($330))|0; - $indvars$iv$next258 = (($indvars$iv257) + ($345))|0; - $indvars$iv$next261 = (($indvars$iv260) + ($345))|0; - $indvars$iv$next264 = (($indvars$iv263) + ($360))|0; - $indvars$iv$next267 = (($indvars$iv266) + ($360))|0; - if ($606) { - $indvars$iv = $indvars$iv$next;$indvars$iv254 = $indvars$iv$next255;$indvars$iv257 = $indvars$iv$next258;$indvars$iv260 = $indvars$iv$next261;$indvars$iv263 = $indvars$iv$next264;$indvars$iv266 = $indvars$iv$next267;$j$1151 = $605; + } while(0); + _alGenSources(1,($2|0)); + $13 = HEAP32[$2>>2]|0; + _alSourcef(($13|0),4099,1.0); + $14 = HEAP32[$2>>2]|0; + _alSourcef(($14|0),4106,1.0); + $15 = HEAP32[$2>>2]|0; + _alSource3f(($15|0),4100,0.0,0.0,0.0); + $16 = HEAP32[$2>>2]|0; + _alSource3f(($16|0),4102,0.0,0.0,0.0); + $17 = HEAP32[$2>>2]|0; + _alSourcei(($17|0),4103,0); + _alGenBuffers(1,($3|0)); + $18 = HEAP32[$1>>2]|0; + $19 = HEAP32[$7>>2]|0; + $20 = Math_imul($19, $18)|0; + $21 = ((($1)) + 8|0); + $22 = HEAP32[$21>>2]|0; + $23 = Math_imul($20, $22)|0; + $24 = $23 >>> 3; + $25 = HEAP32[$3>>2]|0; + $26 = HEAP32[$4>>2]|0; + $27 = ((($1)) + 4|0); + $28 = HEAP32[$27>>2]|0; + _alBufferData(($25|0),($$0|0),($26|0),($24|0),($28|0)); + $29 = HEAP32[$2>>2]|0; + $30 = HEAP32[$3>>2]|0; + _alSourcei(($29|0),4105,($30|0)); + $31 = HEAP32[$2>>2]|0; + $32 = HEAP32[$3>>2]|0; + $33 = HEAP32[$27>>2]|0; + $34 = HEAP32[$21>>2]|0; + $35 = HEAP32[$7>>2]|0; + $36 = ($35|0)==(1); + $37 = $36 ? 16263 : 16268; + HEAP32[$vararg_buffer7>>2] = $31; + $vararg_ptr10 = ((($vararg_buffer7)) + 4|0); + HEAP32[$vararg_ptr10>>2] = $32; + $vararg_ptr11 = ((($vararg_buffer7)) + 8|0); + HEAP32[$vararg_ptr11>>2] = $33; + $vararg_ptr12 = ((($vararg_buffer7)) + 12|0); + HEAP32[$vararg_ptr12>>2] = $34; + $vararg_ptr13 = ((($vararg_buffer7)) + 16|0); + HEAP32[$vararg_ptr13>>2] = $37; + _TraceLog(0,17631,$vararg_buffer7); + $38 = HEAP32[$2>>2]|0; + $39 = HEAP32[$3>>2]|0; + $$sroa$0$0 = $38;$$sroa$5$0 = $39;$$sroa$6$0 = $$0; + HEAP32[$0>>2] = $$sroa$0$0; + $$sroa$5$0$$sroa_idx7 = ((($0)) + 4|0); + HEAP32[$$sroa$5$0$$sroa_idx7>>2] = $$sroa$5$0; + $$sroa$6$0$$sroa_idx9 = ((($0)) + 8|0); + HEAP32[$$sroa$6$0$$sroa_idx9>>2] = $$sroa$6$0; + STACKTOP = sp;return; +} +function _UnloadWave($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $vararg_buffer = sp; + $1 = ((($0)) + 16|0); + $2 = HEAP32[$1>>2]|0; + $3 = ($2|0)==(0|0); + if (!($3)) { + _free($2); + } + _TraceLog(0,17526,$vararg_buffer); + STACKTOP = sp;return; +} +function _UnloadSound($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $vararg_buffer = sp; + $1 = HEAP32[$0>>2]|0; + _alSourceStop(($1|0)); + _alDeleteSources(1,($0|0)); + $2 = ((($0)) + 4|0); + _alDeleteBuffers(1,($2|0)); + $3 = HEAP32[$0>>2]|0; + $4 = HEAP32[$2>>2]|0; + HEAP32[$vararg_buffer>>2] = $3; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $4; + _TraceLog(0,17706,$vararg_buffer); + STACKTOP = sp;return; +} +function _PlaySound($0) { + $0 = $0|0; + var $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP32[$0>>2]|0; + _alSourcePlay(($1|0)); + return; +} +function _LoadMusicStream($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; + var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0.0, $39 = 0.0, $4 = 0, $40 = 0.0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; + var $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer13 = 0, $vararg_buffer17 = 0, $vararg_buffer21 = 0, $vararg_buffer25 = 0, $vararg_buffer28 = 0, $vararg_buffer5 = 0, $vararg_buffer9 = 0, $vararg_ptr12 = 0, $vararg_ptr16 = 0, $vararg_ptr20 = 0, $vararg_ptr24 = 0, $vararg_ptr4 = 0, $vararg_ptr8 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 160|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(160|0); + $vararg_buffer28 = sp + 72|0; + $vararg_buffer25 = sp + 64|0; + $vararg_buffer21 = sp + 48|0; + $vararg_buffer17 = sp + 40|0; + $vararg_buffer13 = sp + 32|0; + $vararg_buffer9 = sp + 24|0; + $vararg_buffer5 = sp + 16|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $1 = sp + 136|0; + $2 = sp + 104|0; + $3 = sp + 76|0; + $4 = (_malloc(52)|0); + $5 = (_IsFileExtension($0,15982)|0); + $6 = ($5|0)==(0); + if (!($6)) { + $7 = (_stb_vorbis_open_filename($0,0,0)|0); + $8 = ((($4)) + 4|0); + HEAP32[$8>>2] = $7; + $9 = ($7|0)==(0|0); + if ($9) { + HEAP32[$vararg_buffer>>2] = $0; + _TraceLog(1,17759,$vararg_buffer); + STACKTOP = sp;return ($4|0); } else { - $$0 = 1; - label = 137; - break; + $10 = HEAP32[$8>>2]|0; + _stb_vorbis_get_info($1,$10); + $11 = ((($4)) + 12|0); + $12 = HEAP32[$1>>2]|0; + $13 = ((($1)) + 4|0); + $14 = HEAP32[$13>>2]|0; + _InitAudioStream($2,$12,16,$14); + ;HEAP32[$11>>2]=HEAP32[$2>>2]|0;HEAP32[$11+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$11+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$11+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$11+16>>2]=HEAP32[$2+16>>2]|0;HEAP32[$11+20>>2]=HEAP32[$2+20>>2]|0;HEAP32[$11+24>>2]=HEAP32[$2+24>>2]|0; + $15 = HEAP32[$8>>2]|0; + $16 = (_stb_vorbis_stream_length_in_samples($15)|0); + $17 = ((($4)) + 44|0); + HEAP32[$17>>2] = $16; + $18 = ((($4)) + 48|0); + HEAP32[$18>>2] = $16; + HEAP32[$4>>2] = 0; + $19 = ((($4)) + 40|0); + HEAP32[$19>>2] = -1; + $20 = HEAP32[$17>>2]|0; + HEAP32[$vararg_buffer1>>2] = $0; + $vararg_ptr4 = ((($vararg_buffer1)) + 4|0); + HEAP32[$vararg_ptr4>>2] = $20; + _TraceLog(3,17799,$vararg_buffer1); + $21 = HEAP32[$1>>2]|0; + HEAP32[$vararg_buffer5>>2] = $0; + $vararg_ptr8 = ((($vararg_buffer5)) + 4|0); + HEAP32[$vararg_ptr8>>2] = $21; + _TraceLog(3,17827,$vararg_buffer5); + $22 = HEAP32[$13>>2]|0; + HEAP32[$vararg_buffer9>>2] = $0; + $vararg_ptr12 = ((($vararg_buffer9)) + 4|0); + HEAP32[$vararg_ptr12>>2] = $22; + _TraceLog(3,17852,$vararg_buffer9); + $23 = ((($1)) + 16|0); + $24 = HEAP32[$23>>2]|0; + HEAP32[$vararg_buffer13>>2] = $0; + $vararg_ptr16 = ((($vararg_buffer13)) + 4|0); + HEAP32[$vararg_ptr16>>2] = $24; + _TraceLog(3,17874,$vararg_buffer13); + STACKTOP = sp;return ($4|0); } } - if ((label|0) == 134) { - ___assert_fail((17697|0),(17471|0),4149,(17594|0)); - // unreachable; + $25 = (_IsFileExtension($0,17903)|0); + $26 = ($25|0)==(0); + if ($26) { + HEAP32[$vararg_buffer28>>2] = $0; + _TraceLog(1,16039,$vararg_buffer28); + STACKTOP = sp;return ($4|0); } - else if ((label|0) == 137) { - return ($$0|0); + $27 = ((($4)) + 8|0); + $28 = (_jar_xm_create_context_from_file($27,48000,$0)|0); + $29 = ($28|0)==(0); + if ($29) { + $30 = HEAP32[$27>>2]|0; + _jar_xm_set_max_loop_count($30,0); + $31 = ((($4)) + 12|0); + _InitAudioStream($3,48000,16,2); + ;HEAP32[$31>>2]=HEAP32[$3>>2]|0;HEAP32[$31+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$31+8>>2]=HEAP32[$3+8>>2]|0;HEAP32[$31+12>>2]=HEAP32[$3+12>>2]|0;HEAP32[$31+16>>2]=HEAP32[$3+16>>2]|0;HEAP32[$31+20>>2]=HEAP32[$3+20>>2]|0;HEAP32[$31+24>>2]=HEAP32[$3+24>>2]|0; + $32 = (_jar_xm_get_remaining_samples($30)|0); + $33 = tempRet0; + $34 = ((($4)) + 44|0); + HEAP32[$34>>2] = $32; + $35 = ((($4)) + 48|0); + HEAP32[$35>>2] = $32; + HEAP32[$4>>2] = 2; + $36 = ((($4)) + 40|0); + HEAP32[$36>>2] = -1; + $37 = HEAP32[$34>>2]|0; + HEAP32[$vararg_buffer17>>2] = $0; + $vararg_ptr20 = ((($vararg_buffer17)) + 4|0); + HEAP32[$vararg_ptr20>>2] = $37; + _TraceLog(3,17907,$vararg_buffer17); + $38 = (+($37>>>0)); + $39 = $38 / 48000.0; + $40 = $39; + HEAP32[$vararg_buffer21>>2] = $0; + $vararg_ptr24 = ((($vararg_buffer21)) + 8|0); + HEAPF64[$vararg_ptr24>>3] = $40; + _TraceLog(3,17937,$vararg_buffer21); + STACKTOP = sp;return ($4|0); + } else { + HEAP32[$vararg_buffer25>>2] = $0; + _TraceLog(1,17970,$vararg_buffer25); + STACKTOP = sp;return ($4|0); } return (0)|0; } -function _stbi__paeth($a,$b,$c) { - $a = $a|0; - $b = $b|0; - $c = $c|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $c$b = 0, $ispos = 0, $ispos1 = 0, $ispos3 = 0, $neg = 0, $neg2 = 0, $neg4 = 0, $or$cond = 0; +function _InitAudioStream($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$off = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer4 = 0, $vararg_buffer7 = 0, $vararg_ptr10 = 0, $vararg_ptr11 = 0, $vararg_ptr12 = 0; var label = 0, sp = 0; sp = STACKTOP; - $0 = (($b) + ($a))|0; - $1 = (($0) - ($c))|0; - $2 = (($1) - ($a))|0; - $ispos = ($2|0)>(-1); - $neg = (0 - ($2))|0; - $3 = $ispos ? $2 : $neg; - $4 = (($1) - ($b))|0; - $ispos1 = ($4|0)>(-1); - $neg2 = (0 - ($4))|0; - $5 = $ispos1 ? $4 : $neg2; - $6 = (($1) - ($c))|0; - $ispos3 = ($6|0)>(-1); - $neg4 = (0 - ($6))|0; - $7 = $ispos3 ? $6 : $neg4; - $8 = ($3|0)>($5|0); - $9 = ($3|0)>($7|0); - $or$cond = $8 | $9; - $10 = ($5|0)>($7|0); - $c$b = $10 ? $c : $b; - $$0 = $or$cond ? $c$b : $a; - return ($$0|0); -} -function _stbi__decode_jpeg_header($z,$scan) { - $z = $z|0; - $scan = $scan|0; - var $$ = 0, $$0 = 0, $$2 = 0, $$9 = 0, $$lcssa = 0, $$lcssa20 = 0, $$lcssa5 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0; - var $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $m$010 = 0, $not$ = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($z)) + 18116|0); - HEAP8[$0>>0] = -1; - $1 = (_stbi__get_marker($z)|0); - $2 = ($1<<24>>24)==(-40); - if (!($2)) { - _stbi__err(17720); - $$0 = 0; - return ($$0|0); - } - $3 = ($scan|0)==(1); - if ($3) { - $$0 = 1; - return ($$0|0); - } - $4 = (_stbi__get_marker($z)|0); - $5 = $4&255; - $6 = $5 & 254; - $7 = ($6|0)==(192); - $8 = ($4<<24>>24)==(-62); - $$9 = $8 | $7; - L8: do { - if ($$9) { - $$lcssa5 = $8; - } else { - $m$010 = $5; - L10: while(1) { - $13 = (_stbi__process_marker($z,$m$010)|0); - $14 = ($13|0)==(0); - if ($14) { - $$0 = 0; - label = 14; - break; - } - $15 = (_stbi__get_marker($z)|0); - $16 = $15&255; - $17 = ($15<<24>>24)==(-1); - if ($17) { - while(1) { - $18 = HEAP32[$z>>2]|0; - $19 = (_stbi__at_eof($18)|0); - $20 = ($19|0)==(0); - if (!($20)) { - break L10; - } - $21 = (_stbi__get_marker($z)|0); - $22 = ($21<<24>>24)==(-1); - if (!($22)) { - $$lcssa20 = $21; - break; - } - } - $9 = $$lcssa20&255; - $$lcssa = $9; - } else { - $$lcssa = $16; - } - $10 = $$lcssa & 254; - $11 = ($10|0)==(192); - $12 = ($$lcssa|0)==(194); - $$ = $12 | $11; - if ($$) { - $$lcssa5 = $12; - break L8; - } else { - $m$010 = $$lcssa; - } - } - if ((label|0) == 14) { - return ($$0|0); - } - _stbi__err(17727); - $$0 = 0; - return ($$0|0); - } - } while(0); - $23 = $$lcssa5&1; - $24 = ((($z)) + 18124|0); - HEAP32[$24>>2] = $23; - $25 = (_stbi__process_frame_header($z,$scan)|0); - $not$ = ($25|0)!=(0); - $$2 = $not$&1; - $$0 = $$2; - return ($$0|0); -} -function _stbi__get_marker($j) { - $j = $j|0; - var $$0 = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($j)) + 18116|0); - $1 = HEAP8[$0>>0]|0; - $2 = ($1<<24>>24)==(-1); - if (!($2)) { - HEAP8[$0>>0] = -1; - $$0 = $1; - return ($$0|0); - } - $3 = HEAP32[$j>>2]|0; - $4 = (_stbi__get8($3)|0); - $5 = ($4<<24>>24)==(-1); - if (!($5)) { - $$0 = -1; - return ($$0|0); - } - while(1) { - $6 = HEAP32[$j>>2]|0; - $7 = (_stbi__get8($6)|0); - $8 = ($7<<24>>24)==(-1); - if (!($8)) { - $$0 = $7; - break; - } - } - return ($$0|0); -} -function _stbi__process_marker($z,$m) { - $z = $z|0; - $m = $m|0; - var $$2 = 0, $$mask = 0, $$mask7 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0; - var $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0; - var $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0; - var $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0; - var $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0; - var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0; - var $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0; - var $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0; - var $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $L$0$lcssa = 0, $L$015 = 0, $L$1$lcssa = 0, $L$122 = 0; - var $exitcond = 0, $exitcond30 = 0, $i$014 = 0, $i1$118 = 0, $or$cond = 0, $or$cond5 = 0, $sizes = 0, $v$0 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; - $sizes = sp; - switch ($m|0) { - case 255: { - _stbi__err(17838); - $$2 = 0; - STACKTOP = sp;return ($$2|0); - break; - } - case 221: { - $0 = HEAP32[$z>>2]|0; - $1 = (_stbi__get16be($0)|0); - $2 = ($1|0)==(4); - if ($2) { - $3 = HEAP32[$z>>2]|0; - $4 = (_stbi__get16be($3)|0); - $5 = ((($z)) + 18168|0); - HEAP32[$5>>2] = $4; - $$2 = 1; - STACKTOP = sp;return ($$2|0); - } else { - _stbi__err(17854); - $$2 = 0; - STACKTOP = sp;return ($$2|0); - } - break; - } - case 219: { - $6 = HEAP32[$z>>2]|0; - $7 = (_stbi__get16be($6)|0); - $8 = (($7) + -2)|0; - $9 = ($7|0)>(2); - L16: do { - if ($9) { - $L$015 = $8; - while(1) { - $10 = HEAP32[$z>>2]|0; - $11 = (_stbi__get8($10)|0); - $12 = $11&255; - $13 = $12 & 15; - $$mask = $12 & 240; - $14 = ($$mask|0)==(0); - if (!($14)) { - label = 8; - break; - } - $15 = ($13>>>0)>(3); - if ($15) { - label = 10; - break; - } else { - $i$014 = 0; - } - while(1) { - $16 = HEAP32[$z>>2]|0; - $17 = (_stbi__get8($16)|0); - $18 = (17893 + ($i$014)|0); - $19 = HEAP8[$18>>0]|0; - $20 = $19&255; - $21 = ((((($z)) + 13444|0) + ($13<<6)|0) + ($20)|0); - HEAP8[$21>>0] = $17; - $22 = (($i$014) + 1)|0; - $exitcond = ($22|0)==(64); - if ($exitcond) { - break; - } else { - $i$014 = $22; - } - } - $23 = (($L$015) + -65)|0; - $24 = ($L$015|0)>(65); - if ($24) { - $L$015 = $23; - } else { - $L$0$lcssa = $23; - break L16; - } - } - if ((label|0) == 8) { - _stbi__err(17866); - $$2 = 0; - STACKTOP = sp;return ($$2|0); - } - else if ((label|0) == 10) { - _stbi__err(17879); - $$2 = 0; - STACKTOP = sp;return ($$2|0); - } - } else { - $L$0$lcssa = $8; - } - } while(0); - $25 = ($L$0$lcssa|0)==(0); - $26 = $25&1; - $$2 = $26; - STACKTOP = sp;return ($$2|0); - break; - } - case 196: { - $27 = HEAP32[$z>>2]|0; - $28 = (_stbi__get16be($27)|0); - $29 = (($28) + -2)|0; - $30 = ($28|0)>(2); - L31: do { - if ($30) { - $31 = ((($sizes)) + 4|0); - $32 = ((($sizes)) + 8|0); - $33 = ((($sizes)) + 12|0); - $34 = ((($sizes)) + 16|0); - $35 = ((($sizes)) + 20|0); - $36 = ((($sizes)) + 24|0); - $37 = ((($sizes)) + 28|0); - $38 = ((($sizes)) + 32|0); - $39 = ((($sizes)) + 36|0); - $40 = ((($sizes)) + 40|0); - $41 = ((($sizes)) + 44|0); - $42 = ((($sizes)) + 48|0); - $43 = ((($sizes)) + 52|0); - $44 = ((($sizes)) + 56|0); - $45 = ((($sizes)) + 60|0); - $L$122 = $29; - while(1) { - $46 = HEAP32[$z>>2]|0; - $47 = (_stbi__get8($46)|0); - $48 = $47&255; - $49 = $48 & 15; - $50 = ($47&255)>(31); - $51 = ($49>>>0)>(3); - $or$cond = $50 | $51; - if ($or$cond) { - label = 17; - break; - } - $52 = HEAP32[$z>>2]|0; - $53 = (_stbi__get8($52)|0); - $54 = $53&255; - HEAP32[$sizes>>2] = $54; - $55 = HEAP32[$z>>2]|0; - $56 = (_stbi__get8($55)|0); - $57 = $56&255; - HEAP32[$31>>2] = $57; - $58 = (($57) + ($54))|0; - $59 = HEAP32[$z>>2]|0; - $60 = (_stbi__get8($59)|0); - $61 = $60&255; - HEAP32[$32>>2] = $61; - $62 = (($61) + ($58))|0; - $63 = HEAP32[$z>>2]|0; - $64 = (_stbi__get8($63)|0); - $65 = $64&255; - HEAP32[$33>>2] = $65; - $66 = (($65) + ($62))|0; - $67 = HEAP32[$z>>2]|0; - $68 = (_stbi__get8($67)|0); - $69 = $68&255; - HEAP32[$34>>2] = $69; - $70 = (($69) + ($66))|0; - $71 = HEAP32[$z>>2]|0; - $72 = (_stbi__get8($71)|0); - $73 = $72&255; - HEAP32[$35>>2] = $73; - $74 = (($73) + ($70))|0; - $75 = HEAP32[$z>>2]|0; - $76 = (_stbi__get8($75)|0); - $77 = $76&255; - HEAP32[$36>>2] = $77; - $78 = (($77) + ($74))|0; - $79 = HEAP32[$z>>2]|0; - $80 = (_stbi__get8($79)|0); - $81 = $80&255; - HEAP32[$37>>2] = $81; - $82 = (($81) + ($78))|0; - $83 = HEAP32[$z>>2]|0; - $84 = (_stbi__get8($83)|0); - $85 = $84&255; - HEAP32[$38>>2] = $85; - $86 = (($85) + ($82))|0; - $87 = HEAP32[$z>>2]|0; - $88 = (_stbi__get8($87)|0); - $89 = $88&255; - HEAP32[$39>>2] = $89; - $90 = (($89) + ($86))|0; - $91 = HEAP32[$z>>2]|0; - $92 = (_stbi__get8($91)|0); - $93 = $92&255; - HEAP32[$40>>2] = $93; - $94 = (($93) + ($90))|0; - $95 = HEAP32[$z>>2]|0; - $96 = (_stbi__get8($95)|0); - $97 = $96&255; - HEAP32[$41>>2] = $97; - $98 = (($97) + ($94))|0; - $99 = HEAP32[$z>>2]|0; - $100 = (_stbi__get8($99)|0); - $101 = $100&255; - HEAP32[$42>>2] = $101; - $102 = (($101) + ($98))|0; - $103 = HEAP32[$z>>2]|0; - $104 = (_stbi__get8($103)|0); - $105 = $104&255; - HEAP32[$43>>2] = $105; - $106 = (($105) + ($102))|0; - $107 = HEAP32[$z>>2]|0; - $108 = (_stbi__get8($107)|0); - $109 = $108&255; - HEAP32[$44>>2] = $109; - $110 = (($109) + ($106))|0; - $111 = HEAP32[$z>>2]|0; - $112 = (_stbi__get8($111)|0); - $113 = $112&255; - HEAP32[$45>>2] = $113; - $114 = (($113) + ($110))|0; - $115 = (($L$122) + -17)|0; - $$mask7 = $48 & 240; - $116 = ($$mask7|0)==(0); - if ($116) { - $117 = (((($z)) + 4|0) + (($49*1680)|0)|0); - $118 = (_stbi__build_huffman($117,$sizes)|0); - $119 = ($118|0)==(0); - if ($119) { - break; - } - $120 = (((((($z)) + 4|0) + (($49*1680)|0)|0)) + 1024|0); - $v$0 = $120; - } else { - $121 = (((($z)) + 6724|0) + (($49*1680)|0)|0); - $122 = (_stbi__build_huffman($121,$sizes)|0); - $123 = ($122|0)==(0); - if ($123) { - break; - } - $124 = (((((($z)) + 6724|0) + (($49*1680)|0)|0)) + 1024|0); - $v$0 = $124; - } - $125 = ($114|0)>(0); - if ($125) { - $126 = $56&255; - $127 = $53&255; - $128 = (($126) + ($127))|0; - $129 = $60&255; - $130 = (($128) + ($129))|0; - $131 = $64&255; - $132 = (($130) + ($131))|0; - $133 = $68&255; - $134 = (($132) + ($133))|0; - $135 = $72&255; - $136 = (($134) + ($135))|0; - $137 = $76&255; - $138 = (($136) + ($137))|0; - $139 = $80&255; - $140 = (($138) + ($139))|0; - $141 = $84&255; - $142 = (($140) + ($141))|0; - $143 = $88&255; - $144 = (($142) + ($143))|0; - $145 = $92&255; - $146 = (($144) + ($145))|0; - $147 = $96&255; - $148 = (($146) + ($147))|0; - $149 = $100&255; - $150 = (($148) + ($149))|0; - $151 = $104&255; - $152 = (($150) + ($151))|0; - $153 = $108&255; - $154 = (($152) + ($153))|0; - $155 = $112&255; - $156 = (($154) + ($155))|0; - $i1$118 = 0; - while(1) { - $157 = HEAP32[$z>>2]|0; - $158 = (_stbi__get8($157)|0); - $159 = (($v$0) + ($i1$118)|0); - HEAP8[$159>>0] = $158; - $160 = (($i1$118) + 1)|0; - $exitcond30 = ($160|0)==($156|0); - if ($exitcond30) { - break; - } else { - $i1$118 = $160; - } - } - } - if (!($116)) { - $161 = (((($z)) + 13700|0) + ($49<<10)|0); - $162 = (((($z)) + 6724|0) + (($49*1680)|0)|0); - _stbi__build_fast_ac($161,$162); - } - $163 = (($115) - ($114))|0; - $164 = ($163|0)>(0); - if ($164) { - $L$122 = $163; - } else { - $L$1$lcssa = $163; - break L31; - } - } - if ((label|0) == 17) { - _stbi__err(17972); - } - $$2 = 0; - STACKTOP = sp;return ($$2|0); - } else { - $L$1$lcssa = $29; - } - } while(0); - $165 = ($L$1$lcssa|0)==(0); - $166 = $165&1; - $$2 = $166; - STACKTOP = sp;return ($$2|0); - break; - } - default: { - $167 = $m & -16; - $168 = ($167|0)==(224); - $169 = ($m|0)==(254); - $or$cond5 = $169 | $168; - if (!($or$cond5)) { - $$2 = 0; - STACKTOP = sp;return ($$2|0); - } - $170 = HEAP32[$z>>2]|0; - $171 = (_stbi__get16be($170)|0); - $172 = (($171) + -2)|0; - _stbi__skip($170,$172); - $$2 = 1; - STACKTOP = sp;return ($$2|0); - } - } - return (0)|0; -} -function _stbi__process_frame_header($z,$scan) { - $z = $z|0; - $scan = $scan|0; - var $$0 = 0, $$h_max$0 = 0, $$lcssa = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0; - var $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0; - var $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $15 = 0; - var $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0; - var $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0; - var $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0; - var $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0; - var $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond = 0, $h_max$0$lcssa = 0, $h_max$017 = 0, $i$022 = 0, $i$1 = 0, $i$216 = 0, $i$313 = 0, $i$313$lcssa = 0; - var $i$412 = 0, $i$412$in = 0, $or$cond = 0, $or$cond2 = 0, $v_max$0$lcssa = 0, $v_max$018 = 0, $v_max$1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[$z>>2]|0; - $1 = (_stbi__get16be($0)|0); - $2 = ($1|0)<(11); - if ($2) { - _stbi__err(17734); - $$0 = 0; - return ($$0|0); - } - $3 = (_stbi__get8($0)|0); - $4 = ($3<<24>>24)==(8); - if (!($4)) { - _stbi__err(17746); - $$0 = 0; - return ($$0|0); - } - $5 = (_stbi__get16be($0)|0); - $6 = ((($0)) + 4|0); - HEAP32[$6>>2] = $5; - $7 = ($5|0)==(0); - if ($7) { - _stbi__err(17757); - $$0 = 0; - return ($$0|0); - } - $8 = (_stbi__get16be($0)|0); - HEAP32[$0>>2] = $8; - $9 = ($8|0)==(0); - if ($9) { - _stbi__err(17774); - $$0 = 0; - return ($$0|0); - } - $10 = (_stbi__get8($0)|0); - $11 = $10&255; - switch ($10<<24>>24) { - case 1: case 3: { - break; - } - default: { - _stbi__err(17782); - $$0 = 0; - return ($$0|0); - } - } - $12 = ((($0)) + 8|0); - HEAP32[$12>>2] = $11; - $13 = $10&255; - $i$022 = 0; - while(1) { - $14 = (((((($z)) + 17820|0) + (($i$022*72)|0)|0)) + 44|0); - HEAP32[$14>>2] = 0; - $15 = (((((($z)) + 17820|0) + (($i$022*72)|0)|0)) + 56|0); - HEAP32[$15>>2] = 0; - $16 = (($i$022) + 1)|0; - $exitcond = ($16|0)==($13|0); - if ($exitcond) { - break; - } else { - $i$022 = $16; - } - } - $17 = HEAP32[$12>>2]|0; - $18 = ($17*3)|0; - $19 = (($18) + 8)|0; - $20 = ($1|0)==($19|0); - if ($20) { - $i$1 = 0; - } else { - _stbi__err(17734); - $$0 = 0; - return ($$0|0); - } - while(1) { - $21 = HEAP32[$12>>2]|0; - $22 = ($i$1|0)<($21|0); - if (!($22)) { - $$lcssa = $21; - label = 24; - break; - } - $23 = (_stbi__get8($0)|0); - $24 = $23&255; - $25 = (((($z)) + 17820|0) + (($i$1*72)|0)|0); - HEAP32[$25>>2] = $24; - $26 = (($i$1) + 1)|0; - $27 = ($24|0)==($26|0); - $28 = ($24|0)==($i$1|0); - $or$cond = $27 | $28; - if (!($or$cond)) { - label = 17; - break; - } - $29 = (_stbi__get8($0)|0); - $30 = $29&255; - $31 = $30 >>> 4; - $32 = (((((($z)) + 17820|0) + (($i$1*72)|0)|0)) + 4|0); - HEAP32[$32>>2] = $31; - $33 = ($31|0)==(0); - $34 = ($29&255)>(79); - $or$cond2 = $34 | $33; - if ($or$cond2) { - label = 19; - break; - } - $35 = $30 & 15; - $36 = (((((($z)) + 17820|0) + (($i$1*72)|0)|0)) + 8|0); - HEAP32[$36>>2] = $35; - $37 = (($35) + -1)|0; - $38 = ($37>>>0)>(3); - if ($38) { - label = 21; - break; - } - $39 = (_stbi__get8($0)|0); - $40 = $39&255; - $41 = (((((($z)) + 17820|0) + (($i$1*72)|0)|0)) + 12|0); - HEAP32[$41>>2] = $40; - $42 = ($39&255)>(3); - if ($42) { - label = 23; - break; - } else { - $i$1 = $26; - } - } - if ((label|0) == 17) { - _stbi__err(17802); - $$0 = 0; - return ($$0|0); - } - else if ((label|0) == 19) { - _stbi__err(17819); - $$0 = 0; - return ($$0|0); - } - else if ((label|0) == 21) { - _stbi__err(17825); - $$0 = 0; - return ($$0|0); - } - else if ((label|0) == 23) { - _stbi__err(17831); - $$0 = 0; - return ($$0|0); - } - else if ((label|0) == 24) { - $43 = ($scan|0)==(0); - if (!($43)) { - $$0 = 1; - return ($$0|0); - } - $44 = HEAP32[$0>>2]|0; - $45 = (1073741824 / ($44>>>0))&-1; - $46 = (($45>>>0) / ($$lcssa>>>0))&-1; - $47 = HEAP32[$6>>2]|0; - $48 = ($46>>>0)<($47>>>0); - if ($48) { - _stbi__err(17188); - $$0 = 0; - return ($$0|0); - } - $49 = HEAP32[$12>>2]|0; - $50 = ($49|0)>(0); - if ($50) { - $51 = HEAP32[$12>>2]|0; - $h_max$017 = 1;$i$216 = 0;$v_max$018 = 1; - while(1) { - $52 = (((((($z)) + 17820|0) + (($i$216*72)|0)|0)) + 4|0); - $53 = HEAP32[$52>>2]|0; - $54 = ($53|0)>($h_max$017|0); - $$h_max$0 = $54 ? $53 : $h_max$017; - $55 = (((((($z)) + 17820|0) + (($i$216*72)|0)|0)) + 8|0); - $56 = HEAP32[$55>>2]|0; - $57 = ($56|0)>($v_max$018|0); - $v_max$1 = $57 ? $56 : $v_max$018; - $58 = (($i$216) + 1)|0; - $59 = ($58|0)<($51|0); - if ($59) { - $h_max$017 = $$h_max$0;$i$216 = $58;$v_max$018 = $v_max$1; - } else { - $h_max$0$lcssa = $$h_max$0;$v_max$0$lcssa = $v_max$1; - break; - } - } - } else { - $h_max$0$lcssa = 1;$v_max$0$lcssa = 1; - } - $60 = ((($z)) + 17796|0); - HEAP32[$60>>2] = $h_max$0$lcssa; - $61 = ((($z)) + 17800|0); - HEAP32[$61>>2] = $v_max$0$lcssa; - $62 = $h_max$0$lcssa << 3; - $63 = ((($z)) + 17812|0); - HEAP32[$63>>2] = $62; - $64 = $v_max$0$lcssa << 3; - $65 = ((($z)) + 17816|0); - HEAP32[$65>>2] = $64; - $66 = HEAP32[$0>>2]|0; - $67 = HEAP32[$63>>2]|0; - $68 = (($66) + -1)|0; - $69 = (($68) + ($67))|0; - $70 = (($69>>>0) / ($67>>>0))&-1; - $71 = ((($z)) + 17804|0); - HEAP32[$71>>2] = $70; - $72 = HEAP32[$6>>2]|0; - $73 = HEAP32[$65>>2]|0; - $74 = (($72) + -1)|0; - $75 = (($74) + ($73))|0; - $76 = (($75>>>0) / ($73>>>0))&-1; - $77 = ((($z)) + 17808|0); - HEAP32[$77>>2] = $76; - $78 = HEAP32[$12>>2]|0; - $79 = ($78|0)>(0); - if (!($79)) { - $$0 = 1; - return ($$0|0); - } - $80 = (($h_max$0$lcssa) + -1)|0; - $81 = (($v_max$0$lcssa) + -1)|0; - $82 = ((($z)) + 18124|0); - $i$313 = 0; - while(1) { - $83 = HEAP32[$0>>2]|0; - $84 = (((((($z)) + 17820|0) + (($i$313*72)|0)|0)) + 4|0); - $85 = HEAP32[$84>>2]|0; - $86 = Math_imul($85, $83)|0; - $87 = (($80) + ($86))|0; - $88 = (($87>>>0) / ($h_max$0$lcssa>>>0))&-1; - $89 = (((((($z)) + 17820|0) + (($i$313*72)|0)|0)) + 28|0); - HEAP32[$89>>2] = $88; - $90 = HEAP32[$6>>2]|0; - $91 = (((((($z)) + 17820|0) + (($i$313*72)|0)|0)) + 8|0); - $92 = HEAP32[$91>>2]|0; - $93 = Math_imul($92, $90)|0; - $94 = (($81) + ($93))|0; - $95 = (($94>>>0) / ($v_max$0$lcssa>>>0))&-1; - $96 = (((((($z)) + 17820|0) + (($i$313*72)|0)|0)) + 32|0); - HEAP32[$96>>2] = $95; - $97 = HEAP32[$71>>2]|0; - $98 = HEAP32[$84>>2]|0; - $99 = $97 << 3; - $100 = Math_imul($99, $98)|0; - $101 = (((((($z)) + 17820|0) + (($i$313*72)|0)|0)) + 36|0); - HEAP32[$101>>2] = $100; - $102 = HEAP32[$77>>2]|0; - $103 = HEAP32[$91>>2]|0; - $104 = $102 << 3; - $105 = Math_imul($104, $103)|0; - $106 = (((((($z)) + 17820|0) + (($i$313*72)|0)|0)) + 40|0); - HEAP32[$106>>2] = $105; - $107 = HEAP32[$101>>2]|0; - $108 = Math_imul($105, $107)|0; - $109 = (($108) + 15)|0; - $110 = (_stbi__malloc($109)|0); - $111 = (((((($z)) + 17820|0) + (($i$313*72)|0)|0)) + 48|0); - HEAP32[$111>>2] = $110; - $112 = ($110|0)==(0|0); - if ($112) { - $i$313$lcssa = $i$313; - break; - } - $117 = $110; - $118 = (($117) + 15)|0; - $119 = $118 & -16; - $120 = $119; - $121 = (((((($z)) + 17820|0) + (($i$313*72)|0)|0)) + 44|0); - HEAP32[$121>>2] = $120; - $122 = (((((($z)) + 17820|0) + (($i$313*72)|0)|0)) + 56|0); - HEAP32[$122>>2] = 0; - $123 = HEAP32[$82>>2]|0; - $124 = ($123|0)==(0); - if ($124) { - $144 = (((((($z)) + 17820|0) + (($i$313*72)|0)|0)) + 60|0); - HEAP32[$144>>2] = 0; - $145 = (((((($z)) + 17820|0) + (($i$313*72)|0)|0)) + 52|0); - HEAP32[$145>>2] = 0; - } else { - $125 = HEAP32[$101>>2]|0; - $126 = (($125) + 7)|0; - $127 = $126 >> 3; - $128 = (((((($z)) + 17820|0) + (($i$313*72)|0)|0)) + 64|0); - HEAP32[$128>>2] = $127; - $129 = HEAP32[$106>>2]|0; - $130 = (($129) + 7)|0; - $131 = $130 >> 3; - $132 = (((((($z)) + 17820|0) + (($i$313*72)|0)|0)) + 68|0); - HEAP32[$132>>2] = $131; - $133 = HEAP32[$128>>2]|0; - $134 = $133 << 7; - $135 = Math_imul($134, $131)|0; - $136 = $135 | 15; - $137 = (_malloc($136)|0); - $138 = (((((($z)) + 17820|0) + (($i$313*72)|0)|0)) + 52|0); - HEAP32[$138>>2] = $137; - $139 = $137; - $140 = (($139) + 15)|0; - $141 = $140 & -16; - $142 = $141; - $143 = (((((($z)) + 17820|0) + (($i$313*72)|0)|0)) + 60|0); - HEAP32[$143>>2] = $142; - } - $146 = (($i$313) + 1)|0; - $147 = HEAP32[$12>>2]|0; - $148 = ($146|0)<($147|0); - if ($148) { - $i$313 = $146; - } else { - $$0 = 1; - label = 40; - break; - } - } - if ((label|0) == 40) { - return ($$0|0); - } - $113 = ($i$313$lcssa|0)>(0); - if ($113) { - $i$412$in = $i$313$lcssa; - while(1) { - $i$412 = (($i$412$in) + -1)|0; - $114 = (((((($z)) + 17820|0) + (($i$412*72)|0)|0)) + 48|0); - $115 = HEAP32[$114>>2]|0; - _free($115); - HEAP32[$114>>2] = 0; - $116 = ($i$412$in|0)>(1); - if ($116) { - $i$412$in = $i$412; - } else { - break; - } - } - } - _stbi__err(17401); - $$0 = 0; - return ($$0|0); - } - return (0)|0; -} -function _stbi__build_huffman($h,$count) { - $h = $h|0; - $count = $count|0; - var $$0 = 0, $$lcssa37 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; - var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0; - var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $code$014 = 0, $code$1$lcssa = 0, $code$110 = 0, $code$2 = 0, $exitcond = 0; - var $exitcond26 = 0, $i$022 = 0, $i$17 = 0, $j$017 = 0, $j$115 = 0, $k$021 = 0, $k$1$lcssa = 0, $k$1$lcssa$lcssa = 0, $k$116 = 0, $k$213 = 0, $k$3$lcssa = 0, $k$39 = 0, $k$4 = 0, $k$4$lcssa = 0, $scevgep = 0, $smax = 0, label = 0, sp = 0; - sp = STACKTOP; - $i$022 = 0;$k$021 = 0; - while(1) { - $1 = (($count) + ($i$022<<2)|0); - $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)>(0); - $0 = (($i$022) + 1)|0; - if ($3) { - $4 = $0&255; - $j$017 = 0;$k$116 = $k$021; - while(1) { - $5 = (($k$116) + 1)|0; - $6 = (((($h)) + 1280|0) + ($k$116)|0); - HEAP8[$6>>0] = $4; - $7 = (($j$017) + 1)|0; - $8 = HEAP32[$1>>2]|0; - $9 = ($7|0)<($8|0); - if ($9) { - $j$017 = $7;$k$116 = $5; - } else { - $k$1$lcssa = $5; - break; - } - } - } else { - $k$1$lcssa = $k$021; - } - $exitcond26 = ($0|0)==(16); - if ($exitcond26) { - $k$1$lcssa$lcssa = $k$1$lcssa; - break; - } else { - $i$022 = $0;$k$021 = $k$1$lcssa; - } - } - $10 = (((($h)) + 1280|0) + ($k$1$lcssa$lcssa)|0); - HEAP8[$10>>0] = 0; - $code$014 = 0;$j$115 = 1;$k$213 = 0; - while(1) { - $11 = (($k$213) - ($code$014))|0; - $12 = (((($h)) + 1612|0) + ($j$115<<2)|0); - HEAP32[$12>>2] = $11; - $13 = (((($h)) + 1280|0) + ($k$213)|0); - $14 = HEAP8[$13>>0]|0; - $15 = $14&255; - $16 = ($15|0)==($j$115|0); - if ($16) { - $17 = (((($h)) + 1280|0) + ($k$213)|0); - $18 = HEAP8[$17>>0]|0; - $19 = $18&255; - $20 = ($19|0)==($j$115|0); - if ($20) { - $code$110 = $code$014;$k$39 = $k$213; - while(1) { - $21 = (($code$110) + 1)|0; - $22 = $code$110&65535; - $23 = (($k$39) + 1)|0; - $24 = (((($h)) + 512|0) + ($k$39<<1)|0); - HEAP16[$24>>1] = $22; - $25 = (((($h)) + 1280|0) + ($23)|0); - $26 = HEAP8[$25>>0]|0; - $27 = $26&255; - $28 = ($27|0)==($j$115|0); - if ($28) { - $code$110 = $21;$k$39 = $23; - } else { - $code$1$lcssa = $21;$k$3$lcssa = $23; - break; - } - } - } else { - $code$1$lcssa = $code$014;$k$3$lcssa = $k$213; - } - $29 = 1 << $j$115; - $30 = ($code$1$lcssa|0)>($29|0); - if ($30) { - label = 11; - break; - } else { - $code$2 = $code$1$lcssa;$k$4 = $k$3$lcssa; - } - } else { - $code$2 = $code$014;$k$4 = $k$213; - } - $31 = (16 - ($j$115))|0; - $32 = $code$2 << $31; - $33 = (((($h)) + 1540|0) + ($j$115<<2)|0); - HEAP32[$33>>2] = $32; - $34 = $code$2 << 1; - $35 = (($j$115) + 1)|0; - $36 = ($35|0)<(17); - if ($36) { - $code$014 = $34;$j$115 = $35;$k$213 = $k$4; - } else { - $$lcssa37 = $35;$k$4$lcssa = $k$4; - break; - } - } - if ((label|0) == 11) { - _stbi__err(17987); - $$0 = 0; - return ($$0|0); - } - $37 = (((($h)) + 1540|0) + ($$lcssa37<<2)|0); - HEAP32[$37>>2] = -1; - _memset(($h|0),-1,512)|0; - $38 = ($k$4$lcssa|0)>(0); - if ($38) { - $i$17 = 0; - } else { - $$0 = 1; - return ($$0|0); - } - while(1) { - $39 = (((($h)) + 1280|0) + ($i$17)|0); - $40 = HEAP8[$39>>0]|0; - $41 = ($40&255)<(10); - if ($41) { - $42 = $40&255; - $43 = (9 - ($42))|0; - $44 = 1 << $43; - $45 = ($43|0)==(31); - if (!($45)) { - $46 = (((($h)) + 512|0) + ($i$17<<1)|0); - $47 = HEAP16[$46>>1]|0; - $48 = $47&65535; - $49 = $48 << $43; - $50 = $i$17&255; - $scevgep = (($h) + ($49)|0); - $51 = ($44|0)>(1); - $smax = $51 ? $44 : 1; - _memset(($scevgep|0),($50|0),($smax|0))|0; - } - } - $52 = (($i$17) + 1)|0; - $exitcond = ($52|0)==($k$4$lcssa|0); - if ($exitcond) { - $$0 = 1; - break; - } else { - $i$17 = $52; - } - } - return ($$0|0); -} -function _stbi__build_fast_ac($fast_ac,$h) { - $fast_ac = $fast_ac|0; - $h = $h|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $i$02 = 0, $k$0 = 0, $k$0$off = 0, label = 0, sp = 0; - sp = STACKTOP; - $i$02 = 0; - while(1) { - $0 = (($h) + ($i$02)|0); - $1 = HEAP8[$0>>0]|0; - $2 = (($fast_ac) + ($i$02<<1)|0); - HEAP16[$2>>1] = 0; - $3 = $1&255; - $4 = ($1<<24>>24)==(-1); - if (!($4)) { - $5 = (((($h)) + 1024|0) + ($3)|0); - $6 = HEAP8[$5>>0]|0; - $7 = $6&255; - $8 = $7 & 240; - $9 = $7 & 15; - $10 = (((($h)) + 1280|0) + ($3)|0); - $11 = HEAP8[$10>>0]|0; - $12 = $11&255; - $13 = ($9|0)==(0); - if (!($13)) { - $14 = (($12) + ($9))|0; - $15 = ($14|0)<(10); - if ($15) { - $16 = $i$02 << $12; - $17 = $16 & 511; - $18 = (9 - ($9))|0; - $19 = $17 >>> $18; - $20 = (($9) + -1)|0; - $21 = 1 << $20; - $22 = ($19|0)<($21|0); - if ($22) { - $23 = -1 << $9; - $24 = (($23) + 1)|0; - $25 = (($24) + ($19))|0; - $k$0 = $25; - } else { - $k$0 = $19; - } - $k$0$off = (($k$0) + 128)|0; - $26 = ($k$0$off>>>0)<(256); - if ($26) { - $27 = $k$0 << 8; - $28 = $27 | $8; - $29 = (($28) + ($14))|0; - $30 = $29&65535; - HEAP16[$2>>1] = $30; - } - } - } - } - $31 = (($i$02) + 1)|0; - $exitcond = ($31|0)==(512); - if ($exitcond) { - break; - } else { - $i$02 = $31; - } - } - return; -} -function _stbi__parse_zlib($a,$parse_header) { - $a = $a|0; - $parse_header = $parse_header|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0; - var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ($parse_header|0)==(0); - if (!($0)) { - $1 = (_stbi__parse_zlib_header($a)|0); - $2 = ($1|0)==(0); - if ($2) { - $$0 = 0; - return ($$0|0); - } - } - $3 = ((($a)) + 8|0); - HEAP32[$3>>2] = 0; - $4 = ((($a)) + 12|0); - HEAP32[$4>>2] = 0; - $5 = ((($a)) + 2052|0); - $6 = ((($a)) + 32|0); - L5: while(1) { - $7 = (_stbi__zreceive($a,1)|0); - $8 = (_stbi__zreceive($a,2)|0); - switch ($8|0) { - case 3: { - $$0 = 0; - label = 13; - break L5; - break; - } - case 0: { - $9 = (_stbi__parse_uncomperssed_block($a)|0); - $10 = ($9|0)==(0); - if ($10) { - $$0 = 0; - label = 13; - break L5; - } - break; - } - case 1: { - $11 = HEAP8[(18035)>>0]|0; - $12 = ($11<<24>>24)==(0); - if ($12) { - _stbi__init_zdefaults(); - } - $13 = (_stbi__zbuild_huffman($6,18036,288)|0); - $14 = ($13|0)==(0); - if ($14) { - $$0 = 0; - label = 13; - break L5; - } - $15 = (_stbi__zbuild_huffman($5,18004,32)|0); - $16 = ($15|0)==(0); - if ($16) { - $$0 = 0; - label = 13; - break L5; - } else { - label = 11; - } - break; - } - default: { - $17 = (_stbi__compute_huffman_codes($a)|0); - $18 = ($17|0)==(0); - if ($18) { - $$0 = 0; - label = 13; - break L5; - } else { - label = 11; - } - } - } - if ((label|0) == 11) { - label = 0; - $19 = (_stbi__parse_huffman_block($a)|0); - $20 = ($19|0)==(0); - if ($20) { - $$0 = 0; - label = 13; - break; - } - } - $21 = ($7|0)==(0); - if (!($21)) { - $$0 = 1; - label = 13; - break; - } - } - if ((label|0) == 13) { - return ($$0|0); - } - return (0)|0; -} -function _stbi__parse_zlib_header($a) { - $a = $a|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_stbi__zget8($a)|0); - $1 = $0&255; - $2 = $1 & 15; - $3 = (_stbi__zget8($a)|0); - $4 = $3&255; - $5 = $1 << 8; - $6 = $5 | $4; - $7 = (($6>>>0) % 31)&-1; - $8 = ($7|0)==(0); - if (!($8)) { - _stbi__err(18658); - $$0 = 0; - return ($$0|0); - } - $9 = $4 & 32; - $10 = ($9|0)==(0); - if (!($10)) { - _stbi__err(18674); - $$0 = 0; - return ($$0|0); - } - $11 = ($2|0)==(8); - if ($11) { - $$0 = 1; - return ($$0|0); - } - _stbi__err(18689); - $$0 = 0; - return ($$0|0); -} -function _stbi__zreceive($z,$n) { - $z = $z|0; - $n = $n|0; - var $0 = 0, $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($z)) + 8|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)<($n|0); - if ($2) { - _stbi__fill_bits($z); - } - $3 = ((($z)) + 12|0); - $4 = HEAP32[$3>>2]|0; - $5 = 1 << $n; - $6 = (($5) + -1)|0; - $7 = $4 & $6; - $8 = $4 >>> $n; - HEAP32[$3>>2] = $8; - $9 = HEAP32[$0>>2]|0; - $10 = (($9) - ($n))|0; - HEAP32[$0>>2] = $10; - return ($7|0); -} -function _stbi__parse_uncomperssed_block($a) { - $a = $a|0; - var $$0 = 0, $$lcssa = 0, $$lcssa17 = 0, $$op = 0, $$ph = 0, $$pr = 0, $$promoted = 0, $$promoted8 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0; - var $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0; - var $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0; - var $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond13 = 0, $header = 0, $k$0$lcssa = 0, $k$03 = 0, $k$12 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $header = sp; - $0 = ((($a)) + 8|0); - $1 = HEAP32[$0>>2]|0; - $2 = $1 & 7; - $3 = ($2|0)==(0); - if ($3) { - $$ph = $1; - } else { - (_stbi__zreceive($a,$2)|0); - $$pr = HEAP32[$0>>2]|0; - $$ph = $$pr; - } - $4 = ($$ph|0)>(0); - if ($4) { - $5 = ((($a)) + 12|0); - $$promoted = HEAP32[$5>>2]|0; - $$promoted8 = HEAP32[$0>>2]|0; - $6 = ($$promoted8|0)<(8); - $$op = $$promoted8 ^ -1; - $7 = $6 ? $$op : -9; - $8 = (($$promoted8) + ($7))|0; - $9 = (($8) + 8)|0; - $10 = $9 >>> 3; - $11 = $10 << 3; - $12 = (($10) + 1)|0; - $14 = $$promoted;$k$03 = 0; - while(1) { - $13 = $14&255; - $15 = (($k$03) + 1)|0; - $16 = (($header) + ($k$03)|0); - HEAP8[$16>>0] = $13; - $17 = $14 >>> 8; - $exitcond13 = ($15|0)==($12|0); - if ($exitcond13) { - $$lcssa17 = $17; - break; - } else { - $14 = $17;$k$03 = $15; - } - } - $18 = (($$promoted8) + -8)|0; - $19 = (($18) - ($11))|0; - HEAP32[$5>>2] = $$lcssa17; - HEAP32[$0>>2] = $19; - $$lcssa = $19;$k$0$lcssa = $12; - } else { - $$lcssa = $$ph;$k$0$lcssa = 0; - } - $20 = ($$lcssa|0)==(0); - if (!($20)) { - ___assert_fail((18580|0),(17471|0),3754,(18597|0)); - // unreachable; - } - $21 = ($k$0$lcssa|0)<(4); - if ($21) { - $k$12 = $k$0$lcssa; - while(1) { - $22 = (_stbi__zget8($a)|0); - $23 = (($k$12) + 1)|0; - $24 = (($header) + ($k$12)|0); - HEAP8[$24>>0] = $22; - $exitcond = ($23|0)==(4); - if ($exitcond) { - break; - } else { - $k$12 = $23; - } - } - } - $25 = ((($header)) + 1|0); - $26 = HEAP8[$25>>0]|0; - $27 = $26&255; - $28 = $27 << 8; - $29 = HEAP8[$header>>0]|0; - $30 = $29&255; - $31 = $28 | $30; - $32 = ((($header)) + 3|0); - $33 = HEAP8[$32>>0]|0; - $34 = $33&255; - $35 = $34 << 8; - $36 = ((($header)) + 2|0); - $37 = HEAP8[$36>>0]|0; - $38 = $37&255; - $39 = $35 | $38; - $40 = $31 ^ 65535; - $41 = ($39|0)==($40|0); - if (!($41)) { - _stbi__err(18628); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $42 = HEAP32[$a>>2]|0; - $43 = (($42) + ($31)|0); - $44 = ((($a)) + 4|0); - $45 = HEAP32[$44>>2]|0; - $46 = ($43>>>0)>($45>>>0); - if ($46) { - _stbi__err(18641); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $47 = ((($a)) + 16|0); - $48 = HEAP32[$47>>2]|0; - $49 = (($48) + ($31)|0); - $50 = ((($a)) + 24|0); - $51 = HEAP32[$50>>2]|0; - $52 = ($49>>>0)>($51>>>0); - if ($52) { - $53 = (_stbi__zexpand($a,$48,$31)|0); - $54 = ($53|0)==(0); - if ($54) { - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - } - $55 = HEAP32[$47>>2]|0; - $56 = HEAP32[$a>>2]|0; - _memcpy(($55|0),($56|0),($31|0))|0; - $57 = HEAP32[$a>>2]|0; - $58 = (($57) + ($31)|0); - HEAP32[$a>>2] = $58; - $59 = HEAP32[$47>>2]|0; - $60 = (($59) + ($31)|0); - HEAP32[$47>>2] = $60; - $$0 = 1; - STACKTOP = sp;return ($$0|0); -} -function _stbi__init_zdefaults() { - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, dest = 0, label = 0, sp = 0, stop = 0; - sp = STACKTOP; - _memset((18036|0),8,144)|0; - dest=(18180); stop=dest+112|0; do { HEAP8[dest>>0]=9|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); - dest=(18292); stop=dest+24|0; do { HEAP8[dest>>0]=7|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); - $0 = (18316); - $1 = $0; - HEAP8[$1>>0]=134744072&255;HEAP8[$1+1>>0]=(134744072>>8)&255;HEAP8[$1+2>>0]=(134744072>>16)&255;HEAP8[$1+3>>0]=134744072>>24; - $2 = (($0) + 4)|0; - $3 = $2; - HEAP8[$3>>0]=134744072&255;HEAP8[$3+1>>0]=(134744072>>8)&255;HEAP8[$3+2>>0]=(134744072>>16)&255;HEAP8[$3+3>>0]=134744072>>24; - dest=18004; stop=dest+32|0; do { HEAP8[dest>>0]=5|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); - return; -} -function _stbi__zbuild_huffman($z,$sizelist,$num) { - $z = $z|0; - $sizelist = $sizelist|0; - $num = $num|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0; - var $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0; - var $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0; - var $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0; - var $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0; - var $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $code$06 = 0, $exitcond = 0, $exitcond13 = 0, $i$010 = 0, $i$28 = 0, $i$34 = 0, $j$03 = 0, $k$07 = 0, $next_code = 0, $or$cond = 0, $sizes = 0, dest = 0, label = 0, sp = 0; - var stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 144|0; - $next_code = sp + 72|0; - $sizes = sp; - dest=$sizes; stop=dest+68|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - _memset(($z|0),0,1024)|0; - $0 = ($num|0)>(0); - if ($0) { - $i$010 = 0; - while(1) { - $1 = (($sizelist) + ($i$010)|0); - $2 = HEAP8[$1>>0]|0; - $3 = $2&255; - $4 = (($sizes) + ($3<<2)|0); - $5 = HEAP32[$4>>2]|0; - $6 = (($5) + 1)|0; - HEAP32[$4>>2] = $6; - $7 = (($i$010) + 1)|0; - $exitcond13 = ($7|0)==($num|0); - if ($exitcond13) { - break; - } else { - $i$010 = $7; - } - } - } - HEAP32[$sizes>>2] = 0; - $11 = ((($sizes)) + 4|0); - $12 = HEAP32[$11>>2]|0; - $13 = ($12|0)>(2); - if (!($13)) { - $8 = ((($sizes)) + 8|0); - $9 = HEAP32[$8>>2]|0; - $10 = ($9|0)>(4); - if (!($10)) { - $66 = ((($sizes)) + 12|0); - $67 = HEAP32[$66>>2]|0; - $68 = ($67|0)>(8); - if (!($68)) { - $69 = ((($sizes)) + 16|0); - $70 = HEAP32[$69>>2]|0; - $71 = ($70|0)>(16); - if (!($71)) { - $72 = ((($sizes)) + 20|0); - $73 = HEAP32[$72>>2]|0; - $74 = ($73|0)>(32); - if (!($74)) { - $75 = ((($sizes)) + 24|0); - $76 = HEAP32[$75>>2]|0; - $77 = ($76|0)>(64); - if (!($77)) { - $78 = ((($sizes)) + 28|0); - $79 = HEAP32[$78>>2]|0; - $80 = ($79|0)>(128); - if (!($80)) { - $81 = ((($sizes)) + 32|0); - $82 = HEAP32[$81>>2]|0; - $83 = ($82|0)>(256); - if (!($83)) { - $84 = ((($sizes)) + 36|0); - $85 = HEAP32[$84>>2]|0; - $86 = ($85|0)>(512); - if (!($86)) { - $87 = ((($sizes)) + 40|0); - $88 = HEAP32[$87>>2]|0; - $89 = ($88|0)>(1024); - if (!($89)) { - $90 = ((($sizes)) + 44|0); - $91 = HEAP32[$90>>2]|0; - $92 = ($91|0)>(2048); - if (!($92)) { - $93 = ((($sizes)) + 48|0); - $94 = HEAP32[$93>>2]|0; - $95 = ($94|0)>(4096); - if (!($95)) { - $96 = ((($sizes)) + 52|0); - $97 = HEAP32[$96>>2]|0; - $98 = ($97|0)>(8192); - if (!($98)) { - $99 = ((($sizes)) + 56|0); - $100 = HEAP32[$99>>2]|0; - $101 = ($100|0)>(16384); - if (!($101)) { - $102 = ((($sizes)) + 60|0); - $103 = HEAP32[$102>>2]|0; - $104 = ($103|0)>(32768); - if (!($104)) { - $code$06 = 0;$i$28 = 1;$k$07 = 0; - while(1) { - $14 = (($next_code) + ($i$28<<2)|0); - HEAP32[$14>>2] = $code$06; - $15 = $code$06&65535; - $16 = (((($z)) + 1024|0) + ($i$28<<1)|0); - HEAP16[$16>>1] = $15; - $17 = $k$07&65535; - $18 = (((($z)) + 1124|0) + ($i$28<<1)|0); - HEAP16[$18>>1] = $17; - $19 = (($sizes) + ($i$28<<2)|0); - $20 = HEAP32[$19>>2]|0; - $21 = (($20) + ($code$06))|0; - $22 = ($20|0)!=(0); - $23 = 1 << $i$28; - $24 = ($21|0)>($23|0); - $or$cond = $22 & $24; - if ($or$cond) { - label = 7; - break; - } - $25 = (16 - ($i$28))|0; - $26 = $21 << $25; - $27 = (((($z)) + 1056|0) + ($i$28<<2)|0); - HEAP32[$27>>2] = $26; - $28 = $21 << 1; - $29 = HEAP32[$19>>2]|0; - $30 = (($29) + ($k$07))|0; - $31 = (($i$28) + 1)|0; - $32 = ($31|0)<(16); - if ($32) { - $code$06 = $28;$i$28 = $31;$k$07 = $30; - } else { - break; - } - } - if ((label|0) == 7) { - _stbi__err(18518); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $33 = ((($z)) + 1120|0); - HEAP32[$33>>2] = 65536; - $34 = ($num|0)>(0); - if ($34) { - $i$34 = 0; - } else { - $$0 = 1; - STACKTOP = sp;return ($$0|0); - } - while(1) { - $35 = (($sizelist) + ($i$34)|0); - $36 = HEAP8[$35>>0]|0; - $37 = $36&255; - $38 = ($36<<24>>24)==(0); - if (!($38)) { - $39 = (($next_code) + ($37<<2)|0); - $40 = HEAP32[$39>>2]|0; - $41 = (((($z)) + 1024|0) + ($37<<1)|0); - $42 = HEAP16[$41>>1]|0; - $43 = $42&65535; - $44 = (($40) - ($43))|0; - $45 = (((($z)) + 1124|0) + ($37<<1)|0); - $46 = HEAP16[$45>>1]|0; - $47 = $46&65535; - $48 = (($44) + ($47))|0; - $49 = $37 << 9; - $50 = $49 | $i$34; - $51 = $50&65535; - $52 = (((($z)) + 1156|0) + ($48)|0); - HEAP8[$52>>0] = $36; - $53 = $i$34&65535; - $54 = (((($z)) + 1444|0) + ($48<<1)|0); - HEAP16[$54>>1] = $53; - $55 = ($36&255)<(10); - do { - if ($55) { - $56 = HEAP32[$39>>2]|0; - $57 = (_stbi__bit_reverse($56,$37)|0); - $58 = ($57|0)<(512); - if (!($58)) { - break; - } - $59 = 1 << $37; - $j$03 = $57; - while(1) { - $60 = (($z) + ($j$03<<1)|0); - HEAP16[$60>>1] = $51; - $61 = (($j$03) + ($59))|0; - $62 = ($61|0)<(512); - if ($62) { - $j$03 = $61; - } else { - break; - } - } - } - } while(0); - $63 = HEAP32[$39>>2]|0; - $64 = (($63) + 1)|0; - HEAP32[$39>>2] = $64; - } - $65 = (($i$34) + 1)|0; - $exitcond = ($65|0)==($num|0); - if ($exitcond) { - $$0 = 1; - break; - } else { - $i$34 = $65; - } - } - STACKTOP = sp;return ($$0|0); - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - _stbi__err(18570); - $$0 = 0; - STACKTOP = sp;return ($$0|0); -} -function _stbi__compute_huffman_codes($a) { - $a = $a|0; - var $$ = 0, $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; - var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0; - var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $codelength_sizes = 0, $exitcond = 0, $i$08 = 0, $lencodes = 0, $n$0$be = 0, $n$0$lcssa = 0, $n$06 = 0, $not$ = 0, $z_codelength = 0, dest = 0; - var label = 0, sp = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 2496|0; - $z_codelength = sp; - $lencodes = sp + 2039|0; - $codelength_sizes = sp + 2020|0; - $0 = (_stbi__zreceive($a,5)|0); - $1 = (($0) + 257)|0; - $2 = (_stbi__zreceive($a,5)|0); - $3 = (($2) + 1)|0; - $4 = (_stbi__zreceive($a,4)|0); - $5 = (($4) + 4)|0; - dest=$codelength_sizes; stop=dest+19|0; do { HEAP8[dest>>0]=0|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); - $6 = ($5|0)>(0); - if ($6) { - $7 = (($4) + 3)|0; - $i$08 = 0; - while(1) { - $8 = (_stbi__zreceive($a,3)|0); - $9 = $8&255; - $10 = (18499 + ($i$08)|0); - $11 = HEAP8[$10>>0]|0; - $12 = $11&255; - $13 = (($codelength_sizes) + ($12)|0); - HEAP8[$13>>0] = $9; - $14 = (($i$08) + 1)|0; - $exitcond = ($i$08|0)==($7|0); - if ($exitcond) { - break; - } else { - $i$08 = $14; - } - } - } - $15 = (_stbi__zbuild_huffman($z_codelength,$codelength_sizes,19)|0); - $16 = ($15|0)==(0); - if ($16) { - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $17 = (($3) + ($1))|0; - $18 = ($17|0)>(0); - L9: do { - if ($18) { - $n$06 = 0; - L10: while(1) { - $19 = (_stbi__zhuffman_decode($a,$z_codelength)|0); - $20 = ($19>>>0)>(18); - if ($20) { - break; - } - $21 = ($19|0)<(16); - L13: do { - if ($21) { - $22 = $19&255; - $23 = (($n$06) + 1)|0; - $24 = (($lencodes) + ($n$06)|0); - HEAP8[$24>>0] = $22; - $n$0$be = $23; - } else { - switch ($19|0) { - case 16: { - $25 = (_stbi__zreceive($a,2)|0); - $26 = (($25) + 3)|0; - $27 = (($lencodes) + ($n$06)|0); - $28 = (($n$06) + -1)|0; - $29 = (($lencodes) + ($28)|0); - $30 = HEAP8[$29>>0]|0; - _memset(($27|0),($30|0),($26|0))|0; - $31 = (($26) + ($n$06))|0; - $n$0$be = $31; - break L13; - break; - } - case 17: { - $33 = (_stbi__zreceive($a,3)|0); - $34 = (($33) + 3)|0; - $35 = (($lencodes) + ($n$06)|0); - _memset(($35|0),0,($34|0))|0; - $36 = (($34) + ($n$06))|0; - $n$0$be = $36; - break L13; - break; - } - case 18: { - $37 = (_stbi__zreceive($a,7)|0); - $38 = (($37) + 11)|0; - $39 = (($lencodes) + ($n$06)|0); - _memset(($39|0),0,($38|0))|0; - $40 = (($38) + ($n$06))|0; - $n$0$be = $40; - break L13; - break; - } - default: { - label = 14; - break L10; - } - } - } - } while(0); - $32 = ($n$0$be|0)<($17|0); - if ($32) { - $n$06 = $n$0$be; - } else { - $n$0$lcssa = $n$0$be; - break L9; - } - } - if ((label|0) == 14) { - ___assert_fail((18534|0),(17471|0),3729,(18542|0)); - // unreachable; - } - _stbi__err(18518); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } else { - $n$0$lcssa = 0; - } - } while(0); - $41 = ($n$0$lcssa|0)==($17|0); - if (!($41)) { - _stbi__err(18518); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $42 = ((($a)) + 32|0); - $43 = (_stbi__zbuild_huffman($42,$lencodes,$1)|0); - $44 = ($43|0)==(0); - if ($44) { - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $45 = ((($a)) + 2052|0); - $46 = (($lencodes) + ($1)|0); - $47 = (_stbi__zbuild_huffman($45,$46,$3)|0); - $not$ = ($47|0)!=(0); - $$ = $not$&1; - $$0 = $$; - STACKTOP = sp;return ($$0|0); -} -function _stbi__parse_huffman_block($a) { - $a = $a|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; - var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $dist$0 = 0; - var $len$0 = 0, $len$2 = 0, $p$0 = 0, $scevgep = 0, $scevgep14 = 0, $zout$0 = 0, $zout$0$lcssa = 0, $zout$1 = 0, $zout$2 = 0, $zout$4 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($a)) + 16|0); - $1 = HEAP32[$0>>2]|0; - $2 = ((($a)) + 32|0); - $3 = ((($a)) + 24|0); - $4 = ((($a)) + 2052|0); - $5 = ((($a)) + 20|0); - $6 = ((($a)) + 24|0); - $zout$0 = $1; - while(1) { - $9 = (_stbi__zhuffman_decode($a,$2)|0); - $10 = ($9|0)<(256); - if ($10) { - $11 = ($9|0)<(0); - if ($11) { - label = 6; - break; - } - $12 = HEAP32[$3>>2]|0; - $13 = ($zout$0>>>0)<($12>>>0); - if ($13) { - $zout$1 = $zout$0; - } else { - $14 = (_stbi__zexpand($a,$zout$0,1)|0); - $15 = ($14|0)==(0); - if ($15) { - $$0 = 0; - label = 28; - break; - } - $16 = HEAP32[$0>>2]|0; - $zout$1 = $16; - } - $17 = $9&255; - $18 = ((($zout$1)) + 1|0); - HEAP8[$zout$1>>0] = $17; - $zout$0 = $18; - continue; - } - $19 = ($9|0)==(256); - if ($19) { - $zout$0$lcssa = $zout$0; - label = 12; - break; - } - $20 = (($9) + -257)|0; - $21 = (7980 + ($20<<2)|0); - $22 = HEAP32[$21>>2]|0; - $23 = (($9) + -265)|0; - $24 = ($23>>>0)<(20); - if ($24) { - $25 = (8104 + ($20<<2)|0); - $26 = HEAP32[$25>>2]|0; - $27 = (_stbi__zreceive($a,$26)|0); - $28 = (($27) + ($22))|0; - $len$0 = $28; - } else { - $len$0 = $22; - } - $29 = (_stbi__zhuffman_decode($a,$4)|0); - $30 = ($29|0)<(0); - if ($30) { - label = 16; - break; - } - $31 = (8228 + ($29<<2)|0); - $32 = HEAP32[$31>>2]|0; - $33 = (($29) + -4)|0; - $34 = ($33>>>0)<(26); - if ($34) { - $35 = (8356 + ($29<<2)|0); - $36 = HEAP32[$35>>2]|0; - $37 = (_stbi__zreceive($a,$36)|0); - $38 = (($37) + ($32))|0; - $dist$0 = $38; - } else { - $dist$0 = $32; - } - $39 = HEAP32[$5>>2]|0; - $40 = $zout$0; - $41 = $39; - $42 = (($40) - ($41))|0; - $43 = ($42|0)<($dist$0|0); - if ($43) { - label = 20; - break; - } - $44 = (($zout$0) + ($len$0)|0); - $45 = HEAP32[$6>>2]|0; - $46 = ($44>>>0)>($45>>>0); - if ($46) { - $47 = (_stbi__zexpand($a,$zout$0,$len$0)|0); - $48 = ($47|0)==(0); - if ($48) { - $$0 = 0; - label = 28; - break; - } - $49 = HEAP32[$0>>2]|0; - $zout$2 = $49; - } else { - $zout$2 = $zout$0; - } - $50 = (0 - ($dist$0))|0; - $8 = (($zout$2) + ($50)|0); - $51 = ($dist$0|0)==(1); - $52 = ($len$0|0)==(0); - if ($51) { - if ($52) { - $zout$0 = $zout$2; - continue; - } - $7 = HEAP8[$8>>0]|0; - _memset(($zout$2|0),($7|0),($len$0|0))|0; - $scevgep14 = (($zout$2) + ($len$0)|0); - $zout$0 = $scevgep14; - continue; - } - if ($52) { - $zout$0 = $zout$2; - continue; - } else { - $len$2 = $len$0;$p$0 = $8;$zout$4 = $zout$2; - } - while(1) { - $53 = ((($p$0)) + 1|0); - $54 = HEAP8[$p$0>>0]|0; - $55 = ((($zout$4)) + 1|0); - HEAP8[$zout$4>>0] = $54; - $56 = (($len$2) + -1)|0; - $57 = ($56|0)==(0); - if ($57) { - break; - } else { - $len$2 = $56;$p$0 = $53;$zout$4 = $55; - } - } - $scevgep = (($zout$2) + ($len$0)|0); - $zout$0 = $scevgep; - } - if ((label|0) == 6) { - _stbi__err(18324); - $$0 = 0; - return ($$0|0); - } - else if ((label|0) == 12) { - HEAP32[$0>>2] = $zout$0$lcssa; - $$0 = 1; - return ($$0|0); - } - else if ((label|0) == 16) { - _stbi__err(18324); - $$0 = 0; - return ($$0|0); - } - else if ((label|0) == 20) { - _stbi__err(18341); - $$0 = 0; - return ($$0|0); - } - else if ((label|0) == 28) { - return ($$0|0); - } - return (0)|0; -} -function _stbi__zhuffman_decode($a,$z) { - $a = $a|0; - $z = $z|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($a)) + 8|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)<(16); - if ($2) { - _stbi__fill_bits($a); - } - $3 = ((($a)) + 12|0); - $4 = HEAP32[$3>>2]|0; - $5 = $4 & 511; - $6 = (($z) + ($5<<1)|0); - $7 = HEAP16[$6>>1]|0; - $8 = $7&65535; - $9 = ($7<<16>>16)==(0); - if ($9) { - $15 = (_stbi__zhuffman_decode_slowpath($a,$z)|0); - $$0 = $15; - return ($$0|0); - } else { - $10 = $8 >>> 9; - $11 = $4 >>> $10; - HEAP32[$3>>2] = $11; - $12 = HEAP32[$0>>2]|0; - $13 = (($12) - ($10))|0; - HEAP32[$0>>2] = $13; - $14 = $8 & 511; - $$0 = $14; - return ($$0|0); - } - return (0)|0; -} -function _stbi__zexpand($z,$zout,$n) { - $z = $z|0; - $zout = $zout|0; - $n = $n|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; - var $8 = 0, $9 = 0, $limit$0 = 0, $limit$0$lcssa = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($z)) + 16|0); - HEAP32[$0>>2] = $zout; - $1 = ((($z)) + 28|0); - $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)==(0); - if ($3) { - _stbi__err(18350); - $$0 = 0; - return ($$0|0); - } - $4 = ((($z)) + 20|0); - $5 = HEAP32[$4>>2]|0; - $6 = $zout; - $7 = $5; - $8 = (($6) - ($7))|0; - $9 = ((($z)) + 24|0); - $10 = HEAP32[$9>>2]|0; - $11 = $10; - $12 = (($11) - ($7))|0; - $13 = (($8) + ($n))|0; - $limit$0 = $12; - while(1) { - $14 = ($13|0)>($limit$0|0); - $15 = $limit$0 << 1; - if ($14) { - $limit$0 = $15; - } else { - $limit$0$lcssa = $limit$0; - break; - } - } - $16 = HEAP32[$4>>2]|0; - $17 = (_realloc($16,$limit$0$lcssa)|0); - $18 = ($17|0)==(0|0); - if ($18) { - _stbi__err(17401); - $$0 = 0; - return ($$0|0); - } else { - HEAP32[$4>>2] = $17; - $19 = (($17) + ($8)|0); - HEAP32[$0>>2] = $19; - $20 = (($17) + ($limit$0$lcssa)|0); - HEAP32[$9>>2] = $20; - $$0 = 1; - return ($$0|0); - } - return (0)|0; -} -function _stbi__fill_bits($z) { - $z = $z|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($z)) + 12|0); - $1 = ((($z)) + 8|0); - while(1) { - $2 = HEAP32[$0>>2]|0; - $3 = HEAP32[$1>>2]|0; - $4 = 1 << $3; - $5 = ($2>>>0)<($4>>>0); - if (!($5)) { - label = 3; - break; - } - $6 = (_stbi__zget8($z)|0); - $7 = $6&255; - $8 = HEAP32[$1>>2]|0; - $9 = $7 << $8; - $10 = HEAP32[$0>>2]|0; - $11 = $10 | $9; - HEAP32[$0>>2] = $11; - $12 = HEAP32[$1>>2]|0; - $13 = (($12) + 8)|0; - HEAP32[$1>>2] = $13; - $14 = ($13|0)<(25); - if (!($14)) { - label = 5; - break; - } - } - if ((label|0) == 3) { - ___assert_fail((18446|0),(17471|0),3573,(18483|0)); - // unreachable; - } - else if ((label|0) == 5) { - return; - } -} -function _stbi__zhuffman_decode_slowpath($a,$z) { - $a = $a|0; - $z = $z|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $s$0 = 0, $s$0$lcssa = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($a)) + 12|0); - $1 = HEAP32[$0>>2]|0; - $2 = (_stbi__bit_reverse($1,16)|0); - $s$0 = 10; - while(1) { - $3 = (((($z)) + 1056|0) + ($s$0<<2)|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($2|0)<($4|0); - $6 = (($s$0) + 1)|0; - if ($5) { - $s$0$lcssa = $s$0; - break; - } else { - $s$0 = $6; - } - } - $7 = ($s$0$lcssa|0)==(16); - if ($7) { - $$0 = -1; - return ($$0|0); - } - $8 = (16 - ($s$0$lcssa))|0; - $9 = $2 >> $8; - $10 = (((($z)) + 1024|0) + ($s$0$lcssa<<1)|0); - $11 = HEAP16[$10>>1]|0; - $12 = $11&65535; - $13 = (($9) - ($12))|0; - $14 = (((($z)) + 1124|0) + ($s$0$lcssa<<1)|0); - $15 = HEAP16[$14>>1]|0; - $16 = $15&65535; - $17 = (($13) + ($16))|0; - $18 = (((($z)) + 1156|0) + ($17)|0); - $19 = HEAP8[$18>>0]|0; - $20 = $19&255; - $21 = ($20|0)==($s$0$lcssa|0); - if (!($21)) { - ___assert_fail((18370|0),(17471|0),3601,(18386|0)); - // unreachable; - } - $22 = HEAP32[$0>>2]|0; - $23 = $22 >>> $s$0$lcssa; - HEAP32[$0>>2] = $23; - $24 = ((($a)) + 8|0); - $25 = HEAP32[$24>>2]|0; - $26 = (($25) - ($s$0$lcssa))|0; - HEAP32[$24>>2] = $26; - $27 = (((($z)) + 1444|0) + ($17<<1)|0); - $28 = HEAP16[$27>>1]|0; - $29 = $28&65535; - $$0 = $29; - return ($$0|0); -} -function _stbi__bit_reverse($v,$bits) { - $v = $v|0; - $bits = $bits|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ($bits|0)<(17); - if ($0) { - $1 = (_stbi__bitreverse16($v)|0); - $2 = (16 - ($bits))|0; - $3 = $1 >> $2; - return ($3|0); - } else { - ___assert_fail((18417|0),(17471|0),3491,(18428|0)); - // unreachable; - } - return (0)|0; -} -function _stbi__bitreverse16($n) { - $n = $n|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; - var sp = 0; - sp = STACKTOP; - $0 = $n >>> 1; - $1 = $0 & 21845; - $2 = $n << 1; - $3 = $2 & 43690; - $4 = $1 | $3; - $5 = $4 >>> 2; - $6 = $5 & 13107; - $7 = $4 << 2; - $8 = $7 & 52428; - $9 = $6 | $8; - $10 = $9 >>> 4; - $11 = $10 & 3855; - $12 = $9 << 4; - $13 = $12 & 61680; - $14 = $11 | $13; - $15 = $14 >>> 8; - $16 = $14 << 8; - $17 = $16 & 65280; - $18 = $17 | $15; - return ($18|0); -} -function _stbi__zget8($z) { - $z = $z|0; - var $$0 = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[$z>>2]|0; - $1 = ((($z)) + 4|0); - $2 = HEAP32[$1>>2]|0; - $3 = ($0>>>0)<($2>>>0); - if (!($3)) { - $$0 = 0; - return ($$0|0); - } - $4 = ((($0)) + 1|0); - HEAP32[$z>>2] = $4; - $5 = HEAP8[$0>>0]|0; - $$0 = $5; - return ($$0|0); -} -function _stbi__load_main($s,$x,$y,$comp,$req_comp) { - $s = $s|0; - $x = $x|0; - $y = $y|0; - $comp = $comp|0; - $req_comp = $req_comp|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $3 = 0, $4 = 0; - var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_stbi__jpeg_test($s)|0); - $1 = ($0|0)==(0); - if (!($1)) { - $2 = (_stbi__jpeg_load($s,$x,$y,$comp,$req_comp)|0); - $$0 = $2; - return ($$0|0); - } - $3 = (_stbi__png_test($s)|0); - $4 = ($3|0)==(0); - if (!($4)) { - $5 = (_stbi__png_load($s,$x,$y,$comp,$req_comp)|0); - $$0 = $5; - return ($$0|0); - } - $6 = (_stbi__bmp_test($s)|0); - $7 = ($6|0)==(0); - if (!($7)) { - $8 = (_stbi__bmp_load($s,$x,$y,$comp,$req_comp)|0); - $$0 = $8; - return ($$0|0); - } - $9 = (_stbi__gif_test($s)|0); - $10 = ($9|0)==(0); - if (!($10)) { - $11 = (_stbi__gif_load($s,$x,$y,$comp,$req_comp)|0); - $$0 = $11; - return ($$0|0); - } - $12 = (_stbi__psd_test($s)|0); - $13 = ($12|0)==(0); - if (!($13)) { - $14 = (_stbi__psd_load($s,$x,$y,$comp,$req_comp)|0); - $$0 = $14; - return ($$0|0); - } - $15 = (_stbi__pic_test($s)|0); - $16 = ($15|0)==(0); - if (!($16)) { - $17 = (_stbi__pic_load($s,$x,$y,$comp,$req_comp)|0); - $$0 = $17; - return ($$0|0); - } - $18 = (_stbi__pnm_test($s)|0); - $19 = ($18|0)==(0); - if (!($19)) { - $20 = (_stbi__pnm_load($s,$x,$y,$comp,$req_comp)|0); - $$0 = $20; - return ($$0|0); - } - $21 = (_stbi__tga_test($s)|0); - $22 = ($21|0)==(0); - if ($22) { - _stbi__err(17065); - $$0 = 0; - return ($$0|0); - } else { - $23 = (_stbi__tga_load($s,$x,$y,$comp,$req_comp)|0); - $$0 = $23; - return ($$0|0); - } - return (0)|0; -} -function _stbi__jpeg_test($s) { - $s = $s|0; - var $0 = 0, $j = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 18192|0; - $j = sp; - HEAP32[$j>>2] = $s; - _stbi__setup_jpeg($j); - $0 = (_stbi__decode_jpeg_header($j,1)|0); - _stbi__rewind($s); - STACKTOP = sp;return ($0|0); -} -function _stbi__jpeg_load($s,$x,$y,$comp,$req_comp) { - $s = $s|0; - $x = $x|0; - $y = $y|0; - $comp = $comp|0; - $req_comp = $req_comp|0; - var $0 = 0, $j = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 18192|0; - $j = sp; - HEAP32[$j>>2] = $s; - _stbi__setup_jpeg($j); - $0 = (_load_jpeg_image($j,$x,$y,$comp,$req_comp)|0); - STACKTOP = sp;return ($0|0); -} -function _stbi__png_test($s) { - $s = $s|0; - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_stbi__check_png_header($s)|0); - _stbi__rewind($s); - return ($0|0); -} -function _stbi__png_load($s,$x,$y,$comp,$req_comp) { - $s = $s|0; - $x = $x|0; - $y = $y|0; - $comp = $comp|0; - $req_comp = $req_comp|0; - var $0 = 0, $p = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $p = sp; - HEAP32[$p>>2] = $s; - $0 = (_stbi__do_png($p,$x,$y,$comp,$req_comp)|0); - STACKTOP = sp;return ($0|0); -} -function _stbi__bmp_test($s) { - $s = $s|0; - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_stbi__bmp_test_raw($s)|0); - _stbi__rewind($s); - return ($0|0); -} -function _stbi__bmp_load($s,$x,$y,$comp,$req_comp) { - $s = $s|0; - $x = $x|0; - $y = $y|0; - $comp = $comp|0; - $req_comp = $req_comp|0; - var $$0 = 0, $$pr = 0, $$sum = 0, $$sum16 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0; - var $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0; - var $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0; - var $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0; - var $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0; - var $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0; - var $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0; - var $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0; - var $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0; - var $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0; - var $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0; - var $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0; - var $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0; - var $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $acount$0 = 0, $all_a$064 = 0, $all_a$158 = 0, $all_a$251 = 0, $all_a$3 = 0, $all_a$4 = 0, $ashift$0 = 0, $bcount$0 = 0, $bshift$0 = 0, $easy$017 = 0, $exitcond = 0, $gcount$0 = 0, $gshift$0 = 0, $i$046 = 0; - var $i$138 = 0, $i$256 = 0, $i$349 = 0, $i$435 = 0, $i$532 = 0, $info = 0, $ispos = 0, $j$044 = 0, $j$162 = 0, $j$233 = 0, $neg = 0, $or$cond = 0, $or$cond11 = 0, $or$cond13 = 0, $or$cond15 = 0, $or$cond3 = 0, $or$cond5 = 0, $or$cond7 = 0, $or$cond9 = 0, $out$0 = 0; - var $pal = 0, $psize$0 = 0, $rcount$0 = 0, $req_comp$ = 0, $rshift$0 = 0, $v$0 = 0, $v2$0 = 0, $width$0 = 0, $width$1 = 0, $width$1$ph = 0, $z$045 = 0, $z$139 = 0, $z$2 = 0, $z$3 = 0, $z$4 = 0, $z1$063 = 0, $z1$157 = 0, $z1$2 = 0, $z1$350 = 0, $z1$4 = 0; - var $z1$5 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 1056|0; - $pal = sp + 32|0; - $info = sp; - $0 = ((($info)) + 28|0); - HEAP32[$0>>2] = 255; - $1 = (_stbi__bmp_parse_header($s,$info)|0); - $2 = ($1|0)==(0|0); - if ($2) { - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $3 = ((($s)) + 4|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)>(0); - $ispos = ($4|0)>(-1); - $neg = (0 - ($4))|0; - $6 = $ispos ? $4 : $neg; - HEAP32[$3>>2] = $6; - $7 = ((($info)) + 12|0); - $8 = HEAP32[$7>>2]|0; - $9 = ((($info)) + 16|0); - $10 = HEAP32[$9>>2]|0; - $11 = ((($info)) + 20|0); - $12 = HEAP32[$11>>2]|0; - $13 = ((($info)) + 24|0); - $14 = HEAP32[$13>>2]|0; - $15 = HEAP32[$0>>2]|0; - $16 = ((($info)) + 8|0); - $17 = HEAP32[$16>>2]|0; - $18 = ($17|0)==(12); - $19 = HEAP32[$info>>2]|0; - if ($18) { - $20 = ($19|0)<(24); - if ($20) { - $21 = ((($info)) + 4|0); - $22 = HEAP32[$21>>2]|0; - $23 = (($22) + -38)|0; - $24 = (($23|0) / 3)&-1; - $psize$0 = $24; - } else { - $psize$0 = 0; - } - } else { - $25 = ($19|0)<(16); - if ($25) { - $26 = ((($info)) + 4|0); - $27 = HEAP32[$26>>2]|0; - $28 = (-14 - ($17))|0; - $29 = (($28) + ($27))|0; - $30 = $29 >> 2; - $psize$0 = $30; - } else { - $psize$0 = 0; - } - } - $31 = ($14|0)!=(0); - $32 = $31 ? 4 : 3; - $33 = ((($s)) + 8|0); - HEAP32[$33>>2] = $32; - $34 = ($req_comp|0)==(0); - $35 = ($req_comp|0)>(2); - $req_comp$ = $35 ? $req_comp : $32; - $36 = HEAP32[$s>>2]|0; - $37 = Math_imul($36, $req_comp$)|0; - $38 = HEAP32[$3>>2]|0; - $39 = Math_imul($37, $38)|0; - $40 = (_stbi__malloc($39)|0); - $41 = ($40|0)==(0|0); - if ($41) { - _stbi__err(17401); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $42 = HEAP32[$info>>2]|0; - $43 = ($42|0)<(16); - if ($43) { - $44 = ($psize$0|0)==(0); - $45 = ($psize$0|0)>(256); - $or$cond3 = $44 | $45; - if ($or$cond3) { - _free($40); - _stbi__err(19021); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $46 = ($psize$0|0)>(0); - if ($46) { - $47 = HEAP32[$16>>2]|0; - $48 = ($47|0)==(12); - $i$046 = 0; - while(1) { - $49 = (_stbi__get8($s)|0); - $50 = (((($pal) + ($i$046<<2)|0)) + 2|0); - HEAP8[$50>>0] = $49; - $51 = (_stbi__get8($s)|0); - $52 = (((($pal) + ($i$046<<2)|0)) + 1|0); - HEAP8[$52>>0] = $51; - $53 = (_stbi__get8($s)|0); - $54 = (($pal) + ($i$046<<2)|0); - HEAP8[$54>>0] = $53; - if (!($48)) { - (_stbi__get8($s)|0); - } - $55 = (((($pal) + ($i$046<<2)|0)) + 3|0); - HEAP8[$55>>0] = -1; - $56 = (($i$046) + 1)|0; - $exitcond = ($56|0)==($psize$0|0); - if ($exitcond) { - break; - } else { - $i$046 = $56; - } - } - } - $57 = ((($info)) + 4|0); - $58 = HEAP32[$57>>2]|0; - $59 = (($58) + -14)|0; - $60 = HEAP32[$16>>2]|0; - $61 = (($59) - ($60))|0; - $62 = ($60|0)==(12); - $63 = $62 ? 3 : 4; - $64 = Math_imul($63, $psize$0)|0; - $65 = (($61) - ($64))|0; - _stbi__skip($s,$65); - $66 = HEAP32[$info>>2]|0; - switch ($66|0) { - case 4: { - $67 = HEAP32[$s>>2]|0; - $68 = (($67) + 1)|0; - $69 = $68 >>> 1; - $width$0 = $69; - break; - } - case 8: { - $70 = HEAP32[$s>>2]|0; - $width$0 = $70; - break; - } - default: { - _free($40); - _stbi__err(19029); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - } - $71 = (0 - ($width$0))|0; - $72 = $71 & 3; - $73 = HEAP32[$3>>2]|0; - $74 = ($73|0)>(0); - if ($74) { - $75 = HEAP32[$info>>2]|0; - $76 = ($75|0)==(4); - $77 = ($req_comp$|0)==(4); - $78 = ($75|0)==(8); - $j$044 = 0;$z$045 = 0; - while(1) { - $79 = HEAP32[$s>>2]|0; - $80 = ($79|0)>(0); - L37: do { - if ($80) { - $i$138 = 0;$z$139 = $z$045; - while(1) { - $81 = (_stbi__get8($s)|0); - $82 = $81&255; - $83 = $82 & 15; - $84 = $82 >>> 4; - $v$0 = $76 ? $84 : $82; - $v2$0 = $76 ? $83 : 0; - $85 = (($pal) + ($v$0<<2)|0); - $86 = HEAP8[$85>>0]|0; - $87 = (($z$139) + 1)|0; - $88 = (($40) + ($z$139)|0); - HEAP8[$88>>0] = $86; - $89 = (((($pal) + ($v$0<<2)|0)) + 1|0); - $90 = HEAP8[$89>>0]|0; - $91 = (($z$139) + 2)|0; - $92 = (($40) + ($87)|0); - HEAP8[$92>>0] = $90; - $93 = (((($pal) + ($v$0<<2)|0)) + 2|0); - $94 = HEAP8[$93>>0]|0; - $95 = (($z$139) + 3)|0; - $96 = (($40) + ($91)|0); - HEAP8[$96>>0] = $94; - if ($77) { - $97 = (($z$139) + 4)|0; - $98 = (($40) + ($95)|0); - HEAP8[$98>>0] = -1; - $z$2 = $97; - } else { - $z$2 = $95; - } - $99 = $i$138 | 1; - $100 = HEAP32[$s>>2]|0; - $101 = ($99|0)==($100|0); - if ($101) { - $z$4 = $z$2; - break L37; - } - if ($78) { - $102 = (_stbi__get8($s)|0); - $103 = $102&255; - $105 = $103; - } else { - $105 = $v2$0; - } - $104 = (($pal) + ($105<<2)|0); - $106 = HEAP8[$104>>0]|0; - $107 = (($z$2) + 1)|0; - $108 = (($40) + ($z$2)|0); - HEAP8[$108>>0] = $106; - $109 = (((($pal) + ($105<<2)|0)) + 1|0); - $110 = HEAP8[$109>>0]|0; - $111 = (($z$2) + 2)|0; - $112 = (($40) + ($107)|0); - HEAP8[$112>>0] = $110; - $113 = (((($pal) + ($105<<2)|0)) + 2|0); - $114 = HEAP8[$113>>0]|0; - $115 = (($z$2) + 3)|0; - $116 = (($40) + ($111)|0); - HEAP8[$116>>0] = $114; - if ($77) { - $117 = (($z$2) + 4)|0; - $118 = (($40) + ($115)|0); - HEAP8[$118>>0] = -1; - $z$3 = $117; - } else { - $z$3 = $115; - } - $119 = (($i$138) + 2)|0; - $120 = HEAP32[$s>>2]|0; - $121 = ($119|0)<($120|0); - if ($121) { - $i$138 = $119;$z$139 = $z$3; - } else { - $z$4 = $z$3; - break; - } - } - } else { - $z$4 = $z$045; - } - } while(0); - _stbi__skip($s,$72); - $122 = (($j$044) + 1)|0; - $123 = HEAP32[$3>>2]|0; - $124 = ($122|0)<($123|0); - if ($124) { - $j$044 = $122;$z$045 = $z$4; - } else { - $all_a$4 = $15; - break; - } - } - } else { - $all_a$4 = $15; - } - } else { - $125 = ((($info)) + 4|0); - $126 = HEAP32[$125>>2]|0; - $127 = (($126) + -14)|0; - $128 = HEAP32[$16>>2]|0; - $129 = (($127) - ($128))|0; - _stbi__skip($s,$129); - $130 = HEAP32[$info>>2]|0; - switch ($130|0) { - case 24: { - $131 = HEAP32[$s>>2]|0; - $132 = ($131*3)|0; - $width$1$ph = $132; - label = 36; - break; - } - case 16: { - $133 = HEAP32[$s>>2]|0; - $134 = $133 << 1; - $width$1$ph = $134; - label = 36; - break; - } - default: { - $137 = $130;$width$1 = 0; - } - } - if ((label|0) == 36) { - $$pr = HEAP32[$info>>2]|0; - $137 = $$pr;$width$1 = $width$1$ph; - } - $135 = (0 - ($width$1))|0; - $136 = $135 & 3; - switch ($137|0) { - case 24: { - $261 = 1;$acount$0 = 0;$ashift$0 = 0;$bcount$0 = 0;$bshift$0 = 0;$easy$017 = 1;$gcount$0 = 0;$gshift$0 = 0;$rcount$0 = 0;$rshift$0 = 0; - break; - } - case 32: { - $138 = ($12|0)==(255); - $139 = ($10|0)==(65280); - $or$cond5 = $139 & $138; - $140 = ($8|0)==(16711680); - $or$cond7 = $140 & $or$cond5; - $141 = ($14|0)==(-16777216); - $or$cond9 = $141 & $or$cond7; - if ($or$cond9) { - $261 = 1;$acount$0 = 0;$ashift$0 = 0;$bcount$0 = 0;$bshift$0 = 0;$easy$017 = 2;$gcount$0 = 0;$gshift$0 = 0;$rcount$0 = 0;$rshift$0 = 0; - } else { - label = 39; - } - break; - } - default: { - label = 39; - } - } - do { - if ((label|0) == 39) { - $142 = ($8|0)!=(0); - $143 = ($10|0)!=(0); - $or$cond11 = $142 & $143; - $144 = ($12|0)!=(0); - $or$cond13 = $or$cond11 & $144; - if ($or$cond13) { - $145 = (_stbi__high_bit($8)|0); - $146 = (($145) + -7)|0; - $147 = (_stbi__bitcount($8)|0); - $148 = (_stbi__high_bit($10)|0); - $149 = (($148) + -7)|0; - $150 = (_stbi__bitcount($10)|0); - $151 = (_stbi__high_bit($12)|0); - $152 = (($151) + -7)|0; - $153 = (_stbi__bitcount($12)|0); - $154 = (_stbi__high_bit($14)|0); - $155 = (($154) + -7)|0; - $156 = (_stbi__bitcount($14)|0); - $261 = 0;$acount$0 = $156;$ashift$0 = $155;$bcount$0 = $153;$bshift$0 = $152;$easy$017 = 0;$gcount$0 = $150;$gshift$0 = $149;$rcount$0 = $147;$rshift$0 = $146; - break; - } - _free($40); - _stbi__err(19037); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - } while(0); - $157 = HEAP32[$3>>2]|0; - $158 = ($157|0)>(0); - if ($158) { - $159 = HEAP32[$info>>2]|0; - $160 = ($159|0)==(16); - $161 = ($req_comp$|0)==(4); - $162 = ($easy$017|0)==(2); - $163 = ($req_comp$|0)==(4); - $all_a$064 = $15;$j$162 = 0;$z1$063 = 0; - while(1) { - $164 = HEAP32[$s>>2]|0; - $165 = ($164|0)>(0); - if ($261) { - if ($165) { - $all_a$158 = $all_a$064;$i$256 = 0;$z1$157 = $z1$063; - while(1) { - $166 = (_stbi__get8($s)|0); - $167 = (($z1$157) + 2)|0; - $168 = (($40) + ($167)|0); - HEAP8[$168>>0] = $166; - $169 = (_stbi__get8($s)|0); - $170 = (($z1$157) + 1)|0; - $171 = (($40) + ($170)|0); - HEAP8[$171>>0] = $169; - $172 = (_stbi__get8($s)|0); - $173 = (($40) + ($z1$157)|0); - HEAP8[$173>>0] = $172; - $174 = (($z1$157) + 3)|0; - if ($162) { - $175 = (_stbi__get8($s)|0); - $176 = $175&255; - $178 = $176; - } else { - $178 = 255; - } - $177 = $178 | $all_a$158; - if ($163) { - $179 = $178&255; - $180 = (($z1$157) + 4)|0; - $181 = (($40) + ($174)|0); - HEAP8[$181>>0] = $179; - $z1$2 = $180; - } else { - $z1$2 = $174; - } - $182 = (($i$256) + 1)|0; - $183 = HEAP32[$s>>2]|0; - $184 = ($182|0)<($183|0); - if ($184) { - $all_a$158 = $177;$i$256 = $182;$z1$157 = $z1$2; - } else { - $all_a$3 = $177;$z1$5 = $z1$2; - break; - } - } - } else { - $all_a$3 = $all_a$064;$z1$5 = $z1$063; - } - } else { - if ($165) { - $all_a$251 = $all_a$064;$i$349 = 0;$z1$350 = $z1$063; - while(1) { - if ($160) { - $185 = (_stbi__get16le($s)|0); - $188 = $185; - } else { - $186 = (_stbi__get32le($s)|0); - $188 = $186; - } - $187 = $188 & $8; - $189 = (_stbi__shiftsigned($187,$rshift$0,$rcount$0)|0); - $190 = $189&255; - $191 = (($z1$350) + 1)|0; - $192 = (($40) + ($z1$350)|0); - HEAP8[$192>>0] = $190; - $193 = $188 & $10; - $194 = (_stbi__shiftsigned($193,$gshift$0,$gcount$0)|0); - $195 = $194&255; - $196 = (($z1$350) + 2)|0; - $197 = (($40) + ($191)|0); - HEAP8[$197>>0] = $195; - $198 = $188 & $12; - $199 = (_stbi__shiftsigned($198,$bshift$0,$bcount$0)|0); - $200 = $199&255; - $201 = (($z1$350) + 3)|0; - $202 = (($40) + ($196)|0); - HEAP8[$202>>0] = $200; - if ($31) { - $203 = $188 & $14; - $204 = (_stbi__shiftsigned($203,$ashift$0,$acount$0)|0); - $206 = $204; - } else { - $206 = 255; - } - $205 = $206 | $all_a$251; - if ($161) { - $207 = $206&255; - $208 = (($z1$350) + 4)|0; - $209 = (($40) + ($201)|0); - HEAP8[$209>>0] = $207; - $z1$4 = $208; - } else { - $z1$4 = $201; - } - $210 = (($i$349) + 1)|0; - $211 = HEAP32[$s>>2]|0; - $212 = ($210|0)<($211|0); - if ($212) { - $all_a$251 = $205;$i$349 = $210;$z1$350 = $z1$4; - } else { - $all_a$3 = $205;$z1$5 = $z1$4; - break; - } - } - } else { - $all_a$3 = $all_a$064;$z1$5 = $z1$063; - } - } - _stbi__skip($s,$136); - $213 = (($j$162) + 1)|0; - $214 = HEAP32[$3>>2]|0; - $215 = ($213|0)<($214|0); - if ($215) { - $all_a$064 = $all_a$3;$j$162 = $213;$z1$063 = $z1$5; - } else { - $all_a$4 = $all_a$3; - break; - } - } - } else { - $all_a$4 = $15; - } - } - $216 = ($req_comp$|0)==(4); - $217 = ($all_a$4|0)==(0); - $or$cond15 = $216 & $217; - if ($or$cond15) { - $218 = HEAP32[$s>>2]|0; - $219 = $218 << 2; - $220 = HEAP32[$3>>2]|0; - $221 = Math_imul($219, $220)|0; - $222 = (($221) + -1)|0; - $223 = ($222|0)>(-1); - if ($223) { - $i$435 = $222; - while(1) { - $224 = (($40) + ($i$435)|0); - HEAP8[$224>>0] = -1; - $225 = (($i$435) + -4)|0; - $226 = ($225|0)>(-1); - if ($226) { - $i$435 = $225; - } else { - break; - } - } - } - } - if ($5) { - $227 = HEAP32[$3>>2]|0; - $228 = $227 >> 1; - $229 = ($228|0)>(0); - if ($229) { - $230 = HEAP32[$s>>2]|0; - $231 = Math_imul($230, $req_comp$)|0; - $232 = ($231|0)>(0); - $233 = HEAP32[$3>>2]|0; - $234 = $233 >> 1; - $239 = $227;$j$233 = 0; - while(1) { - $235 = Math_imul($j$233, $req_comp$)|0; - $236 = Math_imul($235, $230)|0; - $237 = $j$233 ^ -1; - $238 = (($239) + ($237))|0; - $240 = Math_imul($238, $req_comp$)|0; - $241 = Math_imul($240, $230)|0; - if ($232) { - $242 = HEAP32[$s>>2]|0; - $243 = Math_imul($242, $req_comp$)|0; - $i$532 = 0; - while(1) { - $$sum = (($i$532) + ($236))|0; - $244 = (($40) + ($$sum)|0); - $245 = HEAP8[$244>>0]|0; - $$sum16 = (($i$532) + ($241))|0; - $246 = (($40) + ($$sum16)|0); - $247 = HEAP8[$246>>0]|0; - HEAP8[$244>>0] = $247; - HEAP8[$246>>0] = $245; - $248 = (($i$532) + 1)|0; - $249 = ($248|0)<($243|0); - if ($249) { - $i$532 = $248; - } else { - break; - } - } - } - $250 = (($j$233) + 1)|0; - $251 = ($250|0)<($234|0); - if ($251) { - $239 = $233;$j$233 = $250; - } else { - break; - } - } - } - } - $252 = ($req_comp$|0)==($req_comp|0); - $or$cond = $34 | $252; - if ($or$cond) { - $out$0 = $40; - } else { - $253 = HEAP32[$s>>2]|0; - $254 = HEAP32[$3>>2]|0; - $255 = (_stbi__convert_format($40,$req_comp$,$req_comp,$253,$254)|0); - $256 = ($255|0)==(0|0); - if ($256) { - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } else { - $out$0 = $255; - } - } - $257 = HEAP32[$s>>2]|0; - HEAP32[$x>>2] = $257; - $258 = HEAP32[$3>>2]|0; - HEAP32[$y>>2] = $258; - $259 = ($comp|0)==(0|0); - if ($259) { - $$0 = $out$0; - STACKTOP = sp;return ($$0|0); - } - $260 = HEAP32[$33>>2]|0; - HEAP32[$comp>>2] = $260; - $$0 = $out$0; - STACKTOP = sp;return ($$0|0); -} -function _stbi__gif_test($s) { - $s = $s|0; - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_stbi__gif_test_raw($s)|0); - _stbi__rewind($s); - return ($0|0); -} -function _stbi__gif_load($s,$x,$y,$comp,$req_comp) { - $s = $s|0; - $x = $x|0; - $y = $y|0; - $comp = $comp|0; - $req_comp = $req_comp|0; - var $$ = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $g = 0, $u$0 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 18528|0; - $g = sp; - _memset(($g|0),0,18516)|0; - $0 = (_stbi__gif_load_next($s,$g,$comp)|0); - $1 = ($0|0)==($s|0); - $$ = $1 ? 0 : $0; - $2 = ($$|0)==(0|0); + STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0); + $vararg_buffer7 = sp + 24|0; + $vararg_buffer4 = sp + 16|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $4 = sp + 40|0; + $5 = ((($4)) + 8|0); + ;HEAP32[$5>>2]=0|0;HEAP32[$5+4>>2]=0|0;HEAP32[$5+8>>2]=0|0;HEAP32[$5+12>>2]=0|0;HEAP32[$5+16>>2]=0|0; + HEAP32[$4>>2] = $1; + $6 = ((($4)) + 4|0); + HEAP32[$6>>2] = $2; + $$off = (($3) + -1)|0; + $7 = ($$off>>>0)<(2); L1: do { - if ($2) { - $9 = ((($g)) + 8|0); - $10 = HEAP32[$9>>2]|0; - $11 = ($10|0)==(0|0); - if ($11) { - $u$0 = 0; - } else { - _free($10); - $u$0 = 0; + if ($7) { + $9 = ((($4)) + 8|0); + HEAP32[$9>>2] = $3; + switch ($3|0) { + case 1: { + $55 = $9; + label = 4; + break L1; + break; } - } else { - $3 = HEAP32[$g>>2]|0; - HEAP32[$x>>2] = $3; - $4 = ((($g)) + 4|0); - $5 = HEAP32[$4>>2]|0; - HEAP32[$y>>2] = $5; - switch ($req_comp|0) { - case 0: case 4: { - $u$0 = $$; + case 2: { + break; + } + default: { + $26 = $9; + break L1; + } + } + switch ($2|0) { + case 8: { + $13 = ((($4)) + 12|0); + HEAP32[$13>>2] = 4354; + $26 = $9; + break L1; + break; + } + case 16: { + $14 = ((($4)) + 12|0); + HEAP32[$14>>2] = 4355; + $26 = $9; + break L1; + break; + } + case 32: { + $15 = ((($4)) + 12|0); + HEAP32[$15>>2] = 65553; + $26 = $9; break L1; break; } default: { + HEAP32[$vararg_buffer4>>2] = $2; + _TraceLog(1,18059,$vararg_buffer4); + $26 = $9; + break L1; } } - $6 = HEAP32[$g>>2]|0; - $7 = HEAP32[$4>>2]|0; - $8 = (_stbi__convert_format($$,4,$req_comp,$6,$7)|0); - $u$0 = $8; + } else { + HEAP32[$vararg_buffer>>2] = $3; + _TraceLog(1,18003,$vararg_buffer); + $8 = ((($4)) + 8|0); + HEAP32[$8>>2] = 1; + $55 = $8; + label = 4; } } while(0); - STACKTOP = sp;return ($u$0|0); -} -function _stbi__psd_test($s) { - $s = $s|0; - var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_stbi__get32be($s)|0); - $1 = ($0|0)==(943870035); - $2 = $1&1; - _stbi__rewind($s); - return ($2|0); -} -function _stbi__psd_load($s,$x,$y,$comp,$req_comp) { - $s = $s|0; - $x = $x|0; - $y = $y|0; - $comp = $comp|0; - $req_comp = $req_comp|0; - var $$0 = 0, $$lcssa = 0, $$pn = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0; - var $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0; - var $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0; - var $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0; - var $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0; - var $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $channel$039 = 0, $count$0$ph$be = 0, $count$0$ph37 = 0, $exitcond = 0, $exitcond$1 = 0, $exitcond$2 = 0, $exitcond$3 = 0, $exitcond42 = 0; - var $exitcond42$1 = 0, $exitcond42$2 = 0, $exitcond42$3 = 0, $exitcond43 = 0, $exitcond43$1 = 0, $exitcond43$2 = 0, $exitcond43$3 = 0, $exitcond46 = 0, $exitcond50 = 0, $i$028 = 0, $i$119 = 0, $i$119$1 = 0, $i$119$2 = 0, $i$119$3 = 0, $i$224 = 0, $i$224$1 = 0, $i$224$2 = 0, $i$224$3 = 0, $i$321 = 0, $i$321$1 = 0; - var $i$321$2 = 0, $i$321$3 = 0, $len$035 = 0, $len$132 = 0, $out$0 = 0, $p$029 = 0, $p$1$ph$be = 0, $p$1$ph38 = 0, $p$236 = 0, $p$333 = 0, $p1$020 = 0, $p1$020$1 = 0, $p1$020$2 = 0, $p1$020$3 = 0, $p1$125 = 0, $p1$125$1 = 0, $p1$125$2 = 0, $p1$125$3 = 0, $p1$222 = 0, $p1$222$1 = 0; - var $p1$222$2 = 0, $p1$222$3 = 0, $scevgep$sum = 0, $scevgep47 = 0, $scevgep48$sum = 0, $scevgep49 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_stbi__get32be($s)|0); - $1 = ($0|0)==(943870035); - if (!($1)) { - _stbi__err(18832); - $$0 = 0; - return ($$0|0); - } - $2 = (_stbi__get16be($s)|0); - $3 = ($2|0)==(1); - if (!($3)) { - _stbi__err(18840); - $$0 = 0; - return ($$0|0); - } - _stbi__skip($s,6); - $4 = (_stbi__get16be($s)|0); - $5 = ($4>>>0)>(16); - if ($5) { - _stbi__err(18854); - $$0 = 0; - return ($$0|0); - } - $6 = (_stbi__get32be($s)|0); - $7 = (_stbi__get32be($s)|0); - $8 = (_stbi__get16be($s)|0); - switch ($8|0) { - case 8: case 16: { - break; - } - default: { - _stbi__err(18874); - $$0 = 0; - return ($$0|0); - } - } - $9 = (_stbi__get16be($s)|0); - $10 = ($9|0)==(3); - if (!($10)) { - _stbi__err(18896); - $$0 = 0; - return ($$0|0); - } - $11 = (_stbi__get32be($s)|0); - _stbi__skip($s,$11); - $12 = (_stbi__get32be($s)|0); - _stbi__skip($s,$12); - $13 = (_stbi__get32be($s)|0); - _stbi__skip($s,$13); - $14 = (_stbi__get16be($s)|0); - $15 = ($14|0)>(1); - if ($15) { - _stbi__err(18689); - $$0 = 0; - return ($$0|0); - } - $16 = $6 << 2; - $17 = Math_imul($16, $7)|0; - $18 = (_stbi__malloc($17)|0); - $19 = ($18|0)==(0|0); - if ($19) { - _stbi__err(17401); - $$0 = 0; - return ($$0|0); - } - $20 = Math_imul($7, $6)|0; - $21 = ($14|0)==(0); - L29: do { - if ($21) { - $54 = ($8|0)==(16); - $55 = ($20|0)>(0); - $56 = ($20|0)>(0); - $57 = ($20|0)>(0); - $58 = Math_imul($7, $6)|0; - $59 = ($4|0)>(0); - do { - if ($59) { - if ($54) { - if ($55) { - $i$224 = 0;$p1$125 = $18; - } else { - break; - } - while(1) { - $62 = (_stbi__get16be($s)|0); - $63 = $62 >>> 8; - $64 = $63&255; - HEAP8[$p1$125>>0] = $64; - $65 = (($i$224) + 1)|0; - $66 = ((($p1$125)) + 4|0); - $exitcond43 = ($65|0)==($58|0); - if ($exitcond43) { - break; - } else { - $i$224 = $65;$p1$125 = $66; - } - } - } else { - if ($56) { - $i$321 = 0;$p1$222 = $18; - } else { - break; - } - while(1) { - $67 = (_stbi__get8($s)|0); - HEAP8[$p1$222>>0] = $67; - $68 = (($i$321) + 1)|0; - $69 = ((($p1$222)) + 4|0); - $exitcond42 = ($68|0)==($58|0); - if ($exitcond42) { - break; - } else { - $i$321 = $68;$p1$222 = $69; - } - } - } - } else { - if ($57) { - $i$119 = 0;$p1$020 = $18; - } else { - break L29; - } - while(1) { - HEAP8[$p1$020>>0] = 0; - $60 = (($i$119) + 1)|0; - $61 = ((($p1$020)) + 4|0); - $exitcond = ($60|0)==($58|0); - if ($exitcond) { - break; - } else { - $i$119 = $60;$p1$020 = $61; - } - } - } - } while(0); - $70 = ((($18)) + 1|0); - $71 = ($4|0)>(1); - do { - if ($71) { - if ($54) { - if ($55) { - $i$224$1 = 0;$p1$125$1 = $70; - } else { - break; - } - while(1) { - $80 = (_stbi__get16be($s)|0); - $81 = $80 >>> 8; - $82 = $81&255; - HEAP8[$p1$125$1>>0] = $82; - $83 = (($i$224$1) + 1)|0; - $84 = ((($p1$125$1)) + 4|0); - $exitcond43$1 = ($83|0)==($58|0); - if ($exitcond43$1) { - break; - } else { - $i$224$1 = $83;$p1$125$1 = $84; - } - } - } else { - if ($56) { - $i$321$1 = 0;$p1$222$1 = $70; - } else { - break; - } - while(1) { - $77 = (_stbi__get8($s)|0); - HEAP8[$p1$222$1>>0] = $77; - $78 = (($i$321$1) + 1)|0; - $79 = ((($p1$222$1)) + 4|0); - $exitcond42$1 = ($78|0)==($58|0); - if ($exitcond42$1) { - break; - } else { - $i$321$1 = $78;$p1$222$1 = $79; - } - } - } - } else { - if ($57) { - $i$119$1 = 0;$p1$020$1 = $70; - } else { - break L29; - } - while(1) { - HEAP8[$p1$020$1>>0] = 0; - $75 = (($i$119$1) + 1)|0; - $76 = ((($p1$020$1)) + 4|0); - $exitcond$1 = ($75|0)==($58|0); - if ($exitcond$1) { - break; - } else { - $i$119$1 = $75;$p1$020$1 = $76; - } - } - } - } while(0); - $85 = ((($18)) + 2|0); - $86 = ($4|0)>(2); - do { - if ($86) { - if ($54) { - if ($55) { - $i$224$2 = 0;$p1$125$2 = $85; - } else { - break; - } - while(1) { - $92 = (_stbi__get16be($s)|0); - $93 = $92 >>> 8; - $94 = $93&255; - HEAP8[$p1$125$2>>0] = $94; - $95 = (($i$224$2) + 1)|0; - $96 = ((($p1$125$2)) + 4|0); - $exitcond43$2 = ($95|0)==($58|0); - if ($exitcond43$2) { - break; - } else { - $i$224$2 = $95;$p1$125$2 = $96; - } - } - } else { - if ($56) { - $i$321$2 = 0;$p1$222$2 = $85; - } else { - break; - } - while(1) { - $89 = (_stbi__get8($s)|0); - HEAP8[$p1$222$2>>0] = $89; - $90 = (($i$321$2) + 1)|0; - $91 = ((($p1$222$2)) + 4|0); - $exitcond42$2 = ($90|0)==($58|0); - if ($exitcond42$2) { - break; - } else { - $i$321$2 = $90;$p1$222$2 = $91; - } - } - } - } else { - if ($57) { - $i$119$2 = 0;$p1$020$2 = $85; - } else { - break L29; - } - while(1) { - HEAP8[$p1$020$2>>0] = 0; - $87 = (($i$119$2) + 1)|0; - $88 = ((($p1$020$2)) + 4|0); - $exitcond$2 = ($87|0)==($58|0); - if ($exitcond$2) { - break; - } else { - $i$119$2 = $87;$p1$020$2 = $88; - } - } - } - } while(0); - $97 = ((($18)) + 3|0); - $98 = ($4|0)>(3); - if (!($98)) { - if ($57) { - $i$119$3 = 0;$p1$020$3 = $97; - } else { - break; - } - while(1) { - HEAP8[$p1$020$3>>0] = -1; - $99 = (($i$119$3) + 1)|0; - $100 = ((($p1$020$3)) + 4|0); - $exitcond$3 = ($99|0)==($58|0); - if ($exitcond$3) { - break L29; - } else { - $i$119$3 = $99;$p1$020$3 = $100; - } - } - } - if ($54) { - if ($55) { - $i$224$3 = 0;$p1$125$3 = $97; - } else { - break; - } - while(1) { - $104 = (_stbi__get16be($s)|0); - $105 = $104 >>> 8; - $106 = $105&255; - HEAP8[$p1$125$3>>0] = $106; - $107 = (($i$224$3) + 1)|0; - $108 = ((($p1$125$3)) + 4|0); - $exitcond43$3 = ($107|0)==($58|0); - if ($exitcond43$3) { - break; - } else { - $i$224$3 = $107;$p1$125$3 = $108; - } - } - } else { - if ($56) { - $i$321$3 = 0;$p1$222$3 = $97; - } else { - break; - } - while(1) { - $101 = (_stbi__get8($s)|0); - HEAP8[$p1$222$3>>0] = $101; - $102 = (($i$321$3) + 1)|0; - $103 = ((($p1$222$3)) + 4|0); - $exitcond42$3 = ($102|0)==($58|0); - if ($exitcond42$3) { - break; - } else { - $i$321$3 = $102;$p1$222$3 = $103; - } - } - } - } else { - $22 = $4 << 1; - $23 = Math_imul($22, $6)|0; - _stbi__skip($s,$23); - $24 = ($20|0)>(0); - $25 = ($20|0)>(0); - $26 = Math_imul($7, $6)|0; - $channel$039 = 0; - while(1) { - $27 = (($18) + ($channel$039)|0); - $28 = ($channel$039|0)<($4|0); - if ($28) { - if ($24) { - $count$0$ph37 = 0;$p$1$ph38 = $27; - while(1) { - while(1) { - $36 = (_stbi__get8($s)|0); - $37 = ($36<<24>>24)==(-128); - if (!($37)) { - $$lcssa = $36; - break; - } - } - $38 = $$lcssa&255; - $39 = ($$lcssa<<24>>24)>(-1); - if ($39) { - $40 = (($38) + 1)|0; - $41 = $$lcssa&255; - $33 = $41 << 2; - $len$035 = $40;$p$236 = $p$1$ph38; - while(1) { - $42 = (_stbi__get8($s)|0); - HEAP8[$p$236>>0] = $42; - $43 = ((($p$236)) + 4|0); - $44 = (($len$035) + -1)|0; - $45 = ($44|0)==(0); - if ($45) { - break; - } else { - $len$035 = $44;$p$236 = $43; - } - } - $scevgep48$sum = (($33) + 4)|0; - $scevgep49 = (($p$1$ph38) + ($scevgep48$sum)|0); - $$pn = $40;$p$1$ph$be = $scevgep49; - } else { - $46 = (257 - ($38))|0; - $47 = (_stbi__get8($s)|0); - $48 = ($46|0)==(0); - if ($48) { - $$pn = 0;$p$1$ph$be = $p$1$ph38; - } else { - $49 = $$lcssa&255; - $35 = Math_imul($49, -4)|0; - $len$132 = $46;$p$333 = $p$1$ph38; - while(1) { - HEAP8[$p$333>>0] = $47; - $50 = ((($p$333)) + 4|0); - $51 = (($len$132) + -1)|0; - $52 = ($51|0)==(0); - if ($52) { - break; - } else { - $len$132 = $51;$p$333 = $50; - } - } - $scevgep$sum = (($35) + 1028)|0; - $scevgep47 = (($p$1$ph38) + ($scevgep$sum)|0); - $$pn = $46;$p$1$ph$be = $scevgep47; - } - } - $count$0$ph$be = (($$pn) + ($count$0$ph37))|0; - $34 = ($count$0$ph$be|0)<($20|0); - if ($34) { - $count$0$ph37 = $count$0$ph$be;$p$1$ph38 = $p$1$ph$be; - } else { - break; - } - } - } - } else { - if ($25) { - $29 = ($channel$039|0)==(3); - $30 = $29 << 31 >> 31; - $i$028 = 0;$p$029 = $27; - while(1) { - HEAP8[$p$029>>0] = $30; - $31 = (($i$028) + 1)|0; - $32 = ((($p$029)) + 4|0); - $exitcond46 = ($31|0)==($26|0); - if ($exitcond46) { - break; - } else { - $i$028 = $31;$p$029 = $32; - } - } - } - } - $53 = (($channel$039) + 1)|0; - $exitcond50 = ($53|0)==(4); - if ($exitcond50) { - break; - } else { - $channel$039 = $53; - } - } - } - } while(0); - switch ($req_comp|0) { - case 0: case 4: { - $out$0 = $18; - break; - } - default: { - $72 = (_stbi__convert_format($18,4,$req_comp,$7,$6)|0); - $73 = ($72|0)==(0|0); - if ($73) { - $$0 = 0; - return ($$0|0); - } else { - $out$0 = $72; - } - } - } - $74 = ($comp|0)==(0|0); - if (!($74)) { - HEAP32[$comp>>2] = 4; - } - HEAP32[$y>>2] = $6; - HEAP32[$x>>2] = $7; - $$0 = $out$0; - return ($$0|0); -} -function _stbi__pic_test($s) { - $s = $s|0; - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_stbi__pic_test_core($s)|0); - _stbi__rewind($s); - return ($0|0); -} -function _stbi__pic_load($s,$px,$py,$comp,$req_comp) { - $s = $s|0; - $px = $px|0; - $py = $py|0; - $comp = $comp|0; - $req_comp = $req_comp|0; - var $$0 = 0, $$01 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $i$02 = 0, $result$0 = 0; - var label = 0, sp = 0; - sp = STACKTOP; - $i$02 = 0; - while(1) { - (_stbi__get8($s)|0); - $0 = (($i$02) + 1)|0; - $exitcond = ($0|0)==(92); - if ($exitcond) { - break; - } else { - $i$02 = $0; - } - } - $1 = (_stbi__get16be($s)|0); - $2 = (_stbi__get16be($s)|0); - $3 = (_stbi__at_eof($s)|0); - $4 = ($3|0)==(0); - if (!($4)) { - _stbi__err(18818); - $$0 = 0; - return ($$0|0); - } - $5 = (268435456 / ($1|0))&-1; - $6 = ($5|0)<($2|0); - if ($6) { - _stbi__err(17188); - $$0 = 0; - return ($$0|0); - } - (_stbi__get32be($s)|0); - (_stbi__get16be($s)|0); - (_stbi__get16be($s)|0); - $7 = $1 << 2; - $8 = Math_imul($7, $2)|0; - $9 = (_stbi__malloc($8)|0); - _memset(($9|0),-1,($8|0))|0; - $10 = (_stbi__pic_load_core($s,$1,$2,$comp,$9)|0); - $11 = ($10|0)==(0|0); - if ($11) { - _free($9); - $result$0 = 0; - } else { - $result$0 = $9; - } - HEAP32[$px>>2] = $1; - HEAP32[$py>>2] = $2; - $12 = ($req_comp|0)==(0); - if ($12) { - $13 = HEAP32[$comp>>2]|0; - $$01 = $13; - } else { - $$01 = $req_comp; - } - $14 = (_stbi__convert_format($result$0,4,$$01,$1,$2)|0); - $$0 = $14; - return ($$0|0); -} -function _stbi__pnm_test($s) { - $s = $s|0; - var $$0 = 0, $$off = 0, $0 = 0, $1 = 0, $2 = 0, $or$cond = 0, $switch = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_stbi__get8($s)|0); - $1 = (_stbi__get8($s)|0); - $2 = ($0<<24>>24)==(80); - $$off = (($1) + -53)<<24>>24; - $switch = ($$off&255)<(2); - $or$cond = $2 & $switch; - if ($or$cond) { - $$0 = 1; - return ($$0|0); - } - _stbi__rewind($s); - $$0 = 0; - return ($$0|0); -} -function _stbi__pnm_load($s,$x,$y,$comp,$req_comp) { - $s = $s|0; - $x = $x|0; - $y = $y|0; - $comp = $comp|0; - $req_comp = $req_comp|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0; - var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($s)) + 4|0); - $1 = ((($s)) + 8|0); - $2 = (_stbi__pnm_info($s,$s,$0,$1)|0); - $3 = ($2|0)==(0); - if ($3) { - $$0 = 0; - return ($$0|0); - } - $4 = HEAP32[$s>>2]|0; - HEAP32[$x>>2] = $4; - $5 = HEAP32[$0>>2]|0; - HEAP32[$y>>2] = $5; - $6 = HEAP32[$1>>2]|0; - HEAP32[$comp>>2] = $6; - $7 = HEAP32[$1>>2]|0; - $8 = HEAP32[$s>>2]|0; - $9 = Math_imul($8, $7)|0; - $10 = HEAP32[$0>>2]|0; - $11 = Math_imul($9, $10)|0; - $12 = (_stbi__malloc($11)|0); - $13 = ($12|0)==(0|0); - if ($13) { - _stbi__err(17401); - $$0 = 0; - return ($$0|0); - } - $14 = HEAP32[$1>>2]|0; - $15 = HEAP32[$s>>2]|0; - $16 = Math_imul($15, $14)|0; - $17 = HEAP32[$0>>2]|0; - $18 = Math_imul($16, $17)|0; - (_stbi__getn($s,$12,$18)|0); - $19 = ($req_comp|0)==(0); - if ($19) { - $$0 = $12; - return ($$0|0); - } - $20 = HEAP32[$1>>2]|0; - $21 = ($20|0)==($req_comp|0); - if ($21) { - $$0 = $12; - return ($$0|0); - } else { - $22 = HEAP32[$s>>2]|0; - $23 = HEAP32[$0>>2]|0; - $24 = (_stbi__convert_format($12,$20,$req_comp,$22,$23)|0); - return ($24|0); - } - return (0)|0; -} -function _stbi__tga_test($s) { - $s = $s|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $res$0 = 0, label = 0, sp = 0; - sp = STACKTOP; - (_stbi__get8($s)|0); - $0 = (_stbi__get8($s)|0); - $1 = ($0&255)>(1); - L1: do { - if ($1) { - $res$0 = 0; - } else { - $2 = (_stbi__get8($s)|0); - $3 = ($0<<24>>24)==(1); - if ($3) { - switch ($2<<24>>24) { - case 1: case 9: { - break; - } - default: { - $res$0 = 0; - break L1; - } - } - _stbi__skip($s,4); - $4 = (_stbi__get8($s)|0); - switch ($4<<24>>24) { - case 8: case 15: case 16: case 24: case 32: { - break; - } - default: { - $res$0 = 0; - break L1; - } - } - _stbi__skip($s,4); - } else { - switch ($2<<24>>24) { - case 2: case 3: case 10: case 11: { - break; - } - default: { - $res$0 = 0; - break L1; - } - } - _stbi__skip($s,9); - } - $5 = (_stbi__get16le($s)|0); - $6 = ($5|0)<(1); - if ($6) { - $res$0 = 0; - } else { - $7 = (_stbi__get16le($s)|0); - $8 = ($7|0)<(1); - if ($8) { - $res$0 = 0; - } else { - $9 = (_stbi__get8($s)|0); - if ($3) { - switch ($9<<24>>24) { - case 8: case 16: { - break; - } - default: { - $res$0 = 0; - break L1; - } - } - } else { - switch ($9<<24>>24) { - case 8: case 15: case 16: case 24: case 32: { - break; - } - default: { - $res$0 = 0; - break L1; - } - } - } - $res$0 = 1; - } - } - } - } while(0); - _stbi__rewind($s); - return ($res$0|0); -} -function _stbi__tga_load($s,$x,$y,$comp,$req_comp) { - $s = $s|0; - $x = $x|0; - $y = $y|0; - $comp = $comp|0; - $req_comp = $req_comp|0; - var $$ = 0, $$0 = 0, $$6 = 0, $$7 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0; - var $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; - var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; - var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0; - var $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0; - var $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0; - var $97 = 0, $98 = 0, $99 = 0, $RLE_count$039 = 0, $RLE_count$18 = 0, $RLE_count$19 = 0, $RLE_repeating$040 = 0, $RLE_repeating$110 = 0, $RLE_repeating$111 = 0, $exitcond = 0, $exitcond50 = 0, $exitcond55 = 0, $exitcond56 = 0, $i$048 = 0, $i$145 = 0, $i$238 = 0, $i$323 = 0, $i$421 = 0, $index1$024 = 0, $index2$025 = 0; - var $j$129 = 0, $j$327 = 0, $notlhs = 0, $notrhs = 0, $or$cond = 0, $or$cond5$not = 0, $or$cond57 = 0, $or$cond59 = 0, $pal_entry$046 = 0, $raw_data = 0, $read_next_pixel$041 = 0, $scevgep = 0, $scevgep54 = 0, $tga_comp$0 = 0, $tga_palette$0 = 0, $tga_pixel$022 = 0, $tga_rgb16 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $tga_rgb16 = sp; - $raw_data = sp + 4|0; - $0 = (_stbi__get8($s)|0); - $1 = $0&255; - $2 = (_stbi__get8($s)|0); - $3 = (_stbi__get8($s)|0); - $4 = $3&255; - $5 = (_stbi__get16le($s)|0); - $6 = (_stbi__get16le($s)|0); - $7 = (_stbi__get8($s)|0); - (_stbi__get16le($s)|0); - (_stbi__get16le($s)|0); - $8 = (_stbi__get16le($s)|0); - $9 = (_stbi__get16le($s)|0); - $10 = (_stbi__get8($s)|0); - HEAP32[$tga_rgb16>>2] = 0; - $11 = (_stbi__get8($s)|0); - $12 = $11&255; - $13 = ($3&255)>(7); - $$6 = $13&1; - $14 = $12 >>> 5; - $15 = $14 & 1; - $16 = ($2<<24>>24)!=(0); - if ($16) { - $17 = $7&255; - $18 = (_stbi__tga_get_comp($17,0,$tga_rgb16)|0); - $tga_comp$0 = $18; - } else { - $19 = (($4) + -8)|0; - $$7 = $13 ? $19 : $4; - $20 = $10&255; - $21 = ($$7|0)==(3); - $22 = $21&1; - $23 = (_stbi__tga_get_comp($20,$22,$tga_rgb16)|0); - $tga_comp$0 = $23; - } - $24 = ($tga_comp$0|0)==(0); - if ($24) { - _stbi__err(18705); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - HEAP32[$x>>2] = $8; - HEAP32[$y>>2] = $9; - $25 = ($comp|0)==(0|0); - if (!($25)) { - HEAP32[$comp>>2] = $tga_comp$0; - } - $26 = Math_imul($9, $8)|0; - $27 = Math_imul($26, $tga_comp$0)|0; - $28 = (_stbi__malloc($27)|0); - $29 = ($28|0)==(0|0); - if ($29) { - _stbi__err(17401); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - _stbi__skip($s,$1); - $30 = HEAP32[$tga_rgb16>>2]|0; - $31 = $30 | $$6; - $32 = ($31|0)!=(0); - $33 = $16 | $32; - if ($33) { - do { - if ($16) { - _stbi__skip($s,$5); - $44 = Math_imul($tga_comp$0, $6)|0; - $45 = (_stbi__malloc($44)|0); - $46 = ($45|0)==(0|0); - if ($46) { - _free($28); - _stbi__err(17401); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $47 = HEAP32[$tga_rgb16>>2]|0; - $48 = ($47|0)==(0); - if ($48) { - $53 = (_stbi__getn($s,$45,$44)|0); - $54 = ($53|0)==(0); - if (!($54)) { - $tga_palette$0 = $45; - break; - } - _free($28); - _free($45); - _stbi__err(18752); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $49 = ($tga_comp$0|0)==(3); - if (!($49)) { - ___assert_fail((18716|0),(17471|0),5060,(18737|0)); - // unreachable; - } - $50 = ($6|0)>(0); - if ($50) { - $i$145 = 0;$pal_entry$046 = $45; - while(1) { - _stbi__tga_read_rgb16($s,$pal_entry$046); - $51 = (($pal_entry$046) + ($tga_comp$0)|0); - $52 = (($i$145) + 1)|0; - $exitcond55 = ($52|0)==($6|0); - if ($exitcond55) { - $tga_palette$0 = $45; - break; - } else { - $i$145 = $52;$pal_entry$046 = $51; - } - } - } else { - $tga_palette$0 = $45; - } - } else { - $tga_palette$0 = 0; - } - } while(0); - $55 = Math_imul($9, $8)|0; - $56 = ($55|0)>(0); - L35: do { - if ($56) { - $57 = ($10<<24>>24)==(8); - $58 = ($tga_comp$0|0)>(0); - $59 = ($tga_comp$0|0)==(3); - $60 = ($tga_comp$0|0)>(0); - $61 = ($tga_comp$0|0)>(0); - $RLE_count$039 = 0;$RLE_repeating$040 = 0;$i$238 = 0;$read_next_pixel$041 = 1; - L37: while(1) { - $62 = Math_imul($tga_comp$0, $i$238)|0; - $scevgep54 = (($28) + ($62)|0); - do { - if ($13) { - $63 = ($RLE_count$039|0)==(0); - if ($63) { - $64 = (_stbi__get8($s)|0); - $65 = $64&255; - $66 = $65 & 127; - $67 = (($66) + 1)|0; - $68 = $65 >>> 7; - $RLE_count$18 = $67;$RLE_repeating$110 = $68; - label = 31; - break; - } - $69 = ($RLE_repeating$040|0)==(0); - if ($69) { - $RLE_count$18 = $RLE_count$039;$RLE_repeating$110 = 0; - label = 31; - } else { - $70 = ($read_next_pixel$041|0)==(0); - if ($70) { - $RLE_count$19 = $RLE_count$039;$RLE_repeating$111 = $RLE_repeating$040; - } else { - $RLE_count$18 = $RLE_count$039;$RLE_repeating$110 = $RLE_repeating$040; - label = 31; - } - } - } else { - $RLE_count$18 = $RLE_count$039;$RLE_repeating$110 = $RLE_repeating$040; - label = 31; - } - } while(0); - do { - if ((label|0) == 31) { - label = 0; - if ($16) { - if ($57) { - $71 = (_stbi__get8($s)|0); - $72 = $71&255; - $79 = $72; - } else { - $73 = (_stbi__get16le($s)|0); - $79 = $73; - } - if (!($58)) { - $RLE_count$19 = $RLE_count$18;$RLE_repeating$111 = $RLE_repeating$110; - break; - } - $80 = ($79|0)>=($6|0); - $$ = $80 ? 0 : $79; - $81 = Math_imul($tga_comp$0, $$)|0; - $scevgep = (($tga_palette$0) + ($81)|0); - _memcpy(($raw_data|0),($scevgep|0),($tga_comp$0|0))|0; - $RLE_count$19 = $RLE_count$18;$RLE_repeating$111 = $RLE_repeating$110; - break; - } else { - $74 = HEAP32[$tga_rgb16>>2]|0; - $75 = ($74|0)==(0); - if ($75) { - if ($60) { - $j$129 = 0; - } else { - $RLE_count$19 = $RLE_count$18;$RLE_repeating$111 = $RLE_repeating$110; - break; - } - while(1) { - $76 = (_stbi__get8($s)|0); - $77 = (($raw_data) + ($j$129)|0); - HEAP8[$77>>0] = $76; - $78 = (($j$129) + 1)|0; - $exitcond50 = ($78|0)==($tga_comp$0|0); - if ($exitcond50) { - $RLE_count$19 = $RLE_count$18;$RLE_repeating$111 = $RLE_repeating$110; - break; - } else { - $j$129 = $78; - } - } - } else { - if (!($59)) { - break L37; - } - _stbi__tga_read_rgb16($s,$raw_data); - $RLE_count$19 = $RLE_count$18;$RLE_repeating$111 = $RLE_repeating$110; - break; - } - } - } - } while(0); - if ($61) { - _memcpy(($scevgep54|0),($raw_data|0),($tga_comp$0|0))|0; - } - $82 = (($RLE_count$19) + -1)|0; - $83 = (($i$238) + 1)|0; - $84 = ($83|0)<($55|0); - if ($84) { - $RLE_count$039 = $82;$RLE_repeating$040 = $RLE_repeating$111;$i$238 = $83;$read_next_pixel$041 = 0; - } else { - break L35; - } - } - ___assert_fail((18716|0),(17471|0),5109,(18737|0)); - // unreachable; - } - } while(0); - $85 = ($15|0)==(0); - $86 = ($9|0)>(0); - $or$cond57 = $85 & $86; - if ($or$cond57) { - $87 = Math_imul($tga_comp$0, $8)|0; - $88 = (($9) + -1)|0; - $89 = Math_imul($tga_comp$0, $8)|0; - $90 = Math_imul($tga_comp$0, $8)|0; - $91 = ($90|0)>(0); - $j$327 = 0; - while(1) { - if ($91) { - $92 = (($88) - ($j$327))|0; - $93 = Math_imul($89, $92)|0; - $94 = Math_imul($87, $j$327)|0; - $i$323 = $90;$index1$024 = $94;$index2$025 = $93; - while(1) { - $95 = (($28) + ($index1$024)|0); - $96 = HEAP8[$95>>0]|0; - $97 = (($28) + ($index2$025)|0); - $98 = HEAP8[$97>>0]|0; - HEAP8[$95>>0] = $98; - HEAP8[$97>>0] = $96; - $99 = (($index1$024) + 1)|0; - $100 = (($index2$025) + 1)|0; - $101 = (($i$323) + -1)|0; - $102 = ($i$323|0)>(1); - if ($102) { - $i$323 = $101;$index1$024 = $99;$index2$025 = $100; - } else { - break; - } - } - } - $103 = (($j$327) + 1)|0; - $104 = $103 << 1; - $105 = ($104|0)<($9|0); - if ($105) { - $j$327 = $103; - } else { - break; - } - } - } - $106 = ($tga_palette$0|0)==(0|0); - if (!($106)) { - _free($tga_palette$0); - } - } else { - $34 = ($9|0)>(0); - if ($34) { - $35 = ($15|0)==(0); - $36 = (($9) + -1)|0; - $37 = Math_imul($tga_comp$0, $8)|0; - $38 = Math_imul($tga_comp$0, $8)|0; - $i$048 = 0; - while(1) { - $39 = (($36) - ($i$048))|0; - $40 = $35 ? $39 : $i$048; - $41 = Math_imul($37, $40)|0; - $42 = (($28) + ($41)|0); - (_stbi__getn($s,$42,$38)|0); - $43 = (($i$048) + 1)|0; - $exitcond56 = ($43|0)==($9|0); - if ($exitcond56) { - break; - } else { - $i$048 = $43; - } - } - } - } - $107 = HEAP32[$tga_rgb16>>2]|0; - $notlhs = ($tga_comp$0|0)>(2); - $notrhs = ($107|0)==(0); - $or$cond5$not = $notrhs & $notlhs; - $108 = Math_imul($9, $8)|0; - $109 = ($108|0)>(0); - $or$cond59 = $or$cond5$not & $109; - if ($or$cond59) { - $110 = Math_imul($9, $8)|0; - $i$421 = 0;$tga_pixel$022 = $28; - while(1) { - $111 = HEAP8[$tga_pixel$022>>0]|0; - $112 = ((($tga_pixel$022)) + 2|0); - $113 = HEAP8[$112>>0]|0; - HEAP8[$tga_pixel$022>>0] = $113; - HEAP8[$112>>0] = $111; - $114 = (($tga_pixel$022) + ($tga_comp$0)|0); - $115 = (($i$421) + 1)|0; - $exitcond = ($115|0)==($110|0); - if ($exitcond) { - break; - } else { - $i$421 = $115;$tga_pixel$022 = $114; - } - } - } - $116 = ($req_comp|0)==(0); - $117 = ($tga_comp$0|0)==($req_comp|0); - $or$cond = $116 | $117; - if ($or$cond) { - $$0 = $28; - STACKTOP = sp;return ($$0|0); - } - $118 = (_stbi__convert_format($28,$tga_comp$0,$req_comp,$8,$9)|0); - $$0 = $118; - STACKTOP = sp;return ($$0|0); -} -function _stbi__convert_format($data,$img_n,$req_comp,$x,$y) { - $data = $data|0; - $img_n = $img_n|0; - $req_comp = $req_comp|0; - $x = $x|0; - $y = $y|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0; - var $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0; - var $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; - var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; - var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0; - var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0; - var $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $dest$081 = 0; - var $dest$1031 = 0, $dest$1127 = 0, $dest$176 = 0, $dest$271 = 0, $dest$366 = 0, $dest$461 = 0, $dest$556 = 0, $dest$651 = 0, $dest$746 = 0, $dest$841 = 0, $dest$936 = 0, $i$0 = 0, $i$079 = 0, $i$082 = 0, $i$1 = 0, $i$10 = 0, $i$1029 = 0, $i$1032 = 0, $i$11 = 0, $i$1125 = 0; - var $i$1128 = 0, $i$174 = 0, $i$177 = 0, $i$2 = 0, $i$269 = 0, $i$272 = 0, $i$3 = 0, $i$364 = 0, $i$367 = 0, $i$4 = 0, $i$459 = 0, $i$462 = 0, $i$5 = 0, $i$554 = 0, $i$557 = 0, $i$6 = 0, $i$649 = 0, $i$652 = 0, $i$7 = 0, $i$744 = 0; - var $i$747 = 0, $i$8 = 0, $i$839 = 0, $i$842 = 0, $i$9 = 0, $i$934 = 0, $i$937 = 0, $j$084 = 0, $req_comp$off = 0, $src$080 = 0, $src$1030 = 0, $src$1126 = 0, $src$175 = 0, $src$270 = 0, $src$365 = 0, $src$460 = 0, $src$555 = 0, $src$650 = 0, $src$745 = 0, $src$840 = 0; - var $src$935 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ($req_comp|0)==($img_n|0); - if ($0) { - $$0 = $data; - return ($$0|0); - } - $req_comp$off = (($req_comp) + -1)|0; - $1 = ($req_comp$off>>>0)<(4); - if (!($1)) { - ___assert_fail((18764|0),(17471|0),1353,(18795|0)); - // unreachable; - } - $2 = Math_imul($x, $req_comp)|0; - $3 = Math_imul($2, $y)|0; - $4 = (_stbi__malloc($3)|0); - $5 = ($4|0)==(0|0); - if ($5) { - _free($data); - _stbi__err(17401); - $$0 = 0; - return ($$0|0); - } - $6 = ($y|0)>(0); - L11: do { - if ($6) { - $7 = $img_n << 3; - $8 = (($7) + ($req_comp))|0; - $i$079 = (($x) + -1)|0; - $9 = ($i$079|0)>(-1); - $i$174 = (($x) + -1)|0; - $10 = ($i$174|0)>(-1); - $i$269 = (($x) + -1)|0; - $11 = ($i$269|0)>(-1); - $i$364 = (($x) + -1)|0; - $12 = ($i$364|0)>(-1); - $i$459 = (($x) + -1)|0; - $13 = ($i$459|0)>(-1); - $i$554 = (($x) + -1)|0; - $14 = ($i$554|0)>(-1); - $i$649 = (($x) + -1)|0; - $15 = ($i$649|0)>(-1); - $i$744 = (($x) + -1)|0; - $16 = ($i$744|0)>(-1); - $i$839 = (($x) + -1)|0; - $17 = ($i$839|0)>(-1); - $i$934 = (($x) + -1)|0; - $18 = ($i$934|0)>(-1); - $i$1029 = (($x) + -1)|0; - $19 = ($i$1029|0)>(-1); - $i$1125 = (($x) + -1)|0; - $20 = ($i$1125|0)>(-1); - $j$084 = 0; - L13: while(1) { - $21 = Math_imul($j$084, $x)|0; - $22 = Math_imul($21, $img_n)|0; - $23 = (($data) + ($22)|0); - $24 = Math_imul($21, $req_comp)|0; - $25 = (($4) + ($24)|0); - do { - switch ($8|0) { - case 10: { - if ($9) { - $dest$081 = $25;$i$082 = $i$079;$src$080 = $23; - while(1) { - $26 = HEAP8[$src$080>>0]|0; - HEAP8[$dest$081>>0] = $26; - $27 = ((($dest$081)) + 1|0); - HEAP8[$27>>0] = -1; - $28 = ((($src$080)) + 1|0); - $29 = ((($dest$081)) + 2|0); - $i$0 = (($i$082) + -1)|0; - $30 = ($i$0|0)>(-1); - if ($30) { - $dest$081 = $29;$i$082 = $i$0;$src$080 = $28; - } else { - break; - } - } - } - break; - } - case 11: { - if ($10) { - $dest$176 = $25;$i$177 = $i$174;$src$175 = $23; - while(1) { - $31 = HEAP8[$src$175>>0]|0; - $32 = ((($dest$176)) + 2|0); - HEAP8[$32>>0] = $31; - $33 = ((($dest$176)) + 1|0); - HEAP8[$33>>0] = $31; - HEAP8[$dest$176>>0] = $31; - $34 = ((($src$175)) + 1|0); - $35 = ((($dest$176)) + 3|0); - $i$1 = (($i$177) + -1)|0; - $36 = ($i$1|0)>(-1); - if ($36) { - $dest$176 = $35;$i$177 = $i$1;$src$175 = $34; - } else { - break; - } - } - } - break; - } - case 12: { - if ($11) { - $dest$271 = $25;$i$272 = $i$269;$src$270 = $23; - while(1) { - $37 = HEAP8[$src$270>>0]|0; - $38 = ((($dest$271)) + 2|0); - HEAP8[$38>>0] = $37; - $39 = ((($dest$271)) + 1|0); - HEAP8[$39>>0] = $37; - HEAP8[$dest$271>>0] = $37; - $40 = ((($dest$271)) + 3|0); - HEAP8[$40>>0] = -1; - $41 = ((($src$270)) + 1|0); - $42 = ((($dest$271)) + 4|0); - $i$2 = (($i$272) + -1)|0; - $43 = ($i$2|0)>(-1); - if ($43) { - $dest$271 = $42;$i$272 = $i$2;$src$270 = $41; - } else { - break; - } - } - } - break; - } - case 17: { - if ($12) { - $dest$366 = $25;$i$367 = $i$364;$src$365 = $23; - while(1) { - $44 = HEAP8[$src$365>>0]|0; - HEAP8[$dest$366>>0] = $44; - $45 = ((($src$365)) + 2|0); - $46 = ((($dest$366)) + 1|0); - $i$3 = (($i$367) + -1)|0; - $47 = ($i$3|0)>(-1); - if ($47) { - $dest$366 = $46;$i$367 = $i$3;$src$365 = $45; - } else { - break; - } - } - } - break; - } - case 19: { - if ($13) { - $dest$461 = $25;$i$462 = $i$459;$src$460 = $23; - while(1) { - $48 = HEAP8[$src$460>>0]|0; - $49 = ((($dest$461)) + 2|0); - HEAP8[$49>>0] = $48; - $50 = ((($dest$461)) + 1|0); - HEAP8[$50>>0] = $48; - HEAP8[$dest$461>>0] = $48; - $51 = ((($src$460)) + 2|0); - $52 = ((($dest$461)) + 3|0); - $i$4 = (($i$462) + -1)|0; - $53 = ($i$4|0)>(-1); - if ($53) { - $dest$461 = $52;$i$462 = $i$4;$src$460 = $51; - } else { - break; - } - } - } - break; - } - case 20: { - if ($14) { - $dest$556 = $25;$i$557 = $i$554;$src$555 = $23; - while(1) { - $54 = HEAP8[$src$555>>0]|0; - $55 = ((($dest$556)) + 2|0); - HEAP8[$55>>0] = $54; - $56 = ((($dest$556)) + 1|0); - HEAP8[$56>>0] = $54; - HEAP8[$dest$556>>0] = $54; - $57 = ((($src$555)) + 1|0); - $58 = HEAP8[$57>>0]|0; - $59 = ((($dest$556)) + 3|0); - HEAP8[$59>>0] = $58; - $60 = ((($src$555)) + 2|0); - $61 = ((($dest$556)) + 4|0); - $i$5 = (($i$557) + -1)|0; - $62 = ($i$5|0)>(-1); - if ($62) { - $dest$556 = $61;$i$557 = $i$5;$src$555 = $60; - } else { - break; - } - } - } - break; - } - case 28: { - if ($15) { - $dest$651 = $25;$i$652 = $i$649;$src$650 = $23; - while(1) { - $63 = HEAP8[$src$650>>0]|0; - HEAP8[$dest$651>>0] = $63; - $64 = ((($src$650)) + 1|0); - $65 = HEAP8[$64>>0]|0; - $66 = ((($dest$651)) + 1|0); - HEAP8[$66>>0] = $65; - $67 = ((($src$650)) + 2|0); - $68 = HEAP8[$67>>0]|0; - $69 = ((($dest$651)) + 2|0); - HEAP8[$69>>0] = $68; - $70 = ((($dest$651)) + 3|0); - HEAP8[$70>>0] = -1; - $71 = ((($src$650)) + 3|0); - $72 = ((($dest$651)) + 4|0); - $i$6 = (($i$652) + -1)|0; - $73 = ($i$6|0)>(-1); - if ($73) { - $dest$651 = $72;$i$652 = $i$6;$src$650 = $71; - } else { - break; - } - } - } - break; - } - case 25: { - if ($16) { - $dest$746 = $25;$i$747 = $i$744;$src$745 = $23; - while(1) { - $74 = HEAP8[$src$745>>0]|0; - $75 = $74&255; - $76 = ((($src$745)) + 1|0); - $77 = HEAP8[$76>>0]|0; - $78 = $77&255; - $79 = ((($src$745)) + 2|0); - $80 = HEAP8[$79>>0]|0; - $81 = $80&255; - $82 = (_stbi__compute_y($75,$78,$81)|0); - HEAP8[$dest$746>>0] = $82; - $83 = ((($src$745)) + 3|0); - $84 = ((($dest$746)) + 1|0); - $i$7 = (($i$747) + -1)|0; - $85 = ($i$7|0)>(-1); - if ($85) { - $dest$746 = $84;$i$747 = $i$7;$src$745 = $83; - } else { - break; - } - } - } - break; - } - case 26: { - if ($17) { - $dest$841 = $25;$i$842 = $i$839;$src$840 = $23; - while(1) { - $86 = HEAP8[$src$840>>0]|0; - $87 = $86&255; - $88 = ((($src$840)) + 1|0); - $89 = HEAP8[$88>>0]|0; - $90 = $89&255; - $91 = ((($src$840)) + 2|0); - $92 = HEAP8[$91>>0]|0; - $93 = $92&255; - $94 = (_stbi__compute_y($87,$90,$93)|0); - HEAP8[$dest$841>>0] = $94; - $95 = ((($dest$841)) + 1|0); - HEAP8[$95>>0] = -1; - $96 = ((($src$840)) + 3|0); - $97 = ((($dest$841)) + 2|0); - $i$8 = (($i$842) + -1)|0; - $98 = ($i$8|0)>(-1); - if ($98) { - $dest$841 = $97;$i$842 = $i$8;$src$840 = $96; - } else { - break; - } - } - } - break; - } - case 33: { - if ($18) { - $dest$936 = $25;$i$937 = $i$934;$src$935 = $23; - while(1) { - $99 = HEAP8[$src$935>>0]|0; - $100 = $99&255; - $101 = ((($src$935)) + 1|0); - $102 = HEAP8[$101>>0]|0; - $103 = $102&255; - $104 = ((($src$935)) + 2|0); - $105 = HEAP8[$104>>0]|0; - $106 = $105&255; - $107 = (_stbi__compute_y($100,$103,$106)|0); - HEAP8[$dest$936>>0] = $107; - $108 = ((($src$935)) + 4|0); - $109 = ((($dest$936)) + 1|0); - $i$9 = (($i$937) + -1)|0; - $110 = ($i$9|0)>(-1); - if ($110) { - $dest$936 = $109;$i$937 = $i$9;$src$935 = $108; - } else { - break; - } - } - } - break; - } - case 34: { - if ($19) { - $dest$1031 = $25;$i$1032 = $i$1029;$src$1030 = $23; - while(1) { - $111 = HEAP8[$src$1030>>0]|0; - $112 = $111&255; - $113 = ((($src$1030)) + 1|0); - $114 = HEAP8[$113>>0]|0; - $115 = $114&255; - $116 = ((($src$1030)) + 2|0); - $117 = HEAP8[$116>>0]|0; - $118 = $117&255; - $119 = (_stbi__compute_y($112,$115,$118)|0); - HEAP8[$dest$1031>>0] = $119; - $120 = ((($src$1030)) + 3|0); - $121 = HEAP8[$120>>0]|0; - $122 = ((($dest$1031)) + 1|0); - HEAP8[$122>>0] = $121; - $123 = ((($src$1030)) + 4|0); - $124 = ((($dest$1031)) + 2|0); - $i$10 = (($i$1032) + -1)|0; - $125 = ($i$10|0)>(-1); - if ($125) { - $dest$1031 = $124;$i$1032 = $i$10;$src$1030 = $123; - } else { - break; - } - } - } - break; - } - case 35: { - if ($20) { - $dest$1127 = $25;$i$1128 = $i$1125;$src$1126 = $23; - while(1) { - $126 = HEAP8[$src$1126>>0]|0; - HEAP8[$dest$1127>>0] = $126; - $127 = ((($src$1126)) + 1|0); - $128 = HEAP8[$127>>0]|0; - $129 = ((($dest$1127)) + 1|0); - HEAP8[$129>>0] = $128; - $130 = ((($src$1126)) + 2|0); - $131 = HEAP8[$130>>0]|0; - $132 = ((($dest$1127)) + 2|0); - HEAP8[$132>>0] = $131; - $133 = ((($src$1126)) + 4|0); - $134 = ((($dest$1127)) + 3|0); - $i$11 = (($i$1128) + -1)|0; - $135 = ($i$11|0)>(-1); - if ($135) { - $dest$1127 = $134;$i$1128 = $i$11;$src$1126 = $133; - } else { - break; - } - } - } - break; - } - default: { - break L13; - } - } - } while(0); - $136 = (($j$084) + 1)|0; - $137 = ($136|0)<($y|0); - if ($137) { - $j$084 = $136; - } else { - break L11; - } - } - ___assert_fail((18816|0),(17471|0),1382,(18795|0)); - // unreachable; - } - } while(0); - _free($data); - $$0 = $4; - return ($$0|0); -} -function _stbi__compute_y($r,$g,$b) { - $r = $r|0; - $g = $g|0; - $b = $b|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ($r*77)|0; - $1 = ($g*150)|0; - $2 = (($1) + ($0))|0; - $3 = ($b*29)|0; - $4 = (($2) + ($3))|0; - $5 = $4 >>> 8; - $6 = $5&255; - return ($6|0); -} -function _stbi__pic_load_core($s,$width,$height,$comp,$result) { - $s = $s|0; - $width = $width|0; - $height = $height|0; - $comp = $comp|0; - $result = $result|0; - var $$ = 0, $$0 = 0, $$lcssa108 = 0, $$lcssa111 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0; - var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0; - var $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0; - var $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0; - var $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $act_comp$0 = 0; - var $count3$0 = 0, $count3$1 = 0, $dest$038 = 0, $dest$135 = 0, $dest$2$lcssa = 0, $dest$230 = 0, $dest$327 = 0, $dest$425 = 0, $dest$523 = 0, $dest$6 = 0, $exitcond = 0, $exitcond57 = 0, $i$031 = 0, $i4$026 = 0, $i4$124 = 0, $left$036 = 0, $left2$028 = 0, $num_packets$0 = 0, $num_packets$0$lcssa105 = 0, $packet_idx$041 = 0; - var $packets = 0, $scevgep = 0, $scevgep56 = 0, $value = 0, $value5 = 0, $x$039 = 0, $y$044 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $packets = sp + 8|0; - $value = sp + 4|0; - $value5 = sp; - $act_comp$0 = 0;$num_packets$0 = 0; - while(1) { - $0 = ($num_packets$0|0)==(10); - if ($0) { - label = 3; - break; - } - $1 = (($num_packets$0) + 1)|0; - $2 = (_stbi__get8($s)|0); - $3 = (_stbi__get8($s)|0); - $4 = (($packets) + (($num_packets$0*3)|0)|0); - HEAP8[$4>>0] = $3; - $5 = (_stbi__get8($s)|0); - $6 = (((($packets) + (($num_packets$0*3)|0)|0)) + 1|0); - HEAP8[$6>>0] = $5; - $7 = (_stbi__get8($s)|0); - $8 = (((($packets) + (($num_packets$0*3)|0)|0)) + 2|0); - HEAP8[$8>>0] = $7; - $9 = $7&255; - $10 = $9 | $act_comp$0; - $11 = (_stbi__at_eof($s)|0); - $12 = ($11|0)==(0); - if (!($12)) { - label = 5; - break; - } - $13 = HEAP8[$4>>0]|0; - $14 = ($13<<24>>24)==(8); - if (!($14)) { - label = 7; - break; - } - $15 = ($2<<24>>24)==(0); - if ($15) { - $$lcssa108 = $1;$$lcssa111 = $10;$num_packets$0$lcssa105 = $num_packets$0; - label = 9; - break; - } else { - $act_comp$0 = $10;$num_packets$0 = $1; - } - } - if ((label|0) == 3) { - _stbi__err(18705); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - else if ((label|0) == 5) { - _stbi__err(18818); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - else if ((label|0) == 7) { - _stbi__err(18705); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - else if ((label|0) == 9) { - $16 = $$lcssa111 >>> 4; - $17 = $16 & 1; - $18 = (($17) + 3)|0; - HEAP32[$comp>>2] = $18; - $19 = ($height|0)>(0); - if (!($19)) { - $$0 = $result; - STACKTOP = sp;return ($$0|0); - } - $20 = ($num_packets$0$lcssa105|0)>(-1); - $21 = $width << 2; - $22 = ($width|0)>(0); - $23 = ($width|0)>(0); - $24 = ($width|0)>(0); - $y$044 = 0; - L13: while(1) { - L15: do { - if ($20) { - $25 = Math_imul($21, $y$044)|0; - $26 = (($result) + ($25)|0); - $packet_idx$041 = 0; - while(1) { - $27 = (((($packets) + (($packet_idx$041*3)|0)|0)) + 1|0); - $28 = HEAP8[$27>>0]|0; - $29 = $28&255; - switch ($29|0) { - case 0: { - if ($22) { - $33 = (((($packets) + (($packet_idx$041*3)|0)|0)) + 2|0); - $34 = HEAP8[$33>>0]|0; - $35 = $34&255; - $dest$038 = $26;$x$039 = 0; - while(1) { - $36 = (_stbi__readval($s,$35,$dest$038)|0); - $37 = ($36|0)==(0|0); - if ($37) { - $$0 = 0; - label = 52; - break L13; - } - $38 = (($x$039) + 1)|0; - $39 = ((($dest$038)) + 4|0); - $40 = ($38|0)<($width|0); - if ($40) { - $dest$038 = $39;$x$039 = $38; - } else { - break; - } - } - } - break; - } - case 1: { - if ($23) { - $32 = (((($packets) + (($packet_idx$041*3)|0)|0)) + 2|0); - $dest$135 = $26;$left$036 = $width; - while(1) { - $41 = (_stbi__get8($s)|0); - $42 = (_stbi__at_eof($s)|0); - $43 = ($42|0)==(0); - if (!($43)) { - label = 24; - break L13; - } - $44 = HEAP8[$32>>0]|0; - $45 = $44&255; - $46 = (_stbi__readval($s,$45,$value)|0); - $47 = ($46|0)==(0|0); - if ($47) { - $$0 = 0; - label = 52; - break L13; - } - $48 = $41&255; - $49 = ($48|0)>($left$036|0); - $50 = $left$036&255; - $$ = $49 ? $50 : $41; - $51 = $$&255; - $52 = ($$<<24>>24)==(0); - if ($52) { - $dest$2$lcssa = $dest$135; - } else { - $53 = $$&255; - $54 = $53 << 2; - $dest$230 = $dest$135;$i$031 = 0; - while(1) { - $55 = HEAP8[$32>>0]|0; - $56 = $55&255; - _stbi__copyval($56,$dest$230,$value); - $57 = (($i$031) + 1)|0; - $58 = ((($dest$230)) + 4|0); - $exitcond57 = ($57|0)==($53|0); - if ($exitcond57) { - break; - } else { - $dest$230 = $58;$i$031 = $57; - } - } - $scevgep56 = (($dest$135) + ($54)|0); - $dest$2$lcssa = $scevgep56; - } - $59 = (($left$036) - ($51))|0; - $60 = ($59|0)>(0); - if ($60) { - $dest$135 = $dest$2$lcssa;$left$036 = $59; - } else { - break; - } - } - } - break; - } - case 2: { - if ($24) { - $30 = (((($packets) + (($packet_idx$041*3)|0)|0)) + 2|0); - $31 = (((($packets) + (($packet_idx$041*3)|0)|0)) + 2|0); - $dest$327 = $26;$left2$028 = $width; - while(1) { - $61 = (_stbi__get8($s)|0); - $62 = $61&255; - $63 = (_stbi__at_eof($s)|0); - $64 = ($63|0)==(0); - if (!($64)) { - label = 32; - break L13; - } - $65 = ($61<<24>>24)<(0); - if ($65) { - $66 = ($61<<24>>24)==(-128); - if ($66) { - $67 = (_stbi__get16be($s)|0); - $count3$0 = $67; - } else { - $68 = (($62) + -127)|0; - $count3$0 = $68; - } - $69 = ($count3$0|0)>($left2$028|0); - if ($69) { - label = 38; - break L13; - } - $70 = HEAP8[$30>>0]|0; - $71 = $70&255; - $72 = (_stbi__readval($s,$71,$value5)|0); - $73 = ($72|0)==(0|0); - if ($73) { - $$0 = 0; - label = 52; - break L13; - } - $74 = ($count3$0|0)>(0); - if ($74) { - $75 = $count3$0 << 2; - $dest$425 = $dest$327;$i4$026 = 0; - while(1) { - $76 = HEAP8[$30>>0]|0; - $77 = $76&255; - _stbi__copyval($77,$dest$425,$value5); - $78 = (($i4$026) + 1)|0; - $79 = ((($dest$425)) + 4|0); - $exitcond = ($78|0)==($count3$0|0); - if ($exitcond) { - break; - } else { - $dest$425 = $79;$i4$026 = $78; - } - } - $scevgep = (($dest$327) + ($75)|0); - $count3$1 = $count3$0;$dest$6 = $scevgep; - } else { - $count3$1 = $count3$0;$dest$6 = $dest$327; - } - } else { - $80 = (($62) + 1)|0; - $81 = ($62|0)<($left2$028|0); - if (!($81)) { - label = 45; - break L13; - } - $82 = HEAP8[$31>>0]|0; - $83 = $82&255; - $dest$523 = $dest$327;$i4$124 = 0; - while(1) { - $84 = (_stbi__readval($s,$83,$dest$523)|0); - $85 = ($84|0)==(0|0); - if ($85) { - $$0 = 0; - label = 52; - break L13; - } - $86 = (($i4$124) + 1)|0; - $87 = ((($dest$523)) + 4|0); - $88 = ($86|0)<($80|0); - if ($88) { - $dest$523 = $87;$i4$124 = $86; - } else { - $count3$1 = $80;$dest$6 = $87; - break; - } - } - } - $89 = (($left2$028) - ($count3$1))|0; - $90 = ($89|0)>(0); - if ($90) { - $dest$327 = $dest$6;$left2$028 = $89; - } else { - break; - } - } - } - break; - } - default: { - label = 20; - break L13; - } - } - $91 = (($packet_idx$041) + 1)|0; - $92 = ($91|0)<($$lcssa108|0); - if ($92) { - $packet_idx$041 = $91; - } else { - break L15; - } - } - } - } while(0); - $93 = (($y$044) + 1)|0; - $94 = ($93|0)<($height|0); - if ($94) { - $y$044 = $93; - } else { - $$0 = $result; - label = 52; + L10: do { + if ((label|0) == 4) { + switch ($2|0) { + case 8: { + $10 = ((($4)) + 12|0); + HEAP32[$10>>2] = 4352; + $26 = $55; + break L10; break; } - } - if ((label|0) == 20) { - _stbi__err(18705); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - else if ((label|0) == 24) { - _stbi__err(18818); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - else if ((label|0) == 32) { - _stbi__err(18818); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - else if ((label|0) == 38) { - _stbi__err(18818); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - else if ((label|0) == 45) { - _stbi__err(18818); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - else if ((label|0) == 52) { - STACKTOP = sp;return ($$0|0); - } - } - return (0)|0; -} -function _stbi__readval($s,$channel,$dest) { - $s = $s|0; - $channel = $channel|0; - $dest = $dest|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $3 = 0, $4 = 0, $5 = 0; - var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = $channel & 128; - $1 = ($0|0)==(0); - if ($1) { - label = 5; - } else { - $2 = (_stbi__at_eof($s)|0); - $3 = ($2|0)==(0); - if ($3) { - $4 = (_stbi__get8($s)|0); - HEAP8[$dest>>0] = $4; - label = 5; - } - } - do { - if ((label|0) == 5) { - $5 = $channel & 64; - $6 = ($5|0)==(0); - if (!($6)) { - $7 = (_stbi__at_eof($s)|0); - $8 = ($7|0)==(0); - if (!($8)) { - break; - } - $9 = (_stbi__get8($s)|0); - $10 = ((($dest)) + 1|0); - HEAP8[$10>>0] = $9; - } - $11 = $channel & 32; - $12 = ($11|0)==(0); - if (!($12)) { - $13 = (_stbi__at_eof($s)|0); - $14 = ($13|0)==(0); - if (!($14)) { - break; - } - $15 = (_stbi__get8($s)|0); - $16 = ((($dest)) + 2|0); - HEAP8[$16>>0] = $15; - } - $17 = $channel & 16; - $18 = ($17|0)==(0); - if ($18) { - $$0 = $dest; - return ($$0|0); - } - $19 = (_stbi__at_eof($s)|0); - $20 = ($19|0)==(0); - if ($20) { - $21 = (_stbi__get8($s)|0); - $22 = ((($dest)) + 3|0); - HEAP8[$22>>0] = $21; - $$0 = $dest; - return ($$0|0); - } - } - } while(0); - _stbi__err(18818); - $$0 = 0; - return ($$0|0); -} -function _stbi__copyval($channel,$dest,$src) { - $channel = $channel|0; - $dest = $dest|0; - $src = $src|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = $channel & 128; - $1 = ($0|0)==(0); - if (!($1)) { - $2 = HEAP8[$src>>0]|0; - HEAP8[$dest>>0] = $2; - } - $3 = $channel & 64; - $4 = ($3|0)==(0); - if (!($4)) { - $5 = ((($src)) + 1|0); - $6 = HEAP8[$5>>0]|0; - $7 = ((($dest)) + 1|0); - HEAP8[$7>>0] = $6; - } - $8 = $channel & 32; - $9 = ($8|0)==(0); - if (!($9)) { - $10 = ((($src)) + 2|0); - $11 = HEAP8[$10>>0]|0; - $12 = ((($dest)) + 2|0); - HEAP8[$12>>0] = $11; - } - $13 = $channel & 16; - $14 = ($13|0)==(0); - if ($14) { - return; - } - $15 = ((($src)) + 3|0); - $16 = HEAP8[$15>>0]|0; - $17 = ((($dest)) + 3|0); - HEAP8[$17>>0] = $16; - return; -} -function _stbi__pic_test_core($s) { - $s = $s|0; - var $$ = 0, $$0 = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $exitcond = 0, $i$01 = 0, $not$ = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_stbi__pic_is4($s,17100)|0); - $1 = ($0|0)==(0); - if ($1) { - $$0 = 0; - return ($$0|0); - } else { - $i$01 = 0; - } - while(1) { - (_stbi__get8($s)|0); - $2 = (($i$01) + 1)|0; - $exitcond = ($2|0)==(84); - if ($exitcond) { - break; - } else { - $i$01 = $2; - } - } - $3 = (_stbi__pic_is4($s,18827)|0); - $not$ = ($3|0)!=(0); - $$ = $not$&1; - $$0 = $$; - return ($$0|0); -} -function _stbi__gif_load_next($s,$g,$comp) { - $s = $s|0; - $g = $g|0; - $comp = $comp|0; - var $$0 = 0, $$pr = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0; - var $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0; - var $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0; - var $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; - var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0; - var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0; - var $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0; - var $99 = 0, $i$02 = 0, $prev_trans$0 = 0, $prev_trans$1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($g)) + 8|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)==(0|0); - do { - if ($2) { - $3 = (_stbi__gif_header($s,$g,$comp,0)|0); - $4 = ($3|0)==(0); - if ($4) { - $$0 = 0; - return ($$0|0); - } else { - $$pr = HEAP32[$0>>2]|0; - $20 = $$pr; + case 16: { + $11 = ((($4)) + 12|0); + HEAP32[$11>>2] = 4353; + $26 = $55; + break L10; break; } - } else { - $20 = $1; - } - } while(0); - $5 = HEAP32[$g>>2]|0; - $6 = $5 << 2; - $7 = ((($g)) + 4|0); - $8 = HEAP32[$7>>2]|0; - $9 = Math_imul($6, $8)|0; - $10 = (_stbi__malloc($9)|0); - HEAP32[$0>>2] = $10; - $11 = ($10|0)==(0|0); - if ($11) { - _stbi__err(17401); - $$0 = 0; - return ($$0|0); - } - $12 = ((($g)) + 32|0); - $13 = HEAP32[$12>>2]|0; - $14 = $13 >>> 2; - $15 = $14 & 7; - switch ($15|0) { - case 0: { - $16 = HEAP32[$g>>2]|0; - $17 = $16 << 2; - $18 = HEAP32[$7>>2]|0; - $19 = Math_imul($17, $18)|0; - _stbi__fill_gif_background($g,0,0,$17,$19); - break; - } - case 1: { - $21 = ($20|0)==(0|0); - if (!($21)) { - $22 = HEAP32[$g>>2]|0; - $23 = $22 << 2; - $24 = HEAP32[$7>>2]|0; - $25 = Math_imul($23, $24)|0; - _memcpy(($10|0),($20|0),($25|0))|0; - } - $26 = ((($g)) + 12|0); - HEAP32[$26>>2] = $20; - break; - } - case 2: { - $27 = ($20|0)==(0|0); - if (!($27)) { - $28 = HEAP32[$g>>2]|0; - $29 = $28 << 2; - $30 = HEAP32[$7>>2]|0; - $31 = Math_imul($29, $30)|0; - _memcpy(($10|0),($20|0),($31|0))|0; - } - $32 = ((($g)) + 18488|0); - $33 = HEAP32[$32>>2]|0; - $34 = ((($g)) + 18492|0); - $35 = HEAP32[$34>>2]|0; - $36 = ((($g)) + 18496|0); - $37 = HEAP32[$36>>2]|0; - $38 = ((($g)) + 18500|0); - $39 = HEAP32[$38>>2]|0; - _stbi__fill_gif_background($g,$33,$35,$37,$39); - break; - } - case 3: { - $40 = ((($g)) + 12|0); - $41 = HEAP32[$40>>2]|0; - $42 = ($41|0)==(0|0); - if (!($42)) { - $45 = ((($g)) + 18492|0); - $46 = HEAP32[$45>>2]|0; - $47 = ((($g)) + 18500|0); - $48 = HEAP32[$47>>2]|0; - $49 = ($46|0)<($48|0); - if ($49) { - $50 = ((($g)) + 18488|0); - $51 = ((($g)) + 18496|0); - $i$02 = $46; - while(1) { - $52 = HEAP32[$50>>2]|0; - $53 = (($52) + ($i$02))|0; - $54 = HEAP32[$0>>2]|0; - $55 = (($54) + ($53)|0); - $56 = HEAP32[$40>>2]|0; - $57 = (($56) + ($53)|0); - $58 = HEAP32[$51>>2]|0; - $59 = (($58) - ($52))|0; - _memcpy(($55|0),($57|0),($59|0))|0; - $60 = HEAP32[$g>>2]|0; - $61 = $60 << 2; - $62 = (($61) + ($i$02))|0; - $63 = HEAP32[$47>>2]|0; - $64 = ($62|0)<($63|0); - if ($64) { - $i$02 = $62; - } else { - break; - } - } - } - } - break; - } - default: { - } - } - $43 = ((($g)) + 36|0); - $44 = ((($g)) + 28|0); - L27: while(1) { - $65 = (_stbi__get8($s)|0); - $66 = $65&255; - switch ($66|0) { - case 44: { - label = 20; - break L27; - break; - } - case 59: { - label = 45; - break L27; - break; - } - case 33: { - break; - } - default: { - label = 46; - break L27; - } - } - $143 = (_stbi__get8($s)|0); - $144 = ($143<<24>>24)==(-7); - do { - if ($144) { - $147 = (_stbi__get8($s)|0); - $148 = ($147<<24>>24)==(4); - if ($148) { - $149 = (_stbi__get8($s)|0); - $150 = $149&255; - HEAP32[$12>>2] = $150; - $151 = (_stbi__get16le($s)|0); - HEAP32[$43>>2] = $151; - $152 = (_stbi__get8($s)|0); - $153 = $152&255; - HEAP32[$44>>2] = $153; - break; - } else { - $154 = $147&255; - _stbi__skip($s,$154); - continue L27; - } - } - } while(0); - $145 = (_stbi__get8($s)|0); - $146 = ($145<<24>>24)==(0); - if ($146) { - continue; - } else { - $156 = $145; - } - while(1) { - $155 = $156&255; - _stbi__skip($s,$155); - $157 = (_stbi__get8($s)|0); - $158 = ($157<<24>>24)==(0); - if ($158) { - continue L27; - } else { - $156 = $157; - } - } - } - if ((label|0) == 20) { - $67 = (_stbi__get16le($s)|0); - $68 = (_stbi__get16le($s)|0); - $69 = (_stbi__get16le($s)|0); - $70 = (_stbi__get16le($s)|0); - $71 = (($69) + ($67))|0; - $72 = HEAP32[$g>>2]|0; - $73 = ($71|0)>($72|0); - if (!($73)) { - $74 = (($70) + ($68))|0; - $75 = HEAP32[$7>>2]|0; - $76 = ($74|0)>($75|0); - if (!($76)) { - $77 = $72 << 2; - $78 = ((($g)) + 18512|0); - HEAP32[$78>>2] = $77; - $79 = $67 << 2; - $80 = ((($g)) + 18488|0); - HEAP32[$80>>2] = $79; - $81 = HEAP32[$78>>2]|0; - $82 = Math_imul($81, $68)|0; - $83 = ((($g)) + 18492|0); - HEAP32[$83>>2] = $82; - $84 = HEAP32[$80>>2]|0; - $85 = $69 << 2; - $86 = (($84) + ($85))|0; - $87 = ((($g)) + 18496|0); - HEAP32[$87>>2] = $86; - $88 = HEAP32[$83>>2]|0; - $89 = HEAP32[$78>>2]|0; - $90 = Math_imul($89, $70)|0; - $91 = (($90) + ($88))|0; - $92 = ((($g)) + 18500|0); - HEAP32[$92>>2] = $91; - $93 = HEAP32[$80>>2]|0; - $94 = ((($g)) + 18504|0); - HEAP32[$94>>2] = $93; - $95 = HEAP32[$83>>2]|0; - $96 = ((($g)) + 18508|0); - HEAP32[$96>>2] = $95; - $97 = (_stbi__get8($s)|0); - $98 = $97&255; - $99 = ((($g)) + 18484|0); - HEAP32[$99>>2] = $98; - $100 = $98 & 64; - $101 = ($100|0)==(0); - $102 = HEAP32[$78>>2]|0; - if ($101) { - $106 = ((($g)) + 18480|0); - HEAP32[$106>>2] = $102; - $107 = ((($g)) + 18476|0); - HEAP32[$107>>2] = 0; - } else { - $103 = $102 << 3; - $104 = ((($g)) + 18480|0); - HEAP32[$104>>2] = $103; - $105 = ((($g)) + 18476|0); - HEAP32[$105>>2] = 3; - } - $108 = HEAP32[$99>>2]|0; - $109 = $108 & 128; - $110 = ($109|0)==(0); - if ($110) { - $121 = ((($g)) + 16|0); - $122 = HEAP32[$121>>2]|0; - $123 = $122 & 128; - $124 = ($123|0)==(0); - if ($124) { - _stbi__err(18936); - $$0 = 0; - return ($$0|0); - } - $125 = ((($g)) + 28|0); - $126 = HEAP32[$125>>2]|0; - $127 = ($126|0)>(-1); - if ($127) { - $128 = HEAP32[$12>>2]|0; - $129 = $128 & 1; - $130 = ($129|0)==(0); - if ($130) { - $prev_trans$0 = -1; - } else { - $131 = (((((($g)) + 40|0) + ($126<<2)|0)) + 3|0); - $132 = HEAP8[$131>>0]|0; - $133 = $132&255; - HEAP8[$131>>0] = 0; - $prev_trans$0 = $133; - } - } else { - $prev_trans$0 = -1; - } - $134 = ((($g)) + 40|0); - $135 = ((($g)) + 18472|0); - HEAP32[$135>>2] = $134; - $prev_trans$1 = $prev_trans$0; - } else { - $111 = ((($g)) + 1064|0); - $112 = $108 & 7; - $113 = 2 << $112; - $114 = HEAP32[$12>>2]|0; - $115 = $114 & 1; - $116 = ($115|0)==(0); - if ($116) { - $119 = -1; - } else { - $117 = ((($g)) + 28|0); - $118 = HEAP32[$117>>2]|0; - $119 = $118; - } - _stbi__gif_parse_colortable($s,$111,$113,$119); - $120 = ((($g)) + 18472|0); - HEAP32[$120>>2] = $111; - $prev_trans$1 = -1; - } - $136 = (_stbi__process_gif_raster($s,$g)|0); - $137 = ($136|0)==(0|0); - if ($137) { - $$0 = 0; - return ($$0|0); - } - $138 = ($prev_trans$1|0)==(-1); - if ($138) { - $$0 = $136; - return ($$0|0); - } - $139 = $prev_trans$1&255; - $140 = ((($g)) + 28|0); - $141 = HEAP32[$140>>2]|0; - $142 = (((((($g)) + 40|0) + ($141<<2)|0)) + 3|0); - HEAP8[$142>>0] = $139; - $$0 = $136; - return ($$0|0); - } - } - _stbi__err(18915); - $$0 = 0; - return ($$0|0); - } - else if ((label|0) == 45) { - $$0 = $s; - return ($$0|0); - } - else if ((label|0) == 46) { - _stbi__err(18956); - $$0 = 0; - return ($$0|0); - } - return (0)|0; -} -function _stbi__fill_gif_background($g,$x0,$y0,$x1,$y1) { - $g = $g|0; - $x0 = $x0|0; - $y0 = $y0|0; - $x1 = $x1|0; - $y1 = $y1|0; - var $$sum = 0, $$sum1 = 0, $$sum2 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $3 = 0; - var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $x$03 = 0, $y$04 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($g)) + 20|0); - $1 = HEAP32[$0>>2]|0; - $2 = (((($g)) + 40|0) + ($1<<2)|0); - $3 = ($y0|0)<($y1|0); - if (!($3)) { - return; - } - $4 = ($x0|0)<($x1|0); - $5 = ((($g)) + 8|0); - $6 = (((((($g)) + 40|0) + ($1<<2)|0)) + 2|0); - $7 = (((((($g)) + 40|0) + ($1<<2)|0)) + 1|0); - $y$04 = $y0; - while(1) { - if ($4) { - $x$03 = $x0; - while(1) { - $8 = (($x$03) + ($y$04))|0; - $9 = HEAP32[$5>>2]|0; - $10 = (($9) + ($8)|0); - $11 = HEAP8[$6>>0]|0; - HEAP8[$10>>0] = $11; - $12 = HEAP8[$7>>0]|0; - $$sum = (($8) + 1)|0; - $13 = (($9) + ($$sum)|0); - HEAP8[$13>>0] = $12; - $14 = HEAP8[$2>>0]|0; - $$sum1 = (($8) + 2)|0; - $15 = (($9) + ($$sum1)|0); - HEAP8[$15>>0] = $14; - $$sum2 = (($8) + 3)|0; - $16 = (($9) + ($$sum2)|0); - HEAP8[$16>>0] = 0; - $17 = (($x$03) + 4)|0; - $18 = ($17|0)<($x1|0); - if ($18) { - $x$03 = $17; - } else { - break; - } - } - } - $19 = HEAP32[$g>>2]|0; - $20 = $19 << 2; - $21 = (($20) + ($y$04))|0; - $22 = ($21|0)<($y1|0); - if ($22) { - $y$04 = $21; - } else { - break; - } - } - return; -} -function _stbi__process_gif_raster($s,$g) { - $s = $s|0; - $g = $g|0; - var $$0 = 0, $$sink = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; - var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0; - var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $avail$0$ph = 0; - var $avail$0$ph7 = 0, $avail$1 = 0, $bits$0$lcssa = 0, $bits$0$ph = 0, $bits$0$ph3 = 0, $bits$0$ph9 = 0, $bits$040 = 0, $codemask$0$ph = 0, $codemask$0$ph$in = 0, $codesize$0$ph = 0, $codesize$0$ph$in = 0, $first$0$ph = 0, $init_code$047 = 0, $len$0$lcssa = 0, $len$0$lcssa$lcssa169 = 0, $len$0$ph = 0, $len$0$ph11 = 0, $len$0$ph5 = 0, $len$042 = 0, $len$1 = 0; - var $oldcode$0$ph = 0, $oldcode$0$ph8 = 0, $or$cond = 0, $valid_bits$0$lcssa = 0, $valid_bits$0$ph = 0, $valid_bits$0$ph10 = 0, $valid_bits$0$ph4 = 0, $valid_bits$041 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_stbi__get8($s)|0); - $1 = $0&255; - $2 = ($0&255)>(12); - if ($2) { - $$0 = 0; - return ($$0|0); - } - $3 = 1 << $1; - $init_code$047 = 0; - while(1) { - $4 = (((($g)) + 2088|0) + ($init_code$047<<2)|0); - HEAP16[$4>>1] = -1; - $5 = $init_code$047&255; - $6 = (((((($g)) + 2088|0) + ($init_code$047<<2)|0)) + 2|0); - HEAP8[$6>>0] = $5; - $7 = (((((($g)) + 2088|0) + ($init_code$047<<2)|0)) + 3|0); - HEAP8[$7>>0] = $5; - $8 = (($init_code$047) + 1)|0; - $9 = ($8|0)<($3|0); - if ($9) { - $init_code$047 = $8; - } else { - break; - } - } - $10 = (($3) + 2)|0; - $11 = (($3) + 1)|0; - $bits$0$ph = 0;$first$0$ph = 0;$len$0$ph = 0;$valid_bits$0$ph = 0; - L7: while(1) { - $avail$0$ph = $10;$bits$0$ph3 = $bits$0$ph;$codesize$0$ph$in = $1;$len$0$ph5 = $len$0$ph;$oldcode$0$ph = -1;$valid_bits$0$ph4 = $valid_bits$0$ph; - L9: while(1) { - $codesize$0$ph = (($codesize$0$ph$in) + 1)|0; - $codemask$0$ph$in = 1 << $codesize$0$ph; - $codemask$0$ph = (($codemask$0$ph$in) + -1)|0; - $avail$0$ph7 = $avail$0$ph;$bits$0$ph9 = $bits$0$ph3;$len$0$ph11 = $len$0$ph5;$oldcode$0$ph8 = $oldcode$0$ph;$valid_bits$0$ph10 = $valid_bits$0$ph4; - while(1) { - $12 = ($valid_bits$0$ph10|0)<($codesize$0$ph|0); - if ($12) { - $bits$040 = $bits$0$ph9;$len$042 = $len$0$ph11;$valid_bits$041 = $valid_bits$0$ph10; - while(1) { - $13 = ($len$042|0)==(0); - if ($13) { - $14 = (_stbi__get8($s)|0); - $15 = $14&255; - $16 = ($14<<24>>24)==(0); - if ($16) { - label = 10; - break L7; - } else { - $len$1 = $15; - } - } else { - $len$1 = $len$042; - } - $19 = (($len$1) + -1)|0; - $20 = (_stbi__get8($s)|0); - $21 = $20&255; - $22 = $21 << $valid_bits$041; - $23 = $22 | $bits$040; - $24 = (($valid_bits$041) + 8)|0; - $25 = ($24|0)<($codesize$0$ph|0); - if ($25) { - $bits$040 = $23;$len$042 = $19;$valid_bits$041 = $24; - } else { - $bits$0$lcssa = $23;$len$0$lcssa = $19;$valid_bits$0$lcssa = $24; - break; - } - } - } else { - $bits$0$lcssa = $bits$0$ph9;$len$0$lcssa = $len$0$ph11;$valid_bits$0$lcssa = $valid_bits$0$ph10; - } - $26 = $bits$0$lcssa & $codemask$0$ph; - $27 = $bits$0$lcssa >> $codesize$0$ph; - $28 = (($valid_bits$0$lcssa) - ($codesize$0$ph))|0; - $29 = ($26|0)==($3|0); - if ($29) { - $bits$0$ph = $27;$first$0$ph = 1;$len$0$ph = $len$0$lcssa;$valid_bits$0$ph = $28; - continue L7; - } - $30 = ($26|0)==($11|0); - if ($30) { - $len$0$lcssa$lcssa169 = $len$0$lcssa; - label = 14; - break L7; - } - $39 = ($26|0)>($avail$0$ph7|0); - if ($39) { - label = 29; - break L7; - } - if (!($first$0$ph)) { - label = 19; - break L7; - } - $40 = ($oldcode$0$ph8|0)>(-1); - if ($40) { - $41 = (($avail$0$ph7) + 1)|0; - $42 = ($avail$0$ph7|0)>(4095); - if ($42) { - label = 22; - break L7; - } - $43 = $oldcode$0$ph8&65535; - $44 = (((($g)) + 2088|0) + ($avail$0$ph7<<2)|0); - HEAP16[$44>>1] = $43; - $45 = (((((($g)) + 2088|0) + ($oldcode$0$ph8<<2)|0)) + 2|0); - $46 = HEAP8[$45>>0]|0; - $47 = (((((($g)) + 2088|0) + ($avail$0$ph7<<2)|0)) + 2|0); - HEAP8[$47>>0] = $46; - $48 = ($26|0)==($41|0); - if ($48) { - $$sink = $46; - } else { - $49 = (((((($g)) + 2088|0) + ($26<<2)|0)) + 2|0); - $50 = HEAP8[$49>>0]|0; - $$sink = $50; - } - $51 = (((((($g)) + 2088|0) + ($avail$0$ph7<<2)|0)) + 3|0); - HEAP8[$51>>0] = $$sink; - $avail$1 = $41; - } else { - $52 = ($26|0)==($avail$0$ph7|0); - if ($52) { - label = 27; - break L7; - } else { - $avail$1 = $avail$0$ph7; - } - } - $53 = $26&65535; - _stbi__out_gif_code($g,$53); - $54 = $avail$1 & $codemask$0$ph; - $55 = ($54|0)==(0); - $56 = ($avail$1|0)<(4096); - $or$cond = $56 & $55; - if ($or$cond) { - $avail$0$ph = $avail$1;$bits$0$ph3 = $27;$codesize$0$ph$in = $codesize$0$ph;$len$0$ph5 = $len$0$lcssa;$oldcode$0$ph = $26;$valid_bits$0$ph4 = $28; - continue L9; - } else { - $avail$0$ph7 = $avail$1;$bits$0$ph9 = $27;$len$0$ph11 = $len$0$lcssa;$oldcode$0$ph8 = $26;$valid_bits$0$ph10 = $28; - } - } - } - } - if ((label|0) == 10) { - $17 = ((($g)) + 8|0); - $18 = HEAP32[$17>>2]|0; - $$0 = $18; - return ($$0|0); - } - else if ((label|0) == 14) { - _stbi__skip($s,$len$0$lcssa$lcssa169); - $31 = (_stbi__get8($s)|0); - $32 = ($31<<24>>24)==(0); - if (!($32)) { - $34 = $31; - while(1) { - $33 = $34&255; - _stbi__skip($s,$33); - $35 = (_stbi__get8($s)|0); - $36 = ($35<<24>>24)==(0); - if ($36) { - break; - } else { - $34 = $35; - } - } - } - $37 = ((($g)) + 8|0); - $38 = HEAP32[$37>>2]|0; - $$0 = $38; - return ($$0|0); - } - else if ((label|0) == 19) { - _stbi__err(18969); - $$0 = 0; - return ($$0|0); - } - else if ((label|0) == 22) { - _stbi__err(18983); - $$0 = 0; - return ($$0|0); - } - else if ((label|0) == 27) { - _stbi__err(18998); - $$0 = 0; - return ($$0|0); - } - else if ((label|0) == 29) { - _stbi__err(18998); - $$0 = 0; - return ($$0|0); - } - return (0)|0; -} -function _stbi__out_gif_code($g,$code) { - $g = $g|0; - $code = $code|0; - var $$pr = 0, $$sum = 0, $$sum1 = 0, $$sum2 = 0, $$sum3 = 0, $$sum4 = 0, $$sum5 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0; - var $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0; - var $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0; - var $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = $code&65535; - $1 = (((($g)) + 2088|0) + ($0<<2)|0); - $2 = HEAP16[$1>>1]|0; - $3 = ($2<<16>>16)>(-1); - if ($3) { - _stbi__out_gif_code($g,$2); - } - $4 = ((($g)) + 18508|0); - $5 = HEAP32[$4>>2]|0; - $6 = ((($g)) + 18500|0); - $7 = HEAP32[$6>>2]|0; - $8 = ($5|0)<($7|0); - if (!($8)) { - return; - } - $9 = ((($g)) + 18504|0); - $10 = HEAP32[$9>>2]|0; - $11 = (($10) + ($5))|0; - $12 = ((($g)) + 8|0); - $13 = HEAP32[$12>>2]|0; - $14 = (((((($g)) + 2088|0) + ($0<<2)|0)) + 3|0); - $15 = HEAP8[$14>>0]|0; - $16 = $15&255; - $17 = $16 << 2; - $18 = ((($g)) + 18472|0); - $19 = HEAP32[$18>>2]|0; - $$sum1 = $17 | 3; - $20 = (($19) + ($$sum1)|0); - $21 = HEAP8[$20>>0]|0; - $22 = ($21<<24>>24)<(0); - if ($22) { - $23 = (($19) + ($17)|0); - $24 = (($13) + ($11)|0); - $$sum2 = $17 | 2; - $25 = (($19) + ($$sum2)|0); - $26 = HEAP8[$25>>0]|0; - HEAP8[$24>>0] = $26; - $$sum3 = $17 | 1; - $27 = (($19) + ($$sum3)|0); - $28 = HEAP8[$27>>0]|0; - $$sum = (($11) + 1)|0; - $29 = (($13) + ($$sum)|0); - HEAP8[$29>>0] = $28; - $30 = HEAP8[$23>>0]|0; - $$sum4 = (($11) + 2)|0; - $31 = (($13) + ($$sum4)|0); - HEAP8[$31>>0] = $30; - $32 = HEAP8[$20>>0]|0; - $$sum5 = (($11) + 3)|0; - $33 = (($13) + ($$sum5)|0); - HEAP8[$33>>0] = $32; - } - $34 = HEAP32[$9>>2]|0; - $35 = (($34) + 4)|0; - HEAP32[$9>>2] = $35; - $36 = ((($g)) + 18496|0); - $37 = HEAP32[$36>>2]|0; - $38 = ($35|0)<($37|0); - if ($38) { - return; - } - $39 = ((($g)) + 18488|0); - $40 = HEAP32[$39>>2]|0; - HEAP32[$9>>2] = $40; - $41 = ((($g)) + 18480|0); - $42 = HEAP32[$41>>2]|0; - $43 = HEAP32[$4>>2]|0; - $44 = (($43) + ($42))|0; - HEAP32[$4>>2] = $44; - $45 = ((($g)) + 18476|0); - $46 = HEAP32[$6>>2]|0; - $47 = ($44|0)<($46|0); - if ($47) { - return; - } - $48 = ((($g)) + 18512|0); - $49 = ((($g)) + 18492|0); - $$pr = HEAP32[$45>>2]|0; - $50 = $$pr; - while(1) { - $51 = ($50|0)>(0); - if (!($51)) { - label = 11; - break; - } - $52 = HEAP32[$48>>2]|0; - $53 = $52 << $50; - HEAP32[$41>>2] = $53; - $54 = HEAP32[$49>>2]|0; - $55 = $53 >> 1; - $56 = (($55) + ($54))|0; - HEAP32[$4>>2] = $56; - $57 = HEAP32[$45>>2]|0; - $58 = (($57) + -1)|0; - HEAP32[$45>>2] = $58; - $59 = HEAP32[$4>>2]|0; - $60 = HEAP32[$6>>2]|0; - $61 = ($59|0)<($60|0); - if ($61) { - label = 11; - break; - } else { - $50 = $58; - } - } - if ((label|0) == 11) { - return; - } -} -function _stbi__gif_test_raw($s) { - $s = $s|0; - var $$ = 0, $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_stbi__get8($s)|0); - $1 = ($0<<24>>24)==(71); - L1: do { - if ($1) { - $2 = (_stbi__get8($s)|0); - $3 = ($2<<24>>24)==(73); - if ($3) { - $4 = (_stbi__get8($s)|0); - $5 = ($4<<24>>24)==(70); - if ($5) { - $6 = (_stbi__get8($s)|0); - $7 = ($6<<24>>24)==(56); - if ($7) { - $8 = (_stbi__get8($s)|0); - switch ($8<<24>>24) { - case 55: case 57: { - break; - } - default: { - $$0 = 0; - break L1; - } - } - $9 = (_stbi__get8($s)|0); - $10 = ($9<<24>>24)==(97); - $$ = $10&1; - $$0 = $$; - } else { - $$0 = 0; - } - } else { - $$0 = 0; - } - } else { - $$0 = 0; - } - } else { - $$0 = 0; - } - } while(0); - return ($$0|0); -} -function _stbi__high_bit($z) { - $z = $z|0; - var $$ = 0, $$01 = 0, $$1 = 0, $$2 = 0, $$3 = 0, $$n$3 = 0, $$z = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; - var $9 = 0, $n$1 = 0, $n$2 = 0, $n$3 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ($z|0)==(0); - if ($0) { - $$01 = -1; - return ($$01|0); - } - $1 = ($z>>>0)>(65535); - $2 = $z >>> 16; - $$z = $1 ? $2 : $z; - $$ = $1 ? 16 : 0; - $3 = ($$z>>>0)>(255); - $4 = $$ | 8; - $5 = $$z >>> 8; - $$1 = $3 ? $5 : $$z; - $n$1 = $3 ? $4 : $$; - $6 = ($$1>>>0)>(15); - $7 = $n$1 | 4; - $8 = $$1 >>> 4; - $$2 = $6 ? $8 : $$1; - $n$2 = $6 ? $7 : $n$1; - $9 = ($$2>>>0)>(3); - $10 = $n$2 | 2; - $11 = $$2 >>> 2; - $$3 = $9 ? $11 : $$2; - $n$3 = $9 ? $10 : $n$2; - $12 = ($$3>>>0)>(1); - $13 = $12&1; - $$n$3 = (($13) + ($n$3))|0; - $$01 = $$n$3; - return ($$01|0); -} -function _stbi__bitcount($a) { - $a = $a|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = $a & 1431655765; - $1 = $a >>> 1; - $2 = $1 & 1431655765; - $3 = (($2) + ($0))|0; - $4 = $3 & 858993459; - $5 = $3 >>> 2; - $6 = $5 & 858993459; - $7 = (($6) + ($4))|0; - $8 = $7 >>> 4; - $9 = (($8) + ($7))|0; - $10 = $9 & 252645135; - $11 = $10 >>> 8; - $12 = (($11) + ($10))|0; - $13 = $12 >>> 16; - $14 = (($13) + ($12))|0; - $15 = $14 & 255; - return ($15|0); -} -function _stbi__shiftsigned($v,$shift,$bits) { - $v = $v|0; - $shift = $shift|0; - $bits = $bits|0; - var $$0 = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $result$0$lcssa = 0, $result$01 = 0, $z$02 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ($shift|0)<(0); - $1 = (0 - ($shift))|0; - $2 = $v << $1; - $3 = $v >> $shift; - $$0 = $0 ? $2 : $3; - $4 = ($bits|0)<(8); - if ($4) { - $result$01 = $$0;$z$02 = $bits; - } else { - $result$0$lcssa = $$0; - return ($result$0$lcssa|0); - } - while(1) { - $5 = $$0 >> $z$02; - $6 = (($5) + ($result$01))|0; - $7 = (($z$02) + ($bits))|0; - $8 = ($7|0)<(8); - if ($8) { - $result$01 = $6;$z$02 = $7; - } else { - $result$0$lcssa = $6; - break; - } - } - return ($result$0$lcssa|0); -} -function _stbi__bmp_test_raw($s) { - $s = $s|0; - var $$0 = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_stbi__get8($s)|0); - $1 = ($0<<24>>24)==(66); - if (!($1)) { - $$0 = 0; - return ($$0|0); - } - $2 = (_stbi__get8($s)|0); - $3 = ($2<<24>>24)==(77); - if (!($3)) { - $$0 = 0; - return ($$0|0); - } - (_stbi__get32le($s)|0); - (_stbi__get16le($s)|0); - (_stbi__get16le($s)|0); - (_stbi__get32le($s)|0); - $4 = (_stbi__get32le($s)|0); - switch ($4|0) { - case 124: case 12: case 40: case 56: case 108: { - $$0 = 1; - return ($$0|0); - break; - } - default: { - } - } - $$0 = 0; - return ($$0|0); -} -function _stbi__do_png($p,$x,$y,$n,$req_comp) { - $p = $p|0; - $x = $x|0; - $y = $y|0; - $n = $n|0; - $req_comp = $req_comp|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $result$0 = 0, $result$1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ($req_comp>>>0)>(4); - if ($0) { - _stbi__err(19047); - $$0 = 0; - return ($$0|0); - } - $1 = (_stbi__parse_png_file($p,0,$req_comp)|0); - $2 = ($1|0)==(0); - if ($2) { - $result$1 = 0; - } else { - $3 = ((($p)) + 12|0); - $4 = HEAP32[$3>>2]|0; - HEAP32[$3>>2] = 0; - $5 = ($req_comp|0)==(0); - if ($5) { - $result$0 = $4; - } else { - $6 = HEAP32[$p>>2]|0; - $7 = ((($6)) + 12|0); - $8 = HEAP32[$7>>2]|0; - $9 = ($8|0)==($req_comp|0); - if ($9) { - $result$0 = $4; - } else { - $10 = HEAP32[$6>>2]|0; - $11 = ((($6)) + 4|0); - $12 = HEAP32[$11>>2]|0; - $13 = (_stbi__convert_format($4,$8,$req_comp,$10,$12)|0); - $14 = HEAP32[$p>>2]|0; - $15 = ((($14)) + 12|0); - HEAP32[$15>>2] = $req_comp; - $16 = ($13|0)==(0|0); - if ($16) { - $$0 = 0; - return ($$0|0); - } else { - $result$0 = $13; - } - } - } - $17 = HEAP32[$p>>2]|0; - $18 = HEAP32[$17>>2]|0; - HEAP32[$x>>2] = $18; - $19 = HEAP32[$p>>2]|0; - $20 = ((($19)) + 4|0); - $21 = HEAP32[$20>>2]|0; - HEAP32[$y>>2] = $21; - $22 = ($n|0)==(0|0); - if ($22) { - $result$1 = $result$0; - } else { - $23 = HEAP32[$p>>2]|0; - $24 = ((($23)) + 12|0); - $25 = HEAP32[$24>>2]|0; - HEAP32[$n>>2] = $25; - $result$1 = $result$0; - } - } - $26 = ((($p)) + 12|0); - $27 = HEAP32[$26>>2]|0; - _free($27); - HEAP32[$26>>2] = 0; - $28 = ((($p)) + 8|0); - $29 = HEAP32[$28>>2]|0; - _free($29); - HEAP32[$28>>2] = 0; - $30 = ((($p)) + 4|0); - $31 = HEAP32[$30>>2]|0; - _free($31); - HEAP32[$30>>2] = 0; - $$0 = $result$1; - return ($$0|0); -} -function _stbi__setup_jpeg($j) { - $j = $j|0; - var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($j)) + 18176|0); - HEAP32[$0>>2] = 2; - $1 = ((($j)) + 18180|0); - HEAP32[$1>>2] = 1; - $2 = ((($j)) + 18184|0); - HEAP32[$2>>2] = 1; - return; -} -function _load_jpeg_image($z,$out_x,$out_y,$comp,$req_comp) { - $z = $z|0; - $out_x = $out_x|0; - $out_y = $out_y|0; - $comp = $comp|0; - $req_comp = $req_comp|0; - var $$ = 0, $$0 = 0, $$1 = 0, $$in = 0, $$in4 = 0, $$pr = 0, $$pr5 = 0, $$sum = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0; - var $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0; - var $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0; - var $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0; - var $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0; - var $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0; - var $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0; - var $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0; - var $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0; - var $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $coutput = 0, $exitcond = 0, $i$018 = 0, $i$115 = 0, $i$213 = 0, $j$020 = 0, $k$023 = 0, $k$111 = 0, $or$cond3 = 0, $out$017 = 0, $out$112 = 0; - var $res_comp = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 144|0; - $coutput = sp + 128|0; - $res_comp = sp; - $0 = HEAP32[$z>>2]|0; - $1 = ((($0)) + 8|0); - HEAP32[$1>>2] = 0; - $2 = ($req_comp>>>0)>(4); - if ($2) { - _stbi__err(19047); - $$1 = 0; - STACKTOP = sp;return ($$1|0); - } - $3 = (_stbi__decode_jpeg_image($z)|0); - $4 = ($3|0)==(0); - if ($4) { - _stbi__cleanup_jpeg($z); - $$1 = 0; - STACKTOP = sp;return ($$1|0); - } - $5 = ($req_comp|0)==(0); - if ($5) { - $6 = HEAP32[$z>>2]|0; - $7 = ((($6)) + 8|0); - $8 = HEAP32[$7>>2]|0; - $13 = $8; - } else { - $13 = $req_comp; - } - $9 = HEAP32[$z>>2]|0; - $10 = ((($9)) + 8|0); - $11 = HEAP32[$10>>2]|0; - $12 = ($11|0)==(3); - $14 = ($13|0)<(3); - $or$cond3 = $14 & $12; - $$ = $or$cond3 ? 1 : $11; - $15 = ($$|0)>(0); - L12: do { - if ($15) { - $16 = ((($z)) + 17796|0); - $17 = ((($z)) + 17800|0); - $18 = ((($z)) + 18184|0); - $k$023 = 0; - while(1) { - $19 = (($res_comp) + ($k$023<<5)|0); - $20 = HEAP32[$z>>2]|0; - $21 = HEAP32[$20>>2]|0; - $22 = (($21) + 3)|0; - $23 = (_stbi__malloc($22)|0); - $24 = (((((($z)) + 17820|0) + (($k$023*72)|0)|0)) + 56|0); - HEAP32[$24>>2] = $23; - $25 = ($23|0)==(0|0); - if ($25) { - break; - } - $26 = HEAP32[$16>>2]|0; - $27 = (((((($z)) + 17820|0) + (($k$023*72)|0)|0)) + 4|0); - $28 = HEAP32[$27>>2]|0; - $29 = (($26|0) / ($28|0))&-1; - $30 = (((($res_comp) + ($k$023<<5)|0)) + 12|0); - HEAP32[$30>>2] = $29; - $31 = HEAP32[$17>>2]|0; - $32 = (((((($z)) + 17820|0) + (($k$023*72)|0)|0)) + 8|0); - $33 = HEAP32[$32>>2]|0; - $34 = (($31|0) / ($33|0))&-1; - $35 = (((($res_comp) + ($k$023<<5)|0)) + 16|0); - HEAP32[$35>>2] = $34; - $36 = $34 >> 1; - $37 = (((($res_comp) + ($k$023<<5)|0)) + 24|0); - HEAP32[$37>>2] = $36; - $38 = HEAP32[$z>>2]|0; - $39 = HEAP32[$38>>2]|0; - $40 = HEAP32[$30>>2]|0; - $41 = (($39) + -1)|0; - $42 = (($41) + ($40))|0; - $43 = (($42>>>0) / ($40>>>0))&-1; - $44 = (((($res_comp) + ($k$023<<5)|0)) + 20|0); - HEAP32[$44>>2] = $43; - $45 = (((($res_comp) + ($k$023<<5)|0)) + 28|0); - HEAP32[$45>>2] = 0; - $46 = (((((($z)) + 17820|0) + (($k$023*72)|0)|0)) + 44|0); - $47 = HEAP32[$46>>2]|0; - $48 = (((($res_comp) + ($k$023<<5)|0)) + 8|0); - HEAP32[$48>>2] = $47; - $49 = (((($res_comp) + ($k$023<<5)|0)) + 4|0); - HEAP32[$49>>2] = $47; - $50 = HEAP32[$30>>2]|0; - $51 = ($50|0)==(1); - do { - if ($51) { - $52 = HEAP32[$35>>2]|0; - $53 = ($52|0)==(1); - if ($53) { - HEAP32[$19>>2] = 2; - break; - } - $$pr = HEAP32[$30>>2]|0; - $54 = ($$pr|0)==(1); - if ($54) { - $55 = HEAP32[$35>>2]|0; - $56 = ($55|0)==(2); - if ($56) { - HEAP32[$19>>2] = 3; - } else { - label = 17; - } - } else { - $57 = $$pr; - label = 18; - } - } else { - label = 17; - } - } while(0); - if ((label|0) == 17) { - label = 0; - $$pr5 = HEAP32[$30>>2]|0; - $57 = $$pr5; - label = 18; - } - do { - if ((label|0) == 18) { - label = 0; - $58 = ($57|0)==(2); - if ($58) { - $59 = HEAP32[$35>>2]|0; - $60 = ($59|0)==(1); - if ($60) { - HEAP32[$19>>2] = 4; - break; - } - } - $61 = HEAP32[$30>>2]|0; - $62 = ($61|0)==(2); - if ($62) { - $63 = HEAP32[$35>>2]|0; - $64 = ($63|0)==(2); - if ($64) { - $65 = HEAP32[$18>>2]|0; - HEAP32[$19>>2] = $65; - break; - } - } - HEAP32[$19>>2] = 5; - } - } while(0); - $66 = (($k$023) + 1)|0; - $67 = ($66|0)<($$|0); - if ($67) { - $k$023 = $66; - } else { - label = 26; - break L12; - } - } - _stbi__cleanup_jpeg($z); - _stbi__err(17401); - $$0 = 0; - } else { - label = 26; - } - } while(0); - do { - if ((label|0) == 26) { - $68 = HEAP32[$z>>2]|0; - $69 = HEAP32[$68>>2]|0; - $70 = Math_imul($69, $13)|0; - $71 = ((($68)) + 4|0); - $72 = HEAP32[$71>>2]|0; - $73 = Math_imul($70, $72)|0; - $74 = (($73) + 1)|0; - $75 = (_stbi__malloc($74)|0); - $76 = ($75|0)==(0|0); - if ($76) { - _stbi__cleanup_jpeg($z); - _stbi__err(17401); - $$0 = 0; - break; - } - $77 = HEAP32[$z>>2]|0; - $78 = ((($77)) + 4|0); - $79 = HEAP32[$78>>2]|0; - $80 = ($79|0)==(0); - if (!($80)) { - $81 = ($$|0)>(0); - $82 = ($13|0)>(2); - $83 = ((($z)) + 18180|0); - $84 = ((($coutput)) + 4|0); - $85 = ((($coutput)) + 8|0); - $86 = ($13|0)==(1); - $88 = $77;$j$020 = 0; - while(1) { - $87 = HEAP32[$88>>2]|0; - $89 = Math_imul($j$020, $13)|0; - $90 = Math_imul($89, $87)|0; - $91 = (($75) + ($90)|0); - if ($81) { - $k$111 = 0; - while(1) { - $92 = (((($res_comp) + ($k$111<<5)|0)) + 24|0); - $93 = HEAP32[$92>>2]|0; - $94 = (((($res_comp) + ($k$111<<5)|0)) + 16|0); - $95 = HEAP32[$94>>2]|0; - $96 = $95 >> 1; - $97 = ($93|0)>=($96|0); - $98 = (($res_comp) + ($k$111<<5)|0); - $99 = HEAP32[$98>>2]|0; - $100 = (((((($z)) + 17820|0) + (($k$111*72)|0)|0)) + 56|0); - $101 = HEAP32[$100>>2]|0; - $102 = (((($res_comp) + ($k$111<<5)|0)) + 8|0); - $103 = (((($res_comp) + ($k$111<<5)|0)) + 4|0); - $$in = $97 ? $102 : $103; - $104 = HEAP32[$$in>>2]|0; - $$in4 = $97 ? $103 : $102; - $105 = HEAP32[$$in4>>2]|0; - $106 = (((($res_comp) + ($k$111<<5)|0)) + 20|0); - $107 = HEAP32[$106>>2]|0; - $108 = (((($res_comp) + ($k$111<<5)|0)) + 12|0); - $109 = HEAP32[$108>>2]|0; - $110 = (FUNCTION_TABLE_iiiiii[$99 & 7]($101,$104,$105,$107,$109)|0); - $111 = (($coutput) + ($k$111<<2)|0); - HEAP32[$111>>2] = $110; - $112 = HEAP32[$92>>2]|0; - $113 = (($112) + 1)|0; - HEAP32[$92>>2] = $113; - $114 = HEAP32[$94>>2]|0; - $115 = ($113|0)<($114|0); - if (!($115)) { - HEAP32[$92>>2] = 0; - $116 = HEAP32[$102>>2]|0; - HEAP32[$103>>2] = $116; - $117 = (((($res_comp) + ($k$111<<5)|0)) + 28|0); - $118 = HEAP32[$117>>2]|0; - $119 = (($118) + 1)|0; - HEAP32[$117>>2] = $119; - $120 = (((((($z)) + 17820|0) + (($k$111*72)|0)|0)) + 32|0); - $121 = HEAP32[$120>>2]|0; - $122 = ($119|0)<($121|0); - if ($122) { - $123 = (((((($z)) + 17820|0) + (($k$111*72)|0)|0)) + 36|0); - $124 = HEAP32[$123>>2]|0; - $125 = HEAP32[$102>>2]|0; - $126 = (($125) + ($124)|0); - HEAP32[$102>>2] = $126; - } - } - $127 = (($k$111) + 1)|0; - $exitcond = ($127|0)==($$|0); - if ($exitcond) { - break; - } else { - $k$111 = $127; - } - } - } - $128 = HEAP32[$coutput>>2]|0; - $129 = HEAP32[$z>>2]|0; - do { - if ($82) { - $130 = ((($129)) + 8|0); - $131 = HEAP32[$130>>2]|0; - $132 = ($131|0)==(3); - if ($132) { - $136 = HEAP32[$83>>2]|0; - $137 = HEAP32[$84>>2]|0; - $138 = HEAP32[$85>>2]|0; - $139 = HEAP32[$129>>2]|0; - FUNCTION_TABLE_viiiiii[$136 & 3]($91,$128,$137,$138,$139,$13); - break; - } - $133 = HEAP32[$z>>2]|0; - $134 = HEAP32[$133>>2]|0; - $135 = ($134|0)==(0); - if (!($135)) { - $i$018 = 0;$out$017 = $91; - while(1) { - $140 = (($128) + ($i$018)|0); - $141 = HEAP8[$140>>0]|0; - $142 = ((($out$017)) + 2|0); - HEAP8[$142>>0] = $141; - $143 = ((($out$017)) + 1|0); - HEAP8[$143>>0] = $141; - HEAP8[$out$017>>0] = $141; - $144 = ((($out$017)) + 3|0); - HEAP8[$144>>0] = -1; - $145 = (($out$017) + ($13)|0); - $146 = (($i$018) + 1)|0; - $147 = HEAP32[$z>>2]|0; - $148 = HEAP32[$147>>2]|0; - $149 = ($146>>>0)<($148>>>0); - if ($149) { - $i$018 = $146;$out$017 = $145; - } else { - break; - } - } - } - } else { - $150 = HEAP32[$129>>2]|0; - $151 = ($150|0)==(0); - if ($86) { - if ($151) { - break; - } else { - $i$115 = 0; - } - while(1) { - $152 = (($128) + ($i$115)|0); - $153 = HEAP8[$152>>0]|0; - $$sum = (($i$115) + ($90))|0; - $154 = (($75) + ($$sum)|0); - HEAP8[$154>>0] = $153; - $155 = (($i$115) + 1)|0; - $156 = HEAP32[$z>>2]|0; - $157 = HEAP32[$156>>2]|0; - $158 = ($155>>>0)<($157>>>0); - if ($158) { - $i$115 = $155; - } else { - break; - } - } - } else { - if ($151) { - break; - } else { - $i$213 = 0;$out$112 = $91; - } - while(1) { - $159 = (($128) + ($i$213)|0); - $160 = HEAP8[$159>>0]|0; - $161 = ((($out$112)) + 1|0); - HEAP8[$out$112>>0] = $160; - $162 = ((($out$112)) + 2|0); - HEAP8[$161>>0] = -1; - $163 = (($i$213) + 1)|0; - $164 = HEAP32[$z>>2]|0; - $165 = HEAP32[$164>>2]|0; - $166 = ($163>>>0)<($165>>>0); - if ($166) { - $i$213 = $163;$out$112 = $162; - } else { - break; - } - } - } - } - } while(0); - $167 = (($j$020) + 1)|0; - $168 = HEAP32[$z>>2]|0; - $169 = ((($168)) + 4|0); - $170 = HEAP32[$169>>2]|0; - $171 = ($167>>>0)<($170>>>0); - if ($171) { - $88 = $168;$j$020 = $167; - } else { - break; - } - } - } - _stbi__cleanup_jpeg($z); - $172 = HEAP32[$z>>2]|0; - $173 = HEAP32[$172>>2]|0; - HEAP32[$out_x>>2] = $173; - $174 = HEAP32[$z>>2]|0; - $175 = ((($174)) + 4|0); - $176 = HEAP32[$175>>2]|0; - HEAP32[$out_y>>2] = $176; - $177 = ($comp|0)==(0|0); - if ($177) { - $$0 = $75; - } else { - $178 = HEAP32[$z>>2]|0; - $179 = ((($178)) + 8|0); - $180 = HEAP32[$179>>2]|0; - HEAP32[$comp>>2] = $180; - $$0 = $75; - } - } - } while(0); - $$1 = $$0; - STACKTOP = sp;return ($$1|0); -} -function _stbi__decode_jpeg_image($j) { - $j = $j|0; - var $$0 = 0, $$sink = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; - var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($j)) + 17868|0); - HEAP32[$0>>2] = 0; - $1 = ((($j)) + 17872|0); - HEAP32[$1>>2] = 0; - $2 = ((($j)) + 17940|0); - HEAP32[$2>>2] = 0; - $3 = ((($j)) + 17944|0); - HEAP32[$3>>2] = 0; - $4 = ((($j)) + 18012|0); - HEAP32[$4>>2] = 0; - $5 = ((($j)) + 18016|0); - HEAP32[$5>>2] = 0; - $6 = ((($j)) + 18084|0); - HEAP32[$6>>2] = 0; - $7 = ((($j)) + 18088|0); - HEAP32[$7>>2] = 0; - $8 = ((($j)) + 18168|0); - HEAP32[$8>>2] = 0; - $9 = (_stbi__decode_jpeg_header($j,0)|0); - $10 = ($9|0)==(0); - if ($10) { - $$0 = 0; - return ($$0|0); - } - $11 = (_stbi__get_marker($j)|0); - $12 = ((($j)) + 18116|0); - $$sink = $11; - L4: while(1) { - $13 = $$sink&255; - L6: do { - switch ($13|0) { - case 217: { - label = 13; - break L4; - break; - } - case 218: { - $14 = (_stbi__process_scan_header($j)|0); - $15 = ($14|0)==(0); - if ($15) { - $$0 = 0; - label = 15; - break L4; - } - $16 = (_stbi__parse_entropy_coded_data($j)|0); - $17 = ($16|0)==(0); - if ($17) { - $$0 = 0; - label = 15; - break L4; - } - $18 = HEAP8[$12>>0]|0; - $19 = ($18<<24>>24)==(-1); - if ($19) { - L11: while(1) { - $20 = HEAP32[$j>>2]|0; - $21 = (_stbi__at_eof($20)|0); - $22 = ($21|0)==(0); - if (!($22)) { - break L6; - } - $23 = HEAP32[$j>>2]|0; - $24 = (_stbi__get8($23)|0); - switch ($24<<24>>24) { - case 0: { - break; - } - case -1: { - break L11; - break; - } - default: { - label = 10; - break L4; - } - } - } - $25 = HEAP32[$j>>2]|0; - $26 = (_stbi__get8($25)|0); - HEAP8[$12>>0] = $26; - } + case 32: { + $12 = ((($4)) + 12|0); + HEAP32[$12>>2] = 65552; + $26 = $55; + break L10; break; } default: { - $27 = (_stbi__process_marker($j,$13)|0); - $28 = ($27|0)==(0); - if ($28) { - $$0 = 0; - label = 15; - break L4; - } + HEAP32[$vararg_buffer1>>2] = $2; + _TraceLog(1,18059,$vararg_buffer1); + $26 = $55; + break L10; } } - } while(0); - $29 = (_stbi__get_marker($j)|0); - $$sink = $29; - } - if ((label|0) == 10) { - _stbi__err(19060); - $$0 = 0; - return ($$0|0); - } - else if ((label|0) == 13) { - $30 = ((($j)) + 18124|0); - $31 = HEAP32[$30>>2]|0; - $32 = ($31|0)==(0); - if ($32) { - $$0 = 1; - return ($$0|0); - } - _stbi__jpeg_finish($j); - $$0 = 1; - return ($$0|0); - } - else if ((label|0) == 15) { - return ($$0|0); - } - return (0)|0; -} -function _stbi__cleanup_jpeg($j) { - $j = $j|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; - var $i$01 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[$j>>2]|0; - $1 = ((($0)) + 8|0); - $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)>(0); - if ($3) { - $i$01 = 0; - } else { - return; - } - while(1) { - $4 = (((((($j)) + 17820|0) + (($i$01*72)|0)|0)) + 48|0); - $5 = HEAP32[$4>>2]|0; - $6 = ($5|0)==(0|0); - if (!($6)) { - _free($5); - HEAP32[$4>>2] = 0; - $7 = (((((($j)) + 17820|0) + (($i$01*72)|0)|0)) + 44|0); - HEAP32[$7>>2] = 0; - } - $8 = (((((($j)) + 17820|0) + (($i$01*72)|0)|0)) + 52|0); - $9 = HEAP32[$8>>2]|0; - $10 = ($9|0)==(0|0); - if (!($10)) { - _free($9); - HEAP32[$8>>2] = 0; - $11 = (((((($j)) + 17820|0) + (($i$01*72)|0)|0)) + 60|0); - HEAP32[$11>>2] = 0; - } - $12 = (((((($j)) + 17820|0) + (($i$01*72)|0)|0)) + 56|0); - $13 = HEAP32[$12>>2]|0; - $14 = ($13|0)==(0|0); - if (!($14)) { - _free($13); - HEAP32[$12>>2] = 0; - } - $15 = (($i$01) + 1)|0; - $16 = HEAP32[$j>>2]|0; - $17 = ((($16)) + 8|0); - $18 = HEAP32[$17>>2]|0; - $19 = ($15|0)<($18|0); - if ($19) { - $i$01 = $15; - } else { - break; - } - } - return; -} -function _resample_row_1($out,$in_near,$in_far,$w,$hs) { - $out = $out|0; - $in_near = $in_near|0; - $in_far = $in_far|0; - $w = $w|0; - $hs = $hs|0; - var label = 0, sp = 0; - sp = STACKTOP; - return ($in_near|0); -} -function _stbi__resample_row_v_2($out,$in_near,$in_far,$w,$hs) { - $out = $out|0; - $in_near = $in_near|0; - $in_far = $in_far|0; - $w = $w|0; - $hs = $hs|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $i$01 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ($w|0)>(0); - if ($0) { - $i$01 = 0; - } else { - return ($out|0); - } - while(1) { - $1 = (($in_near) + ($i$01)|0); - $2 = HEAP8[$1>>0]|0; - $3 = $2&255; - $4 = ($3*3)|0; - $5 = (($in_far) + ($i$01)|0); - $6 = HEAP8[$5>>0]|0; - $7 = $6&255; - $8 = (($7) + 2)|0; - $9 = (($8) + ($4))|0; - $10 = $9 >>> 2; - $11 = $10&255; - $12 = (($out) + ($i$01)|0); - HEAP8[$12>>0] = $11; - $13 = (($i$01) + 1)|0; - $exitcond = ($13|0)==($w|0); - if ($exitcond) { - break; - } else { - $i$01 = $13; - } - } - return ($out|0); -} -function _stbi__resample_row_h_2($out,$in_near,$in_far,$w,$hs) { - $out = $out|0; - $in_near = $in_near|0; - $in_far = $in_far|0; - $w = $w|0; - $hs = $hs|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $i$0$lcssa = 0, $i$01 = 0, $phitmp = 0; - var label = 0, sp = 0; - sp = STACKTOP; - $0 = ($w|0)==(1); - $1 = HEAP8[$in_near>>0]|0; - if ($0) { - $2 = ((($out)) + 1|0); - HEAP8[$2>>0] = $1; - HEAP8[$out>>0] = $1; - return ($out|0); - } - HEAP8[$out>>0] = $1; - $3 = HEAP8[$in_near>>0]|0; - $4 = $3&255; - $5 = ($4*3)|0; - $6 = ((($in_near)) + 1|0); - $7 = HEAP8[$6>>0]|0; - $8 = $7&255; - $9 = (($8) + 2)|0; - $10 = (($9) + ($5))|0; - $11 = $10 >>> 2; - $12 = $11&255; - $13 = ((($out)) + 1|0); - HEAP8[$13>>0] = $12; - $14 = (($w) + -1)|0; - $15 = ($14|0)>(1); - if ($15) { - $16 = (($w) + -1)|0; - $i$01 = 1; - while(1) { - $17 = (($in_near) + ($i$01)|0); - $18 = HEAP8[$17>>0]|0; - $19 = $18&255; - $20 = ($19*3)|0; - $21 = (($20) + 2)|0; - $22 = (($i$01) + -1)|0; - $23 = (($in_near) + ($22)|0); - $24 = HEAP8[$23>>0]|0; - $25 = $24&255; - $26 = (($21) + ($25))|0; - $27 = $26 >>> 2; - $28 = $27&255; - $29 = $i$01 << 1; - $30 = (($out) + ($29)|0); - HEAP8[$30>>0] = $28; - $31 = (($i$01) + 1)|0; - $32 = (($in_near) + ($31)|0); - $33 = HEAP8[$32>>0]|0; - $34 = $33&255; - $35 = (($21) + ($34))|0; - $36 = $35 >>> 2; - $37 = $36&255; - $38 = $29 | 1; - $39 = (($out) + ($38)|0); - HEAP8[$39>>0] = $37; - $exitcond = ($31|0)==($16|0); - if ($exitcond) { - break; - } else { - $i$01 = $31; - } - } - $phitmp = $16 << 1; - $i$0$lcssa = $phitmp; - } else { - $i$0$lcssa = 2; - } - $40 = (($w) + -2)|0; - $41 = (($in_near) + ($40)|0); - $42 = HEAP8[$41>>0]|0; - $43 = $42&255; - $44 = ($43*3)|0; - $45 = (($in_near) + ($14)|0); - $46 = HEAP8[$45>>0]|0; - $47 = $46&255; - $48 = (($47) + 2)|0; - $49 = (($48) + ($44))|0; - $50 = $49 >>> 2; - $51 = $50&255; - $52 = (($out) + ($i$0$lcssa)|0); - HEAP8[$52>>0] = $51; - $53 = HEAP8[$45>>0]|0; - $54 = $i$0$lcssa | 1; - $55 = (($out) + ($54)|0); - HEAP8[$55>>0] = $53; - return ($out|0); -} -function _stbi__resample_row_generic($out,$in_near,$in_far,$w,$hs) { - $out = $out|0; - $in_near = $in_near|0; - $in_far = $in_far|0; - $w = $w|0; - $hs = $hs|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $exitcond = 0, $exitcond4 = 0, $i$02 = 0, $j$01 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ($w|0)>(0); - if (!($0)) { - return ($out|0); - } - $1 = ($hs|0)>(0); - $i$02 = 0; - while(1) { - if ($1) { - $2 = (($in_near) + ($i$02)|0); - $3 = Math_imul($i$02, $hs)|0; - $j$01 = 0; - while(1) { - $4 = HEAP8[$2>>0]|0; - $5 = (($j$01) + ($3))|0; - $6 = (($out) + ($5)|0); - HEAP8[$6>>0] = $4; - $7 = (($j$01) + 1)|0; - $exitcond = ($7|0)==($hs|0); - if ($exitcond) { - break; - } else { - $j$01 = $7; - } - } - } - $8 = (($i$02) + 1)|0; - $exitcond4 = ($8|0)==($w|0); - if ($exitcond4) { - break; - } else { - $i$02 = $8; - } - } - return ($out|0); -} -function _stbi__process_scan_header($z) { - $z = $z|0; - var $$0 = 0, $$lcssa = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; - var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0; - var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0; - var $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0; - var $8 = 0, $9 = 0, $i$010 = 0, $or$cond1 = 0, $or$cond2 = 0, $which$0$lcssa = 0, $which$07 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[$z>>2]|0; - $1 = (_stbi__get16be($0)|0); - $2 = HEAP32[$z>>2]|0; - $3 = (_stbi__get8($2)|0); - $4 = $3&255; - $5 = ((($z)) + 18148|0); - HEAP32[$5>>2] = $4; - $6 = (($3) + -1)<<24>>24; - $7 = ($6&255)>(3); - if (!($7)) { - $8 = HEAP32[$z>>2]|0; - $9 = ((($8)) + 8|0); - $10 = HEAP32[$9>>2]|0; - $11 = ($4|0)>($10|0); - if (!($11)) { - $12 = $4 << 1; - $13 = (($12) + 6)|0; - $14 = ($1|0)==($13|0); - if (!($14)) { - _stbi__err(19314); - $$0 = 0; - return ($$0|0); - } - $15 = HEAP32[$5>>2]|0; - $16 = ($15|0)>(0); - $17 = HEAP32[$z>>2]|0; - $18 = (_stbi__get8($17)|0); - $19 = $18&255; - L8: do { - if ($16) { - $30 = $19;$i$010 = 0; - while(1) { - $20 = HEAP32[$z>>2]|0; - $21 = (_stbi__get8($20)|0); - $22 = $21&255; - $23 = HEAP32[$z>>2]|0; - $24 = ((($23)) + 8|0); - $25 = HEAP32[$24>>2]|0; - $26 = ($25|0)>(0); - L11: do { - if ($26) { - $which$07 = 0; - while(1) { - $27 = (((($z)) + 17820|0) + (($which$07*72)|0)|0); - $28 = HEAP32[$27>>2]|0; - $29 = ($28|0)==($30|0); - if ($29) { - $which$0$lcssa = $which$07; - break L11; - } - $31 = (($which$07) + 1)|0; - $32 = HEAP32[$z>>2]|0; - $33 = ((($32)) + 8|0); - $34 = HEAP32[$33>>2]|0; - $35 = ($31|0)<($34|0); - if ($35) { - $which$07 = $31; - } else { - $which$0$lcssa = $31; - break; - } - } - } else { - $which$0$lcssa = 0; - } - } while(0); - $36 = HEAP32[$z>>2]|0; - $37 = ((($36)) + 8|0); - $38 = HEAP32[$37>>2]|0; - $39 = ($which$0$lcssa|0)==($38|0); - if ($39) { - $$0 = 0; - label = 26; - break; - } - $40 = $22 >>> 4; - $41 = (((((($z)) + 17820|0) + (($which$0$lcssa*72)|0)|0)) + 16|0); - HEAP32[$41>>2] = $40; - $42 = ($21&255)>(63); - if ($42) { - label = 12; - break; - } - $43 = $22 & 15; - $44 = (((((($z)) + 17820|0) + (($which$0$lcssa*72)|0)|0)) + 20|0); - HEAP32[$44>>2] = $43; - $45 = ($43>>>0)>(3); - if ($45) { - label = 14; - break; - } - $46 = (((($z)) + 18152|0) + ($i$010<<2)|0); - HEAP32[$46>>2] = $which$0$lcssa; - $47 = (($i$010) + 1)|0; - $48 = HEAP32[$5>>2]|0; - $49 = ($47|0)<($48|0); - $50 = HEAP32[$z>>2]|0; - $51 = (_stbi__get8($50)|0); - $52 = $51&255; - if ($49) { - $30 = $52;$i$010 = $47; - } else { - $$lcssa = $52; - break L8; - } - } - if ((label|0) == 12) { - _stbi__err(19326); - $$0 = 0; - return ($$0|0); - } - else if ((label|0) == 14) { - _stbi__err(19338); - $$0 = 0; - return ($$0|0); - } - else if ((label|0) == 26) { - return ($$0|0); - } - } else { - $$lcssa = $19; - } - } while(0); - $53 = ((($z)) + 18128|0); - HEAP32[$53>>2] = $$lcssa; - $54 = HEAP32[$z>>2]|0; - $55 = (_stbi__get8($54)|0); - $56 = $55&255; - $57 = ((($z)) + 18132|0); - HEAP32[$57>>2] = $56; - $58 = HEAP32[$z>>2]|0; - $59 = (_stbi__get8($58)|0); - $60 = $59&255; - $61 = $60 >>> 4; - $62 = ((($z)) + 18136|0); - HEAP32[$62>>2] = $61; - $63 = $60 & 15; - $64 = ((($z)) + 18140|0); - HEAP32[$64>>2] = $63; - $65 = ((($z)) + 18124|0); - $66 = HEAP32[$65>>2]|0; - $67 = ($66|0)==(0); - $68 = HEAP32[$53>>2]|0; - if (!($67)) { - $69 = ($68|0)>(63); - if (!($69)) { - $70 = HEAP32[$57>>2]|0; - $71 = ($70|0)>(63); - $72 = ($68|0)>($70|0); - $or$cond1 = $71 | $72; - if (!($or$cond1)) { - $73 = HEAP32[$62>>2]|0; - $74 = ($73|0)>(13); - $75 = ($63>>>0)>(13); - $or$cond2 = $75 | $74; - if (!($or$cond2)) { - $$0 = 1; - return ($$0|0); - } - } - } - _stbi__err(19350); - $$0 = 0; - return ($$0|0); - } - $76 = ($68|0)==(0); - if (!($76)) { - _stbi__err(19350); - $$0 = 0; - return ($$0|0); - } - $77 = HEAP32[$62>>2]|0; - $78 = $77 | $63; - $79 = ($78|0)==(0); - if ($79) { - HEAP32[$57>>2] = 63; - $$0 = 1; - return ($$0|0); - } else { - _stbi__err(19350); - $$0 = 0; - return ($$0|0); - } - } - } - _stbi__err(19290); - $$0 = 0; - return ($$0|0); -} -function _stbi__parse_entropy_coded_data($z) { - $z = $z|0; - var $$0 = 0, $$1 = 0, $$2 = 0, $$sum1 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0; - var $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0; - var $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0; - var $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0; - var $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0; - var $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0; - var $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0; - var $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0; - var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0; - var $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0; - var $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0; - var $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $data = 0, $i$023 = 0, $i1$035 = 0, $i13$054 = 0; - var $i6$040 = 0, $j$024 = 0, $j14$057 = 0, $j2$038 = 0, $j7$043 = 0, $k$032 = 0, $k15$051 = 0, $tmp = 0, $tmp5 = 0, $x$026 = 0, $x16$045 = 0, $y$029 = 0, $y17$048 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 128|0; - $data = sp; - _stbi__jpeg_reset($z); - $0 = ((($z)) + 18124|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)==(0); - $3 = ((($z)) + 18148|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)==(1); - if ($2) { - if ($5) { - $6 = ((($z)) + 18152|0); - $7 = HEAP32[$6>>2]|0; - $8 = (((((($z)) + 17820|0) + (($7*72)|0)|0)) + 28|0); - $9 = HEAP32[$8>>2]|0; - $10 = (($9) + 7)|0; - $11 = $10 >> 3; - $12 = (((((($z)) + 17820|0) + (($7*72)|0)|0)) + 32|0); - $13 = HEAP32[$12>>2]|0; - $14 = (($13) + 7)|0; - $15 = $14 >> 3; - $16 = ($15|0)>(0); - L5: do { - if ($16) { - $17 = ($11|0)>(0); - $18 = (((((($z)) + 17820|0) + (($7*72)|0)|0)) + 20|0); - $19 = (((((($z)) + 17820|0) + (($7*72)|0)|0)) + 16|0); - $20 = (((((($z)) + 17820|0) + (($7*72)|0)|0)) + 12|0); - $21 = ((($z)) + 18176|0); - $22 = (((((($z)) + 17820|0) + (($7*72)|0)|0)) + 44|0); - $23 = (((((($z)) + 17820|0) + (($7*72)|0)|0)) + 36|0); - $24 = ((($z)) + 18172|0); - $25 = ((($z)) + 18112|0); - $26 = ((($z)) + 18116|0); - $j$024 = 0; - while(1) { - if ($17) { - $i$023 = 0; - while(1) { - $27 = HEAP32[$18>>2]|0; - $28 = HEAP32[$19>>2]|0; - $29 = (((($z)) + 4|0) + (($28*1680)|0)|0); - $30 = (((($z)) + 6724|0) + (($27*1680)|0)|0); - $31 = (((($z)) + 13700|0) + ($27<<10)|0); - $32 = HEAP32[$20>>2]|0; - $33 = (((($z)) + 13444|0) + ($32<<6)|0); - $34 = (_stbi__jpeg_decode_block($z,$data,$29,$30,$31,$7,$33)|0); - $35 = ($34|0)==(0); - if ($35) { - $$0 = 0; - break L5; - } - $36 = HEAP32[$21>>2]|0; - $37 = HEAP32[$22>>2]|0; - $38 = HEAP32[$23>>2]|0; - $39 = Math_imul($38, $j$024)|0; - $40 = (($39) + ($i$023))|0; - $$sum1 = $40 << 3; - $41 = (($37) + ($$sum1)|0); - FUNCTION_TABLE_viii[$36 & 31]($41,$38,$data); - $42 = HEAP32[$24>>2]|0; - $43 = (($42) + -1)|0; - HEAP32[$24>>2] = $43; - $44 = ($42|0)<(2); - if ($44) { - $45 = HEAP32[$25>>2]|0; - $46 = ($45|0)<(24); - if ($46) { - _stbi__grow_buffer_unsafe($z); - } - $47 = HEAP8[$26>>0]|0; - $48 = $47 & -8; - $49 = ($48<<24>>24)==(-48); - if (!($49)) { - $$0 = 1; - break L5; - } - _stbi__jpeg_reset($z); - } - $50 = (($i$023) + 1)|0; - $51 = ($50|0)<($11|0); - if ($51) { - $i$023 = $50; - } else { - break; - } - } - } - $52 = (($j$024) + 1)|0; - $53 = ($52|0)<($15|0); - if ($53) { - $j$024 = $52; - } else { - $$0 = 1; - break; - } - } - } else { - $$0 = 1; - } - } while(0); - $$2 = $$0; - STACKTOP = sp;return ($$2|0); - } - $54 = ((($z)) + 17808|0); - $55 = HEAP32[$54>>2]|0; - $56 = ($55|0)>(0); - L24: do { - if ($56) { - $57 = ((($z)) + 17804|0); - $58 = ((($z)) + 18172|0); - $59 = ((($z)) + 18112|0); - $60 = ((($z)) + 18116|0); - $61 = ((($z)) + 18176|0); - $j2$038 = 0; - while(1) { - $62 = HEAP32[$57>>2]|0; - $63 = ($62|0)>(0); - if ($63) { - $i1$035 = 0; - while(1) { - $64 = HEAP32[$3>>2]|0; - $65 = ($64|0)>(0); - if ($65) { - $k$032 = 0; - while(1) { - $66 = (((($z)) + 18152|0) + ($k$032<<2)|0); - $67 = HEAP32[$66>>2]|0; - $68 = (((((($z)) + 17820|0) + (($67*72)|0)|0)) + 8|0); - $69 = HEAP32[$68>>2]|0; - $70 = ($69|0)>(0); - if ($70) { - $71 = (((((($z)) + 17820|0) + (($67*72)|0)|0)) + 4|0); - $72 = (((((($z)) + 17820|0) + (($67*72)|0)|0)) + 20|0); - $73 = (((((($z)) + 17820|0) + (($67*72)|0)|0)) + 16|0); - $74 = (((((($z)) + 17820|0) + (($67*72)|0)|0)) + 12|0); - $75 = (((((($z)) + 17820|0) + (($67*72)|0)|0)) + 44|0); - $76 = (((((($z)) + 17820|0) + (($67*72)|0)|0)) + 36|0); - $y$029 = 0; - while(1) { - $77 = HEAP32[$71>>2]|0; - $78 = ($77|0)>(0); - if ($78) { - $92 = $77;$x$026 = 0; - while(1) { - $79 = HEAP32[$68>>2]|0; - $80 = HEAP32[$72>>2]|0; - $81 = HEAP32[$73>>2]|0; - $82 = (((($z)) + 4|0) + (($81*1680)|0)|0); - $83 = (((($z)) + 6724|0) + (($80*1680)|0)|0); - $84 = (((($z)) + 13700|0) + ($80<<10)|0); - $85 = HEAP32[$74>>2]|0; - $86 = (((($z)) + 13444|0) + ($85<<6)|0); - $87 = (_stbi__jpeg_decode_block($z,$data,$82,$83,$84,$67,$86)|0); - $88 = ($87|0)==(0); - if ($88) { - $$1 = 0; - break L24; - } - $89 = Math_imul($79, $j2$038)|0; - $90 = (($89) + ($y$029))|0; - $91 = Math_imul($92, $i1$035)|0; - $93 = (($91) + ($x$026))|0; - $94 = HEAP32[$61>>2]|0; - $95 = HEAP32[$75>>2]|0; - $96 = HEAP32[$76>>2]|0; - $97 = Math_imul($96, $90)|0; - $tmp = (($93) + ($97))|0; - $tmp5 = $tmp << 3; - $98 = (($95) + ($tmp5)|0); - FUNCTION_TABLE_viii[$94 & 31]($98,$96,$data); - $99 = (($x$026) + 1)|0; - $100 = HEAP32[$71>>2]|0; - $101 = ($99|0)<($100|0); - if ($101) { - $92 = $100;$x$026 = $99; - } else { - break; - } - } - } - $102 = (($y$029) + 1)|0; - $103 = HEAP32[$68>>2]|0; - $104 = ($102|0)<($103|0); - if ($104) { - $y$029 = $102; - } else { - break; - } - } - } - $105 = (($k$032) + 1)|0; - $106 = HEAP32[$3>>2]|0; - $107 = ($105|0)<($106|0); - if ($107) { - $k$032 = $105; - } else { - break; - } - } - } - $108 = HEAP32[$58>>2]|0; - $109 = (($108) + -1)|0; - HEAP32[$58>>2] = $109; - $110 = ($108|0)<(2); - if ($110) { - $111 = HEAP32[$59>>2]|0; - $112 = ($111|0)<(24); - if ($112) { - _stbi__grow_buffer_unsafe($z); - } - $113 = HEAP8[$60>>0]|0; - $114 = $113 & -8; - $115 = ($114<<24>>24)==(-48); - if (!($115)) { - $$1 = 1; - break L24; - } - _stbi__jpeg_reset($z); - } - $116 = (($i1$035) + 1)|0; - $117 = HEAP32[$57>>2]|0; - $118 = ($116|0)<($117|0); - if ($118) { - $i1$035 = $116; - } else { - break; - } - } - } - $119 = (($j2$038) + 1)|0; - $120 = HEAP32[$54>>2]|0; - $121 = ($119|0)<($120|0); - if ($121) { - $j2$038 = $119; - } else { - $$1 = 1; - break; - } - } - } else { - $$1 = 1; - } - } while(0); - $$2 = $$1; - STACKTOP = sp;return ($$2|0); - } - if ($5) { - $129 = ((($z)) + 18152|0); - $130 = HEAP32[$129>>2]|0; - $131 = (((((($z)) + 17820|0) + (($130*72)|0)|0)) + 28|0); - $132 = HEAP32[$131>>2]|0; - $133 = (($132) + 7)|0; - $134 = $133 >> 3; - $135 = (((((($z)) + 17820|0) + (($130*72)|0)|0)) + 32|0); - $136 = HEAP32[$135>>2]|0; - $137 = (($136) + 7)|0; - $138 = $137 >> 3; - $139 = ($138|0)>(0); - if (!($139)) { - $$2 = 1; - STACKTOP = sp;return ($$2|0); - } - $140 = ($134|0)>(0); - $141 = (((((($z)) + 17820|0) + (($130*72)|0)|0)) + 60|0); - $142 = (((((($z)) + 17820|0) + (($130*72)|0)|0)) + 64|0); - $143 = ((($z)) + 18128|0); - $144 = (((((($z)) + 17820|0) + (($130*72)|0)|0)) + 16|0); - $145 = ((($z)) + 18172|0); - $146 = ((($z)) + 18112|0); - $147 = ((($z)) + 18116|0); - $148 = (((((($z)) + 17820|0) + (($130*72)|0)|0)) + 20|0); - $j7$043 = 0; - L61: while(1) { - if ($140) { - $i6$040 = 0; - while(1) { - $149 = HEAP32[$141>>2]|0; - $150 = HEAP32[$142>>2]|0; - $151 = Math_imul($150, $j7$043)|0; - $152 = (($151) + ($i6$040))|0; - $153 = $152 << 6; - $154 = (($149) + ($153<<1)|0); - $155 = HEAP32[$143>>2]|0; - $156 = ($155|0)==(0); - if ($156) { - $157 = HEAP32[$144>>2]|0; - $158 = (((($z)) + 4|0) + (($157*1680)|0)|0); - $159 = (_stbi__jpeg_decode_block_prog_dc($z,$154,$158,$130)|0); - $160 = ($159|0)==(0); - if ($160) { - $$2 = 0; - label = 66; - break L61; - } - } else { - $161 = HEAP32[$148>>2]|0; - $162 = (((($z)) + 6724|0) + (($161*1680)|0)|0); - $163 = (((($z)) + 13700|0) + ($161<<10)|0); - $164 = (_stbi__jpeg_decode_block_prog_ac($z,$154,$162,$163)|0); - $165 = ($164|0)==(0); - if ($165) { - $$2 = 0; - label = 66; - break L61; - } - } - $166 = HEAP32[$145>>2]|0; - $167 = (($166) + -1)|0; - HEAP32[$145>>2] = $167; - $168 = ($166|0)<(2); - if ($168) { - $169 = HEAP32[$146>>2]|0; - $170 = ($169|0)<(24); - if ($170) { - _stbi__grow_buffer_unsafe($z); - } - $171 = HEAP8[$147>>0]|0; - $172 = $171 & -8; - $173 = ($172<<24>>24)==(-48); - if (!($173)) { - $$2 = 1; - label = 66; - break L61; - } - _stbi__jpeg_reset($z); - } - $174 = (($i6$040) + 1)|0; - $175 = ($174|0)<($134|0); - if ($175) { - $i6$040 = $174; - } else { - break; - } - } - } - $176 = (($j7$043) + 1)|0; - $177 = ($176|0)<($138|0); - if ($177) { - $j7$043 = $176; - } else { - $$2 = 1; - label = 66; - break; - } - } - if ((label|0) == 66) { - STACKTOP = sp;return ($$2|0); - } - } - $122 = ((($z)) + 17808|0); - $123 = HEAP32[$122>>2]|0; - $124 = ($123|0)>(0); - if (!($124)) { - $$2 = 1; - STACKTOP = sp;return ($$2|0); - } - $125 = ((($z)) + 17804|0); - $126 = ((($z)) + 18172|0); - $127 = ((($z)) + 18112|0); - $128 = ((($z)) + 18116|0); - $j14$057 = 0; - L87: while(1) { - $178 = HEAP32[$125>>2]|0; - $179 = ($178|0)>(0); - if ($179) { - $i13$054 = 0; - while(1) { - $180 = HEAP32[$3>>2]|0; - $181 = ($180|0)>(0); - if ($181) { - $k15$051 = 0; - while(1) { - $182 = (((($z)) + 18152|0) + ($k15$051<<2)|0); - $183 = HEAP32[$182>>2]|0; - $184 = (((((($z)) + 17820|0) + (($183*72)|0)|0)) + 8|0); - $185 = HEAP32[$184>>2]|0; - $186 = ($185|0)>(0); - if ($186) { - $187 = (((((($z)) + 17820|0) + (($183*72)|0)|0)) + 4|0); - $188 = (((((($z)) + 17820|0) + (($183*72)|0)|0)) + 60|0); - $189 = (((((($z)) + 17820|0) + (($183*72)|0)|0)) + 64|0); - $190 = (((((($z)) + 17820|0) + (($183*72)|0)|0)) + 16|0); - $y17$048 = 0; - while(1) { - $191 = HEAP32[$187>>2]|0; - $192 = ($191|0)>(0); - if ($192) { - $197 = $191;$x16$045 = 0; - while(1) { - $196 = Math_imul($197, $i13$054)|0; - $198 = (($196) + ($x16$045))|0; - $199 = HEAP32[$184>>2]|0; - $200 = Math_imul($199, $j14$057)|0; - $201 = (($200) + ($y17$048))|0; - $202 = HEAP32[$188>>2]|0; - $203 = HEAP32[$189>>2]|0; - $204 = Math_imul($201, $203)|0; - $205 = (($198) + ($204))|0; - $206 = $205 << 6; - $207 = (($202) + ($206<<1)|0); - $208 = HEAP32[$190>>2]|0; - $209 = (((($z)) + 4|0) + (($208*1680)|0)|0); - $210 = (_stbi__jpeg_decode_block_prog_dc($z,$207,$209,$183)|0); - $211 = ($210|0)==(0); - $194 = (($x16$045) + 1)|0; - if ($211) { - $$2 = 0; - label = 66; - break L87; - } - $193 = HEAP32[$187>>2]|0; - $195 = ($194|0)<($193|0); - if ($195) { - $197 = $193;$x16$045 = $194; - } else { - break; - } - } - } - $212 = (($y17$048) + 1)|0; - $213 = HEAP32[$184>>2]|0; - $214 = ($212|0)<($213|0); - if ($214) { - $y17$048 = $212; - } else { - break; - } - } - } - $215 = (($k15$051) + 1)|0; - $216 = HEAP32[$3>>2]|0; - $217 = ($215|0)<($216|0); - if ($217) { - $k15$051 = $215; - } else { - break; - } - } - } - $218 = HEAP32[$126>>2]|0; - $219 = (($218) + -1)|0; - HEAP32[$126>>2] = $219; - $220 = ($218|0)<(2); - if ($220) { - $221 = HEAP32[$127>>2]|0; - $222 = ($221|0)<(24); - if ($222) { - _stbi__grow_buffer_unsafe($z); - } - $223 = HEAP8[$128>>0]|0; - $224 = $223 & -8; - $225 = ($224<<24>>24)==(-48); - if (!($225)) { - $$2 = 1; - label = 66; - break L87; - } - _stbi__jpeg_reset($z); - } - $226 = (($i13$054) + 1)|0; - $227 = HEAP32[$125>>2]|0; - $228 = ($226|0)<($227|0); - if ($228) { - $i13$054 = $226; - } else { - break; - } - } - } - $229 = (($j14$057) + 1)|0; - $230 = HEAP32[$122>>2]|0; - $231 = ($229|0)<($230|0); - if ($231) { - $j14$057 = $229; - } else { - $$2 = 1; - label = 66; - break; - } - } - if ((label|0) == 66) { - STACKTOP = sp;return ($$2|0); - } - return (0)|0; -} -function _stbi__jpeg_finish($z) { - $z = $z|0; - var $$sum = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; - var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond8 = 0, $i$02 = 0, $j$03 = 0, $n$06 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($z)) + 18124|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)==(0); - if ($2) { - return; - } - $3 = HEAP32[$z>>2]|0; - $4 = ((($3)) + 8|0); - $5 = HEAP32[$4>>2]|0; - $6 = ($5|0)>(0); - if (!($6)) { - return; - } - $7 = ((($z)) + 18176|0); - $n$06 = 0; - while(1) { - $8 = (((((($z)) + 17820|0) + (($n$06*72)|0)|0)) + 28|0); - $9 = HEAP32[$8>>2]|0; - $10 = (($9) + 7)|0; - $11 = $10 >> 3; - $12 = (((((($z)) + 17820|0) + (($n$06*72)|0)|0)) + 32|0); - $13 = HEAP32[$12>>2]|0; - $14 = (($13) + 7)|0; - $15 = $14 >> 3; - $16 = ($15|0)>(0); - if ($16) { - $17 = ($11|0)>(0); - $18 = (((((($z)) + 17820|0) + (($n$06*72)|0)|0)) + 60|0); - $19 = (((((($z)) + 17820|0) + (($n$06*72)|0)|0)) + 64|0); - $20 = (((((($z)) + 17820|0) + (($n$06*72)|0)|0)) + 12|0); - $21 = (((((($z)) + 17820|0) + (($n$06*72)|0)|0)) + 44|0); - $22 = (((((($z)) + 17820|0) + (($n$06*72)|0)|0)) + 36|0); - $j$03 = 0; - while(1) { - if ($17) { - $i$02 = 0; - while(1) { - $23 = HEAP32[$18>>2]|0; - $24 = HEAP32[$19>>2]|0; - $25 = Math_imul($24, $j$03)|0; - $26 = (($25) + ($i$02))|0; - $27 = $26 << 6; - $28 = (($23) + ($27<<1)|0); - $29 = HEAP32[$20>>2]|0; - $30 = (((($z)) + 13444|0) + ($29<<6)|0); - _stbi__jpeg_dequantize($28,$30); - $31 = HEAP32[$7>>2]|0; - $32 = HEAP32[$21>>2]|0; - $33 = HEAP32[$22>>2]|0; - $34 = Math_imul($33, $j$03)|0; - $35 = (($34) + ($i$02))|0; - $$sum = $35 << 3; - $36 = (($32) + ($$sum)|0); - FUNCTION_TABLE_viii[$31 & 31]($36,$33,$28); - $37 = (($i$02) + 1)|0; - $exitcond = ($37|0)==($11|0); - if ($exitcond) { - break; - } else { - $i$02 = $37; - } - } - } - $38 = (($j$03) + 1)|0; - $exitcond8 = ($38|0)==($15|0); - if ($exitcond8) { - break; - } else { - $j$03 = $38; - } - } - } - $39 = (($n$06) + 1)|0; - $40 = HEAP32[$z>>2]|0; - $41 = ((($40)) + 8|0); - $42 = HEAP32[$41>>2]|0; - $43 = ($39|0)<($42|0); - if ($43) { - $n$06 = $39; - } else { - break; - } - } - return; -} -function _stbi__jpeg_dequantize($data,$dequant) { - $data = $data|0; - $dequant = $dequant|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $exitcond = 0, $i$01 = 0, label = 0, sp = 0; - sp = STACKTOP; - $i$01 = 0; - while(1) { - $0 = (($dequant) + ($i$01)|0); - $1 = HEAP8[$0>>0]|0; - $2 = $1&255; - $3 = (($data) + ($i$01<<1)|0); - $4 = HEAP16[$3>>1]|0; - $5 = $4 << 16 >> 16; - $6 = Math_imul($5, $2)|0; - $7 = $6&65535; - HEAP16[$3>>1] = $7; - $8 = (($i$01) + 1)|0; - $exitcond = ($8|0)==(64); - if ($exitcond) { - break; - } else { - $i$01 = $8; - } - } - return; -} -function _stbi__jpeg_reset($j) { - $j = $j|0; - var $$ = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($j)) + 18112|0); - HEAP32[$0>>2] = 0; - $1 = ((($j)) + 18108|0); - HEAP32[$1>>2] = 0; - $2 = ((($j)) + 18120|0); - HEAP32[$2>>2] = 0; - $3 = ((($j)) + 17988|0); - HEAP32[$3>>2] = 0; - $4 = ((($j)) + 17916|0); - HEAP32[$4>>2] = 0; - $5 = ((($j)) + 17844|0); - HEAP32[$5>>2] = 0; - $6 = ((($j)) + 18116|0); - HEAP8[$6>>0] = -1; - $7 = ((($j)) + 18168|0); - $8 = HEAP32[$7>>2]|0; - $9 = ($8|0)==(0); - $$ = $9 ? 2147483647 : $8; - $10 = ((($j)) + 18172|0); - HEAP32[$10>>2] = $$; - $11 = ((($j)) + 18144|0); - HEAP32[$11>>2] = 0; - return; -} -function _stbi__jpeg_decode_block($j,$data,$hdc,$hac,$fac,$b,$dequant) { - $j = $j|0; - $data = $data|0; - $hdc = $hdc|0; - $hac = $hac|0; - $fac = $fac|0; - $b = $b|0; - $dequant = $dequant|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; - var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0; - var $7 = 0, $8 = 0, $9 = 0, $k$0 = 0, $k$1 = 0, dest = 0, label = 0, sp = 0, stop = 0; - sp = STACKTOP; - $0 = ((($j)) + 18112|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)<(16); - if ($2) { - _stbi__grow_buffer_unsafe($j); - } - $3 = (_stbi__jpeg_huff_decode($j,$hdc)|0); - $4 = ($3|0)<(0); - if ($4) { - _stbi__err(18324); - $$0 = 0; - return ($$0|0); - } - dest=$data; stop=dest+128|0; do { HEAP16[dest>>1]=0|0; dest=dest+2|0; } while ((dest|0) < (stop|0)); - $5 = ($3|0)==(0); - if ($5) { - $10 = 0; - } else { - $6 = (_stbi__extend_receive($j,$3)|0); - $10 = $6; - } - $7 = (((((($j)) + 17820|0) + (($b*72)|0)|0)) + 24|0); - $8 = HEAP32[$7>>2]|0; - $9 = (($8) + ($10))|0; - HEAP32[$7>>2] = $9; - $11 = HEAP8[$dequant>>0]|0; - $12 = $11&255; - $13 = Math_imul($12, $9)|0; - $14 = $13&65535; - HEAP16[$data>>1] = $14; - $15 = ((($j)) + 18108|0); - $k$0 = 1; - L11: while(1) { - $16 = HEAP32[$0>>2]|0; - $17 = ($16|0)<(16); - if ($17) { - _stbi__grow_buffer_unsafe($j); - } - $18 = HEAP32[$15>>2]|0; - $19 = $18 >>> 23; - $20 = (($fac) + ($19<<1)|0); - $21 = HEAP16[$20>>1]|0; - $22 = $21 << 16 >> 16; - $23 = ($21<<16>>16)==(0); - do { - if ($23) { - $42 = (_stbi__jpeg_huff_decode($j,$hac)|0); - $43 = ($42|0)<(0); - if ($43) { - label = 13; - break L11; - } - $44 = $42 & 15; - $45 = ($44|0)==(0); - if (!($45)) { - $48 = $42 >> 4; - $49 = (($48) + ($k$0))|0; - $50 = (($49) + 1)|0; - $51 = (17893 + ($49)|0); - $52 = HEAP8[$51>>0]|0; - $53 = $52&255; - $54 = (_stbi__extend_receive($j,$44)|0); - $55 = (($dequant) + ($53)|0); - $56 = HEAP8[$55>>0]|0; - $57 = $56&255; - $58 = Math_imul($57, $54)|0; - $59 = $58&65535; - $60 = (($data) + ($53<<1)|0); - HEAP16[$60>>1] = $59; - $k$1 = $50; - break; - } - $46 = ($42|0)==(240); - if (!($46)) { - $$0 = 1; - label = 19; - break L11; - } - $47 = (($k$0) + 16)|0; - $k$1 = $47; - } else { - $24 = $22 >>> 4; - $25 = $24 & 15; - $26 = (($25) + ($k$0))|0; - $27 = $22 & 15; - $28 = $18 << $27; - HEAP32[$15>>2] = $28; - $29 = HEAP32[$0>>2]|0; - $30 = (($29) - ($27))|0; - HEAP32[$0>>2] = $30; - $31 = (($26) + 1)|0; - $32 = (17893 + ($26)|0); - $33 = HEAP8[$32>>0]|0; - $34 = $33&255; - $35 = $22 >> 8; - $36 = (($dequant) + ($34)|0); - $37 = HEAP8[$36>>0]|0; - $38 = $37&255; - $39 = Math_imul($38, $35)|0; - $40 = $39&65535; - $41 = (($data) + ($34<<1)|0); - HEAP16[$41>>1] = $40; - $k$1 = $31; - } - } while(0); - $61 = ($k$1|0)<(64); - if ($61) { - $k$0 = $k$1; - } else { - $$0 = 1; - label = 19; - break; - } - } - if ((label|0) == 13) { - _stbi__err(18324); - $$0 = 0; - return ($$0|0); - } - else if ((label|0) == 19) { - return ($$0|0); - } - return (0)|0; -} -function _stbi__grow_buffer_unsafe($j) { - $j = $j|0; - var $$lcssa = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0; - var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($j)) + 18120|0); - $1 = ((($j)) + 18112|0); - $2 = ((($j)) + 18108|0); - while(1) { - $3 = HEAP32[$0>>2]|0; - $4 = ($3|0)==(0); - if ($4) { - $5 = HEAP32[$j>>2]|0; - $6 = (_stbi__get8($5)|0); - $7 = $6&255; - $8 = ($6<<24>>24)==(-1); - if ($8) { - $9 = HEAP32[$j>>2]|0; - $10 = (_stbi__get8($9)|0); - $11 = ($10<<24>>24)==(0); - if ($11) { - $16 = 255; - } else { - $$lcssa = $10; - break; - } - } else { - $16 = $7; - } - } else { - $16 = 0; - } - $13 = HEAP32[$1>>2]|0; - $14 = (24 - ($13))|0; - $15 = $16 << $14; - $17 = HEAP32[$2>>2]|0; - $18 = $15 | $17; - HEAP32[$2>>2] = $18; - $19 = HEAP32[$1>>2]|0; - $20 = (($19) + 8)|0; - HEAP32[$1>>2] = $20; - $21 = ($20|0)<(25); - if (!($21)) { - label = 7; - break; - } - } - if ((label|0) == 7) { - return; - } - $12 = ((($j)) + 18116|0); - HEAP8[$12>>0] = $$lcssa; - HEAP32[$0>>2] = 1; - return; -} -function _stbi__jpeg_decode_block_prog_dc($j,$data,$hdc,$b) { - $j = $j|0; - $data = $data|0; - $hdc = $hdc|0; - $b = $b|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $sext = 0, dest = 0, label = 0, sp = 0, stop = 0; - sp = STACKTOP; - $0 = ((($j)) + 18132|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)==(0); - if (!($2)) { - _stbi__err(19079); - $$0 = 0; - return ($$0|0); - } - $3 = ((($j)) + 18112|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)<(16); - if ($5) { - _stbi__grow_buffer_unsafe($j); - } - $6 = ((($j)) + 18136|0); - $7 = HEAP32[$6>>2]|0; - $8 = ($7|0)==(0); - if ($8) { - dest=$data; stop=dest+128|0; do { HEAP16[dest>>1]=0|0; dest=dest+2|0; } while ((dest|0) < (stop|0)); - $9 = (_stbi__jpeg_huff_decode($j,$hdc)|0); - $10 = ($9|0)==(0); - if ($10) { - $15 = 0; - } else { - $11 = (_stbi__extend_receive($j,$9)|0); - $15 = $11; - } - $12 = (((((($j)) + 17820|0) + (($b*72)|0)|0)) + 24|0); - $13 = HEAP32[$12>>2]|0; - $14 = (($13) + ($15))|0; - HEAP32[$12>>2] = $14; - $16 = ((($j)) + 18140|0); - $17 = HEAP32[$16>>2]|0; - $18 = $14 << $17; - $19 = $18&65535; - HEAP16[$data>>1] = $19; - $$0 = 1; - return ($$0|0); - } else { - $20 = (_stbi__jpeg_get_bit($j)|0); - $21 = ($20|0)==(0); - if ($21) { - $$0 = 1; - return ($$0|0); - } - $22 = ((($j)) + 18140|0); - $23 = HEAP32[$22>>2]|0; - $sext = 65536 << $23; - $24 = $sext >>> 16; - $25 = HEAP16[$data>>1]|0; - $26 = $25&65535; - $27 = (($26) + ($24))|0; - $28 = $27&65535; - HEAP16[$data>>1] = $28; - $$0 = 1; - return ($$0|0); - } - return (0)|0; -} -function _stbi__jpeg_decode_block_prog_ac($j,$data,$hac,$fac) { - $j = $j|0; - $data = $data|0; - $hac = $hac|0; - $fac = $fac|0; - var $$ = 0, $$0 = 0, $$lcssa = 0, $$lcssa63 = 0, $$lcssa63$lcssa = 0, $$lcssa66 = 0, $$lcssa66$lcssa = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0; - var $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0; - var $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0; - var $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0; - var $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0; - var $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0; - var $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0; - var $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $k$0 = 0, $k$1 = 0, $k$223 = 0, $k$3 = 0, $k$4$ph20 = 0, $k$415 = 0, $k$415$lcssa = 0, $k$5 = 0, $r1$0$ph = 0, $r1$0$ph519 = 0, $s2$0$ph = 0, $sext = 0, $sext1 = 0, $sext2 = 0; - var label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($j)) + 18128|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)==(0); - if ($2) { - _stbi__err(19079); - $$0 = 0; - return ($$0|0); - } - $3 = ((($j)) + 18136|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)==(0); - $6 = ((($j)) + 18140|0); - $7 = HEAP32[$6>>2]|0; - if ($5) { - $8 = ((($j)) + 18144|0); - $9 = HEAP32[$8>>2]|0; - $10 = ($9|0)==(0); - if (!($10)) { - $14 = (($9) + -1)|0; - HEAP32[$8>>2] = $14; - $$0 = 1; - return ($$0|0); - } - $11 = ((($j)) + 18112|0); - $12 = ((($j)) + 18108|0); - $13 = ((($j)) + 18132|0); - $k$0 = $1; - L11: while(1) { - $15 = HEAP32[$11>>2]|0; - $16 = ($15|0)<(16); - if ($16) { - _stbi__grow_buffer_unsafe($j); - } - $17 = HEAP32[$12>>2]|0; - $18 = $17 >>> 23; - $19 = (($fac) + ($18<<1)|0); - $20 = HEAP16[$19>>1]|0; - $21 = $20 << 16 >> 16; - $22 = ($20<<16>>16)==(0); - do { - if ($22) { - $38 = (_stbi__jpeg_huff_decode($j,$hac)|0); - $39 = ($38|0)<(0); - if ($39) { - label = 12; - break L11; - } - $40 = $38 & 15; - $41 = $38 >> 4; - $42 = ($40|0)==(0); - if (!($42)) { - $52 = (($41) + ($k$0))|0; - $53 = (($52) + 1)|0; - $54 = (17893 + ($52)|0); - $55 = HEAP8[$54>>0]|0; - $56 = $55&255; - $57 = (_stbi__extend_receive($j,$40)|0); - $58 = $57 << $7; - $59 = $58&65535; - $60 = (($data) + ($56<<1)|0); - HEAP16[$60>>1] = $59; - $k$1 = $53; - break; - } - $43 = ($41|0)<(15); - if ($43) { - $$lcssa = $41; - label = 15; - break L11; - } - $51 = (($k$0) + 16)|0; - $k$1 = $51; - } else { - $23 = $21 >>> 4; - $24 = $23 & 15; - $25 = (($24) + ($k$0))|0; - $26 = $21 & 15; - $27 = $17 << $26; - HEAP32[$12>>2] = $27; - $28 = HEAP32[$11>>2]|0; - $29 = (($28) - ($26))|0; - HEAP32[$11>>2] = $29; - $30 = (($25) + 1)|0; - $31 = (17893 + ($25)|0); - $32 = HEAP8[$31>>0]|0; - $33 = $32&255; - $34 = $21 >> 8; - $35 = $34 << $7; - $36 = $35&65535; - $37 = (($data) + ($33<<1)|0); - HEAP16[$37>>1] = $36; - $k$1 = $30; - } - } while(0); - $61 = HEAP32[$13>>2]|0; - $62 = ($k$1|0)>($61|0); - if ($62) { - $$0 = 1; - label = 53; - break; - } else { - $k$0 = $k$1; - } - } - if ((label|0) == 12) { - _stbi__err(18324); - $$0 = 0; - return ($$0|0); - } - else if ((label|0) == 15) { - $44 = 1 << $$lcssa; - HEAP32[$8>>2] = $44; - $45 = ($$lcssa|0)==(0); - if (!($45)) { - $46 = (_stbi__jpeg_get_bits($j,$$lcssa)|0); - $47 = HEAP32[$8>>2]|0; - $48 = (($47) + ($46))|0; - HEAP32[$8>>2] = $48; - } - $49 = HEAP32[$8>>2]|0; - $50 = (($49) + -1)|0; - HEAP32[$8>>2] = $50; - $$0 = 1; - return ($$0|0); - } - else if ((label|0) == 53) { - return ($$0|0); - } - } - $63 = 1 << $7; - $64 = ((($j)) + 18144|0); - $65 = HEAP32[$64>>2]|0; - $66 = ($65|0)==(0); - if (!($66)) { - $71 = (($65) + -1)|0; - HEAP32[$64>>2] = $71; - $72 = HEAP32[$0>>2]|0; - $73 = ((($j)) + 18132|0); - $74 = HEAP32[$73>>2]|0; - $75 = ($72|0)>($74|0); - if ($75) { - $$0 = 1; - return ($$0|0); - } - $sext2 = $63 << 16; - $76 = $sext2 >> 16; - $k$223 = $72; - while(1) { - $77 = (17893 + ($k$223)|0); - $78 = HEAP8[$77>>0]|0; - $79 = $78&255; - $80 = (($data) + ($79<<1)|0); - $81 = HEAP16[$80>>1]|0; - $82 = ($81<<16>>16)==(0); - do { - if (!($82)) { - $83 = (_stbi__jpeg_get_bit($j)|0); - $84 = ($83|0)==(0); - if (!($84)) { - $85 = HEAP16[$80>>1]|0; - $86 = $85 << 16 >> 16; - $87 = $86 & $76; - $88 = ($87|0)==(0); - if ($88) { - $89 = ($85<<16>>16)>(0); - if ($89) { - $90 = (($86) + ($76))|0; - $91 = $90&65535; - HEAP16[$80>>1] = $91; - break; - } else { - $92 = (($86) - ($76))|0; - $93 = $92&65535; - HEAP16[$80>>1] = $93; - break; - } - } - } - } - } while(0); - $94 = (($k$223) + 1)|0; - $95 = HEAP32[$73>>2]|0; - $96 = ($k$223|0)<($95|0); - if ($96) { - $k$223 = $94; - } else { - $$0 = 1; - break; - } - } - return ($$0|0); - } - $sext = $63 << 16; - $67 = $sext >> 16; - $68 = (0 - ($67))|0; - $69 = ((($j)) + 18132|0); - $sext1 = $63 << 16; - $70 = $sext1 >> 16; - $k$3 = $1; - L52: while(1) { - $97 = (_stbi__jpeg_huff_decode($j,$hac)|0); - $98 = ($97|0)<(0); - if ($98) { - label = 33; - break; - } - $99 = $97 & 15; - $100 = $97 >> 4; - switch ($99|0) { - case 0: { - $101 = ($100|0)<(15); - if ($101) { - $102 = 1 << $100; - $103 = (($102) + -1)|0; - HEAP32[$64>>2] = $103; - $104 = ($100|0)==(0); - if ($104) { - $r1$0$ph = 64;$s2$0$ph = 0; - } else { - $105 = (_stbi__jpeg_get_bits($j,$100)|0); - $106 = HEAP32[$64>>2]|0; - $107 = (($106) + ($105))|0; - HEAP32[$64>>2] = $107; - $r1$0$ph = 64;$s2$0$ph = 0; - } - } else { - $r1$0$ph = $100;$s2$0$ph = 0; - } - break; - } - case 1: { - $108 = (_stbi__jpeg_get_bit($j)|0); - $109 = ($108|0)==(0); - $$ = $109 ? $68 : $67; - $r1$0$ph = $100;$s2$0$ph = $$; - break; - } - default: { - label = 38; - break L52; - } - } - $110 = HEAP32[$69>>2]|0; - $111 = ($k$3|0)>($110|0); - L61: do { - if ($111) { - $k$5 = $k$3; - } else { - $k$4$ph20 = $k$3;$r1$0$ph519 = $r1$0$ph; - while(1) { - $k$415 = $k$4$ph20; - while(1) { - $115 = (($k$415) + 1)|0; - $116 = (17893 + ($k$415)|0); - $117 = HEAP8[$116>>0]|0; - $118 = $117&255; - $119 = (($data) + ($118<<1)|0); - $120 = HEAP16[$119>>1]|0; - $121 = ($120<<16>>16)==(0); - if ($121) { - $$lcssa63 = $115;$$lcssa66 = $119;$k$415$lcssa = $k$415; - break; - } - $122 = (_stbi__jpeg_get_bit($j)|0); - $123 = ($122|0)==(0); - do { - if (!($123)) { - $124 = HEAP16[$119>>1]|0; - $125 = $124 << 16 >> 16; - $126 = $125 & $70; - $127 = ($126|0)==(0); - if ($127) { - $128 = ($124<<16>>16)>(0); - if ($128) { - $129 = (($125) + ($70))|0; - $130 = $129&65535; - HEAP16[$119>>1] = $130; - break; - } else { - $133 = (($125) - ($70))|0; - $134 = $133&65535; - HEAP16[$119>>1] = $134; - break; - } - } - } - } while(0); - $131 = HEAP32[$69>>2]|0; - $132 = ($k$415|0)<($131|0); - if ($132) { - $k$415 = $115; - } else { - $k$5 = $115; - break L61; - } - } - $135 = ($r1$0$ph519|0)==(0); - if ($135) { - $$lcssa63$lcssa = $$lcssa63;$$lcssa66$lcssa = $$lcssa66; - break; - } - $112 = (($r1$0$ph519) + -1)|0; - $113 = HEAP32[$69>>2]|0; - $114 = ($k$415$lcssa|0)<($113|0); - if ($114) { - $k$4$ph20 = $$lcssa63;$r1$0$ph519 = $112; - } else { - $k$5 = $$lcssa63; - break L61; - } - } - $136 = $s2$0$ph&65535; - HEAP16[$$lcssa66$lcssa>>1] = $136; - $k$5 = $$lcssa63$lcssa; - } - } while(0); - $137 = HEAP32[$69>>2]|0; - $138 = ($k$5|0)>($137|0); - if ($138) { - $$0 = 1; - label = 53; - break; - } else { - $k$3 = $k$5; - } - } - if ((label|0) == 33) { - _stbi__err(18324); - $$0 = 0; - return ($$0|0); - } - else if ((label|0) == 38) { - _stbi__err(18324); - $$0 = 0; - return ($$0|0); - } - else if ((label|0) == 53) { - return ($$0|0); - } - return (0)|0; -} -function _stbi__jpeg_huff_decode($j,$h) { - $j = $j|0; - $h = $h|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; - var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $k$0 = 0, $k$0$lcssa = 0; - var label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($j)) + 18112|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)<(16); - if ($2) { - _stbi__grow_buffer_unsafe($j); - } - $3 = ((($j)) + 18108|0); - $4 = HEAP32[$3>>2]|0; - $5 = $4 >>> 23; - $6 = (($h) + ($5)|0); - $7 = HEAP8[$6>>0]|0; - $8 = $7&255; - $9 = ($7<<24>>24)==(-1); - if (!($9)) { - $10 = (((($h)) + 1280|0) + ($8)|0); - $11 = HEAP8[$10>>0]|0; - $12 = $11&255; - $13 = HEAP32[$0>>2]|0; - $14 = ($12|0)>($13|0); - if ($14) { - $$0 = -1; - return ($$0|0); - } - $15 = $4 << $12; - HEAP32[$3>>2] = $15; - $16 = HEAP32[$0>>2]|0; - $17 = (($16) - ($12))|0; - HEAP32[$0>>2] = $17; - $18 = (((($h)) + 1024|0) + ($8)|0); - $19 = HEAP8[$18>>0]|0; - $20 = $19&255; - $$0 = $20; - return ($$0|0); - } - $21 = $4 >>> 16; - $k$0 = 10; - while(1) { - $22 = (((($h)) + 1540|0) + ($k$0<<2)|0); - $23 = HEAP32[$22>>2]|0; - $24 = ($21>>>0)<($23>>>0); - $25 = (($k$0) + 1)|0; - if ($24) { - $k$0$lcssa = $k$0; - break; - } else { - $k$0 = $25; - } - } - $26 = ($k$0$lcssa|0)==(17); - $27 = HEAP32[$0>>2]|0; - if ($26) { - $28 = (($27) + -16)|0; - HEAP32[$0>>2] = $28; - $$0 = -1; - return ($$0|0); - } - $29 = ($27|0)<($k$0$lcssa|0); - if ($29) { - $$0 = -1; - return ($$0|0); - } - $30 = HEAP32[$3>>2]|0; - $31 = (32 - ($k$0$lcssa))|0; - $32 = $30 >>> $31; - $33 = (8484 + ($k$0$lcssa<<2)|0); - $34 = HEAP32[$33>>2]|0; - $35 = $32 & $34; - $36 = (((($h)) + 1612|0) + ($k$0$lcssa<<2)|0); - $37 = HEAP32[$36>>2]|0; - $38 = (($35) + ($37))|0; - $39 = (((($h)) + 1280|0) + ($38)|0); - $40 = HEAP8[$39>>0]|0; - $41 = $40&255; - $42 = (32 - ($41))|0; - $43 = $30 >>> $42; - $44 = (8484 + ($41<<2)|0); - $45 = HEAP32[$44>>2]|0; - $46 = $43 & $45; - $47 = (((($h)) + 512|0) + ($38<<1)|0); - $48 = HEAP16[$47>>1]|0; - $49 = $48&65535; - $50 = ($46|0)==($49|0); - if (!($50)) { - ___assert_fail((19185|0),(17471|0),1656,(19267|0)); - // unreachable; - } - $51 = (($27) - ($k$0$lcssa))|0; - HEAP32[$0>>2] = $51; - $52 = HEAP32[$3>>2]|0; - $53 = $52 << $k$0$lcssa; - HEAP32[$3>>2] = $53; - $54 = (((($h)) + 1024|0) + ($38)|0); - $55 = HEAP8[$54>>0]|0; - $56 = $55&255; - $$0 = $56; - return ($$0|0); -} -function _stbi__jpeg_get_bits($j,$n) { - $j = $j|0; - $n = $n|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($j)) + 18112|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)<($n|0); - if ($2) { - _stbi__grow_buffer_unsafe($j); - } - $3 = ((($j)) + 18108|0); - $4 = HEAP32[$3>>2]|0; - $5 = $4 << $n; - $6 = (32 - ($n))|0; - $7 = $4 >>> $6; - $8 = $5 | $7; - $9 = (8484 + ($n<<2)|0); - $10 = HEAP32[$9>>2]|0; - $11 = $10 ^ -1; - $12 = $8 & $11; - HEAP32[$3>>2] = $12; - $13 = HEAP32[$9>>2]|0; - $14 = $8 & $13; - $15 = HEAP32[$0>>2]|0; - $16 = (($15) - ($n))|0; - HEAP32[$0>>2] = $16; - return ($14|0); -} -function _stbi__extend_receive($j,$n) { - $j = $j|0; - $n = $n|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $3 = 0, $4 = 0, $5 = 0; - var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($j)) + 18112|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)<($n|0); - if ($2) { - _stbi__grow_buffer_unsafe($j); - } - $3 = ((($j)) + 18108|0); - $4 = HEAP32[$3>>2]|0; - $5 = $4 << $n; - $6 = (32 - ($n))|0; - $7 = $4 >>> $6; - $8 = $5 | $7; - $9 = ($n>>>0)<(17); - if ($9) { - $10 = $4 >> 31; - $11 = (8484 + ($n<<2)|0); - $12 = HEAP32[$11>>2]|0; - $13 = $12 ^ -1; - $14 = $8 & $13; - HEAP32[$3>>2] = $14; - $15 = HEAP32[$11>>2]|0; - $16 = $15 & $8; - $17 = HEAP32[$0>>2]|0; - $18 = (($17) - ($n))|0; - HEAP32[$0>>2] = $18; - $19 = (8552 + ($n<<2)|0); - $20 = HEAP32[$19>>2]|0; - $21 = $10 ^ -1; - $22 = $20 & $21; - $23 = (($22) + ($16))|0; - return ($23|0); - } else { - ___assert_fail((19101|0),(17471|0),1677,(19164|0)); - // unreachable; - } - return (0)|0; -} -function _stbi__jpeg_get_bit($j) { - $j = $j|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($j)) + 18112|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)<(1); - if ($2) { - _stbi__grow_buffer_unsafe($j); - } - $3 = ((($j)) + 18108|0); - $4 = HEAP32[$3>>2]|0; - $5 = $4 << 1; - HEAP32[$3>>2] = $5; - $6 = HEAP32[$0>>2]|0; - $7 = (($6) + -1)|0; - HEAP32[$0>>2] = $7; - $8 = $4 & -2147483648; - return ($8|0); -} -function _stbi__idct_block($out,$out_stride,$data) { - $out = $out|0; - $out_stride = $out_stride|0; - $data = $data|0; - var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; - var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; - var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0; - var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0; - var $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0; - var $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0; - var $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0; - var $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $d$04 = 0, $exitcond = 0, $exitcond9 = 0, $i$08 = 0, $i$13 = 0, $o$01 = 0, $v$06 = 0, $v$12 = 0; - var $val = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 256|0; - $val = sp; - $d$04 = $data;$i$08 = 0;$v$06 = $val; - while(1) { - $0 = ((($d$04)) + 16|0); - $1 = HEAP16[$0>>1]|0; - $2 = ($1<<16>>16)==(0); - if ($2) { - $3 = ((($d$04)) + 32|0); - $4 = HEAP16[$3>>1]|0; - $5 = ($4<<16>>16)==(0); - if ($5) { - $6 = ((($d$04)) + 48|0); - $7 = HEAP16[$6>>1]|0; - $8 = ($7<<16>>16)==(0); - if ($8) { - $9 = ((($d$04)) + 64|0); - $10 = HEAP16[$9>>1]|0; - $11 = ($10<<16>>16)==(0); - if ($11) { - $12 = ((($d$04)) + 80|0); - $13 = HEAP16[$12>>1]|0; - $14 = ($13<<16>>16)==(0); - if ($14) { - $15 = ((($d$04)) + 96|0); - $16 = HEAP16[$15>>1]|0; - $17 = ($16<<16>>16)==(0); - if ($17) { - $18 = ((($d$04)) + 112|0); - $19 = HEAP16[$18>>1]|0; - $20 = ($19<<16>>16)==(0); - if ($20) { - $21 = HEAP16[$d$04>>1]|0; - $22 = $21 << 16 >> 16; - $23 = $22 << 2; - $24 = ((($v$06)) + 224|0); - HEAP32[$24>>2] = $23; - $25 = ((($v$06)) + 192|0); - HEAP32[$25>>2] = $23; - $26 = ((($v$06)) + 160|0); - HEAP32[$26>>2] = $23; - $27 = ((($v$06)) + 128|0); - HEAP32[$27>>2] = $23; - $28 = ((($v$06)) + 96|0); - HEAP32[$28>>2] = $23; - $29 = ((($v$06)) + 64|0); - HEAP32[$29>>2] = $23; - $30 = ((($v$06)) + 32|0); - HEAP32[$30>>2] = $23; - HEAP32[$v$06>>2] = $23; - } else { - label = 10; - } - } else { - label = 10; - } - } else { - label = 10; - } - } else { - label = 10; - } - } else { - label = 10; - } - } else { - label = 10; - } - } else { - label = 10; - } - if ((label|0) == 10) { - label = 0; - $31 = ((($d$04)) + 32|0); - $32 = HEAP16[$31>>1]|0; - $33 = $32 << 16 >> 16; - $34 = ((($d$04)) + 96|0); - $35 = HEAP16[$34>>1]|0; - $36 = $35 << 16 >> 16; - $37 = (($36) + ($33))|0; - $38 = ($37*2217)|0; - $39 = Math_imul($36, -7567)|0; - $40 = (($38) + ($39))|0; - $41 = ($33*3135)|0; - $42 = (($38) + ($41))|0; - $43 = HEAP16[$d$04>>1]|0; - $44 = $43 << 16 >> 16; - $45 = ((($d$04)) + 64|0); - $46 = HEAP16[$45>>1]|0; - $47 = $46 << 16 >> 16; - $48 = (($47) + ($44))|0; - $49 = $48 << 12; - $50 = (($44) - ($47))|0; - $51 = $50 << 12; - $52 = (($49) - ($42))|0; - $53 = (($51) - ($40))|0; - $54 = ((($d$04)) + 112|0); - $55 = HEAP16[$54>>1]|0; - $56 = $55 << 16 >> 16; - $57 = ((($d$04)) + 80|0); - $58 = HEAP16[$57>>1]|0; - $59 = $58 << 16 >> 16; - $60 = ((($d$04)) + 48|0); - $61 = HEAP16[$60>>1]|0; - $62 = $61 << 16 >> 16; - $63 = HEAP16[$0>>1]|0; - $64 = $63 << 16 >> 16; - $65 = (($62) + ($56))|0; - $66 = (($64) + ($59))|0; - $67 = (($64) + ($56))|0; - $68 = (($62) + ($59))|0; - $69 = (($66) + ($65))|0; - $70 = ($69*4816)|0; - $71 = ($56*1223)|0; - $72 = ($59*8410)|0; - $73 = ($62*12586)|0; - $74 = ($64*6149)|0; - $75 = Math_imul($67, -3685)|0; - $76 = (($70) + ($75))|0; - $77 = Math_imul($68, -10497)|0; - $78 = (($70) + ($77))|0; - $79 = Math_imul($65, -8034)|0; - $80 = Math_imul($66, -1597)|0; - $81 = (($80) + ($74))|0; - $82 = (($81) + ($76))|0; - $83 = (($79) + ($73))|0; - $84 = (($83) + ($78))|0; - $85 = (($80) + ($72))|0; - $86 = (($85) + ($78))|0; - $87 = (($79) + ($71))|0; - $88 = (($87) + ($76))|0; - $89 = (($42) + 512)|0; - $90 = (($89) + ($49))|0; - $91 = (($40) + 512)|0; - $92 = (($91) + ($51))|0; - $93 = (($53) + 512)|0; - $94 = (($52) + 512)|0; - $95 = (($82) + ($90))|0; - $96 = $95 >> 10; - HEAP32[$v$06>>2] = $96; - $97 = (($90) - ($82))|0; - $98 = $97 >> 10; - $99 = ((($v$06)) + 224|0); - HEAP32[$99>>2] = $98; - $100 = (($84) + ($92))|0; - $101 = $100 >> 10; - $102 = ((($v$06)) + 32|0); - HEAP32[$102>>2] = $101; - $103 = (($92) - ($84))|0; - $104 = $103 >> 10; - $105 = ((($v$06)) + 192|0); - HEAP32[$105>>2] = $104; - $106 = (($86) + ($93))|0; - $107 = $106 >> 10; - $108 = ((($v$06)) + 64|0); - HEAP32[$108>>2] = $107; - $109 = (($93) - ($86))|0; - $110 = $109 >> 10; - $111 = ((($v$06)) + 160|0); - HEAP32[$111>>2] = $110; - $112 = (($88) + ($94))|0; - $113 = $112 >> 10; - $114 = ((($v$06)) + 96|0); - HEAP32[$114>>2] = $113; - $115 = (($94) - ($88))|0; - $116 = $115 >> 10; - $117 = ((($v$06)) + 128|0); - HEAP32[$117>>2] = $116; - } - $118 = (($i$08) + 1)|0; - $119 = ((($d$04)) + 2|0); - $120 = ((($v$06)) + 4|0); - $exitcond9 = ($118|0)==(8); - if ($exitcond9) { - $i$13 = 0;$o$01 = $out;$v$12 = $val; - break; - } else { - $d$04 = $119;$i$08 = $118;$v$06 = $120; - } - } - while(1) { - $121 = ((($v$12)) + 8|0); - $122 = HEAP32[$121>>2]|0; - $123 = ((($v$12)) + 24|0); - $124 = HEAP32[$123>>2]|0; - $125 = (($124) + ($122))|0; - $126 = ($125*2217)|0; - $127 = Math_imul($124, -7567)|0; - $128 = (($126) + ($127))|0; - $129 = ($122*3135)|0; - $130 = (($126) + ($129))|0; - $131 = HEAP32[$v$12>>2]|0; - $132 = ((($v$12)) + 16|0); - $133 = HEAP32[$132>>2]|0; - $134 = (($133) + ($131))|0; - $135 = $134 << 12; - $136 = (($131) - ($133))|0; - $137 = $136 << 12; - $138 = (($135) - ($130))|0; - $139 = (($137) - ($128))|0; - $140 = ((($v$12)) + 28|0); - $141 = HEAP32[$140>>2]|0; - $142 = ((($v$12)) + 20|0); - $143 = HEAP32[$142>>2]|0; - $144 = ((($v$12)) + 12|0); - $145 = HEAP32[$144>>2]|0; - $146 = ((($v$12)) + 4|0); - $147 = HEAP32[$146>>2]|0; - $148 = (($145) + ($141))|0; - $149 = (($147) + ($143))|0; - $150 = (($147) + ($141))|0; - $151 = (($145) + ($143))|0; - $152 = (($149) + ($148))|0; - $153 = ($152*4816)|0; - $154 = ($141*1223)|0; - $155 = ($143*8410)|0; - $156 = ($145*12586)|0; - $157 = ($147*6149)|0; - $158 = Math_imul($150, -3685)|0; - $159 = (($153) + ($158))|0; - $160 = Math_imul($151, -10497)|0; - $161 = (($153) + ($160))|0; - $162 = Math_imul($148, -8034)|0; - $163 = Math_imul($149, -1597)|0; - $164 = (($163) + ($157))|0; - $165 = (($164) + ($159))|0; - $166 = (($162) + ($156))|0; - $167 = (($166) + ($161))|0; - $168 = (($163) + ($155))|0; - $169 = (($168) + ($161))|0; - $170 = (($162) + ($154))|0; - $171 = (($170) + ($159))|0; - $172 = (($130) + 16842752)|0; - $173 = (($172) + ($135))|0; - $174 = (($128) + 16842752)|0; - $175 = (($174) + ($137))|0; - $176 = (($139) + 16842752)|0; - $177 = (($138) + 16842752)|0; - $178 = (($165) + ($173))|0; - $179 = $178 >> 17; - $180 = (_stbi__clamp($179)|0); - HEAP8[$o$01>>0] = $180; - $181 = (($173) - ($165))|0; - $182 = $181 >> 17; - $183 = (_stbi__clamp($182)|0); - $184 = ((($o$01)) + 7|0); - HEAP8[$184>>0] = $183; - $185 = (($167) + ($175))|0; - $186 = $185 >> 17; - $187 = (_stbi__clamp($186)|0); - $188 = ((($o$01)) + 1|0); - HEAP8[$188>>0] = $187; - $189 = (($175) - ($167))|0; - $190 = $189 >> 17; - $191 = (_stbi__clamp($190)|0); - $192 = ((($o$01)) + 6|0); - HEAP8[$192>>0] = $191; - $193 = (($169) + ($176))|0; - $194 = $193 >> 17; - $195 = (_stbi__clamp($194)|0); - $196 = ((($o$01)) + 2|0); - HEAP8[$196>>0] = $195; - $197 = (($176) - ($169))|0; - $198 = $197 >> 17; - $199 = (_stbi__clamp($198)|0); - $200 = ((($o$01)) + 5|0); - HEAP8[$200>>0] = $199; - $201 = (($171) + ($177))|0; - $202 = $201 >> 17; - $203 = (_stbi__clamp($202)|0); - $204 = ((($o$01)) + 3|0); - HEAP8[$204>>0] = $203; - $205 = (($177) - ($171))|0; - $206 = $205 >> 17; - $207 = (_stbi__clamp($206)|0); - $208 = ((($o$01)) + 4|0); - HEAP8[$208>>0] = $207; - $209 = (($i$13) + 1)|0; - $210 = ((($v$12)) + 32|0); - $211 = (($o$01) + ($out_stride)|0); - $exitcond = ($209|0)==(8); - if ($exitcond) { - break; - } else { - $i$13 = $209;$o$01 = $211;$v$12 = $210; - } - } - STACKTOP = sp;return; -} -function _stbi__YCbCr_to_RGB_row($out,$y,$pcb,$pcr,$count,$step) { - $out = $out|0; - $y = $y|0; - $pcb = $pcb|0; - $pcr = $pcr|0; - $count = $count|0; - $step = $step|0; - var $$04 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $5 = 0; - var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $b$0 = 0, $exitcond = 0, $g$0 = 0, $i$03 = 0, $r$0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ($count|0)>(0); - if ($0) { - $$04 = $out;$i$03 = 0; - } else { - return; - } - while(1) { - $1 = (($y) + ($i$03)|0); - $2 = HEAP8[$1>>0]|0; - $3 = $2&255; - $4 = $3 << 20; - $5 = $4 | 524288; - $6 = (($pcr) + ($i$03)|0); - $7 = HEAP8[$6>>0]|0; - $8 = $7&255; - $9 = (($8) + -128)|0; - $10 = (($pcb) + ($i$03)|0); - $11 = HEAP8[$10>>0]|0; - $12 = $11&255; - $13 = (($12) + -128)|0; - $14 = Math_imul($9, 1470208)|0; - $15 = (($14) + ($5))|0; - $16 = Math_imul($9, -748800)|0; - $17 = (($5) + ($16))|0; - $18 = Math_imul($13, -360960)|0; - $19 = $18 & -65536; - $20 = (($19) + ($17))|0; - $21 = Math_imul($13, 1858048)|0; - $22 = (($21) + ($5))|0; - $23 = $15 >> 20; - $24 = $20 >> 20; - $25 = $22 >> 20; - $26 = ($23>>>0)>(255); - $27 = $15 >>> 31; - $28 = (($27) + 255)|0; - $r$0 = $26 ? $28 : $23; - $29 = ($24>>>0)>(255); - $30 = $20 >>> 31; - $31 = (($30) + 255)|0; - $g$0 = $29 ? $31 : $24; - $32 = ($25>>>0)>(255); - $33 = $22 >>> 31; - $34 = (($33) + 255)|0; - $b$0 = $32 ? $34 : $25; - $35 = $r$0&255; - HEAP8[$$04>>0] = $35; - $36 = $g$0&255; - $37 = ((($$04)) + 1|0); - HEAP8[$37>>0] = $36; - $38 = $b$0&255; - $39 = ((($$04)) + 2|0); - HEAP8[$39>>0] = $38; - $40 = ((($$04)) + 3|0); - HEAP8[$40>>0] = -1; - $41 = (($$04) + ($step)|0); - $42 = (($i$03) + 1)|0; - $exitcond = ($42|0)==($count|0); - if ($exitcond) { - break; - } else { - $$04 = $41;$i$03 = $42; - } - } - return; -} -function _stbi__resample_row_hv_2($out,$in_near,$in_far,$w,$hs) { - $out = $out|0; - $in_near = $in_near|0; - $in_far = $in_far|0; - $w = $w|0; - $hs = $hs|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; - var $9 = 0, $exitcond = 0, $i$01 = 0, $t1$0$lcssa = 0, $t1$02 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ($w|0)==(1); - $1 = HEAP8[$in_near>>0]|0; - $2 = $1&255; - $3 = ($2*3)|0; - $4 = HEAP8[$in_far>>0]|0; - $5 = $4&255; - $6 = (($3) + ($5))|0; - $7 = (($6) + 2)|0; - $8 = $7 >>> 2; - $9 = $8&255; - if ($0) { - $10 = ((($out)) + 1|0); - HEAP8[$10>>0] = $9; - HEAP8[$out>>0] = $9; - return ($out|0); - } - HEAP8[$out>>0] = $9; - $11 = ($w|0)>(1); - if ($11) { - $i$01 = 1;$t1$02 = $6; - while(1) { - $12 = (($in_near) + ($i$01)|0); - $13 = HEAP8[$12>>0]|0; - $14 = $13&255; - $15 = ($14*3)|0; - $16 = (($in_far) + ($i$01)|0); - $17 = HEAP8[$16>>0]|0; - $18 = $17&255; - $19 = (($15) + ($18))|0; - $20 = ($t1$02*3)|0; - $21 = (($20) + 8)|0; - $22 = (($21) + ($19))|0; - $23 = $22 >>> 4; - $24 = $23&255; - $25 = $i$01 << 1; - $26 = (($25) + -1)|0; - $27 = (($out) + ($26)|0); - HEAP8[$27>>0] = $24; - $28 = ($19*3)|0; - $29 = (($t1$02) + 8)|0; - $30 = (($29) + ($28))|0; - $31 = $30 >>> 4; - $32 = $31&255; - $33 = (($out) + ($25)|0); - HEAP8[$33>>0] = $32; - $34 = (($i$01) + 1)|0; - $exitcond = ($34|0)==($w|0); - if ($exitcond) { - $t1$0$lcssa = $19; - break; - } else { - $i$01 = $34;$t1$02 = $19; - } - } - } else { - $t1$0$lcssa = $6; - } - $35 = (($t1$0$lcssa) + 2)|0; - $36 = $35 >>> 2; - $37 = $36&255; - $38 = $w << 1; - $39 = (($38) + -1)|0; - $40 = (($out) + ($39)|0); - HEAP8[$40>>0] = $37; - return ($out|0); -} -function _stbi__clamp($x) { - $x = $x|0; - var $$not = 0, $0 = 0, $1 = 0, $2 = 0, $x$lobit = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ($x>>>0)>(255); - if ($0) { - $x$lobit = $x >> 31; - $1 = $x$lobit&255; - $$not = $1 ^ -1; - return ($$not|0); - } else { - $2 = $x&255; - return ($2|0); - } - return (0)|0; -} -function _stbi__stdio_read($user,$data,$size) { - $user = $user|0; - $data = $data|0; - $size = $size|0; - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_fread($data,1,$size,$user)|0); - return ($0|0); -} -function _stbi__stdio_skip($user,$n) { - $user = $user|0; - $n = $n|0; - var label = 0, sp = 0; - sp = STACKTOP; - (_fseek($user,$n,1)|0); - return; -} -function _stbi__stdio_eof($user) { - $user = $user|0; - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_feof($user)|0); - return ($0|0); -} -function _PixelIsMagenta($p) { - $p = $p|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP8[$p>>0]|0; - $1 = ($0<<24>>24)==(-1); - if ($1) { - $2 = ((($p)) + 1|0); - $3 = HEAP8[$2>>0]|0; - $4 = ($3<<24>>24)==(0); - if ($4) { - $5 = ((($p)) + 2|0); - $6 = HEAP8[$5>>0]|0; - $7 = ($6<<24>>24)==(-1); - if ($7) { - $8 = ((($p)) + 3|0); - $9 = HEAP8[$8>>0]|0; - $10 = ($9<<24>>24)==(-1); - $12 = $10; - } else { - $12 = 0; - } - } else { - $12 = 0; - } - } else { - $12 = 0; - } - $11 = $12&1; - return ($11|0); -} -function _stbtt__sort_edges($p,$n) { - $p = $p|0; - $n = $n|0; - var label = 0, sp = 0; - sp = STACKTOP; - _stbtt__sort_edges_quicksort($p,$n); - _stbtt__sort_edges_ins_sort($p,$n); - return; -} -function _stbtt__rasterize_sorted_edges($result,$e,$n,$off_x,$off_y) { - $result = $result|0; - $e = $e|0; - $n = $n|0; - $off_x = $off_x|0; - $off_y = $off_y|0; - var $$019 = 0, $$1$lcssa = 0, $$18 = 0, $$lcssa = 0, $$sum = 0, $$sum1 = 0, $0 = 0, $1 = 0, $10 = 0.0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0.0, $19 = 0.0, $2 = 0, $20 = 0; - var $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0.0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0.0, $33 = 0, $34 = 0, $35 = 0, $36 = 0.0, $37 = 0, $38 = 0, $39 = 0; - var $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0.0, $44 = 0, $45 = 0.0, $46 = 0, $47 = 0, $48 = 0, $49 = 0.0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0.0, $56 = 0, $57 = 0; - var $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0.0, $67 = 0.0, $68 = 0, $69 = 0.0, $7 = 0, $70 = 0.0, $71 = 0.0, $72 = 0.0, $73 = 0, $74 = 0, $75 = 0; - var $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0.0, $88 = 0, $89 = 0.0, $9 = 0.0, $90 = 0.0, $91 = 0, $92 = 0, $93 = 0; - var $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $active$sroa$0 = 0, $fabsf = 0.0, $hh = 0, $i$010 = 0, $j$016 = 0, $scanline$0 = 0, $scanline_data = 0, $step$0$ph7 = 0, $step$113 = 0, $sum$011 = 0.0, $y$018 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 544|0; - $hh = sp + 520|0; - $active$sroa$0 = sp; - $scanline_data = sp + 4|0; - ;HEAP32[$hh>>2]=0|0;HEAP32[$hh+4>>2]=0|0;HEAP32[$hh+8>>2]=0|0; - HEAP32[$active$sroa$0>>2] = 0; - $0 = HEAP32[$result>>2]|0; - $1 = ($0|0)>(64); - if ($1) { - $2 = $0 << 3; - $3 = $2 | 4; - $4 = (_malloc($3)|0); - $scanline$0 = $4; - } else { - $scanline$0 = $scanline_data; - } - $5 = HEAP32[$result>>2]|0; - $6 = ((($result)) + 4|0); - $7 = HEAP32[$6>>2]|0; - $8 = (($7) + ($off_y))|0; - $9 = (+($8|0)); - $10 = $9 + 1.0; - $11 = (((($e) + (($n*20)|0)|0)) + 4|0); - HEAPF32[$11>>2] = $10; - $12 = HEAP32[$6>>2]|0; - $13 = ($12|0)>(0); - L5: do { - if ($13) { - $14 = (($scanline$0) + ($5<<2)|0); - $$sum1 = (($5) + 1)|0; - $15 = (($scanline$0) + ($$sum1<<2)|0); - $16 = ((($result)) + 8|0); - $17 = ((($result)) + 12|0); - $$019 = $e;$j$016 = 0;$y$018 = $off_y; - L7: while(1) { - $18 = (+($y$018|0)); - $19 = $18 + 1.0; - $20 = HEAP32[$result>>2]|0; - $21 = $20 << 2; - _memset(($scanline$0|0),0,($21|0))|0; - $22 = HEAP32[$result>>2]|0; - $23 = $22 << 2; - $24 = (($23) + 4)|0; - _memset(($14|0),0,($24|0))|0; - $25 = HEAP32[$active$sroa$0>>2]|0; - $26 = ($25|0)==(0|0); - L9: do { - if (!($26)) { - $99 = $25;$step$0$ph7 = $active$sroa$0; - while(1) { - $31 = $99; - while(1) { - $30 = ((($31)) + 24|0); - $32 = +HEAPF32[$30>>2]; - $33 = !($32 <= $18); - if ($33) { - $$lcssa = $31; - break; - } - $34 = HEAP32[$31>>2]|0; - HEAP32[$step$0$ph7>>2] = $34; - $35 = ((($31)) + 16|0); - $36 = +HEAPF32[$35>>2]; - $37 = $36 != 0.0; - if (!($37)) { - label = 11; - break L7; - } - HEAPF32[$35>>2] = 0.0; - _stbtt__hheap_free($hh,$31); - $38 = HEAP32[$step$0$ph7>>2]|0; - $39 = ($38|0)==(0|0); - if ($39) { - break L9; - } else { - $31 = $38; - } - } - $40 = HEAP32[$$lcssa>>2]|0; - $41 = ($40|0)==(0|0); - if ($41) { - break; - } else { - $99 = $40;$step$0$ph7 = $$lcssa; - } - } - } - } while(0); - $27 = ((($$019)) + 4|0); - $28 = +HEAPF32[$27>>2]; - $29 = !($28 <= $19); - if ($29) { - $$1$lcssa = $$019; - } else { - $$18 = $$019;$45 = $28; - while(1) { - $42 = ((($$18)) + 12|0); - $43 = +HEAPF32[$42>>2]; - $44 = $45 != $43; - if ($44) { - $46 = (_stbtt__new_active($hh,$$18,$off_x,$18)|0); - $47 = ($46|0)==(0|0); - if (!($47)) { - $48 = ((($46)) + 24|0); - $49 = +HEAPF32[$48>>2]; - $50 = !($49 >= $18); - if ($50) { - label = 17; - break L7; - } - $51 = HEAP32[$active$sroa$0>>2]|0; - HEAP32[$46>>2] = $51; - $52 = $46; - HEAP32[$active$sroa$0>>2] = $52; - } - } - $53 = ((($$18)) + 20|0); - $54 = ((($$18)) + 24|0); - $55 = +HEAPF32[$54>>2]; - $56 = !($55 <= $19); - if ($56) { - $$1$lcssa = $53; - break; - } else { - $$18 = $53;$45 = $55; - } - } - } - $57 = HEAP32[$active$sroa$0>>2]|0; - $58 = ($57|0)==(0); - if (!($58)) { - $59 = $57; - $60 = HEAP32[$result>>2]|0; - _stbtt__fill_active_edges_new($scanline$0,$15,$60,$59,$18); - } - $61 = HEAP32[$result>>2]|0; - $62 = ($61|0)>(0); - if ($62) { - $i$010 = 0;$sum$011 = 0.0; - while(1) { - $$sum = (($i$010) + ($5))|0; - $65 = (($scanline$0) + ($$sum<<2)|0); - $66 = +HEAPF32[$65>>2]; - $67 = $sum$011 + $66; - $68 = (($scanline$0) + ($i$010<<2)|0); - $69 = +HEAPF32[$68>>2]; - $70 = $69 + $67; - $fabsf = (+Math_abs((+$70))); - $71 = $fabsf * 255.0; - $72 = $71 + 0.5; - $73 = (~~(($72))); - $74 = ($73|0)>(255); - $75 = $73&255; - $76 = $74 ? -1 : $75; - $77 = HEAP32[$16>>2]|0; - $78 = Math_imul($77, $j$016)|0; - $79 = (($78) + ($i$010))|0; - $80 = HEAP32[$17>>2]|0; - $81 = (($80) + ($79)|0); - HEAP8[$81>>0] = $76; - $82 = (($i$010) + 1)|0; - $83 = HEAP32[$result>>2]|0; - $84 = ($82|0)<($83|0); - if ($84) { - $i$010 = $82;$sum$011 = $67; - } else { - break; - } - } - } - $63 = HEAP32[$active$sroa$0>>2]|0; - $64 = ($63|0)==(0|0); - if (!($64)) { - $86 = $63;$step$113 = $active$sroa$0; - while(1) { - $85 = ((($86)) + 8|0); - $87 = +HEAPF32[$85>>2]; - $88 = ((($86)) + 4|0); - $89 = +HEAPF32[$88>>2]; - $90 = $87 + $89; - HEAPF32[$88>>2] = $90; - $91 = HEAP32[$step$113>>2]|0; - $92 = HEAP32[$91>>2]|0; - $93 = ($92|0)==(0|0); - if ($93) { - break; - } else { - $86 = $92;$step$113 = $91; - } - } - } - $94 = (($y$018) + 1)|0; - $95 = (($j$016) + 1)|0; - $96 = HEAP32[$6>>2]|0; - $97 = ($95|0)<($96|0); - if ($97) { - $$019 = $$1$lcssa;$j$016 = $95;$y$018 = $94; - } else { - break L5; - } - } - if ((label|0) == 11) { - ___assert_fail((19974|0),(13336|0),2099,(19987|0)); - // unreachable; - } - else if ((label|0) == 17) { - ___assert_fail((20017|0),(13336|0),2112,(19987|0)); - // unreachable; - } } } while(0); - _stbtt__hheap_cleanup($hh); - $98 = ($scanline$0|0)==($scanline_data|0); - if ($98) { - STACKTOP = sp;return; - } - _free($scanline$0); + $16 = ((($4)) + 16|0); + _alGenSources(1,($16|0)); + $17 = HEAP32[$16>>2]|0; + _alSourcef(($17|0),4099,1.0); + $18 = HEAP32[$16>>2]|0; + _alSourcef(($18|0),4106,1.0); + $19 = HEAP32[$16>>2]|0; + _alSource3f(($19|0),4100,0.0,0.0,0.0); + $20 = HEAP32[$16>>2]|0; + _alSource3f(($20|0),4102,0.0,0.0,0.0); + $21 = ((($4)) + 20|0); + _alGenBuffers(2,($21|0)); + $22 = HEAP32[$6>>2]|0; + $23 = $22 << 9; + $24 = $23 & 536870400; + $25 = HEAP32[$26>>2]|0; + $27 = Math_imul($24, $25)|0; + $28 = (_calloc($27,1)|0); + $29 = ((($4)) + 12|0); + $30 = ((($4)) + 20|0); + $31 = HEAP32[$30>>2]|0; + $32 = HEAP32[$29>>2]|0; + $33 = HEAP32[$6>>2]|0; + $34 = $33 << 9; + $35 = $34 & 536870400; + $36 = HEAP32[$26>>2]|0; + $37 = Math_imul($35, $36)|0; + $38 = HEAP32[$4>>2]|0; + _alBufferData(($31|0),($32|0),($28|0),($37|0),($38|0)); + $39 = ((($4)) + 24|0); + $40 = HEAP32[$39>>2]|0; + $41 = HEAP32[$29>>2]|0; + $42 = HEAP32[$6>>2]|0; + $43 = $42 << 9; + $44 = $43 & 536870400; + $45 = HEAP32[$26>>2]|0; + $46 = Math_imul($44, $45)|0; + $47 = HEAP32[$4>>2]|0; + _alBufferData(($40|0),($41|0),($28|0),($46|0),($47|0)); + _free($28); + $48 = HEAP32[$16>>2]|0; + _alSourceQueueBuffers(($48|0),2,($21|0)); + $49 = HEAP32[$16>>2]|0; + $50 = HEAP32[$4>>2]|0; + $51 = HEAP32[$6>>2]|0; + $52 = HEAP32[$26>>2]|0; + $53 = ($52|0)==(1); + $54 = $53 ? 16263 : 16268; + HEAP32[$vararg_buffer7>>2] = $49; + $vararg_ptr10 = ((($vararg_buffer7)) + 4|0); + HEAP32[$vararg_ptr10>>2] = $50; + $vararg_ptr11 = ((($vararg_buffer7)) + 8|0); + HEAP32[$vararg_ptr11>>2] = $51; + $vararg_ptr12 = ((($vararg_buffer7)) + 12|0); + HEAP32[$vararg_ptr12>>2] = $54; + _TraceLog(0,18108,$vararg_buffer7); + ;HEAP32[$0>>2]=HEAP32[$4>>2]|0;HEAP32[$0+4>>2]=HEAP32[$4+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$4+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$4+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$4+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[$4+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[$4+24>>2]|0; STACKTOP = sp;return; } -function _stbtt__hheap_free($hh,$p) { - $hh = $hh|0; - $p = $p|0; - var $0 = 0, $1 = 0, label = 0, sp = 0; +function _UnloadMusicStream($0) { + $0 = $0|0; + var $$byval_copy = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = ((($hh)) + 4|0); - $1 = HEAP32[$0>>2]|0; - HEAP32[$p>>2] = $1; - HEAP32[$0>>2] = $p; - return; -} -function _stbtt__new_active($hh,$e,$off_x,$start_point) { - $hh = $hh|0; - $e = $e|0; - $off_x = $off_x|0; - $start_point = +$start_point; - var $0 = 0, $1 = 0, $10 = 0.0, $11 = 0, $12 = 0, $13 = 0, $14 = 0.0, $15 = 0.0, $16 = 0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $2 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0, $23 = 0.0, $24 = 0.0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0.0, $29 = 0, $3 = 0.0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_stbtt__hheap_alloc($hh)|0); - $1 = ((($e)) + 8|0); - $2 = +HEAPF32[$1>>2]; - $3 = +HEAPF32[$e>>2]; - $4 = $2 - $3; - $5 = ((($e)) + 12|0); - $6 = +HEAPF32[$5>>2]; - $7 = ((($e)) + 4|0); - $8 = +HEAPF32[$7>>2]; - $9 = $6 - $8; - $10 = $4 / $9; - $11 = ($0|0)==(0|0); - if ($11) { - ___assert_fail((20307|0),(13336|0),1700,(20323|0)); - // unreachable; - } else { - $12 = ((($0)) + 8|0); - HEAPF32[$12>>2] = $10; - $13 = $10 != 0.0; - $14 = 1.0 / $10; - $15 = $13 ? $14 : 0.0; - $16 = ((($0)) + 12|0); - HEAPF32[$16>>2] = $15; - $17 = +HEAPF32[$e>>2]; - $18 = +HEAPF32[$7>>2]; - $19 = $start_point - $18; - $20 = $10 * $19; - $21 = $17 + $20; - $22 = ((($0)) + 4|0); - $23 = (+($off_x|0)); - $24 = $21 - $23; - HEAPF32[$22>>2] = $24; - $25 = ((($e)) + 16|0); - $26 = HEAP32[$25>>2]|0; - $27 = ($26|0)!=(0); - $28 = $27 ? 1.0 : -1.0; - $29 = ((($0)) + 16|0); - HEAPF32[$29>>2] = $28; - $30 = HEAP32[$7>>2]|0; - $31 = ((($0)) + 20|0); - HEAP32[$31>>2] = $30; - $32 = HEAP32[$5>>2]|0; - $33 = ((($0)) + 24|0); - HEAP32[$33>>2] = $32; - HEAP32[$0>>2] = 0; - return ($0|0); - } - return (0)|0; -} -function _stbtt__fill_active_edges_new($scanline,$scanline_fill,$len,$e,$y_top) { - $scanline = $scanline|0; - $scanline_fill = $scanline_fill|0; - $len = $len|0; - $e = $e|0; - $y_top = +$y_top; - var $$014 = 0, $$not = 0, $0 = 0.0, $1 = 0, $10 = 0, $100 = 0.0, $101 = 0.0, $102 = 0.0, $103 = 0.0, $104 = 0.0, $105 = 0.0, $106 = 0.0, $107 = 0.0, $108 = 0.0, $109 = 0.0, $11 = 0.0, $110 = 0.0, $111 = 0, $112 = 0.0, $113 = 0.0; - var $114 = 0.0, $115 = 0.0, $116 = 0, $117 = 0.0, $118 = 0.0, $119 = 0.0, $12 = 0, $120 = 0, $121 = 0.0, $122 = 0.0, $123 = 0.0, $124 = 0.0, $125 = 0.0, $126 = 0.0, $127 = 0.0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0; - var $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0.0, $2 = 0.0, $20 = 0, $21 = 0.0, $22 = 0, $23 = 0.0, $24 = 0, $25 = 0, $26 = 0.0; - var $27 = 0.0, $28 = 0.0, $29 = 0.0, $3 = 0, $30 = 0, $31 = 0.0, $32 = 0.0, $33 = 0.0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0.0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0.0, $46 = 0.0, $47 = 0.0, $48 = 0.0, $49 = 0.0, $5 = 0.0, $50 = 0.0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0, $6 = 0, $60 = 0.0, $61 = 0.0, $62 = 0; - var $63 = 0.0, $64 = 0.0, $65 = 0.0, $66 = 0.0, $67 = 0.0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0.0, $72 = 0.0, $73 = 0.0, $74 = 0.0, $75 = 0, $76 = 0.0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0.0, $80 = 0.0; - var $81 = 0.0, $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0, $86 = 0.0, $87 = 0.0, $88 = 0.0, $89 = 0, $9 = 0, $90 = 0.0, $91 = 0.0, $92 = 0, $93 = 0.0, $94 = 0.0, $95 = 0.0, $96 = 0, $97 = 0, $98 = 0, $99 = 0.0; - var $area$0$lcssa = 0.0, $area$012 = 0.0, $brmerge = 0, $dy$0 = 0.0, $exitcond = 0, $exitcond20 = 0, $fabsf = 0.0, $or$cond = 0, $or$cond2 = 0, $or$cond3 = 0, $or$cond4 = 0, $or$cond5 = 0, $or$cond6 = 0, $or$cond7 = 0, $or$cond8 = 0, $or$cond9 = 0, $sy0$0 = 0.0, $sy0$1 = 0.0, $sy1$0 = 0.0, $sy1$1 = 0.0; - var $x01$0 = 0.0, $x2$011 = 0, $x4$010 = 0, $x_bottom$0 = 0.0, $x_bottom$1 = 0.0, $x_top$0 = 0.0, $x_top$1 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $0 = $y_top + 1.0; - $1 = ($e|0)==(0|0); - if ($1) { - return; - } - $2 = (+($len|0)); - $3 = ((($scanline_fill)) + -4|0); - $4 = ((($scanline_fill)) + -4|0); - $5 = (+($len|0)); - $6 = ($len|0)>(0); - $$014 = $e; - L4: while(1) { - $7 = ((($$014)) + 24|0); - $8 = +HEAPF32[$7>>2]; - $9 = $8 >= $y_top; - if (!($9)) { - label = 4; - break; - } - $10 = ((($$014)) + 8|0); - $11 = +HEAPF32[$10>>2]; - $12 = $11 == 0.0; - $13 = ((($$014)) + 4|0); - $14 = +HEAPF32[$13>>2]; - do { - if ($12) { - $15 = $14 < $2; - if ($15) { - $16 = !($14 >= 0.0); - if ($16) { - _stbtt__handle_clipped_edge($3,0,$$014,$14,$y_top,$14,$0); - break; - } else { - $17 = (~~(($14))); - _stbtt__handle_clipped_edge($scanline,$17,$$014,$14,$y_top,$14,$0); - $18 = (($17) + 1)|0; - _stbtt__handle_clipped_edge($4,$18,$$014,$14,$y_top,$14,$0); - break; - } - } - } else { - $19 = $11 + $14; - $20 = ((($$014)) + 12|0); - $21 = +HEAPF32[$20>>2]; - $22 = ((($$014)) + 20|0); - $23 = +HEAPF32[$22>>2]; - $24 = !($23 <= $0); - $$not = $9 ^ 1; - $brmerge = $24 | $$not; - if ($brmerge) { - label = 11; - break L4; - } - $25 = $23 > $y_top; - if ($25) { - $26 = $23 - $y_top; - $27 = $11 * $26; - $28 = $14 + $27; - $sy0$0 = $23;$x_top$0 = $28; - } else { - $sy0$0 = $y_top;$x_top$0 = $14; - } - $29 = +HEAPF32[$7>>2]; - $30 = $29 < $0; - if ($30) { - $31 = $29 - $y_top; - $32 = $11 * $31; - $33 = $14 + $32; - $sy1$0 = $29;$x_bottom$0 = $33; - } else { - $sy1$0 = $0;$x_bottom$0 = $19; - } - $34 = $x_top$0 >= 0.0; - $35 = $x_bottom$0 >= 0.0; - $or$cond = $34 & $35; - if ($or$cond) { - $36 = $x_top$0 < $5; - $37 = $x_bottom$0 < $5; - $or$cond2 = $36 & $37; - if ($or$cond2) { - $38 = (~~(($x_top$0))); - $39 = (~~(($x_bottom$0))); - $40 = ($38|0)==($39|0); - if ($40) { - $41 = $sy1$0 - $sy0$0; - $42 = ($38|0)>(-1); - $43 = ($38|0)<($len|0); - $or$cond3 = $42 & $43; - if (!($or$cond3)) { - label = 21; - break L4; - } - $44 = ((($$014)) + 16|0); - $45 = +HEAPF32[$44>>2]; - $46 = (+($38|0)); - $47 = $x_top$0 - $46; - $48 = $x_bottom$0 - $46; - $49 = $47 + $48; - $50 = $49 * 0.5; - $51 = 1.0 - $50; - $52 = $51 * $45; - $53 = $41 * $52; - $54 = (($scanline) + ($38<<2)|0); - $55 = +HEAPF32[$54>>2]; - $56 = $55 + $53; - HEAPF32[$54>>2] = $56; - $57 = +HEAPF32[$44>>2]; - $58 = $41 * $57; - $59 = (($scanline_fill) + ($38<<2)|0); - $60 = +HEAPF32[$59>>2]; - $61 = $60 + $58; - HEAPF32[$59>>2] = $61; - break; - } - $62 = $x_top$0 > $x_bottom$0; - if ($62) { - $63 = $sy0$0 - $y_top; - $64 = $0 - $63; - $65 = $sy1$0 - $y_top; - $66 = $0 - $65; - $67 = -$21; - $dy$0 = $67;$sy0$1 = $66;$sy1$1 = $64;$x01$0 = $19;$x_bottom$1 = $x_top$0;$x_top$1 = $x_bottom$0; - } else { - $dy$0 = $21;$sy0$1 = $sy0$0;$sy1$1 = $sy1$0;$x01$0 = $14;$x_bottom$1 = $x_bottom$0;$x_top$1 = $x_top$0; - } - $68 = (~~(($x_top$1))); - $69 = (~~(($x_bottom$1))); - $70 = (($68) + 1)|0; - $71 = (+($70|0)); - $72 = $71 - $x01$0; - $73 = $dy$0 * $72; - $74 = $73 + $y_top; - $75 = ((($$014)) + 16|0); - $76 = +HEAPF32[$75>>2]; - $77 = $74 - $sy0$1; - $78 = $76 * $77; - $79 = (+($68|0)); - $80 = $x_top$1 - $79; - $81 = $80 + 1.0; - $82 = $81 * 0.5; - $83 = 1.0 - $82; - $84 = $83 * $78; - $85 = (($scanline) + ($68<<2)|0); - $86 = +HEAPF32[$85>>2]; - $87 = $86 + $84; - HEAPF32[$85>>2] = $87; - $88 = $dy$0 * $76; - $89 = ($69|0)>($70|0); - if ($89) { - $90 = $88 * 0.5; - $area$012 = $78;$x2$011 = $70; - while(1) { - $91 = $90 + $area$012; - $92 = (($scanline) + ($x2$011<<2)|0); - $93 = +HEAPF32[$92>>2]; - $94 = $91 + $93; - HEAPF32[$92>>2] = $94; - $95 = $88 + $area$012; - $96 = (($x2$011) + 1)|0; - $exitcond20 = ($96|0)==($69|0); - if ($exitcond20) { - $area$0$lcssa = $95; - break; - } else { - $area$012 = $95;$x2$011 = $96; - } - } - } else { - $area$0$lcssa = $78; - } - $fabsf = (+Math_abs((+$area$0$lcssa))); - $97 = !($fabsf <= 1.0099999904632568); - if ($97) { - label = 29; - break L4; - } - $98 = (($69) - ($70))|0; - $99 = (+($98|0)); - $100 = $dy$0 * $99; - $101 = $100 + $74; - $102 = (+($69|0)); - $103 = $x_bottom$1 - $102; - $104 = $103 + 0.0; - $105 = $104 * 0.5; - $106 = 1.0 - $105; - $107 = $76 * $106; - $108 = $sy1$1 - $101; - $109 = $107 * $108; - $110 = $109 + $area$0$lcssa; - $111 = (($scanline) + ($69<<2)|0); - $112 = +HEAPF32[$111>>2]; - $113 = $110 + $112; - HEAPF32[$111>>2] = $113; - $114 = $sy1$1 - $sy0$1; - $115 = $114 * $76; - $116 = (($scanline_fill) + ($69<<2)|0); - $117 = +HEAPF32[$116>>2]; - $118 = $115 + $117; - HEAPF32[$116>>2] = $118; - break; - } - } - if ($6) { - $x4$010 = 0; - while(1) { - $119 = (+($x4$010|0)); - $120 = (($x4$010) + 1)|0; - $121 = (+($120|0)); - $122 = $119 - $14; - $123 = $122 / $11; - $124 = $123 + $y_top; - $125 = $121 - $14; - $126 = $125 / $11; - $127 = $126 + $y_top; - $128 = $14 < $119; - $129 = $19 > $121; - $or$cond4 = $128 & $129; - do { - if ($or$cond4) { - _stbtt__handle_clipped_edge($scanline,$x4$010,$$014,$14,$y_top,$119,$124); - _stbtt__handle_clipped_edge($scanline,$x4$010,$$014,$119,$124,$121,$127); - _stbtt__handle_clipped_edge($scanline,$x4$010,$$014,$121,$127,$19,$0); - } else { - $130 = $19 < $119; - $131 = $14 > $121; - $or$cond5 = $130 & $131; - if ($or$cond5) { - _stbtt__handle_clipped_edge($scanline,$x4$010,$$014,$14,$y_top,$121,$127); - _stbtt__handle_clipped_edge($scanline,$x4$010,$$014,$121,$127,$119,$124); - _stbtt__handle_clipped_edge($scanline,$x4$010,$$014,$119,$124,$19,$0); - break; - } - $132 = $19 > $119; - $or$cond6 = $128 & $132; - if ($or$cond6) { - _stbtt__handle_clipped_edge($scanline,$x4$010,$$014,$14,$y_top,$119,$124); - _stbtt__handle_clipped_edge($scanline,$x4$010,$$014,$119,$124,$19,$0); - break; - } - $133 = $14 > $119; - $or$cond7 = $130 & $133; - if ($or$cond7) { - _stbtt__handle_clipped_edge($scanline,$x4$010,$$014,$14,$y_top,$119,$124); - _stbtt__handle_clipped_edge($scanline,$x4$010,$$014,$119,$124,$19,$0); - break; - } - $134 = $14 < $121; - $or$cond8 = $134 & $129; - if ($or$cond8) { - _stbtt__handle_clipped_edge($scanline,$x4$010,$$014,$14,$y_top,$121,$127); - _stbtt__handle_clipped_edge($scanline,$x4$010,$$014,$121,$127,$19,$0); - break; - } - $135 = $19 < $121; - $or$cond9 = $135 & $131; - if ($or$cond9) { - _stbtt__handle_clipped_edge($scanline,$x4$010,$$014,$14,$y_top,$121,$127); - _stbtt__handle_clipped_edge($scanline,$x4$010,$$014,$121,$127,$19,$0); - break; - } else { - _stbtt__handle_clipped_edge($scanline,$x4$010,$$014,$14,$y_top,$19,$0); - break; - } - } - } while(0); - $exitcond = ($120|0)==($len|0); - if ($exitcond) { - break; - } else { - $x4$010 = $120; - } - } - } - } - } while(0); - $136 = HEAP32[$$014>>2]|0; - $137 = ($136|0)==(0|0); - if ($137) { - label = 46; - break; - } else { - $$014 = $136; - } - } - if ((label|0) == 4) { - ___assert_fail((20037|0),(13336|0),1912,(20052|0)); - // unreachable; - } - else if ((label|0) == 11) { - ___assert_fail((20081|0),(13336|0),1931,(20052|0)); - // unreachable; - } - else if ((label|0) == 21) { - ___assert_fail((20117|0),(13336|0),1959,(20052|0)); - // unreachable; - } - else if ((label|0) == 29) { - ___assert_fail((20135|0),(13336|0),1996,(20052|0)); - // unreachable; - } - else if ((label|0) == 46) { - return; - } -} -function _stbtt__hheap_cleanup($hh) { - $hh = $hh|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $c$01 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[$hh>>2]|0; - $1 = ($0|0)==(0|0); - if ($1) { - return; - } else { - $c$01 = $0; - } - while(1) { - $2 = HEAP32[$c$01>>2]|0; - _free($c$01); - $3 = ($2|0)==(0|0); - if ($3) { - break; - } else { - $c$01 = $2; - } - } - return; -} -function _stbtt__handle_clipped_edge($scanline,$x,$e,$x0,$y0,$x1,$y1) { - $scanline = $scanline|0; - $x = $x|0; - $e = $e|0; - $x0 = +$x0; - $y0 = +$y0; - $x1 = +$x1; - $y1 = +$y1; - var $$0 = 0.0, $$01 = 0.0, $$02 = 0.0, $$03 = 0.0, $0 = 0, $1 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0, $18 = 0.0, $19 = 0.0, $2 = 0, $20 = 0.0, $21 = 0.0, $22 = 0.0; - var $23 = 0.0, $24 = 0.0, $25 = 0, $26 = 0, $27 = 0.0, $28 = 0, $29 = 0, $3 = 0.0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0.0; - var $41 = 0.0, $42 = 0.0, $43 = 0, $44 = 0.0, $45 = 0.0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0.0, $50 = 0, $51 = 0, $52 = 0, $53 = 0.0, $54 = 0.0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0.0; - var $6 = 0, $60 = 0.0, $61 = 0.0, $62 = 0, $63 = 0.0, $64 = 0.0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond4 = 0, $or$cond5 = 0, $or$cond6 = 0, $or$cond7 = 0, $or$cond8 = 0, $or$cond9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = $y0 == $y1; - if ($0) { - return; - } - $1 = $y0 < $y1; - if (!($1)) { - ___assert_fail((20155|0),(13336|0),1870,(20163|0)); - // unreachable; - } - $2 = ((($e)) + 20|0); - $3 = +HEAPF32[$2>>2]; - $4 = ((($e)) + 24|0); - $5 = +HEAPF32[$4>>2]; - $6 = !($3 <= $5); - if ($6) { - ___assert_fail((20190|0),(13336|0),1871,(20163|0)); - // unreachable; - } - $7 = $5 < $y0; - $8 = $3 > $y1; - $or$cond = $8 | $7; - if ($or$cond) { - return; - } - $9 = $3 > $y0; - if ($9) { - $10 = $x1 - $x0; - $11 = $3 - $y0; - $12 = $10 * $11; - $13 = $y1 - $y0; - $14 = $12 / $13; - $15 = $14 + $x0; - $$02 = $3;$$03 = $15; - } else { - $$02 = $y0;$$03 = $x0; - } - $16 = +HEAPF32[$4>>2]; - $17 = $16 < $y1; - if ($17) { - $18 = $x1 - $$03; - $19 = $16 - $y1; - $20 = $18 * $19; - $21 = $y1 - $$02; - $22 = $20 / $21; - $23 = $22 + $x1; - $$0 = $16;$$01 = $23; - } else { - $$0 = $y1;$$01 = $x1; - } - $24 = (+($x|0)); - $25 = $$03 == $24; - $26 = (($x) + 1)|0; - $27 = (+($26|0)); - do { - if ($25) { - $28 = !($$01 <= $27); - if ($28) { - ___assert_fail((20205|0),(13336|0),1884,(20163|0)); - // unreachable; - } - } else { - $29 = $$03 == $27; - if ($29) { - $30 = !($$01 >= $24); - if (!($30)) { - break; - } - ___assert_fail((20215|0),(13336|0),1886,(20163|0)); - // unreachable; - } - $31 = !($$03 <= $24); - if (!($31)) { - $32 = !($$01 <= $24); - if (!($32)) { - break; - } - ___assert_fail((20223|0),(13336|0),1888,(20163|0)); - // unreachable; - } - $33 = !($$03 >= $27); - if ($33) { - $35 = !($$01 >= $24); - $36 = !($$01 <= $27); - $or$cond4 = $35 | $36; - if (!($or$cond4)) { - break; - } - ___assert_fail((20241|0),(13336|0),1892,(20163|0)); - // unreachable; - } else { - $34 = !($$01 >= $27); - if (!($34)) { - break; - } - ___assert_fail((20231|0),(13336|0),1890,(20163|0)); - // unreachable; - } - } - } while(0); - $37 = !($$03 <= $24); - $38 = !($$01 <= $24); - $or$cond5 = $37 | $38; - if (!($or$cond5)) { - $39 = ((($e)) + 16|0); - $40 = +HEAPF32[$39>>2]; - $41 = $$0 - $$02; - $42 = $41 * $40; - $43 = (($scanline) + ($x<<2)|0); - $44 = +HEAPF32[$43>>2]; - $45 = $44 + $42; - HEAPF32[$43>>2] = $45; - return; - } - $46 = !($$03 >= $27); - $47 = !($$01 >= $27); - $or$cond6 = $46 | $47; - if (!($or$cond6)) { - return; - } - $48 = !($$03 >= $24); - $49 = !($$03 <= $27); - $or$cond7 = $48 | $49; - $50 = !($$01 >= $24); - $or$cond8 = $or$cond7 | $50; - $51 = !($$01 <= $27); - $or$cond9 = $51 | $or$cond8; - if ($or$cond9) { - ___assert_fail((20262|0),(13336|0),1899,(20163|0)); - // unreachable; - } - $52 = ((($e)) + 16|0); - $53 = +HEAPF32[$52>>2]; - $54 = $$0 - $$02; - $55 = $54 * $53; - $56 = $$03 - $24; - $57 = $$01 - $24; - $58 = $56 + $57; - $59 = $58 * 0.5; - $60 = 1.0 - $59; - $61 = $60 * $55; - $62 = (($scanline) + ($x<<2)|0); - $63 = +HEAPF32[$62>>2]; - $64 = $63 + $61; - HEAPF32[$62>>2] = $64; - return; -} -function _stbtt__hheap_alloc($hh) { - $hh = $hh|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($hh)) + 4|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)==(0|0); - if (!($2)) { - $3 = HEAP32[$1>>2]|0; - HEAP32[$0>>2] = $3; - $$0 = $1; - return ($$0|0); - } - $4 = ((($hh)) + 8|0); - $5 = HEAP32[$4>>2]|0; - $6 = ($5|0)==(0); - do { - if ($6) { - $7 = (_malloc(56004)|0); - $8 = ($7|0)==(0|0); - if ($8) { - $$0 = 0; - return ($$0|0); - } else { - $9 = HEAP32[$hh>>2]|0; - HEAP32[$7>>2] = $9; - HEAP32[$hh>>2] = $7; - HEAP32[$4>>2] = 2000; - break; - } - } - } while(0); - $10 = HEAP32[$4>>2]|0; - $11 = (($10) + -1)|0; - HEAP32[$4>>2] = $11; - $12 = HEAP32[$hh>>2]|0; - $13 = ($11*28)|0; - $14 = (($12) + ($13)|0); - $$0 = $14; - return ($$0|0); -} -function _stbtt__sort_edges_quicksort($p,$n) { - $p = $p|0; - $n = $n|0; - var $$0$ph9 = 0, $$01$ph8 = 0, $$017 = 0, $$lcssa = 0, $$lcssa$lcssa = 0, $$lcssa31 = 0, $0 = 0, $1 = 0, $10 = 0.0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0.0, $17 = 0, $18 = 0.0, $19 = 0, $2 = 0, $20 = 0; - var $21 = 0.0, $22 = 0, $23 = 0.0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0.0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $4 = 0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0; - var $9 = 0, $i$0 = 0, $i$0$lcssa = 0, $i$0$lcssa$lcssa = 0, $i$0$ph = 0, $j$0$ph = 0, $j$1 = 0, $j$1$lcssa = 0, $j$1$lcssa$lcssa = 0, $j$1$lcssa$lcssa$lcssa = 0, $t = 0, $tmp = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $t = sp; - $0 = ($n|0)>(12); - if (!($0)) { - STACKTOP = sp;return; - } - $$0$ph9 = $p;$$01$ph8 = $n; - L4: while(1) { - $1 = ((($$0$ph9)) + 4|0); - $$017 = $$01$ph8; - while(1) { - $2 = $$017 >> 1; - $3 = +HEAPF32[$1>>2]; - $4 = (($$0$ph9) + (($2*20)|0)|0); - $5 = (((($$0$ph9) + (($2*20)|0)|0)) + 4|0); - $6 = +HEAPF32[$5>>2]; - $7 = $3 < $6; - $8 = (($$017) + -1)|0; - $9 = (((($$0$ph9) + (($8*20)|0)|0)) + 4|0); - $10 = +HEAPF32[$9>>2]; - $11 = $6 < $10; - $12 = $7 ^ $11; - if ($12) { - $13 = $3 < $10; - $tmp = $13 ^ $11; - $14 = $tmp ? $8 : 0; - $15 = (($$0$ph9) + (($14*20)|0)|0); - ;HEAP32[$t>>2]=HEAP32[$15>>2]|0;HEAP32[$t+4>>2]=HEAP32[$15+4>>2]|0;HEAP32[$t+8>>2]=HEAP32[$15+8>>2]|0;HEAP32[$t+12>>2]=HEAP32[$15+12>>2]|0;HEAP32[$t+16>>2]=HEAP32[$15+16>>2]|0; - ;HEAP32[$15>>2]=HEAP32[$4>>2]|0;HEAP32[$15+4>>2]=HEAP32[$4+4>>2]|0;HEAP32[$15+8>>2]=HEAP32[$4+8>>2]|0;HEAP32[$15+12>>2]=HEAP32[$4+12>>2]|0;HEAP32[$15+16>>2]=HEAP32[$4+16>>2]|0; - ;HEAP32[$4>>2]=HEAP32[$t>>2]|0;HEAP32[$4+4>>2]=HEAP32[$t+4>>2]|0;HEAP32[$4+8>>2]=HEAP32[$t+8>>2]|0;HEAP32[$4+12>>2]=HEAP32[$t+12>>2]|0;HEAP32[$4+16>>2]=HEAP32[$t+16>>2]|0; - } - ;HEAP32[$t>>2]=HEAP32[$$0$ph9>>2]|0;HEAP32[$t+4>>2]=HEAP32[$$0$ph9+4>>2]|0;HEAP32[$t+8>>2]=HEAP32[$$0$ph9+8>>2]|0;HEAP32[$t+12>>2]=HEAP32[$$0$ph9+12>>2]|0;HEAP32[$t+16>>2]=HEAP32[$$0$ph9+16>>2]|0; - ;HEAP32[$$0$ph9>>2]=HEAP32[$4>>2]|0;HEAP32[$$0$ph9+4>>2]=HEAP32[$4+4>>2]|0;HEAP32[$$0$ph9+8>>2]=HEAP32[$4+8>>2]|0;HEAP32[$$0$ph9+12>>2]=HEAP32[$4+12>>2]|0;HEAP32[$$0$ph9+16>>2]=HEAP32[$4+16>>2]|0; - ;HEAP32[$4>>2]=HEAP32[$t>>2]|0;HEAP32[$4+4>>2]=HEAP32[$t+4>>2]|0;HEAP32[$4+8>>2]=HEAP32[$t+8>>2]|0;HEAP32[$4+12>>2]=HEAP32[$t+12>>2]|0;HEAP32[$4+16>>2]=HEAP32[$t+16>>2]|0; - $i$0$ph = 1;$j$0$ph = $8; - while(1) { - $16 = +HEAPF32[$1>>2]; - $i$0 = $i$0$ph; - while(1) { - $17 = (((($$0$ph9) + (($i$0*20)|0)|0)) + 4|0); - $18 = +HEAPF32[$17>>2]; - $19 = $18 < $16; - $20 = (($i$0) + 1)|0; - if ($19) { - $i$0 = $20; - } else { - $i$0$lcssa = $i$0; - break; - } - } - $21 = +HEAPF32[$1>>2]; - $j$1 = $j$0$ph; - while(1) { - $22 = (((($$0$ph9) + (($j$1*20)|0)|0)) + 4|0); - $23 = +HEAPF32[$22>>2]; - $24 = $21 < $23; - $25 = (($j$1) + -1)|0; - if ($24) { - $j$1 = $25; - } else { - $j$1$lcssa = $j$1; - break; - } - } - $26 = (($$0$ph9) + (($i$0$lcssa*20)|0)|0); - $27 = ($i$0$lcssa|0)<($j$1$lcssa|0); - if (!($27)) { - $$lcssa = $26;$i$0$lcssa$lcssa = $i$0$lcssa;$j$1$lcssa$lcssa = $j$1$lcssa; - break; - } - $28 = (($$0$ph9) + (($j$1$lcssa*20)|0)|0); - ;HEAP32[$t>>2]=HEAP32[$26>>2]|0;HEAP32[$t+4>>2]=HEAP32[$26+4>>2]|0;HEAP32[$t+8>>2]=HEAP32[$26+8>>2]|0;HEAP32[$t+12>>2]=HEAP32[$26+12>>2]|0;HEAP32[$t+16>>2]=HEAP32[$26+16>>2]|0; - ;HEAP32[$26>>2]=HEAP32[$28>>2]|0;HEAP32[$26+4>>2]=HEAP32[$28+4>>2]|0;HEAP32[$26+8>>2]=HEAP32[$28+8>>2]|0;HEAP32[$26+12>>2]=HEAP32[$28+12>>2]|0;HEAP32[$26+16>>2]=HEAP32[$28+16>>2]|0; - ;HEAP32[$28>>2]=HEAP32[$t>>2]|0;HEAP32[$28+4>>2]=HEAP32[$t+4>>2]|0;HEAP32[$28+8>>2]=HEAP32[$t+8>>2]|0;HEAP32[$28+12>>2]=HEAP32[$t+12>>2]|0;HEAP32[$28+16>>2]=HEAP32[$t+16>>2]|0; - $29 = (($i$0$lcssa) + 1)|0; - $30 = (($j$1$lcssa) + -1)|0; - $i$0$ph = $29;$j$0$ph = $30; - } - $31 = (($$017) - ($i$0$lcssa$lcssa))|0; - $32 = ($j$1$lcssa$lcssa|0)<($31|0); - if ($32) { - $$lcssa$lcssa = $$lcssa;$$lcssa31 = $31;$j$1$lcssa$lcssa$lcssa = $j$1$lcssa$lcssa; - break; - } - _stbtt__sort_edges_quicksort($$lcssa,$31); - $34 = ($j$1$lcssa$lcssa|0)>(12); - if ($34) { - $$017 = $j$1$lcssa$lcssa; - } else { - label = 16; - break L4; - } - } - _stbtt__sort_edges_quicksort($$0$ph9,$j$1$lcssa$lcssa$lcssa); - $33 = ($$lcssa31|0)>(12); - if ($33) { - $$0$ph9 = $$lcssa$lcssa;$$01$ph8 = $$lcssa31; - } else { - label = 16; - break; - } - } - if ((label|0) == 16) { - STACKTOP = sp;return; - } -} -function _stbtt__sort_edges_ins_sort($p,$n) { - $p = $p|0; - $n = $n|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0.0, $5 = 0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0, $exitcond = 0, $i$04 = 0; - var $j$0$lcssa = 0, $j$01 = 0, $t$sroa$3 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $t$sroa$3 = sp; - $0 = ($n|0)>(1); - if (!($0)) { - STACKTOP = sp;return; - } - $i$04 = 1; - while(1) { - $1 = (($p) + (($i$04*20)|0)|0); - $2 = HEAP32[$1>>2]|0; - $3 = (((($p) + (($i$04*20)|0)|0)) + 4|0); - $4 = +HEAPF32[$3>>2]; - $5 = (((($p) + (($i$04*20)|0)|0)) + 8|0); - ;HEAP32[$t$sroa$3>>2]=HEAP32[$5>>2]|0;HEAP32[$t$sroa$3+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$t$sroa$3+8>>2]=HEAP32[$5+8>>2]|0; - $j$01 = $i$04; - while(1) { - $6 = (($j$01) + -1)|0; - $7 = (((($p) + (($6*20)|0)|0)) + 4|0); - $8 = +HEAPF32[$7>>2]; - $9 = $4 < $8; - if (!($9)) { - $j$0$lcssa = $j$01; - break; - } - $10 = (($p) + (($6*20)|0)|0); - $11 = (($p) + (($j$01*20)|0)|0); - ;HEAP32[$11>>2]=HEAP32[$10>>2]|0;HEAP32[$11+4>>2]=HEAP32[$10+4>>2]|0;HEAP32[$11+8>>2]=HEAP32[$10+8>>2]|0;HEAP32[$11+12>>2]=HEAP32[$10+12>>2]|0;HEAP32[$11+16>>2]=HEAP32[$10+16>>2]|0; - $12 = ($j$01|0)>(1); - if ($12) { - $j$01 = $6; - } else { - $j$0$lcssa = $6; - break; - } - } - $13 = ($i$04|0)==($j$0$lcssa|0); - if (!($13)) { - $14 = (($p) + (($j$0$lcssa*20)|0)|0); - HEAP32[$14>>2] = $2; - $15 = (((($p) + (($j$0$lcssa*20)|0)|0)) + 4|0); - HEAPF32[$15>>2] = $4; - $16 = (((($p) + (($j$0$lcssa*20)|0)|0)) + 8|0); - ;HEAP32[$16>>2]=HEAP32[$t$sroa$3>>2]|0;HEAP32[$16+4>>2]=HEAP32[$t$sroa$3+4>>2]|0;HEAP32[$16+8>>2]=HEAP32[$t$sroa$3+8>>2]|0; - } - $17 = (($i$04) + 1)|0; - $exitcond = ($17|0)==($n|0); - if ($exitcond) { - break; - } else { - $i$04 = $17; - } - } - STACKTOP = sp;return; -} -function _stbtt__add_point($points,$n,$x,$y) { - $points = $points|0; - $n = $n|0; - $x = +$x; - $y = +$y; - var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ($points|0)==(0|0); - if ($0) { - return; - } - $1 = (($points) + ($n<<3)|0); - HEAPF32[$1>>2] = $x; - $2 = (((($points) + ($n<<3)|0)) + 4|0); - HEAPF32[$2>>2] = $y; - return; -} -function _stbtt__tesselate_curve($points,$num_points,$x0,$y0,$x1,$y1,$x2,$y2,$objspace_flatness_squared,$n) { - $points = $points|0; - $num_points = $num_points|0; - $x0 = +$x0; - $y0 = +$y0; - $x1 = +$x1; - $y1 = +$y1; - $x2 = +$x2; - $y2 = +$y2; - $objspace_flatness_squared = +$objspace_flatness_squared; - $n = $n|0; - var $0 = 0.0, $1 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $2 = 0.0, $20 = 0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0, $26 = 0.0; - var $27 = 0.0, $28 = 0.0, $29 = 0.0, $3 = 0.0, $30 = 0.0, $31 = 0.0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0.0, $36 = 0.0, $37 = 0.0, $38 = 0.0, $39 = 0.0, $4 = 0.0, $40 = 0.0, $41 = 0.0, $42 = 0.0, $43 = 0.0, $44 = 0.0; - var $45 = 0.0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0.0, $n$tr5 = 0, $x0$tr1 = 0.0, $x0$tr1$phi = 0.0, $x1$tr3 = 0.0, $y0$tr2 = 0.0, $y0$tr2$phi = 0.0, $y1$tr4 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $0 = $x1 * 2.0; - $1 = $0 + $x0; - $2 = $1 + $x2; - $3 = $2 * 0.25; - $4 = $y1 * 2.0; - $5 = $4 + $y0; - $6 = $5 + $y2; - $7 = $6 * 0.25; - $8 = ($n|0)>(16); - if ($8) { - return; - } - $9 = $y2 + $y0; - $10 = $9 * 0.5; - $11 = $10 - $7; - $12 = $x2 + $x0; - $13 = $12 * 0.5; - $14 = $13 - $3; - $16 = $14;$18 = $11;$26 = $3;$27 = $7;$n$tr5 = $n;$x0$tr1 = $x0;$x1$tr3 = $x1;$y0$tr2 = $y0;$y1$tr4 = $y1; - while(1) { - $15 = $16 * $16; - $17 = $18 * $18; - $19 = $15 + $17; - $20 = $19 > $objspace_flatness_squared; - if (!($20)) { - break; - } - $21 = $x0$tr1 + $x1$tr3; - $22 = $21 * 0.5; - $23 = $y0$tr2 + $y1$tr4; - $24 = $23 * 0.5; - $25 = (($n$tr5) + 1)|0; - _stbtt__tesselate_curve($points,$num_points,$x0$tr1,$y0$tr2,$22,$24,$26,$27,$objspace_flatness_squared,$25); - $28 = $x1$tr3 + $x2; - $29 = $28 * 0.5; - $30 = $y1$tr4 + $y2; - $31 = $30 * 0.5; - $32 = $29 * 2.0; - $33 = $26 + $32; - $34 = $33 + $x2; - $35 = $34 * 0.25; - $36 = $31 * 2.0; - $37 = $27 + $36; - $38 = $37 + $y2; - $39 = $38 * 0.25; - $40 = $26 + $x2; - $41 = $40 * 0.5; - $42 = $41 - $35; - $43 = $27 + $y2; - $44 = $43 * 0.5; - $45 = $44 - $39; - $46 = ($n$tr5|0)>(15); - if ($46) { - label = 6; - break; - } else { - $y0$tr2$phi = $27;$x0$tr1$phi = $26;$16 = $42;$18 = $45;$26 = $35;$27 = $39;$n$tr5 = $25;$x1$tr3 = $29;$y1$tr4 = $31;$y0$tr2 = $y0$tr2$phi;$x0$tr1 = $x0$tr1$phi; - } - } - if ((label|0) == 6) { - return; - } - $47 = HEAP32[$num_points>>2]|0; - _stbtt__add_point($points,$47,$x2,$y2); - $48 = HEAP32[$num_points>>2]|0; - $49 = (($48) + 1)|0; - HEAP32[$num_points>>2] = $49; - return; -} -function _ErrorCallback($error,$description) { - $error = $error|0; - $description = $description|0; - var $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $vararg_buffer = sp; - HEAP32[$vararg_buffer>>2] = $error; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = $description; - _TraceLog(2,23134,$vararg_buffer); - STACKTOP = sp;return; -} -function _SetupFramebufferSize($displayWidth,$displayHeight) { - $displayWidth = $displayWidth|0; - $displayHeight = $displayHeight|0; - var $0 = 0, $1 = 0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0.0, $18 = 0.0, $19 = 0, $2 = 0, $20 = 0, $21 = 0.0, $22 = 0, $23 = 0, $24 = 0, $25 = 0.0, $26 = 0; - var $27 = 0.0, $28 = 0.0, $29 = 0, $3 = 0, $30 = 0, $31 = 0.0, $32 = 0.0, $33 = 0.0, $34 = 0, $35 = 0.0, $36 = 0, $37 = 0.0, $38 = 0.0, $39 = 0, $4 = 0, $40 = 0, $41 = 0.0, $42 = 0.0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0.0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, $or$cond = 0, $roundf = 0.0, $roundf1 = 0.0, $roundf2 = 0.0, $roundf3 = 0.0, $storemerge = 0, $vararg_buffer = 0, $vararg_buffer4 = 0; - var $vararg_buffer8 = 0, $vararg_ptr1 = 0, $vararg_ptr11 = 0, $vararg_ptr12 = 0, $vararg_ptr13 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, $vararg_ptr7 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 112|0; - $vararg_buffer8 = sp + 24|0; - $vararg_buffer4 = sp + 16|0; - $vararg_buffer = sp; - $0 = sp + 40|0; - $1 = HEAP32[796>>2]|0; - $2 = ($1|0)>($displayWidth|0); - if (!($2)) { - $3 = HEAP32[800>>2]|0; - $4 = ($3|0)>($displayHeight|0); - if (!($4)) { - $29 = ($1|0)<($displayWidth|0); - $30 = ($3|0)<($displayHeight|0); - $or$cond = $29 | $30; - if (!($or$cond)) { - HEAP32[976>>2] = $1; - $51 = HEAP32[800>>2]|0; - HEAP32[980>>2] = $51; - HEAP32[968>>2] = 0; - HEAP32[972>>2] = 0; - STACKTOP = sp;return; - } - HEAP32[$vararg_buffer8>>2] = $1; - $vararg_ptr11 = ((($vararg_buffer8)) + 4|0); - HEAP32[$vararg_ptr11>>2] = $3; - $vararg_ptr12 = ((($vararg_buffer8)) + 8|0); - HEAP32[$vararg_ptr12>>2] = $displayWidth; - $vararg_ptr13 = ((($vararg_buffer8)) + 12|0); - HEAP32[$vararg_ptr13>>2] = $displayHeight; - _TraceLog(0,23068,$vararg_buffer8); - $31 = (+($displayWidth|0)); - $32 = (+($displayHeight|0)); - $33 = $31 / $32; - $34 = HEAP32[796>>2]|0; - $35 = (+($34|0)); - $36 = HEAP32[800>>2]|0; - $37 = (+($36|0)); - $38 = $35 / $37; - $39 = !($33 <= $38); - if ($39) { - $46 = $33 * $37; - $roundf = (+_roundf($46)); - $47 = (~~(($roundf))); - HEAP32[976>>2] = $47; - $48 = HEAP32[800>>2]|0; - HEAP32[980>>2] = $48; - $49 = HEAP32[796>>2]|0; - $50 = (($47) - ($49))|0; - HEAP32[968>>2] = $50; - HEAP32[972>>2] = 0; - STACKTOP = sp;return; - } else { - HEAP32[976>>2] = $34; - $40 = HEAP32[796>>2]|0; - $41 = (+($40|0)); - $42 = $41 / $33; - $roundf1 = (+_roundf($42)); - $43 = (~~(($roundf1))); - HEAP32[980>>2] = $43; - HEAP32[968>>2] = 0; - $44 = HEAP32[800>>2]|0; - $45 = (($43) - ($44))|0; - HEAP32[972>>2] = $45; - STACKTOP = sp;return; - } - } - } - $5 = HEAP32[796>>2]|0; - $6 = HEAP32[800>>2]|0; - HEAP32[$vararg_buffer>>2] = $5; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = $6; - $vararg_ptr2 = ((($vararg_buffer)) + 8|0); - HEAP32[$vararg_ptr2>>2] = $displayWidth; - $vararg_ptr3 = ((($vararg_buffer)) + 12|0); - HEAP32[$vararg_ptr3>>2] = $displayHeight; - _TraceLog(2,22925,$vararg_buffer); - $7 = (+($displayWidth|0)); - $8 = HEAP32[796>>2]|0; - $9 = (+($8|0)); - $10 = $7 / $9; - $11 = (+($displayHeight|0)); - $12 = HEAP32[800>>2]|0; - $13 = (+($12|0)); - $14 = $11 / $13; - $15 = !($10 <= $14); - if ($15) { - $21 = $9 * $14; - $roundf2 = (+_roundf($21)); - $22 = (~~(($roundf2))); - HEAP32[976>>2] = $22; - HEAP32[980>>2] = $displayHeight; - $23 = (($displayWidth) - ($22))|0; - HEAP32[968>>2] = $23; - $storemerge = 0; - } else { - HEAP32[976>>2] = $displayWidth; - $16 = HEAP32[800>>2]|0; - $17 = (+($16|0)); - $18 = $10 * $17; - $roundf3 = (+_roundf($18)); - $19 = (~~(($roundf3))); - HEAP32[980>>2] = $19; - HEAP32[968>>2] = 0; - $20 = (($displayHeight) - ($19))|0; - $storemerge = $20; - } - HEAP32[972>>2] = $storemerge; - $24 = HEAP32[976>>2]|0; - $25 = (+($24|0)); - $26 = HEAP32[796>>2]|0; - $27 = (+($26|0)); - $28 = $25 / $27; - _MatrixScale($0,$28,$28,$28); - dest=820; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - HEAP32[976>>2] = $displayWidth; - HEAP32[980>>2] = $displayHeight; - HEAP32[$vararg_buffer4>>2] = $displayWidth; - $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); - HEAP32[$vararg_ptr7>>2] = $displayHeight; - _TraceLog(2,23003,$vararg_buffer4); - STACKTOP = sp;return; -} -function _WindowSizeCallback($window,$width,$height) { - $window = $window|0; - $width = $width|0; - $height = $height|0; - var $$byval_copy = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $$byval_copy = sp + 4|0; - $0 = sp; - $1 = HEAP32[968>>2]|0; - $2 = HEAP32[972>>2]|0; - $3 = HEAP32[976>>2]|0; - $4 = HEAP32[980>>2]|0; - _rlglInitGraphics($1,$2,$3,$4); - HEAP8[$0>>0] = -11; - $5 = ((($0)) + 1|0); - HEAP8[$5>>0] = -11; - $6 = ((($0)) + 2|0); - HEAP8[$6>>0] = -11; - $7 = ((($0)) + 3|0); - HEAP8[$7>>0] = -1; - ;HEAP8[$$byval_copy>>0]=HEAP8[$0>>0]|0;HEAP8[$$byval_copy+1>>0]=HEAP8[$0+1>>0]|0;HEAP8[$$byval_copy+2>>0]=HEAP8[$0+2>>0]|0;HEAP8[$$byval_copy+3>>0]=HEAP8[$0+3>>0]|0; - _ClearBackground($$byval_copy); - STACKTOP = sp;return; -} -function _CursorEnterCallback($window,$enter) { - $window = $window|0; - $enter = $enter|0; - var label = 0, sp = 0; - sp = STACKTOP; - return; -} -function _KeyCallback($window,$key,$scancode,$action,$mods) { - $window = $window|0; - $key = $key|0; - $scancode = $scancode|0; - $action = $action|0; - $mods = $mods|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $or$cond = 0, $or$cond3 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[816>>2]|0; - $1 = ($0|0)==($key|0); - $2 = ($action|0)==(1); - $or$cond = $2 & $1; - if ($or$cond) { - _glfwSetWindowShouldClose(($window|0),1); - } else { - $3 = $action&255; - $4 = (10223 + ($key)|0); - HEAP8[$4>>0] = $3; - } - $5 = ($key|0)==(259); - $or$cond3 = $5 & $2; - if (!($or$cond3)) { - return; - } - HEAP32[952>>2] = 3; - return; -} -function _MouseButtonCallback($window,$button,$action,$mods) { - $window = $window|0; - $button = $button|0; - $action = $action|0; - $mods = $mods|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0, $25 = 0.0, $26 = 0; - var $27 = 0.0, $28 = 0.0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $gestureEvent = 0, $gestureEvent$byval_copy = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 80|0; - $gestureEvent$byval_copy = sp + 40|0; - $gestureEvent = sp + 8|0; - $0 = sp; - $1 = $action&255; - $2 = (11247 + ($button)|0); - HEAP8[$2>>0] = $1; - $3 = (_IsMouseButtonPressed(0)|0); - $4 = ($3|0)==(0); - if ($4) { - $5 = (_IsMouseButtonReleased(0)|0); - $6 = ($5|0)==(0); - if (!($6)) { - HEAP32[$gestureEvent>>2] = 0; - } - } else { - HEAP32[$gestureEvent>>2] = 1; - } - $7 = ((($gestureEvent)) + 8|0); - HEAP32[$7>>2] = 0; - $8 = ((($gestureEvent)) + 4|0); - HEAP32[$8>>2] = 1; - $9 = ((($gestureEvent)) + 16|0); - _GetMousePosition($0); - $10 = $0; - $11 = $10; - $12 = HEAP32[$11>>2]|0; - $13 = (($10) + 4)|0; - $14 = $13; - $15 = HEAP32[$14>>2]|0; - $16 = $9; - $17 = $16; - HEAP32[$17>>2] = $12; - $18 = (($16) + 4)|0; - $19 = $18; - HEAP32[$19>>2] = $15; - $20 = (_GetScreenWidth()|0); - $21 = (+($20|0)); - $22 = +HEAPF32[$9>>2]; - $23 = $22 / $21; - HEAPF32[$9>>2] = $23; - $24 = (_GetScreenHeight()|0); - $25 = (+($24|0)); - $26 = ((($gestureEvent)) + 20|0); - $27 = +HEAPF32[$26>>2]; - $28 = $27 / $25; - HEAPF32[$26>>2] = $28; - ;HEAP32[$gestureEvent$byval_copy>>2]=HEAP32[$gestureEvent>>2]|0;HEAP32[$gestureEvent$byval_copy+4>>2]=HEAP32[$gestureEvent+4>>2]|0;HEAP32[$gestureEvent$byval_copy+8>>2]=HEAP32[$gestureEvent+8>>2]|0;HEAP32[$gestureEvent$byval_copy+12>>2]=HEAP32[$gestureEvent+12>>2]|0;HEAP32[$gestureEvent$byval_copy+16>>2]=HEAP32[$gestureEvent+16>>2]|0;HEAP32[$gestureEvent$byval_copy+20>>2]=HEAP32[$gestureEvent+20>>2]|0;HEAP32[$gestureEvent$byval_copy+24>>2]=HEAP32[$gestureEvent+24>>2]|0;HEAP32[$gestureEvent$byval_copy+28>>2]=HEAP32[$gestureEvent+28>>2]|0; - _ProcessGestureEvent($gestureEvent$byval_copy); - STACKTOP = sp;return; -} -function _MouseCursorPosCallback($window,$x,$y) { - $window = $window|0; - $x = +$x; - $y = +$y; - var $0 = 0, $1 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $2 = 0.0, $3 = 0, $4 = 0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0, $gestureEvent = 0, $gestureEvent$byval_copy = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; - $gestureEvent$byval_copy = sp + 32|0; - $gestureEvent = sp; - HEAP32[$gestureEvent>>2] = 2; - $0 = ((($gestureEvent)) + 4|0); - HEAP32[$0>>2] = 1; - $1 = $x; - $2 = $y; - $3 = ((($gestureEvent)) + 16|0); - HEAPF32[$3>>2] = $1; - $4 = ((($gestureEvent)) + 20|0); - HEAPF32[$4>>2] = $2; - $5 = (_GetScreenWidth()|0); - $6 = (+($5|0)); - $7 = +HEAPF32[$3>>2]; - $8 = $7 / $6; - HEAPF32[$3>>2] = $8; - $9 = (_GetScreenHeight()|0); - $10 = (+($9|0)); - $11 = +HEAPF32[$4>>2]; - $12 = $11 / $10; - HEAPF32[$4>>2] = $12; - ;HEAP32[$gestureEvent$byval_copy>>2]=HEAP32[$gestureEvent>>2]|0;HEAP32[$gestureEvent$byval_copy+4>>2]=HEAP32[$gestureEvent+4>>2]|0;HEAP32[$gestureEvent$byval_copy+8>>2]=HEAP32[$gestureEvent+8>>2]|0;HEAP32[$gestureEvent$byval_copy+12>>2]=HEAP32[$gestureEvent+12>>2]|0;HEAP32[$gestureEvent$byval_copy+16>>2]=HEAP32[$gestureEvent+16>>2]|0;HEAP32[$gestureEvent$byval_copy+20>>2]=HEAP32[$gestureEvent+20>>2]|0;HEAP32[$gestureEvent$byval_copy+24>>2]=HEAP32[$gestureEvent+24>>2]|0;HEAP32[$gestureEvent$byval_copy+28>>2]=HEAP32[$gestureEvent+28>>2]|0; - _ProcessGestureEvent($gestureEvent$byval_copy); - STACKTOP = sp;return; -} -function _CharCallback($window,$key) { - $window = $window|0; - $key = $key|0; - var label = 0, sp = 0; - sp = STACKTOP; - HEAP32[952>>2] = $key; - return; -} -function _ScrollCallback($window,$xoffset,$yoffset) { - $window = $window|0; - $xoffset = +$xoffset; - $yoffset = +$yoffset; - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (~~(($yoffset))); - HEAP32[8628>>2] = $0; - return; -} -function _WindowIconifyCallback($window,$iconified) { - $window = $window|0; - $iconified = $iconified|0; - var $$ = 0, $not$ = 0, label = 0, sp = 0; - sp = STACKTOP; - $not$ = ($iconified|0)!=(0); - $$ = $not$&1; - HEAP32[812>>2] = $$; - return; -} -function _emscripten_GetProcAddress($name_) { - $name_ = $name_|0; - var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; - var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; - var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0; - var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0; - var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0; - var $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0; - var $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0; - var $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0; - var $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0; - var $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0; - var $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0; - var $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0; - var $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0; - var $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0; - var $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0; - var $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0; - var $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0; - var $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0; - var $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0; - var $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0; - var $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0; - var $530 = 0, $531 = 0, $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0; - var $549 = 0, $55 = 0, $550 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0; - var $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0; - var $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $end = 0, $name = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $name = sp + 4|0; - $end = sp; - HEAP32[$1>>2] = $name_; - $2 = HEAP32[$1>>2]|0; - $3 = (_strlen($2)|0); - $4 = (($3) + 1)|0; - $5 = (_malloc($4)|0); - HEAP32[$name>>2] = $5; - $6 = HEAP32[$name>>2]|0; - $7 = HEAP32[$1>>2]|0; - (_strcpy($6,$7)|0); - $8 = HEAP32[$name>>2]|0; - $9 = (_strstr($8,23172)|0); - HEAP32[$end>>2] = $9; - $10 = HEAP32[$end>>2]|0; - $11 = ($10|0)!=(0|0); - if ($11) { - $12 = HEAP32[$end>>2]|0; - HEAP8[$12>>0] = 0; - } - $13 = HEAP32[$name>>2]|0; - $14 = (_strstr($13,23176)|0); - HEAP32[$end>>2] = $14; - $15 = HEAP32[$end>>2]|0; - $16 = ($15|0)!=(0|0); - if ($16) { - $17 = HEAP32[$end>>2]|0; - HEAP8[$17>>0] = 0; - } - $18 = HEAP32[$name>>2]|0; - $19 = (_strstr($18,23180)|0); - HEAP32[$end>>2] = $19; - $20 = HEAP32[$end>>2]|0; - $21 = ($20|0)!=(0|0); - if ($21) { - $22 = HEAP32[$end>>2]|0; - HEAP8[$22>>0] = 0; - } - $23 = HEAP32[$name>>2]|0; - $24 = (_strstr($23,23184)|0); - HEAP32[$end>>2] = $24; - $25 = HEAP32[$end>>2]|0; - $26 = ($25|0)!=(0|0); - if ($26) { - $27 = HEAP32[$end>>2]|0; - HEAP8[$27>>0] = 0; - } - $28 = HEAP32[$name>>2]|0; - $29 = (_strcmp($28,23190)|0); - $30 = ($29|0)!=(0); - do { - if ($30) { - $31 = HEAP32[$name>>2]|0; - $32 = (_strcmp($31,23228)|0); - $33 = ($32|0)!=(0); - if (!($33)) { - HEAP32[$name>>2] = 23247; - break; - } - $34 = HEAP32[$name>>2]|0; - $35 = (_strcmp($34,23260)|0); - $36 = ($35|0)!=(0); - if (!($36)) { - HEAP32[$name>>2] = 23281; - break; - } - $37 = HEAP32[$name>>2]|0; - $38 = (_strcmp($37,23296)|0); - $39 = ($38|0)!=(0); - if (!($39)) { - HEAP32[$name>>2] = 23311; - break; - } - $40 = HEAP32[$name>>2]|0; - $41 = (_strcmp($40,23326)|0); - $42 = ($41|0)!=(0); - if (!($42)) { - HEAP32[$name>>2] = 23341; - } - } else { - HEAP32[$name>>2] = 23212; - } - } while(0); - $43 = HEAP32[$name>>2]|0; - $44 = (_strcmp($43,23356)|0); - $45 = ($44|0)!=(0); - do { - if ($45) { - $46 = HEAP32[$name>>2]|0; - $47 = (_strcmp($46,23370)|0); - $48 = ($47|0)!=(0); - if (!($48)) { - HEAP32[$0>>2] = 3; - break; - } - $49 = HEAP32[$name>>2]|0; - $50 = (_strcmp($49,23382)|0); - $51 = ($50|0)!=(0); - if (!($51)) { - HEAP32[$0>>2] = 7; - break; - } - $52 = HEAP32[$name>>2]|0; - $53 = (_strcmp($52,23396)|0); - $54 = ($53|0)!=(0); - if (!($54)) { - HEAP32[$0>>2] = 8; - break; - } - $55 = HEAP32[$name>>2]|0; - $56 = (_strcmp($55,23408)|0); - $57 = ($56|0)!=(0); - if (!($57)) { - HEAP32[$0>>2] = 9; - break; - } - $58 = HEAP32[$name>>2]|0; - $59 = (_strcmp($58,23422)|0); - $60 = ($59|0)!=(0); - if (!($60)) { - HEAP32[$0>>2] = 10; - break; - } - $61 = HEAP32[$name>>2]|0; - $62 = (_strcmp($61,23436)|0); - $63 = ($62|0)!=(0); - if (!($63)) { - HEAP32[$0>>2] = 11; - break; - } - $64 = HEAP32[$name>>2]|0; - $65 = (_strcmp($64,23453)|0); - $66 = ($65|0)!=(0); - if (!($66)) { - HEAP32[$0>>2] = 1; - break; - } - $67 = HEAP32[$name>>2]|0; - $68 = (_strcmp($67,23476)|0); - $69 = ($68|0)!=(0); - if (!($69)) { - HEAP32[$0>>2] = 1; - break; - } - $70 = HEAP32[$name>>2]|0; - $71 = (_strcmp($70,23502)|0); - $72 = ($71|0)!=(0); - if (!($72)) { - HEAP32[$0>>2] = 2; - break; - } - $73 = HEAP32[$name>>2]|0; - $74 = (_strcmp($73,23515)|0); - $75 = ($74|0)!=(0); - if (!($75)) { - HEAP32[$0>>2] = 3; - break; - } - $76 = HEAP32[$name>>2]|0; - $77 = (_strcmp($76,23531)|0); - $78 = ($77|0)!=(0); - if (!($78)) { - HEAP32[$0>>2] = 1; - break; - } - $79 = HEAP32[$name>>2]|0; - $80 = (_strcmp($79,23544)|0); - $81 = ($80|0)!=(0); - if (!($81)) { - HEAP32[$0>>2] = 12; - break; - } - $82 = HEAP32[$name>>2]|0; - $83 = (_strcmp($82,23558)|0); - $84 = ($83|0)!=(0); - if (!($84)) { - HEAP32[$0>>2] = 3; - break; - } - $85 = HEAP32[$name>>2]|0; - $86 = (_strcmp($85,23578)|0); - $87 = ($86|0)!=(0); - if (!($87)) { - HEAP32[$0>>2] = 4; - break; - } - $88 = HEAP32[$name>>2]|0; - $89 = (_strcmp($88,23598)|0); - $90 = ($89|0)!=(0); - if (!($90)) { - HEAP32[$0>>2] = 5; - break; - } - $91 = HEAP32[$name>>2]|0; - $92 = (_strcmp($91,23615)|0); - $93 = ($92|0)!=(0); - if (!($93)) { - HEAP32[$0>>2] = 6; - break; - } - $94 = HEAP32[$name>>2]|0; - $95 = (_strcmp($94,23632)|0); - $96 = ($95|0)!=(0); - if (!($96)) { - HEAP32[$0>>2] = 4; - break; - } - $97 = HEAP32[$name>>2]|0; - $98 = (_strcmp($97,23644)|0); - $99 = ($98|0)!=(0); - if (!($99)) { - HEAP32[$0>>2] = 13; - break; - } - $100 = HEAP32[$name>>2]|0; - $101 = (_strcmp($100,23657)|0); - $102 = ($101|0)!=(0); - if (!($102)) { - HEAP32[$0>>2] = 14; - break; - } - $103 = HEAP32[$name>>2]|0; - $104 = (_strcmp($103,23673)|0); - $105 = ($104|0)!=(0); - if (!($105)) { - HEAP32[$0>>2] = 7; - break; - } - $106 = HEAP32[$name>>2]|0; - $107 = (_strcmp($106,23696)|0); - $108 = ($107|0)!=(0); - if (!($108)) { - HEAP32[$0>>2] = 2; - break; - } - $109 = HEAP32[$name>>2]|0; - $110 = (_strcmp($109,23709)|0); - $111 = ($110|0)!=(0); - if (!($111)) { - HEAP32[$0>>2] = 3; - break; - } - $112 = HEAP32[$name>>2]|0; - $113 = (_strcmp($112,23725)|0); - $114 = ($113|0)!=(0); - if (!($114)) { - HEAP32[$0>>2] = 5; - break; - } - $115 = HEAP32[$name>>2]|0; - $116 = (_strcmp($115,23736)|0); - $117 = ($116|0)!=(0); - if (!($117)) { - HEAP32[$0>>2] = 15; - break; - } - $118 = HEAP32[$name>>2]|0; - $119 = (_strcmp($118,23755)|0); - $120 = ($119|0)!=(0); - if (!($120)) { - HEAP32[$0>>2] = 16; - break; - } - $121 = HEAP32[$name>>2]|0; - $122 = (_strcmp($121,23777)|0); - $123 = ($122|0)!=(0); - if (!($123)) { - HEAP32[$0>>2] = 17; - break; - } - $124 = HEAP32[$name>>2]|0; - $125 = (_strcmp($124,23796)|0); - $126 = ($125|0)!=(0); - if (!($126)) { - HEAP32[$0>>2] = 8; - break; - } - $127 = HEAP32[$name>>2]|0; - $128 = (_strcmp($127,23825)|0); - $129 = ($128|0)!=(0); - if (!($129)) { - HEAP32[$0>>2] = 6; - break; - } - $130 = HEAP32[$name>>2]|0; - $131 = (_strcmp($130,23842)|0); - $132 = ($131|0)!=(0); - if (!($132)) { - HEAP32[$0>>2] = 9; - break; - } - $133 = HEAP32[$name>>2]|0; - $134 = (_strcmp($133,23857)|0); - $135 = ($134|0)!=(0); - if (!($135)) { - HEAP32[$0>>2] = 10; - break; - } - $136 = HEAP32[$name>>2]|0; - $137 = (_strcmp($136,23872)|0); - $138 = ($137|0)!=(0); - if (!($138)) { - HEAP32[$0>>2] = 3; - break; - } - $139 = HEAP32[$name>>2]|0; - $140 = (_strcmp($139,23893)|0); - $141 = ($140|0)!=(0); - if (!($141)) { - HEAP32[$0>>2] = 11; - break; - } - $142 = HEAP32[$name>>2]|0; - $143 = (_strcmp($142,23913)|0); - $144 = ($143|0)!=(0); - if (!($144)) { - HEAP32[$0>>2] = 12; - break; - } - $145 = HEAP32[$name>>2]|0; - $146 = (_strcmp($145,23933)|0); - $147 = ($146|0)!=(0); - if (!($147)) { - HEAP32[$0>>2] = 13; - break; - } - $148 = HEAP32[$name>>2]|0; - $149 = (_strcmp($148,23959)|0); - $150 = ($149|0)!=(0); - if (!($150)) { - HEAP32[$0>>2] = 2; - break; - } - $151 = HEAP32[$name>>2]|0; - $152 = (_strcmp($151,23978)|0); - $153 = ($152|0)!=(0); - if (!($153)) { - HEAP32[$0>>2] = 1; - break; - } - $154 = HEAP32[$name>>2]|0; - $155 = (_strcmp($154,23990)|0); - $156 = ($155|0)!=(0); - if (!($156)) { - HEAP32[$0>>2] = 3; - break; - } - $157 = HEAP32[$name>>2]|0; - $158 = (_strcmp($157,24002)|0); - $159 = ($158|0)!=(0); - if (!($159)) { - HEAP32[$0>>2] = 1; - break; - } - $160 = HEAP32[$name>>2]|0; - $161 = (_strcmp($160,24014)|0); - $162 = ($161|0)!=(0); - if (!($162)) { - HEAP32[$0>>2] = 1; - break; - } - $163 = HEAP32[$name>>2]|0; - $164 = (_strcmp($163,24026)|0); - $165 = ($164|0)!=(0); - if (!($165)) { - HEAP32[$0>>2] = 18; - break; - } - $166 = HEAP32[$name>>2]|0; - $167 = (_strcmp($166,24038)|0); - $168 = ($167|0)!=(0); - if (!($168)) { - HEAP32[$0>>2] = 14; - break; - } - $169 = HEAP32[$name>>2]|0; - $170 = (_strcmp($169,24050)|0); - $171 = ($170|0)!=(0); - if (!($171)) { - HEAP32[$0>>2] = 4; - break; - } - $172 = HEAP32[$name>>2]|0; - $173 = (_strcmp($172,24062)|0); - $174 = ($173|0)!=(0); - if (!($174)) { - HEAP32[$0>>2] = 2; - break; - } - $175 = HEAP32[$name>>2]|0; - $176 = (_strcmp($175,24074)|0); - $177 = ($176|0)!=(0); - if (!($177)) { - HEAP32[$0>>2] = 15; - break; - } - $178 = HEAP32[$name>>2]|0; - $179 = (_strcmp($178,24087)|0); - $180 = ($179|0)!=(0); - if (!($180)) { - HEAP32[$0>>2] = 16; - break; - } - $181 = HEAP32[$name>>2]|0; - $182 = (_strcmp($181,24100)|0); - $183 = ($182|0)!=(0); - if (!($183)) { - HEAP32[$0>>2] = 17; - break; - } - $184 = HEAP32[$name>>2]|0; - $185 = (_strcmp($184,24113)|0); - $186 = ($185|0)!=(0); - if (!($186)) { - HEAP32[$0>>2] = 18; - break; - } - $187 = HEAP32[$name>>2]|0; - $188 = (_strcmp($187,24126)|0); - $189 = ($188|0)!=(0); - if (!($189)) { - HEAP32[$0>>2] = 19; - break; - } - $190 = HEAP32[$name>>2]|0; - $191 = (_strcmp($190,24139)|0); - $192 = ($191|0)!=(0); - if (!($192)) { - HEAP32[$0>>2] = 20; - break; - } - $193 = HEAP32[$name>>2]|0; - $194 = (_strcmp($193,24152)|0); - $195 = ($194|0)!=(0); - if (!($195)) { - HEAP32[$0>>2] = 21; - break; - } - $196 = HEAP32[$name>>2]|0; - $197 = (_strcmp($196,24165)|0); - $198 = ($197|0)!=(0); - if (!($198)) { - HEAP32[$0>>2] = 22; - break; - } - $199 = HEAP32[$name>>2]|0; - $200 = (_strcmp($199,24178)|0); - $201 = ($200|0)!=(0); - if (!($201)) { - HEAP32[$0>>2] = 5; - break; - } - $202 = HEAP32[$name>>2]|0; - $203 = (_strcmp($202,24197)|0); - $204 = ($203|0)!=(0); - if (!($204)) { - HEAP32[$0>>2] = 6; - break; - } - $205 = HEAP32[$name>>2]|0; - $206 = (_strcmp($205,24216)|0); - $207 = ($206|0)!=(0); - if (!($207)) { - HEAP32[$0>>2] = 7; - break; - } - $208 = HEAP32[$name>>2]|0; - $209 = (_strcmp($208,24235)|0); - $210 = ($209|0)!=(0); - if (!($210)) { - HEAP32[$0>>2] = 19; - break; - } - $211 = HEAP32[$name>>2]|0; - $212 = (_strcmp($211,24248)|0); - $213 = ($212|0)!=(0); - if (!($213)) { - HEAP32[$0>>2] = 20; - break; - } - $214 = HEAP32[$name>>2]|0; - $215 = (_strcmp($214,24266)|0); - $216 = ($215|0)!=(0); - if (!($216)) { - HEAP32[$0>>2] = 21; - break; - } - $217 = HEAP32[$name>>2]|0; - $218 = (_strcmp($217,24284)|0); - $219 = ($218|0)!=(0); - if (!($219)) { - HEAP32[$0>>2] = 22; - break; - } - $220 = HEAP32[$name>>2]|0; - $221 = (_strcmp($220,24302)|0); - $222 = ($221|0)!=(0); - if (!($222)) { - HEAP32[$0>>2] = 23; - break; - } - $223 = HEAP32[$name>>2]|0; - $224 = (_strcmp($223,24320)|0); - $225 = ($224|0)!=(0); - if (!($225)) { - HEAP32[$0>>2] = 4; - break; - } - $226 = HEAP32[$name>>2]|0; - $227 = (_strcmp($226,24340)|0); - $228 = ($227|0)!=(0); - if (!($228)) { - HEAP32[$0>>2] = 3; - break; - } - $229 = HEAP32[$name>>2]|0; - $230 = (_strcmp($229,23281)|0); - $231 = ($230|0)!=(0); - if (!($231)) { - HEAP32[$0>>2] = 7; - break; - } - $232 = HEAP32[$name>>2]|0; - $233 = (_strcmp($232,24358)|0); - $234 = ($233|0)!=(0); - if (!($234)) { - HEAP32[$0>>2] = 1; - break; - } - $235 = HEAP32[$name>>2]|0; - $236 = (_strcmp($235,24373)|0); - $237 = ($236|0)!=(0); - if (!($237)) { - HEAP32[$0>>2] = 8; - break; - } - $238 = HEAP32[$name>>2]|0; - $239 = (_strcmp($238,24394)|0); - $240 = ($239|0)!=(0); - if (!($240)) { - HEAP32[$0>>2] = 9; - break; - } - $241 = HEAP32[$name>>2]|0; - $242 = (_strcmp($241,24409)|0); - $243 = ($242|0)!=(0); - if (!($243)) { - HEAP32[$0>>2] = 10; - break; - } - $244 = HEAP32[$name>>2]|0; - $245 = (_strcmp($244,24427)|0); - $246 = ($245|0)!=(0); - if (!($246)) { - HEAP32[$0>>2] = 2; - break; - } - $247 = HEAP32[$name>>2]|0; - $248 = (_strcmp($247,24443)|0); - $249 = ($248|0)!=(0); - if (!($249)) { - HEAP32[$0>>2] = 11; - break; - } - $250 = HEAP32[$name>>2]|0; - $251 = (_strcmp($250,24462)|0); - $252 = ($251|0)!=(0); - if (!($252)) { - HEAP32[$0>>2] = 23; - break; - } - $253 = HEAP32[$name>>2]|0; - $254 = (_strcmp($253,24476)|0); - $255 = ($254|0)!=(0); - if (!($255)) { - HEAP32[$0>>2] = 24; - break; - } - $256 = HEAP32[$name>>2]|0; - $257 = (_strcmp($256,24491)|0); - $258 = ($257|0)!=(0); - if (!($258)) { - HEAP32[$0>>2] = 8; - break; - } - $259 = HEAP32[$name>>2]|0; - $260 = (_strcmp($259,23212)|0); - $261 = ($260|0)!=(0); - if (!($261)) { - HEAP32[$0>>2] = 1; - break; - } - $262 = HEAP32[$name>>2]|0; - $263 = (_strcmp($262,24502)|0); - $264 = ($263|0)!=(0); - if (!($264)) { - HEAP32[$0>>2] = 3; - break; - } - $265 = HEAP32[$name>>2]|0; - $266 = (_strcmp($265,23311)|0); - $267 = ($266|0)!=(0); - if (!($267)) { - HEAP32[$0>>2] = 24; - break; - } - $268 = HEAP32[$name>>2]|0; - $269 = (_strcmp($268,23341)|0); - $270 = ($269|0)!=(0); - if (!($270)) { - HEAP32[$0>>2] = 25; - break; - } - $271 = HEAP32[$name>>2]|0; - $272 = (_strcmp($271,24518)|0); - $273 = ($272|0)!=(0); - if (!($273)) { - HEAP32[$0>>2] = 12; - break; - } - $274 = HEAP32[$name>>2]|0; - $275 = (_strcmp($274,24545)|0); - $276 = ($275|0)!=(0); - if (!($276)) { - HEAP32[$0>>2] = 4; - break; - } - $277 = HEAP32[$name>>2]|0; - $278 = (_strcmp($277,24559)|0); - $279 = ($278|0)!=(0); - if (!($279)) { - HEAP32[$0>>2] = 13; - break; - } - $280 = HEAP32[$name>>2]|0; - $281 = (_strcmp($280,23247)|0); - $282 = ($281|0)!=(0); - if (!($282)) { - HEAP32[$0>>2] = 5; - break; - } - $283 = HEAP32[$name>>2]|0; - $284 = (_strcmp($283,24579)|0); - $285 = ($284|0)!=(0); - if (!($285)) { - HEAP32[$0>>2] = 6; - break; - } - $286 = HEAP32[$name>>2]|0; - $287 = (_strcmp($286,24597)|0); - $288 = ($287|0)!=(0); - if (!($288)) { - HEAP32[$0>>2] = 9; - break; - } - $289 = HEAP32[$name>>2]|0; - $290 = (_strcmp($289,24609)|0); - $291 = ($290|0)!=(0); - if (!($291)) { - HEAP32[$0>>2] = 25; - break; - } - $292 = HEAP32[$name>>2]|0; - $293 = (_strcmp($292,24630)|0); - $294 = ($293|0)!=(0); - if (!($294)) { - HEAP32[$0>>2] = 26; - break; - } - $295 = HEAP32[$name>>2]|0; - $296 = (_strcmp($295,24648)|0); - $297 = ($296|0)!=(0); - if (!($297)) { - HEAP32[$0>>2] = 27; - break; - } - $298 = HEAP32[$name>>2]|0; - $299 = (_strcmp($298,24666)|0); - $300 = ($299|0)!=(0); - if (!($300)) { - HEAP32[$0>>2] = 28; - break; - } - $301 = HEAP32[$name>>2]|0; - $302 = (_strcmp($301,24687)|0); - $303 = ($302|0)!=(0); - if (!($303)) { - HEAP32[$0>>2] = 14; - break; - } - $304 = HEAP32[$name>>2]|0; - $305 = (_strcmp($304,24713)|0); - $306 = ($305|0)!=(0); - if (!($306)) { - HEAP32[$0>>2] = 3; - break; - } - $307 = HEAP32[$name>>2]|0; - $308 = (_strcmp($307,24736)|0); - $309 = ($308|0)!=(0); - if (!($309)) { - HEAP32[$0>>2] = 15; - break; - } - $310 = HEAP32[$name>>2]|0; - $311 = (_strcmp($310,24774)|0); - $312 = ($311|0)!=(0); - if (!($312)) { - HEAP32[$0>>2] = 10; - break; - } - $313 = HEAP32[$name>>2]|0; - $314 = (_strcmp($313,24790)|0); - $315 = ($314|0)!=(0); - if (!($315)) { - HEAP32[$0>>2] = 7; - break; - } - $316 = HEAP32[$name>>2]|0; - $317 = (_strcmp($316,24805)|0); - $318 = ($317|0)!=(0); - if (!($318)) { - HEAP32[$0>>2] = 26; - break; - } - $319 = HEAP32[$name>>2]|0; - $320 = (_strcmp($319,24828)|0); - $321 = ($320|0)!=(0); - if (!($321)) { - HEAP32[$0>>2] = 16; - break; - } - $322 = HEAP32[$name>>2]|0; - $323 = (_strcmp($322,24841)|0); - $324 = ($323|0)!=(0); - if (!($324)) { - HEAP32[$0>>2] = 29; - break; - } - $325 = HEAP32[$name>>2]|0; - $326 = (_strcmp($325,24855)|0); - $327 = ($326|0)!=(0); - if (!($327)) { - HEAP32[$0>>2] = 30; - break; - } - $328 = HEAP32[$name>>2]|0; - $329 = (_strcmp($328,24869)|0); - $330 = ($329|0)!=(0); - if (!($330)) { - HEAP32[$0>>2] = 2; - break; - } - $331 = HEAP32[$name>>2]|0; - $332 = (_strcmp($331,24889)|0); - $333 = ($332|0)!=(0); - if (!($333)) { - HEAP32[$0>>2] = 8; - break; - } - $334 = HEAP32[$name>>2]|0; - $335 = (_strcmp($334,24909)|0); - $336 = ($335|0)!=(0); - if (!($336)) { - HEAP32[$0>>2] = 17; - break; - } - $337 = HEAP32[$name>>2]|0; - $338 = (_strcmp($337,24925)|0); - $339 = ($338|0)!=(0); - if (!($339)) { - HEAP32[$0>>2] = 18; - break; - } - $340 = HEAP32[$name>>2]|0; - $341 = (_strcmp($340,24943)|0); - $342 = ($341|0)!=(0); - if (!($342)) { - HEAP32[$0>>2] = 27; - break; - } - $343 = HEAP32[$name>>2]|0; - $344 = (_strcmp($343,24959)|0); - $345 = ($344|0)!=(0); - if (!($345)) { - HEAP32[$0>>2] = 19; - break; - } - $346 = HEAP32[$name>>2]|0; - $347 = (_strcmp($346,24974)|0); - $348 = ($347|0)!=(0); - if (!($348)) { - HEAP32[$0>>2] = 9; - break; - } - $349 = HEAP32[$name>>2]|0; - $350 = (_strcmp($349,24996)|0); - $351 = ($350|0)!=(0); - if (!($351)) { - HEAP32[$0>>2] = 31; - break; - } - $352 = HEAP32[$name>>2]|0; - $353 = (_strcmp($352,25014)|0); - $354 = ($353|0)!=(0); - if (!($354)) { - HEAP32[$0>>2] = 32; - break; - } - $355 = HEAP32[$name>>2]|0; - $356 = (_strcmp($355,25035)|0); - $357 = ($356|0)!=(0); - if (!($357)) { - HEAP32[$0>>2] = 10; - break; - } - $358 = HEAP32[$name>>2]|0; - $359 = (_strcmp($358,25053)|0); - $360 = ($359|0)!=(0); - if (!($360)) { - HEAP32[$0>>2] = 11; - break; - } - $361 = HEAP32[$name>>2]|0; - $362 = (_strcmp($361,25066)|0); - $363 = ($362|0)!=(0); - if (!($363)) { - HEAP32[$0>>2] = 2; - break; - } - $364 = HEAP32[$name>>2]|0; - $365 = (_strcmp($364,25081)|0); - $366 = ($365|0)!=(0); - if (!($366)) { - HEAP32[$0>>2] = 12; - break; - } - $367 = HEAP32[$name>>2]|0; - $368 = (_strcmp($367,25095)|0); - $369 = ($368|0)!=(0); - if (!($369)) { - HEAP32[$0>>2] = 1; - break; - } - $370 = HEAP32[$name>>2]|0; - $371 = (_strcmp($370,25105)|0); - $372 = ($371|0)!=(0); - if (!($372)) { - HEAP32[$0>>2] = 1; - break; - } - $373 = HEAP32[$name>>2]|0; - $374 = (_strcmp($373,25115)|0); - $375 = ($374|0)!=(0); - if (!($375)) { - HEAP32[$0>>2] = 3; - break; - } - $376 = HEAP32[$name>>2]|0; - $377 = (_strcmp($376,25137)|0); - $378 = ($377|0)!=(0); - if (!($378)) { - HEAP32[$0>>2] = 13; - break; - } - $379 = HEAP32[$name>>2]|0; - $380 = (_strcmp($379,25163)|0); - $381 = ($380|0)!=(0); - if (!($381)) { - HEAP32[$0>>2] = 14; - break; - } - $382 = HEAP32[$name>>2]|0; - $383 = (_strcmp($382,25190)|0); - $384 = ($383|0)!=(0); - if (!($384)) { - HEAP32[$0>>2] = 28; - break; - } - $385 = HEAP32[$name>>2]|0; - $386 = (_strcmp($385,25203)|0); - $387 = ($386|0)!=(0); - if (!($387)) { - HEAP32[$0>>2] = 20; - break; - } - $388 = HEAP32[$name>>2]|0; - $389 = (_strcmp($388,25218)|0); - $390 = ($389|0)!=(0); - if (!($390)) { - HEAP32[$0>>2] = 4; - break; - } - $391 = HEAP32[$name>>2]|0; - $392 = (_strcmp($391,25233)|0); - $393 = ($392|0)!=(0); - if (!($393)) { - HEAP32[$0>>2] = 3; - break; - } - $394 = HEAP32[$name>>2]|0; - $395 = (_strcmp($394,25257)|0); - $396 = ($395|0)!=(0); - if (!($396)) { - HEAP32[$0>>2] = 2; - break; - } - $397 = HEAP32[$name>>2]|0; - $398 = (_strcmp($397,25268)|0); - $399 = ($398|0)!=(0); - if (!($399)) { - HEAP32[$0>>2] = 33; - break; - } - $400 = HEAP32[$name>>2]|0; - $401 = (_strcmp($400,25290)|0); - $402 = ($401|0)!=(0); - if (!($402)) { - HEAP32[$0>>2] = 21; - break; - } - $403 = HEAP32[$name>>2]|0; - $404 = (_strcmp($403,25312)|0); - $405 = ($404|0)!=(0); - if (!($405)) { - HEAP32[$0>>2] = 5; - break; - } - $406 = HEAP32[$name>>2]|0; - $407 = (_strcmp($406,25336)|0); - $408 = ($407|0)!=(0); - if (!($408)) { - HEAP32[$0>>2] = 4; - break; - } - $409 = HEAP32[$name>>2]|0; - $410 = (_strcmp($409,25345)|0); - $411 = ($410|0)!=(0); - if (!($411)) { - HEAP32[$0>>2] = 5; - break; - } - $412 = HEAP32[$name>>2]|0; - $413 = (_strcmp($412,25353)|0); - $414 = ($413|0)!=(0); - if (!($414)) { - HEAP32[$0>>2] = 1; - break; - } - $415 = HEAP32[$name>>2]|0; - $416 = (_strcmp($415,25366)|0); - $417 = ($416|0)!=(0); - if (!($417)) { - HEAP32[$0>>2] = 2; - break; - } - $418 = HEAP32[$name>>2]|0; - $419 = (_strcmp($418,25380)|0); - $420 = ($419|0)!=(0); - if (!($420)) { - HEAP32[$0>>2] = 15; - break; - } - $421 = HEAP32[$name>>2]|0; - $422 = (_strcmp($421,25392)|0); - $423 = ($422|0)!=(0); - if (!($423)) { - HEAP32[$0>>2] = 16; - break; - } - $424 = HEAP32[$name>>2]|0; - $425 = (_strcmp($424,25401)|0); - $426 = ($425|0)!=(0); - if (!($426)) { - HEAP32[$0>>2] = 17; - break; - } - $427 = HEAP32[$name>>2]|0; - $428 = (_strcmp($427,25411)|0); - $429 = ($428|0)!=(0); - if (!($429)) { - HEAP32[$0>>2] = 18; - break; - } - $430 = HEAP32[$name>>2]|0; - $431 = (_strcmp($430,25423)|0); - $432 = ($431|0)!=(0); - if (!($432)) { - HEAP32[$0>>2] = 19; - break; - } - $433 = HEAP32[$name>>2]|0; - $434 = (_strcmp($433,25434)|0); - $435 = ($434|0)!=(0); - if (!($435)) { - HEAP32[$0>>2] = 20; - break; - } - $436 = HEAP32[$name>>2]|0; - $437 = (_strcmp($436,25442)|0); - $438 = ($437|0)!=(0); - if (!($438)) { - HEAP32[$0>>2] = 3; - break; - } - $439 = HEAP32[$name>>2]|0; - $440 = (_strcmp($439,25454)|0); - $441 = ($440|0)!=(0); - if (!($441)) { - HEAP32[$0>>2] = 21; - break; - } - $442 = HEAP32[$name>>2]|0; - $443 = (_strcmp($442,25469)|0); - $444 = ($443|0)!=(0); - if (!($444)) { - HEAP32[$0>>2] = 22; - break; - } - $445 = HEAP32[$name>>2]|0; - $446 = (_strcmp($445,25481)|0); - $447 = ($446|0)!=(0); - if (!($447)) { - HEAP32[$0>>2] = 23; - break; - } - $448 = HEAP32[$name>>2]|0; - $449 = (_strcmp($448,25495)|0); - $450 = ($449|0)!=(0); - if (!($450)) { - HEAP32[$0>>2] = 11; - break; - } - $451 = HEAP32[$name>>2]|0; - $452 = (_strcmp($451,25520)|0); - $453 = ($452|0)!=(0); - if (!($453)) { - HEAP32[$0>>2] = 24; - break; - } - $454 = HEAP32[$name>>2]|0; - $455 = (_strcmp($454,25537)|0); - $456 = ($455|0)!=(0); - if (!($456)) { - HEAP32[$0>>2] = 25; - break; - } - $457 = HEAP32[$name>>2]|0; - $458 = (_strcmp($457,25553)|0); - $459 = ($458|0)!=(0); - if (!($459)) { - HEAP32[$0>>2] = 26; - break; - } - $460 = HEAP32[$name>>2]|0; - $461 = (_strcmp($460,25569)|0); - $462 = ($461|0)!=(0); - if (!($462)) { - HEAP32[$0>>2] = 12; - break; - } - $463 = HEAP32[$name>>2]|0; - $464 = (_strcmp($463,25581)|0); - $465 = ($464|0)!=(0); - if (!($465)) { - HEAP32[$0>>2] = 34; - break; - } - $466 = HEAP32[$name>>2]|0; - $467 = (_strcmp($466,25593)|0); - $468 = ($467|0)!=(0); - if (!($468)) { - HEAP32[$0>>2] = 35; - break; - } - $469 = HEAP32[$name>>2]|0; - $470 = (_strcmp($469,25617)|0); - $471 = ($470|0)!=(0); - if (!($471)) { - HEAP32[$0>>2] = 1; - break; - } - $472 = HEAP32[$name>>2]|0; - $473 = (_strcmp($472,25630)|0); - $474 = ($473|0)!=(0); - if (!($474)) { - HEAP32[$0>>2] = 2; - break; - } - $475 = HEAP32[$name>>2]|0; - $476 = (_strcmp($475,25644)|0); - $477 = ($476|0)!=(0); - if (!($477)) { - HEAP32[$0>>2] = 36; - break; - } - $478 = HEAP32[$name>>2]|0; - $479 = (_strcmp($478,25666)|0); - $480 = ($479|0)!=(0); - if (!($480)) { - HEAP32[$0>>2] = 37; - break; - } - $481 = HEAP32[$name>>2]|0; - $482 = (_strcmp($481,25673)|0); - $483 = ($482|0)!=(0); - if (!($483)) { - HEAP32[$0>>2] = 3; - break; - } - $484 = HEAP32[$name>>2]|0; - $485 = (_strcmp($484,25689)|0); - $486 = ($485|0)!=(0); - if (!($486)) { - HEAP32[$0>>2] = 2; - break; - } - $487 = HEAP32[$name>>2]|0; - $488 = (_strcmp($487,25706)|0); - $489 = ($488|0)!=(0); - if (!($489)) { - HEAP32[$0>>2] = 1; - break; - } - $490 = HEAP32[$name>>2]|0; - $491 = (_strcmp($490,25723)|0); - $492 = ($491|0)!=(0); - if (!($492)) { - HEAP32[$0>>2] = 29; - break; - } - $493 = HEAP32[$name>>2]|0; - $494 = (_strcmp($493,25739)|0); - $495 = ($494|0)!=(0); - if (!($495)) { - HEAP32[$0>>2] = 1; - break; - } - $496 = HEAP32[$name>>2]|0; - $497 = (_strcmp($496,25755)|0); - $498 = ($497|0)!=(0); - if (!($498)) { - HEAP32[$0>>2] = 4; - break; - } - $499 = HEAP32[$name>>2]|0; - $500 = (_strcmp($499,25772)|0); - $501 = ($500|0)!=(0); - if (!($501)) { - HEAP32[$0>>2] = 30; - break; - } - $502 = HEAP32[$name>>2]|0; - $503 = (_strcmp($502,25786)|0); - $504 = ($503|0)!=(0); - if (!($504)) { - HEAP32[$0>>2] = 31; - break; - } - $505 = HEAP32[$name>>2]|0; - $506 = (_strcmp($505,25798)|0); - $507 = ($506|0)!=(0); - if (!($507)) { - HEAP32[$0>>2] = 22; - break; - } - $508 = HEAP32[$name>>2]|0; - $509 = (_strcmp($508,25809)|0); - $510 = ($509|0)!=(0); - if (!($510)) { - HEAP32[$0>>2] = 2; - break; - } - $511 = HEAP32[$name>>2]|0; - $512 = (_strcmp($511,25822)|0); - $513 = ($512|0)!=(0); - if (!($513)) { - HEAP32[$0>>2] = 23; - break; - } - $514 = HEAP32[$name>>2]|0; - $515 = (_strcmp($514,25832)|0); - $516 = ($515|0)!=(0); - if (!($516)) { - HEAP32[$0>>2] = 2; - break; - } - $517 = HEAP32[$name>>2]|0; - $518 = (_strcmp($517,25849)|0); - $519 = ($518|0)!=(0); - if (!($519)) { - HEAP32[$0>>2] = 24; - break; - } - $520 = HEAP32[$name>>2]|0; - $521 = (_strcmp($520,25861)|0); - $522 = ($521|0)!=(0); - if (!($522)) { - HEAP32[$0>>2] = 25; - break; - } - $523 = HEAP32[$name>>2]|0; - $524 = (_strcmp($523,25883)|0); - $525 = ($524|0)!=(0); - if (!($525)) { - HEAP32[$0>>2] = 26; - break; - } - $526 = HEAP32[$name>>2]|0; - $527 = (_strcmp($526,25903)|0); - $528 = ($527|0)!=(0); - if (!($528)) { - HEAP32[$0>>2] = 3; - break; - } - $529 = HEAP32[$name>>2]|0; - $530 = (_strcmp($529,25916)|0); - $531 = ($530|0)!=(0); - if (!($531)) { - HEAP32[$0>>2] = 27; - break; - } - $532 = HEAP32[$name>>2]|0; - $533 = (_strcmp($532,25938)|0); - $534 = ($533|0)!=(0); - if (!($534)) { - HEAP32[$0>>2] = 28; - break; - } - $535 = HEAP32[$name>>2]|0; - $536 = (_strcmp($535,25958)|0); - $537 = ($536|0)!=(0); - if (!($537)) { - HEAP32[$0>>2] = 2; - break; - } - $538 = HEAP32[$name>>2]|0; - $539 = (_strcmp($538,25975)|0); - $540 = ($539|0)!=(0); - if (!($540)) { - HEAP32[$0>>2] = 2; - break; - } - $541 = HEAP32[$name>>2]|0; - $542 = (_strcmp($541,25992)|0); - $543 = ($542|0)!=(0); - if (!($543)) { - HEAP32[$0>>2] = 3; - break; - } - $544 = HEAP32[$name>>2]|0; - $545 = (_strcmp($544,26012)|0); - $546 = ($545|0)!=(0); - if ($546) { - $547 = HEAP32[$1>>2]|0; - $548 = HEAP32[$name>>2]|0; - $549 = _emscripten_asm_const_2(0, ($547|0), ($548|0))|0; - HEAP32[$0>>2] = 0; - break; - } else { - HEAP32[$0>>2] = 38; - break; - } - } else { - HEAP32[$0>>2] = 6; - } - } while(0); - $550 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($550|0); -} -function _isspace($c) { - $c = $c|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ($c|0)==(32); - $1 = (($c) + -9)|0; - $2 = ($1>>>0)<(5); - $3 = $0 | $2; - $4 = $3&1; - return ($4|0); -} -function _strerror($e) { - $e = $e|0; - var $$lcssa = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i$03 = 0, $i$03$lcssa = 0, $i$12 = 0, $s$0$lcssa = 0, $s$01 = 0, $s$1 = 0, label = 0; - var sp = 0; - sp = STACKTOP; - $i$03 = 0; - while(1) { - $1 = (26128 + ($i$03)|0); - $2 = HEAP8[$1>>0]|0; - $3 = $2&255; - $4 = ($3|0)==($e|0); - if ($4) { - $i$03$lcssa = $i$03; - label = 2; - break; - } - $5 = (($i$03) + 1)|0; - $6 = ($5|0)==(87); - if ($6) { - $i$12 = 87;$s$01 = 26216; - label = 5; - break; - } else { - $i$03 = $5; - } - } - if ((label|0) == 2) { - $0 = ($i$03$lcssa|0)==(0); - if ($0) { - $s$0$lcssa = 26216; - } else { - $i$12 = $i$03$lcssa;$s$01 = 26216; - label = 5; - } - } - if ((label|0) == 5) { - while(1) { - label = 0; - $s$1 = $s$01; - while(1) { - $7 = HEAP8[$s$1>>0]|0; - $8 = ($7<<24>>24)==(0); - $9 = ((($s$1)) + 1|0); - if ($8) { - $$lcssa = $9; - break; - } else { - $s$1 = $9; - } - } - $10 = (($i$12) + -1)|0; - $11 = ($10|0)==(0); - if ($11) { - $s$0$lcssa = $$lcssa; - break; - } else { - $i$12 = $10;$s$01 = $$lcssa; - label = 5; - } - } - } - return ($s$0$lcssa|0); -} -function ___errno_location() { - var $$0 = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[8632>>2]|0; - $1 = ($0|0)==(0|0); - if ($1) { - $$0 = 8888; - } else { - $2 = (_pthread_self()|0); - $3 = ((($2)) + 60|0); - $4 = HEAP32[$3>>2]|0; - $$0 = $4; - } - return ($$0|0); -} -function ___floatscan($f,$prec,$pok) { - $f = $f|0; - $prec = $prec|0; - $pok = $pok|0; - var $$$i = 0, $$0 = 0.0, $$0$i27 = 0.0, $$010$i = 0, $$07$i = 0, $$0710$i = 0, $$0711$i = 0, $$09$i = 0, $$1$be$i = 0, $$1$ph$i = 0, $$11$i = 0, $$18$i = 0, $$2$i = 0, $$3$be$i = 0, $$3$lcssa$i = 0, $$3105$i = 0, $$in = 0, $$k$0$i = 0, $$lcssa = 0, $$lcssa256 = 0; - var $$lcssa256$lcssa = 0, $$lcssa257 = 0, $$lcssa257$lcssa = 0, $$lcssa263 = 0, $$lcssa264 = 0, $$lcssa265 = 0, $$lcssa275 = 0, $$lnz$0$i = 0, $$neg32$i = 0, $$not$i = 0, $$old8 = 0, $$pn$i = 0.0, $$pre$i = 0, $$pre$i17 = 0, $$pre$phi42$iZ2D = 0.0, $$pre41$i = 0.0, $$promoted$i = 0, $$sink$off0$i = 0, $0 = 0, $1 = 0; - var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; - var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; - var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; - var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0; - var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0.0, $183 = 0.0, $184 = 0.0, $185 = 0.0, $186 = 0, $187 = 0, $188 = 0.0, $189 = 0.0, $19 = 0; - var $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0; - var $208 = 0, $209 = 0.0, $21 = 0, $210 = 0.0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0; - var $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0; - var $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0.0, $259 = 0.0, $26 = 0, $260 = 0, $261 = 0; - var $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0.0, $268 = 0.0, $269 = 0.0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0; - var $280 = 0.0, $281 = 0.0, $282 = 0.0, $283 = 0, $284 = 0, $285 = 0.0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0; - var $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0.0, $31 = 0, $310 = 0.0, $311 = 0.0, $312 = 0, $313 = 0, $314 = 0, $315 = 0; - var $316 = 0, $317 = 0.0, $318 = 0.0, $319 = 0.0, $32 = 0, $320 = 0.0, $321 = 0.0, $322 = 0.0, $323 = 0, $324 = 0, $325 = 0.0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0; - var $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0; - var $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0; - var $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0; - var $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0; - var $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0; - var $424 = 0.0, $425 = 0.0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0.0; - var $442 = 0.0, $443 = 0.0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0.0, $454 = 0.0, $455 = 0.0, $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0; - var $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0.0, $466 = 0.0, $467 = 0.0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0, $478 = 0; - var $479 = 0.0, $48 = 0, $480 = 0, $481 = 0.0, $482 = 0.0, $483 = 0, $484 = 0.0, $485 = 0, $486 = 0.0, $487 = 0.0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0.0, $492 = 0.0, $493 = 0, $494 = 0, $495 = 0, $496 = 0; - var $497 = 0, $498 = 0.0, $499 = 0.0, $5 = 0, $50 = 0.0, $500 = 0.0, $501 = 0, $502 = 0, $503 = 0, $504 = 0.0, $505 = 0.0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0.0, $510 = 0, $511 = 0, $512 = 0, $513 = 0; - var $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0.0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0, $531 = 0; - var $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0, $549 = 0, $55 = 0; - var $550 = 0, $551 = 0, $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0, $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0, $562 = 0, $563 = 0, $564 = 0, $565 = 0, $566 = 0, $567 = 0, $568 = 0; - var $569 = 0, $57 = 0, $570 = 0, $571 = 0, $572 = 0, $573 = 0, $574 = 0, $575 = 0, $576 = 0, $577 = 0, $578 = 0, $579 = 0, $58 = 0, $580 = 0, $581 = 0, $582 = 0, $583 = 0, $584 = 0, $585 = 0, $586 = 0; - var $587 = 0, $588 = 0, $589 = 0, $59 = 0, $590 = 0, $591 = 0, $592 = 0, $593 = 0, $594 = 0, $595 = 0, $596 = 0, $597 = 0, $598 = 0, $599 = 0, $6 = 0, $60 = 0, $600 = 0, $601 = 0, $602 = 0, $603 = 0; - var $604 = 0, $605 = 0, $606 = 0, $607 = 0, $608 = 0, $609 = 0, $61 = 0, $610 = 0, $611 = 0, $612 = 0, $613 = 0, $614 = 0, $615 = 0, $616 = 0, $617 = 0, $618 = 0, $619 = 0.0, $62 = 0, $620 = 0, $621 = 0; - var $622 = 0, $623 = 0, $624 = 0.0, $625 = 0.0, $626 = 0.0, $627 = 0, $628 = 0.0, $629 = 0.0, $63 = 0, $630 = 0.0, $631 = 0.0, $632 = 0, $633 = 0, $634 = 0, $635 = 0, $636 = 0, $637 = 0, $638 = 0, $639 = 0, $64 = 0; - var $640 = 0, $641 = 0, $642 = 0.0, $643 = 0.0, $644 = 0.0, $645 = 0, $646 = 0.0, $647 = 0.0, $648 = 0, $649 = 0, $65 = 0, $650 = 0, $651 = 0.0, $652 = 0.0, $653 = 0.0, $654 = 0.0, $655 = 0, $656 = 0, $657 = 0.0, $658 = 0; - var $659 = 0.0, $66 = 0, $660 = 0.0, $661 = 0.0, $662 = 0, $663 = 0, $664 = 0, $665 = 0, $666 = 0.0, $667 = 0, $668 = 0, $669 = 0, $67 = 0, $670 = 0, $671 = 0.0, $672 = 0, $673 = 0, $674 = 0, $675 = 0, $676 = 0; - var $677 = 0, $678 = 0.0, $679 = 0, $68 = 0, $680 = 0, $681 = 0, $682 = 0, $683 = 0.0, $684 = 0, $685 = 0, $686 = 0.0, $687 = 0.0, $688 = 0, $689 = 0, $69 = 0, $690 = 0, $691 = 0, $692 = 0, $693 = 0, $694 = 0; - var $695 = 0, $696 = 0, $697 = 0, $698 = 0, $699 = 0, $7 = 0, $70 = 0, $700 = 0, $701 = 0, $702 = 0, $703 = 0, $704 = 0, $705 = 0, $706 = 0, $707 = 0, $708 = 0, $709 = 0, $71 = 0, $710 = 0, $711 = 0; - var $712 = 0, $713 = 0, $714 = 0, $715 = 0, $716 = 0, $717 = 0, $718 = 0, $719 = 0, $72 = 0, $720 = 0, $721 = 0, $722 = 0, $723 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0; - var $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0; - var $98 = 0, $99 = 0, $a$0$lcssa151$i = 0, $a$085$i = 0, $a$1$i = 0, $a$1$i$lcssa = 0, $a$2$ph38$i = 0, $a$3$i = 0, $a$3$i$lcssa248 = 0, $a$3$i249 = 0, $a$3$ph$i = 0, $a$3$ph157$i = 0, $a$478$i = 0, $a$5$i = 0, $a$5$i$lcssa = 0, $a$5$i$lcssa$lcssa = 0, $bias$0$i = 0.0, $bias$0$i25 = 0.0, $bits$0$ph = 0, $brmerge$i28 = 0; - var $c$0 = 0, $c$0$i = 0, $c$1$lcssa = 0, $c$1$ph$i = 0, $c$179 = 0, $c$2 = 0, $c$2$i = 0, $c$2$lcssa$i = 0, $c$377 = 0, $c$4 = 0, $c$5 = 0, $c$6 = 0, $carry$087$i = 0, $carry1$0$i = 0, $carry1$1$i = 0, $carry1$1$i$lcssa = 0, $carry1$1$i$lcssa$lcssa = 0, $carry3$081$i = 0, $cond$i = 0, $d$0$i = 0; - var $denormal$0$i = 0, $denormal$1$i = 0, $denormal$2$i = 0, $e2$0$i19 = 0, $e2$0$ph$i = 0, $e2$1$i = 0, $e2$1$i246 = 0, $e2$1$ph$i = 0, $e2$1$ph156$i = 0, $e2$2$i = 0, $e2$3$i = 0, $emin$0$ph = 0, $exitcond$i = 0, $frac$0$i = 0.0, $frac$1$i = 0.0, $frac$2$i = 0.0, $gotdig$0$i = 0, $gotdig$0$i$lcssa242 = 0, $gotdig$0$i12 = 0, $gotdig$0$i12$lcssa273 = 0; - var $gotdig$2$i = 0, $gotdig$2$i$lcssa = 0, $gotdig$2$i13 = 0, $gotdig$3$i = 0, $gotdig$3$lcssa$i = 0, $gotdig$3101$i = 0, $gotdig$3101$i$lcssa = 0, $gotdig$4$i = 0, $gotrad$0$i = 0, $gotrad$0$i$lcssa = 0, $gotrad$0$i14 = 0, $gotrad$1$i = 0, $gotrad$1$lcssa$i = 0, $gotrad$1102$i = 0, $gotrad$2$i = 0, $gottail$0$i = 0, $gottail$1$i = 0, $gottail$2$i = 0, $i$0$lcssa = 0, $i$078 = 0; - var $i$1 = 0, $i$276 = 0, $i$3 = 0, $i$4 = 0, $i$4$lcssa = 0, $j$0$lcssa$i = 0, $j$0104$i = 0, $j$0104$i$lcssa = 0, $j$067$i = 0, $j$068$i = 0, $j$069$i = 0, $j$2$i = 0, $j$394$i = 0, $k$0$lcssa$i = 0, $k$0103$i = 0, $k$0103$i$lcssa = 0, $k$063$i = 0, $k$064$i = 0, $k$065$i = 0, $k$2$i = 0; - var $k$3$i = 0, $k$486$i = 0, $k$5$i = 0, $k$5$in$i = 0, $k$5$z$2$i = 0, $k$679$i = 0, $lnz$0$lcssa$i = 0, $lnz$0100$i = 0, $lnz$0100$i$lcssa = 0, $lnz$057$i = 0, $lnz$058$i = 0, $lnz$059$i = 0, $lnz$2$i = 0, $or$cond = 0, $or$cond$i = 0, $or$cond$i16 = 0, $or$cond13$i = 0, $or$cond15$i = 0, $or$cond16$i = 0, $or$cond17$i = 0; - var $or$cond182$i = 0, $or$cond19$i = 0, $or$cond20$i = 0, $or$cond3$i = 0, $or$cond4$i = 0, $or$cond5 = 0, $or$cond6$i = 0, $or$cond7 = 0, $or$cond8$i = 0, $or$cond9 = 0, $or$cond9$i = 0, $rp$0$lcssa152$i = 0, $rp$084$i = 0, $rp$1$i18 = 0, $rp$1$i18$lcssa = 0, $rp$2$ph36$i = 0, $rp$3$ph$i = 0, $rp$3$ph34$i = 0, $rp$477$i = 0, $rp$5$i = 0; - var $rp$5$i$lcssa = 0, $rp$5$i$lcssa$lcssa = 0, $scale$0$i = 0.0, $scale$1$i = 0.0, $scale$2$i = 0.0, $sign$0 = 0, $storemerge$i = 0, $sum$i = 0, $x$0$i = 0, $x$0$i$lcssa = 0, $x$1$i = 0, $x$2$i = 0, $x$3$lcssa$i = 0, $x$324$i = 0, $x$4$lcssa$i = 0, $x$419$i = 0, $x$5$i = 0, $x$6$i = 0, $x$i = 0, $y$0$i = 0.0; - var $y$0$i$lcssa = 0.0, $y$1$i = 0.0, $y$1$i24 = 0.0, $y$2$i = 0.0, $y$2$i26 = 0.0, $y$3$i = 0.0, $y$3$lcssa$i = 0.0, $y$320$i = 0.0, $y$4$i = 0.0, $y$5$i = 0.0, $z$0$i = 0, $z$1$i = 0, $z$1$ph37$i = 0, $z$2$i = 0, $z$3$i = 0, $z$3$i$lcssa = 0, $z$3$i$lcssa$lcssa = 0, $z$4$i = 0, $z$5$ph$i = 0, $z$7$1$i = 0; - var $z$7$i = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 512|0; - $x$i = sp; - switch ($prec|0) { + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $$byval_copy = sp; + $1 = ((($0)) + 12|0); + ;HEAP32[$$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$1+16>>2]|0;HEAP32[$$byval_copy+20>>2]=HEAP32[$1+20>>2]|0;HEAP32[$$byval_copy+24>>2]=HEAP32[$1+24>>2]|0; + _CloseAudioStream($$byval_copy); + $2 = HEAP32[$0>>2]|0; + switch ($2|0) { case 0: { - $bits$0$ph = 24;$emin$0$ph = -149; - label = 4; - break; - } - case 1: { - $bits$0$ph = 53;$emin$0$ph = -1074; - label = 4; + $3 = ((($0)) + 4|0); + $4 = HEAP32[$3>>2]|0; + _stb_vorbis_close($4); + _free($0); + STACKTOP = sp;return; break; } case 2: { - $bits$0$ph = 53;$emin$0$ph = -1074; - label = 4; + $5 = ((($0)) + 8|0); + $6 = HEAP32[$5>>2]|0; + _jar_xm_free_context($6); + _free($0); + STACKTOP = sp;return; break; } default: { - $$0 = 0.0; + _free($0); + STACKTOP = sp;return; } } +} +function _CloseAudioStream($0) { + $0 = $0|0; + var $$pr = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $vararg_buffer = sp; + $1 = sp + 8|0; + $2 = sp + 4|0; + $3 = ((($0)) + 16|0); + $4 = HEAP32[$3>>2]|0; + _alSourceStop(($4|0)); + HEAP32[$1>>2] = 0; + $5 = HEAP32[$3>>2]|0; + _alGetSourcei(($5|0),4117,($1|0)); + HEAP32[$2>>2] = 0; + $$pr = HEAP32[$1>>2]|0; + $6 = ($$pr|0)>(0); + if ($6) { + while(1) { + $7 = HEAP32[$3>>2]|0; + _alSourceUnqueueBuffers(($7|0),1,($2|0)); + $8 = HEAP32[$1>>2]|0; + $9 = (($8) + -1)|0; + HEAP32[$1>>2] = $9; + $10 = ($8|0)>(1); + if (!($10)) { + break; + } + } + } + _alDeleteSources(1,($3|0)); + $11 = ((($0)) + 20|0); + _alDeleteBuffers(2,($11|0)); + $12 = HEAP32[$3>>2]|0; + HEAP32[$vararg_buffer>>2] = $12; + _TraceLog(0,18173,$vararg_buffer); + STACKTOP = sp;return; +} +function _PlayMusicStream($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 28|0); + $2 = HEAP32[$1>>2]|0; + _alSourcePlay(($2|0)); + return; +} +function _StopMusicStream($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; + var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 28|0); + $2 = HEAP32[$1>>2]|0; + _alSourceStop(($2|0)); + $3 = ((($0)) + 16|0); + $4 = HEAP32[$3>>2]|0; + $5 = $4 << 9; + $6 = $5 & 536870400; + $7 = ((($0)) + 20|0); + $8 = HEAP32[$7>>2]|0; + $9 = Math_imul($6, $8)|0; + $10 = (_calloc($9,1)|0); + $11 = ((($0)) + 24|0); + $12 = ((($0)) + 12|0); + $13 = ((($0)) + 32|0); + $14 = HEAP32[$13>>2]|0; + $15 = HEAP32[$11>>2]|0; + $16 = HEAP32[$3>>2]|0; + $17 = $16 << 9; + $18 = $17 & 536870400; + $19 = HEAP32[$7>>2]|0; + $20 = Math_imul($18, $19)|0; + $21 = HEAP32[$12>>2]|0; + _alBufferData(($14|0),($15|0),($10|0),($20|0),($21|0)); + $22 = ((($0)) + 36|0); + $23 = HEAP32[$22>>2]|0; + $24 = HEAP32[$11>>2]|0; + $25 = HEAP32[$3>>2]|0; + $26 = $25 << 9; + $27 = $26 & 536870400; + $28 = HEAP32[$7>>2]|0; + $29 = Math_imul($27, $28)|0; + $30 = HEAP32[$12>>2]|0; + _alBufferData(($23|0),($24|0),($10|0),($29|0),($30|0)); + _free($10); + $31 = HEAP32[$0>>2]|0; + $cond = ($31|0)==(0); + if (!($cond)) { + $34 = ((($0)) + 44|0); + $35 = HEAP32[$34>>2]|0; + $36 = ((($0)) + 48|0); + HEAP32[$36>>2] = $35; + return; + } + $32 = ((($0)) + 4|0); + $33 = HEAP32[$32>>2]|0; + (_stb_vorbis_seek_start($33)|0); + $34 = ((($0)) + 44|0); + $35 = HEAP32[$34>>2]|0; + $36 = ((($0)) + 48|0); + HEAP32[$36>>2] = $35; + return; +} +function _stb_vorbis_seek_start($0) { + $0 = $0|0; + var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 48|0); + $2 = HEAP8[$1>>0]|0; + $3 = ($2<<24>>24)==(0); + if ($3) { + $4 = ((($0)) + 52|0); + $5 = HEAP32[$4>>2]|0; + _set_file_offset($0,$5); + $6 = ((($0)) + 992|0); + HEAP32[$6>>2] = 0; + $7 = ((($0)) + 1377|0); + HEAP8[$7>>0] = 1; + $8 = ((($0)) + 1380|0); + HEAP32[$8>>2] = -1; + $9 = (_vorbis_pump_first_frame($0)|0); + $$0 = $9; + return ($$0|0); + } else { + _error($0,2); + $$0 = 0; + return ($$0|0); + } + return (0)|0; +} +function _UpdateMusicStream($0) { + $0 = $0|0; + var $$ = 0, $$0 = 0, $$04143 = 0, $$byval_copy = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; + var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; + var $42 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0); + $$byval_copy = sp + 12|0; + $vararg_buffer = sp; + $1 = sp + 8|0; + $2 = sp + 4|0; + HEAP32[$2>>2] = 0; + $3 = ((($0)) + 12|0); + $4 = ((($0)) + 28|0); + $5 = HEAP32[$4>>2]|0; + _alGetSourcei(($5|0),4112,($1|0)); + $6 = HEAP32[$4>>2]|0; + _alGetSourcei(($6|0),4118,($2|0)); + $7 = HEAP32[$2>>2]|0; + $8 = ($7|0)>(0); + if (!($8)) { + STACKTOP = sp;return; + } + $9 = ((($0)) + 16|0); + $10 = HEAP32[$9>>2]|0; + $11 = $10 << 9; + $12 = $11 & 536870400; + $13 = ((($0)) + 20|0); + $14 = HEAP32[$13>>2]|0; + $15 = Math_imul($12, $14)|0; + $16 = (_calloc($15,1)|0); + $17 = HEAP32[$2>>2]|0; + $18 = ($17|0)>(0); L4: do { - if ((label|0) == 4) { - $0 = ((($f)) + 4|0); - $1 = ((($f)) + 100|0); + if ($18) { + $19 = ((($0)) + 48|0); + $20 = ((($0)) + 4|0); + $21 = ((($0)) + 8|0); + $$04143 = 0; while(1) { - $2 = HEAP32[$0>>2]|0; - $3 = HEAP32[$1>>2]|0; - $4 = ($2>>>0)<($3>>>0); - if ($4) { - $5 = ((($2)) + 1|0); - HEAP32[$0>>2] = $5; - $6 = HEAP8[$2>>0]|0; - $7 = $6&255; - $9 = $7; - } else { - $8 = (___shgetc($f)|0); - $9 = $8; - } - $10 = (_isspace($9)|0); - $11 = ($10|0)==(0); - if ($11) { - $$lcssa275 = $9; + $24 = HEAP32[$19>>2]|0; + $25 = ($24>>>0)<(4096); + $$ = $25 ? $24 : 4096; + $26 = HEAP32[$0>>2]|0; + switch ($26|0) { + case 0: { + $27 = HEAP32[$20>>2]|0; + $28 = HEAP32[$13>>2]|0; + $29 = Math_imul($28, $$)|0; + (_stb_vorbis_get_samples_short_interleaved($27,$28,$16,$29)|0); break; } - } - $12 = ($$lcssa275|0)==(45); - L13: do { - switch ($$lcssa275|0) { - case 43: case 45: { - $13 = $12&1; - $14 = $13 << 1; - $15 = (1 - ($14))|0; - $16 = HEAP32[$0>>2]|0; - $17 = HEAP32[$1>>2]|0; - $18 = ($16>>>0)<($17>>>0); - if ($18) { - $19 = ((($16)) + 1|0); - HEAP32[$0>>2] = $19; - $20 = HEAP8[$16>>0]|0; - $21 = $20&255; - $c$0 = $21;$sign$0 = $15; - break L13; - } else { - $22 = (___shgetc($f)|0); - $c$0 = $22;$sign$0 = $15; - break L13; - } + case 2: { + $30 = HEAP32[$21>>2]|0; + _jar_xm_generate_samples_16bit($30,$16,$$); break; } default: { - $c$0 = $$lcssa275;$sign$0 = 1; } } - } while(0); - $c$179 = $c$0;$i$078 = 0; - while(1) { - $23 = $c$179 | 32; - $24 = (28020 + ($i$078)|0); - $25 = HEAP8[$24>>0]|0; - $26 = $25 << 24 >> 24; - $27 = ($23|0)==($26|0); - if (!($27)) { - $c$1$lcssa = $c$179;$i$0$lcssa = $i$078; - break; + ;HEAP32[$$byval_copy>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$3+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$3+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$3+16>>2]|0;HEAP32[$$byval_copy+20>>2]=HEAP32[$3+20>>2]|0;HEAP32[$$byval_copy+24>>2]=HEAP32[$3+24>>2]|0; + _UpdateAudioStream($$byval_copy,$16,$$); + $31 = HEAP32[$19>>2]|0; + $32 = (($31) - ($$))|0; + HEAP32[$19>>2] = $32; + $33 = ($32|0)==(0); + $23 = (($$04143) + 1)|0; + if ($33) { + $$0 = 0; + break L4; } - $28 = ($i$078>>>0)<(7); - do { - if ($28) { - $29 = HEAP32[$0>>2]|0; - $30 = HEAP32[$1>>2]|0; - $31 = ($29>>>0)<($30>>>0); - if ($31) { - $32 = ((($29)) + 1|0); - HEAP32[$0>>2] = $32; - $33 = HEAP8[$29>>0]|0; - $34 = $33&255; - $c$2 = $34; - break; - } else { - $35 = (___shgetc($f)|0); - $c$2 = $35; - break; - } - } else { - $c$2 = $c$179; - } - } while(0); - $36 = (($i$078) + 1)|0; - $37 = ($36>>>0)<(8); - if ($37) { - $c$179 = $c$2;$i$078 = $36; + $22 = ($23|0)<($17|0); + if ($22) { + $$04143 = $23; } else { - $c$1$lcssa = $c$2;$i$0$lcssa = $36; - break; + $$0 = 1; + break L4; } } - L29: do { - switch ($i$0$lcssa|0) { - case 8: { - break; - } - case 3: { - label = 23; - break; - } - default: { - $38 = ($i$0$lcssa>>>0)>(3); - $39 = ($pok|0)!=(0); - $or$cond5 = $39 & $38; - if ($or$cond5) { - $40 = ($i$0$lcssa|0)==(8); - if ($40) { - break L29; - } else { - label = 23; - break L29; - } - } - $53 = ($i$0$lcssa|0)==(0); - L34: do { - if ($53) { - $c$377 = $c$1$lcssa;$i$276 = 0; - while(1) { - $54 = $c$377 | 32; - $55 = (29855 + ($i$276)|0); - $56 = HEAP8[$55>>0]|0; - $57 = $56 << 24 >> 24; - $58 = ($54|0)==($57|0); - if (!($58)) { - $c$5 = $c$377;$i$3 = $i$276; - break L34; - } - $59 = ($i$276>>>0)<(2); - do { - if ($59) { - $60 = HEAP32[$0>>2]|0; - $61 = HEAP32[$1>>2]|0; - $62 = ($60>>>0)<($61>>>0); - if ($62) { - $63 = ((($60)) + 1|0); - HEAP32[$0>>2] = $63; - $64 = HEAP8[$60>>0]|0; - $65 = $64&255; - $c$4 = $65; - break; - } else { - $66 = (___shgetc($f)|0); - $c$4 = $66; - break; - } - } else { - $c$4 = $c$377; - } - } while(0); - $67 = (($i$276) + 1)|0; - $68 = ($67>>>0)<(3); - if ($68) { - $c$377 = $c$4;$i$276 = $67; - } else { - $c$5 = $c$4;$i$3 = $67; - break; - } - } - } else { - $c$5 = $c$1$lcssa;$i$3 = $i$0$lcssa; - } - } while(0); - switch ($i$3|0) { - case 3: { - $69 = HEAP32[$0>>2]|0; - $70 = HEAP32[$1>>2]|0; - $71 = ($69>>>0)<($70>>>0); - if ($71) { - $72 = ((($69)) + 1|0); - HEAP32[$0>>2] = $72; - $73 = HEAP8[$69>>0]|0; - $74 = $73&255; - $76 = $74; - } else { - $75 = (___shgetc($f)|0); - $76 = $75; - } - $77 = ($76|0)==(40); - if ($77) { - $i$4 = 1; - } else { - $78 = HEAP32[$1>>2]|0; - $79 = ($78|0)==(0|0); - if ($79) { - $$0 = nan; - break L4; - } - $80 = HEAP32[$0>>2]|0; - $81 = ((($80)) + -1|0); - HEAP32[$0>>2] = $81; - $$0 = nan; - break L4; - } - while(1) { - $82 = HEAP32[$0>>2]|0; - $83 = HEAP32[$1>>2]|0; - $84 = ($82>>>0)<($83>>>0); - if ($84) { - $85 = ((($82)) + 1|0); - HEAP32[$0>>2] = $85; - $86 = HEAP8[$82>>0]|0; - $87 = $86&255; - $90 = $87; - } else { - $88 = (___shgetc($f)|0); - $90 = $88; - } - $89 = (($90) + -48)|0; - $91 = ($89>>>0)<(10); - $92 = (($90) + -65)|0; - $93 = ($92>>>0)<(26); - $or$cond = $91 | $93; - if (!($or$cond)) { - $94 = (($90) + -97)|0; - $95 = ($94>>>0)<(26); - $96 = ($90|0)==(95); - $or$cond7 = $96 | $95; - if (!($or$cond7)) { - $$lcssa = $90;$i$4$lcssa = $i$4; - break; - } - } - $108 = (($i$4) + 1)|0; - $i$4 = $108; - } - $97 = ($$lcssa|0)==(41); - if ($97) { - $$0 = nan; - break L4; - } - $98 = HEAP32[$1>>2]|0; - $99 = ($98|0)==(0|0); - if (!($99)) { - $100 = HEAP32[$0>>2]|0; - $101 = ((($100)) + -1|0); - HEAP32[$0>>2] = $101; - } - if (!($39)) { - $103 = (___errno_location()|0); - HEAP32[$103>>2] = 22; - ___shlim($f,0); - $$0 = 0.0; - break L4; - } - $102 = ($i$4$lcssa|0)==(0); - if ($102) { - $$0 = nan; - break L4; - } else { - $$in = $i$4$lcssa; - } - while(1) { - $104 = (($$in) + -1)|0; - if (!($99)) { - $105 = HEAP32[$0>>2]|0; - $106 = ((($105)) + -1|0); - HEAP32[$0>>2] = $106; - } - $107 = ($104|0)==(0); - if ($107) { - $$0 = nan; - break L4; - } else { - $$in = $104; - } - } - break; - } - case 0: { - $114 = ($c$5|0)==(48); - do { - if ($114) { - $115 = HEAP32[$0>>2]|0; - $116 = HEAP32[$1>>2]|0; - $117 = ($115>>>0)<($116>>>0); - if ($117) { - $118 = ((($115)) + 1|0); - HEAP32[$0>>2] = $118; - $119 = HEAP8[$115>>0]|0; - $120 = $119&255; - $123 = $120; - } else { - $121 = (___shgetc($f)|0); - $123 = $121; - } - $122 = $123 | 32; - $124 = ($122|0)==(120); - if (!($124)) { - $326 = HEAP32[$1>>2]|0; - $327 = ($326|0)==(0|0); - if ($327) { - $c$6 = 48; - break; - } - $328 = HEAP32[$0>>2]|0; - $329 = ((($328)) + -1|0); - HEAP32[$0>>2] = $329; - $c$6 = 48; - break; - } - $125 = HEAP32[$0>>2]|0; - $126 = HEAP32[$1>>2]|0; - $127 = ($125>>>0)<($126>>>0); - if ($127) { - $128 = ((($125)) + 1|0); - HEAP32[$0>>2] = $128; - $129 = HEAP8[$125>>0]|0; - $130 = $129&255; - $c$0$i = $130;$gotdig$0$i = 0; - } else { - $131 = (___shgetc($f)|0); - $c$0$i = $131;$gotdig$0$i = 0; - } - L94: while(1) { - switch ($c$0$i|0) { - case 46: { - $gotdig$0$i$lcssa242 = $gotdig$0$i; - label = 74; - break L94; - break; - } - case 48: { - break; - } - default: { - $168 = 0;$170 = 0;$694 = 0;$695 = 0;$c$2$i = $c$0$i;$gotdig$2$i = $gotdig$0$i;$gotrad$0$i = 0;$gottail$0$i = 0;$scale$0$i = 1.0;$x$0$i = 0;$y$0$i = 0.0; - break L94; - } - } - $132 = HEAP32[$0>>2]|0; - $133 = HEAP32[$1>>2]|0; - $134 = ($132>>>0)<($133>>>0); - if ($134) { - $135 = ((($132)) + 1|0); - HEAP32[$0>>2] = $135; - $136 = HEAP8[$132>>0]|0; - $137 = $136&255; - $c$0$i = $137;$gotdig$0$i = 1; - continue; - } else { - $138 = (___shgetc($f)|0); - $c$0$i = $138;$gotdig$0$i = 1; - continue; - } - } - if ((label|0) == 74) { - $139 = HEAP32[$0>>2]|0; - $140 = HEAP32[$1>>2]|0; - $141 = ($139>>>0)<($140>>>0); - if ($141) { - $142 = ((($139)) + 1|0); - HEAP32[$0>>2] = $142; - $143 = HEAP8[$139>>0]|0; - $144 = $143&255; - $c$1$ph$i = $144; - } else { - $145 = (___shgetc($f)|0); - $c$1$ph$i = $145; - } - $146 = ($c$1$ph$i|0)==(48); - if ($146) { - $154 = 0;$155 = 0; - while(1) { - $147 = HEAP32[$0>>2]|0; - $148 = HEAP32[$1>>2]|0; - $149 = ($147>>>0)<($148>>>0); - if ($149) { - $150 = ((($147)) + 1|0); - HEAP32[$0>>2] = $150; - $151 = HEAP8[$147>>0]|0; - $152 = $151&255; - $158 = $152; - } else { - $153 = (___shgetc($f)|0); - $158 = $153; - } - $156 = (_i64Add(($154|0),($155|0),-1,-1)|0); - $157 = tempRet0; - $159 = ($158|0)==(48); - if ($159) { - $154 = $156;$155 = $157; - } else { - $168 = 0;$170 = 0;$694 = $156;$695 = $157;$c$2$i = $158;$gotdig$2$i = 1;$gotrad$0$i = 1;$gottail$0$i = 0;$scale$0$i = 1.0;$x$0$i = 0;$y$0$i = 0.0; - break; - } - } - } else { - $168 = 0;$170 = 0;$694 = 0;$695 = 0;$c$2$i = $c$1$ph$i;$gotdig$2$i = $gotdig$0$i$lcssa242;$gotrad$0$i = 1;$gottail$0$i = 0;$scale$0$i = 1.0;$x$0$i = 0;$y$0$i = 0.0; - } - } - while(1) { - $160 = (($c$2$i) + -48)|0; - $161 = ($160>>>0)<(10); - $$pre$i = $c$2$i | 32; - if ($161) { - label = 86; - } else { - $162 = (($$pre$i) + -97)|0; - $163 = ($162>>>0)<(6); - $164 = ($c$2$i|0)==(46); - $or$cond6$i = $164 | $163; - if (!($or$cond6$i)) { - $212 = $694;$213 = $170;$215 = $695;$216 = $168;$c$2$lcssa$i = $c$2$i;$gotdig$2$i$lcssa = $gotdig$2$i;$gotrad$0$i$lcssa = $gotrad$0$i;$x$0$i$lcssa = $x$0$i;$y$0$i$lcssa = $y$0$i; - break; - } - if ($164) { - $165 = ($gotrad$0$i|0)==(0); - if ($165) { - $696 = $170;$697 = $168;$698 = $170;$699 = $168;$gotdig$3$i = $gotdig$2$i;$gotrad$1$i = 1;$gottail$2$i = $gottail$0$i;$scale$2$i = $scale$0$i;$x$2$i = $x$0$i;$y$2$i = $y$0$i; - } else { - $212 = $694;$213 = $170;$215 = $695;$216 = $168;$c$2$lcssa$i = 46;$gotdig$2$i$lcssa = $gotdig$2$i;$gotrad$0$i$lcssa = $gotrad$0$i;$x$0$i$lcssa = $x$0$i;$y$0$i$lcssa = $y$0$i; - break; - } - } else { - label = 86; - } - } - if ((label|0) == 86) { - label = 0; - $166 = ($c$2$i|0)>(57); - $167 = (($$pre$i) + -87)|0; - $d$0$i = $166 ? $167 : $160; - $169 = ($168|0)<(0); - $171 = ($170>>>0)<(8); - $172 = ($168|0)==(0); - $173 = $172 & $171; - $174 = $169 | $173; - do { - if ($174) { - $175 = $x$0$i << 4; - $176 = (($d$0$i) + ($175))|0; - $gottail$1$i = $gottail$0$i;$scale$1$i = $scale$0$i;$x$1$i = $176;$y$1$i = $y$0$i; - } else { - $177 = ($168|0)<(0); - $178 = ($170>>>0)<(14); - $179 = ($168|0)==(0); - $180 = $179 & $178; - $181 = $177 | $180; - if ($181) { - $182 = (+($d$0$i|0)); - $183 = $scale$0$i * 0.0625; - $184 = $183 * $182; - $185 = $y$0$i + $184; - $gottail$1$i = $gottail$0$i;$scale$1$i = $183;$x$1$i = $x$0$i;$y$1$i = $185; - break; - } - $186 = ($d$0$i|0)==(0); - $187 = ($gottail$0$i|0)!=(0); - $or$cond$i = $187 | $186; - if ($or$cond$i) { - $gottail$1$i = $gottail$0$i;$scale$1$i = $scale$0$i;$x$1$i = $x$0$i;$y$1$i = $y$0$i; - } else { - $188 = $scale$0$i * 0.5; - $189 = $y$0$i + $188; - $gottail$1$i = 1;$scale$1$i = $scale$0$i;$x$1$i = $x$0$i;$y$1$i = $189; - } - } - } while(0); - $190 = (_i64Add(($170|0),($168|0),1,0)|0); - $191 = tempRet0; - $696 = $694;$697 = $695;$698 = $190;$699 = $191;$gotdig$3$i = 1;$gotrad$1$i = $gotrad$0$i;$gottail$2$i = $gottail$1$i;$scale$2$i = $scale$1$i;$x$2$i = $x$1$i;$y$2$i = $y$1$i; - } - $192 = HEAP32[$0>>2]|0; - $193 = HEAP32[$1>>2]|0; - $194 = ($192>>>0)<($193>>>0); - if ($194) { - $195 = ((($192)) + 1|0); - HEAP32[$0>>2] = $195; - $196 = HEAP8[$192>>0]|0; - $197 = $196&255; - $168 = $699;$170 = $698;$694 = $696;$695 = $697;$c$2$i = $197;$gotdig$2$i = $gotdig$3$i;$gotrad$0$i = $gotrad$1$i;$gottail$0$i = $gottail$2$i;$scale$0$i = $scale$2$i;$x$0$i = $x$2$i;$y$0$i = $y$2$i; - continue; - } else { - $198 = (___shgetc($f)|0); - $168 = $699;$170 = $698;$694 = $696;$695 = $697;$c$2$i = $198;$gotdig$2$i = $gotdig$3$i;$gotrad$0$i = $gotrad$1$i;$gottail$0$i = $gottail$2$i;$scale$0$i = $scale$2$i;$x$0$i = $x$2$i;$y$0$i = $y$2$i; - continue; - } - } - $199 = ($gotdig$2$i$lcssa|0)==(0); - if ($199) { - $200 = HEAP32[$1>>2]|0; - $201 = ($200|0)==(0|0); - if (!($201)) { - $202 = HEAP32[$0>>2]|0; - $203 = ((($202)) + -1|0); - HEAP32[$0>>2] = $203; - } - $204 = ($pok|0)==(0); - if ($204) { - ___shlim($f,0); - } else { - if (!($201)) { - $205 = HEAP32[$0>>2]|0; - $206 = ((($205)) + -1|0); - HEAP32[$0>>2] = $206; - $207 = ($gotrad$0$i$lcssa|0)==(0); - if (!($207)) { - $208 = ((($205)) + -2|0); - HEAP32[$0>>2] = $208; - } - } - } - $209 = (+($sign$0|0)); - $210 = $209 * 0.0; - $$0 = $210; - break L4; - } - $211 = ($gotrad$0$i$lcssa|0)==(0); - $214 = $211 ? $213 : $212; - $217 = $211 ? $216 : $215; - $218 = ($216|0)<(0); - $219 = ($213>>>0)<(8); - $220 = ($216|0)==(0); - $221 = $220 & $219; - $222 = $218 | $221; - if ($222) { - $224 = $213;$225 = $216;$x$324$i = $x$0$i$lcssa; - while(1) { - $223 = $x$324$i << 4; - $226 = (_i64Add(($224|0),($225|0),1,0)|0); - $227 = tempRet0; - $228 = ($227|0)<(0); - $229 = ($226>>>0)<(8); - $230 = ($227|0)==(0); - $231 = $230 & $229; - $232 = $228 | $231; - if ($232) { - $224 = $226;$225 = $227;$x$324$i = $223; - } else { - $x$3$lcssa$i = $223; - break; - } - } - } else { - $x$3$lcssa$i = $x$0$i$lcssa; - } - $233 = $c$2$lcssa$i | 32; - $234 = ($233|0)==(112); - if ($234) { - $235 = (_scanexp($f,$pok)|0); - $236 = tempRet0; - $237 = ($235|0)==(0); - $238 = ($236|0)==(-2147483648); - $239 = $237 & $238; - if ($239) { - $240 = ($pok|0)==(0); - if ($240) { - ___shlim($f,0); - $$0 = 0.0; - break L4; - } - $241 = HEAP32[$1>>2]|0; - $242 = ($241|0)==(0|0); - if ($242) { - $253 = 0;$254 = 0; - } else { - $243 = HEAP32[$0>>2]|0; - $244 = ((($243)) + -1|0); - HEAP32[$0>>2] = $244; - $253 = 0;$254 = 0; - } - } else { - $253 = $235;$254 = $236; - } - } else { - $245 = HEAP32[$1>>2]|0; - $246 = ($245|0)==(0|0); - if ($246) { - $253 = 0;$254 = 0; - } else { - $247 = HEAP32[$0>>2]|0; - $248 = ((($247)) + -1|0); - HEAP32[$0>>2] = $248; - $253 = 0;$254 = 0; - } - } - $249 = (_bitshift64Shl(($214|0),($217|0),2)|0); - $250 = tempRet0; - $251 = (_i64Add(($249|0),($250|0),-32,-1)|0); - $252 = tempRet0; - $255 = (_i64Add(($251|0),($252|0),($253|0),($254|0))|0); - $256 = tempRet0; - $257 = ($x$3$lcssa$i|0)==(0); - if ($257) { - $258 = (+($sign$0|0)); - $259 = $258 * 0.0; - $$0 = $259; - break L4; - } - $260 = (0 - ($emin$0$ph))|0; - $261 = ($256|0)>(0); - $262 = ($255>>>0)>($260>>>0); - $263 = ($256|0)==(0); - $264 = $263 & $262; - $265 = $261 | $264; - if ($265) { - $266 = (___errno_location()|0); - HEAP32[$266>>2] = 34; - $267 = (+($sign$0|0)); - $268 = $267 * 1.7976931348623157E+308; - $269 = $268 * 1.7976931348623157E+308; - $$0 = $269; - break L4; - } - $270 = (($emin$0$ph) + -106)|0; - $271 = ($270|0)<(0); - $272 = $271 << 31 >> 31; - $273 = ($256|0)<($272|0); - $274 = ($255>>>0)<($270>>>0); - $275 = ($256|0)==($272|0); - $276 = $275 & $274; - $277 = $273 | $276; - if ($277) { - $279 = (___errno_location()|0); - HEAP32[$279>>2] = 34; - $280 = (+($sign$0|0)); - $281 = $280 * 2.2250738585072014E-308; - $282 = $281 * 2.2250738585072014E-308; - $$0 = $282; - break L4; - } - $278 = ($x$3$lcssa$i|0)>(-1); - if ($278) { - $288 = $255;$289 = $256;$x$419$i = $x$3$lcssa$i;$y$320$i = $y$0$i$lcssa; - while(1) { - $283 = !($y$320$i >= 0.5); - $284 = $x$419$i << 1; - $285 = $y$320$i + -1.0; - $286 = $283&1; - $287 = $286 | $284; - $x$5$i = $287 ^ 1; - $$pn$i = $283 ? $y$320$i : $285; - $y$4$i = $y$320$i + $$pn$i; - $290 = (_i64Add(($288|0),($289|0),-1,-1)|0); - $291 = tempRet0; - $292 = ($287|0)>(-1); - if ($292) { - $288 = $290;$289 = $291;$x$419$i = $x$5$i;$y$320$i = $y$4$i; - } else { - $297 = $290;$298 = $291;$x$4$lcssa$i = $x$5$i;$y$3$lcssa$i = $y$4$i; - break; - } - } - } else { - $297 = $255;$298 = $256;$x$4$lcssa$i = $x$3$lcssa$i;$y$3$lcssa$i = $y$0$i$lcssa; - } - $293 = ($emin$0$ph|0)<(0); - $294 = $293 << 31 >> 31; - $295 = (_i64Subtract(32,0,($emin$0$ph|0),($294|0))|0); - $296 = tempRet0; - $299 = (_i64Add(($297|0),($298|0),($295|0),($296|0))|0); - $300 = tempRet0; - $301 = (0)>($300|0); - $302 = ($bits$0$ph>>>0)>($299>>>0); - $303 = (0)==($300|0); - $304 = $303 & $302; - $305 = $301 | $304; - if ($305) { - $306 = ($299|0)<(0); - if ($306) { - $$0710$i = 0; - label = 127; - } else { - $$07$i = $299; - label = 125; - } - } else { - $$07$i = $bits$0$ph; - label = 125; - } - if ((label|0) == 125) { - $307 = ($$07$i|0)<(53); - if ($307) { - $$0710$i = $$07$i; - label = 127; - } else { - $$pre41$i = (+($sign$0|0)); - $$0711$i = $$07$i;$$pre$phi42$iZ2D = $$pre41$i;$bias$0$i = 0.0; - } - } - if ((label|0) == 127) { - $308 = (84 - ($$0710$i))|0; - $309 = (+_scalbn(1.0,$308)); - $310 = (+($sign$0|0)); - $311 = (+_copysignl($309,$310)); - $$0711$i = $$0710$i;$$pre$phi42$iZ2D = $310;$bias$0$i = $311; - } - $312 = ($$0711$i|0)<(32); - $313 = $y$3$lcssa$i != 0.0; - $or$cond4$i = $313 & $312; - $314 = $x$4$lcssa$i & 1; - $315 = ($314|0)==(0); - $or$cond9$i = $315 & $or$cond4$i; - $316 = $or$cond9$i&1; - $x$6$i = (($316) + ($x$4$lcssa$i))|0; - $y$5$i = $or$cond9$i ? 0.0 : $y$3$lcssa$i; - $317 = (+($x$6$i>>>0)); - $318 = $$pre$phi42$iZ2D * $317; - $319 = $bias$0$i + $318; - $320 = $$pre$phi42$iZ2D * $y$5$i; - $321 = $320 + $319; - $322 = $321 - $bias$0$i; - $323 = $322 != 0.0; - if (!($323)) { - $324 = (___errno_location()|0); - HEAP32[$324>>2] = 34; - } - $325 = (+_scalbnl($322,$297)); - $$0 = $325; - break L4; - } else { - $c$6 = $c$5; - } - } while(0); - $sum$i = (($emin$0$ph) + ($bits$0$ph))|0; - $330 = (0 - ($sum$i))|0; - $$09$i = $c$6;$gotdig$0$i12 = 0; - L184: while(1) { - switch ($$09$i|0) { - case 46: { - $gotdig$0$i12$lcssa273 = $gotdig$0$i12; - label = 138; - break L184; - break; - } - case 48: { - break; - } - default: { - $$2$i = $$09$i;$700 = 0;$701 = 0;$gotdig$2$i13 = $gotdig$0$i12;$gotrad$0$i14 = 0; - break L184; - } - } - $331 = HEAP32[$0>>2]|0; - $332 = HEAP32[$1>>2]|0; - $333 = ($331>>>0)<($332>>>0); - if ($333) { - $334 = ((($331)) + 1|0); - HEAP32[$0>>2] = $334; - $335 = HEAP8[$331>>0]|0; - $336 = $335&255; - $$09$i = $336;$gotdig$0$i12 = 1; - continue; - } else { - $337 = (___shgetc($f)|0); - $$09$i = $337;$gotdig$0$i12 = 1; - continue; - } - } - if ((label|0) == 138) { - $338 = HEAP32[$0>>2]|0; - $339 = HEAP32[$1>>2]|0; - $340 = ($338>>>0)<($339>>>0); - if ($340) { - $341 = ((($338)) + 1|0); - HEAP32[$0>>2] = $341; - $342 = HEAP8[$338>>0]|0; - $343 = $342&255; - $$1$ph$i = $343; - } else { - $344 = (___shgetc($f)|0); - $$1$ph$i = $344; - } - $345 = ($$1$ph$i|0)==(48); - if ($345) { - $346 = 0;$347 = 0; - while(1) { - $348 = (_i64Add(($346|0),($347|0),-1,-1)|0); - $349 = tempRet0; - $350 = HEAP32[$0>>2]|0; - $351 = HEAP32[$1>>2]|0; - $352 = ($350>>>0)<($351>>>0); - if ($352) { - $353 = ((($350)) + 1|0); - HEAP32[$0>>2] = $353; - $354 = HEAP8[$350>>0]|0; - $355 = $354&255; - $$1$be$i = $355; - } else { - $356 = (___shgetc($f)|0); - $$1$be$i = $356; - } - $357 = ($$1$be$i|0)==(48); - if ($357) { - $346 = $348;$347 = $349; - } else { - $$2$i = $$1$be$i;$700 = $348;$701 = $349;$gotdig$2$i13 = 1;$gotrad$0$i14 = 1; - break; - } - } - } else { - $$2$i = $$1$ph$i;$700 = 0;$701 = 0;$gotdig$2$i13 = $gotdig$0$i12$lcssa273;$gotrad$0$i14 = 1; - } - } - HEAP32[$x$i>>2] = 0; - $358 = (($$2$i) + -48)|0; - $359 = ($358>>>0)<(10); - $360 = ($$2$i|0)==(46); - $361 = $360 | $359; - L203: do { - if ($361) { - $362 = ((($x$i)) + 496|0); - $$3105$i = $$2$i;$365 = 0;$366 = 0;$702 = $360;$703 = $358;$704 = $700;$705 = $701;$gotdig$3101$i = $gotdig$2$i13;$gotrad$1102$i = $gotrad$0$i14;$j$0104$i = 0;$k$0103$i = 0;$lnz$0100$i = 0; - L205: while(1) { - do { - if ($702) { - $cond$i = ($gotrad$1102$i|0)==(0); - if ($cond$i) { - $706 = $365;$707 = $366;$708 = $365;$709 = $366;$gotdig$4$i = $gotdig$3101$i;$gotrad$2$i = 1;$j$2$i = $j$0104$i;$k$2$i = $k$0103$i;$lnz$2$i = $lnz$0100$i; - } else { - $710 = $704;$711 = $705;$712 = $365;$713 = $366;$gotdig$3101$i$lcssa = $gotdig$3101$i;$j$0104$i$lcssa = $j$0104$i;$k$0103$i$lcssa = $k$0103$i;$lnz$0100$i$lcssa = $lnz$0100$i; - break L205; - } - } else { - $364 = ($k$0103$i|0)<(125); - $367 = (_i64Add(($365|0),($366|0),1,0)|0); - $368 = tempRet0; - $369 = ($$3105$i|0)!=(48); - if (!($364)) { - if (!($369)) { - $706 = $704;$707 = $705;$708 = $367;$709 = $368;$gotdig$4$i = $gotdig$3101$i;$gotrad$2$i = $gotrad$1102$i;$j$2$i = $j$0104$i;$k$2$i = $k$0103$i;$lnz$2$i = $lnz$0100$i; - break; - } - $379 = HEAP32[$362>>2]|0; - $380 = $379 | 1; - HEAP32[$362>>2] = $380; - $706 = $704;$707 = $705;$708 = $367;$709 = $368;$gotdig$4$i = $gotdig$3101$i;$gotrad$2$i = $gotrad$1102$i;$j$2$i = $j$0104$i;$k$2$i = $k$0103$i;$lnz$2$i = $lnz$0100$i; - break; - } - $$lnz$0$i = $369 ? $367 : $lnz$0100$i; - $370 = ($j$0104$i|0)==(0); - $371 = (($x$i) + ($k$0103$i<<2)|0); - if ($370) { - $storemerge$i = $703; - } else { - $372 = HEAP32[$371>>2]|0; - $373 = ($372*10)|0; - $374 = (($$3105$i) + -48)|0; - $375 = (($374) + ($373))|0; - $storemerge$i = $375; - } - HEAP32[$371>>2] = $storemerge$i; - $376 = (($j$0104$i) + 1)|0; - $377 = ($376|0)==(9); - $378 = $377&1; - $$k$0$i = (($378) + ($k$0103$i))|0; - $$11$i = $377 ? 0 : $376; - $706 = $704;$707 = $705;$708 = $367;$709 = $368;$gotdig$4$i = 1;$gotrad$2$i = $gotrad$1102$i;$j$2$i = $$11$i;$k$2$i = $$k$0$i;$lnz$2$i = $$lnz$0$i; - } - } while(0); - $381 = HEAP32[$0>>2]|0; - $382 = HEAP32[$1>>2]|0; - $383 = ($381>>>0)<($382>>>0); - if ($383) { - $384 = ((($381)) + 1|0); - HEAP32[$0>>2] = $384; - $385 = HEAP8[$381>>0]|0; - $386 = $385&255; - $$3$be$i = $386; - } else { - $387 = (___shgetc($f)|0); - $$3$be$i = $387; - } - $388 = (($$3$be$i) + -48)|0; - $389 = ($388>>>0)<(10); - $390 = ($$3$be$i|0)==(46); - $391 = $390 | $389; - if ($391) { - $$3105$i = $$3$be$i;$365 = $708;$366 = $709;$702 = $390;$703 = $388;$704 = $706;$705 = $707;$gotdig$3101$i = $gotdig$4$i;$gotrad$1102$i = $gotrad$2$i;$j$0104$i = $j$2$i;$k$0103$i = $k$2$i;$lnz$0100$i = $lnz$2$i; - } else { - $$3$lcssa$i = $$3$be$i;$393 = $706;$394 = $708;$396 = $707;$397 = $709;$gotdig$3$lcssa$i = $gotdig$4$i;$gotrad$1$lcssa$i = $gotrad$2$i;$j$0$lcssa$i = $j$2$i;$k$0$lcssa$i = $k$2$i;$lnz$0$lcssa$i = $lnz$2$i; - label = 161; - break L203; - } - } - $363 = ($gotdig$3101$i$lcssa|0)!=(0); - $714 = $712;$715 = $713;$716 = $710;$717 = $711;$718 = $363;$j$069$i = $j$0104$i$lcssa;$k$065$i = $k$0103$i$lcssa;$lnz$059$i = $lnz$0100$i$lcssa; - label = 169; - } else { - $$3$lcssa$i = $$2$i;$393 = $700;$394 = 0;$396 = $701;$397 = 0;$gotdig$3$lcssa$i = $gotdig$2$i13;$gotrad$1$lcssa$i = $gotrad$0$i14;$j$0$lcssa$i = 0;$k$0$lcssa$i = 0;$lnz$0$lcssa$i = 0; - label = 161; - } - } while(0); - do { - if ((label|0) == 161) { - $392 = ($gotrad$1$lcssa$i|0)==(0); - $395 = $392 ? $394 : $393; - $398 = $392 ? $397 : $396; - $399 = ($gotdig$3$lcssa$i|0)!=(0); - $400 = $$3$lcssa$i | 32; - $401 = ($400|0)==(101); - $or$cond13$i = $401 & $399; - if (!($or$cond13$i)) { - $416 = ($$3$lcssa$i|0)>(-1); - if ($416) { - $714 = $394;$715 = $397;$716 = $395;$717 = $398;$718 = $399;$j$069$i = $j$0$lcssa$i;$k$065$i = $k$0$lcssa$i;$lnz$059$i = $lnz$0$lcssa$i; - label = 169; - break; - } else { - $719 = $394;$720 = $397;$721 = $399;$722 = $395;$723 = $398;$j$068$i = $j$0$lcssa$i;$k$064$i = $k$0$lcssa$i;$lnz$058$i = $lnz$0$lcssa$i; - label = 171; - break; - } - } - $402 = (_scanexp($f,$pok)|0); - $403 = tempRet0; - $404 = ($402|0)==(0); - $405 = ($403|0)==(-2147483648); - $406 = $404 & $405; - if ($406) { - $407 = ($pok|0)==(0); - if ($407) { - ___shlim($f,0); - $$0$i27 = 0.0; - break; - } - $408 = HEAP32[$1>>2]|0; - $409 = ($408|0)==(0|0); - if ($409) { - $412 = 0;$413 = 0; - } else { - $410 = HEAP32[$0>>2]|0; - $411 = ((($410)) + -1|0); - HEAP32[$0>>2] = $411; - $412 = 0;$413 = 0; - } - } else { - $412 = $402;$413 = $403; - } - $414 = (_i64Add(($412|0),($413|0),($395|0),($398|0))|0); - $415 = tempRet0; - $426 = $414;$428 = $394;$429 = $415;$431 = $397;$j$067$i = $j$0$lcssa$i;$k$063$i = $k$0$lcssa$i;$lnz$057$i = $lnz$0$lcssa$i; - label = 173; - } - } while(0); - if ((label|0) == 169) { - $417 = HEAP32[$1>>2]|0; - $418 = ($417|0)==(0|0); - if ($418) { - $719 = $714;$720 = $715;$721 = $718;$722 = $716;$723 = $717;$j$068$i = $j$069$i;$k$064$i = $k$065$i;$lnz$058$i = $lnz$059$i; - label = 171; - } else { - $419 = HEAP32[$0>>2]|0; - $420 = ((($419)) + -1|0); - HEAP32[$0>>2] = $420; - if ($718) { - $426 = $716;$428 = $714;$429 = $717;$431 = $715;$j$067$i = $j$069$i;$k$063$i = $k$065$i;$lnz$057$i = $lnz$059$i; - label = 173; - } else { - label = 172; - } - } - } - if ((label|0) == 171) { - if ($721) { - $426 = $722;$428 = $719;$429 = $723;$431 = $720;$j$067$i = $j$068$i;$k$063$i = $k$064$i;$lnz$057$i = $lnz$058$i; - label = 173; - } else { - label = 172; - } - } - do { - if ((label|0) == 172) { - $421 = (___errno_location()|0); - HEAP32[$421>>2] = 22; - ___shlim($f,0); - $$0$i27 = 0.0; - } - else if ((label|0) == 173) { - $422 = HEAP32[$x$i>>2]|0; - $423 = ($422|0)==(0); - if ($423) { - $424 = (+($sign$0|0)); - $425 = $424 * 0.0; - $$0$i27 = $425; - break; - } - $427 = ($426|0)==($428|0); - $430 = ($429|0)==($431|0); - $432 = $427 & $430; - $433 = ($431|0)<(0); - $434 = ($428>>>0)<(10); - $435 = ($431|0)==(0); - $436 = $435 & $434; - $437 = $433 | $436; - $or$cond$i16 = $437 & $432; - if ($or$cond$i16) { - $438 = ($bits$0$ph>>>0)>(30); - $439 = $422 >>> $bits$0$ph; - $440 = ($439|0)==(0); - $or$cond15$i = $438 | $440; - if ($or$cond15$i) { - $441 = (+($sign$0|0)); - $442 = (+($422>>>0)); - $443 = $441 * $442; - $$0$i27 = $443; - break; - } - } - $444 = (($emin$0$ph|0) / -2)&-1; - $445 = ($444|0)<(0); - $446 = $445 << 31 >> 31; - $447 = ($429|0)>($446|0); - $448 = ($426>>>0)>($444>>>0); - $449 = ($429|0)==($446|0); - $450 = $449 & $448; - $451 = $447 | $450; - if ($451) { - $452 = (___errno_location()|0); - HEAP32[$452>>2] = 34; - $453 = (+($sign$0|0)); - $454 = $453 * 1.7976931348623157E+308; - $455 = $454 * 1.7976931348623157E+308; - $$0$i27 = $455; - break; - } - $456 = (($emin$0$ph) + -106)|0; - $457 = ($456|0)<(0); - $458 = $457 << 31 >> 31; - $459 = ($429|0)<($458|0); - $460 = ($426>>>0)<($456>>>0); - $461 = ($429|0)==($458|0); - $462 = $461 & $460; - $463 = $459 | $462; - if ($463) { - $464 = (___errno_location()|0); - HEAP32[$464>>2] = 34; - $465 = (+($sign$0|0)); - $466 = $465 * 2.2250738585072014E-308; - $467 = $466 * 2.2250738585072014E-308; - $$0$i27 = $467; - break; - } - $468 = ($j$067$i|0)==(0); - if ($468) { - $k$3$i = $k$063$i; - } else { - $469 = ($j$067$i|0)<(9); - if ($469) { - $470 = (($x$i) + ($k$063$i<<2)|0); - $$promoted$i = HEAP32[$470>>2]|0; - $472 = $$promoted$i;$j$394$i = $j$067$i; - while(1) { - $471 = ($472*10)|0; - $473 = (($j$394$i) + 1)|0; - $exitcond$i = ($473|0)==(9); - if ($exitcond$i) { - $$lcssa265 = $471; - break; - } else { - $472 = $471;$j$394$i = $473; - } - } - HEAP32[$470>>2] = $$lcssa265; - } - $474 = (($k$063$i) + 1)|0; - $k$3$i = $474; - } - $475 = ($lnz$057$i|0)<(9); - if ($475) { - $476 = ($lnz$057$i|0)<=($426|0); - $477 = ($426|0)<(18); - $or$cond3$i = $476 & $477; - if ($or$cond3$i) { - $478 = ($426|0)==(9); - if ($478) { - $479 = (+($sign$0|0)); - $480 = HEAP32[$x$i>>2]|0; - $481 = (+($480>>>0)); - $482 = $479 * $481; - $$0$i27 = $482; - break; - } - $483 = ($426|0)<(9); - if ($483) { - $484 = (+($sign$0|0)); - $485 = HEAP32[$x$i>>2]|0; - $486 = (+($485>>>0)); - $487 = $484 * $486; - $488 = (8 - ($426))|0; - $489 = (8892 + ($488<<2)|0); - $490 = HEAP32[$489>>2]|0; - $491 = (+($490|0)); - $492 = $487 / $491; - $$0$i27 = $492; - break; - } - $$neg32$i = (($bits$0$ph) + 27)|0; - $493 = Math_imul($426, -3)|0; - $494 = (($$neg32$i) + ($493))|0; - $495 = ($494|0)>(30); - $$pre$i17 = HEAP32[$x$i>>2]|0; - $496 = $$pre$i17 >>> $494; - $497 = ($496|0)==(0); - $or$cond182$i = $495 | $497; - if ($or$cond182$i) { - $498 = (+($sign$0|0)); - $499 = (+($$pre$i17>>>0)); - $500 = $498 * $499; - $501 = (($426) + -10)|0; - $502 = (8892 + ($501<<2)|0); - $503 = HEAP32[$502>>2]|0; - $504 = (+($503|0)); - $505 = $500 * $504; - $$0$i27 = $505; - break; - } - } - } - $506 = (($426|0) % 9)&-1; - $507 = ($506|0)==(0); - if ($507) { - $a$2$ph38$i = 0;$e2$0$ph$i = 0;$rp$2$ph36$i = $426;$z$1$ph37$i = $k$3$i; - } else { - $508 = ($426|0)>(-1); - $509 = (($506) + 9)|0; - $510 = $508 ? $506 : $509; - $511 = (8 - ($510))|0; - $512 = (8892 + ($511<<2)|0); - $513 = HEAP32[$512>>2]|0; - $514 = ($k$3$i|0)==(0); - if ($514) { - $a$0$lcssa151$i = 0;$rp$0$lcssa152$i = $426;$z$0$i = 0; - } else { - $515 = (1000000000 / ($513|0))&-1; - $a$085$i = 0;$carry$087$i = 0;$k$486$i = 0;$rp$084$i = $426; - while(1) { - $516 = (($x$i) + ($k$486$i<<2)|0); - $517 = HEAP32[$516>>2]|0; - $518 = (($517>>>0) % ($513>>>0))&-1; - $519 = (($517>>>0) / ($513>>>0))&-1; - $520 = (($519) + ($carry$087$i))|0; - HEAP32[$516>>2] = $520; - $521 = Math_imul($518, $515)|0; - $522 = ($k$486$i|0)==($a$085$i|0); - $523 = ($520|0)==(0); - $or$cond16$i = $522 & $523; - $524 = (($k$486$i) + 1)|0; - $525 = $524 & 127; - $526 = (($rp$084$i) + -9)|0; - $rp$1$i18 = $or$cond16$i ? $526 : $rp$084$i; - $a$1$i = $or$cond16$i ? $525 : $a$085$i; - $527 = ($524|0)==($k$3$i|0); - if ($527) { - $$lcssa264 = $521;$a$1$i$lcssa = $a$1$i;$rp$1$i18$lcssa = $rp$1$i18; - break; - } else { - $a$085$i = $a$1$i;$carry$087$i = $521;$k$486$i = $524;$rp$084$i = $rp$1$i18; - } - } - $528 = ($$lcssa264|0)==(0); - if ($528) { - $a$0$lcssa151$i = $a$1$i$lcssa;$rp$0$lcssa152$i = $rp$1$i18$lcssa;$z$0$i = $k$3$i; - } else { - $529 = (($k$3$i) + 1)|0; - $530 = (($x$i) + ($k$3$i<<2)|0); - HEAP32[$530>>2] = $$lcssa264; - $a$0$lcssa151$i = $a$1$i$lcssa;$rp$0$lcssa152$i = $rp$1$i18$lcssa;$z$0$i = $529; - } - } - $531 = (9 - ($510))|0; - $532 = (($531) + ($rp$0$lcssa152$i))|0; - $a$2$ph38$i = $a$0$lcssa151$i;$e2$0$ph$i = 0;$rp$2$ph36$i = $532;$z$1$ph37$i = $z$0$i; - } - L284: while(1) { - $533 = ($rp$2$ph36$i|0)<(18); - $534 = ($rp$2$ph36$i|0)==(18); - $535 = (($x$i) + ($a$2$ph38$i<<2)|0); - $e2$0$i19 = $e2$0$ph$i;$z$1$i = $z$1$ph37$i; - while(1) { - if (!($533)) { - if (!($534)) { - $a$3$ph$i = $a$2$ph38$i;$e2$1$ph$i = $e2$0$i19;$rp$3$ph34$i = $rp$2$ph36$i;$z$5$ph$i = $z$1$i; - break L284; - } - $536 = HEAP32[$535>>2]|0; - $537 = ($536>>>0)<(9007199); - if (!($537)) { - $a$3$ph$i = $a$2$ph38$i;$e2$1$ph$i = $e2$0$i19;$rp$3$ph34$i = 18;$z$5$ph$i = $z$1$i; - break L284; - } - } - $538 = (($z$1$i) + 127)|0; - $carry1$0$i = 0;$k$5$in$i = $538;$z$2$i = $z$1$i; - while(1) { - $k$5$i = $k$5$in$i & 127; - $539 = (($x$i) + ($k$5$i<<2)|0); - $540 = HEAP32[$539>>2]|0; - $541 = (_bitshift64Shl(($540|0),0,29)|0); - $542 = tempRet0; - $543 = (_i64Add(($541|0),($542|0),($carry1$0$i|0),0)|0); - $544 = tempRet0; - $545 = ($544>>>0)>(0); - $546 = ($543>>>0)>(1000000000); - $547 = ($544|0)==(0); - $548 = $547 & $546; - $549 = $545 | $548; - if ($549) { - $550 = (___udivdi3(($543|0),($544|0),1000000000,0)|0); - $551 = tempRet0; - $552 = (___uremdi3(($543|0),($544|0),1000000000,0)|0); - $553 = tempRet0; - $$sink$off0$i = $552;$carry1$1$i = $550; - } else { - $$sink$off0$i = $543;$carry1$1$i = 0; - } - HEAP32[$539>>2] = $$sink$off0$i; - $554 = (($z$2$i) + 127)|0; - $555 = $554 & 127; - $556 = ($k$5$i|0)!=($555|0); - $557 = ($k$5$i|0)==($a$2$ph38$i|0); - $or$cond17$i = $556 | $557; - $558 = ($$sink$off0$i|0)==(0); - $k$5$z$2$i = $558 ? $k$5$i : $z$2$i; - $z$3$i = $or$cond17$i ? $z$2$i : $k$5$z$2$i; - $559 = (($k$5$i) + -1)|0; - if ($557) { - $carry1$1$i$lcssa = $carry1$1$i;$z$3$i$lcssa = $z$3$i; - break; - } else { - $carry1$0$i = $carry1$1$i;$k$5$in$i = $559;$z$2$i = $z$3$i; - } - } - $560 = (($e2$0$i19) + -29)|0; - $561 = ($carry1$1$i$lcssa|0)==(0); - if ($561) { - $e2$0$i19 = $560;$z$1$i = $z$3$i$lcssa; - } else { - $$lcssa263 = $560;$carry1$1$i$lcssa$lcssa = $carry1$1$i$lcssa;$z$3$i$lcssa$lcssa = $z$3$i$lcssa; - break; - } - } - $562 = (($rp$2$ph36$i) + 9)|0; - $563 = (($a$2$ph38$i) + 127)|0; - $564 = $563 & 127; - $565 = ($564|0)==($z$3$i$lcssa$lcssa|0); - if ($565) { - $566 = (($z$3$i$lcssa$lcssa) + 127)|0; - $567 = $566 & 127; - $568 = (($x$i) + ($567<<2)|0); - $569 = HEAP32[$568>>2]|0; - $570 = (($z$3$i$lcssa$lcssa) + 126)|0; - $571 = $570 & 127; - $572 = (($x$i) + ($571<<2)|0); - $573 = HEAP32[$572>>2]|0; - $574 = $573 | $569; - HEAP32[$572>>2] = $574; - $z$4$i = $567; - } else { - $z$4$i = $z$3$i$lcssa$lcssa; - } - $575 = (($x$i) + ($564<<2)|0); - HEAP32[$575>>2] = $carry1$1$i$lcssa$lcssa; - $a$2$ph38$i = $564;$e2$0$ph$i = $$lcssa263;$rp$2$ph36$i = $562;$z$1$ph37$i = $z$4$i; - } - L302: while(1) { - $606 = (($z$5$ph$i) + 1)|0; - $603 = $606 & 127; - $607 = (($z$5$ph$i) + 127)|0; - $608 = $607 & 127; - $609 = (($x$i) + ($608<<2)|0); - $a$3$ph157$i = $a$3$ph$i;$e2$1$ph156$i = $e2$1$ph$i;$rp$3$ph$i = $rp$3$ph34$i; - while(1) { - $610 = ($rp$3$ph$i|0)==(18); - $611 = ($rp$3$ph$i|0)>(27); - $$18$i = $611 ? 9 : 1; - $$not$i = $610 ^ 1; - $a$3$i = $a$3$ph157$i;$e2$1$i = $e2$1$ph156$i; - while(1) { - $576 = $a$3$i & 127; - $577 = ($576|0)==($z$5$ph$i|0); - do { - if ($577) { - label = 219; - } else { - $578 = (($x$i) + ($576<<2)|0); - $579 = HEAP32[$578>>2]|0; - $580 = ($579>>>0)<(9007199); - if ($580) { - label = 219; - break; - } - $581 = ($579>>>0)>(9007199); - if ($581) { - break; - } - $582 = (($a$3$i) + 1)|0; - $583 = $582 & 127; - $584 = ($583|0)==($z$5$ph$i|0); - if ($584) { - label = 219; - break; - } - $690 = (($x$i) + ($583<<2)|0); - $691 = HEAP32[$690>>2]|0; - $692 = ($691>>>0)<(254740991); - if ($692) { - label = 219; - break; - } - $693 = ($691>>>0)>(254740991); - $brmerge$i28 = $693 | $$not$i; - if (!($brmerge$i28)) { - $617 = $576;$a$3$i249 = $a$3$i;$e2$1$i246 = $e2$1$i;$z$7$i = $z$5$ph$i; - break L302; - } - } - } while(0); - if ((label|0) == 219) { - label = 0; - if ($610) { - label = 220; - break L302; - } - } - $585 = (($e2$1$i) + ($$18$i))|0; - $586 = ($a$3$i|0)==($z$5$ph$i|0); - if ($586) { - $a$3$i = $z$5$ph$i;$e2$1$i = $585; - } else { - $$lcssa256 = $585;$a$3$i$lcssa248 = $a$3$i; - break; - } - } - $587 = 1 << $$18$i; - $588 = (($587) + -1)|0; - $589 = 1000000000 >>> $$18$i; - $a$478$i = $a$3$i$lcssa248;$carry3$081$i = 0;$k$679$i = $a$3$i$lcssa248;$rp$477$i = $rp$3$ph$i; - while(1) { - $590 = (($x$i) + ($k$679$i<<2)|0); - $591 = HEAP32[$590>>2]|0; - $592 = $591 & $588; - $593 = $591 >>> $$18$i; - $594 = (($593) + ($carry3$081$i))|0; - HEAP32[$590>>2] = $594; - $595 = Math_imul($592, $589)|0; - $596 = ($k$679$i|0)==($a$478$i|0); - $597 = ($594|0)==(0); - $or$cond19$i = $596 & $597; - $598 = (($k$679$i) + 1)|0; - $599 = $598 & 127; - $600 = (($rp$477$i) + -9)|0; - $rp$5$i = $or$cond19$i ? $600 : $rp$477$i; - $a$5$i = $or$cond19$i ? $599 : $a$478$i; - $601 = ($599|0)==($z$5$ph$i|0); - if ($601) { - $$lcssa257 = $595;$a$5$i$lcssa = $a$5$i;$rp$5$i$lcssa = $rp$5$i; - break; - } else { - $a$478$i = $a$5$i;$carry3$081$i = $595;$k$679$i = $599;$rp$477$i = $rp$5$i; - } - } - $602 = ($$lcssa257|0)==(0); - if ($602) { - $a$3$ph157$i = $a$5$i$lcssa;$e2$1$ph156$i = $$lcssa256;$rp$3$ph$i = $rp$5$i$lcssa; - continue; - } - $604 = ($603|0)==($a$5$i$lcssa|0); - if (!($604)) { - $$lcssa256$lcssa = $$lcssa256;$$lcssa257$lcssa = $$lcssa257;$a$5$i$lcssa$lcssa = $a$5$i$lcssa;$rp$5$i$lcssa$lcssa = $rp$5$i$lcssa; - break; - } - $612 = HEAP32[$609>>2]|0; - $613 = $612 | 1; - HEAP32[$609>>2] = $613; - $a$3$ph157$i = $a$5$i$lcssa;$e2$1$ph156$i = $$lcssa256;$rp$3$ph$i = $rp$5$i$lcssa; - } - $605 = (($x$i) + ($z$5$ph$i<<2)|0); - HEAP32[$605>>2] = $$lcssa257$lcssa; - $a$3$ph$i = $a$5$i$lcssa$lcssa;$e2$1$ph$i = $$lcssa256$lcssa;$rp$3$ph34$i = $rp$5$i$lcssa$lcssa;$z$5$ph$i = $603; - } - if ((label|0) == 220) { - if ($577) { - $614 = (($603) + -1)|0; - $615 = (($x$i) + ($614<<2)|0); - HEAP32[$615>>2] = 0; - $617 = $z$5$ph$i;$a$3$i249 = $a$3$i;$e2$1$i246 = $e2$1$i;$z$7$i = $603; - } else { - $617 = $576;$a$3$i249 = $a$3$i;$e2$1$i246 = $e2$1$i;$z$7$i = $z$5$ph$i; - } - } - $616 = (($x$i) + ($617<<2)|0); - $618 = HEAP32[$616>>2]|0; - $619 = (+($618>>>0)); - $620 = (($a$3$i249) + 1)|0; - $621 = $620 & 127; - $622 = ($621|0)==($z$7$i|0); - if ($622) { - $679 = (($a$3$i249) + 2)|0; - $680 = $679 & 127; - $681 = (($680) + -1)|0; - $682 = (($x$i) + ($681<<2)|0); - HEAP32[$682>>2] = 0; - $z$7$1$i = $680; - } else { - $z$7$1$i = $z$7$i; - } - $683 = $619 * 1.0E+9; - $684 = (($x$i) + ($621<<2)|0); - $685 = HEAP32[$684>>2]|0; - $686 = (+($685>>>0)); - $687 = $683 + $686; - $643 = (+($sign$0|0)); - $625 = $643 * $687; - $663 = (($e2$1$i246) + 53)|0; - $669 = (($663) - ($emin$0$ph))|0; - $670 = ($669|0)<($bits$0$ph|0); - $688 = ($669|0)<(0); - $$$i = $688 ? 0 : $669; - $denormal$0$i = $670&1; - $$010$i = $670 ? $$$i : $bits$0$ph; - $689 = ($$010$i|0)<(53); - if ($689) { - $623 = (105 - ($$010$i))|0; - $624 = (+_scalbn(1.0,$623)); - $626 = (+_copysignl($624,$625)); - $627 = (53 - ($$010$i))|0; - $628 = (+_scalbn(1.0,$627)); - $629 = (+_fmodl($625,$628)); - $630 = $625 - $629; - $631 = $626 + $630; - $bias$0$i25 = $626;$frac$0$i = $629;$y$1$i24 = $631; - } else { - $bias$0$i25 = 0.0;$frac$0$i = 0.0;$y$1$i24 = $625; - } - $632 = (($a$3$i249) + 2)|0; - $633 = $632 & 127; - $634 = ($633|0)==($z$7$1$i|0); - do { - if ($634) { - $frac$2$i = $frac$0$i; - } else { - $635 = (($x$i) + ($633<<2)|0); - $636 = HEAP32[$635>>2]|0; - $637 = ($636>>>0)<(500000000); - do { - if ($637) { - $638 = ($636|0)==(0); - if ($638) { - $639 = (($a$3$i249) + 3)|0; - $640 = $639 & 127; - $641 = ($640|0)==($z$7$1$i|0); - if ($641) { - $frac$1$i = $frac$0$i; - break; - } - } - $642 = $643 * 0.25; - $644 = $642 + $frac$0$i; - $frac$1$i = $644; - } else { - $645 = ($636>>>0)>(500000000); - if ($645) { - $646 = $643 * 0.75; - $647 = $646 + $frac$0$i; - $frac$1$i = $647; - break; - } - $648 = (($a$3$i249) + 3)|0; - $649 = $648 & 127; - $650 = ($649|0)==($z$7$1$i|0); - if ($650) { - $651 = $643 * 0.5; - $652 = $651 + $frac$0$i; - $frac$1$i = $652; - break; - } else { - $653 = $643 * 0.75; - $654 = $653 + $frac$0$i; - $frac$1$i = $654; - break; - } - } - } while(0); - $655 = (53 - ($$010$i))|0; - $656 = ($655|0)>(1); - if (!($656)) { - $frac$2$i = $frac$1$i; - break; - } - $657 = (+_fmodl($frac$1$i,1.0)); - $658 = $657 != 0.0; - if ($658) { - $frac$2$i = $frac$1$i; - break; - } - $659 = $frac$1$i + 1.0; - $frac$2$i = $659; - } - } while(0); - $660 = $y$1$i24 + $frac$2$i; - $661 = $660 - $bias$0$i25; - $662 = $663 & 2147483647; - $664 = (-2 - ($sum$i))|0; - $665 = ($662|0)>($664|0); - do { - if ($665) { - $666 = (+Math_abs((+$661))); - $667 = !($666 >= 9007199254740992.0); - if ($667) { - $denormal$2$i = $denormal$0$i;$e2$2$i = $e2$1$i246;$y$2$i26 = $661; - } else { - $668 = ($$010$i|0)==($669|0); - $or$cond20$i = $670 & $668; - $denormal$1$i = $or$cond20$i ? 0 : $denormal$0$i; - $671 = $661 * 0.5; - $672 = (($e2$1$i246) + 1)|0; - $denormal$2$i = $denormal$1$i;$e2$2$i = $672;$y$2$i26 = $671; - } - $673 = (($e2$2$i) + 50)|0; - $674 = ($673|0)>($330|0); - if (!($674)) { - $675 = ($denormal$2$i|0)!=(0); - $676 = $frac$2$i != 0.0; - $or$cond8$i = $676 & $675; - if (!($or$cond8$i)) { - $e2$3$i = $e2$2$i;$y$3$i = $y$2$i26; - break; - } - } - $677 = (___errno_location()|0); - HEAP32[$677>>2] = 34; - $e2$3$i = $e2$2$i;$y$3$i = $y$2$i26; - } else { - $e2$3$i = $e2$1$i246;$y$3$i = $661; - } - } while(0); - $678 = (+_scalbnl($y$3$i,$e2$3$i)); - $$0$i27 = $678; - } - } while(0); - $$0 = $$0$i27; - break L4; - break; - } - default: { - $109 = HEAP32[$1>>2]|0; - $110 = ($109|0)==(0|0); - if (!($110)) { - $111 = HEAP32[$0>>2]|0; - $112 = ((($111)) + -1|0); - HEAP32[$0>>2] = $112; - } - $113 = (___errno_location()|0); - HEAP32[$113>>2] = 22; - ___shlim($f,0); - $$0 = 0.0; - break L4; - } - } - } - } - } while(0); - if ((label|0) == 23) { - $41 = HEAP32[$1>>2]|0; - $42 = ($41|0)==(0|0); - if (!($42)) { - $43 = HEAP32[$0>>2]|0; - $44 = ((($43)) + -1|0); - HEAP32[$0>>2] = $44; - } - $45 = ($pok|0)!=(0); - $46 = ($i$0$lcssa>>>0)>(3); - $or$cond9 = $45 & $46; - if ($or$cond9) { - $i$1 = $i$0$lcssa; - while(1) { - if (!($42)) { - $47 = HEAP32[$0>>2]|0; - $48 = ((($47)) + -1|0); - HEAP32[$0>>2] = $48; - } - $49 = (($i$1) + -1)|0; - $$old8 = ($49>>>0)>(3); - if ($$old8) { - $i$1 = $49; - } else { - break; - } - } - } - } - $50 = (+($sign$0|0)); - $51 = $50 * inf; - $52 = $51; - $$0 = $52; + } else { + $$0 = 1; } } while(0); - STACKTOP = sp;return (+$$0); + $34 = (_alGetError()|0); + $35 = ($34|0)==(40963); + if ($35) { + _TraceLog(1,18212,$vararg_buffer); + } + $36 = ($$0|0)==(0); + if ($36) { + _StopMusicStream($0); + $37 = ((($0)) + 40|0); + $38 = HEAP32[$37>>2]|0; + $39 = ($38|0)>(0); + if ($39) { + $40 = (($38) + -1)|0; + HEAP32[$37>>2] = $40; + _PlayMusicStream($0); + } + } else { + $41 = HEAP32[$1>>2]|0; + $42 = ($41|0)==(4114); + if (!($42)) { + _PlayMusicStream($0); + } + } + _free($16); + STACKTOP = sp;return; } -function ___intscan($f,$base,$pok,$0,$1) { - $f = $f|0; - $base = $base|0; - $pok = $pok|0; +function _UpdateAudioStream($0,$1,$2) { $0 = $0|0; $1 = $1|0; - var $$1 = 0, $$122 = 0, $$123 = 0, $$base21 = 0, $$lcssa = 0, $$lcssa130 = 0, $$lcssa131 = 0, $$lcssa132 = 0, $$lcssa133 = 0, $$lcssa134 = 0, $$lcssa135 = 0, $$sum = 0, $$sum14 = 0, $$sum1445 = 0, $$sum15 = 0, $$sum16 = 0, $$sum17 = 0, $$sum18 = 0, $$sum1865 = 0, $$sum19 = 0; - var $$sum20 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $3 = sp; + HEAP32[$3>>2] = 0; + $4 = ((($0)) + 16|0); + $5 = HEAP32[$4>>2]|0; + _alSourceUnqueueBuffers(($5|0),1,($3|0)); + $6 = (_alGetError()|0); + $7 = ($6|0)==(40963); + if ($7) { + STACKTOP = sp;return; + } + $8 = HEAP32[$3>>2]|0; + $9 = ((($0)) + 12|0); + $10 = HEAP32[$9>>2]|0; + $11 = ((($0)) + 8|0); + $12 = HEAP32[$11>>2]|0; + $13 = Math_imul($12, $2)|0; + $14 = ((($0)) + 4|0); + $15 = HEAP32[$14>>2]|0; + $16 = Math_imul($13, $15)|0; + $17 = $16 >>> 3; + $18 = HEAP32[$0>>2]|0; + _alBufferData(($8|0),($10|0),($1|0),($17|0),($18|0)); + $19 = HEAP32[$4>>2]|0; + _alSourceQueueBuffers(($19|0),1,($3|0)); + STACKTOP = sp;return; +} +function _emscripten_GetProcAddress($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0; var $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0; var $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0; var $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0; @@ -50670,1393 +51393,5296 @@ function ___intscan($f,$base,$pok,$0,$1) { var $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0; var $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0; var $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0; - var $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $3 = 0, $30 = 0; - var $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0; - var $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0; - var $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0; - var $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $c$0 = 0, $c$1 = 0, $c$124 = 0, $c$2$be = 0, $c$2$be$lcssa = 0; - var $c$2$lcssa = 0, $c$3$be = 0, $c$3$lcssa = 0, $c$371 = 0, $c$4$be = 0, $c$4$be$lcssa = 0, $c$4$lcssa = 0, $c$5$be = 0, $c$6$be = 0, $c$6$be$lcssa = 0, $c$6$lcssa = 0, $c$7$be = 0, $c$753 = 0, $c$8 = 0, $c$9$be = 0, $neg$0 = 0, $neg$0$ = 0, $neg$1 = 0, $or$cond = 0, $or$cond12 = 0; - var $or$cond40 = 0, $or$cond5 = 0, $or$cond7 = 0, $x$082 = 0, $x$146 = 0, $x$266 = 0, label = 0, sp = 0; + var $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0; + var $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0; + var $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0; + var $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0; + var $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0; + var $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0; + var $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0; + var $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0; + var $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0; + var $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0; + var $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0; + var $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0; + var $496 = 0, $497 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0; + var $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0; + var $531 = 0, $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0, $549 = 0; + var $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0; + var $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0; + var $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0; sp = STACKTOP; - $2 = ($base>>>0)>(36); - L1: do { - if ($2) { - $5 = (___errno_location()|0); - HEAP32[$5>>2] = 22; - $286 = 0;$287 = 0; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $1 = sp + 12|0; + $2 = sp + 8|0; + $3 = sp + 4|0; + $4 = sp; + HEAP32[$2>>2] = $0; + $5 = HEAP32[$2>>2]|0; + $6 = (_strlen($5)|0); + $7 = (($6) + 1)|0; + $8 = (_malloc($7)|0); + HEAP32[$3>>2] = $8; + $9 = HEAP32[$3>>2]|0; + $10 = HEAP32[$2>>2]|0; + (_strcpy($9,$10)|0); + $11 = HEAP32[$3>>2]|0; + $12 = (_strstr($11,18244)|0); + HEAP32[$4>>2] = $12; + $13 = HEAP32[$4>>2]|0; + $14 = ($13|0)!=(0|0); + if ($14) { + $15 = HEAP32[$4>>2]|0; + HEAP8[$15>>0] = 0; + } + $16 = HEAP32[$3>>2]|0; + $17 = (_strstr($16,18248)|0); + HEAP32[$4>>2] = $17; + $18 = HEAP32[$4>>2]|0; + $19 = ($18|0)!=(0|0); + if ($19) { + $20 = HEAP32[$4>>2]|0; + HEAP8[$20>>0] = 0; + } + $21 = HEAP32[$3>>2]|0; + $22 = (_strstr($21,18252)|0); + HEAP32[$4>>2] = $22; + $23 = HEAP32[$4>>2]|0; + $24 = ($23|0)!=(0|0); + if ($24) { + $25 = HEAP32[$4>>2]|0; + HEAP8[$25>>0] = 0; + } + $26 = HEAP32[$3>>2]|0; + $27 = (_strstr($26,18256)|0); + HEAP32[$4>>2] = $27; + $28 = HEAP32[$4>>2]|0; + $29 = ($28|0)!=(0|0); + if ($29) { + $30 = HEAP32[$4>>2]|0; + HEAP8[$30>>0] = 0; + } + $31 = HEAP32[$3>>2]|0; + $32 = (_strcmp($31,18262)|0); + $33 = ($32|0)!=(0); + do { + if ($33) { + $34 = HEAP32[$3>>2]|0; + $35 = (_strcmp($34,18300)|0); + $36 = ($35|0)!=(0); + if (!($36)) { + HEAP32[$3>>2] = 18319; + break; + } + $37 = HEAP32[$3>>2]|0; + $38 = (_strcmp($37,18332)|0); + $39 = ($38|0)!=(0); + if (!($39)) { + HEAP32[$3>>2] = 18353; + break; + } + $40 = HEAP32[$3>>2]|0; + $41 = (_strcmp($40,18368)|0); + $42 = ($41|0)!=(0); + if (!($42)) { + HEAP32[$3>>2] = 18383; + break; + } + $43 = HEAP32[$3>>2]|0; + $44 = (_strcmp($43,18398)|0); + $45 = ($44|0)!=(0); + if (!($45)) { + HEAP32[$3>>2] = 18413; + } } else { - $3 = ((($f)) + 4|0); - $4 = ((($f)) + 100|0); + HEAP32[$3>>2] = 18284; + } + } while(0); + $46 = HEAP32[$3>>2]|0; + $47 = (_strcmp($46,18428)|0); + $48 = ($47|0)!=(0); + do { + if ($48) { + $49 = HEAP32[$3>>2]|0; + $50 = (_strcmp($49,18442)|0); + $51 = ($50|0)!=(0); + if (!($51)) { + HEAP32[$1>>2] = 3; + break; + } + $52 = HEAP32[$3>>2]|0; + $53 = (_strcmp($52,18454)|0); + $54 = ($53|0)!=(0); + if (!($54)) { + HEAP32[$1>>2] = 7; + break; + } + $55 = HEAP32[$3>>2]|0; + $56 = (_strcmp($55,18468)|0); + $57 = ($56|0)!=(0); + if (!($57)) { + HEAP32[$1>>2] = 8; + break; + } + $58 = HEAP32[$3>>2]|0; + $59 = (_strcmp($58,18480)|0); + $60 = ($59|0)!=(0); + if (!($60)) { + HEAP32[$1>>2] = 9; + break; + } + $61 = HEAP32[$3>>2]|0; + $62 = (_strcmp($61,18494)|0); + $63 = ($62|0)!=(0); + if (!($63)) { + HEAP32[$1>>2] = 10; + break; + } + $64 = HEAP32[$3>>2]|0; + $65 = (_strcmp($64,18508)|0); + $66 = ($65|0)!=(0); + if (!($66)) { + HEAP32[$1>>2] = 11; + break; + } + $67 = HEAP32[$3>>2]|0; + $68 = (_strcmp($67,18525)|0); + $69 = ($68|0)!=(0); + if (!($69)) { + HEAP32[$1>>2] = 1; + break; + } + $70 = HEAP32[$3>>2]|0; + $71 = (_strcmp($70,18548)|0); + $72 = ($71|0)!=(0); + if (!($72)) { + HEAP32[$1>>2] = 1; + break; + } + $73 = HEAP32[$3>>2]|0; + $74 = (_strcmp($73,18574)|0); + $75 = ($74|0)!=(0); + if (!($75)) { + HEAP32[$1>>2] = 2; + break; + } + $76 = HEAP32[$3>>2]|0; + $77 = (_strcmp($76,18587)|0); + $78 = ($77|0)!=(0); + if (!($78)) { + HEAP32[$1>>2] = 3; + break; + } + $79 = HEAP32[$3>>2]|0; + $80 = (_strcmp($79,18603)|0); + $81 = ($80|0)!=(0); + if (!($81)) { + HEAP32[$1>>2] = 1; + break; + } + $82 = HEAP32[$3>>2]|0; + $83 = (_strcmp($82,18616)|0); + $84 = ($83|0)!=(0); + if (!($84)) { + HEAP32[$1>>2] = 12; + break; + } + $85 = HEAP32[$3>>2]|0; + $86 = (_strcmp($85,18630)|0); + $87 = ($86|0)!=(0); + if (!($87)) { + HEAP32[$1>>2] = 2; + break; + } + $88 = HEAP32[$3>>2]|0; + $89 = (_strcmp($88,18650)|0); + $90 = ($89|0)!=(0); + if (!($90)) { + HEAP32[$1>>2] = 3; + break; + } + $91 = HEAP32[$3>>2]|0; + $92 = (_strcmp($91,18670)|0); + $93 = ($92|0)!=(0); + if (!($93)) { + HEAP32[$1>>2] = 4; + break; + } + $94 = HEAP32[$3>>2]|0; + $95 = (_strcmp($94,18687)|0); + $96 = ($95|0)!=(0); + if (!($96)) { + HEAP32[$1>>2] = 5; + break; + } + $97 = HEAP32[$3>>2]|0; + $98 = (_strcmp($97,18704)|0); + $99 = ($98|0)!=(0); + if (!($99)) { + HEAP32[$1>>2] = 4; + break; + } + $100 = HEAP32[$3>>2]|0; + $101 = (_strcmp($100,18716)|0); + $102 = ($101|0)!=(0); + if (!($102)) { + HEAP32[$1>>2] = 13; + break; + } + $103 = HEAP32[$3>>2]|0; + $104 = (_strcmp($103,18729)|0); + $105 = ($104|0)!=(0); + if (!($105)) { + HEAP32[$1>>2] = 14; + break; + } + $106 = HEAP32[$3>>2]|0; + $107 = (_strcmp($106,18745)|0); + $108 = ($107|0)!=(0); + if (!($108)) { + HEAP32[$1>>2] = 6; + break; + } + $109 = HEAP32[$3>>2]|0; + $110 = (_strcmp($109,18768)|0); + $111 = ($110|0)!=(0); + if (!($111)) { + HEAP32[$1>>2] = 2; + break; + } + $112 = HEAP32[$3>>2]|0; + $113 = (_strcmp($112,18781)|0); + $114 = ($113|0)!=(0); + if (!($114)) { + HEAP32[$1>>2] = 3; + break; + } + $115 = HEAP32[$3>>2]|0; + $116 = (_strcmp($115,18797)|0); + $117 = ($116|0)!=(0); + if (!($117)) { + HEAP32[$1>>2] = 5; + break; + } + $118 = HEAP32[$3>>2]|0; + $119 = (_strcmp($118,18808)|0); + $120 = ($119|0)!=(0); + if (!($120)) { + HEAP32[$1>>2] = 15; + break; + } + $121 = HEAP32[$3>>2]|0; + $122 = (_strcmp($121,18827)|0); + $123 = ($122|0)!=(0); + if (!($123)) { + HEAP32[$1>>2] = 16; + break; + } + $124 = HEAP32[$3>>2]|0; + $125 = (_strcmp($124,18849)|0); + $126 = ($125|0)!=(0); + if (!($126)) { + HEAP32[$1>>2] = 17; + break; + } + $127 = HEAP32[$3>>2]|0; + $128 = (_strcmp($127,18868)|0); + $129 = ($128|0)!=(0); + if (!($129)) { + HEAP32[$1>>2] = 7; + break; + } + $130 = HEAP32[$3>>2]|0; + $131 = (_strcmp($130,18897)|0); + $132 = ($131|0)!=(0); + if (!($132)) { + HEAP32[$1>>2] = 6; + break; + } + $133 = HEAP32[$3>>2]|0; + $134 = (_strcmp($133,18914)|0); + $135 = ($134|0)!=(0); + if (!($135)) { + HEAP32[$1>>2] = 8; + break; + } + $136 = HEAP32[$3>>2]|0; + $137 = (_strcmp($136,18929)|0); + $138 = ($137|0)!=(0); + if (!($138)) { + HEAP32[$1>>2] = 9; + break; + } + $139 = HEAP32[$3>>2]|0; + $140 = (_strcmp($139,18944)|0); + $141 = ($140|0)!=(0); + if (!($141)) { + HEAP32[$1>>2] = 3; + break; + } + $142 = HEAP32[$3>>2]|0; + $143 = (_strcmp($142,18965)|0); + $144 = ($143|0)!=(0); + if (!($144)) { + HEAP32[$1>>2] = 10; + break; + } + $145 = HEAP32[$3>>2]|0; + $146 = (_strcmp($145,18985)|0); + $147 = ($146|0)!=(0); + if (!($147)) { + HEAP32[$1>>2] = 11; + break; + } + $148 = HEAP32[$3>>2]|0; + $149 = (_strcmp($148,19005)|0); + $150 = ($149|0)!=(0); + if (!($150)) { + HEAP32[$1>>2] = 12; + break; + } + $151 = HEAP32[$3>>2]|0; + $152 = (_strcmp($151,19031)|0); + $153 = ($152|0)!=(0); + if (!($153)) { + HEAP32[$1>>2] = 2; + break; + } + $154 = HEAP32[$3>>2]|0; + $155 = (_strcmp($154,19050)|0); + $156 = ($155|0)!=(0); + if (!($156)) { + HEAP32[$1>>2] = 1; + break; + } + $157 = HEAP32[$3>>2]|0; + $158 = (_strcmp($157,19062)|0); + $159 = ($158|0)!=(0); + if (!($159)) { + HEAP32[$1>>2] = 3; + break; + } + $160 = HEAP32[$3>>2]|0; + $161 = (_strcmp($160,19074)|0); + $162 = ($161|0)!=(0); + if (!($162)) { + HEAP32[$1>>2] = 1; + break; + } + $163 = HEAP32[$3>>2]|0; + $164 = (_strcmp($163,19086)|0); + $165 = ($164|0)!=(0); + if (!($165)) { + HEAP32[$1>>2] = 1; + break; + } + $166 = HEAP32[$3>>2]|0; + $167 = (_strcmp($166,19098)|0); + $168 = ($167|0)!=(0); + if (!($168)) { + HEAP32[$1>>2] = 18; + break; + } + $169 = HEAP32[$3>>2]|0; + $170 = (_strcmp($169,19110)|0); + $171 = ($170|0)!=(0); + if (!($171)) { + HEAP32[$1>>2] = 13; + break; + } + $172 = HEAP32[$3>>2]|0; + $173 = (_strcmp($172,19122)|0); + $174 = ($173|0)!=(0); + if (!($174)) { + HEAP32[$1>>2] = 4; + break; + } + $175 = HEAP32[$3>>2]|0; + $176 = (_strcmp($175,19134)|0); + $177 = ($176|0)!=(0); + if (!($177)) { + HEAP32[$1>>2] = 2; + break; + } + $178 = HEAP32[$3>>2]|0; + $179 = (_strcmp($178,19146)|0); + $180 = ($179|0)!=(0); + if (!($180)) { + HEAP32[$1>>2] = 14; + break; + } + $181 = HEAP32[$3>>2]|0; + $182 = (_strcmp($181,19159)|0); + $183 = ($182|0)!=(0); + if (!($183)) { + HEAP32[$1>>2] = 15; + break; + } + $184 = HEAP32[$3>>2]|0; + $185 = (_strcmp($184,19172)|0); + $186 = ($185|0)!=(0); + if (!($186)) { + HEAP32[$1>>2] = 16; + break; + } + $187 = HEAP32[$3>>2]|0; + $188 = (_strcmp($187,19185)|0); + $189 = ($188|0)!=(0); + if (!($189)) { + HEAP32[$1>>2] = 17; + break; + } + $190 = HEAP32[$3>>2]|0; + $191 = (_strcmp($190,19198)|0); + $192 = ($191|0)!=(0); + if (!($192)) { + HEAP32[$1>>2] = 18; + break; + } + $193 = HEAP32[$3>>2]|0; + $194 = (_strcmp($193,19211)|0); + $195 = ($194|0)!=(0); + if (!($195)) { + HEAP32[$1>>2] = 19; + break; + } + $196 = HEAP32[$3>>2]|0; + $197 = (_strcmp($196,19224)|0); + $198 = ($197|0)!=(0); + if (!($198)) { + HEAP32[$1>>2] = 20; + break; + } + $199 = HEAP32[$3>>2]|0; + $200 = (_strcmp($199,19237)|0); + $201 = ($200|0)!=(0); + if (!($201)) { + HEAP32[$1>>2] = 21; + break; + } + $202 = HEAP32[$3>>2]|0; + $203 = (_strcmp($202,19250)|0); + $204 = ($203|0)!=(0); + if (!($204)) { + HEAP32[$1>>2] = 5; + break; + } + $205 = HEAP32[$3>>2]|0; + $206 = (_strcmp($205,19269)|0); + $207 = ($206|0)!=(0); + if (!($207)) { + HEAP32[$1>>2] = 6; + break; + } + $208 = HEAP32[$3>>2]|0; + $209 = (_strcmp($208,19288)|0); + $210 = ($209|0)!=(0); + if (!($210)) { + HEAP32[$1>>2] = 7; + break; + } + $211 = HEAP32[$3>>2]|0; + $212 = (_strcmp($211,19307)|0); + $213 = ($212|0)!=(0); + if (!($213)) { + HEAP32[$1>>2] = 19; + break; + } + $214 = HEAP32[$3>>2]|0; + $215 = (_strcmp($214,19320)|0); + $216 = ($215|0)!=(0); + if (!($216)) { + HEAP32[$1>>2] = 20; + break; + } + $217 = HEAP32[$3>>2]|0; + $218 = (_strcmp($217,19338)|0); + $219 = ($218|0)!=(0); + if (!($219)) { + HEAP32[$1>>2] = 21; + break; + } + $220 = HEAP32[$3>>2]|0; + $221 = (_strcmp($220,19356)|0); + $222 = ($221|0)!=(0); + if (!($222)) { + HEAP32[$1>>2] = 22; + break; + } + $223 = HEAP32[$3>>2]|0; + $224 = (_strcmp($223,19374)|0); + $225 = ($224|0)!=(0); + if (!($225)) { + HEAP32[$1>>2] = 23; + break; + } + $226 = HEAP32[$3>>2]|0; + $227 = (_strcmp($226,19392)|0); + $228 = ($227|0)!=(0); + if (!($228)) { + HEAP32[$1>>2] = 4; + break; + } + $229 = HEAP32[$3>>2]|0; + $230 = (_strcmp($229,19412)|0); + $231 = ($230|0)!=(0); + if (!($231)) { + HEAP32[$1>>2] = 3; + break; + } + $232 = HEAP32[$3>>2]|0; + $233 = (_strcmp($232,18353)|0); + $234 = ($233|0)!=(0); + if (!($234)) { + HEAP32[$1>>2] = 7; + break; + } + $235 = HEAP32[$3>>2]|0; + $236 = (_strcmp($235,19430)|0); + $237 = ($236|0)!=(0); + if (!($237)) { + HEAP32[$1>>2] = 1; + break; + } + $238 = HEAP32[$3>>2]|0; + $239 = (_strcmp($238,19445)|0); + $240 = ($239|0)!=(0); + if (!($240)) { + HEAP32[$1>>2] = 8; + break; + } + $241 = HEAP32[$3>>2]|0; + $242 = (_strcmp($241,19466)|0); + $243 = ($242|0)!=(0); + if (!($243)) { + HEAP32[$1>>2] = 9; + break; + } + $244 = HEAP32[$3>>2]|0; + $245 = (_strcmp($244,19481)|0); + $246 = ($245|0)!=(0); + if (!($246)) { + HEAP32[$1>>2] = 10; + break; + } + $247 = HEAP32[$3>>2]|0; + $248 = (_strcmp($247,19499)|0); + $249 = ($248|0)!=(0); + if (!($249)) { + HEAP32[$1>>2] = 2; + break; + } + $250 = HEAP32[$3>>2]|0; + $251 = (_strcmp($250,19515)|0); + $252 = ($251|0)!=(0); + if (!($252)) { + HEAP32[$1>>2] = 11; + break; + } + $253 = HEAP32[$3>>2]|0; + $254 = (_strcmp($253,19534)|0); + $255 = ($254|0)!=(0); + if (!($255)) { + HEAP32[$1>>2] = 22; + break; + } + $256 = HEAP32[$3>>2]|0; + $257 = (_strcmp($256,19548)|0); + $258 = ($257|0)!=(0); + if (!($258)) { + HEAP32[$1>>2] = 23; + break; + } + $259 = HEAP32[$3>>2]|0; + $260 = (_strcmp($259,19563)|0); + $261 = ($260|0)!=(0); + if (!($261)) { + HEAP32[$1>>2] = 8; + break; + } + $262 = HEAP32[$3>>2]|0; + $263 = (_strcmp($262,18284)|0); + $264 = ($263|0)!=(0); + if (!($264)) { + HEAP32[$1>>2] = 1; + break; + } + $265 = HEAP32[$3>>2]|0; + $266 = (_strcmp($265,19574)|0); + $267 = ($266|0)!=(0); + if (!($267)) { + HEAP32[$1>>2] = 3; + break; + } + $268 = HEAP32[$3>>2]|0; + $269 = (_strcmp($268,18383)|0); + $270 = ($269|0)!=(0); + if (!($270)) { + HEAP32[$1>>2] = 24; + break; + } + $271 = HEAP32[$3>>2]|0; + $272 = (_strcmp($271,18413)|0); + $273 = ($272|0)!=(0); + if (!($273)) { + HEAP32[$1>>2] = 25; + break; + } + $274 = HEAP32[$3>>2]|0; + $275 = (_strcmp($274,19590)|0); + $276 = ($275|0)!=(0); + if (!($276)) { + HEAP32[$1>>2] = 12; + break; + } + $277 = HEAP32[$3>>2]|0; + $278 = (_strcmp($277,19617)|0); + $279 = ($278|0)!=(0); + if (!($279)) { + HEAP32[$1>>2] = 4; + break; + } + $280 = HEAP32[$3>>2]|0; + $281 = (_strcmp($280,19631)|0); + $282 = ($281|0)!=(0); + if (!($282)) { + HEAP32[$1>>2] = 13; + break; + } + $283 = HEAP32[$3>>2]|0; + $284 = (_strcmp($283,18319)|0); + $285 = ($284|0)!=(0); + if (!($285)) { + HEAP32[$1>>2] = 5; + break; + } + $286 = HEAP32[$3>>2]|0; + $287 = (_strcmp($286,19651)|0); + $288 = ($287|0)!=(0); + if (!($288)) { + HEAP32[$1>>2] = 6; + break; + } + $289 = HEAP32[$3>>2]|0; + $290 = (_strcmp($289,19669)|0); + $291 = ($290|0)!=(0); + if (!($291)) { + HEAP32[$1>>2] = 9; + break; + } + $292 = HEAP32[$3>>2]|0; + $293 = (_strcmp($292,19681)|0); + $294 = ($293|0)!=(0); + if (!($294)) { + HEAP32[$1>>2] = 24; + break; + } + $295 = HEAP32[$3>>2]|0; + $296 = (_strcmp($295,19702)|0); + $297 = ($296|0)!=(0); + if (!($297)) { + HEAP32[$1>>2] = 26; + break; + } + $298 = HEAP32[$3>>2]|0; + $299 = (_strcmp($298,19720)|0); + $300 = ($299|0)!=(0); + if (!($300)) { + HEAP32[$1>>2] = 27; + break; + } + $301 = HEAP32[$3>>2]|0; + $302 = (_strcmp($301,19738)|0); + $303 = ($302|0)!=(0); + if (!($303)) { + HEAP32[$1>>2] = 28; + break; + } + $304 = HEAP32[$3>>2]|0; + $305 = (_strcmp($304,19759)|0); + $306 = ($305|0)!=(0); + if (!($306)) { + HEAP32[$1>>2] = 14; + break; + } + $307 = HEAP32[$3>>2]|0; + $308 = (_strcmp($307,19785)|0); + $309 = ($308|0)!=(0); + if (!($309)) { + HEAP32[$1>>2] = 3; + break; + } + $310 = HEAP32[$3>>2]|0; + $311 = (_strcmp($310,19808)|0); + $312 = ($311|0)!=(0); + if (!($312)) { + HEAP32[$1>>2] = 15; + break; + } + $313 = HEAP32[$3>>2]|0; + $314 = (_strcmp($313,19846)|0); + $315 = ($314|0)!=(0); + if (!($315)) { + HEAP32[$1>>2] = 10; + break; + } + $316 = HEAP32[$3>>2]|0; + $317 = (_strcmp($316,19862)|0); + $318 = ($317|0)!=(0); + if (!($318)) { + HEAP32[$1>>2] = 7; + break; + } + $319 = HEAP32[$3>>2]|0; + $320 = (_strcmp($319,19877)|0); + $321 = ($320|0)!=(0); + if (!($321)) { + HEAP32[$1>>2] = 25; + break; + } + $322 = HEAP32[$3>>2]|0; + $323 = (_strcmp($322,19900)|0); + $324 = ($323|0)!=(0); + if (!($324)) { + HEAP32[$1>>2] = 16; + break; + } + $325 = HEAP32[$3>>2]|0; + $326 = (_strcmp($325,19913)|0); + $327 = ($326|0)!=(0); + if (!($327)) { + HEAP32[$1>>2] = 29; + break; + } + $328 = HEAP32[$3>>2]|0; + $329 = (_strcmp($328,19927)|0); + $330 = ($329|0)!=(0); + if (!($330)) { + HEAP32[$1>>2] = 30; + break; + } + $331 = HEAP32[$3>>2]|0; + $332 = (_strcmp($331,19941)|0); + $333 = ($332|0)!=(0); + if (!($333)) { + HEAP32[$1>>2] = 1; + break; + } + $334 = HEAP32[$3>>2]|0; + $335 = (_strcmp($334,19961)|0); + $336 = ($335|0)!=(0); + if (!($336)) { + HEAP32[$1>>2] = 8; + break; + } + $337 = HEAP32[$3>>2]|0; + $338 = (_strcmp($337,19981)|0); + $339 = ($338|0)!=(0); + if (!($339)) { + HEAP32[$1>>2] = 17; + break; + } + $340 = HEAP32[$3>>2]|0; + $341 = (_strcmp($340,19997)|0); + $342 = ($341|0)!=(0); + if (!($342)) { + HEAP32[$1>>2] = 18; + break; + } + $343 = HEAP32[$3>>2]|0; + $344 = (_strcmp($343,20015)|0); + $345 = ($344|0)!=(0); + if (!($345)) { + HEAP32[$1>>2] = 26; + break; + } + $346 = HEAP32[$3>>2]|0; + $347 = (_strcmp($346,20031)|0); + $348 = ($347|0)!=(0); + if (!($348)) { + HEAP32[$1>>2] = 19; + break; + } + $349 = HEAP32[$3>>2]|0; + $350 = (_strcmp($349,20046)|0); + $351 = ($350|0)!=(0); + if (!($351)) { + HEAP32[$1>>2] = 9; + break; + } + $352 = HEAP32[$3>>2]|0; + $353 = (_strcmp($352,20068)|0); + $354 = ($353|0)!=(0); + if (!($354)) { + HEAP32[$1>>2] = 31; + break; + } + $355 = HEAP32[$3>>2]|0; + $356 = (_strcmp($355,20086)|0); + $357 = ($356|0)!=(0); + if (!($357)) { + HEAP32[$1>>2] = 32; + break; + } + $358 = HEAP32[$3>>2]|0; + $359 = (_strcmp($358,20107)|0); + $360 = ($359|0)!=(0); + if (!($360)) { + HEAP32[$1>>2] = 10; + break; + } + $361 = HEAP32[$3>>2]|0; + $362 = (_strcmp($361,20125)|0); + $363 = ($362|0)!=(0); + if (!($363)) { + HEAP32[$1>>2] = 11; + break; + } + $364 = HEAP32[$3>>2]|0; + $365 = (_strcmp($364,20138)|0); + $366 = ($365|0)!=(0); + if (!($366)) { + HEAP32[$1>>2] = 2; + break; + } + $367 = HEAP32[$3>>2]|0; + $368 = (_strcmp($367,20153)|0); + $369 = ($368|0)!=(0); + if (!($369)) { + HEAP32[$1>>2] = 12; + break; + } + $370 = HEAP32[$3>>2]|0; + $371 = (_strcmp($370,20167)|0); + $372 = ($371|0)!=(0); + if (!($372)) { + HEAP32[$1>>2] = 1; + break; + } + $373 = HEAP32[$3>>2]|0; + $374 = (_strcmp($373,20177)|0); + $375 = ($374|0)!=(0); + if (!($375)) { + HEAP32[$1>>2] = 1; + break; + } + $376 = HEAP32[$3>>2]|0; + $377 = (_strcmp($376,20187)|0); + $378 = ($377|0)!=(0); + if (!($378)) { + HEAP32[$1>>2] = 2; + break; + } + $379 = HEAP32[$3>>2]|0; + $380 = (_strcmp($379,20209)|0); + $381 = ($380|0)!=(0); + if (!($381)) { + HEAP32[$1>>2] = 13; + break; + } + $382 = HEAP32[$3>>2]|0; + $383 = (_strcmp($382,20235)|0); + $384 = ($383|0)!=(0); + if (!($384)) { + HEAP32[$1>>2] = 14; + break; + } + $385 = HEAP32[$3>>2]|0; + $386 = (_strcmp($385,20262)|0); + $387 = ($386|0)!=(0); + if (!($387)) { + HEAP32[$1>>2] = 27; + break; + } + $388 = HEAP32[$3>>2]|0; + $389 = (_strcmp($388,20275)|0); + $390 = ($389|0)!=(0); + if (!($390)) { + HEAP32[$1>>2] = 20; + break; + } + $391 = HEAP32[$3>>2]|0; + $392 = (_strcmp($391,20290)|0); + $393 = ($392|0)!=(0); + if (!($393)) { + HEAP32[$1>>2] = 4; + break; + } + $394 = HEAP32[$3>>2]|0; + $395 = (_strcmp($394,20305)|0); + $396 = ($395|0)!=(0); + if (!($396)) { + HEAP32[$1>>2] = 3; + break; + } + $397 = HEAP32[$3>>2]|0; + $398 = (_strcmp($397,20329)|0); + $399 = ($398|0)!=(0); + if (!($399)) { + HEAP32[$1>>2] = 2; + break; + } + $400 = HEAP32[$3>>2]|0; + $401 = (_strcmp($400,20340)|0); + $402 = ($401|0)!=(0); + if (!($402)) { + HEAP32[$1>>2] = 33; + break; + } + $403 = HEAP32[$3>>2]|0; + $404 = (_strcmp($403,20362)|0); + $405 = ($404|0)!=(0); + if (!($405)) { + HEAP32[$1>>2] = 21; + break; + } + $406 = HEAP32[$3>>2]|0; + $407 = (_strcmp($406,20384)|0); + $408 = ($407|0)!=(0); + if (!($408)) { + HEAP32[$1>>2] = 5; + break; + } + $409 = HEAP32[$3>>2]|0; + $410 = (_strcmp($409,20408)|0); + $411 = ($410|0)!=(0); + if (!($411)) { + HEAP32[$1>>2] = 4; + break; + } + $412 = HEAP32[$3>>2]|0; + $413 = (_strcmp($412,20417)|0); + $414 = ($413|0)!=(0); + if (!($414)) { + HEAP32[$1>>2] = 5; + break; + } + $415 = HEAP32[$3>>2]|0; + $416 = (_strcmp($415,20425)|0); + $417 = ($416|0)!=(0); + if (!($417)) { + HEAP32[$1>>2] = 1; + break; + } + $418 = HEAP32[$3>>2]|0; + $419 = (_strcmp($418,20438)|0); + $420 = ($419|0)!=(0); + if (!($420)) { + HEAP32[$1>>2] = 2; + break; + } + $421 = HEAP32[$3>>2]|0; + $422 = (_strcmp($421,20452)|0); + $423 = ($422|0)!=(0); + if (!($423)) { + HEAP32[$1>>2] = 15; + break; + } + $424 = HEAP32[$3>>2]|0; + $425 = (_strcmp($424,20464)|0); + $426 = ($425|0)!=(0); + if (!($426)) { + HEAP32[$1>>2] = 16; + break; + } + $427 = HEAP32[$3>>2]|0; + $428 = (_strcmp($427,20473)|0); + $429 = ($428|0)!=(0); + if (!($429)) { + HEAP32[$1>>2] = 17; + break; + } + $430 = HEAP32[$3>>2]|0; + $431 = (_strcmp($430,20483)|0); + $432 = ($431|0)!=(0); + if (!($432)) { + HEAP32[$1>>2] = 18; + break; + } + $433 = HEAP32[$3>>2]|0; + $434 = (_strcmp($433,20495)|0); + $435 = ($434|0)!=(0); + if (!($435)) { + HEAP32[$1>>2] = 19; + break; + } + $436 = HEAP32[$3>>2]|0; + $437 = (_strcmp($436,20506)|0); + $438 = ($437|0)!=(0); + if (!($438)) { + HEAP32[$1>>2] = 20; + break; + } + $439 = HEAP32[$3>>2]|0; + $440 = (_strcmp($439,20514)|0); + $441 = ($440|0)!=(0); + if (!($441)) { + HEAP32[$1>>2] = 3; + break; + } + $442 = HEAP32[$3>>2]|0; + $443 = (_strcmp($442,20526)|0); + $444 = ($443|0)!=(0); + if (!($444)) { + HEAP32[$1>>2] = 21; + break; + } + $445 = HEAP32[$3>>2]|0; + $446 = (_strcmp($445,20541)|0); + $447 = ($446|0)!=(0); + if (!($447)) { + HEAP32[$1>>2] = 22; + break; + } + $448 = HEAP32[$3>>2]|0; + $449 = (_strcmp($448,20553)|0); + $450 = ($449|0)!=(0); + if (!($450)) { + HEAP32[$1>>2] = 23; + break; + } + $451 = HEAP32[$3>>2]|0; + $452 = (_strcmp($451,20567)|0); + $453 = ($452|0)!=(0); + if (!($453)) { + HEAP32[$1>>2] = 11; + break; + } + $454 = HEAP32[$3>>2]|0; + $455 = (_strcmp($454,20592)|0); + $456 = ($455|0)!=(0); + if (!($456)) { + HEAP32[$1>>2] = 24; + break; + } + $457 = HEAP32[$3>>2]|0; + $458 = (_strcmp($457,20609)|0); + $459 = ($458|0)!=(0); + if (!($459)) { + HEAP32[$1>>2] = 25; + break; + } + $460 = HEAP32[$3>>2]|0; + $461 = (_strcmp($460,20625)|0); + $462 = ($461|0)!=(0); + if (!($462)) { + HEAP32[$1>>2] = 26; + break; + } + $463 = HEAP32[$3>>2]|0; + $464 = (_strcmp($463,20641)|0); + $465 = ($464|0)!=(0); + if (!($465)) { + HEAP32[$1>>2] = 12; + break; + } + $466 = HEAP32[$3>>2]|0; + $467 = (_strcmp($466,20653)|0); + $468 = ($467|0)!=(0); + if (!($468)) { + HEAP32[$1>>2] = 34; + break; + } + $469 = HEAP32[$3>>2]|0; + $470 = (_strcmp($469,20665)|0); + $471 = ($470|0)!=(0); + if (!($471)) { + HEAP32[$1>>2] = 35; + break; + } + $472 = HEAP32[$3>>2]|0; + $473 = (_strcmp($472,20689)|0); + $474 = ($473|0)!=(0); + if (!($474)) { + HEAP32[$1>>2] = 1; + break; + } + $475 = HEAP32[$3>>2]|0; + $476 = (_strcmp($475,20702)|0); + $477 = ($476|0)!=(0); + if (!($477)) { + HEAP32[$1>>2] = 2; + break; + } + $478 = HEAP32[$3>>2]|0; + $479 = (_strcmp($478,20716)|0); + $480 = ($479|0)!=(0); + if (!($480)) { + HEAP32[$1>>2] = 36; + break; + } + $481 = HEAP32[$3>>2]|0; + $482 = (_strcmp($481,20738)|0); + $483 = ($482|0)!=(0); + if (!($483)) { + HEAP32[$1>>2] = 37; + break; + } + $484 = HEAP32[$3>>2]|0; + $485 = (_strcmp($484,20745)|0); + $486 = ($485|0)!=(0); + if (!($486)) { + HEAP32[$1>>2] = 3; + break; + } + $487 = HEAP32[$3>>2]|0; + $488 = (_strcmp($487,20761)|0); + $489 = ($488|0)!=(0); + if (!($489)) { + HEAP32[$1>>2] = 2; + break; + } + $490 = HEAP32[$3>>2]|0; + $491 = (_strcmp($490,20778)|0); + $492 = ($491|0)!=(0); + if (!($492)) { + HEAP32[$1>>2] = 1; + break; + } + $493 = HEAP32[$3>>2]|0; + $494 = (_strcmp($493,20795)|0); + $495 = ($494|0)!=(0); + if (!($495)) { + HEAP32[$1>>2] = 28; + break; + } + $496 = HEAP32[$3>>2]|0; + $497 = (_strcmp($496,20811)|0); + $498 = ($497|0)!=(0); + if (!($498)) { + HEAP32[$1>>2] = 1; + break; + } + $499 = HEAP32[$3>>2]|0; + $500 = (_strcmp($499,20827)|0); + $501 = ($500|0)!=(0); + if (!($501)) { + HEAP32[$1>>2] = 4; + break; + } + $502 = HEAP32[$3>>2]|0; + $503 = (_strcmp($502,20844)|0); + $504 = ($503|0)!=(0); + if (!($504)) { + HEAP32[$1>>2] = 29; + break; + } + $505 = HEAP32[$3>>2]|0; + $506 = (_strcmp($505,20858)|0); + $507 = ($506|0)!=(0); + if (!($507)) { + HEAP32[$1>>2] = 30; + break; + } + $508 = HEAP32[$3>>2]|0; + $509 = (_strcmp($508,20870)|0); + $510 = ($509|0)!=(0); + if (!($510)) { + HEAP32[$1>>2] = 22; + break; + } + $511 = HEAP32[$3>>2]|0; + $512 = (_strcmp($511,20881)|0); + $513 = ($512|0)!=(0); + if (!($513)) { + HEAP32[$1>>2] = 2; + break; + } + $514 = HEAP32[$3>>2]|0; + $515 = (_strcmp($514,20894)|0); + $516 = ($515|0)!=(0); + if (!($516)) { + HEAP32[$1>>2] = 23; + break; + } + $517 = HEAP32[$3>>2]|0; + $518 = (_strcmp($517,20904)|0); + $519 = ($518|0)!=(0); + if (!($519)) { + HEAP32[$1>>2] = 2; + break; + } + $520 = HEAP32[$3>>2]|0; + $521 = (_strcmp($520,20921)|0); + $522 = ($521|0)!=(0); + if (!($522)) { + HEAP32[$1>>2] = 24; + break; + } + $523 = HEAP32[$3>>2]|0; + $524 = (_strcmp($523,20933)|0); + $525 = ($524|0)!=(0); + if (!($525)) { + HEAP32[$1>>2] = 25; + break; + } + $526 = HEAP32[$3>>2]|0; + $527 = (_strcmp($526,20955)|0); + $528 = ($527|0)!=(0); + if (!($528)) { + HEAP32[$1>>2] = 26; + break; + } + $529 = HEAP32[$3>>2]|0; + $530 = (_strcmp($529,20975)|0); + $531 = ($530|0)!=(0); + if (!($531)) { + HEAP32[$1>>2] = 3; + break; + } + $532 = HEAP32[$3>>2]|0; + $533 = (_strcmp($532,20988)|0); + $534 = ($533|0)!=(0); + if (!($534)) { + HEAP32[$1>>2] = 27; + break; + } + $535 = HEAP32[$3>>2]|0; + $536 = (_strcmp($535,21010)|0); + $537 = ($536|0)!=(0); + if (!($537)) { + HEAP32[$1>>2] = 28; + break; + } + $538 = HEAP32[$3>>2]|0; + $539 = (_strcmp($538,21030)|0); + $540 = ($539|0)!=(0); + if (!($540)) { + HEAP32[$1>>2] = 2; + break; + } + $541 = HEAP32[$3>>2]|0; + $542 = (_strcmp($541,21047)|0); + $543 = ($542|0)!=(0); + if (!($543)) { + HEAP32[$1>>2] = 2; + break; + } + $544 = HEAP32[$3>>2]|0; + $545 = (_strcmp($544,21064)|0); + $546 = ($545|0)!=(0); + if (!($546)) { + HEAP32[$1>>2] = 3; + break; + } + $547 = HEAP32[$3>>2]|0; + $548 = (_strcmp($547,21084)|0); + $549 = ($548|0)!=(0); + if ($549) { + $550 = HEAP32[$2>>2]|0; + $551 = HEAP32[$3>>2]|0; + $552 = _emscripten_asm_const_iii(0, ($550|0), ($551|0))|0; + HEAP32[$1>>2] = 0; + break; + } else { + HEAP32[$1>>2] = 38; + break; + } + } else { + HEAP32[$1>>2] = 6; + } + } while(0); + $553 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($553|0); +} +function _emscripten_get_global_libc() { + var label = 0, sp = 0; + sp = STACKTOP; + return (28124|0); +} +function ___stdio_close($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $vararg_buffer = sp; + $1 = ((($0)) + 60|0); + $2 = HEAP32[$1>>2]|0; + $3 = (_dummy_738($2)|0); + HEAP32[$vararg_buffer>>2] = $3; + $4 = (___syscall6(6,($vararg_buffer|0))|0); + $5 = (___syscall_ret($4)|0); + STACKTOP = sp;return ($5|0); +} +function ___stdio_write($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$0 = 0, $$04756 = 0, $$04855 = 0, $$04954 = 0, $$051 = 0, $$1 = 0, $$150 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0; + var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0; + var $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer3 = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr6 = 0; + var $vararg_ptr7 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0); + $vararg_buffer3 = sp + 16|0; + $vararg_buffer = sp; + $3 = sp + 32|0; + $4 = ((($0)) + 28|0); + $5 = HEAP32[$4>>2]|0; + HEAP32[$3>>2] = $5; + $6 = ((($3)) + 4|0); + $7 = ((($0)) + 20|0); + $8 = HEAP32[$7>>2]|0; + $9 = (($8) - ($5))|0; + HEAP32[$6>>2] = $9; + $10 = ((($3)) + 8|0); + HEAP32[$10>>2] = $1; + $11 = ((($3)) + 12|0); + HEAP32[$11>>2] = $2; + $12 = (($9) + ($2))|0; + $13 = ((($0)) + 60|0); + $14 = HEAP32[$13>>2]|0; + $15 = $3; + HEAP32[$vararg_buffer>>2] = $14; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $15; + $vararg_ptr2 = ((($vararg_buffer)) + 8|0); + HEAP32[$vararg_ptr2>>2] = 2; + $16 = (___syscall146(146,($vararg_buffer|0))|0); + $17 = (___syscall_ret($16)|0); + $18 = ($12|0)==($17|0); + L1: do { + if ($18) { + label = 3; + } else { + $$04756 = 2;$$04855 = $12;$$04954 = $3;$26 = $17; while(1) { - $6 = HEAP32[$3>>2]|0; - $7 = HEAP32[$4>>2]|0; - $8 = ($6>>>0)<($7>>>0); - if ($8) { - $9 = ((($6)) + 1|0); - HEAP32[$3>>2] = $9; - $10 = HEAP8[$6>>0]|0; - $11 = $10&255; - $13 = $11; - } else { - $12 = (___shgetc($f)|0); - $13 = $12; + $25 = ($26|0)<(0); + if ($25) { + break; } - $14 = (_isspace($13)|0); - $15 = ($14|0)==(0); - if ($15) { - $$lcssa135 = $13; + $34 = (($$04855) - ($26))|0; + $35 = ((($$04954)) + 4|0); + $36 = HEAP32[$35>>2]|0; + $37 = ($26>>>0)>($36>>>0); + $38 = ((($$04954)) + 8|0); + $$150 = $37 ? $38 : $$04954; + $39 = $37 << 31 >> 31; + $$1 = (($39) + ($$04756))|0; + $40 = $37 ? $36 : 0; + $$0 = (($26) - ($40))|0; + $41 = HEAP32[$$150>>2]|0; + $42 = (($41) + ($$0)|0); + HEAP32[$$150>>2] = $42; + $43 = ((($$150)) + 4|0); + $44 = HEAP32[$43>>2]|0; + $45 = (($44) - ($$0))|0; + HEAP32[$43>>2] = $45; + $46 = HEAP32[$13>>2]|0; + $47 = $$150; + HEAP32[$vararg_buffer3>>2] = $46; + $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); + HEAP32[$vararg_ptr6>>2] = $47; + $vararg_ptr7 = ((($vararg_buffer3)) + 8|0); + HEAP32[$vararg_ptr7>>2] = $$1; + $48 = (___syscall146(146,($vararg_buffer3|0))|0); + $49 = (___syscall_ret($48)|0); + $50 = ($34|0)==($49|0); + if ($50) { + label = 3; + break L1; + } else { + $$04756 = $$1;$$04855 = $34;$$04954 = $$150;$26 = $49; + } + } + $27 = ((($0)) + 16|0); + HEAP32[$27>>2] = 0; + HEAP32[$4>>2] = 0; + HEAP32[$7>>2] = 0; + $28 = HEAP32[$0>>2]|0; + $29 = $28 | 32; + HEAP32[$0>>2] = $29; + $30 = ($$04756|0)==(2); + if ($30) { + $$051 = 0; + } else { + $31 = ((($$04954)) + 4|0); + $32 = HEAP32[$31>>2]|0; + $33 = (($2) - ($32))|0; + $$051 = $33; + } + } + } while(0); + if ((label|0) == 3) { + $19 = ((($0)) + 44|0); + $20 = HEAP32[$19>>2]|0; + $21 = ((($0)) + 48|0); + $22 = HEAP32[$21>>2]|0; + $23 = (($20) + ($22)|0); + $24 = ((($0)) + 16|0); + HEAP32[$24>>2] = $23; + HEAP32[$4>>2] = $20; + HEAP32[$7>>2] = $20; + $$051 = $2; + } + STACKTOP = sp;return ($$051|0); +} +function ___stdio_seek($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$pre = 0, $10 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, $vararg_ptr4 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $vararg_buffer = sp; + $3 = sp + 20|0; + $4 = ((($0)) + 60|0); + $5 = HEAP32[$4>>2]|0; + $6 = $3; + HEAP32[$vararg_buffer>>2] = $5; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = 0; + $vararg_ptr2 = ((($vararg_buffer)) + 8|0); + HEAP32[$vararg_ptr2>>2] = $1; + $vararg_ptr3 = ((($vararg_buffer)) + 12|0); + HEAP32[$vararg_ptr3>>2] = $6; + $vararg_ptr4 = ((($vararg_buffer)) + 16|0); + HEAP32[$vararg_ptr4>>2] = $2; + $7 = (___syscall140(140,($vararg_buffer|0))|0); + $8 = (___syscall_ret($7)|0); + $9 = ($8|0)<(0); + if ($9) { + HEAP32[$3>>2] = -1; + $10 = -1; + } else { + $$pre = HEAP32[$3>>2]|0; + $10 = $$pre; + } + STACKTOP = sp;return ($10|0); +} +function ___syscall_ret($0) { + $0 = $0|0; + var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ($0>>>0)>(4294963200); + if ($1) { + $2 = (0 - ($0))|0; + $3 = (___errno_location()|0); + HEAP32[$3>>2] = $2; + $$0 = -1; + } else { + $$0 = $0; + } + return ($$0|0); +} +function ___errno_location() { + var $0 = 0, $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (___pthread_self_108()|0); + $1 = ((($0)) + 64|0); + return ($1|0); +} +function ___pthread_self_108() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (_pthread_self()|0); + return ($0|0); +} +function _pthread_self() { + var label = 0, sp = 0; + sp = STACKTOP; + return (5128|0); +} +function _dummy_738($0) { + $0 = $0|0; + var label = 0, sp = 0; + sp = STACKTOP; + return ($0|0); +} +function ___stdio_read($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $vararg_buffer = sp; + $3 = sp + 16|0; + HEAP32[$3>>2] = $1; + $4 = ((($3)) + 4|0); + $5 = ((($0)) + 48|0); + $6 = HEAP32[$5>>2]|0; + $7 = ($6|0)!=(0); + $8 = $7&1; + $9 = (($2) - ($8))|0; + HEAP32[$4>>2] = $9; + $10 = ((($3)) + 8|0); + $11 = ((($0)) + 44|0); + $12 = HEAP32[$11>>2]|0; + HEAP32[$10>>2] = $12; + $13 = ((($3)) + 12|0); + HEAP32[$13>>2] = $6; + $14 = ((($0)) + 60|0); + $15 = HEAP32[$14>>2]|0; + $16 = $3; + HEAP32[$vararg_buffer>>2] = $15; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $16; + $vararg_ptr2 = ((($vararg_buffer)) + 8|0); + HEAP32[$vararg_ptr2>>2] = 2; + $17 = (___syscall145(145,($vararg_buffer|0))|0); + $18 = (___syscall_ret($17)|0); + $19 = ($18|0)<(1); + if ($19) { + $20 = $18 & 48; + $21 = $20 ^ 16; + $22 = HEAP32[$0>>2]|0; + $23 = $22 | $21; + HEAP32[$0>>2] = $23; + $$0 = $18; + } else { + $24 = HEAP32[$4>>2]|0; + $25 = ($18>>>0)>($24>>>0); + if ($25) { + $26 = (($18) - ($24))|0; + $27 = HEAP32[$11>>2]|0; + $28 = ((($0)) + 4|0); + HEAP32[$28>>2] = $27; + $29 = (($27) + ($26)|0); + $30 = ((($0)) + 8|0); + HEAP32[$30>>2] = $29; + $31 = HEAP32[$5>>2]|0; + $32 = ($31|0)==(0); + if ($32) { + $$0 = $2; + } else { + $33 = ((($27)) + 1|0); + HEAP32[$28>>2] = $33; + $34 = HEAP8[$27>>0]|0; + $35 = (($2) + -1)|0; + $36 = (($1) + ($35)|0); + HEAP8[$36>>0] = $34; + $$0 = $2; + } + } else { + $$0 = $18; + } + } + STACKTOP = sp;return ($$0|0); +} +function ___stdout_write($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $vararg_buffer = sp; + $3 = sp + 16|0; + $4 = ((($0)) + 36|0); + HEAP32[$4>>2] = 2; + $5 = HEAP32[$0>>2]|0; + $6 = $5 & 64; + $7 = ($6|0)==(0); + if ($7) { + $8 = ((($0)) + 60|0); + $9 = HEAP32[$8>>2]|0; + $10 = $3; + HEAP32[$vararg_buffer>>2] = $9; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = 21523; + $vararg_ptr2 = ((($vararg_buffer)) + 8|0); + HEAP32[$vararg_ptr2>>2] = $10; + $11 = (___syscall54(54,($vararg_buffer|0))|0); + $12 = ($11|0)==(0); + if (!($12)) { + $13 = ((($0)) + 75|0); + HEAP8[$13>>0] = -1; + } + } + $14 = (___stdio_write($0,$1,$2)|0); + STACKTOP = sp;return ($14|0); +} +function ___shlim($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$sink = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($0)) + 104|0); + HEAP32[$2>>2] = $1; + $3 = ((($0)) + 8|0); + $4 = HEAP32[$3>>2]|0; + $5 = ((($0)) + 4|0); + $6 = HEAP32[$5>>2]|0; + $7 = $4; + $8 = $6; + $9 = (($7) - ($8))|0; + $10 = ((($0)) + 108|0); + HEAP32[$10>>2] = $9; + $11 = ($1|0)!=(0); + $12 = ($9|0)>($1|0); + $or$cond = $11 & $12; + $13 = (($6) + ($1)|0); + $$sink = $or$cond ? $13 : $4; + $14 = ((($0)) + 100|0); + HEAP32[$14>>2] = $$sink; + return; +} +function ___intscan($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$0154222 = 0, $$0157 = 0, $$0157$ = 0, $$0159 = 0, $$1155192 = 0, $$1158 = 0, $$1160 = 0, $$1160169 = 0, $$1165 = 0, $$1165167 = 0, $$1165168 = 0, $$166 = 0, $$2156210 = 0, $$2161$be = 0, $$2161$lcssa = 0, $$3162$be = 0, $$3162215 = 0, $$4163$be = 0, $$4163$lcssa = 0, $$5$be = 0; + var $$6$be = 0, $$6$lcssa = 0, $$7$be = 0, $$7198 = 0, $$8 = 0, $$9$be = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0; + var $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0; + var $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0; + var $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0; + var $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0; + var $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0; + var $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0; + var $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0; + var $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0; + var $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0; + var $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0; + var $294 = 0, $295 = 0, $296 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0; + var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0; + var $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, $or$cond12 = 0; + var $or$cond187 = 0, $or$cond5 = 0, $or$cond7 = 0, label = 0, sp = 0; + sp = STACKTOP; + $5 = ($1>>>0)>(36); + L1: do { + if ($5) { + $8 = (___errno_location()|0); + HEAP32[$8>>2] = 22; + $289 = 0;$290 = 0; + } else { + $6 = ((($0)) + 4|0); + $7 = ((($0)) + 100|0); + while(1) { + $9 = HEAP32[$6>>2]|0; + $10 = HEAP32[$7>>2]|0; + $11 = ($9>>>0)<($10>>>0); + if ($11) { + $12 = ((($9)) + 1|0); + HEAP32[$6>>2] = $12; + $13 = HEAP8[$9>>0]|0; + $14 = $13&255; + $16 = $14; + } else { + $15 = (___shgetc($0)|0); + $16 = $15; + } + $17 = (_isspace($16)|0); + $18 = ($17|0)==(0); + if ($18) { break; } } - $16 = ($$lcssa135|0)==(45); L11: do { - switch ($$lcssa135|0) { + switch ($16|0) { case 43: case 45: { - $17 = $16 << 31 >> 31; - $18 = HEAP32[$3>>2]|0; - $19 = HEAP32[$4>>2]|0; - $20 = ($18>>>0)<($19>>>0); - if ($20) { - $21 = ((($18)) + 1|0); - HEAP32[$3>>2] = $21; - $22 = HEAP8[$18>>0]|0; - $23 = $22&255; - $c$0 = $23;$neg$0 = $17; + $19 = ($16|0)==(45); + $20 = $19 << 31 >> 31; + $21 = HEAP32[$6>>2]|0; + $22 = HEAP32[$7>>2]|0; + $23 = ($21>>>0)<($22>>>0); + if ($23) { + $24 = ((($21)) + 1|0); + HEAP32[$6>>2] = $24; + $25 = HEAP8[$21>>0]|0; + $26 = $25&255; + $$0157 = $20;$$0159 = $26; break L11; } else { - $24 = (___shgetc($f)|0); - $c$0 = $24;$neg$0 = $17; + $27 = (___shgetc($0)|0); + $$0157 = $20;$$0159 = $27; break L11; } break; } default: { - $c$0 = $$lcssa135;$neg$0 = 0; + $$0157 = 0;$$0159 = $16; } } } while(0); - $25 = ($base|0)==(0); - $26 = $base & -17; - $27 = ($26|0)==(0); - $28 = ($c$0|0)==(48); - $or$cond5 = $27 & $28; + $28 = ($1|0)==(0); + $29 = $1 | 16; + $30 = ($29|0)==(16); + $31 = ($$0159|0)==(48); + $or$cond5 = $30 & $31; do { if ($or$cond5) { - $29 = HEAP32[$3>>2]|0; - $30 = HEAP32[$4>>2]|0; - $31 = ($29>>>0)<($30>>>0); - if ($31) { - $32 = ((($29)) + 1|0); - HEAP32[$3>>2] = $32; - $33 = HEAP8[$29>>0]|0; - $34 = $33&255; - $37 = $34; + $32 = HEAP32[$6>>2]|0; + $33 = HEAP32[$7>>2]|0; + $34 = ($32>>>0)<($33>>>0); + if ($34) { + $35 = ((($32)) + 1|0); + HEAP32[$6>>2] = $35; + $36 = HEAP8[$32>>0]|0; + $37 = $36&255; + $40 = $37; } else { - $35 = (___shgetc($f)|0); - $37 = $35; + $38 = (___shgetc($0)|0); + $40 = $38; } - $36 = $37 | 32; - $38 = ($36|0)==(120); - if (!($38)) { - if ($25) { - $$123 = 8;$c$124 = $37; + $39 = $40 | 32; + $41 = ($39|0)==(120); + if (!($41)) { + if ($28) { + $$1160169 = $40;$$1165168 = 8; label = 46; break; } else { - $$1 = $base;$c$1 = $37; + $$1160 = $40;$$1165 = $1; label = 32; break; } } - $39 = HEAP32[$3>>2]|0; - $40 = HEAP32[$4>>2]|0; - $41 = ($39>>>0)<($40>>>0); - if ($41) { - $42 = ((($39)) + 1|0); - HEAP32[$3>>2] = $42; - $43 = HEAP8[$39>>0]|0; - $44 = $43&255; - $46 = $44; + $42 = HEAP32[$6>>2]|0; + $43 = HEAP32[$7>>2]|0; + $44 = ($42>>>0)<($43>>>0); + if ($44) { + $45 = ((($42)) + 1|0); + HEAP32[$6>>2] = $45; + $46 = HEAP8[$42>>0]|0; + $47 = $46&255; + $50 = $47; } else { - $45 = (___shgetc($f)|0); - $46 = $45; + $48 = (___shgetc($0)|0); + $50 = $48; } - $$sum20 = (($46) + 1)|0; - $47 = (28029 + ($$sum20)|0); - $48 = HEAP8[$47>>0]|0; - $49 = ($48&255)>(15); - if ($49) { - $50 = HEAP32[$4>>2]|0; - $51 = ($50|0)==(0|0); - if (!($51)) { - $52 = HEAP32[$3>>2]|0; - $53 = ((($52)) + -1|0); - HEAP32[$3>>2] = $53; - } - $54 = ($pok|0)==(0); + $49 = ((21201) + ($50)|0); + $51 = HEAP8[$49>>0]|0; + $52 = ($51&255)>(15); + if ($52) { + $53 = HEAP32[$7>>2]|0; + $54 = ($53|0)!=(0|0); if ($54) { - ___shlim($f,0); - $286 = 0;$287 = 0; + $55 = HEAP32[$6>>2]|0; + $56 = ((($55)) + -1|0); + HEAP32[$6>>2] = $56; + } + $57 = ($2|0)==(0); + if ($57) { + ___shlim($0,0); + $289 = 0;$290 = 0; break L1; } - if ($51) { - $286 = 0;$287 = 0; + if (!($54)) { + $289 = 0;$290 = 0; break L1; } - $55 = HEAP32[$3>>2]|0; - $56 = ((($55)) + -1|0); - HEAP32[$3>>2] = $56; - $286 = 0;$287 = 0; + $58 = HEAP32[$6>>2]|0; + $59 = ((($58)) + -1|0); + HEAP32[$6>>2] = $59; + $289 = 0;$290 = 0; break L1; } else { - $$123 = 16;$c$124 = $46; + $$1160169 = $50;$$1165168 = 16; label = 46; } } else { - $$base21 = $25 ? 10 : $base; - $$sum = (($c$0) + 1)|0; - $57 = (28029 + ($$sum)|0); - $58 = HEAP8[$57>>0]|0; - $59 = $58&255; - $60 = ($59>>>0)<($$base21>>>0); - if ($60) { - $$1 = $$base21;$c$1 = $c$0; + $$166 = $28 ? 10 : $1; + $60 = ((21201) + ($$0159)|0); + $61 = HEAP8[$60>>0]|0; + $62 = $61&255; + $63 = ($62>>>0)<($$166>>>0); + if ($63) { + $$1160 = $$0159;$$1165 = $$166; label = 32; } else { - $61 = HEAP32[$4>>2]|0; - $62 = ($61|0)==(0|0); - if (!($62)) { - $63 = HEAP32[$3>>2]|0; - $64 = ((($63)) + -1|0); - HEAP32[$3>>2] = $64; + $64 = HEAP32[$7>>2]|0; + $65 = ($64|0)==(0|0); + if (!($65)) { + $66 = HEAP32[$6>>2]|0; + $67 = ((($66)) + -1|0); + HEAP32[$6>>2] = $67; } - ___shlim($f,0); - $65 = (___errno_location()|0); - HEAP32[$65>>2] = 22; - $286 = 0;$287 = 0; + ___shlim($0,0); + $68 = (___errno_location()|0); + HEAP32[$68>>2] = 22; + $289 = 0;$290 = 0; break L1; } } } while(0); - if ((label|0) == 32) { - $66 = ($$1|0)==(10); - if ($66) { - $67 = (($c$1) + -48)|0; - $68 = ($67>>>0)<(10); - if ($68) { - $71 = $67;$x$082 = 0; - while(1) { - $69 = ($x$082*10)|0; - $70 = (($69) + ($71))|0; - $72 = HEAP32[$3>>2]|0; - $73 = HEAP32[$4>>2]|0; - $74 = ($72>>>0)<($73>>>0); - if ($74) { - $75 = ((($72)) + 1|0); - HEAP32[$3>>2] = $75; - $76 = HEAP8[$72>>0]|0; - $77 = $76&255; - $c$2$be = $77; - } else { - $78 = (___shgetc($f)|0); - $c$2$be = $78; - } - $79 = (($c$2$be) + -48)|0; - $80 = ($79>>>0)<(10); - $81 = ($70>>>0)<(429496729); - $82 = $80 & $81; - if ($82) { - $71 = $79;$x$082 = $70; - } else { - $$lcssa134 = $70;$c$2$be$lcssa = $c$2$be; - break; - } - } - $288 = $$lcssa134;$289 = 0;$c$2$lcssa = $c$2$be$lcssa; - } else { - $288 = 0;$289 = 0;$c$2$lcssa = $c$1; - } - $83 = (($c$2$lcssa) + -48)|0; - $84 = ($83>>>0)<(10); - if ($84) { - $85 = $288;$86 = $289;$89 = $83;$c$371 = $c$2$lcssa; - while(1) { - $87 = (___muldi3(($85|0),($86|0),10,0)|0); - $88 = tempRet0; - $90 = ($89|0)<(0); - $91 = $90 << 31 >> 31; - $92 = $89 ^ -1; - $93 = $91 ^ -1; - $94 = ($88>>>0)>($93>>>0); - $95 = ($87>>>0)>($92>>>0); - $96 = ($88|0)==($93|0); - $97 = $96 & $95; - $98 = $94 | $97; - if ($98) { - $$lcssa = $89;$290 = $85;$291 = $86;$c$3$lcssa = $c$371; - break; - } - $99 = (_i64Add(($87|0),($88|0),($89|0),($91|0))|0); - $100 = tempRet0; - $101 = HEAP32[$3>>2]|0; - $102 = HEAP32[$4>>2]|0; - $103 = ($101>>>0)<($102>>>0); - if ($103) { - $104 = ((($101)) + 1|0); - HEAP32[$3>>2] = $104; - $105 = HEAP8[$101>>0]|0; - $106 = $105&255; - $c$3$be = $106; - } else { - $107 = (___shgetc($f)|0); - $c$3$be = $107; - } - $108 = (($c$3$be) + -48)|0; - $109 = ($108>>>0)<(10); - $110 = ($100>>>0)<(429496729); - $111 = ($99>>>0)<(2576980378); - $112 = ($100|0)==(429496729); - $113 = $112 & $111; - $114 = $110 | $113; - $or$cond7 = $109 & $114; - if ($or$cond7) { - $85 = $99;$86 = $100;$89 = $108;$c$371 = $c$3$be; - } else { - $$lcssa = $108;$290 = $99;$291 = $100;$c$3$lcssa = $c$3$be; - break; - } - } - $115 = ($$lcssa>>>0)>(9); - if ($115) { - $259 = $291;$261 = $290;$neg$1 = $neg$0; - } else { - $$122 = 10;$292 = $290;$293 = $291;$c$8 = $c$3$lcssa; - label = 72; - } - } else { - $259 = $289;$261 = $288;$neg$1 = $neg$0; - } - } else { - $$123 = $$1;$c$124 = $c$1; - label = 46; - } - } - L63: do { - if ((label|0) == 46) { - $116 = (($$123) + -1)|0; - $117 = $116 & $$123; - $118 = ($117|0)==(0); - if ($118) { - $123 = ($$123*23)|0; - $124 = $123 >>> 5; - $125 = $124 & 7; - $126 = (28286 + ($125)|0); - $127 = HEAP8[$126>>0]|0; - $128 = $127 << 24 >> 24; - $$sum1445 = (($c$124) + 1)|0; - $129 = (28029 + ($$sum1445)|0); - $130 = HEAP8[$129>>0]|0; - $131 = $130&255; - $132 = ($131>>>0)<($$123>>>0); - if ($132) { - $135 = $131;$x$146 = 0; + L43: do { + if ((label|0) == 32) { + $69 = ($$1165|0)==(10); + if ($69) { + $70 = (($$1160) + -48)|0; + $71 = ($70>>>0)<(10); + if ($71) { + $$0154222 = 0;$74 = $70; while(1) { - $133 = $x$146 << $128; - $134 = $135 | $133; - $136 = HEAP32[$3>>2]|0; - $137 = HEAP32[$4>>2]|0; - $138 = ($136>>>0)<($137>>>0); - if ($138) { - $139 = ((($136)) + 1|0); - HEAP32[$3>>2] = $139; - $140 = HEAP8[$136>>0]|0; - $141 = $140&255; - $c$4$be = $141; + $72 = ($$0154222*10)|0; + $73 = (($72) + ($74))|0; + $75 = HEAP32[$6>>2]|0; + $76 = HEAP32[$7>>2]|0; + $77 = ($75>>>0)<($76>>>0); + if ($77) { + $78 = ((($75)) + 1|0); + HEAP32[$6>>2] = $78; + $79 = HEAP8[$75>>0]|0; + $80 = $79&255; + $$2161$be = $80; } else { - $142 = (___shgetc($f)|0); - $c$4$be = $142; + $81 = (___shgetc($0)|0); + $$2161$be = $81; } - $$sum14 = (($c$4$be) + 1)|0; - $143 = (28029 + ($$sum14)|0); - $144 = HEAP8[$143>>0]|0; - $145 = $144&255; - $146 = ($145>>>0)<($$123>>>0); - $147 = ($134>>>0)<(134217728); - $148 = $147 & $146; - if ($148) { - $135 = $145;$x$146 = $134; + $82 = (($$2161$be) + -48)|0; + $83 = ($82>>>0)<(10); + $84 = ($73>>>0)<(429496729); + $85 = $83 & $84; + if ($85) { + $$0154222 = $73;$74 = $82; } else { - $$lcssa130 = $134;$$lcssa131 = $144;$c$4$be$lcssa = $c$4$be; break; } } - $152 = $$lcssa131;$154 = 0;$156 = $$lcssa130;$c$4$lcssa = $c$4$be$lcssa; + $$2161$lcssa = $$2161$be;$291 = $73;$292 = 0; } else { - $152 = $130;$154 = 0;$156 = 0;$c$4$lcssa = $c$124; + $$2161$lcssa = $$1160;$291 = 0;$292 = 0; } - $149 = (_bitshift64Lshr(-1,-1,($128|0))|0); - $150 = tempRet0; - $151 = $152&255; - $153 = ($151>>>0)>=($$123>>>0); - $155 = ($154>>>0)>($150>>>0); - $157 = ($156>>>0)>($149>>>0); - $158 = ($154|0)==($150|0); - $159 = $158 & $157; - $160 = $155 | $159; - $or$cond40 = $153 | $160; - if ($or$cond40) { - $$122 = $$123;$292 = $156;$293 = $154;$c$8 = $c$4$lcssa; + $86 = (($$2161$lcssa) + -48)|0; + $87 = ($86>>>0)<(10); + if ($87) { + $$3162215 = $$2161$lcssa;$88 = $291;$89 = $292;$93 = $86; + while(1) { + $90 = (___muldi3(($88|0),($89|0),10,0)|0); + $91 = tempRet0; + $92 = ($93|0)<(0); + $94 = $92 << 31 >> 31; + $95 = $93 ^ -1; + $96 = $94 ^ -1; + $97 = ($91>>>0)>($96>>>0); + $98 = ($90>>>0)>($95>>>0); + $99 = ($91|0)==($96|0); + $100 = $99 & $98; + $101 = $97 | $100; + if ($101) { + $$1165167 = 10;$$8 = $$3162215;$293 = $88;$294 = $89; + label = 72; + break L43; + } + $102 = (_i64Add(($90|0),($91|0),($93|0),($94|0))|0); + $103 = tempRet0; + $104 = HEAP32[$6>>2]|0; + $105 = HEAP32[$7>>2]|0; + $106 = ($104>>>0)<($105>>>0); + if ($106) { + $107 = ((($104)) + 1|0); + HEAP32[$6>>2] = $107; + $108 = HEAP8[$104>>0]|0; + $109 = $108&255; + $$3162$be = $109; + } else { + $110 = (___shgetc($0)|0); + $$3162$be = $110; + } + $111 = (($$3162$be) + -48)|0; + $112 = ($111>>>0)<(10); + $113 = ($103>>>0)<(429496729); + $114 = ($102>>>0)<(2576980378); + $115 = ($103|0)==(429496729); + $116 = $115 & $114; + $117 = $113 | $116; + $or$cond7 = $112 & $117; + if ($or$cond7) { + $$3162215 = $$3162$be;$88 = $102;$89 = $103;$93 = $111; + } else { + break; + } + } + $118 = ($111>>>0)>(9); + if ($118) { + $$1158 = $$0157;$263 = $103;$265 = $102; + } else { + $$1165167 = 10;$$8 = $$3162$be;$293 = $102;$294 = $103; + label = 72; + } + } else { + $$1158 = $$0157;$263 = $292;$265 = $291; + } + } else { + $$1160169 = $$1160;$$1165168 = $$1165; + label = 46; + } + } + } while(0); + L63: do { + if ((label|0) == 46) { + $119 = (($$1165168) + -1)|0; + $120 = $119 & $$1165168; + $121 = ($120|0)==(0); + if ($121) { + $126 = ($$1165168*23)|0; + $127 = $126 >>> 5; + $128 = $127 & 7; + $129 = (21457 + ($128)|0); + $130 = HEAP8[$129>>0]|0; + $131 = $130 << 24 >> 24; + $132 = ((21201) + ($$1160169)|0); + $133 = HEAP8[$132>>0]|0; + $134 = $133&255; + $135 = ($134>>>0)<($$1165168>>>0); + if ($135) { + $$1155192 = 0;$138 = $134; + while(1) { + $136 = $$1155192 << $131; + $137 = $138 | $136; + $139 = HEAP32[$6>>2]|0; + $140 = HEAP32[$7>>2]|0; + $141 = ($139>>>0)<($140>>>0); + if ($141) { + $142 = ((($139)) + 1|0); + HEAP32[$6>>2] = $142; + $143 = HEAP8[$139>>0]|0; + $144 = $143&255; + $$4163$be = $144; + } else { + $145 = (___shgetc($0)|0); + $$4163$be = $145; + } + $146 = ((21201) + ($$4163$be)|0); + $147 = HEAP8[$146>>0]|0; + $148 = $147&255; + $149 = ($148>>>0)<($$1165168>>>0); + $150 = ($137>>>0)<(134217728); + $151 = $150 & $149; + if ($151) { + $$1155192 = $137;$138 = $148; + } else { + break; + } + } + $$4163$lcssa = $$4163$be;$155 = $147;$158 = 0;$160 = $137; + } else { + $$4163$lcssa = $$1160169;$155 = $133;$158 = 0;$160 = 0; + } + $152 = (_bitshift64Lshr(-1,-1,($131|0))|0); + $153 = tempRet0; + $154 = $155&255; + $156 = ($154>>>0)>=($$1165168>>>0); + $157 = ($158>>>0)>($153>>>0); + $159 = ($160>>>0)>($152>>>0); + $161 = ($158|0)==($153|0); + $162 = $161 & $159; + $163 = $157 | $162; + $or$cond187 = $156 | $163; + if ($or$cond187) { + $$1165167 = $$1165168;$$8 = $$4163$lcssa;$293 = $160;$294 = $158; label = 72; break; } else { - $161 = $156;$162 = $154;$166 = $152; + $164 = $160;$165 = $158;$169 = $155; } while(1) { - $163 = (_bitshift64Shl(($161|0),($162|0),($128|0))|0); - $164 = tempRet0; - $165 = $166&255; - $167 = $165 | $163; - $168 = HEAP32[$3>>2]|0; - $169 = HEAP32[$4>>2]|0; - $170 = ($168>>>0)<($169>>>0); - if ($170) { - $171 = ((($168)) + 1|0); - HEAP32[$3>>2] = $171; - $172 = HEAP8[$168>>0]|0; - $173 = $172&255; - $c$5$be = $173; + $166 = (_bitshift64Shl(($164|0),($165|0),($131|0))|0); + $167 = tempRet0; + $168 = $169&255; + $170 = $168 | $166; + $171 = HEAP32[$6>>2]|0; + $172 = HEAP32[$7>>2]|0; + $173 = ($171>>>0)<($172>>>0); + if ($173) { + $174 = ((($171)) + 1|0); + HEAP32[$6>>2] = $174; + $175 = HEAP8[$171>>0]|0; + $176 = $175&255; + $$5$be = $176; } else { - $174 = (___shgetc($f)|0); - $c$5$be = $174; + $177 = (___shgetc($0)|0); + $$5$be = $177; } - $$sum15 = (($c$5$be) + 1)|0; - $175 = (28029 + ($$sum15)|0); - $176 = HEAP8[$175>>0]|0; - $177 = $176&255; - $178 = ($177>>>0)>=($$123>>>0); - $179 = ($164>>>0)>($150>>>0); - $180 = ($167>>>0)>($149>>>0); - $181 = ($164|0)==($150|0); - $182 = $181 & $180; - $183 = $179 | $182; - $or$cond = $178 | $183; + $178 = ((21201) + ($$5$be)|0); + $179 = HEAP8[$178>>0]|0; + $180 = $179&255; + $181 = ($180>>>0)>=($$1165168>>>0); + $182 = ($167>>>0)>($153>>>0); + $183 = ($170>>>0)>($152>>>0); + $184 = ($167|0)==($153|0); + $185 = $184 & $183; + $186 = $182 | $185; + $or$cond = $181 | $186; if ($or$cond) { - $$122 = $$123;$292 = $167;$293 = $164;$c$8 = $c$5$be; + $$1165167 = $$1165168;$$8 = $$5$be;$293 = $170;$294 = $167; label = 72; break L63; } else { - $161 = $167;$162 = $164;$166 = $176; + $164 = $170;$165 = $167;$169 = $179; } } } - $$sum1865 = (($c$124) + 1)|0; - $119 = (28029 + ($$sum1865)|0); - $120 = HEAP8[$119>>0]|0; - $121 = $120&255; - $122 = ($121>>>0)<($$123>>>0); - if ($122) { - $186 = $121;$x$266 = 0; + $122 = ((21201) + ($$1160169)|0); + $123 = HEAP8[$122>>0]|0; + $124 = $123&255; + $125 = ($124>>>0)<($$1165168>>>0); + if ($125) { + $$2156210 = 0;$189 = $124; while(1) { - $184 = Math_imul($x$266, $$123)|0; - $185 = (($186) + ($184))|0; - $187 = HEAP32[$3>>2]|0; - $188 = HEAP32[$4>>2]|0; - $189 = ($187>>>0)<($188>>>0); - if ($189) { - $190 = ((($187)) + 1|0); - HEAP32[$3>>2] = $190; - $191 = HEAP8[$187>>0]|0; - $192 = $191&255; - $c$6$be = $192; + $187 = Math_imul($$2156210, $$1165168)|0; + $188 = (($189) + ($187))|0; + $190 = HEAP32[$6>>2]|0; + $191 = HEAP32[$7>>2]|0; + $192 = ($190>>>0)<($191>>>0); + if ($192) { + $193 = ((($190)) + 1|0); + HEAP32[$6>>2] = $193; + $194 = HEAP8[$190>>0]|0; + $195 = $194&255; + $$6$be = $195; } else { - $193 = (___shgetc($f)|0); - $c$6$be = $193; + $196 = (___shgetc($0)|0); + $$6$be = $196; } - $$sum18 = (($c$6$be) + 1)|0; - $194 = (28029 + ($$sum18)|0); - $195 = HEAP8[$194>>0]|0; - $196 = $195&255; - $197 = ($196>>>0)<($$123>>>0); - $198 = ($185>>>0)<(119304647); - $199 = $198 & $197; - if ($199) { - $186 = $196;$x$266 = $185; + $197 = ((21201) + ($$6$be)|0); + $198 = HEAP8[$197>>0]|0; + $199 = $198&255; + $200 = ($199>>>0)<($$1165168>>>0); + $201 = ($188>>>0)<(119304647); + $202 = $201 & $200; + if ($202) { + $$2156210 = $188;$189 = $199; } else { - $$lcssa132 = $185;$$lcssa133 = $195;$c$6$be$lcssa = $c$6$be; break; } } - $201 = $$lcssa133;$294 = $$lcssa132;$295 = 0;$c$6$lcssa = $c$6$be$lcssa; + $$6$lcssa = $$6$be;$204 = $198;$295 = $188;$296 = 0; } else { - $201 = $120;$294 = 0;$295 = 0;$c$6$lcssa = $c$124; + $$6$lcssa = $$1160169;$204 = $123;$295 = 0;$296 = 0; } - $200 = $201&255; - $202 = ($200>>>0)<($$123>>>0); - if ($202) { - $203 = (___udivdi3(-1,-1,($$123|0),0)|0); - $204 = tempRet0; - $205 = $295;$207 = $294;$215 = $201;$c$753 = $c$6$lcssa; + $203 = $204&255; + $205 = ($203>>>0)<($$1165168>>>0); + if ($205) { + $206 = (___udivdi3(-1,-1,($$1165168|0),0)|0); + $207 = tempRet0; + $$7198 = $$6$lcssa;$209 = $296;$211 = $295;$218 = $204; while(1) { - $206 = ($205>>>0)>($204>>>0); - $208 = ($207>>>0)>($203>>>0); - $209 = ($205|0)==($204|0); - $210 = $209 & $208; - $211 = $206 | $210; - if ($211) { - $$122 = $$123;$292 = $207;$293 = $205;$c$8 = $c$753; + $208 = ($209>>>0)>($207>>>0); + $210 = ($211>>>0)>($206>>>0); + $212 = ($209|0)==($207|0); + $213 = $212 & $210; + $214 = $208 | $213; + if ($214) { + $$1165167 = $$1165168;$$8 = $$7198;$293 = $211;$294 = $209; label = 72; break L63; } - $212 = (___muldi3(($207|0),($205|0),($$123|0),0)|0); - $213 = tempRet0; - $214 = $215&255; - $216 = $214 ^ -1; - $217 = ($213>>>0)>(4294967295); - $218 = ($212>>>0)>($216>>>0); - $219 = ($213|0)==(-1); - $220 = $219 & $218; - $221 = $217 | $220; - if ($221) { - $$122 = $$123;$292 = $207;$293 = $205;$c$8 = $c$753; + $215 = (___muldi3(($211|0),($209|0),($$1165168|0),0)|0); + $216 = tempRet0; + $217 = $218&255; + $219 = $217 ^ -1; + $220 = ($216>>>0)>(4294967295); + $221 = ($215>>>0)>($219>>>0); + $222 = ($216|0)==(-1); + $223 = $222 & $221; + $224 = $220 | $223; + if ($224) { + $$1165167 = $$1165168;$$8 = $$7198;$293 = $211;$294 = $209; label = 72; break L63; } - $222 = (_i64Add(($214|0),0,($212|0),($213|0))|0); - $223 = tempRet0; - $224 = HEAP32[$3>>2]|0; - $225 = HEAP32[$4>>2]|0; - $226 = ($224>>>0)<($225>>>0); - if ($226) { - $227 = ((($224)) + 1|0); - HEAP32[$3>>2] = $227; - $228 = HEAP8[$224>>0]|0; - $229 = $228&255; - $c$7$be = $229; + $225 = (_i64Add(($217|0),0,($215|0),($216|0))|0); + $226 = tempRet0; + $227 = HEAP32[$6>>2]|0; + $228 = HEAP32[$7>>2]|0; + $229 = ($227>>>0)<($228>>>0); + if ($229) { + $230 = ((($227)) + 1|0); + HEAP32[$6>>2] = $230; + $231 = HEAP8[$227>>0]|0; + $232 = $231&255; + $$7$be = $232; } else { - $230 = (___shgetc($f)|0); - $c$7$be = $230; + $233 = (___shgetc($0)|0); + $$7$be = $233; } - $$sum19 = (($c$7$be) + 1)|0; - $231 = (28029 + ($$sum19)|0); - $232 = HEAP8[$231>>0]|0; - $233 = $232&255; - $234 = ($233>>>0)<($$123>>>0); - if ($234) { - $205 = $223;$207 = $222;$215 = $232;$c$753 = $c$7$be; + $234 = ((21201) + ($$7$be)|0); + $235 = HEAP8[$234>>0]|0; + $236 = $235&255; + $237 = ($236>>>0)<($$1165168>>>0); + if ($237) { + $$7198 = $$7$be;$209 = $226;$211 = $225;$218 = $235; } else { - $$122 = $$123;$292 = $222;$293 = $223;$c$8 = $c$7$be; + $$1165167 = $$1165168;$$8 = $$7$be;$293 = $225;$294 = $226; label = 72; break; } } } else { - $$122 = $$123;$292 = $294;$293 = $295;$c$8 = $c$6$lcssa; + $$1165167 = $$1165168;$$8 = $$6$lcssa;$293 = $295;$294 = $296; label = 72; } } } while(0); if ((label|0) == 72) { - $$sum16 = (($c$8) + 1)|0; - $235 = (28029 + ($$sum16)|0); - $236 = HEAP8[$235>>0]|0; - $237 = $236&255; - $238 = ($237>>>0)<($$122>>>0); - if ($238) { + $238 = ((21201) + ($$8)|0); + $239 = HEAP8[$238>>0]|0; + $240 = $239&255; + $241 = ($240>>>0)<($$1165167>>>0); + if ($241) { while(1) { - $239 = HEAP32[$3>>2]|0; - $240 = HEAP32[$4>>2]|0; - $241 = ($239>>>0)<($240>>>0); - if ($241) { - $242 = ((($239)) + 1|0); - HEAP32[$3>>2] = $242; - $243 = HEAP8[$239>>0]|0; - $244 = $243&255; - $c$9$be = $244; + $242 = HEAP32[$6>>2]|0; + $243 = HEAP32[$7>>2]|0; + $244 = ($242>>>0)<($243>>>0); + if ($244) { + $245 = ((($242)) + 1|0); + HEAP32[$6>>2] = $245; + $246 = HEAP8[$242>>0]|0; + $247 = $246&255; + $$9$be = $247; } else { - $245 = (___shgetc($f)|0); - $c$9$be = $245; + $248 = (___shgetc($0)|0); + $$9$be = $248; } - $$sum17 = (($c$9$be) + 1)|0; - $246 = (28029 + ($$sum17)|0); - $247 = HEAP8[$246>>0]|0; - $248 = $247&255; - $249 = ($248>>>0)<($$122>>>0); - if (!($249)) { + $249 = ((21201) + ($$9$be)|0); + $250 = HEAP8[$249>>0]|0; + $251 = $250&255; + $252 = ($251>>>0)<($$1165167>>>0); + if (!($252)) { break; } } - $250 = (___errno_location()|0); - HEAP32[$250>>2] = 34; - $251 = $0 & 1; - $252 = ($251|0)==(0); - $253 = (0)==(0); - $254 = $252 & $253; - $neg$0$ = $254 ? $neg$0 : 0; - $259 = $1;$261 = $0;$neg$1 = $neg$0$; + $253 = (___errno_location()|0); + HEAP32[$253>>2] = 34; + $254 = $3 & 1; + $255 = ($254|0)==(0); + $256 = (0)==(0); + $257 = $255 & $256; + $$0157$ = $257 ? $$0157 : 0; + $$1158 = $$0157$;$263 = $4;$265 = $3; } else { - $259 = $293;$261 = $292;$neg$1 = $neg$0; + $$1158 = $$0157;$263 = $294;$265 = $293; } } - $255 = HEAP32[$4>>2]|0; - $256 = ($255|0)==(0|0); - if (!($256)) { - $257 = HEAP32[$3>>2]|0; - $258 = ((($257)) + -1|0); - HEAP32[$3>>2] = $258; + $258 = HEAP32[$7>>2]|0; + $259 = ($258|0)==(0|0); + if (!($259)) { + $260 = HEAP32[$6>>2]|0; + $261 = ((($260)) + -1|0); + HEAP32[$6>>2] = $261; } - $260 = ($259>>>0)<($1>>>0); - $262 = ($261>>>0)<($0>>>0); - $263 = ($259|0)==($1|0); - $264 = $263 & $262; - $265 = $260 | $264; - if (!($265)) { - $266 = $0 & 1; - $267 = ($266|0)!=(0); - $268 = (0)!=(0); - $269 = $267 | $268; - $270 = ($neg$1|0)!=(0); - $or$cond12 = $269 | $270; + $262 = ($263>>>0)<($4>>>0); + $264 = ($265>>>0)<($3>>>0); + $266 = ($263|0)==($4|0); + $267 = $266 & $264; + $268 = $262 | $267; + if (!($268)) { + $269 = $3 & 1; + $270 = ($269|0)!=(0); + $271 = (0)!=(0); + $272 = $270 | $271; + $273 = ($$1158|0)!=(0); + $or$cond12 = $272 | $273; if (!($or$cond12)) { - $271 = (___errno_location()|0); - HEAP32[$271>>2] = 34; - $272 = (_i64Add(($0|0),($1|0),-1,-1)|0); - $273 = tempRet0; - $286 = $273;$287 = $272; + $274 = (___errno_location()|0); + HEAP32[$274>>2] = 34; + $275 = (_i64Add(($3|0),($4|0),-1,-1)|0); + $276 = tempRet0; + $289 = $276;$290 = $275; break; } - $274 = ($259>>>0)>($1>>>0); - $275 = ($261>>>0)>($0>>>0); - $276 = ($259|0)==($1|0); - $277 = $276 & $275; - $278 = $274 | $277; - if ($278) { - $279 = (___errno_location()|0); - HEAP32[$279>>2] = 34; - $286 = $1;$287 = $0; + $277 = ($263>>>0)>($4>>>0); + $278 = ($265>>>0)>($3>>>0); + $279 = ($263|0)==($4|0); + $280 = $279 & $278; + $281 = $277 | $280; + if ($281) { + $282 = (___errno_location()|0); + HEAP32[$282>>2] = 34; + $289 = $4;$290 = $3; break; } } - $280 = ($neg$1|0)<(0); - $281 = $280 << 31 >> 31; - $282 = $261 ^ $neg$1; - $283 = $259 ^ $281; - $284 = (_i64Subtract(($282|0),($283|0),($neg$1|0),($281|0))|0); - $285 = tempRet0; - $286 = $285;$287 = $284; + $283 = ($$1158|0)<(0); + $284 = $283 << 31 >> 31; + $285 = $265 ^ $$1158; + $286 = $263 ^ $284; + $287 = (_i64Subtract(($285|0),($286|0),($$1158|0),($284|0))|0); + $288 = tempRet0; + $289 = $288;$290 = $287; } } while(0); - tempRet0 = ($286); - return ($287|0); + tempRet0 = ($289); + return ($290|0); } -function ___shlim($f,$lim) { - $f = $f|0; - $lim = $lim|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; +function ___shgetc($0) { + $0 = $0|0; + var $$0 = 0, $$phi$trans$insert = 0, $$phi$trans$insert28$phi$trans$insert = 0, $$pre = 0, $$pre$phi34Z2D = 0, $$pre29$pre = 0, $$pre35 = 0, $$sink = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0; + var $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0; + var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = ((($f)) + 104|0); - HEAP32[$0>>2] = $lim; - $1 = ((($f)) + 8|0); + $1 = ((($0)) + 104|0); $2 = HEAP32[$1>>2]|0; - $3 = ((($f)) + 4|0); - $4 = HEAP32[$3>>2]|0; - $5 = $2; - $6 = $4; - $7 = (($5) - ($6))|0; - $8 = ((($f)) + 108|0); - HEAP32[$8>>2] = $7; - $9 = ($lim|0)!=(0); - $10 = ($7|0)>($lim|0); - $or$cond = $9 & $10; - if ($or$cond) { - $11 = (($4) + ($lim)|0); - $12 = ((($f)) + 100|0); - HEAP32[$12>>2] = $11; - } else { - $13 = ((($f)) + 100|0); - HEAP32[$13>>2] = $5; - } - return; -} -function ___shgetc($f) { - $f = $f|0; - var $$0 = 0, $$phi$trans$insert = 0, $$phi$trans$insert3 = 0, $$pre = 0, $$pre4 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0; - var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0; - var $40 = 0, $41 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($f)) + 104|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)==(0); - if ($2) { + $3 = ($2|0)==(0); + if ($3) { label = 3; } else { - $3 = ((($f)) + 108|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)<($1|0); - if ($5) { + $4 = ((($0)) + 108|0); + $5 = HEAP32[$4>>2]|0; + $6 = ($5|0)<($2|0); + if ($6) { label = 3; } else { label = 4; } } if ((label|0) == 3) { - $6 = (___uflow($f)|0); - $7 = ($6|0)<(0); - if ($7) { + $7 = (___uflow($0)|0); + $8 = ($7|0)<(0); + if ($8) { label = 4; } else { - $9 = HEAP32[$0>>2]|0; - $10 = ($9|0)==(0); - $$phi$trans$insert = ((($f)) + 8|0); - if ($10) { + $10 = HEAP32[$1>>2]|0; + $11 = ($10|0)==(0); + $$phi$trans$insert = ((($0)) + 8|0); + if ($11) { $$pre = HEAP32[$$phi$trans$insert>>2]|0; - $11 = $$pre; - $26 = $$pre;$41 = $11; - label = 9; + $$phi$trans$insert28$phi$trans$insert = ((($0)) + 4|0); + $$pre29$pre = HEAP32[$$phi$trans$insert28$phi$trans$insert>>2]|0; + $$pre35 = ((($0)) + 108|0); + $$pre$phi34Z2D = $$pre35;$$sink = $$pre;$26 = $$pre;$29 = $$pre29$pre; } else { $12 = HEAP32[$$phi$trans$insert>>2]|0; - $13 = ((($f)) + 4|0); + $13 = ((($0)) + 4|0); $14 = HEAP32[$13>>2]|0; - $15 = $12; - $16 = $14; - $17 = (($15) - ($16))|0; - $18 = ((($f)) + 108|0); - $19 = HEAP32[$18>>2]|0; - $20 = (($9) - ($19))|0; - $21 = (($20) + -1)|0; - $22 = ($17|0)>($21|0); - if ($22) { - $23 = (($14) + ($21)|0); - $24 = ((($f)) + 100|0); - HEAP32[$24>>2] = $23; - $27 = $12; + $15 = $14; + $16 = (($12) - ($15))|0; + $17 = ((($0)) + 108|0); + $18 = HEAP32[$17>>2]|0; + $19 = (($10) - ($18))|0; + $20 = ($16|0)<($19|0); + $21 = $12; + if ($20) { + $$pre$phi34Z2D = $17;$$sink = $21;$26 = $21;$29 = $14; } else { - $26 = $15;$41 = $12; - label = 9; + $22 = (($19) + -1)|0; + $23 = (($14) + ($22)|0); + $$pre$phi34Z2D = $17;$$sink = $23;$26 = $21;$29 = $14; } } - if ((label|0) == 9) { - $25 = ((($f)) + 100|0); - HEAP32[$25>>2] = $26; - $27 = $41; + $24 = ((($0)) + 100|0); + HEAP32[$24>>2] = $$sink; + $25 = ($26|0)==(0|0); + if (!($25)) { + $27 = $26; + $28 = $29; + $30 = HEAP32[$$pre$phi34Z2D>>2]|0; + $31 = (($27) + 1)|0; + $32 = (($31) - ($28))|0; + $33 = (($32) + ($30))|0; + HEAP32[$$pre$phi34Z2D>>2] = $33; } - $28 = ($27|0)==(0|0); - $$phi$trans$insert3 = ((($f)) + 4|0); - $$pre4 = HEAP32[$$phi$trans$insert3>>2]|0; - if (!($28)) { - $29 = $27; - $30 = $$pre4; - $31 = ((($f)) + 108|0); - $32 = HEAP32[$31>>2]|0; - $33 = (($29) + 1)|0; - $34 = (($33) - ($30))|0; - $35 = (($34) + ($32))|0; - HEAP32[$31>>2] = $35; - } - $36 = ((($$pre4)) + -1|0); - $37 = HEAP8[$36>>0]|0; - $38 = $37&255; - $39 = ($38|0)==($6|0); - if ($39) { - $$0 = $6; + $34 = ((($29)) + -1|0); + $35 = HEAP8[$34>>0]|0; + $36 = $35&255; + $37 = ($36|0)==($7|0); + if ($37) { + $$0 = $7; } else { - $40 = $6&255; - HEAP8[$36>>0] = $40; - $$0 = $6; + $38 = $7&255; + HEAP8[$34>>0] = $38; + $$0 = $7; } } } if ((label|0) == 4) { - $8 = ((($f)) + 100|0); - HEAP32[$8>>2] = 0; + $9 = ((($0)) + 100|0); + HEAP32[$9>>2] = 0; $$0 = -1; } return ($$0|0); } -function ___syscall_ret($r) { - $r = $r|0; - var $$0 = 0, $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0; +function _isspace($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = ($r>>>0)>(4294963200); - if ($0) { - $1 = (0 - ($r))|0; - $2 = (___errno_location()|0); - HEAP32[$2>>2] = $1; - $$0 = -1; - } else { - $$0 = $r; - } - return ($$0|0); + $1 = ($0|0)==(32); + $2 = (($0) + -9)|0; + $3 = ($2>>>0)<(5); + $4 = $1 | $3; + $5 = $4&1; + return ($5|0); } -function _copysign($x,$y) { - $x = +$x; - $y = +$y; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0.0, label = 0, sp = 0; +function ___uflow($0) { + $0 = $0|0; + var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - HEAPF64[tempDoublePtr>>3] = $x;$0 = HEAP32[tempDoublePtr>>2]|0; - $1 = HEAP32[tempDoublePtr+4>>2]|0; - HEAPF64[tempDoublePtr>>3] = $y;$2 = HEAP32[tempDoublePtr>>2]|0; - $3 = HEAP32[tempDoublePtr+4>>2]|0; - $4 = $1 & 2147483647; - $5 = $3 & -2147483648; - $6 = $5 | $4; - HEAP32[tempDoublePtr>>2] = $0;HEAP32[tempDoublePtr+4>>2] = $6;$7 = +HEAPF64[tempDoublePtr>>3]; - return (+$7); -} -function _copysignl($x,$y) { - $x = +$x; - $y = +$y; - var $0 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (+_copysign($x,$y)); - return (+$0); -} -function _fmod($x,$y) { - $x = +$x; - $y = +$y; - var $$0 = 0.0, $$lcssa7 = 0, $$x = 0.0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0; - var $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0.0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0; - var $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0; - var $15 = 0, $150 = 0.0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0.0, $24 = 0.0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0.0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; - var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0; - var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0.0; - var $ex$0$lcssa = 0, $ex$026 = 0, $ex$1 = 0, $ex$2$lcssa = 0, $ex$212 = 0, $ex$3$lcssa = 0, $ex$39 = 0, $ey$0$lcssa = 0, $ey$020 = 0, $ey$1$ph = 0, $or$cond = 0, label = 0, sp = 0; - sp = STACKTOP; - HEAPF64[tempDoublePtr>>3] = $x;$0 = HEAP32[tempDoublePtr>>2]|0; - $1 = HEAP32[tempDoublePtr+4>>2]|0; - HEAPF64[tempDoublePtr>>3] = $y;$2 = HEAP32[tempDoublePtr>>2]|0; - $3 = HEAP32[tempDoublePtr+4>>2]|0; - $4 = (_bitshift64Lshr(($0|0),($1|0),52)|0); - $5 = tempRet0; - $6 = $4 & 2047; - $7 = (_bitshift64Lshr(($2|0),($3|0),52)|0); - $8 = tempRet0; - $9 = $7 & 2047; - $10 = $1 & -2147483648; - $11 = (_bitshift64Shl(($2|0),($3|0),1)|0); - $12 = tempRet0; - $13 = ($11|0)==(0); - $14 = ($12|0)==(0); - $15 = $13 & $14; - L1: do { - if ($15) { - label = 3; - } else { - $16 = $3 & 2147483647; - $17 = ($16>>>0)>(2146435072); - $18 = ($2>>>0)>(0); - $19 = ($16|0)==(2146435072); - $20 = $19 & $18; - $21 = $17 | $20; - $22 = ($6|0)==(2047); - $or$cond = $21 | $22; - if ($or$cond) { - label = 3; - } else { - $25 = (_bitshift64Shl(($0|0),($1|0),1)|0); - $26 = tempRet0; - $27 = ($26>>>0)>($12>>>0); - $28 = ($25>>>0)>($11>>>0); - $29 = ($26|0)==($12|0); - $30 = $29 & $28; - $31 = $27 | $30; - if (!($31)) { - $32 = ($25|0)==($11|0); - $33 = ($26|0)==($12|0); - $34 = $32 & $33; - $35 = $x * 0.0; - $$x = $34 ? $35 : $x; - return (+$$x); - } - $36 = ($6|0)==(0); - if ($36) { - $37 = (_bitshift64Shl(($0|0),($1|0),12)|0); - $38 = tempRet0; - $39 = ($38|0)>(-1); - $40 = ($37>>>0)>(4294967295); - $41 = ($38|0)==(-1); - $42 = $41 & $40; - $43 = $39 | $42; - if ($43) { - $45 = $37;$46 = $38;$ex$026 = 0; - while(1) { - $44 = (($ex$026) + -1)|0; - $47 = (_bitshift64Shl(($45|0),($46|0),1)|0); - $48 = tempRet0; - $49 = ($48|0)>(-1); - $50 = ($47>>>0)>(4294967295); - $51 = ($48|0)==(-1); - $52 = $51 & $50; - $53 = $49 | $52; - if ($53) { - $45 = $47;$46 = $48;$ex$026 = $44; - } else { - $ex$0$lcssa = $44; - break; - } - } - } else { - $ex$0$lcssa = 0; - } - $54 = (1 - ($ex$0$lcssa))|0; - $55 = (_bitshift64Shl(($0|0),($1|0),($54|0))|0); - $56 = tempRet0; - $83 = $55;$84 = $56;$ex$1 = $ex$0$lcssa; - } else { - $57 = $1 & 1048575; - $58 = $57 | 1048576; - $83 = $0;$84 = $58;$ex$1 = $6; - } - $59 = ($9|0)==(0); - if ($59) { - $60 = (_bitshift64Shl(($2|0),($3|0),12)|0); - $61 = tempRet0; - $62 = ($61|0)>(-1); - $63 = ($60>>>0)>(4294967295); - $64 = ($61|0)==(-1); - $65 = $64 & $63; - $66 = $62 | $65; - if ($66) { - $68 = $60;$69 = $61;$ey$020 = 0; - while(1) { - $67 = (($ey$020) + -1)|0; - $70 = (_bitshift64Shl(($68|0),($69|0),1)|0); - $71 = tempRet0; - $72 = ($71|0)>(-1); - $73 = ($70>>>0)>(4294967295); - $74 = ($71|0)==(-1); - $75 = $74 & $73; - $76 = $72 | $75; - if ($76) { - $68 = $70;$69 = $71;$ey$020 = $67; - } else { - $ey$0$lcssa = $67; - break; - } - } - } else { - $ey$0$lcssa = 0; - } - $77 = (1 - ($ey$0$lcssa))|0; - $78 = (_bitshift64Shl(($2|0),($3|0),($77|0))|0); - $79 = tempRet0; - $85 = $78;$86 = $79;$ey$1$ph = $ey$0$lcssa; - } else { - $80 = $3 & 1048575; - $81 = $80 | 1048576; - $85 = $2;$86 = $81;$ey$1$ph = $9; - } - $82 = ($ex$1|0)>($ey$1$ph|0); - $87 = (_i64Subtract(($83|0),($84|0),($85|0),($86|0))|0); - $88 = tempRet0; - $89 = ($88|0)>(-1); - $90 = ($87>>>0)>(4294967295); - $91 = ($88|0)==(-1); - $92 = $91 & $90; - $93 = $89 | $92; - L23: do { - if ($82) { - $152 = $93;$153 = $87;$154 = $88;$94 = $83;$96 = $84;$ex$212 = $ex$1; - while(1) { - if ($152) { - $95 = ($94|0)==($85|0); - $97 = ($96|0)==($86|0); - $98 = $95 & $97; - if ($98) { - break; - } else { - $100 = $153;$101 = $154; - } - } else { - $100 = $94;$101 = $96; - } - $102 = (_bitshift64Shl(($100|0),($101|0),1)|0); - $103 = tempRet0; - $104 = (($ex$212) + -1)|0; - $105 = ($104|0)>($ey$1$ph|0); - $106 = (_i64Subtract(($102|0),($103|0),($85|0),($86|0))|0); - $107 = tempRet0; - $108 = ($107|0)>(-1); - $109 = ($106>>>0)>(4294967295); - $110 = ($107|0)==(-1); - $111 = $110 & $109; - $112 = $108 | $111; - if ($105) { - $152 = $112;$153 = $106;$154 = $107;$94 = $102;$96 = $103;$ex$212 = $104; - } else { - $$lcssa7 = $112;$113 = $102;$115 = $103;$155 = $106;$156 = $107;$ex$2$lcssa = $104; - break L23; - } - } - $99 = $x * 0.0; - $$0 = $99; - break L1; - } else { - $$lcssa7 = $93;$113 = $83;$115 = $84;$155 = $87;$156 = $88;$ex$2$lcssa = $ex$1; - } - } while(0); - if ($$lcssa7) { - $114 = ($113|0)==($85|0); - $116 = ($115|0)==($86|0); - $117 = $114 & $116; - if ($117) { - $125 = $x * 0.0; - $$0 = $125; - break; - } else { - $118 = $156;$120 = $155; - } - } else { - $118 = $115;$120 = $113; - } - $119 = ($118>>>0)<(1048576); - $121 = ($120>>>0)<(0); - $122 = ($118|0)==(1048576); - $123 = $122 & $121; - $124 = $119 | $123; - if ($124) { - $126 = $120;$127 = $118;$ex$39 = $ex$2$lcssa; - while(1) { - $128 = (_bitshift64Shl(($126|0),($127|0),1)|0); - $129 = tempRet0; - $130 = (($ex$39) + -1)|0; - $131 = ($129>>>0)<(1048576); - $132 = ($128>>>0)<(0); - $133 = ($129|0)==(1048576); - $134 = $133 & $132; - $135 = $131 | $134; - if ($135) { - $126 = $128;$127 = $129;$ex$39 = $130; - } else { - $137 = $128;$138 = $129;$ex$3$lcssa = $130; - break; - } - } - } else { - $137 = $120;$138 = $118;$ex$3$lcssa = $ex$2$lcssa; - } - $136 = ($ex$3$lcssa|0)>(0); - if ($136) { - $139 = (_i64Add(($137|0),($138|0),0,-1048576)|0); - $140 = tempRet0; - $141 = (_bitshift64Shl(($ex$3$lcssa|0),0,52)|0); - $142 = tempRet0; - $143 = $139 | $141; - $144 = $140 | $142; - $149 = $144;$151 = $143; - } else { - $145 = (1 - ($ex$3$lcssa))|0; - $146 = (_bitshift64Lshr(($137|0),($138|0),($145|0))|0); - $147 = tempRet0; - $149 = $147;$151 = $146; - } - $148 = $149 | $10; - HEAP32[tempDoublePtr>>2] = $151;HEAP32[tempDoublePtr+4>>2] = $148;$150 = +HEAPF64[tempDoublePtr>>3]; - $$0 = $150; - } - } - } while(0); - if ((label|0) == 3) { - $23 = $x * $y; - $24 = $23 / $23; - $$0 = $24; - } - return (+$$0); -} -function _fmodl($x,$y) { - $x = +$x; - $y = +$y; - var $0 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (+_fmod($x,$y)); - return (+$0); -} -function _frexp($x,$e) { - $x = +$x; - $e = $e|0; - var $$0 = 0.0, $$01 = 0.0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0, $storemerge = 0, label = 0, sp = 0; - sp = STACKTOP; - HEAPF64[tempDoublePtr>>3] = $x;$0 = HEAP32[tempDoublePtr>>2]|0; - $1 = HEAP32[tempDoublePtr+4>>2]|0; - $2 = (_bitshift64Lshr(($0|0),($1|0),52)|0); - $3 = tempRet0; - $4 = $2 & 2047; - switch ($4|0) { - case 0: { - $5 = $x != 0.0; - if ($5) { - $6 = $x * 1.8446744073709552E+19; - $7 = (+_frexp($6,$e)); - $8 = HEAP32[$e>>2]|0; - $9 = (($8) + -64)|0; - $$01 = $7;$storemerge = $9; - } else { - $$01 = $x;$storemerge = 0; - } - HEAP32[$e>>2] = $storemerge; - $$0 = $$01; - break; - } - case 2047: { - $$0 = $x; - break; - } - default: { - $10 = (($4) + -1022)|0; - HEAP32[$e>>2] = $10; - $11 = $1 & -2146435073; - $12 = $11 | 1071644672; - HEAP32[tempDoublePtr>>2] = $0;HEAP32[tempDoublePtr+4>>2] = $12;$13 = +HEAPF64[tempDoublePtr>>3]; - $$0 = $13; - } - } - return (+$$0); -} -function _frexpl($x,$e) { - $x = +$x; - $e = $e|0; - var $0 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (+_frexp($x,$e)); - return (+$0); -} -function _ldexp($x,$n) { - $x = +$x; - $n = $n|0; - var $0 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (+_scalbn($x,$n)); - return (+$0); -} -function _roundf($x) { - $x = +$x; - var $$0 = 0.0, $$x = 0.0, $$y$0 = 0.0, $0 = 0, $1 = 0, $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0.0, $14 = 0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $2 = 0, $3 = 0, $4 = 0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0.0; - var $9 = 0.0, $y$0 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (HEAPF32[tempDoublePtr>>2]=$x,HEAP32[tempDoublePtr>>2]|0); - $1 = $0 >>> 23; - $2 = $1 & 255; - $3 = ($2>>>0)>(149); - do { - if ($3) { - $$0 = $x; - } else { - $4 = ($0|0)<(0); - $5 = -$x; - $$x = $4 ? $5 : $x; - $6 = ($2>>>0)<(126); - if ($6) { - $7 = $x * 0.0; - $$0 = $7; - break; - } - $8 = $$x + 8388608.0; - $9 = $8 + -8388608.0; - $10 = $9 - $$x; - $11 = $10 > 0.5; - if ($11) { - $12 = $$x + $10; - $13 = $12 + -1.0; - $y$0 = $13; - } else { - $14 = !($10 <= -0.5); - $15 = $$x + $10; - if ($14) { - $y$0 = $15; - } else { - $16 = $15 + 1.0; - $y$0 = $16; - } - } - $17 = -$y$0; - $$y$0 = $4 ? $17 : $y$0; - $$0 = $$y$0; - } - } while(0); - return (+$$0); -} -function _scalbn($x,$n) { - $x = +$x; - $n = $n|0; - var $$ = 0, $$0 = 0, $$1 = 0, $0 = 0, $1 = 0.0, $10 = 0, $11 = 0.0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0.0, $18 = 0.0, $2 = 0, $3 = 0, $4 = 0.0, $5 = 0, $6 = 0, $7 = 0; - var $8 = 0.0, $9 = 0, $y$0 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ($n|0)>(1023); - if ($0) { - $1 = $x * 8.9884656743115795E+307; - $2 = (($n) + -1023)|0; - $3 = ($2|0)>(1023); - if ($3) { - $4 = $1 * 8.9884656743115795E+307; - $5 = (($n) + -2046)|0; - $6 = ($5|0)>(1023); - $$ = $6 ? 1023 : $5; - $$0 = $$;$y$0 = $4; - } else { - $$0 = $2;$y$0 = $1; - } - } else { - $7 = ($n|0)<(-1022); + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $1 = sp; + $2 = (___toread($0)|0); + $3 = ($2|0)==(0); + if ($3) { + $4 = ((($0)) + 32|0); + $5 = HEAP32[$4>>2]|0; + $6 = (FUNCTION_TABLE_iiii[$5 & 15]($0,$1,1)|0); + $7 = ($6|0)==(1); if ($7) { - $8 = $x * 2.2250738585072014E-308; - $9 = (($n) + 1022)|0; - $10 = ($9|0)<(-1022); - if ($10) { - $11 = $8 * 2.2250738585072014E-308; - $12 = (($n) + 2044)|0; - $13 = ($12|0)<(-1022); - $$1 = $13 ? -1022 : $12; - $$0 = $$1;$y$0 = $11; - } else { - $$0 = $9;$y$0 = $8; - } + $8 = HEAP8[$1>>0]|0; + $9 = $8&255; + $$0 = $9; } else { - $$0 = $n;$y$0 = $x; + $$0 = -1; } - } - $14 = (($$0) + 1023)|0; - $15 = (_bitshift64Shl(($14|0),0,52)|0); - $16 = tempRet0; - HEAP32[tempDoublePtr>>2] = $15;HEAP32[tempDoublePtr+4>>2] = $16;$17 = +HEAPF64[tempDoublePtr>>3]; - $18 = $y$0 * $17; - return (+$18); -} -function _scalbnl($x,$n) { - $x = +$x; - $n = $n|0; - var $0 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (+_scalbn($x,$n)); - return (+$0); -} -function _mbrtowc($wc,$src,$n,$st) { - $wc = $wc|0; - $src = $src|0; - $n = $n|0; - $st = $st|0; - var $$0 = 0, $$024 = 0, $$1 = 0, $$lcssa = 0, $$lcssa35 = 0, $$st = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0; - var $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0; - var $4 = 0, $40 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $c$05 = 0, $c$1 = 0, $c$2 = 0, $dummy = 0, $dummy$wc = 0, $s$06 = 0, $s$1 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $dummy = sp; - $0 = ($st|0)==(0|0); - $$st = $0 ? 8924 : $st; - $1 = HEAP32[$$st>>2]|0; - $2 = ($src|0)==(0|0); - L1: do { - if ($2) { - $3 = ($1|0)==(0); - if ($3) { - $$0 = 0; - } else { - label = 15; - } - } else { - $4 = ($wc|0)==(0|0); - $dummy$wc = $4 ? $dummy : $wc; - $5 = ($n|0)==(0); - if ($5) { - $$0 = -2; - } else { - $6 = ($1|0)==(0); - if ($6) { - $7 = HEAP8[$src>>0]|0; - $8 = $7&255; - $9 = ($7<<24>>24)>(-1); - if ($9) { - HEAP32[$dummy$wc>>2] = $8; - $10 = ($7<<24>>24)!=(0); - $11 = $10&1; - $$0 = $11; - break; - } - $12 = (($8) + -194)|0; - $13 = ($12>>>0)>(50); - if ($13) { - label = 15; - break; - } - $14 = ((($src)) + 1|0); - $15 = (8676 + ($12<<2)|0); - $16 = HEAP32[$15>>2]|0; - $17 = (($n) + -1)|0; - $18 = ($17|0)==(0); - if ($18) { - $c$2 = $16; - } else { - $$024 = $17;$c$05 = $16;$s$06 = $14; - label = 9; - } - } else { - $$024 = $n;$c$05 = $1;$s$06 = $src; - label = 9; - } - L11: do { - if ((label|0) == 9) { - $19 = HEAP8[$s$06>>0]|0; - $20 = $19&255; - $21 = $20 >>> 3; - $22 = (($21) + -16)|0; - $23 = $c$05 >> 26; - $24 = (($21) + ($23))|0; - $25 = $22 | $24; - $26 = ($25>>>0)>(7); - if ($26) { - label = 15; - break L1; - } else { - $$1 = $$024;$30 = $19;$c$1 = $c$05;$s$1 = $s$06; - } - while(1) { - $27 = $c$1 << 6; - $28 = ((($s$1)) + 1|0); - $29 = $30&255; - $31 = (($29) + -128)|0; - $32 = $31 | $27; - $33 = (($$1) + -1)|0; - $34 = ($32|0)<(0); - if (!($34)) { - $$lcssa = $32;$$lcssa35 = $33; - break; - } - $36 = ($33|0)==(0); - if ($36) { - $c$2 = $32; - break L11; - } - $37 = HEAP8[$28>>0]|0; - $38 = $37 & -64; - $39 = ($38<<24>>24)==(-128); - if ($39) { - $$1 = $33;$30 = $37;$c$1 = $32;$s$1 = $28; - } else { - label = 15; - break L1; - } - } - HEAP32[$$st>>2] = 0; - HEAP32[$dummy$wc>>2] = $$lcssa; - $35 = (($n) - ($$lcssa35))|0; - $$0 = $35; - break L1; - } - } while(0); - HEAP32[$$st>>2] = $c$2; - $$0 = -2; - } - } - } while(0); - if ((label|0) == 15) { - HEAP32[$$st>>2] = 0; - $40 = (___errno_location()|0); - HEAP32[$40>>2] = 84; + } else { $$0 = -1; } STACKTOP = sp;return ($$0|0); } -function _mbsinit($st) { - $st = $st|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; +function ___toread($0) { + $0 = $0|0; + var $$0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $sext = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = ($st|0)==(0|0); - if ($0) { - $4 = 1; - } else { - $1 = HEAP32[$st>>2]|0; - $2 = ($1|0)==(0); - $4 = $2; + $1 = ((($0)) + 74|0); + $2 = HEAP8[$1>>0]|0; + $3 = $2 << 24 >> 24; + $4 = (($3) + 255)|0; + $5 = $4 | $3; + $6 = $5&255; + HEAP8[$1>>0] = $6; + $7 = ((($0)) + 20|0); + $8 = HEAP32[$7>>2]|0; + $9 = ((($0)) + 28|0); + $10 = HEAP32[$9>>2]|0; + $11 = ($8>>>0)>($10>>>0); + if ($11) { + $12 = ((($0)) + 36|0); + $13 = HEAP32[$12>>2]|0; + (FUNCTION_TABLE_iiii[$13 & 15]($0,0,0)|0); } - $3 = $4&1; + $14 = ((($0)) + 16|0); + HEAP32[$14>>2] = 0; + HEAP32[$9>>2] = 0; + HEAP32[$7>>2] = 0; + $15 = HEAP32[$0>>2]|0; + $16 = $15 & 4; + $17 = ($16|0)==(0); + if ($17) { + $19 = ((($0)) + 44|0); + $20 = HEAP32[$19>>2]|0; + $21 = ((($0)) + 48|0); + $22 = HEAP32[$21>>2]|0; + $23 = (($20) + ($22)|0); + $24 = ((($0)) + 8|0); + HEAP32[$24>>2] = $23; + $25 = ((($0)) + 4|0); + HEAP32[$25>>2] = $23; + $26 = $15 << 27; + $sext = $26 >> 31; + $$0 = $sext; + } else { + $18 = $15 | 32; + HEAP32[$0>>2] = $18; + $$0 = -1; + } + return ($$0|0); +} +function _copysign($0,$1) { + $0 = +$0; + $1 = +$1; + var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF64[tempDoublePtr>>3] = $0;$2 = HEAP32[tempDoublePtr>>2]|0; + $3 = HEAP32[tempDoublePtr+4>>2]|0; + HEAPF64[tempDoublePtr>>3] = $1;$4 = HEAP32[tempDoublePtr>>2]|0; + $5 = HEAP32[tempDoublePtr+4>>2]|0; + $6 = $3 & 2147483647; + $7 = $5 & -2147483648; + $8 = $7 | $6; + HEAP32[tempDoublePtr>>2] = $2;HEAP32[tempDoublePtr+4>>2] = $8;$9 = +HEAPF64[tempDoublePtr>>3]; + return (+$9); +} +function _strcmp($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$011 = 0, $$0710 = 0, $$lcssa = 0, $$lcssa8 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond9 = 0, label = 0; + var sp = 0; + sp = STACKTOP; + $2 = HEAP8[$0>>0]|0; + $3 = HEAP8[$1>>0]|0; + $4 = ($2<<24>>24)!=($3<<24>>24); + $5 = ($2<<24>>24)==(0); + $or$cond9 = $5 | $4; + if ($or$cond9) { + $$lcssa = $3;$$lcssa8 = $2; + } else { + $$011 = $1;$$0710 = $0; + while(1) { + $6 = ((($$0710)) + 1|0); + $7 = ((($$011)) + 1|0); + $8 = HEAP8[$6>>0]|0; + $9 = HEAP8[$7>>0]|0; + $10 = ($8<<24>>24)!=($9<<24>>24); + $11 = ($8<<24>>24)==(0); + $or$cond = $11 | $10; + if ($or$cond) { + $$lcssa = $9;$$lcssa8 = $8; + break; + } else { + $$011 = $7;$$0710 = $6; + } + } + } + $12 = $$lcssa8&255; + $13 = $$lcssa&255; + $14 = (($12) - ($13))|0; + return ($14|0); +} +function _memcmp($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$01318 = 0, $$01417 = 0, $$019 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ($2|0)==(0); + L1: do { + if ($3) { + $14 = 0; + } else { + $$01318 = $0;$$01417 = $2;$$019 = $1; + while(1) { + $4 = HEAP8[$$01318>>0]|0; + $5 = HEAP8[$$019>>0]|0; + $6 = ($4<<24>>24)==($5<<24>>24); + if (!($6)) { + break; + } + $7 = (($$01417) + -1)|0; + $8 = ((($$01318)) + 1|0); + $9 = ((($$019)) + 1|0); + $10 = ($7|0)==(0); + if ($10) { + $14 = 0; + break L1; + } else { + $$01318 = $8;$$01417 = $7;$$019 = $9; + } + } + $11 = $4&255; + $12 = $5&255; + $13 = (($11) - ($12))|0; + $14 = $13; + } + } while(0); + return ($14|0); +} +function _strncmp($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$01824 = 0, $$01926 = 0, $$01926$in = 0, $$020 = 0, $$025 = 0, $$lcssa = 0, $$lcssa22 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0; + var $23 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond21 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ($2|0)==(0); + if ($3) { + $$020 = 0; + } else { + $4 = HEAP8[$0>>0]|0; + $5 = $4&255; + $6 = ($4<<24>>24)==(0); + $7 = HEAP8[$1>>0]|0; + $8 = $7&255; + L3: do { + if ($6) { + $$lcssa = $8;$$lcssa22 = $5; + } else { + $$01824 = $0;$$01926$in = $2;$$025 = $1;$10 = $7;$13 = $4;$22 = $8;$23 = $5; + while(1) { + $$01926 = (($$01926$in) + -1)|0; + $9 = ($10<<24>>24)!=(0); + $11 = ($$01926|0)!=(0); + $or$cond = $11 & $9; + $12 = ($13<<24>>24)==($10<<24>>24); + $or$cond21 = $12 & $or$cond; + if (!($or$cond21)) { + $$lcssa = $22;$$lcssa22 = $23; + break L3; + } + $14 = ((($$01824)) + 1|0); + $15 = ((($$025)) + 1|0); + $16 = HEAP8[$14>>0]|0; + $17 = $16&255; + $18 = ($16<<24>>24)==(0); + $19 = HEAP8[$15>>0]|0; + $20 = $19&255; + if ($18) { + $$lcssa = $20;$$lcssa22 = $17; + break; + } else { + $$01824 = $14;$$01926$in = $$01926;$$025 = $15;$10 = $19;$13 = $16;$22 = $20;$23 = $17; + } + } + } + } while(0); + $21 = (($$lcssa22) - ($$lcssa))|0; + $$020 = $21; + } + return ($$020|0); +} +function _vsprintf($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = (_vsnprintf($0,2147483647,$1,$2)|0); return ($3|0); } -function _wcrtomb($s,$wc,$st) { - $s = $s|0; - $wc = $wc|0; - $st = $st|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; - var $44 = 0, $45 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; +function _vsnprintf($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$$015 = 0, $$0 = 0, $$014 = 0, $$015 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; + var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; - $0 = ($s|0)==(0|0); + STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0); + $4 = sp + 124|0; + $5 = sp; + dest=$5; src=5504; stop=dest+124|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + $6 = (($1) + -1)|0; + $7 = ($6>>>0)>(2147483646); + if ($7) { + $8 = ($1|0)==(0); + if ($8) { + $$014 = $4;$$015 = 1; + label = 4; + } else { + $9 = (___errno_location()|0); + HEAP32[$9>>2] = 75; + $$0 = -1; + } + } else { + $$014 = $0;$$015 = $1; + label = 4; + } + if ((label|0) == 4) { + $10 = $$014; + $11 = (-2 - ($10))|0; + $12 = ($$015>>>0)>($11>>>0); + $$$015 = $12 ? $11 : $$015; + $13 = ((($5)) + 48|0); + HEAP32[$13>>2] = $$$015; + $14 = ((($5)) + 20|0); + HEAP32[$14>>2] = $$014; + $15 = ((($5)) + 44|0); + HEAP32[$15>>2] = $$014; + $16 = (($$014) + ($$$015)|0); + $17 = ((($5)) + 16|0); + HEAP32[$17>>2] = $16; + $18 = ((($5)) + 28|0); + HEAP32[$18>>2] = $16; + $19 = (_vfprintf($5,$2,$3)|0); + $20 = ($$$015|0)==(0); + if ($20) { + $$0 = $19; + } else { + $21 = HEAP32[$14>>2]|0; + $22 = HEAP32[$17>>2]|0; + $23 = ($21|0)==($22|0); + $24 = $23 << 31 >> 31; + $25 = (($21) + ($24)|0); + HEAP8[$25>>0] = 0; + $$0 = $19; + } + } + STACKTOP = sp;return ($$0|0); +} +function _vfprintf($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$ = 0, $$0 = 0, $$1 = 0, $$1$ = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; + var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $5 = 0, $6 = 0, $7 = 0; + var $8 = 0, $9 = 0, $vacopy_currentptr = 0, dest = 0, label = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 224|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(224|0); + $3 = sp + 120|0; + $4 = sp + 80|0; + $5 = sp; + $6 = sp + 136|0; + dest=$4; stop=dest+40|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + $vacopy_currentptr = HEAP32[$2>>2]|0; + HEAP32[$3>>2] = $vacopy_currentptr; + $7 = (_printf_core(0,$1,$3,$5,$4)|0); + $8 = ($7|0)<(0); + if ($8) { + $$0 = -1; + } else { + $9 = ((($0)) + 76|0); + $10 = HEAP32[$9>>2]|0; + $11 = ($10|0)>(-1); + if ($11) { + $12 = (___lockfile($0)|0); + $40 = $12; + } else { + $40 = 0; + } + $13 = HEAP32[$0>>2]|0; + $14 = $13 & 32; + $15 = ((($0)) + 74|0); + $16 = HEAP8[$15>>0]|0; + $17 = ($16<<24>>24)<(1); + if ($17) { + $18 = $13 & -33; + HEAP32[$0>>2] = $18; + } + $19 = ((($0)) + 48|0); + $20 = HEAP32[$19>>2]|0; + $21 = ($20|0)==(0); + if ($21) { + $23 = ((($0)) + 44|0); + $24 = HEAP32[$23>>2]|0; + HEAP32[$23>>2] = $6; + $25 = ((($0)) + 28|0); + HEAP32[$25>>2] = $6; + $26 = ((($0)) + 20|0); + HEAP32[$26>>2] = $6; + HEAP32[$19>>2] = 80; + $27 = ((($6)) + 80|0); + $28 = ((($0)) + 16|0); + HEAP32[$28>>2] = $27; + $29 = (_printf_core($0,$1,$3,$5,$4)|0); + $30 = ($24|0)==(0|0); + if ($30) { + $$1 = $29; + } else { + $31 = ((($0)) + 36|0); + $32 = HEAP32[$31>>2]|0; + (FUNCTION_TABLE_iiii[$32 & 15]($0,0,0)|0); + $33 = HEAP32[$26>>2]|0; + $34 = ($33|0)==(0|0); + $$ = $34 ? -1 : $29; + HEAP32[$23>>2] = $24; + HEAP32[$19>>2] = 0; + HEAP32[$28>>2] = 0; + HEAP32[$25>>2] = 0; + HEAP32[$26>>2] = 0; + $$1 = $$; + } + } else { + $22 = (_printf_core($0,$1,$3,$5,$4)|0); + $$1 = $22; + } + $35 = HEAP32[$0>>2]|0; + $36 = $35 & 32; + $37 = ($36|0)==(0); + $$1$ = $37 ? $$1 : -1; + $38 = $35 | $14; + HEAP32[$0>>2] = $38; + $39 = ($40|0)==(0); + if (!($39)) { + ___unlockfile($0); + } + $$0 = $$1$; + } + STACKTOP = sp;return ($$0|0); +} +function _printf_core($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$ = 0, $$$ = 0, $$$0259 = 0, $$$0262 = 0, $$$0269 = 0, $$$4266 = 0, $$$5 = 0, $$0 = 0, $$0228 = 0, $$0228$ = 0, $$0229322 = 0, $$0232 = 0, $$0235 = 0, $$0237 = 0, $$0240$lcssa = 0, $$0240$lcssa357 = 0, $$0240321 = 0, $$0243 = 0, $$0247 = 0, $$0249$lcssa = 0; + var $$0249306 = 0, $$0252 = 0, $$0253 = 0, $$0254 = 0, $$0254$$0254$ = 0, $$0259 = 0, $$0262$lcssa = 0, $$0262311 = 0, $$0269 = 0, $$0269$phi = 0, $$1 = 0, $$1230333 = 0, $$1233 = 0, $$1236 = 0, $$1238 = 0, $$1241332 = 0, $$1244320 = 0, $$1248 = 0, $$1250 = 0, $$1255 = 0; + var $$1260 = 0, $$1263 = 0, $$1263$ = 0, $$1270 = 0, $$2 = 0, $$2234 = 0, $$2239 = 0, $$2242305 = 0, $$2245 = 0, $$2251 = 0, $$2256 = 0, $$2256$ = 0, $$2256$$$2256 = 0, $$2261 = 0, $$2271 = 0, $$284$ = 0, $$289 = 0, $$290 = 0, $$3257 = 0, $$3265 = 0; + var $$3272 = 0, $$3303 = 0, $$377 = 0, $$4258355 = 0, $$4266 = 0, $$5 = 0, $$6268 = 0, $$lcssa295 = 0, $$pre = 0, $$pre346 = 0, $$pre347 = 0, $$pre347$pre = 0, $$pre349 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0; + var $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0; + var $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0; + var $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0; + var $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0; + var $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0; + var $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0; + var $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0; + var $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0; + var $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0; + var $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0; + var $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0; + var $306 = 0.0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0; + var $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; + var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0; + var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0; + var $arglist_current = 0, $arglist_current2 = 0, $arglist_next = 0, $arglist_next3 = 0, $expanded = 0, $expanded10 = 0, $expanded11 = 0, $expanded13 = 0, $expanded14 = 0, $expanded15 = 0, $expanded4 = 0, $expanded6 = 0, $expanded7 = 0, $expanded8 = 0, $isdigit = 0, $isdigit275 = 0, $isdigit277 = 0, $isdigittmp = 0, $isdigittmp$ = 0, $isdigittmp274 = 0; + var $isdigittmp276 = 0, $narrow = 0, $or$cond = 0, $or$cond281 = 0, $or$cond283 = 0, $or$cond286 = 0, $storemerge = 0, $storemerge273310 = 0, $storemerge278 = 0, $trunc = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $5 = sp + 16|0; + $6 = sp; + $7 = sp + 24|0; + $8 = sp + 8|0; + $9 = sp + 20|0; + HEAP32[$5>>2] = $1; + $10 = ($0|0)!=(0|0); + $11 = ((($7)) + 40|0); + $12 = $11; + $13 = ((($7)) + 39|0); + $14 = ((($8)) + 4|0); + $$0243 = 0;$$0247 = 0;$$0269 = 0;$21 = $1; + L1: while(1) { + $15 = ($$0247|0)>(-1); + do { + if ($15) { + $16 = (2147483647 - ($$0247))|0; + $17 = ($$0243|0)>($16|0); + if ($17) { + $18 = (___errno_location()|0); + HEAP32[$18>>2] = 75; + $$1248 = -1; + break; + } else { + $19 = (($$0243) + ($$0247))|0; + $$1248 = $19; + break; + } + } else { + $$1248 = $$0247; + } + } while(0); + $20 = HEAP8[$21>>0]|0; + $22 = ($20<<24>>24)==(0); + if ($22) { + label = 87; + break; + } else { + $23 = $20;$25 = $21; + } + L9: while(1) { + switch ($23<<24>>24) { + case 37: { + $$0249306 = $25;$27 = $25; + label = 9; + break L9; + break; + } + case 0: { + $$0249$lcssa = $25;$39 = $25; + break L9; + break; + } + default: { + } + } + $24 = ((($25)) + 1|0); + HEAP32[$5>>2] = $24; + $$pre = HEAP8[$24>>0]|0; + $23 = $$pre;$25 = $24; + } + L12: do { + if ((label|0) == 9) { + while(1) { + label = 0; + $26 = ((($27)) + 1|0); + $28 = HEAP8[$26>>0]|0; + $29 = ($28<<24>>24)==(37); + if (!($29)) { + $$0249$lcssa = $$0249306;$39 = $27; + break L12; + } + $30 = ((($$0249306)) + 1|0); + $31 = ((($27)) + 2|0); + HEAP32[$5>>2] = $31; + $32 = HEAP8[$31>>0]|0; + $33 = ($32<<24>>24)==(37); + if ($33) { + $$0249306 = $30;$27 = $31; + label = 9; + } else { + $$0249$lcssa = $30;$39 = $31; + break; + } + } + } + } while(0); + $34 = $$0249$lcssa; + $35 = $21; + $36 = (($34) - ($35))|0; + if ($10) { + _out($0,$21,$36); + } + $37 = ($36|0)==(0); + if (!($37)) { + $$0269$phi = $$0269;$$0243 = $36;$$0247 = $$1248;$21 = $39;$$0269 = $$0269$phi; + continue; + } + $38 = ((($39)) + 1|0); + $40 = HEAP8[$38>>0]|0; + $41 = $40 << 24 >> 24; + $isdigittmp = (($41) + -48)|0; + $isdigit = ($isdigittmp>>>0)<(10); + if ($isdigit) { + $42 = ((($39)) + 2|0); + $43 = HEAP8[$42>>0]|0; + $44 = ($43<<24>>24)==(36); + $45 = ((($39)) + 3|0); + $$377 = $44 ? $45 : $38; + $$$0269 = $44 ? 1 : $$0269; + $isdigittmp$ = $44 ? $isdigittmp : -1; + $$0253 = $isdigittmp$;$$1270 = $$$0269;$storemerge = $$377; + } else { + $$0253 = -1;$$1270 = $$0269;$storemerge = $38; + } + HEAP32[$5>>2] = $storemerge; + $46 = HEAP8[$storemerge>>0]|0; + $47 = $46 << 24 >> 24; + $48 = (($47) + -32)|0; + $49 = ($48>>>0)<(32); + L24: do { + if ($49) { + $$0262311 = 0;$329 = $46;$51 = $48;$storemerge273310 = $storemerge; + while(1) { + $50 = 1 << $51; + $52 = $50 & 75913; + $53 = ($52|0)==(0); + if ($53) { + $$0262$lcssa = $$0262311;$$lcssa295 = $329;$62 = $storemerge273310; + break L24; + } + $54 = $50 | $$0262311; + $55 = ((($storemerge273310)) + 1|0); + HEAP32[$5>>2] = $55; + $56 = HEAP8[$55>>0]|0; + $57 = $56 << 24 >> 24; + $58 = (($57) + -32)|0; + $59 = ($58>>>0)<(32); + if ($59) { + $$0262311 = $54;$329 = $56;$51 = $58;$storemerge273310 = $55; + } else { + $$0262$lcssa = $54;$$lcssa295 = $56;$62 = $55; + break; + } + } + } else { + $$0262$lcssa = 0;$$lcssa295 = $46;$62 = $storemerge; + } + } while(0); + $60 = ($$lcssa295<<24>>24)==(42); + if ($60) { + $61 = ((($62)) + 1|0); + $63 = HEAP8[$61>>0]|0; + $64 = $63 << 24 >> 24; + $isdigittmp276 = (($64) + -48)|0; + $isdigit277 = ($isdigittmp276>>>0)<(10); + if ($isdigit277) { + $65 = ((($62)) + 2|0); + $66 = HEAP8[$65>>0]|0; + $67 = ($66<<24>>24)==(36); + if ($67) { + $68 = (($4) + ($isdigittmp276<<2)|0); + HEAP32[$68>>2] = 10; + $69 = HEAP8[$61>>0]|0; + $70 = $69 << 24 >> 24; + $71 = (($70) + -48)|0; + $72 = (($3) + ($71<<3)|0); + $73 = $72; + $74 = $73; + $75 = HEAP32[$74>>2]|0; + $76 = (($73) + 4)|0; + $77 = $76; + $78 = HEAP32[$77>>2]|0; + $79 = ((($62)) + 3|0); + $$0259 = $75;$$2271 = 1;$storemerge278 = $79; + } else { + label = 23; + } + } else { + label = 23; + } + if ((label|0) == 23) { + label = 0; + $80 = ($$1270|0)==(0); + if (!($80)) { + $$0 = -1; + break; + } + if ($10) { + $arglist_current = HEAP32[$2>>2]|0; + $81 = $arglist_current; + $82 = ((0) + 4|0); + $expanded4 = $82; + $expanded = (($expanded4) - 1)|0; + $83 = (($81) + ($expanded))|0; + $84 = ((0) + 4|0); + $expanded8 = $84; + $expanded7 = (($expanded8) - 1)|0; + $expanded6 = $expanded7 ^ -1; + $85 = $83 & $expanded6; + $86 = $85; + $87 = HEAP32[$86>>2]|0; + $arglist_next = ((($86)) + 4|0); + HEAP32[$2>>2] = $arglist_next; + $$0259 = $87;$$2271 = 0;$storemerge278 = $61; + } else { + $$0259 = 0;$$2271 = 0;$storemerge278 = $61; + } + } + HEAP32[$5>>2] = $storemerge278; + $88 = ($$0259|0)<(0); + $89 = $$0262$lcssa | 8192; + $90 = (0 - ($$0259))|0; + $$$0262 = $88 ? $89 : $$0262$lcssa; + $$$0259 = $88 ? $90 : $$0259; + $$1260 = $$$0259;$$1263 = $$$0262;$$3272 = $$2271;$94 = $storemerge278; + } else { + $91 = (_getint($5)|0); + $92 = ($91|0)<(0); + if ($92) { + $$0 = -1; + break; + } + $$pre346 = HEAP32[$5>>2]|0; + $$1260 = $91;$$1263 = $$0262$lcssa;$$3272 = $$1270;$94 = $$pre346; + } + $93 = HEAP8[$94>>0]|0; + $95 = ($93<<24>>24)==(46); + do { + if ($95) { + $96 = ((($94)) + 1|0); + $97 = HEAP8[$96>>0]|0; + $98 = ($97<<24>>24)==(42); + if (!($98)) { + $125 = ((($94)) + 1|0); + HEAP32[$5>>2] = $125; + $126 = (_getint($5)|0); + $$pre347$pre = HEAP32[$5>>2]|0; + $$0254 = $126;$$pre347 = $$pre347$pre; + break; + } + $99 = ((($94)) + 2|0); + $100 = HEAP8[$99>>0]|0; + $101 = $100 << 24 >> 24; + $isdigittmp274 = (($101) + -48)|0; + $isdigit275 = ($isdigittmp274>>>0)<(10); + if ($isdigit275) { + $102 = ((($94)) + 3|0); + $103 = HEAP8[$102>>0]|0; + $104 = ($103<<24>>24)==(36); + if ($104) { + $105 = (($4) + ($isdigittmp274<<2)|0); + HEAP32[$105>>2] = 10; + $106 = HEAP8[$99>>0]|0; + $107 = $106 << 24 >> 24; + $108 = (($107) + -48)|0; + $109 = (($3) + ($108<<3)|0); + $110 = $109; + $111 = $110; + $112 = HEAP32[$111>>2]|0; + $113 = (($110) + 4)|0; + $114 = $113; + $115 = HEAP32[$114>>2]|0; + $116 = ((($94)) + 4|0); + HEAP32[$5>>2] = $116; + $$0254 = $112;$$pre347 = $116; + break; + } + } + $117 = ($$3272|0)==(0); + if (!($117)) { + $$0 = -1; + break L1; + } + if ($10) { + $arglist_current2 = HEAP32[$2>>2]|0; + $118 = $arglist_current2; + $119 = ((0) + 4|0); + $expanded11 = $119; + $expanded10 = (($expanded11) - 1)|0; + $120 = (($118) + ($expanded10))|0; + $121 = ((0) + 4|0); + $expanded15 = $121; + $expanded14 = (($expanded15) - 1)|0; + $expanded13 = $expanded14 ^ -1; + $122 = $120 & $expanded13; + $123 = $122; + $124 = HEAP32[$123>>2]|0; + $arglist_next3 = ((($123)) + 4|0); + HEAP32[$2>>2] = $arglist_next3; + $330 = $124; + } else { + $330 = 0; + } + HEAP32[$5>>2] = $99; + $$0254 = $330;$$pre347 = $99; + } else { + $$0254 = -1;$$pre347 = $94; + } + } while(0); + $$0252 = 0;$128 = $$pre347; + while(1) { + $127 = HEAP8[$128>>0]|0; + $129 = $127 << 24 >> 24; + $130 = (($129) + -65)|0; + $131 = ($130>>>0)>(57); + if ($131) { + $$0 = -1; + break L1; + } + $132 = ((($128)) + 1|0); + HEAP32[$5>>2] = $132; + $133 = HEAP8[$128>>0]|0; + $134 = $133 << 24 >> 24; + $135 = (($134) + -65)|0; + $136 = ((21466 + (($$0252*58)|0)|0) + ($135)|0); + $137 = HEAP8[$136>>0]|0; + $138 = $137&255; + $139 = (($138) + -1)|0; + $140 = ($139>>>0)<(8); + if ($140) { + $$0252 = $138;$128 = $132; + } else { + break; + } + } + $141 = ($137<<24>>24)==(0); + if ($141) { + $$0 = -1; + break; + } + $142 = ($137<<24>>24)==(19); + $143 = ($$0253|0)>(-1); + do { + if ($142) { + if ($143) { + $$0 = -1; + break L1; + } else { + label = 49; + } + } else { + if ($143) { + $144 = (($4) + ($$0253<<2)|0); + HEAP32[$144>>2] = $138; + $145 = (($3) + ($$0253<<3)|0); + $146 = $145; + $147 = $146; + $148 = HEAP32[$147>>2]|0; + $149 = (($146) + 4)|0; + $150 = $149; + $151 = HEAP32[$150>>2]|0; + $152 = $6; + $153 = $152; + HEAP32[$153>>2] = $148; + $154 = (($152) + 4)|0; + $155 = $154; + HEAP32[$155>>2] = $151; + label = 49; + break; + } + if (!($10)) { + $$0 = 0; + break L1; + } + _pop_arg($6,$138,$2); + } + } while(0); + if ((label|0) == 49) { + label = 0; + if (!($10)) { + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue; + } + } + $156 = HEAP8[$128>>0]|0; + $157 = $156 << 24 >> 24; + $158 = ($$0252|0)!=(0); + $159 = $157 & 15; + $160 = ($159|0)==(3); + $or$cond281 = $158 & $160; + $161 = $157 & -33; + $$0235 = $or$cond281 ? $161 : $157; + $162 = $$1263 & 8192; + $163 = ($162|0)==(0); + $164 = $$1263 & -65537; + $$1263$ = $163 ? $$1263 : $164; + L71: do { + switch ($$0235|0) { + case 110: { + $trunc = $$0252&255; + switch ($trunc<<24>>24) { + case 0: { + $171 = HEAP32[$6>>2]|0; + HEAP32[$171>>2] = $$1248; + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + case 1: { + $172 = HEAP32[$6>>2]|0; + HEAP32[$172>>2] = $$1248; + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + case 2: { + $173 = ($$1248|0)<(0); + $174 = $173 << 31 >> 31; + $175 = HEAP32[$6>>2]|0; + $176 = $175; + $177 = $176; + HEAP32[$177>>2] = $$1248; + $178 = (($176) + 4)|0; + $179 = $178; + HEAP32[$179>>2] = $174; + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + case 3: { + $180 = $$1248&65535; + $181 = HEAP32[$6>>2]|0; + HEAP16[$181>>1] = $180; + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + case 4: { + $182 = $$1248&255; + $183 = HEAP32[$6>>2]|0; + HEAP8[$183>>0] = $182; + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + case 6: { + $184 = HEAP32[$6>>2]|0; + HEAP32[$184>>2] = $$1248; + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + case 7: { + $185 = ($$1248|0)<(0); + $186 = $185 << 31 >> 31; + $187 = HEAP32[$6>>2]|0; + $188 = $187; + $189 = $188; + HEAP32[$189>>2] = $$1248; + $190 = (($188) + 4)|0; + $191 = $190; + HEAP32[$191>>2] = $186; + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + default: { + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + } + } + break; + } + case 112: { + $192 = ($$0254>>>0)>(8); + $193 = $192 ? $$0254 : 8; + $194 = $$1263$ | 8; + $$1236 = 120;$$1255 = $193;$$3265 = $194; + label = 61; + break; + } + case 88: case 120: { + $$1236 = $$0235;$$1255 = $$0254;$$3265 = $$1263$; + label = 61; + break; + } + case 111: { + $210 = $6; + $211 = $210; + $212 = HEAP32[$211>>2]|0; + $213 = (($210) + 4)|0; + $214 = $213; + $215 = HEAP32[$214>>2]|0; + $216 = (_fmt_o($212,$215,$11)|0); + $217 = $$1263$ & 8; + $218 = ($217|0)==(0); + $219 = $216; + $220 = (($12) - ($219))|0; + $221 = ($$0254|0)>($220|0); + $222 = (($220) + 1)|0; + $223 = $218 | $221; + $$0254$$0254$ = $223 ? $$0254 : $222; + $$0228 = $216;$$1233 = 0;$$1238 = 21930;$$2256 = $$0254$$0254$;$$4266 = $$1263$;$248 = $212;$250 = $215; + label = 67; + break; + } + case 105: case 100: { + $224 = $6; + $225 = $224; + $226 = HEAP32[$225>>2]|0; + $227 = (($224) + 4)|0; + $228 = $227; + $229 = HEAP32[$228>>2]|0; + $230 = ($229|0)<(0); + if ($230) { + $231 = (_i64Subtract(0,0,($226|0),($229|0))|0); + $232 = tempRet0; + $233 = $6; + $234 = $233; + HEAP32[$234>>2] = $231; + $235 = (($233) + 4)|0; + $236 = $235; + HEAP32[$236>>2] = $232; + $$0232 = 1;$$0237 = 21930;$242 = $231;$243 = $232; + label = 66; + break L71; + } else { + $237 = $$1263$ & 2048; + $238 = ($237|0)==(0); + $239 = $$1263$ & 1; + $240 = ($239|0)==(0); + $$ = $240 ? 21930 : (21932); + $$$ = $238 ? $$ : (21931); + $241 = $$1263$ & 2049; + $narrow = ($241|0)!=(0); + $$284$ = $narrow&1; + $$0232 = $$284$;$$0237 = $$$;$242 = $226;$243 = $229; + label = 66; + break L71; + } + break; + } + case 117: { + $165 = $6; + $166 = $165; + $167 = HEAP32[$166>>2]|0; + $168 = (($165) + 4)|0; + $169 = $168; + $170 = HEAP32[$169>>2]|0; + $$0232 = 0;$$0237 = 21930;$242 = $167;$243 = $170; + label = 66; + break; + } + case 99: { + $259 = $6; + $260 = $259; + $261 = HEAP32[$260>>2]|0; + $262 = (($259) + 4)|0; + $263 = $262; + $264 = HEAP32[$263>>2]|0; + $265 = $261&255; + HEAP8[$13>>0] = $265; + $$2 = $13;$$2234 = 0;$$2239 = 21930;$$2251 = $11;$$5 = 1;$$6268 = $164; + break; + } + case 109: { + $266 = (___errno_location()|0); + $267 = HEAP32[$266>>2]|0; + $268 = (_strerror($267)|0); + $$1 = $268; + label = 71; + break; + } + case 115: { + $269 = HEAP32[$6>>2]|0; + $270 = ($269|0)!=(0|0); + $271 = $270 ? $269 : 21940; + $$1 = $271; + label = 71; + break; + } + case 67: { + $278 = $6; + $279 = $278; + $280 = HEAP32[$279>>2]|0; + $281 = (($278) + 4)|0; + $282 = $281; + $283 = HEAP32[$282>>2]|0; + HEAP32[$8>>2] = $280; + HEAP32[$14>>2] = 0; + HEAP32[$6>>2] = $8; + $$4258355 = -1;$331 = $8; + label = 75; + break; + } + case 83: { + $$pre349 = HEAP32[$6>>2]|0; + $284 = ($$0254|0)==(0); + if ($284) { + _pad_674($0,32,$$1260,0,$$1263$); + $$0240$lcssa357 = 0; + label = 84; + } else { + $$4258355 = $$0254;$331 = $$pre349; + label = 75; + } + break; + } + case 65: case 71: case 70: case 69: case 97: case 103: case 102: case 101: { + $306 = +HEAPF64[$6>>3]; + $307 = (_fmt_fp($0,$306,$$1260,$$0254,$$1263$,$$0235)|0); + $$0243 = $307;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + default: { + $$2 = $21;$$2234 = 0;$$2239 = 21930;$$2251 = $11;$$5 = $$0254;$$6268 = $$1263$; + } + } + } while(0); + L95: do { + if ((label|0) == 61) { + label = 0; + $195 = $6; + $196 = $195; + $197 = HEAP32[$196>>2]|0; + $198 = (($195) + 4)|0; + $199 = $198; + $200 = HEAP32[$199>>2]|0; + $201 = $$1236 & 32; + $202 = (_fmt_x($197,$200,$11,$201)|0); + $203 = ($197|0)==(0); + $204 = ($200|0)==(0); + $205 = $203 & $204; + $206 = $$3265 & 8; + $207 = ($206|0)==(0); + $or$cond283 = $207 | $205; + $208 = $$1236 >> 4; + $209 = (21930 + ($208)|0); + $$289 = $or$cond283 ? 21930 : $209; + $$290 = $or$cond283 ? 0 : 2; + $$0228 = $202;$$1233 = $$290;$$1238 = $$289;$$2256 = $$1255;$$4266 = $$3265;$248 = $197;$250 = $200; + label = 67; + } + else if ((label|0) == 66) { + label = 0; + $244 = (_fmt_u($242,$243,$11)|0); + $$0228 = $244;$$1233 = $$0232;$$1238 = $$0237;$$2256 = $$0254;$$4266 = $$1263$;$248 = $242;$250 = $243; + label = 67; + } + else if ((label|0) == 71) { + label = 0; + $272 = (_memchr($$1,0,$$0254)|0); + $273 = ($272|0)==(0|0); + $274 = $272; + $275 = $$1; + $276 = (($274) - ($275))|0; + $277 = (($$1) + ($$0254)|0); + $$3257 = $273 ? $$0254 : $276; + $$1250 = $273 ? $277 : $272; + $$2 = $$1;$$2234 = 0;$$2239 = 21930;$$2251 = $$1250;$$5 = $$3257;$$6268 = $164; + } + else if ((label|0) == 75) { + label = 0; + $$0229322 = $331;$$0240321 = 0;$$1244320 = 0; + while(1) { + $285 = HEAP32[$$0229322>>2]|0; + $286 = ($285|0)==(0); + if ($286) { + $$0240$lcssa = $$0240321;$$2245 = $$1244320; + break; + } + $287 = (_wctomb($9,$285)|0); + $288 = ($287|0)<(0); + $289 = (($$4258355) - ($$0240321))|0; + $290 = ($287>>>0)>($289>>>0); + $or$cond286 = $288 | $290; + if ($or$cond286) { + $$0240$lcssa = $$0240321;$$2245 = $287; + break; + } + $291 = ((($$0229322)) + 4|0); + $292 = (($287) + ($$0240321))|0; + $293 = ($$4258355>>>0)>($292>>>0); + if ($293) { + $$0229322 = $291;$$0240321 = $292;$$1244320 = $287; + } else { + $$0240$lcssa = $292;$$2245 = $287; + break; + } + } + $294 = ($$2245|0)<(0); + if ($294) { + $$0 = -1; + break L1; + } + _pad_674($0,32,$$1260,$$0240$lcssa,$$1263$); + $295 = ($$0240$lcssa|0)==(0); + if ($295) { + $$0240$lcssa357 = 0; + label = 84; + } else { + $$1230333 = $331;$$1241332 = 0; + while(1) { + $296 = HEAP32[$$1230333>>2]|0; + $297 = ($296|0)==(0); + if ($297) { + $$0240$lcssa357 = $$0240$lcssa; + label = 84; + break L95; + } + $298 = (_wctomb($9,$296)|0); + $299 = (($298) + ($$1241332))|0; + $300 = ($299|0)>($$0240$lcssa|0); + if ($300) { + $$0240$lcssa357 = $$0240$lcssa; + label = 84; + break L95; + } + $301 = ((($$1230333)) + 4|0); + _out($0,$9,$298); + $302 = ($299>>>0)<($$0240$lcssa>>>0); + if ($302) { + $$1230333 = $301;$$1241332 = $299; + } else { + $$0240$lcssa357 = $$0240$lcssa; + label = 84; + break; + } + } + } + } + } while(0); + if ((label|0) == 67) { + label = 0; + $245 = ($$2256|0)>(-1); + $246 = $$4266 & -65537; + $$$4266 = $245 ? $246 : $$4266; + $247 = ($248|0)!=(0); + $249 = ($250|0)!=(0); + $251 = $247 | $249; + $252 = ($$2256|0)!=(0); + $or$cond = $252 | $251; + $253 = $$0228; + $254 = (($12) - ($253))|0; + $255 = $251 ^ 1; + $256 = $255&1; + $257 = (($256) + ($254))|0; + $258 = ($$2256|0)>($257|0); + $$2256$ = $258 ? $$2256 : $257; + $$2256$$$2256 = $or$cond ? $$2256$ : $$2256; + $$0228$ = $or$cond ? $$0228 : $11; + $$2 = $$0228$;$$2234 = $$1233;$$2239 = $$1238;$$2251 = $11;$$5 = $$2256$$$2256;$$6268 = $$$4266; + } + else if ((label|0) == 84) { + label = 0; + $303 = $$1263$ ^ 8192; + _pad_674($0,32,$$1260,$$0240$lcssa357,$303); + $304 = ($$1260|0)>($$0240$lcssa357|0); + $305 = $304 ? $$1260 : $$0240$lcssa357; + $$0243 = $305;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue; + } + $308 = $$2251; + $309 = $$2; + $310 = (($308) - ($309))|0; + $311 = ($$5|0)<($310|0); + $$$5 = $311 ? $310 : $$5; + $312 = (($$$5) + ($$2234))|0; + $313 = ($$1260|0)<($312|0); + $$2261 = $313 ? $312 : $$1260; + _pad_674($0,32,$$2261,$312,$$6268); + _out($0,$$2239,$$2234); + $314 = $$6268 ^ 65536; + _pad_674($0,48,$$2261,$312,$314); + _pad_674($0,48,$$$5,$310,0); + _out($0,$$2,$310); + $315 = $$6268 ^ 8192; + _pad_674($0,32,$$2261,$312,$315); + $$0243 = $$2261;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + } + L114: do { + if ((label|0) == 87) { + $316 = ($0|0)==(0|0); + if ($316) { + $317 = ($$0269|0)==(0); + if ($317) { + $$0 = 0; + } else { + $$2242305 = 1; + while(1) { + $318 = (($4) + ($$2242305<<2)|0); + $319 = HEAP32[$318>>2]|0; + $320 = ($319|0)==(0); + if ($320) { + $$3303 = $$2242305; + break; + } + $321 = (($3) + ($$2242305<<3)|0); + _pop_arg($321,$319,$2); + $322 = (($$2242305) + 1)|0; + $323 = ($322|0)<(10); + if ($323) { + $$2242305 = $322; + } else { + $$0 = 1; + break L114; + } + } + while(1) { + $326 = (($4) + ($$3303<<2)|0); + $327 = HEAP32[$326>>2]|0; + $328 = ($327|0)==(0); + $325 = (($$3303) + 1)|0; + if (!($328)) { + $$0 = -1; + break L114; + } + $324 = ($325|0)<(10); + if ($324) { + $$3303 = $325; + } else { + $$0 = 1; + break; + } + } + } + } else { + $$0 = $$1248; + } + } + } while(0); + STACKTOP = sp;return ($$0|0); +} +function ___lockfile($0) { + $0 = $0|0; + var label = 0, sp = 0; + sp = STACKTOP; + return 0; +} +function ___unlockfile($0) { + $0 = $0|0; + var label = 0, sp = 0; + sp = STACKTOP; + return; +} +function _out($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = HEAP32[$0>>2]|0; + $4 = $3 & 32; + $5 = ($4|0)==(0); + if ($5) { + (___fwritex($1,$2,$0)|0); + } + return; +} +function _getint($0) { + $0 = $0|0; + var $$0$lcssa = 0, $$06 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $isdigit = 0, $isdigit5 = 0, $isdigittmp = 0, $isdigittmp4 = 0, $isdigittmp7 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP32[$0>>2]|0; + $2 = HEAP8[$1>>0]|0; + $3 = $2 << 24 >> 24; + $isdigittmp4 = (($3) + -48)|0; + $isdigit5 = ($isdigittmp4>>>0)<(10); + if ($isdigit5) { + $$06 = 0;$7 = $1;$isdigittmp7 = $isdigittmp4; + while(1) { + $4 = ($$06*10)|0; + $5 = (($isdigittmp7) + ($4))|0; + $6 = ((($7)) + 1|0); + HEAP32[$0>>2] = $6; + $8 = HEAP8[$6>>0]|0; + $9 = $8 << 24 >> 24; + $isdigittmp = (($9) + -48)|0; + $isdigit = ($isdigittmp>>>0)<(10); + if ($isdigit) { + $$06 = $5;$7 = $6;$isdigittmp7 = $isdigittmp; + } else { + $$0$lcssa = $5; + break; + } + } + } else { + $$0$lcssa = 0; + } + return ($$0$lcssa|0); +} +function _pop_arg($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$mask = 0, $$mask31 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0.0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; + var $116 = 0.0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0; + var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0; + var $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0; + var $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0; + var $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $arglist_current = 0, $arglist_current11 = 0, $arglist_current14 = 0, $arglist_current17 = 0; + var $arglist_current2 = 0, $arglist_current20 = 0, $arglist_current23 = 0, $arglist_current26 = 0, $arglist_current5 = 0, $arglist_current8 = 0, $arglist_next = 0, $arglist_next12 = 0, $arglist_next15 = 0, $arglist_next18 = 0, $arglist_next21 = 0, $arglist_next24 = 0, $arglist_next27 = 0, $arglist_next3 = 0, $arglist_next6 = 0, $arglist_next9 = 0, $expanded = 0, $expanded28 = 0, $expanded30 = 0, $expanded31 = 0; + var $expanded32 = 0, $expanded34 = 0, $expanded35 = 0, $expanded37 = 0, $expanded38 = 0, $expanded39 = 0, $expanded41 = 0, $expanded42 = 0, $expanded44 = 0, $expanded45 = 0, $expanded46 = 0, $expanded48 = 0, $expanded49 = 0, $expanded51 = 0, $expanded52 = 0, $expanded53 = 0, $expanded55 = 0, $expanded56 = 0, $expanded58 = 0, $expanded59 = 0; + var $expanded60 = 0, $expanded62 = 0, $expanded63 = 0, $expanded65 = 0, $expanded66 = 0, $expanded67 = 0, $expanded69 = 0, $expanded70 = 0, $expanded72 = 0, $expanded73 = 0, $expanded74 = 0, $expanded76 = 0, $expanded77 = 0, $expanded79 = 0, $expanded80 = 0, $expanded81 = 0, $expanded83 = 0, $expanded84 = 0, $expanded86 = 0, $expanded87 = 0; + var $expanded88 = 0, $expanded90 = 0, $expanded91 = 0, $expanded93 = 0, $expanded94 = 0, $expanded95 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ($1>>>0)>(20); + L1: do { + if (!($3)) { + do { + switch ($1|0) { + case 9: { + $arglist_current = HEAP32[$2>>2]|0; + $4 = $arglist_current; + $5 = ((0) + 4|0); + $expanded28 = $5; + $expanded = (($expanded28) - 1)|0; + $6 = (($4) + ($expanded))|0; + $7 = ((0) + 4|0); + $expanded32 = $7; + $expanded31 = (($expanded32) - 1)|0; + $expanded30 = $expanded31 ^ -1; + $8 = $6 & $expanded30; + $9 = $8; + $10 = HEAP32[$9>>2]|0; + $arglist_next = ((($9)) + 4|0); + HEAP32[$2>>2] = $arglist_next; + HEAP32[$0>>2] = $10; + break L1; + break; + } + case 10: { + $arglist_current2 = HEAP32[$2>>2]|0; + $11 = $arglist_current2; + $12 = ((0) + 4|0); + $expanded35 = $12; + $expanded34 = (($expanded35) - 1)|0; + $13 = (($11) + ($expanded34))|0; + $14 = ((0) + 4|0); + $expanded39 = $14; + $expanded38 = (($expanded39) - 1)|0; + $expanded37 = $expanded38 ^ -1; + $15 = $13 & $expanded37; + $16 = $15; + $17 = HEAP32[$16>>2]|0; + $arglist_next3 = ((($16)) + 4|0); + HEAP32[$2>>2] = $arglist_next3; + $18 = ($17|0)<(0); + $19 = $18 << 31 >> 31; + $20 = $0; + $21 = $20; + HEAP32[$21>>2] = $17; + $22 = (($20) + 4)|0; + $23 = $22; + HEAP32[$23>>2] = $19; + break L1; + break; + } + case 11: { + $arglist_current5 = HEAP32[$2>>2]|0; + $24 = $arglist_current5; + $25 = ((0) + 4|0); + $expanded42 = $25; + $expanded41 = (($expanded42) - 1)|0; + $26 = (($24) + ($expanded41))|0; + $27 = ((0) + 4|0); + $expanded46 = $27; + $expanded45 = (($expanded46) - 1)|0; + $expanded44 = $expanded45 ^ -1; + $28 = $26 & $expanded44; + $29 = $28; + $30 = HEAP32[$29>>2]|0; + $arglist_next6 = ((($29)) + 4|0); + HEAP32[$2>>2] = $arglist_next6; + $31 = $0; + $32 = $31; + HEAP32[$32>>2] = $30; + $33 = (($31) + 4)|0; + $34 = $33; + HEAP32[$34>>2] = 0; + break L1; + break; + } + case 12: { + $arglist_current8 = HEAP32[$2>>2]|0; + $35 = $arglist_current8; + $36 = ((0) + 8|0); + $expanded49 = $36; + $expanded48 = (($expanded49) - 1)|0; + $37 = (($35) + ($expanded48))|0; + $38 = ((0) + 8|0); + $expanded53 = $38; + $expanded52 = (($expanded53) - 1)|0; + $expanded51 = $expanded52 ^ -1; + $39 = $37 & $expanded51; + $40 = $39; + $41 = $40; + $42 = $41; + $43 = HEAP32[$42>>2]|0; + $44 = (($41) + 4)|0; + $45 = $44; + $46 = HEAP32[$45>>2]|0; + $arglist_next9 = ((($40)) + 8|0); + HEAP32[$2>>2] = $arglist_next9; + $47 = $0; + $48 = $47; + HEAP32[$48>>2] = $43; + $49 = (($47) + 4)|0; + $50 = $49; + HEAP32[$50>>2] = $46; + break L1; + break; + } + case 13: { + $arglist_current11 = HEAP32[$2>>2]|0; + $51 = $arglist_current11; + $52 = ((0) + 4|0); + $expanded56 = $52; + $expanded55 = (($expanded56) - 1)|0; + $53 = (($51) + ($expanded55))|0; + $54 = ((0) + 4|0); + $expanded60 = $54; + $expanded59 = (($expanded60) - 1)|0; + $expanded58 = $expanded59 ^ -1; + $55 = $53 & $expanded58; + $56 = $55; + $57 = HEAP32[$56>>2]|0; + $arglist_next12 = ((($56)) + 4|0); + HEAP32[$2>>2] = $arglist_next12; + $58 = $57&65535; + $59 = $58 << 16 >> 16; + $60 = ($59|0)<(0); + $61 = $60 << 31 >> 31; + $62 = $0; + $63 = $62; + HEAP32[$63>>2] = $59; + $64 = (($62) + 4)|0; + $65 = $64; + HEAP32[$65>>2] = $61; + break L1; + break; + } + case 14: { + $arglist_current14 = HEAP32[$2>>2]|0; + $66 = $arglist_current14; + $67 = ((0) + 4|0); + $expanded63 = $67; + $expanded62 = (($expanded63) - 1)|0; + $68 = (($66) + ($expanded62))|0; + $69 = ((0) + 4|0); + $expanded67 = $69; + $expanded66 = (($expanded67) - 1)|0; + $expanded65 = $expanded66 ^ -1; + $70 = $68 & $expanded65; + $71 = $70; + $72 = HEAP32[$71>>2]|0; + $arglist_next15 = ((($71)) + 4|0); + HEAP32[$2>>2] = $arglist_next15; + $$mask31 = $72 & 65535; + $73 = $0; + $74 = $73; + HEAP32[$74>>2] = $$mask31; + $75 = (($73) + 4)|0; + $76 = $75; + HEAP32[$76>>2] = 0; + break L1; + break; + } + case 15: { + $arglist_current17 = HEAP32[$2>>2]|0; + $77 = $arglist_current17; + $78 = ((0) + 4|0); + $expanded70 = $78; + $expanded69 = (($expanded70) - 1)|0; + $79 = (($77) + ($expanded69))|0; + $80 = ((0) + 4|0); + $expanded74 = $80; + $expanded73 = (($expanded74) - 1)|0; + $expanded72 = $expanded73 ^ -1; + $81 = $79 & $expanded72; + $82 = $81; + $83 = HEAP32[$82>>2]|0; + $arglist_next18 = ((($82)) + 4|0); + HEAP32[$2>>2] = $arglist_next18; + $84 = $83&255; + $85 = $84 << 24 >> 24; + $86 = ($85|0)<(0); + $87 = $86 << 31 >> 31; + $88 = $0; + $89 = $88; + HEAP32[$89>>2] = $85; + $90 = (($88) + 4)|0; + $91 = $90; + HEAP32[$91>>2] = $87; + break L1; + break; + } + case 16: { + $arglist_current20 = HEAP32[$2>>2]|0; + $92 = $arglist_current20; + $93 = ((0) + 4|0); + $expanded77 = $93; + $expanded76 = (($expanded77) - 1)|0; + $94 = (($92) + ($expanded76))|0; + $95 = ((0) + 4|0); + $expanded81 = $95; + $expanded80 = (($expanded81) - 1)|0; + $expanded79 = $expanded80 ^ -1; + $96 = $94 & $expanded79; + $97 = $96; + $98 = HEAP32[$97>>2]|0; + $arglist_next21 = ((($97)) + 4|0); + HEAP32[$2>>2] = $arglist_next21; + $$mask = $98 & 255; + $99 = $0; + $100 = $99; + HEAP32[$100>>2] = $$mask; + $101 = (($99) + 4)|0; + $102 = $101; + HEAP32[$102>>2] = 0; + break L1; + break; + } + case 17: { + $arglist_current23 = HEAP32[$2>>2]|0; + $103 = $arglist_current23; + $104 = ((0) + 8|0); + $expanded84 = $104; + $expanded83 = (($expanded84) - 1)|0; + $105 = (($103) + ($expanded83))|0; + $106 = ((0) + 8|0); + $expanded88 = $106; + $expanded87 = (($expanded88) - 1)|0; + $expanded86 = $expanded87 ^ -1; + $107 = $105 & $expanded86; + $108 = $107; + $109 = +HEAPF64[$108>>3]; + $arglist_next24 = ((($108)) + 8|0); + HEAP32[$2>>2] = $arglist_next24; + HEAPF64[$0>>3] = $109; + break L1; + break; + } + case 18: { + $arglist_current26 = HEAP32[$2>>2]|0; + $110 = $arglist_current26; + $111 = ((0) + 8|0); + $expanded91 = $111; + $expanded90 = (($expanded91) - 1)|0; + $112 = (($110) + ($expanded90))|0; + $113 = ((0) + 8|0); + $expanded95 = $113; + $expanded94 = (($expanded95) - 1)|0; + $expanded93 = $expanded94 ^ -1; + $114 = $112 & $expanded93; + $115 = $114; + $116 = +HEAPF64[$115>>3]; + $arglist_next27 = ((($115)) + 8|0); + HEAP32[$2>>2] = $arglist_next27; + HEAPF64[$0>>3] = $116; + break L1; + break; + } + default: { + break L1; + } + } + } while(0); + } + } while(0); + return; +} +function _fmt_x($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$05$lcssa = 0, $$056 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; + var sp = 0; + sp = STACKTOP; + $4 = ($0|0)==(0); + $5 = ($1|0)==(0); + $6 = $4 & $5; + if ($6) { + $$05$lcssa = $2; + } else { + $$056 = $2;$15 = $1;$8 = $0; + while(1) { + $7 = $8 & 15; + $9 = (21978 + ($7)|0); + $10 = HEAP8[$9>>0]|0; + $11 = $10&255; + $12 = $11 | $3; + $13 = $12&255; + $14 = ((($$056)) + -1|0); + HEAP8[$14>>0] = $13; + $16 = (_bitshift64Lshr(($8|0),($15|0),4)|0); + $17 = tempRet0; + $18 = ($16|0)==(0); + $19 = ($17|0)==(0); + $20 = $18 & $19; + if ($20) { + $$05$lcssa = $14; + break; + } else { + $$056 = $14;$15 = $17;$8 = $16; + } + } + } + return ($$05$lcssa|0); +} +function _fmt_o($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$0$lcssa = 0, $$06 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ($0|0)==(0); + $4 = ($1|0)==(0); + $5 = $3 & $4; + if ($5) { + $$0$lcssa = $2; + } else { + $$06 = $2;$11 = $1;$7 = $0; + while(1) { + $6 = $7&255; + $8 = $6 & 7; + $9 = $8 | 48; + $10 = ((($$06)) + -1|0); + HEAP8[$10>>0] = $9; + $12 = (_bitshift64Lshr(($7|0),($11|0),3)|0); + $13 = tempRet0; + $14 = ($12|0)==(0); + $15 = ($13|0)==(0); + $16 = $14 & $15; + if ($16) { + $$0$lcssa = $10; + break; + } else { + $$06 = $10;$11 = $13;$7 = $12; + } + } + } + return ($$0$lcssa|0); +} +function _fmt_u($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$010$lcssa$off0 = 0, $$012 = 0, $$09$lcssa = 0, $$0914 = 0, $$1$lcssa = 0, $$111 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; + var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ($1>>>0)>(0); + $4 = ($0>>>0)>(4294967295); + $5 = ($1|0)==(0); + $6 = $5 & $4; + $7 = $3 | $6; + if ($7) { + $$0914 = $2;$8 = $0;$9 = $1; + while(1) { + $10 = (___uremdi3(($8|0),($9|0),10,0)|0); + $11 = tempRet0; + $12 = $10&255; + $13 = $12 | 48; + $14 = ((($$0914)) + -1|0); + HEAP8[$14>>0] = $13; + $15 = (___udivdi3(($8|0),($9|0),10,0)|0); + $16 = tempRet0; + $17 = ($9>>>0)>(9); + $18 = ($8>>>0)>(4294967295); + $19 = ($9|0)==(9); + $20 = $19 & $18; + $21 = $17 | $20; + if ($21) { + $$0914 = $14;$8 = $15;$9 = $16; + } else { + break; + } + } + $$010$lcssa$off0 = $15;$$09$lcssa = $14; + } else { + $$010$lcssa$off0 = $0;$$09$lcssa = $2; + } + $22 = ($$010$lcssa$off0|0)==(0); + if ($22) { + $$1$lcssa = $$09$lcssa; + } else { + $$012 = $$010$lcssa$off0;$$111 = $$09$lcssa; + while(1) { + $23 = (($$012>>>0) % 10)&-1; + $24 = $23 | 48; + $25 = $24&255; + $26 = ((($$111)) + -1|0); + HEAP8[$26>>0] = $25; + $27 = (($$012>>>0) / 10)&-1; + $28 = ($$012>>>0)<(10); + if ($28) { + $$1$lcssa = $26; + break; + } else { + $$012 = $27;$$111 = $26; + } + } + } + return ($$1$lcssa|0); +} +function _strerror($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (___pthread_self_105()|0); + $2 = ((($1)) + 188|0); + $3 = HEAP32[$2>>2]|0; + $4 = (___strerror_l($0,$3)|0); + return ($4|0); +} +function _memchr($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$0$lcssa = 0, $$035$lcssa = 0, $$035$lcssa65 = 0, $$03555 = 0, $$036$lcssa = 0, $$036$lcssa64 = 0, $$03654 = 0, $$046 = 0, $$137$lcssa = 0, $$13745 = 0, $$140 = 0, $$2 = 0, $$23839 = 0, $$3 = 0, $$lcssa = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0; + var $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0; + var $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond53 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = $1 & 255; + $4 = $0; + $5 = $4 & 3; + $6 = ($5|0)!=(0); + $7 = ($2|0)!=(0); + $or$cond53 = $7 & $6; + L1: do { + if ($or$cond53) { + $8 = $1&255; + $$03555 = $0;$$03654 = $2; + while(1) { + $9 = HEAP8[$$03555>>0]|0; + $10 = ($9<<24>>24)==($8<<24>>24); + if ($10) { + $$035$lcssa65 = $$03555;$$036$lcssa64 = $$03654; + label = 6; + break L1; + } + $11 = ((($$03555)) + 1|0); + $12 = (($$03654) + -1)|0; + $13 = $11; + $14 = $13 & 3; + $15 = ($14|0)!=(0); + $16 = ($12|0)!=(0); + $or$cond = $16 & $15; + if ($or$cond) { + $$03555 = $11;$$03654 = $12; + } else { + $$035$lcssa = $11;$$036$lcssa = $12;$$lcssa = $16; + label = 5; + break; + } + } + } else { + $$035$lcssa = $0;$$036$lcssa = $2;$$lcssa = $7; + label = 5; + } + } while(0); + if ((label|0) == 5) { + if ($$lcssa) { + $$035$lcssa65 = $$035$lcssa;$$036$lcssa64 = $$036$lcssa; + label = 6; + } else { + $$2 = $$035$lcssa;$$3 = 0; + } + } + L8: do { + if ((label|0) == 6) { + $17 = HEAP8[$$035$lcssa65>>0]|0; + $18 = $1&255; + $19 = ($17<<24>>24)==($18<<24>>24); + if ($19) { + $$2 = $$035$lcssa65;$$3 = $$036$lcssa64; + } else { + $20 = Math_imul($3, 16843009)|0; + $21 = ($$036$lcssa64>>>0)>(3); + L11: do { + if ($21) { + $$046 = $$035$lcssa65;$$13745 = $$036$lcssa64; + while(1) { + $22 = HEAP32[$$046>>2]|0; + $23 = $22 ^ $20; + $24 = (($23) + -16843009)|0; + $25 = $23 & -2139062144; + $26 = $25 ^ -2139062144; + $27 = $26 & $24; + $28 = ($27|0)==(0); + if (!($28)) { + break; + } + $29 = ((($$046)) + 4|0); + $30 = (($$13745) + -4)|0; + $31 = ($30>>>0)>(3); + if ($31) { + $$046 = $29;$$13745 = $30; + } else { + $$0$lcssa = $29;$$137$lcssa = $30; + label = 11; + break L11; + } + } + $$140 = $$046;$$23839 = $$13745; + } else { + $$0$lcssa = $$035$lcssa65;$$137$lcssa = $$036$lcssa64; + label = 11; + } + } while(0); + if ((label|0) == 11) { + $32 = ($$137$lcssa|0)==(0); + if ($32) { + $$2 = $$0$lcssa;$$3 = 0; + break; + } else { + $$140 = $$0$lcssa;$$23839 = $$137$lcssa; + } + } + while(1) { + $33 = HEAP8[$$140>>0]|0; + $34 = ($33<<24>>24)==($18<<24>>24); + if ($34) { + $$2 = $$140;$$3 = $$23839; + break L8; + } + $35 = ((($$140)) + 1|0); + $36 = (($$23839) + -1)|0; + $37 = ($36|0)==(0); + if ($37) { + $$2 = $35;$$3 = 0; + break; + } else { + $$140 = $35;$$23839 = $36; + } + } + } + } + } while(0); + $38 = ($$3|0)!=(0); + $39 = $38 ? $$2 : 0; + return ($39|0); +} +function _pad_674($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$0$lcssa = 0, $$011 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0); + $5 = sp; + $6 = $4 & 73728; + $7 = ($6|0)==(0); + $8 = ($2|0)>($3|0); + $or$cond = $8 & $7; + if ($or$cond) { + $9 = (($2) - ($3))|0; + $10 = ($9>>>0)<(256); + $11 = $10 ? $9 : 256; + _memset(($5|0),($1|0),($11|0))|0; + $12 = ($9>>>0)>(255); + if ($12) { + $13 = (($2) - ($3))|0; + $$011 = $9; + while(1) { + _out($0,$5,256); + $14 = (($$011) + -256)|0; + $15 = ($14>>>0)>(255); + if ($15) { + $$011 = $14; + } else { + break; + } + } + $16 = $13 & 255; + $$0$lcssa = $16; + } else { + $$0$lcssa = $9; + } + _out($0,$5,$$0$lcssa); + } + STACKTOP = sp;return; +} +function _wctomb($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ($0|0)==(0|0); + if ($2) { + $$0 = 0; + } else { + $3 = (_wcrtomb($0,$1,0)|0); + $$0 = $3; + } + return ($$0|0); +} +function _fmt_fp($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = +$1; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + var $$ = 0, $$$ = 0, $$$$559 = 0.0, $$$3484 = 0, $$$3484691 = 0, $$$3484692 = 0, $$$3501 = 0, $$$4502 = 0, $$$542 = 0.0, $$$559 = 0.0, $$0 = 0, $$0463$lcssa = 0, $$0463584 = 0, $$0464594 = 0, $$0471 = 0.0, $$0479 = 0, $$0487642 = 0, $$0488 = 0, $$0488653 = 0, $$0488655 = 0; + var $$0496$$9 = 0, $$0497654 = 0, $$0498 = 0, $$0509582 = 0.0, $$0510 = 0, $$0511 = 0, $$0514637 = 0, $$0520 = 0, $$0521 = 0, $$0521$ = 0, $$0523 = 0, $$0525 = 0, $$0527 = 0, $$0527629 = 0, $$0527631 = 0, $$0530636 = 0, $$1465 = 0, $$1467 = 0.0, $$1469 = 0.0, $$1472 = 0.0; + var $$1480 = 0, $$1482$lcssa = 0, $$1482661 = 0, $$1489641 = 0, $$1499$lcssa = 0, $$1499660 = 0, $$1508583 = 0, $$1512$lcssa = 0, $$1512607 = 0, $$1515 = 0, $$1524 = 0, $$1526 = 0, $$1528614 = 0, $$1531$lcssa = 0, $$1531630 = 0, $$1598 = 0, $$2 = 0, $$2473 = 0.0, $$2476 = 0, $$2476$$547 = 0; + var $$2476$$549 = 0, $$2483$ph = 0, $$2500 = 0, $$2513 = 0, $$2516618 = 0, $$2529 = 0, $$2532617 = 0, $$3 = 0.0, $$3477 = 0, $$3484$lcssa = 0, $$3484648 = 0, $$3501$lcssa = 0, $$3501647 = 0, $$3533613 = 0, $$4 = 0.0, $$4478$lcssa = 0, $$4478590 = 0, $$4492 = 0, $$4502 = 0, $$4518 = 0; + var $$5$lcssa = 0, $$534$ = 0, $$539 = 0, $$539$ = 0, $$542 = 0.0, $$546 = 0, $$548 = 0, $$5486$lcssa = 0, $$5486623 = 0, $$5493597 = 0, $$5519$ph = 0, $$555 = 0, $$556 = 0, $$559 = 0.0, $$5602 = 0, $$6 = 0, $$6494589 = 0, $$7495601 = 0, $$7505 = 0, $$7505$ = 0; + var $$7505$ph = 0, $$8 = 0, $$9$ph = 0, $$lcssa673 = 0, $$neg = 0, $$neg567 = 0, $$pn = 0, $$pn566 = 0, $$pr = 0, $$pr564 = 0, $$pre = 0, $$pre$phi690Z2D = 0, $$pre689 = 0, $$sink545$lcssa = 0, $$sink545622 = 0, $$sink562 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0; + var $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0.0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0.0, $117 = 0.0, $118 = 0.0, $119 = 0, $12 = 0, $120 = 0; + var $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0; + var $14 = 0.0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0; + var $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0; + var $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0; + var $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0; + var $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0.0, $229 = 0.0, $23 = 0; + var $230 = 0, $231 = 0.0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0; + var $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0; + var $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0; + var $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0; + var $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0; + var $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0; + var $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0.0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0; + var $358 = 0, $359 = 0, $36 = 0.0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0; + var $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0.0, $52 = 0, $53 = 0, $54 = 0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0.0, $61 = 0, $62 = 0, $63 = 0; + var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0; + var $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0.0, $88 = 0.0, $89 = 0.0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond = 0; + var $narrow = 0, $not$ = 0, $notlhs = 0, $notrhs = 0, $or$cond = 0, $or$cond3$not = 0, $or$cond537 = 0, $or$cond541 = 0, $or$cond544 = 0, $or$cond554 = 0, $or$cond6 = 0, $scevgep684 = 0, $scevgep684685 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 560|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(560|0); + $6 = sp + 8|0; + $7 = sp; + $8 = sp + 524|0; + $9 = $8; + $10 = sp + 512|0; + HEAP32[$7>>2] = 0; + $11 = ((($10)) + 12|0); + (___DOUBLE_BITS_675($1)|0); + $12 = tempRet0; + $13 = ($12|0)<(0); + if ($13) { + $14 = -$1; + $$0471 = $14;$$0520 = 1;$$0521 = 21947; + } else { + $15 = $4 & 2048; + $16 = ($15|0)==(0); + $17 = $4 & 1; + $18 = ($17|0)==(0); + $$ = $18 ? (21948) : (21953); + $$$ = $16 ? $$ : (21950); + $19 = $4 & 2049; + $narrow = ($19|0)!=(0); + $$534$ = $narrow&1; + $$0471 = $1;$$0520 = $$534$;$$0521 = $$$; + } + (___DOUBLE_BITS_675($$0471)|0); + $20 = tempRet0; + $21 = $20 & 2146435072; + $22 = ($21>>>0)<(2146435072); + $23 = (0)<(0); + $24 = ($21|0)==(2146435072); + $25 = $24 & $23; + $26 = $22 | $25; do { - if ($0) { + if ($26) { + $35 = (+_frexpl($$0471,$7)); + $36 = $35 * 2.0; + $37 = $36 != 0.0; + if ($37) { + $38 = HEAP32[$7>>2]|0; + $39 = (($38) + -1)|0; + HEAP32[$7>>2] = $39; + } + $40 = $5 | 32; + $41 = ($40|0)==(97); + if ($41) { + $42 = $5 & 32; + $43 = ($42|0)==(0); + $44 = ((($$0521)) + 9|0); + $$0521$ = $43 ? $$0521 : $44; + $45 = $$0520 | 2; + $46 = ($3>>>0)>(11); + $47 = (12 - ($3))|0; + $48 = ($47|0)==(0); + $49 = $46 | $48; + do { + if ($49) { + $$1472 = $36; + } else { + $$0509582 = 8.0;$$1508583 = $47; + while(1) { + $50 = (($$1508583) + -1)|0; + $51 = $$0509582 * 16.0; + $52 = ($50|0)==(0); + if ($52) { + break; + } else { + $$0509582 = $51;$$1508583 = $50; + } + } + $53 = HEAP8[$$0521$>>0]|0; + $54 = ($53<<24>>24)==(45); + if ($54) { + $55 = -$36; + $56 = $55 - $51; + $57 = $51 + $56; + $58 = -$57; + $$1472 = $58; + break; + } else { + $59 = $36 + $51; + $60 = $59 - $51; + $$1472 = $60; + break; + } + } + } while(0); + $61 = HEAP32[$7>>2]|0; + $62 = ($61|0)<(0); + $63 = (0 - ($61))|0; + $64 = $62 ? $63 : $61; + $65 = ($64|0)<(0); + $66 = $65 << 31 >> 31; + $67 = (_fmt_u($64,$66,$11)|0); + $68 = ($67|0)==($11|0); + if ($68) { + $69 = ((($10)) + 11|0); + HEAP8[$69>>0] = 48; + $$0511 = $69; + } else { + $$0511 = $67; + } + $70 = $61 >> 31; + $71 = $70 & 2; + $72 = (($71) + 43)|0; + $73 = $72&255; + $74 = ((($$0511)) + -1|0); + HEAP8[$74>>0] = $73; + $75 = (($5) + 15)|0; + $76 = $75&255; + $77 = ((($$0511)) + -2|0); + HEAP8[$77>>0] = $76; + $notrhs = ($3|0)<(1); + $78 = $4 & 8; + $79 = ($78|0)==(0); + $$0523 = $8;$$2473 = $$1472; + while(1) { + $80 = (~~(($$2473))); + $81 = (21978 + ($80)|0); + $82 = HEAP8[$81>>0]|0; + $83 = $82&255; + $84 = $83 | $42; + $85 = $84&255; + $86 = ((($$0523)) + 1|0); + HEAP8[$$0523>>0] = $85; + $87 = (+($80|0)); + $88 = $$2473 - $87; + $89 = $88 * 16.0; + $90 = $86; + $91 = (($90) - ($9))|0; + $92 = ($91|0)==(1); + if ($92) { + $notlhs = $89 == 0.0; + $or$cond3$not = $notrhs & $notlhs; + $or$cond = $79 & $or$cond3$not; + if ($or$cond) { + $$1524 = $86; + } else { + $93 = ((($$0523)) + 2|0); + HEAP8[$86>>0] = 46; + $$1524 = $93; + } + } else { + $$1524 = $86; + } + $94 = $89 != 0.0; + if ($94) { + $$0523 = $$1524;$$2473 = $89; + } else { + break; + } + } + $95 = ($3|0)!=(0); + $96 = $77; + $97 = $11; + $98 = $$1524; + $99 = (($98) - ($9))|0; + $100 = (($97) - ($96))|0; + $101 = (($99) + -2)|0; + $102 = ($101|0)<($3|0); + $or$cond537 = $95 & $102; + $103 = (($3) + 2)|0; + $$pn = $or$cond537 ? $103 : $99; + $$0525 = (($100) + ($45))|0; + $104 = (($$0525) + ($$pn))|0; + _pad_674($0,32,$2,$104,$4); + _out($0,$$0521$,$45); + $105 = $4 ^ 65536; + _pad_674($0,48,$2,$104,$105); + _out($0,$8,$99); + $106 = (($$pn) - ($99))|0; + _pad_674($0,48,$106,0,0); + _out($0,$77,$100); + $107 = $4 ^ 8192; + _pad_674($0,32,$2,$104,$107); + $$sink562 = $104; + break; + } + $108 = ($3|0)<(0); + $$539 = $108 ? 6 : $3; + if ($37) { + $109 = $36 * 268435456.0; + $110 = HEAP32[$7>>2]|0; + $111 = (($110) + -28)|0; + HEAP32[$7>>2] = $111; + $$3 = $109;$$pr = $111; + } else { + $$pre = HEAP32[$7>>2]|0; + $$3 = $36;$$pr = $$pre; + } + $112 = ($$pr|0)<(0); + $113 = ((($6)) + 288|0); + $$556 = $112 ? $6 : $113; + $$0498 = $$556;$$4 = $$3; + while(1) { + $114 = (~~(($$4))>>>0); + HEAP32[$$0498>>2] = $114; + $115 = ((($$0498)) + 4|0); + $116 = (+($114>>>0)); + $117 = $$4 - $116; + $118 = $117 * 1.0E+9; + $119 = $118 != 0.0; + if ($119) { + $$0498 = $115;$$4 = $118; + } else { + break; + } + } + $120 = ($$pr|0)>(0); + if ($120) { + $$1482661 = $$556;$$1499660 = $115;$122 = $$pr; + while(1) { + $121 = ($122|0)<(29); + $123 = $121 ? $122 : 29; + $$0488653 = ((($$1499660)) + -4|0); + $124 = ($$0488653>>>0)<($$1482661>>>0); + if ($124) { + $$2483$ph = $$1482661; + } else { + $$0488655 = $$0488653;$$0497654 = 0; + while(1) { + $125 = HEAP32[$$0488655>>2]|0; + $126 = (_bitshift64Shl(($125|0),0,($123|0))|0); + $127 = tempRet0; + $128 = (_i64Add(($126|0),($127|0),($$0497654|0),0)|0); + $129 = tempRet0; + $130 = (___uremdi3(($128|0),($129|0),1000000000,0)|0); + $131 = tempRet0; + HEAP32[$$0488655>>2] = $130; + $132 = (___udivdi3(($128|0),($129|0),1000000000,0)|0); + $133 = tempRet0; + $$0488 = ((($$0488655)) + -4|0); + $134 = ($$0488>>>0)<($$1482661>>>0); + if ($134) { + break; + } else { + $$0488655 = $$0488;$$0497654 = $132; + } + } + $135 = ($132|0)==(0); + if ($135) { + $$2483$ph = $$1482661; + } else { + $136 = ((($$1482661)) + -4|0); + HEAP32[$136>>2] = $132; + $$2483$ph = $136; + } + } + $$2500 = $$1499660; + while(1) { + $137 = ($$2500>>>0)>($$2483$ph>>>0); + if (!($137)) { + break; + } + $138 = ((($$2500)) + -4|0); + $139 = HEAP32[$138>>2]|0; + $140 = ($139|0)==(0); + if ($140) { + $$2500 = $138; + } else { + break; + } + } + $141 = HEAP32[$7>>2]|0; + $142 = (($141) - ($123))|0; + HEAP32[$7>>2] = $142; + $143 = ($142|0)>(0); + if ($143) { + $$1482661 = $$2483$ph;$$1499660 = $$2500;$122 = $142; + } else { + $$1482$lcssa = $$2483$ph;$$1499$lcssa = $$2500;$$pr564 = $142; + break; + } + } + } else { + $$1482$lcssa = $$556;$$1499$lcssa = $115;$$pr564 = $$pr; + } + $144 = ($$pr564|0)<(0); + if ($144) { + $145 = (($$539) + 25)|0; + $146 = (($145|0) / 9)&-1; + $147 = (($146) + 1)|0; + $148 = ($40|0)==(102); + $$3484648 = $$1482$lcssa;$$3501647 = $$1499$lcssa;$150 = $$pr564; + while(1) { + $149 = (0 - ($150))|0; + $151 = ($149|0)<(9); + $152 = $151 ? $149 : 9; + $153 = ($$3484648>>>0)<($$3501647>>>0); + if ($153) { + $157 = 1 << $152; + $158 = (($157) + -1)|0; + $159 = 1000000000 >>> $152; + $$0487642 = 0;$$1489641 = $$3484648; + while(1) { + $160 = HEAP32[$$1489641>>2]|0; + $161 = $160 & $158; + $162 = $160 >>> $152; + $163 = (($162) + ($$0487642))|0; + HEAP32[$$1489641>>2] = $163; + $164 = Math_imul($161, $159)|0; + $165 = ((($$1489641)) + 4|0); + $166 = ($165>>>0)<($$3501647>>>0); + if ($166) { + $$0487642 = $164;$$1489641 = $165; + } else { + break; + } + } + $167 = HEAP32[$$3484648>>2]|0; + $168 = ($167|0)==(0); + $169 = ((($$3484648)) + 4|0); + $$$3484 = $168 ? $169 : $$3484648; + $170 = ($164|0)==(0); + if ($170) { + $$$3484692 = $$$3484;$$4502 = $$3501647; + } else { + $171 = ((($$3501647)) + 4|0); + HEAP32[$$3501647>>2] = $164; + $$$3484692 = $$$3484;$$4502 = $171; + } + } else { + $154 = HEAP32[$$3484648>>2]|0; + $155 = ($154|0)==(0); + $156 = ((($$3484648)) + 4|0); + $$$3484691 = $155 ? $156 : $$3484648; + $$$3484692 = $$$3484691;$$4502 = $$3501647; + } + $172 = $148 ? $$556 : $$$3484692; + $173 = $$4502; + $174 = $172; + $175 = (($173) - ($174))|0; + $176 = $175 >> 2; + $177 = ($176|0)>($147|0); + $178 = (($172) + ($147<<2)|0); + $$$4502 = $177 ? $178 : $$4502; + $179 = HEAP32[$7>>2]|0; + $180 = (($179) + ($152))|0; + HEAP32[$7>>2] = $180; + $181 = ($180|0)<(0); + if ($181) { + $$3484648 = $$$3484692;$$3501647 = $$$4502;$150 = $180; + } else { + $$3484$lcssa = $$$3484692;$$3501$lcssa = $$$4502; + break; + } + } + } else { + $$3484$lcssa = $$1482$lcssa;$$3501$lcssa = $$1499$lcssa; + } + $182 = ($$3484$lcssa>>>0)<($$3501$lcssa>>>0); + $183 = $$556; + if ($182) { + $184 = $$3484$lcssa; + $185 = (($183) - ($184))|0; + $186 = $185 >> 2; + $187 = ($186*9)|0; + $188 = HEAP32[$$3484$lcssa>>2]|0; + $189 = ($188>>>0)<(10); + if ($189) { + $$1515 = $187; + } else { + $$0514637 = $187;$$0530636 = 10; + while(1) { + $190 = ($$0530636*10)|0; + $191 = (($$0514637) + 1)|0; + $192 = ($188>>>0)<($190>>>0); + if ($192) { + $$1515 = $191; + break; + } else { + $$0514637 = $191;$$0530636 = $190; + } + } + } + } else { + $$1515 = 0; + } + $193 = ($40|0)!=(102); + $194 = $193 ? $$1515 : 0; + $195 = (($$539) - ($194))|0; + $196 = ($40|0)==(103); + $197 = ($$539|0)!=(0); + $198 = $197 & $196; + $$neg = $198 << 31 >> 31; + $199 = (($195) + ($$neg))|0; + $200 = $$3501$lcssa; + $201 = (($200) - ($183))|0; + $202 = $201 >> 2; + $203 = ($202*9)|0; + $204 = (($203) + -9)|0; + $205 = ($199|0)<($204|0); + if ($205) { + $206 = ((($$556)) + 4|0); + $207 = (($199) + 9216)|0; + $208 = (($207|0) / 9)&-1; + $209 = (($208) + -1024)|0; + $210 = (($206) + ($209<<2)|0); + $211 = (($207|0) % 9)&-1; + $$0527629 = (($211) + 1)|0; + $212 = ($$0527629|0)<(9); + if ($212) { + $$0527631 = $$0527629;$$1531630 = 10; + while(1) { + $213 = ($$1531630*10)|0; + $$0527 = (($$0527631) + 1)|0; + $exitcond = ($$0527|0)==(9); + if ($exitcond) { + $$1531$lcssa = $213; + break; + } else { + $$0527631 = $$0527;$$1531630 = $213; + } + } + } else { + $$1531$lcssa = 10; + } + $214 = HEAP32[$210>>2]|0; + $215 = (($214>>>0) % ($$1531$lcssa>>>0))&-1; + $216 = ($215|0)==(0); + $217 = ((($210)) + 4|0); + $218 = ($217|0)==($$3501$lcssa|0); + $or$cond541 = $218 & $216; + if ($or$cond541) { + $$4492 = $210;$$4518 = $$1515;$$8 = $$3484$lcssa; + } else { + $219 = (($214>>>0) / ($$1531$lcssa>>>0))&-1; + $220 = $219 & 1; + $221 = ($220|0)==(0); + $$542 = $221 ? 9007199254740992.0 : 9007199254740994.0; + $222 = (($$1531$lcssa|0) / 2)&-1; + $223 = ($215>>>0)<($222>>>0); + $224 = ($215|0)==($222|0); + $or$cond544 = $218 & $224; + $$559 = $or$cond544 ? 1.0 : 1.5; + $$$559 = $223 ? 0.5 : $$559; + $225 = ($$0520|0)==(0); + if ($225) { + $$1467 = $$$559;$$1469 = $$542; + } else { + $226 = HEAP8[$$0521>>0]|0; + $227 = ($226<<24>>24)==(45); + $228 = -$$542; + $229 = -$$$559; + $$$542 = $227 ? $228 : $$542; + $$$$559 = $227 ? $229 : $$$559; + $$1467 = $$$$559;$$1469 = $$$542; + } + $230 = (($214) - ($215))|0; + HEAP32[$210>>2] = $230; + $231 = $$1469 + $$1467; + $232 = $231 != $$1469; + if ($232) { + $233 = (($230) + ($$1531$lcssa))|0; + HEAP32[$210>>2] = $233; + $234 = ($233>>>0)>(999999999); + if ($234) { + $$5486623 = $$3484$lcssa;$$sink545622 = $210; + while(1) { + $235 = ((($$sink545622)) + -4|0); + HEAP32[$$sink545622>>2] = 0; + $236 = ($235>>>0)<($$5486623>>>0); + if ($236) { + $237 = ((($$5486623)) + -4|0); + HEAP32[$237>>2] = 0; + $$6 = $237; + } else { + $$6 = $$5486623; + } + $238 = HEAP32[$235>>2]|0; + $239 = (($238) + 1)|0; + HEAP32[$235>>2] = $239; + $240 = ($239>>>0)>(999999999); + if ($240) { + $$5486623 = $$6;$$sink545622 = $235; + } else { + $$5486$lcssa = $$6;$$sink545$lcssa = $235; + break; + } + } + } else { + $$5486$lcssa = $$3484$lcssa;$$sink545$lcssa = $210; + } + $241 = $$5486$lcssa; + $242 = (($183) - ($241))|0; + $243 = $242 >> 2; + $244 = ($243*9)|0; + $245 = HEAP32[$$5486$lcssa>>2]|0; + $246 = ($245>>>0)<(10); + if ($246) { + $$4492 = $$sink545$lcssa;$$4518 = $244;$$8 = $$5486$lcssa; + } else { + $$2516618 = $244;$$2532617 = 10; + while(1) { + $247 = ($$2532617*10)|0; + $248 = (($$2516618) + 1)|0; + $249 = ($245>>>0)<($247>>>0); + if ($249) { + $$4492 = $$sink545$lcssa;$$4518 = $248;$$8 = $$5486$lcssa; + break; + } else { + $$2516618 = $248;$$2532617 = $247; + } + } + } + } else { + $$4492 = $210;$$4518 = $$1515;$$8 = $$3484$lcssa; + } + } + $250 = ((($$4492)) + 4|0); + $251 = ($$3501$lcssa>>>0)>($250>>>0); + $$$3501 = $251 ? $250 : $$3501$lcssa; + $$5519$ph = $$4518;$$7505$ph = $$$3501;$$9$ph = $$8; + } else { + $$5519$ph = $$1515;$$7505$ph = $$3501$lcssa;$$9$ph = $$3484$lcssa; + } + $$7505 = $$7505$ph; + while(1) { + $252 = ($$7505>>>0)>($$9$ph>>>0); + if (!($252)) { + $$lcssa673 = 0; + break; + } + $253 = ((($$7505)) + -4|0); + $254 = HEAP32[$253>>2]|0; + $255 = ($254|0)==(0); + if ($255) { + $$7505 = $253; + } else { + $$lcssa673 = 1; + break; + } + } + $256 = (0 - ($$5519$ph))|0; + do { + if ($196) { + $not$ = $197 ^ 1; + $257 = $not$&1; + $$539$ = (($257) + ($$539))|0; + $258 = ($$539$|0)>($$5519$ph|0); + $259 = ($$5519$ph|0)>(-5); + $or$cond6 = $258 & $259; + if ($or$cond6) { + $260 = (($5) + -1)|0; + $$neg567 = (($$539$) + -1)|0; + $261 = (($$neg567) - ($$5519$ph))|0; + $$0479 = $260;$$2476 = $261; + } else { + $262 = (($5) + -2)|0; + $263 = (($$539$) + -1)|0; + $$0479 = $262;$$2476 = $263; + } + $264 = $4 & 8; + $265 = ($264|0)==(0); + if ($265) { + if ($$lcssa673) { + $266 = ((($$7505)) + -4|0); + $267 = HEAP32[$266>>2]|0; + $268 = ($267|0)==(0); + if ($268) { + $$2529 = 9; + } else { + $269 = (($267>>>0) % 10)&-1; + $270 = ($269|0)==(0); + if ($270) { + $$1528614 = 0;$$3533613 = 10; + while(1) { + $271 = ($$3533613*10)|0; + $272 = (($$1528614) + 1)|0; + $273 = (($267>>>0) % ($271>>>0))&-1; + $274 = ($273|0)==(0); + if ($274) { + $$1528614 = $272;$$3533613 = $271; + } else { + $$2529 = $272; + break; + } + } + } else { + $$2529 = 0; + } + } + } else { + $$2529 = 9; + } + $275 = $$0479 | 32; + $276 = ($275|0)==(102); + $277 = $$7505; + $278 = (($277) - ($183))|0; + $279 = $278 >> 2; + $280 = ($279*9)|0; + $281 = (($280) + -9)|0; + if ($276) { + $282 = (($281) - ($$2529))|0; + $283 = ($282|0)>(0); + $$546 = $283 ? $282 : 0; + $284 = ($$2476|0)<($$546|0); + $$2476$$547 = $284 ? $$2476 : $$546; + $$1480 = $$0479;$$3477 = $$2476$$547;$$pre$phi690Z2D = 0; + break; + } else { + $285 = (($281) + ($$5519$ph))|0; + $286 = (($285) - ($$2529))|0; + $287 = ($286|0)>(0); + $$548 = $287 ? $286 : 0; + $288 = ($$2476|0)<($$548|0); + $$2476$$549 = $288 ? $$2476 : $$548; + $$1480 = $$0479;$$3477 = $$2476$$549;$$pre$phi690Z2D = 0; + break; + } + } else { + $$1480 = $$0479;$$3477 = $$2476;$$pre$phi690Z2D = $264; + } + } else { + $$pre689 = $4 & 8; + $$1480 = $5;$$3477 = $$539;$$pre$phi690Z2D = $$pre689; + } + } while(0); + $289 = $$3477 | $$pre$phi690Z2D; + $290 = ($289|0)!=(0); + $291 = $290&1; + $292 = $$1480 | 32; + $293 = ($292|0)==(102); + if ($293) { + $294 = ($$5519$ph|0)>(0); + $295 = $294 ? $$5519$ph : 0; + $$2513 = 0;$$pn566 = $295; + } else { + $296 = ($$5519$ph|0)<(0); + $297 = $296 ? $256 : $$5519$ph; + $298 = ($297|0)<(0); + $299 = $298 << 31 >> 31; + $300 = (_fmt_u($297,$299,$11)|0); + $301 = $11; + $302 = $300; + $303 = (($301) - ($302))|0; + $304 = ($303|0)<(2); + if ($304) { + $$1512607 = $300; + while(1) { + $305 = ((($$1512607)) + -1|0); + HEAP8[$305>>0] = 48; + $306 = $305; + $307 = (($301) - ($306))|0; + $308 = ($307|0)<(2); + if ($308) { + $$1512607 = $305; + } else { + $$1512$lcssa = $305; + break; + } + } + } else { + $$1512$lcssa = $300; + } + $309 = $$5519$ph >> 31; + $310 = $309 & 2; + $311 = (($310) + 43)|0; + $312 = $311&255; + $313 = ((($$1512$lcssa)) + -1|0); + HEAP8[$313>>0] = $312; + $314 = $$1480&255; + $315 = ((($$1512$lcssa)) + -2|0); + HEAP8[$315>>0] = $314; + $316 = $315; + $317 = (($301) - ($316))|0; + $$2513 = $315;$$pn566 = $317; + } + $318 = (($$0520) + 1)|0; + $319 = (($318) + ($$3477))|0; + $$1526 = (($319) + ($291))|0; + $320 = (($$1526) + ($$pn566))|0; + _pad_674($0,32,$2,$320,$4); + _out($0,$$0521,$$0520); + $321 = $4 ^ 65536; + _pad_674($0,48,$2,$320,$321); + if ($293) { + $322 = ($$9$ph>>>0)>($$556>>>0); + $$0496$$9 = $322 ? $$556 : $$9$ph; + $323 = ((($8)) + 9|0); + $324 = $323; + $325 = ((($8)) + 8|0); + $$5493597 = $$0496$$9; + while(1) { + $326 = HEAP32[$$5493597>>2]|0; + $327 = (_fmt_u($326,0,$323)|0); + $328 = ($$5493597|0)==($$0496$$9|0); + if ($328) { + $334 = ($327|0)==($323|0); + if ($334) { + HEAP8[$325>>0] = 48; + $$1465 = $325; + } else { + $$1465 = $327; + } + } else { + $329 = ($327>>>0)>($8>>>0); + if ($329) { + $330 = $327; + $331 = (($330) - ($9))|0; + _memset(($8|0),48,($331|0))|0; + $$0464594 = $327; + while(1) { + $332 = ((($$0464594)) + -1|0); + $333 = ($332>>>0)>($8>>>0); + if ($333) { + $$0464594 = $332; + } else { + $$1465 = $332; + break; + } + } + } else { + $$1465 = $327; + } + } + $335 = $$1465; + $336 = (($324) - ($335))|0; + _out($0,$$1465,$336); + $337 = ((($$5493597)) + 4|0); + $338 = ($337>>>0)>($$556>>>0); + if ($338) { + break; + } else { + $$5493597 = $337; + } + } + $339 = ($289|0)==(0); + if (!($339)) { + _out($0,21994,1); + } + $340 = ($337>>>0)<($$7505>>>0); + $341 = ($$3477|0)>(0); + $342 = $340 & $341; + if ($342) { + $$4478590 = $$3477;$$6494589 = $337; + while(1) { + $343 = HEAP32[$$6494589>>2]|0; + $344 = (_fmt_u($343,0,$323)|0); + $345 = ($344>>>0)>($8>>>0); + if ($345) { + $346 = $344; + $347 = (($346) - ($9))|0; + _memset(($8|0),48,($347|0))|0; + $$0463584 = $344; + while(1) { + $348 = ((($$0463584)) + -1|0); + $349 = ($348>>>0)>($8>>>0); + if ($349) { + $$0463584 = $348; + } else { + $$0463$lcssa = $348; + break; + } + } + } else { + $$0463$lcssa = $344; + } + $350 = ($$4478590|0)<(9); + $351 = $350 ? $$4478590 : 9; + _out($0,$$0463$lcssa,$351); + $352 = ((($$6494589)) + 4|0); + $353 = (($$4478590) + -9)|0; + $354 = ($352>>>0)<($$7505>>>0); + $355 = ($$4478590|0)>(9); + $356 = $354 & $355; + if ($356) { + $$4478590 = $353;$$6494589 = $352; + } else { + $$4478$lcssa = $353; + break; + } + } + } else { + $$4478$lcssa = $$3477; + } + $357 = (($$4478$lcssa) + 9)|0; + _pad_674($0,48,$357,9,0); + } else { + $358 = ((($$9$ph)) + 4|0); + $$7505$ = $$lcssa673 ? $$7505 : $358; + $359 = ($$3477|0)>(-1); + if ($359) { + $360 = ((($8)) + 9|0); + $361 = ($$pre$phi690Z2D|0)==(0); + $362 = $360; + $363 = (0 - ($9))|0; + $364 = ((($8)) + 8|0); + $$5602 = $$3477;$$7495601 = $$9$ph; + while(1) { + $365 = HEAP32[$$7495601>>2]|0; + $366 = (_fmt_u($365,0,$360)|0); + $367 = ($366|0)==($360|0); + if ($367) { + HEAP8[$364>>0] = 48; + $$0 = $364; + } else { + $$0 = $366; + } + $368 = ($$7495601|0)==($$9$ph|0); + do { + if ($368) { + $372 = ((($$0)) + 1|0); + _out($0,$$0,1); + $373 = ($$5602|0)<(1); + $or$cond554 = $361 & $373; + if ($or$cond554) { + $$2 = $372; + break; + } + _out($0,21994,1); + $$2 = $372; + } else { + $369 = ($$0>>>0)>($8>>>0); + if (!($369)) { + $$2 = $$0; + break; + } + $scevgep684 = (($$0) + ($363)|0); + $scevgep684685 = $scevgep684; + _memset(($8|0),48,($scevgep684685|0))|0; + $$1598 = $$0; + while(1) { + $370 = ((($$1598)) + -1|0); + $371 = ($370>>>0)>($8>>>0); + if ($371) { + $$1598 = $370; + } else { + $$2 = $370; + break; + } + } + } + } while(0); + $374 = $$2; + $375 = (($362) - ($374))|0; + $376 = ($$5602|0)>($375|0); + $377 = $376 ? $375 : $$5602; + _out($0,$$2,$377); + $378 = (($$5602) - ($375))|0; + $379 = ((($$7495601)) + 4|0); + $380 = ($379>>>0)<($$7505$>>>0); + $381 = ($378|0)>(-1); + $382 = $380 & $381; + if ($382) { + $$5602 = $378;$$7495601 = $379; + } else { + $$5$lcssa = $378; + break; + } + } + } else { + $$5$lcssa = $$3477; + } + $383 = (($$5$lcssa) + 18)|0; + _pad_674($0,48,$383,18,0); + $384 = $11; + $385 = $$2513; + $386 = (($384) - ($385))|0; + _out($0,$$2513,$386); + } + $387 = $4 ^ 8192; + _pad_674($0,32,$2,$320,$387); + $$sink562 = $320; + } else { + $27 = $5 & 32; + $28 = ($27|0)!=(0); + $29 = $28 ? 21966 : 21970; + $30 = ($$0471 != $$0471) | (0.0 != 0.0); + $31 = $28 ? 23897 : 21974; + $$0510 = $30 ? $31 : $29; + $32 = (($$0520) + 3)|0; + $33 = $4 & -65537; + _pad_674($0,32,$2,$32,$33); + _out($0,$$0521,$$0520); + _out($0,$$0510,3); + $34 = $4 ^ 8192; + _pad_674($0,32,$2,$32,$34); + $$sink562 = $32; + } + } while(0); + $388 = ($$sink562|0)<($2|0); + $$555 = $388 ? $2 : $$sink562; + STACKTOP = sp;return ($$555|0); +} +function ___DOUBLE_BITS_675($0) { + $0 = +$0; + var $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF64[tempDoublePtr>>3] = $0;$1 = HEAP32[tempDoublePtr>>2]|0; + $2 = HEAP32[tempDoublePtr+4>>2]|0; + tempRet0 = ($2); + return ($1|0); +} +function _frexpl($0,$1) { + $0 = +$0; + $1 = $1|0; + var $2 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = (+_frexp($0,$1)); + return (+$2); +} +function _frexp($0,$1) { + $0 = +$0; + $1 = $1|0; + var $$0 = 0.0, $$016 = 0.0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0.0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0.0, $storemerge = 0, $trunc$clear = 0, label = 0; + var sp = 0; + sp = STACKTOP; + HEAPF64[tempDoublePtr>>3] = $0;$2 = HEAP32[tempDoublePtr>>2]|0; + $3 = HEAP32[tempDoublePtr+4>>2]|0; + $4 = (_bitshift64Lshr(($2|0),($3|0),52)|0); + $5 = tempRet0; + $6 = $4&65535; + $trunc$clear = $6 & 2047; + switch ($trunc$clear<<16>>16) { + case 0: { + $7 = $0 != 0.0; + if ($7) { + $8 = $0 * 1.8446744073709552E+19; + $9 = (+_frexp($8,$1)); + $10 = HEAP32[$1>>2]|0; + $11 = (($10) + -64)|0; + $$016 = $9;$storemerge = $11; + } else { + $$016 = $0;$storemerge = 0; + } + HEAP32[$1>>2] = $storemerge; + $$0 = $$016; + break; + } + case 2047: { + $$0 = $0; + break; + } + default: { + $12 = $4 & 2047; + $13 = (($12) + -1022)|0; + HEAP32[$1>>2] = $13; + $14 = $3 & -2146435073; + $15 = $14 | 1071644672; + HEAP32[tempDoublePtr>>2] = $2;HEAP32[tempDoublePtr+4>>2] = $15;$16 = +HEAPF64[tempDoublePtr>>3]; + $$0 = $16; + } + } + return (+$$0); +} +function _wcrtomb($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $not$ = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ($0|0)==(0|0); + do { + if ($3) { $$0 = 1; } else { - $1 = ($wc>>>0)<(128); - if ($1) { - $2 = $wc&255; - HEAP8[$s>>0] = $2; + $4 = ($1>>>0)<(128); + if ($4) { + $5 = $1&255; + HEAP8[$0>>0] = $5; $$0 = 1; break; } - $3 = ($wc>>>0)<(2048); - if ($3) { - $4 = $wc >>> 6; - $5 = $4 | 192; - $6 = $5&255; - $7 = ((($s)) + 1|0); - HEAP8[$s>>0] = $6; - $8 = $wc & 63; - $9 = $8 | 128; - $10 = $9&255; - HEAP8[$7>>0] = $10; + $6 = (___pthread_self_448()|0); + $7 = ((($6)) + 188|0); + $8 = HEAP32[$7>>2]|0; + $9 = HEAP32[$8>>2]|0; + $not$ = ($9|0)==(0|0); + if ($not$) { + $10 = $1 & -128; + $11 = ($10|0)==(57216); + if ($11) { + $13 = $1&255; + HEAP8[$0>>0] = $13; + $$0 = 1; + break; + } else { + $12 = (___errno_location()|0); + HEAP32[$12>>2] = 84; + $$0 = -1; + break; + } + } + $14 = ($1>>>0)<(2048); + if ($14) { + $15 = $1 >>> 6; + $16 = $15 | 192; + $17 = $16&255; + $18 = ((($0)) + 1|0); + HEAP8[$0>>0] = $17; + $19 = $1 & 63; + $20 = $19 | 128; + $21 = $20&255; + HEAP8[$18>>0] = $21; $$0 = 2; break; } - $11 = ($wc>>>0)<(55296); - $12 = $wc & -8192; - $13 = ($12|0)==(57344); - $or$cond = $11 | $13; + $22 = ($1>>>0)<(55296); + $23 = $1 & -8192; + $24 = ($23|0)==(57344); + $or$cond = $22 | $24; if ($or$cond) { - $14 = $wc >>> 12; - $15 = $14 | 224; - $16 = $15&255; - $17 = ((($s)) + 1|0); - HEAP8[$s>>0] = $16; - $18 = $wc >>> 6; - $19 = $18 & 63; - $20 = $19 | 128; - $21 = $20&255; - $22 = ((($s)) + 2|0); - HEAP8[$17>>0] = $21; - $23 = $wc & 63; - $24 = $23 | 128; - $25 = $24&255; - HEAP8[$22>>0] = $25; + $25 = $1 >>> 12; + $26 = $25 | 224; + $27 = $26&255; + $28 = ((($0)) + 1|0); + HEAP8[$0>>0] = $27; + $29 = $1 >>> 6; + $30 = $29 & 63; + $31 = $30 | 128; + $32 = $31&255; + $33 = ((($0)) + 2|0); + HEAP8[$28>>0] = $32; + $34 = $1 & 63; + $35 = $34 | 128; + $36 = $35&255; + HEAP8[$33>>0] = $36; $$0 = 3; break; } - $26 = (($wc) + -65536)|0; - $27 = ($26>>>0)<(1048576); - if ($27) { - $28 = $wc >>> 18; - $29 = $28 | 240; - $30 = $29&255; - $31 = ((($s)) + 1|0); - HEAP8[$s>>0] = $30; - $32 = $wc >>> 12; - $33 = $32 & 63; - $34 = $33 | 128; - $35 = $34&255; - $36 = ((($s)) + 2|0); - HEAP8[$31>>0] = $35; - $37 = $wc >>> 6; - $38 = $37 & 63; - $39 = $38 | 128; - $40 = $39&255; - $41 = ((($s)) + 3|0); - HEAP8[$36>>0] = $40; - $42 = $wc & 63; - $43 = $42 | 128; - $44 = $43&255; - HEAP8[$41>>0] = $44; + $37 = (($1) + -65536)|0; + $38 = ($37>>>0)<(1048576); + if ($38) { + $39 = $1 >>> 18; + $40 = $39 | 240; + $41 = $40&255; + $42 = ((($0)) + 1|0); + HEAP8[$0>>0] = $41; + $43 = $1 >>> 12; + $44 = $43 & 63; + $45 = $44 | 128; + $46 = $45&255; + $47 = ((($0)) + 2|0); + HEAP8[$42>>0] = $46; + $48 = $1 >>> 6; + $49 = $48 & 63; + $50 = $49 | 128; + $51 = $50&255; + $52 = ((($0)) + 3|0); + HEAP8[$47>>0] = $51; + $53 = $1 & 63; + $54 = $53 | 128; + $55 = $54&255; + HEAP8[$52>>0] = $55; $$0 = 4; break; } else { - $45 = (___errno_location()|0); - HEAP32[$45>>2] = 84; + $56 = (___errno_location()|0); + HEAP32[$56>>2] = 84; $$0 = -1; break; } @@ -52064,37 +56690,6166 @@ function _wcrtomb($s,$wc,$st) { } while(0); return ($$0|0); } -function _wctomb($s,$wc) { - $s = $s|0; - $wc = $wc|0; - var $$0 = 0, $0 = 0, $1 = 0, label = 0, sp = 0; +function ___pthread_self_448() { + var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = ($s|0)==(0|0); - if ($0) { + $0 = (_pthread_self()|0); + return ($0|0); +} +function ___pthread_self_105() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (_pthread_self()|0); + return ($0|0); +} +function ___strerror_l($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$012$lcssa = 0, $$01214 = 0, $$016 = 0, $$113 = 0, $$115 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; + var label = 0, sp = 0; + sp = STACKTOP; + $$016 = 0; + while(1) { + $3 = (21996 + ($$016)|0); + $4 = HEAP8[$3>>0]|0; + $5 = $4&255; + $6 = ($5|0)==($0|0); + if ($6) { + label = 2; + break; + } + $7 = (($$016) + 1)|0; + $8 = ($7|0)==(87); + if ($8) { + $$01214 = 22084;$$115 = 87; + label = 5; + break; + } else { + $$016 = $7; + } + } + if ((label|0) == 2) { + $2 = ($$016|0)==(0); + if ($2) { + $$012$lcssa = 22084; + } else { + $$01214 = 22084;$$115 = $$016; + label = 5; + } + } + if ((label|0) == 5) { + while(1) { + label = 0; + $$113 = $$01214; + while(1) { + $9 = HEAP8[$$113>>0]|0; + $10 = ($9<<24>>24)==(0); + $11 = ((($$113)) + 1|0); + if ($10) { + break; + } else { + $$113 = $11; + } + } + $12 = (($$115) + -1)|0; + $13 = ($12|0)==(0); + if ($13) { + $$012$lcssa = $11; + break; + } else { + $$01214 = $11;$$115 = $12; + label = 5; + } + } + } + $14 = ((($1)) + 20|0); + $15 = HEAP32[$14>>2]|0; + $16 = (___lctrans($$012$lcssa,$15)|0); + return ($16|0); +} +function ___lctrans($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = (___lctrans_impl($0,$1)|0); + return ($2|0); +} +function ___lctrans_impl($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ($1|0)==(0|0); + if ($2) { $$0 = 0; } else { - $1 = (_wcrtomb($s,$wc,0)|0); - $$0 = $1; + $3 = HEAP32[$1>>2]|0; + $4 = ((($1)) + 4|0); + $5 = HEAP32[$4>>2]|0; + $6 = (___mo_lookup($3,$5,$0)|0); + $$0 = $6; + } + $7 = ($$0|0)!=(0|0); + $8 = $7 ? $$0 : $0; + return ($8|0); +} +function ___mo_lookup($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$ = 0, $$090 = 0, $$094 = 0, $$191 = 0, $$195 = 0, $$4 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; + var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; + var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0; + var $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond102 = 0, $or$cond104 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = HEAP32[$0>>2]|0; + $4 = (($3) + 1794895138)|0; + $5 = ((($0)) + 8|0); + $6 = HEAP32[$5>>2]|0; + $7 = (_swapc($6,$4)|0); + $8 = ((($0)) + 12|0); + $9 = HEAP32[$8>>2]|0; + $10 = (_swapc($9,$4)|0); + $11 = ((($0)) + 16|0); + $12 = HEAP32[$11>>2]|0; + $13 = (_swapc($12,$4)|0); + $14 = $1 >>> 2; + $15 = ($7>>>0)<($14>>>0); + L1: do { + if ($15) { + $16 = $7 << 2; + $17 = (($1) - ($16))|0; + $18 = ($10>>>0)<($17>>>0); + $19 = ($13>>>0)<($17>>>0); + $or$cond = $18 & $19; + if ($or$cond) { + $20 = $13 | $10; + $21 = $20 & 3; + $22 = ($21|0)==(0); + if ($22) { + $23 = $10 >>> 2; + $24 = $13 >>> 2; + $$090 = 0;$$094 = $7; + while(1) { + $25 = $$094 >>> 1; + $26 = (($$090) + ($25))|0; + $27 = $26 << 1; + $28 = (($27) + ($23))|0; + $29 = (($0) + ($28<<2)|0); + $30 = HEAP32[$29>>2]|0; + $31 = (_swapc($30,$4)|0); + $32 = (($28) + 1)|0; + $33 = (($0) + ($32<<2)|0); + $34 = HEAP32[$33>>2]|0; + $35 = (_swapc($34,$4)|0); + $36 = ($35>>>0)<($1>>>0); + $37 = (($1) - ($35))|0; + $38 = ($31>>>0)<($37>>>0); + $or$cond102 = $36 & $38; + if (!($or$cond102)) { + $$4 = 0; + break L1; + } + $39 = (($35) + ($31))|0; + $40 = (($0) + ($39)|0); + $41 = HEAP8[$40>>0]|0; + $42 = ($41<<24>>24)==(0); + if (!($42)) { + $$4 = 0; + break L1; + } + $43 = (($0) + ($35)|0); + $44 = (_strcmp($2,$43)|0); + $45 = ($44|0)==(0); + if ($45) { + break; + } + $62 = ($$094|0)==(1); + $63 = ($44|0)<(0); + $64 = (($$094) - ($25))|0; + $$195 = $63 ? $25 : $64; + $$191 = $63 ? $$090 : $26; + if ($62) { + $$4 = 0; + break L1; + } else { + $$090 = $$191;$$094 = $$195; + } + } + $46 = (($27) + ($24))|0; + $47 = (($0) + ($46<<2)|0); + $48 = HEAP32[$47>>2]|0; + $49 = (_swapc($48,$4)|0); + $50 = (($46) + 1)|0; + $51 = (($0) + ($50<<2)|0); + $52 = HEAP32[$51>>2]|0; + $53 = (_swapc($52,$4)|0); + $54 = ($53>>>0)<($1>>>0); + $55 = (($1) - ($53))|0; + $56 = ($49>>>0)<($55>>>0); + $or$cond104 = $54 & $56; + if ($or$cond104) { + $57 = (($0) + ($53)|0); + $58 = (($53) + ($49))|0; + $59 = (($0) + ($58)|0); + $60 = HEAP8[$59>>0]|0; + $61 = ($60<<24>>24)==(0); + $$ = $61 ? $57 : 0; + $$4 = $$; + } else { + $$4 = 0; + } + } else { + $$4 = 0; + } + } else { + $$4 = 0; + } + } else { + $$4 = 0; + } + } while(0); + return ($$4|0); +} +function _swapc($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$ = 0, $2 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ($1|0)==(0); + $3 = (_llvm_bswap_i32(($0|0))|0); + $$ = $2 ? $0 : $3; + return ($$|0); +} +function ___fwritex($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$038 = 0, $$042 = 0, $$1 = 0, $$139 = 0, $$141 = 0, $$143 = 0, $$pre = 0, $$pre47 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0; + var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; + var label = 0, sp = 0; + sp = STACKTOP; + $3 = ((($2)) + 16|0); + $4 = HEAP32[$3>>2]|0; + $5 = ($4|0)==(0|0); + if ($5) { + $7 = (___towrite($2)|0); + $8 = ($7|0)==(0); + if ($8) { + $$pre = HEAP32[$3>>2]|0; + $12 = $$pre; + label = 5; + } else { + $$1 = 0; + } + } else { + $6 = $4; + $12 = $6; + label = 5; + } + L5: do { + if ((label|0) == 5) { + $9 = ((($2)) + 20|0); + $10 = HEAP32[$9>>2]|0; + $11 = (($12) - ($10))|0; + $13 = ($11>>>0)<($1>>>0); + $14 = $10; + if ($13) { + $15 = ((($2)) + 36|0); + $16 = HEAP32[$15>>2]|0; + $17 = (FUNCTION_TABLE_iiii[$16 & 15]($2,$0,$1)|0); + $$1 = $17; + break; + } + $18 = ((($2)) + 75|0); + $19 = HEAP8[$18>>0]|0; + $20 = ($19<<24>>24)>(-1); + L10: do { + if ($20) { + $$038 = $1; + while(1) { + $21 = ($$038|0)==(0); + if ($21) { + $$139 = 0;$$141 = $0;$$143 = $1;$31 = $14; + break L10; + } + $22 = (($$038) + -1)|0; + $23 = (($0) + ($22)|0); + $24 = HEAP8[$23>>0]|0; + $25 = ($24<<24>>24)==(10); + if ($25) { + break; + } else { + $$038 = $22; + } + } + $26 = ((($2)) + 36|0); + $27 = HEAP32[$26>>2]|0; + $28 = (FUNCTION_TABLE_iiii[$27 & 15]($2,$0,$$038)|0); + $29 = ($28>>>0)<($$038>>>0); + if ($29) { + $$1 = $28; + break L5; + } + $30 = (($0) + ($$038)|0); + $$042 = (($1) - ($$038))|0; + $$pre47 = HEAP32[$9>>2]|0; + $$139 = $$038;$$141 = $30;$$143 = $$042;$31 = $$pre47; + } else { + $$139 = 0;$$141 = $0;$$143 = $1;$31 = $14; + } + } while(0); + _memcpy(($31|0),($$141|0),($$143|0))|0; + $32 = HEAP32[$9>>2]|0; + $33 = (($32) + ($$143)|0); + HEAP32[$9>>2] = $33; + $34 = (($$139) + ($$143))|0; + $$1 = $34; + } + } while(0); + return ($$1|0); +} +function ___towrite($0) { + $0 = $0|0; + var $$0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 74|0); + $2 = HEAP8[$1>>0]|0; + $3 = $2 << 24 >> 24; + $4 = (($3) + 255)|0; + $5 = $4 | $3; + $6 = $5&255; + HEAP8[$1>>0] = $6; + $7 = HEAP32[$0>>2]|0; + $8 = $7 & 8; + $9 = ($8|0)==(0); + if ($9) { + $11 = ((($0)) + 8|0); + HEAP32[$11>>2] = 0; + $12 = ((($0)) + 4|0); + HEAP32[$12>>2] = 0; + $13 = ((($0)) + 44|0); + $14 = HEAP32[$13>>2]|0; + $15 = ((($0)) + 28|0); + HEAP32[$15>>2] = $14; + $16 = ((($0)) + 20|0); + HEAP32[$16>>2] = $14; + $17 = ((($0)) + 48|0); + $18 = HEAP32[$17>>2]|0; + $19 = (($14) + ($18)|0); + $20 = ((($0)) + 16|0); + HEAP32[$20>>2] = $19; + $$0 = 0; + } else { + $10 = $7 | 32; + HEAP32[$0>>2] = $10; + $$0 = -1; } return ($$0|0); } -function _srand($s) { - $s = $s|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; +function _sn_write($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$ = 0, $10 = 0, $11 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ((($0)) + 16|0); + $4 = HEAP32[$3>>2]|0; + $5 = ((($0)) + 20|0); + $6 = HEAP32[$5>>2]|0; + $7 = $6; + $8 = (($4) - ($7))|0; + $9 = ($8>>>0)>($2>>>0); + $$ = $9 ? $2 : $8; + _memcpy(($6|0),($1|0),($$|0))|0; + $10 = HEAP32[$5>>2]|0; + $11 = (($10) + ($$)|0); + HEAP32[$5>>2] = $11; + return ($2|0); +} +function _qsort($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$0 = 0, $$067$lcssa = 0, $$06772 = 0, $$068$lcssa = 0, $$06871 = 0, $$1 = 0, $$169 = 0, $$2 = 0, $$pre$pre = 0, $$pre76 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $15$phi = 0, $16 = 0, $17 = 0, $18 = 0; + var $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0; + var $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0; + var $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 208|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(208|0); + $4 = sp + 8|0; + $5 = sp; + $6 = Math_imul($2, $1)|0; + $7 = $5; + $8 = $7; + HEAP32[$8>>2] = 1; + $9 = (($7) + 4)|0; + $10 = $9; + HEAP32[$10>>2] = 0; + $11 = ($6|0)==(0); + L1: do { + if (!($11)) { + $12 = (0 - ($2))|0; + $13 = ((($4)) + 4|0); + HEAP32[$13>>2] = $2; + HEAP32[$4>>2] = $2; + $$0 = 2;$15 = $2;$17 = $2; + while(1) { + $14 = (($15) + ($2))|0; + $16 = (($14) + ($17))|0; + $18 = (($4) + ($$0<<2)|0); + HEAP32[$18>>2] = $16; + $19 = ($16>>>0)<($6>>>0); + $20 = (($$0) + 1)|0; + if ($19) { + $15$phi = $17;$$0 = $20;$17 = $16;$15 = $15$phi; + } else { + break; + } + } + $21 = (($0) + ($6)|0); + $22 = (($21) + ($12)|0); + $23 = ($22>>>0)>($0>>>0); + if ($23) { + $24 = $22; + $$06772 = 1;$$06871 = $0;$26 = 1; + while(1) { + $25 = $26 & 3; + $27 = ($25|0)==(3); + do { + if ($27) { + _sift($$06871,$2,$3,$$06772,$4); + _shr($5,2); + $28 = (($$06772) + 2)|0; + $$1 = $28; + } else { + $29 = (($$06772) + -1)|0; + $30 = (($4) + ($29<<2)|0); + $31 = HEAP32[$30>>2]|0; + $32 = $$06871; + $33 = (($24) - ($32))|0; + $34 = ($31>>>0)<($33>>>0); + if ($34) { + _sift($$06871,$2,$3,$$06772,$4); + } else { + _trinkle($$06871,$2,$3,$5,$$06772,0,$4); + } + $35 = ($$06772|0)==(1); + if ($35) { + _shl($5,1); + $$1 = 0; + break; + } else { + _shl($5,$29); + $$1 = 1; + break; + } + } + } while(0); + $36 = HEAP32[$5>>2]|0; + $37 = $36 | 1; + HEAP32[$5>>2] = $37; + $38 = (($$06871) + ($2)|0); + $39 = ($38>>>0)<($22>>>0); + if ($39) { + $$06772 = $$1;$$06871 = $38;$26 = $37; + } else { + $$067$lcssa = $$1;$$068$lcssa = $38;$61 = $37; + break; + } + } + } else { + $$067$lcssa = 1;$$068$lcssa = $0;$61 = 1; + } + _trinkle($$068$lcssa,$2,$3,$5,$$067$lcssa,0,$4); + $40 = ((($5)) + 4|0); + $$169 = $$068$lcssa;$$2 = $$067$lcssa;$43 = $61; + while(1) { + $41 = ($$2|0)==(1); + $42 = ($43|0)==(1); + $or$cond = $41 & $42; + if ($or$cond) { + $44 = HEAP32[$40>>2]|0; + $45 = ($44|0)==(0); + if ($45) { + break L1; + } + } else { + $46 = ($$2|0)<(2); + if (!($46)) { + _shl($5,2); + $49 = (($$2) + -2)|0; + $50 = HEAP32[$5>>2]|0; + $51 = $50 ^ 7; + HEAP32[$5>>2] = $51; + _shr($5,1); + $52 = (($4) + ($49<<2)|0); + $53 = HEAP32[$52>>2]|0; + $54 = (0 - ($53))|0; + $55 = (($$169) + ($54)|0); + $56 = (($55) + ($12)|0); + $57 = (($$2) + -1)|0; + _trinkle($56,$2,$3,$5,$57,1,$4); + _shl($5,1); + $58 = HEAP32[$5>>2]|0; + $59 = $58 | 1; + HEAP32[$5>>2] = $59; + $60 = (($$169) + ($12)|0); + _trinkle($60,$2,$3,$5,$49,1,$4); + $$169 = $60;$$2 = $49;$43 = $59; + continue; + } + } + $47 = (_pntz($5)|0); + _shr($5,$47); + $48 = (($47) + ($$2))|0; + $$pre$pre = HEAP32[$5>>2]|0; + $$pre76 = (($$169) + ($12)|0); + $$169 = $$pre76;$$2 = $48;$43 = $$pre$pre; + } + } + } while(0); + STACKTOP = sp;return; +} +function _sift($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$0$lcssa = 0, $$029$be = 0, $$02932 = 0, $$030$be = 0, $$03031 = 0, $$033 = 0, $$pre = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0; + var $23 = 0, $24 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 240|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(240|0); + $5 = sp; + HEAP32[$5>>2] = $0; + $6 = ($3|0)>(1); + L1: do { + if ($6) { + $7 = (0 - ($1))|0; + $$02932 = $0;$$03031 = $3;$$033 = 1;$14 = $0; + while(1) { + $8 = (($$02932) + ($7)|0); + $9 = (($$03031) + -2)|0; + $10 = (($4) + ($9<<2)|0); + $11 = HEAP32[$10>>2]|0; + $12 = (0 - ($11))|0; + $13 = (($8) + ($12)|0); + $15 = (FUNCTION_TABLE_iii[$2 & 7]($14,$13)|0); + $16 = ($15|0)>(-1); + if ($16) { + $17 = (FUNCTION_TABLE_iii[$2 & 7]($14,$8)|0); + $18 = ($17|0)>(-1); + if ($18) { + $$0$lcssa = $$033; + break L1; + } + } + $19 = (FUNCTION_TABLE_iii[$2 & 7]($13,$8)|0); + $20 = ($19|0)>(-1); + $21 = (($$033) + 1)|0; + $22 = (($5) + ($$033<<2)|0); + if ($20) { + HEAP32[$22>>2] = $13; + $23 = (($$03031) + -1)|0; + $$029$be = $13;$$030$be = $23; + } else { + HEAP32[$22>>2] = $8; + $$029$be = $8;$$030$be = $9; + } + $24 = ($$030$be|0)>(1); + if (!($24)) { + $$0$lcssa = $21; + break L1; + } + $$pre = HEAP32[$5>>2]|0; + $$02932 = $$029$be;$$03031 = $$030$be;$$033 = $21;$14 = $$pre; + } + } else { + $$0$lcssa = 1; + } + } while(0); + _cycle($1,$5,$$0$lcssa); + STACKTOP = sp;return; +} +function _shr($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $$pre = 0, $$pre11 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ($1>>>0)>(31); + $3 = ((($0)) + 4|0); + if ($2) { + $4 = (($1) + -32)|0; + $5 = HEAP32[$3>>2]|0; + HEAP32[$0>>2] = $5; + HEAP32[$3>>2] = 0; + $$0 = $4;$10 = 0;$7 = $5; + } else { + $$pre = HEAP32[$0>>2]|0; + $$pre11 = HEAP32[$3>>2]|0; + $$0 = $1;$10 = $$pre11;$7 = $$pre; + } + $6 = $7 >>> $$0; + $8 = (32 - ($$0))|0; + $9 = $10 << $8; + $11 = $9 | $6; + HEAP32[$0>>2] = $11; + $12 = $10 >>> $$0; + HEAP32[$3>>2] = $12; + return; +} +function _trinkle($0,$1,$2,$3,$4,$5,$6) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + $6 = $6|0; + var $$0$lcssa = 0, $$045$lcssa = 0, $$04551 = 0, $$0455780 = 0, $$046$lcssa = 0, $$04653 = 0, $$0465681 = 0, $$047$lcssa = 0, $$0475582 = 0, $$049 = 0, $$05879 = 0, $$05879$phi = 0, $$pre = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0; + var $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0; + var $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $phitmp = 0, label = 0; + var sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 240|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(240|0); + $7 = sp + 232|0; + $8 = sp; + $9 = HEAP32[$3>>2]|0; + HEAP32[$7>>2] = $9; + $10 = ((($3)) + 4|0); + $11 = HEAP32[$10>>2]|0; + $12 = ((($7)) + 4|0); + HEAP32[$12>>2] = $11; + HEAP32[$8>>2] = $0; + $13 = ($9|0)!=(1); + $14 = ($11|0)!=(0); + $15 = $13 | $14; + L1: do { + if ($15) { + $16 = (0 - ($1))|0; + $17 = (($6) + ($4<<2)|0); + $18 = HEAP32[$17>>2]|0; + $19 = (0 - ($18))|0; + $20 = (($0) + ($19)|0); + $21 = (FUNCTION_TABLE_iii[$2 & 7]($20,$0)|0); + $22 = ($21|0)<(1); + if ($22) { + $$0$lcssa = $0;$$045$lcssa = 1;$$046$lcssa = $4;$$047$lcssa = $5; + label = 9; + } else { + $phitmp = ($5|0)==(0); + $$0455780 = 1;$$0465681 = $4;$$0475582 = $phitmp;$$05879 = $0;$28 = $20; + while(1) { + $23 = ($$0465681|0)>(1); + $or$cond = $$0475582 & $23; + if ($or$cond) { + $24 = (($$05879) + ($16)|0); + $25 = (($$0465681) + -2)|0; + $26 = (($6) + ($25<<2)|0); + $27 = HEAP32[$26>>2]|0; + $29 = (FUNCTION_TABLE_iii[$2 & 7]($24,$28)|0); + $30 = ($29|0)>(-1); + if ($30) { + $$04551 = $$0455780;$$04653 = $$0465681;$$049 = $$05879; + label = 10; + break L1; + } + $31 = (0 - ($27))|0; + $32 = (($24) + ($31)|0); + $33 = (FUNCTION_TABLE_iii[$2 & 7]($32,$28)|0); + $34 = ($33|0)>(-1); + if ($34) { + $$04551 = $$0455780;$$04653 = $$0465681;$$049 = $$05879; + label = 10; + break L1; + } + } + $35 = (($$0455780) + 1)|0; + $36 = (($8) + ($$0455780<<2)|0); + HEAP32[$36>>2] = $28; + $37 = (_pntz($7)|0); + _shr($7,$37); + $38 = (($37) + ($$0465681))|0; + $39 = HEAP32[$7>>2]|0; + $40 = ($39|0)!=(1); + $41 = HEAP32[$12>>2]|0; + $42 = ($41|0)!=(0); + $43 = $40 | $42; + if (!($43)) { + $$04551 = $35;$$04653 = $38;$$049 = $28; + label = 10; + break L1; + } + $$pre = HEAP32[$8>>2]|0; + $44 = (($6) + ($38<<2)|0); + $45 = HEAP32[$44>>2]|0; + $46 = (0 - ($45))|0; + $47 = (($28) + ($46)|0); + $48 = (FUNCTION_TABLE_iii[$2 & 7]($47,$$pre)|0); + $49 = ($48|0)<(1); + if ($49) { + $$0$lcssa = $28;$$045$lcssa = $35;$$046$lcssa = $38;$$047$lcssa = 0; + label = 9; + break; + } else { + $$05879$phi = $28;$$0455780 = $35;$$0465681 = $38;$$0475582 = 1;$28 = $47;$$05879 = $$05879$phi; + } + } + } + } else { + $$0$lcssa = $0;$$045$lcssa = 1;$$046$lcssa = $4;$$047$lcssa = $5; + label = 9; + } + } while(0); + if ((label|0) == 9) { + $50 = ($$047$lcssa|0)==(0); + if ($50) { + $$04551 = $$045$lcssa;$$04653 = $$046$lcssa;$$049 = $$0$lcssa; + label = 10; + } + } + if ((label|0) == 10) { + _cycle($1,$8,$$04551); + _sift($$049,$1,$2,$$04653,$6); + } + STACKTOP = sp;return; +} +function _shl($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $$pre = 0, $$pre11 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ($1>>>0)>(31); + $3 = ((($0)) + 4|0); + if ($2) { + $4 = (($1) + -32)|0; + $5 = HEAP32[$0>>2]|0; + HEAP32[$3>>2] = $5; + HEAP32[$0>>2] = 0; + $$0 = $4;$10 = 0;$7 = $5; + } else { + $$pre = HEAP32[$3>>2]|0; + $$pre11 = HEAP32[$0>>2]|0; + $$0 = $1;$10 = $$pre11;$7 = $$pre; + } + $6 = $7 << $$0; + $8 = (32 - ($$0))|0; + $9 = $10 >>> $8; + $11 = $9 | $6; + HEAP32[$3>>2] = $11; + $12 = $10 << $$0; + HEAP32[$0>>2] = $12; + return; +} +function _pntz($0) { + $0 = $0|0; + var $$ = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP32[$0>>2]|0; + $2 = (($1) + -1)|0; + $3 = (_a_ctz_l_763($2)|0); + $4 = ($3|0)==(0); + if ($4) { + $5 = ((($0)) + 4|0); + $6 = HEAP32[$5>>2]|0; + $7 = (_a_ctz_l_763($6)|0); + $8 = (($7) + 32)|0; + $9 = ($7|0)==(0); + $$ = $9 ? 0 : $8; + return ($$|0); + } else { + return ($3|0); + } + return (0)|0; +} +function _a_ctz_l_763($0) { + $0 = $0|0; + var $$068 = 0, $$07 = 0, $$09 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ($0|0)==(0); + if ($1) { + $$07 = 32; + } else { + $2 = $0 & 1; + $3 = ($2|0)==(0); + if ($3) { + $$068 = $0;$$09 = 0; + while(1) { + $4 = (($$09) + 1)|0; + $5 = $$068 >>> 1; + $6 = $5 & 1; + $7 = ($6|0)==(0); + if ($7) { + $$068 = $5;$$09 = $4; + } else { + $$07 = $4; + break; + } + } + } else { + $$07 = 0; + } + } + return ($$07|0); +} +function _cycle($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$02527 = 0, $$026 = 0, $$pre = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; + var $exitcond = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0); + $3 = sp; + $4 = ($2|0)<(2); + L1: do { + if (!($4)) { + $5 = (($1) + ($2<<2)|0); + HEAP32[$5>>2] = $3; + $6 = ($0|0)==(0); + if (!($6)) { + $$02527 = $0;$10 = $3; + while(1) { + $7 = ($$02527>>>0)<(256); + $8 = $7 ? $$02527 : 256; + $9 = HEAP32[$1>>2]|0; + _memcpy(($10|0),($9|0),($8|0))|0; + $$026 = 0; + while(1) { + $11 = (($1) + ($$026<<2)|0); + $12 = HEAP32[$11>>2]|0; + $13 = (($$026) + 1)|0; + $14 = (($1) + ($13<<2)|0); + $15 = HEAP32[$14>>2]|0; + _memcpy(($12|0),($15|0),($8|0))|0; + $16 = HEAP32[$11>>2]|0; + $17 = (($16) + ($8)|0); + HEAP32[$11>>2] = $17; + $exitcond = ($13|0)==($2|0); + if ($exitcond) { + break; + } else { + $$026 = $13; + } + } + $18 = (($$02527) - ($8))|0; + $19 = ($18|0)==(0); + if ($19) { + break L1; + } + $$pre = HEAP32[$5>>2]|0; + $$02527 = $18;$10 = $$pre; + } + } + } + } while(0); + STACKTOP = sp;return; +} +function ___floatscan($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$0 = 0, $$0105$ph = 0, $$0106$ph = 0, $$0107$lcssa = 0, $$0107127 = 0, $$0113 = 0, $$0114 = 0.0, $$1$lcssa = 0, $$1108 = 0, $$1128 = 0, $$2 = 0, $$2109125 = 0, $$3110 = 0, $$3126 = 0, $$4 = 0, $$4111 = 0, $$5 = 0, $$6 = 0, $$in = 0, $$old8 = 0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0.0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0.0, $14 = 0, $15 = 0; + var $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0; + var $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0; + var $53 = 0.0, $54 = 0.0, $55 = 0.0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0; + var $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0; + var $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, $or$cond5 = 0, $or$cond7 = 0, $or$cond9 = 0, label = 0, sp = 0; + sp = STACKTOP; + switch ($1|0) { + case 0: { + $$0105$ph = -149;$$0106$ph = 24; + label = 4; + break; + } + case 1: { + $$0105$ph = -1074;$$0106$ph = 53; + label = 4; + break; + } + case 2: { + $$0105$ph = -1074;$$0106$ph = 53; + label = 4; + break; + } + default: { + $$0114 = 0.0; + } + } + L4: do { + if ((label|0) == 4) { + $3 = ((($0)) + 4|0); + $4 = ((($0)) + 100|0); + while(1) { + $5 = HEAP32[$3>>2]|0; + $6 = HEAP32[$4>>2]|0; + $7 = ($5>>>0)<($6>>>0); + if ($7) { + $8 = ((($5)) + 1|0); + HEAP32[$3>>2] = $8; + $9 = HEAP8[$5>>0]|0; + $10 = $9&255; + $12 = $10; + } else { + $11 = (___shgetc($0)|0); + $12 = $11; + } + $13 = (_isspace($12)|0); + $14 = ($13|0)==(0); + if ($14) { + break; + } + } + L13: do { + switch ($12|0) { + case 43: case 45: { + $15 = ($12|0)==(45); + $16 = $15&1; + $17 = $16 << 1; + $18 = (1 - ($17))|0; + $19 = HEAP32[$3>>2]|0; + $20 = HEAP32[$4>>2]|0; + $21 = ($19>>>0)<($20>>>0); + if ($21) { + $22 = ((($19)) + 1|0); + HEAP32[$3>>2] = $22; + $23 = HEAP8[$19>>0]|0; + $24 = $23&255; + $$0 = $24;$$0113 = $18; + break L13; + } else { + $25 = (___shgetc($0)|0); + $$0 = $25;$$0113 = $18; + break L13; + } + break; + } + default: { + $$0 = $12;$$0113 = 1; + } + } + } while(0); + $$0107127 = 0;$$1128 = $$0; + while(1) { + $26 = $$1128 | 32; + $27 = (23888 + ($$0107127)|0); + $28 = HEAP8[$27>>0]|0; + $29 = $28 << 24 >> 24; + $30 = ($26|0)==($29|0); + if (!($30)) { + $$0107$lcssa = $$0107127;$$1$lcssa = $$1128; + break; + } + $31 = ($$0107127>>>0)<(7); + do { + if ($31) { + $32 = HEAP32[$3>>2]|0; + $33 = HEAP32[$4>>2]|0; + $34 = ($32>>>0)<($33>>>0); + if ($34) { + $35 = ((($32)) + 1|0); + HEAP32[$3>>2] = $35; + $36 = HEAP8[$32>>0]|0; + $37 = $36&255; + $$2 = $37; + break; + } else { + $38 = (___shgetc($0)|0); + $$2 = $38; + break; + } + } else { + $$2 = $$1128; + } + } while(0); + $39 = (($$0107127) + 1)|0; + $40 = ($39>>>0)<(8); + if ($40) { + $$0107127 = $39;$$1128 = $$2; + } else { + $$0107$lcssa = $39;$$1$lcssa = $$2; + break; + } + } + L29: do { + switch ($$0107$lcssa|0) { + case 8: { + break; + } + case 3: { + label = 23; + break; + } + default: { + $41 = ($$0107$lcssa>>>0)>(3); + $42 = ($2|0)!=(0); + $or$cond5 = $42 & $41; + if ($or$cond5) { + $43 = ($$0107$lcssa|0)==(8); + if ($43) { + break L29; + } else { + label = 23; + break L29; + } + } + $56 = ($$0107$lcssa|0)==(0); + L34: do { + if ($56) { + $$2109125 = 0;$$3126 = $$1$lcssa; + while(1) { + $57 = $$3126 | 32; + $58 = (23897 + ($$2109125)|0); + $59 = HEAP8[$58>>0]|0; + $60 = $59 << 24 >> 24; + $61 = ($57|0)==($60|0); + if (!($61)) { + $$3110 = $$2109125;$$5 = $$3126; + break L34; + } + $62 = ($$2109125>>>0)<(2); + do { + if ($62) { + $63 = HEAP32[$3>>2]|0; + $64 = HEAP32[$4>>2]|0; + $65 = ($63>>>0)<($64>>>0); + if ($65) { + $66 = ((($63)) + 1|0); + HEAP32[$3>>2] = $66; + $67 = HEAP8[$63>>0]|0; + $68 = $67&255; + $$4 = $68; + break; + } else { + $69 = (___shgetc($0)|0); + $$4 = $69; + break; + } + } else { + $$4 = $$3126; + } + } while(0); + $70 = (($$2109125) + 1)|0; + $71 = ($70>>>0)<(3); + if ($71) { + $$2109125 = $70;$$3126 = $$4; + } else { + $$3110 = $70;$$5 = $$4; + break; + } + } + } else { + $$3110 = $$0107$lcssa;$$5 = $$1$lcssa; + } + } while(0); + switch ($$3110|0) { + case 3: { + $72 = HEAP32[$3>>2]|0; + $73 = HEAP32[$4>>2]|0; + $74 = ($72>>>0)<($73>>>0); + if ($74) { + $75 = ((($72)) + 1|0); + HEAP32[$3>>2] = $75; + $76 = HEAP8[$72>>0]|0; + $77 = $76&255; + $80 = $77; + } else { + $78 = (___shgetc($0)|0); + $80 = $78; + } + $79 = ($80|0)==(40); + if ($79) { + $$4111 = 1; + } else { + $81 = HEAP32[$4>>2]|0; + $82 = ($81|0)==(0|0); + if ($82) { + $$0114 = nan; + break L4; + } + $83 = HEAP32[$3>>2]|0; + $84 = ((($83)) + -1|0); + HEAP32[$3>>2] = $84; + $$0114 = nan; + break L4; + } + while(1) { + $85 = HEAP32[$3>>2]|0; + $86 = HEAP32[$4>>2]|0; + $87 = ($85>>>0)<($86>>>0); + if ($87) { + $88 = ((($85)) + 1|0); + HEAP32[$3>>2] = $88; + $89 = HEAP8[$85>>0]|0; + $90 = $89&255; + $93 = $90; + } else { + $91 = (___shgetc($0)|0); + $93 = $91; + } + $92 = (($93) + -48)|0; + $94 = ($92>>>0)<(10); + $95 = (($93) + -65)|0; + $96 = ($95>>>0)<(26); + $or$cond = $94 | $96; + if (!($or$cond)) { + $97 = (($93) + -97)|0; + $98 = ($97>>>0)<(26); + $99 = ($93|0)==(95); + $or$cond7 = $99 | $98; + if (!($or$cond7)) { + break; + } + } + $111 = (($$4111) + 1)|0; + $$4111 = $111; + } + $100 = ($93|0)==(41); + if ($100) { + $$0114 = nan; + break L4; + } + $101 = HEAP32[$4>>2]|0; + $102 = ($101|0)==(0|0); + if (!($102)) { + $103 = HEAP32[$3>>2]|0; + $104 = ((($103)) + -1|0); + HEAP32[$3>>2] = $104; + } + if (!($42)) { + $106 = (___errno_location()|0); + HEAP32[$106>>2] = 22; + ___shlim($0,0); + $$0114 = 0.0; + break L4; + } + $105 = ($$4111|0)==(0); + if ($105) { + $$0114 = nan; + break L4; + } else { + $$in = $$4111; + } + while(1) { + $107 = (($$in) + -1)|0; + if (!($102)) { + $108 = HEAP32[$3>>2]|0; + $109 = ((($108)) + -1|0); + HEAP32[$3>>2] = $109; + } + $110 = ($107|0)==(0); + if ($110) { + $$0114 = nan; + break L4; + } else { + $$in = $107; + } + } + break; + } + case 0: { + $117 = ($$5|0)==(48); + if ($117) { + $118 = HEAP32[$3>>2]|0; + $119 = HEAP32[$4>>2]|0; + $120 = ($118>>>0)<($119>>>0); + if ($120) { + $121 = ((($118)) + 1|0); + HEAP32[$3>>2] = $121; + $122 = HEAP8[$118>>0]|0; + $123 = $122&255; + $126 = $123; + } else { + $124 = (___shgetc($0)|0); + $126 = $124; + } + $125 = $126 | 32; + $127 = ($125|0)==(120); + if ($127) { + $128 = (+_hexfloat($0,$$0106$ph,$$0105$ph,$$0113,$2)); + $$0114 = $128; + break L4; + } + $129 = HEAP32[$4>>2]|0; + $130 = ($129|0)==(0|0); + if ($130) { + $$6 = 48; + } else { + $131 = HEAP32[$3>>2]|0; + $132 = ((($131)) + -1|0); + HEAP32[$3>>2] = $132; + $$6 = 48; + } + } else { + $$6 = $$5; + } + $133 = (+_decfloat($0,$$6,$$0106$ph,$$0105$ph,$$0113,$2)); + $$0114 = $133; + break L4; + break; + } + default: { + $112 = HEAP32[$4>>2]|0; + $113 = ($112|0)==(0|0); + if (!($113)) { + $114 = HEAP32[$3>>2]|0; + $115 = ((($114)) + -1|0); + HEAP32[$3>>2] = $115; + } + $116 = (___errno_location()|0); + HEAP32[$116>>2] = 22; + ___shlim($0,0); + $$0114 = 0.0; + break L4; + } + } + } + } + } while(0); + if ((label|0) == 23) { + $44 = HEAP32[$4>>2]|0; + $45 = ($44|0)==(0|0); + if (!($45)) { + $46 = HEAP32[$3>>2]|0; + $47 = ((($46)) + -1|0); + HEAP32[$3>>2] = $47; + } + $48 = ($2|0)!=(0); + $49 = ($$0107$lcssa>>>0)>(3); + $or$cond9 = $48 & $49; + if ($or$cond9) { + $$1108 = $$0107$lcssa; + while(1) { + if (!($45)) { + $50 = HEAP32[$3>>2]|0; + $51 = ((($50)) + -1|0); + HEAP32[$3>>2] = $51; + } + $52 = (($$1108) + -1)|0; + $$old8 = ($52>>>0)>(3); + if ($$old8) { + $$1108 = $52; + } else { + break; + } + } + } + } + $53 = (+($$0113|0)); + $54 = $53 * inf; + $55 = $54; + $$0114 = $55; + } + } while(0); + return (+$$0114); +} +function _hexfloat($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$0 = 0, $$0133 = 0, $$0142 = 0, $$0146 = 0, $$0148 = 0, $$0148$ = 0, $$0151 = 0.0, $$0152 = 0.0, $$0155 = 0.0, $$0155$ = 0.0, $$0159 = 0, $$0165 = 0.0, $$0166 = 0, $$0166169 = 0, $$0166170 = 0, $$1$ph = 0, $$1147 = 0, $$1149 = 0, $$1153 = 0.0, $$1156 = 0.0; + var $$1160 = 0, $$2 = 0, $$2$lcssa = 0, $$2144 = 0, $$2150 = 0, $$2154 = 0.0, $$2157 = 0.0, $$2161 = 0, $$3145 = 0, $$3158$lcssa = 0.0, $$3158179 = 0.0, $$3162$lcssa = 0, $$3162183 = 0, $$4 = 0.0, $$4163$lcssa = 0, $$4163178 = 0, $$5 = 0.0, $$5164 = 0, $$6 = 0, $$pn = 0.0; + var $$pre = 0.0, $$pre$phiZ2D = 0.0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; + var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; + var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0.0, $143 = 0.0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; + var $152 = 0, $153 = 0.0, $154 = 0.0, $155 = 0.0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0.0, $167 = 0.0, $168 = 0.0, $169 = 0, $17 = 0; + var $170 = 0, $171 = 0.0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; + var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0.0, $197 = 0, $198 = 0.0, $199 = 0.0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0.0, $206 = 0.0; + var $207 = 0.0, $208 = 0.0, $209 = 0.0, $21 = 0, $210 = 0.0, $211 = 0, $212 = 0, $213 = 0.0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0; + var $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0.0, $67 = 0.0; + var $68 = 0.0, $69 = 0.0, $7 = 0, $70 = 0, $71 = 0, $72 = 0.0, $73 = 0.0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0; + var $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0.0, $96 = 0.0, $97 = 0, $98 = 0, $99 = 0, $not$ = 0, $or$cond = 0, $or$cond168 = 0, $or$cond206 = 0, $or$cond4 = 0; + var $or$cond6 = 0, label = 0, sp = 0; + sp = STACKTOP; + $5 = ((($0)) + 4|0); + $6 = HEAP32[$5>>2]|0; + $7 = ((($0)) + 100|0); + $8 = HEAP32[$7>>2]|0; + $9 = ($6>>>0)<($8>>>0); + if ($9) { + $10 = ((($6)) + 1|0); + HEAP32[$5>>2] = $10; + $11 = HEAP8[$6>>0]|0; + $12 = $11&255; + $$0 = $12;$$0142 = 0; + } else { + $13 = (___shgetc($0)|0); + $$0 = $13;$$0142 = 0; + } + L4: while(1) { + switch ($$0|0) { + case 46: { + label = 8; + break L4; + break; + } + case 48: { + break; + } + default: { + $$0146 = 0;$$0148 = 0;$$0152 = 1.0;$$0155 = 0.0;$$0159 = 0;$$2 = $$0;$$2144 = $$0142;$101 = 0;$53 = 0;$55 = 0;$99 = 0; + break L4; + } + } + $14 = HEAP32[$5>>2]|0; + $15 = HEAP32[$7>>2]|0; + $16 = ($14>>>0)<($15>>>0); + if ($16) { + $17 = ((($14)) + 1|0); + HEAP32[$5>>2] = $17; + $18 = HEAP8[$14>>0]|0; + $19 = $18&255; + $$0 = $19;$$0142 = 1; + continue; + } else { + $20 = (___shgetc($0)|0); + $$0 = $20;$$0142 = 1; + continue; + } + } + if ((label|0) == 8) { + $21 = HEAP32[$5>>2]|0; + $22 = HEAP32[$7>>2]|0; + $23 = ($21>>>0)<($22>>>0); + if ($23) { + $24 = ((($21)) + 1|0); + HEAP32[$5>>2] = $24; + $25 = HEAP8[$21>>0]|0; + $26 = $25&255; + $$1$ph = $26; + } else { + $27 = (___shgetc($0)|0); + $$1$ph = $27; + } + $28 = ($$1$ph|0)==(48); + if ($28) { + $36 = 0;$37 = 0; + while(1) { + $29 = HEAP32[$5>>2]|0; + $30 = HEAP32[$7>>2]|0; + $31 = ($29>>>0)<($30>>>0); + if ($31) { + $32 = ((($29)) + 1|0); + HEAP32[$5>>2] = $32; + $33 = HEAP8[$29>>0]|0; + $34 = $33&255; + $41 = $34; + } else { + $35 = (___shgetc($0)|0); + $41 = $35; + } + $38 = (_i64Add(($36|0),($37|0),-1,-1)|0); + $39 = tempRet0; + $40 = ($41|0)==(48); + if ($40) { + $36 = $38;$37 = $39; + } else { + $$0146 = 1;$$0148 = 0;$$0152 = 1.0;$$0155 = 0.0;$$0159 = 0;$$2 = $41;$$2144 = 1;$101 = $39;$53 = 0;$55 = 0;$99 = $38; + break; + } + } + } else { + $$0146 = 1;$$0148 = 0;$$0152 = 1.0;$$0155 = 0.0;$$0159 = 0;$$2 = $$1$ph;$$2144 = $$0142;$101 = 0;$53 = 0;$55 = 0;$99 = 0; + } + } + while(1) { + $42 = (($$2) + -48)|0; + $43 = ($42>>>0)<(10); + $44 = ($$2|0)==(46); + if (!($43)) { + $45 = $$2 | 32; + $46 = (($45) + -97)|0; + $47 = ($46>>>0)<(6); + $or$cond6 = $44 | $47; + if (!($or$cond6)) { + $$2$lcssa = $$2; + break; + } + } + if ($44) { + $48 = ($$0146|0)==(0); + if ($48) { + $$1147 = 1;$$2150 = $$0148;$$2154 = $$0152;$$2157 = $$0155;$$2161 = $$0159;$$3145 = $$2144;$214 = $55;$215 = $53;$216 = $55;$217 = $53; + } else { + $$2$lcssa = 46; + break; + } + } else { + $49 = ($$2|0)>(57); + $50 = $$2 | 32; + $51 = (($50) + -87)|0; + $$0133 = $49 ? $51 : $42; + $52 = ($53|0)<(0); + $54 = ($55>>>0)<(8); + $56 = ($53|0)==(0); + $57 = $56 & $54; + $58 = $52 | $57; + do { + if ($58) { + $59 = $$0159 << 4; + $60 = (($$0133) + ($59))|0; + $$1149 = $$0148;$$1153 = $$0152;$$1156 = $$0155;$$1160 = $60; + } else { + $61 = ($53|0)<(0); + $62 = ($55>>>0)<(14); + $63 = ($53|0)==(0); + $64 = $63 & $62; + $65 = $61 | $64; + if ($65) { + $66 = (+($$0133|0)); + $67 = $$0152 * 0.0625; + $68 = $67 * $66; + $69 = $$0155 + $68; + $$1149 = $$0148;$$1153 = $67;$$1156 = $69;$$1160 = $$0159; + break; + } else { + $70 = ($$0133|0)==(0); + $71 = ($$0148|0)!=(0); + $or$cond = $71 | $70; + $72 = $$0152 * 0.5; + $73 = $$0155 + $72; + $$0155$ = $or$cond ? $$0155 : $73; + $$0148$ = $or$cond ? $$0148 : 1; + $$1149 = $$0148$;$$1153 = $$0152;$$1156 = $$0155$;$$1160 = $$0159; + break; + } + } + } while(0); + $74 = (_i64Add(($55|0),($53|0),1,0)|0); + $75 = tempRet0; + $$1147 = $$0146;$$2150 = $$1149;$$2154 = $$1153;$$2157 = $$1156;$$2161 = $$1160;$$3145 = 1;$214 = $99;$215 = $101;$216 = $74;$217 = $75; + } + $76 = HEAP32[$5>>2]|0; + $77 = HEAP32[$7>>2]|0; + $78 = ($76>>>0)<($77>>>0); + if ($78) { + $79 = ((($76)) + 1|0); + HEAP32[$5>>2] = $79; + $80 = HEAP8[$76>>0]|0; + $81 = $80&255; + $$0146 = $$1147;$$0148 = $$2150;$$0152 = $$2154;$$0155 = $$2157;$$0159 = $$2161;$$2 = $81;$$2144 = $$3145;$101 = $215;$53 = $217;$55 = $216;$99 = $214; + continue; + } else { + $82 = (___shgetc($0)|0); + $$0146 = $$1147;$$0148 = $$2150;$$0152 = $$2154;$$0155 = $$2157;$$0159 = $$2161;$$2 = $82;$$2144 = $$3145;$101 = $215;$53 = $217;$55 = $216;$99 = $214; + continue; + } + } + $83 = ($$2144|0)==(0); + do { + if ($83) { + $84 = HEAP32[$7>>2]|0; + $85 = ($84|0)!=(0|0); + if ($85) { + $86 = HEAP32[$5>>2]|0; + $87 = ((($86)) + -1|0); + HEAP32[$5>>2] = $87; + } + $88 = ($4|0)==(0); + if ($88) { + ___shlim($0,0); + } else { + if ($85) { + $89 = HEAP32[$5>>2]|0; + $90 = ((($89)) + -1|0); + HEAP32[$5>>2] = $90; + } + $91 = ($$0146|0)==(0); + $92 = ($84|0)==(0|0); + $or$cond206 = $91 | $92; + if (!($or$cond206)) { + $93 = HEAP32[$5>>2]|0; + $94 = ((($93)) + -1|0); + HEAP32[$5>>2] = $94; + } + } + $95 = (+($3|0)); + $96 = $95 * 0.0; + $$0165 = $96; + } else { + $97 = ($$0146|0)==(0); + $98 = $97 ? $55 : $99; + $100 = $97 ? $53 : $101; + $102 = ($53|0)<(0); + $103 = ($55>>>0)<(8); + $104 = ($53|0)==(0); + $105 = $104 & $103; + $106 = $102 | $105; + if ($106) { + $$3162183 = $$0159;$108 = $55;$109 = $53; + while(1) { + $107 = $$3162183 << 4; + $110 = (_i64Add(($108|0),($109|0),1,0)|0); + $111 = tempRet0; + $112 = ($111|0)<(0); + $113 = ($110>>>0)<(8); + $114 = ($111|0)==(0); + $115 = $114 & $113; + $116 = $112 | $115; + if ($116) { + $$3162183 = $107;$108 = $110;$109 = $111; + } else { + $$3162$lcssa = $107; + break; + } + } + } else { + $$3162$lcssa = $$0159; + } + $117 = $$2$lcssa | 32; + $118 = ($117|0)==(112); + if ($118) { + $119 = (_scanexp($0,$4)|0); + $120 = tempRet0; + $121 = ($119|0)==(0); + $122 = ($120|0)==(-2147483648); + $123 = $121 & $122; + if ($123) { + $124 = ($4|0)==(0); + if ($124) { + ___shlim($0,0); + $$0165 = 0.0; + break; + } + $125 = HEAP32[$7>>2]|0; + $126 = ($125|0)==(0|0); + if ($126) { + $137 = 0;$138 = 0; + } else { + $127 = HEAP32[$5>>2]|0; + $128 = ((($127)) + -1|0); + HEAP32[$5>>2] = $128; + $137 = 0;$138 = 0; + } + } else { + $137 = $119;$138 = $120; + } + } else { + $129 = HEAP32[$7>>2]|0; + $130 = ($129|0)==(0|0); + if ($130) { + $137 = 0;$138 = 0; + } else { + $131 = HEAP32[$5>>2]|0; + $132 = ((($131)) + -1|0); + HEAP32[$5>>2] = $132; + $137 = 0;$138 = 0; + } + } + $133 = (_bitshift64Shl(($98|0),($100|0),2)|0); + $134 = tempRet0; + $135 = (_i64Add(($133|0),($134|0),-32,-1)|0); + $136 = tempRet0; + $139 = (_i64Add(($135|0),($136|0),($137|0),($138|0))|0); + $140 = tempRet0; + $141 = ($$3162$lcssa|0)==(0); + if ($141) { + $142 = (+($3|0)); + $143 = $142 * 0.0; + $$0165 = $143; + break; + } + $144 = (0 - ($2))|0; + $145 = ($144|0)<(0); + $146 = $145 << 31 >> 31; + $147 = ($140|0)>($146|0); + $148 = ($139>>>0)>($144>>>0); + $149 = ($140|0)==($146|0); + $150 = $149 & $148; + $151 = $147 | $150; + if ($151) { + $152 = (___errno_location()|0); + HEAP32[$152>>2] = 34; + $153 = (+($3|0)); + $154 = $153 * 1.7976931348623157E+308; + $155 = $154 * 1.7976931348623157E+308; + $$0165 = $155; + break; + } + $156 = (($2) + -106)|0; + $157 = ($156|0)<(0); + $158 = $157 << 31 >> 31; + $159 = ($140|0)<($158|0); + $160 = ($139>>>0)<($156>>>0); + $161 = ($140|0)==($158|0); + $162 = $161 & $160; + $163 = $159 | $162; + if ($163) { + $165 = (___errno_location()|0); + HEAP32[$165>>2] = 34; + $166 = (+($3|0)); + $167 = $166 * 2.2250738585072014E-308; + $168 = $167 * 2.2250738585072014E-308; + $$0165 = $168; + break; + } + $164 = ($$3162$lcssa|0)>(-1); + if ($164) { + $$3158179 = $$0155;$$4163178 = $$3162$lcssa;$173 = $139;$174 = $140; + while(1) { + $169 = !($$3158179 >= 0.5); + $170 = $$4163178 << 1; + $171 = $$3158179 + -1.0; + $not$ = $169 ^ 1; + $172 = $not$&1; + $$5164 = $170 | $172; + $$pn = $169 ? $$3158179 : $171; + $$4 = $$3158179 + $$pn; + $175 = (_i64Add(($173|0),($174|0),-1,-1)|0); + $176 = tempRet0; + $177 = ($$5164|0)>(-1); + if ($177) { + $$3158179 = $$4;$$4163178 = $$5164;$173 = $175;$174 = $176; + } else { + $$3158$lcssa = $$4;$$4163$lcssa = $$5164;$184 = $175;$185 = $176; + break; + } + } + } else { + $$3158$lcssa = $$0155;$$4163$lcssa = $$3162$lcssa;$184 = $139;$185 = $140; + } + $178 = ($1|0)<(0); + $179 = $178 << 31 >> 31; + $180 = ($2|0)<(0); + $181 = $180 << 31 >> 31; + $182 = (_i64Subtract(32,0,($2|0),($181|0))|0); + $183 = tempRet0; + $186 = (_i64Add(($182|0),($183|0),($184|0),($185|0))|0); + $187 = tempRet0; + $188 = ($179|0)>($187|0); + $189 = ($1>>>0)>($186>>>0); + $190 = ($179|0)==($187|0); + $191 = $190 & $189; + $192 = $188 | $191; + if ($192) { + $193 = ($186|0)>(0); + if ($193) { + $$0166 = $186; + label = 59; + } else { + $$0166170 = 0;$197 = 84; + label = 61; + } + } else { + $$0166 = $1; + label = 59; + } + if ((label|0) == 59) { + $194 = ($$0166|0)<(53); + $195 = (84 - ($$0166))|0; + if ($194) { + $$0166170 = $$0166;$197 = $195; + label = 61; + } else { + $$pre = (+($3|0)); + $$0151 = 0.0;$$0166169 = $$0166;$$pre$phiZ2D = $$pre; + } + } + if ((label|0) == 61) { + $196 = (+($3|0)); + $198 = (+_scalbn(1.0,$197)); + $199 = (+_copysignl($198,$196)); + $$0151 = $199;$$0166169 = $$0166170;$$pre$phiZ2D = $196; + } + $200 = ($$0166169|0)<(32); + $201 = $$3158$lcssa != 0.0; + $or$cond4 = $201 & $200; + $202 = $$4163$lcssa & 1; + $203 = ($202|0)==(0); + $or$cond168 = $203 & $or$cond4; + $204 = $or$cond168&1; + $$6 = (($204) + ($$4163$lcssa))|0; + $$5 = $or$cond168 ? 0.0 : $$3158$lcssa; + $205 = (+($$6>>>0)); + $206 = $$pre$phiZ2D * $205; + $207 = $$0151 + $206; + $208 = $$pre$phiZ2D * $$5; + $209 = $208 + $207; + $210 = $209 - $$0151; + $211 = $210 != 0.0; + if (!($211)) { + $212 = (___errno_location()|0); + HEAP32[$212>>2] = 34; + } + $213 = (+_scalbnl($210,$184)); + $$0165 = $213; + } + } while(0); + return (+$$0165); +} +function _decfloat($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + var $$ = 0, $$$0345 = 0, $$$0350 = 0, $$$0385 = 0, $$$0401 = 0, $$$5355 = 0, $$$5390 = 0, $$0329 = 0, $$0332490 = 0, $$0333 = 0, $$0334 = 0, $$0336486 = 0, $$0340496 = 0, $$0341$lcssa = 0, $$0341463 = 0, $$0341464 = 0, $$0341465 = 0, $$0341513 = 0, $$0345$lcssa = 0, $$0345467 = 0; + var $$0345468 = 0, $$0345469 = 0, $$0345512 = 0, $$0350$lcssa554 = 0, $$0350494 = 0, $$0360 = 0.0, $$0361 = 0.0, $$0365484 = 0.0, $$0372 = 0, $$0380 = 0, $$0380$ph = 0, $$0385$lcssa553 = 0, $$0385493 = 0, $$0393 = 0, $$0396 = 0, $$0401$lcssa = 0, $$0401473 = 0, $$0401474 = 0, $$0401475 = 0, $$0401509 = 0; + var $$1 = 0.0, $$10 = 0, $$1330$be = 0, $$1330$ph = 0, $$1335 = 0, $$1337 = 0, $$1362 = 0.0, $$1366 = 0.0, $$1373 = 0, $$1373$ph448 = 0, $$1381 = 0, $$1381$ph = 0, $$1381$ph558 = 0, $$1394$lcssa = 0, $$1394511 = 0, $$2 = 0, $$2343 = 0, $$2347 = 0, $$2352$ph449 = 0, $$2367 = 0.0; + var $$2371$v = 0, $$2374 = 0, $$2387$ph447 = 0, $$2395 = 0, $$2398 = 0, $$2403 = 0, $$3$be = 0, $$3$lcssa = 0, $$3344503 = 0, $$3348 = 0, $$3364 = 0.0, $$3368 = 0.0, $$3375 = 0, $$3383 = 0, $$3399$lcssa = 0, $$3399510 = 0, $$3514 = 0, $$413 = 0, $$425 = 0, $$4349495 = 0; + var $$4354 = 0, $$4354$ph = 0, $$4354$ph559 = 0, $$4376 = 0, $$4384 = 0, $$4389$ph = 0, $$4389$ph445 = 0, $$4400 = 0, $$4485 = 0, $$5 = 0, $$5$in = 0, $$5355488 = 0, $$5390487 = 0, $$6378$ph = 0, $$6489 = 0, $$9483 = 0, $$neg442 = 0, $$neg443 = 0, $$pre = 0, $$promoted = 0; + var $$sink = 0, $$sink421$off0 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0.0, $103 = 0.0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; + var $116 = 0, $117 = 0, $118 = 0, $119 = 0.0, $12 = 0, $120 = 0.0, $121 = 0.0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0.0, $132 = 0.0, $133 = 0.0; + var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0.0, $144 = 0.0, $145 = 0.0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; + var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0.0, $159 = 0.0, $16 = 0, $160 = 0.0, $161 = 0, $162 = 0.0, $163 = 0.0, $164 = 0.0, $165 = 0, $166 = 0, $167 = 0, $168 = 0.0, $169 = 0.0, $17 = 0; + var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0.0, $177 = 0.0, $178 = 0.0, $179 = 0, $18 = 0, $180 = 0.0, $181 = 0.0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; + var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0; + var $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0; + var $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0; + var $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0; + var $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0; + var $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0; + var $298 = 0, $299 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0.0, $304 = 0, $305 = 0, $306 = 0.0, $307 = 0.0, $308 = 0, $309 = 0.0, $31 = 0, $310 = 0.0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0; + var $316 = 0, $317 = 0.0, $318 = 0.0, $319 = 0, $32 = 0, $320 = 0.0, $321 = 0.0, $322 = 0.0, $323 = 0.0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0; + var $334 = 0.0, $335 = 0.0, $336 = 0, $337 = 0.0, $338 = 0.0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0.0, $343 = 0.0, $344 = 0.0, $345 = 0.0, $346 = 0, $347 = 0, $348 = 0.0, $349 = 0, $35 = 0, $350 = 0.0, $351 = 0.0; + var $352 = 0.0, $353 = 0, $354 = 0, $355 = 0, $356 = 0.0, $357 = 0, $358 = 0.0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0.0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0; + var $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $39 = 0, $40 = 0, $41 = 0; + var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0; + var $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0; + var $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0; + var $98 = 0, $99 = 0, $cond = 0, $exitcond = 0, $exitcond551 = 0, $narrow = 0, $not$ = 0, $or$cond = 0, $or$cond11 = 0, $or$cond14 = 0, $or$cond415 = 0, $or$cond417 = 0, $or$cond419 = 0, $or$cond420 = 0, $or$cond422 = 0, $or$cond422$not = 0, $or$cond423 = 0, $or$cond426 = 0, $or$cond5 = 0, $sum = 0; + var label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 512|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(512|0); + $6 = sp; + $sum = (($3) + ($2))|0; + $7 = (0 - ($sum))|0; + $8 = ((($0)) + 4|0); + $9 = ((($0)) + 100|0); + $$0329 = $1;$$0396 = 0; + L1: while(1) { + switch ($$0329|0) { + case 46: { + label = 6; + break L1; + break; + } + case 48: { + break; + } + default: { + $$0393 = 0;$$2 = $$0329;$$2398 = $$0396;$366 = 0;$367 = 0; + break L1; + } + } + $10 = HEAP32[$8>>2]|0; + $11 = HEAP32[$9>>2]|0; + $12 = ($10>>>0)<($11>>>0); + if ($12) { + $13 = ((($10)) + 1|0); + HEAP32[$8>>2] = $13; + $14 = HEAP8[$10>>0]|0; + $15 = $14&255; + $$0329 = $15;$$0396 = 1; + continue; + } else { + $16 = (___shgetc($0)|0); + $$0329 = $16;$$0396 = 1; + continue; + } + } + if ((label|0) == 6) { + $17 = HEAP32[$8>>2]|0; + $18 = HEAP32[$9>>2]|0; + $19 = ($17>>>0)<($18>>>0); + if ($19) { + $20 = ((($17)) + 1|0); + HEAP32[$8>>2] = $20; + $21 = HEAP8[$17>>0]|0; + $22 = $21&255; + $$1330$ph = $22; + } else { + $23 = (___shgetc($0)|0); + $$1330$ph = $23; + } + $24 = ($$1330$ph|0)==(48); + if ($24) { + $25 = 0;$26 = 0; + while(1) { + $27 = (_i64Add(($25|0),($26|0),-1,-1)|0); + $28 = tempRet0; + $29 = HEAP32[$8>>2]|0; + $30 = HEAP32[$9>>2]|0; + $31 = ($29>>>0)<($30>>>0); + if ($31) { + $32 = ((($29)) + 1|0); + HEAP32[$8>>2] = $32; + $33 = HEAP8[$29>>0]|0; + $34 = $33&255; + $$1330$be = $34; + } else { + $35 = (___shgetc($0)|0); + $$1330$be = $35; + } + $36 = ($$1330$be|0)==(48); + if ($36) { + $25 = $27;$26 = $28; + } else { + $$0393 = 1;$$2 = $$1330$be;$$2398 = 1;$366 = $27;$367 = $28; + break; + } + } + } else { + $$0393 = 1;$$2 = $$1330$ph;$$2398 = $$0396;$366 = 0;$367 = 0; + } + } + HEAP32[$6>>2] = 0; + $37 = (($$2) + -48)|0; + $38 = ($37>>>0)<(10); + $39 = ($$2|0)==(46); + $40 = $39 | $38; + L20: do { + if ($40) { + $41 = ((($6)) + 496|0); + $$0341513 = 0;$$0345512 = 0;$$0401509 = 0;$$1394511 = $$0393;$$3399510 = $$2398;$$3514 = $$2;$368 = $39;$369 = $37;$370 = $366;$371 = $367;$44 = 0;$45 = 0; + L22: while(1) { + do { + if ($368) { + $cond = ($$1394511|0)==(0); + if ($cond) { + $$2343 = $$0341513;$$2347 = $$0345512;$$2395 = 1;$$2403 = $$0401509;$$4400 = $$3399510;$372 = $44;$373 = $45;$374 = $44;$375 = $45; + } else { + break L22; + } + } else { + $43 = ($$0345512|0)<(125); + $46 = (_i64Add(($44|0),($45|0),1,0)|0); + $47 = tempRet0; + $48 = ($$3514|0)!=(48); + if (!($43)) { + if (!($48)) { + $$2343 = $$0341513;$$2347 = $$0345512;$$2395 = $$1394511;$$2403 = $$0401509;$$4400 = $$3399510;$372 = $370;$373 = $371;$374 = $46;$375 = $47; + break; + } + $57 = HEAP32[$41>>2]|0; + $58 = $57 | 1; + HEAP32[$41>>2] = $58; + $$2343 = $$0341513;$$2347 = $$0345512;$$2395 = $$1394511;$$2403 = $$0401509;$$4400 = $$3399510;$372 = $370;$373 = $371;$374 = $46;$375 = $47; + break; + } + $$$0401 = $48 ? $46 : $$0401509; + $49 = ($$0341513|0)==(0); + $$pre = (($6) + ($$0345512<<2)|0); + if ($49) { + $$sink = $369; + } else { + $50 = HEAP32[$$pre>>2]|0; + $51 = ($50*10)|0; + $52 = (($$3514) + -48)|0; + $53 = (($52) + ($51))|0; + $$sink = $53; + } + HEAP32[$$pre>>2] = $$sink; + $54 = (($$0341513) + 1)|0; + $55 = ($54|0)==(9); + $56 = $55&1; + $$$0345 = (($56) + ($$0345512))|0; + $$413 = $55 ? 0 : $54; + $$2343 = $$413;$$2347 = $$$0345;$$2395 = $$1394511;$$2403 = $$$0401;$$4400 = 1;$372 = $370;$373 = $371;$374 = $46;$375 = $47; + } + } while(0); + $59 = HEAP32[$8>>2]|0; + $60 = HEAP32[$9>>2]|0; + $61 = ($59>>>0)<($60>>>0); + if ($61) { + $62 = ((($59)) + 1|0); + HEAP32[$8>>2] = $62; + $63 = HEAP8[$59>>0]|0; + $64 = $63&255; + $$3$be = $64; + } else { + $65 = (___shgetc($0)|0); + $$3$be = $65; + } + $66 = (($$3$be) + -48)|0; + $67 = ($66>>>0)<(10); + $68 = ($$3$be|0)==(46); + $69 = $68 | $67; + if ($69) { + $$0341513 = $$2343;$$0345512 = $$2347;$$0401509 = $$2403;$$1394511 = $$2395;$$3399510 = $$4400;$$3514 = $$3$be;$368 = $68;$369 = $66;$370 = $372;$371 = $373;$44 = $374;$45 = $375; + } else { + $$0341$lcssa = $$2343;$$0345$lcssa = $$2347;$$0401$lcssa = $$2403;$$1394$lcssa = $$2395;$$3$lcssa = $$3$be;$$3399$lcssa = $$4400;$72 = $372;$73 = $374;$75 = $373;$76 = $375; + label = 29; + break L20; + } + } + $42 = ($$3399510|0)!=(0); + $$0341465 = $$0341513;$$0345469 = $$0345512;$$0401475 = $$0401509;$376 = $44;$377 = $45;$378 = $370;$379 = $371;$380 = $42; + label = 37; + } else { + $$0341$lcssa = 0;$$0345$lcssa = 0;$$0401$lcssa = 0;$$1394$lcssa = $$0393;$$3$lcssa = $$2;$$3399$lcssa = $$2398;$72 = $366;$73 = 0;$75 = $367;$76 = 0; + label = 29; + } + } while(0); + do { + if ((label|0) == 29) { + $70 = ($$1394$lcssa|0)==(0); + $71 = $70 ? $73 : $72; + $74 = $70 ? $76 : $75; + $77 = ($$3399$lcssa|0)!=(0); + $78 = $$3$lcssa | 32; + $79 = ($78|0)==(101); + $or$cond415 = $77 & $79; + if (!($or$cond415)) { + $94 = ($$3$lcssa|0)>(-1); + if ($94) { + $$0341465 = $$0341$lcssa;$$0345469 = $$0345$lcssa;$$0401475 = $$0401$lcssa;$376 = $73;$377 = $76;$378 = $71;$379 = $74;$380 = $77; + label = 37; + break; + } else { + $$0341464 = $$0341$lcssa;$$0345468 = $$0345$lcssa;$$0401474 = $$0401$lcssa;$381 = $73;$382 = $76;$383 = $77;$384 = $71;$385 = $74; + label = 39; + break; + } + } + $80 = (_scanexp($0,$5)|0); + $81 = tempRet0; + $82 = ($80|0)==(0); + $83 = ($81|0)==(-2147483648); + $84 = $82 & $83; + if ($84) { + $85 = ($5|0)==(0); + if ($85) { + ___shlim($0,0); + $$1 = 0.0; + break; + } + $86 = HEAP32[$9>>2]|0; + $87 = ($86|0)==(0|0); + if ($87) { + $90 = 0;$91 = 0; + } else { + $88 = HEAP32[$8>>2]|0; + $89 = ((($88)) + -1|0); + HEAP32[$8>>2] = $89; + $90 = 0;$91 = 0; + } + } else { + $90 = $80;$91 = $81; + } + $92 = (_i64Add(($90|0),($91|0),($71|0),($74|0))|0); + $93 = tempRet0; + $$0341463 = $$0341$lcssa;$$0345467 = $$0345$lcssa;$$0401473 = $$0401$lcssa;$105 = $92;$106 = $73;$108 = $93;$109 = $76; + label = 41; + } + } while(0); + if ((label|0) == 37) { + $95 = HEAP32[$9>>2]|0; + $96 = ($95|0)==(0|0); + if ($96) { + $$0341464 = $$0341465;$$0345468 = $$0345469;$$0401474 = $$0401475;$381 = $376;$382 = $377;$383 = $380;$384 = $378;$385 = $379; + label = 39; + } else { + $97 = HEAP32[$8>>2]|0; + $98 = ((($97)) + -1|0); + HEAP32[$8>>2] = $98; + if ($380) { + $$0341463 = $$0341465;$$0345467 = $$0345469;$$0401473 = $$0401475;$105 = $378;$106 = $376;$108 = $379;$109 = $377; + label = 41; + } else { + label = 40; + } + } + } + if ((label|0) == 39) { + if ($383) { + $$0341463 = $$0341464;$$0345467 = $$0345468;$$0401473 = $$0401474;$105 = $384;$106 = $381;$108 = $385;$109 = $382; + label = 41; + } else { + label = 40; + } + } + do { + if ((label|0) == 40) { + $99 = (___errno_location()|0); + HEAP32[$99>>2] = 22; + ___shlim($0,0); + $$1 = 0.0; + } + else if ((label|0) == 41) { + $100 = HEAP32[$6>>2]|0; + $101 = ($100|0)==(0); + if ($101) { + $102 = (+($4|0)); + $103 = $102 * 0.0; + $$1 = $103; + break; + } + $104 = ($105|0)==($106|0); + $107 = ($108|0)==($109|0); + $110 = $104 & $107; + $111 = ($109|0)<(0); + $112 = ($106>>>0)<(10); + $113 = ($109|0)==(0); + $114 = $113 & $112; + $115 = $111 | $114; + $or$cond = $115 & $110; + if ($or$cond) { + $116 = ($2|0)>(30); + $117 = $100 >>> $2; + $118 = ($117|0)==(0); + $or$cond417 = $116 | $118; + if ($or$cond417) { + $119 = (+($4|0)); + $120 = (+($100>>>0)); + $121 = $119 * $120; + $$1 = $121; + break; + } + } + $122 = (($3|0) / -2)&-1; + $123 = ($122|0)<(0); + $124 = $123 << 31 >> 31; + $125 = ($108|0)>($124|0); + $126 = ($105>>>0)>($122>>>0); + $127 = ($108|0)==($124|0); + $128 = $127 & $126; + $129 = $125 | $128; + if ($129) { + $130 = (___errno_location()|0); + HEAP32[$130>>2] = 34; + $131 = (+($4|0)); + $132 = $131 * 1.7976931348623157E+308; + $133 = $132 * 1.7976931348623157E+308; + $$1 = $133; + break; + } + $134 = (($3) + -106)|0; + $135 = ($134|0)<(0); + $136 = $135 << 31 >> 31; + $137 = ($108|0)<($136|0); + $138 = ($105>>>0)<($134>>>0); + $139 = ($108|0)==($136|0); + $140 = $139 & $138; + $141 = $137 | $140; + if ($141) { + $142 = (___errno_location()|0); + HEAP32[$142>>2] = 34; + $143 = (+($4|0)); + $144 = $143 * 2.2250738585072014E-308; + $145 = $144 * 2.2250738585072014E-308; + $$1 = $145; + break; + } + $146 = ($$0341463|0)==(0); + if ($146) { + $$3348 = $$0345467; + } else { + $147 = ($$0341463|0)<(9); + if ($147) { + $148 = (($6) + ($$0345467<<2)|0); + $$promoted = HEAP32[$148>>2]|0; + $$3344503 = $$0341463;$150 = $$promoted; + while(1) { + $149 = ($150*10)|0; + $151 = (($$3344503) + 1)|0; + $exitcond551 = ($151|0)==(9); + if ($exitcond551) { + break; + } else { + $$3344503 = $151;$150 = $149; + } + } + HEAP32[$148>>2] = $149; + } + $152 = (($$0345467) + 1)|0; + $$3348 = $152; + } + $153 = ($$0401473|0)<(9); + if ($153) { + $154 = ($$0401473|0)<=($105|0); + $155 = ($105|0)<(18); + $or$cond5 = $154 & $155; + if ($or$cond5) { + $156 = ($105|0)==(9); + $157 = HEAP32[$6>>2]|0; + if ($156) { + $158 = (+($4|0)); + $159 = (+($157>>>0)); + $160 = $158 * $159; + $$1 = $160; + break; + } + $161 = ($105|0)<(9); + if ($161) { + $162 = (+($4|0)); + $163 = (+($157>>>0)); + $164 = $162 * $163; + $165 = (8 - ($105))|0; + $166 = (5628 + ($165<<2)|0); + $167 = HEAP32[$166>>2]|0; + $168 = (+($167|0)); + $169 = $164 / $168; + $$1 = $169; + break; + } + $$neg442 = Math_imul($105, -3)|0; + $$neg443 = (($2) + 27)|0; + $170 = (($$neg443) + ($$neg442))|0; + $171 = ($170|0)>(30); + $172 = $157 >>> $170; + $173 = ($172|0)==(0); + $or$cond419 = $171 | $173; + if ($or$cond419) { + $174 = (($105) + -10)|0; + $175 = (5628 + ($174<<2)|0); + $176 = (+($4|0)); + $177 = (+($157>>>0)); + $178 = $176 * $177; + $179 = HEAP32[$175>>2]|0; + $180 = (+($179|0)); + $181 = $178 * $180; + $$1 = $181; + break; + } + } + } + $182 = (($105|0) % 9)&-1; + $183 = ($182|0)==(0); + if ($183) { + $$0380$ph = 0;$$1373$ph448 = $$3348;$$2352$ph449 = 0;$$2387$ph447 = $105; + } else { + $184 = ($105|0)>(-1); + $185 = (($182) + 9)|0; + $186 = $184 ? $182 : $185; + $187 = (8 - ($186))|0; + $188 = (5628 + ($187<<2)|0); + $189 = HEAP32[$188>>2]|0; + $190 = ($$3348|0)==(0); + if ($190) { + $$0350$lcssa554 = 0;$$0372 = 0;$$0385$lcssa553 = $105; + } else { + $191 = (1000000000 / ($189|0))&-1; + $$0340496 = 0;$$0350494 = 0;$$0385493 = $105;$$4349495 = 0; + while(1) { + $192 = (($6) + ($$4349495<<2)|0); + $193 = HEAP32[$192>>2]|0; + $194 = (($193>>>0) % ($189>>>0))&-1; + $195 = (($193>>>0) / ($189>>>0))&-1; + $196 = (($195) + ($$0340496))|0; + HEAP32[$192>>2] = $196; + $197 = Math_imul($191, $194)|0; + $198 = ($$4349495|0)==($$0350494|0); + $199 = ($196|0)==(0); + $or$cond420 = $198 & $199; + $200 = (($$0350494) + 1)|0; + $201 = $200 & 127; + $202 = (($$0385493) + -9)|0; + $$$0385 = $or$cond420 ? $202 : $$0385493; + $$$0350 = $or$cond420 ? $201 : $$0350494; + $203 = (($$4349495) + 1)|0; + $204 = ($203|0)==($$3348|0); + if ($204) { + break; + } else { + $$0340496 = $197;$$0350494 = $$$0350;$$0385493 = $$$0385;$$4349495 = $203; + } + } + $205 = ($197|0)==(0); + if ($205) { + $$0350$lcssa554 = $$$0350;$$0372 = $$3348;$$0385$lcssa553 = $$$0385; + } else { + $206 = (($6) + ($$3348<<2)|0); + $207 = (($$3348) + 1)|0; + HEAP32[$206>>2] = $197; + $$0350$lcssa554 = $$$0350;$$0372 = $207;$$0385$lcssa553 = $$$0385; + } + } + $208 = (9 - ($186))|0; + $209 = (($208) + ($$0385$lcssa553))|0; + $$0380$ph = 0;$$1373$ph448 = $$0372;$$2352$ph449 = $$0350$lcssa554;$$2387$ph447 = $209; + } + L101: while(1) { + $210 = ($$2387$ph447|0)<(18); + $211 = ($$2387$ph447|0)==(18); + $212 = (($6) + ($$2352$ph449<<2)|0); + $$0380 = $$0380$ph;$$1373 = $$1373$ph448; + while(1) { + if (!($210)) { + if (!($211)) { + $$1381$ph = $$0380;$$4354$ph = $$2352$ph449;$$4389$ph445 = $$2387$ph447;$$6378$ph = $$1373; + break L101; + } + $213 = HEAP32[$212>>2]|0; + $214 = ($213>>>0)<(9007199); + if (!($214)) { + $$1381$ph = $$0380;$$4354$ph = $$2352$ph449;$$4389$ph445 = 18;$$6378$ph = $$1373; + break L101; + } + } + $215 = (($$1373) + 127)|0; + $$0334 = 0;$$2374 = $$1373;$$5$in = $215; + while(1) { + $$5 = $$5$in & 127; + $216 = (($6) + ($$5<<2)|0); + $217 = HEAP32[$216>>2]|0; + $218 = (_bitshift64Shl(($217|0),0,29)|0); + $219 = tempRet0; + $220 = (_i64Add(($218|0),($219|0),($$0334|0),0)|0); + $221 = tempRet0; + $222 = ($221>>>0)>(0); + $223 = ($220>>>0)>(1000000000); + $224 = ($221|0)==(0); + $225 = $224 & $223; + $226 = $222 | $225; + if ($226) { + $227 = (___udivdi3(($220|0),($221|0),1000000000,0)|0); + $228 = tempRet0; + $229 = (___uremdi3(($220|0),($221|0),1000000000,0)|0); + $230 = tempRet0; + $$1335 = $227;$$sink421$off0 = $229; + } else { + $$1335 = 0;$$sink421$off0 = $220; + } + HEAP32[$216>>2] = $$sink421$off0; + $231 = (($$2374) + 127)|0; + $232 = $231 & 127; + $233 = ($$5|0)!=($232|0); + $234 = ($$5|0)==($$2352$ph449|0); + $or$cond422 = $233 | $234; + $or$cond422$not = $or$cond422 ^ 1; + $235 = ($$sink421$off0|0)==(0); + $or$cond423 = $235 & $or$cond422$not; + $$3375 = $or$cond423 ? $$5 : $$2374; + $236 = (($$5) + -1)|0; + if ($234) { + break; + } else { + $$0334 = $$1335;$$2374 = $$3375;$$5$in = $236; + } + } + $237 = (($$0380) + -29)|0; + $238 = ($$1335|0)==(0); + if ($238) { + $$0380 = $237;$$1373 = $$3375; + } else { + break; + } + } + $239 = (($$2387$ph447) + 9)|0; + $240 = (($$2352$ph449) + 127)|0; + $241 = $240 & 127; + $242 = ($241|0)==($$3375|0); + $243 = (($$3375) + 127)|0; + $244 = $243 & 127; + $245 = (($$3375) + 126)|0; + $246 = $245 & 127; + $247 = (($6) + ($246<<2)|0); + if ($242) { + $248 = (($6) + ($244<<2)|0); + $249 = HEAP32[$248>>2]|0; + $250 = HEAP32[$247>>2]|0; + $251 = $250 | $249; + HEAP32[$247>>2] = $251; + $$4376 = $244; + } else { + $$4376 = $$3375; + } + $252 = (($6) + ($241<<2)|0); + HEAP32[$252>>2] = $$1335; + $$0380$ph = $237;$$1373$ph448 = $$4376;$$2352$ph449 = $241;$$2387$ph447 = $239; + } + L119: while(1) { + $289 = (($$6378$ph) + 1)|0; + $287 = $289 & 127; + $290 = (($$6378$ph) + 127)|0; + $291 = $290 & 127; + $292 = (($6) + ($291<<2)|0); + $$1381$ph558 = $$1381$ph;$$4354$ph559 = $$4354$ph;$$4389$ph = $$4389$ph445; + while(1) { + $265 = ($$4389$ph|0)==(18); + $293 = ($$4389$ph|0)>(27); + $$425 = $293 ? 9 : 1; + $$1381 = $$1381$ph558;$$4354 = $$4354$ph559; + while(1) { + $$0336486 = 0; + while(1) { + $253 = (($$0336486) + ($$4354))|0; + $254 = $253 & 127; + $255 = ($254|0)==($$6378$ph|0); + if ($255) { + $$1337 = 2; + label = 88; + break; + } + $256 = (($6) + ($254<<2)|0); + $257 = HEAP32[$256>>2]|0; + $258 = (5660 + ($$0336486<<2)|0); + $259 = HEAP32[$258>>2]|0; + $260 = ($257>>>0)<($259>>>0); + if ($260) { + $$1337 = 2; + label = 88; + break; + } + $261 = ($257>>>0)>($259>>>0); + if ($261) { + break; + } + $262 = (($$0336486) + 1)|0; + $263 = ($262|0)<(2); + if ($263) { + $$0336486 = $262; + } else { + $$1337 = $262; + label = 88; + break; + } + } + if ((label|0) == 88) { + label = 0; + $264 = ($$1337|0)==(2); + $or$cond11 = $265 & $264; + if ($or$cond11) { + $$0365484 = 0.0;$$4485 = 0;$$9483 = $$6378$ph; + break L119; + } + } + $266 = (($$425) + ($$1381))|0; + $267 = ($$4354|0)==($$6378$ph|0); + if ($267) { + $$1381 = $266;$$4354 = $$6378$ph; + } else { + break; + } + } + $268 = 1 << $$425; + $269 = (($268) + -1)|0; + $270 = 1000000000 >>> $$425; + $$0332490 = 0;$$5355488 = $$4354;$$5390487 = $$4389$ph;$$6489 = $$4354; + while(1) { + $271 = (($6) + ($$6489<<2)|0); + $272 = HEAP32[$271>>2]|0; + $273 = $272 & $269; + $274 = $272 >>> $$425; + $275 = (($274) + ($$0332490))|0; + HEAP32[$271>>2] = $275; + $276 = Math_imul($273, $270)|0; + $277 = ($$6489|0)==($$5355488|0); + $278 = ($275|0)==(0); + $or$cond426 = $277 & $278; + $279 = (($$5355488) + 1)|0; + $280 = $279 & 127; + $281 = (($$5390487) + -9)|0; + $$$5390 = $or$cond426 ? $281 : $$5390487; + $$$5355 = $or$cond426 ? $280 : $$5355488; + $282 = (($$6489) + 1)|0; + $283 = $282 & 127; + $284 = ($283|0)==($$6378$ph|0); + if ($284) { + break; + } else { + $$0332490 = $276;$$5355488 = $$$5355;$$5390487 = $$$5390;$$6489 = $283; + } + } + $285 = ($276|0)==(0); + if ($285) { + $$1381$ph558 = $266;$$4354$ph559 = $$$5355;$$4389$ph = $$$5390; + continue; + } + $286 = ($287|0)==($$$5355|0); + if (!($286)) { + break; + } + $294 = HEAP32[$292>>2]|0; + $295 = $294 | 1; + HEAP32[$292>>2] = $295; + $$1381$ph558 = $266;$$4354$ph559 = $$$5355;$$4389$ph = $$$5390; + } + $288 = (($6) + ($$6378$ph<<2)|0); + HEAP32[$288>>2] = $276; + $$1381$ph = $266;$$4354$ph = $$$5355;$$4389$ph445 = $$$5390;$$6378$ph = $287; + } + while(1) { + $296 = (($$4485) + ($$4354))|0; + $297 = $296 & 127; + $298 = ($297|0)==($$9483|0); + $299 = (($$9483) + 1)|0; + $300 = $299 & 127; + if ($298) { + $301 = (($300) + -1)|0; + $302 = (($6) + ($301<<2)|0); + HEAP32[$302>>2] = 0; + $$10 = $300; + } else { + $$10 = $$9483; + } + $303 = $$0365484 * 1.0E+9; + $304 = (($6) + ($297<<2)|0); + $305 = HEAP32[$304>>2]|0; + $306 = (+($305>>>0)); + $307 = $303 + $306; + $308 = (($$4485) + 1)|0; + $exitcond = ($308|0)==(2); + if ($exitcond) { + break; + } else { + $$0365484 = $307;$$4485 = $308;$$9483 = $$10; + } + } + $309 = (+($4|0)); + $310 = $309 * $307; + $311 = (($$1381) + 53)|0; + $312 = (($311) - ($3))|0; + $313 = ($312|0)<($2|0); + $314 = ($312|0)>(0); + $$ = $314 ? $312 : 0; + $$0333 = $313 ? $$ : $2; + $315 = ($$0333|0)<(53); + if ($315) { + $316 = (105 - ($$0333))|0; + $317 = (+_scalbn(1.0,$316)); + $318 = (+_copysignl($317,$310)); + $319 = (53 - ($$0333))|0; + $320 = (+_scalbn(1.0,$319)); + $321 = (+_fmodl($310,$320)); + $322 = $310 - $321; + $323 = $318 + $322; + $$0360 = $318;$$0361 = $321;$$1366 = $323; + } else { + $$0360 = 0.0;$$0361 = 0.0;$$1366 = $310; + } + $324 = (($$4354) + 2)|0; + $325 = $324 & 127; + $326 = ($325|0)==($$10|0); + if ($326) { + $$3364 = $$0361; + } else { + $327 = (($6) + ($325<<2)|0); + $328 = HEAP32[$327>>2]|0; + $329 = ($328>>>0)<(500000000); + do { + if ($329) { + $330 = ($328|0)==(0); + if ($330) { + $331 = (($$4354) + 3)|0; + $332 = $331 & 127; + $333 = ($332|0)==($$10|0); + if ($333) { + $$1362 = $$0361; + break; + } + } + $334 = $309 * 0.25; + $335 = $334 + $$0361; + $$1362 = $335; + } else { + $336 = ($328|0)==(500000000); + if (!($336)) { + $337 = $309 * 0.75; + $338 = $337 + $$0361; + $$1362 = $338; + break; + } + $339 = (($$4354) + 3)|0; + $340 = $339 & 127; + $341 = ($340|0)==($$10|0); + if ($341) { + $342 = $309 * 0.5; + $343 = $342 + $$0361; + $$1362 = $343; + break; + } else { + $344 = $309 * 0.75; + $345 = $344 + $$0361; + $$1362 = $345; + break; + } + } + } while(0); + $346 = (53 - ($$0333))|0; + $347 = ($346|0)>(1); + if ($347) { + $348 = (+_fmodl($$1362,1.0)); + $349 = $348 != 0.0; + if ($349) { + $$3364 = $$1362; + } else { + $350 = $$1362 + 1.0; + $$3364 = $350; + } + } else { + $$3364 = $$1362; + } + } + $351 = $$1366 + $$3364; + $352 = $351 - $$0360; + $353 = $311 & 2147483647; + $354 = (-2 - ($sum))|0; + $355 = ($353|0)>($354|0); + do { + if ($355) { + $356 = (+Math_abs((+$352))); + $357 = !($356 >= 9007199254740992.0); + $358 = $352 * 0.5; + $not$ = $357 ^ 1; + $359 = $not$&1; + $$3383 = (($359) + ($$1381))|0; + $$2367 = $357 ? $352 : $358; + $360 = (($$3383) + 50)|0; + $361 = ($360|0)>($7|0); + if (!($361)) { + $362 = ($$0333|0)!=($312|0); + $narrow = $362 | $357; + $$2371$v = $313 & $narrow; + $363 = $$3364 != 0.0; + $or$cond14 = $363 & $$2371$v; + if (!($or$cond14)) { + $$3368 = $$2367;$$4384 = $$3383; + break; + } + } + $364 = (___errno_location()|0); + HEAP32[$364>>2] = 34; + $$3368 = $$2367;$$4384 = $$3383; + } else { + $$3368 = $352;$$4384 = $$1381; + } + } while(0); + $365 = (+_scalbnl($$3368,$$4384)); + $$1 = $365; + } + } while(0); + STACKTOP = sp;return (+$$1); +} +function _scanexp($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $$04861 = 0, $$049 = 0, $$1$be = 0, $$160 = 0, $$2$be = 0, $$2$lcssa = 0, $$254 = 0, $$3$be = 0, $$lcssa = 0, $$pre = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0; + var $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0; + var $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0; + var $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0; + var $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0; + var $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($0)) + 4|0); + $3 = HEAP32[$2>>2]|0; + $4 = ((($0)) + 100|0); + $5 = HEAP32[$4>>2]|0; + $6 = ($3>>>0)<($5>>>0); + if ($6) { + $7 = ((($3)) + 1|0); + HEAP32[$2>>2] = $7; + $8 = HEAP8[$3>>0]|0; + $9 = $8&255; + $11 = $9; + } else { + $10 = (___shgetc($0)|0); + $11 = $10; + } + switch ($11|0) { + case 43: case 45: { + $12 = ($11|0)==(45); + $13 = $12&1; + $14 = HEAP32[$2>>2]|0; + $15 = HEAP32[$4>>2]|0; + $16 = ($14>>>0)<($15>>>0); + if ($16) { + $17 = ((($14)) + 1|0); + HEAP32[$2>>2] = $17; + $18 = HEAP8[$14>>0]|0; + $19 = $18&255; + $22 = $19; + } else { + $20 = (___shgetc($0)|0); + $22 = $20; + } + $21 = (($22) + -48)|0; + $23 = ($21>>>0)>(9); + $24 = ($1|0)!=(0); + $or$cond3 = $24 & $23; + if ($or$cond3) { + $25 = HEAP32[$4>>2]|0; + $26 = ($25|0)==(0|0); + if ($26) { + $$0 = $13;$$049 = $22; + } else { + $27 = HEAP32[$2>>2]|0; + $28 = ((($27)) + -1|0); + HEAP32[$2>>2] = $28; + $$0 = $13;$$049 = $22; + } + } else { + $$0 = $13;$$049 = $22; + } + break; + } + default: { + $$0 = 0;$$049 = $11; + } + } + $29 = (($$049) + -48)|0; + $30 = ($29>>>0)>(9); + if ($30) { + $31 = HEAP32[$4>>2]|0; + $32 = ($31|0)==(0|0); + if ($32) { + $100 = -2147483648;$101 = 0; + } else { + $33 = HEAP32[$2>>2]|0; + $34 = ((($33)) + -1|0); + HEAP32[$2>>2] = $34; + $100 = -2147483648;$101 = 0; + } + } else { + $$04861 = 0;$$160 = $$049; + while(1) { + $35 = ($$04861*10)|0; + $36 = (($$160) + -48)|0; + $37 = (($36) + ($35))|0; + $38 = HEAP32[$2>>2]|0; + $39 = HEAP32[$4>>2]|0; + $40 = ($38>>>0)<($39>>>0); + if ($40) { + $41 = ((($38)) + 1|0); + HEAP32[$2>>2] = $41; + $42 = HEAP8[$38>>0]|0; + $43 = $42&255; + $$1$be = $43; + } else { + $44 = (___shgetc($0)|0); + $$1$be = $44; + } + $45 = (($$1$be) + -48)|0; + $46 = ($45>>>0)<(10); + $47 = ($37|0)<(214748364); + $48 = $46 & $47; + if ($48) { + $$04861 = $37;$$160 = $$1$be; + } else { + break; + } + } + $49 = ($37|0)<(0); + $50 = $49 << 31 >> 31; + $51 = (($$1$be) + -48)|0; + $52 = ($51>>>0)<(10); + if ($52) { + $$254 = $$1$be;$56 = $37;$57 = $50; + while(1) { + $58 = (___muldi3(($56|0),($57|0),10,0)|0); + $59 = tempRet0; + $60 = ($$254|0)<(0); + $61 = $60 << 31 >> 31; + $62 = (_i64Add(($$254|0),($61|0),-48,-1)|0); + $63 = tempRet0; + $64 = (_i64Add(($62|0),($63|0),($58|0),($59|0))|0); + $65 = tempRet0; + $66 = HEAP32[$2>>2]|0; + $67 = HEAP32[$4>>2]|0; + $68 = ($66>>>0)<($67>>>0); + if ($68) { + $69 = ((($66)) + 1|0); + HEAP32[$2>>2] = $69; + $70 = HEAP8[$66>>0]|0; + $71 = $70&255; + $$2$be = $71; + } else { + $72 = (___shgetc($0)|0); + $$2$be = $72; + } + $73 = (($$2$be) + -48)|0; + $74 = ($73>>>0)<(10); + $75 = ($65|0)<(21474836); + $76 = ($64>>>0)<(2061584302); + $77 = ($65|0)==(21474836); + $78 = $77 & $76; + $79 = $75 | $78; + $80 = $74 & $79; + if ($80) { + $$254 = $$2$be;$56 = $64;$57 = $65; + } else { + $$2$lcssa = $$2$be;$94 = $64;$95 = $65; + break; + } + } + } else { + $$2$lcssa = $$1$be;$94 = $37;$95 = $50; + } + $53 = (($$2$lcssa) + -48)|0; + $54 = ($53>>>0)<(10); + $55 = HEAP32[$4>>2]|0; + if ($54) { + $83 = $55; + while(1) { + $81 = HEAP32[$2>>2]|0; + $82 = ($81>>>0)<($83>>>0); + if ($82) { + $84 = ((($81)) + 1|0); + HEAP32[$2>>2] = $84; + $85 = HEAP8[$81>>0]|0; + $86 = $85&255; + $$3$be = $86;$102 = $83; + } else { + $87 = (___shgetc($0)|0); + $$pre = HEAP32[$4>>2]|0; + $$3$be = $87;$102 = $$pre; + } + $88 = (($$3$be) + -48)|0; + $89 = ($88>>>0)<(10); + if ($89) { + $83 = $102; + } else { + $$lcssa = $102; + break; + } + } + } else { + $$lcssa = $55; + } + $90 = ($$lcssa|0)==(0|0); + if (!($90)) { + $91 = HEAP32[$2>>2]|0; + $92 = ((($91)) + -1|0); + HEAP32[$2>>2] = $92; + } + $93 = ($$0|0)!=(0); + $96 = (_i64Subtract(0,0,($94|0),($95|0))|0); + $97 = tempRet0; + $98 = $93 ? $96 : $94; + $99 = $93 ? $97 : $95; + $100 = $99;$101 = $98; + } + tempRet0 = ($100); + return ($101|0); +} +function _scalbn($0,$1) { + $0 = +$0; + $1 = $1|0; + var $$ = 0, $$$ = 0, $$0 = 0.0, $$020 = 0, $$1 = 0, $$1$ = 0, $$21 = 0.0, $$22 = 0.0, $10 = 0.0, $11 = 0, $12 = 0, $13 = 0.0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0.0, $2 = 0, $20 = 0.0; + var $3 = 0.0, $4 = 0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ($1|0)>(1023); + if ($2) { + $3 = $0 * 8.9884656743115795E+307; + $4 = (($1) + -1023)|0; + $5 = ($4|0)>(1023); + $6 = $3 * 8.9884656743115795E+307; + $7 = (($1) + -2046)|0; + $8 = ($7|0)<(1023); + $$ = $8 ? $7 : 1023; + $$$ = $5 ? $$ : $4; + $$21 = $5 ? $6 : $3; + $$0 = $$21;$$020 = $$$; + } else { + $9 = ($1|0)<(-1022); + if ($9) { + $10 = $0 * 2.2250738585072014E-308; + $11 = (($1) + 1022)|0; + $12 = ($11|0)<(-1022); + $13 = $10 * 2.2250738585072014E-308; + $14 = (($1) + 2044)|0; + $15 = ($14|0)>(-1022); + $$1 = $15 ? $14 : -1022; + $$1$ = $12 ? $$1 : $11; + $$22 = $12 ? $13 : $10; + $$0 = $$22;$$020 = $$1$; + } else { + $$0 = $0;$$020 = $1; + } + } + $16 = (($$020) + 1023)|0; + $17 = (_bitshift64Shl(($16|0),0,52)|0); + $18 = tempRet0; + HEAP32[tempDoublePtr>>2] = $17;HEAP32[tempDoublePtr+4>>2] = $18;$19 = +HEAPF64[tempDoublePtr>>3]; + $20 = $$0 * $19; + return (+$20); +} +function _copysignl($0,$1) { + $0 = +$0; + $1 = +$1; + var $2 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = (+_copysign($0,$1)); + return (+$2); +} +function _fmodl($0,$1) { + $0 = +$0; + $1 = +$1; + var $2 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = (+_fmod($0,$1)); + return (+$2); +} +function _scalbnl($0,$1) { + $0 = +$0; + $1 = $1|0; + var $2 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = (+_scalbn($0,$1)); + return (+$2); +} +function _fmod($0,$1) { + $0 = +$0; + $1 = +$1; + var $$ = 0.0, $$070 = 0.0, $$071$lcssa = 0, $$07194 = 0, $$073$lcssa = 0, $$073100 = 0, $$172$ph = 0, $$174 = 0, $$275$lcssa = 0, $$27586 = 0, $$376$lcssa = 0, $$37683 = 0, $$lcssa = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0.0, $104 = 0, $105 = 0; + var $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0; + var $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0.0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0; + var $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0.0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0; + var $160 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0.0, $28 = 0.0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0; + var $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0.0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0; + var $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0; + var $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0; + var $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF64[tempDoublePtr>>3] = $0;$2 = HEAP32[tempDoublePtr>>2]|0; + $3 = HEAP32[tempDoublePtr+4>>2]|0; + HEAPF64[tempDoublePtr>>3] = $1;$4 = HEAP32[tempDoublePtr>>2]|0; + $5 = HEAP32[tempDoublePtr+4>>2]|0; + $6 = (_bitshift64Lshr(($2|0),($3|0),52)|0); + $7 = tempRet0; + $8 = $6 & 2047; + $9 = (_bitshift64Lshr(($4|0),($5|0),52)|0); + $10 = tempRet0; + $11 = $9 & 2047; + $12 = $3 & -2147483648; + $13 = (_bitshift64Shl(($4|0),($5|0),1)|0); + $14 = tempRet0; + $15 = ($13|0)==(0); + $16 = ($14|0)==(0); + $17 = $15 & $16; + L1: do { + if ($17) { + label = 3; + } else { + $18 = (___DOUBLE_BITS_272($1)|0); + $19 = tempRet0; + $20 = $19 & 2147483647; + $21 = ($20>>>0)>(2146435072); + $22 = ($18>>>0)>(0); + $23 = ($20|0)==(2146435072); + $24 = $23 & $22; + $25 = $21 | $24; + $26 = ($8|0)==(2047); + $or$cond = $26 | $25; + if ($or$cond) { + label = 3; + } else { + $29 = (_bitshift64Shl(($2|0),($3|0),1)|0); + $30 = tempRet0; + $31 = ($30>>>0)>($14>>>0); + $32 = ($29>>>0)>($13>>>0); + $33 = ($30|0)==($14|0); + $34 = $33 & $32; + $35 = $31 | $34; + if (!($35)) { + $36 = ($29|0)==($13|0); + $37 = ($30|0)==($14|0); + $38 = $36 & $37; + $39 = $0 * 0.0; + $$ = $38 ? $39 : $0; + return (+$$); + } + $40 = ($8|0)==(0); + if ($40) { + $41 = (_bitshift64Shl(($2|0),($3|0),12)|0); + $42 = tempRet0; + $43 = ($42|0)>(-1); + $44 = ($41>>>0)>(4294967295); + $45 = ($42|0)==(-1); + $46 = $45 & $44; + $47 = $43 | $46; + if ($47) { + $$073100 = 0;$49 = $41;$50 = $42; + while(1) { + $48 = (($$073100) + -1)|0; + $51 = (_bitshift64Shl(($49|0),($50|0),1)|0); + $52 = tempRet0; + $53 = ($52|0)>(-1); + $54 = ($51>>>0)>(4294967295); + $55 = ($52|0)==(-1); + $56 = $55 & $54; + $57 = $53 | $56; + if ($57) { + $$073100 = $48;$49 = $51;$50 = $52; + } else { + $$073$lcssa = $48; + break; + } + } + } else { + $$073$lcssa = 0; + } + $58 = (1 - ($$073$lcssa))|0; + $59 = (_bitshift64Shl(($2|0),($3|0),($58|0))|0); + $60 = tempRet0; + $$174 = $$073$lcssa;$87 = $59;$88 = $60; + } else { + $61 = $3 & 1048575; + $62 = $61 | 1048576; + $$174 = $8;$87 = $2;$88 = $62; + } + $63 = ($11|0)==(0); + if ($63) { + $64 = (_bitshift64Shl(($4|0),($5|0),12)|0); + $65 = tempRet0; + $66 = ($65|0)>(-1); + $67 = ($64>>>0)>(4294967295); + $68 = ($65|0)==(-1); + $69 = $68 & $67; + $70 = $66 | $69; + if ($70) { + $$07194 = 0;$72 = $64;$73 = $65; + while(1) { + $71 = (($$07194) + -1)|0; + $74 = (_bitshift64Shl(($72|0),($73|0),1)|0); + $75 = tempRet0; + $76 = ($75|0)>(-1); + $77 = ($74>>>0)>(4294967295); + $78 = ($75|0)==(-1); + $79 = $78 & $77; + $80 = $76 | $79; + if ($80) { + $$07194 = $71;$72 = $74;$73 = $75; + } else { + $$071$lcssa = $71; + break; + } + } + } else { + $$071$lcssa = 0; + } + $81 = (1 - ($$071$lcssa))|0; + $82 = (_bitshift64Shl(($4|0),($5|0),($81|0))|0); + $83 = tempRet0; + $$172$ph = $$071$lcssa;$89 = $82;$90 = $83; + } else { + $84 = $5 & 1048575; + $85 = $84 | 1048576; + $$172$ph = $11;$89 = $4;$90 = $85; + } + $86 = ($$174|0)>($$172$ph|0); + $91 = (_i64Subtract(($87|0),($88|0),($89|0),($90|0))|0); + $92 = tempRet0; + $93 = ($92|0)>(-1); + $94 = ($91>>>0)>(4294967295); + $95 = ($92|0)==(-1); + $96 = $95 & $94; + $97 = $93 | $96; + L23: do { + if ($86) { + $$27586 = $$174;$101 = $92;$156 = $97;$157 = $87;$158 = $88;$99 = $91; + while(1) { + if ($156) { + $98 = ($99|0)==(0); + $100 = ($101|0)==(0); + $102 = $98 & $100; + if ($102) { + break; + } else { + $104 = $99;$105 = $101; + } + } else { + $104 = $157;$105 = $158; + } + $106 = (_bitshift64Shl(($104|0),($105|0),1)|0); + $107 = tempRet0; + $108 = (($$27586) + -1)|0; + $109 = ($108|0)>($$172$ph|0); + $110 = (_i64Subtract(($106|0),($107|0),($89|0),($90|0))|0); + $111 = tempRet0; + $112 = ($111|0)>(-1); + $113 = ($110>>>0)>(4294967295); + $114 = ($111|0)==(-1); + $115 = $114 & $113; + $116 = $112 | $115; + if ($109) { + $$27586 = $108;$101 = $111;$156 = $116;$157 = $106;$158 = $107;$99 = $110; + } else { + $$275$lcssa = $108;$$lcssa = $116;$118 = $110;$120 = $111;$159 = $106;$160 = $107; + break L23; + } + } + $103 = $0 * 0.0; + $$070 = $103; + break L1; + } else { + $$275$lcssa = $$174;$$lcssa = $97;$118 = $91;$120 = $92;$159 = $87;$160 = $88; + } + } while(0); + if ($$lcssa) { + $117 = ($118|0)==(0); + $119 = ($120|0)==(0); + $121 = $117 & $119; + if ($121) { + $129 = $0 * 0.0; + $$070 = $129; + break; + } else { + $123 = $120;$125 = $118; + } + } else { + $123 = $160;$125 = $159; + } + $122 = ($123>>>0)<(1048576); + $124 = ($125>>>0)<(0); + $126 = ($123|0)==(1048576); + $127 = $126 & $124; + $128 = $122 | $127; + if ($128) { + $$37683 = $$275$lcssa;$130 = $125;$131 = $123; + while(1) { + $132 = (_bitshift64Shl(($130|0),($131|0),1)|0); + $133 = tempRet0; + $134 = (($$37683) + -1)|0; + $135 = ($133>>>0)<(1048576); + $136 = ($132>>>0)<(0); + $137 = ($133|0)==(1048576); + $138 = $137 & $136; + $139 = $135 | $138; + if ($139) { + $$37683 = $134;$130 = $132;$131 = $133; + } else { + $$376$lcssa = $134;$141 = $132;$142 = $133; + break; + } + } + } else { + $$376$lcssa = $$275$lcssa;$141 = $125;$142 = $123; + } + $140 = ($$376$lcssa|0)>(0); + if ($140) { + $143 = (_i64Add(($141|0),($142|0),0,-1048576)|0); + $144 = tempRet0; + $145 = (_bitshift64Shl(($$376$lcssa|0),0,52)|0); + $146 = tempRet0; + $147 = $143 | $145; + $148 = $144 | $146; + $153 = $148;$155 = $147; + } else { + $149 = (1 - ($$376$lcssa))|0; + $150 = (_bitshift64Lshr(($141|0),($142|0),($149|0))|0); + $151 = tempRet0; + $153 = $151;$155 = $150; + } + $152 = $153 | $12; + HEAP32[tempDoublePtr>>2] = $155;HEAP32[tempDoublePtr+4>>2] = $152;$154 = +HEAPF64[tempDoublePtr>>3]; + $$070 = $154; + } + } + } while(0); + if ((label|0) == 3) { + $27 = $0 * $1; + $28 = $27 / $27; + $$070 = $28; + } + return (+$$070); +} +function ___DOUBLE_BITS_272($0) { + $0 = +$0; + var $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF64[tempDoublePtr>>3] = $0;$1 = HEAP32[tempDoublePtr>>2]|0; + $2 = HEAP32[tempDoublePtr+4>>2]|0; + tempRet0 = ($2); + return ($1|0); +} +function _strlen($0) { + $0 = $0|0; + var $$0 = 0, $$015$lcssa = 0, $$01519 = 0, $$1$lcssa = 0, $$pn = 0, $$pre = 0, $$sink = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0; + var $21 = 0, $22 = 0, $23 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = $0; + $2 = $1 & 3; + $3 = ($2|0)==(0); + L1: do { + if ($3) { + $$015$lcssa = $0; + label = 4; + } else { + $$01519 = $0;$23 = $1; + while(1) { + $4 = HEAP8[$$01519>>0]|0; + $5 = ($4<<24>>24)==(0); + if ($5) { + $$sink = $23; + break L1; + } + $6 = ((($$01519)) + 1|0); + $7 = $6; + $8 = $7 & 3; + $9 = ($8|0)==(0); + if ($9) { + $$015$lcssa = $6; + label = 4; + break; + } else { + $$01519 = $6;$23 = $7; + } + } + } + } while(0); + if ((label|0) == 4) { + $$0 = $$015$lcssa; + while(1) { + $10 = HEAP32[$$0>>2]|0; + $11 = (($10) + -16843009)|0; + $12 = $10 & -2139062144; + $13 = $12 ^ -2139062144; + $14 = $13 & $11; + $15 = ($14|0)==(0); + $16 = ((($$0)) + 4|0); + if ($15) { + $$0 = $16; + } else { + break; + } + } + $17 = $10&255; + $18 = ($17<<24>>24)==(0); + if ($18) { + $$1$lcssa = $$0; + } else { + $$pn = $$0; + while(1) { + $19 = ((($$pn)) + 1|0); + $$pre = HEAP8[$19>>0]|0; + $20 = ($$pre<<24>>24)==(0); + if ($20) { + $$1$lcssa = $19; + break; + } else { + $$pn = $19; + } + } + } + $21 = $$1$lcssa; + $$sink = $21; + } + $22 = (($$sink) - ($1))|0; + return ($22|0); +} +function _strchr($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = (___strchrnul($0,$1)|0); + $3 = HEAP8[$2>>0]|0; + $4 = $1&255; + $5 = ($3<<24>>24)==($4<<24>>24); + $6 = $5 ? $2 : 0; + return ($6|0); +} +function ___strchrnul($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $$029$lcssa = 0, $$02936 = 0, $$030$lcssa = 0, $$03039 = 0, $$1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0; + var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0; + var $41 = 0, $42 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond33 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = $1 & 255; + $3 = ($2|0)==(0); + L1: do { + if ($3) { + $8 = (_strlen($0)|0); + $9 = (($0) + ($8)|0); + $$0 = $9; + } else { + $4 = $0; + $5 = $4 & 3; + $6 = ($5|0)==(0); + if ($6) { + $$030$lcssa = $0; + } else { + $7 = $1&255; + $$03039 = $0; + while(1) { + $10 = HEAP8[$$03039>>0]|0; + $11 = ($10<<24>>24)==(0); + $12 = ($10<<24>>24)==($7<<24>>24); + $or$cond = $11 | $12; + if ($or$cond) { + $$0 = $$03039; + break L1; + } + $13 = ((($$03039)) + 1|0); + $14 = $13; + $15 = $14 & 3; + $16 = ($15|0)==(0); + if ($16) { + $$030$lcssa = $13; + break; + } else { + $$03039 = $13; + } + } + } + $17 = Math_imul($2, 16843009)|0; + $18 = HEAP32[$$030$lcssa>>2]|0; + $19 = (($18) + -16843009)|0; + $20 = $18 & -2139062144; + $21 = $20 ^ -2139062144; + $22 = $21 & $19; + $23 = ($22|0)==(0); + L10: do { + if ($23) { + $$02936 = $$030$lcssa;$25 = $18; + while(1) { + $24 = $25 ^ $17; + $26 = (($24) + -16843009)|0; + $27 = $24 & -2139062144; + $28 = $27 ^ -2139062144; + $29 = $28 & $26; + $30 = ($29|0)==(0); + if (!($30)) { + $$029$lcssa = $$02936; + break L10; + } + $31 = ((($$02936)) + 4|0); + $32 = HEAP32[$31>>2]|0; + $33 = (($32) + -16843009)|0; + $34 = $32 & -2139062144; + $35 = $34 ^ -2139062144; + $36 = $35 & $33; + $37 = ($36|0)==(0); + if ($37) { + $$02936 = $31;$25 = $32; + } else { + $$029$lcssa = $31; + break; + } + } + } else { + $$029$lcssa = $$030$lcssa; + } + } while(0); + $38 = $1&255; + $$1 = $$029$lcssa; + while(1) { + $39 = HEAP8[$$1>>0]|0; + $40 = ($39<<24>>24)==(0); + $41 = ($39<<24>>24)==($38<<24>>24); + $or$cond33 = $40 | $41; + $42 = ((($$1)) + 1|0); + if ($or$cond33) { + $$0 = $$1; + break; + } else { + $$1 = $42; + } + } + } + } while(0); + return ($$0|0); +} +function _mbrtowc($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$ = 0, $$0 = 0, $$03952 = 0, $$04051 = 0, $$04350 = 0, $$1 = 0, $$141 = 0, $$144 = 0, $$2 = 0, $$47 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0; + var $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0; + var $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; + var $not$ = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $4 = sp; + $5 = ($3|0)==(0|0); + $$ = $5 ? 28188 : $3; + $6 = HEAP32[$$>>2]|0; + $7 = ($1|0)==(0|0); + L1: do { + if ($7) { + $8 = ($6|0)==(0); + if ($8) { + $$0 = 0; + } else { + label = 17; + } + } else { + $9 = ($0|0)==(0|0); + $$47 = $9 ? $4 : $0; + $10 = ($2|0)==(0); + if ($10) { + $$0 = -2; + } else { + $11 = ($6|0)==(0); + if ($11) { + $12 = HEAP8[$1>>0]|0; + $13 = ($12<<24>>24)>(-1); + if ($13) { + $14 = $12&255; + HEAP32[$$47>>2] = $14; + $15 = ($12<<24>>24)!=(0); + $16 = $15&1; + $$0 = $16; + break; + } + $17 = (___pthread_self_439()|0); + $18 = ((($17)) + 188|0); + $19 = HEAP32[$18>>2]|0; + $20 = HEAP32[$19>>2]|0; + $not$ = ($20|0)==(0|0); + $21 = HEAP8[$1>>0]|0; + if ($not$) { + $22 = $21 << 24 >> 24; + $23 = $22 & 57343; + HEAP32[$$47>>2] = $23; + $$0 = 1; + break; + } + $24 = $21&255; + $25 = (($24) + -194)|0; + $26 = ($25>>>0)>(50); + if ($26) { + label = 17; + break; + } + $27 = ((($1)) + 1|0); + $28 = (4796 + ($25<<2)|0); + $29 = HEAP32[$28>>2]|0; + $30 = (($2) + -1)|0; + $31 = ($30|0)==(0); + if ($31) { + $$2 = $29; + } else { + $$03952 = $27;$$04051 = $29;$$04350 = $30; + label = 11; + } + } else { + $$03952 = $1;$$04051 = $6;$$04350 = $2; + label = 11; + } + L14: do { + if ((label|0) == 11) { + $32 = HEAP8[$$03952>>0]|0; + $33 = $32&255; + $34 = $33 >>> 3; + $35 = (($34) + -16)|0; + $36 = $$04051 >> 26; + $37 = (($34) + ($36))|0; + $38 = $35 | $37; + $39 = ($38>>>0)>(7); + if ($39) { + label = 17; + break L1; + } else { + $$1 = $$03952;$$141 = $$04051;$$144 = $$04350;$43 = $32; + } + while(1) { + $40 = $$141 << 6; + $41 = ((($$1)) + 1|0); + $42 = $43&255; + $44 = (($42) + -128)|0; + $45 = $44 | $40; + $46 = (($$144) + -1)|0; + $47 = ($45|0)<(0); + if (!($47)) { + break; + } + $49 = ($46|0)==(0); + if ($49) { + $$2 = $45; + break L14; + } + $50 = HEAP8[$41>>0]|0; + $51 = $50 & -64; + $52 = ($51<<24>>24)==(-128); + if ($52) { + $$1 = $41;$$141 = $45;$$144 = $46;$43 = $50; + } else { + label = 17; + break L1; + } + } + HEAP32[$$>>2] = 0; + HEAP32[$$47>>2] = $45; + $48 = (($2) - ($46))|0; + $$0 = $48; + break L1; + } + } while(0); + HEAP32[$$>>2] = $$2; + $$0 = -2; + } + } + } while(0); + if ((label|0) == 17) { + HEAP32[$$>>2] = 0; + $53 = (___errno_location()|0); + HEAP32[$53>>2] = 84; + $$0 = -1; + } + STACKTOP = sp;return ($$0|0); +} +function ___pthread_self_439() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (_pthread_self()|0); + return ($0|0); +} +function _strcpy($0,$1) { + $0 = $0|0; + $1 = $1|0; + var label = 0, sp = 0; + sp = STACKTOP; + (___stpcpy($0,$1)|0); + return ($0|0); +} +function ___stpcpy($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0$lcssa = 0, $$025$lcssa = 0, $$02536 = 0, $$026$lcssa = 0, $$02642 = 0, $$027$lcssa = 0, $$02741 = 0, $$029 = 0, $$037 = 0, $$1$ph = 0, $$128$ph = 0, $$12834 = 0, $$135 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0; + var $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0; + var $35 = 0, $36 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = (($s) + -1)|0; - $1 = 144; $2 = $1; - HEAP32[$2>>2] = $0; - $3 = (($1) + 4)|0; - $4 = $3; - HEAP32[$4>>2] = 0; + $3 = $0; + $4 = $2 ^ $3; + $5 = $4 & 3; + $6 = ($5|0)==(0); + L1: do { + if ($6) { + $7 = $2 & 3; + $8 = ($7|0)==(0); + if ($8) { + $$026$lcssa = $1;$$027$lcssa = $0; + } else { + $$02642 = $1;$$02741 = $0; + while(1) { + $9 = HEAP8[$$02642>>0]|0; + HEAP8[$$02741>>0] = $9; + $10 = ($9<<24>>24)==(0); + if ($10) { + $$029 = $$02741; + break L1; + } + $11 = ((($$02642)) + 1|0); + $12 = ((($$02741)) + 1|0); + $13 = $11; + $14 = $13 & 3; + $15 = ($14|0)==(0); + if ($15) { + $$026$lcssa = $11;$$027$lcssa = $12; + break; + } else { + $$02642 = $11;$$02741 = $12; + } + } + } + $16 = HEAP32[$$026$lcssa>>2]|0; + $17 = (($16) + -16843009)|0; + $18 = $16 & -2139062144; + $19 = $18 ^ -2139062144; + $20 = $19 & $17; + $21 = ($20|0)==(0); + if ($21) { + $$02536 = $$027$lcssa;$$037 = $$026$lcssa;$24 = $16; + while(1) { + $22 = ((($$037)) + 4|0); + $23 = ((($$02536)) + 4|0); + HEAP32[$$02536>>2] = $24; + $25 = HEAP32[$22>>2]|0; + $26 = (($25) + -16843009)|0; + $27 = $25 & -2139062144; + $28 = $27 ^ -2139062144; + $29 = $28 & $26; + $30 = ($29|0)==(0); + if ($30) { + $$02536 = $23;$$037 = $22;$24 = $25; + } else { + $$0$lcssa = $22;$$025$lcssa = $23; + break; + } + } + } else { + $$0$lcssa = $$026$lcssa;$$025$lcssa = $$027$lcssa; + } + $$1$ph = $$0$lcssa;$$128$ph = $$025$lcssa; + label = 8; + } else { + $$1$ph = $1;$$128$ph = $0; + label = 8; + } + } while(0); + if ((label|0) == 8) { + $31 = HEAP8[$$1$ph>>0]|0; + HEAP8[$$128$ph>>0] = $31; + $32 = ($31<<24>>24)==(0); + if ($32) { + $$029 = $$128$ph; + } else { + $$12834 = $$128$ph;$$135 = $$1$ph; + while(1) { + $33 = ((($$135)) + 1|0); + $34 = ((($$12834)) + 1|0); + $35 = HEAP8[$33>>0]|0; + HEAP8[$34>>0] = $35; + $36 = ($35<<24>>24)==(0); + if ($36) { + $$029 = $34; + break; + } else { + $$12834 = $34;$$135 = $33; + } + } + } + } + return ($$029|0); +} +function _ldexp($0,$1) { + $0 = +$0; + $1 = $1|0; + var $2 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = (+_scalbn($0,$1)); + return (+$2); +} +function _fwrite($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$ = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $phitmp = 0, label = 0, sp = 0; + sp = STACKTOP; + $4 = Math_imul($2, $1)|0; + $5 = ($1|0)==(0); + $$ = $5 ? 0 : $2; + $6 = ((($3)) + 76|0); + $7 = HEAP32[$6>>2]|0; + $8 = ($7|0)>(-1); + if ($8) { + $10 = (___lockfile($3)|0); + $phitmp = ($10|0)==(0); + $11 = (___fwritex($0,$4,$3)|0); + if ($phitmp) { + $13 = $11; + } else { + ___unlockfile($3); + $13 = $11; + } + } else { + $9 = (___fwritex($0,$4,$3)|0); + $13 = $9; + } + $12 = ($13|0)==($4|0); + if ($12) { + $15 = $$; + } else { + $14 = (($13>>>0) / ($1>>>0))&-1; + $15 = $14; + } + return ($15|0); +} +function ___unlist_locked_file($0) { + $0 = $0|0; + var $$pre = 0, $$sink = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 68|0); + $2 = HEAP32[$1>>2]|0; + $3 = ($2|0)==(0); + if (!($3)) { + $4 = ((($0)) + 116|0); + $5 = HEAP32[$4>>2]|0; + $6 = ($5|0)==(0|0); + $$pre = ((($0)) + 112|0); + if (!($6)) { + $7 = HEAP32[$$pre>>2]|0; + $8 = ((($5)) + 112|0); + HEAP32[$8>>2] = $7; + } + $9 = HEAP32[$$pre>>2]|0; + $10 = ($9|0)==(0|0); + if ($10) { + $12 = (___pthread_self_607()|0); + $13 = ((($12)) + 232|0); + $$sink = $13; + } else { + $11 = ((($9)) + 116|0); + $$sink = $11; + } + HEAP32[$$sink>>2] = $5; + } + return; +} +function ___pthread_self_607() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (_pthread_self()|0); + return ($0|0); +} +function _fopen($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $memchr = 0, $vararg_buffer = 0, $vararg_buffer3 = 0, $vararg_buffer8 = 0, $vararg_ptr1 = 0; + var $vararg_ptr2 = 0, $vararg_ptr6 = 0, $vararg_ptr7 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0); + $vararg_buffer8 = sp + 32|0; + $vararg_buffer3 = sp + 16|0; + $vararg_buffer = sp; + $2 = HEAP8[$1>>0]|0; + $3 = $2 << 24 >> 24; + $memchr = (_memchr(23901,$3,4)|0); + $4 = ($memchr|0)==(0|0); + if ($4) { + $5 = (___errno_location()|0); + HEAP32[$5>>2] = 22; + $$0 = 0; + } else { + $6 = (___fmodeflags($1)|0); + $7 = $0; + $8 = $6 | 32768; + HEAP32[$vararg_buffer>>2] = $7; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $8; + $vararg_ptr2 = ((($vararg_buffer)) + 8|0); + HEAP32[$vararg_ptr2>>2] = 438; + $9 = (___syscall5(5,($vararg_buffer|0))|0); + $10 = (___syscall_ret($9)|0); + $11 = ($10|0)<(0); + if ($11) { + $$0 = 0; + } else { + $12 = $6 & 524288; + $13 = ($12|0)==(0); + if (!($13)) { + HEAP32[$vararg_buffer3>>2] = $10; + $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); + HEAP32[$vararg_ptr6>>2] = 2; + $vararg_ptr7 = ((($vararg_buffer3)) + 8|0); + HEAP32[$vararg_ptr7>>2] = 1; + (___syscall221(221,($vararg_buffer3|0))|0); + } + $14 = (___fdopen($10,$1)|0); + $15 = ($14|0)==(0|0); + if ($15) { + HEAP32[$vararg_buffer8>>2] = $10; + (___syscall6(6,($vararg_buffer8|0))|0); + $$0 = 0; + } else { + $$0 = $14; + } + } + } + STACKTOP = sp;return ($$0|0); +} +function ___fmodeflags($0) { + $0 = $0|0; + var $$ = 0, $$$4 = 0, $$0 = 0, $$0$ = 0, $$2 = 0, $$2$ = 0, $$4 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; + var $8 = 0, $9 = 0, $not$ = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (_strchr($0,43)|0); + $2 = ($1|0)==(0|0); + $3 = HEAP8[$0>>0]|0; + $not$ = ($3<<24>>24)!=(114); + $$ = $not$&1; + $$0 = $2 ? $$ : 2; + $4 = (_strchr($0,120)|0); + $5 = ($4|0)==(0|0); + $6 = $$0 | 128; + $$0$ = $5 ? $$0 : $6; + $7 = (_strchr($0,101)|0); + $8 = ($7|0)==(0|0); + $9 = $$0$ | 524288; + $$2 = $8 ? $$0$ : $9; + $10 = ($3<<24>>24)==(114); + $11 = $$2 | 64; + $$2$ = $10 ? $$2 : $11; + $12 = ($3<<24>>24)==(119); + $13 = $$2$ | 512; + $$4 = $12 ? $13 : $$2$; + $14 = ($3<<24>>24)==(97); + $15 = $$4 | 1024; + $$$4 = $14 ? $15 : $$4; + return ($$$4|0); +} +function ___fdopen($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $$pre = 0, $$pre31 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; + var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $5 = 0, $6 = 0; + var $7 = 0, $8 = 0, $9 = 0, $memchr = 0, $vararg_buffer = 0, $vararg_buffer12 = 0, $vararg_buffer3 = 0, $vararg_buffer7 = 0, $vararg_ptr1 = 0, $vararg_ptr10 = 0, $vararg_ptr11 = 0, $vararg_ptr15 = 0, $vararg_ptr16 = 0, $vararg_ptr2 = 0, $vararg_ptr6 = 0, dest = 0, label = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $vararg_buffer12 = sp + 40|0; + $vararg_buffer7 = sp + 24|0; + $vararg_buffer3 = sp + 16|0; + $vararg_buffer = sp; + $2 = sp + 56|0; + $3 = HEAP8[$1>>0]|0; + $4 = $3 << 24 >> 24; + $memchr = (_memchr(23901,$4,4)|0); + $5 = ($memchr|0)==(0|0); + if ($5) { + $6 = (___errno_location()|0); + HEAP32[$6>>2] = 22; + $$0 = 0; + } else { + $7 = (_malloc(1156)|0); + $8 = ($7|0)==(0|0); + if ($8) { + $$0 = 0; + } else { + dest=$7; stop=dest+124|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + $9 = (_strchr($1,43)|0); + $10 = ($9|0)==(0|0); + if ($10) { + $11 = ($3<<24>>24)==(114); + $12 = $11 ? 8 : 4; + HEAP32[$7>>2] = $12; + } + $13 = (_strchr($1,101)|0); + $14 = ($13|0)==(0|0); + if ($14) { + $16 = $3; + } else { + HEAP32[$vararg_buffer>>2] = $0; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = 2; + $vararg_ptr2 = ((($vararg_buffer)) + 8|0); + HEAP32[$vararg_ptr2>>2] = 1; + (___syscall221(221,($vararg_buffer|0))|0); + $$pre = HEAP8[$1>>0]|0; + $16 = $$pre; + } + $15 = ($16<<24>>24)==(97); + if ($15) { + HEAP32[$vararg_buffer3>>2] = $0; + $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); + HEAP32[$vararg_ptr6>>2] = 3; + $17 = (___syscall221(221,($vararg_buffer3|0))|0); + $18 = $17 & 1024; + $19 = ($18|0)==(0); + if ($19) { + $20 = $17 | 1024; + HEAP32[$vararg_buffer7>>2] = $0; + $vararg_ptr10 = ((($vararg_buffer7)) + 4|0); + HEAP32[$vararg_ptr10>>2] = 4; + $vararg_ptr11 = ((($vararg_buffer7)) + 8|0); + HEAP32[$vararg_ptr11>>2] = $20; + (___syscall221(221,($vararg_buffer7|0))|0); + } + $21 = HEAP32[$7>>2]|0; + $22 = $21 | 128; + HEAP32[$7>>2] = $22; + $29 = $22; + } else { + $$pre31 = HEAP32[$7>>2]|0; + $29 = $$pre31; + } + $23 = ((($7)) + 60|0); + HEAP32[$23>>2] = $0; + $24 = ((($7)) + 132|0); + $25 = ((($7)) + 44|0); + HEAP32[$25>>2] = $24; + $26 = ((($7)) + 48|0); + HEAP32[$26>>2] = 1024; + $27 = ((($7)) + 75|0); + HEAP8[$27>>0] = -1; + $28 = $29 & 8; + $30 = ($28|0)==(0); + if ($30) { + $31 = $2; + HEAP32[$vararg_buffer12>>2] = $0; + $vararg_ptr15 = ((($vararg_buffer12)) + 4|0); + HEAP32[$vararg_ptr15>>2] = 21523; + $vararg_ptr16 = ((($vararg_buffer12)) + 8|0); + HEAP32[$vararg_ptr16>>2] = $31; + $32 = (___syscall54(54,($vararg_buffer12|0))|0); + $33 = ($32|0)==(0); + if ($33) { + HEAP8[$27>>0] = 10; + } + } + $34 = ((($7)) + 32|0); + HEAP32[$34>>2] = 11; + $35 = ((($7)) + 36|0); + HEAP32[$35>>2] = 2; + $36 = ((($7)) + 40|0); + HEAP32[$36>>2] = 3; + $37 = ((($7)) + 12|0); + HEAP32[$37>>2] = 2; + $38 = HEAP32[(28128)>>2]|0; + $39 = ($38|0)==(0); + if ($39) { + $40 = ((($7)) + 76|0); + HEAP32[$40>>2] = -1; + } + $41 = (___ofl_add($7)|0); + $$0 = $7; + } + } + STACKTOP = sp;return ($$0|0); +} +function ___ofl_add($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (___ofl_lock()|0); + $2 = HEAP32[$1>>2]|0; + $3 = ((($0)) + 56|0); + HEAP32[$3>>2] = $2; + $4 = HEAP32[$1>>2]|0; + $5 = ($4|0)==(0|0); + if (!($5)) { + $6 = ((($4)) + 52|0); + HEAP32[$6>>2] = $0; + } + HEAP32[$1>>2] = $0; + ___ofl_unlock(); + return ($0|0); +} +function ___ofl_lock() { + var label = 0, sp = 0; + sp = STACKTOP; + ___lock((28192|0)); + return (28200|0); +} +function ___ofl_unlock() { + var label = 0, sp = 0; + sp = STACKTOP; + ___unlock((28192|0)); + return; +} +function _fclose($0) { + $0 = $0|0; + var $$pre = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 76|0); + $2 = HEAP32[$1>>2]|0; + $3 = ($2|0)>(-1); + if ($3) { + $4 = (___lockfile($0)|0); + $29 = $4; + } else { + $29 = 0; + } + ___unlist_locked_file($0); + $5 = HEAP32[$0>>2]|0; + $6 = $5 & 1; + $7 = ($6|0)!=(0); + if (!($7)) { + $8 = (___ofl_lock()|0); + $9 = ((($0)) + 52|0); + $10 = HEAP32[$9>>2]|0; + $11 = ($10|0)==(0|0); + $12 = $10; + $$pre = ((($0)) + 56|0); + if (!($11)) { + $13 = HEAP32[$$pre>>2]|0; + $14 = ((($10)) + 56|0); + HEAP32[$14>>2] = $13; + } + $15 = HEAP32[$$pre>>2]|0; + $16 = ($15|0)==(0|0); + if (!($16)) { + $17 = ((($15)) + 52|0); + HEAP32[$17>>2] = $12; + } + $18 = HEAP32[$8>>2]|0; + $19 = ($18|0)==($0|0); + if ($19) { + HEAP32[$8>>2] = $15; + } + ___ofl_unlock(); + } + $20 = (_fflush($0)|0); + $21 = ((($0)) + 12|0); + $22 = HEAP32[$21>>2]|0; + $23 = (FUNCTION_TABLE_ii[$22 & 15]($0)|0); + $24 = $23 | $20; + $25 = ((($0)) + 92|0); + $26 = HEAP32[$25>>2]|0; + $27 = ($26|0)==(0|0); + if (!($27)) { + _free($26); + } + if ($7) { + $28 = ($29|0)==(0); + if (!($28)) { + ___unlockfile($0); + } + } else { + _free($0); + } + return ($24|0); +} +function _fflush($0) { + $0 = $0|0; + var $$0 = 0, $$023 = 0, $$02325 = 0, $$02327 = 0, $$024$lcssa = 0, $$02426 = 0, $$1 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0; + var $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $phitmp = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ($0|0)==(0|0); + do { + if ($1) { + $8 = HEAP32[1375]|0; + $9 = ($8|0)==(0|0); + if ($9) { + $29 = 0; + } else { + $10 = HEAP32[1375]|0; + $11 = (_fflush($10)|0); + $29 = $11; + } + $12 = (___ofl_lock()|0); + $$02325 = HEAP32[$12>>2]|0; + $13 = ($$02325|0)==(0|0); + if ($13) { + $$024$lcssa = $29; + } else { + $$02327 = $$02325;$$02426 = $29; + while(1) { + $14 = ((($$02327)) + 76|0); + $15 = HEAP32[$14>>2]|0; + $16 = ($15|0)>(-1); + if ($16) { + $17 = (___lockfile($$02327)|0); + $26 = $17; + } else { + $26 = 0; + } + $18 = ((($$02327)) + 20|0); + $19 = HEAP32[$18>>2]|0; + $20 = ((($$02327)) + 28|0); + $21 = HEAP32[$20>>2]|0; + $22 = ($19>>>0)>($21>>>0); + if ($22) { + $23 = (___fflush_unlocked($$02327)|0); + $24 = $23 | $$02426; + $$1 = $24; + } else { + $$1 = $$02426; + } + $25 = ($26|0)==(0); + if (!($25)) { + ___unlockfile($$02327); + } + $27 = ((($$02327)) + 56|0); + $$023 = HEAP32[$27>>2]|0; + $28 = ($$023|0)==(0|0); + if ($28) { + $$024$lcssa = $$1; + break; + } else { + $$02327 = $$023;$$02426 = $$1; + } + } + } + ___ofl_unlock(); + $$0 = $$024$lcssa; + } else { + $2 = ((($0)) + 76|0); + $3 = HEAP32[$2>>2]|0; + $4 = ($3|0)>(-1); + if (!($4)) { + $5 = (___fflush_unlocked($0)|0); + $$0 = $5; + break; + } + $6 = (___lockfile($0)|0); + $phitmp = ($6|0)==(0); + $7 = (___fflush_unlocked($0)|0); + if ($phitmp) { + $$0 = $7; + } else { + ___unlockfile($0); + $$0 = $7; + } + } + } while(0); + return ($$0|0); +} +function ___fflush_unlocked($0) { + $0 = $0|0; + var $$0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 20|0); + $2 = HEAP32[$1>>2]|0; + $3 = ((($0)) + 28|0); + $4 = HEAP32[$3>>2]|0; + $5 = ($2>>>0)>($4>>>0); + if ($5) { + $6 = ((($0)) + 36|0); + $7 = HEAP32[$6>>2]|0; + (FUNCTION_TABLE_iiii[$7 & 15]($0,0,0)|0); + $8 = HEAP32[$1>>2]|0; + $9 = ($8|0)==(0|0); + if ($9) { + $$0 = -1; + } else { + label = 3; + } + } else { + label = 3; + } + if ((label|0) == 3) { + $10 = ((($0)) + 4|0); + $11 = HEAP32[$10>>2]|0; + $12 = ((($0)) + 8|0); + $13 = HEAP32[$12>>2]|0; + $14 = ($11>>>0)<($13>>>0); + if ($14) { + $15 = $11; + $16 = $13; + $17 = (($15) - ($16))|0; + $18 = ((($0)) + 40|0); + $19 = HEAP32[$18>>2]|0; + (FUNCTION_TABLE_iiii[$19 & 15]($0,$17,1)|0); + } + $20 = ((($0)) + 16|0); + HEAP32[$20>>2] = 0; + HEAP32[$3>>2] = 0; + HEAP32[$1>>2] = 0; + HEAP32[$12>>2] = 0; + HEAP32[$10>>2] = 0; + $$0 = 0; + } + return ($$0|0); +} +function _fgets($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$0 = 0, $$06266 = 0, $$063 = 0, $$064 = 0, $$1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; + var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0; + var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond3 = 0; + var $sext$mask = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ((($2)) + 76|0); + $4 = HEAP32[$3>>2]|0; + $5 = ($4|0)>(-1); + if ($5) { + $6 = (___lockfile($2)|0); + $17 = $6; + } else { + $17 = 0; + } + $7 = (($1) + -1)|0; + $8 = ($1|0)<(2); + $9 = ($7|0)!=(0); + if ($8) { + $10 = ((($2)) + 74|0); + $11 = HEAP8[$10>>0]|0; + $12 = $11 << 24 >> 24; + $13 = (($12) + 255)|0; + $14 = $13 | $12; + $15 = $14&255; + HEAP8[$10>>0] = $15; + $16 = ($17|0)==(0); + if (!($16)) { + ___unlockfile($2); + } + if ($9) { + $$0 = 0; + } else { + HEAP8[$0>>0] = 0; + $$0 = $0; + } + } else { + L11: do { + if ($9) { + $18 = ((($2)) + 4|0); + $19 = ((($2)) + 8|0); + $$063 = $7;$$064 = $0; + while(1) { + $20 = HEAP32[$18>>2]|0; + $21 = HEAP32[$19>>2]|0; + $22 = $20; + $23 = (($21) - ($22))|0; + $24 = (_memchr($20,10,$23)|0); + $25 = ($24|0)==(0|0); + $26 = $24; + $27 = (1 - ($22))|0; + $28 = (($27) + ($26))|0; + $29 = $25 ? $23 : $28; + $30 = ($29>>>0)<($$063>>>0); + $31 = $30 ? $29 : $$063; + _memcpy(($$064|0),($20|0),($31|0))|0; + $32 = HEAP32[$18>>2]|0; + $33 = (($32) + ($31)|0); + HEAP32[$18>>2] = $33; + $34 = (($$064) + ($31)|0); + $35 = (($$063) - ($31))|0; + $36 = ($35|0)!=(0); + $or$cond = $25 & $36; + if (!($or$cond)) { + $$1 = $34; + label = 17; + break L11; + } + $37 = HEAP32[$19>>2]|0; + $38 = ($33>>>0)<($37>>>0); + if ($38) { + $39 = ((($33)) + 1|0); + HEAP32[$18>>2] = $39; + $40 = HEAP8[$33>>0]|0; + $41 = $40&255; + $50 = $41; + } else { + $42 = (___uflow($2)|0); + $43 = ($42|0)<(0); + if ($43) { + break; + } else { + $50 = $42; + } + } + $48 = (($35) + -1)|0; + $49 = $50&255; + $51 = ((($34)) + 1|0); + HEAP8[$34>>0] = $49; + $sext$mask = $50 & 255; + $52 = ($sext$mask|0)!=(10); + $53 = ($48|0)!=(0); + $or$cond3 = $53 & $52; + if ($or$cond3) { + $$063 = $48;$$064 = $51; + } else { + $$1 = $51; + label = 17; + break L11; + } + } + $44 = ($34|0)==($0|0); + if ($44) { + $$06266 = 0; + } else { + $45 = HEAP32[$2>>2]|0; + $46 = $45 & 16; + $47 = ($46|0)==(0); + if ($47) { + $$06266 = 0; + } else { + $$1 = $34; + label = 17; + } + } + } else { + $$1 = $0; + label = 17; + } + } while(0); + if ((label|0) == 17) { + $54 = ($0|0)==(0|0); + if ($54) { + $$06266 = 0; + } else { + HEAP8[$$1>>0] = 0; + $$06266 = $0; + } + } + $55 = ($17|0)==(0); + if ($55) { + $$0 = $$06266; + } else { + ___unlockfile($2); + $$0 = $$06266; + } + } + return ($$0|0); +} +function _feof($0) { + $0 = $0|0; + var $$lobit = 0, $$lobit8 = 0, $$lobit9 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $phitmp = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 76|0); + $2 = HEAP32[$1>>2]|0; + $3 = ($2|0)>(-1); + if ($3) { + $6 = (___lockfile($0)|0); + $phitmp = ($6|0)==(0); + $7 = HEAP32[$0>>2]|0; + $8 = $7 >>> 4; + $$lobit = $8 & 1; + if ($phitmp) { + $$lobit9 = $$lobit; + } else { + ___unlockfile($0); + $$lobit9 = $$lobit; + } + } else { + $4 = HEAP32[$0>>2]|0; + $5 = $4 >>> 4; + $$lobit8 = $5 & 1; + $$lobit9 = $$lobit8; + } + return ($$lobit9|0); +} +function _sscanf($0,$1,$varargs) { + $0 = $0|0; + $1 = $1|0; + $varargs = $varargs|0; + var $2 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $2 = sp; + HEAP32[$2>>2] = $varargs; + $3 = (_vsscanf($0,$1,$2)|0); + STACKTOP = sp;return ($3|0); +} +function _vsscanf($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, dest = 0, label = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0); + $3 = sp; + dest=$3; stop=dest+124|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + $4 = ((($3)) + 32|0); + HEAP32[$4>>2] = 12; + $5 = ((($3)) + 44|0); + HEAP32[$5>>2] = $0; + $6 = ((($3)) + 76|0); + HEAP32[$6>>2] = -1; + $7 = ((($3)) + 84|0); + HEAP32[$7>>2] = $0; + $8 = (_vfscanf($3,$1,$2)|0); + STACKTOP = sp;return ($8|0); +} +function _do_read($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = (___string_read($0,$1,$2)|0); + return ($3|0); +} +function _vfscanf($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$ = 0, $$$0266 = 0, $$$0268 = 0, $$$0305 = 0, $$$3 = 0, $$0266$lcssa = 0, $$0266417 = 0, $$0268 = 0, $$0272 = 0, $$0273429 = 0, $$0276$ph = 0, $$0278$ph = 0, $$0278$ph$phi = 0, $$0278$ph336 = 0, $$0283428 = 0, $$0286420 = 0, $$0288$ = 0, $$0288425 = 0, $$0292 = 0, $$0293 = 0; + var $$0305423 = 0, $$10 = 0, $$11 = 0, $$1267 = 0, $$1271 = 0, $$1274 = 0, $$1277$ph = 0, $$1279 = 0, $$1284 = 0, $$1289 = 0, $$2 = 0, $$2275 = 0, $$2280 = 0, $$2280$ph = 0, $$2280$ph$phi = 0, $$2285 = 0, $$2290 = 0, $$2307$ph = 0, $$3$lcssa = 0, $$319 = 0; + var $$320 = 0, $$321 = 0, $$322 = 0, $$327 = 0, $$328$le439 = 0, $$328$le441 = 0, $$3281 = 0, $$3291 = 0, $$3416 = 0, $$4282 = 0, $$4309 = 0, $$5 = 0, $$5299 = 0, $$5310 = 0, $$6 = 0, $$6311 = 0, $$7 = 0, $$7$ph = 0, $$7312 = 0, $$8 = 0; + var $$8313 = 0, $$9 = 0, $$9314 = 0, $$9314$ph = 0, $$lcssa355 = 0, $$not = 0, $$old4 = 0, $$ph = 0, $$ph353 = 0, $$pre = 0, $$pre$phi516Z2D = 0, $$pre507 = 0, $$pre509 = 0, $$pre511 = 0, $$pre512 = 0, $$pre513 = 0, $$pre514 = 0, $$pre515 = 0, $$sink443 = 0, $$sroa$2$0$$sroa_idx13 = 0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0; + var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0; + var $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0; + var $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0; + var $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0; + var $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0; + var $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0; + var $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0.0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0.0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0; + var $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0; + var $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0; + var $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0; + var $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0; + var $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $arglist_current = 0, $arglist_next = 0, $expanded = 0, $expanded1 = 0, $expanded3 = 0, $expanded4 = 0, $expanded5 = 0, $factor = 0, $factor331 = 0, $isdigit = 0; + var $isdigit316 = 0, $isdigit316415 = 0, $isdigittmp = 0, $isdigittmp315 = 0, $isdigittmp315414 = 0, $narrow = 0, $narrow469 = 0, $or$cond = 0, $or$cond3 = 0, $or$cond318 = 0, $or$cond5 = 0, $trunc = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 288|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(288|0); + $3 = sp + 8|0; + $4 = sp + 17|0; + $5 = sp; + $6 = sp + 16|0; + $7 = ((($0)) + 76|0); + $8 = HEAP32[$7>>2]|0; + $9 = ($8|0)>(-1); + if ($9) { + $10 = (___lockfile($0)|0); + $306 = $10; + } else { + $306 = 0; + } + $11 = HEAP8[$1>>0]|0; + $12 = ($11<<24>>24)==(0); + L4: do { + if ($12) { + $$3291 = 0; + } else { + $13 = ((($0)) + 4|0); + $14 = ((($0)) + 100|0); + $15 = ((($0)) + 108|0); + $16 = ((($0)) + 8|0); + $17 = ((($4)) + 10|0); + $18 = ((($4)) + 33|0); + $$sroa$2$0$$sroa_idx13 = ((($3)) + 4|0); + $19 = ((($4)) + 46|0); + $20 = ((($4)) + 94|0); + $21 = ((($4)) + 1|0); + $22 = ((($4)) + 1|0); + $$0273429 = $1;$$0283428 = 0;$$0288425 = 0;$$0305423 = 0;$102 = 0;$24 = $11; + L6: while(1) { + $23 = $24&255; + $25 = (_isspace($23)|0); + $26 = ($25|0)==(0); + L8: do { + if ($26) { + $53 = ($24<<24>>24)==(37); + L10: do { + if ($53) { + $54 = ((($$0273429)) + 1|0); + $55 = HEAP8[$54>>0]|0; + L12: do { + switch ($55<<24>>24) { + case 37: { + break L10; + break; + } + case 42: { + $76 = ((($$0273429)) + 2|0); + $$0293 = 0;$$2275 = $76; + break; + } + default: { + $77 = $55&255; + $isdigittmp = (($77) + -48)|0; + $isdigit = ($isdigittmp>>>0)<(10); + if ($isdigit) { + $78 = ((($$0273429)) + 2|0); + $79 = HEAP8[$78>>0]|0; + $80 = ($79<<24>>24)==(36); + if ($80) { + $81 = (_arg_n($2,$isdigittmp)|0); + $82 = ((($$0273429)) + 3|0); + $$0293 = $81;$$2275 = $82; + break L12; + } + } + $arglist_current = HEAP32[$2>>2]|0; + $83 = $arglist_current; + $84 = ((0) + 4|0); + $expanded1 = $84; + $expanded = (($expanded1) - 1)|0; + $85 = (($83) + ($expanded))|0; + $86 = ((0) + 4|0); + $expanded5 = $86; + $expanded4 = (($expanded5) - 1)|0; + $expanded3 = $expanded4 ^ -1; + $87 = $85 & $expanded3; + $88 = $87; + $89 = HEAP32[$88>>2]|0; + $arglist_next = ((($88)) + 4|0); + HEAP32[$2>>2] = $arglist_next; + $$0293 = $89;$$2275 = $54; + } + } + } while(0); + $90 = HEAP8[$$2275>>0]|0; + $91 = $90&255; + $isdigittmp315414 = (($91) + -48)|0; + $isdigit316415 = ($isdigittmp315414>>>0)<(10); + if ($isdigit316415) { + $$0266417 = 0;$$3416 = $$2275;$95 = $91; + while(1) { + $92 = ($$0266417*10)|0; + $93 = (($92) + -48)|0; + $94 = (($93) + ($95))|0; + $96 = ((($$3416)) + 1|0); + $97 = HEAP8[$96>>0]|0; + $98 = $97&255; + $isdigittmp315 = (($98) + -48)|0; + $isdigit316 = ($isdigittmp315>>>0)<(10); + if ($isdigit316) { + $$0266417 = $94;$$3416 = $96;$95 = $98; + } else { + $$0266$lcssa = $94;$$3$lcssa = $96;$$lcssa355 = $97; + break; + } + } + } else { + $$0266$lcssa = 0;$$3$lcssa = $$2275;$$lcssa355 = $90; + } + $99 = ($$lcssa355<<24>>24)==(109); + $100 = ($$0293|0)!=(0|0); + $101 = ((($$3$lcssa)) + 1|0); + $$$0305 = $99 ? 0 : $$0305423; + $$327 = $99 ? 0 : $102; + $$$3 = $99 ? $101 : $$3$lcssa; + $narrow = $100 & $99; + $103 = ((($$$3)) + 1|0); + $104 = HEAP8[$$$3>>0]|0; + switch ($104<<24>>24) { + case 104: { + $105 = HEAP8[$103>>0]|0; + $106 = ($105<<24>>24)==(104); + $107 = ((($$$3)) + 2|0); + $$319 = $106 ? $107 : $103; + $$320 = $106 ? -2 : -1; + $$0268 = $$320;$$5 = $$319; + break; + } + case 108: { + $108 = HEAP8[$103>>0]|0; + $109 = ($108<<24>>24)==(108); + $110 = ((($$$3)) + 2|0); + $$321 = $109 ? $110 : $103; + $$322 = $109 ? 3 : 1; + $$0268 = $$322;$$5 = $$321; + break; + } + case 106: { + $$0268 = 3;$$5 = $103; + break; + } + case 116: case 122: { + $$0268 = 1;$$5 = $103; + break; + } + case 76: { + $$0268 = 2;$$5 = $103; + break; + } + case 110: case 112: case 67: case 83: case 91: case 99: case 115: case 88: case 71: case 70: case 69: case 65: case 103: case 102: case 101: case 97: case 120: case 117: case 111: case 105: case 100: { + $$0268 = 0;$$5 = $$$3; + break; + } + default: { + $$7312 = $$$0305;$309 = $$327;$narrow469 = $narrow; + label = 137; + break L6; + } + } + $111 = HEAP8[$$5>>0]|0; + $112 = $111&255; + $113 = $112 & 47; + $114 = ($113|0)==(3); + $115 = $112 | 32; + $$ = $114 ? $115 : $112; + $$$0268 = $114 ? 1 : $$0268; + $trunc = $$&255; + switch ($trunc<<24>>24) { + case 99: { + $116 = ($$0266$lcssa|0)>(1); + $$$0266 = $116 ? $$0266$lcssa : 1; + $$1267 = $$$0266;$$1284 = $$0283428; + break; + } + case 91: { + $$1267 = $$0266$lcssa;$$1284 = $$0283428; + break; + } + case 110: { + $117 = ($$0283428|0)<(0); + $118 = $117 << 31 >> 31; + _store_int($$0293,$$$0268,$$0283428,$118); + $$11 = $$5;$$1289 = $$0288425;$$2285 = $$0283428;$$6311 = $$$0305;$307 = $$327; + break L8; + break; + } + default: { + ___shlim($0,0); + while(1) { + $119 = HEAP32[$13>>2]|0; + $120 = HEAP32[$14>>2]|0; + $121 = ($119>>>0)<($120>>>0); + if ($121) { + $122 = ((($119)) + 1|0); + HEAP32[$13>>2] = $122; + $123 = HEAP8[$119>>0]|0; + $124 = $123&255; + $126 = $124; + } else { + $125 = (___shgetc($0)|0); + $126 = $125; + } + $127 = (_isspace($126)|0); + $128 = ($127|0)==(0); + if ($128) { + break; + } + } + $129 = HEAP32[$14>>2]|0; + $130 = ($129|0)==(0|0); + if ($130) { + $$pre507 = HEAP32[$13>>2]|0; + $138 = $$pre507; + } else { + $131 = HEAP32[$13>>2]|0; + $132 = ((($131)) + -1|0); + HEAP32[$13>>2] = $132; + $133 = $132; + $138 = $133; + } + $134 = HEAP32[$15>>2]|0; + $135 = HEAP32[$16>>2]|0; + $136 = (($134) + ($$0283428))|0; + $137 = (($136) + ($138))|0; + $139 = (($137) - ($135))|0; + $$1267 = $$0266$lcssa;$$1284 = $139; + } + } + ___shlim($0,$$1267); + $140 = HEAP32[$13>>2]|0; + $141 = HEAP32[$14>>2]|0; + $142 = ($140>>>0)<($141>>>0); + if ($142) { + $143 = ((($140)) + 1|0); + HEAP32[$13>>2] = $143; + $147 = $141; + } else { + $144 = (___shgetc($0)|0); + $145 = ($144|0)<(0); + if ($145) { + $$7312 = $$$0305;$309 = $$327;$narrow469 = $narrow; + label = 137; + break L6; + } + $$pre509 = HEAP32[$14>>2]|0; + $147 = $$pre509; + } + $146 = ($147|0)==(0|0); + if (!($146)) { + $148 = HEAP32[$13>>2]|0; + $149 = ((($148)) + -1|0); + HEAP32[$13>>2] = $149; + } + L55: do { + switch ($trunc<<24>>24) { + case 91: case 99: case 115: { + $150 = ($$|0)==(99); + $151 = $$ | 16; + $152 = ($151|0)==(115); + L57: do { + if ($152) { + $153 = ($$|0)==(115); + _memset(($21|0),-1,256)|0; + HEAP8[$4>>0] = 0; + if ($153) { + HEAP8[$18>>0] = 0; + ;HEAP8[$17>>0]=0|0;HEAP8[$17+1>>0]=0|0;HEAP8[$17+2>>0]=0|0;HEAP8[$17+3>>0]=0|0;HEAP8[$17+4>>0]=0|0; + $$9 = $$5; + } else { + $$9 = $$5; + } + } else { + $154 = ((($$5)) + 1|0); + $155 = HEAP8[$154>>0]|0; + $156 = ($155<<24>>24)==(94); + $157 = ((($$5)) + 2|0); + $$0292 = $156&1; + $$6 = $156 ? $157 : $154; + $158 = $156&1; + _memset(($22|0),($158|0),256)|0; + HEAP8[$4>>0] = 0; + $159 = HEAP8[$$6>>0]|0; + switch ($159<<24>>24) { + case 45: { + $$sink443 = $19; + label = 64; + break; + } + case 93: { + $$sink443 = $20; + label = 64; + break; + } + default: { + $$pre514 = $$0292 ^ 1; + $$pre515 = $$pre514&255; + $$7$ph = $$6;$$pre$phi516Z2D = $$pre515; + } + } + if ((label|0) == 64) { + label = 0; + $160 = ((($$6)) + 1|0); + $161 = $$0292 ^ 1; + $162 = $161&255; + HEAP8[$$sink443>>0] = $162; + $$7$ph = $160;$$pre$phi516Z2D = $162; + } + $$7 = $$7$ph; + while(1) { + $163 = HEAP8[$$7>>0]|0; + L69: do { + switch ($163<<24>>24) { + case 0: { + $$7312 = $$$0305;$309 = $$327;$narrow469 = $narrow; + label = 137; + break L6; + break; + } + case 93: { + $$9 = $$7; + break L57; + break; + } + case 45: { + $164 = ((($$7)) + 1|0); + $165 = HEAP8[$164>>0]|0; + switch ($165<<24>>24) { + case 93: case 0: { + $$8 = $$7;$176 = 45; + break L69; + break; + } + default: { + } + } + $166 = ((($$7)) + -1|0); + $167 = HEAP8[$166>>0]|0; + $168 = ($167&255)<($165&255); + if ($168) { + $169 = $167&255; + $$0286420 = $169; + while(1) { + $170 = (($$0286420) + 1)|0; + $171 = (($4) + ($170)|0); + HEAP8[$171>>0] = $$pre$phi516Z2D; + $172 = HEAP8[$164>>0]|0; + $173 = $172&255; + $174 = ($170|0)<($173|0); + if ($174) { + $$0286420 = $170; + } else { + $$8 = $164;$176 = $172; + break; + } + } + } else { + $$8 = $164;$176 = $165; + } + break; + } + default: { + $$8 = $$7;$176 = $163; + } + } + } while(0); + $175 = $176&255; + $177 = (($175) + 1)|0; + $178 = (($4) + ($177)|0); + HEAP8[$178>>0] = $$pre$phi516Z2D; + $179 = ((($$8)) + 1|0); + $$7 = $179; + } + } + } while(0); + $180 = (($$1267) + 1)|0; + $181 = $150 ? $180 : 31; + $182 = ($$$0268|0)==(1); + L77: do { + if ($182) { + if ($narrow) { + $183 = $181 << 2; + $184 = (_malloc($183)|0); + $185 = ($184|0)==(0|0); + if ($185) { + $$7312 = 0;$309 = 0;$narrow469 = 1; + label = 137; + break L6; + } else { + $311 = $184; + } + } else { + $311 = $$0293; + } + HEAP32[$3>>2] = 0; + HEAP32[$$sroa$2$0$$sroa_idx13>>2] = 0; + $$0276$ph = $181;$$0278$ph = 0;$$ph = $311; + L82: while(1) { + $186 = ($$ph|0)==(0|0); + $$0278$ph336 = $$0278$ph; + while(1) { + L86: while(1) { + $187 = HEAP32[$13>>2]|0; + $188 = HEAP32[$14>>2]|0; + $189 = ($187>>>0)<($188>>>0); + if ($189) { + $190 = ((($187)) + 1|0); + HEAP32[$13>>2] = $190; + $191 = HEAP8[$187>>0]|0; + $192 = $191&255; + $195 = $192; + } else { + $193 = (___shgetc($0)|0); + $195 = $193; + } + $194 = (($195) + 1)|0; + $196 = (($4) + ($194)|0); + $197 = HEAP8[$196>>0]|0; + $198 = ($197<<24>>24)==(0); + if ($198) { + break L82; + } + $199 = $195&255; + HEAP8[$6>>0] = $199; + $200 = (_mbrtowc($5,$6,1,$3)|0); + switch ($200|0) { + case -1: { + $$7312 = 0;$309 = $$ph;$narrow469 = $narrow; + label = 137; + break L6; + break; + } + case -2: { + break; + } + default: { + break L86; + } + } + } + if ($186) { + $$1279 = $$0278$ph336; + } else { + $201 = (($$ph) + ($$0278$ph336<<2)|0); + $202 = (($$0278$ph336) + 1)|0; + $203 = HEAP32[$5>>2]|0; + HEAP32[$201>>2] = $203; + $$1279 = $202; + } + $204 = ($$1279|0)==($$0276$ph|0); + $or$cond = $narrow & $204; + if ($or$cond) { + break; + } else { + $$0278$ph336 = $$1279; + } + } + $factor331 = $$0276$ph << 1; + $205 = $factor331 | 1; + $206 = $205 << 2; + $207 = (_realloc($$ph,$206)|0); + $208 = ($207|0)==(0|0); + if ($208) { + $$7312 = 0;$309 = $$ph;$narrow469 = 1; + label = 137; + break L6; + } else { + $$0278$ph$phi = $$0276$ph;$$0276$ph = $205;$$ph = $207;$$0278$ph = $$0278$ph$phi; + } + } + $209 = (_mbsinit($3)|0); + $210 = ($209|0)==(0); + if ($210) { + $$7312 = 0;$309 = $$ph;$narrow469 = $narrow; + label = 137; + break L6; + } else { + $$4282 = $$0278$ph336;$$4309 = 0;$$5299 = $$ph;$312 = $$ph; + } + } else { + if ($narrow) { + $211 = (_malloc($181)|0); + $212 = ($211|0)==(0|0); + if ($212) { + $$7312 = 0;$309 = 0;$narrow469 = 1; + label = 137; + break L6; + } else { + $$1277$ph = $181;$$2280$ph = 0;$$2307$ph = $211; + } + while(1) { + $$2280 = $$2280$ph; + while(1) { + $213 = HEAP32[$13>>2]|0; + $214 = HEAP32[$14>>2]|0; + $215 = ($213>>>0)<($214>>>0); + if ($215) { + $216 = ((($213)) + 1|0); + HEAP32[$13>>2] = $216; + $217 = HEAP8[$213>>0]|0; + $218 = $217&255; + $221 = $218; + } else { + $219 = (___shgetc($0)|0); + $221 = $219; + } + $220 = (($221) + 1)|0; + $222 = (($4) + ($220)|0); + $223 = HEAP8[$222>>0]|0; + $224 = ($223<<24>>24)==(0); + if ($224) { + $$4282 = $$2280;$$4309 = $$2307$ph;$$5299 = 0;$312 = 0; + break L77; + } + $225 = $221&255; + $226 = (($$2280) + 1)|0; + $227 = (($$2307$ph) + ($$2280)|0); + HEAP8[$227>>0] = $225; + $228 = ($226|0)==($$1277$ph|0); + if ($228) { + break; + } else { + $$2280 = $226; + } + } + $factor = $$1277$ph << 1; + $229 = $factor | 1; + $230 = (_realloc($$2307$ph,$229)|0); + $231 = ($230|0)==(0|0); + if ($231) { + $$7312 = $$2307$ph;$309 = 0;$narrow469 = 1; + label = 137; + break L6; + } else { + $$2280$ph$phi = $$1277$ph;$$1277$ph = $229;$$2307$ph = $230;$$2280$ph = $$2280$ph$phi; + } + } + } + $232 = ($$0293|0)==(0|0); + if ($232) { + $250 = $147; + while(1) { + $248 = HEAP32[$13>>2]|0; + $249 = ($248>>>0)<($250>>>0); + if ($249) { + $251 = ((($248)) + 1|0); + HEAP32[$13>>2] = $251; + $252 = HEAP8[$248>>0]|0; + $253 = $252&255; + $256 = $253; + } else { + $254 = (___shgetc($0)|0); + $256 = $254; + } + $255 = (($256) + 1)|0; + $257 = (($4) + ($255)|0); + $258 = HEAP8[$257>>0]|0; + $259 = ($258<<24>>24)==(0); + if ($259) { + $$4282 = 0;$$4309 = 0;$$5299 = 0;$312 = 0; + break L77; + } + $$pre512 = HEAP32[$14>>2]|0; + $250 = $$pre512; + } + } else { + $$3281 = 0;$235 = $147; + while(1) { + $233 = HEAP32[$13>>2]|0; + $234 = ($233>>>0)<($235>>>0); + if ($234) { + $236 = ((($233)) + 1|0); + HEAP32[$13>>2] = $236; + $237 = HEAP8[$233>>0]|0; + $238 = $237&255; + $241 = $238; + } else { + $239 = (___shgetc($0)|0); + $241 = $239; + } + $240 = (($241) + 1)|0; + $242 = (($4) + ($240)|0); + $243 = HEAP8[$242>>0]|0; + $244 = ($243<<24>>24)==(0); + if ($244) { + $$4282 = $$3281;$$4309 = $$0293;$$5299 = 0;$312 = 0; + break L77; + } + $245 = $241&255; + $246 = (($$3281) + 1)|0; + $247 = (($$0293) + ($$3281)|0); + HEAP8[$247>>0] = $245; + $$pre511 = HEAP32[$14>>2]|0; + $$3281 = $246;$235 = $$pre511; + } + } + } + } while(0); + $260 = HEAP32[$14>>2]|0; + $261 = ($260|0)==(0|0); + if ($261) { + $$pre513 = HEAP32[$13>>2]|0; + $268 = $$pre513; + } else { + $262 = HEAP32[$13>>2]|0; + $263 = ((($262)) + -1|0); + HEAP32[$13>>2] = $263; + $264 = $263; + $268 = $264; + } + $265 = HEAP32[$15>>2]|0; + $266 = HEAP32[$16>>2]|0; + $267 = (($268) - ($266))|0; + $269 = (($267) + ($265))|0; + $270 = ($269|0)==(0); + if ($270) { + $$9314$ph = $$4309;$$ph353 = $312; + label = 139; + break L6; + } + $$not = $150 ^ 1; + $271 = ($269|0)==($$1267|0); + $or$cond318 = $271 | $$not; + if (!($or$cond318)) { + $$9314$ph = $$4309;$$ph353 = $312; + label = 139; + break L6; + } + do { + if ($narrow) { + if ($182) { + HEAP32[$$0293>>2] = $$5299; + break; + } else { + HEAP32[$$0293>>2] = $$4309; + break; + } + } + } while(0); + if ($150) { + $$10 = $$9;$$5310 = $$4309;$310 = $312; + } else { + $272 = ($$5299|0)==(0|0); + if (!($272)) { + $273 = (($$5299) + ($$4282<<2)|0); + HEAP32[$273>>2] = 0; + } + $274 = ($$4309|0)==(0|0); + if ($274) { + $$10 = $$9;$$5310 = 0;$310 = $312; + break L55; + } + $275 = (($$4309) + ($$4282)|0); + HEAP8[$275>>0] = 0; + $$10 = $$9;$$5310 = $$4309;$310 = $312; + } + break; + } + case 120: case 88: case 112: { + $$0272 = 16; + label = 125; + break; + } + case 111: { + $$0272 = 8; + label = 125; + break; + } + case 117: case 100: { + $$0272 = 10; + label = 125; + break; + } + case 105: { + $$0272 = 0; + label = 125; + break; + } + case 71: case 103: case 70: case 102: case 69: case 101: case 65: case 97: { + $285 = (+___floatscan($0,$$$0268,0)); + $286 = HEAP32[$15>>2]|0; + $287 = HEAP32[$13>>2]|0; + $288 = HEAP32[$16>>2]|0; + $289 = (($288) - ($287))|0; + $290 = ($286|0)==($289|0); + if ($290) { + $$9314$ph = $$$0305;$$ph353 = $$327; + label = 139; + break L6; + } + $291 = ($$0293|0)==(0|0); + if ($291) { + $$10 = $$5;$$5310 = $$$0305;$310 = $$327; + } else { + switch ($$$0268|0) { + case 0: { + $292 = $285; + HEAPF32[$$0293>>2] = $292; + $$10 = $$5;$$5310 = $$$0305;$310 = $$327; + break L55; + break; + } + case 1: { + HEAPF64[$$0293>>3] = $285; + $$10 = $$5;$$5310 = $$$0305;$310 = $$327; + break L55; + break; + } + case 2: { + HEAPF64[$$0293>>3] = $285; + $$10 = $$5;$$5310 = $$$0305;$310 = $$327; + break L55; + break; + } + default: { + $$10 = $$5;$$5310 = $$$0305;$310 = $$327; + break L55; + } + } + } + break; + } + default: { + $$10 = $$5;$$5310 = $$$0305;$310 = $$327; + } + } + } while(0); + do { + if ((label|0) == 125) { + label = 0; + $276 = (___intscan($0,$$0272,0,-1,-1)|0); + $277 = tempRet0; + $278 = HEAP32[$15>>2]|0; + $279 = HEAP32[$13>>2]|0; + $280 = HEAP32[$16>>2]|0; + $281 = (($280) - ($279))|0; + $282 = ($278|0)==($281|0); + if ($282) { + $$9314$ph = $$$0305;$$ph353 = $$327; + label = 139; + break L6; + } + $283 = ($$|0)==(112); + $or$cond3 = $100 & $283; + if ($or$cond3) { + $284 = $276; + HEAP32[$$0293>>2] = $284; + $$10 = $$5;$$5310 = $$$0305;$310 = $$327; + break; + } else { + _store_int($$0293,$$$0268,$276,$277); + $$10 = $$5;$$5310 = $$$0305;$310 = $$327; + break; + } + } + } while(0); + $293 = HEAP32[$15>>2]|0; + $294 = HEAP32[$13>>2]|0; + $295 = HEAP32[$16>>2]|0; + $296 = (($293) + ($$1284))|0; + $297 = (($296) + ($294))|0; + $298 = (($297) - ($295))|0; + $299 = $100&1; + $$0288$ = (($299) + ($$0288425))|0; + $$11 = $$10;$$1289 = $$0288$;$$2285 = $298;$$6311 = $$5310;$307 = $310; + break L8; + } + } while(0); + $56 = $53&1; + $57 = (($$0273429) + ($56)|0); + ___shlim($0,0); + $58 = HEAP32[$13>>2]|0; + $59 = HEAP32[$14>>2]|0; + $60 = ($58>>>0)<($59>>>0); + if ($60) { + $61 = ((($58)) + 1|0); + HEAP32[$13>>2] = $61; + $62 = HEAP8[$58>>0]|0; + $63 = $62&255; + $68 = $63; + } else { + $64 = (___shgetc($0)|0); + $68 = $64; + } + $65 = HEAP8[$57>>0]|0; + $66 = $65&255; + $67 = ($68|0)==($66|0); + if (!($67)) { + label = 22; + break L6; + } + $75 = (($$0283428) + 1)|0; + $$11 = $57;$$1289 = $$0288425;$$2285 = $75;$$6311 = $$0305423;$307 = $102; + } else { + $$1274 = $$0273429; + while(1) { + $27 = ((($$1274)) + 1|0); + $28 = HEAP8[$27>>0]|0; + $29 = $28&255; + $30 = (_isspace($29)|0); + $31 = ($30|0)==(0); + if ($31) { + break; + } else { + $$1274 = $27; + } + } + ___shlim($0,0); + while(1) { + $32 = HEAP32[$13>>2]|0; + $33 = HEAP32[$14>>2]|0; + $34 = ($32>>>0)<($33>>>0); + if ($34) { + $35 = ((($32)) + 1|0); + HEAP32[$13>>2] = $35; + $36 = HEAP8[$32>>0]|0; + $37 = $36&255; + $39 = $37; + } else { + $38 = (___shgetc($0)|0); + $39 = $38; + } + $40 = (_isspace($39)|0); + $41 = ($40|0)==(0); + if ($41) { + break; + } + } + $42 = HEAP32[$14>>2]|0; + $43 = ($42|0)==(0|0); + if ($43) { + $$pre = HEAP32[$13>>2]|0; + $51 = $$pre; + } else { + $44 = HEAP32[$13>>2]|0; + $45 = ((($44)) + -1|0); + HEAP32[$13>>2] = $45; + $46 = $45; + $51 = $46; + } + $47 = HEAP32[$15>>2]|0; + $48 = HEAP32[$16>>2]|0; + $49 = (($47) + ($$0283428))|0; + $50 = (($49) + ($51))|0; + $52 = (($50) - ($48))|0; + $$11 = $$1274;$$1289 = $$0288425;$$2285 = $52;$$6311 = $$0305423;$307 = $102; + } + } while(0); + $300 = ((($$11)) + 1|0); + $301 = HEAP8[$300>>0]|0; + $302 = ($301<<24>>24)==(0); + if ($302) { + $$3291 = $$1289; + break L4; + } else { + $$0273429 = $300;$$0283428 = $$2285;$$0288425 = $$1289;$$0305423 = $$6311;$102 = $307;$24 = $301; + } + } + if ((label|0) == 22) { + $69 = HEAP32[$14>>2]|0; + $70 = ($69|0)==(0|0); + if (!($70)) { + $71 = HEAP32[$13>>2]|0; + $72 = ((($71)) + -1|0); + HEAP32[$13>>2] = $72; + } + $73 = ($68|0)>(-1); + $74 = ($$0288425|0)!=(0); + $or$cond5 = $74 | $73; + if ($or$cond5) { + $$3291 = $$0288425; + break; + } else { + $$1271 = 0;$$8313 = $$0305423;$308 = $102; + label = 138; + } + } + else if ((label|0) == 137) { + $$328$le441 = $narrow469&1; + $$old4 = ($$0288425|0)==(0); + if ($$old4) { + $$1271 = $$328$le441;$$8313 = $$7312;$308 = $309; + label = 138; + } else { + $$2 = $$328$le441;$$2290 = $$0288425;$$9314 = $$7312;$304 = $309; + } + } + else if ((label|0) == 139) { + $$328$le439 = $narrow&1; + $$2 = $$328$le439;$$2290 = $$0288425;$$9314 = $$9314$ph;$304 = $$ph353; + } + if ((label|0) == 138) { + $$2 = $$1271;$$2290 = -1;$$9314 = $$8313;$304 = $308; + } + $303 = ($$2|0)==(0); + if ($303) { + $$3291 = $$2290; + } else { + _free($$9314); + _free($304); + $$3291 = $$2290; + } + } + } while(0); + $305 = ($306|0)==(0); + if (!($305)) { + ___unlockfile($0); + } + STACKTOP = sp;return ($$3291|0); +} +function _arg_n($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $arglist_current = 0, $arglist_next = 0, $expanded = 0, $expanded1 = 0, $expanded3 = 0, $expanded4 = 0, $expanded5 = 0, $vacopy_currentptr = 0, label = 0; + var sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $2 = sp; + $vacopy_currentptr = HEAP32[$0>>2]|0; + HEAP32[$2>>2] = $vacopy_currentptr; + $$0 = $1; + while(1) { + $3 = ($$0>>>0)>(1); + $arglist_current = HEAP32[$2>>2]|0; + $4 = $arglist_current; + $5 = ((0) + 4|0); + $expanded1 = $5; + $expanded = (($expanded1) - 1)|0; + $6 = (($4) + ($expanded))|0; + $7 = ((0) + 4|0); + $expanded5 = $7; + $expanded4 = (($expanded5) - 1)|0; + $expanded3 = $expanded4 ^ -1; + $8 = $6 & $expanded3; + $9 = $8; + $10 = HEAP32[$9>>2]|0; + $arglist_next = ((($9)) + 4|0); + HEAP32[$2>>2] = $arglist_next; + $11 = (($$0) + -1)|0; + if ($3) { + $$0 = $11; + } else { + break; + } + } + STACKTOP = sp;return ($10|0); +} +function _store_int($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $10 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $4 = ($0|0)==(0|0); + L1: do { + if (!($4)) { + switch ($1|0) { + case -2: { + $5 = $2&255; + HEAP8[$0>>0] = $5; + break L1; + break; + } + case -1: { + $6 = $2&65535; + HEAP16[$0>>1] = $6; + break L1; + break; + } + case 0: { + HEAP32[$0>>2] = $2; + break L1; + break; + } + case 1: { + HEAP32[$0>>2] = $2; + break L1; + break; + } + case 3: { + $7 = $0; + $8 = $7; + HEAP32[$8>>2] = $2; + $9 = (($7) + 4)|0; + $10 = $9; + HEAP32[$10>>2] = $3; + break L1; + break; + } + default: { + break L1; + } + } + } + } while(0); + return; +} +function _mbsinit($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ($0|0)==(0|0); + if ($1) { + $5 = 1; + } else { + $2 = HEAP32[$0>>2]|0; + $3 = ($2|0)==(0); + $5 = $3; + } + $4 = $5&1; + return ($4|0); +} +function ___string_read($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$027 = 0, $$027$ = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ((($0)) + 84|0); + $4 = HEAP32[$3>>2]|0; + $5 = (($2) + 256)|0; + $6 = (_memchr($4,0,$5)|0); + $7 = ($6|0)==(0|0); + $8 = $6; + $9 = $4; + $10 = (($8) - ($9))|0; + $$027 = $7 ? $5 : $10; + $11 = ($$027>>>0)<($2>>>0); + $$027$ = $11 ? $$027 : $2; + _memcpy(($1|0),($4|0),($$027$|0))|0; + $12 = (($4) + ($$027$)|0); + $13 = ((($0)) + 4|0); + HEAP32[$13>>2] = $12; + $14 = (($4) + ($$027)|0); + $15 = ((($0)) + 8|0); + HEAP32[$15>>2] = $14; + HEAP32[$3>>2] = $14; + return ($$027$|0); +} +function _fseek($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = (___fseeko($0,$1,$2)|0); + return ($3|0); +} +function _fprintf($0,$1,$varargs) { + $0 = $0|0; + $1 = $1|0; + $varargs = $varargs|0; + var $2 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $2 = sp; + HEAP32[$2>>2] = $varargs; + $3 = (_vfprintf($0,$1,$2)|0); + STACKTOP = sp;return ($3|0); +} +function ___fseeko($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $phitmp = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ((($0)) + 76|0); + $4 = HEAP32[$3>>2]|0; + $5 = ($4|0)>(-1); + if ($5) { + $7 = (___lockfile($0)|0); + $phitmp = ($7|0)==(0); + $8 = (___fseeko_unlocked($0,$1,$2)|0); + if ($phitmp) { + $9 = $8; + } else { + ___unlockfile($0); + $9 = $8; + } + } else { + $6 = (___fseeko_unlocked($0,$1,$2)|0); + $9 = $6; + } + return ($9|0); +} +function ___fseeko_unlocked($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$0 = 0, $$019 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ($2|0)==(1); + if ($3) { + $4 = ((($0)) + 8|0); + $5 = HEAP32[$4>>2]|0; + $6 = ((($0)) + 4|0); + $7 = HEAP32[$6>>2]|0; + $8 = (($1) - ($5))|0; + $9 = (($8) + ($7))|0; + $$019 = $9; + } else { + $$019 = $1; + } + $10 = ((($0)) + 20|0); + $11 = HEAP32[$10>>2]|0; + $12 = ((($0)) + 28|0); + $13 = HEAP32[$12>>2]|0; + $14 = ($11>>>0)>($13>>>0); + if ($14) { + $15 = ((($0)) + 36|0); + $16 = HEAP32[$15>>2]|0; + (FUNCTION_TABLE_iiii[$16 & 15]($0,0,0)|0); + $17 = HEAP32[$10>>2]|0; + $18 = ($17|0)==(0|0); + if ($18) { + $$0 = -1; + } else { + label = 5; + } + } else { + label = 5; + } + if ((label|0) == 5) { + $19 = ((($0)) + 16|0); + HEAP32[$19>>2] = 0; + HEAP32[$12>>2] = 0; + HEAP32[$10>>2] = 0; + $20 = ((($0)) + 40|0); + $21 = HEAP32[$20>>2]|0; + $22 = (FUNCTION_TABLE_iiii[$21 & 15]($0,$$019,$2)|0); + $23 = ($22|0)<(0); + if ($23) { + $$0 = -1; + } else { + $24 = ((($0)) + 8|0); + HEAP32[$24>>2] = 0; + $25 = ((($0)) + 4|0); + HEAP32[$25>>2] = 0; + $26 = HEAP32[$0>>2]|0; + $27 = $26 & -17; + HEAP32[$0>>2] = $27; + $$0 = 0; + } + } + return ($$0|0); +} +function _strstr($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; + var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = HEAP8[$1>>0]|0; + $3 = ($2<<24>>24)==(0); + do { + if ($3) { + $$0 = $0; + } else { + $4 = $2 << 24 >> 24; + $5 = (_strchr($0,$4)|0); + $6 = ($5|0)==(0|0); + if ($6) { + $$0 = 0; + } else { + $7 = ((($1)) + 1|0); + $8 = HEAP8[$7>>0]|0; + $9 = ($8<<24>>24)==(0); + if ($9) { + $$0 = $5; + } else { + $10 = ((($5)) + 1|0); + $11 = HEAP8[$10>>0]|0; + $12 = ($11<<24>>24)==(0); + if ($12) { + $$0 = 0; + } else { + $13 = ((($1)) + 2|0); + $14 = HEAP8[$13>>0]|0; + $15 = ($14<<24>>24)==(0); + if ($15) { + $16 = (_twobyte_strstr($5,$1)|0); + $$0 = $16; + break; + } + $17 = ((($5)) + 2|0); + $18 = HEAP8[$17>>0]|0; + $19 = ($18<<24>>24)==(0); + if ($19) { + $$0 = 0; + } else { + $20 = ((($1)) + 3|0); + $21 = HEAP8[$20>>0]|0; + $22 = ($21<<24>>24)==(0); + if ($22) { + $23 = (_threebyte_strstr($5,$1)|0); + $$0 = $23; + break; + } + $24 = ((($5)) + 3|0); + $25 = HEAP8[$24>>0]|0; + $26 = ($25<<24>>24)==(0); + if ($26) { + $$0 = 0; + } else { + $27 = ((($1)) + 4|0); + $28 = HEAP8[$27>>0]|0; + $29 = ($28<<24>>24)==(0); + if ($29) { + $30 = (_fourbyte_strstr($5,$1)|0); + $$0 = $30; + break; + } else { + $31 = (_twoway_strstr($5,$1)|0); + $$0 = $31; + break; + } + } + } + } + } + } + } + } while(0); + return ($$0|0); +} +function _twobyte_strstr($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$lcssa = 0, $$sink = 0, $$sink$in = 0, $$sink$masked = 0, $$sink17$sink = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; + var label = 0, sp = 0; + sp = STACKTOP; + $2 = HEAP8[$1>>0]|0; + $3 = $2&255; + $4 = $3 << 8; + $5 = ((($1)) + 1|0); + $6 = HEAP8[$5>>0]|0; + $7 = $6&255; + $8 = $4 | $7; + $9 = HEAP8[$0>>0]|0; + $10 = $9&255; + $$sink$in = $10;$$sink17$sink = $0; + while(1) { + $11 = ((($$sink17$sink)) + 1|0); + $12 = HEAP8[$11>>0]|0; + $13 = ($12<<24>>24)==(0); + if ($13) { + $$lcssa = 0; + break; + } + $$sink = $$sink$in << 8; + $14 = $12&255; + $$sink$masked = $$sink & 65280; + $15 = $14 | $$sink$masked; + $16 = ($15|0)==($8|0); + if ($16) { + $$lcssa = $$sink17$sink; + break; + } else { + $$sink$in = $15;$$sink17$sink = $11; + } + } + return ($$lcssa|0); +} +function _threebyte_strstr($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$016$lcssa = 0, $$01619 = 0, $$020 = 0, $$lcssa = 0, $$not = 0, $$not17 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0; + var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $4 = 0, $5 = 0, $6 = 0; + var $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond18 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = HEAP8[$1>>0]|0; + $3 = $2&255; + $4 = $3 << 24; + $5 = ((($1)) + 1|0); + $6 = HEAP8[$5>>0]|0; + $7 = $6&255; + $8 = $7 << 16; + $9 = $8 | $4; + $10 = ((($1)) + 2|0); + $11 = HEAP8[$10>>0]|0; + $12 = $11&255; + $13 = $12 << 8; + $14 = $9 | $13; + $15 = HEAP8[$0>>0]|0; + $16 = $15&255; + $17 = $16 << 24; + $18 = ((($0)) + 1|0); + $19 = HEAP8[$18>>0]|0; + $20 = $19&255; + $21 = $20 << 16; + $22 = $21 | $17; + $23 = ((($0)) + 2|0); + $24 = HEAP8[$23>>0]|0; + $25 = $24&255; + $26 = $25 << 8; + $27 = $22 | $26; + $28 = ($24<<24>>24)!=(0); + $$not17 = $28 ^ 1; + $29 = ($27|0)==($14|0); + $or$cond18 = $29 | $$not17; + if ($or$cond18) { + $$016$lcssa = $23;$$lcssa = $28; + } else { + $$01619 = $23;$$020 = $27; + while(1) { + $30 = ((($$01619)) + 1|0); + $31 = HEAP8[$30>>0]|0; + $32 = $31&255; + $33 = $32 | $$020; + $34 = $33 << 8; + $35 = ($31<<24>>24)!=(0); + $$not = $35 ^ 1; + $36 = ($34|0)==($14|0); + $or$cond = $36 | $$not; + if ($or$cond) { + $$016$lcssa = $30;$$lcssa = $35; + break; + } else { + $$01619 = $30;$$020 = $34; + } + } + } + $37 = ((($$016$lcssa)) + -2|0); + $38 = $$lcssa ? $37 : 0; + return ($38|0); +} +function _fourbyte_strstr($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$lcssa = 0, $$not = 0, $$not22 = 0, $$sink21$lcssa = 0, $$sink2124 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; + var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; + var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond23 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = HEAP8[$1>>0]|0; + $3 = $2&255; + $4 = $3 << 24; + $5 = ((($1)) + 1|0); + $6 = HEAP8[$5>>0]|0; + $7 = $6&255; + $8 = $7 << 16; + $9 = $8 | $4; + $10 = ((($1)) + 2|0); + $11 = HEAP8[$10>>0]|0; + $12 = $11&255; + $13 = $12 << 8; + $14 = $9 | $13; + $15 = ((($1)) + 3|0); + $16 = HEAP8[$15>>0]|0; + $17 = $16&255; + $18 = $14 | $17; + $19 = HEAP8[$0>>0]|0; + $20 = $19&255; + $21 = $20 << 24; + $22 = ((($0)) + 1|0); + $23 = HEAP8[$22>>0]|0; + $24 = $23&255; + $25 = $24 << 16; + $26 = $25 | $21; + $27 = ((($0)) + 2|0); + $28 = HEAP8[$27>>0]|0; + $29 = $28&255; + $30 = $29 << 8; + $31 = $26 | $30; + $32 = ((($0)) + 3|0); + $33 = HEAP8[$32>>0]|0; + $34 = $33&255; + $35 = $34 | $31; + $36 = ($33<<24>>24)!=(0); + $$not22 = $36 ^ 1; + $37 = ($35|0)==($18|0); + $or$cond23 = $37 | $$not22; + if ($or$cond23) { + $$lcssa = $36;$$sink21$lcssa = $32; + } else { + $$sink2124 = $32;$39 = $35; + while(1) { + $38 = $39 << 8; + $40 = ((($$sink2124)) + 1|0); + $41 = HEAP8[$40>>0]|0; + $42 = $41&255; + $43 = $42 | $38; + $44 = ($41<<24>>24)!=(0); + $$not = $44 ^ 1; + $45 = ($43|0)==($18|0); + $or$cond = $45 | $$not; + if ($or$cond) { + $$lcssa = $44;$$sink21$lcssa = $40; + break; + } else { + $$sink2124 = $40;$39 = $43; + } + } + } + $46 = ((($$sink21$lcssa)) + -3|0); + $47 = $$lcssa ? $46 : 0; + return ($47|0); +} +function _twoway_strstr($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0166 = 0, $$0168 = 0, $$0169 = 0, $$0169$be = 0, $$0170 = 0, $$0175$ph$ph$lcssa220 = 0, $$0175$ph$ph$lcssa220323 = 0, $$0175$ph$ph256 = 0, $$0179244 = 0, $$0183$ph200$ph255 = 0, $$0183$ph200250 = 0, $$0183$ph262 = 0, $$0185$ph$lcssa = 0, $$0185$ph$lcssa322 = 0, $$0185$ph261 = 0, $$0187$lcssa320321 = 0, $$0187266 = 0, $$1176$$0175 = 0, $$1176$ph$ph$lcssa211 = 0, $$1176$ph$ph235 = 0; + var $$1180224 = 0, $$1184$ph196$ph234 = 0, $$1184$ph196229 = 0, $$1184$ph241 = 0, $$1186$$0185 = 0, $$1186$$0185$ = 0, $$1186$ph$lcssa = 0, $$1186$ph240 = 0, $$2181 = 0, $$2181$sink = 0, $$3 = 0, $$3173 = 0, $$3178 = 0, $$3182223 = 0, $$4 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0; + var $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0; + var $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0; + var $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0; + var $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0; + var $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0; + var $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0; + var $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $cond = 0, $cond191 = 0, $cond191222 = 0, $cond265 = 0, $div = 0, $div188 = 0, $or$cond = 0, $or$cond190 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 1056|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1056|0); + $2 = sp + 1024|0; + $3 = sp; + ;HEAP32[$2>>2]=0|0;HEAP32[$2+4>>2]=0|0;HEAP32[$2+8>>2]=0|0;HEAP32[$2+12>>2]=0|0;HEAP32[$2+16>>2]=0|0;HEAP32[$2+20>>2]=0|0;HEAP32[$2+24>>2]=0|0;HEAP32[$2+28>>2]=0|0; + $4 = HEAP8[$1>>0]|0; + $cond265 = ($4<<24>>24)==(0); + L1: do { + if ($cond265) { + $$0175$ph$ph$lcssa220323 = 1;$$0185$ph$lcssa322 = -1;$$0187$lcssa320321 = 0;$$1176$ph$ph$lcssa211 = 1;$$1186$ph$lcssa = -1; + label = 27; + } else { + $5 = $4&255; + $$0187266 = 0;$12 = $4;$20 = $5; + while(1) { + $8 = (($0) + ($$0187266)|0); + $9 = HEAP8[$8>>0]|0; + $10 = ($9<<24>>24)==(0); + if ($10) { + $$3 = 0; + break L1; + } + $11 = $12 & 31; + $13 = $11&255; + $14 = 1 << $13; + $div188 = ($12&255) >>> 5; + $15 = $div188&255; + $16 = (($2) + ($15<<2)|0); + $17 = HEAP32[$16>>2]|0; + $18 = $17 | $14; + HEAP32[$16>>2] = $18; + $7 = (($$0187266) + 1)|0; + $19 = (($3) + ($20<<2)|0); + HEAP32[$19>>2] = $7; + $21 = (($1) + ($7)|0); + $22 = HEAP8[$21>>0]|0; + $23 = $22&255; + $cond = ($22<<24>>24)==(0); + if ($cond) { + break; + } else { + $$0187266 = $7;$12 = $22;$20 = $23; + } + } + $6 = ($7>>>0)>(1); + if ($6) { + $$0183$ph262 = 0;$$0185$ph261 = -1;$129 = 1; + L7: while(1) { + $$0175$ph$ph256 = 1;$$0183$ph200$ph255 = $$0183$ph262;$132 = $129; + while(1) { + $$0183$ph200250 = $$0183$ph200$ph255;$131 = $132; + L11: while(1) { + $$0179244 = 1;$31 = $131; + while(1) { + $27 = (($$0179244) + ($$0185$ph261))|0; + $28 = (($1) + ($27)|0); + $29 = HEAP8[$28>>0]|0; + $30 = (($1) + ($31)|0); + $32 = HEAP8[$30>>0]|0; + $33 = ($29<<24>>24)==($32<<24>>24); + if (!($33)) { + break L11; + } + $34 = ($$0179244|0)==($$0175$ph$ph256|0); + $25 = (($$0179244) + 1)|0; + if ($34) { + break; + } + $24 = (($25) + ($$0183$ph200250))|0; + $26 = ($24>>>0)<($7>>>0); + if ($26) { + $$0179244 = $25;$31 = $24; + } else { + $$0175$ph$ph$lcssa220 = $$0175$ph$ph256;$$0185$ph$lcssa = $$0185$ph261; + break L7; + } + } + $35 = (($$0175$ph$ph256) + ($$0183$ph200250))|0; + $36 = (($35) + 1)|0; + $37 = ($36>>>0)<($7>>>0); + if ($37) { + $$0183$ph200250 = $35;$131 = $36; + } else { + $$0175$ph$ph$lcssa220 = $$0175$ph$ph256;$$0185$ph$lcssa = $$0185$ph261; + break L7; + } + } + $38 = ($29&255)>($32&255); + $39 = (($31) - ($$0185$ph261))|0; + if (!($38)) { + break; + } + $43 = (($31) + 1)|0; + $44 = ($43>>>0)<($7>>>0); + if ($44) { + $$0175$ph$ph256 = $39;$$0183$ph200$ph255 = $31;$132 = $43; + } else { + $$0175$ph$ph$lcssa220 = $39;$$0185$ph$lcssa = $$0185$ph261; + break L7; + } + } + $40 = (($$0183$ph200250) + 1)|0; + $41 = (($$0183$ph200250) + 2)|0; + $42 = ($41>>>0)<($7>>>0); + if ($42) { + $$0183$ph262 = $40;$$0185$ph261 = $$0183$ph200250;$129 = $41; + } else { + $$0175$ph$ph$lcssa220 = 1;$$0185$ph$lcssa = $$0183$ph200250; + break; + } + } + if ($6) { + $$1184$ph241 = 0;$$1186$ph240 = -1;$130 = 1; + while(1) { + $$1176$ph$ph235 = 1;$$1184$ph196$ph234 = $$1184$ph241;$134 = $130; + while(1) { + $$1184$ph196229 = $$1184$ph196$ph234;$133 = $134; + L26: while(1) { + $$1180224 = 1;$52 = $133; + while(1) { + $48 = (($$1180224) + ($$1186$ph240))|0; + $49 = (($1) + ($48)|0); + $50 = HEAP8[$49>>0]|0; + $51 = (($1) + ($52)|0); + $53 = HEAP8[$51>>0]|0; + $54 = ($50<<24>>24)==($53<<24>>24); + if (!($54)) { + break L26; + } + $55 = ($$1180224|0)==($$1176$ph$ph235|0); + $46 = (($$1180224) + 1)|0; + if ($55) { + break; + } + $45 = (($46) + ($$1184$ph196229))|0; + $47 = ($45>>>0)<($7>>>0); + if ($47) { + $$1180224 = $46;$52 = $45; + } else { + $$0175$ph$ph$lcssa220323 = $$0175$ph$ph$lcssa220;$$0185$ph$lcssa322 = $$0185$ph$lcssa;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = $$1176$ph$ph235;$$1186$ph$lcssa = $$1186$ph240; + label = 27; + break L1; + } + } + $56 = (($$1176$ph$ph235) + ($$1184$ph196229))|0; + $57 = (($56) + 1)|0; + $58 = ($57>>>0)<($7>>>0); + if ($58) { + $$1184$ph196229 = $56;$133 = $57; + } else { + $$0175$ph$ph$lcssa220323 = $$0175$ph$ph$lcssa220;$$0185$ph$lcssa322 = $$0185$ph$lcssa;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = $$1176$ph$ph235;$$1186$ph$lcssa = $$1186$ph240; + label = 27; + break L1; + } + } + $59 = ($50&255)<($53&255); + $60 = (($52) - ($$1186$ph240))|0; + if (!($59)) { + break; + } + $64 = (($52) + 1)|0; + $65 = ($64>>>0)<($7>>>0); + if ($65) { + $$1176$ph$ph235 = $60;$$1184$ph196$ph234 = $52;$134 = $64; + } else { + $$0175$ph$ph$lcssa220323 = $$0175$ph$ph$lcssa220;$$0185$ph$lcssa322 = $$0185$ph$lcssa;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = $60;$$1186$ph$lcssa = $$1186$ph240; + label = 27; + break L1; + } + } + $61 = (($$1184$ph196229) + 1)|0; + $62 = (($$1184$ph196229) + 2)|0; + $63 = ($62>>>0)<($7>>>0); + if ($63) { + $$1184$ph241 = $61;$$1186$ph240 = $$1184$ph196229;$130 = $62; + } else { + $$0175$ph$ph$lcssa220323 = $$0175$ph$ph$lcssa220;$$0185$ph$lcssa322 = $$0185$ph$lcssa;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = 1;$$1186$ph$lcssa = $$1184$ph196229; + label = 27; + break; + } + } + } else { + $$0175$ph$ph$lcssa220323 = $$0175$ph$ph$lcssa220;$$0185$ph$lcssa322 = $$0185$ph$lcssa;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = 1;$$1186$ph$lcssa = -1; + label = 27; + } + } else { + $$0175$ph$ph$lcssa220323 = 1;$$0185$ph$lcssa322 = -1;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = 1;$$1186$ph$lcssa = -1; + label = 27; + } + } + } while(0); + L36: do { + if ((label|0) == 27) { + $66 = (($$1186$ph$lcssa) + 1)|0; + $67 = (($$0185$ph$lcssa322) + 1)|0; + $68 = ($66>>>0)>($67>>>0); + $$1176$$0175 = $68 ? $$1176$ph$ph$lcssa211 : $$0175$ph$ph$lcssa220323; + $$1186$$0185 = $68 ? $$1186$ph$lcssa : $$0185$ph$lcssa322; + $69 = (($1) + ($$1176$$0175)|0); + $70 = (($$1186$$0185) + 1)|0; + $71 = (_memcmp($1,$69,$70)|0); + $72 = ($71|0)==(0); + if ($72) { + $77 = (($$0187$lcssa320321) - ($$1176$$0175))|0; + $$0168 = $77;$$3178 = $$1176$$0175; + } else { + $73 = (($$0187$lcssa320321) - ($$1186$$0185))|0; + $74 = (($73) + -1)|0; + $75 = ($$1186$$0185>>>0)>($74>>>0); + $$1186$$0185$ = $75 ? $$1186$$0185 : $74; + $76 = (($$1186$$0185$) + 1)|0; + $$0168 = 0;$$3178 = $76; + } + $78 = $$0187$lcssa320321 | 63; + $79 = (($$0187$lcssa320321) + -1)|0; + $80 = ($$0168|0)!=(0); + $81 = (($$0187$lcssa320321) - ($$3178))|0; + $$0166 = $0;$$0169 = 0;$$0170 = $0; + while(1) { + $82 = $$0170; + $83 = $$0166; + $84 = (($82) - ($83))|0; + $85 = ($84>>>0)<($$0187$lcssa320321>>>0); + do { + if ($85) { + $86 = (_memchr($$0170,0,$78)|0); + $87 = ($86|0)==(0|0); + if ($87) { + $91 = (($$0170) + ($78)|0); + $$3173 = $91; + break; + } else { + $88 = $86; + $89 = (($88) - ($83))|0; + $90 = ($89>>>0)<($$0187$lcssa320321>>>0); + if ($90) { + $$3 = 0; + break L36; + } else { + $$3173 = $86; + break; + } + } + } else { + $$3173 = $$0170; + } + } while(0); + $92 = (($$0166) + ($79)|0); + $93 = HEAP8[$92>>0]|0; + $div = ($93&255) >>> 5; + $94 = $div&255; + $95 = (($2) + ($94<<2)|0); + $96 = HEAP32[$95>>2]|0; + $97 = $93 & 31; + $98 = $97&255; + $99 = 1 << $98; + $100 = $99 & $96; + $101 = ($100|0)==(0); + L50: do { + if ($101) { + $$0169$be = 0;$$2181$sink = $$0187$lcssa320321; + } else { + $102 = $93&255; + $103 = (($3) + ($102<<2)|0); + $104 = HEAP32[$103>>2]|0; + $105 = (($$0187$lcssa320321) - ($104))|0; + $106 = ($105|0)==(0); + if (!($106)) { + $107 = ($$0169|0)!=(0); + $or$cond = $80 & $107; + $108 = ($105>>>0)<($$3178>>>0); + $or$cond190 = $or$cond & $108; + $$2181 = $or$cond190 ? $81 : $105; + $$0169$be = 0;$$2181$sink = $$2181; + break; + } + $110 = ($70>>>0)>($$0169>>>0); + $111 = $110 ? $70 : $$0169; + $112 = (($1) + ($111)|0); + $113 = HEAP8[$112>>0]|0; + $cond191222 = ($113<<24>>24)==(0); + L55: do { + if ($cond191222) { + $$4 = $70; + } else { + $$3182223 = $111;$117 = $113; + while(1) { + $114 = (($$0166) + ($$3182223)|0); + $115 = HEAP8[$114>>0]|0; + $116 = ($117<<24>>24)==($115<<24>>24); + if (!($116)) { + break; + } + $118 = (($$3182223) + 1)|0; + $119 = (($1) + ($118)|0); + $120 = HEAP8[$119>>0]|0; + $cond191 = ($120<<24>>24)==(0); + if ($cond191) { + $$4 = $70; + break L55; + } else { + $$3182223 = $118;$117 = $120; + } + } + $121 = (($$3182223) - ($$1186$$0185))|0; + $$0169$be = 0;$$2181$sink = $121; + break L50; + } + } while(0); + while(1) { + $122 = ($$4>>>0)>($$0169>>>0); + if (!($122)) { + $$3 = $$0166; + break L36; + } + $123 = (($$4) + -1)|0; + $124 = (($1) + ($123)|0); + $125 = HEAP8[$124>>0]|0; + $126 = (($$0166) + ($123)|0); + $127 = HEAP8[$126>>0]|0; + $128 = ($125<<24>>24)==($127<<24>>24); + if ($128) { + $$4 = $123; + } else { + $$0169$be = $$0168;$$2181$sink = $$3178; + break; + } + } + } + } while(0); + $109 = (($$0166) + ($$2181$sink)|0); + $$0166 = $109;$$0169 = $$0169$be;$$0170 = $$3173; + } + } + } while(0); + STACKTOP = sp;return ($$3|0); +} +function _strrchr($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = (_strlen($0)|0); + $3 = (($2) + 1)|0; + $4 = (___memrchr($0,$1,$3)|0); + return ($4|0); +} +function ___memrchr($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$0 = 0, $$09 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = $1&255; + $$09 = $2; + while(1) { + $4 = (($$09) + -1)|0; + $5 = ($$09|0)==(0); + if ($5) { + $$0 = 0; + break; + } + $6 = (($0) + ($4)|0); + $7 = HEAP8[$6>>0]|0; + $8 = ($7<<24>>24)==($3<<24>>24); + if ($8) { + $$0 = $6; + break; + } else { + $$09 = $4; + } + } + return ($$0|0); +} +function _strspn($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $$01925 = 0, $$020 = 0, $$1$lcssa = 0, $$123 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; + var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; + var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $div = 0, $div21 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $2 = sp; + ;HEAP32[$2>>2]=0|0;HEAP32[$2+4>>2]=0|0;HEAP32[$2+8>>2]=0|0;HEAP32[$2+12>>2]=0|0;HEAP32[$2+16>>2]=0|0;HEAP32[$2+20>>2]=0|0;HEAP32[$2+24>>2]=0|0;HEAP32[$2+28>>2]=0|0; + $3 = HEAP8[$1>>0]|0; + $4 = ($3<<24>>24)==(0); + do { + if ($4) { + $$0 = 0; + } else { + $5 = ((($1)) + 1|0); + $6 = HEAP8[$5>>0]|0; + $7 = ($6<<24>>24)==(0); + if ($7) { + $$020 = $0; + while(1) { + $8 = HEAP8[$$020>>0]|0; + $9 = ($8<<24>>24)==($3<<24>>24); + $10 = ((($$020)) + 1|0); + if ($9) { + $$020 = $10; + } else { + break; + } + } + $11 = $$020; + $12 = $0; + $13 = (($11) - ($12))|0; + $$0 = $13; + break; + } else { + $$01925 = $1;$17 = $3; + } + while(1) { + $16 = $17 & 31; + $18 = $16&255; + $19 = 1 << $18; + $div21 = ($17&255) >>> 5; + $20 = $div21&255; + $21 = (($2) + ($20<<2)|0); + $22 = HEAP32[$21>>2]|0; + $23 = $22 | $19; + HEAP32[$21>>2] = $23; + $24 = ((($$01925)) + 1|0); + $25 = HEAP8[$24>>0]|0; + $26 = ($25<<24>>24)==(0); + if ($26) { + break; + } else { + $$01925 = $24;$17 = $25; + } + } + $14 = HEAP8[$0>>0]|0; + $15 = ($14<<24>>24)==(0); + L10: do { + if ($15) { + $$1$lcssa = $0; + } else { + $$123 = $0;$27 = $14; + while(1) { + $div = ($27&255) >>> 5; + $28 = $div&255; + $29 = (($2) + ($28<<2)|0); + $30 = HEAP32[$29>>2]|0; + $31 = $27 & 31; + $32 = $31&255; + $33 = 1 << $32; + $34 = $30 & $33; + $35 = ($34|0)==(0); + if ($35) { + $$1$lcssa = $$123; + break L10; + } + $36 = ((($$123)) + 1|0); + $37 = HEAP8[$36>>0]|0; + $38 = ($37<<24>>24)==(0); + if ($38) { + $$1$lcssa = $36; + break; + } else { + $$123 = $36;$27 = $37; + } + } + } + } while(0); + $39 = $$1$lcssa; + $40 = $0; + $41 = (($39) - ($40))|0; + $$0 = $41; + } + } while(0); + STACKTOP = sp;return ($$0|0); +} +function _srand($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (($0) + -1)|0; + $2 = 24176; + $3 = $2; + HEAP32[$3>>2] = $1; + $4 = (($2) + 4)|0; + $5 = $4; + HEAP32[$5>>2] = 0; return; } function _rand() { var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = 144; + $0 = 24176; $1 = $0; $2 = HEAP32[$1>>2]|0; $3 = (($0) + 4)|0; @@ -52104,7 +62859,7 @@ function _rand() { $7 = tempRet0; $8 = (_i64Add(($6|0),($7|0),1,0)|0); $9 = tempRet0; - $10 = 144; + $10 = 24176; $11 = $10; HEAP32[$11>>2] = $8; $12 = (($10) + 4)|0; @@ -52114,3639 +62869,319 @@ function _rand() { $15 = tempRet0; return ($14|0); } -function _fclose($f) { - $f = $f|0; - var $$pre = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($f)) + 76|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)>(-1); - if ($2) { - (___lockfile($f)|0); - } - $3 = HEAP32[$f>>2]|0; - $4 = $3 & 1; - $5 = ($4|0)!=(0); - if (!($5)) { - ___lock(((8660)|0)); - $6 = ((($f)) + 52|0); - $7 = HEAP32[$6>>2]|0; - $8 = ($7|0)==(0|0); - $9 = $7; - $$pre = ((($f)) + 56|0); - if (!($8)) { - $10 = HEAP32[$$pre>>2]|0; - $11 = ((($7)) + 56|0); - HEAP32[$11>>2] = $10; - } - $12 = HEAP32[$$pre>>2]|0; - $13 = ($12|0)==(0|0); - $14 = $12; - if (!($13)) { - $15 = ((($12)) + 52|0); - HEAP32[$15>>2] = $9; - } - $16 = HEAP32[(8656)>>2]|0; - $17 = ($16|0)==($f|0); - if ($17) { - HEAP32[(8656)>>2] = $14; - } - ___unlock(((8660)|0)); - } - $18 = (_fflush($f)|0); - $19 = ((($f)) + 12|0); - $20 = HEAP32[$19>>2]|0; - $21 = (FUNCTION_TABLE_ii[$20 & 15]($f)|0); - $22 = $21 | $18; - $23 = ((($f)) + 92|0); - $24 = HEAP32[$23>>2]|0; - $25 = ($24|0)==(0|0); - if (!($25)) { - _free($24); - } - if (!($5)) { - _free($f); - } - return ($22|0); -} -function _feof($f) { - $f = $f|0; - var $$lobit = 0, $$lobit1 = 0, $$lobit2 = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $phitmp = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($f)) + 76|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)>(-1); - if ($2) { - $5 = (___lockfile($f)|0); - $phitmp = ($5|0)==(0); - $6 = HEAP32[$f>>2]|0; - $7 = $6 >>> 4; - $$lobit = $7 & 1; - if ($phitmp) { - $$lobit2 = $$lobit; - } else { - ___unlockfile($f); - $$lobit2 = $$lobit; - } - } else { - $3 = HEAP32[$f>>2]|0; - $4 = $3 >>> 4; - $$lobit1 = $4 & 1; - $$lobit2 = $$lobit1; - } - return ($$lobit2|0); -} -function _fflush($f) { - $f = $f|0; - var $$0 = 0, $$01 = 0, $$012 = 0, $$014 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0; - var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $phitmp = 0, $r$0$lcssa = 0, $r$03 = 0, $r$1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ($f|0)==(0|0); - do { - if ($0) { - $7 = HEAP32[8884>>2]|0; - $8 = ($7|0)==(0|0); - if ($8) { - $27 = 0; - } else { - $9 = HEAP32[8884>>2]|0; - $10 = (_fflush($9)|0); - $27 = $10; - } - ___lock(((8660)|0)); - $$012 = HEAP32[(8656)>>2]|0; - $11 = ($$012|0)==(0|0); - if ($11) { - $r$0$lcssa = $27; - } else { - $$014 = $$012;$r$03 = $27; - while(1) { - $12 = ((($$014)) + 76|0); - $13 = HEAP32[$12>>2]|0; - $14 = ($13|0)>(-1); - if ($14) { - $15 = (___lockfile($$014)|0); - $23 = $15; - } else { - $23 = 0; - } - $16 = ((($$014)) + 20|0); - $17 = HEAP32[$16>>2]|0; - $18 = ((($$014)) + 28|0); - $19 = HEAP32[$18>>2]|0; - $20 = ($17>>>0)>($19>>>0); - if ($20) { - $21 = (___fflush_unlocked($$014)|0); - $22 = $21 | $r$03; - $r$1 = $22; - } else { - $r$1 = $r$03; - } - $24 = ($23|0)==(0); - if (!($24)) { - ___unlockfile($$014); - } - $25 = ((($$014)) + 56|0); - $$01 = HEAP32[$25>>2]|0; - $26 = ($$01|0)==(0|0); - if ($26) { - $r$0$lcssa = $r$1; - break; - } else { - $$014 = $$01;$r$03 = $r$1; - } - } - } - ___unlock(((8660)|0)); - $$0 = $r$0$lcssa; - } else { - $1 = ((($f)) + 76|0); - $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)>(-1); - if (!($3)) { - $4 = (___fflush_unlocked($f)|0); - $$0 = $4; - break; - } - $5 = (___lockfile($f)|0); - $phitmp = ($5|0)==(0); - $6 = (___fflush_unlocked($f)|0); - if ($phitmp) { - $$0 = $6; - } else { - ___unlockfile($f); - $$0 = $6; - } - } - } while(0); - return ($$0|0); -} -function _fgetc($f) { - $f = $f|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $3 = 0, $4 = 0; +function _fgetc($0) { + $0 = $0|0; + var $$0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0; var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = ((($f)) + 76|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)<(0); - if ($2) { + $1 = ((($0)) + 76|0); + $2 = HEAP32[$1>>2]|0; + $3 = ($2|0)<(0); + if ($3) { label = 3; } else { - $3 = (___lockfile($f)|0); - $4 = ($3|0)==(0); - if ($4) { + $4 = (___lockfile($0)|0); + $5 = ($4|0)==(0); + if ($5) { label = 3; } else { - $14 = ((($f)) + 4|0); - $15 = HEAP32[$14>>2]|0; - $16 = ((($f)) + 8|0); - $17 = HEAP32[$16>>2]|0; - $18 = ($15>>>0)<($17>>>0); - if ($18) { - $19 = ((($15)) + 1|0); - HEAP32[$14>>2] = $19; - $20 = HEAP8[$15>>0]|0; - $21 = $20&255; - $23 = $21; + $15 = ((($0)) + 4|0); + $16 = HEAP32[$15>>2]|0; + $17 = ((($0)) + 8|0); + $18 = HEAP32[$17>>2]|0; + $19 = ($16>>>0)<($18>>>0); + if ($19) { + $20 = ((($16)) + 1|0); + HEAP32[$15>>2] = $20; + $21 = HEAP8[$16>>0]|0; + $22 = $21&255; + $24 = $22; } else { - $22 = (___uflow($f)|0); - $23 = $22; + $23 = (___uflow($0)|0); + $24 = $23; } - ___unlockfile($f); - $$0 = $23; + ___unlockfile($0); + $$0 = $24; } } do { if ((label|0) == 3) { - $5 = ((($f)) + 4|0); - $6 = HEAP32[$5>>2]|0; - $7 = ((($f)) + 8|0); - $8 = HEAP32[$7>>2]|0; - $9 = ($6>>>0)<($8>>>0); - if ($9) { - $10 = ((($6)) + 1|0); - HEAP32[$5>>2] = $10; - $11 = HEAP8[$6>>0]|0; - $12 = $11&255; - $$0 = $12; - break; - } else { - $13 = (___uflow($f)|0); + $6 = ((($0)) + 4|0); + $7 = HEAP32[$6>>2]|0; + $8 = ((($0)) + 8|0); + $9 = HEAP32[$8>>2]|0; + $10 = ($7>>>0)<($9>>>0); + if ($10) { + $11 = ((($7)) + 1|0); + HEAP32[$6>>2] = $11; + $12 = HEAP8[$7>>0]|0; + $13 = $12&255; $$0 = $13; break; - } - } - } while(0); - return ($$0|0); -} -function _fgets($s,$n,$f) { - $s = $s|0; - $n = $n|0; - $f = $f|0; - var $$0 = 0, $$048 = 0, $$05 = 0, $$lcssa14 = 0, $$old2 = 0, $$pre = 0, $$sum$pre$phiZZ2D = 0, $$sum6 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0; - var $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0; - var $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $6 = 0, $7 = 0, $8 = 0; - var $9 = 0, $or$cond = 0, $or$cond3 = 0, $p$0 = 0, $p$1 = 0, $sext$mask = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($f)) + 76|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)>(-1); - if ($2) { - $3 = (___lockfile($f)|0); - $12 = $3; - } else { - $12 = 0; - } - $4 = (($n) + -1)|0; - $5 = ($n|0)<(2); - if ($5) { - $6 = ((($f)) + 74|0); - $7 = HEAP8[$6>>0]|0; - $8 = $7 << 24 >> 24; - $9 = (($8) + 255)|0; - $10 = $9 | $8; - $11 = $10&255; - HEAP8[$6>>0] = $11; - $13 = ($12|0)==(0); - if (!($13)) { - ___unlockfile($f); - } - $14 = ($4|0)==(0); - if ($14) { - HEAP8[$s>>0] = 0; - $$0 = $s; - } else { - $$0 = 0; - } - } else { - $$old2 = ($4|0)==(0); - L11: do { - if ($$old2) { - $p$1 = $s; - label = 18; } else { - $15 = ((($f)) + 4|0); - $16 = ((($f)) + 8|0); - $$05 = $4;$p$0 = $s; - while(1) { - $17 = HEAP32[$15>>2]|0; - $18 = HEAP32[$16>>2]|0; - $19 = $18; - $20 = $17; - $21 = (($19) - ($20))|0; - $22 = (_memchr($17,10,$21)|0); - $23 = ($22|0)==(0|0); - $24 = $22; - $25 = (1 - ($20))|0; - $26 = (($25) + ($24))|0; - $27 = $23 ? $21 : $26; - $28 = ($27>>>0)<($$05>>>0); - $29 = $28 ? $27 : $$05; - _memcpy(($p$0|0),($17|0),($29|0))|0; - $30 = HEAP32[$15>>2]|0; - $31 = (($30) + ($29)|0); - HEAP32[$15>>2] = $31; - $32 = (($p$0) + ($29)|0); - $33 = (($$05) - ($29))|0; - $or$cond = $23 & $28; - if (!($or$cond)) { - $p$1 = $32; - label = 18; - break L11; - } - $34 = HEAP32[$16>>2]|0; - $35 = ($31>>>0)<($34>>>0); - if ($35) { - $$sum6 = (($29) + 1)|0; - $36 = (($30) + ($$sum6)|0); - HEAP32[$15>>2] = $36; - $37 = HEAP8[$31>>0]|0; - $38 = $37&255; - $$sum$pre$phiZZ2D = $$sum6;$47 = $38; - } else { - $39 = (___uflow($f)|0); - $40 = ($39|0)<(0); - if ($40) { - $$lcssa14 = $32; - break; - } - $$pre = (($29) + 1)|0; - $$sum$pre$phiZZ2D = $$pre;$47 = $39; - } - $45 = (($33) + -1)|0; - $46 = $47&255; - $48 = (($p$0) + ($$sum$pre$phiZZ2D)|0); - HEAP8[$32>>0] = $46; - $sext$mask = $47 & 255; - $49 = ($sext$mask|0)!=(10); - $50 = ($45|0)!=(0); - $or$cond3 = $50 & $49; - if ($or$cond3) { - $$05 = $45;$p$0 = $48; - } else { - $p$1 = $48; - label = 18; - break L11; - } - } - $41 = ($$lcssa14|0)==($s|0); - if ($41) { - $$048 = 0; - } else { - $42 = HEAP32[$f>>2]|0; - $43 = $42 & 16; - $44 = ($43|0)==(0); - if ($44) { - $$048 = 0; - } else { - $p$1 = $$lcssa14; - label = 18; - } - } - } - } while(0); - if ((label|0) == 18) { - $51 = ($s|0)==(0|0); - if ($51) { - $$048 = 0; - } else { - HEAP8[$p$1>>0] = 0; - $$048 = $s; - } - } - $52 = ($12|0)==(0); - if ($52) { - $$0 = $$048; - } else { - ___unlockfile($f); - $$0 = $$048; - } - } - return ($$0|0); -} -function _fopen($filename,$mode) { - $filename = $filename|0; - $mode = $mode|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $memchr = 0, $vararg_buffer = 0, $vararg_buffer3 = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $vararg_buffer3 = sp + 16|0; - $vararg_buffer = sp; - $0 = HEAP8[$mode>>0]|0; - $1 = $0 << 24 >> 24; - $memchr = (_memchr(28295,$1,4)|0); - $2 = ($memchr|0)==(0|0); - if ($2) { - $3 = (___errno_location()|0); - HEAP32[$3>>2] = 22; - $$0 = 0; - } else { - $4 = (___fmodeflags($mode)|0); - $5 = $4 | 32768; - HEAP32[$vararg_buffer>>2] = $filename; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = $5; - $vararg_ptr2 = ((($vararg_buffer)) + 8|0); - HEAP32[$vararg_ptr2>>2] = 438; - $6 = (___syscall5(5,($vararg_buffer|0))|0); - $7 = (___syscall_ret($6)|0); - $8 = ($7|0)<(0); - if ($8) { - $$0 = 0; - } else { - $9 = (___fdopen($7,$mode)|0); - $10 = ($9|0)==(0|0); - if ($10) { - HEAP32[$vararg_buffer3>>2] = $7; - (___syscall6(6,($vararg_buffer3|0))|0); - $$0 = 0; - } else { - $$0 = $9; - } - } - } - STACKTOP = sp;return ($$0|0); -} -function _fputc($c,$f) { - $c = $c|0; - $f = $f|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($f)) + 76|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)<(0); - if ($2) { - label = 3; - } else { - $3 = (___lockfile($f)|0); - $4 = ($3|0)==(0); - if ($4) { - label = 3; - } else { - $18 = ((($f)) + 75|0); - $19 = HEAP8[$18>>0]|0; - $20 = $19 << 24 >> 24; - $21 = ($20|0)==($c|0); - if ($21) { - label = 10; - } else { - $22 = ((($f)) + 20|0); - $23 = HEAP32[$22>>2]|0; - $24 = ((($f)) + 16|0); - $25 = HEAP32[$24>>2]|0; - $26 = ($23>>>0)<($25>>>0); - if ($26) { - $27 = $c&255; - $28 = ((($23)) + 1|0); - HEAP32[$22>>2] = $28; - HEAP8[$23>>0] = $27; - $29 = $c & 255; - $31 = $29; - } else { - label = 10; - } - } - if ((label|0) == 10) { - $30 = (___overflow($f,$c)|0); - $31 = $30; - } - ___unlockfile($f); - $$0 = $31; - } - } - do { - if ((label|0) == 3) { - $5 = ((($f)) + 75|0); - $6 = HEAP8[$5>>0]|0; - $7 = $6 << 24 >> 24; - $8 = ($7|0)==($c|0); - if (!($8)) { - $9 = ((($f)) + 20|0); - $10 = HEAP32[$9>>2]|0; - $11 = ((($f)) + 16|0); - $12 = HEAP32[$11>>2]|0; - $13 = ($10>>>0)<($12>>>0); - if ($13) { - $14 = $c&255; - $15 = ((($10)) + 1|0); - HEAP32[$9>>2] = $15; - HEAP8[$10>>0] = $14; - $16 = $c & 255; - $$0 = $16; - break; - } - } - $17 = (___overflow($f,$c)|0); - $$0 = $17; - } - } while(0); - return ($$0|0); -} -function _fread($destv,$size,$nmemb,$f) { - $destv = $destv|0; - $size = $size|0; - $nmemb = $nmemb|0; - $f = $f|0; - var $$ = 0, $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; - var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; - var $9 = 0, $dest$0$ph = 0, $dest$02 = 0, $l$0$ph = 0, $l$03 = 0, $l$03$lcssa = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = Math_imul($nmemb, $size)|0; - $1 = ((($f)) + 76|0); - $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)>(-1); - if ($3) { - $4 = (___lockfile($f)|0); - $31 = $4; - } else { - $31 = 0; - } - $5 = ((($f)) + 74|0); - $6 = HEAP8[$5>>0]|0; - $7 = $6 << 24 >> 24; - $8 = (($7) + 255)|0; - $9 = $8 | $7; - $10 = $9&255; - HEAP8[$5>>0] = $10; - $11 = ((($f)) + 8|0); - $12 = HEAP32[$11>>2]|0; - $13 = ((($f)) + 4|0); - $14 = HEAP32[$13>>2]|0; - $15 = $12; - $16 = $14; - $17 = (($15) - ($16))|0; - $18 = ($17|0)>(0); - if ($18) { - $19 = ($17>>>0)<($0>>>0); - $$ = $19 ? $17 : $0; - _memcpy(($destv|0),($14|0),($$|0))|0; - $20 = (($14) + ($$)|0); - HEAP32[$13>>2] = $20; - $21 = (($destv) + ($$)|0); - $22 = (($0) - ($$))|0; - $dest$0$ph = $21;$l$0$ph = $22; - } else { - $dest$0$ph = $destv;$l$0$ph = $0; - } - $23 = ($l$0$ph|0)==(0); - L7: do { - if ($23) { - label = 13; - } else { - $24 = ((($f)) + 32|0); - $dest$02 = $dest$0$ph;$l$03 = $l$0$ph; - while(1) { - $25 = (___toread($f)|0); - $26 = ($25|0)==(0); - if (!($26)) { - $l$03$lcssa = $l$03; - break; - } - $27 = HEAP32[$24>>2]|0; - $28 = (FUNCTION_TABLE_iiii[$27 & 15]($f,$dest$02,$l$03)|0); - $29 = (($28) + 1)|0; - $30 = ($29>>>0)<(2); - if ($30) { - $l$03$lcssa = $l$03; - break; - } - $35 = (($l$03) - ($28))|0; - $36 = (($dest$02) + ($28)|0); - $37 = ($l$03|0)==($28|0); - if ($37) { - label = 13; - break L7; - } else { - $dest$02 = $36;$l$03 = $35; - } - } - $32 = ($31|0)==(0); - if (!($32)) { - ___unlockfile($f); - } - $33 = (($0) - ($l$03$lcssa))|0; - $34 = (($33>>>0) / ($size>>>0))&-1; - $$0 = $34; - } - } while(0); - if ((label|0) == 13) { - $38 = ($31|0)==(0); - if ($38) { - $$0 = $nmemb; - } else { - ___unlockfile($f); - $$0 = $nmemb; - } - } - return ($$0|0); -} -function ___fseeko_unlocked($f,$off,$whence) { - $f = $f|0; - $off = $off|0; - $whence = $whence|0; - var $$0 = 0, $$01 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; - var $25 = 0, $26 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ($whence|0)==(1); - if ($0) { - $1 = ((($f)) + 8|0); - $2 = HEAP32[$1>>2]|0; - $3 = ((($f)) + 4|0); - $4 = HEAP32[$3>>2]|0; - $5 = $2; - $6 = $4; - $7 = (($off) - ($5))|0; - $8 = (($7) + ($6))|0; - $$01 = $8; - } else { - $$01 = $off; - } - $9 = ((($f)) + 20|0); - $10 = HEAP32[$9>>2]|0; - $11 = ((($f)) + 28|0); - $12 = HEAP32[$11>>2]|0; - $13 = ($10>>>0)>($12>>>0); - if ($13) { - $14 = ((($f)) + 36|0); - $15 = HEAP32[$14>>2]|0; - (FUNCTION_TABLE_iiii[$15 & 15]($f,0,0)|0); - $16 = HEAP32[$9>>2]|0; - $17 = ($16|0)==(0|0); - if ($17) { - $$0 = -1; - } else { - label = 5; - } - } else { - label = 5; - } - if ((label|0) == 5) { - $18 = ((($f)) + 16|0); - HEAP32[$18>>2] = 0; - HEAP32[$11>>2] = 0; - HEAP32[$9>>2] = 0; - $19 = ((($f)) + 40|0); - $20 = HEAP32[$19>>2]|0; - $21 = (FUNCTION_TABLE_iiii[$20 & 15]($f,$$01,$whence)|0); - $22 = ($21|0)<(0); - if ($22) { - $$0 = -1; - } else { - $23 = ((($f)) + 8|0); - HEAP32[$23>>2] = 0; - $24 = ((($f)) + 4|0); - HEAP32[$24>>2] = 0; - $25 = HEAP32[$f>>2]|0; - $26 = $25 & -17; - HEAP32[$f>>2] = $26; - $$0 = 0; - } - } - return ($$0|0); -} -function ___fseeko($f,$off,$whence) { - $f = $f|0; - $off = $off|0; - $whence = $whence|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $phitmp = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($f)) + 76|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)>(-1); - if ($2) { - $4 = (___lockfile($f)|0); - $phitmp = ($4|0)==(0); - $5 = (___fseeko_unlocked($f,$off,$whence)|0); - if ($phitmp) { - $6 = $5; - } else { - ___unlockfile($f); - $6 = $5; - } - } else { - $3 = (___fseeko_unlocked($f,$off,$whence)|0); - $6 = $3; - } - return ($6|0); -} -function _fseek($f,$off,$whence) { - $f = $f|0; - $off = $off|0; - $whence = $whence|0; - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (___fseeko($f,$off,$whence)|0); - return ($0|0); -} -function ___ftello_unlocked($f) { - $f = $f|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $phitmp = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($f)) + 40|0); - $1 = HEAP32[$0>>2]|0; - $2 = HEAP32[$f>>2]|0; - $3 = $2 & 128; - $4 = ($3|0)==(0); - if ($4) { - $10 = 1; - } else { - $5 = ((($f)) + 20|0); - $6 = HEAP32[$5>>2]|0; - $7 = ((($f)) + 28|0); - $8 = HEAP32[$7>>2]|0; - $9 = ($6>>>0)>($8>>>0); - $phitmp = $9 ? 2 : 1; - $10 = $phitmp; - } - $11 = (FUNCTION_TABLE_iiii[$1 & 15]($f,0,$10)|0); - $12 = ($11|0)<(0); - if ($12) { - $$0 = $11; - } else { - $13 = ((($f)) + 8|0); - $14 = HEAP32[$13>>2]|0; - $15 = ((($f)) + 4|0); - $16 = HEAP32[$15>>2]|0; - $17 = $14; - $18 = $16; - $19 = ((($f)) + 20|0); - $20 = HEAP32[$19>>2]|0; - $21 = ((($f)) + 28|0); - $22 = HEAP32[$21>>2]|0; - $23 = $20; - $24 = $22; - $25 = (($11) - ($17))|0; - $26 = (($25) + ($18))|0; - $27 = (($26) + ($23))|0; - $28 = (($27) - ($24))|0; - $$0 = $28; - } - return ($$0|0); -} -function ___ftello($f) { - $f = $f|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $phitmp = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($f)) + 76|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)>(-1); - if ($2) { - $4 = (___lockfile($f)|0); - $phitmp = ($4|0)==(0); - $5 = (___ftello_unlocked($f)|0); - if ($phitmp) { - $6 = $5; - } else { - ___unlockfile($f); - $6 = $5; - } - } else { - $3 = (___ftello_unlocked($f)|0); - $6 = $3; - } - return ($6|0); -} -function _ftell($f) { - $f = $f|0; - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (___ftello($f)|0); - return ($0|0); -} -function ___fwritex($s,$l,$f) { - $s = $s|0; - $l = $l|0; - $f = $f|0; - var $$0 = 0, $$01 = 0, $$02 = 0, $$pre = 0, $$pre6 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0; - var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i$0 = 0, $i$0$lcssa10 = 0; - var $i$1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($f)) + 16|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)==(0|0); - if ($2) { - $3 = (___towrite($f)|0); - $4 = ($3|0)==(0); - if ($4) { - $$pre = HEAP32[$0>>2]|0; - $7 = $$pre; - label = 4; - } else { - $$0 = 0; - } - } else { - $7 = $1; - label = 4; - } - L4: do { - if ((label|0) == 4) { - $5 = ((($f)) + 20|0); - $6 = HEAP32[$5>>2]|0; - $8 = $7; - $9 = $6; - $10 = (($8) - ($9))|0; - $11 = ($10>>>0)<($l>>>0); - if ($11) { - $12 = ((($f)) + 36|0); - $13 = HEAP32[$12>>2]|0; - $14 = (FUNCTION_TABLE_iiii[$13 & 15]($f,$s,$l)|0); + $14 = (___uflow($0)|0); $$0 = $14; break; } - $15 = ((($f)) + 75|0); - $16 = HEAP8[$15>>0]|0; - $17 = ($16<<24>>24)>(-1); - L9: do { - if ($17) { - $i$0 = $l; - while(1) { - $18 = ($i$0|0)==(0); - if ($18) { - $$01 = $l;$$02 = $s;$29 = $6;$i$1 = 0; - break L9; - } - $19 = (($i$0) + -1)|0; - $20 = (($s) + ($19)|0); - $21 = HEAP8[$20>>0]|0; - $22 = ($21<<24>>24)==(10); - if ($22) { - $i$0$lcssa10 = $i$0; - break; - } else { - $i$0 = $19; - } - } - $23 = ((($f)) + 36|0); - $24 = HEAP32[$23>>2]|0; - $25 = (FUNCTION_TABLE_iiii[$24 & 15]($f,$s,$i$0$lcssa10)|0); - $26 = ($25>>>0)<($i$0$lcssa10>>>0); - if ($26) { - $$0 = $i$0$lcssa10; - break L4; - } - $27 = (($s) + ($i$0$lcssa10)|0); - $28 = (($l) - ($i$0$lcssa10))|0; - $$pre6 = HEAP32[$5>>2]|0; - $$01 = $28;$$02 = $27;$29 = $$pre6;$i$1 = $i$0$lcssa10; - } else { - $$01 = $l;$$02 = $s;$29 = $6;$i$1 = 0; - } - } while(0); - _memcpy(($29|0),($$02|0),($$01|0))|0; - $30 = HEAP32[$5>>2]|0; - $31 = (($30) + ($$01)|0); - HEAP32[$5>>2] = $31; - $32 = (($i$1) + ($$01))|0; - $$0 = $32; } } while(0); return ($$0|0); } -function _fwrite($src,$size,$nmemb,$f) { - $src = $src|0; - $size = $size|0; - $nmemb = $nmemb|0; - $f = $f|0; - var $0 = 0, $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $phitmp = 0, label = 0, sp = 0; +function ___ftello($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $phitmp = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = Math_imul($nmemb, $size)|0; - $1 = ((($f)) + 76|0); + $1 = ((($0)) + 76|0); $2 = HEAP32[$1>>2]|0; $3 = ($2|0)>(-1); if ($3) { - $5 = (___lockfile($f)|0); + $5 = (___lockfile($0)|0); $phitmp = ($5|0)==(0); - $6 = (___fwritex($src,$0,$f)|0); + $6 = (___ftello_unlocked($0)|0); if ($phitmp) { $7 = $6; } else { - ___unlockfile($f); + ___unlockfile($0); $7 = $6; } } else { - $4 = (___fwritex($src,$0,$f)|0); + $4 = (___ftello_unlocked($0)|0); $7 = $4; } - $8 = ($7|0)==($0|0); + return ($7|0); +} +function ___ftello_unlocked($0) { + $0 = $0|0; + var $$0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $3 = 0; + var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $phitmp = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 40|0); + $2 = HEAP32[$1>>2]|0; + $3 = HEAP32[$0>>2]|0; + $4 = $3 & 128; + $5 = ($4|0)==(0); + if ($5) { + $11 = 1; + } else { + $6 = ((($0)) + 20|0); + $7 = HEAP32[$6>>2]|0; + $8 = ((($0)) + 28|0); + $9 = HEAP32[$8>>2]|0; + $10 = ($7>>>0)>($9>>>0); + $phitmp = $10 ? 2 : 1; + $11 = $phitmp; + } + $12 = (FUNCTION_TABLE_iiii[$2 & 15]($0,0,$11)|0); + $13 = ($12|0)<(0); + if ($13) { + $$0 = $12; + } else { + $14 = ((($0)) + 8|0); + $15 = HEAP32[$14>>2]|0; + $16 = ((($0)) + 4|0); + $17 = HEAP32[$16>>2]|0; + $18 = ((($0)) + 20|0); + $19 = HEAP32[$18>>2]|0; + $20 = ((($0)) + 28|0); + $21 = HEAP32[$20>>2]|0; + $22 = (($12) - ($15))|0; + $23 = (($22) + ($17))|0; + $24 = (($23) + ($19))|0; + $25 = (($24) - ($21))|0; + $$0 = $25; + } + return ($$0|0); +} +function _fread($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$ = 0, $$0 = 0, $$054$ph = 0, $$05460 = 0, $$056$ph = 0, $$05659 = 0, $$57 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0; + var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; + var $42 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $4 = Math_imul($2, $1)|0; + $5 = ($1|0)==(0); + $$ = $5 ? 0 : $2; + $6 = ((($3)) + 76|0); + $7 = HEAP32[$6>>2]|0; + $8 = ($7|0)>(-1); if ($8) { - $10 = $nmemb; + $9 = (___lockfile($3)|0); + $36 = $9; } else { - $9 = (($7>>>0) / ($size>>>0))&-1; - $10 = $9; + $36 = 0; } - return ($10|0); -} -function _sscanf($s,$fmt,$varargs) { - $s = $s|0; - $fmt = $fmt|0; - $varargs = $varargs|0; - var $0 = 0, $ap = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $ap = sp; - HEAP32[$ap>>2] = $varargs; - $0 = (_vsscanf($s,$fmt,$ap)|0); - STACKTOP = sp;return ($0|0); -} -function _vfprintf($f,$fmt,$ap) { - $f = $f|0; - $fmt = $fmt|0; - $ap = $ap|0; - var $$ = 0, $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; - var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $ap2 = 0, $internal_buf = 0, $nl_arg = 0, $nl_type = 0; - var $ret$1 = 0, $ret$1$ = 0, $vacopy_currentptr = 0, dest = 0, label = 0, sp = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 224|0; - $ap2 = sp + 120|0; - $nl_type = sp + 80|0; - $nl_arg = sp; - $internal_buf = sp + 136|0; - dest=$nl_type; stop=dest+40|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - $vacopy_currentptr = HEAP32[$ap>>2]|0; - HEAP32[$ap2>>2] = $vacopy_currentptr; - $0 = (_printf_core(0,$fmt,$ap2,$nl_arg,$nl_type)|0); - $1 = ($0|0)<(0); - if ($1) { - $$0 = -1; + $10 = ((($3)) + 74|0); + $11 = HEAP8[$10>>0]|0; + $12 = $11 << 24 >> 24; + $13 = (($12) + 255)|0; + $14 = $13 | $12; + $15 = $14&255; + HEAP8[$10>>0] = $15; + $16 = ((($3)) + 8|0); + $17 = HEAP32[$16>>2]|0; + $18 = ((($3)) + 4|0); + $19 = HEAP32[$18>>2]|0; + $20 = $19; + $21 = (($17) - ($20))|0; + $22 = ($21|0)>(0); + $23 = ($21>>>0)<($4>>>0); + $$57 = $23 ? $21 : $4; + if ($22) { + $24 = (($4) - ($$57))|0; + $25 = (($0) + ($$57)|0); + _memcpy(($0|0),($19|0),($$57|0))|0; + $26 = (($19) + ($$57)|0); + HEAP32[$18>>2] = $26; + $$054$ph = $24;$$056$ph = $25; } else { - $2 = ((($f)) + 76|0); - $3 = HEAP32[$2>>2]|0; - $4 = ($3|0)>(-1); - if ($4) { - $5 = (___lockfile($f)|0); - $32 = $5; + $$054$ph = $4;$$056$ph = $0; + } + $27 = ($$054$ph|0)==(0); + L7: do { + if ($27) { + label = 13; } else { - $32 = 0; - } - $6 = HEAP32[$f>>2]|0; - $7 = $6 & 32; - $8 = ((($f)) + 74|0); - $9 = HEAP8[$8>>0]|0; - $10 = ($9<<24>>24)<(1); - if ($10) { - $11 = $6 & -33; - HEAP32[$f>>2] = $11; - } - $12 = ((($f)) + 48|0); - $13 = HEAP32[$12>>2]|0; - $14 = ($13|0)==(0); - if ($14) { - $16 = ((($f)) + 44|0); - $17 = HEAP32[$16>>2]|0; - HEAP32[$16>>2] = $internal_buf; - $18 = ((($f)) + 28|0); - HEAP32[$18>>2] = $internal_buf; - $19 = ((($f)) + 20|0); - HEAP32[$19>>2] = $internal_buf; - HEAP32[$12>>2] = 80; - $20 = ((($internal_buf)) + 80|0); - $21 = ((($f)) + 16|0); - HEAP32[$21>>2] = $20; - $22 = (_printf_core($f,$fmt,$ap2,$nl_arg,$nl_type)|0); - $23 = ($17|0)==(0|0); - if ($23) { - $ret$1 = $22; - } else { - $24 = ((($f)) + 36|0); - $25 = HEAP32[$24>>2]|0; - (FUNCTION_TABLE_iiii[$25 & 15]($f,0,0)|0); - $26 = HEAP32[$19>>2]|0; - $27 = ($26|0)==(0|0); - $$ = $27 ? -1 : $22; - HEAP32[$16>>2] = $17; - HEAP32[$12>>2] = 0; - HEAP32[$21>>2] = 0; - HEAP32[$18>>2] = 0; - HEAP32[$19>>2] = 0; - $ret$1 = $$; + $28 = ((($3)) + 32|0); + $$05460 = $$054$ph;$$05659 = $$056$ph; + while(1) { + $29 = (___toread($3)|0); + $30 = ($29|0)==(0); + if (!($30)) { + break; + } + $31 = HEAP32[$28>>2]|0; + $32 = (FUNCTION_TABLE_iiii[$31 & 15]($3,$$05659,$$05460)|0); + $33 = (($32) + 1)|0; + $34 = ($33>>>0)<(2); + if ($34) { + break; + } + $39 = (($$05460) - ($32))|0; + $40 = (($$05659) + ($32)|0); + $41 = ($39|0)==(0); + if ($41) { + label = 13; + break L7; + } else { + $$05460 = $39;$$05659 = $40; + } } + $35 = ($36|0)==(0); + if (!($35)) { + ___unlockfile($3); + } + $37 = (($4) - ($$05460))|0; + $38 = (($37>>>0) / ($1>>>0))&-1; + $$0 = $38; + } + } while(0); + if ((label|0) == 13) { + $42 = ($36|0)==(0); + if ($42) { + $$0 = $$; } else { - $15 = (_printf_core($f,$fmt,$ap2,$nl_arg,$nl_type)|0); - $ret$1 = $15; + ___unlockfile($3); + $$0 = $$; } - $28 = HEAP32[$f>>2]|0; - $29 = $28 & 32; - $30 = ($29|0)==(0); - $ret$1$ = $30 ? $ret$1 : -1; - $31 = $28 | $7; - HEAP32[$f>>2] = $31; - $33 = ($32|0)==(0); - if (!($33)) { - ___unlockfile($f); - } - $$0 = $ret$1$; } - STACKTOP = sp;return ($$0|0); + return ($$0|0); } -function _vfscanf($f,$fmt,$ap) { - $f = $f|0; - $fmt = $fmt|0; - $ap = $ap|0; - var $$ = 0, $$10 = 0, $$11 = 0, $$12 = 0, $$9 = 0, $$lcssa = 0, $$lcssa38 = 0, $$lcssa384 = 0, $$not = 0, $$old4 = 0, $$pre = 0, $$pre$phi182Z2D = 0, $$pre168 = 0, $$pre170 = 0, $$pre172 = 0, $$pre174 = 0, $$pre176 = 0, $$pre178 = 0, $$pre180 = 0, $$pre181 = 0; - var $$size$0 = 0, $$width$0 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0; - var $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0; - var $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0; - var $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0; - var $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0; - var $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0; - var $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0; - var $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0; - var $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0; - var $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0; - var $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0; - var $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0.0, $311 = 0; - var $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0.0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0; - var $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; - var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0; - var $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0; - var $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $alloc$0 = 0, $alloc$0400 = 0, $alloc$1 = 0; - var $alloc$2 = 0, $ap2$i = 0, $arglist_current = 0, $arglist_current2 = 0, $arglist_next = 0, $arglist_next3 = 0, $base$0 = 0, $c$0100 = 0, $dest$0 = 0, $expanded = 0, $expanded10 = 0, $expanded11 = 0, $expanded13 = 0, $expanded14 = 0, $expanded15 = 0, $expanded4 = 0, $expanded6 = 0, $expanded7 = 0, $expanded8 = 0, $factor = 0; - var $factor16 = 0, $i$0$i = 0, $i$0$ph = 0, $i$0$ph$phi = 0, $i$0$ph20 = 0, $i$0$ph20$lcssa = 0, $i$1 = 0, $i$2 = 0, $i$2$ph = 0, $i$2$ph$phi = 0, $i$3 = 0, $i$4 = 0, $invert$0 = 0, $isdigit = 0, $isdigit7 = 0, $isdigit795 = 0, $isdigittmp = 0, $isdigittmp6 = 0, $isdigittmp694 = 0, $k$0$ph = 0; - var $k$1$ph = 0, $matches$0$ = 0, $matches$0104 = 0, $matches$0104$lcssa = 0, $matches$0104376 = 0, $matches$1 = 0, $matches$2 = 0, $matches$3 = 0, $not$ = 0, $or$cond = 0, $or$cond3 = 0, $or$cond5 = 0, $or$cond8 = 0, $p$0109 = 0, $p$1 = 0, $p$1$lcssa = 0, $p$10 = 0, $p$11 = 0, $p$2 = 0, $p$3$lcssa = 0; - var $p$396 = 0, $p$4 = 0, $p$5 = 0, $p$6 = 0, $p$7 = 0, $p$7$ph = 0, $p$8 = 0, $p$9 = 0, $pos$0108 = 0, $pos$1 = 0, $pos$2 = 0, $s$0107 = 0, $s$0107$lcssa = 0, $s$1 = 0, $s$2$ph = 0, $s$3 = 0, $s$4 = 0, $s$5 = 0, $s$6 = 0, $s$7 = 0; - var $s$8 = 0, $scanset = 0, $size$0 = 0, $st = 0, $vacopy_currentptr = 0, $wc = 0, $wcs$0103 = 0, $wcs$0103$lcssa = 0, $wcs$1 = 0, $wcs$2 = 0, $wcs$3$ph = 0, $wcs$3$ph$lcssa = 0, $wcs$4 = 0, $wcs$5 = 0, $wcs$6 = 0, $wcs$7 = 0, $wcs$8 = 0, $wcs$9 = 0, $width$0$lcssa = 0, $width$097 = 0; - var $width$1 = 0, label = 0, sp = 0; +function _ftell($0) { + $0 = $0|0; + var $1 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 304|0; - $ap2$i = sp + 16|0; - $st = sp + 8|0; - $scanset = sp + 33|0; - $wc = sp; - $0 = sp + 32|0; - $1 = ((($f)) + 76|0); + $1 = (___ftello($0)|0); + return ($1|0); +} +function _rewind($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $phitmp = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 76|0); $2 = HEAP32[$1>>2]|0; $3 = ($2|0)>(-1); if ($3) { - $4 = (___lockfile($f)|0); - $333 = $4; - } else { - $333 = 0; - } - $5 = HEAP8[$fmt>>0]|0; - $6 = ($5<<24>>24)==(0); - L4: do { - if ($6) { - $matches$3 = 0; - } else { - $7 = ((($f)) + 4|0); - $8 = ((($f)) + 100|0); - $9 = ((($f)) + 108|0); - $10 = ((($f)) + 8|0); - $11 = ((($scanset)) + 10|0); - $12 = ((($scanset)) + 33|0); - $13 = ((($st)) + 4|0); - $14 = ((($scanset)) + 46|0); - $15 = ((($scanset)) + 94|0); - $17 = $5;$matches$0104 = 0;$p$0109 = $fmt;$pos$0108 = 0;$s$0107 = 0;$wcs$0103 = 0; - L6: while(1) { - $16 = $17&255; - $18 = (_isspace($16)|0); - $19 = ($18|0)==(0); - L8: do { - if ($19) { - $46 = HEAP8[$p$0109>>0]|0; - $47 = ($46<<24>>24)==(37); - L10: do { - if ($47) { - $48 = ((($p$0109)) + 1|0); - $49 = HEAP8[$48>>0]|0; - L12: do { - switch ($49<<24>>24) { - case 37: { - break L10; - break; - } - case 42: { - $70 = ((($p$0109)) + 2|0); - $dest$0 = 0;$p$2 = $70; - break; - } - default: { - $71 = $49&255; - $isdigittmp = (($71) + -48)|0; - $isdigit = ($isdigittmp>>>0)<(10); - if ($isdigit) { - $72 = ((($p$0109)) + 2|0); - $73 = HEAP8[$72>>0]|0; - $74 = ($73<<24>>24)==(36); - if ($74) { - $vacopy_currentptr = HEAP32[$ap>>2]|0; - HEAP32[$ap2$i>>2] = $vacopy_currentptr; - $i$0$i = $isdigittmp; - while(1) { - $75 = ($i$0$i>>>0)>(1); - $arglist_current = HEAP32[$ap2$i>>2]|0; - $76 = $arglist_current; - $77 = ((0) + 4|0); - $expanded4 = $77; - $expanded = (($expanded4) - 1)|0; - $78 = (($76) + ($expanded))|0; - $79 = ((0) + 4|0); - $expanded8 = $79; - $expanded7 = (($expanded8) - 1)|0; - $expanded6 = $expanded7 ^ -1; - $80 = $78 & $expanded6; - $81 = $80; - $82 = HEAP32[$81>>2]|0; - $arglist_next = ((($81)) + 4|0); - HEAP32[$ap2$i>>2] = $arglist_next; - $83 = (($i$0$i) + -1)|0; - if ($75) { - $i$0$i = $83; - } else { - $$lcssa = $82; - break; - } - } - $84 = ((($p$0109)) + 3|0); - $dest$0 = $$lcssa;$p$2 = $84; - break L12; - } - } - $arglist_current2 = HEAP32[$ap>>2]|0; - $85 = $arglist_current2; - $86 = ((0) + 4|0); - $expanded11 = $86; - $expanded10 = (($expanded11) - 1)|0; - $87 = (($85) + ($expanded10))|0; - $88 = ((0) + 4|0); - $expanded15 = $88; - $expanded14 = (($expanded15) - 1)|0; - $expanded13 = $expanded14 ^ -1; - $89 = $87 & $expanded13; - $90 = $89; - $91 = HEAP32[$90>>2]|0; - $arglist_next3 = ((($90)) + 4|0); - HEAP32[$ap>>2] = $arglist_next3; - $dest$0 = $91;$p$2 = $48; - } - } - } while(0); - $92 = HEAP8[$p$2>>0]|0; - $93 = $92&255; - $isdigittmp694 = (($93) + -48)|0; - $isdigit795 = ($isdigittmp694>>>0)<(10); - if ($isdigit795) { - $97 = $93;$p$396 = $p$2;$width$097 = 0; - while(1) { - $94 = ($width$097*10)|0; - $95 = (($94) + -48)|0; - $96 = (($95) + ($97))|0; - $98 = ((($p$396)) + 1|0); - $99 = HEAP8[$98>>0]|0; - $100 = $99&255; - $isdigittmp6 = (($100) + -48)|0; - $isdigit7 = ($isdigittmp6>>>0)<(10); - if ($isdigit7) { - $97 = $100;$p$396 = $98;$width$097 = $96; - } else { - $$lcssa38 = $99;$p$3$lcssa = $98;$width$0$lcssa = $96; - break; - } - } - } else { - $$lcssa38 = $92;$p$3$lcssa = $p$2;$width$0$lcssa = 0; - } - $101 = ($$lcssa38<<24>>24)==(109); - if ($101) { - $102 = ($dest$0|0)!=(0|0); - $103 = $102&1; - $104 = ((($p$3$lcssa)) + 1|0); - $$pre168 = HEAP8[$104>>0]|0; - $107 = $$pre168;$alloc$0 = $103;$p$4 = $104;$s$1 = 0;$wcs$1 = 0; - } else { - $107 = $$lcssa38;$alloc$0 = 0;$p$4 = $p$3$lcssa;$s$1 = $s$0107;$wcs$1 = $wcs$0103; - } - $105 = ((($p$4)) + 1|0); - $106 = $107&255; - switch ($106|0) { - case 104: { - $108 = HEAP8[$105>>0]|0; - $109 = ($108<<24>>24)==(104); - $110 = ((($p$4)) + 2|0); - $$9 = $109 ? $110 : $105; - $$10 = $109 ? -2 : -1; - $p$5 = $$9;$size$0 = $$10; - break; - } - case 108: { - $111 = HEAP8[$105>>0]|0; - $112 = ($111<<24>>24)==(108); - $113 = ((($p$4)) + 2|0); - $$11 = $112 ? $113 : $105; - $$12 = $112 ? 3 : 1; - $p$5 = $$11;$size$0 = $$12; - break; - } - case 106: { - $p$5 = $105;$size$0 = 3; - break; - } - case 116: case 122: { - $p$5 = $105;$size$0 = 1; - break; - } - case 76: { - $p$5 = $105;$size$0 = 2; - break; - } - case 110: case 112: case 67: case 83: case 91: case 99: case 115: case 88: case 71: case 70: case 69: case 65: case 103: case 102: case 101: case 97: case 120: case 117: case 111: case 105: case 100: { - $p$5 = $p$4;$size$0 = 0; - break; - } - default: { - $alloc$0400 = $alloc$0;$matches$0104376 = $matches$0104;$s$6 = $s$1;$wcs$7 = $wcs$1; - label = 152; - break L6; - } - } - $114 = HEAP8[$p$5>>0]|0; - $115 = $114&255; - $116 = $115 & 47; - $117 = ($116|0)==(3); - $118 = $115 | 32; - $$ = $117 ? $118 : $115; - $$size$0 = $117 ? 1 : $size$0; - switch ($$|0) { - case 99: { - $119 = ($width$0$lcssa|0)<(1); - $$width$0 = $119 ? 1 : $width$0$lcssa; - $pos$1 = $pos$0108;$width$1 = $$width$0; - break; - } - case 91: { - $pos$1 = $pos$0108;$width$1 = $width$0$lcssa; - break; - } - case 110: { - $120 = ($pos$0108|0)<(0); - $121 = $120 << 31 >> 31; - $122 = ($dest$0|0)==(0|0); - if ($122) { - $matches$1 = $matches$0104;$p$11 = $p$5;$pos$2 = $pos$0108;$s$5 = $s$1;$wcs$6 = $wcs$1; - break L8; - } - switch ($$size$0|0) { - case -2: { - $123 = $pos$0108&255; - HEAP8[$dest$0>>0] = $123; - $matches$1 = $matches$0104;$p$11 = $p$5;$pos$2 = $pos$0108;$s$5 = $s$1;$wcs$6 = $wcs$1; - break L8; - break; - } - case -1: { - $124 = $pos$0108&65535; - HEAP16[$dest$0>>1] = $124; - $matches$1 = $matches$0104;$p$11 = $p$5;$pos$2 = $pos$0108;$s$5 = $s$1;$wcs$6 = $wcs$1; - break L8; - break; - } - case 0: { - HEAP32[$dest$0>>2] = $pos$0108; - $matches$1 = $matches$0104;$p$11 = $p$5;$pos$2 = $pos$0108;$s$5 = $s$1;$wcs$6 = $wcs$1; - break L8; - break; - } - case 1: { - HEAP32[$dest$0>>2] = $pos$0108; - $matches$1 = $matches$0104;$p$11 = $p$5;$pos$2 = $pos$0108;$s$5 = $s$1;$wcs$6 = $wcs$1; - break L8; - break; - } - case 3: { - $125 = $dest$0; - $126 = $125; - HEAP32[$126>>2] = $pos$0108; - $127 = (($125) + 4)|0; - $128 = $127; - HEAP32[$128>>2] = $121; - $matches$1 = $matches$0104;$p$11 = $p$5;$pos$2 = $pos$0108;$s$5 = $s$1;$wcs$6 = $wcs$1; - break L8; - break; - } - default: { - $matches$1 = $matches$0104;$p$11 = $p$5;$pos$2 = $pos$0108;$s$5 = $s$1;$wcs$6 = $wcs$1; - break L8; - } - } - break; - } - default: { - ___shlim($f,0); - while(1) { - $129 = HEAP32[$7>>2]|0; - $130 = HEAP32[$8>>2]|0; - $131 = ($129>>>0)<($130>>>0); - if ($131) { - $132 = ((($129)) + 1|0); - HEAP32[$7>>2] = $132; - $133 = HEAP8[$129>>0]|0; - $134 = $133&255; - $136 = $134; - } else { - $135 = (___shgetc($f)|0); - $136 = $135; - } - $137 = (_isspace($136)|0); - $138 = ($137|0)==(0); - if ($138) { - break; - } - } - $139 = HEAP32[$8>>2]|0; - $140 = ($139|0)==(0|0); - $$pre170 = HEAP32[$7>>2]|0; - if ($140) { - $144 = $$pre170; - } else { - $141 = ((($$pre170)) + -1|0); - HEAP32[$7>>2] = $141; - $144 = $141; - } - $142 = HEAP32[$9>>2]|0; - $143 = HEAP32[$10>>2]|0; - $145 = $144; - $146 = $143; - $147 = (($142) + ($pos$0108))|0; - $148 = (($147) + ($145))|0; - $149 = (($148) - ($146))|0; - $pos$1 = $149;$width$1 = $width$0$lcssa; - } - } - ___shlim($f,$width$1); - $150 = HEAP32[$7>>2]|0; - $151 = HEAP32[$8>>2]|0; - $152 = ($150>>>0)<($151>>>0); - if ($152) { - $153 = ((($150)) + 1|0); - HEAP32[$7>>2] = $153; - $156 = $151; - } else { - $154 = (___shgetc($f)|0); - $155 = ($154|0)<(0); - if ($155) { - $alloc$0400 = $alloc$0;$matches$0104376 = $matches$0104;$s$6 = $s$1;$wcs$7 = $wcs$1; - label = 152; - break L6; - } - $$pre172 = HEAP32[$8>>2]|0; - $156 = $$pre172; - } - $157 = ($156|0)==(0|0); - if (!($157)) { - $158 = HEAP32[$7>>2]|0; - $159 = ((($158)) + -1|0); - HEAP32[$7>>2] = $159; - } - L67: do { - switch ($$|0) { - case 91: case 99: case 115: { - $160 = ($$|0)==(99); - $161 = $$ & 239; - $162 = ($161|0)==(99); - L69: do { - if ($162) { - $163 = ($$|0)==(115); - _memset(($scanset|0),-1,257)|0; - HEAP8[$scanset>>0] = 0; - if ($163) { - HEAP8[$12>>0] = 0; - ;HEAP8[$11>>0]=0|0;HEAP8[$11+1>>0]=0|0;HEAP8[$11+2>>0]=0|0;HEAP8[$11+3>>0]=0|0;HEAP8[$11+4>>0]=0|0; - $p$9 = $p$5; - } else { - $p$9 = $p$5; - } - } else { - $164 = ((($p$5)) + 1|0); - $165 = HEAP8[$164>>0]|0; - $166 = ($165<<24>>24)==(94); - $167 = ((($p$5)) + 2|0); - $invert$0 = $166&1; - $168 = $166 ? $164 : $p$5; - $p$6 = $166 ? $167 : $164; - $169 = $166&1; - _memset(($scanset|0),($169|0),257)|0; - HEAP8[$scanset>>0] = 0; - $170 = HEAP8[$p$6>>0]|0; - switch ($170<<24>>24) { - case 45: { - $171 = ((($168)) + 2|0); - $172 = $invert$0 ^ 1; - $173 = $172&255; - HEAP8[$14>>0] = $173; - $$pre$phi182Z2D = $173;$p$7$ph = $171; - break; - } - case 93: { - $174 = ((($168)) + 2|0); - $175 = $invert$0 ^ 1; - $176 = $175&255; - HEAP8[$15>>0] = $176; - $$pre$phi182Z2D = $176;$p$7$ph = $174; - break; - } - default: { - $$pre180 = $invert$0 ^ 1; - $$pre181 = $$pre180&255; - $$pre$phi182Z2D = $$pre181;$p$7$ph = $p$6; - } - } - $p$7 = $p$7$ph; - while(1) { - $177 = HEAP8[$p$7>>0]|0; - L80: do { - switch ($177<<24>>24) { - case 0: { - $alloc$0400 = $alloc$0;$matches$0104376 = $matches$0104;$s$6 = $s$1;$wcs$7 = $wcs$1; - label = 152; - break L6; - break; - } - case 93: { - $p$9 = $p$7; - break L69; - break; - } - case 45: { - $178 = ((($p$7)) + 1|0); - $179 = HEAP8[$178>>0]|0; - switch ($179<<24>>24) { - case 93: case 0: { - $190 = 45;$p$8 = $p$7; - break L80; - break; - } - default: { - } - } - $180 = ((($p$7)) + -1|0); - $181 = HEAP8[$180>>0]|0; - $182 = ($181&255)<($179&255); - if ($182) { - $183 = $181&255; - $c$0100 = $183; - while(1) { - $184 = (($c$0100) + 1)|0; - $185 = (($scanset) + ($184)|0); - HEAP8[$185>>0] = $$pre$phi182Z2D; - $186 = HEAP8[$178>>0]|0; - $187 = $186&255; - $188 = ($184|0)<($187|0); - if ($188) { - $c$0100 = $184; - } else { - $190 = $186;$p$8 = $178; - break; - } - } - } else { - $190 = $179;$p$8 = $178; - } - break; - } - default: { - $190 = $177;$p$8 = $p$7; - } - } - } while(0); - $189 = $190&255; - $191 = (($189) + 1)|0; - $192 = (($scanset) + ($191)|0); - HEAP8[$192>>0] = $$pre$phi182Z2D; - $193 = ((($p$8)) + 1|0); - $p$7 = $193; - } - } - } while(0); - $194 = (($width$1) + 1)|0; - $195 = $160 ? $194 : 31; - $196 = ($$size$0|0)==(1); - $197 = ($alloc$0|0)!=(0); - L88: do { - if ($196) { - if ($197) { - $198 = $195 << 2; - $199 = (_malloc($198)|0); - $200 = ($199|0)==(0|0); - if ($200) { - $alloc$0400 = $alloc$0;$matches$0104376 = $matches$0104;$s$6 = 0;$wcs$7 = $199; - label = 152; - break L6; - } else { - $wcs$2 = $199; - } - } else { - $wcs$2 = $dest$0; - } - HEAP32[$st>>2] = 0; - HEAP32[$13>>2] = 0; - $i$0$ph = 0;$k$0$ph = $195;$wcs$3$ph = $wcs$2; - L94: while(1) { - $201 = ($wcs$3$ph|0)==(0|0); - $i$0$ph20 = $i$0$ph; - while(1) { - L98: while(1) { - $202 = HEAP32[$7>>2]|0; - $203 = HEAP32[$8>>2]|0; - $204 = ($202>>>0)<($203>>>0); - if ($204) { - $205 = ((($202)) + 1|0); - HEAP32[$7>>2] = $205; - $206 = HEAP8[$202>>0]|0; - $207 = $206&255; - $210 = $207; - } else { - $208 = (___shgetc($f)|0); - $210 = $208; - } - $209 = (($210) + 1)|0; - $211 = (($scanset) + ($209)|0); - $212 = HEAP8[$211>>0]|0; - $213 = ($212<<24>>24)==(0); - if ($213) { - $i$0$ph20$lcssa = $i$0$ph20;$wcs$3$ph$lcssa = $wcs$3$ph; - break L94; - } - $214 = $210&255; - HEAP8[$0>>0] = $214; - $215 = (_mbrtowc($wc,$0,1,$st)|0); - switch ($215|0) { - case -1: { - $alloc$0400 = $alloc$0;$matches$0104376 = $matches$0104;$s$6 = 0;$wcs$7 = $wcs$3$ph; - label = 152; - break L6; - break; - } - case -2: { - break; - } - default: { - break L98; - } - } - } - if ($201) { - $i$1 = $i$0$ph20; - } else { - $216 = HEAP32[$wc>>2]|0; - $217 = (($i$0$ph20) + 1)|0; - $218 = (($wcs$3$ph) + ($i$0$ph20<<2)|0); - HEAP32[$218>>2] = $216; - $i$1 = $217; - } - $219 = ($i$1|0)==($k$0$ph|0); - $or$cond = $197 & $219; - if ($or$cond) { - break; - } else { - $i$0$ph20 = $i$1; - } - } - $factor = $k$0$ph << 1; - $220 = $factor | 1; - $221 = $220 << 2; - $222 = (_realloc($wcs$3$ph,$221)|0); - $223 = ($222|0)==(0|0); - if ($223) { - $alloc$0400 = $alloc$0;$matches$0104376 = $matches$0104;$s$6 = 0;$wcs$7 = $wcs$3$ph; - label = 152; - break L6; - } - $i$0$ph$phi = $k$0$ph;$k$0$ph = $220;$wcs$3$ph = $222;$i$0$ph = $i$0$ph$phi; - } - $224 = (_mbsinit($st)|0); - $225 = ($224|0)==(0); - if ($225) { - $alloc$0400 = $alloc$0;$matches$0104376 = $matches$0104;$s$6 = 0;$wcs$7 = $wcs$3$ph$lcssa; - label = 152; - break L6; - } else { - $i$4 = $i$0$ph20$lcssa;$s$3 = 0;$wcs$4 = $wcs$3$ph$lcssa; - } - } else { - if ($197) { - $226 = (_malloc($195)|0); - $227 = ($226|0)==(0|0); - if ($227) { - $alloc$0400 = $alloc$0;$matches$0104376 = $matches$0104;$s$6 = 0;$wcs$7 = 0; - label = 152; - break L6; - } else { - $i$2$ph = 0;$k$1$ph = $195;$s$2$ph = $226; - } - while(1) { - $i$2 = $i$2$ph; - while(1) { - $228 = HEAP32[$7>>2]|0; - $229 = HEAP32[$8>>2]|0; - $230 = ($228>>>0)<($229>>>0); - if ($230) { - $231 = ((($228)) + 1|0); - HEAP32[$7>>2] = $231; - $232 = HEAP8[$228>>0]|0; - $233 = $232&255; - $236 = $233; - } else { - $234 = (___shgetc($f)|0); - $236 = $234; - } - $235 = (($236) + 1)|0; - $237 = (($scanset) + ($235)|0); - $238 = HEAP8[$237>>0]|0; - $239 = ($238<<24>>24)==(0); - if ($239) { - $i$4 = $i$2;$s$3 = $s$2$ph;$wcs$4 = 0; - break L88; - } - $240 = $236&255; - $241 = (($i$2) + 1)|0; - $242 = (($s$2$ph) + ($i$2)|0); - HEAP8[$242>>0] = $240; - $243 = ($241|0)==($k$1$ph|0); - if ($243) { - break; - } else { - $i$2 = $241; - } - } - $factor16 = $k$1$ph << 1; - $244 = $factor16 | 1; - $245 = (_realloc($s$2$ph,$244)|0); - $246 = ($245|0)==(0|0); - if ($246) { - $alloc$0400 = $alloc$0;$matches$0104376 = $matches$0104;$s$6 = $s$2$ph;$wcs$7 = 0; - label = 152; - break L6; - } else { - $i$2$ph$phi = $k$1$ph;$k$1$ph = $244;$s$2$ph = $245;$i$2$ph = $i$2$ph$phi; - } - } - } - $247 = ($dest$0|0)==(0|0); - if ($247) { - $265 = $156; - while(1) { - $263 = HEAP32[$7>>2]|0; - $264 = ($263>>>0)<($265>>>0); - if ($264) { - $266 = ((($263)) + 1|0); - HEAP32[$7>>2] = $266; - $267 = HEAP8[$263>>0]|0; - $268 = $267&255; - $271 = $268; - } else { - $269 = (___shgetc($f)|0); - $271 = $269; - } - $270 = (($271) + 1)|0; - $272 = (($scanset) + ($270)|0); - $273 = HEAP8[$272>>0]|0; - $274 = ($273<<24>>24)==(0); - if ($274) { - $i$4 = 0;$s$3 = 0;$wcs$4 = 0; - break L88; - } - $$pre176 = HEAP32[$8>>2]|0; - $265 = $$pre176; - } - } else { - $250 = $156;$i$3 = 0; - while(1) { - $248 = HEAP32[$7>>2]|0; - $249 = ($248>>>0)<($250>>>0); - if ($249) { - $251 = ((($248)) + 1|0); - HEAP32[$7>>2] = $251; - $252 = HEAP8[$248>>0]|0; - $253 = $252&255; - $256 = $253; - } else { - $254 = (___shgetc($f)|0); - $256 = $254; - } - $255 = (($256) + 1)|0; - $257 = (($scanset) + ($255)|0); - $258 = HEAP8[$257>>0]|0; - $259 = ($258<<24>>24)==(0); - if ($259) { - $i$4 = $i$3;$s$3 = $dest$0;$wcs$4 = 0; - break L88; - } - $260 = $256&255; - $261 = (($i$3) + 1)|0; - $262 = (($dest$0) + ($i$3)|0); - HEAP8[$262>>0] = $260; - $$pre174 = HEAP32[$8>>2]|0; - $250 = $$pre174;$i$3 = $261; - } - } - } - } while(0); - $275 = HEAP32[$8>>2]|0; - $276 = ($275|0)==(0|0); - $$pre178 = HEAP32[$7>>2]|0; - if ($276) { - $280 = $$pre178; - } else { - $277 = ((($$pre178)) + -1|0); - HEAP32[$7>>2] = $277; - $280 = $277; - } - $278 = HEAP32[$9>>2]|0; - $279 = HEAP32[$10>>2]|0; - $281 = $280; - $282 = $279; - $283 = (($281) - ($282))|0; - $284 = (($283) + ($278))|0; - $285 = ($284|0)==(0); - if ($285) { - $alloc$2 = $alloc$0;$matches$2 = $matches$0104;$s$8 = $s$3;$wcs$9 = $wcs$4; - break L6; - } - $$not = $160 ^ 1; - $286 = ($284|0)==($width$1|0); - $or$cond8 = $286 | $$not; - if (!($or$cond8)) { - $alloc$2 = $alloc$0;$matches$2 = $matches$0104;$s$8 = $s$3;$wcs$9 = $wcs$4; - break L6; - } - do { - if ($197) { - if ($196) { - HEAP32[$dest$0>>2] = $wcs$4; - break; - } else { - HEAP32[$dest$0>>2] = $s$3; - break; - } - } - } while(0); - if ($160) { - $p$10 = $p$9;$s$4 = $s$3;$wcs$5 = $wcs$4; - } else { - $287 = ($wcs$4|0)==(0|0); - if (!($287)) { - $288 = (($wcs$4) + ($i$4<<2)|0); - HEAP32[$288>>2] = 0; - } - $289 = ($s$3|0)==(0|0); - if ($289) { - $p$10 = $p$9;$s$4 = 0;$wcs$5 = $wcs$4; - break L67; - } - $290 = (($s$3) + ($i$4)|0); - HEAP8[$290>>0] = 0; - $p$10 = $p$9;$s$4 = $s$3;$wcs$5 = $wcs$4; - } - break; - } - case 120: case 88: case 112: { - $base$0 = 16; - label = 134; - break; - } - case 111: { - $base$0 = 8; - label = 134; - break; - } - case 117: case 100: { - $base$0 = 10; - label = 134; - break; - } - case 105: { - $base$0 = 0; - label = 134; - break; - } - case 71: case 103: case 70: case 102: case 69: case 101: case 65: case 97: { - $310 = (+___floatscan($f,$$size$0,0)); - $311 = HEAP32[$9>>2]|0; - $312 = HEAP32[$7>>2]|0; - $313 = HEAP32[$10>>2]|0; - $314 = $312; - $315 = $313; - $316 = (($315) - ($314))|0; - $317 = ($311|0)==($316|0); - if ($317) { - $alloc$2 = $alloc$0;$matches$2 = $matches$0104;$s$8 = $s$1;$wcs$9 = $wcs$1; - break L6; - } - $318 = ($dest$0|0)==(0|0); - if ($318) { - $p$10 = $p$5;$s$4 = $s$1;$wcs$5 = $wcs$1; - } else { - switch ($$size$0|0) { - case 0: { - $319 = $310; - HEAPF32[$dest$0>>2] = $319; - $p$10 = $p$5;$s$4 = $s$1;$wcs$5 = $wcs$1; - break L67; - break; - } - case 1: { - HEAPF64[$dest$0>>3] = $310; - $p$10 = $p$5;$s$4 = $s$1;$wcs$5 = $wcs$1; - break L67; - break; - } - case 2: { - HEAPF64[$dest$0>>3] = $310; - $p$10 = $p$5;$s$4 = $s$1;$wcs$5 = $wcs$1; - break L67; - break; - } - default: { - $p$10 = $p$5;$s$4 = $s$1;$wcs$5 = $wcs$1; - break L67; - } - } - } - break; - } - default: { - $p$10 = $p$5;$s$4 = $s$1;$wcs$5 = $wcs$1; - } - } - } while(0); - L168: do { - if ((label|0) == 134) { - label = 0; - $291 = (___intscan($f,$base$0,0,-1,-1)|0); - $292 = tempRet0; - $293 = HEAP32[$9>>2]|0; - $294 = HEAP32[$7>>2]|0; - $295 = HEAP32[$10>>2]|0; - $296 = $294; - $297 = $295; - $298 = (($297) - ($296))|0; - $299 = ($293|0)==($298|0); - if ($299) { - $alloc$2 = $alloc$0;$matches$2 = $matches$0104;$s$8 = $s$1;$wcs$9 = $wcs$1; - break L6; - } - $300 = ($$|0)==(112); - $301 = ($dest$0|0)!=(0|0); - $or$cond3 = $301 & $300; - if ($or$cond3) { - $302 = $291; - HEAP32[$dest$0>>2] = $302; - $p$10 = $p$5;$s$4 = $s$1;$wcs$5 = $wcs$1; - break; - } - $303 = ($dest$0|0)==(0|0); - if ($303) { - $p$10 = $p$5;$s$4 = $s$1;$wcs$5 = $wcs$1; - } else { - switch ($$size$0|0) { - case -2: { - $304 = $291&255; - HEAP8[$dest$0>>0] = $304; - $p$10 = $p$5;$s$4 = $s$1;$wcs$5 = $wcs$1; - break L168; - break; - } - case -1: { - $305 = $291&65535; - HEAP16[$dest$0>>1] = $305; - $p$10 = $p$5;$s$4 = $s$1;$wcs$5 = $wcs$1; - break L168; - break; - } - case 0: { - HEAP32[$dest$0>>2] = $291; - $p$10 = $p$5;$s$4 = $s$1;$wcs$5 = $wcs$1; - break L168; - break; - } - case 1: { - HEAP32[$dest$0>>2] = $291; - $p$10 = $p$5;$s$4 = $s$1;$wcs$5 = $wcs$1; - break L168; - break; - } - case 3: { - $306 = $dest$0; - $307 = $306; - HEAP32[$307>>2] = $291; - $308 = (($306) + 4)|0; - $309 = $308; - HEAP32[$309>>2] = $292; - $p$10 = $p$5;$s$4 = $s$1;$wcs$5 = $wcs$1; - break L168; - break; - } - default: { - $p$10 = $p$5;$s$4 = $s$1;$wcs$5 = $wcs$1; - break L168; - } - } - } - } - } while(0); - $320 = HEAP32[$9>>2]|0; - $321 = HEAP32[$7>>2]|0; - $322 = HEAP32[$10>>2]|0; - $323 = $321; - $324 = $322; - $325 = (($320) + ($pos$1))|0; - $326 = (($325) + ($323))|0; - $327 = (($326) - ($324))|0; - $not$ = ($dest$0|0)!=(0|0); - $328 = $not$&1; - $matches$0$ = (($328) + ($matches$0104))|0; - $matches$1 = $matches$0$;$p$11 = $p$10;$pos$2 = $327;$s$5 = $s$4;$wcs$6 = $wcs$5; - break L8; - } - } while(0); - $50 = $47&1; - $51 = (($p$0109) + ($50)|0); - ___shlim($f,0); - $52 = HEAP32[$7>>2]|0; - $53 = HEAP32[$8>>2]|0; - $54 = ($52>>>0)<($53>>>0); - if ($54) { - $55 = ((($52)) + 1|0); - HEAP32[$7>>2] = $55; - $56 = HEAP8[$52>>0]|0; - $57 = $56&255; - $61 = $57; - } else { - $58 = (___shgetc($f)|0); - $61 = $58; - } - $59 = HEAP8[$51>>0]|0; - $60 = $59&255; - $62 = ($61|0)==($60|0); - if (!($62)) { - $$lcssa384 = $61;$matches$0104$lcssa = $matches$0104;$s$0107$lcssa = $s$0107;$wcs$0103$lcssa = $wcs$0103; - label = 21; - break L6; - } - $69 = (($pos$0108) + 1)|0; - $matches$1 = $matches$0104;$p$11 = $51;$pos$2 = $69;$s$5 = $s$0107;$wcs$6 = $wcs$0103; - } else { - $p$1 = $p$0109; - while(1) { - $20 = ((($p$1)) + 1|0); - $21 = HEAP8[$20>>0]|0; - $22 = $21&255; - $23 = (_isspace($22)|0); - $24 = ($23|0)==(0); - if ($24) { - $p$1$lcssa = $p$1; - break; - } else { - $p$1 = $20; - } - } - ___shlim($f,0); - while(1) { - $25 = HEAP32[$7>>2]|0; - $26 = HEAP32[$8>>2]|0; - $27 = ($25>>>0)<($26>>>0); - if ($27) { - $28 = ((($25)) + 1|0); - HEAP32[$7>>2] = $28; - $29 = HEAP8[$25>>0]|0; - $30 = $29&255; - $32 = $30; - } else { - $31 = (___shgetc($f)|0); - $32 = $31; - } - $33 = (_isspace($32)|0); - $34 = ($33|0)==(0); - if ($34) { - break; - } - } - $35 = HEAP32[$8>>2]|0; - $36 = ($35|0)==(0|0); - $$pre = HEAP32[$7>>2]|0; - if ($36) { - $40 = $$pre; - } else { - $37 = ((($$pre)) + -1|0); - HEAP32[$7>>2] = $37; - $40 = $37; - } - $38 = HEAP32[$9>>2]|0; - $39 = HEAP32[$10>>2]|0; - $41 = $40; - $42 = $39; - $43 = (($38) + ($pos$0108))|0; - $44 = (($43) + ($41))|0; - $45 = (($44) - ($42))|0; - $matches$1 = $matches$0104;$p$11 = $p$1$lcssa;$pos$2 = $45;$s$5 = $s$0107;$wcs$6 = $wcs$0103; - } - } while(0); - $329 = ((($p$11)) + 1|0); - $330 = HEAP8[$329>>0]|0; - $331 = ($330<<24>>24)==(0); - if ($331) { - $matches$3 = $matches$1; - break L4; - } else { - $17 = $330;$matches$0104 = $matches$1;$p$0109 = $329;$pos$0108 = $pos$2;$s$0107 = $s$5;$wcs$0103 = $wcs$6; - } - } - if ((label|0) == 21) { - $63 = HEAP32[$8>>2]|0; - $64 = ($63|0)==(0|0); - if (!($64)) { - $65 = HEAP32[$7>>2]|0; - $66 = ((($65)) + -1|0); - HEAP32[$7>>2] = $66; - } - $67 = ($$lcssa384|0)>(-1); - $68 = ($matches$0104$lcssa|0)!=(0); - $or$cond5 = $68 | $67; - if ($or$cond5) { - $matches$3 = $matches$0104$lcssa; - break; - } else { - $alloc$1 = 0;$s$7 = $s$0107$lcssa;$wcs$8 = $wcs$0103$lcssa; - label = 153; - } - } - else if ((label|0) == 152) { - $$old4 = ($matches$0104376|0)==(0); - if ($$old4) { - $alloc$1 = $alloc$0400;$s$7 = $s$6;$wcs$8 = $wcs$7; - label = 153; - } else { - $alloc$2 = $alloc$0400;$matches$2 = $matches$0104376;$s$8 = $s$6;$wcs$9 = $wcs$7; - } - } - if ((label|0) == 153) { - $alloc$2 = $alloc$1;$matches$2 = -1;$s$8 = $s$7;$wcs$9 = $wcs$8; - } - $332 = ($alloc$2|0)==(0); - if ($332) { - $matches$3 = $matches$2; - } else { - _free($s$8); - _free($wcs$9); - $matches$3 = $matches$2; - } - } - } while(0); - $334 = ($333|0)==(0); - if (!($334)) { - ___unlockfile($f); - } - STACKTOP = sp;return ($matches$3|0); -} -function _vsnprintf($s,$n,$fmt,$ap) { - $s = $s|0; - $n = $n|0; - $fmt = $fmt|0; - $ap = $ap|0; - var $$$02 = 0, $$0 = 0, $$01 = 0, $$02 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0; - var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $b = 0, $f = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 128|0; - $b = sp + 112|0; - $f = sp; - dest=$f; src=8928; stop=dest+112|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $0 = (($n) + -1)|0; - $1 = ($0>>>0)>(2147483646); - if ($1) { - $2 = ($n|0)==(0); - if ($2) { - $$01 = $b;$$02 = 1; - label = 4; - } else { - $3 = (___errno_location()|0); - HEAP32[$3>>2] = 75; - $$0 = -1; + $4 = (___lockfile($0)|0); + $phitmp = ($4|0)==(0); + (___fseeko_unlocked($0,0,0)|0); + $5 = HEAP32[$0>>2]|0; + $6 = $5 & -33; + HEAP32[$0>>2] = $6; + if (!($phitmp)) { + ___unlockfile($0); } } else { - $$01 = $s;$$02 = $n; - label = 4; + (___fseeko_unlocked($0,0,0)|0); + $7 = HEAP32[$0>>2]|0; + $8 = $7 & -33; + HEAP32[$0>>2] = $8; } - if ((label|0) == 4) { - $4 = $$01; - $5 = (-2 - ($4))|0; - $6 = ($$02>>>0)>($5>>>0); - $$$02 = $6 ? $5 : $$02; - $7 = ((($f)) + 48|0); - HEAP32[$7>>2] = $$$02; - $8 = ((($f)) + 20|0); - HEAP32[$8>>2] = $$01; - $9 = ((($f)) + 44|0); - HEAP32[$9>>2] = $$01; - $10 = (($$01) + ($$$02)|0); - $11 = ((($f)) + 16|0); - HEAP32[$11>>2] = $10; - $12 = ((($f)) + 28|0); - HEAP32[$12>>2] = $10; - $13 = (_vfprintf($f,$fmt,$ap)|0); - $14 = ($$$02|0)==(0); - if ($14) { - $$0 = $13; - } else { - $15 = HEAP32[$8>>2]|0; - $16 = HEAP32[$11>>2]|0; - $17 = ($15|0)==($16|0); - $18 = $17 << 31 >> 31; - $19 = (($15) + ($18)|0); - HEAP8[$19>>0] = 0; - $$0 = $13; - } - } - STACKTOP = sp;return ($$0|0); -} -function _vsprintf($s,$fmt,$ap) { - $s = $s|0; - $fmt = $fmt|0; - $ap = $ap|0; - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_vsnprintf($s,2147483647,$fmt,$ap)|0); - return ($0|0); -} -function _vsscanf($s,$fmt,$ap) { - $s = $s|0; - $fmt = $fmt|0; - $ap = $ap|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $f = 0, dest = 0, label = 0, sp = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 112|0; - $f = sp; - dest=$f; stop=dest+112|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - $0 = ((($f)) + 32|0); - HEAP32[$0>>2] = 7; - $1 = ((($f)) + 44|0); - HEAP32[$1>>2] = $s; - $2 = ((($f)) + 76|0); - HEAP32[$2>>2] = -1; - $3 = ((($f)) + 84|0); - HEAP32[$3>>2] = $s; - $4 = (_vfscanf($f,$fmt,$ap)|0); - STACKTOP = sp;return ($4|0); -} -function ___fdopen($fd,$mode) { - $fd = $fd|0; - $mode = $mode|0; - var $$0 = 0, $$pre = 0, $$pre1 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; - var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; - var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $memchr = 0, $tio = 0, $vararg_buffer = 0, $vararg_buffer12 = 0, $vararg_buffer3 = 0, $vararg_buffer7 = 0, $vararg_ptr1 = 0, $vararg_ptr10 = 0, $vararg_ptr11 = 0, $vararg_ptr15 = 0, $vararg_ptr16 = 0, $vararg_ptr2 = 0, $vararg_ptr6 = 0, dest = 0, label = 0; - var sp = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 112|0; - $vararg_buffer12 = sp + 40|0; - $vararg_buffer7 = sp + 24|0; - $vararg_buffer3 = sp + 16|0; - $vararg_buffer = sp; - $tio = sp + 52|0; - $0 = HEAP8[$mode>>0]|0; - $1 = $0 << 24 >> 24; - $memchr = (_memchr(28295,$1,4)|0); - $2 = ($memchr|0)==(0|0); - if ($2) { - $3 = (___errno_location()|0); - HEAP32[$3>>2] = 22; - $$0 = 0; - } else { - $4 = (_malloc(1144)|0); - $5 = ($4|0)==(0|0); - if ($5) { - $$0 = 0; - } else { - dest=$4; stop=dest+112|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - $6 = (_strchr($mode,43)|0); - $7 = ($6|0)==(0|0); - if ($7) { - $8 = ($0<<24>>24)==(114); - $9 = $8 ? 8 : 4; - HEAP32[$4>>2] = $9; - } - $10 = (_strchr($mode,101)|0); - $11 = ($10|0)==(0|0); - if ($11) { - $12 = $0; - } else { - HEAP32[$vararg_buffer>>2] = $fd; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = 2; - $vararg_ptr2 = ((($vararg_buffer)) + 8|0); - HEAP32[$vararg_ptr2>>2] = 1; - (___syscall221(221,($vararg_buffer|0))|0); - $$pre = HEAP8[$mode>>0]|0; - $12 = $$pre; - } - $13 = ($12<<24>>24)==(97); - if ($13) { - HEAP32[$vararg_buffer3>>2] = $fd; - $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); - HEAP32[$vararg_ptr6>>2] = 3; - $14 = (___syscall221(221,($vararg_buffer3|0))|0); - $15 = $14 & 1024; - $16 = ($15|0)==(0); - if ($16) { - $17 = $14 | 1024; - HEAP32[$vararg_buffer7>>2] = $fd; - $vararg_ptr10 = ((($vararg_buffer7)) + 4|0); - HEAP32[$vararg_ptr10>>2] = 4; - $vararg_ptr11 = ((($vararg_buffer7)) + 8|0); - HEAP32[$vararg_ptr11>>2] = $17; - (___syscall221(221,($vararg_buffer7|0))|0); - } - $18 = HEAP32[$4>>2]|0; - $19 = $18 | 128; - HEAP32[$4>>2] = $19; - $26 = $19; - } else { - $$pre1 = HEAP32[$4>>2]|0; - $26 = $$pre1; - } - $20 = ((($4)) + 60|0); - HEAP32[$20>>2] = $fd; - $21 = ((($4)) + 120|0); - $22 = ((($4)) + 44|0); - HEAP32[$22>>2] = $21; - $23 = ((($4)) + 48|0); - HEAP32[$23>>2] = 1024; - $24 = ((($4)) + 75|0); - HEAP8[$24>>0] = -1; - $25 = $26 & 8; - $27 = ($25|0)==(0); - if ($27) { - HEAP32[$vararg_buffer12>>2] = $fd; - $vararg_ptr15 = ((($vararg_buffer12)) + 4|0); - HEAP32[$vararg_ptr15>>2] = 21505; - $vararg_ptr16 = ((($vararg_buffer12)) + 8|0); - HEAP32[$vararg_ptr16>>2] = $tio; - $28 = (___syscall54(54,($vararg_buffer12|0))|0); - $29 = ($28|0)==(0); - if ($29) { - HEAP8[$24>>0] = 10; - } - } - $30 = ((($4)) + 32|0); - HEAP32[$30>>2] = 8; - $31 = ((($4)) + 36|0); - HEAP32[$31>>2] = 9; - $32 = ((($4)) + 40|0); - HEAP32[$32>>2] = 4; - $33 = ((($4)) + 12|0); - HEAP32[$33>>2] = 2; - $34 = HEAP32[(8636)>>2]|0; - $35 = ($34|0)==(0); - if ($35) { - $36 = ((($4)) + 76|0); - HEAP32[$36>>2] = -1; - } - ___lock(((8660)|0)); - $37 = HEAP32[(8656)>>2]|0; - $38 = ((($4)) + 56|0); - HEAP32[$38>>2] = $37; - $39 = ($37|0)==(0); - if (!($39)) { - $40 = $37; - $41 = ((($40)) + 52|0); - HEAP32[$41>>2] = $4; - } - HEAP32[(8656)>>2] = $4; - ___unlock(((8660)|0)); - $$0 = $4; - } - } - STACKTOP = sp;return ($$0|0); -} -function ___fmodeflags($mode) { - $mode = $mode|0; - var $$ = 0, $$flags$4 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $flags$0 = 0, $flags$0$ = 0, $flags$2 = 0; - var $flags$2$ = 0, $flags$4 = 0, $not$ = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_strchr($mode,43)|0); - $1 = ($0|0)==(0|0); - $2 = HEAP8[$mode>>0]|0; - $not$ = ($2<<24>>24)!=(114); - $$ = $not$&1; - $flags$0 = $1 ? $$ : 2; - $3 = (_strchr($mode,120)|0); - $4 = ($3|0)==(0|0); - $5 = $flags$0 | 128; - $flags$0$ = $4 ? $flags$0 : $5; - $6 = (_strchr($mode,101)|0); - $7 = ($6|0)==(0|0); - $8 = $flags$0$ | 524288; - $flags$2 = $7 ? $flags$0$ : $8; - $9 = ($2<<24>>24)==(114); - $10 = $flags$2 | 64; - $flags$2$ = $9 ? $flags$2 : $10; - $11 = ($2<<24>>24)==(119); - $12 = $flags$2$ | 512; - $flags$4 = $11 ? $12 : $flags$2$; - $13 = ($2<<24>>24)==(97); - $14 = $flags$4 | 1024; - $$flags$4 = $13 ? $14 : $flags$4; - return ($$flags$4|0); -} -function ___lockfile($f) { - $f = $f|0; - var label = 0, sp = 0; - sp = STACKTOP; - return 0; -} -function ___unlockfile($f) { - $f = $f|0; - var label = 0, sp = 0; - sp = STACKTOP; return; } -function ___overflow($f,$_c) { - $f = $f|0; - $_c = $_c|0; - var $$0 = 0, $$pre = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0; - var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $c = 0, label = 0, sp = 0; +function _vprintf($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $c = sp; - $0 = $_c&255; - HEAP8[$c>>0] = $0; - $1 = ((($f)) + 16|0); - $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)==(0|0); - if ($3) { - $4 = (___towrite($f)|0); - $5 = ($4|0)==(0); - if ($5) { - $$pre = HEAP32[$1>>2]|0; - $9 = $$pre; - label = 4; - } else { - $$0 = -1; - } - } else { - $9 = $2; - label = 4; - } - do { - if ((label|0) == 4) { - $6 = ((($f)) + 20|0); - $7 = HEAP32[$6>>2]|0; - $8 = ($7>>>0)<($9>>>0); - if ($8) { - $10 = $_c & 255; - $11 = ((($f)) + 75|0); - $12 = HEAP8[$11>>0]|0; - $13 = $12 << 24 >> 24; - $14 = ($10|0)==($13|0); - if (!($14)) { - $15 = ((($7)) + 1|0); - HEAP32[$6>>2] = $15; - HEAP8[$7>>0] = $0; - $$0 = $10; - break; - } - } - $16 = ((($f)) + 36|0); - $17 = HEAP32[$16>>2]|0; - $18 = (FUNCTION_TABLE_iiii[$17 & 15]($f,$c,1)|0); - $19 = ($18|0)==(1); - if ($19) { - $20 = HEAP8[$c>>0]|0; - $21 = $20&255; - $$0 = $21; - } else { - $$0 = -1; - } - } - } while(0); - STACKTOP = sp;return ($$0|0); + $2 = HEAP32[1343]|0; + $3 = (_vfprintf($2,$0,$1)|0); + return ($3|0); } -function ___stdio_close($f) { - $f = $f|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $vararg_buffer = 0, label = 0, sp = 0; +function _strcspn($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$01824 = 0, $$019$sink = 0, $$01922 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; + var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $div = 0; + var $div20 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $vararg_buffer = sp; - $0 = ((($f)) + 60|0); - $1 = HEAP32[$0>>2]|0; - HEAP32[$vararg_buffer>>2] = $1; - $2 = (___syscall6(6,($vararg_buffer|0))|0); - $3 = (___syscall_ret($2)|0); - STACKTOP = sp;return ($3|0); -} -function ___stdio_read($f,$buf,$len) { - $f = $f|0; - $buf = $buf|0; - $len = $len|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $5 = 0, $6 = 0, $7 = 0; - var $8 = 0, $9 = 0, $cnt$0 = 0, $iov = 0, $vararg_buffer = 0, $vararg_buffer3 = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr6 = 0, $vararg_ptr7 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $vararg_buffer3 = sp + 16|0; - $vararg_buffer = sp; - $iov = sp + 32|0; - HEAP32[$iov>>2] = $buf; - $0 = ((($iov)) + 4|0); - $1 = ((($f)) + 48|0); - $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)!=(0); - $4 = $3&1; - $5 = (($len) - ($4))|0; - HEAP32[$0>>2] = $5; - $6 = ((($iov)) + 8|0); - $7 = ((($f)) + 44|0); - $8 = HEAP32[$7>>2]|0; - HEAP32[$6>>2] = $8; - $9 = ((($iov)) + 12|0); - HEAP32[$9>>2] = $2; - $10 = HEAP32[8632>>2]|0; - $11 = ($10|0)==(0|0); - if ($11) { - $16 = ((($f)) + 60|0); - $17 = HEAP32[$16>>2]|0; - HEAP32[$vararg_buffer3>>2] = $17; - $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); - HEAP32[$vararg_ptr6>>2] = $iov; - $vararg_ptr7 = ((($vararg_buffer3)) + 8|0); - HEAP32[$vararg_ptr7>>2] = 2; - $18 = (___syscall145(145,($vararg_buffer3|0))|0); - $19 = (___syscall_ret($18)|0); - $cnt$0 = $19; - } else { - _pthread_cleanup_push((27|0),($f|0)); - $12 = ((($f)) + 60|0); - $13 = HEAP32[$12>>2]|0; - HEAP32[$vararg_buffer>>2] = $13; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = $iov; - $vararg_ptr2 = ((($vararg_buffer)) + 8|0); - HEAP32[$vararg_ptr2>>2] = 2; - $14 = (___syscall145(145,($vararg_buffer|0))|0); - $15 = (___syscall_ret($14)|0); - _pthread_cleanup_pop(0); - $cnt$0 = $15; - } - $20 = ($cnt$0|0)<(1); - if ($20) { - $21 = $cnt$0 & 48; - $22 = $21 ^ 16; - $23 = HEAP32[$f>>2]|0; - $24 = $23 | $22; - HEAP32[$f>>2] = $24; - $25 = ((($f)) + 8|0); - HEAP32[$25>>2] = 0; - $26 = ((($f)) + 4|0); - HEAP32[$26>>2] = 0; - $$0 = $cnt$0; - } else { - $27 = HEAP32[$0>>2]|0; - $28 = ($cnt$0>>>0)>($27>>>0); - if ($28) { - $29 = (($cnt$0) - ($27))|0; - $30 = HEAP32[$7>>2]|0; - $31 = ((($f)) + 4|0); - HEAP32[$31>>2] = $30; - $32 = $30; - $33 = (($32) + ($29)|0); - $34 = ((($f)) + 8|0); - HEAP32[$34>>2] = $33; - $35 = HEAP32[$1>>2]|0; - $36 = ($35|0)==(0); - if ($36) { - $$0 = $len; - } else { - $37 = ((($32)) + 1|0); - HEAP32[$31>>2] = $37; - $38 = HEAP8[$32>>0]|0; - $39 = (($len) + -1)|0; - $40 = (($buf) + ($39)|0); - HEAP8[$40>>0] = $38; - $$0 = $len; - } - } else { - $$0 = $cnt$0; - } - } - STACKTOP = sp;return ($$0|0); -} -function ___stdio_seek($f,$off,$whence) { - $f = $f|0; - $off = $off|0; - $whence = $whence|0; - var $$pre = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $ret = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, $vararg_ptr4 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $vararg_buffer = sp; - $ret = sp + 20|0; - $0 = ((($f)) + 60|0); - $1 = HEAP32[$0>>2]|0; - HEAP32[$vararg_buffer>>2] = $1; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = 0; - $vararg_ptr2 = ((($vararg_buffer)) + 8|0); - HEAP32[$vararg_ptr2>>2] = $off; - $vararg_ptr3 = ((($vararg_buffer)) + 12|0); - HEAP32[$vararg_ptr3>>2] = $ret; - $vararg_ptr4 = ((($vararg_buffer)) + 16|0); - HEAP32[$vararg_ptr4>>2] = $whence; - $2 = (___syscall140(140,($vararg_buffer|0))|0); - $3 = (___syscall_ret($2)|0); - $4 = ($3|0)<(0); - if ($4) { - HEAP32[$ret>>2] = -1; - $5 = -1; - } else { - $$pre = HEAP32[$ret>>2]|0; - $5 = $$pre; - } - STACKTOP = sp;return ($5|0); -} -function ___stdio_write($f,$buf,$len) { - $f = $f|0; - $buf = $buf|0; - $len = $len|0; - var $$0 = 0, $$phi$trans$insert = 0, $$pre = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; - var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; - var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $cnt$0 = 0, $cnt$1 = 0, $iov$0 = 0, $iov$0$lcssa11 = 0, $iov$1 = 0, $iovcnt$0 = 0; - var $iovcnt$0$lcssa12 = 0, $iovcnt$1 = 0, $iovs = 0, $rem$0 = 0, $vararg_buffer = 0, $vararg_buffer3 = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr6 = 0, $vararg_ptr7 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $vararg_buffer3 = sp + 16|0; - $vararg_buffer = sp; - $iovs = sp + 32|0; - $0 = ((($f)) + 28|0); - $1 = HEAP32[$0>>2]|0; - HEAP32[$iovs>>2] = $1; - $2 = ((($iovs)) + 4|0); - $3 = ((($f)) + 20|0); - $4 = HEAP32[$3>>2]|0; - $5 = $4; - $6 = (($5) - ($1))|0; - HEAP32[$2>>2] = $6; - $7 = ((($iovs)) + 8|0); - HEAP32[$7>>2] = $buf; - $8 = ((($iovs)) + 12|0); - HEAP32[$8>>2] = $len; - $9 = (($6) + ($len))|0; - $10 = ((($f)) + 60|0); - $11 = ((($f)) + 44|0); - $iov$0 = $iovs;$iovcnt$0 = 2;$rem$0 = $9; - while(1) { - $12 = HEAP32[8632>>2]|0; - $13 = ($12|0)==(0|0); - if ($13) { - $17 = HEAP32[$10>>2]|0; - HEAP32[$vararg_buffer3>>2] = $17; - $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); - HEAP32[$vararg_ptr6>>2] = $iov$0; - $vararg_ptr7 = ((($vararg_buffer3)) + 8|0); - HEAP32[$vararg_ptr7>>2] = $iovcnt$0; - $18 = (___syscall146(146,($vararg_buffer3|0))|0); - $19 = (___syscall_ret($18)|0); - $cnt$0 = $19; - } else { - _pthread_cleanup_push((28|0),($f|0)); - $14 = HEAP32[$10>>2]|0; - HEAP32[$vararg_buffer>>2] = $14; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = $iov$0; - $vararg_ptr2 = ((($vararg_buffer)) + 8|0); - HEAP32[$vararg_ptr2>>2] = $iovcnt$0; - $15 = (___syscall146(146,($vararg_buffer|0))|0); - $16 = (___syscall_ret($15)|0); - _pthread_cleanup_pop(0); - $cnt$0 = $16; - } - $20 = ($rem$0|0)==($cnt$0|0); - if ($20) { - label = 6; - break; - } - $27 = ($cnt$0|0)<(0); - if ($27) { - $iov$0$lcssa11 = $iov$0;$iovcnt$0$lcssa12 = $iovcnt$0; - label = 8; - break; - } - $35 = (($rem$0) - ($cnt$0))|0; - $36 = ((($iov$0)) + 4|0); - $37 = HEAP32[$36>>2]|0; - $38 = ($cnt$0>>>0)>($37>>>0); - if ($38) { - $39 = HEAP32[$11>>2]|0; - HEAP32[$0>>2] = $39; - HEAP32[$3>>2] = $39; - $40 = (($cnt$0) - ($37))|0; - $41 = ((($iov$0)) + 8|0); - $42 = (($iovcnt$0) + -1)|0; - $$phi$trans$insert = ((($iov$0)) + 12|0); - $$pre = HEAP32[$$phi$trans$insert>>2]|0; - $50 = $$pre;$cnt$1 = $40;$iov$1 = $41;$iovcnt$1 = $42; - } else { - $43 = ($iovcnt$0|0)==(2); - if ($43) { - $44 = HEAP32[$0>>2]|0; - $45 = (($44) + ($cnt$0)|0); - HEAP32[$0>>2] = $45; - $50 = $37;$cnt$1 = $cnt$0;$iov$1 = $iov$0;$iovcnt$1 = 2; - } else { - $50 = $37;$cnt$1 = $cnt$0;$iov$1 = $iov$0;$iovcnt$1 = $iovcnt$0; - } - } - $46 = HEAP32[$iov$1>>2]|0; - $47 = (($46) + ($cnt$1)|0); - HEAP32[$iov$1>>2] = $47; - $48 = ((($iov$1)) + 4|0); - $49 = (($50) - ($cnt$1))|0; - HEAP32[$48>>2] = $49; - $iov$0 = $iov$1;$iovcnt$0 = $iovcnt$1;$rem$0 = $35; - } - if ((label|0) == 6) { - $21 = HEAP32[$11>>2]|0; - $22 = ((($f)) + 48|0); - $23 = HEAP32[$22>>2]|0; - $24 = (($21) + ($23)|0); - $25 = ((($f)) + 16|0); - HEAP32[$25>>2] = $24; - $26 = $21; - HEAP32[$0>>2] = $26; - HEAP32[$3>>2] = $26; - $$0 = $len; - } - else if ((label|0) == 8) { - $28 = ((($f)) + 16|0); - HEAP32[$28>>2] = 0; - HEAP32[$0>>2] = 0; - HEAP32[$3>>2] = 0; - $29 = HEAP32[$f>>2]|0; - $30 = $29 | 32; - HEAP32[$f>>2] = $30; - $31 = ($iovcnt$0$lcssa12|0)==(2); - if ($31) { - $$0 = 0; - } else { - $32 = ((($iov$0$lcssa11)) + 4|0); - $33 = HEAP32[$32>>2]|0; - $34 = (($len) - ($33))|0; - $$0 = $34; - } - } - STACKTOP = sp;return ($$0|0); -} -function ___stdout_write($f,$buf,$len) { - $f = $f|0; - $buf = $buf|0; - $len = $len|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $tio = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 80|0; - $vararg_buffer = sp; - $tio = sp + 12|0; - $0 = ((($f)) + 36|0); - HEAP32[$0>>2] = 9; - $1 = HEAP32[$f>>2]|0; - $2 = $1 & 64; - $3 = ($2|0)==(0); - if ($3) { - $4 = ((($f)) + 60|0); - $5 = HEAP32[$4>>2]|0; - HEAP32[$vararg_buffer>>2] = $5; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = 21505; - $vararg_ptr2 = ((($vararg_buffer)) + 8|0); - HEAP32[$vararg_ptr2>>2] = $tio; - $6 = (___syscall54(54,($vararg_buffer|0))|0); - $7 = ($6|0)==(0); - if (!($7)) { - $8 = ((($f)) + 75|0); - HEAP8[$8>>0] = -1; - } - } - $9 = (___stdio_write($f,$buf,$len)|0); - STACKTOP = sp;return ($9|0); -} -function ___string_read($f,$buf,$len) { - $f = $f|0; - $buf = $buf|0; - $len = $len|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $k$0 = 0, $k$0$len = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($f)) + 84|0); - $1 = HEAP32[$0>>2]|0; - $2 = (($len) + 256)|0; - $3 = (_memchr($1,0,$2)|0); - $4 = ($3|0)==(0|0); - $5 = $3; - $6 = $1; - $7 = (($5) - ($6))|0; - $k$0 = $4 ? $2 : $7; - $8 = ($k$0>>>0)<($len>>>0); - $k$0$len = $8 ? $k$0 : $len; - _memcpy(($buf|0),($1|0),($k$0$len|0))|0; - $9 = (($1) + ($k$0$len)|0); - $10 = ((($f)) + 4|0); - HEAP32[$10>>2] = $9; - $11 = (($1) + ($k$0)|0); - $12 = ((($f)) + 8|0); - HEAP32[$12>>2] = $11; - HEAP32[$0>>2] = $11; - return ($k$0$len|0); -} -function ___toread($f) { - $f = $f|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $3 = 0, $4 = 0; - var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($f)) + 74|0); - $1 = HEAP8[$0>>0]|0; - $2 = $1 << 24 >> 24; - $3 = (($2) + 255)|0; - $4 = $3 | $2; - $5 = $4&255; - HEAP8[$0>>0] = $5; - $6 = ((($f)) + 20|0); - $7 = HEAP32[$6>>2]|0; - $8 = ((($f)) + 44|0); - $9 = HEAP32[$8>>2]|0; - $10 = ($7>>>0)>($9>>>0); - if ($10) { - $11 = ((($f)) + 36|0); - $12 = HEAP32[$11>>2]|0; - (FUNCTION_TABLE_iiii[$12 & 15]($f,0,0)|0); - } - $13 = ((($f)) + 16|0); - HEAP32[$13>>2] = 0; - $14 = ((($f)) + 28|0); - HEAP32[$14>>2] = 0; - HEAP32[$6>>2] = 0; - $15 = HEAP32[$f>>2]|0; - $16 = $15 & 20; - $17 = ($16|0)==(0); - if ($17) { - $21 = HEAP32[$8>>2]|0; - $22 = ((($f)) + 8|0); - HEAP32[$22>>2] = $21; - $23 = ((($f)) + 4|0); - HEAP32[$23>>2] = $21; - $$0 = 0; - } else { - $18 = $15 & 4; - $19 = ($18|0)==(0); - if ($19) { - $$0 = -1; - } else { - $20 = $15 | 32; - HEAP32[$f>>2] = $20; - $$0 = -1; - } - } - return ($$0|0); -} -function ___towrite($f) { - $f = $f|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; - var $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($f)) + 74|0); - $1 = HEAP8[$0>>0]|0; - $2 = $1 << 24 >> 24; - $3 = (($2) + 255)|0; - $4 = $3 | $2; - $5 = $4&255; - HEAP8[$0>>0] = $5; - $6 = HEAP32[$f>>2]|0; - $7 = $6 & 8; - $8 = ($7|0)==(0); - if ($8) { - $10 = ((($f)) + 8|0); - HEAP32[$10>>2] = 0; - $11 = ((($f)) + 4|0); - HEAP32[$11>>2] = 0; - $12 = ((($f)) + 44|0); - $13 = HEAP32[$12>>2]|0; - $14 = ((($f)) + 28|0); - HEAP32[$14>>2] = $13; - $15 = ((($f)) + 20|0); - HEAP32[$15>>2] = $13; - $16 = $13; - $17 = ((($f)) + 48|0); - $18 = HEAP32[$17>>2]|0; - $19 = (($16) + ($18)|0); - $20 = ((($f)) + 16|0); - HEAP32[$20>>2] = $19; - $$0 = 0; - } else { - $9 = $6 | 32; - HEAP32[$f>>2] = $9; - $$0 = -1; - } - return ($$0|0); -} -function ___uflow($f) { - $f = $f|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $c = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $c = sp; - $0 = ((($f)) + 8|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)==(0|0); - if ($2) { - $3 = (___toread($f)|0); - $4 = ($3|0)==(0); + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $2 = sp; + $3 = HEAP8[$1>>0]|0; + $4 = ($3<<24>>24)==(0); + L1: do { if ($4) { label = 3; } else { - $$0 = -1; - } - } else { - label = 3; - } - if ((label|0) == 3) { - $5 = ((($f)) + 32|0); - $6 = HEAP32[$5>>2]|0; - $7 = (FUNCTION_TABLE_iiii[$6 & 15]($f,$c,1)|0); - $8 = ($7|0)==(1); - if ($8) { - $9 = HEAP8[$c>>0]|0; - $10 = $9&255; - $$0 = $10; - } else { - $$0 = -1; - } - } - STACKTOP = sp;return ($$0|0); -} -function _qsort($base,$nel,$width,$cmp) { - $base = $base|0; - $nel = $nel|0; - $width = $width|0; - $cmp = $cmp|0; - var $$0$i = 0, $$0$i30 = 0, $$02$i$i = 0, $$02$i3$i = 0, $$lcssa = 0, $$lcssa57 = 0, $$phi$trans$insert$i = 0, $$pre = 0, $$pre$i = 0, $$pre$i11 = 0, $$pre$i20 = 0, $$pre$i5 = 0, $$pre$i8 = 0, $$pre1$i = 0, $$pre1$i12 = 0, $$pre1$i27$pre = 0, $$pre1$i6 = 0, $$pre1$i9 = 0, $$sum = 0, $$sum2 = 0; - var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; - var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; - var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0; - var $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $8$phi = 0, $80 = 0, $81 = 0, $82 = 0; - var $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $head$0$lcssa = 0, $head$036 = 0; - var $head$1$be = 0, $head$153 = 0, $i$0 = 0, $lp = 0, $nTrailingZeros$03$i$i = 0, $nTrailingZeros$03$i2$i = 0, $nTrailingZeros$03$i2$i$lcssa = 0, $or$cond = 0, $or$cond48 = 0, $or$cond4852 = 0, $or$cond51 = 0, $p = 0, $pshift$0$lcssa = 0, $pshift$037 = 0, $pshift$1 = 0, $pshift$2$be = 0, $pshift$254 = 0, $sum = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 208|0; - $lp = sp + 8|0; - $p = sp; - $0 = Math_imul($width, $nel)|0; - $1 = $p; - $2 = $1; - HEAP32[$2>>2] = 1; - $3 = (($1) + 4)|0; - $4 = $3; - HEAP32[$4>>2] = 0; - $5 = ($0|0)==(0); - if (!($5)) { - $$sum = (($0) - ($width))|0; - $6 = ((($lp)) + 4|0); - HEAP32[$6>>2] = $width; - HEAP32[$lp>>2] = $width; - $10 = $width;$8 = $width;$i$0 = 2; - while(1) { - $7 = (($8) + ($width))|0; - $9 = (($7) + ($10))|0; - $11 = (($lp) + ($i$0<<2)|0); - HEAP32[$11>>2] = $9; - $12 = ($9>>>0)<($0>>>0); - $13 = (($i$0) + 1)|0; - if ($12) { - $8$phi = $10;$10 = $9;$i$0 = $13;$8 = $8$phi; + $5 = ((($1)) + 1|0); + $6 = HEAP8[$5>>0]|0; + $7 = ($6<<24>>24)==(0); + if ($7) { + label = 3; } else { - break; - } - } - $14 = (0 - ($width))|0; - $15 = (($base) + ($$sum)|0); - $16 = ($$sum|0)>(0); - $$phi$trans$insert$i = ((($p)) + 4|0); - if ($16) { - $17 = $15; - $19 = 1;$head$036 = $base;$pshift$037 = 1; - while(1) { - $18 = $19 & 3; - $20 = ($18|0)==(3); - do { - if ($20) { - _sift($head$036,$width,$cmp,$pshift$037,$lp); - $$pre$i = HEAP32[$p>>2]|0; - $$pre1$i = HEAP32[$$phi$trans$insert$i>>2]|0; - $21 = $$pre$i >>> 2; - $22 = $$pre1$i << 30; - $23 = $22 | $21; - HEAP32[$p>>2] = $23; - $24 = $$pre1$i >>> 2; - HEAP32[$$phi$trans$insert$i>>2] = $24; - $25 = (($pshift$037) + 2)|0; - $48 = $23;$pshift$1 = $25; - } else { - $26 = (($pshift$037) + -1)|0; - $27 = (($lp) + ($26<<2)|0); - $28 = HEAP32[$27>>2]|0; - $29 = $head$036; - $30 = (($17) - ($29))|0; - $31 = ($28>>>0)<($30>>>0); - if ($31) { - _sift($head$036,$width,$cmp,$pshift$037,$lp); - } else { - _trinkle($head$036,$width,$cmp,$p,$pshift$037,0,$lp); - } - $32 = ($pshift$037|0)==(1); - if ($32) { - $$pre$i5 = HEAP32[$$phi$trans$insert$i>>2]|0; - $$pre1$i6 = HEAP32[$p>>2]|0; - $33 = $$pre$i5 << 1; - $34 = $$pre1$i6 >>> 31; - $35 = $34 | $33; - HEAP32[$$phi$trans$insert$i>>2] = $35; - $36 = $$pre1$i6 << 1; - HEAP32[$p>>2] = $36; - $48 = $36;$pshift$1 = 0; - break; - } - $37 = ($26>>>0)>(31); - if ($37) { - $38 = (($pshift$037) + -33)|0; - $39 = HEAP32[$p>>2]|0; - HEAP32[$$phi$trans$insert$i>>2] = $39; - HEAP32[$p>>2] = 0; - $$0$i = $38;$41 = $39;$44 = 0; - } else { - $$pre$i11 = HEAP32[$$phi$trans$insert$i>>2]|0; - $$pre1$i12 = HEAP32[$p>>2]|0; - $$0$i = $26;$41 = $$pre$i11;$44 = $$pre1$i12; - } - $40 = $41 << $$0$i; - $42 = (32 - ($$0$i))|0; - $43 = $44 >>> $42; - $45 = $43 | $40; - HEAP32[$$phi$trans$insert$i>>2] = $45; - $46 = $44 << $$0$i; - HEAP32[$p>>2] = $46; - $48 = $46;$pshift$1 = 1; - } - } while(0); - $47 = $48 | 1; - HEAP32[$p>>2] = $47; - $49 = (($head$036) + ($width)|0); - $50 = ($49>>>0)<($15>>>0); - if ($50) { - $19 = $47;$head$036 = $49;$pshift$037 = $pshift$1; - } else { - $head$0$lcssa = $49;$pshift$0$lcssa = $pshift$1; - break; - } - } - } else { - $head$0$lcssa = $base;$pshift$0$lcssa = 1; - } - _trinkle($head$0$lcssa,$width,$cmp,$p,$pshift$0$lcssa,0,$lp); - $51 = ((($p)) + 4|0); - $52 = ($pshift$0$lcssa|0)==(1); - $53 = HEAP32[$p>>2]|0; - $54 = ($53|0)==(1); - $or$cond51 = $52 & $54; - $55 = HEAP32[$51>>2]|0; - $56 = ($55|0)==(0); - $or$cond4852 = $or$cond51 & $56; - if (!($or$cond4852)) { - $59 = $53;$head$153 = $head$0$lcssa;$pshift$254 = $pshift$0$lcssa; - while(1) { - $57 = ($pshift$254|0)<(2); - if ($57) { - $58 = (($59) + -1)|0; - $60 = ($58|0)==(0); - do { - if ($60) { - $81 = 32; - label = 30; - } else { - $61 = $58 & 1; - $62 = ($61|0)==(0); - if ($62) { - $$02$i$i = $58;$nTrailingZeros$03$i$i = 0; - while(1) { - $63 = (($nTrailingZeros$03$i$i) + 1)|0; - $64 = $$02$i$i >>> 1; - $65 = $64 & 1; - $66 = ($65|0)==(0); - if ($66) { - $$02$i$i = $64;$nTrailingZeros$03$i$i = $63; - } else { - $$lcssa = $63; - break; - } - } - $67 = ($$lcssa|0)==(0); - if ($67) { - label = 24; - } else { - $78 = $$lcssa; - } - } else { - label = 24; - } - if ((label|0) == 24) { - label = 0; - $68 = HEAP32[$$phi$trans$insert$i>>2]|0; - $69 = ($68|0)==(0); - if ($69) { - $81 = 64; - label = 30; - break; - } - $70 = $68 & 1; - $71 = ($70|0)==(0); - if ($71) { - $$02$i3$i = $68;$nTrailingZeros$03$i2$i = 0; - } else { - $$0$i30 = 0;$84 = $59;$87 = $68;$91 = 0; - break; - } - while(1) { - $72 = (($nTrailingZeros$03$i2$i) + 1)|0; - $73 = $$02$i3$i >>> 1; - $74 = $73 & 1; - $75 = ($74|0)==(0); - if ($75) { - $$02$i3$i = $73;$nTrailingZeros$03$i2$i = $72; - } else { - $$lcssa57 = $72;$nTrailingZeros$03$i2$i$lcssa = $nTrailingZeros$03$i2$i; - break; - } - } - $76 = (($nTrailingZeros$03$i2$i$lcssa) + 33)|0; - $77 = ($$lcssa57|0)==(0); - if ($77) { - $$0$i30 = 0;$84 = $59;$87 = $68;$91 = 0; - break; - } else { - $78 = $76; - } - } - $79 = ($78>>>0)>(31); - if ($79) { - $81 = $78; - label = 30; - } else { - $$pre1$i27$pre = HEAP32[$$phi$trans$insert$i>>2]|0; - $$0$i30 = $78;$84 = $59;$87 = $$pre1$i27$pre;$91 = $78; - } - } - } while(0); - if ((label|0) == 30) { - label = 0; - $80 = (($81) + -32)|0; - $82 = HEAP32[$$phi$trans$insert$i>>2]|0; - HEAP32[$p>>2] = $82; - HEAP32[$$phi$trans$insert$i>>2] = 0; - $$0$i30 = $80;$84 = $82;$87 = 0;$91 = $81; - } - $83 = $84 >>> $$0$i30; - $85 = (32 - ($$0$i30))|0; - $86 = $87 << $85; - $88 = $86 | $83; - HEAP32[$p>>2] = $88; - $89 = $87 >>> $$0$i30; - HEAP32[$$phi$trans$insert$i>>2] = $89; - $90 = (($91) + ($pshift$254))|0; - $$pre = (($head$153) + ($14)|0); - $head$1$be = $$pre;$pshift$2$be = $90; - } else { - $$pre$i20 = HEAP32[$$phi$trans$insert$i>>2]|0; - $92 = $$pre$i20 << 2; - $93 = $59 >>> 30; - $94 = $93 | $92; - $95 = (($pshift$254) + -2)|0; - $96 = $59 << 1; - $97 = $96 & 2147483646; - $98 = $93 << 31; - $99 = $97 | $98; - $100 = $99 ^ 3; - HEAP32[$p>>2] = $100; - $101 = $94 >>> 1; - HEAP32[$$phi$trans$insert$i>>2] = $101; - $102 = (($lp) + ($95<<2)|0); - $103 = HEAP32[$102>>2]|0; - $sum = (($103) + ($width))|0; - $$sum2 = (0 - ($sum))|0; - $104 = (($head$153) + ($$sum2)|0); - $105 = (($pshift$254) + -1)|0; - _trinkle($104,$width,$cmp,$p,$105,1,$lp); - $$pre$i8 = HEAP32[$$phi$trans$insert$i>>2]|0; - $$pre1$i9 = HEAP32[$p>>2]|0; - $106 = $$pre$i8 << 1; - $107 = $$pre1$i9 >>> 31; - $108 = $107 | $106; - HEAP32[$$phi$trans$insert$i>>2] = $108; - $109 = $$pre1$i9 << 1; - $110 = $109 | 1; - HEAP32[$p>>2] = $110; - $111 = (($head$153) + ($14)|0); - _trinkle($111,$width,$cmp,$p,$95,1,$lp); - $head$1$be = $111;$pshift$2$be = $95; - } - $112 = ($pshift$2$be|0)==(1); - $113 = HEAP32[$p>>2]|0; - $114 = ($113|0)==(1); - $or$cond = $112 & $114; - $115 = HEAP32[$51>>2]|0; - $116 = ($115|0)==(0); - $or$cond48 = $or$cond & $116; - if ($or$cond48) { - break; - } else { - $59 = $113;$head$153 = $head$1$be;$pshift$254 = $pshift$2$be; - } - } - } - } - STACKTOP = sp;return; -} -function _memchr($src,$c,$n) { - $src = $src|0; - $c = $c|0; - $n = $n|0; - var $$0$lcssa = 0, $$0$lcssa44 = 0, $$019 = 0, $$1$lcssa = 0, $$110 = 0, $$110$lcssa = 0, $$24 = 0, $$3 = 0, $$lcssa = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0; - var $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0; - var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond18 = 0, $s$0$lcssa = 0, $s$0$lcssa43 = 0, $s$020 = 0, $s$15 = 0, $s$2 = 0, $w$0$lcssa = 0, $w$011 = 0, $w$011$lcssa = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = $c & 255; - $1 = $src; - $2 = $1 & 3; - $3 = ($2|0)!=(0); - $4 = ($n|0)!=(0); - $or$cond18 = $4 & $3; - L1: do { - if ($or$cond18) { - $5 = $c&255; - $$019 = $n;$s$020 = $src; - while(1) { - $6 = HEAP8[$s$020>>0]|0; - $7 = ($6<<24>>24)==($5<<24>>24); - if ($7) { - $$0$lcssa44 = $$019;$s$0$lcssa43 = $s$020; - label = 6; - break L1; - } - $8 = ((($s$020)) + 1|0); - $9 = (($$019) + -1)|0; - $10 = $8; - $11 = $10 & 3; - $12 = ($11|0)!=(0); - $13 = ($9|0)!=(0); - $or$cond = $13 & $12; - if ($or$cond) { - $$019 = $9;$s$020 = $8; - } else { - $$0$lcssa = $9;$$lcssa = $13;$s$0$lcssa = $8; - label = 5; - break; - } - } - } else { - $$0$lcssa = $n;$$lcssa = $4;$s$0$lcssa = $src; - label = 5; - } - } while(0); - if ((label|0) == 5) { - if ($$lcssa) { - $$0$lcssa44 = $$0$lcssa;$s$0$lcssa43 = $s$0$lcssa; - label = 6; - } else { - $$3 = 0;$s$2 = $s$0$lcssa; - } - } - L8: do { - if ((label|0) == 6) { - $14 = HEAP8[$s$0$lcssa43>>0]|0; - $15 = $c&255; - $16 = ($14<<24>>24)==($15<<24>>24); - if ($16) { - $$3 = $$0$lcssa44;$s$2 = $s$0$lcssa43; - } else { - $17 = Math_imul($0, 16843009)|0; - $18 = ($$0$lcssa44>>>0)>(3); - L11: do { - if ($18) { - $$110 = $$0$lcssa44;$w$011 = $s$0$lcssa43; - while(1) { - $19 = HEAP32[$w$011>>2]|0; - $20 = $19 ^ $17; - $21 = (($20) + -16843009)|0; - $22 = $20 & -2139062144; - $23 = $22 ^ -2139062144; - $24 = $23 & $21; - $25 = ($24|0)==(0); - if (!($25)) { - $$110$lcssa = $$110;$w$011$lcssa = $w$011; - break; - } - $26 = ((($w$011)) + 4|0); - $27 = (($$110) + -4)|0; - $28 = ($27>>>0)>(3); - if ($28) { - $$110 = $27;$w$011 = $26; - } else { - $$1$lcssa = $27;$w$0$lcssa = $26; - label = 11; - break L11; - } - } - $$24 = $$110$lcssa;$s$15 = $w$011$lcssa; - } else { - $$1$lcssa = $$0$lcssa44;$w$0$lcssa = $s$0$lcssa43; - label = 11; - } - } while(0); - if ((label|0) == 11) { - $29 = ($$1$lcssa|0)==(0); - if ($29) { - $$3 = 0;$s$2 = $w$0$lcssa; - break; - } else { - $$24 = $$1$lcssa;$s$15 = $w$0$lcssa; - } - } + ;HEAP32[$2>>2]=0|0;HEAP32[$2+4>>2]=0|0;HEAP32[$2+8>>2]=0|0;HEAP32[$2+12>>2]=0|0;HEAP32[$2+16>>2]=0|0;HEAP32[$2+20>>2]=0|0;HEAP32[$2+24>>2]=0|0;HEAP32[$2+28>>2]=0|0; + $$01824 = $1;$13 = $3; while(1) { - $30 = HEAP8[$s$15>>0]|0; - $31 = ($30<<24>>24)==($15<<24>>24); - if ($31) { - $$3 = $$24;$s$2 = $s$15; - break L8; - } - $32 = ((($s$15)) + 1|0); - $33 = (($$24) + -1)|0; - $34 = ($33|0)==(0); - if ($34) { - $$3 = 0;$s$2 = $32; + $12 = $13 & 31; + $14 = $12&255; + $15 = 1 << $14; + $div20 = ($13&255) >>> 5; + $16 = $div20&255; + $17 = (($2) + ($16<<2)|0); + $18 = HEAP32[$17>>2]|0; + $19 = $18 | $15; + HEAP32[$17>>2] = $19; + $20 = ((($$01824)) + 1|0); + $21 = HEAP8[$20>>0]|0; + $22 = ($21<<24>>24)==(0); + if ($22) { break; } else { - $$24 = $33;$s$15 = $32; + $$01824 = $20;$13 = $21; } } - } - } - } while(0); - $35 = ($$3|0)!=(0); - $36 = $35 ? $s$2 : 0; - return ($36|0); -} -function _memcmp($vl,$vr,$n) { - $vl = $vl|0; - $vr = $vr|0; - $n = $n|0; - var $$03 = 0, $$lcssa = 0, $$lcssa19 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $l$04 = 0, $r$05 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ($n|0)==(0); - L1: do { - if ($0) { - $11 = 0; - } else { - $$03 = $n;$l$04 = $vl;$r$05 = $vr; - while(1) { - $1 = HEAP8[$l$04>>0]|0; - $2 = HEAP8[$r$05>>0]|0; - $3 = ($1<<24>>24)==($2<<24>>24); - if (!($3)) { - $$lcssa = $1;$$lcssa19 = $2; - break; - } - $4 = (($$03) + -1)|0; - $5 = ((($l$04)) + 1|0); - $6 = ((($r$05)) + 1|0); - $7 = ($4|0)==(0); - if ($7) { - $11 = 0; - break L1; - } else { - $$03 = $4;$l$04 = $5;$r$05 = $6; - } - } - $8 = $$lcssa&255; - $9 = $$lcssa19&255; - $10 = (($8) - ($9))|0; - $11 = $10; - } - } while(0); - return ($11|0); -} -function ___memrchr($m,$c,$n) { - $m = $m|0; - $c = $c|0; - $n = $n|0; - var $$0 = 0, $$01 = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = $c&255; - $$01 = $n; - while(1) { - $1 = (($$01) + -1)|0; - $2 = ($$01|0)==(0); - if ($2) { - $$0 = 0; - break; - } - $3 = (($m) + ($1)|0); - $4 = HEAP8[$3>>0]|0; - $5 = ($4<<24>>24)==($0<<24>>24); - if ($5) { - $$0 = $3; - break; - } else { - $$01 = $1; - } - } - return ($$0|0); -} -function ___stpcpy($d,$s) { - $d = $d|0; - $s = $s|0; - var $$0$lcssa = 0, $$01$lcssa = 0, $$0115 = 0, $$016 = 0, $$03 = 0, $$1$ph = 0, $$12$ph = 0, $$128 = 0, $$19 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0; - var $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $4 = 0, $5 = 0; - var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $wd$0$lcssa = 0, $wd$010 = 0, $ws$0$lcssa = 0, $ws$011 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = $s; - $1 = $d; - $2 = $0 ^ $1; - $3 = $2 & 3; - $4 = ($3|0)==(0); - L1: do { - if ($4) { - $5 = $0 & 3; - $6 = ($5|0)==(0); - if ($6) { - $$0$lcssa = $s;$$01$lcssa = $d; - } else { - $$0115 = $d;$$016 = $s; - while(1) { - $7 = HEAP8[$$016>>0]|0; - HEAP8[$$0115>>0] = $7; - $8 = ($7<<24>>24)==(0); - if ($8) { - $$03 = $$0115; - break L1; - } - $9 = ((($$016)) + 1|0); - $10 = ((($$0115)) + 1|0); - $11 = $9; - $12 = $11 & 3; - $13 = ($12|0)==(0); - if ($13) { - $$0$lcssa = $9;$$01$lcssa = $10; - break; - } else { - $$0115 = $10;$$016 = $9; - } - } - } - $14 = HEAP32[$$0$lcssa>>2]|0; - $15 = (($14) + -16843009)|0; - $16 = $14 & -2139062144; - $17 = $16 ^ -2139062144; - $18 = $17 & $15; - $19 = ($18|0)==(0); - if ($19) { - $22 = $14;$wd$010 = $$01$lcssa;$ws$011 = $$0$lcssa; - while(1) { - $20 = ((($ws$011)) + 4|0); - $21 = ((($wd$010)) + 4|0); - HEAP32[$wd$010>>2] = $22; - $23 = HEAP32[$20>>2]|0; - $24 = (($23) + -16843009)|0; - $25 = $23 & -2139062144; - $26 = $25 ^ -2139062144; - $27 = $26 & $24; - $28 = ($27|0)==(0); - if ($28) { - $22 = $23;$wd$010 = $21;$ws$011 = $20; - } else { - $wd$0$lcssa = $21;$ws$0$lcssa = $20; - break; - } - } - } else { - $wd$0$lcssa = $$01$lcssa;$ws$0$lcssa = $$0$lcssa; - } - $$1$ph = $ws$0$lcssa;$$12$ph = $wd$0$lcssa; - label = 8; - } else { - $$1$ph = $s;$$12$ph = $d; - label = 8; - } - } while(0); - if ((label|0) == 8) { - $29 = HEAP8[$$1$ph>>0]|0; - HEAP8[$$12$ph>>0] = $29; - $30 = ($29<<24>>24)==(0); - if ($30) { - $$03 = $$12$ph; - } else { - $$128 = $$12$ph;$$19 = $$1$ph; - while(1) { - $31 = ((($$19)) + 1|0); - $32 = ((($$128)) + 1|0); - $33 = HEAP8[$31>>0]|0; - HEAP8[$32>>0] = $33; - $34 = ($33<<24>>24)==(0); - if ($34) { - $$03 = $32; - break; - } else { - $$128 = $32;$$19 = $31; - } - } - } - } - return ($$03|0); -} -function _strcat($dest,$src) { - $dest = $dest|0; - $src = $src|0; - var $0 = 0, $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_strlen($dest)|0); - $1 = (($dest) + ($0)|0); - (_strcpy($1,$src)|0); - return ($dest|0); -} -function _strchr($s,$c) { - $s = $s|0; - $c = $c|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (___strchrnul($s,$c)|0); - $1 = HEAP8[$0>>0]|0; - $2 = $c&255; - $3 = ($1<<24>>24)==($2<<24>>24); - $4 = $3 ? $0 : 0; - return ($4|0); -} -function ___strchrnul($s,$c) { - $s = $s|0; - $c = $c|0; - var $$0 = 0, $$02$lcssa = 0, $$0211 = 0, $$1 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0; - var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0; - var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond5 = 0, $w$0$lcssa = 0, $w$08 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = $c & 255; - $1 = ($0|0)==(0); - L1: do { - if ($1) { - $6 = (_strlen($s)|0); - $7 = (($s) + ($6)|0); - $$0 = $7; - } else { - $2 = $s; - $3 = $2 & 3; - $4 = ($3|0)==(0); - if ($4) { - $$02$lcssa = $s; - } else { - $5 = $c&255; - $$0211 = $s; - while(1) { - $8 = HEAP8[$$0211>>0]|0; - $9 = ($8<<24>>24)==(0); - $10 = ($8<<24>>24)==($5<<24>>24); - $or$cond = $9 | $10; - if ($or$cond) { - $$0 = $$0211; - break L1; - } - $11 = ((($$0211)) + 1|0); - $12 = $11; - $13 = $12 & 3; - $14 = ($13|0)==(0); - if ($14) { - $$02$lcssa = $11; - break; - } else { - $$0211 = $11; - } - } - } - $15 = Math_imul($0, 16843009)|0; - $16 = HEAP32[$$02$lcssa>>2]|0; - $17 = (($16) + -16843009)|0; - $18 = $16 & -2139062144; - $19 = $18 ^ -2139062144; - $20 = $19 & $17; - $21 = ($20|0)==(0); - L10: do { - if ($21) { - $23 = $16;$w$08 = $$02$lcssa; - while(1) { - $22 = $23 ^ $15; - $24 = (($22) + -16843009)|0; - $25 = $22 & -2139062144; - $26 = $25 ^ -2139062144; - $27 = $26 & $24; - $28 = ($27|0)==(0); - if (!($28)) { - $w$0$lcssa = $w$08; - break L10; - } - $29 = ((($w$08)) + 4|0); - $30 = HEAP32[$29>>2]|0; - $31 = (($30) + -16843009)|0; - $32 = $30 & -2139062144; - $33 = $32 ^ -2139062144; - $34 = $33 & $31; - $35 = ($34|0)==(0); - if ($35) { - $23 = $30;$w$08 = $29; - } else { - $w$0$lcssa = $29; - break; - } - } - } else { - $w$0$lcssa = $$02$lcssa; - } - } while(0); - $36 = $c&255; - $$1 = $w$0$lcssa; - while(1) { - $37 = HEAP8[$$1>>0]|0; - $38 = ($37<<24>>24)==(0); - $39 = ($37<<24>>24)==($36<<24>>24); - $or$cond5 = $38 | $39; - $40 = ((($$1)) + 1|0); - if ($or$cond5) { - $$0 = $$1; - break; - } else { - $$1 = $40; - } - } - } - } while(0); - return ($$0|0); -} -function _strcmp($l,$r) { - $l = $l|0; - $r = $r|0; - var $$014 = 0, $$05 = 0, $$lcssa = 0, $$lcssa2 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond3 = 0, label = 0; - var sp = 0; - sp = STACKTOP; - $0 = HEAP8[$l>>0]|0; - $1 = HEAP8[$r>>0]|0; - $2 = ($0<<24>>24)!=($1<<24>>24); - $3 = ($0<<24>>24)==(0); - $or$cond3 = $3 | $2; - if ($or$cond3) { - $$lcssa = $0;$$lcssa2 = $1; - } else { - $$014 = $l;$$05 = $r; - while(1) { - $4 = ((($$014)) + 1|0); - $5 = ((($$05)) + 1|0); - $6 = HEAP8[$4>>0]|0; - $7 = HEAP8[$5>>0]|0; - $8 = ($6<<24>>24)!=($7<<24>>24); - $9 = ($6<<24>>24)==(0); - $or$cond = $9 | $8; - if ($or$cond) { - $$lcssa = $6;$$lcssa2 = $7; - break; - } else { - $$014 = $4;$$05 = $5; - } - } - } - $10 = $$lcssa&255; - $11 = $$lcssa2&255; - $12 = (($10) - ($11))|0; - return ($12|0); -} -function _strcpy($dest,$src) { - $dest = $dest|0; - $src = $src|0; - var label = 0, sp = 0; - sp = STACKTOP; - (___stpcpy($dest,$src)|0); - return ($dest|0); -} -function _strcspn($s,$c) { - $s = $s|0; - $c = $c|0; - var $$0 = 0, $$027 = 0, $$03$lcssa = 0, $$035 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0; - var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; - var $8 = 0, $9 = 0, $byteset = 0, $div = 0, $div4 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $byteset = sp; - $0 = HEAP8[$c>>0]|0; - $1 = ($0<<24>>24)==(0); - if ($1) { - label = 3; - } else { - $2 = ((($c)) + 1|0); - $3 = HEAP8[$2>>0]|0; - $4 = ($3<<24>>24)==(0); - if ($4) { - label = 3; - } else { - ;HEAP32[$byteset>>2]=0|0;HEAP32[$byteset+4>>2]=0|0;HEAP32[$byteset+8>>2]=0|0;HEAP32[$byteset+12>>2]=0|0;HEAP32[$byteset+16>>2]=0|0;HEAP32[$byteset+20>>2]=0|0;HEAP32[$byteset+24>>2]=0|0;HEAP32[$byteset+28>>2]=0|0; - $$027 = $c;$13 = $0; - while(1) { - $12 = $13 & 31; - $14 = $12&255; - $15 = 1 << $14; - $div4 = ($13&255) >>> 5; - $16 = $div4&255; - $17 = (($byteset) + ($16<<2)|0); - $18 = HEAP32[$17>>2]|0; - $19 = $18 | $15; - HEAP32[$17>>2] = $19; - $20 = ((($$027)) + 1|0); - $21 = HEAP8[$20>>0]|0; - $22 = ($21<<24>>24)==(0); - if ($22) { - break; - } else { - $$027 = $20;$13 = $21; - } - } - $10 = HEAP8[$s>>0]|0; - $11 = ($10<<24>>24)==(0); - L7: do { + $10 = HEAP8[$0>>0]|0; + $11 = ($10<<24>>24)==(0); if ($11) { - $$03$lcssa = $s; + $$019$sink = $0; } else { - $$035 = $s;$23 = $10; + $$01922 = $0;$23 = $10; while(1) { $div = ($23&255) >>> 5; $24 = $div&255; - $25 = (($byteset) + ($24<<2)|0); + $25 = (($2) + ($24<<2)|0); $26 = HEAP32[$25>>2]|0; $27 = $23 & 31; $28 = $27&255; @@ -55754,1109 +63189,141 @@ function _strcspn($s,$c) { $30 = $26 & $29; $31 = ($30|0)==(0); if (!($31)) { - $$03$lcssa = $$035; - break L7; + $$019$sink = $$01922; + break L1; } - $32 = ((($$035)) + 1|0); + $32 = ((($$01922)) + 1|0); $33 = HEAP8[$32>>0]|0; $34 = ($33<<24>>24)==(0); if ($34) { - $$03$lcssa = $32; + $$019$sink = $32; break; } else { - $$035 = $32;$23 = $33; + $$01922 = $32;$23 = $33; } } } - } while(0); - $35 = $$03$lcssa; - $36 = $s; - $37 = (($35) - ($36))|0; - $$0 = $37; + } } - } + } while(0); if ((label|0) == 3) { - $5 = $0 << 24 >> 24; - $6 = (___strchrnul($s,$5)|0); - $7 = $6; - $8 = $s; - $9 = (($7) - ($8))|0; - $$0 = $9; + $8 = $3 << 24 >> 24; + $9 = (___strchrnul($0,$8)|0); + $$019$sink = $9; } - STACKTOP = sp;return ($$0|0); + $35 = $$019$sink; + $36 = $0; + $37 = (($35) - ($36))|0; + STACKTOP = sp;return ($37|0); } -function _strlen($s) { - $s = $s|0; - var $$0 = 0, $$01$lcssa = 0, $$014 = 0, $$1$lcssa = 0, $$lcssa20 = 0, $$pn = 0, $$pn15 = 0, $$pre = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0; - var $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $w$0 = 0, $w$0$lcssa = 0, label = 0, sp = 0; +function _strcat($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = $s; - $1 = $0 & 3; - $2 = ($1|0)==(0); + $2 = (_strlen($0)|0); + $3 = (($0) + ($2)|0); + (_strcpy($3,$1)|0); + return ($0|0); +} +function _strncat($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$0$lcssa = 0, $$01013 = 0, $$01112 = 0, $$014 = 0, $10 = 0, $11 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = (_strlen($0)|0); + $4 = (($0) + ($3)|0); + $5 = ($2|0)==(0); L1: do { - if ($2) { - $$01$lcssa = $s; - label = 4; + if ($5) { + $$0$lcssa = $4; } else { - $$014 = $s;$21 = $0; + $$01013 = $2;$$01112 = $1;$$014 = $4; while(1) { - $3 = HEAP8[$$014>>0]|0; - $4 = ($3<<24>>24)==(0); - if ($4) { - $$pn = $21; - break L1; - } - $5 = ((($$014)) + 1|0); - $6 = $5; - $7 = $6 & 3; - $8 = ($7|0)==(0); - if ($8) { - $$01$lcssa = $5; - label = 4; - break; - } else { - $$014 = $5;$21 = $6; - } - } - } - } while(0); - if ((label|0) == 4) { - $w$0 = $$01$lcssa; - while(1) { - $9 = HEAP32[$w$0>>2]|0; - $10 = (($9) + -16843009)|0; - $11 = $9 & -2139062144; - $12 = $11 ^ -2139062144; - $13 = $12 & $10; - $14 = ($13|0)==(0); - $15 = ((($w$0)) + 4|0); - if ($14) { - $w$0 = $15; - } else { - $$lcssa20 = $9;$w$0$lcssa = $w$0; - break; - } - } - $16 = $$lcssa20&255; - $17 = ($16<<24>>24)==(0); - if ($17) { - $$1$lcssa = $w$0$lcssa; - } else { - $$pn15 = $w$0$lcssa; - while(1) { - $18 = ((($$pn15)) + 1|0); - $$pre = HEAP8[$18>>0]|0; - $19 = ($$pre<<24>>24)==(0); - if ($19) { - $$1$lcssa = $18; - break; - } else { - $$pn15 = $18; - } - } - } - $20 = $$1$lcssa; - $$pn = $20; - } - $$0 = (($$pn) - ($0))|0; - return ($$0|0); -} -function _strncmp($_l,$_r,$n) { - $_l = $_l|0; - $_r = $_r|0; - $n = $n|0; - var $$03 = 0, $$08 = 0, $$08$in = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; - var $l$06 = 0, $or$cond = 0, $or$cond4 = 0, $r$0$lcssa = 0, $r$07 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ($n|0)==(0); - if ($0) { - $$03 = 0; - } else { - $1 = HEAP8[$_l>>0]|0; - $2 = ($1<<24>>24)==(0); - L3: do { - if ($2) { - $13 = 0;$r$0$lcssa = $_r; - } else { - $$08$in = $n;$6 = $1;$l$06 = $_l;$r$07 = $_r; - while(1) { - $$08 = (($$08$in) + -1)|0; - $3 = HEAP8[$r$07>>0]|0; - $4 = ($3<<24>>24)!=(0); - $5 = ($$08|0)!=(0); - $or$cond = $5 & $4; - $7 = ($6<<24>>24)==($3<<24>>24); - $or$cond4 = $7 & $or$cond; - if (!($or$cond4)) { - $13 = $6;$r$0$lcssa = $r$07; - break L3; - } - $8 = ((($l$06)) + 1|0); - $9 = ((($r$07)) + 1|0); - $10 = HEAP8[$8>>0]|0; - $11 = ($10<<24>>24)==(0); - if ($11) { - $13 = 0;$r$0$lcssa = $9; - break; - } else { - $$08$in = $$08;$6 = $10;$l$06 = $8;$r$07 = $9; - } - } - } - } while(0); - $12 = $13&255; - $14 = HEAP8[$r$0$lcssa>>0]|0; - $15 = $14&255; - $16 = (($12) - ($15))|0; - $$03 = $16; - } - return ($$03|0); -} -function _strrchr($s,$c) { - $s = $s|0; - $c = $c|0; - var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_strlen($s)|0); - $1 = (($0) + 1)|0; - $2 = (___memrchr($s,$c,$1)|0); - return ($2|0); -} -function _strspn($s,$c) { - $s = $s|0; - $c = $c|0; - var $$0 = 0, $$028 = 0, $$03 = 0, $$03$lcssa = 0, $$1$lcssa = 0, $$16 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0; - var $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $4 = 0; - var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $byteset = 0, $div = 0, $div4 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $byteset = sp; - ;HEAP32[$byteset>>2]=0|0;HEAP32[$byteset+4>>2]=0|0;HEAP32[$byteset+8>>2]=0|0;HEAP32[$byteset+12>>2]=0|0;HEAP32[$byteset+16>>2]=0|0;HEAP32[$byteset+20>>2]=0|0;HEAP32[$byteset+24>>2]=0|0;HEAP32[$byteset+28>>2]=0|0; - $0 = HEAP8[$c>>0]|0; - $1 = ($0<<24>>24)==(0); - do { - if ($1) { - $$0 = 0; - } else { - $2 = ((($c)) + 1|0); - $3 = HEAP8[$2>>0]|0; - $4 = ($3<<24>>24)==(0); - if ($4) { - $$03 = $s; - while(1) { - $5 = HEAP8[$$03>>0]|0; - $6 = ($5<<24>>24)==($0<<24>>24); - $7 = ((($$03)) + 1|0); - if ($6) { - $$03 = $7; - } else { - $$03$lcssa = $$03; - break; - } - } - $8 = $$03$lcssa; - $9 = $s; - $10 = (($8) - ($9))|0; - $$0 = $10; - break; - } else { - $$028 = $c;$14 = $0; - } - while(1) { - $13 = $14 & 31; - $15 = $13&255; - $16 = 1 << $15; - $div4 = ($14&255) >>> 5; - $17 = $div4&255; - $18 = (($byteset) + ($17<<2)|0); - $19 = HEAP32[$18>>2]|0; - $20 = $19 | $16; - HEAP32[$18>>2] = $20; - $21 = ((($$028)) + 1|0); - $22 = HEAP8[$21>>0]|0; - $23 = ($22<<24>>24)==(0); - if ($23) { - break; - } else { - $$028 = $21;$14 = $22; - } - } - $11 = HEAP8[$s>>0]|0; - $12 = ($11<<24>>24)==(0); - L10: do { - if ($12) { - $$1$lcssa = $s; - } else { - $$16 = $s;$24 = $11; - while(1) { - $div = ($24&255) >>> 5; - $25 = $div&255; - $26 = (($byteset) + ($25<<2)|0); - $27 = HEAP32[$26>>2]|0; - $28 = $24 & 31; - $29 = $28&255; - $30 = 1 << $29; - $31 = $27 & $30; - $32 = ($31|0)==(0); - if ($32) { - $$1$lcssa = $$16; - break L10; - } - $33 = ((($$16)) + 1|0); - $34 = HEAP8[$33>>0]|0; - $35 = ($34<<24>>24)==(0); - if ($35) { - $$1$lcssa = $33; - break; - } else { - $$16 = $33;$24 = $34; - } - } - } - } while(0); - $36 = $$1$lcssa; - $37 = $s; - $38 = (($36) - ($37))|0; - $$0 = $38; - } - } while(0); - STACKTOP = sp;return ($$0|0); -} -function _strstr($h,$n) { - $h = $h|0; - $n = $n|0; - var $$0 = 0, $$0$i = 0, $$0$lcssa$i = 0, $$0$lcssa$i11 = 0, $$01$i = 0, $$02$i = 0, $$02$i7 = 0, $$03$i = 0, $$lcssa$i = 0, $$lcssa$i10 = 0, $$lcssa$i4 = 0, $$lcssa281 = 0, $$lcssa284 = 0, $$lcssa287 = 0, $$lcssa301 = 0, $$lcssa304 = 0, $$lcssa307 = 0, $$lcssa322 = 0, $$pr$i = 0, $0 = 0; - var $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0; - var $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0; - var $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0; - var $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0; - var $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0; - var $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0; - var $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0; - var $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $233$phi = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; - var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0; - var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0; - var $byteset$i = 0, $div$i = 0, $div4$i = 0, $hw$0$in2$i = 0, $hw$03$i = 0, $hw$03$i6 = 0, $ip$0$ph$lcssa$i = 0, $ip$0$ph$lcssa143$i = 0, $ip$0$ph76$i = 0, $ip$1$ip$0$$i = 0, $ip$1$ip$0$i = 0, $ip$1$ph$lcssa$i = 0, $ip$1$ph55$i = 0, $jp$0$ph13$ph70$i = 0, $jp$0$ph1365$i = 0, $jp$0$ph1365$i$lcssa = 0, $jp$0$ph1365$i$lcssa$lcssa = 0, $jp$0$ph77$i = 0, $jp$1$ph56$i = 0, $jp$1$ph9$ph49$i = 0; - var $jp$1$ph944$i = 0, $jp$1$ph944$i$lcssa = 0, $jp$1$ph944$i$lcssa$lcssa = 0, $k$059$i = 0, $k$139$i = 0, $k$2$i = 0, $k$338$i = 0, $k$338$i$lcssa = 0, $k$4$i = 0, $l$080$i = 0, $l$080$i$lcssa321 = 0, $mem$0$i = 0, $mem0$0$i = 0, $or$cond$i = 0, $or$cond$i2 = 0, $or$cond$i8 = 0, $or$cond5$i = 0, $p$0$ph$ph$lcssa32$i = 0, $p$0$ph$ph$lcssa32147$i = 0, $p$0$ph$ph71$i = 0; - var $p$1$p$0$i = 0, $p$1$ph$ph$lcssa23$i = 0, $p$1$ph$ph50$i = 0, $p$3$i = 0, $shift$i = 0, $z$0$i = 0, $z$1$i = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 1056|0; - $byteset$i = sp + 1024|0; - $shift$i = sp; - $0 = HEAP8[$n>>0]|0; - $1 = ($0<<24>>24)==(0); - do { - if ($1) { - $$0 = $h; - } else { - $2 = $0 << 24 >> 24; - $3 = (_strchr($h,$2)|0); - $4 = ($3|0)==(0|0); - if ($4) { - $$0 = 0; - } else { - $5 = ((($n)) + 1|0); - $6 = HEAP8[$5>>0]|0; + $6 = HEAP8[$$01112>>0]|0; $7 = ($6<<24>>24)==(0); if ($7) { - $$0 = $3; + $$0$lcssa = $$014; + break L1; + } + $8 = (($$01013) + -1)|0; + $9 = ((($$01112)) + 1|0); + $10 = ((($$014)) + 1|0); + HEAP8[$$014>>0] = $6; + $11 = ($8|0)==(0); + if ($11) { + $$0$lcssa = $10; + break; } else { - $8 = ((($3)) + 1|0); - $9 = HEAP8[$8>>0]|0; - $10 = ($9<<24>>24)==(0); - if ($10) { - $$0 = 0; - } else { - $11 = ((($n)) + 2|0); - $12 = HEAP8[$11>>0]|0; - $13 = ($12<<24>>24)==(0); - if ($13) { - $14 = $0&255; - $15 = $14 << 8; - $16 = $6&255; - $17 = $16 | $15; - $18 = HEAP8[$3>>0]|0; - $19 = $18&255; - $20 = $19 << 8; - $21 = $9&255; - $22 = $20 | $21; - $$01$i = $8;$232 = $9;$233 = $3;$hw$0$in2$i = $22; - while(1) { - $23 = $hw$0$in2$i & 65535; - $24 = ($23|0)==($17|0); - if ($24) { - $$lcssa$i = $233;$31 = $232; - break; - } - $25 = $23 << 8; - $26 = ((($$01$i)) + 1|0); - $27 = HEAP8[$26>>0]|0; - $28 = $27&255; - $29 = $28 | $25; - $30 = ($27<<24>>24)==(0); - if ($30) { - $$lcssa$i = $$01$i;$31 = 0; - break; - } else { - $233$phi = $$01$i;$$01$i = $26;$232 = $27;$hw$0$in2$i = $29;$233 = $233$phi; - } - } - $32 = ($31<<24>>24)!=(0); - $33 = $32 ? $$lcssa$i : 0; - $$0 = $33; - break; - } - $34 = ((($3)) + 2|0); - $35 = HEAP8[$34>>0]|0; - $36 = ($35<<24>>24)==(0); - if ($36) { - $$0 = 0; - } else { - $37 = ((($n)) + 3|0); - $38 = HEAP8[$37>>0]|0; - $39 = ($38<<24>>24)==(0); - if ($39) { - $40 = $0&255; - $41 = $40 << 24; - $42 = $6&255; - $43 = $42 << 16; - $44 = $43 | $41; - $45 = $12&255; - $46 = $45 << 8; - $47 = $44 | $46; - $48 = HEAP8[$3>>0]|0; - $49 = $48&255; - $50 = $49 << 24; - $51 = $9&255; - $52 = $51 << 16; - $53 = $35&255; - $54 = $53 << 8; - $55 = $54 | $52; - $56 = $55 | $50; - $57 = ($56|0)==($47|0); - if ($57) { - $$0$lcssa$i = $34;$$lcssa$i4 = $35; - } else { - $$02$i = $34;$hw$03$i = $56; - while(1) { - $58 = ((($$02$i)) + 1|0); - $59 = HEAP8[$58>>0]|0; - $60 = $59&255; - $61 = $60 | $hw$03$i; - $62 = $61 << 8; - $63 = ($59<<24>>24)==(0); - $64 = ($62|0)==($47|0); - $or$cond$i2 = $63 | $64; - if ($or$cond$i2) { - $$0$lcssa$i = $58;$$lcssa$i4 = $59; - break; - } else { - $$02$i = $58;$hw$03$i = $62; - } - } - } - $65 = ($$lcssa$i4<<24>>24)!=(0); - $66 = ((($$0$lcssa$i)) + -2|0); - $67 = $65 ? $66 : 0; - $$0 = $67; - break; - } - $68 = ((($3)) + 3|0); - $69 = HEAP8[$68>>0]|0; - $70 = ($69<<24>>24)==(0); - if ($70) { - $$0 = 0; - } else { - $71 = ((($n)) + 4|0); - $72 = HEAP8[$71>>0]|0; - $73 = ($72<<24>>24)==(0); - if ($73) { - $74 = $0&255; - $75 = $74 << 24; - $76 = $6&255; - $77 = $76 << 16; - $78 = $77 | $75; - $79 = $12&255; - $80 = $79 << 8; - $81 = $78 | $80; - $82 = $38&255; - $83 = $81 | $82; - $84 = HEAP8[$3>>0]|0; - $85 = $84&255; - $86 = $85 << 24; - $87 = $9&255; - $88 = $87 << 16; - $89 = $35&255; - $90 = $89 << 8; - $91 = $69&255; - $92 = $90 | $88; - $93 = $92 | $91; - $94 = $93 | $86; - $95 = ($94|0)==($83|0); - if ($95) { - $$0$lcssa$i11 = $68;$$lcssa$i10 = $69; - } else { - $$02$i7 = $68;$hw$03$i6 = $94; - while(1) { - $96 = $hw$03$i6 << 8; - $97 = ((($$02$i7)) + 1|0); - $98 = HEAP8[$97>>0]|0; - $99 = $98&255; - $100 = $99 | $96; - $101 = ($98<<24>>24)==(0); - $102 = ($100|0)==($83|0); - $or$cond$i8 = $101 | $102; - if ($or$cond$i8) { - $$0$lcssa$i11 = $97;$$lcssa$i10 = $98; - break; - } else { - $$02$i7 = $97;$hw$03$i6 = $100; - } - } - } - $103 = ($$lcssa$i10<<24>>24)!=(0); - $104 = ((($$0$lcssa$i11)) + -3|0); - $105 = $103 ? $104 : 0; - $$0 = $105; - break; - } - ;HEAP32[$byteset$i>>2]=0|0;HEAP32[$byteset$i+4>>2]=0|0;HEAP32[$byteset$i+8>>2]=0|0;HEAP32[$byteset$i+12>>2]=0|0;HEAP32[$byteset$i+16>>2]=0|0;HEAP32[$byteset$i+20>>2]=0|0;HEAP32[$byteset$i+24>>2]=0|0;HEAP32[$byteset$i+28>>2]=0|0; - $110 = $0;$l$080$i = 0; - while(1) { - $106 = (($3) + ($l$080$i)|0); - $107 = HEAP8[$106>>0]|0; - $108 = ($107<<24>>24)==(0); - if ($108) { - $$0$i = 0; - break; - } - $109 = $110 & 31; - $111 = $109&255; - $112 = 1 << $111; - $div4$i = ($110&255) >>> 5; - $113 = $div4$i&255; - $114 = (($byteset$i) + ($113<<2)|0); - $115 = HEAP32[$114>>2]|0; - $116 = $115 | $112; - HEAP32[$114>>2] = $116; - $117 = (($l$080$i) + 1)|0; - $118 = $110&255; - $119 = (($shift$i) + ($118<<2)|0); - HEAP32[$119>>2] = $117; - $120 = (($n) + ($117)|0); - $121 = HEAP8[$120>>0]|0; - $122 = ($121<<24>>24)==(0); - if ($122) { - $$lcssa322 = $117;$l$080$i$lcssa321 = $l$080$i; - label = 23; - break; - } else { - $110 = $121;$l$080$i = $117; - } - } - L32: do { - if ((label|0) == 23) { - $123 = ($$lcssa322>>>0)>(1); - L34: do { - if ($123) { - $234 = 1;$ip$0$ph76$i = -1;$jp$0$ph77$i = 0; - L35: while(1) { - $235 = $234;$jp$0$ph13$ph70$i = $jp$0$ph77$i;$p$0$ph$ph71$i = 1; - while(1) { - $236 = $235;$jp$0$ph1365$i = $jp$0$ph13$ph70$i; - L39: while(1) { - $133 = $236;$k$059$i = 1; - while(1) { - $129 = (($k$059$i) + ($ip$0$ph76$i))|0; - $130 = (($n) + ($129)|0); - $131 = HEAP8[$130>>0]|0; - $132 = (($n) + ($133)|0); - $134 = HEAP8[$132>>0]|0; - $135 = ($131<<24>>24)==($134<<24>>24); - if (!($135)) { - $$lcssa301 = $133;$$lcssa304 = $131;$$lcssa307 = $134;$jp$0$ph1365$i$lcssa = $jp$0$ph1365$i; - break L39; - } - $136 = ($k$059$i|0)==($p$0$ph$ph71$i|0); - $127 = (($k$059$i) + 1)|0; - if ($136) { - break; - } - $126 = (($127) + ($jp$0$ph1365$i))|0; - $128 = ($126>>>0)<($$lcssa322>>>0); - if ($128) { - $133 = $126;$k$059$i = $127; - } else { - $ip$0$ph$lcssa$i = $ip$0$ph76$i;$p$0$ph$ph$lcssa32$i = $p$0$ph$ph71$i; - break L35; - } - } - $137 = (($jp$0$ph1365$i) + ($p$0$ph$ph71$i))|0; - $138 = (($137) + 1)|0; - $139 = ($138>>>0)<($$lcssa322>>>0); - if ($139) { - $236 = $138;$jp$0$ph1365$i = $137; - } else { - $ip$0$ph$lcssa$i = $ip$0$ph76$i;$p$0$ph$ph$lcssa32$i = $p$0$ph$ph71$i; - break L35; - } - } - $140 = ($$lcssa304&255)>($$lcssa307&255); - $141 = (($$lcssa301) - ($ip$0$ph76$i))|0; - if (!($140)) { - $jp$0$ph1365$i$lcssa$lcssa = $jp$0$ph1365$i$lcssa; - break; - } - $124 = (($$lcssa301) + 1)|0; - $125 = ($124>>>0)<($$lcssa322>>>0); - if ($125) { - $235 = $124;$jp$0$ph13$ph70$i = $$lcssa301;$p$0$ph$ph71$i = $141; - } else { - $ip$0$ph$lcssa$i = $ip$0$ph76$i;$p$0$ph$ph$lcssa32$i = $141; - break L35; - } - } - $142 = (($jp$0$ph1365$i$lcssa$lcssa) + 1)|0; - $143 = (($jp$0$ph1365$i$lcssa$lcssa) + 2)|0; - $144 = ($143>>>0)<($$lcssa322>>>0); - if ($144) { - $234 = $143;$ip$0$ph76$i = $jp$0$ph1365$i$lcssa$lcssa;$jp$0$ph77$i = $142; - } else { - $ip$0$ph$lcssa$i = $jp$0$ph1365$i$lcssa$lcssa;$p$0$ph$ph$lcssa32$i = 1; - break; - } - } - $237 = 1;$ip$1$ph55$i = -1;$jp$1$ph56$i = 0; - while(1) { - $239 = $237;$jp$1$ph9$ph49$i = $jp$1$ph56$i;$p$1$ph$ph50$i = 1; - while(1) { - $238 = $239;$jp$1$ph944$i = $jp$1$ph9$ph49$i; - L54: while(1) { - $152 = $238;$k$139$i = 1; - while(1) { - $148 = (($k$139$i) + ($ip$1$ph55$i))|0; - $149 = (($n) + ($148)|0); - $150 = HEAP8[$149>>0]|0; - $151 = (($n) + ($152)|0); - $153 = HEAP8[$151>>0]|0; - $154 = ($150<<24>>24)==($153<<24>>24); - if (!($154)) { - $$lcssa281 = $152;$$lcssa284 = $150;$$lcssa287 = $153;$jp$1$ph944$i$lcssa = $jp$1$ph944$i; - break L54; - } - $155 = ($k$139$i|0)==($p$1$ph$ph50$i|0); - $146 = (($k$139$i) + 1)|0; - if ($155) { - break; - } - $145 = (($146) + ($jp$1$ph944$i))|0; - $147 = ($145>>>0)<($$lcssa322>>>0); - if ($147) { - $152 = $145;$k$139$i = $146; - } else { - $ip$0$ph$lcssa143$i = $ip$0$ph$lcssa$i;$ip$1$ph$lcssa$i = $ip$1$ph55$i;$p$0$ph$ph$lcssa32147$i = $p$0$ph$ph$lcssa32$i;$p$1$ph$ph$lcssa23$i = $p$1$ph$ph50$i; - break L34; - } - } - $156 = (($jp$1$ph944$i) + ($p$1$ph$ph50$i))|0; - $157 = (($156) + 1)|0; - $158 = ($157>>>0)<($$lcssa322>>>0); - if ($158) { - $238 = $157;$jp$1$ph944$i = $156; - } else { - $ip$0$ph$lcssa143$i = $ip$0$ph$lcssa$i;$ip$1$ph$lcssa$i = $ip$1$ph55$i;$p$0$ph$ph$lcssa32147$i = $p$0$ph$ph$lcssa32$i;$p$1$ph$ph$lcssa23$i = $p$1$ph$ph50$i; - break L34; - } - } - $159 = ($$lcssa284&255)<($$lcssa287&255); - $160 = (($$lcssa281) - ($ip$1$ph55$i))|0; - if (!($159)) { - $jp$1$ph944$i$lcssa$lcssa = $jp$1$ph944$i$lcssa; - break; - } - $164 = (($$lcssa281) + 1)|0; - $165 = ($164>>>0)<($$lcssa322>>>0); - if ($165) { - $239 = $164;$jp$1$ph9$ph49$i = $$lcssa281;$p$1$ph$ph50$i = $160; - } else { - $ip$0$ph$lcssa143$i = $ip$0$ph$lcssa$i;$ip$1$ph$lcssa$i = $ip$1$ph55$i;$p$0$ph$ph$lcssa32147$i = $p$0$ph$ph$lcssa32$i;$p$1$ph$ph$lcssa23$i = $160; - break L34; - } - } - $161 = (($jp$1$ph944$i$lcssa$lcssa) + 1)|0; - $162 = (($jp$1$ph944$i$lcssa$lcssa) + 2)|0; - $163 = ($162>>>0)<($$lcssa322>>>0); - if ($163) { - $237 = $162;$ip$1$ph55$i = $jp$1$ph944$i$lcssa$lcssa;$jp$1$ph56$i = $161; - } else { - $ip$0$ph$lcssa143$i = $ip$0$ph$lcssa$i;$ip$1$ph$lcssa$i = $jp$1$ph944$i$lcssa$lcssa;$p$0$ph$ph$lcssa32147$i = $p$0$ph$ph$lcssa32$i;$p$1$ph$ph$lcssa23$i = 1; - break; - } - } - } else { - $ip$0$ph$lcssa143$i = -1;$ip$1$ph$lcssa$i = -1;$p$0$ph$ph$lcssa32147$i = 1;$p$1$ph$ph$lcssa23$i = 1; - } - } while(0); - $166 = (($ip$1$ph$lcssa$i) + 1)|0; - $167 = (($ip$0$ph$lcssa143$i) + 1)|0; - $168 = ($166>>>0)>($167>>>0); - $p$1$p$0$i = $168 ? $p$1$ph$ph$lcssa23$i : $p$0$ph$ph$lcssa32147$i; - $ip$1$ip$0$i = $168 ? $ip$1$ph$lcssa$i : $ip$0$ph$lcssa143$i; - $169 = (($n) + ($p$1$p$0$i)|0); - $170 = (($ip$1$ip$0$i) + 1)|0; - $171 = (_memcmp($n,$169,$170)|0); - $172 = ($171|0)==(0); - if ($172) { - $177 = (($$lcssa322) - ($p$1$p$0$i))|0; - $mem0$0$i = $177;$p$3$i = $p$1$p$0$i; - } else { - $173 = (($$lcssa322) - ($ip$1$ip$0$i))|0; - $174 = (($173) + -1)|0; - $175 = ($ip$1$ip$0$i>>>0)>($174>>>0); - $ip$1$ip$0$$i = $175 ? $ip$1$ip$0$i : $174; - $176 = (($ip$1$ip$0$$i) + 1)|0; - $mem0$0$i = 0;$p$3$i = $176; - } - $178 = $$lcssa322 | 63; - $179 = ($mem0$0$i|0)!=(0); - $180 = (($$lcssa322) - ($p$3$i))|0; - $$03$i = $3;$mem$0$i = 0;$z$0$i = $3; - L69: while(1) { - $181 = $z$0$i; - $182 = $$03$i; - $183 = (($181) - ($182))|0; - $184 = ($183>>>0)<($$lcssa322>>>0); - do { - if ($184) { - $185 = (_memchr($z$0$i,0,$178)|0); - $186 = ($185|0)==(0|0); - if ($186) { - $190 = (($z$0$i) + ($178)|0); - $z$1$i = $190; - break; - } else { - $187 = $185; - $188 = (($187) - ($182))|0; - $189 = ($188>>>0)<($$lcssa322>>>0); - if ($189) { - $$0$i = 0; - break L32; - } else { - $z$1$i = $185; - break; - } - } - } else { - $z$1$i = $z$0$i; - } - } while(0); - $191 = (($$03$i) + ($l$080$i$lcssa321)|0); - $192 = HEAP8[$191>>0]|0; - $div$i = ($192&255) >>> 5; - $193 = $div$i&255; - $194 = (($byteset$i) + ($193<<2)|0); - $195 = HEAP32[$194>>2]|0; - $196 = $192 & 31; - $197 = $196&255; - $198 = 1 << $197; - $199 = $198 & $195; - $200 = ($199|0)==(0); - if ($200) { - $209 = (($$03$i) + ($$lcssa322)|0); - $$03$i = $209;$mem$0$i = 0;$z$0$i = $z$1$i; - continue; - } - $201 = $192&255; - $202 = (($shift$i) + ($201<<2)|0); - $203 = HEAP32[$202>>2]|0; - $204 = (($$lcssa322) - ($203))|0; - $205 = ($$lcssa322|0)==($203|0); - if (!($205)) { - $206 = ($mem$0$i|0)!=(0); - $or$cond$i = $179 & $206; - $207 = ($204>>>0)<($p$3$i>>>0); - $or$cond5$i = $or$cond$i & $207; - $k$2$i = $or$cond5$i ? $180 : $204; - $208 = (($$03$i) + ($k$2$i)|0); - $$03$i = $208;$mem$0$i = 0;$z$0$i = $z$1$i; - continue; - } - $210 = ($170>>>0)>($mem$0$i>>>0); - $211 = $210 ? $170 : $mem$0$i; - $212 = (($n) + ($211)|0); - $213 = HEAP8[$212>>0]|0; - $214 = ($213<<24>>24)==(0); - L83: do { - if ($214) { - $k$4$i = $170; - } else { - $$pr$i = $213;$k$338$i = $211; - while(1) { - $215 = (($$03$i) + ($k$338$i)|0); - $216 = HEAP8[$215>>0]|0; - $217 = ($$pr$i<<24>>24)==($216<<24>>24); - if (!($217)) { - $k$338$i$lcssa = $k$338$i; - break; - } - $218 = (($k$338$i) + 1)|0; - $219 = (($n) + ($218)|0); - $220 = HEAP8[$219>>0]|0; - $221 = ($220<<24>>24)==(0); - if ($221) { - $k$4$i = $170; - break L83; - } else { - $$pr$i = $220;$k$338$i = $218; - } - } - $222 = (($k$338$i$lcssa) - ($ip$1$ip$0$i))|0; - $223 = (($$03$i) + ($222)|0); - $$03$i = $223;$mem$0$i = 0;$z$0$i = $z$1$i; - continue L69; - } - } while(0); - while(1) { - $224 = ($k$4$i>>>0)>($mem$0$i>>>0); - if (!($224)) { - $$0$i = $$03$i; - break L32; - } - $225 = (($k$4$i) + -1)|0; - $226 = (($n) + ($225)|0); - $227 = HEAP8[$226>>0]|0; - $228 = (($$03$i) + ($225)|0); - $229 = HEAP8[$228>>0]|0; - $230 = ($227<<24>>24)==($229<<24>>24); - if ($230) { - $k$4$i = $225; - } else { - break; - } - } - $231 = (($$03$i) + ($p$3$i)|0); - $$03$i = $231;$mem$0$i = $mem0$0$i;$z$0$i = $z$1$i; - } - } - } while(0); - $$0 = $$0$i; - } - } - } + $$01013 = $8;$$01112 = $9;$$014 = $10; } } } } while(0); - STACKTOP = sp;return ($$0|0); + HEAP8[$$0$lcssa>>0] = 0; + return ($0|0); } -function _strtok($s,$sep) { - $s = $s|0; - $sep = $sep|0; - var $$0 = 0, $$01 = 0, $$sum = 0, $$sum2 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; +function _strtok($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $$010 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = ($s|0)==(0|0); - if ($0) { - $1 = HEAP32[9040>>2]|0; - $2 = ($1|0)==(0|0); - if ($2) { + $2 = ($0|0)==(0|0); + if ($2) { + $3 = HEAP32[7051]|0; + $4 = ($3|0)==(0|0); + if ($4) { $$0 = 0; } else { - $$01 = $1; + $$010 = $3; label = 3; } } else { - $$01 = $s; + $$010 = $0; label = 3; } do { if ((label|0) == 3) { - $3 = (_strspn($$01,$sep)|0); - $4 = (($$01) + ($3)|0); - $5 = HEAP8[$4>>0]|0; - $6 = ($5<<24>>24)==(0); - if ($6) { - HEAP32[9040>>2] = 0; + $5 = (_strspn($$010,$1)|0); + $6 = (($$010) + ($5)|0); + $7 = HEAP8[$6>>0]|0; + $8 = ($7<<24>>24)==(0); + if ($8) { + HEAP32[7051] = 0; $$0 = 0; break; } - $7 = (_strcspn($4,$sep)|0); - $$sum = (($7) + ($3))|0; - $8 = (($$01) + ($$sum)|0); - HEAP32[9040>>2] = $8; - $9 = HEAP8[$8>>0]|0; - $10 = ($9<<24>>24)==(0); - if ($10) { - HEAP32[9040>>2] = 0; - $$0 = $4; + $9 = (_strcspn($6,$1)|0); + $10 = (($6) + ($9)|0); + HEAP32[7051] = $10; + $11 = HEAP8[$10>>0]|0; + $12 = ($11<<24>>24)==(0); + if ($12) { + HEAP32[7051] = 0; + $$0 = $6; break; } else { - $$sum2 = (($$sum) + 1)|0; - $11 = (($$01) + ($$sum2)|0); - HEAP32[9040>>2] = $11; - HEAP8[$8>>0] = 0; - $$0 = $4; + $13 = ((($10)) + 1|0); + HEAP32[7051] = $13; + HEAP8[$10>>0] = 0; + $$0 = $6; break; } } } while(0); return ($$0|0); } -function _scanexp($f,$pok) { - $f = $f|0; - $pok = $pok|0; - var $$lcssa22 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; - var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0; - var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0; - var $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0; - var $99 = 0, $c$0 = 0, $c$1$be = 0, $c$1$be$lcssa = 0, $c$112 = 0, $c$2$be = 0, $c$2$lcssa = 0, $c$27 = 0, $c$3$be = 0, $neg$0 = 0, $or$cond3 = 0, $x$013 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($f)) + 4|0); - $1 = HEAP32[$0>>2]|0; - $2 = ((($f)) + 100|0); - $3 = HEAP32[$2>>2]|0; - $4 = ($1>>>0)<($3>>>0); - if ($4) { - $5 = ((($1)) + 1|0); - HEAP32[$0>>2] = $5; - $6 = HEAP8[$1>>0]|0; - $7 = $6&255; - $9 = $7; - } else { - $8 = (___shgetc($f)|0); - $9 = $8; - } - $10 = ($9|0)==(45); - switch ($9|0) { - case 43: case 45: { - $11 = $10&1; - $12 = HEAP32[$0>>2]|0; - $13 = HEAP32[$2>>2]|0; - $14 = ($12>>>0)<($13>>>0); - if ($14) { - $15 = ((($12)) + 1|0); - HEAP32[$0>>2] = $15; - $16 = HEAP8[$12>>0]|0; - $17 = $16&255; - $20 = $17; - } else { - $18 = (___shgetc($f)|0); - $20 = $18; - } - $19 = (($20) + -48)|0; - $21 = ($19>>>0)>(9); - $22 = ($pok|0)!=(0); - $or$cond3 = $22 & $21; - if ($or$cond3) { - $23 = HEAP32[$2>>2]|0; - $24 = ($23|0)==(0|0); - if ($24) { - $c$0 = $20;$neg$0 = $11; - } else { - $25 = HEAP32[$0>>2]|0; - $26 = ((($25)) + -1|0); - HEAP32[$0>>2] = $26; - $c$0 = $20;$neg$0 = $11; - } - } else { - $c$0 = $20;$neg$0 = $11; - } - break; - } - default: { - $c$0 = $9;$neg$0 = 0; - } - } - $27 = (($c$0) + -48)|0; - $28 = ($27>>>0)>(9); - if ($28) { - $29 = HEAP32[$2>>2]|0; - $30 = ($29|0)==(0|0); - if ($30) { - $98 = -2147483648;$99 = 0; - } else { - $31 = HEAP32[$0>>2]|0; - $32 = ((($31)) + -1|0); - HEAP32[$0>>2] = $32; - $98 = -2147483648;$99 = 0; - } - } else { - $c$112 = $c$0;$x$013 = 0; - while(1) { - $33 = ($x$013*10)|0; - $34 = (($c$112) + -48)|0; - $35 = (($34) + ($33))|0; - $36 = HEAP32[$0>>2]|0; - $37 = HEAP32[$2>>2]|0; - $38 = ($36>>>0)<($37>>>0); - if ($38) { - $39 = ((($36)) + 1|0); - HEAP32[$0>>2] = $39; - $40 = HEAP8[$36>>0]|0; - $41 = $40&255; - $c$1$be = $41; - } else { - $42 = (___shgetc($f)|0); - $c$1$be = $42; - } - $43 = (($c$1$be) + -48)|0; - $44 = ($43>>>0)<(10); - $45 = ($35|0)<(214748364); - $46 = $44 & $45; - if ($46) { - $c$112 = $c$1$be;$x$013 = $35; - } else { - $$lcssa22 = $35;$c$1$be$lcssa = $c$1$be; - break; - } - } - $47 = ($$lcssa22|0)<(0); - $48 = $47 << 31 >> 31; - $49 = (($c$1$be$lcssa) + -48)|0; - $50 = ($49>>>0)<(10); - if ($50) { - $53 = $$lcssa22;$54 = $48;$c$27 = $c$1$be$lcssa; - while(1) { - $55 = (___muldi3(($53|0),($54|0),10,0)|0); - $56 = tempRet0; - $57 = ($c$27|0)<(0); - $58 = $57 << 31 >> 31; - $59 = (_i64Add(($c$27|0),($58|0),-48,-1)|0); - $60 = tempRet0; - $61 = (_i64Add(($59|0),($60|0),($55|0),($56|0))|0); - $62 = tempRet0; - $63 = HEAP32[$0>>2]|0; - $64 = HEAP32[$2>>2]|0; - $65 = ($63>>>0)<($64>>>0); - if ($65) { - $66 = ((($63)) + 1|0); - HEAP32[$0>>2] = $66; - $67 = HEAP8[$63>>0]|0; - $68 = $67&255; - $c$2$be = $68; - } else { - $69 = (___shgetc($f)|0); - $c$2$be = $69; - } - $70 = (($c$2$be) + -48)|0; - $71 = ($70>>>0)<(10); - $72 = ($62|0)<(21474836); - $73 = ($61>>>0)<(2061584302); - $74 = ($62|0)==(21474836); - $75 = $74 & $73; - $76 = $72 | $75; - $77 = $71 & $76; - if ($77) { - $53 = $61;$54 = $62;$c$27 = $c$2$be; - } else { - $92 = $61;$93 = $62;$c$2$lcssa = $c$2$be; - break; - } - } - } else { - $92 = $$lcssa22;$93 = $48;$c$2$lcssa = $c$1$be$lcssa; - } - $51 = (($c$2$lcssa) + -48)|0; - $52 = ($51>>>0)<(10); - if ($52) { - while(1) { - $78 = HEAP32[$0>>2]|0; - $79 = HEAP32[$2>>2]|0; - $80 = ($78>>>0)<($79>>>0); - if ($80) { - $81 = ((($78)) + 1|0); - HEAP32[$0>>2] = $81; - $82 = HEAP8[$78>>0]|0; - $83 = $82&255; - $c$3$be = $83; - } else { - $84 = (___shgetc($f)|0); - $c$3$be = $84; - } - $85 = (($c$3$be) + -48)|0; - $86 = ($85>>>0)<(10); - if (!($86)) { - break; - } - } - } - $87 = HEAP32[$2>>2]|0; - $88 = ($87|0)==(0|0); - if (!($88)) { - $89 = HEAP32[$0>>2]|0; - $90 = ((($89)) + -1|0); - HEAP32[$0>>2] = $90; - } - $91 = ($neg$0|0)!=(0); - $94 = (_i64Subtract(0,0,($92|0),($93|0))|0); - $95 = tempRet0; - $96 = $91 ? $94 : $92; - $97 = $91 ? $95 : $93; - $98 = $97;$99 = $96; - } - tempRet0 = ($98); - return ($99|0); -} -function ___fflush_unlocked($f) { - $f = $f|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; - var $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($f)) + 20|0); - $1 = HEAP32[$0>>2]|0; - $2 = ((($f)) + 28|0); - $3 = HEAP32[$2>>2]|0; - $4 = ($1>>>0)>($3>>>0); - if ($4) { - $5 = ((($f)) + 36|0); - $6 = HEAP32[$5>>2]|0; - (FUNCTION_TABLE_iiii[$6 & 15]($f,0,0)|0); - $7 = HEAP32[$0>>2]|0; - $8 = ($7|0)==(0|0); - if ($8) { - $$0 = -1; - } else { - label = 3; - } - } else { - label = 3; - } - if ((label|0) == 3) { - $9 = ((($f)) + 4|0); - $10 = HEAP32[$9>>2]|0; - $11 = ((($f)) + 8|0); - $12 = HEAP32[$11>>2]|0; - $13 = ($10>>>0)<($12>>>0); - if ($13) { - $14 = ((($f)) + 40|0); - $15 = HEAP32[$14>>2]|0; - $16 = $10; - $17 = $12; - $18 = (($16) - ($17))|0; - (FUNCTION_TABLE_iiii[$15 & 15]($f,$18,1)|0); - } - $19 = ((($f)) + 16|0); - HEAP32[$19>>2] = 0; - HEAP32[$2>>2] = 0; - HEAP32[$0>>2] = 0; - HEAP32[$11>>2] = 0; - HEAP32[$9>>2] = 0; - $$0 = 0; - } - return ($$0|0); -} -function _printf_core($f,$fmt,$ap,$nl_arg,$nl_type) { - $f = $f|0; - $fmt = $fmt|0; - $ap = $ap|0; - $nl_arg = $nl_arg|0; - $nl_type = $nl_type|0; - var $$ = 0, $$$i = 0, $$0 = 0, $$0$i = 0, $$0$lcssa$i = 0, $$012$i = 0, $$013$i = 0, $$03$i33 = 0, $$07$i = 0.0, $$1$i = 0.0, $$114$i = 0, $$2$i = 0.0, $$20$i = 0.0, $$21$i = 0, $$210$$22$i = 0, $$210$$24$i = 0, $$210$i = 0, $$23$i = 0, $$3$i = 0.0, $$31$i = 0; - var $$311$i = 0, $$4$i = 0.0, $$412$lcssa$i = 0, $$41276$i = 0, $$5$lcssa$i = 0, $$51 = 0, $$587$i = 0, $$a$3$i = 0, $$a$3185$i = 0, $$a$3186$i = 0, $$fl$4 = 0, $$l10n$0 = 0, $$lcssa = 0, $$lcssa159$i = 0, $$lcssa318 = 0, $$lcssa323 = 0, $$lcssa324 = 0, $$lcssa325 = 0, $$lcssa326 = 0, $$lcssa327 = 0; - var $$lcssa329 = 0, $$lcssa339 = 0, $$lcssa342 = 0.0, $$lcssa344 = 0, $$neg52$i = 0, $$neg53$i = 0, $$p$$i = 0, $$p$0 = 0, $$p$5 = 0, $$p$i = 0, $$pn$i = 0, $$pr$i = 0, $$pr47$i = 0, $$pre = 0, $$pre$i = 0, $$pre$phi184$iZ2D = 0, $$pre179$i = 0, $$pre182$i = 0, $$pre183$i = 0, $$pre193 = 0; - var $$sum$i = 0, $$sum15$i = 0, $$sum16$i = 0, $$z$3$i = 0, $$z$4$i = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0; +function _malloc($0) { + $0 = $0|0; + var $$$0192$i = 0, $$$0193$i = 0, $$$4236$i = 0, $$$4351$i = 0, $$$i = 0, $$0 = 0, $$0$i$i = 0, $$0$i$i$i = 0, $$0$i18$i = 0, $$01$i$i = 0, $$0189$i = 0, $$0192$lcssa$i = 0, $$01928$i = 0, $$0193$lcssa$i = 0, $$01937$i = 0, $$0197 = 0, $$0199 = 0, $$0206$i$i = 0, $$0207$i$i = 0, $$0211$i$i = 0; + var $$0212$i$i = 0, $$024371$i = 0, $$0287$i$i = 0, $$0288$i$i = 0, $$0289$i$i = 0, $$0295$i$i = 0, $$0296$i$i = 0, $$0342$i = 0, $$0344$i = 0, $$0345$i = 0, $$0347$i = 0, $$0353$i = 0, $$0358$i = 0, $$0359$$i = 0, $$0359$i = 0, $$0361$i = 0, $$0362$i = 0, $$0368$i = 0, $$1196$i = 0, $$1198$i = 0; + var $$124470$i = 0, $$1291$i$i = 0, $$1293$i$i = 0, $$1343$i = 0, $$1348$i = 0, $$1363$i = 0, $$1370$i = 0, $$1374$i = 0, $$2234253237$i = 0, $$2247$ph$i = 0, $$2253$ph$i = 0, $$2355$i = 0, $$3$i = 0, $$3$i$i = 0, $$3$i201 = 0, $$3350$i = 0, $$3372$i = 0, $$4$lcssa$i = 0, $$4$ph$i = 0, $$415$i = 0; + var $$4236$i = 0, $$4351$lcssa$i = 0, $$435114$i = 0, $$4357$$4$i = 0, $$4357$ph$i = 0, $$435713$i = 0, $$723948$i = 0, $$749$i = 0, $$pre = 0, $$pre$i = 0, $$pre$i$i = 0, $$pre$i19$i = 0, $$pre$i210 = 0, $$pre$i212 = 0, $$pre$phi$i$iZ2D = 0, $$pre$phi$i20$iZ2D = 0, $$pre$phi$i211Z2D = 0, $$pre$phi$iZ2D = 0, $$pre$phi11$i$iZ2D = 0, $$pre$phiZ2D = 0; + var $$pre10$i$i = 0, $$sink1$i = 0, $$sink1$i$i = 0, $$sink16$i = 0, $$sink2$i = 0, $$sink2$i204 = 0, $$sink3$i = 0, $1 = 0, $10 = 0, $100 = 0, $1000 = 0, $1001 = 0, $1002 = 0, $1003 = 0, $1004 = 0, $1005 = 0, $1006 = 0, $1007 = 0, $1008 = 0, $1009 = 0; + var $101 = 0, $1010 = 0, $1011 = 0, $1012 = 0, $1013 = 0, $1014 = 0, $1015 = 0, $1016 = 0, $1017 = 0, $1018 = 0, $1019 = 0, $102 = 0, $1020 = 0, $1021 = 0, $1022 = 0, $1023 = 0, $1024 = 0, $1025 = 0, $1026 = 0, $1027 = 0; + var $1028 = 0, $1029 = 0, $103 = 0, $1030 = 0, $1031 = 0, $1032 = 0, $1033 = 0, $1034 = 0, $1035 = 0, $1036 = 0, $1037 = 0, $1038 = 0, $1039 = 0, $104 = 0, $1040 = 0, $1041 = 0, $1042 = 0, $1043 = 0, $1044 = 0, $1045 = 0; + var $1046 = 0, $1047 = 0, $1048 = 0, $1049 = 0, $105 = 0, $1050 = 0, $1051 = 0, $1052 = 0, $1053 = 0, $1054 = 0, $1055 = 0, $1056 = 0, $1057 = 0, $1058 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0; var $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0; var $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0; var $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0; @@ -56870,21 +63337,21 @@ function _printf_core($f,$fmt,$ap,$nl_arg,$nl_type) { var $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0; var $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0; var $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0; - var $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0.0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0.0; + var $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0; var $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0; - var $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0.0, $392 = 0.0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0; - var $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0.0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0.0, $412 = 0.0, $413 = 0.0, $414 = 0.0, $415 = 0.0, $416 = 0.0, $417 = 0; + var $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0; + var $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0; var $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0; - var $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0, $442 = 0.0, $443 = 0.0, $444 = 0.0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0; + var $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0; var $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0; - var $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0.0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0.0, $486 = 0.0, $487 = 0.0, $488 = 0, $489 = 0, $49 = 0; + var $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0; var $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0; var $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0; var $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0, $531 = 0, $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0; var $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0, $549 = 0, $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0, $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0; var $562 = 0, $563 = 0, $564 = 0, $565 = 0, $566 = 0, $567 = 0, $568 = 0, $569 = 0, $57 = 0, $570 = 0, $571 = 0, $572 = 0, $573 = 0, $574 = 0, $575 = 0, $576 = 0, $577 = 0, $578 = 0, $579 = 0, $58 = 0; - var $580 = 0, $581 = 0, $582 = 0, $583 = 0, $584 = 0, $585 = 0, $586 = 0, $587 = 0, $588 = 0, $589 = 0, $59 = 0, $590 = 0, $591 = 0, $592 = 0, $593 = 0, $594 = 0, $595 = 0, $596 = 0.0, $597 = 0.0, $598 = 0; - var $599 = 0.0, $6 = 0, $60 = 0, $600 = 0, $601 = 0, $602 = 0, $603 = 0, $604 = 0, $605 = 0, $606 = 0, $607 = 0, $608 = 0, $609 = 0, $61 = 0, $610 = 0, $611 = 0, $612 = 0, $613 = 0, $614 = 0, $615 = 0; + var $580 = 0, $581 = 0, $582 = 0, $583 = 0, $584 = 0, $585 = 0, $586 = 0, $587 = 0, $588 = 0, $589 = 0, $59 = 0, $590 = 0, $591 = 0, $592 = 0, $593 = 0, $594 = 0, $595 = 0, $596 = 0, $597 = 0, $598 = 0; + var $599 = 0, $6 = 0, $60 = 0, $600 = 0, $601 = 0, $602 = 0, $603 = 0, $604 = 0, $605 = 0, $606 = 0, $607 = 0, $608 = 0, $609 = 0, $61 = 0, $610 = 0, $611 = 0, $612 = 0, $613 = 0, $614 = 0, $615 = 0; var $616 = 0, $617 = 0, $618 = 0, $619 = 0, $62 = 0, $620 = 0, $621 = 0, $622 = 0, $623 = 0, $624 = 0, $625 = 0, $626 = 0, $627 = 0, $628 = 0, $629 = 0, $63 = 0, $630 = 0, $631 = 0, $632 = 0, $633 = 0; var $634 = 0, $635 = 0, $636 = 0, $637 = 0, $638 = 0, $639 = 0, $64 = 0, $640 = 0, $641 = 0, $642 = 0, $643 = 0, $644 = 0, $645 = 0, $646 = 0, $647 = 0, $648 = 0, $649 = 0, $65 = 0, $650 = 0, $651 = 0; var $652 = 0, $653 = 0, $654 = 0, $655 = 0, $656 = 0, $657 = 0, $658 = 0, $659 = 0, $66 = 0, $660 = 0, $661 = 0, $662 = 0, $663 = 0, $664 = 0, $665 = 0, $666 = 0, $667 = 0, $668 = 0, $669 = 0, $67 = 0; @@ -56895,2876 +63362,64 @@ function _printf_core($f,$fmt,$ap,$nl_arg,$nl_type) { var $742 = 0, $743 = 0, $744 = 0, $745 = 0, $746 = 0, $747 = 0, $748 = 0, $749 = 0, $75 = 0, $750 = 0, $751 = 0, $752 = 0, $753 = 0, $754 = 0, $755 = 0, $756 = 0, $757 = 0, $758 = 0, $759 = 0, $76 = 0; var $760 = 0, $761 = 0, $762 = 0, $763 = 0, $764 = 0, $765 = 0, $766 = 0, $767 = 0, $768 = 0, $769 = 0, $77 = 0, $770 = 0, $771 = 0, $772 = 0, $773 = 0, $774 = 0, $775 = 0, $776 = 0, $777 = 0, $778 = 0; var $779 = 0, $78 = 0, $780 = 0, $781 = 0, $782 = 0, $783 = 0, $784 = 0, $785 = 0, $786 = 0, $787 = 0, $788 = 0, $789 = 0, $79 = 0, $790 = 0, $791 = 0, $792 = 0, $793 = 0, $794 = 0, $795 = 0, $796 = 0; - var $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0; - var $98 = 0, $99 = 0, $a$0 = 0, $a$1 = 0, $a$1$lcssa$i = 0, $a$1147$i = 0, $a$2 = 0, $a$2$ph$i = 0, $a$3$lcssa$i = 0, $a$3134$i = 0, $a$5$lcssa$i = 0, $a$5109$i = 0, $a$6$i = 0, $a$7$i = 0, $a$8$ph$i = 0, $arg = 0, $arglist_current = 0, $arglist_current2 = 0, $arglist_next = 0, $arglist_next3 = 0; - var $argpos$0 = 0, $big$i = 0, $buf = 0, $buf$i = 0, $carry$0140$i = 0, $carry3$0128$i = 0, $cnt$0 = 0, $cnt$1 = 0, $cnt$1$lcssa = 0, $d$0$i = 0, $d$0139$i = 0, $d$0141$i = 0, $d$1127$i = 0, $d$2$lcssa$i = 0, $d$2108$i = 0, $d$3$i = 0, $d$482$i = 0, $d$575$i = 0, $d$686$i = 0, $e$0123$i = 0; - var $e$1$i = 0, $e$2104$i = 0, $e$3$i = 0, $e$4$ph$i = 0, $e2$i = 0, $ebuf0$i = 0, $estr$0$i = 0, $estr$1$lcssa$i = 0, $estr$193$i = 0, $estr$2$i = 0, $exitcond$i = 0, $expanded = 0, $expanded10 = 0, $expanded11 = 0, $expanded13 = 0, $expanded14 = 0, $expanded15 = 0, $expanded4 = 0, $expanded6 = 0, $expanded7 = 0; - var $expanded8 = 0, $fl$0109 = 0, $fl$062 = 0, $fl$1 = 0, $fl$1$ = 0, $fl$3 = 0, $fl$4 = 0, $fl$6 = 0, $fmt39$lcssa = 0, $fmt39101 = 0, $fmt40 = 0, $fmt41 = 0, $fmt42 = 0, $fmt44 = 0, $fmt44$lcssa321 = 0, $fmt45 = 0, $i$0$lcssa = 0, $i$0$lcssa200 = 0, $i$0114 = 0, $i$0122$i = 0; - var $i$03$i = 0, $i$03$i25 = 0, $i$1$lcssa$i = 0, $i$1116$i = 0, $i$1125 = 0, $i$2100 = 0, $i$2100$lcssa = 0, $i$2103$i = 0, $i$398 = 0, $i$399$i = 0, $isdigit = 0, $isdigit$i = 0, $isdigit$i27 = 0, $isdigit10 = 0, $isdigit12 = 0, $isdigit2$i = 0, $isdigit2$i23 = 0, $isdigittmp = 0, $isdigittmp$ = 0, $isdigittmp$i = 0; - var $isdigittmp$i26 = 0, $isdigittmp1$i = 0, $isdigittmp1$i22 = 0, $isdigittmp11 = 0, $isdigittmp4$i = 0, $isdigittmp4$i24 = 0, $isdigittmp9 = 0, $j$0$i = 0, $j$0115$i = 0, $j$0117$i = 0, $j$1100$i = 0, $j$2$i = 0, $l$0 = 0, $l$0$i = 0, $l$1$i = 0, $l$1113 = 0, $l$2 = 0, $l10n$0 = 0, $l10n$0$lcssa = 0, $l10n$0$phi = 0; - var $l10n$1 = 0, $l10n$2 = 0, $l10n$3 = 0, $mb = 0, $notlhs$i = 0, $notrhs$i = 0, $or$cond = 0, $or$cond$i = 0, $or$cond15 = 0, $or$cond17 = 0, $or$cond20 = 0, $or$cond240 = 0, $or$cond29$i = 0, $or$cond3$not$i = 0, $or$cond6$i = 0, $p$0 = 0, $p$1 = 0, $p$2 = 0, $p$2$ = 0, $p$3 = 0; - var $p$4198 = 0, $p$5 = 0, $pl$0 = 0, $pl$0$i = 0, $pl$1 = 0, $pl$1$i = 0, $pl$2 = 0, $prefix$0 = 0, $prefix$0$$i = 0, $prefix$0$i = 0, $prefix$1 = 0, $prefix$2 = 0, $r$0$a$8$i = 0, $re$169$i = 0, $round$068$i = 0.0, $round6$1$i = 0.0, $s$0$i = 0, $s$1$i = 0, $s$1$i$lcssa = 0, $s1$0$i = 0; - var $s7$079$i = 0, $s7$1$i = 0, $s8$0$lcssa$i = 0, $s8$070$i = 0, $s9$0$i = 0, $s9$183$i = 0, $s9$2$i = 0, $small$0$i = 0.0, $small$1$i = 0.0, $st$0 = 0, $st$0$lcssa322 = 0, $storemerge = 0, $storemerge13 = 0, $storemerge8108 = 0, $storemerge860 = 0, $sum = 0, $t$0 = 0, $t$1 = 0, $w$$i = 0, $w$0 = 0; - var $w$1 = 0, $w$2 = 0, $w$30$i = 0, $wc = 0, $ws$0115 = 0, $ws$1126 = 0, $z$0$i = 0, $z$0$lcssa = 0, $z$0102 = 0, $z$1 = 0, $z$1$lcssa$i = 0, $z$1146$i = 0, $z$2 = 0, $z$2$i = 0, $z$2$i$lcssa = 0, $z$3$lcssa$i = 0, $z$3133$i = 0, $z$4$i = 0, $z$6$$i = 0, $z$6$i = 0; - var $z$6$i$lcssa = 0, $z$6$ph$i = 0, label = 0, sp = 0; + var $797 = 0, $798 = 0, $799 = 0, $8 = 0, $80 = 0, $800 = 0, $801 = 0, $802 = 0, $803 = 0, $804 = 0, $805 = 0, $806 = 0, $807 = 0, $808 = 0, $809 = 0, $81 = 0, $810 = 0, $811 = 0, $812 = 0, $813 = 0; + var $814 = 0, $815 = 0, $816 = 0, $817 = 0, $818 = 0, $819 = 0, $82 = 0, $820 = 0, $821 = 0, $822 = 0, $823 = 0, $824 = 0, $825 = 0, $826 = 0, $827 = 0, $828 = 0, $829 = 0, $83 = 0, $830 = 0, $831 = 0; + var $832 = 0, $833 = 0, $834 = 0, $835 = 0, $836 = 0, $837 = 0, $838 = 0, $839 = 0, $84 = 0, $840 = 0, $841 = 0, $842 = 0, $843 = 0, $844 = 0, $845 = 0, $846 = 0, $847 = 0, $848 = 0, $849 = 0, $85 = 0; + var $850 = 0, $851 = 0, $852 = 0, $853 = 0, $854 = 0, $855 = 0, $856 = 0, $857 = 0, $858 = 0, $859 = 0, $86 = 0, $860 = 0, $861 = 0, $862 = 0, $863 = 0, $864 = 0, $865 = 0, $866 = 0, $867 = 0, $868 = 0; + var $869 = 0, $87 = 0, $870 = 0, $871 = 0, $872 = 0, $873 = 0, $874 = 0, $875 = 0, $876 = 0, $877 = 0, $878 = 0, $879 = 0, $88 = 0, $880 = 0, $881 = 0, $882 = 0, $883 = 0, $884 = 0, $885 = 0, $886 = 0; + var $887 = 0, $888 = 0, $889 = 0, $89 = 0, $890 = 0, $891 = 0, $892 = 0, $893 = 0, $894 = 0, $895 = 0, $896 = 0, $897 = 0, $898 = 0, $899 = 0, $9 = 0, $90 = 0, $900 = 0, $901 = 0, $902 = 0, $903 = 0; + var $904 = 0, $905 = 0, $906 = 0, $907 = 0, $908 = 0, $909 = 0, $91 = 0, $910 = 0, $911 = 0, $912 = 0, $913 = 0, $914 = 0, $915 = 0, $916 = 0, $917 = 0, $918 = 0, $919 = 0, $92 = 0, $920 = 0, $921 = 0; + var $922 = 0, $923 = 0, $924 = 0, $925 = 0, $926 = 0, $927 = 0, $928 = 0, $929 = 0, $93 = 0, $930 = 0, $931 = 0, $932 = 0, $933 = 0, $934 = 0, $935 = 0, $936 = 0, $937 = 0, $938 = 0, $939 = 0, $94 = 0; + var $940 = 0, $941 = 0, $942 = 0, $943 = 0, $944 = 0, $945 = 0, $946 = 0, $947 = 0, $948 = 0, $949 = 0, $95 = 0, $950 = 0, $951 = 0, $952 = 0, $953 = 0, $954 = 0, $955 = 0, $956 = 0, $957 = 0, $958 = 0; + var $959 = 0, $96 = 0, $960 = 0, $961 = 0, $962 = 0, $963 = 0, $964 = 0, $965 = 0, $966 = 0, $967 = 0, $968 = 0, $969 = 0, $97 = 0, $970 = 0, $971 = 0, $972 = 0, $973 = 0, $974 = 0, $975 = 0, $976 = 0; + var $977 = 0, $978 = 0, $979 = 0, $98 = 0, $980 = 0, $981 = 0, $982 = 0, $983 = 0, $984 = 0, $985 = 0, $986 = 0, $987 = 0, $988 = 0, $989 = 0, $99 = 0, $990 = 0, $991 = 0, $992 = 0, $993 = 0, $994 = 0; + var $995 = 0, $996 = 0, $997 = 0, $998 = 0, $999 = 0, $cond$i = 0, $cond$i$i = 0, $cond$i208 = 0, $exitcond$i$i = 0, $not$$i = 0, $not$$i$i = 0, $not$$i17$i = 0, $not$$i209 = 0, $not$$i216 = 0, $not$1$i = 0, $not$1$i203 = 0, $not$5$i = 0, $not$7$i$i = 0, $not$8$i = 0, $not$9$i = 0; + var $or$cond$i = 0, $or$cond$i214 = 0, $or$cond1$i = 0, $or$cond10$i = 0, $or$cond11$i = 0, $or$cond11$not$i = 0, $or$cond12$i = 0, $or$cond2$i = 0, $or$cond2$i215 = 0, $or$cond5$i = 0, $or$cond50$i = 0, $or$cond51$i = 0, $or$cond7$i = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 624|0; - $big$i = sp + 24|0; - $e2$i = sp + 16|0; - $buf$i = sp + 588|0; - $ebuf0$i = sp + 576|0; - $arg = sp; - $buf = sp + 536|0; - $wc = sp + 8|0; - $mb = sp + 528|0; - $0 = ($f|0)!=(0|0); - $1 = ((($buf)) + 40|0); - $2 = $1; - $3 = ((($buf)) + 39|0); - $4 = ((($wc)) + 4|0); - $5 = ((($ebuf0$i)) + 12|0); - $6 = ((($ebuf0$i)) + 11|0); - $7 = $buf$i; - $8 = $5; - $9 = (($8) - ($7))|0; - $10 = (-2 - ($7))|0; - $11 = (($8) + 2)|0; - $12 = ((($big$i)) + 288|0); - $13 = ((($buf$i)) + 9|0); - $14 = $13; - $15 = ((($buf$i)) + 8|0); - $cnt$0 = 0;$fmt41 = $fmt;$l$0 = 0;$l10n$0 = 0; - L1: while(1) { - $16 = ($cnt$0|0)>(-1); - do { - if ($16) { - $17 = (2147483647 - ($cnt$0))|0; - $18 = ($l$0|0)>($17|0); - if ($18) { - $19 = (___errno_location()|0); - HEAP32[$19>>2] = 75; - $cnt$1 = -1; - break; - } else { - $20 = (($l$0) + ($cnt$0))|0; - $cnt$1 = $20; - break; - } - } else { - $cnt$1 = $cnt$0; - } - } while(0); - $21 = HEAP8[$fmt41>>0]|0; - $22 = ($21<<24>>24)==(0); - if ($22) { - $cnt$1$lcssa = $cnt$1;$l10n$0$lcssa = $l10n$0; - label = 245; - break; - } else { - $23 = $21;$fmt40 = $fmt41; - } - L9: while(1) { - switch ($23<<24>>24) { - case 37: { - $fmt39101 = $fmt40;$z$0102 = $fmt40; - label = 9; - break L9; - break; - } - case 0: { - $fmt39$lcssa = $fmt40;$z$0$lcssa = $fmt40; - break L9; - break; - } - default: { - } - } - $24 = ((($fmt40)) + 1|0); - $$pre = HEAP8[$24>>0]|0; - $23 = $$pre;$fmt40 = $24; - } - L12: do { - if ((label|0) == 9) { - while(1) { - label = 0; - $25 = ((($fmt39101)) + 1|0); - $26 = HEAP8[$25>>0]|0; - $27 = ($26<<24>>24)==(37); - if (!($27)) { - $fmt39$lcssa = $fmt39101;$z$0$lcssa = $z$0102; - break L12; - } - $28 = ((($z$0102)) + 1|0); - $29 = ((($fmt39101)) + 2|0); - $30 = HEAP8[$29>>0]|0; - $31 = ($30<<24>>24)==(37); - if ($31) { - $fmt39101 = $29;$z$0102 = $28; - label = 9; - } else { - $fmt39$lcssa = $29;$z$0$lcssa = $28; - break; - } - } - } - } while(0); - $32 = $z$0$lcssa; - $33 = $fmt41; - $34 = (($32) - ($33))|0; - if ($0) { - $35 = HEAP32[$f>>2]|0; - $36 = $35 & 32; - $37 = ($36|0)==(0); - if ($37) { - (___fwritex($fmt41,$34,$f)|0); - } - } - $38 = ($z$0$lcssa|0)==($fmt41|0); - if (!($38)) { - $l10n$0$phi = $l10n$0;$cnt$0 = $cnt$1;$fmt41 = $fmt39$lcssa;$l$0 = $34;$l10n$0 = $l10n$0$phi; - continue; - } - $39 = ((($fmt39$lcssa)) + 1|0); - $40 = HEAP8[$39>>0]|0; - $41 = $40 << 24 >> 24; - $isdigittmp = (($41) + -48)|0; - $isdigit = ($isdigittmp>>>0)<(10); - if ($isdigit) { - $42 = ((($fmt39$lcssa)) + 2|0); - $43 = HEAP8[$42>>0]|0; - $44 = ($43<<24>>24)==(36); - $45 = ((($fmt39$lcssa)) + 3|0); - $$51 = $44 ? $45 : $39; - $$l10n$0 = $44 ? 1 : $l10n$0; - $isdigittmp$ = $44 ? $isdigittmp : -1; - $$pre193 = HEAP8[$$51>>0]|0; - $47 = $$pre193;$argpos$0 = $isdigittmp$;$l10n$1 = $$l10n$0;$storemerge = $$51; - } else { - $47 = $40;$argpos$0 = -1;$l10n$1 = $l10n$0;$storemerge = $39; - } - $46 = $47 << 24 >> 24; - $48 = $46 & -32; - $49 = ($48|0)==(32); - L25: do { - if ($49) { - $51 = $46;$56 = $47;$fl$0109 = 0;$storemerge8108 = $storemerge; - while(1) { - $50 = (($51) + -32)|0; - $52 = 1 << $50; - $53 = $52 & 75913; - $54 = ($53|0)==(0); - if ($54) { - $65 = $56;$fl$062 = $fl$0109;$storemerge860 = $storemerge8108; - break L25; - } - $55 = $56 << 24 >> 24; - $57 = (($55) + -32)|0; - $58 = 1 << $57; - $59 = $58 | $fl$0109; - $60 = ((($storemerge8108)) + 1|0); - $61 = HEAP8[$60>>0]|0; - $62 = $61 << 24 >> 24; - $63 = $62 & -32; - $64 = ($63|0)==(32); - if ($64) { - $51 = $62;$56 = $61;$fl$0109 = $59;$storemerge8108 = $60; - } else { - $65 = $61;$fl$062 = $59;$storemerge860 = $60; - break; - } - } - } else { - $65 = $47;$fl$062 = 0;$storemerge860 = $storemerge; - } - } while(0); - $66 = ($65<<24>>24)==(42); - do { - if ($66) { - $67 = ((($storemerge860)) + 1|0); - $68 = HEAP8[$67>>0]|0; - $69 = $68 << 24 >> 24; - $isdigittmp11 = (($69) + -48)|0; - $isdigit12 = ($isdigittmp11>>>0)<(10); - if ($isdigit12) { - $70 = ((($storemerge860)) + 2|0); - $71 = HEAP8[$70>>0]|0; - $72 = ($71<<24>>24)==(36); - if ($72) { - $73 = (($nl_type) + ($isdigittmp11<<2)|0); - HEAP32[$73>>2] = 10; - $74 = HEAP8[$67>>0]|0; - $75 = $74 << 24 >> 24; - $76 = (($75) + -48)|0; - $77 = (($nl_arg) + ($76<<3)|0); - $78 = $77; - $79 = $78; - $80 = HEAP32[$79>>2]|0; - $81 = (($78) + 4)|0; - $82 = $81; - $83 = HEAP32[$82>>2]|0; - $84 = ((($storemerge860)) + 3|0); - $l10n$2 = 1;$storemerge13 = $84;$w$0 = $80; - } else { - label = 24; - } - } else { - label = 24; - } - if ((label|0) == 24) { - label = 0; - $85 = ($l10n$1|0)==(0); - if (!($85)) { - $$0 = -1; - break L1; - } - if (!($0)) { - $fl$1 = $fl$062;$fmt42 = $67;$l10n$3 = 0;$w$1 = 0; - break; - } - $arglist_current = HEAP32[$ap>>2]|0; - $86 = $arglist_current; - $87 = ((0) + 4|0); - $expanded4 = $87; - $expanded = (($expanded4) - 1)|0; - $88 = (($86) + ($expanded))|0; - $89 = ((0) + 4|0); - $expanded8 = $89; - $expanded7 = (($expanded8) - 1)|0; - $expanded6 = $expanded7 ^ -1; - $90 = $88 & $expanded6; - $91 = $90; - $92 = HEAP32[$91>>2]|0; - $arglist_next = ((($91)) + 4|0); - HEAP32[$ap>>2] = $arglist_next; - $l10n$2 = 0;$storemerge13 = $67;$w$0 = $92; - } - $93 = ($w$0|0)<(0); - if ($93) { - $94 = $fl$062 | 8192; - $95 = (0 - ($w$0))|0; - $fl$1 = $94;$fmt42 = $storemerge13;$l10n$3 = $l10n$2;$w$1 = $95; - } else { - $fl$1 = $fl$062;$fmt42 = $storemerge13;$l10n$3 = $l10n$2;$w$1 = $w$0; - } - } else { - $96 = $65 << 24 >> 24; - $isdigittmp1$i = (($96) + -48)|0; - $isdigit2$i = ($isdigittmp1$i>>>0)<(10); - if ($isdigit2$i) { - $100 = $storemerge860;$i$03$i = 0;$isdigittmp4$i = $isdigittmp1$i; - while(1) { - $97 = ($i$03$i*10)|0; - $98 = (($97) + ($isdigittmp4$i))|0; - $99 = ((($100)) + 1|0); - $101 = HEAP8[$99>>0]|0; - $102 = $101 << 24 >> 24; - $isdigittmp$i = (($102) + -48)|0; - $isdigit$i = ($isdigittmp$i>>>0)<(10); - if ($isdigit$i) { - $100 = $99;$i$03$i = $98;$isdigittmp4$i = $isdigittmp$i; - } else { - $$lcssa = $98;$$lcssa318 = $99; - break; - } - } - $103 = ($$lcssa|0)<(0); - if ($103) { - $$0 = -1; - break L1; - } else { - $fl$1 = $fl$062;$fmt42 = $$lcssa318;$l10n$3 = $l10n$1;$w$1 = $$lcssa; - } - } else { - $fl$1 = $fl$062;$fmt42 = $storemerge860;$l10n$3 = $l10n$1;$w$1 = 0; - } - } - } while(0); - $104 = HEAP8[$fmt42>>0]|0; - $105 = ($104<<24>>24)==(46); - L46: do { - if ($105) { - $106 = ((($fmt42)) + 1|0); - $107 = HEAP8[$106>>0]|0; - $108 = ($107<<24>>24)==(42); - if (!($108)) { - $135 = $107 << 24 >> 24; - $isdigittmp1$i22 = (($135) + -48)|0; - $isdigit2$i23 = ($isdigittmp1$i22>>>0)<(10); - if ($isdigit2$i23) { - $139 = $106;$i$03$i25 = 0;$isdigittmp4$i24 = $isdigittmp1$i22; - } else { - $fmt45 = $106;$p$0 = 0; - break; - } - while(1) { - $136 = ($i$03$i25*10)|0; - $137 = (($136) + ($isdigittmp4$i24))|0; - $138 = ((($139)) + 1|0); - $140 = HEAP8[$138>>0]|0; - $141 = $140 << 24 >> 24; - $isdigittmp$i26 = (($141) + -48)|0; - $isdigit$i27 = ($isdigittmp$i26>>>0)<(10); - if ($isdigit$i27) { - $139 = $138;$i$03$i25 = $137;$isdigittmp4$i24 = $isdigittmp$i26; - } else { - $fmt45 = $138;$p$0 = $137; - break L46; - } - } - } - $109 = ((($fmt42)) + 2|0); - $110 = HEAP8[$109>>0]|0; - $111 = $110 << 24 >> 24; - $isdigittmp9 = (($111) + -48)|0; - $isdigit10 = ($isdigittmp9>>>0)<(10); - if ($isdigit10) { - $112 = ((($fmt42)) + 3|0); - $113 = HEAP8[$112>>0]|0; - $114 = ($113<<24>>24)==(36); - if ($114) { - $115 = (($nl_type) + ($isdigittmp9<<2)|0); - HEAP32[$115>>2] = 10; - $116 = HEAP8[$109>>0]|0; - $117 = $116 << 24 >> 24; - $118 = (($117) + -48)|0; - $119 = (($nl_arg) + ($118<<3)|0); - $120 = $119; - $121 = $120; - $122 = HEAP32[$121>>2]|0; - $123 = (($120) + 4)|0; - $124 = $123; - $125 = HEAP32[$124>>2]|0; - $126 = ((($fmt42)) + 4|0); - $fmt45 = $126;$p$0 = $122; - break; - } - } - $127 = ($l10n$3|0)==(0); - if (!($127)) { - $$0 = -1; - break L1; - } - if ($0) { - $arglist_current2 = HEAP32[$ap>>2]|0; - $128 = $arglist_current2; - $129 = ((0) + 4|0); - $expanded11 = $129; - $expanded10 = (($expanded11) - 1)|0; - $130 = (($128) + ($expanded10))|0; - $131 = ((0) + 4|0); - $expanded15 = $131; - $expanded14 = (($expanded15) - 1)|0; - $expanded13 = $expanded14 ^ -1; - $132 = $130 & $expanded13; - $133 = $132; - $134 = HEAP32[$133>>2]|0; - $arglist_next3 = ((($133)) + 4|0); - HEAP32[$ap>>2] = $arglist_next3; - $fmt45 = $109;$p$0 = $134; - } else { - $fmt45 = $109;$p$0 = 0; - } - } else { - $fmt45 = $fmt42;$p$0 = -1; - } - } while(0); - $fmt44 = $fmt45;$st$0 = 0; - while(1) { - $142 = HEAP8[$fmt44>>0]|0; - $143 = $142 << 24 >> 24; - $144 = (($143) + -65)|0; - $145 = ($144>>>0)>(57); - if ($145) { - $$0 = -1; - break L1; - } - $146 = ((($fmt44)) + 1|0); - $147 = ((29331 + (($st$0*58)|0)|0) + ($144)|0); - $148 = HEAP8[$147>>0]|0; - $149 = $148&255; - $150 = (($149) + -1)|0; - $151 = ($150>>>0)<(8); - if ($151) { - $fmt44 = $146;$st$0 = $149; - } else { - $$lcssa323 = $146;$$lcssa324 = $148;$$lcssa325 = $149;$fmt44$lcssa321 = $fmt44;$st$0$lcssa322 = $st$0; - break; - } - } - $152 = ($$lcssa324<<24>>24)==(0); - if ($152) { - $$0 = -1; - break; - } - $153 = ($$lcssa324<<24>>24)==(19); - $154 = ($argpos$0|0)>(-1); - do { - if ($153) { - if ($154) { - $$0 = -1; - break L1; - } else { - label = 52; - } - } else { - if ($154) { - $155 = (($nl_type) + ($argpos$0<<2)|0); - HEAP32[$155>>2] = $$lcssa325; - $156 = (($nl_arg) + ($argpos$0<<3)|0); - $157 = $156; - $158 = $157; - $159 = HEAP32[$158>>2]|0; - $160 = (($157) + 4)|0; - $161 = $160; - $162 = HEAP32[$161>>2]|0; - $163 = $arg; - $164 = $163; - HEAP32[$164>>2] = $159; - $165 = (($163) + 4)|0; - $166 = $165; - HEAP32[$166>>2] = $162; - label = 52; - break; - } - if (!($0)) { - $$0 = 0; - break L1; - } - _pop_arg($arg,$$lcssa325,$ap); - } - } while(0); - if ((label|0) == 52) { - label = 0; - if (!($0)) { - $cnt$0 = $cnt$1;$fmt41 = $$lcssa323;$l$0 = $34;$l10n$0 = $l10n$3; - continue; - } - } - $167 = HEAP8[$fmt44$lcssa321>>0]|0; - $168 = $167 << 24 >> 24; - $169 = ($st$0$lcssa322|0)!=(0); - $170 = $168 & 15; - $171 = ($170|0)==(3); - $or$cond15 = $169 & $171; - $172 = $168 & -33; - $t$0 = $or$cond15 ? $172 : $168; - $173 = $fl$1 & 8192; - $174 = ($173|0)==(0); - $175 = $fl$1 & -65537; - $fl$1$ = $174 ? $fl$1 : $175; - L75: do { - switch ($t$0|0) { - case 110: { - switch ($st$0$lcssa322|0) { - case 0: { - $182 = HEAP32[$arg>>2]|0; - HEAP32[$182>>2] = $cnt$1; - $cnt$0 = $cnt$1;$fmt41 = $$lcssa323;$l$0 = $34;$l10n$0 = $l10n$3; - continue L1; - break; - } - case 1: { - $183 = HEAP32[$arg>>2]|0; - HEAP32[$183>>2] = $cnt$1; - $cnt$0 = $cnt$1;$fmt41 = $$lcssa323;$l$0 = $34;$l10n$0 = $l10n$3; - continue L1; - break; - } - case 2: { - $184 = ($cnt$1|0)<(0); - $185 = $184 << 31 >> 31; - $186 = HEAP32[$arg>>2]|0; - $187 = $186; - $188 = $187; - HEAP32[$188>>2] = $cnt$1; - $189 = (($187) + 4)|0; - $190 = $189; - HEAP32[$190>>2] = $185; - $cnt$0 = $cnt$1;$fmt41 = $$lcssa323;$l$0 = $34;$l10n$0 = $l10n$3; - continue L1; - break; - } - case 3: { - $191 = $cnt$1&65535; - $192 = HEAP32[$arg>>2]|0; - HEAP16[$192>>1] = $191; - $cnt$0 = $cnt$1;$fmt41 = $$lcssa323;$l$0 = $34;$l10n$0 = $l10n$3; - continue L1; - break; - } - case 4: { - $193 = $cnt$1&255; - $194 = HEAP32[$arg>>2]|0; - HEAP8[$194>>0] = $193; - $cnt$0 = $cnt$1;$fmt41 = $$lcssa323;$l$0 = $34;$l10n$0 = $l10n$3; - continue L1; - break; - } - case 6: { - $195 = HEAP32[$arg>>2]|0; - HEAP32[$195>>2] = $cnt$1; - $cnt$0 = $cnt$1;$fmt41 = $$lcssa323;$l$0 = $34;$l10n$0 = $l10n$3; - continue L1; - break; - } - case 7: { - $196 = ($cnt$1|0)<(0); - $197 = $196 << 31 >> 31; - $198 = HEAP32[$arg>>2]|0; - $199 = $198; - $200 = $199; - HEAP32[$200>>2] = $cnt$1; - $201 = (($199) + 4)|0; - $202 = $201; - HEAP32[$202>>2] = $197; - $cnt$0 = $cnt$1;$fmt41 = $$lcssa323;$l$0 = $34;$l10n$0 = $l10n$3; - continue L1; - break; - } - default: { - $cnt$0 = $cnt$1;$fmt41 = $$lcssa323;$l$0 = $34;$l10n$0 = $l10n$3; - continue L1; - } - } - break; - } - case 112: { - $203 = ($p$0>>>0)>(8); - $204 = $203 ? $p$0 : 8; - $205 = $fl$1$ | 8; - $fl$3 = $205;$p$1 = $204;$t$1 = 120; - label = 64; - break; - } - case 88: case 120: { - $fl$3 = $fl$1$;$p$1 = $p$0;$t$1 = $t$0; - label = 64; - break; - } - case 111: { - $243 = $arg; - $244 = $243; - $245 = HEAP32[$244>>2]|0; - $246 = (($243) + 4)|0; - $247 = $246; - $248 = HEAP32[$247>>2]|0; - $249 = ($245|0)==(0); - $250 = ($248|0)==(0); - $251 = $249 & $250; - if ($251) { - $$0$lcssa$i = $1; - } else { - $$03$i33 = $1;$253 = $245;$257 = $248; - while(1) { - $252 = $253 & 7; - $254 = $252 | 48; - $255 = $254&255; - $256 = ((($$03$i33)) + -1|0); - HEAP8[$256>>0] = $255; - $258 = (_bitshift64Lshr(($253|0),($257|0),3)|0); - $259 = tempRet0; - $260 = ($258|0)==(0); - $261 = ($259|0)==(0); - $262 = $260 & $261; - if ($262) { - $$0$lcssa$i = $256; - break; - } else { - $$03$i33 = $256;$253 = $258;$257 = $259; - } - } - } - $263 = $fl$1$ & 8; - $264 = ($263|0)==(0); - if ($264) { - $a$0 = $$0$lcssa$i;$fl$4 = $fl$1$;$p$2 = $p$0;$pl$1 = 0;$prefix$1 = 29811; - label = 77; - } else { - $265 = $$0$lcssa$i; - $266 = (($2) - ($265))|0; - $267 = (($266) + 1)|0; - $268 = ($p$0|0)<($267|0); - $$p$0 = $268 ? $267 : $p$0; - $a$0 = $$0$lcssa$i;$fl$4 = $fl$1$;$p$2 = $$p$0;$pl$1 = 0;$prefix$1 = 29811; - label = 77; - } - break; - } - case 105: case 100: { - $269 = $arg; - $270 = $269; - $271 = HEAP32[$270>>2]|0; - $272 = (($269) + 4)|0; - $273 = $272; - $274 = HEAP32[$273>>2]|0; - $275 = ($274|0)<(0); - if ($275) { - $276 = (_i64Subtract(0,0,($271|0),($274|0))|0); - $277 = tempRet0; - $278 = $arg; - $279 = $278; - HEAP32[$279>>2] = $276; - $280 = (($278) + 4)|0; - $281 = $280; - HEAP32[$281>>2] = $277; - $286 = $276;$287 = $277;$pl$0 = 1;$prefix$0 = 29811; - label = 76; - break L75; - } - $282 = $fl$1$ & 2048; - $283 = ($282|0)==(0); - if ($283) { - $284 = $fl$1$ & 1; - $285 = ($284|0)==(0); - $$ = $285 ? 29811 : (29813); - $286 = $271;$287 = $274;$pl$0 = $284;$prefix$0 = $$; - label = 76; - } else { - $286 = $271;$287 = $274;$pl$0 = 1;$prefix$0 = (29812); - label = 76; - } - break; - } - case 117: { - $176 = $arg; - $177 = $176; - $178 = HEAP32[$177>>2]|0; - $179 = (($176) + 4)|0; - $180 = $179; - $181 = HEAP32[$180>>2]|0; - $286 = $178;$287 = $181;$pl$0 = 0;$prefix$0 = 29811; - label = 76; - break; - } - case 99: { - $307 = $arg; - $308 = $307; - $309 = HEAP32[$308>>2]|0; - $310 = (($307) + 4)|0; - $311 = $310; - $312 = HEAP32[$311>>2]|0; - $313 = $309&255; - HEAP8[$3>>0] = $313; - $a$2 = $3;$fl$6 = $175;$p$5 = 1;$pl$2 = 0;$prefix$2 = 29811;$z$2 = $1; - break; - } - case 109: { - $314 = (___errno_location()|0); - $315 = HEAP32[$314>>2]|0; - $316 = (_strerror($315)|0); - $a$1 = $316; - label = 82; - break; - } - case 115: { - $317 = HEAP32[$arg>>2]|0; - $318 = ($317|0)!=(0|0); - $319 = $318 ? $317 : 29821; - $a$1 = $319; - label = 82; - break; - } - case 67: { - $326 = $arg; - $327 = $326; - $328 = HEAP32[$327>>2]|0; - $329 = (($326) + 4)|0; - $330 = $329; - $331 = HEAP32[$330>>2]|0; - HEAP32[$wc>>2] = $328; - HEAP32[$4>>2] = 0; - HEAP32[$arg>>2] = $wc; - $p$4198 = -1; - label = 86; - break; - } - case 83: { - $332 = ($p$0|0)==(0); - if ($332) { - _pad($f,32,$w$1,0,$fl$1$); - $i$0$lcssa200 = 0; - label = 98; - } else { - $p$4198 = $p$0; - label = 86; - } - break; - } - case 65: case 71: case 70: case 69: case 97: case 103: case 102: case 101: { - $359 = +HEAPF64[$arg>>3]; - HEAP32[$e2$i>>2] = 0; - HEAPF64[tempDoublePtr>>3] = $359;$360 = HEAP32[tempDoublePtr>>2]|0; - $361 = HEAP32[tempDoublePtr+4>>2]|0; - $362 = ($361|0)<(0); - if ($362) { - $363 = -$359; - $$07$i = $363;$pl$0$i = 1;$prefix$0$i = 29828; - } else { - $364 = $fl$1$ & 2048; - $365 = ($364|0)==(0); - if ($365) { - $366 = $fl$1$ & 1; - $367 = ($366|0)==(0); - $$$i = $367 ? (29829) : (29834); - $$07$i = $359;$pl$0$i = $366;$prefix$0$i = $$$i; - } else { - $$07$i = $359;$pl$0$i = 1;$prefix$0$i = (29831); - } - } - HEAPF64[tempDoublePtr>>3] = $$07$i;$368 = HEAP32[tempDoublePtr>>2]|0; - $369 = HEAP32[tempDoublePtr+4>>2]|0; - $370 = $369 & 2146435072; - $371 = ($370>>>0)<(2146435072); - $372 = (0)<(0); - $373 = ($370|0)==(2146435072); - $374 = $373 & $372; - $375 = $371 | $374; - do { - if ($375) { - $391 = (+_frexpl($$07$i,$e2$i)); - $392 = $391 * 2.0; - $393 = $392 != 0.0; - if ($393) { - $394 = HEAP32[$e2$i>>2]|0; - $395 = (($394) + -1)|0; - HEAP32[$e2$i>>2] = $395; - } - $396 = $t$0 | 32; - $397 = ($396|0)==(97); - if ($397) { - $398 = $t$0 & 32; - $399 = ($398|0)==(0); - $400 = ((($prefix$0$i)) + 9|0); - $prefix$0$$i = $399 ? $prefix$0$i : $400; - $401 = $pl$0$i | 2; - $402 = ($p$0>>>0)>(11); - $403 = (12 - ($p$0))|0; - $404 = ($403|0)==(0); - $405 = $402 | $404; - do { - if ($405) { - $$1$i = $392; - } else { - $re$169$i = $403;$round$068$i = 8.0; - while(1) { - $406 = (($re$169$i) + -1)|0; - $407 = $round$068$i * 16.0; - $408 = ($406|0)==(0); - if ($408) { - $$lcssa342 = $407; - break; - } else { - $re$169$i = $406;$round$068$i = $407; - } - } - $409 = HEAP8[$prefix$0$$i>>0]|0; - $410 = ($409<<24>>24)==(45); - if ($410) { - $411 = -$392; - $412 = $411 - $$lcssa342; - $413 = $$lcssa342 + $412; - $414 = -$413; - $$1$i = $414; - break; - } else { - $415 = $392 + $$lcssa342; - $416 = $415 - $$lcssa342; - $$1$i = $416; - break; - } - } - } while(0); - $417 = HEAP32[$e2$i>>2]|0; - $418 = ($417|0)<(0); - $419 = (0 - ($417))|0; - $420 = $418 ? $419 : $417; - $421 = ($420|0)<(0); - $422 = $421 << 31 >> 31; - $423 = (_fmt_u($420,$422,$5)|0); - $424 = ($423|0)==($5|0); - if ($424) { - HEAP8[$6>>0] = 48; - $estr$0$i = $6; - } else { - $estr$0$i = $423; - } - $425 = $417 >> 31; - $426 = $425 & 2; - $427 = (($426) + 43)|0; - $428 = $427&255; - $429 = ((($estr$0$i)) + -1|0); - HEAP8[$429>>0] = $428; - $430 = (($t$0) + 15)|0; - $431 = $430&255; - $432 = ((($estr$0$i)) + -2|0); - HEAP8[$432>>0] = $431; - $notrhs$i = ($p$0|0)<(1); - $433 = $fl$1$ & 8; - $434 = ($433|0)==(0); - $$2$i = $$1$i;$s$0$i = $buf$i; - while(1) { - $435 = (~~(($$2$i))); - $436 = (29795 + ($435)|0); - $437 = HEAP8[$436>>0]|0; - $438 = $437&255; - $439 = $438 | $398; - $440 = $439&255; - $441 = ((($s$0$i)) + 1|0); - HEAP8[$s$0$i>>0] = $440; - $442 = (+($435|0)); - $443 = $$2$i - $442; - $444 = $443 * 16.0; - $445 = $441; - $446 = (($445) - ($7))|0; - $447 = ($446|0)==(1); - do { - if ($447) { - $notlhs$i = $444 == 0.0; - $or$cond3$not$i = $notrhs$i & $notlhs$i; - $or$cond$i = $434 & $or$cond3$not$i; - if ($or$cond$i) { - $s$1$i = $441; - break; - } - $448 = ((($s$0$i)) + 2|0); - HEAP8[$441>>0] = 46; - $s$1$i = $448; - } else { - $s$1$i = $441; - } - } while(0); - $449 = $444 != 0.0; - if ($449) { - $$2$i = $444;$s$0$i = $s$1$i; - } else { - $s$1$i$lcssa = $s$1$i; - break; - } - } - $450 = ($p$0|0)!=(0); - $$pre182$i = $s$1$i$lcssa; - $451 = (($10) + ($$pre182$i))|0; - $452 = ($451|0)<($p$0|0); - $or$cond240 = $450 & $452; - $453 = $432; - $454 = (($11) + ($p$0))|0; - $455 = (($454) - ($453))|0; - $456 = $432; - $457 = (($9) - ($456))|0; - $458 = (($457) + ($$pre182$i))|0; - $l$0$i = $or$cond240 ? $455 : $458; - $459 = (($l$0$i) + ($401))|0; - _pad($f,32,$w$1,$459,$fl$1$); - $460 = HEAP32[$f>>2]|0; - $461 = $460 & 32; - $462 = ($461|0)==(0); - if ($462) { - (___fwritex($prefix$0$$i,$401,$f)|0); - } - $463 = $fl$1$ ^ 65536; - _pad($f,48,$w$1,$459,$463); - $464 = (($$pre182$i) - ($7))|0; - $465 = HEAP32[$f>>2]|0; - $466 = $465 & 32; - $467 = ($466|0)==(0); - if ($467) { - (___fwritex($buf$i,$464,$f)|0); - } - $468 = $432; - $469 = (($8) - ($468))|0; - $sum = (($464) + ($469))|0; - $470 = (($l$0$i) - ($sum))|0; - _pad($f,48,$470,0,0); - $471 = HEAP32[$f>>2]|0; - $472 = $471 & 32; - $473 = ($472|0)==(0); - if ($473) { - (___fwritex($432,$469,$f)|0); - } - $474 = $fl$1$ ^ 8192; - _pad($f,32,$w$1,$459,$474); - $475 = ($459|0)<($w$1|0); - $w$$i = $475 ? $w$1 : $459; - $$0$i = $w$$i; - break; - } - $476 = ($p$0|0)<(0); - $$p$i = $476 ? 6 : $p$0; - if ($393) { - $477 = $392 * 268435456.0; - $478 = HEAP32[$e2$i>>2]|0; - $479 = (($478) + -28)|0; - HEAP32[$e2$i>>2] = $479; - $$3$i = $477;$480 = $479; - } else { - $$pre179$i = HEAP32[$e2$i>>2]|0; - $$3$i = $392;$480 = $$pre179$i; - } - $481 = ($480|0)<(0); - $$31$i = $481 ? $big$i : $12; - $482 = $$31$i; - $$4$i = $$3$i;$z$0$i = $$31$i; - while(1) { - $483 = (~~(($$4$i))>>>0); - HEAP32[$z$0$i>>2] = $483; - $484 = ((($z$0$i)) + 4|0); - $485 = (+($483>>>0)); - $486 = $$4$i - $485; - $487 = $486 * 1.0E+9; - $488 = $487 != 0.0; - if ($488) { - $$4$i = $487;$z$0$i = $484; - } else { - $$lcssa326 = $484; - break; - } - } - $$pr$i = HEAP32[$e2$i>>2]|0; - $489 = ($$pr$i|0)>(0); - if ($489) { - $490 = $$pr$i;$a$1147$i = $$31$i;$z$1146$i = $$lcssa326; - while(1) { - $491 = ($490|0)>(29); - $492 = $491 ? 29 : $490; - $d$0139$i = ((($z$1146$i)) + -4|0); - $493 = ($d$0139$i>>>0)<($a$1147$i>>>0); - do { - if ($493) { - $a$2$ph$i = $a$1147$i; - } else { - $carry$0140$i = 0;$d$0141$i = $d$0139$i; - while(1) { - $494 = HEAP32[$d$0141$i>>2]|0; - $495 = (_bitshift64Shl(($494|0),0,($492|0))|0); - $496 = tempRet0; - $497 = (_i64Add(($495|0),($496|0),($carry$0140$i|0),0)|0); - $498 = tempRet0; - $499 = (___uremdi3(($497|0),($498|0),1000000000,0)|0); - $500 = tempRet0; - HEAP32[$d$0141$i>>2] = $499; - $501 = (___udivdi3(($497|0),($498|0),1000000000,0)|0); - $502 = tempRet0; - $d$0$i = ((($d$0141$i)) + -4|0); - $503 = ($d$0$i>>>0)<($a$1147$i>>>0); - if ($503) { - $$lcssa327 = $501; - break; - } else { - $carry$0140$i = $501;$d$0141$i = $d$0$i; - } - } - $504 = ($$lcssa327|0)==(0); - if ($504) { - $a$2$ph$i = $a$1147$i; - break; - } - $505 = ((($a$1147$i)) + -4|0); - HEAP32[$505>>2] = $$lcssa327; - $a$2$ph$i = $505; - } - } while(0); - $z$2$i = $z$1146$i; - while(1) { - $506 = ($z$2$i>>>0)>($a$2$ph$i>>>0); - if (!($506)) { - $z$2$i$lcssa = $z$2$i; - break; - } - $507 = ((($z$2$i)) + -4|0); - $508 = HEAP32[$507>>2]|0; - $509 = ($508|0)==(0); - if ($509) { - $z$2$i = $507; - } else { - $z$2$i$lcssa = $z$2$i; - break; - } - } - $510 = HEAP32[$e2$i>>2]|0; - $511 = (($510) - ($492))|0; - HEAP32[$e2$i>>2] = $511; - $512 = ($511|0)>(0); - if ($512) { - $490 = $511;$a$1147$i = $a$2$ph$i;$z$1146$i = $z$2$i$lcssa; - } else { - $$pr47$i = $511;$a$1$lcssa$i = $a$2$ph$i;$z$1$lcssa$i = $z$2$i$lcssa; - break; - } - } - } else { - $$pr47$i = $$pr$i;$a$1$lcssa$i = $$31$i;$z$1$lcssa$i = $$lcssa326; - } - $513 = ($$pr47$i|0)<(0); - if ($513) { - $514 = (($$p$i) + 25)|0; - $515 = (($514|0) / 9)&-1; - $516 = (($515) + 1)|0; - $517 = ($396|0)==(102); - $519 = $$pr47$i;$a$3134$i = $a$1$lcssa$i;$z$3133$i = $z$1$lcssa$i; - while(1) { - $518 = (0 - ($519))|0; - $520 = ($518|0)>(9); - $521 = $520 ? 9 : $518; - $522 = ($a$3134$i>>>0)<($z$3133$i>>>0); - do { - if ($522) { - $526 = 1 << $521; - $527 = (($526) + -1)|0; - $528 = 1000000000 >>> $521; - $carry3$0128$i = 0;$d$1127$i = $a$3134$i; - while(1) { - $529 = HEAP32[$d$1127$i>>2]|0; - $530 = $529 & $527; - $531 = $529 >>> $521; - $532 = (($531) + ($carry3$0128$i))|0; - HEAP32[$d$1127$i>>2] = $532; - $533 = Math_imul($530, $528)|0; - $534 = ((($d$1127$i)) + 4|0); - $535 = ($534>>>0)<($z$3133$i>>>0); - if ($535) { - $carry3$0128$i = $533;$d$1127$i = $534; - } else { - $$lcssa329 = $533; - break; - } - } - $536 = HEAP32[$a$3134$i>>2]|0; - $537 = ($536|0)==(0); - $538 = ((($a$3134$i)) + 4|0); - $$a$3$i = $537 ? $538 : $a$3134$i; - $539 = ($$lcssa329|0)==(0); - if ($539) { - $$a$3186$i = $$a$3$i;$z$4$i = $z$3133$i; - break; - } - $540 = ((($z$3133$i)) + 4|0); - HEAP32[$z$3133$i>>2] = $$lcssa329; - $$a$3186$i = $$a$3$i;$z$4$i = $540; - } else { - $523 = HEAP32[$a$3134$i>>2]|0; - $524 = ($523|0)==(0); - $525 = ((($a$3134$i)) + 4|0); - $$a$3185$i = $524 ? $525 : $a$3134$i; - $$a$3186$i = $$a$3185$i;$z$4$i = $z$3133$i; - } - } while(0); - $541 = $517 ? $$31$i : $$a$3186$i; - $542 = $z$4$i; - $543 = $541; - $544 = (($542) - ($543))|0; - $545 = $544 >> 2; - $546 = ($545|0)>($516|0); - $547 = (($541) + ($516<<2)|0); - $$z$4$i = $546 ? $547 : $z$4$i; - $548 = HEAP32[$e2$i>>2]|0; - $549 = (($548) + ($521))|0; - HEAP32[$e2$i>>2] = $549; - $550 = ($549|0)<(0); - if ($550) { - $519 = $549;$a$3134$i = $$a$3186$i;$z$3133$i = $$z$4$i; - } else { - $a$3$lcssa$i = $$a$3186$i;$z$3$lcssa$i = $$z$4$i; - break; - } - } - } else { - $a$3$lcssa$i = $a$1$lcssa$i;$z$3$lcssa$i = $z$1$lcssa$i; - } - $551 = ($a$3$lcssa$i>>>0)<($z$3$lcssa$i>>>0); - do { - if ($551) { - $552 = $a$3$lcssa$i; - $553 = (($482) - ($552))|0; - $554 = $553 >> 2; - $555 = ($554*9)|0; - $556 = HEAP32[$a$3$lcssa$i>>2]|0; - $557 = ($556>>>0)<(10); - if ($557) { - $e$1$i = $555; - break; - } else { - $e$0123$i = $555;$i$0122$i = 10; - } - while(1) { - $558 = ($i$0122$i*10)|0; - $559 = (($e$0123$i) + 1)|0; - $560 = ($556>>>0)<($558>>>0); - if ($560) { - $e$1$i = $559; - break; - } else { - $e$0123$i = $559;$i$0122$i = $558; - } - } - } else { - $e$1$i = 0; - } - } while(0); - $561 = ($396|0)!=(102); - $562 = $561 ? $e$1$i : 0; - $563 = (($$p$i) - ($562))|0; - $564 = ($396|0)==(103); - $565 = ($$p$i|0)!=(0); - $566 = $565 & $564; - $$neg52$i = $566 << 31 >> 31; - $567 = (($563) + ($$neg52$i))|0; - $568 = $z$3$lcssa$i; - $569 = (($568) - ($482))|0; - $570 = $569 >> 2; - $571 = ($570*9)|0; - $572 = (($571) + -9)|0; - $573 = ($567|0)<($572|0); - if ($573) { - $574 = (($567) + 9216)|0; - $575 = (($574|0) / 9)&-1; - $$sum$i = (($575) + -1023)|0; - $576 = (($$31$i) + ($$sum$i<<2)|0); - $577 = (($574|0) % 9)&-1; - $j$0115$i = (($577) + 1)|0; - $578 = ($j$0115$i|0)<(9); - if ($578) { - $i$1116$i = 10;$j$0117$i = $j$0115$i; - while(1) { - $579 = ($i$1116$i*10)|0; - $j$0$i = (($j$0117$i) + 1)|0; - $exitcond$i = ($j$0$i|0)==(9); - if ($exitcond$i) { - $i$1$lcssa$i = $579; - break; - } else { - $i$1116$i = $579;$j$0117$i = $j$0$i; - } - } - } else { - $i$1$lcssa$i = 10; - } - $580 = HEAP32[$576>>2]|0; - $581 = (($580>>>0) % ($i$1$lcssa$i>>>0))&-1; - $582 = ($581|0)==(0); - if ($582) { - $$sum15$i = (($575) + -1022)|0; - $583 = (($$31$i) + ($$sum15$i<<2)|0); - $584 = ($583|0)==($z$3$lcssa$i|0); - if ($584) { - $a$7$i = $a$3$lcssa$i;$d$3$i = $576;$e$3$i = $e$1$i; - } else { - label = 163; - } - } else { - label = 163; - } - do { - if ((label|0) == 163) { - label = 0; - $585 = (($580>>>0) / ($i$1$lcssa$i>>>0))&-1; - $586 = $585 & 1; - $587 = ($586|0)==(0); - $$20$i = $587 ? 9007199254740992.0 : 9007199254740994.0; - $588 = (($i$1$lcssa$i|0) / 2)&-1; - $589 = ($581>>>0)<($588>>>0); - do { - if ($589) { - $small$0$i = 0.5; - } else { - $590 = ($581|0)==($588|0); - if ($590) { - $$sum16$i = (($575) + -1022)|0; - $591 = (($$31$i) + ($$sum16$i<<2)|0); - $592 = ($591|0)==($z$3$lcssa$i|0); - if ($592) { - $small$0$i = 1.0; - break; - } - } - $small$0$i = 1.5; - } - } while(0); - $593 = ($pl$0$i|0)==(0); - do { - if ($593) { - $round6$1$i = $$20$i;$small$1$i = $small$0$i; - } else { - $594 = HEAP8[$prefix$0$i>>0]|0; - $595 = ($594<<24>>24)==(45); - if (!($595)) { - $round6$1$i = $$20$i;$small$1$i = $small$0$i; - break; - } - $596 = -$$20$i; - $597 = -$small$0$i; - $round6$1$i = $596;$small$1$i = $597; - } - } while(0); - $598 = (($580) - ($581))|0; - HEAP32[$576>>2] = $598; - $599 = $round6$1$i + $small$1$i; - $600 = $599 != $round6$1$i; - if (!($600)) { - $a$7$i = $a$3$lcssa$i;$d$3$i = $576;$e$3$i = $e$1$i; - break; - } - $601 = (($598) + ($i$1$lcssa$i))|0; - HEAP32[$576>>2] = $601; - $602 = ($601>>>0)>(999999999); - if ($602) { - $a$5109$i = $a$3$lcssa$i;$d$2108$i = $576; - while(1) { - $603 = ((($d$2108$i)) + -4|0); - HEAP32[$d$2108$i>>2] = 0; - $604 = ($603>>>0)<($a$5109$i>>>0); - if ($604) { - $605 = ((($a$5109$i)) + -4|0); - HEAP32[$605>>2] = 0; - $a$6$i = $605; - } else { - $a$6$i = $a$5109$i; - } - $606 = HEAP32[$603>>2]|0; - $607 = (($606) + 1)|0; - HEAP32[$603>>2] = $607; - $608 = ($607>>>0)>(999999999); - if ($608) { - $a$5109$i = $a$6$i;$d$2108$i = $603; - } else { - $a$5$lcssa$i = $a$6$i;$d$2$lcssa$i = $603; - break; - } - } - } else { - $a$5$lcssa$i = $a$3$lcssa$i;$d$2$lcssa$i = $576; - } - $609 = $a$5$lcssa$i; - $610 = (($482) - ($609))|0; - $611 = $610 >> 2; - $612 = ($611*9)|0; - $613 = HEAP32[$a$5$lcssa$i>>2]|0; - $614 = ($613>>>0)<(10); - if ($614) { - $a$7$i = $a$5$lcssa$i;$d$3$i = $d$2$lcssa$i;$e$3$i = $612; - break; - } else { - $e$2104$i = $612;$i$2103$i = 10; - } - while(1) { - $615 = ($i$2103$i*10)|0; - $616 = (($e$2104$i) + 1)|0; - $617 = ($613>>>0)<($615>>>0); - if ($617) { - $a$7$i = $a$5$lcssa$i;$d$3$i = $d$2$lcssa$i;$e$3$i = $616; - break; - } else { - $e$2104$i = $616;$i$2103$i = $615; - } - } - } - } while(0); - $618 = ((($d$3$i)) + 4|0); - $619 = ($z$3$lcssa$i>>>0)>($618>>>0); - $$z$3$i = $619 ? $618 : $z$3$lcssa$i; - $a$8$ph$i = $a$7$i;$e$4$ph$i = $e$3$i;$z$6$ph$i = $$z$3$i; - } else { - $a$8$ph$i = $a$3$lcssa$i;$e$4$ph$i = $e$1$i;$z$6$ph$i = $z$3$lcssa$i; - } - $620 = (0 - ($e$4$ph$i))|0; - $z$6$i = $z$6$ph$i; - while(1) { - $621 = ($z$6$i>>>0)>($a$8$ph$i>>>0); - if (!($621)) { - $$lcssa159$i = 0;$z$6$i$lcssa = $z$6$i; - break; - } - $622 = ((($z$6$i)) + -4|0); - $623 = HEAP32[$622>>2]|0; - $624 = ($623|0)==(0); - if ($624) { - $z$6$i = $622; - } else { - $$lcssa159$i = 1;$z$6$i$lcssa = $z$6$i; - break; - } - } - do { - if ($564) { - $625 = $565&1; - $626 = $625 ^ 1; - $$p$$i = (($626) + ($$p$i))|0; - $627 = ($$p$$i|0)>($e$4$ph$i|0); - $628 = ($e$4$ph$i|0)>(-5); - $or$cond6$i = $627 & $628; - if ($or$cond6$i) { - $629 = (($t$0) + -1)|0; - $$neg53$i = (($$p$$i) + -1)|0; - $630 = (($$neg53$i) - ($e$4$ph$i))|0; - $$013$i = $629;$$210$i = $630; - } else { - $631 = (($t$0) + -2)|0; - $632 = (($$p$$i) + -1)|0; - $$013$i = $631;$$210$i = $632; - } - $633 = $fl$1$ & 8; - $634 = ($633|0)==(0); - if (!($634)) { - $$114$i = $$013$i;$$311$i = $$210$i;$$pre$phi184$iZ2D = $633; - break; - } - do { - if ($$lcssa159$i) { - $635 = ((($z$6$i$lcssa)) + -4|0); - $636 = HEAP32[$635>>2]|0; - $637 = ($636|0)==(0); - if ($637) { - $j$2$i = 9; - break; - } - $638 = (($636>>>0) % 10)&-1; - $639 = ($638|0)==(0); - if ($639) { - $i$399$i = 10;$j$1100$i = 0; - } else { - $j$2$i = 0; - break; - } - while(1) { - $640 = ($i$399$i*10)|0; - $641 = (($j$1100$i) + 1)|0; - $642 = (($636>>>0) % ($640>>>0))&-1; - $643 = ($642|0)==(0); - if ($643) { - $i$399$i = $640;$j$1100$i = $641; - } else { - $j$2$i = $641; - break; - } - } - } else { - $j$2$i = 9; - } - } while(0); - $644 = $$013$i | 32; - $645 = ($644|0)==(102); - $646 = $z$6$i$lcssa; - $647 = (($646) - ($482))|0; - $648 = $647 >> 2; - $649 = ($648*9)|0; - $650 = (($649) + -9)|0; - if ($645) { - $651 = (($650) - ($j$2$i))|0; - $652 = ($651|0)<(0); - $$21$i = $652 ? 0 : $651; - $653 = ($$210$i|0)<($$21$i|0); - $$210$$22$i = $653 ? $$210$i : $$21$i; - $$114$i = $$013$i;$$311$i = $$210$$22$i;$$pre$phi184$iZ2D = 0; - break; - } else { - $654 = (($650) + ($e$4$ph$i))|0; - $655 = (($654) - ($j$2$i))|0; - $656 = ($655|0)<(0); - $$23$i = $656 ? 0 : $655; - $657 = ($$210$i|0)<($$23$i|0); - $$210$$24$i = $657 ? $$210$i : $$23$i; - $$114$i = $$013$i;$$311$i = $$210$$24$i;$$pre$phi184$iZ2D = 0; - break; - } - } else { - $$pre183$i = $fl$1$ & 8; - $$114$i = $t$0;$$311$i = $$p$i;$$pre$phi184$iZ2D = $$pre183$i; - } - } while(0); - $658 = $$311$i | $$pre$phi184$iZ2D; - $659 = ($658|0)!=(0); - $660 = $659&1; - $661 = $$114$i | 32; - $662 = ($661|0)==(102); - if ($662) { - $663 = ($e$4$ph$i|0)>(0); - $664 = $663 ? $e$4$ph$i : 0; - $$pn$i = $664;$estr$2$i = 0; - } else { - $665 = ($e$4$ph$i|0)<(0); - $666 = $665 ? $620 : $e$4$ph$i; - $667 = ($666|0)<(0); - $668 = $667 << 31 >> 31; - $669 = (_fmt_u($666,$668,$5)|0); - $670 = $669; - $671 = (($8) - ($670))|0; - $672 = ($671|0)<(2); - if ($672) { - $estr$193$i = $669; - while(1) { - $673 = ((($estr$193$i)) + -1|0); - HEAP8[$673>>0] = 48; - $674 = $673; - $675 = (($8) - ($674))|0; - $676 = ($675|0)<(2); - if ($676) { - $estr$193$i = $673; - } else { - $estr$1$lcssa$i = $673; - break; - } - } - } else { - $estr$1$lcssa$i = $669; - } - $677 = $e$4$ph$i >> 31; - $678 = $677 & 2; - $679 = (($678) + 43)|0; - $680 = $679&255; - $681 = ((($estr$1$lcssa$i)) + -1|0); - HEAP8[$681>>0] = $680; - $682 = $$114$i&255; - $683 = ((($estr$1$lcssa$i)) + -2|0); - HEAP8[$683>>0] = $682; - $684 = $683; - $685 = (($8) - ($684))|0; - $$pn$i = $685;$estr$2$i = $683; - } - $686 = (($pl$0$i) + 1)|0; - $687 = (($686) + ($$311$i))|0; - $l$1$i = (($687) + ($660))|0; - $688 = (($l$1$i) + ($$pn$i))|0; - _pad($f,32,$w$1,$688,$fl$1$); - $689 = HEAP32[$f>>2]|0; - $690 = $689 & 32; - $691 = ($690|0)==(0); - if ($691) { - (___fwritex($prefix$0$i,$pl$0$i,$f)|0); - } - $692 = $fl$1$ ^ 65536; - _pad($f,48,$w$1,$688,$692); - do { - if ($662) { - $693 = ($a$8$ph$i>>>0)>($$31$i>>>0); - $r$0$a$8$i = $693 ? $$31$i : $a$8$ph$i; - $d$482$i = $r$0$a$8$i; - while(1) { - $694 = HEAP32[$d$482$i>>2]|0; - $695 = (_fmt_u($694,0,$13)|0); - $696 = ($d$482$i|0)==($r$0$a$8$i|0); - do { - if ($696) { - $700 = ($695|0)==($13|0); - if (!($700)) { - $s7$1$i = $695; - break; - } - HEAP8[$15>>0] = 48; - $s7$1$i = $15; - } else { - $697 = ($695>>>0)>($buf$i>>>0); - if ($697) { - $s7$079$i = $695; - } else { - $s7$1$i = $695; - break; - } - while(1) { - $698 = ((($s7$079$i)) + -1|0); - HEAP8[$698>>0] = 48; - $699 = ($698>>>0)>($buf$i>>>0); - if ($699) { - $s7$079$i = $698; - } else { - $s7$1$i = $698; - break; - } - } - } - } while(0); - $701 = HEAP32[$f>>2]|0; - $702 = $701 & 32; - $703 = ($702|0)==(0); - if ($703) { - $704 = $s7$1$i; - $705 = (($14) - ($704))|0; - (___fwritex($s7$1$i,$705,$f)|0); - } - $706 = ((($d$482$i)) + 4|0); - $707 = ($706>>>0)>($$31$i>>>0); - if ($707) { - $$lcssa339 = $706; - break; - } else { - $d$482$i = $706; - } - } - $708 = ($658|0)==(0); - do { - if (!($708)) { - $709 = HEAP32[$f>>2]|0; - $710 = $709 & 32; - $711 = ($710|0)==(0); - if (!($711)) { - break; - } - (___fwritex(29863,1,$f)|0); - } - } while(0); - $712 = ($$lcssa339>>>0)<($z$6$i$lcssa>>>0); - $713 = ($$311$i|0)>(0); - $714 = $713 & $712; - if ($714) { - $$41276$i = $$311$i;$d$575$i = $$lcssa339; - while(1) { - $715 = HEAP32[$d$575$i>>2]|0; - $716 = (_fmt_u($715,0,$13)|0); - $717 = ($716>>>0)>($buf$i>>>0); - if ($717) { - $s8$070$i = $716; - while(1) { - $718 = ((($s8$070$i)) + -1|0); - HEAP8[$718>>0] = 48; - $719 = ($718>>>0)>($buf$i>>>0); - if ($719) { - $s8$070$i = $718; - } else { - $s8$0$lcssa$i = $718; - break; - } - } - } else { - $s8$0$lcssa$i = $716; - } - $720 = HEAP32[$f>>2]|0; - $721 = $720 & 32; - $722 = ($721|0)==(0); - if ($722) { - $723 = ($$41276$i|0)>(9); - $724 = $723 ? 9 : $$41276$i; - (___fwritex($s8$0$lcssa$i,$724,$f)|0); - } - $725 = ((($d$575$i)) + 4|0); - $726 = (($$41276$i) + -9)|0; - $727 = ($725>>>0)<($z$6$i$lcssa>>>0); - $728 = ($$41276$i|0)>(9); - $729 = $728 & $727; - if ($729) { - $$41276$i = $726;$d$575$i = $725; - } else { - $$412$lcssa$i = $726; - break; - } - } - } else { - $$412$lcssa$i = $$311$i; - } - $730 = (($$412$lcssa$i) + 9)|0; - _pad($f,48,$730,9,0); - } else { - $731 = ((($a$8$ph$i)) + 4|0); - $z$6$$i = $$lcssa159$i ? $z$6$i$lcssa : $731; - $732 = ($$311$i|0)>(-1); - if ($732) { - $733 = ($$pre$phi184$iZ2D|0)==(0); - $$587$i = $$311$i;$d$686$i = $a$8$ph$i; - while(1) { - $734 = HEAP32[$d$686$i>>2]|0; - $735 = (_fmt_u($734,0,$13)|0); - $736 = ($735|0)==($13|0); - if ($736) { - HEAP8[$15>>0] = 48; - $s9$0$i = $15; - } else { - $s9$0$i = $735; - } - $737 = ($d$686$i|0)==($a$8$ph$i|0); - do { - if ($737) { - $741 = ((($s9$0$i)) + 1|0); - $742 = HEAP32[$f>>2]|0; - $743 = $742 & 32; - $744 = ($743|0)==(0); - if ($744) { - (___fwritex($s9$0$i,1,$f)|0); - } - $745 = ($$587$i|0)<(1); - $or$cond29$i = $733 & $745; - if ($or$cond29$i) { - $s9$2$i = $741; - break; - } - $746 = HEAP32[$f>>2]|0; - $747 = $746 & 32; - $748 = ($747|0)==(0); - if (!($748)) { - $s9$2$i = $741; - break; - } - (___fwritex(29863,1,$f)|0); - $s9$2$i = $741; - } else { - $738 = ($s9$0$i>>>0)>($buf$i>>>0); - if ($738) { - $s9$183$i = $s9$0$i; - } else { - $s9$2$i = $s9$0$i; - break; - } - while(1) { - $739 = ((($s9$183$i)) + -1|0); - HEAP8[$739>>0] = 48; - $740 = ($739>>>0)>($buf$i>>>0); - if ($740) { - $s9$183$i = $739; - } else { - $s9$2$i = $739; - break; - } - } - } - } while(0); - $749 = $s9$2$i; - $750 = (($14) - ($749))|0; - $751 = HEAP32[$f>>2]|0; - $752 = $751 & 32; - $753 = ($752|0)==(0); - if ($753) { - $754 = ($$587$i|0)>($750|0); - $755 = $754 ? $750 : $$587$i; - (___fwritex($s9$2$i,$755,$f)|0); - } - $756 = (($$587$i) - ($750))|0; - $757 = ((($d$686$i)) + 4|0); - $758 = ($757>>>0)<($z$6$$i>>>0); - $759 = ($756|0)>(-1); - $760 = $758 & $759; - if ($760) { - $$587$i = $756;$d$686$i = $757; - } else { - $$5$lcssa$i = $756; - break; - } - } - } else { - $$5$lcssa$i = $$311$i; - } - $761 = (($$5$lcssa$i) + 18)|0; - _pad($f,48,$761,18,0); - $762 = HEAP32[$f>>2]|0; - $763 = $762 & 32; - $764 = ($763|0)==(0); - if (!($764)) { - break; - } - $765 = $estr$2$i; - $766 = (($8) - ($765))|0; - (___fwritex($estr$2$i,$766,$f)|0); - } - } while(0); - $767 = $fl$1$ ^ 8192; - _pad($f,32,$w$1,$688,$767); - $768 = ($688|0)<($w$1|0); - $w$30$i = $768 ? $w$1 : $688; - $$0$i = $w$30$i; - } else { - $376 = $t$0 & 32; - $377 = ($376|0)!=(0); - $378 = $377 ? 29847 : 29851; - $379 = ($$07$i != $$07$i) | (0.0 != 0.0); - $380 = $377 ? 29855 : 29859; - $pl$1$i = $379 ? 0 : $pl$0$i; - $s1$0$i = $379 ? $380 : $378; - $381 = (($pl$1$i) + 3)|0; - _pad($f,32,$w$1,$381,$175); - $382 = HEAP32[$f>>2]|0; - $383 = $382 & 32; - $384 = ($383|0)==(0); - if ($384) { - (___fwritex($prefix$0$i,$pl$1$i,$f)|0); - $$pre$i = HEAP32[$f>>2]|0; - $386 = $$pre$i; - } else { - $386 = $382; - } - $385 = $386 & 32; - $387 = ($385|0)==(0); - if ($387) { - (___fwritex($s1$0$i,3,$f)|0); - } - $388 = $fl$1$ ^ 8192; - _pad($f,32,$w$1,$381,$388); - $389 = ($381|0)<($w$1|0); - $390 = $389 ? $w$1 : $381; - $$0$i = $390; - } - } while(0); - $cnt$0 = $cnt$1;$fmt41 = $$lcssa323;$l$0 = $$0$i;$l10n$0 = $l10n$3; - continue L1; - break; - } - default: { - $a$2 = $fmt41;$fl$6 = $fl$1$;$p$5 = $p$0;$pl$2 = 0;$prefix$2 = 29811;$z$2 = $1; - } - } - } while(0); - L313: do { - if ((label|0) == 64) { - label = 0; - $206 = $arg; - $207 = $206; - $208 = HEAP32[$207>>2]|0; - $209 = (($206) + 4)|0; - $210 = $209; - $211 = HEAP32[$210>>2]|0; - $212 = $t$1 & 32; - $213 = ($208|0)==(0); - $214 = ($211|0)==(0); - $215 = $213 & $214; - if ($215) { - $a$0 = $1;$fl$4 = $fl$3;$p$2 = $p$1;$pl$1 = 0;$prefix$1 = 29811; - label = 77; - } else { - $$012$i = $1;$217 = $208;$224 = $211; - while(1) { - $216 = $217 & 15; - $218 = (29795 + ($216)|0); - $219 = HEAP8[$218>>0]|0; - $220 = $219&255; - $221 = $220 | $212; - $222 = $221&255; - $223 = ((($$012$i)) + -1|0); - HEAP8[$223>>0] = $222; - $225 = (_bitshift64Lshr(($217|0),($224|0),4)|0); - $226 = tempRet0; - $227 = ($225|0)==(0); - $228 = ($226|0)==(0); - $229 = $227 & $228; - if ($229) { - $$lcssa344 = $223; - break; - } else { - $$012$i = $223;$217 = $225;$224 = $226; - } - } - $230 = $arg; - $231 = $230; - $232 = HEAP32[$231>>2]|0; - $233 = (($230) + 4)|0; - $234 = $233; - $235 = HEAP32[$234>>2]|0; - $236 = ($232|0)==(0); - $237 = ($235|0)==(0); - $238 = $236 & $237; - $239 = $fl$3 & 8; - $240 = ($239|0)==(0); - $or$cond17 = $240 | $238; - if ($or$cond17) { - $a$0 = $$lcssa344;$fl$4 = $fl$3;$p$2 = $p$1;$pl$1 = 0;$prefix$1 = 29811; - label = 77; - } else { - $241 = $t$1 >> 4; - $242 = (29811 + ($241)|0); - $a$0 = $$lcssa344;$fl$4 = $fl$3;$p$2 = $p$1;$pl$1 = 2;$prefix$1 = $242; - label = 77; - } - } - } - else if ((label|0) == 76) { - label = 0; - $288 = (_fmt_u($286,$287,$1)|0); - $a$0 = $288;$fl$4 = $fl$1$;$p$2 = $p$0;$pl$1 = $pl$0;$prefix$1 = $prefix$0; - label = 77; - } - else if ((label|0) == 82) { - label = 0; - $320 = (_memchr($a$1,0,$p$0)|0); - $321 = ($320|0)==(0|0); - $322 = $320; - $323 = $a$1; - $324 = (($322) - ($323))|0; - $325 = (($a$1) + ($p$0)|0); - $z$1 = $321 ? $325 : $320; - $p$3 = $321 ? $p$0 : $324; - $a$2 = $a$1;$fl$6 = $175;$p$5 = $p$3;$pl$2 = 0;$prefix$2 = 29811;$z$2 = $z$1; - } - else if ((label|0) == 86) { - label = 0; - $333 = HEAP32[$arg>>2]|0; - $i$0114 = 0;$l$1113 = 0;$ws$0115 = $333; - while(1) { - $334 = HEAP32[$ws$0115>>2]|0; - $335 = ($334|0)==(0); - if ($335) { - $i$0$lcssa = $i$0114;$l$2 = $l$1113; - break; - } - $336 = (_wctomb($mb,$334)|0); - $337 = ($336|0)<(0); - $338 = (($p$4198) - ($i$0114))|0; - $339 = ($336>>>0)>($338>>>0); - $or$cond20 = $337 | $339; - if ($or$cond20) { - $i$0$lcssa = $i$0114;$l$2 = $336; - break; - } - $340 = ((($ws$0115)) + 4|0); - $341 = (($336) + ($i$0114))|0; - $342 = ($p$4198>>>0)>($341>>>0); - if ($342) { - $i$0114 = $341;$l$1113 = $336;$ws$0115 = $340; - } else { - $i$0$lcssa = $341;$l$2 = $336; - break; - } - } - $343 = ($l$2|0)<(0); - if ($343) { - $$0 = -1; - break L1; - } - _pad($f,32,$w$1,$i$0$lcssa,$fl$1$); - $344 = ($i$0$lcssa|0)==(0); - if ($344) { - $i$0$lcssa200 = 0; - label = 98; - } else { - $345 = HEAP32[$arg>>2]|0; - $i$1125 = 0;$ws$1126 = $345; - while(1) { - $346 = HEAP32[$ws$1126>>2]|0; - $347 = ($346|0)==(0); - if ($347) { - $i$0$lcssa200 = $i$0$lcssa; - label = 98; - break L313; - } - $348 = ((($ws$1126)) + 4|0); - $349 = (_wctomb($mb,$346)|0); - $350 = (($349) + ($i$1125))|0; - $351 = ($350|0)>($i$0$lcssa|0); - if ($351) { - $i$0$lcssa200 = $i$0$lcssa; - label = 98; - break L313; - } - $352 = HEAP32[$f>>2]|0; - $353 = $352 & 32; - $354 = ($353|0)==(0); - if ($354) { - (___fwritex($mb,$349,$f)|0); - } - $355 = ($350>>>0)<($i$0$lcssa>>>0); - if ($355) { - $i$1125 = $350;$ws$1126 = $348; - } else { - $i$0$lcssa200 = $i$0$lcssa; - label = 98; - break; - } - } - } - } - } while(0); - if ((label|0) == 98) { - label = 0; - $356 = $fl$1$ ^ 8192; - _pad($f,32,$w$1,$i$0$lcssa200,$356); - $357 = ($w$1|0)>($i$0$lcssa200|0); - $358 = $357 ? $w$1 : $i$0$lcssa200; - $cnt$0 = $cnt$1;$fmt41 = $$lcssa323;$l$0 = $358;$l10n$0 = $l10n$3; - continue; - } - if ((label|0) == 77) { - label = 0; - $289 = ($p$2|0)>(-1); - $290 = $fl$4 & -65537; - $$fl$4 = $289 ? $290 : $fl$4; - $291 = $arg; - $292 = $291; - $293 = HEAP32[$292>>2]|0; - $294 = (($291) + 4)|0; - $295 = $294; - $296 = HEAP32[$295>>2]|0; - $297 = ($293|0)!=(0); - $298 = ($296|0)!=(0); - $299 = $297 | $298; - $300 = ($p$2|0)!=(0); - $or$cond = $300 | $299; - if ($or$cond) { - $301 = $a$0; - $302 = (($2) - ($301))|0; - $303 = $299&1; - $304 = $303 ^ 1; - $305 = (($304) + ($302))|0; - $306 = ($p$2|0)>($305|0); - $p$2$ = $306 ? $p$2 : $305; - $a$2 = $a$0;$fl$6 = $$fl$4;$p$5 = $p$2$;$pl$2 = $pl$1;$prefix$2 = $prefix$1;$z$2 = $1; - } else { - $a$2 = $1;$fl$6 = $$fl$4;$p$5 = 0;$pl$2 = $pl$1;$prefix$2 = $prefix$1;$z$2 = $1; - } - } - $769 = $z$2; - $770 = $a$2; - $771 = (($769) - ($770))|0; - $772 = ($p$5|0)<($771|0); - $$p$5 = $772 ? $771 : $p$5; - $773 = (($pl$2) + ($$p$5))|0; - $774 = ($w$1|0)<($773|0); - $w$2 = $774 ? $773 : $w$1; - _pad($f,32,$w$2,$773,$fl$6); - $775 = HEAP32[$f>>2]|0; - $776 = $775 & 32; - $777 = ($776|0)==(0); - if ($777) { - (___fwritex($prefix$2,$pl$2,$f)|0); - } - $778 = $fl$6 ^ 65536; - _pad($f,48,$w$2,$773,$778); - _pad($f,48,$$p$5,$771,0); - $779 = HEAP32[$f>>2]|0; - $780 = $779 & 32; - $781 = ($780|0)==(0); - if ($781) { - (___fwritex($a$2,$771,$f)|0); - } - $782 = $fl$6 ^ 8192; - _pad($f,32,$w$2,$773,$782); - $cnt$0 = $cnt$1;$fmt41 = $$lcssa323;$l$0 = $w$2;$l10n$0 = $l10n$3; - } - L348: do { - if ((label|0) == 245) { - $783 = ($f|0)==(0|0); - if ($783) { - $784 = ($l10n$0$lcssa|0)==(0); - if ($784) { - $$0 = 0; - } else { - $i$2100 = 1; - while(1) { - $785 = (($nl_type) + ($i$2100<<2)|0); - $786 = HEAP32[$785>>2]|0; - $787 = ($786|0)==(0); - if ($787) { - $i$2100$lcssa = $i$2100; - break; - } - $789 = (($nl_arg) + ($i$2100<<3)|0); - _pop_arg($789,$786,$ap); - $790 = (($i$2100) + 1)|0; - $791 = ($790|0)<(10); - if ($791) { - $i$2100 = $790; - } else { - $$0 = 1; - break L348; - } - } - $788 = ($i$2100$lcssa|0)<(10); - if ($788) { - $i$398 = $i$2100$lcssa; - while(1) { - $794 = (($nl_type) + ($i$398<<2)|0); - $795 = HEAP32[$794>>2]|0; - $796 = ($795|0)==(0); - $792 = (($i$398) + 1)|0; - if (!($796)) { - $$0 = -1; - break L348; - } - $793 = ($792|0)<(10); - if ($793) { - $i$398 = $792; - } else { - $$0 = 1; - break; - } - } - } else { - $$0 = 1; - } - } - } else { - $$0 = $cnt$1$lcssa; - } - } - } while(0); - STACKTOP = sp;return ($$0|0); -} -function _do_read($f,$buf,$len) { - $f = $f|0; - $buf = $buf|0; - $len = $len|0; - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (___string_read($f,$buf,$len)|0); - return ($0|0); -} -function _cleanup521($p) { - $p = $p|0; - var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($p)) + 68|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)==(0); - if ($2) { - ___unlockfile($p); - } - return; -} -function _cleanup526($p) { - $p = $p|0; - var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($p)) + 68|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)==(0); - if ($2) { - ___unlockfile($p); - } - return; -} -function _sift($head,$width,$cmp,$pshift,$lp) { - $head = $head|0; - $width = $width|0; - $cmp = $cmp|0; - $pshift = $pshift|0; - $lp = $lp|0; - var $$0$be = 0, $$01$be = 0, $$012 = 0, $$03 = 0, $$pre = 0, $$sum = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0; - var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $ar = 0, $i$0$lcssa = 0, $i$04 = 0, $sum = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 240|0; - $ar = sp; - HEAP32[$ar>>2] = $head; - $0 = ($pshift|0)>(1); - L1: do { - if ($0) { - $1 = (0 - ($width))|0; - $$012 = $pshift;$$03 = $head;$7 = $head;$i$04 = 1; - while(1) { - $2 = (($$03) + ($1)|0); - $3 = (($$012) + -2)|0; - $4 = (($lp) + ($3<<2)|0); - $5 = HEAP32[$4>>2]|0; - $sum = (($5) + ($width))|0; - $$sum = (0 - ($sum))|0; - $6 = (($$03) + ($$sum)|0); - $8 = (FUNCTION_TABLE_iii[$cmp & 7]($7,$6)|0); - $9 = ($8|0)>(-1); - if ($9) { - $10 = (FUNCTION_TABLE_iii[$cmp & 7]($7,$2)|0); - $11 = ($10|0)>(-1); - if ($11) { - $i$0$lcssa = $i$04; - break L1; - } - } - $12 = (FUNCTION_TABLE_iii[$cmp & 7]($6,$2)|0); - $13 = ($12|0)>(-1); - $14 = (($i$04) + 1)|0; - $15 = (($ar) + ($i$04<<2)|0); - if ($13) { - HEAP32[$15>>2] = $6; - $16 = (($$012) + -1)|0; - $$0$be = $6;$$01$be = $16; - } else { - HEAP32[$15>>2] = $2; - $$0$be = $2;$$01$be = $3; - } - $17 = ($$01$be|0)>(1); - if (!($17)) { - $i$0$lcssa = $14; - break L1; - } - $$pre = HEAP32[$ar>>2]|0; - $$012 = $$01$be;$$03 = $$0$be;$7 = $$pre;$i$04 = $14; - } - } else { - $i$0$lcssa = 1; - } - } while(0); - _cycle($width,$ar,$i$0$lcssa); - STACKTOP = sp;return; -} -function _trinkle($head,$width,$cmp,$pp,$pshift,$trusty,$lp) { - $head = $head|0; - $width = $width|0; - $cmp = $cmp|0; - $pp = $pp|0; - $pshift = $pshift|0; - $trusty = $trusty|0; - $lp = $lp|0; - var $$0$i = 0, $$0$lcssa = 0, $$0$lcssa49 = 0, $$01162 = 0, $$01162$phi = 0, $$02$i$i = 0, $$02$i3$i = 0, $$02$lcssa = 0, $$02$lcssa51 = 0, $$02964 = 0, $$03$lcssa = 0, $$03865 = 0, $$lcssa = 0, $$lcssa75 = 0, $$pre = 0, $$sum = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0; - var $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0; - var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0; - var $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0; - var $67 = 0, $68 = 0, $7 = 0, $8 = 0, $9 = 0, $ar = 0, $i$0$lcssa = 0, $i$0$lcssa50 = 0, $i$01063 = 0, $nTrailingZeros$03$i$i = 0, $nTrailingZeros$03$i2$i = 0, $nTrailingZeros$03$i2$i$lcssa = 0, $or$cond = 0, $phitmp = 0, $sum = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 240|0; - $ar = sp; - $0 = HEAP32[$pp>>2]|0; - $1 = ((($pp)) + 4|0); - $2 = HEAP32[$1>>2]|0; - HEAP32[$ar>>2] = $head; - $3 = (0 - ($width))|0; - $4 = ($0|0)!=(1); - $5 = ($2|0)!=(0); - $6 = $5 | $4; - L1: do { - if ($6) { - $7 = (($lp) + ($pshift<<2)|0); - $8 = HEAP32[$7>>2]|0; - $9 = (0 - ($8))|0; - $10 = (($head) + ($9)|0); - $11 = (FUNCTION_TABLE_iii[$cmp & 7]($10,$head)|0); - $12 = ($11|0)<(1); - if ($12) { - $$0$lcssa = $head;$$02$lcssa = $pshift;$$03$lcssa = $trusty;$i$0$lcssa = 1; - label = 19; - } else { - $phitmp = ($trusty|0)==(0); - $$01162 = $head;$$02964 = $pshift;$$03865 = $phitmp;$18 = $10;$27 = $0;$36 = $2;$i$01063 = 1; - while(1) { - $13 = ($$02964|0)>(1); - $or$cond = $$03865 & $13; - if ($or$cond) { - $14 = (($$01162) + ($3)|0); - $15 = (($$02964) + -2)|0; - $16 = (($lp) + ($15<<2)|0); - $17 = HEAP32[$16>>2]|0; - $19 = (FUNCTION_TABLE_iii[$cmp & 7]($14,$18)|0); - $20 = ($19|0)>(-1); - if ($20) { - $$0$lcssa49 = $$01162;$$02$lcssa51 = $$02964;$i$0$lcssa50 = $i$01063; - label = 20; - break L1; - } - $sum = (($17) + ($width))|0; - $$sum = (0 - ($sum))|0; - $21 = (($$01162) + ($$sum)|0); - $22 = (FUNCTION_TABLE_iii[$cmp & 7]($21,$18)|0); - $23 = ($22|0)>(-1); - if ($23) { - $$0$lcssa49 = $$01162;$$02$lcssa51 = $$02964;$i$0$lcssa50 = $i$01063; - label = 20; - break L1; - } - } - $24 = (($i$01063) + 1)|0; - $25 = (($ar) + ($i$01063<<2)|0); - HEAP32[$25>>2] = $18; - $26 = (($27) + -1)|0; - $28 = ($26|0)==(0); - do { - if ($28) { - $49 = 32; - label = 16; - } else { - $29 = $26 & 1; - $30 = ($29|0)==(0); - if ($30) { - $$02$i$i = $26;$nTrailingZeros$03$i$i = 0; - while(1) { - $31 = (($nTrailingZeros$03$i$i) + 1)|0; - $32 = $$02$i$i >>> 1; - $33 = $32 & 1; - $34 = ($33|0)==(0); - if ($34) { - $$02$i$i = $32;$nTrailingZeros$03$i$i = $31; - } else { - $$lcssa = $31; - break; - } - } - $35 = ($$lcssa|0)==(0); - if ($35) { - label = 11; - } else { - $46 = $$lcssa; - } - } else { - label = 11; - } - if ((label|0) == 11) { - label = 0; - $37 = ($36|0)==(0); - if ($37) { - $49 = 64; - label = 16; - break; - } - $38 = $36 & 1; - $39 = ($38|0)==(0); - if ($39) { - $$02$i3$i = $36;$nTrailingZeros$03$i2$i = 0; - } else { - $$0$i = 0;$51 = $27;$54 = $36;$58 = 0; - break; - } - while(1) { - $40 = (($nTrailingZeros$03$i2$i) + 1)|0; - $41 = $$02$i3$i >>> 1; - $42 = $41 & 1; - $43 = ($42|0)==(0); - if ($43) { - $$02$i3$i = $41;$nTrailingZeros$03$i2$i = $40; - } else { - $$lcssa75 = $40;$nTrailingZeros$03$i2$i$lcssa = $nTrailingZeros$03$i2$i; - break; - } - } - $44 = (($nTrailingZeros$03$i2$i$lcssa) + 33)|0; - $45 = ($$lcssa75|0)==(0); - if ($45) { - $$0$i = 0;$51 = $27;$54 = $36;$58 = 0; - break; - } else { - $46 = $44; - } - } - $47 = ($46>>>0)>(31); - if ($47) { - $49 = $46; - label = 16; - } else { - $$0$i = $46;$51 = $27;$54 = $36;$58 = $46; - } - } - } while(0); - if ((label|0) == 16) { - label = 0; - $48 = (($49) + -32)|0; - $$0$i = $48;$51 = $36;$54 = 0;$58 = $49; - } - $50 = $51 >>> $$0$i; - $52 = (32 - ($$0$i))|0; - $53 = $54 << $52; - $55 = $53 | $50; - $56 = $54 >>> $$0$i; - $57 = (($58) + ($$02964))|0; - $59 = ($55|0)!=(1); - $60 = ($56|0)!=(0); - $61 = $60 | $59; - if (!($61)) { - $$0$lcssa49 = $18;$$02$lcssa51 = $57;$i$0$lcssa50 = $24; - label = 20; - break L1; - } - $$pre = HEAP32[$ar>>2]|0; - $62 = (($lp) + ($57<<2)|0); - $63 = HEAP32[$62>>2]|0; - $64 = (0 - ($63))|0; - $65 = (($18) + ($64)|0); - $66 = (FUNCTION_TABLE_iii[$cmp & 7]($65,$$pre)|0); - $67 = ($66|0)<(1); - if ($67) { - $$0$lcssa = $18;$$02$lcssa = $57;$$03$lcssa = 0;$i$0$lcssa = $24; - label = 19; - break; - } else { - $$01162$phi = $18;$$02964 = $57;$$03865 = 1;$18 = $65;$27 = $55;$36 = $56;$i$01063 = $24;$$01162 = $$01162$phi; - } - } - } - } else { - $$0$lcssa = $head;$$02$lcssa = $pshift;$$03$lcssa = $trusty;$i$0$lcssa = 1; - label = 19; - } - } while(0); - if ((label|0) == 19) { - $68 = ($$03$lcssa|0)==(0); - if ($68) { - $$0$lcssa49 = $$0$lcssa;$$02$lcssa51 = $$02$lcssa;$i$0$lcssa50 = $i$0$lcssa; - label = 20; - } - } - if ((label|0) == 20) { - _cycle($width,$ar,$i$0$lcssa50); - _sift($$0$lcssa49,$width,$cmp,$$02$lcssa51,$lp); - } - STACKTOP = sp;return; -} -function _cycle($width,$ar,$n) { - $width = $width|0; - $ar = $ar|0; - $n = $n|0; - var $$02 = 0, $$pre = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $i$01 = 0; - var $tmp = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 256|0; - $tmp = sp; - $0 = ($n|0)<(2); - L1: do { - if (!($0)) { - $1 = (($ar) + ($n<<2)|0); - HEAP32[$1>>2] = $tmp; - $2 = ($width|0)==(0); - if (!($2)) { - $$02 = $width;$6 = $tmp; - while(1) { - $3 = ($$02>>>0)>(256); - $4 = $3 ? 256 : $$02; - $5 = HEAP32[$ar>>2]|0; - _memcpy(($6|0),($5|0),($4|0))|0; - $i$01 = 0; - while(1) { - $7 = (($ar) + ($i$01<<2)|0); - $8 = HEAP32[$7>>2]|0; - $9 = (($i$01) + 1)|0; - $10 = (($ar) + ($9<<2)|0); - $11 = HEAP32[$10>>2]|0; - _memcpy(($8|0),($11|0),($4|0))|0; - $12 = HEAP32[$7>>2]|0; - $13 = (($12) + ($4)|0); - HEAP32[$7>>2] = $13; - $exitcond = ($9|0)==($n|0); - if ($exitcond) { - break; - } else { - $i$01 = $9; - } - } - $14 = ($$02|0)==($4|0); - if ($14) { - break L1; - } - $15 = (($$02) - ($4))|0; - $$pre = HEAP32[$1>>2]|0; - $$02 = $15;$6 = $$pre; - } - } - } - } while(0); - STACKTOP = sp;return; -} -function _sn_write($f,$s,$l) { - $f = $f|0; - $s = $s|0; - $l = $l|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $l$ = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($f)) + 16|0); - $1 = HEAP32[$0>>2]|0; - $2 = ((($f)) + 20|0); - $3 = HEAP32[$2>>2]|0; - $4 = $1; - $5 = $3; - $6 = (($4) - ($5))|0; - $7 = ($6>>>0)>($l>>>0); - $l$ = $7 ? $l : $6; - _memcpy(($3|0),($s|0),($l$|0))|0; - $8 = HEAP32[$2>>2]|0; - $9 = (($8) + ($l$)|0); - HEAP32[$2>>2] = $9; - return ($l|0); -} -function _pop_arg($arg,$type,$ap) { - $arg = $arg|0; - $type = $type|0; - $ap = $ap|0; - var $$mask = 0, $$mask1 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0.0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0.0; - var $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0; - var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0; - var $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0; - var $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0; - var $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $arglist_current = 0, $arglist_current11 = 0, $arglist_current14 = 0, $arglist_current17 = 0; - var $arglist_current2 = 0, $arglist_current20 = 0, $arglist_current23 = 0, $arglist_current26 = 0, $arglist_current5 = 0, $arglist_current8 = 0, $arglist_next = 0, $arglist_next12 = 0, $arglist_next15 = 0, $arglist_next18 = 0, $arglist_next21 = 0, $arglist_next24 = 0, $arglist_next27 = 0, $arglist_next3 = 0, $arglist_next6 = 0, $arglist_next9 = 0, $expanded = 0, $expanded28 = 0, $expanded30 = 0, $expanded31 = 0; - var $expanded32 = 0, $expanded34 = 0, $expanded35 = 0, $expanded37 = 0, $expanded38 = 0, $expanded39 = 0, $expanded41 = 0, $expanded42 = 0, $expanded44 = 0, $expanded45 = 0, $expanded46 = 0, $expanded48 = 0, $expanded49 = 0, $expanded51 = 0, $expanded52 = 0, $expanded53 = 0, $expanded55 = 0, $expanded56 = 0, $expanded58 = 0, $expanded59 = 0; - var $expanded60 = 0, $expanded62 = 0, $expanded63 = 0, $expanded65 = 0, $expanded66 = 0, $expanded67 = 0, $expanded69 = 0, $expanded70 = 0, $expanded72 = 0, $expanded73 = 0, $expanded74 = 0, $expanded76 = 0, $expanded77 = 0, $expanded79 = 0, $expanded80 = 0, $expanded81 = 0, $expanded83 = 0, $expanded84 = 0, $expanded86 = 0, $expanded87 = 0; - var $expanded88 = 0, $expanded90 = 0, $expanded91 = 0, $expanded93 = 0, $expanded94 = 0, $expanded95 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ($type>>>0)>(20); - L1: do { - if (!($0)) { - do { - switch ($type|0) { - case 9: { - $arglist_current = HEAP32[$ap>>2]|0; - $1 = $arglist_current; - $2 = ((0) + 4|0); - $expanded28 = $2; - $expanded = (($expanded28) - 1)|0; - $3 = (($1) + ($expanded))|0; - $4 = ((0) + 4|0); - $expanded32 = $4; - $expanded31 = (($expanded32) - 1)|0; - $expanded30 = $expanded31 ^ -1; - $5 = $3 & $expanded30; - $6 = $5; - $7 = HEAP32[$6>>2]|0; - $arglist_next = ((($6)) + 4|0); - HEAP32[$ap>>2] = $arglist_next; - HEAP32[$arg>>2] = $7; - break L1; - break; - } - case 10: { - $arglist_current2 = HEAP32[$ap>>2]|0; - $8 = $arglist_current2; - $9 = ((0) + 4|0); - $expanded35 = $9; - $expanded34 = (($expanded35) - 1)|0; - $10 = (($8) + ($expanded34))|0; - $11 = ((0) + 4|0); - $expanded39 = $11; - $expanded38 = (($expanded39) - 1)|0; - $expanded37 = $expanded38 ^ -1; - $12 = $10 & $expanded37; - $13 = $12; - $14 = HEAP32[$13>>2]|0; - $arglist_next3 = ((($13)) + 4|0); - HEAP32[$ap>>2] = $arglist_next3; - $15 = ($14|0)<(0); - $16 = $15 << 31 >> 31; - $17 = $arg; - $18 = $17; - HEAP32[$18>>2] = $14; - $19 = (($17) + 4)|0; - $20 = $19; - HEAP32[$20>>2] = $16; - break L1; - break; - } - case 11: { - $arglist_current5 = HEAP32[$ap>>2]|0; - $21 = $arglist_current5; - $22 = ((0) + 4|0); - $expanded42 = $22; - $expanded41 = (($expanded42) - 1)|0; - $23 = (($21) + ($expanded41))|0; - $24 = ((0) + 4|0); - $expanded46 = $24; - $expanded45 = (($expanded46) - 1)|0; - $expanded44 = $expanded45 ^ -1; - $25 = $23 & $expanded44; - $26 = $25; - $27 = HEAP32[$26>>2]|0; - $arglist_next6 = ((($26)) + 4|0); - HEAP32[$ap>>2] = $arglist_next6; - $28 = $arg; - $29 = $28; - HEAP32[$29>>2] = $27; - $30 = (($28) + 4)|0; - $31 = $30; - HEAP32[$31>>2] = 0; - break L1; - break; - } - case 12: { - $arglist_current8 = HEAP32[$ap>>2]|0; - $32 = $arglist_current8; - $33 = ((0) + 8|0); - $expanded49 = $33; - $expanded48 = (($expanded49) - 1)|0; - $34 = (($32) + ($expanded48))|0; - $35 = ((0) + 8|0); - $expanded53 = $35; - $expanded52 = (($expanded53) - 1)|0; - $expanded51 = $expanded52 ^ -1; - $36 = $34 & $expanded51; - $37 = $36; - $38 = $37; - $39 = $38; - $40 = HEAP32[$39>>2]|0; - $41 = (($38) + 4)|0; - $42 = $41; - $43 = HEAP32[$42>>2]|0; - $arglist_next9 = ((($37)) + 8|0); - HEAP32[$ap>>2] = $arglist_next9; - $44 = $arg; - $45 = $44; - HEAP32[$45>>2] = $40; - $46 = (($44) + 4)|0; - $47 = $46; - HEAP32[$47>>2] = $43; - break L1; - break; - } - case 13: { - $arglist_current11 = HEAP32[$ap>>2]|0; - $48 = $arglist_current11; - $49 = ((0) + 4|0); - $expanded56 = $49; - $expanded55 = (($expanded56) - 1)|0; - $50 = (($48) + ($expanded55))|0; - $51 = ((0) + 4|0); - $expanded60 = $51; - $expanded59 = (($expanded60) - 1)|0; - $expanded58 = $expanded59 ^ -1; - $52 = $50 & $expanded58; - $53 = $52; - $54 = HEAP32[$53>>2]|0; - $arglist_next12 = ((($53)) + 4|0); - HEAP32[$ap>>2] = $arglist_next12; - $55 = $54&65535; - $56 = $55 << 16 >> 16; - $57 = ($56|0)<(0); - $58 = $57 << 31 >> 31; - $59 = $arg; - $60 = $59; - HEAP32[$60>>2] = $56; - $61 = (($59) + 4)|0; - $62 = $61; - HEAP32[$62>>2] = $58; - break L1; - break; - } - case 14: { - $arglist_current14 = HEAP32[$ap>>2]|0; - $63 = $arglist_current14; - $64 = ((0) + 4|0); - $expanded63 = $64; - $expanded62 = (($expanded63) - 1)|0; - $65 = (($63) + ($expanded62))|0; - $66 = ((0) + 4|0); - $expanded67 = $66; - $expanded66 = (($expanded67) - 1)|0; - $expanded65 = $expanded66 ^ -1; - $67 = $65 & $expanded65; - $68 = $67; - $69 = HEAP32[$68>>2]|0; - $arglist_next15 = ((($68)) + 4|0); - HEAP32[$ap>>2] = $arglist_next15; - $$mask1 = $69 & 65535; - $70 = $arg; - $71 = $70; - HEAP32[$71>>2] = $$mask1; - $72 = (($70) + 4)|0; - $73 = $72; - HEAP32[$73>>2] = 0; - break L1; - break; - } - case 15: { - $arglist_current17 = HEAP32[$ap>>2]|0; - $74 = $arglist_current17; - $75 = ((0) + 4|0); - $expanded70 = $75; - $expanded69 = (($expanded70) - 1)|0; - $76 = (($74) + ($expanded69))|0; - $77 = ((0) + 4|0); - $expanded74 = $77; - $expanded73 = (($expanded74) - 1)|0; - $expanded72 = $expanded73 ^ -1; - $78 = $76 & $expanded72; - $79 = $78; - $80 = HEAP32[$79>>2]|0; - $arglist_next18 = ((($79)) + 4|0); - HEAP32[$ap>>2] = $arglist_next18; - $81 = $80&255; - $82 = $81 << 24 >> 24; - $83 = ($82|0)<(0); - $84 = $83 << 31 >> 31; - $85 = $arg; - $86 = $85; - HEAP32[$86>>2] = $82; - $87 = (($85) + 4)|0; - $88 = $87; - HEAP32[$88>>2] = $84; - break L1; - break; - } - case 16: { - $arglist_current20 = HEAP32[$ap>>2]|0; - $89 = $arglist_current20; - $90 = ((0) + 4|0); - $expanded77 = $90; - $expanded76 = (($expanded77) - 1)|0; - $91 = (($89) + ($expanded76))|0; - $92 = ((0) + 4|0); - $expanded81 = $92; - $expanded80 = (($expanded81) - 1)|0; - $expanded79 = $expanded80 ^ -1; - $93 = $91 & $expanded79; - $94 = $93; - $95 = HEAP32[$94>>2]|0; - $arglist_next21 = ((($94)) + 4|0); - HEAP32[$ap>>2] = $arglist_next21; - $$mask = $95 & 255; - $96 = $arg; - $97 = $96; - HEAP32[$97>>2] = $$mask; - $98 = (($96) + 4)|0; - $99 = $98; - HEAP32[$99>>2] = 0; - break L1; - break; - } - case 17: { - $arglist_current23 = HEAP32[$ap>>2]|0; - $100 = $arglist_current23; - $101 = ((0) + 8|0); - $expanded84 = $101; - $expanded83 = (($expanded84) - 1)|0; - $102 = (($100) + ($expanded83))|0; - $103 = ((0) + 8|0); - $expanded88 = $103; - $expanded87 = (($expanded88) - 1)|0; - $expanded86 = $expanded87 ^ -1; - $104 = $102 & $expanded86; - $105 = $104; - $106 = +HEAPF64[$105>>3]; - $arglist_next24 = ((($105)) + 8|0); - HEAP32[$ap>>2] = $arglist_next24; - HEAPF64[$arg>>3] = $106; - break L1; - break; - } - case 18: { - $arglist_current26 = HEAP32[$ap>>2]|0; - $107 = $arglist_current26; - $108 = ((0) + 8|0); - $expanded91 = $108; - $expanded90 = (($expanded91) - 1)|0; - $109 = (($107) + ($expanded90))|0; - $110 = ((0) + 8|0); - $expanded95 = $110; - $expanded94 = (($expanded95) - 1)|0; - $expanded93 = $expanded94 ^ -1; - $111 = $109 & $expanded93; - $112 = $111; - $113 = +HEAPF64[$112>>3]; - $arglist_next27 = ((($112)) + 8|0); - HEAP32[$ap>>2] = $arglist_next27; - HEAPF64[$arg>>3] = $113; - break L1; - break; - } - default: { - break L1; - } - } - } while(0); - } - } while(0); - return; -} -function _fmt_u($0,$1,$s) { - $0 = $0|0; - $1 = $1|0; - $s = $s|0; - var $$0$lcssa = 0, $$01$lcssa$off0 = 0, $$05 = 0, $$1$lcssa = 0, $$12 = 0, $$lcssa20 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0; - var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $y$03 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ($1>>>0)>(0); - $3 = ($0>>>0)>(4294967295); - $4 = ($1|0)==(0); - $5 = $4 & $3; - $6 = $2 | $5; - if ($6) { - $$05 = $s;$7 = $0;$8 = $1; - while(1) { - $9 = (___uremdi3(($7|0),($8|0),10,0)|0); - $10 = tempRet0; - $11 = $9 | 48; - $12 = $11&255; - $13 = ((($$05)) + -1|0); - HEAP8[$13>>0] = $12; - $14 = (___udivdi3(($7|0),($8|0),10,0)|0); - $15 = tempRet0; - $16 = ($8>>>0)>(9); - $17 = ($7>>>0)>(4294967295); - $18 = ($8|0)==(9); - $19 = $18 & $17; - $20 = $16 | $19; - if ($20) { - $$05 = $13;$7 = $14;$8 = $15; - } else { - $$lcssa20 = $13;$28 = $14;$29 = $15; - break; - } - } - $$0$lcssa = $$lcssa20;$$01$lcssa$off0 = $28; - } else { - $$0$lcssa = $s;$$01$lcssa$off0 = $0; - } - $21 = ($$01$lcssa$off0|0)==(0); - if ($21) { - $$1$lcssa = $$0$lcssa; - } else { - $$12 = $$0$lcssa;$y$03 = $$01$lcssa$off0; - while(1) { - $22 = (($y$03>>>0) % 10)&-1; - $23 = $22 | 48; - $24 = $23&255; - $25 = ((($$12)) + -1|0); - HEAP8[$25>>0] = $24; - $26 = (($y$03>>>0) / 10)&-1; - $27 = ($y$03>>>0)<(10); - if ($27) { - $$1$lcssa = $25; - break; - } else { - $$12 = $25;$y$03 = $26; - } - } - } - return ($$1$lcssa|0); -} -function _pad($f,$c,$w,$l,$fl) { - $f = $f|0; - $c = $c|0; - $w = $w|0; - $l = $l|0; - $fl = $fl|0; - var $$0$lcssa6 = 0, $$02 = 0, $$pre = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; - var $8 = 0, $9 = 0, $or$cond = 0, $pad = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 256|0; - $pad = sp; - $0 = $fl & 73728; - $1 = ($0|0)==(0); - $2 = ($w|0)>($l|0); - $or$cond = $2 & $1; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $1 = sp; + $2 = ($0>>>0)<(245); do { - if ($or$cond) { - $3 = (($w) - ($l))|0; - $4 = ($3>>>0)>(256); - $5 = $4 ? 256 : $3; - _memset(($pad|0),($c|0),($5|0))|0; - $6 = ($3>>>0)>(255); - $7 = HEAP32[$f>>2]|0; - $8 = $7 & 32; - $9 = ($8|0)==(0); - if ($6) { - $10 = (($w) - ($l))|0; - $$02 = $3;$17 = $7;$18 = $9; - while(1) { - if ($18) { - (___fwritex($pad,256,$f)|0); - $$pre = HEAP32[$f>>2]|0; - $14 = $$pre; - } else { - $14 = $17; - } - $11 = (($$02) + -256)|0; - $12 = ($11>>>0)>(255); - $13 = $14 & 32; - $15 = ($13|0)==(0); - if ($12) { - $$02 = $11;$17 = $14;$18 = $15; - } else { - break; - } - } - $16 = $10 & 255; - if ($15) { - $$0$lcssa6 = $16; - } else { - break; - } - } else { - if ($9) { - $$0$lcssa6 = $3; - } else { - break; - } - } - (___fwritex($pad,$$0$lcssa6,$f)|0); - } - } while(0); - STACKTOP = sp;return; -} -function _malloc($bytes) { - $bytes = $bytes|0; - var $$3$i = 0, $$lcssa = 0, $$lcssa211 = 0, $$lcssa215 = 0, $$lcssa216 = 0, $$lcssa217 = 0, $$lcssa219 = 0, $$lcssa222 = 0, $$lcssa224 = 0, $$lcssa226 = 0, $$lcssa228 = 0, $$lcssa230 = 0, $$lcssa232 = 0, $$pre = 0, $$pre$i = 0, $$pre$i$i = 0, $$pre$i22$i = 0, $$pre$i25 = 0, $$pre$phi$i$iZ2D = 0, $$pre$phi$i23$iZ2D = 0; - var $$pre$phi$i26Z2D = 0, $$pre$phi$iZ2D = 0, $$pre$phi58$i$iZ2D = 0, $$pre$phiZ2D = 0, $$pre105 = 0, $$pre106 = 0, $$pre14$i$i = 0, $$pre43$i = 0, $$pre56$i$i = 0, $$pre57$i$i = 0, $$pre8$i = 0, $$rsize$0$i = 0, $$rsize$3$i = 0, $$sum = 0, $$sum$i$i = 0, $$sum$i$i$i = 0, $$sum$i13$i = 0, $$sum$i14$i = 0, $$sum$i17$i = 0, $$sum$i19$i = 0; - var $$sum$i2334 = 0, $$sum$i32 = 0, $$sum$i35 = 0, $$sum1 = 0, $$sum1$i = 0, $$sum1$i$i = 0, $$sum1$i15$i = 0, $$sum1$i20$i = 0, $$sum1$i24 = 0, $$sum10 = 0, $$sum10$i = 0, $$sum10$i$i = 0, $$sum11$i = 0, $$sum11$i$i = 0, $$sum1112 = 0, $$sum112$i = 0, $$sum113$i = 0, $$sum114$i = 0, $$sum115$i = 0, $$sum116$i = 0; - var $$sum117$i = 0, $$sum118$i = 0, $$sum119$i = 0, $$sum12$i = 0, $$sum12$i$i = 0, $$sum120$i = 0, $$sum121$i = 0, $$sum122$i = 0, $$sum123$i = 0, $$sum124$i = 0, $$sum125$i = 0, $$sum13$i = 0, $$sum13$i$i = 0, $$sum14$i$i = 0, $$sum15$i = 0, $$sum15$i$i = 0, $$sum16$i = 0, $$sum16$i$i = 0, $$sum17$i = 0, $$sum17$i$i = 0; - var $$sum18$i = 0, $$sum1819$i$i = 0, $$sum2 = 0, $$sum2$i = 0, $$sum2$i$i = 0, $$sum2$i$i$i = 0, $$sum2$i16$i = 0, $$sum2$i18$i = 0, $$sum2$i21$i = 0, $$sum20$i$i = 0, $$sum21$i$i = 0, $$sum22$i$i = 0, $$sum23$i$i = 0, $$sum24$i$i = 0, $$sum25$i$i = 0, $$sum27$i$i = 0, $$sum28$i$i = 0, $$sum29$i$i = 0, $$sum3$i = 0, $$sum3$i27 = 0; - var $$sum30$i$i = 0, $$sum3132$i$i = 0, $$sum34$i$i = 0, $$sum3536$i$i = 0, $$sum3738$i$i = 0, $$sum39$i$i = 0, $$sum4 = 0, $$sum4$i = 0, $$sum4$i$i = 0, $$sum4$i28 = 0, $$sum40$i$i = 0, $$sum41$i$i = 0, $$sum42$i$i = 0, $$sum5$i = 0, $$sum5$i$i = 0, $$sum56 = 0, $$sum6$i = 0, $$sum67$i$i = 0, $$sum7$i = 0, $$sum8$i = 0; - var $$sum9 = 0, $$sum9$i = 0, $$sum9$i$i = 0, $$tsize$1$i = 0, $$v$0$i = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $1000 = 0, $1001 = 0, $1002 = 0, $1003 = 0, $1004 = 0, $1005 = 0, $1006 = 0, $1007 = 0, $1008 = 0, $1009 = 0, $101 = 0; - var $1010 = 0, $1011 = 0, $1012 = 0, $1013 = 0, $1014 = 0, $1015 = 0, $1016 = 0, $1017 = 0, $1018 = 0, $1019 = 0, $102 = 0, $1020 = 0, $1021 = 0, $1022 = 0, $1023 = 0, $1024 = 0, $1025 = 0, $1026 = 0, $1027 = 0, $1028 = 0; - var $1029 = 0, $103 = 0, $1030 = 0, $1031 = 0, $1032 = 0, $1033 = 0, $1034 = 0, $1035 = 0, $1036 = 0, $1037 = 0, $1038 = 0, $1039 = 0, $104 = 0, $1040 = 0, $1041 = 0, $1042 = 0, $1043 = 0, $1044 = 0, $1045 = 0, $1046 = 0; - var $1047 = 0, $1048 = 0, $1049 = 0, $105 = 0, $1050 = 0, $1051 = 0, $1052 = 0, $1053 = 0, $1054 = 0, $1055 = 0, $1056 = 0, $1057 = 0, $1058 = 0, $1059 = 0, $106 = 0, $1060 = 0, $1061 = 0, $1062 = 0, $1063 = 0, $1064 = 0; - var $1065 = 0, $1066 = 0, $1067 = 0, $1068 = 0, $1069 = 0, $107 = 0, $1070 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0; - var $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0; - var $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0; - var $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0; - var $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0; - var $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0; - var $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0; - var $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0; - var $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0; - var $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0; - var $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0; - var $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0; - var $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0; - var $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0; - var $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0; - var $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0; - var $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0; - var $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0, $424 = 0, $425 = 0; - var $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0, $442 = 0, $443 = 0; - var $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0, $460 = 0, $461 = 0; - var $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0, $478 = 0, $479 = 0, $48 = 0; - var $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0, $496 = 0, $497 = 0, $498 = 0; - var $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0, $513 = 0, $514 = 0, $515 = 0; - var $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0, $531 = 0, $532 = 0, $533 = 0; - var $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0, $549 = 0, $55 = 0, $550 = 0, $551 = 0; - var $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0, $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0, $562 = 0, $563 = 0, $564 = 0, $565 = 0, $566 = 0, $567 = 0, $568 = 0, $569 = 0, $57 = 0; - var $570 = 0, $571 = 0, $572 = 0, $573 = 0, $574 = 0, $575 = 0, $576 = 0, $577 = 0, $578 = 0, $579 = 0, $58 = 0, $580 = 0, $581 = 0, $582 = 0, $583 = 0, $584 = 0, $585 = 0, $586 = 0, $587 = 0, $588 = 0; - var $589 = 0, $59 = 0, $590 = 0, $591 = 0, $592 = 0, $593 = 0, $594 = 0, $595 = 0, $596 = 0, $597 = 0, $598 = 0, $599 = 0, $6 = 0, $60 = 0, $600 = 0, $601 = 0, $602 = 0, $603 = 0, $604 = 0, $605 = 0; - var $606 = 0, $607 = 0, $608 = 0, $609 = 0, $61 = 0, $610 = 0, $611 = 0, $612 = 0, $613 = 0, $614 = 0, $615 = 0, $616 = 0, $617 = 0, $618 = 0, $619 = 0, $62 = 0, $620 = 0, $621 = 0, $622 = 0, $623 = 0; - var $624 = 0, $625 = 0, $626 = 0, $627 = 0, $628 = 0, $629 = 0, $63 = 0, $630 = 0, $631 = 0, $632 = 0, $633 = 0, $634 = 0, $635 = 0, $636 = 0, $637 = 0, $638 = 0, $639 = 0, $64 = 0, $640 = 0, $641 = 0; - var $642 = 0, $643 = 0, $644 = 0, $645 = 0, $646 = 0, $647 = 0, $648 = 0, $649 = 0, $65 = 0, $650 = 0, $651 = 0, $652 = 0, $653 = 0, $654 = 0, $655 = 0, $656 = 0, $657 = 0, $658 = 0, $659 = 0, $66 = 0; - var $660 = 0, $661 = 0, $662 = 0, $663 = 0, $664 = 0, $665 = 0, $666 = 0, $667 = 0, $668 = 0, $669 = 0, $67 = 0, $670 = 0, $671 = 0, $672 = 0, $673 = 0, $674 = 0, $675 = 0, $676 = 0, $677 = 0, $678 = 0; - var $679 = 0, $68 = 0, $680 = 0, $681 = 0, $682 = 0, $683 = 0, $684 = 0, $685 = 0, $686 = 0, $687 = 0, $688 = 0, $689 = 0, $69 = 0, $690 = 0, $691 = 0, $692 = 0, $693 = 0, $694 = 0, $695 = 0, $696 = 0; - var $697 = 0, $698 = 0, $699 = 0, $7 = 0, $70 = 0, $700 = 0, $701 = 0, $702 = 0, $703 = 0, $704 = 0, $705 = 0, $706 = 0, $707 = 0, $708 = 0, $709 = 0, $71 = 0, $710 = 0, $711 = 0, $712 = 0, $713 = 0; - var $714 = 0, $715 = 0, $716 = 0, $717 = 0, $718 = 0, $719 = 0, $72 = 0, $720 = 0, $721 = 0, $722 = 0, $723 = 0, $724 = 0, $725 = 0, $726 = 0, $727 = 0, $728 = 0, $729 = 0, $73 = 0, $730 = 0, $731 = 0; - var $732 = 0, $733 = 0, $734 = 0, $735 = 0, $736 = 0, $737 = 0, $738 = 0, $739 = 0, $74 = 0, $740 = 0, $741 = 0, $742 = 0, $743 = 0, $744 = 0, $745 = 0, $746 = 0, $747 = 0, $748 = 0, $749 = 0, $75 = 0; - var $750 = 0, $751 = 0, $752 = 0, $753 = 0, $754 = 0, $755 = 0, $756 = 0, $757 = 0, $758 = 0, $759 = 0, $76 = 0, $760 = 0, $761 = 0, $762 = 0, $763 = 0, $764 = 0, $765 = 0, $766 = 0, $767 = 0, $768 = 0; - var $769 = 0, $77 = 0, $770 = 0, $771 = 0, $772 = 0, $773 = 0, $774 = 0, $775 = 0, $776 = 0, $777 = 0, $778 = 0, $779 = 0, $78 = 0, $780 = 0, $781 = 0, $782 = 0, $783 = 0, $784 = 0, $785 = 0, $786 = 0; - var $787 = 0, $788 = 0, $789 = 0, $79 = 0, $790 = 0, $791 = 0, $792 = 0, $793 = 0, $794 = 0, $795 = 0, $796 = 0, $797 = 0, $798 = 0, $799 = 0, $8 = 0, $80 = 0, $800 = 0, $801 = 0, $802 = 0, $803 = 0; - var $804 = 0, $805 = 0, $806 = 0, $807 = 0, $808 = 0, $809 = 0, $81 = 0, $810 = 0, $811 = 0, $812 = 0, $813 = 0, $814 = 0, $815 = 0, $816 = 0, $817 = 0, $818 = 0, $819 = 0, $82 = 0, $820 = 0, $821 = 0; - var $822 = 0, $823 = 0, $824 = 0, $825 = 0, $826 = 0, $827 = 0, $828 = 0, $829 = 0, $83 = 0, $830 = 0, $831 = 0, $832 = 0, $833 = 0, $834 = 0, $835 = 0, $836 = 0, $837 = 0, $838 = 0, $839 = 0, $84 = 0; - var $840 = 0, $841 = 0, $842 = 0, $843 = 0, $844 = 0, $845 = 0, $846 = 0, $847 = 0, $848 = 0, $849 = 0, $85 = 0, $850 = 0, $851 = 0, $852 = 0, $853 = 0, $854 = 0, $855 = 0, $856 = 0, $857 = 0, $858 = 0; - var $859 = 0, $86 = 0, $860 = 0, $861 = 0, $862 = 0, $863 = 0, $864 = 0, $865 = 0, $866 = 0, $867 = 0, $868 = 0, $869 = 0, $87 = 0, $870 = 0, $871 = 0, $872 = 0, $873 = 0, $874 = 0, $875 = 0, $876 = 0; - var $877 = 0, $878 = 0, $879 = 0, $88 = 0, $880 = 0, $881 = 0, $882 = 0, $883 = 0, $884 = 0, $885 = 0, $886 = 0, $887 = 0, $888 = 0, $889 = 0, $89 = 0, $890 = 0, $891 = 0, $892 = 0, $893 = 0, $894 = 0; - var $895 = 0, $896 = 0, $897 = 0, $898 = 0, $899 = 0, $9 = 0, $90 = 0, $900 = 0, $901 = 0, $902 = 0, $903 = 0, $904 = 0, $905 = 0, $906 = 0, $907 = 0, $908 = 0, $909 = 0, $91 = 0, $910 = 0, $911 = 0; - var $912 = 0, $913 = 0, $914 = 0, $915 = 0, $916 = 0, $917 = 0, $918 = 0, $919 = 0, $92 = 0, $920 = 0, $921 = 0, $922 = 0, $923 = 0, $924 = 0, $925 = 0, $926 = 0, $927 = 0, $928 = 0, $929 = 0, $93 = 0; - var $930 = 0, $931 = 0, $932 = 0, $933 = 0, $934 = 0, $935 = 0, $936 = 0, $937 = 0, $938 = 0, $939 = 0, $94 = 0, $940 = 0, $941 = 0, $942 = 0, $943 = 0, $944 = 0, $945 = 0, $946 = 0, $947 = 0, $948 = 0; - var $949 = 0, $95 = 0, $950 = 0, $951 = 0, $952 = 0, $953 = 0, $954 = 0, $955 = 0, $956 = 0, $957 = 0, $958 = 0, $959 = 0, $96 = 0, $960 = 0, $961 = 0, $962 = 0, $963 = 0, $964 = 0, $965 = 0, $966 = 0; - var $967 = 0, $968 = 0, $969 = 0, $97 = 0, $970 = 0, $971 = 0, $972 = 0, $973 = 0, $974 = 0, $975 = 0, $976 = 0, $977 = 0, $978 = 0, $979 = 0, $98 = 0, $980 = 0, $981 = 0, $982 = 0, $983 = 0, $984 = 0; - var $985 = 0, $986 = 0, $987 = 0, $988 = 0, $989 = 0, $99 = 0, $990 = 0, $991 = 0, $992 = 0, $993 = 0, $994 = 0, $995 = 0, $996 = 0, $997 = 0, $998 = 0, $999 = 0, $F$0$i$i = 0, $F1$0$i = 0, $F4$0 = 0, $F4$0$i$i = 0; - var $F5$0$i = 0, $I1$0$i$i = 0, $I7$0$i = 0, $I7$0$i$i = 0, $K12$029$i = 0, $K2$07$i$i = 0, $K8$051$i$i = 0, $R$0$i = 0, $R$0$i$i = 0, $R$0$i$i$lcssa = 0, $R$0$i$lcssa = 0, $R$0$i18 = 0, $R$0$i18$lcssa = 0, $R$1$i = 0, $R$1$i$i = 0, $R$1$i20 = 0, $RP$0$i = 0, $RP$0$i$i = 0, $RP$0$i$i$lcssa = 0, $RP$0$i$lcssa = 0; - var $RP$0$i17 = 0, $RP$0$i17$lcssa = 0, $T$0$lcssa$i = 0, $T$0$lcssa$i$i = 0, $T$0$lcssa$i25$i = 0, $T$028$i = 0, $T$028$i$lcssa = 0, $T$050$i$i = 0, $T$050$i$i$lcssa = 0, $T$06$i$i = 0, $T$06$i$i$lcssa = 0, $br$0$ph$i = 0, $cond$i = 0, $cond$i$i = 0, $cond$i21 = 0, $exitcond$i$i = 0, $i$02$i$i = 0, $idx$0$i = 0, $mem$0 = 0, $nb$0 = 0; - var $not$$i = 0, $not$$i$i = 0, $not$$i26$i = 0, $oldfirst$0$i$i = 0, $or$cond$i = 0, $or$cond$i30 = 0, $or$cond1$i = 0, $or$cond19$i = 0, $or$cond2$i = 0, $or$cond3$i = 0, $or$cond5$i = 0, $or$cond57$i = 0, $or$cond6$i = 0, $or$cond8$i = 0, $or$cond9$i = 0, $qsize$0$i$i = 0, $rsize$0$i = 0, $rsize$0$i$lcssa = 0, $rsize$0$i15 = 0, $rsize$1$i = 0; - var $rsize$2$i = 0, $rsize$3$lcssa$i = 0, $rsize$331$i = 0, $rst$0$i = 0, $rst$1$i = 0, $sizebits$0$i = 0, $sp$0$i$i = 0, $sp$0$i$i$i = 0, $sp$084$i = 0, $sp$084$i$lcssa = 0, $sp$183$i = 0, $sp$183$i$lcssa = 0, $ssize$0$$i = 0, $ssize$0$i = 0, $ssize$1$ph$i = 0, $ssize$2$i = 0, $t$0$i = 0, $t$0$i14 = 0, $t$1$i = 0, $t$2$ph$i = 0; - var $t$2$v$3$i = 0, $t$230$i = 0, $tbase$255$i = 0, $tsize$0$ph$i = 0, $tsize$0323944$i = 0, $tsize$1$i = 0, $tsize$254$i = 0, $v$0$i = 0, $v$0$i$lcssa = 0, $v$0$i16 = 0, $v$1$i = 0, $v$2$i = 0, $v$3$lcssa$i = 0, $v$3$ph$i = 0, $v$332$i = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ($bytes>>>0)<(245); - do { - if ($0) { - $1 = ($bytes>>>0)<(11); - $2 = (($bytes) + 11)|0; - $3 = $2 & -8; - $4 = $1 ? 16 : $3; - $5 = $4 >>> 3; - $6 = HEAP32[9156>>2]|0; - $7 = $6 >>> $5; - $8 = $7 & 3; - $9 = ($8|0)==(0); - if (!($9)) { - $10 = $7 & 1; - $11 = $10 ^ 1; - $12 = (($11) + ($5))|0; - $13 = $12 << 1; - $14 = (9196 + ($13<<2)|0); - $$sum10 = (($13) + 2)|0; - $15 = (9196 + ($$sum10<<2)|0); - $16 = HEAP32[$15>>2]|0; + if ($2) { + $3 = ($0>>>0)<(11); + $4 = (($0) + 11)|0; + $5 = $4 & -8; + $6 = $3 ? 16 : $5; + $7 = $6 >>> 3; + $8 = HEAP32[7052]|0; + $9 = $8 >>> $7; + $10 = $9 & 3; + $11 = ($10|0)==(0); + if (!($11)) { + $12 = $9 & 1; + $13 = $12 ^ 1; + $14 = (($13) + ($7))|0; + $15 = $14 << 1; + $16 = (28248 + ($15<<2)|0); $17 = ((($16)) + 8|0); $18 = HEAP32[$17>>2]|0; - $19 = ($14|0)==($18|0); + $19 = ((($18)) + 8|0); + $20 = HEAP32[$19>>2]|0; + $21 = ($16|0)==($20|0); do { - if ($19) { - $20 = 1 << $12; - $21 = $20 ^ -1; - $22 = $6 & $21; - HEAP32[9156>>2] = $22; + if ($21) { + $22 = 1 << $14; + $23 = $22 ^ -1; + $24 = $8 & $23; + HEAP32[7052] = $24; } else { - $23 = HEAP32[(9172)>>2]|0; - $24 = ($18>>>0)<($23>>>0); - if ($24) { + $25 = HEAP32[(28224)>>2]|0; + $26 = ($20>>>0)<($25>>>0); + if ($26) { _abort(); // unreachable; } - $25 = ((($18)) + 12|0); - $26 = HEAP32[$25>>2]|0; - $27 = ($26|0)==($16|0); - if ($27) { - HEAP32[$25>>2] = $14; - HEAP32[$15>>2] = $18; + $27 = ((($20)) + 12|0); + $28 = HEAP32[$27>>2]|0; + $29 = ($28|0)==($18|0); + if ($29) { + HEAP32[$27>>2] = $16; + HEAP32[$17>>2] = $20; break; } else { _abort(); @@ -59772,81 +63427,79 @@ function _malloc($bytes) { } } } while(0); - $28 = $12 << 3; - $29 = $28 | 3; - $30 = ((($16)) + 4|0); - HEAP32[$30>>2] = $29; - $$sum1112 = $28 | 4; - $31 = (($16) + ($$sum1112)|0); - $32 = HEAP32[$31>>2]|0; - $33 = $32 | 1; - HEAP32[$31>>2] = $33; - $mem$0 = $17; - return ($mem$0|0); + $30 = $14 << 3; + $31 = $30 | 3; + $32 = ((($18)) + 4|0); + HEAP32[$32>>2] = $31; + $33 = (($18) + ($30)|0); + $34 = ((($33)) + 4|0); + $35 = HEAP32[$34>>2]|0; + $36 = $35 | 1; + HEAP32[$34>>2] = $36; + $$0 = $19; + STACKTOP = sp;return ($$0|0); } - $34 = HEAP32[(9164)>>2]|0; - $35 = ($4>>>0)>($34>>>0); - if ($35) { - $36 = ($7|0)==(0); - if (!($36)) { - $37 = $7 << $5; - $38 = 2 << $5; - $39 = (0 - ($38))|0; - $40 = $38 | $39; - $41 = $37 & $40; + $37 = HEAP32[(28216)>>2]|0; + $38 = ($6>>>0)>($37>>>0); + if ($38) { + $39 = ($9|0)==(0); + if (!($39)) { + $40 = $9 << $7; + $41 = 2 << $7; $42 = (0 - ($41))|0; - $43 = $41 & $42; - $44 = (($43) + -1)|0; - $45 = $44 >>> 12; - $46 = $45 & 16; - $47 = $44 >>> $46; - $48 = $47 >>> 5; - $49 = $48 & 8; - $50 = $49 | $46; - $51 = $47 >>> $49; - $52 = $51 >>> 2; - $53 = $52 & 4; - $54 = $50 | $53; - $55 = $51 >>> $53; - $56 = $55 >>> 1; - $57 = $56 & 2; - $58 = $54 | $57; - $59 = $55 >>> $57; - $60 = $59 >>> 1; - $61 = $60 & 1; - $62 = $58 | $61; - $63 = $59 >>> $61; - $64 = (($62) + ($63))|0; - $65 = $64 << 1; - $66 = (9196 + ($65<<2)|0); - $$sum4 = (($65) + 2)|0; - $67 = (9196 + ($$sum4<<2)|0); - $68 = HEAP32[$67>>2]|0; - $69 = ((($68)) + 8|0); - $70 = HEAP32[$69>>2]|0; - $71 = ($66|0)==($70|0); + $43 = $41 | $42; + $44 = $40 & $43; + $45 = (0 - ($44))|0; + $46 = $44 & $45; + $47 = (($46) + -1)|0; + $48 = $47 >>> 12; + $49 = $48 & 16; + $50 = $47 >>> $49; + $51 = $50 >>> 5; + $52 = $51 & 8; + $53 = $52 | $49; + $54 = $50 >>> $52; + $55 = $54 >>> 2; + $56 = $55 & 4; + $57 = $53 | $56; + $58 = $54 >>> $56; + $59 = $58 >>> 1; + $60 = $59 & 2; + $61 = $57 | $60; + $62 = $58 >>> $60; + $63 = $62 >>> 1; + $64 = $63 & 1; + $65 = $61 | $64; + $66 = $62 >>> $64; + $67 = (($65) + ($66))|0; + $68 = $67 << 1; + $69 = (28248 + ($68<<2)|0); + $70 = ((($69)) + 8|0); + $71 = HEAP32[$70>>2]|0; + $72 = ((($71)) + 8|0); + $73 = HEAP32[$72>>2]|0; + $74 = ($69|0)==($73|0); do { - if ($71) { - $72 = 1 << $64; - $73 = $72 ^ -1; - $74 = $6 & $73; - HEAP32[9156>>2] = $74; - $88 = $34; + if ($74) { + $75 = 1 << $67; + $76 = $75 ^ -1; + $77 = $8 & $76; + HEAP32[7052] = $77; + $98 = $77; } else { - $75 = HEAP32[(9172)>>2]|0; - $76 = ($70>>>0)<($75>>>0); - if ($76) { + $78 = HEAP32[(28224)>>2]|0; + $79 = ($73>>>0)<($78>>>0); + if ($79) { _abort(); // unreachable; } - $77 = ((($70)) + 12|0); - $78 = HEAP32[$77>>2]|0; - $79 = ($78|0)==($68|0); - if ($79) { - HEAP32[$77>>2] = $66; - HEAP32[$67>>2] = $70; - $$pre = HEAP32[(9164)>>2]|0; - $88 = $$pre; + $80 = ((($73)) + 12|0); + $81 = HEAP32[$80>>2]|0; + $82 = ($81|0)==($71|0); + if ($82) { + HEAP32[$80>>2] = $69; + HEAP32[$70>>2] = $73; + $98 = $8; break; } else { _abort(); @@ -59854,205 +63507,207 @@ function _malloc($bytes) { } } } while(0); - $80 = $64 << 3; - $81 = (($80) - ($4))|0; - $82 = $4 | 3; - $83 = ((($68)) + 4|0); - HEAP32[$83>>2] = $82; - $84 = (($68) + ($4)|0); - $85 = $81 | 1; - $$sum56 = $4 | 4; - $86 = (($68) + ($$sum56)|0); + $83 = $67 << 3; + $84 = (($83) - ($6))|0; + $85 = $6 | 3; + $86 = ((($71)) + 4|0); HEAP32[$86>>2] = $85; - $87 = (($68) + ($80)|0); - HEAP32[$87>>2] = $81; - $89 = ($88|0)==(0); - if (!($89)) { - $90 = HEAP32[(9176)>>2]|0; - $91 = $88 >>> 3; - $92 = $91 << 1; - $93 = (9196 + ($92<<2)|0); - $94 = HEAP32[9156>>2]|0; - $95 = 1 << $91; - $96 = $94 & $95; - $97 = ($96|0)==(0); - if ($97) { - $98 = $94 | $95; - HEAP32[9156>>2] = $98; - $$pre105 = (($92) + 2)|0; - $$pre106 = (9196 + ($$pre105<<2)|0); - $$pre$phiZ2D = $$pre106;$F4$0 = $93; + $87 = (($71) + ($6)|0); + $88 = $84 | 1; + $89 = ((($87)) + 4|0); + HEAP32[$89>>2] = $88; + $90 = (($87) + ($84)|0); + HEAP32[$90>>2] = $84; + $91 = ($37|0)==(0); + if (!($91)) { + $92 = HEAP32[(28228)>>2]|0; + $93 = $37 >>> 3; + $94 = $93 << 1; + $95 = (28248 + ($94<<2)|0); + $96 = 1 << $93; + $97 = $98 & $96; + $99 = ($97|0)==(0); + if ($99) { + $100 = $98 | $96; + HEAP32[7052] = $100; + $$pre = ((($95)) + 8|0); + $$0199 = $95;$$pre$phiZ2D = $$pre; } else { - $$sum9 = (($92) + 2)|0; - $99 = (9196 + ($$sum9<<2)|0); - $100 = HEAP32[$99>>2]|0; - $101 = HEAP32[(9172)>>2]|0; - $102 = ($100>>>0)<($101>>>0); - if ($102) { + $101 = ((($95)) + 8|0); + $102 = HEAP32[$101>>2]|0; + $103 = HEAP32[(28224)>>2]|0; + $104 = ($102>>>0)<($103>>>0); + if ($104) { _abort(); // unreachable; } else { - $$pre$phiZ2D = $99;$F4$0 = $100; + $$0199 = $102;$$pre$phiZ2D = $101; } } - HEAP32[$$pre$phiZ2D>>2] = $90; - $103 = ((($F4$0)) + 12|0); - HEAP32[$103>>2] = $90; - $104 = ((($90)) + 8|0); - HEAP32[$104>>2] = $F4$0; - $105 = ((($90)) + 12|0); - HEAP32[$105>>2] = $93; + HEAP32[$$pre$phiZ2D>>2] = $92; + $105 = ((($$0199)) + 12|0); + HEAP32[$105>>2] = $92; + $106 = ((($92)) + 8|0); + HEAP32[$106>>2] = $$0199; + $107 = ((($92)) + 12|0); + HEAP32[$107>>2] = $95; } - HEAP32[(9164)>>2] = $81; - HEAP32[(9176)>>2] = $84; - $mem$0 = $69; - return ($mem$0|0); + HEAP32[(28216)>>2] = $84; + HEAP32[(28228)>>2] = $87; + $$0 = $72; + STACKTOP = sp;return ($$0|0); } - $106 = HEAP32[(9160)>>2]|0; - $107 = ($106|0)==(0); - if ($107) { - $nb$0 = $4; + $108 = HEAP32[(28212)>>2]|0; + $109 = ($108|0)==(0); + if ($109) { + $$0197 = $6; } else { - $108 = (0 - ($106))|0; - $109 = $106 & $108; - $110 = (($109) + -1)|0; - $111 = $110 >>> 12; - $112 = $111 & 16; - $113 = $110 >>> $112; - $114 = $113 >>> 5; - $115 = $114 & 8; - $116 = $115 | $112; - $117 = $113 >>> $115; - $118 = $117 >>> 2; - $119 = $118 & 4; - $120 = $116 | $119; - $121 = $117 >>> $119; - $122 = $121 >>> 1; - $123 = $122 & 2; - $124 = $120 | $123; - $125 = $121 >>> $123; - $126 = $125 >>> 1; - $127 = $126 & 1; - $128 = $124 | $127; - $129 = $125 >>> $127; - $130 = (($128) + ($129))|0; - $131 = (9460 + ($130<<2)|0); - $132 = HEAP32[$131>>2]|0; - $133 = ((($132)) + 4|0); + $110 = (0 - ($108))|0; + $111 = $108 & $110; + $112 = (($111) + -1)|0; + $113 = $112 >>> 12; + $114 = $113 & 16; + $115 = $112 >>> $114; + $116 = $115 >>> 5; + $117 = $116 & 8; + $118 = $117 | $114; + $119 = $115 >>> $117; + $120 = $119 >>> 2; + $121 = $120 & 4; + $122 = $118 | $121; + $123 = $119 >>> $121; + $124 = $123 >>> 1; + $125 = $124 & 2; + $126 = $122 | $125; + $127 = $123 >>> $125; + $128 = $127 >>> 1; + $129 = $128 & 1; + $130 = $126 | $129; + $131 = $127 >>> $129; + $132 = (($130) + ($131))|0; + $133 = (28512 + ($132<<2)|0); $134 = HEAP32[$133>>2]|0; - $135 = $134 & -8; - $136 = (($135) - ($4))|0; - $rsize$0$i = $136;$t$0$i = $132;$v$0$i = $132; - while(1) { - $137 = ((($t$0$i)) + 16|0); - $138 = HEAP32[$137>>2]|0; - $139 = ($138|0)==(0|0); - if ($139) { - $140 = ((($t$0$i)) + 20|0); - $141 = HEAP32[$140>>2]|0; - $142 = ($141|0)==(0|0); - if ($142) { - $rsize$0$i$lcssa = $rsize$0$i;$v$0$i$lcssa = $v$0$i; + $135 = ((($134)) + 4|0); + $136 = HEAP32[$135>>2]|0; + $137 = $136 & -8; + $138 = (($137) - ($6))|0; + $139 = ((($134)) + 16|0); + $140 = HEAP32[$139>>2]|0; + $not$5$i = ($140|0)==(0|0); + $$sink16$i = $not$5$i&1; + $141 = (((($134)) + 16|0) + ($$sink16$i<<2)|0); + $142 = HEAP32[$141>>2]|0; + $143 = ($142|0)==(0|0); + if ($143) { + $$0192$lcssa$i = $134;$$0193$lcssa$i = $138; + } else { + $$01928$i = $134;$$01937$i = $138;$145 = $142; + while(1) { + $144 = ((($145)) + 4|0); + $146 = HEAP32[$144>>2]|0; + $147 = $146 & -8; + $148 = (($147) - ($6))|0; + $149 = ($148>>>0)<($$01937$i>>>0); + $$$0193$i = $149 ? $148 : $$01937$i; + $$$0192$i = $149 ? $145 : $$01928$i; + $150 = ((($145)) + 16|0); + $151 = HEAP32[$150>>2]|0; + $not$$i = ($151|0)==(0|0); + $$sink1$i = $not$$i&1; + $152 = (((($145)) + 16|0) + ($$sink1$i<<2)|0); + $153 = HEAP32[$152>>2]|0; + $154 = ($153|0)==(0|0); + if ($154) { + $$0192$lcssa$i = $$$0192$i;$$0193$lcssa$i = $$$0193$i; break; } else { - $144 = $141; + $$01928$i = $$$0192$i;$$01937$i = $$$0193$i;$145 = $153; } - } else { - $144 = $138; } - $143 = ((($144)) + 4|0); - $145 = HEAP32[$143>>2]|0; - $146 = $145 & -8; - $147 = (($146) - ($4))|0; - $148 = ($147>>>0)<($rsize$0$i>>>0); - $$rsize$0$i = $148 ? $147 : $rsize$0$i; - $$v$0$i = $148 ? $144 : $v$0$i; - $rsize$0$i = $$rsize$0$i;$t$0$i = $144;$v$0$i = $$v$0$i; } - $149 = HEAP32[(9172)>>2]|0; - $150 = ($v$0$i$lcssa>>>0)<($149>>>0); - if ($150) { + $155 = HEAP32[(28224)>>2]|0; + $156 = ($$0192$lcssa$i>>>0)<($155>>>0); + if ($156) { _abort(); // unreachable; } - $151 = (($v$0$i$lcssa) + ($4)|0); - $152 = ($v$0$i$lcssa>>>0)<($151>>>0); - if (!($152)) { + $157 = (($$0192$lcssa$i) + ($6)|0); + $158 = ($$0192$lcssa$i>>>0)<($157>>>0); + if (!($158)) { _abort(); // unreachable; } - $153 = ((($v$0$i$lcssa)) + 24|0); - $154 = HEAP32[$153>>2]|0; - $155 = ((($v$0$i$lcssa)) + 12|0); - $156 = HEAP32[$155>>2]|0; - $157 = ($156|0)==($v$0$i$lcssa|0); + $159 = ((($$0192$lcssa$i)) + 24|0); + $160 = HEAP32[$159>>2]|0; + $161 = ((($$0192$lcssa$i)) + 12|0); + $162 = HEAP32[$161>>2]|0; + $163 = ($162|0)==($$0192$lcssa$i|0); do { - if ($157) { - $167 = ((($v$0$i$lcssa)) + 20|0); - $168 = HEAP32[$167>>2]|0; - $169 = ($168|0)==(0|0); - if ($169) { - $170 = ((($v$0$i$lcssa)) + 16|0); - $171 = HEAP32[$170>>2]|0; - $172 = ($171|0)==(0|0); - if ($172) { - $R$1$i = 0; - break; - } else { - $R$0$i = $171;$RP$0$i = $170; - } - } else { - $R$0$i = $168;$RP$0$i = $167; - } - while(1) { - $173 = ((($R$0$i)) + 20|0); - $174 = HEAP32[$173>>2]|0; - $175 = ($174|0)==(0|0); - if (!($175)) { - $R$0$i = $174;$RP$0$i = $173; - continue; - } - $176 = ((($R$0$i)) + 16|0); + if ($163) { + $173 = ((($$0192$lcssa$i)) + 20|0); + $174 = HEAP32[$173>>2]|0; + $175 = ($174|0)==(0|0); + if ($175) { + $176 = ((($$0192$lcssa$i)) + 16|0); $177 = HEAP32[$176>>2]|0; $178 = ($177|0)==(0|0); if ($178) { - $R$0$i$lcssa = $R$0$i;$RP$0$i$lcssa = $RP$0$i; + $$3$i = 0; break; } else { - $R$0$i = $177;$RP$0$i = $176; + $$1196$i = $177;$$1198$i = $176; + } + } else { + $$1196$i = $174;$$1198$i = $173; + } + while(1) { + $179 = ((($$1196$i)) + 20|0); + $180 = HEAP32[$179>>2]|0; + $181 = ($180|0)==(0|0); + if (!($181)) { + $$1196$i = $180;$$1198$i = $179; + continue; + } + $182 = ((($$1196$i)) + 16|0); + $183 = HEAP32[$182>>2]|0; + $184 = ($183|0)==(0|0); + if ($184) { + break; + } else { + $$1196$i = $183;$$1198$i = $182; } } - $179 = ($RP$0$i$lcssa>>>0)<($149>>>0); - if ($179) { + $185 = ($$1198$i>>>0)<($155>>>0); + if ($185) { _abort(); // unreachable; } else { - HEAP32[$RP$0$i$lcssa>>2] = 0; - $R$1$i = $R$0$i$lcssa; + HEAP32[$$1198$i>>2] = 0; + $$3$i = $$1196$i; break; } } else { - $158 = ((($v$0$i$lcssa)) + 8|0); - $159 = HEAP32[$158>>2]|0; - $160 = ($159>>>0)<($149>>>0); - if ($160) { - _abort(); - // unreachable; - } - $161 = ((($159)) + 12|0); - $162 = HEAP32[$161>>2]|0; - $163 = ($162|0)==($v$0$i$lcssa|0); - if (!($163)) { - _abort(); - // unreachable; - } - $164 = ((($156)) + 8|0); + $164 = ((($$0192$lcssa$i)) + 8|0); $165 = HEAP32[$164>>2]|0; - $166 = ($165|0)==($v$0$i$lcssa|0); + $166 = ($165>>>0)<($155>>>0); if ($166) { - HEAP32[$161>>2] = $156; - HEAP32[$164>>2] = $159; - $R$1$i = $156; + _abort(); + // unreachable; + } + $167 = ((($165)) + 12|0); + $168 = HEAP32[$167>>2]|0; + $169 = ($168|0)==($$0192$lcssa$i|0); + if (!($169)) { + _abort(); + // unreachable; + } + $170 = ((($162)) + 8|0); + $171 = HEAP32[$170>>2]|0; + $172 = ($171|0)==($$0192$lcssa$i|0); + if ($172) { + HEAP32[$167>>2] = $162; + HEAP32[$170>>2] = $165; + $$3$i = $162; break; } else { _abort(); @@ -60060,434 +63715,426 @@ function _malloc($bytes) { } } } while(0); - $180 = ($154|0)==(0|0); - do { - if (!($180)) { - $181 = ((($v$0$i$lcssa)) + 28|0); - $182 = HEAP32[$181>>2]|0; - $183 = (9460 + ($182<<2)|0); - $184 = HEAP32[$183>>2]|0; - $185 = ($v$0$i$lcssa|0)==($184|0); - if ($185) { - HEAP32[$183>>2] = $R$1$i; - $cond$i = ($R$1$i|0)==(0|0); - if ($cond$i) { - $186 = 1 << $182; - $187 = $186 ^ -1; - $188 = HEAP32[(9160)>>2]|0; - $189 = $188 & $187; - HEAP32[(9160)>>2] = $189; - break; - } - } else { - $190 = HEAP32[(9172)>>2]|0; - $191 = ($154>>>0)<($190>>>0); - if ($191) { - _abort(); - // unreachable; - } - $192 = ((($154)) + 16|0); - $193 = HEAP32[$192>>2]|0; - $194 = ($193|0)==($v$0$i$lcssa|0); - if ($194) { - HEAP32[$192>>2] = $R$1$i; - } else { - $195 = ((($154)) + 20|0); - HEAP32[$195>>2] = $R$1$i; - } - $196 = ($R$1$i|0)==(0|0); - if ($196) { - break; - } - } - $197 = HEAP32[(9172)>>2]|0; - $198 = ($R$1$i>>>0)<($197>>>0); - if ($198) { - _abort(); - // unreachable; - } - $199 = ((($R$1$i)) + 24|0); - HEAP32[$199>>2] = $154; - $200 = ((($v$0$i$lcssa)) + 16|0); - $201 = HEAP32[$200>>2]|0; - $202 = ($201|0)==(0|0); + $186 = ($160|0)==(0|0); + L73: do { + if (!($186)) { + $187 = ((($$0192$lcssa$i)) + 28|0); + $188 = HEAP32[$187>>2]|0; + $189 = (28512 + ($188<<2)|0); + $190 = HEAP32[$189>>2]|0; + $191 = ($$0192$lcssa$i|0)==($190|0); do { - if (!($202)) { - $203 = ($201>>>0)<($197>>>0); - if ($203) { + if ($191) { + HEAP32[$189>>2] = $$3$i; + $cond$i = ($$3$i|0)==(0|0); + if ($cond$i) { + $192 = 1 << $188; + $193 = $192 ^ -1; + $194 = $108 & $193; + HEAP32[(28212)>>2] = $194; + break L73; + } + } else { + $195 = HEAP32[(28224)>>2]|0; + $196 = ($160>>>0)<($195>>>0); + if ($196) { _abort(); // unreachable; } else { - $204 = ((($R$1$i)) + 16|0); - HEAP32[$204>>2] = $201; - $205 = ((($201)) + 24|0); - HEAP32[$205>>2] = $R$1$i; + $197 = ((($160)) + 16|0); + $198 = HEAP32[$197>>2]|0; + $not$1$i = ($198|0)!=($$0192$lcssa$i|0); + $$sink2$i = $not$1$i&1; + $199 = (((($160)) + 16|0) + ($$sink2$i<<2)|0); + HEAP32[$199>>2] = $$3$i; + $200 = ($$3$i|0)==(0|0); + if ($200) { + break L73; + } else { + break; + } + } + } + } while(0); + $201 = HEAP32[(28224)>>2]|0; + $202 = ($$3$i>>>0)<($201>>>0); + if ($202) { + _abort(); + // unreachable; + } + $203 = ((($$3$i)) + 24|0); + HEAP32[$203>>2] = $160; + $204 = ((($$0192$lcssa$i)) + 16|0); + $205 = HEAP32[$204>>2]|0; + $206 = ($205|0)==(0|0); + do { + if (!($206)) { + $207 = ($205>>>0)<($201>>>0); + if ($207) { + _abort(); + // unreachable; + } else { + $208 = ((($$3$i)) + 16|0); + HEAP32[$208>>2] = $205; + $209 = ((($205)) + 24|0); + HEAP32[$209>>2] = $$3$i; break; } } } while(0); - $206 = ((($v$0$i$lcssa)) + 20|0); - $207 = HEAP32[$206>>2]|0; - $208 = ($207|0)==(0|0); - if (!($208)) { - $209 = HEAP32[(9172)>>2]|0; - $210 = ($207>>>0)<($209>>>0); - if ($210) { + $210 = ((($$0192$lcssa$i)) + 20|0); + $211 = HEAP32[$210>>2]|0; + $212 = ($211|0)==(0|0); + if (!($212)) { + $213 = HEAP32[(28224)>>2]|0; + $214 = ($211>>>0)<($213>>>0); + if ($214) { _abort(); // unreachable; } else { - $211 = ((($R$1$i)) + 20|0); - HEAP32[$211>>2] = $207; - $212 = ((($207)) + 24|0); - HEAP32[$212>>2] = $R$1$i; + $215 = ((($$3$i)) + 20|0); + HEAP32[$215>>2] = $211; + $216 = ((($211)) + 24|0); + HEAP32[$216>>2] = $$3$i; break; } } } } while(0); - $213 = ($rsize$0$i$lcssa>>>0)<(16); - if ($213) { - $214 = (($rsize$0$i$lcssa) + ($4))|0; - $215 = $214 | 3; - $216 = ((($v$0$i$lcssa)) + 4|0); - HEAP32[$216>>2] = $215; - $$sum4$i = (($214) + 4)|0; - $217 = (($v$0$i$lcssa) + ($$sum4$i)|0); - $218 = HEAP32[$217>>2]|0; - $219 = $218 | 1; - HEAP32[$217>>2] = $219; + $217 = ($$0193$lcssa$i>>>0)<(16); + if ($217) { + $218 = (($$0193$lcssa$i) + ($6))|0; + $219 = $218 | 3; + $220 = ((($$0192$lcssa$i)) + 4|0); + HEAP32[$220>>2] = $219; + $221 = (($$0192$lcssa$i) + ($218)|0); + $222 = ((($221)) + 4|0); + $223 = HEAP32[$222>>2]|0; + $224 = $223 | 1; + HEAP32[$222>>2] = $224; } else { - $220 = $4 | 3; - $221 = ((($v$0$i$lcssa)) + 4|0); - HEAP32[$221>>2] = $220; - $222 = $rsize$0$i$lcssa | 1; - $$sum$i35 = $4 | 4; - $223 = (($v$0$i$lcssa) + ($$sum$i35)|0); - HEAP32[$223>>2] = $222; - $$sum1$i = (($rsize$0$i$lcssa) + ($4))|0; - $224 = (($v$0$i$lcssa) + ($$sum1$i)|0); - HEAP32[$224>>2] = $rsize$0$i$lcssa; - $225 = HEAP32[(9164)>>2]|0; - $226 = ($225|0)==(0); - if (!($226)) { - $227 = HEAP32[(9176)>>2]|0; - $228 = $225 >>> 3; - $229 = $228 << 1; - $230 = (9196 + ($229<<2)|0); - $231 = HEAP32[9156>>2]|0; - $232 = 1 << $228; - $233 = $231 & $232; - $234 = ($233|0)==(0); - if ($234) { - $235 = $231 | $232; - HEAP32[9156>>2] = $235; - $$pre$i = (($229) + 2)|0; - $$pre8$i = (9196 + ($$pre$i<<2)|0); - $$pre$phi$iZ2D = $$pre8$i;$F1$0$i = $230; + $225 = $6 | 3; + $226 = ((($$0192$lcssa$i)) + 4|0); + HEAP32[$226>>2] = $225; + $227 = $$0193$lcssa$i | 1; + $228 = ((($157)) + 4|0); + HEAP32[$228>>2] = $227; + $229 = (($157) + ($$0193$lcssa$i)|0); + HEAP32[$229>>2] = $$0193$lcssa$i; + $230 = ($37|0)==(0); + if (!($230)) { + $231 = HEAP32[(28228)>>2]|0; + $232 = $37 >>> 3; + $233 = $232 << 1; + $234 = (28248 + ($233<<2)|0); + $235 = 1 << $232; + $236 = $8 & $235; + $237 = ($236|0)==(0); + if ($237) { + $238 = $8 | $235; + HEAP32[7052] = $238; + $$pre$i = ((($234)) + 8|0); + $$0189$i = $234;$$pre$phi$iZ2D = $$pre$i; } else { - $$sum3$i = (($229) + 2)|0; - $236 = (9196 + ($$sum3$i<<2)|0); - $237 = HEAP32[$236>>2]|0; - $238 = HEAP32[(9172)>>2]|0; - $239 = ($237>>>0)<($238>>>0); - if ($239) { + $239 = ((($234)) + 8|0); + $240 = HEAP32[$239>>2]|0; + $241 = HEAP32[(28224)>>2]|0; + $242 = ($240>>>0)<($241>>>0); + if ($242) { _abort(); // unreachable; } else { - $$pre$phi$iZ2D = $236;$F1$0$i = $237; + $$0189$i = $240;$$pre$phi$iZ2D = $239; } } - HEAP32[$$pre$phi$iZ2D>>2] = $227; - $240 = ((($F1$0$i)) + 12|0); - HEAP32[$240>>2] = $227; - $241 = ((($227)) + 8|0); - HEAP32[$241>>2] = $F1$0$i; - $242 = ((($227)) + 12|0); - HEAP32[$242>>2] = $230; + HEAP32[$$pre$phi$iZ2D>>2] = $231; + $243 = ((($$0189$i)) + 12|0); + HEAP32[$243>>2] = $231; + $244 = ((($231)) + 8|0); + HEAP32[$244>>2] = $$0189$i; + $245 = ((($231)) + 12|0); + HEAP32[$245>>2] = $234; } - HEAP32[(9164)>>2] = $rsize$0$i$lcssa; - HEAP32[(9176)>>2] = $151; + HEAP32[(28216)>>2] = $$0193$lcssa$i; + HEAP32[(28228)>>2] = $157; } - $243 = ((($v$0$i$lcssa)) + 8|0); - $mem$0 = $243; - return ($mem$0|0); + $246 = ((($$0192$lcssa$i)) + 8|0); + $$0 = $246; + STACKTOP = sp;return ($$0|0); } } else { - $nb$0 = $4; + $$0197 = $6; } } else { - $244 = ($bytes>>>0)>(4294967231); - if ($244) { - $nb$0 = -1; + $247 = ($0>>>0)>(4294967231); + if ($247) { + $$0197 = -1; } else { - $245 = (($bytes) + 11)|0; - $246 = $245 & -8; - $247 = HEAP32[(9160)>>2]|0; - $248 = ($247|0)==(0); - if ($248) { - $nb$0 = $246; + $248 = (($0) + 11)|0; + $249 = $248 & -8; + $250 = HEAP32[(28212)>>2]|0; + $251 = ($250|0)==(0); + if ($251) { + $$0197 = $249; } else { - $249 = (0 - ($246))|0; - $250 = $245 >>> 8; - $251 = ($250|0)==(0); - if ($251) { - $idx$0$i = 0; + $252 = (0 - ($249))|0; + $253 = $248 >>> 8; + $254 = ($253|0)==(0); + if ($254) { + $$0358$i = 0; } else { - $252 = ($246>>>0)>(16777215); - if ($252) { - $idx$0$i = 31; + $255 = ($249>>>0)>(16777215); + if ($255) { + $$0358$i = 31; } else { - $253 = (($250) + 1048320)|0; - $254 = $253 >>> 16; - $255 = $254 & 8; - $256 = $250 << $255; - $257 = (($256) + 520192)|0; - $258 = $257 >>> 16; - $259 = $258 & 4; - $260 = $259 | $255; - $261 = $256 << $259; - $262 = (($261) + 245760)|0; - $263 = $262 >>> 16; - $264 = $263 & 2; - $265 = $260 | $264; - $266 = (14 - ($265))|0; - $267 = $261 << $264; - $268 = $267 >>> 15; - $269 = (($266) + ($268))|0; - $270 = $269 << 1; - $271 = (($269) + 7)|0; - $272 = $246 >>> $271; - $273 = $272 & 1; - $274 = $273 | $270; - $idx$0$i = $274; + $256 = (($253) + 1048320)|0; + $257 = $256 >>> 16; + $258 = $257 & 8; + $259 = $253 << $258; + $260 = (($259) + 520192)|0; + $261 = $260 >>> 16; + $262 = $261 & 4; + $263 = $262 | $258; + $264 = $259 << $262; + $265 = (($264) + 245760)|0; + $266 = $265 >>> 16; + $267 = $266 & 2; + $268 = $263 | $267; + $269 = (14 - ($268))|0; + $270 = $264 << $267; + $271 = $270 >>> 15; + $272 = (($269) + ($271))|0; + $273 = $272 << 1; + $274 = (($272) + 7)|0; + $275 = $249 >>> $274; + $276 = $275 & 1; + $277 = $276 | $273; + $$0358$i = $277; } } - $275 = (9460 + ($idx$0$i<<2)|0); - $276 = HEAP32[$275>>2]|0; - $277 = ($276|0)==(0|0); - L123: do { - if ($277) { - $rsize$2$i = $249;$t$1$i = 0;$v$2$i = 0; - label = 86; + $278 = (28512 + ($$0358$i<<2)|0); + $279 = HEAP32[$278>>2]|0; + $280 = ($279|0)==(0|0); + L117: do { + if ($280) { + $$2355$i = 0;$$3$i201 = 0;$$3350$i = $252; + label = 81; } else { - $278 = ($idx$0$i|0)==(31); - $279 = $idx$0$i >>> 1; - $280 = (25 - ($279))|0; - $281 = $278 ? 0 : $280; - $282 = $246 << $281; - $rsize$0$i15 = $249;$rst$0$i = 0;$sizebits$0$i = $282;$t$0$i14 = $276;$v$0$i16 = 0; + $281 = ($$0358$i|0)==(31); + $282 = $$0358$i >>> 1; + $283 = (25 - ($282))|0; + $284 = $281 ? 0 : $283; + $285 = $249 << $284; + $$0342$i = 0;$$0347$i = $252;$$0353$i = $279;$$0359$i = $285;$$0362$i = 0; while(1) { - $283 = ((($t$0$i14)) + 4|0); - $284 = HEAP32[$283>>2]|0; - $285 = $284 & -8; - $286 = (($285) - ($246))|0; - $287 = ($286>>>0)<($rsize$0$i15>>>0); - if ($287) { - $288 = ($285|0)==($246|0); - if ($288) { - $rsize$331$i = $286;$t$230$i = $t$0$i14;$v$332$i = $t$0$i14; - label = 90; - break L123; + $286 = ((($$0353$i)) + 4|0); + $287 = HEAP32[$286>>2]|0; + $288 = $287 & -8; + $289 = (($288) - ($249))|0; + $290 = ($289>>>0)<($$0347$i>>>0); + if ($290) { + $291 = ($289|0)==(0); + if ($291) { + $$415$i = $$0353$i;$$435114$i = 0;$$435713$i = $$0353$i; + label = 85; + break L117; } else { - $rsize$1$i = $286;$v$1$i = $t$0$i14; + $$1343$i = $$0353$i;$$1348$i = $289; } } else { - $rsize$1$i = $rsize$0$i15;$v$1$i = $v$0$i16; + $$1343$i = $$0342$i;$$1348$i = $$0347$i; } - $289 = ((($t$0$i14)) + 20|0); - $290 = HEAP32[$289>>2]|0; - $291 = $sizebits$0$i >>> 31; - $292 = (((($t$0$i14)) + 16|0) + ($291<<2)|0); + $292 = ((($$0353$i)) + 20|0); $293 = HEAP32[$292>>2]|0; - $294 = ($290|0)==(0|0); - $295 = ($290|0)==($293|0); - $or$cond19$i = $294 | $295; - $rst$1$i = $or$cond19$i ? $rst$0$i : $290; - $296 = ($293|0)==(0|0); - $297 = $sizebits$0$i << 1; - if ($296) { - $rsize$2$i = $rsize$1$i;$t$1$i = $rst$1$i;$v$2$i = $v$1$i; - label = 86; + $294 = $$0359$i >>> 31; + $295 = (((($$0353$i)) + 16|0) + ($294<<2)|0); + $296 = HEAP32[$295>>2]|0; + $297 = ($293|0)==(0|0); + $298 = ($293|0)==($296|0); + $or$cond2$i = $297 | $298; + $$1363$i = $or$cond2$i ? $$0362$i : $293; + $299 = ($296|0)==(0|0); + $not$8$i = $299 ^ 1; + $300 = $not$8$i&1; + $$0359$$i = $$0359$i << $300; + if ($299) { + $$2355$i = $$1363$i;$$3$i201 = $$1343$i;$$3350$i = $$1348$i; + label = 81; break; } else { - $rsize$0$i15 = $rsize$1$i;$rst$0$i = $rst$1$i;$sizebits$0$i = $297;$t$0$i14 = $293;$v$0$i16 = $v$1$i; + $$0342$i = $$1343$i;$$0347$i = $$1348$i;$$0353$i = $296;$$0359$i = $$0359$$i;$$0362$i = $$1363$i; } } } } while(0); - if ((label|0) == 86) { - $298 = ($t$1$i|0)==(0|0); - $299 = ($v$2$i|0)==(0|0); - $or$cond$i = $298 & $299; + if ((label|0) == 81) { + $301 = ($$2355$i|0)==(0|0); + $302 = ($$3$i201|0)==(0|0); + $or$cond$i = $301 & $302; if ($or$cond$i) { - $300 = 2 << $idx$0$i; - $301 = (0 - ($300))|0; - $302 = $300 | $301; - $303 = $247 & $302; - $304 = ($303|0)==(0); - if ($304) { - $nb$0 = $246; + $303 = 2 << $$0358$i; + $304 = (0 - ($303))|0; + $305 = $303 | $304; + $306 = $250 & $305; + $307 = ($306|0)==(0); + if ($307) { + $$0197 = $249; break; } - $305 = (0 - ($303))|0; - $306 = $303 & $305; - $307 = (($306) + -1)|0; - $308 = $307 >>> 12; - $309 = $308 & 16; - $310 = $307 >>> $309; - $311 = $310 >>> 5; - $312 = $311 & 8; - $313 = $312 | $309; - $314 = $310 >>> $312; - $315 = $314 >>> 2; - $316 = $315 & 4; - $317 = $313 | $316; - $318 = $314 >>> $316; - $319 = $318 >>> 1; - $320 = $319 & 2; - $321 = $317 | $320; - $322 = $318 >>> $320; - $323 = $322 >>> 1; - $324 = $323 & 1; - $325 = $321 | $324; - $326 = $322 >>> $324; - $327 = (($325) + ($326))|0; - $328 = (9460 + ($327<<2)|0); - $329 = HEAP32[$328>>2]|0; - $t$2$ph$i = $329;$v$3$ph$i = 0; + $308 = (0 - ($306))|0; + $309 = $306 & $308; + $310 = (($309) + -1)|0; + $311 = $310 >>> 12; + $312 = $311 & 16; + $313 = $310 >>> $312; + $314 = $313 >>> 5; + $315 = $314 & 8; + $316 = $315 | $312; + $317 = $313 >>> $315; + $318 = $317 >>> 2; + $319 = $318 & 4; + $320 = $316 | $319; + $321 = $317 >>> $319; + $322 = $321 >>> 1; + $323 = $322 & 2; + $324 = $320 | $323; + $325 = $321 >>> $323; + $326 = $325 >>> 1; + $327 = $326 & 1; + $328 = $324 | $327; + $329 = $325 >>> $327; + $330 = (($328) + ($329))|0; + $331 = (28512 + ($330<<2)|0); + $332 = HEAP32[$331>>2]|0; + $$4$ph$i = 0;$$4357$ph$i = $332; } else { - $t$2$ph$i = $t$1$i;$v$3$ph$i = $v$2$i; + $$4$ph$i = $$3$i201;$$4357$ph$i = $$2355$i; } - $330 = ($t$2$ph$i|0)==(0|0); - if ($330) { - $rsize$3$lcssa$i = $rsize$2$i;$v$3$lcssa$i = $v$3$ph$i; + $333 = ($$4357$ph$i|0)==(0|0); + if ($333) { + $$4$lcssa$i = $$4$ph$i;$$4351$lcssa$i = $$3350$i; } else { - $rsize$331$i = $rsize$2$i;$t$230$i = $t$2$ph$i;$v$332$i = $v$3$ph$i; - label = 90; + $$415$i = $$4$ph$i;$$435114$i = $$3350$i;$$435713$i = $$4357$ph$i; + label = 85; } } - if ((label|0) == 90) { + if ((label|0) == 85) { while(1) { label = 0; - $331 = ((($t$230$i)) + 4|0); - $332 = HEAP32[$331>>2]|0; - $333 = $332 & -8; - $334 = (($333) - ($246))|0; - $335 = ($334>>>0)<($rsize$331$i>>>0); - $$rsize$3$i = $335 ? $334 : $rsize$331$i; - $t$2$v$3$i = $335 ? $t$230$i : $v$332$i; - $336 = ((($t$230$i)) + 16|0); - $337 = HEAP32[$336>>2]|0; - $338 = ($337|0)==(0|0); - if (!($338)) { - $rsize$331$i = $$rsize$3$i;$t$230$i = $337;$v$332$i = $t$2$v$3$i; - label = 90; - continue; - } - $339 = ((($t$230$i)) + 20|0); + $334 = ((($$435713$i)) + 4|0); + $335 = HEAP32[$334>>2]|0; + $336 = $335 & -8; + $337 = (($336) - ($249))|0; + $338 = ($337>>>0)<($$435114$i>>>0); + $$$4351$i = $338 ? $337 : $$435114$i; + $$4357$$4$i = $338 ? $$435713$i : $$415$i; + $339 = ((($$435713$i)) + 16|0); $340 = HEAP32[$339>>2]|0; - $341 = ($340|0)==(0|0); - if ($341) { - $rsize$3$lcssa$i = $$rsize$3$i;$v$3$lcssa$i = $t$2$v$3$i; + $not$1$i203 = ($340|0)==(0|0); + $$sink2$i204 = $not$1$i203&1; + $341 = (((($$435713$i)) + 16|0) + ($$sink2$i204<<2)|0); + $342 = HEAP32[$341>>2]|0; + $343 = ($342|0)==(0|0); + if ($343) { + $$4$lcssa$i = $$4357$$4$i;$$4351$lcssa$i = $$$4351$i; break; } else { - $rsize$331$i = $$rsize$3$i;$t$230$i = $340;$v$332$i = $t$2$v$3$i; - label = 90; + $$415$i = $$4357$$4$i;$$435114$i = $$$4351$i;$$435713$i = $342; + label = 85; } } } - $342 = ($v$3$lcssa$i|0)==(0|0); - if ($342) { - $nb$0 = $246; + $344 = ($$4$lcssa$i|0)==(0|0); + if ($344) { + $$0197 = $249; } else { - $343 = HEAP32[(9164)>>2]|0; - $344 = (($343) - ($246))|0; - $345 = ($rsize$3$lcssa$i>>>0)<($344>>>0); - if ($345) { - $346 = HEAP32[(9172)>>2]|0; - $347 = ($v$3$lcssa$i>>>0)<($346>>>0); - if ($347) { + $345 = HEAP32[(28216)>>2]|0; + $346 = (($345) - ($249))|0; + $347 = ($$4351$lcssa$i>>>0)<($346>>>0); + if ($347) { + $348 = HEAP32[(28224)>>2]|0; + $349 = ($$4$lcssa$i>>>0)<($348>>>0); + if ($349) { _abort(); // unreachable; } - $348 = (($v$3$lcssa$i) + ($246)|0); - $349 = ($v$3$lcssa$i>>>0)<($348>>>0); - if (!($349)) { + $350 = (($$4$lcssa$i) + ($249)|0); + $351 = ($$4$lcssa$i>>>0)<($350>>>0); + if (!($351)) { _abort(); // unreachable; } - $350 = ((($v$3$lcssa$i)) + 24|0); - $351 = HEAP32[$350>>2]|0; - $352 = ((($v$3$lcssa$i)) + 12|0); + $352 = ((($$4$lcssa$i)) + 24|0); $353 = HEAP32[$352>>2]|0; - $354 = ($353|0)==($v$3$lcssa$i|0); + $354 = ((($$4$lcssa$i)) + 12|0); + $355 = HEAP32[$354>>2]|0; + $356 = ($355|0)==($$4$lcssa$i|0); do { - if ($354) { - $364 = ((($v$3$lcssa$i)) + 20|0); - $365 = HEAP32[$364>>2]|0; - $366 = ($365|0)==(0|0); - if ($366) { - $367 = ((($v$3$lcssa$i)) + 16|0); - $368 = HEAP32[$367>>2]|0; - $369 = ($368|0)==(0|0); - if ($369) { - $R$1$i20 = 0; + if ($356) { + $366 = ((($$4$lcssa$i)) + 20|0); + $367 = HEAP32[$366>>2]|0; + $368 = ($367|0)==(0|0); + if ($368) { + $369 = ((($$4$lcssa$i)) + 16|0); + $370 = HEAP32[$369>>2]|0; + $371 = ($370|0)==(0|0); + if ($371) { + $$3372$i = 0; break; } else { - $R$0$i18 = $368;$RP$0$i17 = $367; + $$1370$i = $370;$$1374$i = $369; } } else { - $R$0$i18 = $365;$RP$0$i17 = $364; + $$1370$i = $367;$$1374$i = $366; } while(1) { - $370 = ((($R$0$i18)) + 20|0); - $371 = HEAP32[$370>>2]|0; - $372 = ($371|0)==(0|0); - if (!($372)) { - $R$0$i18 = $371;$RP$0$i17 = $370; + $372 = ((($$1370$i)) + 20|0); + $373 = HEAP32[$372>>2]|0; + $374 = ($373|0)==(0|0); + if (!($374)) { + $$1370$i = $373;$$1374$i = $372; continue; } - $373 = ((($R$0$i18)) + 16|0); - $374 = HEAP32[$373>>2]|0; - $375 = ($374|0)==(0|0); - if ($375) { - $R$0$i18$lcssa = $R$0$i18;$RP$0$i17$lcssa = $RP$0$i17; + $375 = ((($$1370$i)) + 16|0); + $376 = HEAP32[$375>>2]|0; + $377 = ($376|0)==(0|0); + if ($377) { break; } else { - $R$0$i18 = $374;$RP$0$i17 = $373; + $$1370$i = $376;$$1374$i = $375; } } - $376 = ($RP$0$i17$lcssa>>>0)<($346>>>0); - if ($376) { + $378 = ($$1374$i>>>0)<($348>>>0); + if ($378) { _abort(); // unreachable; } else { - HEAP32[$RP$0$i17$lcssa>>2] = 0; - $R$1$i20 = $R$0$i18$lcssa; + HEAP32[$$1374$i>>2] = 0; + $$3372$i = $$1370$i; break; } } else { - $355 = ((($v$3$lcssa$i)) + 8|0); - $356 = HEAP32[$355>>2]|0; - $357 = ($356>>>0)<($346>>>0); - if ($357) { + $357 = ((($$4$lcssa$i)) + 8|0); + $358 = HEAP32[$357>>2]|0; + $359 = ($358>>>0)<($348>>>0); + if ($359) { _abort(); // unreachable; } - $358 = ((($356)) + 12|0); - $359 = HEAP32[$358>>2]|0; - $360 = ($359|0)==($v$3$lcssa$i|0); - if (!($360)) { + $360 = ((($358)) + 12|0); + $361 = HEAP32[$360>>2]|0; + $362 = ($361|0)==($$4$lcssa$i|0); + if (!($362)) { _abort(); // unreachable; } - $361 = ((($353)) + 8|0); - $362 = HEAP32[$361>>2]|0; - $363 = ($362|0)==($v$3$lcssa$i|0); - if ($363) { - HEAP32[$358>>2] = $353; - HEAP32[$361>>2] = $356; - $R$1$i20 = $353; + $363 = ((($355)) + 8|0); + $364 = HEAP32[$363>>2]|0; + $365 = ($364|0)==($$4$lcssa$i|0); + if ($365) { + HEAP32[$360>>2] = $355; + HEAP32[$363>>2] = $358; + $$3372$i = $355; break; } else { _abort(); @@ -60495,55 +64142,60 @@ function _malloc($bytes) { } } } while(0); - $377 = ($351|0)==(0|0); - do { - if (!($377)) { - $378 = ((($v$3$lcssa$i)) + 28|0); - $379 = HEAP32[$378>>2]|0; - $380 = (9460 + ($379<<2)|0); + $379 = ($353|0)==(0|0); + L164: do { + if ($379) { + $470 = $250; + } else { + $380 = ((($$4$lcssa$i)) + 28|0); $381 = HEAP32[$380>>2]|0; - $382 = ($v$3$lcssa$i|0)==($381|0); - if ($382) { - HEAP32[$380>>2] = $R$1$i20; - $cond$i21 = ($R$1$i20|0)==(0|0); - if ($cond$i21) { - $383 = 1 << $379; - $384 = $383 ^ -1; - $385 = HEAP32[(9160)>>2]|0; - $386 = $385 & $384; - HEAP32[(9160)>>2] = $386; - break; - } - } else { - $387 = HEAP32[(9172)>>2]|0; - $388 = ($351>>>0)<($387>>>0); - if ($388) { - _abort(); - // unreachable; - } - $389 = ((($351)) + 16|0); - $390 = HEAP32[$389>>2]|0; - $391 = ($390|0)==($v$3$lcssa$i|0); - if ($391) { - HEAP32[$389>>2] = $R$1$i20; + $382 = (28512 + ($381<<2)|0); + $383 = HEAP32[$382>>2]|0; + $384 = ($$4$lcssa$i|0)==($383|0); + do { + if ($384) { + HEAP32[$382>>2] = $$3372$i; + $cond$i208 = ($$3372$i|0)==(0|0); + if ($cond$i208) { + $385 = 1 << $381; + $386 = $385 ^ -1; + $387 = $250 & $386; + HEAP32[(28212)>>2] = $387; + $470 = $387; + break L164; + } } else { - $392 = ((($351)) + 20|0); - HEAP32[$392>>2] = $R$1$i20; + $388 = HEAP32[(28224)>>2]|0; + $389 = ($353>>>0)<($388>>>0); + if ($389) { + _abort(); + // unreachable; + } else { + $390 = ((($353)) + 16|0); + $391 = HEAP32[$390>>2]|0; + $not$$i209 = ($391|0)!=($$4$lcssa$i|0); + $$sink3$i = $not$$i209&1; + $392 = (((($353)) + 16|0) + ($$sink3$i<<2)|0); + HEAP32[$392>>2] = $$3372$i; + $393 = ($$3372$i|0)==(0|0); + if ($393) { + $470 = $250; + break L164; + } else { + break; + } + } } - $393 = ($R$1$i20|0)==(0|0); - if ($393) { - break; - } - } - $394 = HEAP32[(9172)>>2]|0; - $395 = ($R$1$i20>>>0)<($394>>>0); + } while(0); + $394 = HEAP32[(28224)>>2]|0; + $395 = ($$3372$i>>>0)<($394>>>0); if ($395) { _abort(); // unreachable; } - $396 = ((($R$1$i20)) + 24|0); - HEAP32[$396>>2] = $351; - $397 = ((($v$3$lcssa$i)) + 16|0); + $396 = ((($$3372$i)) + 24|0); + HEAP32[$396>>2] = $353; + $397 = ((($$4$lcssa$i)) + 16|0); $398 = HEAP32[$397>>2]|0; $399 = ($398|0)==(0|0); do { @@ -60553,1754 +64205,1624 @@ function _malloc($bytes) { _abort(); // unreachable; } else { - $401 = ((($R$1$i20)) + 16|0); + $401 = ((($$3372$i)) + 16|0); HEAP32[$401>>2] = $398; $402 = ((($398)) + 24|0); - HEAP32[$402>>2] = $R$1$i20; + HEAP32[$402>>2] = $$3372$i; break; } } } while(0); - $403 = ((($v$3$lcssa$i)) + 20|0); + $403 = ((($$4$lcssa$i)) + 20|0); $404 = HEAP32[$403>>2]|0; $405 = ($404|0)==(0|0); - if (!($405)) { - $406 = HEAP32[(9172)>>2]|0; + if ($405) { + $470 = $250; + } else { + $406 = HEAP32[(28224)>>2]|0; $407 = ($404>>>0)<($406>>>0); if ($407) { _abort(); // unreachable; } else { - $408 = ((($R$1$i20)) + 20|0); + $408 = ((($$3372$i)) + 20|0); HEAP32[$408>>2] = $404; $409 = ((($404)) + 24|0); - HEAP32[$409>>2] = $R$1$i20; + HEAP32[$409>>2] = $$3372$i; + $470 = $250; break; } } } } while(0); - $410 = ($rsize$3$lcssa$i>>>0)<(16); - L199: do { + $410 = ($$4351$lcssa$i>>>0)<(16); + do { if ($410) { - $411 = (($rsize$3$lcssa$i) + ($246))|0; + $411 = (($$4351$lcssa$i) + ($249))|0; $412 = $411 | 3; - $413 = ((($v$3$lcssa$i)) + 4|0); + $413 = ((($$4$lcssa$i)) + 4|0); HEAP32[$413>>2] = $412; - $$sum18$i = (($411) + 4)|0; - $414 = (($v$3$lcssa$i) + ($$sum18$i)|0); - $415 = HEAP32[$414>>2]|0; - $416 = $415 | 1; - HEAP32[$414>>2] = $416; + $414 = (($$4$lcssa$i) + ($411)|0); + $415 = ((($414)) + 4|0); + $416 = HEAP32[$415>>2]|0; + $417 = $416 | 1; + HEAP32[$415>>2] = $417; } else { - $417 = $246 | 3; - $418 = ((($v$3$lcssa$i)) + 4|0); - HEAP32[$418>>2] = $417; - $419 = $rsize$3$lcssa$i | 1; - $$sum$i2334 = $246 | 4; - $420 = (($v$3$lcssa$i) + ($$sum$i2334)|0); - HEAP32[$420>>2] = $419; - $$sum1$i24 = (($rsize$3$lcssa$i) + ($246))|0; - $421 = (($v$3$lcssa$i) + ($$sum1$i24)|0); - HEAP32[$421>>2] = $rsize$3$lcssa$i; - $422 = $rsize$3$lcssa$i >>> 3; - $423 = ($rsize$3$lcssa$i>>>0)<(256); - if ($423) { - $424 = $422 << 1; - $425 = (9196 + ($424<<2)|0); - $426 = HEAP32[9156>>2]|0; - $427 = 1 << $422; - $428 = $426 & $427; - $429 = ($428|0)==(0); - if ($429) { - $430 = $426 | $427; - HEAP32[9156>>2] = $430; - $$pre$i25 = (($424) + 2)|0; - $$pre43$i = (9196 + ($$pre$i25<<2)|0); - $$pre$phi$i26Z2D = $$pre43$i;$F5$0$i = $425; + $418 = $249 | 3; + $419 = ((($$4$lcssa$i)) + 4|0); + HEAP32[$419>>2] = $418; + $420 = $$4351$lcssa$i | 1; + $421 = ((($350)) + 4|0); + HEAP32[$421>>2] = $420; + $422 = (($350) + ($$4351$lcssa$i)|0); + HEAP32[$422>>2] = $$4351$lcssa$i; + $423 = $$4351$lcssa$i >>> 3; + $424 = ($$4351$lcssa$i>>>0)<(256); + if ($424) { + $425 = $423 << 1; + $426 = (28248 + ($425<<2)|0); + $427 = HEAP32[7052]|0; + $428 = 1 << $423; + $429 = $427 & $428; + $430 = ($429|0)==(0); + if ($430) { + $431 = $427 | $428; + HEAP32[7052] = $431; + $$pre$i210 = ((($426)) + 8|0); + $$0368$i = $426;$$pre$phi$i211Z2D = $$pre$i210; } else { - $$sum17$i = (($424) + 2)|0; - $431 = (9196 + ($$sum17$i<<2)|0); - $432 = HEAP32[$431>>2]|0; - $433 = HEAP32[(9172)>>2]|0; - $434 = ($432>>>0)<($433>>>0); - if ($434) { + $432 = ((($426)) + 8|0); + $433 = HEAP32[$432>>2]|0; + $434 = HEAP32[(28224)>>2]|0; + $435 = ($433>>>0)<($434>>>0); + if ($435) { _abort(); // unreachable; } else { - $$pre$phi$i26Z2D = $431;$F5$0$i = $432; + $$0368$i = $433;$$pre$phi$i211Z2D = $432; } } - HEAP32[$$pre$phi$i26Z2D>>2] = $348; - $435 = ((($F5$0$i)) + 12|0); - HEAP32[$435>>2] = $348; - $$sum15$i = (($246) + 8)|0; - $436 = (($v$3$lcssa$i) + ($$sum15$i)|0); - HEAP32[$436>>2] = $F5$0$i; - $$sum16$i = (($246) + 12)|0; - $437 = (($v$3$lcssa$i) + ($$sum16$i)|0); - HEAP32[$437>>2] = $425; + HEAP32[$$pre$phi$i211Z2D>>2] = $350; + $436 = ((($$0368$i)) + 12|0); + HEAP32[$436>>2] = $350; + $437 = ((($350)) + 8|0); + HEAP32[$437>>2] = $$0368$i; + $438 = ((($350)) + 12|0); + HEAP32[$438>>2] = $426; break; } - $438 = $rsize$3$lcssa$i >>> 8; - $439 = ($438|0)==(0); - if ($439) { - $I7$0$i = 0; + $439 = $$4351$lcssa$i >>> 8; + $440 = ($439|0)==(0); + if ($440) { + $$0361$i = 0; } else { - $440 = ($rsize$3$lcssa$i>>>0)>(16777215); - if ($440) { - $I7$0$i = 31; + $441 = ($$4351$lcssa$i>>>0)>(16777215); + if ($441) { + $$0361$i = 31; } else { - $441 = (($438) + 1048320)|0; - $442 = $441 >>> 16; - $443 = $442 & 8; - $444 = $438 << $443; - $445 = (($444) + 520192)|0; - $446 = $445 >>> 16; - $447 = $446 & 4; - $448 = $447 | $443; - $449 = $444 << $447; - $450 = (($449) + 245760)|0; - $451 = $450 >>> 16; - $452 = $451 & 2; - $453 = $448 | $452; - $454 = (14 - ($453))|0; - $455 = $449 << $452; - $456 = $455 >>> 15; - $457 = (($454) + ($456))|0; - $458 = $457 << 1; - $459 = (($457) + 7)|0; - $460 = $rsize$3$lcssa$i >>> $459; - $461 = $460 & 1; - $462 = $461 | $458; - $I7$0$i = $462; + $442 = (($439) + 1048320)|0; + $443 = $442 >>> 16; + $444 = $443 & 8; + $445 = $439 << $444; + $446 = (($445) + 520192)|0; + $447 = $446 >>> 16; + $448 = $447 & 4; + $449 = $448 | $444; + $450 = $445 << $448; + $451 = (($450) + 245760)|0; + $452 = $451 >>> 16; + $453 = $452 & 2; + $454 = $449 | $453; + $455 = (14 - ($454))|0; + $456 = $450 << $453; + $457 = $456 >>> 15; + $458 = (($455) + ($457))|0; + $459 = $458 << 1; + $460 = (($458) + 7)|0; + $461 = $$4351$lcssa$i >>> $460; + $462 = $461 & 1; + $463 = $462 | $459; + $$0361$i = $463; } } - $463 = (9460 + ($I7$0$i<<2)|0); - $$sum2$i = (($246) + 28)|0; - $464 = (($v$3$lcssa$i) + ($$sum2$i)|0); - HEAP32[$464>>2] = $I7$0$i; - $$sum3$i27 = (($246) + 16)|0; - $465 = (($v$3$lcssa$i) + ($$sum3$i27)|0); - $$sum4$i28 = (($246) + 20)|0; - $466 = (($v$3$lcssa$i) + ($$sum4$i28)|0); + $464 = (28512 + ($$0361$i<<2)|0); + $465 = ((($350)) + 28|0); + HEAP32[$465>>2] = $$0361$i; + $466 = ((($350)) + 16|0); + $467 = ((($466)) + 4|0); + HEAP32[$467>>2] = 0; HEAP32[$466>>2] = 0; - HEAP32[$465>>2] = 0; - $467 = HEAP32[(9160)>>2]|0; - $468 = 1 << $I7$0$i; - $469 = $467 & $468; - $470 = ($469|0)==(0); - if ($470) { - $471 = $467 | $468; - HEAP32[(9160)>>2] = $471; - HEAP32[$463>>2] = $348; - $$sum5$i = (($246) + 24)|0; - $472 = (($v$3$lcssa$i) + ($$sum5$i)|0); - HEAP32[$472>>2] = $463; - $$sum6$i = (($246) + 12)|0; - $473 = (($v$3$lcssa$i) + ($$sum6$i)|0); - HEAP32[$473>>2] = $348; - $$sum7$i = (($246) + 8)|0; - $474 = (($v$3$lcssa$i) + ($$sum7$i)|0); - HEAP32[$474>>2] = $348; + $468 = 1 << $$0361$i; + $469 = $470 & $468; + $471 = ($469|0)==(0); + if ($471) { + $472 = $470 | $468; + HEAP32[(28212)>>2] = $472; + HEAP32[$464>>2] = $350; + $473 = ((($350)) + 24|0); + HEAP32[$473>>2] = $464; + $474 = ((($350)) + 12|0); + HEAP32[$474>>2] = $350; + $475 = ((($350)) + 8|0); + HEAP32[$475>>2] = $350; break; } - $475 = HEAP32[$463>>2]|0; - $476 = ((($475)) + 4|0); - $477 = HEAP32[$476>>2]|0; - $478 = $477 & -8; - $479 = ($478|0)==($rsize$3$lcssa$i|0); - L217: do { - if ($479) { - $T$0$lcssa$i = $475; + $476 = HEAP32[$464>>2]|0; + $477 = ($$0361$i|0)==(31); + $478 = $$0361$i >>> 1; + $479 = (25 - ($478))|0; + $480 = $477 ? 0 : $479; + $481 = $$4351$lcssa$i << $480; + $$0344$i = $481;$$0345$i = $476; + while(1) { + $482 = ((($$0345$i)) + 4|0); + $483 = HEAP32[$482>>2]|0; + $484 = $483 & -8; + $485 = ($484|0)==($$4351$lcssa$i|0); + if ($485) { + label = 139; + break; + } + $486 = $$0344$i >>> 31; + $487 = (((($$0345$i)) + 16|0) + ($486<<2)|0); + $488 = $$0344$i << 1; + $489 = HEAP32[$487>>2]|0; + $490 = ($489|0)==(0|0); + if ($490) { + label = 136; + break; } else { - $480 = ($I7$0$i|0)==(31); - $481 = $I7$0$i >>> 1; - $482 = (25 - ($481))|0; - $483 = $480 ? 0 : $482; - $484 = $rsize$3$lcssa$i << $483; - $K12$029$i = $484;$T$028$i = $475; - while(1) { - $491 = $K12$029$i >>> 31; - $492 = (((($T$028$i)) + 16|0) + ($491<<2)|0); - $487 = HEAP32[$492>>2]|0; - $493 = ($487|0)==(0|0); - if ($493) { - $$lcssa232 = $492;$T$028$i$lcssa = $T$028$i; - break; - } - $485 = $K12$029$i << 1; - $486 = ((($487)) + 4|0); - $488 = HEAP32[$486>>2]|0; - $489 = $488 & -8; - $490 = ($489|0)==($rsize$3$lcssa$i|0); - if ($490) { - $T$0$lcssa$i = $487; - break L217; - } else { - $K12$029$i = $485;$T$028$i = $487; + $$0344$i = $488;$$0345$i = $489; + } + } + if ((label|0) == 136) { + $491 = HEAP32[(28224)>>2]|0; + $492 = ($487>>>0)<($491>>>0); + if ($492) { + _abort(); + // unreachable; + } else { + HEAP32[$487>>2] = $350; + $493 = ((($350)) + 24|0); + HEAP32[$493>>2] = $$0345$i; + $494 = ((($350)) + 12|0); + HEAP32[$494>>2] = $350; + $495 = ((($350)) + 8|0); + HEAP32[$495>>2] = $350; + break; + } + } + else if ((label|0) == 139) { + $496 = ((($$0345$i)) + 8|0); + $497 = HEAP32[$496>>2]|0; + $498 = HEAP32[(28224)>>2]|0; + $499 = ($497>>>0)>=($498>>>0); + $not$9$i = ($$0345$i>>>0)>=($498>>>0); + $500 = $499 & $not$9$i; + if ($500) { + $501 = ((($497)) + 12|0); + HEAP32[$501>>2] = $350; + HEAP32[$496>>2] = $350; + $502 = ((($350)) + 8|0); + HEAP32[$502>>2] = $497; + $503 = ((($350)) + 12|0); + HEAP32[$503>>2] = $$0345$i; + $504 = ((($350)) + 24|0); + HEAP32[$504>>2] = 0; + break; + } else { + _abort(); + // unreachable; + } + } + } + } while(0); + $505 = ((($$4$lcssa$i)) + 8|0); + $$0 = $505; + STACKTOP = sp;return ($$0|0); + } else { + $$0197 = $249; + } + } + } + } + } + } while(0); + $506 = HEAP32[(28216)>>2]|0; + $507 = ($506>>>0)<($$0197>>>0); + if (!($507)) { + $508 = (($506) - ($$0197))|0; + $509 = HEAP32[(28228)>>2]|0; + $510 = ($508>>>0)>(15); + if ($510) { + $511 = (($509) + ($$0197)|0); + HEAP32[(28228)>>2] = $511; + HEAP32[(28216)>>2] = $508; + $512 = $508 | 1; + $513 = ((($511)) + 4|0); + HEAP32[$513>>2] = $512; + $514 = (($511) + ($508)|0); + HEAP32[$514>>2] = $508; + $515 = $$0197 | 3; + $516 = ((($509)) + 4|0); + HEAP32[$516>>2] = $515; + } else { + HEAP32[(28216)>>2] = 0; + HEAP32[(28228)>>2] = 0; + $517 = $506 | 3; + $518 = ((($509)) + 4|0); + HEAP32[$518>>2] = $517; + $519 = (($509) + ($506)|0); + $520 = ((($519)) + 4|0); + $521 = HEAP32[$520>>2]|0; + $522 = $521 | 1; + HEAP32[$520>>2] = $522; + } + $523 = ((($509)) + 8|0); + $$0 = $523; + STACKTOP = sp;return ($$0|0); + } + $524 = HEAP32[(28220)>>2]|0; + $525 = ($524>>>0)>($$0197>>>0); + if ($525) { + $526 = (($524) - ($$0197))|0; + HEAP32[(28220)>>2] = $526; + $527 = HEAP32[(28232)>>2]|0; + $528 = (($527) + ($$0197)|0); + HEAP32[(28232)>>2] = $528; + $529 = $526 | 1; + $530 = ((($528)) + 4|0); + HEAP32[$530>>2] = $529; + $531 = $$0197 | 3; + $532 = ((($527)) + 4|0); + HEAP32[$532>>2] = $531; + $533 = ((($527)) + 8|0); + $$0 = $533; + STACKTOP = sp;return ($$0|0); + } + $534 = HEAP32[7170]|0; + $535 = ($534|0)==(0); + if ($535) { + HEAP32[(28688)>>2] = 4096; + HEAP32[(28684)>>2] = 4096; + HEAP32[(28692)>>2] = -1; + HEAP32[(28696)>>2] = -1; + HEAP32[(28700)>>2] = 0; + HEAP32[(28652)>>2] = 0; + $536 = $1; + $537 = $536 & -16; + $538 = $537 ^ 1431655768; + HEAP32[$1>>2] = $538; + HEAP32[7170] = $538; + $542 = 4096; + } else { + $$pre$i212 = HEAP32[(28688)>>2]|0; + $542 = $$pre$i212; + } + $539 = (($$0197) + 48)|0; + $540 = (($$0197) + 47)|0; + $541 = (($542) + ($540))|0; + $543 = (0 - ($542))|0; + $544 = $541 & $543; + $545 = ($544>>>0)>($$0197>>>0); + if (!($545)) { + $$0 = 0; + STACKTOP = sp;return ($$0|0); + } + $546 = HEAP32[(28648)>>2]|0; + $547 = ($546|0)==(0); + if (!($547)) { + $548 = HEAP32[(28640)>>2]|0; + $549 = (($548) + ($544))|0; + $550 = ($549>>>0)<=($548>>>0); + $551 = ($549>>>0)>($546>>>0); + $or$cond1$i = $550 | $551; + if ($or$cond1$i) { + $$0 = 0; + STACKTOP = sp;return ($$0|0); + } + } + $552 = HEAP32[(28652)>>2]|0; + $553 = $552 & 4; + $554 = ($553|0)==(0); + L244: do { + if ($554) { + $555 = HEAP32[(28232)>>2]|0; + $556 = ($555|0)==(0|0); + L246: do { + if ($556) { + label = 163; + } else { + $$0$i$i = (28656); + while(1) { + $557 = HEAP32[$$0$i$i>>2]|0; + $558 = ($557>>>0)>($555>>>0); + if (!($558)) { + $559 = ((($$0$i$i)) + 4|0); + $560 = HEAP32[$559>>2]|0; + $561 = (($557) + ($560)|0); + $562 = ($561>>>0)>($555>>>0); + if ($562) { + break; + } + } + $563 = ((($$0$i$i)) + 8|0); + $564 = HEAP32[$563>>2]|0; + $565 = ($564|0)==(0|0); + if ($565) { + label = 163; + break L246; + } else { + $$0$i$i = $564; + } + } + $588 = (($541) - ($524))|0; + $589 = $588 & $543; + $590 = ($589>>>0)<(2147483647); + if ($590) { + $591 = (_sbrk(($589|0))|0); + $592 = HEAP32[$$0$i$i>>2]|0; + $593 = HEAP32[$559>>2]|0; + $594 = (($592) + ($593)|0); + $595 = ($591|0)==($594|0); + if ($595) { + $596 = ($591|0)==((-1)|0); + if ($596) { + $$2234253237$i = $589; + } else { + $$723948$i = $589;$$749$i = $591; + label = 180; + break L244; + } + } else { + $$2247$ph$i = $591;$$2253$ph$i = $589; + label = 171; + } + } else { + $$2234253237$i = 0; + } + } + } while(0); + do { + if ((label|0) == 163) { + $566 = (_sbrk(0)|0); + $567 = ($566|0)==((-1)|0); + if ($567) { + $$2234253237$i = 0; + } else { + $568 = $566; + $569 = HEAP32[(28684)>>2]|0; + $570 = (($569) + -1)|0; + $571 = $570 & $568; + $572 = ($571|0)==(0); + $573 = (($570) + ($568))|0; + $574 = (0 - ($569))|0; + $575 = $573 & $574; + $576 = (($575) - ($568))|0; + $577 = $572 ? 0 : $576; + $$$i = (($577) + ($544))|0; + $578 = HEAP32[(28640)>>2]|0; + $579 = (($$$i) + ($578))|0; + $580 = ($$$i>>>0)>($$0197>>>0); + $581 = ($$$i>>>0)<(2147483647); + $or$cond$i214 = $580 & $581; + if ($or$cond$i214) { + $582 = HEAP32[(28648)>>2]|0; + $583 = ($582|0)==(0); + if (!($583)) { + $584 = ($579>>>0)<=($578>>>0); + $585 = ($579>>>0)>($582>>>0); + $or$cond2$i215 = $584 | $585; + if ($or$cond2$i215) { + $$2234253237$i = 0; + break; + } + } + $586 = (_sbrk(($$$i|0))|0); + $587 = ($586|0)==($566|0); + if ($587) { + $$723948$i = $$$i;$$749$i = $566; + label = 180; + break L244; + } else { + $$2247$ph$i = $586;$$2253$ph$i = $$$i; + label = 171; + } + } else { + $$2234253237$i = 0; + } + } + } + } while(0); + do { + if ((label|0) == 171) { + $597 = (0 - ($$2253$ph$i))|0; + $598 = ($$2247$ph$i|0)!=((-1)|0); + $599 = ($$2253$ph$i>>>0)<(2147483647); + $or$cond7$i = $599 & $598; + $600 = ($539>>>0)>($$2253$ph$i>>>0); + $or$cond10$i = $600 & $or$cond7$i; + if (!($or$cond10$i)) { + $610 = ($$2247$ph$i|0)==((-1)|0); + if ($610) { + $$2234253237$i = 0; + break; + } else { + $$723948$i = $$2253$ph$i;$$749$i = $$2247$ph$i; + label = 180; + break L244; + } + } + $601 = HEAP32[(28688)>>2]|0; + $602 = (($540) - ($$2253$ph$i))|0; + $603 = (($602) + ($601))|0; + $604 = (0 - ($601))|0; + $605 = $603 & $604; + $606 = ($605>>>0)<(2147483647); + if (!($606)) { + $$723948$i = $$2253$ph$i;$$749$i = $$2247$ph$i; + label = 180; + break L244; + } + $607 = (_sbrk(($605|0))|0); + $608 = ($607|0)==((-1)|0); + if ($608) { + (_sbrk(($597|0))|0); + $$2234253237$i = 0; + break; + } else { + $609 = (($605) + ($$2253$ph$i))|0; + $$723948$i = $609;$$749$i = $$2247$ph$i; + label = 180; + break L244; + } + } + } while(0); + $611 = HEAP32[(28652)>>2]|0; + $612 = $611 | 4; + HEAP32[(28652)>>2] = $612; + $$4236$i = $$2234253237$i; + label = 178; + } else { + $$4236$i = 0; + label = 178; + } + } while(0); + if ((label|0) == 178) { + $613 = ($544>>>0)<(2147483647); + if ($613) { + $614 = (_sbrk(($544|0))|0); + $615 = (_sbrk(0)|0); + $616 = ($614|0)!=((-1)|0); + $617 = ($615|0)!=((-1)|0); + $or$cond5$i = $616 & $617; + $618 = ($614>>>0)<($615>>>0); + $or$cond11$i = $618 & $or$cond5$i; + $619 = $615; + $620 = $614; + $621 = (($619) - ($620))|0; + $622 = (($$0197) + 40)|0; + $623 = ($621>>>0)>($622>>>0); + $$$4236$i = $623 ? $621 : $$4236$i; + $or$cond11$not$i = $or$cond11$i ^ 1; + $624 = ($614|0)==((-1)|0); + $not$$i216 = $623 ^ 1; + $625 = $624 | $not$$i216; + $or$cond50$i = $625 | $or$cond11$not$i; + if (!($or$cond50$i)) { + $$723948$i = $$$4236$i;$$749$i = $614; + label = 180; + } + } + } + if ((label|0) == 180) { + $626 = HEAP32[(28640)>>2]|0; + $627 = (($626) + ($$723948$i))|0; + HEAP32[(28640)>>2] = $627; + $628 = HEAP32[(28644)>>2]|0; + $629 = ($627>>>0)>($628>>>0); + if ($629) { + HEAP32[(28644)>>2] = $627; + } + $630 = HEAP32[(28232)>>2]|0; + $631 = ($630|0)==(0|0); + do { + if ($631) { + $632 = HEAP32[(28224)>>2]|0; + $633 = ($632|0)==(0|0); + $634 = ($$749$i>>>0)<($632>>>0); + $or$cond12$i = $633 | $634; + if ($or$cond12$i) { + HEAP32[(28224)>>2] = $$749$i; + } + HEAP32[(28656)>>2] = $$749$i; + HEAP32[(28660)>>2] = $$723948$i; + HEAP32[(28668)>>2] = 0; + $635 = HEAP32[7170]|0; + HEAP32[(28244)>>2] = $635; + HEAP32[(28240)>>2] = -1; + $$01$i$i = 0; + while(1) { + $636 = $$01$i$i << 1; + $637 = (28248 + ($636<<2)|0); + $638 = ((($637)) + 12|0); + HEAP32[$638>>2] = $637; + $639 = ((($637)) + 8|0); + HEAP32[$639>>2] = $637; + $640 = (($$01$i$i) + 1)|0; + $exitcond$i$i = ($640|0)==(32); + if ($exitcond$i$i) { + break; + } else { + $$01$i$i = $640; + } + } + $641 = (($$723948$i) + -40)|0; + $642 = ((($$749$i)) + 8|0); + $643 = $642; + $644 = $643 & 7; + $645 = ($644|0)==(0); + $646 = (0 - ($643))|0; + $647 = $646 & 7; + $648 = $645 ? 0 : $647; + $649 = (($$749$i) + ($648)|0); + $650 = (($641) - ($648))|0; + HEAP32[(28232)>>2] = $649; + HEAP32[(28220)>>2] = $650; + $651 = $650 | 1; + $652 = ((($649)) + 4|0); + HEAP32[$652>>2] = $651; + $653 = (($649) + ($650)|0); + $654 = ((($653)) + 4|0); + HEAP32[$654>>2] = 40; + $655 = HEAP32[(28696)>>2]|0; + HEAP32[(28236)>>2] = $655; + } else { + $$024371$i = (28656); + while(1) { + $656 = HEAP32[$$024371$i>>2]|0; + $657 = ((($$024371$i)) + 4|0); + $658 = HEAP32[$657>>2]|0; + $659 = (($656) + ($658)|0); + $660 = ($$749$i|0)==($659|0); + if ($660) { + label = 190; + break; + } + $661 = ((($$024371$i)) + 8|0); + $662 = HEAP32[$661>>2]|0; + $663 = ($662|0)==(0|0); + if ($663) { + break; + } else { + $$024371$i = $662; + } + } + if ((label|0) == 190) { + $664 = ((($$024371$i)) + 12|0); + $665 = HEAP32[$664>>2]|0; + $666 = $665 & 8; + $667 = ($666|0)==(0); + if ($667) { + $668 = ($630>>>0)>=($656>>>0); + $669 = ($630>>>0)<($$749$i>>>0); + $or$cond51$i = $669 & $668; + if ($or$cond51$i) { + $670 = (($658) + ($$723948$i))|0; + HEAP32[$657>>2] = $670; + $671 = HEAP32[(28220)>>2]|0; + $672 = ((($630)) + 8|0); + $673 = $672; + $674 = $673 & 7; + $675 = ($674|0)==(0); + $676 = (0 - ($673))|0; + $677 = $676 & 7; + $678 = $675 ? 0 : $677; + $679 = (($630) + ($678)|0); + $680 = (($$723948$i) - ($678))|0; + $681 = (($671) + ($680))|0; + HEAP32[(28232)>>2] = $679; + HEAP32[(28220)>>2] = $681; + $682 = $681 | 1; + $683 = ((($679)) + 4|0); + HEAP32[$683>>2] = $682; + $684 = (($679) + ($681)|0); + $685 = ((($684)) + 4|0); + HEAP32[$685>>2] = 40; + $686 = HEAP32[(28696)>>2]|0; + HEAP32[(28236)>>2] = $686; + break; + } + } + } + $687 = HEAP32[(28224)>>2]|0; + $688 = ($$749$i>>>0)<($687>>>0); + if ($688) { + HEAP32[(28224)>>2] = $$749$i; + $752 = $$749$i; + } else { + $752 = $687; + } + $689 = (($$749$i) + ($$723948$i)|0); + $$124470$i = (28656); + while(1) { + $690 = HEAP32[$$124470$i>>2]|0; + $691 = ($690|0)==($689|0); + if ($691) { + label = 198; + break; + } + $692 = ((($$124470$i)) + 8|0); + $693 = HEAP32[$692>>2]|0; + $694 = ($693|0)==(0|0); + if ($694) { + break; + } else { + $$124470$i = $693; + } + } + if ((label|0) == 198) { + $695 = ((($$124470$i)) + 12|0); + $696 = HEAP32[$695>>2]|0; + $697 = $696 & 8; + $698 = ($697|0)==(0); + if ($698) { + HEAP32[$$124470$i>>2] = $$749$i; + $699 = ((($$124470$i)) + 4|0); + $700 = HEAP32[$699>>2]|0; + $701 = (($700) + ($$723948$i))|0; + HEAP32[$699>>2] = $701; + $702 = ((($$749$i)) + 8|0); + $703 = $702; + $704 = $703 & 7; + $705 = ($704|0)==(0); + $706 = (0 - ($703))|0; + $707 = $706 & 7; + $708 = $705 ? 0 : $707; + $709 = (($$749$i) + ($708)|0); + $710 = ((($689)) + 8|0); + $711 = $710; + $712 = $711 & 7; + $713 = ($712|0)==(0); + $714 = (0 - ($711))|0; + $715 = $714 & 7; + $716 = $713 ? 0 : $715; + $717 = (($689) + ($716)|0); + $718 = $717; + $719 = $709; + $720 = (($718) - ($719))|0; + $721 = (($709) + ($$0197)|0); + $722 = (($720) - ($$0197))|0; + $723 = $$0197 | 3; + $724 = ((($709)) + 4|0); + HEAP32[$724>>2] = $723; + $725 = ($717|0)==($630|0); + do { + if ($725) { + $726 = HEAP32[(28220)>>2]|0; + $727 = (($726) + ($722))|0; + HEAP32[(28220)>>2] = $727; + HEAP32[(28232)>>2] = $721; + $728 = $727 | 1; + $729 = ((($721)) + 4|0); + HEAP32[$729>>2] = $728; + } else { + $730 = HEAP32[(28228)>>2]|0; + $731 = ($717|0)==($730|0); + if ($731) { + $732 = HEAP32[(28216)>>2]|0; + $733 = (($732) + ($722))|0; + HEAP32[(28216)>>2] = $733; + HEAP32[(28228)>>2] = $721; + $734 = $733 | 1; + $735 = ((($721)) + 4|0); + HEAP32[$735>>2] = $734; + $736 = (($721) + ($733)|0); + HEAP32[$736>>2] = $733; + break; + } + $737 = ((($717)) + 4|0); + $738 = HEAP32[$737>>2]|0; + $739 = $738 & 3; + $740 = ($739|0)==(1); + if ($740) { + $741 = $738 & -8; + $742 = $738 >>> 3; + $743 = ($738>>>0)<(256); + L314: do { + if ($743) { + $744 = ((($717)) + 8|0); + $745 = HEAP32[$744>>2]|0; + $746 = ((($717)) + 12|0); + $747 = HEAP32[$746>>2]|0; + $748 = $742 << 1; + $749 = (28248 + ($748<<2)|0); + $750 = ($745|0)==($749|0); + do { + if (!($750)) { + $751 = ($745>>>0)<($752>>>0); + if ($751) { + _abort(); + // unreachable; + } + $753 = ((($745)) + 12|0); + $754 = HEAP32[$753>>2]|0; + $755 = ($754|0)==($717|0); + if ($755) { + break; + } + _abort(); + // unreachable; } + } while(0); + $756 = ($747|0)==($745|0); + if ($756) { + $757 = 1 << $742; + $758 = $757 ^ -1; + $759 = HEAP32[7052]|0; + $760 = $759 & $758; + HEAP32[7052] = $760; + break; } - $494 = HEAP32[(9172)>>2]|0; - $495 = ($$lcssa232>>>0)<($494>>>0); - if ($495) { + $761 = ($747|0)==($749|0); + do { + if ($761) { + $$pre10$i$i = ((($747)) + 8|0); + $$pre$phi11$i$iZ2D = $$pre10$i$i; + } else { + $762 = ($747>>>0)<($752>>>0); + if ($762) { + _abort(); + // unreachable; + } + $763 = ((($747)) + 8|0); + $764 = HEAP32[$763>>2]|0; + $765 = ($764|0)==($717|0); + if ($765) { + $$pre$phi11$i$iZ2D = $763; + break; + } + _abort(); + // unreachable; + } + } while(0); + $766 = ((($745)) + 12|0); + HEAP32[$766>>2] = $747; + HEAP32[$$pre$phi11$i$iZ2D>>2] = $745; + } else { + $767 = ((($717)) + 24|0); + $768 = HEAP32[$767>>2]|0; + $769 = ((($717)) + 12|0); + $770 = HEAP32[$769>>2]|0; + $771 = ($770|0)==($717|0); + do { + if ($771) { + $781 = ((($717)) + 16|0); + $782 = ((($781)) + 4|0); + $783 = HEAP32[$782>>2]|0; + $784 = ($783|0)==(0|0); + if ($784) { + $785 = HEAP32[$781>>2]|0; + $786 = ($785|0)==(0|0); + if ($786) { + $$3$i$i = 0; + break; + } else { + $$1291$i$i = $785;$$1293$i$i = $781; + } + } else { + $$1291$i$i = $783;$$1293$i$i = $782; + } + while(1) { + $787 = ((($$1291$i$i)) + 20|0); + $788 = HEAP32[$787>>2]|0; + $789 = ($788|0)==(0|0); + if (!($789)) { + $$1291$i$i = $788;$$1293$i$i = $787; + continue; + } + $790 = ((($$1291$i$i)) + 16|0); + $791 = HEAP32[$790>>2]|0; + $792 = ($791|0)==(0|0); + if ($792) { + break; + } else { + $$1291$i$i = $791;$$1293$i$i = $790; + } + } + $793 = ($$1293$i$i>>>0)<($752>>>0); + if ($793) { + _abort(); + // unreachable; + } else { + HEAP32[$$1293$i$i>>2] = 0; + $$3$i$i = $$1291$i$i; + break; + } + } else { + $772 = ((($717)) + 8|0); + $773 = HEAP32[$772>>2]|0; + $774 = ($773>>>0)<($752>>>0); + if ($774) { + _abort(); + // unreachable; + } + $775 = ((($773)) + 12|0); + $776 = HEAP32[$775>>2]|0; + $777 = ($776|0)==($717|0); + if (!($777)) { + _abort(); + // unreachable; + } + $778 = ((($770)) + 8|0); + $779 = HEAP32[$778>>2]|0; + $780 = ($779|0)==($717|0); + if ($780) { + HEAP32[$775>>2] = $770; + HEAP32[$778>>2] = $773; + $$3$i$i = $770; + break; + } else { + _abort(); + // unreachable; + } + } + } while(0); + $794 = ($768|0)==(0|0); + if ($794) { + break; + } + $795 = ((($717)) + 28|0); + $796 = HEAP32[$795>>2]|0; + $797 = (28512 + ($796<<2)|0); + $798 = HEAP32[$797>>2]|0; + $799 = ($717|0)==($798|0); + do { + if ($799) { + HEAP32[$797>>2] = $$3$i$i; + $cond$i$i = ($$3$i$i|0)==(0|0); + if (!($cond$i$i)) { + break; + } + $800 = 1 << $796; + $801 = $800 ^ -1; + $802 = HEAP32[(28212)>>2]|0; + $803 = $802 & $801; + HEAP32[(28212)>>2] = $803; + break L314; + } else { + $804 = HEAP32[(28224)>>2]|0; + $805 = ($768>>>0)<($804>>>0); + if ($805) { + _abort(); + // unreachable; + } else { + $806 = ((($768)) + 16|0); + $807 = HEAP32[$806>>2]|0; + $not$$i17$i = ($807|0)!=($717|0); + $$sink1$i$i = $not$$i17$i&1; + $808 = (((($768)) + 16|0) + ($$sink1$i$i<<2)|0); + HEAP32[$808>>2] = $$3$i$i; + $809 = ($$3$i$i|0)==(0|0); + if ($809) { + break L314; + } else { + break; + } + } + } + } while(0); + $810 = HEAP32[(28224)>>2]|0; + $811 = ($$3$i$i>>>0)<($810>>>0); + if ($811) { + _abort(); + // unreachable; + } + $812 = ((($$3$i$i)) + 24|0); + HEAP32[$812>>2] = $768; + $813 = ((($717)) + 16|0); + $814 = HEAP32[$813>>2]|0; + $815 = ($814|0)==(0|0); + do { + if (!($815)) { + $816 = ($814>>>0)<($810>>>0); + if ($816) { + _abort(); + // unreachable; + } else { + $817 = ((($$3$i$i)) + 16|0); + HEAP32[$817>>2] = $814; + $818 = ((($814)) + 24|0); + HEAP32[$818>>2] = $$3$i$i; + break; + } + } + } while(0); + $819 = ((($813)) + 4|0); + $820 = HEAP32[$819>>2]|0; + $821 = ($820|0)==(0|0); + if ($821) { + break; + } + $822 = HEAP32[(28224)>>2]|0; + $823 = ($820>>>0)<($822>>>0); + if ($823) { _abort(); // unreachable; } else { - HEAP32[$$lcssa232>>2] = $348; - $$sum11$i = (($246) + 24)|0; - $496 = (($v$3$lcssa$i) + ($$sum11$i)|0); - HEAP32[$496>>2] = $T$028$i$lcssa; - $$sum12$i = (($246) + 12)|0; - $497 = (($v$3$lcssa$i) + ($$sum12$i)|0); - HEAP32[$497>>2] = $348; - $$sum13$i = (($246) + 8)|0; - $498 = (($v$3$lcssa$i) + ($$sum13$i)|0); - HEAP32[$498>>2] = $348; - break L199; + $824 = ((($$3$i$i)) + 20|0); + HEAP32[$824>>2] = $820; + $825 = ((($820)) + 24|0); + HEAP32[$825>>2] = $$3$i$i; + break; } } } while(0); - $499 = ((($T$0$lcssa$i)) + 8|0); - $500 = HEAP32[$499>>2]|0; - $501 = HEAP32[(9172)>>2]|0; - $502 = ($500>>>0)>=($501>>>0); - $not$$i = ($T$0$lcssa$i>>>0)>=($501>>>0); - $503 = $502 & $not$$i; - if ($503) { - $504 = ((($500)) + 12|0); - HEAP32[$504>>2] = $348; - HEAP32[$499>>2] = $348; - $$sum8$i = (($246) + 8)|0; - $505 = (($v$3$lcssa$i) + ($$sum8$i)|0); - HEAP32[$505>>2] = $500; - $$sum9$i = (($246) + 12)|0; - $506 = (($v$3$lcssa$i) + ($$sum9$i)|0); - HEAP32[$506>>2] = $T$0$lcssa$i; - $$sum10$i = (($246) + 24)|0; - $507 = (($v$3$lcssa$i) + ($$sum10$i)|0); - HEAP32[$507>>2] = 0; + $826 = (($717) + ($741)|0); + $827 = (($741) + ($722))|0; + $$0$i18$i = $826;$$0287$i$i = $827; + } else { + $$0$i18$i = $717;$$0287$i$i = $722; + } + $828 = ((($$0$i18$i)) + 4|0); + $829 = HEAP32[$828>>2]|0; + $830 = $829 & -2; + HEAP32[$828>>2] = $830; + $831 = $$0287$i$i | 1; + $832 = ((($721)) + 4|0); + HEAP32[$832>>2] = $831; + $833 = (($721) + ($$0287$i$i)|0); + HEAP32[$833>>2] = $$0287$i$i; + $834 = $$0287$i$i >>> 3; + $835 = ($$0287$i$i>>>0)<(256); + if ($835) { + $836 = $834 << 1; + $837 = (28248 + ($836<<2)|0); + $838 = HEAP32[7052]|0; + $839 = 1 << $834; + $840 = $838 & $839; + $841 = ($840|0)==(0); + do { + if ($841) { + $842 = $838 | $839; + HEAP32[7052] = $842; + $$pre$i19$i = ((($837)) + 8|0); + $$0295$i$i = $837;$$pre$phi$i20$iZ2D = $$pre$i19$i; + } else { + $843 = ((($837)) + 8|0); + $844 = HEAP32[$843>>2]|0; + $845 = HEAP32[(28224)>>2]|0; + $846 = ($844>>>0)<($845>>>0); + if (!($846)) { + $$0295$i$i = $844;$$pre$phi$i20$iZ2D = $843; + break; + } + _abort(); + // unreachable; + } + } while(0); + HEAP32[$$pre$phi$i20$iZ2D>>2] = $721; + $847 = ((($$0295$i$i)) + 12|0); + HEAP32[$847>>2] = $721; + $848 = ((($721)) + 8|0); + HEAP32[$848>>2] = $$0295$i$i; + $849 = ((($721)) + 12|0); + HEAP32[$849>>2] = $837; + break; + } + $850 = $$0287$i$i >>> 8; + $851 = ($850|0)==(0); + do { + if ($851) { + $$0296$i$i = 0; + } else { + $852 = ($$0287$i$i>>>0)>(16777215); + if ($852) { + $$0296$i$i = 31; + break; + } + $853 = (($850) + 1048320)|0; + $854 = $853 >>> 16; + $855 = $854 & 8; + $856 = $850 << $855; + $857 = (($856) + 520192)|0; + $858 = $857 >>> 16; + $859 = $858 & 4; + $860 = $859 | $855; + $861 = $856 << $859; + $862 = (($861) + 245760)|0; + $863 = $862 >>> 16; + $864 = $863 & 2; + $865 = $860 | $864; + $866 = (14 - ($865))|0; + $867 = $861 << $864; + $868 = $867 >>> 15; + $869 = (($866) + ($868))|0; + $870 = $869 << 1; + $871 = (($869) + 7)|0; + $872 = $$0287$i$i >>> $871; + $873 = $872 & 1; + $874 = $873 | $870; + $$0296$i$i = $874; + } + } while(0); + $875 = (28512 + ($$0296$i$i<<2)|0); + $876 = ((($721)) + 28|0); + HEAP32[$876>>2] = $$0296$i$i; + $877 = ((($721)) + 16|0); + $878 = ((($877)) + 4|0); + HEAP32[$878>>2] = 0; + HEAP32[$877>>2] = 0; + $879 = HEAP32[(28212)>>2]|0; + $880 = 1 << $$0296$i$i; + $881 = $879 & $880; + $882 = ($881|0)==(0); + if ($882) { + $883 = $879 | $880; + HEAP32[(28212)>>2] = $883; + HEAP32[$875>>2] = $721; + $884 = ((($721)) + 24|0); + HEAP32[$884>>2] = $875; + $885 = ((($721)) + 12|0); + HEAP32[$885>>2] = $721; + $886 = ((($721)) + 8|0); + HEAP32[$886>>2] = $721; + break; + } + $887 = HEAP32[$875>>2]|0; + $888 = ($$0296$i$i|0)==(31); + $889 = $$0296$i$i >>> 1; + $890 = (25 - ($889))|0; + $891 = $888 ? 0 : $890; + $892 = $$0287$i$i << $891; + $$0288$i$i = $892;$$0289$i$i = $887; + while(1) { + $893 = ((($$0289$i$i)) + 4|0); + $894 = HEAP32[$893>>2]|0; + $895 = $894 & -8; + $896 = ($895|0)==($$0287$i$i|0); + if ($896) { + label = 265; + break; + } + $897 = $$0288$i$i >>> 31; + $898 = (((($$0289$i$i)) + 16|0) + ($897<<2)|0); + $899 = $$0288$i$i << 1; + $900 = HEAP32[$898>>2]|0; + $901 = ($900|0)==(0|0); + if ($901) { + label = 262; + break; + } else { + $$0288$i$i = $899;$$0289$i$i = $900; + } + } + if ((label|0) == 262) { + $902 = HEAP32[(28224)>>2]|0; + $903 = ($898>>>0)<($902>>>0); + if ($903) { + _abort(); + // unreachable; + } else { + HEAP32[$898>>2] = $721; + $904 = ((($721)) + 24|0); + HEAP32[$904>>2] = $$0289$i$i; + $905 = ((($721)) + 12|0); + HEAP32[$905>>2] = $721; + $906 = ((($721)) + 8|0); + HEAP32[$906>>2] = $721; + break; + } + } + else if ((label|0) == 265) { + $907 = ((($$0289$i$i)) + 8|0); + $908 = HEAP32[$907>>2]|0; + $909 = HEAP32[(28224)>>2]|0; + $910 = ($908>>>0)>=($909>>>0); + $not$7$i$i = ($$0289$i$i>>>0)>=($909>>>0); + $911 = $910 & $not$7$i$i; + if ($911) { + $912 = ((($908)) + 12|0); + HEAP32[$912>>2] = $721; + HEAP32[$907>>2] = $721; + $913 = ((($721)) + 8|0); + HEAP32[$913>>2] = $908; + $914 = ((($721)) + 12|0); + HEAP32[$914>>2] = $$0289$i$i; + $915 = ((($721)) + 24|0); + HEAP32[$915>>2] = 0; break; } else { _abort(); // unreachable; } } - } while(0); - $508 = ((($v$3$lcssa$i)) + 8|0); - $mem$0 = $508; - return ($mem$0|0); - } else { - $nb$0 = $246; - } - } - } - } - } - } while(0); - $509 = HEAP32[(9164)>>2]|0; - $510 = ($509>>>0)<($nb$0>>>0); - if (!($510)) { - $511 = (($509) - ($nb$0))|0; - $512 = HEAP32[(9176)>>2]|0; - $513 = ($511>>>0)>(15); - if ($513) { - $514 = (($512) + ($nb$0)|0); - HEAP32[(9176)>>2] = $514; - HEAP32[(9164)>>2] = $511; - $515 = $511 | 1; - $$sum2 = (($nb$0) + 4)|0; - $516 = (($512) + ($$sum2)|0); - HEAP32[$516>>2] = $515; - $517 = (($512) + ($509)|0); - HEAP32[$517>>2] = $511; - $518 = $nb$0 | 3; - $519 = ((($512)) + 4|0); - HEAP32[$519>>2] = $518; - } else { - HEAP32[(9164)>>2] = 0; - HEAP32[(9176)>>2] = 0; - $520 = $509 | 3; - $521 = ((($512)) + 4|0); - HEAP32[$521>>2] = $520; - $$sum1 = (($509) + 4)|0; - $522 = (($512) + ($$sum1)|0); - $523 = HEAP32[$522>>2]|0; - $524 = $523 | 1; - HEAP32[$522>>2] = $524; - } - $525 = ((($512)) + 8|0); - $mem$0 = $525; - return ($mem$0|0); - } - $526 = HEAP32[(9168)>>2]|0; - $527 = ($526>>>0)>($nb$0>>>0); - if ($527) { - $528 = (($526) - ($nb$0))|0; - HEAP32[(9168)>>2] = $528; - $529 = HEAP32[(9180)>>2]|0; - $530 = (($529) + ($nb$0)|0); - HEAP32[(9180)>>2] = $530; - $531 = $528 | 1; - $$sum = (($nb$0) + 4)|0; - $532 = (($529) + ($$sum)|0); - HEAP32[$532>>2] = $531; - $533 = $nb$0 | 3; - $534 = ((($529)) + 4|0); - HEAP32[$534>>2] = $533; - $535 = ((($529)) + 8|0); - $mem$0 = $535; - return ($mem$0|0); - } - $536 = HEAP32[9628>>2]|0; - $537 = ($536|0)==(0); - do { - if ($537) { - $538 = (_sysconf(30)|0); - $539 = (($538) + -1)|0; - $540 = $539 & $538; - $541 = ($540|0)==(0); - if ($541) { - HEAP32[(9636)>>2] = $538; - HEAP32[(9632)>>2] = $538; - HEAP32[(9640)>>2] = -1; - HEAP32[(9644)>>2] = -1; - HEAP32[(9648)>>2] = 0; - HEAP32[(9600)>>2] = 0; - $542 = (_time((0|0))|0); - $543 = $542 & -16; - $544 = $543 ^ 1431655768; - HEAP32[9628>>2] = $544; - break; - } else { - _abort(); - // unreachable; - } - } - } while(0); - $545 = (($nb$0) + 48)|0; - $546 = HEAP32[(9636)>>2]|0; - $547 = (($nb$0) + 47)|0; - $548 = (($546) + ($547))|0; - $549 = (0 - ($546))|0; - $550 = $548 & $549; - $551 = ($550>>>0)>($nb$0>>>0); - if (!($551)) { - $mem$0 = 0; - return ($mem$0|0); - } - $552 = HEAP32[(9596)>>2]|0; - $553 = ($552|0)==(0); - if (!($553)) { - $554 = HEAP32[(9588)>>2]|0; - $555 = (($554) + ($550))|0; - $556 = ($555>>>0)<=($554>>>0); - $557 = ($555>>>0)>($552>>>0); - $or$cond1$i = $556 | $557; - if ($or$cond1$i) { - $mem$0 = 0; - return ($mem$0|0); - } - } - $558 = HEAP32[(9600)>>2]|0; - $559 = $558 & 4; - $560 = ($559|0)==(0); - L258: do { - if ($560) { - $561 = HEAP32[(9180)>>2]|0; - $562 = ($561|0)==(0|0); - L260: do { - if ($562) { - label = 174; - } else { - $sp$0$i$i = (9604); - while(1) { - $563 = HEAP32[$sp$0$i$i>>2]|0; - $564 = ($563>>>0)>($561>>>0); - if (!($564)) { - $565 = ((($sp$0$i$i)) + 4|0); - $566 = HEAP32[$565>>2]|0; - $567 = (($563) + ($566)|0); - $568 = ($567>>>0)>($561>>>0); - if ($568) { - $$lcssa228 = $sp$0$i$i;$$lcssa230 = $565; - break; - } - } - $569 = ((($sp$0$i$i)) + 8|0); - $570 = HEAP32[$569>>2]|0; - $571 = ($570|0)==(0|0); - if ($571) { - label = 174; - break L260; - } else { - $sp$0$i$i = $570; - } - } - $594 = HEAP32[(9168)>>2]|0; - $595 = (($548) - ($594))|0; - $596 = $595 & $549; - $597 = ($596>>>0)<(2147483647); - if ($597) { - $598 = (_sbrk(($596|0))|0); - $599 = HEAP32[$$lcssa228>>2]|0; - $600 = HEAP32[$$lcssa230>>2]|0; - $601 = (($599) + ($600)|0); - $602 = ($598|0)==($601|0); - $$3$i = $602 ? $596 : 0; - if ($602) { - $603 = ($598|0)==((-1)|0); - if ($603) { - $tsize$0323944$i = $$3$i; - } else { - $tbase$255$i = $598;$tsize$254$i = $$3$i; - label = 194; - break L258; - } - } else { - $br$0$ph$i = $598;$ssize$1$ph$i = $596;$tsize$0$ph$i = $$3$i; - label = 184; - } - } else { - $tsize$0323944$i = 0; - } - } - } while(0); - do { - if ((label|0) == 174) { - $572 = (_sbrk(0)|0); - $573 = ($572|0)==((-1)|0); - if ($573) { - $tsize$0323944$i = 0; - } else { - $574 = $572; - $575 = HEAP32[(9632)>>2]|0; - $576 = (($575) + -1)|0; - $577 = $576 & $574; - $578 = ($577|0)==(0); - if ($578) { - $ssize$0$i = $550; - } else { - $579 = (($576) + ($574))|0; - $580 = (0 - ($575))|0; - $581 = $579 & $580; - $582 = (($550) - ($574))|0; - $583 = (($582) + ($581))|0; - $ssize$0$i = $583; - } - $584 = HEAP32[(9588)>>2]|0; - $585 = (($584) + ($ssize$0$i))|0; - $586 = ($ssize$0$i>>>0)>($nb$0>>>0); - $587 = ($ssize$0$i>>>0)<(2147483647); - $or$cond$i30 = $586 & $587; - if ($or$cond$i30) { - $588 = HEAP32[(9596)>>2]|0; - $589 = ($588|0)==(0); - if (!($589)) { - $590 = ($585>>>0)<=($584>>>0); - $591 = ($585>>>0)>($588>>>0); - $or$cond2$i = $590 | $591; - if ($or$cond2$i) { - $tsize$0323944$i = 0; - break; - } - } - $592 = (_sbrk(($ssize$0$i|0))|0); - $593 = ($592|0)==($572|0); - $ssize$0$$i = $593 ? $ssize$0$i : 0; - if ($593) { - $tbase$255$i = $572;$tsize$254$i = $ssize$0$$i; - label = 194; - break L258; - } else { - $br$0$ph$i = $592;$ssize$1$ph$i = $ssize$0$i;$tsize$0$ph$i = $ssize$0$$i; - label = 184; - } - } else { - $tsize$0323944$i = 0; - } - } - } - } while(0); - L280: do { - if ((label|0) == 184) { - $604 = (0 - ($ssize$1$ph$i))|0; - $605 = ($br$0$ph$i|0)!=((-1)|0); - $606 = ($ssize$1$ph$i>>>0)<(2147483647); - $or$cond5$i = $606 & $605; - $607 = ($545>>>0)>($ssize$1$ph$i>>>0); - $or$cond6$i = $607 & $or$cond5$i; - do { - if ($or$cond6$i) { - $608 = HEAP32[(9636)>>2]|0; - $609 = (($547) - ($ssize$1$ph$i))|0; - $610 = (($609) + ($608))|0; - $611 = (0 - ($608))|0; - $612 = $610 & $611; - $613 = ($612>>>0)<(2147483647); - if ($613) { - $614 = (_sbrk(($612|0))|0); - $615 = ($614|0)==((-1)|0); - if ($615) { - (_sbrk(($604|0))|0); - $tsize$0323944$i = $tsize$0$ph$i; - break L280; - } else { - $616 = (($612) + ($ssize$1$ph$i))|0; - $ssize$2$i = $616; - break; - } - } else { - $ssize$2$i = $ssize$1$ph$i; - } - } else { - $ssize$2$i = $ssize$1$ph$i; - } - } while(0); - $617 = ($br$0$ph$i|0)==((-1)|0); - if ($617) { - $tsize$0323944$i = $tsize$0$ph$i; - } else { - $tbase$255$i = $br$0$ph$i;$tsize$254$i = $ssize$2$i; - label = 194; - break L258; - } - } - } while(0); - $618 = HEAP32[(9600)>>2]|0; - $619 = $618 | 4; - HEAP32[(9600)>>2] = $619; - $tsize$1$i = $tsize$0323944$i; - label = 191; - } else { - $tsize$1$i = 0; - label = 191; - } - } while(0); - if ((label|0) == 191) { - $620 = ($550>>>0)<(2147483647); - if ($620) { - $621 = (_sbrk(($550|0))|0); - $622 = (_sbrk(0)|0); - $623 = ($621|0)!=((-1)|0); - $624 = ($622|0)!=((-1)|0); - $or$cond3$i = $623 & $624; - $625 = ($621>>>0)<($622>>>0); - $or$cond8$i = $625 & $or$cond3$i; - if ($or$cond8$i) { - $626 = $622; - $627 = $621; - $628 = (($626) - ($627))|0; - $629 = (($nb$0) + 40)|0; - $630 = ($628>>>0)>($629>>>0); - $$tsize$1$i = $630 ? $628 : $tsize$1$i; - if ($630) { - $tbase$255$i = $621;$tsize$254$i = $$tsize$1$i; - label = 194; - } - } - } - } - if ((label|0) == 194) { - $631 = HEAP32[(9588)>>2]|0; - $632 = (($631) + ($tsize$254$i))|0; - HEAP32[(9588)>>2] = $632; - $633 = HEAP32[(9592)>>2]|0; - $634 = ($632>>>0)>($633>>>0); - if ($634) { - HEAP32[(9592)>>2] = $632; - } - $635 = HEAP32[(9180)>>2]|0; - $636 = ($635|0)==(0|0); - L299: do { - if ($636) { - $637 = HEAP32[(9172)>>2]|0; - $638 = ($637|0)==(0|0); - $639 = ($tbase$255$i>>>0)<($637>>>0); - $or$cond9$i = $638 | $639; - if ($or$cond9$i) { - HEAP32[(9172)>>2] = $tbase$255$i; - } - HEAP32[(9604)>>2] = $tbase$255$i; - HEAP32[(9608)>>2] = $tsize$254$i; - HEAP32[(9616)>>2] = 0; - $640 = HEAP32[9628>>2]|0; - HEAP32[(9192)>>2] = $640; - HEAP32[(9188)>>2] = -1; - $i$02$i$i = 0; - while(1) { - $641 = $i$02$i$i << 1; - $642 = (9196 + ($641<<2)|0); - $$sum$i$i = (($641) + 3)|0; - $643 = (9196 + ($$sum$i$i<<2)|0); - HEAP32[$643>>2] = $642; - $$sum1$i$i = (($641) + 2)|0; - $644 = (9196 + ($$sum1$i$i<<2)|0); - HEAP32[$644>>2] = $642; - $645 = (($i$02$i$i) + 1)|0; - $exitcond$i$i = ($645|0)==(32); - if ($exitcond$i$i) { - break; - } else { - $i$02$i$i = $645; - } - } - $646 = (($tsize$254$i) + -40)|0; - $647 = ((($tbase$255$i)) + 8|0); - $648 = $647; - $649 = $648 & 7; - $650 = ($649|0)==(0); - $651 = (0 - ($648))|0; - $652 = $651 & 7; - $653 = $650 ? 0 : $652; - $654 = (($tbase$255$i) + ($653)|0); - $655 = (($646) - ($653))|0; - HEAP32[(9180)>>2] = $654; - HEAP32[(9168)>>2] = $655; - $656 = $655 | 1; - $$sum$i13$i = (($653) + 4)|0; - $657 = (($tbase$255$i) + ($$sum$i13$i)|0); - HEAP32[$657>>2] = $656; - $$sum2$i$i = (($tsize$254$i) + -36)|0; - $658 = (($tbase$255$i) + ($$sum2$i$i)|0); - HEAP32[$658>>2] = 40; - $659 = HEAP32[(9644)>>2]|0; - HEAP32[(9184)>>2] = $659; - } else { - $sp$084$i = (9604); - while(1) { - $660 = HEAP32[$sp$084$i>>2]|0; - $661 = ((($sp$084$i)) + 4|0); - $662 = HEAP32[$661>>2]|0; - $663 = (($660) + ($662)|0); - $664 = ($tbase$255$i|0)==($663|0); - if ($664) { - $$lcssa222 = $660;$$lcssa224 = $661;$$lcssa226 = $662;$sp$084$i$lcssa = $sp$084$i; - label = 204; - break; - } - $665 = ((($sp$084$i)) + 8|0); - $666 = HEAP32[$665>>2]|0; - $667 = ($666|0)==(0|0); - if ($667) { - break; - } else { - $sp$084$i = $666; - } - } - if ((label|0) == 204) { - $668 = ((($sp$084$i$lcssa)) + 12|0); - $669 = HEAP32[$668>>2]|0; - $670 = $669 & 8; - $671 = ($670|0)==(0); - if ($671) { - $672 = ($635>>>0)>=($$lcssa222>>>0); - $673 = ($635>>>0)<($tbase$255$i>>>0); - $or$cond57$i = $673 & $672; - if ($or$cond57$i) { - $674 = (($$lcssa226) + ($tsize$254$i))|0; - HEAP32[$$lcssa224>>2] = $674; - $675 = HEAP32[(9168)>>2]|0; - $676 = (($675) + ($tsize$254$i))|0; - $677 = ((($635)) + 8|0); - $678 = $677; - $679 = $678 & 7; - $680 = ($679|0)==(0); - $681 = (0 - ($678))|0; - $682 = $681 & 7; - $683 = $680 ? 0 : $682; - $684 = (($635) + ($683)|0); - $685 = (($676) - ($683))|0; - HEAP32[(9180)>>2] = $684; - HEAP32[(9168)>>2] = $685; - $686 = $685 | 1; - $$sum$i17$i = (($683) + 4)|0; - $687 = (($635) + ($$sum$i17$i)|0); - HEAP32[$687>>2] = $686; - $$sum2$i18$i = (($676) + 4)|0; - $688 = (($635) + ($$sum2$i18$i)|0); - HEAP32[$688>>2] = 40; - $689 = HEAP32[(9644)>>2]|0; - HEAP32[(9184)>>2] = $689; - break; - } - } - } - $690 = HEAP32[(9172)>>2]|0; - $691 = ($tbase$255$i>>>0)<($690>>>0); - if ($691) { - HEAP32[(9172)>>2] = $tbase$255$i; - $755 = $tbase$255$i; - } else { - $755 = $690; - } - $692 = (($tbase$255$i) + ($tsize$254$i)|0); - $sp$183$i = (9604); - while(1) { - $693 = HEAP32[$sp$183$i>>2]|0; - $694 = ($693|0)==($692|0); - if ($694) { - $$lcssa219 = $sp$183$i;$sp$183$i$lcssa = $sp$183$i; - label = 212; - break; - } - $695 = ((($sp$183$i)) + 8|0); - $696 = HEAP32[$695>>2]|0; - $697 = ($696|0)==(0|0); - if ($697) { - $sp$0$i$i$i = (9604); - break; - } else { - $sp$183$i = $696; - } - } - if ((label|0) == 212) { - $698 = ((($sp$183$i$lcssa)) + 12|0); - $699 = HEAP32[$698>>2]|0; - $700 = $699 & 8; - $701 = ($700|0)==(0); - if ($701) { - HEAP32[$$lcssa219>>2] = $tbase$255$i; - $702 = ((($sp$183$i$lcssa)) + 4|0); - $703 = HEAP32[$702>>2]|0; - $704 = (($703) + ($tsize$254$i))|0; - HEAP32[$702>>2] = $704; - $705 = ((($tbase$255$i)) + 8|0); - $706 = $705; - $707 = $706 & 7; - $708 = ($707|0)==(0); - $709 = (0 - ($706))|0; - $710 = $709 & 7; - $711 = $708 ? 0 : $710; - $712 = (($tbase$255$i) + ($711)|0); - $$sum112$i = (($tsize$254$i) + 8)|0; - $713 = (($tbase$255$i) + ($$sum112$i)|0); - $714 = $713; - $715 = $714 & 7; - $716 = ($715|0)==(0); - $717 = (0 - ($714))|0; - $718 = $717 & 7; - $719 = $716 ? 0 : $718; - $$sum113$i = (($719) + ($tsize$254$i))|0; - $720 = (($tbase$255$i) + ($$sum113$i)|0); - $721 = $720; - $722 = $712; - $723 = (($721) - ($722))|0; - $$sum$i19$i = (($711) + ($nb$0))|0; - $724 = (($tbase$255$i) + ($$sum$i19$i)|0); - $725 = (($723) - ($nb$0))|0; - $726 = $nb$0 | 3; - $$sum1$i20$i = (($711) + 4)|0; - $727 = (($tbase$255$i) + ($$sum1$i20$i)|0); - HEAP32[$727>>2] = $726; - $728 = ($720|0)==($635|0); - L324: do { - if ($728) { - $729 = HEAP32[(9168)>>2]|0; - $730 = (($729) + ($725))|0; - HEAP32[(9168)>>2] = $730; - HEAP32[(9180)>>2] = $724; - $731 = $730 | 1; - $$sum42$i$i = (($$sum$i19$i) + 4)|0; - $732 = (($tbase$255$i) + ($$sum42$i$i)|0); - HEAP32[$732>>2] = $731; - } else { - $733 = HEAP32[(9176)>>2]|0; - $734 = ($720|0)==($733|0); - if ($734) { - $735 = HEAP32[(9164)>>2]|0; - $736 = (($735) + ($725))|0; - HEAP32[(9164)>>2] = $736; - HEAP32[(9176)>>2] = $724; - $737 = $736 | 1; - $$sum40$i$i = (($$sum$i19$i) + 4)|0; - $738 = (($tbase$255$i) + ($$sum40$i$i)|0); - HEAP32[$738>>2] = $737; - $$sum41$i$i = (($736) + ($$sum$i19$i))|0; - $739 = (($tbase$255$i) + ($$sum41$i$i)|0); - HEAP32[$739>>2] = $736; - break; - } - $$sum2$i21$i = (($tsize$254$i) + 4)|0; - $$sum114$i = (($$sum2$i21$i) + ($719))|0; - $740 = (($tbase$255$i) + ($$sum114$i)|0); - $741 = HEAP32[$740>>2]|0; - $742 = $741 & 3; - $743 = ($742|0)==(1); - if ($743) { - $744 = $741 & -8; - $745 = $741 >>> 3; - $746 = ($741>>>0)<(256); - L332: do { - if ($746) { - $$sum3738$i$i = $719 | 8; - $$sum124$i = (($$sum3738$i$i) + ($tsize$254$i))|0; - $747 = (($tbase$255$i) + ($$sum124$i)|0); - $748 = HEAP32[$747>>2]|0; - $$sum39$i$i = (($tsize$254$i) + 12)|0; - $$sum125$i = (($$sum39$i$i) + ($719))|0; - $749 = (($tbase$255$i) + ($$sum125$i)|0); - $750 = HEAP32[$749>>2]|0; - $751 = $745 << 1; - $752 = (9196 + ($751<<2)|0); - $753 = ($748|0)==($752|0); - do { - if (!($753)) { - $754 = ($748>>>0)<($755>>>0); - if ($754) { - _abort(); - // unreachable; - } - $756 = ((($748)) + 12|0); - $757 = HEAP32[$756>>2]|0; - $758 = ($757|0)==($720|0); - if ($758) { - break; - } - _abort(); - // unreachable; - } - } while(0); - $759 = ($750|0)==($748|0); - if ($759) { - $760 = 1 << $745; - $761 = $760 ^ -1; - $762 = HEAP32[9156>>2]|0; - $763 = $762 & $761; - HEAP32[9156>>2] = $763; - break; - } - $764 = ($750|0)==($752|0); - do { - if ($764) { - $$pre57$i$i = ((($750)) + 8|0); - $$pre$phi58$i$iZ2D = $$pre57$i$i; - } else { - $765 = ($750>>>0)<($755>>>0); - if ($765) { - _abort(); - // unreachable; - } - $766 = ((($750)) + 8|0); - $767 = HEAP32[$766>>2]|0; - $768 = ($767|0)==($720|0); - if ($768) { - $$pre$phi58$i$iZ2D = $766; - break; - } - _abort(); - // unreachable; - } - } while(0); - $769 = ((($748)) + 12|0); - HEAP32[$769>>2] = $750; - HEAP32[$$pre$phi58$i$iZ2D>>2] = $748; - } else { - $$sum34$i$i = $719 | 24; - $$sum115$i = (($$sum34$i$i) + ($tsize$254$i))|0; - $770 = (($tbase$255$i) + ($$sum115$i)|0); - $771 = HEAP32[$770>>2]|0; - $$sum5$i$i = (($tsize$254$i) + 12)|0; - $$sum116$i = (($$sum5$i$i) + ($719))|0; - $772 = (($tbase$255$i) + ($$sum116$i)|0); - $773 = HEAP32[$772>>2]|0; - $774 = ($773|0)==($720|0); - do { - if ($774) { - $$sum67$i$i = $719 | 16; - $$sum122$i = (($$sum2$i21$i) + ($$sum67$i$i))|0; - $784 = (($tbase$255$i) + ($$sum122$i)|0); - $785 = HEAP32[$784>>2]|0; - $786 = ($785|0)==(0|0); - if ($786) { - $$sum123$i = (($$sum67$i$i) + ($tsize$254$i))|0; - $787 = (($tbase$255$i) + ($$sum123$i)|0); - $788 = HEAP32[$787>>2]|0; - $789 = ($788|0)==(0|0); - if ($789) { - $R$1$i$i = 0; - break; - } else { - $R$0$i$i = $788;$RP$0$i$i = $787; - } - } else { - $R$0$i$i = $785;$RP$0$i$i = $784; - } - while(1) { - $790 = ((($R$0$i$i)) + 20|0); - $791 = HEAP32[$790>>2]|0; - $792 = ($791|0)==(0|0); - if (!($792)) { - $R$0$i$i = $791;$RP$0$i$i = $790; - continue; - } - $793 = ((($R$0$i$i)) + 16|0); - $794 = HEAP32[$793>>2]|0; - $795 = ($794|0)==(0|0); - if ($795) { - $R$0$i$i$lcssa = $R$0$i$i;$RP$0$i$i$lcssa = $RP$0$i$i; - break; - } else { - $R$0$i$i = $794;$RP$0$i$i = $793; - } - } - $796 = ($RP$0$i$i$lcssa>>>0)<($755>>>0); - if ($796) { - _abort(); - // unreachable; - } else { - HEAP32[$RP$0$i$i$lcssa>>2] = 0; - $R$1$i$i = $R$0$i$i$lcssa; - break; - } - } else { - $$sum3536$i$i = $719 | 8; - $$sum117$i = (($$sum3536$i$i) + ($tsize$254$i))|0; - $775 = (($tbase$255$i) + ($$sum117$i)|0); - $776 = HEAP32[$775>>2]|0; - $777 = ($776>>>0)<($755>>>0); - if ($777) { - _abort(); - // unreachable; - } - $778 = ((($776)) + 12|0); - $779 = HEAP32[$778>>2]|0; - $780 = ($779|0)==($720|0); - if (!($780)) { - _abort(); - // unreachable; - } - $781 = ((($773)) + 8|0); - $782 = HEAP32[$781>>2]|0; - $783 = ($782|0)==($720|0); - if ($783) { - HEAP32[$778>>2] = $773; - HEAP32[$781>>2] = $776; - $R$1$i$i = $773; - break; - } else { - _abort(); - // unreachable; - } - } - } while(0); - $797 = ($771|0)==(0|0); - if ($797) { - break; - } - $$sum30$i$i = (($tsize$254$i) + 28)|0; - $$sum118$i = (($$sum30$i$i) + ($719))|0; - $798 = (($tbase$255$i) + ($$sum118$i)|0); - $799 = HEAP32[$798>>2]|0; - $800 = (9460 + ($799<<2)|0); - $801 = HEAP32[$800>>2]|0; - $802 = ($720|0)==($801|0); - do { - if ($802) { - HEAP32[$800>>2] = $R$1$i$i; - $cond$i$i = ($R$1$i$i|0)==(0|0); - if (!($cond$i$i)) { - break; - } - $803 = 1 << $799; - $804 = $803 ^ -1; - $805 = HEAP32[(9160)>>2]|0; - $806 = $805 & $804; - HEAP32[(9160)>>2] = $806; - break L332; - } else { - $807 = HEAP32[(9172)>>2]|0; - $808 = ($771>>>0)<($807>>>0); - if ($808) { - _abort(); - // unreachable; - } - $809 = ((($771)) + 16|0); - $810 = HEAP32[$809>>2]|0; - $811 = ($810|0)==($720|0); - if ($811) { - HEAP32[$809>>2] = $R$1$i$i; - } else { - $812 = ((($771)) + 20|0); - HEAP32[$812>>2] = $R$1$i$i; - } - $813 = ($R$1$i$i|0)==(0|0); - if ($813) { - break L332; - } - } - } while(0); - $814 = HEAP32[(9172)>>2]|0; - $815 = ($R$1$i$i>>>0)<($814>>>0); - if ($815) { - _abort(); - // unreachable; - } - $816 = ((($R$1$i$i)) + 24|0); - HEAP32[$816>>2] = $771; - $$sum3132$i$i = $719 | 16; - $$sum119$i = (($$sum3132$i$i) + ($tsize$254$i))|0; - $817 = (($tbase$255$i) + ($$sum119$i)|0); - $818 = HEAP32[$817>>2]|0; - $819 = ($818|0)==(0|0); - do { - if (!($819)) { - $820 = ($818>>>0)<($814>>>0); - if ($820) { - _abort(); - // unreachable; - } else { - $821 = ((($R$1$i$i)) + 16|0); - HEAP32[$821>>2] = $818; - $822 = ((($818)) + 24|0); - HEAP32[$822>>2] = $R$1$i$i; - break; - } - } - } while(0); - $$sum120$i = (($$sum2$i21$i) + ($$sum3132$i$i))|0; - $823 = (($tbase$255$i) + ($$sum120$i)|0); - $824 = HEAP32[$823>>2]|0; - $825 = ($824|0)==(0|0); - if ($825) { - break; - } - $826 = HEAP32[(9172)>>2]|0; - $827 = ($824>>>0)<($826>>>0); - if ($827) { - _abort(); - // unreachable; - } else { - $828 = ((($R$1$i$i)) + 20|0); - HEAP32[$828>>2] = $824; - $829 = ((($824)) + 24|0); - HEAP32[$829>>2] = $R$1$i$i; - break; - } - } - } while(0); - $$sum9$i$i = $744 | $719; - $$sum121$i = (($$sum9$i$i) + ($tsize$254$i))|0; - $830 = (($tbase$255$i) + ($$sum121$i)|0); - $831 = (($744) + ($725))|0; - $oldfirst$0$i$i = $830;$qsize$0$i$i = $831; - } else { - $oldfirst$0$i$i = $720;$qsize$0$i$i = $725; - } - $832 = ((($oldfirst$0$i$i)) + 4|0); - $833 = HEAP32[$832>>2]|0; - $834 = $833 & -2; - HEAP32[$832>>2] = $834; - $835 = $qsize$0$i$i | 1; - $$sum10$i$i = (($$sum$i19$i) + 4)|0; - $836 = (($tbase$255$i) + ($$sum10$i$i)|0); - HEAP32[$836>>2] = $835; - $$sum11$i$i = (($qsize$0$i$i) + ($$sum$i19$i))|0; - $837 = (($tbase$255$i) + ($$sum11$i$i)|0); - HEAP32[$837>>2] = $qsize$0$i$i; - $838 = $qsize$0$i$i >>> 3; - $839 = ($qsize$0$i$i>>>0)<(256); - if ($839) { - $840 = $838 << 1; - $841 = (9196 + ($840<<2)|0); - $842 = HEAP32[9156>>2]|0; - $843 = 1 << $838; - $844 = $842 & $843; - $845 = ($844|0)==(0); - do { - if ($845) { - $846 = $842 | $843; - HEAP32[9156>>2] = $846; - $$pre$i22$i = (($840) + 2)|0; - $$pre56$i$i = (9196 + ($$pre$i22$i<<2)|0); - $$pre$phi$i23$iZ2D = $$pre56$i$i;$F4$0$i$i = $841; - } else { - $$sum29$i$i = (($840) + 2)|0; - $847 = (9196 + ($$sum29$i$i<<2)|0); - $848 = HEAP32[$847>>2]|0; - $849 = HEAP32[(9172)>>2]|0; - $850 = ($848>>>0)<($849>>>0); - if (!($850)) { - $$pre$phi$i23$iZ2D = $847;$F4$0$i$i = $848; - break; - } - _abort(); - // unreachable; - } - } while(0); - HEAP32[$$pre$phi$i23$iZ2D>>2] = $724; - $851 = ((($F4$0$i$i)) + 12|0); - HEAP32[$851>>2] = $724; - $$sum27$i$i = (($$sum$i19$i) + 8)|0; - $852 = (($tbase$255$i) + ($$sum27$i$i)|0); - HEAP32[$852>>2] = $F4$0$i$i; - $$sum28$i$i = (($$sum$i19$i) + 12)|0; - $853 = (($tbase$255$i) + ($$sum28$i$i)|0); - HEAP32[$853>>2] = $841; - break; - } - $854 = $qsize$0$i$i >>> 8; - $855 = ($854|0)==(0); - do { - if ($855) { - $I7$0$i$i = 0; - } else { - $856 = ($qsize$0$i$i>>>0)>(16777215); - if ($856) { - $I7$0$i$i = 31; - break; - } - $857 = (($854) + 1048320)|0; - $858 = $857 >>> 16; - $859 = $858 & 8; - $860 = $854 << $859; - $861 = (($860) + 520192)|0; - $862 = $861 >>> 16; - $863 = $862 & 4; - $864 = $863 | $859; - $865 = $860 << $863; - $866 = (($865) + 245760)|0; - $867 = $866 >>> 16; - $868 = $867 & 2; - $869 = $864 | $868; - $870 = (14 - ($869))|0; - $871 = $865 << $868; - $872 = $871 >>> 15; - $873 = (($870) + ($872))|0; - $874 = $873 << 1; - $875 = (($873) + 7)|0; - $876 = $qsize$0$i$i >>> $875; - $877 = $876 & 1; - $878 = $877 | $874; - $I7$0$i$i = $878; - } - } while(0); - $879 = (9460 + ($I7$0$i$i<<2)|0); - $$sum12$i$i = (($$sum$i19$i) + 28)|0; - $880 = (($tbase$255$i) + ($$sum12$i$i)|0); - HEAP32[$880>>2] = $I7$0$i$i; - $$sum13$i$i = (($$sum$i19$i) + 16)|0; - $881 = (($tbase$255$i) + ($$sum13$i$i)|0); - $$sum14$i$i = (($$sum$i19$i) + 20)|0; - $882 = (($tbase$255$i) + ($$sum14$i$i)|0); - HEAP32[$882>>2] = 0; - HEAP32[$881>>2] = 0; - $883 = HEAP32[(9160)>>2]|0; - $884 = 1 << $I7$0$i$i; - $885 = $883 & $884; - $886 = ($885|0)==(0); - if ($886) { - $887 = $883 | $884; - HEAP32[(9160)>>2] = $887; - HEAP32[$879>>2] = $724; - $$sum15$i$i = (($$sum$i19$i) + 24)|0; - $888 = (($tbase$255$i) + ($$sum15$i$i)|0); - HEAP32[$888>>2] = $879; - $$sum16$i$i = (($$sum$i19$i) + 12)|0; - $889 = (($tbase$255$i) + ($$sum16$i$i)|0); - HEAP32[$889>>2] = $724; - $$sum17$i$i = (($$sum$i19$i) + 8)|0; - $890 = (($tbase$255$i) + ($$sum17$i$i)|0); - HEAP32[$890>>2] = $724; - break; - } - $891 = HEAP32[$879>>2]|0; - $892 = ((($891)) + 4|0); - $893 = HEAP32[$892>>2]|0; - $894 = $893 & -8; - $895 = ($894|0)==($qsize$0$i$i|0); - L418: do { - if ($895) { - $T$0$lcssa$i25$i = $891; - } else { - $896 = ($I7$0$i$i|0)==(31); - $897 = $I7$0$i$i >>> 1; - $898 = (25 - ($897))|0; - $899 = $896 ? 0 : $898; - $900 = $qsize$0$i$i << $899; - $K8$051$i$i = $900;$T$050$i$i = $891; - while(1) { - $907 = $K8$051$i$i >>> 31; - $908 = (((($T$050$i$i)) + 16|0) + ($907<<2)|0); - $903 = HEAP32[$908>>2]|0; - $909 = ($903|0)==(0|0); - if ($909) { - $$lcssa = $908;$T$050$i$i$lcssa = $T$050$i$i; - break; - } - $901 = $K8$051$i$i << 1; - $902 = ((($903)) + 4|0); - $904 = HEAP32[$902>>2]|0; - $905 = $904 & -8; - $906 = ($905|0)==($qsize$0$i$i|0); - if ($906) { - $T$0$lcssa$i25$i = $903; - break L418; - } else { - $K8$051$i$i = $901;$T$050$i$i = $903; - } - } - $910 = HEAP32[(9172)>>2]|0; - $911 = ($$lcssa>>>0)<($910>>>0); - if ($911) { - _abort(); - // unreachable; - } else { - HEAP32[$$lcssa>>2] = $724; - $$sum23$i$i = (($$sum$i19$i) + 24)|0; - $912 = (($tbase$255$i) + ($$sum23$i$i)|0); - HEAP32[$912>>2] = $T$050$i$i$lcssa; - $$sum24$i$i = (($$sum$i19$i) + 12)|0; - $913 = (($tbase$255$i) + ($$sum24$i$i)|0); - HEAP32[$913>>2] = $724; - $$sum25$i$i = (($$sum$i19$i) + 8)|0; - $914 = (($tbase$255$i) + ($$sum25$i$i)|0); - HEAP32[$914>>2] = $724; - break L324; - } - } - } while(0); - $915 = ((($T$0$lcssa$i25$i)) + 8|0); - $916 = HEAP32[$915>>2]|0; - $917 = HEAP32[(9172)>>2]|0; - $918 = ($916>>>0)>=($917>>>0); - $not$$i26$i = ($T$0$lcssa$i25$i>>>0)>=($917>>>0); - $919 = $918 & $not$$i26$i; - if ($919) { - $920 = ((($916)) + 12|0); - HEAP32[$920>>2] = $724; - HEAP32[$915>>2] = $724; - $$sum20$i$i = (($$sum$i19$i) + 8)|0; - $921 = (($tbase$255$i) + ($$sum20$i$i)|0); - HEAP32[$921>>2] = $916; - $$sum21$i$i = (($$sum$i19$i) + 12)|0; - $922 = (($tbase$255$i) + ($$sum21$i$i)|0); - HEAP32[$922>>2] = $T$0$lcssa$i25$i; - $$sum22$i$i = (($$sum$i19$i) + 24)|0; - $923 = (($tbase$255$i) + ($$sum22$i$i)|0); - HEAP32[$923>>2] = 0; - break; - } else { - _abort(); - // unreachable; - } } } while(0); - $$sum1819$i$i = $711 | 8; - $924 = (($tbase$255$i) + ($$sum1819$i$i)|0); - $mem$0 = $924; - return ($mem$0|0); - } else { - $sp$0$i$i$i = (9604); + $1047 = ((($709)) + 8|0); + $$0 = $1047; + STACKTOP = sp;return ($$0|0); } } + $$0$i$i$i = (28656); while(1) { - $925 = HEAP32[$sp$0$i$i$i>>2]|0; - $926 = ($925>>>0)>($635>>>0); - if (!($926)) { - $927 = ((($sp$0$i$i$i)) + 4|0); - $928 = HEAP32[$927>>2]|0; - $929 = (($925) + ($928)|0); - $930 = ($929>>>0)>($635>>>0); - if ($930) { - $$lcssa215 = $925;$$lcssa216 = $928;$$lcssa217 = $929; + $916 = HEAP32[$$0$i$i$i>>2]|0; + $917 = ($916>>>0)>($630>>>0); + if (!($917)) { + $918 = ((($$0$i$i$i)) + 4|0); + $919 = HEAP32[$918>>2]|0; + $920 = (($916) + ($919)|0); + $921 = ($920>>>0)>($630>>>0); + if ($921) { break; } } - $931 = ((($sp$0$i$i$i)) + 8|0); - $932 = HEAP32[$931>>2]|0; - $sp$0$i$i$i = $932; + $922 = ((($$0$i$i$i)) + 8|0); + $923 = HEAP32[$922>>2]|0; + $$0$i$i$i = $923; } - $$sum$i14$i = (($$lcssa216) + -47)|0; - $$sum1$i15$i = (($$lcssa216) + -39)|0; - $933 = (($$lcssa215) + ($$sum1$i15$i)|0); - $934 = $933; - $935 = $934 & 7; - $936 = ($935|0)==(0); - $937 = (0 - ($934))|0; - $938 = $937 & 7; - $939 = $936 ? 0 : $938; - $$sum2$i16$i = (($$sum$i14$i) + ($939))|0; - $940 = (($$lcssa215) + ($$sum2$i16$i)|0); - $941 = ((($635)) + 16|0); - $942 = ($940>>>0)<($941>>>0); - $943 = $942 ? $635 : $940; - $944 = ((($943)) + 8|0); - $945 = (($tsize$254$i) + -40)|0; - $946 = ((($tbase$255$i)) + 8|0); - $947 = $946; - $948 = $947 & 7; - $949 = ($948|0)==(0); - $950 = (0 - ($947))|0; - $951 = $950 & 7; - $952 = $949 ? 0 : $951; - $953 = (($tbase$255$i) + ($952)|0); - $954 = (($945) - ($952))|0; - HEAP32[(9180)>>2] = $953; - HEAP32[(9168)>>2] = $954; - $955 = $954 | 1; - $$sum$i$i$i = (($952) + 4)|0; - $956 = (($tbase$255$i) + ($$sum$i$i$i)|0); - HEAP32[$956>>2] = $955; - $$sum2$i$i$i = (($tsize$254$i) + -36)|0; - $957 = (($tbase$255$i) + ($$sum2$i$i$i)|0); - HEAP32[$957>>2] = 40; - $958 = HEAP32[(9644)>>2]|0; - HEAP32[(9184)>>2] = $958; - $959 = ((($943)) + 4|0); - HEAP32[$959>>2] = 27; - ;HEAP32[$944>>2]=HEAP32[(9604)>>2]|0;HEAP32[$944+4>>2]=HEAP32[(9604)+4>>2]|0;HEAP32[$944+8>>2]=HEAP32[(9604)+8>>2]|0;HEAP32[$944+12>>2]=HEAP32[(9604)+12>>2]|0; - HEAP32[(9604)>>2] = $tbase$255$i; - HEAP32[(9608)>>2] = $tsize$254$i; - HEAP32[(9616)>>2] = 0; - HEAP32[(9612)>>2] = $944; - $960 = ((($943)) + 28|0); - HEAP32[$960>>2] = 7; - $961 = ((($943)) + 32|0); - $962 = ($961>>>0)<($$lcssa217>>>0); - if ($962) { - $964 = $960; - while(1) { - $963 = ((($964)) + 4|0); - HEAP32[$963>>2] = 7; - $965 = ((($964)) + 8|0); - $966 = ($965>>>0)<($$lcssa217>>>0); - if ($966) { - $964 = $963; - } else { - break; - } + $924 = ((($920)) + -47|0); + $925 = ((($924)) + 8|0); + $926 = $925; + $927 = $926 & 7; + $928 = ($927|0)==(0); + $929 = (0 - ($926))|0; + $930 = $929 & 7; + $931 = $928 ? 0 : $930; + $932 = (($924) + ($931)|0); + $933 = ((($630)) + 16|0); + $934 = ($932>>>0)<($933>>>0); + $935 = $934 ? $630 : $932; + $936 = ((($935)) + 8|0); + $937 = ((($935)) + 24|0); + $938 = (($$723948$i) + -40)|0; + $939 = ((($$749$i)) + 8|0); + $940 = $939; + $941 = $940 & 7; + $942 = ($941|0)==(0); + $943 = (0 - ($940))|0; + $944 = $943 & 7; + $945 = $942 ? 0 : $944; + $946 = (($$749$i) + ($945)|0); + $947 = (($938) - ($945))|0; + HEAP32[(28232)>>2] = $946; + HEAP32[(28220)>>2] = $947; + $948 = $947 | 1; + $949 = ((($946)) + 4|0); + HEAP32[$949>>2] = $948; + $950 = (($946) + ($947)|0); + $951 = ((($950)) + 4|0); + HEAP32[$951>>2] = 40; + $952 = HEAP32[(28696)>>2]|0; + HEAP32[(28236)>>2] = $952; + $953 = ((($935)) + 4|0); + HEAP32[$953>>2] = 27; + ;HEAP32[$936>>2]=HEAP32[(28656)>>2]|0;HEAP32[$936+4>>2]=HEAP32[(28656)+4>>2]|0;HEAP32[$936+8>>2]=HEAP32[(28656)+8>>2]|0;HEAP32[$936+12>>2]=HEAP32[(28656)+12>>2]|0; + HEAP32[(28656)>>2] = $$749$i; + HEAP32[(28660)>>2] = $$723948$i; + HEAP32[(28668)>>2] = 0; + HEAP32[(28664)>>2] = $936; + $955 = $937; + while(1) { + $954 = ((($955)) + 4|0); + HEAP32[$954>>2] = 7; + $956 = ((($955)) + 8|0); + $957 = ($956>>>0)<($920>>>0); + if ($957) { + $955 = $954; + } else { + break; } } - $967 = ($943|0)==($635|0); - if (!($967)) { - $968 = $943; - $969 = $635; - $970 = (($968) - ($969))|0; - $971 = HEAP32[$959>>2]|0; - $972 = $971 & -2; - HEAP32[$959>>2] = $972; - $973 = $970 | 1; - $974 = ((($635)) + 4|0); - HEAP32[$974>>2] = $973; - HEAP32[$943>>2] = $970; - $975 = $970 >>> 3; - $976 = ($970>>>0)<(256); - if ($976) { - $977 = $975 << 1; - $978 = (9196 + ($977<<2)|0); - $979 = HEAP32[9156>>2]|0; - $980 = 1 << $975; - $981 = $979 & $980; - $982 = ($981|0)==(0); - if ($982) { - $983 = $979 | $980; - HEAP32[9156>>2] = $983; - $$pre$i$i = (($977) + 2)|0; - $$pre14$i$i = (9196 + ($$pre$i$i<<2)|0); - $$pre$phi$i$iZ2D = $$pre14$i$i;$F$0$i$i = $978; + $958 = ($935|0)==($630|0); + if (!($958)) { + $959 = $935; + $960 = $630; + $961 = (($959) - ($960))|0; + $962 = HEAP32[$953>>2]|0; + $963 = $962 & -2; + HEAP32[$953>>2] = $963; + $964 = $961 | 1; + $965 = ((($630)) + 4|0); + HEAP32[$965>>2] = $964; + HEAP32[$935>>2] = $961; + $966 = $961 >>> 3; + $967 = ($961>>>0)<(256); + if ($967) { + $968 = $966 << 1; + $969 = (28248 + ($968<<2)|0); + $970 = HEAP32[7052]|0; + $971 = 1 << $966; + $972 = $970 & $971; + $973 = ($972|0)==(0); + if ($973) { + $974 = $970 | $971; + HEAP32[7052] = $974; + $$pre$i$i = ((($969)) + 8|0); + $$0211$i$i = $969;$$pre$phi$i$iZ2D = $$pre$i$i; } else { - $$sum4$i$i = (($977) + 2)|0; - $984 = (9196 + ($$sum4$i$i<<2)|0); - $985 = HEAP32[$984>>2]|0; - $986 = HEAP32[(9172)>>2]|0; - $987 = ($985>>>0)<($986>>>0); - if ($987) { + $975 = ((($969)) + 8|0); + $976 = HEAP32[$975>>2]|0; + $977 = HEAP32[(28224)>>2]|0; + $978 = ($976>>>0)<($977>>>0); + if ($978) { _abort(); // unreachable; } else { - $$pre$phi$i$iZ2D = $984;$F$0$i$i = $985; + $$0211$i$i = $976;$$pre$phi$i$iZ2D = $975; } } - HEAP32[$$pre$phi$i$iZ2D>>2] = $635; - $988 = ((($F$0$i$i)) + 12|0); - HEAP32[$988>>2] = $635; - $989 = ((($635)) + 8|0); - HEAP32[$989>>2] = $F$0$i$i; - $990 = ((($635)) + 12|0); - HEAP32[$990>>2] = $978; + HEAP32[$$pre$phi$i$iZ2D>>2] = $630; + $979 = ((($$0211$i$i)) + 12|0); + HEAP32[$979>>2] = $630; + $980 = ((($630)) + 8|0); + HEAP32[$980>>2] = $$0211$i$i; + $981 = ((($630)) + 12|0); + HEAP32[$981>>2] = $969; break; } - $991 = $970 >>> 8; - $992 = ($991|0)==(0); - if ($992) { - $I1$0$i$i = 0; + $982 = $961 >>> 8; + $983 = ($982|0)==(0); + if ($983) { + $$0212$i$i = 0; } else { - $993 = ($970>>>0)>(16777215); - if ($993) { - $I1$0$i$i = 31; + $984 = ($961>>>0)>(16777215); + if ($984) { + $$0212$i$i = 31; } else { - $994 = (($991) + 1048320)|0; + $985 = (($982) + 1048320)|0; + $986 = $985 >>> 16; + $987 = $986 & 8; + $988 = $982 << $987; + $989 = (($988) + 520192)|0; + $990 = $989 >>> 16; + $991 = $990 & 4; + $992 = $991 | $987; + $993 = $988 << $991; + $994 = (($993) + 245760)|0; $995 = $994 >>> 16; - $996 = $995 & 8; - $997 = $991 << $996; - $998 = (($997) + 520192)|0; - $999 = $998 >>> 16; - $1000 = $999 & 4; - $1001 = $1000 | $996; - $1002 = $997 << $1000; - $1003 = (($1002) + 245760)|0; - $1004 = $1003 >>> 16; - $1005 = $1004 & 2; - $1006 = $1001 | $1005; - $1007 = (14 - ($1006))|0; - $1008 = $1002 << $1005; - $1009 = $1008 >>> 15; - $1010 = (($1007) + ($1009))|0; - $1011 = $1010 << 1; - $1012 = (($1010) + 7)|0; - $1013 = $970 >>> $1012; - $1014 = $1013 & 1; - $1015 = $1014 | $1011; - $I1$0$i$i = $1015; + $996 = $995 & 2; + $997 = $992 | $996; + $998 = (14 - ($997))|0; + $999 = $993 << $996; + $1000 = $999 >>> 15; + $1001 = (($998) + ($1000))|0; + $1002 = $1001 << 1; + $1003 = (($1001) + 7)|0; + $1004 = $961 >>> $1003; + $1005 = $1004 & 1; + $1006 = $1005 | $1002; + $$0212$i$i = $1006; } } - $1016 = (9460 + ($I1$0$i$i<<2)|0); - $1017 = ((($635)) + 28|0); - HEAP32[$1017>>2] = $I1$0$i$i; - $1018 = ((($635)) + 20|0); - HEAP32[$1018>>2] = 0; - HEAP32[$941>>2] = 0; - $1019 = HEAP32[(9160)>>2]|0; - $1020 = 1 << $I1$0$i$i; - $1021 = $1019 & $1020; - $1022 = ($1021|0)==(0); - if ($1022) { - $1023 = $1019 | $1020; - HEAP32[(9160)>>2] = $1023; - HEAP32[$1016>>2] = $635; - $1024 = ((($635)) + 24|0); - HEAP32[$1024>>2] = $1016; - $1025 = ((($635)) + 12|0); - HEAP32[$1025>>2] = $635; - $1026 = ((($635)) + 8|0); - HEAP32[$1026>>2] = $635; + $1007 = (28512 + ($$0212$i$i<<2)|0); + $1008 = ((($630)) + 28|0); + HEAP32[$1008>>2] = $$0212$i$i; + $1009 = ((($630)) + 20|0); + HEAP32[$1009>>2] = 0; + HEAP32[$933>>2] = 0; + $1010 = HEAP32[(28212)>>2]|0; + $1011 = 1 << $$0212$i$i; + $1012 = $1010 & $1011; + $1013 = ($1012|0)==(0); + if ($1013) { + $1014 = $1010 | $1011; + HEAP32[(28212)>>2] = $1014; + HEAP32[$1007>>2] = $630; + $1015 = ((($630)) + 24|0); + HEAP32[$1015>>2] = $1007; + $1016 = ((($630)) + 12|0); + HEAP32[$1016>>2] = $630; + $1017 = ((($630)) + 8|0); + HEAP32[$1017>>2] = $630; break; } - $1027 = HEAP32[$1016>>2]|0; - $1028 = ((($1027)) + 4|0); - $1029 = HEAP32[$1028>>2]|0; - $1030 = $1029 & -8; - $1031 = ($1030|0)==($970|0); - L459: do { - if ($1031) { - $T$0$lcssa$i$i = $1027; + $1018 = HEAP32[$1007>>2]|0; + $1019 = ($$0212$i$i|0)==(31); + $1020 = $$0212$i$i >>> 1; + $1021 = (25 - ($1020))|0; + $1022 = $1019 ? 0 : $1021; + $1023 = $961 << $1022; + $$0206$i$i = $1023;$$0207$i$i = $1018; + while(1) { + $1024 = ((($$0207$i$i)) + 4|0); + $1025 = HEAP32[$1024>>2]|0; + $1026 = $1025 & -8; + $1027 = ($1026|0)==($961|0); + if ($1027) { + label = 292; + break; + } + $1028 = $$0206$i$i >>> 31; + $1029 = (((($$0207$i$i)) + 16|0) + ($1028<<2)|0); + $1030 = $$0206$i$i << 1; + $1031 = HEAP32[$1029>>2]|0; + $1032 = ($1031|0)==(0|0); + if ($1032) { + label = 289; + break; } else { - $1032 = ($I1$0$i$i|0)==(31); - $1033 = $I1$0$i$i >>> 1; - $1034 = (25 - ($1033))|0; - $1035 = $1032 ? 0 : $1034; - $1036 = $970 << $1035; - $K2$07$i$i = $1036;$T$06$i$i = $1027; - while(1) { - $1043 = $K2$07$i$i >>> 31; - $1044 = (((($T$06$i$i)) + 16|0) + ($1043<<2)|0); - $1039 = HEAP32[$1044>>2]|0; - $1045 = ($1039|0)==(0|0); - if ($1045) { - $$lcssa211 = $1044;$T$06$i$i$lcssa = $T$06$i$i; - break; - } - $1037 = $K2$07$i$i << 1; - $1038 = ((($1039)) + 4|0); - $1040 = HEAP32[$1038>>2]|0; - $1041 = $1040 & -8; - $1042 = ($1041|0)==($970|0); - if ($1042) { - $T$0$lcssa$i$i = $1039; - break L459; - } else { - $K2$07$i$i = $1037;$T$06$i$i = $1039; - } - } - $1046 = HEAP32[(9172)>>2]|0; - $1047 = ($$lcssa211>>>0)<($1046>>>0); - if ($1047) { - _abort(); - // unreachable; - } else { - HEAP32[$$lcssa211>>2] = $635; - $1048 = ((($635)) + 24|0); - HEAP32[$1048>>2] = $T$06$i$i$lcssa; - $1049 = ((($635)) + 12|0); - HEAP32[$1049>>2] = $635; - $1050 = ((($635)) + 8|0); - HEAP32[$1050>>2] = $635; - break L299; - } + $$0206$i$i = $1030;$$0207$i$i = $1031; + } + } + if ((label|0) == 289) { + $1033 = HEAP32[(28224)>>2]|0; + $1034 = ($1029>>>0)<($1033>>>0); + if ($1034) { + _abort(); + // unreachable; + } else { + HEAP32[$1029>>2] = $630; + $1035 = ((($630)) + 24|0); + HEAP32[$1035>>2] = $$0207$i$i; + $1036 = ((($630)) + 12|0); + HEAP32[$1036>>2] = $630; + $1037 = ((($630)) + 8|0); + HEAP32[$1037>>2] = $630; + break; + } + } + else if ((label|0) == 292) { + $1038 = ((($$0207$i$i)) + 8|0); + $1039 = HEAP32[$1038>>2]|0; + $1040 = HEAP32[(28224)>>2]|0; + $1041 = ($1039>>>0)>=($1040>>>0); + $not$$i$i = ($$0207$i$i>>>0)>=($1040>>>0); + $1042 = $1041 & $not$$i$i; + if ($1042) { + $1043 = ((($1039)) + 12|0); + HEAP32[$1043>>2] = $630; + HEAP32[$1038>>2] = $630; + $1044 = ((($630)) + 8|0); + HEAP32[$1044>>2] = $1039; + $1045 = ((($630)) + 12|0); + HEAP32[$1045>>2] = $$0207$i$i; + $1046 = ((($630)) + 24|0); + HEAP32[$1046>>2] = 0; + break; + } else { + _abort(); + // unreachable; } - } while(0); - $1051 = ((($T$0$lcssa$i$i)) + 8|0); - $1052 = HEAP32[$1051>>2]|0; - $1053 = HEAP32[(9172)>>2]|0; - $1054 = ($1052>>>0)>=($1053>>>0); - $not$$i$i = ($T$0$lcssa$i$i>>>0)>=($1053>>>0); - $1055 = $1054 & $not$$i$i; - if ($1055) { - $1056 = ((($1052)) + 12|0); - HEAP32[$1056>>2] = $635; - HEAP32[$1051>>2] = $635; - $1057 = ((($635)) + 8|0); - HEAP32[$1057>>2] = $1052; - $1058 = ((($635)) + 12|0); - HEAP32[$1058>>2] = $T$0$lcssa$i$i; - $1059 = ((($635)) + 24|0); - HEAP32[$1059>>2] = 0; - break; - } else { - _abort(); - // unreachable; } } } } while(0); - $1060 = HEAP32[(9168)>>2]|0; - $1061 = ($1060>>>0)>($nb$0>>>0); - if ($1061) { - $1062 = (($1060) - ($nb$0))|0; - HEAP32[(9168)>>2] = $1062; - $1063 = HEAP32[(9180)>>2]|0; - $1064 = (($1063) + ($nb$0)|0); - HEAP32[(9180)>>2] = $1064; - $1065 = $1062 | 1; - $$sum$i32 = (($nb$0) + 4)|0; - $1066 = (($1063) + ($$sum$i32)|0); - HEAP32[$1066>>2] = $1065; - $1067 = $nb$0 | 3; - $1068 = ((($1063)) + 4|0); - HEAP32[$1068>>2] = $1067; - $1069 = ((($1063)) + 8|0); - $mem$0 = $1069; - return ($mem$0|0); + $1048 = HEAP32[(28220)>>2]|0; + $1049 = ($1048>>>0)>($$0197>>>0); + if ($1049) { + $1050 = (($1048) - ($$0197))|0; + HEAP32[(28220)>>2] = $1050; + $1051 = HEAP32[(28232)>>2]|0; + $1052 = (($1051) + ($$0197)|0); + HEAP32[(28232)>>2] = $1052; + $1053 = $1050 | 1; + $1054 = ((($1052)) + 4|0); + HEAP32[$1054>>2] = $1053; + $1055 = $$0197 | 3; + $1056 = ((($1051)) + 4|0); + HEAP32[$1056>>2] = $1055; + $1057 = ((($1051)) + 8|0); + $$0 = $1057; + STACKTOP = sp;return ($$0|0); } } - $1070 = (___errno_location()|0); - HEAP32[$1070>>2] = 12; - $mem$0 = 0; - return ($mem$0|0); + $1058 = (___errno_location()|0); + HEAP32[$1058>>2] = 12; + $$0 = 0; + STACKTOP = sp;return ($$0|0); } -function _free($mem) { - $mem = $mem|0; - var $$lcssa = 0, $$pre = 0, $$pre$phi59Z2D = 0, $$pre$phi61Z2D = 0, $$pre$phiZ2D = 0, $$pre57 = 0, $$pre58 = 0, $$pre60 = 0, $$sum = 0, $$sum11 = 0, $$sum12 = 0, $$sum13 = 0, $$sum14 = 0, $$sum1718 = 0, $$sum19 = 0, $$sum2 = 0, $$sum20 = 0, $$sum22 = 0, $$sum23 = 0, $$sum24 = 0; - var $$sum25 = 0, $$sum26 = 0, $$sum27 = 0, $$sum28 = 0, $$sum29 = 0, $$sum3 = 0, $$sum30 = 0, $$sum31 = 0, $$sum5 = 0, $$sum67 = 0, $$sum8 = 0, $$sum9 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0; - var $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0; - var $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0; - var $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0; - var $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0; - var $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0; - var $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0; - var $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0; - var $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0; - var $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0; - var $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0; - var $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0; - var $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0; - var $321 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0; - var $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0; - var $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0; - var $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $F16$0 = 0, $I18$0 = 0, $K19$052 = 0, $R$0 = 0, $R$0$lcssa = 0, $R$1 = 0; - var $R7$0 = 0, $R7$0$lcssa = 0, $R7$1 = 0, $RP$0 = 0, $RP$0$lcssa = 0, $RP9$0 = 0, $RP9$0$lcssa = 0, $T$0$lcssa = 0, $T$051 = 0, $T$051$lcssa = 0, $cond = 0, $cond47 = 0, $not$ = 0, $p$0 = 0, $psize$0 = 0, $psize$1 = 0, $sp$0$i = 0, $sp$0$in$i = 0, label = 0, sp = 0; +function _free($0) { + $0 = $0|0; + var $$0212$i = 0, $$0212$in$i = 0, $$0383 = 0, $$0384 = 0, $$0396 = 0, $$0403 = 0, $$1 = 0, $$1382 = 0, $$1387 = 0, $$1390 = 0, $$1398 = 0, $$1402 = 0, $$2 = 0, $$3 = 0, $$3400 = 0, $$pre = 0, $$pre$phi443Z2D = 0, $$pre$phi445Z2D = 0, $$pre$phiZ2D = 0, $$pre442 = 0; + var $$pre444 = 0, $$sink3 = 0, $$sink5 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0; + var $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0; + var $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0; + var $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0; + var $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0; + var $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0; + var $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0; + var $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0; + var $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0; + var $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0; + var $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0; + var $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0; + var $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; + var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0; + var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0; + var $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0; + var $99 = 0, $cond421 = 0, $cond422 = 0, $not$ = 0, $not$405 = 0, $not$437 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = ($mem|0)==(0|0); - if ($0) { + $1 = ($0|0)==(0|0); + if ($1) { return; } - $1 = ((($mem)) + -8|0); - $2 = HEAP32[(9172)>>2]|0; - $3 = ($1>>>0)<($2>>>0); - if ($3) { + $2 = ((($0)) + -8|0); + $3 = HEAP32[(28224)>>2]|0; + $4 = ($2>>>0)<($3>>>0); + if ($4) { _abort(); // unreachable; } - $4 = ((($mem)) + -4|0); - $5 = HEAP32[$4>>2]|0; - $6 = $5 & 3; - $7 = ($6|0)==(1); - if ($7) { + $5 = ((($0)) + -4|0); + $6 = HEAP32[$5>>2]|0; + $7 = $6 & 3; + $8 = ($7|0)==(1); + if ($8) { _abort(); // unreachable; } - $8 = $5 & -8; - $$sum = (($8) + -8)|0; - $9 = (($mem) + ($$sum)|0); - $10 = $5 & 1; - $11 = ($10|0)==(0); - do { - if ($11) { - $12 = HEAP32[$1>>2]|0; - $13 = ($6|0)==(0); - if ($13) { + $9 = $6 & -8; + $10 = (($2) + ($9)|0); + $11 = $6 & 1; + $12 = ($11|0)==(0); + L10: do { + if ($12) { + $13 = HEAP32[$2>>2]|0; + $14 = ($7|0)==(0); + if ($14) { return; } - $$sum2 = (-8 - ($12))|0; - $14 = (($mem) + ($$sum2)|0); - $15 = (($12) + ($8))|0; - $16 = ($14>>>0)<($2>>>0); - if ($16) { + $15 = (0 - ($13))|0; + $16 = (($2) + ($15)|0); + $17 = (($13) + ($9))|0; + $18 = ($16>>>0)<($3>>>0); + if ($18) { _abort(); // unreachable; } - $17 = HEAP32[(9176)>>2]|0; - $18 = ($14|0)==($17|0); - if ($18) { - $$sum3 = (($8) + -4)|0; - $103 = (($mem) + ($$sum3)|0); - $104 = HEAP32[$103>>2]|0; - $105 = $104 & 3; - $106 = ($105|0)==(3); - if (!($106)) { - $p$0 = $14;$psize$0 = $15; + $19 = HEAP32[(28228)>>2]|0; + $20 = ($16|0)==($19|0); + if ($20) { + $104 = ((($10)) + 4|0); + $105 = HEAP32[$104>>2]|0; + $106 = $105 & 3; + $107 = ($106|0)==(3); + if (!($107)) { + $$1 = $16;$$1382 = $17;$113 = $16; break; } - HEAP32[(9164)>>2] = $15; - $107 = $104 & -2; - HEAP32[$103>>2] = $107; - $108 = $15 | 1; - $$sum20 = (($$sum2) + 4)|0; - $109 = (($mem) + ($$sum20)|0); - HEAP32[$109>>2] = $108; - HEAP32[$9>>2] = $15; + $108 = (($16) + ($17)|0); + $109 = ((($16)) + 4|0); + $110 = $17 | 1; + $111 = $105 & -2; + HEAP32[(28216)>>2] = $17; + HEAP32[$104>>2] = $111; + HEAP32[$109>>2] = $110; + HEAP32[$108>>2] = $17; return; } - $19 = $12 >>> 3; - $20 = ($12>>>0)<(256); - if ($20) { - $$sum30 = (($$sum2) + 8)|0; - $21 = (($mem) + ($$sum30)|0); - $22 = HEAP32[$21>>2]|0; - $$sum31 = (($$sum2) + 12)|0; - $23 = (($mem) + ($$sum31)|0); + $21 = $13 >>> 3; + $22 = ($13>>>0)<(256); + if ($22) { + $23 = ((($16)) + 8|0); $24 = HEAP32[$23>>2]|0; - $25 = $19 << 1; - $26 = (9196 + ($25<<2)|0); - $27 = ($22|0)==($26|0); - if (!($27)) { - $28 = ($22>>>0)<($2>>>0); - if ($28) { + $25 = ((($16)) + 12|0); + $26 = HEAP32[$25>>2]|0; + $27 = $21 << 1; + $28 = (28248 + ($27<<2)|0); + $29 = ($24|0)==($28|0); + if (!($29)) { + $30 = ($24>>>0)<($3>>>0); + if ($30) { _abort(); // unreachable; } - $29 = ((($22)) + 12|0); - $30 = HEAP32[$29>>2]|0; - $31 = ($30|0)==($14|0); - if (!($31)) { + $31 = ((($24)) + 12|0); + $32 = HEAP32[$31>>2]|0; + $33 = ($32|0)==($16|0); + if (!($33)) { _abort(); // unreachable; } } - $32 = ($24|0)==($22|0); - if ($32) { - $33 = 1 << $19; - $34 = $33 ^ -1; - $35 = HEAP32[9156>>2]|0; - $36 = $35 & $34; - HEAP32[9156>>2] = $36; - $p$0 = $14;$psize$0 = $15; + $34 = ($26|0)==($24|0); + if ($34) { + $35 = 1 << $21; + $36 = $35 ^ -1; + $37 = HEAP32[7052]|0; + $38 = $37 & $36; + HEAP32[7052] = $38; + $$1 = $16;$$1382 = $17;$113 = $16; break; } - $37 = ($24|0)==($26|0); - if ($37) { - $$pre60 = ((($24)) + 8|0); - $$pre$phi61Z2D = $$pre60; + $39 = ($26|0)==($28|0); + if ($39) { + $$pre444 = ((($26)) + 8|0); + $$pre$phi445Z2D = $$pre444; } else { - $38 = ($24>>>0)<($2>>>0); - if ($38) { + $40 = ($26>>>0)<($3>>>0); + if ($40) { _abort(); // unreachable; } - $39 = ((($24)) + 8|0); - $40 = HEAP32[$39>>2]|0; - $41 = ($40|0)==($14|0); - if ($41) { - $$pre$phi61Z2D = $39; + $41 = ((($26)) + 8|0); + $42 = HEAP32[$41>>2]|0; + $43 = ($42|0)==($16|0); + if ($43) { + $$pre$phi445Z2D = $41; } else { _abort(); // unreachable; } } - $42 = ((($22)) + 12|0); - HEAP32[$42>>2] = $24; - HEAP32[$$pre$phi61Z2D>>2] = $22; - $p$0 = $14;$psize$0 = $15; + $44 = ((($24)) + 12|0); + HEAP32[$44>>2] = $26; + HEAP32[$$pre$phi445Z2D>>2] = $24; + $$1 = $16;$$1382 = $17;$113 = $16; break; } - $$sum22 = (($$sum2) + 24)|0; - $43 = (($mem) + ($$sum22)|0); - $44 = HEAP32[$43>>2]|0; - $$sum23 = (($$sum2) + 12)|0; - $45 = (($mem) + ($$sum23)|0); + $45 = ((($16)) + 24|0); $46 = HEAP32[$45>>2]|0; - $47 = ($46|0)==($14|0); + $47 = ((($16)) + 12|0); + $48 = HEAP32[$47>>2]|0; + $49 = ($48|0)==($16|0); do { - if ($47) { - $$sum25 = (($$sum2) + 20)|0; - $57 = (($mem) + ($$sum25)|0); - $58 = HEAP32[$57>>2]|0; - $59 = ($58|0)==(0|0); - if ($59) { - $$sum24 = (($$sum2) + 16)|0; - $60 = (($mem) + ($$sum24)|0); - $61 = HEAP32[$60>>2]|0; - $62 = ($61|0)==(0|0); - if ($62) { - $R$1 = 0; + if ($49) { + $59 = ((($16)) + 16|0); + $60 = ((($59)) + 4|0); + $61 = HEAP32[$60>>2]|0; + $62 = ($61|0)==(0|0); + if ($62) { + $63 = HEAP32[$59>>2]|0; + $64 = ($63|0)==(0|0); + if ($64) { + $$3 = 0; break; } else { - $R$0 = $61;$RP$0 = $60; + $$1387 = $63;$$1390 = $59; } } else { - $R$0 = $58;$RP$0 = $57; + $$1387 = $61;$$1390 = $60; } while(1) { - $63 = ((($R$0)) + 20|0); - $64 = HEAP32[$63>>2]|0; - $65 = ($64|0)==(0|0); - if (!($65)) { - $R$0 = $64;$RP$0 = $63; + $65 = ((($$1387)) + 20|0); + $66 = HEAP32[$65>>2]|0; + $67 = ($66|0)==(0|0); + if (!($67)) { + $$1387 = $66;$$1390 = $65; continue; } - $66 = ((($R$0)) + 16|0); - $67 = HEAP32[$66>>2]|0; - $68 = ($67|0)==(0|0); - if ($68) { - $R$0$lcssa = $R$0;$RP$0$lcssa = $RP$0; + $68 = ((($$1387)) + 16|0); + $69 = HEAP32[$68>>2]|0; + $70 = ($69|0)==(0|0); + if ($70) { break; } else { - $R$0 = $67;$RP$0 = $66; + $$1387 = $69;$$1390 = $68; } } - $69 = ($RP$0$lcssa>>>0)<($2>>>0); - if ($69) { + $71 = ($$1390>>>0)<($3>>>0); + if ($71) { _abort(); // unreachable; } else { - HEAP32[$RP$0$lcssa>>2] = 0; - $R$1 = $R$0$lcssa; + HEAP32[$$1390>>2] = 0; + $$3 = $$1387; break; } } else { - $$sum29 = (($$sum2) + 8)|0; - $48 = (($mem) + ($$sum29)|0); - $49 = HEAP32[$48>>2]|0; - $50 = ($49>>>0)<($2>>>0); - if ($50) { + $50 = ((($16)) + 8|0); + $51 = HEAP32[$50>>2]|0; + $52 = ($51>>>0)<($3>>>0); + if ($52) { _abort(); // unreachable; } - $51 = ((($49)) + 12|0); - $52 = HEAP32[$51>>2]|0; - $53 = ($52|0)==($14|0); - if (!($53)) { + $53 = ((($51)) + 12|0); + $54 = HEAP32[$53>>2]|0; + $55 = ($54|0)==($16|0); + if (!($55)) { _abort(); // unreachable; } - $54 = ((($46)) + 8|0); - $55 = HEAP32[$54>>2]|0; - $56 = ($55|0)==($14|0); - if ($56) { - HEAP32[$51>>2] = $46; - HEAP32[$54>>2] = $49; - $R$1 = $46; + $56 = ((($48)) + 8|0); + $57 = HEAP32[$56>>2]|0; + $58 = ($57|0)==($16|0); + if ($58) { + HEAP32[$53>>2] = $48; + HEAP32[$56>>2] = $51; + $$3 = $48; break; } else { _abort(); @@ -62308,294 +65830,285 @@ function _free($mem) { } } } while(0); - $70 = ($44|0)==(0|0); - if ($70) { - $p$0 = $14;$psize$0 = $15; + $72 = ($46|0)==(0|0); + if ($72) { + $$1 = $16;$$1382 = $17;$113 = $16; } else { - $$sum26 = (($$sum2) + 28)|0; - $71 = (($mem) + ($$sum26)|0); - $72 = HEAP32[$71>>2]|0; - $73 = (9460 + ($72<<2)|0); + $73 = ((($16)) + 28|0); $74 = HEAP32[$73>>2]|0; - $75 = ($14|0)==($74|0); - if ($75) { - HEAP32[$73>>2] = $R$1; - $cond = ($R$1|0)==(0|0); - if ($cond) { - $76 = 1 << $72; - $77 = $76 ^ -1; - $78 = HEAP32[(9160)>>2]|0; - $79 = $78 & $77; - HEAP32[(9160)>>2] = $79; - $p$0 = $14;$psize$0 = $15; - break; - } - } else { - $80 = HEAP32[(9172)>>2]|0; - $81 = ($44>>>0)<($80>>>0); - if ($81) { - _abort(); - // unreachable; - } - $82 = ((($44)) + 16|0); - $83 = HEAP32[$82>>2]|0; - $84 = ($83|0)==($14|0); - if ($84) { - HEAP32[$82>>2] = $R$1; + $75 = (28512 + ($74<<2)|0); + $76 = HEAP32[$75>>2]|0; + $77 = ($16|0)==($76|0); + do { + if ($77) { + HEAP32[$75>>2] = $$3; + $cond421 = ($$3|0)==(0|0); + if ($cond421) { + $78 = 1 << $74; + $79 = $78 ^ -1; + $80 = HEAP32[(28212)>>2]|0; + $81 = $80 & $79; + HEAP32[(28212)>>2] = $81; + $$1 = $16;$$1382 = $17;$113 = $16; + break L10; + } } else { - $85 = ((($44)) + 20|0); - HEAP32[$85>>2] = $R$1; + $82 = HEAP32[(28224)>>2]|0; + $83 = ($46>>>0)<($82>>>0); + if ($83) { + _abort(); + // unreachable; + } else { + $84 = ((($46)) + 16|0); + $85 = HEAP32[$84>>2]|0; + $not$405 = ($85|0)!=($16|0); + $$sink3 = $not$405&1; + $86 = (((($46)) + 16|0) + ($$sink3<<2)|0); + HEAP32[$86>>2] = $$3; + $87 = ($$3|0)==(0|0); + if ($87) { + $$1 = $16;$$1382 = $17;$113 = $16; + break L10; + } else { + break; + } + } } - $86 = ($R$1|0)==(0|0); - if ($86) { - $p$0 = $14;$psize$0 = $15; - break; - } - } - $87 = HEAP32[(9172)>>2]|0; - $88 = ($R$1>>>0)<($87>>>0); - if ($88) { + } while(0); + $88 = HEAP32[(28224)>>2]|0; + $89 = ($$3>>>0)<($88>>>0); + if ($89) { _abort(); // unreachable; } - $89 = ((($R$1)) + 24|0); - HEAP32[$89>>2] = $44; - $$sum27 = (($$sum2) + 16)|0; - $90 = (($mem) + ($$sum27)|0); - $91 = HEAP32[$90>>2]|0; - $92 = ($91|0)==(0|0); + $90 = ((($$3)) + 24|0); + HEAP32[$90>>2] = $46; + $91 = ((($16)) + 16|0); + $92 = HEAP32[$91>>2]|0; + $93 = ($92|0)==(0|0); do { - if (!($92)) { - $93 = ($91>>>0)<($87>>>0); - if ($93) { + if (!($93)) { + $94 = ($92>>>0)<($88>>>0); + if ($94) { _abort(); // unreachable; } else { - $94 = ((($R$1)) + 16|0); - HEAP32[$94>>2] = $91; - $95 = ((($91)) + 24|0); - HEAP32[$95>>2] = $R$1; + $95 = ((($$3)) + 16|0); + HEAP32[$95>>2] = $92; + $96 = ((($92)) + 24|0); + HEAP32[$96>>2] = $$3; break; } } } while(0); - $$sum28 = (($$sum2) + 20)|0; - $96 = (($mem) + ($$sum28)|0); - $97 = HEAP32[$96>>2]|0; - $98 = ($97|0)==(0|0); - if ($98) { - $p$0 = $14;$psize$0 = $15; + $97 = ((($91)) + 4|0); + $98 = HEAP32[$97>>2]|0; + $99 = ($98|0)==(0|0); + if ($99) { + $$1 = $16;$$1382 = $17;$113 = $16; } else { - $99 = HEAP32[(9172)>>2]|0; - $100 = ($97>>>0)<($99>>>0); - if ($100) { + $100 = HEAP32[(28224)>>2]|0; + $101 = ($98>>>0)<($100>>>0); + if ($101) { _abort(); // unreachable; } else { - $101 = ((($R$1)) + 20|0); - HEAP32[$101>>2] = $97; - $102 = ((($97)) + 24|0); - HEAP32[$102>>2] = $R$1; - $p$0 = $14;$psize$0 = $15; + $102 = ((($$3)) + 20|0); + HEAP32[$102>>2] = $98; + $103 = ((($98)) + 24|0); + HEAP32[$103>>2] = $$3; + $$1 = $16;$$1382 = $17;$113 = $16; break; } } } } else { - $p$0 = $1;$psize$0 = $8; + $$1 = $2;$$1382 = $9;$113 = $2; } } while(0); - $110 = ($p$0>>>0)<($9>>>0); - if (!($110)) { + $112 = ($113>>>0)<($10>>>0); + if (!($112)) { _abort(); // unreachable; } - $$sum19 = (($8) + -4)|0; - $111 = (($mem) + ($$sum19)|0); - $112 = HEAP32[$111>>2]|0; - $113 = $112 & 1; - $114 = ($113|0)==(0); - if ($114) { + $114 = ((($10)) + 4|0); + $115 = HEAP32[$114>>2]|0; + $116 = $115 & 1; + $117 = ($116|0)==(0); + if ($117) { _abort(); // unreachable; } - $115 = $112 & 2; - $116 = ($115|0)==(0); - if ($116) { - $117 = HEAP32[(9180)>>2]|0; - $118 = ($9|0)==($117|0); - if ($118) { - $119 = HEAP32[(9168)>>2]|0; - $120 = (($119) + ($psize$0))|0; - HEAP32[(9168)>>2] = $120; - HEAP32[(9180)>>2] = $p$0; - $121 = $120 | 1; - $122 = ((($p$0)) + 4|0); - HEAP32[$122>>2] = $121; - $123 = HEAP32[(9176)>>2]|0; - $124 = ($p$0|0)==($123|0); - if (!($124)) { + $118 = $115 & 2; + $119 = ($118|0)==(0); + if ($119) { + $120 = HEAP32[(28232)>>2]|0; + $121 = ($10|0)==($120|0); + $122 = HEAP32[(28228)>>2]|0; + if ($121) { + $123 = HEAP32[(28220)>>2]|0; + $124 = (($123) + ($$1382))|0; + HEAP32[(28220)>>2] = $124; + HEAP32[(28232)>>2] = $$1; + $125 = $124 | 1; + $126 = ((($$1)) + 4|0); + HEAP32[$126>>2] = $125; + $127 = ($$1|0)==($122|0); + if (!($127)) { return; } - HEAP32[(9176)>>2] = 0; - HEAP32[(9164)>>2] = 0; + HEAP32[(28228)>>2] = 0; + HEAP32[(28216)>>2] = 0; return; } - $125 = HEAP32[(9176)>>2]|0; - $126 = ($9|0)==($125|0); - if ($126) { - $127 = HEAP32[(9164)>>2]|0; - $128 = (($127) + ($psize$0))|0; - HEAP32[(9164)>>2] = $128; - HEAP32[(9176)>>2] = $p$0; - $129 = $128 | 1; - $130 = ((($p$0)) + 4|0); - HEAP32[$130>>2] = $129; - $131 = (($p$0) + ($128)|0); - HEAP32[$131>>2] = $128; + $128 = ($10|0)==($122|0); + if ($128) { + $129 = HEAP32[(28216)>>2]|0; + $130 = (($129) + ($$1382))|0; + HEAP32[(28216)>>2] = $130; + HEAP32[(28228)>>2] = $113; + $131 = $130 | 1; + $132 = ((($$1)) + 4|0); + HEAP32[$132>>2] = $131; + $133 = (($113) + ($130)|0); + HEAP32[$133>>2] = $130; return; } - $132 = $112 & -8; - $133 = (($132) + ($psize$0))|0; - $134 = $112 >>> 3; - $135 = ($112>>>0)<(256); - do { - if ($135) { - $136 = (($mem) + ($8)|0); - $137 = HEAP32[$136>>2]|0; - $$sum1718 = $8 | 4; - $138 = (($mem) + ($$sum1718)|0); + $134 = $115 & -8; + $135 = (($134) + ($$1382))|0; + $136 = $115 >>> 3; + $137 = ($115>>>0)<(256); + L108: do { + if ($137) { + $138 = ((($10)) + 8|0); $139 = HEAP32[$138>>2]|0; - $140 = $134 << 1; - $141 = (9196 + ($140<<2)|0); - $142 = ($137|0)==($141|0); - if (!($142)) { - $143 = HEAP32[(9172)>>2]|0; - $144 = ($137>>>0)<($143>>>0); - if ($144) { + $140 = ((($10)) + 12|0); + $141 = HEAP32[$140>>2]|0; + $142 = $136 << 1; + $143 = (28248 + ($142<<2)|0); + $144 = ($139|0)==($143|0); + if (!($144)) { + $145 = HEAP32[(28224)>>2]|0; + $146 = ($139>>>0)<($145>>>0); + if ($146) { _abort(); // unreachable; } - $145 = ((($137)) + 12|0); - $146 = HEAP32[$145>>2]|0; - $147 = ($146|0)==($9|0); - if (!($147)) { + $147 = ((($139)) + 12|0); + $148 = HEAP32[$147>>2]|0; + $149 = ($148|0)==($10|0); + if (!($149)) { _abort(); // unreachable; } } - $148 = ($139|0)==($137|0); - if ($148) { - $149 = 1 << $134; - $150 = $149 ^ -1; - $151 = HEAP32[9156>>2]|0; - $152 = $151 & $150; - HEAP32[9156>>2] = $152; + $150 = ($141|0)==($139|0); + if ($150) { + $151 = 1 << $136; + $152 = $151 ^ -1; + $153 = HEAP32[7052]|0; + $154 = $153 & $152; + HEAP32[7052] = $154; break; } - $153 = ($139|0)==($141|0); - if ($153) { - $$pre58 = ((($139)) + 8|0); - $$pre$phi59Z2D = $$pre58; + $155 = ($141|0)==($143|0); + if ($155) { + $$pre442 = ((($141)) + 8|0); + $$pre$phi443Z2D = $$pre442; } else { - $154 = HEAP32[(9172)>>2]|0; - $155 = ($139>>>0)<($154>>>0); - if ($155) { + $156 = HEAP32[(28224)>>2]|0; + $157 = ($141>>>0)<($156>>>0); + if ($157) { _abort(); // unreachable; } - $156 = ((($139)) + 8|0); - $157 = HEAP32[$156>>2]|0; - $158 = ($157|0)==($9|0); - if ($158) { - $$pre$phi59Z2D = $156; + $158 = ((($141)) + 8|0); + $159 = HEAP32[$158>>2]|0; + $160 = ($159|0)==($10|0); + if ($160) { + $$pre$phi443Z2D = $158; } else { _abort(); // unreachable; } } - $159 = ((($137)) + 12|0); - HEAP32[$159>>2] = $139; - HEAP32[$$pre$phi59Z2D>>2] = $137; + $161 = ((($139)) + 12|0); + HEAP32[$161>>2] = $141; + HEAP32[$$pre$phi443Z2D>>2] = $139; } else { - $$sum5 = (($8) + 16)|0; - $160 = (($mem) + ($$sum5)|0); - $161 = HEAP32[$160>>2]|0; - $$sum67 = $8 | 4; - $162 = (($mem) + ($$sum67)|0); + $162 = ((($10)) + 24|0); $163 = HEAP32[$162>>2]|0; - $164 = ($163|0)==($9|0); + $164 = ((($10)) + 12|0); + $165 = HEAP32[$164>>2]|0; + $166 = ($165|0)==($10|0); do { - if ($164) { - $$sum9 = (($8) + 12)|0; - $175 = (($mem) + ($$sum9)|0); - $176 = HEAP32[$175>>2]|0; - $177 = ($176|0)==(0|0); - if ($177) { - $$sum8 = (($8) + 8)|0; - $178 = (($mem) + ($$sum8)|0); - $179 = HEAP32[$178>>2]|0; - $180 = ($179|0)==(0|0); - if ($180) { - $R7$1 = 0; + if ($166) { + $177 = ((($10)) + 16|0); + $178 = ((($177)) + 4|0); + $179 = HEAP32[$178>>2]|0; + $180 = ($179|0)==(0|0); + if ($180) { + $181 = HEAP32[$177>>2]|0; + $182 = ($181|0)==(0|0); + if ($182) { + $$3400 = 0; break; } else { - $R7$0 = $179;$RP9$0 = $178; + $$1398 = $181;$$1402 = $177; } } else { - $R7$0 = $176;$RP9$0 = $175; + $$1398 = $179;$$1402 = $178; } while(1) { - $181 = ((($R7$0)) + 20|0); - $182 = HEAP32[$181>>2]|0; - $183 = ($182|0)==(0|0); - if (!($183)) { - $R7$0 = $182;$RP9$0 = $181; + $183 = ((($$1398)) + 20|0); + $184 = HEAP32[$183>>2]|0; + $185 = ($184|0)==(0|0); + if (!($185)) { + $$1398 = $184;$$1402 = $183; continue; } - $184 = ((($R7$0)) + 16|0); - $185 = HEAP32[$184>>2]|0; - $186 = ($185|0)==(0|0); - if ($186) { - $R7$0$lcssa = $R7$0;$RP9$0$lcssa = $RP9$0; + $186 = ((($$1398)) + 16|0); + $187 = HEAP32[$186>>2]|0; + $188 = ($187|0)==(0|0); + if ($188) { break; } else { - $R7$0 = $185;$RP9$0 = $184; + $$1398 = $187;$$1402 = $186; } } - $187 = HEAP32[(9172)>>2]|0; - $188 = ($RP9$0$lcssa>>>0)<($187>>>0); - if ($188) { + $189 = HEAP32[(28224)>>2]|0; + $190 = ($$1402>>>0)<($189>>>0); + if ($190) { _abort(); // unreachable; } else { - HEAP32[$RP9$0$lcssa>>2] = 0; - $R7$1 = $R7$0$lcssa; + HEAP32[$$1402>>2] = 0; + $$3400 = $$1398; break; } } else { - $165 = (($mem) + ($8)|0); - $166 = HEAP32[$165>>2]|0; - $167 = HEAP32[(9172)>>2]|0; - $168 = ($166>>>0)<($167>>>0); - if ($168) { + $167 = ((($10)) + 8|0); + $168 = HEAP32[$167>>2]|0; + $169 = HEAP32[(28224)>>2]|0; + $170 = ($168>>>0)<($169>>>0); + if ($170) { _abort(); // unreachable; } - $169 = ((($166)) + 12|0); - $170 = HEAP32[$169>>2]|0; - $171 = ($170|0)==($9|0); - if (!($171)) { + $171 = ((($168)) + 12|0); + $172 = HEAP32[$171>>2]|0; + $173 = ($172|0)==($10|0); + if (!($173)) { _abort(); // unreachable; } - $172 = ((($163)) + 8|0); - $173 = HEAP32[$172>>2]|0; - $174 = ($173|0)==($9|0); - if ($174) { - HEAP32[$169>>2] = $163; - HEAP32[$172>>2] = $166; - $R7$1 = $163; + $174 = ((($165)) + 8|0); + $175 = HEAP32[$174>>2]|0; + $176 = ($175|0)==($10|0); + if ($176) { + HEAP32[$171>>2] = $165; + HEAP32[$174>>2] = $168; + $$3400 = $165; break; } else { _abort(); @@ -62603,1291 +66116,1280 @@ function _free($mem) { } } } while(0); - $189 = ($161|0)==(0|0); - if (!($189)) { - $$sum12 = (($8) + 20)|0; - $190 = (($mem) + ($$sum12)|0); - $191 = HEAP32[$190>>2]|0; - $192 = (9460 + ($191<<2)|0); + $191 = ($163|0)==(0|0); + if (!($191)) { + $192 = ((($10)) + 28|0); $193 = HEAP32[$192>>2]|0; - $194 = ($9|0)==($193|0); - if ($194) { - HEAP32[$192>>2] = $R7$1; - $cond47 = ($R7$1|0)==(0|0); - if ($cond47) { - $195 = 1 << $191; - $196 = $195 ^ -1; - $197 = HEAP32[(9160)>>2]|0; - $198 = $197 & $196; - HEAP32[(9160)>>2] = $198; - break; - } - } else { - $199 = HEAP32[(9172)>>2]|0; - $200 = ($161>>>0)<($199>>>0); - if ($200) { - _abort(); - // unreachable; - } - $201 = ((($161)) + 16|0); - $202 = HEAP32[$201>>2]|0; - $203 = ($202|0)==($9|0); - if ($203) { - HEAP32[$201>>2] = $R7$1; - } else { - $204 = ((($161)) + 20|0); - HEAP32[$204>>2] = $R7$1; - } - $205 = ($R7$1|0)==(0|0); - if ($205) { - break; - } - } - $206 = HEAP32[(9172)>>2]|0; - $207 = ($R7$1>>>0)<($206>>>0); - if ($207) { - _abort(); - // unreachable; - } - $208 = ((($R7$1)) + 24|0); - HEAP32[$208>>2] = $161; - $$sum13 = (($8) + 8)|0; - $209 = (($mem) + ($$sum13)|0); - $210 = HEAP32[$209>>2]|0; - $211 = ($210|0)==(0|0); + $194 = (28512 + ($193<<2)|0); + $195 = HEAP32[$194>>2]|0; + $196 = ($10|0)==($195|0); do { - if (!($211)) { - $212 = ($210>>>0)<($206>>>0); - if ($212) { + if ($196) { + HEAP32[$194>>2] = $$3400; + $cond422 = ($$3400|0)==(0|0); + if ($cond422) { + $197 = 1 << $193; + $198 = $197 ^ -1; + $199 = HEAP32[(28212)>>2]|0; + $200 = $199 & $198; + HEAP32[(28212)>>2] = $200; + break L108; + } + } else { + $201 = HEAP32[(28224)>>2]|0; + $202 = ($163>>>0)<($201>>>0); + if ($202) { _abort(); // unreachable; } else { - $213 = ((($R7$1)) + 16|0); - HEAP32[$213>>2] = $210; - $214 = ((($210)) + 24|0); - HEAP32[$214>>2] = $R7$1; + $203 = ((($163)) + 16|0); + $204 = HEAP32[$203>>2]|0; + $not$ = ($204|0)!=($10|0); + $$sink5 = $not$&1; + $205 = (((($163)) + 16|0) + ($$sink5<<2)|0); + HEAP32[$205>>2] = $$3400; + $206 = ($$3400|0)==(0|0); + if ($206) { + break L108; + } else { + break; + } + } + } + } while(0); + $207 = HEAP32[(28224)>>2]|0; + $208 = ($$3400>>>0)<($207>>>0); + if ($208) { + _abort(); + // unreachable; + } + $209 = ((($$3400)) + 24|0); + HEAP32[$209>>2] = $163; + $210 = ((($10)) + 16|0); + $211 = HEAP32[$210>>2]|0; + $212 = ($211|0)==(0|0); + do { + if (!($212)) { + $213 = ($211>>>0)<($207>>>0); + if ($213) { + _abort(); + // unreachable; + } else { + $214 = ((($$3400)) + 16|0); + HEAP32[$214>>2] = $211; + $215 = ((($211)) + 24|0); + HEAP32[$215>>2] = $$3400; break; } } } while(0); - $$sum14 = (($8) + 12)|0; - $215 = (($mem) + ($$sum14)|0); - $216 = HEAP32[$215>>2]|0; - $217 = ($216|0)==(0|0); - if (!($217)) { - $218 = HEAP32[(9172)>>2]|0; - $219 = ($216>>>0)<($218>>>0); - if ($219) { + $216 = ((($210)) + 4|0); + $217 = HEAP32[$216>>2]|0; + $218 = ($217|0)==(0|0); + if (!($218)) { + $219 = HEAP32[(28224)>>2]|0; + $220 = ($217>>>0)<($219>>>0); + if ($220) { _abort(); // unreachable; } else { - $220 = ((($R7$1)) + 20|0); - HEAP32[$220>>2] = $216; - $221 = ((($216)) + 24|0); - HEAP32[$221>>2] = $R7$1; + $221 = ((($$3400)) + 20|0); + HEAP32[$221>>2] = $217; + $222 = ((($217)) + 24|0); + HEAP32[$222>>2] = $$3400; break; } } } } } while(0); - $222 = $133 | 1; - $223 = ((($p$0)) + 4|0); - HEAP32[$223>>2] = $222; - $224 = (($p$0) + ($133)|0); - HEAP32[$224>>2] = $133; - $225 = HEAP32[(9176)>>2]|0; - $226 = ($p$0|0)==($225|0); - if ($226) { - HEAP32[(9164)>>2] = $133; + $223 = $135 | 1; + $224 = ((($$1)) + 4|0); + HEAP32[$224>>2] = $223; + $225 = (($113) + ($135)|0); + HEAP32[$225>>2] = $135; + $226 = HEAP32[(28228)>>2]|0; + $227 = ($$1|0)==($226|0); + if ($227) { + HEAP32[(28216)>>2] = $135; return; } else { - $psize$1 = $133; + $$2 = $135; } } else { - $227 = $112 & -2; - HEAP32[$111>>2] = $227; - $228 = $psize$0 | 1; - $229 = ((($p$0)) + 4|0); - HEAP32[$229>>2] = $228; - $230 = (($p$0) + ($psize$0)|0); - HEAP32[$230>>2] = $psize$0; - $psize$1 = $psize$0; + $228 = $115 & -2; + HEAP32[$114>>2] = $228; + $229 = $$1382 | 1; + $230 = ((($$1)) + 4|0); + HEAP32[$230>>2] = $229; + $231 = (($113) + ($$1382)|0); + HEAP32[$231>>2] = $$1382; + $$2 = $$1382; } - $231 = $psize$1 >>> 3; - $232 = ($psize$1>>>0)<(256); - if ($232) { - $233 = $231 << 1; - $234 = (9196 + ($233<<2)|0); - $235 = HEAP32[9156>>2]|0; - $236 = 1 << $231; - $237 = $235 & $236; - $238 = ($237|0)==(0); - if ($238) { - $239 = $235 | $236; - HEAP32[9156>>2] = $239; - $$pre = (($233) + 2)|0; - $$pre57 = (9196 + ($$pre<<2)|0); - $$pre$phiZ2D = $$pre57;$F16$0 = $234; + $232 = $$2 >>> 3; + $233 = ($$2>>>0)<(256); + if ($233) { + $234 = $232 << 1; + $235 = (28248 + ($234<<2)|0); + $236 = HEAP32[7052]|0; + $237 = 1 << $232; + $238 = $236 & $237; + $239 = ($238|0)==(0); + if ($239) { + $240 = $236 | $237; + HEAP32[7052] = $240; + $$pre = ((($235)) + 8|0); + $$0403 = $235;$$pre$phiZ2D = $$pre; } else { - $$sum11 = (($233) + 2)|0; - $240 = (9196 + ($$sum11<<2)|0); - $241 = HEAP32[$240>>2]|0; - $242 = HEAP32[(9172)>>2]|0; - $243 = ($241>>>0)<($242>>>0); - if ($243) { + $241 = ((($235)) + 8|0); + $242 = HEAP32[$241>>2]|0; + $243 = HEAP32[(28224)>>2]|0; + $244 = ($242>>>0)<($243>>>0); + if ($244) { _abort(); // unreachable; } else { - $$pre$phiZ2D = $240;$F16$0 = $241; + $$0403 = $242;$$pre$phiZ2D = $241; } } - HEAP32[$$pre$phiZ2D>>2] = $p$0; - $244 = ((($F16$0)) + 12|0); - HEAP32[$244>>2] = $p$0; - $245 = ((($p$0)) + 8|0); - HEAP32[$245>>2] = $F16$0; - $246 = ((($p$0)) + 12|0); - HEAP32[$246>>2] = $234; + HEAP32[$$pre$phiZ2D>>2] = $$1; + $245 = ((($$0403)) + 12|0); + HEAP32[$245>>2] = $$1; + $246 = ((($$1)) + 8|0); + HEAP32[$246>>2] = $$0403; + $247 = ((($$1)) + 12|0); + HEAP32[$247>>2] = $235; return; } - $247 = $psize$1 >>> 8; - $248 = ($247|0)==(0); - if ($248) { - $I18$0 = 0; + $248 = $$2 >>> 8; + $249 = ($248|0)==(0); + if ($249) { + $$0396 = 0; } else { - $249 = ($psize$1>>>0)>(16777215); - if ($249) { - $I18$0 = 31; + $250 = ($$2>>>0)>(16777215); + if ($250) { + $$0396 = 31; } else { - $250 = (($247) + 1048320)|0; - $251 = $250 >>> 16; - $252 = $251 & 8; - $253 = $247 << $252; - $254 = (($253) + 520192)|0; - $255 = $254 >>> 16; - $256 = $255 & 4; - $257 = $256 | $252; - $258 = $253 << $256; - $259 = (($258) + 245760)|0; - $260 = $259 >>> 16; - $261 = $260 & 2; - $262 = $257 | $261; - $263 = (14 - ($262))|0; - $264 = $258 << $261; - $265 = $264 >>> 15; - $266 = (($263) + ($265))|0; - $267 = $266 << 1; - $268 = (($266) + 7)|0; - $269 = $psize$1 >>> $268; - $270 = $269 & 1; - $271 = $270 | $267; - $I18$0 = $271; + $251 = (($248) + 1048320)|0; + $252 = $251 >>> 16; + $253 = $252 & 8; + $254 = $248 << $253; + $255 = (($254) + 520192)|0; + $256 = $255 >>> 16; + $257 = $256 & 4; + $258 = $257 | $253; + $259 = $254 << $257; + $260 = (($259) + 245760)|0; + $261 = $260 >>> 16; + $262 = $261 & 2; + $263 = $258 | $262; + $264 = (14 - ($263))|0; + $265 = $259 << $262; + $266 = $265 >>> 15; + $267 = (($264) + ($266))|0; + $268 = $267 << 1; + $269 = (($267) + 7)|0; + $270 = $$2 >>> $269; + $271 = $270 & 1; + $272 = $271 | $268; + $$0396 = $272; } } - $272 = (9460 + ($I18$0<<2)|0); - $273 = ((($p$0)) + 28|0); - HEAP32[$273>>2] = $I18$0; - $274 = ((($p$0)) + 16|0); - $275 = ((($p$0)) + 20|0); + $273 = (28512 + ($$0396<<2)|0); + $274 = ((($$1)) + 28|0); + HEAP32[$274>>2] = $$0396; + $275 = ((($$1)) + 16|0); + $276 = ((($$1)) + 20|0); + HEAP32[$276>>2] = 0; HEAP32[$275>>2] = 0; - HEAP32[$274>>2] = 0; - $276 = HEAP32[(9160)>>2]|0; - $277 = 1 << $I18$0; - $278 = $276 & $277; - $279 = ($278|0)==(0); - L199: do { - if ($279) { - $280 = $276 | $277; - HEAP32[(9160)>>2] = $280; - HEAP32[$272>>2] = $p$0; - $281 = ((($p$0)) + 24|0); - HEAP32[$281>>2] = $272; - $282 = ((($p$0)) + 12|0); - HEAP32[$282>>2] = $p$0; - $283 = ((($p$0)) + 8|0); - HEAP32[$283>>2] = $p$0; + $277 = HEAP32[(28212)>>2]|0; + $278 = 1 << $$0396; + $279 = $277 & $278; + $280 = ($279|0)==(0); + do { + if ($280) { + $281 = $277 | $278; + HEAP32[(28212)>>2] = $281; + HEAP32[$273>>2] = $$1; + $282 = ((($$1)) + 24|0); + HEAP32[$282>>2] = $273; + $283 = ((($$1)) + 12|0); + HEAP32[$283>>2] = $$1; + $284 = ((($$1)) + 8|0); + HEAP32[$284>>2] = $$1; } else { - $284 = HEAP32[$272>>2]|0; - $285 = ((($284)) + 4|0); - $286 = HEAP32[$285>>2]|0; - $287 = $286 & -8; - $288 = ($287|0)==($psize$1|0); - L202: do { - if ($288) { - $T$0$lcssa = $284; - } else { - $289 = ($I18$0|0)==(31); - $290 = $I18$0 >>> 1; - $291 = (25 - ($290))|0; - $292 = $289 ? 0 : $291; - $293 = $psize$1 << $292; - $K19$052 = $293;$T$051 = $284; - while(1) { - $300 = $K19$052 >>> 31; - $301 = (((($T$051)) + 16|0) + ($300<<2)|0); - $296 = HEAP32[$301>>2]|0; - $302 = ($296|0)==(0|0); - if ($302) { - $$lcssa = $301;$T$051$lcssa = $T$051; - break; - } - $294 = $K19$052 << 1; - $295 = ((($296)) + 4|0); - $297 = HEAP32[$295>>2]|0; - $298 = $297 & -8; - $299 = ($298|0)==($psize$1|0); - if ($299) { - $T$0$lcssa = $296; - break L202; - } else { - $K19$052 = $294;$T$051 = $296; - } - } - $303 = HEAP32[(9172)>>2]|0; - $304 = ($$lcssa>>>0)<($303>>>0); - if ($304) { - _abort(); - // unreachable; - } else { - HEAP32[$$lcssa>>2] = $p$0; - $305 = ((($p$0)) + 24|0); - HEAP32[$305>>2] = $T$051$lcssa; - $306 = ((($p$0)) + 12|0); - HEAP32[$306>>2] = $p$0; - $307 = ((($p$0)) + 8|0); - HEAP32[$307>>2] = $p$0; - break L199; - } + $285 = HEAP32[$273>>2]|0; + $286 = ($$0396|0)==(31); + $287 = $$0396 >>> 1; + $288 = (25 - ($287))|0; + $289 = $286 ? 0 : $288; + $290 = $$2 << $289; + $$0383 = $290;$$0384 = $285; + while(1) { + $291 = ((($$0384)) + 4|0); + $292 = HEAP32[$291>>2]|0; + $293 = $292 & -8; + $294 = ($293|0)==($$2|0); + if ($294) { + label = 124; + break; + } + $295 = $$0383 >>> 31; + $296 = (((($$0384)) + 16|0) + ($295<<2)|0); + $297 = $$0383 << 1; + $298 = HEAP32[$296>>2]|0; + $299 = ($298|0)==(0|0); + if ($299) { + label = 121; + break; + } else { + $$0383 = $297;$$0384 = $298; + } + } + if ((label|0) == 121) { + $300 = HEAP32[(28224)>>2]|0; + $301 = ($296>>>0)<($300>>>0); + if ($301) { + _abort(); + // unreachable; + } else { + HEAP32[$296>>2] = $$1; + $302 = ((($$1)) + 24|0); + HEAP32[$302>>2] = $$0384; + $303 = ((($$1)) + 12|0); + HEAP32[$303>>2] = $$1; + $304 = ((($$1)) + 8|0); + HEAP32[$304>>2] = $$1; + break; + } + } + else if ((label|0) == 124) { + $305 = ((($$0384)) + 8|0); + $306 = HEAP32[$305>>2]|0; + $307 = HEAP32[(28224)>>2]|0; + $308 = ($306>>>0)>=($307>>>0); + $not$437 = ($$0384>>>0)>=($307>>>0); + $309 = $308 & $not$437; + if ($309) { + $310 = ((($306)) + 12|0); + HEAP32[$310>>2] = $$1; + HEAP32[$305>>2] = $$1; + $311 = ((($$1)) + 8|0); + HEAP32[$311>>2] = $306; + $312 = ((($$1)) + 12|0); + HEAP32[$312>>2] = $$0384; + $313 = ((($$1)) + 24|0); + HEAP32[$313>>2] = 0; + break; + } else { + _abort(); + // unreachable; } - } while(0); - $308 = ((($T$0$lcssa)) + 8|0); - $309 = HEAP32[$308>>2]|0; - $310 = HEAP32[(9172)>>2]|0; - $311 = ($309>>>0)>=($310>>>0); - $not$ = ($T$0$lcssa>>>0)>=($310>>>0); - $312 = $311 & $not$; - if ($312) { - $313 = ((($309)) + 12|0); - HEAP32[$313>>2] = $p$0; - HEAP32[$308>>2] = $p$0; - $314 = ((($p$0)) + 8|0); - HEAP32[$314>>2] = $309; - $315 = ((($p$0)) + 12|0); - HEAP32[$315>>2] = $T$0$lcssa; - $316 = ((($p$0)) + 24|0); - HEAP32[$316>>2] = 0; - break; - } else { - _abort(); - // unreachable; } } } while(0); - $317 = HEAP32[(9188)>>2]|0; - $318 = (($317) + -1)|0; - HEAP32[(9188)>>2] = $318; - $319 = ($318|0)==(0); - if ($319) { - $sp$0$in$i = (9612); + $314 = HEAP32[(28240)>>2]|0; + $315 = (($314) + -1)|0; + HEAP32[(28240)>>2] = $315; + $316 = ($315|0)==(0); + if ($316) { + $$0212$in$i = (28664); } else { return; } while(1) { - $sp$0$i = HEAP32[$sp$0$in$i>>2]|0; - $320 = ($sp$0$i|0)==(0|0); - $321 = ((($sp$0$i)) + 8|0); - if ($320) { + $$0212$i = HEAP32[$$0212$in$i>>2]|0; + $317 = ($$0212$i|0)==(0|0); + $318 = ((($$0212$i)) + 8|0); + if ($317) { break; } else { - $sp$0$in$i = $321; + $$0212$in$i = $318; } } - HEAP32[(9188)>>2] = -1; + HEAP32[(28240)>>2] = -1; return; } -function _realloc($oldmem,$bytes) { - $oldmem = $oldmem|0; - $bytes = $bytes|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0; - var $7 = 0, $8 = 0, $9 = 0, $mem$0 = 0, label = 0, sp = 0; +function _calloc($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$ = 0, $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = ($oldmem|0)==(0|0); - if ($0) { - $1 = (_malloc($bytes)|0); - $mem$0 = $1; - return ($mem$0|0); - } - $2 = ($bytes>>>0)>(4294967231); + $2 = ($0|0)==(0); if ($2) { - $3 = (___errno_location()|0); - HEAP32[$3>>2] = 12; - $mem$0 = 0; - return ($mem$0|0); - } - $4 = ($bytes>>>0)<(11); - $5 = (($bytes) + 11)|0; - $6 = $5 & -8; - $7 = $4 ? 16 : $6; - $8 = ((($oldmem)) + -8|0); - $9 = (_try_realloc_chunk($8,$7)|0); - $10 = ($9|0)==(0|0); - if (!($10)) { - $11 = ((($9)) + 8|0); - $mem$0 = $11; - return ($mem$0|0); - } - $12 = (_malloc($bytes)|0); - $13 = ($12|0)==(0|0); - if ($13) { - $mem$0 = 0; - return ($mem$0|0); - } - $14 = ((($oldmem)) + -4|0); - $15 = HEAP32[$14>>2]|0; - $16 = $15 & -8; - $17 = $15 & 3; - $18 = ($17|0)==(0); - $19 = $18 ? 8 : 4; - $20 = (($16) - ($19))|0; - $21 = ($20>>>0)<($bytes>>>0); - $22 = $21 ? $20 : $bytes; - _memcpy(($12|0),($oldmem|0),($22|0))|0; - _free($oldmem); - $mem$0 = $12; - return ($mem$0|0); -} -function _try_realloc_chunk($p,$nb) { - $p = $p|0; - $nb = $nb|0; - var $$pre = 0, $$pre$phiZ2D = 0, $$sum = 0, $$sum11 = 0, $$sum12 = 0, $$sum13 = 0, $$sum14 = 0, $$sum15 = 0, $$sum16 = 0, $$sum17 = 0, $$sum19 = 0, $$sum2 = 0, $$sum20 = 0, $$sum22 = 0, $$sum23 = 0, $$sum2728 = 0, $$sum3 = 0, $$sum4 = 0, $$sum5 = 0, $$sum78 = 0; - var $$sum910 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0; - var $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0; - var $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0; - var $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0; - var $17 = 0, $170 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0; - var $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0; - var $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0; - var $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0; - var $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $R$0 = 0, $R$0$lcssa = 0, $R$1 = 0, $RP$0 = 0, $RP$0$lcssa = 0, $cond = 0, $newp$0 = 0, $notlhs = 0; - var $notrhs = 0, $or$cond$not = 0, $or$cond30 = 0, $storemerge = 0, $storemerge21 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($p)) + 4|0); - $1 = HEAP32[$0>>2]|0; - $2 = $1 & -8; - $3 = (($p) + ($2)|0); - $4 = HEAP32[(9172)>>2]|0; - $5 = $1 & 3; - $notlhs = ($p>>>0)>=($4>>>0); - $notrhs = ($5|0)!=(1); - $or$cond$not = $notrhs & $notlhs; - $6 = ($p>>>0)<($3>>>0); - $or$cond30 = $or$cond$not & $6; - if (!($or$cond30)) { - _abort(); - // unreachable; - } - $$sum2728 = $2 | 4; - $7 = (($p) + ($$sum2728)|0); - $8 = HEAP32[$7>>2]|0; - $9 = $8 & 1; - $10 = ($9|0)==(0); - if ($10) { - _abort(); - // unreachable; - } - $11 = ($5|0)==(0); - if ($11) { - $12 = ($nb>>>0)<(256); - if ($12) { - $newp$0 = 0; - return ($newp$0|0); - } - $13 = (($nb) + 4)|0; - $14 = ($2>>>0)<($13>>>0); - if (!($14)) { - $15 = (($2) - ($nb))|0; - $16 = HEAP32[(9636)>>2]|0; - $17 = $16 << 1; - $18 = ($15>>>0)>($17>>>0); - if (!($18)) { - $newp$0 = $p; - return ($newp$0|0); - } - } - $newp$0 = 0; - return ($newp$0|0); - } - $19 = ($2>>>0)<($nb>>>0); - if (!($19)) { - $20 = (($2) - ($nb))|0; - $21 = ($20>>>0)>(15); - if (!($21)) { - $newp$0 = $p; - return ($newp$0|0); - } - $22 = (($p) + ($nb)|0); - $23 = $1 & 1; - $24 = $23 | $nb; - $25 = $24 | 2; - HEAP32[$0>>2] = $25; - $$sum23 = (($nb) + 4)|0; - $26 = (($p) + ($$sum23)|0); - $27 = $20 | 3; - HEAP32[$26>>2] = $27; - $28 = HEAP32[$7>>2]|0; - $29 = $28 | 1; - HEAP32[$7>>2] = $29; - _dispose_chunk($22,$20); - $newp$0 = $p; - return ($newp$0|0); - } - $30 = HEAP32[(9180)>>2]|0; - $31 = ($3|0)==($30|0); - if ($31) { - $32 = HEAP32[(9168)>>2]|0; - $33 = (($32) + ($2))|0; - $34 = ($33>>>0)>($nb>>>0); - if (!($34)) { - $newp$0 = 0; - return ($newp$0|0); - } - $35 = (($33) - ($nb))|0; - $36 = (($p) + ($nb)|0); - $37 = $1 & 1; - $38 = $37 | $nb; - $39 = $38 | 2; - HEAP32[$0>>2] = $39; - $$sum22 = (($nb) + 4)|0; - $40 = (($p) + ($$sum22)|0); - $41 = $35 | 1; - HEAP32[$40>>2] = $41; - HEAP32[(9180)>>2] = $36; - HEAP32[(9168)>>2] = $35; - $newp$0 = $p; - return ($newp$0|0); - } - $42 = HEAP32[(9176)>>2]|0; - $43 = ($3|0)==($42|0); - if ($43) { - $44 = HEAP32[(9164)>>2]|0; - $45 = (($44) + ($2))|0; - $46 = ($45>>>0)<($nb>>>0); - if ($46) { - $newp$0 = 0; - return ($newp$0|0); - } - $47 = (($45) - ($nb))|0; - $48 = ($47>>>0)>(15); - if ($48) { - $49 = (($p) + ($nb)|0); - $50 = (($p) + ($45)|0); - $51 = $1 & 1; - $52 = $51 | $nb; - $53 = $52 | 2; - HEAP32[$0>>2] = $53; - $$sum19 = (($nb) + 4)|0; - $54 = (($p) + ($$sum19)|0); - $55 = $47 | 1; - HEAP32[$54>>2] = $55; - HEAP32[$50>>2] = $47; - $$sum20 = (($45) + 4)|0; - $56 = (($p) + ($$sum20)|0); - $57 = HEAP32[$56>>2]|0; - $58 = $57 & -2; - HEAP32[$56>>2] = $58; - $storemerge = $49;$storemerge21 = $47; - } else { - $59 = $1 & 1; - $60 = $59 | $45; - $61 = $60 | 2; - HEAP32[$0>>2] = $61; - $$sum17 = (($45) + 4)|0; - $62 = (($p) + ($$sum17)|0); - $63 = HEAP32[$62>>2]|0; - $64 = $63 | 1; - HEAP32[$62>>2] = $64; - $storemerge = 0;$storemerge21 = 0; - } - HEAP32[(9164)>>2] = $storemerge21; - HEAP32[(9176)>>2] = $storemerge; - $newp$0 = $p; - return ($newp$0|0); - } - $65 = $8 & 2; - $66 = ($65|0)==(0); - if (!($66)) { - $newp$0 = 0; - return ($newp$0|0); - } - $67 = $8 & -8; - $68 = (($67) + ($2))|0; - $69 = ($68>>>0)<($nb>>>0); - if ($69) { - $newp$0 = 0; - return ($newp$0|0); - } - $70 = (($68) - ($nb))|0; - $71 = $8 >>> 3; - $72 = ($8>>>0)<(256); - do { - if ($72) { - $$sum15 = (($2) + 8)|0; - $73 = (($p) + ($$sum15)|0); - $74 = HEAP32[$73>>2]|0; - $$sum16 = (($2) + 12)|0; - $75 = (($p) + ($$sum16)|0); - $76 = HEAP32[$75>>2]|0; - $77 = $71 << 1; - $78 = (9196 + ($77<<2)|0); - $79 = ($74|0)==($78|0); - if (!($79)) { - $80 = ($74>>>0)<($4>>>0); - if ($80) { - _abort(); - // unreachable; - } - $81 = ((($74)) + 12|0); - $82 = HEAP32[$81>>2]|0; - $83 = ($82|0)==($3|0); - if (!($83)) { - _abort(); - // unreachable; - } - } - $84 = ($76|0)==($74|0); - if ($84) { - $85 = 1 << $71; - $86 = $85 ^ -1; - $87 = HEAP32[9156>>2]|0; - $88 = $87 & $86; - HEAP32[9156>>2] = $88; - break; - } - $89 = ($76|0)==($78|0); - if ($89) { - $$pre = ((($76)) + 8|0); - $$pre$phiZ2D = $$pre; - } else { - $90 = ($76>>>0)<($4>>>0); - if ($90) { - _abort(); - // unreachable; - } - $91 = ((($76)) + 8|0); - $92 = HEAP32[$91>>2]|0; - $93 = ($92|0)==($3|0); - if ($93) { - $$pre$phiZ2D = $91; - } else { - _abort(); - // unreachable; - } - } - $94 = ((($74)) + 12|0); - HEAP32[$94>>2] = $76; - HEAP32[$$pre$phiZ2D>>2] = $74; - } else { - $$sum = (($2) + 24)|0; - $95 = (($p) + ($$sum)|0); - $96 = HEAP32[$95>>2]|0; - $$sum2 = (($2) + 12)|0; - $97 = (($p) + ($$sum2)|0); - $98 = HEAP32[$97>>2]|0; - $99 = ($98|0)==($3|0); - do { - if ($99) { - $$sum4 = (($2) + 20)|0; - $109 = (($p) + ($$sum4)|0); - $110 = HEAP32[$109>>2]|0; - $111 = ($110|0)==(0|0); - if ($111) { - $$sum3 = (($2) + 16)|0; - $112 = (($p) + ($$sum3)|0); - $113 = HEAP32[$112>>2]|0; - $114 = ($113|0)==(0|0); - if ($114) { - $R$1 = 0; - break; - } else { - $R$0 = $113;$RP$0 = $112; - } - } else { - $R$0 = $110;$RP$0 = $109; - } - while(1) { - $115 = ((($R$0)) + 20|0); - $116 = HEAP32[$115>>2]|0; - $117 = ($116|0)==(0|0); - if (!($117)) { - $R$0 = $116;$RP$0 = $115; - continue; - } - $118 = ((($R$0)) + 16|0); - $119 = HEAP32[$118>>2]|0; - $120 = ($119|0)==(0|0); - if ($120) { - $R$0$lcssa = $R$0;$RP$0$lcssa = $RP$0; - break; - } else { - $R$0 = $119;$RP$0 = $118; - } - } - $121 = ($RP$0$lcssa>>>0)<($4>>>0); - if ($121) { - _abort(); - // unreachable; - } else { - HEAP32[$RP$0$lcssa>>2] = 0; - $R$1 = $R$0$lcssa; - break; - } - } else { - $$sum14 = (($2) + 8)|0; - $100 = (($p) + ($$sum14)|0); - $101 = HEAP32[$100>>2]|0; - $102 = ($101>>>0)<($4>>>0); - if ($102) { - _abort(); - // unreachable; - } - $103 = ((($101)) + 12|0); - $104 = HEAP32[$103>>2]|0; - $105 = ($104|0)==($3|0); - if (!($105)) { - _abort(); - // unreachable; - } - $106 = ((($98)) + 8|0); - $107 = HEAP32[$106>>2]|0; - $108 = ($107|0)==($3|0); - if ($108) { - HEAP32[$103>>2] = $98; - HEAP32[$106>>2] = $101; - $R$1 = $98; - break; - } else { - _abort(); - // unreachable; - } - } - } while(0); - $122 = ($96|0)==(0|0); - if (!($122)) { - $$sum11 = (($2) + 28)|0; - $123 = (($p) + ($$sum11)|0); - $124 = HEAP32[$123>>2]|0; - $125 = (9460 + ($124<<2)|0); - $126 = HEAP32[$125>>2]|0; - $127 = ($3|0)==($126|0); - if ($127) { - HEAP32[$125>>2] = $R$1; - $cond = ($R$1|0)==(0|0); - if ($cond) { - $128 = 1 << $124; - $129 = $128 ^ -1; - $130 = HEAP32[(9160)>>2]|0; - $131 = $130 & $129; - HEAP32[(9160)>>2] = $131; - break; - } - } else { - $132 = HEAP32[(9172)>>2]|0; - $133 = ($96>>>0)<($132>>>0); - if ($133) { - _abort(); - // unreachable; - } - $134 = ((($96)) + 16|0); - $135 = HEAP32[$134>>2]|0; - $136 = ($135|0)==($3|0); - if ($136) { - HEAP32[$134>>2] = $R$1; - } else { - $137 = ((($96)) + 20|0); - HEAP32[$137>>2] = $R$1; - } - $138 = ($R$1|0)==(0|0); - if ($138) { - break; - } - } - $139 = HEAP32[(9172)>>2]|0; - $140 = ($R$1>>>0)<($139>>>0); - if ($140) { - _abort(); - // unreachable; - } - $141 = ((($R$1)) + 24|0); - HEAP32[$141>>2] = $96; - $$sum12 = (($2) + 16)|0; - $142 = (($p) + ($$sum12)|0); - $143 = HEAP32[$142>>2]|0; - $144 = ($143|0)==(0|0); - do { - if (!($144)) { - $145 = ($143>>>0)<($139>>>0); - if ($145) { - _abort(); - // unreachable; - } else { - $146 = ((($R$1)) + 16|0); - HEAP32[$146>>2] = $143; - $147 = ((($143)) + 24|0); - HEAP32[$147>>2] = $R$1; - break; - } - } - } while(0); - $$sum13 = (($2) + 20)|0; - $148 = (($p) + ($$sum13)|0); - $149 = HEAP32[$148>>2]|0; - $150 = ($149|0)==(0|0); - if (!($150)) { - $151 = HEAP32[(9172)>>2]|0; - $152 = ($149>>>0)<($151>>>0); - if ($152) { - _abort(); - // unreachable; - } else { - $153 = ((($R$1)) + 20|0); - HEAP32[$153>>2] = $149; - $154 = ((($149)) + 24|0); - HEAP32[$154>>2] = $R$1; - break; - } - } - } - } - } while(0); - $155 = ($70>>>0)<(16); - if ($155) { - $156 = $1 & 1; - $157 = $68 | $156; - $158 = $157 | 2; - HEAP32[$0>>2] = $158; - $$sum910 = $68 | 4; - $159 = (($p) + ($$sum910)|0); - $160 = HEAP32[$159>>2]|0; - $161 = $160 | 1; - HEAP32[$159>>2] = $161; - $newp$0 = $p; - return ($newp$0|0); + $$0 = 0; } else { - $162 = (($p) + ($nb)|0); - $163 = $1 & 1; - $164 = $163 | $nb; - $165 = $164 | 2; - HEAP32[$0>>2] = $165; - $$sum5 = (($nb) + 4)|0; - $166 = (($p) + ($$sum5)|0); - $167 = $70 | 3; - HEAP32[$166>>2] = $167; - $$sum78 = $68 | 4; - $168 = (($p) + ($$sum78)|0); - $169 = HEAP32[$168>>2]|0; - $170 = $169 | 1; - HEAP32[$168>>2] = $170; - _dispose_chunk($162,$70); - $newp$0 = $p; - return ($newp$0|0); + $3 = Math_imul($1, $0)|0; + $4 = $1 | $0; + $5 = ($4>>>0)>(65535); + if ($5) { + $6 = (($3>>>0) / ($0>>>0))&-1; + $7 = ($6|0)==($1|0); + $$ = $7 ? $3 : -1; + $$0 = $$; + } else { + $$0 = $3; + } } - return (0)|0; + $8 = (_malloc($$0)|0); + $9 = ($8|0)==(0|0); + if ($9) { + return ($8|0); + } + $10 = ((($8)) + -4|0); + $11 = HEAP32[$10>>2]|0; + $12 = $11 & 3; + $13 = ($12|0)==(0); + if ($13) { + return ($8|0); + } + _memset(($8|0),0,($$0|0))|0; + return ($8|0); } -function _dispose_chunk($p,$psize) { - $p = $p|0; - $psize = $psize|0; - var $$0 = 0, $$02 = 0, $$1 = 0, $$lcssa = 0, $$pre = 0, $$pre$phi50Z2D = 0, $$pre$phi52Z2D = 0, $$pre$phiZ2D = 0, $$pre48 = 0, $$pre49 = 0, $$pre51 = 0, $$sum = 0, $$sum1 = 0, $$sum10 = 0, $$sum11 = 0, $$sum12 = 0, $$sum13 = 0, $$sum14 = 0, $$sum16 = 0, $$sum17 = 0; - var $$sum18 = 0, $$sum19 = 0, $$sum2 = 0, $$sum20 = 0, $$sum21 = 0, $$sum22 = 0, $$sum23 = 0, $$sum24 = 0, $$sum25 = 0, $$sum3 = 0, $$sum4 = 0, $$sum5 = 0, $$sum7 = 0, $$sum8 = 0, $$sum9 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0; - var $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0; - var $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0; - var $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0; - var $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0; - var $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0; - var $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0; - var $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0; - var $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0; - var $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0; - var $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0; - var $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0; - var $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; - var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0; - var $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0; - var $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0; - var $97 = 0, $98 = 0, $99 = 0, $F16$0 = 0, $I19$0 = 0, $K20$043 = 0, $R$0 = 0, $R$0$lcssa = 0, $R$1 = 0, $R7$0 = 0, $R7$0$lcssa = 0, $R7$1 = 0, $RP$0 = 0, $RP$0$lcssa = 0, $RP9$0 = 0, $RP9$0$lcssa = 0, $T$0$lcssa = 0, $T$042 = 0, $T$042$lcssa = 0, $cond = 0; - var $cond39 = 0, $not$ = 0, label = 0, sp = 0; +function _realloc($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0, $5 = 0; + var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = (($p) + ($psize)|0); - $1 = ((($p)) + 4|0); - $2 = HEAP32[$1>>2]|0; - $3 = $2 & 1; - $4 = ($3|0)==(0); - do { - if ($4) { - $5 = HEAP32[$p>>2]|0; - $6 = $2 & 3; - $7 = ($6|0)==(0); - if ($7) { - return; + $2 = ($0|0)==(0|0); + if ($2) { + $3 = (_malloc($1)|0); + $$1 = $3; + return ($$1|0); + } + $4 = ($1>>>0)>(4294967231); + if ($4) { + $5 = (___errno_location()|0); + HEAP32[$5>>2] = 12; + $$1 = 0; + return ($$1|0); + } + $6 = ($1>>>0)<(11); + $7 = (($1) + 11)|0; + $8 = $7 & -8; + $9 = $6 ? 16 : $8; + $10 = ((($0)) + -8|0); + $11 = (_try_realloc_chunk($10,$9)|0); + $12 = ($11|0)==(0|0); + if (!($12)) { + $13 = ((($11)) + 8|0); + $$1 = $13; + return ($$1|0); + } + $14 = (_malloc($1)|0); + $15 = ($14|0)==(0|0); + if ($15) { + $$1 = 0; + return ($$1|0); + } + $16 = ((($0)) + -4|0); + $17 = HEAP32[$16>>2]|0; + $18 = $17 & -8; + $19 = $17 & 3; + $20 = ($19|0)==(0); + $21 = $20 ? 8 : 4; + $22 = (($18) - ($21))|0; + $23 = ($22>>>0)<($1>>>0); + $24 = $23 ? $22 : $1; + _memcpy(($14|0),($0|0),($24|0))|0; + _free($0); + $$1 = $14; + return ($$1|0); +} +function _try_realloc_chunk($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$1272 = 0, $$1275 = 0, $$2 = 0, $$3 = 0, $$pre = 0, $$pre$phiZ2D = 0, $$sink1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0; + var $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0; + var $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0; + var $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0; + var $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; + var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0; + var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0; + var $cond = 0, $not$ = 0, $notlhs = 0, $notrhs = 0, $or$cond$not = 0, $or$cond3 = 0, $storemerge = 0, $storemerge1 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($0)) + 4|0); + $3 = HEAP32[$2>>2]|0; + $4 = $3 & -8; + $5 = (($0) + ($4)|0); + $6 = HEAP32[(28224)>>2]|0; + $7 = $3 & 3; + $notlhs = ($0>>>0)>=($6>>>0); + $notrhs = ($7|0)!=(1); + $or$cond$not = $notrhs & $notlhs; + $8 = ($0>>>0)<($5>>>0); + $or$cond3 = $or$cond$not & $8; + if (!($or$cond3)) { + _abort(); + // unreachable; + } + $9 = ((($5)) + 4|0); + $10 = HEAP32[$9>>2]|0; + $11 = $10 & 1; + $12 = ($11|0)==(0); + if ($12) { + _abort(); + // unreachable; + } + $13 = ($7|0)==(0); + if ($13) { + $14 = ($1>>>0)<(256); + if ($14) { + $$2 = 0; + return ($$2|0); + } + $15 = (($1) + 4)|0; + $16 = ($4>>>0)<($15>>>0); + if (!($16)) { + $17 = (($4) - ($1))|0; + $18 = HEAP32[(28688)>>2]|0; + $19 = $18 << 1; + $20 = ($17>>>0)>($19>>>0); + if (!($20)) { + $$2 = $0; + return ($$2|0); } - $8 = (0 - ($5))|0; - $9 = (($p) + ($8)|0); - $10 = (($5) + ($psize))|0; - $11 = HEAP32[(9172)>>2]|0; - $12 = ($9>>>0)<($11>>>0); - if ($12) { - _abort(); - // unreachable; - } - $13 = HEAP32[(9176)>>2]|0; - $14 = ($9|0)==($13|0); - if ($14) { - $$sum = (($psize) + 4)|0; - $99 = (($p) + ($$sum)|0); - $100 = HEAP32[$99>>2]|0; - $101 = $100 & 3; - $102 = ($101|0)==(3); - if (!($102)) { - $$0 = $9;$$02 = $10; - break; - } - HEAP32[(9164)>>2] = $10; - $103 = $100 & -2; - HEAP32[$99>>2] = $103; - $104 = $10 | 1; - $$sum14 = (4 - ($5))|0; - $105 = (($p) + ($$sum14)|0); - HEAP32[$105>>2] = $104; - HEAP32[$0>>2] = $10; - return; - } - $15 = $5 >>> 3; - $16 = ($5>>>0)<(256); - if ($16) { - $$sum24 = (8 - ($5))|0; - $17 = (($p) + ($$sum24)|0); - $18 = HEAP32[$17>>2]|0; - $$sum25 = (12 - ($5))|0; - $19 = (($p) + ($$sum25)|0); - $20 = HEAP32[$19>>2]|0; - $21 = $15 << 1; - $22 = (9196 + ($21<<2)|0); - $23 = ($18|0)==($22|0); - if (!($23)) { - $24 = ($18>>>0)<($11>>>0); - if ($24) { - _abort(); - // unreachable; - } - $25 = ((($18)) + 12|0); - $26 = HEAP32[$25>>2]|0; - $27 = ($26|0)==($9|0); - if (!($27)) { - _abort(); - // unreachable; - } - } - $28 = ($20|0)==($18|0); - if ($28) { - $29 = 1 << $15; - $30 = $29 ^ -1; - $31 = HEAP32[9156>>2]|0; - $32 = $31 & $30; - HEAP32[9156>>2] = $32; - $$0 = $9;$$02 = $10; - break; - } - $33 = ($20|0)==($22|0); - if ($33) { - $$pre51 = ((($20)) + 8|0); - $$pre$phi52Z2D = $$pre51; - } else { - $34 = ($20>>>0)<($11>>>0); - if ($34) { - _abort(); - // unreachable; - } - $35 = ((($20)) + 8|0); - $36 = HEAP32[$35>>2]|0; - $37 = ($36|0)==($9|0); - if ($37) { - $$pre$phi52Z2D = $35; - } else { - _abort(); - // unreachable; - } - } - $38 = ((($18)) + 12|0); - HEAP32[$38>>2] = $20; - HEAP32[$$pre$phi52Z2D>>2] = $18; - $$0 = $9;$$02 = $10; - break; - } - $$sum16 = (24 - ($5))|0; - $39 = (($p) + ($$sum16)|0); - $40 = HEAP32[$39>>2]|0; - $$sum17 = (12 - ($5))|0; - $41 = (($p) + ($$sum17)|0); - $42 = HEAP32[$41>>2]|0; - $43 = ($42|0)==($9|0); - do { - if ($43) { - $$sum18 = (16 - ($5))|0; - $$sum19 = (($$sum18) + 4)|0; - $53 = (($p) + ($$sum19)|0); - $54 = HEAP32[$53>>2]|0; - $55 = ($54|0)==(0|0); - if ($55) { - $56 = (($p) + ($$sum18)|0); - $57 = HEAP32[$56>>2]|0; - $58 = ($57|0)==(0|0); - if ($58) { - $R$1 = 0; - break; - } else { - $R$0 = $57;$RP$0 = $56; - } - } else { - $R$0 = $54;$RP$0 = $53; - } - while(1) { - $59 = ((($R$0)) + 20|0); - $60 = HEAP32[$59>>2]|0; - $61 = ($60|0)==(0|0); - if (!($61)) { - $R$0 = $60;$RP$0 = $59; - continue; - } - $62 = ((($R$0)) + 16|0); - $63 = HEAP32[$62>>2]|0; - $64 = ($63|0)==(0|0); - if ($64) { - $R$0$lcssa = $R$0;$RP$0$lcssa = $RP$0; - break; - } else { - $R$0 = $63;$RP$0 = $62; - } - } - $65 = ($RP$0$lcssa>>>0)<($11>>>0); - if ($65) { - _abort(); - // unreachable; - } else { - HEAP32[$RP$0$lcssa>>2] = 0; - $R$1 = $R$0$lcssa; - break; - } - } else { - $$sum23 = (8 - ($5))|0; - $44 = (($p) + ($$sum23)|0); - $45 = HEAP32[$44>>2]|0; - $46 = ($45>>>0)<($11>>>0); - if ($46) { - _abort(); - // unreachable; - } - $47 = ((($45)) + 12|0); - $48 = HEAP32[$47>>2]|0; - $49 = ($48|0)==($9|0); - if (!($49)) { - _abort(); - // unreachable; - } - $50 = ((($42)) + 8|0); - $51 = HEAP32[$50>>2]|0; - $52 = ($51|0)==($9|0); - if ($52) { - HEAP32[$47>>2] = $42; - HEAP32[$50>>2] = $45; - $R$1 = $42; - break; - } else { - _abort(); - // unreachable; - } - } - } while(0); - $66 = ($40|0)==(0|0); - if ($66) { - $$0 = $9;$$02 = $10; - } else { - $$sum20 = (28 - ($5))|0; - $67 = (($p) + ($$sum20)|0); - $68 = HEAP32[$67>>2]|0; - $69 = (9460 + ($68<<2)|0); - $70 = HEAP32[$69>>2]|0; - $71 = ($9|0)==($70|0); - if ($71) { - HEAP32[$69>>2] = $R$1; - $cond = ($R$1|0)==(0|0); - if ($cond) { - $72 = 1 << $68; - $73 = $72 ^ -1; - $74 = HEAP32[(9160)>>2]|0; - $75 = $74 & $73; - HEAP32[(9160)>>2] = $75; - $$0 = $9;$$02 = $10; - break; - } - } else { - $76 = HEAP32[(9172)>>2]|0; - $77 = ($40>>>0)<($76>>>0); - if ($77) { - _abort(); - // unreachable; - } - $78 = ((($40)) + 16|0); - $79 = HEAP32[$78>>2]|0; - $80 = ($79|0)==($9|0); - if ($80) { - HEAP32[$78>>2] = $R$1; - } else { - $81 = ((($40)) + 20|0); - HEAP32[$81>>2] = $R$1; - } - $82 = ($R$1|0)==(0|0); - if ($82) { - $$0 = $9;$$02 = $10; - break; - } - } - $83 = HEAP32[(9172)>>2]|0; - $84 = ($R$1>>>0)<($83>>>0); + } + $$2 = 0; + return ($$2|0); + } + $21 = ($4>>>0)<($1>>>0); + if (!($21)) { + $22 = (($4) - ($1))|0; + $23 = ($22>>>0)>(15); + if (!($23)) { + $$2 = $0; + return ($$2|0); + } + $24 = (($0) + ($1)|0); + $25 = $3 & 1; + $26 = $25 | $1; + $27 = $26 | 2; + HEAP32[$2>>2] = $27; + $28 = ((($24)) + 4|0); + $29 = $22 | 3; + HEAP32[$28>>2] = $29; + $30 = (($24) + ($22)|0); + $31 = ((($30)) + 4|0); + $32 = HEAP32[$31>>2]|0; + $33 = $32 | 1; + HEAP32[$31>>2] = $33; + _dispose_chunk($24,$22); + $$2 = $0; + return ($$2|0); + } + $34 = HEAP32[(28232)>>2]|0; + $35 = ($5|0)==($34|0); + if ($35) { + $36 = HEAP32[(28220)>>2]|0; + $37 = (($36) + ($4))|0; + $38 = ($37>>>0)>($1>>>0); + $39 = (($37) - ($1))|0; + $40 = (($0) + ($1)|0); + if (!($38)) { + $$2 = 0; + return ($$2|0); + } + $41 = $39 | 1; + $42 = ((($40)) + 4|0); + $43 = $3 & 1; + $44 = $43 | $1; + $45 = $44 | 2; + HEAP32[$2>>2] = $45; + HEAP32[$42>>2] = $41; + HEAP32[(28232)>>2] = $40; + HEAP32[(28220)>>2] = $39; + $$2 = $0; + return ($$2|0); + } + $46 = HEAP32[(28228)>>2]|0; + $47 = ($5|0)==($46|0); + if ($47) { + $48 = HEAP32[(28216)>>2]|0; + $49 = (($48) + ($4))|0; + $50 = ($49>>>0)<($1>>>0); + if ($50) { + $$2 = 0; + return ($$2|0); + } + $51 = (($49) - ($1))|0; + $52 = ($51>>>0)>(15); + $53 = $3 & 1; + if ($52) { + $54 = (($0) + ($1)|0); + $55 = (($54) + ($51)|0); + $56 = $53 | $1; + $57 = $56 | 2; + HEAP32[$2>>2] = $57; + $58 = ((($54)) + 4|0); + $59 = $51 | 1; + HEAP32[$58>>2] = $59; + HEAP32[$55>>2] = $51; + $60 = ((($55)) + 4|0); + $61 = HEAP32[$60>>2]|0; + $62 = $61 & -2; + HEAP32[$60>>2] = $62; + $storemerge = $54;$storemerge1 = $51; + } else { + $63 = $53 | $49; + $64 = $63 | 2; + HEAP32[$2>>2] = $64; + $65 = (($0) + ($49)|0); + $66 = ((($65)) + 4|0); + $67 = HEAP32[$66>>2]|0; + $68 = $67 | 1; + HEAP32[$66>>2] = $68; + $storemerge = 0;$storemerge1 = 0; + } + HEAP32[(28216)>>2] = $storemerge1; + HEAP32[(28228)>>2] = $storemerge; + $$2 = $0; + return ($$2|0); + } + $69 = $10 & 2; + $70 = ($69|0)==(0); + if (!($70)) { + $$2 = 0; + return ($$2|0); + } + $71 = $10 & -8; + $72 = (($71) + ($4))|0; + $73 = ($72>>>0)<($1>>>0); + if ($73) { + $$2 = 0; + return ($$2|0); + } + $74 = (($72) - ($1))|0; + $75 = $10 >>> 3; + $76 = ($10>>>0)<(256); + L49: do { + if ($76) { + $77 = ((($5)) + 8|0); + $78 = HEAP32[$77>>2]|0; + $79 = ((($5)) + 12|0); + $80 = HEAP32[$79>>2]|0; + $81 = $75 << 1; + $82 = (28248 + ($81<<2)|0); + $83 = ($78|0)==($82|0); + if (!($83)) { + $84 = ($78>>>0)<($6>>>0); if ($84) { _abort(); // unreachable; } - $85 = ((($R$1)) + 24|0); - HEAP32[$85>>2] = $40; - $$sum21 = (16 - ($5))|0; - $86 = (($p) + ($$sum21)|0); - $87 = HEAP32[$86>>2]|0; - $88 = ($87|0)==(0|0); + $85 = ((($78)) + 12|0); + $86 = HEAP32[$85>>2]|0; + $87 = ($86|0)==($5|0); + if (!($87)) { + _abort(); + // unreachable; + } + } + $88 = ($80|0)==($78|0); + if ($88) { + $89 = 1 << $75; + $90 = $89 ^ -1; + $91 = HEAP32[7052]|0; + $92 = $91 & $90; + HEAP32[7052] = $92; + break; + } + $93 = ($80|0)==($82|0); + if ($93) { + $$pre = ((($80)) + 8|0); + $$pre$phiZ2D = $$pre; + } else { + $94 = ($80>>>0)<($6>>>0); + if ($94) { + _abort(); + // unreachable; + } + $95 = ((($80)) + 8|0); + $96 = HEAP32[$95>>2]|0; + $97 = ($96|0)==($5|0); + if ($97) { + $$pre$phiZ2D = $95; + } else { + _abort(); + // unreachable; + } + } + $98 = ((($78)) + 12|0); + HEAP32[$98>>2] = $80; + HEAP32[$$pre$phiZ2D>>2] = $78; + } else { + $99 = ((($5)) + 24|0); + $100 = HEAP32[$99>>2]|0; + $101 = ((($5)) + 12|0); + $102 = HEAP32[$101>>2]|0; + $103 = ($102|0)==($5|0); + do { + if ($103) { + $113 = ((($5)) + 16|0); + $114 = ((($113)) + 4|0); + $115 = HEAP32[$114>>2]|0; + $116 = ($115|0)==(0|0); + if ($116) { + $117 = HEAP32[$113>>2]|0; + $118 = ($117|0)==(0|0); + if ($118) { + $$3 = 0; + break; + } else { + $$1272 = $117;$$1275 = $113; + } + } else { + $$1272 = $115;$$1275 = $114; + } + while(1) { + $119 = ((($$1272)) + 20|0); + $120 = HEAP32[$119>>2]|0; + $121 = ($120|0)==(0|0); + if (!($121)) { + $$1272 = $120;$$1275 = $119; + continue; + } + $122 = ((($$1272)) + 16|0); + $123 = HEAP32[$122>>2]|0; + $124 = ($123|0)==(0|0); + if ($124) { + break; + } else { + $$1272 = $123;$$1275 = $122; + } + } + $125 = ($$1275>>>0)<($6>>>0); + if ($125) { + _abort(); + // unreachable; + } else { + HEAP32[$$1275>>2] = 0; + $$3 = $$1272; + break; + } + } else { + $104 = ((($5)) + 8|0); + $105 = HEAP32[$104>>2]|0; + $106 = ($105>>>0)<($6>>>0); + if ($106) { + _abort(); + // unreachable; + } + $107 = ((($105)) + 12|0); + $108 = HEAP32[$107>>2]|0; + $109 = ($108|0)==($5|0); + if (!($109)) { + _abort(); + // unreachable; + } + $110 = ((($102)) + 8|0); + $111 = HEAP32[$110>>2]|0; + $112 = ($111|0)==($5|0); + if ($112) { + HEAP32[$107>>2] = $102; + HEAP32[$110>>2] = $105; + $$3 = $102; + break; + } else { + _abort(); + // unreachable; + } + } + } while(0); + $126 = ($100|0)==(0|0); + if (!($126)) { + $127 = ((($5)) + 28|0); + $128 = HEAP32[$127>>2]|0; + $129 = (28512 + ($128<<2)|0); + $130 = HEAP32[$129>>2]|0; + $131 = ($5|0)==($130|0); do { - if (!($88)) { - $89 = ($87>>>0)<($83>>>0); - if ($89) { + if ($131) { + HEAP32[$129>>2] = $$3; + $cond = ($$3|0)==(0|0); + if ($cond) { + $132 = 1 << $128; + $133 = $132 ^ -1; + $134 = HEAP32[(28212)>>2]|0; + $135 = $134 & $133; + HEAP32[(28212)>>2] = $135; + break L49; + } + } else { + $136 = HEAP32[(28224)>>2]|0; + $137 = ($100>>>0)<($136>>>0); + if ($137) { _abort(); // unreachable; } else { - $90 = ((($R$1)) + 16|0); - HEAP32[$90>>2] = $87; - $91 = ((($87)) + 24|0); - HEAP32[$91>>2] = $R$1; + $138 = ((($100)) + 16|0); + $139 = HEAP32[$138>>2]|0; + $not$ = ($139|0)!=($5|0); + $$sink1 = $not$&1; + $140 = (((($100)) + 16|0) + ($$sink1<<2)|0); + HEAP32[$140>>2] = $$3; + $141 = ($$3|0)==(0|0); + if ($141) { + break L49; + } else { + break; + } + } + } + } while(0); + $142 = HEAP32[(28224)>>2]|0; + $143 = ($$3>>>0)<($142>>>0); + if ($143) { + _abort(); + // unreachable; + } + $144 = ((($$3)) + 24|0); + HEAP32[$144>>2] = $100; + $145 = ((($5)) + 16|0); + $146 = HEAP32[$145>>2]|0; + $147 = ($146|0)==(0|0); + do { + if (!($147)) { + $148 = ($146>>>0)<($142>>>0); + if ($148) { + _abort(); + // unreachable; + } else { + $149 = ((($$3)) + 16|0); + HEAP32[$149>>2] = $146; + $150 = ((($146)) + 24|0); + HEAP32[$150>>2] = $$3; break; } } } while(0); - $$sum22 = (($$sum21) + 4)|0; - $92 = (($p) + ($$sum22)|0); - $93 = HEAP32[$92>>2]|0; - $94 = ($93|0)==(0|0); - if ($94) { - $$0 = $9;$$02 = $10; - } else { - $95 = HEAP32[(9172)>>2]|0; - $96 = ($93>>>0)<($95>>>0); - if ($96) { + $151 = ((($145)) + 4|0); + $152 = HEAP32[$151>>2]|0; + $153 = ($152|0)==(0|0); + if (!($153)) { + $154 = HEAP32[(28224)>>2]|0; + $155 = ($152>>>0)<($154>>>0); + if ($155) { _abort(); // unreachable; } else { - $97 = ((($R$1)) + 20|0); - HEAP32[$97>>2] = $93; - $98 = ((($93)) + 24|0); - HEAP32[$98>>2] = $R$1; - $$0 = $9;$$02 = $10; + $156 = ((($$3)) + 20|0); + HEAP32[$156>>2] = $152; + $157 = ((($152)) + 24|0); + HEAP32[$157>>2] = $$3; + break; + } + } + } + } + } while(0); + $158 = ($74>>>0)<(16); + $159 = $3 & 1; + if ($158) { + $160 = $72 | $159; + $161 = $160 | 2; + HEAP32[$2>>2] = $161; + $162 = (($0) + ($72)|0); + $163 = ((($162)) + 4|0); + $164 = HEAP32[$163>>2]|0; + $165 = $164 | 1; + HEAP32[$163>>2] = $165; + $$2 = $0; + return ($$2|0); + } else { + $166 = (($0) + ($1)|0); + $167 = $159 | $1; + $168 = $167 | 2; + HEAP32[$2>>2] = $168; + $169 = ((($166)) + 4|0); + $170 = $74 | 3; + HEAP32[$169>>2] = $170; + $171 = (($166) + ($74)|0); + $172 = ((($171)) + 4|0); + $173 = HEAP32[$172>>2]|0; + $174 = $173 | 1; + HEAP32[$172>>2] = $174; + _dispose_chunk($166,$74); + $$2 = $0; + return ($$2|0); + } + return (0)|0; +} +function _dispose_chunk($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0419 = 0, $$0420 = 0, $$0431 = 0, $$0438 = 0, $$1 = 0, $$1418 = 0, $$1426 = 0, $$1429 = 0, $$1433 = 0, $$1437 = 0, $$2 = 0, $$3 = 0, $$3435 = 0, $$pre = 0, $$pre$phi24Z2D = 0, $$pre$phi26Z2D = 0, $$pre$phiZ2D = 0, $$pre23 = 0, $$pre25 = 0, $$sink2 = 0; + var $$sink4 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0; + var $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0; + var $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0; + var $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0; + var $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0; + var $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0; + var $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0; + var $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0; + var $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0; + var $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0; + var $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0; + var $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; + var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0; + var $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0; + var $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0; + var $97 = 0, $98 = 0, $99 = 0, $cond = 0, $cond17 = 0, $not$ = 0, $not$1 = 0, $not$19 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = (($0) + ($1)|0); + $3 = ((($0)) + 4|0); + $4 = HEAP32[$3>>2]|0; + $5 = $4 & 1; + $6 = ($5|0)==(0); + L1: do { + if ($6) { + $7 = HEAP32[$0>>2]|0; + $8 = $4 & 3; + $9 = ($8|0)==(0); + if ($9) { + return; + } + $10 = (0 - ($7))|0; + $11 = (($0) + ($10)|0); + $12 = (($7) + ($1))|0; + $13 = HEAP32[(28224)>>2]|0; + $14 = ($11>>>0)<($13>>>0); + if ($14) { + _abort(); + // unreachable; + } + $15 = HEAP32[(28228)>>2]|0; + $16 = ($11|0)==($15|0); + if ($16) { + $100 = ((($2)) + 4|0); + $101 = HEAP32[$100>>2]|0; + $102 = $101 & 3; + $103 = ($102|0)==(3); + if (!($103)) { + $$1 = $11;$$1418 = $12; + break; + } + $104 = (($11) + ($12)|0); + $105 = ((($11)) + 4|0); + $106 = $12 | 1; + $107 = $101 & -2; + HEAP32[(28216)>>2] = $12; + HEAP32[$100>>2] = $107; + HEAP32[$105>>2] = $106; + HEAP32[$104>>2] = $12; + return; + } + $17 = $7 >>> 3; + $18 = ($7>>>0)<(256); + if ($18) { + $19 = ((($11)) + 8|0); + $20 = HEAP32[$19>>2]|0; + $21 = ((($11)) + 12|0); + $22 = HEAP32[$21>>2]|0; + $23 = $17 << 1; + $24 = (28248 + ($23<<2)|0); + $25 = ($20|0)==($24|0); + if (!($25)) { + $26 = ($20>>>0)<($13>>>0); + if ($26) { + _abort(); + // unreachable; + } + $27 = ((($20)) + 12|0); + $28 = HEAP32[$27>>2]|0; + $29 = ($28|0)==($11|0); + if (!($29)) { + _abort(); + // unreachable; + } + } + $30 = ($22|0)==($20|0); + if ($30) { + $31 = 1 << $17; + $32 = $31 ^ -1; + $33 = HEAP32[7052]|0; + $34 = $33 & $32; + HEAP32[7052] = $34; + $$1 = $11;$$1418 = $12; + break; + } + $35 = ($22|0)==($24|0); + if ($35) { + $$pre25 = ((($22)) + 8|0); + $$pre$phi26Z2D = $$pre25; + } else { + $36 = ($22>>>0)<($13>>>0); + if ($36) { + _abort(); + // unreachable; + } + $37 = ((($22)) + 8|0); + $38 = HEAP32[$37>>2]|0; + $39 = ($38|0)==($11|0); + if ($39) { + $$pre$phi26Z2D = $37; + } else { + _abort(); + // unreachable; + } + } + $40 = ((($20)) + 12|0); + HEAP32[$40>>2] = $22; + HEAP32[$$pre$phi26Z2D>>2] = $20; + $$1 = $11;$$1418 = $12; + break; + } + $41 = ((($11)) + 24|0); + $42 = HEAP32[$41>>2]|0; + $43 = ((($11)) + 12|0); + $44 = HEAP32[$43>>2]|0; + $45 = ($44|0)==($11|0); + do { + if ($45) { + $55 = ((($11)) + 16|0); + $56 = ((($55)) + 4|0); + $57 = HEAP32[$56>>2]|0; + $58 = ($57|0)==(0|0); + if ($58) { + $59 = HEAP32[$55>>2]|0; + $60 = ($59|0)==(0|0); + if ($60) { + $$3 = 0; + break; + } else { + $$1426 = $59;$$1429 = $55; + } + } else { + $$1426 = $57;$$1429 = $56; + } + while(1) { + $61 = ((($$1426)) + 20|0); + $62 = HEAP32[$61>>2]|0; + $63 = ($62|0)==(0|0); + if (!($63)) { + $$1426 = $62;$$1429 = $61; + continue; + } + $64 = ((($$1426)) + 16|0); + $65 = HEAP32[$64>>2]|0; + $66 = ($65|0)==(0|0); + if ($66) { + break; + } else { + $$1426 = $65;$$1429 = $64; + } + } + $67 = ($$1429>>>0)<($13>>>0); + if ($67) { + _abort(); + // unreachable; + } else { + HEAP32[$$1429>>2] = 0; + $$3 = $$1426; + break; + } + } else { + $46 = ((($11)) + 8|0); + $47 = HEAP32[$46>>2]|0; + $48 = ($47>>>0)<($13>>>0); + if ($48) { + _abort(); + // unreachable; + } + $49 = ((($47)) + 12|0); + $50 = HEAP32[$49>>2]|0; + $51 = ($50|0)==($11|0); + if (!($51)) { + _abort(); + // unreachable; + } + $52 = ((($44)) + 8|0); + $53 = HEAP32[$52>>2]|0; + $54 = ($53|0)==($11|0); + if ($54) { + HEAP32[$49>>2] = $44; + HEAP32[$52>>2] = $47; + $$3 = $44; + break; + } else { + _abort(); + // unreachable; + } + } + } while(0); + $68 = ($42|0)==(0|0); + if ($68) { + $$1 = $11;$$1418 = $12; + } else { + $69 = ((($11)) + 28|0); + $70 = HEAP32[$69>>2]|0; + $71 = (28512 + ($70<<2)|0); + $72 = HEAP32[$71>>2]|0; + $73 = ($11|0)==($72|0); + do { + if ($73) { + HEAP32[$71>>2] = $$3; + $cond = ($$3|0)==(0|0); + if ($cond) { + $74 = 1 << $70; + $75 = $74 ^ -1; + $76 = HEAP32[(28212)>>2]|0; + $77 = $76 & $75; + HEAP32[(28212)>>2] = $77; + $$1 = $11;$$1418 = $12; + break L1; + } + } else { + $78 = HEAP32[(28224)>>2]|0; + $79 = ($42>>>0)<($78>>>0); + if ($79) { + _abort(); + // unreachable; + } else { + $80 = ((($42)) + 16|0); + $81 = HEAP32[$80>>2]|0; + $not$1 = ($81|0)!=($11|0); + $$sink2 = $not$1&1; + $82 = (((($42)) + 16|0) + ($$sink2<<2)|0); + HEAP32[$82>>2] = $$3; + $83 = ($$3|0)==(0|0); + if ($83) { + $$1 = $11;$$1418 = $12; + break L1; + } else { + break; + } + } + } + } while(0); + $84 = HEAP32[(28224)>>2]|0; + $85 = ($$3>>>0)<($84>>>0); + if ($85) { + _abort(); + // unreachable; + } + $86 = ((($$3)) + 24|0); + HEAP32[$86>>2] = $42; + $87 = ((($11)) + 16|0); + $88 = HEAP32[$87>>2]|0; + $89 = ($88|0)==(0|0); + do { + if (!($89)) { + $90 = ($88>>>0)<($84>>>0); + if ($90) { + _abort(); + // unreachable; + } else { + $91 = ((($$3)) + 16|0); + HEAP32[$91>>2] = $88; + $92 = ((($88)) + 24|0); + HEAP32[$92>>2] = $$3; + break; + } + } + } while(0); + $93 = ((($87)) + 4|0); + $94 = HEAP32[$93>>2]|0; + $95 = ($94|0)==(0|0); + if ($95) { + $$1 = $11;$$1418 = $12; + } else { + $96 = HEAP32[(28224)>>2]|0; + $97 = ($94>>>0)<($96>>>0); + if ($97) { + _abort(); + // unreachable; + } else { + $98 = ((($$3)) + 20|0); + HEAP32[$98>>2] = $94; + $99 = ((($94)) + 24|0); + HEAP32[$99>>2] = $$3; + $$1 = $11;$$1418 = $12; break; } } } } else { - $$0 = $p;$$02 = $psize; + $$1 = $0;$$1418 = $1; } } while(0); - $106 = HEAP32[(9172)>>2]|0; - $107 = ($0>>>0)<($106>>>0); - if ($107) { + $108 = HEAP32[(28224)>>2]|0; + $109 = ($2>>>0)<($108>>>0); + if ($109) { _abort(); // unreachable; } - $$sum1 = (($psize) + 4)|0; - $108 = (($p) + ($$sum1)|0); - $109 = HEAP32[$108>>2]|0; - $110 = $109 & 2; - $111 = ($110|0)==(0); - if ($111) { - $112 = HEAP32[(9180)>>2]|0; - $113 = ($0|0)==($112|0); - if ($113) { - $114 = HEAP32[(9168)>>2]|0; - $115 = (($114) + ($$02))|0; - HEAP32[(9168)>>2] = $115; - HEAP32[(9180)>>2] = $$0; - $116 = $115 | 1; - $117 = ((($$0)) + 4|0); - HEAP32[$117>>2] = $116; - $118 = HEAP32[(9176)>>2]|0; - $119 = ($$0|0)==($118|0); - if (!($119)) { + $110 = ((($2)) + 4|0); + $111 = HEAP32[$110>>2]|0; + $112 = $111 & 2; + $113 = ($112|0)==(0); + if ($113) { + $114 = HEAP32[(28232)>>2]|0; + $115 = ($2|0)==($114|0); + $116 = HEAP32[(28228)>>2]|0; + if ($115) { + $117 = HEAP32[(28220)>>2]|0; + $118 = (($117) + ($$1418))|0; + HEAP32[(28220)>>2] = $118; + HEAP32[(28232)>>2] = $$1; + $119 = $118 | 1; + $120 = ((($$1)) + 4|0); + HEAP32[$120>>2] = $119; + $121 = ($$1|0)==($116|0); + if (!($121)) { return; } - HEAP32[(9176)>>2] = 0; - HEAP32[(9164)>>2] = 0; + HEAP32[(28228)>>2] = 0; + HEAP32[(28216)>>2] = 0; return; } - $120 = HEAP32[(9176)>>2]|0; - $121 = ($0|0)==($120|0); - if ($121) { - $122 = HEAP32[(9164)>>2]|0; - $123 = (($122) + ($$02))|0; - HEAP32[(9164)>>2] = $123; - HEAP32[(9176)>>2] = $$0; - $124 = $123 | 1; - $125 = ((($$0)) + 4|0); - HEAP32[$125>>2] = $124; - $126 = (($$0) + ($123)|0); - HEAP32[$126>>2] = $123; + $122 = ($2|0)==($116|0); + if ($122) { + $123 = HEAP32[(28216)>>2]|0; + $124 = (($123) + ($$1418))|0; + HEAP32[(28216)>>2] = $124; + HEAP32[(28228)>>2] = $$1; + $125 = $124 | 1; + $126 = ((($$1)) + 4|0); + HEAP32[$126>>2] = $125; + $127 = (($$1) + ($124)|0); + HEAP32[$127>>2] = $124; return; } - $127 = $109 & -8; - $128 = (($127) + ($$02))|0; - $129 = $109 >>> 3; - $130 = ($109>>>0)<(256); - do { - if ($130) { - $$sum12 = (($psize) + 8)|0; - $131 = (($p) + ($$sum12)|0); - $132 = HEAP32[$131>>2]|0; - $$sum13 = (($psize) + 12)|0; - $133 = (($p) + ($$sum13)|0); - $134 = HEAP32[$133>>2]|0; - $135 = $129 << 1; - $136 = (9196 + ($135<<2)|0); - $137 = ($132|0)==($136|0); - if (!($137)) { - $138 = ($132>>>0)<($106>>>0); - if ($138) { + $128 = $111 & -8; + $129 = (($128) + ($$1418))|0; + $130 = $111 >>> 3; + $131 = ($111>>>0)<(256); + L96: do { + if ($131) { + $132 = ((($2)) + 8|0); + $133 = HEAP32[$132>>2]|0; + $134 = ((($2)) + 12|0); + $135 = HEAP32[$134>>2]|0; + $136 = $130 << 1; + $137 = (28248 + ($136<<2)|0); + $138 = ($133|0)==($137|0); + if (!($138)) { + $139 = ($133>>>0)<($108>>>0); + if ($139) { _abort(); // unreachable; } - $139 = ((($132)) + 12|0); - $140 = HEAP32[$139>>2]|0; - $141 = ($140|0)==($0|0); - if (!($141)) { + $140 = ((($133)) + 12|0); + $141 = HEAP32[$140>>2]|0; + $142 = ($141|0)==($2|0); + if (!($142)) { _abort(); // unreachable; } } - $142 = ($134|0)==($132|0); - if ($142) { - $143 = 1 << $129; - $144 = $143 ^ -1; - $145 = HEAP32[9156>>2]|0; - $146 = $145 & $144; - HEAP32[9156>>2] = $146; + $143 = ($135|0)==($133|0); + if ($143) { + $144 = 1 << $130; + $145 = $144 ^ -1; + $146 = HEAP32[7052]|0; + $147 = $146 & $145; + HEAP32[7052] = $147; break; } - $147 = ($134|0)==($136|0); - if ($147) { - $$pre49 = ((($134)) + 8|0); - $$pre$phi50Z2D = $$pre49; + $148 = ($135|0)==($137|0); + if ($148) { + $$pre23 = ((($135)) + 8|0); + $$pre$phi24Z2D = $$pre23; } else { - $148 = ($134>>>0)<($106>>>0); - if ($148) { + $149 = ($135>>>0)<($108>>>0); + if ($149) { _abort(); // unreachable; } - $149 = ((($134)) + 8|0); - $150 = HEAP32[$149>>2]|0; - $151 = ($150|0)==($0|0); - if ($151) { - $$pre$phi50Z2D = $149; + $150 = ((($135)) + 8|0); + $151 = HEAP32[$150>>2]|0; + $152 = ($151|0)==($2|0); + if ($152) { + $$pre$phi24Z2D = $150; } else { _abort(); // unreachable; } } - $152 = ((($132)) + 12|0); - HEAP32[$152>>2] = $134; - HEAP32[$$pre$phi50Z2D>>2] = $132; + $153 = ((($133)) + 12|0); + HEAP32[$153>>2] = $135; + HEAP32[$$pre$phi24Z2D>>2] = $133; } else { - $$sum2 = (($psize) + 24)|0; - $153 = (($p) + ($$sum2)|0); - $154 = HEAP32[$153>>2]|0; - $$sum3 = (($psize) + 12)|0; - $155 = (($p) + ($$sum3)|0); - $156 = HEAP32[$155>>2]|0; - $157 = ($156|0)==($0|0); + $154 = ((($2)) + 24|0); + $155 = HEAP32[$154>>2]|0; + $156 = ((($2)) + 12|0); + $157 = HEAP32[$156>>2]|0; + $158 = ($157|0)==($2|0); do { - if ($157) { - $$sum5 = (($psize) + 20)|0; - $167 = (($p) + ($$sum5)|0); - $168 = HEAP32[$167>>2]|0; - $169 = ($168|0)==(0|0); - if ($169) { - $$sum4 = (($psize) + 16)|0; - $170 = (($p) + ($$sum4)|0); - $171 = HEAP32[$170>>2]|0; - $172 = ($171|0)==(0|0); - if ($172) { - $R7$1 = 0; + if ($158) { + $168 = ((($2)) + 16|0); + $169 = ((($168)) + 4|0); + $170 = HEAP32[$169>>2]|0; + $171 = ($170|0)==(0|0); + if ($171) { + $172 = HEAP32[$168>>2]|0; + $173 = ($172|0)==(0|0); + if ($173) { + $$3435 = 0; break; } else { - $R7$0 = $171;$RP9$0 = $170; + $$1433 = $172;$$1437 = $168; } } else { - $R7$0 = $168;$RP9$0 = $167; + $$1433 = $170;$$1437 = $169; } while(1) { - $173 = ((($R7$0)) + 20|0); - $174 = HEAP32[$173>>2]|0; - $175 = ($174|0)==(0|0); - if (!($175)) { - $R7$0 = $174;$RP9$0 = $173; + $174 = ((($$1433)) + 20|0); + $175 = HEAP32[$174>>2]|0; + $176 = ($175|0)==(0|0); + if (!($176)) { + $$1433 = $175;$$1437 = $174; continue; } - $176 = ((($R7$0)) + 16|0); - $177 = HEAP32[$176>>2]|0; - $178 = ($177|0)==(0|0); - if ($178) { - $R7$0$lcssa = $R7$0;$RP9$0$lcssa = $RP9$0; + $177 = ((($$1433)) + 16|0); + $178 = HEAP32[$177>>2]|0; + $179 = ($178|0)==(0|0); + if ($179) { break; } else { - $R7$0 = $177;$RP9$0 = $176; + $$1433 = $178;$$1437 = $177; } } - $179 = ($RP9$0$lcssa>>>0)<($106>>>0); - if ($179) { + $180 = ($$1437>>>0)<($108>>>0); + if ($180) { _abort(); // unreachable; } else { - HEAP32[$RP9$0$lcssa>>2] = 0; - $R7$1 = $R7$0$lcssa; + HEAP32[$$1437>>2] = 0; + $$3435 = $$1433; break; } } else { - $$sum11 = (($psize) + 8)|0; - $158 = (($p) + ($$sum11)|0); - $159 = HEAP32[$158>>2]|0; - $160 = ($159>>>0)<($106>>>0); - if ($160) { + $159 = ((($2)) + 8|0); + $160 = HEAP32[$159>>2]|0; + $161 = ($160>>>0)<($108>>>0); + if ($161) { _abort(); // unreachable; } - $161 = ((($159)) + 12|0); - $162 = HEAP32[$161>>2]|0; - $163 = ($162|0)==($0|0); - if (!($163)) { + $162 = ((($160)) + 12|0); + $163 = HEAP32[$162>>2]|0; + $164 = ($163|0)==($2|0); + if (!($164)) { _abort(); // unreachable; } - $164 = ((($156)) + 8|0); - $165 = HEAP32[$164>>2]|0; - $166 = ($165|0)==($0|0); - if ($166) { - HEAP32[$161>>2] = $156; - HEAP32[$164>>2] = $159; - $R7$1 = $156; + $165 = ((($157)) + 8|0); + $166 = HEAP32[$165>>2]|0; + $167 = ($166|0)==($2|0); + if ($167) { + HEAP32[$162>>2] = $157; + HEAP32[$165>>2] = $160; + $$3435 = $157; break; } else { _abort(); @@ -63895,56 +67397,56 @@ function _dispose_chunk($p,$psize) { } } } while(0); - $180 = ($154|0)==(0|0); - if (!($180)) { - $$sum8 = (($psize) + 28)|0; - $181 = (($p) + ($$sum8)|0); - $182 = HEAP32[$181>>2]|0; - $183 = (9460 + ($182<<2)|0); - $184 = HEAP32[$183>>2]|0; - $185 = ($0|0)==($184|0); - if ($185) { - HEAP32[$183>>2] = $R7$1; - $cond39 = ($R7$1|0)==(0|0); - if ($cond39) { - $186 = 1 << $182; - $187 = $186 ^ -1; - $188 = HEAP32[(9160)>>2]|0; - $189 = $188 & $187; - HEAP32[(9160)>>2] = $189; - break; - } - } else { - $190 = HEAP32[(9172)>>2]|0; - $191 = ($154>>>0)<($190>>>0); - if ($191) { - _abort(); - // unreachable; - } - $192 = ((($154)) + 16|0); - $193 = HEAP32[$192>>2]|0; - $194 = ($193|0)==($0|0); - if ($194) { - HEAP32[$192>>2] = $R7$1; + $181 = ($155|0)==(0|0); + if (!($181)) { + $182 = ((($2)) + 28|0); + $183 = HEAP32[$182>>2]|0; + $184 = (28512 + ($183<<2)|0); + $185 = HEAP32[$184>>2]|0; + $186 = ($2|0)==($185|0); + do { + if ($186) { + HEAP32[$184>>2] = $$3435; + $cond17 = ($$3435|0)==(0|0); + if ($cond17) { + $187 = 1 << $183; + $188 = $187 ^ -1; + $189 = HEAP32[(28212)>>2]|0; + $190 = $189 & $188; + HEAP32[(28212)>>2] = $190; + break L96; + } } else { - $195 = ((($154)) + 20|0); - HEAP32[$195>>2] = $R7$1; + $191 = HEAP32[(28224)>>2]|0; + $192 = ($155>>>0)<($191>>>0); + if ($192) { + _abort(); + // unreachable; + } else { + $193 = ((($155)) + 16|0); + $194 = HEAP32[$193>>2]|0; + $not$ = ($194|0)!=($2|0); + $$sink4 = $not$&1; + $195 = (((($155)) + 16|0) + ($$sink4<<2)|0); + HEAP32[$195>>2] = $$3435; + $196 = ($$3435|0)==(0|0); + if ($196) { + break L96; + } else { + break; + } + } } - $196 = ($R7$1|0)==(0|0); - if ($196) { - break; - } - } - $197 = HEAP32[(9172)>>2]|0; - $198 = ($R7$1>>>0)<($197>>>0); + } while(0); + $197 = HEAP32[(28224)>>2]|0; + $198 = ($$3435>>>0)<($197>>>0); if ($198) { _abort(); // unreachable; } - $199 = ((($R7$1)) + 24|0); - HEAP32[$199>>2] = $154; - $$sum9 = (($psize) + 16)|0; - $200 = (($p) + ($$sum9)|0); + $199 = ((($$3435)) + 24|0); + HEAP32[$199>>2] = $155; + $200 = ((($2)) + 16|0); $201 = HEAP32[$200>>2]|0; $202 = ($201|0)==(0|0); do { @@ -63954,103 +67456,100 @@ function _dispose_chunk($p,$psize) { _abort(); // unreachable; } else { - $204 = ((($R7$1)) + 16|0); + $204 = ((($$3435)) + 16|0); HEAP32[$204>>2] = $201; $205 = ((($201)) + 24|0); - HEAP32[$205>>2] = $R7$1; + HEAP32[$205>>2] = $$3435; break; } } } while(0); - $$sum10 = (($psize) + 20)|0; - $206 = (($p) + ($$sum10)|0); + $206 = ((($200)) + 4|0); $207 = HEAP32[$206>>2]|0; $208 = ($207|0)==(0|0); if (!($208)) { - $209 = HEAP32[(9172)>>2]|0; + $209 = HEAP32[(28224)>>2]|0; $210 = ($207>>>0)<($209>>>0); if ($210) { _abort(); // unreachable; } else { - $211 = ((($R7$1)) + 20|0); + $211 = ((($$3435)) + 20|0); HEAP32[$211>>2] = $207; $212 = ((($207)) + 24|0); - HEAP32[$212>>2] = $R7$1; + HEAP32[$212>>2] = $$3435; break; } } } } } while(0); - $213 = $128 | 1; - $214 = ((($$0)) + 4|0); + $213 = $129 | 1; + $214 = ((($$1)) + 4|0); HEAP32[$214>>2] = $213; - $215 = (($$0) + ($128)|0); - HEAP32[$215>>2] = $128; - $216 = HEAP32[(9176)>>2]|0; - $217 = ($$0|0)==($216|0); + $215 = (($$1) + ($129)|0); + HEAP32[$215>>2] = $129; + $216 = HEAP32[(28228)>>2]|0; + $217 = ($$1|0)==($216|0); if ($217) { - HEAP32[(9164)>>2] = $128; + HEAP32[(28216)>>2] = $129; return; } else { - $$1 = $128; + $$2 = $129; } } else { - $218 = $109 & -2; - HEAP32[$108>>2] = $218; - $219 = $$02 | 1; - $220 = ((($$0)) + 4|0); + $218 = $111 & -2; + HEAP32[$110>>2] = $218; + $219 = $$1418 | 1; + $220 = ((($$1)) + 4|0); HEAP32[$220>>2] = $219; - $221 = (($$0) + ($$02)|0); - HEAP32[$221>>2] = $$02; - $$1 = $$02; + $221 = (($$1) + ($$1418)|0); + HEAP32[$221>>2] = $$1418; + $$2 = $$1418; } - $222 = $$1 >>> 3; - $223 = ($$1>>>0)<(256); + $222 = $$2 >>> 3; + $223 = ($$2>>>0)<(256); if ($223) { $224 = $222 << 1; - $225 = (9196 + ($224<<2)|0); - $226 = HEAP32[9156>>2]|0; + $225 = (28248 + ($224<<2)|0); + $226 = HEAP32[7052]|0; $227 = 1 << $222; $228 = $226 & $227; $229 = ($228|0)==(0); if ($229) { $230 = $226 | $227; - HEAP32[9156>>2] = $230; - $$pre = (($224) + 2)|0; - $$pre48 = (9196 + ($$pre<<2)|0); - $$pre$phiZ2D = $$pre48;$F16$0 = $225; + HEAP32[7052] = $230; + $$pre = ((($225)) + 8|0); + $$0438 = $225;$$pre$phiZ2D = $$pre; } else { - $$sum7 = (($224) + 2)|0; - $231 = (9196 + ($$sum7<<2)|0); + $231 = ((($225)) + 8|0); $232 = HEAP32[$231>>2]|0; - $233 = HEAP32[(9172)>>2]|0; + $233 = HEAP32[(28224)>>2]|0; $234 = ($232>>>0)<($233>>>0); if ($234) { _abort(); // unreachable; } else { - $$pre$phiZ2D = $231;$F16$0 = $232; + $$0438 = $232;$$pre$phiZ2D = $231; } } - HEAP32[$$pre$phiZ2D>>2] = $$0; - $235 = ((($F16$0)) + 12|0); - HEAP32[$235>>2] = $$0; - $236 = ((($$0)) + 8|0); - HEAP32[$236>>2] = $F16$0; - $237 = ((($$0)) + 12|0); + HEAP32[$$pre$phiZ2D>>2] = $$1; + $235 = ((($$0438)) + 12|0); + HEAP32[$235>>2] = $$1; + $236 = ((($$1)) + 8|0); + HEAP32[$236>>2] = $$0438; + $237 = ((($$1)) + 12|0); HEAP32[$237>>2] = $225; return; } - $238 = $$1 >>> 8; + $238 = $$2 >>> 8; $239 = ($238|0)==(0); if ($239) { - $I19$0 = 0; + $$0431 = 0; } else { - $240 = ($$1>>>0)>(16777215); + $240 = ($$2>>>0)>(16777215); if ($240) { - $I19$0 = 31; + $$0431 = 31; } else { $241 = (($238) + 1048320)|0; $242 = $241 >>> 16; @@ -64071,165 +67570,151 @@ function _dispose_chunk($p,$psize) { $257 = (($254) + ($256))|0; $258 = $257 << 1; $259 = (($257) + 7)|0; - $260 = $$1 >>> $259; + $260 = $$2 >>> $259; $261 = $260 & 1; $262 = $261 | $258; - $I19$0 = $262; + $$0431 = $262; } } - $263 = (9460 + ($I19$0<<2)|0); - $264 = ((($$0)) + 28|0); - HEAP32[$264>>2] = $I19$0; - $265 = ((($$0)) + 16|0); - $266 = ((($$0)) + 20|0); + $263 = (28512 + ($$0431<<2)|0); + $264 = ((($$1)) + 28|0); + HEAP32[$264>>2] = $$0431; + $265 = ((($$1)) + 16|0); + $266 = ((($$1)) + 20|0); HEAP32[$266>>2] = 0; HEAP32[$265>>2] = 0; - $267 = HEAP32[(9160)>>2]|0; - $268 = 1 << $I19$0; + $267 = HEAP32[(28212)>>2]|0; + $268 = 1 << $$0431; $269 = $267 & $268; $270 = ($269|0)==(0); if ($270) { $271 = $267 | $268; - HEAP32[(9160)>>2] = $271; - HEAP32[$263>>2] = $$0; - $272 = ((($$0)) + 24|0); + HEAP32[(28212)>>2] = $271; + HEAP32[$263>>2] = $$1; + $272 = ((($$1)) + 24|0); HEAP32[$272>>2] = $263; - $273 = ((($$0)) + 12|0); - HEAP32[$273>>2] = $$0; - $274 = ((($$0)) + 8|0); - HEAP32[$274>>2] = $$0; + $273 = ((($$1)) + 12|0); + HEAP32[$273>>2] = $$1; + $274 = ((($$1)) + 8|0); + HEAP32[$274>>2] = $$1; return; } $275 = HEAP32[$263>>2]|0; - $276 = ((($275)) + 4|0); - $277 = HEAP32[$276>>2]|0; - $278 = $277 & -8; - $279 = ($278|0)==($$1|0); - L191: do { - if ($279) { - $T$0$lcssa = $275; - } else { - $280 = ($I19$0|0)==(31); - $281 = $I19$0 >>> 1; - $282 = (25 - ($281))|0; - $283 = $280 ? 0 : $282; - $284 = $$1 << $283; - $K20$043 = $284;$T$042 = $275; - while(1) { - $291 = $K20$043 >>> 31; - $292 = (((($T$042)) + 16|0) + ($291<<2)|0); - $287 = HEAP32[$292>>2]|0; - $293 = ($287|0)==(0|0); - if ($293) { - $$lcssa = $292;$T$042$lcssa = $T$042; - break; - } - $285 = $K20$043 << 1; - $286 = ((($287)) + 4|0); - $288 = HEAP32[$286>>2]|0; - $289 = $288 & -8; - $290 = ($289|0)==($$1|0); - if ($290) { - $T$0$lcssa = $287; - break L191; - } else { - $K20$043 = $285;$T$042 = $287; - } - } - $294 = HEAP32[(9172)>>2]|0; - $295 = ($$lcssa>>>0)<($294>>>0); - if ($295) { - _abort(); - // unreachable; - } - HEAP32[$$lcssa>>2] = $$0; - $296 = ((($$0)) + 24|0); - HEAP32[$296>>2] = $T$042$lcssa; - $297 = ((($$0)) + 12|0); - HEAP32[$297>>2] = $$0; - $298 = ((($$0)) + 8|0); - HEAP32[$298>>2] = $$0; - return; + $276 = ($$0431|0)==(31); + $277 = $$0431 >>> 1; + $278 = (25 - ($277))|0; + $279 = $276 ? 0 : $278; + $280 = $$2 << $279; + $$0419 = $280;$$0420 = $275; + while(1) { + $281 = ((($$0420)) + 4|0); + $282 = HEAP32[$281>>2]|0; + $283 = $282 & -8; + $284 = ($283|0)==($$2|0); + if ($284) { + label = 121; + break; + } + $285 = $$0419 >>> 31; + $286 = (((($$0420)) + 16|0) + ($285<<2)|0); + $287 = $$0419 << 1; + $288 = HEAP32[$286>>2]|0; + $289 = ($288|0)==(0|0); + if ($289) { + label = 118; + break; + } else { + $$0419 = $287;$$0420 = $288; } - } while(0); - $299 = ((($T$0$lcssa)) + 8|0); - $300 = HEAP32[$299>>2]|0; - $301 = HEAP32[(9172)>>2]|0; - $302 = ($300>>>0)>=($301>>>0); - $not$ = ($T$0$lcssa>>>0)>=($301>>>0); - $303 = $302 & $not$; - if (!($303)) { - _abort(); - // unreachable; } - $304 = ((($300)) + 12|0); - HEAP32[$304>>2] = $$0; - HEAP32[$299>>2] = $$0; - $305 = ((($$0)) + 8|0); - HEAP32[$305>>2] = $300; - $306 = ((($$0)) + 12|0); - HEAP32[$306>>2] = $T$0$lcssa; - $307 = ((($$0)) + 24|0); - HEAP32[$307>>2] = 0; - return; + if ((label|0) == 118) { + $290 = HEAP32[(28224)>>2]|0; + $291 = ($286>>>0)<($290>>>0); + if ($291) { + _abort(); + // unreachable; + } + HEAP32[$286>>2] = $$1; + $292 = ((($$1)) + 24|0); + HEAP32[$292>>2] = $$0420; + $293 = ((($$1)) + 12|0); + HEAP32[$293>>2] = $$1; + $294 = ((($$1)) + 8|0); + HEAP32[$294>>2] = $$1; + return; + } + else if ((label|0) == 121) { + $295 = ((($$0420)) + 8|0); + $296 = HEAP32[$295>>2]|0; + $297 = HEAP32[(28224)>>2]|0; + $298 = ($296>>>0)>=($297>>>0); + $not$19 = ($$0420>>>0)>=($297>>>0); + $299 = $298 & $not$19; + if (!($299)) { + _abort(); + // unreachable; + } + $300 = ((($296)) + 12|0); + HEAP32[$300>>2] = $$1; + HEAP32[$295>>2] = $$1; + $301 = ((($$1)) + 8|0); + HEAP32[$301>>2] = $296; + $302 = ((($$1)) + 12|0); + HEAP32[$302>>2] = $$0420; + $303 = ((($$1)) + 24|0); + HEAP32[$303>>2] = 0; + return; + } } function runPostSets() { } -function _memcpy(dest, src, num) { - dest = dest|0; src = src|0; num = num|0; - var ret = 0; - if ((num|0) >= 4096) return _emscripten_memcpy_big(dest|0, src|0, num|0)|0; - ret = dest|0; - if ((dest&3) == (src&3)) { - while (dest & 3) { - if ((num|0) == 0) return ret|0; - HEAP8[((dest)>>0)]=((HEAP8[((src)>>0)])|0); - dest = (dest+1)|0; - src = (src+1)|0; - num = (num-1)|0; - } - while ((num|0) >= 4) { - HEAP32[((dest)>>2)]=((HEAP32[((src)>>2)])|0); - dest = (dest+4)|0; - src = (src+4)|0; - num = (num-4)|0; - } - } - while ((num|0) > 0) { - HEAP8[((dest)>>0)]=((HEAP8[((src)>>0)])|0); - dest = (dest+1)|0; - src = (src+1)|0; - num = (num-1)|0; - } - return ret|0; -} function _memset(ptr, value, num) { ptr = ptr|0; value = value|0; num = num|0; - var stop = 0, value4 = 0, stop4 = 0, unaligned = 0; - stop = (ptr + num)|0; - if ((num|0) >= 20) { - // This is unaligned, but quite large, so work hard to get to aligned settings - value = value & 0xff; - unaligned = ptr & 3; - value4 = value | (value << 8) | (value << 16) | (value << 24); - stop4 = stop & ~3; - if (unaligned) { - unaligned = (ptr + 4 - unaligned)|0; - while ((ptr|0) < (unaligned|0)) { // no need to check for stop, since we have large num - HEAP8[((ptr)>>0)]=value; - ptr = (ptr+1)|0; - } + var end = 0, aligned_end = 0, block_aligned_end = 0, value4 = 0; + end = (ptr + num)|0; + + value = value & 0xff; + if ((num|0) >= 67 /* 64 bytes for an unrolled loop + 3 bytes for unaligned head*/) { + while ((ptr&3) != 0) { + HEAP8[((ptr)>>0)]=value; + ptr = (ptr+1)|0; } - while ((ptr|0) < (stop4|0)) { + + aligned_end = (end & -4)|0; + block_aligned_end = (aligned_end - 64)|0; + value4 = value | (value << 8) | (value << 16) | (value << 24); + + while((ptr|0) <= (block_aligned_end|0)) { + HEAP32[((ptr)>>2)]=value4; + HEAP32[(((ptr)+(4))>>2)]=value4; + HEAP32[(((ptr)+(8))>>2)]=value4; + HEAP32[(((ptr)+(12))>>2)]=value4; + HEAP32[(((ptr)+(16))>>2)]=value4; + HEAP32[(((ptr)+(20))>>2)]=value4; + HEAP32[(((ptr)+(24))>>2)]=value4; + HEAP32[(((ptr)+(28))>>2)]=value4; + HEAP32[(((ptr)+(32))>>2)]=value4; + HEAP32[(((ptr)+(36))>>2)]=value4; + HEAP32[(((ptr)+(40))>>2)]=value4; + HEAP32[(((ptr)+(44))>>2)]=value4; + HEAP32[(((ptr)+(48))>>2)]=value4; + HEAP32[(((ptr)+(52))>>2)]=value4; + HEAP32[(((ptr)+(56))>>2)]=value4; + HEAP32[(((ptr)+(60))>>2)]=value4; + ptr = (ptr + 64)|0; + } + + while ((ptr|0) < (aligned_end|0) ) { HEAP32[((ptr)>>2)]=value4; ptr = (ptr+4)|0; } } - while ((ptr|0) < (stop|0)) { + // The remaining bytes. + while ((ptr|0) < (end|0)) { HEAP8[((ptr)>>0)]=value; ptr = (ptr+1)|0; } - return (ptr-num)|0; + return (end-num)|0; } function _i64Subtract(a, b, c, d) { a = a|0; b = b|0; c = c|0; d = d|0; @@ -64251,6 +67736,103 @@ function _i64Add(a, b, c, d) { h = (b + d + (((l>>>0) < (a>>>0))|0))>>>0; // Add carry from low word to high word on overflow. return ((tempRet0 = h,l|0)|0); } +function ___muldsi3($a, $b) { + $a = $a | 0; + $b = $b | 0; + var $1 = 0, $2 = 0, $3 = 0, $6 = 0, $8 = 0, $11 = 0, $12 = 0; + $1 = $a & 65535; + $2 = $b & 65535; + $3 = Math_imul($2, $1) | 0; + $6 = $a >>> 16; + $8 = ($3 >>> 16) + (Math_imul($2, $6) | 0) | 0; + $11 = $b >>> 16; + $12 = Math_imul($11, $1) | 0; + return (tempRet0 = (($8 >>> 16) + (Math_imul($11, $6) | 0) | 0) + ((($8 & 65535) + $12 | 0) >>> 16) | 0, 0 | ($8 + $12 << 16 | $3 & 65535)) | 0; +} +function ___muldi3($a$0, $a$1, $b$0, $b$1) { + $a$0 = $a$0 | 0; + $a$1 = $a$1 | 0; + $b$0 = $b$0 | 0; + $b$1 = $b$1 | 0; + var $x_sroa_0_0_extract_trunc = 0, $y_sroa_0_0_extract_trunc = 0, $1$0 = 0, $1$1 = 0, $2 = 0; + $x_sroa_0_0_extract_trunc = $a$0; + $y_sroa_0_0_extract_trunc = $b$0; + $1$0 = ___muldsi3($x_sroa_0_0_extract_trunc, $y_sroa_0_0_extract_trunc) | 0; + $1$1 = tempRet0; + $2 = Math_imul($a$1, $y_sroa_0_0_extract_trunc) | 0; + return (tempRet0 = ((Math_imul($b$1, $x_sroa_0_0_extract_trunc) | 0) + $2 | 0) + $1$1 | $1$1 & 0, 0 | $1$0 & -1) | 0; +} +function _memcpy(dest, src, num) { + dest = dest|0; src = src|0; num = num|0; + var ret = 0; + var aligned_dest_end = 0; + var block_aligned_dest_end = 0; + var dest_end = 0; + // Test against a benchmarked cutoff limit for when HEAPU8.set() becomes faster to use. + if ((num|0) >= + 8192 + ) { + return _emscripten_memcpy_big(dest|0, src|0, num|0)|0; + } + + ret = dest|0; + dest_end = (dest + num)|0; + if ((dest&3) == (src&3)) { + // The initial unaligned < 4-byte front. + while (dest & 3) { + if ((num|0) == 0) return ret|0; + HEAP8[((dest)>>0)]=((HEAP8[((src)>>0)])|0); + dest = (dest+1)|0; + src = (src+1)|0; + num = (num-1)|0; + } + aligned_dest_end = (dest_end & -4)|0; + block_aligned_dest_end = (aligned_dest_end - 64)|0; + while ((dest|0) <= (block_aligned_dest_end|0) ) { + HEAP32[((dest)>>2)]=((HEAP32[((src)>>2)])|0); + HEAP32[(((dest)+(4))>>2)]=((HEAP32[(((src)+(4))>>2)])|0); + HEAP32[(((dest)+(8))>>2)]=((HEAP32[(((src)+(8))>>2)])|0); + HEAP32[(((dest)+(12))>>2)]=((HEAP32[(((src)+(12))>>2)])|0); + HEAP32[(((dest)+(16))>>2)]=((HEAP32[(((src)+(16))>>2)])|0); + HEAP32[(((dest)+(20))>>2)]=((HEAP32[(((src)+(20))>>2)])|0); + HEAP32[(((dest)+(24))>>2)]=((HEAP32[(((src)+(24))>>2)])|0); + HEAP32[(((dest)+(28))>>2)]=((HEAP32[(((src)+(28))>>2)])|0); + HEAP32[(((dest)+(32))>>2)]=((HEAP32[(((src)+(32))>>2)])|0); + HEAP32[(((dest)+(36))>>2)]=((HEAP32[(((src)+(36))>>2)])|0); + HEAP32[(((dest)+(40))>>2)]=((HEAP32[(((src)+(40))>>2)])|0); + HEAP32[(((dest)+(44))>>2)]=((HEAP32[(((src)+(44))>>2)])|0); + HEAP32[(((dest)+(48))>>2)]=((HEAP32[(((src)+(48))>>2)])|0); + HEAP32[(((dest)+(52))>>2)]=((HEAP32[(((src)+(52))>>2)])|0); + HEAP32[(((dest)+(56))>>2)]=((HEAP32[(((src)+(56))>>2)])|0); + HEAP32[(((dest)+(60))>>2)]=((HEAP32[(((src)+(60))>>2)])|0); + dest = (dest+64)|0; + src = (src+64)|0; + } + while ((dest|0) < (aligned_dest_end|0) ) { + HEAP32[((dest)>>2)]=((HEAP32[((src)>>2)])|0); + dest = (dest+4)|0; + src = (src+4)|0; + } + } else { + // In the unaligned copy case, unroll a bit as well. + aligned_dest_end = (dest_end - 4)|0; + while ((dest|0) < (aligned_dest_end|0) ) { + HEAP8[((dest)>>0)]=((HEAP8[((src)>>0)])|0); + HEAP8[(((dest)+(1))>>0)]=((HEAP8[(((src)+(1))>>0)])|0); + HEAP8[(((dest)+(2))>>0)]=((HEAP8[(((src)+(2))>>0)])|0); + HEAP8[(((dest)+(3))>>0)]=((HEAP8[(((src)+(3))>>0)])|0); + dest = (dest+4)|0; + src = (src+4)|0; + } + } + // The remaining unaligned < 4 byte tail. + while ((dest|0) < (dest_end|0)) { + HEAP8[((dest)>>0)]=((HEAP8[((src)>>0)])|0); + dest = (dest+1)|0; + src = (src+1)|0; + } + return ret|0; +} function _memmove(dest, src, num) { dest = dest|0; src = src|0; num = num|0; var ret = 0; @@ -64271,39 +67853,6 @@ function _memmove(dest, src, num) { } return dest | 0; } -function _bitshift64Lshr(low, high, bits) { - low = low|0; high = high|0; bits = bits|0; - var ander = 0; - if ((bits|0) < 32) { - ander = ((1 << bits) - 1)|0; - tempRet0 = high >>> bits; - return (low >>> bits) | ((high&ander) << (32 - bits)); - } - tempRet0 = 0; - return (high >>> (bits - 32))|0; -} -function _bitshift64Shl(low, high, bits) { - low = low|0; high = high|0; bits = bits|0; - var ander = 0; - if ((bits|0) < 32) { - ander = ((1 << bits) - 1)|0; - tempRet0 = (high << bits) | ((low&(ander << (32 - bits))) >>> (32 - bits)); - return low << bits; - } - tempRet0 = low << (bits - 32); - return 0; -} -function _bitshift64Ashr(low, high, bits) { - low = low|0; high = high|0; bits = bits|0; - var ander = 0; - if ((bits|0) < 32) { - ander = ((1 << bits) - 1)|0; - tempRet0 = high >> bits; - return (low >>> bits) | ((high&ander) << (32 - bits)); - } - tempRet0 = (high|0) < 0 ? -1 : 0; - return (high >> (bits - 32))|0; - } function _llvm_cttz_i32(x) { x = x|0; var ret = 0; @@ -64314,200 +67863,84 @@ function _llvm_cttz_i32(x) { ret = ((HEAP8[(((cttz_i8)+((x >> 16)&0xff))>>0)])|0); if ((ret|0) < 8) return (ret + 16)|0; return (((HEAP8[(((cttz_i8)+(x >>> 24))>>0)])|0) + 24)|0; - } - -// ======== compiled code from system/lib/compiler-rt , see readme therein -function ___muldsi3($a, $b) { - $a = $a | 0; - $b = $b | 0; - var $1 = 0, $2 = 0, $3 = 0, $6 = 0, $8 = 0, $11 = 0, $12 = 0; - $1 = $a & 65535; - $2 = $b & 65535; - $3 = Math_imul($2, $1) | 0; - $6 = $a >>> 16; - $8 = ($3 >>> 16) + (Math_imul($2, $6) | 0) | 0; - $11 = $b >>> 16; - $12 = Math_imul($11, $1) | 0; - return (tempRet0 = (($8 >>> 16) + (Math_imul($11, $6) | 0) | 0) + ((($8 & 65535) + $12 | 0) >>> 16) | 0, 0 | ($8 + $12 << 16 | $3 & 65535)) | 0; -} -function ___divdi3($a$0, $a$1, $b$0, $b$1) { - $a$0 = $a$0 | 0; - $a$1 = $a$1 | 0; - $b$0 = $b$0 | 0; - $b$1 = $b$1 | 0; - var $1$0 = 0, $1$1 = 0, $2$0 = 0, $2$1 = 0, $4$0 = 0, $4$1 = 0, $6$0 = 0, $7$0 = 0, $7$1 = 0, $8$0 = 0, $10$0 = 0; - $1$0 = $a$1 >> 31 | (($a$1 | 0) < 0 ? -1 : 0) << 1; - $1$1 = (($a$1 | 0) < 0 ? -1 : 0) >> 31 | (($a$1 | 0) < 0 ? -1 : 0) << 1; - $2$0 = $b$1 >> 31 | (($b$1 | 0) < 0 ? -1 : 0) << 1; - $2$1 = (($b$1 | 0) < 0 ? -1 : 0) >> 31 | (($b$1 | 0) < 0 ? -1 : 0) << 1; - $4$0 = _i64Subtract($1$0 ^ $a$0, $1$1 ^ $a$1, $1$0, $1$1) | 0; - $4$1 = tempRet0; - $6$0 = _i64Subtract($2$0 ^ $b$0, $2$1 ^ $b$1, $2$0, $2$1) | 0; - $7$0 = $2$0 ^ $1$0; - $7$1 = $2$1 ^ $1$1; - $8$0 = ___udivmoddi4($4$0, $4$1, $6$0, tempRet0, 0) | 0; - $10$0 = _i64Subtract($8$0 ^ $7$0, tempRet0 ^ $7$1, $7$0, $7$1) | 0; - return $10$0 | 0; -} -function ___remdi3($a$0, $a$1, $b$0, $b$1) { - $a$0 = $a$0 | 0; - $a$1 = $a$1 | 0; - $b$0 = $b$0 | 0; - $b$1 = $b$1 | 0; - var $rem = 0, $1$0 = 0, $1$1 = 0, $2$0 = 0, $2$1 = 0, $4$0 = 0, $4$1 = 0, $6$0 = 0, $10$0 = 0, $10$1 = 0, __stackBase__ = 0; - __stackBase__ = STACKTOP; - STACKTOP = STACKTOP + 16 | 0; - $rem = __stackBase__ | 0; - $1$0 = $a$1 >> 31 | (($a$1 | 0) < 0 ? -1 : 0) << 1; - $1$1 = (($a$1 | 0) < 0 ? -1 : 0) >> 31 | (($a$1 | 0) < 0 ? -1 : 0) << 1; - $2$0 = $b$1 >> 31 | (($b$1 | 0) < 0 ? -1 : 0) << 1; - $2$1 = (($b$1 | 0) < 0 ? -1 : 0) >> 31 | (($b$1 | 0) < 0 ? -1 : 0) << 1; - $4$0 = _i64Subtract($1$0 ^ $a$0, $1$1 ^ $a$1, $1$0, $1$1) | 0; - $4$1 = tempRet0; - $6$0 = _i64Subtract($2$0 ^ $b$0, $2$1 ^ $b$1, $2$0, $2$1) | 0; - ___udivmoddi4($4$0, $4$1, $6$0, tempRet0, $rem) | 0; - $10$0 = _i64Subtract(HEAP32[$rem >> 2] ^ $1$0, HEAP32[$rem + 4 >> 2] ^ $1$1, $1$0, $1$1) | 0; - $10$1 = tempRet0; - STACKTOP = __stackBase__; - return (tempRet0 = $10$1, $10$0) | 0; -} -function ___muldi3($a$0, $a$1, $b$0, $b$1) { - $a$0 = $a$0 | 0; - $a$1 = $a$1 | 0; - $b$0 = $b$0 | 0; - $b$1 = $b$1 | 0; - var $x_sroa_0_0_extract_trunc = 0, $y_sroa_0_0_extract_trunc = 0, $1$0 = 0, $1$1 = 0, $2 = 0; - $x_sroa_0_0_extract_trunc = $a$0; - $y_sroa_0_0_extract_trunc = $b$0; - $1$0 = ___muldsi3($x_sroa_0_0_extract_trunc, $y_sroa_0_0_extract_trunc) | 0; - $1$1 = tempRet0; - $2 = Math_imul($a$1, $y_sroa_0_0_extract_trunc) | 0; - return (tempRet0 = ((Math_imul($b$1, $x_sroa_0_0_extract_trunc) | 0) + $2 | 0) + $1$1 | $1$1 & 0, 0 | $1$0 & -1) | 0; -} -function ___udivdi3($a$0, $a$1, $b$0, $b$1) { - $a$0 = $a$0 | 0; - $a$1 = $a$1 | 0; - $b$0 = $b$0 | 0; - $b$1 = $b$1 | 0; - var $1$0 = 0; - $1$0 = ___udivmoddi4($a$0, $a$1, $b$0, $b$1, 0) | 0; - return $1$0 | 0; -} -function ___uremdi3($a$0, $a$1, $b$0, $b$1) { - $a$0 = $a$0 | 0; - $a$1 = $a$1 | 0; - $b$0 = $b$0 | 0; - $b$1 = $b$1 | 0; - var $rem = 0, __stackBase__ = 0; - __stackBase__ = STACKTOP; - STACKTOP = STACKTOP + 16 | 0; - $rem = __stackBase__ | 0; - ___udivmoddi4($a$0, $a$1, $b$0, $b$1, $rem) | 0; - STACKTOP = __stackBase__; - return (tempRet0 = HEAP32[$rem + 4 >> 2] | 0, HEAP32[$rem >> 2] | 0) | 0; } function ___udivmoddi4($a$0, $a$1, $b$0, $b$1, $rem) { - $a$0 = $a$0 | 0; - $a$1 = $a$1 | 0; - $b$0 = $b$0 | 0; - $b$1 = $b$1 | 0; - $rem = $rem | 0; - var $n_sroa_0_0_extract_trunc = 0, $n_sroa_1_4_extract_shift$0 = 0, $n_sroa_1_4_extract_trunc = 0, $d_sroa_0_0_extract_trunc = 0, $d_sroa_1_4_extract_shift$0 = 0, $d_sroa_1_4_extract_trunc = 0, $4 = 0, $17 = 0, $37 = 0, $49 = 0, $51 = 0, $57 = 0, $58 = 0, $66 = 0, $78 = 0, $86 = 0, $88 = 0, $89 = 0, $91 = 0, $92 = 0, $95 = 0, $105 = 0, $117 = 0, $119 = 0, $125 = 0, $126 = 0, $130 = 0, $q_sroa_1_1_ph = 0, $q_sroa_0_1_ph = 0, $r_sroa_1_1_ph = 0, $r_sroa_0_1_ph = 0, $sr_1_ph = 0, $d_sroa_0_0_insert_insert99$0 = 0, $d_sroa_0_0_insert_insert99$1 = 0, $137$0 = 0, $137$1 = 0, $carry_0203 = 0, $sr_1202 = 0, $r_sroa_0_1201 = 0, $r_sroa_1_1200 = 0, $q_sroa_0_1199 = 0, $q_sroa_1_1198 = 0, $147 = 0, $149 = 0, $r_sroa_0_0_insert_insert42$0 = 0, $r_sroa_0_0_insert_insert42$1 = 0, $150$1 = 0, $151$0 = 0, $152 = 0, $154$0 = 0, $r_sroa_0_0_extract_trunc = 0, $r_sroa_1_4_extract_trunc = 0, $155 = 0, $carry_0_lcssa$0 = 0, $carry_0_lcssa$1 = 0, $r_sroa_0_1_lcssa = 0, $r_sroa_1_1_lcssa = 0, $q_sroa_0_1_lcssa = 0, $q_sroa_1_1_lcssa = 0, $q_sroa_0_0_insert_ext75$0 = 0, $q_sroa_0_0_insert_ext75$1 = 0, $q_sroa_0_0_insert_insert77$1 = 0, $_0$0 = 0, $_0$1 = 0; - $n_sroa_0_0_extract_trunc = $a$0; - $n_sroa_1_4_extract_shift$0 = $a$1; - $n_sroa_1_4_extract_trunc = $n_sroa_1_4_extract_shift$0; - $d_sroa_0_0_extract_trunc = $b$0; - $d_sroa_1_4_extract_shift$0 = $b$1; - $d_sroa_1_4_extract_trunc = $d_sroa_1_4_extract_shift$0; - if (($n_sroa_1_4_extract_trunc | 0) == 0) { - $4 = ($rem | 0) != 0; - if (($d_sroa_1_4_extract_trunc | 0) == 0) { - if ($4) { - HEAP32[$rem >> 2] = ($n_sroa_0_0_extract_trunc >>> 0) % ($d_sroa_0_0_extract_trunc >>> 0); - HEAP32[$rem + 4 >> 2] = 0; - } - $_0$1 = 0; - $_0$0 = ($n_sroa_0_0_extract_trunc >>> 0) / ($d_sroa_0_0_extract_trunc >>> 0) >>> 0; - return (tempRet0 = $_0$1, $_0$0) | 0; - } else { - if (!$4) { - $_0$1 = 0; - $_0$0 = 0; - return (tempRet0 = $_0$1, $_0$0) | 0; - } - HEAP32[$rem >> 2] = $a$0 & -1; - HEAP32[$rem + 4 >> 2] = $a$1 & 0; - $_0$1 = 0; - $_0$0 = 0; - return (tempRet0 = $_0$1, $_0$0) | 0; - } - } - $17 = ($d_sroa_1_4_extract_trunc | 0) == 0; - do { - if (($d_sroa_0_0_extract_trunc | 0) == 0) { - if ($17) { - if (($rem | 0) != 0) { - HEAP32[$rem >> 2] = ($n_sroa_1_4_extract_trunc >>> 0) % ($d_sroa_0_0_extract_trunc >>> 0); + $a$0 = $a$0 | 0; + $a$1 = $a$1 | 0; + $b$0 = $b$0 | 0; + $b$1 = $b$1 | 0; + $rem = $rem | 0; + var $n_sroa_0_0_extract_trunc = 0, $n_sroa_1_4_extract_shift$0 = 0, $n_sroa_1_4_extract_trunc = 0, $d_sroa_0_0_extract_trunc = 0, $d_sroa_1_4_extract_shift$0 = 0, $d_sroa_1_4_extract_trunc = 0, $4 = 0, $17 = 0, $37 = 0, $49 = 0, $51 = 0, $57 = 0, $58 = 0, $66 = 0, $78 = 0, $86 = 0, $88 = 0, $89 = 0, $91 = 0, $92 = 0, $95 = 0, $105 = 0, $117 = 0, $119 = 0, $125 = 0, $126 = 0, $130 = 0, $q_sroa_1_1_ph = 0, $q_sroa_0_1_ph = 0, $r_sroa_1_1_ph = 0, $r_sroa_0_1_ph = 0, $sr_1_ph = 0, $d_sroa_0_0_insert_insert99$0 = 0, $d_sroa_0_0_insert_insert99$1 = 0, $137$0 = 0, $137$1 = 0, $carry_0203 = 0, $sr_1202 = 0, $r_sroa_0_1201 = 0, $r_sroa_1_1200 = 0, $q_sroa_0_1199 = 0, $q_sroa_1_1198 = 0, $147 = 0, $149 = 0, $r_sroa_0_0_insert_insert42$0 = 0, $r_sroa_0_0_insert_insert42$1 = 0, $150$1 = 0, $151$0 = 0, $152 = 0, $154$0 = 0, $r_sroa_0_0_extract_trunc = 0, $r_sroa_1_4_extract_trunc = 0, $155 = 0, $carry_0_lcssa$0 = 0, $carry_0_lcssa$1 = 0, $r_sroa_0_1_lcssa = 0, $r_sroa_1_1_lcssa = 0, $q_sroa_0_1_lcssa = 0, $q_sroa_1_1_lcssa = 0, $q_sroa_0_0_insert_ext75$0 = 0, $q_sroa_0_0_insert_ext75$1 = 0, $q_sroa_0_0_insert_insert77$1 = 0, $_0$0 = 0, $_0$1 = 0; + $n_sroa_0_0_extract_trunc = $a$0; + $n_sroa_1_4_extract_shift$0 = $a$1; + $n_sroa_1_4_extract_trunc = $n_sroa_1_4_extract_shift$0; + $d_sroa_0_0_extract_trunc = $b$0; + $d_sroa_1_4_extract_shift$0 = $b$1; + $d_sroa_1_4_extract_trunc = $d_sroa_1_4_extract_shift$0; + if (($n_sroa_1_4_extract_trunc | 0) == 0) { + $4 = ($rem | 0) != 0; + if (($d_sroa_1_4_extract_trunc | 0) == 0) { + if ($4) { + HEAP32[$rem >> 2] = ($n_sroa_0_0_extract_trunc >>> 0) % ($d_sroa_0_0_extract_trunc >>> 0); HEAP32[$rem + 4 >> 2] = 0; } $_0$1 = 0; - $_0$0 = ($n_sroa_1_4_extract_trunc >>> 0) / ($d_sroa_0_0_extract_trunc >>> 0) >>> 0; + $_0$0 = ($n_sroa_0_0_extract_trunc >>> 0) / ($d_sroa_0_0_extract_trunc >>> 0) >>> 0; return (tempRet0 = $_0$1, $_0$0) | 0; - } - if (($n_sroa_0_0_extract_trunc | 0) == 0) { - if (($rem | 0) != 0) { - HEAP32[$rem >> 2] = 0; - HEAP32[$rem + 4 >> 2] = ($n_sroa_1_4_extract_trunc >>> 0) % ($d_sroa_1_4_extract_trunc >>> 0); + } else { + if (!$4) { + $_0$1 = 0; + $_0$0 = 0; + return (tempRet0 = $_0$1, $_0$0) | 0; } - $_0$1 = 0; - $_0$0 = ($n_sroa_1_4_extract_trunc >>> 0) / ($d_sroa_1_4_extract_trunc >>> 0) >>> 0; - return (tempRet0 = $_0$1, $_0$0) | 0; - } - $37 = $d_sroa_1_4_extract_trunc - 1 | 0; - if (($37 & $d_sroa_1_4_extract_trunc | 0) == 0) { - if (($rem | 0) != 0) { - HEAP32[$rem >> 2] = 0 | $a$0 & -1; - HEAP32[$rem + 4 >> 2] = $37 & $n_sroa_1_4_extract_trunc | $a$1 & 0; - } - $_0$1 = 0; - $_0$0 = $n_sroa_1_4_extract_trunc >>> ((_llvm_cttz_i32($d_sroa_1_4_extract_trunc | 0) | 0) >>> 0); - return (tempRet0 = $_0$1, $_0$0) | 0; - } - $49 = Math_clz32($d_sroa_1_4_extract_trunc | 0) | 0; - $51 = $49 - (Math_clz32($n_sroa_1_4_extract_trunc | 0) | 0) | 0; - if ($51 >>> 0 <= 30) { - $57 = $51 + 1 | 0; - $58 = 31 - $51 | 0; - $sr_1_ph = $57; - $r_sroa_0_1_ph = $n_sroa_1_4_extract_trunc << $58 | $n_sroa_0_0_extract_trunc >>> ($57 >>> 0); - $r_sroa_1_1_ph = $n_sroa_1_4_extract_trunc >>> ($57 >>> 0); - $q_sroa_0_1_ph = 0; - $q_sroa_1_1_ph = $n_sroa_0_0_extract_trunc << $58; - break; - } - if (($rem | 0) == 0) { + HEAP32[$rem >> 2] = $a$0 & -1; + HEAP32[$rem + 4 >> 2] = $a$1 & 0; $_0$1 = 0; $_0$0 = 0; return (tempRet0 = $_0$1, $_0$0) | 0; } - HEAP32[$rem >> 2] = 0 | $a$0 & -1; - HEAP32[$rem + 4 >> 2] = $n_sroa_1_4_extract_shift$0 | $a$1 & 0; - $_0$1 = 0; - $_0$0 = 0; - return (tempRet0 = $_0$1, $_0$0) | 0; - } else { - if (!$17) { - $117 = Math_clz32($d_sroa_1_4_extract_trunc | 0) | 0; - $119 = $117 - (Math_clz32($n_sroa_1_4_extract_trunc | 0) | 0) | 0; - if ($119 >>> 0 <= 31) { - $125 = $119 + 1 | 0; - $126 = 31 - $119 | 0; - $130 = $119 - 31 >> 31; - $sr_1_ph = $125; - $r_sroa_0_1_ph = $n_sroa_0_0_extract_trunc >>> ($125 >>> 0) & $130 | $n_sroa_1_4_extract_trunc << $126; - $r_sroa_1_1_ph = $n_sroa_1_4_extract_trunc >>> ($125 >>> 0) & $130; + } + $17 = ($d_sroa_1_4_extract_trunc | 0) == 0; + do { + if (($d_sroa_0_0_extract_trunc | 0) == 0) { + if ($17) { + if (($rem | 0) != 0) { + HEAP32[$rem >> 2] = ($n_sroa_1_4_extract_trunc >>> 0) % ($d_sroa_0_0_extract_trunc >>> 0); + HEAP32[$rem + 4 >> 2] = 0; + } + $_0$1 = 0; + $_0$0 = ($n_sroa_1_4_extract_trunc >>> 0) / ($d_sroa_0_0_extract_trunc >>> 0) >>> 0; + return (tempRet0 = $_0$1, $_0$0) | 0; + } + if (($n_sroa_0_0_extract_trunc | 0) == 0) { + if (($rem | 0) != 0) { + HEAP32[$rem >> 2] = 0; + HEAP32[$rem + 4 >> 2] = ($n_sroa_1_4_extract_trunc >>> 0) % ($d_sroa_1_4_extract_trunc >>> 0); + } + $_0$1 = 0; + $_0$0 = ($n_sroa_1_4_extract_trunc >>> 0) / ($d_sroa_1_4_extract_trunc >>> 0) >>> 0; + return (tempRet0 = $_0$1, $_0$0) | 0; + } + $37 = $d_sroa_1_4_extract_trunc - 1 | 0; + if (($37 & $d_sroa_1_4_extract_trunc | 0) == 0) { + if (($rem | 0) != 0) { + HEAP32[$rem >> 2] = 0 | $a$0 & -1; + HEAP32[$rem + 4 >> 2] = $37 & $n_sroa_1_4_extract_trunc | $a$1 & 0; + } + $_0$1 = 0; + $_0$0 = $n_sroa_1_4_extract_trunc >>> ((_llvm_cttz_i32($d_sroa_1_4_extract_trunc | 0) | 0) >>> 0); + return (tempRet0 = $_0$1, $_0$0) | 0; + } + $49 = Math_clz32($d_sroa_1_4_extract_trunc | 0) | 0; + $51 = $49 - (Math_clz32($n_sroa_1_4_extract_trunc | 0) | 0) | 0; + if ($51 >>> 0 <= 30) { + $57 = $51 + 1 | 0; + $58 = 31 - $51 | 0; + $sr_1_ph = $57; + $r_sroa_0_1_ph = $n_sroa_1_4_extract_trunc << $58 | $n_sroa_0_0_extract_trunc >>> ($57 >>> 0); + $r_sroa_1_1_ph = $n_sroa_1_4_extract_trunc >>> ($57 >>> 0); $q_sroa_0_1_ph = 0; - $q_sroa_1_1_ph = $n_sroa_0_0_extract_trunc << $126; + $q_sroa_1_1_ph = $n_sroa_0_0_extract_trunc << $58; break; } if (($rem | 0) == 0) { @@ -64520,102 +67953,204 @@ function ___udivmoddi4($a$0, $a$1, $b$0, $b$1, $rem) { $_0$1 = 0; $_0$0 = 0; return (tempRet0 = $_0$1, $_0$0) | 0; - } - $66 = $d_sroa_0_0_extract_trunc - 1 | 0; - if (($66 & $d_sroa_0_0_extract_trunc | 0) != 0) { - $86 = (Math_clz32($d_sroa_0_0_extract_trunc | 0) | 0) + 33 | 0; - $88 = $86 - (Math_clz32($n_sroa_1_4_extract_trunc | 0) | 0) | 0; - $89 = 64 - $88 | 0; - $91 = 32 - $88 | 0; - $92 = $91 >> 31; - $95 = $88 - 32 | 0; - $105 = $95 >> 31; - $sr_1_ph = $88; - $r_sroa_0_1_ph = $91 - 1 >> 31 & $n_sroa_1_4_extract_trunc >>> ($95 >>> 0) | ($n_sroa_1_4_extract_trunc << $91 | $n_sroa_0_0_extract_trunc >>> ($88 >>> 0)) & $105; - $r_sroa_1_1_ph = $105 & $n_sroa_1_4_extract_trunc >>> ($88 >>> 0); - $q_sroa_0_1_ph = $n_sroa_0_0_extract_trunc << $89 & $92; - $q_sroa_1_1_ph = ($n_sroa_1_4_extract_trunc << $89 | $n_sroa_0_0_extract_trunc >>> ($95 >>> 0)) & $92 | $n_sroa_0_0_extract_trunc << $91 & $88 - 33 >> 31; - break; - } - if (($rem | 0) != 0) { - HEAP32[$rem >> 2] = $66 & $n_sroa_0_0_extract_trunc; - HEAP32[$rem + 4 >> 2] = 0; - } - if (($d_sroa_0_0_extract_trunc | 0) == 1) { - $_0$1 = $n_sroa_1_4_extract_shift$0 | $a$1 & 0; - $_0$0 = 0 | $a$0 & -1; - return (tempRet0 = $_0$1, $_0$0) | 0; } else { - $78 = _llvm_cttz_i32($d_sroa_0_0_extract_trunc | 0) | 0; - $_0$1 = 0 | $n_sroa_1_4_extract_trunc >>> ($78 >>> 0); - $_0$0 = $n_sroa_1_4_extract_trunc << 32 - $78 | $n_sroa_0_0_extract_trunc >>> ($78 >>> 0) | 0; - return (tempRet0 = $_0$1, $_0$0) | 0; + if (!$17) { + $117 = Math_clz32($d_sroa_1_4_extract_trunc | 0) | 0; + $119 = $117 - (Math_clz32($n_sroa_1_4_extract_trunc | 0) | 0) | 0; + if ($119 >>> 0 <= 31) { + $125 = $119 + 1 | 0; + $126 = 31 - $119 | 0; + $130 = $119 - 31 >> 31; + $sr_1_ph = $125; + $r_sroa_0_1_ph = $n_sroa_0_0_extract_trunc >>> ($125 >>> 0) & $130 | $n_sroa_1_4_extract_trunc << $126; + $r_sroa_1_1_ph = $n_sroa_1_4_extract_trunc >>> ($125 >>> 0) & $130; + $q_sroa_0_1_ph = 0; + $q_sroa_1_1_ph = $n_sroa_0_0_extract_trunc << $126; + break; + } + if (($rem | 0) == 0) { + $_0$1 = 0; + $_0$0 = 0; + return (tempRet0 = $_0$1, $_0$0) | 0; + } + HEAP32[$rem >> 2] = 0 | $a$0 & -1; + HEAP32[$rem + 4 >> 2] = $n_sroa_1_4_extract_shift$0 | $a$1 & 0; + $_0$1 = 0; + $_0$0 = 0; + return (tempRet0 = $_0$1, $_0$0) | 0; + } + $66 = $d_sroa_0_0_extract_trunc - 1 | 0; + if (($66 & $d_sroa_0_0_extract_trunc | 0) != 0) { + $86 = (Math_clz32($d_sroa_0_0_extract_trunc | 0) | 0) + 33 | 0; + $88 = $86 - (Math_clz32($n_sroa_1_4_extract_trunc | 0) | 0) | 0; + $89 = 64 - $88 | 0; + $91 = 32 - $88 | 0; + $92 = $91 >> 31; + $95 = $88 - 32 | 0; + $105 = $95 >> 31; + $sr_1_ph = $88; + $r_sroa_0_1_ph = $91 - 1 >> 31 & $n_sroa_1_4_extract_trunc >>> ($95 >>> 0) | ($n_sroa_1_4_extract_trunc << $91 | $n_sroa_0_0_extract_trunc >>> ($88 >>> 0)) & $105; + $r_sroa_1_1_ph = $105 & $n_sroa_1_4_extract_trunc >>> ($88 >>> 0); + $q_sroa_0_1_ph = $n_sroa_0_0_extract_trunc << $89 & $92; + $q_sroa_1_1_ph = ($n_sroa_1_4_extract_trunc << $89 | $n_sroa_0_0_extract_trunc >>> ($95 >>> 0)) & $92 | $n_sroa_0_0_extract_trunc << $91 & $88 - 33 >> 31; + break; + } + if (($rem | 0) != 0) { + HEAP32[$rem >> 2] = $66 & $n_sroa_0_0_extract_trunc; + HEAP32[$rem + 4 >> 2] = 0; + } + if (($d_sroa_0_0_extract_trunc | 0) == 1) { + $_0$1 = $n_sroa_1_4_extract_shift$0 | $a$1 & 0; + $_0$0 = 0 | $a$0 & -1; + return (tempRet0 = $_0$1, $_0$0) | 0; + } else { + $78 = _llvm_cttz_i32($d_sroa_0_0_extract_trunc | 0) | 0; + $_0$1 = 0 | $n_sroa_1_4_extract_trunc >>> ($78 >>> 0); + $_0$0 = $n_sroa_1_4_extract_trunc << 32 - $78 | $n_sroa_0_0_extract_trunc >>> ($78 >>> 0) | 0; + return (tempRet0 = $_0$1, $_0$0) | 0; + } } - } - } while (0); - if (($sr_1_ph | 0) == 0) { - $q_sroa_1_1_lcssa = $q_sroa_1_1_ph; - $q_sroa_0_1_lcssa = $q_sroa_0_1_ph; - $r_sroa_1_1_lcssa = $r_sroa_1_1_ph; - $r_sroa_0_1_lcssa = $r_sroa_0_1_ph; - $carry_0_lcssa$1 = 0; - $carry_0_lcssa$0 = 0; - } else { - $d_sroa_0_0_insert_insert99$0 = 0 | $b$0 & -1; - $d_sroa_0_0_insert_insert99$1 = $d_sroa_1_4_extract_shift$0 | $b$1 & 0; - $137$0 = _i64Add($d_sroa_0_0_insert_insert99$0 | 0, $d_sroa_0_0_insert_insert99$1 | 0, -1, -1) | 0; - $137$1 = tempRet0; - $q_sroa_1_1198 = $q_sroa_1_1_ph; - $q_sroa_0_1199 = $q_sroa_0_1_ph; - $r_sroa_1_1200 = $r_sroa_1_1_ph; - $r_sroa_0_1201 = $r_sroa_0_1_ph; - $sr_1202 = $sr_1_ph; - $carry_0203 = 0; - while (1) { - $147 = $q_sroa_0_1199 >>> 31 | $q_sroa_1_1198 << 1; - $149 = $carry_0203 | $q_sroa_0_1199 << 1; - $r_sroa_0_0_insert_insert42$0 = 0 | ($r_sroa_0_1201 << 1 | $q_sroa_1_1198 >>> 31); - $r_sroa_0_0_insert_insert42$1 = $r_sroa_0_1201 >>> 31 | $r_sroa_1_1200 << 1 | 0; - _i64Subtract($137$0, $137$1, $r_sroa_0_0_insert_insert42$0, $r_sroa_0_0_insert_insert42$1) | 0; - $150$1 = tempRet0; - $151$0 = $150$1 >> 31 | (($150$1 | 0) < 0 ? -1 : 0) << 1; - $152 = $151$0 & 1; - $154$0 = _i64Subtract($r_sroa_0_0_insert_insert42$0, $r_sroa_0_0_insert_insert42$1, $151$0 & $d_sroa_0_0_insert_insert99$0, ((($150$1 | 0) < 0 ? -1 : 0) >> 31 | (($150$1 | 0) < 0 ? -1 : 0) << 1) & $d_sroa_0_0_insert_insert99$1) | 0; - $r_sroa_0_0_extract_trunc = $154$0; - $r_sroa_1_4_extract_trunc = tempRet0; - $155 = $sr_1202 - 1 | 0; - if (($155 | 0) == 0) { - break; - } else { - $q_sroa_1_1198 = $147; - $q_sroa_0_1199 = $149; - $r_sroa_1_1200 = $r_sroa_1_4_extract_trunc; - $r_sroa_0_1201 = $r_sroa_0_0_extract_trunc; - $sr_1202 = $155; - $carry_0203 = $152; + } while (0); + if (($sr_1_ph | 0) == 0) { + $q_sroa_1_1_lcssa = $q_sroa_1_1_ph; + $q_sroa_0_1_lcssa = $q_sroa_0_1_ph; + $r_sroa_1_1_lcssa = $r_sroa_1_1_ph; + $r_sroa_0_1_lcssa = $r_sroa_0_1_ph; + $carry_0_lcssa$1 = 0; + $carry_0_lcssa$0 = 0; + } else { + $d_sroa_0_0_insert_insert99$0 = 0 | $b$0 & -1; + $d_sroa_0_0_insert_insert99$1 = $d_sroa_1_4_extract_shift$0 | $b$1 & 0; + $137$0 = _i64Add($d_sroa_0_0_insert_insert99$0 | 0, $d_sroa_0_0_insert_insert99$1 | 0, -1, -1) | 0; + $137$1 = tempRet0; + $q_sroa_1_1198 = $q_sroa_1_1_ph; + $q_sroa_0_1199 = $q_sroa_0_1_ph; + $r_sroa_1_1200 = $r_sroa_1_1_ph; + $r_sroa_0_1201 = $r_sroa_0_1_ph; + $sr_1202 = $sr_1_ph; + $carry_0203 = 0; + while (1) { + $147 = $q_sroa_0_1199 >>> 31 | $q_sroa_1_1198 << 1; + $149 = $carry_0203 | $q_sroa_0_1199 << 1; + $r_sroa_0_0_insert_insert42$0 = 0 | ($r_sroa_0_1201 << 1 | $q_sroa_1_1198 >>> 31); + $r_sroa_0_0_insert_insert42$1 = $r_sroa_0_1201 >>> 31 | $r_sroa_1_1200 << 1 | 0; + _i64Subtract($137$0 | 0, $137$1 | 0, $r_sroa_0_0_insert_insert42$0 | 0, $r_sroa_0_0_insert_insert42$1 | 0) | 0; + $150$1 = tempRet0; + $151$0 = $150$1 >> 31 | (($150$1 | 0) < 0 ? -1 : 0) << 1; + $152 = $151$0 & 1; + $154$0 = _i64Subtract($r_sroa_0_0_insert_insert42$0 | 0, $r_sroa_0_0_insert_insert42$1 | 0, $151$0 & $d_sroa_0_0_insert_insert99$0 | 0, ((($150$1 | 0) < 0 ? -1 : 0) >> 31 | (($150$1 | 0) < 0 ? -1 : 0) << 1) & $d_sroa_0_0_insert_insert99$1 | 0) | 0; + $r_sroa_0_0_extract_trunc = $154$0; + $r_sroa_1_4_extract_trunc = tempRet0; + $155 = $sr_1202 - 1 | 0; + if (($155 | 0) == 0) { + break; + } else { + $q_sroa_1_1198 = $147; + $q_sroa_0_1199 = $149; + $r_sroa_1_1200 = $r_sroa_1_4_extract_trunc; + $r_sroa_0_1201 = $r_sroa_0_0_extract_trunc; + $sr_1202 = $155; + $carry_0203 = $152; + } } + $q_sroa_1_1_lcssa = $147; + $q_sroa_0_1_lcssa = $149; + $r_sroa_1_1_lcssa = $r_sroa_1_4_extract_trunc; + $r_sroa_0_1_lcssa = $r_sroa_0_0_extract_trunc; + $carry_0_lcssa$1 = 0; + $carry_0_lcssa$0 = $152; } - $q_sroa_1_1_lcssa = $147; - $q_sroa_0_1_lcssa = $149; - $r_sroa_1_1_lcssa = $r_sroa_1_4_extract_trunc; - $r_sroa_0_1_lcssa = $r_sroa_0_0_extract_trunc; - $carry_0_lcssa$1 = 0; - $carry_0_lcssa$0 = $152; - } - $q_sroa_0_0_insert_ext75$0 = $q_sroa_0_1_lcssa; - $q_sroa_0_0_insert_ext75$1 = 0; - $q_sroa_0_0_insert_insert77$1 = $q_sroa_1_1_lcssa | $q_sroa_0_0_insert_ext75$1; - if (($rem | 0) != 0) { - HEAP32[$rem >> 2] = 0 | $r_sroa_0_1_lcssa; - HEAP32[$rem + 4 >> 2] = $r_sroa_1_1_lcssa | 0; - } - $_0$1 = (0 | $q_sroa_0_0_insert_ext75$0) >>> 31 | $q_sroa_0_0_insert_insert77$1 << 1 | ($q_sroa_0_0_insert_ext75$1 << 1 | $q_sroa_0_0_insert_ext75$0 >>> 31) & 0 | $carry_0_lcssa$1; - $_0$0 = ($q_sroa_0_0_insert_ext75$0 << 1 | 0 >>> 31) & -2 | $carry_0_lcssa$0; - return (tempRet0 = $_0$1, $_0$0) | 0; + $q_sroa_0_0_insert_ext75$0 = $q_sroa_0_1_lcssa; + $q_sroa_0_0_insert_ext75$1 = 0; + $q_sroa_0_0_insert_insert77$1 = $q_sroa_1_1_lcssa | $q_sroa_0_0_insert_ext75$1; + if (($rem | 0) != 0) { + HEAP32[$rem >> 2] = 0 | $r_sroa_0_1_lcssa; + HEAP32[$rem + 4 >> 2] = $r_sroa_1_1_lcssa | 0; + } + $_0$1 = (0 | $q_sroa_0_0_insert_ext75$0) >>> 31 | $q_sroa_0_0_insert_insert77$1 << 1 | ($q_sroa_0_0_insert_ext75$1 << 1 | $q_sroa_0_0_insert_ext75$0 >>> 31) & 0 | $carry_0_lcssa$1; + $_0$0 = ($q_sroa_0_0_insert_ext75$0 << 1 | 0 >>> 31) & -2 | $carry_0_lcssa$0; + return (tempRet0 = $_0$1, $_0$0) | 0; } -// ======================================================================= +function ___uremdi3($a$0, $a$1, $b$0, $b$1) { + $a$0 = $a$0 | 0; + $a$1 = $a$1 | 0; + $b$0 = $b$0 | 0; + $b$1 = $b$1 | 0; + var $rem = 0, __stackBase__ = 0; + __stackBase__ = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + $rem = __stackBase__ | 0; + ___udivmoddi4($a$0, $a$1, $b$0, $b$1, $rem) | 0; + STACKTOP = __stackBase__; + return (tempRet0 = HEAP32[$rem + 4 >> 2] | 0, HEAP32[$rem >> 2] | 0) | 0; +} +function _bitshift64Shl(low, high, bits) { + low = low|0; high = high|0; bits = bits|0; + var ander = 0; + if ((bits|0) < 32) { + ander = ((1 << bits) - 1)|0; + tempRet0 = (high << bits) | ((low&(ander << (32 - bits))) >>> (32 - bits)); + return low << bits; + } + tempRet0 = low << (bits - 32); + return 0; +} +function ___udivdi3($a$0, $a$1, $b$0, $b$1) { + $a$0 = $a$0 | 0; + $a$1 = $a$1 | 0; + $b$0 = $b$0 | 0; + $b$1 = $b$1 | 0; + var $1$0 = 0; + $1$0 = ___udivmoddi4($a$0, $a$1, $b$0, $b$1, 0) | 0; + return $1$0 | 0; +} +function _roundf(f) { + f = +f; + return f >= +0 ? +Math_floor(f + +0.5) : +Math_ceil(f - +0.5); // TODO: use fround? +} +function _bitshift64Lshr(low, high, bits) { + low = low|0; high = high|0; bits = bits|0; + var ander = 0; + if ((bits|0) < 32) { + ander = ((1 << bits) - 1)|0; + tempRet0 = high >>> bits; + return (low >>> bits) | ((high&ander) << (32 - bits)); + } + tempRet0 = 0; + return (high >>> (bits - 32))|0; +} +function _sbrk(increment) { + increment = increment|0; + var oldDynamicTop = 0; + var oldDynamicTopOnChange = 0; + var newDynamicTop = 0; + var totalMemory = 0; + increment = ((increment + 15) & -16)|0; + oldDynamicTop = HEAP32[DYNAMICTOP_PTR>>2]|0; + newDynamicTop = oldDynamicTop + increment | 0; + if (((increment|0) > 0 & (newDynamicTop|0) < (oldDynamicTop|0)) // Detect and fail if we would wrap around signed 32-bit int. + | (newDynamicTop|0) < 0) { // Also underflow, sbrk() should be able to be used to subtract. + abortOnCannotGrowMemory()|0; + ___setErrNo(12); + return -1; + } + HEAP32[DYNAMICTOP_PTR>>2] = newDynamicTop; + totalMemory = getTotalMemory()|0; + if ((newDynamicTop|0) > (totalMemory|0)) { + if ((enlargeMemory()|0) == 0) { + ___setErrNo(12); + HEAP32[DYNAMICTOP_PTR>>2] = oldDynamicTop; + return -1; + } + } + return oldDynamicTop|0; +} +function _llvm_bswap_i32(x) { + x = x|0; + return (((x&0xff)<<24) | (((x>>8)&0xff)<<16) | (((x>>16)&0xff)<<8) | (x>>>24))|0; +} function dynCall_viiiii(index,a1,a2,a3,a4,a5) { @@ -64744,13 +68279,6 @@ function dynCall_i(index) { } -function dynCall_iiiiii(index,a1,a2,a3,a4,a5) { - index = index|0; - a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; - return FUNCTION_TABLE_iiiiii[index&7](a1|0,a2|0,a3|0,a4|0,a5|0)|0; -} - - function dynCall_vdddddd(index,a1,a2,a3,a4,a5,a6) { index = index|0; a1=+a1; a2=+a2; a3=+a3; a4=+a4; a5=+a5; a6=+a6; @@ -64793,7 +68321,7 @@ function dynCall_viiii(index,a1,a2,a3,a4) { } function b0(p0,p1,p2,p3,p4) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; abort(0); + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; nullFunc_viiiii(0); } function _emscripten_glUniform4i__wrapper(p0,p1,p2,p3,p4) { p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; _emscripten_glUniform4i(p0|0,p1|0,p2|0,p3|0,p4|0); @@ -64808,7 +68336,7 @@ function _emscripten_glDrawElementsInstanced__wrapper(p0,p1,p2,p3,p4) { p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; _emscripten_glDrawElementsInstanced(p0|0,p1|0,p2|0,p3|0,p4|0); } function b1(p0) { - p0 = +p0; abort(1); + p0 = +p0; nullFunc_vd(1); } function _emscripten_glClearDepth__wrapper(p0) { p0 = +p0; _emscripten_glClearDepth(+p0); @@ -64820,7 +68348,7 @@ function _emscripten_glLineWidth__wrapper(p0) { p0 = +p0; _emscripten_glLineWidth(+p0); } function b2(p0,p1) { - p0 = p0|0;p1 = +p1; abort(2); + p0 = p0|0;p1 = +p1; nullFunc_vid(2); } function _emscripten_glUniform1f__wrapper(p0,p1) { p0 = p0|0;p1 = +p1; _emscripten_glUniform1f(p0|0,+p1); @@ -64829,7 +68357,7 @@ function _emscripten_glVertexAttrib1f__wrapper(p0,p1) { p0 = p0|0;p1 = +p1; _emscripten_glVertexAttrib1f(p0|0,+p1); } function b3(p0) { - p0 = p0|0; abort(3); + p0 = p0|0; nullFunc_vi(3); } function _emscripten_glDeleteShader__wrapper(p0) { p0 = p0|0; _emscripten_glDeleteShader(p0|0); @@ -64910,7 +68438,7 @@ function _emscripten_glBlendEquation__wrapper(p0) { p0 = p0|0; _emscripten_glBlendEquation(p0|0); } function b4(p0,p1) { - p0 = p0|0;p1 = p1|0; abort(4); + p0 = p0|0;p1 = p1|0; nullFunc_vii(4); } function _emscripten_glPixelStorei__wrapper(p0,p1) { p0 = p0|0;p1 = p1|0; _emscripten_glPixelStorei(p0|0,p1|0); @@ -65012,7 +68540,7 @@ function _emscripten_glDrawBuffers__wrapper(p0,p1) { p0 = p0|0;p1 = p1|0; _emscripten_glDrawBuffers(p0|0,p1|0); } function b5(p0) { - p0 = p0|0; abort(5);return 0; + p0 = p0|0; nullFunc_ii(5);return 0; } function _emscripten_glGetString__wrapper(p0) { p0 = p0|0; return _emscripten_glGetString(p0|0)|0; @@ -65045,7 +68573,7 @@ function _emscripten_glIsEnabled__wrapper(p0) { p0 = p0|0; return _emscripten_glIsEnabled(p0|0)|0; } function b6(p0,p1,p2,p3) { - p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3; abort(6); + p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3; nullFunc_viddd(6); } function _emscripten_glUniform3f__wrapper(p0,p1,p2,p3) { p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glUniform3f(p0|0,+p1,+p2,+p3); @@ -65054,7 +68582,7 @@ function _emscripten_glVertexAttrib3f__wrapper(p0,p1,p2,p3) { p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glVertexAttrib3f(p0|0,+p1,+p2,+p3); } function b7(p0,p1,p2) { - p0 = p0|0;p1 = +p1;p2 = +p2; abort(7); + p0 = p0|0;p1 = +p1;p2 = +p2; nullFunc_vidd(7); } function _emscripten_glUniform2f__wrapper(p0,p1,p2) { p0 = p0|0;p1 = +p1;p2 = +p2; _emscripten_glUniform2f(p0|0,+p1,+p2); @@ -65063,10 +68591,10 @@ function _emscripten_glVertexAttrib2f__wrapper(p0,p1,p2) { p0 = p0|0;p1 = +p1;p2 = +p2; _emscripten_glVertexAttrib2f(p0|0,+p1,+p2); } function b8(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; abort(8);return 0; + p0 = p0|0;p1 = p1|0;p2 = p2|0; nullFunc_iiii(8);return 0; } function b9(p0,p1,p2,p3,p4,p5,p6,p7) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0; abort(9); + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0; nullFunc_viiiiiiii(9); } function _emscripten_glCompressedTexImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7) { p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0; _emscripten_glCompressedTexImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0); @@ -65078,7 +68606,7 @@ function _emscripten_glCopyTexSubImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7) { p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0; _emscripten_glCopyTexSubImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0); } function b10(p0,p1,p2,p3,p4,p5) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0; abort(10); + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0; nullFunc_viiiiii(10); } function _emscripten_glDrawRangeElements__wrapper(p0,p1,p2,p3,p4,p5) { p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0; _emscripten_glDrawRangeElements(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0); @@ -65087,7 +68615,7 @@ function _emscripten_glVertexAttribPointer__wrapper(p0,p1,p2,p3,p4,p5) { p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0; _emscripten_glVertexAttribPointer(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0); } function b11(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; abort(11); + p0 = p0|0;p1 = p1|0;p2 = p2|0; nullFunc_viii(11); } function _emscripten_glGetTexParameterfv__wrapper(p0,p1,p2) { p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetTexParameterfv(p0|0,p1|0,p2|0); @@ -65177,7 +68705,7 @@ function _emscripten_glStencilOp__wrapper(p0,p1,p2) { p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glStencilOp(p0|0,p1|0,p2|0); } function b12(p0,p1,p2,p3,p4) { - p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4; abort(12); + p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4; nullFunc_vidddd(12); } function _emscripten_glUniform4f__wrapper(p0,p1,p2,p3,p4) { p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4; _emscripten_glUniform4f(p0|0,+p1,+p2,+p3,+p4); @@ -65186,13 +68714,13 @@ function _emscripten_glVertexAttrib4f__wrapper(p0,p1,p2,p3,p4) { p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4; _emscripten_glVertexAttrib4f(p0|0,+p1,+p2,+p3,+p4); } function b13(p0,p1) { - p0 = +p0;p1 = p1|0; abort(13); + p0 = +p0;p1 = p1|0; nullFunc_vdi(13); } function _emscripten_glSampleCoverage__wrapper(p0,p1) { p0 = +p0;p1 = p1|0; _emscripten_glSampleCoverage(+p0,p1|0); } function b14(p0,p1,p2,p3,p4,p5,p6) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0; abort(14); + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0; nullFunc_viiiiiii(14); } function _emscripten_glReadPixels__wrapper(p0,p1,p2,p3,p4,p5,p6) { p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0; _emscripten_glReadPixels(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0); @@ -65204,7 +68732,7 @@ function _emscripten_glGetActiveAttrib__wrapper(p0,p1,p2,p3,p4,p5,p6) { p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0; _emscripten_glGetActiveAttrib(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0); } function b15(p0,p1,p2,p3,p4,p5,p6,p7,p8) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0;p8 = p8|0; abort(15); + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0;p8 = p8|0; nullFunc_viiiiiiiii(15); } function _emscripten_glCompressedTexSubImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7,p8) { p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0;p8 = p8|0; _emscripten_glCompressedTexSubImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0,p8|0); @@ -65216,7 +68744,7 @@ function _emscripten_glTexSubImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7,p8) { p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0;p8 = p8|0; _emscripten_glTexSubImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0,p8|0); } function b16(p0,p1) { - p0 = p0|0;p1 = p1|0; abort(16);return 0; + p0 = p0|0;p1 = p1|0; nullFunc_iii(16);return 0; } function _emscripten_glGetUniformLocation__wrapper(p0,p1) { p0 = p0|0;p1 = p1|0; return _emscripten_glGetUniformLocation(p0|0,p1|0)|0; @@ -65225,7 +68753,7 @@ function _emscripten_glGetAttribLocation__wrapper(p0,p1) { p0 = p0|0;p1 = p1|0; return _emscripten_glGetAttribLocation(p0|0,p1|0)|0; } function b17() { - ; abort(17);return 0; + ; nullFunc_i(17);return 0; } function _emscripten_glCreateProgram__wrapper() { ; return _emscripten_glCreateProgram()|0; @@ -65233,17 +68761,14 @@ function _emscripten_glCreateProgram__wrapper() { function _emscripten_glGetError__wrapper() { ; return _emscripten_glGetError()|0; } -function b18(p0,p1,p2,p3,p4) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; abort(18);return 0; -} -function b19(p0,p1,p2,p3,p4,p5) { - p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4;p5 = +p5; abort(19); +function b18(p0,p1,p2,p3,p4,p5) { + p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4;p5 = +p5; nullFunc_vdddddd(18); } function _emscripten_glFrustum__wrapper(p0,p1,p2,p3,p4,p5) { p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4;p5 = +p5; _emscripten_glFrustum(+p0,+p1,+p2,+p3,+p4,+p5); } -function b20(p0,p1,p2,p3) { - p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3; abort(20); +function b19(p0,p1,p2,p3) { + p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3; nullFunc_vdddd(19); } function _emscripten_glRotatef__wrapper(p0,p1,p2,p3) { p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glRotatef(+p0,+p1,+p2,+p3); @@ -65254,8 +68779,8 @@ function _emscripten_glClearColor__wrapper(p0,p1,p2,p3) { function _emscripten_glBlendColor__wrapper(p0,p1,p2,p3) { p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glBlendColor(+p0,+p1,+p2,+p3); } -function b21(p0,p1) { - p0 = +p0;p1 = +p1; abort(21); +function b20(p0,p1) { + p0 = +p0;p1 = +p1; nullFunc_vdd(20); } function _emscripten_glDepthRange__wrapper(p0,p1) { p0 = +p0;p1 = +p1; _emscripten_glDepthRange(+p0,+p1); @@ -65266,8 +68791,8 @@ function _emscripten_glDepthRangef__wrapper(p0,p1) { function _emscripten_glPolygonOffset__wrapper(p0,p1) { p0 = +p0;p1 = +p1; _emscripten_glPolygonOffset(+p0,+p1); } -function b22() { - ; abort(22); +function b21() { + ; nullFunc_v(21); } function _emscripten_glLoadIdentity__wrapper() { ; _emscripten_glLoadIdentity(); @@ -65281,14 +68806,14 @@ function _emscripten_glFinish__wrapper() { function _emscripten_glFlush__wrapper() { ; _emscripten_glFlush(); } -function b23(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = +p2; abort(23); +function b22(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = +p2; nullFunc_viid(22); } function _emscripten_glTexParameterf__wrapper(p0,p1,p2) { p0 = p0|0;p1 = p1|0;p2 = +p2; _emscripten_glTexParameterf(p0|0,p1|0,+p2); } -function b24(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; abort(24); +function b23(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; nullFunc_viiii(23); } function _emscripten_glBufferData__wrapper(p0,p1,p2,p3) { p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glBufferData(p0|0,p1|0,p2|0,p3|0); @@ -65376,51 +68901,240 @@ function _emscripten_glStencilOpSeparate__wrapper(p0,p1,p2,p3) { var FUNCTION_TABLE_viiiii = [b0,_KeyCallback,_emscripten_glUniform4i__wrapper,_emscripten_glFramebufferTexture2D__wrapper,_emscripten_glShaderBinary__wrapper,_emscripten_glDrawElementsInstanced__wrapper,b0,b0]; var FUNCTION_TABLE_vd = [b1,_emscripten_glClearDepth__wrapper,_emscripten_glClearDepthf__wrapper,_emscripten_glLineWidth__wrapper]; var FUNCTION_TABLE_vid = [b2,_emscripten_glUniform1f__wrapper,_emscripten_glVertexAttrib1f__wrapper,b2]; -var FUNCTION_TABLE_vi = [b3,_emscripten_glDeleteShader__wrapper,_emscripten_glCompileShader__wrapper,_emscripten_glDeleteProgram__wrapper,_emscripten_glLinkProgram__wrapper,_emscripten_glUseProgram__wrapper,_emscripten_glValidateProgram__wrapper,_emscripten_glDeleteObjectARB__wrapper,_emscripten_glEnableClientState__wrapper,_emscripten_glClientActiveTexture__wrapper,_emscripten_glBindVertexArray__wrapper,_emscripten_glMatrixMode__wrapper,_emscripten_glLoadMatrixf__wrapper,_emscripten_glEnableVertexAttribArray__wrapper,_emscripten_glDisableVertexAttribArray__wrapper,_emscripten_glDepthFunc__wrapper,_emscripten_glEnable__wrapper,_emscripten_glDisable__wrapper,_emscripten_glFrontFace__wrapper,_emscripten_glCullFace__wrapper,_emscripten_glClear__wrapper,_emscripten_glClearStencil__wrapper,_emscripten_glDepthMask__wrapper,_emscripten_glStencilMask__wrapper,_emscripten_glGenerateMipmap__wrapper,_emscripten_glActiveTexture__wrapper,_emscripten_glBlendEquation__wrapper,_cleanup521,_cleanup526 +var FUNCTION_TABLE_vi = [b3,_emscripten_glDeleteShader__wrapper,_emscripten_glCompileShader__wrapper,_emscripten_glDeleteProgram__wrapper,_emscripten_glLinkProgram__wrapper,_emscripten_glUseProgram__wrapper,_emscripten_glValidateProgram__wrapper,_emscripten_glDeleteObjectARB__wrapper,_emscripten_glEnableClientState__wrapper,_emscripten_glClientActiveTexture__wrapper,_emscripten_glBindVertexArray__wrapper,_emscripten_glMatrixMode__wrapper,_emscripten_glLoadMatrixf__wrapper,_emscripten_glEnableVertexAttribArray__wrapper,_emscripten_glDisableVertexAttribArray__wrapper,_emscripten_glDepthFunc__wrapper,_emscripten_glEnable__wrapper,_emscripten_glDisable__wrapper,_emscripten_glFrontFace__wrapper,_emscripten_glCullFace__wrapper,_emscripten_glClear__wrapper,_emscripten_glClearStencil__wrapper,_emscripten_glDepthMask__wrapper,_emscripten_glStencilMask__wrapper,_emscripten_glGenerateMipmap__wrapper,_emscripten_glActiveTexture__wrapper,_emscripten_glBlendEquation__wrapper,b3,b3 ,b3,b3,b3]; var FUNCTION_TABLE_vii = [b4,_stbi__stdio_skip,_ErrorCallback,_CursorEnterCallback,_CharCallback,_WindowIconifyCallback,_emscripten_glPixelStorei__wrapper,_emscripten_glGetIntegerv__wrapper,_emscripten_glGetFloatv__wrapper,_emscripten_glGetBooleanv__wrapper,_emscripten_glGenTextures__wrapper,_emscripten_glDeleteTextures__wrapper,_emscripten_glBindTexture__wrapper,_emscripten_glGenBuffers__wrapper,_emscripten_glDeleteBuffers__wrapper,_emscripten_glGenRenderbuffers__wrapper,_emscripten_glDeleteRenderbuffers__wrapper,_emscripten_glBindRenderbuffer__wrapper,_emscripten_glUniform1i__wrapper,_emscripten_glBindBuffer__wrapper,_emscripten_glVertexAttrib1fv__wrapper,_emscripten_glVertexAttrib2fv__wrapper,_emscripten_glVertexAttrib3fv__wrapper,_emscripten_glVertexAttrib4fv__wrapper,_emscripten_glAttachShader__wrapper,_emscripten_glDetachShader__wrapper,_emscripten_glBindFramebuffer__wrapper,_emscripten_glGenFramebuffers__wrapper,_emscripten_glDeleteFramebuffers__wrapper,_emscripten_glBindProgramARB__wrapper,_emscripten_glGetPointerv__wrapper,_emscripten_glGenVertexArrays__wrapper,_emscripten_glDeleteVertexArrays__wrapper,_emscripten_glVertexAttribDivisor__wrapper,_emscripten_glBlendFunc__wrapper,_emscripten_glBlendEquationSeparate__wrapper,_emscripten_glStencilMaskSeparate__wrapper,_emscripten_glHint__wrapper,_emscripten_glDrawBuffers__wrapper,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4 ,b4,b4,b4,b4,b4]; var FUNCTION_TABLE_ii = [b5,_stbi__stdio_eof,___stdio_close,_emscripten_glGetString__wrapper,_emscripten_glIsTexture__wrapper,_emscripten_glIsBuffer__wrapper,_emscripten_glIsRenderbuffer__wrapper,_emscripten_glCreateShader__wrapper,_emscripten_glIsShader__wrapper,_emscripten_glIsProgram__wrapper,_emscripten_glIsFramebuffer__wrapper,_emscripten_glCheckFramebufferStatus__wrapper,_emscripten_glIsEnabled__wrapper,b5,b5,b5]; var FUNCTION_TABLE_viddd = [b6,_emscripten_glUniform3f__wrapper,_emscripten_glVertexAttrib3f__wrapper,b6]; var FUNCTION_TABLE_vidd = [b7,_MouseCursorPosCallback,_ScrollCallback,_emscripten_glUniform2f__wrapper,_emscripten_glVertexAttrib2f__wrapper,b7,b7,b7]; -var FUNCTION_TABLE_iiii = [b8,_stbi__stdio_read,_sn_write,___stdout_write,___stdio_seek,_EmscriptenFullscreenChangeCallback,_EmscriptenInputCallback,_do_read,___stdio_read,___stdio_write,b8,b8,b8,b8,b8,b8]; +var FUNCTION_TABLE_iiii = [b8,_stbi__stdio_read,___stdio_write,___stdio_seek,___stdout_write,_sn_write,_EmscriptenFullscreenChangeCallback,_EmscriptenKeyboardCallback,_EmscriptenMouseCallback,_EmscriptenTouchCallback,_EmscriptenGamepadCallback,___stdio_read,_do_read,b8,b8,b8]; var FUNCTION_TABLE_viiiiiiii = [b9,_emscripten_glCompressedTexImage2D__wrapper,_emscripten_glCopyTexImage2D__wrapper,_emscripten_glCopyTexSubImage2D__wrapper]; -var FUNCTION_TABLE_viiiiii = [b10,_stbi__YCbCr_to_RGB_row,_emscripten_glDrawRangeElements__wrapper,_emscripten_glVertexAttribPointer__wrapper]; -var FUNCTION_TABLE_viii = [b11,_WindowSizeCallback,_stbi__idct_block,_emscripten_glGetTexParameterfv__wrapper,_emscripten_glGetTexParameteriv__wrapper,_emscripten_glTexParameterfv__wrapper,_emscripten_glTexParameteriv__wrapper,_emscripten_glGetBufferParameteriv__wrapper,_emscripten_glGetRenderbufferParameteriv__wrapper,_emscripten_glGetUniformfv__wrapper,_emscripten_glGetUniformiv__wrapper,_emscripten_glGetVertexAttribfv__wrapper,_emscripten_glGetVertexAttribiv__wrapper,_emscripten_glGetVertexAttribPointerv__wrapper,_emscripten_glUniform2i__wrapper,_emscripten_glUniform1iv__wrapper,_emscripten_glUniform2iv__wrapper,_emscripten_glUniform3iv__wrapper,_emscripten_glUniform4iv__wrapper,_emscripten_glUniform1fv__wrapper,_emscripten_glUniform2fv__wrapper,_emscripten_glUniform3fv__wrapper,_emscripten_glUniform4fv__wrapper,_emscripten_glGetShaderiv__wrapper,_emscripten_glGetProgramiv__wrapper,_emscripten_glBindAttribLocation__wrapper,_emscripten_glGetObjectParameterivARB__wrapper,_emscripten_glNormalPointer__wrapper,_emscripten_glDrawArrays__wrapper,_emscripten_glTexParameteri__wrapper,_emscripten_glStencilFunc__wrapper,_emscripten_glStencilOp__wrapper]; +var FUNCTION_TABLE_viiiiii = [b10,_emscripten_glDrawRangeElements__wrapper,_emscripten_glVertexAttribPointer__wrapper,b10]; +var FUNCTION_TABLE_viii = [b11,_WindowSizeCallback,_emscripten_glGetTexParameterfv__wrapper,_emscripten_glGetTexParameteriv__wrapper,_emscripten_glTexParameterfv__wrapper,_emscripten_glTexParameteriv__wrapper,_emscripten_glGetBufferParameteriv__wrapper,_emscripten_glGetRenderbufferParameteriv__wrapper,_emscripten_glGetUniformfv__wrapper,_emscripten_glGetUniformiv__wrapper,_emscripten_glGetVertexAttribfv__wrapper,_emscripten_glGetVertexAttribiv__wrapper,_emscripten_glGetVertexAttribPointerv__wrapper,_emscripten_glUniform2i__wrapper,_emscripten_glUniform1iv__wrapper,_emscripten_glUniform2iv__wrapper,_emscripten_glUniform3iv__wrapper,_emscripten_glUniform4iv__wrapper,_emscripten_glUniform1fv__wrapper,_emscripten_glUniform2fv__wrapper,_emscripten_glUniform3fv__wrapper,_emscripten_glUniform4fv__wrapper,_emscripten_glGetShaderiv__wrapper,_emscripten_glGetProgramiv__wrapper,_emscripten_glBindAttribLocation__wrapper,_emscripten_glGetObjectParameterivARB__wrapper,_emscripten_glNormalPointer__wrapper,_emscripten_glDrawArrays__wrapper,_emscripten_glTexParameteri__wrapper,_emscripten_glStencilFunc__wrapper,_emscripten_glStencilOp__wrapper,b11]; var FUNCTION_TABLE_vidddd = [b12,_emscripten_glUniform4f__wrapper,_emscripten_glVertexAttrib4f__wrapper,b12]; var FUNCTION_TABLE_vdi = [b13,_emscripten_glSampleCoverage__wrapper]; var FUNCTION_TABLE_viiiiiii = [b14,_emscripten_glReadPixels__wrapper,_emscripten_glGetActiveUniform__wrapper,_emscripten_glGetActiveAttrib__wrapper]; var FUNCTION_TABLE_viiiiiiiii = [b15,_emscripten_glCompressedTexSubImage2D__wrapper,_emscripten_glTexImage2D__wrapper,_emscripten_glTexSubImage2D__wrapper]; var FUNCTION_TABLE_iii = [b16,_point_compare,_uint32_compare,_emscripten_glGetUniformLocation__wrapper,_emscripten_glGetAttribLocation__wrapper,b16,b16,b16]; var FUNCTION_TABLE_i = [b17,_emscripten_glCreateProgram__wrapper,_emscripten_glGetError__wrapper,b17]; -var FUNCTION_TABLE_iiiiii = [b18,_stbi__resample_row_hv_2,_resample_row_1,_stbi__resample_row_v_2,_stbi__resample_row_h_2,_stbi__resample_row_generic,b18,b18]; -var FUNCTION_TABLE_vdddddd = [b19,_emscripten_glFrustum__wrapper]; -var FUNCTION_TABLE_vdddd = [b20,_emscripten_glRotatef__wrapper,_emscripten_glClearColor__wrapper,_emscripten_glBlendColor__wrapper]; -var FUNCTION_TABLE_vdd = [b21,_emscripten_glDepthRange__wrapper,_emscripten_glDepthRangef__wrapper,_emscripten_glPolygonOffset__wrapper]; -var FUNCTION_TABLE_v = [b22,_UpdateDrawFrame,_emscripten_glLoadIdentity__wrapper,_emscripten_glReleaseShaderCompiler__wrapper,_emscripten_glFinish__wrapper,_emscripten_glFlush__wrapper,b22,b22]; -var FUNCTION_TABLE_viid = [b23,_emscripten_glTexParameterf__wrapper]; -var FUNCTION_TABLE_viiii = [b24,_MouseButtonCallback,_emscripten_glBufferData__wrapper,_emscripten_glBufferSubData__wrapper,_emscripten_glUniform3i__wrapper,_emscripten_glUniformMatrix2fv__wrapper,_emscripten_glUniformMatrix3fv__wrapper,_emscripten_glUniformMatrix4fv__wrapper,_emscripten_glGetAttachedShaders__wrapper,_emscripten_glShaderSource__wrapper,_emscripten_glGetShaderSource__wrapper,_emscripten_glGetShaderInfoLog__wrapper,_emscripten_glGetShaderPrecisionFormat__wrapper,_emscripten_glGetProgramInfoLog__wrapper,_emscripten_glFramebufferRenderbuffer__wrapper,_emscripten_glGetFramebufferAttachmentParameteriv__wrapper,_emscripten_glGetInfoLogARB__wrapper,_emscripten_glVertexPointer__wrapper,_emscripten_glTexCoordPointer__wrapper,_emscripten_glColorPointer__wrapper,_emscripten_glDrawElements__wrapper,_emscripten_glDrawArraysInstanced__wrapper,_emscripten_glViewport__wrapper,_emscripten_glScissor__wrapper,_emscripten_glColorMask__wrapper,_emscripten_glRenderbufferStorage__wrapper,_emscripten_glBlendFuncSeparate__wrapper,_emscripten_glStencilFuncSeparate__wrapper,_emscripten_glStencilOpSeparate__wrapper,b24,b24,b24]; +var FUNCTION_TABLE_vdddddd = [b18,_emscripten_glFrustum__wrapper]; +var FUNCTION_TABLE_vdddd = [b19,_emscripten_glRotatef__wrapper,_emscripten_glClearColor__wrapper,_emscripten_glBlendColor__wrapper]; +var FUNCTION_TABLE_vdd = [b20,_emscripten_glDepthRange__wrapper,_emscripten_glDepthRangef__wrapper,_emscripten_glPolygonOffset__wrapper]; +var FUNCTION_TABLE_v = [b21,_UpdateDrawFrame,_emscripten_glLoadIdentity__wrapper,_emscripten_glReleaseShaderCompiler__wrapper,_emscripten_glFinish__wrapper,_emscripten_glFlush__wrapper,b21,b21]; +var FUNCTION_TABLE_viid = [b22,_emscripten_glTexParameterf__wrapper]; +var FUNCTION_TABLE_viiii = [b23,_MouseButtonCallback,_emscripten_glBufferData__wrapper,_emscripten_glBufferSubData__wrapper,_emscripten_glUniform3i__wrapper,_emscripten_glUniformMatrix2fv__wrapper,_emscripten_glUniformMatrix3fv__wrapper,_emscripten_glUniformMatrix4fv__wrapper,_emscripten_glGetAttachedShaders__wrapper,_emscripten_glShaderSource__wrapper,_emscripten_glGetShaderSource__wrapper,_emscripten_glGetShaderInfoLog__wrapper,_emscripten_glGetShaderPrecisionFormat__wrapper,_emscripten_glGetProgramInfoLog__wrapper,_emscripten_glFramebufferRenderbuffer__wrapper,_emscripten_glGetFramebufferAttachmentParameteriv__wrapper,_emscripten_glGetInfoLogARB__wrapper,_emscripten_glVertexPointer__wrapper,_emscripten_glTexCoordPointer__wrapper,_emscripten_glColorPointer__wrapper,_emscripten_glDrawElements__wrapper,_emscripten_glDrawArraysInstanced__wrapper,_emscripten_glViewport__wrapper,_emscripten_glScissor__wrapper,_emscripten_glColorMask__wrapper,_emscripten_glRenderbufferStorage__wrapper,_emscripten_glBlendFuncSeparate__wrapper,_emscripten_glStencilFuncSeparate__wrapper,_emscripten_glStencilOpSeparate__wrapper,b23,b23,b23]; - return { _i64Subtract: _i64Subtract, _fflush: _fflush, _main: _main, _i64Add: _i64Add, _memmove: _memmove, _strstr: _strstr, _memset: _memset, _malloc: _malloc, _memcpy: _memcpy, _bitshift64Lshr: _bitshift64Lshr, _free: _free, _emscripten_GetProcAddress: _emscripten_GetProcAddress, ___errno_location: ___errno_location, _bitshift64Shl: _bitshift64Shl, runPostSets: runPostSets, _emscripten_replace_memory: _emscripten_replace_memory, stackAlloc: stackAlloc, stackSave: stackSave, stackRestore: stackRestore, establishStackSpace: establishStackSpace, setThrew: setThrew, setTempRet0: setTempRet0, getTempRet0: getTempRet0, dynCall_viiiii: dynCall_viiiii, dynCall_vd: dynCall_vd, dynCall_vid: dynCall_vid, dynCall_vi: dynCall_vi, dynCall_vii: dynCall_vii, dynCall_ii: dynCall_ii, dynCall_viddd: dynCall_viddd, dynCall_vidd: dynCall_vidd, dynCall_iiii: dynCall_iiii, dynCall_viiiiiiii: dynCall_viiiiiiii, dynCall_viiiiii: dynCall_viiiiii, dynCall_viii: dynCall_viii, dynCall_vidddd: dynCall_vidddd, dynCall_vdi: dynCall_vdi, dynCall_viiiiiii: dynCall_viiiiiii, dynCall_viiiiiiiii: dynCall_viiiiiiiii, dynCall_iii: dynCall_iii, dynCall_i: dynCall_i, dynCall_iiiiii: dynCall_iiiiii, dynCall_vdddddd: dynCall_vdddddd, dynCall_vdddd: dynCall_vdddd, dynCall_vdd: dynCall_vdd, dynCall_v: dynCall_v, dynCall_viid: dynCall_viid, dynCall_viiii: dynCall_viiii }; + return { _roundf: _roundf, _main: _main, _llvm_cttz_i32: _llvm_cttz_i32, _bitshift64Lshr: _bitshift64Lshr, _bitshift64Shl: _bitshift64Shl, _fflush: _fflush, _memset: _memset, _sbrk: _sbrk, _memcpy: _memcpy, _llvm_bswap_i32: _llvm_bswap_i32, ___muldi3: ___muldi3, ___uremdi3: ___uremdi3, _i64Subtract: _i64Subtract, ___udivmoddi4: ___udivmoddi4, _i64Add: _i64Add, _emscripten_get_global_libc: _emscripten_get_global_libc, _emscripten_GetProcAddress: _emscripten_GetProcAddress, ___udivdi3: ___udivdi3, ___errno_location: ___errno_location, ___muldsi3: ___muldsi3, _free: _free, _memmove: _memmove, _strstr: _strstr, _malloc: _malloc, runPostSets: runPostSets, stackAlloc: stackAlloc, stackSave: stackSave, stackRestore: stackRestore, establishStackSpace: establishStackSpace, setTempRet0: setTempRet0, getTempRet0: getTempRet0, setThrew: setThrew, stackAlloc: stackAlloc, stackSave: stackSave, stackRestore: stackRestore, establishStackSpace: establishStackSpace, setThrew: setThrew, setTempRet0: setTempRet0, getTempRet0: getTempRet0, dynCall_viiiii: dynCall_viiiii, dynCall_vd: dynCall_vd, dynCall_vid: dynCall_vid, dynCall_vi: dynCall_vi, dynCall_vii: dynCall_vii, dynCall_ii: dynCall_ii, dynCall_viddd: dynCall_viddd, dynCall_vidd: dynCall_vidd, dynCall_iiii: dynCall_iiii, dynCall_viiiiiiii: dynCall_viiiiiiii, dynCall_viiiiii: dynCall_viiiiii, dynCall_viii: dynCall_viii, dynCall_vidddd: dynCall_vidddd, dynCall_vdi: dynCall_vdi, dynCall_viiiiiii: dynCall_viiiiiii, dynCall_viiiiiiiii: dynCall_viiiiiiiii, dynCall_iii: dynCall_iii, dynCall_i: dynCall_i, dynCall_vdddddd: dynCall_vdddddd, dynCall_vdddd: dynCall_vdddd, dynCall_vdd: dynCall_vdd, dynCall_v: dynCall_v, dynCall_viid: dynCall_viid, dynCall_viiii: dynCall_viiii }; }) // EMSCRIPTEN_END_ASM (Module.asmGlobalArg, Module.asmLibraryArg, buffer); -var _i64Subtract = Module["_i64Subtract"] = asm["_i64Subtract"]; -var _fflush = Module["_fflush"] = asm["_fflush"]; + +var real__roundf = asm["_roundf"]; asm["_roundf"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); +assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); +return real__roundf.apply(null, arguments); +}; + +var real__main = asm["_main"]; asm["_main"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); +assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); +return real__main.apply(null, arguments); +}; + +var real_stackSave = asm["stackSave"]; asm["stackSave"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); +assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); +return real_stackSave.apply(null, arguments); +}; + +var real_getTempRet0 = asm["getTempRet0"]; asm["getTempRet0"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); +assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); +return real_getTempRet0.apply(null, arguments); +}; + +var real_setThrew = asm["setThrew"]; asm["setThrew"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); +assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); +return real_setThrew.apply(null, arguments); +}; + +var real__bitshift64Lshr = asm["_bitshift64Lshr"]; asm["_bitshift64Lshr"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); +assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); +return real__bitshift64Lshr.apply(null, arguments); +}; + +var real__bitshift64Shl = asm["_bitshift64Shl"]; asm["_bitshift64Shl"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); +assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); +return real__bitshift64Shl.apply(null, arguments); +}; + +var real__fflush = asm["_fflush"]; asm["_fflush"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); +assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); +return real__fflush.apply(null, arguments); +}; + +var real__llvm_cttz_i32 = asm["_llvm_cttz_i32"]; asm["_llvm_cttz_i32"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); +assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); +return real__llvm_cttz_i32.apply(null, arguments); +}; + +var real__sbrk = asm["_sbrk"]; asm["_sbrk"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); +assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); +return real__sbrk.apply(null, arguments); +}; + +var real__llvm_bswap_i32 = asm["_llvm_bswap_i32"]; asm["_llvm_bswap_i32"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); +assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); +return real__llvm_bswap_i32.apply(null, arguments); +}; + +var real____muldi3 = asm["___muldi3"]; asm["___muldi3"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); +assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); +return real____muldi3.apply(null, arguments); +}; + +var real____uremdi3 = asm["___uremdi3"]; asm["___uremdi3"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); +assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); +return real____uremdi3.apply(null, arguments); +}; + +var real_stackAlloc = asm["stackAlloc"]; asm["stackAlloc"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); +assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); +return real_stackAlloc.apply(null, arguments); +}; + +var real__i64Subtract = asm["_i64Subtract"]; asm["_i64Subtract"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); +assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); +return real__i64Subtract.apply(null, arguments); +}; + +var real____udivmoddi4 = asm["___udivmoddi4"]; asm["___udivmoddi4"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); +assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); +return real____udivmoddi4.apply(null, arguments); +}; + +var real_setTempRet0 = asm["setTempRet0"]; asm["setTempRet0"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); +assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); +return real_setTempRet0.apply(null, arguments); +}; + +var real__i64Add = asm["_i64Add"]; asm["_i64Add"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); +assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); +return real__i64Add.apply(null, arguments); +}; + +var real__emscripten_get_global_libc = asm["_emscripten_get_global_libc"]; asm["_emscripten_get_global_libc"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); +assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); +return real__emscripten_get_global_libc.apply(null, arguments); +}; + +var real__emscripten_GetProcAddress = asm["_emscripten_GetProcAddress"]; asm["_emscripten_GetProcAddress"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); +assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); +return real__emscripten_GetProcAddress.apply(null, arguments); +}; + +var real____udivdi3 = asm["___udivdi3"]; asm["___udivdi3"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); +assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); +return real____udivdi3.apply(null, arguments); +}; + +var real____errno_location = asm["___errno_location"]; asm["___errno_location"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); +assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); +return real____errno_location.apply(null, arguments); +}; + +var real____muldsi3 = asm["___muldsi3"]; asm["___muldsi3"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); +assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); +return real____muldsi3.apply(null, arguments); +}; + +var real__free = asm["_free"]; asm["_free"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); +assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); +return real__free.apply(null, arguments); +}; + +var real_establishStackSpace = asm["establishStackSpace"]; asm["establishStackSpace"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); +assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); +return real_establishStackSpace.apply(null, arguments); +}; + +var real__memmove = asm["_memmove"]; asm["_memmove"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); +assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); +return real__memmove.apply(null, arguments); +}; + +var real__strstr = asm["_strstr"]; asm["_strstr"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); +assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); +return real__strstr.apply(null, arguments); +}; + +var real_stackRestore = asm["stackRestore"]; asm["stackRestore"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); +assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); +return real_stackRestore.apply(null, arguments); +}; + +var real__malloc = asm["_malloc"]; asm["_malloc"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); +assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); +return real__malloc.apply(null, arguments); +}; +var _roundf = Module["_roundf"] = asm["_roundf"]; var _main = Module["_main"] = asm["_main"]; +var stackSave = Module["stackSave"] = asm["stackSave"]; +var getTempRet0 = Module["getTempRet0"] = asm["getTempRet0"]; +var _memset = Module["_memset"] = asm["_memset"]; +var setThrew = Module["setThrew"] = asm["setThrew"]; +var _bitshift64Lshr = Module["_bitshift64Lshr"] = asm["_bitshift64Lshr"]; +var _bitshift64Shl = Module["_bitshift64Shl"] = asm["_bitshift64Shl"]; +var _fflush = Module["_fflush"] = asm["_fflush"]; +var _llvm_cttz_i32 = Module["_llvm_cttz_i32"] = asm["_llvm_cttz_i32"]; +var _sbrk = Module["_sbrk"] = asm["_sbrk"]; +var _memcpy = Module["_memcpy"] = asm["_memcpy"]; +var _llvm_bswap_i32 = Module["_llvm_bswap_i32"] = asm["_llvm_bswap_i32"]; +var ___muldi3 = Module["___muldi3"] = asm["___muldi3"]; +var ___uremdi3 = Module["___uremdi3"] = asm["___uremdi3"]; +var stackAlloc = Module["stackAlloc"] = asm["stackAlloc"]; +var _i64Subtract = Module["_i64Subtract"] = asm["_i64Subtract"]; +var ___udivmoddi4 = Module["___udivmoddi4"] = asm["___udivmoddi4"]; +var setTempRet0 = Module["setTempRet0"] = asm["setTempRet0"]; var _i64Add = Module["_i64Add"] = asm["_i64Add"]; +var _emscripten_get_global_libc = Module["_emscripten_get_global_libc"] = asm["_emscripten_get_global_libc"]; +var _emscripten_GetProcAddress = Module["_emscripten_GetProcAddress"] = asm["_emscripten_GetProcAddress"]; +var ___udivdi3 = Module["___udivdi3"] = asm["___udivdi3"]; +var ___errno_location = Module["___errno_location"] = asm["___errno_location"]; +var ___muldsi3 = Module["___muldsi3"] = asm["___muldsi3"]; +var _free = Module["_free"] = asm["_free"]; +var runPostSets = Module["runPostSets"] = asm["runPostSets"]; +var establishStackSpace = Module["establishStackSpace"] = asm["establishStackSpace"]; var _memmove = Module["_memmove"] = asm["_memmove"]; var _strstr = Module["_strstr"] = asm["_strstr"]; -var _memset = Module["_memset"] = asm["_memset"]; -var runPostSets = Module["runPostSets"] = asm["runPostSets"]; +var stackRestore = Module["stackRestore"] = asm["stackRestore"]; var _malloc = Module["_malloc"] = asm["_malloc"]; -var _memcpy = Module["_memcpy"] = asm["_memcpy"]; -var _emscripten_replace_memory = Module["_emscripten_replace_memory"] = asm["_emscripten_replace_memory"]; -var _bitshift64Lshr = Module["_bitshift64Lshr"] = asm["_bitshift64Lshr"]; -var _free = Module["_free"] = asm["_free"]; -var _emscripten_GetProcAddress = Module["_emscripten_GetProcAddress"] = asm["_emscripten_GetProcAddress"]; -var ___errno_location = Module["___errno_location"] = asm["___errno_location"]; -var _bitshift64Shl = Module["_bitshift64Shl"] = asm["_bitshift64Shl"]; var dynCall_viiiii = Module["dynCall_viiiii"] = asm["dynCall_viiiii"]; var dynCall_vd = Module["dynCall_vd"] = asm["dynCall_vd"]; var dynCall_vid = Module["dynCall_vid"] = asm["dynCall_vid"]; @@ -65439,7 +69153,6 @@ var dynCall_viiiiiii = Module["dynCall_viiiiiii"] = asm["dynCall_viiiiiii"]; var dynCall_viiiiiiiii = Module["dynCall_viiiiiiiii"] = asm["dynCall_viiiiiiiii"]; var dynCall_iii = Module["dynCall_iii"] = asm["dynCall_iii"]; var dynCall_i = Module["dynCall_i"] = asm["dynCall_i"]; -var dynCall_iiiiii = Module["dynCall_iiiiii"] = asm["dynCall_iiiiii"]; var dynCall_vdddddd = Module["dynCall_vdddddd"] = asm["dynCall_vdddddd"]; var dynCall_vdddd = Module["dynCall_vdddd"] = asm["dynCall_vdddd"]; var dynCall_vdd = Module["dynCall_vdd"] = asm["dynCall_vdd"]; @@ -65448,18 +69161,23 @@ var dynCall_viid = Module["dynCall_viid"] = asm["dynCall_viid"]; var dynCall_viiii = Module["dynCall_viiii"] = asm["dynCall_viiii"]; ; -Runtime.stackAlloc = asm['stackAlloc']; -Runtime.stackSave = asm['stackSave']; -Runtime.stackRestore = asm['stackRestore']; -Runtime.establishStackSpace = asm['establishStackSpace']; +Runtime.stackAlloc = Module['stackAlloc']; +Runtime.stackSave = Module['stackSave']; +Runtime.stackRestore = Module['stackRestore']; +Runtime.establishStackSpace = Module['establishStackSpace']; -Runtime.setTempRet0 = asm['setTempRet0']; -Runtime.getTempRet0 = asm['getTempRet0']; +Runtime.setTempRet0 = Module['setTempRet0']; +Runtime.getTempRet0 = Module['getTempRet0']; // === Auto-generated postamble setup entry stuff === +Module['asm'] = asm; + + + + function ExitStatus(status) { this.name = "ExitStatus"; @@ -65521,8 +69239,12 @@ Module['callMain'] = Module.callMain = function callMain(args) { Module['noExitRuntime'] = true; return; } else { - if (e && typeof e === 'object' && e.stack) Module.printErr('exception thrown: ' + [e, e.stack]); - throw e; + var toLog = e; + if (e && typeof e === 'object' && e.stack) { + toLog = [e, e.stack]; + } + Module.printErr('exception thrown: ' + toLog); + Module['quit'](1, e); } } finally { calledMain = true; @@ -65538,9 +69260,12 @@ function run(args) { if (preloadStartTime === null) preloadStartTime = Date.now(); if (runDependencies > 0) { + Module.printErr('run() called, but dependencies remain, so not running'); return; } + writeStackCookie(); + preRun(); if (runDependencies > 0) return; // a preRun added a dependency, run will be called later @@ -65550,12 +69275,15 @@ function run(args) { if (Module['calledRun']) return; // run may have just been called while the async setStatus time below was happening Module['calledRun'] = true; - if (ABORT) return; + if (ABORT) return; ensureInitRuntime(); preMain(); + if (ENVIRONMENT_IS_WEB && preloadStartTime !== null) { + Module.printErr('pre-main prep time: ' + (Date.now() - preloadStartTime) + ' ms'); + } if (Module['onRuntimeInitialized']) Module['onRuntimeInitialized'](); @@ -65575,15 +69303,18 @@ function run(args) { } else { doRun(); } + checkStackCookie(); } Module['run'] = Module.run = run; function exit(status, implicit) { if (implicit && Module['noExitRuntime']) { + Module.printErr('exit(' + status + ') implicitly called by end of main(), but noExitRuntime, so not exiting the runtime (you can use emscripten_force_exit, if you want to force a true shutdown)'); return; } if (Module['noExitRuntime']) { + Module.printErr('exit(' + status + ') called, but noExitRuntime, so halting execution but not exiting the runtime or preventing further async execution (you can use emscripten_force_exit, if you want to force a true shutdown)'); } else { ABORT = true; @@ -65596,25 +69327,9 @@ function exit(status, implicit) { } if (ENVIRONMENT_IS_NODE) { - // Work around a node.js bug where stdout buffer is not flushed at process exit: - // Instead of process.exit() directly, wait for stdout flush event. - // See https://github.com/joyent/node/issues/1669 and https://github.com/kripken/emscripten/issues/2582 - // Workaround is based on https://github.com/RReverser/acorn/commit/50ab143cecc9ed71a2d66f78b4aec3bb2e9844f6 - process['stdout']['once']('drain', function () { - process['exit'](status); - }); - console.log(' '); // Make sure to print something to force the drain event to occur, in case the stdout buffer was empty. - // Work around another node bug where sometimes 'drain' is never fired - make another effort - // to emit the exit status, after a significant delay (if node hasn't fired drain by then, give up) - setTimeout(function() { - process['exit'](status); - }, 500); - } else - if (ENVIRONMENT_IS_SHELL && typeof quit === 'function') { - quit(status); + process['exit'](status); } - // if we reach here, we must throw an exception to halt the current execution - throw new ExitStatus(status); + Module['quit'](status, new ExitStatus(status)); } Module['exit'] = Module.exit = exit; @@ -65632,7 +69347,7 @@ function abort(what) { ABORT = true; EXITSTATUS = 1; - var extra = '\nIf this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.'; + var extra = ''; var output = 'abort(' + what + ') at ' + stackTrace() + extra; if (abortDecorators) { @@ -65668,7 +69383,6 @@ run(); - // {{MODULE_ADDITIONS}} diff --git a/docs/games/illogic.data b/docs/games/illogic.data deleted file mode 100644 index aef91fc34..000000000 Binary files a/docs/games/illogic.data and /dev/null differ diff --git a/docs/games/illogic.js b/docs/games/illogic.js deleted file mode 100644 index 5181e5bee..000000000 --- a/docs/games/illogic.js +++ /dev/null @@ -1,45173 +0,0 @@ - -var Module; - -if (typeof Module === 'undefined') Module = {}; - -if (!Module.expectedDataFileDownloads) { - Module.expectedDataFileDownloads = 0; - Module.finishedDataFileDownloads = 0; -} -Module.expectedDataFileDownloads++; -(function() { - var loadPackage = function(metadata) { - - var PACKAGE_PATH; - if (typeof window === 'object') { - PACKAGE_PATH = window['encodeURIComponent'](window.location.pathname.toString().substring(0, window.location.pathname.toString().lastIndexOf('/')) + '/'); - } else if (typeof location !== 'undefined') { - // worker - PACKAGE_PATH = encodeURIComponent(location.pathname.toString().substring(0, location.pathname.toString().lastIndexOf('/')) + '/'); - } else { - throw 'using preloaded data can only be done on a web page or in a web worker'; - } - var PACKAGE_NAME = 'illogic.data'; - var REMOTE_PACKAGE_BASE = 'illogic.data'; - if (typeof Module['locateFilePackage'] === 'function' && !Module['locateFile']) { - Module['locateFile'] = Module['locateFilePackage']; - Module.printErr('warning: you defined Module.locateFilePackage, that has been renamed to Module.locateFile (using your locateFilePackage for now)'); - } - var REMOTE_PACKAGE_NAME = typeof Module['locateFile'] === 'function' ? - Module['locateFile'](REMOTE_PACKAGE_BASE) : - ((Module['filePackagePrefixURL'] || '') + REMOTE_PACKAGE_BASE); - - var REMOTE_PACKAGE_SIZE = metadata.remote_package_size; - var PACKAGE_UUID = metadata.package_uuid; - - function fetchRemotePackage(packageName, packageSize, callback, errback) { - var xhr = new XMLHttpRequest(); - xhr.open('GET', packageName, true); - xhr.responseType = 'arraybuffer'; - xhr.onprogress = function(event) { - var url = packageName; - var size = packageSize; - if (event.total) size = event.total; - if (event.loaded) { - if (!xhr.addedTotal) { - xhr.addedTotal = true; - if (!Module.dataFileDownloads) Module.dataFileDownloads = {}; - Module.dataFileDownloads[url] = { - loaded: event.loaded, - total: size - }; - } else { - Module.dataFileDownloads[url].loaded = event.loaded; - } - var total = 0; - var loaded = 0; - var num = 0; - for (var download in Module.dataFileDownloads) { - var data = Module.dataFileDownloads[download]; - total += data.total; - loaded += data.loaded; - num++; - } - total = Math.ceil(total * Module.expectedDataFileDownloads/num); - if (Module['setStatus']) Module['setStatus']('Downloading data... (' + loaded + '/' + total + ')'); - } else if (!Module.dataFileDownloads) { - if (Module['setStatus']) Module['setStatus']('Downloading data...'); - } - }; - xhr.onload = function(event) { - var packageData = xhr.response; - callback(packageData); - }; - xhr.send(null); - }; - - function handleError(error) { - console.error('package error:', error); - }; - - var fetched = null, fetchedCallback = null; - fetchRemotePackage(REMOTE_PACKAGE_NAME, REMOTE_PACKAGE_SIZE, function(data) { - if (fetchedCallback) { - fetchedCallback(data); - fetchedCallback = null; - } else { - fetched = data; - } - }, handleError); - - function runWithFS() { - - function assert(check, msg) { - if (!check) throw msg + new Error().stack; - } -Module['FS_createPath']('/', 'resources', true, true); - - function DataRequest(start, end, crunched, audio) { - this.start = start; - this.end = end; - this.crunched = crunched; - this.audio = audio; - } - DataRequest.prototype = { - requests: {}, - open: function(mode, name) { - this.name = name; - this.requests[name] = this; - Module['addRunDependency']('fp ' + this.name); - }, - send: function() {}, - onload: function() { - var byteArray = this.byteArray.subarray(this.start, this.end); - - this.finish(byteArray); - - }, - finish: function(byteArray) { - var that = this; - - Module['FS_createDataFile'](this.name, null, byteArray, true, true, true); // canOwn this data in the filesystem, it is a slide into the heap that will never change - Module['removeRunDependency']('fp ' + that.name); - - this.requests[this.name] = null; - }, - }; - - var files = metadata.files; - for (i = 0; i < files.length; ++i) { - new DataRequest(files[i].start, files[i].end, files[i].crunched, files[i].audio).open('GET', files[i].filename); - } - - - function processPackageData(arrayBuffer) { - Module.finishedDataFileDownloads++; - assert(arrayBuffer, 'Loading data file failed.'); - assert(arrayBuffer instanceof ArrayBuffer, 'bad input to processPackageData'); - var byteArray = new Uint8Array(arrayBuffer); - var curr; - - // copy the entire loaded file into a spot in the heap. Files will refer to slices in that. They cannot be freed though - // (we may be allocating before malloc is ready, during startup). - if (Module['SPLIT_MEMORY']) Module.printErr('warning: you should run the file packager with --no-heap-copy when SPLIT_MEMORY is used, otherwise copying into the heap may fail due to the splitting'); - var ptr = Module['getMemory'](byteArray.length); - Module['HEAPU8'].set(byteArray, ptr); - DataRequest.prototype.byteArray = Module['HEAPU8'].subarray(ptr, ptr+byteArray.length); - - var files = metadata.files; - for (i = 0; i < files.length; ++i) { - DataRequest.prototype.requests[files[i].filename].onload(); - } - Module['removeRunDependency']('datafile_illogic.data'); - - }; - Module['addRunDependency']('datafile_illogic.data'); - - if (!Module.preloadResults) Module.preloadResults = {}; - - Module.preloadResults[PACKAGE_NAME] = {fromCache: false}; - if (fetched) { - processPackageData(fetched); - fetched = null; - } else { - fetchedCallback = processPackageData; - } - - } - if (Module['calledRun']) { - runWithFS(); - } else { - if (!Module['preRun']) Module['preRun'] = []; - Module["preRun"].push(runWithFS); // FS is not initialized yet, wait for it - } - - } - loadPackage({"files": [{"audio": 1, "start": 0, "crunched": 0, "end": 2672956, "filename": "/resources/ambient.ogg"}, {"audio": 1, "start": 2672956, "crunched": 0, "end": 2679704, "filename": "/resources/win.wav"}], "remote_package_size": 2679704, "package_uuid": "8ee932ab-3e6c-4b41-8773-9aac96365d48"}); - -})(); - -// The Module object: Our interface to the outside world. We import -// and export values on it, and do the work to get that through -// closure compiler if necessary. There are various ways Module can be used: -// 1. Not defined. We create it here -// 2. A function parameter, function(Module) { ..generated code.. } -// 3. pre-run appended it, var Module = {}; ..generated code.. -// 4. External script tag defines var Module. -// We need to do an eval in order to handle the closure compiler -// case, where this code here is minified but Module was defined -// elsewhere (e.g. case 4 above). We also need to check if Module -// already exists (e.g. case 3 above). -// Note that if you want to run closure, and also to use Module -// after the generated code, you will need to define var Module = {}; -// before the code. Then that object will be used in the code, and you -// can continue to use Module afterwards as well. -var Module; -if (!Module) Module = (typeof Module !== 'undefined' ? Module : null) || {}; - -// Sometimes an existing Module object exists with properties -// meant to overwrite the default module functionality. Here -// we collect those properties and reapply _after_ we configure -// the current environment's defaults to avoid having to be so -// defensive during initialization. -var moduleOverrides = {}; -for (var key in Module) { - if (Module.hasOwnProperty(key)) { - moduleOverrides[key] = Module[key]; - } -} - -// The environment setup code below is customized to use Module. -// *** Environment setup code *** -var ENVIRONMENT_IS_WEB = typeof window === 'object'; -// Three configurations we can be running in: -// 1) We could be the application main() thread running in the main JS UI thread. (ENVIRONMENT_IS_WORKER == false and ENVIRONMENT_IS_PTHREAD == false) -// 2) We could be the application main() thread proxied to worker. (with Emscripten -s PROXY_TO_WORKER=1) (ENVIRONMENT_IS_WORKER == true, ENVIRONMENT_IS_PTHREAD == false) -// 3) We could be an application pthread running in a worker. (ENVIRONMENT_IS_WORKER == true and ENVIRONMENT_IS_PTHREAD == true) -var ENVIRONMENT_IS_WORKER = typeof importScripts === 'function'; -var ENVIRONMENT_IS_NODE = typeof process === 'object' && typeof require === 'function' && !ENVIRONMENT_IS_WEB && !ENVIRONMENT_IS_WORKER; -var ENVIRONMENT_IS_SHELL = !ENVIRONMENT_IS_WEB && !ENVIRONMENT_IS_NODE && !ENVIRONMENT_IS_WORKER; - -if (ENVIRONMENT_IS_NODE) { - // Expose functionality in the same simple way that the shells work - // Note that we pollute the global namespace here, otherwise we break in node - if (!Module['print']) Module['print'] = function print(x) { - process['stdout'].write(x + '\n'); - }; - if (!Module['printErr']) Module['printErr'] = function printErr(x) { - process['stderr'].write(x + '\n'); - }; - - var nodeFS = require('fs'); - var nodePath = require('path'); - - Module['read'] = function read(filename, binary) { - filename = nodePath['normalize'](filename); - var ret = nodeFS['readFileSync'](filename); - // The path is absolute if the normalized version is the same as the resolved. - if (!ret && filename != nodePath['resolve'](filename)) { - filename = path.join(__dirname, '..', 'src', filename); - ret = nodeFS['readFileSync'](filename); - } - if (ret && !binary) ret = ret.toString(); - return ret; - }; - - Module['readBinary'] = function readBinary(filename) { - var ret = Module['read'](filename, true); - if (!ret.buffer) { - ret = new Uint8Array(ret); - } - assert(ret.buffer); - return ret; - }; - - Module['load'] = function load(f) { - globalEval(read(f)); - }; - - if (!Module['thisProgram']) { - if (process['argv'].length > 1) { - Module['thisProgram'] = process['argv'][1].replace(/\\/g, '/'); - } else { - Module['thisProgram'] = 'unknown-program'; - } - } - - Module['arguments'] = process['argv'].slice(2); - - if (typeof module !== 'undefined') { - module['exports'] = Module; - } - - process['on']('uncaughtException', function(ex) { - // suppress ExitStatus exceptions from showing an error - if (!(ex instanceof ExitStatus)) { - throw ex; - } - }); - - Module['inspect'] = function () { return '[Emscripten Module object]'; }; -} -else if (ENVIRONMENT_IS_SHELL) { - if (!Module['print']) Module['print'] = print; - if (typeof printErr != 'undefined') Module['printErr'] = printErr; // not present in v8 or older sm - - if (typeof read != 'undefined') { - Module['read'] = read; - } else { - Module['read'] = function read() { throw 'no read() available (jsc?)' }; - } - - Module['readBinary'] = function readBinary(f) { - if (typeof readbuffer === 'function') { - return new Uint8Array(readbuffer(f)); - } - var data = read(f, 'binary'); - assert(typeof data === 'object'); - return data; - }; - - if (typeof scriptArgs != 'undefined') { - Module['arguments'] = scriptArgs; - } else if (typeof arguments != 'undefined') { - Module['arguments'] = arguments; - } - -} -else if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) { - Module['read'] = function read(url) { - var xhr = new XMLHttpRequest(); - xhr.open('GET', url, false); - xhr.send(null); - return xhr.responseText; - }; - - if (typeof arguments != 'undefined') { - Module['arguments'] = arguments; - } - - if (typeof console !== 'undefined') { - if (!Module['print']) Module['print'] = function print(x) { - console.log(x); - }; - if (!Module['printErr']) Module['printErr'] = function printErr(x) { - console.log(x); - }; - } else { - // Probably a worker, and without console.log. We can do very little here... - var TRY_USE_DUMP = false; - if (!Module['print']) Module['print'] = (TRY_USE_DUMP && (typeof(dump) !== "undefined") ? (function(x) { - dump(x); - }) : (function(x) { - // self.postMessage(x); // enable this if you want stdout to be sent as messages - })); - } - - if (ENVIRONMENT_IS_WORKER) { - Module['load'] = importScripts; - } - - if (typeof Module['setWindowTitle'] === 'undefined') { - Module['setWindowTitle'] = function(title) { document.title = title }; - } -} -else { - // Unreachable because SHELL is dependant on the others - throw 'Unknown runtime environment. Where are we?'; -} - -function globalEval(x) { - eval.call(null, x); -} -if (!Module['load'] && Module['read']) { - Module['load'] = function load(f) { - globalEval(Module['read'](f)); - }; -} -if (!Module['print']) { - Module['print'] = function(){}; -} -if (!Module['printErr']) { - Module['printErr'] = Module['print']; -} -if (!Module['arguments']) { - Module['arguments'] = []; -} -if (!Module['thisProgram']) { - Module['thisProgram'] = './this.program'; -} - -// *** Environment setup code *** - -// Closure helpers -Module.print = Module['print']; -Module.printErr = Module['printErr']; - -// Callbacks -Module['preRun'] = []; -Module['postRun'] = []; - -// Merge back in the overrides -for (var key in moduleOverrides) { - if (moduleOverrides.hasOwnProperty(key)) { - Module[key] = moduleOverrides[key]; - } -} - - - -// === Preamble library stuff === - -// Documentation for the public APIs defined in this file must be updated in: -// site/source/docs/api_reference/preamble.js.rst -// A prebuilt local version of the documentation is available at: -// site/build/text/docs/api_reference/preamble.js.txt -// You can also build docs locally as HTML or other formats in site/ -// An online HTML version (which may be of a different version of Emscripten) -// is up at http://kripken.github.io/emscripten-site/docs/api_reference/preamble.js.html - -//======================================== -// Runtime code shared with compiler -//======================================== - -var Runtime = { - setTempRet0: function (value) { - tempRet0 = value; - }, - getTempRet0: function () { - return tempRet0; - }, - stackSave: function () { - return STACKTOP; - }, - stackRestore: function (stackTop) { - STACKTOP = stackTop; - }, - getNativeTypeSize: function (type) { - switch (type) { - case 'i1': case 'i8': return 1; - case 'i16': return 2; - case 'i32': return 4; - case 'i64': return 8; - case 'float': return 4; - case 'double': return 8; - default: { - if (type[type.length-1] === '*') { - return Runtime.QUANTUM_SIZE; // A pointer - } else if (type[0] === 'i') { - var bits = parseInt(type.substr(1)); - assert(bits % 8 === 0); - return bits/8; - } else { - return 0; - } - } - } - }, - getNativeFieldSize: function (type) { - return Math.max(Runtime.getNativeTypeSize(type), Runtime.QUANTUM_SIZE); - }, - STACK_ALIGN: 16, - prepVararg: function (ptr, type) { - if (type === 'double' || type === 'i64') { - // move so the load is aligned - if (ptr & 7) { - assert((ptr & 7) === 4); - ptr += 4; - } - } else { - assert((ptr & 3) === 0); - } - return ptr; - }, - getAlignSize: function (type, size, vararg) { - // we align i64s and doubles on 64-bit boundaries, unlike x86 - if (!vararg && (type == 'i64' || type == 'double')) return 8; - if (!type) return Math.min(size, 8); // align structures internally to 64 bits - return Math.min(size || (type ? Runtime.getNativeFieldSize(type) : 0), Runtime.QUANTUM_SIZE); - }, - dynCall: function (sig, ptr, args) { - if (args && args.length) { - if (!args.splice) args = Array.prototype.slice.call(args); - args.splice(0, 0, ptr); - return Module['dynCall_' + sig].apply(null, args); - } else { - return Module['dynCall_' + sig].call(null, ptr); - } - }, - functionPointers: [], - addFunction: function (func) { - for (var i = 0; i < Runtime.functionPointers.length; i++) { - if (!Runtime.functionPointers[i]) { - Runtime.functionPointers[i] = func; - return 2*(1 + i); - } - } - throw 'Finished up all reserved function pointers. Use a higher value for RESERVED_FUNCTION_POINTERS.'; - }, - removeFunction: function (index) { - Runtime.functionPointers[(index-2)/2] = null; - }, - warnOnce: function (text) { - if (!Runtime.warnOnce.shown) Runtime.warnOnce.shown = {}; - if (!Runtime.warnOnce.shown[text]) { - Runtime.warnOnce.shown[text] = 1; - Module.printErr(text); - } - }, - funcWrappers: {}, - getFuncWrapper: function (func, sig) { - assert(sig); - if (!Runtime.funcWrappers[sig]) { - Runtime.funcWrappers[sig] = {}; - } - var sigCache = Runtime.funcWrappers[sig]; - if (!sigCache[func]) { - sigCache[func] = function dynCall_wrapper() { - return Runtime.dynCall(sig, func, arguments); - }; - } - return sigCache[func]; - }, - getCompilerSetting: function (name) { - throw 'You must build with -s RETAIN_COMPILER_SETTINGS=1 for Runtime.getCompilerSetting or emscripten_get_compiler_setting to work'; - }, - stackAlloc: function (size) { var ret = STACKTOP;STACKTOP = (STACKTOP + size)|0;STACKTOP = (((STACKTOP)+15)&-16); return ret; }, - staticAlloc: function (size) { var ret = STATICTOP;STATICTOP = (STATICTOP + size)|0;STATICTOP = (((STATICTOP)+15)&-16); return ret; }, - dynamicAlloc: function (size) { var ret = DYNAMICTOP;DYNAMICTOP = (DYNAMICTOP + size)|0;DYNAMICTOP = (((DYNAMICTOP)+15)&-16); if (DYNAMICTOP >= TOTAL_MEMORY) { var success = enlargeMemory(); if (!success) { DYNAMICTOP = ret; return 0; } }; return ret; }, - alignMemory: function (size,quantum) { var ret = size = Math.ceil((size)/(quantum ? quantum : 16))*(quantum ? quantum : 16); return ret; }, - makeBigInt: function (low,high,unsigned) { var ret = (unsigned ? ((+((low>>>0)))+((+((high>>>0)))*4294967296.0)) : ((+((low>>>0)))+((+((high|0)))*4294967296.0))); return ret; }, - GLOBAL_BASE: 8, - QUANTUM_SIZE: 4, - __dummy__: 0 -} - - - -Module["Runtime"] = Runtime; - - - -//======================================== -// Runtime essentials -//======================================== - -var __THREW__ = 0; // Used in checking for thrown exceptions. - -var ABORT = false; // whether we are quitting the application. no code should run after this. set in exit() and abort() -var EXITSTATUS = 0; - -var undef = 0; -// tempInt is used for 32-bit signed values or smaller. tempBigInt is used -// for 32-bit unsigned values or more than 32 bits. TODO: audit all uses of tempInt -var tempValue, tempInt, tempBigInt, tempInt2, tempBigInt2, tempPair, tempBigIntI, tempBigIntR, tempBigIntS, tempBigIntP, tempBigIntD, tempDouble, tempFloat; -var tempI64, tempI64b; -var tempRet0, tempRet1, tempRet2, tempRet3, tempRet4, tempRet5, tempRet6, tempRet7, tempRet8, tempRet9; - -function assert(condition, text) { - if (!condition) { - abort('Assertion failed: ' + text); - } -} - -var globalScope = this; - -// Returns the C function with a specified identifier (for C++, you need to do manual name mangling) -function getCFunc(ident) { - var func = Module['_' + ident]; // closure exported function - if (!func) { - try { - func = eval('_' + ident); // explicit lookup - } catch(e) {} - } - assert(func, 'Cannot call unknown function ' + ident + ' (perhaps LLVM optimizations or closure removed it?)'); - return func; -} - -var cwrap, ccall; -(function(){ - var JSfuncs = { - // Helpers for cwrap -- it can't refer to Runtime directly because it might - // be renamed by closure, instead it calls JSfuncs['stackSave'].body to find - // out what the minified function name is. - 'stackSave': function() { - Runtime.stackSave() - }, - 'stackRestore': function() { - Runtime.stackRestore() - }, - // type conversion from js to c - 'arrayToC' : function(arr) { - var ret = Runtime.stackAlloc(arr.length); - writeArrayToMemory(arr, ret); - return ret; - }, - 'stringToC' : function(str) { - var ret = 0; - if (str !== null && str !== undefined && str !== 0) { // null string - // at most 4 bytes per UTF-8 code point, +1 for the trailing '\0' - ret = Runtime.stackAlloc((str.length << 2) + 1); - writeStringToMemory(str, ret); - } - return ret; - } - }; - // For fast lookup of conversion functions - var toC = {'string' : JSfuncs['stringToC'], 'array' : JSfuncs['arrayToC']}; - - // C calling interface. - ccall = function ccallFunc(ident, returnType, argTypes, args, opts) { - var func = getCFunc(ident); - var cArgs = []; - var stack = 0; - if (args) { - for (var i = 0; i < args.length; i++) { - var converter = toC[argTypes[i]]; - if (converter) { - if (stack === 0) stack = Runtime.stackSave(); - cArgs[i] = converter(args[i]); - } else { - cArgs[i] = args[i]; - } - } - } - var ret = func.apply(null, cArgs); - if (returnType === 'string') ret = Pointer_stringify(ret); - if (stack !== 0) { - if (opts && opts.async) { - EmterpreterAsync.asyncFinalizers.push(function() { - Runtime.stackRestore(stack); - }); - return; - } - Runtime.stackRestore(stack); - } - return ret; - } - - var sourceRegex = /^function\s*\(([^)]*)\)\s*{\s*([^*]*?)[\s;]*(?:return\s*(.*?)[;\s]*)?}$/; - function parseJSFunc(jsfunc) { - // Match the body and the return value of a javascript function source - var parsed = jsfunc.toString().match(sourceRegex).slice(1); - return {arguments : parsed[0], body : parsed[1], returnValue: parsed[2]} - } - var JSsource = {}; - for (var fun in JSfuncs) { - if (JSfuncs.hasOwnProperty(fun)) { - // Elements of toCsource are arrays of three items: - // the code, and the return value - JSsource[fun] = parseJSFunc(JSfuncs[fun]); - } - } - - - cwrap = function cwrap(ident, returnType, argTypes) { - argTypes = argTypes || []; - var cfunc = getCFunc(ident); - // When the function takes numbers and returns a number, we can just return - // the original function - var numericArgs = argTypes.every(function(type){ return type === 'number'}); - var numericRet = (returnType !== 'string'); - if ( numericRet && numericArgs) { - return cfunc; - } - // Creation of the arguments list (["$1","$2",...,"$nargs"]) - var argNames = argTypes.map(function(x,i){return '$'+i}); - var funcstr = "(function(" + argNames.join(',') + ") {"; - var nargs = argTypes.length; - if (!numericArgs) { - // Generate the code needed to convert the arguments from javascript - // values to pointers - funcstr += 'var stack = ' + JSsource['stackSave'].body + ';'; - for (var i = 0; i < nargs; i++) { - var arg = argNames[i], type = argTypes[i]; - if (type === 'number') continue; - var convertCode = JSsource[type + 'ToC']; // [code, return] - funcstr += 'var ' + convertCode.arguments + ' = ' + arg + ';'; - funcstr += convertCode.body + ';'; - funcstr += arg + '=' + convertCode.returnValue + ';'; - } - } - - // When the code is compressed, the name of cfunc is not literally 'cfunc' anymore - var cfuncname = parseJSFunc(function(){return cfunc}).returnValue; - // Call the function - funcstr += 'var ret = ' + cfuncname + '(' + argNames.join(',') + ');'; - if (!numericRet) { // Return type can only by 'string' or 'number' - // Convert the result to a string - var strgfy = parseJSFunc(function(){return Pointer_stringify}).returnValue; - funcstr += 'ret = ' + strgfy + '(ret);'; - } - if (!numericArgs) { - // If we had a stack, restore it - funcstr += JSsource['stackRestore'].body.replace('()', '(stack)') + ';'; - } - funcstr += 'return ret})'; - return eval(funcstr); - }; -})(); -Module["ccall"] = ccall; -Module["cwrap"] = cwrap; - -function setValue(ptr, value, type, noSafe) { - type = type || 'i8'; - if (type.charAt(type.length-1) === '*') type = 'i32'; // pointers are 32-bit - switch(type) { - case 'i1': HEAP8[((ptr)>>0)]=value; break; - case 'i8': HEAP8[((ptr)>>0)]=value; break; - case 'i16': HEAP16[((ptr)>>1)]=value; break; - case 'i32': HEAP32[((ptr)>>2)]=value; break; - case 'i64': (tempI64 = [value>>>0,(tempDouble=value,(+(Math_abs(tempDouble))) >= 1.0 ? (tempDouble > 0.0 ? ((Math_min((+(Math_floor((tempDouble)/4294967296.0))), 4294967295.0))|0)>>>0 : (~~((+(Math_ceil((tempDouble - +(((~~(tempDouble)))>>>0))/4294967296.0)))))>>>0) : 0)],HEAP32[((ptr)>>2)]=tempI64[0],HEAP32[(((ptr)+(4))>>2)]=tempI64[1]); break; - case 'float': HEAPF32[((ptr)>>2)]=value; break; - case 'double': HEAPF64[((ptr)>>3)]=value; break; - default: abort('invalid type for setValue: ' + type); - } -} -Module["setValue"] = setValue; - - -function getValue(ptr, type, noSafe) { - type = type || 'i8'; - if (type.charAt(type.length-1) === '*') type = 'i32'; // pointers are 32-bit - switch(type) { - case 'i1': return HEAP8[((ptr)>>0)]; - case 'i8': return HEAP8[((ptr)>>0)]; - case 'i16': return HEAP16[((ptr)>>1)]; - case 'i32': return HEAP32[((ptr)>>2)]; - case 'i64': return HEAP32[((ptr)>>2)]; - case 'float': return HEAPF32[((ptr)>>2)]; - case 'double': return HEAPF64[((ptr)>>3)]; - default: abort('invalid type for setValue: ' + type); - } - return null; -} -Module["getValue"] = getValue; - -var ALLOC_NORMAL = 0; // Tries to use _malloc() -var ALLOC_STACK = 1; // Lives for the duration of the current function call -var ALLOC_STATIC = 2; // Cannot be freed -var ALLOC_DYNAMIC = 3; // Cannot be freed except through sbrk -var ALLOC_NONE = 4; // Do not allocate -Module["ALLOC_NORMAL"] = ALLOC_NORMAL; -Module["ALLOC_STACK"] = ALLOC_STACK; -Module["ALLOC_STATIC"] = ALLOC_STATIC; -Module["ALLOC_DYNAMIC"] = ALLOC_DYNAMIC; -Module["ALLOC_NONE"] = ALLOC_NONE; - -// allocate(): This is for internal use. You can use it yourself as well, but the interface -// is a little tricky (see docs right below). The reason is that it is optimized -// for multiple syntaxes to save space in generated code. So you should -// normally not use allocate(), and instead allocate memory using _malloc(), -// initialize it with setValue(), and so forth. -// @slab: An array of data, or a number. If a number, then the size of the block to allocate, -// in *bytes* (note that this is sometimes confusing: the next parameter does not -// affect this!) -// @types: Either an array of types, one for each byte (or 0 if no type at that position), -// or a single type which is used for the entire block. This only matters if there -// is initial data - if @slab is a number, then this does not matter at all and is -// ignored. -// @allocator: How to allocate memory, see ALLOC_* -function allocate(slab, types, allocator, ptr) { - var zeroinit, size; - if (typeof slab === 'number') { - zeroinit = true; - size = slab; - } else { - zeroinit = false; - size = slab.length; - } - - var singleType = typeof types === 'string' ? types : null; - - var ret; - if (allocator == ALLOC_NONE) { - ret = ptr; - } else { - ret = [_malloc, Runtime.stackAlloc, Runtime.staticAlloc, Runtime.dynamicAlloc][allocator === undefined ? ALLOC_STATIC : allocator](Math.max(size, singleType ? 1 : types.length)); - } - - if (zeroinit) { - var ptr = ret, stop; - assert((ret & 3) == 0); - stop = ret + (size & ~3); - for (; ptr < stop; ptr += 4) { - HEAP32[((ptr)>>2)]=0; - } - stop = ret + size; - while (ptr < stop) { - HEAP8[((ptr++)>>0)]=0; - } - return ret; - } - - if (singleType === 'i8') { - if (slab.subarray || slab.slice) { - HEAPU8.set(slab, ret); - } else { - HEAPU8.set(new Uint8Array(slab), ret); - } - return ret; - } - - var i = 0, type, typeSize, previousType; - while (i < size) { - var curr = slab[i]; - - if (typeof curr === 'function') { - curr = Runtime.getFunctionIndex(curr); - } - - type = singleType || types[i]; - if (type === 0) { - i++; - continue; - } - - if (type == 'i64') type = 'i32'; // special case: we have one i32 here, and one i32 later - - setValue(ret+i, curr, type); - - // no need to look up size unless type changes, so cache it - if (previousType !== type) { - typeSize = Runtime.getNativeTypeSize(type); - previousType = type; - } - i += typeSize; - } - - return ret; -} -Module["allocate"] = allocate; - -// Allocate memory during any stage of startup - static memory early on, dynamic memory later, malloc when ready -function getMemory(size) { - if (!staticSealed) return Runtime.staticAlloc(size); - if ((typeof _sbrk !== 'undefined' && !_sbrk.called) || !runtimeInitialized) return Runtime.dynamicAlloc(size); - return _malloc(size); -} -Module["getMemory"] = getMemory; - -function Pointer_stringify(ptr, /* optional */ length) { - if (length === 0 || !ptr) return ''; - // TODO: use TextDecoder - // Find the length, and check for UTF while doing so - var hasUtf = 0; - var t; - var i = 0; - while (1) { - t = HEAPU8[(((ptr)+(i))>>0)]; - hasUtf |= t; - if (t == 0 && !length) break; - i++; - if (length && i == length) break; - } - if (!length) length = i; - - var ret = ''; - - if (hasUtf < 128) { - var MAX_CHUNK = 1024; // split up into chunks, because .apply on a huge string can overflow the stack - var curr; - while (length > 0) { - curr = String.fromCharCode.apply(String, HEAPU8.subarray(ptr, ptr + Math.min(length, MAX_CHUNK))); - ret = ret ? ret + curr : curr; - ptr += MAX_CHUNK; - length -= MAX_CHUNK; - } - return ret; - } - return Module['UTF8ToString'](ptr); -} -Module["Pointer_stringify"] = Pointer_stringify; - -// Given a pointer 'ptr' to a null-terminated ASCII-encoded string in the emscripten HEAP, returns -// a copy of that string as a Javascript String object. - -function AsciiToString(ptr) { - var str = ''; - while (1) { - var ch = HEAP8[((ptr++)>>0)]; - if (!ch) return str; - str += String.fromCharCode(ch); - } -} -Module["AsciiToString"] = AsciiToString; - -// Copies the given Javascript String object 'str' to the emscripten HEAP at address 'outPtr', -// null-terminated and encoded in ASCII form. The copy will require at most str.length+1 bytes of space in the HEAP. - -function stringToAscii(str, outPtr) { - return writeAsciiToMemory(str, outPtr, false); -} -Module["stringToAscii"] = stringToAscii; - -// Given a pointer 'ptr' to a null-terminated UTF8-encoded string in the given array that contains uint8 values, returns -// a copy of that string as a Javascript String object. - -function UTF8ArrayToString(u8Array, idx) { - var u0, u1, u2, u3, u4, u5; - - var str = ''; - while (1) { - // For UTF8 byte structure, see http://en.wikipedia.org/wiki/UTF-8#Description and https://www.ietf.org/rfc/rfc2279.txt and https://tools.ietf.org/html/rfc3629 - u0 = u8Array[idx++]; - if (!u0) return str; - if (!(u0 & 0x80)) { str += String.fromCharCode(u0); continue; } - u1 = u8Array[idx++] & 63; - if ((u0 & 0xE0) == 0xC0) { str += String.fromCharCode(((u0 & 31) << 6) | u1); continue; } - u2 = u8Array[idx++] & 63; - if ((u0 & 0xF0) == 0xE0) { - u0 = ((u0 & 15) << 12) | (u1 << 6) | u2; - } else { - u3 = u8Array[idx++] & 63; - if ((u0 & 0xF8) == 0xF0) { - u0 = ((u0 & 7) << 18) | (u1 << 12) | (u2 << 6) | u3; - } else { - u4 = u8Array[idx++] & 63; - if ((u0 & 0xFC) == 0xF8) { - u0 = ((u0 & 3) << 24) | (u1 << 18) | (u2 << 12) | (u3 << 6) | u4; - } else { - u5 = u8Array[idx++] & 63; - u0 = ((u0 & 1) << 30) | (u1 << 24) | (u2 << 18) | (u3 << 12) | (u4 << 6) | u5; - } - } - } - if (u0 < 0x10000) { - str += String.fromCharCode(u0); - } else { - var ch = u0 - 0x10000; - str += String.fromCharCode(0xD800 | (ch >> 10), 0xDC00 | (ch & 0x3FF)); - } - } -} -Module["UTF8ArrayToString"] = UTF8ArrayToString; - -// Given a pointer 'ptr' to a null-terminated UTF8-encoded string in the emscripten HEAP, returns -// a copy of that string as a Javascript String object. - -function UTF8ToString(ptr) { - return UTF8ArrayToString(HEAPU8,ptr); -} -Module["UTF8ToString"] = UTF8ToString; - -// Copies the given Javascript String object 'str' to the given byte array at address 'outIdx', -// encoded in UTF8 form and null-terminated. The copy will require at most str.length*4+1 bytes of space in the HEAP. -// Use the function lengthBytesUTF8() to compute the exact number of bytes (excluding null terminator) that this function will write. -// Parameters: -// str: the Javascript string to copy. -// outU8Array: the array to copy to. Each index in this array is assumed to be one 8-byte element. -// outIdx: The starting offset in the array to begin the copying. -// maxBytesToWrite: The maximum number of bytes this function can write to the array. This count should include the null -// terminator, i.e. if maxBytesToWrite=1, only the null terminator will be written and nothing else. -// maxBytesToWrite=0 does not write any bytes to the output, not even the null terminator. -// Returns the number of bytes written, EXCLUDING the null terminator. - -function stringToUTF8Array(str, outU8Array, outIdx, maxBytesToWrite) { - if (!(maxBytesToWrite > 0)) // Parameter maxBytesToWrite is not optional. Negative values, 0, null, undefined and false each don't write out any bytes. - return 0; - - var startIdx = outIdx; - var endIdx = outIdx + maxBytesToWrite - 1; // -1 for string null terminator. - for (var i = 0; i < str.length; ++i) { - // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code unit, not a Unicode code point of the character! So decode UTF16->UTF32->UTF8. - // See http://unicode.org/faq/utf_bom.html#utf16-3 - // For UTF8 byte structure, see http://en.wikipedia.org/wiki/UTF-8#Description and https://www.ietf.org/rfc/rfc2279.txt and https://tools.ietf.org/html/rfc3629 - var u = str.charCodeAt(i); // possibly a lead surrogate - if (u >= 0xD800 && u <= 0xDFFF) u = 0x10000 + ((u & 0x3FF) << 10) | (str.charCodeAt(++i) & 0x3FF); - if (u <= 0x7F) { - if (outIdx >= endIdx) break; - outU8Array[outIdx++] = u; - } else if (u <= 0x7FF) { - if (outIdx + 1 >= endIdx) break; - outU8Array[outIdx++] = 0xC0 | (u >> 6); - outU8Array[outIdx++] = 0x80 | (u & 63); - } else if (u <= 0xFFFF) { - if (outIdx + 2 >= endIdx) break; - outU8Array[outIdx++] = 0xE0 | (u >> 12); - outU8Array[outIdx++] = 0x80 | ((u >> 6) & 63); - outU8Array[outIdx++] = 0x80 | (u & 63); - } else if (u <= 0x1FFFFF) { - if (outIdx + 3 >= endIdx) break; - outU8Array[outIdx++] = 0xF0 | (u >> 18); - outU8Array[outIdx++] = 0x80 | ((u >> 12) & 63); - outU8Array[outIdx++] = 0x80 | ((u >> 6) & 63); - outU8Array[outIdx++] = 0x80 | (u & 63); - } else if (u <= 0x3FFFFFF) { - if (outIdx + 4 >= endIdx) break; - outU8Array[outIdx++] = 0xF8 | (u >> 24); - outU8Array[outIdx++] = 0x80 | ((u >> 18) & 63); - outU8Array[outIdx++] = 0x80 | ((u >> 12) & 63); - outU8Array[outIdx++] = 0x80 | ((u >> 6) & 63); - outU8Array[outIdx++] = 0x80 | (u & 63); - } else { - if (outIdx + 5 >= endIdx) break; - outU8Array[outIdx++] = 0xFC | (u >> 30); - outU8Array[outIdx++] = 0x80 | ((u >> 24) & 63); - outU8Array[outIdx++] = 0x80 | ((u >> 18) & 63); - outU8Array[outIdx++] = 0x80 | ((u >> 12) & 63); - outU8Array[outIdx++] = 0x80 | ((u >> 6) & 63); - outU8Array[outIdx++] = 0x80 | (u & 63); - } - } - // Null-terminate the pointer to the buffer. - outU8Array[outIdx] = 0; - return outIdx - startIdx; -} -Module["stringToUTF8Array"] = stringToUTF8Array; - -// Copies the given Javascript String object 'str' to the emscripten HEAP at address 'outPtr', -// null-terminated and encoded in UTF8 form. The copy will require at most str.length*4+1 bytes of space in the HEAP. -// Use the function lengthBytesUTF8() to compute the exact number of bytes (excluding null terminator) that this function will write. -// Returns the number of bytes written, EXCLUDING the null terminator. - -function stringToUTF8(str, outPtr, maxBytesToWrite) { - return stringToUTF8Array(str, HEAPU8,outPtr, maxBytesToWrite); -} -Module["stringToUTF8"] = stringToUTF8; - -// Returns the number of bytes the given Javascript string takes if encoded as a UTF8 byte array, EXCLUDING the null terminator byte. - -function lengthBytesUTF8(str) { - var len = 0; - for (var i = 0; i < str.length; ++i) { - // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code unit, not a Unicode code point of the character! So decode UTF16->UTF32->UTF8. - // See http://unicode.org/faq/utf_bom.html#utf16-3 - var u = str.charCodeAt(i); // possibly a lead surrogate - if (u >= 0xD800 && u <= 0xDFFF) u = 0x10000 + ((u & 0x3FF) << 10) | (str.charCodeAt(++i) & 0x3FF); - if (u <= 0x7F) { - ++len; - } else if (u <= 0x7FF) { - len += 2; - } else if (u <= 0xFFFF) { - len += 3; - } else if (u <= 0x1FFFFF) { - len += 4; - } else if (u <= 0x3FFFFFF) { - len += 5; - } else { - len += 6; - } - } - return len; -} -Module["lengthBytesUTF8"] = lengthBytesUTF8; - -// Given a pointer 'ptr' to a null-terminated UTF16LE-encoded string in the emscripten HEAP, returns -// a copy of that string as a Javascript String object. - -function UTF16ToString(ptr) { - var i = 0; - - var str = ''; - while (1) { - var codeUnit = HEAP16[(((ptr)+(i*2))>>1)]; - if (codeUnit == 0) - return str; - ++i; - // fromCharCode constructs a character from a UTF-16 code unit, so we can pass the UTF16 string right through. - str += String.fromCharCode(codeUnit); - } -} -Module["UTF16ToString"] = UTF16ToString; - -// Copies the given Javascript String object 'str' to the emscripten HEAP at address 'outPtr', -// null-terminated and encoded in UTF16 form. The copy will require at most str.length*4+2 bytes of space in the HEAP. -// Use the function lengthBytesUTF16() to compute the exact number of bytes (excluding null terminator) that this function will write. -// Parameters: -// str: the Javascript string to copy. -// outPtr: Byte address in Emscripten HEAP where to write the string to. -// maxBytesToWrite: The maximum number of bytes this function can write to the array. This count should include the null -// terminator, i.e. if maxBytesToWrite=2, only the null terminator will be written and nothing else. -// maxBytesToWrite<2 does not write any bytes to the output, not even the null terminator. -// Returns the number of bytes written, EXCLUDING the null terminator. - -function stringToUTF16(str, outPtr, maxBytesToWrite) { - // Backwards compatibility: if max bytes is not specified, assume unsafe unbounded write is allowed. - if (maxBytesToWrite === undefined) { - maxBytesToWrite = 0x7FFFFFFF; - } - if (maxBytesToWrite < 2) return 0; - maxBytesToWrite -= 2; // Null terminator. - var startPtr = outPtr; - var numCharsToWrite = (maxBytesToWrite < str.length*2) ? (maxBytesToWrite / 2) : str.length; - for (var i = 0; i < numCharsToWrite; ++i) { - // charCodeAt returns a UTF-16 encoded code unit, so it can be directly written to the HEAP. - var codeUnit = str.charCodeAt(i); // possibly a lead surrogate - HEAP16[((outPtr)>>1)]=codeUnit; - outPtr += 2; - } - // Null-terminate the pointer to the HEAP. - HEAP16[((outPtr)>>1)]=0; - return outPtr - startPtr; -} -Module["stringToUTF16"] = stringToUTF16; - -// Returns the number of bytes the given Javascript string takes if encoded as a UTF16 byte array, EXCLUDING the null terminator byte. - -function lengthBytesUTF16(str) { - return str.length*2; -} -Module["lengthBytesUTF16"] = lengthBytesUTF16; - -function UTF32ToString(ptr) { - var i = 0; - - var str = ''; - while (1) { - var utf32 = HEAP32[(((ptr)+(i*4))>>2)]; - if (utf32 == 0) - return str; - ++i; - // Gotcha: fromCharCode constructs a character from a UTF-16 encoded code (pair), not from a Unicode code point! So encode the code point to UTF-16 for constructing. - // See http://unicode.org/faq/utf_bom.html#utf16-3 - if (utf32 >= 0x10000) { - var ch = utf32 - 0x10000; - str += String.fromCharCode(0xD800 | (ch >> 10), 0xDC00 | (ch & 0x3FF)); - } else { - str += String.fromCharCode(utf32); - } - } -} -Module["UTF32ToString"] = UTF32ToString; - -// Copies the given Javascript String object 'str' to the emscripten HEAP at address 'outPtr', -// null-terminated and encoded in UTF32 form. The copy will require at most str.length*4+4 bytes of space in the HEAP. -// Use the function lengthBytesUTF32() to compute the exact number of bytes (excluding null terminator) that this function will write. -// Parameters: -// str: the Javascript string to copy. -// outPtr: Byte address in Emscripten HEAP where to write the string to. -// maxBytesToWrite: The maximum number of bytes this function can write to the array. This count should include the null -// terminator, i.e. if maxBytesToWrite=4, only the null terminator will be written and nothing else. -// maxBytesToWrite<4 does not write any bytes to the output, not even the null terminator. -// Returns the number of bytes written, EXCLUDING the null terminator. - -function stringToUTF32(str, outPtr, maxBytesToWrite) { - // Backwards compatibility: if max bytes is not specified, assume unsafe unbounded write is allowed. - if (maxBytesToWrite === undefined) { - maxBytesToWrite = 0x7FFFFFFF; - } - if (maxBytesToWrite < 4) return 0; - var startPtr = outPtr; - var endPtr = startPtr + maxBytesToWrite - 4; - for (var i = 0; i < str.length; ++i) { - // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code unit, not a Unicode code point of the character! We must decode the string to UTF-32 to the heap. - // See http://unicode.org/faq/utf_bom.html#utf16-3 - var codeUnit = str.charCodeAt(i); // possibly a lead surrogate - if (codeUnit >= 0xD800 && codeUnit <= 0xDFFF) { - var trailSurrogate = str.charCodeAt(++i); - codeUnit = 0x10000 + ((codeUnit & 0x3FF) << 10) | (trailSurrogate & 0x3FF); - } - HEAP32[((outPtr)>>2)]=codeUnit; - outPtr += 4; - if (outPtr + 4 > endPtr) break; - } - // Null-terminate the pointer to the HEAP. - HEAP32[((outPtr)>>2)]=0; - return outPtr - startPtr; -} -Module["stringToUTF32"] = stringToUTF32; - -// Returns the number of bytes the given Javascript string takes if encoded as a UTF16 byte array, EXCLUDING the null terminator byte. - -function lengthBytesUTF32(str) { - var len = 0; - for (var i = 0; i < str.length; ++i) { - // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code unit, not a Unicode code point of the character! We must decode the string to UTF-32 to the heap. - // See http://unicode.org/faq/utf_bom.html#utf16-3 - var codeUnit = str.charCodeAt(i); - if (codeUnit >= 0xD800 && codeUnit <= 0xDFFF) ++i; // possibly a lead surrogate, so skip over the tail surrogate. - len += 4; - } - - return len; -} -Module["lengthBytesUTF32"] = lengthBytesUTF32; - -function demangle(func) { - var hasLibcxxabi = !!Module['___cxa_demangle']; - if (hasLibcxxabi) { - try { - var buf = _malloc(func.length); - writeStringToMemory(func.substr(1), buf); - var status = _malloc(4); - var ret = Module['___cxa_demangle'](buf, 0, 0, status); - if (getValue(status, 'i32') === 0 && ret) { - return Pointer_stringify(ret); - } - // otherwise, libcxxabi failed, we can try ours which may return a partial result - } catch(e) { - // failure when using libcxxabi, we can try ours which may return a partial result - } finally { - if (buf) _free(buf); - if (status) _free(status); - if (ret) _free(ret); - } - } - var i = 3; - // params, etc. - var basicTypes = { - 'v': 'void', - 'b': 'bool', - 'c': 'char', - 's': 'short', - 'i': 'int', - 'l': 'long', - 'f': 'float', - 'd': 'double', - 'w': 'wchar_t', - 'a': 'signed char', - 'h': 'unsigned char', - 't': 'unsigned short', - 'j': 'unsigned int', - 'm': 'unsigned long', - 'x': 'long long', - 'y': 'unsigned long long', - 'z': '...' - }; - var subs = []; - var first = true; - function dump(x) { - //return; - if (x) Module.print(x); - Module.print(func); - var pre = ''; - for (var a = 0; a < i; a++) pre += ' '; - Module.print (pre + '^'); - } - function parseNested() { - i++; - if (func[i] === 'K') i++; // ignore const - var parts = []; - while (func[i] !== 'E') { - if (func[i] === 'S') { // substitution - i++; - var next = func.indexOf('_', i); - var num = func.substring(i, next) || 0; - parts.push(subs[num] || '?'); - i = next+1; - continue; - } - if (func[i] === 'C') { // constructor - parts.push(parts[parts.length-1]); - i += 2; - continue; - } - var size = parseInt(func.substr(i)); - var pre = size.toString().length; - if (!size || !pre) { i--; break; } // counter i++ below us - var curr = func.substr(i + pre, size); - parts.push(curr); - subs.push(curr); - i += pre + size; - } - i++; // skip E - return parts; - } - function parse(rawList, limit, allowVoid) { // main parser - limit = limit || Infinity; - var ret = '', list = []; - function flushList() { - return '(' + list.join(', ') + ')'; - } - var name; - if (func[i] === 'N') { - // namespaced N-E - name = parseNested().join('::'); - limit--; - if (limit === 0) return rawList ? [name] : name; - } else { - // not namespaced - if (func[i] === 'K' || (first && func[i] === 'L')) i++; // ignore const and first 'L' - var size = parseInt(func.substr(i)); - if (size) { - var pre = size.toString().length; - name = func.substr(i + pre, size); - i += pre + size; - } - } - first = false; - if (func[i] === 'I') { - i++; - var iList = parse(true); - var iRet = parse(true, 1, true); - ret += iRet[0] + ' ' + name + '<' + iList.join(', ') + '>'; - } else { - ret = name; - } - paramLoop: while (i < func.length && limit-- > 0) { - //dump('paramLoop'); - var c = func[i++]; - if (c in basicTypes) { - list.push(basicTypes[c]); - } else { - switch (c) { - case 'P': list.push(parse(true, 1, true)[0] + '*'); break; // pointer - case 'R': list.push(parse(true, 1, true)[0] + '&'); break; // reference - case 'L': { // literal - i++; // skip basic type - var end = func.indexOf('E', i); - var size = end - i; - list.push(func.substr(i, size)); - i += size + 2; // size + 'EE' - break; - } - case 'A': { // array - var size = parseInt(func.substr(i)); - i += size.toString().length; - if (func[i] !== '_') throw '?'; - i++; // skip _ - list.push(parse(true, 1, true)[0] + ' [' + size + ']'); - break; - } - case 'E': break paramLoop; - default: ret += '?' + c; break paramLoop; - } - } - } - if (!allowVoid && list.length === 1 && list[0] === 'void') list = []; // avoid (void) - if (rawList) { - if (ret) { - list.push(ret + '?'); - } - return list; - } else { - return ret + flushList(); - } - } - var parsed = func; - try { - // Special-case the entry point, since its name differs from other name mangling. - if (func == 'Object._main' || func == '_main') { - return 'main()'; - } - if (typeof func === 'number') func = Pointer_stringify(func); - if (func[0] !== '_') return func; - if (func[1] !== '_') return func; // C function - if (func[2] !== 'Z') return func; - switch (func[3]) { - case 'n': return 'operator new()'; - case 'd': return 'operator delete()'; - } - parsed = parse(); - } catch(e) { - parsed += '?'; - } - if (parsed.indexOf('?') >= 0 && !hasLibcxxabi) { - Runtime.warnOnce('warning: a problem occurred in builtin C++ name demangling; build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling'); - } - return parsed; -} - -function demangleAll(text) { - return text.replace(/__Z[\w\d_]+/g, function(x) { var y = demangle(x); return x === y ? x : (x + ' [' + y + ']') }); -} - -function jsStackTrace() { - var err = new Error(); - if (!err.stack) { - // IE10+ special cases: It does have callstack info, but it is only populated if an Error object is thrown, - // so try that as a special-case. - try { - throw new Error(0); - } catch(e) { - err = e; - } - if (!err.stack) { - return '(no stack trace available)'; - } - } - return err.stack.toString(); -} - -function stackTrace() { - return demangleAll(jsStackTrace()); -} -Module["stackTrace"] = stackTrace; - -// Memory management - -var PAGE_SIZE = 4096; - -function alignMemoryPage(x) { - if (x % 4096 > 0) { - x += (4096 - (x % 4096)); - } - return x; -} - -var HEAP; -var HEAP8, HEAPU8, HEAP16, HEAPU16, HEAP32, HEAPU32, HEAPF32, HEAPF64; - -var STATIC_BASE = 0, STATICTOP = 0, staticSealed = false; // static area -var STACK_BASE = 0, STACKTOP = 0, STACK_MAX = 0; // stack area -var DYNAMIC_BASE = 0, DYNAMICTOP = 0; // dynamic area handled by sbrk - - -function abortOnCannotGrowMemory() { - abort('Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value ' + TOTAL_MEMORY + ', (2) compile with -s ALLOW_MEMORY_GROWTH=1 which adjusts the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 '); -} - -function enlargeMemory() { - abortOnCannotGrowMemory(); -} - - -var TOTAL_STACK = Module['TOTAL_STACK'] || 5242880; -var TOTAL_MEMORY = Module['TOTAL_MEMORY'] || 16777216; - -var totalMemory = 64*1024; -while (totalMemory < TOTAL_MEMORY || totalMemory < 2*TOTAL_STACK) { - if (totalMemory < 16*1024*1024) { - totalMemory *= 2; - } else { - totalMemory += 16*1024*1024 - } -} -if (totalMemory !== TOTAL_MEMORY) { - TOTAL_MEMORY = totalMemory; -} - -// Initialize the runtime's memory -// check for full engine support (use string 'subarray' to avoid closure compiler confusion) -assert(typeof Int32Array !== 'undefined' && typeof Float64Array !== 'undefined' && !!(new Int32Array(1)['subarray']) && !!(new Int32Array(1)['set']), - 'JS engine does not provide full typed array support'); - -var buffer; - - - -buffer = new ArrayBuffer(TOTAL_MEMORY); -HEAP8 = new Int8Array(buffer); -HEAP16 = new Int16Array(buffer); -HEAP32 = new Int32Array(buffer); -HEAPU8 = new Uint8Array(buffer); -HEAPU16 = new Uint16Array(buffer); -HEAPU32 = new Uint32Array(buffer); -HEAPF32 = new Float32Array(buffer); -HEAPF64 = new Float64Array(buffer); - - -// Endianness check (note: assumes compiler arch was little-endian) -HEAP32[0] = 255; -assert(HEAPU8[0] === 255 && HEAPU8[3] === 0, 'Typed arrays 2 must be run on a little-endian system'); - -Module['HEAP'] = HEAP; -Module['buffer'] = buffer; -Module['HEAP8'] = HEAP8; -Module['HEAP16'] = HEAP16; -Module['HEAP32'] = HEAP32; -Module['HEAPU8'] = HEAPU8; -Module['HEAPU16'] = HEAPU16; -Module['HEAPU32'] = HEAPU32; -Module['HEAPF32'] = HEAPF32; -Module['HEAPF64'] = HEAPF64; - -function callRuntimeCallbacks(callbacks) { - while(callbacks.length > 0) { - var callback = callbacks.shift(); - if (typeof callback == 'function') { - callback(); - continue; - } - var func = callback.func; - if (typeof func === 'number') { - if (callback.arg === undefined) { - Runtime.dynCall('v', func); - } else { - Runtime.dynCall('vi', func, [callback.arg]); - } - } else { - func(callback.arg === undefined ? null : callback.arg); - } - } -} - -var __ATPRERUN__ = []; // functions called before the runtime is initialized -var __ATINIT__ = []; // functions called during startup -var __ATMAIN__ = []; // functions called when main() is to be run -var __ATEXIT__ = []; // functions called during shutdown -var __ATPOSTRUN__ = []; // functions called after the runtime has exited - -var runtimeInitialized = false; -var runtimeExited = false; - - -function preRun() { - // compatibility - merge in anything from Module['preRun'] at this time - if (Module['preRun']) { - if (typeof Module['preRun'] == 'function') Module['preRun'] = [Module['preRun']]; - while (Module['preRun'].length) { - addOnPreRun(Module['preRun'].shift()); - } - } - callRuntimeCallbacks(__ATPRERUN__); -} - -function ensureInitRuntime() { - if (runtimeInitialized) return; - runtimeInitialized = true; - callRuntimeCallbacks(__ATINIT__); -} - -function preMain() { - callRuntimeCallbacks(__ATMAIN__); -} - -function exitRuntime() { - callRuntimeCallbacks(__ATEXIT__); - runtimeExited = true; -} - -function postRun() { - // compatibility - merge in anything from Module['postRun'] at this time - if (Module['postRun']) { - if (typeof Module['postRun'] == 'function') Module['postRun'] = [Module['postRun']]; - while (Module['postRun'].length) { - addOnPostRun(Module['postRun'].shift()); - } - } - callRuntimeCallbacks(__ATPOSTRUN__); -} - -function addOnPreRun(cb) { - __ATPRERUN__.unshift(cb); -} -Module["addOnPreRun"] = addOnPreRun; - -function addOnInit(cb) { - __ATINIT__.unshift(cb); -} -Module["addOnInit"] = addOnInit; - -function addOnPreMain(cb) { - __ATMAIN__.unshift(cb); -} -Module["addOnPreMain"] = addOnPreMain; - -function addOnExit(cb) { - __ATEXIT__.unshift(cb); -} -Module["addOnExit"] = addOnExit; - -function addOnPostRun(cb) { - __ATPOSTRUN__.unshift(cb); -} -Module["addOnPostRun"] = addOnPostRun; - -// Tools - - -function intArrayFromString(stringy, dontAddNull, length /* optional */) { - var len = length > 0 ? length : lengthBytesUTF8(stringy)+1; - var u8array = new Array(len); - var numBytesWritten = stringToUTF8Array(stringy, u8array, 0, u8array.length); - if (dontAddNull) u8array.length = numBytesWritten; - return u8array; -} -Module["intArrayFromString"] = intArrayFromString; - -function intArrayToString(array) { - var ret = []; - for (var i = 0; i < array.length; i++) { - var chr = array[i]; - if (chr > 0xFF) { - chr &= 0xFF; - } - ret.push(String.fromCharCode(chr)); - } - return ret.join(''); -} -Module["intArrayToString"] = intArrayToString; - -function writeStringToMemory(string, buffer, dontAddNull) { - var array = intArrayFromString(string, dontAddNull); - var i = 0; - while (i < array.length) { - var chr = array[i]; - HEAP8[(((buffer)+(i))>>0)]=chr; - i = i + 1; - } -} -Module["writeStringToMemory"] = writeStringToMemory; - -function writeArrayToMemory(array, buffer) { - for (var i = 0; i < array.length; i++) { - HEAP8[((buffer++)>>0)]=array[i]; - } -} -Module["writeArrayToMemory"] = writeArrayToMemory; - -function writeAsciiToMemory(str, buffer, dontAddNull) { - for (var i = 0; i < str.length; ++i) { - HEAP8[((buffer++)>>0)]=str.charCodeAt(i); - } - // Null-terminate the pointer to the HEAP. - if (!dontAddNull) HEAP8[((buffer)>>0)]=0; -} -Module["writeAsciiToMemory"] = writeAsciiToMemory; - -function unSign(value, bits, ignore) { - if (value >= 0) { - return value; - } - return bits <= 32 ? 2*Math.abs(1 << (bits-1)) + value // Need some trickery, since if bits == 32, we are right at the limit of the bits JS uses in bitshifts - : Math.pow(2, bits) + value; -} -function reSign(value, bits, ignore) { - if (value <= 0) { - return value; - } - var half = bits <= 32 ? Math.abs(1 << (bits-1)) // abs is needed if bits == 32 - : Math.pow(2, bits-1); - if (value >= half && (bits <= 32 || value > half)) { // for huge values, we can hit the precision limit and always get true here. so don't do that - // but, in general there is no perfect solution here. With 64-bit ints, we get rounding and errors - // TODO: In i64 mode 1, resign the two parts separately and safely - value = -2*half + value; // Cannot bitshift half, as it may be at the limit of the bits JS uses in bitshifts - } - return value; -} - - -// check for imul support, and also for correctness ( https://bugs.webkit.org/show_bug.cgi?id=126345 ) -if (!Math['imul'] || Math['imul'](0xffffffff, 5) !== -5) Math['imul'] = function imul(a, b) { - var ah = a >>> 16; - var al = a & 0xffff; - var bh = b >>> 16; - var bl = b & 0xffff; - return (al*bl + ((ah*bl + al*bh) << 16))|0; -}; -Math.imul = Math['imul']; - - -if (!Math['clz32']) Math['clz32'] = function(x) { - x = x >>> 0; - for (var i = 0; i < 32; i++) { - if (x & (1 << (31 - i))) return i; - } - return 32; -}; -Math.clz32 = Math['clz32'] - -var Math_abs = Math.abs; -var Math_cos = Math.cos; -var Math_sin = Math.sin; -var Math_tan = Math.tan; -var Math_acos = Math.acos; -var Math_asin = Math.asin; -var Math_atan = Math.atan; -var Math_atan2 = Math.atan2; -var Math_exp = Math.exp; -var Math_log = Math.log; -var Math_sqrt = Math.sqrt; -var Math_ceil = Math.ceil; -var Math_floor = Math.floor; -var Math_pow = Math.pow; -var Math_imul = Math.imul; -var Math_fround = Math.fround; -var Math_min = Math.min; -var Math_clz32 = Math.clz32; - -// A counter of dependencies for calling run(). If we need to -// do asynchronous work before running, increment this and -// decrement it. Incrementing must happen in a place like -// PRE_RUN_ADDITIONS (used by emcc to add file preloading). -// Note that you can add dependencies in preRun, even though -// it happens right before run - run will be postponed until -// the dependencies are met. -var runDependencies = 0; -var runDependencyWatcher = null; -var dependenciesFulfilled = null; // overridden to take different actions when all run dependencies are fulfilled - -function getUniqueRunDependency(id) { - return id; -} - -function addRunDependency(id) { - runDependencies++; - if (Module['monitorRunDependencies']) { - Module['monitorRunDependencies'](runDependencies); - } -} -Module["addRunDependency"] = addRunDependency; - -function removeRunDependency(id) { - runDependencies--; - if (Module['monitorRunDependencies']) { - Module['monitorRunDependencies'](runDependencies); - } - if (runDependencies == 0) { - if (runDependencyWatcher !== null) { - clearInterval(runDependencyWatcher); - runDependencyWatcher = null; - } - if (dependenciesFulfilled) { - var callback = dependenciesFulfilled; - dependenciesFulfilled = null; - callback(); // can add another dependenciesFulfilled - } - } -} -Module["removeRunDependency"] = removeRunDependency; - -Module["preloadedImages"] = {}; // maps url to image data -Module["preloadedAudios"] = {}; // maps url to audio data - - - -var memoryInitializer = null; - - - -// === Body === - -var ASM_CONSTS = [function($0, $1) { { Module.printErr('bad name in getProcAddress: ' + [Pointer_stringify($0), Pointer_stringify($1)]); } }]; - -function _emscripten_asm_const_2(code, a0, a1) { - return ASM_CONSTS[code](a0, a1); -} - - - -STATIC_BASE = 8; - -STATICTOP = STATIC_BASE + 23360; - /* global initializers */ __ATINIT__.push(); - - -/* memory initializer */ allocate([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,16,0,0,0,16,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,66,0,0,150,67,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,1], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE); -/* memory initializer */ allocate([128,191,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,32,0,0,176,1,0,0,0,0,0,0,0,0,0,32,37,249,142,0,10,2,0,0,128,190,125,95,244,125,31,160,242,43,74,30,9,82,8,0,64,34,65,80,20,4,16,32,32,41,46,18,8,34,8,0,32,34,65,80,20,4,16,32,32,249,16,76,8,250,62,60,16,34,125,222,247,125,16,32,32,161,232,50,8,34,8,0,8,34,5,16,4,69,16,0,240,163,164,50,8,82,8,0,4,34,5,16,4,69,16,32,32,249,226,94,8,2,0,129,2,62,125,31,244,125,16,0,0,32,0,0,176,1,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,190,15,0,192,15,224,247,251,125,126,191,95,232,190,80,0,162,8,8,68,232,47,20,10,133,2,129,80,72,160,80,0,162,40,228,73,40,40,20,10,132,2,129,64,72,160,72,0,190,15,2,16,175,235,247,9,132,62,159,216,79,160,71,0,34,136,228,9,161,42,20,10,132,2,129,80,72,160,72,0,34,40,8,4,160,47,20,10,133,2,129,80,72,162,80,0,190,143,0,0,33,32,244,251,125,126,129,95,232,156,208,7,0,128,0,0,224,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,1,12,0,130,66,191,223,239,247,251,11,5,5,133,66,191,4,72,0,198,66,161,80,40,20,64,8,5,37,133,66,160,8,168,0,170,70,161,80,40,20,64,8,5,37,133,66,144,16,8,0,146,74,161,95,232,247,67,8,5,37,121,126,136,32,8,0,130,82,161,64,40,1,66,8,137,36,133,64,132,64,8,0,130,98,161,64,42,2,66,8,81,36,133,64,130,128,8,0,130,66,191,192,47,244,67,248,33,252,133,126,191,0,9,62,0,0,0,0,4,0,0,0,0,0,0,0,128,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,0,4,0,32,72,65,0,0,0,0,0,8,0,0,4,4,0,4,60,32,0,65,0,0,0,0,0,8,0,0,240,125,223,247,133,239,75,81,190,239,251,190,239,59,81,4,0,69,65,20,133,40,74,73,170,40,138,162,32,8,81,4,240,69,65,244,157,40,74,71,170,40,138,162,224,11,81,4,16,69,65,20,132,40,74,73,170,40,138,162,0,10,145,2,240,125,223,247,133,47,74,209,170,232,251,190,224,123,31,1,0,0,0,0,4,8,64,0,0,0,8,32,0,0,0,0,0,0,0,0,132,15,96,0,0,0,8,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,172,1,15,0,0,0,0,0,0,0,0,0,0,0,0,0,36,1,9,0,0,0,0,0,0,0,0,0,6,0,0,0,36,1,9,0,0,0,0,0,0,0,128,16,9,162,40,250,36,1,9,0,0,0,0,0,0,0,0,62,1,42,37,66,34,82,9,0,0,0,0,0,0,0,128,138,3,42,34,34,36,41,9,0,0,0,0,0,0,0,128,10,1,42,37,18,36,1,9,0,0,0,0,0,0,0,128,10,1,190,232,251,36,1,9,0,0,0,0,0,0,0,128,190,14,0,0,2,172,1,15,0,0,0,0,0,0,0,128,4,0,0,224,3,0,0,0,0,0,0,0,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,0,0,0,14,184,67,132,3,58,32,0,128,160,190,2,32,0,0,240,138,32,82,196,2,43,32,4,34,145,2,248,59,0,240,7,142,56,75,228,2,58,32,2,28,138,30,8,42,233,17,4,224,11,66,244,2,130,36,1,20,4,20,232,186,4,209,5,128,184,195,231,10,58,137,0,28,14,60,40,2,9,80,4,128,0,64,196,2,128,68,0,34,132,32,232,2,0,80,4,0,0,64,128,2,0,32,5,0,142,62,8,2,0,16,4,224,3,64,128,66,0,0,7,0,132,0,248,3,0,240,7,0,0,64,128,34,0,0,4,0,0,0,0,0,0,0,0,0,0,64,128,2,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,128,0,194,160,72,24,0,0,1,132,33,9,146,2,66,38,4,1,33,81,0,0,127,63,2,66,2,16,41,0,34,20,192,239,247,251,253,126,9,161,223,239,247,187,187,3,18,15,68,40,20,10,133,66,9,129,64,32,16,16,17,1,8,4,68,40,20,10,133,66,127,129,64,32,16,16,17,1,4,130,199,239,247,251,253,126,9,129,207,231,243,17,17,1,50,169,80,40,20,10,133,66,9,161,64,32,16,16,17,1,64,184,80,40,20,10,133,66,121,191,223,239,247,187,187,3,32,160,31,0,0,0,0,0,0,16,0,0,0,0,0,0,112,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,2,8,131,34,1,0,2,8,67,2,1,0,1,1,124,20,4,132,68,1,0,32,4,132,4,128,8,63,130,0,132,66,191,223,239,247,3,126,161,80,40,20,10,33,0,0,132,70,161,80,40,20,138,82,161,80,40,20,122,161,239,3,158,74,161,80,40,20,82,82,161,80,40,20,74,31,8,2,132,82,161,80,40,20,34,74,161,80,40,244,75,161,239,3,132,98,161,80,40,20,82,74,161,80,40,4,122,161,40,2,124,66,191,223,239,247,139,126,191,223,239,247,11,189,239,3,0,0,0,0,0,0,0,4,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,5,32,0,0,4,132,0,34,129,69,17,16,66,1,0,148,66,81,0,0,8,66,81,148,42,162,32,8,165,80,0,0,0,32,0,0,0,0,0,0,0,5,0,0,0,0,8,190,239,251,254,251,190,239,251,20,145,235,251,190,239,251,0,32,8,130,32,10,162,40,138,20,145,40,138,162,40,138,62,190,239,251,254,11,190,239,251,20,145,40,138,162,40,138,0,162,40,138,34,8,130,32,8,20,145,40,138,162,40,138,8,190,239,251,254,251,190,239,251,20,145,47,250,190,239,251,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,33,0,4,0,0,0,0,0,0,0,0,0,0,0,0,130,80,20,2,20,0,0,0,0,0,0,0,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,190,40,138,162,40,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,168,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,190,239,251,190,47,62,0,0,0,0,0,0,0,0,0,0,4,0,0,0,40,32,0,0,0,0,0,0,0,0,0,0,0,0,0,128,15,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,1,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,2,0,0,0,7,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,2,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,7,0,0,0,1,0,0,0,5,0,0,0,3,0,0,0,7,0,0,0,3,0,0,0,5,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,5,0,0,0,6,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,9,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,3,0,0,79,103,103,83], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+2686); -/* memory initializer */ allocate([1,0,0,128,0,0,0,86,0,0,0,64,0,0,0,62,180,228,51,9,145,243,51,139,178,1,52,60,32,10,52,35,26,19,52,96,169,28,52,167,215,38,52,75,175,49,52,80,59,61,52,112,135,73,52,35,160,86,52,184,146,100,52,85,109,115,52,136,159,129,52,252,11,138,52,147,4,147,52,105,146,156,52,50,191,166,52,63,149,177,52,147,31,189,52,228,105,201,52,173,128,214,52,54,113,228,52,166,73,243,52,136,140,1,53,192,247,9,53,6,239,18,53,118,123,28,53,192,166,38,53,55,123,49,53,218,3,61,53,94,76,73,53,59,97,86,53,185,79,100,53,252,37,115,53,138,121,129,53,134,227,137,53,124,217,146,53,133,100,156,53,82,142,166,53,51,97,177,53,37,232,188,53,220,46,201,53,206,65,214,53,65,46,228,53,87,2,243,53,143,102,1,54,79,207,9,54,245,195,18,54,152,77,28,54,232,117,38,54,50,71,49,54,116,204,60,54,94,17,73,54,101,34,86,54,206,12,100,54,184,222,114,54,151,83,129,54,28,187,137,54,114,174,146,54,175,54,156,54,129,93,166,54,53,45,177,54,199,176,188,54,228,243,200,54,1,3,214,54,96,235,227,54,30,187,242,54,162,64,1,55,235,166,9,55,241,152,18,55,201,31,28,55,30,69,38,55,61,19,49,55,30,149,60,55,111,214,72,55,162,227,85,55,247,201,99,55,137,151,114,55,175,45,129,55,190,146,137,55,116,131,146,55,230,8,156,55,190,44,166,55,71,249,176,55,121,121,188,55,254,184,200,55,71,196,213,55,146,168,227,55,248,115,242,55,192,26,1,56,147,126,9,56,249,109,18,56,6,242,27,56,98,20,38,56,86,223,48,56,216,93,60,56,146,155,72,56,242,164,85,56,51,135,99,56,110,80,114,56,211,7,129,56,107,106,137,56,130,88,146,56,42,219,155,56,9,252,165,56,104,197,176,56,59,66,188,56,41,126,200,56,160,133,213,56,217,101,227,56,232,44,242,56,233,244,0,57,70,86,9,57,14,67,18,57,81,196,27,57,181,227,37,57,127,171,48,57,162,38,60,57,197,96,72,57,83,102,85,57,131,68,99,57,104,9,114,57,1,226,128,57,36,66,137,57,157,45,146,57,123,173,155,57,99,203,165,57,153,145,176,57,13,11,188,57,102,67,200,57,11,71,213,57,50,35,227,57,237,229,241,57,29,207,0,58,5,46,9,58,48,24,18,58,169,150,27,58,21,179,37,58,183,119,48,58,124,239,59,58,10,38,72,58,199,39,85,58,230,1,99,58,120,194,113,58,59,188,128,58,233,25,137,58,198,2,146,58,219,127,155,58,203,154,165,58,216,93,176,58,239,211,187,58,179,8,200,58,136,8,213,58,159,224,226,58,7,159,241,58,92,169,0,59,208,5,9,59,94,237,17,59,15,105,27,59,132,130,37,59,253,67,48,59,103,184,59,59,97,235,71,59,77,233,84,59,93,191,98,59,156,123,113,59,127,150,128,59,186,241,136,59,249,215,145,59,71,82,155,59,65,106,165,59,39,42,176,59,226,156,187,59,18,206,199,59,23,202,212,59,32,158,226,59,53,88,241,59,166,131,0,60,167,221,8,60,152,194,17,60,130,59,27,60,1,82,37,60,84,16,48,60,97,129,59,60,200,176,71,60,229,170,84,60,232,124,98,60,212,52,113,60,207,112,128,60,150,201,136,60,58,173,145,60,192,36,155,60,197,57,165,60,133,246,175,60,229,101,187,60,130,147,199,60,185,139,212,60,180,91,226,60,121,17,241,60,251,93,0,61,137,181,8,61,223,151,17,61,2,14,27,61,141,33,37,61,185,220,47,61,109,74,59,61,64,118,71,61,145,108,84,61,133,58,98,61,34,238,112,61,42,75,128,61,127,161,136,61,136,130,145,61,72,247,154,61,88,9,165,61,242,194,175,61,248,46,187,61,3,89,199,61,109,77,212,61,92,25,226,61,209,202,240,61,91,56,0,62,119,141,8,62,51,109,17,62,144,224,26,62,39,241,36,62,46,169,47,62,135,19,59,62,202,59,71,62,77,46,84,62,55,248,97,62,132,167,112,62,143,37,128,62,115,121,136,62,226,87,145,62,220,201,154,62,249,216,164,62,109,143,175,62,27,248,186,62,149,30,199,62,51,15,212,62,23,215,225,62,61,132,240,62,198,18,0,63,114,101,8,63,147,66,17,63,43,179,26,63,206,192,36,63,177,117,47,63,178,220,58,63,101,1,71,63,29,240,83,63,251,181,97,63,251,96,112,63,0,0,128,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,32,0,0,8,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,37,85,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,105,76,76,79,71,73,67,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,114,101,115,111,117,114,99,101,115,47,119,105,110,46,119,97,118,0,114,101,115,111,117,114,99,101,115,47,97,109,98,105,101,110,116,46,111,103,103,0,65,32,115,105,109,112,108,101,32,97,110,100,32,101,97,115,121,45,116,111,45,117,115,101,32,108,105,98,114,97,114,121,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,116,111,32,108,101,97,114,110,32,118,105,100,101,111,103,97,109,101,115,32,112,114,111,103,114,97,109,109,105,110,103,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,32,32,32,32,32,32,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,76,76,0,79,0,71,73,0,67,0,98,121,32,82,65,77,79,78,32,83,65,78,84,65,77,65,82,73,65,32,40,64,114,97,121,115,97,110,53,41,0,76,69,86,69,76,32,48,48,0,76,69,86,69,76,32,48,49,0,76,69,86,69,76,32,48,50,0,0,0,0,0,0,0,0,0,0,0,0,0,76,69,86,69,76,32,48,51,0,76,69,86,69,76,32,48,52,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,76,69,86,69,76,32,48,53,0,76,69,86,69,76,32,48,54,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,76,69,86,69,76,32,48,55,0,68,79,78,69,33,32,40,83,101,99,111,110,100,115,58,32,37,48,51,105,41,0,68,79,78,69,33,32,40,83,101,99,111,110,100,115,58,32,48,48,48,41,0,73,110,105,116,105,97,108,105,122,105,110,103,32,114,97,121,108,105,98,32,40,118,49,46,53,46,48,41,0,35,99,97,110,118,97,115,0,84,97,114,103,101,116,32,116,105,109,101,32,112,101,114,32,102,114,97,109,101,58,32,37,48,50,46,48,51,102,32,109,105,108,108,105,115,101,99,111,110,100,115,0,87,105,110,100,111,119,32,99,108,111,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+6977); -/* memory initializer */ allocate([82,101,113,117,105,114,101,100,32,116,111,117,99,104,32,112,111,105,110,116,32,111,117,116,32,111,102,32,114,97,110,103,101,32,40,77,97,120,32,116,111,117,99,104,32,112,111,105,110,116,115,58,32,37,105,41,0,83,116,97,99,107,32,66,117,102,102,101,114,32,79,118,101,114,102,108,111,119,32,40,77,65,88,32,37,105,32,77,97,116,114,105,120,41,0,77,65,88,95,76,73,78,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,84,82,73,65,78,71,76,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,81,85,65,68,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,71,80,85,58,32,86,101,110,100,111,114,58,32,32,32,37,115,0,71,80,85,58,32,82,101,110,100,101,114,101,114,58,32,37,115,0,71,80,85,58,32,86,101,114,115,105,111,110,58,32,32,37,115,0,71,80,85,58,32,71,76,83,76,58,32,32,32,32,32,37,115,0,32,0,78,117,109,98,101,114,32,111,102,32,115,117,112,112,111,114,116,101,100,32,101,120,116,101,110,115,105,111,110,115,58,32,37,105,0,71,76,95,79,69,83,95,118,101,114,116,101,120,95,97,114,114,97,121,95,111,98,106,101,99,116,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,79,69,83,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,71,76,95,79,69,83,95,116,101,120,116,117,114,101,95,110,112,111,116,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,115,51,116,99,0,71,76,95,87,69,66,75,73,84,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,79,69,83,95,99,111,109,112,114,101,115,115,101,100,95,69,84,67,49,95,82,71,66,56,95,116,101,120,116,117,114,101,0,71,76,95,65,82,66,95,69,83,51,95,99,111,109,112,97,116,105,98,105,108,105,116,121,0,71,76,95,73,77,71,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,112,118,114,116,99,0,71,76,95,75,72,82,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,97,115,116,99,95,104,100,114,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,86,65,79,32,102,117,110,99,116,105,111,110,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,86,65,79,32,117,115,97,103,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,102,117,108,108,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,108,105,109,105,116,101,100,32,78,80,79,84,32,115,117,112,112,111,114,116,32,40,110,111,45,109,105,112,109,97,112,115,44,32,110,111,45,114,101,112,101,97,116,41,0,91,69,88,84,69,78,83,73,79,78,93,32,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,50,47,69,65,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,50,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,84,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,84,101,120,116,117,114,101,32,99,114,101,97,116,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,84,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,99,114,101,97,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,40,98,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,41,32,102,114,111,109,32,86,82,65,77,0,79,112,101,110,71,76,32,103,114,97,112,104,105,99,32,100,101,118,105,99,101,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,118,101,114,116,101,120,32,115,104,97,100,101,114,46,46,46,0,37,115,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,86,101,114,116,101,120,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,102,114,97,103,109,101,110,116,32,115,104,97,100,101,114,46,46,46,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,114,97,103,109,101,110,116,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,108,105,110,107,32,115,104,97,100,101,114,32,112,114,111,103,114,97,109,46,46,46,0,91,83,72,68,82,32,73,68,32,37,105,93,32,83,104,97,100,101,114,32,112,114,111,103,114,97,109,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,70,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,102,111,114,32,112,105,120,101,108,32,100,97,116,97,32,114,101,116,114,105,101,118,97,108,0,73,109,97,103,101,32,100,97,116,97,32,102,111,114,109,97,116,32,105,115,32,99,111,109,112,114,101,115,115,101,100,44,32,99,97,110,32,110,111,116,32,98,101,32,99,111,110,118,101,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,102,111,110,116,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,115,116,98,95,118,111,114,98,105,115,46,99,0,65,117,100,105,111,32,100,101,118,105,99,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,67,111,117,108,100,32,110,111,116,32,115,101,116,117,112,32,97,117,100,105,111,32,99,111,110,116,101,120,116,0,65,117,100,105,111,32,100,101,118,105,99,101,32,97,110,100,32,99,111,110,116,101,120,116,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,58,32,37,115,0,67,111,117,108,100,32,110,111,116,32,103,101,116,32,99,117,114,114,101,110,116,32,97,117,100,105,111,32,99,111,110,116,101,120,116,32,102,111,114,32,99,108,111,115,105,110,103,0,119,97,118,0,111,103,103,0,91,37,115,93,32,83,111,117,110,100,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,114,101,99,111,103,110,105,122,101,100,44,32,105,116,32,99,97,110,39,116,32,98,101,32,108,111,97,100,101,100,0,91,37,115,93,32,83,111,117,110,100,32,102,105,108,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,83,97,109,112,108,101,82,97,116,101,58,32,37,105,44,32,66,105,116,82,97,116,101,58,32,37,105,44,32,67,104,97,110,110,101,108,115,58,32,37,105,41,0,114,98,0,85,110,108,111,97,100,101,100,32,115,111,117,110,100,32,100,97,116,97,0,91,37,115,93,32,79,71,71,32,97,117,100,105,111,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,91,37,115,93,32,79,103,103,32,115,97,109,112,108,101,32,114,97,116,101,58,32,37,105,0,91,37,115,93,32,79,103,103,32,99,104,97,110,110,101,108,115,58,32,37,105,0,91,37,115,93,32,84,101,109,112,32,109,101,109,111,114,121,32,114,101,113,117,105,114,101,100,58,32,37,105,0,91,37,115,93,32,77,117,115,105,99,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,114,101,99,111,103,110,105,122,101,100,44,32,105,116,32,99,97,110,39,116,32,98,101,32,108,111,97,100,101,100,0,79,103,103,32,112,108,97,121,105,110,103,44,32,101,114,114,111,114,32,98,117,102,102,101,114,105,110,103,32,100,97,116,97,46,46,46,0,73,78,70,79,58,32,0,69,82,82,79,82,58,32,0,87,65,82,78,73,78,71,58,32,0,0,78,111,32,109,111,114,101,32,100,97,116,97,32,111,98,116,97,105,110,101,100,32,102,114,111,109,32,115,116,114,101,97,109,0,85,110,108,111,97,100,101,100,32,119,97,118,101,32,100,97,116,97,0,91,37,115,93,32,79,71,71,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,91,37,115,93,32,83,97,109,112,108,101,115,32,108,101,110,103,116,104,58,32,37,105,0,91,37,115,93,32,84,111,116,97,108,32,115,101,99,111,110,100,115,58,32,37,102,0,91,37,115,93,32,79,103,103,32,97,117,100,105,111,32,108,101,110,103,104,116,32,105,115,32,108,97,114,103,101,114,32,116,104,97,110,32,49,48,32,115,101,99,111,110,100,115,32,40,37,102,41,44,32,116,104,97,116,39,115,32,97,32,98,105,103,32,102,105,108,101,32,105,110,32,109,101,109,111,114,121,44,32,99,111,110,115,105,100,101,114,32,109,117,115,105,99,32,115,116,114,101,97,109,105,110,103,0,91,37,115,93,32,84,111,116,97,108,32,115,97,109,112,108,101,115,32,99,97,108,99,117,108,97,116,101,100,58,32,37,105,0,91,37,115,93,32,83,97,109,112,108,101,115,32,111,98,116,97,105,110,101,100,58,32,37,105,0,91,37,115,93,32,79,71,71,32,102,105,108,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,83,97,109,112,108,101,82,97,116,101,58,32,37,105,44,32,66,105,116,82,97,116,101,58,32,37,105,44,32,67,104,97,110,110,101,108,115,58,32,37,105,41,0,91,37,115,93,32,87,65,86,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,82,73,70,70,0,87,65,86,69,0,91,37,115,93,32,73,110,118,97,108,105,100,32,82,73,70,70,32,111,114,32,87,65,86,69,32,72,101,97,100,101,114,0,91,37,115,93,32,73,110,118,97,108,105,100,32,87,97,118,101,32,102,111,114,109,97,116,0,91,37,115,93,32,73,110,118,97,108,105,100,32,100,97,116,97,32,104,101,97,100,101,114,0,91,37,115,93,32,87,65,86,32,102,105,108,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,83,97,109,112,108,101,82,97,116,101,58,32,37,105,44,32,66,105,116,82,97,116,101,58,32,37,105,44,32,67,104,97,110,110,101,108,115,58,32,37,105,41,0,98,117,102,95,99,32,61,61,32,50,0,99,111,110,118,101,114,116,95,99,104,97,110,110,101,108,115,95,115,104,111,114,116,95,105,110,116,101,114,108,101,97,118,101,100,0,0,0,0,0,0,0,7,0,0,0,0,0,3,5,0,0,0,0,3,7,5,0,0,0,3,5,3,5,0,0,3,7,5,3,5,0,3,7,5,3,5,7,102,45,62,98,121,116,101,115,95,105,110,95,115,101,103,32,62,32,48,0,103,101,116,56,95,112,97,99,107,101,116,95,114,97,119,0,102,45,62,98,121,116,101,115,95,105,110,95,115,101,103,32,61,61,32,48,0,110,101,120,116,95,115,101,103,109,101,110,116,0,0,1,2,2,3,3,3,3,4,4,4,4,4,4,4,4,102,45,62,97,108,108,111,99,46,97,108,108,111,99,95,98,117,102,102,101,114,95,108,101,110,103,116,104,95,105,110,95,98,121,116,101,115,32,61,61,32,102,45,62,116,101,109,112,95,111,102,102,115,101,116,0,118,111,114,98,105,115,95,100,101,99,111,100,101,95,105,110,105,116,105,97,108,0,102,45,62,116,101,109,112,95,111,102,102,115,101,116,32,61,61,32,102,45,62,97,108,108,111,99,46,97,108,108,111,99,95,98,117,102,102,101,114,95,108,101,110,103,116,104,95,105,110,95,98,121,116,101,115,0,115,116,97,114,116,95,100,101,99,111,100,101,114,0,112,111,119,40,40,102,108,111,97,116,41,32,114,43,49,44,32,100,105,109,41,32,62,32,101,110,116,114,105,101,115,0,108,111,111,107,117,112,49,95,118,97,108,117,101,115,0,40,105,110,116,41,32,102,108,111,111,114,40,112,111,119,40,40,102,108,111,97,116,41,32,114,44,32,100,105,109,41,41,32,60,61,32,101,110,116,114,105,101,115,0,107,32,61,61,32,99,45,62,115,111,114,116,101,100,95,101,110,116,114,105,101,115,0,99,111,109,112,117,116,101,95,115,111,114,116,101,100,95,104,117,102,102,109,97,110,0,99,45,62,115,111,114,116,101,100,95,99,111,100,101,119,111,114,100,115,91,120,93,32,61,61,32,99,111,100,101,0,108,101,110,32,33,61,32,78,79,95,67,79,68,69,0,105,110,99,108,117,100,101,95,105,110,95,115,111,114,116,0,99,45,62,115,111,114,116,101,100,95,101,110,116,114,105,101,115,32,61,61,32,48,0,99,111,109,112,117,116,101,95,99,111,100,101,119,111,114,100,115,0,122,32,62,61,32,48,32,38,38,32,122,32,60,32,51,50,0,108,101,110,91,105,93,32,62,61,32,48,32,38,38,32,108,101,110,91,105,93,32,60,32,51,50,0,97,118,97,105,108,97,98,108,101,91,121,93,32,61,61,32,48,0,118,111,114,98,105,115,48,0,103,101,116,95,119,105,110,100,111,119,0,118,111,114,98,105,115,95,100,101,99,111,100,101,95,112,97,99,107,101,116,95,114,101,115,116,0,40,110,32,38,32,51,41,32,61,61,32,48,0,105,109,100,99,116,95,115,116,101,112,51,95,105,116,101,114,48,95,108,111,111,112,0,122,32,60,32,99,45,62,115,111,114,116,101,100,95,101,110,116,114,105,101,115,0,99,111,100,101,98,111,111,107,95,100,101,99,111,100,101,95,115,116,97,114,116,0,33,99,45,62,115,112,97,114,115,101,32,124,124,32,122,32,60,32,99,45,62,115,111,114,116,101,100,95,101,110,116,114,105,101,115,0,99,111,100,101,98,111,111,107,95,100,101,99,111,100,101,95,100,101,105,110,116,101,114,108,101,97,118,101,95,114,101,112,101,97,116,0,33,99,45,62,115,112,97,114,115,101,0,99,111,100,101,98,111,111,107,95,100,101,99,111,100,101,95,115,99,97,108,97,114,95,114,97,119,0,118,101,114,116,101,120,80,111,115,105,116,105,111,110,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,0,118,101,114,116,101,120,78,111,114,109,97,108,0,118,101,114,116,101,120,67,111,108,111,114,0,109,118,112,77,97,116,114,105,120,0,102,114,97,103,84,105,110,116,67,111,108,111,114,0,116,101,120,116,117,114,101,48,0,116,101,120,116,117,114,101,49,0,116,101,120,116,117,114,101,50,0,91,86,65,79,32,73,68,32,37,105,93,32,76,105,110,101,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,76,105,110,101,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,86,65,79,32,73,68,32,37,105,93,32,84,114,105,97,110,103,108,101,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,84,114,105,97,110,103,108,101,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,86,65,79,32,73,68,32,37,105,93,32,81,117,97,100,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,81,117,97,100,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,67,80,85,32,98,117,102,102,101,114,115,32,40,108,105,110,101,115,44,32,116,114,105,97,110,103,108,101,115,44,32,113,117,97,100,115,41,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,51,32,118,101,114,116,101,120,80,111,115,105,116,105,111,110,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,50,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,52,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,109,97,116,52,32,109,118,112,77,97,116,114,105,120,59,32,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,102,114,97,103,84,101,120,67,111,111,114,100,32,61,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,10,32,32,32,32,102,114,97,103,67,111,108,111,114,32,61,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,10,32,32,32,32,103,108,95,80,111,115,105,116,105,111,110,32,61,32,109,118,112,77,97,116,114,105,120,42,118,101,99,52,40,118,101,114,116,101,120,80,111,115,105,116,105,111,110,44,32,49,46,48,41,59,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,10,112,114,101,99,105,115,105,111,110,32,109,101,100,105,117,109,112,32,102,108,111,97,116,59,32,32,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,115,97,109,112,108,101,114,50,68,32,116,101,120,116,117,114,101,48,59,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,118,101,99,52,32,102,114,97,103,84,105,110,116,67,111,108,111,114,59,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,118,101,99,52,32,116,101,120,101,108,67,111,108,111,114,32,61,32,116,101,120,116,117,114,101,50,68,40,116,101,120,116,117,114,101,48,44,32,102,114,97,103,84,101,120,67,111,111,114,100,41,59,32,10,32,32,32,32,103,108,95,70,114,97,103,67,111,108,111,114,32,61,32,116,101,120,101,108,67,111,108,111,114,42,102,114,97,103,84,105,110,116,67,111,108,111,114,42,102,114,97,103,67,111,108,111,114,59,32,32,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,102,117,108,108,115,99,114,101,101,110,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,119,105,110,100,111,119,101,100,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,71,76,70,87,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,77,83,65,65,32,120,52,0,71,76,70,87,32,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,87,105,110,100,111,119,0,68,105,115,112,108,97,121,32,100,101,118,105,99,101,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,82,101,110,100,101,114,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,83,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,86,105,101,119,112,111,114,116,32,111,102,102,115,101,116,115,58,32,37,105,44,32,37,105,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,86,83,89,78,67,0,68,79,87,78,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,32,40,37,105,120,37,105,41,32,105,115,32,98,105,103,103,101,114,32,116,104,97,110,32,100,105,115,112,108,97,121,32,115,105,122,101,32,40,37,105,120,37,105,41,0,68,111,119,110,115,99,97,108,101,32,109,97,116,114,105,120,32,103,101,110,101,114,97,116,101,100,44,32,99,111,110,116,101,110,116,32,119,105,108,108,32,98,101,32,114,101,110,100,101,114,101,100,32,97,116,58,32,37,105,32,120,32,37,105,0,85,80,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,32,45,62,32,68,105,115,112,108,97,121,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,91,71,76,70,87,51,32,69,114,114,111,114,93,32,67,111,100,101,58,32,37,105,32,68,101,99,114,105,112,116,105,111,110,58,32,37,115,0,69,88,84,0,65,82,66,0,79,69,83,0,65,78,71,76,69,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,0,103,108,85,115,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,85,115,101,80,114,111,103,114,97,109,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,0,103,108,65,116,116,97,99,104,79,98,106,101,99,116,0,103,108,65,116,116,97,99,104,83,104,97,100,101,114,0,103,108,68,101,116,97,99,104,79,98,106,101,99,116,0,103,108,68,101,116,97,99,104,83,104,97,100,101,114,0,103,108,80,105,120,101,108,83,116,111,114,101,105,0,103,108,71,101,116,83,116,114,105,110,103,0,103,108,71,101,116,73,110,116,101,103,101,114,118,0,103,108,71,101,116,70,108,111,97,116,118,0,103,108,71,101,116,66,111,111,108,101,97,110,118,0,103,108,71,101,110,84,101,120,116,117,114,101,115,0,103,108,68,101,108,101,116,101,84,101,120,116,117,114,101,115,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,84,101,120,73,109,97,103,101,50,68,0,103,108,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,82,101,97,100,80,105,120,101,108,115,0,103,108,66,105,110,100,84,101,120,116,117,114,101,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,84,101,120,116,117,114,101,0,103,108,71,101,110,66,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,66,117,102,102,101,114,115,0,103,108,71,101,116,66,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,66,117,102,102,101,114,68,97,116,97,0,103,108,66,117,102,102,101,114,83,117,98,68,97,116,97,0,103,108,73,115,66,117,102,102,101,114,0,103,108,71,101,110,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,66,105,110,100,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,82,101,110,100,101,114,98,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,85,110,105,102,111,114,109,102,118,0,103,108,71,101,116,85,110,105,102,111,114,109,105,118,0,103,108,71,101,116,85,110,105,102,111,114,109,76,111,99,97,116,105,111,110,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,102,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,105,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,118,0,103,108,71,101,116,65,99,116,105,118,101,85,110,105,102,111,114,109,0,103,108,85,110,105,102,111,114,109,49,102,0,103,108,85,110,105,102,111,114,109,50,102,0,103,108,85,110,105,102,111,114,109,51,102,0,103,108,85,110,105,102,111,114,109,52,102,0,103,108,85,110,105,102,111,114,109,49,105,0,103,108,85,110,105,102,111,114,109,50,105,0,103,108,85,110,105,102,111,114,109,51,105,0,103,108,85,110,105,102,111,114,109,52,105,0,103,108,85,110,105,102,111,114,109,49,105,118,0,103,108,85,110,105,102,111,114,109,50,105,118,0,103,108,85,110,105,102,111,114,109,51,105,118,0,103,108,85,110,105,102,111,114,109,52,105,118,0,103,108,85,110,105,102,111,114,109,49,102,118,0,103,108,85,110,105,102,111,114,109,50,102,118,0,103,108,85,110,105,102,111,114,109,51,102,118,0,103,108,85,110,105,102,111,114,109,52,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,50,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,51,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,52,102,118,0,103,108,66,105,110,100,66,117,102,102,101,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,118,0,103,108,71,101,116,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,71,101,116,65,99,116,105,118,101,65,116,116,114,105,98,0,103,108,68,101,108,101,116,101,83,104,97,100,101,114,0,103,108,71,101,116,65,116,116,97,99,104,101,100,83,104,97,100,101,114,115,0,103,108,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,71,101,116,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,67,111,109,112,105,108,101,83,104,97,100,101,114,0,103,108,71,101,116,83,104,97,100,101,114,73,110,102,111,76,111,103,0,103,108,71,101,116,83,104,97,100,101,114,105,118,0,103,108,71,101,116,80,114,111,103,114,97,109,105,118,0,103,108,73,115,83,104,97,100,101,114,0,103,108,68,101,108,101,116,101,80,114,111,103,114,97,109,0,103,108,71,101,116,83,104,97,100,101,114,80,114,101,99,105,115,105,111,110,70,111,114,109,97,116,0,103,108,76,105,110,107,80,114,111,103,114,97,109,0,103,108,71,101,116,80,114,111,103,114,97,109,73,110,102,111,76,111,103,0,103,108,86,97,108,105,100,97,116,101,80,114,111,103,114,97,109,0,103,108,73,115,80,114,111,103,114,97,109,0,103,108,66,105,110,100,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,66,105,110,100,70,114,97,109,101,98,117,102,102,101,114,0,103,108,71,101,110,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,70,114,97,109,101,98,117,102,102,101,114,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,70,114,97,109,101,98,117,102,102,101,114,84,101,120,116,117,114,101,50,68,0,103,108,71,101,116,70,114,97,109,101,98,117,102,102,101,114,65,116,116,97,99,104,109,101,110,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,70,114,97,109,101,98,117,102,102,101,114,0,103,108,68,101,108,101,116,101,79,98,106,101,99,116,0,103,108,71,101,116,79,98,106,101,99,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,71,101,116,73,110,102,111,76,111,103,0,103,108,66,105,110,100,80,114,111,103,114,97,109,0,103,108,71,101,116,80,111,105,110,116,101,114,118,0,103,108,68,114,97,119,82,97,110,103,101,69,108,101,109,101,110,116,115,0,103,108,69,110,97,98,108,101,67,108,105,101,110,116,83,116,97,116,101,0,103,108,86,101,114,116,101,120,80,111,105,110,116,101,114,0,103,108,84,101,120,67,111,111,114,100,80,111,105,110,116,101,114,0,103,108,78,111,114,109,97,108,80,111,105,110,116,101,114,0,103,108,67,111,108,111,114,80,111,105,110,116,101,114,0,103,108,67,108,105,101,110,116,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,0,103,108,77,97,116,114,105,120,77,111,100,101,0,103,108,76,111,97,100,73,100,101,110,116,105,116,121,0,103,108,76,111,97,100,77,97,116,114,105,120,102,0,103,108,70,114,117,115,116,117,109,0,103,108,82,111,116,97,116,101,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,0,103,108,69,110,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,105,115,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,114,97,119,65,114,114,97,121,115,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,0,103,108,83,104,97,100,101,114,66,105,110,97,114,121,0,103,108,82,101,108,101,97,115,101,83,104,97,100,101,114,67,111,109,112,105,108,101,114,0,103,108,71,101,116,69,114,114,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,68,105,118,105,115,111,114,0,103,108,68,114,97,119,65,114,114,97,121,115,73,110,115,116,97,110,99,101,100,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,73,110,115,116,97,110,99,101,100,0,103,108,70,105,110,105,115,104,0,103,108,70,108,117,115,104,0,103,108,67,108,101,97,114,68,101,112,116,104,0,103,108,67,108,101,97,114,68,101,112,116,104,102,0,103,108,68,101,112,116,104,70,117,110,99,0,103,108,69,110,97,98,108,101,0,103,108,68,105,115,97,98,108,101,0,103,108,70,114,111,110,116,70,97,99,101,0,103,108,67,117,108,108,70,97,99,101,0,103,108,67,108,101,97,114,0,103,108,76,105,110,101,87,105,100,116,104,0,103,108,67,108,101,97,114,83,116,101,110,99,105,108,0,103,108,68,101,112,116,104,77,97,115,107,0,103,108,83,116,101,110,99,105,108,77,97,115,107,0,103,108,67,104,101,99,107,70,114,97,109,101,98,117,102,102,101,114,83,116,97,116,117,115,0,103,108,71,101,110,101,114,97,116,101,77,105,112,109,97,112,0,103,108,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,0,103,108,73,115,69,110,97,98,108,101,100,0,103,108,66,108,101,110,100,70,117,110,99,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,83,101,112,97,114,97,116,101,0,103,108,68,101,112,116,104,82,97,110,103,101,0,103,108,68,101,112,116,104,82,97,110,103,101,102,0,103,108,83,116,101,110,99,105,108,77,97,115,107,83,101,112,97,114,97,116,101,0,103,108,72,105,110,116,0,103,108,80,111,108,121,103,111,110,79,102,102,115,101,116,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,0,103,108,83,97,109,112,108,101,67,111,118,101,114,97,103,101,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,0,103,108,83,116,101,110,99,105,108,70,117,110,99,0,103,108,83,116,101,110,99,105,108,79,112,0,103,108,86,105,101,119,112,111,114,116,0,103,108,67,108,101,97,114,67,111,108,111,114,0,103,108,83,99,105,115,115,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,0,103,108,67,111,108,111,114,77,97,115,107,0,103,108,82,101,110,100,101,114,98,117,102,102,101,114,83,116,111,114,97,103,101,0,103,108,66,108,101,110,100,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,66,108,101,110,100,67,111,108,111,114,0,103,108,83,116,101,110,99,105,108,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,83,116,101,110,99,105,108,79,112,83,101,112,97,114,97,116,101,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,0,103,108,67,111,112,121,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,112,121,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,68,114,97,119,66,117,102,102,101,114,115,0,123,32,77,111,100,117,108,101,46,112,114,105,110,116,69,114,114,40,39,98,97,100,32,110,97,109,101,32,105,110,32,103,101,116,80,114,111,99,65,100,100,114,101,115,115,58,32,39,32,43,32,91,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,48,41,44,32,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,49,41,93,41,59,32,125,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+10566); -/* memory initializer */ allocate([32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,114,119,97], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+20806); -/* memory initializer */ allocate([17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,110,97,110,0,78,65,78,0,46,0], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+22813); - - - - - -/* no memory initializer */ -var tempDoublePtr = Runtime.alignMemory(allocate(12, "i8", ALLOC_STATIC), 8); - -assert(tempDoublePtr % 8 == 0); - -function copyTempFloat(ptr) { // functions, because inlining this code increases code size too much - - HEAP8[tempDoublePtr] = HEAP8[ptr]; - - HEAP8[tempDoublePtr+1] = HEAP8[ptr+1]; - - HEAP8[tempDoublePtr+2] = HEAP8[ptr+2]; - - HEAP8[tempDoublePtr+3] = HEAP8[ptr+3]; - -} - -function copyTempDouble(ptr) { - - HEAP8[tempDoublePtr] = HEAP8[ptr]; - - HEAP8[tempDoublePtr+1] = HEAP8[ptr+1]; - - HEAP8[tempDoublePtr+2] = HEAP8[ptr+2]; - - HEAP8[tempDoublePtr+3] = HEAP8[ptr+3]; - - HEAP8[tempDoublePtr+4] = HEAP8[ptr+4]; - - HEAP8[tempDoublePtr+5] = HEAP8[ptr+5]; - - HEAP8[tempDoublePtr+6] = HEAP8[ptr+6]; - - HEAP8[tempDoublePtr+7] = HEAP8[ptr+7]; - -} - -// {{PRE_LIBRARY}} - - - - var GL={counter:1,lastError:0,buffers:[],mappedBuffers:{},programs:[],framebuffers:[],renderbuffers:[],textures:[],uniforms:[],shaders:[],vaos:[],contexts:[],currentContext:null,byteSizeByTypeRoot:5120,byteSizeByType:[1,1,2,2,4,4,4,2,3,4,8],programInfos:{},stringCache:{},packAlignment:4,unpackAlignment:4,init:function () { - GL.miniTempBuffer = new Float32Array(GL.MINI_TEMP_BUFFER_SIZE); - for (var i = 0; i < GL.MINI_TEMP_BUFFER_SIZE; i++) { - GL.miniTempBufferViews[i] = GL.miniTempBuffer.subarray(0, i+1); - } - },recordError:function recordError(errorCode) { - if (!GL.lastError) { - GL.lastError = errorCode; - } - },getNewId:function (table) { - var ret = GL.counter++; - for (var i = table.length; i < ret; i++) { - table[i] = null; - } - return ret; - },MINI_TEMP_BUFFER_SIZE:16,miniTempBuffer:null,miniTempBufferViews:[0],getSource:function (shader, count, string, length) { - var source = ''; - for (var i = 0; i < count; ++i) { - var frag; - if (length) { - var len = HEAP32[(((length)+(i*4))>>2)]; - if (len < 0) { - frag = Pointer_stringify(HEAP32[(((string)+(i*4))>>2)]); - } else { - frag = Pointer_stringify(HEAP32[(((string)+(i*4))>>2)], len); - } - } else { - frag = Pointer_stringify(HEAP32[(((string)+(i*4))>>2)]); - } - source += frag; - } - return source; - },createContext:function (canvas, webGLContextAttributes) { - if (typeof webGLContextAttributes.majorVersion === 'undefined' && typeof webGLContextAttributes.minorVersion === 'undefined') { - webGLContextAttributes.majorVersion = 1; - webGLContextAttributes.minorVersion = 0; - } - var ctx; - var errorInfo = '?'; - function onContextCreationError(event) { - errorInfo = event.statusMessage || errorInfo; - } - try { - canvas.addEventListener('webglcontextcreationerror', onContextCreationError, false); - try { - if (webGLContextAttributes.majorVersion == 1 && webGLContextAttributes.minorVersion == 0) { - ctx = canvas.getContext("webgl", webGLContextAttributes) || canvas.getContext("experimental-webgl", webGLContextAttributes); - } else if (webGLContextAttributes.majorVersion == 2 && webGLContextAttributes.minorVersion == 0) { - ctx = canvas.getContext("webgl2", webGLContextAttributes) || canvas.getContext("experimental-webgl2", webGLContextAttributes); - } else { - throw 'Unsupported WebGL context version ' + majorVersion + '.' + minorVersion + '!' - } - } finally { - canvas.removeEventListener('webglcontextcreationerror', onContextCreationError, false); - } - if (!ctx) throw ':('; - } catch (e) { - Module.print('Could not create canvas: ' + [errorInfo, e, JSON.stringify(webGLContextAttributes)]); - return 0; - } - // possible GL_DEBUG entry point: ctx = wrapDebugGL(ctx); - - if (!ctx) return 0; - return GL.registerContext(ctx, webGLContextAttributes); - },registerContext:function (ctx, webGLContextAttributes) { - var handle = GL.getNewId(GL.contexts); - var context = { - handle: handle, - version: webGLContextAttributes.majorVersion, - GLctx: ctx - }; - // Store the created context object so that we can access the context given a canvas without having to pass the parameters again. - if (ctx.canvas) ctx.canvas.GLctxObject = context; - GL.contexts[handle] = context; - if (typeof webGLContextAttributes['enableExtensionsByDefault'] === 'undefined' || webGLContextAttributes.enableExtensionsByDefault) { - GL.initExtensions(context); - } - return handle; - },makeContextCurrent:function (contextHandle) { - var context = GL.contexts[contextHandle]; - if (!context) return false; - GLctx = Module.ctx = context.GLctx; // Active WebGL context object. - GL.currentContext = context; // Active Emscripten GL layer context object. - return true; - },getContext:function (contextHandle) { - return GL.contexts[contextHandle]; - },deleteContext:function (contextHandle) { - if (GL.currentContext === GL.contexts[contextHandle]) GL.currentContext = null; - if (typeof JSEvents === 'object') JSEvents.removeAllHandlersOnTarget(GL.contexts[contextHandle].GLctx.canvas); // Release all JS event handlers on the DOM element that the GL context is associated with since the context is now deleted. - if (GL.contexts[contextHandle] && GL.contexts[contextHandle].GLctx.canvas) GL.contexts[contextHandle].GLctx.canvas.GLctxObject = undefined; // Make sure the canvas object no longer refers to the context object so there are no GC surprises. - GL.contexts[contextHandle] = null; - },initExtensions:function (context) { - // If this function is called without a specific context object, init the extensions of the currently active context. - if (!context) context = GL.currentContext; - - if (context.initExtensionsDone) return; - context.initExtensionsDone = true; - - var GLctx = context.GLctx; - - context.maxVertexAttribs = GLctx.getParameter(GLctx.MAX_VERTEX_ATTRIBS); - - // Detect the presence of a few extensions manually, this GL interop layer itself will need to know if they exist. - - if (context.version < 2) { - // Extension available from Firefox 26 and Google Chrome 30 - var instancedArraysExt = GLctx.getExtension('ANGLE_instanced_arrays'); - if (instancedArraysExt) { - GLctx['vertexAttribDivisor'] = function(index, divisor) { instancedArraysExt['vertexAttribDivisorANGLE'](index, divisor); }; - GLctx['drawArraysInstanced'] = function(mode, first, count, primcount) { instancedArraysExt['drawArraysInstancedANGLE'](mode, first, count, primcount); }; - GLctx['drawElementsInstanced'] = function(mode, count, type, indices, primcount) { instancedArraysExt['drawElementsInstancedANGLE'](mode, count, type, indices, primcount); }; - } - - // Extension available from Firefox 25 and WebKit - var vaoExt = GLctx.getExtension('OES_vertex_array_object'); - if (vaoExt) { - GLctx['createVertexArray'] = function() { return vaoExt['createVertexArrayOES'](); }; - GLctx['deleteVertexArray'] = function(vao) { vaoExt['deleteVertexArrayOES'](vao); }; - GLctx['bindVertexArray'] = function(vao) { vaoExt['bindVertexArrayOES'](vao); }; - GLctx['isVertexArray'] = function(vao) { return vaoExt['isVertexArrayOES'](vao); }; - } - - var drawBuffersExt = GLctx.getExtension('WEBGL_draw_buffers'); - if (drawBuffersExt) { - GLctx['drawBuffers'] = function(n, bufs) { drawBuffersExt['drawBuffersWEBGL'](n, bufs); }; - } - } - - // These are the 'safe' feature-enabling extensions that don't add any performance impact related to e.g. debugging, and - // should be enabled by default so that client GLES2/GL code will not need to go through extra hoops to get its stuff working. - // As new extensions are ratified at http://www.khronos.org/registry/webgl/extensions/ , feel free to add your new extensions - // here, as long as they don't produce a performance impact for users that might not be using those extensions. - // E.g. debugging-related extensions should probably be off by default. - var automaticallyEnabledExtensions = [ "OES_texture_float", "OES_texture_half_float", "OES_standard_derivatives", - "OES_vertex_array_object", "WEBGL_compressed_texture_s3tc", "WEBGL_depth_texture", - "OES_element_index_uint", "EXT_texture_filter_anisotropic", "ANGLE_instanced_arrays", - "OES_texture_float_linear", "OES_texture_half_float_linear", "WEBGL_compressed_texture_atc", - "WEBGL_compressed_texture_pvrtc", "EXT_color_buffer_half_float", "WEBGL_color_buffer_float", - "EXT_frag_depth", "EXT_sRGB", "WEBGL_draw_buffers", "WEBGL_shared_resources", - "EXT_shader_texture_lod" ]; - - function shouldEnableAutomatically(extension) { - var ret = false; - automaticallyEnabledExtensions.forEach(function(include) { - if (ext.indexOf(include) != -1) { - ret = true; - } - }); - return ret; - } - - var exts = GLctx.getSupportedExtensions(); - if (exts && exts.length > 0) { - GLctx.getSupportedExtensions().forEach(function(ext) { - if (automaticallyEnabledExtensions.indexOf(ext) != -1) { - GLctx.getExtension(ext); // Calling .getExtension enables that extension permanently, no need to store the return value to be enabled. - } - }); - } - },populateUniformTable:function (program) { - var p = GL.programs[program]; - GL.programInfos[program] = { - uniforms: {}, - maxUniformLength: 0, // This is eagerly computed below, since we already enumerate all uniforms anyway. - maxAttributeLength: -1 // This is lazily computed and cached, computed when/if first asked, "-1" meaning not computed yet. - }; - - var ptable = GL.programInfos[program]; - var utable = ptable.uniforms; - // A program's uniform table maps the string name of an uniform to an integer location of that uniform. - // The global GL.uniforms map maps integer locations to WebGLUniformLocations. - var numUniforms = GLctx.getProgramParameter(p, GLctx.ACTIVE_UNIFORMS); - for (var i = 0; i < numUniforms; ++i) { - var u = GLctx.getActiveUniform(p, i); - - var name = u.name; - ptable.maxUniformLength = Math.max(ptable.maxUniformLength, name.length+1); - - // Strip off any trailing array specifier we might have got, e.g. "[0]". - if (name.indexOf(']', name.length-1) !== -1) { - var ls = name.lastIndexOf('['); - name = name.slice(0, ls); - } - - // Optimize memory usage slightly: If we have an array of uniforms, e.g. 'vec3 colors[3];', then - // only store the string 'colors' in utable, and 'colors[0]', 'colors[1]' and 'colors[2]' will be parsed as 'colors'+i. - // Note that for the GL.uniforms table, we still need to fetch the all WebGLUniformLocations for all the indices. - var loc = GLctx.getUniformLocation(p, name); - var id = GL.getNewId(GL.uniforms); - utable[name] = [u.size, id]; - GL.uniforms[id] = loc; - - for (var j = 1; j < u.size; ++j) { - var n = name + '['+j+']'; - loc = GLctx.getUniformLocation(p, n); - id = GL.getNewId(GL.uniforms); - - GL.uniforms[id] = loc; - } - } - }};function _emscripten_glIsRenderbuffer(renderbuffer) { - var rb = GL.renderbuffers[renderbuffer]; - if (!rb) return 0; - return GLctx.isRenderbuffer(rb); - } - - function _emscripten_glStencilMaskSeparate(x0, x1) { GLctx.stencilMaskSeparate(x0, x1) } - - - - function _emscripten_get_now() { - if (!_emscripten_get_now.actual) { - if (ENVIRONMENT_IS_NODE) { - _emscripten_get_now.actual = function _emscripten_get_now_actual() { - var t = process['hrtime'](); - return t[0] * 1e3 + t[1] / 1e6; - } - } else if (typeof dateNow !== 'undefined') { - _emscripten_get_now.actual = dateNow; - } else if (typeof self === 'object' && self['performance'] && typeof self['performance']['now'] === 'function') { - _emscripten_get_now.actual = function _emscripten_get_now_actual() { return self['performance']['now'](); }; - } else if (typeof performance === 'object' && typeof performance['now'] === 'function') { - _emscripten_get_now.actual = function _emscripten_get_now_actual() { return performance['now'](); }; - } else { - _emscripten_get_now.actual = Date.now; - } - } - return _emscripten_get_now.actual(); - }var GLFW={Window:function (id, width, height, title, monitor, share) { - this.id = id; - this.x = 0; - this.y = 0; - this.storedX = 0; // Used to store X before fullscreen - this.storedY = 0; // Used to store Y before fullscreen - this.width = width; - this.height = height; - this.storedWidth = width; // Used to store width before fullscreen - this.storedHeight = height; // Used to store height before fullscreen - this.title = title; - this.monitor = monitor; - this.share = share; - this.attributes = GLFW.hints; - this.inputModes = { - 0x00033001:0x00034001, // GLFW_CURSOR (GLFW_CURSOR_NORMAL) - 0x00033002:0, // GLFW_STICKY_KEYS - 0x00033003:0, // GLFW_STICKY_MOUSE_BUTTONS - }; - this.buttons = 0; - this.keys = new Array(); - this.shouldClose = 0; - this.title = null; - this.windowPosFunc = null; // GLFWwindowposfun - this.windowSizeFunc = null; // GLFWwindowsizefun - this.windowCloseFunc = null; // GLFWwindowclosefun - this.windowRefreshFunc = null; // GLFWwindowrefreshfun - this.windowFocusFunc = null; // GLFWwindowfocusfun - this.windowIconifyFunc = null; // GLFWwindowiconifyfun - this.framebufferSizeFunc = null; // GLFWframebuffersizefun - this.mouseButtonFunc = null; // GLFWmousebuttonfun - this.cursorPosFunc = null; // GLFWcursorposfun - this.cursorEnterFunc = null; // GLFWcursorenterfun - this.scrollFunc = null; // GLFWscrollfun - this.keyFunc = null; // GLFWkeyfun - this.charFunc = null; // GLFWcharfun - this.userptr = null; - },WindowFromId:function (id) { - if (id <= 0 || !GLFW.windows) return null; - return GLFW.windows[id - 1]; - },errorFunc:null,monitorFunc:null,active:null,windows:null,monitors:null,monitorString:null,versionString:null,initialTime:null,extensions:null,hints:null,defaultHints:{131073:0,131074:0,131075:1,131076:1,131077:1,135169:8,135170:8,135171:8,135172:8,135173:24,135174:8,135175:0,135176:0,135177:0,135178:0,135179:0,135180:0,135181:0,135182:0,135183:0,139265:196609,139266:1,139267:0,139268:0,139269:0,139270:0,139271:0,139272:0},DOMToGLFWKeyCode:function (keycode) { - switch (keycode) { - case 0x20:return 32; // DOM_VK_SPACE -> GLFW_KEY_SPACE - case 0xDE:return 39; // DOM_VK_QUOTE -> GLFW_KEY_APOSTROPHE - case 0xBC:return 44; // DOM_VK_COMMA -> GLFW_KEY_COMMA - case 0xAD:return 45; // DOM_VK_HYPHEN_MINUS -> GLFW_KEY_MINUS - case 0xBE:return 46; // DOM_VK_PERIOD -> GLFW_KEY_PERIOD - case 0xBF:return 47; // DOM_VK_SLASH -> GLFW_KEY_SLASH - case 0x30:return 48; // DOM_VK_0 -> GLFW_KEY_0 - case 0x31:return 49; // DOM_VK_1 -> GLFW_KEY_1 - case 0x32:return 50; // DOM_VK_2 -> GLFW_KEY_2 - case 0x33:return 51; // DOM_VK_3 -> GLFW_KEY_3 - case 0x34:return 52; // DOM_VK_4 -> GLFW_KEY_4 - case 0x35:return 53; // DOM_VK_5 -> GLFW_KEY_5 - case 0x36:return 54; // DOM_VK_6 -> GLFW_KEY_6 - case 0x37:return 55; // DOM_VK_7 -> GLFW_KEY_7 - case 0x38:return 56; // DOM_VK_8 -> GLFW_KEY_8 - case 0x39:return 57; // DOM_VK_9 -> GLFW_KEY_9 - case 0x3B:return 59; // DOM_VK_SEMICOLON -> GLFW_KEY_SEMICOLON - case 0x61:return 61; // DOM_VK_EQUALS -> GLFW_KEY_EQUAL - case 0x41:return 65; // DOM_VK_A -> GLFW_KEY_A - case 0x42:return 66; // DOM_VK_B -> GLFW_KEY_B - case 0x43:return 67; // DOM_VK_C -> GLFW_KEY_C - case 0x44:return 68; // DOM_VK_D -> GLFW_KEY_D - case 0x45:return 69; // DOM_VK_E -> GLFW_KEY_E - case 0x46:return 70; // DOM_VK_F -> GLFW_KEY_F - case 0x47:return 71; // DOM_VK_G -> GLFW_KEY_G - case 0x48:return 72; // DOM_VK_H -> GLFW_KEY_H - case 0x49:return 73; // DOM_VK_I -> GLFW_KEY_I - case 0x4A:return 74; // DOM_VK_J -> GLFW_KEY_J - case 0x4B:return 75; // DOM_VK_K -> GLFW_KEY_K - case 0x4C:return 76; // DOM_VK_L -> GLFW_KEY_L - case 0x4D:return 77; // DOM_VK_M -> GLFW_KEY_M - case 0x4E:return 78; // DOM_VK_N -> GLFW_KEY_N - case 0x4F:return 79; // DOM_VK_O -> GLFW_KEY_O - case 0x50:return 80; // DOM_VK_P -> GLFW_KEY_P - case 0x51:return 81; // DOM_VK_Q -> GLFW_KEY_Q - case 0x52:return 82; // DOM_VK_R -> GLFW_KEY_R - case 0x53:return 83; // DOM_VK_S -> GLFW_KEY_S - case 0x54:return 84; // DOM_VK_T -> GLFW_KEY_T - case 0x55:return 85; // DOM_VK_U -> GLFW_KEY_U - case 0x56:return 86; // DOM_VK_V -> GLFW_KEY_V - case 0x57:return 87; // DOM_VK_W -> GLFW_KEY_W - case 0x58:return 88; // DOM_VK_X -> GLFW_KEY_X - case 0x59:return 89; // DOM_VK_Y -> GLFW_KEY_Y - case 0x5a:return 90; // DOM_VK_Z -> GLFW_KEY_Z - case 0xDB:return 91; // DOM_VK_OPEN_BRACKET -> GLFW_KEY_LEFT_BRACKET - case 0xDC:return 92; // DOM_VK_BACKSLASH -> GLFW_KEY_BACKSLASH - case 0xDD:return 93; // DOM_VK_CLOSE_BRACKET -> GLFW_KEY_RIGHT_BRACKET - case 0xC0:return 94; // DOM_VK_BACK_QUOTE -> GLFW_KEY_GRAVE_ACCENT - case 0x1B:return 256; // DOM_VK_ESCAPE -> GLFW_KEY_ESCAPE - case 0x0D:return 257; // DOM_VK_RETURN -> GLFW_KEY_ENTER - case 0x09:return 258; // DOM_VK_TAB -> GLFW_KEY_TAB - case 0x08:return 259; // DOM_VK_BACK -> GLFW_KEY_BACKSPACE - case 0x2D:return 260; // DOM_VK_INSERT -> GLFW_KEY_INSERT - case 0x2E:return 261; // DOM_VK_DELETE -> GLFW_KEY_DELETE - case 0x27:return 262; // DOM_VK_RIGHT -> GLFW_KEY_RIGHT - case 0x25:return 263; // DOM_VK_LEFT -> GLFW_KEY_LEFT - case 0x28:return 264; // DOM_VK_DOWN -> GLFW_KEY_DOWN - case 0x26:return 265; // DOM_VK_UP -> GLFW_KEY_UP - case 0x21:return 266; // DOM_VK_PAGE_UP -> GLFW_KEY_PAGE_UP - case 0x22:return 267; // DOM_VK_PAGE_DOWN -> GLFW_KEY_PAGE_DOWN - case 0x24:return 268; // DOM_VK_HOME -> GLFW_KEY_HOME - case 0x23:return 269; // DOM_VK_END -> GLFW_KEY_END - case 0x14:return 280; // DOM_VK_CAPS_LOCK -> GLFW_KEY_CAPS_LOCK - case 0x91:return 281; // DOM_VK_SCROLL_LOCK -> GLFW_KEY_SCROLL_LOCK - case 0x90:return 282; // DOM_VK_NUM_LOCK -> GLFW_KEY_NUM_LOCK - case 0x2C:return 283; // DOM_VK_SNAPSHOT -> GLFW_KEY_PRINT_SCREEN - case 0x13:return 284; // DOM_VK_PAUSE -> GLFW_KEY_PAUSE - case 0x70:return 290; // DOM_VK_F1 -> GLFW_KEY_F1 - case 0x71:return 291; // DOM_VK_F2 -> GLFW_KEY_F2 - case 0x72:return 292; // DOM_VK_F3 -> GLFW_KEY_F3 - case 0x73:return 293; // DOM_VK_F4 -> GLFW_KEY_F4 - case 0x74:return 294; // DOM_VK_F5 -> GLFW_KEY_F5 - case 0x75:return 295; // DOM_VK_F6 -> GLFW_KEY_F6 - case 0x76:return 296; // DOM_VK_F7 -> GLFW_KEY_F7 - case 0x77:return 297; // DOM_VK_F8 -> GLFW_KEY_F8 - case 0x78:return 298; // DOM_VK_F9 -> GLFW_KEY_F9 - case 0x79:return 299; // DOM_VK_F10 -> GLFW_KEY_F10 - case 0x7A:return 300; // DOM_VK_F11 -> GLFW_KEY_F11 - case 0x7B:return 301; // DOM_VK_F12 -> GLFW_KEY_F12 - case 0x7C:return 302; // DOM_VK_F13 -> GLFW_KEY_F13 - case 0x7D:return 303; // DOM_VK_F14 -> GLFW_KEY_F14 - case 0x7E:return 304; // DOM_VK_F15 -> GLFW_KEY_F15 - case 0x7F:return 305; // DOM_VK_F16 -> GLFW_KEY_F16 - case 0x80:return 306; // DOM_VK_F17 -> GLFW_KEY_F17 - case 0x81:return 307; // DOM_VK_F18 -> GLFW_KEY_F18 - case 0x82:return 308; // DOM_VK_F19 -> GLFW_KEY_F19 - case 0x83:return 309; // DOM_VK_F20 -> GLFW_KEY_F20 - case 0x84:return 310; // DOM_VK_F21 -> GLFW_KEY_F21 - case 0x85:return 311; // DOM_VK_F22 -> GLFW_KEY_F22 - case 0x86:return 312; // DOM_VK_F23 -> GLFW_KEY_F23 - case 0x87:return 313; // DOM_VK_F24 -> GLFW_KEY_F24 - case 0x88:return 314; // 0x88 (not used?) -> GLFW_KEY_F25 - case 0x60:return 320; // DOM_VK_NUMPAD0 -> GLFW_KEY_KP_0 - case 0x61:return 321; // DOM_VK_NUMPAD1 -> GLFW_KEY_KP_1 - case 0x62:return 322; // DOM_VK_NUMPAD2 -> GLFW_KEY_KP_2 - case 0x63:return 323; // DOM_VK_NUMPAD3 -> GLFW_KEY_KP_3 - case 0x64:return 324; // DOM_VK_NUMPAD4 -> GLFW_KEY_KP_4 - case 0x65:return 325; // DOM_VK_NUMPAD5 -> GLFW_KEY_KP_5 - case 0x66:return 326; // DOM_VK_NUMPAD6 -> GLFW_KEY_KP_6 - case 0x67:return 327; // DOM_VK_NUMPAD7 -> GLFW_KEY_KP_7 - case 0x68:return 328; // DOM_VK_NUMPAD8 -> GLFW_KEY_KP_8 - case 0x69:return 329; // DOM_VK_NUMPAD9 -> GLFW_KEY_KP_9 - case 0x6E:return 330; // DOM_VK_DECIMAL -> GLFW_KEY_KP_DECIMAL - case 0x6F:return 331; // DOM_VK_DIVIDE -> GLFW_KEY_KP_DIVIDE - case 0x6A:return 332; // DOM_VK_MULTIPLY -> GLFW_KEY_KP_MULTIPLY - case 0x6D:return 333; // DOM_VK_SUBTRACT -> GLFW_KEY_KP_SUBTRACT - case 0x6B:return 334; // DOM_VK_ADD -> GLFW_KEY_KP_ADD - // case 0x0D:return 335; // DOM_VK_RETURN -> GLFW_KEY_KP_ENTER (DOM_KEY_LOCATION_RIGHT) - // case 0x61:return 336; // DOM_VK_EQUALS -> GLFW_KEY_KP_EQUAL (DOM_KEY_LOCATION_RIGHT) - case 0x10:return 340; // DOM_VK_SHIFT -> GLFW_KEY_LEFT_SHIFT - case 0x11:return 341; // DOM_VK_CONTROL -> GLFW_KEY_LEFT_CONTROL - case 0x12:return 342; // DOM_VK_ALT -> GLFW_KEY_LEFT_ALT - case 0x5B:return 343; // DOM_VK_WIN -> GLFW_KEY_LEFT_SUPER - // case 0x10:return 344; // DOM_VK_SHIFT -> GLFW_KEY_RIGHT_SHIFT (DOM_KEY_LOCATION_RIGHT) - // case 0x11:return 345; // DOM_VK_CONTROL -> GLFW_KEY_RIGHT_CONTROL (DOM_KEY_LOCATION_RIGHT) - // case 0x12:return 346; // DOM_VK_ALT -> GLFW_KEY_RIGHT_ALT (DOM_KEY_LOCATION_RIGHT) - // case 0x5B:return 347; // DOM_VK_WIN -> GLFW_KEY_RIGHT_SUPER (DOM_KEY_LOCATION_RIGHT) - case 0x5D:return 348; // DOM_VK_CONTEXT_MENU -> GLFW_KEY_MENU - - // XXX: GLFW_KEY_WORLD_1, GLFW_KEY_WORLD_2 what are these? - default:return -1; // GLFW_KEY_UNKNOWN - }; - },getModBits:function (win) { - var mod = 0; - if (win.keys[340]) mod |= 0x0001; // GLFW_MOD_SHIFT - if (win.keys[341]) mod |= 0x0002; // GLFW_MOD_CONTROL - if (win.keys[342]) mod |= 0x0004; // GLFW_MOD_ALT - if (win.keys[343]) mod |= 0x0008; // GLFW_MOD_SUPER - return mod; - },onKeyPress:function (event) { - if (!GLFW.active || !GLFW.active.charFunc) return; - - // correct unicode charCode is only available with onKeyPress event - var charCode = event.charCode; - if (charCode == 0 || (charCode >= 0x00 && charCode <= 0x1F)) return; - - - Runtime.dynCall('vii', GLFW.active.charFunc, [GLFW.active.id, charCode]); - },onKeyChanged:function (event, status) { - if (!GLFW.active) return; - - var key = GLFW.DOMToGLFWKeyCode(event.keyCode); - if (key == -1) return; - - GLFW.active.keys[key] = status; - if (!GLFW.active.keyFunc) return; - - - Runtime.dynCall('viiiii', GLFW.active.keyFunc, [GLFW.active.id, key, event.keyCode, status, GLFW.getModBits(GLFW.active)]); - },onKeydown:function (event) { - GLFW.onKeyChanged(event, 1); // GLFW_PRESS - - // This logic comes directly from the sdl implementation. We cannot - // call preventDefault on all keydown events otherwise onKeyPress will - // not get called - if (event.keyCode === 8 /* backspace */ || event.keyCode === 9 /* tab */) { - event.preventDefault(); - } - },onKeyup:function (event) { - GLFW.onKeyChanged(event, 0); // GLFW_RELEASE - },onMousemove:function (event) { - if (!GLFW.active) return; - - Browser.calculateMouseEvent(event); - - if (event.target != Module["canvas"] || !GLFW.active.cursorPosFunc) return; - - - Runtime.dynCall('vidd', GLFW.active.cursorPosFunc, [GLFW.active.id, Browser.mouseX, Browser.mouseY]); - },onMouseButtonChanged:function (event, status) { - if (!GLFW.active || !GLFW.active.mouseButtonFunc) return; - - Browser.calculateMouseEvent(event); - - if (event.target != Module["canvas"]) return; - - if (status == 1) { // GLFW_PRESS - try { - event.target.setCapture(); - } catch (e) {} - } - - // DOM and glfw have different button codes - var eventButton = event['button']; - if (eventButton > 0) { - if (eventButton == 1) { - eventButton = 2; - } else { - eventButton = 1; - } - } - - - Runtime.dynCall('viiii', GLFW.active.mouseButtonFunc, [GLFW.active.id, eventButton, status, GLFW.getModBits(GLFW.active)]); - },onMouseButtonDown:function (event) { - if (!GLFW.active) return; - GLFW.active.buttons |= (1 << event['button']); - GLFW.onMouseButtonChanged(event, 1); // GLFW_PRESS - },onMouseButtonUp:function (event) { - if (!GLFW.active) return; - GLFW.active.buttons &= ~(1 << event['button']); - GLFW.onMouseButtonChanged(event, 0); // GLFW_RELEASE - },onMouseWheel:function (event) { - // Note the minus sign that flips browser wheel direction (positive direction scrolls page down) to native wheel direction (positive direction is mouse wheel up) - var delta = -Browser.getMouseWheelDelta(event); - delta = (delta == 0) ? 0 : (delta > 0 ? Math.max(delta, 1) : Math.min(delta, -1)); // Quantize to integer so that minimum scroll is at least +/- 1. - GLFW.wheelPos += delta; - - if (!GLFW.active || !GLFW.active.scrollFunc || event.target != Module['canvas']) return; - - - var sx = 0; - var sy = 0; - if (event.type == 'mousewheel') { - sx = event.wheelDeltaX; - sy = event.wheelDeltaY; - } else { - sx = event.deltaX; - sy = event.deltaY; - } - - Runtime.dynCall('vidd', GLFW.active.scrollFunc, [GLFW.active.id, sx, sy]); - - event.preventDefault(); - },onFullScreenEventChange:function () { - if (!GLFW.active) return; - - if (document["fullScreen"] || document["mozFullScreen"] || document["webkitIsFullScreen"]) { - GLFW.active.storedX = GLFW.active.x; - GLFW.active.storedY = GLFW.active.y; - GLFW.active.storedWidth = GLFW.active.width; - GLFW.active.storedHeight = GLFW.active.height; - GLFW.active.x = GLFW.active.y = 0; - GLFW.active.width = screen.width; - GLFW.active.height = screen.height; - } else { - GLFW.active.x = GLFW.active.storedX; - GLFW.active.y = GLFW.active.storedY; - GLFW.active.width = GLFW.active.storedWidth; - GLFW.active.height = GLFW.active.storedHeight; - } - - Browser.setCanvasSize(GLFW.active.width, GLFW.active.height, true); // resets the canvas size to counter the aspect preservation of Browser.updateCanvasDimensions - - if (!GLFW.active.windowSizeFunc) return; - - - Runtime.dynCall('viii', GLFW.active.windowSizeFunc, [GLFW.active.id, GLFW.active.width, GLFW.active.height]); - },requestFullScreen:function () { - var RFS = Module["canvas"]['requestFullscreen'] || - Module["canvas"]['requestFullScreen'] || - Module["canvas"]['mozRequestFullScreen'] || - Module["canvas"]['webkitRequestFullScreen'] || - (function() {}); - RFS.apply(Module["canvas"], []); - },cancelFullScreen:function () { - var CFS = document['exitFullscreen'] || - document['cancelFullScreen'] || - document['mozCancelFullScreen'] || - document['webkitCancelFullScreen'] || - (function() {}); - CFS.apply(document, []); - },getTime:function () { - return _emscripten_get_now() / 1000; - },setWindowTitle:function (winid, title) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - - win.title = Pointer_stringify(title); - if (GLFW.active.id == win.id) { - document.title = win.title; - } - },setKeyCallback:function (winid, cbfun) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.keyFunc = cbfun; - },setCharCallback:function (winid, cbfun) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.charFunc = cbfun; - },setMouseButtonCallback:function (winid, cbfun) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.mouseButtonFunc = cbfun; - },setCursorPosCallback:function (winid, cbfun) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.cursorPosFunc = cbfun; - },setScrollCallback:function (winid, cbfun) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.scrollFunc = cbfun; - },setWindowSizeCallback:function (winid, cbfun) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.windowSizeFunc = cbfun; - },setWindowCloseCallback:function (winid, cbfun) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.windowCloseFunc = cbfun; - },setWindowRefreshCallback:function (winid, cbfun) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.windowRefreshFunc = cbfun; - },getKey:function (winid, key) { - var win = GLFW.WindowFromId(winid); - if (!win) return 0; - return win.keys[key]; - },getMouseButton:function (winid, button) { - var win = GLFW.WindowFromId(winid); - if (!win) return 0; - return (win.buttons & (1 << button)) > 0; - },getCursorPos:function (winid, x, y) { - setValue(x, Browser.mouseX, 'double'); - setValue(y, Browser.mouseY, 'double'); - },getMousePos:function (winid, x, y) { - setValue(x, Browser.mouseX, 'i32'); - setValue(y, Browser.mouseY, 'i32'); - },setCursorPos:function (winid, x, y) { - },getWindowPos:function (winid, x, y) { - var wx = 0; - var wy = 0; - - var win = GLFW.WindowFromId(winid); - if (win) { - wx = win.x; - wy = win.y; - } - - setValue(x, wx, 'i32'); - setValue(y, wy, 'i32'); - },setWindowPos:function (winid, x, y) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.x = x; - win.y = y; - },getWindowSize:function (winid, width, height) { - var ww = 0; - var wh = 0; - - var win = GLFW.WindowFromId(winid); - if (win) { - ww = win.width; - wh = win.height; - } - - setValue(width, ww, 'i32'); - setValue(height, wh, 'i32'); - },setWindowSize:function (winid, width, height) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - - if (GLFW.active.id == win.id) { - if (width == screen.width && height == screen.height) { - GLFW.requestFullScreen(); - } else { - GLFW.cancelFullScreen(); - Browser.setCanvasSize(width, height); - win.width = width; - win.height = height; - } - } - - if (!win.windowResizeFunc) return; - - - Runtime.dynCall('viii', win.windowResizeFunc, [win.id, width, height]); - },createWindow:function (width, height, title, monitor, share) { - var i, id; - for (i = 0; i < GLFW.windows.length && GLFW.windows[i] !== null; i++); - if (i > 0) throw "glfwCreateWindow only supports one window at time currently"; - - // id for window - id = i + 1; - - // not valid - if (width <= 0 || height <= 0) return 0; - - if (monitor) { - GLFW.requestFullScreen(); - } else { - Browser.setCanvasSize(width, height); - } - - // Create context when there are no existing alive windows - for (i = 0; i < GLFW.windows.length && GLFW.windows[i] == null; i++); - if (i == GLFW.windows.length) { - var contextAttributes = { - antialias: (GLFW.hints[0x0002100D] > 1), // GLFW_SAMPLES - depth: (GLFW.hints[0x00021005] > 0), // GLFW_DEPTH_BITS - stencil: (GLFW.hints[0x00021006] > 0) // GLFW_STENCIL_BITS - } - Module.ctx = Browser.createContext(Module['canvas'], true, true, contextAttributes); - } - - // If context creation failed, do not return a valid window - if (!Module.ctx) return 0; - - // Get non alive id - var win = new GLFW.Window(id, width, height, title, monitor, share); - - // Set window to array - if (id - 1 == GLFW.windows.length) { - GLFW.windows.push(win); - } else { - GLFW.windows[id - 1] = win; - } - - GLFW.active = win; - return win.id; - },destroyWindow:function (winid) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - - if (win.windowCloseFunc) - Runtime.dynCall('vi', win.windowCloseFunc, [win.id]); - - GLFW.windows[win.id - 1] = null; - if (GLFW.active.id == win.id) - GLFW.active = null; - - // Destroy context when no alive windows - for (var i = 0; i < GLFW.windows.length; i++) - if (GLFW.windows[i] !== null) return; - - Module.ctx = Browser.destroyContext(Module['canvas'], true, true); - },swapBuffers:function (winid) { - },GLFW2ParamToGLFW3Param:function (param) { - table = { - 0x00030001:0, // GLFW_MOUSE_CURSOR - 0x00030002:0, // GLFW_STICKY_KEYS - 0x00030003:0, // GLFW_STICKY_MOUSE_BUTTONS - 0x00030004:0, // GLFW_SYSTEM_KEYS - 0x00030005:0, // GLFW_KEY_REPEAT - 0x00030006:0, // GLFW_AUTO_POLL_EVENTS - 0x00020001:0, // GLFW_OPENED - 0x00020002:0, // GLFW_ACTIVE - 0x00020003:0, // GLFW_ICONIFIED - 0x00020004:0, // GLFW_ACCELERATED - 0x00020005:0x00021001, // GLFW_RED_BITS - 0x00020006:0x00021002, // GLFW_GREEN_BITS - 0x00020007:0x00021003, // GLFW_BLUE_BITS - 0x00020008:0x00021004, // GLFW_ALPHA_BITS - 0x00020009:0x00021005, // GLFW_DEPTH_BITS - 0x0002000A:0x00021006, // GLFW_STENCIL_BITS - 0x0002000B:0x0002100F, // GLFW_REFRESH_RATE - 0x0002000C:0x00021007, // GLFW_ACCUM_RED_BITS - 0x0002000D:0x00021008, // GLFW_ACCUM_GREEN_BITS - 0x0002000E:0x00021009, // GLFW_ACCUM_BLUE_BITS - 0x0002000F:0x0002100A, // GLFW_ACCUM_ALPHA_BITS - 0x00020010:0x0002100B, // GLFW_AUX_BUFFERS - 0x00020011:0x0002100C, // GLFW_STEREO - 0x00020012:0, // GLFW_WINDOW_NO_RESIZE - 0x00020013:0x0002100D, // GLFW_FSAA_SAMPLES - 0x00020014:0x00022002, // GLFW_OPENGL_VERSION_MAJOR - 0x00020015:0x00022003, // GLFW_OPENGL_VERSION_MINOR - 0x00020016:0x00022006, // GLFW_OPENGL_FORWARD_COMPAT - 0x00020017:0x00022007, // GLFW_OPENGL_DEBUG_CONTEXT - 0x00020018:0x00022008, // GLFW_OPENGL_PROFILE - }; - return table[param]; - }};function _glfwGetVideoModes(monitor, count) { - setValue(count, 0, 'i32'); - return 0; - } - - function _glLinkProgram(program) { - GLctx.linkProgram(GL.programs[program]); - GL.programInfos[program] = null; // uniforms no longer keep the same names after linking - GL.populateUniformTable(program); - } - - function _glBindTexture(target, texture) { - GLctx.bindTexture(target, texture ? GL.textures[texture] : null); - } - - function _emscripten_glStencilFunc(x0, x1, x2) { GLctx.stencilFunc(x0, x1, x2) } - - function _glGetString(name_) { - if (GL.stringCache[name_]) return GL.stringCache[name_]; - var ret; - switch(name_) { - case 0x1F00 /* GL_VENDOR */: - case 0x1F01 /* GL_RENDERER */: - case 0x1F02 /* GL_VERSION */: - ret = allocate(intArrayFromString(GLctx.getParameter(name_)), 'i8', ALLOC_NORMAL); - break; - case 0x1F03 /* GL_EXTENSIONS */: - var exts = GLctx.getSupportedExtensions(); - var gl_exts = []; - for (var i in exts) { - gl_exts.push(exts[i]); - gl_exts.push("GL_" + exts[i]); - } - ret = allocate(intArrayFromString(gl_exts.join(' ')), 'i8', ALLOC_NORMAL); - break; - case 0x8B8C /* GL_SHADING_LANGUAGE_VERSION */: - ret = allocate(intArrayFromString('OpenGL ES GLSL 1.00 (WebGL)'), 'i8', ALLOC_NORMAL); - break; - default: - GL.recordError(0x0500/*GL_INVALID_ENUM*/); - return 0; - } - GL.stringCache[name_] = ret; - return ret; - } - - function _emscripten_glUniform3iv(location, count, value) { - location = GL.uniforms[location]; - count *= 3; - value = HEAP32.subarray((value)>>2,(value+count*4)>>2); - GLctx.uniform3iv(location, value); - } - - function _emscripten_glShaderSource(shader, count, string, length) { - var source = GL.getSource(shader, count, string, length); - GLctx.shaderSource(GL.shaders[shader], source); - } - - function _emscripten_glReleaseShaderCompiler() { - // NOP (as allowed by GLES 2.0 spec) - } - - function _glfwSetScrollCallback(winid, cbfun) { - GLFW.setScrollCallback(winid, cbfun); - } - - function _emscripten_glTexParameterf(x0, x1, x2) { GLctx.texParameterf(x0, x1, x2) } - - function _emscripten_glTexParameteri(x0, x1, x2) { GLctx.texParameteri(x0, x1, x2) } - - function _glCompileShader(shader) { - GLctx.compileShader(GL.shaders[shader]); - } - - - - - var ERRNO_CODES={EPERM:1,ENOENT:2,ESRCH:3,EINTR:4,EIO:5,ENXIO:6,E2BIG:7,ENOEXEC:8,EBADF:9,ECHILD:10,EAGAIN:11,EWOULDBLOCK:11,ENOMEM:12,EACCES:13,EFAULT:14,ENOTBLK:15,EBUSY:16,EEXIST:17,EXDEV:18,ENODEV:19,ENOTDIR:20,EISDIR:21,EINVAL:22,ENFILE:23,EMFILE:24,ENOTTY:25,ETXTBSY:26,EFBIG:27,ENOSPC:28,ESPIPE:29,EROFS:30,EMLINK:31,EPIPE:32,EDOM:33,ERANGE:34,ENOMSG:42,EIDRM:43,ECHRNG:44,EL2NSYNC:45,EL3HLT:46,EL3RST:47,ELNRNG:48,EUNATCH:49,ENOCSI:50,EL2HLT:51,EDEADLK:35,ENOLCK:37,EBADE:52,EBADR:53,EXFULL:54,ENOANO:55,EBADRQC:56,EBADSLT:57,EDEADLOCK:35,EBFONT:59,ENOSTR:60,ENODATA:61,ETIME:62,ENOSR:63,ENONET:64,ENOPKG:65,EREMOTE:66,ENOLINK:67,EADV:68,ESRMNT:69,ECOMM:70,EPROTO:71,EMULTIHOP:72,EDOTDOT:73,EBADMSG:74,ENOTUNIQ:76,EBADFD:77,EREMCHG:78,ELIBACC:79,ELIBBAD:80,ELIBSCN:81,ELIBMAX:82,ELIBEXEC:83,ENOSYS:38,ENOTEMPTY:39,ENAMETOOLONG:36,ELOOP:40,EOPNOTSUPP:95,EPFNOSUPPORT:96,ECONNRESET:104,ENOBUFS:105,EAFNOSUPPORT:97,EPROTOTYPE:91,ENOTSOCK:88,ENOPROTOOPT:92,ESHUTDOWN:108,ECONNREFUSED:111,EADDRINUSE:98,ECONNABORTED:103,ENETUNREACH:101,ENETDOWN:100,ETIMEDOUT:110,EHOSTDOWN:112,EHOSTUNREACH:113,EINPROGRESS:115,EALREADY:114,EDESTADDRREQ:89,EMSGSIZE:90,EPROTONOSUPPORT:93,ESOCKTNOSUPPORT:94,EADDRNOTAVAIL:99,ENETRESET:102,EISCONN:106,ENOTCONN:107,ETOOMANYREFS:109,EUSERS:87,EDQUOT:122,ESTALE:116,ENOTSUP:95,ENOMEDIUM:123,EILSEQ:84,EOVERFLOW:75,ECANCELED:125,ENOTRECOVERABLE:131,EOWNERDEAD:130,ESTRPIPE:86}; - - var ERRNO_MESSAGES={0:"Success",1:"Not super-user",2:"No such file or directory",3:"No such process",4:"Interrupted system call",5:"I/O error",6:"No such device or address",7:"Arg list too long",8:"Exec format error",9:"Bad file number",10:"No children",11:"No more processes",12:"Not enough core",13:"Permission denied",14:"Bad address",15:"Block device required",16:"Mount device busy",17:"File exists",18:"Cross-device link",19:"No such device",20:"Not a directory",21:"Is a directory",22:"Invalid argument",23:"Too many open files in system",24:"Too many open files",25:"Not a typewriter",26:"Text file busy",27:"File too large",28:"No space left on device",29:"Illegal seek",30:"Read only file system",31:"Too many links",32:"Broken pipe",33:"Math arg out of domain of func",34:"Math result not representable",35:"File locking deadlock error",36:"File or path name too long",37:"No record locks available",38:"Function not implemented",39:"Directory not empty",40:"Too many symbolic links",42:"No message of desired type",43:"Identifier removed",44:"Channel number out of range",45:"Level 2 not synchronized",46:"Level 3 halted",47:"Level 3 reset",48:"Link number out of range",49:"Protocol driver not attached",50:"No CSI structure available",51:"Level 2 halted",52:"Invalid exchange",53:"Invalid request descriptor",54:"Exchange full",55:"No anode",56:"Invalid request code",57:"Invalid slot",59:"Bad font file fmt",60:"Device not a stream",61:"No data (for no delay io)",62:"Timer expired",63:"Out of streams resources",64:"Machine is not on the network",65:"Package not installed",66:"The object is remote",67:"The link has been severed",68:"Advertise error",69:"Srmount error",70:"Communication error on send",71:"Protocol error",72:"Multihop attempted",73:"Cross mount point (not really error)",74:"Trying to read unreadable message",75:"Value too large for defined data type",76:"Given log. name not unique",77:"f.d. invalid for this operation",78:"Remote address changed",79:"Can access a needed shared lib",80:"Accessing a corrupted shared lib",81:".lib section in a.out corrupted",82:"Attempting to link in too many libs",83:"Attempting to exec a shared library",84:"Illegal byte sequence",86:"Streams pipe error",87:"Too many users",88:"Socket operation on non-socket",89:"Destination address required",90:"Message too long",91:"Protocol wrong type for socket",92:"Protocol not available",93:"Unknown protocol",94:"Socket type not supported",95:"Not supported",96:"Protocol family not supported",97:"Address family not supported by protocol family",98:"Address already in use",99:"Address not available",100:"Network interface is not configured",101:"Network is unreachable",102:"Connection reset by network",103:"Connection aborted",104:"Connection reset by peer",105:"No buffer space available",106:"Socket is already connected",107:"Socket is not connected",108:"Can't send after socket shutdown",109:"Too many references",110:"Connection timed out",111:"Connection refused",112:"Host is down",113:"Host is unreachable",114:"Socket already connected",115:"Connection already in progress",116:"Stale file handle",122:"Quota exceeded",123:"No medium (in tape drive)",125:"Operation canceled",130:"Previous owner died",131:"State not recoverable"}; - - function ___setErrNo(value) { - if (Module['___errno_location']) HEAP32[((Module['___errno_location']())>>2)]=value; - return value; - } - - var PATH={splitPath:function (filename) { - var splitPathRe = /^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/; - return splitPathRe.exec(filename).slice(1); - },normalizeArray:function (parts, allowAboveRoot) { - // if the path tries to go above the root, `up` ends up > 0 - var up = 0; - for (var i = parts.length - 1; i >= 0; i--) { - var last = parts[i]; - if (last === '.') { - parts.splice(i, 1); - } else if (last === '..') { - parts.splice(i, 1); - up++; - } else if (up) { - parts.splice(i, 1); - up--; - } - } - // if the path is allowed to go above the root, restore leading ..s - if (allowAboveRoot) { - for (; up--; up) { - parts.unshift('..'); - } - } - return parts; - },normalize:function (path) { - var isAbsolute = path.charAt(0) === '/', - trailingSlash = path.substr(-1) === '/'; - // Normalize the path - path = PATH.normalizeArray(path.split('/').filter(function(p) { - return !!p; - }), !isAbsolute).join('/'); - if (!path && !isAbsolute) { - path = '.'; - } - if (path && trailingSlash) { - path += '/'; - } - return (isAbsolute ? '/' : '') + path; - },dirname:function (path) { - var result = PATH.splitPath(path), - root = result[0], - dir = result[1]; - if (!root && !dir) { - // No dirname whatsoever - return '.'; - } - if (dir) { - // It has a dirname, strip trailing slash - dir = dir.substr(0, dir.length - 1); - } - return root + dir; - },basename:function (path) { - // EMSCRIPTEN return '/'' for '/', not an empty string - if (path === '/') return '/'; - var lastSlash = path.lastIndexOf('/'); - if (lastSlash === -1) return path; - return path.substr(lastSlash+1); - },extname:function (path) { - return PATH.splitPath(path)[3]; - },join:function () { - var paths = Array.prototype.slice.call(arguments, 0); - return PATH.normalize(paths.join('/')); - },join2:function (l, r) { - return PATH.normalize(l + '/' + r); - },resolve:function () { - var resolvedPath = '', - resolvedAbsolute = false; - for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) { - var path = (i >= 0) ? arguments[i] : FS.cwd(); - // Skip empty and invalid entries - if (typeof path !== 'string') { - throw new TypeError('Arguments to path.resolve must be strings'); - } else if (!path) { - return ''; // an invalid portion invalidates the whole thing - } - resolvedPath = path + '/' + resolvedPath; - resolvedAbsolute = path.charAt(0) === '/'; - } - // At this point the path should be resolved to a full absolute path, but - // handle relative paths to be safe (might happen when process.cwd() fails) - resolvedPath = PATH.normalizeArray(resolvedPath.split('/').filter(function(p) { - return !!p; - }), !resolvedAbsolute).join('/'); - return ((resolvedAbsolute ? '/' : '') + resolvedPath) || '.'; - },relative:function (from, to) { - from = PATH.resolve(from).substr(1); - to = PATH.resolve(to).substr(1); - function trim(arr) { - var start = 0; - for (; start < arr.length; start++) { - if (arr[start] !== '') break; - } - var end = arr.length - 1; - for (; end >= 0; end--) { - if (arr[end] !== '') break; - } - if (start > end) return []; - return arr.slice(start, end - start + 1); - } - var fromParts = trim(from.split('/')); - var toParts = trim(to.split('/')); - var length = Math.min(fromParts.length, toParts.length); - var samePartsLength = length; - for (var i = 0; i < length; i++) { - if (fromParts[i] !== toParts[i]) { - samePartsLength = i; - break; - } - } - var outputParts = []; - for (var i = samePartsLength; i < fromParts.length; i++) { - outputParts.push('..'); - } - outputParts = outputParts.concat(toParts.slice(samePartsLength)); - return outputParts.join('/'); - }}; - - var TTY={ttys:[],init:function () { - // https://github.com/kripken/emscripten/pull/1555 - // if (ENVIRONMENT_IS_NODE) { - // // currently, FS.init does not distinguish if process.stdin is a file or TTY - // // device, it always assumes it's a TTY device. because of this, we're forcing - // // process.stdin to UTF8 encoding to at least make stdin reading compatible - // // with text files until FS.init can be refactored. - // process['stdin']['setEncoding']('utf8'); - // } - },shutdown:function () { - // https://github.com/kripken/emscripten/pull/1555 - // if (ENVIRONMENT_IS_NODE) { - // // inolen: any idea as to why node -e 'process.stdin.read()' wouldn't exit immediately (with process.stdin being a tty)? - // // isaacs: because now it's reading from the stream, you've expressed interest in it, so that read() kicks off a _read() which creates a ReadReq operation - // // inolen: I thought read() in that case was a synchronous operation that just grabbed some amount of buffered data if it exists? - // // isaacs: it is. but it also triggers a _read() call, which calls readStart() on the handle - // // isaacs: do process.stdin.pause() and i'd think it'd probably close the pending call - // process['stdin']['pause'](); - // } - },register:function (dev, ops) { - TTY.ttys[dev] = { input: [], output: [], ops: ops }; - FS.registerDevice(dev, TTY.stream_ops); - },stream_ops:{open:function (stream) { - var tty = TTY.ttys[stream.node.rdev]; - if (!tty) { - throw new FS.ErrnoError(ERRNO_CODES.ENODEV); - } - stream.tty = tty; - stream.seekable = false; - },close:function (stream) { - // flush any pending line data - stream.tty.ops.flush(stream.tty); - },flush:function (stream) { - stream.tty.ops.flush(stream.tty); - },read:function (stream, buffer, offset, length, pos /* ignored */) { - if (!stream.tty || !stream.tty.ops.get_char) { - throw new FS.ErrnoError(ERRNO_CODES.ENXIO); - } - var bytesRead = 0; - for (var i = 0; i < length; i++) { - var result; - try { - result = stream.tty.ops.get_char(stream.tty); - } catch (e) { - throw new FS.ErrnoError(ERRNO_CODES.EIO); - } - if (result === undefined && bytesRead === 0) { - throw new FS.ErrnoError(ERRNO_CODES.EAGAIN); - } - if (result === null || result === undefined) break; - bytesRead++; - buffer[offset+i] = result; - } - if (bytesRead) { - stream.node.timestamp = Date.now(); - } - return bytesRead; - },write:function (stream, buffer, offset, length, pos) { - if (!stream.tty || !stream.tty.ops.put_char) { - throw new FS.ErrnoError(ERRNO_CODES.ENXIO); - } - for (var i = 0; i < length; i++) { - try { - stream.tty.ops.put_char(stream.tty, buffer[offset+i]); - } catch (e) { - throw new FS.ErrnoError(ERRNO_CODES.EIO); - } - } - if (length) { - stream.node.timestamp = Date.now(); - } - return i; - }},default_tty_ops:{get_char:function (tty) { - if (!tty.input.length) { - var result = null; - if (ENVIRONMENT_IS_NODE) { - // we will read data by chunks of BUFSIZE - var BUFSIZE = 256; - var buf = new Buffer(BUFSIZE); - var bytesRead = 0; - - var fd = process.stdin.fd; - // Linux and Mac cannot use process.stdin.fd (which isn't set up as sync) - var usingDevice = false; - try { - fd = fs.openSync('/dev/stdin', 'r'); - usingDevice = true; - } catch (e) {} - - bytesRead = fs.readSync(fd, buf, 0, BUFSIZE, null); - - if (usingDevice) { fs.closeSync(fd); } - if (bytesRead > 0) { - result = buf.slice(0, bytesRead).toString('utf-8'); - } else { - result = null; - } - - } else if (typeof window != 'undefined' && - typeof window.prompt == 'function') { - // Browser. - result = window.prompt('Input: '); // returns null on cancel - if (result !== null) { - result += '\n'; - } - } else if (typeof readline == 'function') { - // Command line. - result = readline(); - if (result !== null) { - result += '\n'; - } - } - if (!result) { - return null; - } - tty.input = intArrayFromString(result, true); - } - return tty.input.shift(); - },put_char:function (tty, val) { - if (val === null || val === 10) { - Module['print'](UTF8ArrayToString(tty.output, 0)); - tty.output = []; - } else { - if (val != 0) tty.output.push(val); // val == 0 would cut text output off in the middle. - } - },flush:function (tty) { - if (tty.output && tty.output.length > 0) { - Module['print'](UTF8ArrayToString(tty.output, 0)); - tty.output = []; - } - }},default_tty1_ops:{put_char:function (tty, val) { - if (val === null || val === 10) { - Module['printErr'](UTF8ArrayToString(tty.output, 0)); - tty.output = []; - } else { - if (val != 0) tty.output.push(val); - } - },flush:function (tty) { - if (tty.output && tty.output.length > 0) { - Module['printErr'](UTF8ArrayToString(tty.output, 0)); - tty.output = []; - } - }}}; - - var MEMFS={ops_table:null,mount:function (mount) { - return MEMFS.createNode(null, '/', 16384 | 511 /* 0777 */, 0); - },createNode:function (parent, name, mode, dev) { - if (FS.isBlkdev(mode) || FS.isFIFO(mode)) { - // no supported - throw new FS.ErrnoError(ERRNO_CODES.EPERM); - } - if (!MEMFS.ops_table) { - MEMFS.ops_table = { - dir: { - node: { - getattr: MEMFS.node_ops.getattr, - setattr: MEMFS.node_ops.setattr, - lookup: MEMFS.node_ops.lookup, - mknod: MEMFS.node_ops.mknod, - rename: MEMFS.node_ops.rename, - unlink: MEMFS.node_ops.unlink, - rmdir: MEMFS.node_ops.rmdir, - readdir: MEMFS.node_ops.readdir, - symlink: MEMFS.node_ops.symlink - }, - stream: { - llseek: MEMFS.stream_ops.llseek - } - }, - file: { - node: { - getattr: MEMFS.node_ops.getattr, - setattr: MEMFS.node_ops.setattr - }, - stream: { - llseek: MEMFS.stream_ops.llseek, - read: MEMFS.stream_ops.read, - write: MEMFS.stream_ops.write, - allocate: MEMFS.stream_ops.allocate, - mmap: MEMFS.stream_ops.mmap, - msync: MEMFS.stream_ops.msync - } - }, - link: { - node: { - getattr: MEMFS.node_ops.getattr, - setattr: MEMFS.node_ops.setattr, - readlink: MEMFS.node_ops.readlink - }, - stream: {} - }, - chrdev: { - node: { - getattr: MEMFS.node_ops.getattr, - setattr: MEMFS.node_ops.setattr - }, - stream: FS.chrdev_stream_ops - } - }; - } - var node = FS.createNode(parent, name, mode, dev); - if (FS.isDir(node.mode)) { - node.node_ops = MEMFS.ops_table.dir.node; - node.stream_ops = MEMFS.ops_table.dir.stream; - node.contents = {}; - } else if (FS.isFile(node.mode)) { - node.node_ops = MEMFS.ops_table.file.node; - node.stream_ops = MEMFS.ops_table.file.stream; - node.usedBytes = 0; // The actual number of bytes used in the typed array, as opposed to contents.buffer.byteLength which gives the whole capacity. - // When the byte data of the file is populated, this will point to either a typed array, or a normal JS array. Typed arrays are preferred - // for performance, and used by default. However, typed arrays are not resizable like normal JS arrays are, so there is a small disk size - // penalty involved for appending file writes that continuously grow a file similar to std::vector capacity vs used -scheme. - node.contents = null; - } else if (FS.isLink(node.mode)) { - node.node_ops = MEMFS.ops_table.link.node; - node.stream_ops = MEMFS.ops_table.link.stream; - } else if (FS.isChrdev(node.mode)) { - node.node_ops = MEMFS.ops_table.chrdev.node; - node.stream_ops = MEMFS.ops_table.chrdev.stream; - } - node.timestamp = Date.now(); - // add the new node to the parent - if (parent) { - parent.contents[name] = node; - } - return node; - },getFileDataAsRegularArray:function (node) { - if (node.contents && node.contents.subarray) { - var arr = []; - for (var i = 0; i < node.usedBytes; ++i) arr.push(node.contents[i]); - return arr; // Returns a copy of the original data. - } - return node.contents; // No-op, the file contents are already in a JS array. Return as-is. - },getFileDataAsTypedArray:function (node) { - if (!node.contents) return new Uint8Array; - if (node.contents.subarray) return node.contents.subarray(0, node.usedBytes); // Make sure to not return excess unused bytes. - return new Uint8Array(node.contents); - },expandFileStorage:function (node, newCapacity) { - // If we are asked to expand the size of a file that already exists, revert to using a standard JS array to store the file - // instead of a typed array. This makes resizing the array more flexible because we can just .push() elements at the back to - // increase the size. - if (node.contents && node.contents.subarray && newCapacity > node.contents.length) { - node.contents = MEMFS.getFileDataAsRegularArray(node); - node.usedBytes = node.contents.length; // We might be writing to a lazy-loaded file which had overridden this property, so force-reset it. - } - - if (!node.contents || node.contents.subarray) { // Keep using a typed array if creating a new storage, or if old one was a typed array as well. - var prevCapacity = node.contents ? node.contents.buffer.byteLength : 0; - if (prevCapacity >= newCapacity) return; // No need to expand, the storage was already large enough. - // Don't expand strictly to the given requested limit if it's only a very small increase, but instead geometrically grow capacity. - // For small filesizes (<1MB), perform size*2 geometric increase, but for large sizes, do a much more conservative size*1.125 increase to - // avoid overshooting the allocation cap by a very large margin. - var CAPACITY_DOUBLING_MAX = 1024 * 1024; - newCapacity = Math.max(newCapacity, (prevCapacity * (prevCapacity < CAPACITY_DOUBLING_MAX ? 2.0 : 1.125)) | 0); - if (prevCapacity != 0) newCapacity = Math.max(newCapacity, 256); // At minimum allocate 256b for each file when expanding. - var oldContents = node.contents; - node.contents = new Uint8Array(newCapacity); // Allocate new storage. - if (node.usedBytes > 0) node.contents.set(oldContents.subarray(0, node.usedBytes), 0); // Copy old data over to the new storage. - return; - } - // Not using a typed array to back the file storage. Use a standard JS array instead. - if (!node.contents && newCapacity > 0) node.contents = []; - while (node.contents.length < newCapacity) node.contents.push(0); - },resizeFileStorage:function (node, newSize) { - if (node.usedBytes == newSize) return; - if (newSize == 0) { - node.contents = null; // Fully decommit when requesting a resize to zero. - node.usedBytes = 0; - return; - } - if (!node.contents || node.contents.subarray) { // Resize a typed array if that is being used as the backing store. - var oldContents = node.contents; - node.contents = new Uint8Array(new ArrayBuffer(newSize)); // Allocate new storage. - if (oldContents) { - node.contents.set(oldContents.subarray(0, Math.min(newSize, node.usedBytes))); // Copy old data over to the new storage. - } - node.usedBytes = newSize; - return; - } - // Backing with a JS array. - if (!node.contents) node.contents = []; - if (node.contents.length > newSize) node.contents.length = newSize; - else while (node.contents.length < newSize) node.contents.push(0); - node.usedBytes = newSize; - },node_ops:{getattr:function (node) { - var attr = {}; - // device numbers reuse inode numbers. - attr.dev = FS.isChrdev(node.mode) ? node.id : 1; - attr.ino = node.id; - attr.mode = node.mode; - attr.nlink = 1; - attr.uid = 0; - attr.gid = 0; - attr.rdev = node.rdev; - if (FS.isDir(node.mode)) { - attr.size = 4096; - } else if (FS.isFile(node.mode)) { - attr.size = node.usedBytes; - } else if (FS.isLink(node.mode)) { - attr.size = node.link.length; - } else { - attr.size = 0; - } - attr.atime = new Date(node.timestamp); - attr.mtime = new Date(node.timestamp); - attr.ctime = new Date(node.timestamp); - // NOTE: In our implementation, st_blocks = Math.ceil(st_size/st_blksize), - // but this is not required by the standard. - attr.blksize = 4096; - attr.blocks = Math.ceil(attr.size / attr.blksize); - return attr; - },setattr:function (node, attr) { - if (attr.mode !== undefined) { - node.mode = attr.mode; - } - if (attr.timestamp !== undefined) { - node.timestamp = attr.timestamp; - } - if (attr.size !== undefined) { - MEMFS.resizeFileStorage(node, attr.size); - } - },lookup:function (parent, name) { - throw FS.genericErrors[ERRNO_CODES.ENOENT]; - },mknod:function (parent, name, mode, dev) { - return MEMFS.createNode(parent, name, mode, dev); - },rename:function (old_node, new_dir, new_name) { - // if we're overwriting a directory at new_name, make sure it's empty. - if (FS.isDir(old_node.mode)) { - var new_node; - try { - new_node = FS.lookupNode(new_dir, new_name); - } catch (e) { - } - if (new_node) { - for (var i in new_node.contents) { - throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY); - } - } - } - // do the internal rewiring - delete old_node.parent.contents[old_node.name]; - old_node.name = new_name; - new_dir.contents[new_name] = old_node; - old_node.parent = new_dir; - },unlink:function (parent, name) { - delete parent.contents[name]; - },rmdir:function (parent, name) { - var node = FS.lookupNode(parent, name); - for (var i in node.contents) { - throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY); - } - delete parent.contents[name]; - },readdir:function (node) { - var entries = ['.', '..'] - for (var key in node.contents) { - if (!node.contents.hasOwnProperty(key)) { - continue; - } - entries.push(key); - } - return entries; - },symlink:function (parent, newname, oldpath) { - var node = MEMFS.createNode(parent, newname, 511 /* 0777 */ | 40960, 0); - node.link = oldpath; - return node; - },readlink:function (node) { - if (!FS.isLink(node.mode)) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - return node.link; - }},stream_ops:{read:function (stream, buffer, offset, length, position) { - var contents = stream.node.contents; - if (position >= stream.node.usedBytes) return 0; - var size = Math.min(stream.node.usedBytes - position, length); - assert(size >= 0); - if (size > 8 && contents.subarray) { // non-trivial, and typed array - buffer.set(contents.subarray(position, position + size), offset); - } else { - for (var i = 0; i < size; i++) buffer[offset + i] = contents[position + i]; - } - return size; - },write:function (stream, buffer, offset, length, position, canOwn) { - if (!length) return 0; - var node = stream.node; - node.timestamp = Date.now(); - - if (buffer.subarray && (!node.contents || node.contents.subarray)) { // This write is from a typed array to a typed array? - if (canOwn) { // Can we just reuse the buffer we are given? - node.contents = buffer.subarray(offset, offset + length); - node.usedBytes = length; - return length; - } else if (node.usedBytes === 0 && position === 0) { // If this is a simple first write to an empty file, do a fast set since we don't need to care about old data. - node.contents = new Uint8Array(buffer.subarray(offset, offset + length)); - node.usedBytes = length; - return length; - } else if (position + length <= node.usedBytes) { // Writing to an already allocated and used subrange of the file? - node.contents.set(buffer.subarray(offset, offset + length), position); - return length; - } - } - - // Appending to an existing file and we need to reallocate, or source data did not come as a typed array. - MEMFS.expandFileStorage(node, position+length); - if (node.contents.subarray && buffer.subarray) node.contents.set(buffer.subarray(offset, offset + length), position); // Use typed array write if available. - else { - for (var i = 0; i < length; i++) { - node.contents[position + i] = buffer[offset + i]; // Or fall back to manual write if not. - } - } - node.usedBytes = Math.max(node.usedBytes, position+length); - return length; - },llseek:function (stream, offset, whence) { - var position = offset; - if (whence === 1) { // SEEK_CUR. - position += stream.position; - } else if (whence === 2) { // SEEK_END. - if (FS.isFile(stream.node.mode)) { - position += stream.node.usedBytes; - } - } - if (position < 0) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - return position; - },allocate:function (stream, offset, length) { - MEMFS.expandFileStorage(stream.node, offset + length); - stream.node.usedBytes = Math.max(stream.node.usedBytes, offset + length); - },mmap:function (stream, buffer, offset, length, position, prot, flags) { - if (!FS.isFile(stream.node.mode)) { - throw new FS.ErrnoError(ERRNO_CODES.ENODEV); - } - var ptr; - var allocated; - var contents = stream.node.contents; - // Only make a new copy when MAP_PRIVATE is specified. - if ( !(flags & 2) && - (contents.buffer === buffer || contents.buffer === buffer.buffer) ) { - // We can't emulate MAP_SHARED when the file is not backed by the buffer - // we're mapping to (e.g. the HEAP buffer). - allocated = false; - ptr = contents.byteOffset; - } else { - // Try to avoid unnecessary slices. - if (position > 0 || position + length < stream.node.usedBytes) { - if (contents.subarray) { - contents = contents.subarray(position, position + length); - } else { - contents = Array.prototype.slice.call(contents, position, position + length); - } - } - allocated = true; - ptr = _malloc(length); - if (!ptr) { - throw new FS.ErrnoError(ERRNO_CODES.ENOMEM); - } - buffer.set(contents, ptr); - } - return { ptr: ptr, allocated: allocated }; - },msync:function (stream, buffer, offset, length, mmapFlags) { - if (!FS.isFile(stream.node.mode)) { - throw new FS.ErrnoError(ERRNO_CODES.ENODEV); - } - if (mmapFlags & 2) { - // MAP_PRIVATE calls need not to be synced back to underlying fs - return 0; - } - - var bytesWritten = MEMFS.stream_ops.write(stream, buffer, 0, length, offset, false); - // should we check if bytesWritten and length are the same? - return 0; - }}}; - - var IDBFS={dbs:{},indexedDB:function () { - if (typeof indexedDB !== 'undefined') return indexedDB; - var ret = null; - if (typeof window === 'object') ret = window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB; - assert(ret, 'IDBFS used, but indexedDB not supported'); - return ret; - },DB_VERSION:21,DB_STORE_NAME:"FILE_DATA",mount:function (mount) { - // reuse all of the core MEMFS functionality - return MEMFS.mount.apply(null, arguments); - },syncfs:function (mount, populate, callback) { - IDBFS.getLocalSet(mount, function(err, local) { - if (err) return callback(err); - - IDBFS.getRemoteSet(mount, function(err, remote) { - if (err) return callback(err); - - var src = populate ? remote : local; - var dst = populate ? local : remote; - - IDBFS.reconcile(src, dst, callback); - }); - }); - },getDB:function (name, callback) { - // check the cache first - var db = IDBFS.dbs[name]; - if (db) { - return callback(null, db); - } - - var req; - try { - req = IDBFS.indexedDB().open(name, IDBFS.DB_VERSION); - } catch (e) { - return callback(e); - } - req.onupgradeneeded = function(e) { - var db = e.target.result; - var transaction = e.target.transaction; - - var fileStore; - - if (db.objectStoreNames.contains(IDBFS.DB_STORE_NAME)) { - fileStore = transaction.objectStore(IDBFS.DB_STORE_NAME); - } else { - fileStore = db.createObjectStore(IDBFS.DB_STORE_NAME); - } - - if (!fileStore.indexNames.contains('timestamp')) { - fileStore.createIndex('timestamp', 'timestamp', { unique: false }); - } - }; - req.onsuccess = function() { - db = req.result; - - // add to the cache - IDBFS.dbs[name] = db; - callback(null, db); - }; - req.onerror = function(e) { - callback(this.error); - e.preventDefault(); - }; - },getLocalSet:function (mount, callback) { - var entries = {}; - - function isRealDir(p) { - return p !== '.' && p !== '..'; - }; - function toAbsolute(root) { - return function(p) { - return PATH.join2(root, p); - } - }; - - var check = FS.readdir(mount.mountpoint).filter(isRealDir).map(toAbsolute(mount.mountpoint)); - - while (check.length) { - var path = check.pop(); - var stat; - - try { - stat = FS.stat(path); - } catch (e) { - return callback(e); - } - - if (FS.isDir(stat.mode)) { - check.push.apply(check, FS.readdir(path).filter(isRealDir).map(toAbsolute(path))); - } - - entries[path] = { timestamp: stat.mtime }; - } - - return callback(null, { type: 'local', entries: entries }); - },getRemoteSet:function (mount, callback) { - var entries = {}; - - IDBFS.getDB(mount.mountpoint, function(err, db) { - if (err) return callback(err); - - var transaction = db.transaction([IDBFS.DB_STORE_NAME], 'readonly'); - transaction.onerror = function(e) { - callback(this.error); - e.preventDefault(); - }; - - var store = transaction.objectStore(IDBFS.DB_STORE_NAME); - var index = store.index('timestamp'); - - index.openKeyCursor().onsuccess = function(event) { - var cursor = event.target.result; - - if (!cursor) { - return callback(null, { type: 'remote', db: db, entries: entries }); - } - - entries[cursor.primaryKey] = { timestamp: cursor.key }; - - cursor.continue(); - }; - }); - },loadLocalEntry:function (path, callback) { - var stat, node; - - try { - var lookup = FS.lookupPath(path); - node = lookup.node; - stat = FS.stat(path); - } catch (e) { - return callback(e); - } - - if (FS.isDir(stat.mode)) { - return callback(null, { timestamp: stat.mtime, mode: stat.mode }); - } else if (FS.isFile(stat.mode)) { - // Performance consideration: storing a normal JavaScript array to a IndexedDB is much slower than storing a typed array. - // Therefore always convert the file contents to a typed array first before writing the data to IndexedDB. - node.contents = MEMFS.getFileDataAsTypedArray(node); - return callback(null, { timestamp: stat.mtime, mode: stat.mode, contents: node.contents }); - } else { - return callback(new Error('node type not supported')); - } - },storeLocalEntry:function (path, entry, callback) { - try { - if (FS.isDir(entry.mode)) { - FS.mkdir(path, entry.mode); - } else if (FS.isFile(entry.mode)) { - FS.writeFile(path, entry.contents, { encoding: 'binary', canOwn: true }); - } else { - return callback(new Error('node type not supported')); - } - - FS.chmod(path, entry.mode); - FS.utime(path, entry.timestamp, entry.timestamp); - } catch (e) { - return callback(e); - } - - callback(null); - },removeLocalEntry:function (path, callback) { - try { - var lookup = FS.lookupPath(path); - var stat = FS.stat(path); - - if (FS.isDir(stat.mode)) { - FS.rmdir(path); - } else if (FS.isFile(stat.mode)) { - FS.unlink(path); - } - } catch (e) { - return callback(e); - } - - callback(null); - },loadRemoteEntry:function (store, path, callback) { - var req = store.get(path); - req.onsuccess = function(event) { callback(null, event.target.result); }; - req.onerror = function(e) { - callback(this.error); - e.preventDefault(); - }; - },storeRemoteEntry:function (store, path, entry, callback) { - var req = store.put(entry, path); - req.onsuccess = function() { callback(null); }; - req.onerror = function(e) { - callback(this.error); - e.preventDefault(); - }; - },removeRemoteEntry:function (store, path, callback) { - var req = store.delete(path); - req.onsuccess = function() { callback(null); }; - req.onerror = function(e) { - callback(this.error); - e.preventDefault(); - }; - },reconcile:function (src, dst, callback) { - var total = 0; - - var create = []; - Object.keys(src.entries).forEach(function (key) { - var e = src.entries[key]; - var e2 = dst.entries[key]; - if (!e2 || e.timestamp > e2.timestamp) { - create.push(key); - total++; - } - }); - - var remove = []; - Object.keys(dst.entries).forEach(function (key) { - var e = dst.entries[key]; - var e2 = src.entries[key]; - if (!e2) { - remove.push(key); - total++; - } - }); - - if (!total) { - return callback(null); - } - - var errored = false; - var completed = 0; - var db = src.type === 'remote' ? src.db : dst.db; - var transaction = db.transaction([IDBFS.DB_STORE_NAME], 'readwrite'); - var store = transaction.objectStore(IDBFS.DB_STORE_NAME); - - function done(err) { - if (err) { - if (!done.errored) { - done.errored = true; - return callback(err); - } - return; - } - if (++completed >= total) { - return callback(null); - } - }; - - transaction.onerror = function(e) { - done(this.error); - e.preventDefault(); - }; - - // sort paths in ascending order so directory entries are created - // before the files inside them - create.sort().forEach(function (path) { - if (dst.type === 'local') { - IDBFS.loadRemoteEntry(store, path, function (err, entry) { - if (err) return done(err); - IDBFS.storeLocalEntry(path, entry, done); - }); - } else { - IDBFS.loadLocalEntry(path, function (err, entry) { - if (err) return done(err); - IDBFS.storeRemoteEntry(store, path, entry, done); - }); - } - }); - - // sort paths in descending order so files are deleted before their - // parent directories - remove.sort().reverse().forEach(function(path) { - if (dst.type === 'local') { - IDBFS.removeLocalEntry(path, done); - } else { - IDBFS.removeRemoteEntry(store, path, done); - } - }); - }}; - - var NODEFS={isWindows:false,staticInit:function () { - NODEFS.isWindows = !!process.platform.match(/^win/); - },mount:function (mount) { - assert(ENVIRONMENT_IS_NODE); - return NODEFS.createNode(null, '/', NODEFS.getMode(mount.opts.root), 0); - },createNode:function (parent, name, mode, dev) { - if (!FS.isDir(mode) && !FS.isFile(mode) && !FS.isLink(mode)) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - var node = FS.createNode(parent, name, mode); - node.node_ops = NODEFS.node_ops; - node.stream_ops = NODEFS.stream_ops; - return node; - },getMode:function (path) { - var stat; - try { - stat = fs.lstatSync(path); - if (NODEFS.isWindows) { - // On Windows, directories return permission bits 'rw-rw-rw-', even though they have 'rwxrwxrwx', so - // propagate write bits to execute bits. - stat.mode = stat.mode | ((stat.mode & 146) >> 1); - } - } catch (e) { - if (!e.code) throw e; - throw new FS.ErrnoError(ERRNO_CODES[e.code]); - } - return stat.mode; - },realPath:function (node) { - var parts = []; - while (node.parent !== node) { - parts.push(node.name); - node = node.parent; - } - parts.push(node.mount.opts.root); - parts.reverse(); - return PATH.join.apply(null, parts); - },flagsToPermissionStringMap:{0:"r",1:"r+",2:"r+",64:"r",65:"r+",66:"r+",129:"rx+",193:"rx+",514:"w+",577:"w",578:"w+",705:"wx",706:"wx+",1024:"a",1025:"a",1026:"a+",1089:"a",1090:"a+",1153:"ax",1154:"ax+",1217:"ax",1218:"ax+",4096:"rs",4098:"rs+"},flagsToPermissionString:function (flags) { - flags &= ~0100000 /*O_LARGEFILE*/; // Ignore this flag from musl, otherwise node.js fails to open the file. - if (flags in NODEFS.flagsToPermissionStringMap) { - return NODEFS.flagsToPermissionStringMap[flags]; - } else { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - },node_ops:{getattr:function (node) { - var path = NODEFS.realPath(node); - var stat; - try { - stat = fs.lstatSync(path); - } catch (e) { - if (!e.code) throw e; - throw new FS.ErrnoError(ERRNO_CODES[e.code]); - } - // node.js v0.10.20 doesn't report blksize and blocks on Windows. Fake them with default blksize of 4096. - // See http://support.microsoft.com/kb/140365 - if (NODEFS.isWindows && !stat.blksize) { - stat.blksize = 4096; - } - if (NODEFS.isWindows && !stat.blocks) { - stat.blocks = (stat.size+stat.blksize-1)/stat.blksize|0; - } - return { - dev: stat.dev, - ino: stat.ino, - mode: stat.mode, - nlink: stat.nlink, - uid: stat.uid, - gid: stat.gid, - rdev: stat.rdev, - size: stat.size, - atime: stat.atime, - mtime: stat.mtime, - ctime: stat.ctime, - blksize: stat.blksize, - blocks: stat.blocks - }; - },setattr:function (node, attr) { - var path = NODEFS.realPath(node); - try { - if (attr.mode !== undefined) { - fs.chmodSync(path, attr.mode); - // update the common node structure mode as well - node.mode = attr.mode; - } - if (attr.timestamp !== undefined) { - var date = new Date(attr.timestamp); - fs.utimesSync(path, date, date); - } - if (attr.size !== undefined) { - fs.truncateSync(path, attr.size); - } - } catch (e) { - if (!e.code) throw e; - throw new FS.ErrnoError(ERRNO_CODES[e.code]); - } - },lookup:function (parent, name) { - var path = PATH.join2(NODEFS.realPath(parent), name); - var mode = NODEFS.getMode(path); - return NODEFS.createNode(parent, name, mode); - },mknod:function (parent, name, mode, dev) { - var node = NODEFS.createNode(parent, name, mode, dev); - // create the backing node for this in the fs root as well - var path = NODEFS.realPath(node); - try { - if (FS.isDir(node.mode)) { - fs.mkdirSync(path, node.mode); - } else { - fs.writeFileSync(path, '', { mode: node.mode }); - } - } catch (e) { - if (!e.code) throw e; - throw new FS.ErrnoError(ERRNO_CODES[e.code]); - } - return node; - },rename:function (oldNode, newDir, newName) { - var oldPath = NODEFS.realPath(oldNode); - var newPath = PATH.join2(NODEFS.realPath(newDir), newName); - try { - fs.renameSync(oldPath, newPath); - } catch (e) { - if (!e.code) throw e; - throw new FS.ErrnoError(ERRNO_CODES[e.code]); - } - },unlink:function (parent, name) { - var path = PATH.join2(NODEFS.realPath(parent), name); - try { - fs.unlinkSync(path); - } catch (e) { - if (!e.code) throw e; - throw new FS.ErrnoError(ERRNO_CODES[e.code]); - } - },rmdir:function (parent, name) { - var path = PATH.join2(NODEFS.realPath(parent), name); - try { - fs.rmdirSync(path); - } catch (e) { - if (!e.code) throw e; - throw new FS.ErrnoError(ERRNO_CODES[e.code]); - } - },readdir:function (node) { - var path = NODEFS.realPath(node); - try { - return fs.readdirSync(path); - } catch (e) { - if (!e.code) throw e; - throw new FS.ErrnoError(ERRNO_CODES[e.code]); - } - },symlink:function (parent, newName, oldPath) { - var newPath = PATH.join2(NODEFS.realPath(parent), newName); - try { - fs.symlinkSync(oldPath, newPath); - } catch (e) { - if (!e.code) throw e; - throw new FS.ErrnoError(ERRNO_CODES[e.code]); - } - },readlink:function (node) { - var path = NODEFS.realPath(node); - try { - path = fs.readlinkSync(path); - path = NODEJS_PATH.relative(NODEJS_PATH.resolve(node.mount.opts.root), path); - return path; - } catch (e) { - if (!e.code) throw e; - throw new FS.ErrnoError(ERRNO_CODES[e.code]); - } - }},stream_ops:{open:function (stream) { - var path = NODEFS.realPath(stream.node); - try { - if (FS.isFile(stream.node.mode)) { - stream.nfd = fs.openSync(path, NODEFS.flagsToPermissionString(stream.flags)); - } - } catch (e) { - if (!e.code) throw e; - throw new FS.ErrnoError(ERRNO_CODES[e.code]); - } - },close:function (stream) { - try { - if (FS.isFile(stream.node.mode) && stream.nfd) { - fs.closeSync(stream.nfd); - } - } catch (e) { - if (!e.code) throw e; - throw new FS.ErrnoError(ERRNO_CODES[e.code]); - } - },read:function (stream, buffer, offset, length, position) { - if (length === 0) return 0; // node errors on 0 length reads - // FIXME this is terrible. - var nbuffer = new Buffer(length); - var res; - try { - res = fs.readSync(stream.nfd, nbuffer, 0, length, position); - } catch (e) { - throw new FS.ErrnoError(ERRNO_CODES[e.code]); - } - if (res > 0) { - for (var i = 0; i < res; i++) { - buffer[offset + i] = nbuffer[i]; - } - } - return res; - },write:function (stream, buffer, offset, length, position) { - // FIXME this is terrible. - var nbuffer = new Buffer(buffer.subarray(offset, offset + length)); - var res; - try { - res = fs.writeSync(stream.nfd, nbuffer, 0, length, position); - } catch (e) { - throw new FS.ErrnoError(ERRNO_CODES[e.code]); - } - return res; - },llseek:function (stream, offset, whence) { - var position = offset; - if (whence === 1) { // SEEK_CUR. - position += stream.position; - } else if (whence === 2) { // SEEK_END. - if (FS.isFile(stream.node.mode)) { - try { - var stat = fs.fstatSync(stream.nfd); - position += stat.size; - } catch (e) { - throw new FS.ErrnoError(ERRNO_CODES[e.code]); - } - } - } - - if (position < 0) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - - return position; - }}}; - - var WORKERFS={DIR_MODE:16895,FILE_MODE:33279,reader:null,mount:function (mount) { - assert(ENVIRONMENT_IS_WORKER); - if (!WORKERFS.reader) WORKERFS.reader = new FileReaderSync(); - var root = WORKERFS.createNode(null, '/', WORKERFS.DIR_MODE, 0); - var createdParents = {}; - function ensureParent(path) { - // return the parent node, creating subdirs as necessary - var parts = path.split('/'); - var parent = root; - for (var i = 0; i < parts.length-1; i++) { - var curr = parts.slice(0, i+1).join('/'); - if (!createdParents[curr]) { - createdParents[curr] = WORKERFS.createNode(parent, curr, WORKERFS.DIR_MODE, 0); - } - parent = createdParents[curr]; - } - return parent; - } - function base(path) { - var parts = path.split('/'); - return parts[parts.length-1]; - } - // We also accept FileList here, by using Array.prototype - Array.prototype.forEach.call(mount.opts["files"] || [], function(file) { - WORKERFS.createNode(ensureParent(file.name), base(file.name), WORKERFS.FILE_MODE, 0, file, file.lastModifiedDate); - }); - (mount.opts["blobs"] || []).forEach(function(obj) { - WORKERFS.createNode(ensureParent(obj["name"]), base(obj["name"]), WORKERFS.FILE_MODE, 0, obj["data"]); - }); - (mount.opts["packages"] || []).forEach(function(pack) { - pack['metadata'].files.forEach(function(file) { - var name = file.filename.substr(1); // remove initial slash - WORKERFS.createNode(ensureParent(name), base(name), WORKERFS.FILE_MODE, 0, pack['blob'].slice(file.start, file.end)); - }); - }); - return root; - },createNode:function (parent, name, mode, dev, contents, mtime) { - var node = FS.createNode(parent, name, mode); - node.mode = mode; - node.node_ops = WORKERFS.node_ops; - node.stream_ops = WORKERFS.stream_ops; - node.timestamp = (mtime || new Date).getTime(); - assert(WORKERFS.FILE_MODE !== WORKERFS.DIR_MODE); - if (mode === WORKERFS.FILE_MODE) { - node.size = contents.size; - node.contents = contents; - } else { - node.size = 4096; - node.contents = {}; - } - if (parent) { - parent.contents[name] = node; - } - return node; - },node_ops:{getattr:function (node) { - return { - dev: 1, - ino: undefined, - mode: node.mode, - nlink: 1, - uid: 0, - gid: 0, - rdev: undefined, - size: node.size, - atime: new Date(node.timestamp), - mtime: new Date(node.timestamp), - ctime: new Date(node.timestamp), - blksize: 4096, - blocks: Math.ceil(node.size / 4096), - }; - },setattr:function (node, attr) { - if (attr.mode !== undefined) { - node.mode = attr.mode; - } - if (attr.timestamp !== undefined) { - node.timestamp = attr.timestamp; - } - },lookup:function (parent, name) { - throw new FS.ErrnoError(ERRNO_CODES.ENOENT); - },mknod:function (parent, name, mode, dev) { - throw new FS.ErrnoError(ERRNO_CODES.EPERM); - },rename:function (oldNode, newDir, newName) { - throw new FS.ErrnoError(ERRNO_CODES.EPERM); - },unlink:function (parent, name) { - throw new FS.ErrnoError(ERRNO_CODES.EPERM); - },rmdir:function (parent, name) { - throw new FS.ErrnoError(ERRNO_CODES.EPERM); - },readdir:function (node) { - throw new FS.ErrnoError(ERRNO_CODES.EPERM); - },symlink:function (parent, newName, oldPath) { - throw new FS.ErrnoError(ERRNO_CODES.EPERM); - },readlink:function (node) { - throw new FS.ErrnoError(ERRNO_CODES.EPERM); - }},stream_ops:{read:function (stream, buffer, offset, length, position) { - if (position >= stream.node.size) return 0; - var chunk = stream.node.contents.slice(position, position + length); - var ab = WORKERFS.reader.readAsArrayBuffer(chunk); - buffer.set(new Uint8Array(ab), offset); - return chunk.size; - },write:function (stream, buffer, offset, length, position) { - throw new FS.ErrnoError(ERRNO_CODES.EIO); - },llseek:function (stream, offset, whence) { - var position = offset; - if (whence === 1) { // SEEK_CUR. - position += stream.position; - } else if (whence === 2) { // SEEK_END. - if (FS.isFile(stream.node.mode)) { - position += stream.node.size; - } - } - if (position < 0) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - return position; - }}}; - - var _stdin=allocate(1, "i32*", ALLOC_STATIC); - - var _stdout=allocate(1, "i32*", ALLOC_STATIC); - - var _stderr=allocate(1, "i32*", ALLOC_STATIC);var FS={root:null,mounts:[],devices:[null],streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,handleFSError:function (e) { - if (!(e instanceof FS.ErrnoError)) throw e + ' : ' + stackTrace(); - return ___setErrNo(e.errno); - },lookupPath:function (path, opts) { - path = PATH.resolve(FS.cwd(), path); - opts = opts || {}; - - if (!path) return { path: '', node: null }; - - var defaults = { - follow_mount: true, - recurse_count: 0 - }; - for (var key in defaults) { - if (opts[key] === undefined) { - opts[key] = defaults[key]; - } - } - - if (opts.recurse_count > 8) { // max recursive lookup of 8 - throw new FS.ErrnoError(ERRNO_CODES.ELOOP); - } - - // split the path - var parts = PATH.normalizeArray(path.split('/').filter(function(p) { - return !!p; - }), false); - - // start at the root - var current = FS.root; - var current_path = '/'; - - for (var i = 0; i < parts.length; i++) { - var islast = (i === parts.length-1); - if (islast && opts.parent) { - // stop resolving - break; - } - - current = FS.lookupNode(current, parts[i]); - current_path = PATH.join2(current_path, parts[i]); - - // jump to the mount's root node if this is a mountpoint - if (FS.isMountpoint(current)) { - if (!islast || (islast && opts.follow_mount)) { - current = current.mounted.root; - } - } - - // by default, lookupPath will not follow a symlink if it is the final path component. - // setting opts.follow = true will override this behavior. - if (!islast || opts.follow) { - var count = 0; - while (FS.isLink(current.mode)) { - var link = FS.readlink(current_path); - current_path = PATH.resolve(PATH.dirname(current_path), link); - - var lookup = FS.lookupPath(current_path, { recurse_count: opts.recurse_count }); - current = lookup.node; - - if (count++ > 40) { // limit max consecutive symlinks to 40 (SYMLOOP_MAX). - throw new FS.ErrnoError(ERRNO_CODES.ELOOP); - } - } - } - } - - return { path: current_path, node: current }; - },getPath:function (node) { - var path; - while (true) { - if (FS.isRoot(node)) { - var mount = node.mount.mountpoint; - if (!path) return mount; - return mount[mount.length-1] !== '/' ? mount + '/' + path : mount + path; - } - path = path ? node.name + '/' + path : node.name; - node = node.parent; - } - },hashName:function (parentid, name) { - var hash = 0; - - - for (var i = 0; i < name.length; i++) { - hash = ((hash << 5) - hash + name.charCodeAt(i)) | 0; - } - return ((parentid + hash) >>> 0) % FS.nameTable.length; - },hashAddNode:function (node) { - var hash = FS.hashName(node.parent.id, node.name); - node.name_next = FS.nameTable[hash]; - FS.nameTable[hash] = node; - },hashRemoveNode:function (node) { - var hash = FS.hashName(node.parent.id, node.name); - if (FS.nameTable[hash] === node) { - FS.nameTable[hash] = node.name_next; - } else { - var current = FS.nameTable[hash]; - while (current) { - if (current.name_next === node) { - current.name_next = node.name_next; - break; - } - current = current.name_next; - } - } - },lookupNode:function (parent, name) { - var err = FS.mayLookup(parent); - if (err) { - throw new FS.ErrnoError(err, parent); - } - var hash = FS.hashName(parent.id, name); - for (var node = FS.nameTable[hash]; node; node = node.name_next) { - var nodeName = node.name; - if (node.parent.id === parent.id && nodeName === name) { - return node; - } - } - // if we failed to find it in the cache, call into the VFS - return FS.lookup(parent, name); - },createNode:function (parent, name, mode, rdev) { - if (!FS.FSNode) { - FS.FSNode = function(parent, name, mode, rdev) { - if (!parent) { - parent = this; // root node sets parent to itself - } - this.parent = parent; - this.mount = parent.mount; - this.mounted = null; - this.id = FS.nextInode++; - this.name = name; - this.mode = mode; - this.node_ops = {}; - this.stream_ops = {}; - this.rdev = rdev; - }; - - FS.FSNode.prototype = {}; - - // compatibility - var readMode = 292 | 73; - var writeMode = 146; - - // NOTE we must use Object.defineProperties instead of individual calls to - // Object.defineProperty in order to make closure compiler happy - Object.defineProperties(FS.FSNode.prototype, { - read: { - get: function() { return (this.mode & readMode) === readMode; }, - set: function(val) { val ? this.mode |= readMode : this.mode &= ~readMode; } - }, - write: { - get: function() { return (this.mode & writeMode) === writeMode; }, - set: function(val) { val ? this.mode |= writeMode : this.mode &= ~writeMode; } - }, - isFolder: { - get: function() { return FS.isDir(this.mode); } - }, - isDevice: { - get: function() { return FS.isChrdev(this.mode); } - } - }); - } - - var node = new FS.FSNode(parent, name, mode, rdev); - - FS.hashAddNode(node); - - return node; - },destroyNode:function (node) { - FS.hashRemoveNode(node); - },isRoot:function (node) { - return node === node.parent; - },isMountpoint:function (node) { - return !!node.mounted; - },isFile:function (mode) { - return (mode & 61440) === 32768; - },isDir:function (mode) { - return (mode & 61440) === 16384; - },isLink:function (mode) { - return (mode & 61440) === 40960; - },isChrdev:function (mode) { - return (mode & 61440) === 8192; - },isBlkdev:function (mode) { - return (mode & 61440) === 24576; - },isFIFO:function (mode) { - return (mode & 61440) === 4096; - },isSocket:function (mode) { - return (mode & 49152) === 49152; - },flagModes:{"r":0,"rs":1052672,"r+":2,"w":577,"wx":705,"xw":705,"w+":578,"wx+":706,"xw+":706,"a":1089,"ax":1217,"xa":1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:function (str) { - var flags = FS.flagModes[str]; - if (typeof flags === 'undefined') { - throw new Error('Unknown file open mode: ' + str); - } - return flags; - },flagsToPermissionString:function (flag) { - var perms = ['r', 'w', 'rw'][flag & 3]; - if ((flag & 512)) { - perms += 'w'; - } - return perms; - },nodePermissions:function (node, perms) { - if (FS.ignorePermissions) { - return 0; - } - // return 0 if any user, group or owner bits are set. - if (perms.indexOf('r') !== -1 && !(node.mode & 292)) { - return ERRNO_CODES.EACCES; - } else if (perms.indexOf('w') !== -1 && !(node.mode & 146)) { - return ERRNO_CODES.EACCES; - } else if (perms.indexOf('x') !== -1 && !(node.mode & 73)) { - return ERRNO_CODES.EACCES; - } - return 0; - },mayLookup:function (dir) { - var err = FS.nodePermissions(dir, 'x'); - if (err) return err; - if (!dir.node_ops.lookup) return ERRNO_CODES.EACCES; - return 0; - },mayCreate:function (dir, name) { - try { - var node = FS.lookupNode(dir, name); - return ERRNO_CODES.EEXIST; - } catch (e) { - } - return FS.nodePermissions(dir, 'wx'); - },mayDelete:function (dir, name, isdir) { - var node; - try { - node = FS.lookupNode(dir, name); - } catch (e) { - return e.errno; - } - var err = FS.nodePermissions(dir, 'wx'); - if (err) { - return err; - } - if (isdir) { - if (!FS.isDir(node.mode)) { - return ERRNO_CODES.ENOTDIR; - } - if (FS.isRoot(node) || FS.getPath(node) === FS.cwd()) { - return ERRNO_CODES.EBUSY; - } - } else { - if (FS.isDir(node.mode)) { - return ERRNO_CODES.EISDIR; - } - } - return 0; - },mayOpen:function (node, flags) { - if (!node) { - return ERRNO_CODES.ENOENT; - } - if (FS.isLink(node.mode)) { - return ERRNO_CODES.ELOOP; - } else if (FS.isDir(node.mode)) { - if ((flags & 2097155) !== 0 || // opening for write - (flags & 512)) { - return ERRNO_CODES.EISDIR; - } - } - return FS.nodePermissions(node, FS.flagsToPermissionString(flags)); - },MAX_OPEN_FDS:4096,nextfd:function (fd_start, fd_end) { - fd_start = fd_start || 0; - fd_end = fd_end || FS.MAX_OPEN_FDS; - for (var fd = fd_start; fd <= fd_end; fd++) { - if (!FS.streams[fd]) { - return fd; - } - } - throw new FS.ErrnoError(ERRNO_CODES.EMFILE); - },getStream:function (fd) { - return FS.streams[fd]; - },createStream:function (stream, fd_start, fd_end) { - if (!FS.FSStream) { - FS.FSStream = function(){}; - FS.FSStream.prototype = {}; - // compatibility - Object.defineProperties(FS.FSStream.prototype, { - object: { - get: function() { return this.node; }, - set: function(val) { this.node = val; } - }, - isRead: { - get: function() { return (this.flags & 2097155) !== 1; } - }, - isWrite: { - get: function() { return (this.flags & 2097155) !== 0; } - }, - isAppend: { - get: function() { return (this.flags & 1024); } - } - }); - } - // clone it, so we can return an instance of FSStream - var newStream = new FS.FSStream(); - for (var p in stream) { - newStream[p] = stream[p]; - } - stream = newStream; - var fd = FS.nextfd(fd_start, fd_end); - stream.fd = fd; - FS.streams[fd] = stream; - return stream; - },closeStream:function (fd) { - FS.streams[fd] = null; - },chrdev_stream_ops:{open:function (stream) { - var device = FS.getDevice(stream.node.rdev); - // override node's stream ops with the device's - stream.stream_ops = device.stream_ops; - // forward the open call - if (stream.stream_ops.open) { - stream.stream_ops.open(stream); - } - },llseek:function () { - throw new FS.ErrnoError(ERRNO_CODES.ESPIPE); - }},major:function (dev) { - return ((dev) >> 8); - },minor:function (dev) { - return ((dev) & 0xff); - },makedev:function (ma, mi) { - return ((ma) << 8 | (mi)); - },registerDevice:function (dev, ops) { - FS.devices[dev] = { stream_ops: ops }; - },getDevice:function (dev) { - return FS.devices[dev]; - },getMounts:function (mount) { - var mounts = []; - var check = [mount]; - - while (check.length) { - var m = check.pop(); - - mounts.push(m); - - check.push.apply(check, m.mounts); - } - - return mounts; - },syncfs:function (populate, callback) { - if (typeof(populate) === 'function') { - callback = populate; - populate = false; - } - - var mounts = FS.getMounts(FS.root.mount); - var completed = 0; - - function done(err) { - if (err) { - if (!done.errored) { - done.errored = true; - return callback(err); - } - return; - } - if (++completed >= mounts.length) { - callback(null); - } - }; - - // sync all mounts - mounts.forEach(function (mount) { - if (!mount.type.syncfs) { - return done(null); - } - mount.type.syncfs(mount, populate, done); - }); - },mount:function (type, opts, mountpoint) { - var root = mountpoint === '/'; - var pseudo = !mountpoint; - var node; - - if (root && FS.root) { - throw new FS.ErrnoError(ERRNO_CODES.EBUSY); - } else if (!root && !pseudo) { - var lookup = FS.lookupPath(mountpoint, { follow_mount: false }); - - mountpoint = lookup.path; // use the absolute path - node = lookup.node; - - if (FS.isMountpoint(node)) { - throw new FS.ErrnoError(ERRNO_CODES.EBUSY); - } - - if (!FS.isDir(node.mode)) { - throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR); - } - } - - var mount = { - type: type, - opts: opts, - mountpoint: mountpoint, - mounts: [] - }; - - // create a root node for the fs - var mountRoot = type.mount(mount); - mountRoot.mount = mount; - mount.root = mountRoot; - - if (root) { - FS.root = mountRoot; - } else if (node) { - // set as a mountpoint - node.mounted = mount; - - // add the new mount to the current mount's children - if (node.mount) { - node.mount.mounts.push(mount); - } - } - - return mountRoot; - },unmount:function (mountpoint) { - var lookup = FS.lookupPath(mountpoint, { follow_mount: false }); - - if (!FS.isMountpoint(lookup.node)) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - - // destroy the nodes for this mount, and all its child mounts - var node = lookup.node; - var mount = node.mounted; - var mounts = FS.getMounts(mount); - - Object.keys(FS.nameTable).forEach(function (hash) { - var current = FS.nameTable[hash]; - - while (current) { - var next = current.name_next; - - if (mounts.indexOf(current.mount) !== -1) { - FS.destroyNode(current); - } - - current = next; - } - }); - - // no longer a mountpoint - node.mounted = null; - - // remove this mount from the child mounts - var idx = node.mount.mounts.indexOf(mount); - assert(idx !== -1); - node.mount.mounts.splice(idx, 1); - },lookup:function (parent, name) { - return parent.node_ops.lookup(parent, name); - },mknod:function (path, mode, dev) { - var lookup = FS.lookupPath(path, { parent: true }); - var parent = lookup.node; - var name = PATH.basename(path); - if (!name || name === '.' || name === '..') { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - var err = FS.mayCreate(parent, name); - if (err) { - throw new FS.ErrnoError(err); - } - if (!parent.node_ops.mknod) { - throw new FS.ErrnoError(ERRNO_CODES.EPERM); - } - return parent.node_ops.mknod(parent, name, mode, dev); - },create:function (path, mode) { - mode = mode !== undefined ? mode : 438 /* 0666 */; - mode &= 4095; - mode |= 32768; - return FS.mknod(path, mode, 0); - },mkdir:function (path, mode) { - mode = mode !== undefined ? mode : 511 /* 0777 */; - mode &= 511 | 512; - mode |= 16384; - return FS.mknod(path, mode, 0); - },mkdev:function (path, mode, dev) { - if (typeof(dev) === 'undefined') { - dev = mode; - mode = 438 /* 0666 */; - } - mode |= 8192; - return FS.mknod(path, mode, dev); - },symlink:function (oldpath, newpath) { - if (!PATH.resolve(oldpath)) { - throw new FS.ErrnoError(ERRNO_CODES.ENOENT); - } - var lookup = FS.lookupPath(newpath, { parent: true }); - var parent = lookup.node; - if (!parent) { - throw new FS.ErrnoError(ERRNO_CODES.ENOENT); - } - var newname = PATH.basename(newpath); - var err = FS.mayCreate(parent, newname); - if (err) { - throw new FS.ErrnoError(err); - } - if (!parent.node_ops.symlink) { - throw new FS.ErrnoError(ERRNO_CODES.EPERM); - } - return parent.node_ops.symlink(parent, newname, oldpath); - },rename:function (old_path, new_path) { - var old_dirname = PATH.dirname(old_path); - var new_dirname = PATH.dirname(new_path); - var old_name = PATH.basename(old_path); - var new_name = PATH.basename(new_path); - // parents must exist - var lookup, old_dir, new_dir; - try { - lookup = FS.lookupPath(old_path, { parent: true }); - old_dir = lookup.node; - lookup = FS.lookupPath(new_path, { parent: true }); - new_dir = lookup.node; - } catch (e) { - throw new FS.ErrnoError(ERRNO_CODES.EBUSY); - } - if (!old_dir || !new_dir) throw new FS.ErrnoError(ERRNO_CODES.ENOENT); - // need to be part of the same mount - if (old_dir.mount !== new_dir.mount) { - throw new FS.ErrnoError(ERRNO_CODES.EXDEV); - } - // source must exist - var old_node = FS.lookupNode(old_dir, old_name); - // old path should not be an ancestor of the new path - var relative = PATH.relative(old_path, new_dirname); - if (relative.charAt(0) !== '.') { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - // new path should not be an ancestor of the old path - relative = PATH.relative(new_path, old_dirname); - if (relative.charAt(0) !== '.') { - throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY); - } - // see if the new path already exists - var new_node; - try { - new_node = FS.lookupNode(new_dir, new_name); - } catch (e) { - // not fatal - } - // early out if nothing needs to change - if (old_node === new_node) { - return; - } - // we'll need to delete the old entry - var isdir = FS.isDir(old_node.mode); - var err = FS.mayDelete(old_dir, old_name, isdir); - if (err) { - throw new FS.ErrnoError(err); - } - // need delete permissions if we'll be overwriting. - // need create permissions if new doesn't already exist. - err = new_node ? - FS.mayDelete(new_dir, new_name, isdir) : - FS.mayCreate(new_dir, new_name); - if (err) { - throw new FS.ErrnoError(err); - } - if (!old_dir.node_ops.rename) { - throw new FS.ErrnoError(ERRNO_CODES.EPERM); - } - if (FS.isMountpoint(old_node) || (new_node && FS.isMountpoint(new_node))) { - throw new FS.ErrnoError(ERRNO_CODES.EBUSY); - } - // if we are going to change the parent, check write permissions - if (new_dir !== old_dir) { - err = FS.nodePermissions(old_dir, 'w'); - if (err) { - throw new FS.ErrnoError(err); - } - } - try { - if (FS.trackingDelegate['willMovePath']) { - FS.trackingDelegate['willMovePath'](old_path, new_path); - } - } catch(e) { - console.log("FS.trackingDelegate['willMovePath']('"+old_path+"', '"+new_path+"') threw an exception: " + e.message); - } - // remove the node from the lookup hash - FS.hashRemoveNode(old_node); - // do the underlying fs rename - try { - old_dir.node_ops.rename(old_node, new_dir, new_name); - } catch (e) { - throw e; - } finally { - // add the node back to the hash (in case node_ops.rename - // changed its name) - FS.hashAddNode(old_node); - } - try { - if (FS.trackingDelegate['onMovePath']) FS.trackingDelegate['onMovePath'](old_path, new_path); - } catch(e) { - console.log("FS.trackingDelegate['onMovePath']('"+old_path+"', '"+new_path+"') threw an exception: " + e.message); - } - },rmdir:function (path) { - var lookup = FS.lookupPath(path, { parent: true }); - var parent = lookup.node; - var name = PATH.basename(path); - var node = FS.lookupNode(parent, name); - var err = FS.mayDelete(parent, name, true); - if (err) { - throw new FS.ErrnoError(err); - } - if (!parent.node_ops.rmdir) { - throw new FS.ErrnoError(ERRNO_CODES.EPERM); - } - if (FS.isMountpoint(node)) { - throw new FS.ErrnoError(ERRNO_CODES.EBUSY); - } - try { - if (FS.trackingDelegate['willDeletePath']) { - FS.trackingDelegate['willDeletePath'](path); - } - } catch(e) { - console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: " + e.message); - } - parent.node_ops.rmdir(parent, name); - FS.destroyNode(node); - try { - if (FS.trackingDelegate['onDeletePath']) FS.trackingDelegate['onDeletePath'](path); - } catch(e) { - console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: " + e.message); - } - },readdir:function (path) { - var lookup = FS.lookupPath(path, { follow: true }); - var node = lookup.node; - if (!node.node_ops.readdir) { - throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR); - } - return node.node_ops.readdir(node); - },unlink:function (path) { - var lookup = FS.lookupPath(path, { parent: true }); - var parent = lookup.node; - var name = PATH.basename(path); - var node = FS.lookupNode(parent, name); - var err = FS.mayDelete(parent, name, false); - if (err) { - // POSIX says unlink should set EPERM, not EISDIR - if (err === ERRNO_CODES.EISDIR) err = ERRNO_CODES.EPERM; - throw new FS.ErrnoError(err); - } - if (!parent.node_ops.unlink) { - throw new FS.ErrnoError(ERRNO_CODES.EPERM); - } - if (FS.isMountpoint(node)) { - throw new FS.ErrnoError(ERRNO_CODES.EBUSY); - } - try { - if (FS.trackingDelegate['willDeletePath']) { - FS.trackingDelegate['willDeletePath'](path); - } - } catch(e) { - console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: " + e.message); - } - parent.node_ops.unlink(parent, name); - FS.destroyNode(node); - try { - if (FS.trackingDelegate['onDeletePath']) FS.trackingDelegate['onDeletePath'](path); - } catch(e) { - console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: " + e.message); - } - },readlink:function (path) { - var lookup = FS.lookupPath(path); - var link = lookup.node; - if (!link) { - throw new FS.ErrnoError(ERRNO_CODES.ENOENT); - } - if (!link.node_ops.readlink) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - return PATH.resolve(FS.getPath(link.parent), link.node_ops.readlink(link)); - },stat:function (path, dontFollow) { - var lookup = FS.lookupPath(path, { follow: !dontFollow }); - var node = lookup.node; - if (!node) { - throw new FS.ErrnoError(ERRNO_CODES.ENOENT); - } - if (!node.node_ops.getattr) { - throw new FS.ErrnoError(ERRNO_CODES.EPERM); - } - return node.node_ops.getattr(node); - },lstat:function (path) { - return FS.stat(path, true); - },chmod:function (path, mode, dontFollow) { - var node; - if (typeof path === 'string') { - var lookup = FS.lookupPath(path, { follow: !dontFollow }); - node = lookup.node; - } else { - node = path; - } - if (!node.node_ops.setattr) { - throw new FS.ErrnoError(ERRNO_CODES.EPERM); - } - node.node_ops.setattr(node, { - mode: (mode & 4095) | (node.mode & ~4095), - timestamp: Date.now() - }); - },lchmod:function (path, mode) { - FS.chmod(path, mode, true); - },fchmod:function (fd, mode) { - var stream = FS.getStream(fd); - if (!stream) { - throw new FS.ErrnoError(ERRNO_CODES.EBADF); - } - FS.chmod(stream.node, mode); - },chown:function (path, uid, gid, dontFollow) { - var node; - if (typeof path === 'string') { - var lookup = FS.lookupPath(path, { follow: !dontFollow }); - node = lookup.node; - } else { - node = path; - } - if (!node.node_ops.setattr) { - throw new FS.ErrnoError(ERRNO_CODES.EPERM); - } - node.node_ops.setattr(node, { - timestamp: Date.now() - // we ignore the uid / gid for now - }); - },lchown:function (path, uid, gid) { - FS.chown(path, uid, gid, true); - },fchown:function (fd, uid, gid) { - var stream = FS.getStream(fd); - if (!stream) { - throw new FS.ErrnoError(ERRNO_CODES.EBADF); - } - FS.chown(stream.node, uid, gid); - },truncate:function (path, len) { - if (len < 0) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - var node; - if (typeof path === 'string') { - var lookup = FS.lookupPath(path, { follow: true }); - node = lookup.node; - } else { - node = path; - } - if (!node.node_ops.setattr) { - throw new FS.ErrnoError(ERRNO_CODES.EPERM); - } - if (FS.isDir(node.mode)) { - throw new FS.ErrnoError(ERRNO_CODES.EISDIR); - } - if (!FS.isFile(node.mode)) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - var err = FS.nodePermissions(node, 'w'); - if (err) { - throw new FS.ErrnoError(err); - } - node.node_ops.setattr(node, { - size: len, - timestamp: Date.now() - }); - },ftruncate:function (fd, len) { - var stream = FS.getStream(fd); - if (!stream) { - throw new FS.ErrnoError(ERRNO_CODES.EBADF); - } - if ((stream.flags & 2097155) === 0) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - FS.truncate(stream.node, len); - },utime:function (path, atime, mtime) { - var lookup = FS.lookupPath(path, { follow: true }); - var node = lookup.node; - node.node_ops.setattr(node, { - timestamp: Math.max(atime, mtime) - }); - },open:function (path, flags, mode, fd_start, fd_end) { - if (path === "") { - throw new FS.ErrnoError(ERRNO_CODES.ENOENT); - } - flags = typeof flags === 'string' ? FS.modeStringToFlags(flags) : flags; - mode = typeof mode === 'undefined' ? 438 /* 0666 */ : mode; - if ((flags & 64)) { - mode = (mode & 4095) | 32768; - } else { - mode = 0; - } - var node; - if (typeof path === 'object') { - node = path; - } else { - path = PATH.normalize(path); - try { - var lookup = FS.lookupPath(path, { - follow: !(flags & 131072) - }); - node = lookup.node; - } catch (e) { - // ignore - } - } - // perhaps we need to create the node - var created = false; - if ((flags & 64)) { - if (node) { - // if O_CREAT and O_EXCL are set, error out if the node already exists - if ((flags & 128)) { - throw new FS.ErrnoError(ERRNO_CODES.EEXIST); - } - } else { - // node doesn't exist, try to create it - node = FS.mknod(path, mode, 0); - created = true; - } - } - if (!node) { - throw new FS.ErrnoError(ERRNO_CODES.ENOENT); - } - // can't truncate a device - if (FS.isChrdev(node.mode)) { - flags &= ~512; - } - // if asked only for a directory, then this must be one - if ((flags & 65536) && !FS.isDir(node.mode)) { - throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR); - } - // check permissions, if this is not a file we just created now (it is ok to - // create and write to a file with read-only permissions; it is read-only - // for later use) - if (!created) { - var err = FS.mayOpen(node, flags); - if (err) { - throw new FS.ErrnoError(err); - } - } - // do truncation if necessary - if ((flags & 512)) { - FS.truncate(node, 0); - } - // we've already handled these, don't pass down to the underlying vfs - flags &= ~(128 | 512); - - // register the stream with the filesystem - var stream = FS.createStream({ - node: node, - path: FS.getPath(node), // we want the absolute path to the node - flags: flags, - seekable: true, - position: 0, - stream_ops: node.stream_ops, - // used by the file family libc calls (fopen, fwrite, ferror, etc.) - ungotten: [], - error: false - }, fd_start, fd_end); - // call the new stream's open function - if (stream.stream_ops.open) { - stream.stream_ops.open(stream); - } - if (Module['logReadFiles'] && !(flags & 1)) { - if (!FS.readFiles) FS.readFiles = {}; - if (!(path in FS.readFiles)) { - FS.readFiles[path] = 1; - Module['printErr']('read file: ' + path); - } - } - try { - if (FS.trackingDelegate['onOpenFile']) { - var trackingFlags = 0; - if ((flags & 2097155) !== 1) { - trackingFlags |= FS.tracking.openFlags.READ; - } - if ((flags & 2097155) !== 0) { - trackingFlags |= FS.tracking.openFlags.WRITE; - } - FS.trackingDelegate['onOpenFile'](path, trackingFlags); - } - } catch(e) { - console.log("FS.trackingDelegate['onOpenFile']('"+path+"', flags) threw an exception: " + e.message); - } - return stream; - },close:function (stream) { - if (stream.getdents) stream.getdents = null; // free readdir state - try { - if (stream.stream_ops.close) { - stream.stream_ops.close(stream); - } - } catch (e) { - throw e; - } finally { - FS.closeStream(stream.fd); - } - },llseek:function (stream, offset, whence) { - if (!stream.seekable || !stream.stream_ops.llseek) { - throw new FS.ErrnoError(ERRNO_CODES.ESPIPE); - } - stream.position = stream.stream_ops.llseek(stream, offset, whence); - stream.ungotten = []; - return stream.position; - },read:function (stream, buffer, offset, length, position) { - if (length < 0 || position < 0) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - if ((stream.flags & 2097155) === 1) { - throw new FS.ErrnoError(ERRNO_CODES.EBADF); - } - if (FS.isDir(stream.node.mode)) { - throw new FS.ErrnoError(ERRNO_CODES.EISDIR); - } - if (!stream.stream_ops.read) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - var seeking = true; - if (typeof position === 'undefined') { - position = stream.position; - seeking = false; - } else if (!stream.seekable) { - throw new FS.ErrnoError(ERRNO_CODES.ESPIPE); - } - var bytesRead = stream.stream_ops.read(stream, buffer, offset, length, position); - if (!seeking) stream.position += bytesRead; - return bytesRead; - },write:function (stream, buffer, offset, length, position, canOwn) { - if (length < 0 || position < 0) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - if ((stream.flags & 2097155) === 0) { - throw new FS.ErrnoError(ERRNO_CODES.EBADF); - } - if (FS.isDir(stream.node.mode)) { - throw new FS.ErrnoError(ERRNO_CODES.EISDIR); - } - if (!stream.stream_ops.write) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - if (stream.flags & 1024) { - // seek to the end before writing in append mode - FS.llseek(stream, 0, 2); - } - var seeking = true; - if (typeof position === 'undefined') { - position = stream.position; - seeking = false; - } else if (!stream.seekable) { - throw new FS.ErrnoError(ERRNO_CODES.ESPIPE); - } - var bytesWritten = stream.stream_ops.write(stream, buffer, offset, length, position, canOwn); - if (!seeking) stream.position += bytesWritten; - try { - if (stream.path && FS.trackingDelegate['onWriteToFile']) FS.trackingDelegate['onWriteToFile'](stream.path); - } catch(e) { - console.log("FS.trackingDelegate['onWriteToFile']('"+path+"') threw an exception: " + e.message); - } - return bytesWritten; - },allocate:function (stream, offset, length) { - if (offset < 0 || length <= 0) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - if ((stream.flags & 2097155) === 0) { - throw new FS.ErrnoError(ERRNO_CODES.EBADF); - } - if (!FS.isFile(stream.node.mode) && !FS.isDir(node.mode)) { - throw new FS.ErrnoError(ERRNO_CODES.ENODEV); - } - if (!stream.stream_ops.allocate) { - throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP); - } - stream.stream_ops.allocate(stream, offset, length); - },mmap:function (stream, buffer, offset, length, position, prot, flags) { - // TODO if PROT is PROT_WRITE, make sure we have write access - if ((stream.flags & 2097155) === 1) { - throw new FS.ErrnoError(ERRNO_CODES.EACCES); - } - if (!stream.stream_ops.mmap) { - throw new FS.ErrnoError(ERRNO_CODES.ENODEV); - } - return stream.stream_ops.mmap(stream, buffer, offset, length, position, prot, flags); - },msync:function (stream, buffer, offset, length, mmapFlags) { - if (!stream || !stream.stream_ops.msync) { - return 0; - } - return stream.stream_ops.msync(stream, buffer, offset, length, mmapFlags); - },munmap:function (stream) { - return 0; - },ioctl:function (stream, cmd, arg) { - if (!stream.stream_ops.ioctl) { - throw new FS.ErrnoError(ERRNO_CODES.ENOTTY); - } - return stream.stream_ops.ioctl(stream, cmd, arg); - },readFile:function (path, opts) { - opts = opts || {}; - opts.flags = opts.flags || 'r'; - opts.encoding = opts.encoding || 'binary'; - if (opts.encoding !== 'utf8' && opts.encoding !== 'binary') { - throw new Error('Invalid encoding type "' + opts.encoding + '"'); - } - var ret; - var stream = FS.open(path, opts.flags); - var stat = FS.stat(path); - var length = stat.size; - var buf = new Uint8Array(length); - FS.read(stream, buf, 0, length, 0); - if (opts.encoding === 'utf8') { - ret = UTF8ArrayToString(buf, 0); - } else if (opts.encoding === 'binary') { - ret = buf; - } - FS.close(stream); - return ret; - },writeFile:function (path, data, opts) { - opts = opts || {}; - opts.flags = opts.flags || 'w'; - opts.encoding = opts.encoding || 'utf8'; - if (opts.encoding !== 'utf8' && opts.encoding !== 'binary') { - throw new Error('Invalid encoding type "' + opts.encoding + '"'); - } - var stream = FS.open(path, opts.flags, opts.mode); - if (opts.encoding === 'utf8') { - var buf = new Uint8Array(lengthBytesUTF8(data)+1); - var actualNumBytes = stringToUTF8Array(data, buf, 0, buf.length); - FS.write(stream, buf, 0, actualNumBytes, 0, opts.canOwn); - } else if (opts.encoding === 'binary') { - FS.write(stream, data, 0, data.length, 0, opts.canOwn); - } - FS.close(stream); - },cwd:function () { - return FS.currentPath; - },chdir:function (path) { - var lookup = FS.lookupPath(path, { follow: true }); - if (!FS.isDir(lookup.node.mode)) { - throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR); - } - var err = FS.nodePermissions(lookup.node, 'x'); - if (err) { - throw new FS.ErrnoError(err); - } - FS.currentPath = lookup.path; - },createDefaultDirectories:function () { - FS.mkdir('/tmp'); - FS.mkdir('/home'); - FS.mkdir('/home/web_user'); - },createDefaultDevices:function () { - // create /dev - FS.mkdir('/dev'); - // setup /dev/null - FS.registerDevice(FS.makedev(1, 3), { - read: function() { return 0; }, - write: function(stream, buffer, offset, length, pos) { return length; } - }); - FS.mkdev('/dev/null', FS.makedev(1, 3)); - // setup /dev/tty and /dev/tty1 - // stderr needs to print output using Module['printErr'] - // so we register a second tty just for it. - TTY.register(FS.makedev(5, 0), TTY.default_tty_ops); - TTY.register(FS.makedev(6, 0), TTY.default_tty1_ops); - FS.mkdev('/dev/tty', FS.makedev(5, 0)); - FS.mkdev('/dev/tty1', FS.makedev(6, 0)); - // setup /dev/[u]random - var random_device; - if (typeof crypto !== 'undefined') { - // for modern web browsers - var randomBuffer = new Uint8Array(1); - random_device = function() { crypto.getRandomValues(randomBuffer); return randomBuffer[0]; }; - } else if (ENVIRONMENT_IS_NODE) { - // for nodejs - random_device = function() { return require('crypto').randomBytes(1)[0]; }; - } else { - // default for ES5 platforms - random_device = function() { return (Math.random()*256)|0; }; - } - FS.createDevice('/dev', 'random', random_device); - FS.createDevice('/dev', 'urandom', random_device); - // we're not going to emulate the actual shm device, - // just create the tmp dirs that reside in it commonly - FS.mkdir('/dev/shm'); - FS.mkdir('/dev/shm/tmp'); - },createSpecialDirectories:function () { - // create /proc/self/fd which allows /proc/self/fd/6 => readlink gives the name of the stream for fd 6 (see test_unistd_ttyname) - FS.mkdir('/proc'); - FS.mkdir('/proc/self'); - FS.mkdir('/proc/self/fd'); - FS.mount({ - mount: function() { - var node = FS.createNode('/proc/self', 'fd', 16384 | 0777, 73); - node.node_ops = { - lookup: function(parent, name) { - var fd = +name; - var stream = FS.getStream(fd); - if (!stream) throw new FS.ErrnoError(ERRNO_CODES.EBADF); - var ret = { - parent: null, - mount: { mountpoint: 'fake' }, - node_ops: { readlink: function() { return stream.path } } - }; - ret.parent = ret; // make it look like a simple root node - return ret; - } - }; - return node; - } - }, {}, '/proc/self/fd'); - },createStandardStreams:function () { - // TODO deprecate the old functionality of a single - // input / output callback and that utilizes FS.createDevice - // and instead require a unique set of stream ops - - // by default, we symlink the standard streams to the - // default tty devices. however, if the standard streams - // have been overwritten we create a unique device for - // them instead. - if (Module['stdin']) { - FS.createDevice('/dev', 'stdin', Module['stdin']); - } else { - FS.symlink('/dev/tty', '/dev/stdin'); - } - if (Module['stdout']) { - FS.createDevice('/dev', 'stdout', null, Module['stdout']); - } else { - FS.symlink('/dev/tty', '/dev/stdout'); - } - if (Module['stderr']) { - FS.createDevice('/dev', 'stderr', null, Module['stderr']); - } else { - FS.symlink('/dev/tty1', '/dev/stderr'); - } - - // open default streams for the stdin, stdout and stderr devices - var stdin = FS.open('/dev/stdin', 'r'); - assert(stdin.fd === 0, 'invalid handle for stdin (' + stdin.fd + ')'); - - var stdout = FS.open('/dev/stdout', 'w'); - assert(stdout.fd === 1, 'invalid handle for stdout (' + stdout.fd + ')'); - - var stderr = FS.open('/dev/stderr', 'w'); - assert(stderr.fd === 2, 'invalid handle for stderr (' + stderr.fd + ')'); - },ensureErrnoError:function () { - if (FS.ErrnoError) return; - FS.ErrnoError = function ErrnoError(errno, node) { - //Module.printErr(stackTrace()); // useful for debugging - this.node = node; - this.setErrno = function(errno) { - this.errno = errno; - for (var key in ERRNO_CODES) { - if (ERRNO_CODES[key] === errno) { - this.code = key; - break; - } - } - }; - this.setErrno(errno); - this.message = ERRNO_MESSAGES[errno]; - }; - FS.ErrnoError.prototype = new Error(); - FS.ErrnoError.prototype.constructor = FS.ErrnoError; - // Some errors may happen quite a bit, to avoid overhead we reuse them (and suffer a lack of stack info) - [ERRNO_CODES.ENOENT].forEach(function(code) { - FS.genericErrors[code] = new FS.ErrnoError(code); - FS.genericErrors[code].stack = ''; - }); - },staticInit:function () { - FS.ensureErrnoError(); - - FS.nameTable = new Array(4096); - - FS.mount(MEMFS, {}, '/'); - - FS.createDefaultDirectories(); - FS.createDefaultDevices(); - FS.createSpecialDirectories(); - - FS.filesystems = { - 'MEMFS': MEMFS, - 'IDBFS': IDBFS, - 'NODEFS': NODEFS, - 'WORKERFS': WORKERFS, - }; - },init:function (input, output, error) { - assert(!FS.init.initialized, 'FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)'); - FS.init.initialized = true; - - FS.ensureErrnoError(); - - // Allow Module.stdin etc. to provide defaults, if none explicitly passed to us here - Module['stdin'] = input || Module['stdin']; - Module['stdout'] = output || Module['stdout']; - Module['stderr'] = error || Module['stderr']; - - FS.createStandardStreams(); - },quit:function () { - FS.init.initialized = false; - // force-flush all streams, so we get musl std streams printed out - var fflush = Module['_fflush']; - if (fflush) fflush(0); - // close all of our streams - for (var i = 0; i < FS.streams.length; i++) { - var stream = FS.streams[i]; - if (!stream) { - continue; - } - FS.close(stream); - } - },getMode:function (canRead, canWrite) { - var mode = 0; - if (canRead) mode |= 292 | 73; - if (canWrite) mode |= 146; - return mode; - },joinPath:function (parts, forceRelative) { - var path = PATH.join.apply(null, parts); - if (forceRelative && path[0] == '/') path = path.substr(1); - return path; - },absolutePath:function (relative, base) { - return PATH.resolve(base, relative); - },standardizePath:function (path) { - return PATH.normalize(path); - },findObject:function (path, dontResolveLastLink) { - var ret = FS.analyzePath(path, dontResolveLastLink); - if (ret.exists) { - return ret.object; - } else { - ___setErrNo(ret.error); - return null; - } - },analyzePath:function (path, dontResolveLastLink) { - // operate from within the context of the symlink's target - try { - var lookup = FS.lookupPath(path, { follow: !dontResolveLastLink }); - path = lookup.path; - } catch (e) { - } - var ret = { - isRoot: false, exists: false, error: 0, name: null, path: null, object: null, - parentExists: false, parentPath: null, parentObject: null - }; - try { - var lookup = FS.lookupPath(path, { parent: true }); - ret.parentExists = true; - ret.parentPath = lookup.path; - ret.parentObject = lookup.node; - ret.name = PATH.basename(path); - lookup = FS.lookupPath(path, { follow: !dontResolveLastLink }); - ret.exists = true; - ret.path = lookup.path; - ret.object = lookup.node; - ret.name = lookup.node.name; - ret.isRoot = lookup.path === '/'; - } catch (e) { - ret.error = e.errno; - }; - return ret; - },createFolder:function (parent, name, canRead, canWrite) { - var path = PATH.join2(typeof parent === 'string' ? parent : FS.getPath(parent), name); - var mode = FS.getMode(canRead, canWrite); - return FS.mkdir(path, mode); - },createPath:function (parent, path, canRead, canWrite) { - parent = typeof parent === 'string' ? parent : FS.getPath(parent); - var parts = path.split('/').reverse(); - while (parts.length) { - var part = parts.pop(); - if (!part) continue; - var current = PATH.join2(parent, part); - try { - FS.mkdir(current); - } catch (e) { - // ignore EEXIST - } - parent = current; - } - return current; - },createFile:function (parent, name, properties, canRead, canWrite) { - var path = PATH.join2(typeof parent === 'string' ? parent : FS.getPath(parent), name); - var mode = FS.getMode(canRead, canWrite); - return FS.create(path, mode); - },createDataFile:function (parent, name, data, canRead, canWrite, canOwn) { - var path = name ? PATH.join2(typeof parent === 'string' ? parent : FS.getPath(parent), name) : parent; - var mode = FS.getMode(canRead, canWrite); - var node = FS.create(path, mode); - if (data) { - if (typeof data === 'string') { - var arr = new Array(data.length); - for (var i = 0, len = data.length; i < len; ++i) arr[i] = data.charCodeAt(i); - data = arr; - } - // make sure we can write to the file - FS.chmod(node, mode | 146); - var stream = FS.open(node, 'w'); - FS.write(stream, data, 0, data.length, 0, canOwn); - FS.close(stream); - FS.chmod(node, mode); - } - return node; - },createDevice:function (parent, name, input, output) { - var path = PATH.join2(typeof parent === 'string' ? parent : FS.getPath(parent), name); - var mode = FS.getMode(!!input, !!output); - if (!FS.createDevice.major) FS.createDevice.major = 64; - var dev = FS.makedev(FS.createDevice.major++, 0); - // Create a fake device that a set of stream ops to emulate - // the old behavior. - FS.registerDevice(dev, { - open: function(stream) { - stream.seekable = false; - }, - close: function(stream) { - // flush any pending line data - if (output && output.buffer && output.buffer.length) { - output(10); - } - }, - read: function(stream, buffer, offset, length, pos /* ignored */) { - var bytesRead = 0; - for (var i = 0; i < length; i++) { - var result; - try { - result = input(); - } catch (e) { - throw new FS.ErrnoError(ERRNO_CODES.EIO); - } - if (result === undefined && bytesRead === 0) { - throw new FS.ErrnoError(ERRNO_CODES.EAGAIN); - } - if (result === null || result === undefined) break; - bytesRead++; - buffer[offset+i] = result; - } - if (bytesRead) { - stream.node.timestamp = Date.now(); - } - return bytesRead; - }, - write: function(stream, buffer, offset, length, pos) { - for (var i = 0; i < length; i++) { - try { - output(buffer[offset+i]); - } catch (e) { - throw new FS.ErrnoError(ERRNO_CODES.EIO); - } - } - if (length) { - stream.node.timestamp = Date.now(); - } - return i; - } - }); - return FS.mkdev(path, mode, dev); - },createLink:function (parent, name, target, canRead, canWrite) { - var path = PATH.join2(typeof parent === 'string' ? parent : FS.getPath(parent), name); - return FS.symlink(target, path); - },forceLoadFile:function (obj) { - if (obj.isDevice || obj.isFolder || obj.link || obj.contents) return true; - var success = true; - if (typeof XMLHttpRequest !== 'undefined') { - throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread."); - } else if (Module['read']) { - // Command-line. - try { - // WARNING: Can't read binary files in V8's d8 or tracemonkey's js, as - // read() will try to parse UTF8. - obj.contents = intArrayFromString(Module['read'](obj.url), true); - obj.usedBytes = obj.contents.length; - } catch (e) { - success = false; - } - } else { - throw new Error('Cannot load without read() or XMLHttpRequest.'); - } - if (!success) ___setErrNo(ERRNO_CODES.EIO); - return success; - },createLazyFile:function (parent, name, url, canRead, canWrite) { - // Lazy chunked Uint8Array (implements get and length from Uint8Array). Actual getting is abstracted away for eventual reuse. - function LazyUint8Array() { - this.lengthKnown = false; - this.chunks = []; // Loaded chunks. Index is the chunk number - } - LazyUint8Array.prototype.get = function LazyUint8Array_get(idx) { - if (idx > this.length-1 || idx < 0) { - return undefined; - } - var chunkOffset = idx % this.chunkSize; - var chunkNum = (idx / this.chunkSize)|0; - return this.getter(chunkNum)[chunkOffset]; - } - LazyUint8Array.prototype.setDataGetter = function LazyUint8Array_setDataGetter(getter) { - this.getter = getter; - } - LazyUint8Array.prototype.cacheLength = function LazyUint8Array_cacheLength() { - // Find length - var xhr = new XMLHttpRequest(); - xhr.open('HEAD', url, false); - xhr.send(null); - if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error("Couldn't load " + url + ". Status: " + xhr.status); - var datalength = Number(xhr.getResponseHeader("Content-length")); - var header; - var hasByteServing = (header = xhr.getResponseHeader("Accept-Ranges")) && header === "bytes"; - var chunkSize = 1024*1024; // Chunk size in bytes - - if (!hasByteServing) chunkSize = datalength; - - // Function to get a range from the remote URL. - var doXHR = (function(from, to) { - if (from > to) throw new Error("invalid range (" + from + ", " + to + ") or no bytes requested!"); - if (to > datalength-1) throw new Error("only " + datalength + " bytes available! programmer error!"); - - // TODO: Use mozResponseArrayBuffer, responseStream, etc. if available. - var xhr = new XMLHttpRequest(); - xhr.open('GET', url, false); - if (datalength !== chunkSize) xhr.setRequestHeader("Range", "bytes=" + from + "-" + to); - - // Some hints to the browser that we want binary data. - if (typeof Uint8Array != 'undefined') xhr.responseType = 'arraybuffer'; - if (xhr.overrideMimeType) { - xhr.overrideMimeType('text/plain; charset=x-user-defined'); - } - - xhr.send(null); - if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error("Couldn't load " + url + ". Status: " + xhr.status); - if (xhr.response !== undefined) { - return new Uint8Array(xhr.response || []); - } else { - return intArrayFromString(xhr.responseText || '', true); - } - }); - var lazyArray = this; - lazyArray.setDataGetter(function(chunkNum) { - var start = chunkNum * chunkSize; - var end = (chunkNum+1) * chunkSize - 1; // including this byte - end = Math.min(end, datalength-1); // if datalength-1 is selected, this is the last block - if (typeof(lazyArray.chunks[chunkNum]) === "undefined") { - lazyArray.chunks[chunkNum] = doXHR(start, end); - } - if (typeof(lazyArray.chunks[chunkNum]) === "undefined") throw new Error("doXHR failed!"); - return lazyArray.chunks[chunkNum]; - }); - - this._length = datalength; - this._chunkSize = chunkSize; - this.lengthKnown = true; - } - if (typeof XMLHttpRequest !== 'undefined') { - if (!ENVIRONMENT_IS_WORKER) throw 'Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc'; - var lazyArray = new LazyUint8Array(); - Object.defineProperty(lazyArray, "length", { - get: function() { - if(!this.lengthKnown) { - this.cacheLength(); - } - return this._length; - } - }); - Object.defineProperty(lazyArray, "chunkSize", { - get: function() { - if(!this.lengthKnown) { - this.cacheLength(); - } - return this._chunkSize; - } - }); - - var properties = { isDevice: false, contents: lazyArray }; - } else { - var properties = { isDevice: false, url: url }; - } - - var node = FS.createFile(parent, name, properties, canRead, canWrite); - // This is a total hack, but I want to get this lazy file code out of the - // core of MEMFS. If we want to keep this lazy file concept I feel it should - // be its own thin LAZYFS proxying calls to MEMFS. - if (properties.contents) { - node.contents = properties.contents; - } else if (properties.url) { - node.contents = null; - node.url = properties.url; - } - // Add a function that defers querying the file size until it is asked the first time. - Object.defineProperty(node, "usedBytes", { - get: function() { return this.contents.length; } - }); - // override each stream op with one that tries to force load the lazy file first - var stream_ops = {}; - var keys = Object.keys(node.stream_ops); - keys.forEach(function(key) { - var fn = node.stream_ops[key]; - stream_ops[key] = function forceLoadLazyFile() { - if (!FS.forceLoadFile(node)) { - throw new FS.ErrnoError(ERRNO_CODES.EIO); - } - return fn.apply(null, arguments); - }; - }); - // use a custom read function - stream_ops.read = function stream_ops_read(stream, buffer, offset, length, position) { - if (!FS.forceLoadFile(node)) { - throw new FS.ErrnoError(ERRNO_CODES.EIO); - } - var contents = stream.node.contents; - if (position >= contents.length) - return 0; - var size = Math.min(contents.length - position, length); - assert(size >= 0); - if (contents.slice) { // normal array - for (var i = 0; i < size; i++) { - buffer[offset + i] = contents[position + i]; - } - } else { - for (var i = 0; i < size; i++) { // LazyUint8Array from sync binary XHR - buffer[offset + i] = contents.get(position + i); - } - } - return size; - }; - node.stream_ops = stream_ops; - return node; - },createPreloadedFile:function (parent, name, url, canRead, canWrite, onload, onerror, dontCreateFile, canOwn, preFinish) { - Browser.init(); - // TODO we should allow people to just pass in a complete filename instead - // of parent and name being that we just join them anyways - var fullname = name ? PATH.resolve(PATH.join2(parent, name)) : parent; - var dep = getUniqueRunDependency('cp ' + fullname); // might have several active requests for the same fullname - function processData(byteArray) { - function finish(byteArray) { - if (preFinish) preFinish(); - if (!dontCreateFile) { - FS.createDataFile(parent, name, byteArray, canRead, canWrite, canOwn); - } - if (onload) onload(); - removeRunDependency(dep); - } - var handled = false; - Module['preloadPlugins'].forEach(function(plugin) { - if (handled) return; - if (plugin['canHandle'](fullname)) { - plugin['handle'](byteArray, fullname, finish, function() { - if (onerror) onerror(); - removeRunDependency(dep); - }); - handled = true; - } - }); - if (!handled) finish(byteArray); - } - addRunDependency(dep); - if (typeof url == 'string') { - Browser.asyncLoad(url, function(byteArray) { - processData(byteArray); - }, onerror); - } else { - processData(url); - } - },indexedDB:function () { - return window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB; - },DB_NAME:function () { - return 'EM_FS_' + window.location.pathname; - },DB_VERSION:20,DB_STORE_NAME:"FILE_DATA",saveFilesToDB:function (paths, onload, onerror) { - onload = onload || function(){}; - onerror = onerror || function(){}; - var indexedDB = FS.indexedDB(); - try { - var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION); - } catch (e) { - return onerror(e); - } - openRequest.onupgradeneeded = function openRequest_onupgradeneeded() { - console.log('creating db'); - var db = openRequest.result; - db.createObjectStore(FS.DB_STORE_NAME); - }; - openRequest.onsuccess = function openRequest_onsuccess() { - var db = openRequest.result; - var transaction = db.transaction([FS.DB_STORE_NAME], 'readwrite'); - var files = transaction.objectStore(FS.DB_STORE_NAME); - var ok = 0, fail = 0, total = paths.length; - function finish() { - if (fail == 0) onload(); else onerror(); - } - paths.forEach(function(path) { - var putRequest = files.put(FS.analyzePath(path).object.contents, path); - putRequest.onsuccess = function putRequest_onsuccess() { ok++; if (ok + fail == total) finish() }; - putRequest.onerror = function putRequest_onerror() { fail++; if (ok + fail == total) finish() }; - }); - transaction.onerror = onerror; - }; - openRequest.onerror = onerror; - },loadFilesFromDB:function (paths, onload, onerror) { - onload = onload || function(){}; - onerror = onerror || function(){}; - var indexedDB = FS.indexedDB(); - try { - var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION); - } catch (e) { - return onerror(e); - } - openRequest.onupgradeneeded = onerror; // no database to load from - openRequest.onsuccess = function openRequest_onsuccess() { - var db = openRequest.result; - try { - var transaction = db.transaction([FS.DB_STORE_NAME], 'readonly'); - } catch(e) { - onerror(e); - return; - } - var files = transaction.objectStore(FS.DB_STORE_NAME); - var ok = 0, fail = 0, total = paths.length; - function finish() { - if (fail == 0) onload(); else onerror(); - } - paths.forEach(function(path) { - var getRequest = files.get(path); - getRequest.onsuccess = function getRequest_onsuccess() { - if (FS.analyzePath(path).exists) { - FS.unlink(path); - } - FS.createDataFile(PATH.dirname(path), PATH.basename(path), getRequest.result, true, true, true); - ok++; - if (ok + fail == total) finish(); - }; - getRequest.onerror = function getRequest_onerror() { fail++; if (ok + fail == total) finish() }; - }); - transaction.onerror = onerror; - }; - openRequest.onerror = onerror; - }};var SYSCALLS={DEFAULT_POLLMASK:5,mappings:{},umask:511,calculateAt:function (dirfd, path) { - if (path[0] !== '/') { - // relative path - var dir; - if (dirfd === -100) { - dir = FS.cwd(); - } else { - var dirstream = FS.getStream(dirfd); - if (!dirstream) throw new FS.ErrnoError(ERRNO_CODES.EBADF); - dir = dirstream.path; - } - path = PATH.join2(dir, path); - } - return path; - },doStat:function (func, path, buf) { - try { - var stat = func(path); - } catch (e) { - if (e && e.node && PATH.normalize(path) !== PATH.normalize(FS.getPath(e.node))) { - // an error occurred while trying to look up the path; we should just report ENOTDIR - return -ERRNO_CODES.ENOTDIR; - } - throw e; - } - HEAP32[((buf)>>2)]=stat.dev; - HEAP32[(((buf)+(4))>>2)]=0; - HEAP32[(((buf)+(8))>>2)]=stat.ino; - HEAP32[(((buf)+(12))>>2)]=stat.mode; - HEAP32[(((buf)+(16))>>2)]=stat.nlink; - HEAP32[(((buf)+(20))>>2)]=stat.uid; - HEAP32[(((buf)+(24))>>2)]=stat.gid; - HEAP32[(((buf)+(28))>>2)]=stat.rdev; - HEAP32[(((buf)+(32))>>2)]=0; - HEAP32[(((buf)+(36))>>2)]=stat.size; - HEAP32[(((buf)+(40))>>2)]=4096; - HEAP32[(((buf)+(44))>>2)]=stat.blocks; - HEAP32[(((buf)+(48))>>2)]=(stat.atime.getTime() / 1000)|0; - HEAP32[(((buf)+(52))>>2)]=0; - HEAP32[(((buf)+(56))>>2)]=(stat.mtime.getTime() / 1000)|0; - HEAP32[(((buf)+(60))>>2)]=0; - HEAP32[(((buf)+(64))>>2)]=(stat.ctime.getTime() / 1000)|0; - HEAP32[(((buf)+(68))>>2)]=0; - HEAP32[(((buf)+(72))>>2)]=stat.ino; - return 0; - },doMsync:function (addr, stream, len, flags) { - var buffer = new Uint8Array(HEAPU8.subarray(addr, addr + len)); - FS.msync(stream, buffer, 0, len, flags); - },doMkdir:function (path, mode) { - // remove a trailing slash, if one - /a/b/ has basename of '', but - // we want to create b in the context of this function - path = PATH.normalize(path); - if (path[path.length-1] === '/') path = path.substr(0, path.length-1); - FS.mkdir(path, mode, 0); - return 0; - },doMknod:function (path, mode, dev) { - // we don't want this in the JS API as it uses mknod to create all nodes. - switch (mode & 61440) { - case 32768: - case 8192: - case 24576: - case 4096: - case 49152: - break; - default: return -ERRNO_CODES.EINVAL; - } - FS.mknod(path, mode, dev); - return 0; - },doReadlink:function (path, buf, bufsize) { - if (bufsize <= 0) return -ERRNO_CODES.EINVAL; - var ret = FS.readlink(path); - ret = ret.slice(0, Math.max(0, bufsize)); - writeStringToMemory(ret, buf, true); - return ret.length; - },doAccess:function (path, amode) { - if (amode & ~7) { - // need a valid mode - return -ERRNO_CODES.EINVAL; - } - var node; - var lookup = FS.lookupPath(path, { follow: true }); - node = lookup.node; - var perms = ''; - if (amode & 4) perms += 'r'; - if (amode & 2) perms += 'w'; - if (amode & 1) perms += 'x'; - if (perms /* otherwise, they've just passed F_OK */ && FS.nodePermissions(node, perms)) { - return -ERRNO_CODES.EACCES; - } - return 0; - },doDup:function (path, flags, suggestFD) { - var suggest = FS.getStream(suggestFD); - if (suggest) FS.close(suggest); - return FS.open(path, flags, 0, suggestFD, suggestFD).fd; - },doReadv:function (stream, iov, iovcnt, offset) { - var ret = 0; - for (var i = 0; i < iovcnt; i++) { - var ptr = HEAP32[(((iov)+(i*8))>>2)]; - var len = HEAP32[(((iov)+(i*8 + 4))>>2)]; - var curr = FS.read(stream, HEAP8,ptr, len, offset); - if (curr < 0) return -1; - ret += curr; - if (curr < len) break; // nothing more to read - } - return ret; - },doWritev:function (stream, iov, iovcnt, offset) { - var ret = 0; - for (var i = 0; i < iovcnt; i++) { - var ptr = HEAP32[(((iov)+(i*8))>>2)]; - var len = HEAP32[(((iov)+(i*8 + 4))>>2)]; - var curr = FS.write(stream, HEAP8,ptr, len, offset); - if (curr < 0) return -1; - ret += curr; - } - return ret; - },varargs:0,get:function (varargs) { - SYSCALLS.varargs += 4; - var ret = HEAP32[(((SYSCALLS.varargs)-(4))>>2)]; - return ret; - },getStr:function () { - var ret = Pointer_stringify(SYSCALLS.get()); - return ret; - },getStreamFromFD:function () { - var stream = FS.getStream(SYSCALLS.get()); - if (!stream) throw new FS.ErrnoError(ERRNO_CODES.EBADF); - return stream; - },getSocketFromFD:function () { - var socket = SOCKFS.getSocket(SYSCALLS.get()); - if (!socket) throw new FS.ErrnoError(ERRNO_CODES.EBADF); - return socket; - },getSocketAddress:function (allowNull) { - var addrp = SYSCALLS.get(), addrlen = SYSCALLS.get(); - if (allowNull && addrp === 0) return null; - var info = __read_sockaddr(addrp, addrlen); - if (info.errno) throw new FS.ErrnoError(info.errno); - info.addr = DNS.lookup_addr(info.addr) || info.addr; - return info; - },get64:function () { - var low = SYSCALLS.get(), high = SYSCALLS.get(); - if (low >= 0) assert(high === 0); - else assert(high === -1); - return low; - },getZero:function () { - assert(SYSCALLS.get() === 0); - }};function ___syscall54(which, varargs) {SYSCALLS.varargs = varargs; - try { - // ioctl - var stream = SYSCALLS.getStreamFromFD(), op = SYSCALLS.get(); - switch (op) { - case 21505: { - if (!stream.tty) return -ERRNO_CODES.ENOTTY; - return 0; - } - case 21506: { - if (!stream.tty) return -ERRNO_CODES.ENOTTY; - return 0; // no-op, not actually adjusting terminal settings - } - case 21519: { - if (!stream.tty) return -ERRNO_CODES.ENOTTY; - var argp = SYSCALLS.get(); - HEAP32[((argp)>>2)]=0; - return 0; - } - case 21520: { - if (!stream.tty) return -ERRNO_CODES.ENOTTY; - return -ERRNO_CODES.EINVAL; // not supported - } - case 21531: { - var argp = SYSCALLS.get(); - return FS.ioctl(stream, op, argp); - } - default: abort('bad ioctl syscall ' + op); - } - } catch (e) { - if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); - return -e.errno; - } - } - - function _emscripten_glSampleCoverage(x0, x1) { GLctx.sampleCoverage(x0, x1) } - - function _glDeleteTextures(n, textures) { - for (var i = 0; i < n; i++) { - var id = HEAP32[(((textures)+(i*4))>>2)]; - var texture = GL.textures[id]; - if (!texture) continue; // GL spec: "glDeleteTextures silently ignores 0s and names that do not correspond to existing textures". - GLctx.deleteTexture(texture); - texture.name = 0; - GL.textures[id] = null; - } - } - - function _emscripten_glFrustum() { - Module['printErr']('missing function: emscripten_glFrustum'); abort(-1); - } - - function _glfwSetWindowSizeCallback(winid, cbfun) { - GLFW.setWindowSizeCallback(winid, cbfun); - } - - function _emscripten_glGetTexParameterfv(target, pname, params) { - if (!params) { - // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense - // if p == null, issue a GL error to notify user about it. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - HEAPF32[((params)>>2)]=GLctx.getTexParameter(target, pname); - } - - function _emscripten_glUniform4i(location, v0, v1, v2, v3) { - location = GL.uniforms[location]; - GLctx.uniform4i(location, v0, v1, v2, v3); - } - - function _emscripten_glBindRenderbuffer(target, renderbuffer) { - GLctx.bindRenderbuffer(target, renderbuffer ? GL.renderbuffers[renderbuffer] : null); - } - - - - - - function _emscripten_set_main_loop_timing(mode, value) { - Browser.mainLoop.timingMode = mode; - Browser.mainLoop.timingValue = value; - - if (!Browser.mainLoop.func) { - return 1; // Return non-zero on failure, can't set timing mode when there is no main loop. - } - - if (mode == 0 /*EM_TIMING_SETTIMEOUT*/) { - Browser.mainLoop.scheduler = function Browser_mainLoop_scheduler_setTimeout() { - setTimeout(Browser.mainLoop.runner, value); // doing this each time means that on exception, we stop - }; - Browser.mainLoop.method = 'timeout'; - } else if (mode == 1 /*EM_TIMING_RAF*/) { - Browser.mainLoop.scheduler = function Browser_mainLoop_scheduler_rAF() { - Browser.requestAnimationFrame(Browser.mainLoop.runner); - }; - Browser.mainLoop.method = 'rAF'; - } else if (mode == 2 /*EM_TIMING_SETIMMEDIATE*/) { - if (!window['setImmediate']) { - // Emulate setImmediate. (note: not a complete polyfill, we don't emulate clearImmediate() to keep code size to minimum, since not needed) - var setImmediates = []; - var emscriptenMainLoopMessageId = '__emcc'; - function Browser_setImmediate_messageHandler(event) { - if (event.source === window && event.data === emscriptenMainLoopMessageId) { - event.stopPropagation(); - setImmediates.shift()(); - } - } - window.addEventListener("message", Browser_setImmediate_messageHandler, true); - window['setImmediate'] = function Browser_emulated_setImmediate(func) { - setImmediates.push(func); - window.postMessage(emscriptenMainLoopMessageId, "*"); - } - } - Browser.mainLoop.scheduler = function Browser_mainLoop_scheduler_setImmediate() { - window['setImmediate'](Browser.mainLoop.runner); - }; - Browser.mainLoop.method = 'immediate'; - } - return 0; - }function _emscripten_set_main_loop(func, fps, simulateInfiniteLoop, arg, noSetTiming) { - Module['noExitRuntime'] = true; - - assert(!Browser.mainLoop.func, 'emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters.'); - - Browser.mainLoop.func = func; - Browser.mainLoop.arg = arg; - - var thisMainLoopId = Browser.mainLoop.currentlyRunningMainloop; - - Browser.mainLoop.runner = function Browser_mainLoop_runner() { - if (ABORT) return; - if (Browser.mainLoop.queue.length > 0) { - var start = Date.now(); - var blocker = Browser.mainLoop.queue.shift(); - blocker.func(blocker.arg); - if (Browser.mainLoop.remainingBlockers) { - var remaining = Browser.mainLoop.remainingBlockers; - var next = remaining%1 == 0 ? remaining-1 : Math.floor(remaining); - if (blocker.counted) { - Browser.mainLoop.remainingBlockers = next; - } else { - // not counted, but move the progress along a tiny bit - next = next + 0.5; // do not steal all the next one's progress - Browser.mainLoop.remainingBlockers = (8*remaining + next)/9; - } - } - console.log('main loop blocker "' + blocker.name + '" took ' + (Date.now() - start) + ' ms'); //, left: ' + Browser.mainLoop.remainingBlockers); - Browser.mainLoop.updateStatus(); - setTimeout(Browser.mainLoop.runner, 0); - return; - } - - // catch pauses from non-main loop sources - if (thisMainLoopId < Browser.mainLoop.currentlyRunningMainloop) return; - - // Implement very basic swap interval control - Browser.mainLoop.currentFrameNumber = Browser.mainLoop.currentFrameNumber + 1 | 0; - if (Browser.mainLoop.timingMode == 1/*EM_TIMING_RAF*/ && Browser.mainLoop.timingValue > 1 && Browser.mainLoop.currentFrameNumber % Browser.mainLoop.timingValue != 0) { - // Not the scheduled time to render this frame - skip. - Browser.mainLoop.scheduler(); - return; - } - - // Signal GL rendering layer that processing of a new frame is about to start. This helps it optimize - // VBO double-buffering and reduce GPU stalls. - - if (Browser.mainLoop.method === 'timeout' && Module.ctx) { - Module.printErr('Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!'); - Browser.mainLoop.method = ''; // just warn once per call to set main loop - } - - Browser.mainLoop.runIter(function() { - if (typeof arg !== 'undefined') { - Runtime.dynCall('vi', func, [arg]); - } else { - Runtime.dynCall('v', func); - } - }); - - // catch pauses from the main loop itself - if (thisMainLoopId < Browser.mainLoop.currentlyRunningMainloop) return; - - // Queue new audio data. This is important to be right after the main loop invocation, so that we will immediately be able - // to queue the newest produced audio samples. - // TODO: Consider adding pre- and post- rAF callbacks so that GL.newRenderingFrameStarted() and SDL.audio.queueNewAudioData() - // do not need to be hardcoded into this function, but can be more generic. - if (typeof SDL === 'object' && SDL.audio && SDL.audio.queueNewAudioData) SDL.audio.queueNewAudioData(); - - Browser.mainLoop.scheduler(); - } - - if (!noSetTiming) { - if (fps && fps > 0) _emscripten_set_main_loop_timing(0/*EM_TIMING_SETTIMEOUT*/, 1000.0 / fps); - else _emscripten_set_main_loop_timing(1/*EM_TIMING_RAF*/, 1); // Do rAF by rendering each frame (no decimating) - - Browser.mainLoop.scheduler(); - } - - if (simulateInfiniteLoop) { - throw 'SimulateInfiniteLoop'; - } - }var Browser={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function () { - Browser.mainLoop.scheduler = null; - Browser.mainLoop.currentlyRunningMainloop++; // Incrementing this signals the previous main loop that it's now become old, and it must return. - },resume:function () { - Browser.mainLoop.currentlyRunningMainloop++; - var timingMode = Browser.mainLoop.timingMode; - var timingValue = Browser.mainLoop.timingValue; - var func = Browser.mainLoop.func; - Browser.mainLoop.func = null; - _emscripten_set_main_loop(func, 0, false, Browser.mainLoop.arg, true /* do not set timing and call scheduler, we will do it on the next lines */); - _emscripten_set_main_loop_timing(timingMode, timingValue); - Browser.mainLoop.scheduler(); - },updateStatus:function () { - if (Module['setStatus']) { - var message = Module['statusMessage'] || 'Please wait...'; - var remaining = Browser.mainLoop.remainingBlockers; - var expected = Browser.mainLoop.expectedBlockers; - if (remaining) { - if (remaining < expected) { - Module['setStatus'](message + ' (' + (expected - remaining) + '/' + expected + ')'); - } else { - Module['setStatus'](message); - } - } else { - Module['setStatus'](''); - } - } - },runIter:function (func) { - if (ABORT) return; - if (Module['preMainLoop']) { - var preRet = Module['preMainLoop'](); - if (preRet === false) { - return; // |return false| skips a frame - } - } - try { - func(); - } catch (e) { - if (e instanceof ExitStatus) { - return; - } else { - if (e && typeof e === 'object' && e.stack) Module.printErr('exception thrown: ' + [e, e.stack]); - throw e; - } - } - if (Module['postMainLoop']) Module['postMainLoop'](); - }},isFullScreen:false,pointerLock:false,moduleContextCreatedCallbacks:[],workers:[],init:function () { - if (!Module["preloadPlugins"]) Module["preloadPlugins"] = []; // needs to exist even in workers - - if (Browser.initted) return; - Browser.initted = true; - - try { - new Blob(); - Browser.hasBlobConstructor = true; - } catch(e) { - Browser.hasBlobConstructor = false; - console.log("warning: no blob constructor, cannot create blobs with mimetypes"); - } - Browser.BlobBuilder = typeof MozBlobBuilder != "undefined" ? MozBlobBuilder : (typeof WebKitBlobBuilder != "undefined" ? WebKitBlobBuilder : (!Browser.hasBlobConstructor ? console.log("warning: no BlobBuilder") : null)); - Browser.URLObject = typeof window != "undefined" ? (window.URL ? window.URL : window.webkitURL) : undefined; - if (!Module.noImageDecoding && typeof Browser.URLObject === 'undefined') { - console.log("warning: Browser does not support creating object URLs. Built-in browser image decoding will not be available."); - Module.noImageDecoding = true; - } - - // Support for plugins that can process preloaded files. You can add more of these to - // your app by creating and appending to Module.preloadPlugins. - // - // Each plugin is asked if it can handle a file based on the file's name. If it can, - // it is given the file's raw data. When it is done, it calls a callback with the file's - // (possibly modified) data. For example, a plugin might decompress a file, or it - // might create some side data structure for use later (like an Image element, etc.). - - var imagePlugin = {}; - imagePlugin['canHandle'] = function imagePlugin_canHandle(name) { - return !Module.noImageDecoding && /\.(jpg|jpeg|png|bmp)$/i.test(name); - }; - imagePlugin['handle'] = function imagePlugin_handle(byteArray, name, onload, onerror) { - var b = null; - if (Browser.hasBlobConstructor) { - try { - b = new Blob([byteArray], { type: Browser.getMimetype(name) }); - if (b.size !== byteArray.length) { // Safari bug #118630 - // Safari's Blob can only take an ArrayBuffer - b = new Blob([(new Uint8Array(byteArray)).buffer], { type: Browser.getMimetype(name) }); - } - } catch(e) { - Runtime.warnOnce('Blob constructor present but fails: ' + e + '; falling back to blob builder'); - } - } - if (!b) { - var bb = new Browser.BlobBuilder(); - bb.append((new Uint8Array(byteArray)).buffer); // we need to pass a buffer, and must copy the array to get the right data range - b = bb.getBlob(); - } - var url = Browser.URLObject.createObjectURL(b); - var img = new Image(); - img.onload = function img_onload() { - assert(img.complete, 'Image ' + name + ' could not be decoded'); - var canvas = document.createElement('canvas'); - canvas.width = img.width; - canvas.height = img.height; - var ctx = canvas.getContext('2d'); - ctx.drawImage(img, 0, 0); - Module["preloadedImages"][name] = canvas; - Browser.URLObject.revokeObjectURL(url); - if (onload) onload(byteArray); - }; - img.onerror = function img_onerror(event) { - console.log('Image ' + url + ' could not be decoded'); - if (onerror) onerror(); - }; - img.src = url; - }; - Module['preloadPlugins'].push(imagePlugin); - - var audioPlugin = {}; - audioPlugin['canHandle'] = function audioPlugin_canHandle(name) { - return !Module.noAudioDecoding && name.substr(-4) in { '.ogg': 1, '.wav': 1, '.mp3': 1 }; - }; - audioPlugin['handle'] = function audioPlugin_handle(byteArray, name, onload, onerror) { - var done = false; - function finish(audio) { - if (done) return; - done = true; - Module["preloadedAudios"][name] = audio; - if (onload) onload(byteArray); - } - function fail() { - if (done) return; - done = true; - Module["preloadedAudios"][name] = new Audio(); // empty shim - if (onerror) onerror(); - } - if (Browser.hasBlobConstructor) { - try { - var b = new Blob([byteArray], { type: Browser.getMimetype(name) }); - } catch(e) { - return fail(); - } - var url = Browser.URLObject.createObjectURL(b); // XXX we never revoke this! - var audio = new Audio(); - audio.addEventListener('canplaythrough', function() { finish(audio) }, false); // use addEventListener due to chromium bug 124926 - audio.onerror = function audio_onerror(event) { - if (done) return; - console.log('warning: browser could not fully decode audio ' + name + ', trying slower base64 approach'); - function encode64(data) { - var BASE = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'; - var PAD = '='; - var ret = ''; - var leftchar = 0; - var leftbits = 0; - for (var i = 0; i < data.length; i++) { - leftchar = (leftchar << 8) | data[i]; - leftbits += 8; - while (leftbits >= 6) { - var curr = (leftchar >> (leftbits-6)) & 0x3f; - leftbits -= 6; - ret += BASE[curr]; - } - } - if (leftbits == 2) { - ret += BASE[(leftchar&3) << 4]; - ret += PAD + PAD; - } else if (leftbits == 4) { - ret += BASE[(leftchar&0xf) << 2]; - ret += PAD; - } - return ret; - } - audio.src = 'data:audio/x-' + name.substr(-3) + ';base64,' + encode64(byteArray); - finish(audio); // we don't wait for confirmation this worked - but it's worth trying - }; - audio.src = url; - // workaround for chrome bug 124926 - we do not always get oncanplaythrough or onerror - Browser.safeSetTimeout(function() { - finish(audio); // try to use it even though it is not necessarily ready to play - }, 10000); - } else { - return fail(); - } - }; - Module['preloadPlugins'].push(audioPlugin); - - // Canvas event setup - - var canvas = Module['canvas']; - function pointerLockChange() { - Browser.pointerLock = document['pointerLockElement'] === canvas || - document['mozPointerLockElement'] === canvas || - document['webkitPointerLockElement'] === canvas || - document['msPointerLockElement'] === canvas; - } - if (canvas) { - // forced aspect ratio can be enabled by defining 'forcedAspectRatio' on Module - // Module['forcedAspectRatio'] = 4 / 3; - - canvas.requestPointerLock = canvas['requestPointerLock'] || - canvas['mozRequestPointerLock'] || - canvas['webkitRequestPointerLock'] || - canvas['msRequestPointerLock'] || - function(){}; - canvas.exitPointerLock = document['exitPointerLock'] || - document['mozExitPointerLock'] || - document['webkitExitPointerLock'] || - document['msExitPointerLock'] || - function(){}; // no-op if function does not exist - canvas.exitPointerLock = canvas.exitPointerLock.bind(document); - - - document.addEventListener('pointerlockchange', pointerLockChange, false); - document.addEventListener('mozpointerlockchange', pointerLockChange, false); - document.addEventListener('webkitpointerlockchange', pointerLockChange, false); - document.addEventListener('mspointerlockchange', pointerLockChange, false); - - if (Module['elementPointerLock']) { - canvas.addEventListener("click", function(ev) { - if (!Browser.pointerLock && canvas.requestPointerLock) { - canvas.requestPointerLock(); - ev.preventDefault(); - } - }, false); - } - } - },createContext:function (canvas, useWebGL, setInModule, webGLContextAttributes) { - if (useWebGL && Module.ctx && canvas == Module.canvas) return Module.ctx; // no need to recreate GL context if it's already been created for this canvas. - - var ctx; - var contextHandle; - if (useWebGL) { - // For GLES2/desktop GL compatibility, adjust a few defaults to be different to WebGL defaults, so that they align better with the desktop defaults. - var contextAttributes = { - antialias: false, - alpha: false - }; - - if (webGLContextAttributes) { - for (var attribute in webGLContextAttributes) { - contextAttributes[attribute] = webGLContextAttributes[attribute]; - } - } - - contextHandle = GL.createContext(canvas, contextAttributes); - if (contextHandle) { - ctx = GL.getContext(contextHandle).GLctx; - } - // Set the background of the WebGL canvas to black - canvas.style.backgroundColor = "black"; - } else { - ctx = canvas.getContext('2d'); - } - - if (!ctx) return null; - - if (setInModule) { - if (!useWebGL) assert(typeof GLctx === 'undefined', 'cannot set in module if GLctx is used, but we are a non-GL context that would replace it'); - - Module.ctx = ctx; - if (useWebGL) GL.makeContextCurrent(contextHandle); - Module.useWebGL = useWebGL; - Browser.moduleContextCreatedCallbacks.forEach(function(callback) { callback() }); - Browser.init(); - } - return ctx; - },destroyContext:function (canvas, useWebGL, setInModule) {},fullScreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullScreen:function (lockPointer, resizeCanvas, vrDevice) { - Browser.lockPointer = lockPointer; - Browser.resizeCanvas = resizeCanvas; - Browser.vrDevice = vrDevice; - if (typeof Browser.lockPointer === 'undefined') Browser.lockPointer = true; - if (typeof Browser.resizeCanvas === 'undefined') Browser.resizeCanvas = false; - if (typeof Browser.vrDevice === 'undefined') Browser.vrDevice = null; - - var canvas = Module['canvas']; - function fullScreenChange() { - Browser.isFullScreen = false; - var canvasContainer = canvas.parentNode; - if ((document['webkitFullScreenElement'] || document['webkitFullscreenElement'] || - document['mozFullScreenElement'] || document['mozFullscreenElement'] || - document['fullScreenElement'] || document['fullscreenElement'] || - document['msFullScreenElement'] || document['msFullscreenElement'] || - document['webkitCurrentFullScreenElement']) === canvasContainer) { - canvas.cancelFullScreen = document['cancelFullScreen'] || - document['mozCancelFullScreen'] || - document['webkitCancelFullScreen'] || - document['msExitFullscreen'] || - document['exitFullscreen'] || - function() {}; - canvas.cancelFullScreen = canvas.cancelFullScreen.bind(document); - if (Browser.lockPointer) canvas.requestPointerLock(); - Browser.isFullScreen = true; - if (Browser.resizeCanvas) Browser.setFullScreenCanvasSize(); - } else { - - // remove the full screen specific parent of the canvas again to restore the HTML structure from before going full screen - canvasContainer.parentNode.insertBefore(canvas, canvasContainer); - canvasContainer.parentNode.removeChild(canvasContainer); - - if (Browser.resizeCanvas) Browser.setWindowedCanvasSize(); - } - if (Module['onFullScreen']) Module['onFullScreen'](Browser.isFullScreen); - Browser.updateCanvasDimensions(canvas); - } - - if (!Browser.fullScreenHandlersInstalled) { - Browser.fullScreenHandlersInstalled = true; - document.addEventListener('fullscreenchange', fullScreenChange, false); - document.addEventListener('mozfullscreenchange', fullScreenChange, false); - document.addEventListener('webkitfullscreenchange', fullScreenChange, false); - document.addEventListener('MSFullscreenChange', fullScreenChange, false); - } - - // create a new parent to ensure the canvas has no siblings. this allows browsers to optimize full screen performance when its parent is the full screen root - var canvasContainer = document.createElement("div"); - canvas.parentNode.insertBefore(canvasContainer, canvas); - canvasContainer.appendChild(canvas); - - // use parent of canvas as full screen root to allow aspect ratio correction (Firefox stretches the root to screen size) - canvasContainer.requestFullScreen = canvasContainer['requestFullScreen'] || - canvasContainer['mozRequestFullScreen'] || - canvasContainer['msRequestFullscreen'] || - (canvasContainer['webkitRequestFullScreen'] ? function() { canvasContainer['webkitRequestFullScreen'](Element['ALLOW_KEYBOARD_INPUT']) } : null); - - if (vrDevice) { - canvasContainer.requestFullScreen({ vrDisplay: vrDevice }); - } else { - canvasContainer.requestFullScreen(); - } - },nextRAF:0,fakeRequestAnimationFrame:function (func) { - // try to keep 60fps between calls to here - var now = Date.now(); - if (Browser.nextRAF === 0) { - Browser.nextRAF = now + 1000/60; - } else { - while (now + 2 >= Browser.nextRAF) { // fudge a little, to avoid timer jitter causing us to do lots of delay:0 - Browser.nextRAF += 1000/60; - } - } - var delay = Math.max(Browser.nextRAF - now, 0); - setTimeout(func, delay); - },requestAnimationFrame:function requestAnimationFrame(func) { - if (typeof window === 'undefined') { // Provide fallback to setTimeout if window is undefined (e.g. in Node.js) - Browser.fakeRequestAnimationFrame(func); - } else { - if (!window.requestAnimationFrame) { - window.requestAnimationFrame = window['requestAnimationFrame'] || - window['mozRequestAnimationFrame'] || - window['webkitRequestAnimationFrame'] || - window['msRequestAnimationFrame'] || - window['oRequestAnimationFrame'] || - Browser.fakeRequestAnimationFrame; - } - window.requestAnimationFrame(func); - } - },safeCallback:function (func) { - return function() { - if (!ABORT) return func.apply(null, arguments); - }; - },allowAsyncCallbacks:true,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function () { - Browser.allowAsyncCallbacks = false; - },resumeAsyncCallbacks:function () { // marks future callbacks as ok to execute, and synchronously runs any remaining ones right now - Browser.allowAsyncCallbacks = true; - if (Browser.queuedAsyncCallbacks.length > 0) { - var callbacks = Browser.queuedAsyncCallbacks; - Browser.queuedAsyncCallbacks = []; - callbacks.forEach(function(func) { - func(); - }); - } - },safeRequestAnimationFrame:function (func) { - return Browser.requestAnimationFrame(function() { - if (ABORT) return; - if (Browser.allowAsyncCallbacks) { - func(); - } else { - Browser.queuedAsyncCallbacks.push(func); - } - }); - },safeSetTimeout:function (func, timeout) { - Module['noExitRuntime'] = true; - return setTimeout(function() { - if (ABORT) return; - if (Browser.allowAsyncCallbacks) { - func(); - } else { - Browser.queuedAsyncCallbacks.push(func); - } - }, timeout); - },safeSetInterval:function (func, timeout) { - Module['noExitRuntime'] = true; - return setInterval(function() { - if (ABORT) return; - if (Browser.allowAsyncCallbacks) { - func(); - } // drop it on the floor otherwise, next interval will kick in - }, timeout); - },getMimetype:function (name) { - return { - 'jpg': 'image/jpeg', - 'jpeg': 'image/jpeg', - 'png': 'image/png', - 'bmp': 'image/bmp', - 'ogg': 'audio/ogg', - 'wav': 'audio/wav', - 'mp3': 'audio/mpeg' - }[name.substr(name.lastIndexOf('.')+1)]; - },getUserMedia:function (func) { - if(!window.getUserMedia) { - window.getUserMedia = navigator['getUserMedia'] || - navigator['mozGetUserMedia']; - } - window.getUserMedia(func); - },getMovementX:function (event) { - return event['movementX'] || - event['mozMovementX'] || - event['webkitMovementX'] || - 0; - },getMovementY:function (event) { - return event['movementY'] || - event['mozMovementY'] || - event['webkitMovementY'] || - 0; - },getMouseWheelDelta:function (event) { - var delta = 0; - switch (event.type) { - case 'DOMMouseScroll': - delta = event.detail; - break; - case 'mousewheel': - delta = event.wheelDelta; - break; - case 'wheel': - delta = event['deltaY']; - break; - default: - throw 'unrecognized mouse wheel event: ' + event.type; - } - return delta; - },mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function (event) { // event should be mousemove, mousedown or mouseup - if (Browser.pointerLock) { - // When the pointer is locked, calculate the coordinates - // based on the movement of the mouse. - // Workaround for Firefox bug 764498 - if (event.type != 'mousemove' && - ('mozMovementX' in event)) { - Browser.mouseMovementX = Browser.mouseMovementY = 0; - } else { - Browser.mouseMovementX = Browser.getMovementX(event); - Browser.mouseMovementY = Browser.getMovementY(event); - } - - // check if SDL is available - if (typeof SDL != "undefined") { - Browser.mouseX = SDL.mouseX + Browser.mouseMovementX; - Browser.mouseY = SDL.mouseY + Browser.mouseMovementY; - } else { - // just add the mouse delta to the current absolut mouse position - // FIXME: ideally this should be clamped against the canvas size and zero - Browser.mouseX += Browser.mouseMovementX; - Browser.mouseY += Browser.mouseMovementY; - } - } else { - // Otherwise, calculate the movement based on the changes - // in the coordinates. - var rect = Module["canvas"].getBoundingClientRect(); - var cw = Module["canvas"].width; - var ch = Module["canvas"].height; - - // Neither .scrollX or .pageXOffset are defined in a spec, but - // we prefer .scrollX because it is currently in a spec draft. - // (see: http://www.w3.org/TR/2013/WD-cssom-view-20131217/) - var scrollX = ((typeof window.scrollX !== 'undefined') ? window.scrollX : window.pageXOffset); - var scrollY = ((typeof window.scrollY !== 'undefined') ? window.scrollY : window.pageYOffset); - - if (event.type === 'touchstart' || event.type === 'touchend' || event.type === 'touchmove') { - var touch = event.touch; - if (touch === undefined) { - return; // the "touch" property is only defined in SDL - - } - var adjustedX = touch.pageX - (scrollX + rect.left); - var adjustedY = touch.pageY - (scrollY + rect.top); - - adjustedX = adjustedX * (cw / rect.width); - adjustedY = adjustedY * (ch / rect.height); - - var coords = { x: adjustedX, y: adjustedY }; - - if (event.type === 'touchstart') { - Browser.lastTouches[touch.identifier] = coords; - Browser.touches[touch.identifier] = coords; - } else if (event.type === 'touchend' || event.type === 'touchmove') { - var last = Browser.touches[touch.identifier]; - if (!last) last = coords; - Browser.lastTouches[touch.identifier] = last; - Browser.touches[touch.identifier] = coords; - } - return; - } - - var x = event.pageX - (scrollX + rect.left); - var y = event.pageY - (scrollY + rect.top); - - // the canvas might be CSS-scaled compared to its backbuffer; - // SDL-using content will want mouse coordinates in terms - // of backbuffer units. - x = x * (cw / rect.width); - y = y * (ch / rect.height); - - Browser.mouseMovementX = x - Browser.mouseX; - Browser.mouseMovementY = y - Browser.mouseY; - Browser.mouseX = x; - Browser.mouseY = y; - } - },xhrLoad:function (url, onload, onerror) { - var xhr = new XMLHttpRequest(); - xhr.open('GET', url, true); - xhr.responseType = 'arraybuffer'; - xhr.onload = function xhr_onload() { - if (xhr.status == 200 || (xhr.status == 0 && xhr.response)) { // file URLs can return 0 - onload(xhr.response); - } else { - onerror(); - } - }; - xhr.onerror = onerror; - xhr.send(null); - },asyncLoad:function (url, onload, onerror, noRunDep) { - Browser.xhrLoad(url, function(arrayBuffer) { - assert(arrayBuffer, 'Loading data file "' + url + '" failed (no arrayBuffer).'); - onload(new Uint8Array(arrayBuffer)); - if (!noRunDep) removeRunDependency('al ' + url); - }, function(event) { - if (onerror) { - onerror(); - } else { - throw 'Loading data file "' + url + '" failed.'; - } - }); - if (!noRunDep) addRunDependency('al ' + url); - },resizeListeners:[],updateResizeListeners:function () { - var canvas = Module['canvas']; - Browser.resizeListeners.forEach(function(listener) { - listener(canvas.width, canvas.height); - }); - },setCanvasSize:function (width, height, noUpdates) { - var canvas = Module['canvas']; - Browser.updateCanvasDimensions(canvas, width, height); - if (!noUpdates) Browser.updateResizeListeners(); - },windowedWidth:0,windowedHeight:0,setFullScreenCanvasSize:function () { - // check if SDL is available - if (typeof SDL != "undefined") { - var flags = HEAPU32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)]; - flags = flags | 0x00800000; // set SDL_FULLSCREEN flag - HEAP32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)]=flags - } - Browser.updateResizeListeners(); - },setWindowedCanvasSize:function () { - // check if SDL is available - if (typeof SDL != "undefined") { - var flags = HEAPU32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)]; - flags = flags & ~0x00800000; // clear SDL_FULLSCREEN flag - HEAP32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)]=flags - } - Browser.updateResizeListeners(); - },updateCanvasDimensions:function (canvas, wNative, hNative) { - if (wNative && hNative) { - canvas.widthNative = wNative; - canvas.heightNative = hNative; - } else { - wNative = canvas.widthNative; - hNative = canvas.heightNative; - } - var w = wNative; - var h = hNative; - if (Module['forcedAspectRatio'] && Module['forcedAspectRatio'] > 0) { - if (w/h < Module['forcedAspectRatio']) { - w = Math.round(h * Module['forcedAspectRatio']); - } else { - h = Math.round(w / Module['forcedAspectRatio']); - } - } - if (((document['webkitFullScreenElement'] || document['webkitFullscreenElement'] || - document['mozFullScreenElement'] || document['mozFullscreenElement'] || - document['fullScreenElement'] || document['fullscreenElement'] || - document['msFullScreenElement'] || document['msFullscreenElement'] || - document['webkitCurrentFullScreenElement']) === canvas.parentNode) && (typeof screen != 'undefined')) { - var factor = Math.min(screen.width / w, screen.height / h); - w = Math.round(w * factor); - h = Math.round(h * factor); - } - if (Browser.resizeCanvas) { - if (canvas.width != w) canvas.width = w; - if (canvas.height != h) canvas.height = h; - if (typeof canvas.style != 'undefined') { - canvas.style.removeProperty( "width"); - canvas.style.removeProperty("height"); - } - } else { - if (canvas.width != wNative) canvas.width = wNative; - if (canvas.height != hNative) canvas.height = hNative; - if (typeof canvas.style != 'undefined') { - if (w != wNative || h != hNative) { - canvas.style.setProperty( "width", w + "px", "important"); - canvas.style.setProperty("height", h + "px", "important"); - } else { - canvas.style.removeProperty( "width"); - canvas.style.removeProperty("height"); - } - } - } - },wgetRequests:{},nextWgetRequestHandle:0,getNextWgetRequestHandle:function () { - var handle = Browser.nextWgetRequestHandle; - Browser.nextWgetRequestHandle++; - return handle; - }};var AL={contexts:[],currentContext:null,alcErr:0,stringCache:{},alcStringCache:{},QUEUE_INTERVAL:25,QUEUE_LOOKAHEAD:100,newSrcId:1,updateSources:function updateSources(context) { - // If we are animating using the requestAnimationFrame method, then the main loop does not run when in the background. - // To give a perfect glitch-free audio stop when switching from foreground to background, we need to avoid updating - // audio altogether when in the background, so detect that case and kill audio buffer streaming if so. - if (Browser.mainLoop.timingMode == 1/*EM_TIMING_RAF*/ && document['visibilityState'] != 'visible') return; - - for (var srcId in context.src) { - AL.updateSource(context.src[srcId]); - } - },updateSource:function updateSource(src) { - if (src.state !== 0x1012 /* AL_PLAYING */) { - return; - } - - var currentTime = AL.currentContext.ctx.currentTime; - var startTime = src.bufferPosition; - - for (var i = src.buffersPlayed; i < src.queue.length; i++) { - var entry = src.queue[i]; - - var startOffset = startTime - currentTime; - var endTime = startTime + entry.buffer.duration; - - // Clean up old buffers. - if (currentTime >= endTime) { - // Update our location in the queue. - src.bufferPosition = endTime; - src.buffersPlayed = i + 1; - - // Stop / restart the source when we hit the end. - if (src.buffersPlayed >= src.queue.length) { - if (src.loop) { - AL.setSourceState(src, 0x1012 /* AL_PLAYING */); - } else { - AL.setSourceState(src, 0x1014 /* AL_STOPPED */); - } - } - } - // Process all buffers that'll be played before the next tick. - else if (startOffset < (AL.QUEUE_LOOKAHEAD / 1000) && !entry.src) { - // If the start offset is negative, we need to offset the actual buffer. - var offset = Math.abs(Math.min(startOffset, 0)); - - entry.src = AL.currentContext.ctx.createBufferSource(); - entry.src.buffer = entry.buffer; - entry.src.connect(src.gain); - if (typeof(entry.src.start) !== 'undefined') { - entry.src.start(startTime, offset); - } else if (typeof(entry.src.noteOn) !== 'undefined') { - entry.src.noteOn(startTime); - } - } - - startTime = endTime; - } - },setSourceState:function setSourceState(src, state) { - if (state === 0x1012 /* AL_PLAYING */) { - if (src.state !== 0x1013 /* AL_PAUSED */) { - src.state = 0x1012 /* AL_PLAYING */; - // Reset our position. - src.bufferPosition = AL.currentContext.ctx.currentTime; - src.buffersPlayed = 0; - } else { - src.state = 0x1012 /* AL_PLAYING */; - // Use the current offset from src.bufferPosition to resume at the correct point. - src.bufferPosition = AL.currentContext.ctx.currentTime - src.bufferPosition; - } - AL.stopSourceQueue(src); - AL.updateSource(src); - } else if (state === 0x1013 /* AL_PAUSED */) { - if (src.state === 0x1012 /* AL_PLAYING */) { - src.state = 0x1013 /* AL_PAUSED */; - // Store off the current offset to restore with on resume. - src.bufferPosition = AL.currentContext.ctx.currentTime - src.bufferPosition; - AL.stopSourceQueue(src); - } - } else if (state === 0x1014 /* AL_STOPPED */) { - if (src.state !== 0x1011 /* AL_INITIAL */) { - src.state = 0x1014 /* AL_STOPPED */; - src.buffersPlayed = src.queue.length; - AL.stopSourceQueue(src); - } - } else if (state == 0x1011 /* AL_INITIAL */) { - if (src.state !== 0x1011 /* AL_INITIAL */) { - src.state = 0x1011 /* AL_INITIAL */; - src.bufferPosition = 0; - src.buffersPlayed = 0; - } - } - },stopSourceQueue:function stopSourceQueue(src) { - for (var i = 0; i < src.queue.length; i++) { - var entry = src.queue[i]; - if (entry.src) { - entry.src.stop(0); - entry.src = null; - } - } - }};function _alcGetCurrentContext() { - for (var i = 0; i < AL.contexts.length; ++i) { - if (AL.contexts[i] == AL.currentContext) { - return i + 1; - } - } - return 0; - } - - function _emscripten_glViewport(x0, x1, x2, x3) { GLctx.viewport(x0, x1, x2, x3) } - - - function _emscripten_memcpy_big(dest, src, num) { - HEAPU8.set(HEAPU8.subarray(src, src+num), dest); - return dest; - } - Module["_memcpy"] = _memcpy; - - var _llvm_pow_f64=Math_pow; - - function _emscripten_glCopyTexImage2D(x0, x1, x2, x3, x4, x5, x6, x7) { GLctx.copyTexImage2D(x0, x1, x2, x3, x4, x5, x6, x7) } - - function _alcGetString(device, param) { - if (AL.alcStringCache[param]) return AL.alcStringCache[param]; - var ret; - switch (param) { - case 0 /* ALC_NO_ERROR */: - ret = 'No Error'; - break; - case 0xA001 /* ALC_INVALID_DEVICE */: - ret = 'Invalid Device'; - break; - case 0xA002 /* ALC_INVALID_CONTEXT */: - ret = 'Invalid Context'; - break; - case 0xA003 /* ALC_INVALID_ENUM */: - ret = 'Invalid Enum'; - break; - case 0xA004 /* ALC_INVALID_VALUE */: - ret = 'Invalid Value'; - break; - case 0xA005 /* ALC_OUT_OF_MEMORY */: - ret = 'Out of Memory'; - break; - case 0x1004 /* ALC_DEFAULT_DEVICE_SPECIFIER */: - if (typeof(AudioContext) !== "undefined" || - typeof(webkitAudioContext) !== "undefined") { - ret = 'Device'; - } else { - return 0; - } - break; - case 0x1005 /* ALC_DEVICE_SPECIFIER */: - if (typeof(AudioContext) !== "undefined" || - typeof(webkitAudioContext) !== "undefined") { - ret = 'Device\0'; - } else { - ret = '\0'; - } - break; - case 0x311 /* ALC_CAPTURE_DEFAULT_DEVICE_SPECIFIER */: - return 0; - break; - case 0x310 /* ALC_CAPTURE_DEVICE_SPECIFIER */: - ret = '\0' - break; - case 0x1006 /* ALC_EXTENSIONS */: - if (!device) { - AL.alcErr = 0xA001 /* ALC_INVALID_DEVICE */; - return 0; - } - ret = ''; - break; - default: - AL.alcErr = 0xA003 /* ALC_INVALID_ENUM */; - return 0; - } - - ret = allocate(intArrayFromString(ret), 'i8', ALLOC_NORMAL); - - AL.alcStringCache[param] = ret; - - return ret; - } - - function _emscripten_glTexParameterfv(target, pname, params) { - var param = HEAPF32[((params)>>2)]; - GLctx.texParameterf(target, pname, param); - } - - function _emscripten_glLinkProgram(program) { - GLctx.linkProgram(GL.programs[program]); - GL.programInfos[program] = null; // uniforms no longer keep the same names after linking - GL.populateUniformTable(program); - } - - function _emscripten_glUniform3f(location, v0, v1, v2) { - location = GL.uniforms[location]; - GLctx.uniform3f(location, v0, v1, v2); - } - - function _emscripten_glGetObjectParameterivARB() { - Module['printErr']('missing function: emscripten_glGetObjectParameterivARB'); abort(-1); - } - - function _emscripten_glBlendFunc(x0, x1) { GLctx.blendFunc(x0, x1) } - - function _emscripten_glUniform3i(location, v0, v1, v2) { - location = GL.uniforms[location]; - GLctx.uniform3i(location, v0, v1, v2); - } - - function _emscripten_glStencilOp(x0, x1, x2) { GLctx.stencilOp(x0, x1, x2) } - - function _glCreateShader(shaderType) { - var id = GL.getNewId(GL.shaders); - GL.shaders[id] = GLctx.createShader(shaderType); - return id; - } - - function _glUniform1i(location, v0) { - location = GL.uniforms[location]; - GLctx.uniform1i(location, v0); - } - - function _emscripten_glBindAttribLocation(program, index, name) { - name = Pointer_stringify(name); - GLctx.bindAttribLocation(GL.programs[program], index, name); - } - - var _cosf=Math_cos; - - function _glCompressedTexImage2D(target, level, internalFormat, width, height, border, imageSize, data) { - var heapView; - if (data) { - heapView = HEAPU8.subarray((data),(data+imageSize)); - } else { - heapView = null; - } - GLctx['compressedTexImage2D'](target, level, internalFormat, width, height, border, heapView); - } - - function _glDisable(x0) { GLctx.disable(x0) } - - function _glfwGetMouseButton(winid, button) { - return GLFW.getMouseButton(winid, button); - } - - function _emscripten_glEnableVertexAttribArray(index) { - GLctx.enableVertexAttribArray(index); - } - - - Module["_memset"] = _memset; - - var _BDtoILow=true; - - function _alDeleteBuffers(count, buffers) - { - if (!AL.currentContext) { - return; - } - if (count > AL.currentContext.buf.length) { - AL.currentContext.err = 0xA003 /* AL_INVALID_VALUE */; - return; - } - - for (var i = 0; i < count; ++i) { - var bufferIdx = HEAP32[(((buffers)+(i*4))>>2)] - 1; - - // Make sure the buffer index is valid. - if (bufferIdx >= AL.currentContext.buf.length || !AL.currentContext.buf[bufferIdx]) { - AL.currentContext.err = 0xA001 /* AL_INVALID_NAME */; - return; - } - - // Make sure the buffer is no longer in use. - var buffer = AL.currentContext.buf[bufferIdx]; - for (var srcId in AL.currentContext.src) { - var src = AL.currentContext.src[srcId]; - if (!src) { - continue; - } - for (var k = 0; k < src.queue.length; k++) { - if (buffer === src.queue[k].buffer) { - AL.currentContext.err = 0xA004 /* AL_INVALID_OPERATION */; - return; - } - } - } - } - - for (var i = 0; i < count; ++i) { - var bufferIdx = HEAP32[(((buffers)+(i*4))>>2)] - 1; - delete AL.currentContext.buf[bufferIdx]; - } - } - - function _alListener3f(param, v1, v2, v3) { - if (!AL.currentContext) { - return; - } - switch (param) { - case 0x1004 /* AL_POSITION */: - AL.currentContext.ctx.listener._position = [v1, v2, v3]; - AL.currentContext.ctx.listener.setPosition(v1, v2, v3); - break; - case 0x1006 /* AL_VELOCITY */: - AL.currentContext.ctx.listener._velocity = [v1, v2, v3]; - AL.currentContext.ctx.listener.setVelocity(v1, v2, v3); - break; - default: - AL.currentContext.err = 0xA002 /* AL_INVALID_ENUM */; - break; - } - } - - function _glfwMakeContextCurrent(winid) {} - - - var JSEvents={keyEvent:0,mouseEvent:0,wheelEvent:0,uiEvent:0,focusEvent:0,deviceOrientationEvent:0,deviceMotionEvent:0,fullscreenChangeEvent:0,pointerlockChangeEvent:0,visibilityChangeEvent:0,touchEvent:0,previousFullscreenElement:null,previousScreenX:null,previousScreenY:null,removeEventListenersRegistered:false,registerRemoveEventListeners:function () { - if (!JSEvents.removeEventListenersRegistered) { - __ATEXIT__.push(function() { - for(var i = JSEvents.eventHandlers.length-1; i >= 0; --i) { - JSEvents._removeHandler(i); - } - }); - JSEvents.removeEventListenersRegistered = true; - } - },findEventTarget:function (target) { - if (target) { - if (typeof target == "number") { - target = Pointer_stringify(target); - } - if (target == '#window') return window; - else if (target == '#document') return document; - else if (target == '#screen') return window.screen; - else if (target == '#canvas') return Module['canvas']; - - if (typeof target == 'string') return document.getElementById(target); - else return target; - } else { - // The sensible target varies between events, but use window as the default - // since DOM events mostly can default to that. Specific callback registrations - // override their own defaults. - return window; - } - },deferredCalls:[],deferCall:function (targetFunction, precedence, argsList) { - function arraysHaveEqualContent(arrA, arrB) { - if (arrA.length != arrB.length) return false; - - for(var i in arrA) { - if (arrA[i] != arrB[i]) return false; - } - return true; - } - // Test if the given call was already queued, and if so, don't add it again. - for(var i in JSEvents.deferredCalls) { - var call = JSEvents.deferredCalls[i]; - if (call.targetFunction == targetFunction && arraysHaveEqualContent(call.argsList, argsList)) { - return; - } - } - JSEvents.deferredCalls.push({ - targetFunction: targetFunction, - precedence: precedence, - argsList: argsList - }); - - JSEvents.deferredCalls.sort(function(x,y) { return x.precedence < y.precedence; }); - },removeDeferredCalls:function (targetFunction) { - for(var i = 0; i < JSEvents.deferredCalls.length; ++i) { - if (JSEvents.deferredCalls[i].targetFunction == targetFunction) { - JSEvents.deferredCalls.splice(i, 1); - --i; - } - } - },canPerformEventHandlerRequests:function () { - return JSEvents.inEventHandler && JSEvents.currentEventHandler.allowsDeferredCalls; - },runDeferredCalls:function () { - if (!JSEvents.canPerformEventHandlerRequests()) { - return; - } - for(var i = 0; i < JSEvents.deferredCalls.length; ++i) { - var call = JSEvents.deferredCalls[i]; - JSEvents.deferredCalls.splice(i, 1); - --i; - call.targetFunction.apply(this, call.argsList); - } - },inEventHandler:0,currentEventHandler:null,eventHandlers:[],isInternetExplorer:function () { return navigator.userAgent.indexOf('MSIE') !== -1 || navigator.appVersion.indexOf('Trident/') > 0; },removeAllHandlersOnTarget:function (target, eventTypeString) { - for(var i = 0; i < JSEvents.eventHandlers.length; ++i) { - if (JSEvents.eventHandlers[i].target == target && - (!eventTypeString || eventTypeString == JSEvents.eventHandlers[i].eventTypeString)) { - JSEvents._removeHandler(i--); - } - } - },_removeHandler:function (i) { - var h = JSEvents.eventHandlers[i]; - h.target.removeEventListener(h.eventTypeString, h.eventListenerFunc, h.useCapture); - JSEvents.eventHandlers.splice(i, 1); - },registerOrRemoveHandler:function (eventHandler) { - var jsEventHandler = function jsEventHandler(event) { - // Increment nesting count for the event handler. - ++JSEvents.inEventHandler; - JSEvents.currentEventHandler = eventHandler; - // Process any old deferred calls the user has placed. - JSEvents.runDeferredCalls(); - // Process the actual event, calls back to user C code handler. - eventHandler.handlerFunc(event); - // Process any new deferred calls that were placed right now from this event handler. - JSEvents.runDeferredCalls(); - // Out of event handler - restore nesting count. - --JSEvents.inEventHandler; - } - - if (eventHandler.callbackfunc) { - eventHandler.eventListenerFunc = jsEventHandler; - eventHandler.target.addEventListener(eventHandler.eventTypeString, jsEventHandler, eventHandler.useCapture); - JSEvents.eventHandlers.push(eventHandler); - JSEvents.registerRemoveEventListeners(); - } else { - for(var i = 0; i < JSEvents.eventHandlers.length; ++i) { - if (JSEvents.eventHandlers[i].target == eventHandler.target - && JSEvents.eventHandlers[i].eventTypeString == eventHandler.eventTypeString) { - JSEvents._removeHandler(i--); - } - } - } - },registerKeyEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.keyEvent) { - JSEvents.keyEvent = _malloc( 164 ); - } - var handlerFunc = function(event) { - var e = event || window.event; - writeStringToMemory(e.key ? e.key : "", JSEvents.keyEvent + 0 ); - writeStringToMemory(e.code ? e.code : "", JSEvents.keyEvent + 32 ); - HEAP32[(((JSEvents.keyEvent)+(64))>>2)]=e.location; - HEAP32[(((JSEvents.keyEvent)+(68))>>2)]=e.ctrlKey; - HEAP32[(((JSEvents.keyEvent)+(72))>>2)]=e.shiftKey; - HEAP32[(((JSEvents.keyEvent)+(76))>>2)]=e.altKey; - HEAP32[(((JSEvents.keyEvent)+(80))>>2)]=e.metaKey; - HEAP32[(((JSEvents.keyEvent)+(84))>>2)]=e.repeat; - writeStringToMemory(e.locale ? e.locale : "", JSEvents.keyEvent + 88 ); - writeStringToMemory(e.char ? e.char : "", JSEvents.keyEvent + 120 ); - HEAP32[(((JSEvents.keyEvent)+(152))>>2)]=e.charCode; - HEAP32[(((JSEvents.keyEvent)+(156))>>2)]=e.keyCode; - HEAP32[(((JSEvents.keyEvent)+(160))>>2)]=e.which; - var shouldCancel = Runtime.dynCall('iiii', callbackfunc, [eventTypeId, JSEvents.keyEvent, userData]); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: JSEvents.findEventTarget(target), - allowsDeferredCalls: JSEvents.isInternetExplorer() ? false : true, // MSIE doesn't allow fullscreen and pointerlock requests from key handlers, others do. - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },getBoundingClientRectOrZeros:function (target) { - return target.getBoundingClientRect ? target.getBoundingClientRect() : { left: 0, top: 0 }; - },fillMouseEventData:function (eventStruct, e, target) { - HEAPF64[((eventStruct)>>3)]=JSEvents.tick(); - HEAP32[(((eventStruct)+(8))>>2)]=e.screenX; - HEAP32[(((eventStruct)+(12))>>2)]=e.screenY; - HEAP32[(((eventStruct)+(16))>>2)]=e.clientX; - HEAP32[(((eventStruct)+(20))>>2)]=e.clientY; - HEAP32[(((eventStruct)+(24))>>2)]=e.ctrlKey; - HEAP32[(((eventStruct)+(28))>>2)]=e.shiftKey; - HEAP32[(((eventStruct)+(32))>>2)]=e.altKey; - HEAP32[(((eventStruct)+(36))>>2)]=e.metaKey; - HEAP16[(((eventStruct)+(40))>>1)]=e.button; - HEAP16[(((eventStruct)+(42))>>1)]=e.buttons; - HEAP32[(((eventStruct)+(44))>>2)]=e["movementX"] || e["mozMovementX"] || e["webkitMovementX"] || (e.screenX-JSEvents.previousScreenX); - HEAP32[(((eventStruct)+(48))>>2)]=e["movementY"] || e["mozMovementY"] || e["webkitMovementY"] || (e.screenY-JSEvents.previousScreenY); - - if (Module['canvas']) { - var rect = Module['canvas'].getBoundingClientRect(); - HEAP32[(((eventStruct)+(60))>>2)]=e.clientX - rect.left; - HEAP32[(((eventStruct)+(64))>>2)]=e.clientY - rect.top; - } else { // Canvas is not initialized, return 0. - HEAP32[(((eventStruct)+(60))>>2)]=0; - HEAP32[(((eventStruct)+(64))>>2)]=0; - } - if (target) { - var rect = JSEvents.getBoundingClientRectOrZeros(target); - HEAP32[(((eventStruct)+(52))>>2)]=e.clientX - rect.left; - HEAP32[(((eventStruct)+(56))>>2)]=e.clientY - rect.top; - } else { // No specific target passed, return 0. - HEAP32[(((eventStruct)+(52))>>2)]=0; - HEAP32[(((eventStruct)+(56))>>2)]=0; - } - JSEvents.previousScreenX = e.screenX; - JSEvents.previousScreenY = e.screenY; - },registerMouseEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.mouseEvent) { - JSEvents.mouseEvent = _malloc( 72 ); - } - target = JSEvents.findEventTarget(target); - var handlerFunc = function(event) { - var e = event || window.event; - JSEvents.fillMouseEventData(JSEvents.mouseEvent, e, target); - var shouldCancel = Runtime.dynCall('iiii', callbackfunc, [eventTypeId, JSEvents.mouseEvent, userData]); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: target, - allowsDeferredCalls: eventTypeString != 'mousemove' && eventTypeString != 'mouseenter' && eventTypeString != 'mouseleave', // Mouse move events do not allow fullscreen/pointer lock requests to be handled in them! - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - // In IE, mousedown events don't either allow deferred calls to be run! - if (JSEvents.isInternetExplorer() && eventTypeString == 'mousedown') eventHandler.allowsDeferredCalls = false; - JSEvents.registerOrRemoveHandler(eventHandler); - },registerWheelEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.wheelEvent) { - JSEvents.wheelEvent = _malloc( 104 ); - } - target = JSEvents.findEventTarget(target); - // The DOM Level 3 events spec event 'wheel' - var wheelHandlerFunc = function(event) { - var e = event || window.event; - JSEvents.fillMouseEventData(JSEvents.wheelEvent, e, target); - HEAPF64[(((JSEvents.wheelEvent)+(72))>>3)]=e["deltaX"]; - HEAPF64[(((JSEvents.wheelEvent)+(80))>>3)]=e["deltaY"]; - HEAPF64[(((JSEvents.wheelEvent)+(88))>>3)]=e["deltaZ"]; - HEAP32[(((JSEvents.wheelEvent)+(96))>>2)]=e["deltaMode"]; - var shouldCancel = Runtime.dynCall('iiii', callbackfunc, [eventTypeId, JSEvents.wheelEvent, userData]); - if (shouldCancel) { - e.preventDefault(); - } - }; - // The 'mousewheel' event as implemented in Safari 6.0.5 - var mouseWheelHandlerFunc = function(event) { - var e = event || window.event; - JSEvents.fillMouseEventData(JSEvents.wheelEvent, e, target); - HEAPF64[(((JSEvents.wheelEvent)+(72))>>3)]=e["wheelDeltaX"]; - HEAPF64[(((JSEvents.wheelEvent)+(80))>>3)]=-e["wheelDeltaY"] /* Invert to unify direction with the DOM Level 3 wheel event. */; - HEAPF64[(((JSEvents.wheelEvent)+(88))>>3)]=0 /* Not available */; - HEAP32[(((JSEvents.wheelEvent)+(96))>>2)]=0 /* DOM_DELTA_PIXEL */; - var shouldCancel = Runtime.dynCall('iiii', callbackfunc, [eventTypeId, JSEvents.wheelEvent, userData]); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: target, - allowsDeferredCalls: true, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: (eventTypeString == 'wheel') ? wheelHandlerFunc : mouseWheelHandlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },pageScrollPos:function () { - if (window.pageXOffset > 0 || window.pageYOffset > 0) { - return [window.pageXOffset, window.pageYOffset]; - } - if (typeof document.documentElement.scrollLeft !== 'undefined' || typeof document.documentElement.scrollTop !== 'undefined') { - return [document.documentElement.scrollLeft, document.documentElement.scrollTop]; - } - return [document.body.scrollLeft|0, document.body.scrollTop|0]; - },registerUiEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.uiEvent) { - JSEvents.uiEvent = _malloc( 36 ); - } - - if (eventTypeString == "scroll" && !target) { - target = document; // By default read scroll events on document rather than window. - } else { - target = JSEvents.findEventTarget(target); - } - - var handlerFunc = function(event) { - var e = event || window.event; - if (e.target != target) { - // Never take ui events such as scroll via a 'bubbled' route, but always from the direct element that - // was targeted. Otherwise e.g. if app logs a message in response to a page scroll, the Emscripten log - // message box could cause to scroll, generating a new (bubbled) scroll message, causing a new log print, - // causing a new scroll, etc.. - return; - } - var scrollPos = JSEvents.pageScrollPos(); - HEAP32[((JSEvents.uiEvent)>>2)]=e.detail; - HEAP32[(((JSEvents.uiEvent)+(4))>>2)]=document.body.clientWidth; - HEAP32[(((JSEvents.uiEvent)+(8))>>2)]=document.body.clientHeight; - HEAP32[(((JSEvents.uiEvent)+(12))>>2)]=window.innerWidth; - HEAP32[(((JSEvents.uiEvent)+(16))>>2)]=window.innerHeight; - HEAP32[(((JSEvents.uiEvent)+(20))>>2)]=window.outerWidth; - HEAP32[(((JSEvents.uiEvent)+(24))>>2)]=window.outerHeight; - HEAP32[(((JSEvents.uiEvent)+(28))>>2)]=scrollPos[0]; - HEAP32[(((JSEvents.uiEvent)+(32))>>2)]=scrollPos[1]; - var shouldCancel = Runtime.dynCall('iiii', callbackfunc, [eventTypeId, JSEvents.uiEvent, userData]); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: target, - allowsDeferredCalls: false, // Neither scroll or resize events allow running requests inside them. - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },getNodeNameForTarget:function (target) { - if (!target) return ''; - if (target == window) return '#window'; - if (target == window.screen) return '#screen'; - return (target && target.nodeName) ? target.nodeName : ''; - },registerFocusEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.focusEvent) { - JSEvents.focusEvent = _malloc( 256 ); - } - var handlerFunc = function(event) { - var e = event || window.event; - - var nodeName = JSEvents.getNodeNameForTarget(e.target); - var id = e.target.id ? e.target.id : ''; - writeStringToMemory(nodeName, JSEvents.focusEvent + 0 ); - writeStringToMemory(id, JSEvents.focusEvent + 128 ); - var shouldCancel = Runtime.dynCall('iiii', callbackfunc, [eventTypeId, JSEvents.focusEvent, userData]); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: JSEvents.findEventTarget(target), - allowsDeferredCalls: false, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },tick:function () { - if (window['performance'] && window['performance']['now']) return window['performance']['now'](); - else return Date.now(); - },registerDeviceOrientationEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.deviceOrientationEvent) { - JSEvents.deviceOrientationEvent = _malloc( 40 ); - } - var handlerFunc = function(event) { - var e = event || window.event; - - HEAPF64[((JSEvents.deviceOrientationEvent)>>3)]=JSEvents.tick(); - HEAPF64[(((JSEvents.deviceOrientationEvent)+(8))>>3)]=e.alpha; - HEAPF64[(((JSEvents.deviceOrientationEvent)+(16))>>3)]=e.beta; - HEAPF64[(((JSEvents.deviceOrientationEvent)+(24))>>3)]=e.gamma; - HEAP32[(((JSEvents.deviceOrientationEvent)+(32))>>2)]=e.absolute; - - var shouldCancel = Runtime.dynCall('iiii', callbackfunc, [eventTypeId, JSEvents.deviceOrientationEvent, userData]); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: JSEvents.findEventTarget(target), - allowsDeferredCalls: false, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },registerDeviceMotionEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.deviceMotionEvent) { - JSEvents.deviceMotionEvent = _malloc( 80 ); - } - var handlerFunc = function(event) { - var e = event || window.event; - - HEAPF64[((JSEvents.deviceOrientationEvent)>>3)]=JSEvents.tick(); - HEAPF64[(((JSEvents.deviceMotionEvent)+(8))>>3)]=e.acceleration.x; - HEAPF64[(((JSEvents.deviceMotionEvent)+(16))>>3)]=e.acceleration.y; - HEAPF64[(((JSEvents.deviceMotionEvent)+(24))>>3)]=e.acceleration.z; - HEAPF64[(((JSEvents.deviceMotionEvent)+(32))>>3)]=e.accelerationIncludingGravity.x; - HEAPF64[(((JSEvents.deviceMotionEvent)+(40))>>3)]=e.accelerationIncludingGravity.y; - HEAPF64[(((JSEvents.deviceMotionEvent)+(48))>>3)]=e.accelerationIncludingGravity.z; - HEAPF64[(((JSEvents.deviceMotionEvent)+(56))>>3)]=e.rotationRate.alpha; - HEAPF64[(((JSEvents.deviceMotionEvent)+(64))>>3)]=e.rotationRate.beta; - HEAPF64[(((JSEvents.deviceMotionEvent)+(72))>>3)]=e.rotationRate.gamma; - - var shouldCancel = Runtime.dynCall('iiii', callbackfunc, [eventTypeId, JSEvents.deviceMotionEvent, userData]); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: JSEvents.findEventTarget(target), - allowsDeferredCalls: false, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },screenOrientation:function () { - if (!window.screen) return undefined; - return window.screen.orientation || window.screen.mozOrientation || window.screen.webkitOrientation || window.screen.msOrientation; - },fillOrientationChangeEventData:function (eventStruct, e) { - var orientations = ["portrait-primary", "portrait-secondary", "landscape-primary", "landscape-secondary"]; - var orientations2 = ["portrait", "portrait", "landscape", "landscape"]; - - var orientationString = JSEvents.screenOrientation(); - var orientation = orientations.indexOf(orientationString); - if (orientation == -1) { - orientation = orientations2.indexOf(orientationString); - } - - HEAP32[((eventStruct)>>2)]=1 << orientation; - HEAP32[(((eventStruct)+(4))>>2)]=window.orientation; - },registerOrientationChangeEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.orientationChangeEvent) { - JSEvents.orientationChangeEvent = _malloc( 8 ); - } - - if (!target) { - target = window.screen; // Orientation events need to be captured from 'window.screen' instead of 'window' - } else { - target = JSEvents.findEventTarget(target); - } - - var handlerFunc = function(event) { - var e = event || window.event; - - JSEvents.fillOrientationChangeEventData(JSEvents.orientationChangeEvent, e); - - var shouldCancel = Runtime.dynCall('iiii', callbackfunc, [eventTypeId, JSEvents.orientationChangeEvent, userData]); - if (shouldCancel) { - e.preventDefault(); - } - }; - - if (eventTypeString == "orientationchange" && window.screen.mozOrientation !== undefined) { - eventTypeString = "mozorientationchange"; - } - - var eventHandler = { - target: target, - allowsDeferredCalls: false, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },fullscreenEnabled:function () { - return document.fullscreenEnabled || document.mozFullscreenEnabled || document.mozFullScreenEnabled || document.webkitFullscreenEnabled || document.msFullscreenEnabled; - },fillFullscreenChangeEventData:function (eventStruct, e) { - var fullscreenElement = document.fullscreenElement || document.mozFullScreenElement || document.webkitFullscreenElement || document.msFullscreenElement; - var isFullscreen = !!fullscreenElement; - HEAP32[((eventStruct)>>2)]=isFullscreen; - HEAP32[(((eventStruct)+(4))>>2)]=JSEvents.fullscreenEnabled(); - // If transitioning to fullscreen, report info about the element that is now fullscreen. - // If transitioning to windowed mode, report info about the element that just was fullscreen. - var reportedElement = isFullscreen ? fullscreenElement : JSEvents.previousFullscreenElement; - var nodeName = JSEvents.getNodeNameForTarget(reportedElement); - var id = (reportedElement && reportedElement.id) ? reportedElement.id : ''; - writeStringToMemory(nodeName, eventStruct + 8 ); - writeStringToMemory(id, eventStruct + 136 ); - HEAP32[(((eventStruct)+(264))>>2)]=reportedElement ? reportedElement.clientWidth : 0; - HEAP32[(((eventStruct)+(268))>>2)]=reportedElement ? reportedElement.clientHeight : 0; - HEAP32[(((eventStruct)+(272))>>2)]=screen.width; - HEAP32[(((eventStruct)+(276))>>2)]=screen.height; - if (isFullscreen) { - JSEvents.previousFullscreenElement = fullscreenElement; - } - },registerFullscreenChangeEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.fullscreenChangeEvent) { - JSEvents.fullscreenChangeEvent = _malloc( 280 ); - } - - if (!target) { - target = document; // Fullscreen change events need to be captured from 'document' by default instead of 'window' - } else { - target = JSEvents.findEventTarget(target); - } - - var handlerFunc = function(event) { - var e = event || window.event; - - JSEvents.fillFullscreenChangeEventData(JSEvents.fullscreenChangeEvent, e); - - var shouldCancel = Runtime.dynCall('iiii', callbackfunc, [eventTypeId, JSEvents.fullscreenChangeEvent, userData]); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: target, - allowsDeferredCalls: false, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },resizeCanvasForFullscreen:function (target, strategy) { - var restoreOldStyle = __registerRestoreOldStyle(target); - var cssWidth = strategy.softFullscreen ? window.innerWidth : screen.width; - var cssHeight = strategy.softFullscreen ? window.innerHeight : screen.height; - var rect = target.getBoundingClientRect(); - var windowedCssWidth = rect.right - rect.left; - var windowedCssHeight = rect.bottom - rect.top; - var windowedRttWidth = target.width; - var windowedRttHeight = target.height; - - if (strategy.scaleMode == 3) { - __setLetterbox(target, (cssHeight - windowedCssHeight) / 2, (cssWidth - windowedCssWidth) / 2); - cssWidth = windowedCssWidth; - cssHeight = windowedCssHeight; - } else if (strategy.scaleMode == 2) { - if (cssWidth*windowedRttHeight < windowedRttWidth*cssHeight) { - var desiredCssHeight = windowedRttHeight * cssWidth / windowedRttWidth; - __setLetterbox(target, (cssHeight - desiredCssHeight) / 2, 0); - cssHeight = desiredCssHeight; - } else { - var desiredCssWidth = windowedRttWidth * cssHeight / windowedRttHeight; - __setLetterbox(target, 0, (cssWidth - desiredCssWidth) / 2); - cssWidth = desiredCssWidth; - } - } - - // If we are adding padding, must choose a background color or otherwise Chrome will give the - // padding a default white color. Do it only if user has not customized their own background color. - if (!target.style.backgroundColor) target.style.backgroundColor = 'black'; - // IE11 does the same, but requires the color to be set in the document body. - if (!document.body.style.backgroundColor) document.body.style.backgroundColor = 'black'; // IE11 - // Firefox always shows black letterboxes independent of style color. - - target.style.width = cssWidth + 'px'; - target.style.height = cssHeight + 'px'; - - if (strategy.filteringMode == 1) { - target.style.imageRendering = 'optimizeSpeed'; - target.style.imageRendering = '-moz-crisp-edges'; - target.style.imageRendering = '-o-crisp-edges'; - target.style.imageRendering = '-webkit-optimize-contrast'; - target.style.imageRendering = 'optimize-contrast'; - target.style.imageRendering = 'crisp-edges'; - target.style.imageRendering = 'pixelated'; - } - - var dpiScale = (strategy.canvasResolutionScaleMode == 2) ? window.devicePixelRatio : 1; - if (strategy.canvasResolutionScaleMode != 0) { - target.width = cssWidth * dpiScale; - target.height = cssHeight * dpiScale; - if (target.GLctxObject) target.GLctxObject.GLctx.viewport(0, 0, target.width, target.height); - } - return restoreOldStyle; - },requestFullscreen:function (target, strategy) { - // EMSCRIPTEN_FULLSCREEN_SCALE_DEFAULT + EMSCRIPTEN_FULLSCREEN_CANVAS_SCALE_NONE is a mode where no extra logic is performed to the DOM elements. - if (strategy.scaleMode != 0 || strategy.canvasResolutionScaleMode != 0) { - JSEvents.resizeCanvasForFullscreen(target, strategy); - } - - if (target.requestFullscreen) { - target.requestFullscreen(); - } else if (target.msRequestFullscreen) { - target.msRequestFullscreen(); - } else if (target.mozRequestFullScreen) { - target.mozRequestFullScreen(); - } else if (target.mozRequestFullscreen) { - target.mozRequestFullscreen(); - } else if (target.webkitRequestFullscreen) { - target.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT); - } else { - if (typeof JSEvents.fullscreenEnabled() === 'undefined') { - return -1; - } else { - return -3; - } - } - - if (strategy.canvasResizedCallback) { - Runtime.dynCall('iiii', strategy.canvasResizedCallback, [37, 0, strategy.canvasResizedCallbackUserData]); - } - - return 0; - },fillPointerlockChangeEventData:function (eventStruct, e) { - var pointerLockElement = document.pointerLockElement || document.mozPointerLockElement || document.webkitPointerLockElement || document.msPointerLockElement; - var isPointerlocked = !!pointerLockElement; - HEAP32[((eventStruct)>>2)]=isPointerlocked; - var nodeName = JSEvents.getNodeNameForTarget(pointerLockElement); - var id = (pointerLockElement && pointerLockElement.id) ? pointerLockElement.id : ''; - writeStringToMemory(nodeName, eventStruct + 4 ); - writeStringToMemory(id, eventStruct + 132); - },registerPointerlockChangeEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.pointerlockChangeEvent) { - JSEvents.pointerlockChangeEvent = _malloc( 260 ); - } - - if (!target) { - target = document; // Pointer lock change events need to be captured from 'document' by default instead of 'window' - } else { - target = JSEvents.findEventTarget(target); - } - - var handlerFunc = function(event) { - var e = event || window.event; - - JSEvents.fillPointerlockChangeEventData(JSEvents.pointerlockChangeEvent, e); - - var shouldCancel = Runtime.dynCall('iiii', callbackfunc, [eventTypeId, JSEvents.pointerlockChangeEvent, userData]); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: target, - allowsDeferredCalls: false, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },requestPointerLock:function (target) { - if (target.requestPointerLock) { - target.requestPointerLock(); - } else if (target.mozRequestPointerLock) { - target.mozRequestPointerLock(); - } else if (target.webkitRequestPointerLock) { - target.webkitRequestPointerLock(); - } else if (target.msRequestPointerLock) { - target.msRequestPointerLock(); - } else { - // document.body is known to accept pointer lock, so use that to differentiate if the user passed a bad element, - // or if the whole browser just doesn't support the feature. - if (document.body.requestPointerLock || document.body.mozRequestPointerLock || document.body.webkitRequestPointerLock || document.body.msRequestPointerLock) { - return -3; - } else { - return -1; - } - } - return 0; - },fillVisibilityChangeEventData:function (eventStruct, e) { - var visibilityStates = [ "hidden", "visible", "prerender", "unloaded" ]; - var visibilityState = visibilityStates.indexOf(document.visibilityState); - - HEAP32[((eventStruct)>>2)]=document.hidden; - HEAP32[(((eventStruct)+(4))>>2)]=visibilityState; - },registerVisibilityChangeEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.visibilityChangeEvent) { - JSEvents.visibilityChangeEvent = _malloc( 8 ); - } - - if (!target) { - target = document; // Visibility change events need to be captured from 'document' by default instead of 'window' - } else { - target = JSEvents.findEventTarget(target); - } - - var handlerFunc = function(event) { - var e = event || window.event; - - JSEvents.fillVisibilityChangeEventData(JSEvents.visibilityChangeEvent, e); - - var shouldCancel = Runtime.dynCall('iiii', callbackfunc, [eventTypeId, JSEvents.visibilityChangeEvent, userData]); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: target, - allowsDeferredCalls: false, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },registerTouchEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.touchEvent) { - JSEvents.touchEvent = _malloc( 1684 ); - } - - target = JSEvents.findEventTarget(target); - - var handlerFunc = function(event) { - var e = event || window.event; - - var touches = {}; - for(var i = 0; i < e.touches.length; ++i) { - var touch = e.touches[i]; - touches[touch.identifier] = touch; - } - for(var i = 0; i < e.changedTouches.length; ++i) { - var touch = e.changedTouches[i]; - touches[touch.identifier] = touch; - touch.changed = true; - } - for(var i = 0; i < e.targetTouches.length; ++i) { - var touch = e.targetTouches[i]; - touches[touch.identifier].onTarget = true; - } - - var ptr = JSEvents.touchEvent; - HEAP32[(((ptr)+(4))>>2)]=e.ctrlKey; - HEAP32[(((ptr)+(8))>>2)]=e.shiftKey; - HEAP32[(((ptr)+(12))>>2)]=e.altKey; - HEAP32[(((ptr)+(16))>>2)]=e.metaKey; - ptr += 20; // Advance to the start of the touch array. - var canvasRect = Module['canvas'] ? Module['canvas'].getBoundingClientRect() : undefined; - var targetRect = JSEvents.getBoundingClientRectOrZeros(target); - var numTouches = 0; - for(var i in touches) { - var t = touches[i]; - HEAP32[((ptr)>>2)]=t.identifier; - HEAP32[(((ptr)+(4))>>2)]=t.screenX; - HEAP32[(((ptr)+(8))>>2)]=t.screenY; - HEAP32[(((ptr)+(12))>>2)]=t.clientX; - HEAP32[(((ptr)+(16))>>2)]=t.clientY; - HEAP32[(((ptr)+(20))>>2)]=t.pageX; - HEAP32[(((ptr)+(24))>>2)]=t.pageY; - HEAP32[(((ptr)+(28))>>2)]=t.changed; - HEAP32[(((ptr)+(32))>>2)]=t.onTarget; - if (canvasRect) { - HEAP32[(((ptr)+(44))>>2)]=t.clientX - canvasRect.left; - HEAP32[(((ptr)+(48))>>2)]=t.clientY - canvasRect.top; - } else { - HEAP32[(((ptr)+(44))>>2)]=0; - HEAP32[(((ptr)+(48))>>2)]=0; - } - HEAP32[(((ptr)+(36))>>2)]=t.clientX - targetRect.left; - HEAP32[(((ptr)+(40))>>2)]=t.clientY - targetRect.top; - - ptr += 52; - - if (++numTouches >= 32) { - break; - } - } - HEAP32[((JSEvents.touchEvent)>>2)]=numTouches; - - var shouldCancel = Runtime.dynCall('iiii', callbackfunc, [eventTypeId, JSEvents.touchEvent, userData]); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: target, - allowsDeferredCalls: false, // XXX Currently disabled, see bug https://bugzilla.mozilla.org/show_bug.cgi?id=966493 - // Once the above bug is resolved, enable the following condition if possible: - // allowsDeferredCalls: eventTypeString == 'touchstart', - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },fillGamepadEventData:function (eventStruct, e) { - HEAPF64[((eventStruct)>>3)]=e.timestamp; - for(var i = 0; i < e.axes.length; ++i) { - HEAPF64[(((eventStruct+i*8)+(16))>>3)]=e.axes[i]; - } - for(var i = 0; i < e.buttons.length; ++i) { - if (typeof(e.buttons[i]) === 'object') { - HEAPF64[(((eventStruct+i*8)+(528))>>3)]=e.buttons[i].value; - } else { - HEAPF64[(((eventStruct+i*8)+(528))>>3)]=e.buttons[i]; - } - } - for(var i = 0; i < e.buttons.length; ++i) { - if (typeof(e.buttons[i]) === 'object') { - HEAP32[(((eventStruct+i*4)+(1040))>>2)]=e.buttons[i].pressed; - } else { - HEAP32[(((eventStruct+i*4)+(1040))>>2)]=e.buttons[i] == 1.0; - } - } - HEAP32[(((eventStruct)+(1296))>>2)]=e.connected; - HEAP32[(((eventStruct)+(1300))>>2)]=e.index; - HEAP32[(((eventStruct)+(8))>>2)]=e.axes.length; - HEAP32[(((eventStruct)+(12))>>2)]=e.buttons.length; - writeStringToMemory(e.id, eventStruct + 1304 ); - writeStringToMemory(e.mapping, eventStruct + 1368 ); - },registerGamepadEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.gamepadEvent) { - JSEvents.gamepadEvent = _malloc( 1432 ); - } - - var handlerFunc = function(event) { - var e = event || window.event; - - JSEvents.fillGamepadEventData(JSEvents.gamepadEvent, e.gamepad); - - var shouldCancel = Runtime.dynCall('iiii', callbackfunc, [eventTypeId, JSEvents.gamepadEvent, userData]); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: JSEvents.findEventTarget(target), - allowsDeferredCalls: true, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },registerBeforeUnloadEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - var handlerFunc = function(event) { - var e = event || window.event; - - var confirmationMessage = Runtime.dynCall('iiii', callbackfunc, [eventTypeId, 0, userData]); - - if (confirmationMessage) { - confirmationMessage = Pointer_stringify(confirmationMessage); - } - if (confirmationMessage) { - e.preventDefault(); - e.returnValue = confirmationMessage; - return confirmationMessage; - } - }; - - var eventHandler = { - target: JSEvents.findEventTarget(target), - allowsDeferredCalls: false, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },battery:function () { return navigator.battery || navigator.mozBattery || navigator.webkitBattery; },fillBatteryEventData:function (eventStruct, e) { - HEAPF64[((eventStruct)>>3)]=e.chargingTime; - HEAPF64[(((eventStruct)+(8))>>3)]=e.dischargingTime; - HEAPF64[(((eventStruct)+(16))>>3)]=e.level; - HEAP32[(((eventStruct)+(24))>>2)]=e.charging; - },registerBatteryEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.batteryEvent) { - JSEvents.batteryEvent = _malloc( 32 ); - } - - var handlerFunc = function(event) { - var e = event || window.event; - - JSEvents.fillBatteryEventData(JSEvents.batteryEvent, JSEvents.battery()); - - var shouldCancel = Runtime.dynCall('iiii', callbackfunc, [eventTypeId, JSEvents.batteryEvent, userData]); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: JSEvents.findEventTarget(target), - allowsDeferredCalls: false, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },registerWebGlEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!target) { - target = Module['canvas']; - } - var handlerFunc = function(event) { - var e = event || window.event; - - var shouldCancel = Runtime.dynCall('iiii', callbackfunc, [eventTypeId, 0, userData]); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: JSEvents.findEventTarget(target), - allowsDeferredCalls: false, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - }};function _emscripten_set_touchcancel_callback(target, userData, useCapture, callbackfunc) { - JSEvents.registerTouchEventCallback(target, userData, useCapture, callbackfunc, 25, "touchcancel"); - return 0; - } - - function ___lock() {} - - function _emscripten_glBlendFuncSeparate(x0, x1, x2, x3) { GLctx.blendFuncSeparate(x0, x1, x2, x3) } - - function _emscripten_glGetVertexAttribPointerv(index, pname, pointer) { - if (!pointer) { - // GLES2 specification does not specify how to behave if pointer is a null pointer. Since calling this function does not make sense - // if pointer == null, issue a GL error to notify user about it. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - HEAP32[((pointer)>>2)]=GLctx.getVertexAttribOffset(index, pname); - } - - function _emscripten_glVertexAttrib3f(x0, x1, x2, x3) { GLctx.vertexAttrib3f(x0, x1, x2, x3) } - - function _alSource3f(source, param, v1, v2, v3) { - if (!AL.currentContext) { - return; - } - var src = AL.currentContext.src[source]; - if (!src) { - AL.currentContext.err = 0xA001 /* AL_INVALID_NAME */; - return; - } - switch (param) { - case 0x1004 /* AL_POSITION */: - src.position = [v1, v2, v3]; - break; - case 0x1005 /* AL_DIRECTION */: - src.direction = [v1, v2, v3]; - break; - case 0x1006 /* AL_VELOCITY */: - src.velocity = [v1, v2, v3]; - break; - default: - AL.currentContext.err = 0xA002 /* AL_INVALID_ENUM */; - break; - } - } - - function _emscripten_glNormalPointer() { - Module['printErr']('missing function: emscripten_glNormalPointer'); abort(-1); - } - - - var _emscripten_GetProcAddress=undefined; - Module["_emscripten_GetProcAddress"] = _emscripten_GetProcAddress; - - - function _eglWaitClient() { - EGL.setErrorCode(0x3000 /* EGL_SUCCESS */); - return 1; - }var EGL={errorCode:12288,defaultDisplayInitialized:false,currentContext:0,currentReadSurface:0,currentDrawSurface:0,stringCache:{},setErrorCode:function (code) { - EGL.errorCode = code; - },chooseConfig:function (display, attribList, config, config_size, numConfigs) { - if (display != 62000 /* Magic ID for Emscripten 'default display' */) { - EGL.setErrorCode(0x3008 /* EGL_BAD_DISPLAY */); - return 0; - } - // TODO: read attribList. - if ((!config || !config_size) && !numConfigs) { - EGL.setErrorCode(0x300C /* EGL_BAD_PARAMETER */); - return 0; - } - if (numConfigs) { - HEAP32[((numConfigs)>>2)]=1; // Total number of supported configs: 1. - } - if (config && config_size > 0) { - HEAP32[((config)>>2)]=62002; - } - - EGL.setErrorCode(0x3000 /* EGL_SUCCESS */); - return 1; - }};function _eglGetProcAddress(name_) { - return _emscripten_GetProcAddress(name_); - } - - function _glDeleteProgram(id) { - if (!id) return; - var program = GL.programs[id]; - if (!program) { // glDeleteProgram actually signals an error when deleting a nonexisting object, unlike some other GL delete functions. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - GLctx.deleteProgram(program); - program.name = 0; - GL.programs[id] = null; - GL.programInfos[id] = null; - } - - - - var _setSourceState=undefined;function _alSourcePlay(source) { - if (!AL.currentContext) { - return; - } - var src = AL.currentContext.src[source]; - if (!src) { - AL.currentContext.err = 0xA001 /* AL_INVALID_NAME */; - return; - } - AL.setSourceState(src, 0x1012 /* AL_PLAYING */); - } - - function _glAttachShader(program, shader) { - GLctx.attachShader(GL.programs[program], - GL.shaders[shader]); - } - - function _glfwGetPrimaryMonitor() { - return 1; - } - - - function emscriptenWebGLGetVertexAttrib(index, pname, params, type) { - if (!params) { - // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense - // if params == null, issue a GL error to notify user about it. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - var data = GLctx.getVertexAttrib(index, pname); - if (typeof data == 'number' || typeof data == 'boolean') { - switch (type) { - case 'Integer': HEAP32[((params)>>2)]=data; break; - case 'Float': HEAPF32[((params)>>2)]=data; break; - case 'FloatToInteger': HEAP32[((params)>>2)]=Math.fround(data); break; - default: throw 'internal emscriptenWebGLGetVertexAttrib() error, bad type: ' + type; - } - } else { - for (var i = 0; i < data.length; i++) { - switch (type) { - case 'Integer': HEAP32[(((params)+(i))>>2)]=data[i]; break; - case 'Float': HEAPF32[(((params)+(i))>>2)]=data[i]; break; - case 'FloatToInteger': HEAP32[(((params)+(i))>>2)]=Math.fround(data[i]); break; - default: throw 'internal emscriptenWebGLGetVertexAttrib() error, bad type: ' + type; - } - } - } - }function _emscripten_glGetVertexAttribfv(index, pname, params) { - // N.B. This function may only be called if the vertex attribute was specified using the function glVertexAttrib*f(), - // otherwise the results are undefined. (GLES3 spec 6.1.12) - emscriptenWebGLGetVertexAttrib(index, pname, params, 'Float'); - } - - function _emscripten_set_touchstart_callback(target, userData, useCapture, callbackfunc) { - JSEvents.registerTouchEventCallback(target, userData, useCapture, callbackfunc, 22, "touchstart"); - return 0; - } - - function _emscripten_glDeleteShader(id) { - if (!id) return; - var shader = GL.shaders[id]; - if (!shader) { // glDeleteShader actually signals an error when deleting a nonexisting object, unlike some other GL delete functions. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - GLctx.deleteShader(shader); - GL.shaders[id] = null; - } - - function _emscripten_glVertexPointer(){ throw 'Legacy GL function (glVertexPointer) called. If you want legacy GL emulation, you need to compile with -s LEGACY_GL_EMULATION=1 to enable legacy GL emulation.'; } - - function _emscripten_glDeleteBuffers(n, buffers) { - for (var i = 0; i < n; i++) { - var id = HEAP32[(((buffers)+(i*4))>>2)]; - var buffer = GL.buffers[id]; - - // From spec: "glDeleteBuffers silently ignores 0's and names that do not - // correspond to existing buffer objects." - if (!buffer) continue; - - GLctx.deleteBuffer(buffer); - buffer.name = 0; - GL.buffers[id] = null; - - if (id == GL.currArrayBuffer) GL.currArrayBuffer = 0; - if (id == GL.currElementArrayBuffer) GL.currElementArrayBuffer = 0; - } - } - - function _emscripten_glTexParameteriv(target, pname, params) { - var param = HEAP32[((params)>>2)]; - GLctx.texParameteri(target, pname, param); - } - - function _glDrawElements(mode, count, type, indices) { - - GLctx.drawElements(mode, count, type, indices); - - } - - function _glfwTerminate() { - window.removeEventListener("keydown", GLFW.onKeydown, true); - window.removeEventListener("keypress", GLFW.onKeyPress, true); - window.removeEventListener("keyup", GLFW.onKeyup, true); - Module["canvas"].removeEventListener("mousemove", GLFW.onMousemove, true); - Module["canvas"].removeEventListener("mousedown", GLFW.onMouseButtonDown, true); - Module["canvas"].removeEventListener("mouseup", GLFW.onMouseButtonUp, true); - Module["canvas"].removeEventListener('wheel', GLFW.onMouseWheel, true); - Module["canvas"].removeEventListener('mousewheel', GLFW.onMouseWheel, true); - Module["canvas"].width = Module["canvas"].height = 1; - GLFW.windows = null; - GLFW.active = null; - } - - function _emscripten_glUniformMatrix2fv(location, count, transpose, value) { - location = GL.uniforms[location]; - var view; - if (count === 1) { - // avoid allocation for the common case of uploading one uniform matrix - view = GL.miniTempBufferViews[3]; - for (var i = 0; i < 4; i++) { - view[i] = HEAPF32[(((value)+(i*4))>>2)]; - } - } else { - view = HEAPF32.subarray((value)>>2,(value+count*16)>>2); - } - GLctx.uniformMatrix2fv(location, transpose, view); - } - - function ___syscall5(which, varargs) {SYSCALLS.varargs = varargs; - try { - // open - var pathname = SYSCALLS.getStr(), flags = SYSCALLS.get(), mode = SYSCALLS.get() // optional TODO - var stream = FS.open(pathname, flags, mode); - return stream.fd; - } catch (e) { - if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); - return -e.errno; - } - } - - function ___syscall6(which, varargs) {SYSCALLS.varargs = varargs; - try { - // close - var stream = SYSCALLS.getStreamFromFD(); - FS.close(stream); - return 0; - } catch (e) { - if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); - return -e.errno; - } - } - - var _cos=Math_cos; - - function _llvm_stacksave() { - var self = _llvm_stacksave; - if (!self.LLVM_SAVEDSTACKS) { - self.LLVM_SAVEDSTACKS = []; - } - self.LLVM_SAVEDSTACKS.push(Runtime.stackSave()); - return self.LLVM_SAVEDSTACKS.length-1; - } - - function _emscripten_glGetVertexAttribiv(index, pname, params) { - // N.B. This function may only be called if the vertex attribute was specified using the function glVertexAttrib*f(), - // otherwise the results are undefined. (GLES3 spec 6.1.12) - emscriptenWebGLGetVertexAttrib(index, pname, params, 'FloatToInteger'); - } - - function _emscripten_glUniformMatrix4fv(location, count, transpose, value) { - location = GL.uniforms[location]; - var view; - if (count === 1) { - // avoid allocation for the common case of uploading one uniform matrix - view = GL.miniTempBufferViews[15]; - for (var i = 0; i < 16; i++) { - view[i] = HEAPF32[(((value)+(i*4))>>2)]; - } - } else { - view = HEAPF32.subarray((value)>>2,(value+count*64)>>2); - } - GLctx.uniformMatrix4fv(location, transpose, view); - } - - function _emscripten_glDrawArraysInstanced(mode, first, count, primcount) { - GLctx['drawArraysInstanced'](mode, first, count, primcount); - } - - function _emscripten_glEnableClientState() { - Module['printErr']('missing function: emscripten_glEnableClientState'); abort(-1); - } - - function _emscripten_glGetPointerv() { - Module['printErr']('missing function: emscripten_glGetPointerv'); abort(-1); - } - - function ___syscall140(which, varargs) {SYSCALLS.varargs = varargs; - try { - // llseek - var stream = SYSCALLS.getStreamFromFD(), offset_high = SYSCALLS.get(), offset_low = SYSCALLS.get(), result = SYSCALLS.get(), whence = SYSCALLS.get(); - var offset = offset_low; - assert(offset_high === 0); - FS.llseek(stream, offset, whence); - HEAP32[((result)>>2)]=stream.position; - if (stream.getdents && offset === 0 && whence === 0) stream.getdents = null; // reset readdir state - return 0; - } catch (e) { - if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); - return -e.errno; - } - } - - function ___syscall146(which, varargs) {SYSCALLS.varargs = varargs; - try { - // writev - var stream = SYSCALLS.getStreamFromFD(), iov = SYSCALLS.get(), iovcnt = SYSCALLS.get(); - return SYSCALLS.doWritev(stream, iov, iovcnt); - } catch (e) { - if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); - return -e.errno; - } - } - - function _emscripten_glUniform1i(location, v0) { - location = GL.uniforms[location]; - GLctx.uniform1i(location, v0); - } - - function ___syscall145(which, varargs) {SYSCALLS.varargs = varargs; - try { - // readv - var stream = SYSCALLS.getStreamFromFD(), iov = SYSCALLS.get(), iovcnt = SYSCALLS.get(); - return SYSCALLS.doReadv(stream, iov, iovcnt); - } catch (e) { - if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); - return -e.errno; - } - } - - function _emscripten_glStencilMask(x0) { GLctx.stencilMask(x0) } - - function _emscripten_glStencilFuncSeparate(x0, x1, x2, x3) { GLctx.stencilFuncSeparate(x0, x1, x2, x3) } - - - Module["_i64Subtract"] = _i64Subtract; - - - Module["_i64Add"] = _i64Add; - - function _emscripten_set_touchend_callback(target, userData, useCapture, callbackfunc) { - JSEvents.registerTouchEventCallback(target, userData, useCapture, callbackfunc, 23, "touchend"); - return 0; - } - - function _glUseProgram(program) { - GLctx.useProgram(program ? GL.programs[program] : null); - } - - var _sinf=Math_sin; - - function _emscripten_glDisableVertexAttribArray(index) { - GLctx.disableVertexAttribArray(index); - } - - function _emscripten_glVertexAttrib1f(x0, x1) { GLctx.vertexAttrib1f(x0, x1) } - - function _emscripten_glFinish() { GLctx.finish() } - - function _glDrawArrays(mode, first, count) { - - GLctx.drawArrays(mode, first, count); - - } - - function _emscripten_glDepthFunc(x0) { GLctx.depthFunc(x0) } - - function _alcOpenDevice(deviceName) { - if (typeof(AudioContext) !== "undefined" || - typeof(webkitAudioContext) !== "undefined") { - return 1; // non-null pointer -- we just simulate one device - } else { - return 0; - } - } - - function _sysconf(name) { - // long sysconf(int name); - // http://pubs.opengroup.org/onlinepubs/009695399/functions/sysconf.html - switch(name) { - case 30: return PAGE_SIZE; - case 85: return totalMemory / PAGE_SIZE; - case 132: - case 133: - case 12: - case 137: - case 138: - case 15: - case 235: - case 16: - case 17: - case 18: - case 19: - case 20: - case 149: - case 13: - case 10: - case 236: - case 153: - case 9: - case 21: - case 22: - case 159: - case 154: - case 14: - case 77: - case 78: - case 139: - case 80: - case 81: - case 82: - case 68: - case 67: - case 164: - case 11: - case 29: - case 47: - case 48: - case 95: - case 52: - case 51: - case 46: - return 200809; - case 79: - return 0; - case 27: - case 246: - case 127: - case 128: - case 23: - case 24: - case 160: - case 161: - case 181: - case 182: - case 242: - case 183: - case 184: - case 243: - case 244: - case 245: - case 165: - case 178: - case 179: - case 49: - case 50: - case 168: - case 169: - case 175: - case 170: - case 171: - case 172: - case 97: - case 76: - case 32: - case 173: - case 35: - return -1; - case 176: - case 177: - case 7: - case 155: - case 8: - case 157: - case 125: - case 126: - case 92: - case 93: - case 129: - case 130: - case 131: - case 94: - case 91: - return 1; - case 74: - case 60: - case 69: - case 70: - case 4: - return 1024; - case 31: - case 42: - case 72: - return 32; - case 87: - case 26: - case 33: - return 2147483647; - case 34: - case 1: - return 47839; - case 38: - case 36: - return 99; - case 43: - case 37: - return 2048; - case 0: return 2097152; - case 3: return 65536; - case 28: return 32768; - case 44: return 32767; - case 75: return 16384; - case 39: return 1000; - case 89: return 700; - case 71: return 256; - case 40: return 255; - case 2: return 100; - case 180: return 64; - case 25: return 20; - case 5: return 16; - case 6: return 6; - case 73: return 4; - case 84: { - if (typeof navigator === 'object') return navigator['hardwareConcurrency'] || 1; - return 1; - } - } - ___setErrNo(ERRNO_CODES.EINVAL); - return -1; - } - - function _emscripten_glUniform4iv(location, count, value) { - location = GL.uniforms[location]; - count *= 4; - value = HEAP32.subarray((value)>>2,(value+count*4)>>2); - GLctx.uniform4iv(location, value); - } - - function _glClear(x0) { GLctx.clear(x0) } - - function _emscripten_glLoadIdentity(){ throw 'Legacy GL function (glLoadIdentity) called. If you want legacy GL emulation, you need to compile with -s LEGACY_GL_EMULATION=1 to enable legacy GL emulation.'; } - - function _emscripten_glUniform3fv(location, count, value) { - location = GL.uniforms[location]; - var view; - if (count === 1) { - // avoid allocation for the common case of uploading one uniform - view = GL.miniTempBufferViews[2]; - view[0] = HEAPF32[((value)>>2)]; - view[1] = HEAPF32[(((value)+(4))>>2)]; - view[2] = HEAPF32[(((value)+(8))>>2)]; - } else { - view = HEAPF32.subarray((value)>>2,(value+count*12)>>2); - } - GLctx.uniform3fv(location, view); - } - - function _emscripten_glIsTexture(texture) { - var texture = GL.textures[texture]; - if (!texture) return 0; - return GLctx.isTexture(texture); - } - - function _glEnableVertexAttribArray(index) { - GLctx.enableVertexAttribArray(index); - } - - function _emscripten_glAttachShader(program, shader) { - GLctx.attachShader(GL.programs[program], - GL.shaders[shader]); - } - - function _alSourceUnqueueBuffers(source, count, buffers) { - if (!AL.currentContext) { - return; - } - var src = AL.currentContext.src[source]; - if (!src) { - AL.currentContext.err = 0xA001 /* AL_INVALID_NAME */; - return; - } - - if (count > src.buffersPlayed) { - AL.currentContext.err = 0xA003 /* AL_INVALID_VALUE */; - return; - } - - for (var i = 0; i < count; i++) { - var entry = src.queue.shift(); - // Write the buffers index out to the return list. - for (var j = 0; j < AL.currentContext.buf.length; j++) { - var b = AL.currentContext.buf[j]; - if (b && b == entry.buffer) { - HEAP32[(((buffers)+(i*4))>>2)]=j+1; - break; - } - } - src.buffersPlayed--; - } - - AL.updateSource(src); - } - - function _glUniform4f(location, v0, v1, v2, v3) { - location = GL.uniforms[location]; - GLctx.uniform4f(location, v0, v1, v2, v3); - } - - function _glfwCreateWindow(width, height, title, monitor, share) { - return GLFW.createWindow(width, height, title, monitor, share); - } - - function _alGetSourcei(source, param, value) { - if (!AL.currentContext) { - return; - } - var src = AL.currentContext.src[source]; - if (!src) { - AL.currentContext.err = 0xA001 /* AL_INVALID_NAME */; - return; - } - - // Being that we have no way to receive end events from buffer nodes, - // we currently proccess and update a source's buffer queue every - // ~QUEUE_INTERVAL milliseconds. However, this interval is not precise, - // so we also forcefully update the source when alGetSourcei is queried - // to aid in the common scenario of application calling alGetSourcei(AL_BUFFERS_PROCESSED) - // to recycle buffers. - AL.updateSource(src); - - switch (param) { - case 0x202 /* AL_SOURCE_RELATIVE */: - HEAP32[((value)>>2)]=src.panner ? 1 : 0; - break; - case 0x1001 /* AL_CONE_INNER_ANGLE */: - HEAP32[((value)>>2)]=src.coneInnerAngle; - break; - case 0x1002 /* AL_CONE_OUTER_ANGLE */: - HEAP32[((value)>>2)]=src.coneOuterAngle; - break; - case 0x1007 /* AL_LOOPING */: - HEAP32[((value)>>2)]=src.loop; - break; - case 0x1009 /* AL_BUFFER */: - if (!src.queue.length) { - HEAP32[((value)>>2)]=0; - } else { - // Find the first unprocessed buffer. - var buffer = src.queue[src.buffersPlayed].buffer; - // Return its index. - for (var i = 0; i < AL.currentContext.buf.length; ++i) { - if (buffer == AL.currentContext.buf[i]) { - HEAP32[((value)>>2)]=i+1; - return; - } - } - HEAP32[((value)>>2)]=0; - } - break; - case 0x1010 /* AL_SOURCE_STATE */: - HEAP32[((value)>>2)]=src.state; - break; - case 0x1015 /* AL_BUFFERS_QUEUED */: - HEAP32[((value)>>2)]=src.queue.length - break; - case 0x1016 /* AL_BUFFERS_PROCESSED */: - if (src.loop) { - HEAP32[((value)>>2)]=0 - } else { - HEAP32[((value)>>2)]=src.buffersPlayed - } - break; - default: - AL.currentContext.err = 0xA002 /* AL_INVALID_ENUM */; - break; - } - } - - function _pthread_cleanup_pop() { - assert(_pthread_cleanup_push.level == __ATEXIT__.length, 'cannot pop if something else added meanwhile!'); - __ATEXIT__.pop(); - _pthread_cleanup_push.level = __ATEXIT__.length; - } - - function _emscripten_glClearStencil(x0) { GLctx.clearStencil(x0) } - - function _emscripten_glDetachShader(program, shader) { - GLctx.detachShader(GL.programs[program], - GL.shaders[shader]); - } - - function _emscripten_glDeleteVertexArrays(n, vaos) { - for(var i = 0; i < n; i++) { - var id = HEAP32[(((vaos)+(i*4))>>2)]; - GLctx['deleteVertexArray'](GL.vaos[id]); - GL.vaos[id] = null; - } - } - - function _alGenSources(count, sources) { - if (!AL.currentContext) { - return; - } - for (var i = 0; i < count; ++i) { - var gain = AL.currentContext.ctx.createGain(); - gain.connect(AL.currentContext.gain); - AL.currentContext.src[AL.newSrcId] = { - state: 0x1011 /* AL_INITIAL */, - queue: [], - loop: false, - get refDistance() { - return this._refDistance || 1; - }, - set refDistance(val) { - this._refDistance = val; - if (this.panner) this.panner.refDistance = val; - }, - get maxDistance() { - return this._maxDistance || 10000; - }, - set maxDistance(val) { - this._maxDistance = val; - if (this.panner) this.panner.maxDistance = val; - }, - get rolloffFactor() { - return this._rolloffFactor || 1; - }, - set rolloffFactor(val) { - this._rolloffFactor = val; - if (this.panner) this.panner.rolloffFactor = val; - }, - get position() { - return this._position || [0, 0, 0]; - }, - set position(val) { - this._position = val; - if (this.panner) this.panner.setPosition(val[0], val[1], val[2]); - }, - get velocity() { - return this._velocity || [0, 0, 0]; - }, - set velocity(val) { - this._velocity = val; - if (this.panner) this.panner.setVelocity(val[0], val[1], val[2]); - }, - get direction() { - return this._direction || [0, 0, 0]; - }, - set direction(val) { - this._direction = val; - if (this.panner) this.panner.setOrientation(val[0], val[1], val[2]); - }, - get coneOuterGain() { - return this._coneOuterGain || 0.0; - }, - set coneOuterGain(val) { - this._coneOuterGain = val; - if (this.panner) this.panner.coneOuterGain = val; - }, - get coneInnerAngle() { - return this._coneInnerAngle || 360.0; - }, - set coneInnerAngle(val) { - this._coneInnerAngle = val; - if (this.panner) this.panner.coneInnerAngle = val; - }, - get coneOuterAngle() { - return this._coneOuterAngle || 360.0; - }, - set coneOuterAngle(val) { - this._coneOuterAngle = val; - if (this.panner) this.panner.coneOuterAngle = val; - }, - gain: gain, - panner: null, - buffersPlayed: 0, - bufferPosition: 0 - }; - HEAP32[(((sources)+(i*4))>>2)]=AL.newSrcId; - AL.newSrcId++; - } - } - - function _glfwInit() { - if (GLFW.windows) return 1; // GL_TRUE - - GLFW.initialTime = GLFW.getTime(); - GLFW.hints = GLFW.defaultHints; - GLFW.windows = new Array() - GLFW.active = null; - - window.addEventListener("keydown", GLFW.onKeydown, true); - window.addEventListener("keypress", GLFW.onKeyPress, true); - window.addEventListener("keyup", GLFW.onKeyup, true); - Module["canvas"].addEventListener("mousemove", GLFW.onMousemove, true); - Module["canvas"].addEventListener("mousedown", GLFW.onMouseButtonDown, true); - Module["canvas"].addEventListener("mouseup", GLFW.onMouseButtonUp, true); - Module["canvas"].addEventListener('wheel', GLFW.onMouseWheel, true); - Module["canvas"].addEventListener('mousewheel', GLFW.onMouseWheel, true); - - Browser.resizeListeners.push(function(width, height) { - GLFW.onFullScreenEventChange(); - }); - return 1; // GL_TRUE - } - - function _emscripten_glGetTexParameteriv(target, pname, params) { - if (!params) { - // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense - // if p == null, issue a GL error to notify user about it. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - HEAP32[((params)>>2)]=GLctx.getTexParameter(target, pname); - } - - function _alDeleteSources(count, sources) { - if (!AL.currentContext) { - return; - } - for (var i = 0; i < count; ++i) { - var sourceIdx = HEAP32[(((sources)+(i*4))>>2)]; - delete AL.currentContext.src[sourceIdx]; - } - } - - function _glfwSwapBuffers(winid) { - GLFW.swapBuffers(winid); - } - - function _emscripten_glGenerateMipmap(x0) { GLctx.generateMipmap(x0) } - - function _emscripten_glCullFace(x0) { GLctx.cullFace(x0) } - - function _emscripten_glUniform4f(location, v0, v1, v2, v3) { - location = GL.uniforms[location]; - GLctx.uniform4f(location, v0, v1, v2, v3); - } - - function _glDisableVertexAttribArray(index) { - GLctx.disableVertexAttribArray(index); - } - - function _emscripten_glUseProgram(program) { - GLctx.useProgram(program ? GL.programs[program] : null); - } - - function _emscripten_glHint(x0, x1) { GLctx.hint(x0, x1) } - - function _emscripten_glUniform2fv(location, count, value) { - location = GL.uniforms[location]; - var view; - if (count === 1) { - // avoid allocation for the common case of uploading one uniform - view = GL.miniTempBufferViews[1]; - view[0] = HEAPF32[((value)>>2)]; - view[1] = HEAPF32[(((value)+(4))>>2)]; - } else { - view = HEAPF32.subarray((value)>>2,(value+count*8)>>2); - } - GLctx.uniform2fv(location, view); - } - - function _glfwSwapInterval(interval) { - interval = Math.abs(interval); // GLFW uses negative values to enable GLX_EXT_swap_control_tear, which we don't have, so just treat negative and positive the same. - if (interval == 0) _emscripten_set_main_loop_timing(0/*EM_TIMING_SETTIMEOUT*/, 0); - else _emscripten_set_main_loop_timing(1/*EM_TIMING_RAF*/, interval); - } - - function _glGetShaderInfoLog(shader, maxLength, length, infoLog) { - var log = GLctx.getShaderInfoLog(GL.shaders[shader]); - if (log === null) log = '(unknown error)'; - log = log.substr(0, maxLength - 1); - if (maxLength > 0 && infoLog) { - writeStringToMemory(log, infoLog); - if (length) HEAP32[((length)>>2)]=log.length; - } else { - if (length) HEAP32[((length)>>2)]=0; - } - } - - function _emscripten_glMatrixMode(){ throw 'Legacy GL function (glMatrixMode) called. If you want legacy GL emulation, you need to compile with -s LEGACY_GL_EMULATION=1 to enable legacy GL emulation.'; } - - function _abort() { - Module['abort'](); - } - - function _emscripten_glFramebufferRenderbuffer(target, attachment, renderbuffertarget, renderbuffer) { - GLctx.framebufferRenderbuffer(target, attachment, renderbuffertarget, - GL.renderbuffers[renderbuffer]); - } - - function _alGenBuffers(count, buffers) { - if (!AL.currentContext) { - return; - } - for (var i = 0; i < count; ++i) { - AL.currentContext.buf.push(null); - HEAP32[(((buffers)+(i*4))>>2)]=AL.currentContext.buf.length; - } - } - - function _emscripten_glDeleteFramebuffers(n, framebuffers) { - for (var i = 0; i < n; ++i) { - var id = HEAP32[(((framebuffers)+(i*4))>>2)]; - var framebuffer = GL.framebuffers[id]; - if (!framebuffer) continue; // GL spec: "glDeleteFramebuffers silently ignores 0s and names that do not correspond to existing framebuffer objects". - GLctx.deleteFramebuffer(framebuffer); - framebuffer.name = 0; - GL.framebuffers[id] = null; - } - } - - function _emscripten_glIsBuffer(buffer) { - var b = GL.buffers[buffer]; - if (!b) return 0; - return GLctx.isBuffer(b); - } - - function _emscripten_glUniform2iv(location, count, value) { - location = GL.uniforms[location]; - count *= 2; - value = HEAP32.subarray((value)>>2,(value+count*4)>>2); - GLctx.uniform2iv(location, value); - } - - function _emscripten_glVertexAttrib1fv(index, v) { - v = HEAPF32.subarray((v)>>2,(v+4)>>2); - GLctx.vertexAttrib1fv(index, v); - } - - function _glEnable(x0) { GLctx.enable(x0) } - - function _alBufferData(buffer, format, data, size, freq) { - if (!AL.currentContext) { - return; - } - if (buffer > AL.currentContext.buf.length) { - return; - } - var channels, bytes; - switch (format) { - case 0x1100 /* AL_FORMAT_MONO8 */: - bytes = 1; - channels = 1; - break; - case 0x1101 /* AL_FORMAT_MONO16 */: - bytes = 2; - channels = 1; - break; - case 0x1102 /* AL_FORMAT_STEREO8 */: - bytes = 1; - channels = 2; - break; - case 0x1103 /* AL_FORMAT_STEREO16 */: - bytes = 2; - channels = 2; - break; - case 0x10010 /* AL_FORMAT_MONO_FLOAT32 */: - bytes = 4; - channels = 1; - break; - case 0x10011 /* AL_FORMAT_STEREO_FLOAT32 */: - bytes = 4; - channels = 2; - break; - default: - return; - } - try { - AL.currentContext.buf[buffer - 1] = AL.currentContext.ctx.createBuffer(channels, size / (bytes * channels), freq); - AL.currentContext.buf[buffer - 1].bytesPerSample = bytes; - } catch (e) { - AL.currentContext.err = 0xA003 /* AL_INVALID_VALUE */; - return; - } - var buf = new Array(channels); - for (var i = 0; i < channels; ++i) { - buf[i] = AL.currentContext.buf[buffer - 1].getChannelData(i); - } - for (var i = 0; i < size / (bytes * channels); ++i) { - for (var j = 0; j < channels; ++j) { - switch (bytes) { - case 1: - var val = HEAP8[(((data)+(i*channels+j))>>0)] & 0xff; // unsigned - buf[j][i] = -1.0 + val * (2/256); - break; - case 2: - var val = HEAP16[(((data)+(2*(i*channels+j)))>>1)]; - buf[j][i] = val/32768; - break; - case 4: - buf[j][i] = HEAPF32[(((data)+(4*(i*channels+j)))>>2)]; - break; - } - } - } - } - - function _alSourceStop(source) { - if (!AL.currentContext) { - return; - } - var src = AL.currentContext.src[source]; - if (!src) { - AL.currentContext.err = 0xA001 /* AL_INVALID_NAME */; - return; - } - AL.setSourceState(src, 0x1014 /* AL_STOPPED */); - } - - - - function emscriptenWebGLComputeImageSize(width, height, sizePerPixel, alignment) { - function roundedToNextMultipleOf(x, y) { - return Math.floor((x + y - 1) / y) * y - } - var plainRowSize = width * sizePerPixel; - var alignedRowSize = roundedToNextMultipleOf(plainRowSize, alignment); - return (height <= 0) ? 0 : - ((height - 1) * alignedRowSize + plainRowSize); - }function emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, internalFormat) { - var sizePerPixel; - var numChannels; - switch(format) { - case 0x1906 /* GL_ALPHA */: - case 0x1909 /* GL_LUMINANCE */: - case 0x1902 /* GL_DEPTH_COMPONENT */: - case 0x1903 /* GL_RED */: - numChannels = 1; - break; - case 0x190A /* GL_LUMINANCE_ALPHA */: - case 0x8227 /* GL_RG */: - numChannels = 2; - break; - case 0x1907 /* GL_RGB */: - case 0x8C40 /* GL_SRGB_EXT */: - numChannels = 3; - break; - case 0x1908 /* GL_RGBA */: - case 0x8C42 /* GL_SRGB_ALPHA_EXT */: - numChannels = 4; - break; - default: - GL.recordError(0x0500); // GL_INVALID_ENUM - return { - pixels: null, - internalFormat: 0x0 - }; - } - switch (type) { - case 0x1401 /* GL_UNSIGNED_BYTE */: - sizePerPixel = numChannels*1; - break; - case 0x1403 /* GL_UNSIGNED_SHORT */: - case 0x8D61 /* GL_HALF_FLOAT_OES */: - sizePerPixel = numChannels*2; - break; - case 0x1405 /* GL_UNSIGNED_INT */: - case 0x1406 /* GL_FLOAT */: - sizePerPixel = numChannels*4; - break; - case 0x84FA /* UNSIGNED_INT_24_8_WEBGL/UNSIGNED_INT_24_8 */: - sizePerPixel = 4; - break; - case 0x8363 /* GL_UNSIGNED_SHORT_5_6_5 */: - case 0x8033 /* GL_UNSIGNED_SHORT_4_4_4_4 */: - case 0x8034 /* GL_UNSIGNED_SHORT_5_5_5_1 */: - sizePerPixel = 2; - break; - default: - GL.recordError(0x0500); // GL_INVALID_ENUM - return { - pixels: null, - internalFormat: 0x0 - }; - } - var bytes = emscriptenWebGLComputeImageSize(width, height, sizePerPixel, GL.unpackAlignment); - if (type == 0x1401 /* GL_UNSIGNED_BYTE */) { - pixels = HEAPU8.subarray((pixels),(pixels+bytes)); - } else if (type == 0x1406 /* GL_FLOAT */) { - pixels = HEAPF32.subarray((pixels)>>2,(pixels+bytes)>>2); - } else if (type == 0x1405 /* GL_UNSIGNED_INT */ || type == 0x84FA /* UNSIGNED_INT_24_8_WEBGL */) { - pixels = HEAPU32.subarray((pixels)>>2,(pixels+bytes)>>2); - } else { - pixels = HEAPU16.subarray((pixels)>>1,(pixels+bytes)>>1); - } - return { - pixels: pixels, - internalFormat: internalFormat - }; - }function _emscripten_glTexSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixels) { - var pixelData; - if (pixels) { - pixelData = emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, -1).pixels; - } else { - pixelData = null; - } - GLctx.texSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixelData); - } - - function _emscripten_glPolygonOffset(x0, x1) { GLctx.polygonOffset(x0, x1) } - - var _emscripten_asm_const_int=true; - - function _emscripten_glUniform2f(location, v0, v1) { - location = GL.uniforms[location]; - GLctx.uniform2f(location, v0, v1); - } - - function _glGetAttribLocation(program, name) { - program = GL.programs[program]; - name = Pointer_stringify(name); - return GLctx.getAttribLocation(program, name); - } - - function _glfwWindowHint(target, hint) { - GLFW.hints[target] = hint; - } - - var _sin=Math_sin; - - function _glBlendFunc(x0, x1) { GLctx.blendFunc(x0, x1) } - - function _glCreateProgram() { - var id = GL.getNewId(GL.programs); - var program = GLctx.createProgram(); - program.name = id; - GL.programs[id] = program; - return id; - } - - function _emscripten_glDeleteRenderbuffers(n, renderbuffers) { - for (var i = 0; i < n; i++) { - var id = HEAP32[(((renderbuffers)+(i*4))>>2)]; - var renderbuffer = GL.renderbuffers[id]; - if (!renderbuffer) continue; // GL spec: "glDeleteRenderbuffers silently ignores 0s and names that do not correspond to existing renderbuffer objects". - GLctx.deleteRenderbuffer(renderbuffer); - renderbuffer.name = 0; - GL.renderbuffers[id] = null; - } - } - - function _emscripten_glGetBufferParameteriv(target, value, data) { - if (!data) { - // GLES2 specification does not specify how to behave if data is a null pointer. Since calling this function does not make sense - // if data == null, issue a GL error to notify user about it. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - HEAP32[((data)>>2)]=GLctx.getBufferParameter(target, value); - } - - - function emscriptenWebGLGetUniform(program, location, params, type) { - if (!params) { - // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense - // if params == null, issue a GL error to notify user about it. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - var data = GLctx.getUniform(GL.programs[program], GL.uniforms[location]); - if (typeof data == 'number' || typeof data == 'boolean') { - switch (type) { - case 'Integer': HEAP32[((params)>>2)]=data; break; - case 'Float': HEAPF32[((params)>>2)]=data; break; - default: throw 'internal emscriptenWebGLGetUniform() error, bad type: ' + type; - } - } else { - for (var i = 0; i < data.length; i++) { - switch (type) { - case 'Integer': HEAP32[(((params)+(i))>>2)]=data[i]; break; - case 'Float': HEAPF32[(((params)+(i))>>2)]=data[i]; break; - default: throw 'internal emscriptenWebGLGetUniform() error, bad type: ' + type; - } - } - } - }function _emscripten_glGetUniformiv(program, location, params) { - emscriptenWebGLGetUniform(program, location, params, 'Integer'); - } - - function _emscripten_glDepthMask(x0) { GLctx.depthMask(x0) } - - - function _emscripten_glDepthRangef(x0, x1) { GLctx.depthRange(x0, x1) } - - function _emscripten_glDepthRange(x0, x1) { GLctx.depthRange(x0, x1) } - - function _emscripten_set_fullscreenchange_callback(target, userData, useCapture, callbackfunc) { - if (typeof JSEvents.fullscreenEnabled() === 'undefined') return -1; - if (!target) target = document; - else { - target = JSEvents.findEventTarget(target); - if (!target) return -4; - } - JSEvents.registerFullscreenChangeEventCallback(target, userData, useCapture, callbackfunc, 19, "fullscreenchange"); - JSEvents.registerFullscreenChangeEventCallback(target, userData, useCapture, callbackfunc, 19, "mozfullscreenchange"); - JSEvents.registerFullscreenChangeEventCallback(target, userData, useCapture, callbackfunc, 19, "webkitfullscreenchange"); - JSEvents.registerFullscreenChangeEventCallback(target, userData, useCapture, callbackfunc, 19, "msfullscreenchange"); - return 0; - } - - function _emscripten_glGetShaderPrecisionFormat(shaderType, precisionType, range, precision) { - var result = GLctx.getShaderPrecisionFormat(shaderType, precisionType); - HEAP32[((range)>>2)]=result.rangeMin; - HEAP32[(((range)+(4))>>2)]=result.rangeMax; - HEAP32[((precision)>>2)]=result.precision; - } - - function _emscripten_glUniform1fv(location, count, value) { - location = GL.uniforms[location]; - var view; - if (count === 1) { - // avoid allocation for the common case of uploading one uniform - view = GL.miniTempBufferViews[0]; - view[0] = HEAPF32[((value)>>2)]; - } else { - view = HEAPF32.subarray((value)>>2,(value+count*4)>>2); - } - GLctx.uniform1fv(location, view); - } - - function _glDeleteBuffers(n, buffers) { - for (var i = 0; i < n; i++) { - var id = HEAP32[(((buffers)+(i*4))>>2)]; - var buffer = GL.buffers[id]; - - // From spec: "glDeleteBuffers silently ignores 0's and names that do not - // correspond to existing buffer objects." - if (!buffer) continue; - - GLctx.deleteBuffer(buffer); - buffer.name = 0; - GL.buffers[id] = null; - - if (id == GL.currArrayBuffer) GL.currArrayBuffer = 0; - if (id == GL.currElementArrayBuffer) GL.currElementArrayBuffer = 0; - } - } - - var _atan2=Math_atan2; - - function _emscripten_glBindProgramARB() { - Module['printErr']('missing function: emscripten_glBindProgramARB'); abort(-1); - } - - function _emscripten_glBindTexture(target, texture) { - GLctx.bindTexture(target, texture ? GL.textures[texture] : null); - } - - function _glfwDefaultWindowHints() { - GLFW.hints = GLFW.defaultHints; - } - - function _emscripten_glDeleteProgram(id) { - if (!id) return; - var program = GL.programs[id]; - if (!program) { // glDeleteProgram actually signals an error when deleting a nonexisting object, unlike some other GL delete functions. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - GLctx.deleteProgram(program); - program.name = 0; - GL.programs[id] = null; - GL.programInfos[id] = null; - } - - function _emscripten_glDisable(x0) { GLctx.disable(x0) } - - function _emscripten_glVertexAttrib3fv(index, v) { - v = HEAPF32.subarray((v)>>2,(v+12)>>2); - GLctx.vertexAttrib3fv(index, v); - } - - function _glClearColor(x0, x1, x2, x3) { GLctx.clearColor(x0, x1, x2, x3) } - - function _emscripten_glGetActiveAttrib(program, index, bufSize, length, size, type, name) { - program = GL.programs[program]; - var info = GLctx.getActiveAttrib(program, index); - if (!info) return; // If an error occurs, nothing will be written to length, size and type and name. - - var infoname = info.name.slice(0, Math.max(0, bufSize - 1)); - if (bufSize > 0 && name) { - writeStringToMemory(infoname, name); - if (length) HEAP32[((length)>>2)]=infoname.length; - } else { - if (length) HEAP32[((length)>>2)]=0; - } - - if (size) HEAP32[((size)>>2)]=info.size; - if (type) HEAP32[((type)>>2)]=info.type; - } - - function _emscripten_glIsFramebuffer(framebuffer) { - var fb = GL.framebuffers[framebuffer]; - if (!fb) return 0; - return GLctx.isFramebuffer(fb); - } - - function _emscripten_glLineWidth(x0) { GLctx.lineWidth(x0) } - - function _glfwGetCursorPos(winid, x, y) { - GLFW.getCursorPos(winid, x, y); - } - - function _emscripten_glGetString(name_) { - if (GL.stringCache[name_]) return GL.stringCache[name_]; - var ret; - switch(name_) { - case 0x1F00 /* GL_VENDOR */: - case 0x1F01 /* GL_RENDERER */: - case 0x1F02 /* GL_VERSION */: - ret = allocate(intArrayFromString(GLctx.getParameter(name_)), 'i8', ALLOC_NORMAL); - break; - case 0x1F03 /* GL_EXTENSIONS */: - var exts = GLctx.getSupportedExtensions(); - var gl_exts = []; - for (var i in exts) { - gl_exts.push(exts[i]); - gl_exts.push("GL_" + exts[i]); - } - ret = allocate(intArrayFromString(gl_exts.join(' ')), 'i8', ALLOC_NORMAL); - break; - case 0x8B8C /* GL_SHADING_LANGUAGE_VERSION */: - ret = allocate(intArrayFromString('OpenGL ES GLSL 1.00 (WebGL)'), 'i8', ALLOC_NORMAL); - break; - default: - GL.recordError(0x0500/*GL_INVALID_ENUM*/); - return 0; - } - GL.stringCache[name_] = ret; - return ret; - } - - function _emscripten_glGetAttribLocation(program, name) { - program = GL.programs[program]; - name = Pointer_stringify(name); - return GLctx.getAttribLocation(program, name); - } - - function _emscripten_glRotatef() { - Module['printErr']('missing function: emscripten_glRotatef'); abort(-1); - } - - - function emscriptenWebGLGet(name_, p, type) { - // Guard against user passing a null pointer. - // Note that GLES2 spec does not say anything about how passing a null pointer should be treated. - // Testing on desktop core GL 3, the application crashes on glGetIntegerv to a null pointer, but - // better to report an error instead of doing anything random. - if (!p) { - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - var ret = undefined; - switch(name_) { // Handle a few trivial GLES values - case 0x8DFA: // GL_SHADER_COMPILER - ret = 1; - break; - case 0x8DF8: // GL_SHADER_BINARY_FORMATS - if (type !== 'Integer' && type !== 'Integer64') { - GL.recordError(0x0500); // GL_INVALID_ENUM - } - return; // Do not write anything to the out pointer, since no binary formats are supported. - case 0x8DF9: // GL_NUM_SHADER_BINARY_FORMATS - ret = 0; - break; - case 0x86A2: // GL_NUM_COMPRESSED_TEXTURE_FORMATS - // WebGL doesn't have GL_NUM_COMPRESSED_TEXTURE_FORMATS (it's obsolete since GL_COMPRESSED_TEXTURE_FORMATS returns a JS array that can be queried for length), - // so implement it ourselves to allow C++ GLES2 code get the length. - var formats = GLctx.getParameter(0x86A3 /*GL_COMPRESSED_TEXTURE_FORMATS*/); - ret = formats.length; - break; - case 0x8B9A: // GL_IMPLEMENTATION_COLOR_READ_TYPE - ret = 0x1401; // GL_UNSIGNED_BYTE - break; - case 0x8B9B: // GL_IMPLEMENTATION_COLOR_READ_FORMAT - ret = 0x1908; // GL_RGBA - break; - } - - if (ret === undefined) { - var result = GLctx.getParameter(name_); - switch (typeof(result)) { - case "number": - ret = result; - break; - case "boolean": - ret = result ? 1 : 0; - break; - case "string": - GL.recordError(0x0500); // GL_INVALID_ENUM - return; - case "object": - if (result === null) { - // null is a valid result for some (e.g., which buffer is bound - perhaps nothing is bound), but otherwise - // can mean an invalid name_, which we need to report as an error - switch(name_) { - case 0x8894: // ARRAY_BUFFER_BINDING - case 0x8B8D: // CURRENT_PROGRAM - case 0x8895: // ELEMENT_ARRAY_BUFFER_BINDING - case 0x8CA6: // FRAMEBUFFER_BINDING - case 0x8CA7: // RENDERBUFFER_BINDING - case 0x8069: // TEXTURE_BINDING_2D - case 0x8514: { // TEXTURE_BINDING_CUBE_MAP - ret = 0; - break; - } - default: { - GL.recordError(0x0500); // GL_INVALID_ENUM - return; - } - } - } else if (result instanceof Float32Array || - result instanceof Uint32Array || - result instanceof Int32Array || - result instanceof Array) { - for (var i = 0; i < result.length; ++i) { - switch (type) { - case 'Integer': HEAP32[(((p)+(i*4))>>2)]=result[i]; break; - case 'Float': HEAPF32[(((p)+(i*4))>>2)]=result[i]; break; - case 'Boolean': HEAP8[(((p)+(i))>>0)]=result[i] ? 1 : 0; break; - default: throw 'internal glGet error, bad type: ' + type; - } - } - return; - } else if (result instanceof WebGLBuffer || - result instanceof WebGLProgram || - result instanceof WebGLFramebuffer || - result instanceof WebGLRenderbuffer || - result instanceof WebGLTexture) { - ret = result.name | 0; - } else { - GL.recordError(0x0500); // GL_INVALID_ENUM - return; - } - break; - default: - GL.recordError(0x0500); // GL_INVALID_ENUM - return; - } - } - - switch (type) { - case 'Integer64': (tempI64 = [ret>>>0,(tempDouble=ret,(+(Math_abs(tempDouble))) >= 1.0 ? (tempDouble > 0.0 ? ((Math_min((+(Math_floor((tempDouble)/4294967296.0))), 4294967295.0))|0)>>>0 : (~~((+(Math_ceil((tempDouble - +(((~~(tempDouble)))>>>0))/4294967296.0)))))>>>0) : 0)],HEAP32[((p)>>2)]=tempI64[0],HEAP32[(((p)+(4))>>2)]=tempI64[1]); break; - case 'Integer': HEAP32[((p)>>2)]=ret; break; - case 'Float': HEAPF32[((p)>>2)]=ret; break; - case 'Boolean': HEAP8[((p)>>0)]=ret ? 1 : 0; break; - default: throw 'internal glGet error, bad type: ' + type; - } - }function _emscripten_glGetIntegerv(name_, p) { - emscriptenWebGLGet(name_, p, 'Integer'); - } - - function _emscripten_glGetFramebufferAttachmentParameteriv(target, attachment, pname, params) { - var result = GLctx.getFramebufferAttachmentParameter(target, attachment, pname); - HEAP32[((params)>>2)]=result; - } - - function _llvm_stackrestore(p) { - var self = _llvm_stacksave; - var ret = self.LLVM_SAVEDSTACKS[p]; - self.LLVM_SAVEDSTACKS.splice(p, 1); - Runtime.stackRestore(ret); - } - - function _glfwSetWindowShouldClose(winid, value) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.shouldClose = value; - } - - function _emscripten_glClientActiveTexture() { - Module['printErr']('missing function: emscripten_glClientActiveTexture'); abort(-1); - } - - function _glGenBuffers(n, buffers) { - for (var i = 0; i < n; i++) { - var buffer = GLctx.createBuffer(); - if (!buffer) { - GL.recordError(0x0502 /* GL_INVALID_OPERATION */); - while(i < n) HEAP32[(((buffers)+(i++*4))>>2)]=0; - return; - } - var id = GL.getNewId(GL.buffers); - buffer.name = id; - GL.buffers[id] = buffer; - HEAP32[(((buffers)+(i*4))>>2)]=id; - } - } - - function _emscripten_glGetShaderInfoLog(shader, maxLength, length, infoLog) { - var log = GLctx.getShaderInfoLog(GL.shaders[shader]); - if (log === null) log = '(unknown error)'; - log = log.substr(0, maxLength - 1); - if (maxLength > 0 && infoLog) { - writeStringToMemory(log, infoLog); - if (length) HEAP32[((length)>>2)]=log.length; - } else { - if (length) HEAP32[((length)>>2)]=0; - } - } - - function _glfwGetTime() { - return GLFW.getTime() - GLFW.initialTime; - } - - function _emscripten_glGetRenderbufferParameteriv(target, pname, params) { - if (!params) { - // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense - // if params == null, issue a GL error to notify user about it. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - HEAP32[((params)>>2)]=GLctx.getRenderbufferParameter(target, pname); - } - - function _emscripten_glStencilOpSeparate(x0, x1, x2, x3) { GLctx.stencilOpSeparate(x0, x1, x2, x3) } - - function _emscripten_glReadPixels(x, y, width, height, format, type, pixels) { - var data = emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, format); - if (!data.pixels) { - GL.recordError(0x0500/*GL_INVALID_ENUM*/); - return; - } - GLctx.readPixels(x, y, width, height, format, type, data.pixels); - } - - function _emscripten_glCompressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, imageSize, data) { - var heapView; - if (data) { - heapView = HEAPU8.subarray((data),(data+imageSize)); - } else { - heapView = null; - } - GLctx['compressedTexSubImage2D'](target, level, xoffset, yoffset, width, height, format, heapView); - } - - function _emscripten_glGetError() { - // First return any GL error generated by the emscripten library_gl.js interop layer. - if (GL.lastError) { - var error = GL.lastError; - GL.lastError = 0/*GL_NO_ERROR*/; - return error; - } else { // If there were none, return the GL error from the browser GL context. - return GLctx.getError(); - } - } - - function _emscripten_glFramebufferTexture2D(target, attachment, textarget, texture, level) { - GLctx.framebufferTexture2D(target, attachment, textarget, - GL.textures[texture], level); - } - - function _pthread_cleanup_push(routine, arg) { - __ATEXIT__.push(function() { Runtime.dynCall('vi', routine, [arg]) }) - _pthread_cleanup_push.level = __ATEXIT__.length; - } - - function _alSourcei(source, param, value) { - if (!AL.currentContext) { - return; - } - var src = AL.currentContext.src[source]; - if (!src) { - AL.currentContext.err = 0xA001 /* AL_INVALID_NAME */; - return; - } - switch (param) { - case 0x1001 /* AL_CONE_INNER_ANGLE */: - src.coneInnerAngle = value; - break; - case 0x1002 /* AL_CONE_OUTER_ANGLE */: - src.coneOuterAngle = value; - break; - case 0x1007 /* AL_LOOPING */: - src.loop = (value === 1 /* AL_TRUE */); - break; - case 0x1009 /* AL_BUFFER */: - var buffer = AL.currentContext.buf[value - 1]; - if (value == 0) { - src.queue = []; - } else { - src.queue = [{ buffer: buffer }]; - } - AL.updateSource(src); - break; - case 0x202 /* AL_SOURCE_RELATIVE */: - if (value === 1 /* AL_TRUE */) { - if (src.panner) { - src.panner = null; - - // Disconnect from the panner. - src.gain.disconnect(); - - src.gain.connect(AL.currentContext.ctx.destination); - } - } else if (value === 0 /* AL_FALSE */) { - if (!src.panner) { - var panner = src.panner = AL.currentContext.ctx.createPanner(); - panner.panningModel = "equalpower"; - panner.distanceModel = "linear"; - panner.refDistance = src.refDistance; - panner.maxDistance = src.maxDistance; - panner.rolloffFactor = src.rolloffFactor; - panner.setPosition(src.position[0], src.position[1], src.position[2]); - panner.setVelocity(src.velocity[0], src.velocity[1], src.velocity[2]); - panner.connect(AL.currentContext.ctx.destination); - - // Disconnect from the default source. - src.gain.disconnect(); - - src.gain.connect(panner); - } - } else { - AL.currentContext.err = 0xA003 /* AL_INVALID_VALUE */; - } - break; - default: - AL.currentContext.err = 0xA002 /* AL_INVALID_ENUM */; - break; - } - } - - function _emscripten_glIsEnabled(x0) { return GLctx.isEnabled(x0) } - - function _alSourceQueueBuffers(source, count, buffers) { - if (!AL.currentContext) { - return; - } - var src = AL.currentContext.src[source]; - if (!src) { - AL.currentContext.err = 0xA001 /* AL_INVALID_NAME */; - return; - } - for (var i = 0; i < count; ++i) { - var bufferIdx = HEAP32[(((buffers)+(i*4))>>2)]; - if (bufferIdx > AL.currentContext.buf.length) { - AL.currentContext.err = 0xA001 /* AL_INVALID_NAME */; - return; - } - } - - for (var i = 0; i < count; ++i) { - var bufferIdx = HEAP32[(((buffers)+(i*4))>>2)]; - var buffer = AL.currentContext.buf[bufferIdx - 1]; - src.queue.push({ buffer: buffer, src: null }); - } - - AL.updateSource(src); - } - - function _alSourcef(source, param, value) { - if (!AL.currentContext) { - return; - } - var src = AL.currentContext.src[source]; - if (!src) { - AL.currentContext.err = 0xA001 /* AL_INVALID_NAME */; - return; - } - switch (param) { - case 0x1003 /* AL_PITCH */: - break; - case 0x100A /* AL_GAIN */: - src.gain.gain.value = value; - break; - // case 0x100D /* AL_MIN_GAIN */: - // break; - // case 0x100E /* AL_MAX_GAIN */: - // break; - case 0x1023 /* AL_MAX_DISTANCE */: - src.maxDistance = value; - break; - case 0x1021 /* AL_ROLLOFF_FACTOR */: - src.rolloffFactor = value; - break; - case 0x1022 /* AL_CONE_OUTER_GAIN */: - src.coneOuterGain = value; - break; - case 0x1001 /* AL_CONE_INNER_ANGLE */: - src.coneInnerAngle = value; - break; - case 0x1002 /* AL_CONE_OUTER_ANGLE */: - src.coneOuterAngle = value; - break; - case 0x1020 /* AL_REFERENCE_DISTANCE */: - src.refDistance = value; - break; - default: - AL.currentContext.err = 0xA002 /* AL_INVALID_ENUM */; - break; - } - } - - - Module["_memmove"] = _memmove; - - function _glGenTextures(n, textures) { - for (var i = 0; i < n; i++) { - var texture = GLctx.createTexture(); - if (!texture) { - GL.recordError(0x0502 /* GL_INVALID_OPERATION */); // GLES + EGL specs don't specify what should happen here, so best to issue an error and create IDs with 0. - while(i < n) HEAP32[(((textures)+(i++*4))>>2)]=0; - return; - } - var id = GL.getNewId(GL.textures); - texture.name = id; - GL.textures[id] = texture; - HEAP32[(((textures)+(i*4))>>2)]=id; - } - } - - function _emscripten_glVertexAttrib4f(x0, x1, x2, x3, x4) { GLctx.vertexAttrib4f(x0, x1, x2, x3, x4) } - - function _glDepthFunc(x0) { GLctx.depthFunc(x0) } - - function _emscripten_glUniform2i(location, v0, v1) { - location = GL.uniforms[location]; - GLctx.uniform2i(location, v0, v1); - } - - function _emscripten_glClearDepthf(x0) { GLctx.clearDepth(x0) } - - function _emscripten_glClear(x0) { GLctx.clear(x0) } - - function _alGetError() { - if (!AL.currentContext) { - return 0xA004 /* AL_INVALID_OPERATION */; - } else { - // Reset error on get. - var err = AL.currentContext.err; - AL.currentContext.err = 0 /* AL_NO_ERROR */; - return err; - } - } - - function _emscripten_glBindBuffer(target, buffer) { - var bufferObj = buffer ? GL.buffers[buffer] : null; - - - GLctx.bindBuffer(target, bufferObj); - } - - function _emscripten_glGetUniformfv(program, location, params) { - emscriptenWebGLGetUniform(program, location, params, 'Float'); - } - - function _glGetProgramiv(program, pname, p) { - if (!p) { - // GLES2 specification does not specify how to behave if p is a null pointer. Since calling this function does not make sense - // if p == null, issue a GL error to notify user about it. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - if (pname == 0x8B84) { // GL_INFO_LOG_LENGTH - var log = GLctx.getProgramInfoLog(GL.programs[program]); - if (log === null) log = '(unknown error)'; - HEAP32[((p)>>2)]=log.length + 1; - } else if (pname == 0x8B87 /* GL_ACTIVE_UNIFORM_MAX_LENGTH */) { - var ptable = GL.programInfos[program]; - if (ptable) { - HEAP32[((p)>>2)]=ptable.maxUniformLength; - return; - } else if (program < GL.counter) { - GL.recordError(0x0502 /* GL_INVALID_OPERATION */); - } else { - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - } - } else if (pname == 0x8B8A /* GL_ACTIVE_ATTRIBUTE_MAX_LENGTH */) { - var ptable = GL.programInfos[program]; - if (ptable) { - if (ptable.maxAttributeLength == -1) { - var program = GL.programs[program]; - var numAttribs = GLctx.getProgramParameter(program, GLctx.ACTIVE_ATTRIBUTES); - ptable.maxAttributeLength = 0; // Spec says if there are no active attribs, 0 must be returned. - for(var i = 0; i < numAttribs; ++i) { - var activeAttrib = GLctx.getActiveAttrib(program, i); - ptable.maxAttributeLength = Math.max(ptable.maxAttributeLength, activeAttrib.name.length+1); - } - } - HEAP32[((p)>>2)]=ptable.maxAttributeLength; - return; - } else if (program < GL.counter) { - GL.recordError(0x0502 /* GL_INVALID_OPERATION */); - } else { - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - } - } else { - HEAP32[((p)>>2)]=GLctx.getProgramParameter(GL.programs[program], pname); - } - } - - function _glVertexAttribPointer(index, size, type, normalized, stride, ptr) { - GLctx.vertexAttribPointer(index, size, type, normalized, stride, ptr); - } - - function _alcMakeContextCurrent(context) { - if (context == 0) { - AL.currentContext = null; - return 0; - } else { - AL.currentContext = AL.contexts[context - 1]; - return 1; - } - } - - function _glGetUniformLocation(program, name) { - name = Pointer_stringify(name); - - var arrayOffset = 0; - // If user passed an array accessor "[index]", parse the array index off the accessor. - if (name.indexOf(']', name.length-1) !== -1) { - var ls = name.lastIndexOf('['); - var arrayIndex = name.slice(ls+1, -1); - if (arrayIndex.length > 0) { - arrayOffset = parseInt(arrayIndex); - if (arrayOffset < 0) { - return -1; - } - } - name = name.slice(0, ls); - } - - var ptable = GL.programInfos[program]; - if (!ptable) { - return -1; - } - var utable = ptable.uniforms; - var uniformInfo = utable[name]; // returns pair [ dimension_of_uniform_array, uniform_location ] - if (uniformInfo && arrayOffset < uniformInfo[0]) { // Check if user asked for an out-of-bounds element, i.e. for 'vec4 colors[3];' user could ask for 'colors[10]' which should return -1. - return uniformInfo[1]+arrayOffset; - } else { - return -1; - } - } - - function _emscripten_glGetAttachedShaders(program, maxCount, count, shaders) { - var result = GLctx.getAttachedShaders(GL.programs[program]); - var len = result.length; - if (len > maxCount) { - len = maxCount; - } - HEAP32[((count)>>2)]=len; - for (var i = 0; i < len; ++i) { - var id = GL.shaders.indexOf(result[i]); - HEAP32[(((shaders)+(i*4))>>2)]=id; - } - } - - function _emscripten_glGenRenderbuffers(n, renderbuffers) { - for (var i = 0; i < n; i++) { - var renderbuffer = GLctx.createRenderbuffer(); - if (!renderbuffer) { - GL.recordError(0x0502 /* GL_INVALID_OPERATION */); - while(i < n) HEAP32[(((renderbuffers)+(i++*4))>>2)]=0; - return; - } - var id = GL.getNewId(GL.renderbuffers); - renderbuffer.name = id; - GL.renderbuffers[id] = renderbuffer; - HEAP32[(((renderbuffers)+(i*4))>>2)]=id; - } - } - - function _emscripten_glFrontFace(x0) { GLctx.frontFace(x0) } - - function _emscripten_glActiveTexture(x0) { GLctx.activeTexture(x0) } - - function _emscripten_glUniform1iv(location, count, value) { - location = GL.uniforms[location]; - value = HEAP32.subarray((value)>>2,(value+count*4)>>2); - GLctx.uniform1iv(location, value); - } - - function _emscripten_glTexCoordPointer() { - Module['printErr']('missing function: emscripten_glTexCoordPointer'); abort(-1); - } - - function _emscripten_glGetInfoLogARB() { - Module['printErr']('missing function: emscripten_glGetInfoLogARB'); abort(-1); - } - - - function __exit(status) { - // void _exit(int status); - // http://pubs.opengroup.org/onlinepubs/000095399/functions/exit.html - Module['exit'](status); - }function _exit(status) { - __exit(status); - } - - function _emscripten_glRenderbufferStorage(x0, x1, x2, x3) { GLctx.renderbufferStorage(x0, x1, x2, x3) } - - function _emscripten_glCopyTexSubImage2D(x0, x1, x2, x3, x4, x5, x6, x7) { GLctx.copyTexSubImage2D(x0, x1, x2, x3, x4, x5, x6, x7) } - - function _glfwSetCursorPosCallback(winid, cbfun) { - GLFW.setCursorPosCallback(winid, cbfun); - } - - function _emscripten_glShaderBinary() { - GL.recordError(0x0500/*GL_INVALID_ENUM*/); - } - - function _emscripten_glIsProgram(program) { - var program = GL.programs[program]; - if (!program) return 0; - return GLctx.isProgram(program); - } - - function _emscripten_glBlendColor(x0, x1, x2, x3) { GLctx.blendColor(x0, x1, x2, x3) } - - function _emscripten_glGetShaderiv(shader, pname, p) { - if (!p) { - // GLES2 specification does not specify how to behave if p is a null pointer. Since calling this function does not make sense - // if p == null, issue a GL error to notify user about it. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - if (pname == 0x8B84) { // GL_INFO_LOG_LENGTH - var log = GLctx.getShaderInfoLog(GL.shaders[shader]); - if (log === null) log = '(unknown error)'; - HEAP32[((p)>>2)]=log.length + 1; - } else { - HEAP32[((p)>>2)]=GLctx.getShaderParameter(GL.shaders[shader], pname); - } - } - - function _emscripten_glUniformMatrix3fv(location, count, transpose, value) { - location = GL.uniforms[location]; - var view; - if (count === 1) { - // avoid allocation for the common case of uploading one uniform matrix - view = GL.miniTempBufferViews[8]; - for (var i = 0; i < 9; i++) { - view[i] = HEAPF32[(((value)+(i*4))>>2)]; - } - } else { - view = HEAPF32.subarray((value)>>2,(value+count*36)>>2); - } - GLctx.uniformMatrix3fv(location, transpose, view); - } - - function _emscripten_glVertexAttrib2f(x0, x1, x2) { GLctx.vertexAttrib2f(x0, x1, x2) } - - function _emscripten_glUniform4fv(location, count, value) { - location = GL.uniforms[location]; - var view; - if (count === 1) { - // avoid allocation for the common case of uploading one uniform - view = GL.miniTempBufferViews[3]; - view[0] = HEAPF32[((value)>>2)]; - view[1] = HEAPF32[(((value)+(4))>>2)]; - view[2] = HEAPF32[(((value)+(8))>>2)]; - view[3] = HEAPF32[(((value)+(12))>>2)]; - } else { - view = HEAPF32.subarray((value)>>2,(value+count*16)>>2); - } - GLctx.uniform4fv(location, view); - } - - function _glBufferSubData(target, offset, size, data) { - GLctx.bufferSubData(target, offset, HEAPU8.subarray(data, data+size)); - } - - function _glGetProgramInfoLog(program, maxLength, length, infoLog) { - var log = GLctx.getProgramInfoLog(GL.programs[program]); - if (log === null) log = '(unknown error)'; - - log = log.substr(0, maxLength - 1); - if (maxLength > 0 && infoLog) { - writeStringToMemory(log, infoLog); - if (length) HEAP32[((length)>>2)]=log.length; - } else { - if (length) HEAP32[((length)>>2)]=0; - } - } - - function _alcDestroyContext(context) { - // Stop playback, etc - clearInterval(AL.contexts[context - 1].interval); - } - - function _emscripten_glGenFramebuffers(n, ids) { - for (var i = 0; i < n; ++i) { - var framebuffer = GLctx.createFramebuffer(); - if (!framebuffer) { - GL.recordError(0x0502 /* GL_INVALID_OPERATION */); - while(i < n) HEAP32[(((ids)+(i++*4))>>2)]=0; - return; - } - var id = GL.getNewId(GL.framebuffers); - framebuffer.name = id; - GL.framebuffers[id] = framebuffer; - HEAP32[(((ids)+(i*4))>>2)]=id; - } - } - - function _glGetShaderiv(shader, pname, p) { - if (!p) { - // GLES2 specification does not specify how to behave if p is a null pointer. Since calling this function does not make sense - // if p == null, issue a GL error to notify user about it. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - if (pname == 0x8B84) { // GL_INFO_LOG_LENGTH - var log = GLctx.getShaderInfoLog(GL.shaders[shader]); - if (log === null) log = '(unknown error)'; - HEAP32[((p)>>2)]=log.length + 1; - } else { - HEAP32[((p)>>2)]=GLctx.getShaderParameter(GL.shaders[shader], pname); - } - } - - function _emscripten_glBlendEquationSeparate(x0, x1) { GLctx.blendEquationSeparate(x0, x1) } - - function _glfwSetWindowIconifyCallback(winid, cbfun) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.windowIconifyFunc = cbfun; - } - - function _emscripten_glDrawRangeElements() { - Module['printErr']('missing function: emscripten_glDrawRangeElements'); abort(-1); - } - - function _emscripten_glGenTextures(n, textures) { - for (var i = 0; i < n; i++) { - var texture = GLctx.createTexture(); - if (!texture) { - GL.recordError(0x0502 /* GL_INVALID_OPERATION */); // GLES + EGL specs don't specify what should happen here, so best to issue an error and create IDs with 0. - while(i < n) HEAP32[(((textures)+(i++*4))>>2)]=0; - return; - } - var id = GL.getNewId(GL.textures); - texture.name = id; - GL.textures[id] = texture; - HEAP32[(((textures)+(i*4))>>2)]=id; - } - } - - function _emscripten_glVertexAttrib2fv(index, v) { - v = HEAPF32.subarray((v)>>2,(v+8)>>2); - GLctx.vertexAttrib2fv(index, v); - } - - function _emscripten_glGetActiveUniform(program, index, bufSize, length, size, type, name) { - program = GL.programs[program]; - var info = GLctx.getActiveUniform(program, index); - if (!info) return; // If an error occurs, nothing will be written to length, size, type and name. - - var infoname = info.name.slice(0, Math.max(0, bufSize - 1)); - if (bufSize > 0 && name) { - writeStringToMemory(infoname, name); - if (length) HEAP32[((length)>>2)]=infoname.length; - } else { - if (length) HEAP32[((length)>>2)]=0; - } - - if (size) HEAP32[((size)>>2)]=info.size; - if (type) HEAP32[((type)>>2)]=info.type; - } - - function _emscripten_glDeleteObjectARB() { - Module['printErr']('missing function: emscripten_glDeleteObjectARB'); abort(-1); - } - - function _emscripten_set_touchmove_callback(target, userData, useCapture, callbackfunc) { - JSEvents.registerTouchEventCallback(target, userData, useCapture, callbackfunc, 24, "touchmove"); - return 0; - } - - function _emscripten_glUniform1f(location, v0) { - location = GL.uniforms[location]; - GLctx.uniform1f(location, v0); - } - - function _alcCreateContext(device, attrList) { - if (device != 1) { - return 0; - } - - if (attrList) { - return 0; - } - - var ctx; - try { - ctx = new AudioContext(); - } catch (e) { - try { - ctx = new webkitAudioContext(); - } catch (e) {} - } - - if (ctx) { - // Old Web Audio API (e.g. Safari 6.0.5) had an inconsistently named createGainNode function. - if (typeof(ctx.createGain) === 'undefined') ctx.createGain = ctx.createGainNode; - - var gain = ctx.createGain(); - gain.connect(ctx.destination); - var context = { - ctx: ctx, - err: 0, - src: {}, - buf: [], - interval: setInterval(function() { AL.updateSources(context); }, AL.QUEUE_INTERVAL), - gain: gain - }; - AL.contexts.push(context); - return AL.contexts.length; - } else { - return 0; - } - } - - function _emscripten_glVertexAttribPointer(index, size, type, normalized, stride, ptr) { - GLctx.vertexAttribPointer(index, size, type, normalized, stride, ptr); - } - - function _alcCloseDevice(device) { - // Stop playback, etc - } - - function _glShaderSource(shader, count, string, length) { - var source = GL.getSource(shader, count, string, length); - GLctx.shaderSource(GL.shaders[shader], source); - } - - var _sqrtf=Math_sqrt; - - function _emscripten_glDrawArrays(mode, first, count) { - - GLctx.drawArrays(mode, first, count); - - } - - function _emscripten_glGenBuffers(n, buffers) { - for (var i = 0; i < n; i++) { - var buffer = GLctx.createBuffer(); - if (!buffer) { - GL.recordError(0x0502 /* GL_INVALID_OPERATION */); - while(i < n) HEAP32[(((buffers)+(i++*4))>>2)]=0; - return; - } - var id = GL.getNewId(GL.buffers); - buffer.name = id; - GL.buffers[id] = buffer; - HEAP32[(((buffers)+(i*4))>>2)]=id; - } - } - - var _log=Math_log; - - function _glfwSetCharCallback(winid, cbfun) { - GLFW.setCharCallback(winid, cbfun); - } - - function _emscripten_glGetUniformLocation(program, name) { - name = Pointer_stringify(name); - - var arrayOffset = 0; - // If user passed an array accessor "[index]", parse the array index off the accessor. - if (name.indexOf(']', name.length-1) !== -1) { - var ls = name.lastIndexOf('['); - var arrayIndex = name.slice(ls+1, -1); - if (arrayIndex.length > 0) { - arrayOffset = parseInt(arrayIndex); - if (arrayOffset < 0) { - return -1; - } - } - name = name.slice(0, ls); - } - - var ptable = GL.programInfos[program]; - if (!ptable) { - return -1; - } - var utable = ptable.uniforms; - var uniformInfo = utable[name]; // returns pair [ dimension_of_uniform_array, uniform_location ] - if (uniformInfo && arrayOffset < uniformInfo[0]) { // Check if user asked for an out-of-bounds element, i.e. for 'vec4 colors[3];' user could ask for 'colors[10]' which should return -1. - return uniformInfo[1]+arrayOffset; - } else { - return -1; - } - } - - function _glBindBuffer(target, buffer) { - var bufferObj = buffer ? GL.buffers[buffer] : null; - - - GLctx.bindBuffer(target, bufferObj); - } - - function _glPixelStorei(pname, param) { - if (pname == 0x0D05 /* GL_PACK_ALIGNMENT */) { - GL.packAlignment = param; - } else if (pname == 0x0cf5 /* GL_UNPACK_ALIGNMENT */) { - GL.unpackAlignment = param; - } - GLctx.pixelStorei(pname, param); - } - - function _emscripten_glEnable(x0) { GLctx.enable(x0) } - - function _emscripten_glScissor(x0, x1, x2, x3) { GLctx.scissor(x0, x1, x2, x3) } - - function _glfwSetCursorEnterCallback(winid, cbfun) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.cursorEnterFunc = cbfun; - } - - - Module["_bitshift64Lshr"] = _bitshift64Lshr; - - function _glBufferData(target, size, data, usage) { - switch (usage) { // fix usages, WebGL only has *_DRAW - case 0x88E1: // GL_STREAM_READ - case 0x88E2: // GL_STREAM_COPY - usage = 0x88E0; // GL_STREAM_DRAW - break; - case 0x88E5: // GL_STATIC_READ - case 0x88E6: // GL_STATIC_COPY - usage = 0x88E4; // GL_STATIC_DRAW - break; - case 0x88E9: // GL_DYNAMIC_READ - case 0x88EA: // GL_DYNAMIC_COPY - usage = 0x88E8; // GL_DYNAMIC_DRAW - break; - } - if (!data) { - GLctx.bufferData(target, size, usage); - } else { - GLctx.bufferData(target, HEAPU8.subarray(data, data+size), usage); - } - } - - var _BDtoIHigh=true; - - function _emscripten_glIsShader(shader) { - var s = GL.shaders[shader]; - if (!s) return 0; - return GLctx.isShader(s); - } - - function _emscripten_glDrawBuffers(n, bufs) { - var bufArray = []; - for (var i = 0; i < n; i++) - bufArray.push(HEAP32[(((bufs)+(i*4))>>2)]); - - GLctx['drawBuffers'](bufArray); - } - - function _emscripten_glBindFramebuffer(target, framebuffer) { - GLctx.bindFramebuffer(target, framebuffer ? GL.framebuffers[framebuffer] : null); - } - - function _alcGetContextsDevice(context) { - if (context <= AL.contexts.length && context > 0) { - // Returns the only one audio device - return 1; - } - return 0; - } - - function _emscripten_glBlendEquation(x0) { GLctx.blendEquation(x0) } - - function _emscripten_glBufferSubData(target, offset, size, data) { - GLctx.bufferSubData(target, offset, HEAPU8.subarray(data, data+size)); - } - - function _emscripten_glBufferData(target, size, data, usage) { - switch (usage) { // fix usages, WebGL only has *_DRAW - case 0x88E1: // GL_STREAM_READ - case 0x88E2: // GL_STREAM_COPY - usage = 0x88E0; // GL_STREAM_DRAW - break; - case 0x88E5: // GL_STATIC_READ - case 0x88E6: // GL_STATIC_COPY - usage = 0x88E4; // GL_STATIC_DRAW - break; - case 0x88E9: // GL_DYNAMIC_READ - case 0x88EA: // GL_DYNAMIC_COPY - usage = 0x88E8; // GL_DYNAMIC_DRAW - break; - } - if (!data) { - GLctx.bufferData(target, size, usage); - } else { - GLctx.bufferData(target, HEAPU8.subarray(data, data+size), usage); - } - } - - function _sbrk(bytes) { - // Implement a Linux-like 'memory area' for our 'process'. - // Changes the size of the memory area by |bytes|; returns the - // address of the previous top ('break') of the memory area - // We control the "dynamic" memory - DYNAMIC_BASE to DYNAMICTOP - var self = _sbrk; - if (!self.called) { - DYNAMICTOP = alignMemoryPage(DYNAMICTOP); // make sure we start out aligned - self.called = true; - assert(Runtime.dynamicAlloc); - self.alloc = Runtime.dynamicAlloc; - Runtime.dynamicAlloc = function() { abort('cannot dynamically allocate, sbrk now has control') }; - } - var ret = DYNAMICTOP; - if (bytes != 0) { - var success = self.alloc(bytes); - if (!success) return -1 >>> 0; // sbrk failure code - } - return ret; // Previous break location. - } - - - Module["_bitshift64Shl"] = _bitshift64Shl; - - function _emscripten_glVertexAttrib4fv(index, v) { - v = HEAPF32.subarray((v)>>2,(v+16)>>2); - GLctx.vertexAttrib4fv(index, v); - } - - var _BItoD=true; - - function _emscripten_glGetShaderSource(shader, bufSize, length, source) { - var result = GLctx.getShaderSource(GL.shaders[shader]); - if (!result) return; // If an error occurs, nothing will be written to length or source. - result = result.slice(0, Math.max(0, bufSize - 1)); - if (bufSize > 0 && source) { - writeStringToMemory(result, source); - if (length) HEAP32[((length)>>2)]=result.length; - } else { - if (length) HEAP32[((length)>>2)]=0; - } - } - - function _emscripten_glClearDepth(x0) { GLctx.clearDepth(x0) } - - function _emscripten_glGetFloatv(name_, p) { - emscriptenWebGLGet(name_, p, 'Float'); - } - - function _glTexImage2D(target, level, internalFormat, width, height, border, format, type, pixels) { - var pixelData; - if (pixels) { - var data = emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, internalFormat); - pixelData = data.pixels; - internalFormat = data.internalFormat; - } else { - pixelData = null; - } - GLctx.texImage2D(target, level, internalFormat, width, height, border, format, type, pixelData); - } - - function ___assert_fail(condition, filename, line, func) { - ABORT = true; - throw 'Assertion failed: ' + Pointer_stringify(condition) + ', at: ' + [filename ? Pointer_stringify(filename) : 'unknown filename', line, func ? Pointer_stringify(func) : 'unknown function'] + ' at ' + stackTrace(); - } - - function _emscripten_glVertexAttribDivisor(index, divisor) { - GLctx['vertexAttribDivisor'](index, divisor); - } - - function _emscripten_glDrawElementsInstanced(mode, count, type, indices, primcount) { - GLctx['drawElementsInstanced'](mode, count, type, indices, primcount); - } - - function _emscripten_glDrawElements(mode, count, type, indices) { - - GLctx.drawElements(mode, count, type, indices); - - } - - function _glfwSetMouseButtonCallback(winid, cbfun) { - GLFW.setMouseButtonCallback(winid, cbfun); - } - - function _emscripten_glCreateProgram() { - var id = GL.getNewId(GL.programs); - var program = GLctx.createProgram(); - program.name = id; - GL.programs[id] = program; - return id; - } - - function _emscripten_glCompressedTexImage2D(target, level, internalFormat, width, height, border, imageSize, data) { - var heapView; - if (data) { - heapView = HEAPU8.subarray((data),(data+imageSize)); - } else { - heapView = null; - } - GLctx['compressedTexImage2D'](target, level, internalFormat, width, height, border, heapView); - } - - function _emscripten_glClearColor(x0, x1, x2, x3) { GLctx.clearColor(x0, x1, x2, x3) } - - function _emscripten_glBindVertexArray(vao) { - GLctx['bindVertexArray'](GL.vaos[vao]); - } - - var _floor=Math_floor; - - function _emscripten_glLoadMatrixf() { - Module['printErr']('missing function: emscripten_glLoadMatrixf'); abort(-1); - } - - function _glDeleteShader(id) { - if (!id) return; - var shader = GL.shaders[id]; - if (!shader) { // glDeleteShader actually signals an error when deleting a nonexisting object, unlike some other GL delete functions. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - GLctx.deleteShader(shader); - GL.shaders[id] = null; - } - - function _emscripten_glGetProgramiv(program, pname, p) { - if (!p) { - // GLES2 specification does not specify how to behave if p is a null pointer. Since calling this function does not make sense - // if p == null, issue a GL error to notify user about it. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - if (pname == 0x8B84) { // GL_INFO_LOG_LENGTH - var log = GLctx.getProgramInfoLog(GL.programs[program]); - if (log === null) log = '(unknown error)'; - HEAP32[((p)>>2)]=log.length + 1; - } else if (pname == 0x8B87 /* GL_ACTIVE_UNIFORM_MAX_LENGTH */) { - var ptable = GL.programInfos[program]; - if (ptable) { - HEAP32[((p)>>2)]=ptable.maxUniformLength; - return; - } else if (program < GL.counter) { - GL.recordError(0x0502 /* GL_INVALID_OPERATION */); - } else { - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - } - } else if (pname == 0x8B8A /* GL_ACTIVE_ATTRIBUTE_MAX_LENGTH */) { - var ptable = GL.programInfos[program]; - if (ptable) { - if (ptable.maxAttributeLength == -1) { - var program = GL.programs[program]; - var numAttribs = GLctx.getProgramParameter(program, GLctx.ACTIVE_ATTRIBUTES); - ptable.maxAttributeLength = 0; // Spec says if there are no active attribs, 0 must be returned. - for(var i = 0; i < numAttribs; ++i) { - var activeAttrib = GLctx.getActiveAttrib(program, i); - ptable.maxAttributeLength = Math.max(ptable.maxAttributeLength, activeAttrib.name.length+1); - } - } - HEAP32[((p)>>2)]=ptable.maxAttributeLength; - return; - } else if (program < GL.counter) { - GL.recordError(0x0502 /* GL_INVALID_OPERATION */); - } else { - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - } - } else { - HEAP32[((p)>>2)]=GLctx.getProgramParameter(GL.programs[program], pname); - } - } - - function _emscripten_glGetProgramInfoLog(program, maxLength, length, infoLog) { - var log = GLctx.getProgramInfoLog(GL.programs[program]); - if (log === null) log = '(unknown error)'; - - log = log.substr(0, maxLength - 1); - if (maxLength > 0 && infoLog) { - writeStringToMemory(log, infoLog); - if (length) HEAP32[((length)>>2)]=log.length; - } else { - if (length) HEAP32[((length)>>2)]=0; - } - } - - function _emscripten_glTexImage2D(target, level, internalFormat, width, height, border, format, type, pixels) { - var pixelData; - if (pixels) { - var data = emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, internalFormat); - pixelData = data.pixels; - internalFormat = data.internalFormat; - } else { - pixelData = null; - } - GLctx.texImage2D(target, level, internalFormat, width, height, border, format, type, pixelData); - } - - var _exp=Math_exp; - - function ___unlock() {} - - function _emscripten_glColorPointer() { - Module['printErr']('missing function: emscripten_glColorPointer'); abort(-1); - } - - function _glViewport(x0, x1, x2, x3) { GLctx.viewport(x0, x1, x2, x3) } - - function _glfwPollEvents() {} - - function _emscripten_glCheckFramebufferStatus(x0) { return GLctx.checkFramebufferStatus(x0) } - - function _glfwDestroyWindow(winid) { - return GLFW.destroyWindow(winid); - } - - function _emscripten_glFlush() { GLctx.flush() } - - function _glfwSetErrorCallback(cbfun) { - GLFW.errorFunc = cbfun; - } - - function _emscripten_glCreateShader(shaderType) { - var id = GL.getNewId(GL.shaders); - GL.shaders[id] = GLctx.createShader(shaderType); - return id; - } - - function _glUniformMatrix4fv(location, count, transpose, value) { - location = GL.uniforms[location]; - var view; - if (count === 1) { - // avoid allocation for the common case of uploading one uniform matrix - view = GL.miniTempBufferViews[15]; - for (var i = 0; i < 16; i++) { - view[i] = HEAPF32[(((value)+(i*4))>>2)]; - } - } else { - view = HEAPF32.subarray((value)>>2,(value+count*64)>>2); - } - GLctx.uniformMatrix4fv(location, transpose, view); - } - - function _emscripten_glValidateProgram(program) { - GLctx.validateProgram(GL.programs[program]); - } - - function _glTexParameteri(x0, x1, x2) { GLctx.texParameteri(x0, x1, x2) } - - function _glfwSetKeyCallback(winid, cbfun) { - GLFW.setKeyCallback(winid, cbfun); - } - - function _emscripten_glColorMask(x0, x1, x2, x3) { GLctx.colorMask(x0, x1, x2, x3) } - - function _emscripten_glPixelStorei(pname, param) { - if (pname == 0x0D05 /* GL_PACK_ALIGNMENT */) { - GL.packAlignment = param; - } else if (pname == 0x0cf5 /* GL_UNPACK_ALIGNMENT */) { - GL.unpackAlignment = param; - } - GLctx.pixelStorei(pname, param); - } - - function _emscripten_glDeleteTextures(n, textures) { - for (var i = 0; i < n; i++) { - var id = HEAP32[(((textures)+(i*4))>>2)]; - var texture = GL.textures[id]; - if (!texture) continue; // GL spec: "glDeleteTextures silently ignores 0s and names that do not correspond to existing textures". - GLctx.deleteTexture(texture); - texture.name = 0; - GL.textures[id] = null; - } - } - - function _emscripten_glCompileShader(shader) { - GLctx.compileShader(GL.shaders[shader]); - } - - function _emscripten_glGenVertexArrays(n, arrays) { - - for(var i = 0; i < n; i++) { - var vao = GLctx['createVertexArray'](); - if (!vao) { - GL.recordError(0x0502 /* GL_INVALID_OPERATION */); - while(i < n) HEAP32[(((arrays)+(i++*4))>>2)]=0; - return; - } - var id = GL.getNewId(GL.vaos); - vao.name = id; - GL.vaos[id] = vao; - HEAP32[(((arrays)+(i*4))>>2)]=id; - } - } - - function _time(ptr) { - var ret = (Date.now()/1000)|0; - if (ptr) { - HEAP32[((ptr)>>2)]=ret; - } - return ret; - } - - function _pthread_self() { - //FIXME: assumes only a single thread - return 0; - } - - function _emscripten_glGetBooleanv(name_, p) { - emscriptenWebGLGet(name_, p, 'Boolean'); - } - - function ___syscall221(which, varargs) {SYSCALLS.varargs = varargs; - try { - // fcntl64 - var stream = SYSCALLS.getStreamFromFD(), cmd = SYSCALLS.get(); - switch (cmd) { - case 0: { - var arg = SYSCALLS.get(); - if (arg < 0) { - return -ERRNO_CODES.EINVAL; - } - var newStream; - newStream = FS.open(stream.path, stream.flags, 0, arg); - return newStream.fd; - } - case 1: - case 2: - return 0; // FD_CLOEXEC makes no sense for a single process. - case 3: - return stream.flags; - case 4: { - var arg = SYSCALLS.get(); - stream.flags |= arg; - return 0; - } - case 12: - case 12: { - var arg = SYSCALLS.get(); - var offset = 0; - // We're always unlocked. - HEAP16[(((arg)+(offset))>>1)]=2; - return 0; - } - case 13: - case 14: - case 13: - case 14: - return 0; // Pretend that the locking is successful. - case 16: - case 8: - return -ERRNO_CODES.EINVAL; // These are for sockets. We don't have them fully implemented yet. - case 9: - // musl trusts getown return values, due to a bug where they must be, as they overlap with errors. just return -1 here, so fnctl() returns that, and we set errno ourselves. - ___setErrNo(ERRNO_CODES.EINVAL); - return -1; - default: { - return -ERRNO_CODES.EINVAL; - } - } - } catch (e) { - if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); - return -e.errno; - } - } -var GLctx; GL.init() -FS.staticInit();__ATINIT__.unshift(function() { if (!Module["noFSInit"] && !FS.init.initialized) FS.init() });__ATMAIN__.push(function() { FS.ignorePermissions = false });__ATEXIT__.push(function() { FS.quit() });Module["FS_createFolder"] = FS.createFolder;Module["FS_createPath"] = FS.createPath;Module["FS_createDataFile"] = FS.createDataFile;Module["FS_createPreloadedFile"] = FS.createPreloadedFile;Module["FS_createLazyFile"] = FS.createLazyFile;Module["FS_createLink"] = FS.createLink;Module["FS_createDevice"] = FS.createDevice;Module["FS_unlink"] = FS.unlink; -__ATINIT__.unshift(function() { TTY.init() });__ATEXIT__.push(function() { TTY.shutdown() }); -if (ENVIRONMENT_IS_NODE) { var fs = require("fs"); var NODEJS_PATH = require("path"); NODEFS.staticInit(); } -Module["requestFullScreen"] = function Module_requestFullScreen(lockPointer, resizeCanvas, vrDevice) { Browser.requestFullScreen(lockPointer, resizeCanvas, vrDevice) }; - Module["requestAnimationFrame"] = function Module_requestAnimationFrame(func) { Browser.requestAnimationFrame(func) }; - Module["setCanvasSize"] = function Module_setCanvasSize(width, height, noUpdates) { Browser.setCanvasSize(width, height, noUpdates) }; - Module["pauseMainLoop"] = function Module_pauseMainLoop() { Browser.mainLoop.pause() }; - Module["resumeMainLoop"] = function Module_resumeMainLoop() { Browser.mainLoop.resume() }; - Module["getUserMedia"] = function Module_getUserMedia() { Browser.getUserMedia() } - Module["createContext"] = function Module_createContext(canvas, useWebGL, setInModule, webGLContextAttributes) { return Browser.createContext(canvas, useWebGL, setInModule, webGLContextAttributes) } -STACK_BASE = STACKTOP = Runtime.alignMemory(STATICTOP); - -staticSealed = true; // seal the static portion of memory - -STACK_MAX = STACK_BASE + TOTAL_STACK; - -DYNAMIC_BASE = DYNAMICTOP = Runtime.alignMemory(STACK_MAX); - -assert(DYNAMIC_BASE < TOTAL_MEMORY, "TOTAL_MEMORY not big enough for stack"); - - var cttz_i8 = allocate([8,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,7,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0], "i8", ALLOC_DYNAMIC); - - -function invoke_viiiii(index,a1,a2,a3,a4,a5) { - try { - Module["dynCall_viiiii"](index,a1,a2,a3,a4,a5); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - asm["setThrew"](1, 0); - } -} - -function invoke_vd(index,a1) { - try { - Module["dynCall_vd"](index,a1); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - asm["setThrew"](1, 0); - } -} - -function invoke_vid(index,a1,a2) { - try { - Module["dynCall_vid"](index,a1,a2); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - asm["setThrew"](1, 0); - } -} - -function invoke_vi(index,a1) { - try { - Module["dynCall_vi"](index,a1); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - asm["setThrew"](1, 0); - } -} - -function invoke_vii(index,a1,a2) { - try { - Module["dynCall_vii"](index,a1,a2); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - asm["setThrew"](1, 0); - } -} - -function invoke_ii(index,a1) { - try { - return Module["dynCall_ii"](index,a1); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - asm["setThrew"](1, 0); - } -} - -function invoke_viddd(index,a1,a2,a3,a4) { - try { - Module["dynCall_viddd"](index,a1,a2,a3,a4); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - asm["setThrew"](1, 0); - } -} - -function invoke_vidd(index,a1,a2,a3) { - try { - Module["dynCall_vidd"](index,a1,a2,a3); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - asm["setThrew"](1, 0); - } -} - -function invoke_iiii(index,a1,a2,a3) { - try { - return Module["dynCall_iiii"](index,a1,a2,a3); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - asm["setThrew"](1, 0); - } -} - -function invoke_viiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8) { - try { - Module["dynCall_viiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - asm["setThrew"](1, 0); - } -} - -function invoke_viiiiii(index,a1,a2,a3,a4,a5,a6) { - try { - Module["dynCall_viiiiii"](index,a1,a2,a3,a4,a5,a6); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - asm["setThrew"](1, 0); - } -} - -function invoke_viii(index,a1,a2,a3) { - try { - Module["dynCall_viii"](index,a1,a2,a3); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - asm["setThrew"](1, 0); - } -} - -function invoke_vidddd(index,a1,a2,a3,a4,a5) { - try { - Module["dynCall_vidddd"](index,a1,a2,a3,a4,a5); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - asm["setThrew"](1, 0); - } -} - -function invoke_vdi(index,a1,a2) { - try { - Module["dynCall_vdi"](index,a1,a2); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - asm["setThrew"](1, 0); - } -} - -function invoke_viiiiiii(index,a1,a2,a3,a4,a5,a6,a7) { - try { - Module["dynCall_viiiiiii"](index,a1,a2,a3,a4,a5,a6,a7); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - asm["setThrew"](1, 0); - } -} - -function invoke_viiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9) { - try { - Module["dynCall_viiiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - asm["setThrew"](1, 0); - } -} - -function invoke_iii(index,a1,a2) { - try { - return Module["dynCall_iii"](index,a1,a2); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - asm["setThrew"](1, 0); - } -} - -function invoke_i(index) { - try { - return Module["dynCall_i"](index); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - asm["setThrew"](1, 0); - } -} - -function invoke_vdddddd(index,a1,a2,a3,a4,a5,a6) { - try { - Module["dynCall_vdddddd"](index,a1,a2,a3,a4,a5,a6); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - asm["setThrew"](1, 0); - } -} - -function invoke_vdddd(index,a1,a2,a3,a4) { - try { - Module["dynCall_vdddd"](index,a1,a2,a3,a4); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - asm["setThrew"](1, 0); - } -} - -function invoke_vdd(index,a1,a2) { - try { - Module["dynCall_vdd"](index,a1,a2); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - asm["setThrew"](1, 0); - } -} - -function invoke_v(index) { - try { - Module["dynCall_v"](index); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - asm["setThrew"](1, 0); - } -} - -function invoke_viid(index,a1,a2,a3) { - try { - Module["dynCall_viid"](index,a1,a2,a3); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - asm["setThrew"](1, 0); - } -} - -function invoke_viiii(index,a1,a2,a3,a4) { - try { - Module["dynCall_viiii"](index,a1,a2,a3,a4); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - asm["setThrew"](1, 0); - } -} - -Module.asmGlobalArg = { "Math": Math, "Int8Array": Int8Array, "Int16Array": Int16Array, "Int32Array": Int32Array, "Uint8Array": Uint8Array, "Uint16Array": Uint16Array, "Uint32Array": Uint32Array, "Float32Array": Float32Array, "Float64Array": Float64Array, "NaN": NaN, "Infinity": Infinity }; - -Module.asmLibraryArg = { "abort": abort, "assert": assert, "invoke_viiiii": invoke_viiiii, "invoke_vd": invoke_vd, "invoke_vid": invoke_vid, "invoke_vi": invoke_vi, "invoke_vii": invoke_vii, "invoke_ii": invoke_ii, "invoke_viddd": invoke_viddd, "invoke_vidd": invoke_vidd, "invoke_iiii": invoke_iiii, "invoke_viiiiiiii": invoke_viiiiiiii, "invoke_viiiiii": invoke_viiiiii, "invoke_viii": invoke_viii, "invoke_vidddd": invoke_vidddd, "invoke_vdi": invoke_vdi, "invoke_viiiiiii": invoke_viiiiiii, "invoke_viiiiiiiii": invoke_viiiiiiiii, "invoke_iii": invoke_iii, "invoke_i": invoke_i, "invoke_vdddddd": invoke_vdddddd, "invoke_vdddd": invoke_vdddd, "invoke_vdd": invoke_vdd, "invoke_v": invoke_v, "invoke_viid": invoke_viid, "invoke_viiii": invoke_viiii, "_emscripten_glGetTexParameterfv": _emscripten_glGetTexParameterfv, "_glUseProgram": _glUseProgram, "_exp": _exp, "_glfwCreateWindow": _glfwCreateWindow, "_emscripten_glReleaseShaderCompiler": _emscripten_glReleaseShaderCompiler, "_emscripten_glBlendFuncSeparate": _emscripten_glBlendFuncSeparate, "_emscripten_glUniform4iv": _emscripten_glUniform4iv, "_emscripten_glVertexAttribPointer": _emscripten_glVertexAttribPointer, "_emscripten_glGetIntegerv": _emscripten_glGetIntegerv, "_emscripten_glCullFace": _emscripten_glCullFace, "_emscripten_glIsProgram": _emscripten_glIsProgram, "_emscripten_glStencilMaskSeparate": _emscripten_glStencilMaskSeparate, "_emscripten_glFrontFace": _emscripten_glFrontFace, "_alBufferData": _alBufferData, "___assert_fail": ___assert_fail, "_glDeleteProgram": _glDeleteProgram, "_emscripten_glUniform3fv": _emscripten_glUniform3fv, "_emscripten_glPolygonOffset": _emscripten_glPolygonOffset, "_emscripten_glUseProgram": _emscripten_glUseProgram, "_emscripten_glBlendColor": _emscripten_glBlendColor, "_glBindBuffer": _glBindBuffer, "_emscripten_glDepthFunc": _emscripten_glDepthFunc, "_glGetShaderInfoLog": _glGetShaderInfoLog, "_alSource3f": _alSource3f, "_sqrtf": _sqrtf, "_emscripten_set_fullscreenchange_callback": _emscripten_set_fullscreenchange_callback, "_emscripten_set_touchmove_callback": _emscripten_set_touchmove_callback, "_emscripten_set_main_loop_timing": _emscripten_set_main_loop_timing, "_sbrk": _sbrk, "_glBlendFunc": _glBlendFunc, "_emscripten_glDisableVertexAttribArray": _emscripten_glDisableVertexAttribArray, "_glGetAttribLocation": _glGetAttribLocation, "_glDisableVertexAttribArray": _glDisableVertexAttribArray, "_emscripten_memcpy_big": _emscripten_memcpy_big, "_emscripten_glReadPixels": _emscripten_glReadPixels, "_alcGetString": _alcGetString, "_sysconf": _sysconf, "_emscripten_glSampleCoverage": _emscripten_glSampleCoverage, "_emscripten_glVertexPointer": _emscripten_glVertexPointer, "_emscripten_set_touchstart_callback": _emscripten_set_touchstart_callback, "emscriptenWebGLComputeImageSize": emscriptenWebGLComputeImageSize, "_emscripten_glGetBooleanv": _emscripten_glGetBooleanv, "___syscall221": ___syscall221, "_cos": _cos, "_llvm_stacksave": _llvm_stacksave, "_emscripten_glUniform1i": _emscripten_glUniform1i, "_emscripten_glGenBuffers": _emscripten_glGenBuffers, "_emscripten_glDeleteObjectARB": _emscripten_glDeleteObjectARB, "_glfwSetWindowSizeCallback": _glfwSetWindowSizeCallback, "_emscripten_glGetShaderPrecisionFormat": _emscripten_glGetShaderPrecisionFormat, "_glfwInit": _glfwInit, "_emscripten_glGetPointerv": _emscripten_glGetPointerv, "_glGenBuffers": _glGenBuffers, "_glShaderSource": _glShaderSource, "_emscripten_glGetString": _emscripten_glGetString, "_emscripten_glIsFramebuffer": _emscripten_glIsFramebuffer, "_emscripten_glIsEnabled": _emscripten_glIsEnabled, "_emscripten_glScissor": _emscripten_glScissor, "_emscripten_glVertexAttrib4fv": _emscripten_glVertexAttrib4fv, "_emscripten_glTexParameteriv": _emscripten_glTexParameteriv, "_pthread_cleanup_push": _pthread_cleanup_push, "___syscall145": ___syscall145, "_emscripten_glBindProgramARB": _emscripten_glBindProgramARB, "_emscripten_glStencilOpSeparate": _emscripten_glStencilOpSeparate, "_alSourcePlay": _alSourcePlay, "_alSourcei": _alSourcei, "_emscripten_glFramebufferRenderbuffer": _emscripten_glFramebufferRenderbuffer, "___syscall140": ___syscall140, "_glfwSetErrorCallback": _glfwSetErrorCallback, "_glfwSetCursorPosCallback": _glfwSetCursorPosCallback, "_glfwDefaultWindowHints": _glfwDefaultWindowHints, "_emscripten_glIsBuffer": _emscripten_glIsBuffer, "___syscall146": ___syscall146, "_glfwDestroyWindow": _glfwDestroyWindow, "_pthread_cleanup_pop": _pthread_cleanup_pop, "_emscripten_glAttachShader": _emscripten_glAttachShader, "_glVertexAttribPointer": _glVertexAttribPointer, "_emscripten_glCompressedTexSubImage2D": _emscripten_glCompressedTexSubImage2D, "_emscripten_glUniform2f": _emscripten_glUniform2f, "_alcCreateContext": _alcCreateContext, "_emscripten_glTexParameterfv": _emscripten_glTexParameterfv, "_abort": _abort, "_emscripten_glUniformMatrix2fv": _emscripten_glUniformMatrix2fv, "_atan2": _atan2, "_glGetProgramInfoLog": _glGetProgramInfoLog, "_emscripten_glGetUniformiv": _emscripten_glGetUniformiv, "_emscripten_glTexParameterf": _emscripten_glTexParameterf, "_emscripten_glGetAttachedShaders": _emscripten_glGetAttachedShaders, "_emscripten_glGenTextures": _emscripten_glGenTextures, "_emscripten_glTexParameteri": _emscripten_glTexParameteri, "_llvm_stackrestore": _llvm_stackrestore, "_glfwMakeContextCurrent": _glfwMakeContextCurrent, "_emscripten_glClear": _emscripten_glClear, "_glDrawElements": _glDrawElements, "_alGetSourcei": _alGetSourcei, "_glBufferSubData": _glBufferSubData, "_alcMakeContextCurrent": _alcMakeContextCurrent, "_emscripten_glGenVertexArrays": _emscripten_glGenVertexArrays, "_emscripten_glVertexAttrib2fv": _emscripten_glVertexAttrib2fv, "_glViewport": _glViewport, "_alSourceQueueBuffers": _alSourceQueueBuffers, "_emscripten_glGetTexParameteriv": _emscripten_glGetTexParameteriv, "___setErrNo": ___setErrNo, "_eglGetProcAddress": _eglGetProcAddress, "_alcGetCurrentContext": _alcGetCurrentContext, "_emscripten_glBindAttribLocation": _emscripten_glBindAttribLocation, "_glDeleteTextures": _glDeleteTextures, "_glDepthFunc": _glDepthFunc, "_emscripten_glClientActiveTexture": _emscripten_glClientActiveTexture, "_emscripten_glVertexAttrib2f": _emscripten_glVertexAttrib2f, "_emscripten_glFlush": _emscripten_glFlush, "_emscripten_glUniform4i": _emscripten_glUniform4i, "_emscripten_glCheckFramebufferStatus": _emscripten_glCheckFramebufferStatus, "_emscripten_glGenerateMipmap": _emscripten_glGenerateMipmap, "_emscripten_glGetError": _emscripten_glGetError, "_alGenBuffers": _alGenBuffers, "_emscripten_glClearDepthf": _emscripten_glClearDepthf, "_emscripten_glBufferData": _emscripten_glBufferData, "_emscripten_glUniform3i": _emscripten_glUniform3i, "_emscripten_glRotatef": _emscripten_glRotatef, "_emscripten_glDeleteShader": _emscripten_glDeleteShader, "_glEnable": _glEnable, "_glGenTextures": _glGenTextures, "_emscripten_glMatrixMode": _emscripten_glMatrixMode, "_alDeleteSources": _alDeleteSources, "_emscripten_glClearStencil": _emscripten_glClearStencil, "_emscripten_glGetUniformLocation": _emscripten_glGetUniformLocation, "emscriptenWebGLGet": emscriptenWebGLGet, "_alSourceUnqueueBuffers": _alSourceUnqueueBuffers, "_emscripten_glEnableVertexAttribArray": _emscripten_glEnableVertexAttribArray, "_alGetError": _alGetError, "_emscripten_get_now": _emscripten_get_now, "_emscripten_glNormalPointer": _emscripten_glNormalPointer, "_glAttachShader": _glAttachShader, "_emscripten_glTexCoordPointer": _emscripten_glTexCoordPointer, "_emscripten_glFinish": _emscripten_glFinish, "_glCreateProgram": _glCreateProgram, "_glUniformMatrix4fv": _glUniformMatrix4fv, "_emscripten_glClearDepth": _emscripten_glClearDepth, "_glDisable": _glDisable, "___lock": ___lock, "_emscripten_glBindFramebuffer": _emscripten_glBindFramebuffer, "___syscall6": ___syscall6, "___syscall5": ___syscall5, "_emscripten_glStencilFuncSeparate": _emscripten_glStencilFuncSeparate, "_emscripten_glVertexAttrib3f": _emscripten_glVertexAttrib3f, "_time": _time, "_emscripten_glVertexAttrib1f": _emscripten_glVertexAttrib1f, "_emscripten_glGetFramebufferAttachmentParameteriv": _emscripten_glGetFramebufferAttachmentParameteriv, "_emscripten_glBlendEquationSeparate": _emscripten_glBlendEquationSeparate, "_exit": _exit, "_emscripten_asm_const_2": _emscripten_asm_const_2, "_glGetString": _glGetString, "_emscripten_glGetActiveAttrib": _emscripten_glGetActiveAttrib, "_alSourcef": _alSourcef, "_emscripten_glDrawRangeElements": _emscripten_glDrawRangeElements, "_llvm_pow_f64": _llvm_pow_f64, "_glCompressedTexImage2D": _glCompressedTexImage2D, "_glfwPollEvents": _glfwPollEvents, "_emscripten_glUniform4f": _emscripten_glUniform4f, "_glfwSwapInterval": _glfwSwapInterval, "_glfwGetVideoModes": _glfwGetVideoModes, "_glfwSetWindowShouldClose": _glfwSetWindowShouldClose, "_sin": _sin, "_emscripten_glShaderBinary": _emscripten_glShaderBinary, "_emscripten_glDrawElements": _emscripten_glDrawElements, "_emscripten_glBlendFunc": _emscripten_glBlendFunc, "_emscripten_glGetShaderInfoLog": _emscripten_glGetShaderInfoLog, "_floor": _floor, "_emscripten_glStencilMask": _emscripten_glStencilMask, "_emscripten_glUniform1iv": _emscripten_glUniform1iv, "_emscripten_glGetVertexAttribPointerv": _emscripten_glGetVertexAttribPointerv, "_emscripten_glUniform2i": _emscripten_glUniform2i, "emscriptenWebGLGetUniform": emscriptenWebGLGetUniform, "_emscripten_glGenRenderbuffers": _emscripten_glGenRenderbuffers, "_emscripten_glDeleteVertexArrays": _emscripten_glDeleteVertexArrays, "_emscripten_glGetAttribLocation": _emscripten_glGetAttribLocation, "_emscripten_glUniform1fv": _emscripten_glUniform1fv, "_emscripten_glGetActiveUniform": _emscripten_glGetActiveUniform, "_glBindTexture": _glBindTexture, "_emscripten_glUniform3iv": _emscripten_glUniform3iv, "_emscripten_glUniform2iv": _emscripten_glUniform2iv, "_emscripten_glHint": _emscripten_glHint, "_glfwSetCharCallback": _glfwSetCharCallback, "_emscripten_glGetBufferParameteriv": _emscripten_glGetBufferParameteriv, "_emscripten_glLoadMatrixf": _emscripten_glLoadMatrixf, "_emscripten_glDeleteProgram": _emscripten_glDeleteProgram, "_emscripten_glDeleteRenderbuffers": _emscripten_glDeleteRenderbuffers, "_alSourceStop": _alSourceStop, "_glfwSetScrollCallback": _glfwSetScrollCallback, "_emscripten_glDrawElementsInstanced": _emscripten_glDrawElementsInstanced, "_emscripten_glVertexAttrib4f": _emscripten_glVertexAttrib4f, "_alcDestroyContext": _alcDestroyContext, "_glDrawArrays": _glDrawArrays, "_emscripten_glTexSubImage2D": _emscripten_glTexSubImage2D, "_glCreateShader": _glCreateShader, "_emscripten_glPixelStorei": _emscripten_glPixelStorei, "_glCompileShader": _glCompileShader, "_glfwGetMouseButton": _glfwGetMouseButton, "_emscripten_glDepthRange": _emscripten_glDepthRange, "_emscripten_glCompressedTexImage2D": _emscripten_glCompressedTexImage2D, "_log": _log, "_emscripten_glViewport": _emscripten_glViewport, "_glfwSwapBuffers": _glfwSwapBuffers, "_emscripten_glDepthMask": _emscripten_glDepthMask, "_glfwSetWindowIconifyCallback": _glfwSetWindowIconifyCallback, "_emscripten_glDrawBuffers": _emscripten_glDrawBuffers, "_emscripten_glLineWidth": _emscripten_glLineWidth, "_emscripten_glGetObjectParameterivARB": _emscripten_glGetObjectParameterivARB, "_emscripten_glFramebufferTexture2D": _emscripten_glFramebufferTexture2D, "_alcCloseDevice": _alcCloseDevice, "_glUniform1i": _glUniform1i, "_glEnableVertexAttribArray": _glEnableVertexAttribArray, "_emscripten_glStencilFunc": _emscripten_glStencilFunc, "emscriptenWebGLGetVertexAttrib": emscriptenWebGLGetVertexAttrib, "_alcGetContextsDevice": _alcGetContextsDevice, "_emscripten_glUniform2fv": _emscripten_glUniform2fv, "_emscripten_glGetProgramiv": _emscripten_glGetProgramiv, "_glDeleteBuffers": _glDeleteBuffers, "_glBufferData": _glBufferData, "_glTexImage2D": _glTexImage2D, "_emscripten_glGetShaderiv": _emscripten_glGetShaderiv, "_emscripten_glEnable": _emscripten_glEnable, "_emscripten_glGenFramebuffers": _emscripten_glGenFramebuffers, "_emscripten_glUniformMatrix4fv": _emscripten_glUniformMatrix4fv, "_emscripten_glLoadIdentity": _emscripten_glLoadIdentity, "_glDeleteShader": _glDeleteShader, "_cosf": _cosf, "_glGetProgramiv": _glGetProgramiv, "emscriptenWebGLGetTexPixelData": emscriptenWebGLGetTexPixelData, "_emscripten_glIsRenderbuffer": _emscripten_glIsRenderbuffer, "_glfwGetTime": _glfwGetTime, "_emscripten_glRenderbufferStorage": _emscripten_glRenderbufferStorage, "_alListener3f": _alListener3f, "_emscripten_glGetVertexAttribiv": _emscripten_glGetVertexAttribiv, "_emscripten_glBindVertexArray": _emscripten_glBindVertexArray, "_emscripten_glDrawArraysInstanced": _emscripten_glDrawArraysInstanced, "_emscripten_set_touchcancel_callback": _emscripten_set_touchcancel_callback, "_emscripten_glCreateShader": _emscripten_glCreateShader, "_glfwGetPrimaryMonitor": _glfwGetPrimaryMonitor, "_emscripten_glDeleteTextures": _emscripten_glDeleteTextures, "_emscripten_glBindRenderbuffer": _emscripten_glBindRenderbuffer, "_glLinkProgram": _glLinkProgram, "_emscripten_glVertexAttribDivisor": _emscripten_glVertexAttribDivisor, "_emscripten_set_touchend_callback": _emscripten_set_touchend_callback, "_emscripten_glGetUniformfv": _emscripten_glGetUniformfv, "_emscripten_glGetVertexAttribfv": _emscripten_glGetVertexAttribfv, "_emscripten_glGetRenderbufferParameteriv": _emscripten_glGetRenderbufferParameteriv, "_emscripten_glDeleteFramebuffers": _emscripten_glDeleteFramebuffers, "_glGetShaderiv": _glGetShaderiv, "_emscripten_glVertexAttrib3fv": _emscripten_glVertexAttrib3fv, "_glUniform4f": _glUniform4f, "_glGetUniformLocation": _glGetUniformLocation, "_emscripten_glGetInfoLogARB": _emscripten_glGetInfoLogARB, "_emscripten_glCompileShader": _emscripten_glCompileShader, "_glClear": _glClear, "_emscripten_glFrustum": _emscripten_glFrustum, "_emscripten_glDisable": _emscripten_glDisable, "_emscripten_glDepthRangef": _emscripten_glDepthRangef, "_sinf": _sinf, "__exit": __exit, "_glfwTerminate": _glfwTerminate, "_emscripten_glUniform3f": _emscripten_glUniform3f, "_emscripten_glStencilOp": _emscripten_glStencilOp, "_glPixelStorei": _glPixelStorei, "_emscripten_glColorMask": _emscripten_glColorMask, "_emscripten_glLinkProgram": _emscripten_glLinkProgram, "_emscripten_glBlendEquation": _emscripten_glBlendEquation, "_emscripten_glIsTexture": _emscripten_glIsTexture, "_alDeleteBuffers": _alDeleteBuffers, "_pthread_self": _pthread_self, "_emscripten_glVertexAttrib1fv": _emscripten_glVertexAttrib1fv, "_emscripten_glUniformMatrix3fv": _emscripten_glUniformMatrix3fv, "_emscripten_glBindTexture": _emscripten_glBindTexture, "_glfwSetMouseButtonCallback": _glfwSetMouseButtonCallback, "_glfwGetCursorPos": _glfwGetCursorPos, "_emscripten_glActiveTexture": _emscripten_glActiveTexture, "_emscripten_glDeleteBuffers": _emscripten_glDeleteBuffers, "___syscall54": ___syscall54, "___unlock": ___unlock, "_emscripten_glBufferSubData": _emscripten_glBufferSubData, "_emscripten_glColorPointer": _emscripten_glColorPointer, "_emscripten_set_main_loop": _emscripten_set_main_loop, "_emscripten_glGetProgramInfoLog": _emscripten_glGetProgramInfoLog, "_glfwWindowHint": _glfwWindowHint, "_alGenSources": _alGenSources, "_emscripten_glShaderSource": _emscripten_glShaderSource, "_emscripten_glIsShader": _emscripten_glIsShader, "_emscripten_glUniform4fv": _emscripten_glUniform4fv, "_emscripten_glUniform1f": _emscripten_glUniform1f, "_alcOpenDevice": _alcOpenDevice, "_emscripten_glDrawArrays": _emscripten_glDrawArrays, "_glfwSetKeyCallback": _glfwSetKeyCallback, "_emscripten_glClearColor": _emscripten_glClearColor, "_emscripten_glGetShaderSource": _emscripten_glGetShaderSource, "_emscripten_glCreateProgram": _emscripten_glCreateProgram, "_emscripten_glCopyTexSubImage2D": _emscripten_glCopyTexSubImage2D, "_eglWaitClient": _eglWaitClient, "_glTexParameteri": _glTexParameteri, "_emscripten_glValidateProgram": _emscripten_glValidateProgram, "_emscripten_glBindBuffer": _emscripten_glBindBuffer, "_emscripten_glGetFloatv": _emscripten_glGetFloatv, "_emscripten_glDetachShader": _emscripten_glDetachShader, "_glClearColor": _glClearColor, "_emscripten_glEnableClientState": _emscripten_glEnableClientState, "_glfwSetCursorEnterCallback": _glfwSetCursorEnterCallback, "_emscripten_glCopyTexImage2D": _emscripten_glCopyTexImage2D, "_emscripten_glTexImage2D": _emscripten_glTexImage2D, "STACKTOP": STACKTOP, "STACK_MAX": STACK_MAX, "tempDoublePtr": tempDoublePtr, "ABORT": ABORT, "cttz_i8": cttz_i8 }; -// EMSCRIPTEN_START_ASM -var asm = (function(global, env, buffer) { - 'use asm'; - - - var HEAP8 = new global.Int8Array(buffer); - var HEAP16 = new global.Int16Array(buffer); - var HEAP32 = new global.Int32Array(buffer); - var HEAPU8 = new global.Uint8Array(buffer); - var HEAPU16 = new global.Uint16Array(buffer); - var HEAPU32 = new global.Uint32Array(buffer); - var HEAPF32 = new global.Float32Array(buffer); - var HEAPF64 = new global.Float64Array(buffer); - - - var STACKTOP=env.STACKTOP|0; - var STACK_MAX=env.STACK_MAX|0; - var tempDoublePtr=env.tempDoublePtr|0; - var ABORT=env.ABORT|0; - var cttz_i8=env.cttz_i8|0; - - var __THREW__ = 0; - var threwValue = 0; - var setjmpId = 0; - var undef = 0; - var nan = global.NaN, inf = global.Infinity; - var tempInt = 0, tempBigInt = 0, tempBigIntP = 0, tempBigIntS = 0, tempBigIntR = 0.0, tempBigIntI = 0, tempBigIntD = 0, tempValue = 0, tempDouble = 0.0; - - var tempRet0 = 0; - var tempRet1 = 0; - var tempRet2 = 0; - var tempRet3 = 0; - var tempRet4 = 0; - var tempRet5 = 0; - var tempRet6 = 0; - var tempRet7 = 0; - var tempRet8 = 0; - var tempRet9 = 0; - var Math_floor=global.Math.floor; - var Math_abs=global.Math.abs; - var Math_sqrt=global.Math.sqrt; - var Math_pow=global.Math.pow; - var Math_cos=global.Math.cos; - var Math_sin=global.Math.sin; - var Math_tan=global.Math.tan; - var Math_acos=global.Math.acos; - var Math_asin=global.Math.asin; - var Math_atan=global.Math.atan; - var Math_atan2=global.Math.atan2; - var Math_exp=global.Math.exp; - var Math_log=global.Math.log; - var Math_ceil=global.Math.ceil; - var Math_imul=global.Math.imul; - var Math_min=global.Math.min; - var Math_clz32=global.Math.clz32; - var abort=env.abort; - var assert=env.assert; - var invoke_viiiii=env.invoke_viiiii; - var invoke_vd=env.invoke_vd; - var invoke_vid=env.invoke_vid; - var invoke_vi=env.invoke_vi; - var invoke_vii=env.invoke_vii; - var invoke_ii=env.invoke_ii; - var invoke_viddd=env.invoke_viddd; - var invoke_vidd=env.invoke_vidd; - var invoke_iiii=env.invoke_iiii; - var invoke_viiiiiiii=env.invoke_viiiiiiii; - var invoke_viiiiii=env.invoke_viiiiii; - var invoke_viii=env.invoke_viii; - var invoke_vidddd=env.invoke_vidddd; - var invoke_vdi=env.invoke_vdi; - var invoke_viiiiiii=env.invoke_viiiiiii; - var invoke_viiiiiiiii=env.invoke_viiiiiiiii; - var invoke_iii=env.invoke_iii; - var invoke_i=env.invoke_i; - var invoke_vdddddd=env.invoke_vdddddd; - var invoke_vdddd=env.invoke_vdddd; - var invoke_vdd=env.invoke_vdd; - var invoke_v=env.invoke_v; - var invoke_viid=env.invoke_viid; - var invoke_viiii=env.invoke_viiii; - var _emscripten_glGetTexParameterfv=env._emscripten_glGetTexParameterfv; - var _glUseProgram=env._glUseProgram; - var _exp=env._exp; - var _glfwCreateWindow=env._glfwCreateWindow; - var _emscripten_glReleaseShaderCompiler=env._emscripten_glReleaseShaderCompiler; - var _emscripten_glBlendFuncSeparate=env._emscripten_glBlendFuncSeparate; - var _emscripten_glUniform4iv=env._emscripten_glUniform4iv; - var _emscripten_glVertexAttribPointer=env._emscripten_glVertexAttribPointer; - var _emscripten_glGetIntegerv=env._emscripten_glGetIntegerv; - var _emscripten_glCullFace=env._emscripten_glCullFace; - var _emscripten_glIsProgram=env._emscripten_glIsProgram; - var _emscripten_glStencilMaskSeparate=env._emscripten_glStencilMaskSeparate; - var _emscripten_glFrontFace=env._emscripten_glFrontFace; - var _alBufferData=env._alBufferData; - var ___assert_fail=env.___assert_fail; - var _glDeleteProgram=env._glDeleteProgram; - var _emscripten_glUniform3fv=env._emscripten_glUniform3fv; - var _emscripten_glPolygonOffset=env._emscripten_glPolygonOffset; - var _emscripten_glUseProgram=env._emscripten_glUseProgram; - var _emscripten_glBlendColor=env._emscripten_glBlendColor; - var _glBindBuffer=env._glBindBuffer; - var _emscripten_glDepthFunc=env._emscripten_glDepthFunc; - var _glGetShaderInfoLog=env._glGetShaderInfoLog; - var _alSource3f=env._alSource3f; - var _sqrtf=env._sqrtf; - var _emscripten_set_fullscreenchange_callback=env._emscripten_set_fullscreenchange_callback; - var _emscripten_set_touchmove_callback=env._emscripten_set_touchmove_callback; - var _emscripten_set_main_loop_timing=env._emscripten_set_main_loop_timing; - var _sbrk=env._sbrk; - var _glBlendFunc=env._glBlendFunc; - var _emscripten_glDisableVertexAttribArray=env._emscripten_glDisableVertexAttribArray; - var _glGetAttribLocation=env._glGetAttribLocation; - var _glDisableVertexAttribArray=env._glDisableVertexAttribArray; - var _emscripten_memcpy_big=env._emscripten_memcpy_big; - var _emscripten_glReadPixels=env._emscripten_glReadPixels; - var _alcGetString=env._alcGetString; - var _sysconf=env._sysconf; - var _emscripten_glSampleCoverage=env._emscripten_glSampleCoverage; - var _emscripten_glVertexPointer=env._emscripten_glVertexPointer; - var _emscripten_set_touchstart_callback=env._emscripten_set_touchstart_callback; - var emscriptenWebGLComputeImageSize=env.emscriptenWebGLComputeImageSize; - var _emscripten_glGetBooleanv=env._emscripten_glGetBooleanv; - var ___syscall221=env.___syscall221; - var _cos=env._cos; - var _llvm_stacksave=env._llvm_stacksave; - var _emscripten_glUniform1i=env._emscripten_glUniform1i; - var _emscripten_glGenBuffers=env._emscripten_glGenBuffers; - var _emscripten_glDeleteObjectARB=env._emscripten_glDeleteObjectARB; - var _glfwSetWindowSizeCallback=env._glfwSetWindowSizeCallback; - var _emscripten_glGetShaderPrecisionFormat=env._emscripten_glGetShaderPrecisionFormat; - var _glfwInit=env._glfwInit; - var _emscripten_glGetPointerv=env._emscripten_glGetPointerv; - var _glGenBuffers=env._glGenBuffers; - var _glShaderSource=env._glShaderSource; - var _emscripten_glGetString=env._emscripten_glGetString; - var _emscripten_glIsFramebuffer=env._emscripten_glIsFramebuffer; - var _emscripten_glIsEnabled=env._emscripten_glIsEnabled; - var _emscripten_glScissor=env._emscripten_glScissor; - var _emscripten_glVertexAttrib4fv=env._emscripten_glVertexAttrib4fv; - var _emscripten_glTexParameteriv=env._emscripten_glTexParameteriv; - var _pthread_cleanup_push=env._pthread_cleanup_push; - var ___syscall145=env.___syscall145; - var _emscripten_glBindProgramARB=env._emscripten_glBindProgramARB; - var _emscripten_glStencilOpSeparate=env._emscripten_glStencilOpSeparate; - var _alSourcePlay=env._alSourcePlay; - var _alSourcei=env._alSourcei; - var _emscripten_glFramebufferRenderbuffer=env._emscripten_glFramebufferRenderbuffer; - var ___syscall140=env.___syscall140; - var _glfwSetErrorCallback=env._glfwSetErrorCallback; - var _glfwSetCursorPosCallback=env._glfwSetCursorPosCallback; - var _glfwDefaultWindowHints=env._glfwDefaultWindowHints; - var _emscripten_glIsBuffer=env._emscripten_glIsBuffer; - var ___syscall146=env.___syscall146; - var _glfwDestroyWindow=env._glfwDestroyWindow; - var _pthread_cleanup_pop=env._pthread_cleanup_pop; - var _emscripten_glAttachShader=env._emscripten_glAttachShader; - var _glVertexAttribPointer=env._glVertexAttribPointer; - var _emscripten_glCompressedTexSubImage2D=env._emscripten_glCompressedTexSubImage2D; - var _emscripten_glUniform2f=env._emscripten_glUniform2f; - var _alcCreateContext=env._alcCreateContext; - var _emscripten_glTexParameterfv=env._emscripten_glTexParameterfv; - var _abort=env._abort; - var _emscripten_glUniformMatrix2fv=env._emscripten_glUniformMatrix2fv; - var _atan2=env._atan2; - var _glGetProgramInfoLog=env._glGetProgramInfoLog; - var _emscripten_glGetUniformiv=env._emscripten_glGetUniformiv; - var _emscripten_glTexParameterf=env._emscripten_glTexParameterf; - var _emscripten_glGetAttachedShaders=env._emscripten_glGetAttachedShaders; - var _emscripten_glGenTextures=env._emscripten_glGenTextures; - var _emscripten_glTexParameteri=env._emscripten_glTexParameteri; - var _llvm_stackrestore=env._llvm_stackrestore; - var _glfwMakeContextCurrent=env._glfwMakeContextCurrent; - var _emscripten_glClear=env._emscripten_glClear; - var _glDrawElements=env._glDrawElements; - var _alGetSourcei=env._alGetSourcei; - var _glBufferSubData=env._glBufferSubData; - var _alcMakeContextCurrent=env._alcMakeContextCurrent; - var _emscripten_glGenVertexArrays=env._emscripten_glGenVertexArrays; - var _emscripten_glVertexAttrib2fv=env._emscripten_glVertexAttrib2fv; - var _glViewport=env._glViewport; - var _alSourceQueueBuffers=env._alSourceQueueBuffers; - var _emscripten_glGetTexParameteriv=env._emscripten_glGetTexParameteriv; - var ___setErrNo=env.___setErrNo; - var _eglGetProcAddress=env._eglGetProcAddress; - var _alcGetCurrentContext=env._alcGetCurrentContext; - var _emscripten_glBindAttribLocation=env._emscripten_glBindAttribLocation; - var _glDeleteTextures=env._glDeleteTextures; - var _glDepthFunc=env._glDepthFunc; - var _emscripten_glClientActiveTexture=env._emscripten_glClientActiveTexture; - var _emscripten_glVertexAttrib2f=env._emscripten_glVertexAttrib2f; - var _emscripten_glFlush=env._emscripten_glFlush; - var _emscripten_glUniform4i=env._emscripten_glUniform4i; - var _emscripten_glCheckFramebufferStatus=env._emscripten_glCheckFramebufferStatus; - var _emscripten_glGenerateMipmap=env._emscripten_glGenerateMipmap; - var _emscripten_glGetError=env._emscripten_glGetError; - var _alGenBuffers=env._alGenBuffers; - var _emscripten_glClearDepthf=env._emscripten_glClearDepthf; - var _emscripten_glBufferData=env._emscripten_glBufferData; - var _emscripten_glUniform3i=env._emscripten_glUniform3i; - var _emscripten_glRotatef=env._emscripten_glRotatef; - var _emscripten_glDeleteShader=env._emscripten_glDeleteShader; - var _glEnable=env._glEnable; - var _glGenTextures=env._glGenTextures; - var _emscripten_glMatrixMode=env._emscripten_glMatrixMode; - var _alDeleteSources=env._alDeleteSources; - var _emscripten_glClearStencil=env._emscripten_glClearStencil; - var _emscripten_glGetUniformLocation=env._emscripten_glGetUniformLocation; - var emscriptenWebGLGet=env.emscriptenWebGLGet; - var _alSourceUnqueueBuffers=env._alSourceUnqueueBuffers; - var _emscripten_glEnableVertexAttribArray=env._emscripten_glEnableVertexAttribArray; - var _alGetError=env._alGetError; - var _emscripten_get_now=env._emscripten_get_now; - var _emscripten_glNormalPointer=env._emscripten_glNormalPointer; - var _glAttachShader=env._glAttachShader; - var _emscripten_glTexCoordPointer=env._emscripten_glTexCoordPointer; - var _emscripten_glFinish=env._emscripten_glFinish; - var _glCreateProgram=env._glCreateProgram; - var _glUniformMatrix4fv=env._glUniformMatrix4fv; - var _emscripten_glClearDepth=env._emscripten_glClearDepth; - var _glDisable=env._glDisable; - var ___lock=env.___lock; - var _emscripten_glBindFramebuffer=env._emscripten_glBindFramebuffer; - var ___syscall6=env.___syscall6; - var ___syscall5=env.___syscall5; - var _emscripten_glStencilFuncSeparate=env._emscripten_glStencilFuncSeparate; - var _emscripten_glVertexAttrib3f=env._emscripten_glVertexAttrib3f; - var _time=env._time; - var _emscripten_glVertexAttrib1f=env._emscripten_glVertexAttrib1f; - var _emscripten_glGetFramebufferAttachmentParameteriv=env._emscripten_glGetFramebufferAttachmentParameteriv; - var _emscripten_glBlendEquationSeparate=env._emscripten_glBlendEquationSeparate; - var _exit=env._exit; - var _emscripten_asm_const_2=env._emscripten_asm_const_2; - var _glGetString=env._glGetString; - var _emscripten_glGetActiveAttrib=env._emscripten_glGetActiveAttrib; - var _alSourcef=env._alSourcef; - var _emscripten_glDrawRangeElements=env._emscripten_glDrawRangeElements; - var _llvm_pow_f64=env._llvm_pow_f64; - var _glCompressedTexImage2D=env._glCompressedTexImage2D; - var _glfwPollEvents=env._glfwPollEvents; - var _emscripten_glUniform4f=env._emscripten_glUniform4f; - var _glfwSwapInterval=env._glfwSwapInterval; - var _glfwGetVideoModes=env._glfwGetVideoModes; - var _glfwSetWindowShouldClose=env._glfwSetWindowShouldClose; - var _sin=env._sin; - var _emscripten_glShaderBinary=env._emscripten_glShaderBinary; - var _emscripten_glDrawElements=env._emscripten_glDrawElements; - var _emscripten_glBlendFunc=env._emscripten_glBlendFunc; - var _emscripten_glGetShaderInfoLog=env._emscripten_glGetShaderInfoLog; - var _floor=env._floor; - var _emscripten_glStencilMask=env._emscripten_glStencilMask; - var _emscripten_glUniform1iv=env._emscripten_glUniform1iv; - var _emscripten_glGetVertexAttribPointerv=env._emscripten_glGetVertexAttribPointerv; - var _emscripten_glUniform2i=env._emscripten_glUniform2i; - var emscriptenWebGLGetUniform=env.emscriptenWebGLGetUniform; - var _emscripten_glGenRenderbuffers=env._emscripten_glGenRenderbuffers; - var _emscripten_glDeleteVertexArrays=env._emscripten_glDeleteVertexArrays; - var _emscripten_glGetAttribLocation=env._emscripten_glGetAttribLocation; - var _emscripten_glUniform1fv=env._emscripten_glUniform1fv; - var _emscripten_glGetActiveUniform=env._emscripten_glGetActiveUniform; - var _glBindTexture=env._glBindTexture; - var _emscripten_glUniform3iv=env._emscripten_glUniform3iv; - var _emscripten_glUniform2iv=env._emscripten_glUniform2iv; - var _emscripten_glHint=env._emscripten_glHint; - var _glfwSetCharCallback=env._glfwSetCharCallback; - var _emscripten_glGetBufferParameteriv=env._emscripten_glGetBufferParameteriv; - var _emscripten_glLoadMatrixf=env._emscripten_glLoadMatrixf; - var _emscripten_glDeleteProgram=env._emscripten_glDeleteProgram; - var _emscripten_glDeleteRenderbuffers=env._emscripten_glDeleteRenderbuffers; - var _alSourceStop=env._alSourceStop; - var _glfwSetScrollCallback=env._glfwSetScrollCallback; - var _emscripten_glDrawElementsInstanced=env._emscripten_glDrawElementsInstanced; - var _emscripten_glVertexAttrib4f=env._emscripten_glVertexAttrib4f; - var _alcDestroyContext=env._alcDestroyContext; - var _glDrawArrays=env._glDrawArrays; - var _emscripten_glTexSubImage2D=env._emscripten_glTexSubImage2D; - var _glCreateShader=env._glCreateShader; - var _emscripten_glPixelStorei=env._emscripten_glPixelStorei; - var _glCompileShader=env._glCompileShader; - var _glfwGetMouseButton=env._glfwGetMouseButton; - var _emscripten_glDepthRange=env._emscripten_glDepthRange; - var _emscripten_glCompressedTexImage2D=env._emscripten_glCompressedTexImage2D; - var _log=env._log; - var _emscripten_glViewport=env._emscripten_glViewport; - var _glfwSwapBuffers=env._glfwSwapBuffers; - var _emscripten_glDepthMask=env._emscripten_glDepthMask; - var _glfwSetWindowIconifyCallback=env._glfwSetWindowIconifyCallback; - var _emscripten_glDrawBuffers=env._emscripten_glDrawBuffers; - var _emscripten_glLineWidth=env._emscripten_glLineWidth; - var _emscripten_glGetObjectParameterivARB=env._emscripten_glGetObjectParameterivARB; - var _emscripten_glFramebufferTexture2D=env._emscripten_glFramebufferTexture2D; - var _alcCloseDevice=env._alcCloseDevice; - var _glUniform1i=env._glUniform1i; - var _glEnableVertexAttribArray=env._glEnableVertexAttribArray; - var _emscripten_glStencilFunc=env._emscripten_glStencilFunc; - var emscriptenWebGLGetVertexAttrib=env.emscriptenWebGLGetVertexAttrib; - var _alcGetContextsDevice=env._alcGetContextsDevice; - var _emscripten_glUniform2fv=env._emscripten_glUniform2fv; - var _emscripten_glGetProgramiv=env._emscripten_glGetProgramiv; - var _glDeleteBuffers=env._glDeleteBuffers; - var _glBufferData=env._glBufferData; - var _glTexImage2D=env._glTexImage2D; - var _emscripten_glGetShaderiv=env._emscripten_glGetShaderiv; - var _emscripten_glEnable=env._emscripten_glEnable; - var _emscripten_glGenFramebuffers=env._emscripten_glGenFramebuffers; - var _emscripten_glUniformMatrix4fv=env._emscripten_glUniformMatrix4fv; - var _emscripten_glLoadIdentity=env._emscripten_glLoadIdentity; - var _glDeleteShader=env._glDeleteShader; - var _cosf=env._cosf; - var _glGetProgramiv=env._glGetProgramiv; - var emscriptenWebGLGetTexPixelData=env.emscriptenWebGLGetTexPixelData; - var _emscripten_glIsRenderbuffer=env._emscripten_glIsRenderbuffer; - var _glfwGetTime=env._glfwGetTime; - var _emscripten_glRenderbufferStorage=env._emscripten_glRenderbufferStorage; - var _alListener3f=env._alListener3f; - var _emscripten_glGetVertexAttribiv=env._emscripten_glGetVertexAttribiv; - var _emscripten_glBindVertexArray=env._emscripten_glBindVertexArray; - var _emscripten_glDrawArraysInstanced=env._emscripten_glDrawArraysInstanced; - var _emscripten_set_touchcancel_callback=env._emscripten_set_touchcancel_callback; - var _emscripten_glCreateShader=env._emscripten_glCreateShader; - var _glfwGetPrimaryMonitor=env._glfwGetPrimaryMonitor; - var _emscripten_glDeleteTextures=env._emscripten_glDeleteTextures; - var _emscripten_glBindRenderbuffer=env._emscripten_glBindRenderbuffer; - var _glLinkProgram=env._glLinkProgram; - var _emscripten_glVertexAttribDivisor=env._emscripten_glVertexAttribDivisor; - var _emscripten_set_touchend_callback=env._emscripten_set_touchend_callback; - var _emscripten_glGetUniformfv=env._emscripten_glGetUniformfv; - var _emscripten_glGetVertexAttribfv=env._emscripten_glGetVertexAttribfv; - var _emscripten_glGetRenderbufferParameteriv=env._emscripten_glGetRenderbufferParameteriv; - var _emscripten_glDeleteFramebuffers=env._emscripten_glDeleteFramebuffers; - var _glGetShaderiv=env._glGetShaderiv; - var _emscripten_glVertexAttrib3fv=env._emscripten_glVertexAttrib3fv; - var _glUniform4f=env._glUniform4f; - var _glGetUniformLocation=env._glGetUniformLocation; - var _emscripten_glGetInfoLogARB=env._emscripten_glGetInfoLogARB; - var _emscripten_glCompileShader=env._emscripten_glCompileShader; - var _glClear=env._glClear; - var _emscripten_glFrustum=env._emscripten_glFrustum; - var _emscripten_glDisable=env._emscripten_glDisable; - var _emscripten_glDepthRangef=env._emscripten_glDepthRangef; - var _sinf=env._sinf; - var __exit=env.__exit; - var _glfwTerminate=env._glfwTerminate; - var _emscripten_glUniform3f=env._emscripten_glUniform3f; - var _emscripten_glStencilOp=env._emscripten_glStencilOp; - var _glPixelStorei=env._glPixelStorei; - var _emscripten_glColorMask=env._emscripten_glColorMask; - var _emscripten_glLinkProgram=env._emscripten_glLinkProgram; - var _emscripten_glBlendEquation=env._emscripten_glBlendEquation; - var _emscripten_glIsTexture=env._emscripten_glIsTexture; - var _alDeleteBuffers=env._alDeleteBuffers; - var _pthread_self=env._pthread_self; - var _emscripten_glVertexAttrib1fv=env._emscripten_glVertexAttrib1fv; - var _emscripten_glUniformMatrix3fv=env._emscripten_glUniformMatrix3fv; - var _emscripten_glBindTexture=env._emscripten_glBindTexture; - var _glfwSetMouseButtonCallback=env._glfwSetMouseButtonCallback; - var _glfwGetCursorPos=env._glfwGetCursorPos; - var _emscripten_glActiveTexture=env._emscripten_glActiveTexture; - var _emscripten_glDeleteBuffers=env._emscripten_glDeleteBuffers; - var ___syscall54=env.___syscall54; - var ___unlock=env.___unlock; - var _emscripten_glBufferSubData=env._emscripten_glBufferSubData; - var _emscripten_glColorPointer=env._emscripten_glColorPointer; - var _emscripten_set_main_loop=env._emscripten_set_main_loop; - var _emscripten_glGetProgramInfoLog=env._emscripten_glGetProgramInfoLog; - var _glfwWindowHint=env._glfwWindowHint; - var _alGenSources=env._alGenSources; - var _emscripten_glShaderSource=env._emscripten_glShaderSource; - var _emscripten_glIsShader=env._emscripten_glIsShader; - var _emscripten_glUniform4fv=env._emscripten_glUniform4fv; - var _emscripten_glUniform1f=env._emscripten_glUniform1f; - var _alcOpenDevice=env._alcOpenDevice; - var _emscripten_glDrawArrays=env._emscripten_glDrawArrays; - var _glfwSetKeyCallback=env._glfwSetKeyCallback; - var _emscripten_glClearColor=env._emscripten_glClearColor; - var _emscripten_glGetShaderSource=env._emscripten_glGetShaderSource; - var _emscripten_glCreateProgram=env._emscripten_glCreateProgram; - var _emscripten_glCopyTexSubImage2D=env._emscripten_glCopyTexSubImage2D; - var _eglWaitClient=env._eglWaitClient; - var _glTexParameteri=env._glTexParameteri; - var _emscripten_glValidateProgram=env._emscripten_glValidateProgram; - var _emscripten_glBindBuffer=env._emscripten_glBindBuffer; - var _emscripten_glGetFloatv=env._emscripten_glGetFloatv; - var _emscripten_glDetachShader=env._emscripten_glDetachShader; - var _glClearColor=env._glClearColor; - var _emscripten_glEnableClientState=env._emscripten_glEnableClientState; - var _glfwSetCursorEnterCallback=env._glfwSetCursorEnterCallback; - var _emscripten_glCopyTexImage2D=env._emscripten_glCopyTexImage2D; - var _emscripten_glTexImage2D=env._emscripten_glTexImage2D; - var tempFloat = 0.0; - -// EMSCRIPTEN_START_FUNCS -function stackAlloc(size) { - size = size|0; - var ret = 0; - ret = STACKTOP; - STACKTOP = (STACKTOP + size)|0; - STACKTOP = (STACKTOP + 15)&-16; - - return ret|0; -} -function stackSave() { - return STACKTOP|0; -} -function stackRestore(top) { - top = top|0; - STACKTOP = top; -} -function establishStackSpace(stackBase, stackMax) { - stackBase = stackBase|0; - stackMax = stackMax|0; - STACKTOP = stackBase; - STACK_MAX = stackMax; -} - -function setThrew(threw, value) { - threw = threw|0; - value = value|0; - if ((__THREW__|0) == 0) { - __THREW__ = threw; - threwValue = value; - } -} -function copyTempFloat(ptr) { - ptr = ptr|0; - HEAP8[tempDoublePtr>>0] = HEAP8[ptr>>0]; - HEAP8[tempDoublePtr+1>>0] = HEAP8[ptr+1>>0]; - HEAP8[tempDoublePtr+2>>0] = HEAP8[ptr+2>>0]; - HEAP8[tempDoublePtr+3>>0] = HEAP8[ptr+3>>0]; -} -function copyTempDouble(ptr) { - ptr = ptr|0; - HEAP8[tempDoublePtr>>0] = HEAP8[ptr>>0]; - HEAP8[tempDoublePtr+1>>0] = HEAP8[ptr+1>>0]; - HEAP8[tempDoublePtr+2>>0] = HEAP8[ptr+2>>0]; - HEAP8[tempDoublePtr+3>>0] = HEAP8[ptr+3>>0]; - HEAP8[tempDoublePtr+4>>0] = HEAP8[ptr+4>>0]; - HEAP8[tempDoublePtr+5>>0] = HEAP8[ptr+5>>0]; - HEAP8[tempDoublePtr+6>>0] = HEAP8[ptr+6>>0]; - HEAP8[tempDoublePtr+7>>0] = HEAP8[ptr+7>>0]; -} - -function setTempRet0(value) { - value = value|0; - tempRet0 = value; -} -function getTempRet0() { - return tempRet0|0; -} - -function _main() { - var $0 = 0, $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $levelWin$byval_copy = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $levelWin$byval_copy = sp + 8|0; - $0 = sp; - _InitWindow(1280,720,8808); - _InitAudioDevice(); - _SetGesturesEnabled(13); - _LoadSound($0,8838); - $1 = $0; - $2 = $1; - $3 = HEAP32[$2>>2]|0; - $4 = (($1) + 4)|0; - $5 = $4; - $6 = HEAP32[$5>>2]|0; - $7 = 176; - $8 = $7; - HEAP32[$8>>2] = $3; - $9 = (($7) + 4)|0; - $10 = $9; - HEAP32[$10>>2] = $6; - HEAP32[184>>2] = 0; - _InitLogoScreen(); - _emscripten_set_main_loop((1|0),0,1); - ;HEAP32[$levelWin$byval_copy>>2]=HEAP32[176>>2]|0;HEAP32[$levelWin$byval_copy+4>>2]=HEAP32[176+4>>2]|0; - _UnloadSound($levelWin$byval_copy); - _CloseAudioDevice(); - _CloseWindow(); - STACKTOP = sp;return 0; -} -function _UpdateDrawFrame() { - var $$byval_copy = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $$byval_copy = sp + 4|0; - $0 = sp; - _UpdateMusicStream(); - $1 = HEAP32[156>>2]|0; - $2 = ($1|0)==(0); - L1: do { - if ($2) { - $3 = HEAP32[184>>2]|0; - switch ($3|0) { - case 0: { - _UpdateLogoScreen(); - $4 = (_FinishLogoScreen()|0); - $5 = ($4|0)==(0); - if ($5) { - break L1; - } - _TransitionToScreen(1); - _InitLevel00Screen(); - _PlayMusicStream(8856); - _SetMusicVolume(0.60000002384185791); - break L1; - break; - } - case 1: { - _UpdateLevel00Screen(); - $6 = (_FinishLevel00Screen()|0); - $7 = ($6|0)==(0); - if ($7) { - break L1; - } - _TransitionToScreen(2); - _InitLevel01Screen(); - break L1; - break; - } - case 2: { - _UpdateLevel01Screen(); - $8 = (_FinishLevel01Screen()|0); - $9 = ($8|0)==(0); - if ($9) { - break L1; - } - _TransitionToScreen(3); - _InitLevel02Screen(); - break L1; - break; - } - case 3: { - _UpdateLevel02Screen(); - $10 = (_FinishLevel02Screen()|0); - $11 = ($10|0)==(0); - if ($11) { - break L1; - } - _TransitionToScreen(4); - _InitLevel03Screen(); - break L1; - break; - } - case 4: { - _UpdateLevel03Screen(); - $12 = (_FinishLevel03Screen()|0); - $13 = ($12|0)==(0); - if ($13) { - break L1; - } - _TransitionToScreen(5); - _InitLevel04Screen(); - break L1; - break; - } - case 5: { - _UpdateLevel04Screen(); - $14 = (_FinishLevel04Screen()|0); - $15 = ($14|0)==(0); - if ($15) { - break L1; - } - _TransitionToScreen(6); - _InitLevel05Screen(); - break L1; - break; - } - case 6: { - _UpdateLevel05Screen(); - $16 = (_FinishLevel05Screen()|0); - $17 = ($16|0)==(0); - if ($17) { - break L1; - } - _TransitionToScreen(7); - _InitLevel06Screen(); - break L1; - break; - } - case 7: { - _UpdateLevel06Screen(); - $18 = (_FinishLevel06Screen()|0); - $19 = ($18|0)==(0); - if ($19) { - break L1; - } - _TransitionToScreen(8); - _InitLevel07Screen(); - break L1; - break; - } - case 8: { - _UpdateLevel07Screen(); - $20 = (_FinishLevel07Screen()|0); - $21 = ($20|0)==(0); - if ($21) { - break L1; - } - _TransitionToScreen(1); - _InitLevel00Screen(); - break L1; - break; - } - default: { - break L1; - } - } - } else { - _UpdateTransition(); - } - } while(0); - _BeginDrawing(); - HEAP8[$0>>0] = -11; - $22 = ((($0)) + 1|0); - HEAP8[$22>>0] = -11; - $23 = ((($0)) + 2|0); - HEAP8[$23>>0] = -11; - $24 = ((($0)) + 3|0); - HEAP8[$24>>0] = -1; - ;HEAP8[$$byval_copy>>0]=HEAP8[$0>>0]|0;HEAP8[$$byval_copy+1>>0]=HEAP8[$0+1>>0]|0;HEAP8[$$byval_copy+2>>0]=HEAP8[$0+2>>0]|0;HEAP8[$$byval_copy+3>>0]=HEAP8[$0+3>>0]|0; - _ClearBackground($$byval_copy); - $25 = HEAP32[184>>2]|0; - switch ($25|0) { - case 0: { - _DrawLogoScreen(); - break; - } - case 1: { - _DrawLevel00Screen(); - break; - } - case 2: { - _DrawLevel01Screen(); - break; - } - case 3: { - _DrawLevel02Screen(); - break; - } - case 4: { - _DrawLevel03Screen(); - break; - } - case 5: { - _DrawLevel04Screen(); - break; - } - case 6: { - _DrawLevel05Screen(); - break; - } - case 7: { - _DrawLevel06Screen(); - break; - } - case 8: { - _DrawLevel07Screen(); - break; - } - default: { - } - } - $26 = HEAP32[156>>2]|0; - $27 = ($26|0)==(0); - if ($27) { - _EndDrawing(); - STACKTOP = sp;return; - } - _DrawTransition(); - _EndDrawing(); - STACKTOP = sp;return; -} -function _TransitionToScreen($screen) { - $screen = $screen|0; - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - HEAP32[156>>2] = 1; - $0 = HEAP32[184>>2]|0; - HEAP32[164>>2] = $0; - HEAP32[168>>2] = $screen; - return; -} -function _UpdateTransition() { - var $0 = 0, $1 = 0, $2 = 0.0, $3 = 0.0, $4 = 0, $5 = 0, $6 = 0.0, $7 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[160>>2]|0; - $1 = ($0|0)==(0); - $2 = +HEAPF32[152>>2]; - if ($1) { - $3 = $2 + 0.019999999552965164; - HEAPF32[152>>2] = $3; - $4 = !($3 >= 1.0); - if ($4) { - return; - } - HEAPF32[152>>2] = 1.0; - $5 = HEAP32[168>>2]|0; - HEAP32[184>>2] = $5; - HEAP32[160>>2] = 1; - HEAP32[172>>2] = 0; - return; - } else { - $6 = $2 + -0.019999999552965164; - HEAPF32[152>>2] = $6; - $7 = !($6 <= 0.0); - if ($7) { - return; - } - HEAPF32[152>>2] = 0.0; - HEAP32[160>>2] = 0; - HEAP32[156>>2] = 0; - HEAP32[164>>2] = -1; - HEAP32[168>>2] = -1; - return; - } -} -function _DrawTransition() { - var $$byval_copy1 = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $$byval_copy1 = sp + 8|0; - $0 = sp + 4|0; - $1 = sp; - $2 = (_GetScreenWidth()|0); - $3 = (_GetScreenHeight()|0); - HEAP8[$1>>0] = -11; - $4 = ((($1)) + 1|0); - HEAP8[$4>>0] = -11; - $5 = ((($1)) + 2|0); - HEAP8[$5>>0] = -11; - $6 = ((($1)) + 3|0); - HEAP8[$6>>0] = -1; - $7 = +HEAPF32[152>>2]; - ;HEAP8[$$byval_copy1>>0]=HEAP8[$1>>0]|0;HEAP8[$$byval_copy1+1>>0]=HEAP8[$1+1>>0]|0;HEAP8[$$byval_copy1+2>>0]=HEAP8[$1+2>>0]|0;HEAP8[$$byval_copy1+3>>0]=HEAP8[$1+3>>0]|0; - _Fade($0,$$byval_copy1,$7); - ;HEAP8[$$byval_copy1>>0]=HEAP8[$0>>0]|0;HEAP8[$$byval_copy1+1>>0]=HEAP8[$0+1>>0]|0;HEAP8[$$byval_copy1+2>>0]=HEAP8[$0+2>>0]|0;HEAP8[$$byval_copy1+3>>0]=HEAP8[$0+3>>0]|0; - _DrawRectangle(0,0,$2,$3,$$byval_copy1); - STACKTOP = sp;return; -} -function _InitLogoScreen() { - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; - sp = STACKTOP; - HEAP32[232>>2] = 0; - HEAP32[236>>2] = 0; - $0 = (_GetScreenWidth()|0); - $1 = (($0|0) / 2)&-1; - $2 = (($1) + -128)|0; - HEAP32[224>>2] = $2; - $3 = (_GetScreenHeight()|0); - $4 = (($3|0) / 2)&-1; - $5 = (($4) + -128)|0; - HEAP32[228>>2] = $5; - return; -} -function _UpdateLogoScreen() { - var $$pr2 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; - var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i$03 = 0, $i1$04 = 0, $levelWin$byval_copy = 0, $strlenfirst = 0, $strlenfirst7 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $levelWin$byval_copy = sp; - $0 = HEAP32[232>>2]|0; - $1 = (($0) + 1)|0; - HEAP32[232>>2] = $1; - $2 = HEAP32[208>>2]|0; - L1: do { - switch ($2|0) { - case 0: { - $3 = (($0) + 2)|0; - HEAP32[232>>2] = $3; - $4 = ($3|0)==(120); - if ($4) { - HEAP32[208>>2] = 1; - HEAP32[232>>2] = 0; - label = 32; - } else { - label = 32; - } - break; - } - case 1: { - $5 = HEAP32[192>>2]|0; - $6 = (($5) + 4)|0; - HEAP32[192>>2] = $6; - $7 = HEAP32[196>>2]|0; - $8 = (($7) + 4)|0; - HEAP32[196>>2] = $8; - $9 = ($6|0)==(256); - if ($9) { - HEAP32[208>>2] = 2; - label = 32; - } else { - label = 32; - } - break; - } - case 2: { - $10 = HEAP32[200>>2]|0; - $11 = (($10) + 4)|0; - HEAP32[200>>2] = $11; - $12 = HEAP32[204>>2]|0; - $13 = (($12) + 4)|0; - HEAP32[204>>2] = $13; - $14 = ($11|0)==(256); - if ($14) { - HEAP32[220>>2] = 0; - $strlenfirst7 = HEAP8[9014>>0]|0; - $15 = ($strlenfirst7<<24>>24)==(0); - if (!($15)) { - $i$03 = 0; - while(1) { - $16 = (9014 + ($i$03)|0); - HEAP8[$16>>0] = 32; - $17 = (($i$03) + 1)|0; - $18 = (_strlen(9014)|0); - $19 = ($17>>>0)<($18>>>0); - if ($19) { - $i$03 = $17; - } else { - break; - } - } - } - HEAP32[208>>2] = 3; - label = 32; - } else { - label = 32; - } - break; - } - case 3: { - $20 = (($0) + 2)|0; - HEAP32[232>>2] = $20; - $21 = (($20|0) % 12)&-1; - $22 = ($21|0)==(0); - $23 = HEAP32[188>>2]|0; - if ($22) { - $24 = (($23) + 1)|0; - HEAP32[188>>2] = $24; - $25 = $24; - } else { - $25 = $23; - } - switch ($25|0) { - case 1: { - HEAP8[9006>>0] = 114; - break; - } - case 2: { - HEAP8[(9007)>>0] = 97; - break; - } - case 3: { - HEAP8[(9008)>>0] = 121; - break; - } - case 4: { - HEAP8[(9009)>>0] = 108; - break; - } - case 5: { - HEAP8[(9010)>>0] = 105; - break; - } - case 6: { - HEAP8[(9011)>>0] = 98; - break; - } - default: { - } - } - $26 = HEAP32[188>>2]|0; - $27 = ($26|0)>(9); - if ($27) { - $28 = HEAP32[232>>2]|0; - $29 = $28 & 1; - $30 = ($29|0)==(0); - if ($30) { - $31 = HEAP32[220>>2]|0; - $32 = (($31) + 1)|0; - HEAP32[220>>2] = $32; - } - $33 = HEAP32[212>>2]|0; - $34 = ($33|0)==(0); - if (!($34)) { - $42 = HEAP32[216>>2]|0; - $43 = ($42|0)==(0); - if (!($43)) { - break L1; - } - $44 = HEAP32[220>>2]|0; - $45 = ($44>>>0)<(32); - if ($45) { - (_strncpy(9014,8942,$44)|0); - label = 32; - break L1; - } else { - HEAP32[216>>2] = 1; - HEAP32[232>>2] = 0; - ;HEAP32[$levelWin$byval_copy>>2]=HEAP32[176>>2]|0;HEAP32[$levelWin$byval_copy+4>>2]=HEAP32[176+4>>2]|0; - _PlaySound($levelWin$byval_copy); - label = 32; - break L1; - } - } - $35 = HEAP32[220>>2]|0; - $36 = ($35>>>0)<(33); - if ($36) { - (_strncpy(9014,8878,$35)|0); - label = 32; - break L1; - } - $strlenfirst = HEAP8[9014>>0]|0; - $37 = ($strlenfirst<<24>>24)==(0); - if (!($37)) { - $i1$04 = 0; - while(1) { - $38 = (9014 + ($i1$04)|0); - HEAP8[$38>>0] = 32; - $39 = (($i1$04) + 1)|0; - $40 = (_strlen(9014)|0); - $41 = ($39>>>0)<($40>>>0); - if ($41) { - $i1$04 = $39; - } else { - break; - } - } - } - HEAP32[220>>2] = 0; - HEAP32[212>>2] = 1; - label = 32; - } else { - label = 32; - } - break; - } - default: { - label = 32; - } - } - } while(0); - if ((label|0) == 32) { - $$pr2 = HEAP32[216>>2]|0; - $46 = ($$pr2|0)==(0); - if ($46) { - STACKTOP = sp;return; - } - } - $47 = HEAP32[232>>2]|0; - $48 = (($47) + 1)|0; - HEAP32[232>>2] = $48; - $49 = ($47|0)>(89); - if (!($49)) { - STACKTOP = sp;return; - } - HEAP32[236>>2] = 1; - STACKTOP = sp;return; -} -function _DrawLogoScreen() { - var $$byval_copy16 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0; - var $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0; - var $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0; - var $151 = 0, $152 = 0, $153 = 0, $154 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0; - var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0; - var $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0; - var $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0; - var $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 80|0; - $$byval_copy16 = sp + 68|0; - $0 = sp + 64|0; - $1 = sp + 60|0; - $2 = sp + 56|0; - $3 = sp + 52|0; - $4 = sp + 48|0; - $5 = sp + 44|0; - $6 = sp + 40|0; - $7 = sp + 36|0; - $8 = sp + 32|0; - $9 = sp + 28|0; - $10 = sp + 24|0; - $11 = sp + 20|0; - $12 = sp + 16|0; - $13 = sp + 12|0; - $14 = sp + 8|0; - $15 = sp + 4|0; - $16 = sp; - $17 = HEAP32[208>>2]|0; - switch ($17|0) { - case 0: { - $18 = HEAP32[232>>2]|0; - $19 = (($18|0) / 15)&-1; - $20 = $19 & 1; - $21 = ($20|0)==(0); - if ($21) { - STACKTOP = sp;return; - } - $22 = HEAP32[224>>2]|0; - $23 = HEAP32[228>>2]|0; - $24 = (($23) + -60)|0; - HEAP8[$0>>0] = 0; - $25 = ((($0)) + 1|0); - HEAP8[$25>>0] = 0; - $26 = ((($0)) + 2|0); - HEAP8[$26>>0] = 0; - $27 = ((($0)) + 3|0); - HEAP8[$27>>0] = -1; - ;HEAP8[$$byval_copy16>>0]=HEAP8[$0>>0]|0;HEAP8[$$byval_copy16+1>>0]=HEAP8[$0+1>>0]|0;HEAP8[$$byval_copy16+2>>0]=HEAP8[$0+2>>0]|0;HEAP8[$$byval_copy16+3>>0]=HEAP8[$0+3>>0]|0; - _DrawRectangle($22,$24,16,16,$$byval_copy16); - STACKTOP = sp;return; - break; - } - case 1: { - $28 = HEAP32[224>>2]|0; - $29 = HEAP32[228>>2]|0; - $30 = (($29) + -60)|0; - $31 = HEAP32[192>>2]|0; - HEAP8[$1>>0] = 0; - $32 = ((($1)) + 1|0); - HEAP8[$32>>0] = 0; - $33 = ((($1)) + 2|0); - HEAP8[$33>>0] = 0; - $34 = ((($1)) + 3|0); - HEAP8[$34>>0] = -1; - ;HEAP8[$$byval_copy16>>0]=HEAP8[$1>>0]|0;HEAP8[$$byval_copy16+1>>0]=HEAP8[$1+1>>0]|0;HEAP8[$$byval_copy16+2>>0]=HEAP8[$1+2>>0]|0;HEAP8[$$byval_copy16+3>>0]=HEAP8[$1+3>>0]|0; - _DrawRectangle($28,$30,$31,16,$$byval_copy16); - $35 = HEAP32[224>>2]|0; - $36 = HEAP32[228>>2]|0; - $37 = (($36) + -60)|0; - $38 = HEAP32[196>>2]|0; - HEAP8[$2>>0] = 0; - $39 = ((($2)) + 1|0); - HEAP8[$39>>0] = 0; - $40 = ((($2)) + 2|0); - HEAP8[$40>>0] = 0; - $41 = ((($2)) + 3|0); - HEAP8[$41>>0] = -1; - ;HEAP8[$$byval_copy16>>0]=HEAP8[$2>>0]|0;HEAP8[$$byval_copy16+1>>0]=HEAP8[$2+1>>0]|0;HEAP8[$$byval_copy16+2>>0]=HEAP8[$2+2>>0]|0;HEAP8[$$byval_copy16+3>>0]=HEAP8[$2+3>>0]|0; - _DrawRectangle($35,$37,16,$38,$$byval_copy16); - STACKTOP = sp;return; - break; - } - case 2: { - $42 = HEAP32[224>>2]|0; - $43 = HEAP32[228>>2]|0; - $44 = (($43) + -60)|0; - $45 = HEAP32[192>>2]|0; - HEAP8[$3>>0] = 0; - $46 = ((($3)) + 1|0); - HEAP8[$46>>0] = 0; - $47 = ((($3)) + 2|0); - HEAP8[$47>>0] = 0; - $48 = ((($3)) + 3|0); - HEAP8[$48>>0] = -1; - ;HEAP8[$$byval_copy16>>0]=HEAP8[$3>>0]|0;HEAP8[$$byval_copy16+1>>0]=HEAP8[$3+1>>0]|0;HEAP8[$$byval_copy16+2>>0]=HEAP8[$3+2>>0]|0;HEAP8[$$byval_copy16+3>>0]=HEAP8[$3+3>>0]|0; - _DrawRectangle($42,$44,$45,16,$$byval_copy16); - $49 = HEAP32[224>>2]|0; - $50 = HEAP32[228>>2]|0; - $51 = (($50) + -60)|0; - $52 = HEAP32[196>>2]|0; - HEAP8[$4>>0] = 0; - $53 = ((($4)) + 1|0); - HEAP8[$53>>0] = 0; - $54 = ((($4)) + 2|0); - HEAP8[$54>>0] = 0; - $55 = ((($4)) + 3|0); - HEAP8[$55>>0] = -1; - ;HEAP8[$$byval_copy16>>0]=HEAP8[$4>>0]|0;HEAP8[$$byval_copy16+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$$byval_copy16+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$$byval_copy16+3>>0]=HEAP8[$4+3>>0]|0; - _DrawRectangle($49,$51,16,$52,$$byval_copy16); - $56 = HEAP32[224>>2]|0; - $57 = (($56) + 240)|0; - $58 = HEAP32[228>>2]|0; - $59 = (($58) + -60)|0; - $60 = HEAP32[204>>2]|0; - HEAP8[$5>>0] = 0; - $61 = ((($5)) + 1|0); - HEAP8[$61>>0] = 0; - $62 = ((($5)) + 2|0); - HEAP8[$62>>0] = 0; - $63 = ((($5)) + 3|0); - HEAP8[$63>>0] = -1; - ;HEAP8[$$byval_copy16>>0]=HEAP8[$5>>0]|0;HEAP8[$$byval_copy16+1>>0]=HEAP8[$5+1>>0]|0;HEAP8[$$byval_copy16+2>>0]=HEAP8[$5+2>>0]|0;HEAP8[$$byval_copy16+3>>0]=HEAP8[$5+3>>0]|0; - _DrawRectangle($57,$59,16,$60,$$byval_copy16); - $64 = HEAP32[224>>2]|0; - $65 = HEAP32[228>>2]|0; - $66 = (($65) + 180)|0; - $67 = HEAP32[200>>2]|0; - HEAP8[$6>>0] = 0; - $68 = ((($6)) + 1|0); - HEAP8[$68>>0] = 0; - $69 = ((($6)) + 2|0); - HEAP8[$69>>0] = 0; - $70 = ((($6)) + 3|0); - HEAP8[$70>>0] = -1; - ;HEAP8[$$byval_copy16>>0]=HEAP8[$6>>0]|0;HEAP8[$$byval_copy16+1>>0]=HEAP8[$6+1>>0]|0;HEAP8[$$byval_copy16+2>>0]=HEAP8[$6+2>>0]|0;HEAP8[$$byval_copy16+3>>0]=HEAP8[$6+3>>0]|0; - _DrawRectangle($64,$66,$67,16,$$byval_copy16); - STACKTOP = sp;return; - break; - } - case 3: { - $71 = HEAP32[224>>2]|0; - $72 = HEAP32[228>>2]|0; - $73 = (($72) + -60)|0; - $74 = HEAP32[192>>2]|0; - HEAP8[$7>>0] = 0; - $75 = ((($7)) + 1|0); - HEAP8[$75>>0] = 0; - $76 = ((($7)) + 2|0); - HEAP8[$76>>0] = 0; - $77 = ((($7)) + 3|0); - HEAP8[$77>>0] = -1; - ;HEAP8[$$byval_copy16>>0]=HEAP8[$7>>0]|0;HEAP8[$$byval_copy16+1>>0]=HEAP8[$7+1>>0]|0;HEAP8[$$byval_copy16+2>>0]=HEAP8[$7+2>>0]|0;HEAP8[$$byval_copy16+3>>0]=HEAP8[$7+3>>0]|0; - _DrawRectangle($71,$73,$74,16,$$byval_copy16); - $78 = HEAP32[224>>2]|0; - $79 = HEAP32[228>>2]|0; - $80 = (($79) + -44)|0; - $81 = HEAP32[196>>2]|0; - $82 = (($81) + -32)|0; - HEAP8[$8>>0] = 0; - $83 = ((($8)) + 1|0); - HEAP8[$83>>0] = 0; - $84 = ((($8)) + 2|0); - HEAP8[$84>>0] = 0; - $85 = ((($8)) + 3|0); - HEAP8[$85>>0] = -1; - ;HEAP8[$$byval_copy16>>0]=HEAP8[$8>>0]|0;HEAP8[$$byval_copy16+1>>0]=HEAP8[$8+1>>0]|0;HEAP8[$$byval_copy16+2>>0]=HEAP8[$8+2>>0]|0;HEAP8[$$byval_copy16+3>>0]=HEAP8[$8+3>>0]|0; - _DrawRectangle($78,$80,16,$82,$$byval_copy16); - $86 = HEAP32[224>>2]|0; - $87 = (($86) + 240)|0; - $88 = HEAP32[228>>2]|0; - $89 = (($88) + -44)|0; - $90 = HEAP32[204>>2]|0; - $91 = (($90) + -32)|0; - HEAP8[$9>>0] = 0; - $92 = ((($9)) + 1|0); - HEAP8[$92>>0] = 0; - $93 = ((($9)) + 2|0); - HEAP8[$93>>0] = 0; - $94 = ((($9)) + 3|0); - HEAP8[$94>>0] = -1; - ;HEAP8[$$byval_copy16>>0]=HEAP8[$9>>0]|0;HEAP8[$$byval_copy16+1>>0]=HEAP8[$9+1>>0]|0;HEAP8[$$byval_copy16+2>>0]=HEAP8[$9+2>>0]|0;HEAP8[$$byval_copy16+3>>0]=HEAP8[$9+3>>0]|0; - _DrawRectangle($87,$89,16,$91,$$byval_copy16); - $95 = HEAP32[224>>2]|0; - $96 = HEAP32[228>>2]|0; - $97 = (($96) + 180)|0; - $98 = HEAP32[200>>2]|0; - HEAP8[$10>>0] = 0; - $99 = ((($10)) + 1|0); - HEAP8[$99>>0] = 0; - $100 = ((($10)) + 2|0); - HEAP8[$100>>0] = 0; - $101 = ((($10)) + 3|0); - HEAP8[$101>>0] = -1; - ;HEAP8[$$byval_copy16>>0]=HEAP8[$10>>0]|0;HEAP8[$$byval_copy16+1>>0]=HEAP8[$10+1>>0]|0;HEAP8[$$byval_copy16+2>>0]=HEAP8[$10+2>>0]|0;HEAP8[$$byval_copy16+3>>0]=HEAP8[$10+3>>0]|0; - _DrawRectangle($95,$97,$98,16,$$byval_copy16); - $102 = (_GetScreenWidth()|0); - $103 = (($102|0) / 2)&-1; - $104 = (($103) + -112)|0; - $105 = (_GetScreenHeight()|0); - $106 = (($105|0) / 2)&-1; - $107 = (($106) + -172)|0; - HEAP8[$11>>0] = -11; - $108 = ((($11)) + 1|0); - HEAP8[$108>>0] = -11; - $109 = ((($11)) + 2|0); - HEAP8[$109>>0] = -11; - $110 = ((($11)) + 3|0); - HEAP8[$110>>0] = -1; - ;HEAP8[$$byval_copy16>>0]=HEAP8[$11>>0]|0;HEAP8[$$byval_copy16+1>>0]=HEAP8[$11+1>>0]|0;HEAP8[$$byval_copy16+2>>0]=HEAP8[$11+2>>0]|0;HEAP8[$$byval_copy16+3>>0]=HEAP8[$11+3>>0]|0; - _DrawRectangle($104,$107,224,224,$$byval_copy16); - $111 = (_GetScreenWidth()|0); - $112 = (($111|0) / 2)&-1; - $113 = (($112) + -44)|0; - $114 = (_GetScreenHeight()|0); - $115 = (($114|0) / 2)&-1; - $116 = (($115) + -12)|0; - HEAP8[$12>>0] = 0; - $117 = ((($12)) + 1|0); - HEAP8[$117>>0] = 0; - $118 = ((($12)) + 2|0); - HEAP8[$118>>0] = 0; - $119 = ((($12)) + 3|0); - HEAP8[$119>>0] = -1; - ;HEAP8[$$byval_copy16>>0]=HEAP8[$12>>0]|0;HEAP8[$$byval_copy16+1>>0]=HEAP8[$12+1>>0]|0;HEAP8[$$byval_copy16+2>>0]=HEAP8[$12+2>>0]|0;HEAP8[$$byval_copy16+3>>0]=HEAP8[$12+3>>0]|0; - _DrawText(9006,$113,$116,50,$$byval_copy16); - $120 = HEAP32[212>>2]|0; - $121 = ($120|0)==(0); - $122 = (_GetScreenWidth()|0); - $123 = (($122|0) / 2)&-1; - $124 = (_MeasureText(8878,30)|0); - $125 = (($124|0) / 2)&-1; - $126 = (($123) - ($125))|0; - $127 = HEAP32[228>>2]|0; - $128 = (($127) + 230)|0; - if ($121) { - HEAP8[$13>>0] = -126; - $129 = ((($13)) + 1|0); - HEAP8[$129>>0] = -126; - $130 = ((($13)) + 2|0); - HEAP8[$130>>0] = -126; - $131 = ((($13)) + 3|0); - HEAP8[$131>>0] = -1; - ;HEAP8[$$byval_copy16>>0]=HEAP8[$13>>0]|0;HEAP8[$$byval_copy16+1>>0]=HEAP8[$13+1>>0]|0;HEAP8[$$byval_copy16+2>>0]=HEAP8[$13+2>>0]|0;HEAP8[$$byval_copy16+3>>0]=HEAP8[$13+3>>0]|0; - _DrawText(9014,$126,$128,30,$$byval_copy16); - STACKTOP = sp;return; - } - HEAP8[$14>>0] = -126; - $132 = ((($14)) + 1|0); - HEAP8[$132>>0] = -126; - $133 = ((($14)) + 2|0); - HEAP8[$133>>0] = -126; - $134 = ((($14)) + 3|0); - HEAP8[$134>>0] = -1; - ;HEAP8[$$byval_copy16>>0]=HEAP8[$14>>0]|0;HEAP8[$$byval_copy16+1>>0]=HEAP8[$14+1>>0]|0;HEAP8[$$byval_copy16+2>>0]=HEAP8[$14+2>>0]|0;HEAP8[$$byval_copy16+3>>0]=HEAP8[$14+3>>0]|0; - _DrawText(8878,$126,$128,30,$$byval_copy16); - $135 = HEAP32[216>>2]|0; - $136 = ($135|0)==(0); - $137 = (_GetScreenWidth()|0); - $138 = (($137|0) / 2)&-1; - if ($136) { - $139 = (_MeasureText(8942,30)|0); - $140 = (($139|0) / 2)&-1; - $141 = (($138) - ($140))|0; - $142 = HEAP32[228>>2]|0; - $143 = (($142) + 280)|0; - HEAP8[$15>>0] = -126; - $144 = ((($15)) + 1|0); - HEAP8[$144>>0] = -126; - $145 = ((($15)) + 2|0); - HEAP8[$145>>0] = -126; - $146 = ((($15)) + 3|0); - HEAP8[$146>>0] = -1; - ;HEAP8[$$byval_copy16>>0]=HEAP8[$15>>0]|0;HEAP8[$$byval_copy16+1>>0]=HEAP8[$15+1>>0]|0;HEAP8[$$byval_copy16+2>>0]=HEAP8[$15+2>>0]|0;HEAP8[$$byval_copy16+3>>0]=HEAP8[$15+3>>0]|0; - _DrawText(9014,$141,$143,30,$$byval_copy16); - STACKTOP = sp;return; - } else { - $147 = (_MeasureText(8878,30)|0); - $148 = (($147|0) / 2)&-1; - $149 = (($138) - ($148))|0; - $150 = HEAP32[228>>2]|0; - $151 = (($150) + 280)|0; - HEAP8[$16>>0] = -126; - $152 = ((($16)) + 1|0); - HEAP8[$152>>0] = -126; - $153 = ((($16)) + 2|0); - HEAP8[$153>>0] = -126; - $154 = ((($16)) + 3|0); - HEAP8[$154>>0] = -1; - ;HEAP8[$$byval_copy16>>0]=HEAP8[$16>>0]|0;HEAP8[$$byval_copy16+1>>0]=HEAP8[$16+1>>0]|0;HEAP8[$$byval_copy16+2>>0]=HEAP8[$16+2>>0]|0;HEAP8[$$byval_copy16+3>>0]=HEAP8[$16+3>>0]|0; - _DrawText(8942,$149,$151,30,$$byval_copy16); - STACKTOP = sp;return; - } - break; - } - default: { - STACKTOP = sp;return; - } - } -} -function _UnloadLogoScreen() { - var label = 0, sp = 0; - sp = STACKTOP; - return; -} -function _FinishLogoScreen() { - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[236>>2]|0; - return ($0|0); -} -function _InitLevel00Screen() { - var $0 = 0, $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - HEAP32[240>>2] = 0; - HEAP32[244>>2] = 0; - $0 = HEAP32[248>>2]|0; - $1 = ($0|0)==(0); - if (!($1)) { - return; - } - HEAP32[252>>2] = 920; - HEAP32[(256)>>2] = -60; - HEAP32[(260)>>2] = 120; - HEAP32[(264)>>2] = 140; - HEAP32[268>>2] = 560; - HEAP32[(272)>>2] = -240; - HEAP32[(276)>>2] = 120; - HEAP32[(280)>>2] = 140; - HEAP32[284>>2] = 240; - HEAP32[(288)>>2] = 170; - HEAP32[(292)>>2] = 60; - HEAP32[(296)>>2] = 60; - return; -} -function _UpdateLevel00Screen() { - var $$pr = 0, $$pr11 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; - var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0; - var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $levelWin$byval_copy = 0; - var $mousePos = 0, $mousePos$byval_copy2 = 0, $or$cond = 0, $or$cond3 = 0, $or$cond5 = 0, $or$cond7 = 0, $or$cond9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $levelWin$byval_copy = sp + 16|0; - $mousePos$byval_copy2 = sp; - $mousePos = sp + 8|0; - $0 = HEAP32[300>>2]|0; - $1 = ($0|0)==(0); - if ($1) { - $2 = HEAP32[240>>2]|0; - $3 = (($2) + 1)|0; - HEAP32[240>>2] = $3; - $4 = HEAP32[304>>2]|0; - $5 = ($4|0)==(0); - if ($5) { - $6 = HEAP32[(272)>>2]|0; - $7 = (($6) + 2)|0; - HEAP32[(272)>>2] = $7; - $8 = (_GetScreenHeight()|0); - $9 = ($7|0)<($8|0); - if (!($9)) { - $10 = HEAP32[(280)>>2]|0; - $11 = (0 - ($10))|0; - HEAP32[(272)>>2] = $11; - } - } - _GetTouchPosition($mousePos,0); - ;HEAP32[$mousePos$byval_copy2>>2]=HEAP32[$mousePos>>2]|0;HEAP32[$mousePos$byval_copy2+4>>2]=HEAP32[$mousePos+4>>2]|0; - ;HEAP32[$levelWin$byval_copy>>2]=HEAP32[268>>2]|0;HEAP32[$levelWin$byval_copy+4>>2]=HEAP32[268+4>>2]|0;HEAP32[$levelWin$byval_copy+8>>2]=HEAP32[268+8>>2]|0;HEAP32[$levelWin$byval_copy+12>>2]=HEAP32[268+12>>2]|0; - $12 = (_CheckCollisionPointRec($mousePos$byval_copy2,$levelWin$byval_copy)|0); - $13 = ($12|0)==(0); - $14 = HEAP32[304>>2]|0; - $15 = ($14|0)!=(0); - $or$cond7 = $13 | $15; - if (!($or$cond7)) { - $16 = (_IsGestureDetected(1)|0); - $17 = ($16|0)!=(0); - $18 = HEAP32[(272)>>2]|0; - $19 = ($18|0)>(215); - $or$cond9 = $17 & $19; - if ($or$cond9) { - $20 = HEAP32[(280)>>2]|0; - $21 = (($20) + ($18))|0; - $22 = ($21|0)<(390); - if ($22) { - HEAP32[304>>2] = 1; - } - } - } - ;HEAP32[$mousePos$byval_copy2>>2]=HEAP32[$mousePos>>2]|0;HEAP32[$mousePos$byval_copy2+4>>2]=HEAP32[$mousePos+4>>2]|0; - ;HEAP32[$levelWin$byval_copy>>2]=HEAP32[252>>2]|0;HEAP32[$levelWin$byval_copy+4>>2]=HEAP32[252+4>>2]|0;HEAP32[$levelWin$byval_copy+8>>2]=HEAP32[252+8>>2]|0;HEAP32[$levelWin$byval_copy+12>>2]=HEAP32[252+12>>2]|0; - $23 = (_CheckCollisionPointRec($mousePos$byval_copy2,$levelWin$byval_copy)|0); - $24 = ($23|0)==(0); - if (!($24)) { - $25 = HEAP32[308>>2]|0; - $26 = ($25|0)==(0); - if ($26) { - $27 = (_IsGestureDetected(1)|0); - $28 = ($27|0)==(0); - if ($28) { - label = 13; - } else { - $29 = HEAP32[(256)>>2]|0; - $30 = (($29) + 58)|0; - HEAP32[(256)>>2] = $30; - $31 = $30; - } - } else { - label = 13; - } - if ((label|0) == 13) { - $$pr = HEAP32[(256)>>2]|0; - $31 = $$pr; - } - $32 = ($31|0)>(209); - if ($32) { - HEAP32[308>>2] = 1; - } - } - ;HEAP32[$mousePos$byval_copy2>>2]=HEAP32[$mousePos>>2]|0;HEAP32[$mousePos$byval_copy2+4>>2]=HEAP32[$mousePos+4>>2]|0; - ;HEAP32[$levelWin$byval_copy>>2]=HEAP32[284>>2]|0;HEAP32[$levelWin$byval_copy+4>>2]=HEAP32[284+4>>2]|0;HEAP32[$levelWin$byval_copy+8>>2]=HEAP32[284+8>>2]|0;HEAP32[$levelWin$byval_copy+12>>2]=HEAP32[284+12>>2]|0; - $33 = (_CheckCollisionPointRec($mousePos$byval_copy2,$levelWin$byval_copy)|0); - $34 = ($33|0)==(0); - if (!($34)) { - $35 = (_IsGestureDetected(1)|0); - $36 = ($35|0)==(0); - if (!($36)) { - $37 = HEAP32[312>>2]|0; - $38 = ($37|0)==(0); - $39 = $38&1; - HEAP32[312>>2] = $39; - } - } - $40 = HEAP32[308>>2]|0; - $41 = ($40|0)!=(0); - $42 = HEAP32[304>>2]|0; - $43 = ($42|0)!=(0); - $or$cond = $41 & $43; - $44 = HEAP32[312>>2]|0; - $45 = ($44|0)!=(0); - $or$cond3 = $or$cond & $45; - if ($or$cond3) { - HEAP32[300>>2] = 1; - ;HEAP32[$levelWin$byval_copy>>2]=HEAP32[176>>2]|0;HEAP32[$levelWin$byval_copy+4>>2]=HEAP32[176+4>>2]|0; - _PlaySound($levelWin$byval_copy); - } - } - $46 = HEAP32[300>>2]|0; - $47 = ($46|0)==(0); - $48 = HEAP32[316>>2]|0; - $49 = ($48|0)!=(0); - $or$cond5 = $47 | $49; - if (!($or$cond5)) { - $50 = HEAP32[240>>2]|0; - $51 = (($50|0) / 60)&-1; - HEAP32[320>>2] = $51; - HEAP32[316>>2] = 1; - HEAP32[240>>2] = 1; - STACKTOP = sp;return; - } - $52 = ($48|0)==(0); - if ($52) { - STACKTOP = sp;return; - } - $$pr11 = HEAP32[240>>2]|0; - $53 = (($$pr11) + 1)|0; - HEAP32[240>>2] = $53; - $54 = ($$pr11|0)>(29); - if (!($54)) { - STACKTOP = sp;return; - } - $55 = (_IsGestureDetected(1)|0); - $56 = ($55|0)==(0); - if ($56) { - STACKTOP = sp;return; - } - HEAP32[244>>2] = 1; - HEAP32[248>>2] = 1; - STACKTOP = sp;return; -} -function _DrawLevel00Screen() { - var $$byval_copy10 = 0, $$byval_copy14 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; - var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0; - var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0; - var $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0; - var $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 112|0; - $$byval_copy14 = sp + 96|0; - $$byval_copy10 = sp + 24|0; - $vararg_buffer = sp; - $0 = sp + 92|0; - $1 = sp + 88|0; - $2 = sp + 84|0; - $3 = sp + 80|0; - $4 = sp + 76|0; - $5 = sp + 72|0; - $6 = sp + 68|0; - $7 = sp + 64|0; - $8 = sp + 60|0; - $9 = sp + 8|0; - $10 = sp + 56|0; - $11 = sp + 52|0; - $12 = sp + 48|0; - $13 = sp + 44|0; - $14 = sp + 40|0; - $15 = HEAP32[312>>2]|0; - $16 = ($15|0)==(0); - if ($16) { - $20 = HEAP32[284>>2]|0; - $21 = HEAP32[(288)>>2]|0; - $22 = HEAP32[(292)>>2]|0; - $23 = HEAP32[(296)>>2]|0; - HEAP8[$1>>0] = -126; - $24 = ((($1)) + 1|0); - HEAP8[$24>>0] = -126; - $25 = ((($1)) + 2|0); - HEAP8[$25>>0] = -126; - $26 = ((($1)) + 3|0); - HEAP8[$26>>0] = -1; - ;HEAP8[$$byval_copy14>>0]=HEAP8[$1>>0]|0;HEAP8[$$byval_copy14+1>>0]=HEAP8[$1+1>>0]|0;HEAP8[$$byval_copy14+2>>0]=HEAP8[$1+2>>0]|0;HEAP8[$$byval_copy14+3>>0]=HEAP8[$1+3>>0]|0; - _DrawRectangleLines($20,$21,$22,$23,$$byval_copy14); - } else { - HEAP8[$0>>0] = -126; - $17 = ((($0)) + 1|0); - HEAP8[$17>>0] = -126; - $18 = ((($0)) + 2|0); - HEAP8[$18>>0] = -126; - $19 = ((($0)) + 3|0); - HEAP8[$19>>0] = -1; - ;HEAP32[$$byval_copy10>>2]=HEAP32[284>>2]|0;HEAP32[$$byval_copy10+4>>2]=HEAP32[284+4>>2]|0;HEAP32[$$byval_copy10+8>>2]=HEAP32[284+8>>2]|0;HEAP32[$$byval_copy10+12>>2]=HEAP32[284+12>>2]|0; - ;HEAP8[$$byval_copy14>>0]=HEAP8[$0>>0]|0;HEAP8[$$byval_copy14+1>>0]=HEAP8[$0+1>>0]|0;HEAP8[$$byval_copy14+2>>0]=HEAP8[$0+2>>0]|0;HEAP8[$$byval_copy14+3>>0]=HEAP8[$0+3>>0]|0; - _DrawRectangleRec($$byval_copy10,$$byval_copy14); - } - HEAP8[$2>>0] = -126; - $27 = ((($2)) + 1|0); - HEAP8[$27>>0] = -126; - $28 = ((($2)) + 2|0); - HEAP8[$28>>0] = -126; - $29 = ((($2)) + 3|0); - HEAP8[$29>>0] = -1; - ;HEAP8[$$byval_copy14>>0]=HEAP8[$2>>0]|0;HEAP8[$$byval_copy14+1>>0]=HEAP8[$2+1>>0]|0;HEAP8[$$byval_copy14+2>>0]=HEAP8[$2+2>>0]|0;HEAP8[$$byval_copy14+3>>0]=HEAP8[$2+3>>0]|0; - _DrawRectangle(260,250,20,120,$$byval_copy14); - HEAP8[$3>>0] = -126; - $30 = ((($3)) + 1|0); - HEAP8[$30>>0] = -126; - $31 = ((($3)) + 2|0); - HEAP8[$31>>0] = -126; - $32 = ((($3)) + 3|0); - HEAP8[$32>>0] = -1; - ;HEAP8[$$byval_copy14>>0]=HEAP8[$3>>0]|0;HEAP8[$$byval_copy14+1>>0]=HEAP8[$3+1>>0]|0;HEAP8[$$byval_copy14+2>>0]=HEAP8[$3+2>>0]|0;HEAP8[$$byval_copy14+3>>0]=HEAP8[$3+3>>0]|0; - _DrawText(9142,240,210,200,$$byval_copy14); - $33 = HEAP32[(272)>>2]|0; - $34 = (($33) + -20)|0; - HEAP8[$4>>0] = -126; - $35 = ((($4)) + 1|0); - HEAP8[$35>>0] = -126; - $36 = ((($4)) + 2|0); - HEAP8[$36>>0] = -126; - $37 = ((($4)) + 3|0); - HEAP8[$37>>0] = -1; - ;HEAP8[$$byval_copy14>>0]=HEAP8[$4>>0]|0;HEAP8[$$byval_copy14+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$$byval_copy14+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$$byval_copy14+3>>0]=HEAP8[$4+3>>0]|0; - _DrawText(9146,560,$34,200,$$byval_copy14); - HEAP8[$5>>0] = -126; - $38 = ((($5)) + 1|0); - HEAP8[$38>>0] = -126; - $39 = ((($5)) + 2|0); - HEAP8[$39>>0] = -126; - $40 = ((($5)) + 3|0); - HEAP8[$40>>0] = -1; - ;HEAP8[$$byval_copy14>>0]=HEAP8[$5>>0]|0;HEAP8[$$byval_copy14+1>>0]=HEAP8[$5+1>>0]|0;HEAP8[$$byval_copy14+2>>0]=HEAP8[$5+2>>0]|0;HEAP8[$$byval_copy14+3>>0]=HEAP8[$5+3>>0]|0; - _DrawText(9148,700,210,200,$$byval_copy14); - $41 = HEAP32[(256)>>2]|0; - $42 = (($41) + -20)|0; - HEAP8[$6>>0] = -126; - $43 = ((($6)) + 1|0); - HEAP8[$43>>0] = -126; - $44 = ((($6)) + 2|0); - HEAP8[$44>>0] = -126; - $45 = ((($6)) + 3|0); - HEAP8[$45>>0] = -1; - ;HEAP8[$$byval_copy14>>0]=HEAP8[$6>>0]|0;HEAP8[$$byval_copy14+1>>0]=HEAP8[$6+1>>0]|0;HEAP8[$$byval_copy14+2>>0]=HEAP8[$6+2>>0]|0;HEAP8[$$byval_copy14+3>>0]=HEAP8[$6+3>>0]|0; - _DrawText(9151,920,$42,200,$$byval_copy14); - $46 = (_GetScreenHeight()|0); - $47 = (($46|0) / 2)&-1; - $48 = (($47) + 70)|0; - HEAP8[$8>>0] = -56; - $49 = ((($8)) + 1|0); - HEAP8[$49>>0] = -56; - $50 = ((($8)) + 2|0); - HEAP8[$50>>0] = -56; - $51 = ((($8)) + 3|0); - HEAP8[$51>>0] = -1; - ;HEAP8[$$byval_copy14>>0]=HEAP8[$8>>0]|0;HEAP8[$$byval_copy14+1>>0]=HEAP8[$8+1>>0]|0;HEAP8[$$byval_copy14+2>>0]=HEAP8[$8+2>>0]|0;HEAP8[$$byval_copy14+3>>0]=HEAP8[$8+3>>0]|0; - _Fade($7,$$byval_copy14,0.40000000596046448); - ;HEAP8[$$byval_copy14>>0]=HEAP8[$7>>0]|0;HEAP8[$$byval_copy14+1>>0]=HEAP8[$7+1>>0]|0;HEAP8[$$byval_copy14+2>>0]=HEAP8[$7+2>>0]|0;HEAP8[$$byval_copy14+3>>0]=HEAP8[$7+3>>0]|0; - _DrawText(9153,370,$48,30,$$byval_copy14); - $52 = HEAP32[316>>2]|0; - $53 = ($52|0)==(0); - $54 = (_GetScreenWidth()|0); - if ($53) { - $82 = (($54|0) / 2)&-1; - $83 = (_MeasureText(9184,30)|0); - $84 = (($83|0) / 2)&-1; - $85 = (($82) - ($84))|0; - HEAP8[$14>>0] = -56; - $86 = ((($14)) + 1|0); - HEAP8[$86>>0] = -56; - $87 = ((($14)) + 2|0); - HEAP8[$87>>0] = -56; - $88 = ((($14)) + 3|0); - HEAP8[$88>>0] = -1; - ;HEAP8[$$byval_copy14>>0]=HEAP8[$14>>0]|0;HEAP8[$$byval_copy14+1>>0]=HEAP8[$14+1>>0]|0;HEAP8[$$byval_copy14+2>>0]=HEAP8[$14+2>>0]|0;HEAP8[$$byval_copy14+3>>0]=HEAP8[$14+3>>0]|0; - _DrawText(9184,$85,20,30,$$byval_copy14); - STACKTOP = sp;return; - } else { - $55 = (_GetScreenHeight()|0); - HEAP32[$9>>2] = 0; - $56 = ((($9)) + 4|0); - HEAP32[$56>>2] = 0; - $57 = ((($9)) + 8|0); - HEAP32[$57>>2] = $54; - $58 = ((($9)) + 12|0); - HEAP32[$58>>2] = $55; - HEAP8[$11>>0] = -56; - $59 = ((($11)) + 1|0); - HEAP8[$59>>0] = -56; - $60 = ((($11)) + 2|0); - HEAP8[$60>>0] = -56; - $61 = ((($11)) + 3|0); - HEAP8[$61>>0] = -1; - ;HEAP8[$$byval_copy14>>0]=HEAP8[$11>>0]|0;HEAP8[$$byval_copy14+1>>0]=HEAP8[$11+1>>0]|0;HEAP8[$$byval_copy14+2>>0]=HEAP8[$11+2>>0]|0;HEAP8[$$byval_copy14+3>>0]=HEAP8[$11+3>>0]|0; - _Fade($10,$$byval_copy14,0.60000002384185791); - ;HEAP32[$$byval_copy10>>2]=HEAP32[$9>>2]|0;HEAP32[$$byval_copy10+4>>2]=HEAP32[$9+4>>2]|0;HEAP32[$$byval_copy10+8>>2]=HEAP32[$9+8>>2]|0;HEAP32[$$byval_copy10+12>>2]=HEAP32[$9+12>>2]|0; - ;HEAP8[$$byval_copy14>>0]=HEAP8[$10>>0]|0;HEAP8[$$byval_copy14+1>>0]=HEAP8[$10+1>>0]|0;HEAP8[$$byval_copy14+2>>0]=HEAP8[$10+2>>0]|0;HEAP8[$$byval_copy14+3>>0]=HEAP8[$10+3>>0]|0; - _DrawRectangleBordersRec($$byval_copy10,0,0,60,$$byval_copy14); - $62 = (_GetScreenWidth()|0); - $63 = (($62|0) / 2)&-1; - $64 = (_MeasureText(9184,30)|0); - $65 = (($64|0) / 2)&-1; - $66 = (($63) - ($65))|0; - HEAP8[$12>>0] = -126; - $67 = ((($12)) + 1|0); - HEAP8[$67>>0] = -126; - $68 = ((($12)) + 2|0); - HEAP8[$68>>0] = -126; - $69 = ((($12)) + 3|0); - HEAP8[$69>>0] = -1; - ;HEAP8[$$byval_copy14>>0]=HEAP8[$12>>0]|0;HEAP8[$$byval_copy14+1>>0]=HEAP8[$12+1>>0]|0;HEAP8[$$byval_copy14+2>>0]=HEAP8[$12+2>>0]|0;HEAP8[$$byval_copy14+3>>0]=HEAP8[$12+3>>0]|0; - _DrawText(9184,$66,20,30,$$byval_copy14); - $70 = HEAP32[320>>2]|0; - HEAP32[$vararg_buffer>>2] = $70; - $71 = (_FormatText(9392,$vararg_buffer)|0); - $72 = (_GetScreenWidth()|0); - $73 = (($72|0) / 2)&-1; - $74 = (_MeasureText(9414,30)|0); - $75 = (($74|0) / 2)&-1; - $76 = (($73) - ($75))|0; - $77 = (_GetScreenHeight()|0); - $78 = (($77) + -40)|0; - HEAP8[$13>>0] = -126; - $79 = ((($13)) + 1|0); - HEAP8[$79>>0] = -126; - $80 = ((($13)) + 2|0); - HEAP8[$80>>0] = -126; - $81 = ((($13)) + 3|0); - HEAP8[$81>>0] = -1; - ;HEAP8[$$byval_copy14>>0]=HEAP8[$13>>0]|0;HEAP8[$$byval_copy14+1>>0]=HEAP8[$13+1>>0]|0;HEAP8[$$byval_copy14+2>>0]=HEAP8[$13+2>>0]|0;HEAP8[$$byval_copy14+3>>0]=HEAP8[$13+3>>0]|0; - _DrawText($71,$76,$78,30,$$byval_copy14); - STACKTOP = sp;return; - } -} -function _DrawRectangleBordersRec($rec,$offsetX,$offsetY,$borderSize,$col) { - $rec = $rec|0; - $offsetX = $offsetX|0; - $offsetY = $offsetY|0; - $borderSize = $borderSize|0; - $col = $col|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $col$byval_copy3 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $col$byval_copy3 = sp; - $0 = HEAP32[$rec>>2]|0; - $1 = (($0) + ($offsetX))|0; - $2 = ((($rec)) + 4|0); - $3 = HEAP32[$2>>2]|0; - $4 = (($3) + ($offsetY))|0; - $5 = ((($rec)) + 8|0); - $6 = HEAP32[$5>>2]|0; - ;HEAP8[$col$byval_copy3>>0]=HEAP8[$col>>0]|0;HEAP8[$col$byval_copy3+1>>0]=HEAP8[$col+1>>0]|0;HEAP8[$col$byval_copy3+2>>0]=HEAP8[$col+2>>0]|0;HEAP8[$col$byval_copy3+3>>0]=HEAP8[$col+3>>0]|0; - _DrawRectangle($1,$4,$6,$borderSize,$col$byval_copy3); - $7 = HEAP32[$rec>>2]|0; - $8 = (($7) + ($offsetX))|0; - $9 = HEAP32[$2>>2]|0; - $10 = (($borderSize) + ($offsetY))|0; - $11 = (($10) + ($9))|0; - $12 = ((($rec)) + 12|0); - $13 = HEAP32[$12>>2]|0; - $14 = $borderSize << 1; - $15 = (($13) - ($14))|0; - ;HEAP8[$col$byval_copy3>>0]=HEAP8[$col>>0]|0;HEAP8[$col$byval_copy3+1>>0]=HEAP8[$col+1>>0]|0;HEAP8[$col$byval_copy3+2>>0]=HEAP8[$col+2>>0]|0;HEAP8[$col$byval_copy3+3>>0]=HEAP8[$col+3>>0]|0; - _DrawRectangle($8,$11,$borderSize,$15,$col$byval_copy3); - $16 = HEAP32[$rec>>2]|0; - $17 = HEAP32[$5>>2]|0; - $18 = (($offsetX) - ($borderSize))|0; - $19 = (($18) + ($16))|0; - $20 = (($19) + ($17))|0; - $21 = HEAP32[$2>>2]|0; - $22 = (($borderSize) + ($offsetY))|0; - $23 = (($22) + ($21))|0; - $24 = HEAP32[$12>>2]|0; - $25 = (($24) - ($14))|0; - ;HEAP8[$col$byval_copy3>>0]=HEAP8[$col>>0]|0;HEAP8[$col$byval_copy3+1>>0]=HEAP8[$col+1>>0]|0;HEAP8[$col$byval_copy3+2>>0]=HEAP8[$col+2>>0]|0;HEAP8[$col$byval_copy3+3>>0]=HEAP8[$col+3>>0]|0; - _DrawRectangle($20,$23,$borderSize,$25,$col$byval_copy3); - $26 = HEAP32[$rec>>2]|0; - $27 = (($26) + ($offsetX))|0; - $28 = HEAP32[$2>>2]|0; - $29 = HEAP32[$12>>2]|0; - $30 = (($offsetY) - ($borderSize))|0; - $31 = (($30) + ($28))|0; - $32 = (($31) + ($29))|0; - $33 = HEAP32[$5>>2]|0; - ;HEAP8[$col$byval_copy3>>0]=HEAP8[$col>>0]|0;HEAP8[$col$byval_copy3+1>>0]=HEAP8[$col+1>>0]|0;HEAP8[$col$byval_copy3+2>>0]=HEAP8[$col+2>>0]|0;HEAP8[$col$byval_copy3+3>>0]=HEAP8[$col+3>>0]|0; - _DrawRectangle($27,$32,$33,$borderSize,$col$byval_copy3); - STACKTOP = sp;return; -} -function _UnloadLevel00Screen() { - var label = 0, sp = 0; - sp = STACKTOP; - return; -} -function _FinishLevel00Screen() { - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[244>>2]|0; - return ($0|0); -} -function _InitLevel01Screen() { - var $0 = 0, $1 = 0, $2 = 0.0, $3 = 0, $4 = 0, $5 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - HEAP32[324>>2] = 0; - HEAP32[328>>2] = 0; - $0 = (_GetScreenWidth()|0); - $1 = (($0|0) / 2)&-1; - $2 = (+($1|0)); - $3 = (_GetScreenHeight()|0); - $4 = (($3|0) / 2)&-1; - $5 = (+($4|0)); - HEAPF32[332>>2] = $2; - HEAPF32[(336)>>2] = $5; - return; -} -function _UpdateLevel01Screen() { - var $$byval_copy1 = 0, $$pr = 0.0, $$pr3 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0, $15 = 0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0.0, $23 = 0.0; - var $24 = 0.0, $25 = 0, $26 = 0.0, $27 = 0, $28 = 0.0, $29 = 0, $3 = 0, $30 = 0.0, $31 = 0, $32 = 0.0, $33 = 0.0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; - var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0, $levelWin$byval_copy = 0, $or$cond = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $levelWin$byval_copy = sp + 24|0; - $$byval_copy1 = sp + 16|0; - $0 = sp + 8|0; - $1 = sp; - $2 = HEAP32[324>>2]|0; - $3 = (($2) + 1)|0; - HEAP32[324>>2] = $3; - $4 = HEAP32[340>>2]|0; - $5 = ($4|0)==(0); - if ($5) { - $6 = (_IsMouseButtonDown(0)|0); - $7 = ($6|0)==(0); - do { - if ($7) { - $20 = HEAP32[340>>2]|0; - $21 = ($20|0)==(0); - if ($21) { - $22 = +HEAPF32[344>>2]; - $23 = $22 + -2.0; - HEAPF32[344>>2] = $23; - $24 = +HEAPF32[348>>2]; - $25 = $24 > 300.0; - if ($25) { - $26 = $24 + -2.0; - HEAPF32[348>>2] = $26; - label = 12; - } else { - $28 = $23; - } - } else { - label = 12; - } - } else { - _GetMousePosition($0); - $8 = +HEAPF32[344>>2]; - ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0; - ;HEAP32[$levelWin$byval_copy>>2]=HEAP32[332>>2]|0;HEAP32[$levelWin$byval_copy+4>>2]=HEAP32[332+4>>2]|0; - $9 = (_CheckCollisionPointCircle($$byval_copy1,$levelWin$byval_copy,$8)|0); - $10 = ($9|0)==(0); - if (!($10)) { - $11 = +HEAPF32[344>>2]; - $12 = $11 + 2.0; - HEAPF32[344>>2] = $12; - $28 = $12; - break; - } - _GetMousePosition($1); - $13 = +HEAPF32[348>>2]; - ;HEAP32[$$byval_copy1>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$1+4>>2]|0; - ;HEAP32[$levelWin$byval_copy>>2]=HEAP32[332>>2]|0;HEAP32[$levelWin$byval_copy+4>>2]=HEAP32[332+4>>2]|0; - $14 = (_CheckCollisionPointCircle($$byval_copy1,$levelWin$byval_copy,$13)|0); - $15 = ($14|0)==(0); - $16 = +HEAPF32[348>>2]; - if (!($15)) { - $17 = $16 + 2.0; - HEAPF32[348>>2] = $17; - label = 12; - break; - } - $18 = $16 + -2.0; - HEAPF32[348>>2] = $18; - $19 = !($18 <= 260.0); - if ($19) { - label = 12; - } else { - HEAPF32[348>>2] = 260.0; - label = 12; - } - } - } while(0); - if ((label|0) == 12) { - $$pr = +HEAPF32[344>>2]; - $28 = $$pr; - } - $27 = !($28 >= 270.0); - if ($27) { - $29 = !($28 <= 40.0); - if (!($29)) { - HEAPF32[344>>2] = 40.0; - } - } else { - HEAPF32[344>>2] = 270.0; - } - $30 = +HEAPF32[348>>2]; - $31 = !($30 >= 600.0); - if (!($31)) { - HEAPF32[348>>2] = 600.0; - } - $32 = +HEAPF32[344>>2]; - $33 = +HEAPF32[348>>2]; - $34 = !($32 >= $33); - if (!($34)) { - HEAP32[340>>2] = 1; - ;HEAP32[$levelWin$byval_copy>>2]=HEAP32[176>>2]|0;HEAP32[$levelWin$byval_copy+4>>2]=HEAP32[176+4>>2]|0; - _PlaySound($levelWin$byval_copy); - } - } - $35 = HEAP32[340>>2]|0; - $36 = ($35|0)==(0); - $37 = HEAP32[352>>2]|0; - $38 = ($37|0)!=(0); - $or$cond = $36 | $38; - if (!($or$cond)) { - $39 = HEAP32[324>>2]|0; - $40 = (($39|0) / 60)&-1; - HEAP32[356>>2] = $40; - HEAP32[352>>2] = 1; - HEAP32[324>>2] = 1; - STACKTOP = sp;return; - } - $41 = ($37|0)==(0); - if ($41) { - STACKTOP = sp;return; - } - $$pr3 = HEAP32[324>>2]|0; - $42 = (($$pr3) + 1)|0; - HEAP32[324>>2] = $42; - $43 = ($$pr3|0)>(89); - if (!($43)) { - STACKTOP = sp;return; - } - $44 = (_IsMouseButtonPressed(0)|0); - $45 = ($44|0)==(0); - if ($45) { - STACKTOP = sp;return; - } - HEAP32[328>>2] = 1; - STACKTOP = sp;return; -} -function _DrawLevel01Screen() { - var $$byval_copy4 = 0, $$byval_copy8 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; - var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0; - var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 80|0; - $$byval_copy8 = sp + 68|0; - $$byval_copy4 = sp + 24|0; - $vararg_buffer = sp; - $0 = sp + 64|0; - $1 = sp + 60|0; - $2 = sp + 8|0; - $3 = sp + 56|0; - $4 = sp + 52|0; - $5 = sp + 48|0; - $6 = sp + 44|0; - $7 = sp + 40|0; - $8 = +HEAPF32[348>>2]; - HEAP8[$0>>0] = -126; - $9 = ((($0)) + 1|0); - HEAP8[$9>>0] = -126; - $10 = ((($0)) + 2|0); - HEAP8[$10>>0] = -126; - $11 = ((($0)) + 3|0); - HEAP8[$11>>0] = -1; - ;HEAP32[$$byval_copy4>>2]=HEAP32[332>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[332+4>>2]|0; - ;HEAP8[$$byval_copy8>>0]=HEAP8[$0>>0]|0;HEAP8[$$byval_copy8+1>>0]=HEAP8[$0+1>>0]|0;HEAP8[$$byval_copy8+2>>0]=HEAP8[$0+2>>0]|0;HEAP8[$$byval_copy8+3>>0]=HEAP8[$0+3>>0]|0; - _DrawCircleV($$byval_copy4,$8,$$byval_copy8); - $12 = +HEAPF32[344>>2]; - HEAP8[$1>>0] = -11; - $13 = ((($1)) + 1|0); - HEAP8[$13>>0] = -11; - $14 = ((($1)) + 2|0); - HEAP8[$14>>0] = -11; - $15 = ((($1)) + 3|0); - HEAP8[$15>>0] = -1; - ;HEAP32[$$byval_copy4>>2]=HEAP32[332>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[332+4>>2]|0; - ;HEAP8[$$byval_copy8>>0]=HEAP8[$1>>0]|0;HEAP8[$$byval_copy8+1>>0]=HEAP8[$1+1>>0]|0;HEAP8[$$byval_copy8+2>>0]=HEAP8[$1+2>>0]|0;HEAP8[$$byval_copy8+3>>0]=HEAP8[$1+3>>0]|0; - _DrawCircleV($$byval_copy4,$12,$$byval_copy8); - $16 = HEAP32[352>>2]|0; - $17 = ($16|0)==(0); - $18 = (_GetScreenWidth()|0); - if ($17) { - $46 = (($18|0) / 2)&-1; - $47 = (_MeasureText(9193,30)|0); - $48 = (($47|0) / 2)&-1; - $49 = (($46) - ($48))|0; - HEAP8[$7>>0] = -56; - $50 = ((($7)) + 1|0); - HEAP8[$50>>0] = -56; - $51 = ((($7)) + 2|0); - HEAP8[$51>>0] = -56; - $52 = ((($7)) + 3|0); - HEAP8[$52>>0] = -1; - ;HEAP8[$$byval_copy8>>0]=HEAP8[$7>>0]|0;HEAP8[$$byval_copy8+1>>0]=HEAP8[$7+1>>0]|0;HEAP8[$$byval_copy8+2>>0]=HEAP8[$7+2>>0]|0;HEAP8[$$byval_copy8+3>>0]=HEAP8[$7+3>>0]|0; - _DrawText(9193,$49,20,30,$$byval_copy8); - STACKTOP = sp;return; - } else { - $19 = (_GetScreenHeight()|0); - HEAP32[$2>>2] = 0; - $20 = ((($2)) + 4|0); - HEAP32[$20>>2] = 0; - $21 = ((($2)) + 8|0); - HEAP32[$21>>2] = $18; - $22 = ((($2)) + 12|0); - HEAP32[$22>>2] = $19; - HEAP8[$4>>0] = -56; - $23 = ((($4)) + 1|0); - HEAP8[$23>>0] = -56; - $24 = ((($4)) + 2|0); - HEAP8[$24>>0] = -56; - $25 = ((($4)) + 3|0); - HEAP8[$25>>0] = -1; - ;HEAP8[$$byval_copy8>>0]=HEAP8[$4>>0]|0;HEAP8[$$byval_copy8+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$$byval_copy8+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$$byval_copy8+3>>0]=HEAP8[$4+3>>0]|0; - _Fade($3,$$byval_copy8,0.60000002384185791); - ;HEAP32[$$byval_copy4>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$$byval_copy4+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$$byval_copy4+12>>2]=HEAP32[$2+12>>2]|0; - ;HEAP8[$$byval_copy8>>0]=HEAP8[$3>>0]|0;HEAP8[$$byval_copy8+1>>0]=HEAP8[$3+1>>0]|0;HEAP8[$$byval_copy8+2>>0]=HEAP8[$3+2>>0]|0;HEAP8[$$byval_copy8+3>>0]=HEAP8[$3+3>>0]|0; - _DrawRectangleBordersRec($$byval_copy4,0,0,60,$$byval_copy8); - $26 = (_GetScreenWidth()|0); - $27 = (($26|0) / 2)&-1; - $28 = (_MeasureText(9193,30)|0); - $29 = (($28|0) / 2)&-1; - $30 = (($27) - ($29))|0; - HEAP8[$5>>0] = -126; - $31 = ((($5)) + 1|0); - HEAP8[$31>>0] = -126; - $32 = ((($5)) + 2|0); - HEAP8[$32>>0] = -126; - $33 = ((($5)) + 3|0); - HEAP8[$33>>0] = -1; - ;HEAP8[$$byval_copy8>>0]=HEAP8[$5>>0]|0;HEAP8[$$byval_copy8+1>>0]=HEAP8[$5+1>>0]|0;HEAP8[$$byval_copy8+2>>0]=HEAP8[$5+2>>0]|0;HEAP8[$$byval_copy8+3>>0]=HEAP8[$5+3>>0]|0; - _DrawText(9193,$30,20,30,$$byval_copy8); - $34 = HEAP32[356>>2]|0; - HEAP32[$vararg_buffer>>2] = $34; - $35 = (_FormatText(9392,$vararg_buffer)|0); - $36 = (_GetScreenWidth()|0); - $37 = (($36|0) / 2)&-1; - $38 = (_MeasureText(9414,30)|0); - $39 = (($38|0) / 2)&-1; - $40 = (($37) - ($39))|0; - $41 = (_GetScreenHeight()|0); - $42 = (($41) + -40)|0; - HEAP8[$6>>0] = -126; - $43 = ((($6)) + 1|0); - HEAP8[$43>>0] = -126; - $44 = ((($6)) + 2|0); - HEAP8[$44>>0] = -126; - $45 = ((($6)) + 3|0); - HEAP8[$45>>0] = -1; - ;HEAP8[$$byval_copy8>>0]=HEAP8[$6>>0]|0;HEAP8[$$byval_copy8+1>>0]=HEAP8[$6+1>>0]|0;HEAP8[$$byval_copy8+2>>0]=HEAP8[$6+2>>0]|0;HEAP8[$$byval_copy8+3>>0]=HEAP8[$6+3>>0]|0; - _DrawText($35,$40,$42,30,$$byval_copy8); - STACKTOP = sp;return; - } -} -function _UnloadLevel01Screen() { - var label = 0, sp = 0; - sp = STACKTOP; - return; -} -function _FinishLevel01Screen() { - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[328>>2]|0; - return ($0|0); -} -function _InitLevel02Screen() { - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; - sp = STACKTOP; - HEAP32[360>>2] = 0; - HEAP32[364>>2] = 0; - $0 = (_GetScreenHeight()|0); - $1 = (($0|0) / 2)&-1; - $2 = (($1) + -20)|0; - HEAP32[368>>2] = 20; - HEAP32[(372)>>2] = $2; - HEAP32[(376)>>2] = 40; - HEAP32[(380)>>2] = 40; - $3 = (_GetScreenHeight()|0); - HEAP32[384>>2] = 240; - HEAP32[(388)>>2] = 0; - HEAP32[(392)>>2] = 100; - HEAP32[(396)>>2] = $3; - $4 = (_GetScreenWidth()|0); - $5 = (($4|0) / 2)&-1; - $6 = (($5) + -50)|0; - $7 = (_GetScreenHeight()|0); - HEAP32[400>>2] = $6; - HEAP32[(404)>>2] = 0; - HEAP32[(408)>>2] = 100; - HEAP32[(412)>>2] = $7; - $8 = (_GetScreenHeight()|0); - HEAP32[416>>2] = 920; - HEAP32[(420)>>2] = 0; - HEAP32[(424)>>2] = 100; - HEAP32[(428)>>2] = $8; - HEAP32[432>>2] = 1; - HEAP32[436>>2] = 0; - HEAP32[440>>2] = 1; - return; -} -function _UpdateLevel02Screen() { - var $$byval_copy6 = 0, $$pr = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; - var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0; - var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $levelWin$byval_copy = 0, $or$cond = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; - $levelWin$byval_copy = sp + 40|0; - $$byval_copy6 = sp + 24|0; - $0 = sp + 16|0; - $1 = sp + 8|0; - $2 = sp; - $3 = HEAP32[360>>2]|0; - $4 = (($3) + 1)|0; - HEAP32[360>>2] = $4; - $5 = HEAP32[444>>2]|0; - $6 = ($5|0)==(0); - if ($6) { - $7 = HEAP32[448>>2]|0; - $8 = HEAP32[368>>2]|0; - $9 = (($8) + ($7))|0; - HEAP32[368>>2] = $9; - $10 = ($9|0)<(1); - if ($10) { - $11 = HEAP32[448>>2]|0; - $12 = (0 - ($11))|0; - HEAP32[448>>2] = $12; - } - $13 = HEAP32[432>>2]|0; - $14 = ($13|0)==(0); - if ($14) { - label = 6; - } else { - ;HEAP32[$$byval_copy6>>2]=HEAP32[384>>2]|0;HEAP32[$$byval_copy6+4>>2]=HEAP32[384+4>>2]|0;HEAP32[$$byval_copy6+8>>2]=HEAP32[384+8>>2]|0;HEAP32[$$byval_copy6+12>>2]=HEAP32[384+12>>2]|0; - ;HEAP32[$levelWin$byval_copy>>2]=HEAP32[368>>2]|0;HEAP32[$levelWin$byval_copy+4>>2]=HEAP32[368+4>>2]|0;HEAP32[$levelWin$byval_copy+8>>2]=HEAP32[368+8>>2]|0;HEAP32[$levelWin$byval_copy+12>>2]=HEAP32[368+12>>2]|0; - $15 = (_CheckCollisionRecs($$byval_copy6,$levelWin$byval_copy)|0); - $16 = ($15|0)==(0); - if ($16) { - label = 6; - } else { - label = 10; - } - } - do { - if ((label|0) == 6) { - $17 = HEAP32[436>>2]|0; - $18 = ($17|0)==(0); - if (!($18)) { - ;HEAP32[$$byval_copy6>>2]=HEAP32[400>>2]|0;HEAP32[$$byval_copy6+4>>2]=HEAP32[400+4>>2]|0;HEAP32[$$byval_copy6+8>>2]=HEAP32[400+8>>2]|0;HEAP32[$$byval_copy6+12>>2]=HEAP32[400+12>>2]|0; - ;HEAP32[$levelWin$byval_copy>>2]=HEAP32[368>>2]|0;HEAP32[$levelWin$byval_copy+4>>2]=HEAP32[368+4>>2]|0;HEAP32[$levelWin$byval_copy+8>>2]=HEAP32[368+8>>2]|0;HEAP32[$levelWin$byval_copy+12>>2]=HEAP32[368+12>>2]|0; - $19 = (_CheckCollisionRecs($$byval_copy6,$levelWin$byval_copy)|0); - $20 = ($19|0)==(0); - if (!($20)) { - label = 10; - break; - } - } - $21 = HEAP32[440>>2]|0; - $22 = ($21|0)==(0); - if (!($22)) { - ;HEAP32[$$byval_copy6>>2]=HEAP32[416>>2]|0;HEAP32[$$byval_copy6+4>>2]=HEAP32[416+4>>2]|0;HEAP32[$$byval_copy6+8>>2]=HEAP32[416+8>>2]|0;HEAP32[$$byval_copy6+12>>2]=HEAP32[416+12>>2]|0; - ;HEAP32[$levelWin$byval_copy>>2]=HEAP32[368>>2]|0;HEAP32[$levelWin$byval_copy+4>>2]=HEAP32[368+4>>2]|0;HEAP32[$levelWin$byval_copy+8>>2]=HEAP32[368+8>>2]|0;HEAP32[$levelWin$byval_copy+12>>2]=HEAP32[368+12>>2]|0; - $23 = (_CheckCollisionRecs($$byval_copy6,$levelWin$byval_copy)|0); - $24 = ($23|0)==(0); - if (!($24)) { - label = 10; - } - } - } - } while(0); - if ((label|0) == 10) { - $25 = HEAP32[448>>2]|0; - $26 = (0 - ($25))|0; - HEAP32[448>>2] = $26; - } - $27 = (_IsMouseButtonPressed(0)|0); - $28 = ($27|0)==(0); - do { - if (!($28)) { - _GetMousePosition($0); - ;HEAP32[$$byval_copy6>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy6+4>>2]=HEAP32[$0+4>>2]|0; - ;HEAP32[$levelWin$byval_copy>>2]=HEAP32[384>>2]|0;HEAP32[$levelWin$byval_copy+4>>2]=HEAP32[384+4>>2]|0;HEAP32[$levelWin$byval_copy+8>>2]=HEAP32[384+8>>2]|0;HEAP32[$levelWin$byval_copy+12>>2]=HEAP32[384+12>>2]|0; - $29 = (_CheckCollisionPointRec($$byval_copy6,$levelWin$byval_copy)|0); - $30 = ($29|0)==(0); - if (!($30)) { - HEAP32[436>>2] = 0; - HEAP32[440>>2] = 1; - break; - } - _GetMousePosition($1); - ;HEAP32[$$byval_copy6>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy6+4>>2]=HEAP32[$1+4>>2]|0; - ;HEAP32[$levelWin$byval_copy>>2]=HEAP32[400>>2]|0;HEAP32[$levelWin$byval_copy+4>>2]=HEAP32[400+4>>2]|0;HEAP32[$levelWin$byval_copy+8>>2]=HEAP32[400+8>>2]|0;HEAP32[$levelWin$byval_copy+12>>2]=HEAP32[400+12>>2]|0; - $31 = (_CheckCollisionPointRec($$byval_copy6,$levelWin$byval_copy)|0); - $32 = ($31|0)==(0); - if (!($32)) { - HEAP32[440>>2] = 0; - HEAP32[432>>2] = 1; - break; - } - _GetMousePosition($2); - ;HEAP32[$$byval_copy6>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy6+4>>2]=HEAP32[$2+4>>2]|0; - ;HEAP32[$levelWin$byval_copy>>2]=HEAP32[416>>2]|0;HEAP32[$levelWin$byval_copy+4>>2]=HEAP32[416+4>>2]|0;HEAP32[$levelWin$byval_copy+8>>2]=HEAP32[416+8>>2]|0;HEAP32[$levelWin$byval_copy+12>>2]=HEAP32[416+12>>2]|0; - $33 = (_CheckCollisionPointRec($$byval_copy6,$levelWin$byval_copy)|0); - $34 = ($33|0)==(0); - if (!($34)) { - HEAP32[432>>2] = 0; - HEAP32[436>>2] = 1; - } - } - } while(0); - $35 = HEAP32[368>>2]|0; - $36 = ($35|0)>(1099); - if ($36) { - HEAP32[444>>2] = 1; - ;HEAP32[$levelWin$byval_copy>>2]=HEAP32[176>>2]|0;HEAP32[$levelWin$byval_copy+4>>2]=HEAP32[176+4>>2]|0; - _PlaySound($levelWin$byval_copy); - } - } - $37 = HEAP32[444>>2]|0; - $38 = ($37|0)==(0); - $39 = HEAP32[452>>2]|0; - $40 = ($39|0)!=(0); - $or$cond = $38 | $40; - if (!($or$cond)) { - $41 = HEAP32[360>>2]|0; - $42 = (($41|0) / 60)&-1; - HEAP32[456>>2] = $42; - HEAP32[452>>2] = 1; - HEAP32[360>>2] = 1; - STACKTOP = sp;return; - } - $43 = ($39|0)==(0); - if ($43) { - STACKTOP = sp;return; - } - $$pr = HEAP32[360>>2]|0; - $44 = (($$pr) + 1)|0; - HEAP32[360>>2] = $44; - $45 = ($$pr|0)>(89); - if (!($45)) { - STACKTOP = sp;return; - } - $46 = (_IsMouseButtonPressed(0)|0); - $47 = ($46|0)==(0); - if ($47) { - STACKTOP = sp;return; - } - HEAP32[364>>2] = 1; - STACKTOP = sp;return; -} -function _DrawLevel02Screen() { - var $$byval_copy11 = 0, $$byval_copy7 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; - var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0; - var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0; - var $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0; - var $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 96|0; - $$byval_copy11 = sp + 84|0; - $$byval_copy7 = sp + 24|0; - $vararg_buffer = sp; - $0 = sp + 80|0; - $1 = sp + 76|0; - $2 = sp + 72|0; - $3 = sp + 68|0; - $4 = sp + 64|0; - $5 = sp + 60|0; - $6 = sp + 8|0; - $7 = sp + 56|0; - $8 = sp + 52|0; - $9 = sp + 48|0; - $10 = sp + 44|0; - $11 = sp + 40|0; - $12 = (_GetScreenHeight()|0); - $13 = (($12|0) / 2)&-1; - $14 = (($13) + -20)|0; - HEAP8[$0>>0] = -126; - $15 = ((($0)) + 1|0); - HEAP8[$15>>0] = -126; - $16 = ((($0)) + 2|0); - HEAP8[$16>>0] = -126; - $17 = ((($0)) + 3|0); - HEAP8[$17>>0] = -1; - ;HEAP8[$$byval_copy11>>0]=HEAP8[$0>>0]|0;HEAP8[$$byval_copy11+1>>0]=HEAP8[$0+1>>0]|0;HEAP8[$$byval_copy11+2>>0]=HEAP8[$0+2>>0]|0;HEAP8[$$byval_copy11+3>>0]=HEAP8[$0+3>>0]|0; - _DrawRectangle(1100,$14,40,40,$$byval_copy11); - HEAP8[$1>>0] = -11; - $18 = ((($1)) + 1|0); - HEAP8[$18>>0] = -11; - $19 = ((($1)) + 2|0); - HEAP8[$19>>0] = -11; - $20 = ((($1)) + 3|0); - HEAP8[$20>>0] = -1; - ;HEAP32[$$byval_copy7>>2]=HEAP32[368>>2]|0;HEAP32[$$byval_copy7+4>>2]=HEAP32[368+4>>2]|0;HEAP32[$$byval_copy7+8>>2]=HEAP32[368+8>>2]|0;HEAP32[$$byval_copy7+12>>2]=HEAP32[368+12>>2]|0; - ;HEAP8[$$byval_copy11>>0]=HEAP8[$1>>0]|0;HEAP8[$$byval_copy11+1>>0]=HEAP8[$1+1>>0]|0;HEAP8[$$byval_copy11+2>>0]=HEAP8[$1+2>>0]|0;HEAP8[$$byval_copy11+3>>0]=HEAP8[$1+3>>0]|0; - _DrawRectangleRec($$byval_copy7,$$byval_copy11); - $21 = HEAP32[368>>2]|0; - $22 = HEAP32[(372)>>2]|0; - $23 = HEAP32[(376)>>2]|0; - $24 = HEAP32[(380)>>2]|0; - HEAP8[$2>>0] = -126; - $25 = ((($2)) + 1|0); - HEAP8[$25>>0] = -126; - $26 = ((($2)) + 2|0); - HEAP8[$26>>0] = -126; - $27 = ((($2)) + 3|0); - HEAP8[$27>>0] = -1; - ;HEAP8[$$byval_copy11>>0]=HEAP8[$2>>0]|0;HEAP8[$$byval_copy11+1>>0]=HEAP8[$2+1>>0]|0;HEAP8[$$byval_copy11+2>>0]=HEAP8[$2+2>>0]|0;HEAP8[$$byval_copy11+3>>0]=HEAP8[$2+3>>0]|0; - _DrawRectangleLines($21,$22,$23,$24,$$byval_copy11); - $28 = HEAP32[432>>2]|0; - $29 = ($28|0)==(0); - if (!($29)) { - HEAP8[$3>>0] = -126; - $30 = ((($3)) + 1|0); - HEAP8[$30>>0] = -126; - $31 = ((($3)) + 2|0); - HEAP8[$31>>0] = -126; - $32 = ((($3)) + 3|0); - HEAP8[$32>>0] = -1; - ;HEAP32[$$byval_copy7>>2]=HEAP32[384>>2]|0;HEAP32[$$byval_copy7+4>>2]=HEAP32[384+4>>2]|0;HEAP32[$$byval_copy7+8>>2]=HEAP32[384+8>>2]|0;HEAP32[$$byval_copy7+12>>2]=HEAP32[384+12>>2]|0; - ;HEAP8[$$byval_copy11>>0]=HEAP8[$3>>0]|0;HEAP8[$$byval_copy11+1>>0]=HEAP8[$3+1>>0]|0;HEAP8[$$byval_copy11+2>>0]=HEAP8[$3+2>>0]|0;HEAP8[$$byval_copy11+3>>0]=HEAP8[$3+3>>0]|0; - _DrawRectangleRec($$byval_copy7,$$byval_copy11); - } - $33 = HEAP32[436>>2]|0; - $34 = ($33|0)==(0); - if (!($34)) { - HEAP8[$4>>0] = -126; - $35 = ((($4)) + 1|0); - HEAP8[$35>>0] = -126; - $36 = ((($4)) + 2|0); - HEAP8[$36>>0] = -126; - $37 = ((($4)) + 3|0); - HEAP8[$37>>0] = -1; - ;HEAP32[$$byval_copy7>>2]=HEAP32[400>>2]|0;HEAP32[$$byval_copy7+4>>2]=HEAP32[400+4>>2]|0;HEAP32[$$byval_copy7+8>>2]=HEAP32[400+8>>2]|0;HEAP32[$$byval_copy7+12>>2]=HEAP32[400+12>>2]|0; - ;HEAP8[$$byval_copy11>>0]=HEAP8[$4>>0]|0;HEAP8[$$byval_copy11+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$$byval_copy11+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$$byval_copy11+3>>0]=HEAP8[$4+3>>0]|0; - _DrawRectangleRec($$byval_copy7,$$byval_copy11); - } - $38 = HEAP32[440>>2]|0; - $39 = ($38|0)==(0); - if (!($39)) { - HEAP8[$5>>0] = -126; - $40 = ((($5)) + 1|0); - HEAP8[$40>>0] = -126; - $41 = ((($5)) + 2|0); - HEAP8[$41>>0] = -126; - $42 = ((($5)) + 3|0); - HEAP8[$42>>0] = -1; - ;HEAP32[$$byval_copy7>>2]=HEAP32[416>>2]|0;HEAP32[$$byval_copy7+4>>2]=HEAP32[416+4>>2]|0;HEAP32[$$byval_copy7+8>>2]=HEAP32[416+8>>2]|0;HEAP32[$$byval_copy7+12>>2]=HEAP32[416+12>>2]|0; - ;HEAP8[$$byval_copy11>>0]=HEAP8[$5>>0]|0;HEAP8[$$byval_copy11+1>>0]=HEAP8[$5+1>>0]|0;HEAP8[$$byval_copy11+2>>0]=HEAP8[$5+2>>0]|0;HEAP8[$$byval_copy11+3>>0]=HEAP8[$5+3>>0]|0; - _DrawRectangleRec($$byval_copy7,$$byval_copy11); - } - $43 = HEAP32[452>>2]|0; - $44 = ($43|0)==(0); - $45 = (_GetScreenWidth()|0); - if ($44) { - $73 = (($45|0) / 2)&-1; - $74 = (_MeasureText(9202,30)|0); - $75 = (($74|0) / 2)&-1; - $76 = (($73) - ($75))|0; - HEAP8[$11>>0] = -56; - $77 = ((($11)) + 1|0); - HEAP8[$77>>0] = -56; - $78 = ((($11)) + 2|0); - HEAP8[$78>>0] = -56; - $79 = ((($11)) + 3|0); - HEAP8[$79>>0] = -1; - ;HEAP8[$$byval_copy11>>0]=HEAP8[$11>>0]|0;HEAP8[$$byval_copy11+1>>0]=HEAP8[$11+1>>0]|0;HEAP8[$$byval_copy11+2>>0]=HEAP8[$11+2>>0]|0;HEAP8[$$byval_copy11+3>>0]=HEAP8[$11+3>>0]|0; - _DrawText(9202,$76,20,30,$$byval_copy11); - STACKTOP = sp;return; - } else { - $46 = (_GetScreenHeight()|0); - HEAP32[$6>>2] = 0; - $47 = ((($6)) + 4|0); - HEAP32[$47>>2] = 0; - $48 = ((($6)) + 8|0); - HEAP32[$48>>2] = $45; - $49 = ((($6)) + 12|0); - HEAP32[$49>>2] = $46; - HEAP8[$8>>0] = -56; - $50 = ((($8)) + 1|0); - HEAP8[$50>>0] = -56; - $51 = ((($8)) + 2|0); - HEAP8[$51>>0] = -56; - $52 = ((($8)) + 3|0); - HEAP8[$52>>0] = -1; - ;HEAP8[$$byval_copy11>>0]=HEAP8[$8>>0]|0;HEAP8[$$byval_copy11+1>>0]=HEAP8[$8+1>>0]|0;HEAP8[$$byval_copy11+2>>0]=HEAP8[$8+2>>0]|0;HEAP8[$$byval_copy11+3>>0]=HEAP8[$8+3>>0]|0; - _Fade($7,$$byval_copy11,0.60000002384185791); - ;HEAP32[$$byval_copy7>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy7+4>>2]=HEAP32[$6+4>>2]|0;HEAP32[$$byval_copy7+8>>2]=HEAP32[$6+8>>2]|0;HEAP32[$$byval_copy7+12>>2]=HEAP32[$6+12>>2]|0; - ;HEAP8[$$byval_copy11>>0]=HEAP8[$7>>0]|0;HEAP8[$$byval_copy11+1>>0]=HEAP8[$7+1>>0]|0;HEAP8[$$byval_copy11+2>>0]=HEAP8[$7+2>>0]|0;HEAP8[$$byval_copy11+3>>0]=HEAP8[$7+3>>0]|0; - _DrawRectangleBordersRec($$byval_copy7,0,0,60,$$byval_copy11); - $53 = (_GetScreenWidth()|0); - $54 = (($53|0) / 2)&-1; - $55 = (_MeasureText(9202,30)|0); - $56 = (($55|0) / 2)&-1; - $57 = (($54) - ($56))|0; - HEAP8[$9>>0] = -126; - $58 = ((($9)) + 1|0); - HEAP8[$58>>0] = -126; - $59 = ((($9)) + 2|0); - HEAP8[$59>>0] = -126; - $60 = ((($9)) + 3|0); - HEAP8[$60>>0] = -1; - ;HEAP8[$$byval_copy11>>0]=HEAP8[$9>>0]|0;HEAP8[$$byval_copy11+1>>0]=HEAP8[$9+1>>0]|0;HEAP8[$$byval_copy11+2>>0]=HEAP8[$9+2>>0]|0;HEAP8[$$byval_copy11+3>>0]=HEAP8[$9+3>>0]|0; - _DrawText(9202,$57,20,30,$$byval_copy11); - $61 = HEAP32[456>>2]|0; - HEAP32[$vararg_buffer>>2] = $61; - $62 = (_FormatText(9392,$vararg_buffer)|0); - $63 = (_GetScreenWidth()|0); - $64 = (($63|0) / 2)&-1; - $65 = (_MeasureText(9414,30)|0); - $66 = (($65|0) / 2)&-1; - $67 = (($64) - ($66))|0; - $68 = (_GetScreenHeight()|0); - $69 = (($68) + -40)|0; - HEAP8[$10>>0] = -126; - $70 = ((($10)) + 1|0); - HEAP8[$70>>0] = -126; - $71 = ((($10)) + 2|0); - HEAP8[$71>>0] = -126; - $72 = ((($10)) + 3|0); - HEAP8[$72>>0] = -1; - ;HEAP8[$$byval_copy11>>0]=HEAP8[$10>>0]|0;HEAP8[$$byval_copy11+1>>0]=HEAP8[$10+1>>0]|0;HEAP8[$$byval_copy11+2>>0]=HEAP8[$10+2>>0]|0;HEAP8[$$byval_copy11+3>>0]=HEAP8[$10+3>>0]|0; - _DrawText($62,$67,$69,30,$$byval_copy11); - STACKTOP = sp;return; - } -} -function _UnloadLevel02Screen() { - var label = 0, sp = 0; - sp = STACKTOP; - return; -} -function _FinishLevel02Screen() { - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[364>>2]|0; - return ($0|0); -} -function _InitLevel03Screen() { - var $0 = 0, $1 = 0, $10 = 0.0, $11 = 0, $12 = 0, $13 = 0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0, $18 = 0.0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0.0, $23 = 0, $24 = 0, $25 = 0, $26 = 0.0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0.0, $30 = 0.0, $31 = 0, $32 = 0, $33 = 0.0, $34 = 0, $35 = 0, $36 = 0, $37 = 0.0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0.0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0.0, $5 = 0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - HEAP32[460>>2] = 0; - HEAP32[464>>2] = 0; - $0 = (_GetScreenWidth()|0); - $1 = (($0|0) / 2)&-1; - $2 = (($1) + -340)|0; - $3 = (+($2|0)); - $4 = (_GetScreenHeight()|0); - $5 = (($4|0) / 2)&-1; - $6 = (($5) + -100)|0; - $7 = (+($6|0)); - HEAPF32[468>>2] = $3; - HEAPF32[(472)>>2] = $7; - $8 = (_GetScreenWidth()|0); - $9 = (($8|0) / 2)&-1; - $10 = (+($9|0)); - $11 = (_GetScreenHeight()|0); - $12 = (($11|0) / 2)&-1; - $13 = (($12) + -100)|0; - $14 = (+($13|0)); - HEAPF32[476>>2] = $10; - HEAPF32[(480)>>2] = $14; - $15 = (_GetScreenWidth()|0); - $16 = (($15|0) / 2)&-1; - $17 = (($16) + 340)|0; - $18 = (+($17|0)); - $19 = (_GetScreenHeight()|0); - $20 = (($19|0) / 2)&-1; - $21 = (($20) + -100)|0; - $22 = (+($21|0)); - HEAPF32[484>>2] = $18; - HEAPF32[(488)>>2] = $22; - $23 = (_GetScreenWidth()|0); - $24 = (($23|0) / 2)&-1; - $25 = (($24) + -340)|0; - $26 = (+($25|0)); - $27 = (_GetScreenHeight()|0); - $28 = (($27|0) / 2)&-1; - $29 = (($28) + 120)|0; - $30 = (+($29|0)); - HEAPF32[492>>2] = $26; - HEAPF32[(496)>>2] = $30; - $31 = (_GetScreenWidth()|0); - $32 = (($31|0) / 2)&-1; - $33 = (+($32|0)); - $34 = (_GetScreenHeight()|0); - $35 = (($34|0) / 2)&-1; - $36 = (($35) + 120)|0; - $37 = (+($36|0)); - HEAPF32[500>>2] = $33; - HEAPF32[(504)>>2] = $37; - $38 = (_GetScreenWidth()|0); - $39 = (($38|0) / 2)&-1; - $40 = (($39) + 340)|0; - $41 = (+($40|0)); - $42 = (_GetScreenHeight()|0); - $43 = (($42|0) / 2)&-1; - $44 = (($43) + 120)|0; - $45 = (+($44|0)); - HEAPF32[508>>2] = $41; - HEAPF32[(512)>>2] = $45; - HEAP32[516>>2] = 0; - HEAP32[520>>2] = 1; - HEAP32[524>>2] = 0; - HEAP8[9211>>0] = -126; - HEAP8[(9212)>>0] = -126; - HEAP8[(9213)>>0] = -126; - HEAP8[(9214)>>0] = -1; - HEAP8[9215>>0] = -126; - HEAP8[(9216)>>0] = -126; - HEAP8[(9217)>>0] = -126; - HEAP8[(9218)>>0] = -1; - HEAP8[9219>>0] = -126; - HEAP8[(9220)>>0] = -126; - HEAP8[(9221)>>0] = -126; - HEAP8[(9222)>>0] = -1; - return; -} -function _UpdateLevel03Screen() { - var $$pr = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; - var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0; - var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0; - var $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0; - var $levelWin$byval_copy = 0, $or$cond = 0, $or$cond13 = 0, $or$cond3 = 0, $or$cond5 = 0, $rightCircleColor$byval_copy13 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 96|0; - $levelWin$byval_copy = sp + 56|0; - $rightCircleColor$byval_copy13 = sp + 48|0; - $0 = sp + 40|0; - $1 = sp + 32|0; - $2 = sp + 24|0; - $3 = sp + 16|0; - $4 = sp + 84|0; - $5 = sp + 8|0; - $6 = sp + 80|0; - $7 = sp; - $8 = sp + 76|0; - $9 = sp + 72|0; - $10 = sp + 68|0; - $11 = sp + 64|0; - $12 = HEAP32[460>>2]|0; - $13 = (($12) + 1)|0; - HEAP32[460>>2] = $13; - $14 = HEAP32[528>>2]|0; - $15 = ($14|0)==(0); - if ($15) { - $16 = (_IsMouseButtonPressed(0)|0); - $17 = ($16|0)==(0); - do { - if (!($17)) { - _GetMousePosition($0); - ;HEAP32[$rightCircleColor$byval_copy13>>2]=HEAP32[$0>>2]|0;HEAP32[$rightCircleColor$byval_copy13+4>>2]=HEAP32[$0+4>>2]|0; - ;HEAP32[$levelWin$byval_copy>>2]=HEAP32[492>>2]|0;HEAP32[$levelWin$byval_copy+4>>2]=HEAP32[492+4>>2]|0; - $18 = (_CheckCollisionPointCircle($rightCircleColor$byval_copy13,$levelWin$byval_copy,80.0)|0); - $19 = ($18|0)==(0); - do { - if ($19) { - _GetMousePosition($1); - ;HEAP32[$rightCircleColor$byval_copy13>>2]=HEAP32[$1>>2]|0;HEAP32[$rightCircleColor$byval_copy13+4>>2]=HEAP32[$1+4>>2]|0; - ;HEAP32[$levelWin$byval_copy>>2]=HEAP32[500>>2]|0;HEAP32[$levelWin$byval_copy+4>>2]=HEAP32[500+4>>2]|0; - $23 = (_CheckCollisionPointCircle($rightCircleColor$byval_copy13,$levelWin$byval_copy,80.0)|0); - $24 = ($23|0)==(0); - if (!($24)) { - $25 = HEAP32[520>>2]|0; - $26 = ($25|0)==(0); - $27 = $26&1; - HEAP32[520>>2] = $27; - break; - } - _GetMousePosition($2); - ;HEAP32[$rightCircleColor$byval_copy13>>2]=HEAP32[$2>>2]|0;HEAP32[$rightCircleColor$byval_copy13+4>>2]=HEAP32[$2+4>>2]|0; - ;HEAP32[$levelWin$byval_copy>>2]=HEAP32[508>>2]|0;HEAP32[$levelWin$byval_copy+4>>2]=HEAP32[508+4>>2]|0; - $28 = (_CheckCollisionPointCircle($rightCircleColor$byval_copy13,$levelWin$byval_copy,80.0)|0); - $29 = ($28|0)==(0); - if (!($29)) { - $30 = HEAP32[524>>2]|0; - $31 = ($30|0)==(0); - $32 = $31&1; - HEAP32[524>>2] = $32; - } - } else { - $20 = HEAP32[516>>2]|0; - $21 = ($20|0)==(0); - $22 = $21&1; - HEAP32[516>>2] = $22; - } - } while(0); - $33 = HEAP32[524>>2]|0; - $34 = ($33|0)==(0); - $35 = HEAP32[516>>2]|0; - $36 = ($35|0)!=(0); - $or$cond = $34 | $36; - do { - if (!($or$cond)) { - _GetMousePosition($3); - ;HEAP32[$rightCircleColor$byval_copy13>>2]=HEAP32[$3>>2]|0;HEAP32[$rightCircleColor$byval_copy13+4>>2]=HEAP32[$3+4>>2]|0; - ;HEAP32[$levelWin$byval_copy>>2]=HEAP32[468>>2]|0;HEAP32[$levelWin$byval_copy+4>>2]=HEAP32[468+4>>2]|0; - $37 = (_CheckCollisionPointCircle($rightCircleColor$byval_copy13,$levelWin$byval_copy,100.0)|0); - $38 = ($37|0)==(0); - if (!($38)) { - HEAP8[$4>>0] = -126; - $39 = ((($4)) + 1|0); - HEAP8[$39>>0] = -126; - $40 = ((($4)) + 2|0); - HEAP8[$40>>0] = -126; - $41 = ((($4)) + 3|0); - HEAP8[$41>>0] = -1; - ;HEAP8[$rightCircleColor$byval_copy13>>0]=HEAP8[9211>>0]|0;HEAP8[$rightCircleColor$byval_copy13+1>>0]=HEAP8[9211+1>>0]|0;HEAP8[$rightCircleColor$byval_copy13+2>>0]=HEAP8[9211+2>>0]|0;HEAP8[$rightCircleColor$byval_copy13+3>>0]=HEAP8[9211+3>>0]|0; - ;HEAP8[$levelWin$byval_copy>>0]=HEAP8[$4>>0]|0;HEAP8[$levelWin$byval_copy+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$levelWin$byval_copy+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$levelWin$byval_copy+3>>0]=HEAP8[$4+3>>0]|0; - $42 = (_CheckColor($rightCircleColor$byval_copy13,$levelWin$byval_copy)|0); - $43 = ($42|0)==(0); - if ($43) { - HEAP8[9211>>0] = -126; - HEAP8[(9212)>>0] = -126; - HEAP8[(9213)>>0] = -126; - HEAP8[(9214)>>0] = -1; - break; - } else { - HEAP8[9211>>0] = -56; - HEAP8[(9212)>>0] = -56; - HEAP8[(9213)>>0] = -56; - HEAP8[(9214)>>0] = -1; - break; - } - } - } - } while(0); - $44 = HEAP32[520>>2]|0; - $45 = ($44|0)==(0); - $46 = HEAP32[524>>2]|0; - $47 = ($46|0)!=(0); - $or$cond3 = $45 | $47; - do { - if (!($or$cond3)) { - _GetMousePosition($5); - ;HEAP32[$rightCircleColor$byval_copy13>>2]=HEAP32[$5>>2]|0;HEAP32[$rightCircleColor$byval_copy13+4>>2]=HEAP32[$5+4>>2]|0; - ;HEAP32[$levelWin$byval_copy>>2]=HEAP32[476>>2]|0;HEAP32[$levelWin$byval_copy+4>>2]=HEAP32[476+4>>2]|0; - $48 = (_CheckCollisionPointCircle($rightCircleColor$byval_copy13,$levelWin$byval_copy,100.0)|0); - $49 = ($48|0)==(0); - if (!($49)) { - HEAP8[$6>>0] = -126; - $50 = ((($6)) + 1|0); - HEAP8[$50>>0] = -126; - $51 = ((($6)) + 2|0); - HEAP8[$51>>0] = -126; - $52 = ((($6)) + 3|0); - HEAP8[$52>>0] = -1; - ;HEAP8[$rightCircleColor$byval_copy13>>0]=HEAP8[9215>>0]|0;HEAP8[$rightCircleColor$byval_copy13+1>>0]=HEAP8[9215+1>>0]|0;HEAP8[$rightCircleColor$byval_copy13+2>>0]=HEAP8[9215+2>>0]|0;HEAP8[$rightCircleColor$byval_copy13+3>>0]=HEAP8[9215+3>>0]|0; - ;HEAP8[$levelWin$byval_copy>>0]=HEAP8[$6>>0]|0;HEAP8[$levelWin$byval_copy+1>>0]=HEAP8[$6+1>>0]|0;HEAP8[$levelWin$byval_copy+2>>0]=HEAP8[$6+2>>0]|0;HEAP8[$levelWin$byval_copy+3>>0]=HEAP8[$6+3>>0]|0; - $53 = (_CheckColor($rightCircleColor$byval_copy13,$levelWin$byval_copy)|0); - $54 = ($53|0)==(0); - if ($54) { - HEAP8[9215>>0] = -126; - HEAP8[(9216)>>0] = -126; - HEAP8[(9217)>>0] = -126; - HEAP8[(9218)>>0] = -1; - break; - } else { - HEAP8[9215>>0] = -56; - HEAP8[(9216)>>0] = -56; - HEAP8[(9217)>>0] = -56; - HEAP8[(9218)>>0] = -1; - break; - } - } - } - } while(0); - $55 = HEAP32[524>>2]|0; - $56 = ($55|0)!=(0); - $57 = HEAP32[516>>2]|0; - $58 = ($57|0)!=(0); - $or$cond5 = $56 & $58; - if ($or$cond5) { - _GetMousePosition($7); - ;HEAP32[$rightCircleColor$byval_copy13>>2]=HEAP32[$7>>2]|0;HEAP32[$rightCircleColor$byval_copy13+4>>2]=HEAP32[$7+4>>2]|0; - ;HEAP32[$levelWin$byval_copy>>2]=HEAP32[484>>2]|0;HEAP32[$levelWin$byval_copy+4>>2]=HEAP32[484+4>>2]|0; - $59 = (_CheckCollisionPointCircle($rightCircleColor$byval_copy13,$levelWin$byval_copy,100.0)|0); - $60 = ($59|0)==(0); - if (!($60)) { - HEAP8[$8>>0] = -126; - $61 = ((($8)) + 1|0); - HEAP8[$61>>0] = -126; - $62 = ((($8)) + 2|0); - HEAP8[$62>>0] = -126; - $63 = ((($8)) + 3|0); - HEAP8[$63>>0] = -1; - ;HEAP8[$rightCircleColor$byval_copy13>>0]=HEAP8[9219>>0]|0;HEAP8[$rightCircleColor$byval_copy13+1>>0]=HEAP8[9219+1>>0]|0;HEAP8[$rightCircleColor$byval_copy13+2>>0]=HEAP8[9219+2>>0]|0;HEAP8[$rightCircleColor$byval_copy13+3>>0]=HEAP8[9219+3>>0]|0; - ;HEAP8[$levelWin$byval_copy>>0]=HEAP8[$8>>0]|0;HEAP8[$levelWin$byval_copy+1>>0]=HEAP8[$8+1>>0]|0;HEAP8[$levelWin$byval_copy+2>>0]=HEAP8[$8+2>>0]|0;HEAP8[$levelWin$byval_copy+3>>0]=HEAP8[$8+3>>0]|0; - $64 = (_CheckColor($rightCircleColor$byval_copy13,$levelWin$byval_copy)|0); - $65 = ($64|0)==(0); - if ($65) { - HEAP8[9219>>0] = -126; - HEAP8[(9220)>>0] = -126; - HEAP8[(9221)>>0] = -126; - HEAP8[(9222)>>0] = -1; - break; - } else { - HEAP8[9219>>0] = -56; - HEAP8[(9220)>>0] = -56; - HEAP8[(9221)>>0] = -56; - HEAP8[(9222)>>0] = -1; - break; - } - } - } - } - } while(0); - HEAP8[$9>>0] = -56; - $66 = ((($9)) + 1|0); - HEAP8[$66>>0] = -56; - $67 = ((($9)) + 2|0); - HEAP8[$67>>0] = -56; - $68 = ((($9)) + 3|0); - HEAP8[$68>>0] = -1; - ;HEAP8[$rightCircleColor$byval_copy13>>0]=HEAP8[9211>>0]|0;HEAP8[$rightCircleColor$byval_copy13+1>>0]=HEAP8[9211+1>>0]|0;HEAP8[$rightCircleColor$byval_copy13+2>>0]=HEAP8[9211+2>>0]|0;HEAP8[$rightCircleColor$byval_copy13+3>>0]=HEAP8[9211+3>>0]|0; - ;HEAP8[$levelWin$byval_copy>>0]=HEAP8[$9>>0]|0;HEAP8[$levelWin$byval_copy+1>>0]=HEAP8[$9+1>>0]|0;HEAP8[$levelWin$byval_copy+2>>0]=HEAP8[$9+2>>0]|0;HEAP8[$levelWin$byval_copy+3>>0]=HEAP8[$9+3>>0]|0; - $69 = (_CheckColor($rightCircleColor$byval_copy13,$levelWin$byval_copy)|0); - $70 = ($69|0)==(0); - if (!($70)) { - HEAP8[$10>>0] = -56; - $71 = ((($10)) + 1|0); - HEAP8[$71>>0] = -56; - $72 = ((($10)) + 2|0); - HEAP8[$72>>0] = -56; - $73 = ((($10)) + 3|0); - HEAP8[$73>>0] = -1; - ;HEAP8[$rightCircleColor$byval_copy13>>0]=HEAP8[9215>>0]|0;HEAP8[$rightCircleColor$byval_copy13+1>>0]=HEAP8[9215+1>>0]|0;HEAP8[$rightCircleColor$byval_copy13+2>>0]=HEAP8[9215+2>>0]|0;HEAP8[$rightCircleColor$byval_copy13+3>>0]=HEAP8[9215+3>>0]|0; - ;HEAP8[$levelWin$byval_copy>>0]=HEAP8[$10>>0]|0;HEAP8[$levelWin$byval_copy+1>>0]=HEAP8[$10+1>>0]|0;HEAP8[$levelWin$byval_copy+2>>0]=HEAP8[$10+2>>0]|0;HEAP8[$levelWin$byval_copy+3>>0]=HEAP8[$10+3>>0]|0; - $74 = (_CheckColor($rightCircleColor$byval_copy13,$levelWin$byval_copy)|0); - $75 = ($74|0)==(0); - if (!($75)) { - HEAP8[$11>>0] = -56; - $76 = ((($11)) + 1|0); - HEAP8[$76>>0] = -56; - $77 = ((($11)) + 2|0); - HEAP8[$77>>0] = -56; - $78 = ((($11)) + 3|0); - HEAP8[$78>>0] = -1; - ;HEAP8[$rightCircleColor$byval_copy13>>0]=HEAP8[9219>>0]|0;HEAP8[$rightCircleColor$byval_copy13+1>>0]=HEAP8[9219+1>>0]|0;HEAP8[$rightCircleColor$byval_copy13+2>>0]=HEAP8[9219+2>>0]|0;HEAP8[$rightCircleColor$byval_copy13+3>>0]=HEAP8[9219+3>>0]|0; - ;HEAP8[$levelWin$byval_copy>>0]=HEAP8[$11>>0]|0;HEAP8[$levelWin$byval_copy+1>>0]=HEAP8[$11+1>>0]|0;HEAP8[$levelWin$byval_copy+2>>0]=HEAP8[$11+2>>0]|0;HEAP8[$levelWin$byval_copy+3>>0]=HEAP8[$11+3>>0]|0; - $79 = (_CheckColor($rightCircleColor$byval_copy13,$levelWin$byval_copy)|0); - $80 = ($79|0)==(0); - $81 = HEAP32[516>>2]|0; - $82 = HEAP32[520>>2]|0; - $83 = $82 | $81; - $84 = HEAP32[524>>2]|0; - $85 = $83 | $84; - $86 = ($85|0)!=(0); - $87 = $80 | $86; - if (!($87)) { - HEAP32[528>>2] = 1; - ;HEAP32[$levelWin$byval_copy>>2]=HEAP32[176>>2]|0;HEAP32[$levelWin$byval_copy+4>>2]=HEAP32[176+4>>2]|0; - _PlaySound($levelWin$byval_copy); - } - } - } - } - $88 = HEAP32[528>>2]|0; - $89 = ($88|0)==(0); - $90 = HEAP32[532>>2]|0; - $91 = ($90|0)!=(0); - $or$cond13 = $89 | $91; - if (!($or$cond13)) { - $92 = HEAP32[460>>2]|0; - $93 = (($92|0) / 60)&-1; - HEAP32[536>>2] = $93; - HEAP32[532>>2] = 1; - HEAP32[460>>2] = 1; - STACKTOP = sp;return; - } - $94 = ($90|0)==(0); - if ($94) { - STACKTOP = sp;return; - } - $$pr = HEAP32[460>>2]|0; - $95 = (($$pr) + 1)|0; - HEAP32[460>>2] = $95; - $96 = ($$pr|0)>(89); - if (!($96)) { - STACKTOP = sp;return; - } - $97 = (_IsMouseButtonPressed(0)|0); - $98 = ($97|0)==(0); - if ($98) { - STACKTOP = sp;return; - } - HEAP32[464>>2] = 1; - STACKTOP = sp;return; -} -function _DrawLevel03Screen() { - var $$byval_copy11 = 0, $$byval_copy7 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0.0, $18 = 0, $19 = 0.0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; - var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0.0, $3 = 0, $30 = 0, $31 = 0.0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0.0, $42 = 0; - var $43 = 0.0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0; - var $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0; - var $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 96|0; - $$byval_copy11 = sp + 84|0; - $$byval_copy7 = sp + 24|0; - $vararg_buffer = sp; - $0 = sp + 80|0; - $1 = sp + 76|0; - $2 = sp + 72|0; - $3 = sp + 68|0; - $4 = sp + 64|0; - $5 = sp + 60|0; - $6 = sp + 8|0; - $7 = sp + 56|0; - $8 = sp + 52|0; - $9 = sp + 48|0; - $10 = sp + 44|0; - $11 = sp + 40|0; - ;HEAP32[$$byval_copy7>>2]=HEAP32[468>>2]|0;HEAP32[$$byval_copy7+4>>2]=HEAP32[468+4>>2]|0; - ;HEAP8[$$byval_copy11>>0]=HEAP8[9211>>0]|0;HEAP8[$$byval_copy11+1>>0]=HEAP8[9211+1>>0]|0;HEAP8[$$byval_copy11+2>>0]=HEAP8[9211+2>>0]|0;HEAP8[$$byval_copy11+3>>0]=HEAP8[9211+3>>0]|0; - _DrawCircleV($$byval_copy7,100.0,$$byval_copy11); - ;HEAP32[$$byval_copy7>>2]=HEAP32[476>>2]|0;HEAP32[$$byval_copy7+4>>2]=HEAP32[476+4>>2]|0; - ;HEAP8[$$byval_copy11>>0]=HEAP8[9215>>0]|0;HEAP8[$$byval_copy11+1>>0]=HEAP8[9215+1>>0]|0;HEAP8[$$byval_copy11+2>>0]=HEAP8[9215+2>>0]|0;HEAP8[$$byval_copy11+3>>0]=HEAP8[9215+3>>0]|0; - _DrawCircleV($$byval_copy7,100.0,$$byval_copy11); - ;HEAP32[$$byval_copy7>>2]=HEAP32[484>>2]|0;HEAP32[$$byval_copy7+4>>2]=HEAP32[484+4>>2]|0; - ;HEAP8[$$byval_copy11>>0]=HEAP8[9219>>0]|0;HEAP8[$$byval_copy11+1>>0]=HEAP8[9219+1>>0]|0;HEAP8[$$byval_copy11+2>>0]=HEAP8[9219+2>>0]|0;HEAP8[$$byval_copy11+3>>0]=HEAP8[9219+3>>0]|0; - _DrawCircleV($$byval_copy7,100.0,$$byval_copy11); - $12 = HEAP32[516>>2]|0; - $13 = ($12|0)==(0); - if ($13) { - $17 = +HEAPF32[492>>2]; - $18 = (~~(($17))); - $19 = +HEAPF32[(496)>>2]; - $20 = (~~(($19))); - HEAP8[$1>>0] = -56; - $21 = ((($1)) + 1|0); - HEAP8[$21>>0] = -56; - $22 = ((($1)) + 2|0); - HEAP8[$22>>0] = -56; - $23 = ((($1)) + 3|0); - HEAP8[$23>>0] = -1; - ;HEAP8[$$byval_copy11>>0]=HEAP8[$1>>0]|0;HEAP8[$$byval_copy11+1>>0]=HEAP8[$1+1>>0]|0;HEAP8[$$byval_copy11+2>>0]=HEAP8[$1+2>>0]|0;HEAP8[$$byval_copy11+3>>0]=HEAP8[$1+3>>0]|0; - _DrawCircleLines($18,$20,80.0,$$byval_copy11); - } else { - HEAP8[$0>>0] = -126; - $14 = ((($0)) + 1|0); - HEAP8[$14>>0] = -126; - $15 = ((($0)) + 2|0); - HEAP8[$15>>0] = -126; - $16 = ((($0)) + 3|0); - HEAP8[$16>>0] = -1; - ;HEAP32[$$byval_copy7>>2]=HEAP32[492>>2]|0;HEAP32[$$byval_copy7+4>>2]=HEAP32[492+4>>2]|0; - ;HEAP8[$$byval_copy11>>0]=HEAP8[$0>>0]|0;HEAP8[$$byval_copy11+1>>0]=HEAP8[$0+1>>0]|0;HEAP8[$$byval_copy11+2>>0]=HEAP8[$0+2>>0]|0;HEAP8[$$byval_copy11+3>>0]=HEAP8[$0+3>>0]|0; - _DrawCircleV($$byval_copy7,80.0,$$byval_copy11); - } - $24 = HEAP32[520>>2]|0; - $25 = ($24|0)==(0); - if ($25) { - $29 = +HEAPF32[500>>2]; - $30 = (~~(($29))); - $31 = +HEAPF32[(504)>>2]; - $32 = (~~(($31))); - HEAP8[$3>>0] = -56; - $33 = ((($3)) + 1|0); - HEAP8[$33>>0] = -56; - $34 = ((($3)) + 2|0); - HEAP8[$34>>0] = -56; - $35 = ((($3)) + 3|0); - HEAP8[$35>>0] = -1; - ;HEAP8[$$byval_copy11>>0]=HEAP8[$3>>0]|0;HEAP8[$$byval_copy11+1>>0]=HEAP8[$3+1>>0]|0;HEAP8[$$byval_copy11+2>>0]=HEAP8[$3+2>>0]|0;HEAP8[$$byval_copy11+3>>0]=HEAP8[$3+3>>0]|0; - _DrawCircleLines($30,$32,80.0,$$byval_copy11); - } else { - HEAP8[$2>>0] = -126; - $26 = ((($2)) + 1|0); - HEAP8[$26>>0] = -126; - $27 = ((($2)) + 2|0); - HEAP8[$27>>0] = -126; - $28 = ((($2)) + 3|0); - HEAP8[$28>>0] = -1; - ;HEAP32[$$byval_copy7>>2]=HEAP32[500>>2]|0;HEAP32[$$byval_copy7+4>>2]=HEAP32[500+4>>2]|0; - ;HEAP8[$$byval_copy11>>0]=HEAP8[$2>>0]|0;HEAP8[$$byval_copy11+1>>0]=HEAP8[$2+1>>0]|0;HEAP8[$$byval_copy11+2>>0]=HEAP8[$2+2>>0]|0;HEAP8[$$byval_copy11+3>>0]=HEAP8[$2+3>>0]|0; - _DrawCircleV($$byval_copy7,80.0,$$byval_copy11); - } - $36 = HEAP32[524>>2]|0; - $37 = ($36|0)==(0); - if ($37) { - $41 = +HEAPF32[508>>2]; - $42 = (~~(($41))); - $43 = +HEAPF32[(512)>>2]; - $44 = (~~(($43))); - HEAP8[$5>>0] = -56; - $45 = ((($5)) + 1|0); - HEAP8[$45>>0] = -56; - $46 = ((($5)) + 2|0); - HEAP8[$46>>0] = -56; - $47 = ((($5)) + 3|0); - HEAP8[$47>>0] = -1; - ;HEAP8[$$byval_copy11>>0]=HEAP8[$5>>0]|0;HEAP8[$$byval_copy11+1>>0]=HEAP8[$5+1>>0]|0;HEAP8[$$byval_copy11+2>>0]=HEAP8[$5+2>>0]|0;HEAP8[$$byval_copy11+3>>0]=HEAP8[$5+3>>0]|0; - _DrawCircleLines($42,$44,80.0,$$byval_copy11); - } else { - HEAP8[$4>>0] = -126; - $38 = ((($4)) + 1|0); - HEAP8[$38>>0] = -126; - $39 = ((($4)) + 2|0); - HEAP8[$39>>0] = -126; - $40 = ((($4)) + 3|0); - HEAP8[$40>>0] = -1; - ;HEAP32[$$byval_copy7>>2]=HEAP32[508>>2]|0;HEAP32[$$byval_copy7+4>>2]=HEAP32[508+4>>2]|0; - ;HEAP8[$$byval_copy11>>0]=HEAP8[$4>>0]|0;HEAP8[$$byval_copy11+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$$byval_copy11+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$$byval_copy11+3>>0]=HEAP8[$4+3>>0]|0; - _DrawCircleV($$byval_copy7,80.0,$$byval_copy11); - } - $48 = HEAP32[532>>2]|0; - $49 = ($48|0)==(0); - $50 = (_GetScreenWidth()|0); - if ($49) { - $78 = (($50|0) / 2)&-1; - $79 = (_MeasureText(9223,30)|0); - $80 = (($79|0) / 2)&-1; - $81 = (($78) - ($80))|0; - HEAP8[$11>>0] = -56; - $82 = ((($11)) + 1|0); - HEAP8[$82>>0] = -56; - $83 = ((($11)) + 2|0); - HEAP8[$83>>0] = -56; - $84 = ((($11)) + 3|0); - HEAP8[$84>>0] = -1; - ;HEAP8[$$byval_copy11>>0]=HEAP8[$11>>0]|0;HEAP8[$$byval_copy11+1>>0]=HEAP8[$11+1>>0]|0;HEAP8[$$byval_copy11+2>>0]=HEAP8[$11+2>>0]|0;HEAP8[$$byval_copy11+3>>0]=HEAP8[$11+3>>0]|0; - _DrawText(9223,$81,20,30,$$byval_copy11); - STACKTOP = sp;return; - } else { - $51 = (_GetScreenHeight()|0); - HEAP32[$6>>2] = 0; - $52 = ((($6)) + 4|0); - HEAP32[$52>>2] = 0; - $53 = ((($6)) + 8|0); - HEAP32[$53>>2] = $50; - $54 = ((($6)) + 12|0); - HEAP32[$54>>2] = $51; - HEAP8[$8>>0] = -56; - $55 = ((($8)) + 1|0); - HEAP8[$55>>0] = -56; - $56 = ((($8)) + 2|0); - HEAP8[$56>>0] = -56; - $57 = ((($8)) + 3|0); - HEAP8[$57>>0] = -1; - ;HEAP8[$$byval_copy11>>0]=HEAP8[$8>>0]|0;HEAP8[$$byval_copy11+1>>0]=HEAP8[$8+1>>0]|0;HEAP8[$$byval_copy11+2>>0]=HEAP8[$8+2>>0]|0;HEAP8[$$byval_copy11+3>>0]=HEAP8[$8+3>>0]|0; - _Fade($7,$$byval_copy11,0.60000002384185791); - ;HEAP32[$$byval_copy7>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy7+4>>2]=HEAP32[$6+4>>2]|0;HEAP32[$$byval_copy7+8>>2]=HEAP32[$6+8>>2]|0;HEAP32[$$byval_copy7+12>>2]=HEAP32[$6+12>>2]|0; - ;HEAP8[$$byval_copy11>>0]=HEAP8[$7>>0]|0;HEAP8[$$byval_copy11+1>>0]=HEAP8[$7+1>>0]|0;HEAP8[$$byval_copy11+2>>0]=HEAP8[$7+2>>0]|0;HEAP8[$$byval_copy11+3>>0]=HEAP8[$7+3>>0]|0; - _DrawRectangleBordersRec($$byval_copy7,0,0,60,$$byval_copy11); - $58 = (_GetScreenWidth()|0); - $59 = (($58|0) / 2)&-1; - $60 = (_MeasureText(9223,30)|0); - $61 = (($60|0) / 2)&-1; - $62 = (($59) - ($61))|0; - HEAP8[$9>>0] = -126; - $63 = ((($9)) + 1|0); - HEAP8[$63>>0] = -126; - $64 = ((($9)) + 2|0); - HEAP8[$64>>0] = -126; - $65 = ((($9)) + 3|0); - HEAP8[$65>>0] = -1; - ;HEAP8[$$byval_copy11>>0]=HEAP8[$9>>0]|0;HEAP8[$$byval_copy11+1>>0]=HEAP8[$9+1>>0]|0;HEAP8[$$byval_copy11+2>>0]=HEAP8[$9+2>>0]|0;HEAP8[$$byval_copy11+3>>0]=HEAP8[$9+3>>0]|0; - _DrawText(9223,$62,20,30,$$byval_copy11); - $66 = HEAP32[536>>2]|0; - HEAP32[$vararg_buffer>>2] = $66; - $67 = (_FormatText(9392,$vararg_buffer)|0); - $68 = (_GetScreenWidth()|0); - $69 = (($68|0) / 2)&-1; - $70 = (_MeasureText(9414,30)|0); - $71 = (($70|0) / 2)&-1; - $72 = (($69) - ($71))|0; - $73 = (_GetScreenHeight()|0); - $74 = (($73) + -40)|0; - HEAP8[$10>>0] = -126; - $75 = ((($10)) + 1|0); - HEAP8[$75>>0] = -126; - $76 = ((($10)) + 2|0); - HEAP8[$76>>0] = -126; - $77 = ((($10)) + 3|0); - HEAP8[$77>>0] = -1; - ;HEAP8[$$byval_copy11>>0]=HEAP8[$10>>0]|0;HEAP8[$$byval_copy11+1>>0]=HEAP8[$10+1>>0]|0;HEAP8[$$byval_copy11+2>>0]=HEAP8[$10+2>>0]|0;HEAP8[$$byval_copy11+3>>0]=HEAP8[$10+3>>0]|0; - _DrawText($67,$72,$74,30,$$byval_copy11); - STACKTOP = sp;return; - } -} -function _UnloadLevel03Screen() { - var label = 0, sp = 0; - sp = STACKTOP; - return; -} -function _FinishLevel03Screen() { - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[464>>2]|0; - return ($0|0); -} -function _CheckColor($col1,$col2) { - $col1 = $col1|0; - $col2 = $col2|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; - var label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP8[$col1>>0]|0; - $1 = HEAP8[$col2>>0]|0; - $2 = ($0<<24>>24)==($1<<24>>24); - if (!($2)) { - $19 = 0; - $18 = $19&1; - return ($18|0); - } - $3 = ((($col1)) + 1|0); - $4 = HEAP8[$3>>0]|0; - $5 = ((($col2)) + 1|0); - $6 = HEAP8[$5>>0]|0; - $7 = ($4<<24>>24)==($6<<24>>24); - if (!($7)) { - $19 = 0; - $18 = $19&1; - return ($18|0); - } - $8 = ((($col1)) + 2|0); - $9 = HEAP8[$8>>0]|0; - $10 = ((($col2)) + 2|0); - $11 = HEAP8[$10>>0]|0; - $12 = ($9<<24>>24)==($11<<24>>24); - if (!($12)) { - $19 = 0; - $18 = $19&1; - return ($18|0); - } - $13 = ((($col1)) + 3|0); - $14 = HEAP8[$13>>0]|0; - $15 = ((($col2)) + 3|0); - $16 = HEAP8[$15>>0]|0; - $17 = ($14<<24>>24)==($16<<24>>24); - $19 = $17; - $18 = $19&1; - return ($18|0); -} -function _InitLevel04Screen() { - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0; - var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - HEAP32[540>>2] = 0; - HEAP32[544>>2] = 0; - $0 = (_GetScreenWidth()|0); - $1 = (($0|0) / 2)&-1; - $2 = (_GetScreenHeight()|0); - HEAP32[548>>2] = 0; - HEAP32[(552)>>2] = 0; - HEAP32[(556)>>2] = $1; - HEAP32[(560)>>2] = $2; - $3 = (_GetScreenWidth()|0); - $4 = (($3|0) / 2)&-1; - $5 = (_GetScreenWidth()|0); - $6 = (($5|0) / 2)&-1; - $7 = (_GetScreenHeight()|0); - HEAP32[564>>2] = $4; - HEAP32[(568)>>2] = 0; - HEAP32[(572)>>2] = $6; - HEAP32[(576)>>2] = $7; - $8 = (_GetScreenWidth()|0); - $9 = (($8|0) / 4)&-1; - $10 = (($9) + -200)|0; - $11 = (_GetScreenHeight()|0); - $12 = (($11|0) / 2)&-1; - $13 = (($12) + -200)|0; - HEAP32[580>>2] = $10; - HEAP32[(584)>>2] = $13; - HEAP32[(588)>>2] = 400; - HEAP32[(592)>>2] = 400; - $14 = (_GetScreenWidth()|0); - $15 = (($14|0) / 2)&-1; - $16 = (_GetScreenWidth()|0); - $17 = (($16|0) / 4)&-1; - $18 = (($15) + -200)|0; - $19 = (($18) + ($17))|0; - $20 = (_GetScreenHeight()|0); - $21 = (($20|0) / 2)&-1; - $22 = (($21) + -200)|0; - HEAP32[596>>2] = $19; - HEAP32[(600)>>2] = $22; - HEAP32[(604)>>2] = 400; - HEAP32[(608)>>2] = 400; - return; -} -function _UpdateLevel04Screen() { - var $$byval_copy3 = 0, $$pr = 0, $$pr3 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; - var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; - var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0; - var $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $8 = 0, $9 = 0, $levelWin$byval_copy = 0, $or$cond = 0; - var label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; - $levelWin$byval_copy = sp + 40|0; - $$byval_copy3 = sp + 32|0; - $0 = sp + 24|0; - $1 = sp + 16|0; - $2 = sp + 8|0; - $3 = sp; - $4 = HEAP32[540>>2]|0; - $5 = (($4) + 1)|0; - HEAP32[540>>2] = $5; - $6 = HEAP32[612>>2]|0; - $7 = ($6|0)==(0); - do { - if ($7) { - $8 = (_IsMouseButtonPressed(0)|0); - $9 = ($8|0)==(0); - do { - if ($9) { - label = 13; - } else { - _GetMousePosition($0); - ;HEAP32[$$byval_copy3>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$0+4>>2]|0; - ;HEAP32[$levelWin$byval_copy>>2]=HEAP32[580>>2]|0;HEAP32[$levelWin$byval_copy+4>>2]=HEAP32[580+4>>2]|0;HEAP32[$levelWin$byval_copy+8>>2]=HEAP32[580+8>>2]|0;HEAP32[$levelWin$byval_copy+12>>2]=HEAP32[580+12>>2]|0; - $10 = (_CheckCollisionPointRec($$byval_copy3,$levelWin$byval_copy)|0); - $11 = ($10|0)==(0); - if (!($11)) { - $12 = HEAP32[(604)>>2]|0; - $13 = ($12|0)>(0); - if (!($13)) { - $54 = $12; - break; - } - $14 = HEAP32[596>>2]|0; - $15 = (($14) + 20)|0; - HEAP32[596>>2] = $15; - $16 = HEAP32[(600)>>2]|0; - $17 = (($16) + 20)|0; - HEAP32[(600)>>2] = $17; - $18 = HEAP32[(604)>>2]|0; - $19 = (($18) + -40)|0; - HEAP32[(604)>>2] = $19; - $20 = HEAP32[(608)>>2]|0; - $21 = (($20) + -40)|0; - HEAP32[(608)>>2] = $21; - label = 13; - break; - } - _GetMousePosition($1); - ;HEAP32[$$byval_copy3>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$1+4>>2]|0; - ;HEAP32[$levelWin$byval_copy>>2]=HEAP32[596>>2]|0;HEAP32[$levelWin$byval_copy+4>>2]=HEAP32[596+4>>2]|0;HEAP32[$levelWin$byval_copy+8>>2]=HEAP32[596+8>>2]|0;HEAP32[$levelWin$byval_copy+12>>2]=HEAP32[596+12>>2]|0; - $22 = (_CheckCollisionPointRec($$byval_copy3,$levelWin$byval_copy)|0); - $23 = ($22|0)==(0); - if (!($23)) { - $24 = HEAP32[(588)>>2]|0; - $25 = ($24|0)>(0); - if (!($25)) { - label = 13; - break; - } - $26 = HEAP32[580>>2]|0; - $27 = (($26) + 20)|0; - HEAP32[580>>2] = $27; - $28 = HEAP32[(584)>>2]|0; - $29 = (($28) + 20)|0; - HEAP32[(584)>>2] = $29; - $30 = HEAP32[(588)>>2]|0; - $31 = (($30) + -40)|0; - HEAP32[(588)>>2] = $31; - $32 = HEAP32[(592)>>2]|0; - $33 = (($32) + -40)|0; - HEAP32[(592)>>2] = $33; - label = 13; - break; - } - _GetMousePosition($2); - ;HEAP32[$$byval_copy3>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$2+4>>2]|0; - ;HEAP32[$levelWin$byval_copy>>2]=HEAP32[548>>2]|0;HEAP32[$levelWin$byval_copy+4>>2]=HEAP32[548+4>>2]|0;HEAP32[$levelWin$byval_copy+8>>2]=HEAP32[548+8>>2]|0;HEAP32[$levelWin$byval_copy+12>>2]=HEAP32[548+12>>2]|0; - $34 = (_CheckCollisionPointRec($$byval_copy3,$levelWin$byval_copy)|0); - $35 = ($34|0)==(0); - if (!($35)) { - $36 = HEAP32[580>>2]|0; - $37 = (($36) + -20)|0; - HEAP32[580>>2] = $37; - $38 = HEAP32[(584)>>2]|0; - $39 = (($38) + -20)|0; - HEAP32[(584)>>2] = $39; - $40 = HEAP32[(588)>>2]|0; - $41 = (($40) + 40)|0; - HEAP32[(588)>>2] = $41; - $42 = HEAP32[(592)>>2]|0; - $43 = (($42) + 40)|0; - HEAP32[(592)>>2] = $43; - label = 13; - break; - } - _GetMousePosition($3); - ;HEAP32[$$byval_copy3>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$3+4>>2]|0; - ;HEAP32[$levelWin$byval_copy>>2]=HEAP32[564>>2]|0;HEAP32[$levelWin$byval_copy+4>>2]=HEAP32[564+4>>2]|0;HEAP32[$levelWin$byval_copy+8>>2]=HEAP32[564+8>>2]|0;HEAP32[$levelWin$byval_copy+12>>2]=HEAP32[564+12>>2]|0; - $44 = (_CheckCollisionPointRec($$byval_copy3,$levelWin$byval_copy)|0); - $45 = ($44|0)==(0); - if ($45) { - label = 13; - } else { - $46 = HEAP32[596>>2]|0; - $47 = (($46) + -20)|0; - HEAP32[596>>2] = $47; - $48 = HEAP32[(600)>>2]|0; - $49 = (($48) + -20)|0; - HEAP32[(600)>>2] = $49; - $50 = HEAP32[(604)>>2]|0; - $51 = (($50) + 40)|0; - HEAP32[(604)>>2] = $51; - $52 = HEAP32[(608)>>2]|0; - $53 = (($52) + 40)|0; - HEAP32[(608)>>2] = $53; - label = 13; - } - } - } while(0); - if ((label|0) == 13) { - $$pr = HEAP32[(604)>>2]|0; - $54 = $$pr; - } - $55 = ($54|0)==(0); - if ($55) { - $56 = HEAP32[(592)>>2]|0; - $57 = (_GetScreenHeight()|0); - $58 = ($56|0)<($57|0); - if ($58) { - label = 16; - } - } else { - label = 16; - } - if ((label|0) == 16) { - $59 = HEAP32[(588)>>2]|0; - $60 = ($59|0)==(0); - if (!($60)) { - break; - } - $61 = HEAP32[(608)>>2]|0; - $62 = (_GetScreenHeight()|0); - $63 = ($61|0)<($62|0); - if ($63) { - break; - } - } - HEAP32[612>>2] = 1; - ;HEAP32[$levelWin$byval_copy>>2]=HEAP32[176>>2]|0;HEAP32[$levelWin$byval_copy+4>>2]=HEAP32[176+4>>2]|0; - _PlaySound($levelWin$byval_copy); - } - } while(0); - $64 = HEAP32[612>>2]|0; - $65 = ($64|0)==(0); - $66 = HEAP32[616>>2]|0; - $67 = ($66|0)!=(0); - $or$cond = $65 | $67; - if (!($or$cond)) { - $68 = HEAP32[540>>2]|0; - $69 = (($68|0) / 60)&-1; - HEAP32[620>>2] = $69; - HEAP32[616>>2] = 1; - HEAP32[540>>2] = 1; - STACKTOP = sp;return; - } - $70 = ($66|0)==(0); - if ($70) { - STACKTOP = sp;return; - } - $$pr3 = HEAP32[540>>2]|0; - $71 = (($$pr3) + 1)|0; - HEAP32[540>>2] = $71; - $72 = ($$pr3|0)>(89); - if (!($72)) { - STACKTOP = sp;return; - } - $73 = (_IsMouseButtonPressed(0)|0); - $74 = ($73|0)==(0); - if ($74) { - STACKTOP = sp;return; - } - HEAP32[544>>2] = 1; - STACKTOP = sp;return; -} -function _DrawLevel04Screen() { - var $$byval_copy11 = 0, $$byval_copy7 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; - var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0; - var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0; - var $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 96|0; - $$byval_copy11 = sp + 84|0; - $$byval_copy7 = sp + 24|0; - $vararg_buffer = sp; - $0 = sp + 80|0; - $1 = sp + 76|0; - $2 = sp + 72|0; - $3 = sp + 68|0; - $4 = sp + 64|0; - $5 = sp + 60|0; - $6 = sp + 8|0; - $7 = sp + 56|0; - $8 = sp + 52|0; - $9 = sp + 48|0; - $10 = sp + 44|0; - $11 = sp + 40|0; - $12 = HEAP32[616>>2]|0; - $13 = ($12|0)==(0); - $14 = (_GetScreenWidth()|0); - if ($13) { - $15 = (_GetScreenHeight()|0); - HEAP8[$0>>0] = -56; - $16 = ((($0)) + 1|0); - HEAP8[$16>>0] = -56; - $17 = ((($0)) + 2|0); - HEAP8[$17>>0] = -56; - $18 = ((($0)) + 3|0); - HEAP8[$18>>0] = -1; - ;HEAP8[$$byval_copy11>>0]=HEAP8[$0>>0]|0;HEAP8[$$byval_copy11+1>>0]=HEAP8[$0+1>>0]|0;HEAP8[$$byval_copy11+2>>0]=HEAP8[$0+2>>0]|0;HEAP8[$$byval_copy11+3>>0]=HEAP8[$0+3>>0]|0; - _DrawRectangle(0,0,$14,$15,$$byval_copy11); - } else { - $19 = (($14) + -120)|0; - $20 = (_GetScreenHeight()|0); - $21 = (($20) + -120)|0; - HEAP8[$1>>0] = -56; - $22 = ((($1)) + 1|0); - HEAP8[$22>>0] = -56; - $23 = ((($1)) + 2|0); - HEAP8[$23>>0] = -56; - $24 = ((($1)) + 3|0); - HEAP8[$24>>0] = -1; - ;HEAP8[$$byval_copy11>>0]=HEAP8[$1>>0]|0;HEAP8[$$byval_copy11+1>>0]=HEAP8[$1+1>>0]|0;HEAP8[$$byval_copy11+2>>0]=HEAP8[$1+2>>0]|0;HEAP8[$$byval_copy11+3>>0]=HEAP8[$1+3>>0]|0; - _DrawRectangle(60,60,$19,$21,$$byval_copy11); - } - HEAP8[$2>>0] = -126; - $25 = ((($2)) + 1|0); - HEAP8[$25>>0] = -126; - $26 = ((($2)) + 2|0); - HEAP8[$26>>0] = -126; - $27 = ((($2)) + 3|0); - HEAP8[$27>>0] = -1; - ;HEAP32[$$byval_copy7>>2]=HEAP32[548>>2]|0;HEAP32[$$byval_copy7+4>>2]=HEAP32[548+4>>2]|0;HEAP32[$$byval_copy7+8>>2]=HEAP32[548+8>>2]|0;HEAP32[$$byval_copy7+12>>2]=HEAP32[548+12>>2]|0; - ;HEAP8[$$byval_copy11>>0]=HEAP8[$2>>0]|0;HEAP8[$$byval_copy11+1>>0]=HEAP8[$2+1>>0]|0;HEAP8[$$byval_copy11+2>>0]=HEAP8[$2+2>>0]|0;HEAP8[$$byval_copy11+3>>0]=HEAP8[$2+3>>0]|0; - _DrawRectangleRec($$byval_copy7,$$byval_copy11); - HEAP8[$3>>0] = -11; - $28 = ((($3)) + 1|0); - HEAP8[$28>>0] = -11; - $29 = ((($3)) + 2|0); - HEAP8[$29>>0] = -11; - $30 = ((($3)) + 3|0); - HEAP8[$30>>0] = -1; - ;HEAP32[$$byval_copy7>>2]=HEAP32[580>>2]|0;HEAP32[$$byval_copy7+4>>2]=HEAP32[580+4>>2]|0;HEAP32[$$byval_copy7+8>>2]=HEAP32[580+8>>2]|0;HEAP32[$$byval_copy7+12>>2]=HEAP32[580+12>>2]|0; - ;HEAP8[$$byval_copy11>>0]=HEAP8[$3>>0]|0;HEAP8[$$byval_copy11+1>>0]=HEAP8[$3+1>>0]|0;HEAP8[$$byval_copy11+2>>0]=HEAP8[$3+2>>0]|0;HEAP8[$$byval_copy11+3>>0]=HEAP8[$3+3>>0]|0; - _DrawRectangleRec($$byval_copy7,$$byval_copy11); - HEAP8[$4>>0] = -11; - $31 = ((($4)) + 1|0); - HEAP8[$31>>0] = -11; - $32 = ((($4)) + 2|0); - HEAP8[$32>>0] = -11; - $33 = ((($4)) + 3|0); - HEAP8[$33>>0] = -1; - ;HEAP32[$$byval_copy7>>2]=HEAP32[564>>2]|0;HEAP32[$$byval_copy7+4>>2]=HEAP32[564+4>>2]|0;HEAP32[$$byval_copy7+8>>2]=HEAP32[564+8>>2]|0;HEAP32[$$byval_copy7+12>>2]=HEAP32[564+12>>2]|0; - ;HEAP8[$$byval_copy11>>0]=HEAP8[$4>>0]|0;HEAP8[$$byval_copy11+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$$byval_copy11+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$$byval_copy11+3>>0]=HEAP8[$4+3>>0]|0; - _DrawRectangleRec($$byval_copy7,$$byval_copy11); - HEAP8[$5>>0] = -126; - $34 = ((($5)) + 1|0); - HEAP8[$34>>0] = -126; - $35 = ((($5)) + 2|0); - HEAP8[$35>>0] = -126; - $36 = ((($5)) + 3|0); - HEAP8[$36>>0] = -1; - ;HEAP32[$$byval_copy7>>2]=HEAP32[596>>2]|0;HEAP32[$$byval_copy7+4>>2]=HEAP32[596+4>>2]|0;HEAP32[$$byval_copy7+8>>2]=HEAP32[596+8>>2]|0;HEAP32[$$byval_copy7+12>>2]=HEAP32[596+12>>2]|0; - ;HEAP8[$$byval_copy11>>0]=HEAP8[$5>>0]|0;HEAP8[$$byval_copy11+1>>0]=HEAP8[$5+1>>0]|0;HEAP8[$$byval_copy11+2>>0]=HEAP8[$5+2>>0]|0;HEAP8[$$byval_copy11+3>>0]=HEAP8[$5+3>>0]|0; - _DrawRectangleRec($$byval_copy7,$$byval_copy11); - $37 = HEAP32[616>>2]|0; - $38 = ($37|0)==(0); - $39 = (_GetScreenWidth()|0); - if ($38) { - $67 = (($39|0) / 2)&-1; - $68 = (_MeasureText(9232,30)|0); - $69 = (($68|0) / 2)&-1; - $70 = (($67) - ($69))|0; - HEAP8[$11>>0] = -56; - $71 = ((($11)) + 1|0); - HEAP8[$71>>0] = -56; - $72 = ((($11)) + 2|0); - HEAP8[$72>>0] = -56; - $73 = ((($11)) + 3|0); - HEAP8[$73>>0] = -1; - ;HEAP8[$$byval_copy11>>0]=HEAP8[$11>>0]|0;HEAP8[$$byval_copy11+1>>0]=HEAP8[$11+1>>0]|0;HEAP8[$$byval_copy11+2>>0]=HEAP8[$11+2>>0]|0;HEAP8[$$byval_copy11+3>>0]=HEAP8[$11+3>>0]|0; - _DrawText(9232,$70,20,30,$$byval_copy11); - STACKTOP = sp;return; - } else { - $40 = (_GetScreenHeight()|0); - HEAP32[$6>>2] = 0; - $41 = ((($6)) + 4|0); - HEAP32[$41>>2] = 0; - $42 = ((($6)) + 8|0); - HEAP32[$42>>2] = $39; - $43 = ((($6)) + 12|0); - HEAP32[$43>>2] = $40; - HEAP8[$8>>0] = -56; - $44 = ((($8)) + 1|0); - HEAP8[$44>>0] = -56; - $45 = ((($8)) + 2|0); - HEAP8[$45>>0] = -56; - $46 = ((($8)) + 3|0); - HEAP8[$46>>0] = -1; - ;HEAP8[$$byval_copy11>>0]=HEAP8[$8>>0]|0;HEAP8[$$byval_copy11+1>>0]=HEAP8[$8+1>>0]|0;HEAP8[$$byval_copy11+2>>0]=HEAP8[$8+2>>0]|0;HEAP8[$$byval_copy11+3>>0]=HEAP8[$8+3>>0]|0; - _Fade($7,$$byval_copy11,0.60000002384185791); - ;HEAP32[$$byval_copy7>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy7+4>>2]=HEAP32[$6+4>>2]|0;HEAP32[$$byval_copy7+8>>2]=HEAP32[$6+8>>2]|0;HEAP32[$$byval_copy7+12>>2]=HEAP32[$6+12>>2]|0; - ;HEAP8[$$byval_copy11>>0]=HEAP8[$7>>0]|0;HEAP8[$$byval_copy11+1>>0]=HEAP8[$7+1>>0]|0;HEAP8[$$byval_copy11+2>>0]=HEAP8[$7+2>>0]|0;HEAP8[$$byval_copy11+3>>0]=HEAP8[$7+3>>0]|0; - _DrawRectangleBordersRec($$byval_copy7,0,0,60,$$byval_copy11); - $47 = (_GetScreenWidth()|0); - $48 = (($47|0) / 2)&-1; - $49 = (_MeasureText(9232,30)|0); - $50 = (($49|0) / 2)&-1; - $51 = (($48) - ($50))|0; - HEAP8[$9>>0] = -126; - $52 = ((($9)) + 1|0); - HEAP8[$52>>0] = -126; - $53 = ((($9)) + 2|0); - HEAP8[$53>>0] = -126; - $54 = ((($9)) + 3|0); - HEAP8[$54>>0] = -1; - ;HEAP8[$$byval_copy11>>0]=HEAP8[$9>>0]|0;HEAP8[$$byval_copy11+1>>0]=HEAP8[$9+1>>0]|0;HEAP8[$$byval_copy11+2>>0]=HEAP8[$9+2>>0]|0;HEAP8[$$byval_copy11+3>>0]=HEAP8[$9+3>>0]|0; - _DrawText(9232,$51,20,30,$$byval_copy11); - $55 = HEAP32[620>>2]|0; - HEAP32[$vararg_buffer>>2] = $55; - $56 = (_FormatText(9392,$vararg_buffer)|0); - $57 = (_GetScreenWidth()|0); - $58 = (($57|0) / 2)&-1; - $59 = (_MeasureText(9414,30)|0); - $60 = (($59|0) / 2)&-1; - $61 = (($58) - ($60))|0; - $62 = (_GetScreenHeight()|0); - $63 = (($62) + -40)|0; - HEAP8[$10>>0] = -126; - $64 = ((($10)) + 1|0); - HEAP8[$64>>0] = -126; - $65 = ((($10)) + 2|0); - HEAP8[$65>>0] = -126; - $66 = ((($10)) + 3|0); - HEAP8[$66>>0] = -1; - ;HEAP8[$$byval_copy11>>0]=HEAP8[$10>>0]|0;HEAP8[$$byval_copy11+1>>0]=HEAP8[$10+1>>0]|0;HEAP8[$$byval_copy11+2>>0]=HEAP8[$10+2>>0]|0;HEAP8[$$byval_copy11+3>>0]=HEAP8[$10+3>>0]|0; - _DrawText($56,$61,$63,30,$$byval_copy11); - STACKTOP = sp;return; - } -} -function _UnloadLevel04Screen() { - var label = 0, sp = 0; - sp = STACKTOP; - return; -} -function _FinishLevel04Screen() { - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[544>>2]|0; - return ($0|0); -} -function _InitLevel05Screen() { - var $0 = 0, $1 = 0, $2 = 0.0, $3 = 0, $4 = 0, $5 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - HEAP32[624>>2] = 0; - HEAP32[628>>2] = 0; - $0 = (_GetScreenWidth()|0); - $1 = (($0|0) / 2)&-1; - $2 = (+($1|0)); - $3 = (_GetScreenHeight()|0); - $4 = (($3|0) / 2)&-1; - $5 = (+($4|0)); - HEAPF32[632>>2] = $2; - HEAPF32[(636)>>2] = $5; - HEAPF32[640>>2] = 760.0; - HEAPF32[(644)>>2] = 684.0; - HEAPF32[(648)>>2] = 608.0; - HEAPF32[(652)>>2] = 532.0; - HEAPF32[(656)>>2] = 456.0; - HEAPF32[(660)>>2] = 380.0; - HEAPF32[(664)>>2] = 304.0; - HEAPF32[(668)>>2] = 228.0; - HEAPF32[(672)>>2] = 152.0; - HEAPF32[(676)>>2] = 76.0; - HEAP8[(9277)>>0] = -11; - HEAP8[(9278)>>0] = -11; - HEAP8[(9279)>>0] = -11; - HEAP8[(9280)>>0] = -1; - HEAP8[(9273)>>0] = -126; - HEAP8[(9274)>>0] = -126; - HEAP8[(9275)>>0] = -126; - HEAP8[(9276)>>0] = -1; - HEAP8[(9269)>>0] = -11; - HEAP8[(9270)>>0] = -11; - HEAP8[(9271)>>0] = -11; - HEAP8[(9272)>>0] = -1; - HEAP8[(9265)>>0] = -11; - HEAP8[(9266)>>0] = -11; - HEAP8[(9267)>>0] = -11; - HEAP8[(9268)>>0] = -1; - HEAP8[(9261)>>0] = -126; - HEAP8[(9262)>>0] = -126; - HEAP8[(9263)>>0] = -126; - HEAP8[(9264)>>0] = -1; - HEAP8[(9257)>>0] = -11; - HEAP8[(9258)>>0] = -11; - HEAP8[(9259)>>0] = -11; - HEAP8[(9260)>>0] = -1; - HEAP8[(9253)>>0] = -11; - HEAP8[(9254)>>0] = -11; - HEAP8[(9255)>>0] = -11; - HEAP8[(9256)>>0] = -1; - HEAP8[(9249)>>0] = -11; - HEAP8[(9250)>>0] = -11; - HEAP8[(9251)>>0] = -11; - HEAP8[(9252)>>0] = -1; - HEAP8[(9245)>>0] = -126; - HEAP8[(9246)>>0] = -126; - HEAP8[(9247)>>0] = -126; - HEAP8[(9248)>>0] = -1; - HEAP8[9241>>0] = -11; - HEAP8[(9242)>>0] = -11; - HEAP8[(9243)>>0] = -11; - HEAP8[(9244)>>0] = -1; - return; -} -function _UpdateLevel05Screen() { - var $$byval_copy45 = 0, $$pr = 0, $$pr51 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0.0, $102 = 0, $103 = 0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0; - var $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0; - var $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0.0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0; - var $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0; - var $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0.0, $81 = 0, $82 = 0, $83 = 0.0, $84 = 0, $85 = 0, $86 = 0.0, $87 = 0, $88 = 0, $89 = 0.0, $9 = 0, $90 = 0, $91 = 0, $92 = 0.0; - var $93 = 0, $94 = 0, $95 = 0.0, $96 = 0, $97 = 0, $98 = 0.0, $99 = 0, $circleCenter$byval_copy46 = 0, $i$055$lcssa$ph = 0, $or$cond = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $circleCenter$byval_copy46 = sp + 16|0; - $$byval_copy45 = sp + 8|0; - $0 = sp; - $1 = sp + 40|0; - $2 = sp + 36|0; - $3 = sp + 32|0; - $4 = sp + 28|0; - $5 = sp + 24|0; - $6 = HEAP32[624>>2]|0; - $7 = (($6) + 1)|0; - HEAP32[624>>2] = $7; - $8 = HEAP32[680>>2]|0; - $9 = ($8|0)==(0); - do { - if ($9) { - $10 = (_IsMouseButtonPressed(0)|0); - $11 = ($10|0)==(0); - L3: do { - if (!($11)) { - _GetMousePosition($0); - $12 = +HEAPF32[(676)>>2]; - ;HEAP32[$$byval_copy45>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy45+4>>2]=HEAP32[$0+4>>2]|0; - ;HEAP32[$circleCenter$byval_copy46>>2]=HEAP32[632>>2]|0;HEAP32[$circleCenter$byval_copy46+4>>2]=HEAP32[632+4>>2]|0; - $13 = (_CheckCollisionPointCircle($$byval_copy45,$circleCenter$byval_copy46,$12)|0); - $14 = ($13|0)==(0); - do { - if ($14) { - _GetMousePosition($0); - $42 = +HEAPF32[(672)>>2]; - ;HEAP32[$$byval_copy45>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy45+4>>2]=HEAP32[$0+4>>2]|0; - ;HEAP32[$circleCenter$byval_copy46>>2]=HEAP32[632>>2]|0;HEAP32[$circleCenter$byval_copy46+4>>2]=HEAP32[632+4>>2]|0; - $43 = (_CheckCollisionPointCircle($$byval_copy45,$circleCenter$byval_copy46,$42)|0); - $44 = ($43|0)==(0); - if (!($44)) { - HEAP8[$1>>0] = -126; - $15 = ((($1)) + 1|0); - HEAP8[$15>>0] = -126; - $16 = ((($1)) + 2|0); - HEAP8[$16>>0] = -126; - $17 = ((($1)) + 3|0); - HEAP8[$17>>0] = -1; - ;HEAP8[$$byval_copy45>>0]=HEAP8[(9245)>>0]|0;HEAP8[$$byval_copy45+1>>0]=HEAP8[(9245)+1>>0]|0;HEAP8[$$byval_copy45+2>>0]=HEAP8[(9245)+2>>0]|0;HEAP8[$$byval_copy45+3>>0]=HEAP8[(9245)+3>>0]|0; - ;HEAP8[$circleCenter$byval_copy46>>0]=HEAP8[$1>>0]|0;HEAP8[$circleCenter$byval_copy46+1>>0]=HEAP8[$1+1>>0]|0;HEAP8[$circleCenter$byval_copy46+2>>0]=HEAP8[$1+2>>0]|0;HEAP8[$circleCenter$byval_copy46+3>>0]=HEAP8[$1+3>>0]|0; - $18 = (_CheckColor111($$byval_copy45,$circleCenter$byval_copy46)|0); - $19 = ($18|0)==(0); - if ($19) { - HEAP8[(9245)>>0] = -126; - HEAP8[(9246)>>0] = -126; - HEAP8[(9247)>>0] = -126; - HEAP8[(9248)>>0] = -1; - STACKTOP = sp;return; - } else { - HEAP8[(9245)>>0] = -11; - HEAP8[(9246)>>0] = -11; - HEAP8[(9247)>>0] = -11; - HEAP8[(9248)>>0] = -1; - STACKTOP = sp;return; - } - } - _GetMousePosition($0); - $80 = +HEAPF32[(668)>>2]; - ;HEAP32[$$byval_copy45>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy45+4>>2]=HEAP32[$0+4>>2]|0; - ;HEAP32[$circleCenter$byval_copy46>>2]=HEAP32[632>>2]|0;HEAP32[$circleCenter$byval_copy46+4>>2]=HEAP32[632+4>>2]|0; - $81 = (_CheckCollisionPointCircle($$byval_copy45,$circleCenter$byval_copy46,$80)|0); - $82 = ($81|0)==(0); - if ($82) { - _GetMousePosition($0); - $83 = +HEAPF32[(664)>>2]; - ;HEAP32[$$byval_copy45>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy45+4>>2]=HEAP32[$0+4>>2]|0; - ;HEAP32[$circleCenter$byval_copy46>>2]=HEAP32[632>>2]|0;HEAP32[$circleCenter$byval_copy46+4>>2]=HEAP32[632+4>>2]|0; - $84 = (_CheckCollisionPointCircle($$byval_copy45,$circleCenter$byval_copy46,$83)|0); - $85 = ($84|0)==(0); - if ($85) { - _GetMousePosition($0); - $86 = +HEAPF32[(660)>>2]; - ;HEAP32[$$byval_copy45>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy45+4>>2]=HEAP32[$0+4>>2]|0; - ;HEAP32[$circleCenter$byval_copy46>>2]=HEAP32[632>>2]|0;HEAP32[$circleCenter$byval_copy46+4>>2]=HEAP32[632+4>>2]|0; - $87 = (_CheckCollisionPointCircle($$byval_copy45,$circleCenter$byval_copy46,$86)|0); - $88 = ($87|0)==(0); - if (!($88)) { - HEAP8[$2>>0] = -126; - $20 = ((($2)) + 1|0); - HEAP8[$20>>0] = -126; - $21 = ((($2)) + 2|0); - HEAP8[$21>>0] = -126; - $22 = ((($2)) + 3|0); - HEAP8[$22>>0] = -1; - ;HEAP8[$$byval_copy45>>0]=HEAP8[(9273)>>0]|0;HEAP8[$$byval_copy45+1>>0]=HEAP8[(9273)+1>>0]|0;HEAP8[$$byval_copy45+2>>0]=HEAP8[(9273)+2>>0]|0;HEAP8[$$byval_copy45+3>>0]=HEAP8[(9273)+3>>0]|0; - ;HEAP8[$circleCenter$byval_copy46>>0]=HEAP8[$2>>0]|0;HEAP8[$circleCenter$byval_copy46+1>>0]=HEAP8[$2+1>>0]|0;HEAP8[$circleCenter$byval_copy46+2>>0]=HEAP8[$2+2>>0]|0;HEAP8[$circleCenter$byval_copy46+3>>0]=HEAP8[$2+3>>0]|0; - $23 = (_CheckColor111($$byval_copy45,$circleCenter$byval_copy46)|0); - $24 = ($23|0)==(0); - if ($24) { - HEAP8[(9273)>>0] = -126; - HEAP8[(9274)>>0] = -126; - HEAP8[(9275)>>0] = -126; - HEAP8[(9276)>>0] = -1; - STACKTOP = sp;return; - } else { - HEAP8[(9273)>>0] = -11; - HEAP8[(9274)>>0] = -11; - HEAP8[(9275)>>0] = -11; - HEAP8[(9276)>>0] = -1; - STACKTOP = sp;return; - } - } - _GetMousePosition($0); - $89 = +HEAPF32[(656)>>2]; - ;HEAP32[$$byval_copy45>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy45+4>>2]=HEAP32[$0+4>>2]|0; - ;HEAP32[$circleCenter$byval_copy46>>2]=HEAP32[632>>2]|0;HEAP32[$circleCenter$byval_copy46+4>>2]=HEAP32[632+4>>2]|0; - $90 = (_CheckCollisionPointCircle($$byval_copy45,$circleCenter$byval_copy46,$89)|0); - $91 = ($90|0)==(0); - if ($91) { - _GetMousePosition($0); - $92 = +HEAPF32[(652)>>2]; - ;HEAP32[$$byval_copy45>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy45+4>>2]=HEAP32[$0+4>>2]|0; - ;HEAP32[$circleCenter$byval_copy46>>2]=HEAP32[632>>2]|0;HEAP32[$circleCenter$byval_copy46+4>>2]=HEAP32[632+4>>2]|0; - $93 = (_CheckCollisionPointCircle($$byval_copy45,$circleCenter$byval_copy46,$92)|0); - $94 = ($93|0)==(0); - if ($94) { - _GetMousePosition($0); - $95 = +HEAPF32[(648)>>2]; - ;HEAP32[$$byval_copy45>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy45+4>>2]=HEAP32[$0+4>>2]|0; - ;HEAP32[$circleCenter$byval_copy46>>2]=HEAP32[632>>2]|0;HEAP32[$circleCenter$byval_copy46+4>>2]=HEAP32[632+4>>2]|0; - $96 = (_CheckCollisionPointCircle($$byval_copy45,$circleCenter$byval_copy46,$95)|0); - $97 = ($96|0)==(0); - if ($97) { - _GetMousePosition($0); - $98 = +HEAPF32[(644)>>2]; - ;HEAP32[$$byval_copy45>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy45+4>>2]=HEAP32[$0+4>>2]|0; - ;HEAP32[$circleCenter$byval_copy46>>2]=HEAP32[632>>2]|0;HEAP32[$circleCenter$byval_copy46+4>>2]=HEAP32[632+4>>2]|0; - $99 = (_CheckCollisionPointCircle($$byval_copy45,$circleCenter$byval_copy46,$98)|0); - $100 = ($99|0)==(0); - if ($100) { - _GetMousePosition($0); - $101 = +HEAPF32[640>>2]; - ;HEAP32[$$byval_copy45>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy45+4>>2]=HEAP32[$0+4>>2]|0; - ;HEAP32[$circleCenter$byval_copy46>>2]=HEAP32[632>>2]|0;HEAP32[$circleCenter$byval_copy46+4>>2]=HEAP32[632+4>>2]|0; - $102 = (_CheckCollisionPointCircle($$byval_copy45,$circleCenter$byval_copy46,$101)|0); - $103 = ($102|0)==(0); - if ($103) { - break L3; - } else { - $i$055$lcssa$ph = 0; - break; - } - } - HEAP8[$3>>0] = -126; - $25 = ((($3)) + 1|0); - HEAP8[$25>>0] = -126; - $26 = ((($3)) + 2|0); - HEAP8[$26>>0] = -126; - $27 = ((($3)) + 3|0); - HEAP8[$27>>0] = -1; - ;HEAP8[$$byval_copy45>>0]=HEAP8[(9261)>>0]|0;HEAP8[$$byval_copy45+1>>0]=HEAP8[(9261)+1>>0]|0;HEAP8[$$byval_copy45+2>>0]=HEAP8[(9261)+2>>0]|0;HEAP8[$$byval_copy45+3>>0]=HEAP8[(9261)+3>>0]|0; - ;HEAP8[$circleCenter$byval_copy46>>0]=HEAP8[$3>>0]|0;HEAP8[$circleCenter$byval_copy46+1>>0]=HEAP8[$3+1>>0]|0;HEAP8[$circleCenter$byval_copy46+2>>0]=HEAP8[$3+2>>0]|0;HEAP8[$circleCenter$byval_copy46+3>>0]=HEAP8[$3+3>>0]|0; - $28 = (_CheckColor111($$byval_copy45,$circleCenter$byval_copy46)|0); - $29 = ($28|0)==(0); - if ($29) { - HEAP8[(9261)>>0] = -126; - HEAP8[(9262)>>0] = -126; - HEAP8[(9263)>>0] = -126; - HEAP8[(9264)>>0] = -1; - STACKTOP = sp;return; - } else { - HEAP8[(9261)>>0] = -11; - HEAP8[(9262)>>0] = -11; - HEAP8[(9263)>>0] = -11; - HEAP8[(9264)>>0] = -1; - STACKTOP = sp;return; - } - } else { - $i$055$lcssa$ph = 2; - } - } else { - $i$055$lcssa$ph = 3; - } - } else { - $i$055$lcssa$ph = 4; - } - } else { - $i$055$lcssa$ph = 6; - } - } else { - $i$055$lcssa$ph = 7; - } - } else { - $i$055$lcssa$ph = 9; - } - } while(0); - $30 = (9241 + ($i$055$lcssa$ph<<2)|0); - HEAP8[$4>>0] = -11; - $31 = ((($4)) + 1|0); - HEAP8[$31>>0] = -11; - $32 = ((($4)) + 2|0); - HEAP8[$32>>0] = -11; - $33 = ((($4)) + 3|0); - HEAP8[$33>>0] = -1; - ;HEAP8[$$byval_copy45>>0]=HEAP8[$30>>0]|0;HEAP8[$$byval_copy45+1>>0]=HEAP8[$30+1>>0]|0;HEAP8[$$byval_copy45+2>>0]=HEAP8[$30+2>>0]|0;HEAP8[$$byval_copy45+3>>0]=HEAP8[$30+3>>0]|0; - ;HEAP8[$circleCenter$byval_copy46>>0]=HEAP8[$4>>0]|0;HEAP8[$circleCenter$byval_copy46+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$circleCenter$byval_copy46+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$circleCenter$byval_copy46+3>>0]=HEAP8[$4+3>>0]|0; - $34 = (_CheckColor111($$byval_copy45,$circleCenter$byval_copy46)|0); - $35 = ($34|0)==(0); - if ($35) { - HEAP8[$30>>0] = -11; - $39 = (((9241 + ($i$055$lcssa$ph<<2)|0)) + 1|0); - HEAP8[$39>>0] = -11; - $40 = (((9241 + ($i$055$lcssa$ph<<2)|0)) + 2|0); - HEAP8[$40>>0] = -11; - $41 = (((9241 + ($i$055$lcssa$ph<<2)|0)) + 3|0); - HEAP8[$41>>0] = -1; - STACKTOP = sp;return; - } else { - HEAP8[$30>>0] = -126; - $36 = (((9241 + ($i$055$lcssa$ph<<2)|0)) + 1|0); - HEAP8[$36>>0] = -126; - $37 = (((9241 + ($i$055$lcssa$ph<<2)|0)) + 2|0); - HEAP8[$37>>0] = -126; - $38 = (((9241 + ($i$055$lcssa$ph<<2)|0)) + 3|0); - HEAP8[$38>>0] = -1; - STACKTOP = sp;return; - } - } - } while(0); - HEAP32[680>>2] = 1; - $45 = ((($5)) + 1|0); - $46 = ((($5)) + 2|0); - $47 = ((($5)) + 3|0); - HEAP8[$5>>0] = -126; - HEAP8[$45>>0] = -126; - HEAP8[$46>>0] = -126; - HEAP8[$47>>0] = -1; - ;HEAP8[$$byval_copy45>>0]=HEAP8[9241>>0]|0;HEAP8[$$byval_copy45+1>>0]=HEAP8[9241+1>>0]|0;HEAP8[$$byval_copy45+2>>0]=HEAP8[9241+2>>0]|0;HEAP8[$$byval_copy45+3>>0]=HEAP8[9241+3>>0]|0; - ;HEAP8[$circleCenter$byval_copy46>>0]=HEAP8[$5>>0]|0;HEAP8[$circleCenter$byval_copy46+1>>0]=HEAP8[$5+1>>0]|0;HEAP8[$circleCenter$byval_copy46+2>>0]=HEAP8[$5+2>>0]|0;HEAP8[$circleCenter$byval_copy46+3>>0]=HEAP8[$5+3>>0]|0; - $50 = (_CheckColor111($$byval_copy45,$circleCenter$byval_copy46)|0); - $51 = ($50|0)==(0); - if ($51) { - HEAP8[$5>>0] = -126; - HEAP8[$45>>0] = -126; - HEAP8[$46>>0] = -126; - HEAP8[$47>>0] = -1; - ;HEAP8[$$byval_copy45>>0]=HEAP8[(9245)>>0]|0;HEAP8[$$byval_copy45+1>>0]=HEAP8[(9245)+1>>0]|0;HEAP8[$$byval_copy45+2>>0]=HEAP8[(9245)+2>>0]|0;HEAP8[$$byval_copy45+3>>0]=HEAP8[(9245)+3>>0]|0; - ;HEAP8[$circleCenter$byval_copy46>>0]=HEAP8[$5>>0]|0;HEAP8[$circleCenter$byval_copy46+1>>0]=HEAP8[$5+1>>0]|0;HEAP8[$circleCenter$byval_copy46+2>>0]=HEAP8[$5+2>>0]|0;HEAP8[$circleCenter$byval_copy46+3>>0]=HEAP8[$5+3>>0]|0; - $48 = (_CheckColor111($$byval_copy45,$circleCenter$byval_copy46)|0); - $49 = ($48|0)==(0); - if ($49) { - HEAP8[$5>>0] = -126; - HEAP8[$45>>0] = -126; - HEAP8[$46>>0] = -126; - HEAP8[$47>>0] = -1; - ;HEAP8[$$byval_copy45>>0]=HEAP8[(9249)>>0]|0;HEAP8[$$byval_copy45+1>>0]=HEAP8[(9249)+1>>0]|0;HEAP8[$$byval_copy45+2>>0]=HEAP8[(9249)+2>>0]|0;HEAP8[$$byval_copy45+3>>0]=HEAP8[(9249)+3>>0]|0; - ;HEAP8[$circleCenter$byval_copy46>>0]=HEAP8[$5>>0]|0;HEAP8[$circleCenter$byval_copy46+1>>0]=HEAP8[$5+1>>0]|0;HEAP8[$circleCenter$byval_copy46+2>>0]=HEAP8[$5+2>>0]|0;HEAP8[$circleCenter$byval_copy46+3>>0]=HEAP8[$5+3>>0]|0; - $63 = (_CheckColor111($$byval_copy45,$circleCenter$byval_copy46)|0); - $64 = ($63|0)==(0); - if ($64) { - HEAP8[$5>>0] = -126; - HEAP8[$45>>0] = -126; - HEAP8[$46>>0] = -126; - HEAP8[$47>>0] = -1; - ;HEAP8[$$byval_copy45>>0]=HEAP8[(9253)>>0]|0;HEAP8[$$byval_copy45+1>>0]=HEAP8[(9253)+1>>0]|0;HEAP8[$$byval_copy45+2>>0]=HEAP8[(9253)+2>>0]|0;HEAP8[$$byval_copy45+3>>0]=HEAP8[(9253)+3>>0]|0; - ;HEAP8[$circleCenter$byval_copy46>>0]=HEAP8[$5>>0]|0;HEAP8[$circleCenter$byval_copy46+1>>0]=HEAP8[$5+1>>0]|0;HEAP8[$circleCenter$byval_copy46+2>>0]=HEAP8[$5+2>>0]|0;HEAP8[$circleCenter$byval_copy46+3>>0]=HEAP8[$5+3>>0]|0; - $65 = (_CheckColor111($$byval_copy45,$circleCenter$byval_copy46)|0); - $66 = ($65|0)==(0); - if ($66) { - HEAP8[$5>>0] = -126; - HEAP8[$45>>0] = -126; - HEAP8[$46>>0] = -126; - HEAP8[$47>>0] = -1; - ;HEAP8[$$byval_copy45>>0]=HEAP8[(9257)>>0]|0;HEAP8[$$byval_copy45+1>>0]=HEAP8[(9257)+1>>0]|0;HEAP8[$$byval_copy45+2>>0]=HEAP8[(9257)+2>>0]|0;HEAP8[$$byval_copy45+3>>0]=HEAP8[(9257)+3>>0]|0; - ;HEAP8[$circleCenter$byval_copy46>>0]=HEAP8[$5>>0]|0;HEAP8[$circleCenter$byval_copy46+1>>0]=HEAP8[$5+1>>0]|0;HEAP8[$circleCenter$byval_copy46+2>>0]=HEAP8[$5+2>>0]|0;HEAP8[$circleCenter$byval_copy46+3>>0]=HEAP8[$5+3>>0]|0; - $67 = (_CheckColor111($$byval_copy45,$circleCenter$byval_copy46)|0); - $68 = ($67|0)==(0); - if ($68) { - HEAP8[$5>>0] = -126; - HEAP8[$45>>0] = -126; - HEAP8[$46>>0] = -126; - HEAP8[$47>>0] = -1; - ;HEAP8[$$byval_copy45>>0]=HEAP8[(9261)>>0]|0;HEAP8[$$byval_copy45+1>>0]=HEAP8[(9261)+1>>0]|0;HEAP8[$$byval_copy45+2>>0]=HEAP8[(9261)+2>>0]|0;HEAP8[$$byval_copy45+3>>0]=HEAP8[(9261)+3>>0]|0; - ;HEAP8[$circleCenter$byval_copy46>>0]=HEAP8[$5>>0]|0;HEAP8[$circleCenter$byval_copy46+1>>0]=HEAP8[$5+1>>0]|0;HEAP8[$circleCenter$byval_copy46+2>>0]=HEAP8[$5+2>>0]|0;HEAP8[$circleCenter$byval_copy46+3>>0]=HEAP8[$5+3>>0]|0; - $69 = (_CheckColor111($$byval_copy45,$circleCenter$byval_copy46)|0); - $70 = ($69|0)==(0); - if ($70) { - HEAP8[$5>>0] = -126; - HEAP8[$45>>0] = -126; - HEAP8[$46>>0] = -126; - HEAP8[$47>>0] = -1; - ;HEAP8[$$byval_copy45>>0]=HEAP8[(9265)>>0]|0;HEAP8[$$byval_copy45+1>>0]=HEAP8[(9265)+1>>0]|0;HEAP8[$$byval_copy45+2>>0]=HEAP8[(9265)+2>>0]|0;HEAP8[$$byval_copy45+3>>0]=HEAP8[(9265)+3>>0]|0; - ;HEAP8[$circleCenter$byval_copy46>>0]=HEAP8[$5>>0]|0;HEAP8[$circleCenter$byval_copy46+1>>0]=HEAP8[$5+1>>0]|0;HEAP8[$circleCenter$byval_copy46+2>>0]=HEAP8[$5+2>>0]|0;HEAP8[$circleCenter$byval_copy46+3>>0]=HEAP8[$5+3>>0]|0; - $71 = (_CheckColor111($$byval_copy45,$circleCenter$byval_copy46)|0); - $72 = ($71|0)==(0); - if ($72) { - HEAP8[$5>>0] = -126; - HEAP8[$45>>0] = -126; - HEAP8[$46>>0] = -126; - HEAP8[$47>>0] = -1; - ;HEAP8[$$byval_copy45>>0]=HEAP8[(9269)>>0]|0;HEAP8[$$byval_copy45+1>>0]=HEAP8[(9269)+1>>0]|0;HEAP8[$$byval_copy45+2>>0]=HEAP8[(9269)+2>>0]|0;HEAP8[$$byval_copy45+3>>0]=HEAP8[(9269)+3>>0]|0; - ;HEAP8[$circleCenter$byval_copy46>>0]=HEAP8[$5>>0]|0;HEAP8[$circleCenter$byval_copy46+1>>0]=HEAP8[$5+1>>0]|0;HEAP8[$circleCenter$byval_copy46+2>>0]=HEAP8[$5+2>>0]|0;HEAP8[$circleCenter$byval_copy46+3>>0]=HEAP8[$5+3>>0]|0; - $73 = (_CheckColor111($$byval_copy45,$circleCenter$byval_copy46)|0); - $74 = ($73|0)==(0); - if ($74) { - HEAP8[$5>>0] = -126; - HEAP8[$45>>0] = -126; - HEAP8[$46>>0] = -126; - HEAP8[$47>>0] = -1; - ;HEAP8[$$byval_copy45>>0]=HEAP8[(9273)>>0]|0;HEAP8[$$byval_copy45+1>>0]=HEAP8[(9273)+1>>0]|0;HEAP8[$$byval_copy45+2>>0]=HEAP8[(9273)+2>>0]|0;HEAP8[$$byval_copy45+3>>0]=HEAP8[(9273)+3>>0]|0; - ;HEAP8[$circleCenter$byval_copy46>>0]=HEAP8[$5>>0]|0;HEAP8[$circleCenter$byval_copy46+1>>0]=HEAP8[$5+1>>0]|0;HEAP8[$circleCenter$byval_copy46+2>>0]=HEAP8[$5+2>>0]|0;HEAP8[$circleCenter$byval_copy46+3>>0]=HEAP8[$5+3>>0]|0; - $75 = (_CheckColor111($$byval_copy45,$circleCenter$byval_copy46)|0); - $76 = ($75|0)==(0); - if ($76) { - HEAP8[$5>>0] = -126; - HEAP8[$45>>0] = -126; - HEAP8[$46>>0] = -126; - HEAP8[$47>>0] = -1; - ;HEAP8[$$byval_copy45>>0]=HEAP8[(9277)>>0]|0;HEAP8[$$byval_copy45+1>>0]=HEAP8[(9277)+1>>0]|0;HEAP8[$$byval_copy45+2>>0]=HEAP8[(9277)+2>>0]|0;HEAP8[$$byval_copy45+3>>0]=HEAP8[(9277)+3>>0]|0; - ;HEAP8[$circleCenter$byval_copy46>>0]=HEAP8[$5>>0]|0;HEAP8[$circleCenter$byval_copy46+1>>0]=HEAP8[$5+1>>0]|0;HEAP8[$circleCenter$byval_copy46+2>>0]=HEAP8[$5+2>>0]|0;HEAP8[$circleCenter$byval_copy46+3>>0]=HEAP8[$5+3>>0]|0; - $77 = (_CheckColor111($$byval_copy45,$circleCenter$byval_copy46)|0); - $78 = ($77|0)==(0); - if ($78) { - $$pr = HEAP32[680>>2]|0; - $79 = ($$pr|0)==(0); - if ($79) { - break; - } - ;HEAP32[$circleCenter$byval_copy46>>2]=HEAP32[176>>2]|0;HEAP32[$circleCenter$byval_copy46+4>>2]=HEAP32[176+4>>2]|0; - _PlaySound($circleCenter$byval_copy46); - break; - } - } - } - } - } - } - } - } - } - } - HEAP32[680>>2] = 0; - } - } while(0); - $52 = HEAP32[680>>2]|0; - $53 = ($52|0)==(0); - $54 = HEAP32[684>>2]|0; - $55 = ($54|0)!=(0); - $or$cond = $53 | $55; - if (!($or$cond)) { - $56 = HEAP32[624>>2]|0; - $57 = (($56|0) / 60)&-1; - HEAP32[688>>2] = $57; - HEAP32[684>>2] = 1; - HEAP32[624>>2] = 1; - STACKTOP = sp;return; - } - $58 = ($54|0)==(0); - if ($58) { - STACKTOP = sp;return; - } - $$pr51 = HEAP32[624>>2]|0; - $59 = (($$pr51) + 1)|0; - HEAP32[624>>2] = $59; - $60 = ($$pr51|0)>(89); - if (!($60)) { - STACKTOP = sp;return; - } - $61 = (_IsMouseButtonPressed(0)|0); - $62 = ($61|0)==(0); - if ($62) { - STACKTOP = sp;return; - } - HEAP32[628>>2] = 1; - STACKTOP = sp;return; -} -function _DrawLevel05Screen() { - var $$byval_copy20 = 0, $$byval_copy24 = 0, $0 = 0, $1 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; - var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0; - var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; - $$byval_copy24 = sp + 60|0; - $$byval_copy20 = sp + 8|0; - $vararg_buffer = sp; - $0 = sp + 24|0; - $1 = sp + 56|0; - $2 = sp + 52|0; - $3 = sp + 48|0; - $4 = sp + 44|0; - $5 = sp + 40|0; - $6 = +HEAPF32[640>>2]; - ;HEAP32[$$byval_copy20>>2]=HEAP32[632>>2]|0;HEAP32[$$byval_copy20+4>>2]=HEAP32[632+4>>2]|0; - ;HEAP8[$$byval_copy24>>0]=HEAP8[9241>>0]|0;HEAP8[$$byval_copy24+1>>0]=HEAP8[9241+1>>0]|0;HEAP8[$$byval_copy24+2>>0]=HEAP8[9241+2>>0]|0;HEAP8[$$byval_copy24+3>>0]=HEAP8[9241+3>>0]|0; - _DrawPoly($$byval_copy20,64,$6,0.0,$$byval_copy24); - $7 = +HEAPF32[(644)>>2]; - ;HEAP32[$$byval_copy20>>2]=HEAP32[632>>2]|0;HEAP32[$$byval_copy20+4>>2]=HEAP32[632+4>>2]|0; - ;HEAP8[$$byval_copy24>>0]=HEAP8[(9245)>>0]|0;HEAP8[$$byval_copy24+1>>0]=HEAP8[(9245)+1>>0]|0;HEAP8[$$byval_copy24+2>>0]=HEAP8[(9245)+2>>0]|0;HEAP8[$$byval_copy24+3>>0]=HEAP8[(9245)+3>>0]|0; - _DrawPoly($$byval_copy20,64,$7,0.0,$$byval_copy24); - $8 = +HEAPF32[(648)>>2]; - ;HEAP32[$$byval_copy20>>2]=HEAP32[632>>2]|0;HEAP32[$$byval_copy20+4>>2]=HEAP32[632+4>>2]|0; - ;HEAP8[$$byval_copy24>>0]=HEAP8[(9249)>>0]|0;HEAP8[$$byval_copy24+1>>0]=HEAP8[(9249)+1>>0]|0;HEAP8[$$byval_copy24+2>>0]=HEAP8[(9249)+2>>0]|0;HEAP8[$$byval_copy24+3>>0]=HEAP8[(9249)+3>>0]|0; - _DrawPoly($$byval_copy20,64,$8,0.0,$$byval_copy24); - $9 = +HEAPF32[(652)>>2]; - ;HEAP32[$$byval_copy20>>2]=HEAP32[632>>2]|0;HEAP32[$$byval_copy20+4>>2]=HEAP32[632+4>>2]|0; - ;HEAP8[$$byval_copy24>>0]=HEAP8[(9253)>>0]|0;HEAP8[$$byval_copy24+1>>0]=HEAP8[(9253)+1>>0]|0;HEAP8[$$byval_copy24+2>>0]=HEAP8[(9253)+2>>0]|0;HEAP8[$$byval_copy24+3>>0]=HEAP8[(9253)+3>>0]|0; - _DrawPoly($$byval_copy20,64,$9,0.0,$$byval_copy24); - $10 = +HEAPF32[(656)>>2]; - ;HEAP32[$$byval_copy20>>2]=HEAP32[632>>2]|0;HEAP32[$$byval_copy20+4>>2]=HEAP32[632+4>>2]|0; - ;HEAP8[$$byval_copy24>>0]=HEAP8[(9257)>>0]|0;HEAP8[$$byval_copy24+1>>0]=HEAP8[(9257)+1>>0]|0;HEAP8[$$byval_copy24+2>>0]=HEAP8[(9257)+2>>0]|0;HEAP8[$$byval_copy24+3>>0]=HEAP8[(9257)+3>>0]|0; - _DrawPoly($$byval_copy20,64,$10,0.0,$$byval_copy24); - $11 = +HEAPF32[(660)>>2]; - ;HEAP32[$$byval_copy20>>2]=HEAP32[632>>2]|0;HEAP32[$$byval_copy20+4>>2]=HEAP32[632+4>>2]|0; - ;HEAP8[$$byval_copy24>>0]=HEAP8[(9261)>>0]|0;HEAP8[$$byval_copy24+1>>0]=HEAP8[(9261)+1>>0]|0;HEAP8[$$byval_copy24+2>>0]=HEAP8[(9261)+2>>0]|0;HEAP8[$$byval_copy24+3>>0]=HEAP8[(9261)+3>>0]|0; - _DrawPoly($$byval_copy20,64,$11,0.0,$$byval_copy24); - $12 = +HEAPF32[(664)>>2]; - ;HEAP32[$$byval_copy20>>2]=HEAP32[632>>2]|0;HEAP32[$$byval_copy20+4>>2]=HEAP32[632+4>>2]|0; - ;HEAP8[$$byval_copy24>>0]=HEAP8[(9265)>>0]|0;HEAP8[$$byval_copy24+1>>0]=HEAP8[(9265)+1>>0]|0;HEAP8[$$byval_copy24+2>>0]=HEAP8[(9265)+2>>0]|0;HEAP8[$$byval_copy24+3>>0]=HEAP8[(9265)+3>>0]|0; - _DrawPoly($$byval_copy20,64,$12,0.0,$$byval_copy24); - $13 = +HEAPF32[(668)>>2]; - ;HEAP32[$$byval_copy20>>2]=HEAP32[632>>2]|0;HEAP32[$$byval_copy20+4>>2]=HEAP32[632+4>>2]|0; - ;HEAP8[$$byval_copy24>>0]=HEAP8[(9269)>>0]|0;HEAP8[$$byval_copy24+1>>0]=HEAP8[(9269)+1>>0]|0;HEAP8[$$byval_copy24+2>>0]=HEAP8[(9269)+2>>0]|0;HEAP8[$$byval_copy24+3>>0]=HEAP8[(9269)+3>>0]|0; - _DrawPoly($$byval_copy20,64,$13,0.0,$$byval_copy24); - $14 = +HEAPF32[(672)>>2]; - ;HEAP32[$$byval_copy20>>2]=HEAP32[632>>2]|0;HEAP32[$$byval_copy20+4>>2]=HEAP32[632+4>>2]|0; - ;HEAP8[$$byval_copy24>>0]=HEAP8[(9273)>>0]|0;HEAP8[$$byval_copy24+1>>0]=HEAP8[(9273)+1>>0]|0;HEAP8[$$byval_copy24+2>>0]=HEAP8[(9273)+2>>0]|0;HEAP8[$$byval_copy24+3>>0]=HEAP8[(9273)+3>>0]|0; - _DrawPoly($$byval_copy20,64,$14,0.0,$$byval_copy24); - $15 = +HEAPF32[(676)>>2]; - ;HEAP32[$$byval_copy20>>2]=HEAP32[632>>2]|0;HEAP32[$$byval_copy20+4>>2]=HEAP32[632+4>>2]|0; - ;HEAP8[$$byval_copy24>>0]=HEAP8[(9277)>>0]|0;HEAP8[$$byval_copy24+1>>0]=HEAP8[(9277)+1>>0]|0;HEAP8[$$byval_copy24+2>>0]=HEAP8[(9277)+2>>0]|0;HEAP8[$$byval_copy24+3>>0]=HEAP8[(9277)+3>>0]|0; - _DrawPoly($$byval_copy20,64,$15,0.0,$$byval_copy24); - $16 = HEAP32[684>>2]|0; - $17 = ($16|0)==(0); - $18 = (_GetScreenWidth()|0); - if ($17) { - $46 = (($18|0) / 2)&-1; - $47 = (_MeasureText(9281,30)|0); - $48 = (($47|0) / 2)&-1; - $49 = (($46) - ($48))|0; - HEAP8[$5>>0] = -56; - $50 = ((($5)) + 1|0); - HEAP8[$50>>0] = -56; - $51 = ((($5)) + 2|0); - HEAP8[$51>>0] = -56; - $52 = ((($5)) + 3|0); - HEAP8[$52>>0] = -1; - ;HEAP8[$$byval_copy24>>0]=HEAP8[$5>>0]|0;HEAP8[$$byval_copy24+1>>0]=HEAP8[$5+1>>0]|0;HEAP8[$$byval_copy24+2>>0]=HEAP8[$5+2>>0]|0;HEAP8[$$byval_copy24+3>>0]=HEAP8[$5+3>>0]|0; - _DrawText(9281,$49,20,30,$$byval_copy24); - STACKTOP = sp;return; - } else { - $19 = (_GetScreenHeight()|0); - HEAP32[$0>>2] = 0; - $20 = ((($0)) + 4|0); - HEAP32[$20>>2] = 0; - $21 = ((($0)) + 8|0); - HEAP32[$21>>2] = $18; - $22 = ((($0)) + 12|0); - HEAP32[$22>>2] = $19; - HEAP8[$2>>0] = -56; - $23 = ((($2)) + 1|0); - HEAP8[$23>>0] = -56; - $24 = ((($2)) + 2|0); - HEAP8[$24>>0] = -56; - $25 = ((($2)) + 3|0); - HEAP8[$25>>0] = -1; - ;HEAP8[$$byval_copy24>>0]=HEAP8[$2>>0]|0;HEAP8[$$byval_copy24+1>>0]=HEAP8[$2+1>>0]|0;HEAP8[$$byval_copy24+2>>0]=HEAP8[$2+2>>0]|0;HEAP8[$$byval_copy24+3>>0]=HEAP8[$2+3>>0]|0; - _Fade($1,$$byval_copy24,0.60000002384185791); - ;HEAP32[$$byval_copy20>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy20+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy20+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy20+12>>2]=HEAP32[$0+12>>2]|0; - ;HEAP8[$$byval_copy24>>0]=HEAP8[$1>>0]|0;HEAP8[$$byval_copy24+1>>0]=HEAP8[$1+1>>0]|0;HEAP8[$$byval_copy24+2>>0]=HEAP8[$1+2>>0]|0;HEAP8[$$byval_copy24+3>>0]=HEAP8[$1+3>>0]|0; - _DrawRectangleBordersRec($$byval_copy20,0,0,60,$$byval_copy24); - $26 = (_GetScreenWidth()|0); - $27 = (($26|0) / 2)&-1; - $28 = (_MeasureText(9281,30)|0); - $29 = (($28|0) / 2)&-1; - $30 = (($27) - ($29))|0; - HEAP8[$3>>0] = -126; - $31 = ((($3)) + 1|0); - HEAP8[$31>>0] = -126; - $32 = ((($3)) + 2|0); - HEAP8[$32>>0] = -126; - $33 = ((($3)) + 3|0); - HEAP8[$33>>0] = -1; - ;HEAP8[$$byval_copy24>>0]=HEAP8[$3>>0]|0;HEAP8[$$byval_copy24+1>>0]=HEAP8[$3+1>>0]|0;HEAP8[$$byval_copy24+2>>0]=HEAP8[$3+2>>0]|0;HEAP8[$$byval_copy24+3>>0]=HEAP8[$3+3>>0]|0; - _DrawText(9281,$30,20,30,$$byval_copy24); - $34 = HEAP32[688>>2]|0; - HEAP32[$vararg_buffer>>2] = $34; - $35 = (_FormatText(9392,$vararg_buffer)|0); - $36 = (_GetScreenWidth()|0); - $37 = (($36|0) / 2)&-1; - $38 = (_MeasureText(9414,30)|0); - $39 = (($38|0) / 2)&-1; - $40 = (($37) - ($39))|0; - $41 = (_GetScreenHeight()|0); - $42 = (($41) + -40)|0; - HEAP8[$4>>0] = -126; - $43 = ((($4)) + 1|0); - HEAP8[$43>>0] = -126; - $44 = ((($4)) + 2|0); - HEAP8[$44>>0] = -126; - $45 = ((($4)) + 3|0); - HEAP8[$45>>0] = -1; - ;HEAP8[$$byval_copy24>>0]=HEAP8[$4>>0]|0;HEAP8[$$byval_copy24+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$$byval_copy24+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$$byval_copy24+3>>0]=HEAP8[$4+3>>0]|0; - _DrawText($35,$40,$42,30,$$byval_copy24); - STACKTOP = sp;return; - } -} -function _UnloadLevel05Screen() { - var label = 0, sp = 0; - sp = STACKTOP; - return; -} -function _FinishLevel05Screen() { - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[628>>2]|0; - return ($0|0); -} -function _CheckColor111($col1,$col2) { - $col1 = $col1|0; - $col2 = $col2|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; - var label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP8[$col1>>0]|0; - $1 = HEAP8[$col2>>0]|0; - $2 = ($0<<24>>24)==($1<<24>>24); - if (!($2)) { - $19 = 0; - $18 = $19&1; - return ($18|0); - } - $3 = ((($col1)) + 1|0); - $4 = HEAP8[$3>>0]|0; - $5 = ((($col2)) + 1|0); - $6 = HEAP8[$5>>0]|0; - $7 = ($4<<24>>24)==($6<<24>>24); - if (!($7)) { - $19 = 0; - $18 = $19&1; - return ($18|0); - } - $8 = ((($col1)) + 2|0); - $9 = HEAP8[$8>>0]|0; - $10 = ((($col2)) + 2|0); - $11 = HEAP8[$10>>0]|0; - $12 = ($9<<24>>24)==($11<<24>>24); - if (!($12)) { - $19 = 0; - $18 = $19&1; - return ($18|0); - } - $13 = ((($col1)) + 3|0); - $14 = HEAP8[$13>>0]|0; - $15 = ((($col2)) + 3|0); - $16 = HEAP8[$15>>0]|0; - $17 = ($14<<24>>24)==($16<<24>>24); - $19 = $17; - $18 = $19&1; - return ($18|0); -} -function _InitLevel06Screen() { - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - HEAP32[692>>2] = 0; - HEAP32[696>>2] = 0; - $0 = (_GetScreenWidth()|0); - $1 = (($0|0) / 2)&-1; - $2 = (($1) + -100)|0; - $3 = (_GetScreenHeight()|0); - HEAP32[700>>2] = $2; - HEAP32[(704)>>2] = 0; - HEAP32[(708)>>2] = 200; - HEAP32[(712)>>2] = $3; - $4 = (_GetRandomValue(0,5)|0); - $5 = ($4*150)|0; - HEAP32[716>>2] = $5; - HEAP32[(720)>>2] = 90; - HEAP32[(724)>>2] = 100; - HEAP32[(728)>>2] = 100; - HEAP32[780>>2] = 0; - $6 = (_GetRandomValue(4,8)|0); - HEAP32[796>>2] = $6; - $7 = (_GetRandomValue(0,5)|0); - $8 = ($7*150)|0; - HEAP32[(732)>>2] = $8; - HEAP32[(736)>>2] = 240; - HEAP32[(740)>>2] = 100; - HEAP32[(744)>>2] = 100; - HEAP32[(784)>>2] = 0; - $9 = (_GetRandomValue(4,8)|0); - HEAP32[(800)>>2] = $9; - $10 = (_GetRandomValue(0,5)|0); - $11 = ($10*150)|0; - HEAP32[(748)>>2] = $11; - HEAP32[(752)>>2] = 390; - HEAP32[(756)>>2] = 100; - HEAP32[(760)>>2] = 100; - HEAP32[(788)>>2] = 0; - $12 = (_GetRandomValue(4,8)|0); - HEAP32[(804)>>2] = $12; - $13 = (_GetRandomValue(0,5)|0); - $14 = ($13*150)|0; - HEAP32[(764)>>2] = $14; - HEAP32[(768)>>2] = 540; - HEAP32[(772)>>2] = 100; - HEAP32[(776)>>2] = 100; - HEAP32[(792)>>2] = 0; - $15 = (_GetRandomValue(4,8)|0); - HEAP32[(808)>>2] = $15; - return; -} -function _UpdateLevel06Screen() { - var $$byval_copy = 0, $$pr = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; - var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0; - var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0; - var $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $8 = 0, $9 = 0, $exitcond = 0, $i$03 = 0, $levelWin$byval_copy = 0, $or$cond = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $levelWin$byval_copy = sp + 16|0; - $$byval_copy = sp; - $0 = sp + 8|0; - $1 = HEAP32[692>>2]|0; - $2 = (($1) + 1)|0; - HEAP32[692>>2] = $2; - $3 = HEAP32[812>>2]|0; - $4 = ($3|0)==(0); - if ($4) { - $i$03 = 0; - L2: while(1) { - $5 = (780 + ($i$03<<2)|0); - $6 = HEAP32[$5>>2]|0; - $7 = ($6|0)==(0); - if ($7) { - $8 = (796 + ($i$03<<2)|0); - $9 = HEAP32[$8>>2]|0; - $10 = (716 + ($i$03<<4)|0); - $11 = HEAP32[$10>>2]|0; - $12 = (($11) + ($9))|0; - HEAP32[$10>>2] = $12; - } - $13 = (716 + ($i$03<<4)|0); - $14 = HEAP32[$13>>2]|0; - $15 = (_GetScreenWidth()|0); - $16 = ($14|0)<($15|0); - if (!($16)) { - $17 = (((716 + ($i$03<<4)|0)) + 8|0); - $18 = HEAP32[$17>>2]|0; - $19 = (0 - ($18))|0; - HEAP32[$13>>2] = $19; - } - _GetMousePosition($0); - ;HEAP32[$$byval_copy>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$0+4>>2]|0; - ;HEAP32[$levelWin$byval_copy>>2]=HEAP32[$13>>2]|0;HEAP32[$levelWin$byval_copy+4>>2]=HEAP32[$13+4>>2]|0;HEAP32[$levelWin$byval_copy+8>>2]=HEAP32[$13+8>>2]|0;HEAP32[$levelWin$byval_copy+12>>2]=HEAP32[$13+12>>2]|0; - $20 = (_CheckCollisionPointRec($$byval_copy,$levelWin$byval_copy)|0); - $21 = ($20|0)==(0); - L10: do { - if (!($21)) { - $22 = (_IsMouseButtonPressed(0)|0); - $23 = ($22|0)==(0); - if (!($23)) { - switch ($i$03|0) { - case 3: { - label = 12; - break L2; - break; - } - case 0: { - $24 = HEAP32[(792)>>2]|0; - $25 = ($24|0)==(0); - $26 = $25&1; - HEAP32[(792)>>2] = $26; - break; - } - case 1: { - $27 = HEAP32[(788)>>2]|0; - $28 = ($27|0)==(0); - $29 = $28&1; - HEAP32[(788)>>2] = $29; - break; - } - case 2: { - $30 = HEAP32[780>>2]|0; - $31 = ($30|0)==(0); - $32 = $31&1; - HEAP32[780>>2] = $32; - break; - } - default: { - break L10; - } - } - $36 = (($i$03) + 1)|0; - $i$03 = $36; - continue L2; - } - } - } while(0); - $37 = (($i$03) + 1)|0; - $exitcond = ($37|0)==(4); - if ($exitcond) { - break; - } else { - $i$03 = $37; - } - } - if ((label|0) == 12) { - $33 = HEAP32[(784)>>2]|0; - $34 = ($33|0)==(0); - $35 = $34&1; - HEAP32[(784)>>2] = $35; - } - $38 = HEAP32[716>>2]|0; - $39 = HEAP32[700>>2]|0; - $40 = ($38|0)>($39|0); - if ($40) { - $41 = HEAP32[(724)>>2]|0; - $42 = (($41) + ($38))|0; - $43 = HEAP32[(708)>>2]|0; - $44 = (($43) + ($39))|0; - $45 = ($42|0)<($44|0); - if ($45) { - $46 = HEAP32[(732)>>2]|0; - $47 = ($46|0)>($39|0); - if ($47) { - $48 = HEAP32[(740)>>2]|0; - $49 = (($48) + ($46))|0; - $50 = ($49|0)<($44|0); - if ($50) { - $51 = HEAP32[(748)>>2]|0; - $52 = ($51|0)>($39|0); - if ($52) { - $53 = HEAP32[(756)>>2]|0; - $54 = (($53) + ($51))|0; - $55 = ($54|0)<($44|0); - if ($55) { - $56 = HEAP32[(764)>>2]|0; - $57 = ($56|0)>($39|0); - if ($57) { - $58 = HEAP32[(772)>>2]|0; - $59 = (($58) + ($56))|0; - $60 = ($59|0)<($44|0); - if ($60) { - HEAP32[812>>2] = 1; - ;HEAP32[$levelWin$byval_copy>>2]=HEAP32[176>>2]|0;HEAP32[$levelWin$byval_copy+4>>2]=HEAP32[176+4>>2]|0; - _PlaySound($levelWin$byval_copy); - } - } - } - } - } - } - } - } - } - $61 = HEAP32[812>>2]|0; - $62 = ($61|0)==(0); - $63 = HEAP32[816>>2]|0; - $64 = ($63|0)!=(0); - $or$cond = $62 | $64; - if (!($or$cond)) { - $65 = HEAP32[692>>2]|0; - $66 = (($65|0) / 60)&-1; - HEAP32[820>>2] = $66; - HEAP32[816>>2] = 1; - HEAP32[692>>2] = 1; - STACKTOP = sp;return; - } - $67 = ($63|0)==(0); - if ($67) { - STACKTOP = sp;return; - } - $$pr = HEAP32[692>>2]|0; - $68 = (($$pr) + 1)|0; - HEAP32[692>>2] = $68; - $69 = ($$pr|0)>(89); - if (!($69)) { - STACKTOP = sp;return; - } - $70 = (_IsMouseButtonPressed(0)|0); - $71 = ($70|0)==(0); - if ($71) { - STACKTOP = sp;return; - } - HEAP32[696>>2] = 1; - STACKTOP = sp;return; -} -function _DrawLevel06Screen() { - var $$byval_copy11 = 0, $$byval_copy15 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; - var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0; - var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 80|0; - $$byval_copy15 = sp + 72|0; - $$byval_copy11 = sp + 24|0; - $vararg_buffer = sp; - $0 = sp + 68|0; - $1 = sp + 64|0; - $2 = sp + 60|0; - $3 = sp + 8|0; - $4 = sp + 56|0; - $5 = sp + 52|0; - $6 = sp + 48|0; - $7 = sp + 44|0; - $8 = sp + 40|0; - HEAP8[$1>>0] = -56; - $9 = ((($1)) + 1|0); - HEAP8[$9>>0] = -56; - $10 = ((($1)) + 2|0); - HEAP8[$10>>0] = -56; - $11 = ((($1)) + 3|0); - HEAP8[$11>>0] = -1; - ;HEAP8[$$byval_copy15>>0]=HEAP8[$1>>0]|0;HEAP8[$$byval_copy15+1>>0]=HEAP8[$1+1>>0]|0;HEAP8[$$byval_copy15+2>>0]=HEAP8[$1+2>>0]|0;HEAP8[$$byval_copy15+3>>0]=HEAP8[$1+3>>0]|0; - _Fade($0,$$byval_copy15,0.60000002384185791); - ;HEAP32[$$byval_copy11>>2]=HEAP32[700>>2]|0;HEAP32[$$byval_copy11+4>>2]=HEAP32[700+4>>2]|0;HEAP32[$$byval_copy11+8>>2]=HEAP32[700+8>>2]|0;HEAP32[$$byval_copy11+12>>2]=HEAP32[700+12>>2]|0; - ;HEAP8[$$byval_copy15>>0]=HEAP8[$0>>0]|0;HEAP8[$$byval_copy15+1>>0]=HEAP8[$0+1>>0]|0;HEAP8[$$byval_copy15+2>>0]=HEAP8[$0+2>>0]|0;HEAP8[$$byval_copy15+3>>0]=HEAP8[$0+3>>0]|0; - _DrawRectangleRec($$byval_copy11,$$byval_copy15); - $12 = ((($2)) + 1|0); - $13 = ((($2)) + 2|0); - $14 = ((($2)) + 3|0); - HEAP8[$2>>0] = -126; - HEAP8[$12>>0] = -126; - HEAP8[$13>>0] = -126; - HEAP8[$14>>0] = -1; - ;HEAP32[$$byval_copy11>>2]=HEAP32[716>>2]|0;HEAP32[$$byval_copy11+4>>2]=HEAP32[716+4>>2]|0;HEAP32[$$byval_copy11+8>>2]=HEAP32[716+8>>2]|0;HEAP32[$$byval_copy11+12>>2]=HEAP32[716+12>>2]|0; - ;HEAP8[$$byval_copy15>>0]=HEAP8[$2>>0]|0;HEAP8[$$byval_copy15+1>>0]=HEAP8[$2+1>>0]|0;HEAP8[$$byval_copy15+2>>0]=HEAP8[$2+2>>0]|0;HEAP8[$$byval_copy15+3>>0]=HEAP8[$2+3>>0]|0; - _DrawRectangleRec($$byval_copy11,$$byval_copy15); - HEAP8[$2>>0] = -126; - HEAP8[$12>>0] = -126; - HEAP8[$13>>0] = -126; - HEAP8[$14>>0] = -1; - ;HEAP32[$$byval_copy11>>2]=HEAP32[(732)>>2]|0;HEAP32[$$byval_copy11+4>>2]=HEAP32[(732)+4>>2]|0;HEAP32[$$byval_copy11+8>>2]=HEAP32[(732)+8>>2]|0;HEAP32[$$byval_copy11+12>>2]=HEAP32[(732)+12>>2]|0; - ;HEAP8[$$byval_copy15>>0]=HEAP8[$2>>0]|0;HEAP8[$$byval_copy15+1>>0]=HEAP8[$2+1>>0]|0;HEAP8[$$byval_copy15+2>>0]=HEAP8[$2+2>>0]|0;HEAP8[$$byval_copy15+3>>0]=HEAP8[$2+3>>0]|0; - _DrawRectangleRec($$byval_copy11,$$byval_copy15); - HEAP8[$2>>0] = -126; - HEAP8[$12>>0] = -126; - HEAP8[$13>>0] = -126; - HEAP8[$14>>0] = -1; - ;HEAP32[$$byval_copy11>>2]=HEAP32[(748)>>2]|0;HEAP32[$$byval_copy11+4>>2]=HEAP32[(748)+4>>2]|0;HEAP32[$$byval_copy11+8>>2]=HEAP32[(748)+8>>2]|0;HEAP32[$$byval_copy11+12>>2]=HEAP32[(748)+12>>2]|0; - ;HEAP8[$$byval_copy15>>0]=HEAP8[$2>>0]|0;HEAP8[$$byval_copy15+1>>0]=HEAP8[$2+1>>0]|0;HEAP8[$$byval_copy15+2>>0]=HEAP8[$2+2>>0]|0;HEAP8[$$byval_copy15+3>>0]=HEAP8[$2+3>>0]|0; - _DrawRectangleRec($$byval_copy11,$$byval_copy15); - HEAP8[$2>>0] = -126; - HEAP8[$12>>0] = -126; - HEAP8[$13>>0] = -126; - HEAP8[$14>>0] = -1; - ;HEAP32[$$byval_copy11>>2]=HEAP32[(764)>>2]|0;HEAP32[$$byval_copy11+4>>2]=HEAP32[(764)+4>>2]|0;HEAP32[$$byval_copy11+8>>2]=HEAP32[(764)+8>>2]|0;HEAP32[$$byval_copy11+12>>2]=HEAP32[(764)+12>>2]|0; - ;HEAP8[$$byval_copy15>>0]=HEAP8[$2>>0]|0;HEAP8[$$byval_copy15+1>>0]=HEAP8[$2+1>>0]|0;HEAP8[$$byval_copy15+2>>0]=HEAP8[$2+2>>0]|0;HEAP8[$$byval_copy15+3>>0]=HEAP8[$2+3>>0]|0; - _DrawRectangleRec($$byval_copy11,$$byval_copy15); - $15 = HEAP32[816>>2]|0; - $16 = ($15|0)==(0); - $17 = (_GetScreenWidth()|0); - if ($16) { - $45 = (($17|0) / 2)&-1; - $46 = (_MeasureText(9290,30)|0); - $47 = (($46|0) / 2)&-1; - $48 = (($45) - ($47))|0; - HEAP8[$8>>0] = -56; - $49 = ((($8)) + 1|0); - HEAP8[$49>>0] = -56; - $50 = ((($8)) + 2|0); - HEAP8[$50>>0] = -56; - $51 = ((($8)) + 3|0); - HEAP8[$51>>0] = -1; - ;HEAP8[$$byval_copy15>>0]=HEAP8[$8>>0]|0;HEAP8[$$byval_copy15+1>>0]=HEAP8[$8+1>>0]|0;HEAP8[$$byval_copy15+2>>0]=HEAP8[$8+2>>0]|0;HEAP8[$$byval_copy15+3>>0]=HEAP8[$8+3>>0]|0; - _DrawText(9290,$48,20,30,$$byval_copy15); - STACKTOP = sp;return; - } else { - $18 = (_GetScreenHeight()|0); - HEAP32[$3>>2] = 0; - $19 = ((($3)) + 4|0); - HEAP32[$19>>2] = 0; - $20 = ((($3)) + 8|0); - HEAP32[$20>>2] = $17; - $21 = ((($3)) + 12|0); - HEAP32[$21>>2] = $18; - HEAP8[$5>>0] = -56; - $22 = ((($5)) + 1|0); - HEAP8[$22>>0] = -56; - $23 = ((($5)) + 2|0); - HEAP8[$23>>0] = -56; - $24 = ((($5)) + 3|0); - HEAP8[$24>>0] = -1; - ;HEAP8[$$byval_copy15>>0]=HEAP8[$5>>0]|0;HEAP8[$$byval_copy15+1>>0]=HEAP8[$5+1>>0]|0;HEAP8[$$byval_copy15+2>>0]=HEAP8[$5+2>>0]|0;HEAP8[$$byval_copy15+3>>0]=HEAP8[$5+3>>0]|0; - _Fade($4,$$byval_copy15,0.60000002384185791); - ;HEAP32[$$byval_copy11>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy11+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$$byval_copy11+8>>2]=HEAP32[$3+8>>2]|0;HEAP32[$$byval_copy11+12>>2]=HEAP32[$3+12>>2]|0; - ;HEAP8[$$byval_copy15>>0]=HEAP8[$4>>0]|0;HEAP8[$$byval_copy15+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$$byval_copy15+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$$byval_copy15+3>>0]=HEAP8[$4+3>>0]|0; - _DrawRectangleBordersRec($$byval_copy11,0,0,60,$$byval_copy15); - $25 = (_GetScreenWidth()|0); - $26 = (($25|0) / 2)&-1; - $27 = (_MeasureText(9290,30)|0); - $28 = (($27|0) / 2)&-1; - $29 = (($26) - ($28))|0; - HEAP8[$6>>0] = -126; - $30 = ((($6)) + 1|0); - HEAP8[$30>>0] = -126; - $31 = ((($6)) + 2|0); - HEAP8[$31>>0] = -126; - $32 = ((($6)) + 3|0); - HEAP8[$32>>0] = -1; - ;HEAP8[$$byval_copy15>>0]=HEAP8[$6>>0]|0;HEAP8[$$byval_copy15+1>>0]=HEAP8[$6+1>>0]|0;HEAP8[$$byval_copy15+2>>0]=HEAP8[$6+2>>0]|0;HEAP8[$$byval_copy15+3>>0]=HEAP8[$6+3>>0]|0; - _DrawText(9290,$29,20,30,$$byval_copy15); - $33 = HEAP32[820>>2]|0; - HEAP32[$vararg_buffer>>2] = $33; - $34 = (_FormatText(9392,$vararg_buffer)|0); - $35 = (_GetScreenWidth()|0); - $36 = (($35|0) / 2)&-1; - $37 = (_MeasureText(9414,30)|0); - $38 = (($37|0) / 2)&-1; - $39 = (($36) - ($38))|0; - $40 = (_GetScreenHeight()|0); - $41 = (($40) + -40)|0; - HEAP8[$7>>0] = -126; - $42 = ((($7)) + 1|0); - HEAP8[$42>>0] = -126; - $43 = ((($7)) + 2|0); - HEAP8[$43>>0] = -126; - $44 = ((($7)) + 3|0); - HEAP8[$44>>0] = -1; - ;HEAP8[$$byval_copy15>>0]=HEAP8[$7>>0]|0;HEAP8[$$byval_copy15+1>>0]=HEAP8[$7+1>>0]|0;HEAP8[$$byval_copy15+2>>0]=HEAP8[$7+2>>0]|0;HEAP8[$$byval_copy15+3>>0]=HEAP8[$7+3>>0]|0; - _DrawText($34,$39,$41,30,$$byval_copy15); - STACKTOP = sp;return; - } -} -function _UnloadLevel06Screen() { - var label = 0, sp = 0; - sp = STACKTOP; - return; -} -function _FinishLevel06Screen() { - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[696>>2]|0; - return ($0|0); -} -function _InitLevel07Screen() { - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $i$09 = 0, label = 0, sp = 0; - sp = STACKTOP; - HEAP32[824>>2] = 0; - HEAP32[828>>2] = 0; - $i$09 = 0; - while(1) { - $0 = (_GetScreenWidth()|0); - $1 = (($0|0) / 7)&-1; - $2 = (($i$09|0) % 7)&-1; - $3 = Math_imul($2, $1)|0; - $4 = (832 + ($i$09<<4)|0); - HEAP32[$4>>2] = $3; - $5 = (_GetScreenHeight()|0); - $6 = (($5|0) / 3)&-1; - $7 = (($i$09|0) / 7)&-1; - $8 = Math_imul($7, $6)|0; - $9 = (((832 + ($i$09<<4)|0)) + 4|0); - HEAP32[$9>>2] = $8; - $10 = (_GetScreenWidth()|0); - $11 = (($10|0) / 7)&-1; - $12 = (((832 + ($i$09<<4)|0)) + 8|0); - HEAP32[$12>>2] = $11; - $13 = (_GetScreenHeight()|0); - $14 = (($13|0) / 3)&-1; - $15 = (((832 + ($i$09<<4)|0)) + 12|0); - HEAP32[$15>>2] = $14; - $16 = (1168 + ($i$09<<2)|0); - HEAP32[$16>>2] = 0; - $17 = $i$09 & 1; - $18 = ($17|0)==(0); - $19 = (9299 + ($i$09<<2)|0); - if ($18) { - HEAP8[$19>>0] = -11; - $20 = (((9299 + ($i$09<<2)|0)) + 1|0); - HEAP8[$20>>0] = -11; - $21 = (((9299 + ($i$09<<2)|0)) + 2|0); - HEAP8[$21>>0] = -11; - $22 = (((9299 + ($i$09<<2)|0)) + 3|0); - HEAP8[$22>>0] = -1; - } else { - HEAP8[$19>>0] = -126; - $23 = (((9299 + ($i$09<<2)|0)) + 1|0); - HEAP8[$23>>0] = -126; - $24 = (((9299 + ($i$09<<2)|0)) + 2|0); - HEAP8[$24>>0] = -126; - $25 = (((9299 + ($i$09<<2)|0)) + 3|0); - HEAP8[$25>>0] = -1; - } - $26 = (($i$09) + 1)|0; - $exitcond = ($26|0)==(21); - if ($exitcond) { - break; - } else { - $i$09 = $26; - } - } - HEAP8[(9339)>>0] = -56; - HEAP8[(9340)>>0] = -56; - HEAP8[(9341)>>0] = -56; - HEAP8[(9342)>>0] = -1; - return; -} -function _UpdateLevel07Screen() { - var $$byval_copy4 = 0, $$pr = 0, $$pr33 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; - var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; - var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0; - var $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $8 = 0, $9 = 0; - var $exitcond = 0, $exitcond42 = 0, $i$040 = 0, $i2$038 = 0, $i3$037 = 0, $levelWin$byval_copy = 0, $or$cond = 0, $or$cond3 = 0, dest = 0, label = 0, sp = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $levelWin$byval_copy = sp + 16|0; - $$byval_copy4 = sp; - $0 = sp + 8|0; - $1 = sp + 36|0; - $2 = sp + 32|0; - $3 = HEAP32[824>>2]|0; - $4 = (($3) + 1)|0; - HEAP32[824>>2] = $4; - $5 = HEAP32[1252>>2]|0; - $6 = ($5|0)==(0); - if (!($6)) { - $7 = HEAP32[1256>>2]|0; - $8 = (($7) + 1)|0; - HEAP32[1256>>2] = $8; - } - $9 = HEAP32[1260>>2]|0; - $10 = ($9|0)==(0); - do { - if ($10) { - $11 = (_IsMouseButtonPressed(0)|0); - $12 = ($11|0)==(0); - if (!($12)) { - $13 = ((($1)) + 1|0); - $14 = ((($1)) + 2|0); - $15 = ((($1)) + 3|0); - $i$040 = 0; - L8: while(1) { - _GetMousePosition($0); - $16 = (832 + ($i$040<<4)|0); - ;HEAP32[$$byval_copy4>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$0+4>>2]|0; - ;HEAP32[$levelWin$byval_copy>>2]=HEAP32[$16>>2]|0;HEAP32[$levelWin$byval_copy+4>>2]=HEAP32[$16+4>>2]|0;HEAP32[$levelWin$byval_copy+8>>2]=HEAP32[$16+8>>2]|0;HEAP32[$levelWin$byval_copy+12>>2]=HEAP32[$16+12>>2]|0; - $17 = (_CheckCollisionPointRec($$byval_copy4,$levelWin$byval_copy)|0); - $18 = ($17|0)==(0); - L10: do { - if (!($18)) { - $19 = ($i$040|0)==(10); - do { - if ($19) { - $20 = (9299 + ($i$040<<2)|0); - HEAP8[$1>>0] = -56; - HEAP8[$13>>0] = -56; - HEAP8[$14>>0] = -56; - HEAP8[$15>>0] = -1; - ;HEAP8[$$byval_copy4>>0]=HEAP8[$20>>0]|0;HEAP8[$$byval_copy4+1>>0]=HEAP8[$20+1>>0]|0;HEAP8[$$byval_copy4+2>>0]=HEAP8[$20+2>>0]|0;HEAP8[$$byval_copy4+3>>0]=HEAP8[$20+3>>0]|0; - ;HEAP8[$levelWin$byval_copy>>0]=HEAP8[$1>>0]|0;HEAP8[$levelWin$byval_copy+1>>0]=HEAP8[$1+1>>0]|0;HEAP8[$levelWin$byval_copy+2>>0]=HEAP8[$1+2>>0]|0;HEAP8[$levelWin$byval_copy+3>>0]=HEAP8[$1+3>>0]|0; - $21 = (_CheckColor148($$byval_copy4,$levelWin$byval_copy)|0); - $22 = ($21|0)==(0); - if ($22) { - HEAP8[$20>>0] = -56; - $40 = (((9299 + ($i$040<<2)|0)) + 1|0); - HEAP8[$40>>0] = -56; - $41 = (((9299 + ($i$040<<2)|0)) + 2|0); - HEAP8[$41>>0] = -56; - $42 = (((9299 + ($i$040<<2)|0)) + 3|0); - HEAP8[$42>>0] = -1; - HEAP32[1252>>2] = 0; - HEAP32[1256>>2] = 300; - dest=1168; stop=dest+84|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - break; - } else { - HEAP8[$20>>0] = -11; - $23 = (((9299 + ($i$040<<2)|0)) + 1|0); - HEAP8[$23>>0] = -11; - $24 = (((9299 + ($i$040<<2)|0)) + 2|0); - HEAP8[$24>>0] = -11; - $25 = (((9299 + ($i$040<<2)|0)) + 3|0); - HEAP8[$25>>0] = -1; - HEAP32[1252>>2] = 1; - HEAP32[1256>>2] = 0; - HEAP32[(1172)>>2] = 1; - break; - } - } else { - $26 = (($i$040|0) % 2)&-1; - $27 = ($26|0)==(1); - $28 = HEAP32[1252>>2]|0; - $29 = ($28|0)!=(0); - $or$cond = $27 & $29; - if (!($or$cond)) { - break L10; - } - $30 = (1168 + ($i$040<<2)|0); - $31 = HEAP32[$30>>2]|0; - $32 = ($31|0)==(0); - if ($32) { - break L10; - } - $33 = (9299 + ($i$040<<2)|0); - HEAP8[$33>>0] = -11; - $34 = (((9299 + ($i$040<<2)|0)) + 1|0); - HEAP8[$34>>0] = -11; - $35 = (((9299 + ($i$040<<2)|0)) + 2|0); - HEAP8[$35>>0] = -11; - $36 = (((9299 + ($i$040<<2)|0)) + 3|0); - HEAP8[$36>>0] = -1; - $37 = ($i$040|0)==(19); - if (!($37)) { - $38 = (($i$040) + 2)|0; - $39 = (1168 + ($38<<2)|0); - HEAP32[$39>>2] = 1; - break L10; - } - } - } while(0); - $43 = (($i$040) + 1)|0; - $i$040 = $43; - continue L8; - } - } while(0); - $44 = (($i$040) + 1)|0; - $exitcond42 = ($44|0)==(21); - if ($exitcond42) { - break; - } else { - $i$040 = $44; - } - } - } - $45 = HEAP32[1256>>2]|0; - $46 = ($45|0)>(270); - if ($46) { - dest=1168; stop=dest+84|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - $i2$038 = 0; - while(1) { - $47 = $i2$038 & 1; - $48 = ($47|0)==(0); - $49 = (9299 + ($i2$038<<2)|0); - if ($48) { - HEAP8[$49>>0] = -11; - $50 = (((9299 + ($i2$038<<2)|0)) + 1|0); - HEAP8[$50>>0] = -11; - $51 = (((9299 + ($i2$038<<2)|0)) + 2|0); - HEAP8[$51>>0] = -11; - $52 = (((9299 + ($i2$038<<2)|0)) + 3|0); - HEAP8[$52>>0] = -1; - } else { - HEAP8[$49>>0] = -126; - $53 = (((9299 + ($i2$038<<2)|0)) + 1|0); - HEAP8[$53>>0] = -126; - $54 = (((9299 + ($i2$038<<2)|0)) + 2|0); - HEAP8[$54>>0] = -126; - $55 = (((9299 + ($i2$038<<2)|0)) + 3|0); - HEAP8[$55>>0] = -1; - } - $56 = (($i2$038) + 1)|0; - $exitcond = ($56|0)==(21); - if ($exitcond) { - break; - } else { - $i2$038 = $56; - } - } - HEAP8[(9339)>>0] = -56; - HEAP8[(9340)>>0] = -56; - HEAP8[(9341)>>0] = -56; - HEAP8[(9342)>>0] = -1; - HEAP32[1252>>2] = 0; - HEAP32[1256>>2] = 0; - } - HEAP32[1260>>2] = 1; - $57 = ((($2)) + 1|0); - $58 = ((($2)) + 2|0); - $59 = ((($2)) + 3|0); - $i3$037 = 0; - while(1) { - $62 = (9299 + ($i3$037<<2)|0); - HEAP8[$2>>0] = -11; - HEAP8[$57>>0] = -11; - HEAP8[$58>>0] = -11; - HEAP8[$59>>0] = -1; - ;HEAP8[$$byval_copy4>>0]=HEAP8[$62>>0]|0;HEAP8[$$byval_copy4+1>>0]=HEAP8[$62+1>>0]|0;HEAP8[$$byval_copy4+2>>0]=HEAP8[$62+2>>0]|0;HEAP8[$$byval_copy4+3>>0]=HEAP8[$62+3>>0]|0; - ;HEAP8[$levelWin$byval_copy>>0]=HEAP8[$2>>0]|0;HEAP8[$levelWin$byval_copy+1>>0]=HEAP8[$2+1>>0]|0;HEAP8[$levelWin$byval_copy+2>>0]=HEAP8[$2+2>>0]|0;HEAP8[$levelWin$byval_copy+3>>0]=HEAP8[$2+3>>0]|0; - $63 = (_CheckColor148($$byval_copy4,$levelWin$byval_copy)|0); - $64 = ($63|0)==(0); - $60 = (($i3$037) + 1)|0; - if ($64) { - label = 27; - break; - } - $61 = ($60|0)<(21); - if ($61) { - $i3$037 = $60; - } else { - break; - } - } - if ((label|0) == 27) { - HEAP32[1260>>2] = 0; - break; - } - $$pr = HEAP32[1260>>2]|0; - $65 = ($$pr|0)==(0); - if (!($65)) { - ;HEAP32[$levelWin$byval_copy>>2]=HEAP32[176>>2]|0;HEAP32[$levelWin$byval_copy+4>>2]=HEAP32[176+4>>2]|0; - _PlaySound($levelWin$byval_copy); - } - } - } while(0); - $66 = HEAP32[1260>>2]|0; - $67 = ($66|0)==(0); - $68 = HEAP32[1264>>2]|0; - $69 = ($68|0)!=(0); - $or$cond3 = $67 | $69; - if (!($or$cond3)) { - $70 = HEAP32[824>>2]|0; - $71 = (($70|0) / 60)&-1; - HEAP32[1268>>2] = $71; - HEAP32[1264>>2] = 1; - HEAP32[824>>2] = 1; - STACKTOP = sp;return; - } - $72 = ($68|0)==(0); - if ($72) { - STACKTOP = sp;return; - } - $$pr33 = HEAP32[824>>2]|0; - $73 = (($$pr33) + 1)|0; - HEAP32[824>>2] = $73; - $74 = ($$pr33|0)>(89); - if (!($74)) { - STACKTOP = sp;return; - } - $75 = (_IsMouseButtonPressed(0)|0); - $76 = ($75|0)==(0); - if ($76) { - STACKTOP = sp;return; - } - HEAP32[828>>2] = 1; - STACKTOP = sp;return; -} -function _DrawLevel07Screen() { - var $$byval_copy43 = 0, $$byval_copy47 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; - var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0; - var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; - $$byval_copy47 = sp + 60|0; - $$byval_copy43 = sp + 8|0; - $vararg_buffer = sp; - $0 = sp + 24|0; - $1 = sp + 56|0; - $2 = sp + 52|0; - $3 = sp + 48|0; - $4 = sp + 44|0; - $5 = sp + 40|0; - ;HEAP32[$$byval_copy43>>2]=HEAP32[832>>2]|0;HEAP32[$$byval_copy43+4>>2]=HEAP32[832+4>>2]|0;HEAP32[$$byval_copy43+8>>2]=HEAP32[832+8>>2]|0;HEAP32[$$byval_copy43+12>>2]=HEAP32[832+12>>2]|0; - ;HEAP8[$$byval_copy47>>0]=HEAP8[9299>>0]|0;HEAP8[$$byval_copy47+1>>0]=HEAP8[9299+1>>0]|0;HEAP8[$$byval_copy47+2>>0]=HEAP8[9299+2>>0]|0;HEAP8[$$byval_copy47+3>>0]=HEAP8[9299+3>>0]|0; - _DrawRectangleRec($$byval_copy43,$$byval_copy47); - ;HEAP32[$$byval_copy43>>2]=HEAP32[(848)>>2]|0;HEAP32[$$byval_copy43+4>>2]=HEAP32[(848)+4>>2]|0;HEAP32[$$byval_copy43+8>>2]=HEAP32[(848)+8>>2]|0;HEAP32[$$byval_copy43+12>>2]=HEAP32[(848)+12>>2]|0; - ;HEAP8[$$byval_copy47>>0]=HEAP8[(9303)>>0]|0;HEAP8[$$byval_copy47+1>>0]=HEAP8[(9303)+1>>0]|0;HEAP8[$$byval_copy47+2>>0]=HEAP8[(9303)+2>>0]|0;HEAP8[$$byval_copy47+3>>0]=HEAP8[(9303)+3>>0]|0; - _DrawRectangleRec($$byval_copy43,$$byval_copy47); - ;HEAP32[$$byval_copy43>>2]=HEAP32[(864)>>2]|0;HEAP32[$$byval_copy43+4>>2]=HEAP32[(864)+4>>2]|0;HEAP32[$$byval_copy43+8>>2]=HEAP32[(864)+8>>2]|0;HEAP32[$$byval_copy43+12>>2]=HEAP32[(864)+12>>2]|0; - ;HEAP8[$$byval_copy47>>0]=HEAP8[(9307)>>0]|0;HEAP8[$$byval_copy47+1>>0]=HEAP8[(9307)+1>>0]|0;HEAP8[$$byval_copy47+2>>0]=HEAP8[(9307)+2>>0]|0;HEAP8[$$byval_copy47+3>>0]=HEAP8[(9307)+3>>0]|0; - _DrawRectangleRec($$byval_copy43,$$byval_copy47); - ;HEAP32[$$byval_copy43>>2]=HEAP32[(880)>>2]|0;HEAP32[$$byval_copy43+4>>2]=HEAP32[(880)+4>>2]|0;HEAP32[$$byval_copy43+8>>2]=HEAP32[(880)+8>>2]|0;HEAP32[$$byval_copy43+12>>2]=HEAP32[(880)+12>>2]|0; - ;HEAP8[$$byval_copy47>>0]=HEAP8[(9311)>>0]|0;HEAP8[$$byval_copy47+1>>0]=HEAP8[(9311)+1>>0]|0;HEAP8[$$byval_copy47+2>>0]=HEAP8[(9311)+2>>0]|0;HEAP8[$$byval_copy47+3>>0]=HEAP8[(9311)+3>>0]|0; - _DrawRectangleRec($$byval_copy43,$$byval_copy47); - ;HEAP32[$$byval_copy43>>2]=HEAP32[(896)>>2]|0;HEAP32[$$byval_copy43+4>>2]=HEAP32[(896)+4>>2]|0;HEAP32[$$byval_copy43+8>>2]=HEAP32[(896)+8>>2]|0;HEAP32[$$byval_copy43+12>>2]=HEAP32[(896)+12>>2]|0; - ;HEAP8[$$byval_copy47>>0]=HEAP8[(9315)>>0]|0;HEAP8[$$byval_copy47+1>>0]=HEAP8[(9315)+1>>0]|0;HEAP8[$$byval_copy47+2>>0]=HEAP8[(9315)+2>>0]|0;HEAP8[$$byval_copy47+3>>0]=HEAP8[(9315)+3>>0]|0; - _DrawRectangleRec($$byval_copy43,$$byval_copy47); - ;HEAP32[$$byval_copy43>>2]=HEAP32[(912)>>2]|0;HEAP32[$$byval_copy43+4>>2]=HEAP32[(912)+4>>2]|0;HEAP32[$$byval_copy43+8>>2]=HEAP32[(912)+8>>2]|0;HEAP32[$$byval_copy43+12>>2]=HEAP32[(912)+12>>2]|0; - ;HEAP8[$$byval_copy47>>0]=HEAP8[(9319)>>0]|0;HEAP8[$$byval_copy47+1>>0]=HEAP8[(9319)+1>>0]|0;HEAP8[$$byval_copy47+2>>0]=HEAP8[(9319)+2>>0]|0;HEAP8[$$byval_copy47+3>>0]=HEAP8[(9319)+3>>0]|0; - _DrawRectangleRec($$byval_copy43,$$byval_copy47); - ;HEAP32[$$byval_copy43>>2]=HEAP32[(928)>>2]|0;HEAP32[$$byval_copy43+4>>2]=HEAP32[(928)+4>>2]|0;HEAP32[$$byval_copy43+8>>2]=HEAP32[(928)+8>>2]|0;HEAP32[$$byval_copy43+12>>2]=HEAP32[(928)+12>>2]|0; - ;HEAP8[$$byval_copy47>>0]=HEAP8[(9323)>>0]|0;HEAP8[$$byval_copy47+1>>0]=HEAP8[(9323)+1>>0]|0;HEAP8[$$byval_copy47+2>>0]=HEAP8[(9323)+2>>0]|0;HEAP8[$$byval_copy47+3>>0]=HEAP8[(9323)+3>>0]|0; - _DrawRectangleRec($$byval_copy43,$$byval_copy47); - ;HEAP32[$$byval_copy43>>2]=HEAP32[(944)>>2]|0;HEAP32[$$byval_copy43+4>>2]=HEAP32[(944)+4>>2]|0;HEAP32[$$byval_copy43+8>>2]=HEAP32[(944)+8>>2]|0;HEAP32[$$byval_copy43+12>>2]=HEAP32[(944)+12>>2]|0; - ;HEAP8[$$byval_copy47>>0]=HEAP8[(9327)>>0]|0;HEAP8[$$byval_copy47+1>>0]=HEAP8[(9327)+1>>0]|0;HEAP8[$$byval_copy47+2>>0]=HEAP8[(9327)+2>>0]|0;HEAP8[$$byval_copy47+3>>0]=HEAP8[(9327)+3>>0]|0; - _DrawRectangleRec($$byval_copy43,$$byval_copy47); - ;HEAP32[$$byval_copy43>>2]=HEAP32[(960)>>2]|0;HEAP32[$$byval_copy43+4>>2]=HEAP32[(960)+4>>2]|0;HEAP32[$$byval_copy43+8>>2]=HEAP32[(960)+8>>2]|0;HEAP32[$$byval_copy43+12>>2]=HEAP32[(960)+12>>2]|0; - ;HEAP8[$$byval_copy47>>0]=HEAP8[(9331)>>0]|0;HEAP8[$$byval_copy47+1>>0]=HEAP8[(9331)+1>>0]|0;HEAP8[$$byval_copy47+2>>0]=HEAP8[(9331)+2>>0]|0;HEAP8[$$byval_copy47+3>>0]=HEAP8[(9331)+3>>0]|0; - _DrawRectangleRec($$byval_copy43,$$byval_copy47); - ;HEAP32[$$byval_copy43>>2]=HEAP32[(976)>>2]|0;HEAP32[$$byval_copy43+4>>2]=HEAP32[(976)+4>>2]|0;HEAP32[$$byval_copy43+8>>2]=HEAP32[(976)+8>>2]|0;HEAP32[$$byval_copy43+12>>2]=HEAP32[(976)+12>>2]|0; - ;HEAP8[$$byval_copy47>>0]=HEAP8[(9335)>>0]|0;HEAP8[$$byval_copy47+1>>0]=HEAP8[(9335)+1>>0]|0;HEAP8[$$byval_copy47+2>>0]=HEAP8[(9335)+2>>0]|0;HEAP8[$$byval_copy47+3>>0]=HEAP8[(9335)+3>>0]|0; - _DrawRectangleRec($$byval_copy43,$$byval_copy47); - ;HEAP32[$$byval_copy43>>2]=HEAP32[(992)>>2]|0;HEAP32[$$byval_copy43+4>>2]=HEAP32[(992)+4>>2]|0;HEAP32[$$byval_copy43+8>>2]=HEAP32[(992)+8>>2]|0;HEAP32[$$byval_copy43+12>>2]=HEAP32[(992)+12>>2]|0; - ;HEAP8[$$byval_copy47>>0]=HEAP8[(9339)>>0]|0;HEAP8[$$byval_copy47+1>>0]=HEAP8[(9339)+1>>0]|0;HEAP8[$$byval_copy47+2>>0]=HEAP8[(9339)+2>>0]|0;HEAP8[$$byval_copy47+3>>0]=HEAP8[(9339)+3>>0]|0; - _DrawRectangleRec($$byval_copy43,$$byval_copy47); - ;HEAP32[$$byval_copy43>>2]=HEAP32[(1008)>>2]|0;HEAP32[$$byval_copy43+4>>2]=HEAP32[(1008)+4>>2]|0;HEAP32[$$byval_copy43+8>>2]=HEAP32[(1008)+8>>2]|0;HEAP32[$$byval_copy43+12>>2]=HEAP32[(1008)+12>>2]|0; - ;HEAP8[$$byval_copy47>>0]=HEAP8[(9343)>>0]|0;HEAP8[$$byval_copy47+1>>0]=HEAP8[(9343)+1>>0]|0;HEAP8[$$byval_copy47+2>>0]=HEAP8[(9343)+2>>0]|0;HEAP8[$$byval_copy47+3>>0]=HEAP8[(9343)+3>>0]|0; - _DrawRectangleRec($$byval_copy43,$$byval_copy47); - ;HEAP32[$$byval_copy43>>2]=HEAP32[(1024)>>2]|0;HEAP32[$$byval_copy43+4>>2]=HEAP32[(1024)+4>>2]|0;HEAP32[$$byval_copy43+8>>2]=HEAP32[(1024)+8>>2]|0;HEAP32[$$byval_copy43+12>>2]=HEAP32[(1024)+12>>2]|0; - ;HEAP8[$$byval_copy47>>0]=HEAP8[(9347)>>0]|0;HEAP8[$$byval_copy47+1>>0]=HEAP8[(9347)+1>>0]|0;HEAP8[$$byval_copy47+2>>0]=HEAP8[(9347)+2>>0]|0;HEAP8[$$byval_copy47+3>>0]=HEAP8[(9347)+3>>0]|0; - _DrawRectangleRec($$byval_copy43,$$byval_copy47); - ;HEAP32[$$byval_copy43>>2]=HEAP32[(1040)>>2]|0;HEAP32[$$byval_copy43+4>>2]=HEAP32[(1040)+4>>2]|0;HEAP32[$$byval_copy43+8>>2]=HEAP32[(1040)+8>>2]|0;HEAP32[$$byval_copy43+12>>2]=HEAP32[(1040)+12>>2]|0; - ;HEAP8[$$byval_copy47>>0]=HEAP8[(9351)>>0]|0;HEAP8[$$byval_copy47+1>>0]=HEAP8[(9351)+1>>0]|0;HEAP8[$$byval_copy47+2>>0]=HEAP8[(9351)+2>>0]|0;HEAP8[$$byval_copy47+3>>0]=HEAP8[(9351)+3>>0]|0; - _DrawRectangleRec($$byval_copy43,$$byval_copy47); - ;HEAP32[$$byval_copy43>>2]=HEAP32[(1056)>>2]|0;HEAP32[$$byval_copy43+4>>2]=HEAP32[(1056)+4>>2]|0;HEAP32[$$byval_copy43+8>>2]=HEAP32[(1056)+8>>2]|0;HEAP32[$$byval_copy43+12>>2]=HEAP32[(1056)+12>>2]|0; - ;HEAP8[$$byval_copy47>>0]=HEAP8[(9355)>>0]|0;HEAP8[$$byval_copy47+1>>0]=HEAP8[(9355)+1>>0]|0;HEAP8[$$byval_copy47+2>>0]=HEAP8[(9355)+2>>0]|0;HEAP8[$$byval_copy47+3>>0]=HEAP8[(9355)+3>>0]|0; - _DrawRectangleRec($$byval_copy43,$$byval_copy47); - ;HEAP32[$$byval_copy43>>2]=HEAP32[(1072)>>2]|0;HEAP32[$$byval_copy43+4>>2]=HEAP32[(1072)+4>>2]|0;HEAP32[$$byval_copy43+8>>2]=HEAP32[(1072)+8>>2]|0;HEAP32[$$byval_copy43+12>>2]=HEAP32[(1072)+12>>2]|0; - ;HEAP8[$$byval_copy47>>0]=HEAP8[(9359)>>0]|0;HEAP8[$$byval_copy47+1>>0]=HEAP8[(9359)+1>>0]|0;HEAP8[$$byval_copy47+2>>0]=HEAP8[(9359)+2>>0]|0;HEAP8[$$byval_copy47+3>>0]=HEAP8[(9359)+3>>0]|0; - _DrawRectangleRec($$byval_copy43,$$byval_copy47); - ;HEAP32[$$byval_copy43>>2]=HEAP32[(1088)>>2]|0;HEAP32[$$byval_copy43+4>>2]=HEAP32[(1088)+4>>2]|0;HEAP32[$$byval_copy43+8>>2]=HEAP32[(1088)+8>>2]|0;HEAP32[$$byval_copy43+12>>2]=HEAP32[(1088)+12>>2]|0; - ;HEAP8[$$byval_copy47>>0]=HEAP8[(9363)>>0]|0;HEAP8[$$byval_copy47+1>>0]=HEAP8[(9363)+1>>0]|0;HEAP8[$$byval_copy47+2>>0]=HEAP8[(9363)+2>>0]|0;HEAP8[$$byval_copy47+3>>0]=HEAP8[(9363)+3>>0]|0; - _DrawRectangleRec($$byval_copy43,$$byval_copy47); - ;HEAP32[$$byval_copy43>>2]=HEAP32[(1104)>>2]|0;HEAP32[$$byval_copy43+4>>2]=HEAP32[(1104)+4>>2]|0;HEAP32[$$byval_copy43+8>>2]=HEAP32[(1104)+8>>2]|0;HEAP32[$$byval_copy43+12>>2]=HEAP32[(1104)+12>>2]|0; - ;HEAP8[$$byval_copy47>>0]=HEAP8[(9367)>>0]|0;HEAP8[$$byval_copy47+1>>0]=HEAP8[(9367)+1>>0]|0;HEAP8[$$byval_copy47+2>>0]=HEAP8[(9367)+2>>0]|0;HEAP8[$$byval_copy47+3>>0]=HEAP8[(9367)+3>>0]|0; - _DrawRectangleRec($$byval_copy43,$$byval_copy47); - ;HEAP32[$$byval_copy43>>2]=HEAP32[(1120)>>2]|0;HEAP32[$$byval_copy43+4>>2]=HEAP32[(1120)+4>>2]|0;HEAP32[$$byval_copy43+8>>2]=HEAP32[(1120)+8>>2]|0;HEAP32[$$byval_copy43+12>>2]=HEAP32[(1120)+12>>2]|0; - ;HEAP8[$$byval_copy47>>0]=HEAP8[(9371)>>0]|0;HEAP8[$$byval_copy47+1>>0]=HEAP8[(9371)+1>>0]|0;HEAP8[$$byval_copy47+2>>0]=HEAP8[(9371)+2>>0]|0;HEAP8[$$byval_copy47+3>>0]=HEAP8[(9371)+3>>0]|0; - _DrawRectangleRec($$byval_copy43,$$byval_copy47); - ;HEAP32[$$byval_copy43>>2]=HEAP32[(1136)>>2]|0;HEAP32[$$byval_copy43+4>>2]=HEAP32[(1136)+4>>2]|0;HEAP32[$$byval_copy43+8>>2]=HEAP32[(1136)+8>>2]|0;HEAP32[$$byval_copy43+12>>2]=HEAP32[(1136)+12>>2]|0; - ;HEAP8[$$byval_copy47>>0]=HEAP8[(9375)>>0]|0;HEAP8[$$byval_copy47+1>>0]=HEAP8[(9375)+1>>0]|0;HEAP8[$$byval_copy47+2>>0]=HEAP8[(9375)+2>>0]|0;HEAP8[$$byval_copy47+3>>0]=HEAP8[(9375)+3>>0]|0; - _DrawRectangleRec($$byval_copy43,$$byval_copy47); - ;HEAP32[$$byval_copy43>>2]=HEAP32[(1152)>>2]|0;HEAP32[$$byval_copy43+4>>2]=HEAP32[(1152)+4>>2]|0;HEAP32[$$byval_copy43+8>>2]=HEAP32[(1152)+8>>2]|0;HEAP32[$$byval_copy43+12>>2]=HEAP32[(1152)+12>>2]|0; - ;HEAP8[$$byval_copy47>>0]=HEAP8[(9379)>>0]|0;HEAP8[$$byval_copy47+1>>0]=HEAP8[(9379)+1>>0]|0;HEAP8[$$byval_copy47+2>>0]=HEAP8[(9379)+2>>0]|0;HEAP8[$$byval_copy47+3>>0]=HEAP8[(9379)+3>>0]|0; - _DrawRectangleRec($$byval_copy43,$$byval_copy47); - $6 = HEAP32[1264>>2]|0; - $7 = ($6|0)==(0); - $8 = (_GetScreenWidth()|0); - if ($7) { - $36 = (($8|0) / 2)&-1; - $37 = (_MeasureText(9383,30)|0); - $38 = (($37|0) / 2)&-1; - $39 = (($36) - ($38))|0; - HEAP8[$5>>0] = -56; - $40 = ((($5)) + 1|0); - HEAP8[$40>>0] = -56; - $41 = ((($5)) + 2|0); - HEAP8[$41>>0] = -56; - $42 = ((($5)) + 3|0); - HEAP8[$42>>0] = -1; - ;HEAP8[$$byval_copy47>>0]=HEAP8[$5>>0]|0;HEAP8[$$byval_copy47+1>>0]=HEAP8[$5+1>>0]|0;HEAP8[$$byval_copy47+2>>0]=HEAP8[$5+2>>0]|0;HEAP8[$$byval_copy47+3>>0]=HEAP8[$5+3>>0]|0; - _DrawText(9383,$39,20,30,$$byval_copy47); - STACKTOP = sp;return; - } else { - $9 = (_GetScreenHeight()|0); - HEAP32[$0>>2] = 0; - $10 = ((($0)) + 4|0); - HEAP32[$10>>2] = 0; - $11 = ((($0)) + 8|0); - HEAP32[$11>>2] = $8; - $12 = ((($0)) + 12|0); - HEAP32[$12>>2] = $9; - HEAP8[$2>>0] = -56; - $13 = ((($2)) + 1|0); - HEAP8[$13>>0] = -56; - $14 = ((($2)) + 2|0); - HEAP8[$14>>0] = -56; - $15 = ((($2)) + 3|0); - HEAP8[$15>>0] = -1; - ;HEAP8[$$byval_copy47>>0]=HEAP8[$2>>0]|0;HEAP8[$$byval_copy47+1>>0]=HEAP8[$2+1>>0]|0;HEAP8[$$byval_copy47+2>>0]=HEAP8[$2+2>>0]|0;HEAP8[$$byval_copy47+3>>0]=HEAP8[$2+3>>0]|0; - _Fade($1,$$byval_copy47,0.60000002384185791); - ;HEAP32[$$byval_copy43>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy43+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy43+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy43+12>>2]=HEAP32[$0+12>>2]|0; - ;HEAP8[$$byval_copy47>>0]=HEAP8[$1>>0]|0;HEAP8[$$byval_copy47+1>>0]=HEAP8[$1+1>>0]|0;HEAP8[$$byval_copy47+2>>0]=HEAP8[$1+2>>0]|0;HEAP8[$$byval_copy47+3>>0]=HEAP8[$1+3>>0]|0; - _DrawRectangleBordersRec($$byval_copy43,0,0,60,$$byval_copy47); - $16 = (_GetScreenWidth()|0); - $17 = (($16|0) / 2)&-1; - $18 = (_MeasureText(9383,30)|0); - $19 = (($18|0) / 2)&-1; - $20 = (($17) - ($19))|0; - HEAP8[$3>>0] = -126; - $21 = ((($3)) + 1|0); - HEAP8[$21>>0] = -126; - $22 = ((($3)) + 2|0); - HEAP8[$22>>0] = -126; - $23 = ((($3)) + 3|0); - HEAP8[$23>>0] = -1; - ;HEAP8[$$byval_copy47>>0]=HEAP8[$3>>0]|0;HEAP8[$$byval_copy47+1>>0]=HEAP8[$3+1>>0]|0;HEAP8[$$byval_copy47+2>>0]=HEAP8[$3+2>>0]|0;HEAP8[$$byval_copy47+3>>0]=HEAP8[$3+3>>0]|0; - _DrawText(9383,$20,20,30,$$byval_copy47); - $24 = HEAP32[1268>>2]|0; - HEAP32[$vararg_buffer>>2] = $24; - $25 = (_FormatText(9392,$vararg_buffer)|0); - $26 = (_GetScreenWidth()|0); - $27 = (($26|0) / 2)&-1; - $28 = (_MeasureText(9414,30)|0); - $29 = (($28|0) / 2)&-1; - $30 = (($27) - ($29))|0; - $31 = (_GetScreenHeight()|0); - $32 = (($31) + -40)|0; - HEAP8[$4>>0] = -126; - $33 = ((($4)) + 1|0); - HEAP8[$33>>0] = -126; - $34 = ((($4)) + 2|0); - HEAP8[$34>>0] = -126; - $35 = ((($4)) + 3|0); - HEAP8[$35>>0] = -1; - ;HEAP8[$$byval_copy47>>0]=HEAP8[$4>>0]|0;HEAP8[$$byval_copy47+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$$byval_copy47+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$$byval_copy47+3>>0]=HEAP8[$4+3>>0]|0; - _DrawText($25,$30,$32,30,$$byval_copy47); - STACKTOP = sp;return; - } -} -function _UnloadLevel07Screen() { - var label = 0, sp = 0; - sp = STACKTOP; - return; -} -function _FinishLevel07Screen() { - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[828>>2]|0; - return ($0|0); -} -function _CheckColor148($col1,$col2) { - $col1 = $col1|0; - $col2 = $col2|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; - var label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP8[$col1>>0]|0; - $1 = HEAP8[$col2>>0]|0; - $2 = ($0<<24>>24)==($1<<24>>24); - if (!($2)) { - $19 = 0; - $18 = $19&1; - return ($18|0); - } - $3 = ((($col1)) + 1|0); - $4 = HEAP8[$3>>0]|0; - $5 = ((($col2)) + 1|0); - $6 = HEAP8[$5>>0]|0; - $7 = ($4<<24>>24)==($6<<24>>24); - if (!($7)) { - $19 = 0; - $18 = $19&1; - return ($18|0); - } - $8 = ((($col1)) + 2|0); - $9 = HEAP8[$8>>0]|0; - $10 = ((($col2)) + 2|0); - $11 = HEAP8[$10>>0]|0; - $12 = ($9<<24>>24)==($11<<24>>24); - if (!($12)) { - $19 = 0; - $18 = $19&1; - return ($18|0); - } - $13 = ((($col1)) + 3|0); - $14 = HEAP8[$13>>0]|0; - $15 = ((($col2)) + 3|0); - $16 = HEAP8[$15>>0]|0; - $17 = ($14<<24>>24)==($16<<24>>24); - $19 = $17; - $18 = $19&1; - return ($18|0); -} -function _VectorLength($v) { - $v = $v|0; - var $0 = 0.0, $1 = 0.0, $2 = 0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0.0, $9 = 0.0, $sqrtf = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $0 = +HEAPF32[$v>>2]; - $1 = $0 * $0; - $2 = ((($v)) + 4|0); - $3 = +HEAPF32[$2>>2]; - $4 = $3 * $3; - $5 = $1 + $4; - $6 = ((($v)) + 8|0); - $7 = +HEAPF32[$6>>2]; - $8 = $7 * $7; - $9 = $5 + $8; - $sqrtf = (+Math_sqrt((+$9))); - return (+$sqrtf); -} -function _VectorNormalize($v) { - $v = $v|0; - var $$op = 0.0, $0 = 0.0, $1 = 0, $10 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0.0, $v$byval_copy = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $v$byval_copy = sp; - ;HEAP32[$v$byval_copy>>2]=HEAP32[$v>>2]|0;HEAP32[$v$byval_copy+4>>2]=HEAP32[$v+4>>2]|0;HEAP32[$v$byval_copy+8>>2]=HEAP32[$v+8>>2]|0; - $0 = (+_VectorLength($v$byval_copy)); - $1 = $0 == 0.0; - $$op = 1.0 / $0; - $2 = $1 ? 1.0 : $$op; - $3 = +HEAPF32[$v>>2]; - $4 = $3 * $2; - HEAPF32[$v>>2] = $4; - $5 = ((($v)) + 4|0); - $6 = +HEAPF32[$5>>2]; - $7 = $2 * $6; - HEAPF32[$5>>2] = $7; - $8 = ((($v)) + 8|0); - $9 = +HEAPF32[$8>>2]; - $10 = $2 * $9; - HEAPF32[$8>>2] = $10; - STACKTOP = sp;return; -} -function _VectorTransform($v,$mat) { - $v = $v|0; - $mat = $mat|0; - var $0 = 0.0, $1 = 0, $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0, $16 = 0.0, $17 = 0.0, $18 = 0, $19 = 0.0, $2 = 0.0, $20 = 0.0, $21 = 0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0, $26 = 0.0; - var $27 = 0.0, $28 = 0.0, $29 = 0, $3 = 0, $30 = 0.0, $31 = 0.0, $32 = 0, $33 = 0.0, $34 = 0.0, $35 = 0, $36 = 0.0, $37 = 0.0, $38 = 0.0, $39 = 0, $4 = 0.0, $40 = 0.0, $41 = 0.0, $42 = 0.0, $43 = 0, $44 = 0.0; - var $45 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $0 = +HEAPF32[$v>>2]; - $1 = ((($v)) + 4|0); - $2 = +HEAPF32[$1>>2]; - $3 = ((($v)) + 8|0); - $4 = +HEAPF32[$3>>2]; - $5 = +HEAPF32[$mat>>2]; - $6 = $0 * $5; - $7 = ((($mat)) + 4|0); - $8 = +HEAPF32[$7>>2]; - $9 = $2 * $8; - $10 = $6 + $9; - $11 = ((($mat)) + 8|0); - $12 = +HEAPF32[$11>>2]; - $13 = $4 * $12; - $14 = $10 + $13; - $15 = ((($mat)) + 12|0); - $16 = +HEAPF32[$15>>2]; - $17 = $16 + $14; - HEAPF32[$v>>2] = $17; - $18 = ((($mat)) + 16|0); - $19 = +HEAPF32[$18>>2]; - $20 = $0 * $19; - $21 = ((($mat)) + 20|0); - $22 = +HEAPF32[$21>>2]; - $23 = $2 * $22; - $24 = $20 + $23; - $25 = ((($mat)) + 24|0); - $26 = +HEAPF32[$25>>2]; - $27 = $4 * $26; - $28 = $24 + $27; - $29 = ((($mat)) + 28|0); - $30 = +HEAPF32[$29>>2]; - $31 = $30 + $28; - HEAPF32[$1>>2] = $31; - $32 = ((($mat)) + 32|0); - $33 = +HEAPF32[$32>>2]; - $34 = $0 * $33; - $35 = ((($mat)) + 36|0); - $36 = +HEAPF32[$35>>2]; - $37 = $2 * $36; - $38 = $34 + $37; - $39 = ((($mat)) + 40|0); - $40 = +HEAPF32[$39>>2]; - $41 = $4 * $40; - $42 = $38 + $41; - $43 = ((($mat)) + 44|0); - $44 = +HEAPF32[$43>>2]; - $45 = $44 + $42; - HEAPF32[$3>>2] = $45; - return; -} -function _VectorZero($agg$result) { - $agg$result = $agg$result|0; - var label = 0, sp = 0; - sp = STACKTOP; - ;HEAP32[$agg$result>>2]=0|0;HEAP32[$agg$result+4>>2]=0|0;HEAP32[$agg$result+8>>2]=0|0; - return; -} -function _MatrixTranspose($mat) { - $mat = $mat|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $3 = 0, $4 = 0, $5 = 0; - var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($mat)) + 4|0); - $1 = HEAP32[$0>>2]|0; - $2 = ((($mat)) + 8|0); - $3 = HEAP32[$2>>2]|0; - $4 = ((($mat)) + 12|0); - $5 = HEAP32[$4>>2]|0; - $6 = ((($mat)) + 16|0); - $7 = HEAP32[$6>>2]|0; - $8 = ((($mat)) + 24|0); - $9 = HEAP32[$8>>2]|0; - $10 = ((($mat)) + 28|0); - $11 = HEAP32[$10>>2]|0; - $12 = ((($mat)) + 32|0); - $13 = HEAP32[$12>>2]|0; - $14 = ((($mat)) + 36|0); - $15 = HEAP32[$14>>2]|0; - $16 = ((($mat)) + 44|0); - $17 = HEAP32[$16>>2]|0; - $18 = ((($mat)) + 48|0); - $19 = HEAP32[$18>>2]|0; - $20 = ((($mat)) + 52|0); - $21 = HEAP32[$20>>2]|0; - $22 = ((($mat)) + 56|0); - $23 = HEAP32[$22>>2]|0; - HEAP32[$0>>2] = $7; - HEAP32[$2>>2] = $13; - HEAP32[$4>>2] = $19; - HEAP32[$6>>2] = $1; - HEAP32[$8>>2] = $15; - HEAP32[$10>>2] = $21; - HEAP32[$12>>2] = $3; - HEAP32[$14>>2] = $9; - HEAP32[$16>>2] = $23; - HEAP32[$18>>2] = $5; - HEAP32[$20>>2] = $11; - HEAP32[$22>>2] = $17; - return; -} -function _MatrixIdentity($agg$result) { - $agg$result = $agg$result|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $result$sroa$5 = 0, $result$sroa$6 = 0, $result$sroa$7 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $result$sroa$5 = sp + 32|0; - $result$sroa$6 = sp + 16|0; - $result$sroa$7 = sp; - ;HEAP32[$result$sroa$5>>2]=0|0;HEAP32[$result$sroa$5+4>>2]=0|0;HEAP32[$result$sroa$5+8>>2]=0|0;HEAP32[$result$sroa$5+12>>2]=0|0; - ;HEAP32[$result$sroa$6>>2]=0|0;HEAP32[$result$sroa$6+4>>2]=0|0;HEAP32[$result$sroa$6+8>>2]=0|0;HEAP32[$result$sroa$6+12>>2]=0|0; - ;HEAP32[$result$sroa$7>>2]=0|0;HEAP32[$result$sroa$7+4>>2]=0|0;HEAP32[$result$sroa$7+8>>2]=0|0;HEAP32[$result$sroa$7+12>>2]=0|0; - HEAPF32[$agg$result>>2] = 1.0; - $0 = ((($agg$result)) + 4|0); - ;HEAP32[$0>>2]=HEAP32[$result$sroa$5>>2]|0;HEAP32[$0+4>>2]=HEAP32[$result$sroa$5+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$result$sroa$5+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$result$sroa$5+12>>2]|0; - $1 = ((($agg$result)) + 20|0); - HEAPF32[$1>>2] = 1.0; - $2 = ((($agg$result)) + 24|0); - ;HEAP32[$2>>2]=HEAP32[$result$sroa$6>>2]|0;HEAP32[$2+4>>2]=HEAP32[$result$sroa$6+4>>2]|0;HEAP32[$2+8>>2]=HEAP32[$result$sroa$6+8>>2]|0;HEAP32[$2+12>>2]=HEAP32[$result$sroa$6+12>>2]|0; - $3 = ((($agg$result)) + 40|0); - HEAPF32[$3>>2] = 1.0; - $4 = ((($agg$result)) + 44|0); - ;HEAP32[$4>>2]=HEAP32[$result$sroa$7>>2]|0;HEAP32[$4+4>>2]=HEAP32[$result$sroa$7+4>>2]|0;HEAP32[$4+8>>2]=HEAP32[$result$sroa$7+8>>2]|0;HEAP32[$4+12>>2]=HEAP32[$result$sroa$7+12>>2]|0; - $5 = ((($agg$result)) + 60|0); - HEAPF32[$5>>2] = 1.0; - STACKTOP = sp;return; -} -function _MatrixTranslate($agg$result,$x,$y,$z) { - $agg$result = $agg$result|0; - $x = +$x; - $y = +$y; - $z = +$z; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; - sp = STACKTOP; - HEAPF32[$agg$result>>2] = 1.0; - $0 = ((($agg$result)) + 4|0); - $1 = ((($agg$result)) + 20|0); - ;HEAP32[$0>>2]=0|0;HEAP32[$0+4>>2]=0|0;HEAP32[$0+8>>2]=0|0;HEAP32[$0+12>>2]=0|0; - HEAPF32[$1>>2] = 1.0; - $2 = ((($agg$result)) + 24|0); - $3 = ((($agg$result)) + 40|0); - ;HEAP32[$2>>2]=0|0;HEAP32[$2+4>>2]=0|0;HEAP32[$2+8>>2]=0|0;HEAP32[$2+12>>2]=0|0; - HEAPF32[$3>>2] = 1.0; - $4 = ((($agg$result)) + 44|0); - HEAPF32[$4>>2] = 0.0; - $5 = ((($agg$result)) + 48|0); - HEAPF32[$5>>2] = $x; - $6 = ((($agg$result)) + 52|0); - HEAPF32[$6>>2] = $y; - $7 = ((($agg$result)) + 56|0); - HEAPF32[$7>>2] = $z; - $8 = ((($agg$result)) + 60|0); - HEAPF32[$8>>2] = 1.0; - return; -} -function _MatrixRotate($agg$result,$axis,$angle) { - $agg$result = $agg$result|0; - $axis = $axis|0; - $angle = +$angle; - var $0 = 0.0, $1 = 0, $10 = 0, $100 = 0.0, $101 = 0.0, $102 = 0.0, $103 = 0.0, $104 = 0.0, $105 = 0.0, $106 = 0.0, $107 = 0.0, $108 = 0.0, $109 = 0.0, $11 = 0, $110 = 0.0, $111 = 0.0, $112 = 0.0, $113 = 0.0, $114 = 0.0, $115 = 0.0; - var $116 = 0.0, $117 = 0.0, $118 = 0.0, $119 = 0.0, $12 = 0.0, $120 = 0.0, $121 = 0.0, $122 = 0.0, $123 = 0.0, $124 = 0.0, $125 = 0.0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0.0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0.0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0; - var $19 = 0.0, $2 = 0.0, $20 = 0, $21 = 0.0, $22 = 0, $23 = 0.0, $24 = 0, $25 = 0.0, $26 = 0, $27 = 0.0, $28 = 0, $29 = 0.0, $3 = 0, $30 = 0, $31 = 0.0, $32 = 0, $33 = 0.0, $34 = 0, $35 = 0.0, $36 = 0; - var $37 = 0.0, $38 = 0, $39 = 0.0, $4 = 0.0, $40 = 0, $41 = 0.0, $42 = 0.0, $43 = 0.0, $44 = 0.0, $45 = 0.0, $46 = 0.0, $47 = 0.0, $48 = 0.0, $49 = 0.0, $5 = 0.0, $50 = 0.0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0.0; - var $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0.0, $60 = 0.0, $61 = 0.0, $62 = 0.0, $63 = 0.0, $64 = 0.0, $65 = 0.0, $66 = 0.0, $67 = 0.0, $68 = 0.0, $69 = 0.0, $7 = 0.0, $70 = 0.0, $71 = 0.0, $72 = 0.0; - var $73 = 0.0, $74 = 0.0, $75 = 0.0, $76 = 0.0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0.0, $80 = 0.0, $81 = 0.0, $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0.0, $86 = 0.0, $87 = 0.0, $88 = 0.0, $89 = 0.0, $9 = 0.0, $90 = 0.0; - var $91 = 0.0, $92 = 0.0, $93 = 0.0, $94 = 0.0, $95 = 0.0, $96 = 0.0, $97 = 0.0, $98 = 0.0, $99 = 0.0, $mat = 0, $or$cond = 0, $sqrtf = 0.0, $x$0 = 0.0, $y$0 = 0.0, $z$0 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; - $mat = sp; - _MatrixIdentity($mat); - $0 = +HEAPF32[$axis>>2]; - $1 = ((($axis)) + 4|0); - $2 = +HEAPF32[$1>>2]; - $3 = ((($axis)) + 8|0); - $4 = +HEAPF32[$3>>2]; - $5 = $0 * $0; - $6 = $2 * $2; - $7 = $5 + $6; - $8 = $4 * $4; - $9 = $7 + $8; - $sqrtf = (+Math_sqrt((+$9))); - $10 = $sqrtf != 1.0; - $11 = $sqrtf != 0.0; - $or$cond = $10 & $11; - if ($or$cond) { - $12 = 1.0 / $sqrtf; - $13 = $0 * $12; - $14 = $2 * $12; - $15 = $4 * $12; - $x$0 = $13;$y$0 = $14;$z$0 = $15; - } else { - $x$0 = $0;$y$0 = $2;$z$0 = $4; - } - $16 = (+Math_sin((+$angle))); - $17 = (+Math_cos((+$angle))); - $18 = 1.0 - $17; - $19 = +HEAPF32[$mat>>2]; - $20 = ((($mat)) + 16|0); - $21 = +HEAPF32[$20>>2]; - $22 = ((($mat)) + 32|0); - $23 = +HEAPF32[$22>>2]; - $24 = ((($mat)) + 48|0); - $25 = +HEAPF32[$24>>2]; - $26 = ((($mat)) + 4|0); - $27 = +HEAPF32[$26>>2]; - $28 = ((($mat)) + 20|0); - $29 = +HEAPF32[$28>>2]; - $30 = ((($mat)) + 36|0); - $31 = +HEAPF32[$30>>2]; - $32 = ((($mat)) + 52|0); - $33 = +HEAPF32[$32>>2]; - $34 = ((($mat)) + 8|0); - $35 = +HEAPF32[$34>>2]; - $36 = ((($mat)) + 24|0); - $37 = +HEAPF32[$36>>2]; - $38 = ((($mat)) + 40|0); - $39 = +HEAPF32[$38>>2]; - $40 = ((($mat)) + 56|0); - $41 = +HEAPF32[$40>>2]; - $42 = $x$0 * $x$0; - $43 = $42 * $18; - $44 = $17 + $43; - $45 = $y$0 * $x$0; - $46 = $45 * $18; - $47 = $z$0 * $16; - $48 = $47 + $46; - $49 = $z$0 * $x$0; - $50 = $49 * $18; - $51 = $y$0 * $16; - $52 = $50 - $51; - $53 = $46 - $47; - $54 = $y$0 * $y$0; - $55 = $54 * $18; - $56 = $17 + $55; - $57 = $z$0 * $y$0; - $58 = $57 * $18; - $59 = $x$0 * $16; - $60 = $59 + $58; - $61 = $51 + $50; - $62 = $58 - $59; - $63 = $z$0 * $z$0; - $64 = $63 * $18; - $65 = $17 + $64; - $66 = $19 * $44; - $67 = $48 * $27; - $68 = $66 + $67; - $69 = $52 * $35; - $70 = $68 + $69; - $71 = $21 * $44; - $72 = $48 * $29; - $73 = $71 + $72; - $74 = $52 * $37; - $75 = $73 + $74; - $76 = $23 * $44; - $77 = $48 * $31; - $78 = $76 + $77; - $79 = $52 * $39; - $80 = $78 + $79; - $81 = $44 * $25; - $82 = $48 * $33; - $83 = $81 + $82; - $84 = $52 * $41; - $85 = $83 + $84; - $86 = $19 * $53; - $87 = $56 * $27; - $88 = $86 + $87; - $89 = $60 * $35; - $90 = $88 + $89; - $91 = $21 * $53; - $92 = $56 * $29; - $93 = $91 + $92; - $94 = $60 * $37; - $95 = $93 + $94; - $96 = $23 * $53; - $97 = $56 * $31; - $98 = $96 + $97; - $99 = $60 * $39; - $100 = $98 + $99; - $101 = $53 * $25; - $102 = $56 * $33; - $103 = $101 + $102; - $104 = $60 * $41; - $105 = $103 + $104; - $106 = $19 * $61; - $107 = $62 * $27; - $108 = $106 + $107; - $109 = $65 * $35; - $110 = $108 + $109; - $111 = $21 * $61; - $112 = $62 * $29; - $113 = $111 + $112; - $114 = $65 * $37; - $115 = $113 + $114; - $116 = $23 * $61; - $117 = $62 * $31; - $118 = $116 + $117; - $119 = $65 * $39; - $120 = $118 + $119; - $121 = $61 * $25; - $122 = $62 * $33; - $123 = $121 + $122; - $124 = $65 * $41; - $125 = $123 + $124; - $126 = ((($mat)) + 12|0); - $127 = HEAP32[$126>>2]|0; - $128 = ((($mat)) + 28|0); - $129 = HEAP32[$128>>2]|0; - $130 = ((($mat)) + 44|0); - $131 = HEAP32[$130>>2]|0; - $132 = ((($mat)) + 60|0); - $133 = HEAP32[$132>>2]|0; - HEAPF32[$agg$result>>2] = $70; - $134 = ((($agg$result)) + 4|0); - HEAPF32[$134>>2] = $90; - $135 = ((($agg$result)) + 8|0); - HEAPF32[$135>>2] = $110; - $136 = ((($agg$result)) + 12|0); - HEAP32[$136>>2] = $127; - $137 = ((($agg$result)) + 16|0); - HEAPF32[$137>>2] = $75; - $138 = ((($agg$result)) + 20|0); - HEAPF32[$138>>2] = $95; - $139 = ((($agg$result)) + 24|0); - HEAPF32[$139>>2] = $115; - $140 = ((($agg$result)) + 28|0); - HEAP32[$140>>2] = $129; - $141 = ((($agg$result)) + 32|0); - HEAPF32[$141>>2] = $80; - $142 = ((($agg$result)) + 36|0); - HEAPF32[$142>>2] = $100; - $143 = ((($agg$result)) + 40|0); - HEAPF32[$143>>2] = $120; - $144 = ((($agg$result)) + 44|0); - HEAP32[$144>>2] = $131; - $145 = ((($agg$result)) + 48|0); - HEAPF32[$145>>2] = $85; - $146 = ((($agg$result)) + 52|0); - HEAPF32[$146>>2] = $105; - $147 = ((($agg$result)) + 56|0); - HEAPF32[$147>>2] = $125; - $148 = ((($agg$result)) + 60|0); - HEAP32[$148>>2] = $133; - STACKTOP = sp;return; -} -function _MatrixScale($agg$result,$x,$y,$z) { - $agg$result = $agg$result|0; - $x = +$x; - $y = +$y; - $z = +$z; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $result$sroa$5 = 0, $result$sroa$6 = 0, $result$sroa$7 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $result$sroa$5 = sp + 32|0; - $result$sroa$6 = sp + 16|0; - $result$sroa$7 = sp; - ;HEAP32[$result$sroa$5>>2]=0|0;HEAP32[$result$sroa$5+4>>2]=0|0;HEAP32[$result$sroa$5+8>>2]=0|0;HEAP32[$result$sroa$5+12>>2]=0|0; - ;HEAP32[$result$sroa$6>>2]=0|0;HEAP32[$result$sroa$6+4>>2]=0|0;HEAP32[$result$sroa$6+8>>2]=0|0;HEAP32[$result$sroa$6+12>>2]=0|0; - ;HEAP32[$result$sroa$7>>2]=0|0;HEAP32[$result$sroa$7+4>>2]=0|0;HEAP32[$result$sroa$7+8>>2]=0|0;HEAP32[$result$sroa$7+12>>2]=0|0; - HEAPF32[$agg$result>>2] = $x; - $0 = ((($agg$result)) + 4|0); - ;HEAP32[$0>>2]=HEAP32[$result$sroa$5>>2]|0;HEAP32[$0+4>>2]=HEAP32[$result$sroa$5+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$result$sroa$5+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$result$sroa$5+12>>2]|0; - $1 = ((($agg$result)) + 20|0); - HEAPF32[$1>>2] = $y; - $2 = ((($agg$result)) + 24|0); - ;HEAP32[$2>>2]=HEAP32[$result$sroa$6>>2]|0;HEAP32[$2+4>>2]=HEAP32[$result$sroa$6+4>>2]|0;HEAP32[$2+8>>2]=HEAP32[$result$sroa$6+8>>2]|0;HEAP32[$2+12>>2]=HEAP32[$result$sroa$6+12>>2]|0; - $3 = ((($agg$result)) + 40|0); - HEAPF32[$3>>2] = $z; - $4 = ((($agg$result)) + 44|0); - ;HEAP32[$4>>2]=HEAP32[$result$sroa$7>>2]|0;HEAP32[$4+4>>2]=HEAP32[$result$sroa$7+4>>2]|0;HEAP32[$4+8>>2]=HEAP32[$result$sroa$7+8>>2]|0;HEAP32[$4+12>>2]=HEAP32[$result$sroa$7+12>>2]|0; - $5 = ((($agg$result)) + 60|0); - HEAPF32[$5>>2] = 1.0; - STACKTOP = sp;return; -} -function _MatrixMultiply($agg$result,$left,$right) { - $agg$result = $agg$result|0; - $left = $left|0; - $right = $right|0; - var $0 = 0.0, $1 = 0.0, $10 = 0.0, $100 = 0.0, $101 = 0.0, $102 = 0, $103 = 0.0, $104 = 0.0, $105 = 0, $106 = 0.0, $107 = 0.0, $108 = 0.0, $109 = 0, $11 = 0, $110 = 0.0, $111 = 0.0, $112 = 0.0, $113 = 0, $114 = 0.0, $115 = 0.0; - var $116 = 0.0, $117 = 0.0, $118 = 0.0, $119 = 0.0, $12 = 0.0, $120 = 0.0, $121 = 0.0, $122 = 0.0, $123 = 0.0, $124 = 0.0, $125 = 0.0, $126 = 0.0, $127 = 0.0, $128 = 0.0, $129 = 0.0, $13 = 0.0, $130 = 0.0, $131 = 0.0, $132 = 0.0, $133 = 0.0; - var $134 = 0.0, $135 = 0.0, $136 = 0.0, $137 = 0.0, $138 = 0, $139 = 0.0, $14 = 0.0, $140 = 0.0, $141 = 0, $142 = 0.0, $143 = 0.0, $144 = 0.0, $145 = 0, $146 = 0.0, $147 = 0.0, $148 = 0.0, $149 = 0, $15 = 0, $150 = 0.0, $151 = 0.0; - var $152 = 0.0, $153 = 0.0, $154 = 0.0, $155 = 0.0, $156 = 0.0, $157 = 0.0, $158 = 0.0, $159 = 0.0, $16 = 0.0, $160 = 0.0, $161 = 0.0, $162 = 0.0, $163 = 0.0, $164 = 0.0, $165 = 0.0, $166 = 0.0, $167 = 0.0, $168 = 0.0, $169 = 0.0, $17 = 0; - var $170 = 0.0, $171 = 0.0, $172 = 0.0, $173 = 0.0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0.0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; - var $19 = 0.0, $2 = 0.0, $20 = 0.0, $21 = 0, $22 = 0.0, $23 = 0.0, $24 = 0, $25 = 0.0, $26 = 0.0, $27 = 0.0, $28 = 0, $29 = 0.0, $3 = 0, $30 = 0.0, $31 = 0.0, $32 = 0, $33 = 0.0, $34 = 0.0, $35 = 0.0, $36 = 0; - var $37 = 0.0, $38 = 0.0, $39 = 0, $4 = 0.0, $40 = 0.0, $41 = 0.0, $42 = 0.0, $43 = 0, $44 = 0.0, $45 = 0.0, $46 = 0.0, $47 = 0, $48 = 0.0, $49 = 0.0, $5 = 0, $50 = 0.0, $51 = 0, $52 = 0.0, $53 = 0.0, $54 = 0; - var $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0, $59 = 0.0, $6 = 0.0, $60 = 0.0, $61 = 0.0, $62 = 0, $63 = 0.0, $64 = 0.0, $65 = 0.0, $66 = 0, $67 = 0.0, $68 = 0.0, $69 = 0, $7 = 0.0, $70 = 0.0, $71 = 0.0, $72 = 0.0; - var $73 = 0, $74 = 0.0, $75 = 0.0, $76 = 0.0, $77 = 0, $78 = 0.0, $79 = 0.0, $8 = 0.0, $80 = 0.0, $81 = 0.0, $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0.0, $86 = 0.0, $87 = 0.0, $88 = 0.0, $89 = 0.0, $9 = 0, $90 = 0.0; - var $91 = 0.0, $92 = 0.0, $93 = 0.0, $94 = 0.0, $95 = 0.0, $96 = 0.0, $97 = 0.0, $98 = 0.0, $99 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $0 = +HEAPF32[$right>>2]; - $1 = +HEAPF32[$left>>2]; - $2 = $0 * $1; - $3 = ((($right)) + 16|0); - $4 = +HEAPF32[$3>>2]; - $5 = ((($left)) + 4|0); - $6 = +HEAPF32[$5>>2]; - $7 = $4 * $6; - $8 = $2 + $7; - $9 = ((($right)) + 32|0); - $10 = +HEAPF32[$9>>2]; - $11 = ((($left)) + 8|0); - $12 = +HEAPF32[$11>>2]; - $13 = $10 * $12; - $14 = $8 + $13; - $15 = ((($right)) + 48|0); - $16 = +HEAPF32[$15>>2]; - $17 = ((($left)) + 12|0); - $18 = +HEAPF32[$17>>2]; - $19 = $16 * $18; - $20 = $14 + $19; - $21 = ((($left)) + 16|0); - $22 = +HEAPF32[$21>>2]; - $23 = $0 * $22; - $24 = ((($left)) + 20|0); - $25 = +HEAPF32[$24>>2]; - $26 = $4 * $25; - $27 = $23 + $26; - $28 = ((($left)) + 24|0); - $29 = +HEAPF32[$28>>2]; - $30 = $10 * $29; - $31 = $27 + $30; - $32 = ((($left)) + 28|0); - $33 = +HEAPF32[$32>>2]; - $34 = $16 * $33; - $35 = $31 + $34; - $36 = ((($left)) + 32|0); - $37 = +HEAPF32[$36>>2]; - $38 = $0 * $37; - $39 = ((($left)) + 36|0); - $40 = +HEAPF32[$39>>2]; - $41 = $4 * $40; - $42 = $38 + $41; - $43 = ((($left)) + 40|0); - $44 = +HEAPF32[$43>>2]; - $45 = $10 * $44; - $46 = $42 + $45; - $47 = ((($left)) + 44|0); - $48 = +HEAPF32[$47>>2]; - $49 = $16 * $48; - $50 = $46 + $49; - $51 = ((($left)) + 48|0); - $52 = +HEAPF32[$51>>2]; - $53 = $0 * $52; - $54 = ((($left)) + 52|0); - $55 = +HEAPF32[$54>>2]; - $56 = $4 * $55; - $57 = $53 + $56; - $58 = ((($left)) + 56|0); - $59 = +HEAPF32[$58>>2]; - $60 = $10 * $59; - $61 = $57 + $60; - $62 = ((($left)) + 60|0); - $63 = +HEAPF32[$62>>2]; - $64 = $16 * $63; - $65 = $61 + $64; - $66 = ((($right)) + 4|0); - $67 = +HEAPF32[$66>>2]; - $68 = $1 * $67; - $69 = ((($right)) + 20|0); - $70 = +HEAPF32[$69>>2]; - $71 = $6 * $70; - $72 = $68 + $71; - $73 = ((($right)) + 36|0); - $74 = +HEAPF32[$73>>2]; - $75 = $12 * $74; - $76 = $72 + $75; - $77 = ((($right)) + 52|0); - $78 = +HEAPF32[$77>>2]; - $79 = $18 * $78; - $80 = $76 + $79; - $81 = $22 * $67; - $82 = $25 * $70; - $83 = $81 + $82; - $84 = $29 * $74; - $85 = $83 + $84; - $86 = $33 * $78; - $87 = $85 + $86; - $88 = $37 * $67; - $89 = $40 * $70; - $90 = $88 + $89; - $91 = $44 * $74; - $92 = $90 + $91; - $93 = $48 * $78; - $94 = $92 + $93; - $95 = $52 * $67; - $96 = $55 * $70; - $97 = $95 + $96; - $98 = $59 * $74; - $99 = $97 + $98; - $100 = $63 * $78; - $101 = $99 + $100; - $102 = ((($right)) + 8|0); - $103 = +HEAPF32[$102>>2]; - $104 = $1 * $103; - $105 = ((($right)) + 24|0); - $106 = +HEAPF32[$105>>2]; - $107 = $6 * $106; - $108 = $104 + $107; - $109 = ((($right)) + 40|0); - $110 = +HEAPF32[$109>>2]; - $111 = $12 * $110; - $112 = $108 + $111; - $113 = ((($right)) + 56|0); - $114 = +HEAPF32[$113>>2]; - $115 = $18 * $114; - $116 = $112 + $115; - $117 = $22 * $103; - $118 = $25 * $106; - $119 = $117 + $118; - $120 = $29 * $110; - $121 = $119 + $120; - $122 = $33 * $114; - $123 = $121 + $122; - $124 = $37 * $103; - $125 = $40 * $106; - $126 = $124 + $125; - $127 = $44 * $110; - $128 = $126 + $127; - $129 = $48 * $114; - $130 = $128 + $129; - $131 = $52 * $103; - $132 = $55 * $106; - $133 = $131 + $132; - $134 = $59 * $110; - $135 = $133 + $134; - $136 = $63 * $114; - $137 = $135 + $136; - $138 = ((($right)) + 12|0); - $139 = +HEAPF32[$138>>2]; - $140 = $1 * $139; - $141 = ((($right)) + 28|0); - $142 = +HEAPF32[$141>>2]; - $143 = $6 * $142; - $144 = $140 + $143; - $145 = ((($right)) + 44|0); - $146 = +HEAPF32[$145>>2]; - $147 = $12 * $146; - $148 = $144 + $147; - $149 = ((($right)) + 60|0); - $150 = +HEAPF32[$149>>2]; - $151 = $18 * $150; - $152 = $148 + $151; - $153 = $22 * $139; - $154 = $25 * $142; - $155 = $153 + $154; - $156 = $29 * $146; - $157 = $155 + $156; - $158 = $33 * $150; - $159 = $157 + $158; - $160 = $37 * $139; - $161 = $40 * $142; - $162 = $160 + $161; - $163 = $44 * $146; - $164 = $162 + $163; - $165 = $48 * $150; - $166 = $164 + $165; - $167 = $52 * $139; - $168 = $55 * $142; - $169 = $167 + $168; - $170 = $59 * $146; - $171 = $169 + $170; - $172 = $63 * $150; - $173 = $171 + $172; - HEAPF32[$agg$result>>2] = $20; - $174 = ((($agg$result)) + 4|0); - HEAPF32[$174>>2] = $80; - $175 = ((($agg$result)) + 8|0); - HEAPF32[$175>>2] = $116; - $176 = ((($agg$result)) + 12|0); - HEAPF32[$176>>2] = $152; - $177 = ((($agg$result)) + 16|0); - HEAPF32[$177>>2] = $35; - $178 = ((($agg$result)) + 20|0); - HEAPF32[$178>>2] = $87; - $179 = ((($agg$result)) + 24|0); - HEAPF32[$179>>2] = $123; - $180 = ((($agg$result)) + 28|0); - HEAPF32[$180>>2] = $159; - $181 = ((($agg$result)) + 32|0); - HEAPF32[$181>>2] = $50; - $182 = ((($agg$result)) + 36|0); - HEAPF32[$182>>2] = $94; - $183 = ((($agg$result)) + 40|0); - HEAPF32[$183>>2] = $130; - $184 = ((($agg$result)) + 44|0); - HEAPF32[$184>>2] = $166; - $185 = ((($agg$result)) + 48|0); - HEAPF32[$185>>2] = $65; - $186 = ((($agg$result)) + 52|0); - HEAPF32[$186>>2] = $101; - $187 = ((($agg$result)) + 56|0); - HEAPF32[$187>>2] = $137; - $188 = ((($agg$result)) + 60|0); - HEAPF32[$188>>2] = $173; - return; -} -function _MatrixOrtho($agg$result,$left,$right,$bottom,$top,$near,$far) { - $agg$result = $agg$result|0; - $left = +$left; - $right = +$right; - $bottom = +$bottom; - $top = +$top; - $near = +$near; - $far = +$far; - var $0 = 0.0, $1 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $2 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0.0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0; - var sp = 0; - sp = STACKTOP; - $0 = $right - $left; - $1 = $0; - $2 = $top - $bottom; - $3 = $2; - $4 = $far - $near; - $5 = $4; - $6 = 2.0 / $1; - $7 = 2.0 / $3; - $8 = -2.0 / $5; - $9 = $left + $right; - $10 = -$9; - $11 = $1; - $12 = $10 / $11; - $13 = $12; - $14 = $bottom + $top; - $15 = -$14; - $16 = $3; - $17 = $15 / $16; - $18 = $17; - $19 = $near + $far; - $20 = -$19; - $21 = $5; - $22 = $20 / $21; - $23 = $22; - HEAPF32[$agg$result>>2] = $6; - $24 = ((($agg$result)) + 4|0); - HEAPF32[$24>>2] = 0.0; - $25 = ((($agg$result)) + 8|0); - HEAPF32[$25>>2] = 0.0; - $26 = ((($agg$result)) + 12|0); - HEAPF32[$26>>2] = $13; - $27 = ((($agg$result)) + 16|0); - HEAPF32[$27>>2] = 0.0; - $28 = ((($agg$result)) + 20|0); - HEAPF32[$28>>2] = $7; - $29 = ((($agg$result)) + 24|0); - HEAPF32[$29>>2] = 0.0; - $30 = ((($agg$result)) + 28|0); - HEAPF32[$30>>2] = $18; - $31 = ((($agg$result)) + 32|0); - HEAPF32[$31>>2] = 0.0; - $32 = ((($agg$result)) + 36|0); - HEAPF32[$32>>2] = 0.0; - $33 = ((($agg$result)) + 40|0); - HEAPF32[$33>>2] = $8; - $34 = ((($agg$result)) + 44|0); - HEAPF32[$34>>2] = $23; - $35 = ((($agg$result)) + 48|0); - HEAPF32[$35>>2] = 0.0; - $36 = ((($agg$result)) + 52|0); - HEAPF32[$36>>2] = 0.0; - $37 = ((($agg$result)) + 56|0); - HEAPF32[$37>>2] = 0.0; - $38 = ((($agg$result)) + 60|0); - HEAPF32[$38>>2] = 1.0; - return; -} -function _InitWindow($width,$height,$title) { - $width = $width|0; - $height = $height|0; - $title = $title|0; - var $0 = 0, $1 = 0.0, $2 = 0.0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $vararg_buffer = sp; - _TraceLog(0,9435,$vararg_buffer); - HEAP32[1276>>2] = $title; - _InitDisplay($width,$height); - _InitGraphics(); - _LoadDefaultFont(); - _InitTimer(); - (_emscripten_set_fullscreenchange_callback((0|0),(0|0),1,(4|0))|0); - (_emscripten_set_touchstart_callback((9464|0),(0|0),1,(5|0))|0); - (_emscripten_set_touchend_callback((9464|0),(0|0),1,(5|0))|0); - (_emscripten_set_touchmove_callback((9464|0),(0|0),1,(5|0))|0); - (_emscripten_set_touchcancel_callback((9464|0),(0|0),1,(5|0))|0); - $0 = HEAP32[1280>>2]|0; - $1 = (+($0|0)); - $2 = $1 * 0.5; - HEAPF32[8>>2] = $2; - $3 = HEAP32[1284>>2]|0; - $4 = (+($3|0)); - $5 = $4 * 0.5; - HEAPF32[(12)>>2] = $5; - $6 = HEAP32[1288>>2]|0; - $7 = ($6|0)==(0); - if ($7) { - STACKTOP = sp;return; - } - _SetTargetFPS(60); - _LogoAnimation(); - STACKTOP = sp;return; -} -function _SetTargetFPS($fps) { - $fps = $fps|0; - var $0 = 0.0, $1 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $vararg_buffer = sp; - $0 = (+($fps|0)); - $1 = 1.0 / $0; - HEAPF64[16>>3] = $1; - $2 = $1; - $3 = $2 * 1000.0; - $4 = $3; - HEAPF64[$vararg_buffer>>3] = $4; - _TraceLog(0,9472,$vararg_buffer); - STACKTOP = sp;return; -} -function _CloseWindow() { - var $0 = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $vararg_buffer = sp; - _UnloadDefaultFont(); - _rlglClose(); - $0 = HEAP32[1292>>2]|0; - _glfwDestroyWindow(($0|0)); - _glfwTerminate(); - _TraceLog(0,9516,$vararg_buffer); - STACKTOP = sp;return; -} -function _GetScreenWidth() { - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[1280>>2]|0; - return ($0|0); -} -function _GetScreenHeight() { - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[1284>>2]|0; - return ($0|0); -} -function _ClearBackground($color) { - $color = $color|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP8[$color>>0]|0; - $1 = ((($color)) + 1|0); - $2 = HEAP8[$1>>0]|0; - $3 = ((($color)) + 2|0); - $4 = HEAP8[$3>>0]|0; - $5 = ((($color)) + 3|0); - $6 = HEAP8[$5>>0]|0; - _rlClearColor($0,$2,$4,$6); - return; -} -function _BeginDrawing() { - var $0 = 0.0, $1 = 0.0, $2 = 0.0, $downscaleView$byval_copy = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; - $downscaleView$byval_copy = sp; - $0 = (+_GetTime()); - HEAPF64[24>>3] = $0; - $1 = +HEAPF64[32>>3]; - $2 = $0 - $1; - HEAPF64[40>>3] = $2; - HEAPF64[32>>3] = $0; - _rlClearScreenBuffers(); - _rlLoadIdentity(); - dest=$downscaleView$byval_copy; src=1300; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - (_MatrixToFloat($downscaleView$byval_copy)|0); - _rlMultMatrixf(1364); - STACKTOP = sp;return; -} -function _MatrixToFloat($mat) { - $mat = $mat|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[$mat>>2]|0; - HEAP32[1364>>2] = $0; - $1 = ((($mat)) + 4|0); - $2 = HEAP32[$1>>2]|0; - HEAP32[(1368)>>2] = $2; - $3 = ((($mat)) + 8|0); - $4 = HEAP32[$3>>2]|0; - HEAP32[(1372)>>2] = $4; - $5 = ((($mat)) + 12|0); - $6 = HEAP32[$5>>2]|0; - HEAP32[(1376)>>2] = $6; - $7 = ((($mat)) + 16|0); - $8 = HEAP32[$7>>2]|0; - HEAP32[(1380)>>2] = $8; - $9 = ((($mat)) + 20|0); - $10 = HEAP32[$9>>2]|0; - HEAP32[(1384)>>2] = $10; - $11 = ((($mat)) + 24|0); - $12 = HEAP32[$11>>2]|0; - HEAP32[(1388)>>2] = $12; - $13 = ((($mat)) + 28|0); - $14 = HEAP32[$13>>2]|0; - HEAP32[(1392)>>2] = $14; - $15 = ((($mat)) + 32|0); - $16 = HEAP32[$15>>2]|0; - HEAP32[(1396)>>2] = $16; - $17 = ((($mat)) + 36|0); - $18 = HEAP32[$17>>2]|0; - HEAP32[(1400)>>2] = $18; - $19 = ((($mat)) + 40|0); - $20 = HEAP32[$19>>2]|0; - HEAP32[(1404)>>2] = $20; - $21 = ((($mat)) + 44|0); - $22 = HEAP32[$21>>2]|0; - HEAP32[(1408)>>2] = $22; - $23 = ((($mat)) + 48|0); - $24 = HEAP32[$23>>2]|0; - HEAP32[(1412)>>2] = $24; - $25 = ((($mat)) + 52|0); - $26 = HEAP32[$25>>2]|0; - HEAP32[(1416)>>2] = $26; - $27 = ((($mat)) + 56|0); - $28 = HEAP32[$27>>2]|0; - HEAP32[(1420)>>2] = $28; - $29 = ((($mat)) + 60|0); - $30 = HEAP32[$29>>2]|0; - HEAP32[(1424)>>2] = $30; - return (1364|0); -} -function _EndDrawing() { - var $0 = 0.0, $1 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - _rlglDraw(); - _SwapBuffers(); - _PollInputEvents(); - $0 = (+_GetTime()); - HEAPF64[24>>3] = $0; - $1 = +HEAPF64[32>>3]; - $2 = $0 - $1; - HEAPF64[48>>3] = $2; - HEAPF64[32>>3] = $0; - $3 = +HEAPF64[40>>3]; - $4 = $3 + $2; - HEAPF64[56>>3] = $4; - $5 = +HEAPF64[16>>3]; - $6 = $4 < $5; - if (!($6)) { - return; - } - while(1) { - $7 = (+_GetTime()); - HEAPF64[24>>3] = $7; - $8 = +HEAPF64[32>>3]; - $9 = $7 - $8; - HEAPF64[32>>3] = $7; - $10 = +HEAPF64[56>>3]; - $11 = $10 + $9; - HEAPF64[56>>3] = $11; - $12 = +HEAPF64[16>>3]; - $13 = $11 < $12; - if (!($13)) { - break; - } - } - return; -} -function _GetRandomValue($min,$max) { - $min = $min|0; - $max = $max|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $ispos = 0, $max$min = 0, $min$max = 0, $neg = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ($min|0)>($max|0); - $min$max = $0 ? $min : $max; - $max$min = $0 ? $max : $min; - $1 = (_rand()|0); - $2 = (($min$max) - ($max$min))|0; - $ispos = ($2|0)>(-1); - $neg = (0 - ($2))|0; - $3 = $ispos ? $2 : $neg; - $4 = (($3) + 1)|0; - $5 = (($1|0) % ($4|0))&-1; - $6 = (($5) + ($max$min))|0; - return ($6|0); -} -function _Fade($agg$result,$color,$alpha) { - $agg$result = $agg$result|0; - $color = $color|0; - $alpha = +$alpha; - var $$0 = 0.0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = $alpha < 0.0; - if ($0) { - $$0 = 0.0; - } else { - $1 = $alpha > 1.0; - if ($1) { - $$0 = 1.0; - } else { - $$0 = $alpha; - } - } - $2 = ((($color)) + 3|0); - $3 = HEAP8[$2>>0]|0; - $4 = (+($3&255)); - $5 = $$0 * $4; - $6 = HEAP8[$color>>0]|0; - HEAP8[$agg$result>>0] = $6; - $7 = ((($agg$result)) + 1|0); - $8 = ((($color)) + 1|0); - $9 = HEAP8[$8>>0]|0; - HEAP8[$7>>0] = $9; - $10 = ((($agg$result)) + 2|0); - $11 = ((($color)) + 2|0); - $12 = HEAP8[$11>>0]|0; - HEAP8[$10>>0] = $12; - $13 = ((($agg$result)) + 3|0); - $14 = (~~(($5))&255); - HEAP8[$13>>0] = $14; - return; -} -function _IsMouseButtonPressed($button) { - $button = $button|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $or$cond = 0, $pressed$0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (10568 + ($button)|0); - $1 = HEAP8[$0>>0]|0; - $2 = (10571 + ($button)|0); - $3 = HEAP8[$2>>0]|0; - $4 = ($1<<24>>24)!=($3<<24>>24); - $5 = ($1<<24>>24)==(1); - $or$cond = $5 & $4; - $pressed$0 = $or$cond&1; - return ($pressed$0|0); -} -function _IsMouseButtonDown($button) { - $button = $button|0; - var $$ = 0, $0 = 0, $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_GetMouseButtonStatus($button)|0); - $1 = ($0|0)==(1); - $$ = $1&1; - return ($$|0); -} -function _IsMouseButtonReleased($button) { - $button = $button|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $or$cond = 0, $released$0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (10568 + ($button)|0); - $1 = HEAP8[$0>>0]|0; - $2 = (10571 + ($button)|0); - $3 = HEAP8[$2>>0]|0; - $4 = ($1<<24>>24)!=($3<<24>>24); - $5 = ($1<<24>>24)==(0); - $or$cond = $5 & $4; - $released$0 = $or$cond&1; - return ($released$0|0); -} -function _GetMousePosition($agg$result) { - $agg$result = $agg$result|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = 8; - $1 = $0; - $2 = HEAP32[$1>>2]|0; - $3 = (($0) + 4)|0; - $4 = $3; - $5 = HEAP32[$4>>2]|0; - $6 = $agg$result; - $7 = $6; - HEAP32[$7>>2] = $2; - $8 = (($6) + 4)|0; - $9 = $8; - HEAP32[$9>>2] = $5; - return; -} -function _GetTouchPosition($agg$result,$index) { - $agg$result = $agg$result|0; - $index = $index|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0, $2 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0, $23 = 0.0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0.0, $28 = 0.0, $29 = 0.0, $3 = 0, $30 = 0, $31 = 0.0, $32 = 0.0, $33 = 0, $34 = 0.0, $35 = 0.0, $36 = 0.0, $37 = 0.0, $38 = 0, $39 = 0, $4 = 0.0, $40 = 0.0, $41 = 0.0, $42 = 0, $43 = 0.0, $44 = 0.0; - var $45 = 0.0, $46 = 0.0, $47 = 0, $48 = 0, $49 = 0.0, $5 = 0, $50 = 0.0, $51 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $position$sroa$0$0 = 0.0, $position$sroa$0$1 = 0.0, $position$sroa$7$0 = 0.0, $position$sroa$7$1 = 0.0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $vararg_buffer = sp; - $0 = ($index|0)<(2); - if ($0) { - $1 = (64 + ($index<<3)|0); - $2 = +HEAPF32[$1>>2]; - $3 = (((64 + ($index<<3)|0)) + 4|0); - $4 = +HEAPF32[$3>>2]; - $position$sroa$0$0 = $2;$position$sroa$7$0 = $4; - } else { - HEAP32[$vararg_buffer>>2] = 2; - _TraceLog(2,10574,$vararg_buffer); - $position$sroa$0$0 = -1.0;$position$sroa$7$0 = -1.0; - } - $5 = HEAP32[1280>>2]|0; - $6 = HEAP32[1444>>2]|0; - $7 = ($5>>>0)>($6>>>0); - if (!($7)) { - $8 = HEAP32[1284>>2]|0; - $9 = HEAP32[1448>>2]|0; - $10 = ($8>>>0)>($9>>>0); - if (!($10)) { - $33 = HEAP32[1460>>2]|0; - $34 = (+($33|0)); - $35 = (+($6>>>0)); - $36 = $34 / $35; - $37 = $position$sroa$0$0 * $36; - $38 = HEAP32[1452>>2]|0; - $39 = (($38|0) / 2)&-1; - $40 = (+($39|0)); - $41 = $37 - $40; - $42 = HEAP32[1464>>2]|0; - $43 = (+($42|0)); - $44 = (+($9>>>0)); - $45 = $43 / $44; - $46 = $position$sroa$7$0 * $45; - $47 = HEAP32[1456>>2]|0; - $48 = (($47|0) / 2)&-1; - $49 = (+($48|0)); - $50 = $46 - $49; - $position$sroa$0$1 = $41;$position$sroa$7$1 = $50; - HEAPF32[$agg$result>>2] = $position$sroa$0$1; - $51 = ((($agg$result)) + 4|0); - HEAPF32[$51>>2] = $position$sroa$7$1; - STACKTOP = sp;return; - } - } - $11 = HEAP32[1280>>2]|0; - $12 = (+($11|0)); - $13 = HEAP32[1444>>2]|0; - $14 = HEAP32[1452>>2]|0; - $15 = (($13) - ($14))|0; - $16 = (+($15>>>0)); - $17 = $12 / $16; - $18 = $position$sroa$0$0 * $17; - $19 = (($14|0) / 2)&-1; - $20 = (+($19|0)); - $21 = $18 - $20; - $22 = HEAP32[1284>>2]|0; - $23 = (+($22|0)); - $24 = HEAP32[1448>>2]|0; - $25 = HEAP32[1456>>2]|0; - $26 = (($24) - ($25))|0; - $27 = (+($26>>>0)); - $28 = $23 / $27; - $29 = $position$sroa$7$0 * $28; - $30 = (($25|0) / 2)&-1; - $31 = (+($30|0)); - $32 = $29 - $31; - $position$sroa$0$1 = $21;$position$sroa$7$1 = $32; - HEAPF32[$agg$result>>2] = $position$sroa$0$1; - $51 = ((($agg$result)) + 4|0); - HEAPF32[$51>>2] = $position$sroa$7$1; - STACKTOP = sp;return; -} -function _mystrdup($str) { - $str = $str|0; - var $$0 = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_strlen($str)|0); - $1 = (($0) + 1)|0; - $2 = (_malloc($1)|0); - $3 = ($2|0)==(0|0); - if ($3) { - $$0 = 0; - return ($$0|0); - } - _memcpy(($2|0),($str|0),($1|0))|0; - $$0 = $2; - return ($$0|0); -} -function _rlMatrixMode($mode) { - $mode = $mode|0; - var label = 0, sp = 0; - sp = STACKTOP; - switch ($mode|0) { - case 0: { - HEAP32[1532>>2] = 1468; - break; - } - case 1: { - HEAP32[1532>>2] = 1536; - break; - } - default: { - } - } - HEAP32[1600>>2] = $mode; - return; -} -function _rlPushMatrix() { - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $vararg_buffer = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $vararg_buffer = sp; - $0 = HEAP32[1604>>2]|0; - $1 = ($0|0)==(15); - if ($1) { - HEAP32[$vararg_buffer>>2] = 16; - _TraceLog(1,10631,$vararg_buffer); - } - $2 = HEAP32[1604>>2]|0; - $3 = (1608 + ($2<<6)|0); - $4 = HEAP32[1532>>2]|0; - dest=$3; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _rlLoadIdentity(); - $5 = HEAP32[1604>>2]|0; - $6 = (($5) + 1)|0; - HEAP32[1604>>2] = $6; - $7 = HEAP32[1600>>2]|0; - $8 = ($7|0)==(1); - if (!($8)) { - STACKTOP = sp;return; - } - HEAP32[2632>>2] = 1; - STACKTOP = sp;return; -} -function _rlLoadIdentity() { - var $0 = 0, $1 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; - $0 = sp; - $1 = HEAP32[1532>>2]|0; - _MatrixIdentity($0); - dest=$1; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; -} -function _rlPopMatrix() { - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[1604>>2]|0; - $1 = ($0|0)>(0); - if (!($1)) { - return; - } - $2 = HEAP32[1604>>2]|0; - $3 = (($2) + -1)|0; - $4 = (1608 + ($3<<6)|0); - $5 = HEAP32[1532>>2]|0; - _memmove(($5|0),($4|0),64)|0; - $6 = HEAP32[1604>>2]|0; - $7 = (($6) + -1)|0; - HEAP32[1604>>2] = $7; - return; -} -function _rlTranslatef($x,$y,$z) { - $x = +$x; - $y = +$y; - $z = +$z; - var $$byval_copy = 0, $0 = 0, $1 = 0, $matTranslation = 0, $matTranslation$byval_copy = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 256|0; - $matTranslation$byval_copy = sp + 192|0; - $$byval_copy = sp + 128|0; - $matTranslation = sp + 64|0; - $0 = sp; - _MatrixTranslate($matTranslation,$x,$y,$z); - _MatrixTranspose($matTranslation); - $1 = HEAP32[1532>>2]|0; - dest=$$byval_copy; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$matTranslation$byval_copy; src=$matTranslation; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixMultiply($0,$$byval_copy,$matTranslation$byval_copy); - dest=$1; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; -} -function _rlRotatef($angleDeg,$x,$y,$z) { - $angleDeg = +$angleDeg; - $x = +$x; - $y = +$y; - $z = +$z; - var $$byval_copy = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0, $axis = 0, $matRotation = 0, $matRotation$byval_copy = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 336|0; - $matRotation$byval_copy = sp + 272|0; - $$byval_copy = sp + 208|0; - $matRotation = sp + 144|0; - $axis = sp + 128|0; - $0 = sp + 64|0; - $1 = sp; - _MatrixIdentity($matRotation); - HEAPF32[$axis>>2] = $x; - $2 = ((($axis)) + 4|0); - HEAPF32[$2>>2] = $y; - $3 = ((($axis)) + 8|0); - HEAPF32[$3>>2] = $z; - _VectorNormalize($axis); - $4 = $angleDeg; - $5 = $4 * 0.017453292519943295; - $6 = $5; - ;HEAP32[$matRotation$byval_copy>>2]=HEAP32[$axis>>2]|0;HEAP32[$matRotation$byval_copy+4>>2]=HEAP32[$axis+4>>2]|0;HEAP32[$matRotation$byval_copy+8>>2]=HEAP32[$axis+8>>2]|0; - _MatrixRotate($0,$matRotation$byval_copy,$6); - dest=$matRotation; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixTranspose($matRotation); - $7 = HEAP32[1532>>2]|0; - dest=$$byval_copy; src=$7; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$matRotation$byval_copy; src=$matRotation; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixMultiply($1,$$byval_copy,$matRotation$byval_copy); - dest=$7; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; -} -function _rlMultMatrixf($m) { - $m = $m|0; - var $$byval_copy = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; - var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $mat = 0, $mat$byval_copy = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 256|0; - $mat$byval_copy = sp + 192|0; - $$byval_copy = sp + 128|0; - $mat = sp + 64|0; - $0 = sp; - $1 = HEAP32[$m>>2]|0; - HEAP32[$mat>>2] = $1; - $2 = ((($mat)) + 4|0); - $3 = ((($m)) + 4|0); - $4 = HEAP32[$3>>2]|0; - HEAP32[$2>>2] = $4; - $5 = ((($mat)) + 8|0); - $6 = ((($m)) + 8|0); - $7 = HEAP32[$6>>2]|0; - HEAP32[$5>>2] = $7; - $8 = ((($mat)) + 12|0); - $9 = ((($m)) + 12|0); - $10 = HEAP32[$9>>2]|0; - HEAP32[$8>>2] = $10; - $11 = ((($mat)) + 16|0); - $12 = ((($m)) + 16|0); - $13 = HEAP32[$12>>2]|0; - HEAP32[$11>>2] = $13; - $14 = ((($mat)) + 20|0); - $15 = ((($m)) + 20|0); - $16 = HEAP32[$15>>2]|0; - HEAP32[$14>>2] = $16; - $17 = ((($mat)) + 24|0); - $18 = ((($m)) + 24|0); - $19 = HEAP32[$18>>2]|0; - HEAP32[$17>>2] = $19; - $20 = ((($mat)) + 28|0); - $21 = ((($m)) + 28|0); - $22 = HEAP32[$21>>2]|0; - HEAP32[$20>>2] = $22; - $23 = ((($mat)) + 32|0); - $24 = ((($m)) + 32|0); - $25 = HEAP32[$24>>2]|0; - HEAP32[$23>>2] = $25; - $26 = ((($mat)) + 36|0); - $27 = ((($m)) + 36|0); - $28 = HEAP32[$27>>2]|0; - HEAP32[$26>>2] = $28; - $29 = ((($mat)) + 40|0); - $30 = ((($m)) + 40|0); - $31 = HEAP32[$30>>2]|0; - HEAP32[$29>>2] = $31; - $32 = ((($mat)) + 44|0); - $33 = ((($m)) + 44|0); - $34 = HEAP32[$33>>2]|0; - HEAP32[$32>>2] = $34; - $35 = ((($mat)) + 48|0); - $36 = ((($m)) + 48|0); - $37 = HEAP32[$36>>2]|0; - HEAP32[$35>>2] = $37; - $38 = ((($mat)) + 52|0); - $39 = ((($m)) + 52|0); - $40 = HEAP32[$39>>2]|0; - HEAP32[$38>>2] = $40; - $41 = ((($mat)) + 56|0); - $42 = ((($m)) + 56|0); - $43 = HEAP32[$42>>2]|0; - HEAP32[$41>>2] = $43; - $44 = ((($mat)) + 60|0); - $45 = ((($m)) + 60|0); - $46 = HEAP32[$45>>2]|0; - HEAP32[$44>>2] = $46; - $47 = HEAP32[1532>>2]|0; - dest=$$byval_copy; src=$47; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$mat$byval_copy; src=$mat; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixMultiply($0,$$byval_copy,$mat$byval_copy); - dest=$47; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; -} -function _rlOrtho($left,$right,$bottom,$top,$near,$far) { - $left = +$left; - $right = +$right; - $bottom = +$bottom; - $top = +$top; - $near = +$near; - $far = +$far; - var $$byval_copy = 0, $0 = 0, $1 = 0, $matOrtho = 0, $matOrtho$byval_copy = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 256|0; - $matOrtho$byval_copy = sp + 192|0; - $$byval_copy = sp + 128|0; - $matOrtho = sp + 64|0; - $0 = sp; - _MatrixOrtho($matOrtho,$left,$right,$bottom,$top,$near,$far); - _MatrixTranspose($matOrtho); - $1 = HEAP32[1532>>2]|0; - dest=$$byval_copy; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$matOrtho$byval_copy; src=$matOrtho; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixMultiply($0,$$byval_copy,$matOrtho$byval_copy); - dest=$1; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; -} -function _rlBegin($mode) { - $mode = $mode|0; - var label = 0, sp = 0; - sp = STACKTOP; - HEAP32[2636>>2] = $mode; - return; -} -function _rlEnd() { - var $$byval_copy = 0, $$lcssa = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0; - var $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0.0, $130 = 0, $131 = 0; - var $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0.0; - var $150 = 0, $151 = 0.0, $152 = 0.0, $16 = 0, $17 = 0.0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0; - var $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0; - var $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0; - var $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0; - var $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond = 0, $exitcond16 = 0, $exitcond17 = 0, $exitcond18 = 0, $i$013 = 0; - var $i1$011 = 0, $i2$04 = 0, $i4$05 = 0, $i6$09 = 0, $i7$07 = 0, $quads$1$promoted = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; - $$byval_copy = sp; - $0 = HEAP32[2632>>2]|0; - $1 = ($0|0)==(0); - if (!($1)) { - $2 = HEAP32[2640>>2]|0; - $3 = ($2|0)>(0); - if ($3) { - $i$013 = 0; - while(1) { - $4 = HEAP32[2644>>2]|0; - $5 = (($4) + (($i$013*12)|0)|0); - $6 = HEAP32[1532>>2]|0; - dest=$$byval_copy; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _VectorTransform($5,$$byval_copy); - $7 = (($i$013) + 1)|0; - $8 = HEAP32[2640>>2]|0; - $9 = ($7|0)<($8|0); - if ($9) { - $i$013 = $7; - } else { - $$lcssa = $8; - break; - } - } - HEAP32[2632>>2] = 0; - $10 = ($$lcssa|0)>(0); - if ($10) { - $i1$011 = 0; - while(1) { - $11 = HEAP32[2644>>2]|0; - $12 = (($11) + (($i1$011*12)|0)|0); - $13 = +HEAPF32[$12>>2]; - $14 = (((($11) + (($i1$011*12)|0)|0)) + 4|0); - $15 = +HEAPF32[$14>>2]; - $16 = (((($11) + (($i1$011*12)|0)|0)) + 8|0); - $17 = +HEAPF32[$16>>2]; - _rlVertex3f($13,$15,$17); - $18 = (($i1$011) + 1)|0; - $19 = HEAP32[2640>>2]|0; - $20 = ($18|0)<($19|0); - if ($20) { - $i1$011 = $18; - } else { - break; - } - } - } - } else { - HEAP32[2632>>2] = 0; - } - HEAP32[2640>>2] = 0; - } - $21 = HEAP32[2636>>2]|0; - switch ($21|0) { - case 0: { - $22 = HEAP32[2648>>2]|0; - $23 = HEAP32[2652>>2]|0; - $24 = ($22|0)>($23|0); - if (!($24)) { - $151 = +HEAPF32[2692>>2]; - $152 = $151 + 4.9999998736893758E-5; - HEAPF32[2692>>2] = $152; - STACKTOP = sp;return; - } - $25 = (($22) - ($23))|0; - $i2$04 = 0; - while(1) { - $26 = HEAP32[2652>>2]|0; - $27 = $26 << 2; - $28 = (($27) + -4)|0; - $29 = HEAP32[2656>>2]|0; - $30 = (($29) + ($28)|0); - $31 = HEAP8[$30>>0]|0; - $32 = (($29) + ($27)|0); - HEAP8[$32>>0] = $31; - $33 = HEAP32[2652>>2]|0; - $34 = $33 << 2; - $35 = (($34) + -3)|0; - $36 = HEAP32[2656>>2]|0; - $37 = (($36) + ($35)|0); - $38 = HEAP8[$37>>0]|0; - $39 = $34 | 1; - $40 = (($36) + ($39)|0); - HEAP8[$40>>0] = $38; - $41 = HEAP32[2652>>2]|0; - $42 = $41 << 2; - $43 = (($42) + -2)|0; - $44 = HEAP32[2656>>2]|0; - $45 = (($44) + ($43)|0); - $46 = HEAP8[$45>>0]|0; - $47 = $42 | 2; - $48 = (($44) + ($47)|0); - HEAP8[$48>>0] = $46; - $49 = HEAP32[2652>>2]|0; - $50 = $49 << 2; - $51 = (($50) + -1)|0; - $52 = HEAP32[2656>>2]|0; - $53 = (($52) + ($51)|0); - $54 = HEAP8[$53>>0]|0; - $55 = $50 | 3; - $56 = (($52) + ($55)|0); - HEAP8[$56>>0] = $54; - $57 = HEAP32[2652>>2]|0; - $58 = (($57) + 1)|0; - HEAP32[2652>>2] = $58; - $59 = (($i2$04) + 1)|0; - $exitcond = ($59|0)==($25|0); - if ($exitcond) { - break; - } else { - $i2$04 = $59; - } - } - $151 = +HEAPF32[2692>>2]; - $152 = $151 + 4.9999998736893758E-5; - HEAPF32[2692>>2] = $152; - STACKTOP = sp;return; - break; - } - case 1: { - $60 = HEAP32[2660>>2]|0; - $61 = HEAP32[2664>>2]|0; - $62 = ($60|0)>($61|0); - if (!($62)) { - $151 = +HEAPF32[2692>>2]; - $152 = $151 + 4.9999998736893758E-5; - HEAPF32[2692>>2] = $152; - STACKTOP = sp;return; - } - $63 = (($60) - ($61))|0; - $i4$05 = 0; - while(1) { - $64 = HEAP32[2664>>2]|0; - $65 = $64 << 2; - $66 = (($65) + -4)|0; - $67 = HEAP32[2668>>2]|0; - $68 = (($67) + ($66)|0); - $69 = HEAP8[$68>>0]|0; - $70 = (($67) + ($65)|0); - HEAP8[$70>>0] = $69; - $71 = HEAP32[2664>>2]|0; - $72 = $71 << 2; - $73 = (($72) + -3)|0; - $74 = HEAP32[2668>>2]|0; - $75 = (($74) + ($73)|0); - $76 = HEAP8[$75>>0]|0; - $77 = $72 | 1; - $78 = (($74) + ($77)|0); - HEAP8[$78>>0] = $76; - $79 = HEAP32[2664>>2]|0; - $80 = $79 << 2; - $81 = (($80) + -2)|0; - $82 = HEAP32[2668>>2]|0; - $83 = (($82) + ($81)|0); - $84 = HEAP8[$83>>0]|0; - $85 = $80 | 2; - $86 = (($82) + ($85)|0); - HEAP8[$86>>0] = $84; - $87 = HEAP32[2664>>2]|0; - $88 = $87 << 2; - $89 = (($88) + -1)|0; - $90 = HEAP32[2668>>2]|0; - $91 = (($90) + ($89)|0); - $92 = HEAP8[$91>>0]|0; - $93 = $88 | 3; - $94 = (($90) + ($93)|0); - HEAP8[$94>>0] = $92; - $95 = HEAP32[2664>>2]|0; - $96 = (($95) + 1)|0; - HEAP32[2664>>2] = $96; - $97 = (($i4$05) + 1)|0; - $exitcond16 = ($97|0)==($63|0); - if ($exitcond16) { - break; - } else { - $i4$05 = $97; - } - } - $151 = +HEAPF32[2692>>2]; - $152 = $151 + 4.9999998736893758E-5; - HEAPF32[2692>>2] = $152; - STACKTOP = sp;return; - break; - } - case 2: { - $98 = HEAP32[2672>>2]|0; - $99 = HEAP32[2676>>2]|0; - $100 = ($98|0)>($99|0); - if ($100) { - $101 = (($98) - ($99))|0; - $i6$09 = 0; - while(1) { - $102 = HEAP32[2676>>2]|0; - $103 = $102 << 2; - $104 = (($103) + -4)|0; - $105 = HEAP32[2680>>2]|0; - $106 = (($105) + ($104)|0); - $107 = HEAP8[$106>>0]|0; - $108 = (($105) + ($103)|0); - HEAP8[$108>>0] = $107; - $109 = HEAP32[2676>>2]|0; - $110 = $109 << 2; - $111 = (($110) + -3)|0; - $112 = HEAP32[2680>>2]|0; - $113 = (($112) + ($111)|0); - $114 = HEAP8[$113>>0]|0; - $115 = $110 | 1; - $116 = (($112) + ($115)|0); - HEAP8[$116>>0] = $114; - $117 = HEAP32[2676>>2]|0; - $118 = $117 << 2; - $119 = (($118) + -2)|0; - $120 = HEAP32[2680>>2]|0; - $121 = (($120) + ($119)|0); - $122 = HEAP8[$121>>0]|0; - $123 = $118 | 2; - $124 = (($120) + ($123)|0); - HEAP8[$124>>0] = $122; - $125 = HEAP32[2676>>2]|0; - $126 = $125 << 2; - $127 = (($126) + -1)|0; - $128 = HEAP32[2680>>2]|0; - $129 = (($128) + ($127)|0); - $130 = HEAP8[$129>>0]|0; - $131 = $126 | 3; - $132 = (($128) + ($131)|0); - HEAP8[$132>>0] = $130; - $133 = HEAP32[2676>>2]|0; - $134 = (($133) + 1)|0; - HEAP32[2676>>2] = $134; - $135 = (($i6$09) + 1)|0; - $exitcond18 = ($135|0)==($101|0); - if ($exitcond18) { - break; - } else { - $i6$09 = $135; - } - } - } - $136 = HEAP32[2672>>2]|0; - $137 = HEAP32[2684>>2]|0; - $138 = ($136|0)>($137|0); - if (!($138)) { - $151 = +HEAPF32[2692>>2]; - $152 = $151 + 4.9999998736893758E-5; - HEAPF32[2692>>2] = $152; - STACKTOP = sp;return; - } - $139 = HEAP32[2688>>2]|0; - $quads$1$promoted = HEAP32[2684>>2]|0; - $140 = (($136) + ($quads$1$promoted))|0; - $141 = (($136) - ($137))|0; - $143 = $quads$1$promoted;$i7$07 = 0; - while(1) { - $142 = $143 << 1; - $144 = (($139) + ($142<<2)|0); - HEAPF32[$144>>2] = 0.0; - $145 = $143 << 1; - $146 = $145 | 1; - $147 = (($139) + ($146<<2)|0); - HEAPF32[$147>>2] = 0.0; - $148 = (($143) + 1)|0; - $149 = (($i7$07) + 1)|0; - $exitcond17 = ($149|0)==($141|0); - if ($exitcond17) { - break; - } else { - $143 = $148;$i7$07 = $149; - } - } - $150 = (($140) - ($137))|0; - HEAP32[2684>>2] = $150; - $151 = +HEAPF32[2692>>2]; - $152 = $151 + 4.9999998736893758E-5; - HEAPF32[2692>>2] = $152; - STACKTOP = sp;return; - break; - } - default: { - $151 = +HEAPF32[2692>>2]; - $152 = $151 + 4.9999998736893758E-5; - HEAPF32[2692>>2] = $152; - STACKTOP = sp;return; - } - } -} -function _rlVertex3f($x,$y,$z) { - $x = +$x; - $y = +$y; - $z = +$z; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; - var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer3 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $vararg_buffer3 = sp + 16|0; - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $0 = HEAP32[2632>>2]|0; - $1 = ($0|0)==(0); - if (!($1)) { - $2 = HEAP32[2640>>2]|0; - $3 = HEAP32[2644>>2]|0; - $4 = (($3) + (($2*12)|0)|0); - HEAPF32[$4>>2] = $x; - $5 = HEAP32[2640>>2]|0; - $6 = HEAP32[2644>>2]|0; - $7 = (((($6) + (($5*12)|0)|0)) + 4|0); - HEAPF32[$7>>2] = $y; - $8 = HEAP32[2640>>2]|0; - $9 = HEAP32[2644>>2]|0; - $10 = (((($9) + (($8*12)|0)|0)) + 8|0); - HEAPF32[$10>>2] = $z; - $11 = HEAP32[2640>>2]|0; - $12 = (($11) + 1)|0; - HEAP32[2640>>2] = $12; - STACKTOP = sp;return; - } - $13 = HEAP32[2636>>2]|0; - switch ($13|0) { - case 0: { - $14 = HEAP32[2648>>2]|0; - $15 = ($14|0)<(2048); - if ($15) { - $16 = ($14*3)|0; - $17 = HEAP32[2696>>2]|0; - $18 = (($17) + ($16<<2)|0); - HEAPF32[$18>>2] = $x; - $19 = HEAP32[2648>>2]|0; - $20 = ($19*3)|0; - $21 = (($20) + 1)|0; - $22 = HEAP32[2696>>2]|0; - $23 = (($22) + ($21<<2)|0); - HEAPF32[$23>>2] = $y; - $24 = HEAP32[2648>>2]|0; - $25 = ($24*3)|0; - $26 = (($25) + 2)|0; - $27 = HEAP32[2696>>2]|0; - $28 = (($27) + ($26<<2)|0); - HEAPF32[$28>>2] = $z; - $29 = HEAP32[2648>>2]|0; - $30 = (($29) + 1)|0; - HEAP32[2648>>2] = $30; - STACKTOP = sp;return; - } else { - _TraceLog(1,10669,$vararg_buffer); - STACKTOP = sp;return; - } - break; - } - case 1: { - $31 = HEAP32[2660>>2]|0; - $32 = ($31|0)<(6144); - if ($32) { - $33 = ($31*3)|0; - $34 = HEAP32[2700>>2]|0; - $35 = (($34) + ($33<<2)|0); - HEAPF32[$35>>2] = $x; - $36 = HEAP32[2660>>2]|0; - $37 = ($36*3)|0; - $38 = (($37) + 1)|0; - $39 = HEAP32[2700>>2]|0; - $40 = (($39) + ($38<<2)|0); - HEAPF32[$40>>2] = $y; - $41 = HEAP32[2660>>2]|0; - $42 = ($41*3)|0; - $43 = (($42) + 2)|0; - $44 = HEAP32[2700>>2]|0; - $45 = (($44) + ($43<<2)|0); - HEAPF32[$45>>2] = $z; - $46 = HEAP32[2660>>2]|0; - $47 = (($46) + 1)|0; - HEAP32[2660>>2] = $47; - STACKTOP = sp;return; - } else { - _TraceLog(1,10694,$vararg_buffer1); - STACKTOP = sp;return; - } - break; - } - case 2: { - $48 = HEAP32[2672>>2]|0; - $49 = ($48|0)<(4096); - if ($49) { - $50 = ($48*3)|0; - $51 = HEAP32[2704>>2]|0; - $52 = (($51) + ($50<<2)|0); - HEAPF32[$52>>2] = $x; - $53 = HEAP32[2672>>2]|0; - $54 = ($53*3)|0; - $55 = (($54) + 1)|0; - $56 = HEAP32[2704>>2]|0; - $57 = (($56) + ($55<<2)|0); - HEAPF32[$57>>2] = $y; - $58 = HEAP32[2672>>2]|0; - $59 = ($58*3)|0; - $60 = (($59) + 2)|0; - $61 = HEAP32[2704>>2]|0; - $62 = (($61) + ($60<<2)|0); - HEAPF32[$62>>2] = $z; - $63 = HEAP32[2672>>2]|0; - $64 = (($63) + 1)|0; - HEAP32[2672>>2] = $64; - $65 = HEAP32[2708>>2]|0; - $66 = (($65) + -1)|0; - $67 = HEAP32[2712>>2]|0; - $68 = (((($67) + ($66<<3)|0)) + 4|0); - $69 = HEAP32[$68>>2]|0; - $70 = (($69) + 1)|0; - HEAP32[$68>>2] = $70; - STACKTOP = sp;return; - } else { - _TraceLog(1,10723,$vararg_buffer3); - STACKTOP = sp;return; - } - break; - } - default: { - STACKTOP = sp;return; - } - } -} -function _rlVertex2f($x,$y) { - $x = +$x; - $y = +$y; - var $0 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $0 = +HEAPF32[2692>>2]; - _rlVertex3f($x,$y,$0); - return; -} -function _rlVertex2i($x,$y) { - $x = $x|0; - $y = $y|0; - var $0 = 0.0, $1 = 0.0, $2 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (+($x|0)); - $1 = (+($y|0)); - $2 = +HEAPF32[2692>>2]; - _rlVertex3f($0,$1,$2); - return; -} -function _rlTexCoord2f($x,$y) { - $x = +$x; - $y = +$y; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[2636>>2]|0; - $1 = ($0|0)==(2); - if (!($1)) { - return; - } - $2 = HEAP32[2684>>2]|0; - $3 = $2 << 1; - $4 = HEAP32[2688>>2]|0; - $5 = (($4) + ($3<<2)|0); - HEAPF32[$5>>2] = $x; - $6 = HEAP32[2684>>2]|0; - $7 = $6 << 1; - $8 = $7 | 1; - $9 = HEAP32[2688>>2]|0; - $10 = (($9) + ($8<<2)|0); - HEAPF32[$10>>2] = $y; - $11 = HEAP32[2684>>2]|0; - $12 = (($11) + 1)|0; - HEAP32[2684>>2] = $12; - return; -} -function _rlNormal3f($x,$y,$z) { - $x = +$x; - $y = +$y; - $z = +$z; - var label = 0, sp = 0; - sp = STACKTOP; - return; -} -function _rlColor4ub($x,$y,$z,$w) { - $x = $x|0; - $y = $y|0; - $z = $z|0; - $w = $w|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; - var $63 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[2636>>2]|0; - switch ($0|0) { - case 0: { - $1 = HEAP32[2652>>2]|0; - $2 = $1 << 2; - $3 = HEAP32[2656>>2]|0; - $4 = (($3) + ($2)|0); - HEAP8[$4>>0] = $x; - $5 = HEAP32[2652>>2]|0; - $6 = $5 << 2; - $7 = $6 | 1; - $8 = HEAP32[2656>>2]|0; - $9 = (($8) + ($7)|0); - HEAP8[$9>>0] = $y; - $10 = HEAP32[2652>>2]|0; - $11 = $10 << 2; - $12 = $11 | 2; - $13 = HEAP32[2656>>2]|0; - $14 = (($13) + ($12)|0); - HEAP8[$14>>0] = $z; - $15 = HEAP32[2652>>2]|0; - $16 = $15 << 2; - $17 = $16 | 3; - $18 = HEAP32[2656>>2]|0; - $19 = (($18) + ($17)|0); - HEAP8[$19>>0] = $w; - $20 = HEAP32[2652>>2]|0; - $21 = (($20) + 1)|0; - HEAP32[2652>>2] = $21; - return; - break; - } - case 1: { - $22 = HEAP32[2664>>2]|0; - $23 = $22 << 2; - $24 = HEAP32[2668>>2]|0; - $25 = (($24) + ($23)|0); - HEAP8[$25>>0] = $x; - $26 = HEAP32[2664>>2]|0; - $27 = $26 << 2; - $28 = $27 | 1; - $29 = HEAP32[2668>>2]|0; - $30 = (($29) + ($28)|0); - HEAP8[$30>>0] = $y; - $31 = HEAP32[2664>>2]|0; - $32 = $31 << 2; - $33 = $32 | 2; - $34 = HEAP32[2668>>2]|0; - $35 = (($34) + ($33)|0); - HEAP8[$35>>0] = $z; - $36 = HEAP32[2664>>2]|0; - $37 = $36 << 2; - $38 = $37 | 3; - $39 = HEAP32[2668>>2]|0; - $40 = (($39) + ($38)|0); - HEAP8[$40>>0] = $w; - $41 = HEAP32[2664>>2]|0; - $42 = (($41) + 1)|0; - HEAP32[2664>>2] = $42; - return; - break; - } - case 2: { - $43 = HEAP32[2676>>2]|0; - $44 = $43 << 2; - $45 = HEAP32[2680>>2]|0; - $46 = (($45) + ($44)|0); - HEAP8[$46>>0] = $x; - $47 = HEAP32[2676>>2]|0; - $48 = $47 << 2; - $49 = $48 | 1; - $50 = HEAP32[2680>>2]|0; - $51 = (($50) + ($49)|0); - HEAP8[$51>>0] = $y; - $52 = HEAP32[2676>>2]|0; - $53 = $52 << 2; - $54 = $53 | 2; - $55 = HEAP32[2680>>2]|0; - $56 = (($55) + ($54)|0); - HEAP8[$56>>0] = $z; - $57 = HEAP32[2676>>2]|0; - $58 = $57 << 2; - $59 = $58 | 3; - $60 = HEAP32[2680>>2]|0; - $61 = (($60) + ($59)|0); - HEAP8[$61>>0] = $w; - $62 = HEAP32[2676>>2]|0; - $63 = (($62) + 1)|0; - HEAP32[2676>>2] = $63; - return; - break; - } - default: { - return; - } - } -} -function _rlEnableTexture($id) { - $id = $id|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[2708>>2]|0; - $1 = (($0) + -1)|0; - $2 = HEAP32[2712>>2]|0; - $3 = (($2) + ($1<<3)|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)==($id|0); - if ($5) { - return; - } - $6 = (((($2) + ($1<<3)|0)) + 4|0); - $7 = HEAP32[$6>>2]|0; - $8 = ($7|0)>(0); - if ($8) { - $9 = (($0) + 1)|0; - HEAP32[2708>>2] = $9; - } - $10 = HEAP32[2708>>2]|0; - $11 = (($10) + -1)|0; - $12 = HEAP32[2712>>2]|0; - $13 = (($12) + ($11<<3)|0); - HEAP32[$13>>2] = $id; - $14 = HEAP32[2708>>2]|0; - $15 = (($14) + -1)|0; - $16 = HEAP32[2712>>2]|0; - $17 = (((($16) + ($15<<3)|0)) + 4|0); - HEAP32[$17>>2] = 0; - return; -} -function _rlDisableTexture() { - var label = 0, sp = 0; - sp = STACKTOP; - return; -} -function _rlDeleteTextures($id) { - $id = $id|0; - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $id; - _glDeleteTextures(1,($0|0)); - STACKTOP = sp;return; -} -function _rlClearColor($r,$g,$b,$a) { - $r = $r|0; - $g = $g|0; - $b = $b|0; - $a = $a|0; - var $0 = 0.0, $1 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (+($r&255)); - $1 = $0 / 255.0; - $2 = (+($g&255)); - $3 = $2 / 255.0; - $4 = (+($b&255)); - $5 = $4 / 255.0; - $6 = (+($a&255)); - $7 = $6 / 255.0; - _glClearColor((+$1),(+$3),(+$5),(+$7)); - return; -} -function _rlClearScreenBuffers() { - var label = 0, sp = 0; - sp = STACKTOP; - _glClear(16640); - return; -} -function _rlGetVersion() { - var label = 0, sp = 0; - sp = STACKTOP; - return 3; -} -function _rlglInit() { - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; - var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond10 = 0, $exitcond12 = 0, $i$04 = 0, $i2$02 = 0, $i3$01 = 0, $numExt$0$lcssa = 0, $numExt$05 = 0; - var $pixels = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer13 = 0, $vararg_buffer15 = 0, $vararg_buffer17 = 0, $vararg_buffer19 = 0, $vararg_buffer21 = 0, $vararg_buffer23 = 0, $vararg_buffer25 = 0, $vararg_buffer27 = 0, $vararg_buffer29 = 0, $vararg_buffer31 = 0, $vararg_buffer34 = 0, $vararg_buffer4 = 0, $vararg_buffer7 = 0, dest = 0, label = 0, sp = 0; - var src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 2416|0; - $vararg_buffer34 = sp + 2160|0; - $vararg_buffer31 = sp + 2152|0; - $vararg_buffer29 = sp + 2144|0; - $vararg_buffer27 = sp + 2136|0; - $vararg_buffer25 = sp + 2128|0; - $vararg_buffer23 = sp + 2120|0; - $vararg_buffer21 = sp + 2112|0; - $vararg_buffer19 = sp + 2104|0; - $vararg_buffer17 = sp + 2096|0; - $vararg_buffer15 = sp + 2088|0; - $vararg_buffer13 = sp + 2080|0; - $vararg_buffer10 = sp + 2072|0; - $vararg_buffer7 = sp + 24|0; - $vararg_buffer4 = sp + 16|0; - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $0 = sp + 2352|0; - $1 = sp + 2288|0; - $2 = sp + 2224|0; - $pixels = sp + 2216|0; - $3 = sp + 2176|0; - $4 = sp + 2164|0; - $5 = (_glGetString(7936)|0); - HEAP32[$vararg_buffer>>2] = $5; - _TraceLog(0,10748,$vararg_buffer); - $6 = (_glGetString(7937)|0); - HEAP32[$vararg_buffer1>>2] = $6; - _TraceLog(0,10766,$vararg_buffer1); - $7 = (_glGetString(7938)|0); - HEAP32[$vararg_buffer4>>2] = $7; - _TraceLog(0,10784,$vararg_buffer4); - $8 = (_glGetString(35724)|0); - HEAP32[$vararg_buffer7>>2] = $8; - _TraceLog(0,10802,$vararg_buffer7); - $9 = (_glGetString(7939)|0); - $10 = (_mystrdup($9)|0); - $11 = (_strtok($10,10820)|0); - HEAP32[$vararg_buffer7>>2] = $11; - $12 = ($11|0)==(0|0); - if ($12) { - $numExt$0$lcssa = -1; - } else { - $numExt$05 = 0; - while(1) { - $13 = (($numExt$05) + 1)|0; - $14 = (_strtok(0,10820)|0); - $15 = (($vararg_buffer7) + ($13<<2)|0); - HEAP32[$15>>2] = $14; - $16 = ($14|0)==(0|0); - if ($16) { - $numExt$0$lcssa = $numExt$05; - break; - } else { - $numExt$05 = $13; - } - } - } - _free($10); - HEAP32[$vararg_buffer10>>2] = $numExt$0$lcssa; - _TraceLog(0,10822,$vararg_buffer10); - $17 = ($numExt$0$lcssa|0)>(0); - if ($17) { - $i$04 = 0; - while(1) { - $18 = (($vararg_buffer7) + ($i$04<<2)|0); - $19 = HEAP32[$18>>2]|0; - $20 = (_strcmp($19,10857)|0); - $21 = ($20|0)==(0); - if ($21) { - HEAP32[2716>>2] = 1; - $22 = (_eglGetProcAddress((10884|0))|0); - HEAP32[2724>>2] = $22; - $23 = (_eglGetProcAddress((10905|0))|0); - HEAP32[2728>>2] = $23; - $24 = (_eglGetProcAddress((10926|0))|0); - HEAP32[2720>>2] = $24; - } - $25 = HEAP32[$18>>2]|0; - $26 = (_strcmp($25,10950)|0); - $27 = ($26|0)==(0); - if ($27) { - HEAP32[2732>>2] = 1; - } - $28 = HEAP32[$18>>2]|0; - $29 = (_strcmp($28,10970)|0); - $30 = ($29|0)==(0); - if ($30) { - label = 10; - } else { - $31 = (_strcmp($28,11002)|0); - $32 = ($31|0)==(0); - if ($32) { - label = 10; - } - } - if ((label|0) == 10) { - label = 0; - HEAP32[2736>>2] = 1; - } - $33 = HEAP32[$18>>2]|0; - $34 = (_strcmp($33,11042)|0); - $35 = ($34|0)==(0); - if ($35) { - HEAP32[2740>>2] = 1; - } - $36 = HEAP32[$18>>2]|0; - $37 = (_strcmp($36,11078)|0); - $38 = ($37|0)==(0); - if ($38) { - HEAP32[2744>>2] = 1; - } - $39 = HEAP32[$18>>2]|0; - $40 = (_strcmp($39,11103)|0); - $41 = ($40|0)==(0); - if ($41) { - HEAP32[2748>>2] = 1; - } - $42 = HEAP32[$18>>2]|0; - $43 = (_strcmp($42,11136)|0); - $44 = ($43|0)==(0); - if ($44) { - HEAP32[2752>>2] = 1; - } - $45 = (($i$04) + 1)|0; - $exitcond12 = ($45|0)==($numExt$0$lcssa|0); - if ($exitcond12) { - break; - } else { - $i$04 = $45; - } - } - } - $46 = HEAP32[2716>>2]|0; - $47 = ($46|0)==(0); - if ($47) { - _TraceLog(2,11247,$vararg_buffer15); - } else { - _TraceLog(0,11172,$vararg_buffer13); - } - $48 = HEAP32[2732>>2]|0; - $49 = ($48|0)==(0); - if ($49) { - _TraceLog(2,11383,$vararg_buffer19); - } else { - _TraceLog(0,11308,$vararg_buffer17); - } - $50 = HEAP32[2736>>2]|0; - $51 = ($50|0)==(0); - if (!($51)) { - _TraceLog(0,11475,$vararg_buffer21); - } - $52 = HEAP32[2740>>2]|0; - $53 = ($52|0)==(0); - if (!($53)) { - _TraceLog(0,11521,$vararg_buffer23); - } - $54 = HEAP32[2744>>2]|0; - $55 = ($54|0)==(0); - if (!($55)) { - _TraceLog(0,11568,$vararg_buffer25); - } - $56 = HEAP32[2748>>2]|0; - $57 = ($56|0)==(0); - if (!($57)) { - _TraceLog(0,11619,$vararg_buffer27); - } - $58 = HEAP32[2752>>2]|0; - $59 = ($58|0)==(0); - if (!($59)) { - _TraceLog(0,11666,$vararg_buffer29); - } - HEAP32[2636>>2] = 1; - _MatrixIdentity($0); - dest=1468; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($1); - dest=1536; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - HEAP32[1532>>2] = 1536; - _MatrixIdentity($2); - dest=1608; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($2); - dest=(1672); src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($2); - dest=(1736); src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($2); - dest=(1800); src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($2); - dest=(1864); src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($2); - dest=(1928); src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($2); - dest=(1992); src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($2); - dest=(2056); src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($2); - dest=(2120); src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($2); - dest=(2184); src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($2); - dest=(2248); src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($2); - dest=(2312); src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($2); - dest=(2376); src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($2); - dest=(2440); src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($2); - dest=(2504); src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($2); - dest=(2568); src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - HEAP32[$pixels>>2] = -1; - $60 = (_rlglLoadTexture($pixels,1,1,7,1)|0); - HEAP32[1272>>2] = $60; - $61 = ($60|0)==(0); - if ($61) { - _TraceLog(2,11764,$vararg_buffer34); - } else { - HEAP32[$vararg_buffer31>>2] = $60; - _TraceLog(0,11713,$vararg_buffer31); - } - _LoadDefaultShader($3); - dest=2756; src=$3; stop=dest+40|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=2796; src=$3; stop=dest+40|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _InitializeBuffers(); - _InitializeBuffersGPU(); - $62 = (_malloc(49152)|0); - HEAP32[2644>>2] = $62; - $i2$02 = 0; - while(1) { - $63 = HEAP32[2644>>2]|0; - $64 = (($63) + (($i2$02*12)|0)|0); - _VectorZero($4); - ;HEAP32[$64>>2]=HEAP32[$4>>2]|0;HEAP32[$64+4>>2]=HEAP32[$4+4>>2]|0;HEAP32[$64+8>>2]=HEAP32[$4+8>>2]|0; - $65 = (($i2$02) + 1)|0; - $exitcond10 = ($65|0)==(4096); - if ($exitcond10) { - break; - } else { - $i2$02 = $65; - } - } - $66 = (_malloc(2048)|0); - HEAP32[2712>>2] = $66; - $i3$01 = 0; - while(1) { - $67 = (($66) + ($i3$01<<3)|0); - HEAP32[$67>>2] = 0; - $68 = (((($66) + ($i3$01<<3)|0)) + 4|0); - HEAP32[$68>>2] = 0; - $69 = (($i3$01) + 1)|0; - $exitcond = ($69|0)==(256); - if ($exitcond) { - break; - } else { - $i3$01 = $69; - } - } - HEAP32[2708>>2] = 1; - $70 = HEAP32[1272>>2]|0; - $71 = HEAP32[2712>>2]|0; - HEAP32[$71>>2] = $70; - STACKTOP = sp;return; -} -function _rlglLoadTexture($data,$width,$height,$textureFormat,$mipmapCount) { - $data = $data|0; - $width = $width|0; - $height = $height|0; - $textureFormat = $textureFormat|0; - $mipmapCount = $mipmapCount|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $5 = 0, $6 = 0; - var $7 = 0, $8 = 0, $9 = 0, $id = 0, $or$cond = 0, $or$cond20 = 0, $or$cond22 = 0, $or$cond24 = 0, $or$cond9 = 0, $switch = 0, $textureFormat$off = 0, $textureFormat$off16 = 0, $textureFormat$off17 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer11 = 0, $vararg_buffer15 = 0, $vararg_buffer3 = 0, $vararg_buffer5 = 0, $vararg_buffer7 = 0; - var $vararg_buffer9 = 0, $vararg_ptr13 = 0, $vararg_ptr14 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 80|0; - $vararg_buffer15 = sp + 64|0; - $vararg_buffer11 = sp + 48|0; - $vararg_buffer9 = sp + 40|0; - $vararg_buffer7 = sp + 32|0; - $vararg_buffer5 = sp + 24|0; - $vararg_buffer3 = sp + 16|0; - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $id = sp + 68|0; - _glBindTexture(3553,0); - HEAP32[$id>>2] = 0; - $0 = HEAP32[2736>>2]|0; - $1 = ($0|0)==(0); - $2 = $textureFormat & -4; - $switch = ($2|0)==(8); - $or$cond24 = $switch & $1; - if ($or$cond24) { - _TraceLog(2,11803,$vararg_buffer); - $$0 = HEAP32[$id>>2]|0; - STACKTOP = sp;return ($$0|0); - } - $3 = HEAP32[2740>>2]|0; - $4 = ($3|0)==(0); - $5 = ($textureFormat|0)==(12); - $or$cond9 = $5 & $4; - if ($or$cond9) { - _TraceLog(2,11847,$vararg_buffer1); - $$0 = HEAP32[$id>>2]|0; - STACKTOP = sp;return ($$0|0); - } - $6 = HEAP32[2744>>2]|0; - $7 = ($6|0)==(0); - $textureFormat$off = (($textureFormat) + -13)|0; - $8 = ($textureFormat$off>>>0)<(2); - $or$cond = $8 & $7; - if ($or$cond) { - _TraceLog(2,11892,$vararg_buffer3); - $$0 = HEAP32[$id>>2]|0; - STACKTOP = sp;return ($$0|0); - } - $9 = HEAP32[2748>>2]|0; - $10 = ($9|0)==(0); - $textureFormat$off16 = (($textureFormat) + -15)|0; - $11 = ($textureFormat$off16>>>0)<(2); - $or$cond20 = $11 & $10; - if ($or$cond20) { - _TraceLog(2,11937,$vararg_buffer5); - $$0 = HEAP32[$id>>2]|0; - STACKTOP = sp;return ($$0|0); - } - $12 = HEAP32[2752>>2]|0; - $13 = ($12|0)==(0); - $textureFormat$off17 = (($textureFormat) + -17)|0; - $14 = ($textureFormat$off17>>>0)<(2); - $or$cond22 = $14 & $13; - if ($or$cond22) { - _TraceLog(2,11982,$vararg_buffer7); - $$0 = HEAP32[$id>>2]|0; - STACKTOP = sp;return ($$0|0); - } - _glGenTextures(1,($id|0)); - $15 = HEAP32[$id>>2]|0; - _glBindTexture(3553,($15|0)); - do { - switch ($textureFormat|0) { - case 1: { - _glTexImage2D(3553,0,6409,($width|0),($height|0),0,6409,5121,($data|0)); - break; - } - case 2: { - _glTexImage2D(3553,0,6410,($width|0),($height|0),0,6410,5121,($data|0)); - break; - } - case 3: { - _glTexImage2D(3553,0,6407,($width|0),($height|0),0,6407,33635,($data|0)); - break; - } - case 4: { - _glTexImage2D(3553,0,6407,($width|0),($height|0),0,6407,5121,($data|0)); - break; - } - case 5: { - _glTexImage2D(3553,0,6408,($width|0),($height|0),0,6408,32820,($data|0)); - break; - } - case 6: { - _glTexImage2D(3553,0,6408,($width|0),($height|0),0,6408,32819,($data|0)); - break; - } - case 7: { - _glTexImage2D(3553,0,6408,($width|0),($height|0),0,6408,5121,($data|0)); - break; - } - case 8: { - $16 = HEAP32[2736>>2]|0; - $17 = ($16|0)==(0); - if (!($17)) { - _LoadCompressedTexture($data,$width,$height,$mipmapCount,33776); - } - break; - } - case 9: { - $18 = HEAP32[2736>>2]|0; - $19 = ($18|0)==(0); - if (!($19)) { - _LoadCompressedTexture($data,$width,$height,$mipmapCount,33777); - } - break; - } - case 10: { - $20 = HEAP32[2736>>2]|0; - $21 = ($20|0)==(0); - if (!($21)) { - _LoadCompressedTexture($data,$width,$height,$mipmapCount,33778); - } - break; - } - case 11: { - $22 = HEAP32[2736>>2]|0; - $23 = ($22|0)==(0); - if (!($23)) { - _LoadCompressedTexture($data,$width,$height,$mipmapCount,33779); - } - break; - } - case 12: { - $24 = HEAP32[2740>>2]|0; - $25 = ($24|0)==(0); - if (!($25)) { - _LoadCompressedTexture($data,$width,$height,$mipmapCount,36196); - } - break; - } - case 13: { - $26 = HEAP32[2744>>2]|0; - $27 = ($26|0)==(0); - if (!($27)) { - _LoadCompressedTexture($data,$width,$height,$mipmapCount,37492); - } - break; - } - case 14: { - $28 = HEAP32[2744>>2]|0; - $29 = ($28|0)==(0); - if (!($29)) { - _LoadCompressedTexture($data,$width,$height,$mipmapCount,37496); - } - break; - } - case 15: { - $30 = HEAP32[2748>>2]|0; - $31 = ($30|0)==(0); - if (!($31)) { - _LoadCompressedTexture($data,$width,$height,$mipmapCount,35840); - } - break; - } - case 16: { - $32 = HEAP32[2748>>2]|0; - $33 = ($32|0)==(0); - if (!($33)) { - _LoadCompressedTexture($data,$width,$height,$mipmapCount,35842); - } - break; - } - case 17: { - $34 = HEAP32[2752>>2]|0; - $35 = ($34|0)==(0); - if (!($35)) { - _LoadCompressedTexture($data,$width,$height,$mipmapCount,37808); - } - break; - } - case 18: { - $36 = HEAP32[2752>>2]|0; - $37 = ($36|0)==(0); - if (!($37)) { - _LoadCompressedTexture($data,$width,$height,$mipmapCount,37815); - } - break; - } - default: { - _TraceLog(2,12027,$vararg_buffer9); - } - } - } while(0); - $38 = HEAP32[2732>>2]|0; - $39 = ($38|0)==(0); - if ($39) { - _glTexParameteri(3553,10242,33071); - _glTexParameteri(3553,10243,33071); - } else { - _glTexParameteri(3553,10242,10497); - _glTexParameteri(3553,10243,10497); - } - _glTexParameteri(3553,10240,9728); - _glTexParameteri(3553,10241,9728); - _glBindTexture(3553,0); - $40 = HEAP32[$id>>2]|0; - $41 = ($40|0)==(0); - if ($41) { - _TraceLog(2,12105,$vararg_buffer15); - $$0 = HEAP32[$id>>2]|0; - STACKTOP = sp;return ($$0|0); - } else { - HEAP32[$vararg_buffer11>>2] = $40; - $vararg_ptr13 = ((($vararg_buffer11)) + 4|0); - HEAP32[$vararg_ptr13>>2] = $width; - $vararg_ptr14 = ((($vararg_buffer11)) + 8|0); - HEAP32[$vararg_ptr14>>2] = $height; - _TraceLog(0,12056,$vararg_buffer11); - $$0 = HEAP32[$id>>2]|0; - STACKTOP = sp;return ($$0|0); - } - return (0)|0; -} -function _rlglClose() { - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0; - var label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $vararg_buffer = sp; - $0 = HEAP32[2716>>2]|0; - $1 = ($0|0)==(0); - if (!($1)) { - $2 = HEAP32[2728>>2]|0; - FUNCTION_TABLE_vi[$2 & 31](0); - } - _glDisableVertexAttribArray(0); - _glDisableVertexAttribArray(1); - _glDisableVertexAttribArray(2); - _glDisableVertexAttribArray(3); - _glBindBuffer(34962,0); - _glBindBuffer(34963,0); - _glUseProgram(0); - _glDeleteBuffers(1,(2836|0)); - _glDeleteBuffers(1,((2840)|0)); - _glDeleteBuffers(1,(2844|0)); - _glDeleteBuffers(1,((2848)|0)); - _glDeleteBuffers(1,(2852|0)); - _glDeleteBuffers(1,((2856)|0)); - _glDeleteBuffers(1,((2860)|0)); - _glDeleteBuffers(1,((2864)|0)); - $3 = HEAP32[2716>>2]|0; - $4 = ($3|0)==(0); - if (!($4)) { - $5 = HEAP32[2720>>2]|0; - FUNCTION_TABLE_vii[$5 & 63](1,2868); - $6 = HEAP32[2720>>2]|0; - FUNCTION_TABLE_vii[$6 & 63](1,2872); - $7 = HEAP32[2720>>2]|0; - FUNCTION_TABLE_vii[$7 & 63](1,2876); - } - $8 = HEAP32[2756>>2]|0; - _glDeleteProgram(($8|0)); - $9 = HEAP32[2696>>2]|0; - _free($9); - $10 = HEAP32[2656>>2]|0; - _free($10); - $11 = HEAP32[2700>>2]|0; - _free($11); - $12 = HEAP32[2668>>2]|0; - _free($12); - $13 = HEAP32[2704>>2]|0; - _free($13); - $14 = HEAP32[2688>>2]|0; - _free($14); - $15 = HEAP32[2680>>2]|0; - _free($15); - $16 = HEAP32[2880>>2]|0; - _free($16); - _glDeleteTextures(1,(1272|0)); - $17 = HEAP32[1272>>2]|0; - HEAP32[$vararg_buffer>>2] = $17; - _TraceLog(0,12134,$vararg_buffer); - $18 = HEAP32[2712>>2]|0; - _free($18); - STACKTOP = sp;return; -} -function _rlglDraw() { - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; - var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0; - var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $i$05 = 0, $indicesOffset$04 = 0, $matMVP = 0, $matMVP$byval_copy = 0, $modelview$byval_copy = 0, $or$cond = 0; - var $or$cond3 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 192|0; - $matMVP$byval_copy = sp + 128|0; - $modelview$byval_copy = sp + 64|0; - $matMVP = sp; - _UpdateBuffers(); - $0 = HEAP32[2648>>2]|0; - $1 = ($0|0)>(0); - $2 = HEAP32[2660>>2]|0; - $3 = ($2|0)>(0); - $or$cond = $1 | $3; - $4 = HEAP32[2672>>2]|0; - $5 = ($4|0)>(0); - $or$cond3 = $or$cond | $5; - if ($or$cond3) { - $6 = HEAP32[2796>>2]|0; - _glUseProgram(($6|0)); - dest=$modelview$byval_copy; src=1536; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$matMVP$byval_copy; src=1468; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixMultiply($matMVP,$modelview$byval_copy,$matMVP$byval_copy); - $7 = HEAP32[(2816)>>2]|0; - dest=$matMVP$byval_copy; src=$matMVP; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $8 = (_MatrixToFloat($matMVP$byval_copy)|0); - _glUniformMatrix4fv(($7|0),1,0,($8|0)); - $9 = HEAP32[(2824)>>2]|0; - _glUniform1i(($9|0),0); - $10 = HEAP32[(2820)>>2]|0; - _glUniform4f(($10|0),1.0,1.0,1.0,1.0); - } - $11 = HEAP32[2648>>2]|0; - $12 = ($11|0)>(0); - if ($12) { - $13 = HEAP32[1272>>2]|0; - _glBindTexture(3553,($13|0)); - $14 = HEAP32[2716>>2]|0; - $15 = ($14|0)==(0); - if ($15) { - $18 = HEAP32[2836>>2]|0; - _glBindBuffer(34962,($18|0)); - $19 = HEAP32[(2800)>>2]|0; - _glVertexAttribPointer(($19|0),3,5126,0,0,(0|0)); - $20 = HEAP32[(2800)>>2]|0; - _glEnableVertexAttribArray(($20|0)); - $21 = HEAP32[(2812)>>2]|0; - $22 = ($21|0)==(-1); - if (!($22)) { - $23 = HEAP32[(2840)>>2]|0; - _glBindBuffer(34962,($23|0)); - $24 = HEAP32[(2812)>>2]|0; - _glVertexAttribPointer(($24|0),4,5121,1,0,(0|0)); - $25 = HEAP32[(2812)>>2]|0; - _glEnableVertexAttribArray(($25|0)); - } - } else { - $16 = HEAP32[2728>>2]|0; - $17 = HEAP32[2868>>2]|0; - FUNCTION_TABLE_vi[$16 & 31]($17); - } - $26 = HEAP32[2648>>2]|0; - _glDrawArrays(1,0,($26|0)); - $27 = HEAP32[2716>>2]|0; - $28 = ($27|0)==(0); - if ($28) { - _glBindBuffer(34962,0); - } - _glBindTexture(3553,0); - } - $29 = HEAP32[2660>>2]|0; - $30 = ($29|0)>(0); - if ($30) { - $31 = HEAP32[1272>>2]|0; - _glBindTexture(3553,($31|0)); - $32 = HEAP32[2716>>2]|0; - $33 = ($32|0)==(0); - if ($33) { - $36 = HEAP32[2844>>2]|0; - _glBindBuffer(34962,($36|0)); - $37 = HEAP32[(2800)>>2]|0; - _glVertexAttribPointer(($37|0),3,5126,0,0,(0|0)); - $38 = HEAP32[(2800)>>2]|0; - _glEnableVertexAttribArray(($38|0)); - $39 = HEAP32[(2812)>>2]|0; - $40 = ($39|0)==(-1); - if (!($40)) { - $41 = HEAP32[(2848)>>2]|0; - _glBindBuffer(34962,($41|0)); - $42 = HEAP32[(2812)>>2]|0; - _glVertexAttribPointer(($42|0),4,5121,1,0,(0|0)); - $43 = HEAP32[(2812)>>2]|0; - _glEnableVertexAttribArray(($43|0)); - } - } else { - $34 = HEAP32[2728>>2]|0; - $35 = HEAP32[2872>>2]|0; - FUNCTION_TABLE_vi[$34 & 31]($35); - } - $44 = HEAP32[2660>>2]|0; - _glDrawArrays(4,0,($44|0)); - $45 = HEAP32[2716>>2]|0; - $46 = ($45|0)==(0); - if ($46) { - _glBindBuffer(34962,0); - } - _glBindTexture(3553,0); - } - $47 = HEAP32[2672>>2]|0; - $48 = ($47|0)>(0); - if ($48) { - $49 = HEAP32[2716>>2]|0; - $50 = ($49|0)==(0); - if ($50) { - $53 = HEAP32[2852>>2]|0; - _glBindBuffer(34962,($53|0)); - $54 = HEAP32[(2800)>>2]|0; - _glVertexAttribPointer(($54|0),3,5126,0,0,(0|0)); - $55 = HEAP32[(2800)>>2]|0; - _glEnableVertexAttribArray(($55|0)); - $56 = HEAP32[(2856)>>2]|0; - _glBindBuffer(34962,($56|0)); - $57 = HEAP32[(2804)>>2]|0; - _glVertexAttribPointer(($57|0),2,5126,0,0,(0|0)); - $58 = HEAP32[(2804)>>2]|0; - _glEnableVertexAttribArray(($58|0)); - $59 = HEAP32[(2812)>>2]|0; - $60 = ($59|0)==(-1); - if (!($60)) { - $61 = HEAP32[(2860)>>2]|0; - _glBindBuffer(34962,($61|0)); - $62 = HEAP32[(2812)>>2]|0; - _glVertexAttribPointer(($62|0),4,5121,1,0,(0|0)); - $63 = HEAP32[(2812)>>2]|0; - _glEnableVertexAttribArray(($63|0)); - } - $64 = HEAP32[(2864)>>2]|0; - _glBindBuffer(34963,($64|0)); - } else { - $51 = HEAP32[2728>>2]|0; - $52 = HEAP32[2876>>2]|0; - FUNCTION_TABLE_vi[$51 & 31]($52); - } - $65 = HEAP32[2708>>2]|0; - $66 = ($65|0)>(0); - if ($66) { - $i$05 = 0;$indicesOffset$04 = 0; - while(1) { - $67 = HEAP32[2712>>2]|0; - $68 = (((($67) + ($i$05<<3)|0)) + 4|0); - $69 = HEAP32[$68>>2]|0; - $70 = (($69|0) / 4)&-1; - $71 = ($70*6)|0; - $72 = (($67) + ($i$05<<3)|0); - $73 = HEAP32[$72>>2]|0; - _glBindTexture(3553,($73|0)); - $74 = $indicesOffset$04 << 1; - $75 = $74; - _glDrawElements(4,($71|0),5123,($75|0)); - $76 = HEAP32[2712>>2]|0; - $77 = (((($76) + ($i$05<<3)|0)) + 4|0); - $78 = HEAP32[$77>>2]|0; - $79 = (($78|0) / 4)&-1; - $80 = ($79*6)|0; - $81 = (($80) + ($indicesOffset$04))|0; - $82 = (($i$05) + 1)|0; - $83 = HEAP32[2708>>2]|0; - $84 = ($82|0)<($83|0); - if ($84) { - $i$05 = $82;$indicesOffset$04 = $81; - } else { - break; - } - } - } - $85 = HEAP32[2716>>2]|0; - $86 = ($85|0)==(0); - if ($86) { - _glBindBuffer(34962,0); - _glBindBuffer(34963,0); - } - _glBindTexture(3553,0); - } - $87 = HEAP32[2716>>2]|0; - $88 = ($87|0)==(0); - if ($88) { - _glUseProgram(0); - HEAP32[2708>>2] = 1; - $90 = HEAP32[1272>>2]|0; - $91 = HEAP32[2712>>2]|0; - HEAP32[$91>>2] = $90; - $92 = HEAP32[2712>>2]|0; - $93 = ((($92)) + 4|0); - HEAP32[$93>>2] = 0; - HEAP32[2648>>2] = 0; - HEAP32[2652>>2] = 0; - HEAP32[2660>>2] = 0; - HEAP32[2664>>2] = 0; - HEAP32[2672>>2] = 0; - HEAP32[2684>>2] = 0; - HEAP32[2676>>2] = 0; - HEAPF32[2692>>2] = -1.0; - STACKTOP = sp;return; - } - $89 = HEAP32[2728>>2]|0; - FUNCTION_TABLE_vi[$89 & 31](0); - _glUseProgram(0); - HEAP32[2708>>2] = 1; - $90 = HEAP32[1272>>2]|0; - $91 = HEAP32[2712>>2]|0; - HEAP32[$91>>2] = $90; - $92 = HEAP32[2712>>2]|0; - $93 = ((($92)) + 4|0); - HEAP32[$93>>2] = 0; - HEAP32[2648>>2] = 0; - HEAP32[2652>>2] = 0; - HEAP32[2660>>2] = 0; - HEAP32[2664>>2] = 0; - HEAP32[2672>>2] = 0; - HEAP32[2684>>2] = 0; - HEAP32[2676>>2] = 0; - HEAPF32[2692>>2] = -1.0; - STACKTOP = sp;return; -} -function _rlglInitGraphics($offsetX,$offsetY,$width,$height) { - $offsetX = $offsetX|0; - $offsetY = $offsetY|0; - $width = $width|0; - $height = $height|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0.0, $5 = 0.0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $vararg_buffer = sp; - $0 = (($offsetX|0) / 2)&-1; - $1 = (($offsetY|0) / 2)&-1; - $2 = (($width) - ($offsetX))|0; - $3 = (($height) - ($offsetY))|0; - _glViewport(($0|0),($1|0),($2|0),($3|0)); - _glClearColor(0.0,0.0,0.0,1.0); - _glClear(16640); - _glDisable(2929); - _glDepthFunc(515); - _glEnable(3042); - _glBlendFunc(770,771); - _rlMatrixMode(0); - _rlLoadIdentity(); - $4 = (+($2|0)); - $5 = (+($3|0)); - _rlOrtho(0.0,$4,$5,0.0,0.0,1.0); - _rlMatrixMode(1); - _rlLoadIdentity(); - _glEnable(2884); - _TraceLog(0,12199,$vararg_buffer); - STACKTOP = sp;return; -} -function _LoadShaderProgram($vShaderStr,$fShaderStr) { - $vShaderStr = $vShaderStr|0; - $fShaderStr = $fShaderStr|0; - var $$alloca_mul = 0, $$alloca_mul25 = 0, $$alloca_mul27 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0; - var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $length = 0, $length2 = 0, $length4 = 0, $maxLength = 0, $maxLength1 = 0, $maxLength3 = 0, $pfs = 0, $program$0 = 0, $pvs = 0, $success = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer13 = 0, $vararg_buffer16 = 0, $vararg_buffer19 = 0; - var $vararg_buffer22 = 0, $vararg_buffer4 = 0, $vararg_buffer7 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 112|0; - $vararg_buffer22 = sp + 64|0; - $vararg_buffer19 = sp + 56|0; - $vararg_buffer16 = sp + 48|0; - $vararg_buffer13 = sp + 40|0; - $vararg_buffer10 = sp + 32|0; - $vararg_buffer7 = sp + 24|0; - $vararg_buffer4 = sp + 16|0; - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $pvs = sp + 100|0; - $pfs = sp + 96|0; - $success = sp + 92|0; - $maxLength = sp + 88|0; - $length = sp + 84|0; - $maxLength1 = sp + 80|0; - $length2 = sp + 76|0; - $maxLength3 = sp + 72|0; - $length4 = sp + 68|0; - $0 = (_glCreateShader(35633)|0); - $1 = (_glCreateShader(35632)|0); - HEAP32[$pvs>>2] = $vShaderStr; - HEAP32[$pfs>>2] = $fShaderStr; - _glShaderSource(($0|0),1,($pvs|0),(0|0)); - _glShaderSource(($1|0),1,($pfs|0),(0|0)); - HEAP32[$success>>2] = 0; - _glCompileShader(($0|0)); - _glGetShaderiv(($0|0),35713,($success|0)); - $2 = HEAP32[$success>>2]|0; - $3 = ($2|0)==(1); - if ($3) { - HEAP32[$vararg_buffer4>>2] = $0; - _TraceLog(0,12298,$vararg_buffer4); - } else { - HEAP32[$vararg_buffer>>2] = $0; - _TraceLog(2,12246,$vararg_buffer); - HEAP32[$maxLength>>2] = 0; - _glGetShaderiv(($0|0),35716,($maxLength|0)); - $4 = HEAP32[$maxLength>>2]|0; - $5 = (_llvm_stacksave()|0); - $$alloca_mul = $4; - $6 = STACKTOP; STACKTOP = STACKTOP + ((((1*$$alloca_mul)|0)+15)&-16)|0;; - $7 = HEAP32[$maxLength>>2]|0; - _glGetShaderInfoLog(($0|0),($7|0),($length|0),($6|0)); - HEAP32[$vararg_buffer1>>2] = $6; - _TraceLog(0,12295,$vararg_buffer1); - _llvm_stackrestore(($5|0)); - } - _glCompileShader(($1|0)); - _glGetShaderiv(($1|0),35713,($success|0)); - $8 = HEAP32[$success>>2]|0; - $9 = ($8|0)==(1); - if ($9) { - HEAP32[$vararg_buffer13>>2] = $1; - _TraceLog(0,12399,$vararg_buffer13); - } else { - HEAP32[$vararg_buffer7>>2] = $1; - _TraceLog(2,12348,$vararg_buffer7); - HEAP32[$maxLength1>>2] = 0; - _glGetShaderiv(($1|0),35716,($maxLength1|0)); - $10 = HEAP32[$maxLength1>>2]|0; - $11 = (_llvm_stacksave()|0); - $$alloca_mul25 = $10; - $12 = STACKTOP; STACKTOP = STACKTOP + ((((1*$$alloca_mul25)|0)+15)&-16)|0;; - $13 = HEAP32[$maxLength1>>2]|0; - _glGetShaderInfoLog(($1|0),($13|0),($length2|0),($12|0)); - HEAP32[$vararg_buffer10>>2] = $12; - _TraceLog(0,12295,$vararg_buffer10); - _llvm_stackrestore(($11|0)); - } - $14 = (_glCreateProgram()|0); - _glAttachShader(($14|0),($0|0)); - _glAttachShader(($14|0),($1|0)); - _glLinkProgram(($14|0)); - _glGetProgramiv(($14|0),35714,($success|0)); - $15 = HEAP32[$success>>2]|0; - $16 = ($15|0)==(0); - if ($16) { - HEAP32[$vararg_buffer16>>2] = $14; - _TraceLog(2,12451,$vararg_buffer16); - HEAP32[$maxLength3>>2] = 0; - _glGetProgramiv(($14|0),35716,($maxLength3|0)); - $17 = HEAP32[$maxLength3>>2]|0; - $18 = (_llvm_stacksave()|0); - $$alloca_mul27 = $17; - $19 = STACKTOP; STACKTOP = STACKTOP + ((((1*$$alloca_mul27)|0)+15)&-16)|0;; - $20 = HEAP32[$maxLength3>>2]|0; - _glGetProgramInfoLog(($14|0),($20|0),($length4|0),($19|0)); - HEAP32[$vararg_buffer19>>2] = $19; - _TraceLog(0,12295,$vararg_buffer19); - _glDeleteProgram(($14|0)); - _llvm_stackrestore(($18|0)); - $program$0 = 0; - _glDeleteShader(($0|0)); - _glDeleteShader(($1|0)); - STACKTOP = sp;return ($program$0|0); - } else { - HEAP32[$vararg_buffer22>>2] = $14; - _TraceLog(0,12497,$vararg_buffer22); - $program$0 = $14; - _glDeleteShader(($0|0)); - _glDeleteShader(($1|0)); - STACKTOP = sp;return ($program$0|0); - } - return (0)|0; -} -function _DrawCircleV($center,$radius,$color) { - $center = $center|0; - $radius = +$radius; - $color = $color|0; - var $0 = 0, $1 = 0, $10 = 0, $100 = 0.0, $101 = 0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $2 = 0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0; - var $25 = 0.0, $26 = 0.0, $27 = 0.0, $28 = 0.0, $29 = 0.0, $3 = 0, $30 = 0.0, $31 = 0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0.0, $36 = 0.0, $37 = 0.0, $38 = 0.0, $39 = 0.0, $4 = 0, $40 = 0.0, $41 = 0.0, $42 = 0; - var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0.0, $56 = 0, $57 = 0, $58 = 0.0, $59 = 0, $6 = 0, $60 = 0.0; - var $61 = 0.0, $62 = 0.0, $63 = 0.0, $64 = 0.0, $65 = 0.0, $66 = 0.0, $67 = 0.0, $68 = 0.0, $69 = 0.0, $7 = 0, $70 = 0.0, $71 = 0.0, $72 = 0.0, $73 = 0.0, $74 = 0.0, $75 = 0.0, $76 = 0.0, $77 = 0.0, $78 = 0.0, $79 = 0; - var $8 = 0, $80 = 0.0, $81 = 0.0, $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0.0, $86 = 0.0, $87 = 0.0, $88 = 0.0, $89 = 0.0, $9 = 0.0, $90 = 0, $91 = 0.0, $92 = 0.0, $93 = 0.0, $94 = 0.0, $95 = 0.0, $96 = 0.0, $97 = 0.0; - var $98 = 0.0, $99 = 0.0, $i$01 = 0, $i1$02 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_rlGetVersion()|0); - $1 = ($0|0)==(1); - if ($1) { - _rlBegin(1); - $2 = HEAP8[$color>>0]|0; - $3 = ((($color)) + 1|0); - $4 = HEAP8[$3>>0]|0; - $5 = ((($color)) + 2|0); - $6 = HEAP8[$5>>0]|0; - $7 = ((($color)) + 3|0); - $8 = HEAP8[$7>>0]|0; - $9 = +HEAPF32[$center>>2]; - $10 = (~~(($9))); - $11 = ((($center)) + 4|0); - $12 = +HEAPF32[$11>>2]; - $13 = (~~(($12))); - $14 = $9; - $15 = $radius; - $16 = $12; - $17 = +HEAPF32[$center>>2]; - $18 = $17; - $19 = +HEAPF32[$11>>2]; - $20 = $19; - $i$01 = 0; - while(1) { - _rlColor4ub($2,$4,$6,$8); - _rlVertex2i($10,$13); - $21 = (+($i$01|0)); - $22 = $21 * 0.017453292519943295; - $23 = (+Math_sin((+$22))); - $24 = $15 * $23; - $25 = $14 + $24; - $26 = $25; - $27 = (+Math_cos((+$22))); - $28 = $15 * $27; - $29 = $16 + $28; - $30 = $29; - _rlVertex2f($26,$30); - $31 = (($i$01) + 10)|0; - $32 = (+($31|0)); - $33 = $32 * 0.017453292519943295; - $34 = (+Math_sin((+$33))); - $35 = $15 * $34; - $36 = $18 + $35; - $37 = $36; - $38 = (+Math_cos((+$33))); - $39 = $15 * $38; - $40 = $20 + $39; - $41 = $40; - _rlVertex2f($37,$41); - $42 = ($31|0)<(360); - if ($42) { - $i$01 = $31; - } else { - break; - } - } - _rlEnd(); - return; - } - $43 = (_rlGetVersion()|0); - $44 = ($43|0)==(2); - if (!($44)) { - $45 = (_rlGetVersion()|0); - $46 = ($45|0)==(3); - if (!($46)) { - return; - } - } - $47 = HEAP32[1272>>2]|0; - _rlEnableTexture($47); - _rlBegin(2); - $48 = HEAP8[$color>>0]|0; - $49 = ((($color)) + 1|0); - $50 = HEAP8[$49>>0]|0; - $51 = ((($color)) + 2|0); - $52 = HEAP8[$51>>0]|0; - $53 = ((($color)) + 3|0); - $54 = HEAP8[$53>>0]|0; - $55 = +HEAPF32[$center>>2]; - $56 = (~~(($55))); - $57 = ((($center)) + 4|0); - $58 = +HEAPF32[$57>>2]; - $59 = (~~(($58))); - $60 = $55; - $61 = $radius; - $62 = $58; - $63 = +HEAPF32[$center>>2]; - $64 = $63; - $65 = +HEAPF32[$57>>2]; - $66 = $65; - $67 = $63; - $68 = $65; - $i1$02 = 0; - while(1) { - _rlColor4ub($48,$50,$52,$54); - _rlVertex2i($56,$59); - $69 = (+($i1$02|0)); - $70 = $69 * 0.017453292519943295; - $71 = (+Math_sin((+$70))); - $72 = $61 * $71; - $73 = $60 + $72; - $74 = $73; - $75 = (+Math_cos((+$70))); - $76 = $61 * $75; - $77 = $62 + $76; - $78 = $77; - _rlVertex2f($74,$78); - $79 = (($i1$02) + 10)|0; - $80 = (+($79|0)); - $81 = $80 * 0.017453292519943295; - $82 = (+Math_sin((+$81))); - $83 = $61 * $82; - $84 = $64 + $83; - $85 = $84; - $86 = (+Math_cos((+$81))); - $87 = $61 * $86; - $88 = $66 + $87; - $89 = $88; - _rlVertex2f($85,$89); - $90 = (($i1$02) + 20)|0; - $91 = (+($90|0)); - $92 = $91 * 0.017453292519943295; - $93 = (+Math_sin((+$92))); - $94 = $61 * $93; - $95 = $67 + $94; - $96 = $95; - $97 = (+Math_cos((+$92))); - $98 = $61 * $97; - $99 = $68 + $98; - $100 = $99; - _rlVertex2f($96,$100); - $101 = ($90|0)<(360); - if ($101) { - $i1$02 = $90; - } else { - break; - } - } - _rlEnd(); - return; -} -function _DrawCircleLines($centerX,$centerY,$radius,$color) { - $centerX = $centerX|0; - $centerY = $centerY|0; - $radius = +$radius; - $color = $color|0; - var $0 = 0, $1 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $2 = 0, $20 = 0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0.0, $26 = 0.0; - var $27 = 0.0, $28 = 0.0, $29 = 0.0, $3 = 0, $30 = 0.0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0.0, $8 = 0.0, $9 = 0.0, $i$01 = 0, label = 0, sp = 0; - sp = STACKTOP; - _rlBegin(0); - $0 = HEAP8[$color>>0]|0; - $1 = ((($color)) + 1|0); - $2 = HEAP8[$1>>0]|0; - $3 = ((($color)) + 2|0); - $4 = HEAP8[$3>>0]|0; - $5 = ((($color)) + 3|0); - $6 = HEAP8[$5>>0]|0; - _rlColor4ub($0,$2,$4,$6); - $7 = (+($centerX|0)); - $8 = $radius; - $9 = (+($centerY|0)); - $i$01 = 0; - while(1) { - $10 = (+($i$01|0)); - $11 = $10 * 0.017453292519943295; - $12 = (+Math_sin((+$11))); - $13 = $8 * $12; - $14 = $7 + $13; - $15 = $14; - $16 = (+Math_cos((+$11))); - $17 = $8 * $16; - $18 = $9 + $17; - $19 = $18; - _rlVertex2f($15,$19); - $20 = (($i$01) + 10)|0; - $21 = (+($20|0)); - $22 = $21 * 0.017453292519943295; - $23 = (+Math_sin((+$22))); - $24 = $8 * $23; - $25 = $7 + $24; - $26 = $25; - $27 = (+Math_cos((+$22))); - $28 = $8 * $27; - $29 = $9 + $28; - $30 = $29; - _rlVertex2f($26,$30); - $31 = ($20|0)<(360); - if ($31) { - $i$01 = $20; - } else { - break; - } - } - _rlEnd(); - return; -} -function _DrawRectangle($posX,$posY,$width,$height,$color) { - $posX = $posX|0; - $posY = $posY|0; - $width = $width|0; - $height = $height|0; - $color = $color|0; - var $0 = 0.0, $1 = 0, $2 = 0.0, $3 = 0.0, $4 = 0, $5 = 0.0, $color$byval_copy = 0, $position = 0, $position$byval_copy = 0, $size = 0, $size$byval_copy = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $color$byval_copy = sp + 32|0; - $size$byval_copy = sp + 24|0; - $position$byval_copy = sp + 16|0; - $position = sp + 8|0; - $size = sp; - $0 = (+($posX|0)); - HEAPF32[$position>>2] = $0; - $1 = ((($position)) + 4|0); - $2 = (+($posY|0)); - HEAPF32[$1>>2] = $2; - $3 = (+($width|0)); - HEAPF32[$size>>2] = $3; - $4 = ((($size)) + 4|0); - $5 = (+($height|0)); - HEAPF32[$4>>2] = $5; - ;HEAP32[$position$byval_copy>>2]=HEAP32[$position>>2]|0;HEAP32[$position$byval_copy+4>>2]=HEAP32[$position+4>>2]|0; - ;HEAP32[$size$byval_copy>>2]=HEAP32[$size>>2]|0;HEAP32[$size$byval_copy+4>>2]=HEAP32[$size+4>>2]|0; - ;HEAP8[$color$byval_copy>>0]=HEAP8[$color>>0]|0;HEAP8[$color$byval_copy+1>>0]=HEAP8[$color+1>>0]|0;HEAP8[$color$byval_copy+2>>0]=HEAP8[$color+2>>0]|0;HEAP8[$color$byval_copy+3>>0]=HEAP8[$color+3>>0]|0; - _DrawRectangleV($position$byval_copy,$size$byval_copy,$color$byval_copy); - STACKTOP = sp;return; -} -function _DrawRectangleV($position,$size,$color) { - $position = $position|0; - $size = $size|0; - $color = $color|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0, $16 = 0.0, $17 = 0, $18 = 0.0, $19 = 0.0, $2 = 0, $20 = 0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0, $25 = 0.0, $26 = 0.0; - var $27 = 0.0, $28 = 0, $29 = 0.0, $3 = 0, $30 = 0, $31 = 0.0, $32 = 0, $33 = 0.0, $34 = 0.0, $35 = 0.0, $36 = 0, $37 = 0.0, $38 = 0.0, $39 = 0.0, $4 = 0, $40 = 0, $41 = 0.0, $42 = 0.0, $43 = 0.0, $44 = 0; - var $45 = 0.0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0.0, $6 = 0, $60 = 0, $61 = 0.0, $62 = 0.0; - var $63 = 0.0, $64 = 0, $65 = 0.0, $66 = 0.0, $67 = 0.0, $68 = 0.0, $69 = 0.0, $7 = 0, $70 = 0.0, $71 = 0.0, $72 = 0.0, $73 = 0.0, $74 = 0.0, $75 = 0.0, $76 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_rlGetVersion()|0); - $1 = ($0|0)==(1); - if ($1) { - _rlBegin(1); - $2 = HEAP8[$color>>0]|0; - $3 = ((($color)) + 1|0); - $4 = HEAP8[$3>>0]|0; - $5 = ((($color)) + 2|0); - $6 = HEAP8[$5>>0]|0; - $7 = ((($color)) + 3|0); - $8 = HEAP8[$7>>0]|0; - _rlColor4ub($2,$4,$6,$8); - $9 = +HEAPF32[$position>>2]; - $10 = (~~(($9))); - $11 = ((($position)) + 4|0); - $12 = +HEAPF32[$11>>2]; - $13 = (~~(($12))); - _rlVertex2i($10,$13); - $14 = +HEAPF32[$position>>2]; - $15 = (~~(($14))); - $16 = +HEAPF32[$11>>2]; - $17 = ((($size)) + 4|0); - $18 = +HEAPF32[$17>>2]; - $19 = $16 + $18; - $20 = (~~(($19))); - _rlVertex2i($15,$20); - $21 = +HEAPF32[$position>>2]; - $22 = +HEAPF32[$size>>2]; - $23 = $21 + $22; - $24 = (~~(($23))); - $25 = +HEAPF32[$11>>2]; - $26 = +HEAPF32[$17>>2]; - $27 = $25 + $26; - $28 = (~~(($27))); - _rlVertex2i($24,$28); - $29 = +HEAPF32[$position>>2]; - $30 = (~~(($29))); - $31 = +HEAPF32[$11>>2]; - $32 = (~~(($31))); - _rlVertex2i($30,$32); - $33 = +HEAPF32[$position>>2]; - $34 = +HEAPF32[$size>>2]; - $35 = $33 + $34; - $36 = (~~(($35))); - $37 = +HEAPF32[$11>>2]; - $38 = +HEAPF32[$17>>2]; - $39 = $37 + $38; - $40 = (~~(($39))); - _rlVertex2i($36,$40); - $41 = +HEAPF32[$position>>2]; - $42 = +HEAPF32[$size>>2]; - $43 = $41 + $42; - $44 = (~~(($43))); - $45 = +HEAPF32[$11>>2]; - $46 = (~~(($45))); - _rlVertex2i($44,$46); - _rlEnd(); - return; - } - $47 = (_rlGetVersion()|0); - $48 = ($47|0)==(2); - if (!($48)) { - $49 = (_rlGetVersion()|0); - $50 = ($49|0)==(3); - if (!($50)) { - return; - } - } - $51 = HEAP32[1272>>2]|0; - _rlEnableTexture($51); - _rlBegin(2); - $52 = HEAP8[$color>>0]|0; - $53 = ((($color)) + 1|0); - $54 = HEAP8[$53>>0]|0; - $55 = ((($color)) + 2|0); - $56 = HEAP8[$55>>0]|0; - $57 = ((($color)) + 3|0); - $58 = HEAP8[$57>>0]|0; - _rlColor4ub($52,$54,$56,$58); - _rlTexCoord2f(0.0,0.0); - $59 = +HEAPF32[$position>>2]; - $60 = ((($position)) + 4|0); - $61 = +HEAPF32[$60>>2]; - _rlVertex2f($59,$61); - _rlTexCoord2f(0.0,1.0); - $62 = +HEAPF32[$position>>2]; - $63 = +HEAPF32[$60>>2]; - $64 = ((($size)) + 4|0); - $65 = +HEAPF32[$64>>2]; - $66 = $63 + $65; - _rlVertex2f($62,$66); - _rlTexCoord2f(1.0,1.0); - $67 = +HEAPF32[$position>>2]; - $68 = +HEAPF32[$size>>2]; - $69 = $67 + $68; - $70 = +HEAPF32[$60>>2]; - $71 = +HEAPF32[$64>>2]; - $72 = $70 + $71; - _rlVertex2f($69,$72); - _rlTexCoord2f(1.0,0.0); - $73 = +HEAPF32[$position>>2]; - $74 = +HEAPF32[$size>>2]; - $75 = $73 + $74; - $76 = +HEAPF32[$60>>2]; - _rlVertex2f($75,$76); - _rlEnd(); - return; -} -function _DrawRectangleRec($rec,$color) { - $rec = $rec|0; - $color = $color|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $color$byval_copy = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $color$byval_copy = sp; - $0 = HEAP32[$rec>>2]|0; - $1 = ((($rec)) + 4|0); - $2 = HEAP32[$1>>2]|0; - $3 = ((($rec)) + 8|0); - $4 = HEAP32[$3>>2]|0; - $5 = ((($rec)) + 12|0); - $6 = HEAP32[$5>>2]|0; - ;HEAP8[$color$byval_copy>>0]=HEAP8[$color>>0]|0;HEAP8[$color$byval_copy+1>>0]=HEAP8[$color+1>>0]|0;HEAP8[$color$byval_copy+2>>0]=HEAP8[$color+2>>0]|0;HEAP8[$color$byval_copy+3>>0]=HEAP8[$color+3>>0]|0; - _DrawRectangle($0,$2,$4,$6,$color$byval_copy); - STACKTOP = sp;return; -} -function _DrawRectangleLines($posX,$posY,$width,$height,$color) { - $posX = $posX|0; - $posY = $posY|0; - $width = $width|0; - $height = $height|0; - $color = $color|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0; - var $7 = 0, $8 = 0, $9 = 0, $color$byval_copy3 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $color$byval_copy3 = sp; - $0 = (_rlGetVersion()|0); - $1 = ($0|0)==(1); - if ($1) { - _rlBegin(0); - $2 = HEAP8[$color>>0]|0; - $3 = ((($color)) + 1|0); - $4 = HEAP8[$3>>0]|0; - $5 = ((($color)) + 2|0); - $6 = HEAP8[$5>>0]|0; - $7 = ((($color)) + 3|0); - $8 = HEAP8[$7>>0]|0; - _rlColor4ub($2,$4,$6,$8); - $9 = (($posX) + 1)|0; - $10 = (($posY) + 1)|0; - _rlVertex2i($9,$10); - $11 = (($width) + ($posX))|0; - _rlVertex2i($11,$10); - _rlVertex2i($11,$10); - $12 = (($height) + ($posY))|0; - _rlVertex2i($11,$12); - _rlVertex2i($11,$12); - _rlVertex2i($9,$12); - _rlVertex2i($9,$12); - _rlVertex2i($9,$10); - _rlEnd(); - STACKTOP = sp;return; - } - $13 = (_rlGetVersion()|0); - $14 = ($13|0)==(2); - if (!($14)) { - $15 = (_rlGetVersion()|0); - $16 = ($15|0)==(3); - if (!($16)) { - STACKTOP = sp;return; - } - } - ;HEAP8[$color$byval_copy3>>0]=HEAP8[$color>>0]|0;HEAP8[$color$byval_copy3+1>>0]=HEAP8[$color+1>>0]|0;HEAP8[$color$byval_copy3+2>>0]=HEAP8[$color+2>>0]|0;HEAP8[$color$byval_copy3+3>>0]=HEAP8[$color+3>>0]|0; - _DrawRectangle($posX,$posY,$width,1,$color$byval_copy3); - $17 = (($posX) + -1)|0; - $18 = (($17) + ($width))|0; - $19 = (($posY) + 1)|0; - $20 = (($height) + -2)|0; - ;HEAP8[$color$byval_copy3>>0]=HEAP8[$color>>0]|0;HEAP8[$color$byval_copy3+1>>0]=HEAP8[$color+1>>0]|0;HEAP8[$color$byval_copy3+2>>0]=HEAP8[$color+2>>0]|0;HEAP8[$color$byval_copy3+3>>0]=HEAP8[$color+3>>0]|0; - _DrawRectangle($18,$19,1,$20,$color$byval_copy3); - $21 = (($posY) + -1)|0; - $22 = (($21) + ($height))|0; - ;HEAP8[$color$byval_copy3>>0]=HEAP8[$color>>0]|0;HEAP8[$color$byval_copy3+1>>0]=HEAP8[$color+1>>0]|0;HEAP8[$color$byval_copy3+2>>0]=HEAP8[$color+2>>0]|0;HEAP8[$color$byval_copy3+3>>0]=HEAP8[$color+3>>0]|0; - _DrawRectangle($posX,$22,$width,1,$color$byval_copy3); - ;HEAP8[$color$byval_copy3>>0]=HEAP8[$color>>0]|0;HEAP8[$color$byval_copy3+1>>0]=HEAP8[$color+1>>0]|0;HEAP8[$color$byval_copy3+2>>0]=HEAP8[$color+2>>0]|0;HEAP8[$color$byval_copy3+3>>0]=HEAP8[$color+3>>0]|0; - _DrawRectangle($posX,$19,1,$20,$color$byval_copy3); - STACKTOP = sp;return; -} -function _DrawPoly($center,$sides,$radius,$rotation,$color) { - $center = $center|0; - $sides = $sides|0; - $radius = +$radius; - $rotation = +$rotation; - $color = $color|0; - var $$sides = 0, $0 = 0, $1 = 0.0, $10 = 0, $11 = 0.0, $12 = 0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $2 = 0, $20 = 0.0, $21 = 0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0.0; - var $26 = 0.0, $27 = 0.0, $28 = 0.0, $29 = 0.0, $3 = 0.0, $30 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i$01 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ($sides|0)<(3); - $$sides = $0 ? 3 : $sides; - _rlPushMatrix(); - $1 = +HEAPF32[$center>>2]; - $2 = ((($center)) + 4|0); - $3 = +HEAPF32[$2>>2]; - _rlTranslatef($1,$3,0.0); - _rlRotatef($rotation,0.0,0.0,1.0); - _rlBegin(1); - $4 = HEAP8[$color>>0]|0; - $5 = ((($color)) + 1|0); - $6 = HEAP8[$5>>0]|0; - $7 = ((($color)) + 2|0); - $8 = HEAP8[$7>>0]|0; - $9 = ((($color)) + 3|0); - $10 = HEAP8[$9>>0]|0; - $11 = $radius; - $12 = (360 / ($$sides|0))&-1; - $i$01 = 0; - while(1) { - _rlColor4ub($4,$6,$8,$10); - _rlVertex2i(0,0); - $13 = (+($i$01|0)); - $14 = $13 * 0.017453292519943295; - $15 = (+Math_sin((+$14))); - $16 = $11 * $15; - $17 = $16; - $18 = (+Math_cos((+$14))); - $19 = $11 * $18; - $20 = $19; - _rlVertex2f($17,$20); - $21 = (($12) + ($i$01))|0; - $22 = (+($21|0)); - $23 = $22 * 0.017453292519943295; - $24 = (+Math_sin((+$23))); - $25 = $11 * $24; - $26 = $25; - $27 = (+Math_cos((+$23))); - $28 = $11 * $27; - $29 = $28; - _rlVertex2f($26,$29); - $30 = ($21|0)<(360); - if ($30) { - $i$01 = $21; - } else { - break; - } - } - _rlEnd(); - _rlPopMatrix(); - return; -} -function _CheckCollisionPointRec($point,$rec) { - $point = $point|0; - $rec = $rec|0; - var $0 = 0.0, $1 = 0, $10 = 0.0, $11 = 0, $12 = 0, $13 = 0.0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0.0, $19 = 0, $2 = 0.0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0; - var $collision$0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = +HEAPF32[$point>>2]; - $1 = HEAP32[$rec>>2]|0; - $2 = (+($1|0)); - $3 = !($0 >= $2); - if ($3) { - $collision$0 = 0; - } else { - $4 = ((($rec)) + 8|0); - $5 = HEAP32[$4>>2]|0; - $6 = (($5) + ($1))|0; - $7 = (+($6|0)); - $8 = !($0 <= $7); - if ($8) { - $collision$0 = 0; - } else { - $9 = ((($point)) + 4|0); - $10 = +HEAPF32[$9>>2]; - $11 = ((($rec)) + 4|0); - $12 = HEAP32[$11>>2]|0; - $13 = (+($12|0)); - $14 = !($10 >= $13); - if ($14) { - $collision$0 = 0; - } else { - $15 = ((($rec)) + 12|0); - $16 = HEAP32[$15>>2]|0; - $17 = (($16) + ($12))|0; - $18 = (+($17|0)); - $19 = !($10 <= $18); - if ($19) { - $collision$0 = 0; - } else { - $collision$0 = 1; - } - } - } - } - return ($collision$0|0); -} -function _CheckCollisionPointCircle($point,$center,$radius) { - $point = $point|0; - $center = $center|0; - $radius = +$radius; - var $0 = 0, $center$byval_copy = 0, $point$byval_copy = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $center$byval_copy = sp + 8|0; - $point$byval_copy = sp; - ;HEAP32[$point$byval_copy>>2]=HEAP32[$point>>2]|0;HEAP32[$point$byval_copy+4>>2]=HEAP32[$point+4>>2]|0; - ;HEAP32[$center$byval_copy>>2]=HEAP32[$center>>2]|0;HEAP32[$center$byval_copy+4>>2]=HEAP32[$center+4>>2]|0; - $0 = (_CheckCollisionCircles($point$byval_copy,0.0,$center$byval_copy,$radius)|0); - STACKTOP = sp;return ($0|0); -} -function _CheckCollisionCircles($center1,$radius1,$center2,$radius2) { - $center1 = $center1|0; - $radius1 = +$radius1; - $center2 = $center2|0; - $radius2 = +$radius2; - var $0 = 0.0, $1 = 0.0, $10 = 0.0, $11 = 0.0, $2 = 0.0, $3 = 0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, $collision$0 = 0, $not$ = 0, $sqrtf = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $0 = +HEAPF32[$center2>>2]; - $1 = +HEAPF32[$center1>>2]; - $2 = $0 - $1; - $3 = ((($center2)) + 4|0); - $4 = +HEAPF32[$3>>2]; - $5 = ((($center1)) + 4|0); - $6 = +HEAPF32[$5>>2]; - $7 = $4 - $6; - $8 = $2 * $2; - $9 = $7 * $7; - $10 = $8 + $9; - $sqrtf = (+Math_sqrt((+$10))); - $11 = $radius1 + $radius2; - $not$ = $sqrtf <= $11; - $collision$0 = $not$&1; - return ($collision$0|0); -} -function _CheckCollisionRecs($rec1,$rec2) { - $rec1 = $rec1|0; - $rec2 = $rec2|0; - var $$ = 0, $$neg4 = 0, $$neg7 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; - var $24 = 0, $25 = 0, $26 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $ispos = 0, $ispos1 = 0, $neg = 0, $neg2 = 0, $not$ = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[$rec1>>2]|0; - $1 = ((($rec1)) + 8|0); - $2 = HEAP32[$1>>2]|0; - $3 = (($2|0) / 2)&-1; - $4 = HEAP32[$rec2>>2]|0; - $5 = ((($rec2)) + 8|0); - $6 = HEAP32[$5>>2]|0; - $7 = (($6|0) / 2)&-1; - $$neg4 = (($3) + ($0))|0; - $8 = (($$neg4) - ($4))|0; - $9 = (($8) - ($7))|0; - $ispos = ($9|0)>(-1); - $neg = (0 - ($9))|0; - $10 = $ispos ? $9 : $neg; - $11 = ((($rec1)) + 4|0); - $12 = HEAP32[$11>>2]|0; - $13 = ((($rec1)) + 12|0); - $14 = HEAP32[$13>>2]|0; - $15 = (($14|0) / 2)&-1; - $16 = ((($rec2)) + 4|0); - $17 = HEAP32[$16>>2]|0; - $18 = ((($rec2)) + 12|0); - $19 = HEAP32[$18>>2]|0; - $20 = (($19|0) / 2)&-1; - $$neg7 = (($15) + ($12))|0; - $21 = (($$neg7) - ($17))|0; - $22 = (($21) - ($20))|0; - $23 = (($7) + ($3))|0; - $24 = ($10|0)>($23|0); - if ($24) { - return 0; - } else { - $ispos1 = ($22|0)>(-1); - $neg2 = (0 - ($22))|0; - $25 = $ispos1 ? $22 : $neg2; - $26 = (($20) + ($15))|0; - $not$ = ($25|0)<=($26|0); - $$ = $not$&1; - return ($$|0); - } - return (0)|0; -} -function _LoadImageEx($agg$result,$pixels,$width,$height) { - $agg$result = $agg$result|0; - $pixels = $pixels|0; - $width = $width|0; - $height = $height|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $i$02 = 0, $k$01 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = $width << 2; - $1 = Math_imul($0, $height)|0; - $2 = (_malloc($1)|0); - $3 = ($1|0)>(0); - if ($3) { - $4 = Math_imul($height, $width)|0; - $5 = $4 << 2; - $6 = (($5) + -1)|0; - $7 = $6 >>> 2; - $i$02 = 0;$k$01 = 0; - while(1) { - $8 = (($pixels) + ($k$01<<2)|0); - $9 = HEAP8[$8>>0]|0; - $10 = (($2) + ($i$02)|0); - HEAP8[$10>>0] = $9; - $11 = (((($pixels) + ($k$01<<2)|0)) + 1|0); - $12 = HEAP8[$11>>0]|0; - $13 = $i$02 | 1; - $14 = (($2) + ($13)|0); - HEAP8[$14>>0] = $12; - $15 = (((($pixels) + ($k$01<<2)|0)) + 2|0); - $16 = HEAP8[$15>>0]|0; - $17 = $i$02 | 2; - $18 = (($2) + ($17)|0); - HEAP8[$18>>0] = $16; - $19 = (((($pixels) + ($k$01<<2)|0)) + 3|0); - $20 = HEAP8[$19>>0]|0; - $21 = $i$02 | 3; - $22 = (($2) + ($21)|0); - HEAP8[$22>>0] = $20; - $23 = (($k$01) + 1)|0; - $24 = (($i$02) + 4)|0; - $exitcond = ($k$01|0)==($7|0); - if ($exitcond) { - break; - } else { - $i$02 = $24;$k$01 = $23; - } - } - } - HEAP32[$agg$result>>2] = $2; - $25 = ((($agg$result)) + 4|0); - HEAP32[$25>>2] = $width; - $26 = ((($agg$result)) + 8|0); - HEAP32[$26>>2] = $height; - $27 = ((($agg$result)) + 12|0); - HEAP32[$27>>2] = 1; - $28 = ((($agg$result)) + 16|0); - HEAP32[$28>>2] = 7; - return; -} -function _LoadTextureFromImage($agg$result,$image) { - $agg$result = $agg$result|0; - $image = $image|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[$image>>2]|0; - $1 = ((($image)) + 4|0); - $2 = HEAP32[$1>>2]|0; - $3 = ((($image)) + 8|0); - $4 = HEAP32[$3>>2]|0; - $5 = ((($image)) + 16|0); - $6 = HEAP32[$5>>2]|0; - $7 = ((($image)) + 12|0); - $8 = HEAP32[$7>>2]|0; - $9 = (_rlglLoadTexture($0,$2,$4,$6,$8)|0); - $10 = HEAP32[$1>>2]|0; - $11 = HEAP32[$3>>2]|0; - $12 = HEAP32[$7>>2]|0; - $13 = HEAP32[$5>>2]|0; - HEAP32[$agg$result>>2] = $9; - $14 = ((($agg$result)) + 4|0); - HEAP32[$14>>2] = $10; - $15 = ((($agg$result)) + 8|0); - HEAP32[$15>>2] = $11; - $16 = ((($agg$result)) + 12|0); - HEAP32[$16>>2] = $12; - $17 = ((($agg$result)) + 16|0); - HEAP32[$17>>2] = $13; - return; -} -function _UnloadImage($image) { - $image = $image|0; - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[$image>>2]|0; - _free($0); - return; -} -function _UnloadTexture($texture) { - $texture = $texture|0; - var $0 = 0, $1 = 0, $2 = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $vararg_buffer = sp; - $0 = HEAP32[$texture>>2]|0; - $1 = ($0|0)==(0); - if ($1) { - STACKTOP = sp;return; - } - _rlDeleteTextures($0); - $2 = HEAP32[$texture>>2]|0; - HEAP32[$vararg_buffer>>2] = $2; - _TraceLog(0,12545,$vararg_buffer); - STACKTOP = sp;return; -} -function _GetImageData($image) { - $image = $image|0; - var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0.0, $105 = 0.0, $106 = 0, $107 = 0, $108 = 0, $109 = 0.0, $11 = 0, $110 = 0.0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0; - var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0; - var $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0.0, $47 = 0.0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0.0, $53 = 0.0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0.0; - var $59 = 0.0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0.0, $72 = 0.0, $73 = 0, $74 = 0, $75 = 0, $76 = 0; - var $77 = 0.0, $78 = 0.0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0.0, $83 = 0.0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0.0, $93 = 0.0, $94 = 0; - var $95 = 0, $96 = 0, $97 = 0, $98 = 0.0, $99 = 0.0, $i$01 = 0, $k$02 = 0, $k$1 = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $vararg_buffer = sp; - $0 = ((($image)) + 4|0); - $1 = HEAP32[$0>>2]|0; - $2 = ((($image)) + 8|0); - $3 = HEAP32[$2>>2]|0; - $4 = $1 << 2; - $5 = Math_imul($4, $3)|0; - $6 = (_malloc($5)|0); - $7 = HEAP32[$0>>2]|0; - $8 = HEAP32[$2>>2]|0; - $9 = Math_imul($8, $7)|0; - $10 = ($9|0)>(0); - if (!($10)) { - STACKTOP = sp;return ($6|0); - } - $11 = ((($image)) + 16|0); - $12 = HEAP32[$11>>2]|0; - $13 = HEAP32[$0>>2]|0; - $14 = HEAP32[$2>>2]|0; - $15 = Math_imul($14, $13)|0; - $16 = HEAP32[$image>>2]|0; - $i$01 = 0;$k$02 = 0; - while(1) { - switch ($12|0) { - case 1: { - $17 = (($16) + ($k$02)|0); - $18 = HEAP8[$17>>0]|0; - $19 = (($6) + ($i$01<<2)|0); - HEAP8[$19>>0] = $18; - $20 = (($16) + ($k$02)|0); - $21 = HEAP8[$20>>0]|0; - $22 = (((($6) + ($i$01<<2)|0)) + 1|0); - HEAP8[$22>>0] = $21; - $23 = (($16) + ($k$02)|0); - $24 = HEAP8[$23>>0]|0; - $25 = (((($6) + ($i$01<<2)|0)) + 2|0); - HEAP8[$25>>0] = $24; - $26 = (((($6) + ($i$01<<2)|0)) + 3|0); - HEAP8[$26>>0] = -1; - $27 = (($k$02) + 1)|0; - $k$1 = $27; - break; - } - case 2: { - $28 = (($16) + ($k$02)|0); - $29 = HEAP8[$28>>0]|0; - $30 = (($6) + ($i$01<<2)|0); - HEAP8[$30>>0] = $29; - $31 = (($16) + ($k$02)|0); - $32 = HEAP8[$31>>0]|0; - $33 = (((($6) + ($i$01<<2)|0)) + 1|0); - HEAP8[$33>>0] = $32; - $34 = (($16) + ($k$02)|0); - $35 = HEAP8[$34>>0]|0; - $36 = (((($6) + ($i$01<<2)|0)) + 2|0); - HEAP8[$36>>0] = $35; - $37 = (($k$02) + 1)|0; - $38 = (($16) + ($37)|0); - $39 = HEAP8[$38>>0]|0; - $40 = (((($6) + ($i$01<<2)|0)) + 3|0); - HEAP8[$40>>0] = $39; - $41 = (($k$02) + 2)|0; - $k$1 = $41; - break; - } - case 5: { - $42 = (($16) + ($k$02<<1)|0); - $43 = HEAP16[$42>>1]|0; - $44 = $43&65535; - $45 = $44 >>> 11; - $46 = (+($45|0)); - $47 = $46 * 8.0; - $48 = (~~(($47))&255); - $49 = (($6) + ($i$01<<2)|0); - HEAP8[$49>>0] = $48; - $50 = $44 >>> 6; - $51 = $50 & 31; - $52 = (+($51|0)); - $53 = $52 * 8.0; - $54 = (~~(($53))&255); - $55 = (((($6) + ($i$01<<2)|0)) + 1|0); - HEAP8[$55>>0] = $54; - $56 = $44 >>> 1; - $57 = $56 & 31; - $58 = (+($57|0)); - $59 = $58 * 8.0; - $60 = (~~(($59))&255); - $61 = (((($6) + ($i$01<<2)|0)) + 2|0); - HEAP8[$61>>0] = $60; - $62 = $44 & 1; - $63 = (0 - ($62))|0; - $64 = $63&255; - $65 = (((($6) + ($i$01<<2)|0)) + 3|0); - HEAP8[$65>>0] = $64; - $66 = (($k$02) + 1)|0; - $k$1 = $66; - break; - } - case 3: { - $67 = (($16) + ($k$02<<1)|0); - $68 = HEAP16[$67>>1]|0; - $69 = $68&65535; - $70 = $69 >>> 11; - $71 = (+($70|0)); - $72 = $71 * 8.0; - $73 = (~~(($72))&255); - $74 = (($6) + ($i$01<<2)|0); - HEAP8[$74>>0] = $73; - $75 = $69 >>> 5; - $76 = $75 & 63; - $77 = (+($76|0)); - $78 = $77 * 4.0; - $79 = (~~(($78))&255); - $80 = (((($6) + ($i$01<<2)|0)) + 1|0); - HEAP8[$80>>0] = $79; - $81 = $69 & 31; - $82 = (+($81|0)); - $83 = $82 * 8.0; - $84 = (~~(($83))&255); - $85 = (((($6) + ($i$01<<2)|0)) + 2|0); - HEAP8[$85>>0] = $84; - $86 = (((($6) + ($i$01<<2)|0)) + 3|0); - HEAP8[$86>>0] = -1; - $87 = (($k$02) + 1)|0; - $k$1 = $87; - break; - } - case 6: { - $88 = (($16) + ($k$02<<1)|0); - $89 = HEAP16[$88>>1]|0; - $90 = $89&65535; - $91 = $90 >>> 12; - $92 = (+($91|0)); - $93 = $92 * 17.0; - $94 = (~~(($93))&255); - $95 = (($6) + ($i$01<<2)|0); - HEAP8[$95>>0] = $94; - $96 = $90 >>> 8; - $97 = $96 & 15; - $98 = (+($97|0)); - $99 = $98 * 17.0; - $100 = (~~(($99))&255); - $101 = (((($6) + ($i$01<<2)|0)) + 1|0); - HEAP8[$101>>0] = $100; - $102 = $90 >>> 4; - $103 = $102 & 15; - $104 = (+($103|0)); - $105 = $104 * 17.0; - $106 = (~~(($105))&255); - $107 = (((($6) + ($i$01<<2)|0)) + 2|0); - HEAP8[$107>>0] = $106; - $108 = $90 & 15; - $109 = (+($108|0)); - $110 = $109 * 17.0; - $111 = (~~(($110))&255); - $112 = (((($6) + ($i$01<<2)|0)) + 3|0); - HEAP8[$112>>0] = $111; - $113 = (($k$02) + 1)|0; - $k$1 = $113; - break; - } - case 7: { - $114 = (($16) + ($k$02)|0); - $115 = HEAP8[$114>>0]|0; - $116 = (($6) + ($i$01<<2)|0); - HEAP8[$116>>0] = $115; - $117 = (($k$02) + 1)|0; - $118 = (($16) + ($117)|0); - $119 = HEAP8[$118>>0]|0; - $120 = (((($6) + ($i$01<<2)|0)) + 1|0); - HEAP8[$120>>0] = $119; - $121 = (($k$02) + 2)|0; - $122 = (($16) + ($121)|0); - $123 = HEAP8[$122>>0]|0; - $124 = (((($6) + ($i$01<<2)|0)) + 2|0); - HEAP8[$124>>0] = $123; - $125 = (($k$02) + 3)|0; - $126 = (($16) + ($125)|0); - $127 = HEAP8[$126>>0]|0; - $128 = (((($6) + ($i$01<<2)|0)) + 3|0); - HEAP8[$128>>0] = $127; - $129 = (($k$02) + 4)|0; - $k$1 = $129; - break; - } - case 4: { - $130 = (($16) + ($k$02)|0); - $131 = HEAP8[$130>>0]|0; - $132 = (($6) + ($i$01<<2)|0); - HEAP8[$132>>0] = $131; - $133 = (($k$02) + 1)|0; - $134 = (($16) + ($133)|0); - $135 = HEAP8[$134>>0]|0; - $136 = (((($6) + ($i$01<<2)|0)) + 1|0); - HEAP8[$136>>0] = $135; - $137 = (($k$02) + 2)|0; - $138 = (($16) + ($137)|0); - $139 = HEAP8[$138>>0]|0; - $140 = (((($6) + ($i$01<<2)|0)) + 2|0); - HEAP8[$140>>0] = $139; - $141 = (((($6) + ($i$01<<2)|0)) + 3|0); - HEAP8[$141>>0] = -1; - $142 = (($k$02) + 3)|0; - $k$1 = $142; - break; - } - default: { - _TraceLog(2,12595,$vararg_buffer); - $k$1 = $k$02; - } - } - $143 = (($i$01) + 1)|0; - $144 = ($143|0)<($15|0); - if ($144) { - $i$01 = $143;$k$02 = $k$1; - } else { - break; - } - } - STACKTOP = sp;return ($6|0); -} -function _ImageFormat($image,$newFormat) { - $image = $image|0; - $newFormat = $newFormat|0; - var $0 = 0, $1 = 0, $10 = 0, $100 = 0.0, $101 = 0, $102 = 0, $103 = 0, $104 = 0.0, $105 = 0.0, $106 = 0.0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; - var $170 = 0, $171 = 0, $172 = 0, $173 = 0.0, $174 = 0.0, $175 = 0.0, $176 = 0, $177 = 0, $178 = 0, $179 = 0.0, $18 = 0, $180 = 0.0, $181 = 0.0, $182 = 0, $183 = 0, $184 = 0, $185 = 0.0, $186 = 0.0, $187 = 0.0, $188 = 0; - var $189 = 0, $19 = 0.0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0.0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0; - var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0.0; - var $224 = 0.0, $225 = 0.0, $226 = 0, $227 = 0, $228 = 0, $229 = 0.0, $23 = 0.0, $230 = 0.0, $231 = 0.0, $232 = 0, $233 = 0, $234 = 0, $235 = 0.0, $236 = 0.0, $237 = 0.0, $238 = 0, $239 = 0, $24 = 0.0, $240 = 0, $241 = 0.0; - var $242 = 0.0, $243 = 0.0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0.0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0; - var $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0; - var $279 = 0, $28 = 0.0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0.0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0; - var $3 = 0, $30 = 0.0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; - var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0.0, $54 = 0.0, $55 = 0, $56 = 0, $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0, $61 = 0, $62 = 0.0, $63 = 0.0, $64 = 0.0, $65 = 0; - var $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0; - var $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0.0, $93 = 0.0, $94 = 0.0, $95 = 0, $96 = 0, $97 = 0, $98 = 0.0, $99 = 0.0, $i$017 = 0, $i1$019 = 0, $i12$028 = 0; - var $i13$031 = 0, $i2$021 = 0, $i3$024 = 0, $i7$026 = 0, $image$byval_copy = 0, $k$018 = 0, $k$123 = 0, $k$230 = 0, $or$cond = 0, $roundf = 0.0, $roundf10 = 0.0, $roundf2 = 0.0, $roundf3 = 0.0, $roundf4 = 0.0, $roundf5 = 0.0, $roundf6 = 0.0, $roundf7 = 0.0, $roundf8 = 0.0, $roundf9 = 0.0, $vararg_buffer = 0; - var label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $image$byval_copy = sp + 4|0; - $vararg_buffer = sp; - $0 = ((($image)) + 16|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)==($newFormat|0); - if ($2) { - STACKTOP = sp;return; - } - $3 = ($1|0)<(8); - $4 = ($newFormat|0)<(8); - $or$cond = $4 & $3; - if (!($or$cond)) { - _TraceLog(2,12641,$vararg_buffer); - STACKTOP = sp;return; - } - ;HEAP32[$image$byval_copy>>2]=HEAP32[$image>>2]|0;HEAP32[$image$byval_copy+4>>2]=HEAP32[$image+4>>2]|0;HEAP32[$image$byval_copy+8>>2]=HEAP32[$image+8>>2]|0;HEAP32[$image$byval_copy+12>>2]=HEAP32[$image+12>>2]|0;HEAP32[$image$byval_copy+16>>2]=HEAP32[$image+16>>2]|0; - $5 = (_GetImageData($image$byval_copy)|0); - $6 = HEAP32[$image>>2]|0; - _free($6); - HEAP32[$0>>2] = $newFormat; - switch ($newFormat|0) { - case 1: { - $7 = ((($image)) + 4|0); - $8 = HEAP32[$7>>2]|0; - $9 = ((($image)) + 8|0); - $10 = HEAP32[$9>>2]|0; - $11 = Math_imul($10, $8)|0; - $12 = (_malloc($11)|0); - HEAP32[$image>>2] = $12; - $13 = HEAP32[$7>>2]|0; - $14 = HEAP32[$9>>2]|0; - $15 = Math_imul($14, $13)|0; - $16 = ($15|0)>(0); - if ($16) { - $i$017 = 0; - while(1) { - $17 = (($5) + ($i$017<<2)|0); - $18 = HEAP8[$17>>0]|0; - $19 = (+($18&255)); - $20 = $19 * 0.29899999499320984; - $21 = (((($5) + ($i$017<<2)|0)) + 1|0); - $22 = HEAP8[$21>>0]|0; - $23 = (+($22&255)); - $24 = $23 * 0.58700001239776611; - $25 = $20 + $24; - $26 = (((($5) + ($i$017<<2)|0)) + 2|0); - $27 = HEAP8[$26>>0]|0; - $28 = (+($27&255)); - $29 = $28 * 0.11400000005960464; - $30 = $25 + $29; - $31 = (~~(($30))&255); - $32 = HEAP32[$image>>2]|0; - $33 = (($32) + ($i$017)|0); - HEAP8[$33>>0] = $31; - $34 = (($i$017) + 1)|0; - $35 = HEAP32[$7>>2]|0; - $36 = HEAP32[$9>>2]|0; - $37 = Math_imul($36, $35)|0; - $38 = ($34|0)<($37|0); - if ($38) { - $i$017 = $34; - } else { - break; - } - } - } - break; - } - case 2: { - $39 = ((($image)) + 4|0); - $40 = HEAP32[$39>>2]|0; - $41 = ((($image)) + 8|0); - $42 = HEAP32[$41>>2]|0; - $43 = $40 << 1; - $44 = Math_imul($43, $42)|0; - $45 = (_malloc($44)|0); - HEAP32[$image>>2] = $45; - $46 = HEAP32[$39>>2]|0; - $47 = HEAP32[$41>>2]|0; - $48 = $46 << 1; - $49 = Math_imul($48, $47)|0; - $50 = ($49|0)>(0); - if ($50) { - $i1$019 = 0;$k$018 = 0; - while(1) { - $51 = (($5) + ($k$018<<2)|0); - $52 = HEAP8[$51>>0]|0; - $53 = (+($52&255)); - $54 = $53 * 0.29899999499320984; - $55 = (((($5) + ($k$018<<2)|0)) + 1|0); - $56 = HEAP8[$55>>0]|0; - $57 = (+($56&255)); - $58 = $57 * 0.58700001239776611; - $59 = $54 + $58; - $60 = (((($5) + ($k$018<<2)|0)) + 2|0); - $61 = HEAP8[$60>>0]|0; - $62 = (+($61&255)); - $63 = $62 * 0.11400000005960464; - $64 = $59 + $63; - $65 = (~~(($64))&255); - $66 = HEAP32[$image>>2]|0; - $67 = (($66) + ($i1$019)|0); - HEAP8[$67>>0] = $65; - $68 = (((($5) + ($k$018<<2)|0)) + 3|0); - $69 = HEAP8[$68>>0]|0; - $70 = $i1$019 | 1; - $71 = HEAP32[$image>>2]|0; - $72 = (($71) + ($70)|0); - HEAP8[$72>>0] = $69; - $73 = (($k$018) + 1)|0; - $74 = (($i1$019) + 2)|0; - $75 = HEAP32[$39>>2]|0; - $76 = HEAP32[$41>>2]|0; - $77 = $75 << 1; - $78 = Math_imul($77, $76)|0; - $79 = ($74|0)<($78|0); - if ($79) { - $i1$019 = $74;$k$018 = $73; - } else { - break; - } - } - } - break; - } - case 3: { - $80 = ((($image)) + 4|0); - $81 = HEAP32[$80>>2]|0; - $82 = ((($image)) + 8|0); - $83 = HEAP32[$82>>2]|0; - $84 = $81 << 1; - $85 = Math_imul($84, $83)|0; - $86 = (_malloc($85)|0); - HEAP32[$image>>2] = $86; - $87 = HEAP32[$80>>2]|0; - $88 = HEAP32[$82>>2]|0; - $89 = Math_imul($88, $87)|0; - $90 = ($89|0)>(0); - if ($90) { - $91 = HEAP8[$5>>0]|0; - $92 = (+($91&255)); - $93 = $92 * 31.0; - $94 = $93 / 255.0; - $roundf8 = (+_roundf($94)); - $95 = (~~(($roundf8))&255); - $96 = ((($5)) + 1|0); - $97 = HEAP8[$96>>0]|0; - $98 = (+($97&255)); - $99 = $98 * 63.0; - $100 = $99 / 255.0; - $roundf9 = (+_roundf($100)); - $101 = (~~(($roundf9))&255); - $102 = ((($5)) + 2|0); - $103 = HEAP8[$102>>0]|0; - $104 = (+($103&255)); - $105 = $104 * 31.0; - $106 = $105 / 255.0; - $roundf10 = (+_roundf($106)); - $107 = (~~(($roundf10))&255); - $108 = $95&255; - $109 = $108 << 11; - $110 = $101&255; - $111 = $110 << 5; - $112 = $111 | $109; - $113 = $107&255; - $114 = $112 | $113; - $115 = $114&65535; - $116 = HEAP32[$image>>2]|0; - $117 = HEAP32[$80>>2]|0; - $118 = HEAP32[$82>>2]|0; - $119 = Math_imul($118, $117)|0; - $i2$021 = 0; - while(1) { - $120 = (($116) + ($i2$021<<1)|0); - HEAP16[$120>>1] = $115; - $121 = (($i2$021) + 1)|0; - $122 = ($121|0)<($119|0); - if ($122) { - $i2$021 = $121; - } else { - break; - } - } - } - break; - } - case 4: { - $123 = ((($image)) + 4|0); - $124 = HEAP32[$123>>2]|0; - $125 = ((($image)) + 8|0); - $126 = HEAP32[$125>>2]|0; - $127 = ($124*3)|0; - $128 = Math_imul($127, $126)|0; - $129 = (_malloc($128)|0); - HEAP32[$image>>2] = $129; - $130 = HEAP32[$123>>2]|0; - $131 = HEAP32[$125>>2]|0; - $132 = ($130*3)|0; - $133 = Math_imul($132, $131)|0; - $134 = ($133|0)>(0); - if ($134) { - $i3$024 = 0;$k$123 = 0; - while(1) { - $135 = (($5) + ($k$123<<2)|0); - $136 = HEAP8[$135>>0]|0; - $137 = HEAP32[$image>>2]|0; - $138 = (($137) + ($i3$024)|0); - HEAP8[$138>>0] = $136; - $139 = (((($5) + ($k$123<<2)|0)) + 1|0); - $140 = HEAP8[$139>>0]|0; - $141 = (($i3$024) + 1)|0; - $142 = HEAP32[$image>>2]|0; - $143 = (($142) + ($141)|0); - HEAP8[$143>>0] = $140; - $144 = (((($5) + ($k$123<<2)|0)) + 2|0); - $145 = HEAP8[$144>>0]|0; - $146 = (($i3$024) + 2)|0; - $147 = HEAP32[$image>>2]|0; - $148 = (($147) + ($146)|0); - HEAP8[$148>>0] = $145; - $149 = (($k$123) + 1)|0; - $150 = (($i3$024) + 3)|0; - $151 = HEAP32[$123>>2]|0; - $152 = HEAP32[$125>>2]|0; - $153 = ($151*3)|0; - $154 = Math_imul($153, $152)|0; - $155 = ($150|0)<($154|0); - if ($155) { - $i3$024 = $150;$k$123 = $149; - } else { - break; - } - } - } - break; - } - case 5: { - $156 = ((($image)) + 4|0); - $157 = HEAP32[$156>>2]|0; - $158 = ((($image)) + 8|0); - $159 = HEAP32[$158>>2]|0; - $160 = $157 << 1; - $161 = Math_imul($160, $159)|0; - $162 = (_malloc($161)|0); - HEAP32[$image>>2] = $162; - $163 = HEAP32[$156>>2]|0; - $164 = HEAP32[$158>>2]|0; - $165 = Math_imul($164, $163)|0; - $166 = ($165|0)>(0); - if ($166) { - $167 = HEAP32[$image>>2]|0; - $168 = HEAP32[$156>>2]|0; - $169 = HEAP32[$158>>2]|0; - $170 = Math_imul($169, $168)|0; - $i7$026 = 0; - while(1) { - $171 = (($5) + ($i7$026<<2)|0); - $172 = HEAP8[$171>>0]|0; - $173 = (+($172&255)); - $174 = $173 * 31.0; - $175 = $174 / 255.0; - $roundf5 = (+_roundf($175)); - $176 = (~~(($roundf5))&255); - $177 = (((($5) + ($i7$026<<2)|0)) + 1|0); - $178 = HEAP8[$177>>0]|0; - $179 = (+($178&255)); - $180 = $179 * 31.0; - $181 = $180 / 255.0; - $roundf6 = (+_roundf($181)); - $182 = (~~(($roundf6))&255); - $183 = (((($5) + ($i7$026<<2)|0)) + 2|0); - $184 = HEAP8[$183>>0]|0; - $185 = (+($184&255)); - $186 = $185 * 31.0; - $187 = $186 / 255.0; - $roundf7 = (+_roundf($187)); - $188 = (~~(($roundf7))&255); - $189 = (((($5) + ($i7$026<<2)|0)) + 3|0); - $190 = HEAP8[$189>>0]|0; - $191 = ($190&255)>(50); - $192 = $176&255; - $193 = $192 << 11; - $194 = $182&255; - $195 = $194 << 6; - $196 = $195 | $193; - $197 = $188&255; - $198 = $197 << 1; - $199 = $196 | $198; - $200 = $191&1; - $201 = $199 | $200; - $202 = $201&65535; - $203 = (($167) + ($i7$026<<1)|0); - HEAP16[$203>>1] = $202; - $204 = (($i7$026) + 1)|0; - $205 = ($204|0)<($170|0); - if ($205) { - $i7$026 = $204; - } else { - break; - } - } - } - break; - } - case 6: { - $206 = ((($image)) + 4|0); - $207 = HEAP32[$206>>2]|0; - $208 = ((($image)) + 8|0); - $209 = HEAP32[$208>>2]|0; - $210 = $207 << 1; - $211 = Math_imul($210, $209)|0; - $212 = (_malloc($211)|0); - HEAP32[$image>>2] = $212; - $213 = HEAP32[$206>>2]|0; - $214 = HEAP32[$208>>2]|0; - $215 = Math_imul($214, $213)|0; - $216 = ($215|0)>(0); - if ($216) { - $217 = HEAP32[$image>>2]|0; - $218 = HEAP32[$206>>2]|0; - $219 = HEAP32[$208>>2]|0; - $220 = Math_imul($219, $218)|0; - $i12$028 = 0; - while(1) { - $221 = (($5) + ($i12$028<<2)|0); - $222 = HEAP8[$221>>0]|0; - $223 = (+($222&255)); - $224 = $223 * 15.0; - $225 = $224 / 255.0; - $roundf = (+_roundf($225)); - $226 = (~~(($roundf))&255); - $227 = (((($5) + ($i12$028<<2)|0)) + 1|0); - $228 = HEAP8[$227>>0]|0; - $229 = (+($228&255)); - $230 = $229 * 15.0; - $231 = $230 / 255.0; - $roundf2 = (+_roundf($231)); - $232 = (~~(($roundf2))&255); - $233 = (((($5) + ($i12$028<<2)|0)) + 2|0); - $234 = HEAP8[$233>>0]|0; - $235 = (+($234&255)); - $236 = $235 * 15.0; - $237 = $236 / 255.0; - $roundf3 = (+_roundf($237)); - $238 = (~~(($roundf3))&255); - $239 = (((($5) + ($i12$028<<2)|0)) + 3|0); - $240 = HEAP8[$239>>0]|0; - $241 = (+($240&255)); - $242 = $241 * 15.0; - $243 = $242 / 255.0; - $roundf4 = (+_roundf($243)); - $244 = (~~(($roundf4))&255); - $245 = $226&255; - $246 = $245 << 12; - $247 = $232&255; - $248 = $247 << 8; - $249 = $248 | $246; - $250 = $238&255; - $251 = $250 << 4; - $252 = $249 | $251; - $253 = $244&255; - $254 = $252 | $253; - $255 = $254&65535; - $256 = (($217) + ($i12$028<<1)|0); - HEAP16[$256>>1] = $255; - $257 = (($i12$028) + 1)|0; - $258 = ($257|0)<($220|0); - if ($258) { - $i12$028 = $257; - } else { - break; - } - } - } - break; - } - case 7: { - $259 = ((($image)) + 4|0); - $260 = HEAP32[$259>>2]|0; - $261 = ((($image)) + 8|0); - $262 = HEAP32[$261>>2]|0; - $263 = $260 << 2; - $264 = Math_imul($263, $262)|0; - $265 = (_malloc($264)|0); - HEAP32[$image>>2] = $265; - $266 = HEAP32[$259>>2]|0; - $267 = HEAP32[$261>>2]|0; - $268 = $266 << 2; - $269 = Math_imul($268, $267)|0; - $270 = ($269|0)>(0); - if ($270) { - $i13$031 = 0;$k$230 = 0; - while(1) { - $271 = (($5) + ($k$230<<2)|0); - $272 = HEAP8[$271>>0]|0; - $273 = HEAP32[$image>>2]|0; - $274 = (($273) + ($i13$031)|0); - HEAP8[$274>>0] = $272; - $275 = (((($5) + ($k$230<<2)|0)) + 1|0); - $276 = HEAP8[$275>>0]|0; - $277 = $i13$031 | 1; - $278 = HEAP32[$image>>2]|0; - $279 = (($278) + ($277)|0); - HEAP8[$279>>0] = $276; - $280 = (((($5) + ($k$230<<2)|0)) + 2|0); - $281 = HEAP8[$280>>0]|0; - $282 = $i13$031 | 2; - $283 = HEAP32[$image>>2]|0; - $284 = (($283) + ($282)|0); - HEAP8[$284>>0] = $281; - $285 = (((($5) + ($k$230<<2)|0)) + 3|0); - $286 = HEAP8[$285>>0]|0; - $287 = $i13$031 | 3; - $288 = HEAP32[$image>>2]|0; - $289 = (($288) + ($287)|0); - HEAP8[$289>>0] = $286; - $290 = (($k$230) + 1)|0; - $291 = (($i13$031) + 4)|0; - $292 = HEAP32[$259>>2]|0; - $293 = HEAP32[$261>>2]|0; - $294 = $292 << 2; - $295 = Math_imul($294, $293)|0; - $296 = ($291|0)<($295|0); - if ($296) { - $i13$031 = $291;$k$230 = $290; - } else { - break; - } - } - } - break; - } - default: { - } - } - _free($5); - STACKTOP = sp;return; -} -function _DrawTexturePro($texture,$sourceRec,$destRec,$origin,$rotation,$tint) { - $texture = $texture|0; - $sourceRec = $sourceRec|0; - $destRec = $destRec|0; - $origin = $origin|0; - $rotation = +$rotation; - $tint = $tint|0; - var $0 = 0, $1 = 0, $10 = 0.0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0.0, $2 = 0.0, $20 = 0, $21 = 0, $22 = 0.0, $23 = 0.0, $24 = 0, $25 = 0, $26 = 0.0; - var $27 = 0, $28 = 0, $29 = 0.0, $3 = 0, $30 = 0.0, $31 = 0, $32 = 0.0, $33 = 0, $34 = 0.0, $35 = 0.0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0.0, $41 = 0, $42 = 0.0, $43 = 0.0, $44 = 0; - var $45 = 0, $46 = 0.0, $47 = 0, $48 = 0, $49 = 0, $5 = 0.0, $50 = 0, $51 = 0.0, $52 = 0, $53 = 0.0, $54 = 0.0, $55 = 0, $56 = 0, $57 = 0, $58 = 0.0, $59 = 0, $6 = 0.0, $60 = 0.0, $61 = 0.0, $62 = 0; - var $63 = 0, $64 = 0.0, $65 = 0, $66 = 0.0, $67 = 0, $68 = 0, $69 = 0, $7 = 0.0, $70 = 0.0, $71 = 0, $72 = 0.0, $73 = 0.0, $74 = 0, $75 = 0.0, $76 = 0, $77 = 0.0, $78 = 0.0, $79 = 0, $8 = 0, $80 = 0.0; - var $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[$texture>>2]|0; - _rlEnableTexture($0); - _rlPushMatrix(); - $1 = HEAP32[$destRec>>2]|0; - $2 = (+($1|0)); - $3 = ((($destRec)) + 4|0); - $4 = HEAP32[$3>>2]|0; - $5 = (+($4|0)); - _rlTranslatef($2,$5,0.0); - _rlRotatef($rotation,0.0,0.0,1.0); - $6 = +HEAPF32[$origin>>2]; - $7 = -$6; - $8 = ((($origin)) + 4|0); - $9 = +HEAPF32[$8>>2]; - $10 = -$9; - _rlTranslatef($7,$10,0.0); - _rlBegin(2); - $11 = HEAP8[$tint>>0]|0; - $12 = ((($tint)) + 1|0); - $13 = HEAP8[$12>>0]|0; - $14 = ((($tint)) + 2|0); - $15 = HEAP8[$14>>0]|0; - $16 = ((($tint)) + 3|0); - $17 = HEAP8[$16>>0]|0; - _rlColor4ub($11,$13,$15,$17); - $18 = HEAP32[$sourceRec>>2]|0; - $19 = (+($18|0)); - $20 = ((($texture)) + 4|0); - $21 = HEAP32[$20>>2]|0; - $22 = (+($21|0)); - $23 = $19 / $22; - $24 = ((($sourceRec)) + 4|0); - $25 = HEAP32[$24>>2]|0; - $26 = (+($25|0)); - $27 = ((($texture)) + 8|0); - $28 = HEAP32[$27>>2]|0; - $29 = (+($28|0)); - $30 = $26 / $29; - _rlTexCoord2f($23,$30); - _rlVertex2f(0.0,0.0); - $31 = HEAP32[$sourceRec>>2]|0; - $32 = (+($31|0)); - $33 = HEAP32[$20>>2]|0; - $34 = (+($33|0)); - $35 = $32 / $34; - $36 = HEAP32[$24>>2]|0; - $37 = ((($sourceRec)) + 12|0); - $38 = HEAP32[$37>>2]|0; - $39 = (($38) + ($36))|0; - $40 = (+($39|0)); - $41 = HEAP32[$27>>2]|0; - $42 = (+($41|0)); - $43 = $40 / $42; - _rlTexCoord2f($35,$43); - $44 = ((($destRec)) + 12|0); - $45 = HEAP32[$44>>2]|0; - $46 = (+($45|0)); - _rlVertex2f(0.0,$46); - $47 = HEAP32[$sourceRec>>2]|0; - $48 = ((($sourceRec)) + 8|0); - $49 = HEAP32[$48>>2]|0; - $50 = (($49) + ($47))|0; - $51 = (+($50|0)); - $52 = HEAP32[$20>>2]|0; - $53 = (+($52|0)); - $54 = $51 / $53; - $55 = HEAP32[$24>>2]|0; - $56 = HEAP32[$37>>2]|0; - $57 = (($56) + ($55))|0; - $58 = (+($57|0)); - $59 = HEAP32[$27>>2]|0; - $60 = (+($59|0)); - $61 = $58 / $60; - _rlTexCoord2f($54,$61); - $62 = ((($destRec)) + 8|0); - $63 = HEAP32[$62>>2]|0; - $64 = (+($63|0)); - $65 = HEAP32[$44>>2]|0; - $66 = (+($65|0)); - _rlVertex2f($64,$66); - $67 = HEAP32[$sourceRec>>2]|0; - $68 = HEAP32[$48>>2]|0; - $69 = (($68) + ($67))|0; - $70 = (+($69|0)); - $71 = HEAP32[$20>>2]|0; - $72 = (+($71|0)); - $73 = $70 / $72; - $74 = HEAP32[$24>>2]|0; - $75 = (+($74|0)); - $76 = HEAP32[$27>>2]|0; - $77 = (+($76|0)); - $78 = $75 / $77; - _rlTexCoord2f($73,$78); - $79 = HEAP32[$62>>2]|0; - $80 = (+($79|0)); - _rlVertex2f($80,0.0); - _rlEnd(); - _rlPopMatrix(); - return; -} -function _LoadDefaultFont() { - var $$ = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; - var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0; - var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $8 = 0, $9 = 0, $counter$013 = 0, $currentLine$08 = 0, $currentLine$1 = 0, $currentPosX$09 = 0, $currentPosX$1 = 0, $exitcond = 0; - var $i$014 = 0, $i1$012 = 0, $i2$010 = 0, $image = 0, $image$byval_copy1 = 0, $j$011 = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; - $image$byval_copy1 = sp + 44|0; - $vararg_buffer = sp; - $image = sp + 24|0; - $0 = sp + 4|0; - HEAP32[(2908)>>2] = 224; - $1 = (_malloc(65536)|0); - $i$014 = 0; - while(1) { - $2 = (($1) + ($i$014<<2)|0); - $3 = (($i$014) + 1)|0; - $exitcond = ($3|0)==(16384); - HEAP8[$2>>0]=0&255;HEAP8[$2+1>>0]=(0>>8)&255;HEAP8[$2+2>>0]=(0>>16)&255;HEAP8[$2+3>>0]=0>>24; - if ($exitcond) { - $counter$013 = 0;$i1$012 = 0; - break; - } else { - $i$014 = $3; - } - } - while(1) { - $4 = (2928 + ($counter$013<<2)|0); - $5 = HEAP32[$4>>2]|0; - $j$011 = 31; - while(1) { - $6 = 1 << $j$011; - $7 = $5 & $6; - $8 = ($7|0)==(0); - if (!($8)) { - $9 = (($j$011) + ($i1$012))|0; - $10 = (($1) + ($9<<2)|0); - HEAP8[$10>>0]=-1&255;HEAP8[$10+1>>0]=(-1>>8)&255;HEAP8[$10+2>>0]=(-1>>16)&255;HEAP8[$10+3>>0]=-1>>24; - } - $11 = (($j$011) + -1)|0; - $12 = ($j$011|0)>(0); - if ($12) { - $j$011 = $11; - } else { - break; - } - } - $13 = (($counter$013) + 1)|0; - $14 = ($counter$013|0)>(511); - $$ = $14 ? 0 : $13; - $15 = (($i1$012) + 32)|0; - $16 = ($15|0)<(16384); - if ($16) { - $counter$013 = $$;$i1$012 = $15; - } else { - break; - } - } - _LoadImageEx($image,$1,128,128); - _ImageFormat($image,2); - _free($1); - ;HEAP32[$image$byval_copy1>>2]=HEAP32[$image>>2]|0;HEAP32[$image$byval_copy1+4>>2]=HEAP32[$image+4>>2]|0;HEAP32[$image$byval_copy1+8>>2]=HEAP32[$image+8>>2]|0;HEAP32[$image$byval_copy1+12>>2]=HEAP32[$image+12>>2]|0;HEAP32[$image$byval_copy1+16>>2]=HEAP32[$image+16>>2]|0; - _LoadTextureFromImage($0,$image$byval_copy1); - ;HEAP32[2884>>2]=HEAP32[$0>>2]|0;HEAP32[2884+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[2884+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[2884+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[2884+16>>2]=HEAP32[$0+16>>2]|0; - ;HEAP32[$image$byval_copy1>>2]=HEAP32[$image>>2]|0;HEAP32[$image$byval_copy1+4>>2]=HEAP32[$image+4>>2]|0;HEAP32[$image$byval_copy1+8>>2]=HEAP32[$image+8>>2]|0;HEAP32[$image$byval_copy1+12>>2]=HEAP32[$image+12>>2]|0;HEAP32[$image$byval_copy1+16>>2]=HEAP32[$image+16>>2]|0; - _UnloadImage($image$byval_copy1); - $17 = HEAP32[(2908)>>2]|0; - $18 = $17 << 2; - $19 = (_malloc($18)|0); - HEAP32[(2912)>>2] = $19; - $20 = HEAP32[(2908)>>2]|0; - $21 = $20 << 4; - $22 = (_malloc($21)|0); - HEAP32[(2916)>>2] = $22; - $23 = HEAP32[(2908)>>2]|0; - $24 = $23 << 3; - $25 = (_malloc($24)|0); - HEAP32[(2920)>>2] = $25; - $26 = HEAP32[(2908)>>2]|0; - $27 = $26 << 2; - $28 = (_malloc($27)|0); - HEAP32[(2924)>>2] = $28; - $29 = HEAP32[(2908)>>2]|0; - $30 = ($29|0)>(0); - if ($30) { - $currentLine$08 = 0;$currentPosX$09 = 1;$i2$010 = 0; - } else { - $69 = HEAP32[(2916)>>2]|0; - $70 = ((($69)) + 12|0); - $71 = HEAP32[$70>>2]|0; - HEAP32[(2904)>>2] = $71; - $72 = HEAP32[2884>>2]|0; - HEAP32[$vararg_buffer>>2] = $72; - _TraceLog(0,12695,$vararg_buffer); - STACKTOP = sp;return; - } - while(1) { - $31 = (($i2$010) + 32)|0; - $32 = HEAP32[(2912)>>2]|0; - $33 = (($32) + ($i2$010<<2)|0); - HEAP32[$33>>2] = $31; - $34 = HEAP32[(2916)>>2]|0; - $35 = (($34) + ($i2$010<<4)|0); - HEAP32[$35>>2] = $currentPosX$09; - $36 = ($currentLine$08*11)|0; - $37 = (($36) + 1)|0; - $38 = HEAP32[(2916)>>2]|0; - $39 = (((($38) + ($i2$010<<4)|0)) + 4|0); - HEAP32[$39>>2] = $37; - $40 = (4976 + ($i2$010<<2)|0); - $41 = HEAP32[$40>>2]|0; - $42 = HEAP32[(2916)>>2]|0; - $43 = (((($42) + ($i2$010<<4)|0)) + 8|0); - HEAP32[$43>>2] = $41; - $44 = HEAP32[(2916)>>2]|0; - $45 = (((($44) + ($i2$010<<4)|0)) + 12|0); - HEAP32[$45>>2] = 10; - $46 = HEAP32[(2916)>>2]|0; - $47 = (((($46) + ($i2$010<<4)|0)) + 8|0); - $48 = HEAP32[$47>>2]|0; - $49 = (($currentPosX$09) + 1)|0; - $50 = (($49) + ($48))|0; - $51 = HEAP32[(2888)>>2]|0; - $52 = ($50|0)<($51|0); - if ($52) { - $currentLine$1 = $currentLine$08;$currentPosX$1 = $50; - } else { - $53 = (($currentLine$08) + 1)|0; - $54 = HEAP32[$40>>2]|0; - $55 = (($54) + 2)|0; - $56 = (($46) + ($i2$010<<4)|0); - HEAP32[$56>>2] = 1; - $57 = ($53*11)|0; - $58 = (($57) + 1)|0; - $59 = HEAP32[(2916)>>2]|0; - $60 = (((($59) + ($i2$010<<4)|0)) + 4|0); - HEAP32[$60>>2] = $58; - $currentLine$1 = $53;$currentPosX$1 = $55; - } - $61 = HEAP32[(2920)>>2]|0; - $62 = (($61) + ($i2$010<<3)|0); - HEAPF32[$62>>2] = 0.0; - $63 = (((($61) + ($i2$010<<3)|0)) + 4|0); - HEAPF32[$63>>2] = 0.0; - $64 = HEAP32[(2924)>>2]|0; - $65 = (($64) + ($i2$010<<2)|0); - HEAP32[$65>>2] = 0; - $66 = (($i2$010) + 1)|0; - $67 = HEAP32[(2908)>>2]|0; - $68 = ($66|0)<($67|0); - if ($68) { - $currentLine$08 = $currentLine$1;$currentPosX$09 = $currentPosX$1;$i2$010 = $66; - } else { - break; - } - } - $69 = HEAP32[(2916)>>2]|0; - $70 = ((($69)) + 12|0); - $71 = HEAP32[$70>>2]|0; - HEAP32[(2904)>>2] = $71; - $72 = HEAP32[2884>>2]|0; - HEAP32[$vararg_buffer>>2] = $72; - _TraceLog(0,12695,$vararg_buffer); - STACKTOP = sp;return; -} -function _UnloadDefaultFont() { - var $$byval_copy = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $$byval_copy = sp; - ;HEAP32[$$byval_copy>>2]=HEAP32[2884>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[2884+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[2884+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[2884+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[2884+16>>2]|0; - _UnloadTexture($$byval_copy); - $0 = HEAP32[(2912)>>2]|0; - _free($0); - $1 = HEAP32[(2916)>>2]|0; - _free($1); - $2 = HEAP32[(2920)>>2]|0; - _free($2); - $3 = HEAP32[(2924)>>2]|0; - _free($3); - STACKTOP = sp;return; -} -function _DrawText($text,$posX,$posY,$fontSize,$color) { - $text = $text|0; - $posX = $posX|0; - $posY = $posY|0; - $fontSize = $fontSize|0; - $color = $color|0; - var $$fontSize = 0, $0 = 0.0, $1 = 0, $2 = 0.0, $3 = 0, $4 = 0, $color$byval_copy = 0, $defaultFont$byval_copy = 0, $position = 0, $position$byval_copy = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 80|0; - $color$byval_copy = sp + 64|0; - $position$byval_copy = sp + 56|0; - $defaultFont$byval_copy = sp + 8|0; - $position = sp; - $0 = (+($posX|0)); - HEAPF32[$position>>2] = $0; - $1 = ((($position)) + 4|0); - $2 = (+($posY|0)); - HEAPF32[$1>>2] = $2; - $3 = ($fontSize|0)<(10); - $$fontSize = $3 ? 10 : $fontSize; - $4 = (($$fontSize|0) / 10)&-1; - dest=$defaultFont$byval_copy; src=2884; stop=dest+44|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - ;HEAP32[$position$byval_copy>>2]=HEAP32[$position>>2]|0;HEAP32[$position$byval_copy+4>>2]=HEAP32[$position+4>>2]|0; - ;HEAP8[$color$byval_copy>>0]=HEAP8[$color>>0]|0;HEAP8[$color$byval_copy+1>>0]=HEAP8[$color+1>>0]|0;HEAP8[$color$byval_copy+2>>0]=HEAP8[$color+2>>0]|0;HEAP8[$color$byval_copy+3>>0]=HEAP8[$color+3>>0]|0; - _DrawTextEx($defaultFont$byval_copy,$text,$position$byval_copy,$$fontSize,$4,$color$byval_copy); - STACKTOP = sp;return; -} -function _DrawTextEx($spriteFont,$text,$position,$fontSize,$spacing,$tint) { - $spriteFont = $spriteFont|0; - $text = $text|0; - $position = $position|0; - $fontSize = $fontSize|0; - $spacing = $spacing|0; - $tint = $tint|0; - var $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $$pr = 0, $0 = 0, $1 = 0, $10 = 0.0, $100 = 0, $11 = 0, $12 = 0, $13 = 0.0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0.0; - var $22 = 0.0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0.0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0; - var $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0.0, $45 = 0.0, $46 = 0.0, $47 = 0.0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0.0, $55 = 0.0, $56 = 0, $57 = 0, $58 = 0; - var $59 = 0, $6 = 0.0, $60 = 0, $61 = 0, $62 = 0.0, $63 = 0.0, $64 = 0.0, $65 = 0, $66 = 0.0, $67 = 0.0, $68 = 0, $69 = 0.0, $7 = 0.0, $70 = 0.0, $71 = 0.0, $72 = 0, $73 = 0, $74 = 0.0, $75 = 0.0, $76 = 0; - var $77 = 0, $78 = 0.0, $79 = 0.0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0.0, $9 = 0, $90 = 0.0, $91 = 0.0, $92 = 0.0, $93 = 0, $94 = 0.0; - var $95 = 0.0, $96 = 0.0, $97 = 0.0, $98 = 0, $99 = 0, $i$03 = 0, $i$1$ph = 0, $i$16 = 0, $rec = 0, $rec$byval_copy = 0, $textOffsetX$05 = 0, $textOffsetX$2 = 0, $textOffsetY$04 = 0, $textOffsetY$17 = 0, $tint$byval_copy = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 112|0; - $tint$byval_copy = sp + 104|0; - $$byval_copy2 = sp + 96|0; - $$byval_copy1 = sp + 80|0; - $rec$byval_copy = sp + 64|0; - $$byval_copy = sp + 40|0; - $rec = sp + 24|0; - $0 = sp + 8|0; - $1 = sp; - $2 = (_strlen($text)|0); - $3 = (+($fontSize|0)); - $4 = ((($spriteFont)) + 20|0); - $5 = HEAP32[$4>>2]|0; - $6 = (+($5|0)); - $7 = $3 / $6; - $8 = ($2|0)>(0); - if (!($8)) { - STACKTOP = sp;return; - } - $9 = ((($spriteFont)) + 32|0); - $10 = +HEAPF32[$position>>2]; - $11 = ((($spriteFont)) + 36|0); - $12 = ((($position)) + 4|0); - $13 = +HEAPF32[$12>>2]; - $14 = ((($rec)) + 8|0); - $15 = ((($rec)) + 12|0); - $16 = ((($0)) + 4|0); - $17 = ((($0)) + 8|0); - $18 = ((($0)) + 12|0); - $19 = ((($1)) + 4|0); - $20 = ((($spriteFont)) + 40|0); - $21 = (+($spacing|0)); - $22 = (+($spacing|0)); - $23 = ((($spriteFont)) + 32|0); - $24 = ((($spriteFont)) + 32|0); - $i$03 = 0;$textOffsetX$05 = 0;$textOffsetY$04 = 0; - while(1) { - $25 = (($text) + ($i$03)|0); - $26 = HEAP8[$25>>0]|0; - switch ($26<<24>>24) { - case -62: { - $27 = (($i$03) + 1)|0; - $28 = (($text) + ($27)|0); - $29 = HEAP8[$28>>0]|0; - $30 = $29&255; - $31 = (($30) + -32)|0; - $32 = HEAP32[$23>>2]|0; - $33 = (($32) + ($31<<4)|0); - ;HEAP32[$rec>>2]=HEAP32[$33>>2]|0;HEAP32[$rec+4>>2]=HEAP32[$33+4>>2]|0;HEAP32[$rec+8>>2]=HEAP32[$33+8>>2]|0;HEAP32[$rec+12>>2]=HEAP32[$33+12>>2]|0; - $i$1$ph = $27; - label = 8; - break; - } - case -61: { - $34 = (($i$03) + 1)|0; - $35 = (($text) + ($34)|0); - $36 = HEAP8[$35>>0]|0; - $37 = $36&255; - $38 = (($37) + 32)|0; - $39 = HEAP32[$24>>2]|0; - $40 = (($39) + ($38<<4)|0); - ;HEAP32[$rec>>2]=HEAP32[$40>>2]|0;HEAP32[$rec+4>>2]=HEAP32[$40+4>>2]|0;HEAP32[$rec+8>>2]=HEAP32[$40+8>>2]|0;HEAP32[$rec+12>>2]=HEAP32[$40+12>>2]|0; - $i$1$ph = $34; - label = 8; - break; - } - case 10: { - $41 = HEAP32[$4>>2]|0; - $42 = (($41|0) / 2)&-1; - $43 = (($42) + ($41))|0; - $44 = (+($43|0)); - $45 = $7 * $44; - $46 = (+($textOffsetY$04|0)); - $47 = $46 + $45; - $48 = (~~(($47))); - HEAP32[$rec>>2] = -1; - $i$16 = $i$03;$textOffsetX$2 = 0;$textOffsetY$17 = $48; - break; - } - default: { - $49 = $26 << 24 >> 24; - $50 = (($49) + -32)|0; - $51 = HEAP32[$9>>2]|0; - $52 = (($51) + ($50<<4)|0); - ;HEAP32[$rec>>2]=HEAP32[$52>>2]|0;HEAP32[$rec+4>>2]=HEAP32[$52+4>>2]|0;HEAP32[$rec+8>>2]=HEAP32[$52+8>>2]|0;HEAP32[$rec+12>>2]=HEAP32[$52+12>>2]|0; - $i$1$ph = $i$03; - label = 8; - } - } - do { - if ((label|0) == 8) { - label = 0; - $$pr = HEAP32[$rec>>2]|0; - $53 = ($$pr|0)>(0); - if ($53) { - $54 = (+($textOffsetX$05|0)); - $55 = $54 + $10; - $56 = (($text) + ($i$1$ph)|0); - $57 = HEAP8[$56>>0]|0; - $58 = $57 << 24 >> 24; - $59 = (($58) + -32)|0; - $60 = HEAP32[$11>>2]|0; - $61 = (($60) + ($59<<3)|0); - $62 = +HEAPF32[$61>>2]; - $63 = $7 * $62; - $64 = $55 + $63; - $65 = (~~(($64))); - $66 = (+($textOffsetY$04|0)); - $67 = $66 + $13; - $68 = (((($60) + ($59<<3)|0)) + 4|0); - $69 = +HEAPF32[$68>>2]; - $70 = $7 * $69; - $71 = $67 + $70; - $72 = (~~(($71))); - $73 = HEAP32[$14>>2]|0; - $74 = (+($73|0)); - $75 = $7 * $74; - $76 = (~~(($75))); - $77 = HEAP32[$15>>2]|0; - $78 = (+($77|0)); - $79 = $7 * $78; - $80 = (~~(($79))); - HEAP32[$0>>2] = $65; - HEAP32[$16>>2] = $72; - HEAP32[$17>>2] = $76; - HEAP32[$18>>2] = $80; - HEAPF32[$1>>2] = 0.0; - HEAPF32[$19>>2] = 0.0; - ;HEAP32[$$byval_copy>>2]=HEAP32[$spriteFont>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$spriteFont+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$spriteFont+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$spriteFont+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$spriteFont+16>>2]|0; - ;HEAP32[$rec$byval_copy>>2]=HEAP32[$rec>>2]|0;HEAP32[$rec$byval_copy+4>>2]=HEAP32[$rec+4>>2]|0;HEAP32[$rec$byval_copy+8>>2]=HEAP32[$rec+8>>2]|0;HEAP32[$rec$byval_copy+12>>2]=HEAP32[$rec+12>>2]|0; - ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0; - ;HEAP32[$$byval_copy2>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$1+4>>2]|0; - ;HEAP8[$tint$byval_copy>>0]=HEAP8[$tint>>0]|0;HEAP8[$tint$byval_copy+1>>0]=HEAP8[$tint+1>>0]|0;HEAP8[$tint$byval_copy+2>>0]=HEAP8[$tint+2>>0]|0;HEAP8[$tint$byval_copy+3>>0]=HEAP8[$tint+3>>0]|0; - _DrawTexturePro($$byval_copy,$rec$byval_copy,$$byval_copy1,$$byval_copy2,0.0,$tint$byval_copy); - $81 = HEAP8[$56>>0]|0; - $82 = $81 << 24 >> 24; - $83 = (($82) + -32)|0; - $84 = HEAP32[$20>>2]|0; - $85 = (($84) + ($83<<2)|0); - $86 = HEAP32[$85>>2]|0; - $87 = ($86|0)==(0); - if ($87) { - $88 = HEAP32[$14>>2]|0; - $89 = (+($88|0)); - $90 = $7 * $89; - $91 = $21 + $90; - $92 = $54 + $91; - $93 = (~~(($92))); - $i$16 = $i$1$ph;$textOffsetX$2 = $93;$textOffsetY$17 = $textOffsetY$04; - break; - } else { - $94 = (+($86|0)); - $95 = $7 * $94; - $96 = $22 + $95; - $97 = $54 + $96; - $98 = (~~(($97))); - $i$16 = $i$1$ph;$textOffsetX$2 = $98;$textOffsetY$17 = $textOffsetY$04; - break; - } - } else { - $i$16 = $i$1$ph;$textOffsetX$2 = $textOffsetX$05;$textOffsetY$17 = $textOffsetY$04; - } - } - } while(0); - $99 = (($i$16) + 1)|0; - $100 = ($99|0)<($2|0); - if ($100) { - $i$03 = $99;$textOffsetX$05 = $textOffsetX$2;$textOffsetY$04 = $textOffsetY$17; - } else { - break; - } - } - STACKTOP = sp;return; -} -function _FormatText($text,$varargs) { - $text = $text|0; - $varargs = $varargs|0; - var $args = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $args = sp; - HEAP32[$args>>2] = $varargs; - (_vsprintf(12740,$text,$args)|0); - STACKTOP = sp;return (12740|0); -} -function _MeasureText($text,$fontSize) { - $text = $text|0; - $fontSize = $fontSize|0; - var $$fontSize = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0.0, $4 = 0, $defaultFont$byval_copy = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; - $defaultFont$byval_copy = sp + 8|0; - $0 = sp; - $1 = ($fontSize|0)<(10); - $$fontSize = $1 ? 10 : $fontSize; - $2 = (($$fontSize|0) / 10)&-1; - dest=$defaultFont$byval_copy; src=2884; stop=dest+44|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MeasureTextEx($0,$defaultFont$byval_copy,$text,$$fontSize,$2); - $3 = +HEAPF32[$0>>2]; - $4 = (~~(($3))); - STACKTOP = sp;return ($4|0); -} -function _MeasureTextEx($agg$result,$spriteFont,$text,$fontSize,$spacing) { - $agg$result = $agg$result|0; - $spriteFont = $spriteFont|0; - $text = $text|0; - $fontSize = $fontSize|0; - $spacing = $spacing|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0.0, $25 = 0, $26 = 0.0; - var $27 = 0.0, $28 = 0.0, $29 = 0.0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0.0, $4 = 0, $40 = 0.0, $41 = 0.0, $42 = 0.0, $43 = 0.0, $44 = 0; - var $45 = 0.0, $46 = 0.0, $47 = 0.0, $48 = 0.0, $49 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $i$05 = 0, $lenCounter$06 = 0, $lenCounter$1 = 0, $lenCounter$1$tempLen$0 = 0, $lenCounter$1$tempLen$0$lcssa = 0, $phitmp = 0, $scaleFactor$0 = 0.0, $tempLen$0$lcssa = 0, $tempLen$07 = 0; - var $tempTextWidth$0$lcssa = 0, $tempTextWidth$03 = 0, $tempTextWidth$2 = 0, $tempTextWidth$2$lcssa = 0, $textHeight$0$lcssa = 0, $textHeight$04 = 0, $textHeight$1 = 0, $textHeight$1$lcssa = 0, $textWidth$0$lcssa = 0, $textWidth$0$tempTextWidth$0 = 0, $textWidth$0$tempTextWidth$01 = 0, $textWidth$02 = 0, $textWidth$1 = 0, $textWidth$1$lcssa = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_strlen($text)|0); - $1 = ((($spriteFont)) + 20|0); - $2 = HEAP32[$1>>2]|0; - $3 = ($0|0)>(0); - if ($3) { - $4 = HEAP32[$1>>2]|0; - $5 = (($4|0) / 2)&-1; - $6 = ((($spriteFont)) + 40|0); - $7 = HEAP32[$6>>2]|0; - $8 = ((($spriteFont)) + 32|0); - $9 = HEAP32[$8>>2]|0; - $10 = ((($spriteFont)) + 36|0); - $11 = HEAP32[$10>>2]|0; - $i$05 = 0;$lenCounter$06 = 0;$tempLen$07 = 0;$tempTextWidth$03 = 0;$textHeight$04 = $2;$textWidth$02 = 0; - while(1) { - $12 = (($lenCounter$06) + 1)|0; - $13 = (($text) + ($i$05)|0); - $14 = HEAP8[$13>>0]|0; - $15 = ($14<<24>>24)==(10); - do { - if ($15) { - $31 = ($tempTextWidth$03|0)<($textWidth$02|0); - $textWidth$0$tempTextWidth$0 = $31 ? $textWidth$02 : $tempTextWidth$03; - $32 = (($4) + ($textHeight$04))|0; - $33 = (($32) + ($5))|0; - $lenCounter$1 = 0;$tempTextWidth$2 = $textWidth$0$tempTextWidth$0;$textHeight$1 = $33;$textWidth$1 = 0; - } else { - $16 = $14 << 24 >> 24; - $17 = (($16) + -32)|0; - $18 = (($7) + ($17<<2)|0); - $19 = HEAP32[$18>>2]|0; - $20 = ($19|0)==(0); - if ($20) { - $22 = (((($9) + ($17<<4)|0)) + 8|0); - $23 = HEAP32[$22>>2]|0; - $24 = (+($23|0)); - $25 = (($11) + ($17<<3)|0); - $26 = +HEAPF32[$25>>2]; - $27 = $24 + $26; - $28 = (+($textWidth$02|0)); - $29 = $28 + $27; - $30 = (~~(($29))); - $lenCounter$1 = $12;$tempTextWidth$2 = $tempTextWidth$03;$textHeight$1 = $textHeight$04;$textWidth$1 = $30; - break; - } else { - $21 = (($19) + ($textWidth$02))|0; - $lenCounter$1 = $12;$tempTextWidth$2 = $tempTextWidth$03;$textHeight$1 = $textHeight$04;$textWidth$1 = $21; - break; - } - } - } while(0); - $34 = ($tempLen$07|0)<($lenCounter$1|0); - $lenCounter$1$tempLen$0 = $34 ? $lenCounter$1 : $tempLen$07; - $35 = (($i$05) + 1)|0; - $exitcond = ($35|0)==($0|0); - if ($exitcond) { - $lenCounter$1$tempLen$0$lcssa = $lenCounter$1$tempLen$0;$tempTextWidth$2$lcssa = $tempTextWidth$2;$textHeight$1$lcssa = $textHeight$1;$textWidth$1$lcssa = $textWidth$1; - break; - } else { - $i$05 = $35;$lenCounter$06 = $lenCounter$1;$tempLen$07 = $lenCounter$1$tempLen$0;$tempTextWidth$03 = $tempTextWidth$2;$textHeight$04 = $textHeight$1;$textWidth$02 = $textWidth$1; - } - } - $phitmp = (($lenCounter$1$tempLen$0$lcssa) + -1)|0; - $tempLen$0$lcssa = $phitmp;$tempTextWidth$0$lcssa = $tempTextWidth$2$lcssa;$textHeight$0$lcssa = $textHeight$1$lcssa;$textWidth$0$lcssa = $textWidth$1$lcssa; - } else { - $tempLen$0$lcssa = -1;$tempTextWidth$0$lcssa = 0;$textHeight$0$lcssa = $2;$textWidth$0$lcssa = 0; - } - $36 = ($tempTextWidth$0$lcssa|0)<($textWidth$0$lcssa|0); - $textWidth$0$tempTextWidth$01 = $36 ? $textWidth$0$lcssa : $tempTextWidth$0$lcssa; - $37 = HEAP32[$1>>2]|0; - $38 = ($37|0)<($fontSize|0); - if (!($38)) { - $scaleFactor$0 = 1.0; - $42 = (+($textWidth$0$tempTextWidth$01|0)); - $43 = $42 * $scaleFactor$0; - $44 = Math_imul($tempLen$0$lcssa, $spacing)|0; - $45 = (+($44|0)); - $46 = $45 + $43; - $47 = (+($textHeight$0$lcssa|0)); - $48 = $47 * $scaleFactor$0; - HEAPF32[$agg$result>>2] = $46; - $49 = ((($agg$result)) + 4|0); - HEAPF32[$49>>2] = $48; - return; - } - $39 = (+($fontSize|0)); - $40 = (+($37|0)); - $41 = $39 / $40; - $scaleFactor$0 = $41; - $42 = (+($textWidth$0$tempTextWidth$01|0)); - $43 = $42 * $scaleFactor$0; - $44 = Math_imul($tempLen$0$lcssa, $spacing)|0; - $45 = (+($44|0)); - $46 = $45 + $43; - $47 = (+($textHeight$0$lcssa|0)); - $48 = $47 * $scaleFactor$0; - HEAPF32[$agg$result>>2] = $46; - $49 = ((($agg$result)) + 4|0); - HEAPF32[$49>>2] = $48; - return; -} -function _stb_vorbis_close($p) { - $p = $p|0; - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ($p|0)==(0|0); - if ($0) { - return; - } - _vorbis_deinit($p); - _setup_free($p,$p); - return; -} -function _stb_vorbis_get_info($agg$result,$f) { - $agg$result = $agg$result|0; - $f = $f|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($f)) + 4|0); - $1 = HEAP32[$0>>2]|0; - $2 = HEAP32[$f>>2]|0; - $3 = ((($f)) + 8|0); - $4 = HEAP32[$3>>2]|0; - $5 = ((($f)) + 16|0); - $6 = HEAP32[$5>>2]|0; - $7 = ((($f)) + 12|0); - $8 = HEAP32[$7>>2]|0; - $9 = ((($f)) + 116|0); - $10 = HEAP32[$9>>2]|0; - $11 = $10 >> 1; - HEAP32[$agg$result>>2] = $2; - $12 = ((($agg$result)) + 4|0); - HEAP32[$12>>2] = $1; - $13 = ((($agg$result)) + 8|0); - HEAP32[$13>>2] = $4; - $14 = ((($agg$result)) + 12|0); - HEAP32[$14>>2] = $6; - $15 = ((($agg$result)) + 16|0); - HEAP32[$15>>2] = $8; - $16 = ((($agg$result)) + 20|0); - HEAP32[$16>>2] = $11; - return; -} -function _stb_vorbis_get_file_offset($f) { - $f = $f|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($f)) + 48|0); - $1 = HEAP8[$0>>0]|0; - $2 = ($1<<24>>24)==(0); - if (!($2)) { - $$0 = 0; - return ($$0|0); - } - $3 = ((($f)) + 32|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)==(0|0); - if ($5) { - $11 = ((($f)) + 20|0); - $12 = HEAP32[$11>>2]|0; - $13 = (_ftell($12)|0); - $14 = ((($f)) + 24|0); - $15 = HEAP32[$14>>2]|0; - $16 = (($13) - ($15))|0; - $$0 = $16; - return ($$0|0); - } else { - $6 = ((($f)) + 36|0); - $7 = HEAP32[$6>>2]|0; - $8 = $4; - $9 = $7; - $10 = (($8) - ($9))|0; - $$0 = $10; - return ($$0|0); - } - return (0)|0; -} -function _stb_vorbis_get_frame_float($f,$channels,$output) { - $f = $f|0; - $channels = $channels|0; - $output = $output|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i$01 = 0, $left = 0, $len = 0, $right = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $len = sp + 8|0; - $right = sp + 4|0; - $left = sp; - $0 = ((($f)) + 48|0); - $1 = HEAP8[$0>>0]|0; - $2 = ($1<<24>>24)==(0); - if (!($2)) { - _error($f,2); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $3 = (_vorbis_decode_packet($f,$len,$left,$right)|0); - $4 = ($3|0)==(0); - if ($4) { - $5 = ((($f)) + 1508|0); - HEAP32[$5>>2] = 0; - $6 = ((($f)) + 1504|0); - HEAP32[$6>>2] = 0; - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $7 = HEAP32[$len>>2]|0; - $8 = HEAP32[$left>>2]|0; - $9 = HEAP32[$right>>2]|0; - $10 = (_vorbis_finish_frame($f,$7,$8,$9)|0); - HEAP32[$len>>2] = $10; - $11 = ((($f)) + 4|0); - $12 = HEAP32[$11>>2]|0; - $13 = ($12|0)>(0); - if ($13) { - $14 = HEAP32[$left>>2]|0; - $i$01 = 0; - while(1) { - $15 = (((($f)) + 800|0) + ($i$01<<2)|0); - $16 = HEAP32[$15>>2]|0; - $17 = (($16) + ($14<<2)|0); - $18 = (((($f)) + 864|0) + ($i$01<<2)|0); - HEAP32[$18>>2] = $17; - $19 = (($i$01) + 1)|0; - $20 = HEAP32[$11>>2]|0; - $21 = ($19|0)<($20|0); - if ($21) { - $i$01 = $19; - } else { - break; - } - } - } - $22 = HEAP32[$left>>2]|0; - $23 = ((($f)) + 1504|0); - HEAP32[$23>>2] = $22; - $24 = HEAP32[$left>>2]|0; - $25 = HEAP32[$len>>2]|0; - $26 = (($25) + ($24))|0; - $27 = ((($f)) + 1508|0); - HEAP32[$27>>2] = $26; - $28 = ($channels|0)==(0|0); - if (!($28)) { - $29 = HEAP32[$11>>2]|0; - HEAP32[$channels>>2] = $29; - } - $30 = ($output|0)==(0|0); - if (!($30)) { - $31 = ((($f)) + 864|0); - HEAP32[$output>>2] = $31; - } - $32 = HEAP32[$len>>2]|0; - $$0 = $32; - STACKTOP = sp;return ($$0|0); -} -function _stb_vorbis_seek_start($f) { - $f = $f|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($f)) + 48|0); - $1 = HEAP8[$0>>0]|0; - $2 = ($1<<24>>24)==(0); - if ($2) { - $3 = ((($f)) + 52|0); - $4 = HEAP32[$3>>2]|0; - _set_file_offset($f,$4); - $5 = ((($f)) + 992|0); - HEAP32[$5>>2] = 0; - $6 = ((($f)) + 1377|0); - HEAP8[$6>>0] = 1; - $7 = ((($f)) + 1380|0); - HEAP32[$7>>2] = -1; - _vorbis_pump_first_frame($f); - return; - } else { - _error($f,2); - return; - } -} -function _stb_vorbis_stream_length_in_samples($f) { - $f = $f|0; - var $$ = 0, $$0 = 0, $$2 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; - var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $5 = 0, $6 = 0; - var $7 = 0, $8 = 0, $9 = 0, $end = 0, $header = 0, $last = 0, $last_page_loc$0$lcssa = 0, $last_page_loc$03 = 0, $previous_safe$0 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $end = sp + 4|0; - $last = sp; - $header = sp + 8|0; - $0 = ((($f)) + 48|0); - $1 = HEAP8[$0>>0]|0; - $2 = ($1<<24>>24)==(0); - if (!($2)) { - _error($f,2); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $3 = ((($f)) + 796|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)==(0); - if ($5) { - $6 = (_stb_vorbis_get_file_offset($f)|0); - $7 = ((($f)) + 44|0); - $8 = HEAP32[$7>>2]|0; - $9 = ($8>>>0)>(65535); - if ($9) { - $10 = (($8) + -65536)|0; - $11 = ((($f)) + 52|0); - $12 = HEAP32[$11>>2]|0; - $13 = ($10>>>0)<($12>>>0); - if ($13) { - label = 6; - } else { - $previous_safe$0 = $10; - } - } else { - label = 6; - } - if ((label|0) == 6) { - $14 = ((($f)) + 52|0); - $15 = HEAP32[$14>>2]|0; - $previous_safe$0 = $15; - } - _set_file_offset($f,$previous_safe$0); - $16 = (_vorbis_find_page($f,$end,$last)|0); - $17 = ($16|0)==(0); - do { - if ($17) { - $18 = ((($f)) + 100|0); - HEAP32[$18>>2] = 36; - HEAP32[$3>>2] = -1; - } else { - $19 = (_stb_vorbis_get_file_offset($f)|0); - $20 = HEAP32[$last>>2]|0; - $21 = ($20|0)==(0); - L15: do { - if ($21) { - $last_page_loc$03 = $19; - while(1) { - $22 = HEAP32[$end>>2]|0; - _set_file_offset($f,$22); - $23 = (_vorbis_find_page($f,$end,$last)|0); - $24 = ($23|0)==(0); - if ($24) { - $last_page_loc$0$lcssa = $last_page_loc$03; - break L15; - } - $25 = (_stb_vorbis_get_file_offset($f)|0); - $26 = HEAP32[$last>>2]|0; - $27 = ($26|0)==(0); - if ($27) { - $last_page_loc$03 = $25; - } else { - $last_page_loc$0$lcssa = $25; - break; - } - } - } else { - $last_page_loc$0$lcssa = $19; - } - } while(0); - _set_file_offset($f,$last_page_loc$0$lcssa); - (_getn($f,$header,6)|0); - $28 = (_get32($f)|0); - $29 = (_get32($f)|0); - $30 = $29 & $28; - $31 = ($30|0)==(-1); - if ($31) { - $32 = ((($f)) + 100|0); - HEAP32[$32>>2] = 36; - HEAP32[$3>>2] = -1; - break; - } else { - $33 = ($29|0)==(0); - $$ = $33 ? $28 : -2; - HEAP32[$3>>2] = $$; - $34 = ((($f)) + 68|0); - HEAP32[$34>>2] = $last_page_loc$0$lcssa; - $35 = HEAP32[$end>>2]|0; - $36 = ((($f)) + 72|0); - HEAP32[$36>>2] = $35; - $37 = ((($f)) + 76|0); - HEAP32[$37>>2] = $$; - break; - } - } - } while(0); - _set_file_offset($f,$6); - } - $38 = HEAP32[$3>>2]|0; - $39 = ($38|0)==(-1); - $$2 = $39 ? 0 : $38; - $$0 = $$2; - STACKTOP = sp;return ($$0|0); -} -function _stb_vorbis_stream_length_in_seconds($f) { - $f = $f|0; - var $0 = 0, $1 = 0.0, $2 = 0, $3 = 0.0, $4 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_stb_vorbis_stream_length_in_samples($f)|0); - $1 = (+($0>>>0)); - $2 = HEAP32[$f>>2]|0; - $3 = (+($2>>>0)); - $4 = $1 / $3; - return (+$4); -} -function _stb_vorbis_open_file_section($file,$close_on_free,$error,$alloc,$length) { - $file = $file|0; - $close_on_free = $close_on_free|0; - $error = $error|0; - $alloc = $alloc|0; - $length = $length|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $p = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 1520|0; - $p = sp; - _vorbis_init($p,$alloc); - $0 = ((($p)) + 20|0); - HEAP32[$0>>2] = $file; - $1 = (_ftell($file)|0); - $2 = ((($p)) + 24|0); - HEAP32[$2>>2] = $1; - $3 = ((($p)) + 44|0); - HEAP32[$3>>2] = $length; - $4 = ((($p)) + 28|0); - HEAP32[$4>>2] = $close_on_free; - $5 = (_start_decoder($p)|0); - $6 = ($5|0)==(0); - if (!($6)) { - $7 = (_vorbis_alloc($p)|0); - $8 = ($7|0)==(0|0); - if (!($8)) { - _memcpy(($7|0),($p|0),1512)|0; - _vorbis_pump_first_frame($7); - $$0 = $7; - STACKTOP = sp;return ($$0|0); - } - } - $9 = ($error|0)==(0|0); - if (!($9)) { - $10 = ((($p)) + 100|0); - $11 = HEAP32[$10>>2]|0; - HEAP32[$error>>2] = $11; - } - _vorbis_deinit($p); - $$0 = 0; - STACKTOP = sp;return ($$0|0); -} -function _stb_vorbis_open_file($file,$close_on_free,$error,$alloc) { - $file = $file|0; - $close_on_free = $close_on_free|0; - $error = $error|0; - $alloc = $alloc|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_ftell($file)|0); - (_fseek($file,0,2)|0); - $1 = (_ftell($file)|0); - $2 = (($1) - ($0))|0; - (_fseek($file,$0,0)|0); - $3 = (_stb_vorbis_open_file_section($file,$close_on_free,$error,$alloc,$2)|0); - return ($3|0); -} -function _stb_vorbis_open_filename($filename,$error,$alloc) { - $filename = $filename|0; - $error = $error|0; - $alloc = $alloc|0; - var $$0 = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_fopen($filename,13126)|0); - $1 = ($0|0)==(0|0); - if (!($1)) { - $2 = (_stb_vorbis_open_file($0,1,$error,$alloc)|0); - $$0 = $2; - return ($$0|0); - } - $3 = ($error|0)==(0|0); - if ($3) { - $$0 = 0; - return ($$0|0); - } - HEAP32[$error>>2] = 6; - $$0 = 0; - return ($$0|0); -} -function _stb_vorbis_get_samples_short_interleaved($f,$channels,$buffer,$num_shorts) { - $f = $f|0; - $channels = $channels|0; - $buffer = $buffer|0; - $num_shorts = $num_shorts|0; - var $$ = 0, $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0; - var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $n$0 = 0, $n$1 = 0, $outputs = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $outputs = sp; - $0 = (($num_shorts|0) / ($channels|0))&-1; - $1 = ((($f)) + 4|0); - $2 = ((($f)) + 1508|0); - $3 = ((($f)) + 1504|0); - $4 = ((($f)) + 800|0); - $$0 = $buffer;$n$0 = 0; - while(1) { - $5 = ($0|0)>($n$0|0); - if (!($5)) { - $n$1 = $n$0; - label = 7; - break; - } - $6 = HEAP32[$2>>2]|0; - $7 = HEAP32[$3>>2]|0; - $8 = (($6) - ($7))|0; - $9 = (($8) + ($n$0))|0; - $10 = ($9|0)<($0|0); - $11 = (($0) - ($n$0))|0; - $$ = $10 ? $8 : $11; - $12 = ($$|0)==(0); - if (!($12)) { - $13 = HEAP32[$1>>2]|0; - _convert_channels_short_interleaved($channels,$$0,$13,$4,$7,$$); - } - $14 = (($$) + ($n$0))|0; - $15 = HEAP32[$3>>2]|0; - $16 = (($15) + ($$))|0; - HEAP32[$3>>2] = $16; - $17 = ($14|0)==($0|0); - if ($17) { - $n$1 = $14; - label = 7; - break; - } - $18 = Math_imul($$, $channels)|0; - $19 = (($$0) + ($18<<1)|0); - $20 = (_stb_vorbis_get_frame_float($f,0,$outputs)|0); - $21 = ($20|0)==(0); - if ($21) { - $n$1 = $14; - label = 7; - break; - } else { - $$0 = $19;$n$0 = $14; - } - } - if ((label|0) == 7) { - STACKTOP = sp;return ($n$1|0); - } - return (0)|0; -} -function _InitAudioDevice() { - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $cond = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer3 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $vararg_buffer3 = sp + 16|0; - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $0 = (_alcOpenDevice((0|0))|0); - $1 = ($0|0)==(0|0); - if ($1) { - _TraceLog(1,12817,$vararg_buffer); - } - $2 = (_alcCreateContext(($0|0),(0|0))|0); - $cond = ($2|0)==(0|0); - if ($cond) { - label = 6; - } else { - $3 = (_alcMakeContextCurrent(($2|0))|0); - $4 = ($3<<24>>24)==(0); - if ($4) { - _alcDestroyContext(($2|0)); - label = 6; - } - } - if ((label|0) == 6) { - (_alcCloseDevice(($0|0))|0); - _TraceLog(1,12850,$vararg_buffer1); - } - $5 = (_alcGetString(($0|0),4101)|0); - HEAP32[$vararg_buffer3>>2] = $5; - _TraceLog(0,12880,$vararg_buffer3); - _alListener3f(4100,0.0,0.0,0.0); - _alListener3f(4102,0.0,0.0,0.0); - _alListener3f(4111,0.0,0.0,-1.0); - STACKTOP = sp;return; -} -function _CloseAudioDevice() { - var $0 = 0, $1 = 0, $2 = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $vararg_buffer = sp; - _StopMusicStream(); - $0 = (_alcGetCurrentContext()|0); - $1 = ($0|0)==(0|0); - if ($1) { - _TraceLog(2,12934,$vararg_buffer); - } - $2 = (_alcGetContextsDevice(($0|0))|0); - (_alcMakeContextCurrent((0|0))|0); - _alcDestroyContext(($0|0)); - (_alcCloseDevice(($2|0))|0); - STACKTOP = sp;return; -} -function _StopMusicStream() { - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[5872>>2]|0; - $1 = ($0|0)==(0); - if ($1) { - HEAP32[5872>>2] = 0; - return; - } - $2 = HEAP32[(5888)>>2]|0; - _alSourceStop(($2|0)); - _EmptyMusicStream(); - _alDeleteSources(1,((5888)|0)); - _alDeleteBuffers(2,((5880)|0)); - $3 = HEAP32[5876>>2]|0; - _stb_vorbis_close($3); - HEAP32[5872>>2] = 0; - return; -} -function _LoadSound($agg$result,$fileName) { - $agg$result = $agg$result|0; - $fileName = $fileName|0; - var $$ = 0, $$1 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; - var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; - var $8 = 0, $9 = 0, $buffer = 0, $format$0 = 0, $sound$sroa$0$0 = 0, $sound$sroa$3$0 = 0, $source = 0, $vararg_buffer = 0, $vararg_ptr4 = 0, $vararg_ptr5 = 0, $vararg_ptr6 = 0, $wave = 0, $wave$byval_copy = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $wave$byval_copy = sp + 8|0; - $vararg_buffer = sp; - $wave = sp + 32|0; - $source = sp + 28|0; - $buffer = sp + 24|0; - ;HEAP32[$wave>>2]=0|0;HEAP32[$wave+4>>2]=0|0;HEAP32[$wave+8>>2]=0|0;HEAP32[$wave+12>>2]=0|0; - $0 = (_GetExtension($fileName)|0); - $1 = (_strcmp($0,12982)|0); - $2 = ($1|0)==(0); - do { - if ($2) { - _LoadWAV($wave,$fileName); - } else { - $3 = (_GetExtension($fileName)|0); - $4 = (_strcmp($3,12986)|0); - $5 = ($4|0)==(0); - if ($5) { - _LoadOGG($wave,$fileName); - break; - } else { - HEAP32[$vararg_buffer>>2] = $fileName; - _TraceLog(2,12990,$vararg_buffer); - break; - } - } - } while(0); - $6 = HEAP32[$wave>>2]|0; - $7 = ($6|0)==(0|0); - if ($7) { - $sound$sroa$0$0 = 0;$sound$sroa$3$0 = 0; - HEAP32[$agg$result>>2] = $sound$sroa$0$0; - $39 = ((($agg$result)) + 4|0); - HEAP32[$39>>2] = $sound$sroa$3$0; - STACKTOP = sp;return; - } - $8 = ((($wave)) + 14|0); - $9 = HEAP16[$8>>1]|0; - switch ($9<<16>>16) { - case 1: { - $10 = ((($wave)) + 12|0); - $11 = HEAP16[$10>>1]|0; - $12 = ($11<<16>>16)==(8); - if ($12) { - $format$0 = 4352; - } else { - $13 = ($11<<16>>16)==(16); - $$ = $13 ? 4353 : 0; - $format$0 = $$; - } - break; - } - case 2: { - $14 = ((($wave)) + 12|0); - $15 = HEAP16[$14>>1]|0; - $16 = ($15<<16>>16)==(8); - if ($16) { - $format$0 = 4354; - } else { - $17 = ($15<<16>>16)==(16); - $$1 = $17 ? 4355 : 0; - $format$0 = $$1; - } - break; - } - default: { - $format$0 = 0; - } - } - _alGenSources(1,($source|0)); - $18 = HEAP32[$source>>2]|0; - _alSourcef(($18|0),4099,1.0); - $19 = HEAP32[$source>>2]|0; - _alSourcef(($19|0),4106,1.0); - $20 = HEAP32[$source>>2]|0; - _alSource3f(($20|0),4100,0.0,0.0,0.0); - $21 = HEAP32[$source>>2]|0; - _alSource3f(($21|0),4102,0.0,0.0,0.0); - $22 = HEAP32[$source>>2]|0; - _alSourcei(($22|0),4103,0); - _alGenBuffers(1,($buffer|0)); - $23 = HEAP32[$buffer>>2]|0; - $24 = HEAP32[$wave>>2]|0; - $25 = ((($wave)) + 4|0); - $26 = HEAP32[$25>>2]|0; - $27 = ((($wave)) + 8|0); - $28 = HEAP32[$27>>2]|0; - _alBufferData(($23|0),($format$0|0),($24|0),($26|0),($28|0)); - $29 = HEAP32[$source>>2]|0; - $30 = HEAP32[$buffer>>2]|0; - _alSourcei(($29|0),4105,($30|0)); - $31 = HEAP32[$27>>2]|0; - $32 = ((($wave)) + 12|0); - $33 = HEAP16[$32>>1]|0; - $34 = $33 << 16 >> 16; - $35 = HEAP16[$8>>1]|0; - $36 = $35 << 16 >> 16; - HEAP32[$wave$byval_copy>>2] = $fileName; - $vararg_ptr4 = ((($wave$byval_copy)) + 4|0); - HEAP32[$vararg_ptr4>>2] = $31; - $vararg_ptr5 = ((($wave$byval_copy)) + 8|0); - HEAP32[$vararg_ptr5>>2] = $34; - $vararg_ptr6 = ((($wave$byval_copy)) + 12|0); - HEAP32[$vararg_ptr6>>2] = $36; - _TraceLog(0,13046,$wave$byval_copy); - ;HEAP32[$wave$byval_copy>>2]=HEAP32[$wave>>2]|0;HEAP32[$wave$byval_copy+4>>2]=HEAP32[$wave+4>>2]|0;HEAP32[$wave$byval_copy+8>>2]=HEAP32[$wave+8>>2]|0;HEAP32[$wave$byval_copy+12>>2]=HEAP32[$wave+12>>2]|0; - _UnloadWave($wave$byval_copy); - $37 = HEAP32[$source>>2]|0; - $38 = HEAP32[$buffer>>2]|0; - $sound$sroa$0$0 = $37;$sound$sroa$3$0 = $38; - HEAP32[$agg$result>>2] = $sound$sroa$0$0; - $39 = ((($agg$result)) + 4|0); - HEAP32[$39>>2] = $sound$sroa$3$0; - STACKTOP = sp;return; -} -function _UnloadSound($sound) { - $sound = $sound|0; - var $0 = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $vararg_buffer = sp; - _alDeleteSources(1,($sound|0)); - $0 = ((($sound)) + 4|0); - _alDeleteBuffers(1,($0|0)); - _TraceLog(0,13129,$vararg_buffer); - STACKTOP = sp;return; -} -function _PlaySound($sound) { - $sound = $sound|0; - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[$sound>>2]|0; - _alSourcePlay(($0|0)); - return; -} -function _PlayMusicStream($fileName) { - $fileName = $fileName|0; - var $$ = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $info = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer13 = 0, $vararg_buffer5 = 0, $vararg_buffer9 = 0, $vararg_ptr12 = 0, $vararg_ptr4 = 0, $vararg_ptr8 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; - $vararg_buffer13 = sp + 32|0; - $vararg_buffer9 = sp + 24|0; - $vararg_buffer5 = sp + 16|0; - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $info = sp + 40|0; - $0 = (_GetExtension($fileName)|0); - $1 = (_strcmp($0,12986)|0); - $2 = ($1|0)==(0); - if (!($2)) { - HEAP32[$vararg_buffer13>>2] = $fileName; - _TraceLog(2,13266,$vararg_buffer13); - STACKTOP = sp;return; - } - _StopMusicStream(); - $3 = (_stb_vorbis_open_filename($fileName,0,0)|0); - HEAP32[5876>>2] = $3; - $4 = ($3|0)==(0|0); - if ($4) { - HEAP32[$vararg_buffer>>2] = $fileName; - _TraceLog(2,13149,$vararg_buffer); - STACKTOP = sp;return; - } else { - _stb_vorbis_get_info($info,$3); - $5 = ((($info)) + 4|0); - $6 = HEAP32[$5>>2]|0; - HEAP32[(5896)>>2] = $6; - $7 = HEAP32[$info>>2]|0; - HEAP32[(5900)>>2] = $7; - $8 = HEAP32[$info>>2]|0; - HEAP32[$vararg_buffer1>>2] = $fileName; - $vararg_ptr4 = ((($vararg_buffer1)) + 4|0); - HEAP32[$vararg_ptr4>>2] = $8; - _TraceLog(0,13189,$vararg_buffer1); - $9 = HEAP32[$5>>2]|0; - HEAP32[$vararg_buffer5>>2] = $fileName; - $vararg_ptr8 = ((($vararg_buffer5)) + 4|0); - HEAP32[$vararg_ptr8>>2] = $9; - _TraceLog(0,13214,$vararg_buffer5); - $10 = ((($info)) + 16|0); - $11 = HEAP32[$10>>2]|0; - HEAP32[$vararg_buffer9>>2] = $fileName; - $vararg_ptr12 = ((($vararg_buffer9)) + 4|0); - HEAP32[$vararg_ptr12>>2] = $11; - _TraceLog(3,13236,$vararg_buffer9); - $12 = HEAP32[$5>>2]|0; - $13 = ($12|0)==(2); - $$ = $13 ? 4355 : 4353; - HEAP32[(5892)>>2] = $$; - HEAP32[(5908)>>2] = 1; - HEAP32[5872>>2] = 1; - _alGenSources(1,((5888)|0)); - $14 = HEAP32[(5888)>>2]|0; - _alSourcef(($14|0),4099,1.0); - $15 = HEAP32[(5888)>>2]|0; - _alSourcef(($15|0),4106,1.0); - $16 = HEAP32[(5888)>>2]|0; - _alSource3f(($16|0),4100,0.0,0.0,0.0); - $17 = HEAP32[(5888)>>2]|0; - _alSource3f(($17|0),4102,0.0,0.0,0.0); - _alGenBuffers(2,((5880)|0)); - $18 = HEAP32[(5880)>>2]|0; - (_BufferMusicStream($18)|0); - $19 = HEAP32[(5884)>>2]|0; - (_BufferMusicStream($19)|0); - $20 = HEAP32[(5888)>>2]|0; - _alSourceQueueBuffers(($20|0),2,((5880)|0)); - $21 = HEAP32[(5888)>>2]|0; - _alSourcePlay(($21|0)); - $22 = HEAP32[5876>>2]|0; - $23 = (_stb_vorbis_stream_length_in_samples($22)|0); - $24 = HEAP32[(5896)>>2]|0; - $25 = Math_imul($24, $23)|0; - HEAP32[(5904)>>2] = $25; - STACKTOP = sp;return; - } -} -function _SetMusicVolume($volume) { - $volume = +$volume; - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[(5888)>>2]|0; - _alSourcef(($0|0),4106,(+$volume)); - return; -} -function _UpdateMusicStream() { - var $$lcssa = 0, $$pr = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; - var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $active$0$lcssa = 0, $active$1 = 0, $buffer = 0, $or$cond = 0, $or$cond3 = 0, $processed = 0, $state = 0, $vararg_buffer = 0, label = 0; - var sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $vararg_buffer = sp; - $buffer = sp + 12|0; - $processed = sp + 8|0; - $state = sp + 4|0; - HEAP32[$buffer>>2] = 0; - HEAP32[$processed>>2] = 0; - $0 = HEAP32[5872>>2]|0; - $1 = ($0|0)==(0); - if ($1) { - STACKTOP = sp;return; - } - $2 = HEAP32[(5888)>>2]|0; - _alGetSourcei(($2|0),4118,($processed|0)); - $$pr = HEAP32[$processed>>2]|0; - $3 = ($$pr|0)>(0); - $4 = HEAP32[(5888)>>2]|0; - if ($3) { - $5 = $4; - while(1) { - _alSourceUnqueueBuffers(($5|0),1,($buffer|0)); - $6 = HEAP32[$buffer>>2]|0; - $7 = (_BufferMusicStream($6)|0); - $8 = ($7|0)==(0); - $9 = HEAP32[(5908)>>2]|0; - $10 = ($9|0)!=(0); - $or$cond = $8 & $10; - if ($or$cond) { - $11 = HEAP32[5876>>2]|0; - _stb_vorbis_seek_start($11); - $12 = HEAP32[5876>>2]|0; - $13 = (_stb_vorbis_stream_length_in_samples($12)|0); - $14 = HEAP32[(5896)>>2]|0; - $15 = Math_imul($14, $13)|0; - HEAP32[(5904)>>2] = $15; - $16 = HEAP32[$buffer>>2]|0; - $17 = (_BufferMusicStream($16)|0); - $active$1 = $17; - } else { - $active$1 = $7; - } - $18 = HEAP32[(5888)>>2]|0; - _alSourceQueueBuffers(($18|0),1,($buffer|0)); - $19 = (_alGetError()|0); - $20 = ($19|0)==(0); - if (!($20)) { - _TraceLog(2,13322,$vararg_buffer); - } - $21 = HEAP32[$processed>>2]|0; - $22 = (($21) + -1)|0; - HEAP32[$processed>>2] = $22; - $23 = ($21|0)>(1); - $24 = HEAP32[(5888)>>2]|0; - if ($23) { - $5 = $24; - } else { - $$lcssa = $24;$active$0$lcssa = $active$1; - break; - } - } - } else { - $$lcssa = $4;$active$0$lcssa = 1; - } - _alGetSourcei(($$lcssa|0),4112,($state|0)); - $25 = HEAP32[$state>>2]|0; - $26 = ($25|0)!=(4114); - $27 = ($active$0$lcssa|0)!=(0); - $or$cond3 = $27 & $26; - if ($or$cond3) { - $28 = HEAP32[(5888)>>2]|0; - _alSourcePlay(($28|0)); - } - if ($27) { - STACKTOP = sp;return; - } - _StopMusicStream(); - STACKTOP = sp;return; -} -function _TraceLog($msgType,$text,$varargs) { - $msgType = $msgType|0; - $text = $text|0; - $varargs = $varargs|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $args = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $args = sp; - switch ($msgType|0) { - case 0: { - $0 = HEAP32[8072>>2]|0; - (_fwrite(13359,6,1,$0)|0); - break; - } - case 1: { - $1 = HEAP32[8072>>2]|0; - (_fwrite(13366,7,1,$1)|0); - break; - } - case 2: { - $2 = HEAP32[8072>>2]|0; - (_fwrite(13374,9,1,$2)|0); - break; - } - case 3: { - STACKTOP = sp;return; - break; - } - default: { - } - } - HEAP32[$args>>2] = $varargs; - $3 = HEAP32[8072>>2]|0; - (_vfprintf($3,$text,$args)|0); - $4 = HEAP32[8072>>2]|0; - (_fputc(10,$4)|0); - $5 = ($msgType|0)==(1); - if ($5) { - _exit(1); - // unreachable; - } else { - STACKTOP = sp;return; - } -} -function _GetExtension($fileName) { - $fileName = $fileName|0; - var $$0 = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $or$cond = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_strrchr($fileName,46)|0); - $1 = ($0|0)==(0|0); - $2 = ($0|0)==($fileName|0); - $or$cond = $1 | $2; - $3 = ((($0)) + 1|0); - $$0 = $or$cond ? 13384 : $3; - return ($$0|0); -} -function _ProcessGestureEvent($event) { - $event = $event|0; - var $0 = 0, $1 = 0, $10 = 0, $100 = 0.0, $101 = 0.0, $102 = 0.0, $103 = 0.0, $104 = 0.0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0.0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0.0, $128 = 0.0, $129 = 0.0, $13 = 0, $130 = 0.0, $131 = 0.0, $132 = 0.0, $133 = 0.0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; - var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0.0, $177 = 0.0, $178 = 0.0, $179 = 0.0, $18 = 0, $180 = 0.0, $181 = 0.0, $182 = 0.0, $183 = 0, $184 = 0.0, $185 = 0, $186 = 0.0, $187 = 0.0, $188 = 0.0; - var $189 = 0, $19 = 0, $190 = 0.0, $191 = 0.0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0; - var $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0; - var $52 = 0, $53 = 0.0, $54 = 0.0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0.0, $61 = 0.0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0; - var $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0; - var $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0.0, $98 = 0, $99 = 0.0, $moveDownPosition$byval_copy11 = 0, $moveDownPosition2$byval_copy12 = 0, $or$cond = 0, $or$cond3 = 0, $or$cond5 = 0, $or$cond7 = 0, $or$cond9 = 0, label = 0; - var sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $moveDownPosition2$byval_copy12 = sp + 8|0; - $moveDownPosition$byval_copy11 = sp; - $0 = ((($event)) + 4|0); - $1 = HEAP32[$0>>2]|0; - HEAP32[5912>>2] = $1; - $2 = ($1|0)<(2); - $3 = HEAP32[$event>>2]|0; - $4 = ($3|0)==(1); - if (!($2)) { - if ($4) { - $105 = ((($event)) + 16|0); - $106 = $105; - $107 = $106; - $108 = HEAP32[$107>>2]|0; - $109 = (($106) + 4)|0; - $110 = $109; - $111 = HEAP32[$110>>2]|0; - $112 = 80; - $113 = $112; - HEAP32[$113>>2] = $108; - $114 = (($112) + 4)|0; - $115 = $114; - HEAP32[$115>>2] = $111; - $116 = ((($event)) + 24|0); - $117 = $116; - $118 = $117; - $119 = HEAP32[$118>>2]|0; - $120 = (($117) + 4)|0; - $121 = $120; - $122 = HEAP32[$121>>2]|0; - $123 = 120; - $124 = $123; - HEAP32[$124>>2] = $119; - $125 = (($123) + 4)|0; - $126 = $125; - HEAP32[$126>>2] = $122; - $127 = +HEAPF32[120>>2]; - $128 = +HEAPF32[80>>2]; - $129 = $127 - $128; - HEAPF32[128>>2] = $129; - $130 = +HEAPF32[(124)>>2]; - $131 = +HEAPF32[(84)>>2]; - $132 = $130 - $131; - HEAPF32[(132)>>2] = $132; - HEAP32[5920>>2] = 4; - STACKTOP = sp;return; - } - switch ($3|0) { - case 2: { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[112>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[112+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[136>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[136+4>>2]|0; - $133 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - HEAPF32[5944>>2] = $133; - $134 = 112; - $135 = $134; - $136 = HEAP32[$135>>2]|0; - $137 = (($134) + 4)|0; - $138 = $137; - $139 = HEAP32[$138>>2]|0; - $140 = 80; - $141 = $140; - HEAP32[$141>>2] = $136; - $142 = (($140) + 4)|0; - $143 = $142; - HEAP32[$143>>2] = $139; - $144 = 136; - $145 = $144; - $146 = HEAP32[$145>>2]|0; - $147 = (($144) + 4)|0; - $148 = $147; - $149 = HEAP32[$148>>2]|0; - $150 = 120; - $151 = $150; - HEAP32[$151>>2] = $146; - $152 = (($150) + 4)|0; - $153 = $152; - HEAP32[$153>>2] = $149; - $154 = ((($event)) + 16|0); - $155 = $154; - $156 = $155; - $157 = HEAP32[$156>>2]|0; - $158 = (($155) + 4)|0; - $159 = $158; - $160 = HEAP32[$159>>2]|0; - $161 = 112; - $162 = $161; - HEAP32[$162>>2] = $157; - $163 = (($161) + 4)|0; - $164 = $163; - HEAP32[$164>>2] = $160; - $165 = ((($event)) + 24|0); - $166 = $165; - $167 = $166; - $168 = HEAP32[$167>>2]|0; - $169 = (($166) + 4)|0; - $170 = $169; - $171 = HEAP32[$170>>2]|0; - $172 = 136; - $173 = $172; - HEAP32[$173>>2] = $168; - $174 = (($172) + 4)|0; - $175 = $174; - HEAP32[$175>>2] = $171; - $176 = +HEAPF32[136>>2]; - $177 = +HEAPF32[112>>2]; - $178 = $176 - $177; - HEAPF32[128>>2] = $178; - $179 = +HEAPF32[(140)>>2]; - $180 = +HEAPF32[(116)>>2]; - $181 = $179 - $180; - HEAPF32[(132)>>2] = $181; - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[80>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[80+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[112>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[112+4>>2]|0; - $182 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - $183 = !($182 >= 0.004999999888241291); - if ($183) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[120>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[120+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[136>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[136+4>>2]|0; - $184 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - $185 = !($184 >= 0.004999999888241291); - if ($185) { - HEAP32[5920>>2] = 4; - } else { - label = 37; - } - } else { - label = 37; - } - do { - if ((label|0) == 37) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[112>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[112+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[136>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[136+4>>2]|0; - $186 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - $187 = +HEAPF32[5944>>2]; - $188 = $186 - $187; - $189 = $188 < 0.0; - if ($189) { - HEAP32[5920>>2] = 256; - break; - } else { - HEAP32[5920>>2] = 512; - break; - } - } - } while(0); - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[112>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[112+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[136>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[136+4>>2]|0; - $190 = (+_Vector2Angle($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - $191 = 360.0 - $190; - HEAPF32[5948>>2] = $191; - STACKTOP = sp;return; - break; - } - case 0: { - HEAPF32[5944>>2] = 0.0; - HEAPF32[5948>>2] = 0.0; - HEAPF32[128>>2] = 0.0; - HEAPF32[(132)>>2] = 0.0; - HEAP32[5912>>2] = 0; - HEAP32[5920>>2] = 0; - STACKTOP = sp;return; - break; - } - default: { - STACKTOP = sp;return; - } - } - } - if ($4) { - $5 = HEAP32[5916>>2]|0; - $6 = (($5) + 1)|0; - HEAP32[5916>>2] = $6; - $7 = HEAP32[5920>>2]|0; - $8 = ($7|0)==(0); - $9 = ($5|0)>(0); - $or$cond = $9 & $8; - if ($or$cond) { - $10 = ((($event)) + 16|0); - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[80>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[80+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[$10>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[$10+4>>2]|0; - $11 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - $12 = $11 < 0.029999999329447746; - if ($12) { - HEAP32[5920>>2] = 2; - HEAP32[5916>>2] = 0; - } else { - label = 6; - } - } else { - label = 6; - } - if ((label|0) == 6) { - HEAP32[5916>>2] = 1; - HEAP32[5920>>2] = 1; - } - $13 = ((($event)) + 16|0); - $14 = $13; - $15 = $14; - $16 = HEAP32[$15>>2]|0; - $17 = (($14) + 4)|0; - $18 = $17; - $19 = HEAP32[$18>>2]|0; - $20 = 80; - $21 = $20; - HEAP32[$21>>2] = $16; - $22 = (($20) + 4)|0; - $23 = $22; - HEAP32[$23>>2] = $19; - $24 = $13; - $25 = $24; - $26 = HEAP32[$25>>2]|0; - $27 = (($24) + 4)|0; - $28 = $27; - $29 = HEAP32[$28>>2]|0; - $30 = 88; - $31 = $30; - HEAP32[$31>>2] = $26; - $32 = (($30) + 4)|0; - $33 = $32; - HEAP32[$33>>2] = $29; - $34 = 96; - $35 = $34; - HEAP32[$35>>2] = $16; - $36 = (($34) + 4)|0; - $37 = $36; - HEAP32[$37>>2] = $19; - $38 = ((($event)) + 8|0); - $39 = HEAP32[$38>>2]|0; - HEAP32[5924>>2] = $39; - HEAPF32[104>>2] = 0.0; - HEAPF32[(108)>>2] = 0.0; - STACKTOP = sp;return; - } - switch ($3|0) { - case 0: { - $40 = HEAP32[5920>>2]|0; - $41 = ($40|0)==(8); - if ($41) { - $42 = ((($event)) + 16|0); - $43 = $42; - $44 = $43; - $45 = HEAP32[$44>>2]|0; - $46 = (($43) + 4)|0; - $47 = $46; - $48 = HEAP32[$47>>2]|0; - $49 = 96; - $50 = $49; - HEAP32[$50>>2] = $45; - $51 = (($49) + 4)|0; - $52 = $51; - HEAP32[$52>>2] = $48; - } - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[80>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[80+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[96>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[96+4>>2]|0; - $53 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - $54 = $53 / 0.0; - HEAPF32[5928>>2] = $54; - HEAP32[5932>>2] = 0; - $55 = $54 > 5.0000002374872565E-4; - do { - if ($55) { - $56 = HEAP32[5924>>2]|0; - $57 = ((($event)) + 8|0); - $58 = HEAP32[$57>>2]|0; - $59 = ($56|0)==($58|0); - if ($59) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[80>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[80+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[96>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[96+4>>2]|0; - $60 = (+_Vector2Angle($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - $61 = 360.0 - $60; - HEAPF32[5936>>2] = $61; - $62 = $61 < 30.0; - $63 = $61 > 330.0; - $or$cond3 = $62 | $63; - if ($or$cond3) { - HEAP32[5920>>2] = 16; - break; - } - $64 = $61 > 30.0; - $65 = $61 < 120.0; - $or$cond5 = $64 & $65; - if ($or$cond5) { - HEAP32[5920>>2] = 64; - break; - } - $66 = $61 > 120.0; - $67 = $61 < 210.0; - $or$cond7 = $66 & $67; - if ($or$cond7) { - HEAP32[5920>>2] = 32; - break; - } - $68 = $61 > 210.0; - $69 = $61 < 300.0; - $or$cond9 = $68 & $69; - if ($or$cond9) { - HEAP32[5920>>2] = 128; - break; - } else { - HEAP32[5920>>2] = 0; - break; - } - } else { - label = 22; - } - } else { - label = 22; - } - } while(0); - if ((label|0) == 22) { - HEAPF32[5928>>2] = 0.0; - HEAPF32[5936>>2] = 0.0; - HEAP32[5920>>2] = 0; - } - HEAPF32[88>>2] = 0.0; - HEAPF32[(92)>>2] = 0.0; - HEAP32[5912>>2] = 0; - STACKTOP = sp;return; - break; - } - case 2: { - $70 = HEAP32[5932>>2]|0; - $71 = ($70|0)==(0); - if ($71) { - HEAP32[5932>>2] = 1; - } - $72 = ((($event)) + 16|0); - $73 = $72; - $74 = $73; - $75 = HEAP32[$74>>2]|0; - $76 = (($73) + 4)|0; - $77 = $76; - $78 = HEAP32[$77>>2]|0; - $79 = 112; - $80 = $79; - HEAP32[$80>>2] = $75; - $81 = (($79) + 4)|0; - $82 = $81; - HEAP32[$82>>2] = $78; - $83 = HEAP32[5920>>2]|0; - $84 = ($83|0)==(4); - if ($84) { - $85 = HEAP32[5940>>2]|0; - $86 = ($85|0)==(1); - if ($86) { - $87 = $72; - $88 = $87; - $89 = HEAP32[$88>>2]|0; - $90 = (($87) + 4)|0; - $91 = $90; - $92 = HEAP32[$91>>2]|0; - $93 = 80; - $94 = $93; - HEAP32[$94>>2] = $89; - $95 = (($93) + 4)|0; - $96 = $95; - HEAP32[$96>>2] = $92; - } - HEAP32[5940>>2] = 2; - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[80>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[80+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[112>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[112+4>>2]|0; - $97 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - $98 = !($97 >= 0.014999999664723873); - if (!($98)) { - HEAP32[5920>>2] = 8; - } - } - $99 = +HEAPF32[112>>2]; - $100 = +HEAPF32[88>>2]; - $101 = $99 - $100; - HEAPF32[104>>2] = $101; - $102 = +HEAPF32[(116)>>2]; - $103 = +HEAPF32[(92)>>2]; - $104 = $102 - $103; - HEAPF32[(108)>>2] = $104; - STACKTOP = sp;return; - break; - } - default: { - STACKTOP = sp;return; - } - } -} -function _UpdateGestures() { - var $$off = 0, $$pr = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $or$cond3 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[5920>>2]|0; - $$off = (($0) + -1)|0; - $1 = ($$off>>>0)<(2); - $2 = HEAP32[5912>>2]|0; - $3 = ($2|0)<(2); - $or$cond3 = $1 & $3; - if ($or$cond3) { - HEAP32[5920>>2] = 4; - return; - } - $$pr = HEAP32[5920>>2]|0; - switch ($$pr|0) { - case 16: case 32: case 64: case 128: { - break; - } - default: { - return; - } - } - HEAP32[5920>>2] = 0; - return; -} -function _IsGestureDetected($gesture) { - $gesture = $gesture|0; - var $$ = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[5952>>2]|0; - $1 = HEAP32[5920>>2]|0; - $2 = $1 & $0; - $3 = ($2|0)==($gesture|0); - $$ = $3&1; - return ($$|0); -} -function _SetGesturesEnabled($gestureFlags) { - $gestureFlags = $gestureFlags|0; - var label = 0, sp = 0; - sp = STACKTOP; - HEAP32[5952>>2] = $gestureFlags; - return; -} -function _InitDisplay($width,$height) { - $width = $width|0; - $height = $height|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $count = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer14 = 0, $vararg_buffer18 = 0, $vararg_buffer3 = 0, $vararg_buffer5 = 0, $vararg_buffer7 = 0, $vararg_ptr13 = 0, $vararg_ptr17 = 0, $vararg_ptr9 = 0, dest = 0, label = 0; - var sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 128|0; - $vararg_buffer18 = sp + 56|0; - $vararg_buffer14 = sp + 48|0; - $vararg_buffer10 = sp + 40|0; - $vararg_buffer7 = sp + 32|0; - $vararg_buffer5 = sp + 24|0; - $vararg_buffer3 = sp + 16|0; - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $0 = sp + 64|0; - $count = sp + 60|0; - HEAP32[1280>>2] = $width; - HEAP32[1284>>2] = $height; - _MatrixIdentity($0); - dest=1300; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - (_glfwSetErrorCallback((1|0))|0); - $1 = (_glfwInit()|0); - $2 = ($1|0)==(0); - if ($2) { - _TraceLog(1,16476,$vararg_buffer); - } - $3 = HEAP32[1280>>2]|0; - HEAP32[1444>>2] = $3; - $4 = HEAP32[1284>>2]|0; - HEAP32[1448>>2] = $4; - _glfwDefaultWindowHints(); - _glfwWindowHint(131075,0); - $5 = (_rlGetVersion()|0); - $6 = ($5|0)==(2); - if ($6) { - $7 = HEAP8[9543>>0]|0; - $8 = $7 & 16; - $9 = ($8<<24>>24)==(0); - if (!($9)) { - _glfwWindowHint(135181,4); - _TraceLog(0,16502,$vararg_buffer1); - } - _glfwWindowHint(139266,3); - _glfwWindowHint(139267,3); - _glfwWindowHint(139272,204801); - _glfwWindowHint(139270,0); - } - $10 = HEAP32[1428>>2]|0; - $11 = ($10|0)==(0); - if ($11) { - $20 = HEAP32[1280>>2]|0; - $21 = HEAP32[1284>>2]|0; - $22 = HEAP32[1276>>2]|0; - $23 = (_glfwCreateWindow(($20|0),($21|0),($22|0),(0|0),(0|0))|0); - HEAP32[1292>>2] = $23; - $24 = HEAP32[1280>>2]|0; - HEAP32[1460>>2] = $24; - $25 = HEAP32[1284>>2]|0; - HEAP32[1464>>2] = $25; - $26 = $23; - } else { - $12 = HEAP32[1444>>2]|0; - $13 = HEAP32[1448>>2]|0; - _SetupFramebufferSize($12,$13); - $14 = (_glfwGetPrimaryMonitor()|0); - (_glfwGetVideoModes(($14|0),($count|0))|0); - $15 = HEAP32[1280>>2]|0; - $16 = HEAP32[1284>>2]|0; - $17 = HEAP32[1276>>2]|0; - $18 = (_glfwGetPrimaryMonitor()|0); - $19 = (_glfwCreateWindow(($15|0),($16|0),($17|0),($18|0),(0|0))|0); - HEAP32[1292>>2] = $19; - $26 = $19; - } - $27 = ($26|0)==(0|0); - if ($27) { - _glfwTerminate(); - _TraceLog(1,16527,$vararg_buffer3); - } else { - _TraceLog(0,16560,$vararg_buffer5); - $28 = HEAP32[1460>>2]|0; - $29 = HEAP32[1464>>2]|0; - HEAP32[$vararg_buffer7>>2] = $28; - $vararg_ptr9 = ((($vararg_buffer7)) + 4|0); - HEAP32[$vararg_ptr9>>2] = $29; - _TraceLog(0,16600,$vararg_buffer7); - $30 = HEAP32[1280>>2]|0; - $31 = HEAP32[1284>>2]|0; - HEAP32[$vararg_buffer10>>2] = $30; - $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); - HEAP32[$vararg_ptr13>>2] = $31; - _TraceLog(0,16621,$vararg_buffer10); - $32 = HEAP32[1452>>2]|0; - $33 = HEAP32[1456>>2]|0; - HEAP32[$vararg_buffer14>>2] = $32; - $vararg_ptr17 = ((($vararg_buffer14)) + 4|0); - HEAP32[$vararg_ptr17>>2] = $33; - _TraceLog(0,16642,$vararg_buffer14); - } - $34 = HEAP32[1292>>2]|0; - (_glfwSetWindowSizeCallback(($34|0),(1|0))|0); - $35 = HEAP32[1292>>2]|0; - (_glfwSetCursorEnterCallback(($35|0),(2|0))|0); - $36 = HEAP32[1292>>2]|0; - (_glfwSetKeyCallback(($36|0),(1|0))|0); - $37 = HEAP32[1292>>2]|0; - (_glfwSetMouseButtonCallback(($37|0),(1|0))|0); - $38 = HEAP32[1292>>2]|0; - (_glfwSetCursorPosCallback(($38|0),(1|0))|0); - $39 = HEAP32[1292>>2]|0; - (_glfwSetCharCallback(($39|0),(3|0))|0); - $40 = HEAP32[1292>>2]|0; - (_glfwSetScrollCallback(($40|0),(2|0))|0); - $41 = HEAP32[1292>>2]|0; - (_glfwSetWindowIconifyCallback(($41|0),(4|0))|0); - $42 = HEAP32[1292>>2]|0; - _glfwMakeContextCurrent(($42|0)); - $43 = HEAP8[9543>>0]|0; - $44 = $43 & 32; - $45 = ($44<<24>>24)==(0); - if ($45) { - STACKTOP = sp;return; - } - _glfwSwapInterval(1); - _TraceLog(0,16667,$vararg_buffer18); - STACKTOP = sp;return; -} -function _InitGraphics() { - var $$byval_copy = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $$byval_copy = sp + 4|0; - $0 = sp; - _rlglInit(); - $1 = HEAP32[1452>>2]|0; - $2 = HEAP32[1456>>2]|0; - $3 = HEAP32[1460>>2]|0; - $4 = HEAP32[1464>>2]|0; - _rlglInitGraphics($1,$2,$3,$4); - HEAP8[$0>>0] = -11; - $5 = ((($0)) + 1|0); - HEAP8[$5>>0] = -11; - $6 = ((($0)) + 2|0); - HEAP8[$6>>0] = -11; - $7 = ((($0)) + 3|0); - HEAP8[$7>>0] = -1; - ;HEAP8[$$byval_copy>>0]=HEAP8[$0>>0]|0;HEAP8[$$byval_copy+1>>0]=HEAP8[$0+1>>0]|0;HEAP8[$$byval_copy+2>>0]=HEAP8[$0+2>>0]|0;HEAP8[$$byval_copy+3>>0]=HEAP8[$0+3>>0]|0; - _ClearBackground($$byval_copy); - STACKTOP = sp;return; -} -function _InitTimer() { - var $0 = 0, $1 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_time((0|0))|0); - _srand($0); - $1 = (+_GetTime()); - HEAPF64[32>>3] = $1; - return; -} -function _EmscriptenFullscreenChangeCallback($eventType,$e,$userData) { - $eventType = $eventType|0; - $e = $e|0; - $userData = $userData|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer4 = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, $vararg_ptr9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $vararg_buffer4 = sp + 16|0; - $vararg_buffer = sp; - $0 = HEAP32[$e>>2]|0; - $1 = ($0|0)==(0); - $2 = ((($e)) + 264|0); - $3 = HEAP32[$2>>2]|0; - $4 = ((($e)) + 268|0); - $5 = HEAP32[$4>>2]|0; - $6 = ((($e)) + 272|0); - $7 = HEAP32[$6>>2]|0; - $8 = ((($e)) + 276|0); - $9 = HEAP32[$8>>2]|0; - if ($1) { - HEAP32[$vararg_buffer4>>2] = $3; - $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); - HEAP32[$vararg_ptr7>>2] = $5; - $vararg_ptr8 = ((($vararg_buffer4)) + 8|0); - HEAP32[$vararg_ptr8>>2] = $7; - $vararg_ptr9 = ((($vararg_buffer4)) + 12|0); - HEAP32[$vararg_ptr9>>2] = $9; - _TraceLog(0,16409,$vararg_buffer4); - STACKTOP = sp;return 0; - } else { - HEAP32[$vararg_buffer>>2] = $3; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = $5; - $vararg_ptr2 = ((($vararg_buffer)) + 8|0); - HEAP32[$vararg_ptr2>>2] = $7; - $vararg_ptr3 = ((($vararg_buffer)) + 12|0); - HEAP32[$vararg_ptr3>>2] = $9; - _TraceLog(0,16340,$vararg_buffer); - STACKTOP = sp;return 0; - } - return (0)|0; -} -function _EmscriptenInputCallback($eventType,$touchEvent,$userData) { - $eventType = $eventType|0; - $touchEvent = $touchEvent|0; - $userData = $userData|0; - var $0 = 0, $1 = 0, $10 = 0.0, $11 = 0, $12 = 0, $13 = 0.0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0.0, $19 = 0, $2 = 0, $20 = 0, $21 = 0.0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0.0, $48 = 0.0, $49 = 0.0, $5 = 0, $50 = 0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0, $59 = 0.0, $6 = 0, $60 = 0.0, $61 = 0.0, $7 = 0; - var $8 = 0, $9 = 0, $gestureEvent = 0, $gestureEvent$byval_copy = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; - $gestureEvent$byval_copy = sp + 32|0; - $gestureEvent = sp; - switch ($eventType|0) { - case 22: { - HEAP32[$gestureEvent>>2] = 1; - break; - } - case 23: { - HEAP32[$gestureEvent>>2] = 0; - break; - } - case 24: { - HEAP32[$gestureEvent>>2] = 2; - break; - } - default: { - } - } - $0 = HEAP32[$touchEvent>>2]|0; - $1 = ((($gestureEvent)) + 4|0); - HEAP32[$1>>2] = $0; - $2 = ((($touchEvent)) + 20|0); - $3 = HEAP32[$2>>2]|0; - $4 = ((($gestureEvent)) + 8|0); - HEAP32[$4>>2] = $3; - $5 = ((($touchEvent)) + 72|0); - $6 = HEAP32[$5>>2]|0; - $7 = ((($gestureEvent)) + 12|0); - HEAP32[$7>>2] = $6; - $8 = ((($touchEvent)) + 56|0); - $9 = HEAP32[$8>>2]|0; - $10 = (+($9|0)); - $11 = ((($touchEvent)) + 60|0); - $12 = HEAP32[$11>>2]|0; - $13 = (+($12|0)); - $14 = ((($gestureEvent)) + 16|0); - HEAPF32[$14>>2] = $10; - $15 = ((($gestureEvent)) + 20|0); - HEAPF32[$15>>2] = $13; - $16 = ((($touchEvent)) + 108|0); - $17 = HEAP32[$16>>2]|0; - $18 = (+($17|0)); - $19 = ((($touchEvent)) + 112|0); - $20 = HEAP32[$19>>2]|0; - $21 = (+($20|0)); - $22 = ((($gestureEvent)) + 24|0); - HEAPF32[$22>>2] = $18; - $23 = ((($gestureEvent)) + 28|0); - HEAPF32[$23>>2] = $21; - $24 = ((($gestureEvent)) + 16|0); - $25 = $24; - $26 = $25; - $27 = HEAP32[$26>>2]|0; - $28 = (($25) + 4)|0; - $29 = $28; - $30 = HEAP32[$29>>2]|0; - $31 = 64; - $32 = $31; - HEAP32[$32>>2] = $27; - $33 = (($31) + 4)|0; - $34 = $33; - HEAP32[$34>>2] = $30; - $35 = ((($gestureEvent)) + 24|0); - $36 = $35; - $37 = $36; - $38 = HEAP32[$37>>2]|0; - $39 = (($36) + 4)|0; - $40 = $39; - $41 = HEAP32[$40>>2]|0; - $42 = (72); - $43 = $42; - HEAP32[$43>>2] = $38; - $44 = (($42) + 4)|0; - $45 = $44; - HEAP32[$45>>2] = $41; - $46 = (_GetScreenWidth()|0); - $47 = (+($46|0)); - $48 = +HEAPF32[$24>>2]; - $49 = $48 / $47; - HEAPF32[$24>>2] = $49; - $50 = (_GetScreenHeight()|0); - $51 = (+($50|0)); - $52 = +HEAPF32[$15>>2]; - $53 = $52 / $51; - HEAPF32[$15>>2] = $53; - $54 = (_GetScreenWidth()|0); - $55 = (+($54|0)); - $56 = +HEAPF32[$35>>2]; - $57 = $56 / $55; - HEAPF32[$35>>2] = $57; - $58 = (_GetScreenHeight()|0); - $59 = (+($58|0)); - $60 = +HEAPF32[$23>>2]; - $61 = $60 / $59; - HEAPF32[$23>>2] = $61; - ;HEAP32[$gestureEvent$byval_copy>>2]=HEAP32[$gestureEvent>>2]|0;HEAP32[$gestureEvent$byval_copy+4>>2]=HEAP32[$gestureEvent+4>>2]|0;HEAP32[$gestureEvent$byval_copy+8>>2]=HEAP32[$gestureEvent+8>>2]|0;HEAP32[$gestureEvent$byval_copy+12>>2]=HEAP32[$gestureEvent+12>>2]|0;HEAP32[$gestureEvent$byval_copy+16>>2]=HEAP32[$gestureEvent+16>>2]|0;HEAP32[$gestureEvent$byval_copy+20>>2]=HEAP32[$gestureEvent+20>>2]|0;HEAP32[$gestureEvent$byval_copy+24>>2]=HEAP32[$gestureEvent+24>>2]|0;HEAP32[$gestureEvent$byval_copy+28>>2]=HEAP32[$gestureEvent+28>>2]|0; - _ProcessGestureEvent($gestureEvent$byval_copy); - STACKTOP = sp;return 1; -} -function _LogoAnimation() { - var label = 0, sp = 0; - sp = STACKTOP; - HEAP32[1288>>2] = 0; - return; -} -function _GetTime() { - var $0 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (+_glfwGetTime()); - return (+$0); -} -function _SwapBuffers() { - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[1292>>2]|0; - _glfwSwapBuffers(($0|0)); - return; -} -function _PollInputEvents() { - var $0 = 0, $1 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $mouseX = 0, $mouseY = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $mouseX = sp + 8|0; - $mouseY = sp; - _UpdateGestures(); - $0 = HEAP32[1292>>2]|0; - _glfwGetCursorPos(($0|0),($mouseX|0),($mouseY|0)); - $1 = +HEAPF64[$mouseX>>3]; - $2 = $1; - HEAPF32[8>>2] = $2; - $3 = +HEAPF64[$mouseY>>3]; - $4 = $3; - HEAPF32[(12)>>2] = $4; - HEAP32[1432>>2] = -1; - _memcpy((10056|0),(9544|0),512)|0; - ;HEAP8[10571>>0]=HEAP8[10568>>0]|0;HEAP8[10571+1>>0]=HEAP8[10568+1>>0]|0;HEAP8[10571+2>>0]=HEAP8[10568+2>>0]|0; - $5 = HEAP32[8024>>2]|0; - HEAP32[1440>>2] = $5; - HEAP32[8024>>2] = 0; - _glfwPollEvents(); - STACKTOP = sp;return; -} -function _GetMouseButtonStatus($button) { - $button = $button|0; - var $0 = 0, $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[1292>>2]|0; - $1 = (_glfwGetMouseButton(($0|0),($button|0))|0); - return ($1|0); -} -function _LoadDefaultShader($agg$result) { - $agg$result = $agg$result|0; - var $0 = 0, $1 = 0, $fShaderStr = 0, $shader = 0, $vShaderStr = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 960|0; - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $shader = sp + 16|0; - $vShaderStr = sp + 481|0; - $fShaderStr = sp + 56|0; - _memcpy(($vShaderStr|0),(15346|0),473)|0; - _memcpy(($fShaderStr|0),(15819|0),425)|0; - $0 = (_LoadShaderProgram($vShaderStr,$fShaderStr)|0); - HEAP32[$shader>>2] = $0; - $1 = ($0|0)==(0); - if ($1) { - HEAP32[$vararg_buffer1>>2] = $0; - _TraceLog(2,16292,$vararg_buffer1); - } else { - HEAP32[$vararg_buffer>>2] = $0; - _TraceLog(0,16244,$vararg_buffer); - } - _LoadDefaultShaderLocations($shader); - dest=$agg$result; src=$shader; stop=dest+40|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; -} -function _InitializeBuffers() { - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $5 = 0, $6 = 0; - var $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond14 = 0, $exitcond17 = 0, $exitcond19 = 0, $i1$012 = 0, $i3$010 = 0, $i6$07 = 0, $i7$06 = 0, $k$05 = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $vararg_buffer = sp; - $0 = (_malloc(24576)|0); - HEAP32[2696>>2] = $0; - $1 = (_malloc(8192)|0); - HEAP32[2656>>2] = $1; - $2 = HEAP32[2696>>2]|0; - _memset(($2|0),0,24576)|0; - $i1$012 = 0; - while(1) { - $3 = HEAP32[2656>>2]|0; - $4 = (($3) + ($i1$012)|0); - HEAP8[$4>>0] = 0; - $5 = (($i1$012) + 1)|0; - $exitcond19 = ($5|0)==(8192); - if ($exitcond19) { - break; - } else { - $i1$012 = $5; - } - } - HEAP32[2648>>2] = 0; - HEAP32[2652>>2] = 0; - $6 = (_malloc(73728)|0); - HEAP32[2700>>2] = $6; - $7 = (_malloc(24576)|0); - HEAP32[2668>>2] = $7; - $8 = HEAP32[2700>>2]|0; - _memset(($8|0),0,73728)|0; - $i3$010 = 0; - while(1) { - $9 = HEAP32[2668>>2]|0; - $10 = (($9) + ($i3$010)|0); - HEAP8[$10>>0] = 0; - $11 = (($i3$010) + 1)|0; - $exitcond17 = ($11|0)==(24576); - if ($exitcond17) { - break; - } else { - $i3$010 = $11; - } - } - HEAP32[2660>>2] = 0; - HEAP32[2664>>2] = 0; - $12 = (_malloc(49152)|0); - HEAP32[2704>>2] = $12; - $13 = (_malloc(32768)|0); - HEAP32[2688>>2] = $13; - $14 = (_malloc(16384)|0); - HEAP32[2680>>2] = $14; - $15 = (_malloc(12288)|0); - HEAP32[2880>>2] = $15; - $16 = HEAP32[2704>>2]|0; - _memset(($16|0),0,49152)|0; - $17 = HEAP32[2688>>2]|0; - _memset(($17|0),0,32768)|0; - $i6$07 = 0; - while(1) { - $19 = HEAP32[2680>>2]|0; - $20 = (($19) + ($i6$07)|0); - HEAP8[$20>>0] = 0; - $21 = (($i6$07) + 1)|0; - $exitcond14 = ($21|0)==(16384); - if ($exitcond14) { - break; - } else { - $i6$07 = $21; - } - } - $18 = HEAP32[2880>>2]|0; - $i7$06 = 0;$k$05 = 0; - while(1) { - $22 = $k$05 << 2; - $23 = $22&65535; - $24 = (($18) + ($i7$06<<1)|0); - HEAP16[$24>>1] = $23; - $25 = $22 | 1; - $26 = $25&65535; - $27 = $i7$06 | 1; - $28 = (($18) + ($27<<1)|0); - HEAP16[$28>>1] = $26; - $29 = $22 | 2; - $30 = $29&65535; - $31 = (($i7$06) + 2)|0; - $32 = (($18) + ($31<<1)|0); - HEAP16[$32>>1] = $30; - $33 = (($i7$06) + 3)|0; - $34 = (($18) + ($33<<1)|0); - HEAP16[$34>>1] = $23; - $35 = (($i7$06) + 4)|0; - $36 = (($18) + ($35<<1)|0); - HEAP16[$36>>1] = $30; - $37 = $22 | 3; - $38 = $37&65535; - $39 = (($i7$06) + 5)|0; - $40 = (($18) + ($39<<1)|0); - HEAP16[$40>>1] = $38; - $41 = (($k$05) + 1)|0; - $42 = (($i7$06) + 6)|0; - $exitcond = ($41|0)==(1024); - if ($exitcond) { - break; - } else { - $i7$06 = $42;$k$05 = $41; - } - } - HEAP32[2672>>2] = 0; - HEAP32[2684>>2] = 0; - HEAP32[2676>>2] = 0; - _TraceLog(0,15283,$vararg_buffer); - STACKTOP = sp;return; -} -function _InitializeBuffersGPU() { - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; - var $63 = 0, $64 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer12 = 0, $vararg_buffer15 = 0, $vararg_buffer5 = 0, $vararg_buffer8 = 0, $vararg_ptr11 = 0, $vararg_ptr18 = 0, $vararg_ptr19 = 0, $vararg_ptr20 = 0, $vararg_ptr4 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; - $vararg_buffer15 = sp + 40|0; - $vararg_buffer12 = sp + 32|0; - $vararg_buffer8 = sp + 24|0; - $vararg_buffer5 = sp + 16|0; - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $0 = HEAP32[2716>>2]|0; - $1 = ($0|0)==(0); - if (!($1)) { - $2 = HEAP32[2724>>2]|0; - FUNCTION_TABLE_vii[$2 & 63](1,2868); - $3 = HEAP32[2728>>2]|0; - $4 = HEAP32[2868>>2]|0; - FUNCTION_TABLE_vi[$3 & 31]($4); - } - _glGenBuffers(2,(2836|0)); - $5 = HEAP32[2836>>2]|0; - _glBindBuffer(34962,($5|0)); - $6 = HEAP32[2696>>2]|0; - _glBufferData(34962,24576,($6|0),35048); - $7 = HEAP32[(2800)>>2]|0; - _glEnableVertexAttribArray(($7|0)); - $8 = HEAP32[(2800)>>2]|0; - _glVertexAttribPointer(($8|0),3,5126,0,0,(0|0)); - $9 = HEAP32[(2840)>>2]|0; - _glBindBuffer(34962,($9|0)); - $10 = HEAP32[2656>>2]|0; - _glBufferData(34962,8192,($10|0),35048); - $11 = HEAP32[(2812)>>2]|0; - _glEnableVertexAttribArray(($11|0)); - $12 = HEAP32[(2812)>>2]|0; - _glVertexAttribPointer(($12|0),4,5121,1,0,(0|0)); - $13 = HEAP32[2716>>2]|0; - $14 = ($13|0)==(0); - if ($14) { - $16 = HEAP32[2836>>2]|0; - $17 = HEAP32[(2840)>>2]|0; - HEAP32[$vararg_buffer1>>2] = $16; - $vararg_ptr4 = ((($vararg_buffer1)) + 4|0); - HEAP32[$vararg_ptr4>>2] = $17; - _TraceLog(0,14982,$vararg_buffer1); - } else { - $15 = HEAP32[2868>>2]|0; - HEAP32[$vararg_buffer>>2] = $15; - _TraceLog(0,14935,$vararg_buffer); - } - $18 = HEAP32[2716>>2]|0; - $19 = ($18|0)==(0); - if (!($19)) { - $20 = HEAP32[2724>>2]|0; - FUNCTION_TABLE_vii[$20 & 63](1,2872); - $21 = HEAP32[2728>>2]|0; - $22 = HEAP32[2872>>2]|0; - FUNCTION_TABLE_vi[$21 & 31]($22); - } - _glGenBuffers(2,(2844|0)); - $23 = HEAP32[2844>>2]|0; - _glBindBuffer(34962,($23|0)); - $24 = HEAP32[2700>>2]|0; - _glBufferData(34962,73728,($24|0),35048); - $25 = HEAP32[(2800)>>2]|0; - _glEnableVertexAttribArray(($25|0)); - $26 = HEAP32[(2800)>>2]|0; - _glVertexAttribPointer(($26|0),3,5126,0,0,(0|0)); - $27 = HEAP32[(2848)>>2]|0; - _glBindBuffer(34962,($27|0)); - $28 = HEAP32[2668>>2]|0; - _glBufferData(34962,24576,($28|0),35048); - $29 = HEAP32[(2812)>>2]|0; - _glEnableVertexAttribArray(($29|0)); - $30 = HEAP32[(2812)>>2]|0; - _glVertexAttribPointer(($30|0),4,5121,1,0,(0|0)); - $31 = HEAP32[2716>>2]|0; - $32 = ($31|0)==(0); - if ($32) { - $34 = HEAP32[2844>>2]|0; - $35 = HEAP32[(2848)>>2]|0; - HEAP32[$vararg_buffer8>>2] = $34; - $vararg_ptr11 = ((($vararg_buffer8)) + 4|0); - HEAP32[$vararg_ptr11>>2] = $35; - _TraceLog(0,15092,$vararg_buffer8); - } else { - $33 = HEAP32[2872>>2]|0; - HEAP32[$vararg_buffer5>>2] = $33; - _TraceLog(0,15041,$vararg_buffer5); - } - $36 = HEAP32[2716>>2]|0; - $37 = ($36|0)==(0); - if (!($37)) { - $38 = HEAP32[2724>>2]|0; - FUNCTION_TABLE_vii[$38 & 63](1,2876); - $39 = HEAP32[2728>>2]|0; - $40 = HEAP32[2876>>2]|0; - FUNCTION_TABLE_vi[$39 & 31]($40); - } - _glGenBuffers(4,(2852|0)); - $41 = HEAP32[2852>>2]|0; - _glBindBuffer(34962,($41|0)); - $42 = HEAP32[2704>>2]|0; - _glBufferData(34962,49152,($42|0),35048); - $43 = HEAP32[(2800)>>2]|0; - _glEnableVertexAttribArray(($43|0)); - $44 = HEAP32[(2800)>>2]|0; - _glVertexAttribPointer(($44|0),3,5126,0,0,(0|0)); - $45 = HEAP32[(2856)>>2]|0; - _glBindBuffer(34962,($45|0)); - $46 = HEAP32[2688>>2]|0; - _glBufferData(34962,32768,($46|0),35048); - $47 = HEAP32[(2804)>>2]|0; - _glEnableVertexAttribArray(($47|0)); - $48 = HEAP32[(2804)>>2]|0; - _glVertexAttribPointer(($48|0),2,5126,0,0,(0|0)); - $49 = HEAP32[(2860)>>2]|0; - _glBindBuffer(34962,($49|0)); - $50 = HEAP32[2680>>2]|0; - _glBufferData(34962,16384,($50|0),35048); - $51 = HEAP32[(2812)>>2]|0; - _glEnableVertexAttribArray(($51|0)); - $52 = HEAP32[(2812)>>2]|0; - _glVertexAttribPointer(($52|0),4,5121,1,0,(0|0)); - $53 = HEAP32[(2864)>>2]|0; - _glBindBuffer(34963,($53|0)); - $54 = HEAP32[2880>>2]|0; - _glBufferData(34963,12288,($54|0),35044); - $55 = HEAP32[2716>>2]|0; - $56 = ($55|0)==(0); - if ($56) { - $58 = HEAP32[2852>>2]|0; - $59 = HEAP32[(2856)>>2]|0; - $60 = HEAP32[(2860)>>2]|0; - $61 = HEAP32[(2864)>>2]|0; - HEAP32[$vararg_buffer15>>2] = $58; - $vararg_ptr18 = ((($vararg_buffer15)) + 4|0); - HEAP32[$vararg_ptr18>>2] = $59; - $vararg_ptr19 = ((($vararg_buffer15)) + 8|0); - HEAP32[$vararg_ptr19>>2] = $60; - $vararg_ptr20 = ((($vararg_buffer15)) + 12|0); - HEAP32[$vararg_ptr20>>2] = $61; - _TraceLog(0,15202,$vararg_buffer15); - } else { - $57 = HEAP32[2876>>2]|0; - HEAP32[$vararg_buffer12>>2] = $57; - _TraceLog(0,15155,$vararg_buffer12); - } - $62 = HEAP32[2716>>2]|0; - $63 = ($62|0)==(0); - if ($63) { - STACKTOP = sp;return; - } - $64 = HEAP32[2728>>2]|0; - FUNCTION_TABLE_vi[$64 & 31](0); - STACKTOP = sp;return; -} -function _LoadCompressedTexture($data,$width,$height,$mipmapCount,$compressedFormat) { - $data = $data|0; - $width = $width|0; - $height = $height|0; - $mipmapCount = $mipmapCount|0; - $compressedFormat = $compressedFormat|0; - var $$ = 0, $$013 = 0, $$0610 = 0, $$17 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0; - var $7 = 0, $8 = 0, $9 = 0, $blockSize$0 = 0, $level$012 = 0, $offset$011 = 0, $or$cond = 0, $or$cond9 = 0, label = 0, sp = 0; - sp = STACKTOP; - _glPixelStorei(3317,1); - switch ($compressedFormat|0) { - case 33776: case 33777: case 36196: case 37492: { - $blockSize$0 = 8; - break; - } - default: { - $blockSize$0 = 16; - } - } - $0 = ($mipmapCount|0)<(1); - $1 = $width | $height; - $2 = ($1|0)==(0); - $or$cond9 = $0 | $2; - if ($or$cond9) { - return; - } else { - $$013 = $width;$$0610 = $height;$level$012 = 0;$offset$011 = 0; - } - while(1) { - $3 = (($$013) + 3)|0; - $4 = (($3|0) / 4)&-1; - $5 = (($$0610) + 3)|0; - $6 = (($5|0) / 4)&-1; - $7 = Math_imul($4, $blockSize$0)|0; - $8 = Math_imul($7, $6)|0; - $9 = (($data) + ($offset$011)|0); - _glCompressedTexImage2D(3553,($level$012|0),($compressedFormat|0),($$013|0),($$0610|0),0,($8|0),($9|0)); - $10 = (($8) + ($offset$011))|0; - $11 = (($$013|0) / 2)&-1; - $12 = (($$0610|0) / 2)&-1; - $13 = ($$013|0)<(2); - $$ = $13 ? 1 : $11; - $14 = ($$0610|0)<(2); - $$17 = $14 ? 1 : $12; - $15 = (($level$012) + 1)|0; - $16 = ($15|0)>=($mipmapCount|0); - $17 = $$ | $$17; - $18 = ($17|0)==(0); - $or$cond = $16 | $18; - if ($or$cond) { - break; - } else { - $$013 = $$;$$0610 = $$17;$level$012 = $15;$offset$011 = $10; - } - } - return; -} -function _UpdateBuffers() { - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[2648>>2]|0; - $1 = ($0|0)>(0); - if ($1) { - $2 = HEAP32[2716>>2]|0; - $3 = ($2|0)==(0); - if (!($3)) { - $4 = HEAP32[2728>>2]|0; - $5 = HEAP32[2868>>2]|0; - FUNCTION_TABLE_vi[$4 & 31]($5); - } - $6 = HEAP32[2836>>2]|0; - _glBindBuffer(34962,($6|0)); - $7 = HEAP32[2648>>2]|0; - $8 = ($7*12)|0; - $9 = HEAP32[2696>>2]|0; - _glBufferSubData(34962,0,($8|0),($9|0)); - $10 = HEAP32[(2840)>>2]|0; - _glBindBuffer(34962,($10|0)); - $11 = HEAP32[2652>>2]|0; - $12 = $11 << 2; - $13 = HEAP32[2656>>2]|0; - _glBufferSubData(34962,0,($12|0),($13|0)); - } - $14 = HEAP32[2660>>2]|0; - $15 = ($14|0)>(0); - if ($15) { - $16 = HEAP32[2716>>2]|0; - $17 = ($16|0)==(0); - if (!($17)) { - $18 = HEAP32[2728>>2]|0; - $19 = HEAP32[2872>>2]|0; - FUNCTION_TABLE_vi[$18 & 31]($19); - } - $20 = HEAP32[2844>>2]|0; - _glBindBuffer(34962,($20|0)); - $21 = HEAP32[2660>>2]|0; - $22 = ($21*12)|0; - $23 = HEAP32[2700>>2]|0; - _glBufferSubData(34962,0,($22|0),($23|0)); - $24 = HEAP32[(2848)>>2]|0; - _glBindBuffer(34962,($24|0)); - $25 = HEAP32[2664>>2]|0; - $26 = $25 << 2; - $27 = HEAP32[2668>>2]|0; - _glBufferSubData(34962,0,($26|0),($27|0)); - } - $28 = HEAP32[2672>>2]|0; - $29 = ($28|0)>(0); - if ($29) { - $30 = HEAP32[2716>>2]|0; - $31 = ($30|0)==(0); - if (!($31)) { - $32 = HEAP32[2728>>2]|0; - $33 = HEAP32[2876>>2]|0; - FUNCTION_TABLE_vi[$32 & 31]($33); - } - $34 = HEAP32[2852>>2]|0; - _glBindBuffer(34962,($34|0)); - $35 = HEAP32[2672>>2]|0; - $36 = ($35*12)|0; - $37 = HEAP32[2704>>2]|0; - _glBufferSubData(34962,0,($36|0),($37|0)); - $38 = HEAP32[(2856)>>2]|0; - _glBindBuffer(34962,($38|0)); - $39 = HEAP32[2672>>2]|0; - $40 = $39 << 3; - $41 = HEAP32[2688>>2]|0; - _glBufferSubData(34962,0,($40|0),($41|0)); - $42 = HEAP32[(2860)>>2]|0; - _glBindBuffer(34962,($42|0)); - $43 = HEAP32[2672>>2]|0; - $44 = $43 << 2; - $45 = HEAP32[2680>>2]|0; - _glBufferSubData(34962,0,($44|0),($45|0)); - } - $46 = HEAP32[2716>>2]|0; - $47 = ($46|0)==(0); - if ($47) { - return; - } - $48 = HEAP32[2728>>2]|0; - FUNCTION_TABLE_vi[$48 & 31](0); - return; -} -function _LoadDefaultShaderLocations($shader) { - $shader = $shader|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[$shader>>2]|0; - $1 = (_glGetAttribLocation(($0|0),(14829|0))|0); - $2 = ((($shader)) + 4|0); - HEAP32[$2>>2] = $1; - $3 = HEAP32[$shader>>2]|0; - $4 = (_glGetAttribLocation(($3|0),(14844|0))|0); - $5 = ((($shader)) + 8|0); - HEAP32[$5>>2] = $4; - $6 = HEAP32[$shader>>2]|0; - $7 = (_glGetAttribLocation(($6|0),(14859|0))|0); - $8 = ((($shader)) + 12|0); - HEAP32[$8>>2] = $7; - $9 = HEAP32[$shader>>2]|0; - $10 = (_glGetAttribLocation(($9|0),(14872|0))|0); - $11 = ((($shader)) + 16|0); - HEAP32[$11>>2] = $10; - $12 = HEAP32[$shader>>2]|0; - $13 = (_glGetUniformLocation(($12|0),(14884|0))|0); - $14 = ((($shader)) + 20|0); - HEAP32[$14>>2] = $13; - $15 = HEAP32[$shader>>2]|0; - $16 = (_glGetUniformLocation(($15|0),(14894|0))|0); - $17 = ((($shader)) + 24|0); - HEAP32[$17>>2] = $16; - $18 = HEAP32[$shader>>2]|0; - $19 = (_glGetUniformLocation(($18|0),(14908|0))|0); - $20 = ((($shader)) + 28|0); - HEAP32[$20>>2] = $19; - $21 = HEAP32[$shader>>2]|0; - $22 = (_glGetUniformLocation(($21|0),(14917|0))|0); - $23 = ((($shader)) + 32|0); - HEAP32[$23>>2] = $22; - $24 = HEAP32[$shader>>2]|0; - $25 = (_glGetUniformLocation(($24|0),(14926|0))|0); - $26 = ((($shader)) + 36|0); - HEAP32[$26>>2] = $25; - return; -} -function _vorbis_deinit($p) { - $p = $p|0; - var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $12 = 0, $13 = 0, $14 = 0; - var $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0; - var $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0; - var $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0; - var $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0; - var $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $i$016 = 0, $i$110 = 0, $i$28 = 0, $i$37 = 0, $j$013 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($p)) + 396|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)==(0|0); - if (!($2)) { - $3 = ((($p)) + 264|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)>(0); - if ($5) { - $6 = ((($p)) + 124|0); - $i$016 = 0; - while(1) { - $7 = HEAP32[$0>>2]|0; - $8 = (((($7) + (($i$016*24)|0)|0)) + 16|0); - $9 = HEAP32[$8>>2]|0; - $10 = ($9|0)==(0|0); - if (!($10)) { - $11 = (((($7) + (($i$016*24)|0)|0)) + 13|0); - $12 = HEAP8[$11>>0]|0; - $13 = $12&255; - $14 = HEAP32[$6>>2]|0; - $15 = (((($14) + (($13*2096)|0)|0)) + 4|0); - $16 = HEAP32[$15>>2]|0; - $17 = ($16|0)>(0); - if ($17) { - $j$013 = 0; - while(1) { - $18 = HEAP32[$8>>2]|0; - $19 = (($18) + ($j$013<<2)|0); - $20 = HEAP32[$19>>2]|0; - _setup_free($p,$20); - $21 = (($j$013) + 1)|0; - $22 = HEAP8[$11>>0]|0; - $23 = $22&255; - $24 = HEAP32[$6>>2]|0; - $25 = (((($24) + (($23*2096)|0)|0)) + 4|0); - $26 = HEAP32[$25>>2]|0; - $27 = ($21|0)<($26|0); - if ($27) { - $j$013 = $21; - } else { - break; - } - } - } - $28 = HEAP32[$8>>2]|0; - _setup_free($p,$28); - } - $29 = (((($7) + (($i$016*24)|0)|0)) + 20|0); - $30 = HEAP32[$29>>2]|0; - _setup_free($p,$30); - $31 = (($i$016) + 1)|0; - $32 = HEAP32[$3>>2]|0; - $33 = ($31|0)<($32|0); - if ($33) { - $i$016 = $31; - } else { - break; - } - } - } - } - $34 = ((($p)) + 124|0); - $35 = HEAP32[$34>>2]|0; - $36 = ($35|0)==(0|0); - if (!($36)) { - $37 = ((($p)) + 120|0); - $38 = HEAP32[$37>>2]|0; - $39 = ($38|0)>(0); - if ($39) { - $i$110 = 0; - while(1) { - $40 = HEAP32[$34>>2]|0; - $41 = (((($40) + (($i$110*2096)|0)|0)) + 8|0); - $42 = HEAP32[$41>>2]|0; - _setup_free($p,$42); - $43 = (((($40) + (($i$110*2096)|0)|0)) + 28|0); - $44 = HEAP32[$43>>2]|0; - _setup_free($p,$44); - $45 = (((($40) + (($i$110*2096)|0)|0)) + 32|0); - $46 = HEAP32[$45>>2]|0; - _setup_free($p,$46); - $47 = (((($40) + (($i$110*2096)|0)|0)) + 2084|0); - $48 = HEAP32[$47>>2]|0; - _setup_free($p,$48); - $49 = (((($40) + (($i$110*2096)|0)|0)) + 2088|0); - $50 = HEAP32[$49>>2]|0; - $51 = ($50|0)==(0|0); - $52 = ((($50)) + -4|0); - $53 = $51 ? 0 : $52; - _setup_free($p,$53); - $54 = (($i$110) + 1)|0; - $55 = HEAP32[$37>>2]|0; - $56 = ($54|0)<($55|0); - if ($56) { - $i$110 = $54; - } else { - break; - } - } - } - $57 = HEAP32[$34>>2]|0; - _setup_free($p,$57); - } - $58 = ((($p)) + 260|0); - $59 = HEAP32[$58>>2]|0; - _setup_free($p,$59); - $60 = HEAP32[$0>>2]|0; - _setup_free($p,$60); - $61 = ((($p)) + 404|0); - $62 = HEAP32[$61>>2]|0; - $63 = ($62|0)==(0|0); - if (!($63)) { - $64 = ((($p)) + 400|0); - $65 = HEAP32[$64>>2]|0; - $66 = ($65|0)>(0); - if ($66) { - $i$28 = 0; - while(1) { - $67 = HEAP32[$61>>2]|0; - $68 = (((($67) + (($i$28*40)|0)|0)) + 4|0); - $69 = HEAP32[$68>>2]|0; - _setup_free($p,$69); - $70 = (($i$28) + 1)|0; - $71 = HEAP32[$64>>2]|0; - $72 = ($70|0)<($71|0); - if ($72) { - $i$28 = $70; - } else { - break; - } - } - } - $73 = HEAP32[$61>>2]|0; - _setup_free($p,$73); - } - $74 = ((($p)) + 4|0); - $75 = HEAP32[$74>>2]|0; - $76 = ($75|0)>(0); - if ($76) { - $i$37 = 0; - while(1) { - $77 = (((($p)) + 800|0) + ($i$37<<2)|0); - $78 = HEAP32[$77>>2]|0; - _setup_free($p,$78); - $79 = (((($p)) + 928|0) + ($i$37<<2)|0); - $80 = HEAP32[$79>>2]|0; - _setup_free($p,$80); - $81 = (((($p)) + 996|0) + ($i$37<<2)|0); - $82 = HEAP32[$81>>2]|0; - _setup_free($p,$82); - $83 = (($i$37) + 1)|0; - $84 = HEAP32[$74>>2]|0; - $85 = ($83|0)<($84|0); - $86 = ($83|0)<(16); - $87 = $86 & $85; - if ($87) { - $i$37 = $83; - } else { - break; - } - } - } - $88 = ((($p)) + 1068|0); - $89 = HEAP32[$88>>2]|0; - _setup_free($p,$89); - $90 = ((($p)) + 1076|0); - $91 = HEAP32[$90>>2]|0; - _setup_free($p,$91); - $92 = ((($p)) + 1084|0); - $93 = HEAP32[$92>>2]|0; - _setup_free($p,$93); - $94 = ((($p)) + 1092|0); - $95 = HEAP32[$94>>2]|0; - _setup_free($p,$95); - $96 = ((($p)) + 1100|0); - $97 = HEAP32[$96>>2]|0; - _setup_free($p,$97); - $98 = ((($p)) + 1072|0); - $99 = HEAP32[$98>>2]|0; - _setup_free($p,$99); - $100 = ((($p)) + 1080|0); - $101 = HEAP32[$100>>2]|0; - _setup_free($p,$101); - $102 = ((($p)) + 1088|0); - $103 = HEAP32[$102>>2]|0; - _setup_free($p,$103); - $104 = ((($p)) + 1096|0); - $105 = HEAP32[$104>>2]|0; - _setup_free($p,$105); - $106 = ((($p)) + 1104|0); - $107 = HEAP32[$106>>2]|0; - _setup_free($p,$107); - $108 = ((($p)) + 28|0); - $109 = HEAP32[$108>>2]|0; - $110 = ($109|0)==(0); - if ($110) { - return; - } - $111 = ((($p)) + 20|0); - $112 = HEAP32[$111>>2]|0; - (_fclose($112)|0); - return; -} -function _setup_free($f,$p) { - $f = $f|0; - $p = $p|0; - var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($f)) + 80|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)==(0|0); - if (!($2)) { - return; - } - _free($p); - return; -} -function _error($f,$e) { - $f = $f|0; - $e = $e|0; - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($f)) + 100|0); - HEAP32[$0>>2] = $e; - return; -} -function _is_whole_packet_present($f,$end_page) { - $f = $f|0; - $end_page = $end_page|0; - var $$0 = 0, $$s$0 = 0, $$s$3 = 0, $$sum = 0, $$sum1 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0; - var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0; - var $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0; - var $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $7 = 0, $8 = 0, $9 = 0, $first$0 = 0, $first$0$ph = 0, $or$cond = 0, $p$011 = 0, $p$1 = 0, $p$2 = 0, $p$2$ph = 0, $p$35 = 0, $p$4 = 0; - var $s$0$lcssa = 0, $s$012 = 0, $s$2 = 0, $s$2$ph = 0, $s$3$lcssa = 0, $s$36 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($f)) + 1380|0); - $1 = HEAP32[$0>>2]|0; - $2 = ((($f)) + 32|0); - $3 = HEAP32[$2>>2]|0; - $4 = ($1|0)==(-1); - if ($4) { - $first$0$ph = 1;$p$2$ph = $3;$s$2$ph = -1; - } else { - $5 = ((($f)) + 1116|0); - $6 = HEAP32[$5>>2]|0; - $7 = ($1|0)<($6|0); - L3: do { - if ($7) { - $p$011 = $3;$s$012 = $1; - while(1) { - $8 = (((($f)) + 1120|0) + ($s$012)|0); - $9 = HEAP8[$8>>0]|0; - $10 = $9&255; - $11 = (($p$011) + ($10)|0); - $12 = ($9<<24>>24)==(-1); - if (!($12)) { - $p$1 = $11;$s$0$lcssa = $s$012; - break L3; - } - $13 = (($s$012) + 1)|0; - $14 = HEAP32[$5>>2]|0; - $15 = ($13|0)<($14|0); - if ($15) { - $p$011 = $11;$s$012 = $13; - } else { - $p$1 = $11;$s$0$lcssa = $13; - break; - } - } - } else { - $p$1 = $3;$s$0$lcssa = $1; - } - } while(0); - $16 = ($end_page|0)==(0); - if (!($16)) { - $17 = HEAP32[$5>>2]|0; - $18 = (($17) + -1)|0; - $19 = ($s$0$lcssa|0)<($18|0); - if ($19) { - _error($f,21); - $$0 = 0; - return ($$0|0); - } - } - $20 = HEAP32[$5>>2]|0; - $21 = ($s$0$lcssa|0)==($20|0); - $$s$0 = $21 ? -1 : $s$0$lcssa; - $22 = ((($f)) + 40|0); - $23 = HEAP32[$22>>2]|0; - $24 = ($p$1>>>0)>($23>>>0); - if ($24) { - _error($f,1); - $$0 = 0; - return ($$0|0); - } else { - $first$0$ph = 0;$p$2$ph = $p$1;$s$2$ph = $$s$0; - } - } - $25 = ((($f)) + 40|0); - $26 = ($end_page|0)!=(0); - $27 = ((($f)) + 992|0); - $first$0 = $first$0$ph;$p$2 = $p$2$ph;$s$2 = $s$2$ph; - while(1) { - $28 = ($s$2|0)==(-1); - if (!($28)) { - $$0 = 1; - label = 33; - break; - } - $29 = ((($p$2)) + 26|0); - $30 = HEAP32[$25>>2]|0; - $31 = ($29>>>0)<($30>>>0); - if (!($31)) { - label = 13; - break; - } - $32 = (_memcmp($p$2,5956,4)|0); - $33 = ($32|0)==(0); - if (!($33)) { - label = 15; - break; - } - $34 = ((($p$2)) + 4|0); - $35 = HEAP8[$34>>0]|0; - $36 = ($35<<24>>24)==(0); - if (!($36)) { - label = 17; - break; - } - $37 = ($first$0|0)==(0); - if ($37) { - $44 = ((($p$2)) + 5|0); - $45 = HEAP8[$44>>0]|0; - $46 = $45 & 1; - $47 = ($46<<24>>24)==(0); - if ($47) { - label = 23; - break; - } - } else { - $38 = HEAP32[$27>>2]|0; - $39 = ($38|0)==(0); - if (!($39)) { - $40 = ((($p$2)) + 5|0); - $41 = HEAP8[$40>>0]|0; - $42 = $41 & 1; - $43 = ($42<<24>>24)==(0); - if (!($43)) { - label = 21; - break; - } - } - } - $48 = HEAP8[$29>>0]|0; - $49 = $48&255; - $$sum = (($49) + 27)|0; - $50 = (($p$2) + ($$sum)|0); - $51 = HEAP32[$25>>2]|0; - $52 = ($50>>>0)>($51>>>0); - if ($52) { - label = 26; - break; - } - $53 = ($48<<24>>24)==(0); - L28: do { - if ($53) { - $p$4 = $50;$s$3$lcssa = 0; - } else { - $p$35 = $50;$s$36 = 0; - while(1) { - $$sum1 = (($s$36) + 27)|0; - $54 = (($p$2) + ($$sum1)|0); - $55 = HEAP8[$54>>0]|0; - $56 = $55&255; - $57 = (($p$35) + ($56)|0); - $58 = ($55<<24>>24)==(-1); - if (!($58)) { - $p$4 = $57;$s$3$lcssa = $s$36; - break L28; - } - $59 = (($s$36) + 1)|0; - $60 = ($59|0)<($49|0); - if ($60) { - $p$35 = $57;$s$36 = $59; - } else { - $p$4 = $57;$s$3$lcssa = $59; - break; - } - } - } - } while(0); - $61 = (($49) + -1)|0; - $62 = ($s$3$lcssa|0)<($61|0); - $or$cond = $26 & $62; - if ($or$cond) { - label = 30; - break; - } - $63 = ($s$3$lcssa|0)==($49|0); - $$s$3 = $63 ? -1 : $s$3$lcssa; - $64 = HEAP32[$25>>2]|0; - $65 = ($p$4>>>0)>($64>>>0); - if ($65) { - label = 32; - break; - } else { - $first$0 = 0;$p$2 = $p$4;$s$2 = $$s$3; - } - } - if ((label|0) == 13) { - _error($f,1); - $$0 = 0; - return ($$0|0); - } - else if ((label|0) == 15) { - _error($f,21); - $$0 = 0; - return ($$0|0); - } - else if ((label|0) == 17) { - _error($f,21); - $$0 = 0; - return ($$0|0); - } - else if ((label|0) == 21) { - _error($f,21); - $$0 = 0; - return ($$0|0); - } - else if ((label|0) == 23) { - _error($f,21); - $$0 = 0; - return ($$0|0); - } - else if ((label|0) == 26) { - _error($f,1); - $$0 = 0; - return ($$0|0); - } - else if ((label|0) == 30) { - _error($f,21); - $$0 = 0; - return ($$0|0); - } - else if ((label|0) == 32) { - _error($f,1); - $$0 = 0; - return ($$0|0); - } - else if ((label|0) == 33) { - return ($$0|0); - } - return (0)|0; -} -function _vorbis_decode_packet($f,$len,$p_left,$p_right) { - $f = $f|0; - $len = $len|0; - $p_left = $p_left|0; - $p_right = $p_right|0; - var $$0 = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $left_end = 0, $mode = 0, $right_end = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $mode = sp + 8|0; - $left_end = sp + 4|0; - $right_end = sp; - $0 = (_vorbis_decode_initial($f,$p_left,$left_end,$p_right,$right_end,$mode)|0); - $1 = ($0|0)==(0); - if ($1) { - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $2 = HEAP32[$mode>>2]|0; - $3 = (((($f)) + 412|0) + (($2*6)|0)|0); - $4 = HEAP32[$p_left>>2]|0; - $5 = HEAP32[$p_right>>2]|0; - $6 = HEAP32[$right_end>>2]|0; - $7 = (_vorbis_decode_packet_rest($f,$len,$3,$4,$5,$6,$p_left)|0); - $$0 = $7; - STACKTOP = sp;return ($$0|0); -} -function _get8_packet($f) { - $f = $f|0; - var $0 = 0, $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_get8_packet_raw($f)|0); - $1 = ((($f)) + 1396|0); - HEAP32[$1>>2] = 0; - return ($0|0); -} -function _vorbis_finish_frame($f,$len,$left,$right) { - $f = $f|0; - $len = $len|0; - $left = $left|0; - $right = $right|0; - var $$0 = 0, $$pr = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0.0, $17 = 0, $18 = 0.0, $19 = 0.0, $2 = 0, $20 = 0, $21 = 0.0, $22 = 0, $23 = 0, $24 = 0.0; - var $25 = 0.0, $26 = 0.0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0; - var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond10 = 0; - var $i$04 = 0, $i1$09 = 0, $j$03 = 0, $j2$06 = 0, $len$right = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($f)) + 992|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)==(0); - if ($2) { - $49 = 0; - } else { - $3 = (_get_window($f,$1)|0); - $4 = ((($f)) + 4|0); - $5 = HEAP32[$4>>2]|0; - $6 = ($5|0)>(0); - if ($6) { - $7 = ($1|0)>(0); - $8 = HEAP32[$4>>2]|0; - $9 = (($1) + -1)|0; - $i1$09 = 0; - while(1) { - if ($7) { - $10 = (((($f)) + 800|0) + ($i1$09<<2)|0); - $11 = HEAP32[$10>>2]|0; - $12 = (((($f)) + 928|0) + ($i1$09<<2)|0); - $13 = HEAP32[$12>>2]|0; - $j2$06 = 0; - while(1) { - $14 = (($j2$06) + ($left))|0; - $15 = (($11) + ($14<<2)|0); - $16 = +HEAPF32[$15>>2]; - $17 = (($3) + ($j2$06<<2)|0); - $18 = +HEAPF32[$17>>2]; - $19 = $16 * $18; - $20 = (($13) + ($j2$06<<2)|0); - $21 = +HEAPF32[$20>>2]; - $22 = (($9) - ($j2$06))|0; - $23 = (($3) + ($22<<2)|0); - $24 = +HEAPF32[$23>>2]; - $25 = $21 * $24; - $26 = $19 + $25; - HEAPF32[$15>>2] = $26; - $27 = (($j2$06) + 1)|0; - $exitcond10 = ($27|0)==($1|0); - if ($exitcond10) { - break; - } else { - $j2$06 = $27; - } - } - } - $28 = (($i1$09) + 1)|0; - $29 = ($28|0)<($8|0); - if ($29) { - $i1$09 = $28; - } else { - break; - } - } - } - $$pr = HEAP32[$0>>2]|0; - $49 = $$pr; - } - $30 = (($len) - ($right))|0; - HEAP32[$0>>2] = $30; - $31 = ((($f)) + 4|0); - $32 = HEAP32[$31>>2]|0; - $33 = ($32|0)>(0); - if ($33) { - $34 = ($len|0)>($right|0); - $35 = HEAP32[$31>>2]|0; - $36 = (($len) - ($right))|0; - $i$04 = 0; - while(1) { - if ($34) { - $37 = (((($f)) + 800|0) + ($i$04<<2)|0); - $38 = HEAP32[$37>>2]|0; - $39 = (((($f)) + 928|0) + ($i$04<<2)|0); - $40 = HEAP32[$39>>2]|0; - $42 = $right;$j$03 = 0; - while(1) { - $41 = (($38) + ($42<<2)|0); - $43 = HEAP32[$41>>2]|0; - $44 = (($40) + ($j$03<<2)|0); - HEAP32[$44>>2] = $43; - $45 = (($j$03) + 1)|0; - $46 = (($45) + ($right))|0; - $exitcond = ($45|0)==($36|0); - if ($exitcond) { - break; - } else { - $42 = $46;$j$03 = $45; - } - } - } - $47 = (($i$04) + 1)|0; - $48 = ($47|0)<($35|0); - if ($48) { - $i$04 = $47; - } else { - break; - } - } - } - $50 = ($49|0)==(0); - if ($50) { - $$0 = 0; - return ($$0|0); - } - $51 = ($len|0)<($right|0); - $len$right = $51 ? $len : $right; - $52 = (($len$right) - ($left))|0; - $53 = ((($f)) + 1416|0); - $54 = HEAP32[$53>>2]|0; - $55 = (($54) + ($52))|0; - HEAP32[$53>>2] = $55; - $$0 = $52; - return ($$0|0); -} -function _vorbis_init($p,$z) { - $p = $p|0; - $z = $z|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $3 = 0, $4 = 0, $5 = 0; - var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - _memset(($p|0),0,1512)|0; - $0 = ($z|0)==(0|0); - if (!($0)) { - $1 = ((($p)) + 80|0); - $2 = $z; - $3 = $2; - $4 = HEAP32[$3>>2]|0; - $5 = (($2) + 4)|0; - $6 = $5; - $7 = HEAP32[$6>>2]|0; - $8 = $1; - $9 = $8; - HEAP32[$9>>2] = $4; - $10 = (($8) + 4)|0; - $11 = $10; - HEAP32[$11>>2] = $7; - $12 = ((($p)) + 84|0); - $13 = HEAP32[$12>>2]|0; - $14 = (($13) + 3)|0; - $15 = $14 & -4; - HEAP32[$12>>2] = $15; - $16 = ((($p)) + 92|0); - HEAP32[$16>>2] = $15; - } - $17 = ((($p)) + 96|0); - HEAP32[$17>>2] = 0; - $18 = ((($p)) + 100|0); - HEAP32[$18>>2] = 0; - $19 = ((($p)) + 32|0); - HEAP32[$19>>2] = 0; - $20 = ((($p)) + 124|0); - HEAP32[$20>>2] = 0; - $21 = ((($p)) + 1420|0); - HEAP32[$21>>2] = -1; - $22 = ((($p)) + 28|0); - HEAP32[$22>>2] = 0; - $23 = ((($p)) + 20|0); - HEAP32[$23>>2] = 0; - return; -} -function _start_decoder($f) { - $f = $f|0; - var $$ = 0, $$15 = 0, $$4 = 0, $$lcssa = 0, $$lcssa456 = 0, $$lcssa464 = 0, $$lcssa465 = 0, $$lcssa475 = 0, $$lcssa498 = 0, $$lcssa500 = 0, $$lcssa503 = 0, $$lcssa504 = 0, $$lcssa505 = 0, $$lcssa506 = 0, $$lcssa507 = 0, $$lcssa51 = 0, $$lcssa52 = 0, $$lcssa64 = 0, $$longest_floorlist$0 = 0, $$longest_floorlist$0$lcssa = 0; - var $$max_class$0 = 0, $$max_class$0$lcssa = 0, $$max_part_read$0 = 0, $$max_part_read$0$lcssa = 0, $$off = 0, $$off7 = 0, $$pr = 0, $$pr17 = 0, $$pr286 = 0, $$pr287 = 0, $$sum = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0; - var $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0; - var $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0; - var $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0; - var $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0; - var $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0; - var $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0; - var $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0; - var $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0; - var $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0.0, $26 = 0, $260 = 0, $261 = 0, $262 = 0.0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0; - var $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0; - var $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0; - var $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0; - var $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0.0, $337 = 0.0, $338 = 0.0, $339 = 0.0, $34 = 0; - var $340 = 0.0, $341 = 0.0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0; - var $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0.0, $372 = 0.0, $373 = 0.0, $374 = 0.0, $375 = 0.0, $376 = 0.0; - var $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0; - var $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0; - var $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0; - var $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0; - var $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0; - var $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0; - var $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0; - var $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0; - var $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0, $531 = 0, $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0; - var $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0, $549 = 0, $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0; - var $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0, $562 = 0, $563 = 0, $564 = 0, $565 = 0, $566 = 0, $567 = 0, $568 = 0, $569 = 0, $57 = 0, $570 = 0, $571 = 0, $572 = 0, $573 = 0, $574 = 0; - var $575 = 0, $576 = 0, $577 = 0, $578 = 0, $579 = 0, $58 = 0, $580 = 0, $581 = 0, $582 = 0, $583 = 0, $584 = 0, $585 = 0, $586 = 0, $587 = 0, $588 = 0, $589 = 0, $59 = 0, $590 = 0, $591 = 0, $592 = 0; - var $593 = 0, $594 = 0, $595 = 0, $596 = 0, $597 = 0, $598 = 0, $599 = 0, $6 = 0, $60 = 0, $600 = 0, $601 = 0, $602 = 0, $603 = 0, $604 = 0, $605 = 0, $606 = 0, $607 = 0, $608 = 0, $609 = 0, $61 = 0; - var $610 = 0, $611 = 0, $612 = 0, $613 = 0, $614 = 0, $615 = 0, $616 = 0, $617 = 0, $618 = 0, $619 = 0, $62 = 0, $620 = 0, $621 = 0, $622 = 0, $623 = 0, $624 = 0, $625 = 0, $626 = 0, $627 = 0, $628 = 0; - var $629 = 0, $63 = 0, $630 = 0, $631 = 0, $632 = 0, $633 = 0, $634 = 0, $635 = 0, $636 = 0, $637 = 0, $638 = 0, $639 = 0, $64 = 0, $640 = 0, $641 = 0, $642 = 0, $643 = 0, $644 = 0, $645 = 0, $646 = 0; - var $647 = 0, $648 = 0, $649 = 0, $65 = 0, $650 = 0, $651 = 0, $652 = 0, $653 = 0, $654 = 0, $655 = 0, $656 = 0, $657 = 0, $658 = 0, $659 = 0, $66 = 0, $660 = 0, $661 = 0, $662 = 0, $663 = 0, $664 = 0; - var $665 = 0, $666 = 0, $667 = 0, $668 = 0, $669 = 0, $67 = 0, $670 = 0, $671 = 0, $672 = 0, $673 = 0, $674 = 0, $675 = 0, $676 = 0, $677 = 0, $678 = 0, $679 = 0, $68 = 0, $680 = 0, $681 = 0, $682 = 0; - var $683 = 0, $684 = 0, $685 = 0, $686 = 0, $687 = 0, $688 = 0, $689 = 0, $69 = 0, $690 = 0, $691 = 0, $692 = 0, $693 = 0, $694 = 0, $695 = 0, $696 = 0, $697 = 0, $698 = 0, $699 = 0, $7 = 0, $70 = 0; - var $700 = 0, $701 = 0, $702 = 0, $703 = 0, $704 = 0, $705 = 0, $706 = 0, $707 = 0, $708 = 0, $709 = 0, $71 = 0, $710 = 0, $711 = 0, $712 = 0, $713 = 0, $714 = 0, $715 = 0, $716 = 0, $717 = 0, $718 = 0; - var $719 = 0, $72 = 0, $720 = 0, $721 = 0, $722 = 0, $723 = 0, $724 = 0, $725 = 0, $726 = 0, $727 = 0, $728 = 0, $729 = 0, $73 = 0, $730 = 0, $731 = 0, $732 = 0, $733 = 0, $734 = 0, $735 = 0, $736 = 0; - var $737 = 0, $738 = 0, $739 = 0, $74 = 0, $740 = 0, $741 = 0, $742 = 0, $743 = 0, $744 = 0, $745 = 0, $746 = 0, $747 = 0, $748 = 0, $749 = 0, $75 = 0, $750 = 0, $751 = 0, $752 = 0, $753 = 0, $754 = 0; - var $755 = 0, $756 = 0, $757 = 0, $758 = 0, $759 = 0, $76 = 0, $760 = 0, $761 = 0, $762 = 0, $763 = 0, $764 = 0, $765 = 0, $766 = 0, $767 = 0, $768 = 0, $769 = 0, $77 = 0, $770 = 0, $771 = 0, $772 = 0; - var $773 = 0, $774 = 0, $775 = 0, $776 = 0, $777 = 0, $778 = 0, $779 = 0, $78 = 0, $780 = 0, $781 = 0, $782 = 0, $783 = 0, $784 = 0, $785 = 0, $786 = 0, $787 = 0, $788 = 0, $789 = 0, $79 = 0, $790 = 0; - var $791 = 0, $792 = 0, $793 = 0, $794 = 0, $795 = 0, $796 = 0, $797 = 0, $798 = 0, $799 = 0, $8 = 0, $80 = 0, $800 = 0, $801 = 0, $802 = 0, $803 = 0, $804 = 0, $805 = 0, $806 = 0, $807 = 0, $808 = 0; - var $809 = 0, $81 = 0, $810 = 0, $811 = 0, $812 = 0, $813 = 0, $814 = 0, $815 = 0, $816 = 0, $817 = 0, $818 = 0, $819 = 0, $82 = 0, $820 = 0, $821 = 0, $822 = 0, $823 = 0, $824 = 0, $825 = 0, $826 = 0; - var $827 = 0, $828 = 0, $829 = 0, $83 = 0, $830 = 0, $831 = 0, $832 = 0, $833 = 0, $834 = 0, $835 = 0, $836 = 0, $837 = 0, $838 = 0, $839 = 0, $84 = 0, $840 = 0, $841 = 0, $842 = 0, $843 = 0, $844 = 0; - var $845 = 0, $846 = 0, $847 = 0, $848 = 0, $849 = 0, $85 = 0, $850 = 0, $851 = 0, $852 = 0, $853 = 0, $854 = 0, $855 = 0, $856 = 0, $857 = 0, $858 = 0, $859 = 0, $86 = 0, $860 = 0, $861 = 0, $862 = 0; - var $863 = 0, $864 = 0, $865 = 0, $866 = 0, $867 = 0, $868 = 0, $869 = 0, $87 = 0, $870 = 0, $871 = 0, $872 = 0, $873 = 0, $874 = 0, $875 = 0, $876 = 0, $877 = 0, $878 = 0, $879 = 0, $88 = 0, $880 = 0; - var $881 = 0, $882 = 0, $883 = 0, $884 = 0, $885 = 0, $886 = 0, $887 = 0, $888 = 0, $889 = 0, $89 = 0, $890 = 0, $891 = 0, $892 = 0, $893 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0; - var $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $current_entry$0203 = 0, $current_length$0204 = 0, $current_length$0204$in = 0, $div$0$ph = 0, $header = 0, $hi = 0, $high_bits$0 = 0, $i$1223 = 0, $i$2194 = 0, $i$3189 = 0, $i$3189$lcssa458 = 0, $i$4154 = 0, $i$5133 = 0, $i$6118 = 0, $i$7114 = 0; - var $i9$0109 = 0, $j$0199 = 0, $j$10181 = 0, $j$11184 = 0, $j$1208 = 0, $j$12138 = 0, $j$13143 = 0, $j$14150 = 0, $j$15127 = 0, $j$16125 = 0, $j$17129 = 0, $j$2211 = 0, $j$3219 = 0, $j$4216 = 0, $j$5108 = 0, $j$6159 = 0, $j$7166 = 0, $j$8174 = 0, $j$9177 = 0, $k$0 = 0; - var $k$0$ph = 0, $k$1163 = 0, $k$2170 = 0, $k$3142 = 0, $k$4147 = 0, $k$4147$in = 0, $k$5122 = 0, $last$0218 = 0.0, $last$1 = 0.0, $last$1$ = 0.0, $last$1$$lcssa = 0.0, $last$1$lcssa = 0.0, $last$1$ph = 0.0, $last2$0$ = 0.0, $last2$0215 = 0.0, $lengths$0 = 0, $lengths$119 = 0, $lengths$120$ph = 0, $longest_floorlist$0$lcssa = 0, $longest_floorlist$0188 = 0; - var $low = 0, $max_class$0158 = 0, $max_part_read$0$lcssa = 0, $max_part_read$0110 = 0, $or$cond = 0, $or$cond14 = 0, $p = 0, $phitmp = 0, $phitmp232 = 0, $phitmp233 = 0, $sext = 0, $sorted_count$0207 = 0, $sorted_count$1 = 0, $sorted_count$2 = 0, $temp$0146 = 0, $total$0198 = 0, $total$1 = 0, $total$2 = 0, $values$0 = 0, $values$1 = 0; - var $values$1$lcssa = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 1024|0; - $header = sp + 1008|0; - $p = sp + 8|0; - $low = sp + 4|0; - $hi = sp; - $0 = (_start_page($f)|0); - $1 = ($0|0)==(0); - if ($1) { - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - $2 = ((($f)) + 1375|0); - $3 = HEAP8[$2>>0]|0; - $4 = $3&255; - $5 = $4 & 2; - $6 = ($5|0)==(0); - if ($6) { - _error($f,34); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - $7 = $4 & 4; - $8 = ($7|0)==(0); - if (!($8)) { - _error($f,34); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - $9 = $4 & 1; - $10 = ($9|0)==(0); - if (!($10)) { - _error($f,34); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - $11 = ((($f)) + 1116|0); - $12 = HEAP32[$11>>2]|0; - $13 = ($12|0)==(1); - if (!($13)) { - _error($f,34); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - $14 = ((($f)) + 1120|0); - $15 = HEAP8[$14>>0]|0; - $16 = ($15<<24>>24)==(30); - if (!($16)) { - _error($f,34); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - $17 = (_get8($f)|0); - $18 = ($17<<24>>24)==(1); - if (!($18)) { - _error($f,34); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - $19 = (_getn($f,$header,6)|0); - $20 = ($19|0)==(0); - if ($20) { - _error($f,10); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - $21 = (_vorbis_validate($header)|0); - $22 = ($21|0)==(0); - if ($22) { - _error($f,34); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - $23 = (_get32($f)|0); - $24 = ($23|0)==(0); - if (!($24)) { - _error($f,34); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - $25 = (_get8($f)|0); - $26 = $25&255; - $27 = ((($f)) + 4|0); - HEAP32[$27>>2] = $26; - $28 = ($25<<24>>24)==(0); - if ($28) { - _error($f,34); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - $29 = ($25&255)>(16); - if ($29) { - _error($f,5); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - $30 = (_get32($f)|0); - HEAP32[$f>>2] = $30; - $31 = ($30|0)==(0); - if ($31) { - _error($f,34); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - (_get32($f)|0); - (_get32($f)|0); - (_get32($f)|0); - $32 = (_get8($f)|0); - $33 = $32&255; - $34 = $33 & 15; - $35 = $33 >>> 4; - $36 = 1 << $34; - $37 = ((($f)) + 112|0); - HEAP32[$37>>2] = $36; - $38 = 1 << $35; - $39 = ((($f)) + 116|0); - HEAP32[$39>>2] = $38; - $$off = (($34) + -6)|0; - $40 = ($$off>>>0)>(7); - if ($40) { - _error($f,20); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - $$off7 = (($32) + -96)<<24>>24; - $41 = ($$off7<<24>>24)<(0); - if ($41) { - _error($f,20); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - $42 = ($34>>>0)>($35>>>0); - if ($42) { - _error($f,20); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - $43 = (_get8($f)|0); - $44 = $43 & 1; - $45 = ($44<<24>>24)==(0); - if ($45) { - _error($f,34); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - $46 = (_start_page($f)|0); - $47 = ($46|0)==(0); - if ($47) { - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - $48 = (_start_packet($f)|0); - $49 = ($48|0)==(0); - if ($49) { - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - $50 = ((($f)) + 1376|0); - while(1) { - $51 = (_next_segment($f)|0); - _skip($f,$51); - HEAP8[$50>>0] = 0; - $52 = ($51|0)==(0); - if ($52) { - break; - } - } - $53 = (_start_packet($f)|0); - $54 = ($53|0)==(0); - if ($54) { - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - $55 = ((($f)) + 48|0); - $56 = HEAP8[$55>>0]|0; - $57 = ($56<<24>>24)==(0); - do { - if (!($57)) { - $58 = (_is_whole_packet_present($f,1)|0); - $59 = ($58|0)==(0); - if (!($59)) { - break; - } - $60 = ((($f)) + 100|0); - $61 = HEAP32[$60>>2]|0; - $62 = ($61|0)==(21); - if (!($62)) { - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - HEAP32[$60>>2] = 20; - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - } while(0); - _crc32_init(); - $63 = (_get8_packet($f)|0); - $64 = ($63|0)==(5); - if (!($64)) { - _error($f,20); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - $65 = (_get8_packet($f)|0); - $66 = $65&255; - HEAP8[$header>>0] = $66; - $67 = (_get8_packet($f)|0); - $68 = $67&255; - $69 = ((($header)) + 1|0); - HEAP8[$69>>0] = $68; - $70 = (_get8_packet($f)|0); - $71 = $70&255; - $72 = ((($header)) + 2|0); - HEAP8[$72>>0] = $71; - $73 = (_get8_packet($f)|0); - $74 = $73&255; - $75 = ((($header)) + 3|0); - HEAP8[$75>>0] = $74; - $76 = (_get8_packet($f)|0); - $77 = $76&255; - $78 = ((($header)) + 4|0); - HEAP8[$78>>0] = $77; - $79 = (_get8_packet($f)|0); - $80 = $79&255; - $81 = ((($header)) + 5|0); - HEAP8[$81>>0] = $80; - $82 = (_vorbis_validate($header)|0); - $83 = ($82|0)==(0); - if ($83) { - _error($f,20); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - $84 = (_get_bits($f,8)|0); - $85 = (($84) + 1)|0; - $86 = ((($f)) + 120|0); - HEAP32[$86>>2] = $85; - $87 = ($85*2096)|0; - $88 = (_setup_malloc($f,$87)|0); - $89 = ((($f)) + 124|0); - HEAP32[$89>>2] = $88; - $90 = ($88|0)==(0|0); - if ($90) { - _error($f,3); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - $91 = HEAP32[$86>>2]|0; - $92 = ($91*2096)|0; - _memset(($88|0),0,($92|0))|0; - $93 = HEAP32[$86>>2]|0; - $94 = ($93|0)>(0); - L100: do { - if ($94) { - $95 = ((($f)) + 16|0); - $96 = ((($f)) + 16|0); - $i$1223 = 0; - L102: while(1) { - $97 = HEAP32[$89>>2]|0; - $98 = (($97) + (($i$1223*2096)|0)|0); - $99 = (_get_bits($f,8)|0); - $100 = $99 & 255; - $101 = ($100|0)==(66); - if (!($101)) { - label = 52; - break; - } - $102 = (_get_bits($f,8)|0); - $103 = $102 & 255; - $104 = ($103|0)==(67); - if (!($104)) { - label = 54; - break; - } - $105 = (_get_bits($f,8)|0); - $106 = $105 & 255; - $107 = ($106|0)==(86); - if (!($107)) { - label = 56; - break; - } - $108 = (_get_bits($f,8)|0); - $109 = (_get_bits($f,8)|0); - $110 = $109 << 8; - $111 = $108 & 255; - $112 = $110 | $111; - HEAP32[$98>>2] = $112; - $113 = (_get_bits($f,8)|0); - $114 = (_get_bits($f,8)|0); - $115 = (_get_bits($f,8)|0); - $116 = $115 << 16; - $117 = $114 << 8; - $118 = $117 & 65280; - $119 = $113 & 255; - $120 = $118 | $119; - $121 = $120 | $116; - $122 = (((($97) + (($i$1223*2096)|0)|0)) + 4|0); - HEAP32[$122>>2] = $121; - $123 = (_get_bits($f,1)|0); - $124 = ($123|0)!=(0); - if ($124) { - $127 = 0; - } else { - $125 = (_get_bits($f,1)|0); - $127 = $125; - } - $126 = $127&255; - $128 = (((($97) + (($i$1223*2096)|0)|0)) + 23|0); - HEAP8[$128>>0] = $126; - $129 = HEAP32[$98>>2]|0; - $130 = ($129|0)==(0); - if ($130) { - $131 = HEAP32[$122>>2]|0; - $132 = ($131|0)==(0); - if (!($132)) { - label = 61; - break; - } - $$pr = HEAP8[$128>>0]|0; - $133 = $$pr; - } else { - $133 = $126; - } - $134 = ($133<<24>>24)==(0); - $135 = HEAP32[$122>>2]|0; - if ($134) { - $137 = (_setup_malloc($f,$135)|0); - $138 = (((($97) + (($i$1223*2096)|0)|0)) + 8|0); - HEAP32[$138>>2] = $137; - $lengths$0 = $137; - } else { - $136 = (_setup_temp_malloc($f,$135)|0); - $lengths$0 = $136; - } - $139 = ($lengths$0|0)==(0|0); - if ($139) { - label = 67; - break; - } - do { - if ($124) { - $142 = (_get_bits($f,5)|0); - $143 = HEAP32[$122>>2]|0; - $144 = ($143|0)>(0); - if ($144) { - $146 = $143;$current_entry$0203 = 0;$current_length$0204$in = $142; - } else { - $total$2 = 0; - break; - } - while(1) { - $current_length$0204 = (($current_length$0204$in) + 1)|0; - $145 = (($146) - ($current_entry$0203))|0; - $147 = (_ilog($145)|0); - $148 = (_get_bits($f,$147)|0); - $149 = (($148) + ($current_entry$0203))|0; - $150 = HEAP32[$122>>2]|0; - $151 = ($149|0)>($150|0); - if ($151) { - label = 72; - break L102; - } - $152 = (($lengths$0) + ($current_entry$0203)|0); - $153 = $current_length$0204&255; - _memset(($152|0),($153|0),($148|0))|0; - $154 = HEAP32[$122>>2]|0; - $155 = ($154|0)>($149|0); - if ($155) { - $146 = $154;$current_entry$0203 = $149;$current_length$0204$in = $current_length$0204; - } else { - $total$2 = 0; - break; - } - } - } else { - $140 = HEAP32[$122>>2]|0; - $141 = ($140|0)>(0); - if ($141) { - $j$0199 = 0;$total$0198 = 0; - } else { - $total$2 = 0; - break; - } - while(1) { - $156 = HEAP8[$128>>0]|0; - $157 = ($156<<24>>24)==(0); - do { - if ($157) { - label = 76; - } else { - $158 = (_get_bits($f,1)|0); - $159 = ($158|0)==(0); - if (!($159)) { - label = 76; - break; - } - $167 = (($lengths$0) + ($j$0199)|0); - HEAP8[$167>>0] = -1; - $total$1 = $total$0198; - } - } while(0); - if ((label|0) == 76) { - label = 0; - $160 = (_get_bits($f,5)|0); - $161 = (($160) + 1)|0; - $162 = $161&255; - $163 = (($lengths$0) + ($j$0199)|0); - HEAP8[$163>>0] = $162; - $164 = (($total$0198) + 1)|0; - $165 = $161 & 255; - $166 = ($165|0)==(32); - if ($166) { - label = 77; - break L102; - } else { - $total$1 = $164; - } - } - $168 = (($j$0199) + 1)|0; - $169 = HEAP32[$122>>2]|0; - $170 = ($168|0)<($169|0); - if ($170) { - $j$0199 = $168;$total$0198 = $total$1; - } else { - $total$2 = $total$1; - break; - } - } - } - } while(0); - $171 = HEAP8[$128>>0]|0; - $172 = ($171<<24>>24)==(0); - do { - if ($172) { - $lengths$120$ph = $lengths$0; - label = 88; - } else { - $173 = HEAP32[$122>>2]|0; - $174 = $173 >> 2; - $175 = ($total$2|0)<($174|0); - if ($175) { - $$pr17 = HEAP8[$128>>0]|0; - $185 = ($$pr17<<24>>24)==(0); - if ($185) { - $lengths$120$ph = $lengths$0; - label = 88; - break; - } else { - $lengths$119 = $lengths$0;$sorted_count$2 = $total$2; - break; - } - } - $176 = HEAP32[$96>>2]|0; - $177 = ($173|0)>($176|0); - if ($177) { - HEAP32[$96>>2] = $173; - } - $178 = HEAP32[$122>>2]|0; - $179 = (_setup_malloc($f,$178)|0); - $180 = (((($97) + (($i$1223*2096)|0)|0)) + 8|0); - HEAP32[$180>>2] = $179; - $181 = ($179|0)==(0|0); - if ($181) { - label = 85; - break L102; - } - $182 = HEAP32[$122>>2]|0; - _memcpy(($179|0),($lengths$0|0),($182|0))|0; - $183 = HEAP32[$122>>2]|0; - _setup_temp_free($f,$lengths$0,$183); - $184 = HEAP32[$180>>2]|0; - HEAP8[$128>>0] = 0; - $lengths$120$ph = $184; - label = 88; - } - } while(0); - do { - if ((label|0) == 88) { - label = 0; - $186 = HEAP32[$122>>2]|0; - $187 = ($186|0)>(0); - if (!($187)) { - $lengths$119 = $lengths$120$ph;$sorted_count$2 = 0; - break; - } - $188 = HEAP32[$122>>2]|0; - $j$1208 = 0;$sorted_count$0207 = 0; - while(1) { - $189 = (($lengths$120$ph) + ($j$1208)|0); - $190 = HEAP8[$189>>0]|0; - $191 = ($190&255)<(11); - $192 = ($190<<24>>24)==(-1); - $or$cond = $191 | $192; - $193 = $or$cond&1; - $194 = $193 ^ 1; - $sorted_count$1 = (($194) + ($sorted_count$0207))|0; - $195 = (($j$1208) + 1)|0; - $196 = ($195|0)<($188|0); - if ($196) { - $j$1208 = $195;$sorted_count$0207 = $sorted_count$1; - } else { - $lengths$119 = $lengths$120$ph;$sorted_count$2 = $sorted_count$1; - break; - } - } - } - } while(0); - $197 = (((($97) + (($i$1223*2096)|0)|0)) + 2092|0); - HEAP32[$197>>2] = $sorted_count$2; - $198 = HEAP8[$128>>0]|0; - $199 = ($198<<24>>24)==(0); - do { - if ($199) { - $200 = HEAP32[$122>>2]|0; - $201 = $200 << 2; - $202 = (_setup_malloc($f,$201)|0); - $203 = (((($97) + (($i$1223*2096)|0)|0)) + 32|0); - HEAP32[$203>>2] = $202; - $204 = ($202|0)==(0|0); - if ($204) { - label = 93; - break L102; - } else { - $values$1 = 0; - } - } else { - $205 = ($sorted_count$2|0)==(0); - if ($205) { - $values$0 = 0; - } else { - $206 = (_setup_malloc($f,$sorted_count$2)|0); - $207 = (((($97) + (($i$1223*2096)|0)|0)) + 8|0); - HEAP32[$207>>2] = $206; - $208 = ($206|0)==(0|0); - if ($208) { - label = 96; - break L102; - } - $209 = HEAP32[$197>>2]|0; - $210 = $209 << 2; - $211 = (_setup_temp_malloc($f,$210)|0); - $212 = (((($97) + (($i$1223*2096)|0)|0)) + 32|0); - HEAP32[$212>>2] = $211; - $213 = ($211|0)==(0|0); - if ($213) { - label = 98; - break L102; - } - $214 = HEAP32[$197>>2]|0; - $215 = $214 << 2; - $216 = (_setup_temp_malloc($f,$215)|0); - $217 = ($216|0)==(0|0); - if ($217) { - label = 100; - break L102; - } else { - $values$0 = $216; - } - } - $218 = HEAP32[$122>>2]|0; - $219 = HEAP32[$197>>2]|0; - $220 = $219 << 3; - $221 = (($220) + ($218))|0; - $222 = HEAP32[$95>>2]|0; - $223 = ($221>>>0)>($222>>>0); - if (!($223)) { - $values$1 = $values$0; - break; - } - HEAP32[$95>>2] = $221; - $values$1 = $values$0; - } - } while(0); - $224 = HEAP32[$122>>2]|0; - $225 = (_compute_codewords($98,$lengths$119,$224,$values$1)|0); - $226 = ($225|0)==(0); - if ($226) { - $$lcssa475 = $128;$values$1$lcssa = $values$1; - label = 104; - break; - } - $229 = HEAP32[$197>>2]|0; - $230 = ($229|0)==(0); - if (!($230)) { - $231 = $229 << 2; - $232 = (($231) + 4)|0; - $233 = (_setup_malloc($f,$232)|0); - $234 = (((($97) + (($i$1223*2096)|0)|0)) + 2084|0); - HEAP32[$234>>2] = $233; - $235 = ($233|0)==(0|0); - if ($235) { - label = 109; - break; - } - $236 = HEAP32[$197>>2]|0; - $237 = $236 << 2; - $238 = (($237) + 4)|0; - $239 = (_setup_malloc($f,$238)|0); - $240 = (((($97) + (($i$1223*2096)|0)|0)) + 2088|0); - HEAP32[$240>>2] = $239; - $241 = ($239|0)==(0|0); - if ($241) { - label = 111; - break; - } - $242 = ((($239)) + 4|0); - HEAP32[$240>>2] = $242; - HEAP32[$239>>2] = -1; - _compute_sorted_huffman($98,$lengths$119,$values$1); - } - $243 = HEAP8[$128>>0]|0; - $244 = ($243<<24>>24)==(0); - if (!($244)) { - $245 = HEAP32[$197>>2]|0; - $246 = $245 << 2; - _setup_temp_free($f,$values$1,$246); - $247 = (((($97) + (($i$1223*2096)|0)|0)) + 32|0); - $248 = HEAP32[$247>>2]|0; - $249 = HEAP32[$197>>2]|0; - $250 = $249 << 2; - _setup_temp_free($f,$248,$250); - $251 = HEAP32[$122>>2]|0; - _setup_temp_free($f,$lengths$119,$251); - HEAP32[$247>>2] = 0; - } - _compute_accelerated_huffman($98); - $252 = (_get_bits($f,4)|0); - $253 = $252&255; - $254 = (((($97) + (($i$1223*2096)|0)|0)) + 21|0); - HEAP8[$254>>0] = $253; - $255 = $252 & 255; - $256 = ($255>>>0)>(2); - if ($256) { - label = 116; - break; - } - $257 = ($255|0)==(0); - if (!($257)) { - $258 = (_get_bits($f,32)|0); - $259 = (+_float32_unpack($258)); - $260 = (((($97) + (($i$1223*2096)|0)|0)) + 12|0); - HEAPF32[$260>>2] = $259; - $261 = (_get_bits($f,32)|0); - $262 = (+_float32_unpack($261)); - $263 = (((($97) + (($i$1223*2096)|0)|0)) + 16|0); - HEAPF32[$263>>2] = $262; - $264 = (_get_bits($f,4)|0); - $265 = (($264) + 1)|0; - $266 = $265&255; - $267 = (((($97) + (($i$1223*2096)|0)|0)) + 20|0); - HEAP8[$267>>0] = $266; - $268 = (_get_bits($f,1)|0); - $269 = $268&255; - $270 = (((($97) + (($i$1223*2096)|0)|0)) + 22|0); - HEAP8[$270>>0] = $269; - $271 = HEAP8[$254>>0]|0; - $272 = ($271<<24>>24)==(1); - $273 = HEAP32[$122>>2]|0; - $274 = HEAP32[$98>>2]|0; - if ($272) { - $275 = (_lookup1_values($273,$274)|0); - $276 = (((($97) + (($i$1223*2096)|0)|0)) + 24|0); - HEAP32[$276>>2] = $275; - } else { - $277 = Math_imul($274, $273)|0; - $278 = (((($97) + (($i$1223*2096)|0)|0)) + 24|0); - HEAP32[$278>>2] = $277; - } - $279 = (((($97) + (($i$1223*2096)|0)|0)) + 24|0); - $280 = HEAP32[$279>>2]|0; - $281 = ($280|0)==(0); - if ($281) { - label = 122; - break; - } - $282 = $280 << 1; - $283 = (_setup_temp_malloc($f,$282)|0); - $284 = ($283|0)==(0|0); - if ($284) { - label = 125; - break; - } - $285 = HEAP32[$279>>2]|0; - $286 = ($285|0)>(0); - if ($286) { - $j$2211 = 0; - while(1) { - $287 = HEAP8[$267>>0]|0; - $288 = $287&255; - $289 = (_get_bits($f,$288)|0); - $290 = ($289|0)==(-1); - if ($290) { - $$lcssa498 = $279;$$lcssa503 = $283; - label = 127; - break L102; - } - $293 = $289&65535; - $294 = (($283) + ($j$2211<<1)|0); - HEAP16[$294>>1] = $293; - $295 = (($j$2211) + 1)|0; - $296 = HEAP32[$279>>2]|0; - $297 = ($295|0)<($296|0); - if ($297) { - $j$2211 = $295; - } else { - $$lcssa64 = $296; - break; - } - } - } else { - $$lcssa64 = $285; - } - $298 = HEAP8[$254>>0]|0; - $299 = ($298<<24>>24)==(1); - do { - if ($299) { - $300 = HEAP8[$128>>0]|0; - $301 = ($300<<24>>24)!=(0); - if ($301) { - $302 = HEAP32[$197>>2]|0; - $303 = ($302|0)==(0); - if ($303) { - break; - } - $304 = $302 << 2; - $305 = HEAP32[$98>>2]|0; - $306 = Math_imul($304, $305)|0; - $307 = (_setup_malloc($f,$306)|0); - $308 = (((($97) + (($i$1223*2096)|0)|0)) + 28|0); - HEAP32[$308>>2] = $307; - } else { - $309 = HEAP32[$122>>2]|0; - $310 = $309 << 2; - $311 = HEAP32[$98>>2]|0; - $312 = Math_imul($310, $311)|0; - $313 = (_setup_malloc($f,$312)|0); - $314 = (((($97) + (($i$1223*2096)|0)|0)) + 28|0); - HEAP32[$314>>2] = $313; - } - $315 = (((($97) + (($i$1223*2096)|0)|0)) + 28|0); - $316 = HEAP32[$315>>2]|0; - $317 = ($316|0)==(0|0); - if ($317) { - $$lcssa500 = $279;$$lcssa505 = $283; - label = 135; - break L102; - } - $$ = $301 ? $197 : $122; - $320 = HEAP32[$$>>2]|0; - $321 = ($320|0)>(0); - if ($321) { - $322 = (((($97) + (($i$1223*2096)|0)|0)) + 2088|0); - $323 = HEAP32[$98>>2]|0; - $j$3219 = 0;$last$0218 = 0.0; - while(1) { - if ($301) { - $324 = HEAP32[$322>>2]|0; - $325 = (($324) + ($j$3219<<2)|0); - $326 = HEAP32[$325>>2]|0; - $330 = $326; - } else { - $330 = $j$3219; - } - $327 = Math_imul($323, $j$3219)|0; - $div$0$ph = 1;$k$0$ph = 0;$last$1$ph = $last$0218; - L197: while(1) { - $k$0 = $k$0$ph;$last$1 = $last$1$ph; - while(1) { - $328 = ($k$0|0)<($323|0); - if (!($328)) { - $last$1$lcssa = $last$1; - break L197; - } - $329 = (($330>>>0) / ($div$0$ph>>>0))&-1; - $331 = HEAP32[$279>>2]|0; - $332 = (($329>>>0) % ($331>>>0))&-1; - $333 = (($283) + ($332<<1)|0); - $334 = HEAP16[$333>>1]|0; - $335 = $334&65535; - $336 = (+($335|0)); - $337 = +HEAPF32[$263>>2]; - $338 = $337 * $336; - $339 = +HEAPF32[$260>>2]; - $340 = $339 + $338; - $341 = $last$1 + $340; - $342 = (($327) + ($k$0))|0; - $343 = HEAP32[$315>>2]|0; - $344 = (($343) + ($342<<2)|0); - HEAPF32[$344>>2] = $341; - $345 = HEAP8[$270>>0]|0; - $346 = ($345<<24>>24)==(0); - $last$1$ = $346 ? $last$1 : $341; - $347 = (($k$0) + 1)|0; - $348 = HEAP32[$98>>2]|0; - $349 = ($347|0)<($348|0); - if ($349) { - $$lcssa464 = $347;$last$1$$lcssa = $last$1$; - break; - } else { - $k$0 = $347;$last$1 = $last$1$; - } - } - $350 = HEAP32[$279>>2]|0; - $351 = (4294967295 / ($350>>>0))&-1; - $352 = ($div$0$ph>>>0)>($351>>>0); - if ($352) { - $$lcssa465 = $350;$$lcssa506 = $283; - label = 145; - break L102; - } - $354 = Math_imul($350, $div$0$ph)|0; - $div$0$ph = $354;$k$0$ph = $$lcssa464;$last$1$ph = $last$1$$lcssa; - } - $355 = (($j$3219) + 1)|0; - $356 = ($355|0)<($320|0); - if ($356) { - $j$3219 = $355;$last$0218 = $last$1$lcssa; - } else { - break; - } - } - } - HEAP8[$254>>0] = 2; - } else { - $357 = $$lcssa64 << 2; - $358 = (_setup_malloc($f,$357)|0); - $359 = (((($97) + (($i$1223*2096)|0)|0)) + 28|0); - HEAP32[$359>>2] = $358; - $360 = ($358|0)==(0|0); - $361 = HEAP32[$279>>2]|0; - if ($360) { - $$lcssa504 = $283;$$lcssa507 = $361; - label = 152; - break L102; - } - $362 = ($361|0)>(0); - if (!($362)) { - break; - } - $363 = HEAP32[$359>>2]|0; - $364 = HEAP8[$270>>0]|0; - $365 = ($364<<24>>24)==(0); - $366 = HEAP32[$279>>2]|0; - $j$4216 = 0;$last2$0215 = 0.0; - while(1) { - $368 = (($283) + ($j$4216<<1)|0); - $369 = HEAP16[$368>>1]|0; - $370 = $369&65535; - $371 = (+($370|0)); - $372 = +HEAPF32[$263>>2]; - $373 = $372 * $371; - $374 = +HEAPF32[$260>>2]; - $375 = $374 + $373; - $376 = $last2$0215 + $375; - $377 = (($363) + ($j$4216<<2)|0); - HEAPF32[$377>>2] = $376; - $last2$0$ = $365 ? $last2$0215 : $376; - $378 = (($j$4216) + 1)|0; - $379 = ($378|0)<($366|0); - if ($379) { - $j$4216 = $378;$last2$0215 = $last2$0$; - } else { - break; - } - } - } - } while(0); - $380 = HEAP32[$279>>2]|0; - $381 = $380 << 1; - _setup_temp_free($f,$283,$381); - } - $382 = (($i$1223) + 1)|0; - $383 = HEAP32[$86>>2]|0; - $384 = ($382|0)<($383|0); - if ($384) { - $i$1223 = $382; - } else { - break L100; - } - } - switch (label|0) { - case 52: { - _error($f,20); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - break; - } - case 54: { - _error($f,20); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - break; - } - case 56: { - _error($f,20); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - break; - } - case 61: { - _error($f,20); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - break; - } - case 67: { - _error($f,3); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - break; - } - case 72: { - _error($f,20); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - break; - } - case 77: { - _error($f,20); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - break; - } - case 85: { - _error($f,3); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - break; - } - case 93: { - _error($f,3); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - break; - } - case 96: { - _error($f,3); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - break; - } - case 98: { - _error($f,3); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - break; - } - case 100: { - _error($f,3); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - break; - } - case 104: { - $227 = HEAP8[$$lcssa475>>0]|0; - $228 = ($227<<24>>24)==(0); - if (!($228)) { - _setup_temp_free($f,$values$1$lcssa,0); - } - _error($f,20); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - break; - } - case 109: { - _error($f,3); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - break; - } - case 111: { - _error($f,3); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - break; - } - case 116: { - _error($f,20); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - break; - } - case 122: { - _error($f,20); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - break; - } - case 125: { - _error($f,3); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - break; - } - case 127: { - $291 = HEAP32[$$lcssa498>>2]|0; - $292 = $291 << 1; - _setup_temp_free($f,$$lcssa503,$292); - _error($f,20); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - break; - } - case 135: { - $318 = HEAP32[$$lcssa500>>2]|0; - $319 = $318 << 1; - _setup_temp_free($f,$$lcssa505,$319); - _error($f,3); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - break; - } - case 145: { - $353 = $$lcssa465 << 1; - _setup_temp_free($f,$$lcssa506,$353); - _error($f,20); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - break; - } - case 152: { - $367 = $$lcssa507 << 1; - _setup_temp_free($f,$$lcssa504,$367); - _error($f,3); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - break; - } - } - } - } while(0); - $385 = (_get_bits($f,6)|0); - $386 = (($385) + 1)|0; - $387 = $386 & 255; - $388 = ($387|0)==(0); - L262: do { - if (!($388)) { - $i$2194 = 0; - while(1) { - $391 = (_get_bits($f,16)|0); - $392 = ($391|0)==(0); - $389 = (($i$2194) + 1)|0; - if (!($392)) { - break; - } - $390 = ($389|0)<($387|0); - if ($390) { - $i$2194 = $389; - } else { - break L262; - } - } - _error($f,20); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - } while(0); - $393 = (_get_bits($f,6)|0); - $394 = (($393) + 1)|0; - $395 = ((($f)) + 128|0); - HEAP32[$395>>2] = $394; - $396 = ($394*1596)|0; - $397 = (_setup_malloc($f,$396)|0); - $398 = ((($f)) + 260|0); - HEAP32[$398>>2] = $397; - $399 = ($397|0)==(0|0); - if ($399) { - _error($f,3); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - $400 = HEAP32[$395>>2]|0; - $401 = ($400|0)>(0); - do { - if ($401) { - $i$3189 = 0;$longest_floorlist$0188 = 0; - L275: while(1) { - $402 = (_get_bits($f,16)|0); - $403 = $402&65535; - $404 = (((($f)) + 132|0) + ($i$3189<<1)|0); - HEAP16[$404>>1] = $403; - $405 = $402 & 65535; - $406 = ($405>>>0)>(1); - if ($406) { - label = 165; - break; - } - $407 = ($405|0)==(0); - if ($407) { - $i$3189$lcssa458 = $i$3189; - label = 167; - break; - } - $437 = HEAP32[$398>>2]|0; - $438 = (_get_bits($f,5)|0); - $439 = $438&255; - $440 = (($437) + (($i$3189*1596)|0)|0); - HEAP8[$440>>0] = $439; - $441 = $438 & 255; - $442 = ($441|0)==(0); - do { - if (!($442)) { - $j$6159 = 0;$max_class$0158 = -1; - while(1) { - $444 = (_get_bits($f,4)|0); - $445 = $444&255; - $446 = ((((($437) + (($i$3189*1596)|0)|0)) + 1|0) + ($j$6159)|0); - HEAP8[$446>>0] = $445; - $447 = $444 & 255; - $448 = ($447|0)>($max_class$0158|0); - $$max_class$0 = $448 ? $447 : $max_class$0158; - $449 = (($j$6159) + 1)|0; - $450 = HEAP8[$440>>0]|0; - $451 = $450&255; - $452 = ($449|0)<($451|0); - if ($452) { - $j$6159 = $449;$max_class$0158 = $$max_class$0; - } else { - $$max_class$0$lcssa = $$max_class$0; - break; - } - } - $443 = ($$max_class$0$lcssa|0)<(0); - if ($443) { - break; - } else { - $j$7166 = 0; - } - while(1) { - $453 = (_get_bits($f,3)|0); - $454 = (($453) + 1)|0; - $455 = $454&255; - $456 = ((((($437) + (($i$3189*1596)|0)|0)) + 33|0) + ($j$7166)|0); - HEAP8[$456>>0] = $455; - $457 = (_get_bits($f,2)|0); - $458 = $457&255; - $459 = ((((($437) + (($i$3189*1596)|0)|0)) + 49|0) + ($j$7166)|0); - HEAP8[$459>>0] = $458; - $460 = ($458<<24>>24)==(0); - if ($460) { - $k$1163 = 0; - label = 178; - } else { - $462 = (_get_bits($f,8)|0); - $463 = $462&255; - $464 = ((((($437) + (($i$3189*1596)|0)|0)) + 65|0) + ($j$7166)|0); - HEAP8[$464>>0] = $463; - $465 = $462 & 255; - $466 = HEAP32[$86>>2]|0; - $467 = ($465|0)<($466|0); - if (!($467)) { - label = 176; - break L275; - } - $$pr286 = HEAP8[$459>>0]|0; - $461 = ($$pr286<<24>>24)==(31); - if (!($461)) { - $k$1163 = 0; - label = 178; - } - } - if ((label|0) == 178) { - while(1) { - label = 0; - $473 = (_get_bits($f,8)|0); - $474 = (($473) + 65535)|0; - $475 = $474&65535; - $476 = (((((($437) + (($i$3189*1596)|0)|0)) + 82|0) + ($j$7166<<4)|0) + ($k$1163<<1)|0); - HEAP16[$476>>1] = $475; - $sext = $474 << 16; - $477 = $sext >> 16; - $478 = HEAP32[$86>>2]|0; - $479 = ($477|0)<($478|0); - $471 = (($k$1163) + 1)|0; - if (!($479)) { - label = 179; - break L275; - } - $468 = HEAP8[$459>>0]|0; - $469 = $468&255; - $470 = 1 << $469; - $472 = ($471|0)<($470|0); - if ($472) { - $k$1163 = $471; - label = 178; - } else { - break; - } - } - } - $480 = (($j$7166) + 1)|0; - $481 = ($j$7166|0)<($$max_class$0$lcssa|0); - if ($481) { - $j$7166 = $480; - } else { - break; - } - } - } - } while(0); - $482 = (_get_bits($f,2)|0); - $483 = (($482) + 1)|0; - $484 = $483&255; - $485 = (((($437) + (($i$3189*1596)|0)|0)) + 1588|0); - HEAP8[$485>>0] = $484; - $486 = (_get_bits($f,4)|0); - $487 = $486&255; - $488 = (((($437) + (($i$3189*1596)|0)|0)) + 1589|0); - HEAP8[$488>>0] = $487; - $489 = (((($437) + (($i$3189*1596)|0)|0)) + 338|0); - HEAP16[$489>>1] = 0; - $490 = HEAP8[$488>>0]|0; - $491 = $490&255; - $492 = 1 << $491; - $493 = $492&65535; - $494 = (((($437) + (($i$3189*1596)|0)|0)) + 340|0); - HEAP16[$494>>1] = $493; - $495 = (((($437) + (($i$3189*1596)|0)|0)) + 1592|0); - HEAP32[$495>>2] = 2; - $496 = HEAP8[$440>>0]|0; - $497 = ($496<<24>>24)==(0); - if ($497) { - $j$9177 = 0; - label = 186; - } else { - $j$8174 = 0; - while(1) { - $499 = ((((($437) + (($i$3189*1596)|0)|0)) + 1|0) + ($j$8174)|0); - $500 = HEAP8[$499>>0]|0; - $501 = $500&255; - $502 = ((((($437) + (($i$3189*1596)|0)|0)) + 33|0) + ($501)|0); - $503 = HEAP8[$502>>0]|0; - $504 = ($503<<24>>24)==(0); - if (!($504)) { - $k$2170 = 0; - while(1) { - $505 = HEAP8[$488>>0]|0; - $506 = $505&255; - $507 = (_get_bits($f,$506)|0); - $508 = $507&65535; - $509 = HEAP32[$495>>2]|0; - $510 = ((((($437) + (($i$3189*1596)|0)|0)) + 338|0) + ($509<<1)|0); - HEAP16[$510>>1] = $508; - $511 = HEAP32[$495>>2]|0; - $512 = (($511) + 1)|0; - HEAP32[$495>>2] = $512; - $513 = (($k$2170) + 1)|0; - $514 = HEAP8[$502>>0]|0; - $515 = $514&255; - $516 = ($513|0)<($515|0); - if ($516) { - $k$2170 = $513; - } else { - break; - } - } - } - $517 = (($j$8174) + 1)|0; - $518 = HEAP8[$440>>0]|0; - $519 = $518&255; - $520 = ($517|0)<($519|0); - if ($520) { - $j$8174 = $517; - } else { - break; - } - } - $$pr287 = HEAP32[$495>>2]|0; - $498 = ($$pr287|0)>(0); - if ($498) { - $j$9177 = 0; - label = 186; - } else { - $$lcssa51 = $$pr287; - } - } - if ((label|0) == 186) { - while(1) { - label = 0; - $521 = ((((($437) + (($i$3189*1596)|0)|0)) + 338|0) + ($j$9177<<1)|0); - $522 = HEAP16[$521>>1]|0; - $523 = (($p) + ($j$9177<<2)|0); - HEAP16[$523>>1] = $522; - $524 = $j$9177&65535; - $525 = (((($p) + ($j$9177<<2)|0)) + 2|0); - HEAP16[$525>>1] = $524; - $526 = (($j$9177) + 1)|0; - $527 = HEAP32[$495>>2]|0; - $528 = ($526|0)<($527|0); - if ($528) { - $j$9177 = $526; - label = 186; - } else { - $$lcssa51 = $527; - break; - } - } - } - _qsort($p,$$lcssa51,4,1); - $529 = HEAP32[$495>>2]|0; - $530 = ($529|0)>(0); - do { - if ($530) { - $j$10181 = 0; - while(1) { - $532 = (((($p) + ($j$10181<<2)|0)) + 2|0); - $533 = HEAP16[$532>>1]|0; - $534 = $533&255; - $535 = ((((($437) + (($i$3189*1596)|0)|0)) + 838|0) + ($j$10181)|0); - HEAP8[$535>>0] = $534; - $536 = (($j$10181) + 1)|0; - $537 = HEAP32[$495>>2]|0; - $538 = ($536|0)<($537|0); - if ($538) { - $j$10181 = $536; - } else { - $$lcssa456 = $537; - break; - } - } - $531 = ($$lcssa456|0)>(2); - if ($531) { - $j$11184 = 2; - } else { - $$lcssa52 = $$lcssa456; - break; - } - while(1) { - _neighbors($489,$j$11184,$low,$hi); - $539 = HEAP32[$low>>2]|0; - $540 = $539&255; - $541 = ((((($437) + (($i$3189*1596)|0)|0)) + 1088|0) + ($j$11184<<1)|0); - HEAP8[$541>>0] = $540; - $542 = HEAP32[$hi>>2]|0; - $543 = $542&255; - $544 = ((((((($437) + (($i$3189*1596)|0)|0)) + 1088|0) + ($j$11184<<1)|0)) + 1|0); - HEAP8[$544>>0] = $543; - $545 = (($j$11184) + 1)|0; - $546 = HEAP32[$495>>2]|0; - $547 = ($545|0)<($546|0); - if ($547) { - $j$11184 = $545; - } else { - $$lcssa52 = $546; - break; - } - } - } else { - $$lcssa52 = $529; - } - } while(0); - $548 = ($$lcssa52|0)>($longest_floorlist$0188|0); - $$longest_floorlist$0 = $548 ? $$lcssa52 : $longest_floorlist$0188; - $549 = (($i$3189) + 1)|0; - $550 = HEAP32[$395>>2]|0; - $551 = ($549|0)<($550|0); - if ($551) { - $i$3189 = $549;$longest_floorlist$0188 = $$longest_floorlist$0; - } else { - $$longest_floorlist$0$lcssa = $$longest_floorlist$0; - label = 193; - break; - } - } - if ((label|0) == 165) { - _error($f,20); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - else if ((label|0) == 167) { - $408 = HEAP32[$398>>2]|0; - $409 = (_get_bits($f,8)|0); - $410 = $409&255; - $411 = (($408) + (($i$3189$lcssa458*1596)|0)|0); - HEAP8[$411>>0] = $410; - $412 = (_get_bits($f,16)|0); - $413 = $412&65535; - $414 = (((($408) + (($i$3189$lcssa458*1596)|0)|0)) + 2|0); - HEAP16[$414>>1] = $413; - $415 = (_get_bits($f,16)|0); - $416 = $415&65535; - $417 = (((($408) + (($i$3189$lcssa458*1596)|0)|0)) + 4|0); - HEAP16[$417>>1] = $416; - $418 = (_get_bits($f,6)|0); - $419 = $418&255; - $420 = (((($408) + (($i$3189$lcssa458*1596)|0)|0)) + 6|0); - HEAP8[$420>>0] = $419; - $421 = (_get_bits($f,8)|0); - $422 = $421&255; - $423 = (((($408) + (($i$3189$lcssa458*1596)|0)|0)) + 7|0); - HEAP8[$423>>0] = $422; - $424 = (_get_bits($f,4)|0); - $425 = (($424) + 1)|0; - $426 = $425&255; - $427 = (((($408) + (($i$3189$lcssa458*1596)|0)|0)) + 8|0); - HEAP8[$427>>0] = $426; - $428 = $425 & 255; - $429 = ($428|0)==(0); - if (!($429)) { - $j$5108 = 0; - while(1) { - $430 = (_get_bits($f,8)|0); - $431 = $430&255; - $$sum = (($j$5108) + 8)|0; - $432 = ((((($408) + (($i$3189$lcssa458*1596)|0)|0)) + 1|0) + ($$sum)|0); - HEAP8[$432>>0] = $431; - $433 = (($j$5108) + 1)|0; - $434 = HEAP8[$427>>0]|0; - $435 = $434&255; - $436 = ($433|0)<($435|0); - if ($436) { - $j$5108 = $433; - } else { - break; - } - } - } - _error($f,4); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - else if ((label|0) == 176) { - _error($f,20); - } - else if ((label|0) == 179) { - _error($f,20); - } - else if ((label|0) == 193) { - $phitmp233 = $$longest_floorlist$0$lcssa << 1; - $longest_floorlist$0$lcssa = $phitmp233; - break; - } - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } else { - $longest_floorlist$0$lcssa = 0; - } - } while(0); - $552 = (_get_bits($f,6)|0); - $553 = (($552) + 1)|0; - $554 = ((($f)) + 264|0); - HEAP32[$554>>2] = $553; - $555 = ($553*24)|0; - $556 = (_setup_malloc($f,$555)|0); - $557 = ((($f)) + 396|0); - HEAP32[$557>>2] = $556; - $558 = ($556|0)==(0|0); - if ($558) { - _error($f,3); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - $559 = HEAP32[$554>>2]|0; - $560 = ($559*24)|0; - _memset(($556|0),0,($560|0))|0; - $561 = HEAP32[$554>>2]|0; - $562 = ($561|0)>(0); - L332: do { - if ($562) { - $i$4154 = 0; - L334: while(1) { - $563 = HEAP32[$557>>2]|0; - $564 = (_get_bits($f,16)|0); - $565 = $564&65535; - $566 = (((($f)) + 268|0) + ($i$4154<<1)|0); - HEAP16[$566>>1] = $565; - $567 = $564 & 65535; - $568 = ($567>>>0)>(2); - if ($568) { - label = 199; - break; - } - $569 = (_get_bits($f,24)|0); - $570 = (($563) + (($i$4154*24)|0)|0); - HEAP32[$570>>2] = $569; - $571 = (_get_bits($f,24)|0); - $572 = (((($563) + (($i$4154*24)|0)|0)) + 4|0); - HEAP32[$572>>2] = $571; - $573 = HEAP32[$570>>2]|0; - $574 = ($571>>>0)<($573>>>0); - if ($574) { - label = 201; - break; - } - $575 = (_get_bits($f,24)|0); - $576 = (($575) + 1)|0; - $577 = (((($563) + (($i$4154*24)|0)|0)) + 8|0); - HEAP32[$577>>2] = $576; - $578 = (_get_bits($f,6)|0); - $579 = (($578) + 1)|0; - $580 = $579&255; - $581 = (((($563) + (($i$4154*24)|0)|0)) + 12|0); - HEAP8[$581>>0] = $580; - $582 = (_get_bits($f,8)|0); - $583 = $582&255; - $584 = (((($563) + (($i$4154*24)|0)|0)) + 13|0); - HEAP8[$584>>0] = $583; - $585 = $582 & 255; - $586 = HEAP32[$86>>2]|0; - $587 = ($585|0)<($586|0); - if (!($587)) { - label = 204; - break; - } - $588 = HEAP8[$581>>0]|0; - $589 = $588&255; - $590 = ($588<<24>>24)==(0); - if ($590) { - $$lcssa = $589; - } else { - $j$12138 = 0; - while(1) { - $591 = (_get_bits($f,3)|0); - $592 = (_get_bits($f,1)|0); - $593 = ($592|0)==(0); - if ($593) { - $high_bits$0 = 0; - } else { - $594 = (_get_bits($f,5)|0); - $high_bits$0 = $594; - } - $595 = $high_bits$0 << 3; - $596 = (($595) + ($591))|0; - $597 = $596&255; - $598 = (($p) + ($j$12138)|0); - HEAP8[$598>>0] = $597; - $599 = (($j$12138) + 1)|0; - $600 = HEAP8[$581>>0]|0; - $601 = $600&255; - $602 = ($599|0)<($601|0); - if ($602) { - $j$12138 = $599; - } else { - $$lcssa = $601; - break; - } - } - } - $603 = $$lcssa << 4; - $604 = (_setup_malloc($f,$603)|0); - $605 = (((($563) + (($i$4154*24)|0)|0)) + 20|0); - HEAP32[$605>>2] = $604; - $606 = ($604|0)==(0|0); - if ($606) { - label = 210; - break; - } - $607 = HEAP8[$581>>0]|0; - $608 = ($607<<24>>24)==(0); - if (!($608)) { - $j$13143 = 0; - while(1) { - $609 = (($p) + ($j$13143)|0); - $610 = HEAP8[$609>>0]|0; - $611 = $610&255; - $k$3142 = 0; - while(1) { - $612 = 1 << $k$3142; - $613 = $611 & $612; - $614 = ($613|0)==(0); - if ($614) { - $625 = HEAP32[$605>>2]|0; - $626 = ((($625) + ($j$13143<<4)|0) + ($k$3142<<1)|0); - HEAP16[$626>>1] = -1; - } else { - $615 = (_get_bits($f,8)|0); - $616 = $615&65535; - $617 = HEAP32[$605>>2]|0; - $618 = ((($617) + ($j$13143<<4)|0) + ($k$3142<<1)|0); - HEAP16[$618>>1] = $616; - $619 = HEAP32[$605>>2]|0; - $620 = ((($619) + ($j$13143<<4)|0) + ($k$3142<<1)|0); - $621 = HEAP16[$620>>1]|0; - $622 = $621 << 16 >> 16; - $623 = HEAP32[$86>>2]|0; - $624 = ($622|0)<($623|0); - if (!($624)) { - label = 214; - break L334; - } - } - $627 = (($k$3142) + 1)|0; - $628 = ($627|0)<(8); - if ($628) { - $k$3142 = $627; - } else { - break; - } - } - $629 = (($j$13143) + 1)|0; - $630 = HEAP8[$581>>0]|0; - $631 = $630&255; - $632 = ($629|0)<($631|0); - if ($632) { - $j$13143 = $629; - } else { - break; - } - } - } - $633 = HEAP8[$584>>0]|0; - $634 = $633&255; - $635 = HEAP32[$89>>2]|0; - $636 = (((($635) + (($634*2096)|0)|0)) + 4|0); - $637 = HEAP32[$636>>2]|0; - $638 = $637 << 2; - $639 = (_setup_malloc($f,$638)|0); - $640 = (((($563) + (($i$4154*24)|0)|0)) + 16|0); - HEAP32[$640>>2] = $639; - $641 = ($639|0)==(0|0); - if ($641) { - label = 219; - break; - } - $642 = HEAP8[$584>>0]|0; - $643 = $642&255; - $644 = HEAP32[$89>>2]|0; - $645 = (((($644) + (($643*2096)|0)|0)) + 4|0); - $646 = HEAP32[$645>>2]|0; - $647 = $646 << 2; - _memset(($639|0),0,($647|0))|0; - $648 = HEAP8[$584>>0]|0; - $649 = $648&255; - $650 = HEAP32[$89>>2]|0; - $651 = (((($650) + (($649*2096)|0)|0)) + 4|0); - $652 = HEAP32[$651>>2]|0; - $653 = ($652|0)>(0); - if ($653) { - $655 = $650;$656 = $649;$j$14150 = 0; - while(1) { - $654 = (($655) + (($656*2096)|0)|0); - $657 = HEAP32[$654>>2]|0; - $658 = (_setup_malloc($f,$657)|0); - $659 = HEAP32[$640>>2]|0; - $660 = (($659) + ($j$14150<<2)|0); - HEAP32[$660>>2] = $658; - $661 = HEAP32[$640>>2]|0; - $662 = (($661) + ($j$14150<<2)|0); - $663 = HEAP32[$662>>2]|0; - $664 = ($663|0)==(0|0); - if ($664) { - label = 223; - break L334; - } - $665 = ($657|0)>(0); - if ($665) { - $k$4147$in = $657;$temp$0146 = $j$14150; - while(1) { - $k$4147 = (($k$4147$in) + -1)|0; - $666 = HEAP8[$581>>0]|0; - $667 = $666&255; - $668 = (($temp$0146|0) % ($667|0))&-1; - $669 = $668&255; - $670 = HEAP32[$640>>2]|0; - $671 = (($670) + ($j$14150<<2)|0); - $672 = HEAP32[$671>>2]|0; - $673 = (($672) + ($k$4147)|0); - HEAP8[$673>>0] = $669; - $674 = HEAP8[$581>>0]|0; - $675 = $674&255; - $676 = (($temp$0146|0) / ($675|0))&-1; - $677 = ($k$4147$in|0)>(1); - if ($677) { - $k$4147$in = $k$4147;$temp$0146 = $676; - } else { - break; - } - } - } - $678 = (($j$14150) + 1)|0; - $679 = HEAP8[$584>>0]|0; - $680 = $679&255; - $681 = HEAP32[$89>>2]|0; - $682 = (((($681) + (($680*2096)|0)|0)) + 4|0); - $683 = HEAP32[$682>>2]|0; - $684 = ($678|0)<($683|0); - if ($684) { - $655 = $681;$656 = $680;$j$14150 = $678; - } else { - break; - } - } - } - $685 = (($i$4154) + 1)|0; - $686 = HEAP32[$554>>2]|0; - $687 = ($685|0)<($686|0); - if ($687) { - $i$4154 = $685; - } else { - break L332; - } - } - if ((label|0) == 199) { - _error($f,20); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - else if ((label|0) == 201) { - _error($f,20); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - else if ((label|0) == 204) { - _error($f,20); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - else if ((label|0) == 210) { - _error($f,3); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - else if ((label|0) == 214) { - _error($f,20); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - else if ((label|0) == 219) { - _error($f,3); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - else if ((label|0) == 223) { - _error($f,3); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - } - } while(0); - $688 = (_get_bits($f,6)|0); - $689 = (($688) + 1)|0; - $690 = ((($f)) + 400|0); - HEAP32[$690>>2] = $689; - $691 = ($689*40)|0; - $692 = (_setup_malloc($f,$691)|0); - $693 = ((($f)) + 404|0); - HEAP32[$693>>2] = $692; - $694 = ($692|0)==(0|0); - if ($694) { - _error($f,3); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - $695 = HEAP32[$690>>2]|0; - $696 = ($695*40)|0; - _memset(($692|0),0,($696|0))|0; - $697 = HEAP32[$690>>2]|0; - $698 = ($697|0)>(0); - L388: do { - if ($698) { - $i$5133 = 0; - L389: while(1) { - $699 = HEAP32[$693>>2]|0; - $700 = (($699) + (($i$5133*40)|0)|0); - $701 = (_get_bits($f,16)|0); - $702 = ($701|0)==(0); - if (!($702)) { - label = 231; - break; - } - $703 = HEAP32[$27>>2]|0; - $704 = ($703*3)|0; - $705 = (_setup_malloc($f,$704)|0); - $706 = (((($699) + (($i$5133*40)|0)|0)) + 4|0); - HEAP32[$706>>2] = $705; - $707 = ($705|0)==(0|0); - if ($707) { - label = 233; - break; - } - $708 = (_get_bits($f,1)|0); - $709 = ($708|0)==(0); - if ($709) { - $714 = (((($699) + (($i$5133*40)|0)|0)) + 8|0); - HEAP8[$714>>0] = 1; - } else { - $710 = (_get_bits($f,4)|0); - $711 = (($710) + 1)|0; - $712 = $711&255; - $713 = (((($699) + (($i$5133*40)|0)|0)) + 8|0); - HEAP8[$713>>0] = $712; - } - $715 = (((($699) + (($i$5133*40)|0)|0)) + 8|0); - $716 = (_get_bits($f,1)|0); - $717 = ($716|0)==(0); - do { - if ($717) { - HEAP16[$700>>1] = 0; - } else { - $718 = (_get_bits($f,8)|0); - $719 = (($718) + 1)|0; - $720 = $719&65535; - HEAP16[$700>>1] = $720; - $721 = $719 & 65535; - $722 = ($721|0)==(0); - if ($722) { - break; - } else { - $k$5122 = 0; - } - while(1) { - $727 = HEAP32[$27>>2]|0; - $728 = (($727) + -1)|0; - $729 = (_ilog($728)|0); - $730 = (_get_bits($f,$729)|0); - $731 = $730&255; - $732 = HEAP32[$706>>2]|0; - $733 = (($732) + (($k$5122*3)|0)|0); - HEAP8[$733>>0] = $731; - $734 = HEAP32[$27>>2]|0; - $735 = (($734) + -1)|0; - $736 = (_ilog($735)|0); - $737 = (_get_bits($f,$736)|0); - $738 = $737&255; - $739 = HEAP32[$706>>2]|0; - $740 = (((($739) + (($k$5122*3)|0)|0)) + 1|0); - HEAP8[$740>>0] = $738; - $741 = HEAP32[$706>>2]|0; - $742 = (($741) + (($k$5122*3)|0)|0); - $743 = HEAP8[$742>>0]|0; - $744 = $743&255; - $745 = HEAP32[$27>>2]|0; - $746 = ($744|0)<($745|0); - if (!($746)) { - label = 241; - break L389; - } - $747 = (((($741) + (($k$5122*3)|0)|0)) + 1|0); - $748 = HEAP8[$747>>0]|0; - $749 = $748&255; - $750 = ($749|0)<($745|0); - if (!($750)) { - label = 243; - break L389; - } - $751 = ($743<<24>>24)==($748<<24>>24); - $725 = (($k$5122) + 1)|0; - if ($751) { - label = 245; - break L389; - } - $723 = HEAP16[$700>>1]|0; - $724 = $723&65535; - $726 = ($725|0)<($724|0); - if ($726) { - $k$5122 = $725; - } else { - break; - } - } - } - } while(0); - $752 = (_get_bits($f,2)|0); - $753 = ($752|0)==(0); - if (!($753)) { - label = 248; - break; - } - $754 = HEAP8[$715>>0]|0; - $755 = ($754&255)>(1); - $756 = HEAP32[$27>>2]|0; - $757 = ($756|0)>(0); - do { - if ($755) { - if ($757) { - $j$15127 = 0; - } else { - break; - } - while(1) { - $765 = (_get_bits($f,4)|0); - $766 = $765&255; - $767 = HEAP32[$706>>2]|0; - $768 = (((($767) + (($j$15127*3)|0)|0)) + 2|0); - HEAP8[$768>>0] = $766; - $769 = HEAP32[$706>>2]|0; - $770 = (((($769) + (($j$15127*3)|0)|0)) + 2|0); - $771 = HEAP8[$770>>0]|0; - $772 = HEAP8[$715>>0]|0; - $773 = ($771&255)<($772&255); - $761 = (($j$15127) + 1)|0; - if (!($773)) { - label = 256; - break L389; - } - $760 = HEAP32[$27>>2]|0; - $762 = ($761|0)<($760|0); - if ($762) { - $j$15127 = $761; - } else { - break; - } - } - } else { - if (!($757)) { - break; - } - $758 = HEAP32[$706>>2]|0; - $759 = HEAP32[$27>>2]|0; - $j$16125 = 0; - while(1) { - $774 = (((($758) + (($j$16125*3)|0)|0)) + 2|0); - HEAP8[$774>>0] = 0; - $775 = (($j$16125) + 1)|0; - $776 = ($775|0)<($759|0); - if ($776) { - $j$16125 = $775; - } else { - break; - } - } - } - } while(0); - $763 = HEAP8[$715>>0]|0; - $764 = ($763<<24>>24)==(0); - if (!($764)) { - $j$17129 = 0; - while(1) { - (_get_bits($f,8)|0); - $781 = (_get_bits($f,8)|0); - $782 = $781&255; - $783 = ((((($699) + (($i$5133*40)|0)|0)) + 9|0) + ($j$17129)|0); - HEAP8[$783>>0] = $782; - $784 = (_get_bits($f,8)|0); - $785 = $784&255; - $786 = ((((($699) + (($i$5133*40)|0)|0)) + 24|0) + ($j$17129)|0); - HEAP8[$786>>0] = $785; - $787 = HEAP8[$783>>0]|0; - $788 = $787&255; - $789 = HEAP32[$395>>2]|0; - $790 = ($788|0)<($789|0); - if (!($790)) { - label = 260; - break L389; - } - $791 = $784 & 255; - $792 = HEAP32[$554>>2]|0; - $793 = ($791|0)<($792|0); - $779 = (($j$17129) + 1)|0; - if (!($793)) { - label = 262; - break L389; - } - $777 = HEAP8[$715>>0]|0; - $778 = $777&255; - $780 = ($779|0)<($778|0); - if ($780) { - $j$17129 = $779; - } else { - break; - } - } - } - $794 = (($i$5133) + 1)|0; - $795 = HEAP32[$690>>2]|0; - $796 = ($794|0)<($795|0); - if ($796) { - $i$5133 = $794; - } else { - break L388; - } - } - if ((label|0) == 231) { - _error($f,20); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - else if ((label|0) == 233) { - _error($f,3); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - else if ((label|0) == 241) { - _error($f,20); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - else if ((label|0) == 243) { - _error($f,20); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - else if ((label|0) == 245) { - _error($f,20); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - else if ((label|0) == 248) { - _error($f,20); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - else if ((label|0) == 256) { - _error($f,20); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - else if ((label|0) == 260) { - _error($f,20); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - else if ((label|0) == 262) { - _error($f,20); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - } - } while(0); - $797 = (_get_bits($f,6)|0); - $798 = (($797) + 1)|0; - $799 = ((($f)) + 408|0); - HEAP32[$799>>2] = $798; - $800 = ($798|0)>(0); - L443: do { - if ($800) { - $i$6118 = 0; - while(1) { - $804 = (_get_bits($f,1)|0); - $805 = $804&255; - $806 = (((($f)) + 412|0) + (($i$6118*6)|0)|0); - HEAP8[$806>>0] = $805; - $807 = (_get_bits($f,16)|0); - $808 = $807&65535; - $809 = (((((($f)) + 412|0) + (($i$6118*6)|0)|0)) + 2|0); - HEAP16[$809>>1] = $808; - $810 = (_get_bits($f,16)|0); - $811 = $810&65535; - $812 = (((((($f)) + 412|0) + (($i$6118*6)|0)|0)) + 4|0); - HEAP16[$812>>1] = $811; - $813 = (_get_bits($f,8)|0); - $814 = $813&255; - $815 = (((((($f)) + 412|0) + (($i$6118*6)|0)|0)) + 1|0); - HEAP8[$815>>0] = $814; - $816 = HEAP16[$809>>1]|0; - $817 = ($816<<16>>16)==(0); - if (!($817)) { - label = 267; - break; - } - $818 = HEAP16[$812>>1]|0; - $819 = ($818<<16>>16)==(0); - if (!($819)) { - label = 269; - break; - } - $820 = $813 & 255; - $821 = HEAP32[$690>>2]|0; - $822 = ($820|0)<($821|0); - $802 = (($i$6118) + 1)|0; - if (!($822)) { - label = 271; - break; - } - $801 = HEAP32[$799>>2]|0; - $803 = ($802|0)<($801|0); - if ($803) { - $i$6118 = $802; - } else { - break L443; - } - } - if ((label|0) == 267) { - _error($f,20); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - else if ((label|0) == 269) { - _error($f,20); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - else if ((label|0) == 271) { - _error($f,20); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - } - } while(0); - _flush_packet($f); - $823 = ((($f)) + 992|0); - HEAP32[$823>>2] = 0; - $824 = HEAP32[$27>>2]|0; - $825 = ($824|0)>(0); - L457: do { - if ($825) { - $i$7114 = 0; - while(1) { - $829 = HEAP32[$39>>2]|0; - $830 = $829 << 2; - $831 = (_setup_malloc($f,$830)|0); - $832 = (((($f)) + 800|0) + ($i$7114<<2)|0); - HEAP32[$832>>2] = $831; - $833 = HEAP32[$39>>2]|0; - $834 = $833 << 1; - $835 = $834 & 2147483646; - $836 = (_setup_malloc($f,$835)|0); - $837 = (((($f)) + 928|0) + ($i$7114<<2)|0); - HEAP32[$837>>2] = $836; - $838 = (_setup_malloc($f,$longest_floorlist$0$lcssa)|0); - $839 = (((($f)) + 996|0) + ($i$7114<<2)|0); - HEAP32[$839>>2] = $838; - $840 = HEAP32[$832>>2]|0; - $841 = ($840|0)==(0|0); - if ($841) { - break; - } - $842 = HEAP32[$837>>2]|0; - $843 = ($842|0)==(0|0); - $844 = ($838|0)==(0|0); - $or$cond14 = $844 | $843; - $827 = (($i$7114) + 1)|0; - if ($or$cond14) { - break; - } - $826 = HEAP32[$27>>2]|0; - $828 = ($827|0)<($826|0); - if ($828) { - $i$7114 = $827; - } else { - break L457; - } - } - _error($f,3); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - } while(0); - $845 = HEAP32[$37>>2]|0; - $846 = (_init_blocksize($f,0,$845)|0); - $847 = ($846|0)==(0); - if ($847) { - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - $848 = HEAP32[$39>>2]|0; - $849 = (_init_blocksize($f,1,$848)|0); - $850 = ($849|0)==(0); - if ($850) { - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - $851 = HEAP32[$37>>2]|0; - $852 = ((($f)) + 104|0); - HEAP32[$852>>2] = $851; - $853 = HEAP32[$39>>2]|0; - $854 = ((($f)) + 108|0); - HEAP32[$854>>2] = $853; - $855 = HEAP32[$39>>2]|0; - $856 = $855 << 1; - $857 = $856 & 2147483646; - $858 = HEAP32[$554>>2]|0; - $859 = ($858|0)>(0); - if ($859) { - $860 = HEAP32[$557>>2]|0; - $861 = HEAP32[$554>>2]|0; - $i9$0109 = 0;$max_part_read$0110 = 0; - while(1) { - $862 = (((($860) + (($i9$0109*24)|0)|0)) + 4|0); - $863 = HEAP32[$862>>2]|0; - $864 = (($860) + (($i9$0109*24)|0)|0); - $865 = HEAP32[$864>>2]|0; - $866 = (($863) - ($865))|0; - $867 = (((($860) + (($i9$0109*24)|0)|0)) + 8|0); - $868 = HEAP32[$867>>2]|0; - $869 = (($866>>>0) / ($868>>>0))&-1; - $870 = ($869|0)>($max_part_read$0110|0); - $$max_part_read$0 = $870 ? $869 : $max_part_read$0110; - $871 = (($i9$0109) + 1)|0; - $872 = ($871|0)<($861|0); - if ($872) { - $i9$0109 = $871;$max_part_read$0110 = $$max_part_read$0; - } else { - $$max_part_read$0$lcssa = $$max_part_read$0; - break; - } - } - $phitmp = $$max_part_read$0$lcssa << 2; - $phitmp232 = (($phitmp) + 4)|0; - $max_part_read$0$lcssa = $phitmp232; - } else { - $max_part_read$0$lcssa = 4; - } - $873 = HEAP32[$27>>2]|0; - $874 = Math_imul($873, $max_part_read$0$lcssa)|0; - $875 = ((($f)) + 12|0); - $876 = ($857>>>0)>($874>>>0); - $$15 = $876 ? $857 : $874; - HEAP32[$875>>2] = $$15; - $877 = ((($f)) + 1377|0); - HEAP8[$877>>0] = 1; - $878 = ((($f)) + 80|0); - $879 = HEAP32[$878>>2]|0; - $880 = ($879|0)==(0|0); - do { - if (!($880)) { - $881 = ((($f)) + 92|0); - $882 = HEAP32[$881>>2]|0; - $883 = ((($f)) + 84|0); - $884 = HEAP32[$883>>2]|0; - $885 = ($882|0)==($884|0); - if (!($885)) { - ___assert_fail((14222|0),(12804|0),3709,(14278|0)); - // unreachable; - } - $886 = ((($f)) + 88|0); - $887 = HEAP32[$886>>2]|0; - $888 = (($887) + 1512)|0; - $889 = HEAP32[$875>>2]|0; - $890 = (($888) + ($889))|0; - $891 = ($890>>>0)>($882>>>0); - if (!($891)) { - break; - } - _error($f,3); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - } while(0); - $892 = (_stb_vorbis_get_file_offset($f)|0); - $893 = ((($f)) + 52|0); - HEAP32[$893>>2] = $892; - $$4 = 1; - STACKTOP = sp;return ($$4|0); -} -function _vorbis_alloc($f) { - $f = $f|0; - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_setup_malloc($f,1512)|0); - return ($0|0); -} -function _vorbis_pump_first_frame($f) { - $f = $f|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $left = 0, $len = 0, $right = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $len = sp + 8|0; - $right = sp + 4|0; - $left = sp; - $0 = (_vorbis_decode_packet($f,$len,$left,$right)|0); - $1 = ($0|0)==(0); - if ($1) { - STACKTOP = sp;return; - } - $2 = HEAP32[$len>>2]|0; - $3 = HEAP32[$left>>2]|0; - $4 = HEAP32[$right>>2]|0; - (_vorbis_finish_frame($f,$2,$3,$4)|0); - STACKTOP = sp;return; -} -function _maybe_start_packet($f) { - $f = $f|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $3 = 0, $4 = 0, $5 = 0; - var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($f)) + 1380|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)==(-1); - if ($2) { - $3 = (_get8($f)|0); - $4 = ((($f)) + 96|0); - $5 = HEAP32[$4>>2]|0; - $6 = ($5|0)==(0); - if (!($6)) { - $$0 = 0; - return ($$0|0); - } - $7 = ($3<<24>>24)==(79); - if (!($7)) { - _error($f,30); - $$0 = 0; - return ($$0|0); - } - $8 = (_get8($f)|0); - $9 = ($8<<24>>24)==(103); - if (!($9)) { - _error($f,30); - $$0 = 0; - return ($$0|0); - } - $10 = (_get8($f)|0); - $11 = ($10<<24>>24)==(103); - if (!($11)) { - _error($f,30); - $$0 = 0; - return ($$0|0); - } - $12 = (_get8($f)|0); - $13 = ($12<<24>>24)==(83); - if (!($13)) { - _error($f,30); - $$0 = 0; - return ($$0|0); - } - $14 = (_start_page_no_capturepattern($f)|0); - $15 = ($14|0)==(0); - if ($15) { - $$0 = 0; - return ($$0|0); - } - $16 = ((($f)) + 1375|0); - $17 = HEAP8[$16>>0]|0; - $18 = $17 & 1; - $19 = ($18<<24>>24)==(0); - if (!($19)) { - $20 = ((($f)) + 1384|0); - HEAP32[$20>>2] = 0; - $21 = ((($f)) + 1376|0); - HEAP8[$21>>0] = 0; - _error($f,32); - $$0 = 0; - return ($$0|0); - } - } - $22 = (_start_packet($f)|0); - $$0 = $22; - return ($$0|0); -} -function _flush_packet($f) { - $f = $f|0; - var $0 = 0, $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - while(1) { - $0 = (_get8_packet_raw($f)|0); - $1 = ($0|0)==(-1); - if ($1) { - break; - } - } - return; -} -function _set_file_offset($f,$loc) { - $f = $f|0; - $loc = $loc|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($f)) + 48|0); - $1 = HEAP8[$0>>0]|0; - $2 = ($1<<24>>24)==(0); - if (!($2)) { - return; - } - $3 = ((($f)) + 96|0); - HEAP32[$3>>2] = 0; - $4 = ((($f)) + 32|0); - $5 = HEAP32[$4>>2]|0; - $6 = ($5|0)==(0|0); - if (!($6)) { - $7 = ((($f)) + 36|0); - $8 = HEAP32[$7>>2]|0; - $9 = (($8) + ($loc)|0); - $10 = ((($f)) + 40|0); - $11 = HEAP32[$10>>2]|0; - $12 = ($9>>>0)>=($11>>>0); - $13 = ($loc|0)<(0); - $or$cond1 = $13 | $12; - if ($or$cond1) { - $14 = HEAP32[$10>>2]|0; - HEAP32[$4>>2] = $14; - HEAP32[$3>>2] = 1; - return; - } else { - HEAP32[$4>>2] = $9; - return; - } - } - $15 = ((($f)) + 24|0); - $16 = HEAP32[$15>>2]|0; - $17 = (($16) + ($loc))|0; - $18 = ($17>>>0)<($loc>>>0); - $19 = ($loc|0)<(0); - $or$cond = $19 | $18; - if ($or$cond) { - HEAP32[$3>>2] = 1; - $$0 = 2147483647; - } else { - $$0 = $17; - } - $20 = ((($f)) + 20|0); - $21 = HEAP32[$20>>2]|0; - $22 = (_fseek($21,$$0,0)|0); - $23 = ($22|0)==(0); - if ($23) { - return; - } - HEAP32[$3>>2] = 1; - $24 = HEAP32[$20>>2]|0; - $25 = HEAP32[$15>>2]|0; - (_fseek($24,$25,2)|0); - return; -} -function _vorbis_find_page($f,$end,$last) { - $f = $f|0; - $end = $end|0; - $last = $last|0; - var $$ = 0, $$0 = 0, $$lcssa = 0, $$lcssa58 = 0, $$lcssa59 = 0, $$lcssa61 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0; - var $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0; - var $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0; - var $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0; - var $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0; - var $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0; - var $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $crc$011 = 0, $crc$113 = 0, $crc$2$lcssa = 0, $crc$219 = 0, $exitcond = 0, $exitcond40 = 0, $header = 0, $i$0$lcssa = 0, $i1$310 = 0, $i1$412 = 0; - var $i1$518 = 0, $len$014 = 0, $scevgep = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $header = sp; - $0 = ((($f)) + 96|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)==(0); - if (!($2)) { - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $3 = ((($f)) + 44|0); - $4 = ((($header)) + 4|0); - $5 = ((($header)) + 22|0); - $6 = ((($header)) + 23|0); - $7 = ((($header)) + 24|0); - $8 = ((($header)) + 25|0); - $9 = ((($header)) + 26|0); - $scevgep = ((($header)) + 22|0); - $10 = ((($header)) + 4|0); - $11 = ((($header)) + 5|0); - $12 = ((($header)) + 6|0); - $13 = ((($header)) + 7|0); - $14 = ((($header)) + 8|0); - $15 = ((($header)) + 9|0); - $16 = ((($header)) + 10|0); - $17 = ((($header)) + 11|0); - $18 = ((($header)) + 12|0); - $19 = ((($header)) + 13|0); - $20 = ((($header)) + 14|0); - $21 = ((($header)) + 15|0); - $22 = ((($header)) + 16|0); - $23 = ((($header)) + 17|0); - $24 = ((($header)) + 18|0); - $25 = ((($header)) + 19|0); - $26 = ((($header)) + 20|0); - $27 = ((($header)) + 21|0); - $28 = ((($header)) + 22|0); - $29 = ((($header)) + 23|0); - $30 = ((($header)) + 24|0); - $31 = ((($header)) + 25|0); - $32 = ((($header)) + 26|0); - while(1) { - $33 = (_get8($f)|0); - $34 = ($33<<24>>24)==(79); - if ($34) { - $35 = (_stb_vorbis_get_file_offset($f)|0); - $36 = (($35) + -25)|0; - $37 = HEAP32[$3>>2]|0; - $38 = ($36>>>0)>($37>>>0); - if ($38) { - $$0 = 0; - label = 29; - break; - } - $39 = (_get8($f)|0); - $40 = HEAP8[(5957)>>0]|0; - $41 = ($39<<24>>24)==($40<<24>>24); - if ($41) { - $42 = (_get8($f)|0); - $43 = HEAP8[(5958)>>0]|0; - $44 = ($42<<24>>24)==($43<<24>>24); - if ($44) { - $121 = (_get8($f)|0); - $122 = HEAP8[(5959)>>0]|0; - $123 = ($121<<24>>24)==($122<<24>>24); - $$ = $123 ? 4 : 3; - $i$0$lcssa = $$; - } else { - $i$0$lcssa = 2; - } - } else { - $i$0$lcssa = 1; - } - $45 = HEAP32[$0>>2]|0; - $46 = ($45|0)==(0); - if (!($46)) { - $$0 = 0; - label = 29; - break; - } - $47 = ($i$0$lcssa|0)==(4); - if ($47) { - $48 = HEAP32[5956>>2]|0; - HEAP32[$header>>2] = $48; - $49 = (_get8($f)|0); - HEAP8[$10>>0] = $49; - $50 = (_get8($f)|0); - HEAP8[$11>>0] = $50; - $51 = (_get8($f)|0); - HEAP8[$12>>0] = $51; - $52 = (_get8($f)|0); - HEAP8[$13>>0] = $52; - $53 = (_get8($f)|0); - HEAP8[$14>>0] = $53; - $54 = (_get8($f)|0); - HEAP8[$15>>0] = $54; - $55 = (_get8($f)|0); - HEAP8[$16>>0] = $55; - $56 = (_get8($f)|0); - HEAP8[$17>>0] = $56; - $57 = (_get8($f)|0); - HEAP8[$18>>0] = $57; - $58 = (_get8($f)|0); - HEAP8[$19>>0] = $58; - $59 = (_get8($f)|0); - HEAP8[$20>>0] = $59; - $60 = (_get8($f)|0); - HEAP8[$21>>0] = $60; - $61 = (_get8($f)|0); - HEAP8[$22>>0] = $61; - $62 = (_get8($f)|0); - HEAP8[$23>>0] = $62; - $63 = (_get8($f)|0); - HEAP8[$24>>0] = $63; - $64 = (_get8($f)|0); - HEAP8[$25>>0] = $64; - $65 = (_get8($f)|0); - HEAP8[$26>>0] = $65; - $66 = (_get8($f)|0); - HEAP8[$27>>0] = $66; - $67 = (_get8($f)|0); - HEAP8[$28>>0] = $67; - $68 = (_get8($f)|0); - HEAP8[$29>>0] = $68; - $69 = (_get8($f)|0); - HEAP8[$30>>0] = $69; - $70 = (_get8($f)|0); - HEAP8[$31>>0] = $70; - $71 = (_get8($f)|0); - HEAP8[$32>>0] = $71; - $72 = HEAP32[$0>>2]|0; - $73 = ($72|0)==(0); - if (!($73)) { - $$0 = 0; - label = 29; - break; - } - $74 = HEAP8[$4>>0]|0; - $75 = ($74<<24>>24)==(0); - if ($75) { - $76 = HEAP8[$5>>0]|0; - $77 = HEAP8[$6>>0]|0; - $78 = HEAP8[$7>>0]|0; - $79 = HEAP8[$8>>0]|0; - $80 = $79&255; - $81 = $80 << 24; - HEAP16[$scevgep>>1]=0&65535;HEAP16[$scevgep+2>>1]=0>>>16; - $82 = $78&255; - $83 = $82 << 16; - $84 = $77&255; - $85 = $84 << 8; - $86 = $76&255; - $87 = $85 | $86; - $88 = $87 | $83; - $crc$011 = 0;$i1$310 = 0; - while(1) { - $94 = (($header) + ($i1$310)|0); - $95 = HEAP8[$94>>0]|0; - $96 = (_crc32_update($crc$011,$95)|0); - $97 = (($i1$310) + 1)|0; - $exitcond = ($97|0)==(27); - if ($exitcond) { - $$lcssa = $96; - break; - } else { - $crc$011 = $96;$i1$310 = $97; - } - } - $89 = $88 | $81; - $90 = HEAP8[$9>>0]|0; - $91 = ($90<<24>>24)==(0); - if ($91) { - $crc$2$lcssa = $$lcssa; - } else { - $92 = HEAP8[$9>>0]|0; - $93 = $92&255; - $crc$113 = $$lcssa;$i1$412 = 0;$len$014 = 0; - while(1) { - $98 = (_get8($f)|0); - $99 = $98&255; - $100 = (_crc32_update($crc$113,$98)|0); - $101 = (($99) + ($len$014))|0; - $102 = (($i1$412) + 1)|0; - $103 = ($102>>>0)<($93>>>0); - if ($103) { - $crc$113 = $100;$i1$412 = $102;$len$014 = $101; - } else { - $$lcssa58 = $100;$$lcssa59 = $101; - break; - } - } - $104 = ($$lcssa59|0)==(0); - if ($104) { - $crc$2$lcssa = $$lcssa58; - } else { - $105 = HEAP32[$0>>2]|0; - $106 = ($105|0)==(0); - if ($106) { - $crc$219 = $$lcssa58;$i1$518 = 0; - } else { - $$0 = 0; - label = 29; - break; - } - while(1) { - $107 = (_get8($f)|0); - $108 = (_crc32_update($crc$219,$107)|0); - $109 = (($i1$518) + 1)|0; - $exitcond40 = ($109|0)==($$lcssa59|0); - if ($exitcond40) { - $crc$2$lcssa = $108; - break; - } else { - $crc$219 = $108;$i1$518 = $109; - } - } - } - } - $110 = ($crc$2$lcssa|0)==($89|0); - if ($110) { - $$lcssa61 = $35; - label = 20; - break; - } - } - } - _set_file_offset($f,$35); - } - $119 = HEAP32[$0>>2]|0; - $120 = ($119|0)==(0); - if (!($120)) { - $$0 = 0; - label = 29; - break; - } - } - if ((label|0) == 20) { - $111 = ($end|0)==(0|0); - if (!($111)) { - $112 = (_stb_vorbis_get_file_offset($f)|0); - HEAP32[$end>>2] = $112; - } - $113 = ($last|0)==(0|0); - do { - if (!($113)) { - $114 = ((($header)) + 5|0); - $115 = HEAP8[$114>>0]|0; - $116 = $115 & 4; - $117 = ($116<<24>>24)==(0); - if ($117) { - HEAP32[$last>>2] = 0; - break; - } else { - HEAP32[$last>>2] = 1; - break; - } - } - } while(0); - $118 = (($$lcssa61) + -1)|0; - _set_file_offset($f,$118); - $$0 = 1; - STACKTOP = sp;return ($$0|0); - } - else if ((label|0) == 29) { - STACKTOP = sp;return ($$0|0); - } - return (0)|0; -} -function _getn($z,$data,$n) { - $z = $z|0; - $data = $data|0; - $n = $n|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($z)) + 32|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)==(0|0); - if ($2) { - $10 = ((($z)) + 20|0); - $11 = HEAP32[$10>>2]|0; - $12 = (_fread($data,$n,1,$11)|0); - $13 = ($12|0)==(1); - if ($13) { - $$0 = 1; - return ($$0|0); - } - $14 = ((($z)) + 96|0); - HEAP32[$14>>2] = 1; - $$0 = 0; - return ($$0|0); - } - $3 = (($1) + ($n)|0); - $4 = ((($z)) + 40|0); - $5 = HEAP32[$4>>2]|0; - $6 = ($3>>>0)>($5>>>0); - if ($6) { - $7 = ((($z)) + 96|0); - HEAP32[$7>>2] = 1; - $$0 = 0; - return ($$0|0); - } else { - _memcpy(($data|0),($1|0),($n|0))|0; - $8 = HEAP32[$0>>2]|0; - $9 = (($8) + ($n)|0); - HEAP32[$0>>2] = $9; - $$0 = 1; - return ($$0|0); - } - return (0)|0; -} -function _get32($f) { - $f = $f|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_get8($f)|0); - $1 = $0&255; - $2 = (_get8($f)|0); - $3 = $2&255; - $4 = $3 << 8; - $5 = $4 | $1; - $6 = (_get8($f)|0); - $7 = $6&255; - $8 = $7 << 16; - $9 = $5 | $8; - $10 = (_get8($f)|0); - $11 = $10&255; - $12 = $11 << 24; - $13 = $9 | $12; - return ($13|0); -} -function _convert_channels_short_interleaved($buf_c,$buffer,$data_c,$data,$d_offset,$len) { - $buf_c = $buf_c|0; - $buffer = $buffer|0; - $data_c = $data_c|0; - $data = $data|0; - $d_offset = $d_offset|0; - $len = $len|0; - var $$017 = 0, $$1$lcssa = 0, $$19 = 0, $$2$lcssa = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0.0, $17 = 0.0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0; - var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond20 = 0, $exitcond25 = 0, $i$07 = 0, $i$1$lcssa = 0, $i$18 = 0, $j$016 = 0; - var $or$cond = 0, $or$cond3 = 0, $scevgep = 0, $scevgep21$sum = 0, $scevgep22 = 0, $v$0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ($buf_c|0)!=($data_c|0); - $1 = ($buf_c|0)<(3); - $or$cond = $1 & $0; - $2 = ($data_c|0)<(7); - $or$cond3 = $2 & $or$cond; - if ($or$cond3) { - $3 = ($buf_c|0)==(2); - if ($3) { - $i$07 = 0; - } else { - ___assert_fail((13970|0),(12804|0),4749,(13981|0)); - // unreachable; - } - while(1) { - _compute_stereo_samples($buffer,$data_c,$data,$d_offset,$len); - $4 = (($i$07) + 1)|0; - $exitcond = ($4|0)==($buf_c|0); - if ($exitcond) { - break; - } else { - $i$07 = $4; - } - } - return; - } - $5 = ($len|0)>(0); - if (!($5)) { - return; - } - $6 = ($buf_c|0)<($data_c|0); - $7 = $6 ? $buf_c : $data_c; - $8 = ($7|0)>(0); - $9 = ($data_c|0)<($buf_c|0); - $10 = $9 ? $data_c : $buf_c; - $$017 = $buffer;$j$016 = 0; - while(1) { - if ($8) { - $11 = (($j$016) + ($d_offset))|0; - $$19 = $$017;$i$18 = 0; - while(1) { - $13 = (($data) + ($i$18<<2)|0); - $14 = HEAP32[$13>>2]|0; - $15 = (($14) + ($11<<2)|0); - $16 = +HEAPF32[$15>>2]; - $17 = $16 + 384.0; - $18 = (HEAPF32[tempDoublePtr>>2]=$17,HEAP32[tempDoublePtr>>2]|0); - $19 = (($18) + -1136623616)|0; - $20 = ($19>>>0)>(65535); - $21 = ($18|0)<(1136656384); - $22 = $21 ? 32768 : 32767; - $v$0 = $20 ? $22 : $18; - $23 = $v$0&65535; - $24 = ((($$19)) + 2|0); - HEAP16[$$19>>1] = $23; - $25 = (($i$18) + 1)|0; - $exitcond20 = ($25|0)==($10|0); - if ($exitcond20) { - break; - } else { - $$19 = $24;$i$18 = $25; - } - } - $scevgep = (($$017) + ($10<<1)|0); - $$1$lcssa = $scevgep;$i$1$lcssa = $10; - } else { - $$1$lcssa = $$017;$i$1$lcssa = 0; - } - $12 = ($i$1$lcssa|0)<($buf_c|0); - if ($12) { - $26 = (($buf_c) - ($i$1$lcssa))|0; - $27 = $26 << 1; - _memset(($$1$lcssa|0),0,($27|0))|0; - $scevgep21$sum = (($buf_c) - ($i$1$lcssa))|0; - $scevgep22 = (($$1$lcssa) + ($scevgep21$sum<<1)|0); - $$2$lcssa = $scevgep22; - } else { - $$2$lcssa = $$1$lcssa; - } - $28 = (($j$016) + 1)|0; - $exitcond25 = ($28|0)==($len|0); - if ($exitcond25) { - break; - } else { - $$017 = $$2$lcssa;$j$016 = $28; - } - } - return; -} -function _EmptyMusicStream() { - var $$pr = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $buffer = 0, $queued = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $buffer = sp + 4|0; - $queued = sp; - HEAP32[$buffer>>2] = 0; - HEAP32[$queued>>2] = 0; - $0 = HEAP32[(5888)>>2]|0; - _alGetSourcei(($0|0),4117,($queued|0)); - $$pr = HEAP32[$queued>>2]|0; - $1 = ($$pr|0)>(0); - if (!($1)) { - STACKTOP = sp;return; - } - while(1) { - $2 = HEAP32[(5888)>>2]|0; - _alSourceUnqueueBuffers(($2|0),1,($buffer|0)); - $3 = HEAP32[$queued>>2]|0; - $4 = (($3) + -1)|0; - HEAP32[$queued>>2] = $4; - $5 = ($3|0)>(1); - if (!($5)) { - break; - } - } - STACKTOP = sp;return; -} -function _LoadWAV($agg$result,$fileName) { - $agg$result = $agg$result|0; - $fileName = $fileName|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $riffHeader = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer4 = 0, $vararg_buffer7 = 0, $vararg_ptr13 = 0, $vararg_ptr14 = 0, $vararg_ptr15 = 0, $wave$sroa$0$0 = 0, $wave$sroa$0$1 = 0; - var $wave$sroa$10$0 = 0, $wave$sroa$10$1 = 0, $wave$sroa$5$0 = 0, $wave$sroa$5$1 = 0, $wave$sroa$6$0 = 0, $wave$sroa$6$1 = 0, $wave$sroa$8$0 = 0, $wave$sroa$8$1 = 0, $waveData = 0, $waveFormat = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 96|0; - $vararg_buffer10 = sp + 32|0; - $vararg_buffer7 = sp + 24|0; - $vararg_buffer4 = sp + 16|0; - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $riffHeader = sp + 80|0; - $waveFormat = sp + 56|0; - $waveData = sp + 48|0; - $0 = (_fopen($fileName,13126)|0); - $1 = ($0|0)==(0|0); - if ($1) { - HEAP32[$vararg_buffer>>2] = $fileName; - _TraceLog(2,13765,$vararg_buffer); - $wave$sroa$0$1 = 0;$wave$sroa$10$1 = 0;$wave$sroa$5$1 = 0;$wave$sroa$6$1 = 0;$wave$sroa$8$1 = 0; - HEAP32[$agg$result>>2] = $wave$sroa$0$1; - $45 = ((($agg$result)) + 4|0); - HEAP32[$45>>2] = $wave$sroa$5$1; - $46 = ((($agg$result)) + 8|0); - HEAP32[$46>>2] = $wave$sroa$6$1; - $47 = ((($agg$result)) + 12|0); - HEAP16[$47>>1] = $wave$sroa$8$1; - $48 = ((($agg$result)) + 14|0); - HEAP16[$48>>1] = $wave$sroa$10$1; - STACKTOP = sp;return; - } - (_fread($riffHeader,12,1,$0)|0); - $2 = (_strncmp($riffHeader,13799,4)|0); - $3 = ($2|0)==(0); - do { - if ($3) { - $4 = ((($riffHeader)) + 8|0); - $5 = (_strncmp($4,13804,4)|0); - $6 = ($5|0)==(0); - if ($6) { - (_fread($waveFormat,24,1,$0)|0); - $7 = HEAP8[$waveFormat>>0]|0; - $8 = ($7<<24>>24)==(102); - if ($8) { - $9 = ((($waveFormat)) + 1|0); - $10 = HEAP8[$9>>0]|0; - $11 = ($10<<24>>24)==(109); - if ($11) { - $12 = ((($waveFormat)) + 2|0); - $13 = HEAP8[$12>>0]|0; - $14 = ($13<<24>>24)==(116); - if ($14) { - $15 = ((($waveFormat)) + 3|0); - $16 = HEAP8[$15>>0]|0; - $17 = ($16<<24>>24)==(32); - if ($17) { - $18 = ((($waveFormat)) + 4|0); - $19 = HEAP32[$18>>2]|0; - $20 = ($19|0)>(16); - if ($20) { - (_fseek($0,2,1)|0); - } - (_fread($waveData,8,1,$0)|0); - $21 = HEAP8[$waveData>>0]|0; - $22 = ($21<<24>>24)==(100); - if ($22) { - $23 = ((($waveData)) + 1|0); - $24 = HEAP8[$23>>0]|0; - $25 = ($24<<24>>24)==(97); - if ($25) { - $26 = ((($waveData)) + 2|0); - $27 = HEAP8[$26>>0]|0; - $28 = ($27<<24>>24)==(116); - if ($28) { - $29 = ((($waveData)) + 3|0); - $30 = HEAP8[$29>>0]|0; - $31 = ($30<<24>>24)==(97); - if ($31) { - $32 = ((($waveData)) + 4|0); - $33 = HEAP32[$32>>2]|0; - $34 = (_malloc($33)|0); - $35 = HEAP32[$32>>2]|0; - (_fread($34,$35,1,$0)|0); - $36 = HEAP32[$32>>2]|0; - $37 = ((($waveFormat)) + 12|0); - $38 = HEAP32[$37>>2]|0; - $39 = ((($waveFormat)) + 10|0); - $40 = HEAP16[$39>>1]|0; - $41 = ((($waveFormat)) + 22|0); - $42 = HEAP16[$41>>1]|0; - $43 = $42 << 16 >> 16; - $44 = $40 << 16 >> 16; - HEAP32[$vararg_buffer10>>2] = $fileName; - $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); - HEAP32[$vararg_ptr13>>2] = $38; - $vararg_ptr14 = ((($vararg_buffer10)) + 8|0); - HEAP32[$vararg_ptr14>>2] = $43; - $vararg_ptr15 = ((($vararg_buffer10)) + 12|0); - HEAP32[$vararg_ptr15>>2] = $44; - _TraceLog(0,13892,$vararg_buffer10); - $wave$sroa$0$0 = $34;$wave$sroa$10$0 = $40;$wave$sroa$5$0 = $36;$wave$sroa$6$0 = $38;$wave$sroa$8$0 = $42; - break; - } - } - } - } - HEAP32[$vararg_buffer7>>2] = $fileName; - _TraceLog(2,13867,$vararg_buffer7); - $wave$sroa$0$0 = 0;$wave$sroa$10$0 = 0;$wave$sroa$5$0 = 0;$wave$sroa$6$0 = 0;$wave$sroa$8$0 = 0; - break; - } - } - } - } - HEAP32[$vararg_buffer4>>2] = $fileName; - _TraceLog(2,13842,$vararg_buffer4); - $wave$sroa$0$0 = 0;$wave$sroa$10$0 = 0;$wave$sroa$5$0 = 0;$wave$sroa$6$0 = 0;$wave$sroa$8$0 = 0; - } else { - label = 5; - } - } else { - label = 5; - } - } while(0); - if ((label|0) == 5) { - HEAP32[$vararg_buffer1>>2] = $fileName; - _TraceLog(2,13809,$vararg_buffer1); - $wave$sroa$0$0 = 0;$wave$sroa$10$0 = 0;$wave$sroa$5$0 = 0;$wave$sroa$6$0 = 0;$wave$sroa$8$0 = 0; - } - (_fclose($0)|0); - $wave$sroa$0$1 = $wave$sroa$0$0;$wave$sroa$10$1 = $wave$sroa$10$0;$wave$sroa$5$1 = $wave$sroa$5$0;$wave$sroa$6$1 = $wave$sroa$6$0;$wave$sroa$8$1 = $wave$sroa$8$0; - HEAP32[$agg$result>>2] = $wave$sroa$0$1; - $45 = ((($agg$result)) + 4|0); - HEAP32[$45>>2] = $wave$sroa$5$1; - $46 = ((($agg$result)) + 8|0); - HEAP32[$46>>2] = $wave$sroa$6$1; - $47 = ((($agg$result)) + 12|0); - HEAP16[$47>>1] = $wave$sroa$8$1; - $48 = ((($agg$result)) + 14|0); - HEAP16[$48>>1] = $wave$sroa$10$1; - STACKTOP = sp;return; -} -function _LoadOGG($agg$result,$fileName) { - $agg$result = $agg$result|0; - $fileName = $fileName|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0.0, $16 = 0.0, $17 = 0, $18 = 0.0, $19 = 0.0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $info = 0, $sext = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer13 = 0, $vararg_buffer17 = 0, $vararg_buffer21 = 0, $vararg_buffer25 = 0, $vararg_buffer29 = 0, $vararg_buffer5 = 0, $vararg_buffer9 = 0; - var $vararg_ptr12 = 0, $vararg_ptr16 = 0, $vararg_ptr20 = 0, $vararg_ptr24 = 0, $vararg_ptr28 = 0, $vararg_ptr32 = 0, $vararg_ptr33 = 0, $vararg_ptr34 = 0, $vararg_ptr4 = 0, $vararg_ptr8 = 0, $wave$sroa$0$0 = 0, $wave$sroa$4$0 = 0, $wave$sroa$5$0 = 0, $wave$sroa$9$0 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 128|0; - $vararg_buffer29 = sp + 80|0; - $vararg_buffer25 = sp + 72|0; - $vararg_buffer21 = sp + 64|0; - $vararg_buffer17 = sp + 48|0; - $vararg_buffer13 = sp + 32|0; - $vararg_buffer9 = sp + 24|0; - $vararg_buffer5 = sp + 16|0; - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $info = sp + 96|0; - $0 = (_stb_vorbis_open_filename($fileName,0,0)|0); - $1 = ($0|0)==(0|0); - if ($1) { - HEAP32[$vararg_buffer>>2] = $fileName; - _TraceLog(2,13438,$vararg_buffer); - $wave$sroa$0$0 = 0;$wave$sroa$4$0 = 0;$wave$sroa$5$0 = 0;$wave$sroa$9$0 = 0; - HEAP32[$agg$result>>2] = $wave$sroa$0$0; - $25 = ((($agg$result)) + 4|0); - HEAP32[$25>>2] = $wave$sroa$4$0; - $26 = ((($agg$result)) + 8|0); - HEAP32[$26>>2] = $wave$sroa$5$0; - $27 = ((($agg$result)) + 12|0); - HEAP16[$27>>1] = 16; - $28 = ((($agg$result)) + 14|0); - HEAP16[$28>>1] = $wave$sroa$9$0; - STACKTOP = sp;return; - } - _stb_vorbis_get_info($info,$0); - $2 = HEAP32[$info>>2]|0; - $3 = ((($info)) + 4|0); - $4 = HEAP32[$3>>2]|0; - $5 = $4&65535; - HEAP32[$vararg_buffer1>>2] = $fileName; - $vararg_ptr4 = ((($vararg_buffer1)) + 4|0); - HEAP32[$vararg_ptr4>>2] = $2; - _TraceLog(3,13189,$vararg_buffer1); - $6 = HEAP32[$3>>2]|0; - HEAP32[$vararg_buffer5>>2] = $fileName; - $vararg_ptr8 = ((($vararg_buffer5)) + 4|0); - HEAP32[$vararg_ptr8>>2] = $6; - _TraceLog(3,13214,$vararg_buffer5); - $7 = (_stb_vorbis_stream_length_in_samples($0)|0); - $8 = HEAP32[$3>>2]|0; - $9 = Math_imul($8, $7)|0; - $10 = $9 << 1; - HEAP32[$vararg_buffer9>>2] = $fileName; - $vararg_ptr12 = ((($vararg_buffer9)) + 4|0); - HEAP32[$vararg_ptr12>>2] = $9; - _TraceLog(3,13472,$vararg_buffer9); - $11 = (+_stb_vorbis_stream_length_in_seconds($0)); - $12 = $11; - HEAP32[$vararg_buffer13>>2] = $fileName; - $vararg_ptr16 = ((($vararg_buffer13)) + 8|0); - HEAPF64[$vararg_ptr16>>3] = $12; - _TraceLog(3,13496,$vararg_buffer13); - $13 = $11 > 10.0; - if ($13) { - HEAP32[$vararg_buffer17>>2] = $fileName; - $vararg_ptr20 = ((($vararg_buffer17)) + 8|0); - HEAPF64[$vararg_ptr20>>3] = $12; - _TraceLog(2,13519,$vararg_buffer17); - } - $14 = HEAP32[$info>>2]|0; - $15 = (+($14>>>0)); - $16 = $11 * $15; - $17 = HEAP32[$3>>2]|0; - $18 = (+($17|0)); - $19 = $16 * $18; - $20 = (~~(($19))); - HEAP32[$vararg_buffer21>>2] = $fileName; - $vararg_ptr24 = ((($vararg_buffer21)) + 4|0); - HEAP32[$vararg_ptr24>>2] = $20; - _TraceLog(3,13627,$vararg_buffer21); - $21 = (_malloc($10)|0); - $22 = HEAP32[$3>>2]|0; - $23 = (_stb_vorbis_get_samples_short_interleaved($0,$22,$21,$9)|0); - HEAP32[$vararg_buffer25>>2] = $fileName; - $vararg_ptr28 = ((($vararg_buffer25)) + 4|0); - HEAP32[$vararg_ptr28>>2] = $23; - _TraceLog(3,13661,$vararg_buffer25); - $sext = $4 << 16; - $24 = $sext >> 16; - HEAP32[$vararg_buffer29>>2] = $fileName; - $vararg_ptr32 = ((($vararg_buffer29)) + 4|0); - HEAP32[$vararg_ptr32>>2] = $2; - $vararg_ptr33 = ((($vararg_buffer29)) + 8|0); - HEAP32[$vararg_ptr33>>2] = 16; - $vararg_ptr34 = ((($vararg_buffer29)) + 12|0); - HEAP32[$vararg_ptr34>>2] = $24; - _TraceLog(0,13687,$vararg_buffer29); - _stb_vorbis_close($0); - $wave$sroa$0$0 = $21;$wave$sroa$4$0 = $10;$wave$sroa$5$0 = $2;$wave$sroa$9$0 = $5; - HEAP32[$agg$result>>2] = $wave$sroa$0$0; - $25 = ((($agg$result)) + 4|0); - HEAP32[$25>>2] = $wave$sroa$4$0; - $26 = ((($agg$result)) + 8|0); - HEAP32[$26>>2] = $wave$sroa$5$0; - $27 = ((($agg$result)) + 12|0); - HEAP16[$27>>1] = 16; - $28 = ((($agg$result)) + 14|0); - HEAP16[$28>>1] = $wave$sroa$9$0; - STACKTOP = sp;return; -} -function _UnloadWave($wave) { - $wave = $wave|0; - var $0 = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $vararg_buffer = sp; - $0 = HEAP32[$wave>>2]|0; - _free($0); - _TraceLog(0,13419,$vararg_buffer); - STACKTOP = sp;return; -} -function _BufferMusicStream($buffer) { - $buffer = $buffer|0; - var $$old1 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $active$0 = 0, $pcm = 0; - var $size$0 = 0, $size$0$lcssa = 0, $size$12 = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 65552|0; - $vararg_buffer = sp; - $pcm = sp + 8|0; - $0 = HEAP32[5872>>2]|0; - $1 = ($0|0)==(0); - do { - if (!($1)) { - $size$0 = 0; - while(1) { - $2 = HEAP32[5876>>2]|0; - $3 = HEAP32[(5896)>>2]|0; - $4 = (($pcm) + ($size$0<<1)|0); - $5 = (32768 - ($size$0))|0; - $6 = (_stb_vorbis_get_samples_short_interleaved($2,$3,$4,$5)|0); - $7 = ($6|0)>(0); - if (!($7)) { - $size$0$lcssa = $size$0; - label = 4; - break; - } - $8 = HEAP32[(5896)>>2]|0; - $9 = Math_imul($8, $6)|0; - $10 = (($9) + ($size$0))|0; - $$old1 = ($10|0)<(32768); - if ($$old1) { - $size$0 = $10; - } else { - $size$12 = $10; - break; - } - } - if ((label|0) == 4) { - $11 = ($size$0$lcssa|0)>(0); - if ($11) { - $size$12 = $size$0$lcssa; - } else { - break; - } - } - $12 = HEAP32[(5892)>>2]|0; - $13 = $size$12 << 1; - $14 = HEAP32[(5900)>>2]|0; - _alBufferData(($buffer|0),($12|0),($pcm|0),($13|0),($14|0)); - $15 = HEAP32[(5904)>>2]|0; - $16 = (($15) - ($size$12))|0; - HEAP32[(5904)>>2] = $16; - $active$0 = 1; - STACKTOP = sp;return ($active$0|0); - } - } while(0); - _TraceLog(2,13385,$vararg_buffer); - $active$0 = 0; - STACKTOP = sp;return ($active$0|0); -} -function _Vector2Distance($v1,$v2) { - $v1 = $v1|0; - $v2 = $v2|0; - var $0 = 0.0, $1 = 0.0, $10 = 0.0, $2 = 0.0, $3 = 0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, $sqrtf = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $0 = +HEAPF32[$v2>>2]; - $1 = +HEAPF32[$v1>>2]; - $2 = $0 - $1; - $3 = ((($v2)) + 4|0); - $4 = +HEAPF32[$3>>2]; - $5 = ((($v1)) + 4|0); - $6 = +HEAPF32[$5>>2]; - $7 = $4 - $6; - $8 = $2 * $2; - $9 = $7 * $7; - $10 = $8 + $9; - $sqrtf = (+Math_sqrt((+$10))); - return (+$sqrtf); -} -function _Vector2Angle($initialPosition,$finalPosition) { - $initialPosition = $initialPosition|0; - $finalPosition = $finalPosition|0; - var $0 = 0, $1 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0, $16 = 0.0, $2 = 0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, $angle$0 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($finalPosition)) + 4|0); - $1 = +HEAPF32[$0>>2]; - $2 = ((($initialPosition)) + 4|0); - $3 = +HEAPF32[$2>>2]; - $4 = $1 - $3; - $5 = $4; - $6 = +HEAPF32[$finalPosition>>2]; - $7 = +HEAPF32[$initialPosition>>2]; - $8 = $6 - $7; - $9 = $8; - $10 = (+Math_atan2((+$5),(+$9))); - $11 = $10; - $12 = $11; - $13 = $12 * 57.295779513082323; - $14 = $13; - $15 = $14 < 0.0; - $16 = $14 + 360.0; - $angle$0 = $15 ? $16 : $14; - return (+$angle$0); -} -function _compute_stereo_samples($output,$num_c,$data,$d_offset,$len) { - $output = $output|0; - $num_c = $num_c|0; - $data = $data|0; - $d_offset = $d_offset|0; - $len = $len|0; - var $$n$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0.0, $41 = 0, $42 = 0, $43 = 0.0; - var $44 = 0.0, $45 = 0, $46 = 0.0, $47 = 0, $48 = 0, $49 = 0.0, $5 = 0, $50 = 0.0, $51 = 0, $52 = 0, $53 = 0, $54 = 0.0, $55 = 0, $56 = 0, $57 = 0.0, $58 = 0.0, $59 = 0, $6 = 0, $60 = 0, $61 = 0; - var $62 = 0.0, $63 = 0, $64 = 0, $65 = 0, $66 = 0.0, $67 = 0.0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0.0, $72 = 0.0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0; - var $80 = 0, $81 = 0, $82 = 0, $83 = 0, $9 = 0, $buffer = 0, $exitcond = 0, $exitcond23 = 0, $exitcond27 = 0, $exitcond28 = 0, $exitcond34 = 0, $i$09 = 0, $i$17 = 0, $i$26 = 0, $i$313 = 0, $indvars$iv$next30 = 0, $indvars$iv$next32 = 0, $indvars$iv29 = 0, $indvars$iv31 = 0, $j$011 = 0; - var $n$015 = 0, $o$016 = 0, $smax = 0, $smax22 = 0, $smax26 = 0, $smax33 = 0, $v$0 = 0, dest = 0, label = 0, sp = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 128|0; - $buffer = sp; - $0 = ($len|0)>(0); - if (!($0)) { - STACKTOP = sp;return; - } - $1 = ($num_c|0)>(0); - $2 = $len ^ -1; - $indvars$iv29 = -2;$indvars$iv31 = -1;$n$015 = 16;$o$016 = 0; - while(1) { - $3 = $o$016 << 1; - dest=$buffer; stop=dest+128|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - $4 = (($o$016) + ($n$015))|0; - $5 = ($4|0)>($len|0); - $6 = (($len) - ($o$016))|0; - $$n$0 = $5 ? $6 : $n$015; - L6: do { - if ($1) { - $7 = ($$n$0|0)>(0); - $8 = (($o$016) + ($d_offset))|0; - $9 = ($$n$0|0)>(0); - $10 = (($o$016) + ($d_offset))|0; - $11 = ($$n$0|0)>(0); - $12 = (($o$016) + ($d_offset))|0; - $13 = (($indvars$iv31) - ($n$015))|0; - $14 = ($13|0)>($2|0); - $smax = $14 ? $13 : $2; - $15 = (($indvars$iv31) - ($smax))|0; - $16 = (($indvars$iv31) - ($n$015))|0; - $17 = ($16|0)>($2|0); - $smax22 = $17 ? $16 : $2; - $18 = (($indvars$iv31) - ($smax22))|0; - $19 = (($indvars$iv31) - ($n$015))|0; - $20 = ($19|0)>($2|0); - $smax26 = $20 ? $19 : $2; - $21 = (($indvars$iv31) - ($smax26))|0; - $j$011 = 0; - while(1) { - $28 = ((14016 + (($num_c*6)|0)|0) + ($j$011)|0); - $29 = HEAP8[$28>>0]|0; - $30 = $29&255; - $31 = $30 & 6; - switch ($31|0) { - case 6: { - if ($7) { - $36 = (($data) + ($j$011<<2)|0); - $37 = HEAP32[$36>>2]|0; - $i$09 = 0; - while(1) { - $38 = (($8) + ($i$09))|0; - $39 = (($37) + ($38<<2)|0); - $40 = +HEAPF32[$39>>2]; - $41 = $i$09 << 1; - $42 = (($buffer) + ($41<<2)|0); - $43 = +HEAPF32[$42>>2]; - $44 = $40 + $43; - HEAPF32[$42>>2] = $44; - $45 = (($37) + ($38<<2)|0); - $46 = +HEAPF32[$45>>2]; - $47 = $41 | 1; - $48 = (($buffer) + ($47<<2)|0); - $49 = +HEAPF32[$48>>2]; - $50 = $46 + $49; - HEAPF32[$48>>2] = $50; - $51 = (($i$09) + 1)|0; - $exitcond27 = ($51|0)==($21|0); - if ($exitcond27) { - break; - } else { - $i$09 = $51; - } - } - } - break; - } - case 2: { - if ($9) { - $34 = (($data) + ($j$011<<2)|0); - $35 = HEAP32[$34>>2]|0; - $i$17 = 0; - while(1) { - $52 = (($10) + ($i$17))|0; - $53 = (($35) + ($52<<2)|0); - $54 = +HEAPF32[$53>>2]; - $55 = $i$17 << 1; - $56 = (($buffer) + ($55<<2)|0); - $57 = +HEAPF32[$56>>2]; - $58 = $54 + $57; - HEAPF32[$56>>2] = $58; - $59 = (($i$17) + 1)|0; - $exitcond23 = ($59|0)==($18|0); - if ($exitcond23) { - break; - } else { - $i$17 = $59; - } - } - } - break; - } - case 4: { - if ($11) { - $32 = (($data) + ($j$011<<2)|0); - $33 = HEAP32[$32>>2]|0; - $i$26 = 0; - while(1) { - $60 = (($12) + ($i$26))|0; - $61 = (($33) + ($60<<2)|0); - $62 = +HEAPF32[$61>>2]; - $63 = $i$26 << 1; - $64 = $63 | 1; - $65 = (($buffer) + ($64<<2)|0); - $66 = +HEAPF32[$65>>2]; - $67 = $62 + $66; - HEAPF32[$65>>2] = $67; - $68 = (($i$26) + 1)|0; - $exitcond = ($68|0)==($15|0); - if ($exitcond) { - break; - } else { - $i$26 = $68; - } - } - } - break; - } - default: { - } - } - $69 = (($j$011) + 1)|0; - $exitcond28 = ($69|0)==($num_c|0); - if ($exitcond28) { - break L6; - } else { - $j$011 = $69; - } - } - } - } while(0); - $22 = $$n$0 << 1; - $23 = ($22|0)>(0); - if ($23) { - $24 = (($indvars$iv31) - ($n$015))|0; - $25 = ($24|0)>($2|0); - $smax33 = $25 ? $24 : $2; - $26 = $smax33 << 1; - $27 = (($indvars$iv29) - ($26))|0; - $i$313 = 0; - while(1) { - $70 = (($buffer) + ($i$313<<2)|0); - $71 = +HEAPF32[$70>>2]; - $72 = $71 + 384.0; - $73 = (HEAPF32[tempDoublePtr>>2]=$72,HEAP32[tempDoublePtr>>2]|0); - $74 = (($73) + -1136623616)|0; - $75 = ($74>>>0)>(65535); - $76 = ($73|0)<(1136656384); - $77 = $76 ? 32768 : 32767; - $v$0 = $75 ? $77 : $73; - $78 = $v$0&65535; - $79 = (($i$313) + ($3))|0; - $80 = (($output) + ($79<<1)|0); - HEAP16[$80>>1] = $78; - $81 = (($i$313) + 1)|0; - $exitcond34 = ($81|0)==($27|0); - if ($exitcond34) { - break; - } else { - $i$313 = $81; - } - } - } - $82 = (($o$016) + 16)|0; - $83 = ($82|0)<($len|0); - $indvars$iv$next32 = (($indvars$iv31) + -16)|0; - $indvars$iv$next30 = (($indvars$iv29) + -32)|0; - if ($83) { - $indvars$iv29 = $indvars$iv$next30;$indvars$iv31 = $indvars$iv$next32;$n$015 = $$n$0;$o$016 = $82; - } else { - break; - } - } - STACKTOP = sp;return; -} -function _get8($z) { - $z = $z|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($z)) + 32|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)==(0|0); - if ($2) { - $9 = ((($z)) + 20|0); - $10 = HEAP32[$9>>2]|0; - $11 = (_fgetc($10)|0); - $12 = ($11|0)==(-1); - if ($12) { - $13 = ((($z)) + 96|0); - HEAP32[$13>>2] = 1; - $$0 = 0; - return ($$0|0); - } else { - $14 = $11&255; - $$0 = $14; - return ($$0|0); - } - } else { - $3 = ((($z)) + 40|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($1>>>0)<($4>>>0); - if ($5) { - $7 = ((($1)) + 1|0); - HEAP32[$0>>2] = $7; - $8 = HEAP8[$1>>0]|0; - $$0 = $8; - return ($$0|0); - } else { - $6 = ((($z)) + 96|0); - HEAP32[$6>>2] = 1; - $$0 = 0; - return ($$0|0); - } - } - return (0)|0; -} -function _crc32_update($crc,$byte) { - $crc = $crc|0; - $byte = $byte|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = $crc << 8; - $1 = $byte&255; - $2 = $crc >>> 24; - $3 = $1 ^ $2; - $4 = (5960 + ($3<<2)|0); - $5 = HEAP32[$4>>2]|0; - $6 = $5 ^ $0; - return ($6|0); -} -function _get8_packet_raw($f) { - $f = $f|0; - var $$0 = 0, $$pr = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($f)) + 1376|0); - $1 = HEAP8[$0>>0]|0; - $2 = ($1<<24>>24)==(0); - if ($2) { - $3 = ((($f)) + 1384|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)==(0); - if (!($5)) { - $$0 = -1; - return ($$0|0); - } - $6 = (_next_segment($f)|0); - $7 = ($6|0)==(0); - if ($7) { - $$0 = -1; - return ($$0|0); - } - $$pr = HEAP8[$0>>0]|0; - $8 = ($$pr<<24>>24)==(0); - if ($8) { - ___assert_fail((14058|0),(12804|0),1135,(14078|0)); - // unreachable; - } else { - $10 = $$pr; - } - } else { - $10 = $1; - } - $9 = (($10) + -1)<<24>>24; - HEAP8[$0>>0] = $9; - $11 = ((($f)) + 1400|0); - $12 = HEAP32[$11>>2]|0; - $13 = (($12) + 1)|0; - HEAP32[$11>>2] = $13; - $14 = (_get8($f)|0); - $15 = $14&255; - $$0 = $15; - return ($$0|0); -} -function _next_segment($f) { - $f = $f|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($f)) + 1384|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)==(0); - if (!($2)) { - $$0 = 0; - return ($$0|0); - } - $3 = ((($f)) + 1380|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)==(-1); - if ($5) { - $6 = ((($f)) + 1116|0); - $7 = HEAP32[$6>>2]|0; - $8 = (($7) + -1)|0; - $9 = ((($f)) + 1388|0); - HEAP32[$9>>2] = $8; - $10 = (_start_page($f)|0); - $11 = ($10|0)==(0); - if ($11) { - HEAP32[$0>>2] = 1; - $$0 = 0; - return ($$0|0); - } - $12 = ((($f)) + 1375|0); - $13 = HEAP8[$12>>0]|0; - $14 = $13 & 1; - $15 = ($14<<24>>24)==(0); - if ($15) { - _error($f,32); - $$0 = 0; - return ($$0|0); - } - } - $16 = HEAP32[$3>>2]|0; - $17 = (($16) + 1)|0; - HEAP32[$3>>2] = $17; - $18 = (((($f)) + 1120|0) + ($16)|0); - $19 = HEAP8[$18>>0]|0; - $20 = $19&255; - $21 = ($19<<24>>24)==(-1); - if (!($21)) { - HEAP32[$0>>2] = 1; - $22 = HEAP32[$3>>2]|0; - $23 = (($22) + -1)|0; - $24 = ((($f)) + 1388|0); - HEAP32[$24>>2] = $23; - } - $25 = HEAP32[$3>>2]|0; - $26 = ((($f)) + 1116|0); - $27 = HEAP32[$26>>2]|0; - $28 = ($25|0)<($27|0); - if (!($28)) { - HEAP32[$3>>2] = -1; - } - $29 = ((($f)) + 1376|0); - $30 = HEAP8[$29>>0]|0; - $31 = ($30<<24>>24)==(0); - if (!($31)) { - ___assert_fail((14094|0),(12804|0),1121,(14115|0)); - // unreachable; - } - HEAP8[$29>>0] = $19; - $$0 = $20; - return ($$0|0); -} -function _start_page($f) { - $f = $f|0; - var $$0 = 0, $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_capture_pattern($f)|0); - $1 = ($0|0)==(0); - if ($1) { - _error($f,30); - $$0 = 0; - return ($$0|0); - } else { - $2 = (_start_page_no_capturepattern($f)|0); - $$0 = $2; - return ($$0|0); - } - return (0)|0; -} -function _capture_pattern($f) { - $f = $f|0; - var $$ = 0, $$0 = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_get8($f)|0); - $1 = ($0<<24>>24)==(79); - if ($1) { - $2 = (_get8($f)|0); - $3 = ($2<<24>>24)==(103); - if ($3) { - $4 = (_get8($f)|0); - $5 = ($4<<24>>24)==(103); - if ($5) { - $6 = (_get8($f)|0); - $7 = ($6<<24>>24)==(83); - $$ = $7&1; - $$0 = $$; - } else { - $$0 = 0; - } - } else { - $$0 = 0; - } - } else { - $$0 = 0; - } - return ($$0|0); -} -function _start_page_no_capturepattern($f) { - $f = $f|0; - var $$0 = 0, $$lcssa = 0, $$lcssa14 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; - var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; - var $42 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i$0 = 0, $i$0$in = 0, $i$0$lcssa15 = 0, $i1$04 = 0, $len$0$lcssa = 0, $len$03 = 0, $phitmp = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_get8($f)|0); - $1 = ($0<<24>>24)==(0); - if (!($1)) { - _error($f,31); - $$0 = 0; - return ($$0|0); - } - $2 = (_get8($f)|0); - $3 = ((($f)) + 1375|0); - HEAP8[$3>>0] = $2; - $4 = (_get32($f)|0); - $5 = (_get32($f)|0); - (_get32($f)|0); - $6 = (_get32($f)|0); - $7 = ((($f)) + 1112|0); - HEAP32[$7>>2] = $6; - (_get32($f)|0); - $8 = (_get8($f)|0); - $9 = $8&255; - $10 = ((($f)) + 1116|0); - HEAP32[$10>>2] = $9; - $11 = ((($f)) + 1120|0); - $12 = (_getn($f,$11,$9)|0); - $13 = ($12|0)==(0); - if ($13) { - _error($f,10); - $$0 = 0; - return ($$0|0); - } - $14 = ((($f)) + 1404|0); - HEAP32[$14>>2] = -2; - $15 = $5 & $4; - $16 = ($15|0)==(-1); - L9: do { - if (!($16)) { - $17 = HEAP32[$10>>2]|0; - $i$0$in = $17; - while(1) { - $i$0 = (($i$0$in) + -1)|0; - $18 = ($i$0$in|0)>(0); - if (!($18)) { - break L9; - } - $19 = (((($f)) + 1120|0) + ($i$0)|0); - $20 = HEAP8[$19>>0]|0; - $21 = ($20<<24>>24)==(-1); - if ($21) { - $i$0$in = $i$0; - } else { - $i$0$lcssa15 = $i$0; - break; - } - } - HEAP32[$14>>2] = $i$0$lcssa15; - $22 = ((($f)) + 1408|0); - HEAP32[$22>>2] = $4; - } - } while(0); - $23 = ((($f)) + 1377|0); - $24 = HEAP8[$23>>0]|0; - $25 = ($24<<24>>24)==(0); - if (!($25)) { - $26 = HEAP32[$10>>2]|0; - $27 = ($26|0)>(0); - if ($27) { - $28 = HEAP32[$10>>2]|0; - $i1$04 = 0;$len$03 = 0; - while(1) { - $29 = (((($f)) + 1120|0) + ($i1$04)|0); - $30 = HEAP8[$29>>0]|0; - $31 = $30&255; - $32 = (($31) + ($len$03))|0; - $33 = (($i1$04) + 1)|0; - $34 = ($33|0)<($28|0); - if ($34) { - $i1$04 = $33;$len$03 = $32; - } else { - $$lcssa14 = $32; - break; - } - } - $phitmp = (($$lcssa14) + 27)|0; - $$lcssa = $28;$len$0$lcssa = $phitmp; - } else { - $$lcssa = $26;$len$0$lcssa = 27; - } - $35 = ((($f)) + 52|0); - $36 = HEAP32[$35>>2]|0; - $37 = (($len$0$lcssa) + ($$lcssa))|0; - $38 = (($37) + ($36))|0; - $39 = ((($f)) + 56|0); - HEAP32[$39>>2] = $36; - $40 = ((($f)) + 60|0); - HEAP32[$40>>2] = $38; - $41 = ((($f)) + 64|0); - HEAP32[$41>>2] = $4; - } - $42 = ((($f)) + 1380|0); - HEAP32[$42>>2] = 0; - $$0 = 1; - return ($$0|0); -} -function _start_packet($f) { - $f = $f|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($f)) + 1380|0); - $1 = ((($f)) + 1375|0); - while(1) { - $2 = HEAP32[$0>>2]|0; - $3 = ($2|0)==(-1); - if (!($3)) { - label = 6; - break; - } - $4 = (_start_page($f)|0); - $5 = ($4|0)==(0); - if ($5) { - $$0 = 0; - label = 7; - break; - } - $6 = HEAP8[$1>>0]|0; - $7 = $6 & 1; - $8 = ($7<<24>>24)==(0); - if (!($8)) { - label = 5; - break; - } - } - if ((label|0) == 5) { - _error($f,32); - $$0 = 0; - return ($$0|0); - } - else if ((label|0) == 6) { - $9 = ((($f)) + 1384|0); - HEAP32[$9>>2] = 0; - $10 = ((($f)) + 1396|0); - HEAP32[$10>>2] = 0; - $11 = ((($f)) + 1400|0); - HEAP32[$11>>2] = 0; - $12 = ((($f)) + 1376|0); - HEAP8[$12>>0] = 0; - $$0 = 1; - return ($$0|0); - } - else if ((label|0) == 7) { - return ($$0|0); - } - return (0)|0; -} -function _vorbis_decode_initial($f,$p_left_start,$p_left_end,$p_right_start,$p_right_end,$mode) { - $f = $f|0; - $p_left_start = $p_left_start|0; - $p_left_end = $p_left_end|0; - $p_right_start = $p_right_start|0; - $p_right_end = $p_right_end|0; - $mode = $mode|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; - var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0; - var $7 = 0, $8 = 0, $9 = 0, $n$0 = 0, $next$0 = 0, $or$cond = 0, $or$cond3 = 0, $phitmp = 0, $prev$0 = 0, $storemerge = 0, $storemerge4 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($f)) + 1508|0); - HEAP32[$0>>2] = 0; - $1 = ((($f)) + 1504|0); - HEAP32[$1>>2] = 0; - $2 = ((($f)) + 96|0); - $3 = HEAP32[$2>>2]|0; - $4 = ($3|0)==(0); - if (!($4)) { - $$0 = 0; - return ($$0|0); - } - $5 = ((($f)) + 48|0); - while(1) { - $8 = (_maybe_start_packet($f)|0); - $9 = ($8|0)==(0); - if ($9) { - $$0 = 0; - label = 24; - break; - } - $10 = (_get_bits($f,1)|0); - $11 = ($10|0)==(0); - if ($11) { - label = 9; - break; - } - $12 = HEAP8[$5>>0]|0; - $13 = ($12<<24>>24)==(0); - if (!($13)) { - label = 7; - break; - } - while(1) { - $14 = (_get8_packet($f)|0); - $15 = ($14|0)==(-1); - if ($15) { - break; - } - } - $6 = HEAP32[$2>>2]|0; - $7 = ($6|0)==(0); - if (!($7)) { - $$0 = 0; - label = 24; - break; - } - } - if ((label|0) == 7) { - _error($f,35); - $$0 = 0; - return ($$0|0); - } - else if ((label|0) == 9) { - $16 = ((($f)) + 80|0); - $17 = HEAP32[$16>>2]|0; - $18 = ($17|0)==(0|0); - if (!($18)) { - $19 = ((($f)) + 84|0); - $20 = HEAP32[$19>>2]|0; - $21 = ((($f)) + 92|0); - $22 = HEAP32[$21>>2]|0; - $23 = ($20|0)==($22|0); - if (!($23)) { - ___assert_fail((14144|0),(12804|0),2734,(14200|0)); - // unreachable; - } - } - $24 = ((($f)) + 408|0); - $25 = HEAP32[$24>>2]|0; - $26 = (($25) + -1)|0; - $27 = (_ilog($26)|0); - $28 = (_get_bits($f,$27)|0); - $29 = ($28|0)==(-1); - if ($29) { - $$0 = 0; - return ($$0|0); - } - $30 = HEAP32[$24>>2]|0; - $31 = ($28|0)<($30|0); - if (!($31)) { - $$0 = 0; - return ($$0|0); - } - HEAP32[$mode>>2] = $28; - $32 = (((($f)) + 412|0) + (($28*6)|0)|0); - $33 = HEAP8[$32>>0]|0; - $34 = ($33<<24>>24)==(0); - if ($34) { - $39 = ((($f)) + 112|0); - $40 = HEAP32[$39>>2]|0; - $n$0 = $40;$next$0 = 0;$prev$0 = 0; - } else { - $35 = ((($f)) + 116|0); - $36 = HEAP32[$35>>2]|0; - $37 = (_get_bits($f,1)|0); - $38 = (_get_bits($f,1)|0); - $phitmp = ($37|0)!=(0); - $n$0 = $36;$next$0 = $38;$prev$0 = $phitmp; - } - $41 = $n$0 >> 1; - $42 = HEAP8[$32>>0]|0; - $43 = ($42<<24>>24)==(0); - $or$cond = $prev$0 | $43; - if ($or$cond) { - HEAP32[$p_left_start>>2] = 0; - $storemerge = $41; - } else { - $44 = ((($f)) + 112|0); - $45 = HEAP32[$44>>2]|0; - $46 = (($n$0) - ($45))|0; - $47 = $46 >> 2; - HEAP32[$p_left_start>>2] = $47; - $48 = HEAP32[$44>>2]|0; - $49 = (($48) + ($n$0))|0; - $50 = $49 >> 2; - $storemerge = $50; - } - HEAP32[$p_left_end>>2] = $storemerge; - $51 = HEAP8[$32>>0]|0; - $52 = ($51<<24>>24)==(0); - $53 = ($next$0|0)!=(0); - $or$cond3 = $53 | $52; - if ($or$cond3) { - HEAP32[$p_right_start>>2] = $41; - $storemerge4 = $n$0; - } else { - $54 = ($n$0*3)|0; - $55 = ((($f)) + 112|0); - $56 = HEAP32[$55>>2]|0; - $57 = (($54) - ($56))|0; - $58 = $57 >> 2; - HEAP32[$p_right_start>>2] = $58; - $59 = HEAP32[$55>>2]|0; - $60 = (($59) + ($54))|0; - $61 = $60 >> 2; - $storemerge4 = $61; - } - HEAP32[$p_right_end>>2] = $storemerge4; - $$0 = 1; - return ($$0|0); - } - else if ((label|0) == 24) { - return ($$0|0); - } - return (0)|0; -} -function _ilog($n) { - $n = $n|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ($n|0)<(16384); - if ($0) { - $1 = ($n|0)<(16); - if ($1) { - $2 = (14128 + ($n)|0); - $3 = HEAP8[$2>>0]|0; - $4 = $3 << 24 >> 24; - $$0 = $4; - return ($$0|0); - } - $5 = ($n|0)<(512); - if ($5) { - $6 = $n >> 5; - $7 = (14128 + ($6)|0); - $8 = HEAP8[$7>>0]|0; - $9 = $8 << 24 >> 24; - $10 = (($9) + 5)|0; - $$0 = $10; - return ($$0|0); - } else { - $11 = $n >> 10; - $12 = (14128 + ($11)|0); - $13 = HEAP8[$12>>0]|0; - $14 = $13 << 24 >> 24; - $15 = (($14) + 10)|0; - $$0 = $15; - return ($$0|0); - } - } - $16 = ($n|0)<(16777216); - if (!($16)) { - $28 = ($n|0)<(536870912); - if (!($28)) { - $$0 = 0; - return ($$0|0); - } - $29 = $n >> 25; - $30 = (14128 + ($29)|0); - $31 = HEAP8[$30>>0]|0; - $32 = $31 << 24 >> 24; - $33 = (($32) + 25)|0; - $$0 = $33; - return ($$0|0); - } - $17 = ($n|0)<(524288); - if ($17) { - $18 = $n >> 15; - $19 = (14128 + ($18)|0); - $20 = HEAP8[$19>>0]|0; - $21 = $20 << 24 >> 24; - $22 = (($21) + 15)|0; - $$0 = $22; - return ($$0|0); - } else { - $23 = $n >> 20; - $24 = (14128 + ($23)|0); - $25 = HEAP8[$24>>0]|0; - $26 = $25 << 24 >> 24; - $27 = (($26) + 20)|0; - $$0 = $27; - return ($$0|0); - } - return (0)|0; -} -function _skip($z,$n) { - $z = $z|0; - $n = $n|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($z)) + 32|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)==(0|0); - if ($2) { - $8 = ((($z)) + 20|0); - $9 = HEAP32[$8>>2]|0; - $10 = (_ftell($9)|0); - $11 = HEAP32[$8>>2]|0; - $12 = (($10) + ($n))|0; - (_fseek($11,$12,0)|0); - return; - } - $3 = (($1) + ($n)|0); - HEAP32[$0>>2] = $3; - $4 = ((($z)) + 40|0); - $5 = HEAP32[$4>>2]|0; - $6 = ($3>>>0)<($5>>>0); - if ($6) { - return; - } - $7 = ((($z)) + 96|0); - HEAP32[$7>>2] = 1; - return; -} -function _get_bits($f,$n) { - $f = $f|0; - $n = $n|0; - var $$0 = 0, $$pr = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; - var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($f)) + 1396|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)<(0); - if ($2) { - $$0 = 0; - return ($$0|0); - } - $3 = ($1|0)<($n|0); - L4: do { - if ($3) { - $4 = ($n|0)>(24); - if ($4) { - $5 = (_get_bits($f,24)|0); - $6 = (($n) + -24)|0; - $7 = (_get_bits($f,$6)|0); - $8 = $7 << 24; - $9 = (($8) + ($5))|0; - return ($9|0); - } - $10 = ($1|0)==(0); - if ($10) { - $11 = ((($f)) + 1392|0); - HEAP32[$11>>2] = 0; - } - $12 = HEAP32[$0>>2]|0; - $13 = ($12|0)<($n|0); - if ($13) { - $14 = ((($f)) + 1392|0); - while(1) { - $15 = (_get8_packet_raw($f)|0); - $16 = ($15|0)==(-1); - if ($16) { - break; - } - $17 = HEAP32[$0>>2]|0; - $18 = $15 << $17; - $19 = HEAP32[$14>>2]|0; - $20 = (($19) + ($18))|0; - HEAP32[$14>>2] = $20; - $21 = HEAP32[$0>>2]|0; - $22 = (($21) + 8)|0; - HEAP32[$0>>2] = $22; - $23 = ($22|0)<($n|0); - if (!($23)) { - $24 = $22; - break L4; - } - } - HEAP32[$0>>2] = -1; - $$0 = 0; - return ($$0|0); - } else { - $24 = $12; - } - } else { - $$pr = HEAP32[$0>>2]|0; - $24 = $$pr; - } - } while(0); - $25 = ($24|0)<(0); - if ($25) { - $$0 = 0; - return ($$0|0); - } - $26 = ((($f)) + 1392|0); - $27 = HEAP32[$26>>2]|0; - $28 = 1 << $n; - $29 = (($28) + -1)|0; - $30 = $27 & $29; - $31 = $27 >>> $n; - HEAP32[$26>>2] = $31; - $32 = HEAP32[$0>>2]|0; - $33 = (($32) - ($n))|0; - HEAP32[$0>>2] = $33; - $$0 = $30; - return ($$0|0); -} -function _setup_malloc($f,$sz) { - $f = $f|0; - $sz = $sz|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (($sz) + 3)|0; - $1 = $0 & -4; - $2 = ((($f)) + 8|0); - $3 = HEAP32[$2>>2]|0; - $4 = (($3) + ($1))|0; - HEAP32[$2>>2] = $4; - $5 = ((($f)) + 80|0); - $6 = HEAP32[$5>>2]|0; - $7 = ($6|0)==(0|0); - if ($7) { - $15 = ($1|0)==(0); - if ($15) { - $$0 = 0; - return ($$0|0); - } - $16 = (_malloc($1)|0); - $$0 = $16; - return ($$0|0); - } else { - $8 = ((($f)) + 88|0); - $9 = HEAP32[$8>>2]|0; - $10 = (($9) + ($1))|0; - $11 = ((($f)) + 92|0); - $12 = HEAP32[$11>>2]|0; - $13 = ($10|0)>($12|0); - if ($13) { - $$0 = 0; - return ($$0|0); - } - $14 = (($6) + ($9)|0); - HEAP32[$8>>2] = $10; - $$0 = $14; - return ($$0|0); - } - return (0)|0; -} -function _vorbis_validate($data) { - $data = $data|0; - var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_memcmp($data,14594,6)|0); - $1 = ($0|0)==(0); - $2 = $1&1; - return ($2|0); -} -function _crc32_init() { - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $i$03 = 0, label = 0, sp = 0; - sp = STACKTOP; - $i$03 = 0; - while(1) { - $0 = $i$03 << 24; - $1 = $i$03 << 25; - $2 = $0 >> 31; - $3 = $2 & 79764919; - $4 = $3 ^ $1; - $5 = $4 << 1; - $6 = $1 >> 31; - $7 = $6 & 79764919; - $8 = $7 ^ $5; - $9 = $8 << 1; - $10 = $5 >> 31; - $11 = $10 & 79764919; - $12 = $11 ^ $9; - $13 = $12 << 1; - $14 = $9 >> 31; - $15 = $14 & 79764919; - $16 = $15 ^ $13; - $17 = $16 << 1; - $18 = $13 >> 31; - $19 = $18 & 79764919; - $20 = $19 ^ $17; - $21 = $20 << 1; - $22 = $17 >> 31; - $23 = $22 & 79764919; - $24 = $23 ^ $21; - $25 = $24 << 1; - $26 = $21 >> 31; - $27 = $26 & 79764919; - $28 = $27 ^ $25; - $29 = $28 << 1; - $30 = $25 >> 31; - $31 = $30 & 79764919; - $32 = $31 ^ $29; - $33 = (5960 + ($i$03<<2)|0); - HEAP32[$33>>2] = $32; - $34 = (($i$03) + 1)|0; - $exitcond = ($34|0)==(256); - if ($exitcond) { - break; - } else { - $i$03 = $34; - } - } - return; -} -function _setup_temp_malloc($f,$sz) { - $f = $f|0; - $sz = $sz|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (($sz) + 3)|0; - $1 = $0 & -4; - $2 = ((($f)) + 80|0); - $3 = HEAP32[$2>>2]|0; - $4 = ($3|0)==(0|0); - if ($4) { - $13 = (_malloc($1)|0); - $$0 = $13; - return ($$0|0); - } - $5 = ((($f)) + 92|0); - $6 = HEAP32[$5>>2]|0; - $7 = (($6) - ($1))|0; - $8 = ((($f)) + 88|0); - $9 = HEAP32[$8>>2]|0; - $10 = ($7|0)<($9|0); - if ($10) { - $$0 = 0; - return ($$0|0); - } - HEAP32[$5>>2] = $7; - $11 = HEAP32[$2>>2]|0; - $12 = (($11) + ($7)|0); - $$0 = $12; - return ($$0|0); -} -function _setup_temp_free($f,$p,$sz) { - $f = $f|0; - $p = $p|0; - $sz = $sz|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($f)) + 80|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)==(0|0); - if ($2) { - _free($p); - return; - } else { - $3 = (($sz) + 3)|0; - $4 = $3 & -4; - $5 = ((($f)) + 92|0); - $6 = HEAP32[$5>>2]|0; - $7 = (($6) + ($4))|0; - HEAP32[$5>>2] = $7; - return; - } -} -function _compute_codewords($c,$len,$n,$values) { - $c = $c|0; - $len = $len|0; - $n = $n|0; - $values = $values|0; - var $$0 = 0, $$lcssa = 0, $$lcssa37 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; - var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; - var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $available = 0, $i$014 = 0, $i$1 = 0; - var $i$1$in = 0, $i$1$in$ph = 0, $i$1$lcssa36 = 0, $k$0$lcssa = 0, $k$016 = 0, $m$0$ph = 0, $y$012 = 0, $z$0$lcssa = 0, $z$09 = 0, dest = 0, label = 0, sp = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 128|0; - $available = sp; - dest=$available; stop=dest+128|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - $0 = ($n|0)>(0); - L1: do { - if ($0) { - $k$016 = 0; - while(1) { - $1 = (($len) + ($k$016)|0); - $2 = HEAP8[$1>>0]|0; - $3 = ($2<<24>>24)==(-1); - if (!($3)) { - $k$0$lcssa = $k$016; - break L1; - } - $4 = (($k$016) + 1)|0; - $5 = ($4|0)<($n|0); - if ($5) { - $k$016 = $4; - } else { - $k$0$lcssa = $4; - break; - } - } - } else { - $k$0$lcssa = 0; - } - } while(0); - $6 = ($k$0$lcssa|0)==($n|0); - if ($6) { - $7 = ((($c)) + 2092|0); - $8 = HEAP32[$7>>2]|0; - $9 = ($8|0)==(0); - if ($9) { - $$0 = 1; - STACKTOP = sp;return ($$0|0); - } else { - ___assert_fail((14491|0),(12804|0),662,(14514|0)); - // unreachable; - } - } - $10 = (($len) + ($k$0$lcssa)|0); - $11 = HEAP8[$10>>0]|0; - $12 = $11&255; - _add_entry($c,0,$k$0$lcssa,0,$12,$values); - $13 = HEAP8[$10>>0]|0; - $14 = ($13<<24>>24)==(0); - if ($14) { - $i$1$in$ph = $k$0$lcssa;$m$0$ph = 1; - } else { - $15 = HEAP8[$10>>0]|0; - $16 = $15&255; - $i$014 = 1; - while(1) { - $17 = (32 - ($i$014))|0; - $18 = 1 << $17; - $19 = (($available) + ($i$014<<2)|0); - HEAP32[$19>>2] = $18; - $20 = (($i$014) + 1)|0; - $21 = ($i$014|0)<($16|0); - if ($21) { - $i$014 = $20; - } else { - $i$1$in$ph = $k$0$lcssa;$m$0$ph = 1; - break; - } - } - } - L16: while(1) { - $i$1$in = $i$1$in$ph; - while(1) { - $i$1 = (($i$1$in) + 1)|0; - $22 = ($i$1|0)<($n|0); - if (!($22)) { - $$0 = 1; - label = 26; - break L16; - } - $23 = (($len) + ($i$1)|0); - $24 = HEAP8[$23>>0]|0; - $25 = ($24<<24>>24)==(-1); - if ($25) { - $i$1$in = $i$1; - } else { - $$lcssa = $23;$$lcssa37 = $24;$i$1$lcssa36 = $i$1; - break; - } - } - $26 = $$lcssa37&255; - $27 = ($$lcssa37<<24>>24)==(0); - L22: do { - if ($27) { - $z$0$lcssa = $26; - } else { - $z$09 = $26; - while(1) { - $28 = (($available) + ($z$09<<2)|0); - $29 = HEAP32[$28>>2]|0; - $30 = ($29|0)==(0); - if (!($30)) { - $z$0$lcssa = $z$09; - break L22; - } - $31 = (($z$09) + -1)|0; - $32 = ($z$09|0)>(1); - if ($32) { - $z$09 = $31; - } else { - $z$0$lcssa = $31; - break; - } - } - } - } while(0); - $33 = ($z$0$lcssa|0)==(0); - if ($33) { - $$0 = 0; - label = 26; - break; - } - $34 = (($available) + ($z$0$lcssa<<2)|0); - $35 = HEAP32[$34>>2]|0; - $36 = ($z$0$lcssa>>>0)<(32); - if (!($36)) { - label = 18; - break; - } - HEAP32[$34>>2] = 0; - $37 = (_bit_reverse($35)|0); - $38 = (($m$0$ph) + 1)|0; - $39 = HEAP8[$$lcssa>>0]|0; - $40 = $39&255; - _add_entry($c,$37,$i$1$lcssa36,$m$0$ph,$40,$values); - $41 = HEAP8[$$lcssa>>0]|0; - $42 = $41&255; - $43 = ($z$0$lcssa|0)==($42|0); - if ($43) { - $i$1$in$ph = $i$1$lcssa36;$m$0$ph = $38; - continue; - } - $44 = ($41&255)<(32); - if (!($44)) { - label = 22; - break; - } - $45 = ($42|0)>($z$0$lcssa|0); - if ($45) { - $y$012 = $42; - } else { - $i$1$in$ph = $i$1$lcssa36;$m$0$ph = $38; - continue; - } - while(1) { - $46 = (($available) + ($y$012<<2)|0); - $47 = HEAP32[$46>>2]|0; - $48 = ($47|0)==(0); - if (!($48)) { - label = 24; - break L16; - } - $49 = (32 - ($y$012))|0; - $50 = 1 << $49; - $51 = (($50) + ($35))|0; - HEAP32[$46>>2] = $51; - $52 = (($y$012) + -1)|0; - $53 = ($52|0)>($z$0$lcssa|0); - if ($53) { - $y$012 = $52; - } else { - $i$1$in$ph = $i$1$lcssa36;$m$0$ph = $38; - continue L16; - } - } - } - if ((label|0) == 18) { - ___assert_fail((14532|0),(12804|0),685,(14514|0)); - // unreachable; - } - else if ((label|0) == 22) { - ___assert_fail((14549|0),(12804|0),690,(14514|0)); - // unreachable; - } - else if ((label|0) == 24) { - ___assert_fail((14576|0),(12804|0),692,(14514|0)); - // unreachable; - } - else if ((label|0) == 26) { - STACKTOP = sp;return ($$0|0); - } - return (0)|0; -} -function _compute_sorted_huffman($c,$lengths,$values) { - $c = $c|0; - $lengths = $lengths|0; - $values = $values|0; - var $$ = 0, $$in = 0, $$pn = 0, $$sink$in = 0, $$sink1 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0; - var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0; - var $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0; - var $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0; - var $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $i$010 = 0, $i$114 = 0, $i$25 = 0, $k$0$lcssa = 0; - var $k$09 = 0, $k$1 = 0, $n$04 = 0, $x$0$ = 0, $x$0$lcssa = 0, $x$03 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($c)) + 23|0); - $1 = HEAP8[$0>>0]|0; - $2 = ($1<<24>>24)==(0); - if ($2) { - $10 = ((($c)) + 4|0); - $11 = HEAP32[$10>>2]|0; - $12 = ($11|0)>(0); - if ($12) { - $13 = ((($c)) + 32|0); - $14 = ((($c)) + 2084|0); - $i$010 = 0;$k$09 = 0; - while(1) { - $15 = (($lengths) + ($i$010)|0); - $16 = HEAP8[$15>>0]|0; - $17 = (_include_in_sort($c,$16)|0); - $18 = ($17|0)==(0); - if ($18) { - $k$1 = $k$09; - } else { - $19 = HEAP32[$13>>2]|0; - $20 = (($19) + ($i$010<<2)|0); - $21 = HEAP32[$20>>2]|0; - $22 = (_bit_reverse($21)|0); - $23 = (($k$09) + 1)|0; - $24 = HEAP32[$14>>2]|0; - $25 = (($24) + ($k$09<<2)|0); - HEAP32[$25>>2] = $22; - $k$1 = $23; - } - $26 = (($i$010) + 1)|0; - $27 = HEAP32[$10>>2]|0; - $28 = ($26|0)<($27|0); - if ($28) { - $i$010 = $26;$k$09 = $k$1; - } else { - $k$0$lcssa = $k$1; - break; - } - } - } else { - $k$0$lcssa = 0; - } - $29 = ((($c)) + 2092|0); - $30 = HEAP32[$29>>2]|0; - $31 = ($k$0$lcssa|0)==($30|0); - if (!($31)) { - ___assert_fail((14383|0),(12804|0),759,(14406|0)); - // unreachable; - } - } else { - $3 = ((($c)) + 2092|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)>(0); - if ($5) { - $6 = ((($c)) + 32|0); - $7 = HEAP32[$6>>2]|0; - $8 = ((($c)) + 2084|0); - $9 = HEAP32[$8>>2]|0; - $i$114 = 0; - while(1) { - $32 = (($7) + ($i$114<<2)|0); - $33 = HEAP32[$32>>2]|0; - $34 = (_bit_reverse($33)|0); - $35 = (($9) + ($i$114<<2)|0); - HEAP32[$35>>2] = $34; - $36 = (($i$114) + 1)|0; - $37 = HEAP32[$3>>2]|0; - $38 = ($36|0)<($37|0); - if ($38) { - $i$114 = $36; - } else { - break; - } - } - } - } - $39 = ((($c)) + 2084|0); - $40 = HEAP32[$39>>2]|0; - $41 = ((($c)) + 2092|0); - $42 = HEAP32[$41>>2]|0; - _qsort($40,$42,4,2); - $43 = HEAP32[$41>>2]|0; - $44 = HEAP32[$39>>2]|0; - $45 = (($44) + ($43<<2)|0); - HEAP32[$45>>2] = -1; - $46 = HEAP8[$0>>0]|0; - $47 = ($46<<24>>24)==(0); - $48 = ((($c)) + 4|0); - $$in = $47 ? $48 : $41; - $49 = HEAP32[$$in>>2]|0; - $50 = ($49|0)>(0); - if (!($50)) { - return; - } - $51 = ((($c)) + 32|0); - $52 = ((($c)) + 2088|0); - $53 = ((($c)) + 2088|0); - $54 = ((($c)) + 8|0); - $i$25 = 0; - L20: while(1) { - $55 = HEAP8[$0>>0]|0; - $56 = ($55<<24>>24)==(0); - if ($56) { - $$pn = $i$25; - } else { - $57 = (($values) + ($i$25<<2)|0); - $58 = HEAP32[$57>>2]|0; - $$pn = $58; - } - $$sink$in = (($lengths) + ($$pn)|0); - $$sink1 = HEAP8[$$sink$in>>0]|0; - $59 = (_include_in_sort($c,$$sink1)|0); - $60 = ($59|0)==(0); - do { - if (!($60)) { - $61 = HEAP32[$51>>2]|0; - $62 = (($61) + ($i$25<<2)|0); - $63 = HEAP32[$62>>2]|0; - $64 = (_bit_reverse($63)|0); - $65 = HEAP32[$41>>2]|0; - $66 = ($65|0)>(1); - if ($66) { - $67 = HEAP32[$39>>2]|0; - $n$04 = $65;$x$03 = 0; - while(1) { - $68 = $n$04 >> 1; - $69 = (($68) + ($x$03))|0; - $70 = (($67) + ($69<<2)|0); - $71 = HEAP32[$70>>2]|0; - $72 = ($71>>>0)>($64>>>0); - $73 = (($n$04) - ($68))|0; - $x$0$ = $72 ? $x$03 : $69; - $$ = $72 ? $68 : $73; - $74 = ($$|0)>(1); - if ($74) { - $n$04 = $$;$x$03 = $x$0$; - } else { - $x$0$lcssa = $x$0$; - break; - } - } - } else { - $x$0$lcssa = 0; - } - $75 = HEAP32[$39>>2]|0; - $76 = (($75) + ($x$0$lcssa<<2)|0); - $77 = HEAP32[$76>>2]|0; - $78 = ($77|0)==($64|0); - if (!($78)) { - label = 21; - break L20; - } - $79 = HEAP8[$0>>0]|0; - $80 = ($79<<24>>24)==(0); - if ($80) { - $87 = HEAP32[$52>>2]|0; - $88 = (($87) + ($x$0$lcssa<<2)|0); - HEAP32[$88>>2] = $i$25; - break; - } else { - $81 = (($values) + ($i$25<<2)|0); - $82 = HEAP32[$81>>2]|0; - $83 = HEAP32[$53>>2]|0; - $84 = (($83) + ($x$0$lcssa<<2)|0); - HEAP32[$84>>2] = $82; - $85 = HEAP32[$54>>2]|0; - $86 = (($85) + ($x$0$lcssa)|0); - HEAP8[$86>>0] = $$sink1; - break; - } - } - } while(0); - $89 = (($i$25) + 1)|0; - $90 = ($89|0)<($49|0); - if ($90) { - $i$25 = $89; - } else { - label = 26; - break; - } - } - if ((label|0) == 21) { - ___assert_fail((14429|0),(12804|0),789,(14406|0)); - // unreachable; - } - else if ((label|0) == 26) { - return; - } -} -function _compute_accelerated_huffman($c) { - $c = $c|0; - var $$in = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $i$12 = 0, $scevgep = 0; - var $z$0$ph = 0, $z$01 = 0, label = 0, sp = 0; - sp = STACKTOP; - $scevgep = ((($c)) + 36|0); - _memset(($scevgep|0),-1,2048)|0; - $0 = ((($c)) + 23|0); - $1 = HEAP8[$0>>0]|0; - $2 = ($1<<24>>24)==(0); - $3 = ((($c)) + 2092|0); - $4 = ((($c)) + 4|0); - $$in = $2 ? $4 : $3; - $5 = HEAP32[$$in>>2]|0; - $6 = ($5|0)>(0); - if (!($6)) { - return; - } - $7 = ((($c)) + 8|0); - $8 = ((($c)) + 32|0); - $9 = ((($c)) + 2084|0); - $10 = ($5|0)<(32767); - $11 = $10 ? $5 : 32767; - $i$12 = 0; - while(1) { - $12 = HEAP32[$7>>2]|0; - $13 = (($12) + ($i$12)|0); - $14 = HEAP8[$13>>0]|0; - $15 = ($14&255)<(11); - if ($15) { - $16 = HEAP8[$0>>0]|0; - $17 = ($16<<24>>24)==(0); - if ($17) { - $22 = HEAP32[$8>>2]|0; - $23 = (($22) + ($i$12<<2)|0); - $24 = HEAP32[$23>>2]|0; - $z$0$ph = $24; - } else { - $18 = HEAP32[$9>>2]|0; - $19 = (($18) + ($i$12<<2)|0); - $20 = HEAP32[$19>>2]|0; - $21 = (_bit_reverse($20)|0); - $z$0$ph = $21; - } - $25 = ($z$0$ph>>>0)<(1024); - if ($25) { - $26 = $i$12&65535; - $z$01 = $z$0$ph; - while(1) { - $27 = (((($c)) + 36|0) + ($z$01<<1)|0); - HEAP16[$27>>1] = $26; - $28 = HEAP32[$7>>2]|0; - $29 = (($28) + ($i$12)|0); - $30 = HEAP8[$29>>0]|0; - $31 = $30&255; - $32 = 1 << $31; - $33 = (($32) + ($z$01))|0; - $34 = ($33>>>0)<(1024); - if ($34) { - $z$01 = $33; - } else { - break; - } - } - } - } - $35 = (($i$12) + 1)|0; - $exitcond = ($35|0)==($11|0); - if ($exitcond) { - break; - } else { - $i$12 = $35; - } - } - return; -} -function _float32_unpack($x) { - $x = $x|0; - var $0 = 0, $1 = 0, $10 = 0.0, $11 = 0.0, $2 = 0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = $x & 2097151; - $1 = $x >>> 21; - $2 = $1 & 1023; - $3 = ($x|0)<(0); - $4 = (+($0>>>0)); - $5 = -$4; - $6 = $3 ? $5 : $4; - $7 = $6; - $8 = $7; - $9 = (($2) + -788)|0; - $10 = (+_ldexp($8,$9)); - $11 = $10; - return (+$11); -} -function _lookup1_values($entries,$dim) { - $entries = $entries|0; - $dim = $dim|0; - var $$ = 0, $0 = 0.0, $1 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0, $17 = 0, $18 = 0.0, $19 = 0.0, $2 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0, $24 = 0.0, $25 = 0.0; - var $26 = 0.0, $27 = 0, $28 = 0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0, $not$ = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (+($entries|0)); - $1 = $0; - $2 = (+Math_log((+$1))); - $3 = $2; - $4 = (+($dim|0)); - $5 = $3 / $4; - $6 = $5; - $7 = (+Math_exp((+$6))); - $8 = (+Math_floor((+$7))); - $9 = (~~(($8))); - $10 = (+($9|0)); - $11 = $10 + 1.0; - $12 = $11; - $13 = (+($dim|0)); - $14 = (+Math_pow((+$12),(+$13))); - $15 = (+Math_floor((+$14))); - $16 = (~~(($15))); - $not$ = ($16|0)<=($entries|0); - $17 = $not$&1; - $$ = (($17) + ($9))|0; - $18 = (+($$|0)); - $19 = $18 + 1.0; - $20 = $19; - $21 = (+Math_pow((+$20),(+$13))); - $22 = (+($entries|0)); - $23 = $21 > $22; - if (!($23)) { - ___assert_fail((14292|0),(12804|0),814,(14324|0)); - // unreachable; - } - $24 = $18; - $25 = (+Math_pow((+$24),(+$13))); - $26 = (+Math_floor((+$25))); - $27 = (~~(($26))); - $28 = ($27|0)>($entries|0); - if ($28) { - ___assert_fail((14339|0),(12804|0),815,(14324|0)); - // unreachable; - } else { - return ($$|0); - } - return (0)|0; -} -function _point_compare($p,$q) { - $p = $p|0; - $q = $q|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP16[$p>>1]|0; - $1 = HEAP16[$q>>1]|0; - $2 = ($0&65535)<($1&65535); - $3 = ($0&65535)>($1&65535); - $4 = $3&1; - $5 = $2 ? -1 : $4; - return ($5|0); -} -function _neighbors($x,$n,$plow,$phigh) { - $x = $x|0; - $n = $n|0; - $plow = $plow|0; - $phigh = $phigh|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0; - var $high$02 = 0, $high$1 = 0, $i$03 = 0, $low$01 = 0, $low$1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ($n|0)>(0); - if (!($0)) { - return; - } - $1 = (($x) + ($n<<1)|0); - $2 = (($x) + ($n<<1)|0); - $high$02 = 65536;$i$03 = 0;$low$01 = -1; - while(1) { - $3 = (($x) + ($i$03<<1)|0); - $4 = HEAP16[$3>>1]|0; - $5 = $4&65535; - $6 = ($5|0)>($low$01|0); - if ($6) { - $7 = HEAP16[$1>>1]|0; - $8 = ($4&65535)<($7&65535); - if ($8) { - HEAP32[$plow>>2] = $i$03; - $9 = HEAP16[$3>>1]|0; - $10 = $9&65535; - $low$1 = $10; - } else { - $low$1 = $low$01; - } - } else { - $low$1 = $low$01; - } - $11 = HEAP16[$3>>1]|0; - $12 = $11&65535; - $13 = ($12|0)<($high$02|0); - if ($13) { - $14 = HEAP16[$2>>1]|0; - $15 = ($11&65535)>($14&65535); - if ($15) { - HEAP32[$phigh>>2] = $i$03; - $16 = HEAP16[$3>>1]|0; - $17 = $16&65535; - $high$1 = $17; - } else { - $high$1 = $high$02; - } - } else { - $high$1 = $high$02; - } - $18 = (($i$03) + 1)|0; - $exitcond = ($18|0)==($n|0); - if ($exitcond) { - break; - } else { - $high$02 = $high$1;$i$03 = $18;$low$01 = $low$1; - } - } - return; -} -function _init_blocksize($f,$b,$n) { - $f = $f|0; - $b = $b|0; - $n = $n|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0; - var $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = $n >>> 1; - $1 = $n & -4; - $2 = $n >> 3; - $3 = $0 << 2; - $4 = (_setup_malloc($f,$3)|0); - $5 = (((($f)) + 1068|0) + ($b<<2)|0); - HEAP32[$5>>2] = $4; - $6 = (_setup_malloc($f,$3)|0); - $7 = (((($f)) + 1076|0) + ($b<<2)|0); - HEAP32[$7>>2] = $6; - $8 = (_setup_malloc($f,$1)|0); - $9 = (((($f)) + 1084|0) + ($b<<2)|0); - HEAP32[$9>>2] = $8; - $10 = HEAP32[$5>>2]|0; - $11 = ($10|0)==(0|0); - if (!($11)) { - $12 = HEAP32[$7>>2]|0; - $13 = ($12|0)==(0|0); - $14 = ($8|0)==(0|0); - $or$cond = $14 | $13; - if (!($or$cond)) { - _compute_twiddle_factors($n,$10,$12,$8); - $15 = (_setup_malloc($f,$3)|0); - $16 = (((($f)) + 1092|0) + ($b<<2)|0); - HEAP32[$16>>2] = $15; - $17 = ($15|0)==(0|0); - if ($17) { - _error($f,3); - $$0 = 0; - return ($$0|0); - } - _compute_window($n,$15); - $18 = $2 << 1; - $19 = (_setup_malloc($f,$18)|0); - $20 = (((($f)) + 1100|0) + ($b<<2)|0); - HEAP32[$20>>2] = $19; - $21 = ($19|0)==(0|0); - if ($21) { - _error($f,3); - $$0 = 0; - return ($$0|0); - } else { - _compute_bitreverse($n,$19); - $$0 = 1; - return ($$0|0); - } - } - } - _error($f,3); - $$0 = 0; - return ($$0|0); -} -function _compute_twiddle_factors($n,$A,$B,$C) { - $n = $n|0; - $A = $A|0; - $B = $B|0; - $C = $C|0; - var $0 = 0, $1 = 0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0, $17 = 0, $18 = 0.0, $19 = 0.0, $2 = 0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0, $26 = 0.0; - var $27 = 0.0, $28 = 0.0, $29 = 0, $3 = 0.0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0.0, $35 = 0.0, $36 = 0.0, $37 = 0.0, $38 = 0.0, $39 = 0, $4 = 0, $40 = 0.0, $41 = 0.0, $42 = 0.0, $43 = 0, $44 = 0; - var $45 = 0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0.0, $9 = 0.0, $exitcond = 0, $exitcond7 = 0, $k$03 = 0, $k$11 = 0, $k2$04 = 0, $k2$12 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = $n >> 2; - $1 = $n >> 3; - $2 = ($0|0)>(0); - if ($2) { - $3 = (+($n|0)); - $k$03 = 0;$k2$04 = 0; - while(1) { - $6 = $k$03 << 2; - $7 = (+($6|0)); - $8 = $7 * 3.1415926535897931; - $9 = $8 / $3; - $10 = (+Math_cos((+$9))); - $11 = $10; - $12 = (($A) + ($k2$04<<2)|0); - HEAPF32[$12>>2] = $11; - $13 = (+Math_sin((+$9))); - $14 = $13; - $15 = -$14; - $16 = $k2$04 | 1; - $17 = (($A) + ($16<<2)|0); - HEAPF32[$17>>2] = $15; - $18 = (+($16|0)); - $19 = $18 * 3.1415926535897931; - $20 = $19 / $3; - $21 = $20 * 0.5; - $22 = (+Math_cos((+$21))); - $23 = $22; - $24 = $23 * 0.5; - $25 = (($B) + ($k2$04<<2)|0); - HEAPF32[$25>>2] = $24; - $26 = (+Math_sin((+$21))); - $27 = $26; - $28 = $27 * 0.5; - $29 = (($B) + ($16<<2)|0); - HEAPF32[$29>>2] = $28; - $30 = (($k$03) + 1)|0; - $31 = (($k2$04) + 2)|0; - $exitcond7 = ($30|0)==($0|0); - if ($exitcond7) { - break; - } else { - $k$03 = $30;$k2$04 = $31; - } - } - } - $4 = ($1|0)>(0); - if (!($4)) { - return; - } - $5 = (+($n|0)); - $k$11 = 0;$k2$12 = 0; - while(1) { - $32 = $k2$12 | 1; - $33 = $32 << 1; - $34 = (+($33|0)); - $35 = $34 * 3.1415926535897931; - $36 = $35 / $5; - $37 = (+Math_cos((+$36))); - $38 = $37; - $39 = (($C) + ($k2$12<<2)|0); - HEAPF32[$39>>2] = $38; - $40 = (+Math_sin((+$36))); - $41 = $40; - $42 = -$41; - $43 = (($C) + ($32<<2)|0); - HEAPF32[$43>>2] = $42; - $44 = (($k$11) + 1)|0; - $45 = (($k2$12) + 2)|0; - $exitcond = ($44|0)==($1|0); - if ($exitcond) { - break; - } else { - $k$11 = $44;$k2$12 = $45; - } - } - return; -} -function _compute_window($n,$window) { - $n = $n|0; - $window = $window|0; - var $0 = 0, $1 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0, $16 = 0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, $exitcond = 0, $i$01 = 0, label = 0; - var sp = 0; - sp = STACKTOP; - $0 = $n >> 1; - $1 = ($0|0)>(0); - if (!($1)) { - return; - } - $2 = (+($0|0)); - $i$01 = 0; - while(1) { - $3 = (+($i$01|0)); - $4 = $3 + 0.5; - $5 = $4 / $2; - $6 = $5 * 0.5; - $7 = $6 * 3.1415926535897931; - $8 = (+Math_sin((+$7))); - $9 = $8; - $10 = (+_square($9)); - $11 = $10; - $12 = $11 * 1.5707963267948966; - $13 = (+Math_sin((+$12))); - $14 = $13; - $15 = (($window) + ($i$01<<2)|0); - HEAPF32[$15>>2] = $14; - $16 = (($i$01) + 1)|0; - $exitcond = ($16|0)==($0|0); - if ($exitcond) { - break; - } else { - $i$01 = $16; - } - } - return; -} -function _compute_bitreverse($n,$rev) { - $n = $n|0; - $rev = $rev|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $i$01 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = $n >> 3; - $1 = ($0|0)>(0); - if (!($1)) { - return; - } - $2 = (_ilog($n)|0); - $3 = (36 - ($2))|0; - $i$01 = 0; - while(1) { - $4 = (_bit_reverse($i$01)|0); - $5 = $4 >>> $3; - $6 = $5 << 2; - $7 = $6&65535; - $8 = (($rev) + ($i$01<<1)|0); - HEAP16[$8>>1] = $7; - $9 = (($i$01) + 1)|0; - $exitcond = ($9|0)==($0|0); - if ($exitcond) { - break; - } else { - $i$01 = $9; - } - } - return; -} -function _bit_reverse($n) { - $n = $n|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0; - var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = $n >>> 1; - $1 = $0 & 1431655765; - $2 = $n << 1; - $3 = $2 & -1431655766; - $4 = $1 | $3; - $5 = $4 >>> 2; - $6 = $5 & 858993459; - $7 = $4 << 2; - $8 = $7 & -858993460; - $9 = $6 | $8; - $10 = $9 >>> 4; - $11 = $10 & 252645135; - $12 = $9 << 4; - $13 = $12 & -252645136; - $14 = $11 | $13; - $15 = $14 >>> 8; - $16 = $15 & 16711935; - $17 = $14 << 8; - $18 = $17 & -16711936; - $19 = $16 | $18; - $20 = $19 >>> 16; - $21 = $19 << 16; - $22 = $20 | $21; - return ($22|0); -} -function _square($x) { - $x = +$x; - var $0 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $0 = $x * $x; - return (+$0); -} -function _include_in_sort($c,$len) { - $c = $c|0; - $len = $len|0; - var $$ = 0, $$0 = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($c)) + 23|0); - $1 = HEAP8[$0>>0]|0; - $2 = ($1<<24>>24)==(0); - $3 = ($len<<24>>24)==(-1); - if (!($2)) { - if ($3) { - ___assert_fail((14460|0),(12804|0),739,(14475|0)); - // unreachable; - } else { - $$0 = 1; - return ($$0|0); - } - } - if ($3) { - $$0 = 0; - return ($$0|0); - } - $4 = ($len&255)>(10); - $$ = $4&1; - $$0 = $$; - return ($$0|0); -} -function _uint32_compare($p,$q) { - $p = $p|0; - $q = $q|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[$p>>2]|0; - $1 = HEAP32[$q>>2]|0; - $2 = ($0>>>0)<($1>>>0); - $3 = ($0>>>0)>($1>>>0); - $4 = $3&1; - $5 = $2 ? -1 : $4; - return ($5|0); -} -function _add_entry($c,$huff_code,$symbol,$count,$len,$values) { - $c = $c|0; - $huff_code = $huff_code|0; - $symbol = $symbol|0; - $count = $count|0; - $len = $len|0; - $values = $values|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($c)) + 23|0); - $1 = HEAP8[$0>>0]|0; - $2 = ($1<<24>>24)==(0); - $3 = ((($c)) + 32|0); - $4 = HEAP32[$3>>2]|0; - if ($2) { - $5 = (($4) + ($symbol<<2)|0); - HEAP32[$5>>2] = $huff_code; - return; - } else { - $6 = (($4) + ($count<<2)|0); - HEAP32[$6>>2] = $huff_code; - $7 = $len&255; - $8 = ((($c)) + 8|0); - $9 = HEAP32[$8>>2]|0; - $10 = (($9) + ($count)|0); - HEAP8[$10>>0] = $7; - $11 = (($values) + ($count<<2)|0); - HEAP32[$11>>2] = $symbol; - return; - } -} -function _get_window($f,$len) { - $f = $f|0; - $len = $len|0; - var $$0 = 0, $$0$in = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = $len << 1; - $1 = ((($f)) + 112|0); - $2 = HEAP32[$1>>2]|0; - $3 = ($0|0)==($2|0); - if ($3) { - $4 = ((($f)) + 1092|0); - $$0$in = $4; - $$0 = HEAP32[$$0$in>>2]|0; - return ($$0|0); - } - $5 = ((($f)) + 116|0); - $6 = HEAP32[$5>>2]|0; - $7 = ($0|0)==($6|0); - if (!($7)) { - ___assert_fail((14600|0),(12804|0),2655,(14602|0)); - // unreachable; - } - $8 = ((($f)) + 1096|0); - $$0$in = $8; - $$0 = HEAP32[$$0$in>>2]|0; - return ($$0|0); -} -function _vorbis_decode_packet_rest($f,$len,$m,$left_start,$right_start,$right_end,$p_left) { - $f = $f|0; - $len = $len|0; - $m = $m|0; - $left_start = $left_start|0; - $right_start = $right_start|0; - $right_end = $right_end|0; - $p_left = $p_left|0; - var $$ = 0, $$0 = 0, $$01 = 0, $$2 = 0, $$3 = 0, $$4 = 0, $$5 = 0, $$lcssa = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0; - var $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0; - var $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0; - var $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0; - var $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0; - var $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0; - var $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0; - var $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0; - var $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0; - var $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0; - var $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0; - var $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0; - var $307 = 0.0, $308 = 0, $309 = 0, $31 = 0, $310 = 0.0, $311 = 0, $312 = 0.0, $313 = 0.0, $314 = 0.0, $315 = 0.0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0; - var $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0; - var $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0; - var $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0; - var $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $4 = 0, $40 = 0; - var $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0; - var $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0; - var $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0; - var $96 = 0, $97 = 0, $98 = 0, $99 = 0, $a2$0 = 0.0, $ch$0$lcssa = 0, $ch$023 = 0, $ch$1 = 0, $cval$0 = 0, $cval$2$ph = 0, $cval$236 = 0, $do_not_decode = 0, $exitcond = 0, $exitcond58 = 0, $i$053 = 0, $i$131 = 0, $i$228 = 0, $i$320 = 0, $i$320$in = 0, $i$414 = 0; - var $i$513 = 0, $j$043 = 0, $j$147 = 0, $j$251 = 0, $j$324 = 0, $j$416 = 0, $k$038 = 0, $m2$0 = 0.0, $offset$042 = 0, $offset$1$lcssa = 0, $offset$137 = 0, $offset$2 = 0, $really_zero_channel = 0, $right_end$ = 0, $room$0 = 0, $step2_flag = 0, $storemerge = 0, $temp$0 = 0, $temp$1 = 0, $zero_channel = 0; - var label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 2560|0; - $zero_channel = sp + 1280|0; - $really_zero_channel = sp + 256|0; - $step2_flag = sp; - $do_not_decode = sp + 2304|0; - $0 = HEAP8[$m>>0]|0; - $1 = $0&255; - $2 = (((($f)) + 104|0) + ($1<<2)|0); - $3 = HEAP32[$2>>2]|0; - $4 = ((($m)) + 1|0); - $5 = HEAP8[$4>>0]|0; - $6 = $5&255; - $7 = ((($f)) + 404|0); - $8 = HEAP32[$7>>2]|0; - $9 = (($8) + (($6*40)|0)|0); - $10 = $3 >> 1; - $11 = (0 - ($10))|0; - $12 = ((($f)) + 4|0); - $13 = HEAP32[$12>>2]|0; - $14 = ($13|0)>(0); - L1: do { - if ($14) { - $15 = (((($8) + (($6*40)|0)|0)) + 4|0); - $16 = ((($f)) + 260|0); - $17 = ((($f)) + 1396|0); - $18 = ((($step2_flag)) + 1|0); - $19 = ((($f)) + 124|0); - $20 = ((($f)) + 1396|0); - $21 = ((($f)) + 1392|0); - $22 = ((($f)) + 124|0); - $23 = ((($f)) + 1396|0); - $24 = ((($f)) + 1392|0); - $i$053 = 0; - while(1) { - $25 = HEAP32[$15>>2]|0; - $26 = (((($25) + (($i$053*3)|0)|0)) + 2|0); - $27 = HEAP8[$26>>0]|0; - $28 = $27&255; - $29 = (($zero_channel) + ($i$053<<2)|0); - HEAP32[$29>>2] = 0; - $30 = ((((($8) + (($6*40)|0)|0)) + 9|0) + ($28)|0); - $31 = HEAP8[$30>>0]|0; - $32 = $31&255; - $33 = (((($f)) + 132|0) + ($32<<1)|0); - $34 = HEAP16[$33>>1]|0; - $35 = ($34<<16>>16)==(0); - if ($35) { - break; - } - $36 = HEAP32[$16>>2]|0; - $37 = (_get_bits($f,1)|0); - $38 = ($37|0)==(0); - do { - if ($38) { - label = 50; - } else { - $39 = (((($36) + (($32*1596)|0)|0)) + 1588|0); - $40 = HEAP8[$39>>0]|0; - $41 = $40&255; - $42 = (($41) + -1)|0; - $43 = (6984 + ($42<<2)|0); - $44 = HEAP32[$43>>2]|0; - $45 = (((($f)) + 996|0) + ($i$053<<2)|0); - $46 = HEAP32[$45>>2]|0; - $47 = (_ilog($44)|0); - $48 = (($47) + -1)|0; - $49 = (_get_bits($f,$48)|0); - $50 = $49&65535; - HEAP16[$46>>1] = $50; - $51 = (_get_bits($f,$48)|0); - $52 = $51&65535; - $53 = ((($46)) + 2|0); - HEAP16[$53>>1] = $52; - $54 = (($36) + (($32*1596)|0)|0); - $55 = HEAP8[$54>>0]|0; - $56 = ($55<<24>>24)==(0); - if (!($56)) { - $j$043 = 0;$offset$042 = 2; - while(1) { - $57 = ((((($36) + (($32*1596)|0)|0)) + 1|0) + ($j$043)|0); - $58 = HEAP8[$57>>0]|0; - $59 = $58&255; - $60 = ((((($36) + (($32*1596)|0)|0)) + 33|0) + ($59)|0); - $61 = HEAP8[$60>>0]|0; - $62 = ((((($36) + (($32*1596)|0)|0)) + 49|0) + ($59)|0); - $63 = HEAP8[$62>>0]|0; - $64 = $63&255; - $65 = 1 << $64; - $66 = (($65) + -1)|0; - $67 = ($63<<24>>24)==(0); - if ($67) { - $cval$2$ph = 0; - } else { - $68 = HEAP32[$19>>2]|0; - $69 = ((((($36) + (($32*1596)|0)|0)) + 65|0) + ($59)|0); - $70 = HEAP8[$69>>0]|0; - $71 = $70&255; - $72 = (($68) + (($71*2096)|0)|0); - $73 = HEAP32[$20>>2]|0; - $74 = ($73|0)<(10); - if ($74) { - _prep_huffman($f); - } - $75 = HEAP32[$21>>2]|0; - $76 = $75 & 1023; - $77 = ((((($68) + (($71*2096)|0)|0)) + 36|0) + ($76<<1)|0); - $78 = HEAP16[$77>>1]|0; - $79 = $78 << 16 >> 16; - $80 = ($78<<16>>16)>(-1); - if ($80) { - $81 = (((($68) + (($71*2096)|0)|0)) + 8|0); - $82 = HEAP32[$81>>2]|0; - $83 = (($82) + ($79)|0); - $84 = HEAP8[$83>>0]|0; - $85 = $84&255; - $86 = $75 >>> $85; - HEAP32[$21>>2] = $86; - $87 = HEAP32[$20>>2]|0; - $88 = (($87) - ($85))|0; - $89 = ($88|0)<(0); - $$ = $89 ? 0 : $88; - HEAP32[$20>>2] = $$; - $$2 = $89 ? -1 : $79; - $cval$0 = $$2; - } else { - $90 = (_codebook_decode_scalar_raw($f,$72)|0); - $cval$0 = $90; - } - $91 = (((($68) + (($71*2096)|0)|0)) + 23|0); - $92 = HEAP8[$91>>0]|0; - $93 = ($92<<24>>24)==(0); - if ($93) { - $cval$2$ph = $cval$0; - } else { - $94 = (((($68) + (($71*2096)|0)|0)) + 2088|0); - $95 = HEAP32[$94>>2]|0; - $96 = (($95) + ($cval$0<<2)|0); - $97 = HEAP32[$96>>2]|0; - $cval$2$ph = $97; - } - } - $98 = ($61<<24>>24)==(0); - if ($98) { - $offset$1$lcssa = $offset$042; - } else { - $99 = $61&255; - $cval$236 = $cval$2$ph;$k$038 = 0;$offset$137 = $offset$042; - while(1) { - $100 = $cval$236 & $66; - $101 = (((((($36) + (($32*1596)|0)|0)) + 82|0) + ($59<<4)|0) + ($100<<1)|0); - $102 = HEAP16[$101>>1]|0; - $103 = $cval$236 >> $64; - $104 = ($102<<16>>16)>(-1); - if ($104) { - $105 = $102 << 16 >> 16; - $106 = HEAP32[$22>>2]|0; - $107 = (($106) + (($105*2096)|0)|0); - $108 = HEAP32[$23>>2]|0; - $109 = ($108|0)<(10); - if ($109) { - _prep_huffman($f); - } - $110 = HEAP32[$24>>2]|0; - $111 = $110 & 1023; - $112 = ((((($106) + (($105*2096)|0)|0)) + 36|0) + ($111<<1)|0); - $113 = HEAP16[$112>>1]|0; - $114 = $113 << 16 >> 16; - $115 = ($113<<16>>16)>(-1); - if ($115) { - $116 = (((($106) + (($105*2096)|0)|0)) + 8|0); - $117 = HEAP32[$116>>2]|0; - $118 = (($117) + ($114)|0); - $119 = HEAP8[$118>>0]|0; - $120 = $119&255; - $121 = $110 >>> $120; - HEAP32[$24>>2] = $121; - $122 = HEAP32[$23>>2]|0; - $123 = (($122) - ($120))|0; - $124 = ($123|0)<(0); - $$3 = $124 ? 0 : $123; - HEAP32[$23>>2] = $$3; - $$4 = $124 ? -1 : $114; - $temp$0 = $$4; - } else { - $125 = (_codebook_decode_scalar_raw($f,$107)|0); - $temp$0 = $125; - } - $126 = (((($106) + (($105*2096)|0)|0)) + 23|0); - $127 = HEAP8[$126>>0]|0; - $128 = ($127<<24>>24)==(0); - if ($128) { - $temp$1 = $temp$0; - } else { - $129 = (((($106) + (($105*2096)|0)|0)) + 2088|0); - $130 = HEAP32[$129>>2]|0; - $131 = (($130) + ($temp$0<<2)|0); - $132 = HEAP32[$131>>2]|0; - $temp$1 = $132; - } - $133 = $temp$1&65535; - $134 = (($46) + ($offset$137<<1)|0); - HEAP16[$134>>1] = $133; - } else { - $135 = (($46) + ($offset$137<<1)|0); - HEAP16[$135>>1] = 0; - } - $offset$2 = (($offset$137) + 1)|0; - $136 = (($k$038) + 1)|0; - $exitcond58 = ($136|0)==($99|0); - if ($exitcond58) { - break; - } else { - $cval$236 = $103;$k$038 = $136;$offset$137 = $offset$2; - } - } - $137 = (($offset$042) + ($99))|0; - $offset$1$lcssa = $137; - } - $138 = (($j$043) + 1)|0; - $139 = HEAP8[$54>>0]|0; - $140 = $139&255; - $141 = ($138|0)<($140|0); - if ($141) { - $j$043 = $138;$offset$042 = $offset$1$lcssa; - } else { - break; - } - } - } - $142 = HEAP32[$17>>2]|0; - $143 = ($142|0)==(-1); - if ($143) { - label = 50; - break; - } - HEAP8[$18>>0] = 1; - HEAP8[$step2_flag>>0] = 1; - $144 = (((($36) + (($32*1596)|0)|0)) + 1592|0); - $145 = HEAP32[$144>>2]|0; - $146 = ($145|0)>(2); - if ($146) { - $147 = (($44) + 65535)|0; - $j$147 = 2; - while(1) { - $151 = ((((($36) + (($32*1596)|0)|0)) + 1088|0) + ($j$147<<1)|0); - $152 = HEAP8[$151>>0]|0; - $153 = $152&255; - $154 = ((((((($36) + (($32*1596)|0)|0)) + 1088|0) + ($j$147<<1)|0)) + 1|0); - $155 = HEAP8[$154>>0]|0; - $156 = $155&255; - $157 = ((((($36) + (($32*1596)|0)|0)) + 338|0) + ($j$147<<1)|0); - $158 = HEAP16[$157>>1]|0; - $159 = $158&65535; - $160 = ((((($36) + (($32*1596)|0)|0)) + 338|0) + ($153<<1)|0); - $161 = HEAP16[$160>>1]|0; - $162 = $161&65535; - $163 = ((((($36) + (($32*1596)|0)|0)) + 338|0) + ($156<<1)|0); - $164 = HEAP16[$163>>1]|0; - $165 = $164&65535; - $166 = (($46) + ($153<<1)|0); - $167 = HEAP16[$166>>1]|0; - $168 = $167 << 16 >> 16; - $169 = (($46) + ($156<<1)|0); - $170 = HEAP16[$169>>1]|0; - $171 = $170 << 16 >> 16; - $172 = (_predict_point($159,$162,$165,$168,$171)|0); - $173 = (($46) + ($j$147<<1)|0); - $174 = HEAP16[$173>>1]|0; - $175 = $174 << 16 >> 16; - $176 = (($44) - ($172))|0; - $177 = ($174<<16>>16)==(0); - do { - if ($177) { - $195 = (($step2_flag) + ($j$147)|0); - HEAP8[$195>>0] = 0; - $196 = $172&65535; - HEAP16[$173>>1] = $196; - } else { - $178 = ($176|0)<($172|0); - $$5 = $178 ? $176 : $172; - $room$0 = $$5 << 1; - $179 = (($step2_flag) + ($156)|0); - HEAP8[$179>>0] = 1; - $180 = (($step2_flag) + ($153)|0); - HEAP8[$180>>0] = 1; - $181 = (($step2_flag) + ($j$147)|0); - HEAP8[$181>>0] = 1; - $182 = ($175|0)<($room$0|0); - if ($182) { - $186 = $175 & 1; - $187 = ($186|0)==(0); - if ($187) { - $192 = $175 >>> 1; - $193 = (($192) + ($172))|0; - $194 = $193&65535; - HEAP16[$173>>1] = $194; - break; - } else { - $188 = (($175) + 1)|0; - $189 = $188 >>> 1; - $190 = (($172) - ($189))|0; - $191 = $190&65535; - HEAP16[$173>>1] = $191; - break; - } - } else { - $183 = ($176|0)>($172|0); - if ($183) { - HEAP16[$173>>1] = $174; - break; - } else { - $184 = (($147) - ($175))|0; - $185 = $184&65535; - HEAP16[$173>>1] = $185; - break; - } - } - } - } while(0); - $197 = (($j$147) + 1)|0; - $198 = HEAP32[$144>>2]|0; - $199 = ($197|0)<($198|0); - if ($199) { - $j$147 = $197; - } else { - $148 = $198; - break; - } - } - } else { - $148 = $145; - } - $149 = ($148|0)>(0); - if ($149) { - $150 = HEAP32[$144>>2]|0; - $j$251 = 0; - while(1) { - $200 = (($step2_flag) + ($j$251)|0); - $201 = HEAP8[$200>>0]|0; - $202 = ($201<<24>>24)==(0); - if ($202) { - $203 = (($46) + ($j$251<<1)|0); - HEAP16[$203>>1] = -1; - } - $204 = (($j$251) + 1)|0; - $205 = ($204|0)<($150|0); - if ($205) { - $j$251 = $204; - } else { - break; - } - } - } - } - } while(0); - if ((label|0) == 50) { - label = 0; - HEAP32[$29>>2] = 1; - } - $206 = (($i$053) + 1)|0; - $207 = HEAP32[$12>>2]|0; - $208 = ($206|0)<($207|0); - if ($208) { - $i$053 = $206; - } else { - break L1; - } - } - _error($f,21); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - } while(0); - $209 = ((($f)) + 80|0); - $210 = HEAP32[$209>>2]|0; - $211 = ($210|0)==(0|0); - if (!($211)) { - $212 = ((($f)) + 84|0); - $213 = HEAP32[$212>>2]|0; - $214 = ((($f)) + 92|0); - $215 = HEAP32[$214>>2]|0; - $216 = ($213|0)==($215|0); - if (!($216)) { - ___assert_fail((14144|0),(12804|0),2883,(14613|0)); - // unreachable; - } - } - $217 = HEAP32[$12>>2]|0; - $218 = $217 << 2; - _memcpy(($really_zero_channel|0),($zero_channel|0),($218|0))|0; - $219 = HEAP16[$9>>1]|0; - $220 = ($219<<16>>16)==(0); - if (!($220)) { - $221 = (((($8) + (($6*40)|0)|0)) + 4|0); - $222 = HEAP32[$221>>2]|0; - $223 = HEAP16[$9>>1]|0; - $224 = $223&65535; - $i$131 = 0; - while(1) { - $229 = (($222) + (($i$131*3)|0)|0); - $230 = HEAP8[$229>>0]|0; - $231 = $230&255; - $232 = (($zero_channel) + ($231<<2)|0); - $233 = HEAP32[$232>>2]|0; - $234 = ($233|0)==(0); - if ($234) { - label = 61; - } else { - $235 = (((($222) + (($i$131*3)|0)|0)) + 1|0); - $236 = HEAP8[$235>>0]|0; - $237 = $236&255; - $238 = (($zero_channel) + ($237<<2)|0); - $239 = HEAP32[$238>>2]|0; - $240 = ($239|0)==(0); - if ($240) { - label = 61; - } - } - if ((label|0) == 61) { - label = 0; - $241 = HEAP32[$221>>2]|0; - $242 = (((($241) + (($i$131*3)|0)|0)) + 1|0); - $243 = HEAP8[$242>>0]|0; - $244 = $243&255; - $245 = (($zero_channel) + ($244<<2)|0); - HEAP32[$245>>2] = 0; - $246 = HEAP32[$221>>2]|0; - $247 = (($246) + (($i$131*3)|0)|0); - $248 = HEAP8[$247>>0]|0; - $249 = $248&255; - $250 = (($zero_channel) + ($249<<2)|0); - HEAP32[$250>>2] = 0; - } - $251 = (($i$131) + 1)|0; - $252 = ($251|0)<($224|0); - if ($252) { - $i$131 = $251; - } else { - break; - } - } - } - $225 = (((($8) + (($6*40)|0)|0)) + 8|0); - $226 = HEAP8[$225>>0]|0; - $227 = ($226<<24>>24)==(0); - if (!($227)) { - $228 = (((($8) + (($6*40)|0)|0)) + 4|0); - $i$228 = 0; - while(1) { - $253 = HEAP32[$12>>2]|0; - $254 = ($253|0)>(0); - if ($254) { - $255 = HEAP32[$228>>2]|0; - $256 = HEAP32[$12>>2]|0; - $ch$023 = 0;$j$324 = 0; - while(1) { - $257 = (((($255) + (($j$324*3)|0)|0)) + 2|0); - $258 = HEAP8[$257>>0]|0; - $259 = $258&255; - $260 = ($259|0)==($i$228|0); - if ($260) { - $261 = (($zero_channel) + ($j$324<<2)|0); - $262 = HEAP32[$261>>2]|0; - $263 = ($262|0)==(0); - $264 = (($do_not_decode) + ($ch$023)|0); - if ($263) { - HEAP8[$264>>0] = 0; - $266 = (((($f)) + 800|0) + ($j$324<<2)|0); - $267 = HEAP32[$266>>2]|0; - $268 = (($step2_flag) + ($ch$023<<2)|0); - HEAP32[$268>>2] = $267; - } else { - HEAP8[$264>>0] = 1; - $265 = (($step2_flag) + ($ch$023<<2)|0); - HEAP32[$265>>2] = 0; - } - $269 = (($ch$023) + 1)|0; - $ch$1 = $269; - } else { - $ch$1 = $ch$023; - } - $270 = (($j$324) + 1)|0; - $271 = ($270|0)<($256|0); - if ($271) { - $ch$023 = $ch$1;$j$324 = $270; - } else { - $ch$0$lcssa = $ch$1; - break; - } - } - } else { - $ch$0$lcssa = 0; - } - $272 = ((((($8) + (($6*40)|0)|0)) + 24|0) + ($i$228)|0); - $273 = HEAP8[$272>>0]|0; - $274 = $273&255; - _decode_residue($f,$step2_flag,$ch$0$lcssa,$10,$274,$do_not_decode); - $275 = (($i$228) + 1)|0; - $276 = HEAP8[$225>>0]|0; - $277 = $276&255; - $278 = ($275|0)<($277|0); - if ($278) { - $i$228 = $275; - } else { - break; - } - } - } - $279 = HEAP32[$209>>2]|0; - $280 = ($279|0)==(0|0); - if (!($280)) { - $281 = ((($f)) + 84|0); - $282 = HEAP32[$281>>2]|0; - $283 = ((($f)) + 92|0); - $284 = HEAP32[$283>>2]|0; - $285 = ($282|0)==($284|0); - if (!($285)) { - ___assert_fail((14144|0),(12804|0),2916,(14613|0)); - // unreachable; - } - } - $286 = HEAP16[$9>>1]|0; - $287 = ($286<<16>>16)==(0); - if (!($287)) { - $288 = $286&65535; - $289 = (((($8) + (($6*40)|0)|0)) + 4|0); - $290 = HEAP32[$289>>2]|0; - $291 = ($10|0)>(0); - $i$320$in = $288; - while(1) { - $i$320 = (($i$320$in) + -1)|0; - $296 = (($290) + (($i$320*3)|0)|0); - $297 = HEAP8[$296>>0]|0; - $298 = $297&255; - $299 = (((($f)) + 800|0) + ($298<<2)|0); - $300 = HEAP32[$299>>2]|0; - $301 = (((($290) + (($i$320*3)|0)|0)) + 1|0); - $302 = HEAP8[$301>>0]|0; - $303 = $302&255; - $304 = (((($f)) + 800|0) + ($303<<2)|0); - $305 = HEAP32[$304>>2]|0; - if ($291) { - $j$416 = 0; - while(1) { - $306 = (($300) + ($j$416<<2)|0); - $307 = +HEAPF32[$306>>2]; - $308 = $307 > 0.0; - $309 = (($305) + ($j$416<<2)|0); - $310 = +HEAPF32[$309>>2]; - $311 = $310 > 0.0; - do { - if ($308) { - if ($311) { - $312 = $307 - $310; - $a2$0 = $312;$m2$0 = $307; - break; - } else { - $313 = $307 + $310; - $a2$0 = $307;$m2$0 = $313; - break; - } - } else { - if ($311) { - $314 = $307 + $310; - $a2$0 = $314;$m2$0 = $307; - break; - } else { - $315 = $307 - $310; - $a2$0 = $307;$m2$0 = $315; - break; - } - } - } while(0); - HEAPF32[$306>>2] = $m2$0; - HEAPF32[$309>>2] = $a2$0; - $316 = (($j$416) + 1)|0; - $exitcond = ($316|0)==($10|0); - if ($exitcond) { - break; - } else { - $j$416 = $316; - } - } - } - $292 = ($i$320$in|0)>(1); - if ($292) { - $i$320$in = $i$320; - } else { - break; - } - } - } - $293 = HEAP32[$12>>2]|0; - $294 = ($293|0)>(0); - if ($294) { - $295 = $10 << 2; - $i$414 = 0; - while(1) { - $318 = (($really_zero_channel) + ($i$414<<2)|0); - $319 = HEAP32[$318>>2]|0; - $320 = ($319|0)==(0); - $321 = (((($f)) + 800|0) + ($i$414<<2)|0); - if ($320) { - $323 = HEAP32[$321>>2]|0; - $324 = (((($f)) + 996|0) + ($i$414<<2)|0); - $325 = HEAP32[$324>>2]|0; - _do_floor($f,$9,$i$414,$3,$323,$325); - } else { - $322 = HEAP32[$321>>2]|0; - _memset(($322|0),0,($295|0))|0; - } - $326 = (($i$414) + 1)|0; - $327 = HEAP32[$12>>2]|0; - $328 = ($326|0)<($327|0); - if ($328) { - $i$414 = $326; - } else { - $$lcssa = $327; - break; - } - } - $317 = ($$lcssa|0)>(0); - if ($317) { - $i$513 = 0; - while(1) { - $329 = (((($f)) + 800|0) + ($i$513<<2)|0); - $330 = HEAP32[$329>>2]|0; - $331 = HEAP8[$m>>0]|0; - $332 = $331&255; - _inverse_mdct($330,$3,$f,$332); - $333 = (($i$513) + 1)|0; - $334 = HEAP32[$12>>2]|0; - $335 = ($333|0)<($334|0); - if ($335) { - $i$513 = $333; - } else { - break; - } - } - } - } - _flush_packet($f); - $336 = ((($f)) + 1377|0); - $337 = HEAP8[$336>>0]|0; - $338 = ($337<<24>>24)==(0); - do { - if ($338) { - $343 = ((($f)) + 1412|0); - $344 = HEAP32[$343>>2]|0; - $345 = ($344|0)==(0); - if ($345) { - $$01 = $left_start; - } else { - $346 = (($right_start) - ($left_start))|0; - $347 = ($344|0)<($346|0); - if ($347) { - $349 = (($344) + ($left_start))|0; - HEAP32[$p_left>>2] = $349; - HEAP32[$343>>2] = 0; - $$01 = $349; - break; - } else { - $348 = (($344) - ($346))|0; - HEAP32[$343>>2] = $348; - HEAP32[$p_left>>2] = $right_start; - $$01 = $right_start; - break; - } - } - } else { - $339 = ((($f)) + 1060|0); - HEAP32[$339>>2] = $11; - $340 = (($3) - ($right_end))|0; - $341 = ((($f)) + 1412|0); - HEAP32[$341>>2] = $340; - $342 = ((($f)) + 1064|0); - HEAP32[$342>>2] = 1; - HEAP8[$336>>0] = 0; - $$01 = $left_start; - } - } while(0); - $350 = ((($f)) + 1388|0); - $351 = HEAP32[$350>>2]|0; - $352 = ((($f)) + 1404|0); - $353 = HEAP32[$352>>2]|0; - $354 = ($351|0)==($353|0); - if ($354) { - $355 = ((($f)) + 1064|0); - $356 = HEAP32[$355>>2]|0; - $357 = ($356|0)==(0); - if (!($357)) { - $358 = ((($f)) + 1375|0); - $359 = HEAP8[$358>>0]|0; - $360 = $359 & 4; - $361 = ($360<<24>>24)==(0); - if (!($361)) { - $362 = ((($f)) + 1408|0); - $363 = HEAP32[$362>>2]|0; - $364 = (($right_end) - ($3))|0; - $365 = (($363) + ($364))|0; - $366 = ((($f)) + 1060|0); - $367 = HEAP32[$366>>2]|0; - $368 = (($right_end) - ($$01))|0; - $369 = (($368) + ($367))|0; - $370 = ($365>>>0)<($369>>>0); - if ($370) { - $371 = ($365>>>0)<($367>>>0); - $372 = (($365) - ($367))|0; - $storemerge = $371 ? 0 : $372; - $373 = (($storemerge) + ($$01))|0; - $374 = ($373|0)>($right_end|0); - $right_end$ = $374 ? $right_end : $373; - HEAP32[$len>>2] = $right_end$; - $375 = HEAP32[$366>>2]|0; - $376 = (($375) + ($right_end$))|0; - HEAP32[$366>>2] = $376; - $$0 = 1; - STACKTOP = sp;return ($$0|0); - } - } - } - $377 = ((($f)) + 1408|0); - $378 = HEAP32[$377>>2]|0; - $379 = (($$01) - ($10))|0; - $380 = (($379) + ($378))|0; - $381 = ((($f)) + 1060|0); - HEAP32[$381>>2] = $380; - HEAP32[$355>>2] = 1; - } - $382 = ((($f)) + 1064|0); - $383 = HEAP32[$382>>2]|0; - $384 = ($383|0)==(0); - if (!($384)) { - $385 = (($right_start) - ($$01))|0; - $386 = ((($f)) + 1060|0); - $387 = HEAP32[$386>>2]|0; - $388 = (($385) + ($387))|0; - HEAP32[$386>>2] = $388; - } - $389 = HEAP32[$209>>2]|0; - $390 = ($389|0)==(0|0); - if (!($390)) { - $391 = ((($f)) + 84|0); - $392 = HEAP32[$391>>2]|0; - $393 = ((($f)) + 92|0); - $394 = HEAP32[$393>>2]|0; - $395 = ($392|0)==($394|0); - if (!($395)) { - ___assert_fail((14144|0),(12804|0),3032,(14613|0)); - // unreachable; - } - } - HEAP32[$len>>2] = $right_end; - $$0 = 1; - STACKTOP = sp;return ($$0|0); -} -function _prep_huffman($f) { - $f = $f|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; - var $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($f)) + 1396|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)<(25); - if (!($2)) { - return; - } - $3 = ($1|0)==(0); - if ($3) { - $4 = ((($f)) + 1392|0); - HEAP32[$4>>2] = 0; - } - $5 = ((($f)) + 1376|0); - $6 = ((($f)) + 1384|0); - $7 = ((($f)) + 1392|0); - while(1) { - $8 = HEAP32[$6>>2]|0; - $9 = ($8|0)==(0); - if (!($9)) { - $10 = HEAP8[$5>>0]|0; - $11 = ($10<<24>>24)==(0); - if ($11) { - label = 9; - break; - } - } - $12 = (_get8_packet_raw($f)|0); - $13 = ($12|0)==(-1); - if ($13) { - label = 9; - break; - } - $14 = HEAP32[$0>>2]|0; - $15 = $12 << $14; - $16 = HEAP32[$7>>2]|0; - $17 = (($16) + ($15))|0; - HEAP32[$7>>2] = $17; - $18 = HEAP32[$0>>2]|0; - $19 = (($18) + 8)|0; - HEAP32[$0>>2] = $19; - $20 = ($19|0)<(25); - if (!($20)) { - label = 9; - break; - } - } - if ((label|0) == 9) { - return; - } -} -function _codebook_decode_scalar_raw($f,$c) { - $f = $f|0; - $c = $c|0; - var $$ = 0, $$0 = 0, $$lcssa = 0, $$lcssa25 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0; - var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0; - var $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0; - var $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0; - var $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $9 = 0, $i$05 = 0, $i$05$lcssa = 0, $n$07 = 0, $x$0$ = 0, $x$0$lcssa = 0, $x$06 = 0, $x$1 = 0, label = 0, sp = 0; - sp = STACKTOP; - _prep_huffman($f); - $0 = ((($c)) + 32|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)==(0|0); - if ($2) { - $3 = ((($c)) + 2084|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)==(0|0); - if ($5) { - $$0 = -1; - return ($$0|0); - } - } - $6 = ((($c)) + 4|0); - $7 = HEAP32[$6>>2]|0; - $8 = ($7|0)>(8); - if ($8) { - $9 = ((($c)) + 2084|0); - $10 = HEAP32[$9>>2]|0; - $11 = ($10|0)==(0|0); - if (!($11)) { - label = 6; - } - } else { - $12 = HEAP32[$0>>2]|0; - $13 = ($12|0)==(0|0); - if ($13) { - label = 6; - } - } - if ((label|0) == 6) { - $14 = ((($f)) + 1392|0); - $15 = HEAP32[$14>>2]|0; - $16 = (_bit_reverse($15)|0); - $17 = ((($c)) + 2092|0); - $18 = HEAP32[$17>>2]|0; - $19 = ($18|0)>(1); - if ($19) { - $20 = ((($c)) + 2084|0); - $21 = HEAP32[$20>>2]|0; - $n$07 = $18;$x$06 = 0; - while(1) { - $22 = $n$07 >> 1; - $23 = (($22) + ($x$06))|0; - $24 = (($21) + ($23<<2)|0); - $25 = HEAP32[$24>>2]|0; - $26 = ($25>>>0)>($16>>>0); - $27 = (($n$07) - ($22))|0; - $x$0$ = $26 ? $x$06 : $23; - $$ = $26 ? $22 : $27; - $28 = ($$|0)>(1); - if ($28) { - $n$07 = $$;$x$06 = $x$0$; - } else { - $x$0$lcssa = $x$0$; - break; - } - } - } else { - $x$0$lcssa = 0; - } - $29 = ((($c)) + 23|0); - $30 = HEAP8[$29>>0]|0; - $31 = ($30<<24>>24)==(0); - if ($31) { - $32 = ((($c)) + 2088|0); - $33 = HEAP32[$32>>2]|0; - $34 = (($33) + ($x$0$lcssa<<2)|0); - $35 = HEAP32[$34>>2]|0; - $x$1 = $35; - } else { - $x$1 = $x$0$lcssa; - } - $36 = ((($c)) + 8|0); - $37 = HEAP32[$36>>2]|0; - $38 = (($37) + ($x$1)|0); - $39 = HEAP8[$38>>0]|0; - $40 = $39&255; - $41 = ((($f)) + 1396|0); - $42 = HEAP32[$41>>2]|0; - $43 = ($42|0)<($40|0); - if ($43) { - HEAP32[$41>>2] = 0; - $$0 = -1; - return ($$0|0); - } else { - $44 = HEAP32[$14>>2]|0; - $45 = $44 >>> $40; - HEAP32[$14>>2] = $45; - $46 = HEAP32[$41>>2]|0; - $47 = (($46) - ($40))|0; - HEAP32[$41>>2] = $47; - $$0 = $x$1; - return ($$0|0); - } - } - $48 = ((($c)) + 23|0); - $49 = HEAP8[$48>>0]|0; - $50 = ($49<<24>>24)==(0); - if (!($50)) { - ___assert_fail((14791|0),(12804|0),1251,(14802|0)); - // unreachable; - } - $51 = HEAP32[$6>>2]|0; - $52 = ($51|0)>(0); - L27: do { - if ($52) { - $53 = ((($c)) + 8|0); - $54 = HEAP32[$53>>2]|0; - $55 = ((($f)) + 1392|0); - $i$05 = 0; - while(1) { - $56 = (($54) + ($i$05)|0); - $57 = HEAP8[$56>>0]|0; - $58 = $57&255; - $59 = ($57<<24>>24)==(-1); - if (!($59)) { - $60 = HEAP32[$0>>2]|0; - $61 = (($60) + ($i$05<<2)|0); - $62 = HEAP32[$61>>2]|0; - $63 = HEAP32[$55>>2]|0; - $64 = 1 << $58; - $65 = (($64) + -1)|0; - $66 = $63 & $65; - $67 = ($62|0)==($66|0); - if ($67) { - $$lcssa = $58;$$lcssa25 = $63;$i$05$lcssa = $i$05; - break; - } - } - $78 = (($i$05) + 1)|0; - $79 = HEAP32[$6>>2]|0; - $80 = ($78|0)<($79|0); - if ($80) { - $i$05 = $78; - } else { - break L27; - } - } - $68 = ((($f)) + 1396|0); - $69 = HEAP32[$68>>2]|0; - $70 = ($69|0)<($$lcssa|0); - if ($70) { - HEAP32[$68>>2] = 0; - $$0 = -1; - return ($$0|0); - } else { - $71 = $$lcssa25 >>> $$lcssa; - HEAP32[$55>>2] = $71; - $72 = HEAP32[$53>>2]|0; - $73 = (($72) + ($i$05$lcssa)|0); - $74 = HEAP8[$73>>0]|0; - $75 = $74&255; - $76 = HEAP32[$68>>2]|0; - $77 = (($76) - ($75))|0; - HEAP32[$68>>2] = $77; - $$0 = $i$05$lcssa; - return ($$0|0); - } - } - } while(0); - _error($f,21); - $81 = ((($f)) + 1396|0); - HEAP32[$81>>2] = 0; - $$0 = -1; - return ($$0|0); -} -function _predict_point($x,$x0,$x1,$y0,$y1) { - $x = $x|0; - $x0 = $x0|0; - $x1 = $x1|0; - $y0 = $y0|0; - $y1 = $y1|0; - var $$p = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $ispos = 0, $neg = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (($y1) - ($y0))|0; - $1 = (($x1) - ($x0))|0; - $ispos = ($0|0)>(-1); - $neg = (0 - ($0))|0; - $2 = $ispos ? $0 : $neg; - $3 = (($x) - ($x0))|0; - $4 = Math_imul($2, $3)|0; - $5 = (($4|0) / ($1|0))&-1; - $6 = ($0|0)<(0); - $7 = (0 - ($5))|0; - $$p = $6 ? $7 : $5; - $8 = (($$p) + ($y0))|0; - return ($8|0); -} -function _decode_residue($f,$residue_buffers,$ch,$n,$rn,$do_not_decode) { - $f = $f|0; - $residue_buffers = $residue_buffers|0; - $ch = $ch|0; - $n = $n|0; - $rn = $rn|0; - $do_not_decode = $do_not_decode|0; - var $$ = 0, $$10 = 0, $$11 = 0, $$13 = 0, $$14 = 0, $$5 = 0, $$7 = 0, $$8 = 0, $$alloca_mul = 0, $$not = 0, $$not115 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0; - var $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0; - var $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0; - var $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0; - var $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0; - var $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0; - var $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0; - var $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0; - var $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0; - var $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0; - var $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0; - var $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0; - var $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0; - var $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0; - var $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0; - var $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0; - var $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0; - var $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0; - var $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $brmerge = 0, $c_inter = 0, $c_inter16 = 0, $c_inter6 = 0; - var $class_set$055 = 0, $class_set$147 = 0, $class_set$263 = 0, $class_set26$087 = 0, $exitcond = 0, $i$092 = 0, $i$152 = 0, $i$246 = 0, $i$360 = 0, $i$484 = 0, $j$0$lcssa = 0, $j$070 = 0, $j$175 = 0, $j$278 = 0, $or$cond = 0, $or$cond12 = 0, $or$cond1258 = 0, $or$cond15 = 0, $or$cond1581 = 0, $or$cond6 = 0; - var $or$cond650 = 0, $or$cond9 = 0, $or$cond944 = 0, $p_inter = 0, $p_inter17 = 0, $p_inter7 = 0, $pass$066 = 0, $pass$190 = 0, $pcount$056 = 0, $pcount$1$lcssa = 0, $pcount$151 = 0, $pcount$248 = 0, $pcount$3$lcssa = 0, $pcount$345 = 0, $pcount$464 = 0, $pcount$5$lcssa = 0, $pcount$559 = 0, $pcount25$086 = 0, $pcount25$1$lcssa = 0, $pcount25$182 = 0; - var $q$0 = 0, $q$1 = 0, $q19$0 = 0, $q19$1 = 0, $q9$0 = 0, $q9$1 = 0, $temp$0 = 0, $temp$1 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $c_inter = sp + 20|0; - $p_inter = sp + 16|0; - $c_inter6 = sp + 12|0; - $p_inter7 = sp + 8|0; - $c_inter16 = sp + 4|0; - $p_inter17 = sp; - $0 = ((($f)) + 396|0); - $1 = HEAP32[$0>>2]|0; - $2 = (((($f)) + 268|0) + ($rn<<1)|0); - $3 = HEAP16[$2>>1]|0; - $4 = $3&65535; - $5 = (((($1) + (($rn*24)|0)|0)) + 13|0); - $6 = HEAP8[$5>>0]|0; - $7 = $6&255; - $8 = ((($f)) + 124|0); - $9 = HEAP32[$8>>2]|0; - $10 = (($9) + (($7*2096)|0)|0); - $11 = HEAP32[$10>>2]|0; - $12 = (((($1) + (($rn*24)|0)|0)) + 4|0); - $13 = HEAP32[$12>>2]|0; - $14 = (($1) + (($rn*24)|0)|0); - $15 = HEAP32[$14>>2]|0; - $16 = (($13) - ($15))|0; - $17 = (((($1) + (($rn*24)|0)|0)) + 8|0); - $18 = HEAP32[$17>>2]|0; - $19 = (($16>>>0) / ($18>>>0))&-1; - $20 = ((($f)) + 92|0); - $21 = HEAP32[$20>>2]|0; - $22 = ((($f)) + 80|0); - $23 = HEAP32[$22>>2]|0; - $24 = ($23|0)==(0|0); - $25 = ((($f)) + 4|0); - $26 = HEAP32[$25>>2]|0; - $27 = $19 << 2; - $28 = (($27) + 4)|0; - $29 = Math_imul($26, $28)|0; - if ($24) { - $$alloca_mul = $29; - $31 = STACKTOP; STACKTOP = STACKTOP + ((((1*$$alloca_mul)|0)+15)&-16)|0;; - $33 = $31; - } else { - $30 = (_setup_temp_malloc($f,$29)|0); - $33 = $30; - } - $32 = HEAP32[$25>>2]|0; - $34 = (_make_block_array($33,$32,$27)|0); - $35 = ($ch|0)>(0); - if ($35) { - $36 = $n << 2; - $i$092 = 0; - while(1) { - $37 = (($do_not_decode) + ($i$092)|0); - $38 = HEAP8[$37>>0]|0; - $39 = ($38<<24>>24)==(0); - if ($39) { - $40 = (($residue_buffers) + ($i$092<<2)|0); - $41 = HEAP32[$40>>2]|0; - _memset(($41|0),0,($36|0))|0; - } - $42 = (($i$092) + 1)|0; - $exitcond = ($42|0)==($ch|0); - if ($exitcond) { - break; - } else { - $i$092 = $42; - } - } - } - $43 = ($3<<16>>16)==(2); - $44 = ($ch|0)!=(1); - $or$cond = $44 & $43; - if (!($or$cond)) { - $45 = ($19|0)>(0); - $46 = ($11|0)>(0); - $47 = ($ch|0)>(0); - $48 = (((($1) + (($rn*24)|0)|0)) + 20|0); - $49 = ((($f)) + 1396|0); - $50 = ((($f)) + 1392|0); - $51 = (((($1) + (($rn*24)|0)|0)) + 16|0); - $$not115 = ($ch|0)<(1); - $pass$190 = 0; - L15: while(1) { - if ($45) { - $$not = ($pass$190|0)!=(0); - $brmerge = $$not | $$not115; - $class_set26$087 = 0;$pcount25$086 = 0; - while(1) { - if (!($brmerge)) { - $j$175 = 0; - while(1) { - $289 = (($do_not_decode) + ($j$175)|0); - $290 = HEAP8[$289>>0]|0; - $291 = ($290<<24>>24)==(0); - if ($291) { - $292 = HEAP32[$8>>2]|0; - $293 = HEAP8[$5>>0]|0; - $294 = $293&255; - $295 = (($292) + (($294*2096)|0)|0); - $296 = HEAP32[$49>>2]|0; - $297 = ($296|0)<(10); - if ($297) { - _prep_huffman($f); - } - $298 = HEAP32[$50>>2]|0; - $299 = $298 & 1023; - $300 = ((((($292) + (($294*2096)|0)|0)) + 36|0) + ($299<<1)|0); - $301 = HEAP16[$300>>1]|0; - $302 = $301 << 16 >> 16; - $303 = ($301<<16>>16)>(-1); - if ($303) { - $304 = (((($292) + (($294*2096)|0)|0)) + 8|0); - $305 = HEAP32[$304>>2]|0; - $306 = (($305) + ($302)|0); - $307 = HEAP8[$306>>0]|0; - $308 = $307&255; - $309 = $298 >>> $308; - HEAP32[$50>>2] = $309; - $310 = HEAP32[$49>>2]|0; - $311 = (($310) - ($308))|0; - $312 = ($311|0)<(0); - $$13 = $312 ? 0 : $311; - HEAP32[$49>>2] = $$13; - $$14 = $312 ? -1 : $302; - $temp$0 = $$14; - } else { - $313 = (_codebook_decode_scalar_raw($f,$295)|0); - $temp$0 = $313; - } - $314 = (((($292) + (($294*2096)|0)|0)) + 23|0); - $315 = HEAP8[$314>>0]|0; - $316 = ($315<<24>>24)==(0); - if ($316) { - $temp$1 = $temp$0; - } else { - $317 = (((($292) + (($294*2096)|0)|0)) + 2088|0); - $318 = HEAP32[$317>>2]|0; - $319 = (($318) + ($temp$0<<2)|0); - $320 = HEAP32[$319>>2]|0; - $temp$1 = $320; - } - $321 = ($temp$1|0)==(-1); - if ($321) { - label = 95; - break L15; - } - $322 = HEAP32[$51>>2]|0; - $323 = (($322) + ($temp$1<<2)|0); - $324 = HEAP32[$323>>2]|0; - $325 = (($34) + ($j$175<<2)|0); - $326 = HEAP32[$325>>2]|0; - $327 = (($326) + ($class_set26$087<<2)|0); - HEAP32[$327>>2] = $324; - } - $328 = (($j$175) + 1)|0; - $329 = ($328|0)<($ch|0); - if ($329) { - $j$175 = $328; - } else { - break; - } - } - } - $288 = ($pcount25$086|0)<($19|0); - $or$cond1581 = $288 & $46; - if ($or$cond1581) { - $i$484 = 0;$pcount25$182 = $pcount25$086; - while(1) { - if ($47) { - $j$278 = 0; - while(1) { - $330 = (($do_not_decode) + ($j$278)|0); - $331 = HEAP8[$330>>0]|0; - $332 = ($331<<24>>24)==(0); - if ($332) { - $333 = (($34) + ($j$278<<2)|0); - $334 = HEAP32[$333>>2]|0; - $335 = (($334) + ($class_set26$087<<2)|0); - $336 = HEAP32[$335>>2]|0; - $337 = (($336) + ($i$484)|0); - $338 = HEAP8[$337>>0]|0; - $339 = $338&255; - $340 = HEAP32[$48>>2]|0; - $341 = ((($340) + ($339<<4)|0) + ($pass$190<<1)|0); - $342 = HEAP16[$341>>1]|0; - $343 = ($342<<16>>16)>(-1); - if ($343) { - $344 = $342 << 16 >> 16; - $345 = (($residue_buffers) + ($j$278<<2)|0); - $346 = HEAP32[$345>>2]|0; - $347 = HEAP32[$14>>2]|0; - $348 = HEAP32[$17>>2]|0; - $349 = Math_imul($348, $pcount25$182)|0; - $350 = (($349) + ($347))|0; - $351 = HEAP32[$8>>2]|0; - $352 = (($351) + (($344*2096)|0)|0); - $353 = (_residue_decode($f,$352,$346,$350,$348,$4)|0); - $354 = ($353|0)==(0); - if ($354) { - label = 95; - break L15; - } - } - } - $355 = (($j$278) + 1)|0; - $356 = ($355|0)<($ch|0); - if ($356) { - $j$278 = $355; - } else { - break; - } - } - } - $357 = (($i$484) + 1)|0; - $358 = (($pcount25$182) + 1)|0; - $359 = ($357|0)<($11|0); - $360 = ($358|0)<($19|0); - $or$cond15 = $360 & $359; - if ($or$cond15) { - $i$484 = $357;$pcount25$182 = $358; - } else { - $pcount25$1$lcssa = $358; - break; - } - } - } else { - $pcount25$1$lcssa = $pcount25$086; - } - $361 = (($class_set26$087) + 1)|0; - $362 = ($pcount25$1$lcssa|0)<($19|0); - if ($362) { - $class_set26$087 = $361;$pcount25$086 = $pcount25$1$lcssa; - } else { - break; - } - } - } - $363 = (($pass$190) + 1)|0; - $364 = ($363|0)<(8); - if ($364) { - $pass$190 = $363; - } else { - label = 95; - break; - } - } - if ((label|0) == 95) { - HEAP32[$20>>2] = $21; - STACKTOP = sp;return; - } - } - $52 = ($ch|0)>(0); - L57: do { - if ($52) { - $j$070 = 0; - while(1) { - $53 = (($do_not_decode) + ($j$070)|0); - $54 = HEAP8[$53>>0]|0; - $55 = ($54<<24>>24)==(0); - if ($55) { - $j$0$lcssa = $j$070; - break L57; - } - $56 = (($j$070) + 1)|0; - $57 = ($56|0)<($ch|0); - if ($57) { - $j$070 = $56; - } else { - $j$0$lcssa = $56; - break; - } - } - } else { - $j$0$lcssa = 0; - } - } while(0); - $58 = ($j$0$lcssa|0)==($ch|0); - if ($58) { - HEAP32[$20>>2] = $21; - STACKTOP = sp;return; - } - $59 = ($19|0)>(0); - $60 = ((($f)) + 1396|0); - $61 = ((($f)) + 1392|0); - $62 = (((($1) + (($rn*24)|0)|0)) + 16|0); - $63 = ($11|0)>(0); - $64 = (((($1) + (($rn*24)|0)|0)) + 20|0); - $65 = ($19|0)>(0); - $66 = ((($f)) + 1396|0); - $67 = ((($f)) + 1392|0); - $68 = (((($1) + (($rn*24)|0)|0)) + 16|0); - $69 = ($11|0)>(0); - $70 = (((($1) + (($rn*24)|0)|0)) + 20|0); - $71 = ($19|0)>(0); - $72 = ((($f)) + 1396|0); - $73 = ((($f)) + 1392|0); - $74 = (((($1) + (($rn*24)|0)|0)) + 16|0); - $75 = ($11|0)>(0); - $76 = (((($1) + (($rn*24)|0)|0)) + 20|0); - $pass$066 = 0; - L65: while(1) { - switch ($ch|0) { - case 2: { - if ($65) { - $78 = ($pass$066|0)==(0); - $class_set$055 = 0;$pcount$056 = 0; - while(1) { - $80 = HEAP32[$14>>2]|0; - $81 = HEAP32[$17>>2]|0; - $82 = Math_imul($81, $pcount$056)|0; - $83 = (($82) + ($80))|0; - $84 = $83 & 1; - HEAP32[$c_inter>>2] = $84; - $85 = $83 >> 1; - HEAP32[$p_inter>>2] = $85; - if ($78) { - $86 = HEAP32[$8>>2]|0; - $87 = HEAP8[$5>>0]|0; - $88 = $87&255; - $89 = (($86) + (($88*2096)|0)|0); - $90 = HEAP32[$66>>2]|0; - $91 = ($90|0)<(10); - if ($91) { - _prep_huffman($f); - } - $92 = HEAP32[$67>>2]|0; - $93 = $92 & 1023; - $94 = ((((($86) + (($88*2096)|0)|0)) + 36|0) + ($93<<1)|0); - $95 = HEAP16[$94>>1]|0; - $96 = $95 << 16 >> 16; - $97 = ($95<<16>>16)>(-1); - if ($97) { - $98 = (((($86) + (($88*2096)|0)|0)) + 8|0); - $99 = HEAP32[$98>>2]|0; - $100 = (($99) + ($96)|0); - $101 = HEAP8[$100>>0]|0; - $102 = $101&255; - $103 = $92 >>> $102; - HEAP32[$67>>2] = $103; - $104 = HEAP32[$66>>2]|0; - $105 = (($104) - ($102))|0; - $106 = ($105|0)<(0); - $$ = $106 ? 0 : $105; - HEAP32[$66>>2] = $$; - $$5 = $106 ? -1 : $96; - $q$0 = $$5; - } else { - $107 = (_codebook_decode_scalar_raw($f,$89)|0); - $q$0 = $107; - } - $108 = (((($86) + (($88*2096)|0)|0)) + 23|0); - $109 = HEAP8[$108>>0]|0; - $110 = ($109<<24>>24)==(0); - if ($110) { - $q$1 = $q$0; - } else { - $111 = (((($86) + (($88*2096)|0)|0)) + 2088|0); - $112 = HEAP32[$111>>2]|0; - $113 = (($112) + ($q$0<<2)|0); - $114 = HEAP32[$113>>2]|0; - $q$1 = $114; - } - $115 = ($q$1|0)==(-1); - if ($115) { - label = 95; - break L65; - } - $116 = HEAP32[$68>>2]|0; - $117 = (($116) + ($q$1<<2)|0); - $118 = HEAP32[$117>>2]|0; - $119 = HEAP32[$34>>2]|0; - $120 = (($119) + ($class_set$055<<2)|0); - HEAP32[$120>>2] = $118; - } - $121 = ($pcount$056|0)<($19|0); - $or$cond650 = $121 & $69; - if ($or$cond650) { - $i$152 = 0;$pcount$151 = $pcount$056; - while(1) { - $122 = HEAP32[$17>>2]|0; - $123 = HEAP32[$34>>2]|0; - $124 = (($123) + ($class_set$055<<2)|0); - $125 = HEAP32[$124>>2]|0; - $126 = (($125) + ($i$152)|0); - $127 = HEAP8[$126>>0]|0; - $128 = $127&255; - $129 = HEAP32[$70>>2]|0; - $130 = ((($129) + ($128<<4)|0) + ($pass$066<<1)|0); - $131 = HEAP16[$130>>1]|0; - $132 = ($131<<16>>16)>(-1); - if ($132) { - $133 = $131 << 16 >> 16; - $134 = HEAP32[$8>>2]|0; - $135 = (($134) + (($133*2096)|0)|0); - $136 = (_codebook_decode_deinterleave_repeat($f,$135,$residue_buffers,$ch,$c_inter,$p_inter,$n,$122)|0); - $137 = ($136|0)==(0); - if ($137) { - label = 95; - break L65; - } - } else { - $138 = HEAP32[$14>>2]|0; - $139 = Math_imul($122, $pcount$151)|0; - $140 = (($139) + ($122))|0; - $141 = (($140) + ($138))|0; - $142 = $141 & 1; - HEAP32[$c_inter>>2] = $142; - $143 = $141 >> 1; - HEAP32[$p_inter>>2] = $143; - } - $144 = (($i$152) + 1)|0; - $145 = (($pcount$151) + 1)|0; - $146 = ($144|0)<($11|0); - $147 = ($145|0)<($19|0); - $or$cond6 = $147 & $146; - if ($or$cond6) { - $i$152 = $144;$pcount$151 = $145; - } else { - $pcount$1$lcssa = $145; - break; - } - } - } else { - $pcount$1$lcssa = $pcount$056; - } - $148 = (($class_set$055) + 1)|0; - $149 = ($pcount$1$lcssa|0)<($19|0); - if ($149) { - $class_set$055 = $148;$pcount$056 = $pcount$1$lcssa; - } else { - break; - } - } - } - break; - } - case 1: { - if ($71) { - $77 = ($pass$066|0)==(0); - $class_set$147 = 0;$pcount$248 = 0; - while(1) { - $150 = HEAP32[$14>>2]|0; - $151 = HEAP32[$17>>2]|0; - $152 = Math_imul($151, $pcount$248)|0; - $153 = (($152) + ($150))|0; - HEAP32[$c_inter6>>2] = 0; - HEAP32[$p_inter7>>2] = $153; - if ($77) { - $154 = HEAP32[$8>>2]|0; - $155 = HEAP8[$5>>0]|0; - $156 = $155&255; - $157 = (($154) + (($156*2096)|0)|0); - $158 = HEAP32[$72>>2]|0; - $159 = ($158|0)<(10); - if ($159) { - _prep_huffman($f); - } - $160 = HEAP32[$73>>2]|0; - $161 = $160 & 1023; - $162 = ((((($154) + (($156*2096)|0)|0)) + 36|0) + ($161<<1)|0); - $163 = HEAP16[$162>>1]|0; - $164 = $163 << 16 >> 16; - $165 = ($163<<16>>16)>(-1); - if ($165) { - $166 = (((($154) + (($156*2096)|0)|0)) + 8|0); - $167 = HEAP32[$166>>2]|0; - $168 = (($167) + ($164)|0); - $169 = HEAP8[$168>>0]|0; - $170 = $169&255; - $171 = $160 >>> $170; - HEAP32[$73>>2] = $171; - $172 = HEAP32[$72>>2]|0; - $173 = (($172) - ($170))|0; - $174 = ($173|0)<(0); - $$7 = $174 ? 0 : $173; - HEAP32[$72>>2] = $$7; - $$8 = $174 ? -1 : $164; - $q9$0 = $$8; - } else { - $175 = (_codebook_decode_scalar_raw($f,$157)|0); - $q9$0 = $175; - } - $176 = (((($154) + (($156*2096)|0)|0)) + 23|0); - $177 = HEAP8[$176>>0]|0; - $178 = ($177<<24>>24)==(0); - if ($178) { - $q9$1 = $q9$0; - } else { - $179 = (((($154) + (($156*2096)|0)|0)) + 2088|0); - $180 = HEAP32[$179>>2]|0; - $181 = (($180) + ($q9$0<<2)|0); - $182 = HEAP32[$181>>2]|0; - $q9$1 = $182; - } - $183 = ($q9$1|0)==(-1); - if ($183) { - label = 95; - break L65; - } - $184 = HEAP32[$74>>2]|0; - $185 = (($184) + ($q9$1<<2)|0); - $186 = HEAP32[$185>>2]|0; - $187 = HEAP32[$34>>2]|0; - $188 = (($187) + ($class_set$147<<2)|0); - HEAP32[$188>>2] = $186; - } - $189 = ($pcount$248|0)<($19|0); - $or$cond944 = $189 & $75; - if ($or$cond944) { - $i$246 = 0;$pcount$345 = $pcount$248; - while(1) { - $190 = HEAP32[$17>>2]|0; - $191 = HEAP32[$34>>2]|0; - $192 = (($191) + ($class_set$147<<2)|0); - $193 = HEAP32[$192>>2]|0; - $194 = (($193) + ($i$246)|0); - $195 = HEAP8[$194>>0]|0; - $196 = $195&255; - $197 = HEAP32[$76>>2]|0; - $198 = ((($197) + ($196<<4)|0) + ($pass$066<<1)|0); - $199 = HEAP16[$198>>1]|0; - $200 = ($199<<16>>16)>(-1); - if ($200) { - $201 = $199 << 16 >> 16; - $202 = HEAP32[$8>>2]|0; - $203 = (($202) + (($201*2096)|0)|0); - $204 = (_codebook_decode_deinterleave_repeat($f,$203,$residue_buffers,$ch,$c_inter6,$p_inter7,$n,$190)|0); - $205 = ($204|0)==(0); - if ($205) { - label = 95; - break L65; - } - } else { - $206 = HEAP32[$14>>2]|0; - $207 = Math_imul($190, $pcount$345)|0; - $208 = (($207) + ($190))|0; - $209 = (($208) + ($206))|0; - HEAP32[$c_inter6>>2] = 0; - HEAP32[$p_inter7>>2] = $209; - } - $210 = (($i$246) + 1)|0; - $211 = (($pcount$345) + 1)|0; - $212 = ($210|0)<($11|0); - $213 = ($211|0)<($19|0); - $or$cond9 = $213 & $212; - if ($or$cond9) { - $i$246 = $210;$pcount$345 = $211; - } else { - $pcount$3$lcssa = $211; - break; - } - } - } else { - $pcount$3$lcssa = $pcount$248; - } - $214 = (($class_set$147) + 1)|0; - $215 = ($pcount$3$lcssa|0)<($19|0); - if ($215) { - $class_set$147 = $214;$pcount$248 = $pcount$3$lcssa; - } else { - break; - } - } - } - break; - } - default: { - if ($59) { - $79 = ($pass$066|0)==(0); - $class_set$263 = 0;$pcount$464 = 0; - while(1) { - $216 = HEAP32[$14>>2]|0; - $217 = HEAP32[$17>>2]|0; - $218 = Math_imul($217, $pcount$464)|0; - $219 = (($218) + ($216))|0; - $220 = (($219|0) % ($ch|0))&-1; - HEAP32[$c_inter16>>2] = $220; - $221 = (($219|0) / ($ch|0))&-1; - HEAP32[$p_inter17>>2] = $221; - if ($79) { - $222 = HEAP32[$8>>2]|0; - $223 = HEAP8[$5>>0]|0; - $224 = $223&255; - $225 = (($222) + (($224*2096)|0)|0); - $226 = HEAP32[$60>>2]|0; - $227 = ($226|0)<(10); - if ($227) { - _prep_huffman($f); - } - $228 = HEAP32[$61>>2]|0; - $229 = $228 & 1023; - $230 = ((((($222) + (($224*2096)|0)|0)) + 36|0) + ($229<<1)|0); - $231 = HEAP16[$230>>1]|0; - $232 = $231 << 16 >> 16; - $233 = ($231<<16>>16)>(-1); - if ($233) { - $234 = (((($222) + (($224*2096)|0)|0)) + 8|0); - $235 = HEAP32[$234>>2]|0; - $236 = (($235) + ($232)|0); - $237 = HEAP8[$236>>0]|0; - $238 = $237&255; - $239 = $228 >>> $238; - HEAP32[$61>>2] = $239; - $240 = HEAP32[$60>>2]|0; - $241 = (($240) - ($238))|0; - $242 = ($241|0)<(0); - $$10 = $242 ? 0 : $241; - HEAP32[$60>>2] = $$10; - $$11 = $242 ? -1 : $232; - $q19$0 = $$11; - } else { - $243 = (_codebook_decode_scalar_raw($f,$225)|0); - $q19$0 = $243; - } - $244 = (((($222) + (($224*2096)|0)|0)) + 23|0); - $245 = HEAP8[$244>>0]|0; - $246 = ($245<<24>>24)==(0); - if ($246) { - $q19$1 = $q19$0; - } else { - $247 = (((($222) + (($224*2096)|0)|0)) + 2088|0); - $248 = HEAP32[$247>>2]|0; - $249 = (($248) + ($q19$0<<2)|0); - $250 = HEAP32[$249>>2]|0; - $q19$1 = $250; - } - $251 = ($q19$1|0)==(-1); - if ($251) { - label = 95; - break L65; - } - $252 = HEAP32[$62>>2]|0; - $253 = (($252) + ($q19$1<<2)|0); - $254 = HEAP32[$253>>2]|0; - $255 = HEAP32[$34>>2]|0; - $256 = (($255) + ($class_set$263<<2)|0); - HEAP32[$256>>2] = $254; - } - $257 = ($pcount$464|0)<($19|0); - $or$cond1258 = $257 & $63; - if ($or$cond1258) { - $i$360 = 0;$pcount$559 = $pcount$464; - while(1) { - $258 = HEAP32[$17>>2]|0; - $259 = HEAP32[$34>>2]|0; - $260 = (($259) + ($class_set$263<<2)|0); - $261 = HEAP32[$260>>2]|0; - $262 = (($261) + ($i$360)|0); - $263 = HEAP8[$262>>0]|0; - $264 = $263&255; - $265 = HEAP32[$64>>2]|0; - $266 = ((($265) + ($264<<4)|0) + ($pass$066<<1)|0); - $267 = HEAP16[$266>>1]|0; - $268 = ($267<<16>>16)>(-1); - if ($268) { - $269 = $267 << 16 >> 16; - $270 = HEAP32[$8>>2]|0; - $271 = (($270) + (($269*2096)|0)|0); - $272 = (_codebook_decode_deinterleave_repeat($f,$271,$residue_buffers,$ch,$c_inter16,$p_inter17,$n,$258)|0); - $273 = ($272|0)==(0); - if ($273) { - label = 95; - break L65; - } - } else { - $274 = HEAP32[$14>>2]|0; - $275 = Math_imul($258, $pcount$559)|0; - $276 = (($275) + ($258))|0; - $277 = (($276) + ($274))|0; - $278 = (($277|0) % ($ch|0))&-1; - HEAP32[$c_inter16>>2] = $278; - $279 = (($277|0) / ($ch|0))&-1; - HEAP32[$p_inter17>>2] = $279; - } - $280 = (($i$360) + 1)|0; - $281 = (($pcount$559) + 1)|0; - $282 = ($280|0)<($11|0); - $283 = ($281|0)<($19|0); - $or$cond12 = $283 & $282; - if ($or$cond12) { - $i$360 = $280;$pcount$559 = $281; - } else { - $pcount$5$lcssa = $281; - break; - } - } - } else { - $pcount$5$lcssa = $pcount$464; - } - $284 = (($class_set$263) + 1)|0; - $285 = ($pcount$5$lcssa|0)<($19|0); - if ($285) { - $class_set$263 = $284;$pcount$464 = $pcount$5$lcssa; - } else { - break; - } - } - } - } - } - $286 = (($pass$066) + 1)|0; - $287 = ($286|0)<(8); - if ($287) { - $pass$066 = $286; - } else { - label = 95; - break; - } - } - if ((label|0) == 95) { - HEAP32[$20>>2] = $21; - STACKTOP = sp;return; - } -} -function _do_floor($f,$map,$i,$n,$target,$finalY) { - $f = $f|0; - $map = $map|0; - $i = $i|0; - $n = $n|0; - $target = $target|0; - $finalY = $finalY|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0.0, $43 = 0, $44 = 0.0; - var $45 = 0.0, $46 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $j$01 = 0, $lx$0$lcssa = 0, $lx$03 = 0, $lx$1 = 0, $ly$0$lcssa = 0, $ly$04 = 0, $ly$1 = 0, $q$02 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = $n >> 1; - $1 = ((($map)) + 4|0); - $2 = HEAP32[$1>>2]|0; - $3 = (((($2) + (($i*3)|0)|0)) + 2|0); - $4 = HEAP8[$3>>0]|0; - $5 = $4&255; - $6 = (((($map)) + 9|0) + ($5)|0); - $7 = HEAP8[$6>>0]|0; - $8 = $7&255; - $9 = (((($f)) + 132|0) + ($8<<1)|0); - $10 = HEAP16[$9>>1]|0; - $11 = ($10<<16>>16)==(0); - if ($11) { - _error($f,21); - return; - } - $12 = ((($f)) + 260|0); - $13 = HEAP32[$12>>2]|0; - $14 = HEAP16[$finalY>>1]|0; - $15 = $14 << 16 >> 16; - $16 = (((($13) + (($8*1596)|0)|0)) + 1588|0); - $17 = HEAP8[$16>>0]|0; - $18 = $17&255; - $19 = Math_imul($18, $15)|0; - $20 = (((($13) + (($8*1596)|0)|0)) + 1592|0); - $21 = HEAP32[$20>>2]|0; - $22 = ($21|0)>(1); - if ($22) { - $lx$03 = 0;$ly$04 = $19;$q$02 = 1; - while(1) { - $23 = ((((($13) + (($8*1596)|0)|0)) + 838|0) + ($q$02)|0); - $24 = HEAP8[$23>>0]|0; - $25 = $24&255; - $26 = (($finalY) + ($25<<1)|0); - $27 = HEAP16[$26>>1]|0; - $28 = ($27<<16>>16)>(-1); - if ($28) { - $29 = $27 << 16 >> 16; - $30 = HEAP8[$16>>0]|0; - $31 = $30&255; - $32 = Math_imul($31, $29)|0; - $33 = ((((($13) + (($8*1596)|0)|0)) + 338|0) + ($25<<1)|0); - $34 = HEAP16[$33>>1]|0; - $35 = $34&65535; - $36 = ($lx$03|0)==($35|0); - if ($36) { - $lx$1 = $35;$ly$1 = $32; - } else { - _draw_line($target,$lx$03,$ly$04,$35,$32,$0); - $lx$1 = $35;$ly$1 = $32; - } - } else { - $lx$1 = $lx$03;$ly$1 = $ly$04; - } - $37 = (($q$02) + 1)|0; - $38 = HEAP32[$20>>2]|0; - $39 = ($37|0)<($38|0); - if ($39) { - $lx$03 = $lx$1;$ly$04 = $ly$1;$q$02 = $37; - } else { - $lx$0$lcssa = $lx$1;$ly$0$lcssa = $ly$1; - break; - } - } - } else { - $lx$0$lcssa = 0;$ly$0$lcssa = $19; - } - $40 = ($lx$0$lcssa|0)<($0|0); - if (!($40)) { - return; - } - $41 = (7000 + ($ly$0$lcssa<<2)|0); - $42 = +HEAPF32[$41>>2]; - $j$01 = $lx$0$lcssa; - while(1) { - $43 = (($target) + ($j$01<<2)|0); - $44 = +HEAPF32[$43>>2]; - $45 = $42 * $44; - HEAPF32[$43>>2] = $45; - $46 = (($j$01) + 1)|0; - $exitcond = ($46|0)==($0|0); - if ($exitcond) { - break; - } else { - $j$01 = $46; - } - } - return; -} -function _inverse_mdct($buffer,$n,$f,$blocktype) { - $buffer = $buffer|0; - $n = $n|0; - $f = $f|0; - $blocktype = $blocktype|0; - var $$alloca_mul = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0.0, $101 = 0.0, $102 = 0, $103 = 0.0, $104 = 0, $105 = 0.0, $106 = 0.0, $107 = 0, $108 = 0.0, $109 = 0, $11 = 0, $110 = 0.0, $111 = 0.0, $112 = 0.0, $113 = 0, $114 = 0.0; - var $115 = 0.0, $116 = 0.0, $117 = 0, $118 = 0.0, $119 = 0.0, $12 = 0, $120 = 0, $121 = 0.0, $122 = 0.0, $123 = 0.0, $124 = 0, $125 = 0.0, $126 = 0.0, $127 = 0.0, $128 = 0.0, $129 = 0.0, $13 = 0, $130 = 0, $131 = 0, $132 = 0; - var $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0; - var $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0; - var $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0; - var $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0; - var $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0; - var $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0.0, $234 = 0, $235 = 0.0, $236 = 0.0, $237 = 0, $238 = 0.0, $239 = 0, $24 = 0, $240 = 0.0; - var $241 = 0.0, $242 = 0, $243 = 0.0, $244 = 0.0, $245 = 0.0, $246 = 0.0, $247 = 0.0, $248 = 0.0, $249 = 0.0, $25 = 0.0, $250 = 0.0, $251 = 0.0, $252 = 0.0, $253 = 0.0, $254 = 0.0, $255 = 0.0, $256 = 0.0, $257 = 0, $258 = 0.0, $259 = 0.0; - var $26 = 0.0, $260 = 0.0, $261 = 0, $262 = 0.0, $263 = 0, $264 = 0.0, $265 = 0.0, $266 = 0, $267 = 0.0, $268 = 0.0, $269 = 0, $27 = 0.0, $270 = 0.0, $271 = 0.0, $272 = 0.0, $273 = 0.0, $274 = 0.0, $275 = 0.0, $276 = 0.0, $277 = 0.0; - var $278 = 0.0, $279 = 0.0, $28 = 0, $280 = 0.0, $281 = 0.0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0.0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0.0; - var $296 = 0, $297 = 0.0, $298 = 0.0, $299 = 0, $3 = 0, $30 = 0, $300 = 0.0, $301 = 0, $302 = 0.0, $303 = 0.0, $304 = 0.0, $305 = 0.0, $306 = 0.0, $307 = 0.0, $308 = 0.0, $309 = 0.0, $31 = 0.0, $310 = 0, $311 = 0, $312 = 0; - var $313 = 0.0, $314 = 0, $315 = 0.0, $316 = 0.0, $317 = 0, $318 = 0.0, $319 = 0, $32 = 0.0, $320 = 0.0, $321 = 0.0, $322 = 0.0, $323 = 0.0, $324 = 0.0, $325 = 0.0, $326 = 0.0, $327 = 0, $328 = 0.0, $329 = 0, $33 = 0.0, $330 = 0; - var $331 = 0, $332 = 0, $333 = 0.0, $334 = 0, $335 = 0.0, $336 = 0.0, $337 = 0, $338 = 0.0, $339 = 0, $34 = 0, $340 = 0.0, $341 = 0.0, $342 = 0.0, $343 = 0.0, $344 = 0.0, $345 = 0.0, $346 = 0.0, $347 = 0, $348 = 0.0, $349 = 0; - var $35 = 0.0, $350 = 0, $351 = 0, $352 = 0.0, $353 = 0, $354 = 0.0, $355 = 0.0, $356 = 0, $357 = 0.0, $358 = 0.0, $359 = 0.0, $36 = 0.0, $360 = 0.0, $361 = 0.0, $362 = 0.0, $363 = 0.0, $364 = 0.0, $365 = 0, $366 = 0.0, $367 = 0; - var $368 = 0, $369 = 0, $37 = 0.0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $38 = 0.0, $39 = 0.0, $4 = 0, $40 = 0.0, $41 = 0.0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0; - var $49 = 0, $5 = 0, $50 = 0.0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0, $59 = 0.0, $6 = 0, $60 = 0.0, $61 = 0.0, $62 = 0.0, $63 = 0.0, $64 = 0.0, $65 = 0.0, $66 = 0.0; - var $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0.0, $78 = 0, $79 = 0.0, $8 = 0, $80 = 0.0, $81 = 0.0, $82 = 0.0, $83 = 0.0, $84 = 0.0; - var $85 = 0, $86 = 0.0, $87 = 0.0, $88 = 0.0, $89 = 0, $9 = 0, $90 = 0.0, $91 = 0.0, $92 = 0, $93 = 0.0, $94 = 0.0, $95 = 0.0, $96 = 0, $97 = 0.0, $98 = 0.0, $99 = 0.0, $A0$024 = 0, $AA$0$lcssa = 0, $AA$050 = 0, $AA$144 = 0; - var $AA1$040 = 0, $B$08 = 0, $C$010 = 0, $bitrev$016 = 0, $d$0$lcssa = 0, $d$052 = 0, $d$146 = 0, $d0$039 = 0, $d05$017 = 0, $d09$04 = 0, $d1$038 = 0, $d110$05 = 0, $d16$018 = 0, $d2$06 = 0, $d3$07 = 0, $d7$011 = 0, $e$051 = 0, $e$145 = 0, $e0$037 = 0, $e1$036 = 0; - var $e11$09 = 0, $e8$012 = 0, $exitcond = 0, $exitcond60 = 0, $i$030 = 0, $i_off$023 = 0, $l$0$lcssa = 0, $l$033 = 0, $l$127 = 0, $r$022 = 0, $scevgep = 0, $scevgep61 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = $n >> 1; - $1 = $n >> 2; - $2 = $n >> 3; - $3 = ((($f)) + 92|0); - $4 = HEAP32[$3>>2]|0; - $5 = ((($f)) + 80|0); - $6 = HEAP32[$5>>2]|0; - $7 = ($6|0)==(0|0); - $8 = $0 << 2; - if ($7) { - $$alloca_mul = $8; - $10 = STACKTOP; STACKTOP = STACKTOP + ((((1*$$alloca_mul)|0)+15)&-16)|0;; - $15 = $10; - } else { - $9 = (_setup_temp_malloc($f,$8)|0); - $15 = $9; - } - $11 = (((($f)) + 1068|0) + ($blocktype<<2)|0); - $12 = HEAP32[$11>>2]|0; - $13 = (($0) + -2)|0; - $14 = (($15) + ($13<<2)|0); - $16 = (($buffer) + ($0<<2)|0); - $17 = ($0|0)==(0); - if ($17) { - $AA$0$lcssa = $12;$d$0$lcssa = $14; - } else { - $18 = $0 << 2; - $19 = (($18) + -16)|0; - $20 = $19 >>> 4; - $21 = $20 << 1; - $22 = (($21) + 2)|0; - $23 = $20 << 3; - $24 = (($19) - ($23))|0; - $scevgep61 = (($15) + ($24)|0); - $AA$050 = $12;$d$052 = $14;$e$051 = $buffer; - while(1) { - $25 = +HEAPF32[$e$051>>2]; - $26 = +HEAPF32[$AA$050>>2]; - $27 = $25 * $26; - $28 = ((($e$051)) + 8|0); - $29 = +HEAPF32[$28>>2]; - $30 = ((($AA$050)) + 4|0); - $31 = +HEAPF32[$30>>2]; - $32 = $29 * $31; - $33 = $27 - $32; - $34 = ((($d$052)) + 4|0); - HEAPF32[$34>>2] = $33; - $35 = +HEAPF32[$e$051>>2]; - $36 = +HEAPF32[$30>>2]; - $37 = $35 * $36; - $38 = +HEAPF32[$28>>2]; - $39 = +HEAPF32[$AA$050>>2]; - $40 = $38 * $39; - $41 = $37 + $40; - HEAPF32[$d$052>>2] = $41; - $42 = ((($d$052)) + -8|0); - $43 = ((($AA$050)) + 8|0); - $44 = ((($e$051)) + 16|0); - $45 = ($44|0)==($16|0); - if ($45) { - break; - } else { - $AA$050 = $43;$d$052 = $42;$e$051 = $44; - } - } - $scevgep = (($12) + ($22<<2)|0); - $AA$0$lcssa = $scevgep;$d$0$lcssa = $scevgep61; - } - $46 = ($d$0$lcssa>>>0)<($15>>>0); - if (!($46)) { - $47 = (($0) + -3)|0; - $48 = (($buffer) + ($47<<2)|0); - $AA$144 = $AA$0$lcssa;$d$146 = $d$0$lcssa;$e$145 = $48; - while(1) { - $49 = ((($e$145)) + 8|0); - $50 = +HEAPF32[$49>>2]; - $51 = +HEAPF32[$AA$144>>2]; - $52 = $50 * $51; - $53 = +HEAPF32[$e$145>>2]; - $54 = ((($AA$144)) + 4|0); - $55 = +HEAPF32[$54>>2]; - $56 = $53 * $55; - $57 = $56 - $52; - $58 = ((($d$146)) + 4|0); - HEAPF32[$58>>2] = $57; - $59 = +HEAPF32[$49>>2]; - $60 = +HEAPF32[$54>>2]; - $61 = $59 * $60; - $62 = +HEAPF32[$e$145>>2]; - $63 = +HEAPF32[$AA$144>>2]; - $64 = $62 * $63; - $65 = -$64; - $66 = $65 - $61; - HEAPF32[$d$146>>2] = $66; - $67 = ((($d$146)) + -8|0); - $68 = ((($AA$144)) + 8|0); - $69 = ((($e$145)) + -16|0); - $70 = ($67>>>0)<($15>>>0); - if ($70) { - break; - } else { - $AA$144 = $68;$d$146 = $67;$e$145 = $69; - } - } - } - $71 = (($0) + -8)|0; - $72 = ($0|0)<(8); - if (!($72)) { - $73 = (($12) + ($71<<2)|0); - $74 = (($buffer) + ($1<<2)|0); - $75 = (($15) + ($1<<2)|0); - $AA1$040 = $73;$d0$039 = $74;$d1$038 = $buffer;$e0$037 = $75;$e1$036 = $15; - while(1) { - $76 = ((($e0$037)) + 4|0); - $77 = +HEAPF32[$76>>2]; - $78 = ((($e1$036)) + 4|0); - $79 = +HEAPF32[$78>>2]; - $80 = $77 - $79; - $81 = +HEAPF32[$e0$037>>2]; - $82 = +HEAPF32[$e1$036>>2]; - $83 = $81 - $82; - $84 = $77 + $79; - $85 = ((($d0$039)) + 4|0); - HEAPF32[$85>>2] = $84; - $86 = +HEAPF32[$e0$037>>2]; - $87 = +HEAPF32[$e1$036>>2]; - $88 = $86 + $87; - HEAPF32[$d0$039>>2] = $88; - $89 = ((($AA1$040)) + 16|0); - $90 = +HEAPF32[$89>>2]; - $91 = $80 * $90; - $92 = ((($AA1$040)) + 20|0); - $93 = +HEAPF32[$92>>2]; - $94 = $83 * $93; - $95 = $91 - $94; - $96 = ((($d1$038)) + 4|0); - HEAPF32[$96>>2] = $95; - $97 = +HEAPF32[$89>>2]; - $98 = $83 * $97; - $99 = +HEAPF32[$92>>2]; - $100 = $80 * $99; - $101 = $98 + $100; - HEAPF32[$d1$038>>2] = $101; - $102 = ((($e0$037)) + 12|0); - $103 = +HEAPF32[$102>>2]; - $104 = ((($e1$036)) + 12|0); - $105 = +HEAPF32[$104>>2]; - $106 = $103 - $105; - $107 = ((($e0$037)) + 8|0); - $108 = +HEAPF32[$107>>2]; - $109 = ((($e1$036)) + 8|0); - $110 = +HEAPF32[$109>>2]; - $111 = $108 - $110; - $112 = $103 + $105; - $113 = ((($d0$039)) + 12|0); - HEAPF32[$113>>2] = $112; - $114 = +HEAPF32[$107>>2]; - $115 = +HEAPF32[$109>>2]; - $116 = $114 + $115; - $117 = ((($d0$039)) + 8|0); - HEAPF32[$117>>2] = $116; - $118 = +HEAPF32[$AA1$040>>2]; - $119 = $106 * $118; - $120 = ((($AA1$040)) + 4|0); - $121 = +HEAPF32[$120>>2]; - $122 = $111 * $121; - $123 = $119 - $122; - $124 = ((($d1$038)) + 12|0); - HEAPF32[$124>>2] = $123; - $125 = +HEAPF32[$AA1$040>>2]; - $126 = $111 * $125; - $127 = +HEAPF32[$120>>2]; - $128 = $106 * $127; - $129 = $126 + $128; - $130 = ((($d1$038)) + 8|0); - HEAPF32[$130>>2] = $129; - $131 = ((($AA1$040)) + -32|0); - $132 = ((($d0$039)) + 16|0); - $133 = ((($d1$038)) + 16|0); - $134 = ((($e0$037)) + 16|0); - $135 = ((($e1$036)) + 16|0); - $136 = ($131>>>0)<($12>>>0); - if ($136) { - break; - } else { - $AA1$040 = $131;$d0$039 = $132;$d1$038 = $133;$e0$037 = $134;$e1$036 = $135; - } - } - } - $137 = (_ilog($n)|0); - $138 = $n >> 4; - $139 = (($0) + -1)|0; - $140 = (0 - ($2))|0; - _imdct_step3_iter0_loop($138,$buffer,$139,$140,$12); - $141 = (($139) - ($1))|0; - _imdct_step3_iter0_loop($138,$buffer,$141,$140,$12); - $142 = $n >> 5; - $143 = (0 - ($138))|0; - _imdct_step3_inner_r_loop($142,$buffer,$139,$143,$12,16); - $144 = (($139) - ($2))|0; - _imdct_step3_inner_r_loop($142,$buffer,$144,$143,$12,16); - $145 = $2 << 1; - $146 = (($139) - ($145))|0; - _imdct_step3_inner_r_loop($142,$buffer,$146,$143,$12,16); - $147 = Math_imul($2, -3)|0; - $148 = (($139) + ($147))|0; - _imdct_step3_inner_r_loop($142,$buffer,$148,$143,$12,16); - $149 = (($137) + -4)|0; - $150 = $149 >> 1; - $151 = ($150|0)>(2); - if ($151) { - $l$033 = 2; - while(1) { - $156 = (($l$033) + 2)|0; - $157 = $n >> $156; - $152 = (($l$033) + 1)|0; - $158 = 1 << $152; - $159 = ($152|0)==(31); - if (!($159)) { - $160 = $157 >> 1; - $161 = (($l$033) + 4)|0; - $162 = $n >> $161; - $163 = (0 - ($160))|0; - $164 = (($l$033) + 3)|0; - $165 = 1 << $164; - $i$030 = 0; - while(1) { - $166 = Math_imul($i$030, $157)|0; - $167 = (($139) - ($166))|0; - _imdct_step3_inner_r_loop($162,$buffer,$167,$163,$12,$165); - $168 = (($i$030) + 1)|0; - $169 = ($168|0)<($158|0); - if ($169) { - $i$030 = $168; - } else { - break; - } - } - } - $exitcond60 = ($152|0)==($150|0); - if ($exitcond60) { - $l$0$lcssa = $150; - break; - } else { - $l$033 = $152; - } - } - } else { - $l$0$lcssa = 2; - } - $153 = (($137) + -7)|0; - $154 = ($l$0$lcssa|0)<($153|0); - if ($154) { - $155 = (($137) + -7)|0; - $l$127 = $l$0$lcssa; - while(1) { - $171 = (($l$127) + 2)|0; - $172 = $n >> $171; - $173 = (($l$127) + 3)|0; - $174 = 1 << $173; - $175 = (($l$127) + 6)|0; - $176 = $n >> $175; - $170 = (($l$127) + 1)|0; - $177 = 1 << $170; - $178 = ($176|0)>(0); - if ($178) { - $179 = $172 >> 1; - $180 = (0 - ($179))|0; - $181 = $174 << 2; - $A0$024 = $12;$i_off$023 = $139;$r$022 = $176; - while(1) { - _imdct_step3_inner_s_loop($177,$buffer,$i_off$023,$180,$A0$024,$174,$172); - $182 = (($A0$024) + ($181<<2)|0); - $183 = (($i_off$023) + -8)|0; - $184 = (($r$022) + -1)|0; - $185 = ($r$022|0)>(1); - if ($185) { - $A0$024 = $182;$i_off$023 = $183;$r$022 = $184; - } else { - break; - } - } - } - $exitcond = ($170|0)==($155|0); - if ($exitcond) { - break; - } else { - $l$127 = $170; - } - } - } - _imdct_step3_inner_s_loop_ld654($142,$buffer,$139,$12,$n); - $186 = (($1) + -4)|0; - $187 = (($15) + ($186<<2)|0); - $188 = (($0) + -4)|0; - $189 = (($15) + ($188<<2)|0); - $190 = ($187>>>0)<($15>>>0); - if (!($190)) { - $191 = (((($f)) + 1100|0) + ($blocktype<<2)|0); - $192 = HEAP32[$191>>2]|0; - $bitrev$016 = $192;$d05$017 = $187;$d16$018 = $189; - while(1) { - $193 = HEAP16[$bitrev$016>>1]|0; - $194 = $193&65535; - $195 = (($buffer) + ($194<<2)|0); - $196 = HEAP32[$195>>2]|0; - $197 = ((($d16$018)) + 12|0); - HEAP32[$197>>2] = $196; - $198 = (($194) + 1)|0; - $199 = (($buffer) + ($198<<2)|0); - $200 = HEAP32[$199>>2]|0; - $201 = ((($d16$018)) + 8|0); - HEAP32[$201>>2] = $200; - $202 = (($194) + 2)|0; - $203 = (($buffer) + ($202<<2)|0); - $204 = HEAP32[$203>>2]|0; - $205 = ((($d05$017)) + 12|0); - HEAP32[$205>>2] = $204; - $206 = (($194) + 3)|0; - $207 = (($buffer) + ($206<<2)|0); - $208 = HEAP32[$207>>2]|0; - $209 = ((($d05$017)) + 8|0); - HEAP32[$209>>2] = $208; - $210 = ((($bitrev$016)) + 2|0); - $211 = HEAP16[$210>>1]|0; - $212 = $211&65535; - $213 = (($buffer) + ($212<<2)|0); - $214 = HEAP32[$213>>2]|0; - $215 = ((($d16$018)) + 4|0); - HEAP32[$215>>2] = $214; - $216 = (($212) + 1)|0; - $217 = (($buffer) + ($216<<2)|0); - $218 = HEAP32[$217>>2]|0; - HEAP32[$d16$018>>2] = $218; - $219 = (($212) + 2)|0; - $220 = (($buffer) + ($219<<2)|0); - $221 = HEAP32[$220>>2]|0; - $222 = ((($d05$017)) + 4|0); - HEAP32[$222>>2] = $221; - $223 = (($212) + 3)|0; - $224 = (($buffer) + ($223<<2)|0); - $225 = HEAP32[$224>>2]|0; - HEAP32[$d05$017>>2] = $225; - $226 = ((($d05$017)) + -16|0); - $227 = ((($d16$018)) + -16|0); - $228 = ((($bitrev$016)) + 4|0); - $229 = ($226>>>0)<($15>>>0); - if ($229) { - break; - } else { - $bitrev$016 = $228;$d05$017 = $226;$d16$018 = $227; - } - } - } - $230 = ($15>>>0)<($189>>>0); - if ($230) { - $231 = (((($f)) + 1084|0) + ($blocktype<<2)|0); - $232 = HEAP32[$231>>2]|0; - $C$010 = $232;$d7$011 = $15;$e8$012 = $189; - while(1) { - $233 = +HEAPF32[$d7$011>>2]; - $234 = ((($e8$012)) + 8|0); - $235 = +HEAPF32[$234>>2]; - $236 = $233 - $235; - $237 = ((($d7$011)) + 4|0); - $238 = +HEAPF32[$237>>2]; - $239 = ((($e8$012)) + 12|0); - $240 = +HEAPF32[$239>>2]; - $241 = $238 + $240; - $242 = ((($C$010)) + 4|0); - $243 = +HEAPF32[$242>>2]; - $244 = $236 * $243; - $245 = +HEAPF32[$C$010>>2]; - $246 = $241 * $245; - $247 = $244 + $246; - $248 = $243 * $241; - $249 = $236 * $245; - $250 = $248 - $249; - $251 = $233 + $235; - $252 = $238 - $240; - $253 = $251 + $247; - HEAPF32[$d7$011>>2] = $253; - $254 = $252 + $250; - HEAPF32[$237>>2] = $254; - $255 = $251 - $247; - HEAPF32[$234>>2] = $255; - $256 = $250 - $252; - HEAPF32[$239>>2] = $256; - $257 = ((($d7$011)) + 8|0); - $258 = +HEAPF32[$257>>2]; - $259 = +HEAPF32[$e8$012>>2]; - $260 = $258 - $259; - $261 = ((($d7$011)) + 12|0); - $262 = +HEAPF32[$261>>2]; - $263 = ((($e8$012)) + 4|0); - $264 = +HEAPF32[$263>>2]; - $265 = $262 + $264; - $266 = ((($C$010)) + 12|0); - $267 = +HEAPF32[$266>>2]; - $268 = $260 * $267; - $269 = ((($C$010)) + 8|0); - $270 = +HEAPF32[$269>>2]; - $271 = $265 * $270; - $272 = $268 + $271; - $273 = $267 * $265; - $274 = $260 * $270; - $275 = $273 - $274; - $276 = $258 + $259; - $277 = $262 - $264; - $278 = $276 + $272; - HEAPF32[$257>>2] = $278; - $279 = $277 + $275; - HEAPF32[$261>>2] = $279; - $280 = $276 - $272; - HEAPF32[$e8$012>>2] = $280; - $281 = $275 - $277; - HEAPF32[$263>>2] = $281; - $282 = ((($C$010)) + 16|0); - $283 = ((($d7$011)) + 16|0); - $284 = ((($e8$012)) + -16|0); - $285 = ($283>>>0)<($284>>>0); - if ($285) { - $C$010 = $282;$d7$011 = $283;$e8$012 = $284; - } else { - break; - } - } - } - $286 = (($15) + ($71<<2)|0); - $287 = ($286>>>0)<($15>>>0); - if ($287) { - HEAP32[$3>>2] = $4; - STACKTOP = sp;return; - } - $288 = (($n) + -4)|0; - $289 = (($buffer) + ($288<<2)|0); - $290 = (($buffer) + ($188<<2)|0); - $291 = (((($f)) + 1076|0) + ($blocktype<<2)|0); - $292 = HEAP32[$291>>2]|0; - $293 = (($292) + ($71<<2)|0); - $B$08 = $293;$d09$04 = $buffer;$d110$05 = $290;$d2$06 = $16;$d3$07 = $289;$e11$09 = $286; - while(1) { - $294 = ((($e11$09)) + 24|0); - $295 = +HEAPF32[$294>>2]; - $296 = ((($B$08)) + 28|0); - $297 = +HEAPF32[$296>>2]; - $298 = $295 * $297; - $299 = ((($e11$09)) + 28|0); - $300 = +HEAPF32[$299>>2]; - $301 = ((($B$08)) + 24|0); - $302 = +HEAPF32[$301>>2]; - $303 = $300 * $302; - $304 = $298 - $303; - $305 = $295 * $302; - $306 = -$305; - $307 = $297 * $300; - $308 = $306 - $307; - HEAPF32[$d09$04>>2] = $304; - $309 = -$304; - $310 = ((($d110$05)) + 12|0); - HEAPF32[$310>>2] = $309; - HEAPF32[$d2$06>>2] = $308; - $311 = ((($d3$07)) + 12|0); - HEAPF32[$311>>2] = $308; - $312 = ((($e11$09)) + 16|0); - $313 = +HEAPF32[$312>>2]; - $314 = ((($B$08)) + 20|0); - $315 = +HEAPF32[$314>>2]; - $316 = $313 * $315; - $317 = ((($e11$09)) + 20|0); - $318 = +HEAPF32[$317>>2]; - $319 = ((($B$08)) + 16|0); - $320 = +HEAPF32[$319>>2]; - $321 = $318 * $320; - $322 = $316 - $321; - $323 = $313 * $320; - $324 = -$323; - $325 = $315 * $318; - $326 = $324 - $325; - $327 = ((($d09$04)) + 4|0); - HEAPF32[$327>>2] = $322; - $328 = -$322; - $329 = ((($d110$05)) + 8|0); - HEAPF32[$329>>2] = $328; - $330 = ((($d2$06)) + 4|0); - HEAPF32[$330>>2] = $326; - $331 = ((($d3$07)) + 8|0); - HEAPF32[$331>>2] = $326; - $332 = ((($e11$09)) + 8|0); - $333 = +HEAPF32[$332>>2]; - $334 = ((($B$08)) + 12|0); - $335 = +HEAPF32[$334>>2]; - $336 = $333 * $335; - $337 = ((($e11$09)) + 12|0); - $338 = +HEAPF32[$337>>2]; - $339 = ((($B$08)) + 8|0); - $340 = +HEAPF32[$339>>2]; - $341 = $338 * $340; - $342 = $336 - $341; - $343 = $333 * $340; - $344 = -$343; - $345 = $335 * $338; - $346 = $344 - $345; - $347 = ((($d09$04)) + 8|0); - HEAPF32[$347>>2] = $342; - $348 = -$342; - $349 = ((($d110$05)) + 4|0); - HEAPF32[$349>>2] = $348; - $350 = ((($d2$06)) + 8|0); - HEAPF32[$350>>2] = $346; - $351 = ((($d3$07)) + 4|0); - HEAPF32[$351>>2] = $346; - $352 = +HEAPF32[$e11$09>>2]; - $353 = ((($B$08)) + 4|0); - $354 = +HEAPF32[$353>>2]; - $355 = $352 * $354; - $356 = ((($e11$09)) + 4|0); - $357 = +HEAPF32[$356>>2]; - $358 = +HEAPF32[$B$08>>2]; - $359 = $357 * $358; - $360 = $355 - $359; - $361 = $352 * $358; - $362 = -$361; - $363 = $354 * $357; - $364 = $362 - $363; - $365 = ((($d09$04)) + 12|0); - HEAPF32[$365>>2] = $360; - $366 = -$360; - HEAPF32[$d110$05>>2] = $366; - $367 = ((($d2$06)) + 12|0); - HEAPF32[$367>>2] = $364; - HEAPF32[$d3$07>>2] = $364; - $368 = ((($B$08)) + -32|0); - $369 = ((($e11$09)) + -32|0); - $370 = ((($d09$04)) + 16|0); - $371 = ((($d2$06)) + 16|0); - $372 = ((($d110$05)) + -16|0); - $373 = ((($d3$07)) + -16|0); - $374 = ($369>>>0)<($15>>>0); - if ($374) { - break; - } else { - $B$08 = $368;$d09$04 = $370;$d110$05 = $372;$d2$06 = $371;$d3$07 = $373;$e11$09 = $369; - } - } - HEAP32[$3>>2] = $4; - STACKTOP = sp;return; -} -function _imdct_step3_iter0_loop($n,$e,$i_off,$k_off,$A) { - $n = $n|0; - $e = $e|0; - $i_off = $i_off|0; - $k_off = $k_off|0; - $A = $A|0; - var $$04 = 0, $$sum = 0, $0 = 0, $1 = 0, $10 = 0.0, $100 = 0.0, $101 = 0.0, $102 = 0.0, $103 = 0.0, $104 = 0.0, $105 = 0.0, $106 = 0.0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $12 = 0.0, $13 = 0.0; - var $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $2 = 0, $20 = 0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0.0, $28 = 0.0, $29 = 0, $3 = 0, $30 = 0, $31 = 0.0; - var $32 = 0, $33 = 0.0, $34 = 0.0, $35 = 0, $36 = 0.0, $37 = 0, $38 = 0.0, $39 = 0.0, $4 = 0, $40 = 0.0, $41 = 0.0, $42 = 0.0, $43 = 0.0, $44 = 0.0, $45 = 0.0, $46 = 0, $47 = 0.0, $48 = 0.0, $49 = 0.0, $5 = 0; - var $50 = 0.0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0.0, $55 = 0, $56 = 0, $57 = 0.0, $58 = 0, $59 = 0.0, $6 = 0.0, $60 = 0.0, $61 = 0, $62 = 0.0, $63 = 0, $64 = 0.0, $65 = 0.0, $66 = 0.0, $67 = 0.0, $68 = 0.0; - var $69 = 0.0, $7 = 0.0, $70 = 0.0, $71 = 0.0, $72 = 0, $73 = 0.0, $74 = 0.0, $75 = 0.0, $76 = 0.0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0.0, $80 = 0.0, $81 = 0, $82 = 0, $83 = 0.0, $84 = 0, $85 = 0.0, $86 = 0.0; - var $87 = 0, $88 = 0.0, $89 = 0, $9 = 0, $90 = 0.0, $91 = 0.0, $92 = 0.0, $93 = 0.0, $94 = 0.0, $95 = 0.0, $96 = 0.0, $97 = 0.0, $98 = 0, $99 = 0.0, $ee0$03 = 0, $ee2$01 = 0, $i$02 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = $n & 3; - $1 = ($0|0)==(0); - if (!($1)) { - ___assert_fail((14639|0),(12804|0),2004,(14652|0)); - // unreachable; - } - $2 = $n >> 2; - $3 = ($2|0)>(0); - if (!($3)) { - return; - } - $$sum = (($k_off) + ($i_off))|0; - $4 = (($e) + ($$sum<<2)|0); - $5 = (($e) + ($i_off<<2)|0); - $$04 = $A;$ee0$03 = $5;$ee2$01 = $4;$i$02 = $2; - while(1) { - $6 = +HEAPF32[$ee0$03>>2]; - $7 = +HEAPF32[$ee2$01>>2]; - $8 = $6 - $7; - $9 = ((($ee0$03)) + -4|0); - $10 = +HEAPF32[$9>>2]; - $11 = ((($ee2$01)) + -4|0); - $12 = +HEAPF32[$11>>2]; - $13 = $10 - $12; - $14 = $6 + $7; - HEAPF32[$ee0$03>>2] = $14; - $15 = +HEAPF32[$11>>2]; - $16 = +HEAPF32[$9>>2]; - $17 = $15 + $16; - HEAPF32[$9>>2] = $17; - $18 = +HEAPF32[$$04>>2]; - $19 = $8 * $18; - $20 = ((($$04)) + 4|0); - $21 = +HEAPF32[$20>>2]; - $22 = $13 * $21; - $23 = $19 - $22; - HEAPF32[$ee2$01>>2] = $23; - $24 = +HEAPF32[$$04>>2]; - $25 = $13 * $24; - $26 = +HEAPF32[$20>>2]; - $27 = $8 * $26; - $28 = $25 + $27; - HEAPF32[$11>>2] = $28; - $29 = ((($$04)) + 32|0); - $30 = ((($ee0$03)) + -8|0); - $31 = +HEAPF32[$30>>2]; - $32 = ((($ee2$01)) + -8|0); - $33 = +HEAPF32[$32>>2]; - $34 = $31 - $33; - $35 = ((($ee0$03)) + -12|0); - $36 = +HEAPF32[$35>>2]; - $37 = ((($ee2$01)) + -12|0); - $38 = +HEAPF32[$37>>2]; - $39 = $36 - $38; - $40 = $31 + $33; - HEAPF32[$30>>2] = $40; - $41 = +HEAPF32[$37>>2]; - $42 = +HEAPF32[$35>>2]; - $43 = $41 + $42; - HEAPF32[$35>>2] = $43; - $44 = +HEAPF32[$29>>2]; - $45 = $34 * $44; - $46 = ((($$04)) + 36|0); - $47 = +HEAPF32[$46>>2]; - $48 = $39 * $47; - $49 = $45 - $48; - HEAPF32[$32>>2] = $49; - $50 = +HEAPF32[$29>>2]; - $51 = $39 * $50; - $52 = +HEAPF32[$46>>2]; - $53 = $34 * $52; - $54 = $51 + $53; - HEAPF32[$37>>2] = $54; - $55 = ((($$04)) + 64|0); - $56 = ((($ee0$03)) + -16|0); - $57 = +HEAPF32[$56>>2]; - $58 = ((($ee2$01)) + -16|0); - $59 = +HEAPF32[$58>>2]; - $60 = $57 - $59; - $61 = ((($ee0$03)) + -20|0); - $62 = +HEAPF32[$61>>2]; - $63 = ((($ee2$01)) + -20|0); - $64 = +HEAPF32[$63>>2]; - $65 = $62 - $64; - $66 = $57 + $59; - HEAPF32[$56>>2] = $66; - $67 = +HEAPF32[$63>>2]; - $68 = +HEAPF32[$61>>2]; - $69 = $67 + $68; - HEAPF32[$61>>2] = $69; - $70 = +HEAPF32[$55>>2]; - $71 = $60 * $70; - $72 = ((($$04)) + 68|0); - $73 = +HEAPF32[$72>>2]; - $74 = $65 * $73; - $75 = $71 - $74; - HEAPF32[$58>>2] = $75; - $76 = +HEAPF32[$55>>2]; - $77 = $65 * $76; - $78 = +HEAPF32[$72>>2]; - $79 = $60 * $78; - $80 = $77 + $79; - HEAPF32[$63>>2] = $80; - $81 = ((($$04)) + 96|0); - $82 = ((($ee0$03)) + -24|0); - $83 = +HEAPF32[$82>>2]; - $84 = ((($ee2$01)) + -24|0); - $85 = +HEAPF32[$84>>2]; - $86 = $83 - $85; - $87 = ((($ee0$03)) + -28|0); - $88 = +HEAPF32[$87>>2]; - $89 = ((($ee2$01)) + -28|0); - $90 = +HEAPF32[$89>>2]; - $91 = $88 - $90; - $92 = $83 + $85; - HEAPF32[$82>>2] = $92; - $93 = +HEAPF32[$89>>2]; - $94 = +HEAPF32[$87>>2]; - $95 = $93 + $94; - HEAPF32[$87>>2] = $95; - $96 = +HEAPF32[$81>>2]; - $97 = $86 * $96; - $98 = ((($$04)) + 100|0); - $99 = +HEAPF32[$98>>2]; - $100 = $91 * $99; - $101 = $97 - $100; - HEAPF32[$84>>2] = $101; - $102 = +HEAPF32[$81>>2]; - $103 = $91 * $102; - $104 = +HEAPF32[$98>>2]; - $105 = $86 * $104; - $106 = $103 + $105; - HEAPF32[$89>>2] = $106; - $107 = ((($$04)) + 128|0); - $108 = ((($ee0$03)) + -32|0); - $109 = ((($ee2$01)) + -32|0); - $110 = (($i$02) + -1)|0; - $111 = ($i$02|0)>(1); - if ($111) { - $$04 = $107;$ee0$03 = $108;$ee2$01 = $109;$i$02 = $110; - } else { - break; - } - } - return; -} -function _imdct_step3_inner_r_loop($lim,$e,$d0,$k_off,$A,$k1) { - $lim = $lim|0; - $e = $e|0; - $d0 = $d0|0; - $k_off = $k_off|0; - $A = $A|0; - $k1 = $k1|0; - var $$09 = 0, $$sum = 0, $$sum1 = 0, $$sum2 = 0, $$sum34 = 0, $$sum5 = 0, $$sum6 = 0, $$sum7 = 0, $0 = 0, $1 = 0, $10 = 0.0, $100 = 0.0, $101 = 0.0, $102 = 0.0, $103 = 0.0, $104 = 0.0, $105 = 0, $106 = 0, $107 = 0, $108 = 0; - var $109 = 0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0, $19 = 0.0, $2 = 0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0, $28 = 0; - var $29 = 0.0, $3 = 0, $30 = 0, $31 = 0.0, $32 = 0.0, $33 = 0, $34 = 0.0, $35 = 0, $36 = 0.0, $37 = 0.0, $38 = 0.0, $39 = 0.0, $4 = 0.0, $40 = 0.0, $41 = 0.0, $42 = 0.0, $43 = 0.0, $44 = 0, $45 = 0.0, $46 = 0.0; - var $47 = 0.0, $48 = 0.0, $49 = 0.0, $5 = 0.0, $50 = 0.0, $51 = 0.0, $52 = 0.0, $53 = 0, $54 = 0, $55 = 0.0, $56 = 0, $57 = 0.0, $58 = 0.0, $59 = 0, $6 = 0.0, $60 = 0.0, $61 = 0, $62 = 0.0, $63 = 0.0, $64 = 0.0; - var $65 = 0.0, $66 = 0.0, $67 = 0.0, $68 = 0.0, $69 = 0.0, $7 = 0, $70 = 0, $71 = 0.0, $72 = 0.0, $73 = 0.0, $74 = 0.0, $75 = 0.0, $76 = 0.0, $77 = 0.0, $78 = 0.0, $79 = 0, $8 = 0.0, $80 = 0, $81 = 0.0, $82 = 0; - var $83 = 0.0, $84 = 0.0, $85 = 0, $86 = 0.0, $87 = 0, $88 = 0.0, $89 = 0.0, $9 = 0, $90 = 0.0, $91 = 0.0, $92 = 0.0, $93 = 0.0, $94 = 0.0, $95 = 0.0, $96 = 0, $97 = 0.0, $98 = 0.0, $99 = 0.0, $e0$010 = 0, $e2$011 = 0; - var $i$08 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = $lim >> 2; - $1 = ($0|0)>(0); - if (!($1)) { - return; - } - $$sum = (($k_off) + ($d0))|0; - $2 = (($e) + ($$sum<<2)|0); - $3 = (($e) + ($d0<<2)|0); - $$sum1 = (($k1) + 1)|0; - $$sum2 = $k1 << 1; - $$sum34 = $$sum2 | 1; - $$sum5 = ($k1*3)|0; - $$sum6 = (($$sum5) + 1)|0; - $$sum7 = $k1 << 2; - $$09 = $A;$e0$010 = $3;$e2$011 = $2;$i$08 = $0; - while(1) { - $4 = +HEAPF32[$e0$010>>2]; - $5 = +HEAPF32[$e2$011>>2]; - $6 = $4 - $5; - $7 = ((($e0$010)) + -4|0); - $8 = +HEAPF32[$7>>2]; - $9 = ((($e2$011)) + -4|0); - $10 = +HEAPF32[$9>>2]; - $11 = $8 - $10; - $12 = $4 + $5; - HEAPF32[$e0$010>>2] = $12; - $13 = +HEAPF32[$9>>2]; - $14 = +HEAPF32[$7>>2]; - $15 = $13 + $14; - HEAPF32[$7>>2] = $15; - $16 = +HEAPF32[$$09>>2]; - $17 = $6 * $16; - $18 = ((($$09)) + 4|0); - $19 = +HEAPF32[$18>>2]; - $20 = $11 * $19; - $21 = $17 - $20; - HEAPF32[$e2$011>>2] = $21; - $22 = +HEAPF32[$$09>>2]; - $23 = $11 * $22; - $24 = +HEAPF32[$18>>2]; - $25 = $6 * $24; - $26 = $23 + $25; - HEAPF32[$9>>2] = $26; - $27 = (($$09) + ($k1<<2)|0); - $28 = ((($e0$010)) + -8|0); - $29 = +HEAPF32[$28>>2]; - $30 = ((($e2$011)) + -8|0); - $31 = +HEAPF32[$30>>2]; - $32 = $29 - $31; - $33 = ((($e0$010)) + -12|0); - $34 = +HEAPF32[$33>>2]; - $35 = ((($e2$011)) + -12|0); - $36 = +HEAPF32[$35>>2]; - $37 = $34 - $36; - $38 = $29 + $31; - HEAPF32[$28>>2] = $38; - $39 = +HEAPF32[$35>>2]; - $40 = +HEAPF32[$33>>2]; - $41 = $39 + $40; - HEAPF32[$33>>2] = $41; - $42 = +HEAPF32[$27>>2]; - $43 = $32 * $42; - $44 = (($$09) + ($$sum1<<2)|0); - $45 = +HEAPF32[$44>>2]; - $46 = $37 * $45; - $47 = $43 - $46; - HEAPF32[$30>>2] = $47; - $48 = +HEAPF32[$27>>2]; - $49 = $37 * $48; - $50 = +HEAPF32[$44>>2]; - $51 = $32 * $50; - $52 = $49 + $51; - HEAPF32[$35>>2] = $52; - $53 = (($$09) + ($$sum2<<2)|0); - $54 = ((($e0$010)) + -16|0); - $55 = +HEAPF32[$54>>2]; - $56 = ((($e2$011)) + -16|0); - $57 = +HEAPF32[$56>>2]; - $58 = $55 - $57; - $59 = ((($e0$010)) + -20|0); - $60 = +HEAPF32[$59>>2]; - $61 = ((($e2$011)) + -20|0); - $62 = +HEAPF32[$61>>2]; - $63 = $60 - $62; - $64 = $55 + $57; - HEAPF32[$54>>2] = $64; - $65 = +HEAPF32[$61>>2]; - $66 = +HEAPF32[$59>>2]; - $67 = $65 + $66; - HEAPF32[$59>>2] = $67; - $68 = +HEAPF32[$53>>2]; - $69 = $58 * $68; - $70 = (($$09) + ($$sum34<<2)|0); - $71 = +HEAPF32[$70>>2]; - $72 = $63 * $71; - $73 = $69 - $72; - HEAPF32[$56>>2] = $73; - $74 = +HEAPF32[$53>>2]; - $75 = $63 * $74; - $76 = +HEAPF32[$70>>2]; - $77 = $58 * $76; - $78 = $75 + $77; - HEAPF32[$61>>2] = $78; - $79 = (($$09) + ($$sum5<<2)|0); - $80 = ((($e0$010)) + -24|0); - $81 = +HEAPF32[$80>>2]; - $82 = ((($e2$011)) + -24|0); - $83 = +HEAPF32[$82>>2]; - $84 = $81 - $83; - $85 = ((($e0$010)) + -28|0); - $86 = +HEAPF32[$85>>2]; - $87 = ((($e2$011)) + -28|0); - $88 = +HEAPF32[$87>>2]; - $89 = $86 - $88; - $90 = $81 + $83; - HEAPF32[$80>>2] = $90; - $91 = +HEAPF32[$87>>2]; - $92 = +HEAPF32[$85>>2]; - $93 = $91 + $92; - HEAPF32[$85>>2] = $93; - $94 = +HEAPF32[$79>>2]; - $95 = $84 * $94; - $96 = (($$09) + ($$sum6<<2)|0); - $97 = +HEAPF32[$96>>2]; - $98 = $89 * $97; - $99 = $95 - $98; - HEAPF32[$82>>2] = $99; - $100 = +HEAPF32[$79>>2]; - $101 = $89 * $100; - $102 = +HEAPF32[$96>>2]; - $103 = $84 * $102; - $104 = $101 + $103; - HEAPF32[$87>>2] = $104; - $105 = ((($e0$010)) + -32|0); - $106 = ((($e2$011)) + -32|0); - $107 = (($$09) + ($$sum7<<2)|0); - $108 = (($i$08) + -1)|0; - $109 = ($i$08|0)>(1); - if ($109) { - $$09 = $107;$e0$010 = $105;$e2$011 = $106;$i$08 = $108; - } else { - break; - } - } - return; -} -function _imdct_step3_inner_s_loop($n,$e,$i_off,$k_off,$A,$a_off,$k0) { - $n = $n|0; - $e = $e|0; - $i_off = $i_off|0; - $k_off = $k_off|0; - $A = $A|0; - $a_off = $a_off|0; - $k0 = $k0|0; - var $$sum = 0, $0 = 0.0, $1 = 0, $10 = 0.0, $100 = 0.0, $101 = 0.0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $11 = 0, $12 = 0, $13 = 0.0, $14 = 0, $15 = 0, $16 = 0.0, $17 = 0, $18 = 0, $19 = 0.0, $2 = 0.0; - var $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0, $28 = 0.0, $29 = 0, $3 = 0, $30 = 0.0, $31 = 0.0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0.0, $36 = 0.0, $37 = 0.0, $38 = 0.0; - var $39 = 0.0, $4 = 0.0, $40 = 0.0, $41 = 0.0, $42 = 0, $43 = 0.0, $44 = 0, $45 = 0.0, $46 = 0.0, $47 = 0, $48 = 0.0, $49 = 0, $5 = 0, $50 = 0.0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0.0, $55 = 0.0, $56 = 0.0; - var $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0.0, $61 = 0.0, $62 = 0, $63 = 0.0, $64 = 0, $65 = 0.0, $66 = 0.0, $67 = 0, $68 = 0.0, $69 = 0, $7 = 0.0, $70 = 0.0, $71 = 0.0, $72 = 0.0, $73 = 0.0, $74 = 0.0; - var $75 = 0.0, $76 = 0.0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0, $80 = 0.0, $81 = 0.0, $82 = 0, $83 = 0.0, $84 = 0, $85 = 0.0, $86 = 0.0, $87 = 0, $88 = 0.0, $89 = 0, $9 = 0, $90 = 0.0, $91 = 0.0, $92 = 0.0; - var $93 = 0.0, $94 = 0.0, $95 = 0.0, $96 = 0.0, $97 = 0.0, $98 = 0.0, $99 = 0.0, $ee0$02 = 0, $ee2$03 = 0, $i$01 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = +HEAPF32[$A>>2]; - $1 = ((($A)) + 4|0); - $2 = +HEAPF32[$1>>2]; - $3 = (($A) + ($a_off<<2)|0); - $4 = +HEAPF32[$3>>2]; - $5 = (($a_off) + 1)|0; - $6 = (($A) + ($5<<2)|0); - $7 = +HEAPF32[$6>>2]; - $8 = $a_off << 1; - $9 = (($A) + ($8<<2)|0); - $10 = +HEAPF32[$9>>2]; - $11 = $8 | 1; - $12 = (($A) + ($11<<2)|0); - $13 = +HEAPF32[$12>>2]; - $14 = ($a_off*3)|0; - $15 = (($A) + ($14<<2)|0); - $16 = +HEAPF32[$15>>2]; - $17 = (($14) + 1)|0; - $18 = (($A) + ($17<<2)|0); - $19 = +HEAPF32[$18>>2]; - $20 = ($n|0)>(0); - if (!($20)) { - return; - } - $$sum = (($k_off) + ($i_off))|0; - $21 = (($e) + ($$sum<<2)|0); - $22 = (($e) + ($i_off<<2)|0); - $23 = (0 - ($k0))|0; - $ee0$02 = $22;$ee2$03 = $21;$i$01 = $n; - while(1) { - $24 = +HEAPF32[$ee0$02>>2]; - $25 = +HEAPF32[$ee2$03>>2]; - $26 = $24 - $25; - $27 = ((($ee0$02)) + -4|0); - $28 = +HEAPF32[$27>>2]; - $29 = ((($ee2$03)) + -4|0); - $30 = +HEAPF32[$29>>2]; - $31 = $28 - $30; - $32 = $24 + $25; - HEAPF32[$ee0$02>>2] = $32; - $33 = +HEAPF32[$27>>2]; - $34 = +HEAPF32[$29>>2]; - $35 = $33 + $34; - HEAPF32[$27>>2] = $35; - $36 = $0 * $26; - $37 = $2 * $31; - $38 = $36 - $37; - HEAPF32[$ee2$03>>2] = $38; - $39 = $0 * $31; - $40 = $2 * $26; - $41 = $40 + $39; - HEAPF32[$29>>2] = $41; - $42 = ((($ee0$02)) + -8|0); - $43 = +HEAPF32[$42>>2]; - $44 = ((($ee2$03)) + -8|0); - $45 = +HEAPF32[$44>>2]; - $46 = $43 - $45; - $47 = ((($ee0$02)) + -12|0); - $48 = +HEAPF32[$47>>2]; - $49 = ((($ee2$03)) + -12|0); - $50 = +HEAPF32[$49>>2]; - $51 = $48 - $50; - $52 = $43 + $45; - HEAPF32[$42>>2] = $52; - $53 = +HEAPF32[$47>>2]; - $54 = +HEAPF32[$49>>2]; - $55 = $53 + $54; - HEAPF32[$47>>2] = $55; - $56 = $4 * $46; - $57 = $7 * $51; - $58 = $56 - $57; - HEAPF32[$44>>2] = $58; - $59 = $4 * $51; - $60 = $7 * $46; - $61 = $60 + $59; - HEAPF32[$49>>2] = $61; - $62 = ((($ee0$02)) + -16|0); - $63 = +HEAPF32[$62>>2]; - $64 = ((($ee2$03)) + -16|0); - $65 = +HEAPF32[$64>>2]; - $66 = $63 - $65; - $67 = ((($ee0$02)) + -20|0); - $68 = +HEAPF32[$67>>2]; - $69 = ((($ee2$03)) + -20|0); - $70 = +HEAPF32[$69>>2]; - $71 = $68 - $70; - $72 = $63 + $65; - HEAPF32[$62>>2] = $72; - $73 = +HEAPF32[$67>>2]; - $74 = +HEAPF32[$69>>2]; - $75 = $73 + $74; - HEAPF32[$67>>2] = $75; - $76 = $10 * $66; - $77 = $13 * $71; - $78 = $76 - $77; - HEAPF32[$64>>2] = $78; - $79 = $10 * $71; - $80 = $13 * $66; - $81 = $80 + $79; - HEAPF32[$69>>2] = $81; - $82 = ((($ee0$02)) + -24|0); - $83 = +HEAPF32[$82>>2]; - $84 = ((($ee2$03)) + -24|0); - $85 = +HEAPF32[$84>>2]; - $86 = $83 - $85; - $87 = ((($ee0$02)) + -28|0); - $88 = +HEAPF32[$87>>2]; - $89 = ((($ee2$03)) + -28|0); - $90 = +HEAPF32[$89>>2]; - $91 = $88 - $90; - $92 = $83 + $85; - HEAPF32[$82>>2] = $92; - $93 = +HEAPF32[$87>>2]; - $94 = +HEAPF32[$89>>2]; - $95 = $93 + $94; - HEAPF32[$87>>2] = $95; - $96 = $16 * $86; - $97 = $19 * $91; - $98 = $96 - $97; - HEAPF32[$84>>2] = $98; - $99 = $16 * $91; - $100 = $19 * $86; - $101 = $100 + $99; - HEAPF32[$89>>2] = $101; - $102 = (($ee0$02) + ($23<<2)|0); - $103 = (($ee2$03) + ($23<<2)|0); - $104 = (($i$01) + -1)|0; - $105 = ($i$01|0)>(1); - if ($105) { - $ee0$02 = $102;$ee2$03 = $103;$i$01 = $104; - } else { - break; - } - } - return; -} -function _imdct_step3_inner_s_loop_ld654($n,$e,$i_off,$A,$base_n) { - $n = $n|0; - $e = $e|0; - $i_off = $i_off|0; - $A = $A|0; - $base_n = $base_n|0; - var $$sum = 0, $0 = 0, $1 = 0, $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $2 = 0.0, $20 = 0, $21 = 0.0, $22 = 0, $23 = 0.0, $24 = 0.0, $25 = 0; - var $26 = 0.0, $27 = 0, $28 = 0.0, $29 = 0.0, $3 = 0, $30 = 0.0, $31 = 0.0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0.0, $36 = 0.0, $37 = 0.0, $38 = 0, $39 = 0.0, $4 = 0, $40 = 0, $41 = 0.0, $42 = 0.0, $43 = 0; - var $44 = 0.0, $45 = 0, $46 = 0.0, $47 = 0.0, $48 = 0.0, $49 = 0.0, $5 = 0, $50 = 0.0, $51 = 0.0, $52 = 0, $53 = 0.0, $54 = 0, $55 = 0.0, $56 = 0.0, $57 = 0, $58 = 0.0, $59 = 0, $6 = 0, $60 = 0.0, $61 = 0.0; - var $62 = 0.0, $63 = 0.0, $64 = 0.0, $65 = 0.0, $66 = 0.0, $67 = 0.0, $68 = 0.0, $69 = 0.0, $7 = 0.0, $70 = 0, $71 = 0, $8 = 0, $9 = 0.0, $z$01 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = $base_n >> 3; - $1 = (($A) + ($0<<2)|0); - $2 = +HEAPF32[$1>>2]; - $3 = $n << 4; - $$sum = (($i_off) - ($3))|0; - $4 = (($e) + ($$sum<<2)|0); - $5 = ($$sum|0)<($i_off|0); - if (!($5)) { - return; - } - $6 = (($e) + ($i_off<<2)|0); - $z$01 = $6; - while(1) { - $7 = +HEAPF32[$z$01>>2]; - $8 = ((($z$01)) + -32|0); - $9 = +HEAPF32[$8>>2]; - $10 = $7 - $9; - $11 = ((($z$01)) + -4|0); - $12 = +HEAPF32[$11>>2]; - $13 = ((($z$01)) + -36|0); - $14 = +HEAPF32[$13>>2]; - $15 = $12 - $14; - $16 = $7 + $9; - HEAPF32[$z$01>>2] = $16; - $17 = +HEAPF32[$11>>2]; - $18 = +HEAPF32[$13>>2]; - $19 = $17 + $18; - HEAPF32[$11>>2] = $19; - HEAPF32[$8>>2] = $10; - HEAPF32[$13>>2] = $15; - $20 = ((($z$01)) + -8|0); - $21 = +HEAPF32[$20>>2]; - $22 = ((($z$01)) + -40|0); - $23 = +HEAPF32[$22>>2]; - $24 = $21 - $23; - $25 = ((($z$01)) + -12|0); - $26 = +HEAPF32[$25>>2]; - $27 = ((($z$01)) + -44|0); - $28 = +HEAPF32[$27>>2]; - $29 = $26 - $28; - $30 = $21 + $23; - HEAPF32[$20>>2] = $30; - $31 = +HEAPF32[$25>>2]; - $32 = +HEAPF32[$27>>2]; - $33 = $31 + $32; - HEAPF32[$25>>2] = $33; - $34 = $24 + $29; - $35 = $2 * $34; - HEAPF32[$22>>2] = $35; - $36 = $29 - $24; - $37 = $2 * $36; - HEAPF32[$27>>2] = $37; - $38 = ((($z$01)) + -48|0); - $39 = +HEAPF32[$38>>2]; - $40 = ((($z$01)) + -16|0); - $41 = +HEAPF32[$40>>2]; - $42 = $39 - $41; - $43 = ((($z$01)) + -20|0); - $44 = +HEAPF32[$43>>2]; - $45 = ((($z$01)) + -52|0); - $46 = +HEAPF32[$45>>2]; - $47 = $44 - $46; - $48 = $39 + $41; - HEAPF32[$40>>2] = $48; - $49 = +HEAPF32[$43>>2]; - $50 = +HEAPF32[$45>>2]; - $51 = $49 + $50; - HEAPF32[$43>>2] = $51; - HEAPF32[$38>>2] = $47; - HEAPF32[$45>>2] = $42; - $52 = ((($z$01)) + -56|0); - $53 = +HEAPF32[$52>>2]; - $54 = ((($z$01)) + -24|0); - $55 = +HEAPF32[$54>>2]; - $56 = $53 - $55; - $57 = ((($z$01)) + -28|0); - $58 = +HEAPF32[$57>>2]; - $59 = ((($z$01)) + -60|0); - $60 = +HEAPF32[$59>>2]; - $61 = $58 - $60; - $62 = $53 + $55; - HEAPF32[$54>>2] = $62; - $63 = +HEAPF32[$57>>2]; - $64 = +HEAPF32[$59>>2]; - $65 = $63 + $64; - HEAPF32[$57>>2] = $65; - $66 = $56 + $61; - $67 = $2 * $66; - HEAPF32[$52>>2] = $67; - $68 = $56 - $61; - $69 = $2 * $68; - HEAPF32[$59>>2] = $69; - _iter_54($z$01); - _iter_54($8); - $70 = ((($z$01)) + -64|0); - $71 = ($70>>>0)>($4>>>0); - if ($71) { - $z$01 = $70; - } else { - break; - } - } - return; -} -function _iter_54($z) { - $z = $z|0; - var $0 = 0.0, $1 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $2 = 0.0, $20 = 0, $21 = 0.0, $22 = 0, $23 = 0.0, $24 = 0.0, $25 = 0.0, $26 = 0.0; - var $27 = 0.0, $28 = 0.0, $29 = 0.0, $3 = 0.0, $30 = 0.0, $31 = 0.0, $32 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $0 = +HEAPF32[$z>>2]; - $1 = ((($z)) + -16|0); - $2 = +HEAPF32[$1>>2]; - $3 = $0 - $2; - $4 = $0 + $2; - $5 = ((($z)) + -8|0); - $6 = +HEAPF32[$5>>2]; - $7 = ((($z)) + -24|0); - $8 = +HEAPF32[$7>>2]; - $9 = $6 + $8; - $10 = $6 - $8; - $11 = $4 + $9; - HEAPF32[$z>>2] = $11; - $12 = $4 - $9; - HEAPF32[$5>>2] = $12; - $13 = ((($z)) + -12|0); - $14 = +HEAPF32[$13>>2]; - $15 = ((($z)) + -28|0); - $16 = +HEAPF32[$15>>2]; - $17 = $14 - $16; - $18 = $3 + $17; - HEAPF32[$1>>2] = $18; - $19 = $3 - $17; - HEAPF32[$7>>2] = $19; - $20 = ((($z)) + -4|0); - $21 = +HEAPF32[$20>>2]; - $22 = ((($z)) + -20|0); - $23 = +HEAPF32[$22>>2]; - $24 = $21 - $23; - $25 = $21 + $23; - $26 = +HEAPF32[$13>>2]; - $27 = +HEAPF32[$15>>2]; - $28 = $26 + $27; - $29 = $25 + $28; - HEAPF32[$20>>2] = $29; - $30 = $25 - $28; - HEAPF32[$13>>2] = $30; - $31 = $24 - $10; - HEAPF32[$22>>2] = $31; - $32 = $10 + $24; - HEAPF32[$15>>2] = $32; - return; -} -function _draw_line($output,$x0,$y0,$x1,$y1,$n) { - $output = $output|0; - $x0 = $x0|0; - $y0 = $y0|0; - $x1 = $x1|0; - $y1 = $y1|0; - $n = $n|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0.0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0.0, $24 = 0, $25 = 0.0, $26 = 0.0; - var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $err$05 = 0, $err$1 = 0, $exitcond = 0, $ispos = 0, $ispos1 = 0, $n$x1 = 0, $neg = 0, $neg2 = 0, $sy$0 = 0, $sy$0$pn = 0, $x$0 = 0, $x$03 = 0, $x$06 = 0; - var $y$04 = 0, $y$1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (($y1) - ($y0))|0; - $1 = (($x1) - ($x0))|0; - $ispos = ($0|0)>(-1); - $neg = (0 - ($0))|0; - $2 = $ispos ? $0 : $neg; - $3 = (($0|0) / ($1|0))&-1; - $4 = $0 >> 31; - $5 = $4 | 1; - $ispos1 = ($3|0)>(-1); - $neg2 = (0 - ($3))|0; - $6 = $ispos1 ? $3 : $neg2; - $7 = Math_imul($6, $1)|0; - $8 = (($2) - ($7))|0; - $9 = ($x1|0)>($n|0); - $n$x1 = $9 ? $n : $x1; - $10 = ($n$x1|0)>($x0|0); - if (!($10)) { - return; - } - $11 = (7000 + ($y0<<2)|0); - $12 = +HEAPF32[$11>>2]; - $13 = (($output) + ($x0<<2)|0); - $14 = +HEAPF32[$13>>2]; - $15 = $12 * $14; - HEAPF32[$13>>2] = $15; - $x$03 = (($x0) + 1)|0; - $16 = ($x$03|0)<($n$x1|0); - if (!($16)) { - return; - } - $17 = ($n|0)<($x1|0); - $18 = $17 ? $n : $x1; - $err$05 = 0;$x$06 = $x$03;$y$04 = $y0; - while(1) { - $19 = (($err$05) + ($8))|0; - $20 = ($19|0)<($1|0); - $sy$0 = $20 ? 0 : $5; - $21 = $20 ? 0 : $1; - $err$1 = (($19) - ($21))|0; - $sy$0$pn = (($y$04) + ($3))|0; - $y$1 = (($sy$0$pn) + ($sy$0))|0; - $22 = (7000 + ($y$1<<2)|0); - $23 = +HEAPF32[$22>>2]; - $24 = (($output) + ($x$06<<2)|0); - $25 = +HEAPF32[$24>>2]; - $26 = $23 * $25; - HEAPF32[$24>>2] = $26; - $x$0 = (($x$06) + 1)|0; - $exitcond = ($x$0|0)==($18|0); - if ($exitcond) { - break; - } else { - $err$05 = $err$1;$x$06 = $x$0;$y$04 = $y$1; - } - } - return; -} -function _make_block_array($mem,$count,$size) { - $mem = $mem|0; - $count = $count|0; - $size = $size|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $exitcond = 0, $i$01 = 0, $q$02 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ($count|0)>(0); - if (!($0)) { - return ($mem|0); - } - $1 = (($mem) + ($count<<2)|0); - $i$01 = 0;$q$02 = $1; - while(1) { - $2 = (($mem) + ($i$01<<2)|0); - HEAP32[$2>>2] = $q$02; - $3 = (($q$02) + ($size)|0); - $4 = (($i$01) + 1)|0; - $exitcond = ($4|0)==($count|0); - if ($exitcond) { - break; - } else { - $i$01 = $4;$q$02 = $3; - } - } - return ($mem|0); -} -function _codebook_decode_deinterleave_repeat($f,$c,$outputs,$ch,$c_inter_p,$p_inter_p,$len,$total_decode) { - $f = $f|0; - $c = $c|0; - $outputs = $outputs|0; - $ch = $ch|0; - $c_inter_p = $c_inter_p|0; - $p_inter_p = $p_inter_p|0; - $len = $len|0; - $total_decode = $total_decode|0; - var $$ = 0, $$0 = 0, $$0126 = 0, $$2 = 0, $$3 = 0, $$4 = 0, $$p_inter$1 = 0, $$p_inter$3 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0; - var $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0; - var $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0; - var $56 = 0, $57 = 0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0.0, $65 = 0.0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0; - var $74 = 0, $75 = 0, $76 = 0.0, $77 = 0.0, $78 = 0, $79 = 0.0, $8 = 0, $80 = 0.0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $9 = 0, $c_inter$0$lcssa = 0, $c_inter$025 = 0, $c_inter$115 = 0, $c_inter$319 = 0, $c_inter$5 = 0; - var $effective$024 = 0, $effective$1 = 0, $exitcond = 0, $exitcond30 = 0, $i$013 = 0, $i$118 = 0, $last$014 = 0.0, $p_inter$0$lcssa = 0, $p_inter$023 = 0, $p_inter$112 = 0, $p_inter$317 = 0, $p_inter$5 = 0, $z$0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[$c_inter_p>>2]|0; - $1 = HEAP32[$p_inter_p>>2]|0; - $2 = HEAP32[$c>>2]|0; - $3 = ((($c)) + 21|0); - $4 = HEAP8[$3>>0]|0; - $5 = ($4<<24>>24)==(0); - if ($5) { - _error($f,21); - $$0 = 0; - return ($$0|0); - } - $6 = ($total_decode|0)>(0); - L5: do { - if ($6) { - $7 = ((($f)) + 1396|0); - $8 = ((($f)) + 1392|0); - $9 = ((($c)) + 8|0); - $10 = ((($c)) + 23|0); - $11 = Math_imul($len, $ch)|0; - $12 = ((($c)) + 22|0); - $13 = ((($c)) + 28|0); - $14 = ((($c)) + 28|0); - $15 = ((($c)) + 2092|0); - $$0126 = $total_decode;$c_inter$025 = $0;$effective$024 = $2;$p_inter$023 = $1; - while(1) { - $16 = HEAP32[$7>>2]|0; - $17 = ($16|0)<(10); - if ($17) { - _prep_huffman($f); - } - $18 = HEAP32[$8>>2]|0; - $19 = $18 & 1023; - $20 = (((($c)) + 36|0) + ($19<<1)|0); - $21 = HEAP16[$20>>1]|0; - $22 = $21 << 16 >> 16; - $23 = ($21<<16>>16)>(-1); - if ($23) { - $24 = HEAP32[$9>>2]|0; - $25 = (($24) + ($22)|0); - $26 = HEAP8[$25>>0]|0; - $27 = $26&255; - $28 = $18 >>> $27; - HEAP32[$8>>2] = $28; - $29 = HEAP32[$7>>2]|0; - $30 = (($29) - ($27))|0; - $31 = ($30|0)<(0); - $$ = $31 ? 0 : $30; - HEAP32[$7>>2] = $$; - $$2 = $31 ? -1 : $22; - $z$0 = $$2; - } else { - $32 = (_codebook_decode_scalar_raw($f,$c)|0); - $z$0 = $32; - } - $33 = HEAP8[$10>>0]|0; - $34 = ($33<<24>>24)==(0); - if (!($34)) { - $35 = HEAP32[$15>>2]|0; - $36 = ($z$0|0)<($35|0); - if (!($36)) { - label = 12; - break; - } - } - $37 = ($z$0|0)<(0); - if ($37) { - break; - } - $44 = Math_imul($p_inter$023, $ch)|0; - $45 = (($effective$024) + ($44))|0; - $46 = (($45) + ($c_inter$025))|0; - $47 = ($46|0)>($11|0); - $48 = (($11) - ($44))|0; - $49 = (($48) + ($c_inter$025))|0; - $effective$1 = $47 ? $49 : $effective$024; - $50 = HEAP32[$c>>2]|0; - $51 = Math_imul($50, $z$0)|0; - $52 = HEAP8[$12>>0]|0; - $53 = ($52<<24>>24)==(0); - $54 = ($effective$1|0)>(0); - if ($53) { - if ($54) { - $c_inter$319 = $c_inter$025;$i$118 = 0;$p_inter$317 = $p_inter$023; - while(1) { - $70 = (($outputs) + ($c_inter$319<<2)|0); - $71 = HEAP32[$70>>2]|0; - $72 = ($71|0)==(0|0); - if (!($72)) { - $73 = HEAP32[$13>>2]|0; - $74 = (($i$118) + ($51))|0; - $75 = (($73) + ($74<<2)|0); - $76 = +HEAPF32[$75>>2]; - $77 = $76 + 0.0; - $78 = (($71) + ($p_inter$317<<2)|0); - $79 = +HEAPF32[$78>>2]; - $80 = $79 + $77; - HEAPF32[$78>>2] = $80; - } - $81 = (($c_inter$319) + 1)|0; - $82 = ($81|0)==($ch|0); - $83 = $82&1; - $$p_inter$3 = (($83) + ($p_inter$317))|0; - $$4 = $82 ? 0 : $81; - $84 = (($i$118) + 1)|0; - $exitcond30 = ($84|0)==($effective$1|0); - if ($exitcond30) { - $c_inter$5 = $$4;$p_inter$5 = $$p_inter$3; - break; - } else { - $c_inter$319 = $$4;$i$118 = $84;$p_inter$317 = $$p_inter$3; - } - } - } else { - $c_inter$5 = $c_inter$025;$p_inter$5 = $p_inter$023; - } - } else { - if ($54) { - $55 = HEAP32[$14>>2]|0; - $c_inter$115 = $c_inter$025;$i$013 = 0;$last$014 = 0.0;$p_inter$112 = $p_inter$023; - while(1) { - $56 = (($i$013) + ($51))|0; - $57 = (($55) + ($56<<2)|0); - $58 = +HEAPF32[$57>>2]; - $59 = $last$014 + $58; - $60 = (($outputs) + ($c_inter$115<<2)|0); - $61 = HEAP32[$60>>2]|0; - $62 = ($61|0)==(0|0); - if (!($62)) { - $63 = (($61) + ($p_inter$112<<2)|0); - $64 = +HEAPF32[$63>>2]; - $65 = $59 + $64; - HEAPF32[$63>>2] = $65; - } - $66 = (($c_inter$115) + 1)|0; - $67 = ($66|0)==($ch|0); - $68 = $67&1; - $$p_inter$1 = (($68) + ($p_inter$112))|0; - $$3 = $67 ? 0 : $66; - $69 = (($i$013) + 1)|0; - $exitcond = ($69|0)==($effective$1|0); - if ($exitcond) { - $c_inter$5 = $$3;$p_inter$5 = $$p_inter$1; - break; - } else { - $c_inter$115 = $$3;$i$013 = $69;$last$014 = $59;$p_inter$112 = $$p_inter$1; - } - } - } else { - $c_inter$5 = $c_inter$025;$p_inter$5 = $p_inter$023; - } - } - $85 = (($$0126) - ($effective$1))|0; - $86 = ($85|0)>(0); - if ($86) { - $$0126 = $85;$c_inter$025 = $c_inter$5;$effective$024 = $effective$1;$p_inter$023 = $p_inter$5; - } else { - $c_inter$0$lcssa = $c_inter$5;$p_inter$0$lcssa = $p_inter$5; - break L5; - } - } - if ((label|0) == 12) { - ___assert_fail((14719|0),(12804|0),1433,(14755|0)); - // unreachable; - } - $38 = ((($f)) + 1376|0); - $39 = HEAP8[$38>>0]|0; - $40 = ($39<<24>>24)==(0); - if ($40) { - $41 = ((($f)) + 1384|0); - $42 = HEAP32[$41>>2]|0; - $43 = ($42|0)==(0); - if (!($43)) { - $$0 = 0; - return ($$0|0); - } - } - _error($f,21); - $$0 = 0; - return ($$0|0); - } else { - $c_inter$0$lcssa = $0;$p_inter$0$lcssa = $1; - } - } while(0); - HEAP32[$c_inter_p>>2] = $c_inter$0$lcssa; - HEAP32[$p_inter_p>>2] = $p_inter$0$lcssa; - $$0 = 1; - return ($$0|0); -} -function _residue_decode($f,$book,$target,$offset,$n,$rtype) { - $f = $f|0; - $book = $book|0; - $target = $target|0; - $offset = $offset|0; - $n = $n|0; - $rtype = $rtype|0; - var $$0 = 0, $$017 = 0, $$sum = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0; - var $7 = 0, $8 = 0, $9 = 0, $k$04 = 0, $k$18 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ($rtype|0)==(0); - if ($0) { - $2 = HEAP32[$book>>2]|0; - $3 = (($n|0) / ($2|0))&-1; - $4 = ($3|0)>(0); - if (!($4)) { - $$0 = 1; - return ($$0|0); - } - $5 = (($n) - ($offset))|0; - $k$04 = 0; - while(1) { - $$sum = (($k$04) + ($offset))|0; - $8 = (($target) + ($$sum<<2)|0); - $9 = (($5) - ($k$04))|0; - $10 = (_codebook_decode_step($f,$book,$8,$9,$3)|0); - $11 = ($10|0)==(0); - $6 = (($k$04) + 1)|0; - if ($11) { - $$0 = 0; - label = 10; - break; - } - $7 = ($6|0)<($3|0); - if ($7) { - $k$04 = $6; - } else { - $$0 = 1; - label = 10; - break; - } - } - if ((label|0) == 10) { - return ($$0|0); - } - } else { - $1 = ($n|0)>(0); - if (!($1)) { - $$0 = 1; - return ($$0|0); - } - $$017 = $offset;$k$18 = 0; - while(1) { - $12 = (($target) + ($$017<<2)|0); - $13 = (($n) - ($k$18))|0; - $14 = (_codebook_decode($f,$book,$12,$13)|0); - $15 = ($14|0)==(0); - if ($15) { - $$0 = 0; - label = 10; - break; - } - $16 = HEAP32[$book>>2]|0; - $17 = (($16) + ($k$18))|0; - $18 = (($16) + ($$017))|0; - $19 = ($17|0)<($n|0); - if ($19) { - $$017 = $18;$k$18 = $17; - } else { - $$0 = 1; - label = 10; - break; - } - } - if ((label|0) == 10) { - return ($$0|0); - } - } - return (0)|0; -} -function _codebook_decode_step($f,$c,$output,$len,$step) { - $f = $f|0; - $c = $c|0; - $output = $output|0; - $len = $len|0; - $step = $step|0; - var $$0 = 0, $$len = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0.0, $16 = 0.0, $17 = 0, $18 = 0, $19 = 0.0, $2 = 0, $20 = 0.0, $21 = 0, $3 = 0, $4 = 0, $5 = 0; - var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $i$02 = 0, $last$0$ = 0.0, $last$03 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_codebook_decode_start($f,$c)|0); - $1 = ($0|0)<(0); - if ($1) { - $$0 = 0; - return ($$0|0); - } - $2 = HEAP32[$c>>2]|0; - $3 = ($2|0)<($len|0); - $$len = $3 ? $2 : $len; - $4 = Math_imul($2, $0)|0; - $5 = ($$len|0)>(0); - if (!($5)) { - $$0 = 1; - return ($$0|0); - } - $6 = ((($c)) + 28|0); - $7 = HEAP32[$6>>2]|0; - $8 = ((($c)) + 22|0); - $9 = HEAP8[$8>>0]|0; - $10 = ($9<<24>>24)==(0); - $11 = ($2|0)<($len|0); - $12 = $11 ? $2 : $len; - $i$02 = 0;$last$03 = 0.0; - while(1) { - $13 = (($i$02) + ($4))|0; - $14 = (($7) + ($13<<2)|0); - $15 = +HEAPF32[$14>>2]; - $16 = $last$03 + $15; - $17 = Math_imul($i$02, $step)|0; - $18 = (($output) + ($17<<2)|0); - $19 = +HEAPF32[$18>>2]; - $20 = $19 + $16; - HEAPF32[$18>>2] = $20; - $last$0$ = $10 ? $last$03 : $16; - $21 = (($i$02) + 1)|0; - $exitcond = ($21|0)==($12|0); - if ($exitcond) { - $$0 = 1; - break; - } else { - $i$02 = $21;$last$03 = $last$0$; - } - } - return ($$0|0); -} -function _codebook_decode($f,$c,$output,$len) { - $f = $f|0; - $c = $c|0; - $output = $output|0; - $len = $len|0; - var $$0 = 0, $$len = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0.0, $21 = 0.0, $22 = 0, $23 = 0.0, $24 = 0.0; - var $25 = 0.0, $26 = 0.0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0.0, $31 = 0.0, $32 = 0, $33 = 0.0, $34 = 0.0, $35 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond9 = 0; - var $i$05 = 0, $i$14 = 0, $last$06 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_codebook_decode_start($f,$c)|0); - $1 = ($0|0)<(0); - if ($1) { - $$0 = 0; - return ($$0|0); - } - $2 = HEAP32[$c>>2]|0; - $3 = ($2|0)<($len|0); - $$len = $3 ? $2 : $len; - $4 = Math_imul($2, $0)|0; - $5 = ((($c)) + 22|0); - $6 = HEAP8[$5>>0]|0; - $7 = ($6<<24>>24)==(0); - $8 = ($$len|0)>(0); - if ($7) { - if (!($8)) { - $$0 = 1; - return ($$0|0); - } - $14 = ((($c)) + 28|0); - $15 = HEAP32[$14>>2]|0; - $16 = ($2|0)<($len|0); - $17 = $16 ? $2 : $len; - $i$14 = 0; - while(1) { - $28 = (($i$14) + ($4))|0; - $29 = (($15) + ($28<<2)|0); - $30 = +HEAPF32[$29>>2]; - $31 = $30 + 0.0; - $32 = (($output) + ($i$14<<2)|0); - $33 = +HEAPF32[$32>>2]; - $34 = $33 + $31; - HEAPF32[$32>>2] = $34; - $35 = (($i$14) + 1)|0; - $exitcond = ($35|0)==($17|0); - if ($exitcond) { - $$0 = 1; - break; - } else { - $i$14 = $35; - } - } - return ($$0|0); - } else { - if (!($8)) { - $$0 = 1; - return ($$0|0); - } - $9 = ((($c)) + 28|0); - $10 = HEAP32[$9>>2]|0; - $11 = ((($c)) + 12|0); - $12 = ($2|0)<($len|0); - $13 = $12 ? $2 : $len; - $i$05 = 0;$last$06 = 0.0; - while(1) { - $18 = (($i$05) + ($4))|0; - $19 = (($10) + ($18<<2)|0); - $20 = +HEAPF32[$19>>2]; - $21 = $last$06 + $20; - $22 = (($output) + ($i$05<<2)|0); - $23 = +HEAPF32[$22>>2]; - $24 = $23 + $21; - HEAPF32[$22>>2] = $24; - $25 = +HEAPF32[$11>>2]; - $26 = $21 + $25; - $27 = (($i$05) + 1)|0; - $exitcond9 = ($27|0)==($13|0); - if ($exitcond9) { - $$0 = 1; - break; - } else { - $i$05 = $27;$last$06 = $26; - } - } - return ($$0|0); - } - return (0)|0; -} -function _codebook_decode_start($f,$c) { - $f = $f|0; - $c = $c|0; - var $$ = 0, $$0 = 0, $$1 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; - var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $z$0 = 0; - var label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($c)) + 21|0); - $1 = HEAP8[$0>>0]|0; - $2 = ($1<<24>>24)==(0); - if ($2) { - _error($f,21); - $$0 = -1; - return ($$0|0); - } - $3 = ((($f)) + 1396|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)<(10); - if ($5) { - _prep_huffman($f); - } - $6 = ((($f)) + 1392|0); - $7 = HEAP32[$6>>2]|0; - $8 = $7 & 1023; - $9 = (((($c)) + 36|0) + ($8<<1)|0); - $10 = HEAP16[$9>>1]|0; - $11 = $10 << 16 >> 16; - $12 = ($10<<16>>16)>(-1); - if ($12) { - $13 = ((($c)) + 8|0); - $14 = HEAP32[$13>>2]|0; - $15 = (($14) + ($11)|0); - $16 = HEAP8[$15>>0]|0; - $17 = $16&255; - $18 = $7 >>> $17; - HEAP32[$6>>2] = $18; - $19 = HEAP32[$3>>2]|0; - $20 = (($19) - ($17))|0; - $21 = ($20|0)<(0); - $$ = $21 ? 0 : $20; - HEAP32[$3>>2] = $$; - $$1 = $21 ? -1 : $11; - $z$0 = $$1; - } else { - $22 = (_codebook_decode_scalar_raw($f,$c)|0); - $z$0 = $22; - } - $23 = ((($c)) + 23|0); - $24 = HEAP8[$23>>0]|0; - $25 = ($24<<24>>24)==(0); - if (!($25)) { - $26 = ((($c)) + 2092|0); - $27 = HEAP32[$26>>2]|0; - $28 = ($z$0|0)<($27|0); - if (!($28)) { - ___assert_fail((14675|0),(12804|0),1339,(14697|0)); - // unreachable; - } - } - $29 = ($z$0|0)<(0); - if (!($29)) { - $$0 = $z$0; - return ($$0|0); - } - $30 = ((($f)) + 1376|0); - $31 = HEAP8[$30>>0]|0; - $32 = ($31<<24>>24)==(0); - if ($32) { - $33 = ((($f)) + 1384|0); - $34 = HEAP32[$33>>2]|0; - $35 = ($34|0)==(0); - if (!($35)) { - $$0 = $z$0; - return ($$0|0); - } - } - _error($f,21); - $$0 = $z$0; - return ($$0|0); -} -function _ErrorCallback($error,$description) { - $error = $error|0; - $description = $description|0; - var $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $vararg_buffer = sp; - HEAP32[$vararg_buffer>>2] = $error; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = $description; - _TraceLog(2,16899,$vararg_buffer); - STACKTOP = sp;return; -} -function _SetupFramebufferSize($displayWidth,$displayHeight) { - $displayWidth = $displayWidth|0; - $displayHeight = $displayHeight|0; - var $0 = 0, $1 = 0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0.0, $18 = 0.0, $19 = 0, $2 = 0, $20 = 0, $21 = 0.0, $22 = 0, $23 = 0, $24 = 0, $25 = 0.0, $26 = 0; - var $27 = 0.0, $28 = 0.0, $29 = 0, $3 = 0, $30 = 0, $31 = 0.0, $32 = 0.0, $33 = 0.0, $34 = 0, $35 = 0.0, $36 = 0, $37 = 0.0, $38 = 0.0, $39 = 0, $4 = 0, $40 = 0, $41 = 0.0, $42 = 0.0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0.0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, $or$cond = 0, $roundf = 0.0, $roundf1 = 0.0, $roundf2 = 0.0, $roundf3 = 0.0, $storemerge = 0, $vararg_buffer = 0, $vararg_buffer4 = 0; - var $vararg_buffer8 = 0, $vararg_ptr1 = 0, $vararg_ptr11 = 0, $vararg_ptr12 = 0, $vararg_ptr13 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, $vararg_ptr7 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 112|0; - $vararg_buffer8 = sp + 24|0; - $vararg_buffer4 = sp + 16|0; - $vararg_buffer = sp; - $0 = sp + 40|0; - $1 = HEAP32[1280>>2]|0; - $2 = ($1|0)>($displayWidth|0); - if (!($2)) { - $3 = HEAP32[1284>>2]|0; - $4 = ($3|0)>($displayHeight|0); - if (!($4)) { - $29 = ($1|0)<($displayWidth|0); - $30 = ($3|0)<($displayHeight|0); - $or$cond = $29 | $30; - if (!($or$cond)) { - HEAP32[1460>>2] = $1; - $51 = HEAP32[1284>>2]|0; - HEAP32[1464>>2] = $51; - HEAP32[1452>>2] = 0; - HEAP32[1456>>2] = 0; - STACKTOP = sp;return; - } - HEAP32[$vararg_buffer8>>2] = $1; - $vararg_ptr11 = ((($vararg_buffer8)) + 4|0); - HEAP32[$vararg_ptr11>>2] = $3; - $vararg_ptr12 = ((($vararg_buffer8)) + 8|0); - HEAP32[$vararg_ptr12>>2] = $displayWidth; - $vararg_ptr13 = ((($vararg_buffer8)) + 12|0); - HEAP32[$vararg_ptr13>>2] = $displayHeight; - _TraceLog(0,16833,$vararg_buffer8); - $31 = (+($displayWidth|0)); - $32 = (+($displayHeight|0)); - $33 = $31 / $32; - $34 = HEAP32[1280>>2]|0; - $35 = (+($34|0)); - $36 = HEAP32[1284>>2]|0; - $37 = (+($36|0)); - $38 = $35 / $37; - $39 = !($33 <= $38); - if ($39) { - $46 = $33 * $37; - $roundf = (+_roundf($46)); - $47 = (~~(($roundf))); - HEAP32[1460>>2] = $47; - $48 = HEAP32[1284>>2]|0; - HEAP32[1464>>2] = $48; - $49 = HEAP32[1280>>2]|0; - $50 = (($47) - ($49))|0; - HEAP32[1452>>2] = $50; - HEAP32[1456>>2] = 0; - STACKTOP = sp;return; - } else { - HEAP32[1460>>2] = $34; - $40 = HEAP32[1280>>2]|0; - $41 = (+($40|0)); - $42 = $41 / $33; - $roundf1 = (+_roundf($42)); - $43 = (~~(($roundf1))); - HEAP32[1464>>2] = $43; - HEAP32[1452>>2] = 0; - $44 = HEAP32[1284>>2]|0; - $45 = (($43) - ($44))|0; - HEAP32[1456>>2] = $45; - STACKTOP = sp;return; - } - } - } - $5 = HEAP32[1280>>2]|0; - $6 = HEAP32[1284>>2]|0; - HEAP32[$vararg_buffer>>2] = $5; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = $6; - $vararg_ptr2 = ((($vararg_buffer)) + 8|0); - HEAP32[$vararg_ptr2>>2] = $displayWidth; - $vararg_ptr3 = ((($vararg_buffer)) + 12|0); - HEAP32[$vararg_ptr3>>2] = $displayHeight; - _TraceLog(2,16690,$vararg_buffer); - $7 = (+($displayWidth|0)); - $8 = HEAP32[1280>>2]|0; - $9 = (+($8|0)); - $10 = $7 / $9; - $11 = (+($displayHeight|0)); - $12 = HEAP32[1284>>2]|0; - $13 = (+($12|0)); - $14 = $11 / $13; - $15 = !($10 <= $14); - if ($15) { - $21 = $9 * $14; - $roundf2 = (+_roundf($21)); - $22 = (~~(($roundf2))); - HEAP32[1460>>2] = $22; - HEAP32[1464>>2] = $displayHeight; - $23 = (($displayWidth) - ($22))|0; - HEAP32[1452>>2] = $23; - $storemerge = 0; - } else { - HEAP32[1460>>2] = $displayWidth; - $16 = HEAP32[1284>>2]|0; - $17 = (+($16|0)); - $18 = $10 * $17; - $roundf3 = (+_roundf($18)); - $19 = (~~(($roundf3))); - HEAP32[1464>>2] = $19; - HEAP32[1452>>2] = 0; - $20 = (($displayHeight) - ($19))|0; - $storemerge = $20; - } - HEAP32[1456>>2] = $storemerge; - $24 = HEAP32[1460>>2]|0; - $25 = (+($24|0)); - $26 = HEAP32[1280>>2]|0; - $27 = (+($26|0)); - $28 = $25 / $27; - _MatrixScale($0,$28,$28,$28); - dest=1300; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - HEAP32[1460>>2] = $displayWidth; - HEAP32[1464>>2] = $displayHeight; - HEAP32[$vararg_buffer4>>2] = $displayWidth; - $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); - HEAP32[$vararg_ptr7>>2] = $displayHeight; - _TraceLog(2,16768,$vararg_buffer4); - STACKTOP = sp;return; -} -function _WindowSizeCallback($window,$width,$height) { - $window = $window|0; - $width = $width|0; - $height = $height|0; - var $$byval_copy = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $$byval_copy = sp + 4|0; - $0 = sp; - _rlglInitGraphics(0,0,$width,$height); - HEAP32[1280>>2] = $width; - HEAP32[1284>>2] = $height; - HEAP32[1460>>2] = $width; - HEAP32[1464>>2] = $height; - HEAP8[$0>>0] = -11; - $1 = ((($0)) + 1|0); - HEAP8[$1>>0] = -11; - $2 = ((($0)) + 2|0); - HEAP8[$2>>0] = -11; - $3 = ((($0)) + 3|0); - HEAP8[$3>>0] = -1; - ;HEAP8[$$byval_copy>>0]=HEAP8[$0>>0]|0;HEAP8[$$byval_copy+1>>0]=HEAP8[$0+1>>0]|0;HEAP8[$$byval_copy+2>>0]=HEAP8[$0+2>>0]|0;HEAP8[$$byval_copy+3>>0]=HEAP8[$0+3>>0]|0; - _ClearBackground($$byval_copy); - STACKTOP = sp;return; -} -function _CursorEnterCallback($window,$enter) { - $window = $window|0; - $enter = $enter|0; - var label = 0, sp = 0; - sp = STACKTOP; - return; -} -function _KeyCallback($window,$key,$scancode,$action,$mods) { - $window = $window|0; - $key = $key|0; - $scancode = $scancode|0; - $action = $action|0; - $mods = $mods|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $or$cond = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[1436>>2]|0; - $1 = ($0|0)==($key|0); - $2 = ($action|0)==(1); - $or$cond = $2 & $1; - if ($or$cond) { - _glfwSetWindowShouldClose(($window|0),1); - return; - } - $3 = $action&255; - $4 = (9544 + ($key)|0); - HEAP8[$4>>0] = $3; - if (!($2)) { - return; - } - HEAP32[1432>>2] = $key; - return; -} -function _MouseButtonCallback($window,$button,$action,$mods) { - $window = $window|0; - $button = $button|0; - $action = $action|0; - $mods = $mods|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0, $25 = 0.0, $26 = 0; - var $27 = 0.0, $28 = 0.0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $gestureEvent = 0, $gestureEvent$byval_copy = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 80|0; - $gestureEvent$byval_copy = sp + 40|0; - $gestureEvent = sp + 8|0; - $0 = sp; - $1 = $action&255; - $2 = (10568 + ($button)|0); - HEAP8[$2>>0] = $1; - $3 = (_IsMouseButtonPressed(0)|0); - $4 = ($3|0)==(0); - if ($4) { - $5 = (_IsMouseButtonReleased(0)|0); - $6 = ($5|0)==(0); - if (!($6)) { - HEAP32[$gestureEvent>>2] = 0; - } - } else { - HEAP32[$gestureEvent>>2] = 1; - } - $7 = ((($gestureEvent)) + 8|0); - HEAP32[$7>>2] = 0; - $8 = ((($gestureEvent)) + 4|0); - HEAP32[$8>>2] = 1; - $9 = ((($gestureEvent)) + 16|0); - _GetMousePosition($0); - $10 = $0; - $11 = $10; - $12 = HEAP32[$11>>2]|0; - $13 = (($10) + 4)|0; - $14 = $13; - $15 = HEAP32[$14>>2]|0; - $16 = $9; - $17 = $16; - HEAP32[$17>>2] = $12; - $18 = (($16) + 4)|0; - $19 = $18; - HEAP32[$19>>2] = $15; - $20 = (_GetScreenWidth()|0); - $21 = (+($20|0)); - $22 = +HEAPF32[$9>>2]; - $23 = $22 / $21; - HEAPF32[$9>>2] = $23; - $24 = (_GetScreenHeight()|0); - $25 = (+($24|0)); - $26 = ((($gestureEvent)) + 20|0); - $27 = +HEAPF32[$26>>2]; - $28 = $27 / $25; - HEAPF32[$26>>2] = $28; - ;HEAP32[$gestureEvent$byval_copy>>2]=HEAP32[$gestureEvent>>2]|0;HEAP32[$gestureEvent$byval_copy+4>>2]=HEAP32[$gestureEvent+4>>2]|0;HEAP32[$gestureEvent$byval_copy+8>>2]=HEAP32[$gestureEvent+8>>2]|0;HEAP32[$gestureEvent$byval_copy+12>>2]=HEAP32[$gestureEvent+12>>2]|0;HEAP32[$gestureEvent$byval_copy+16>>2]=HEAP32[$gestureEvent+16>>2]|0;HEAP32[$gestureEvent$byval_copy+20>>2]=HEAP32[$gestureEvent+20>>2]|0;HEAP32[$gestureEvent$byval_copy+24>>2]=HEAP32[$gestureEvent+24>>2]|0;HEAP32[$gestureEvent$byval_copy+28>>2]=HEAP32[$gestureEvent+28>>2]|0; - _ProcessGestureEvent($gestureEvent$byval_copy); - STACKTOP = sp;return; -} -function _MouseCursorPosCallback($window,$x,$y) { - $window = $window|0; - $x = +$x; - $y = +$y; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0.0, $19 = 0.0, $2 = 0.0, $20 = 0.0, $21 = 0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $3 = 0.0, $4 = 0; - var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $gestureEvent = 0, $gestureEvent$byval_copy = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; - $gestureEvent$byval_copy = sp + 32|0; - $gestureEvent = sp; - HEAP32[$gestureEvent>>2] = 2; - $0 = ((($gestureEvent)) + 8|0); - HEAP32[$0>>2] = 0; - $1 = ((($gestureEvent)) + 4|0); - HEAP32[$1>>2] = 1; - $2 = $x; - $3 = $y; - $4 = ((($gestureEvent)) + 16|0); - HEAPF32[$4>>2] = $2; - $5 = ((($gestureEvent)) + 20|0); - HEAPF32[$5>>2] = $3; - $6 = ((($gestureEvent)) + 16|0); - $7 = $6; - $8 = $7; - $9 = HEAP32[$8>>2]|0; - $10 = (($7) + 4)|0; - $11 = $10; - $12 = HEAP32[$11>>2]|0; - $13 = 64; - $14 = $13; - HEAP32[$14>>2] = $9; - $15 = (($13) + 4)|0; - $16 = $15; - HEAP32[$16>>2] = $12; - $17 = (_GetScreenWidth()|0); - $18 = (+($17|0)); - $19 = +HEAPF32[$6>>2]; - $20 = $19 / $18; - HEAPF32[$6>>2] = $20; - $21 = (_GetScreenHeight()|0); - $22 = (+($21|0)); - $23 = +HEAPF32[$5>>2]; - $24 = $23 / $22; - HEAPF32[$5>>2] = $24; - ;HEAP32[$gestureEvent$byval_copy>>2]=HEAP32[$gestureEvent>>2]|0;HEAP32[$gestureEvent$byval_copy+4>>2]=HEAP32[$gestureEvent+4>>2]|0;HEAP32[$gestureEvent$byval_copy+8>>2]=HEAP32[$gestureEvent+8>>2]|0;HEAP32[$gestureEvent$byval_copy+12>>2]=HEAP32[$gestureEvent+12>>2]|0;HEAP32[$gestureEvent$byval_copy+16>>2]=HEAP32[$gestureEvent+16>>2]|0;HEAP32[$gestureEvent$byval_copy+20>>2]=HEAP32[$gestureEvent+20>>2]|0;HEAP32[$gestureEvent$byval_copy+24>>2]=HEAP32[$gestureEvent+24>>2]|0;HEAP32[$gestureEvent$byval_copy+28>>2]=HEAP32[$gestureEvent+28>>2]|0; - _ProcessGestureEvent($gestureEvent$byval_copy); - STACKTOP = sp;return; -} -function _CharCallback($window,$key) { - $window = $window|0; - $key = $key|0; - var label = 0, sp = 0; - sp = STACKTOP; - HEAP32[1432>>2] = $key; - return; -} -function _ScrollCallback($window,$xoffset,$yoffset) { - $window = $window|0; - $xoffset = +$xoffset; - $yoffset = +$yoffset; - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (~~(($yoffset))); - HEAP32[8024>>2] = $0; - return; -} -function _WindowIconifyCallback($window,$iconified) { - $window = $window|0; - $iconified = $iconified|0; - var $$ = 0, $not$ = 0, label = 0, sp = 0; - sp = STACKTOP; - $not$ = ($iconified|0)!=(0); - $$ = $not$&1; - HEAP32[1296>>2] = $$; - return; -} -function _emscripten_GetProcAddress($name_) { - $name_ = $name_|0; - var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; - var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; - var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0; - var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0; - var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0; - var $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0; - var $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0; - var $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0; - var $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0; - var $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0; - var $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0; - var $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0; - var $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0; - var $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0; - var $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0; - var $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0; - var $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0; - var $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0; - var $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0; - var $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0; - var $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0; - var $530 = 0, $531 = 0, $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0; - var $549 = 0, $55 = 0, $550 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0; - var $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0; - var $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $end = 0, $name = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $name = sp + 4|0; - $end = sp; - HEAP32[$1>>2] = $name_; - $2 = HEAP32[$1>>2]|0; - $3 = (_strlen($2)|0); - $4 = (($3) + 1)|0; - $5 = (_malloc($4)|0); - HEAP32[$name>>2] = $5; - $6 = HEAP32[$name>>2]|0; - $7 = HEAP32[$1>>2]|0; - (_strcpy($6,$7)|0); - $8 = HEAP32[$name>>2]|0; - $9 = (_strstr($8,16937)|0); - HEAP32[$end>>2] = $9; - $10 = HEAP32[$end>>2]|0; - $11 = ($10|0)!=(0|0); - if ($11) { - $12 = HEAP32[$end>>2]|0; - HEAP8[$12>>0] = 0; - } - $13 = HEAP32[$name>>2]|0; - $14 = (_strstr($13,16941)|0); - HEAP32[$end>>2] = $14; - $15 = HEAP32[$end>>2]|0; - $16 = ($15|0)!=(0|0); - if ($16) { - $17 = HEAP32[$end>>2]|0; - HEAP8[$17>>0] = 0; - } - $18 = HEAP32[$name>>2]|0; - $19 = (_strstr($18,16945)|0); - HEAP32[$end>>2] = $19; - $20 = HEAP32[$end>>2]|0; - $21 = ($20|0)!=(0|0); - if ($21) { - $22 = HEAP32[$end>>2]|0; - HEAP8[$22>>0] = 0; - } - $23 = HEAP32[$name>>2]|0; - $24 = (_strstr($23,16949)|0); - HEAP32[$end>>2] = $24; - $25 = HEAP32[$end>>2]|0; - $26 = ($25|0)!=(0|0); - if ($26) { - $27 = HEAP32[$end>>2]|0; - HEAP8[$27>>0] = 0; - } - $28 = HEAP32[$name>>2]|0; - $29 = (_strcmp($28,16955)|0); - $30 = ($29|0)!=(0); - do { - if ($30) { - $31 = HEAP32[$name>>2]|0; - $32 = (_strcmp($31,16993)|0); - $33 = ($32|0)!=(0); - if (!($33)) { - HEAP32[$name>>2] = 17012; - break; - } - $34 = HEAP32[$name>>2]|0; - $35 = (_strcmp($34,17025)|0); - $36 = ($35|0)!=(0); - if (!($36)) { - HEAP32[$name>>2] = 17046; - break; - } - $37 = HEAP32[$name>>2]|0; - $38 = (_strcmp($37,17061)|0); - $39 = ($38|0)!=(0); - if (!($39)) { - HEAP32[$name>>2] = 17076; - break; - } - $40 = HEAP32[$name>>2]|0; - $41 = (_strcmp($40,17091)|0); - $42 = ($41|0)!=(0); - if (!($42)) { - HEAP32[$name>>2] = 17106; - } - } else { - HEAP32[$name>>2] = 16977; - } - } while(0); - $43 = HEAP32[$name>>2]|0; - $44 = (_strcmp($43,17121)|0); - $45 = ($44|0)!=(0); - do { - if ($45) { - $46 = HEAP32[$name>>2]|0; - $47 = (_strcmp($46,17135)|0); - $48 = ($47|0)!=(0); - if (!($48)) { - HEAP32[$0>>2] = 2; - break; - } - $49 = HEAP32[$name>>2]|0; - $50 = (_strcmp($49,17147)|0); - $51 = ($50|0)!=(0); - if (!($51)) { - HEAP32[$0>>2] = 6; - break; - } - $52 = HEAP32[$name>>2]|0; - $53 = (_strcmp($52,17161)|0); - $54 = ($53|0)!=(0); - if (!($54)) { - HEAP32[$0>>2] = 7; - break; - } - $55 = HEAP32[$name>>2]|0; - $56 = (_strcmp($55,17173)|0); - $57 = ($56|0)!=(0); - if (!($57)) { - HEAP32[$0>>2] = 8; - break; - } - $58 = HEAP32[$name>>2]|0; - $59 = (_strcmp($58,17187)|0); - $60 = ($59|0)!=(0); - if (!($60)) { - HEAP32[$0>>2] = 9; - break; - } - $61 = HEAP32[$name>>2]|0; - $62 = (_strcmp($61,17201)|0); - $63 = ($62|0)!=(0); - if (!($63)) { - HEAP32[$0>>2] = 10; - break; - } - $64 = HEAP32[$name>>2]|0; - $65 = (_strcmp($64,17218)|0); - $66 = ($65|0)!=(0); - if (!($66)) { - HEAP32[$0>>2] = 1; - break; - } - $67 = HEAP32[$name>>2]|0; - $68 = (_strcmp($67,17241)|0); - $69 = ($68|0)!=(0); - if (!($69)) { - HEAP32[$0>>2] = 1; - break; - } - $70 = HEAP32[$name>>2]|0; - $71 = (_strcmp($70,17267)|0); - $72 = ($71|0)!=(0); - if (!($72)) { - HEAP32[$0>>2] = 2; - break; - } - $73 = HEAP32[$name>>2]|0; - $74 = (_strcmp($73,17280)|0); - $75 = ($74|0)!=(0); - if (!($75)) { - HEAP32[$0>>2] = 3; - break; - } - $76 = HEAP32[$name>>2]|0; - $77 = (_strcmp($76,17296)|0); - $78 = ($77|0)!=(0); - if (!($78)) { - HEAP32[$0>>2] = 1; - break; - } - $79 = HEAP32[$name>>2]|0; - $80 = (_strcmp($79,17309)|0); - $81 = ($80|0)!=(0); - if (!($81)) { - HEAP32[$0>>2] = 11; - break; - } - $82 = HEAP32[$name>>2]|0; - $83 = (_strcmp($82,17323)|0); - $84 = ($83|0)!=(0); - if (!($84)) { - HEAP32[$0>>2] = 2; - break; - } - $85 = HEAP32[$name>>2]|0; - $86 = (_strcmp($85,17343)|0); - $87 = ($86|0)!=(0); - if (!($87)) { - HEAP32[$0>>2] = 3; - break; - } - $88 = HEAP32[$name>>2]|0; - $89 = (_strcmp($88,17363)|0); - $90 = ($89|0)!=(0); - if (!($90)) { - HEAP32[$0>>2] = 4; - break; - } - $91 = HEAP32[$name>>2]|0; - $92 = (_strcmp($91,17380)|0); - $93 = ($92|0)!=(0); - if (!($93)) { - HEAP32[$0>>2] = 5; - break; - } - $94 = HEAP32[$name>>2]|0; - $95 = (_strcmp($94,17397)|0); - $96 = ($95|0)!=(0); - if (!($96)) { - HEAP32[$0>>2] = 3; - break; - } - $97 = HEAP32[$name>>2]|0; - $98 = (_strcmp($97,17409)|0); - $99 = ($98|0)!=(0); - if (!($99)) { - HEAP32[$0>>2] = 12; - break; - } - $100 = HEAP32[$name>>2]|0; - $101 = (_strcmp($100,17422)|0); - $102 = ($101|0)!=(0); - if (!($102)) { - HEAP32[$0>>2] = 13; - break; - } - $103 = HEAP32[$name>>2]|0; - $104 = (_strcmp($103,17438)|0); - $105 = ($104|0)!=(0); - if (!($105)) { - HEAP32[$0>>2] = 6; - break; - } - $106 = HEAP32[$name>>2]|0; - $107 = (_strcmp($106,17461)|0); - $108 = ($107|0)!=(0); - if (!($108)) { - HEAP32[$0>>2] = 2; - break; - } - $109 = HEAP32[$name>>2]|0; - $110 = (_strcmp($109,17474)|0); - $111 = ($110|0)!=(0); - if (!($111)) { - HEAP32[$0>>2] = 3; - break; - } - $112 = HEAP32[$name>>2]|0; - $113 = (_strcmp($112,17490)|0); - $114 = ($113|0)!=(0); - if (!($114)) { - HEAP32[$0>>2] = 4; - break; - } - $115 = HEAP32[$name>>2]|0; - $116 = (_strcmp($115,17501)|0); - $117 = ($116|0)!=(0); - if (!($117)) { - HEAP32[$0>>2] = 14; - break; - } - $118 = HEAP32[$name>>2]|0; - $119 = (_strcmp($118,17520)|0); - $120 = ($119|0)!=(0); - if (!($120)) { - HEAP32[$0>>2] = 15; - break; - } - $121 = HEAP32[$name>>2]|0; - $122 = (_strcmp($121,17542)|0); - $123 = ($122|0)!=(0); - if (!($123)) { - HEAP32[$0>>2] = 16; - break; - } - $124 = HEAP32[$name>>2]|0; - $125 = (_strcmp($124,17561)|0); - $126 = ($125|0)!=(0); - if (!($126)) { - HEAP32[$0>>2] = 7; - break; - } - $127 = HEAP32[$name>>2]|0; - $128 = (_strcmp($127,17590)|0); - $129 = ($128|0)!=(0); - if (!($129)) { - HEAP32[$0>>2] = 5; - break; - } - $130 = HEAP32[$name>>2]|0; - $131 = (_strcmp($130,17607)|0); - $132 = ($131|0)!=(0); - if (!($132)) { - HEAP32[$0>>2] = 8; - break; - } - $133 = HEAP32[$name>>2]|0; - $134 = (_strcmp($133,17622)|0); - $135 = ($134|0)!=(0); - if (!($135)) { - HEAP32[$0>>2] = 9; - break; - } - $136 = HEAP32[$name>>2]|0; - $137 = (_strcmp($136,17637)|0); - $138 = ($137|0)!=(0); - if (!($138)) { - HEAP32[$0>>2] = 3; - break; - } - $139 = HEAP32[$name>>2]|0; - $140 = (_strcmp($139,17658)|0); - $141 = ($140|0)!=(0); - if (!($141)) { - HEAP32[$0>>2] = 10; - break; - } - $142 = HEAP32[$name>>2]|0; - $143 = (_strcmp($142,17678)|0); - $144 = ($143|0)!=(0); - if (!($144)) { - HEAP32[$0>>2] = 11; - break; - } - $145 = HEAP32[$name>>2]|0; - $146 = (_strcmp($145,17698)|0); - $147 = ($146|0)!=(0); - if (!($147)) { - HEAP32[$0>>2] = 12; - break; - } - $148 = HEAP32[$name>>2]|0; - $149 = (_strcmp($148,17724)|0); - $150 = ($149|0)!=(0); - if (!($150)) { - HEAP32[$0>>2] = 2; - break; - } - $151 = HEAP32[$name>>2]|0; - $152 = (_strcmp($151,17743)|0); - $153 = ($152|0)!=(0); - if (!($153)) { - HEAP32[$0>>2] = 1; - break; - } - $154 = HEAP32[$name>>2]|0; - $155 = (_strcmp($154,17755)|0); - $156 = ($155|0)!=(0); - if (!($156)) { - HEAP32[$0>>2] = 3; - break; - } - $157 = HEAP32[$name>>2]|0; - $158 = (_strcmp($157,17767)|0); - $159 = ($158|0)!=(0); - if (!($159)) { - HEAP32[$0>>2] = 1; - break; - } - $160 = HEAP32[$name>>2]|0; - $161 = (_strcmp($160,17779)|0); - $162 = ($161|0)!=(0); - if (!($162)) { - HEAP32[$0>>2] = 1; - break; - } - $163 = HEAP32[$name>>2]|0; - $164 = (_strcmp($163,17791)|0); - $165 = ($164|0)!=(0); - if (!($165)) { - HEAP32[$0>>2] = 17; - break; - } - $166 = HEAP32[$name>>2]|0; - $167 = (_strcmp($166,17803)|0); - $168 = ($167|0)!=(0); - if (!($168)) { - HEAP32[$0>>2] = 13; - break; - } - $169 = HEAP32[$name>>2]|0; - $170 = (_strcmp($169,17815)|0); - $171 = ($170|0)!=(0); - if (!($171)) { - HEAP32[$0>>2] = 4; - break; - } - $172 = HEAP32[$name>>2]|0; - $173 = (_strcmp($172,17827)|0); - $174 = ($173|0)!=(0); - if (!($174)) { - HEAP32[$0>>2] = 2; - break; - } - $175 = HEAP32[$name>>2]|0; - $176 = (_strcmp($175,17839)|0); - $177 = ($176|0)!=(0); - if (!($177)) { - HEAP32[$0>>2] = 14; - break; - } - $178 = HEAP32[$name>>2]|0; - $179 = (_strcmp($178,17852)|0); - $180 = ($179|0)!=(0); - if (!($180)) { - HEAP32[$0>>2] = 15; - break; - } - $181 = HEAP32[$name>>2]|0; - $182 = (_strcmp($181,17865)|0); - $183 = ($182|0)!=(0); - if (!($183)) { - HEAP32[$0>>2] = 16; - break; - } - $184 = HEAP32[$name>>2]|0; - $185 = (_strcmp($184,17878)|0); - $186 = ($185|0)!=(0); - if (!($186)) { - HEAP32[$0>>2] = 17; - break; - } - $187 = HEAP32[$name>>2]|0; - $188 = (_strcmp($187,17891)|0); - $189 = ($188|0)!=(0); - if (!($189)) { - HEAP32[$0>>2] = 18; - break; - } - $190 = HEAP32[$name>>2]|0; - $191 = (_strcmp($190,17904)|0); - $192 = ($191|0)!=(0); - if (!($192)) { - HEAP32[$0>>2] = 19; - break; - } - $193 = HEAP32[$name>>2]|0; - $194 = (_strcmp($193,17917)|0); - $195 = ($194|0)!=(0); - if (!($195)) { - HEAP32[$0>>2] = 20; - break; - } - $196 = HEAP32[$name>>2]|0; - $197 = (_strcmp($196,17930)|0); - $198 = ($197|0)!=(0); - if (!($198)) { - HEAP32[$0>>2] = 21; - break; - } - $199 = HEAP32[$name>>2]|0; - $200 = (_strcmp($199,17943)|0); - $201 = ($200|0)!=(0); - if (!($201)) { - HEAP32[$0>>2] = 5; - break; - } - $202 = HEAP32[$name>>2]|0; - $203 = (_strcmp($202,17962)|0); - $204 = ($203|0)!=(0); - if (!($204)) { - HEAP32[$0>>2] = 6; - break; - } - $205 = HEAP32[$name>>2]|0; - $206 = (_strcmp($205,17981)|0); - $207 = ($206|0)!=(0); - if (!($207)) { - HEAP32[$0>>2] = 7; - break; - } - $208 = HEAP32[$name>>2]|0; - $209 = (_strcmp($208,18000)|0); - $210 = ($209|0)!=(0); - if (!($210)) { - HEAP32[$0>>2] = 18; - break; - } - $211 = HEAP32[$name>>2]|0; - $212 = (_strcmp($211,18013)|0); - $213 = ($212|0)!=(0); - if (!($213)) { - HEAP32[$0>>2] = 19; - break; - } - $214 = HEAP32[$name>>2]|0; - $215 = (_strcmp($214,18031)|0); - $216 = ($215|0)!=(0); - if (!($216)) { - HEAP32[$0>>2] = 20; - break; - } - $217 = HEAP32[$name>>2]|0; - $218 = (_strcmp($217,18049)|0); - $219 = ($218|0)!=(0); - if (!($219)) { - HEAP32[$0>>2] = 21; - break; - } - $220 = HEAP32[$name>>2]|0; - $221 = (_strcmp($220,18067)|0); - $222 = ($221|0)!=(0); - if (!($222)) { - HEAP32[$0>>2] = 22; - break; - } - $223 = HEAP32[$name>>2]|0; - $224 = (_strcmp($223,18085)|0); - $225 = ($224|0)!=(0); - if (!($225)) { - HEAP32[$0>>2] = 4; - break; - } - $226 = HEAP32[$name>>2]|0; - $227 = (_strcmp($226,18105)|0); - $228 = ($227|0)!=(0); - if (!($228)) { - HEAP32[$0>>2] = 3; - break; - } - $229 = HEAP32[$name>>2]|0; - $230 = (_strcmp($229,17046)|0); - $231 = ($230|0)!=(0); - if (!($231)) { - HEAP32[$0>>2] = 6; - break; - } - $232 = HEAP32[$name>>2]|0; - $233 = (_strcmp($232,18123)|0); - $234 = ($233|0)!=(0); - if (!($234)) { - HEAP32[$0>>2] = 1; - break; - } - $235 = HEAP32[$name>>2]|0; - $236 = (_strcmp($235,18138)|0); - $237 = ($236|0)!=(0); - if (!($237)) { - HEAP32[$0>>2] = 8; - break; - } - $238 = HEAP32[$name>>2]|0; - $239 = (_strcmp($238,18159)|0); - $240 = ($239|0)!=(0); - if (!($240)) { - HEAP32[$0>>2] = 9; - break; - } - $241 = HEAP32[$name>>2]|0; - $242 = (_strcmp($241,18174)|0); - $243 = ($242|0)!=(0); - if (!($243)) { - HEAP32[$0>>2] = 10; - break; - } - $244 = HEAP32[$name>>2]|0; - $245 = (_strcmp($244,18192)|0); - $246 = ($245|0)!=(0); - if (!($246)) { - HEAP32[$0>>2] = 2; - break; - } - $247 = HEAP32[$name>>2]|0; - $248 = (_strcmp($247,18208)|0); - $249 = ($248|0)!=(0); - if (!($249)) { - HEAP32[$0>>2] = 11; - break; - } - $250 = HEAP32[$name>>2]|0; - $251 = (_strcmp($250,18227)|0); - $252 = ($251|0)!=(0); - if (!($252)) { - HEAP32[$0>>2] = 22; - break; - } - $253 = HEAP32[$name>>2]|0; - $254 = (_strcmp($253,18241)|0); - $255 = ($254|0)!=(0); - if (!($255)) { - HEAP32[$0>>2] = 23; - break; - } - $256 = HEAP32[$name>>2]|0; - $257 = (_strcmp($256,18256)|0); - $258 = ($257|0)!=(0); - if (!($258)) { - HEAP32[$0>>2] = 7; - break; - } - $259 = HEAP32[$name>>2]|0; - $260 = (_strcmp($259,16977)|0); - $261 = ($260|0)!=(0); - if (!($261)) { - HEAP32[$0>>2] = 1; - break; - } - $262 = HEAP32[$name>>2]|0; - $263 = (_strcmp($262,18267)|0); - $264 = ($263|0)!=(0); - if (!($264)) { - HEAP32[$0>>2] = 3; - break; - } - $265 = HEAP32[$name>>2]|0; - $266 = (_strcmp($265,17076)|0); - $267 = ($266|0)!=(0); - if (!($267)) { - HEAP32[$0>>2] = 23; - break; - } - $268 = HEAP32[$name>>2]|0; - $269 = (_strcmp($268,17106)|0); - $270 = ($269|0)!=(0); - if (!($270)) { - HEAP32[$0>>2] = 24; - break; - } - $271 = HEAP32[$name>>2]|0; - $272 = (_strcmp($271,18283)|0); - $273 = ($272|0)!=(0); - if (!($273)) { - HEAP32[$0>>2] = 12; - break; - } - $274 = HEAP32[$name>>2]|0; - $275 = (_strcmp($274,18310)|0); - $276 = ($275|0)!=(0); - if (!($276)) { - HEAP32[$0>>2] = 4; - break; - } - $277 = HEAP32[$name>>2]|0; - $278 = (_strcmp($277,18324)|0); - $279 = ($278|0)!=(0); - if (!($279)) { - HEAP32[$0>>2] = 13; - break; - } - $280 = HEAP32[$name>>2]|0; - $281 = (_strcmp($280,17012)|0); - $282 = ($281|0)!=(0); - if (!($282)) { - HEAP32[$0>>2] = 5; - break; - } - $283 = HEAP32[$name>>2]|0; - $284 = (_strcmp($283,18344)|0); - $285 = ($284|0)!=(0); - if (!($285)) { - HEAP32[$0>>2] = 6; - break; - } - $286 = HEAP32[$name>>2]|0; - $287 = (_strcmp($286,18362)|0); - $288 = ($287|0)!=(0); - if (!($288)) { - HEAP32[$0>>2] = 8; - break; - } - $289 = HEAP32[$name>>2]|0; - $290 = (_strcmp($289,18374)|0); - $291 = ($290|0)!=(0); - if (!($291)) { - HEAP32[$0>>2] = 24; - break; - } - $292 = HEAP32[$name>>2]|0; - $293 = (_strcmp($292,18395)|0); - $294 = ($293|0)!=(0); - if (!($294)) { - HEAP32[$0>>2] = 25; - break; - } - $295 = HEAP32[$name>>2]|0; - $296 = (_strcmp($295,18413)|0); - $297 = ($296|0)!=(0); - if (!($297)) { - HEAP32[$0>>2] = 26; - break; - } - $298 = HEAP32[$name>>2]|0; - $299 = (_strcmp($298,18431)|0); - $300 = ($299|0)!=(0); - if (!($300)) { - HEAP32[$0>>2] = 27; - break; - } - $301 = HEAP32[$name>>2]|0; - $302 = (_strcmp($301,18452)|0); - $303 = ($302|0)!=(0); - if (!($303)) { - HEAP32[$0>>2] = 14; - break; - } - $304 = HEAP32[$name>>2]|0; - $305 = (_strcmp($304,18478)|0); - $306 = ($305|0)!=(0); - if (!($306)) { - HEAP32[$0>>2] = 3; - break; - } - $307 = HEAP32[$name>>2]|0; - $308 = (_strcmp($307,18501)|0); - $309 = ($308|0)!=(0); - if (!($309)) { - HEAP32[$0>>2] = 15; - break; - } - $310 = HEAP32[$name>>2]|0; - $311 = (_strcmp($310,18539)|0); - $312 = ($311|0)!=(0); - if (!($312)) { - HEAP32[$0>>2] = 9; - break; - } - $313 = HEAP32[$name>>2]|0; - $314 = (_strcmp($313,18555)|0); - $315 = ($314|0)!=(0); - if (!($315)) { - HEAP32[$0>>2] = 7; - break; - } - $316 = HEAP32[$name>>2]|0; - $317 = (_strcmp($316,18570)|0); - $318 = ($317|0)!=(0); - if (!($318)) { - HEAP32[$0>>2] = 25; - break; - } - $319 = HEAP32[$name>>2]|0; - $320 = (_strcmp($319,18593)|0); - $321 = ($320|0)!=(0); - if (!($321)) { - HEAP32[$0>>2] = 16; - break; - } - $322 = HEAP32[$name>>2]|0; - $323 = (_strcmp($322,18606)|0); - $324 = ($323|0)!=(0); - if (!($324)) { - HEAP32[$0>>2] = 28; - break; - } - $325 = HEAP32[$name>>2]|0; - $326 = (_strcmp($325,18620)|0); - $327 = ($326|0)!=(0); - if (!($327)) { - HEAP32[$0>>2] = 29; - break; - } - $328 = HEAP32[$name>>2]|0; - $329 = (_strcmp($328,18634)|0); - $330 = ($329|0)!=(0); - if (!($330)) { - HEAP32[$0>>2] = 1; - break; - } - $331 = HEAP32[$name>>2]|0; - $332 = (_strcmp($331,18654)|0); - $333 = ($332|0)!=(0); - if (!($333)) { - HEAP32[$0>>2] = 8; - break; - } - $334 = HEAP32[$name>>2]|0; - $335 = (_strcmp($334,18674)|0); - $336 = ($335|0)!=(0); - if (!($336)) { - HEAP32[$0>>2] = 17; - break; - } - $337 = HEAP32[$name>>2]|0; - $338 = (_strcmp($337,18690)|0); - $339 = ($338|0)!=(0); - if (!($339)) { - HEAP32[$0>>2] = 18; - break; - } - $340 = HEAP32[$name>>2]|0; - $341 = (_strcmp($340,18708)|0); - $342 = ($341|0)!=(0); - if (!($342)) { - HEAP32[$0>>2] = 26; - break; - } - $343 = HEAP32[$name>>2]|0; - $344 = (_strcmp($343,18724)|0); - $345 = ($344|0)!=(0); - if (!($345)) { - HEAP32[$0>>2] = 19; - break; - } - $346 = HEAP32[$name>>2]|0; - $347 = (_strcmp($346,18739)|0); - $348 = ($347|0)!=(0); - if (!($348)) { - HEAP32[$0>>2] = 9; - break; - } - $349 = HEAP32[$name>>2]|0; - $350 = (_strcmp($349,18761)|0); - $351 = ($350|0)!=(0); - if (!($351)) { - HEAP32[$0>>2] = 30; - break; - } - $352 = HEAP32[$name>>2]|0; - $353 = (_strcmp($352,18779)|0); - $354 = ($353|0)!=(0); - if (!($354)) { - HEAP32[$0>>2] = 31; - break; - } - $355 = HEAP32[$name>>2]|0; - $356 = (_strcmp($355,18800)|0); - $357 = ($356|0)!=(0); - if (!($357)) { - HEAP32[$0>>2] = 10; - break; - } - $358 = HEAP32[$name>>2]|0; - $359 = (_strcmp($358,18818)|0); - $360 = ($359|0)!=(0); - if (!($360)) { - HEAP32[$0>>2] = 11; - break; - } - $361 = HEAP32[$name>>2]|0; - $362 = (_strcmp($361,18831)|0); - $363 = ($362|0)!=(0); - if (!($363)) { - HEAP32[$0>>2] = 2; - break; - } - $364 = HEAP32[$name>>2]|0; - $365 = (_strcmp($364,18846)|0); - $366 = ($365|0)!=(0); - if (!($366)) { - HEAP32[$0>>2] = 12; - break; - } - $367 = HEAP32[$name>>2]|0; - $368 = (_strcmp($367,18860)|0); - $369 = ($368|0)!=(0); - if (!($369)) { - HEAP32[$0>>2] = 1; - break; - } - $370 = HEAP32[$name>>2]|0; - $371 = (_strcmp($370,18870)|0); - $372 = ($371|0)!=(0); - if (!($372)) { - HEAP32[$0>>2] = 1; - break; - } - $373 = HEAP32[$name>>2]|0; - $374 = (_strcmp($373,18880)|0); - $375 = ($374|0)!=(0); - if (!($375)) { - HEAP32[$0>>2] = 2; - break; - } - $376 = HEAP32[$name>>2]|0; - $377 = (_strcmp($376,18902)|0); - $378 = ($377|0)!=(0); - if (!($378)) { - HEAP32[$0>>2] = 13; - break; - } - $379 = HEAP32[$name>>2]|0; - $380 = (_strcmp($379,18928)|0); - $381 = ($380|0)!=(0); - if (!($381)) { - HEAP32[$0>>2] = 14; - break; - } - $382 = HEAP32[$name>>2]|0; - $383 = (_strcmp($382,18955)|0); - $384 = ($383|0)!=(0); - if (!($384)) { - HEAP32[$0>>2] = 27; - break; - } - $385 = HEAP32[$name>>2]|0; - $386 = (_strcmp($385,18968)|0); - $387 = ($386|0)!=(0); - if (!($387)) { - HEAP32[$0>>2] = 20; - break; - } - $388 = HEAP32[$name>>2]|0; - $389 = (_strcmp($388,18983)|0); - $390 = ($389|0)!=(0); - if (!($390)) { - HEAP32[$0>>2] = 4; - break; - } - $391 = HEAP32[$name>>2]|0; - $392 = (_strcmp($391,18998)|0); - $393 = ($392|0)!=(0); - if (!($393)) { - HEAP32[$0>>2] = 3; - break; - } - $394 = HEAP32[$name>>2]|0; - $395 = (_strcmp($394,19022)|0); - $396 = ($395|0)!=(0); - if (!($396)) { - HEAP32[$0>>2] = 2; - break; - } - $397 = HEAP32[$name>>2]|0; - $398 = (_strcmp($397,19033)|0); - $399 = ($398|0)!=(0); - if (!($399)) { - HEAP32[$0>>2] = 32; - break; - } - $400 = HEAP32[$name>>2]|0; - $401 = (_strcmp($400,19055)|0); - $402 = ($401|0)!=(0); - if (!($402)) { - HEAP32[$0>>2] = 21; - break; - } - $403 = HEAP32[$name>>2]|0; - $404 = (_strcmp($403,19077)|0); - $405 = ($404|0)!=(0); - if (!($405)) { - HEAP32[$0>>2] = 5; - break; - } - $406 = HEAP32[$name>>2]|0; - $407 = (_strcmp($406,19101)|0); - $408 = ($407|0)!=(0); - if (!($408)) { - HEAP32[$0>>2] = 4; - break; - } - $409 = HEAP32[$name>>2]|0; - $410 = (_strcmp($409,19110)|0); - $411 = ($410|0)!=(0); - if (!($411)) { - HEAP32[$0>>2] = 5; - break; - } - $412 = HEAP32[$name>>2]|0; - $413 = (_strcmp($412,19118)|0); - $414 = ($413|0)!=(0); - if (!($414)) { - HEAP32[$0>>2] = 1; - break; - } - $415 = HEAP32[$name>>2]|0; - $416 = (_strcmp($415,19131)|0); - $417 = ($416|0)!=(0); - if (!($417)) { - HEAP32[$0>>2] = 2; - break; - } - $418 = HEAP32[$name>>2]|0; - $419 = (_strcmp($418,19145)|0); - $420 = ($419|0)!=(0); - if (!($420)) { - HEAP32[$0>>2] = 15; - break; - } - $421 = HEAP32[$name>>2]|0; - $422 = (_strcmp($421,19157)|0); - $423 = ($422|0)!=(0); - if (!($423)) { - HEAP32[$0>>2] = 16; - break; - } - $424 = HEAP32[$name>>2]|0; - $425 = (_strcmp($424,19166)|0); - $426 = ($425|0)!=(0); - if (!($426)) { - HEAP32[$0>>2] = 17; - break; - } - $427 = HEAP32[$name>>2]|0; - $428 = (_strcmp($427,19176)|0); - $429 = ($428|0)!=(0); - if (!($429)) { - HEAP32[$0>>2] = 18; - break; - } - $430 = HEAP32[$name>>2]|0; - $431 = (_strcmp($430,19188)|0); - $432 = ($431|0)!=(0); - if (!($432)) { - HEAP32[$0>>2] = 19; - break; - } - $433 = HEAP32[$name>>2]|0; - $434 = (_strcmp($433,19199)|0); - $435 = ($434|0)!=(0); - if (!($435)) { - HEAP32[$0>>2] = 20; - break; - } - $436 = HEAP32[$name>>2]|0; - $437 = (_strcmp($436,19207)|0); - $438 = ($437|0)!=(0); - if (!($438)) { - HEAP32[$0>>2] = 3; - break; - } - $439 = HEAP32[$name>>2]|0; - $440 = (_strcmp($439,19219)|0); - $441 = ($440|0)!=(0); - if (!($441)) { - HEAP32[$0>>2] = 21; - break; - } - $442 = HEAP32[$name>>2]|0; - $443 = (_strcmp($442,19234)|0); - $444 = ($443|0)!=(0); - if (!($444)) { - HEAP32[$0>>2] = 22; - break; - } - $445 = HEAP32[$name>>2]|0; - $446 = (_strcmp($445,19246)|0); - $447 = ($446|0)!=(0); - if (!($447)) { - HEAP32[$0>>2] = 23; - break; - } - $448 = HEAP32[$name>>2]|0; - $449 = (_strcmp($448,19260)|0); - $450 = ($449|0)!=(0); - if (!($450)) { - HEAP32[$0>>2] = 10; - break; - } - $451 = HEAP32[$name>>2]|0; - $452 = (_strcmp($451,19285)|0); - $453 = ($452|0)!=(0); - if (!($453)) { - HEAP32[$0>>2] = 24; - break; - } - $454 = HEAP32[$name>>2]|0; - $455 = (_strcmp($454,19302)|0); - $456 = ($455|0)!=(0); - if (!($456)) { - HEAP32[$0>>2] = 25; - break; - } - $457 = HEAP32[$name>>2]|0; - $458 = (_strcmp($457,19318)|0); - $459 = ($458|0)!=(0); - if (!($459)) { - HEAP32[$0>>2] = 26; - break; - } - $460 = HEAP32[$name>>2]|0; - $461 = (_strcmp($460,19334)|0); - $462 = ($461|0)!=(0); - if (!($462)) { - HEAP32[$0>>2] = 11; - break; - } - $463 = HEAP32[$name>>2]|0; - $464 = (_strcmp($463,19346)|0); - $465 = ($464|0)!=(0); - if (!($465)) { - HEAP32[$0>>2] = 33; - break; - } - $466 = HEAP32[$name>>2]|0; - $467 = (_strcmp($466,19358)|0); - $468 = ($467|0)!=(0); - if (!($468)) { - HEAP32[$0>>2] = 34; - break; - } - $469 = HEAP32[$name>>2]|0; - $470 = (_strcmp($469,19382)|0); - $471 = ($470|0)!=(0); - if (!($471)) { - HEAP32[$0>>2] = 1; - break; - } - $472 = HEAP32[$name>>2]|0; - $473 = (_strcmp($472,19395)|0); - $474 = ($473|0)!=(0); - if (!($474)) { - HEAP32[$0>>2] = 2; - break; - } - $475 = HEAP32[$name>>2]|0; - $476 = (_strcmp($475,19409)|0); - $477 = ($476|0)!=(0); - if (!($477)) { - HEAP32[$0>>2] = 35; - break; - } - $478 = HEAP32[$name>>2]|0; - $479 = (_strcmp($478,19431)|0); - $480 = ($479|0)!=(0); - if (!($480)) { - HEAP32[$0>>2] = 36; - break; - } - $481 = HEAP32[$name>>2]|0; - $482 = (_strcmp($481,19438)|0); - $483 = ($482|0)!=(0); - if (!($483)) { - HEAP32[$0>>2] = 3; - break; - } - $484 = HEAP32[$name>>2]|0; - $485 = (_strcmp($484,19454)|0); - $486 = ($485|0)!=(0); - if (!($486)) { - HEAP32[$0>>2] = 2; - break; - } - $487 = HEAP32[$name>>2]|0; - $488 = (_strcmp($487,19471)|0); - $489 = ($488|0)!=(0); - if (!($489)) { - HEAP32[$0>>2] = 1; - break; - } - $490 = HEAP32[$name>>2]|0; - $491 = (_strcmp($490,19488)|0); - $492 = ($491|0)!=(0); - if (!($492)) { - HEAP32[$0>>2] = 28; - break; - } - $493 = HEAP32[$name>>2]|0; - $494 = (_strcmp($493,19504)|0); - $495 = ($494|0)!=(0); - if (!($495)) { - HEAP32[$0>>2] = 1; - break; - } - $496 = HEAP32[$name>>2]|0; - $497 = (_strcmp($496,19520)|0); - $498 = ($497|0)!=(0); - if (!($498)) { - HEAP32[$0>>2] = 4; - break; - } - $499 = HEAP32[$name>>2]|0; - $500 = (_strcmp($499,19537)|0); - $501 = ($500|0)!=(0); - if (!($501)) { - HEAP32[$0>>2] = 29; - break; - } - $502 = HEAP32[$name>>2]|0; - $503 = (_strcmp($502,19551)|0); - $504 = ($503|0)!=(0); - if (!($504)) { - HEAP32[$0>>2] = 30; - break; - } - $505 = HEAP32[$name>>2]|0; - $506 = (_strcmp($505,19563)|0); - $507 = ($506|0)!=(0); - if (!($507)) { - HEAP32[$0>>2] = 22; - break; - } - $508 = HEAP32[$name>>2]|0; - $509 = (_strcmp($508,19574)|0); - $510 = ($509|0)!=(0); - if (!($510)) { - HEAP32[$0>>2] = 2; - break; - } - $511 = HEAP32[$name>>2]|0; - $512 = (_strcmp($511,19587)|0); - $513 = ($512|0)!=(0); - if (!($513)) { - HEAP32[$0>>2] = 23; - break; - } - $514 = HEAP32[$name>>2]|0; - $515 = (_strcmp($514,19597)|0); - $516 = ($515|0)!=(0); - if (!($516)) { - HEAP32[$0>>2] = 2; - break; - } - $517 = HEAP32[$name>>2]|0; - $518 = (_strcmp($517,19614)|0); - $519 = ($518|0)!=(0); - if (!($519)) { - HEAP32[$0>>2] = 24; - break; - } - $520 = HEAP32[$name>>2]|0; - $521 = (_strcmp($520,19626)|0); - $522 = ($521|0)!=(0); - if (!($522)) { - HEAP32[$0>>2] = 25; - break; - } - $523 = HEAP32[$name>>2]|0; - $524 = (_strcmp($523,19648)|0); - $525 = ($524|0)!=(0); - if (!($525)) { - HEAP32[$0>>2] = 26; - break; - } - $526 = HEAP32[$name>>2]|0; - $527 = (_strcmp($526,19668)|0); - $528 = ($527|0)!=(0); - if (!($528)) { - HEAP32[$0>>2] = 3; - break; - } - $529 = HEAP32[$name>>2]|0; - $530 = (_strcmp($529,19681)|0); - $531 = ($530|0)!=(0); - if (!($531)) { - HEAP32[$0>>2] = 27; - break; - } - $532 = HEAP32[$name>>2]|0; - $533 = (_strcmp($532,19703)|0); - $534 = ($533|0)!=(0); - if (!($534)) { - HEAP32[$0>>2] = 28; - break; - } - $535 = HEAP32[$name>>2]|0; - $536 = (_strcmp($535,19723)|0); - $537 = ($536|0)!=(0); - if (!($537)) { - HEAP32[$0>>2] = 2; - break; - } - $538 = HEAP32[$name>>2]|0; - $539 = (_strcmp($538,19740)|0); - $540 = ($539|0)!=(0); - if (!($540)) { - HEAP32[$0>>2] = 2; - break; - } - $541 = HEAP32[$name>>2]|0; - $542 = (_strcmp($541,19757)|0); - $543 = ($542|0)!=(0); - if (!($543)) { - HEAP32[$0>>2] = 3; - break; - } - $544 = HEAP32[$name>>2]|0; - $545 = (_strcmp($544,19777)|0); - $546 = ($545|0)!=(0); - if ($546) { - $547 = HEAP32[$1>>2]|0; - $548 = HEAP32[$name>>2]|0; - $549 = _emscripten_asm_const_2(0, ($547|0), ($548|0))|0; - HEAP32[$0>>2] = 0; - break; - } else { - HEAP32[$0>>2] = 37; - break; - } - } else { - HEAP32[$0>>2] = 5; - } - } while(0); - $550 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($550|0); -} -function _strerror($e) { - $e = $e|0; - var $$lcssa = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i$03 = 0, $i$03$lcssa = 0, $i$12 = 0, $s$0$lcssa = 0, $s$01 = 0, $s$1 = 0, label = 0; - var sp = 0; - sp = STACKTOP; - $i$03 = 0; - while(1) { - $1 = (19893 + ($i$03)|0); - $2 = HEAP8[$1>>0]|0; - $3 = $2&255; - $4 = ($3|0)==($e|0); - if ($4) { - $i$03$lcssa = $i$03; - label = 2; - break; - } - $5 = (($i$03) + 1)|0; - $6 = ($5|0)==(87); - if ($6) { - $i$12 = 87;$s$01 = 19981; - label = 5; - break; - } else { - $i$03 = $5; - } - } - if ((label|0) == 2) { - $0 = ($i$03$lcssa|0)==(0); - if ($0) { - $s$0$lcssa = 19981; - } else { - $i$12 = $i$03$lcssa;$s$01 = 19981; - label = 5; - } - } - if ((label|0) == 5) { - while(1) { - label = 0; - $s$1 = $s$01; - while(1) { - $7 = HEAP8[$s$1>>0]|0; - $8 = ($7<<24>>24)==(0); - $9 = ((($s$1)) + 1|0); - if ($8) { - $$lcssa = $9; - break; - } else { - $s$1 = $9; - } - } - $10 = (($i$12) + -1)|0; - $11 = ($10|0)==(0); - if ($11) { - $s$0$lcssa = $$lcssa; - break; - } else { - $i$12 = $10;$s$01 = $$lcssa; - label = 5; - } - } - } - return ($s$0$lcssa|0); -} -function ___errno_location() { - var $$0 = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[8028>>2]|0; - $1 = ($0|0)==(0|0); - if ($1) { - $$0 = 8080; - } else { - $2 = (_pthread_self()|0); - $3 = ((($2)) + 60|0); - $4 = HEAP32[$3>>2]|0; - $$0 = $4; - } - return ($$0|0); -} -function ___syscall_ret($r) { - $r = $r|0; - var $$0 = 0, $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ($r>>>0)>(4294963200); - if ($0) { - $1 = (0 - ($r))|0; - $2 = (___errno_location()|0); - HEAP32[$2>>2] = $1; - $$0 = -1; - } else { - $$0 = $r; - } - return ($$0|0); -} -function _frexp($x,$e) { - $x = +$x; - $e = $e|0; - var $$0 = 0.0, $$01 = 0.0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0, $storemerge = 0, label = 0, sp = 0; - sp = STACKTOP; - HEAPF64[tempDoublePtr>>3] = $x;$0 = HEAP32[tempDoublePtr>>2]|0; - $1 = HEAP32[tempDoublePtr+4>>2]|0; - $2 = (_bitshift64Lshr(($0|0),($1|0),52)|0); - $3 = tempRet0; - $4 = $2 & 2047; - switch ($4|0) { - case 0: { - $5 = $x != 0.0; - if ($5) { - $6 = $x * 1.8446744073709552E+19; - $7 = (+_frexp($6,$e)); - $8 = HEAP32[$e>>2]|0; - $9 = (($8) + -64)|0; - $$01 = $7;$storemerge = $9; - } else { - $$01 = $x;$storemerge = 0; - } - HEAP32[$e>>2] = $storemerge; - $$0 = $$01; - break; - } - case 2047: { - $$0 = $x; - break; - } - default: { - $10 = (($4) + -1022)|0; - HEAP32[$e>>2] = $10; - $11 = $1 & -2146435073; - $12 = $11 | 1071644672; - HEAP32[tempDoublePtr>>2] = $0;HEAP32[tempDoublePtr+4>>2] = $12;$13 = +HEAPF64[tempDoublePtr>>3]; - $$0 = $13; - } - } - return (+$$0); -} -function _frexpl($x,$e) { - $x = +$x; - $e = $e|0; - var $0 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (+_frexp($x,$e)); - return (+$0); -} -function _ldexp($x,$n) { - $x = +$x; - $n = $n|0; - var $0 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (+_scalbn($x,$n)); - return (+$0); -} -function _roundf($x) { - $x = +$x; - var $$0 = 0.0, $$x = 0.0, $$y$0 = 0.0, $0 = 0, $1 = 0, $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0.0, $14 = 0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $2 = 0, $3 = 0, $4 = 0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0.0; - var $9 = 0.0, $y$0 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (HEAPF32[tempDoublePtr>>2]=$x,HEAP32[tempDoublePtr>>2]|0); - $1 = $0 >>> 23; - $2 = $1 & 255; - $3 = ($2>>>0)>(149); - do { - if ($3) { - $$0 = $x; - } else { - $4 = ($0|0)<(0); - $5 = -$x; - $$x = $4 ? $5 : $x; - $6 = ($2>>>0)<(126); - if ($6) { - $7 = $x * 0.0; - $$0 = $7; - break; - } - $8 = $$x + 8388608.0; - $9 = $8 + -8388608.0; - $10 = $9 - $$x; - $11 = $10 > 0.5; - if ($11) { - $12 = $$x + $10; - $13 = $12 + -1.0; - $y$0 = $13; - } else { - $14 = !($10 <= -0.5); - $15 = $$x + $10; - if ($14) { - $y$0 = $15; - } else { - $16 = $15 + 1.0; - $y$0 = $16; - } - } - $17 = -$y$0; - $$y$0 = $4 ? $17 : $y$0; - $$0 = $$y$0; - } - } while(0); - return (+$$0); -} -function _scalbn($x,$n) { - $x = +$x; - $n = $n|0; - var $$ = 0, $$0 = 0, $$1 = 0, $0 = 0, $1 = 0.0, $10 = 0, $11 = 0.0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0.0, $18 = 0.0, $2 = 0, $3 = 0, $4 = 0.0, $5 = 0, $6 = 0, $7 = 0; - var $8 = 0.0, $9 = 0, $y$0 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ($n|0)>(1023); - if ($0) { - $1 = $x * 8.9884656743115795E+307; - $2 = (($n) + -1023)|0; - $3 = ($2|0)>(1023); - if ($3) { - $4 = $1 * 8.9884656743115795E+307; - $5 = (($n) + -2046)|0; - $6 = ($5|0)>(1023); - $$ = $6 ? 1023 : $5; - $$0 = $$;$y$0 = $4; - } else { - $$0 = $2;$y$0 = $1; - } - } else { - $7 = ($n|0)<(-1022); - if ($7) { - $8 = $x * 2.2250738585072014E-308; - $9 = (($n) + 1022)|0; - $10 = ($9|0)<(-1022); - if ($10) { - $11 = $8 * 2.2250738585072014E-308; - $12 = (($n) + 2044)|0; - $13 = ($12|0)<(-1022); - $$1 = $13 ? -1022 : $12; - $$0 = $$1;$y$0 = $11; - } else { - $$0 = $9;$y$0 = $8; - } - } else { - $$0 = $n;$y$0 = $x; - } - } - $14 = (($$0) + 1023)|0; - $15 = (_bitshift64Shl(($14|0),0,52)|0); - $16 = tempRet0; - HEAP32[tempDoublePtr>>2] = $15;HEAP32[tempDoublePtr+4>>2] = $16;$17 = +HEAPF64[tempDoublePtr>>3]; - $18 = $y$0 * $17; - return (+$18); -} -function _wcrtomb($s,$wc,$st) { - $s = $s|0; - $wc = $wc|0; - $st = $st|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; - var $44 = 0, $45 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ($s|0)==(0|0); - do { - if ($0) { - $$0 = 1; - } else { - $1 = ($wc>>>0)<(128); - if ($1) { - $2 = $wc&255; - HEAP8[$s>>0] = $2; - $$0 = 1; - break; - } - $3 = ($wc>>>0)<(2048); - if ($3) { - $4 = $wc >>> 6; - $5 = $4 | 192; - $6 = $5&255; - $7 = ((($s)) + 1|0); - HEAP8[$s>>0] = $6; - $8 = $wc & 63; - $9 = $8 | 128; - $10 = $9&255; - HEAP8[$7>>0] = $10; - $$0 = 2; - break; - } - $11 = ($wc>>>0)<(55296); - $12 = $wc & -8192; - $13 = ($12|0)==(57344); - $or$cond = $11 | $13; - if ($or$cond) { - $14 = $wc >>> 12; - $15 = $14 | 224; - $16 = $15&255; - $17 = ((($s)) + 1|0); - HEAP8[$s>>0] = $16; - $18 = $wc >>> 6; - $19 = $18 & 63; - $20 = $19 | 128; - $21 = $20&255; - $22 = ((($s)) + 2|0); - HEAP8[$17>>0] = $21; - $23 = $wc & 63; - $24 = $23 | 128; - $25 = $24&255; - HEAP8[$22>>0] = $25; - $$0 = 3; - break; - } - $26 = (($wc) + -65536)|0; - $27 = ($26>>>0)<(1048576); - if ($27) { - $28 = $wc >>> 18; - $29 = $28 | 240; - $30 = $29&255; - $31 = ((($s)) + 1|0); - HEAP8[$s>>0] = $30; - $32 = $wc >>> 12; - $33 = $32 & 63; - $34 = $33 | 128; - $35 = $34&255; - $36 = ((($s)) + 2|0); - HEAP8[$31>>0] = $35; - $37 = $wc >>> 6; - $38 = $37 & 63; - $39 = $38 | 128; - $40 = $39&255; - $41 = ((($s)) + 3|0); - HEAP8[$36>>0] = $40; - $42 = $wc & 63; - $43 = $42 | 128; - $44 = $43&255; - HEAP8[$41>>0] = $44; - $$0 = 4; - break; - } else { - $45 = (___errno_location()|0); - HEAP32[$45>>2] = 84; - $$0 = -1; - break; - } - } - } while(0); - return ($$0|0); -} -function _wctomb($s,$wc) { - $s = $s|0; - $wc = $wc|0; - var $$0 = 0, $0 = 0, $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ($s|0)==(0|0); - if ($0) { - $$0 = 0; - } else { - $1 = (_wcrtomb($s,$wc,0)|0); - $$0 = $1; - } - return ($$0|0); -} -function _srand($s) { - $s = $s|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (($s) + -1)|0; - $1 = 144; - $2 = $1; - HEAP32[$2>>2] = $0; - $3 = (($1) + 4)|0; - $4 = $3; - HEAP32[$4>>2] = 0; - return; -} -function _rand() { - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = 144; - $1 = $0; - $2 = HEAP32[$1>>2]|0; - $3 = (($0) + 4)|0; - $4 = $3; - $5 = HEAP32[$4>>2]|0; - $6 = (___muldi3(($2|0),($5|0),1284865837,1481765933)|0); - $7 = tempRet0; - $8 = (_i64Add(($6|0),($7|0),1,0)|0); - $9 = tempRet0; - $10 = 144; - $11 = $10; - HEAP32[$11>>2] = $8; - $12 = (($10) + 4)|0; - $13 = $12; - HEAP32[$13>>2] = $9; - $14 = (_bitshift64Lshr(($8|0),($9|0),33)|0); - $15 = tempRet0; - return ($14|0); -} -function _fclose($f) { - $f = $f|0; - var $$pre = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($f)) + 76|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)>(-1); - if ($2) { - (___lockfile($f)|0); - } - $3 = HEAP32[$f>>2]|0; - $4 = $3 & 1; - $5 = ($4|0)!=(0); - if (!($5)) { - ___lock(((8056)|0)); - $6 = ((($f)) + 52|0); - $7 = HEAP32[$6>>2]|0; - $8 = ($7|0)==(0|0); - $9 = $7; - $$pre = ((($f)) + 56|0); - if (!($8)) { - $10 = HEAP32[$$pre>>2]|0; - $11 = ((($7)) + 56|0); - HEAP32[$11>>2] = $10; - } - $12 = HEAP32[$$pre>>2]|0; - $13 = ($12|0)==(0|0); - $14 = $12; - if (!($13)) { - $15 = ((($12)) + 52|0); - HEAP32[$15>>2] = $9; - } - $16 = HEAP32[(8052)>>2]|0; - $17 = ($16|0)==($f|0); - if ($17) { - HEAP32[(8052)>>2] = $14; - } - ___unlock(((8056)|0)); - } - $18 = (_fflush($f)|0); - $19 = ((($f)) + 12|0); - $20 = HEAP32[$19>>2]|0; - $21 = (FUNCTION_TABLE_ii[$20 & 15]($f)|0); - $22 = $21 | $18; - $23 = ((($f)) + 92|0); - $24 = HEAP32[$23>>2]|0; - $25 = ($24|0)==(0|0); - if (!($25)) { - _free($24); - } - if (!($5)) { - _free($f); - } - return ($22|0); -} -function _fflush($f) { - $f = $f|0; - var $$0 = 0, $$01 = 0, $$012 = 0, $$014 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0; - var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $phitmp = 0, $r$0$lcssa = 0, $r$03 = 0, $r$1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ($f|0)==(0|0); - do { - if ($0) { - $7 = HEAP32[8076>>2]|0; - $8 = ($7|0)==(0|0); - if ($8) { - $27 = 0; - } else { - $9 = HEAP32[8076>>2]|0; - $10 = (_fflush($9)|0); - $27 = $10; - } - ___lock(((8056)|0)); - $$012 = HEAP32[(8052)>>2]|0; - $11 = ($$012|0)==(0|0); - if ($11) { - $r$0$lcssa = $27; - } else { - $$014 = $$012;$r$03 = $27; - while(1) { - $12 = ((($$014)) + 76|0); - $13 = HEAP32[$12>>2]|0; - $14 = ($13|0)>(-1); - if ($14) { - $15 = (___lockfile($$014)|0); - $23 = $15; - } else { - $23 = 0; - } - $16 = ((($$014)) + 20|0); - $17 = HEAP32[$16>>2]|0; - $18 = ((($$014)) + 28|0); - $19 = HEAP32[$18>>2]|0; - $20 = ($17>>>0)>($19>>>0); - if ($20) { - $21 = (___fflush_unlocked($$014)|0); - $22 = $21 | $r$03; - $r$1 = $22; - } else { - $r$1 = $r$03; - } - $24 = ($23|0)==(0); - if (!($24)) { - ___unlockfile($$014); - } - $25 = ((($$014)) + 56|0); - $$01 = HEAP32[$25>>2]|0; - $26 = ($$01|0)==(0|0); - if ($26) { - $r$0$lcssa = $r$1; - break; - } else { - $$014 = $$01;$r$03 = $r$1; - } - } - } - ___unlock(((8056)|0)); - $$0 = $r$0$lcssa; - } else { - $1 = ((($f)) + 76|0); - $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)>(-1); - if (!($3)) { - $4 = (___fflush_unlocked($f)|0); - $$0 = $4; - break; - } - $5 = (___lockfile($f)|0); - $phitmp = ($5|0)==(0); - $6 = (___fflush_unlocked($f)|0); - if ($phitmp) { - $$0 = $6; - } else { - ___unlockfile($f); - $$0 = $6; - } - } - } while(0); - return ($$0|0); -} -function _fgetc($f) { - $f = $f|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $3 = 0, $4 = 0; - var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($f)) + 76|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)<(0); - if ($2) { - label = 3; - } else { - $3 = (___lockfile($f)|0); - $4 = ($3|0)==(0); - if ($4) { - label = 3; - } else { - $14 = ((($f)) + 4|0); - $15 = HEAP32[$14>>2]|0; - $16 = ((($f)) + 8|0); - $17 = HEAP32[$16>>2]|0; - $18 = ($15>>>0)<($17>>>0); - if ($18) { - $19 = ((($15)) + 1|0); - HEAP32[$14>>2] = $19; - $20 = HEAP8[$15>>0]|0; - $21 = $20&255; - $23 = $21; - } else { - $22 = (___uflow($f)|0); - $23 = $22; - } - ___unlockfile($f); - $$0 = $23; - } - } - do { - if ((label|0) == 3) { - $5 = ((($f)) + 4|0); - $6 = HEAP32[$5>>2]|0; - $7 = ((($f)) + 8|0); - $8 = HEAP32[$7>>2]|0; - $9 = ($6>>>0)<($8>>>0); - if ($9) { - $10 = ((($6)) + 1|0); - HEAP32[$5>>2] = $10; - $11 = HEAP8[$6>>0]|0; - $12 = $11&255; - $$0 = $12; - break; - } else { - $13 = (___uflow($f)|0); - $$0 = $13; - break; - } - } - } while(0); - return ($$0|0); -} -function _fopen($filename,$mode) { - $filename = $filename|0; - $mode = $mode|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $memchr = 0, $vararg_buffer = 0, $vararg_buffer3 = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $vararg_buffer3 = sp + 16|0; - $vararg_buffer = sp; - $0 = HEAP8[$mode>>0]|0; - $1 = $0 << 24 >> 24; - $memchr = (_memchr(21785,$1,4)|0); - $2 = ($memchr|0)==(0|0); - if ($2) { - $3 = (___errno_location()|0); - HEAP32[$3>>2] = 22; - $$0 = 0; - } else { - $4 = (___fmodeflags($mode)|0); - $5 = $4 | 32768; - HEAP32[$vararg_buffer>>2] = $filename; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = $5; - $vararg_ptr2 = ((($vararg_buffer)) + 8|0); - HEAP32[$vararg_ptr2>>2] = 438; - $6 = (___syscall5(5,($vararg_buffer|0))|0); - $7 = (___syscall_ret($6)|0); - $8 = ($7|0)<(0); - if ($8) { - $$0 = 0; - } else { - $9 = (___fdopen($7,$mode)|0); - $10 = ($9|0)==(0|0); - if ($10) { - HEAP32[$vararg_buffer3>>2] = $7; - (___syscall6(6,($vararg_buffer3|0))|0); - $$0 = 0; - } else { - $$0 = $9; - } - } - } - STACKTOP = sp;return ($$0|0); -} -function _fputc($c,$f) { - $c = $c|0; - $f = $f|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($f)) + 76|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)<(0); - if ($2) { - label = 3; - } else { - $3 = (___lockfile($f)|0); - $4 = ($3|0)==(0); - if ($4) { - label = 3; - } else { - $18 = ((($f)) + 75|0); - $19 = HEAP8[$18>>0]|0; - $20 = $19 << 24 >> 24; - $21 = ($20|0)==($c|0); - if ($21) { - label = 10; - } else { - $22 = ((($f)) + 20|0); - $23 = HEAP32[$22>>2]|0; - $24 = ((($f)) + 16|0); - $25 = HEAP32[$24>>2]|0; - $26 = ($23>>>0)<($25>>>0); - if ($26) { - $27 = $c&255; - $28 = ((($23)) + 1|0); - HEAP32[$22>>2] = $28; - HEAP8[$23>>0] = $27; - $29 = $c & 255; - $31 = $29; - } else { - label = 10; - } - } - if ((label|0) == 10) { - $30 = (___overflow($f,$c)|0); - $31 = $30; - } - ___unlockfile($f); - $$0 = $31; - } - } - do { - if ((label|0) == 3) { - $5 = ((($f)) + 75|0); - $6 = HEAP8[$5>>0]|0; - $7 = $6 << 24 >> 24; - $8 = ($7|0)==($c|0); - if (!($8)) { - $9 = ((($f)) + 20|0); - $10 = HEAP32[$9>>2]|0; - $11 = ((($f)) + 16|0); - $12 = HEAP32[$11>>2]|0; - $13 = ($10>>>0)<($12>>>0); - if ($13) { - $14 = $c&255; - $15 = ((($10)) + 1|0); - HEAP32[$9>>2] = $15; - HEAP8[$10>>0] = $14; - $16 = $c & 255; - $$0 = $16; - break; - } - } - $17 = (___overflow($f,$c)|0); - $$0 = $17; - } - } while(0); - return ($$0|0); -} -function _fread($destv,$size,$nmemb,$f) { - $destv = $destv|0; - $size = $size|0; - $nmemb = $nmemb|0; - $f = $f|0; - var $$ = 0, $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; - var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; - var $9 = 0, $dest$0$ph = 0, $dest$02 = 0, $l$0$ph = 0, $l$03 = 0, $l$03$lcssa = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = Math_imul($nmemb, $size)|0; - $1 = ((($f)) + 76|0); - $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)>(-1); - if ($3) { - $4 = (___lockfile($f)|0); - $31 = $4; - } else { - $31 = 0; - } - $5 = ((($f)) + 74|0); - $6 = HEAP8[$5>>0]|0; - $7 = $6 << 24 >> 24; - $8 = (($7) + 255)|0; - $9 = $8 | $7; - $10 = $9&255; - HEAP8[$5>>0] = $10; - $11 = ((($f)) + 8|0); - $12 = HEAP32[$11>>2]|0; - $13 = ((($f)) + 4|0); - $14 = HEAP32[$13>>2]|0; - $15 = $12; - $16 = $14; - $17 = (($15) - ($16))|0; - $18 = ($17|0)>(0); - if ($18) { - $19 = ($17>>>0)<($0>>>0); - $$ = $19 ? $17 : $0; - _memcpy(($destv|0),($14|0),($$|0))|0; - $20 = (($14) + ($$)|0); - HEAP32[$13>>2] = $20; - $21 = (($destv) + ($$)|0); - $22 = (($0) - ($$))|0; - $dest$0$ph = $21;$l$0$ph = $22; - } else { - $dest$0$ph = $destv;$l$0$ph = $0; - } - $23 = ($l$0$ph|0)==(0); - L7: do { - if ($23) { - label = 13; - } else { - $24 = ((($f)) + 32|0); - $dest$02 = $dest$0$ph;$l$03 = $l$0$ph; - while(1) { - $25 = (___toread($f)|0); - $26 = ($25|0)==(0); - if (!($26)) { - $l$03$lcssa = $l$03; - break; - } - $27 = HEAP32[$24>>2]|0; - $28 = (FUNCTION_TABLE_iiii[$27 & 7]($f,$dest$02,$l$03)|0); - $29 = (($28) + 1)|0; - $30 = ($29>>>0)<(2); - if ($30) { - $l$03$lcssa = $l$03; - break; - } - $35 = (($l$03) - ($28))|0; - $36 = (($dest$02) + ($28)|0); - $37 = ($l$03|0)==($28|0); - if ($37) { - label = 13; - break L7; - } else { - $dest$02 = $36;$l$03 = $35; - } - } - $32 = ($31|0)==(0); - if (!($32)) { - ___unlockfile($f); - } - $33 = (($0) - ($l$03$lcssa))|0; - $34 = (($33>>>0) / ($size>>>0))&-1; - $$0 = $34; - } - } while(0); - if ((label|0) == 13) { - $38 = ($31|0)==(0); - if ($38) { - $$0 = $nmemb; - } else { - ___unlockfile($f); - $$0 = $nmemb; - } - } - return ($$0|0); -} -function ___fseeko_unlocked($f,$off,$whence) { - $f = $f|0; - $off = $off|0; - $whence = $whence|0; - var $$0 = 0, $$01 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; - var $25 = 0, $26 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ($whence|0)==(1); - if ($0) { - $1 = ((($f)) + 8|0); - $2 = HEAP32[$1>>2]|0; - $3 = ((($f)) + 4|0); - $4 = HEAP32[$3>>2]|0; - $5 = $2; - $6 = $4; - $7 = (($off) - ($5))|0; - $8 = (($7) + ($6))|0; - $$01 = $8; - } else { - $$01 = $off; - } - $9 = ((($f)) + 20|0); - $10 = HEAP32[$9>>2]|0; - $11 = ((($f)) + 28|0); - $12 = HEAP32[$11>>2]|0; - $13 = ($10>>>0)>($12>>>0); - if ($13) { - $14 = ((($f)) + 36|0); - $15 = HEAP32[$14>>2]|0; - (FUNCTION_TABLE_iiii[$15 & 7]($f,0,0)|0); - $16 = HEAP32[$9>>2]|0; - $17 = ($16|0)==(0|0); - if ($17) { - $$0 = -1; - } else { - label = 5; - } - } else { - label = 5; - } - if ((label|0) == 5) { - $18 = ((($f)) + 16|0); - HEAP32[$18>>2] = 0; - HEAP32[$11>>2] = 0; - HEAP32[$9>>2] = 0; - $19 = ((($f)) + 40|0); - $20 = HEAP32[$19>>2]|0; - $21 = (FUNCTION_TABLE_iiii[$20 & 7]($f,$$01,$whence)|0); - $22 = ($21|0)<(0); - if ($22) { - $$0 = -1; - } else { - $23 = ((($f)) + 8|0); - HEAP32[$23>>2] = 0; - $24 = ((($f)) + 4|0); - HEAP32[$24>>2] = 0; - $25 = HEAP32[$f>>2]|0; - $26 = $25 & -17; - HEAP32[$f>>2] = $26; - $$0 = 0; - } - } - return ($$0|0); -} -function ___fseeko($f,$off,$whence) { - $f = $f|0; - $off = $off|0; - $whence = $whence|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $phitmp = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($f)) + 76|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)>(-1); - if ($2) { - $4 = (___lockfile($f)|0); - $phitmp = ($4|0)==(0); - $5 = (___fseeko_unlocked($f,$off,$whence)|0); - if ($phitmp) { - $6 = $5; - } else { - ___unlockfile($f); - $6 = $5; - } - } else { - $3 = (___fseeko_unlocked($f,$off,$whence)|0); - $6 = $3; - } - return ($6|0); -} -function _fseek($f,$off,$whence) { - $f = $f|0; - $off = $off|0; - $whence = $whence|0; - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (___fseeko($f,$off,$whence)|0); - return ($0|0); -} -function ___ftello_unlocked($f) { - $f = $f|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $phitmp = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($f)) + 40|0); - $1 = HEAP32[$0>>2]|0; - $2 = HEAP32[$f>>2]|0; - $3 = $2 & 128; - $4 = ($3|0)==(0); - if ($4) { - $10 = 1; - } else { - $5 = ((($f)) + 20|0); - $6 = HEAP32[$5>>2]|0; - $7 = ((($f)) + 28|0); - $8 = HEAP32[$7>>2]|0; - $9 = ($6>>>0)>($8>>>0); - $phitmp = $9 ? 2 : 1; - $10 = $phitmp; - } - $11 = (FUNCTION_TABLE_iiii[$1 & 7]($f,0,$10)|0); - $12 = ($11|0)<(0); - if ($12) { - $$0 = $11; - } else { - $13 = ((($f)) + 8|0); - $14 = HEAP32[$13>>2]|0; - $15 = ((($f)) + 4|0); - $16 = HEAP32[$15>>2]|0; - $17 = $14; - $18 = $16; - $19 = ((($f)) + 20|0); - $20 = HEAP32[$19>>2]|0; - $21 = ((($f)) + 28|0); - $22 = HEAP32[$21>>2]|0; - $23 = $20; - $24 = $22; - $25 = (($11) - ($17))|0; - $26 = (($25) + ($18))|0; - $27 = (($26) + ($23))|0; - $28 = (($27) - ($24))|0; - $$0 = $28; - } - return ($$0|0); -} -function ___ftello($f) { - $f = $f|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $phitmp = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($f)) + 76|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)>(-1); - if ($2) { - $4 = (___lockfile($f)|0); - $phitmp = ($4|0)==(0); - $5 = (___ftello_unlocked($f)|0); - if ($phitmp) { - $6 = $5; - } else { - ___unlockfile($f); - $6 = $5; - } - } else { - $3 = (___ftello_unlocked($f)|0); - $6 = $3; - } - return ($6|0); -} -function _ftell($f) { - $f = $f|0; - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (___ftello($f)|0); - return ($0|0); -} -function ___fwritex($s,$l,$f) { - $s = $s|0; - $l = $l|0; - $f = $f|0; - var $$0 = 0, $$01 = 0, $$02 = 0, $$pre = 0, $$pre6 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0; - var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i$0 = 0, $i$0$lcssa10 = 0; - var $i$1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($f)) + 16|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)==(0|0); - if ($2) { - $3 = (___towrite($f)|0); - $4 = ($3|0)==(0); - if ($4) { - $$pre = HEAP32[$0>>2]|0; - $7 = $$pre; - label = 4; - } else { - $$0 = 0; - } - } else { - $7 = $1; - label = 4; - } - L4: do { - if ((label|0) == 4) { - $5 = ((($f)) + 20|0); - $6 = HEAP32[$5>>2]|0; - $8 = $7; - $9 = $6; - $10 = (($8) - ($9))|0; - $11 = ($10>>>0)<($l>>>0); - if ($11) { - $12 = ((($f)) + 36|0); - $13 = HEAP32[$12>>2]|0; - $14 = (FUNCTION_TABLE_iiii[$13 & 7]($f,$s,$l)|0); - $$0 = $14; - break; - } - $15 = ((($f)) + 75|0); - $16 = HEAP8[$15>>0]|0; - $17 = ($16<<24>>24)>(-1); - L9: do { - if ($17) { - $i$0 = $l; - while(1) { - $18 = ($i$0|0)==(0); - if ($18) { - $$01 = $l;$$02 = $s;$29 = $6;$i$1 = 0; - break L9; - } - $19 = (($i$0) + -1)|0; - $20 = (($s) + ($19)|0); - $21 = HEAP8[$20>>0]|0; - $22 = ($21<<24>>24)==(10); - if ($22) { - $i$0$lcssa10 = $i$0; - break; - } else { - $i$0 = $19; - } - } - $23 = ((($f)) + 36|0); - $24 = HEAP32[$23>>2]|0; - $25 = (FUNCTION_TABLE_iiii[$24 & 7]($f,$s,$i$0$lcssa10)|0); - $26 = ($25>>>0)<($i$0$lcssa10>>>0); - if ($26) { - $$0 = $i$0$lcssa10; - break L4; - } - $27 = (($s) + ($i$0$lcssa10)|0); - $28 = (($l) - ($i$0$lcssa10))|0; - $$pre6 = HEAP32[$5>>2]|0; - $$01 = $28;$$02 = $27;$29 = $$pre6;$i$1 = $i$0$lcssa10; - } else { - $$01 = $l;$$02 = $s;$29 = $6;$i$1 = 0; - } - } while(0); - _memcpy(($29|0),($$02|0),($$01|0))|0; - $30 = HEAP32[$5>>2]|0; - $31 = (($30) + ($$01)|0); - HEAP32[$5>>2] = $31; - $32 = (($i$1) + ($$01))|0; - $$0 = $32; - } - } while(0); - return ($$0|0); -} -function _fwrite($src,$size,$nmemb,$f) { - $src = $src|0; - $size = $size|0; - $nmemb = $nmemb|0; - $f = $f|0; - var $0 = 0, $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $phitmp = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = Math_imul($nmemb, $size)|0; - $1 = ((($f)) + 76|0); - $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)>(-1); - if ($3) { - $5 = (___lockfile($f)|0); - $phitmp = ($5|0)==(0); - $6 = (___fwritex($src,$0,$f)|0); - if ($phitmp) { - $7 = $6; - } else { - ___unlockfile($f); - $7 = $6; - } - } else { - $4 = (___fwritex($src,$0,$f)|0); - $7 = $4; - } - $8 = ($7|0)==($0|0); - if ($8) { - $10 = $nmemb; - } else { - $9 = (($7>>>0) / ($size>>>0))&-1; - $10 = $9; - } - return ($10|0); -} -function _vfprintf($f,$fmt,$ap) { - $f = $f|0; - $fmt = $fmt|0; - $ap = $ap|0; - var $$ = 0, $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; - var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $ap2 = 0, $internal_buf = 0, $nl_arg = 0, $nl_type = 0; - var $ret$1 = 0, $ret$1$ = 0, $vacopy_currentptr = 0, dest = 0, label = 0, sp = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 224|0; - $ap2 = sp + 120|0; - $nl_type = sp + 80|0; - $nl_arg = sp; - $internal_buf = sp + 136|0; - dest=$nl_type; stop=dest+40|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - $vacopy_currentptr = HEAP32[$ap>>2]|0; - HEAP32[$ap2>>2] = $vacopy_currentptr; - $0 = (_printf_core(0,$fmt,$ap2,$nl_arg,$nl_type)|0); - $1 = ($0|0)<(0); - if ($1) { - $$0 = -1; - } else { - $2 = ((($f)) + 76|0); - $3 = HEAP32[$2>>2]|0; - $4 = ($3|0)>(-1); - if ($4) { - $5 = (___lockfile($f)|0); - $32 = $5; - } else { - $32 = 0; - } - $6 = HEAP32[$f>>2]|0; - $7 = $6 & 32; - $8 = ((($f)) + 74|0); - $9 = HEAP8[$8>>0]|0; - $10 = ($9<<24>>24)<(1); - if ($10) { - $11 = $6 & -33; - HEAP32[$f>>2] = $11; - } - $12 = ((($f)) + 48|0); - $13 = HEAP32[$12>>2]|0; - $14 = ($13|0)==(0); - if ($14) { - $16 = ((($f)) + 44|0); - $17 = HEAP32[$16>>2]|0; - HEAP32[$16>>2] = $internal_buf; - $18 = ((($f)) + 28|0); - HEAP32[$18>>2] = $internal_buf; - $19 = ((($f)) + 20|0); - HEAP32[$19>>2] = $internal_buf; - HEAP32[$12>>2] = 80; - $20 = ((($internal_buf)) + 80|0); - $21 = ((($f)) + 16|0); - HEAP32[$21>>2] = $20; - $22 = (_printf_core($f,$fmt,$ap2,$nl_arg,$nl_type)|0); - $23 = ($17|0)==(0|0); - if ($23) { - $ret$1 = $22; - } else { - $24 = ((($f)) + 36|0); - $25 = HEAP32[$24>>2]|0; - (FUNCTION_TABLE_iiii[$25 & 7]($f,0,0)|0); - $26 = HEAP32[$19>>2]|0; - $27 = ($26|0)==(0|0); - $$ = $27 ? -1 : $22; - HEAP32[$16>>2] = $17; - HEAP32[$12>>2] = 0; - HEAP32[$21>>2] = 0; - HEAP32[$18>>2] = 0; - HEAP32[$19>>2] = 0; - $ret$1 = $$; - } - } else { - $15 = (_printf_core($f,$fmt,$ap2,$nl_arg,$nl_type)|0); - $ret$1 = $15; - } - $28 = HEAP32[$f>>2]|0; - $29 = $28 & 32; - $30 = ($29|0)==(0); - $ret$1$ = $30 ? $ret$1 : -1; - $31 = $28 | $7; - HEAP32[$f>>2] = $31; - $33 = ($32|0)==(0); - if (!($33)) { - ___unlockfile($f); - } - $$0 = $ret$1$; - } - STACKTOP = sp;return ($$0|0); -} -function _vsnprintf($s,$n,$fmt,$ap) { - $s = $s|0; - $n = $n|0; - $fmt = $fmt|0; - $ap = $ap|0; - var $$$02 = 0, $$0 = 0, $$01 = 0, $$02 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0; - var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $b = 0, $f = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 128|0; - $b = sp + 112|0; - $f = sp; - dest=$f; src=8084; stop=dest+112|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $0 = (($n) + -1)|0; - $1 = ($0>>>0)>(2147483646); - if ($1) { - $2 = ($n|0)==(0); - if ($2) { - $$01 = $b;$$02 = 1; - label = 4; - } else { - $3 = (___errno_location()|0); - HEAP32[$3>>2] = 75; - $$0 = -1; - } - } else { - $$01 = $s;$$02 = $n; - label = 4; - } - if ((label|0) == 4) { - $4 = $$01; - $5 = (-2 - ($4))|0; - $6 = ($$02>>>0)>($5>>>0); - $$$02 = $6 ? $5 : $$02; - $7 = ((($f)) + 48|0); - HEAP32[$7>>2] = $$$02; - $8 = ((($f)) + 20|0); - HEAP32[$8>>2] = $$01; - $9 = ((($f)) + 44|0); - HEAP32[$9>>2] = $$01; - $10 = (($$01) + ($$$02)|0); - $11 = ((($f)) + 16|0); - HEAP32[$11>>2] = $10; - $12 = ((($f)) + 28|0); - HEAP32[$12>>2] = $10; - $13 = (_vfprintf($f,$fmt,$ap)|0); - $14 = ($$$02|0)==(0); - if ($14) { - $$0 = $13; - } else { - $15 = HEAP32[$8>>2]|0; - $16 = HEAP32[$11>>2]|0; - $17 = ($15|0)==($16|0); - $18 = $17 << 31 >> 31; - $19 = (($15) + ($18)|0); - HEAP8[$19>>0] = 0; - $$0 = $13; - } - } - STACKTOP = sp;return ($$0|0); -} -function _vsprintf($s,$fmt,$ap) { - $s = $s|0; - $fmt = $fmt|0; - $ap = $ap|0; - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_vsnprintf($s,2147483647,$fmt,$ap)|0); - return ($0|0); -} -function ___fdopen($fd,$mode) { - $fd = $fd|0; - $mode = $mode|0; - var $$0 = 0, $$pre = 0, $$pre1 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; - var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; - var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $memchr = 0, $tio = 0, $vararg_buffer = 0, $vararg_buffer12 = 0, $vararg_buffer3 = 0, $vararg_buffer7 = 0, $vararg_ptr1 = 0, $vararg_ptr10 = 0, $vararg_ptr11 = 0, $vararg_ptr15 = 0, $vararg_ptr16 = 0, $vararg_ptr2 = 0, $vararg_ptr6 = 0, dest = 0, label = 0; - var sp = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 112|0; - $vararg_buffer12 = sp + 40|0; - $vararg_buffer7 = sp + 24|0; - $vararg_buffer3 = sp + 16|0; - $vararg_buffer = sp; - $tio = sp + 52|0; - $0 = HEAP8[$mode>>0]|0; - $1 = $0 << 24 >> 24; - $memchr = (_memchr(21785,$1,4)|0); - $2 = ($memchr|0)==(0|0); - if ($2) { - $3 = (___errno_location()|0); - HEAP32[$3>>2] = 22; - $$0 = 0; - } else { - $4 = (_malloc(1144)|0); - $5 = ($4|0)==(0|0); - if ($5) { - $$0 = 0; - } else { - dest=$4; stop=dest+112|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - $6 = (_strchr($mode,43)|0); - $7 = ($6|0)==(0|0); - if ($7) { - $8 = ($0<<24>>24)==(114); - $9 = $8 ? 8 : 4; - HEAP32[$4>>2] = $9; - } - $10 = (_strchr($mode,101)|0); - $11 = ($10|0)==(0|0); - if ($11) { - $12 = $0; - } else { - HEAP32[$vararg_buffer>>2] = $fd; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = 2; - $vararg_ptr2 = ((($vararg_buffer)) + 8|0); - HEAP32[$vararg_ptr2>>2] = 1; - (___syscall221(221,($vararg_buffer|0))|0); - $$pre = HEAP8[$mode>>0]|0; - $12 = $$pre; - } - $13 = ($12<<24>>24)==(97); - if ($13) { - HEAP32[$vararg_buffer3>>2] = $fd; - $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); - HEAP32[$vararg_ptr6>>2] = 3; - $14 = (___syscall221(221,($vararg_buffer3|0))|0); - $15 = $14 & 1024; - $16 = ($15|0)==(0); - if ($16) { - $17 = $14 | 1024; - HEAP32[$vararg_buffer7>>2] = $fd; - $vararg_ptr10 = ((($vararg_buffer7)) + 4|0); - HEAP32[$vararg_ptr10>>2] = 4; - $vararg_ptr11 = ((($vararg_buffer7)) + 8|0); - HEAP32[$vararg_ptr11>>2] = $17; - (___syscall221(221,($vararg_buffer7|0))|0); - } - $18 = HEAP32[$4>>2]|0; - $19 = $18 | 128; - HEAP32[$4>>2] = $19; - $26 = $19; - } else { - $$pre1 = HEAP32[$4>>2]|0; - $26 = $$pre1; - } - $20 = ((($4)) + 60|0); - HEAP32[$20>>2] = $fd; - $21 = ((($4)) + 120|0); - $22 = ((($4)) + 44|0); - HEAP32[$22>>2] = $21; - $23 = ((($4)) + 48|0); - HEAP32[$23>>2] = 1024; - $24 = ((($4)) + 75|0); - HEAP8[$24>>0] = -1; - $25 = $26 & 8; - $27 = ($25|0)==(0); - if ($27) { - HEAP32[$vararg_buffer12>>2] = $fd; - $vararg_ptr15 = ((($vararg_buffer12)) + 4|0); - HEAP32[$vararg_ptr15>>2] = 21505; - $vararg_ptr16 = ((($vararg_buffer12)) + 8|0); - HEAP32[$vararg_ptr16>>2] = $tio; - $28 = (___syscall54(54,($vararg_buffer12|0))|0); - $29 = ($28|0)==(0); - if ($29) { - HEAP8[$24>>0] = 10; - } - } - $30 = ((($4)) + 32|0); - HEAP32[$30>>2] = 6; - $31 = ((($4)) + 36|0); - HEAP32[$31>>2] = 7; - $32 = ((($4)) + 40|0); - HEAP32[$32>>2] = 3; - $33 = ((($4)) + 12|0); - HEAP32[$33>>2] = 1; - $34 = HEAP32[(8032)>>2]|0; - $35 = ($34|0)==(0); - if ($35) { - $36 = ((($4)) + 76|0); - HEAP32[$36>>2] = -1; - } - ___lock(((8056)|0)); - $37 = HEAP32[(8052)>>2]|0; - $38 = ((($4)) + 56|0); - HEAP32[$38>>2] = $37; - $39 = ($37|0)==(0); - if (!($39)) { - $40 = $37; - $41 = ((($40)) + 52|0); - HEAP32[$41>>2] = $4; - } - HEAP32[(8052)>>2] = $4; - ___unlock(((8056)|0)); - $$0 = $4; - } - } - STACKTOP = sp;return ($$0|0); -} -function ___fmodeflags($mode) { - $mode = $mode|0; - var $$ = 0, $$flags$4 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $flags$0 = 0, $flags$0$ = 0, $flags$2 = 0; - var $flags$2$ = 0, $flags$4 = 0, $not$ = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_strchr($mode,43)|0); - $1 = ($0|0)==(0|0); - $2 = HEAP8[$mode>>0]|0; - $not$ = ($2<<24>>24)!=(114); - $$ = $not$&1; - $flags$0 = $1 ? $$ : 2; - $3 = (_strchr($mode,120)|0); - $4 = ($3|0)==(0|0); - $5 = $flags$0 | 128; - $flags$0$ = $4 ? $flags$0 : $5; - $6 = (_strchr($mode,101)|0); - $7 = ($6|0)==(0|0); - $8 = $flags$0$ | 524288; - $flags$2 = $7 ? $flags$0$ : $8; - $9 = ($2<<24>>24)==(114); - $10 = $flags$2 | 64; - $flags$2$ = $9 ? $flags$2 : $10; - $11 = ($2<<24>>24)==(119); - $12 = $flags$2$ | 512; - $flags$4 = $11 ? $12 : $flags$2$; - $13 = ($2<<24>>24)==(97); - $14 = $flags$4 | 1024; - $$flags$4 = $13 ? $14 : $flags$4; - return ($$flags$4|0); -} -function ___lockfile($f) { - $f = $f|0; - var label = 0, sp = 0; - sp = STACKTOP; - return 0; -} -function ___unlockfile($f) { - $f = $f|0; - var label = 0, sp = 0; - sp = STACKTOP; - return; -} -function ___overflow($f,$_c) { - $f = $f|0; - $_c = $_c|0; - var $$0 = 0, $$pre = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0; - var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $c = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $c = sp; - $0 = $_c&255; - HEAP8[$c>>0] = $0; - $1 = ((($f)) + 16|0); - $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)==(0|0); - if ($3) { - $4 = (___towrite($f)|0); - $5 = ($4|0)==(0); - if ($5) { - $$pre = HEAP32[$1>>2]|0; - $9 = $$pre; - label = 4; - } else { - $$0 = -1; - } - } else { - $9 = $2; - label = 4; - } - do { - if ((label|0) == 4) { - $6 = ((($f)) + 20|0); - $7 = HEAP32[$6>>2]|0; - $8 = ($7>>>0)<($9>>>0); - if ($8) { - $10 = $_c & 255; - $11 = ((($f)) + 75|0); - $12 = HEAP8[$11>>0]|0; - $13 = $12 << 24 >> 24; - $14 = ($10|0)==($13|0); - if (!($14)) { - $15 = ((($7)) + 1|0); - HEAP32[$6>>2] = $15; - HEAP8[$7>>0] = $0; - $$0 = $10; - break; - } - } - $16 = ((($f)) + 36|0); - $17 = HEAP32[$16>>2]|0; - $18 = (FUNCTION_TABLE_iiii[$17 & 7]($f,$c,1)|0); - $19 = ($18|0)==(1); - if ($19) { - $20 = HEAP8[$c>>0]|0; - $21 = $20&255; - $$0 = $21; - } else { - $$0 = -1; - } - } - } while(0); - STACKTOP = sp;return ($$0|0); -} -function ___stdio_close($f) { - $f = $f|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $vararg_buffer = sp; - $0 = ((($f)) + 60|0); - $1 = HEAP32[$0>>2]|0; - HEAP32[$vararg_buffer>>2] = $1; - $2 = (___syscall6(6,($vararg_buffer|0))|0); - $3 = (___syscall_ret($2)|0); - STACKTOP = sp;return ($3|0); -} -function ___stdio_read($f,$buf,$len) { - $f = $f|0; - $buf = $buf|0; - $len = $len|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $5 = 0, $6 = 0, $7 = 0; - var $8 = 0, $9 = 0, $cnt$0 = 0, $iov = 0, $vararg_buffer = 0, $vararg_buffer3 = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr6 = 0, $vararg_ptr7 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $vararg_buffer3 = sp + 16|0; - $vararg_buffer = sp; - $iov = sp + 32|0; - HEAP32[$iov>>2] = $buf; - $0 = ((($iov)) + 4|0); - $1 = ((($f)) + 48|0); - $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)!=(0); - $4 = $3&1; - $5 = (($len) - ($4))|0; - HEAP32[$0>>2] = $5; - $6 = ((($iov)) + 8|0); - $7 = ((($f)) + 44|0); - $8 = HEAP32[$7>>2]|0; - HEAP32[$6>>2] = $8; - $9 = ((($iov)) + 12|0); - HEAP32[$9>>2] = $2; - $10 = HEAP32[8028>>2]|0; - $11 = ($10|0)==(0|0); - if ($11) { - $16 = ((($f)) + 60|0); - $17 = HEAP32[$16>>2]|0; - HEAP32[$vararg_buffer3>>2] = $17; - $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); - HEAP32[$vararg_ptr6>>2] = $iov; - $vararg_ptr7 = ((($vararg_buffer3)) + 8|0); - HEAP32[$vararg_ptr7>>2] = 2; - $18 = (___syscall145(145,($vararg_buffer3|0))|0); - $19 = (___syscall_ret($18)|0); - $cnt$0 = $19; - } else { - _pthread_cleanup_push((27|0),($f|0)); - $12 = ((($f)) + 60|0); - $13 = HEAP32[$12>>2]|0; - HEAP32[$vararg_buffer>>2] = $13; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = $iov; - $vararg_ptr2 = ((($vararg_buffer)) + 8|0); - HEAP32[$vararg_ptr2>>2] = 2; - $14 = (___syscall145(145,($vararg_buffer|0))|0); - $15 = (___syscall_ret($14)|0); - _pthread_cleanup_pop(0); - $cnt$0 = $15; - } - $20 = ($cnt$0|0)<(1); - if ($20) { - $21 = $cnt$0 & 48; - $22 = $21 ^ 16; - $23 = HEAP32[$f>>2]|0; - $24 = $23 | $22; - HEAP32[$f>>2] = $24; - $25 = ((($f)) + 8|0); - HEAP32[$25>>2] = 0; - $26 = ((($f)) + 4|0); - HEAP32[$26>>2] = 0; - $$0 = $cnt$0; - } else { - $27 = HEAP32[$0>>2]|0; - $28 = ($cnt$0>>>0)>($27>>>0); - if ($28) { - $29 = (($cnt$0) - ($27))|0; - $30 = HEAP32[$7>>2]|0; - $31 = ((($f)) + 4|0); - HEAP32[$31>>2] = $30; - $32 = $30; - $33 = (($32) + ($29)|0); - $34 = ((($f)) + 8|0); - HEAP32[$34>>2] = $33; - $35 = HEAP32[$1>>2]|0; - $36 = ($35|0)==(0); - if ($36) { - $$0 = $len; - } else { - $37 = ((($32)) + 1|0); - HEAP32[$31>>2] = $37; - $38 = HEAP8[$32>>0]|0; - $39 = (($len) + -1)|0; - $40 = (($buf) + ($39)|0); - HEAP8[$40>>0] = $38; - $$0 = $len; - } - } else { - $$0 = $cnt$0; - } - } - STACKTOP = sp;return ($$0|0); -} -function ___stdio_seek($f,$off,$whence) { - $f = $f|0; - $off = $off|0; - $whence = $whence|0; - var $$pre = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $ret = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, $vararg_ptr4 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $vararg_buffer = sp; - $ret = sp + 20|0; - $0 = ((($f)) + 60|0); - $1 = HEAP32[$0>>2]|0; - HEAP32[$vararg_buffer>>2] = $1; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = 0; - $vararg_ptr2 = ((($vararg_buffer)) + 8|0); - HEAP32[$vararg_ptr2>>2] = $off; - $vararg_ptr3 = ((($vararg_buffer)) + 12|0); - HEAP32[$vararg_ptr3>>2] = $ret; - $vararg_ptr4 = ((($vararg_buffer)) + 16|0); - HEAP32[$vararg_ptr4>>2] = $whence; - $2 = (___syscall140(140,($vararg_buffer|0))|0); - $3 = (___syscall_ret($2)|0); - $4 = ($3|0)<(0); - if ($4) { - HEAP32[$ret>>2] = -1; - $5 = -1; - } else { - $$pre = HEAP32[$ret>>2]|0; - $5 = $$pre; - } - STACKTOP = sp;return ($5|0); -} -function ___stdio_write($f,$buf,$len) { - $f = $f|0; - $buf = $buf|0; - $len = $len|0; - var $$0 = 0, $$phi$trans$insert = 0, $$pre = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; - var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; - var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $cnt$0 = 0, $cnt$1 = 0, $iov$0 = 0, $iov$0$lcssa11 = 0, $iov$1 = 0, $iovcnt$0 = 0; - var $iovcnt$0$lcssa12 = 0, $iovcnt$1 = 0, $iovs = 0, $rem$0 = 0, $vararg_buffer = 0, $vararg_buffer3 = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr6 = 0, $vararg_ptr7 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $vararg_buffer3 = sp + 16|0; - $vararg_buffer = sp; - $iovs = sp + 32|0; - $0 = ((($f)) + 28|0); - $1 = HEAP32[$0>>2]|0; - HEAP32[$iovs>>2] = $1; - $2 = ((($iovs)) + 4|0); - $3 = ((($f)) + 20|0); - $4 = HEAP32[$3>>2]|0; - $5 = $4; - $6 = (($5) - ($1))|0; - HEAP32[$2>>2] = $6; - $7 = ((($iovs)) + 8|0); - HEAP32[$7>>2] = $buf; - $8 = ((($iovs)) + 12|0); - HEAP32[$8>>2] = $len; - $9 = (($6) + ($len))|0; - $10 = ((($f)) + 60|0); - $11 = ((($f)) + 44|0); - $iov$0 = $iovs;$iovcnt$0 = 2;$rem$0 = $9; - while(1) { - $12 = HEAP32[8028>>2]|0; - $13 = ($12|0)==(0|0); - if ($13) { - $17 = HEAP32[$10>>2]|0; - HEAP32[$vararg_buffer3>>2] = $17; - $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); - HEAP32[$vararg_ptr6>>2] = $iov$0; - $vararg_ptr7 = ((($vararg_buffer3)) + 8|0); - HEAP32[$vararg_ptr7>>2] = $iovcnt$0; - $18 = (___syscall146(146,($vararg_buffer3|0))|0); - $19 = (___syscall_ret($18)|0); - $cnt$0 = $19; - } else { - _pthread_cleanup_push((28|0),($f|0)); - $14 = HEAP32[$10>>2]|0; - HEAP32[$vararg_buffer>>2] = $14; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = $iov$0; - $vararg_ptr2 = ((($vararg_buffer)) + 8|0); - HEAP32[$vararg_ptr2>>2] = $iovcnt$0; - $15 = (___syscall146(146,($vararg_buffer|0))|0); - $16 = (___syscall_ret($15)|0); - _pthread_cleanup_pop(0); - $cnt$0 = $16; - } - $20 = ($rem$0|0)==($cnt$0|0); - if ($20) { - label = 6; - break; - } - $27 = ($cnt$0|0)<(0); - if ($27) { - $iov$0$lcssa11 = $iov$0;$iovcnt$0$lcssa12 = $iovcnt$0; - label = 8; - break; - } - $35 = (($rem$0) - ($cnt$0))|0; - $36 = ((($iov$0)) + 4|0); - $37 = HEAP32[$36>>2]|0; - $38 = ($cnt$0>>>0)>($37>>>0); - if ($38) { - $39 = HEAP32[$11>>2]|0; - HEAP32[$0>>2] = $39; - HEAP32[$3>>2] = $39; - $40 = (($cnt$0) - ($37))|0; - $41 = ((($iov$0)) + 8|0); - $42 = (($iovcnt$0) + -1)|0; - $$phi$trans$insert = ((($iov$0)) + 12|0); - $$pre = HEAP32[$$phi$trans$insert>>2]|0; - $50 = $$pre;$cnt$1 = $40;$iov$1 = $41;$iovcnt$1 = $42; - } else { - $43 = ($iovcnt$0|0)==(2); - if ($43) { - $44 = HEAP32[$0>>2]|0; - $45 = (($44) + ($cnt$0)|0); - HEAP32[$0>>2] = $45; - $50 = $37;$cnt$1 = $cnt$0;$iov$1 = $iov$0;$iovcnt$1 = 2; - } else { - $50 = $37;$cnt$1 = $cnt$0;$iov$1 = $iov$0;$iovcnt$1 = $iovcnt$0; - } - } - $46 = HEAP32[$iov$1>>2]|0; - $47 = (($46) + ($cnt$1)|0); - HEAP32[$iov$1>>2] = $47; - $48 = ((($iov$1)) + 4|0); - $49 = (($50) - ($cnt$1))|0; - HEAP32[$48>>2] = $49; - $iov$0 = $iov$1;$iovcnt$0 = $iovcnt$1;$rem$0 = $35; - } - if ((label|0) == 6) { - $21 = HEAP32[$11>>2]|0; - $22 = ((($f)) + 48|0); - $23 = HEAP32[$22>>2]|0; - $24 = (($21) + ($23)|0); - $25 = ((($f)) + 16|0); - HEAP32[$25>>2] = $24; - $26 = $21; - HEAP32[$0>>2] = $26; - HEAP32[$3>>2] = $26; - $$0 = $len; - } - else if ((label|0) == 8) { - $28 = ((($f)) + 16|0); - HEAP32[$28>>2] = 0; - HEAP32[$0>>2] = 0; - HEAP32[$3>>2] = 0; - $29 = HEAP32[$f>>2]|0; - $30 = $29 | 32; - HEAP32[$f>>2] = $30; - $31 = ($iovcnt$0$lcssa12|0)==(2); - if ($31) { - $$0 = 0; - } else { - $32 = ((($iov$0$lcssa11)) + 4|0); - $33 = HEAP32[$32>>2]|0; - $34 = (($len) - ($33))|0; - $$0 = $34; - } - } - STACKTOP = sp;return ($$0|0); -} -function ___stdout_write($f,$buf,$len) { - $f = $f|0; - $buf = $buf|0; - $len = $len|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $tio = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 80|0; - $vararg_buffer = sp; - $tio = sp + 12|0; - $0 = ((($f)) + 36|0); - HEAP32[$0>>2] = 7; - $1 = HEAP32[$f>>2]|0; - $2 = $1 & 64; - $3 = ($2|0)==(0); - if ($3) { - $4 = ((($f)) + 60|0); - $5 = HEAP32[$4>>2]|0; - HEAP32[$vararg_buffer>>2] = $5; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = 21505; - $vararg_ptr2 = ((($vararg_buffer)) + 8|0); - HEAP32[$vararg_ptr2>>2] = $tio; - $6 = (___syscall54(54,($vararg_buffer|0))|0); - $7 = ($6|0)==(0); - if (!($7)) { - $8 = ((($f)) + 75|0); - HEAP8[$8>>0] = -1; - } - } - $9 = (___stdio_write($f,$buf,$len)|0); - STACKTOP = sp;return ($9|0); -} -function ___toread($f) { - $f = $f|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $3 = 0, $4 = 0; - var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($f)) + 74|0); - $1 = HEAP8[$0>>0]|0; - $2 = $1 << 24 >> 24; - $3 = (($2) + 255)|0; - $4 = $3 | $2; - $5 = $4&255; - HEAP8[$0>>0] = $5; - $6 = ((($f)) + 20|0); - $7 = HEAP32[$6>>2]|0; - $8 = ((($f)) + 44|0); - $9 = HEAP32[$8>>2]|0; - $10 = ($7>>>0)>($9>>>0); - if ($10) { - $11 = ((($f)) + 36|0); - $12 = HEAP32[$11>>2]|0; - (FUNCTION_TABLE_iiii[$12 & 7]($f,0,0)|0); - } - $13 = ((($f)) + 16|0); - HEAP32[$13>>2] = 0; - $14 = ((($f)) + 28|0); - HEAP32[$14>>2] = 0; - HEAP32[$6>>2] = 0; - $15 = HEAP32[$f>>2]|0; - $16 = $15 & 20; - $17 = ($16|0)==(0); - if ($17) { - $21 = HEAP32[$8>>2]|0; - $22 = ((($f)) + 8|0); - HEAP32[$22>>2] = $21; - $23 = ((($f)) + 4|0); - HEAP32[$23>>2] = $21; - $$0 = 0; - } else { - $18 = $15 & 4; - $19 = ($18|0)==(0); - if ($19) { - $$0 = -1; - } else { - $20 = $15 | 32; - HEAP32[$f>>2] = $20; - $$0 = -1; - } - } - return ($$0|0); -} -function ___towrite($f) { - $f = $f|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; - var $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($f)) + 74|0); - $1 = HEAP8[$0>>0]|0; - $2 = $1 << 24 >> 24; - $3 = (($2) + 255)|0; - $4 = $3 | $2; - $5 = $4&255; - HEAP8[$0>>0] = $5; - $6 = HEAP32[$f>>2]|0; - $7 = $6 & 8; - $8 = ($7|0)==(0); - if ($8) { - $10 = ((($f)) + 8|0); - HEAP32[$10>>2] = 0; - $11 = ((($f)) + 4|0); - HEAP32[$11>>2] = 0; - $12 = ((($f)) + 44|0); - $13 = HEAP32[$12>>2]|0; - $14 = ((($f)) + 28|0); - HEAP32[$14>>2] = $13; - $15 = ((($f)) + 20|0); - HEAP32[$15>>2] = $13; - $16 = $13; - $17 = ((($f)) + 48|0); - $18 = HEAP32[$17>>2]|0; - $19 = (($16) + ($18)|0); - $20 = ((($f)) + 16|0); - HEAP32[$20>>2] = $19; - $$0 = 0; - } else { - $9 = $6 | 32; - HEAP32[$f>>2] = $9; - $$0 = -1; - } - return ($$0|0); -} -function ___uflow($f) { - $f = $f|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $c = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $c = sp; - $0 = ((($f)) + 8|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)==(0|0); - if ($2) { - $3 = (___toread($f)|0); - $4 = ($3|0)==(0); - if ($4) { - label = 3; - } else { - $$0 = -1; - } - } else { - label = 3; - } - if ((label|0) == 3) { - $5 = ((($f)) + 32|0); - $6 = HEAP32[$5>>2]|0; - $7 = (FUNCTION_TABLE_iiii[$6 & 7]($f,$c,1)|0); - $8 = ($7|0)==(1); - if ($8) { - $9 = HEAP8[$c>>0]|0; - $10 = $9&255; - $$0 = $10; - } else { - $$0 = -1; - } - } - STACKTOP = sp;return ($$0|0); -} -function _qsort($base,$nel,$width,$cmp) { - $base = $base|0; - $nel = $nel|0; - $width = $width|0; - $cmp = $cmp|0; - var $$0$i = 0, $$0$i30 = 0, $$02$i$i = 0, $$02$i3$i = 0, $$lcssa = 0, $$lcssa57 = 0, $$phi$trans$insert$i = 0, $$pre = 0, $$pre$i = 0, $$pre$i11 = 0, $$pre$i20 = 0, $$pre$i5 = 0, $$pre$i8 = 0, $$pre1$i = 0, $$pre1$i12 = 0, $$pre1$i27$pre = 0, $$pre1$i6 = 0, $$pre1$i9 = 0, $$sum = 0, $$sum2 = 0; - var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; - var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; - var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0; - var $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $8$phi = 0, $80 = 0, $81 = 0, $82 = 0; - var $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $head$0$lcssa = 0, $head$036 = 0; - var $head$1$be = 0, $head$153 = 0, $i$0 = 0, $lp = 0, $nTrailingZeros$03$i$i = 0, $nTrailingZeros$03$i2$i = 0, $nTrailingZeros$03$i2$i$lcssa = 0, $or$cond = 0, $or$cond48 = 0, $or$cond4852 = 0, $or$cond51 = 0, $p = 0, $pshift$0$lcssa = 0, $pshift$037 = 0, $pshift$1 = 0, $pshift$2$be = 0, $pshift$254 = 0, $sum = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 208|0; - $lp = sp + 8|0; - $p = sp; - $0 = Math_imul($width, $nel)|0; - $1 = $p; - $2 = $1; - HEAP32[$2>>2] = 1; - $3 = (($1) + 4)|0; - $4 = $3; - HEAP32[$4>>2] = 0; - $5 = ($0|0)==(0); - if (!($5)) { - $$sum = (($0) - ($width))|0; - $6 = ((($lp)) + 4|0); - HEAP32[$6>>2] = $width; - HEAP32[$lp>>2] = $width; - $10 = $width;$8 = $width;$i$0 = 2; - while(1) { - $7 = (($8) + ($width))|0; - $9 = (($7) + ($10))|0; - $11 = (($lp) + ($i$0<<2)|0); - HEAP32[$11>>2] = $9; - $12 = ($9>>>0)<($0>>>0); - $13 = (($i$0) + 1)|0; - if ($12) { - $8$phi = $10;$10 = $9;$i$0 = $13;$8 = $8$phi; - } else { - break; - } - } - $14 = (0 - ($width))|0; - $15 = (($base) + ($$sum)|0); - $16 = ($$sum|0)>(0); - $$phi$trans$insert$i = ((($p)) + 4|0); - if ($16) { - $17 = $15; - $19 = 1;$head$036 = $base;$pshift$037 = 1; - while(1) { - $18 = $19 & 3; - $20 = ($18|0)==(3); - do { - if ($20) { - _sift($head$036,$width,$cmp,$pshift$037,$lp); - $$pre$i = HEAP32[$p>>2]|0; - $$pre1$i = HEAP32[$$phi$trans$insert$i>>2]|0; - $21 = $$pre$i >>> 2; - $22 = $$pre1$i << 30; - $23 = $22 | $21; - HEAP32[$p>>2] = $23; - $24 = $$pre1$i >>> 2; - HEAP32[$$phi$trans$insert$i>>2] = $24; - $25 = (($pshift$037) + 2)|0; - $48 = $23;$pshift$1 = $25; - } else { - $26 = (($pshift$037) + -1)|0; - $27 = (($lp) + ($26<<2)|0); - $28 = HEAP32[$27>>2]|0; - $29 = $head$036; - $30 = (($17) - ($29))|0; - $31 = ($28>>>0)<($30>>>0); - if ($31) { - _sift($head$036,$width,$cmp,$pshift$037,$lp); - } else { - _trinkle($head$036,$width,$cmp,$p,$pshift$037,0,$lp); - } - $32 = ($pshift$037|0)==(1); - if ($32) { - $$pre$i5 = HEAP32[$$phi$trans$insert$i>>2]|0; - $$pre1$i6 = HEAP32[$p>>2]|0; - $33 = $$pre$i5 << 1; - $34 = $$pre1$i6 >>> 31; - $35 = $34 | $33; - HEAP32[$$phi$trans$insert$i>>2] = $35; - $36 = $$pre1$i6 << 1; - HEAP32[$p>>2] = $36; - $48 = $36;$pshift$1 = 0; - break; - } - $37 = ($26>>>0)>(31); - if ($37) { - $38 = (($pshift$037) + -33)|0; - $39 = HEAP32[$p>>2]|0; - HEAP32[$$phi$trans$insert$i>>2] = $39; - HEAP32[$p>>2] = 0; - $$0$i = $38;$41 = $39;$44 = 0; - } else { - $$pre$i11 = HEAP32[$$phi$trans$insert$i>>2]|0; - $$pre1$i12 = HEAP32[$p>>2]|0; - $$0$i = $26;$41 = $$pre$i11;$44 = $$pre1$i12; - } - $40 = $41 << $$0$i; - $42 = (32 - ($$0$i))|0; - $43 = $44 >>> $42; - $45 = $43 | $40; - HEAP32[$$phi$trans$insert$i>>2] = $45; - $46 = $44 << $$0$i; - HEAP32[$p>>2] = $46; - $48 = $46;$pshift$1 = 1; - } - } while(0); - $47 = $48 | 1; - HEAP32[$p>>2] = $47; - $49 = (($head$036) + ($width)|0); - $50 = ($49>>>0)<($15>>>0); - if ($50) { - $19 = $47;$head$036 = $49;$pshift$037 = $pshift$1; - } else { - $head$0$lcssa = $49;$pshift$0$lcssa = $pshift$1; - break; - } - } - } else { - $head$0$lcssa = $base;$pshift$0$lcssa = 1; - } - _trinkle($head$0$lcssa,$width,$cmp,$p,$pshift$0$lcssa,0,$lp); - $51 = ((($p)) + 4|0); - $52 = ($pshift$0$lcssa|0)==(1); - $53 = HEAP32[$p>>2]|0; - $54 = ($53|0)==(1); - $or$cond51 = $52 & $54; - $55 = HEAP32[$51>>2]|0; - $56 = ($55|0)==(0); - $or$cond4852 = $or$cond51 & $56; - if (!($or$cond4852)) { - $59 = $53;$head$153 = $head$0$lcssa;$pshift$254 = $pshift$0$lcssa; - while(1) { - $57 = ($pshift$254|0)<(2); - if ($57) { - $58 = (($59) + -1)|0; - $60 = ($58|0)==(0); - do { - if ($60) { - $81 = 32; - label = 30; - } else { - $61 = $58 & 1; - $62 = ($61|0)==(0); - if ($62) { - $$02$i$i = $58;$nTrailingZeros$03$i$i = 0; - while(1) { - $63 = (($nTrailingZeros$03$i$i) + 1)|0; - $64 = $$02$i$i >>> 1; - $65 = $64 & 1; - $66 = ($65|0)==(0); - if ($66) { - $$02$i$i = $64;$nTrailingZeros$03$i$i = $63; - } else { - $$lcssa = $63; - break; - } - } - $67 = ($$lcssa|0)==(0); - if ($67) { - label = 24; - } else { - $78 = $$lcssa; - } - } else { - label = 24; - } - if ((label|0) == 24) { - label = 0; - $68 = HEAP32[$$phi$trans$insert$i>>2]|0; - $69 = ($68|0)==(0); - if ($69) { - $81 = 64; - label = 30; - break; - } - $70 = $68 & 1; - $71 = ($70|0)==(0); - if ($71) { - $$02$i3$i = $68;$nTrailingZeros$03$i2$i = 0; - } else { - $$0$i30 = 0;$84 = $59;$87 = $68;$91 = 0; - break; - } - while(1) { - $72 = (($nTrailingZeros$03$i2$i) + 1)|0; - $73 = $$02$i3$i >>> 1; - $74 = $73 & 1; - $75 = ($74|0)==(0); - if ($75) { - $$02$i3$i = $73;$nTrailingZeros$03$i2$i = $72; - } else { - $$lcssa57 = $72;$nTrailingZeros$03$i2$i$lcssa = $nTrailingZeros$03$i2$i; - break; - } - } - $76 = (($nTrailingZeros$03$i2$i$lcssa) + 33)|0; - $77 = ($$lcssa57|0)==(0); - if ($77) { - $$0$i30 = 0;$84 = $59;$87 = $68;$91 = 0; - break; - } else { - $78 = $76; - } - } - $79 = ($78>>>0)>(31); - if ($79) { - $81 = $78; - label = 30; - } else { - $$pre1$i27$pre = HEAP32[$$phi$trans$insert$i>>2]|0; - $$0$i30 = $78;$84 = $59;$87 = $$pre1$i27$pre;$91 = $78; - } - } - } while(0); - if ((label|0) == 30) { - label = 0; - $80 = (($81) + -32)|0; - $82 = HEAP32[$$phi$trans$insert$i>>2]|0; - HEAP32[$p>>2] = $82; - HEAP32[$$phi$trans$insert$i>>2] = 0; - $$0$i30 = $80;$84 = $82;$87 = 0;$91 = $81; - } - $83 = $84 >>> $$0$i30; - $85 = (32 - ($$0$i30))|0; - $86 = $87 << $85; - $88 = $86 | $83; - HEAP32[$p>>2] = $88; - $89 = $87 >>> $$0$i30; - HEAP32[$$phi$trans$insert$i>>2] = $89; - $90 = (($91) + ($pshift$254))|0; - $$pre = (($head$153) + ($14)|0); - $head$1$be = $$pre;$pshift$2$be = $90; - } else { - $$pre$i20 = HEAP32[$$phi$trans$insert$i>>2]|0; - $92 = $$pre$i20 << 2; - $93 = $59 >>> 30; - $94 = $93 | $92; - $95 = (($pshift$254) + -2)|0; - $96 = $59 << 1; - $97 = $96 & 2147483646; - $98 = $93 << 31; - $99 = $97 | $98; - $100 = $99 ^ 3; - HEAP32[$p>>2] = $100; - $101 = $94 >>> 1; - HEAP32[$$phi$trans$insert$i>>2] = $101; - $102 = (($lp) + ($95<<2)|0); - $103 = HEAP32[$102>>2]|0; - $sum = (($103) + ($width))|0; - $$sum2 = (0 - ($sum))|0; - $104 = (($head$153) + ($$sum2)|0); - $105 = (($pshift$254) + -1)|0; - _trinkle($104,$width,$cmp,$p,$105,1,$lp); - $$pre$i8 = HEAP32[$$phi$trans$insert$i>>2]|0; - $$pre1$i9 = HEAP32[$p>>2]|0; - $106 = $$pre$i8 << 1; - $107 = $$pre1$i9 >>> 31; - $108 = $107 | $106; - HEAP32[$$phi$trans$insert$i>>2] = $108; - $109 = $$pre1$i9 << 1; - $110 = $109 | 1; - HEAP32[$p>>2] = $110; - $111 = (($head$153) + ($14)|0); - _trinkle($111,$width,$cmp,$p,$95,1,$lp); - $head$1$be = $111;$pshift$2$be = $95; - } - $112 = ($pshift$2$be|0)==(1); - $113 = HEAP32[$p>>2]|0; - $114 = ($113|0)==(1); - $or$cond = $112 & $114; - $115 = HEAP32[$51>>2]|0; - $116 = ($115|0)==(0); - $or$cond48 = $or$cond & $116; - if ($or$cond48) { - break; - } else { - $59 = $113;$head$153 = $head$1$be;$pshift$254 = $pshift$2$be; - } - } - } - } - STACKTOP = sp;return; -} -function _memchr($src,$c,$n) { - $src = $src|0; - $c = $c|0; - $n = $n|0; - var $$0$lcssa = 0, $$0$lcssa44 = 0, $$019 = 0, $$1$lcssa = 0, $$110 = 0, $$110$lcssa = 0, $$24 = 0, $$3 = 0, $$lcssa = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0; - var $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0; - var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond18 = 0, $s$0$lcssa = 0, $s$0$lcssa43 = 0, $s$020 = 0, $s$15 = 0, $s$2 = 0, $w$0$lcssa = 0, $w$011 = 0, $w$011$lcssa = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = $c & 255; - $1 = $src; - $2 = $1 & 3; - $3 = ($2|0)!=(0); - $4 = ($n|0)!=(0); - $or$cond18 = $4 & $3; - L1: do { - if ($or$cond18) { - $5 = $c&255; - $$019 = $n;$s$020 = $src; - while(1) { - $6 = HEAP8[$s$020>>0]|0; - $7 = ($6<<24>>24)==($5<<24>>24); - if ($7) { - $$0$lcssa44 = $$019;$s$0$lcssa43 = $s$020; - label = 6; - break L1; - } - $8 = ((($s$020)) + 1|0); - $9 = (($$019) + -1)|0; - $10 = $8; - $11 = $10 & 3; - $12 = ($11|0)!=(0); - $13 = ($9|0)!=(0); - $or$cond = $13 & $12; - if ($or$cond) { - $$019 = $9;$s$020 = $8; - } else { - $$0$lcssa = $9;$$lcssa = $13;$s$0$lcssa = $8; - label = 5; - break; - } - } - } else { - $$0$lcssa = $n;$$lcssa = $4;$s$0$lcssa = $src; - label = 5; - } - } while(0); - if ((label|0) == 5) { - if ($$lcssa) { - $$0$lcssa44 = $$0$lcssa;$s$0$lcssa43 = $s$0$lcssa; - label = 6; - } else { - $$3 = 0;$s$2 = $s$0$lcssa; - } - } - L8: do { - if ((label|0) == 6) { - $14 = HEAP8[$s$0$lcssa43>>0]|0; - $15 = $c&255; - $16 = ($14<<24>>24)==($15<<24>>24); - if ($16) { - $$3 = $$0$lcssa44;$s$2 = $s$0$lcssa43; - } else { - $17 = Math_imul($0, 16843009)|0; - $18 = ($$0$lcssa44>>>0)>(3); - L11: do { - if ($18) { - $$110 = $$0$lcssa44;$w$011 = $s$0$lcssa43; - while(1) { - $19 = HEAP32[$w$011>>2]|0; - $20 = $19 ^ $17; - $21 = (($20) + -16843009)|0; - $22 = $20 & -2139062144; - $23 = $22 ^ -2139062144; - $24 = $23 & $21; - $25 = ($24|0)==(0); - if (!($25)) { - $$110$lcssa = $$110;$w$011$lcssa = $w$011; - break; - } - $26 = ((($w$011)) + 4|0); - $27 = (($$110) + -4)|0; - $28 = ($27>>>0)>(3); - if ($28) { - $$110 = $27;$w$011 = $26; - } else { - $$1$lcssa = $27;$w$0$lcssa = $26; - label = 11; - break L11; - } - } - $$24 = $$110$lcssa;$s$15 = $w$011$lcssa; - } else { - $$1$lcssa = $$0$lcssa44;$w$0$lcssa = $s$0$lcssa43; - label = 11; - } - } while(0); - if ((label|0) == 11) { - $29 = ($$1$lcssa|0)==(0); - if ($29) { - $$3 = 0;$s$2 = $w$0$lcssa; - break; - } else { - $$24 = $$1$lcssa;$s$15 = $w$0$lcssa; - } - } - while(1) { - $30 = HEAP8[$s$15>>0]|0; - $31 = ($30<<24>>24)==($15<<24>>24); - if ($31) { - $$3 = $$24;$s$2 = $s$15; - break L8; - } - $32 = ((($s$15)) + 1|0); - $33 = (($$24) + -1)|0; - $34 = ($33|0)==(0); - if ($34) { - $$3 = 0;$s$2 = $32; - break; - } else { - $$24 = $33;$s$15 = $32; - } - } - } - } - } while(0); - $35 = ($$3|0)!=(0); - $36 = $35 ? $s$2 : 0; - return ($36|0); -} -function _memcmp($vl,$vr,$n) { - $vl = $vl|0; - $vr = $vr|0; - $n = $n|0; - var $$03 = 0, $$lcssa = 0, $$lcssa19 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $l$04 = 0, $r$05 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ($n|0)==(0); - L1: do { - if ($0) { - $11 = 0; - } else { - $$03 = $n;$l$04 = $vl;$r$05 = $vr; - while(1) { - $1 = HEAP8[$l$04>>0]|0; - $2 = HEAP8[$r$05>>0]|0; - $3 = ($1<<24>>24)==($2<<24>>24); - if (!($3)) { - $$lcssa = $1;$$lcssa19 = $2; - break; - } - $4 = (($$03) + -1)|0; - $5 = ((($l$04)) + 1|0); - $6 = ((($r$05)) + 1|0); - $7 = ($4|0)==(0); - if ($7) { - $11 = 0; - break L1; - } else { - $$03 = $4;$l$04 = $5;$r$05 = $6; - } - } - $8 = $$lcssa&255; - $9 = $$lcssa19&255; - $10 = (($8) - ($9))|0; - $11 = $10; - } - } while(0); - return ($11|0); -} -function ___memrchr($m,$c,$n) { - $m = $m|0; - $c = $c|0; - $n = $n|0; - var $$0 = 0, $$01 = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = $c&255; - $$01 = $n; - while(1) { - $1 = (($$01) + -1)|0; - $2 = ($$01|0)==(0); - if ($2) { - $$0 = 0; - break; - } - $3 = (($m) + ($1)|0); - $4 = HEAP8[$3>>0]|0; - $5 = ($4<<24>>24)==($0<<24>>24); - if ($5) { - $$0 = $3; - break; - } else { - $$01 = $1; - } - } - return ($$0|0); -} -function ___stpcpy($d,$s) { - $d = $d|0; - $s = $s|0; - var $$0$lcssa = 0, $$01$lcssa = 0, $$0115 = 0, $$016 = 0, $$03 = 0, $$1$ph = 0, $$12$ph = 0, $$128 = 0, $$19 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0; - var $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $4 = 0, $5 = 0; - var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $wd$0$lcssa = 0, $wd$010 = 0, $ws$0$lcssa = 0, $ws$011 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = $s; - $1 = $d; - $2 = $0 ^ $1; - $3 = $2 & 3; - $4 = ($3|0)==(0); - L1: do { - if ($4) { - $5 = $0 & 3; - $6 = ($5|0)==(0); - if ($6) { - $$0$lcssa = $s;$$01$lcssa = $d; - } else { - $$0115 = $d;$$016 = $s; - while(1) { - $7 = HEAP8[$$016>>0]|0; - HEAP8[$$0115>>0] = $7; - $8 = ($7<<24>>24)==(0); - if ($8) { - $$03 = $$0115; - break L1; - } - $9 = ((($$016)) + 1|0); - $10 = ((($$0115)) + 1|0); - $11 = $9; - $12 = $11 & 3; - $13 = ($12|0)==(0); - if ($13) { - $$0$lcssa = $9;$$01$lcssa = $10; - break; - } else { - $$0115 = $10;$$016 = $9; - } - } - } - $14 = HEAP32[$$0$lcssa>>2]|0; - $15 = (($14) + -16843009)|0; - $16 = $14 & -2139062144; - $17 = $16 ^ -2139062144; - $18 = $17 & $15; - $19 = ($18|0)==(0); - if ($19) { - $22 = $14;$wd$010 = $$01$lcssa;$ws$011 = $$0$lcssa; - while(1) { - $20 = ((($ws$011)) + 4|0); - $21 = ((($wd$010)) + 4|0); - HEAP32[$wd$010>>2] = $22; - $23 = HEAP32[$20>>2]|0; - $24 = (($23) + -16843009)|0; - $25 = $23 & -2139062144; - $26 = $25 ^ -2139062144; - $27 = $26 & $24; - $28 = ($27|0)==(0); - if ($28) { - $22 = $23;$wd$010 = $21;$ws$011 = $20; - } else { - $wd$0$lcssa = $21;$ws$0$lcssa = $20; - break; - } - } - } else { - $wd$0$lcssa = $$01$lcssa;$ws$0$lcssa = $$0$lcssa; - } - $$1$ph = $ws$0$lcssa;$$12$ph = $wd$0$lcssa; - label = 8; - } else { - $$1$ph = $s;$$12$ph = $d; - label = 8; - } - } while(0); - if ((label|0) == 8) { - $29 = HEAP8[$$1$ph>>0]|0; - HEAP8[$$12$ph>>0] = $29; - $30 = ($29<<24>>24)==(0); - if ($30) { - $$03 = $$12$ph; - } else { - $$128 = $$12$ph;$$19 = $$1$ph; - while(1) { - $31 = ((($$19)) + 1|0); - $32 = ((($$128)) + 1|0); - $33 = HEAP8[$31>>0]|0; - HEAP8[$32>>0] = $33; - $34 = ($33<<24>>24)==(0); - if ($34) { - $$03 = $32; - break; - } else { - $$128 = $32;$$19 = $31; - } - } - } - } - return ($$03|0); -} -function ___stpncpy($d,$s,$n) { - $d = $d|0; - $s = $s|0; - $n = $n|0; - var $$0$lcssa = 0, $$0$lcssa60 = 0, $$031 = 0, $$04$lcssa = 0, $$04$lcssa61 = 0, $$0430 = 0, $$06$lcssa = 0, $$06$lcssa62 = 0, $$0629 = 0, $$1$lcssa = 0, $$117 = 0, $$15$ph = 0, $$1511 = 0, $$17$ph = 0, $$1710 = 0, $$2$ph = 0, $$212 = 0, $$28 = 0, $$3 = 0, $$lcssa = 0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond28 = 0, $wd$0$lcssa = 0; - var $wd$018 = 0, $ws$0$lcssa = 0, $ws$019 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = $s; - $1 = $d; - $2 = $0 ^ $1; - $3 = $2 & 3; - $4 = ($3|0)==(0); - do { - if ($4) { - $5 = $0 & 3; - $6 = ($5|0)!=(0); - $7 = ($n|0)!=(0); - $or$cond28 = $7 & $6; - L3: do { - if ($or$cond28) { - $$031 = $n;$$0430 = $s;$$0629 = $d; - while(1) { - $8 = HEAP8[$$0430>>0]|0; - HEAP8[$$0629>>0] = $8; - $9 = ($8<<24>>24)==(0); - if ($9) { - $$0$lcssa60 = $$031;$$04$lcssa61 = $$0430;$$06$lcssa62 = $$0629; - break L3; - } - $10 = (($$031) + -1)|0; - $11 = ((($$0430)) + 1|0); - $12 = ((($$0629)) + 1|0); - $13 = $11; - $14 = $13 & 3; - $15 = ($14|0)!=(0); - $16 = ($10|0)!=(0); - $or$cond = $16 & $15; - if ($or$cond) { - $$031 = $10;$$0430 = $11;$$0629 = $12; - } else { - $$0$lcssa = $10;$$04$lcssa = $11;$$06$lcssa = $12;$$lcssa = $16; - label = 5; - break; - } - } - } else { - $$0$lcssa = $n;$$04$lcssa = $s;$$06$lcssa = $d;$$lcssa = $7; - label = 5; - } - } while(0); - if ((label|0) == 5) { - if ($$lcssa) { - $$0$lcssa60 = $$0$lcssa;$$04$lcssa61 = $$04$lcssa;$$06$lcssa62 = $$06$lcssa; - } else { - $$28 = $$06$lcssa;$$3 = 0; - break; - } - } - $17 = HEAP8[$$04$lcssa61>>0]|0; - $18 = ($17<<24>>24)==(0); - if ($18) { - $$28 = $$06$lcssa62;$$3 = $$0$lcssa60; - } else { - $19 = ($$0$lcssa60>>>0)>(3); - L11: do { - if ($19) { - $$117 = $$0$lcssa60;$wd$018 = $$06$lcssa62;$ws$019 = $$04$lcssa61; - while(1) { - $20 = HEAP32[$ws$019>>2]|0; - $21 = (($20) + -16843009)|0; - $22 = $20 & -2139062144; - $23 = $22 ^ -2139062144; - $24 = $23 & $21; - $25 = ($24|0)==(0); - if (!($25)) { - $$1$lcssa = $$117;$wd$0$lcssa = $wd$018;$ws$0$lcssa = $ws$019; - break L11; - } - HEAP32[$wd$018>>2] = $20; - $26 = (($$117) + -4)|0; - $27 = ((($ws$019)) + 4|0); - $28 = ((($wd$018)) + 4|0); - $29 = ($26>>>0)>(3); - if ($29) { - $$117 = $26;$wd$018 = $28;$ws$019 = $27; - } else { - $$1$lcssa = $26;$wd$0$lcssa = $28;$ws$0$lcssa = $27; - break; - } - } - } else { - $$1$lcssa = $$0$lcssa60;$wd$0$lcssa = $$06$lcssa62;$ws$0$lcssa = $$04$lcssa61; - } - } while(0); - $$15$ph = $ws$0$lcssa;$$17$ph = $wd$0$lcssa;$$2$ph = $$1$lcssa; - label = 11; - } - } else { - $$15$ph = $s;$$17$ph = $d;$$2$ph = $n; - label = 11; - } - } while(0); - L16: do { - if ((label|0) == 11) { - $30 = ($$2$ph|0)==(0); - if ($30) { - $$28 = $$17$ph;$$3 = 0; - } else { - $$1511 = $$15$ph;$$1710 = $$17$ph;$$212 = $$2$ph; - while(1) { - $31 = HEAP8[$$1511>>0]|0; - HEAP8[$$1710>>0] = $31; - $32 = ($31<<24>>24)==(0); - if ($32) { - $$28 = $$1710;$$3 = $$212; - break L16; - } - $33 = (($$212) + -1)|0; - $34 = ((($$1511)) + 1|0); - $35 = ((($$1710)) + 1|0); - $36 = ($33|0)==(0); - if ($36) { - $$28 = $35;$$3 = 0; - break; - } else { - $$1511 = $34;$$1710 = $35;$$212 = $33; - } - } - } - } - } while(0); - _memset(($$28|0),0,($$3|0))|0; - return ($$28|0); -} -function _strchr($s,$c) { - $s = $s|0; - $c = $c|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (___strchrnul($s,$c)|0); - $1 = HEAP8[$0>>0]|0; - $2 = $c&255; - $3 = ($1<<24>>24)==($2<<24>>24); - $4 = $3 ? $0 : 0; - return ($4|0); -} -function ___strchrnul($s,$c) { - $s = $s|0; - $c = $c|0; - var $$0 = 0, $$02$lcssa = 0, $$0211 = 0, $$1 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0; - var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0; - var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond5 = 0, $w$0$lcssa = 0, $w$08 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = $c & 255; - $1 = ($0|0)==(0); - L1: do { - if ($1) { - $6 = (_strlen($s)|0); - $7 = (($s) + ($6)|0); - $$0 = $7; - } else { - $2 = $s; - $3 = $2 & 3; - $4 = ($3|0)==(0); - if ($4) { - $$02$lcssa = $s; - } else { - $5 = $c&255; - $$0211 = $s; - while(1) { - $8 = HEAP8[$$0211>>0]|0; - $9 = ($8<<24>>24)==(0); - $10 = ($8<<24>>24)==($5<<24>>24); - $or$cond = $9 | $10; - if ($or$cond) { - $$0 = $$0211; - break L1; - } - $11 = ((($$0211)) + 1|0); - $12 = $11; - $13 = $12 & 3; - $14 = ($13|0)==(0); - if ($14) { - $$02$lcssa = $11; - break; - } else { - $$0211 = $11; - } - } - } - $15 = Math_imul($0, 16843009)|0; - $16 = HEAP32[$$02$lcssa>>2]|0; - $17 = (($16) + -16843009)|0; - $18 = $16 & -2139062144; - $19 = $18 ^ -2139062144; - $20 = $19 & $17; - $21 = ($20|0)==(0); - L10: do { - if ($21) { - $23 = $16;$w$08 = $$02$lcssa; - while(1) { - $22 = $23 ^ $15; - $24 = (($22) + -16843009)|0; - $25 = $22 & -2139062144; - $26 = $25 ^ -2139062144; - $27 = $26 & $24; - $28 = ($27|0)==(0); - if (!($28)) { - $w$0$lcssa = $w$08; - break L10; - } - $29 = ((($w$08)) + 4|0); - $30 = HEAP32[$29>>2]|0; - $31 = (($30) + -16843009)|0; - $32 = $30 & -2139062144; - $33 = $32 ^ -2139062144; - $34 = $33 & $31; - $35 = ($34|0)==(0); - if ($35) { - $23 = $30;$w$08 = $29; - } else { - $w$0$lcssa = $29; - break; - } - } - } else { - $w$0$lcssa = $$02$lcssa; - } - } while(0); - $36 = $c&255; - $$1 = $w$0$lcssa; - while(1) { - $37 = HEAP8[$$1>>0]|0; - $38 = ($37<<24>>24)==(0); - $39 = ($37<<24>>24)==($36<<24>>24); - $or$cond5 = $38 | $39; - $40 = ((($$1)) + 1|0); - if ($or$cond5) { - $$0 = $$1; - break; - } else { - $$1 = $40; - } - } - } - } while(0); - return ($$0|0); -} -function _strcmp($l,$r) { - $l = $l|0; - $r = $r|0; - var $$014 = 0, $$05 = 0, $$lcssa = 0, $$lcssa2 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond3 = 0, label = 0; - var sp = 0; - sp = STACKTOP; - $0 = HEAP8[$l>>0]|0; - $1 = HEAP8[$r>>0]|0; - $2 = ($0<<24>>24)!=($1<<24>>24); - $3 = ($0<<24>>24)==(0); - $or$cond3 = $3 | $2; - if ($or$cond3) { - $$lcssa = $0;$$lcssa2 = $1; - } else { - $$014 = $l;$$05 = $r; - while(1) { - $4 = ((($$014)) + 1|0); - $5 = ((($$05)) + 1|0); - $6 = HEAP8[$4>>0]|0; - $7 = HEAP8[$5>>0]|0; - $8 = ($6<<24>>24)!=($7<<24>>24); - $9 = ($6<<24>>24)==(0); - $or$cond = $9 | $8; - if ($or$cond) { - $$lcssa = $6;$$lcssa2 = $7; - break; - } else { - $$014 = $4;$$05 = $5; - } - } - } - $10 = $$lcssa&255; - $11 = $$lcssa2&255; - $12 = (($10) - ($11))|0; - return ($12|0); -} -function _strcpy($dest,$src) { - $dest = $dest|0; - $src = $src|0; - var label = 0, sp = 0; - sp = STACKTOP; - (___stpcpy($dest,$src)|0); - return ($dest|0); -} -function _strcspn($s,$c) { - $s = $s|0; - $c = $c|0; - var $$0 = 0, $$027 = 0, $$03$lcssa = 0, $$035 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0; - var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; - var $8 = 0, $9 = 0, $byteset = 0, $div = 0, $div4 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $byteset = sp; - $0 = HEAP8[$c>>0]|0; - $1 = ($0<<24>>24)==(0); - if ($1) { - label = 3; - } else { - $2 = ((($c)) + 1|0); - $3 = HEAP8[$2>>0]|0; - $4 = ($3<<24>>24)==(0); - if ($4) { - label = 3; - } else { - ;HEAP32[$byteset>>2]=0|0;HEAP32[$byteset+4>>2]=0|0;HEAP32[$byteset+8>>2]=0|0;HEAP32[$byteset+12>>2]=0|0;HEAP32[$byteset+16>>2]=0|0;HEAP32[$byteset+20>>2]=0|0;HEAP32[$byteset+24>>2]=0|0;HEAP32[$byteset+28>>2]=0|0; - $$027 = $c;$13 = $0; - while(1) { - $12 = $13 & 31; - $14 = $12&255; - $15 = 1 << $14; - $div4 = ($13&255) >>> 5; - $16 = $div4&255; - $17 = (($byteset) + ($16<<2)|0); - $18 = HEAP32[$17>>2]|0; - $19 = $18 | $15; - HEAP32[$17>>2] = $19; - $20 = ((($$027)) + 1|0); - $21 = HEAP8[$20>>0]|0; - $22 = ($21<<24>>24)==(0); - if ($22) { - break; - } else { - $$027 = $20;$13 = $21; - } - } - $10 = HEAP8[$s>>0]|0; - $11 = ($10<<24>>24)==(0); - L7: do { - if ($11) { - $$03$lcssa = $s; - } else { - $$035 = $s;$23 = $10; - while(1) { - $div = ($23&255) >>> 5; - $24 = $div&255; - $25 = (($byteset) + ($24<<2)|0); - $26 = HEAP32[$25>>2]|0; - $27 = $23 & 31; - $28 = $27&255; - $29 = 1 << $28; - $30 = $26 & $29; - $31 = ($30|0)==(0); - if (!($31)) { - $$03$lcssa = $$035; - break L7; - } - $32 = ((($$035)) + 1|0); - $33 = HEAP8[$32>>0]|0; - $34 = ($33<<24>>24)==(0); - if ($34) { - $$03$lcssa = $32; - break; - } else { - $$035 = $32;$23 = $33; - } - } - } - } while(0); - $35 = $$03$lcssa; - $36 = $s; - $37 = (($35) - ($36))|0; - $$0 = $37; - } - } - if ((label|0) == 3) { - $5 = $0 << 24 >> 24; - $6 = (___strchrnul($s,$5)|0); - $7 = $6; - $8 = $s; - $9 = (($7) - ($8))|0; - $$0 = $9; - } - STACKTOP = sp;return ($$0|0); -} -function _strlen($s) { - $s = $s|0; - var $$0 = 0, $$01$lcssa = 0, $$014 = 0, $$1$lcssa = 0, $$lcssa20 = 0, $$pn = 0, $$pn15 = 0, $$pre = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0; - var $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $w$0 = 0, $w$0$lcssa = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = $s; - $1 = $0 & 3; - $2 = ($1|0)==(0); - L1: do { - if ($2) { - $$01$lcssa = $s; - label = 4; - } else { - $$014 = $s;$21 = $0; - while(1) { - $3 = HEAP8[$$014>>0]|0; - $4 = ($3<<24>>24)==(0); - if ($4) { - $$pn = $21; - break L1; - } - $5 = ((($$014)) + 1|0); - $6 = $5; - $7 = $6 & 3; - $8 = ($7|0)==(0); - if ($8) { - $$01$lcssa = $5; - label = 4; - break; - } else { - $$014 = $5;$21 = $6; - } - } - } - } while(0); - if ((label|0) == 4) { - $w$0 = $$01$lcssa; - while(1) { - $9 = HEAP32[$w$0>>2]|0; - $10 = (($9) + -16843009)|0; - $11 = $9 & -2139062144; - $12 = $11 ^ -2139062144; - $13 = $12 & $10; - $14 = ($13|0)==(0); - $15 = ((($w$0)) + 4|0); - if ($14) { - $w$0 = $15; - } else { - $$lcssa20 = $9;$w$0$lcssa = $w$0; - break; - } - } - $16 = $$lcssa20&255; - $17 = ($16<<24>>24)==(0); - if ($17) { - $$1$lcssa = $w$0$lcssa; - } else { - $$pn15 = $w$0$lcssa; - while(1) { - $18 = ((($$pn15)) + 1|0); - $$pre = HEAP8[$18>>0]|0; - $19 = ($$pre<<24>>24)==(0); - if ($19) { - $$1$lcssa = $18; - break; - } else { - $$pn15 = $18; - } - } - } - $20 = $$1$lcssa; - $$pn = $20; - } - $$0 = (($$pn) - ($0))|0; - return ($$0|0); -} -function _strncmp($_l,$_r,$n) { - $_l = $_l|0; - $_r = $_r|0; - $n = $n|0; - var $$03 = 0, $$08 = 0, $$08$in = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; - var $l$06 = 0, $or$cond = 0, $or$cond4 = 0, $r$0$lcssa = 0, $r$07 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ($n|0)==(0); - if ($0) { - $$03 = 0; - } else { - $1 = HEAP8[$_l>>0]|0; - $2 = ($1<<24>>24)==(0); - L3: do { - if ($2) { - $13 = 0;$r$0$lcssa = $_r; - } else { - $$08$in = $n;$6 = $1;$l$06 = $_l;$r$07 = $_r; - while(1) { - $$08 = (($$08$in) + -1)|0; - $3 = HEAP8[$r$07>>0]|0; - $4 = ($3<<24>>24)!=(0); - $5 = ($$08|0)!=(0); - $or$cond = $5 & $4; - $7 = ($6<<24>>24)==($3<<24>>24); - $or$cond4 = $7 & $or$cond; - if (!($or$cond4)) { - $13 = $6;$r$0$lcssa = $r$07; - break L3; - } - $8 = ((($l$06)) + 1|0); - $9 = ((($r$07)) + 1|0); - $10 = HEAP8[$8>>0]|0; - $11 = ($10<<24>>24)==(0); - if ($11) { - $13 = 0;$r$0$lcssa = $9; - break; - } else { - $$08$in = $$08;$6 = $10;$l$06 = $8;$r$07 = $9; - } - } - } - } while(0); - $12 = $13&255; - $14 = HEAP8[$r$0$lcssa>>0]|0; - $15 = $14&255; - $16 = (($12) - ($15))|0; - $$03 = $16; - } - return ($$03|0); -} -function _strncpy($d,$s,$n) { - $d = $d|0; - $s = $s|0; - $n = $n|0; - var label = 0, sp = 0; - sp = STACKTOP; - (___stpncpy($d,$s,$n)|0); - return ($d|0); -} -function _strrchr($s,$c) { - $s = $s|0; - $c = $c|0; - var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_strlen($s)|0); - $1 = (($0) + 1)|0; - $2 = (___memrchr($s,$c,$1)|0); - return ($2|0); -} -function _strspn($s,$c) { - $s = $s|0; - $c = $c|0; - var $$0 = 0, $$028 = 0, $$03 = 0, $$03$lcssa = 0, $$1$lcssa = 0, $$16 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0; - var $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $4 = 0; - var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $byteset = 0, $div = 0, $div4 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $byteset = sp; - ;HEAP32[$byteset>>2]=0|0;HEAP32[$byteset+4>>2]=0|0;HEAP32[$byteset+8>>2]=0|0;HEAP32[$byteset+12>>2]=0|0;HEAP32[$byteset+16>>2]=0|0;HEAP32[$byteset+20>>2]=0|0;HEAP32[$byteset+24>>2]=0|0;HEAP32[$byteset+28>>2]=0|0; - $0 = HEAP8[$c>>0]|0; - $1 = ($0<<24>>24)==(0); - do { - if ($1) { - $$0 = 0; - } else { - $2 = ((($c)) + 1|0); - $3 = HEAP8[$2>>0]|0; - $4 = ($3<<24>>24)==(0); - if ($4) { - $$03 = $s; - while(1) { - $5 = HEAP8[$$03>>0]|0; - $6 = ($5<<24>>24)==($0<<24>>24); - $7 = ((($$03)) + 1|0); - if ($6) { - $$03 = $7; - } else { - $$03$lcssa = $$03; - break; - } - } - $8 = $$03$lcssa; - $9 = $s; - $10 = (($8) - ($9))|0; - $$0 = $10; - break; - } else { - $$028 = $c;$14 = $0; - } - while(1) { - $13 = $14 & 31; - $15 = $13&255; - $16 = 1 << $15; - $div4 = ($14&255) >>> 5; - $17 = $div4&255; - $18 = (($byteset) + ($17<<2)|0); - $19 = HEAP32[$18>>2]|0; - $20 = $19 | $16; - HEAP32[$18>>2] = $20; - $21 = ((($$028)) + 1|0); - $22 = HEAP8[$21>>0]|0; - $23 = ($22<<24>>24)==(0); - if ($23) { - break; - } else { - $$028 = $21;$14 = $22; - } - } - $11 = HEAP8[$s>>0]|0; - $12 = ($11<<24>>24)==(0); - L10: do { - if ($12) { - $$1$lcssa = $s; - } else { - $$16 = $s;$24 = $11; - while(1) { - $div = ($24&255) >>> 5; - $25 = $div&255; - $26 = (($byteset) + ($25<<2)|0); - $27 = HEAP32[$26>>2]|0; - $28 = $24 & 31; - $29 = $28&255; - $30 = 1 << $29; - $31 = $27 & $30; - $32 = ($31|0)==(0); - if ($32) { - $$1$lcssa = $$16; - break L10; - } - $33 = ((($$16)) + 1|0); - $34 = HEAP8[$33>>0]|0; - $35 = ($34<<24>>24)==(0); - if ($35) { - $$1$lcssa = $33; - break; - } else { - $$16 = $33;$24 = $34; - } - } - } - } while(0); - $36 = $$1$lcssa; - $37 = $s; - $38 = (($36) - ($37))|0; - $$0 = $38; - } - } while(0); - STACKTOP = sp;return ($$0|0); -} -function _strstr($h,$n) { - $h = $h|0; - $n = $n|0; - var $$0 = 0, $$0$i = 0, $$0$lcssa$i = 0, $$0$lcssa$i11 = 0, $$01$i = 0, $$02$i = 0, $$02$i7 = 0, $$03$i = 0, $$lcssa$i = 0, $$lcssa$i10 = 0, $$lcssa$i4 = 0, $$lcssa281 = 0, $$lcssa284 = 0, $$lcssa287 = 0, $$lcssa301 = 0, $$lcssa304 = 0, $$lcssa307 = 0, $$lcssa322 = 0, $$pr$i = 0, $0 = 0; - var $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0; - var $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0; - var $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0; - var $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0; - var $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0; - var $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0; - var $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0; - var $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $233$phi = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; - var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0; - var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0; - var $byteset$i = 0, $div$i = 0, $div4$i = 0, $hw$0$in2$i = 0, $hw$03$i = 0, $hw$03$i6 = 0, $ip$0$ph$lcssa$i = 0, $ip$0$ph$lcssa143$i = 0, $ip$0$ph76$i = 0, $ip$1$ip$0$$i = 0, $ip$1$ip$0$i = 0, $ip$1$ph$lcssa$i = 0, $ip$1$ph55$i = 0, $jp$0$ph13$ph70$i = 0, $jp$0$ph1365$i = 0, $jp$0$ph1365$i$lcssa = 0, $jp$0$ph1365$i$lcssa$lcssa = 0, $jp$0$ph77$i = 0, $jp$1$ph56$i = 0, $jp$1$ph9$ph49$i = 0; - var $jp$1$ph944$i = 0, $jp$1$ph944$i$lcssa = 0, $jp$1$ph944$i$lcssa$lcssa = 0, $k$059$i = 0, $k$139$i = 0, $k$2$i = 0, $k$338$i = 0, $k$338$i$lcssa = 0, $k$4$i = 0, $l$080$i = 0, $l$080$i$lcssa321 = 0, $mem$0$i = 0, $mem0$0$i = 0, $or$cond$i = 0, $or$cond$i2 = 0, $or$cond$i8 = 0, $or$cond5$i = 0, $p$0$ph$ph$lcssa32$i = 0, $p$0$ph$ph$lcssa32147$i = 0, $p$0$ph$ph71$i = 0; - var $p$1$p$0$i = 0, $p$1$ph$ph$lcssa23$i = 0, $p$1$ph$ph50$i = 0, $p$3$i = 0, $shift$i = 0, $z$0$i = 0, $z$1$i = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 1056|0; - $byteset$i = sp + 1024|0; - $shift$i = sp; - $0 = HEAP8[$n>>0]|0; - $1 = ($0<<24>>24)==(0); - do { - if ($1) { - $$0 = $h; - } else { - $2 = $0 << 24 >> 24; - $3 = (_strchr($h,$2)|0); - $4 = ($3|0)==(0|0); - if ($4) { - $$0 = 0; - } else { - $5 = ((($n)) + 1|0); - $6 = HEAP8[$5>>0]|0; - $7 = ($6<<24>>24)==(0); - if ($7) { - $$0 = $3; - } else { - $8 = ((($3)) + 1|0); - $9 = HEAP8[$8>>0]|0; - $10 = ($9<<24>>24)==(0); - if ($10) { - $$0 = 0; - } else { - $11 = ((($n)) + 2|0); - $12 = HEAP8[$11>>0]|0; - $13 = ($12<<24>>24)==(0); - if ($13) { - $14 = $0&255; - $15 = $14 << 8; - $16 = $6&255; - $17 = $16 | $15; - $18 = HEAP8[$3>>0]|0; - $19 = $18&255; - $20 = $19 << 8; - $21 = $9&255; - $22 = $20 | $21; - $$01$i = $8;$232 = $9;$233 = $3;$hw$0$in2$i = $22; - while(1) { - $23 = $hw$0$in2$i & 65535; - $24 = ($23|0)==($17|0); - if ($24) { - $$lcssa$i = $233;$31 = $232; - break; - } - $25 = $23 << 8; - $26 = ((($$01$i)) + 1|0); - $27 = HEAP8[$26>>0]|0; - $28 = $27&255; - $29 = $28 | $25; - $30 = ($27<<24>>24)==(0); - if ($30) { - $$lcssa$i = $$01$i;$31 = 0; - break; - } else { - $233$phi = $$01$i;$$01$i = $26;$232 = $27;$hw$0$in2$i = $29;$233 = $233$phi; - } - } - $32 = ($31<<24>>24)!=(0); - $33 = $32 ? $$lcssa$i : 0; - $$0 = $33; - break; - } - $34 = ((($3)) + 2|0); - $35 = HEAP8[$34>>0]|0; - $36 = ($35<<24>>24)==(0); - if ($36) { - $$0 = 0; - } else { - $37 = ((($n)) + 3|0); - $38 = HEAP8[$37>>0]|0; - $39 = ($38<<24>>24)==(0); - if ($39) { - $40 = $0&255; - $41 = $40 << 24; - $42 = $6&255; - $43 = $42 << 16; - $44 = $43 | $41; - $45 = $12&255; - $46 = $45 << 8; - $47 = $44 | $46; - $48 = HEAP8[$3>>0]|0; - $49 = $48&255; - $50 = $49 << 24; - $51 = $9&255; - $52 = $51 << 16; - $53 = $35&255; - $54 = $53 << 8; - $55 = $54 | $52; - $56 = $55 | $50; - $57 = ($56|0)==($47|0); - if ($57) { - $$0$lcssa$i = $34;$$lcssa$i4 = $35; - } else { - $$02$i = $34;$hw$03$i = $56; - while(1) { - $58 = ((($$02$i)) + 1|0); - $59 = HEAP8[$58>>0]|0; - $60 = $59&255; - $61 = $60 | $hw$03$i; - $62 = $61 << 8; - $63 = ($59<<24>>24)==(0); - $64 = ($62|0)==($47|0); - $or$cond$i2 = $63 | $64; - if ($or$cond$i2) { - $$0$lcssa$i = $58;$$lcssa$i4 = $59; - break; - } else { - $$02$i = $58;$hw$03$i = $62; - } - } - } - $65 = ($$lcssa$i4<<24>>24)!=(0); - $66 = ((($$0$lcssa$i)) + -2|0); - $67 = $65 ? $66 : 0; - $$0 = $67; - break; - } - $68 = ((($3)) + 3|0); - $69 = HEAP8[$68>>0]|0; - $70 = ($69<<24>>24)==(0); - if ($70) { - $$0 = 0; - } else { - $71 = ((($n)) + 4|0); - $72 = HEAP8[$71>>0]|0; - $73 = ($72<<24>>24)==(0); - if ($73) { - $74 = $0&255; - $75 = $74 << 24; - $76 = $6&255; - $77 = $76 << 16; - $78 = $77 | $75; - $79 = $12&255; - $80 = $79 << 8; - $81 = $78 | $80; - $82 = $38&255; - $83 = $81 | $82; - $84 = HEAP8[$3>>0]|0; - $85 = $84&255; - $86 = $85 << 24; - $87 = $9&255; - $88 = $87 << 16; - $89 = $35&255; - $90 = $89 << 8; - $91 = $69&255; - $92 = $90 | $88; - $93 = $92 | $91; - $94 = $93 | $86; - $95 = ($94|0)==($83|0); - if ($95) { - $$0$lcssa$i11 = $68;$$lcssa$i10 = $69; - } else { - $$02$i7 = $68;$hw$03$i6 = $94; - while(1) { - $96 = $hw$03$i6 << 8; - $97 = ((($$02$i7)) + 1|0); - $98 = HEAP8[$97>>0]|0; - $99 = $98&255; - $100 = $99 | $96; - $101 = ($98<<24>>24)==(0); - $102 = ($100|0)==($83|0); - $or$cond$i8 = $101 | $102; - if ($or$cond$i8) { - $$0$lcssa$i11 = $97;$$lcssa$i10 = $98; - break; - } else { - $$02$i7 = $97;$hw$03$i6 = $100; - } - } - } - $103 = ($$lcssa$i10<<24>>24)!=(0); - $104 = ((($$0$lcssa$i11)) + -3|0); - $105 = $103 ? $104 : 0; - $$0 = $105; - break; - } - ;HEAP32[$byteset$i>>2]=0|0;HEAP32[$byteset$i+4>>2]=0|0;HEAP32[$byteset$i+8>>2]=0|0;HEAP32[$byteset$i+12>>2]=0|0;HEAP32[$byteset$i+16>>2]=0|0;HEAP32[$byteset$i+20>>2]=0|0;HEAP32[$byteset$i+24>>2]=0|0;HEAP32[$byteset$i+28>>2]=0|0; - $110 = $0;$l$080$i = 0; - while(1) { - $106 = (($3) + ($l$080$i)|0); - $107 = HEAP8[$106>>0]|0; - $108 = ($107<<24>>24)==(0); - if ($108) { - $$0$i = 0; - break; - } - $109 = $110 & 31; - $111 = $109&255; - $112 = 1 << $111; - $div4$i = ($110&255) >>> 5; - $113 = $div4$i&255; - $114 = (($byteset$i) + ($113<<2)|0); - $115 = HEAP32[$114>>2]|0; - $116 = $115 | $112; - HEAP32[$114>>2] = $116; - $117 = (($l$080$i) + 1)|0; - $118 = $110&255; - $119 = (($shift$i) + ($118<<2)|0); - HEAP32[$119>>2] = $117; - $120 = (($n) + ($117)|0); - $121 = HEAP8[$120>>0]|0; - $122 = ($121<<24>>24)==(0); - if ($122) { - $$lcssa322 = $117;$l$080$i$lcssa321 = $l$080$i; - label = 23; - break; - } else { - $110 = $121;$l$080$i = $117; - } - } - L32: do { - if ((label|0) == 23) { - $123 = ($$lcssa322>>>0)>(1); - L34: do { - if ($123) { - $234 = 1;$ip$0$ph76$i = -1;$jp$0$ph77$i = 0; - L35: while(1) { - $235 = $234;$jp$0$ph13$ph70$i = $jp$0$ph77$i;$p$0$ph$ph71$i = 1; - while(1) { - $236 = $235;$jp$0$ph1365$i = $jp$0$ph13$ph70$i; - L39: while(1) { - $133 = $236;$k$059$i = 1; - while(1) { - $129 = (($k$059$i) + ($ip$0$ph76$i))|0; - $130 = (($n) + ($129)|0); - $131 = HEAP8[$130>>0]|0; - $132 = (($n) + ($133)|0); - $134 = HEAP8[$132>>0]|0; - $135 = ($131<<24>>24)==($134<<24>>24); - if (!($135)) { - $$lcssa301 = $133;$$lcssa304 = $131;$$lcssa307 = $134;$jp$0$ph1365$i$lcssa = $jp$0$ph1365$i; - break L39; - } - $136 = ($k$059$i|0)==($p$0$ph$ph71$i|0); - $127 = (($k$059$i) + 1)|0; - if ($136) { - break; - } - $126 = (($127) + ($jp$0$ph1365$i))|0; - $128 = ($126>>>0)<($$lcssa322>>>0); - if ($128) { - $133 = $126;$k$059$i = $127; - } else { - $ip$0$ph$lcssa$i = $ip$0$ph76$i;$p$0$ph$ph$lcssa32$i = $p$0$ph$ph71$i; - break L35; - } - } - $137 = (($jp$0$ph1365$i) + ($p$0$ph$ph71$i))|0; - $138 = (($137) + 1)|0; - $139 = ($138>>>0)<($$lcssa322>>>0); - if ($139) { - $236 = $138;$jp$0$ph1365$i = $137; - } else { - $ip$0$ph$lcssa$i = $ip$0$ph76$i;$p$0$ph$ph$lcssa32$i = $p$0$ph$ph71$i; - break L35; - } - } - $140 = ($$lcssa304&255)>($$lcssa307&255); - $141 = (($$lcssa301) - ($ip$0$ph76$i))|0; - if (!($140)) { - $jp$0$ph1365$i$lcssa$lcssa = $jp$0$ph1365$i$lcssa; - break; - } - $124 = (($$lcssa301) + 1)|0; - $125 = ($124>>>0)<($$lcssa322>>>0); - if ($125) { - $235 = $124;$jp$0$ph13$ph70$i = $$lcssa301;$p$0$ph$ph71$i = $141; - } else { - $ip$0$ph$lcssa$i = $ip$0$ph76$i;$p$0$ph$ph$lcssa32$i = $141; - break L35; - } - } - $142 = (($jp$0$ph1365$i$lcssa$lcssa) + 1)|0; - $143 = (($jp$0$ph1365$i$lcssa$lcssa) + 2)|0; - $144 = ($143>>>0)<($$lcssa322>>>0); - if ($144) { - $234 = $143;$ip$0$ph76$i = $jp$0$ph1365$i$lcssa$lcssa;$jp$0$ph77$i = $142; - } else { - $ip$0$ph$lcssa$i = $jp$0$ph1365$i$lcssa$lcssa;$p$0$ph$ph$lcssa32$i = 1; - break; - } - } - $237 = 1;$ip$1$ph55$i = -1;$jp$1$ph56$i = 0; - while(1) { - $239 = $237;$jp$1$ph9$ph49$i = $jp$1$ph56$i;$p$1$ph$ph50$i = 1; - while(1) { - $238 = $239;$jp$1$ph944$i = $jp$1$ph9$ph49$i; - L54: while(1) { - $152 = $238;$k$139$i = 1; - while(1) { - $148 = (($k$139$i) + ($ip$1$ph55$i))|0; - $149 = (($n) + ($148)|0); - $150 = HEAP8[$149>>0]|0; - $151 = (($n) + ($152)|0); - $153 = HEAP8[$151>>0]|0; - $154 = ($150<<24>>24)==($153<<24>>24); - if (!($154)) { - $$lcssa281 = $152;$$lcssa284 = $150;$$lcssa287 = $153;$jp$1$ph944$i$lcssa = $jp$1$ph944$i; - break L54; - } - $155 = ($k$139$i|0)==($p$1$ph$ph50$i|0); - $146 = (($k$139$i) + 1)|0; - if ($155) { - break; - } - $145 = (($146) + ($jp$1$ph944$i))|0; - $147 = ($145>>>0)<($$lcssa322>>>0); - if ($147) { - $152 = $145;$k$139$i = $146; - } else { - $ip$0$ph$lcssa143$i = $ip$0$ph$lcssa$i;$ip$1$ph$lcssa$i = $ip$1$ph55$i;$p$0$ph$ph$lcssa32147$i = $p$0$ph$ph$lcssa32$i;$p$1$ph$ph$lcssa23$i = $p$1$ph$ph50$i; - break L34; - } - } - $156 = (($jp$1$ph944$i) + ($p$1$ph$ph50$i))|0; - $157 = (($156) + 1)|0; - $158 = ($157>>>0)<($$lcssa322>>>0); - if ($158) { - $238 = $157;$jp$1$ph944$i = $156; - } else { - $ip$0$ph$lcssa143$i = $ip$0$ph$lcssa$i;$ip$1$ph$lcssa$i = $ip$1$ph55$i;$p$0$ph$ph$lcssa32147$i = $p$0$ph$ph$lcssa32$i;$p$1$ph$ph$lcssa23$i = $p$1$ph$ph50$i; - break L34; - } - } - $159 = ($$lcssa284&255)<($$lcssa287&255); - $160 = (($$lcssa281) - ($ip$1$ph55$i))|0; - if (!($159)) { - $jp$1$ph944$i$lcssa$lcssa = $jp$1$ph944$i$lcssa; - break; - } - $164 = (($$lcssa281) + 1)|0; - $165 = ($164>>>0)<($$lcssa322>>>0); - if ($165) { - $239 = $164;$jp$1$ph9$ph49$i = $$lcssa281;$p$1$ph$ph50$i = $160; - } else { - $ip$0$ph$lcssa143$i = $ip$0$ph$lcssa$i;$ip$1$ph$lcssa$i = $ip$1$ph55$i;$p$0$ph$ph$lcssa32147$i = $p$0$ph$ph$lcssa32$i;$p$1$ph$ph$lcssa23$i = $160; - break L34; - } - } - $161 = (($jp$1$ph944$i$lcssa$lcssa) + 1)|0; - $162 = (($jp$1$ph944$i$lcssa$lcssa) + 2)|0; - $163 = ($162>>>0)<($$lcssa322>>>0); - if ($163) { - $237 = $162;$ip$1$ph55$i = $jp$1$ph944$i$lcssa$lcssa;$jp$1$ph56$i = $161; - } else { - $ip$0$ph$lcssa143$i = $ip$0$ph$lcssa$i;$ip$1$ph$lcssa$i = $jp$1$ph944$i$lcssa$lcssa;$p$0$ph$ph$lcssa32147$i = $p$0$ph$ph$lcssa32$i;$p$1$ph$ph$lcssa23$i = 1; - break; - } - } - } else { - $ip$0$ph$lcssa143$i = -1;$ip$1$ph$lcssa$i = -1;$p$0$ph$ph$lcssa32147$i = 1;$p$1$ph$ph$lcssa23$i = 1; - } - } while(0); - $166 = (($ip$1$ph$lcssa$i) + 1)|0; - $167 = (($ip$0$ph$lcssa143$i) + 1)|0; - $168 = ($166>>>0)>($167>>>0); - $p$1$p$0$i = $168 ? $p$1$ph$ph$lcssa23$i : $p$0$ph$ph$lcssa32147$i; - $ip$1$ip$0$i = $168 ? $ip$1$ph$lcssa$i : $ip$0$ph$lcssa143$i; - $169 = (($n) + ($p$1$p$0$i)|0); - $170 = (($ip$1$ip$0$i) + 1)|0; - $171 = (_memcmp($n,$169,$170)|0); - $172 = ($171|0)==(0); - if ($172) { - $177 = (($$lcssa322) - ($p$1$p$0$i))|0; - $mem0$0$i = $177;$p$3$i = $p$1$p$0$i; - } else { - $173 = (($$lcssa322) - ($ip$1$ip$0$i))|0; - $174 = (($173) + -1)|0; - $175 = ($ip$1$ip$0$i>>>0)>($174>>>0); - $ip$1$ip$0$$i = $175 ? $ip$1$ip$0$i : $174; - $176 = (($ip$1$ip$0$$i) + 1)|0; - $mem0$0$i = 0;$p$3$i = $176; - } - $178 = $$lcssa322 | 63; - $179 = ($mem0$0$i|0)!=(0); - $180 = (($$lcssa322) - ($p$3$i))|0; - $$03$i = $3;$mem$0$i = 0;$z$0$i = $3; - L69: while(1) { - $181 = $z$0$i; - $182 = $$03$i; - $183 = (($181) - ($182))|0; - $184 = ($183>>>0)<($$lcssa322>>>0); - do { - if ($184) { - $185 = (_memchr($z$0$i,0,$178)|0); - $186 = ($185|0)==(0|0); - if ($186) { - $190 = (($z$0$i) + ($178)|0); - $z$1$i = $190; - break; - } else { - $187 = $185; - $188 = (($187) - ($182))|0; - $189 = ($188>>>0)<($$lcssa322>>>0); - if ($189) { - $$0$i = 0; - break L32; - } else { - $z$1$i = $185; - break; - } - } - } else { - $z$1$i = $z$0$i; - } - } while(0); - $191 = (($$03$i) + ($l$080$i$lcssa321)|0); - $192 = HEAP8[$191>>0]|0; - $div$i = ($192&255) >>> 5; - $193 = $div$i&255; - $194 = (($byteset$i) + ($193<<2)|0); - $195 = HEAP32[$194>>2]|0; - $196 = $192 & 31; - $197 = $196&255; - $198 = 1 << $197; - $199 = $198 & $195; - $200 = ($199|0)==(0); - if ($200) { - $209 = (($$03$i) + ($$lcssa322)|0); - $$03$i = $209;$mem$0$i = 0;$z$0$i = $z$1$i; - continue; - } - $201 = $192&255; - $202 = (($shift$i) + ($201<<2)|0); - $203 = HEAP32[$202>>2]|0; - $204 = (($$lcssa322) - ($203))|0; - $205 = ($$lcssa322|0)==($203|0); - if (!($205)) { - $206 = ($mem$0$i|0)!=(0); - $or$cond$i = $179 & $206; - $207 = ($204>>>0)<($p$3$i>>>0); - $or$cond5$i = $or$cond$i & $207; - $k$2$i = $or$cond5$i ? $180 : $204; - $208 = (($$03$i) + ($k$2$i)|0); - $$03$i = $208;$mem$0$i = 0;$z$0$i = $z$1$i; - continue; - } - $210 = ($170>>>0)>($mem$0$i>>>0); - $211 = $210 ? $170 : $mem$0$i; - $212 = (($n) + ($211)|0); - $213 = HEAP8[$212>>0]|0; - $214 = ($213<<24>>24)==(0); - L83: do { - if ($214) { - $k$4$i = $170; - } else { - $$pr$i = $213;$k$338$i = $211; - while(1) { - $215 = (($$03$i) + ($k$338$i)|0); - $216 = HEAP8[$215>>0]|0; - $217 = ($$pr$i<<24>>24)==($216<<24>>24); - if (!($217)) { - $k$338$i$lcssa = $k$338$i; - break; - } - $218 = (($k$338$i) + 1)|0; - $219 = (($n) + ($218)|0); - $220 = HEAP8[$219>>0]|0; - $221 = ($220<<24>>24)==(0); - if ($221) { - $k$4$i = $170; - break L83; - } else { - $$pr$i = $220;$k$338$i = $218; - } - } - $222 = (($k$338$i$lcssa) - ($ip$1$ip$0$i))|0; - $223 = (($$03$i) + ($222)|0); - $$03$i = $223;$mem$0$i = 0;$z$0$i = $z$1$i; - continue L69; - } - } while(0); - while(1) { - $224 = ($k$4$i>>>0)>($mem$0$i>>>0); - if (!($224)) { - $$0$i = $$03$i; - break L32; - } - $225 = (($k$4$i) + -1)|0; - $226 = (($n) + ($225)|0); - $227 = HEAP8[$226>>0]|0; - $228 = (($$03$i) + ($225)|0); - $229 = HEAP8[$228>>0]|0; - $230 = ($227<<24>>24)==($229<<24>>24); - if ($230) { - $k$4$i = $225; - } else { - break; - } - } - $231 = (($$03$i) + ($p$3$i)|0); - $$03$i = $231;$mem$0$i = $mem0$0$i;$z$0$i = $z$1$i; - } - } - } while(0); - $$0 = $$0$i; - } - } - } - } - } - } - } while(0); - STACKTOP = sp;return ($$0|0); -} -function _strtok($s,$sep) { - $s = $s|0; - $sep = $sep|0; - var $$0 = 0, $$01 = 0, $$sum = 0, $$sum2 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ($s|0)==(0|0); - if ($0) { - $1 = HEAP32[8196>>2]|0; - $2 = ($1|0)==(0|0); - if ($2) { - $$0 = 0; - } else { - $$01 = $1; - label = 3; - } - } else { - $$01 = $s; - label = 3; - } - do { - if ((label|0) == 3) { - $3 = (_strspn($$01,$sep)|0); - $4 = (($$01) + ($3)|0); - $5 = HEAP8[$4>>0]|0; - $6 = ($5<<24>>24)==(0); - if ($6) { - HEAP32[8196>>2] = 0; - $$0 = 0; - break; - } - $7 = (_strcspn($4,$sep)|0); - $$sum = (($7) + ($3))|0; - $8 = (($$01) + ($$sum)|0); - HEAP32[8196>>2] = $8; - $9 = HEAP8[$8>>0]|0; - $10 = ($9<<24>>24)==(0); - if ($10) { - HEAP32[8196>>2] = 0; - $$0 = $4; - break; - } else { - $$sum2 = (($$sum) + 1)|0; - $11 = (($$01) + ($$sum2)|0); - HEAP32[8196>>2] = $11; - HEAP8[$8>>0] = 0; - $$0 = $4; - break; - } - } - } while(0); - return ($$0|0); -} -function ___fflush_unlocked($f) { - $f = $f|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; - var $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($f)) + 20|0); - $1 = HEAP32[$0>>2]|0; - $2 = ((($f)) + 28|0); - $3 = HEAP32[$2>>2]|0; - $4 = ($1>>>0)>($3>>>0); - if ($4) { - $5 = ((($f)) + 36|0); - $6 = HEAP32[$5>>2]|0; - (FUNCTION_TABLE_iiii[$6 & 7]($f,0,0)|0); - $7 = HEAP32[$0>>2]|0; - $8 = ($7|0)==(0|0); - if ($8) { - $$0 = -1; - } else { - label = 3; - } - } else { - label = 3; - } - if ((label|0) == 3) { - $9 = ((($f)) + 4|0); - $10 = HEAP32[$9>>2]|0; - $11 = ((($f)) + 8|0); - $12 = HEAP32[$11>>2]|0; - $13 = ($10>>>0)<($12>>>0); - if ($13) { - $14 = ((($f)) + 40|0); - $15 = HEAP32[$14>>2]|0; - $16 = $10; - $17 = $12; - $18 = (($16) - ($17))|0; - (FUNCTION_TABLE_iiii[$15 & 7]($f,$18,1)|0); - } - $19 = ((($f)) + 16|0); - HEAP32[$19>>2] = 0; - HEAP32[$2>>2] = 0; - HEAP32[$0>>2] = 0; - HEAP32[$11>>2] = 0; - HEAP32[$9>>2] = 0; - $$0 = 0; - } - return ($$0|0); -} -function _printf_core($f,$fmt,$ap,$nl_arg,$nl_type) { - $f = $f|0; - $fmt = $fmt|0; - $ap = $ap|0; - $nl_arg = $nl_arg|0; - $nl_type = $nl_type|0; - var $$ = 0, $$$i = 0, $$0 = 0, $$0$i = 0, $$0$lcssa$i = 0, $$012$i = 0, $$013$i = 0, $$03$i33 = 0, $$07$i = 0.0, $$1$i = 0.0, $$114$i = 0, $$2$i = 0.0, $$20$i = 0.0, $$21$i = 0, $$210$$22$i = 0, $$210$$24$i = 0, $$210$i = 0, $$23$i = 0, $$3$i = 0.0, $$31$i = 0; - var $$311$i = 0, $$4$i = 0.0, $$412$lcssa$i = 0, $$41276$i = 0, $$5$lcssa$i = 0, $$51 = 0, $$587$i = 0, $$a$3$i = 0, $$a$3185$i = 0, $$a$3186$i = 0, $$fl$4 = 0, $$l10n$0 = 0, $$lcssa = 0, $$lcssa159$i = 0, $$lcssa318 = 0, $$lcssa323 = 0, $$lcssa324 = 0, $$lcssa325 = 0, $$lcssa326 = 0, $$lcssa327 = 0; - var $$lcssa329 = 0, $$lcssa339 = 0, $$lcssa342 = 0.0, $$lcssa344 = 0, $$neg52$i = 0, $$neg53$i = 0, $$p$$i = 0, $$p$0 = 0, $$p$5 = 0, $$p$i = 0, $$pn$i = 0, $$pr$i = 0, $$pr47$i = 0, $$pre = 0, $$pre$i = 0, $$pre$phi184$iZ2D = 0, $$pre179$i = 0, $$pre182$i = 0, $$pre183$i = 0, $$pre193 = 0; - var $$sum$i = 0, $$sum15$i = 0, $$sum16$i = 0, $$z$3$i = 0, $$z$4$i = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0; - var $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0; - var $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0; - var $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0; - var $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0; - var $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0; - var $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0; - var $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0; - var $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0; - var $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0; - var $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0; - var $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0; - var $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0; - var $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0; - var $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0.0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0.0; - var $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0; - var $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0.0, $392 = 0.0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0; - var $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0.0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0.0, $412 = 0.0, $413 = 0.0, $414 = 0.0, $415 = 0.0, $416 = 0.0, $417 = 0; - var $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0; - var $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0, $442 = 0.0, $443 = 0.0, $444 = 0.0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0; - var $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0; - var $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0.0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0.0, $486 = 0.0, $487 = 0.0, $488 = 0, $489 = 0, $49 = 0; - var $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0; - var $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0; - var $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0, $531 = 0, $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0; - var $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0, $549 = 0, $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0, $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0; - var $562 = 0, $563 = 0, $564 = 0, $565 = 0, $566 = 0, $567 = 0, $568 = 0, $569 = 0, $57 = 0, $570 = 0, $571 = 0, $572 = 0, $573 = 0, $574 = 0, $575 = 0, $576 = 0, $577 = 0, $578 = 0, $579 = 0, $58 = 0; - var $580 = 0, $581 = 0, $582 = 0, $583 = 0, $584 = 0, $585 = 0, $586 = 0, $587 = 0, $588 = 0, $589 = 0, $59 = 0, $590 = 0, $591 = 0, $592 = 0, $593 = 0, $594 = 0, $595 = 0, $596 = 0.0, $597 = 0.0, $598 = 0; - var $599 = 0.0, $6 = 0, $60 = 0, $600 = 0, $601 = 0, $602 = 0, $603 = 0, $604 = 0, $605 = 0, $606 = 0, $607 = 0, $608 = 0, $609 = 0, $61 = 0, $610 = 0, $611 = 0, $612 = 0, $613 = 0, $614 = 0, $615 = 0; - var $616 = 0, $617 = 0, $618 = 0, $619 = 0, $62 = 0, $620 = 0, $621 = 0, $622 = 0, $623 = 0, $624 = 0, $625 = 0, $626 = 0, $627 = 0, $628 = 0, $629 = 0, $63 = 0, $630 = 0, $631 = 0, $632 = 0, $633 = 0; - var $634 = 0, $635 = 0, $636 = 0, $637 = 0, $638 = 0, $639 = 0, $64 = 0, $640 = 0, $641 = 0, $642 = 0, $643 = 0, $644 = 0, $645 = 0, $646 = 0, $647 = 0, $648 = 0, $649 = 0, $65 = 0, $650 = 0, $651 = 0; - var $652 = 0, $653 = 0, $654 = 0, $655 = 0, $656 = 0, $657 = 0, $658 = 0, $659 = 0, $66 = 0, $660 = 0, $661 = 0, $662 = 0, $663 = 0, $664 = 0, $665 = 0, $666 = 0, $667 = 0, $668 = 0, $669 = 0, $67 = 0; - var $670 = 0, $671 = 0, $672 = 0, $673 = 0, $674 = 0, $675 = 0, $676 = 0, $677 = 0, $678 = 0, $679 = 0, $68 = 0, $680 = 0, $681 = 0, $682 = 0, $683 = 0, $684 = 0, $685 = 0, $686 = 0, $687 = 0, $688 = 0; - var $689 = 0, $69 = 0, $690 = 0, $691 = 0, $692 = 0, $693 = 0, $694 = 0, $695 = 0, $696 = 0, $697 = 0, $698 = 0, $699 = 0, $7 = 0, $70 = 0, $700 = 0, $701 = 0, $702 = 0, $703 = 0, $704 = 0, $705 = 0; - var $706 = 0, $707 = 0, $708 = 0, $709 = 0, $71 = 0, $710 = 0, $711 = 0, $712 = 0, $713 = 0, $714 = 0, $715 = 0, $716 = 0, $717 = 0, $718 = 0, $719 = 0, $72 = 0, $720 = 0, $721 = 0, $722 = 0, $723 = 0; - var $724 = 0, $725 = 0, $726 = 0, $727 = 0, $728 = 0, $729 = 0, $73 = 0, $730 = 0, $731 = 0, $732 = 0, $733 = 0, $734 = 0, $735 = 0, $736 = 0, $737 = 0, $738 = 0, $739 = 0, $74 = 0, $740 = 0, $741 = 0; - var $742 = 0, $743 = 0, $744 = 0, $745 = 0, $746 = 0, $747 = 0, $748 = 0, $749 = 0, $75 = 0, $750 = 0, $751 = 0, $752 = 0, $753 = 0, $754 = 0, $755 = 0, $756 = 0, $757 = 0, $758 = 0, $759 = 0, $76 = 0; - var $760 = 0, $761 = 0, $762 = 0, $763 = 0, $764 = 0, $765 = 0, $766 = 0, $767 = 0, $768 = 0, $769 = 0, $77 = 0, $770 = 0, $771 = 0, $772 = 0, $773 = 0, $774 = 0, $775 = 0, $776 = 0, $777 = 0, $778 = 0; - var $779 = 0, $78 = 0, $780 = 0, $781 = 0, $782 = 0, $783 = 0, $784 = 0, $785 = 0, $786 = 0, $787 = 0, $788 = 0, $789 = 0, $79 = 0, $790 = 0, $791 = 0, $792 = 0, $793 = 0, $794 = 0, $795 = 0, $796 = 0; - var $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0; - var $98 = 0, $99 = 0, $a$0 = 0, $a$1 = 0, $a$1$lcssa$i = 0, $a$1147$i = 0, $a$2 = 0, $a$2$ph$i = 0, $a$3$lcssa$i = 0, $a$3134$i = 0, $a$5$lcssa$i = 0, $a$5109$i = 0, $a$6$i = 0, $a$7$i = 0, $a$8$ph$i = 0, $arg = 0, $arglist_current = 0, $arglist_current2 = 0, $arglist_next = 0, $arglist_next3 = 0; - var $argpos$0 = 0, $big$i = 0, $buf = 0, $buf$i = 0, $carry$0140$i = 0, $carry3$0128$i = 0, $cnt$0 = 0, $cnt$1 = 0, $cnt$1$lcssa = 0, $d$0$i = 0, $d$0139$i = 0, $d$0141$i = 0, $d$1127$i = 0, $d$2$lcssa$i = 0, $d$2108$i = 0, $d$3$i = 0, $d$482$i = 0, $d$575$i = 0, $d$686$i = 0, $e$0123$i = 0; - var $e$1$i = 0, $e$2104$i = 0, $e$3$i = 0, $e$4$ph$i = 0, $e2$i = 0, $ebuf0$i = 0, $estr$0$i = 0, $estr$1$lcssa$i = 0, $estr$193$i = 0, $estr$2$i = 0, $exitcond$i = 0, $expanded = 0, $expanded10 = 0, $expanded11 = 0, $expanded13 = 0, $expanded14 = 0, $expanded15 = 0, $expanded4 = 0, $expanded6 = 0, $expanded7 = 0; - var $expanded8 = 0, $fl$0109 = 0, $fl$062 = 0, $fl$1 = 0, $fl$1$ = 0, $fl$3 = 0, $fl$4 = 0, $fl$6 = 0, $fmt39$lcssa = 0, $fmt39101 = 0, $fmt40 = 0, $fmt41 = 0, $fmt42 = 0, $fmt44 = 0, $fmt44$lcssa321 = 0, $fmt45 = 0, $i$0$lcssa = 0, $i$0$lcssa200 = 0, $i$0114 = 0, $i$0122$i = 0; - var $i$03$i = 0, $i$03$i25 = 0, $i$1$lcssa$i = 0, $i$1116$i = 0, $i$1125 = 0, $i$2100 = 0, $i$2100$lcssa = 0, $i$2103$i = 0, $i$398 = 0, $i$399$i = 0, $isdigit = 0, $isdigit$i = 0, $isdigit$i27 = 0, $isdigit10 = 0, $isdigit12 = 0, $isdigit2$i = 0, $isdigit2$i23 = 0, $isdigittmp = 0, $isdigittmp$ = 0, $isdigittmp$i = 0; - var $isdigittmp$i26 = 0, $isdigittmp1$i = 0, $isdigittmp1$i22 = 0, $isdigittmp11 = 0, $isdigittmp4$i = 0, $isdigittmp4$i24 = 0, $isdigittmp9 = 0, $j$0$i = 0, $j$0115$i = 0, $j$0117$i = 0, $j$1100$i = 0, $j$2$i = 0, $l$0 = 0, $l$0$i = 0, $l$1$i = 0, $l$1113 = 0, $l$2 = 0, $l10n$0 = 0, $l10n$0$lcssa = 0, $l10n$0$phi = 0; - var $l10n$1 = 0, $l10n$2 = 0, $l10n$3 = 0, $mb = 0, $notlhs$i = 0, $notrhs$i = 0, $or$cond = 0, $or$cond$i = 0, $or$cond15 = 0, $or$cond17 = 0, $or$cond20 = 0, $or$cond240 = 0, $or$cond29$i = 0, $or$cond3$not$i = 0, $or$cond6$i = 0, $p$0 = 0, $p$1 = 0, $p$2 = 0, $p$2$ = 0, $p$3 = 0; - var $p$4198 = 0, $p$5 = 0, $pl$0 = 0, $pl$0$i = 0, $pl$1 = 0, $pl$1$i = 0, $pl$2 = 0, $prefix$0 = 0, $prefix$0$$i = 0, $prefix$0$i = 0, $prefix$1 = 0, $prefix$2 = 0, $r$0$a$8$i = 0, $re$169$i = 0, $round$068$i = 0.0, $round6$1$i = 0.0, $s$0$i = 0, $s$1$i = 0, $s$1$i$lcssa = 0, $s1$0$i = 0; - var $s7$079$i = 0, $s7$1$i = 0, $s8$0$lcssa$i = 0, $s8$070$i = 0, $s9$0$i = 0, $s9$183$i = 0, $s9$2$i = 0, $small$0$i = 0.0, $small$1$i = 0.0, $st$0 = 0, $st$0$lcssa322 = 0, $storemerge = 0, $storemerge13 = 0, $storemerge8108 = 0, $storemerge860 = 0, $sum = 0, $t$0 = 0, $t$1 = 0, $w$$i = 0, $w$0 = 0; - var $w$1 = 0, $w$2 = 0, $w$30$i = 0, $wc = 0, $ws$0115 = 0, $ws$1126 = 0, $z$0$i = 0, $z$0$lcssa = 0, $z$0102 = 0, $z$1 = 0, $z$1$lcssa$i = 0, $z$1146$i = 0, $z$2 = 0, $z$2$i = 0, $z$2$i$lcssa = 0, $z$3$lcssa$i = 0, $z$3133$i = 0, $z$4$i = 0, $z$6$$i = 0, $z$6$i = 0; - var $z$6$i$lcssa = 0, $z$6$ph$i = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 624|0; - $big$i = sp + 24|0; - $e2$i = sp + 16|0; - $buf$i = sp + 588|0; - $ebuf0$i = sp + 576|0; - $arg = sp; - $buf = sp + 536|0; - $wc = sp + 8|0; - $mb = sp + 528|0; - $0 = ($f|0)!=(0|0); - $1 = ((($buf)) + 40|0); - $2 = $1; - $3 = ((($buf)) + 39|0); - $4 = ((($wc)) + 4|0); - $5 = ((($ebuf0$i)) + 12|0); - $6 = ((($ebuf0$i)) + 11|0); - $7 = $buf$i; - $8 = $5; - $9 = (($8) - ($7))|0; - $10 = (-2 - ($7))|0; - $11 = (($8) + 2)|0; - $12 = ((($big$i)) + 288|0); - $13 = ((($buf$i)) + 9|0); - $14 = $13; - $15 = ((($buf$i)) + 8|0); - $cnt$0 = 0;$fmt41 = $fmt;$l$0 = 0;$l10n$0 = 0; - L1: while(1) { - $16 = ($cnt$0|0)>(-1); - do { - if ($16) { - $17 = (2147483647 - ($cnt$0))|0; - $18 = ($l$0|0)>($17|0); - if ($18) { - $19 = (___errno_location()|0); - HEAP32[$19>>2] = 75; - $cnt$1 = -1; - break; - } else { - $20 = (($l$0) + ($cnt$0))|0; - $cnt$1 = $20; - break; - } - } else { - $cnt$1 = $cnt$0; - } - } while(0); - $21 = HEAP8[$fmt41>>0]|0; - $22 = ($21<<24>>24)==(0); - if ($22) { - $cnt$1$lcssa = $cnt$1;$l10n$0$lcssa = $l10n$0; - label = 245; - break; - } else { - $23 = $21;$fmt40 = $fmt41; - } - L9: while(1) { - switch ($23<<24>>24) { - case 37: { - $fmt39101 = $fmt40;$z$0102 = $fmt40; - label = 9; - break L9; - break; - } - case 0: { - $fmt39$lcssa = $fmt40;$z$0$lcssa = $fmt40; - break L9; - break; - } - default: { - } - } - $24 = ((($fmt40)) + 1|0); - $$pre = HEAP8[$24>>0]|0; - $23 = $$pre;$fmt40 = $24; - } - L12: do { - if ((label|0) == 9) { - while(1) { - label = 0; - $25 = ((($fmt39101)) + 1|0); - $26 = HEAP8[$25>>0]|0; - $27 = ($26<<24>>24)==(37); - if (!($27)) { - $fmt39$lcssa = $fmt39101;$z$0$lcssa = $z$0102; - break L12; - } - $28 = ((($z$0102)) + 1|0); - $29 = ((($fmt39101)) + 2|0); - $30 = HEAP8[$29>>0]|0; - $31 = ($30<<24>>24)==(37); - if ($31) { - $fmt39101 = $29;$z$0102 = $28; - label = 9; - } else { - $fmt39$lcssa = $29;$z$0$lcssa = $28; - break; - } - } - } - } while(0); - $32 = $z$0$lcssa; - $33 = $fmt41; - $34 = (($32) - ($33))|0; - if ($0) { - $35 = HEAP32[$f>>2]|0; - $36 = $35 & 32; - $37 = ($36|0)==(0); - if ($37) { - (___fwritex($fmt41,$34,$f)|0); - } - } - $38 = ($z$0$lcssa|0)==($fmt41|0); - if (!($38)) { - $l10n$0$phi = $l10n$0;$cnt$0 = $cnt$1;$fmt41 = $fmt39$lcssa;$l$0 = $34;$l10n$0 = $l10n$0$phi; - continue; - } - $39 = ((($fmt39$lcssa)) + 1|0); - $40 = HEAP8[$39>>0]|0; - $41 = $40 << 24 >> 24; - $isdigittmp = (($41) + -48)|0; - $isdigit = ($isdigittmp>>>0)<(10); - if ($isdigit) { - $42 = ((($fmt39$lcssa)) + 2|0); - $43 = HEAP8[$42>>0]|0; - $44 = ($43<<24>>24)==(36); - $45 = ((($fmt39$lcssa)) + 3|0); - $$51 = $44 ? $45 : $39; - $$l10n$0 = $44 ? 1 : $l10n$0; - $isdigittmp$ = $44 ? $isdigittmp : -1; - $$pre193 = HEAP8[$$51>>0]|0; - $47 = $$pre193;$argpos$0 = $isdigittmp$;$l10n$1 = $$l10n$0;$storemerge = $$51; - } else { - $47 = $40;$argpos$0 = -1;$l10n$1 = $l10n$0;$storemerge = $39; - } - $46 = $47 << 24 >> 24; - $48 = $46 & -32; - $49 = ($48|0)==(32); - L25: do { - if ($49) { - $51 = $46;$56 = $47;$fl$0109 = 0;$storemerge8108 = $storemerge; - while(1) { - $50 = (($51) + -32)|0; - $52 = 1 << $50; - $53 = $52 & 75913; - $54 = ($53|0)==(0); - if ($54) { - $65 = $56;$fl$062 = $fl$0109;$storemerge860 = $storemerge8108; - break L25; - } - $55 = $56 << 24 >> 24; - $57 = (($55) + -32)|0; - $58 = 1 << $57; - $59 = $58 | $fl$0109; - $60 = ((($storemerge8108)) + 1|0); - $61 = HEAP8[$60>>0]|0; - $62 = $61 << 24 >> 24; - $63 = $62 & -32; - $64 = ($63|0)==(32); - if ($64) { - $51 = $62;$56 = $61;$fl$0109 = $59;$storemerge8108 = $60; - } else { - $65 = $61;$fl$062 = $59;$storemerge860 = $60; - break; - } - } - } else { - $65 = $47;$fl$062 = 0;$storemerge860 = $storemerge; - } - } while(0); - $66 = ($65<<24>>24)==(42); - do { - if ($66) { - $67 = ((($storemerge860)) + 1|0); - $68 = HEAP8[$67>>0]|0; - $69 = $68 << 24 >> 24; - $isdigittmp11 = (($69) + -48)|0; - $isdigit12 = ($isdigittmp11>>>0)<(10); - if ($isdigit12) { - $70 = ((($storemerge860)) + 2|0); - $71 = HEAP8[$70>>0]|0; - $72 = ($71<<24>>24)==(36); - if ($72) { - $73 = (($nl_type) + ($isdigittmp11<<2)|0); - HEAP32[$73>>2] = 10; - $74 = HEAP8[$67>>0]|0; - $75 = $74 << 24 >> 24; - $76 = (($75) + -48)|0; - $77 = (($nl_arg) + ($76<<3)|0); - $78 = $77; - $79 = $78; - $80 = HEAP32[$79>>2]|0; - $81 = (($78) + 4)|0; - $82 = $81; - $83 = HEAP32[$82>>2]|0; - $84 = ((($storemerge860)) + 3|0); - $l10n$2 = 1;$storemerge13 = $84;$w$0 = $80; - } else { - label = 24; - } - } else { - label = 24; - } - if ((label|0) == 24) { - label = 0; - $85 = ($l10n$1|0)==(0); - if (!($85)) { - $$0 = -1; - break L1; - } - if (!($0)) { - $fl$1 = $fl$062;$fmt42 = $67;$l10n$3 = 0;$w$1 = 0; - break; - } - $arglist_current = HEAP32[$ap>>2]|0; - $86 = $arglist_current; - $87 = ((0) + 4|0); - $expanded4 = $87; - $expanded = (($expanded4) - 1)|0; - $88 = (($86) + ($expanded))|0; - $89 = ((0) + 4|0); - $expanded8 = $89; - $expanded7 = (($expanded8) - 1)|0; - $expanded6 = $expanded7 ^ -1; - $90 = $88 & $expanded6; - $91 = $90; - $92 = HEAP32[$91>>2]|0; - $arglist_next = ((($91)) + 4|0); - HEAP32[$ap>>2] = $arglist_next; - $l10n$2 = 0;$storemerge13 = $67;$w$0 = $92; - } - $93 = ($w$0|0)<(0); - if ($93) { - $94 = $fl$062 | 8192; - $95 = (0 - ($w$0))|0; - $fl$1 = $94;$fmt42 = $storemerge13;$l10n$3 = $l10n$2;$w$1 = $95; - } else { - $fl$1 = $fl$062;$fmt42 = $storemerge13;$l10n$3 = $l10n$2;$w$1 = $w$0; - } - } else { - $96 = $65 << 24 >> 24; - $isdigittmp1$i = (($96) + -48)|0; - $isdigit2$i = ($isdigittmp1$i>>>0)<(10); - if ($isdigit2$i) { - $100 = $storemerge860;$i$03$i = 0;$isdigittmp4$i = $isdigittmp1$i; - while(1) { - $97 = ($i$03$i*10)|0; - $98 = (($97) + ($isdigittmp4$i))|0; - $99 = ((($100)) + 1|0); - $101 = HEAP8[$99>>0]|0; - $102 = $101 << 24 >> 24; - $isdigittmp$i = (($102) + -48)|0; - $isdigit$i = ($isdigittmp$i>>>0)<(10); - if ($isdigit$i) { - $100 = $99;$i$03$i = $98;$isdigittmp4$i = $isdigittmp$i; - } else { - $$lcssa = $98;$$lcssa318 = $99; - break; - } - } - $103 = ($$lcssa|0)<(0); - if ($103) { - $$0 = -1; - break L1; - } else { - $fl$1 = $fl$062;$fmt42 = $$lcssa318;$l10n$3 = $l10n$1;$w$1 = $$lcssa; - } - } else { - $fl$1 = $fl$062;$fmt42 = $storemerge860;$l10n$3 = $l10n$1;$w$1 = 0; - } - } - } while(0); - $104 = HEAP8[$fmt42>>0]|0; - $105 = ($104<<24>>24)==(46); - L46: do { - if ($105) { - $106 = ((($fmt42)) + 1|0); - $107 = HEAP8[$106>>0]|0; - $108 = ($107<<24>>24)==(42); - if (!($108)) { - $135 = $107 << 24 >> 24; - $isdigittmp1$i22 = (($135) + -48)|0; - $isdigit2$i23 = ($isdigittmp1$i22>>>0)<(10); - if ($isdigit2$i23) { - $139 = $106;$i$03$i25 = 0;$isdigittmp4$i24 = $isdigittmp1$i22; - } else { - $fmt45 = $106;$p$0 = 0; - break; - } - while(1) { - $136 = ($i$03$i25*10)|0; - $137 = (($136) + ($isdigittmp4$i24))|0; - $138 = ((($139)) + 1|0); - $140 = HEAP8[$138>>0]|0; - $141 = $140 << 24 >> 24; - $isdigittmp$i26 = (($141) + -48)|0; - $isdigit$i27 = ($isdigittmp$i26>>>0)<(10); - if ($isdigit$i27) { - $139 = $138;$i$03$i25 = $137;$isdigittmp4$i24 = $isdigittmp$i26; - } else { - $fmt45 = $138;$p$0 = $137; - break L46; - } - } - } - $109 = ((($fmt42)) + 2|0); - $110 = HEAP8[$109>>0]|0; - $111 = $110 << 24 >> 24; - $isdigittmp9 = (($111) + -48)|0; - $isdigit10 = ($isdigittmp9>>>0)<(10); - if ($isdigit10) { - $112 = ((($fmt42)) + 3|0); - $113 = HEAP8[$112>>0]|0; - $114 = ($113<<24>>24)==(36); - if ($114) { - $115 = (($nl_type) + ($isdigittmp9<<2)|0); - HEAP32[$115>>2] = 10; - $116 = HEAP8[$109>>0]|0; - $117 = $116 << 24 >> 24; - $118 = (($117) + -48)|0; - $119 = (($nl_arg) + ($118<<3)|0); - $120 = $119; - $121 = $120; - $122 = HEAP32[$121>>2]|0; - $123 = (($120) + 4)|0; - $124 = $123; - $125 = HEAP32[$124>>2]|0; - $126 = ((($fmt42)) + 4|0); - $fmt45 = $126;$p$0 = $122; - break; - } - } - $127 = ($l10n$3|0)==(0); - if (!($127)) { - $$0 = -1; - break L1; - } - if ($0) { - $arglist_current2 = HEAP32[$ap>>2]|0; - $128 = $arglist_current2; - $129 = ((0) + 4|0); - $expanded11 = $129; - $expanded10 = (($expanded11) - 1)|0; - $130 = (($128) + ($expanded10))|0; - $131 = ((0) + 4|0); - $expanded15 = $131; - $expanded14 = (($expanded15) - 1)|0; - $expanded13 = $expanded14 ^ -1; - $132 = $130 & $expanded13; - $133 = $132; - $134 = HEAP32[$133>>2]|0; - $arglist_next3 = ((($133)) + 4|0); - HEAP32[$ap>>2] = $arglist_next3; - $fmt45 = $109;$p$0 = $134; - } else { - $fmt45 = $109;$p$0 = 0; - } - } else { - $fmt45 = $fmt42;$p$0 = -1; - } - } while(0); - $fmt44 = $fmt45;$st$0 = 0; - while(1) { - $142 = HEAP8[$fmt44>>0]|0; - $143 = $142 << 24 >> 24; - $144 = (($143) + -65)|0; - $145 = ($144>>>0)>(57); - if ($145) { - $$0 = -1; - break L1; - } - $146 = ((($fmt44)) + 1|0); - $147 = ((22821 + (($st$0*58)|0)|0) + ($144)|0); - $148 = HEAP8[$147>>0]|0; - $149 = $148&255; - $150 = (($149) + -1)|0; - $151 = ($150>>>0)<(8); - if ($151) { - $fmt44 = $146;$st$0 = $149; - } else { - $$lcssa323 = $146;$$lcssa324 = $148;$$lcssa325 = $149;$fmt44$lcssa321 = $fmt44;$st$0$lcssa322 = $st$0; - break; - } - } - $152 = ($$lcssa324<<24>>24)==(0); - if ($152) { - $$0 = -1; - break; - } - $153 = ($$lcssa324<<24>>24)==(19); - $154 = ($argpos$0|0)>(-1); - do { - if ($153) { - if ($154) { - $$0 = -1; - break L1; - } else { - label = 52; - } - } else { - if ($154) { - $155 = (($nl_type) + ($argpos$0<<2)|0); - HEAP32[$155>>2] = $$lcssa325; - $156 = (($nl_arg) + ($argpos$0<<3)|0); - $157 = $156; - $158 = $157; - $159 = HEAP32[$158>>2]|0; - $160 = (($157) + 4)|0; - $161 = $160; - $162 = HEAP32[$161>>2]|0; - $163 = $arg; - $164 = $163; - HEAP32[$164>>2] = $159; - $165 = (($163) + 4)|0; - $166 = $165; - HEAP32[$166>>2] = $162; - label = 52; - break; - } - if (!($0)) { - $$0 = 0; - break L1; - } - _pop_arg($arg,$$lcssa325,$ap); - } - } while(0); - if ((label|0) == 52) { - label = 0; - if (!($0)) { - $cnt$0 = $cnt$1;$fmt41 = $$lcssa323;$l$0 = $34;$l10n$0 = $l10n$3; - continue; - } - } - $167 = HEAP8[$fmt44$lcssa321>>0]|0; - $168 = $167 << 24 >> 24; - $169 = ($st$0$lcssa322|0)!=(0); - $170 = $168 & 15; - $171 = ($170|0)==(3); - $or$cond15 = $169 & $171; - $172 = $168 & -33; - $t$0 = $or$cond15 ? $172 : $168; - $173 = $fl$1 & 8192; - $174 = ($173|0)==(0); - $175 = $fl$1 & -65537; - $fl$1$ = $174 ? $fl$1 : $175; - L75: do { - switch ($t$0|0) { - case 110: { - switch ($st$0$lcssa322|0) { - case 0: { - $182 = HEAP32[$arg>>2]|0; - HEAP32[$182>>2] = $cnt$1; - $cnt$0 = $cnt$1;$fmt41 = $$lcssa323;$l$0 = $34;$l10n$0 = $l10n$3; - continue L1; - break; - } - case 1: { - $183 = HEAP32[$arg>>2]|0; - HEAP32[$183>>2] = $cnt$1; - $cnt$0 = $cnt$1;$fmt41 = $$lcssa323;$l$0 = $34;$l10n$0 = $l10n$3; - continue L1; - break; - } - case 2: { - $184 = ($cnt$1|0)<(0); - $185 = $184 << 31 >> 31; - $186 = HEAP32[$arg>>2]|0; - $187 = $186; - $188 = $187; - HEAP32[$188>>2] = $cnt$1; - $189 = (($187) + 4)|0; - $190 = $189; - HEAP32[$190>>2] = $185; - $cnt$0 = $cnt$1;$fmt41 = $$lcssa323;$l$0 = $34;$l10n$0 = $l10n$3; - continue L1; - break; - } - case 3: { - $191 = $cnt$1&65535; - $192 = HEAP32[$arg>>2]|0; - HEAP16[$192>>1] = $191; - $cnt$0 = $cnt$1;$fmt41 = $$lcssa323;$l$0 = $34;$l10n$0 = $l10n$3; - continue L1; - break; - } - case 4: { - $193 = $cnt$1&255; - $194 = HEAP32[$arg>>2]|0; - HEAP8[$194>>0] = $193; - $cnt$0 = $cnt$1;$fmt41 = $$lcssa323;$l$0 = $34;$l10n$0 = $l10n$3; - continue L1; - break; - } - case 6: { - $195 = HEAP32[$arg>>2]|0; - HEAP32[$195>>2] = $cnt$1; - $cnt$0 = $cnt$1;$fmt41 = $$lcssa323;$l$0 = $34;$l10n$0 = $l10n$3; - continue L1; - break; - } - case 7: { - $196 = ($cnt$1|0)<(0); - $197 = $196 << 31 >> 31; - $198 = HEAP32[$arg>>2]|0; - $199 = $198; - $200 = $199; - HEAP32[$200>>2] = $cnt$1; - $201 = (($199) + 4)|0; - $202 = $201; - HEAP32[$202>>2] = $197; - $cnt$0 = $cnt$1;$fmt41 = $$lcssa323;$l$0 = $34;$l10n$0 = $l10n$3; - continue L1; - break; - } - default: { - $cnt$0 = $cnt$1;$fmt41 = $$lcssa323;$l$0 = $34;$l10n$0 = $l10n$3; - continue L1; - } - } - break; - } - case 112: { - $203 = ($p$0>>>0)>(8); - $204 = $203 ? $p$0 : 8; - $205 = $fl$1$ | 8; - $fl$3 = $205;$p$1 = $204;$t$1 = 120; - label = 64; - break; - } - case 88: case 120: { - $fl$3 = $fl$1$;$p$1 = $p$0;$t$1 = $t$0; - label = 64; - break; - } - case 111: { - $243 = $arg; - $244 = $243; - $245 = HEAP32[$244>>2]|0; - $246 = (($243) + 4)|0; - $247 = $246; - $248 = HEAP32[$247>>2]|0; - $249 = ($245|0)==(0); - $250 = ($248|0)==(0); - $251 = $249 & $250; - if ($251) { - $$0$lcssa$i = $1; - } else { - $$03$i33 = $1;$253 = $245;$257 = $248; - while(1) { - $252 = $253 & 7; - $254 = $252 | 48; - $255 = $254&255; - $256 = ((($$03$i33)) + -1|0); - HEAP8[$256>>0] = $255; - $258 = (_bitshift64Lshr(($253|0),($257|0),3)|0); - $259 = tempRet0; - $260 = ($258|0)==(0); - $261 = ($259|0)==(0); - $262 = $260 & $261; - if ($262) { - $$0$lcssa$i = $256; - break; - } else { - $$03$i33 = $256;$253 = $258;$257 = $259; - } - } - } - $263 = $fl$1$ & 8; - $264 = ($263|0)==(0); - if ($264) { - $a$0 = $$0$lcssa$i;$fl$4 = $fl$1$;$p$2 = $p$0;$pl$1 = 0;$prefix$1 = 23301; - label = 77; - } else { - $265 = $$0$lcssa$i; - $266 = (($2) - ($265))|0; - $267 = (($266) + 1)|0; - $268 = ($p$0|0)<($267|0); - $$p$0 = $268 ? $267 : $p$0; - $a$0 = $$0$lcssa$i;$fl$4 = $fl$1$;$p$2 = $$p$0;$pl$1 = 0;$prefix$1 = 23301; - label = 77; - } - break; - } - case 105: case 100: { - $269 = $arg; - $270 = $269; - $271 = HEAP32[$270>>2]|0; - $272 = (($269) + 4)|0; - $273 = $272; - $274 = HEAP32[$273>>2]|0; - $275 = ($274|0)<(0); - if ($275) { - $276 = (_i64Subtract(0,0,($271|0),($274|0))|0); - $277 = tempRet0; - $278 = $arg; - $279 = $278; - HEAP32[$279>>2] = $276; - $280 = (($278) + 4)|0; - $281 = $280; - HEAP32[$281>>2] = $277; - $286 = $276;$287 = $277;$pl$0 = 1;$prefix$0 = 23301; - label = 76; - break L75; - } - $282 = $fl$1$ & 2048; - $283 = ($282|0)==(0); - if ($283) { - $284 = $fl$1$ & 1; - $285 = ($284|0)==(0); - $$ = $285 ? 23301 : (23303); - $286 = $271;$287 = $274;$pl$0 = $284;$prefix$0 = $$; - label = 76; - } else { - $286 = $271;$287 = $274;$pl$0 = 1;$prefix$0 = (23302); - label = 76; - } - break; - } - case 117: { - $176 = $arg; - $177 = $176; - $178 = HEAP32[$177>>2]|0; - $179 = (($176) + 4)|0; - $180 = $179; - $181 = HEAP32[$180>>2]|0; - $286 = $178;$287 = $181;$pl$0 = 0;$prefix$0 = 23301; - label = 76; - break; - } - case 99: { - $307 = $arg; - $308 = $307; - $309 = HEAP32[$308>>2]|0; - $310 = (($307) + 4)|0; - $311 = $310; - $312 = HEAP32[$311>>2]|0; - $313 = $309&255; - HEAP8[$3>>0] = $313; - $a$2 = $3;$fl$6 = $175;$p$5 = 1;$pl$2 = 0;$prefix$2 = 23301;$z$2 = $1; - break; - } - case 109: { - $314 = (___errno_location()|0); - $315 = HEAP32[$314>>2]|0; - $316 = (_strerror($315)|0); - $a$1 = $316; - label = 82; - break; - } - case 115: { - $317 = HEAP32[$arg>>2]|0; - $318 = ($317|0)!=(0|0); - $319 = $318 ? $317 : 23311; - $a$1 = $319; - label = 82; - break; - } - case 67: { - $326 = $arg; - $327 = $326; - $328 = HEAP32[$327>>2]|0; - $329 = (($326) + 4)|0; - $330 = $329; - $331 = HEAP32[$330>>2]|0; - HEAP32[$wc>>2] = $328; - HEAP32[$4>>2] = 0; - HEAP32[$arg>>2] = $wc; - $p$4198 = -1; - label = 86; - break; - } - case 83: { - $332 = ($p$0|0)==(0); - if ($332) { - _pad($f,32,$w$1,0,$fl$1$); - $i$0$lcssa200 = 0; - label = 98; - } else { - $p$4198 = $p$0; - label = 86; - } - break; - } - case 65: case 71: case 70: case 69: case 97: case 103: case 102: case 101: { - $359 = +HEAPF64[$arg>>3]; - HEAP32[$e2$i>>2] = 0; - HEAPF64[tempDoublePtr>>3] = $359;$360 = HEAP32[tempDoublePtr>>2]|0; - $361 = HEAP32[tempDoublePtr+4>>2]|0; - $362 = ($361|0)<(0); - if ($362) { - $363 = -$359; - $$07$i = $363;$pl$0$i = 1;$prefix$0$i = 23318; - } else { - $364 = $fl$1$ & 2048; - $365 = ($364|0)==(0); - if ($365) { - $366 = $fl$1$ & 1; - $367 = ($366|0)==(0); - $$$i = $367 ? (23319) : (23324); - $$07$i = $359;$pl$0$i = $366;$prefix$0$i = $$$i; - } else { - $$07$i = $359;$pl$0$i = 1;$prefix$0$i = (23321); - } - } - HEAPF64[tempDoublePtr>>3] = $$07$i;$368 = HEAP32[tempDoublePtr>>2]|0; - $369 = HEAP32[tempDoublePtr+4>>2]|0; - $370 = $369 & 2146435072; - $371 = ($370>>>0)<(2146435072); - $372 = (0)<(0); - $373 = ($370|0)==(2146435072); - $374 = $373 & $372; - $375 = $371 | $374; - do { - if ($375) { - $391 = (+_frexpl($$07$i,$e2$i)); - $392 = $391 * 2.0; - $393 = $392 != 0.0; - if ($393) { - $394 = HEAP32[$e2$i>>2]|0; - $395 = (($394) + -1)|0; - HEAP32[$e2$i>>2] = $395; - } - $396 = $t$0 | 32; - $397 = ($396|0)==(97); - if ($397) { - $398 = $t$0 & 32; - $399 = ($398|0)==(0); - $400 = ((($prefix$0$i)) + 9|0); - $prefix$0$$i = $399 ? $prefix$0$i : $400; - $401 = $pl$0$i | 2; - $402 = ($p$0>>>0)>(11); - $403 = (12 - ($p$0))|0; - $404 = ($403|0)==(0); - $405 = $402 | $404; - do { - if ($405) { - $$1$i = $392; - } else { - $re$169$i = $403;$round$068$i = 8.0; - while(1) { - $406 = (($re$169$i) + -1)|0; - $407 = $round$068$i * 16.0; - $408 = ($406|0)==(0); - if ($408) { - $$lcssa342 = $407; - break; - } else { - $re$169$i = $406;$round$068$i = $407; - } - } - $409 = HEAP8[$prefix$0$$i>>0]|0; - $410 = ($409<<24>>24)==(45); - if ($410) { - $411 = -$392; - $412 = $411 - $$lcssa342; - $413 = $$lcssa342 + $412; - $414 = -$413; - $$1$i = $414; - break; - } else { - $415 = $392 + $$lcssa342; - $416 = $415 - $$lcssa342; - $$1$i = $416; - break; - } - } - } while(0); - $417 = HEAP32[$e2$i>>2]|0; - $418 = ($417|0)<(0); - $419 = (0 - ($417))|0; - $420 = $418 ? $419 : $417; - $421 = ($420|0)<(0); - $422 = $421 << 31 >> 31; - $423 = (_fmt_u($420,$422,$5)|0); - $424 = ($423|0)==($5|0); - if ($424) { - HEAP8[$6>>0] = 48; - $estr$0$i = $6; - } else { - $estr$0$i = $423; - } - $425 = $417 >> 31; - $426 = $425 & 2; - $427 = (($426) + 43)|0; - $428 = $427&255; - $429 = ((($estr$0$i)) + -1|0); - HEAP8[$429>>0] = $428; - $430 = (($t$0) + 15)|0; - $431 = $430&255; - $432 = ((($estr$0$i)) + -2|0); - HEAP8[$432>>0] = $431; - $notrhs$i = ($p$0|0)<(1); - $433 = $fl$1$ & 8; - $434 = ($433|0)==(0); - $$2$i = $$1$i;$s$0$i = $buf$i; - while(1) { - $435 = (~~(($$2$i))); - $436 = (23285 + ($435)|0); - $437 = HEAP8[$436>>0]|0; - $438 = $437&255; - $439 = $438 | $398; - $440 = $439&255; - $441 = ((($s$0$i)) + 1|0); - HEAP8[$s$0$i>>0] = $440; - $442 = (+($435|0)); - $443 = $$2$i - $442; - $444 = $443 * 16.0; - $445 = $441; - $446 = (($445) - ($7))|0; - $447 = ($446|0)==(1); - do { - if ($447) { - $notlhs$i = $444 == 0.0; - $or$cond3$not$i = $notrhs$i & $notlhs$i; - $or$cond$i = $434 & $or$cond3$not$i; - if ($or$cond$i) { - $s$1$i = $441; - break; - } - $448 = ((($s$0$i)) + 2|0); - HEAP8[$441>>0] = 46; - $s$1$i = $448; - } else { - $s$1$i = $441; - } - } while(0); - $449 = $444 != 0.0; - if ($449) { - $$2$i = $444;$s$0$i = $s$1$i; - } else { - $s$1$i$lcssa = $s$1$i; - break; - } - } - $450 = ($p$0|0)!=(0); - $$pre182$i = $s$1$i$lcssa; - $451 = (($10) + ($$pre182$i))|0; - $452 = ($451|0)<($p$0|0); - $or$cond240 = $450 & $452; - $453 = $432; - $454 = (($11) + ($p$0))|0; - $455 = (($454) - ($453))|0; - $456 = $432; - $457 = (($9) - ($456))|0; - $458 = (($457) + ($$pre182$i))|0; - $l$0$i = $or$cond240 ? $455 : $458; - $459 = (($l$0$i) + ($401))|0; - _pad($f,32,$w$1,$459,$fl$1$); - $460 = HEAP32[$f>>2]|0; - $461 = $460 & 32; - $462 = ($461|0)==(0); - if ($462) { - (___fwritex($prefix$0$$i,$401,$f)|0); - } - $463 = $fl$1$ ^ 65536; - _pad($f,48,$w$1,$459,$463); - $464 = (($$pre182$i) - ($7))|0; - $465 = HEAP32[$f>>2]|0; - $466 = $465 & 32; - $467 = ($466|0)==(0); - if ($467) { - (___fwritex($buf$i,$464,$f)|0); - } - $468 = $432; - $469 = (($8) - ($468))|0; - $sum = (($464) + ($469))|0; - $470 = (($l$0$i) - ($sum))|0; - _pad($f,48,$470,0,0); - $471 = HEAP32[$f>>2]|0; - $472 = $471 & 32; - $473 = ($472|0)==(0); - if ($473) { - (___fwritex($432,$469,$f)|0); - } - $474 = $fl$1$ ^ 8192; - _pad($f,32,$w$1,$459,$474); - $475 = ($459|0)<($w$1|0); - $w$$i = $475 ? $w$1 : $459; - $$0$i = $w$$i; - break; - } - $476 = ($p$0|0)<(0); - $$p$i = $476 ? 6 : $p$0; - if ($393) { - $477 = $392 * 268435456.0; - $478 = HEAP32[$e2$i>>2]|0; - $479 = (($478) + -28)|0; - HEAP32[$e2$i>>2] = $479; - $$3$i = $477;$480 = $479; - } else { - $$pre179$i = HEAP32[$e2$i>>2]|0; - $$3$i = $392;$480 = $$pre179$i; - } - $481 = ($480|0)<(0); - $$31$i = $481 ? $big$i : $12; - $482 = $$31$i; - $$4$i = $$3$i;$z$0$i = $$31$i; - while(1) { - $483 = (~~(($$4$i))>>>0); - HEAP32[$z$0$i>>2] = $483; - $484 = ((($z$0$i)) + 4|0); - $485 = (+($483>>>0)); - $486 = $$4$i - $485; - $487 = $486 * 1.0E+9; - $488 = $487 != 0.0; - if ($488) { - $$4$i = $487;$z$0$i = $484; - } else { - $$lcssa326 = $484; - break; - } - } - $$pr$i = HEAP32[$e2$i>>2]|0; - $489 = ($$pr$i|0)>(0); - if ($489) { - $490 = $$pr$i;$a$1147$i = $$31$i;$z$1146$i = $$lcssa326; - while(1) { - $491 = ($490|0)>(29); - $492 = $491 ? 29 : $490; - $d$0139$i = ((($z$1146$i)) + -4|0); - $493 = ($d$0139$i>>>0)<($a$1147$i>>>0); - do { - if ($493) { - $a$2$ph$i = $a$1147$i; - } else { - $carry$0140$i = 0;$d$0141$i = $d$0139$i; - while(1) { - $494 = HEAP32[$d$0141$i>>2]|0; - $495 = (_bitshift64Shl(($494|0),0,($492|0))|0); - $496 = tempRet0; - $497 = (_i64Add(($495|0),($496|0),($carry$0140$i|0),0)|0); - $498 = tempRet0; - $499 = (___uremdi3(($497|0),($498|0),1000000000,0)|0); - $500 = tempRet0; - HEAP32[$d$0141$i>>2] = $499; - $501 = (___udivdi3(($497|0),($498|0),1000000000,0)|0); - $502 = tempRet0; - $d$0$i = ((($d$0141$i)) + -4|0); - $503 = ($d$0$i>>>0)<($a$1147$i>>>0); - if ($503) { - $$lcssa327 = $501; - break; - } else { - $carry$0140$i = $501;$d$0141$i = $d$0$i; - } - } - $504 = ($$lcssa327|0)==(0); - if ($504) { - $a$2$ph$i = $a$1147$i; - break; - } - $505 = ((($a$1147$i)) + -4|0); - HEAP32[$505>>2] = $$lcssa327; - $a$2$ph$i = $505; - } - } while(0); - $z$2$i = $z$1146$i; - while(1) { - $506 = ($z$2$i>>>0)>($a$2$ph$i>>>0); - if (!($506)) { - $z$2$i$lcssa = $z$2$i; - break; - } - $507 = ((($z$2$i)) + -4|0); - $508 = HEAP32[$507>>2]|0; - $509 = ($508|0)==(0); - if ($509) { - $z$2$i = $507; - } else { - $z$2$i$lcssa = $z$2$i; - break; - } - } - $510 = HEAP32[$e2$i>>2]|0; - $511 = (($510) - ($492))|0; - HEAP32[$e2$i>>2] = $511; - $512 = ($511|0)>(0); - if ($512) { - $490 = $511;$a$1147$i = $a$2$ph$i;$z$1146$i = $z$2$i$lcssa; - } else { - $$pr47$i = $511;$a$1$lcssa$i = $a$2$ph$i;$z$1$lcssa$i = $z$2$i$lcssa; - break; - } - } - } else { - $$pr47$i = $$pr$i;$a$1$lcssa$i = $$31$i;$z$1$lcssa$i = $$lcssa326; - } - $513 = ($$pr47$i|0)<(0); - if ($513) { - $514 = (($$p$i) + 25)|0; - $515 = (($514|0) / 9)&-1; - $516 = (($515) + 1)|0; - $517 = ($396|0)==(102); - $519 = $$pr47$i;$a$3134$i = $a$1$lcssa$i;$z$3133$i = $z$1$lcssa$i; - while(1) { - $518 = (0 - ($519))|0; - $520 = ($518|0)>(9); - $521 = $520 ? 9 : $518; - $522 = ($a$3134$i>>>0)<($z$3133$i>>>0); - do { - if ($522) { - $526 = 1 << $521; - $527 = (($526) + -1)|0; - $528 = 1000000000 >>> $521; - $carry3$0128$i = 0;$d$1127$i = $a$3134$i; - while(1) { - $529 = HEAP32[$d$1127$i>>2]|0; - $530 = $529 & $527; - $531 = $529 >>> $521; - $532 = (($531) + ($carry3$0128$i))|0; - HEAP32[$d$1127$i>>2] = $532; - $533 = Math_imul($530, $528)|0; - $534 = ((($d$1127$i)) + 4|0); - $535 = ($534>>>0)<($z$3133$i>>>0); - if ($535) { - $carry3$0128$i = $533;$d$1127$i = $534; - } else { - $$lcssa329 = $533; - break; - } - } - $536 = HEAP32[$a$3134$i>>2]|0; - $537 = ($536|0)==(0); - $538 = ((($a$3134$i)) + 4|0); - $$a$3$i = $537 ? $538 : $a$3134$i; - $539 = ($$lcssa329|0)==(0); - if ($539) { - $$a$3186$i = $$a$3$i;$z$4$i = $z$3133$i; - break; - } - $540 = ((($z$3133$i)) + 4|0); - HEAP32[$z$3133$i>>2] = $$lcssa329; - $$a$3186$i = $$a$3$i;$z$4$i = $540; - } else { - $523 = HEAP32[$a$3134$i>>2]|0; - $524 = ($523|0)==(0); - $525 = ((($a$3134$i)) + 4|0); - $$a$3185$i = $524 ? $525 : $a$3134$i; - $$a$3186$i = $$a$3185$i;$z$4$i = $z$3133$i; - } - } while(0); - $541 = $517 ? $$31$i : $$a$3186$i; - $542 = $z$4$i; - $543 = $541; - $544 = (($542) - ($543))|0; - $545 = $544 >> 2; - $546 = ($545|0)>($516|0); - $547 = (($541) + ($516<<2)|0); - $$z$4$i = $546 ? $547 : $z$4$i; - $548 = HEAP32[$e2$i>>2]|0; - $549 = (($548) + ($521))|0; - HEAP32[$e2$i>>2] = $549; - $550 = ($549|0)<(0); - if ($550) { - $519 = $549;$a$3134$i = $$a$3186$i;$z$3133$i = $$z$4$i; - } else { - $a$3$lcssa$i = $$a$3186$i;$z$3$lcssa$i = $$z$4$i; - break; - } - } - } else { - $a$3$lcssa$i = $a$1$lcssa$i;$z$3$lcssa$i = $z$1$lcssa$i; - } - $551 = ($a$3$lcssa$i>>>0)<($z$3$lcssa$i>>>0); - do { - if ($551) { - $552 = $a$3$lcssa$i; - $553 = (($482) - ($552))|0; - $554 = $553 >> 2; - $555 = ($554*9)|0; - $556 = HEAP32[$a$3$lcssa$i>>2]|0; - $557 = ($556>>>0)<(10); - if ($557) { - $e$1$i = $555; - break; - } else { - $e$0123$i = $555;$i$0122$i = 10; - } - while(1) { - $558 = ($i$0122$i*10)|0; - $559 = (($e$0123$i) + 1)|0; - $560 = ($556>>>0)<($558>>>0); - if ($560) { - $e$1$i = $559; - break; - } else { - $e$0123$i = $559;$i$0122$i = $558; - } - } - } else { - $e$1$i = 0; - } - } while(0); - $561 = ($396|0)!=(102); - $562 = $561 ? $e$1$i : 0; - $563 = (($$p$i) - ($562))|0; - $564 = ($396|0)==(103); - $565 = ($$p$i|0)!=(0); - $566 = $565 & $564; - $$neg52$i = $566 << 31 >> 31; - $567 = (($563) + ($$neg52$i))|0; - $568 = $z$3$lcssa$i; - $569 = (($568) - ($482))|0; - $570 = $569 >> 2; - $571 = ($570*9)|0; - $572 = (($571) + -9)|0; - $573 = ($567|0)<($572|0); - if ($573) { - $574 = (($567) + 9216)|0; - $575 = (($574|0) / 9)&-1; - $$sum$i = (($575) + -1023)|0; - $576 = (($$31$i) + ($$sum$i<<2)|0); - $577 = (($574|0) % 9)&-1; - $j$0115$i = (($577) + 1)|0; - $578 = ($j$0115$i|0)<(9); - if ($578) { - $i$1116$i = 10;$j$0117$i = $j$0115$i; - while(1) { - $579 = ($i$1116$i*10)|0; - $j$0$i = (($j$0117$i) + 1)|0; - $exitcond$i = ($j$0$i|0)==(9); - if ($exitcond$i) { - $i$1$lcssa$i = $579; - break; - } else { - $i$1116$i = $579;$j$0117$i = $j$0$i; - } - } - } else { - $i$1$lcssa$i = 10; - } - $580 = HEAP32[$576>>2]|0; - $581 = (($580>>>0) % ($i$1$lcssa$i>>>0))&-1; - $582 = ($581|0)==(0); - if ($582) { - $$sum15$i = (($575) + -1022)|0; - $583 = (($$31$i) + ($$sum15$i<<2)|0); - $584 = ($583|0)==($z$3$lcssa$i|0); - if ($584) { - $a$7$i = $a$3$lcssa$i;$d$3$i = $576;$e$3$i = $e$1$i; - } else { - label = 163; - } - } else { - label = 163; - } - do { - if ((label|0) == 163) { - label = 0; - $585 = (($580>>>0) / ($i$1$lcssa$i>>>0))&-1; - $586 = $585 & 1; - $587 = ($586|0)==(0); - $$20$i = $587 ? 9007199254740992.0 : 9007199254740994.0; - $588 = (($i$1$lcssa$i|0) / 2)&-1; - $589 = ($581>>>0)<($588>>>0); - do { - if ($589) { - $small$0$i = 0.5; - } else { - $590 = ($581|0)==($588|0); - if ($590) { - $$sum16$i = (($575) + -1022)|0; - $591 = (($$31$i) + ($$sum16$i<<2)|0); - $592 = ($591|0)==($z$3$lcssa$i|0); - if ($592) { - $small$0$i = 1.0; - break; - } - } - $small$0$i = 1.5; - } - } while(0); - $593 = ($pl$0$i|0)==(0); - do { - if ($593) { - $round6$1$i = $$20$i;$small$1$i = $small$0$i; - } else { - $594 = HEAP8[$prefix$0$i>>0]|0; - $595 = ($594<<24>>24)==(45); - if (!($595)) { - $round6$1$i = $$20$i;$small$1$i = $small$0$i; - break; - } - $596 = -$$20$i; - $597 = -$small$0$i; - $round6$1$i = $596;$small$1$i = $597; - } - } while(0); - $598 = (($580) - ($581))|0; - HEAP32[$576>>2] = $598; - $599 = $round6$1$i + $small$1$i; - $600 = $599 != $round6$1$i; - if (!($600)) { - $a$7$i = $a$3$lcssa$i;$d$3$i = $576;$e$3$i = $e$1$i; - break; - } - $601 = (($598) + ($i$1$lcssa$i))|0; - HEAP32[$576>>2] = $601; - $602 = ($601>>>0)>(999999999); - if ($602) { - $a$5109$i = $a$3$lcssa$i;$d$2108$i = $576; - while(1) { - $603 = ((($d$2108$i)) + -4|0); - HEAP32[$d$2108$i>>2] = 0; - $604 = ($603>>>0)<($a$5109$i>>>0); - if ($604) { - $605 = ((($a$5109$i)) + -4|0); - HEAP32[$605>>2] = 0; - $a$6$i = $605; - } else { - $a$6$i = $a$5109$i; - } - $606 = HEAP32[$603>>2]|0; - $607 = (($606) + 1)|0; - HEAP32[$603>>2] = $607; - $608 = ($607>>>0)>(999999999); - if ($608) { - $a$5109$i = $a$6$i;$d$2108$i = $603; - } else { - $a$5$lcssa$i = $a$6$i;$d$2$lcssa$i = $603; - break; - } - } - } else { - $a$5$lcssa$i = $a$3$lcssa$i;$d$2$lcssa$i = $576; - } - $609 = $a$5$lcssa$i; - $610 = (($482) - ($609))|0; - $611 = $610 >> 2; - $612 = ($611*9)|0; - $613 = HEAP32[$a$5$lcssa$i>>2]|0; - $614 = ($613>>>0)<(10); - if ($614) { - $a$7$i = $a$5$lcssa$i;$d$3$i = $d$2$lcssa$i;$e$3$i = $612; - break; - } else { - $e$2104$i = $612;$i$2103$i = 10; - } - while(1) { - $615 = ($i$2103$i*10)|0; - $616 = (($e$2104$i) + 1)|0; - $617 = ($613>>>0)<($615>>>0); - if ($617) { - $a$7$i = $a$5$lcssa$i;$d$3$i = $d$2$lcssa$i;$e$3$i = $616; - break; - } else { - $e$2104$i = $616;$i$2103$i = $615; - } - } - } - } while(0); - $618 = ((($d$3$i)) + 4|0); - $619 = ($z$3$lcssa$i>>>0)>($618>>>0); - $$z$3$i = $619 ? $618 : $z$3$lcssa$i; - $a$8$ph$i = $a$7$i;$e$4$ph$i = $e$3$i;$z$6$ph$i = $$z$3$i; - } else { - $a$8$ph$i = $a$3$lcssa$i;$e$4$ph$i = $e$1$i;$z$6$ph$i = $z$3$lcssa$i; - } - $620 = (0 - ($e$4$ph$i))|0; - $z$6$i = $z$6$ph$i; - while(1) { - $621 = ($z$6$i>>>0)>($a$8$ph$i>>>0); - if (!($621)) { - $$lcssa159$i = 0;$z$6$i$lcssa = $z$6$i; - break; - } - $622 = ((($z$6$i)) + -4|0); - $623 = HEAP32[$622>>2]|0; - $624 = ($623|0)==(0); - if ($624) { - $z$6$i = $622; - } else { - $$lcssa159$i = 1;$z$6$i$lcssa = $z$6$i; - break; - } - } - do { - if ($564) { - $625 = $565&1; - $626 = $625 ^ 1; - $$p$$i = (($626) + ($$p$i))|0; - $627 = ($$p$$i|0)>($e$4$ph$i|0); - $628 = ($e$4$ph$i|0)>(-5); - $or$cond6$i = $627 & $628; - if ($or$cond6$i) { - $629 = (($t$0) + -1)|0; - $$neg53$i = (($$p$$i) + -1)|0; - $630 = (($$neg53$i) - ($e$4$ph$i))|0; - $$013$i = $629;$$210$i = $630; - } else { - $631 = (($t$0) + -2)|0; - $632 = (($$p$$i) + -1)|0; - $$013$i = $631;$$210$i = $632; - } - $633 = $fl$1$ & 8; - $634 = ($633|0)==(0); - if (!($634)) { - $$114$i = $$013$i;$$311$i = $$210$i;$$pre$phi184$iZ2D = $633; - break; - } - do { - if ($$lcssa159$i) { - $635 = ((($z$6$i$lcssa)) + -4|0); - $636 = HEAP32[$635>>2]|0; - $637 = ($636|0)==(0); - if ($637) { - $j$2$i = 9; - break; - } - $638 = (($636>>>0) % 10)&-1; - $639 = ($638|0)==(0); - if ($639) { - $i$399$i = 10;$j$1100$i = 0; - } else { - $j$2$i = 0; - break; - } - while(1) { - $640 = ($i$399$i*10)|0; - $641 = (($j$1100$i) + 1)|0; - $642 = (($636>>>0) % ($640>>>0))&-1; - $643 = ($642|0)==(0); - if ($643) { - $i$399$i = $640;$j$1100$i = $641; - } else { - $j$2$i = $641; - break; - } - } - } else { - $j$2$i = 9; - } - } while(0); - $644 = $$013$i | 32; - $645 = ($644|0)==(102); - $646 = $z$6$i$lcssa; - $647 = (($646) - ($482))|0; - $648 = $647 >> 2; - $649 = ($648*9)|0; - $650 = (($649) + -9)|0; - if ($645) { - $651 = (($650) - ($j$2$i))|0; - $652 = ($651|0)<(0); - $$21$i = $652 ? 0 : $651; - $653 = ($$210$i|0)<($$21$i|0); - $$210$$22$i = $653 ? $$210$i : $$21$i; - $$114$i = $$013$i;$$311$i = $$210$$22$i;$$pre$phi184$iZ2D = 0; - break; - } else { - $654 = (($650) + ($e$4$ph$i))|0; - $655 = (($654) - ($j$2$i))|0; - $656 = ($655|0)<(0); - $$23$i = $656 ? 0 : $655; - $657 = ($$210$i|0)<($$23$i|0); - $$210$$24$i = $657 ? $$210$i : $$23$i; - $$114$i = $$013$i;$$311$i = $$210$$24$i;$$pre$phi184$iZ2D = 0; - break; - } - } else { - $$pre183$i = $fl$1$ & 8; - $$114$i = $t$0;$$311$i = $$p$i;$$pre$phi184$iZ2D = $$pre183$i; - } - } while(0); - $658 = $$311$i | $$pre$phi184$iZ2D; - $659 = ($658|0)!=(0); - $660 = $659&1; - $661 = $$114$i | 32; - $662 = ($661|0)==(102); - if ($662) { - $663 = ($e$4$ph$i|0)>(0); - $664 = $663 ? $e$4$ph$i : 0; - $$pn$i = $664;$estr$2$i = 0; - } else { - $665 = ($e$4$ph$i|0)<(0); - $666 = $665 ? $620 : $e$4$ph$i; - $667 = ($666|0)<(0); - $668 = $667 << 31 >> 31; - $669 = (_fmt_u($666,$668,$5)|0); - $670 = $669; - $671 = (($8) - ($670))|0; - $672 = ($671|0)<(2); - if ($672) { - $estr$193$i = $669; - while(1) { - $673 = ((($estr$193$i)) + -1|0); - HEAP8[$673>>0] = 48; - $674 = $673; - $675 = (($8) - ($674))|0; - $676 = ($675|0)<(2); - if ($676) { - $estr$193$i = $673; - } else { - $estr$1$lcssa$i = $673; - break; - } - } - } else { - $estr$1$lcssa$i = $669; - } - $677 = $e$4$ph$i >> 31; - $678 = $677 & 2; - $679 = (($678) + 43)|0; - $680 = $679&255; - $681 = ((($estr$1$lcssa$i)) + -1|0); - HEAP8[$681>>0] = $680; - $682 = $$114$i&255; - $683 = ((($estr$1$lcssa$i)) + -2|0); - HEAP8[$683>>0] = $682; - $684 = $683; - $685 = (($8) - ($684))|0; - $$pn$i = $685;$estr$2$i = $683; - } - $686 = (($pl$0$i) + 1)|0; - $687 = (($686) + ($$311$i))|0; - $l$1$i = (($687) + ($660))|0; - $688 = (($l$1$i) + ($$pn$i))|0; - _pad($f,32,$w$1,$688,$fl$1$); - $689 = HEAP32[$f>>2]|0; - $690 = $689 & 32; - $691 = ($690|0)==(0); - if ($691) { - (___fwritex($prefix$0$i,$pl$0$i,$f)|0); - } - $692 = $fl$1$ ^ 65536; - _pad($f,48,$w$1,$688,$692); - do { - if ($662) { - $693 = ($a$8$ph$i>>>0)>($$31$i>>>0); - $r$0$a$8$i = $693 ? $$31$i : $a$8$ph$i; - $d$482$i = $r$0$a$8$i; - while(1) { - $694 = HEAP32[$d$482$i>>2]|0; - $695 = (_fmt_u($694,0,$13)|0); - $696 = ($d$482$i|0)==($r$0$a$8$i|0); - do { - if ($696) { - $700 = ($695|0)==($13|0); - if (!($700)) { - $s7$1$i = $695; - break; - } - HEAP8[$15>>0] = 48; - $s7$1$i = $15; - } else { - $697 = ($695>>>0)>($buf$i>>>0); - if ($697) { - $s7$079$i = $695; - } else { - $s7$1$i = $695; - break; - } - while(1) { - $698 = ((($s7$079$i)) + -1|0); - HEAP8[$698>>0] = 48; - $699 = ($698>>>0)>($buf$i>>>0); - if ($699) { - $s7$079$i = $698; - } else { - $s7$1$i = $698; - break; - } - } - } - } while(0); - $701 = HEAP32[$f>>2]|0; - $702 = $701 & 32; - $703 = ($702|0)==(0); - if ($703) { - $704 = $s7$1$i; - $705 = (($14) - ($704))|0; - (___fwritex($s7$1$i,$705,$f)|0); - } - $706 = ((($d$482$i)) + 4|0); - $707 = ($706>>>0)>($$31$i>>>0); - if ($707) { - $$lcssa339 = $706; - break; - } else { - $d$482$i = $706; - } - } - $708 = ($658|0)==(0); - do { - if (!($708)) { - $709 = HEAP32[$f>>2]|0; - $710 = $709 & 32; - $711 = ($710|0)==(0); - if (!($711)) { - break; - } - (___fwritex(23353,1,$f)|0); - } - } while(0); - $712 = ($$lcssa339>>>0)<($z$6$i$lcssa>>>0); - $713 = ($$311$i|0)>(0); - $714 = $713 & $712; - if ($714) { - $$41276$i = $$311$i;$d$575$i = $$lcssa339; - while(1) { - $715 = HEAP32[$d$575$i>>2]|0; - $716 = (_fmt_u($715,0,$13)|0); - $717 = ($716>>>0)>($buf$i>>>0); - if ($717) { - $s8$070$i = $716; - while(1) { - $718 = ((($s8$070$i)) + -1|0); - HEAP8[$718>>0] = 48; - $719 = ($718>>>0)>($buf$i>>>0); - if ($719) { - $s8$070$i = $718; - } else { - $s8$0$lcssa$i = $718; - break; - } - } - } else { - $s8$0$lcssa$i = $716; - } - $720 = HEAP32[$f>>2]|0; - $721 = $720 & 32; - $722 = ($721|0)==(0); - if ($722) { - $723 = ($$41276$i|0)>(9); - $724 = $723 ? 9 : $$41276$i; - (___fwritex($s8$0$lcssa$i,$724,$f)|0); - } - $725 = ((($d$575$i)) + 4|0); - $726 = (($$41276$i) + -9)|0; - $727 = ($725>>>0)<($z$6$i$lcssa>>>0); - $728 = ($$41276$i|0)>(9); - $729 = $728 & $727; - if ($729) { - $$41276$i = $726;$d$575$i = $725; - } else { - $$412$lcssa$i = $726; - break; - } - } - } else { - $$412$lcssa$i = $$311$i; - } - $730 = (($$412$lcssa$i) + 9)|0; - _pad($f,48,$730,9,0); - } else { - $731 = ((($a$8$ph$i)) + 4|0); - $z$6$$i = $$lcssa159$i ? $z$6$i$lcssa : $731; - $732 = ($$311$i|0)>(-1); - if ($732) { - $733 = ($$pre$phi184$iZ2D|0)==(0); - $$587$i = $$311$i;$d$686$i = $a$8$ph$i; - while(1) { - $734 = HEAP32[$d$686$i>>2]|0; - $735 = (_fmt_u($734,0,$13)|0); - $736 = ($735|0)==($13|0); - if ($736) { - HEAP8[$15>>0] = 48; - $s9$0$i = $15; - } else { - $s9$0$i = $735; - } - $737 = ($d$686$i|0)==($a$8$ph$i|0); - do { - if ($737) { - $741 = ((($s9$0$i)) + 1|0); - $742 = HEAP32[$f>>2]|0; - $743 = $742 & 32; - $744 = ($743|0)==(0); - if ($744) { - (___fwritex($s9$0$i,1,$f)|0); - } - $745 = ($$587$i|0)<(1); - $or$cond29$i = $733 & $745; - if ($or$cond29$i) { - $s9$2$i = $741; - break; - } - $746 = HEAP32[$f>>2]|0; - $747 = $746 & 32; - $748 = ($747|0)==(0); - if (!($748)) { - $s9$2$i = $741; - break; - } - (___fwritex(23353,1,$f)|0); - $s9$2$i = $741; - } else { - $738 = ($s9$0$i>>>0)>($buf$i>>>0); - if ($738) { - $s9$183$i = $s9$0$i; - } else { - $s9$2$i = $s9$0$i; - break; - } - while(1) { - $739 = ((($s9$183$i)) + -1|0); - HEAP8[$739>>0] = 48; - $740 = ($739>>>0)>($buf$i>>>0); - if ($740) { - $s9$183$i = $739; - } else { - $s9$2$i = $739; - break; - } - } - } - } while(0); - $749 = $s9$2$i; - $750 = (($14) - ($749))|0; - $751 = HEAP32[$f>>2]|0; - $752 = $751 & 32; - $753 = ($752|0)==(0); - if ($753) { - $754 = ($$587$i|0)>($750|0); - $755 = $754 ? $750 : $$587$i; - (___fwritex($s9$2$i,$755,$f)|0); - } - $756 = (($$587$i) - ($750))|0; - $757 = ((($d$686$i)) + 4|0); - $758 = ($757>>>0)<($z$6$$i>>>0); - $759 = ($756|0)>(-1); - $760 = $758 & $759; - if ($760) { - $$587$i = $756;$d$686$i = $757; - } else { - $$5$lcssa$i = $756; - break; - } - } - } else { - $$5$lcssa$i = $$311$i; - } - $761 = (($$5$lcssa$i) + 18)|0; - _pad($f,48,$761,18,0); - $762 = HEAP32[$f>>2]|0; - $763 = $762 & 32; - $764 = ($763|0)==(0); - if (!($764)) { - break; - } - $765 = $estr$2$i; - $766 = (($8) - ($765))|0; - (___fwritex($estr$2$i,$766,$f)|0); - } - } while(0); - $767 = $fl$1$ ^ 8192; - _pad($f,32,$w$1,$688,$767); - $768 = ($688|0)<($w$1|0); - $w$30$i = $768 ? $w$1 : $688; - $$0$i = $w$30$i; - } else { - $376 = $t$0 & 32; - $377 = ($376|0)!=(0); - $378 = $377 ? 23337 : 23341; - $379 = ($$07$i != $$07$i) | (0.0 != 0.0); - $380 = $377 ? 23345 : 23349; - $pl$1$i = $379 ? 0 : $pl$0$i; - $s1$0$i = $379 ? $380 : $378; - $381 = (($pl$1$i) + 3)|0; - _pad($f,32,$w$1,$381,$175); - $382 = HEAP32[$f>>2]|0; - $383 = $382 & 32; - $384 = ($383|0)==(0); - if ($384) { - (___fwritex($prefix$0$i,$pl$1$i,$f)|0); - $$pre$i = HEAP32[$f>>2]|0; - $386 = $$pre$i; - } else { - $386 = $382; - } - $385 = $386 & 32; - $387 = ($385|0)==(0); - if ($387) { - (___fwritex($s1$0$i,3,$f)|0); - } - $388 = $fl$1$ ^ 8192; - _pad($f,32,$w$1,$381,$388); - $389 = ($381|0)<($w$1|0); - $390 = $389 ? $w$1 : $381; - $$0$i = $390; - } - } while(0); - $cnt$0 = $cnt$1;$fmt41 = $$lcssa323;$l$0 = $$0$i;$l10n$0 = $l10n$3; - continue L1; - break; - } - default: { - $a$2 = $fmt41;$fl$6 = $fl$1$;$p$5 = $p$0;$pl$2 = 0;$prefix$2 = 23301;$z$2 = $1; - } - } - } while(0); - L313: do { - if ((label|0) == 64) { - label = 0; - $206 = $arg; - $207 = $206; - $208 = HEAP32[$207>>2]|0; - $209 = (($206) + 4)|0; - $210 = $209; - $211 = HEAP32[$210>>2]|0; - $212 = $t$1 & 32; - $213 = ($208|0)==(0); - $214 = ($211|0)==(0); - $215 = $213 & $214; - if ($215) { - $a$0 = $1;$fl$4 = $fl$3;$p$2 = $p$1;$pl$1 = 0;$prefix$1 = 23301; - label = 77; - } else { - $$012$i = $1;$217 = $208;$224 = $211; - while(1) { - $216 = $217 & 15; - $218 = (23285 + ($216)|0); - $219 = HEAP8[$218>>0]|0; - $220 = $219&255; - $221 = $220 | $212; - $222 = $221&255; - $223 = ((($$012$i)) + -1|0); - HEAP8[$223>>0] = $222; - $225 = (_bitshift64Lshr(($217|0),($224|0),4)|0); - $226 = tempRet0; - $227 = ($225|0)==(0); - $228 = ($226|0)==(0); - $229 = $227 & $228; - if ($229) { - $$lcssa344 = $223; - break; - } else { - $$012$i = $223;$217 = $225;$224 = $226; - } - } - $230 = $arg; - $231 = $230; - $232 = HEAP32[$231>>2]|0; - $233 = (($230) + 4)|0; - $234 = $233; - $235 = HEAP32[$234>>2]|0; - $236 = ($232|0)==(0); - $237 = ($235|0)==(0); - $238 = $236 & $237; - $239 = $fl$3 & 8; - $240 = ($239|0)==(0); - $or$cond17 = $240 | $238; - if ($or$cond17) { - $a$0 = $$lcssa344;$fl$4 = $fl$3;$p$2 = $p$1;$pl$1 = 0;$prefix$1 = 23301; - label = 77; - } else { - $241 = $t$1 >> 4; - $242 = (23301 + ($241)|0); - $a$0 = $$lcssa344;$fl$4 = $fl$3;$p$2 = $p$1;$pl$1 = 2;$prefix$1 = $242; - label = 77; - } - } - } - else if ((label|0) == 76) { - label = 0; - $288 = (_fmt_u($286,$287,$1)|0); - $a$0 = $288;$fl$4 = $fl$1$;$p$2 = $p$0;$pl$1 = $pl$0;$prefix$1 = $prefix$0; - label = 77; - } - else if ((label|0) == 82) { - label = 0; - $320 = (_memchr($a$1,0,$p$0)|0); - $321 = ($320|0)==(0|0); - $322 = $320; - $323 = $a$1; - $324 = (($322) - ($323))|0; - $325 = (($a$1) + ($p$0)|0); - $z$1 = $321 ? $325 : $320; - $p$3 = $321 ? $p$0 : $324; - $a$2 = $a$1;$fl$6 = $175;$p$5 = $p$3;$pl$2 = 0;$prefix$2 = 23301;$z$2 = $z$1; - } - else if ((label|0) == 86) { - label = 0; - $333 = HEAP32[$arg>>2]|0; - $i$0114 = 0;$l$1113 = 0;$ws$0115 = $333; - while(1) { - $334 = HEAP32[$ws$0115>>2]|0; - $335 = ($334|0)==(0); - if ($335) { - $i$0$lcssa = $i$0114;$l$2 = $l$1113; - break; - } - $336 = (_wctomb($mb,$334)|0); - $337 = ($336|0)<(0); - $338 = (($p$4198) - ($i$0114))|0; - $339 = ($336>>>0)>($338>>>0); - $or$cond20 = $337 | $339; - if ($or$cond20) { - $i$0$lcssa = $i$0114;$l$2 = $336; - break; - } - $340 = ((($ws$0115)) + 4|0); - $341 = (($336) + ($i$0114))|0; - $342 = ($p$4198>>>0)>($341>>>0); - if ($342) { - $i$0114 = $341;$l$1113 = $336;$ws$0115 = $340; - } else { - $i$0$lcssa = $341;$l$2 = $336; - break; - } - } - $343 = ($l$2|0)<(0); - if ($343) { - $$0 = -1; - break L1; - } - _pad($f,32,$w$1,$i$0$lcssa,$fl$1$); - $344 = ($i$0$lcssa|0)==(0); - if ($344) { - $i$0$lcssa200 = 0; - label = 98; - } else { - $345 = HEAP32[$arg>>2]|0; - $i$1125 = 0;$ws$1126 = $345; - while(1) { - $346 = HEAP32[$ws$1126>>2]|0; - $347 = ($346|0)==(0); - if ($347) { - $i$0$lcssa200 = $i$0$lcssa; - label = 98; - break L313; - } - $348 = ((($ws$1126)) + 4|0); - $349 = (_wctomb($mb,$346)|0); - $350 = (($349) + ($i$1125))|0; - $351 = ($350|0)>($i$0$lcssa|0); - if ($351) { - $i$0$lcssa200 = $i$0$lcssa; - label = 98; - break L313; - } - $352 = HEAP32[$f>>2]|0; - $353 = $352 & 32; - $354 = ($353|0)==(0); - if ($354) { - (___fwritex($mb,$349,$f)|0); - } - $355 = ($350>>>0)<($i$0$lcssa>>>0); - if ($355) { - $i$1125 = $350;$ws$1126 = $348; - } else { - $i$0$lcssa200 = $i$0$lcssa; - label = 98; - break; - } - } - } - } - } while(0); - if ((label|0) == 98) { - label = 0; - $356 = $fl$1$ ^ 8192; - _pad($f,32,$w$1,$i$0$lcssa200,$356); - $357 = ($w$1|0)>($i$0$lcssa200|0); - $358 = $357 ? $w$1 : $i$0$lcssa200; - $cnt$0 = $cnt$1;$fmt41 = $$lcssa323;$l$0 = $358;$l10n$0 = $l10n$3; - continue; - } - if ((label|0) == 77) { - label = 0; - $289 = ($p$2|0)>(-1); - $290 = $fl$4 & -65537; - $$fl$4 = $289 ? $290 : $fl$4; - $291 = $arg; - $292 = $291; - $293 = HEAP32[$292>>2]|0; - $294 = (($291) + 4)|0; - $295 = $294; - $296 = HEAP32[$295>>2]|0; - $297 = ($293|0)!=(0); - $298 = ($296|0)!=(0); - $299 = $297 | $298; - $300 = ($p$2|0)!=(0); - $or$cond = $300 | $299; - if ($or$cond) { - $301 = $a$0; - $302 = (($2) - ($301))|0; - $303 = $299&1; - $304 = $303 ^ 1; - $305 = (($304) + ($302))|0; - $306 = ($p$2|0)>($305|0); - $p$2$ = $306 ? $p$2 : $305; - $a$2 = $a$0;$fl$6 = $$fl$4;$p$5 = $p$2$;$pl$2 = $pl$1;$prefix$2 = $prefix$1;$z$2 = $1; - } else { - $a$2 = $1;$fl$6 = $$fl$4;$p$5 = 0;$pl$2 = $pl$1;$prefix$2 = $prefix$1;$z$2 = $1; - } - } - $769 = $z$2; - $770 = $a$2; - $771 = (($769) - ($770))|0; - $772 = ($p$5|0)<($771|0); - $$p$5 = $772 ? $771 : $p$5; - $773 = (($pl$2) + ($$p$5))|0; - $774 = ($w$1|0)<($773|0); - $w$2 = $774 ? $773 : $w$1; - _pad($f,32,$w$2,$773,$fl$6); - $775 = HEAP32[$f>>2]|0; - $776 = $775 & 32; - $777 = ($776|0)==(0); - if ($777) { - (___fwritex($prefix$2,$pl$2,$f)|0); - } - $778 = $fl$6 ^ 65536; - _pad($f,48,$w$2,$773,$778); - _pad($f,48,$$p$5,$771,0); - $779 = HEAP32[$f>>2]|0; - $780 = $779 & 32; - $781 = ($780|0)==(0); - if ($781) { - (___fwritex($a$2,$771,$f)|0); - } - $782 = $fl$6 ^ 8192; - _pad($f,32,$w$2,$773,$782); - $cnt$0 = $cnt$1;$fmt41 = $$lcssa323;$l$0 = $w$2;$l10n$0 = $l10n$3; - } - L348: do { - if ((label|0) == 245) { - $783 = ($f|0)==(0|0); - if ($783) { - $784 = ($l10n$0$lcssa|0)==(0); - if ($784) { - $$0 = 0; - } else { - $i$2100 = 1; - while(1) { - $785 = (($nl_type) + ($i$2100<<2)|0); - $786 = HEAP32[$785>>2]|0; - $787 = ($786|0)==(0); - if ($787) { - $i$2100$lcssa = $i$2100; - break; - } - $789 = (($nl_arg) + ($i$2100<<3)|0); - _pop_arg($789,$786,$ap); - $790 = (($i$2100) + 1)|0; - $791 = ($790|0)<(10); - if ($791) { - $i$2100 = $790; - } else { - $$0 = 1; - break L348; - } - } - $788 = ($i$2100$lcssa|0)<(10); - if ($788) { - $i$398 = $i$2100$lcssa; - while(1) { - $794 = (($nl_type) + ($i$398<<2)|0); - $795 = HEAP32[$794>>2]|0; - $796 = ($795|0)==(0); - $792 = (($i$398) + 1)|0; - if (!($796)) { - $$0 = -1; - break L348; - } - $793 = ($792|0)<(10); - if ($793) { - $i$398 = $792; - } else { - $$0 = 1; - break; - } - } - } else { - $$0 = 1; - } - } - } else { - $$0 = $cnt$1$lcssa; - } - } - } while(0); - STACKTOP = sp;return ($$0|0); -} -function _cleanup521($p) { - $p = $p|0; - var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($p)) + 68|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)==(0); - if ($2) { - ___unlockfile($p); - } - return; -} -function _cleanup526($p) { - $p = $p|0; - var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($p)) + 68|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)==(0); - if ($2) { - ___unlockfile($p); - } - return; -} -function _sift($head,$width,$cmp,$pshift,$lp) { - $head = $head|0; - $width = $width|0; - $cmp = $cmp|0; - $pshift = $pshift|0; - $lp = $lp|0; - var $$0$be = 0, $$01$be = 0, $$012 = 0, $$03 = 0, $$pre = 0, $$sum = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0; - var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $ar = 0, $i$0$lcssa = 0, $i$04 = 0, $sum = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 240|0; - $ar = sp; - HEAP32[$ar>>2] = $head; - $0 = ($pshift|0)>(1); - L1: do { - if ($0) { - $1 = (0 - ($width))|0; - $$012 = $pshift;$$03 = $head;$7 = $head;$i$04 = 1; - while(1) { - $2 = (($$03) + ($1)|0); - $3 = (($$012) + -2)|0; - $4 = (($lp) + ($3<<2)|0); - $5 = HEAP32[$4>>2]|0; - $sum = (($5) + ($width))|0; - $$sum = (0 - ($sum))|0; - $6 = (($$03) + ($$sum)|0); - $8 = (FUNCTION_TABLE_iii[$cmp & 7]($7,$6)|0); - $9 = ($8|0)>(-1); - if ($9) { - $10 = (FUNCTION_TABLE_iii[$cmp & 7]($7,$2)|0); - $11 = ($10|0)>(-1); - if ($11) { - $i$0$lcssa = $i$04; - break L1; - } - } - $12 = (FUNCTION_TABLE_iii[$cmp & 7]($6,$2)|0); - $13 = ($12|0)>(-1); - $14 = (($i$04) + 1)|0; - $15 = (($ar) + ($i$04<<2)|0); - if ($13) { - HEAP32[$15>>2] = $6; - $16 = (($$012) + -1)|0; - $$0$be = $6;$$01$be = $16; - } else { - HEAP32[$15>>2] = $2; - $$0$be = $2;$$01$be = $3; - } - $17 = ($$01$be|0)>(1); - if (!($17)) { - $i$0$lcssa = $14; - break L1; - } - $$pre = HEAP32[$ar>>2]|0; - $$012 = $$01$be;$$03 = $$0$be;$7 = $$pre;$i$04 = $14; - } - } else { - $i$0$lcssa = 1; - } - } while(0); - _cycle($width,$ar,$i$0$lcssa); - STACKTOP = sp;return; -} -function _trinkle($head,$width,$cmp,$pp,$pshift,$trusty,$lp) { - $head = $head|0; - $width = $width|0; - $cmp = $cmp|0; - $pp = $pp|0; - $pshift = $pshift|0; - $trusty = $trusty|0; - $lp = $lp|0; - var $$0$i = 0, $$0$lcssa = 0, $$0$lcssa49 = 0, $$01162 = 0, $$01162$phi = 0, $$02$i$i = 0, $$02$i3$i = 0, $$02$lcssa = 0, $$02$lcssa51 = 0, $$02964 = 0, $$03$lcssa = 0, $$03865 = 0, $$lcssa = 0, $$lcssa75 = 0, $$pre = 0, $$sum = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0; - var $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0; - var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0; - var $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0; - var $67 = 0, $68 = 0, $7 = 0, $8 = 0, $9 = 0, $ar = 0, $i$0$lcssa = 0, $i$0$lcssa50 = 0, $i$01063 = 0, $nTrailingZeros$03$i$i = 0, $nTrailingZeros$03$i2$i = 0, $nTrailingZeros$03$i2$i$lcssa = 0, $or$cond = 0, $phitmp = 0, $sum = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 240|0; - $ar = sp; - $0 = HEAP32[$pp>>2]|0; - $1 = ((($pp)) + 4|0); - $2 = HEAP32[$1>>2]|0; - HEAP32[$ar>>2] = $head; - $3 = (0 - ($width))|0; - $4 = ($0|0)!=(1); - $5 = ($2|0)!=(0); - $6 = $5 | $4; - L1: do { - if ($6) { - $7 = (($lp) + ($pshift<<2)|0); - $8 = HEAP32[$7>>2]|0; - $9 = (0 - ($8))|0; - $10 = (($head) + ($9)|0); - $11 = (FUNCTION_TABLE_iii[$cmp & 7]($10,$head)|0); - $12 = ($11|0)<(1); - if ($12) { - $$0$lcssa = $head;$$02$lcssa = $pshift;$$03$lcssa = $trusty;$i$0$lcssa = 1; - label = 19; - } else { - $phitmp = ($trusty|0)==(0); - $$01162 = $head;$$02964 = $pshift;$$03865 = $phitmp;$18 = $10;$27 = $0;$36 = $2;$i$01063 = 1; - while(1) { - $13 = ($$02964|0)>(1); - $or$cond = $$03865 & $13; - if ($or$cond) { - $14 = (($$01162) + ($3)|0); - $15 = (($$02964) + -2)|0; - $16 = (($lp) + ($15<<2)|0); - $17 = HEAP32[$16>>2]|0; - $19 = (FUNCTION_TABLE_iii[$cmp & 7]($14,$18)|0); - $20 = ($19|0)>(-1); - if ($20) { - $$0$lcssa49 = $$01162;$$02$lcssa51 = $$02964;$i$0$lcssa50 = $i$01063; - label = 20; - break L1; - } - $sum = (($17) + ($width))|0; - $$sum = (0 - ($sum))|0; - $21 = (($$01162) + ($$sum)|0); - $22 = (FUNCTION_TABLE_iii[$cmp & 7]($21,$18)|0); - $23 = ($22|0)>(-1); - if ($23) { - $$0$lcssa49 = $$01162;$$02$lcssa51 = $$02964;$i$0$lcssa50 = $i$01063; - label = 20; - break L1; - } - } - $24 = (($i$01063) + 1)|0; - $25 = (($ar) + ($i$01063<<2)|0); - HEAP32[$25>>2] = $18; - $26 = (($27) + -1)|0; - $28 = ($26|0)==(0); - do { - if ($28) { - $49 = 32; - label = 16; - } else { - $29 = $26 & 1; - $30 = ($29|0)==(0); - if ($30) { - $$02$i$i = $26;$nTrailingZeros$03$i$i = 0; - while(1) { - $31 = (($nTrailingZeros$03$i$i) + 1)|0; - $32 = $$02$i$i >>> 1; - $33 = $32 & 1; - $34 = ($33|0)==(0); - if ($34) { - $$02$i$i = $32;$nTrailingZeros$03$i$i = $31; - } else { - $$lcssa = $31; - break; - } - } - $35 = ($$lcssa|0)==(0); - if ($35) { - label = 11; - } else { - $46 = $$lcssa; - } - } else { - label = 11; - } - if ((label|0) == 11) { - label = 0; - $37 = ($36|0)==(0); - if ($37) { - $49 = 64; - label = 16; - break; - } - $38 = $36 & 1; - $39 = ($38|0)==(0); - if ($39) { - $$02$i3$i = $36;$nTrailingZeros$03$i2$i = 0; - } else { - $$0$i = 0;$51 = $27;$54 = $36;$58 = 0; - break; - } - while(1) { - $40 = (($nTrailingZeros$03$i2$i) + 1)|0; - $41 = $$02$i3$i >>> 1; - $42 = $41 & 1; - $43 = ($42|0)==(0); - if ($43) { - $$02$i3$i = $41;$nTrailingZeros$03$i2$i = $40; - } else { - $$lcssa75 = $40;$nTrailingZeros$03$i2$i$lcssa = $nTrailingZeros$03$i2$i; - break; - } - } - $44 = (($nTrailingZeros$03$i2$i$lcssa) + 33)|0; - $45 = ($$lcssa75|0)==(0); - if ($45) { - $$0$i = 0;$51 = $27;$54 = $36;$58 = 0; - break; - } else { - $46 = $44; - } - } - $47 = ($46>>>0)>(31); - if ($47) { - $49 = $46; - label = 16; - } else { - $$0$i = $46;$51 = $27;$54 = $36;$58 = $46; - } - } - } while(0); - if ((label|0) == 16) { - label = 0; - $48 = (($49) + -32)|0; - $$0$i = $48;$51 = $36;$54 = 0;$58 = $49; - } - $50 = $51 >>> $$0$i; - $52 = (32 - ($$0$i))|0; - $53 = $54 << $52; - $55 = $53 | $50; - $56 = $54 >>> $$0$i; - $57 = (($58) + ($$02964))|0; - $59 = ($55|0)!=(1); - $60 = ($56|0)!=(0); - $61 = $60 | $59; - if (!($61)) { - $$0$lcssa49 = $18;$$02$lcssa51 = $57;$i$0$lcssa50 = $24; - label = 20; - break L1; - } - $$pre = HEAP32[$ar>>2]|0; - $62 = (($lp) + ($57<<2)|0); - $63 = HEAP32[$62>>2]|0; - $64 = (0 - ($63))|0; - $65 = (($18) + ($64)|0); - $66 = (FUNCTION_TABLE_iii[$cmp & 7]($65,$$pre)|0); - $67 = ($66|0)<(1); - if ($67) { - $$0$lcssa = $18;$$02$lcssa = $57;$$03$lcssa = 0;$i$0$lcssa = $24; - label = 19; - break; - } else { - $$01162$phi = $18;$$02964 = $57;$$03865 = 1;$18 = $65;$27 = $55;$36 = $56;$i$01063 = $24;$$01162 = $$01162$phi; - } - } - } - } else { - $$0$lcssa = $head;$$02$lcssa = $pshift;$$03$lcssa = $trusty;$i$0$lcssa = 1; - label = 19; - } - } while(0); - if ((label|0) == 19) { - $68 = ($$03$lcssa|0)==(0); - if ($68) { - $$0$lcssa49 = $$0$lcssa;$$02$lcssa51 = $$02$lcssa;$i$0$lcssa50 = $i$0$lcssa; - label = 20; - } - } - if ((label|0) == 20) { - _cycle($width,$ar,$i$0$lcssa50); - _sift($$0$lcssa49,$width,$cmp,$$02$lcssa51,$lp); - } - STACKTOP = sp;return; -} -function _cycle($width,$ar,$n) { - $width = $width|0; - $ar = $ar|0; - $n = $n|0; - var $$02 = 0, $$pre = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $i$01 = 0; - var $tmp = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 256|0; - $tmp = sp; - $0 = ($n|0)<(2); - L1: do { - if (!($0)) { - $1 = (($ar) + ($n<<2)|0); - HEAP32[$1>>2] = $tmp; - $2 = ($width|0)==(0); - if (!($2)) { - $$02 = $width;$6 = $tmp; - while(1) { - $3 = ($$02>>>0)>(256); - $4 = $3 ? 256 : $$02; - $5 = HEAP32[$ar>>2]|0; - _memcpy(($6|0),($5|0),($4|0))|0; - $i$01 = 0; - while(1) { - $7 = (($ar) + ($i$01<<2)|0); - $8 = HEAP32[$7>>2]|0; - $9 = (($i$01) + 1)|0; - $10 = (($ar) + ($9<<2)|0); - $11 = HEAP32[$10>>2]|0; - _memcpy(($8|0),($11|0),($4|0))|0; - $12 = HEAP32[$7>>2]|0; - $13 = (($12) + ($4)|0); - HEAP32[$7>>2] = $13; - $exitcond = ($9|0)==($n|0); - if ($exitcond) { - break; - } else { - $i$01 = $9; - } - } - $14 = ($$02|0)==($4|0); - if ($14) { - break L1; - } - $15 = (($$02) - ($4))|0; - $$pre = HEAP32[$1>>2]|0; - $$02 = $15;$6 = $$pre; - } - } - } - } while(0); - STACKTOP = sp;return; -} -function _sn_write($f,$s,$l) { - $f = $f|0; - $s = $s|0; - $l = $l|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $l$ = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($f)) + 16|0); - $1 = HEAP32[$0>>2]|0; - $2 = ((($f)) + 20|0); - $3 = HEAP32[$2>>2]|0; - $4 = $1; - $5 = $3; - $6 = (($4) - ($5))|0; - $7 = ($6>>>0)>($l>>>0); - $l$ = $7 ? $l : $6; - _memcpy(($3|0),($s|0),($l$|0))|0; - $8 = HEAP32[$2>>2]|0; - $9 = (($8) + ($l$)|0); - HEAP32[$2>>2] = $9; - return ($l|0); -} -function _pop_arg($arg,$type,$ap) { - $arg = $arg|0; - $type = $type|0; - $ap = $ap|0; - var $$mask = 0, $$mask1 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0.0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0.0; - var $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0; - var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0; - var $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0; - var $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0; - var $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $arglist_current = 0, $arglist_current11 = 0, $arglist_current14 = 0, $arglist_current17 = 0; - var $arglist_current2 = 0, $arglist_current20 = 0, $arglist_current23 = 0, $arglist_current26 = 0, $arglist_current5 = 0, $arglist_current8 = 0, $arglist_next = 0, $arglist_next12 = 0, $arglist_next15 = 0, $arglist_next18 = 0, $arglist_next21 = 0, $arglist_next24 = 0, $arglist_next27 = 0, $arglist_next3 = 0, $arglist_next6 = 0, $arglist_next9 = 0, $expanded = 0, $expanded28 = 0, $expanded30 = 0, $expanded31 = 0; - var $expanded32 = 0, $expanded34 = 0, $expanded35 = 0, $expanded37 = 0, $expanded38 = 0, $expanded39 = 0, $expanded41 = 0, $expanded42 = 0, $expanded44 = 0, $expanded45 = 0, $expanded46 = 0, $expanded48 = 0, $expanded49 = 0, $expanded51 = 0, $expanded52 = 0, $expanded53 = 0, $expanded55 = 0, $expanded56 = 0, $expanded58 = 0, $expanded59 = 0; - var $expanded60 = 0, $expanded62 = 0, $expanded63 = 0, $expanded65 = 0, $expanded66 = 0, $expanded67 = 0, $expanded69 = 0, $expanded70 = 0, $expanded72 = 0, $expanded73 = 0, $expanded74 = 0, $expanded76 = 0, $expanded77 = 0, $expanded79 = 0, $expanded80 = 0, $expanded81 = 0, $expanded83 = 0, $expanded84 = 0, $expanded86 = 0, $expanded87 = 0; - var $expanded88 = 0, $expanded90 = 0, $expanded91 = 0, $expanded93 = 0, $expanded94 = 0, $expanded95 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ($type>>>0)>(20); - L1: do { - if (!($0)) { - do { - switch ($type|0) { - case 9: { - $arglist_current = HEAP32[$ap>>2]|0; - $1 = $arglist_current; - $2 = ((0) + 4|0); - $expanded28 = $2; - $expanded = (($expanded28) - 1)|0; - $3 = (($1) + ($expanded))|0; - $4 = ((0) + 4|0); - $expanded32 = $4; - $expanded31 = (($expanded32) - 1)|0; - $expanded30 = $expanded31 ^ -1; - $5 = $3 & $expanded30; - $6 = $5; - $7 = HEAP32[$6>>2]|0; - $arglist_next = ((($6)) + 4|0); - HEAP32[$ap>>2] = $arglist_next; - HEAP32[$arg>>2] = $7; - break L1; - break; - } - case 10: { - $arglist_current2 = HEAP32[$ap>>2]|0; - $8 = $arglist_current2; - $9 = ((0) + 4|0); - $expanded35 = $9; - $expanded34 = (($expanded35) - 1)|0; - $10 = (($8) + ($expanded34))|0; - $11 = ((0) + 4|0); - $expanded39 = $11; - $expanded38 = (($expanded39) - 1)|0; - $expanded37 = $expanded38 ^ -1; - $12 = $10 & $expanded37; - $13 = $12; - $14 = HEAP32[$13>>2]|0; - $arglist_next3 = ((($13)) + 4|0); - HEAP32[$ap>>2] = $arglist_next3; - $15 = ($14|0)<(0); - $16 = $15 << 31 >> 31; - $17 = $arg; - $18 = $17; - HEAP32[$18>>2] = $14; - $19 = (($17) + 4)|0; - $20 = $19; - HEAP32[$20>>2] = $16; - break L1; - break; - } - case 11: { - $arglist_current5 = HEAP32[$ap>>2]|0; - $21 = $arglist_current5; - $22 = ((0) + 4|0); - $expanded42 = $22; - $expanded41 = (($expanded42) - 1)|0; - $23 = (($21) + ($expanded41))|0; - $24 = ((0) + 4|0); - $expanded46 = $24; - $expanded45 = (($expanded46) - 1)|0; - $expanded44 = $expanded45 ^ -1; - $25 = $23 & $expanded44; - $26 = $25; - $27 = HEAP32[$26>>2]|0; - $arglist_next6 = ((($26)) + 4|0); - HEAP32[$ap>>2] = $arglist_next6; - $28 = $arg; - $29 = $28; - HEAP32[$29>>2] = $27; - $30 = (($28) + 4)|0; - $31 = $30; - HEAP32[$31>>2] = 0; - break L1; - break; - } - case 12: { - $arglist_current8 = HEAP32[$ap>>2]|0; - $32 = $arglist_current8; - $33 = ((0) + 8|0); - $expanded49 = $33; - $expanded48 = (($expanded49) - 1)|0; - $34 = (($32) + ($expanded48))|0; - $35 = ((0) + 8|0); - $expanded53 = $35; - $expanded52 = (($expanded53) - 1)|0; - $expanded51 = $expanded52 ^ -1; - $36 = $34 & $expanded51; - $37 = $36; - $38 = $37; - $39 = $38; - $40 = HEAP32[$39>>2]|0; - $41 = (($38) + 4)|0; - $42 = $41; - $43 = HEAP32[$42>>2]|0; - $arglist_next9 = ((($37)) + 8|0); - HEAP32[$ap>>2] = $arglist_next9; - $44 = $arg; - $45 = $44; - HEAP32[$45>>2] = $40; - $46 = (($44) + 4)|0; - $47 = $46; - HEAP32[$47>>2] = $43; - break L1; - break; - } - case 13: { - $arglist_current11 = HEAP32[$ap>>2]|0; - $48 = $arglist_current11; - $49 = ((0) + 4|0); - $expanded56 = $49; - $expanded55 = (($expanded56) - 1)|0; - $50 = (($48) + ($expanded55))|0; - $51 = ((0) + 4|0); - $expanded60 = $51; - $expanded59 = (($expanded60) - 1)|0; - $expanded58 = $expanded59 ^ -1; - $52 = $50 & $expanded58; - $53 = $52; - $54 = HEAP32[$53>>2]|0; - $arglist_next12 = ((($53)) + 4|0); - HEAP32[$ap>>2] = $arglist_next12; - $55 = $54&65535; - $56 = $55 << 16 >> 16; - $57 = ($56|0)<(0); - $58 = $57 << 31 >> 31; - $59 = $arg; - $60 = $59; - HEAP32[$60>>2] = $56; - $61 = (($59) + 4)|0; - $62 = $61; - HEAP32[$62>>2] = $58; - break L1; - break; - } - case 14: { - $arglist_current14 = HEAP32[$ap>>2]|0; - $63 = $arglist_current14; - $64 = ((0) + 4|0); - $expanded63 = $64; - $expanded62 = (($expanded63) - 1)|0; - $65 = (($63) + ($expanded62))|0; - $66 = ((0) + 4|0); - $expanded67 = $66; - $expanded66 = (($expanded67) - 1)|0; - $expanded65 = $expanded66 ^ -1; - $67 = $65 & $expanded65; - $68 = $67; - $69 = HEAP32[$68>>2]|0; - $arglist_next15 = ((($68)) + 4|0); - HEAP32[$ap>>2] = $arglist_next15; - $$mask1 = $69 & 65535; - $70 = $arg; - $71 = $70; - HEAP32[$71>>2] = $$mask1; - $72 = (($70) + 4)|0; - $73 = $72; - HEAP32[$73>>2] = 0; - break L1; - break; - } - case 15: { - $arglist_current17 = HEAP32[$ap>>2]|0; - $74 = $arglist_current17; - $75 = ((0) + 4|0); - $expanded70 = $75; - $expanded69 = (($expanded70) - 1)|0; - $76 = (($74) + ($expanded69))|0; - $77 = ((0) + 4|0); - $expanded74 = $77; - $expanded73 = (($expanded74) - 1)|0; - $expanded72 = $expanded73 ^ -1; - $78 = $76 & $expanded72; - $79 = $78; - $80 = HEAP32[$79>>2]|0; - $arglist_next18 = ((($79)) + 4|0); - HEAP32[$ap>>2] = $arglist_next18; - $81 = $80&255; - $82 = $81 << 24 >> 24; - $83 = ($82|0)<(0); - $84 = $83 << 31 >> 31; - $85 = $arg; - $86 = $85; - HEAP32[$86>>2] = $82; - $87 = (($85) + 4)|0; - $88 = $87; - HEAP32[$88>>2] = $84; - break L1; - break; - } - case 16: { - $arglist_current20 = HEAP32[$ap>>2]|0; - $89 = $arglist_current20; - $90 = ((0) + 4|0); - $expanded77 = $90; - $expanded76 = (($expanded77) - 1)|0; - $91 = (($89) + ($expanded76))|0; - $92 = ((0) + 4|0); - $expanded81 = $92; - $expanded80 = (($expanded81) - 1)|0; - $expanded79 = $expanded80 ^ -1; - $93 = $91 & $expanded79; - $94 = $93; - $95 = HEAP32[$94>>2]|0; - $arglist_next21 = ((($94)) + 4|0); - HEAP32[$ap>>2] = $arglist_next21; - $$mask = $95 & 255; - $96 = $arg; - $97 = $96; - HEAP32[$97>>2] = $$mask; - $98 = (($96) + 4)|0; - $99 = $98; - HEAP32[$99>>2] = 0; - break L1; - break; - } - case 17: { - $arglist_current23 = HEAP32[$ap>>2]|0; - $100 = $arglist_current23; - $101 = ((0) + 8|0); - $expanded84 = $101; - $expanded83 = (($expanded84) - 1)|0; - $102 = (($100) + ($expanded83))|0; - $103 = ((0) + 8|0); - $expanded88 = $103; - $expanded87 = (($expanded88) - 1)|0; - $expanded86 = $expanded87 ^ -1; - $104 = $102 & $expanded86; - $105 = $104; - $106 = +HEAPF64[$105>>3]; - $arglist_next24 = ((($105)) + 8|0); - HEAP32[$ap>>2] = $arglist_next24; - HEAPF64[$arg>>3] = $106; - break L1; - break; - } - case 18: { - $arglist_current26 = HEAP32[$ap>>2]|0; - $107 = $arglist_current26; - $108 = ((0) + 8|0); - $expanded91 = $108; - $expanded90 = (($expanded91) - 1)|0; - $109 = (($107) + ($expanded90))|0; - $110 = ((0) + 8|0); - $expanded95 = $110; - $expanded94 = (($expanded95) - 1)|0; - $expanded93 = $expanded94 ^ -1; - $111 = $109 & $expanded93; - $112 = $111; - $113 = +HEAPF64[$112>>3]; - $arglist_next27 = ((($112)) + 8|0); - HEAP32[$ap>>2] = $arglist_next27; - HEAPF64[$arg>>3] = $113; - break L1; - break; - } - default: { - break L1; - } - } - } while(0); - } - } while(0); - return; -} -function _fmt_u($0,$1,$s) { - $0 = $0|0; - $1 = $1|0; - $s = $s|0; - var $$0$lcssa = 0, $$01$lcssa$off0 = 0, $$05 = 0, $$1$lcssa = 0, $$12 = 0, $$lcssa20 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0; - var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $y$03 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ($1>>>0)>(0); - $3 = ($0>>>0)>(4294967295); - $4 = ($1|0)==(0); - $5 = $4 & $3; - $6 = $2 | $5; - if ($6) { - $$05 = $s;$7 = $0;$8 = $1; - while(1) { - $9 = (___uremdi3(($7|0),($8|0),10,0)|0); - $10 = tempRet0; - $11 = $9 | 48; - $12 = $11&255; - $13 = ((($$05)) + -1|0); - HEAP8[$13>>0] = $12; - $14 = (___udivdi3(($7|0),($8|0),10,0)|0); - $15 = tempRet0; - $16 = ($8>>>0)>(9); - $17 = ($7>>>0)>(4294967295); - $18 = ($8|0)==(9); - $19 = $18 & $17; - $20 = $16 | $19; - if ($20) { - $$05 = $13;$7 = $14;$8 = $15; - } else { - $$lcssa20 = $13;$28 = $14;$29 = $15; - break; - } - } - $$0$lcssa = $$lcssa20;$$01$lcssa$off0 = $28; - } else { - $$0$lcssa = $s;$$01$lcssa$off0 = $0; - } - $21 = ($$01$lcssa$off0|0)==(0); - if ($21) { - $$1$lcssa = $$0$lcssa; - } else { - $$12 = $$0$lcssa;$y$03 = $$01$lcssa$off0; - while(1) { - $22 = (($y$03>>>0) % 10)&-1; - $23 = $22 | 48; - $24 = $23&255; - $25 = ((($$12)) + -1|0); - HEAP8[$25>>0] = $24; - $26 = (($y$03>>>0) / 10)&-1; - $27 = ($y$03>>>0)<(10); - if ($27) { - $$1$lcssa = $25; - break; - } else { - $$12 = $25;$y$03 = $26; - } - } - } - return ($$1$lcssa|0); -} -function _pad($f,$c,$w,$l,$fl) { - $f = $f|0; - $c = $c|0; - $w = $w|0; - $l = $l|0; - $fl = $fl|0; - var $$0$lcssa6 = 0, $$02 = 0, $$pre = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; - var $8 = 0, $9 = 0, $or$cond = 0, $pad = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 256|0; - $pad = sp; - $0 = $fl & 73728; - $1 = ($0|0)==(0); - $2 = ($w|0)>($l|0); - $or$cond = $2 & $1; - do { - if ($or$cond) { - $3 = (($w) - ($l))|0; - $4 = ($3>>>0)>(256); - $5 = $4 ? 256 : $3; - _memset(($pad|0),($c|0),($5|0))|0; - $6 = ($3>>>0)>(255); - $7 = HEAP32[$f>>2]|0; - $8 = $7 & 32; - $9 = ($8|0)==(0); - if ($6) { - $10 = (($w) - ($l))|0; - $$02 = $3;$17 = $7;$18 = $9; - while(1) { - if ($18) { - (___fwritex($pad,256,$f)|0); - $$pre = HEAP32[$f>>2]|0; - $14 = $$pre; - } else { - $14 = $17; - } - $11 = (($$02) + -256)|0; - $12 = ($11>>>0)>(255); - $13 = $14 & 32; - $15 = ($13|0)==(0); - if ($12) { - $$02 = $11;$17 = $14;$18 = $15; - } else { - break; - } - } - $16 = $10 & 255; - if ($15) { - $$0$lcssa6 = $16; - } else { - break; - } - } else { - if ($9) { - $$0$lcssa6 = $3; - } else { - break; - } - } - (___fwritex($pad,$$0$lcssa6,$f)|0); - } - } while(0); - STACKTOP = sp;return; -} -function _malloc($bytes) { - $bytes = $bytes|0; - var $$3$i = 0, $$lcssa = 0, $$lcssa211 = 0, $$lcssa215 = 0, $$lcssa216 = 0, $$lcssa217 = 0, $$lcssa219 = 0, $$lcssa222 = 0, $$lcssa224 = 0, $$lcssa226 = 0, $$lcssa228 = 0, $$lcssa230 = 0, $$lcssa232 = 0, $$pre = 0, $$pre$i = 0, $$pre$i$i = 0, $$pre$i22$i = 0, $$pre$i25 = 0, $$pre$phi$i$iZ2D = 0, $$pre$phi$i23$iZ2D = 0; - var $$pre$phi$i26Z2D = 0, $$pre$phi$iZ2D = 0, $$pre$phi58$i$iZ2D = 0, $$pre$phiZ2D = 0, $$pre105 = 0, $$pre106 = 0, $$pre14$i$i = 0, $$pre43$i = 0, $$pre56$i$i = 0, $$pre57$i$i = 0, $$pre8$i = 0, $$rsize$0$i = 0, $$rsize$3$i = 0, $$sum = 0, $$sum$i$i = 0, $$sum$i$i$i = 0, $$sum$i13$i = 0, $$sum$i14$i = 0, $$sum$i17$i = 0, $$sum$i19$i = 0; - var $$sum$i2334 = 0, $$sum$i32 = 0, $$sum$i35 = 0, $$sum1 = 0, $$sum1$i = 0, $$sum1$i$i = 0, $$sum1$i15$i = 0, $$sum1$i20$i = 0, $$sum1$i24 = 0, $$sum10 = 0, $$sum10$i = 0, $$sum10$i$i = 0, $$sum11$i = 0, $$sum11$i$i = 0, $$sum1112 = 0, $$sum112$i = 0, $$sum113$i = 0, $$sum114$i = 0, $$sum115$i = 0, $$sum116$i = 0; - var $$sum117$i = 0, $$sum118$i = 0, $$sum119$i = 0, $$sum12$i = 0, $$sum12$i$i = 0, $$sum120$i = 0, $$sum121$i = 0, $$sum122$i = 0, $$sum123$i = 0, $$sum124$i = 0, $$sum125$i = 0, $$sum13$i = 0, $$sum13$i$i = 0, $$sum14$i$i = 0, $$sum15$i = 0, $$sum15$i$i = 0, $$sum16$i = 0, $$sum16$i$i = 0, $$sum17$i = 0, $$sum17$i$i = 0; - var $$sum18$i = 0, $$sum1819$i$i = 0, $$sum2 = 0, $$sum2$i = 0, $$sum2$i$i = 0, $$sum2$i$i$i = 0, $$sum2$i16$i = 0, $$sum2$i18$i = 0, $$sum2$i21$i = 0, $$sum20$i$i = 0, $$sum21$i$i = 0, $$sum22$i$i = 0, $$sum23$i$i = 0, $$sum24$i$i = 0, $$sum25$i$i = 0, $$sum27$i$i = 0, $$sum28$i$i = 0, $$sum29$i$i = 0, $$sum3$i = 0, $$sum3$i27 = 0; - var $$sum30$i$i = 0, $$sum3132$i$i = 0, $$sum34$i$i = 0, $$sum3536$i$i = 0, $$sum3738$i$i = 0, $$sum39$i$i = 0, $$sum4 = 0, $$sum4$i = 0, $$sum4$i$i = 0, $$sum4$i28 = 0, $$sum40$i$i = 0, $$sum41$i$i = 0, $$sum42$i$i = 0, $$sum5$i = 0, $$sum5$i$i = 0, $$sum56 = 0, $$sum6$i = 0, $$sum67$i$i = 0, $$sum7$i = 0, $$sum8$i = 0; - var $$sum9 = 0, $$sum9$i = 0, $$sum9$i$i = 0, $$tsize$1$i = 0, $$v$0$i = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $1000 = 0, $1001 = 0, $1002 = 0, $1003 = 0, $1004 = 0, $1005 = 0, $1006 = 0, $1007 = 0, $1008 = 0, $1009 = 0, $101 = 0; - var $1010 = 0, $1011 = 0, $1012 = 0, $1013 = 0, $1014 = 0, $1015 = 0, $1016 = 0, $1017 = 0, $1018 = 0, $1019 = 0, $102 = 0, $1020 = 0, $1021 = 0, $1022 = 0, $1023 = 0, $1024 = 0, $1025 = 0, $1026 = 0, $1027 = 0, $1028 = 0; - var $1029 = 0, $103 = 0, $1030 = 0, $1031 = 0, $1032 = 0, $1033 = 0, $1034 = 0, $1035 = 0, $1036 = 0, $1037 = 0, $1038 = 0, $1039 = 0, $104 = 0, $1040 = 0, $1041 = 0, $1042 = 0, $1043 = 0, $1044 = 0, $1045 = 0, $1046 = 0; - var $1047 = 0, $1048 = 0, $1049 = 0, $105 = 0, $1050 = 0, $1051 = 0, $1052 = 0, $1053 = 0, $1054 = 0, $1055 = 0, $1056 = 0, $1057 = 0, $1058 = 0, $1059 = 0, $106 = 0, $1060 = 0, $1061 = 0, $1062 = 0, $1063 = 0, $1064 = 0; - var $1065 = 0, $1066 = 0, $1067 = 0, $1068 = 0, $1069 = 0, $107 = 0, $1070 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0; - var $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0; - var $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0; - var $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0; - var $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0; - var $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0; - var $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0; - var $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0; - var $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0; - var $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0; - var $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0; - var $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0; - var $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0; - var $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0; - var $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0; - var $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0; - var $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0; - var $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0, $424 = 0, $425 = 0; - var $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0, $442 = 0, $443 = 0; - var $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0, $460 = 0, $461 = 0; - var $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0, $478 = 0, $479 = 0, $48 = 0; - var $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0, $496 = 0, $497 = 0, $498 = 0; - var $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0, $513 = 0, $514 = 0, $515 = 0; - var $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0, $531 = 0, $532 = 0, $533 = 0; - var $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0, $549 = 0, $55 = 0, $550 = 0, $551 = 0; - var $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0, $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0, $562 = 0, $563 = 0, $564 = 0, $565 = 0, $566 = 0, $567 = 0, $568 = 0, $569 = 0, $57 = 0; - var $570 = 0, $571 = 0, $572 = 0, $573 = 0, $574 = 0, $575 = 0, $576 = 0, $577 = 0, $578 = 0, $579 = 0, $58 = 0, $580 = 0, $581 = 0, $582 = 0, $583 = 0, $584 = 0, $585 = 0, $586 = 0, $587 = 0, $588 = 0; - var $589 = 0, $59 = 0, $590 = 0, $591 = 0, $592 = 0, $593 = 0, $594 = 0, $595 = 0, $596 = 0, $597 = 0, $598 = 0, $599 = 0, $6 = 0, $60 = 0, $600 = 0, $601 = 0, $602 = 0, $603 = 0, $604 = 0, $605 = 0; - var $606 = 0, $607 = 0, $608 = 0, $609 = 0, $61 = 0, $610 = 0, $611 = 0, $612 = 0, $613 = 0, $614 = 0, $615 = 0, $616 = 0, $617 = 0, $618 = 0, $619 = 0, $62 = 0, $620 = 0, $621 = 0, $622 = 0, $623 = 0; - var $624 = 0, $625 = 0, $626 = 0, $627 = 0, $628 = 0, $629 = 0, $63 = 0, $630 = 0, $631 = 0, $632 = 0, $633 = 0, $634 = 0, $635 = 0, $636 = 0, $637 = 0, $638 = 0, $639 = 0, $64 = 0, $640 = 0, $641 = 0; - var $642 = 0, $643 = 0, $644 = 0, $645 = 0, $646 = 0, $647 = 0, $648 = 0, $649 = 0, $65 = 0, $650 = 0, $651 = 0, $652 = 0, $653 = 0, $654 = 0, $655 = 0, $656 = 0, $657 = 0, $658 = 0, $659 = 0, $66 = 0; - var $660 = 0, $661 = 0, $662 = 0, $663 = 0, $664 = 0, $665 = 0, $666 = 0, $667 = 0, $668 = 0, $669 = 0, $67 = 0, $670 = 0, $671 = 0, $672 = 0, $673 = 0, $674 = 0, $675 = 0, $676 = 0, $677 = 0, $678 = 0; - var $679 = 0, $68 = 0, $680 = 0, $681 = 0, $682 = 0, $683 = 0, $684 = 0, $685 = 0, $686 = 0, $687 = 0, $688 = 0, $689 = 0, $69 = 0, $690 = 0, $691 = 0, $692 = 0, $693 = 0, $694 = 0, $695 = 0, $696 = 0; - var $697 = 0, $698 = 0, $699 = 0, $7 = 0, $70 = 0, $700 = 0, $701 = 0, $702 = 0, $703 = 0, $704 = 0, $705 = 0, $706 = 0, $707 = 0, $708 = 0, $709 = 0, $71 = 0, $710 = 0, $711 = 0, $712 = 0, $713 = 0; - var $714 = 0, $715 = 0, $716 = 0, $717 = 0, $718 = 0, $719 = 0, $72 = 0, $720 = 0, $721 = 0, $722 = 0, $723 = 0, $724 = 0, $725 = 0, $726 = 0, $727 = 0, $728 = 0, $729 = 0, $73 = 0, $730 = 0, $731 = 0; - var $732 = 0, $733 = 0, $734 = 0, $735 = 0, $736 = 0, $737 = 0, $738 = 0, $739 = 0, $74 = 0, $740 = 0, $741 = 0, $742 = 0, $743 = 0, $744 = 0, $745 = 0, $746 = 0, $747 = 0, $748 = 0, $749 = 0, $75 = 0; - var $750 = 0, $751 = 0, $752 = 0, $753 = 0, $754 = 0, $755 = 0, $756 = 0, $757 = 0, $758 = 0, $759 = 0, $76 = 0, $760 = 0, $761 = 0, $762 = 0, $763 = 0, $764 = 0, $765 = 0, $766 = 0, $767 = 0, $768 = 0; - var $769 = 0, $77 = 0, $770 = 0, $771 = 0, $772 = 0, $773 = 0, $774 = 0, $775 = 0, $776 = 0, $777 = 0, $778 = 0, $779 = 0, $78 = 0, $780 = 0, $781 = 0, $782 = 0, $783 = 0, $784 = 0, $785 = 0, $786 = 0; - var $787 = 0, $788 = 0, $789 = 0, $79 = 0, $790 = 0, $791 = 0, $792 = 0, $793 = 0, $794 = 0, $795 = 0, $796 = 0, $797 = 0, $798 = 0, $799 = 0, $8 = 0, $80 = 0, $800 = 0, $801 = 0, $802 = 0, $803 = 0; - var $804 = 0, $805 = 0, $806 = 0, $807 = 0, $808 = 0, $809 = 0, $81 = 0, $810 = 0, $811 = 0, $812 = 0, $813 = 0, $814 = 0, $815 = 0, $816 = 0, $817 = 0, $818 = 0, $819 = 0, $82 = 0, $820 = 0, $821 = 0; - var $822 = 0, $823 = 0, $824 = 0, $825 = 0, $826 = 0, $827 = 0, $828 = 0, $829 = 0, $83 = 0, $830 = 0, $831 = 0, $832 = 0, $833 = 0, $834 = 0, $835 = 0, $836 = 0, $837 = 0, $838 = 0, $839 = 0, $84 = 0; - var $840 = 0, $841 = 0, $842 = 0, $843 = 0, $844 = 0, $845 = 0, $846 = 0, $847 = 0, $848 = 0, $849 = 0, $85 = 0, $850 = 0, $851 = 0, $852 = 0, $853 = 0, $854 = 0, $855 = 0, $856 = 0, $857 = 0, $858 = 0; - var $859 = 0, $86 = 0, $860 = 0, $861 = 0, $862 = 0, $863 = 0, $864 = 0, $865 = 0, $866 = 0, $867 = 0, $868 = 0, $869 = 0, $87 = 0, $870 = 0, $871 = 0, $872 = 0, $873 = 0, $874 = 0, $875 = 0, $876 = 0; - var $877 = 0, $878 = 0, $879 = 0, $88 = 0, $880 = 0, $881 = 0, $882 = 0, $883 = 0, $884 = 0, $885 = 0, $886 = 0, $887 = 0, $888 = 0, $889 = 0, $89 = 0, $890 = 0, $891 = 0, $892 = 0, $893 = 0, $894 = 0; - var $895 = 0, $896 = 0, $897 = 0, $898 = 0, $899 = 0, $9 = 0, $90 = 0, $900 = 0, $901 = 0, $902 = 0, $903 = 0, $904 = 0, $905 = 0, $906 = 0, $907 = 0, $908 = 0, $909 = 0, $91 = 0, $910 = 0, $911 = 0; - var $912 = 0, $913 = 0, $914 = 0, $915 = 0, $916 = 0, $917 = 0, $918 = 0, $919 = 0, $92 = 0, $920 = 0, $921 = 0, $922 = 0, $923 = 0, $924 = 0, $925 = 0, $926 = 0, $927 = 0, $928 = 0, $929 = 0, $93 = 0; - var $930 = 0, $931 = 0, $932 = 0, $933 = 0, $934 = 0, $935 = 0, $936 = 0, $937 = 0, $938 = 0, $939 = 0, $94 = 0, $940 = 0, $941 = 0, $942 = 0, $943 = 0, $944 = 0, $945 = 0, $946 = 0, $947 = 0, $948 = 0; - var $949 = 0, $95 = 0, $950 = 0, $951 = 0, $952 = 0, $953 = 0, $954 = 0, $955 = 0, $956 = 0, $957 = 0, $958 = 0, $959 = 0, $96 = 0, $960 = 0, $961 = 0, $962 = 0, $963 = 0, $964 = 0, $965 = 0, $966 = 0; - var $967 = 0, $968 = 0, $969 = 0, $97 = 0, $970 = 0, $971 = 0, $972 = 0, $973 = 0, $974 = 0, $975 = 0, $976 = 0, $977 = 0, $978 = 0, $979 = 0, $98 = 0, $980 = 0, $981 = 0, $982 = 0, $983 = 0, $984 = 0; - var $985 = 0, $986 = 0, $987 = 0, $988 = 0, $989 = 0, $99 = 0, $990 = 0, $991 = 0, $992 = 0, $993 = 0, $994 = 0, $995 = 0, $996 = 0, $997 = 0, $998 = 0, $999 = 0, $F$0$i$i = 0, $F1$0$i = 0, $F4$0 = 0, $F4$0$i$i = 0; - var $F5$0$i = 0, $I1$0$i$i = 0, $I7$0$i = 0, $I7$0$i$i = 0, $K12$029$i = 0, $K2$07$i$i = 0, $K8$051$i$i = 0, $R$0$i = 0, $R$0$i$i = 0, $R$0$i$i$lcssa = 0, $R$0$i$lcssa = 0, $R$0$i18 = 0, $R$0$i18$lcssa = 0, $R$1$i = 0, $R$1$i$i = 0, $R$1$i20 = 0, $RP$0$i = 0, $RP$0$i$i = 0, $RP$0$i$i$lcssa = 0, $RP$0$i$lcssa = 0; - var $RP$0$i17 = 0, $RP$0$i17$lcssa = 0, $T$0$lcssa$i = 0, $T$0$lcssa$i$i = 0, $T$0$lcssa$i25$i = 0, $T$028$i = 0, $T$028$i$lcssa = 0, $T$050$i$i = 0, $T$050$i$i$lcssa = 0, $T$06$i$i = 0, $T$06$i$i$lcssa = 0, $br$0$ph$i = 0, $cond$i = 0, $cond$i$i = 0, $cond$i21 = 0, $exitcond$i$i = 0, $i$02$i$i = 0, $idx$0$i = 0, $mem$0 = 0, $nb$0 = 0; - var $not$$i = 0, $not$$i$i = 0, $not$$i26$i = 0, $oldfirst$0$i$i = 0, $or$cond$i = 0, $or$cond$i30 = 0, $or$cond1$i = 0, $or$cond19$i = 0, $or$cond2$i = 0, $or$cond3$i = 0, $or$cond5$i = 0, $or$cond57$i = 0, $or$cond6$i = 0, $or$cond8$i = 0, $or$cond9$i = 0, $qsize$0$i$i = 0, $rsize$0$i = 0, $rsize$0$i$lcssa = 0, $rsize$0$i15 = 0, $rsize$1$i = 0; - var $rsize$2$i = 0, $rsize$3$lcssa$i = 0, $rsize$331$i = 0, $rst$0$i = 0, $rst$1$i = 0, $sizebits$0$i = 0, $sp$0$i$i = 0, $sp$0$i$i$i = 0, $sp$084$i = 0, $sp$084$i$lcssa = 0, $sp$183$i = 0, $sp$183$i$lcssa = 0, $ssize$0$$i = 0, $ssize$0$i = 0, $ssize$1$ph$i = 0, $ssize$2$i = 0, $t$0$i = 0, $t$0$i14 = 0, $t$1$i = 0, $t$2$ph$i = 0; - var $t$2$v$3$i = 0, $t$230$i = 0, $tbase$255$i = 0, $tsize$0$ph$i = 0, $tsize$0323944$i = 0, $tsize$1$i = 0, $tsize$254$i = 0, $v$0$i = 0, $v$0$i$lcssa = 0, $v$0$i16 = 0, $v$1$i = 0, $v$2$i = 0, $v$3$lcssa$i = 0, $v$3$ph$i = 0, $v$332$i = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ($bytes>>>0)<(245); - do { - if ($0) { - $1 = ($bytes>>>0)<(11); - $2 = (($bytes) + 11)|0; - $3 = $2 & -8; - $4 = $1 ? 16 : $3; - $5 = $4 >>> 3; - $6 = HEAP32[8312>>2]|0; - $7 = $6 >>> $5; - $8 = $7 & 3; - $9 = ($8|0)==(0); - if (!($9)) { - $10 = $7 & 1; - $11 = $10 ^ 1; - $12 = (($11) + ($5))|0; - $13 = $12 << 1; - $14 = (8352 + ($13<<2)|0); - $$sum10 = (($13) + 2)|0; - $15 = (8352 + ($$sum10<<2)|0); - $16 = HEAP32[$15>>2]|0; - $17 = ((($16)) + 8|0); - $18 = HEAP32[$17>>2]|0; - $19 = ($14|0)==($18|0); - do { - if ($19) { - $20 = 1 << $12; - $21 = $20 ^ -1; - $22 = $6 & $21; - HEAP32[8312>>2] = $22; - } else { - $23 = HEAP32[(8328)>>2]|0; - $24 = ($18>>>0)<($23>>>0); - if ($24) { - _abort(); - // unreachable; - } - $25 = ((($18)) + 12|0); - $26 = HEAP32[$25>>2]|0; - $27 = ($26|0)==($16|0); - if ($27) { - HEAP32[$25>>2] = $14; - HEAP32[$15>>2] = $18; - break; - } else { - _abort(); - // unreachable; - } - } - } while(0); - $28 = $12 << 3; - $29 = $28 | 3; - $30 = ((($16)) + 4|0); - HEAP32[$30>>2] = $29; - $$sum1112 = $28 | 4; - $31 = (($16) + ($$sum1112)|0); - $32 = HEAP32[$31>>2]|0; - $33 = $32 | 1; - HEAP32[$31>>2] = $33; - $mem$0 = $17; - return ($mem$0|0); - } - $34 = HEAP32[(8320)>>2]|0; - $35 = ($4>>>0)>($34>>>0); - if ($35) { - $36 = ($7|0)==(0); - if (!($36)) { - $37 = $7 << $5; - $38 = 2 << $5; - $39 = (0 - ($38))|0; - $40 = $38 | $39; - $41 = $37 & $40; - $42 = (0 - ($41))|0; - $43 = $41 & $42; - $44 = (($43) + -1)|0; - $45 = $44 >>> 12; - $46 = $45 & 16; - $47 = $44 >>> $46; - $48 = $47 >>> 5; - $49 = $48 & 8; - $50 = $49 | $46; - $51 = $47 >>> $49; - $52 = $51 >>> 2; - $53 = $52 & 4; - $54 = $50 | $53; - $55 = $51 >>> $53; - $56 = $55 >>> 1; - $57 = $56 & 2; - $58 = $54 | $57; - $59 = $55 >>> $57; - $60 = $59 >>> 1; - $61 = $60 & 1; - $62 = $58 | $61; - $63 = $59 >>> $61; - $64 = (($62) + ($63))|0; - $65 = $64 << 1; - $66 = (8352 + ($65<<2)|0); - $$sum4 = (($65) + 2)|0; - $67 = (8352 + ($$sum4<<2)|0); - $68 = HEAP32[$67>>2]|0; - $69 = ((($68)) + 8|0); - $70 = HEAP32[$69>>2]|0; - $71 = ($66|0)==($70|0); - do { - if ($71) { - $72 = 1 << $64; - $73 = $72 ^ -1; - $74 = $6 & $73; - HEAP32[8312>>2] = $74; - $88 = $34; - } else { - $75 = HEAP32[(8328)>>2]|0; - $76 = ($70>>>0)<($75>>>0); - if ($76) { - _abort(); - // unreachable; - } - $77 = ((($70)) + 12|0); - $78 = HEAP32[$77>>2]|0; - $79 = ($78|0)==($68|0); - if ($79) { - HEAP32[$77>>2] = $66; - HEAP32[$67>>2] = $70; - $$pre = HEAP32[(8320)>>2]|0; - $88 = $$pre; - break; - } else { - _abort(); - // unreachable; - } - } - } while(0); - $80 = $64 << 3; - $81 = (($80) - ($4))|0; - $82 = $4 | 3; - $83 = ((($68)) + 4|0); - HEAP32[$83>>2] = $82; - $84 = (($68) + ($4)|0); - $85 = $81 | 1; - $$sum56 = $4 | 4; - $86 = (($68) + ($$sum56)|0); - HEAP32[$86>>2] = $85; - $87 = (($68) + ($80)|0); - HEAP32[$87>>2] = $81; - $89 = ($88|0)==(0); - if (!($89)) { - $90 = HEAP32[(8332)>>2]|0; - $91 = $88 >>> 3; - $92 = $91 << 1; - $93 = (8352 + ($92<<2)|0); - $94 = HEAP32[8312>>2]|0; - $95 = 1 << $91; - $96 = $94 & $95; - $97 = ($96|0)==(0); - if ($97) { - $98 = $94 | $95; - HEAP32[8312>>2] = $98; - $$pre105 = (($92) + 2)|0; - $$pre106 = (8352 + ($$pre105<<2)|0); - $$pre$phiZ2D = $$pre106;$F4$0 = $93; - } else { - $$sum9 = (($92) + 2)|0; - $99 = (8352 + ($$sum9<<2)|0); - $100 = HEAP32[$99>>2]|0; - $101 = HEAP32[(8328)>>2]|0; - $102 = ($100>>>0)<($101>>>0); - if ($102) { - _abort(); - // unreachable; - } else { - $$pre$phiZ2D = $99;$F4$0 = $100; - } - } - HEAP32[$$pre$phiZ2D>>2] = $90; - $103 = ((($F4$0)) + 12|0); - HEAP32[$103>>2] = $90; - $104 = ((($90)) + 8|0); - HEAP32[$104>>2] = $F4$0; - $105 = ((($90)) + 12|0); - HEAP32[$105>>2] = $93; - } - HEAP32[(8320)>>2] = $81; - HEAP32[(8332)>>2] = $84; - $mem$0 = $69; - return ($mem$0|0); - } - $106 = HEAP32[(8316)>>2]|0; - $107 = ($106|0)==(0); - if ($107) { - $nb$0 = $4; - } else { - $108 = (0 - ($106))|0; - $109 = $106 & $108; - $110 = (($109) + -1)|0; - $111 = $110 >>> 12; - $112 = $111 & 16; - $113 = $110 >>> $112; - $114 = $113 >>> 5; - $115 = $114 & 8; - $116 = $115 | $112; - $117 = $113 >>> $115; - $118 = $117 >>> 2; - $119 = $118 & 4; - $120 = $116 | $119; - $121 = $117 >>> $119; - $122 = $121 >>> 1; - $123 = $122 & 2; - $124 = $120 | $123; - $125 = $121 >>> $123; - $126 = $125 >>> 1; - $127 = $126 & 1; - $128 = $124 | $127; - $129 = $125 >>> $127; - $130 = (($128) + ($129))|0; - $131 = (8616 + ($130<<2)|0); - $132 = HEAP32[$131>>2]|0; - $133 = ((($132)) + 4|0); - $134 = HEAP32[$133>>2]|0; - $135 = $134 & -8; - $136 = (($135) - ($4))|0; - $rsize$0$i = $136;$t$0$i = $132;$v$0$i = $132; - while(1) { - $137 = ((($t$0$i)) + 16|0); - $138 = HEAP32[$137>>2]|0; - $139 = ($138|0)==(0|0); - if ($139) { - $140 = ((($t$0$i)) + 20|0); - $141 = HEAP32[$140>>2]|0; - $142 = ($141|0)==(0|0); - if ($142) { - $rsize$0$i$lcssa = $rsize$0$i;$v$0$i$lcssa = $v$0$i; - break; - } else { - $144 = $141; - } - } else { - $144 = $138; - } - $143 = ((($144)) + 4|0); - $145 = HEAP32[$143>>2]|0; - $146 = $145 & -8; - $147 = (($146) - ($4))|0; - $148 = ($147>>>0)<($rsize$0$i>>>0); - $$rsize$0$i = $148 ? $147 : $rsize$0$i; - $$v$0$i = $148 ? $144 : $v$0$i; - $rsize$0$i = $$rsize$0$i;$t$0$i = $144;$v$0$i = $$v$0$i; - } - $149 = HEAP32[(8328)>>2]|0; - $150 = ($v$0$i$lcssa>>>0)<($149>>>0); - if ($150) { - _abort(); - // unreachable; - } - $151 = (($v$0$i$lcssa) + ($4)|0); - $152 = ($v$0$i$lcssa>>>0)<($151>>>0); - if (!($152)) { - _abort(); - // unreachable; - } - $153 = ((($v$0$i$lcssa)) + 24|0); - $154 = HEAP32[$153>>2]|0; - $155 = ((($v$0$i$lcssa)) + 12|0); - $156 = HEAP32[$155>>2]|0; - $157 = ($156|0)==($v$0$i$lcssa|0); - do { - if ($157) { - $167 = ((($v$0$i$lcssa)) + 20|0); - $168 = HEAP32[$167>>2]|0; - $169 = ($168|0)==(0|0); - if ($169) { - $170 = ((($v$0$i$lcssa)) + 16|0); - $171 = HEAP32[$170>>2]|0; - $172 = ($171|0)==(0|0); - if ($172) { - $R$1$i = 0; - break; - } else { - $R$0$i = $171;$RP$0$i = $170; - } - } else { - $R$0$i = $168;$RP$0$i = $167; - } - while(1) { - $173 = ((($R$0$i)) + 20|0); - $174 = HEAP32[$173>>2]|0; - $175 = ($174|0)==(0|0); - if (!($175)) { - $R$0$i = $174;$RP$0$i = $173; - continue; - } - $176 = ((($R$0$i)) + 16|0); - $177 = HEAP32[$176>>2]|0; - $178 = ($177|0)==(0|0); - if ($178) { - $R$0$i$lcssa = $R$0$i;$RP$0$i$lcssa = $RP$0$i; - break; - } else { - $R$0$i = $177;$RP$0$i = $176; - } - } - $179 = ($RP$0$i$lcssa>>>0)<($149>>>0); - if ($179) { - _abort(); - // unreachable; - } else { - HEAP32[$RP$0$i$lcssa>>2] = 0; - $R$1$i = $R$0$i$lcssa; - break; - } - } else { - $158 = ((($v$0$i$lcssa)) + 8|0); - $159 = HEAP32[$158>>2]|0; - $160 = ($159>>>0)<($149>>>0); - if ($160) { - _abort(); - // unreachable; - } - $161 = ((($159)) + 12|0); - $162 = HEAP32[$161>>2]|0; - $163 = ($162|0)==($v$0$i$lcssa|0); - if (!($163)) { - _abort(); - // unreachable; - } - $164 = ((($156)) + 8|0); - $165 = HEAP32[$164>>2]|0; - $166 = ($165|0)==($v$0$i$lcssa|0); - if ($166) { - HEAP32[$161>>2] = $156; - HEAP32[$164>>2] = $159; - $R$1$i = $156; - break; - } else { - _abort(); - // unreachable; - } - } - } while(0); - $180 = ($154|0)==(0|0); - do { - if (!($180)) { - $181 = ((($v$0$i$lcssa)) + 28|0); - $182 = HEAP32[$181>>2]|0; - $183 = (8616 + ($182<<2)|0); - $184 = HEAP32[$183>>2]|0; - $185 = ($v$0$i$lcssa|0)==($184|0); - if ($185) { - HEAP32[$183>>2] = $R$1$i; - $cond$i = ($R$1$i|0)==(0|0); - if ($cond$i) { - $186 = 1 << $182; - $187 = $186 ^ -1; - $188 = HEAP32[(8316)>>2]|0; - $189 = $188 & $187; - HEAP32[(8316)>>2] = $189; - break; - } - } else { - $190 = HEAP32[(8328)>>2]|0; - $191 = ($154>>>0)<($190>>>0); - if ($191) { - _abort(); - // unreachable; - } - $192 = ((($154)) + 16|0); - $193 = HEAP32[$192>>2]|0; - $194 = ($193|0)==($v$0$i$lcssa|0); - if ($194) { - HEAP32[$192>>2] = $R$1$i; - } else { - $195 = ((($154)) + 20|0); - HEAP32[$195>>2] = $R$1$i; - } - $196 = ($R$1$i|0)==(0|0); - if ($196) { - break; - } - } - $197 = HEAP32[(8328)>>2]|0; - $198 = ($R$1$i>>>0)<($197>>>0); - if ($198) { - _abort(); - // unreachable; - } - $199 = ((($R$1$i)) + 24|0); - HEAP32[$199>>2] = $154; - $200 = ((($v$0$i$lcssa)) + 16|0); - $201 = HEAP32[$200>>2]|0; - $202 = ($201|0)==(0|0); - do { - if (!($202)) { - $203 = ($201>>>0)<($197>>>0); - if ($203) { - _abort(); - // unreachable; - } else { - $204 = ((($R$1$i)) + 16|0); - HEAP32[$204>>2] = $201; - $205 = ((($201)) + 24|0); - HEAP32[$205>>2] = $R$1$i; - break; - } - } - } while(0); - $206 = ((($v$0$i$lcssa)) + 20|0); - $207 = HEAP32[$206>>2]|0; - $208 = ($207|0)==(0|0); - if (!($208)) { - $209 = HEAP32[(8328)>>2]|0; - $210 = ($207>>>0)<($209>>>0); - if ($210) { - _abort(); - // unreachable; - } else { - $211 = ((($R$1$i)) + 20|0); - HEAP32[$211>>2] = $207; - $212 = ((($207)) + 24|0); - HEAP32[$212>>2] = $R$1$i; - break; - } - } - } - } while(0); - $213 = ($rsize$0$i$lcssa>>>0)<(16); - if ($213) { - $214 = (($rsize$0$i$lcssa) + ($4))|0; - $215 = $214 | 3; - $216 = ((($v$0$i$lcssa)) + 4|0); - HEAP32[$216>>2] = $215; - $$sum4$i = (($214) + 4)|0; - $217 = (($v$0$i$lcssa) + ($$sum4$i)|0); - $218 = HEAP32[$217>>2]|0; - $219 = $218 | 1; - HEAP32[$217>>2] = $219; - } else { - $220 = $4 | 3; - $221 = ((($v$0$i$lcssa)) + 4|0); - HEAP32[$221>>2] = $220; - $222 = $rsize$0$i$lcssa | 1; - $$sum$i35 = $4 | 4; - $223 = (($v$0$i$lcssa) + ($$sum$i35)|0); - HEAP32[$223>>2] = $222; - $$sum1$i = (($rsize$0$i$lcssa) + ($4))|0; - $224 = (($v$0$i$lcssa) + ($$sum1$i)|0); - HEAP32[$224>>2] = $rsize$0$i$lcssa; - $225 = HEAP32[(8320)>>2]|0; - $226 = ($225|0)==(0); - if (!($226)) { - $227 = HEAP32[(8332)>>2]|0; - $228 = $225 >>> 3; - $229 = $228 << 1; - $230 = (8352 + ($229<<2)|0); - $231 = HEAP32[8312>>2]|0; - $232 = 1 << $228; - $233 = $231 & $232; - $234 = ($233|0)==(0); - if ($234) { - $235 = $231 | $232; - HEAP32[8312>>2] = $235; - $$pre$i = (($229) + 2)|0; - $$pre8$i = (8352 + ($$pre$i<<2)|0); - $$pre$phi$iZ2D = $$pre8$i;$F1$0$i = $230; - } else { - $$sum3$i = (($229) + 2)|0; - $236 = (8352 + ($$sum3$i<<2)|0); - $237 = HEAP32[$236>>2]|0; - $238 = HEAP32[(8328)>>2]|0; - $239 = ($237>>>0)<($238>>>0); - if ($239) { - _abort(); - // unreachable; - } else { - $$pre$phi$iZ2D = $236;$F1$0$i = $237; - } - } - HEAP32[$$pre$phi$iZ2D>>2] = $227; - $240 = ((($F1$0$i)) + 12|0); - HEAP32[$240>>2] = $227; - $241 = ((($227)) + 8|0); - HEAP32[$241>>2] = $F1$0$i; - $242 = ((($227)) + 12|0); - HEAP32[$242>>2] = $230; - } - HEAP32[(8320)>>2] = $rsize$0$i$lcssa; - HEAP32[(8332)>>2] = $151; - } - $243 = ((($v$0$i$lcssa)) + 8|0); - $mem$0 = $243; - return ($mem$0|0); - } - } else { - $nb$0 = $4; - } - } else { - $244 = ($bytes>>>0)>(4294967231); - if ($244) { - $nb$0 = -1; - } else { - $245 = (($bytes) + 11)|0; - $246 = $245 & -8; - $247 = HEAP32[(8316)>>2]|0; - $248 = ($247|0)==(0); - if ($248) { - $nb$0 = $246; - } else { - $249 = (0 - ($246))|0; - $250 = $245 >>> 8; - $251 = ($250|0)==(0); - if ($251) { - $idx$0$i = 0; - } else { - $252 = ($246>>>0)>(16777215); - if ($252) { - $idx$0$i = 31; - } else { - $253 = (($250) + 1048320)|0; - $254 = $253 >>> 16; - $255 = $254 & 8; - $256 = $250 << $255; - $257 = (($256) + 520192)|0; - $258 = $257 >>> 16; - $259 = $258 & 4; - $260 = $259 | $255; - $261 = $256 << $259; - $262 = (($261) + 245760)|0; - $263 = $262 >>> 16; - $264 = $263 & 2; - $265 = $260 | $264; - $266 = (14 - ($265))|0; - $267 = $261 << $264; - $268 = $267 >>> 15; - $269 = (($266) + ($268))|0; - $270 = $269 << 1; - $271 = (($269) + 7)|0; - $272 = $246 >>> $271; - $273 = $272 & 1; - $274 = $273 | $270; - $idx$0$i = $274; - } - } - $275 = (8616 + ($idx$0$i<<2)|0); - $276 = HEAP32[$275>>2]|0; - $277 = ($276|0)==(0|0); - L123: do { - if ($277) { - $rsize$2$i = $249;$t$1$i = 0;$v$2$i = 0; - label = 86; - } else { - $278 = ($idx$0$i|0)==(31); - $279 = $idx$0$i >>> 1; - $280 = (25 - ($279))|0; - $281 = $278 ? 0 : $280; - $282 = $246 << $281; - $rsize$0$i15 = $249;$rst$0$i = 0;$sizebits$0$i = $282;$t$0$i14 = $276;$v$0$i16 = 0; - while(1) { - $283 = ((($t$0$i14)) + 4|0); - $284 = HEAP32[$283>>2]|0; - $285 = $284 & -8; - $286 = (($285) - ($246))|0; - $287 = ($286>>>0)<($rsize$0$i15>>>0); - if ($287) { - $288 = ($285|0)==($246|0); - if ($288) { - $rsize$331$i = $286;$t$230$i = $t$0$i14;$v$332$i = $t$0$i14; - label = 90; - break L123; - } else { - $rsize$1$i = $286;$v$1$i = $t$0$i14; - } - } else { - $rsize$1$i = $rsize$0$i15;$v$1$i = $v$0$i16; - } - $289 = ((($t$0$i14)) + 20|0); - $290 = HEAP32[$289>>2]|0; - $291 = $sizebits$0$i >>> 31; - $292 = (((($t$0$i14)) + 16|0) + ($291<<2)|0); - $293 = HEAP32[$292>>2]|0; - $294 = ($290|0)==(0|0); - $295 = ($290|0)==($293|0); - $or$cond19$i = $294 | $295; - $rst$1$i = $or$cond19$i ? $rst$0$i : $290; - $296 = ($293|0)==(0|0); - $297 = $sizebits$0$i << 1; - if ($296) { - $rsize$2$i = $rsize$1$i;$t$1$i = $rst$1$i;$v$2$i = $v$1$i; - label = 86; - break; - } else { - $rsize$0$i15 = $rsize$1$i;$rst$0$i = $rst$1$i;$sizebits$0$i = $297;$t$0$i14 = $293;$v$0$i16 = $v$1$i; - } - } - } - } while(0); - if ((label|0) == 86) { - $298 = ($t$1$i|0)==(0|0); - $299 = ($v$2$i|0)==(0|0); - $or$cond$i = $298 & $299; - if ($or$cond$i) { - $300 = 2 << $idx$0$i; - $301 = (0 - ($300))|0; - $302 = $300 | $301; - $303 = $247 & $302; - $304 = ($303|0)==(0); - if ($304) { - $nb$0 = $246; - break; - } - $305 = (0 - ($303))|0; - $306 = $303 & $305; - $307 = (($306) + -1)|0; - $308 = $307 >>> 12; - $309 = $308 & 16; - $310 = $307 >>> $309; - $311 = $310 >>> 5; - $312 = $311 & 8; - $313 = $312 | $309; - $314 = $310 >>> $312; - $315 = $314 >>> 2; - $316 = $315 & 4; - $317 = $313 | $316; - $318 = $314 >>> $316; - $319 = $318 >>> 1; - $320 = $319 & 2; - $321 = $317 | $320; - $322 = $318 >>> $320; - $323 = $322 >>> 1; - $324 = $323 & 1; - $325 = $321 | $324; - $326 = $322 >>> $324; - $327 = (($325) + ($326))|0; - $328 = (8616 + ($327<<2)|0); - $329 = HEAP32[$328>>2]|0; - $t$2$ph$i = $329;$v$3$ph$i = 0; - } else { - $t$2$ph$i = $t$1$i;$v$3$ph$i = $v$2$i; - } - $330 = ($t$2$ph$i|0)==(0|0); - if ($330) { - $rsize$3$lcssa$i = $rsize$2$i;$v$3$lcssa$i = $v$3$ph$i; - } else { - $rsize$331$i = $rsize$2$i;$t$230$i = $t$2$ph$i;$v$332$i = $v$3$ph$i; - label = 90; - } - } - if ((label|0) == 90) { - while(1) { - label = 0; - $331 = ((($t$230$i)) + 4|0); - $332 = HEAP32[$331>>2]|0; - $333 = $332 & -8; - $334 = (($333) - ($246))|0; - $335 = ($334>>>0)<($rsize$331$i>>>0); - $$rsize$3$i = $335 ? $334 : $rsize$331$i; - $t$2$v$3$i = $335 ? $t$230$i : $v$332$i; - $336 = ((($t$230$i)) + 16|0); - $337 = HEAP32[$336>>2]|0; - $338 = ($337|0)==(0|0); - if (!($338)) { - $rsize$331$i = $$rsize$3$i;$t$230$i = $337;$v$332$i = $t$2$v$3$i; - label = 90; - continue; - } - $339 = ((($t$230$i)) + 20|0); - $340 = HEAP32[$339>>2]|0; - $341 = ($340|0)==(0|0); - if ($341) { - $rsize$3$lcssa$i = $$rsize$3$i;$v$3$lcssa$i = $t$2$v$3$i; - break; - } else { - $rsize$331$i = $$rsize$3$i;$t$230$i = $340;$v$332$i = $t$2$v$3$i; - label = 90; - } - } - } - $342 = ($v$3$lcssa$i|0)==(0|0); - if ($342) { - $nb$0 = $246; - } else { - $343 = HEAP32[(8320)>>2]|0; - $344 = (($343) - ($246))|0; - $345 = ($rsize$3$lcssa$i>>>0)<($344>>>0); - if ($345) { - $346 = HEAP32[(8328)>>2]|0; - $347 = ($v$3$lcssa$i>>>0)<($346>>>0); - if ($347) { - _abort(); - // unreachable; - } - $348 = (($v$3$lcssa$i) + ($246)|0); - $349 = ($v$3$lcssa$i>>>0)<($348>>>0); - if (!($349)) { - _abort(); - // unreachable; - } - $350 = ((($v$3$lcssa$i)) + 24|0); - $351 = HEAP32[$350>>2]|0; - $352 = ((($v$3$lcssa$i)) + 12|0); - $353 = HEAP32[$352>>2]|0; - $354 = ($353|0)==($v$3$lcssa$i|0); - do { - if ($354) { - $364 = ((($v$3$lcssa$i)) + 20|0); - $365 = HEAP32[$364>>2]|0; - $366 = ($365|0)==(0|0); - if ($366) { - $367 = ((($v$3$lcssa$i)) + 16|0); - $368 = HEAP32[$367>>2]|0; - $369 = ($368|0)==(0|0); - if ($369) { - $R$1$i20 = 0; - break; - } else { - $R$0$i18 = $368;$RP$0$i17 = $367; - } - } else { - $R$0$i18 = $365;$RP$0$i17 = $364; - } - while(1) { - $370 = ((($R$0$i18)) + 20|0); - $371 = HEAP32[$370>>2]|0; - $372 = ($371|0)==(0|0); - if (!($372)) { - $R$0$i18 = $371;$RP$0$i17 = $370; - continue; - } - $373 = ((($R$0$i18)) + 16|0); - $374 = HEAP32[$373>>2]|0; - $375 = ($374|0)==(0|0); - if ($375) { - $R$0$i18$lcssa = $R$0$i18;$RP$0$i17$lcssa = $RP$0$i17; - break; - } else { - $R$0$i18 = $374;$RP$0$i17 = $373; - } - } - $376 = ($RP$0$i17$lcssa>>>0)<($346>>>0); - if ($376) { - _abort(); - // unreachable; - } else { - HEAP32[$RP$0$i17$lcssa>>2] = 0; - $R$1$i20 = $R$0$i18$lcssa; - break; - } - } else { - $355 = ((($v$3$lcssa$i)) + 8|0); - $356 = HEAP32[$355>>2]|0; - $357 = ($356>>>0)<($346>>>0); - if ($357) { - _abort(); - // unreachable; - } - $358 = ((($356)) + 12|0); - $359 = HEAP32[$358>>2]|0; - $360 = ($359|0)==($v$3$lcssa$i|0); - if (!($360)) { - _abort(); - // unreachable; - } - $361 = ((($353)) + 8|0); - $362 = HEAP32[$361>>2]|0; - $363 = ($362|0)==($v$3$lcssa$i|0); - if ($363) { - HEAP32[$358>>2] = $353; - HEAP32[$361>>2] = $356; - $R$1$i20 = $353; - break; - } else { - _abort(); - // unreachable; - } - } - } while(0); - $377 = ($351|0)==(0|0); - do { - if (!($377)) { - $378 = ((($v$3$lcssa$i)) + 28|0); - $379 = HEAP32[$378>>2]|0; - $380 = (8616 + ($379<<2)|0); - $381 = HEAP32[$380>>2]|0; - $382 = ($v$3$lcssa$i|0)==($381|0); - if ($382) { - HEAP32[$380>>2] = $R$1$i20; - $cond$i21 = ($R$1$i20|0)==(0|0); - if ($cond$i21) { - $383 = 1 << $379; - $384 = $383 ^ -1; - $385 = HEAP32[(8316)>>2]|0; - $386 = $385 & $384; - HEAP32[(8316)>>2] = $386; - break; - } - } else { - $387 = HEAP32[(8328)>>2]|0; - $388 = ($351>>>0)<($387>>>0); - if ($388) { - _abort(); - // unreachable; - } - $389 = ((($351)) + 16|0); - $390 = HEAP32[$389>>2]|0; - $391 = ($390|0)==($v$3$lcssa$i|0); - if ($391) { - HEAP32[$389>>2] = $R$1$i20; - } else { - $392 = ((($351)) + 20|0); - HEAP32[$392>>2] = $R$1$i20; - } - $393 = ($R$1$i20|0)==(0|0); - if ($393) { - break; - } - } - $394 = HEAP32[(8328)>>2]|0; - $395 = ($R$1$i20>>>0)<($394>>>0); - if ($395) { - _abort(); - // unreachable; - } - $396 = ((($R$1$i20)) + 24|0); - HEAP32[$396>>2] = $351; - $397 = ((($v$3$lcssa$i)) + 16|0); - $398 = HEAP32[$397>>2]|0; - $399 = ($398|0)==(0|0); - do { - if (!($399)) { - $400 = ($398>>>0)<($394>>>0); - if ($400) { - _abort(); - // unreachable; - } else { - $401 = ((($R$1$i20)) + 16|0); - HEAP32[$401>>2] = $398; - $402 = ((($398)) + 24|0); - HEAP32[$402>>2] = $R$1$i20; - break; - } - } - } while(0); - $403 = ((($v$3$lcssa$i)) + 20|0); - $404 = HEAP32[$403>>2]|0; - $405 = ($404|0)==(0|0); - if (!($405)) { - $406 = HEAP32[(8328)>>2]|0; - $407 = ($404>>>0)<($406>>>0); - if ($407) { - _abort(); - // unreachable; - } else { - $408 = ((($R$1$i20)) + 20|0); - HEAP32[$408>>2] = $404; - $409 = ((($404)) + 24|0); - HEAP32[$409>>2] = $R$1$i20; - break; - } - } - } - } while(0); - $410 = ($rsize$3$lcssa$i>>>0)<(16); - L199: do { - if ($410) { - $411 = (($rsize$3$lcssa$i) + ($246))|0; - $412 = $411 | 3; - $413 = ((($v$3$lcssa$i)) + 4|0); - HEAP32[$413>>2] = $412; - $$sum18$i = (($411) + 4)|0; - $414 = (($v$3$lcssa$i) + ($$sum18$i)|0); - $415 = HEAP32[$414>>2]|0; - $416 = $415 | 1; - HEAP32[$414>>2] = $416; - } else { - $417 = $246 | 3; - $418 = ((($v$3$lcssa$i)) + 4|0); - HEAP32[$418>>2] = $417; - $419 = $rsize$3$lcssa$i | 1; - $$sum$i2334 = $246 | 4; - $420 = (($v$3$lcssa$i) + ($$sum$i2334)|0); - HEAP32[$420>>2] = $419; - $$sum1$i24 = (($rsize$3$lcssa$i) + ($246))|0; - $421 = (($v$3$lcssa$i) + ($$sum1$i24)|0); - HEAP32[$421>>2] = $rsize$3$lcssa$i; - $422 = $rsize$3$lcssa$i >>> 3; - $423 = ($rsize$3$lcssa$i>>>0)<(256); - if ($423) { - $424 = $422 << 1; - $425 = (8352 + ($424<<2)|0); - $426 = HEAP32[8312>>2]|0; - $427 = 1 << $422; - $428 = $426 & $427; - $429 = ($428|0)==(0); - if ($429) { - $430 = $426 | $427; - HEAP32[8312>>2] = $430; - $$pre$i25 = (($424) + 2)|0; - $$pre43$i = (8352 + ($$pre$i25<<2)|0); - $$pre$phi$i26Z2D = $$pre43$i;$F5$0$i = $425; - } else { - $$sum17$i = (($424) + 2)|0; - $431 = (8352 + ($$sum17$i<<2)|0); - $432 = HEAP32[$431>>2]|0; - $433 = HEAP32[(8328)>>2]|0; - $434 = ($432>>>0)<($433>>>0); - if ($434) { - _abort(); - // unreachable; - } else { - $$pre$phi$i26Z2D = $431;$F5$0$i = $432; - } - } - HEAP32[$$pre$phi$i26Z2D>>2] = $348; - $435 = ((($F5$0$i)) + 12|0); - HEAP32[$435>>2] = $348; - $$sum15$i = (($246) + 8)|0; - $436 = (($v$3$lcssa$i) + ($$sum15$i)|0); - HEAP32[$436>>2] = $F5$0$i; - $$sum16$i = (($246) + 12)|0; - $437 = (($v$3$lcssa$i) + ($$sum16$i)|0); - HEAP32[$437>>2] = $425; - break; - } - $438 = $rsize$3$lcssa$i >>> 8; - $439 = ($438|0)==(0); - if ($439) { - $I7$0$i = 0; - } else { - $440 = ($rsize$3$lcssa$i>>>0)>(16777215); - if ($440) { - $I7$0$i = 31; - } else { - $441 = (($438) + 1048320)|0; - $442 = $441 >>> 16; - $443 = $442 & 8; - $444 = $438 << $443; - $445 = (($444) + 520192)|0; - $446 = $445 >>> 16; - $447 = $446 & 4; - $448 = $447 | $443; - $449 = $444 << $447; - $450 = (($449) + 245760)|0; - $451 = $450 >>> 16; - $452 = $451 & 2; - $453 = $448 | $452; - $454 = (14 - ($453))|0; - $455 = $449 << $452; - $456 = $455 >>> 15; - $457 = (($454) + ($456))|0; - $458 = $457 << 1; - $459 = (($457) + 7)|0; - $460 = $rsize$3$lcssa$i >>> $459; - $461 = $460 & 1; - $462 = $461 | $458; - $I7$0$i = $462; - } - } - $463 = (8616 + ($I7$0$i<<2)|0); - $$sum2$i = (($246) + 28)|0; - $464 = (($v$3$lcssa$i) + ($$sum2$i)|0); - HEAP32[$464>>2] = $I7$0$i; - $$sum3$i27 = (($246) + 16)|0; - $465 = (($v$3$lcssa$i) + ($$sum3$i27)|0); - $$sum4$i28 = (($246) + 20)|0; - $466 = (($v$3$lcssa$i) + ($$sum4$i28)|0); - HEAP32[$466>>2] = 0; - HEAP32[$465>>2] = 0; - $467 = HEAP32[(8316)>>2]|0; - $468 = 1 << $I7$0$i; - $469 = $467 & $468; - $470 = ($469|0)==(0); - if ($470) { - $471 = $467 | $468; - HEAP32[(8316)>>2] = $471; - HEAP32[$463>>2] = $348; - $$sum5$i = (($246) + 24)|0; - $472 = (($v$3$lcssa$i) + ($$sum5$i)|0); - HEAP32[$472>>2] = $463; - $$sum6$i = (($246) + 12)|0; - $473 = (($v$3$lcssa$i) + ($$sum6$i)|0); - HEAP32[$473>>2] = $348; - $$sum7$i = (($246) + 8)|0; - $474 = (($v$3$lcssa$i) + ($$sum7$i)|0); - HEAP32[$474>>2] = $348; - break; - } - $475 = HEAP32[$463>>2]|0; - $476 = ((($475)) + 4|0); - $477 = HEAP32[$476>>2]|0; - $478 = $477 & -8; - $479 = ($478|0)==($rsize$3$lcssa$i|0); - L217: do { - if ($479) { - $T$0$lcssa$i = $475; - } else { - $480 = ($I7$0$i|0)==(31); - $481 = $I7$0$i >>> 1; - $482 = (25 - ($481))|0; - $483 = $480 ? 0 : $482; - $484 = $rsize$3$lcssa$i << $483; - $K12$029$i = $484;$T$028$i = $475; - while(1) { - $491 = $K12$029$i >>> 31; - $492 = (((($T$028$i)) + 16|0) + ($491<<2)|0); - $487 = HEAP32[$492>>2]|0; - $493 = ($487|0)==(0|0); - if ($493) { - $$lcssa232 = $492;$T$028$i$lcssa = $T$028$i; - break; - } - $485 = $K12$029$i << 1; - $486 = ((($487)) + 4|0); - $488 = HEAP32[$486>>2]|0; - $489 = $488 & -8; - $490 = ($489|0)==($rsize$3$lcssa$i|0); - if ($490) { - $T$0$lcssa$i = $487; - break L217; - } else { - $K12$029$i = $485;$T$028$i = $487; - } - } - $494 = HEAP32[(8328)>>2]|0; - $495 = ($$lcssa232>>>0)<($494>>>0); - if ($495) { - _abort(); - // unreachable; - } else { - HEAP32[$$lcssa232>>2] = $348; - $$sum11$i = (($246) + 24)|0; - $496 = (($v$3$lcssa$i) + ($$sum11$i)|0); - HEAP32[$496>>2] = $T$028$i$lcssa; - $$sum12$i = (($246) + 12)|0; - $497 = (($v$3$lcssa$i) + ($$sum12$i)|0); - HEAP32[$497>>2] = $348; - $$sum13$i = (($246) + 8)|0; - $498 = (($v$3$lcssa$i) + ($$sum13$i)|0); - HEAP32[$498>>2] = $348; - break L199; - } - } - } while(0); - $499 = ((($T$0$lcssa$i)) + 8|0); - $500 = HEAP32[$499>>2]|0; - $501 = HEAP32[(8328)>>2]|0; - $502 = ($500>>>0)>=($501>>>0); - $not$$i = ($T$0$lcssa$i>>>0)>=($501>>>0); - $503 = $502 & $not$$i; - if ($503) { - $504 = ((($500)) + 12|0); - HEAP32[$504>>2] = $348; - HEAP32[$499>>2] = $348; - $$sum8$i = (($246) + 8)|0; - $505 = (($v$3$lcssa$i) + ($$sum8$i)|0); - HEAP32[$505>>2] = $500; - $$sum9$i = (($246) + 12)|0; - $506 = (($v$3$lcssa$i) + ($$sum9$i)|0); - HEAP32[$506>>2] = $T$0$lcssa$i; - $$sum10$i = (($246) + 24)|0; - $507 = (($v$3$lcssa$i) + ($$sum10$i)|0); - HEAP32[$507>>2] = 0; - break; - } else { - _abort(); - // unreachable; - } - } - } while(0); - $508 = ((($v$3$lcssa$i)) + 8|0); - $mem$0 = $508; - return ($mem$0|0); - } else { - $nb$0 = $246; - } - } - } - } - } - } while(0); - $509 = HEAP32[(8320)>>2]|0; - $510 = ($509>>>0)<($nb$0>>>0); - if (!($510)) { - $511 = (($509) - ($nb$0))|0; - $512 = HEAP32[(8332)>>2]|0; - $513 = ($511>>>0)>(15); - if ($513) { - $514 = (($512) + ($nb$0)|0); - HEAP32[(8332)>>2] = $514; - HEAP32[(8320)>>2] = $511; - $515 = $511 | 1; - $$sum2 = (($nb$0) + 4)|0; - $516 = (($512) + ($$sum2)|0); - HEAP32[$516>>2] = $515; - $517 = (($512) + ($509)|0); - HEAP32[$517>>2] = $511; - $518 = $nb$0 | 3; - $519 = ((($512)) + 4|0); - HEAP32[$519>>2] = $518; - } else { - HEAP32[(8320)>>2] = 0; - HEAP32[(8332)>>2] = 0; - $520 = $509 | 3; - $521 = ((($512)) + 4|0); - HEAP32[$521>>2] = $520; - $$sum1 = (($509) + 4)|0; - $522 = (($512) + ($$sum1)|0); - $523 = HEAP32[$522>>2]|0; - $524 = $523 | 1; - HEAP32[$522>>2] = $524; - } - $525 = ((($512)) + 8|0); - $mem$0 = $525; - return ($mem$0|0); - } - $526 = HEAP32[(8324)>>2]|0; - $527 = ($526>>>0)>($nb$0>>>0); - if ($527) { - $528 = (($526) - ($nb$0))|0; - HEAP32[(8324)>>2] = $528; - $529 = HEAP32[(8336)>>2]|0; - $530 = (($529) + ($nb$0)|0); - HEAP32[(8336)>>2] = $530; - $531 = $528 | 1; - $$sum = (($nb$0) + 4)|0; - $532 = (($529) + ($$sum)|0); - HEAP32[$532>>2] = $531; - $533 = $nb$0 | 3; - $534 = ((($529)) + 4|0); - HEAP32[$534>>2] = $533; - $535 = ((($529)) + 8|0); - $mem$0 = $535; - return ($mem$0|0); - } - $536 = HEAP32[8784>>2]|0; - $537 = ($536|0)==(0); - do { - if ($537) { - $538 = (_sysconf(30)|0); - $539 = (($538) + -1)|0; - $540 = $539 & $538; - $541 = ($540|0)==(0); - if ($541) { - HEAP32[(8792)>>2] = $538; - HEAP32[(8788)>>2] = $538; - HEAP32[(8796)>>2] = -1; - HEAP32[(8800)>>2] = -1; - HEAP32[(8804)>>2] = 0; - HEAP32[(8756)>>2] = 0; - $542 = (_time((0|0))|0); - $543 = $542 & -16; - $544 = $543 ^ 1431655768; - HEAP32[8784>>2] = $544; - break; - } else { - _abort(); - // unreachable; - } - } - } while(0); - $545 = (($nb$0) + 48)|0; - $546 = HEAP32[(8792)>>2]|0; - $547 = (($nb$0) + 47)|0; - $548 = (($546) + ($547))|0; - $549 = (0 - ($546))|0; - $550 = $548 & $549; - $551 = ($550>>>0)>($nb$0>>>0); - if (!($551)) { - $mem$0 = 0; - return ($mem$0|0); - } - $552 = HEAP32[(8752)>>2]|0; - $553 = ($552|0)==(0); - if (!($553)) { - $554 = HEAP32[(8744)>>2]|0; - $555 = (($554) + ($550))|0; - $556 = ($555>>>0)<=($554>>>0); - $557 = ($555>>>0)>($552>>>0); - $or$cond1$i = $556 | $557; - if ($or$cond1$i) { - $mem$0 = 0; - return ($mem$0|0); - } - } - $558 = HEAP32[(8756)>>2]|0; - $559 = $558 & 4; - $560 = ($559|0)==(0); - L258: do { - if ($560) { - $561 = HEAP32[(8336)>>2]|0; - $562 = ($561|0)==(0|0); - L260: do { - if ($562) { - label = 174; - } else { - $sp$0$i$i = (8760); - while(1) { - $563 = HEAP32[$sp$0$i$i>>2]|0; - $564 = ($563>>>0)>($561>>>0); - if (!($564)) { - $565 = ((($sp$0$i$i)) + 4|0); - $566 = HEAP32[$565>>2]|0; - $567 = (($563) + ($566)|0); - $568 = ($567>>>0)>($561>>>0); - if ($568) { - $$lcssa228 = $sp$0$i$i;$$lcssa230 = $565; - break; - } - } - $569 = ((($sp$0$i$i)) + 8|0); - $570 = HEAP32[$569>>2]|0; - $571 = ($570|0)==(0|0); - if ($571) { - label = 174; - break L260; - } else { - $sp$0$i$i = $570; - } - } - $594 = HEAP32[(8324)>>2]|0; - $595 = (($548) - ($594))|0; - $596 = $595 & $549; - $597 = ($596>>>0)<(2147483647); - if ($597) { - $598 = (_sbrk(($596|0))|0); - $599 = HEAP32[$$lcssa228>>2]|0; - $600 = HEAP32[$$lcssa230>>2]|0; - $601 = (($599) + ($600)|0); - $602 = ($598|0)==($601|0); - $$3$i = $602 ? $596 : 0; - if ($602) { - $603 = ($598|0)==((-1)|0); - if ($603) { - $tsize$0323944$i = $$3$i; - } else { - $tbase$255$i = $598;$tsize$254$i = $$3$i; - label = 194; - break L258; - } - } else { - $br$0$ph$i = $598;$ssize$1$ph$i = $596;$tsize$0$ph$i = $$3$i; - label = 184; - } - } else { - $tsize$0323944$i = 0; - } - } - } while(0); - do { - if ((label|0) == 174) { - $572 = (_sbrk(0)|0); - $573 = ($572|0)==((-1)|0); - if ($573) { - $tsize$0323944$i = 0; - } else { - $574 = $572; - $575 = HEAP32[(8788)>>2]|0; - $576 = (($575) + -1)|0; - $577 = $576 & $574; - $578 = ($577|0)==(0); - if ($578) { - $ssize$0$i = $550; - } else { - $579 = (($576) + ($574))|0; - $580 = (0 - ($575))|0; - $581 = $579 & $580; - $582 = (($550) - ($574))|0; - $583 = (($582) + ($581))|0; - $ssize$0$i = $583; - } - $584 = HEAP32[(8744)>>2]|0; - $585 = (($584) + ($ssize$0$i))|0; - $586 = ($ssize$0$i>>>0)>($nb$0>>>0); - $587 = ($ssize$0$i>>>0)<(2147483647); - $or$cond$i30 = $586 & $587; - if ($or$cond$i30) { - $588 = HEAP32[(8752)>>2]|0; - $589 = ($588|0)==(0); - if (!($589)) { - $590 = ($585>>>0)<=($584>>>0); - $591 = ($585>>>0)>($588>>>0); - $or$cond2$i = $590 | $591; - if ($or$cond2$i) { - $tsize$0323944$i = 0; - break; - } - } - $592 = (_sbrk(($ssize$0$i|0))|0); - $593 = ($592|0)==($572|0); - $ssize$0$$i = $593 ? $ssize$0$i : 0; - if ($593) { - $tbase$255$i = $572;$tsize$254$i = $ssize$0$$i; - label = 194; - break L258; - } else { - $br$0$ph$i = $592;$ssize$1$ph$i = $ssize$0$i;$tsize$0$ph$i = $ssize$0$$i; - label = 184; - } - } else { - $tsize$0323944$i = 0; - } - } - } - } while(0); - L280: do { - if ((label|0) == 184) { - $604 = (0 - ($ssize$1$ph$i))|0; - $605 = ($br$0$ph$i|0)!=((-1)|0); - $606 = ($ssize$1$ph$i>>>0)<(2147483647); - $or$cond5$i = $606 & $605; - $607 = ($545>>>0)>($ssize$1$ph$i>>>0); - $or$cond6$i = $607 & $or$cond5$i; - do { - if ($or$cond6$i) { - $608 = HEAP32[(8792)>>2]|0; - $609 = (($547) - ($ssize$1$ph$i))|0; - $610 = (($609) + ($608))|0; - $611 = (0 - ($608))|0; - $612 = $610 & $611; - $613 = ($612>>>0)<(2147483647); - if ($613) { - $614 = (_sbrk(($612|0))|0); - $615 = ($614|0)==((-1)|0); - if ($615) { - (_sbrk(($604|0))|0); - $tsize$0323944$i = $tsize$0$ph$i; - break L280; - } else { - $616 = (($612) + ($ssize$1$ph$i))|0; - $ssize$2$i = $616; - break; - } - } else { - $ssize$2$i = $ssize$1$ph$i; - } - } else { - $ssize$2$i = $ssize$1$ph$i; - } - } while(0); - $617 = ($br$0$ph$i|0)==((-1)|0); - if ($617) { - $tsize$0323944$i = $tsize$0$ph$i; - } else { - $tbase$255$i = $br$0$ph$i;$tsize$254$i = $ssize$2$i; - label = 194; - break L258; - } - } - } while(0); - $618 = HEAP32[(8756)>>2]|0; - $619 = $618 | 4; - HEAP32[(8756)>>2] = $619; - $tsize$1$i = $tsize$0323944$i; - label = 191; - } else { - $tsize$1$i = 0; - label = 191; - } - } while(0); - if ((label|0) == 191) { - $620 = ($550>>>0)<(2147483647); - if ($620) { - $621 = (_sbrk(($550|0))|0); - $622 = (_sbrk(0)|0); - $623 = ($621|0)!=((-1)|0); - $624 = ($622|0)!=((-1)|0); - $or$cond3$i = $623 & $624; - $625 = ($621>>>0)<($622>>>0); - $or$cond8$i = $625 & $or$cond3$i; - if ($or$cond8$i) { - $626 = $622; - $627 = $621; - $628 = (($626) - ($627))|0; - $629 = (($nb$0) + 40)|0; - $630 = ($628>>>0)>($629>>>0); - $$tsize$1$i = $630 ? $628 : $tsize$1$i; - if ($630) { - $tbase$255$i = $621;$tsize$254$i = $$tsize$1$i; - label = 194; - } - } - } - } - if ((label|0) == 194) { - $631 = HEAP32[(8744)>>2]|0; - $632 = (($631) + ($tsize$254$i))|0; - HEAP32[(8744)>>2] = $632; - $633 = HEAP32[(8748)>>2]|0; - $634 = ($632>>>0)>($633>>>0); - if ($634) { - HEAP32[(8748)>>2] = $632; - } - $635 = HEAP32[(8336)>>2]|0; - $636 = ($635|0)==(0|0); - L299: do { - if ($636) { - $637 = HEAP32[(8328)>>2]|0; - $638 = ($637|0)==(0|0); - $639 = ($tbase$255$i>>>0)<($637>>>0); - $or$cond9$i = $638 | $639; - if ($or$cond9$i) { - HEAP32[(8328)>>2] = $tbase$255$i; - } - HEAP32[(8760)>>2] = $tbase$255$i; - HEAP32[(8764)>>2] = $tsize$254$i; - HEAP32[(8772)>>2] = 0; - $640 = HEAP32[8784>>2]|0; - HEAP32[(8348)>>2] = $640; - HEAP32[(8344)>>2] = -1; - $i$02$i$i = 0; - while(1) { - $641 = $i$02$i$i << 1; - $642 = (8352 + ($641<<2)|0); - $$sum$i$i = (($641) + 3)|0; - $643 = (8352 + ($$sum$i$i<<2)|0); - HEAP32[$643>>2] = $642; - $$sum1$i$i = (($641) + 2)|0; - $644 = (8352 + ($$sum1$i$i<<2)|0); - HEAP32[$644>>2] = $642; - $645 = (($i$02$i$i) + 1)|0; - $exitcond$i$i = ($645|0)==(32); - if ($exitcond$i$i) { - break; - } else { - $i$02$i$i = $645; - } - } - $646 = (($tsize$254$i) + -40)|0; - $647 = ((($tbase$255$i)) + 8|0); - $648 = $647; - $649 = $648 & 7; - $650 = ($649|0)==(0); - $651 = (0 - ($648))|0; - $652 = $651 & 7; - $653 = $650 ? 0 : $652; - $654 = (($tbase$255$i) + ($653)|0); - $655 = (($646) - ($653))|0; - HEAP32[(8336)>>2] = $654; - HEAP32[(8324)>>2] = $655; - $656 = $655 | 1; - $$sum$i13$i = (($653) + 4)|0; - $657 = (($tbase$255$i) + ($$sum$i13$i)|0); - HEAP32[$657>>2] = $656; - $$sum2$i$i = (($tsize$254$i) + -36)|0; - $658 = (($tbase$255$i) + ($$sum2$i$i)|0); - HEAP32[$658>>2] = 40; - $659 = HEAP32[(8800)>>2]|0; - HEAP32[(8340)>>2] = $659; - } else { - $sp$084$i = (8760); - while(1) { - $660 = HEAP32[$sp$084$i>>2]|0; - $661 = ((($sp$084$i)) + 4|0); - $662 = HEAP32[$661>>2]|0; - $663 = (($660) + ($662)|0); - $664 = ($tbase$255$i|0)==($663|0); - if ($664) { - $$lcssa222 = $660;$$lcssa224 = $661;$$lcssa226 = $662;$sp$084$i$lcssa = $sp$084$i; - label = 204; - break; - } - $665 = ((($sp$084$i)) + 8|0); - $666 = HEAP32[$665>>2]|0; - $667 = ($666|0)==(0|0); - if ($667) { - break; - } else { - $sp$084$i = $666; - } - } - if ((label|0) == 204) { - $668 = ((($sp$084$i$lcssa)) + 12|0); - $669 = HEAP32[$668>>2]|0; - $670 = $669 & 8; - $671 = ($670|0)==(0); - if ($671) { - $672 = ($635>>>0)>=($$lcssa222>>>0); - $673 = ($635>>>0)<($tbase$255$i>>>0); - $or$cond57$i = $673 & $672; - if ($or$cond57$i) { - $674 = (($$lcssa226) + ($tsize$254$i))|0; - HEAP32[$$lcssa224>>2] = $674; - $675 = HEAP32[(8324)>>2]|0; - $676 = (($675) + ($tsize$254$i))|0; - $677 = ((($635)) + 8|0); - $678 = $677; - $679 = $678 & 7; - $680 = ($679|0)==(0); - $681 = (0 - ($678))|0; - $682 = $681 & 7; - $683 = $680 ? 0 : $682; - $684 = (($635) + ($683)|0); - $685 = (($676) - ($683))|0; - HEAP32[(8336)>>2] = $684; - HEAP32[(8324)>>2] = $685; - $686 = $685 | 1; - $$sum$i17$i = (($683) + 4)|0; - $687 = (($635) + ($$sum$i17$i)|0); - HEAP32[$687>>2] = $686; - $$sum2$i18$i = (($676) + 4)|0; - $688 = (($635) + ($$sum2$i18$i)|0); - HEAP32[$688>>2] = 40; - $689 = HEAP32[(8800)>>2]|0; - HEAP32[(8340)>>2] = $689; - break; - } - } - } - $690 = HEAP32[(8328)>>2]|0; - $691 = ($tbase$255$i>>>0)<($690>>>0); - if ($691) { - HEAP32[(8328)>>2] = $tbase$255$i; - $755 = $tbase$255$i; - } else { - $755 = $690; - } - $692 = (($tbase$255$i) + ($tsize$254$i)|0); - $sp$183$i = (8760); - while(1) { - $693 = HEAP32[$sp$183$i>>2]|0; - $694 = ($693|0)==($692|0); - if ($694) { - $$lcssa219 = $sp$183$i;$sp$183$i$lcssa = $sp$183$i; - label = 212; - break; - } - $695 = ((($sp$183$i)) + 8|0); - $696 = HEAP32[$695>>2]|0; - $697 = ($696|0)==(0|0); - if ($697) { - $sp$0$i$i$i = (8760); - break; - } else { - $sp$183$i = $696; - } - } - if ((label|0) == 212) { - $698 = ((($sp$183$i$lcssa)) + 12|0); - $699 = HEAP32[$698>>2]|0; - $700 = $699 & 8; - $701 = ($700|0)==(0); - if ($701) { - HEAP32[$$lcssa219>>2] = $tbase$255$i; - $702 = ((($sp$183$i$lcssa)) + 4|0); - $703 = HEAP32[$702>>2]|0; - $704 = (($703) + ($tsize$254$i))|0; - HEAP32[$702>>2] = $704; - $705 = ((($tbase$255$i)) + 8|0); - $706 = $705; - $707 = $706 & 7; - $708 = ($707|0)==(0); - $709 = (0 - ($706))|0; - $710 = $709 & 7; - $711 = $708 ? 0 : $710; - $712 = (($tbase$255$i) + ($711)|0); - $$sum112$i = (($tsize$254$i) + 8)|0; - $713 = (($tbase$255$i) + ($$sum112$i)|0); - $714 = $713; - $715 = $714 & 7; - $716 = ($715|0)==(0); - $717 = (0 - ($714))|0; - $718 = $717 & 7; - $719 = $716 ? 0 : $718; - $$sum113$i = (($719) + ($tsize$254$i))|0; - $720 = (($tbase$255$i) + ($$sum113$i)|0); - $721 = $720; - $722 = $712; - $723 = (($721) - ($722))|0; - $$sum$i19$i = (($711) + ($nb$0))|0; - $724 = (($tbase$255$i) + ($$sum$i19$i)|0); - $725 = (($723) - ($nb$0))|0; - $726 = $nb$0 | 3; - $$sum1$i20$i = (($711) + 4)|0; - $727 = (($tbase$255$i) + ($$sum1$i20$i)|0); - HEAP32[$727>>2] = $726; - $728 = ($720|0)==($635|0); - L324: do { - if ($728) { - $729 = HEAP32[(8324)>>2]|0; - $730 = (($729) + ($725))|0; - HEAP32[(8324)>>2] = $730; - HEAP32[(8336)>>2] = $724; - $731 = $730 | 1; - $$sum42$i$i = (($$sum$i19$i) + 4)|0; - $732 = (($tbase$255$i) + ($$sum42$i$i)|0); - HEAP32[$732>>2] = $731; - } else { - $733 = HEAP32[(8332)>>2]|0; - $734 = ($720|0)==($733|0); - if ($734) { - $735 = HEAP32[(8320)>>2]|0; - $736 = (($735) + ($725))|0; - HEAP32[(8320)>>2] = $736; - HEAP32[(8332)>>2] = $724; - $737 = $736 | 1; - $$sum40$i$i = (($$sum$i19$i) + 4)|0; - $738 = (($tbase$255$i) + ($$sum40$i$i)|0); - HEAP32[$738>>2] = $737; - $$sum41$i$i = (($736) + ($$sum$i19$i))|0; - $739 = (($tbase$255$i) + ($$sum41$i$i)|0); - HEAP32[$739>>2] = $736; - break; - } - $$sum2$i21$i = (($tsize$254$i) + 4)|0; - $$sum114$i = (($$sum2$i21$i) + ($719))|0; - $740 = (($tbase$255$i) + ($$sum114$i)|0); - $741 = HEAP32[$740>>2]|0; - $742 = $741 & 3; - $743 = ($742|0)==(1); - if ($743) { - $744 = $741 & -8; - $745 = $741 >>> 3; - $746 = ($741>>>0)<(256); - L332: do { - if ($746) { - $$sum3738$i$i = $719 | 8; - $$sum124$i = (($$sum3738$i$i) + ($tsize$254$i))|0; - $747 = (($tbase$255$i) + ($$sum124$i)|0); - $748 = HEAP32[$747>>2]|0; - $$sum39$i$i = (($tsize$254$i) + 12)|0; - $$sum125$i = (($$sum39$i$i) + ($719))|0; - $749 = (($tbase$255$i) + ($$sum125$i)|0); - $750 = HEAP32[$749>>2]|0; - $751 = $745 << 1; - $752 = (8352 + ($751<<2)|0); - $753 = ($748|0)==($752|0); - do { - if (!($753)) { - $754 = ($748>>>0)<($755>>>0); - if ($754) { - _abort(); - // unreachable; - } - $756 = ((($748)) + 12|0); - $757 = HEAP32[$756>>2]|0; - $758 = ($757|0)==($720|0); - if ($758) { - break; - } - _abort(); - // unreachable; - } - } while(0); - $759 = ($750|0)==($748|0); - if ($759) { - $760 = 1 << $745; - $761 = $760 ^ -1; - $762 = HEAP32[8312>>2]|0; - $763 = $762 & $761; - HEAP32[8312>>2] = $763; - break; - } - $764 = ($750|0)==($752|0); - do { - if ($764) { - $$pre57$i$i = ((($750)) + 8|0); - $$pre$phi58$i$iZ2D = $$pre57$i$i; - } else { - $765 = ($750>>>0)<($755>>>0); - if ($765) { - _abort(); - // unreachable; - } - $766 = ((($750)) + 8|0); - $767 = HEAP32[$766>>2]|0; - $768 = ($767|0)==($720|0); - if ($768) { - $$pre$phi58$i$iZ2D = $766; - break; - } - _abort(); - // unreachable; - } - } while(0); - $769 = ((($748)) + 12|0); - HEAP32[$769>>2] = $750; - HEAP32[$$pre$phi58$i$iZ2D>>2] = $748; - } else { - $$sum34$i$i = $719 | 24; - $$sum115$i = (($$sum34$i$i) + ($tsize$254$i))|0; - $770 = (($tbase$255$i) + ($$sum115$i)|0); - $771 = HEAP32[$770>>2]|0; - $$sum5$i$i = (($tsize$254$i) + 12)|0; - $$sum116$i = (($$sum5$i$i) + ($719))|0; - $772 = (($tbase$255$i) + ($$sum116$i)|0); - $773 = HEAP32[$772>>2]|0; - $774 = ($773|0)==($720|0); - do { - if ($774) { - $$sum67$i$i = $719 | 16; - $$sum122$i = (($$sum2$i21$i) + ($$sum67$i$i))|0; - $784 = (($tbase$255$i) + ($$sum122$i)|0); - $785 = HEAP32[$784>>2]|0; - $786 = ($785|0)==(0|0); - if ($786) { - $$sum123$i = (($$sum67$i$i) + ($tsize$254$i))|0; - $787 = (($tbase$255$i) + ($$sum123$i)|0); - $788 = HEAP32[$787>>2]|0; - $789 = ($788|0)==(0|0); - if ($789) { - $R$1$i$i = 0; - break; - } else { - $R$0$i$i = $788;$RP$0$i$i = $787; - } - } else { - $R$0$i$i = $785;$RP$0$i$i = $784; - } - while(1) { - $790 = ((($R$0$i$i)) + 20|0); - $791 = HEAP32[$790>>2]|0; - $792 = ($791|0)==(0|0); - if (!($792)) { - $R$0$i$i = $791;$RP$0$i$i = $790; - continue; - } - $793 = ((($R$0$i$i)) + 16|0); - $794 = HEAP32[$793>>2]|0; - $795 = ($794|0)==(0|0); - if ($795) { - $R$0$i$i$lcssa = $R$0$i$i;$RP$0$i$i$lcssa = $RP$0$i$i; - break; - } else { - $R$0$i$i = $794;$RP$0$i$i = $793; - } - } - $796 = ($RP$0$i$i$lcssa>>>0)<($755>>>0); - if ($796) { - _abort(); - // unreachable; - } else { - HEAP32[$RP$0$i$i$lcssa>>2] = 0; - $R$1$i$i = $R$0$i$i$lcssa; - break; - } - } else { - $$sum3536$i$i = $719 | 8; - $$sum117$i = (($$sum3536$i$i) + ($tsize$254$i))|0; - $775 = (($tbase$255$i) + ($$sum117$i)|0); - $776 = HEAP32[$775>>2]|0; - $777 = ($776>>>0)<($755>>>0); - if ($777) { - _abort(); - // unreachable; - } - $778 = ((($776)) + 12|0); - $779 = HEAP32[$778>>2]|0; - $780 = ($779|0)==($720|0); - if (!($780)) { - _abort(); - // unreachable; - } - $781 = ((($773)) + 8|0); - $782 = HEAP32[$781>>2]|0; - $783 = ($782|0)==($720|0); - if ($783) { - HEAP32[$778>>2] = $773; - HEAP32[$781>>2] = $776; - $R$1$i$i = $773; - break; - } else { - _abort(); - // unreachable; - } - } - } while(0); - $797 = ($771|0)==(0|0); - if ($797) { - break; - } - $$sum30$i$i = (($tsize$254$i) + 28)|0; - $$sum118$i = (($$sum30$i$i) + ($719))|0; - $798 = (($tbase$255$i) + ($$sum118$i)|0); - $799 = HEAP32[$798>>2]|0; - $800 = (8616 + ($799<<2)|0); - $801 = HEAP32[$800>>2]|0; - $802 = ($720|0)==($801|0); - do { - if ($802) { - HEAP32[$800>>2] = $R$1$i$i; - $cond$i$i = ($R$1$i$i|0)==(0|0); - if (!($cond$i$i)) { - break; - } - $803 = 1 << $799; - $804 = $803 ^ -1; - $805 = HEAP32[(8316)>>2]|0; - $806 = $805 & $804; - HEAP32[(8316)>>2] = $806; - break L332; - } else { - $807 = HEAP32[(8328)>>2]|0; - $808 = ($771>>>0)<($807>>>0); - if ($808) { - _abort(); - // unreachable; - } - $809 = ((($771)) + 16|0); - $810 = HEAP32[$809>>2]|0; - $811 = ($810|0)==($720|0); - if ($811) { - HEAP32[$809>>2] = $R$1$i$i; - } else { - $812 = ((($771)) + 20|0); - HEAP32[$812>>2] = $R$1$i$i; - } - $813 = ($R$1$i$i|0)==(0|0); - if ($813) { - break L332; - } - } - } while(0); - $814 = HEAP32[(8328)>>2]|0; - $815 = ($R$1$i$i>>>0)<($814>>>0); - if ($815) { - _abort(); - // unreachable; - } - $816 = ((($R$1$i$i)) + 24|0); - HEAP32[$816>>2] = $771; - $$sum3132$i$i = $719 | 16; - $$sum119$i = (($$sum3132$i$i) + ($tsize$254$i))|0; - $817 = (($tbase$255$i) + ($$sum119$i)|0); - $818 = HEAP32[$817>>2]|0; - $819 = ($818|0)==(0|0); - do { - if (!($819)) { - $820 = ($818>>>0)<($814>>>0); - if ($820) { - _abort(); - // unreachable; - } else { - $821 = ((($R$1$i$i)) + 16|0); - HEAP32[$821>>2] = $818; - $822 = ((($818)) + 24|0); - HEAP32[$822>>2] = $R$1$i$i; - break; - } - } - } while(0); - $$sum120$i = (($$sum2$i21$i) + ($$sum3132$i$i))|0; - $823 = (($tbase$255$i) + ($$sum120$i)|0); - $824 = HEAP32[$823>>2]|0; - $825 = ($824|0)==(0|0); - if ($825) { - break; - } - $826 = HEAP32[(8328)>>2]|0; - $827 = ($824>>>0)<($826>>>0); - if ($827) { - _abort(); - // unreachable; - } else { - $828 = ((($R$1$i$i)) + 20|0); - HEAP32[$828>>2] = $824; - $829 = ((($824)) + 24|0); - HEAP32[$829>>2] = $R$1$i$i; - break; - } - } - } while(0); - $$sum9$i$i = $744 | $719; - $$sum121$i = (($$sum9$i$i) + ($tsize$254$i))|0; - $830 = (($tbase$255$i) + ($$sum121$i)|0); - $831 = (($744) + ($725))|0; - $oldfirst$0$i$i = $830;$qsize$0$i$i = $831; - } else { - $oldfirst$0$i$i = $720;$qsize$0$i$i = $725; - } - $832 = ((($oldfirst$0$i$i)) + 4|0); - $833 = HEAP32[$832>>2]|0; - $834 = $833 & -2; - HEAP32[$832>>2] = $834; - $835 = $qsize$0$i$i | 1; - $$sum10$i$i = (($$sum$i19$i) + 4)|0; - $836 = (($tbase$255$i) + ($$sum10$i$i)|0); - HEAP32[$836>>2] = $835; - $$sum11$i$i = (($qsize$0$i$i) + ($$sum$i19$i))|0; - $837 = (($tbase$255$i) + ($$sum11$i$i)|0); - HEAP32[$837>>2] = $qsize$0$i$i; - $838 = $qsize$0$i$i >>> 3; - $839 = ($qsize$0$i$i>>>0)<(256); - if ($839) { - $840 = $838 << 1; - $841 = (8352 + ($840<<2)|0); - $842 = HEAP32[8312>>2]|0; - $843 = 1 << $838; - $844 = $842 & $843; - $845 = ($844|0)==(0); - do { - if ($845) { - $846 = $842 | $843; - HEAP32[8312>>2] = $846; - $$pre$i22$i = (($840) + 2)|0; - $$pre56$i$i = (8352 + ($$pre$i22$i<<2)|0); - $$pre$phi$i23$iZ2D = $$pre56$i$i;$F4$0$i$i = $841; - } else { - $$sum29$i$i = (($840) + 2)|0; - $847 = (8352 + ($$sum29$i$i<<2)|0); - $848 = HEAP32[$847>>2]|0; - $849 = HEAP32[(8328)>>2]|0; - $850 = ($848>>>0)<($849>>>0); - if (!($850)) { - $$pre$phi$i23$iZ2D = $847;$F4$0$i$i = $848; - break; - } - _abort(); - // unreachable; - } - } while(0); - HEAP32[$$pre$phi$i23$iZ2D>>2] = $724; - $851 = ((($F4$0$i$i)) + 12|0); - HEAP32[$851>>2] = $724; - $$sum27$i$i = (($$sum$i19$i) + 8)|0; - $852 = (($tbase$255$i) + ($$sum27$i$i)|0); - HEAP32[$852>>2] = $F4$0$i$i; - $$sum28$i$i = (($$sum$i19$i) + 12)|0; - $853 = (($tbase$255$i) + ($$sum28$i$i)|0); - HEAP32[$853>>2] = $841; - break; - } - $854 = $qsize$0$i$i >>> 8; - $855 = ($854|0)==(0); - do { - if ($855) { - $I7$0$i$i = 0; - } else { - $856 = ($qsize$0$i$i>>>0)>(16777215); - if ($856) { - $I7$0$i$i = 31; - break; - } - $857 = (($854) + 1048320)|0; - $858 = $857 >>> 16; - $859 = $858 & 8; - $860 = $854 << $859; - $861 = (($860) + 520192)|0; - $862 = $861 >>> 16; - $863 = $862 & 4; - $864 = $863 | $859; - $865 = $860 << $863; - $866 = (($865) + 245760)|0; - $867 = $866 >>> 16; - $868 = $867 & 2; - $869 = $864 | $868; - $870 = (14 - ($869))|0; - $871 = $865 << $868; - $872 = $871 >>> 15; - $873 = (($870) + ($872))|0; - $874 = $873 << 1; - $875 = (($873) + 7)|0; - $876 = $qsize$0$i$i >>> $875; - $877 = $876 & 1; - $878 = $877 | $874; - $I7$0$i$i = $878; - } - } while(0); - $879 = (8616 + ($I7$0$i$i<<2)|0); - $$sum12$i$i = (($$sum$i19$i) + 28)|0; - $880 = (($tbase$255$i) + ($$sum12$i$i)|0); - HEAP32[$880>>2] = $I7$0$i$i; - $$sum13$i$i = (($$sum$i19$i) + 16)|0; - $881 = (($tbase$255$i) + ($$sum13$i$i)|0); - $$sum14$i$i = (($$sum$i19$i) + 20)|0; - $882 = (($tbase$255$i) + ($$sum14$i$i)|0); - HEAP32[$882>>2] = 0; - HEAP32[$881>>2] = 0; - $883 = HEAP32[(8316)>>2]|0; - $884 = 1 << $I7$0$i$i; - $885 = $883 & $884; - $886 = ($885|0)==(0); - if ($886) { - $887 = $883 | $884; - HEAP32[(8316)>>2] = $887; - HEAP32[$879>>2] = $724; - $$sum15$i$i = (($$sum$i19$i) + 24)|0; - $888 = (($tbase$255$i) + ($$sum15$i$i)|0); - HEAP32[$888>>2] = $879; - $$sum16$i$i = (($$sum$i19$i) + 12)|0; - $889 = (($tbase$255$i) + ($$sum16$i$i)|0); - HEAP32[$889>>2] = $724; - $$sum17$i$i = (($$sum$i19$i) + 8)|0; - $890 = (($tbase$255$i) + ($$sum17$i$i)|0); - HEAP32[$890>>2] = $724; - break; - } - $891 = HEAP32[$879>>2]|0; - $892 = ((($891)) + 4|0); - $893 = HEAP32[$892>>2]|0; - $894 = $893 & -8; - $895 = ($894|0)==($qsize$0$i$i|0); - L418: do { - if ($895) { - $T$0$lcssa$i25$i = $891; - } else { - $896 = ($I7$0$i$i|0)==(31); - $897 = $I7$0$i$i >>> 1; - $898 = (25 - ($897))|0; - $899 = $896 ? 0 : $898; - $900 = $qsize$0$i$i << $899; - $K8$051$i$i = $900;$T$050$i$i = $891; - while(1) { - $907 = $K8$051$i$i >>> 31; - $908 = (((($T$050$i$i)) + 16|0) + ($907<<2)|0); - $903 = HEAP32[$908>>2]|0; - $909 = ($903|0)==(0|0); - if ($909) { - $$lcssa = $908;$T$050$i$i$lcssa = $T$050$i$i; - break; - } - $901 = $K8$051$i$i << 1; - $902 = ((($903)) + 4|0); - $904 = HEAP32[$902>>2]|0; - $905 = $904 & -8; - $906 = ($905|0)==($qsize$0$i$i|0); - if ($906) { - $T$0$lcssa$i25$i = $903; - break L418; - } else { - $K8$051$i$i = $901;$T$050$i$i = $903; - } - } - $910 = HEAP32[(8328)>>2]|0; - $911 = ($$lcssa>>>0)<($910>>>0); - if ($911) { - _abort(); - // unreachable; - } else { - HEAP32[$$lcssa>>2] = $724; - $$sum23$i$i = (($$sum$i19$i) + 24)|0; - $912 = (($tbase$255$i) + ($$sum23$i$i)|0); - HEAP32[$912>>2] = $T$050$i$i$lcssa; - $$sum24$i$i = (($$sum$i19$i) + 12)|0; - $913 = (($tbase$255$i) + ($$sum24$i$i)|0); - HEAP32[$913>>2] = $724; - $$sum25$i$i = (($$sum$i19$i) + 8)|0; - $914 = (($tbase$255$i) + ($$sum25$i$i)|0); - HEAP32[$914>>2] = $724; - break L324; - } - } - } while(0); - $915 = ((($T$0$lcssa$i25$i)) + 8|0); - $916 = HEAP32[$915>>2]|0; - $917 = HEAP32[(8328)>>2]|0; - $918 = ($916>>>0)>=($917>>>0); - $not$$i26$i = ($T$0$lcssa$i25$i>>>0)>=($917>>>0); - $919 = $918 & $not$$i26$i; - if ($919) { - $920 = ((($916)) + 12|0); - HEAP32[$920>>2] = $724; - HEAP32[$915>>2] = $724; - $$sum20$i$i = (($$sum$i19$i) + 8)|0; - $921 = (($tbase$255$i) + ($$sum20$i$i)|0); - HEAP32[$921>>2] = $916; - $$sum21$i$i = (($$sum$i19$i) + 12)|0; - $922 = (($tbase$255$i) + ($$sum21$i$i)|0); - HEAP32[$922>>2] = $T$0$lcssa$i25$i; - $$sum22$i$i = (($$sum$i19$i) + 24)|0; - $923 = (($tbase$255$i) + ($$sum22$i$i)|0); - HEAP32[$923>>2] = 0; - break; - } else { - _abort(); - // unreachable; - } - } - } while(0); - $$sum1819$i$i = $711 | 8; - $924 = (($tbase$255$i) + ($$sum1819$i$i)|0); - $mem$0 = $924; - return ($mem$0|0); - } else { - $sp$0$i$i$i = (8760); - } - } - while(1) { - $925 = HEAP32[$sp$0$i$i$i>>2]|0; - $926 = ($925>>>0)>($635>>>0); - if (!($926)) { - $927 = ((($sp$0$i$i$i)) + 4|0); - $928 = HEAP32[$927>>2]|0; - $929 = (($925) + ($928)|0); - $930 = ($929>>>0)>($635>>>0); - if ($930) { - $$lcssa215 = $925;$$lcssa216 = $928;$$lcssa217 = $929; - break; - } - } - $931 = ((($sp$0$i$i$i)) + 8|0); - $932 = HEAP32[$931>>2]|0; - $sp$0$i$i$i = $932; - } - $$sum$i14$i = (($$lcssa216) + -47)|0; - $$sum1$i15$i = (($$lcssa216) + -39)|0; - $933 = (($$lcssa215) + ($$sum1$i15$i)|0); - $934 = $933; - $935 = $934 & 7; - $936 = ($935|0)==(0); - $937 = (0 - ($934))|0; - $938 = $937 & 7; - $939 = $936 ? 0 : $938; - $$sum2$i16$i = (($$sum$i14$i) + ($939))|0; - $940 = (($$lcssa215) + ($$sum2$i16$i)|0); - $941 = ((($635)) + 16|0); - $942 = ($940>>>0)<($941>>>0); - $943 = $942 ? $635 : $940; - $944 = ((($943)) + 8|0); - $945 = (($tsize$254$i) + -40)|0; - $946 = ((($tbase$255$i)) + 8|0); - $947 = $946; - $948 = $947 & 7; - $949 = ($948|0)==(0); - $950 = (0 - ($947))|0; - $951 = $950 & 7; - $952 = $949 ? 0 : $951; - $953 = (($tbase$255$i) + ($952)|0); - $954 = (($945) - ($952))|0; - HEAP32[(8336)>>2] = $953; - HEAP32[(8324)>>2] = $954; - $955 = $954 | 1; - $$sum$i$i$i = (($952) + 4)|0; - $956 = (($tbase$255$i) + ($$sum$i$i$i)|0); - HEAP32[$956>>2] = $955; - $$sum2$i$i$i = (($tsize$254$i) + -36)|0; - $957 = (($tbase$255$i) + ($$sum2$i$i$i)|0); - HEAP32[$957>>2] = 40; - $958 = HEAP32[(8800)>>2]|0; - HEAP32[(8340)>>2] = $958; - $959 = ((($943)) + 4|0); - HEAP32[$959>>2] = 27; - ;HEAP32[$944>>2]=HEAP32[(8760)>>2]|0;HEAP32[$944+4>>2]=HEAP32[(8760)+4>>2]|0;HEAP32[$944+8>>2]=HEAP32[(8760)+8>>2]|0;HEAP32[$944+12>>2]=HEAP32[(8760)+12>>2]|0; - HEAP32[(8760)>>2] = $tbase$255$i; - HEAP32[(8764)>>2] = $tsize$254$i; - HEAP32[(8772)>>2] = 0; - HEAP32[(8768)>>2] = $944; - $960 = ((($943)) + 28|0); - HEAP32[$960>>2] = 7; - $961 = ((($943)) + 32|0); - $962 = ($961>>>0)<($$lcssa217>>>0); - if ($962) { - $964 = $960; - while(1) { - $963 = ((($964)) + 4|0); - HEAP32[$963>>2] = 7; - $965 = ((($964)) + 8|0); - $966 = ($965>>>0)<($$lcssa217>>>0); - if ($966) { - $964 = $963; - } else { - break; - } - } - } - $967 = ($943|0)==($635|0); - if (!($967)) { - $968 = $943; - $969 = $635; - $970 = (($968) - ($969))|0; - $971 = HEAP32[$959>>2]|0; - $972 = $971 & -2; - HEAP32[$959>>2] = $972; - $973 = $970 | 1; - $974 = ((($635)) + 4|0); - HEAP32[$974>>2] = $973; - HEAP32[$943>>2] = $970; - $975 = $970 >>> 3; - $976 = ($970>>>0)<(256); - if ($976) { - $977 = $975 << 1; - $978 = (8352 + ($977<<2)|0); - $979 = HEAP32[8312>>2]|0; - $980 = 1 << $975; - $981 = $979 & $980; - $982 = ($981|0)==(0); - if ($982) { - $983 = $979 | $980; - HEAP32[8312>>2] = $983; - $$pre$i$i = (($977) + 2)|0; - $$pre14$i$i = (8352 + ($$pre$i$i<<2)|0); - $$pre$phi$i$iZ2D = $$pre14$i$i;$F$0$i$i = $978; - } else { - $$sum4$i$i = (($977) + 2)|0; - $984 = (8352 + ($$sum4$i$i<<2)|0); - $985 = HEAP32[$984>>2]|0; - $986 = HEAP32[(8328)>>2]|0; - $987 = ($985>>>0)<($986>>>0); - if ($987) { - _abort(); - // unreachable; - } else { - $$pre$phi$i$iZ2D = $984;$F$0$i$i = $985; - } - } - HEAP32[$$pre$phi$i$iZ2D>>2] = $635; - $988 = ((($F$0$i$i)) + 12|0); - HEAP32[$988>>2] = $635; - $989 = ((($635)) + 8|0); - HEAP32[$989>>2] = $F$0$i$i; - $990 = ((($635)) + 12|0); - HEAP32[$990>>2] = $978; - break; - } - $991 = $970 >>> 8; - $992 = ($991|0)==(0); - if ($992) { - $I1$0$i$i = 0; - } else { - $993 = ($970>>>0)>(16777215); - if ($993) { - $I1$0$i$i = 31; - } else { - $994 = (($991) + 1048320)|0; - $995 = $994 >>> 16; - $996 = $995 & 8; - $997 = $991 << $996; - $998 = (($997) + 520192)|0; - $999 = $998 >>> 16; - $1000 = $999 & 4; - $1001 = $1000 | $996; - $1002 = $997 << $1000; - $1003 = (($1002) + 245760)|0; - $1004 = $1003 >>> 16; - $1005 = $1004 & 2; - $1006 = $1001 | $1005; - $1007 = (14 - ($1006))|0; - $1008 = $1002 << $1005; - $1009 = $1008 >>> 15; - $1010 = (($1007) + ($1009))|0; - $1011 = $1010 << 1; - $1012 = (($1010) + 7)|0; - $1013 = $970 >>> $1012; - $1014 = $1013 & 1; - $1015 = $1014 | $1011; - $I1$0$i$i = $1015; - } - } - $1016 = (8616 + ($I1$0$i$i<<2)|0); - $1017 = ((($635)) + 28|0); - HEAP32[$1017>>2] = $I1$0$i$i; - $1018 = ((($635)) + 20|0); - HEAP32[$1018>>2] = 0; - HEAP32[$941>>2] = 0; - $1019 = HEAP32[(8316)>>2]|0; - $1020 = 1 << $I1$0$i$i; - $1021 = $1019 & $1020; - $1022 = ($1021|0)==(0); - if ($1022) { - $1023 = $1019 | $1020; - HEAP32[(8316)>>2] = $1023; - HEAP32[$1016>>2] = $635; - $1024 = ((($635)) + 24|0); - HEAP32[$1024>>2] = $1016; - $1025 = ((($635)) + 12|0); - HEAP32[$1025>>2] = $635; - $1026 = ((($635)) + 8|0); - HEAP32[$1026>>2] = $635; - break; - } - $1027 = HEAP32[$1016>>2]|0; - $1028 = ((($1027)) + 4|0); - $1029 = HEAP32[$1028>>2]|0; - $1030 = $1029 & -8; - $1031 = ($1030|0)==($970|0); - L459: do { - if ($1031) { - $T$0$lcssa$i$i = $1027; - } else { - $1032 = ($I1$0$i$i|0)==(31); - $1033 = $I1$0$i$i >>> 1; - $1034 = (25 - ($1033))|0; - $1035 = $1032 ? 0 : $1034; - $1036 = $970 << $1035; - $K2$07$i$i = $1036;$T$06$i$i = $1027; - while(1) { - $1043 = $K2$07$i$i >>> 31; - $1044 = (((($T$06$i$i)) + 16|0) + ($1043<<2)|0); - $1039 = HEAP32[$1044>>2]|0; - $1045 = ($1039|0)==(0|0); - if ($1045) { - $$lcssa211 = $1044;$T$06$i$i$lcssa = $T$06$i$i; - break; - } - $1037 = $K2$07$i$i << 1; - $1038 = ((($1039)) + 4|0); - $1040 = HEAP32[$1038>>2]|0; - $1041 = $1040 & -8; - $1042 = ($1041|0)==($970|0); - if ($1042) { - $T$0$lcssa$i$i = $1039; - break L459; - } else { - $K2$07$i$i = $1037;$T$06$i$i = $1039; - } - } - $1046 = HEAP32[(8328)>>2]|0; - $1047 = ($$lcssa211>>>0)<($1046>>>0); - if ($1047) { - _abort(); - // unreachable; - } else { - HEAP32[$$lcssa211>>2] = $635; - $1048 = ((($635)) + 24|0); - HEAP32[$1048>>2] = $T$06$i$i$lcssa; - $1049 = ((($635)) + 12|0); - HEAP32[$1049>>2] = $635; - $1050 = ((($635)) + 8|0); - HEAP32[$1050>>2] = $635; - break L299; - } - } - } while(0); - $1051 = ((($T$0$lcssa$i$i)) + 8|0); - $1052 = HEAP32[$1051>>2]|0; - $1053 = HEAP32[(8328)>>2]|0; - $1054 = ($1052>>>0)>=($1053>>>0); - $not$$i$i = ($T$0$lcssa$i$i>>>0)>=($1053>>>0); - $1055 = $1054 & $not$$i$i; - if ($1055) { - $1056 = ((($1052)) + 12|0); - HEAP32[$1056>>2] = $635; - HEAP32[$1051>>2] = $635; - $1057 = ((($635)) + 8|0); - HEAP32[$1057>>2] = $1052; - $1058 = ((($635)) + 12|0); - HEAP32[$1058>>2] = $T$0$lcssa$i$i; - $1059 = ((($635)) + 24|0); - HEAP32[$1059>>2] = 0; - break; - } else { - _abort(); - // unreachable; - } - } - } - } while(0); - $1060 = HEAP32[(8324)>>2]|0; - $1061 = ($1060>>>0)>($nb$0>>>0); - if ($1061) { - $1062 = (($1060) - ($nb$0))|0; - HEAP32[(8324)>>2] = $1062; - $1063 = HEAP32[(8336)>>2]|0; - $1064 = (($1063) + ($nb$0)|0); - HEAP32[(8336)>>2] = $1064; - $1065 = $1062 | 1; - $$sum$i32 = (($nb$0) + 4)|0; - $1066 = (($1063) + ($$sum$i32)|0); - HEAP32[$1066>>2] = $1065; - $1067 = $nb$0 | 3; - $1068 = ((($1063)) + 4|0); - HEAP32[$1068>>2] = $1067; - $1069 = ((($1063)) + 8|0); - $mem$0 = $1069; - return ($mem$0|0); - } - } - $1070 = (___errno_location()|0); - HEAP32[$1070>>2] = 12; - $mem$0 = 0; - return ($mem$0|0); -} -function _free($mem) { - $mem = $mem|0; - var $$lcssa = 0, $$pre = 0, $$pre$phi59Z2D = 0, $$pre$phi61Z2D = 0, $$pre$phiZ2D = 0, $$pre57 = 0, $$pre58 = 0, $$pre60 = 0, $$sum = 0, $$sum11 = 0, $$sum12 = 0, $$sum13 = 0, $$sum14 = 0, $$sum1718 = 0, $$sum19 = 0, $$sum2 = 0, $$sum20 = 0, $$sum22 = 0, $$sum23 = 0, $$sum24 = 0; - var $$sum25 = 0, $$sum26 = 0, $$sum27 = 0, $$sum28 = 0, $$sum29 = 0, $$sum3 = 0, $$sum30 = 0, $$sum31 = 0, $$sum5 = 0, $$sum67 = 0, $$sum8 = 0, $$sum9 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0; - var $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0; - var $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0; - var $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0; - var $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0; - var $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0; - var $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0; - var $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0; - var $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0; - var $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0; - var $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0; - var $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0; - var $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0; - var $321 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0; - var $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0; - var $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0; - var $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $F16$0 = 0, $I18$0 = 0, $K19$052 = 0, $R$0 = 0, $R$0$lcssa = 0, $R$1 = 0; - var $R7$0 = 0, $R7$0$lcssa = 0, $R7$1 = 0, $RP$0 = 0, $RP$0$lcssa = 0, $RP9$0 = 0, $RP9$0$lcssa = 0, $T$0$lcssa = 0, $T$051 = 0, $T$051$lcssa = 0, $cond = 0, $cond47 = 0, $not$ = 0, $p$0 = 0, $psize$0 = 0, $psize$1 = 0, $sp$0$i = 0, $sp$0$in$i = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ($mem|0)==(0|0); - if ($0) { - return; - } - $1 = ((($mem)) + -8|0); - $2 = HEAP32[(8328)>>2]|0; - $3 = ($1>>>0)<($2>>>0); - if ($3) { - _abort(); - // unreachable; - } - $4 = ((($mem)) + -4|0); - $5 = HEAP32[$4>>2]|0; - $6 = $5 & 3; - $7 = ($6|0)==(1); - if ($7) { - _abort(); - // unreachable; - } - $8 = $5 & -8; - $$sum = (($8) + -8)|0; - $9 = (($mem) + ($$sum)|0); - $10 = $5 & 1; - $11 = ($10|0)==(0); - do { - if ($11) { - $12 = HEAP32[$1>>2]|0; - $13 = ($6|0)==(0); - if ($13) { - return; - } - $$sum2 = (-8 - ($12))|0; - $14 = (($mem) + ($$sum2)|0); - $15 = (($12) + ($8))|0; - $16 = ($14>>>0)<($2>>>0); - if ($16) { - _abort(); - // unreachable; - } - $17 = HEAP32[(8332)>>2]|0; - $18 = ($14|0)==($17|0); - if ($18) { - $$sum3 = (($8) + -4)|0; - $103 = (($mem) + ($$sum3)|0); - $104 = HEAP32[$103>>2]|0; - $105 = $104 & 3; - $106 = ($105|0)==(3); - if (!($106)) { - $p$0 = $14;$psize$0 = $15; - break; - } - HEAP32[(8320)>>2] = $15; - $107 = $104 & -2; - HEAP32[$103>>2] = $107; - $108 = $15 | 1; - $$sum20 = (($$sum2) + 4)|0; - $109 = (($mem) + ($$sum20)|0); - HEAP32[$109>>2] = $108; - HEAP32[$9>>2] = $15; - return; - } - $19 = $12 >>> 3; - $20 = ($12>>>0)<(256); - if ($20) { - $$sum30 = (($$sum2) + 8)|0; - $21 = (($mem) + ($$sum30)|0); - $22 = HEAP32[$21>>2]|0; - $$sum31 = (($$sum2) + 12)|0; - $23 = (($mem) + ($$sum31)|0); - $24 = HEAP32[$23>>2]|0; - $25 = $19 << 1; - $26 = (8352 + ($25<<2)|0); - $27 = ($22|0)==($26|0); - if (!($27)) { - $28 = ($22>>>0)<($2>>>0); - if ($28) { - _abort(); - // unreachable; - } - $29 = ((($22)) + 12|0); - $30 = HEAP32[$29>>2]|0; - $31 = ($30|0)==($14|0); - if (!($31)) { - _abort(); - // unreachable; - } - } - $32 = ($24|0)==($22|0); - if ($32) { - $33 = 1 << $19; - $34 = $33 ^ -1; - $35 = HEAP32[8312>>2]|0; - $36 = $35 & $34; - HEAP32[8312>>2] = $36; - $p$0 = $14;$psize$0 = $15; - break; - } - $37 = ($24|0)==($26|0); - if ($37) { - $$pre60 = ((($24)) + 8|0); - $$pre$phi61Z2D = $$pre60; - } else { - $38 = ($24>>>0)<($2>>>0); - if ($38) { - _abort(); - // unreachable; - } - $39 = ((($24)) + 8|0); - $40 = HEAP32[$39>>2]|0; - $41 = ($40|0)==($14|0); - if ($41) { - $$pre$phi61Z2D = $39; - } else { - _abort(); - // unreachable; - } - } - $42 = ((($22)) + 12|0); - HEAP32[$42>>2] = $24; - HEAP32[$$pre$phi61Z2D>>2] = $22; - $p$0 = $14;$psize$0 = $15; - break; - } - $$sum22 = (($$sum2) + 24)|0; - $43 = (($mem) + ($$sum22)|0); - $44 = HEAP32[$43>>2]|0; - $$sum23 = (($$sum2) + 12)|0; - $45 = (($mem) + ($$sum23)|0); - $46 = HEAP32[$45>>2]|0; - $47 = ($46|0)==($14|0); - do { - if ($47) { - $$sum25 = (($$sum2) + 20)|0; - $57 = (($mem) + ($$sum25)|0); - $58 = HEAP32[$57>>2]|0; - $59 = ($58|0)==(0|0); - if ($59) { - $$sum24 = (($$sum2) + 16)|0; - $60 = (($mem) + ($$sum24)|0); - $61 = HEAP32[$60>>2]|0; - $62 = ($61|0)==(0|0); - if ($62) { - $R$1 = 0; - break; - } else { - $R$0 = $61;$RP$0 = $60; - } - } else { - $R$0 = $58;$RP$0 = $57; - } - while(1) { - $63 = ((($R$0)) + 20|0); - $64 = HEAP32[$63>>2]|0; - $65 = ($64|0)==(0|0); - if (!($65)) { - $R$0 = $64;$RP$0 = $63; - continue; - } - $66 = ((($R$0)) + 16|0); - $67 = HEAP32[$66>>2]|0; - $68 = ($67|0)==(0|0); - if ($68) { - $R$0$lcssa = $R$0;$RP$0$lcssa = $RP$0; - break; - } else { - $R$0 = $67;$RP$0 = $66; - } - } - $69 = ($RP$0$lcssa>>>0)<($2>>>0); - if ($69) { - _abort(); - // unreachable; - } else { - HEAP32[$RP$0$lcssa>>2] = 0; - $R$1 = $R$0$lcssa; - break; - } - } else { - $$sum29 = (($$sum2) + 8)|0; - $48 = (($mem) + ($$sum29)|0); - $49 = HEAP32[$48>>2]|0; - $50 = ($49>>>0)<($2>>>0); - if ($50) { - _abort(); - // unreachable; - } - $51 = ((($49)) + 12|0); - $52 = HEAP32[$51>>2]|0; - $53 = ($52|0)==($14|0); - if (!($53)) { - _abort(); - // unreachable; - } - $54 = ((($46)) + 8|0); - $55 = HEAP32[$54>>2]|0; - $56 = ($55|0)==($14|0); - if ($56) { - HEAP32[$51>>2] = $46; - HEAP32[$54>>2] = $49; - $R$1 = $46; - break; - } else { - _abort(); - // unreachable; - } - } - } while(0); - $70 = ($44|0)==(0|0); - if ($70) { - $p$0 = $14;$psize$0 = $15; - } else { - $$sum26 = (($$sum2) + 28)|0; - $71 = (($mem) + ($$sum26)|0); - $72 = HEAP32[$71>>2]|0; - $73 = (8616 + ($72<<2)|0); - $74 = HEAP32[$73>>2]|0; - $75 = ($14|0)==($74|0); - if ($75) { - HEAP32[$73>>2] = $R$1; - $cond = ($R$1|0)==(0|0); - if ($cond) { - $76 = 1 << $72; - $77 = $76 ^ -1; - $78 = HEAP32[(8316)>>2]|0; - $79 = $78 & $77; - HEAP32[(8316)>>2] = $79; - $p$0 = $14;$psize$0 = $15; - break; - } - } else { - $80 = HEAP32[(8328)>>2]|0; - $81 = ($44>>>0)<($80>>>0); - if ($81) { - _abort(); - // unreachable; - } - $82 = ((($44)) + 16|0); - $83 = HEAP32[$82>>2]|0; - $84 = ($83|0)==($14|0); - if ($84) { - HEAP32[$82>>2] = $R$1; - } else { - $85 = ((($44)) + 20|0); - HEAP32[$85>>2] = $R$1; - } - $86 = ($R$1|0)==(0|0); - if ($86) { - $p$0 = $14;$psize$0 = $15; - break; - } - } - $87 = HEAP32[(8328)>>2]|0; - $88 = ($R$1>>>0)<($87>>>0); - if ($88) { - _abort(); - // unreachable; - } - $89 = ((($R$1)) + 24|0); - HEAP32[$89>>2] = $44; - $$sum27 = (($$sum2) + 16)|0; - $90 = (($mem) + ($$sum27)|0); - $91 = HEAP32[$90>>2]|0; - $92 = ($91|0)==(0|0); - do { - if (!($92)) { - $93 = ($91>>>0)<($87>>>0); - if ($93) { - _abort(); - // unreachable; - } else { - $94 = ((($R$1)) + 16|0); - HEAP32[$94>>2] = $91; - $95 = ((($91)) + 24|0); - HEAP32[$95>>2] = $R$1; - break; - } - } - } while(0); - $$sum28 = (($$sum2) + 20)|0; - $96 = (($mem) + ($$sum28)|0); - $97 = HEAP32[$96>>2]|0; - $98 = ($97|0)==(0|0); - if ($98) { - $p$0 = $14;$psize$0 = $15; - } else { - $99 = HEAP32[(8328)>>2]|0; - $100 = ($97>>>0)<($99>>>0); - if ($100) { - _abort(); - // unreachable; - } else { - $101 = ((($R$1)) + 20|0); - HEAP32[$101>>2] = $97; - $102 = ((($97)) + 24|0); - HEAP32[$102>>2] = $R$1; - $p$0 = $14;$psize$0 = $15; - break; - } - } - } - } else { - $p$0 = $1;$psize$0 = $8; - } - } while(0); - $110 = ($p$0>>>0)<($9>>>0); - if (!($110)) { - _abort(); - // unreachable; - } - $$sum19 = (($8) + -4)|0; - $111 = (($mem) + ($$sum19)|0); - $112 = HEAP32[$111>>2]|0; - $113 = $112 & 1; - $114 = ($113|0)==(0); - if ($114) { - _abort(); - // unreachable; - } - $115 = $112 & 2; - $116 = ($115|0)==(0); - if ($116) { - $117 = HEAP32[(8336)>>2]|0; - $118 = ($9|0)==($117|0); - if ($118) { - $119 = HEAP32[(8324)>>2]|0; - $120 = (($119) + ($psize$0))|0; - HEAP32[(8324)>>2] = $120; - HEAP32[(8336)>>2] = $p$0; - $121 = $120 | 1; - $122 = ((($p$0)) + 4|0); - HEAP32[$122>>2] = $121; - $123 = HEAP32[(8332)>>2]|0; - $124 = ($p$0|0)==($123|0); - if (!($124)) { - return; - } - HEAP32[(8332)>>2] = 0; - HEAP32[(8320)>>2] = 0; - return; - } - $125 = HEAP32[(8332)>>2]|0; - $126 = ($9|0)==($125|0); - if ($126) { - $127 = HEAP32[(8320)>>2]|0; - $128 = (($127) + ($psize$0))|0; - HEAP32[(8320)>>2] = $128; - HEAP32[(8332)>>2] = $p$0; - $129 = $128 | 1; - $130 = ((($p$0)) + 4|0); - HEAP32[$130>>2] = $129; - $131 = (($p$0) + ($128)|0); - HEAP32[$131>>2] = $128; - return; - } - $132 = $112 & -8; - $133 = (($132) + ($psize$0))|0; - $134 = $112 >>> 3; - $135 = ($112>>>0)<(256); - do { - if ($135) { - $136 = (($mem) + ($8)|0); - $137 = HEAP32[$136>>2]|0; - $$sum1718 = $8 | 4; - $138 = (($mem) + ($$sum1718)|0); - $139 = HEAP32[$138>>2]|0; - $140 = $134 << 1; - $141 = (8352 + ($140<<2)|0); - $142 = ($137|0)==($141|0); - if (!($142)) { - $143 = HEAP32[(8328)>>2]|0; - $144 = ($137>>>0)<($143>>>0); - if ($144) { - _abort(); - // unreachable; - } - $145 = ((($137)) + 12|0); - $146 = HEAP32[$145>>2]|0; - $147 = ($146|0)==($9|0); - if (!($147)) { - _abort(); - // unreachable; - } - } - $148 = ($139|0)==($137|0); - if ($148) { - $149 = 1 << $134; - $150 = $149 ^ -1; - $151 = HEAP32[8312>>2]|0; - $152 = $151 & $150; - HEAP32[8312>>2] = $152; - break; - } - $153 = ($139|0)==($141|0); - if ($153) { - $$pre58 = ((($139)) + 8|0); - $$pre$phi59Z2D = $$pre58; - } else { - $154 = HEAP32[(8328)>>2]|0; - $155 = ($139>>>0)<($154>>>0); - if ($155) { - _abort(); - // unreachable; - } - $156 = ((($139)) + 8|0); - $157 = HEAP32[$156>>2]|0; - $158 = ($157|0)==($9|0); - if ($158) { - $$pre$phi59Z2D = $156; - } else { - _abort(); - // unreachable; - } - } - $159 = ((($137)) + 12|0); - HEAP32[$159>>2] = $139; - HEAP32[$$pre$phi59Z2D>>2] = $137; - } else { - $$sum5 = (($8) + 16)|0; - $160 = (($mem) + ($$sum5)|0); - $161 = HEAP32[$160>>2]|0; - $$sum67 = $8 | 4; - $162 = (($mem) + ($$sum67)|0); - $163 = HEAP32[$162>>2]|0; - $164 = ($163|0)==($9|0); - do { - if ($164) { - $$sum9 = (($8) + 12)|0; - $175 = (($mem) + ($$sum9)|0); - $176 = HEAP32[$175>>2]|0; - $177 = ($176|0)==(0|0); - if ($177) { - $$sum8 = (($8) + 8)|0; - $178 = (($mem) + ($$sum8)|0); - $179 = HEAP32[$178>>2]|0; - $180 = ($179|0)==(0|0); - if ($180) { - $R7$1 = 0; - break; - } else { - $R7$0 = $179;$RP9$0 = $178; - } - } else { - $R7$0 = $176;$RP9$0 = $175; - } - while(1) { - $181 = ((($R7$0)) + 20|0); - $182 = HEAP32[$181>>2]|0; - $183 = ($182|0)==(0|0); - if (!($183)) { - $R7$0 = $182;$RP9$0 = $181; - continue; - } - $184 = ((($R7$0)) + 16|0); - $185 = HEAP32[$184>>2]|0; - $186 = ($185|0)==(0|0); - if ($186) { - $R7$0$lcssa = $R7$0;$RP9$0$lcssa = $RP9$0; - break; - } else { - $R7$0 = $185;$RP9$0 = $184; - } - } - $187 = HEAP32[(8328)>>2]|0; - $188 = ($RP9$0$lcssa>>>0)<($187>>>0); - if ($188) { - _abort(); - // unreachable; - } else { - HEAP32[$RP9$0$lcssa>>2] = 0; - $R7$1 = $R7$0$lcssa; - break; - } - } else { - $165 = (($mem) + ($8)|0); - $166 = HEAP32[$165>>2]|0; - $167 = HEAP32[(8328)>>2]|0; - $168 = ($166>>>0)<($167>>>0); - if ($168) { - _abort(); - // unreachable; - } - $169 = ((($166)) + 12|0); - $170 = HEAP32[$169>>2]|0; - $171 = ($170|0)==($9|0); - if (!($171)) { - _abort(); - // unreachable; - } - $172 = ((($163)) + 8|0); - $173 = HEAP32[$172>>2]|0; - $174 = ($173|0)==($9|0); - if ($174) { - HEAP32[$169>>2] = $163; - HEAP32[$172>>2] = $166; - $R7$1 = $163; - break; - } else { - _abort(); - // unreachable; - } - } - } while(0); - $189 = ($161|0)==(0|0); - if (!($189)) { - $$sum12 = (($8) + 20)|0; - $190 = (($mem) + ($$sum12)|0); - $191 = HEAP32[$190>>2]|0; - $192 = (8616 + ($191<<2)|0); - $193 = HEAP32[$192>>2]|0; - $194 = ($9|0)==($193|0); - if ($194) { - HEAP32[$192>>2] = $R7$1; - $cond47 = ($R7$1|0)==(0|0); - if ($cond47) { - $195 = 1 << $191; - $196 = $195 ^ -1; - $197 = HEAP32[(8316)>>2]|0; - $198 = $197 & $196; - HEAP32[(8316)>>2] = $198; - break; - } - } else { - $199 = HEAP32[(8328)>>2]|0; - $200 = ($161>>>0)<($199>>>0); - if ($200) { - _abort(); - // unreachable; - } - $201 = ((($161)) + 16|0); - $202 = HEAP32[$201>>2]|0; - $203 = ($202|0)==($9|0); - if ($203) { - HEAP32[$201>>2] = $R7$1; - } else { - $204 = ((($161)) + 20|0); - HEAP32[$204>>2] = $R7$1; - } - $205 = ($R7$1|0)==(0|0); - if ($205) { - break; - } - } - $206 = HEAP32[(8328)>>2]|0; - $207 = ($R7$1>>>0)<($206>>>0); - if ($207) { - _abort(); - // unreachable; - } - $208 = ((($R7$1)) + 24|0); - HEAP32[$208>>2] = $161; - $$sum13 = (($8) + 8)|0; - $209 = (($mem) + ($$sum13)|0); - $210 = HEAP32[$209>>2]|0; - $211 = ($210|0)==(0|0); - do { - if (!($211)) { - $212 = ($210>>>0)<($206>>>0); - if ($212) { - _abort(); - // unreachable; - } else { - $213 = ((($R7$1)) + 16|0); - HEAP32[$213>>2] = $210; - $214 = ((($210)) + 24|0); - HEAP32[$214>>2] = $R7$1; - break; - } - } - } while(0); - $$sum14 = (($8) + 12)|0; - $215 = (($mem) + ($$sum14)|0); - $216 = HEAP32[$215>>2]|0; - $217 = ($216|0)==(0|0); - if (!($217)) { - $218 = HEAP32[(8328)>>2]|0; - $219 = ($216>>>0)<($218>>>0); - if ($219) { - _abort(); - // unreachable; - } else { - $220 = ((($R7$1)) + 20|0); - HEAP32[$220>>2] = $216; - $221 = ((($216)) + 24|0); - HEAP32[$221>>2] = $R7$1; - break; - } - } - } - } - } while(0); - $222 = $133 | 1; - $223 = ((($p$0)) + 4|0); - HEAP32[$223>>2] = $222; - $224 = (($p$0) + ($133)|0); - HEAP32[$224>>2] = $133; - $225 = HEAP32[(8332)>>2]|0; - $226 = ($p$0|0)==($225|0); - if ($226) { - HEAP32[(8320)>>2] = $133; - return; - } else { - $psize$1 = $133; - } - } else { - $227 = $112 & -2; - HEAP32[$111>>2] = $227; - $228 = $psize$0 | 1; - $229 = ((($p$0)) + 4|0); - HEAP32[$229>>2] = $228; - $230 = (($p$0) + ($psize$0)|0); - HEAP32[$230>>2] = $psize$0; - $psize$1 = $psize$0; - } - $231 = $psize$1 >>> 3; - $232 = ($psize$1>>>0)<(256); - if ($232) { - $233 = $231 << 1; - $234 = (8352 + ($233<<2)|0); - $235 = HEAP32[8312>>2]|0; - $236 = 1 << $231; - $237 = $235 & $236; - $238 = ($237|0)==(0); - if ($238) { - $239 = $235 | $236; - HEAP32[8312>>2] = $239; - $$pre = (($233) + 2)|0; - $$pre57 = (8352 + ($$pre<<2)|0); - $$pre$phiZ2D = $$pre57;$F16$0 = $234; - } else { - $$sum11 = (($233) + 2)|0; - $240 = (8352 + ($$sum11<<2)|0); - $241 = HEAP32[$240>>2]|0; - $242 = HEAP32[(8328)>>2]|0; - $243 = ($241>>>0)<($242>>>0); - if ($243) { - _abort(); - // unreachable; - } else { - $$pre$phiZ2D = $240;$F16$0 = $241; - } - } - HEAP32[$$pre$phiZ2D>>2] = $p$0; - $244 = ((($F16$0)) + 12|0); - HEAP32[$244>>2] = $p$0; - $245 = ((($p$0)) + 8|0); - HEAP32[$245>>2] = $F16$0; - $246 = ((($p$0)) + 12|0); - HEAP32[$246>>2] = $234; - return; - } - $247 = $psize$1 >>> 8; - $248 = ($247|0)==(0); - if ($248) { - $I18$0 = 0; - } else { - $249 = ($psize$1>>>0)>(16777215); - if ($249) { - $I18$0 = 31; - } else { - $250 = (($247) + 1048320)|0; - $251 = $250 >>> 16; - $252 = $251 & 8; - $253 = $247 << $252; - $254 = (($253) + 520192)|0; - $255 = $254 >>> 16; - $256 = $255 & 4; - $257 = $256 | $252; - $258 = $253 << $256; - $259 = (($258) + 245760)|0; - $260 = $259 >>> 16; - $261 = $260 & 2; - $262 = $257 | $261; - $263 = (14 - ($262))|0; - $264 = $258 << $261; - $265 = $264 >>> 15; - $266 = (($263) + ($265))|0; - $267 = $266 << 1; - $268 = (($266) + 7)|0; - $269 = $psize$1 >>> $268; - $270 = $269 & 1; - $271 = $270 | $267; - $I18$0 = $271; - } - } - $272 = (8616 + ($I18$0<<2)|0); - $273 = ((($p$0)) + 28|0); - HEAP32[$273>>2] = $I18$0; - $274 = ((($p$0)) + 16|0); - $275 = ((($p$0)) + 20|0); - HEAP32[$275>>2] = 0; - HEAP32[$274>>2] = 0; - $276 = HEAP32[(8316)>>2]|0; - $277 = 1 << $I18$0; - $278 = $276 & $277; - $279 = ($278|0)==(0); - L199: do { - if ($279) { - $280 = $276 | $277; - HEAP32[(8316)>>2] = $280; - HEAP32[$272>>2] = $p$0; - $281 = ((($p$0)) + 24|0); - HEAP32[$281>>2] = $272; - $282 = ((($p$0)) + 12|0); - HEAP32[$282>>2] = $p$0; - $283 = ((($p$0)) + 8|0); - HEAP32[$283>>2] = $p$0; - } else { - $284 = HEAP32[$272>>2]|0; - $285 = ((($284)) + 4|0); - $286 = HEAP32[$285>>2]|0; - $287 = $286 & -8; - $288 = ($287|0)==($psize$1|0); - L202: do { - if ($288) { - $T$0$lcssa = $284; - } else { - $289 = ($I18$0|0)==(31); - $290 = $I18$0 >>> 1; - $291 = (25 - ($290))|0; - $292 = $289 ? 0 : $291; - $293 = $psize$1 << $292; - $K19$052 = $293;$T$051 = $284; - while(1) { - $300 = $K19$052 >>> 31; - $301 = (((($T$051)) + 16|0) + ($300<<2)|0); - $296 = HEAP32[$301>>2]|0; - $302 = ($296|0)==(0|0); - if ($302) { - $$lcssa = $301;$T$051$lcssa = $T$051; - break; - } - $294 = $K19$052 << 1; - $295 = ((($296)) + 4|0); - $297 = HEAP32[$295>>2]|0; - $298 = $297 & -8; - $299 = ($298|0)==($psize$1|0); - if ($299) { - $T$0$lcssa = $296; - break L202; - } else { - $K19$052 = $294;$T$051 = $296; - } - } - $303 = HEAP32[(8328)>>2]|0; - $304 = ($$lcssa>>>0)<($303>>>0); - if ($304) { - _abort(); - // unreachable; - } else { - HEAP32[$$lcssa>>2] = $p$0; - $305 = ((($p$0)) + 24|0); - HEAP32[$305>>2] = $T$051$lcssa; - $306 = ((($p$0)) + 12|0); - HEAP32[$306>>2] = $p$0; - $307 = ((($p$0)) + 8|0); - HEAP32[$307>>2] = $p$0; - break L199; - } - } - } while(0); - $308 = ((($T$0$lcssa)) + 8|0); - $309 = HEAP32[$308>>2]|0; - $310 = HEAP32[(8328)>>2]|0; - $311 = ($309>>>0)>=($310>>>0); - $not$ = ($T$0$lcssa>>>0)>=($310>>>0); - $312 = $311 & $not$; - if ($312) { - $313 = ((($309)) + 12|0); - HEAP32[$313>>2] = $p$0; - HEAP32[$308>>2] = $p$0; - $314 = ((($p$0)) + 8|0); - HEAP32[$314>>2] = $309; - $315 = ((($p$0)) + 12|0); - HEAP32[$315>>2] = $T$0$lcssa; - $316 = ((($p$0)) + 24|0); - HEAP32[$316>>2] = 0; - break; - } else { - _abort(); - // unreachable; - } - } - } while(0); - $317 = HEAP32[(8344)>>2]|0; - $318 = (($317) + -1)|0; - HEAP32[(8344)>>2] = $318; - $319 = ($318|0)==(0); - if ($319) { - $sp$0$in$i = (8768); - } else { - return; - } - while(1) { - $sp$0$i = HEAP32[$sp$0$in$i>>2]|0; - $320 = ($sp$0$i|0)==(0|0); - $321 = ((($sp$0$i)) + 8|0); - if ($320) { - break; - } else { - $sp$0$in$i = $321; - } - } - HEAP32[(8344)>>2] = -1; - return; -} -function runPostSets() { -} -function _memcpy(dest, src, num) { - dest = dest|0; src = src|0; num = num|0; - var ret = 0; - if ((num|0) >= 4096) return _emscripten_memcpy_big(dest|0, src|0, num|0)|0; - ret = dest|0; - if ((dest&3) == (src&3)) { - while (dest & 3) { - if ((num|0) == 0) return ret|0; - HEAP8[((dest)>>0)]=((HEAP8[((src)>>0)])|0); - dest = (dest+1)|0; - src = (src+1)|0; - num = (num-1)|0; - } - while ((num|0) >= 4) { - HEAP32[((dest)>>2)]=((HEAP32[((src)>>2)])|0); - dest = (dest+4)|0; - src = (src+4)|0; - num = (num-4)|0; - } - } - while ((num|0) > 0) { - HEAP8[((dest)>>0)]=((HEAP8[((src)>>0)])|0); - dest = (dest+1)|0; - src = (src+1)|0; - num = (num-1)|0; - } - return ret|0; -} -function _memset(ptr, value, num) { - ptr = ptr|0; value = value|0; num = num|0; - var stop = 0, value4 = 0, stop4 = 0, unaligned = 0; - stop = (ptr + num)|0; - if ((num|0) >= 20) { - // This is unaligned, but quite large, so work hard to get to aligned settings - value = value & 0xff; - unaligned = ptr & 3; - value4 = value | (value << 8) | (value << 16) | (value << 24); - stop4 = stop & ~3; - if (unaligned) { - unaligned = (ptr + 4 - unaligned)|0; - while ((ptr|0) < (unaligned|0)) { // no need to check for stop, since we have large num - HEAP8[((ptr)>>0)]=value; - ptr = (ptr+1)|0; - } - } - while ((ptr|0) < (stop4|0)) { - HEAP32[((ptr)>>2)]=value4; - ptr = (ptr+4)|0; - } - } - while ((ptr|0) < (stop|0)) { - HEAP8[((ptr)>>0)]=value; - ptr = (ptr+1)|0; - } - return (ptr-num)|0; -} -function _i64Subtract(a, b, c, d) { - a = a|0; b = b|0; c = c|0; d = d|0; - var l = 0, h = 0; - l = (a - c)>>>0; - h = (b - d)>>>0; - h = (b - d - (((c>>>0) > (a>>>0))|0))>>>0; // Borrow one from high word to low word on underflow. - return ((tempRet0 = h,l|0)|0); -} -function _i64Add(a, b, c, d) { - /* - x = a + b*2^32 - y = c + d*2^32 - result = l + h*2^32 - */ - a = a|0; b = b|0; c = c|0; d = d|0; - var l = 0, h = 0; - l = (a + c)>>>0; - h = (b + d + (((l>>>0) < (a>>>0))|0))>>>0; // Add carry from low word to high word on overflow. - return ((tempRet0 = h,l|0)|0); -} -function _memmove(dest, src, num) { - dest = dest|0; src = src|0; num = num|0; - var ret = 0; - if (((src|0) < (dest|0)) & ((dest|0) < ((src + num)|0))) { - // Unlikely case: Copy backwards in a safe manner - ret = dest; - src = (src + num)|0; - dest = (dest + num)|0; - while ((num|0) > 0) { - dest = (dest - 1)|0; - src = (src - 1)|0; - num = (num - 1)|0; - HEAP8[((dest)>>0)]=((HEAP8[((src)>>0)])|0); - } - dest = ret; - } else { - _memcpy(dest, src, num) | 0; - } - return dest | 0; -} -function _bitshift64Lshr(low, high, bits) { - low = low|0; high = high|0; bits = bits|0; - var ander = 0; - if ((bits|0) < 32) { - ander = ((1 << bits) - 1)|0; - tempRet0 = high >>> bits; - return (low >>> bits) | ((high&ander) << (32 - bits)); - } - tempRet0 = 0; - return (high >>> (bits - 32))|0; -} -function _bitshift64Shl(low, high, bits) { - low = low|0; high = high|0; bits = bits|0; - var ander = 0; - if ((bits|0) < 32) { - ander = ((1 << bits) - 1)|0; - tempRet0 = (high << bits) | ((low&(ander << (32 - bits))) >>> (32 - bits)); - return low << bits; - } - tempRet0 = low << (bits - 32); - return 0; -} -function _bitshift64Ashr(low, high, bits) { - low = low|0; high = high|0; bits = bits|0; - var ander = 0; - if ((bits|0) < 32) { - ander = ((1 << bits) - 1)|0; - tempRet0 = high >> bits; - return (low >>> bits) | ((high&ander) << (32 - bits)); - } - tempRet0 = (high|0) < 0 ? -1 : 0; - return (high >> (bits - 32))|0; - } -function _llvm_cttz_i32(x) { - x = x|0; - var ret = 0; - ret = ((HEAP8[(((cttz_i8)+(x & 0xff))>>0)])|0); - if ((ret|0) < 8) return ret|0; - ret = ((HEAP8[(((cttz_i8)+((x >> 8)&0xff))>>0)])|0); - if ((ret|0) < 8) return (ret + 8)|0; - ret = ((HEAP8[(((cttz_i8)+((x >> 16)&0xff))>>0)])|0); - if ((ret|0) < 8) return (ret + 16)|0; - return (((HEAP8[(((cttz_i8)+(x >>> 24))>>0)])|0) + 24)|0; - } - -// ======== compiled code from system/lib/compiler-rt , see readme therein -function ___muldsi3($a, $b) { - $a = $a | 0; - $b = $b | 0; - var $1 = 0, $2 = 0, $3 = 0, $6 = 0, $8 = 0, $11 = 0, $12 = 0; - $1 = $a & 65535; - $2 = $b & 65535; - $3 = Math_imul($2, $1) | 0; - $6 = $a >>> 16; - $8 = ($3 >>> 16) + (Math_imul($2, $6) | 0) | 0; - $11 = $b >>> 16; - $12 = Math_imul($11, $1) | 0; - return (tempRet0 = (($8 >>> 16) + (Math_imul($11, $6) | 0) | 0) + ((($8 & 65535) + $12 | 0) >>> 16) | 0, 0 | ($8 + $12 << 16 | $3 & 65535)) | 0; -} -function ___divdi3($a$0, $a$1, $b$0, $b$1) { - $a$0 = $a$0 | 0; - $a$1 = $a$1 | 0; - $b$0 = $b$0 | 0; - $b$1 = $b$1 | 0; - var $1$0 = 0, $1$1 = 0, $2$0 = 0, $2$1 = 0, $4$0 = 0, $4$1 = 0, $6$0 = 0, $7$0 = 0, $7$1 = 0, $8$0 = 0, $10$0 = 0; - $1$0 = $a$1 >> 31 | (($a$1 | 0) < 0 ? -1 : 0) << 1; - $1$1 = (($a$1 | 0) < 0 ? -1 : 0) >> 31 | (($a$1 | 0) < 0 ? -1 : 0) << 1; - $2$0 = $b$1 >> 31 | (($b$1 | 0) < 0 ? -1 : 0) << 1; - $2$1 = (($b$1 | 0) < 0 ? -1 : 0) >> 31 | (($b$1 | 0) < 0 ? -1 : 0) << 1; - $4$0 = _i64Subtract($1$0 ^ $a$0, $1$1 ^ $a$1, $1$0, $1$1) | 0; - $4$1 = tempRet0; - $6$0 = _i64Subtract($2$0 ^ $b$0, $2$1 ^ $b$1, $2$0, $2$1) | 0; - $7$0 = $2$0 ^ $1$0; - $7$1 = $2$1 ^ $1$1; - $8$0 = ___udivmoddi4($4$0, $4$1, $6$0, tempRet0, 0) | 0; - $10$0 = _i64Subtract($8$0 ^ $7$0, tempRet0 ^ $7$1, $7$0, $7$1) | 0; - return $10$0 | 0; -} -function ___remdi3($a$0, $a$1, $b$0, $b$1) { - $a$0 = $a$0 | 0; - $a$1 = $a$1 | 0; - $b$0 = $b$0 | 0; - $b$1 = $b$1 | 0; - var $rem = 0, $1$0 = 0, $1$1 = 0, $2$0 = 0, $2$1 = 0, $4$0 = 0, $4$1 = 0, $6$0 = 0, $10$0 = 0, $10$1 = 0, __stackBase__ = 0; - __stackBase__ = STACKTOP; - STACKTOP = STACKTOP + 16 | 0; - $rem = __stackBase__ | 0; - $1$0 = $a$1 >> 31 | (($a$1 | 0) < 0 ? -1 : 0) << 1; - $1$1 = (($a$1 | 0) < 0 ? -1 : 0) >> 31 | (($a$1 | 0) < 0 ? -1 : 0) << 1; - $2$0 = $b$1 >> 31 | (($b$1 | 0) < 0 ? -1 : 0) << 1; - $2$1 = (($b$1 | 0) < 0 ? -1 : 0) >> 31 | (($b$1 | 0) < 0 ? -1 : 0) << 1; - $4$0 = _i64Subtract($1$0 ^ $a$0, $1$1 ^ $a$1, $1$0, $1$1) | 0; - $4$1 = tempRet0; - $6$0 = _i64Subtract($2$0 ^ $b$0, $2$1 ^ $b$1, $2$0, $2$1) | 0; - ___udivmoddi4($4$0, $4$1, $6$0, tempRet0, $rem) | 0; - $10$0 = _i64Subtract(HEAP32[$rem >> 2] ^ $1$0, HEAP32[$rem + 4 >> 2] ^ $1$1, $1$0, $1$1) | 0; - $10$1 = tempRet0; - STACKTOP = __stackBase__; - return (tempRet0 = $10$1, $10$0) | 0; -} -function ___muldi3($a$0, $a$1, $b$0, $b$1) { - $a$0 = $a$0 | 0; - $a$1 = $a$1 | 0; - $b$0 = $b$0 | 0; - $b$1 = $b$1 | 0; - var $x_sroa_0_0_extract_trunc = 0, $y_sroa_0_0_extract_trunc = 0, $1$0 = 0, $1$1 = 0, $2 = 0; - $x_sroa_0_0_extract_trunc = $a$0; - $y_sroa_0_0_extract_trunc = $b$0; - $1$0 = ___muldsi3($x_sroa_0_0_extract_trunc, $y_sroa_0_0_extract_trunc) | 0; - $1$1 = tempRet0; - $2 = Math_imul($a$1, $y_sroa_0_0_extract_trunc) | 0; - return (tempRet0 = ((Math_imul($b$1, $x_sroa_0_0_extract_trunc) | 0) + $2 | 0) + $1$1 | $1$1 & 0, 0 | $1$0 & -1) | 0; -} -function ___udivdi3($a$0, $a$1, $b$0, $b$1) { - $a$0 = $a$0 | 0; - $a$1 = $a$1 | 0; - $b$0 = $b$0 | 0; - $b$1 = $b$1 | 0; - var $1$0 = 0; - $1$0 = ___udivmoddi4($a$0, $a$1, $b$0, $b$1, 0) | 0; - return $1$0 | 0; -} -function ___uremdi3($a$0, $a$1, $b$0, $b$1) { - $a$0 = $a$0 | 0; - $a$1 = $a$1 | 0; - $b$0 = $b$0 | 0; - $b$1 = $b$1 | 0; - var $rem = 0, __stackBase__ = 0; - __stackBase__ = STACKTOP; - STACKTOP = STACKTOP + 16 | 0; - $rem = __stackBase__ | 0; - ___udivmoddi4($a$0, $a$1, $b$0, $b$1, $rem) | 0; - STACKTOP = __stackBase__; - return (tempRet0 = HEAP32[$rem + 4 >> 2] | 0, HEAP32[$rem >> 2] | 0) | 0; -} -function ___udivmoddi4($a$0, $a$1, $b$0, $b$1, $rem) { - $a$0 = $a$0 | 0; - $a$1 = $a$1 | 0; - $b$0 = $b$0 | 0; - $b$1 = $b$1 | 0; - $rem = $rem | 0; - var $n_sroa_0_0_extract_trunc = 0, $n_sroa_1_4_extract_shift$0 = 0, $n_sroa_1_4_extract_trunc = 0, $d_sroa_0_0_extract_trunc = 0, $d_sroa_1_4_extract_shift$0 = 0, $d_sroa_1_4_extract_trunc = 0, $4 = 0, $17 = 0, $37 = 0, $49 = 0, $51 = 0, $57 = 0, $58 = 0, $66 = 0, $78 = 0, $86 = 0, $88 = 0, $89 = 0, $91 = 0, $92 = 0, $95 = 0, $105 = 0, $117 = 0, $119 = 0, $125 = 0, $126 = 0, $130 = 0, $q_sroa_1_1_ph = 0, $q_sroa_0_1_ph = 0, $r_sroa_1_1_ph = 0, $r_sroa_0_1_ph = 0, $sr_1_ph = 0, $d_sroa_0_0_insert_insert99$0 = 0, $d_sroa_0_0_insert_insert99$1 = 0, $137$0 = 0, $137$1 = 0, $carry_0203 = 0, $sr_1202 = 0, $r_sroa_0_1201 = 0, $r_sroa_1_1200 = 0, $q_sroa_0_1199 = 0, $q_sroa_1_1198 = 0, $147 = 0, $149 = 0, $r_sroa_0_0_insert_insert42$0 = 0, $r_sroa_0_0_insert_insert42$1 = 0, $150$1 = 0, $151$0 = 0, $152 = 0, $154$0 = 0, $r_sroa_0_0_extract_trunc = 0, $r_sroa_1_4_extract_trunc = 0, $155 = 0, $carry_0_lcssa$0 = 0, $carry_0_lcssa$1 = 0, $r_sroa_0_1_lcssa = 0, $r_sroa_1_1_lcssa = 0, $q_sroa_0_1_lcssa = 0, $q_sroa_1_1_lcssa = 0, $q_sroa_0_0_insert_ext75$0 = 0, $q_sroa_0_0_insert_ext75$1 = 0, $q_sroa_0_0_insert_insert77$1 = 0, $_0$0 = 0, $_0$1 = 0; - $n_sroa_0_0_extract_trunc = $a$0; - $n_sroa_1_4_extract_shift$0 = $a$1; - $n_sroa_1_4_extract_trunc = $n_sroa_1_4_extract_shift$0; - $d_sroa_0_0_extract_trunc = $b$0; - $d_sroa_1_4_extract_shift$0 = $b$1; - $d_sroa_1_4_extract_trunc = $d_sroa_1_4_extract_shift$0; - if (($n_sroa_1_4_extract_trunc | 0) == 0) { - $4 = ($rem | 0) != 0; - if (($d_sroa_1_4_extract_trunc | 0) == 0) { - if ($4) { - HEAP32[$rem >> 2] = ($n_sroa_0_0_extract_trunc >>> 0) % ($d_sroa_0_0_extract_trunc >>> 0); - HEAP32[$rem + 4 >> 2] = 0; - } - $_0$1 = 0; - $_0$0 = ($n_sroa_0_0_extract_trunc >>> 0) / ($d_sroa_0_0_extract_trunc >>> 0) >>> 0; - return (tempRet0 = $_0$1, $_0$0) | 0; - } else { - if (!$4) { - $_0$1 = 0; - $_0$0 = 0; - return (tempRet0 = $_0$1, $_0$0) | 0; - } - HEAP32[$rem >> 2] = $a$0 & -1; - HEAP32[$rem + 4 >> 2] = $a$1 & 0; - $_0$1 = 0; - $_0$0 = 0; - return (tempRet0 = $_0$1, $_0$0) | 0; - } - } - $17 = ($d_sroa_1_4_extract_trunc | 0) == 0; - do { - if (($d_sroa_0_0_extract_trunc | 0) == 0) { - if ($17) { - if (($rem | 0) != 0) { - HEAP32[$rem >> 2] = ($n_sroa_1_4_extract_trunc >>> 0) % ($d_sroa_0_0_extract_trunc >>> 0); - HEAP32[$rem + 4 >> 2] = 0; - } - $_0$1 = 0; - $_0$0 = ($n_sroa_1_4_extract_trunc >>> 0) / ($d_sroa_0_0_extract_trunc >>> 0) >>> 0; - return (tempRet0 = $_0$1, $_0$0) | 0; - } - if (($n_sroa_0_0_extract_trunc | 0) == 0) { - if (($rem | 0) != 0) { - HEAP32[$rem >> 2] = 0; - HEAP32[$rem + 4 >> 2] = ($n_sroa_1_4_extract_trunc >>> 0) % ($d_sroa_1_4_extract_trunc >>> 0); - } - $_0$1 = 0; - $_0$0 = ($n_sroa_1_4_extract_trunc >>> 0) / ($d_sroa_1_4_extract_trunc >>> 0) >>> 0; - return (tempRet0 = $_0$1, $_0$0) | 0; - } - $37 = $d_sroa_1_4_extract_trunc - 1 | 0; - if (($37 & $d_sroa_1_4_extract_trunc | 0) == 0) { - if (($rem | 0) != 0) { - HEAP32[$rem >> 2] = 0 | $a$0 & -1; - HEAP32[$rem + 4 >> 2] = $37 & $n_sroa_1_4_extract_trunc | $a$1 & 0; - } - $_0$1 = 0; - $_0$0 = $n_sroa_1_4_extract_trunc >>> ((_llvm_cttz_i32($d_sroa_1_4_extract_trunc | 0) | 0) >>> 0); - return (tempRet0 = $_0$1, $_0$0) | 0; - } - $49 = Math_clz32($d_sroa_1_4_extract_trunc | 0) | 0; - $51 = $49 - (Math_clz32($n_sroa_1_4_extract_trunc | 0) | 0) | 0; - if ($51 >>> 0 <= 30) { - $57 = $51 + 1 | 0; - $58 = 31 - $51 | 0; - $sr_1_ph = $57; - $r_sroa_0_1_ph = $n_sroa_1_4_extract_trunc << $58 | $n_sroa_0_0_extract_trunc >>> ($57 >>> 0); - $r_sroa_1_1_ph = $n_sroa_1_4_extract_trunc >>> ($57 >>> 0); - $q_sroa_0_1_ph = 0; - $q_sroa_1_1_ph = $n_sroa_0_0_extract_trunc << $58; - break; - } - if (($rem | 0) == 0) { - $_0$1 = 0; - $_0$0 = 0; - return (tempRet0 = $_0$1, $_0$0) | 0; - } - HEAP32[$rem >> 2] = 0 | $a$0 & -1; - HEAP32[$rem + 4 >> 2] = $n_sroa_1_4_extract_shift$0 | $a$1 & 0; - $_0$1 = 0; - $_0$0 = 0; - return (tempRet0 = $_0$1, $_0$0) | 0; - } else { - if (!$17) { - $117 = Math_clz32($d_sroa_1_4_extract_trunc | 0) | 0; - $119 = $117 - (Math_clz32($n_sroa_1_4_extract_trunc | 0) | 0) | 0; - if ($119 >>> 0 <= 31) { - $125 = $119 + 1 | 0; - $126 = 31 - $119 | 0; - $130 = $119 - 31 >> 31; - $sr_1_ph = $125; - $r_sroa_0_1_ph = $n_sroa_0_0_extract_trunc >>> ($125 >>> 0) & $130 | $n_sroa_1_4_extract_trunc << $126; - $r_sroa_1_1_ph = $n_sroa_1_4_extract_trunc >>> ($125 >>> 0) & $130; - $q_sroa_0_1_ph = 0; - $q_sroa_1_1_ph = $n_sroa_0_0_extract_trunc << $126; - break; - } - if (($rem | 0) == 0) { - $_0$1 = 0; - $_0$0 = 0; - return (tempRet0 = $_0$1, $_0$0) | 0; - } - HEAP32[$rem >> 2] = 0 | $a$0 & -1; - HEAP32[$rem + 4 >> 2] = $n_sroa_1_4_extract_shift$0 | $a$1 & 0; - $_0$1 = 0; - $_0$0 = 0; - return (tempRet0 = $_0$1, $_0$0) | 0; - } - $66 = $d_sroa_0_0_extract_trunc - 1 | 0; - if (($66 & $d_sroa_0_0_extract_trunc | 0) != 0) { - $86 = (Math_clz32($d_sroa_0_0_extract_trunc | 0) | 0) + 33 | 0; - $88 = $86 - (Math_clz32($n_sroa_1_4_extract_trunc | 0) | 0) | 0; - $89 = 64 - $88 | 0; - $91 = 32 - $88 | 0; - $92 = $91 >> 31; - $95 = $88 - 32 | 0; - $105 = $95 >> 31; - $sr_1_ph = $88; - $r_sroa_0_1_ph = $91 - 1 >> 31 & $n_sroa_1_4_extract_trunc >>> ($95 >>> 0) | ($n_sroa_1_4_extract_trunc << $91 | $n_sroa_0_0_extract_trunc >>> ($88 >>> 0)) & $105; - $r_sroa_1_1_ph = $105 & $n_sroa_1_4_extract_trunc >>> ($88 >>> 0); - $q_sroa_0_1_ph = $n_sroa_0_0_extract_trunc << $89 & $92; - $q_sroa_1_1_ph = ($n_sroa_1_4_extract_trunc << $89 | $n_sroa_0_0_extract_trunc >>> ($95 >>> 0)) & $92 | $n_sroa_0_0_extract_trunc << $91 & $88 - 33 >> 31; - break; - } - if (($rem | 0) != 0) { - HEAP32[$rem >> 2] = $66 & $n_sroa_0_0_extract_trunc; - HEAP32[$rem + 4 >> 2] = 0; - } - if (($d_sroa_0_0_extract_trunc | 0) == 1) { - $_0$1 = $n_sroa_1_4_extract_shift$0 | $a$1 & 0; - $_0$0 = 0 | $a$0 & -1; - return (tempRet0 = $_0$1, $_0$0) | 0; - } else { - $78 = _llvm_cttz_i32($d_sroa_0_0_extract_trunc | 0) | 0; - $_0$1 = 0 | $n_sroa_1_4_extract_trunc >>> ($78 >>> 0); - $_0$0 = $n_sroa_1_4_extract_trunc << 32 - $78 | $n_sroa_0_0_extract_trunc >>> ($78 >>> 0) | 0; - return (tempRet0 = $_0$1, $_0$0) | 0; - } - } - } while (0); - if (($sr_1_ph | 0) == 0) { - $q_sroa_1_1_lcssa = $q_sroa_1_1_ph; - $q_sroa_0_1_lcssa = $q_sroa_0_1_ph; - $r_sroa_1_1_lcssa = $r_sroa_1_1_ph; - $r_sroa_0_1_lcssa = $r_sroa_0_1_ph; - $carry_0_lcssa$1 = 0; - $carry_0_lcssa$0 = 0; - } else { - $d_sroa_0_0_insert_insert99$0 = 0 | $b$0 & -1; - $d_sroa_0_0_insert_insert99$1 = $d_sroa_1_4_extract_shift$0 | $b$1 & 0; - $137$0 = _i64Add($d_sroa_0_0_insert_insert99$0 | 0, $d_sroa_0_0_insert_insert99$1 | 0, -1, -1) | 0; - $137$1 = tempRet0; - $q_sroa_1_1198 = $q_sroa_1_1_ph; - $q_sroa_0_1199 = $q_sroa_0_1_ph; - $r_sroa_1_1200 = $r_sroa_1_1_ph; - $r_sroa_0_1201 = $r_sroa_0_1_ph; - $sr_1202 = $sr_1_ph; - $carry_0203 = 0; - while (1) { - $147 = $q_sroa_0_1199 >>> 31 | $q_sroa_1_1198 << 1; - $149 = $carry_0203 | $q_sroa_0_1199 << 1; - $r_sroa_0_0_insert_insert42$0 = 0 | ($r_sroa_0_1201 << 1 | $q_sroa_1_1198 >>> 31); - $r_sroa_0_0_insert_insert42$1 = $r_sroa_0_1201 >>> 31 | $r_sroa_1_1200 << 1 | 0; - _i64Subtract($137$0, $137$1, $r_sroa_0_0_insert_insert42$0, $r_sroa_0_0_insert_insert42$1) | 0; - $150$1 = tempRet0; - $151$0 = $150$1 >> 31 | (($150$1 | 0) < 0 ? -1 : 0) << 1; - $152 = $151$0 & 1; - $154$0 = _i64Subtract($r_sroa_0_0_insert_insert42$0, $r_sroa_0_0_insert_insert42$1, $151$0 & $d_sroa_0_0_insert_insert99$0, ((($150$1 | 0) < 0 ? -1 : 0) >> 31 | (($150$1 | 0) < 0 ? -1 : 0) << 1) & $d_sroa_0_0_insert_insert99$1) | 0; - $r_sroa_0_0_extract_trunc = $154$0; - $r_sroa_1_4_extract_trunc = tempRet0; - $155 = $sr_1202 - 1 | 0; - if (($155 | 0) == 0) { - break; - } else { - $q_sroa_1_1198 = $147; - $q_sroa_0_1199 = $149; - $r_sroa_1_1200 = $r_sroa_1_4_extract_trunc; - $r_sroa_0_1201 = $r_sroa_0_0_extract_trunc; - $sr_1202 = $155; - $carry_0203 = $152; - } - } - $q_sroa_1_1_lcssa = $147; - $q_sroa_0_1_lcssa = $149; - $r_sroa_1_1_lcssa = $r_sroa_1_4_extract_trunc; - $r_sroa_0_1_lcssa = $r_sroa_0_0_extract_trunc; - $carry_0_lcssa$1 = 0; - $carry_0_lcssa$0 = $152; - } - $q_sroa_0_0_insert_ext75$0 = $q_sroa_0_1_lcssa; - $q_sroa_0_0_insert_ext75$1 = 0; - $q_sroa_0_0_insert_insert77$1 = $q_sroa_1_1_lcssa | $q_sroa_0_0_insert_ext75$1; - if (($rem | 0) != 0) { - HEAP32[$rem >> 2] = 0 | $r_sroa_0_1_lcssa; - HEAP32[$rem + 4 >> 2] = $r_sroa_1_1_lcssa | 0; - } - $_0$1 = (0 | $q_sroa_0_0_insert_ext75$0) >>> 31 | $q_sroa_0_0_insert_insert77$1 << 1 | ($q_sroa_0_0_insert_ext75$1 << 1 | $q_sroa_0_0_insert_ext75$0 >>> 31) & 0 | $carry_0_lcssa$1; - $_0$0 = ($q_sroa_0_0_insert_ext75$0 << 1 | 0 >>> 31) & -2 | $carry_0_lcssa$0; - return (tempRet0 = $_0$1, $_0$0) | 0; -} -// ======================================================================= - - - - -function dynCall_viiiii(index,a1,a2,a3,a4,a5) { - index = index|0; - a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; - FUNCTION_TABLE_viiiii[index&7](a1|0,a2|0,a3|0,a4|0,a5|0); -} - - -function dynCall_vd(index,a1) { - index = index|0; - a1=+a1; - FUNCTION_TABLE_vd[index&3](+a1); -} - - -function dynCall_vid(index,a1,a2) { - index = index|0; - a1=a1|0; a2=+a2; - FUNCTION_TABLE_vid[index&3](a1|0,+a2); -} - - -function dynCall_vi(index,a1) { - index = index|0; - a1=a1|0; - FUNCTION_TABLE_vi[index&31](a1|0); -} - - -function dynCall_vii(index,a1,a2) { - index = index|0; - a1=a1|0; a2=a2|0; - FUNCTION_TABLE_vii[index&63](a1|0,a2|0); -} - - -function dynCall_ii(index,a1) { - index = index|0; - a1=a1|0; - return FUNCTION_TABLE_ii[index&15](a1|0)|0; -} - - -function dynCall_viddd(index,a1,a2,a3,a4) { - index = index|0; - a1=a1|0; a2=+a2; a3=+a3; a4=+a4; - FUNCTION_TABLE_viddd[index&3](a1|0,+a2,+a3,+a4); -} - - -function dynCall_vidd(index,a1,a2,a3) { - index = index|0; - a1=a1|0; a2=+a2; a3=+a3; - FUNCTION_TABLE_vidd[index&7](a1|0,+a2,+a3); -} - - -function dynCall_iiii(index,a1,a2,a3) { - index = index|0; - a1=a1|0; a2=a2|0; a3=a3|0; - return FUNCTION_TABLE_iiii[index&7](a1|0,a2|0,a3|0)|0; -} - - -function dynCall_viiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8) { - index = index|0; - a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; a6=a6|0; a7=a7|0; a8=a8|0; - FUNCTION_TABLE_viiiiiiii[index&3](a1|0,a2|0,a3|0,a4|0,a5|0,a6|0,a7|0,a8|0); -} - - -function dynCall_viiiiii(index,a1,a2,a3,a4,a5,a6) { - index = index|0; - a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; a6=a6|0; - FUNCTION_TABLE_viiiiii[index&3](a1|0,a2|0,a3|0,a4|0,a5|0,a6|0); -} - - -function dynCall_viii(index,a1,a2,a3) { - index = index|0; - a1=a1|0; a2=a2|0; a3=a3|0; - FUNCTION_TABLE_viii[index&31](a1|0,a2|0,a3|0); -} - - -function dynCall_vidddd(index,a1,a2,a3,a4,a5) { - index = index|0; - a1=a1|0; a2=+a2; a3=+a3; a4=+a4; a5=+a5; - FUNCTION_TABLE_vidddd[index&3](a1|0,+a2,+a3,+a4,+a5); -} - - -function dynCall_vdi(index,a1,a2) { - index = index|0; - a1=+a1; a2=a2|0; - FUNCTION_TABLE_vdi[index&1](+a1,a2|0); -} - - -function dynCall_viiiiiii(index,a1,a2,a3,a4,a5,a6,a7) { - index = index|0; - a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; a6=a6|0; a7=a7|0; - FUNCTION_TABLE_viiiiiii[index&3](a1|0,a2|0,a3|0,a4|0,a5|0,a6|0,a7|0); -} - - -function dynCall_viiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9) { - index = index|0; - a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; a6=a6|0; a7=a7|0; a8=a8|0; a9=a9|0; - FUNCTION_TABLE_viiiiiiiii[index&3](a1|0,a2|0,a3|0,a4|0,a5|0,a6|0,a7|0,a8|0,a9|0); -} - - -function dynCall_iii(index,a1,a2) { - index = index|0; - a1=a1|0; a2=a2|0; - return FUNCTION_TABLE_iii[index&7](a1|0,a2|0)|0; -} - - -function dynCall_i(index) { - index = index|0; - - return FUNCTION_TABLE_i[index&3]()|0; -} - - -function dynCall_vdddddd(index,a1,a2,a3,a4,a5,a6) { - index = index|0; - a1=+a1; a2=+a2; a3=+a3; a4=+a4; a5=+a5; a6=+a6; - FUNCTION_TABLE_vdddddd[index&1](+a1,+a2,+a3,+a4,+a5,+a6); -} - - -function dynCall_vdddd(index,a1,a2,a3,a4) { - index = index|0; - a1=+a1; a2=+a2; a3=+a3; a4=+a4; - FUNCTION_TABLE_vdddd[index&3](+a1,+a2,+a3,+a4); -} - - -function dynCall_vdd(index,a1,a2) { - index = index|0; - a1=+a1; a2=+a2; - FUNCTION_TABLE_vdd[index&3](+a1,+a2); -} - - -function dynCall_v(index) { - index = index|0; - - FUNCTION_TABLE_v[index&7](); -} - - -function dynCall_viid(index,a1,a2,a3) { - index = index|0; - a1=a1|0; a2=a2|0; a3=+a3; - FUNCTION_TABLE_viid[index&1](a1|0,a2|0,+a3); -} - - -function dynCall_viiii(index,a1,a2,a3,a4) { - index = index|0; - a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; - FUNCTION_TABLE_viiii[index&31](a1|0,a2|0,a3|0,a4|0); -} - -function b0(p0,p1,p2,p3,p4) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; abort(0); -} -function _emscripten_glUniform4i__wrapper(p0,p1,p2,p3,p4) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; _emscripten_glUniform4i(p0|0,p1|0,p2|0,p3|0,p4|0); -} -function _emscripten_glFramebufferTexture2D__wrapper(p0,p1,p2,p3,p4) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; _emscripten_glFramebufferTexture2D(p0|0,p1|0,p2|0,p3|0,p4|0); -} -function _emscripten_glShaderBinary__wrapper(p0,p1,p2,p3,p4) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; _emscripten_glShaderBinary(p0|0,p1|0,p2|0,p3|0,p4|0); -} -function _emscripten_glDrawElementsInstanced__wrapper(p0,p1,p2,p3,p4) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; _emscripten_glDrawElementsInstanced(p0|0,p1|0,p2|0,p3|0,p4|0); -} -function b1(p0) { - p0 = +p0; abort(1); -} -function _emscripten_glClearDepth__wrapper(p0) { - p0 = +p0; _emscripten_glClearDepth(+p0); -} -function _emscripten_glClearDepthf__wrapper(p0) { - p0 = +p0; _emscripten_glClearDepthf(+p0); -} -function _emscripten_glLineWidth__wrapper(p0) { - p0 = +p0; _emscripten_glLineWidth(+p0); -} -function b2(p0,p1) { - p0 = p0|0;p1 = +p1; abort(2); -} -function _emscripten_glUniform1f__wrapper(p0,p1) { - p0 = p0|0;p1 = +p1; _emscripten_glUniform1f(p0|0,+p1); -} -function _emscripten_glVertexAttrib1f__wrapper(p0,p1) { - p0 = p0|0;p1 = +p1; _emscripten_glVertexAttrib1f(p0|0,+p1); -} -function b3(p0) { - p0 = p0|0; abort(3); -} -function _emscripten_glDeleteShader__wrapper(p0) { - p0 = p0|0; _emscripten_glDeleteShader(p0|0); -} -function _emscripten_glCompileShader__wrapper(p0) { - p0 = p0|0; _emscripten_glCompileShader(p0|0); -} -function _emscripten_glDeleteProgram__wrapper(p0) { - p0 = p0|0; _emscripten_glDeleteProgram(p0|0); -} -function _emscripten_glLinkProgram__wrapper(p0) { - p0 = p0|0; _emscripten_glLinkProgram(p0|0); -} -function _emscripten_glUseProgram__wrapper(p0) { - p0 = p0|0; _emscripten_glUseProgram(p0|0); -} -function _emscripten_glValidateProgram__wrapper(p0) { - p0 = p0|0; _emscripten_glValidateProgram(p0|0); -} -function _emscripten_glDeleteObjectARB__wrapper(p0) { - p0 = p0|0; _emscripten_glDeleteObjectARB(p0|0); -} -function _emscripten_glEnableClientState__wrapper(p0) { - p0 = p0|0; _emscripten_glEnableClientState(p0|0); -} -function _emscripten_glClientActiveTexture__wrapper(p0) { - p0 = p0|0; _emscripten_glClientActiveTexture(p0|0); -} -function _emscripten_glBindVertexArray__wrapper(p0) { - p0 = p0|0; _emscripten_glBindVertexArray(p0|0); -} -function _emscripten_glMatrixMode__wrapper(p0) { - p0 = p0|0; _emscripten_glMatrixMode(p0|0); -} -function _emscripten_glLoadMatrixf__wrapper(p0) { - p0 = p0|0; _emscripten_glLoadMatrixf(p0|0); -} -function _emscripten_glEnableVertexAttribArray__wrapper(p0) { - p0 = p0|0; _emscripten_glEnableVertexAttribArray(p0|0); -} -function _emscripten_glDisableVertexAttribArray__wrapper(p0) { - p0 = p0|0; _emscripten_glDisableVertexAttribArray(p0|0); -} -function _emscripten_glDepthFunc__wrapper(p0) { - p0 = p0|0; _emscripten_glDepthFunc(p0|0); -} -function _emscripten_glEnable__wrapper(p0) { - p0 = p0|0; _emscripten_glEnable(p0|0); -} -function _emscripten_glDisable__wrapper(p0) { - p0 = p0|0; _emscripten_glDisable(p0|0); -} -function _emscripten_glFrontFace__wrapper(p0) { - p0 = p0|0; _emscripten_glFrontFace(p0|0); -} -function _emscripten_glCullFace__wrapper(p0) { - p0 = p0|0; _emscripten_glCullFace(p0|0); -} -function _emscripten_glClear__wrapper(p0) { - p0 = p0|0; _emscripten_glClear(p0|0); -} -function _emscripten_glClearStencil__wrapper(p0) { - p0 = p0|0; _emscripten_glClearStencil(p0|0); -} -function _emscripten_glDepthMask__wrapper(p0) { - p0 = p0|0; _emscripten_glDepthMask(p0|0); -} -function _emscripten_glStencilMask__wrapper(p0) { - p0 = p0|0; _emscripten_glStencilMask(p0|0); -} -function _emscripten_glGenerateMipmap__wrapper(p0) { - p0 = p0|0; _emscripten_glGenerateMipmap(p0|0); -} -function _emscripten_glActiveTexture__wrapper(p0) { - p0 = p0|0; _emscripten_glActiveTexture(p0|0); -} -function _emscripten_glBlendEquation__wrapper(p0) { - p0 = p0|0; _emscripten_glBlendEquation(p0|0); -} -function b4(p0,p1) { - p0 = p0|0;p1 = p1|0; abort(4); -} -function _emscripten_glPixelStorei__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glPixelStorei(p0|0,p1|0); -} -function _emscripten_glGetIntegerv__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glGetIntegerv(p0|0,p1|0); -} -function _emscripten_glGetFloatv__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glGetFloatv(p0|0,p1|0); -} -function _emscripten_glGetBooleanv__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glGetBooleanv(p0|0,p1|0); -} -function _emscripten_glGenTextures__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glGenTextures(p0|0,p1|0); -} -function _emscripten_glDeleteTextures__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glDeleteTextures(p0|0,p1|0); -} -function _emscripten_glBindTexture__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glBindTexture(p0|0,p1|0); -} -function _emscripten_glGenBuffers__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glGenBuffers(p0|0,p1|0); -} -function _emscripten_glDeleteBuffers__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glDeleteBuffers(p0|0,p1|0); -} -function _emscripten_glGenRenderbuffers__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glGenRenderbuffers(p0|0,p1|0); -} -function _emscripten_glDeleteRenderbuffers__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glDeleteRenderbuffers(p0|0,p1|0); -} -function _emscripten_glBindRenderbuffer__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glBindRenderbuffer(p0|0,p1|0); -} -function _emscripten_glUniform1i__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glUniform1i(p0|0,p1|0); -} -function _emscripten_glBindBuffer__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glBindBuffer(p0|0,p1|0); -} -function _emscripten_glVertexAttrib1fv__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glVertexAttrib1fv(p0|0,p1|0); -} -function _emscripten_glVertexAttrib2fv__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glVertexAttrib2fv(p0|0,p1|0); -} -function _emscripten_glVertexAttrib3fv__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glVertexAttrib3fv(p0|0,p1|0); -} -function _emscripten_glVertexAttrib4fv__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glVertexAttrib4fv(p0|0,p1|0); -} -function _emscripten_glAttachShader__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glAttachShader(p0|0,p1|0); -} -function _emscripten_glDetachShader__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glDetachShader(p0|0,p1|0); -} -function _emscripten_glBindFramebuffer__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glBindFramebuffer(p0|0,p1|0); -} -function _emscripten_glGenFramebuffers__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glGenFramebuffers(p0|0,p1|0); -} -function _emscripten_glDeleteFramebuffers__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glDeleteFramebuffers(p0|0,p1|0); -} -function _emscripten_glBindProgramARB__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glBindProgramARB(p0|0,p1|0); -} -function _emscripten_glGetPointerv__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glGetPointerv(p0|0,p1|0); -} -function _emscripten_glGenVertexArrays__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glGenVertexArrays(p0|0,p1|0); -} -function _emscripten_glDeleteVertexArrays__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glDeleteVertexArrays(p0|0,p1|0); -} -function _emscripten_glVertexAttribDivisor__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glVertexAttribDivisor(p0|0,p1|0); -} -function _emscripten_glBlendFunc__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glBlendFunc(p0|0,p1|0); -} -function _emscripten_glBlendEquationSeparate__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glBlendEquationSeparate(p0|0,p1|0); -} -function _emscripten_glStencilMaskSeparate__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glStencilMaskSeparate(p0|0,p1|0); -} -function _emscripten_glHint__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glHint(p0|0,p1|0); -} -function _emscripten_glDrawBuffers__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glDrawBuffers(p0|0,p1|0); -} -function b5(p0) { - p0 = p0|0; abort(5);return 0; -} -function _emscripten_glGetString__wrapper(p0) { - p0 = p0|0; return _emscripten_glGetString(p0|0)|0; -} -function _emscripten_glIsTexture__wrapper(p0) { - p0 = p0|0; return _emscripten_glIsTexture(p0|0)|0; -} -function _emscripten_glIsBuffer__wrapper(p0) { - p0 = p0|0; return _emscripten_glIsBuffer(p0|0)|0; -} -function _emscripten_glIsRenderbuffer__wrapper(p0) { - p0 = p0|0; return _emscripten_glIsRenderbuffer(p0|0)|0; -} -function _emscripten_glCreateShader__wrapper(p0) { - p0 = p0|0; return _emscripten_glCreateShader(p0|0)|0; -} -function _emscripten_glIsShader__wrapper(p0) { - p0 = p0|0; return _emscripten_glIsShader(p0|0)|0; -} -function _emscripten_glIsProgram__wrapper(p0) { - p0 = p0|0; return _emscripten_glIsProgram(p0|0)|0; -} -function _emscripten_glIsFramebuffer__wrapper(p0) { - p0 = p0|0; return _emscripten_glIsFramebuffer(p0|0)|0; -} -function _emscripten_glCheckFramebufferStatus__wrapper(p0) { - p0 = p0|0; return _emscripten_glCheckFramebufferStatus(p0|0)|0; -} -function _emscripten_glIsEnabled__wrapper(p0) { - p0 = p0|0; return _emscripten_glIsEnabled(p0|0)|0; -} -function b6(p0,p1,p2,p3) { - p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3; abort(6); -} -function _emscripten_glUniform3f__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glUniform3f(p0|0,+p1,+p2,+p3); -} -function _emscripten_glVertexAttrib3f__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glVertexAttrib3f(p0|0,+p1,+p2,+p3); -} -function b7(p0,p1,p2) { - p0 = p0|0;p1 = +p1;p2 = +p2; abort(7); -} -function _emscripten_glUniform2f__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = +p1;p2 = +p2; _emscripten_glUniform2f(p0|0,+p1,+p2); -} -function _emscripten_glVertexAttrib2f__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = +p1;p2 = +p2; _emscripten_glVertexAttrib2f(p0|0,+p1,+p2); -} -function b8(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; abort(8);return 0; -} -function b9(p0,p1,p2,p3,p4,p5,p6,p7) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0; abort(9); -} -function _emscripten_glCompressedTexImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0; _emscripten_glCompressedTexImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0); -} -function _emscripten_glCopyTexImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0; _emscripten_glCopyTexImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0); -} -function _emscripten_glCopyTexSubImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0; _emscripten_glCopyTexSubImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0); -} -function b10(p0,p1,p2,p3,p4,p5) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0; abort(10); -} -function _emscripten_glDrawRangeElements__wrapper(p0,p1,p2,p3,p4,p5) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0; _emscripten_glDrawRangeElements(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0); -} -function _emscripten_glVertexAttribPointer__wrapper(p0,p1,p2,p3,p4,p5) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0; _emscripten_glVertexAttribPointer(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0); -} -function b11(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; abort(11); -} -function _emscripten_glGetTexParameterfv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetTexParameterfv(p0|0,p1|0,p2|0); -} -function _emscripten_glGetTexParameteriv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetTexParameteriv(p0|0,p1|0,p2|0); -} -function _emscripten_glTexParameterfv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glTexParameterfv(p0|0,p1|0,p2|0); -} -function _emscripten_glTexParameteriv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glTexParameteriv(p0|0,p1|0,p2|0); -} -function _emscripten_glGetBufferParameteriv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetBufferParameteriv(p0|0,p1|0,p2|0); -} -function _emscripten_glGetRenderbufferParameteriv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetRenderbufferParameteriv(p0|0,p1|0,p2|0); -} -function _emscripten_glGetUniformfv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetUniformfv(p0|0,p1|0,p2|0); -} -function _emscripten_glGetUniformiv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetUniformiv(p0|0,p1|0,p2|0); -} -function _emscripten_glGetVertexAttribfv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetVertexAttribfv(p0|0,p1|0,p2|0); -} -function _emscripten_glGetVertexAttribiv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetVertexAttribiv(p0|0,p1|0,p2|0); -} -function _emscripten_glGetVertexAttribPointerv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetVertexAttribPointerv(p0|0,p1|0,p2|0); -} -function _emscripten_glUniform2i__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform2i(p0|0,p1|0,p2|0); -} -function _emscripten_glUniform1iv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform1iv(p0|0,p1|0,p2|0); -} -function _emscripten_glUniform2iv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform2iv(p0|0,p1|0,p2|0); -} -function _emscripten_glUniform3iv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform3iv(p0|0,p1|0,p2|0); -} -function _emscripten_glUniform4iv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform4iv(p0|0,p1|0,p2|0); -} -function _emscripten_glUniform1fv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform1fv(p0|0,p1|0,p2|0); -} -function _emscripten_glUniform2fv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform2fv(p0|0,p1|0,p2|0); -} -function _emscripten_glUniform3fv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform3fv(p0|0,p1|0,p2|0); -} -function _emscripten_glUniform4fv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform4fv(p0|0,p1|0,p2|0); -} -function _emscripten_glGetShaderiv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetShaderiv(p0|0,p1|0,p2|0); -} -function _emscripten_glGetProgramiv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetProgramiv(p0|0,p1|0,p2|0); -} -function _emscripten_glBindAttribLocation__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glBindAttribLocation(p0|0,p1|0,p2|0); -} -function _emscripten_glGetObjectParameterivARB__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetObjectParameterivARB(p0|0,p1|0,p2|0); -} -function _emscripten_glNormalPointer__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glNormalPointer(p0|0,p1|0,p2|0); -} -function _emscripten_glDrawArrays__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glDrawArrays(p0|0,p1|0,p2|0); -} -function _emscripten_glTexParameteri__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glTexParameteri(p0|0,p1|0,p2|0); -} -function _emscripten_glStencilFunc__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glStencilFunc(p0|0,p1|0,p2|0); -} -function _emscripten_glStencilOp__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glStencilOp(p0|0,p1|0,p2|0); -} -function b12(p0,p1,p2,p3,p4) { - p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4; abort(12); -} -function _emscripten_glUniform4f__wrapper(p0,p1,p2,p3,p4) { - p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4; _emscripten_glUniform4f(p0|0,+p1,+p2,+p3,+p4); -} -function _emscripten_glVertexAttrib4f__wrapper(p0,p1,p2,p3,p4) { - p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4; _emscripten_glVertexAttrib4f(p0|0,+p1,+p2,+p3,+p4); -} -function b13(p0,p1) { - p0 = +p0;p1 = p1|0; abort(13); -} -function _emscripten_glSampleCoverage__wrapper(p0,p1) { - p0 = +p0;p1 = p1|0; _emscripten_glSampleCoverage(+p0,p1|0); -} -function b14(p0,p1,p2,p3,p4,p5,p6) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0; abort(14); -} -function _emscripten_glReadPixels__wrapper(p0,p1,p2,p3,p4,p5,p6) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0; _emscripten_glReadPixels(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0); -} -function _emscripten_glGetActiveUniform__wrapper(p0,p1,p2,p3,p4,p5,p6) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0; _emscripten_glGetActiveUniform(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0); -} -function _emscripten_glGetActiveAttrib__wrapper(p0,p1,p2,p3,p4,p5,p6) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0; _emscripten_glGetActiveAttrib(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0); -} -function b15(p0,p1,p2,p3,p4,p5,p6,p7,p8) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0;p8 = p8|0; abort(15); -} -function _emscripten_glCompressedTexSubImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7,p8) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0;p8 = p8|0; _emscripten_glCompressedTexSubImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0,p8|0); -} -function _emscripten_glTexImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7,p8) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0;p8 = p8|0; _emscripten_glTexImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0,p8|0); -} -function _emscripten_glTexSubImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7,p8) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0;p8 = p8|0; _emscripten_glTexSubImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0,p8|0); -} -function b16(p0,p1) { - p0 = p0|0;p1 = p1|0; abort(16);return 0; -} -function _emscripten_glGetUniformLocation__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; return _emscripten_glGetUniformLocation(p0|0,p1|0)|0; -} -function _emscripten_glGetAttribLocation__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; return _emscripten_glGetAttribLocation(p0|0,p1|0)|0; -} -function b17() { - ; abort(17);return 0; -} -function _emscripten_glCreateProgram__wrapper() { - ; return _emscripten_glCreateProgram()|0; -} -function _emscripten_glGetError__wrapper() { - ; return _emscripten_glGetError()|0; -} -function b18(p0,p1,p2,p3,p4,p5) { - p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4;p5 = +p5; abort(18); -} -function _emscripten_glFrustum__wrapper(p0,p1,p2,p3,p4,p5) { - p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4;p5 = +p5; _emscripten_glFrustum(+p0,+p1,+p2,+p3,+p4,+p5); -} -function b19(p0,p1,p2,p3) { - p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3; abort(19); -} -function _emscripten_glRotatef__wrapper(p0,p1,p2,p3) { - p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glRotatef(+p0,+p1,+p2,+p3); -} -function _emscripten_glClearColor__wrapper(p0,p1,p2,p3) { - p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glClearColor(+p0,+p1,+p2,+p3); -} -function _emscripten_glBlendColor__wrapper(p0,p1,p2,p3) { - p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glBlendColor(+p0,+p1,+p2,+p3); -} -function b20(p0,p1) { - p0 = +p0;p1 = +p1; abort(20); -} -function _emscripten_glDepthRange__wrapper(p0,p1) { - p0 = +p0;p1 = +p1; _emscripten_glDepthRange(+p0,+p1); -} -function _emscripten_glDepthRangef__wrapper(p0,p1) { - p0 = +p0;p1 = +p1; _emscripten_glDepthRangef(+p0,+p1); -} -function _emscripten_glPolygonOffset__wrapper(p0,p1) { - p0 = +p0;p1 = +p1; _emscripten_glPolygonOffset(+p0,+p1); -} -function b21() { - ; abort(21); -} -function _emscripten_glLoadIdentity__wrapper() { - ; _emscripten_glLoadIdentity(); -} -function _emscripten_glReleaseShaderCompiler__wrapper() { - ; _emscripten_glReleaseShaderCompiler(); -} -function _emscripten_glFinish__wrapper() { - ; _emscripten_glFinish(); -} -function _emscripten_glFlush__wrapper() { - ; _emscripten_glFlush(); -} -function b22(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = +p2; abort(22); -} -function _emscripten_glTexParameterf__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = +p2; _emscripten_glTexParameterf(p0|0,p1|0,+p2); -} -function b23(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; abort(23); -} -function _emscripten_glBufferData__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glBufferData(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glBufferSubData__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glBufferSubData(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glUniform3i__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glUniform3i(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glUniformMatrix2fv__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glUniformMatrix2fv(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glUniformMatrix3fv__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glUniformMatrix3fv(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glUniformMatrix4fv__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glUniformMatrix4fv(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glGetAttachedShaders__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetAttachedShaders(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glShaderSource__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glShaderSource(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glGetShaderSource__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetShaderSource(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glGetShaderInfoLog__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetShaderInfoLog(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glGetShaderPrecisionFormat__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetShaderPrecisionFormat(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glGetProgramInfoLog__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetProgramInfoLog(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glFramebufferRenderbuffer__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glFramebufferRenderbuffer(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glGetFramebufferAttachmentParameteriv__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetFramebufferAttachmentParameteriv(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glGetInfoLogARB__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetInfoLogARB(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glVertexPointer__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glVertexPointer(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glTexCoordPointer__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glTexCoordPointer(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glColorPointer__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glColorPointer(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glDrawElements__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glDrawElements(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glDrawArraysInstanced__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glDrawArraysInstanced(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glViewport__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glViewport(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glScissor__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glScissor(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glColorMask__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glColorMask(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glRenderbufferStorage__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glRenderbufferStorage(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glBlendFuncSeparate__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glBlendFuncSeparate(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glStencilFuncSeparate__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glStencilFuncSeparate(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glStencilOpSeparate__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glStencilOpSeparate(p0|0,p1|0,p2|0,p3|0); -} - -// EMSCRIPTEN_END_FUNCS -var FUNCTION_TABLE_viiiii = [b0,_KeyCallback,_emscripten_glUniform4i__wrapper,_emscripten_glFramebufferTexture2D__wrapper,_emscripten_glShaderBinary__wrapper,_emscripten_glDrawElementsInstanced__wrapper,b0,b0]; -var FUNCTION_TABLE_vd = [b1,_emscripten_glClearDepth__wrapper,_emscripten_glClearDepthf__wrapper,_emscripten_glLineWidth__wrapper]; -var FUNCTION_TABLE_vid = [b2,_emscripten_glUniform1f__wrapper,_emscripten_glVertexAttrib1f__wrapper,b2]; -var FUNCTION_TABLE_vi = [b3,_emscripten_glDeleteShader__wrapper,_emscripten_glCompileShader__wrapper,_emscripten_glDeleteProgram__wrapper,_emscripten_glLinkProgram__wrapper,_emscripten_glUseProgram__wrapper,_emscripten_glValidateProgram__wrapper,_emscripten_glDeleteObjectARB__wrapper,_emscripten_glEnableClientState__wrapper,_emscripten_glClientActiveTexture__wrapper,_emscripten_glBindVertexArray__wrapper,_emscripten_glMatrixMode__wrapper,_emscripten_glLoadMatrixf__wrapper,_emscripten_glEnableVertexAttribArray__wrapper,_emscripten_glDisableVertexAttribArray__wrapper,_emscripten_glDepthFunc__wrapper,_emscripten_glEnable__wrapper,_emscripten_glDisable__wrapper,_emscripten_glFrontFace__wrapper,_emscripten_glCullFace__wrapper,_emscripten_glClear__wrapper,_emscripten_glClearStencil__wrapper,_emscripten_glDepthMask__wrapper,_emscripten_glStencilMask__wrapper,_emscripten_glGenerateMipmap__wrapper,_emscripten_glActiveTexture__wrapper,_emscripten_glBlendEquation__wrapper,_cleanup521,_cleanup526 -,b3,b3,b3]; -var FUNCTION_TABLE_vii = [b4,_ErrorCallback,_CursorEnterCallback,_CharCallback,_WindowIconifyCallback,_emscripten_glPixelStorei__wrapper,_emscripten_glGetIntegerv__wrapper,_emscripten_glGetFloatv__wrapper,_emscripten_glGetBooleanv__wrapper,_emscripten_glGenTextures__wrapper,_emscripten_glDeleteTextures__wrapper,_emscripten_glBindTexture__wrapper,_emscripten_glGenBuffers__wrapper,_emscripten_glDeleteBuffers__wrapper,_emscripten_glGenRenderbuffers__wrapper,_emscripten_glDeleteRenderbuffers__wrapper,_emscripten_glBindRenderbuffer__wrapper,_emscripten_glUniform1i__wrapper,_emscripten_glBindBuffer__wrapper,_emscripten_glVertexAttrib1fv__wrapper,_emscripten_glVertexAttrib2fv__wrapper,_emscripten_glVertexAttrib3fv__wrapper,_emscripten_glVertexAttrib4fv__wrapper,_emscripten_glAttachShader__wrapper,_emscripten_glDetachShader__wrapper,_emscripten_glBindFramebuffer__wrapper,_emscripten_glGenFramebuffers__wrapper,_emscripten_glDeleteFramebuffers__wrapper,_emscripten_glBindProgramARB__wrapper,_emscripten_glGetPointerv__wrapper,_emscripten_glGenVertexArrays__wrapper,_emscripten_glDeleteVertexArrays__wrapper,_emscripten_glVertexAttribDivisor__wrapper,_emscripten_glBlendFunc__wrapper,_emscripten_glBlendEquationSeparate__wrapper,_emscripten_glStencilMaskSeparate__wrapper,_emscripten_glHint__wrapper,_emscripten_glDrawBuffers__wrapper,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4 -,b4,b4,b4,b4,b4]; -var FUNCTION_TABLE_ii = [b5,___stdio_close,_emscripten_glGetString__wrapper,_emscripten_glIsTexture__wrapper,_emscripten_glIsBuffer__wrapper,_emscripten_glIsRenderbuffer__wrapper,_emscripten_glCreateShader__wrapper,_emscripten_glIsShader__wrapper,_emscripten_glIsProgram__wrapper,_emscripten_glIsFramebuffer__wrapper,_emscripten_glCheckFramebufferStatus__wrapper,_emscripten_glIsEnabled__wrapper,b5,b5,b5,b5]; -var FUNCTION_TABLE_viddd = [b6,_emscripten_glUniform3f__wrapper,_emscripten_glVertexAttrib3f__wrapper,b6]; -var FUNCTION_TABLE_vidd = [b7,_MouseCursorPosCallback,_ScrollCallback,_emscripten_glUniform2f__wrapper,_emscripten_glVertexAttrib2f__wrapper,b7,b7,b7]; -var FUNCTION_TABLE_iiii = [b8,_sn_write,___stdout_write,___stdio_seek,_EmscriptenFullscreenChangeCallback,_EmscriptenInputCallback,___stdio_read,___stdio_write]; -var FUNCTION_TABLE_viiiiiiii = [b9,_emscripten_glCompressedTexImage2D__wrapper,_emscripten_glCopyTexImage2D__wrapper,_emscripten_glCopyTexSubImage2D__wrapper]; -var FUNCTION_TABLE_viiiiii = [b10,_emscripten_glDrawRangeElements__wrapper,_emscripten_glVertexAttribPointer__wrapper,b10]; -var FUNCTION_TABLE_viii = [b11,_WindowSizeCallback,_emscripten_glGetTexParameterfv__wrapper,_emscripten_glGetTexParameteriv__wrapper,_emscripten_glTexParameterfv__wrapper,_emscripten_glTexParameteriv__wrapper,_emscripten_glGetBufferParameteriv__wrapper,_emscripten_glGetRenderbufferParameteriv__wrapper,_emscripten_glGetUniformfv__wrapper,_emscripten_glGetUniformiv__wrapper,_emscripten_glGetVertexAttribfv__wrapper,_emscripten_glGetVertexAttribiv__wrapper,_emscripten_glGetVertexAttribPointerv__wrapper,_emscripten_glUniform2i__wrapper,_emscripten_glUniform1iv__wrapper,_emscripten_glUniform2iv__wrapper,_emscripten_glUniform3iv__wrapper,_emscripten_glUniform4iv__wrapper,_emscripten_glUniform1fv__wrapper,_emscripten_glUniform2fv__wrapper,_emscripten_glUniform3fv__wrapper,_emscripten_glUniform4fv__wrapper,_emscripten_glGetShaderiv__wrapper,_emscripten_glGetProgramiv__wrapper,_emscripten_glBindAttribLocation__wrapper,_emscripten_glGetObjectParameterivARB__wrapper,_emscripten_glNormalPointer__wrapper,_emscripten_glDrawArrays__wrapper,_emscripten_glTexParameteri__wrapper,_emscripten_glStencilFunc__wrapper,_emscripten_glStencilOp__wrapper,b11]; -var FUNCTION_TABLE_vidddd = [b12,_emscripten_glUniform4f__wrapper,_emscripten_glVertexAttrib4f__wrapper,b12]; -var FUNCTION_TABLE_vdi = [b13,_emscripten_glSampleCoverage__wrapper]; -var FUNCTION_TABLE_viiiiiii = [b14,_emscripten_glReadPixels__wrapper,_emscripten_glGetActiveUniform__wrapper,_emscripten_glGetActiveAttrib__wrapper]; -var FUNCTION_TABLE_viiiiiiiii = [b15,_emscripten_glCompressedTexSubImage2D__wrapper,_emscripten_glTexImage2D__wrapper,_emscripten_glTexSubImage2D__wrapper]; -var FUNCTION_TABLE_iii = [b16,_point_compare,_uint32_compare,_emscripten_glGetUniformLocation__wrapper,_emscripten_glGetAttribLocation__wrapper,b16,b16,b16]; -var FUNCTION_TABLE_i = [b17,_emscripten_glCreateProgram__wrapper,_emscripten_glGetError__wrapper,b17]; -var FUNCTION_TABLE_vdddddd = [b18,_emscripten_glFrustum__wrapper]; -var FUNCTION_TABLE_vdddd = [b19,_emscripten_glRotatef__wrapper,_emscripten_glClearColor__wrapper,_emscripten_glBlendColor__wrapper]; -var FUNCTION_TABLE_vdd = [b20,_emscripten_glDepthRange__wrapper,_emscripten_glDepthRangef__wrapper,_emscripten_glPolygonOffset__wrapper]; -var FUNCTION_TABLE_v = [b21,_UpdateDrawFrame,_emscripten_glLoadIdentity__wrapper,_emscripten_glReleaseShaderCompiler__wrapper,_emscripten_glFinish__wrapper,_emscripten_glFlush__wrapper,b21,b21]; -var FUNCTION_TABLE_viid = [b22,_emscripten_glTexParameterf__wrapper]; -var FUNCTION_TABLE_viiii = [b23,_MouseButtonCallback,_emscripten_glBufferData__wrapper,_emscripten_glBufferSubData__wrapper,_emscripten_glUniform3i__wrapper,_emscripten_glUniformMatrix2fv__wrapper,_emscripten_glUniformMatrix3fv__wrapper,_emscripten_glUniformMatrix4fv__wrapper,_emscripten_glGetAttachedShaders__wrapper,_emscripten_glShaderSource__wrapper,_emscripten_glGetShaderSource__wrapper,_emscripten_glGetShaderInfoLog__wrapper,_emscripten_glGetShaderPrecisionFormat__wrapper,_emscripten_glGetProgramInfoLog__wrapper,_emscripten_glFramebufferRenderbuffer__wrapper,_emscripten_glGetFramebufferAttachmentParameteriv__wrapper,_emscripten_glGetInfoLogARB__wrapper,_emscripten_glVertexPointer__wrapper,_emscripten_glTexCoordPointer__wrapper,_emscripten_glColorPointer__wrapper,_emscripten_glDrawElements__wrapper,_emscripten_glDrawArraysInstanced__wrapper,_emscripten_glViewport__wrapper,_emscripten_glScissor__wrapper,_emscripten_glColorMask__wrapper,_emscripten_glRenderbufferStorage__wrapper,_emscripten_glBlendFuncSeparate__wrapper,_emscripten_glStencilFuncSeparate__wrapper,_emscripten_glStencilOpSeparate__wrapper,b23,b23,b23]; - - return { _i64Subtract: _i64Subtract, _fflush: _fflush, _main: _main, _i64Add: _i64Add, _memmove: _memmove, _strstr: _strstr, _memset: _memset, _malloc: _malloc, _memcpy: _memcpy, _bitshift64Lshr: _bitshift64Lshr, _free: _free, _emscripten_GetProcAddress: _emscripten_GetProcAddress, ___errno_location: ___errno_location, _bitshift64Shl: _bitshift64Shl, runPostSets: runPostSets, stackAlloc: stackAlloc, stackSave: stackSave, stackRestore: stackRestore, establishStackSpace: establishStackSpace, setThrew: setThrew, setTempRet0: setTempRet0, getTempRet0: getTempRet0, dynCall_viiiii: dynCall_viiiii, dynCall_vd: dynCall_vd, dynCall_vid: dynCall_vid, dynCall_vi: dynCall_vi, dynCall_vii: dynCall_vii, dynCall_ii: dynCall_ii, dynCall_viddd: dynCall_viddd, dynCall_vidd: dynCall_vidd, dynCall_iiii: dynCall_iiii, dynCall_viiiiiiii: dynCall_viiiiiiii, dynCall_viiiiii: dynCall_viiiiii, dynCall_viii: dynCall_viii, dynCall_vidddd: dynCall_vidddd, dynCall_vdi: dynCall_vdi, dynCall_viiiiiii: dynCall_viiiiiii, dynCall_viiiiiiiii: dynCall_viiiiiiiii, dynCall_iii: dynCall_iii, dynCall_i: dynCall_i, dynCall_vdddddd: dynCall_vdddddd, dynCall_vdddd: dynCall_vdddd, dynCall_vdd: dynCall_vdd, dynCall_v: dynCall_v, dynCall_viid: dynCall_viid, dynCall_viiii: dynCall_viiii }; -}) -// EMSCRIPTEN_END_ASM -(Module.asmGlobalArg, Module.asmLibraryArg, buffer); -var _i64Subtract = Module["_i64Subtract"] = asm["_i64Subtract"]; -var _fflush = Module["_fflush"] = asm["_fflush"]; -var _main = Module["_main"] = asm["_main"]; -var _i64Add = Module["_i64Add"] = asm["_i64Add"]; -var _memmove = Module["_memmove"] = asm["_memmove"]; -var _strstr = Module["_strstr"] = asm["_strstr"]; -var _memset = Module["_memset"] = asm["_memset"]; -var runPostSets = Module["runPostSets"] = asm["runPostSets"]; -var _malloc = Module["_malloc"] = asm["_malloc"]; -var _memcpy = Module["_memcpy"] = asm["_memcpy"]; -var _bitshift64Lshr = Module["_bitshift64Lshr"] = asm["_bitshift64Lshr"]; -var _free = Module["_free"] = asm["_free"]; -var _emscripten_GetProcAddress = Module["_emscripten_GetProcAddress"] = asm["_emscripten_GetProcAddress"]; -var ___errno_location = Module["___errno_location"] = asm["___errno_location"]; -var _bitshift64Shl = Module["_bitshift64Shl"] = asm["_bitshift64Shl"]; -var dynCall_viiiii = Module["dynCall_viiiii"] = asm["dynCall_viiiii"]; -var dynCall_vd = Module["dynCall_vd"] = asm["dynCall_vd"]; -var dynCall_vid = Module["dynCall_vid"] = asm["dynCall_vid"]; -var dynCall_vi = Module["dynCall_vi"] = asm["dynCall_vi"]; -var dynCall_vii = Module["dynCall_vii"] = asm["dynCall_vii"]; -var dynCall_ii = Module["dynCall_ii"] = asm["dynCall_ii"]; -var dynCall_viddd = Module["dynCall_viddd"] = asm["dynCall_viddd"]; -var dynCall_vidd = Module["dynCall_vidd"] = asm["dynCall_vidd"]; -var dynCall_iiii = Module["dynCall_iiii"] = asm["dynCall_iiii"]; -var dynCall_viiiiiiii = Module["dynCall_viiiiiiii"] = asm["dynCall_viiiiiiii"]; -var dynCall_viiiiii = Module["dynCall_viiiiii"] = asm["dynCall_viiiiii"]; -var dynCall_viii = Module["dynCall_viii"] = asm["dynCall_viii"]; -var dynCall_vidddd = Module["dynCall_vidddd"] = asm["dynCall_vidddd"]; -var dynCall_vdi = Module["dynCall_vdi"] = asm["dynCall_vdi"]; -var dynCall_viiiiiii = Module["dynCall_viiiiiii"] = asm["dynCall_viiiiiii"]; -var dynCall_viiiiiiiii = Module["dynCall_viiiiiiiii"] = asm["dynCall_viiiiiiiii"]; -var dynCall_iii = Module["dynCall_iii"] = asm["dynCall_iii"]; -var dynCall_i = Module["dynCall_i"] = asm["dynCall_i"]; -var dynCall_vdddddd = Module["dynCall_vdddddd"] = asm["dynCall_vdddddd"]; -var dynCall_vdddd = Module["dynCall_vdddd"] = asm["dynCall_vdddd"]; -var dynCall_vdd = Module["dynCall_vdd"] = asm["dynCall_vdd"]; -var dynCall_v = Module["dynCall_v"] = asm["dynCall_v"]; -var dynCall_viid = Module["dynCall_viid"] = asm["dynCall_viid"]; -var dynCall_viiii = Module["dynCall_viiii"] = asm["dynCall_viiii"]; -; - -Runtime.stackAlloc = asm['stackAlloc']; -Runtime.stackSave = asm['stackSave']; -Runtime.stackRestore = asm['stackRestore']; -Runtime.establishStackSpace = asm['establishStackSpace']; - -Runtime.setTempRet0 = asm['setTempRet0']; -Runtime.getTempRet0 = asm['getTempRet0']; - - - -// === Auto-generated postamble setup entry stuff === - - -function ExitStatus(status) { - this.name = "ExitStatus"; - this.message = "Program terminated with exit(" + status + ")"; - this.status = status; -}; -ExitStatus.prototype = new Error(); -ExitStatus.prototype.constructor = ExitStatus; - -var initialStackTop; -var preloadStartTime = null; -var calledMain = false; - -dependenciesFulfilled = function runCaller() { - // If run has never been called, and we should call run (INVOKE_RUN is true, and Module.noInitialRun is not false) - if (!Module['calledRun']) run(); - if (!Module['calledRun']) dependenciesFulfilled = runCaller; // try this again later, after new deps are fulfilled -} - -Module['callMain'] = Module.callMain = function callMain(args) { - assert(runDependencies == 0, 'cannot call main when async dependencies remain! (listen on __ATMAIN__)'); - assert(__ATPRERUN__.length == 0, 'cannot call main when preRun functions remain to be called'); - - args = args || []; - - ensureInitRuntime(); - - var argc = args.length+1; - function pad() { - for (var i = 0; i < 4-1; i++) { - argv.push(0); - } - } - var argv = [allocate(intArrayFromString(Module['thisProgram']), 'i8', ALLOC_NORMAL) ]; - pad(); - for (var i = 0; i < argc-1; i = i + 1) { - argv.push(allocate(intArrayFromString(args[i]), 'i8', ALLOC_NORMAL)); - pad(); - } - argv.push(0); - argv = allocate(argv, 'i32', ALLOC_NORMAL); - - - try { - - var ret = Module['_main'](argc, argv, 0); - - - // if we're not running an evented main loop, it's time to exit - exit(ret, /* implicit = */ true); - } - catch(e) { - if (e instanceof ExitStatus) { - // exit() throws this once it's done to make sure execution - // has been stopped completely - return; - } else if (e == 'SimulateInfiniteLoop') { - // running an evented main loop, don't immediately exit - Module['noExitRuntime'] = true; - return; - } else { - if (e && typeof e === 'object' && e.stack) Module.printErr('exception thrown: ' + [e, e.stack]); - throw e; - } - } finally { - calledMain = true; - } -} - - - - -function run(args) { - args = args || Module['arguments']; - - if (preloadStartTime === null) preloadStartTime = Date.now(); - - if (runDependencies > 0) { - return; - } - - preRun(); - - if (runDependencies > 0) return; // a preRun added a dependency, run will be called later - if (Module['calledRun']) return; // run may have just been called through dependencies being fulfilled just in this very frame - - function doRun() { - if (Module['calledRun']) return; // run may have just been called while the async setStatus time below was happening - Module['calledRun'] = true; - - if (ABORT) return; - - ensureInitRuntime(); - - preMain(); - - - if (Module['onRuntimeInitialized']) Module['onRuntimeInitialized'](); - - if (Module['_main'] && shouldRunNow) Module['callMain'](args); - - postRun(); - } - - if (Module['setStatus']) { - Module['setStatus']('Running...'); - setTimeout(function() { - setTimeout(function() { - Module['setStatus'](''); - }, 1); - doRun(); - }, 1); - } else { - doRun(); - } -} -Module['run'] = Module.run = run; - -function exit(status, implicit) { - if (implicit && Module['noExitRuntime']) { - return; - } - - if (Module['noExitRuntime']) { - } else { - - ABORT = true; - EXITSTATUS = status; - STACKTOP = initialStackTop; - - exitRuntime(); - - if (Module['onExit']) Module['onExit'](status); - } - - if (ENVIRONMENT_IS_NODE) { - // Work around a node.js bug where stdout buffer is not flushed at process exit: - // Instead of process.exit() directly, wait for stdout flush event. - // See https://github.com/joyent/node/issues/1669 and https://github.com/kripken/emscripten/issues/2582 - // Workaround is based on https://github.com/RReverser/acorn/commit/50ab143cecc9ed71a2d66f78b4aec3bb2e9844f6 - process['stdout']['once']('drain', function () { - process['exit'](status); - }); - console.log(' '); // Make sure to print something to force the drain event to occur, in case the stdout buffer was empty. - // Work around another node bug where sometimes 'drain' is never fired - make another effort - // to emit the exit status, after a significant delay (if node hasn't fired drain by then, give up) - setTimeout(function() { - process['exit'](status); - }, 500); - } else - if (ENVIRONMENT_IS_SHELL && typeof quit === 'function') { - quit(status); - } - // if we reach here, we must throw an exception to halt the current execution - throw new ExitStatus(status); -} -Module['exit'] = Module.exit = exit; - -var abortDecorators = []; - -function abort(what) { - if (what !== undefined) { - Module.print(what); - Module.printErr(what); - what = JSON.stringify(what) - } else { - what = ''; - } - - ABORT = true; - EXITSTATUS = 1; - - var extra = '\nIf this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.'; - - var output = 'abort(' + what + ') at ' + stackTrace() + extra; - if (abortDecorators) { - abortDecorators.forEach(function(decorator) { - output = decorator(output, what); - }); - } - throw output; -} -Module['abort'] = Module.abort = abort; - -// {{PRE_RUN_ADDITIONS}} - -if (Module['preInit']) { - if (typeof Module['preInit'] == 'function') Module['preInit'] = [Module['preInit']]; - while (Module['preInit'].length > 0) { - Module['preInit'].pop()(); - } -} - -// shouldRunNow refers to calling main(), not run(). -var shouldRunNow = true; -if (Module['noInitialRun']) { - shouldRunNow = false; -} - - -run(); - -// {{POST_RUN_ADDITIONS}} - - - - - - -// {{MODULE_ADDITIONS}} - - - diff --git a/docs/games/img/game_raylib_features.png b/docs/games/img/game_raylib_features.png deleted file mode 100644 index 0d907e032..000000000 Binary files a/docs/games/img/game_raylib_features.png and /dev/null differ diff --git a/docs/games/img/game_wave_collector.png b/docs/games/img/game_wave_collector.png new file mode 100644 index 000000000..3456caca1 Binary files /dev/null and b/docs/games/img/game_wave_collector.png differ diff --git a/docs/games/img/sample_doom.png b/docs/games/img/sample_doom.png deleted file mode 100644 index 8b98c0d64..000000000 Binary files a/docs/games/img/sample_doom.png and /dev/null differ diff --git a/docs/games/img/sample_gold_fever.png b/docs/games/img/sample_gold_fever.png deleted file mode 100644 index e6920daab..000000000 Binary files a/docs/games/img/sample_gold_fever.png and /dev/null differ diff --git a/docs/games/just_do.html b/docs/games/just_do.html index 9938436dd..8df6a7401 100644 --- a/docs/games/just_do.html +++ b/docs/games/just_do.html @@ -4,28 +4,31 @@ - raylib GGJ15 game: Just Do - - - - + raylib HTML5 GAME + + + + + + + + + + + + + - - - - - - - - - - - - - - - + + + + + + + + + - +
+ + +
+
Downloading...
-
-
Downloading...
+ + + - - Resize canvas - Lock/hide mouse pointer     - - - - -
- +
+ +
-
+ - - - - + \ No newline at end of file diff --git a/docs/games/just_do.html.mem b/docs/games/just_do.html.mem deleted file mode 100644 index 635fb30ce..000000000 Binary files a/docs/games/just_do.html.mem and /dev/null differ diff --git a/docs/games/just_do.js b/docs/games/just_do.js index d3993a9eb..be096e985 100644 --- a/docs/games/just_do.js +++ b/docs/games/just_do.js @@ -1,23 +1,56218 @@ -var Module;if(typeof Module==="undefined")Module=eval("(function() { try { return Module || {} } catch(e) { return {} } })()");if(!Module.expectedDataFileDownloads){Module.expectedDataFileDownloads=0;Module.finishedDataFileDownloads=0}Module.expectedDataFileDownloads++;((function(){var PACKAGE_PATH;if(typeof window==="object"){PACKAGE_PATH=window["encodeURIComponent"](window.location.pathname.toString().substring(0,window.location.pathname.toString().lastIndexOf("/"))+"/")}else{PACKAGE_PATH=encodeURIComponent(location.pathname.toString().substring(0,location.pathname.toString().lastIndexOf("/"))+"/")}var PACKAGE_NAME="just_do.data";var REMOTE_PACKAGE_BASE="just_do.data";if(typeof Module["locateFilePackage"]==="function"&&!Module["locateFile"]){Module["locateFile"]=Module["locateFilePackage"];Module.printErr("warning: you defined Module.locateFilePackage, that has been renamed to Module.locateFile (using your locateFilePackage for now)")}var REMOTE_PACKAGE_NAME=typeof Module["locateFile"]==="function"?Module["locateFile"](REMOTE_PACKAGE_BASE):(Module["filePackagePrefixURL"]||"")+REMOTE_PACKAGE_BASE;var REMOTE_PACKAGE_SIZE=2679704;var PACKAGE_UUID="dec45b16-1956-43f0-bb9b-a49e7d24385a";function fetchRemotePackage(packageName,packageSize,callback,errback){var xhr=new XMLHttpRequest;xhr.open("GET",packageName,true);xhr.responseType="arraybuffer";xhr.onprogress=(function(event){var url=packageName;var size=packageSize;if(event.total)size=event.total;if(event.loaded){if(!xhr.addedTotal){xhr.addedTotal=true;if(!Module.dataFileDownloads)Module.dataFileDownloads={};Module.dataFileDownloads[url]={loaded:event.loaded,total:size}}else{Module.dataFileDownloads[url].loaded=event.loaded}var total=0;var loaded=0;var num=0;for(var download in Module.dataFileDownloads){var data=Module.dataFileDownloads[download];total+=data.total;loaded+=data.loaded;num++}total=Math.ceil(total*Module.expectedDataFileDownloads/num);if(Module["setStatus"])Module["setStatus"]("Downloading data... ("+loaded+"/"+total+")")}else if(!Module.dataFileDownloads){if(Module["setStatus"])Module["setStatus"]("Downloading data...")}});xhr.onload=(function(event){var packageData=xhr.response;callback(packageData)});xhr.send(null)}function handleError(error){console.error("package error:",error)}var fetched=null,fetchedCallback=null;fetchRemotePackage(REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE,(function(data){if(fetchedCallback){fetchedCallback(data);fetchedCallback=null}else{fetched=data}}),handleError);function runWithFS(){function assert(check,msg){if(!check)throw msg+(new Error).stack}Module["FS_createPath"]("/","resources",true,true);function DataRequest(start,end,crunched,audio){this.start=start;this.end=end;this.crunched=crunched;this.audio=audio}DataRequest.prototype={requests:{},open:(function(mode,name){this.name=name;this.requests[name]=this;Module["addRunDependency"]("fp "+this.name)}),send:(function(){}),onload:(function(){var byteArray=this.byteArray.subarray(this.start,this.end);this.finish(byteArray)}),finish:(function(byteArray){var that=this;Module["FS_createPreloadedFile"](this.name,null,byteArray,true,true,(function(){Module["removeRunDependency"]("fp "+that.name)}),(function(){if(that.audio){Module["removeRunDependency"]("fp "+that.name)}else{Module.printErr("Preloading file "+that.name+" failed")}}),false,true);this.requests[this.name]=null})};(new DataRequest(0,2672956,0,1)).open("GET","/resources/ambient.ogg");(new DataRequest(2672956,2679704,0,1)).open("GET","/resources/win.wav");function processPackageData(arrayBuffer){Module.finishedDataFileDownloads++;assert(arrayBuffer,"Loading data file failed.");var byteArray=new Uint8Array(arrayBuffer);var curr;var ptr=Module["_malloc"](byteArray.length);Module["HEAPU8"].set(byteArray,ptr);DataRequest.prototype.byteArray=Module["HEAPU8"].subarray(ptr,ptr+byteArray.length);DataRequest.prototype.requests["/resources/ambient.ogg"].onload();DataRequest.prototype.requests["/resources/win.wav"].onload();Module["removeRunDependency"]("datafile_just_do.data")}Module["addRunDependency"]("datafile_just_do.data");if(!Module.preloadResults)Module.preloadResults={};Module.preloadResults[PACKAGE_NAME]={fromCache:false};if(fetched){processPackageData(fetched);fetched=null}else{fetchedCallback=processPackageData}}if(Module["calledRun"]){runWithFS()}else{if(!Module["preRun"])Module["preRun"]=[];Module["preRun"].push(runWithFS)}}))();var Module;if(!Module)Module=(typeof Module!=="undefined"?Module:null)||{};var moduleOverrides={};for(var key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}var ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof require==="function";var ENVIRONMENT_IS_WEB=typeof window==="object";var ENVIRONMENT_IS_WORKER=typeof importScripts==="function";var ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;if(ENVIRONMENT_IS_NODE){if(!Module["print"])Module["print"]=function print(x){process["stdout"].write(x+"\n")};if(!Module["printErr"])Module["printErr"]=function printErr(x){process["stderr"].write(x+"\n")};var nodeFS=require("fs");var nodePath=require("path");Module["read"]=function read(filename,binary){filename=nodePath["normalize"](filename);var ret=nodeFS["readFileSync"](filename);if(!ret&&filename!=nodePath["resolve"](filename)){filename=path.join(__dirname,"..","src",filename);ret=nodeFS["readFileSync"](filename)}if(ret&&!binary)ret=ret.toString();return ret};Module["readBinary"]=function readBinary(filename){return Module["read"](filename,true)};Module["load"]=function load(f){globalEval(read(f))};if(process["argv"].length>1){Module["thisProgram"]=process["argv"][1].replace(/\\/g,"/")}else{Module["thisProgram"]="unknown-program"}Module["arguments"]=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",(function(ex){if(!(ex instanceof ExitStatus)){throw ex}}))}else if(ENVIRONMENT_IS_SHELL){if(!Module["print"])Module["print"]=print;if(typeof printErr!="undefined")Module["printErr"]=printErr;if(typeof read!="undefined"){Module["read"]=read}else{Module["read"]=function read(){throw"no read() available (jsc?)"}}Module["readBinary"]=function readBinary(f){if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}var data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){Module["arguments"]=scriptArgs}else if(typeof arguments!="undefined"){Module["arguments"]=arguments}this["Module"]=Module}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){Module["read"]=function read(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof console!=="undefined"){if(!Module["print"])Module["print"]=function print(x){console.log(x)};if(!Module["printErr"])Module["printErr"]=function printErr(x){console.log(x)}}else{var TRY_USE_DUMP=false;if(!Module["print"])Module["print"]=TRY_USE_DUMP&&typeof dump!=="undefined"?(function(x){dump(x)}):(function(x){})}if(ENVIRONMENT_IS_WEB){window["Module"]=Module}else{Module["load"]=importScripts}}else{throw"Unknown runtime environment. Where are we?"}function globalEval(x){eval.call(null,x)}if(!Module["load"]&&Module["read"]){Module["load"]=function load(f){globalEval(Module["read"](f))}}if(!Module["print"]){Module["print"]=(function(){})}if(!Module["printErr"]){Module["printErr"]=Module["print"]}if(!Module["arguments"]){Module["arguments"]=[]}if(!Module["thisProgram"]){Module["thisProgram"]="./this.program"}Module.print=Module["print"];Module.printErr=Module["printErr"];Module["preRun"]=[];Module["postRun"]=[];for(var key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}var Runtime={setTempRet0:(function(value){tempRet0=value}),getTempRet0:(function(){return tempRet0}),stackSave:(function(){return STACKTOP}),stackRestore:(function(stackTop){STACKTOP=stackTop}),getNativeTypeSize:(function(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return Runtime.QUANTUM_SIZE}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0);return bits/8}else{return 0}}}}),getNativeFieldSize:(function(type){return Math.max(Runtime.getNativeTypeSize(type),Runtime.QUANTUM_SIZE)}),STACK_ALIGN:16,getAlignSize:(function(type,size,vararg){if(!vararg&&(type=="i64"||type=="double"))return 8;if(!type)return Math.min(size,8);return Math.min(size||(type?Runtime.getNativeFieldSize(type):0),Runtime.QUANTUM_SIZE)}),dynCall:(function(sig,ptr,args){if(args&&args.length){if(!args.splice)args=Array.prototype.slice.call(args);args.splice(0,0,ptr);return Module["dynCall_"+sig].apply(null,args)}else{return Module["dynCall_"+sig].call(null,ptr)}}),functionPointers:[],addFunction:(function(func){for(var i=0;i0)return""}var c1=buffer[0];var c2=buffer[1];var c3=buffer[2];var c4=buffer[3];var ret;if(buffer.length==2){ret=String.fromCharCode((c1&31)<<6|c2&63)}else if(buffer.length==3){ret=String.fromCharCode((c1&15)<<12|(c2&63)<<6|c3&63)}else{var codePoint=(c1&7)<<18|(c2&63)<<12|(c3&63)<<6|c4&63;ret=String.fromCharCode(((codePoint-65536)/1024|0)+55296,(codePoint-65536)%1024+56320)}buffer.length=0;return ret});this.processJSString=function processJSString(string){string=unescape(encodeURIComponent(string));var ret=[];for(var i=0;i=TOTAL_MEMORY)enlargeMemory();return ret}),alignMemory:(function(size,quantum){var ret=size=Math.ceil(size/(quantum?quantum:16))*(quantum?quantum:16);return ret}),makeBigInt:(function(low,high,unsigned){var ret=unsigned?+(low>>>0)+ +(high>>>0)*+4294967296:+(low>>>0)+ +(high|0)*+4294967296;return ret}),GLOBAL_BASE:8,QUANTUM_SIZE:4,__dummy__:0};Module["Runtime"]=Runtime;var __THREW__=0;var ABORT=false;var EXITSTATUS=0;var undef=0;var tempValue,tempInt,tempBigInt,tempInt2,tempBigInt2,tempPair,tempBigIntI,tempBigIntR,tempBigIntS,tempBigIntP,tempBigIntD,tempDouble,tempFloat;var tempI64,tempI64b;var tempRet0,tempRet1,tempRet2,tempRet3,tempRet4,tempRet5,tempRet6,tempRet7,tempRet8,tempRet9;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}var globalScope=this;function getCFunc(ident){var func=Module["_"+ident];if(!func){try{func=eval("_"+ident)}catch(e){}}assert(func,"Cannot call unknown function "+ident+" (perhaps LLVM optimizations or closure removed it?)");return func}var cwrap,ccall;((function(){var stack=0;var JSfuncs={"stackSave":(function(){stack=Runtime.stackSave()}),"stackRestore":(function(){Runtime.stackRestore(stack)}),"arrayToC":(function(arr){var ret=Runtime.stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}),"stringToC":(function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){ret=Runtime.stackAlloc((str.length<<2)+1);writeStringToMemory(str,ret)}return ret})};var toC={"string":JSfuncs["stringToC"],"array":JSfuncs["arrayToC"]};ccall=function ccallFunc(ident,returnType,argTypes,args){var func=getCFunc(ident);var cArgs=[];if(args){for(var i=0;i>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble- +(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}Module["setValue"]=setValue;function getValue(ptr,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":return HEAP8[ptr>>0];case"i8":return HEAP8[ptr>>0];case"i16":return HEAP16[ptr>>1];case"i32":return HEAP32[ptr>>2];case"i64":return HEAP32[ptr>>2];case"float":return HEAPF32[ptr>>2];case"double":return HEAPF64[ptr>>3];default:abort("invalid type for setValue: "+type)}return null}Module["getValue"]=getValue;var ALLOC_NORMAL=0;var ALLOC_STACK=1;var ALLOC_STATIC=2;var ALLOC_DYNAMIC=3;var ALLOC_NONE=4;Module["ALLOC_NORMAL"]=ALLOC_NORMAL;Module["ALLOC_STACK"]=ALLOC_STACK;Module["ALLOC_STATIC"]=ALLOC_STATIC;Module["ALLOC_DYNAMIC"]=ALLOC_DYNAMIC;Module["ALLOC_NONE"]=ALLOC_NONE;function allocate(slab,types,allocator,ptr){var zeroinit,size;if(typeof slab==="number"){zeroinit=true;size=slab}else{zeroinit=false;size=slab.length}var singleType=typeof types==="string"?types:null;var ret;if(allocator==ALLOC_NONE){ret=ptr}else{ret=[_malloc,Runtime.stackAlloc,Runtime.staticAlloc,Runtime.dynamicAlloc][allocator===undefined?ALLOC_STATIC:allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var ptr=ret,stop;assert((ret&3)==0);stop=ret+(size&~3);for(;ptr>2]=0}stop=ret+size;while(ptr>0]=0}return ret}if(singleType==="i8"){if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var i=0,type,typeSize,previousType;while(i>0];if(t>=128)hasUtf=true;else if(t==0&&!length)break;i++;if(length&&i==length)break}if(!length)length=i;var ret="";if(!hasUtf){var MAX_CHUNK=1024;var curr;while(length>0){curr=String.fromCharCode.apply(String,HEAPU8.subarray(ptr,ptr+Math.min(length,MAX_CHUNK)));ret=ret?ret+curr:curr;ptr+=MAX_CHUNK;length-=MAX_CHUNK}return ret}var utf8=new Runtime.UTF8Processor;for(i=0;i>0];ret+=utf8.processCChar(t)}return ret}Module["Pointer_stringify"]=Pointer_stringify;function UTF16ToString(ptr){var i=0;var str="";while(1){var codeUnit=HEAP16[ptr+i*2>>1];if(codeUnit==0)return str;++i;str+=String.fromCharCode(codeUnit)}}Module["UTF16ToString"]=UTF16ToString;function stringToUTF16(str,outPtr){for(var i=0;i>1]=codeUnit}HEAP16[outPtr+str.length*2>>1]=0}Module["stringToUTF16"]=stringToUTF16;function UTF32ToString(ptr){var i=0;var str="";while(1){var utf32=HEAP32[ptr+i*4>>2];if(utf32==0)return str;++i;if(utf32>=65536){var ch=utf32-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}else{str+=String.fromCharCode(utf32)}}}Module["UTF32ToString"]=UTF32ToString;function stringToUTF32(str,outPtr){var iChar=0;for(var iCodeUnit=0;iCodeUnit=55296&&codeUnit<=57343){var trailSurrogate=str.charCodeAt(++iCodeUnit);codeUnit=65536+((codeUnit&1023)<<10)|trailSurrogate&1023}HEAP32[outPtr+iChar*4>>2]=codeUnit;++iChar}HEAP32[outPtr+iChar*4>>2]=0}Module["stringToUTF32"]=stringToUTF32;function demangle(func){var hasLibcxxabi=!!Module["___cxa_demangle"];if(hasLibcxxabi){try{var buf=_malloc(func.length);writeStringToMemory(func.substr(1),buf);var status=_malloc(4);var ret=Module["___cxa_demangle"](buf,0,0,status);if(getValue(status,"i32")===0&&ret){return Pointer_stringify(ret)}}catch(e){}finally{if(buf)_free(buf);if(status)_free(status);if(ret)_free(ret)}}var i=3;var basicTypes={"v":"void","b":"bool","c":"char","s":"short","i":"int","l":"long","f":"float","d":"double","w":"wchar_t","a":"signed char","h":"unsigned char","t":"unsigned short","j":"unsigned int","m":"unsigned long","x":"long long","y":"unsigned long long","z":"..."};var subs=[];var first=true;function dump(x){if(x)Module.print(x);Module.print(func);var pre="";for(var a=0;a"}else{ret=name}paramLoop:while(i0){var c=func[i++];if(c in basicTypes){list.push(basicTypes[c])}else{switch(c){case"P":list.push(parse(true,1,true)[0]+"*");break;case"R":list.push(parse(true,1,true)[0]+"&");break;case"L":{i++;var end=func.indexOf("E",i);var size=end-i;list.push(func.substr(i,size));i+=size+2;break};case"A":{var size=parseInt(func.substr(i));i+=size.toString().length;if(func[i]!=="_")throw"?";i++;list.push(parse(true,1,true)[0]+" ["+size+"]");break};case"E":break paramLoop;default:ret+="?"+c;break paramLoop}}}if(!allowVoid&&list.length===1&&list[0]==="void")list=[];if(rawList){if(ret){list.push(ret+"?")}return list}else{return ret+flushList()}}var final=func;try{if(func=="Object._main"||func=="_main"){return"main()"}if(typeof func==="number")func=Pointer_stringify(func);if(func[0]!=="_")return func;if(func[1]!=="_")return func;if(func[2]!=="Z")return func;switch(func[3]){case"n":return"operator new()";case"d":return"operator delete()"}final=parse()}catch(e){final+="?"}if(final.indexOf("?")>=0&&!hasLibcxxabi){Runtime.warnOnce("warning: a problem occurred in builtin C++ name demangling; build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling")}return final}function demangleAll(text){return text.replace(/__Z[\w\d_]+/g,(function(x){var y=demangle(x);return x===y?x:x+" ["+y+"]"}))}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){return demangleAll(jsStackTrace())}Module["stackTrace"]=stackTrace;var PAGE_SIZE=4096;function alignMemoryPage(x){return x+4095&-4096}var HEAP;var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;var STATIC_BASE=0,STATICTOP=0,staticSealed=false;var STACK_BASE=0,STACKTOP=0,STACK_MAX=0;var DYNAMIC_BASE=0,DYNAMICTOP=0;function enlargeMemory(){abort("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+TOTAL_MEMORY+", (2) compile with ALLOW_MEMORY_GROWTH which adjusts the size at runtime but prevents some optimizations, or (3) set Module.TOTAL_MEMORY before the program runs.")}var TOTAL_STACK=Module["TOTAL_STACK"]||5242880;var TOTAL_MEMORY=Module["TOTAL_MEMORY"]||16777216;var FAST_MEMORY=Module["FAST_MEMORY"]||2097152;var totalMemory=64*1024;while(totalMemory0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Runtime.dynCall("v",func)}else{Runtime.dynCall("vi",func,[callback.arg])}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function ensureInitRuntime(){if(runtimeInitialized)return;runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){callRuntimeCallbacks(__ATEXIT__);runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}Module["addOnPreRun"]=Module.addOnPreRun=addOnPreRun;function addOnInit(cb){__ATINIT__.unshift(cb)}Module["addOnInit"]=Module.addOnInit=addOnInit;function addOnPreMain(cb){__ATMAIN__.unshift(cb)}Module["addOnPreMain"]=Module.addOnPreMain=addOnPreMain;function addOnExit(cb){__ATEXIT__.unshift(cb)}Module["addOnExit"]=Module.addOnExit=addOnExit;function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}Module["addOnPostRun"]=Module.addOnPostRun=addOnPostRun;function intArrayFromString(stringy,dontAddNull,length){var ret=(new Runtime.UTF8Processor).processJSString(stringy);if(length){ret.length=length}if(!dontAddNull){ret.push(0)}return ret}Module["intArrayFromString"]=intArrayFromString;function intArrayToString(array){var ret=[];for(var i=0;i255){chr&=255}ret.push(String.fromCharCode(chr))}return ret.join("")}Module["intArrayToString"]=intArrayToString;function writeStringToMemory(string,buffer,dontAddNull){var array=intArrayFromString(string,dontAddNull);var i=0;while(i>0]=chr;i=i+1}}Module["writeStringToMemory"]=writeStringToMemory;function writeArrayToMemory(array,buffer){for(var i=0;i>0]=array[i]}}Module["writeArrayToMemory"]=writeArrayToMemory;function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer+str.length>>0]=0}Module["writeAsciiToMemory"]=writeAsciiToMemory;function unSign(value,bits,ignore){if(value>=0){return value}return bits<=32?2*Math.abs(1<=half&&(bits<=32||value>half)){value=-2*half+value}return value}if(!Math["imul"]||Math["imul"](4294967295,5)!==-5)Math["imul"]=function imul(a,b){var ah=a>>>16;var al=a&65535;var bh=b>>>16;var bl=b&65535;return al*bl+(ah*bl+al*bh<<16)|0};Math.imul=Math["imul"];var Math_abs=Math.abs;var Math_cos=Math.cos;var Math_sin=Math.sin;var Math_tan=Math.tan;var Math_acos=Math.acos;var Math_asin=Math.asin;var Math_atan=Math.atan;var Math_atan2=Math.atan2;var Math_exp=Math.exp;var Math_log=Math.log;var Math_sqrt=Math.sqrt;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_pow=Math.pow;var Math_imul=Math.imul;var Math_fround=Math.fround;var Math_min=Math.min;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}Module["addRunDependency"]=addRunDependency;function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["removeRunDependency"]=removeRunDependency;Module["preloadedImages"]={};Module["preloadedAudios"]={};var memoryInitializer=null;STATIC_BASE=8;STATICTOP=STATIC_BASE+16752;__ATINIT__.push();var memoryInitializer="just_do.html.mem";var tempDoublePtr=Runtime.alignMemory(allocate(12,"i8",ALLOC_STATIC),8);assert(tempDoublePtr%8==0);function copyTempFloat(ptr){HEAP8[tempDoublePtr]=HEAP8[ptr];HEAP8[tempDoublePtr+1]=HEAP8[ptr+1];HEAP8[tempDoublePtr+2]=HEAP8[ptr+2];HEAP8[tempDoublePtr+3]=HEAP8[ptr+3]}function copyTempDouble(ptr){HEAP8[tempDoublePtr]=HEAP8[ptr];HEAP8[tempDoublePtr+1]=HEAP8[ptr+1];HEAP8[tempDoublePtr+2]=HEAP8[ptr+2];HEAP8[tempDoublePtr+3]=HEAP8[ptr+3];HEAP8[tempDoublePtr+4]=HEAP8[ptr+4];HEAP8[tempDoublePtr+5]=HEAP8[ptr+5];HEAP8[tempDoublePtr+6]=HEAP8[ptr+6];HEAP8[tempDoublePtr+7]=HEAP8[ptr+7]}var GL={counter:1,lastError:0,buffers:[],mappedBuffers:{},programs:[],framebuffers:[],renderbuffers:[],textures:[],uniforms:[],shaders:[],vaos:[],contexts:[],byteSizeByTypeRoot:5120,byteSizeByType:[1,1,2,2,4,4,4,2,3,4,8],programInfos:{},stringCache:{},packAlignment:4,unpackAlignment:4,init:(function(){GL.miniTempBuffer=new Float32Array(GL.MINI_TEMP_BUFFER_SIZE);for(var i=0;i>2];if(len<0){frag=Pointer_stringify(HEAP32[string+i*4>>2])}else{frag=Pointer_stringify(HEAP32[string+i*4>>2],len)}}else{frag=Pointer_stringify(HEAP32[string+i*4>>2])}source+=frag}return source}),computeImageSize:(function(width,height,sizePerPixel,alignment){function roundedToNextMultipleOf(x,y){return Math.floor((x+y-1)/y)*y}var plainRowSize=width*sizePerPixel;var alignedRowSize=roundedToNextMultipleOf(plainRowSize,alignment);return height<=0?0:(height-1)*alignedRowSize+plainRowSize}),get:(function(name_,p,type){if(!p){GL.recordError(1281);return}var ret=undefined;switch(name_){case 36346:ret=1;break;case 36344:if(type!=="Integer"){GL.recordError(1280)}return;case 36345:ret=0;break;case 34466:var formats=GLctx.getParameter(34467);ret=formats.length;break;case 35738:ret=5121;break;case 35739:ret=6408;break}if(ret===undefined){var result=GLctx.getParameter(name_);switch(typeof result){case"number":ret=result;break;case"boolean":ret=result?1:0;break;case"string":GL.recordError(1280);return;case"object":if(result===null){switch(name_){case 34964:case 35725:case 34965:case 36006:case 36007:case 32873:case 34068:{ret=0;break};default:{GL.recordError(1280);return}}}else if(result instanceof Float32Array||result instanceof Uint32Array||result instanceof Int32Array||result instanceof Array){for(var i=0;i>2]=result[i];break;case"Float":HEAPF32[p+i*4>>2]=result[i];break;case"Boolean":HEAP8[p+i>>0]=result[i]?1:0;break;default:throw"internal glGet error, bad type: "+type}}return}else if(result instanceof WebGLBuffer||result instanceof WebGLProgram||result instanceof WebGLFramebuffer||result instanceof WebGLRenderbuffer||result instanceof WebGLTexture){ret=result.name|0}else{GL.recordError(1280);return}break;default:GL.recordError(1280);return}}switch(type){case"Integer":HEAP32[p>>2]=ret;break;case"Float":HEAPF32[p>>2]=ret;break;case"Boolean":HEAP8[p>>0]=ret?1:0;break;default:throw"internal glGet error, bad type: "+type}}),getTexPixelData:(function(type,format,width,height,pixels,internalFormat){var sizePerPixel;switch(type){case 5121:switch(format){case 6406:case 6409:sizePerPixel=1;break;case 6407:sizePerPixel=3;break;case 6408:sizePerPixel=4;break;case 6410:sizePerPixel=2;break;default:GL.recordError(1280);return{pixels:null,internalFormat:0}}break;case 5123:if(format==6402){sizePerPixel=2}else{GL.recordError(1280);return{pixels:null,internalFormat:0}}break;case 5125:if(format==6402){sizePerPixel=4}else{GL.recordError(1280);return{pixels:null,internalFormat:0}}break;case 34042:sizePerPixel=4;break;case 33635:case 32819:case 32820:sizePerPixel=2;break;case 5126:switch(format){case 6407:sizePerPixel=3*4;break;case 6408:sizePerPixel=4*4;break;default:GL.recordError(1280);return{pixels:null,internalFormat:0}}internalFormat=GLctx.RGBA;break;case 36193:switch(format){case 6403:sizePerPixel=2;break;case 33399:sizePerPixel=2*2;break;case 6407:sizePerPixel=3*2;break;case 6408:sizePerPixel=4*2;break;default:GL.recordError(1280);return{pixels:null,internalFormat:0}}break;default:GL.recordError(1280);return{pixels:null,internalFormat:0}}var bytes=GL.computeImageSize(width,height,sizePerPixel,GL.unpackAlignment);if(type==5121){pixels=HEAPU8.subarray(pixels,pixels+bytes)}else if(type==5126){pixels=HEAPF32.subarray(pixels>>2,pixels+bytes>>2)}else if(type==5125||type==34042){pixels=HEAPU32.subarray(pixels>>2,pixels+bytes>>2)}else{pixels=HEAPU16.subarray(pixels>>1,pixels+bytes>>1)}return{pixels:pixels,internalFormat:internalFormat}}),validateBufferTarget:(function(target){switch(target){case 34962:case 34963:case 36662:case 36663:case 35051:case 35052:case 35882:case 35982:case 35345:return true;default:return false}}),createContext:(function(canvas,webGLContextAttributes){if(typeof webGLContextAttributes.majorVersion==="undefined"&&typeof webGLContextAttributes.minorVersion==="undefined"){webGLContextAttributes.majorVersion=1;webGLContextAttributes.minorVersion=0}var ctx;var errorInfo="?";function onContextCreationError(event){errorInfo=event.statusMessage||errorInfo}try{canvas.addEventListener("webglcontextcreationerror",onContextCreationError,false);try{if(webGLContextAttributes.majorVersion==1&&webGLContextAttributes.minorVersion==0){ctx=canvas.getContext("webgl",webGLContextAttributes)||canvas.getContext("experimental-webgl",webGLContextAttributes)}else if(webGLContextAttributes.majorVersion==2&&webGLContextAttributes.minorVersion==0){ctx=canvas.getContext("webgl2",webGLContextAttributes)||canvas.getContext("experimental-webgl2",webGLContextAttributes)}else{throw"Unsupported WebGL context version "+majorVersion+"."+minorVersion+"!"}}finally{canvas.removeEventListener("webglcontextcreationerror",onContextCreationError,false)}if(!ctx)throw":("}catch(e){Module.print("Could not create canvas: "+[errorInfo,e,JSON.stringify(webGLContextAttributes)]);return 0}if(!ctx)return 0;var handle=GL.getNewId(GL.contexts);var context={handle:handle,version:webGLContextAttributes.majorVersion,GLctx:ctx};if(ctx.canvas)ctx.canvas.GLctxObject=context;GL.contexts[handle]=context;if(typeof webGLContextAttributes["webGLContextAttributes"]==="undefined"||webGLContextAttributes.enableExtensionsByDefault){GL.initExtensions(context)}return handle}),makeContextCurrent:(function(contextHandle){var context=GL.contexts[contextHandle];if(!context)return false;GLctx=Module.ctx=context.GLctx;GL.currentContext=context;return true}),getContext:(function(contextHandle){return GL.contexts[contextHandle]}),deleteContext:(function(contextHandle){if(GL.currentContext===GL.contexts[contextHandle])GL.currentContext=0;if(typeof JSEvents==="object")JSEvents.removeAllHandlersOnTarget(GL.contexts[contextHandle].canvas);if(GL.contexts[contextHandle]&&GL.contexts[contextHandle].GLctx.canvas)GL.contexts[contextHandle].GLctx.canvas.GLctxObject=undefined;GL.contexts[contextHandle]=null}),initExtensions:(function(context){if(!context)context=GL.currentContext;if(context.initExtensionsDone)return;context.initExtensionsDone=true;var GLctx=context.GLctx;context.maxVertexAttribs=GLctx.getParameter(GLctx.MAX_VERTEX_ATTRIBS);context.compressionExt=GLctx.getExtension("WEBGL_compressed_texture_s3tc")||GLctx.getExtension("MOZ_WEBGL_compressed_texture_s3tc")||GLctx.getExtension("WEBKIT_WEBGL_compressed_texture_s3tc");context.anisotropicExt=GLctx.getExtension("EXT_texture_filter_anisotropic")||GLctx.getExtension("MOZ_EXT_texture_filter_anisotropic")||GLctx.getExtension("WEBKIT_EXT_texture_filter_anisotropic");context.floatExt=GLctx.getExtension("OES_texture_float");context.instancedArraysExt=GLctx.getExtension("ANGLE_instanced_arrays");context.vaoExt=GLctx.getExtension("OES_vertex_array_object");if(context.version===2){context.drawBuffersExt=(function(n,bufs){GLctx.drawBuffers(n,bufs)})}else{var ext=GLctx.getExtension("WEBGL_draw_buffers");if(ext){context.drawBuffersExt=(function(n,bufs){ext.drawBuffersWEBGL(n,bufs)})}}var automaticallyEnabledExtensions=["OES_texture_float","OES_texture_half_float","OES_standard_derivatives","OES_vertex_array_object","WEBGL_compressed_texture_s3tc","WEBGL_depth_texture","OES_element_index_uint","EXT_texture_filter_anisotropic","ANGLE_instanced_arrays","OES_texture_float_linear","OES_texture_half_float_linear","WEBGL_compressed_texture_atc","WEBGL_compressed_texture_pvrtc","EXT_color_buffer_half_float","WEBGL_color_buffer_float","EXT_frag_depth","EXT_sRGB","WEBGL_draw_buffers","WEBGL_shared_resources","EXT_shader_texture_lod"];function shouldEnableAutomatically(extension){var ret=false;automaticallyEnabledExtensions.forEach((function(include){if(ext.indexOf(include)!=-1){ret=true}}));return ret}GLctx.getSupportedExtensions().forEach((function(ext){ext=ext.replace("MOZ_","").replace("WEBKIT_","");if(automaticallyEnabledExtensions.indexOf(ext)!=-1){GLctx.getExtension(ext)}}))}),populateUniformTable:(function(program){var p=GL.programs[program];GL.programInfos[program]={uniforms:{},maxUniformLength:0,maxAttributeLength:-1};var ptable=GL.programInfos[program];var utable=ptable.uniforms;var numUniforms=GLctx.getProgramParameter(p,GLctx.ACTIVE_UNIFORMS);for(var i=0;i=0&&charCode<=31)return;Runtime.dynCall("vii",GLFW.active.charFunc,[GLFW.active.id,charCode])}),onKeyChanged:(function(event,status){if(!GLFW.active)return;var key=GLFW.DOMToGLFWKeyCode(event.keyCode);if(key==-1)return;GLFW.active.keys[key]=status;if(!GLFW.active.keyFunc)return;Runtime.dynCall("viiiii",GLFW.active.keyFunc,[GLFW.active.id,key,event.keyCode,status,GLFW.getModBits(GLFW.active)])}),onKeydown:(function(event){GLFW.onKeyChanged(event,1);if(event.keyCode===8||event.keyCode===9){event.preventDefault()}}),onKeyup:(function(event){GLFW.onKeyChanged(event,0)}),onMousemove:(function(event){if(!GLFW.active)return;Browser.calculateMouseEvent(event);if(event.target!=Module["canvas"]||!GLFW.active.cursorPosFunc)return;Runtime.dynCall("vidd",GLFW.active.cursorPosFunc,[GLFW.active.id,Browser.mouseX,Browser.mouseY])}),onMouseButtonChanged:(function(event,status){if(!GLFW.active||!GLFW.active.mouseButtonFunc)return;Browser.calculateMouseEvent(event);if(event.target!=Module["canvas"])return;if(status==1){try{event.target.setCapture()}catch(e){}}var eventButton=event["button"];if(eventButton>0){if(eventButton==1){eventButton=2}else{eventButton=1}}Runtime.dynCall("viiii",GLFW.active.mouseButtonFunc,[GLFW.active.id,eventButton,status,GLFW.getModBits(GLFW.active)])}),onMouseButtonDown:(function(event){if(!GLFW.active)return;GLFW.active.buttons|=1<0?Math.max(delta,1):Math.min(delta,-1);GLFW.wheelPos+=delta;if(!GLFW.active||!GLFW.active.scrollFunc||event.target!=Module["canvas"])return;var sx=0;var sy=0;if(event.type=="mousewheel"){sx=event.wheelDeltaX;sy=event.wheelDeltaY}else{sx=event.deltaX;sy=event.deltaY}Runtime.dynCall("vidd",GLFW.active.scrollFunc,[GLFW.active.id,sx,sy]);event.preventDefault()}),onFullScreenEventChange:(function(event){if(!GLFW.active)return;if(document["fullScreen"]||document["mozFullScreen"]||document["webkitIsFullScreen"]){GLFW.active.storedX=GLFW.active.x;GLFW.active.storedY=GLFW.active.y;GLFW.active.x=GLFW.active.y=0;GLFW.active.storedWidth=GLFW.active.width;GLFW.active.storedHeight=GLFW.active.height;GLFW.active.width=screen.width;GLFW.active.height=screen.height}else{document.removeEventListener("fullscreenchange",GLFW.onFullScreenEventChange,true);document.removeEventListener("mozfullscreenchange",GLFW.onFullScreenEventChange,true);document.removeEventListener("webkitfullscreenchange",GLFW.onFullScreenEventChange,true);GLFW.active.width=GLFW.active.storedWidth;GLFW.active.height=GLFW.active.storedHeight}Browser.setCanvasSize(GLFW.active.width,GLFW.active.height);if(!GLFW.active.windowResizeFunc)return;Runtime.dynCall("viii",GLFW.active.windowResizeFunc,[GLFW.active.id,width,height])}),requestFullScreen:(function(){var RFS=Module["canvas"]["requestFullscreen"]||Module["canvas"]["requestFullScreen"]||Module["canvas"]["mozRequestFullScreen"]||Module["canvas"]["webkitRequestFullScreen"]||(function(){});RFS.apply(Module["canvas"],[])}),cancelFullScreen:(function(){var CFS=document["exitFullscreen"]||document["cancelFullScreen"]||document["mozCancelFullScreen"]||document["webkitCancelFullScreen"]||(function(){});CFS.apply(document,[])}),getTime:(function(){return _emscripten_get_now()/1e3}),setWindowTitle:(function(winid,title){var win=GLFW.WindowFromId(winid);if(!win)return;win.title=Pointer_stringify(title);if(GLFW.active.id==win.id){document.title=win.title}}),setKeyCallback:(function(winid,cbfun){var win=GLFW.WindowFromId(winid);if(!win)return;win.keyFunc=cbfun}),setCharCallback:(function(winid,cbfun){var win=GLFW.WindowFromId(winid);if(!win)return;win.charFunc=cbfun}),setMouseButtonCallback:(function(winid,cbfun){var win=GLFW.WindowFromId(winid);if(!win)return;win.mouseButtonFunc=cbfun}),setCursorPosCallback:(function(winid,cbfun){var win=GLFW.WindowFromId(winid);if(!win)return;win.cursorPosFunc=cbfun}),setScrollCallback:(function(winid,cbfun){var win=GLFW.WindowFromId(winid);if(!win)return;win.scrollFunc=cbfun}),setWindowSizeCallback:(function(winid,cbfun){var win=GLFW.WindowFromId(winid);if(!win)return;win.windowSizeFunc=cbfun}),setWindowCloseCallback:(function(winid,cbfun){var win=GLFW.WindowFromId(winid);if(!win)return;win.windowCloseFunc=cbfun}),setWindowRefreshCallback:(function(winid,cbfun){var win=GLFW.WindowFromId(winid);if(!win)return;win.windowRefreshFunc=cbfun}),getKey:(function(winid,key){var win=GLFW.WindowFromId(winid);if(!win)return 0;return win.keys[key]}),getMouseButton:(function(winid,button){var win=GLFW.WindowFromId(winid);if(!win)return 0;return(win.buttons&1<0}),getCursorPos:(function(winid,x,y){setValue(x,Browser.mouseX,"double");setValue(y,Browser.mouseY,"double")}),getMousePos:(function(winid,x,y){setValue(x,Browser.mouseX,"i32");setValue(y,Browser.mouseY,"i32")}),setCursorPos:(function(winid,x,y){}),getWindowPos:(function(winid,x,y){var wx=0;var wy=0;var win=GLFW.WindowFromId(winid);if(win){wx=win.x;wy=win.y}setValue(x,wx,"i32");setValue(y,wy,"i32")}),setWindowPos:(function(winid,x,y){var win=GLFW.WindowFromId(winid);if(!win)return;win.x=x;win.y=y}),getWindowSize:(function(winid,width,height){var ww=0;var wh=0;var win=GLFW.WindowFromId(winid);if(win){ww=win.width;wh=win.height}setValue(width,ww,"i32");setValue(height,wh,"i32")}),setWindowSize:(function(winid,width,height){var win=GLFW.WindowFromId(winid);if(!win)return;if(GLFW.active.id==win.id){if(width==screen.width&&height==screen.height){GLFW.requestFullScreen()}else{GLFW.cancelFullScreen();Browser.setCanvasSize(width,height);win.width=width;win.height=height}}if(!win.windowResizeFunc)return;Runtime.dynCall("viii",win.windowResizeFunc,[win.id,width,height])}),createWindow:(function(width,height,title,monitor,share){var i,id;for(i=0;i0)throw"glfwCreateWindow only supports one window at time currently";id=i+1;if(width<=0||height<=0)return 0;if(monitor){GLFW.requestFullScreen()}else{Browser.setCanvasSize(width,height)}for(i=0;i1,depth:GLFW.hints[135173]>0,stencil:GLFW.hints[135174]>0};Module.ctx=Browser.createContext(Module["canvas"],true,true,contextAttributes)}var win=new GLFW.Window(id,width,height,title,monitor,share);if(id-1==GLFW.windows.length){GLFW.windows.push(win)}else{GLFW.windows[id-1]=win}GLFW.active=win;return win.id}),destroyWindow:(function(winid){var win=GLFW.WindowFromId(winid);if(!win)return;if(win.windowCloseFunc)Runtime.dynCall("vi",win.windowCloseFunc,[win.id]);GLFW.windows[win.id-1]=null;if(GLFW.active.id==win.id)GLFW.active=null;for(var i=0;i>2]=value;return value}var PATH={splitPath:(function(filename){var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)}),normalizeArray:(function(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up--;up){parts.unshift("..")}}return parts}),normalize:(function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter((function(p){return!!p})),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path}),dirname:(function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir}),basename:(function(path){if(path==="/")return"/";var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)}),extname:(function(path){return PATH.splitPath(path)[3]}),join:(function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))}),join2:(function(l,r){return PATH.normalize(l+"/"+r)}),resolve:(function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter((function(p){return!!p})),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."}),relative:(function(from,to){from=PATH.resolve(from).substr(1);to=PATH.resolve(to).substr(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;inode.contents.length){node.contents=MEMFS.getFileDataAsRegularArray(node);node.usedBytes=node.contents.length}if(!node.contents||node.contents.subarray){var prevCapacity=node.contents?node.contents.buffer.byteLength:0;if(prevCapacity>=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity0)node.contents.set(oldContents.subarray(0,node.usedBytes),0);return}if(!node.contents&&newCapacity>0)node.contents=[];while(node.contents.lengthnewSize)node.contents.length=newSize;else while(node.contents.length=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);assert(size>=0);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i0||position+lengthe2.timestamp){create.push(key);total++}}));var remove=[];Object.keys(dst.entries).forEach((function(key){var e=dst.entries[key];var e2=src.entries[key];if(!e2){remove.push(key);total++}}));if(!total){return callback(null)}var errored=false;var completed=0;var db=src.type==="remote"?src.db:dst.db;var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readwrite");var store=transaction.objectStore(IDBFS.DB_STORE_NAME);function done(err){if(err){if(!done.errored){done.errored=true;return callback(err)}return}if(++completed>=total){return callback(null)}}transaction.onerror=(function(){done(this.error)});create.sort().forEach((function(path){if(dst.type==="local"){IDBFS.loadRemoteEntry(store,path,(function(err,entry){if(err)return done(err);IDBFS.storeLocalEntry(path,entry,done)}))}else{IDBFS.loadLocalEntry(path,(function(err,entry){if(err)return done(err);IDBFS.storeRemoteEntry(store,path,entry,done)}))}}));remove.sort().reverse().forEach((function(path){if(dst.type==="local"){IDBFS.removeLocalEntry(path,done)}else{IDBFS.removeRemoteEntry(store,path,done)}}))})};var NODEFS={isWindows:false,staticInit:(function(){NODEFS.isWindows=!!process.platform.match(/^win/)}),mount:(function(mount){assert(ENVIRONMENT_IS_NODE);return NODEFS.createNode(null,"/",NODEFS.getMode(mount.opts.root),0)}),createNode:(function(parent,name,mode,dev){if(!FS.isDir(mode)&&!FS.isFile(mode)&&!FS.isLink(mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node=FS.createNode(parent,name,mode);node.node_ops=NODEFS.node_ops;node.stream_ops=NODEFS.stream_ops;return node}),getMode:(function(path){var stat;try{stat=fs.lstatSync(path);if(NODEFS.isWindows){stat.mode=stat.mode|(stat.mode&146)>>1}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}return stat.mode}),realPath:(function(node){var parts=[];while(node.parent!==node){parts.push(node.name);node=node.parent}parts.push(node.mount.opts.root);parts.reverse();return PATH.join.apply(null,parts)}),flagsToPermissionStringMap:{0:"r",1:"r+",2:"r+",64:"r",65:"r+",66:"r+",129:"rx+",193:"rx+",514:"w+",577:"w",578:"w+",705:"wx",706:"wx+",1024:"a",1025:"a",1026:"a+",1089:"a",1090:"a+",1153:"ax",1154:"ax+",1217:"ax",1218:"ax+",4096:"rs",4098:"rs+"},flagsToPermissionString:(function(flags){if(flags in NODEFS.flagsToPermissionStringMap){return NODEFS.flagsToPermissionStringMap[flags]}else{return flags}}),node_ops:{getattr:(function(node){var path=NODEFS.realPath(node);var stat;try{stat=fs.lstatSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}if(NODEFS.isWindows&&!stat.blksize){stat.blksize=4096}if(NODEFS.isWindows&&!stat.blocks){stat.blocks=(stat.size+stat.blksize-1)/stat.blksize|0}return{dev:stat.dev,ino:stat.ino,mode:stat.mode,nlink:stat.nlink,uid:stat.uid,gid:stat.gid,rdev:stat.rdev,size:stat.size,atime:stat.atime,mtime:stat.mtime,ctime:stat.ctime,blksize:stat.blksize,blocks:stat.blocks}}),setattr:(function(node,attr){var path=NODEFS.realPath(node);try{if(attr.mode!==undefined){fs.chmodSync(path,attr.mode);node.mode=attr.mode}if(attr.timestamp!==undefined){var date=new Date(attr.timestamp);fs.utimesSync(path,date,date)}if(attr.size!==undefined){fs.truncateSync(path,attr.size)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),lookup:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);var mode=NODEFS.getMode(path);return NODEFS.createNode(parent,name,mode)}),mknod:(function(parent,name,mode,dev){var node=NODEFS.createNode(parent,name,mode,dev);var path=NODEFS.realPath(node);try{if(FS.isDir(node.mode)){fs.mkdirSync(path,node.mode)}else{fs.writeFileSync(path,"",{mode:node.mode})}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}return node}),rename:(function(oldNode,newDir,newName){var oldPath=NODEFS.realPath(oldNode);var newPath=PATH.join2(NODEFS.realPath(newDir),newName);try{fs.renameSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),unlink:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.unlinkSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),rmdir:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.rmdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),readdir:(function(node){var path=NODEFS.realPath(node);try{return fs.readdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),symlink:(function(parent,newName,oldPath){var newPath=PATH.join2(NODEFS.realPath(parent),newName);try{fs.symlinkSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),readlink:(function(node){var path=NODEFS.realPath(node);try{return fs.readlinkSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}})},stream_ops:{open:(function(stream){var path=NODEFS.realPath(stream.node);try{if(FS.isFile(stream.node.mode)){stream.nfd=fs.openSync(path,NODEFS.flagsToPermissionString(stream.flags))}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),close:(function(stream){try{if(FS.isFile(stream.node.mode)&&stream.nfd){fs.closeSync(stream.nfd)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),read:(function(stream,buffer,offset,length,position){if(length===0)return 0;var nbuffer=new Buffer(length);var res;try{res=fs.readSync(stream.nfd,nbuffer,0,length,position)}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}if(res>0){for(var i=0;i8){throw new FS.ErrnoError(ERRNO_CODES.ELOOP)}var parts=PATH.normalizeArray(path.split("/").filter((function(p){return!!p})),false);var current=FS.root;var current_path="/";for(var i=0;i40){throw new FS.ErrnoError(ERRNO_CODES.ELOOP)}}}}return{path:current_path,node:current}}),getPath:(function(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?mount+"/"+path:mount+path}path=path?node.name+"/"+path:node.name;node=node.parent}}),hashName:(function(parentid,name){var hash=0;for(var i=0;i>>0)%FS.nameTable.length}),hashAddNode:(function(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node}),hashRemoveNode:(function(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}}),lookupNode:(function(parent,name){var err=FS.mayLookup(parent);if(err){throw new FS.ErrnoError(err,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)}),createNode:(function(parent,name,mode,rdev){if(!FS.FSNode){FS.FSNode=(function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev});FS.FSNode.prototype={};var readMode=292|73;var writeMode=146;Object.defineProperties(FS.FSNode.prototype,{read:{get:(function(){return(this.mode&readMode)===readMode}),set:(function(val){val?this.mode|=readMode:this.mode&=~readMode})},write:{get:(function(){return(this.mode&writeMode)===writeMode}),set:(function(val){val?this.mode|=writeMode:this.mode&=~writeMode})},isFolder:{get:(function(){return FS.isDir(this.mode)})},isDevice:{get:(function(){return FS.isChrdev(this.mode)})}})}var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node}),destroyNode:(function(node){FS.hashRemoveNode(node)}),isRoot:(function(node){return node===node.parent}),isMountpoint:(function(node){return!!node.mounted}),isFile:(function(mode){return(mode&61440)===32768}),isDir:(function(mode){return(mode&61440)===16384}),isLink:(function(mode){return(mode&61440)===40960}),isChrdev:(function(mode){return(mode&61440)===8192}),isBlkdev:(function(mode){return(mode&61440)===24576}),isFIFO:(function(mode){return(mode&61440)===4096}),isSocket:(function(mode){return(mode&49152)===49152}),flagModes:{"r":0,"rs":1052672,"r+":2,"w":577,"wx":705,"xw":705,"w+":578,"wx+":706,"xw+":706,"a":1089,"ax":1217,"xa":1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:(function(str){var flags=FS.flagModes[str];if(typeof flags==="undefined"){throw new Error("Unknown file open mode: "+str)}return flags}),flagsToPermissionString:(function(flag){var accmode=flag&2097155;var perms=["r","w","rw"][accmode];if(flag&512){perms+="w"}return perms}),nodePermissions:(function(node,perms){if(FS.ignorePermissions){return 0}if(perms.indexOf("r")!==-1&&!(node.mode&292)){return ERRNO_CODES.EACCES}else if(perms.indexOf("w")!==-1&&!(node.mode&146)){return ERRNO_CODES.EACCES}else if(perms.indexOf("x")!==-1&&!(node.mode&73)){return ERRNO_CODES.EACCES}return 0}),mayLookup:(function(dir){var err=FS.nodePermissions(dir,"x");if(err)return err;if(!dir.node_ops.lookup)return ERRNO_CODES.EACCES;return 0}),mayCreate:(function(dir,name){try{var node=FS.lookupNode(dir,name);return ERRNO_CODES.EEXIST}catch(e){}return FS.nodePermissions(dir,"wx")}),mayDelete:(function(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var err=FS.nodePermissions(dir,"wx");if(err){return err}if(isdir){if(!FS.isDir(node.mode)){return ERRNO_CODES.ENOTDIR}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return ERRNO_CODES.EBUSY}}else{if(FS.isDir(node.mode)){return ERRNO_CODES.EISDIR}}return 0}),mayOpen:(function(node,flags){if(!node){return ERRNO_CODES.ENOENT}if(FS.isLink(node.mode)){return ERRNO_CODES.ELOOP}else if(FS.isDir(node.mode)){if((flags&2097155)!==0||flags&512){return ERRNO_CODES.EISDIR}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))}),MAX_OPEN_FDS:4096,nextfd:(function(fd_start,fd_end){fd_start=fd_start||0;fd_end=fd_end||FS.MAX_OPEN_FDS;for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(ERRNO_CODES.EMFILE)}),getStream:(function(fd){return FS.streams[fd]}),createStream:(function(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=(function(){});FS.FSStream.prototype={};Object.defineProperties(FS.FSStream.prototype,{object:{get:(function(){return this.node}),set:(function(val){this.node=val})},isRead:{get:(function(){return(this.flags&2097155)!==1})},isWrite:{get:(function(){return(this.flags&2097155)!==0})},isAppend:{get:(function(){return this.flags&1024})}})}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream}),closeStream:(function(fd){FS.streams[fd]=null}),getStreamFromPtr:(function(ptr){return FS.streams[ptr-1]}),getPtrForStream:(function(stream){return stream?stream.fd+1:0}),chrdev_stream_ops:{open:(function(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}}),llseek:(function(){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)})},major:(function(dev){return dev>>8}),minor:(function(dev){return dev&255}),makedev:(function(ma,mi){return ma<<8|mi}),registerDevice:(function(dev,ops){FS.devices[dev]={stream_ops:ops}}),getDevice:(function(dev){return FS.devices[dev]}),getMounts:(function(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts}),syncfs:(function(populate,callback){if(typeof populate==="function"){callback=populate;populate=false}var mounts=FS.getMounts(FS.root.mount);var completed=0;function done(err){if(err){if(!done.errored){done.errored=true;return callback(err)}return}if(++completed>=mounts.length){callback(null)}}mounts.forEach((function(mount){if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)}))}),mount:(function(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot}),unmount:(function(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach((function(hash){var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.indexOf(current.mount)!==-1){FS.destroyNode(current)}current=next}}));node.mounted=null;var idx=node.mount.mounts.indexOf(mount);assert(idx!==-1);node.mount.mounts.splice(idx,1)}),lookup:(function(parent,name){return parent.node_ops.lookup(parent,name)}),mknod:(function(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var err=FS.mayCreate(parent,name);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return parent.node_ops.mknod(parent,name,mode,dev)}),create:(function(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)}),mkdir:(function(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)}),mkdev:(function(path,mode,dev){if(typeof dev==="undefined"){dev=mode;mode=438}mode|=8192;return FS.mknod(path,mode,dev)}),symlink:(function(oldpath,newpath){if(!PATH.resolve(oldpath)){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}var lookup=FS.lookupPath(newpath,{parent:true});var parent=lookup.node;if(!parent){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}var newname=PATH.basename(newpath);var err=FS.mayCreate(parent,newname);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.symlink){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return parent.node_ops.symlink(parent,newname,oldpath)}),rename:(function(old_path,new_path){var old_dirname=PATH.dirname(old_path);var new_dirname=PATH.dirname(new_path);var old_name=PATH.basename(old_path);var new_name=PATH.basename(new_path);var lookup,old_dir,new_dir;try{lookup=FS.lookupPath(old_path,{parent:true});old_dir=lookup.node;lookup=FS.lookupPath(new_path,{parent:true});new_dir=lookup.node}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(!old_dir||!new_dir)throw new FS.ErrnoError(ERRNO_CODES.ENOENT);if(old_dir.mount!==new_dir.mount){throw new FS.ErrnoError(ERRNO_CODES.EXDEV)}var old_node=FS.lookupNode(old_dir,old_name);var relative=PATH.relative(old_path,new_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}relative=PATH.relative(new_path,old_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY)}var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(old_node===new_node){return}var isdir=FS.isDir(old_node.mode);var err=FS.mayDelete(old_dir,old_name,isdir);if(err){throw new FS.ErrnoError(err)}err=new_node?FS.mayDelete(new_dir,new_name,isdir):FS.mayCreate(new_dir,new_name);if(err){throw new FS.ErrnoError(err)}if(!old_dir.node_ops.rename){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(old_node)||new_node&&FS.isMountpoint(new_node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(new_dir!==old_dir){err=FS.nodePermissions(old_dir,"w");if(err){throw new FS.ErrnoError(err)}}try{if(FS.trackingDelegate["willMovePath"]){FS.trackingDelegate["willMovePath"](old_path,new_path)}}catch(e){console.log("FS.trackingDelegate['willMovePath']('"+old_path+"', '"+new_path+"') threw an exception: "+e.message)}FS.hashRemoveNode(old_node);try{old_dir.node_ops.rename(old_node,new_dir,new_name)}catch(e){throw e}finally{FS.hashAddNode(old_node)}try{if(FS.trackingDelegate["onMovePath"])FS.trackingDelegate["onMovePath"](old_path,new_path)}catch(e){console.log("FS.trackingDelegate['onMovePath']('"+old_path+"', '"+new_path+"') threw an exception: "+e.message)}}),rmdir:(function(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var err=FS.mayDelete(parent,name,true);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.rmdir){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}try{if(FS.trackingDelegate["willDeletePath"]){FS.trackingDelegate["willDeletePath"](path)}}catch(e){console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: "+e.message)}parent.node_ops.rmdir(parent,name);FS.destroyNode(node);try{if(FS.trackingDelegate["onDeletePath"])FS.trackingDelegate["onDeletePath"](path)}catch(e){console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: "+e.message)}}),readdir:(function(path){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;if(!node.node_ops.readdir){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}return node.node_ops.readdir(node)}),unlink:(function(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var err=FS.mayDelete(parent,name,false);if(err){if(err===ERRNO_CODES.EISDIR)err=ERRNO_CODES.EPERM;throw new FS.ErrnoError(err)}if(!parent.node_ops.unlink){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}try{if(FS.trackingDelegate["willDeletePath"]){FS.trackingDelegate["willDeletePath"](path)}}catch(e){console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: "+e.message)}parent.node_ops.unlink(parent,name);FS.destroyNode(node);try{if(FS.trackingDelegate["onDeletePath"])FS.trackingDelegate["onDeletePath"](path)}catch(e){console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: "+e.message)}}),readlink:(function(path){var lookup=FS.lookupPath(path);var link=lookup.node;if(!link){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(!link.node_ops.readlink){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return link.node_ops.readlink(link)}),stat:(function(path,dontFollow){var lookup=FS.lookupPath(path,{follow:!dontFollow});var node=lookup.node;if(!node){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(!node.node_ops.getattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return node.node_ops.getattr(node)}),lstat:(function(path){return FS.stat(path,true)}),chmod:(function(path,mode,dontFollow){var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}node.node_ops.setattr(node,{mode:mode&4095|node.mode&~4095,timestamp:Date.now()})}),lchmod:(function(path,mode){FS.chmod(path,mode,true)}),fchmod:(function(fd,mode){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}FS.chmod(stream.node,mode)}),chown:(function(path,uid,gid,dontFollow){var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}node.node_ops.setattr(node,{timestamp:Date.now()})}),lchown:(function(path,uid,gid){FS.chown(path,uid,gid,true)}),fchown:(function(fd,uid,gid){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}FS.chown(stream.node,uid,gid)}),truncate:(function(path,len){if(len<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:true});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!FS.isFile(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var err=FS.nodePermissions(node,"w");if(err){throw new FS.ErrnoError(err)}node.node_ops.setattr(node,{size:len,timestamp:Date.now()})}),ftruncate:(function(fd,len){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}FS.truncate(stream.node,len)}),utime:(function(path,atime,mtime){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;node.node_ops.setattr(node,{timestamp:Math.max(atime,mtime)})}),open:(function(path,flags,mode,fd_start,fd_end){if(path===""){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}flags=typeof flags==="string"?FS.modeStringToFlags(flags):flags;mode=typeof mode==="undefined"?438:mode;if(flags&64){mode=mode&4095|32768}else{mode=0}var node;if(typeof path==="object"){node=path}else{path=PATH.normalize(path);try{var lookup=FS.lookupPath(path,{follow:!(flags&131072)});node=lookup.node}catch(e){}}var created=false;if(flags&64){if(node){if(flags&128){throw new FS.ErrnoError(ERRNO_CODES.EEXIST)}}else{node=FS.mknod(path,mode,0);created=true}}if(!node){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(FS.isChrdev(node.mode)){flags&=~512}if(!created){var err=FS.mayOpen(node,flags);if(err){throw new FS.ErrnoError(err)}}if(flags&512){FS.truncate(node,0)}flags&=~(128|512);var stream=FS.createStream({node:node,path:FS.getPath(node),flags:flags,seekable:true,position:0,stream_ops:node.stream_ops,ungotten:[],error:false},fd_start,fd_end);if(stream.stream_ops.open){stream.stream_ops.open(stream)}if(Module["logReadFiles"]&&!(flags&1)){if(!FS.readFiles)FS.readFiles={};if(!(path in FS.readFiles)){FS.readFiles[path]=1;Module["printErr"]("read file: "+path)}}try{if(FS.trackingDelegate["onOpenFile"]){var trackingFlags=0;if((flags&2097155)!==1){trackingFlags|=FS.tracking.openFlags.READ}if((flags&2097155)!==0){trackingFlags|=FS.tracking.openFlags.WRITE}FS.trackingDelegate["onOpenFile"](path,trackingFlags)}}catch(e){console.log("FS.trackingDelegate['onOpenFile']('"+path+"', flags) threw an exception: "+e.message)}return stream}),close:(function(stream){try{if(stream.stream_ops.close){stream.stream_ops.close(stream)}}catch(e){throw e}finally{FS.closeStream(stream.fd)}}),llseek:(function(stream,offset,whence){if(!stream.seekable||!stream.stream_ops.llseek){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}stream.position=stream.stream_ops.llseek(stream,offset,whence);stream.ungotten=[];return stream.position}),read:(function(stream,buffer,offset,length,position){if(length<0||position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===1){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!stream.stream_ops.read){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var seeking=true;if(typeof position==="undefined"){position=stream.position;seeking=false}else if(!stream.seekable){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}var bytesRead=stream.stream_ops.read(stream,buffer,offset,length,position);if(!seeking)stream.position+=bytesRead;return bytesRead}),write:(function(stream,buffer,offset,length,position,canOwn){if(length<0||position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!stream.stream_ops.write){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if(stream.flags&1024){FS.llseek(stream,0,2)}var seeking=true;if(typeof position==="undefined"){position=stream.position;seeking=false}else if(!stream.seekable){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}var bytesWritten=stream.stream_ops.write(stream,buffer,offset,length,position,canOwn);if(!seeking)stream.position+=bytesWritten;try{if(stream.path&&FS.trackingDelegate["onWriteToFile"])FS.trackingDelegate["onWriteToFile"](stream.path)}catch(e){console.log("FS.trackingDelegate['onWriteToFile']('"+path+"') threw an exception: "+e.message)}return bytesWritten}),allocate:(function(stream,offset,length){if(offset<0||length<=0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(!FS.isFile(stream.node.mode)&&!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}if(!stream.stream_ops.allocate){throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP)}stream.stream_ops.allocate(stream,offset,length)}),mmap:(function(stream,buffer,offset,length,position,prot,flags){if((stream.flags&2097155)===1){throw new FS.ErrnoError(ERRNO_CODES.EACCES)}if(!stream.stream_ops.mmap){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}return stream.stream_ops.mmap(stream,buffer,offset,length,position,prot,flags)}),ioctl:(function(stream,cmd,arg){if(!stream.stream_ops.ioctl){throw new FS.ErrnoError(ERRNO_CODES.ENOTTY)}return stream.stream_ops.ioctl(stream,cmd,arg)}),readFile:(function(path,opts){opts=opts||{};opts.flags=opts.flags||"r";opts.encoding=opts.encoding||"binary";if(opts.encoding!=="utf8"&&opts.encoding!=="binary"){throw new Error('Invalid encoding type "'+opts.encoding+'"')}var ret;var stream=FS.open(path,opts.flags);var stat=FS.stat(path);var length=stat.size;var buf=new Uint8Array(length);FS.read(stream,buf,0,length,0);if(opts.encoding==="utf8"){ret="";var utf8=new Runtime.UTF8Processor;for(var i=0;i>2]=FS.getPtrForStream(stdin);assert(stdin.fd===0,"invalid handle for stdin ("+stdin.fd+")");var stdout=FS.open("/dev/stdout","w");HEAP32[_stdout>>2]=FS.getPtrForStream(stdout);assert(stdout.fd===1,"invalid handle for stdout ("+stdout.fd+")");var stderr=FS.open("/dev/stderr","w");HEAP32[_stderr>>2]=FS.getPtrForStream(stderr);assert(stderr.fd===2,"invalid handle for stderr ("+stderr.fd+")")}),ensureErrnoError:(function(){if(FS.ErrnoError)return;FS.ErrnoError=function ErrnoError(errno,node){this.node=node;this.setErrno=(function(errno){this.errno=errno;for(var key in ERRNO_CODES){if(ERRNO_CODES[key]===errno){this.code=key;break}}});this.setErrno(errno);this.message=ERRNO_MESSAGES[errno]};FS.ErrnoError.prototype=new Error;FS.ErrnoError.prototype.constructor=FS.ErrnoError;[ERRNO_CODES.ENOENT].forEach((function(code){FS.genericErrors[code]=new FS.ErrnoError(code);FS.genericErrors[code].stack=""}))}),staticInit:(function(){FS.ensureErrnoError();FS.nameTable=new Array(4096);FS.mount(MEMFS,{},"/");FS.createDefaultDirectories();FS.createDefaultDevices()}),init:(function(input,output,error){assert(!FS.init.initialized,"FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)");FS.init.initialized=true;FS.ensureErrnoError();Module["stdin"]=input||Module["stdin"];Module["stdout"]=output||Module["stdout"];Module["stderr"]=error||Module["stderr"];FS.createStandardStreams()}),quit:(function(){FS.init.initialized=false;for(var i=0;ithis.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=(function(from,to){if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);if(typeof Uint8Array!="undefined")xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}else{return intArrayFromString(xhr.responseText||"",true)}});var lazyArray=this;lazyArray.setDataGetter((function(chunkNum){var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]==="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]==="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]}));this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!=="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperty(lazyArray,"length",{get:(function(){if(!this.lengthKnown){this.cacheLength()}return this._length})});Object.defineProperty(lazyArray,"chunkSize",{get:(function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize})});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperty(node,"usedBytes",{get:(function(){return this.contents.length})});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach((function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(ERRNO_CODES.EIO)}return fn.apply(null,arguments)}}));stream_ops.read=function stream_ops_read(stream,buffer,offset,length,position){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(ERRNO_CODES.EIO)}var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);assert(size>=0);if(contents.slice){for(var i=0;i>8,sock.sport&255]))}return peer}),getPeer:(function(sock,addr,port){return sock.peers[addr+":"+port]}),addPeer:(function(sock,peer){sock.peers[peer.addr+":"+peer.port]=peer}),removePeer:(function(sock,peer){delete sock.peers[peer.addr+":"+peer.port]}),handlePeerEvents:(function(sock,peer){var first=true;var handleOpen=(function(){Module["websocket"].emit("open",sock.stream.fd);try{var queued=peer.dgram_send_queue.shift();while(queued){peer.socket.send(queued);queued=peer.dgram_send_queue.shift()}}catch(e){peer.socket.close()}});function handleMessage(data){assert(typeof data!=="string"&&data.byteLength!==undefined);data=new Uint8Array(data);var wasfirst=first;first=false;if(wasfirst&&data.length===10&&data[0]===255&&data[1]===255&&data[2]===255&&data[3]===255&&data[4]==="p".charCodeAt(0)&&data[5]==="o".charCodeAt(0)&&data[6]==="r".charCodeAt(0)&&data[7]==="t".charCodeAt(0)){var newport=data[8]<<8|data[9];SOCKFS.websocket_sock_ops.removePeer(sock,peer);peer.port=newport;SOCKFS.websocket_sock_ops.addPeer(sock,peer);return}sock.recv_queue.push({addr:peer.addr,port:peer.port,data:data});Module["websocket"].emit("message",sock.stream.fd)}if(ENVIRONMENT_IS_NODE){peer.socket.on("open",handleOpen);peer.socket.on("message",(function(data,flags){if(!flags.binary){return}handleMessage((new Uint8Array(data)).buffer)}));peer.socket.on("close",(function(){Module["websocket"].emit("close",sock.stream.fd)}));peer.socket.on("error",(function(error){sock.error=ERRNO_CODES.ECONNREFUSED;Module["websocket"].emit("error",[sock.stream.fd,sock.error,"ECONNREFUSED: Connection refused"])}))}else{peer.socket.onopen=handleOpen;peer.socket.onclose=(function(){Module["websocket"].emit("close",sock.stream.fd)});peer.socket.onmessage=function peer_socket_onmessage(event){handleMessage(event.data)};peer.socket.onerror=(function(error){sock.error=ERRNO_CODES.ECONNREFUSED;Module["websocket"].emit("error",[sock.stream.fd,sock.error,"ECONNREFUSED: Connection refused"])})}}),poll:(function(sock){if(sock.type===1&&sock.server){return sock.pending.length?64|1:0}var mask=0;var dest=sock.type===1?SOCKFS.websocket_sock_ops.getPeer(sock,sock.daddr,sock.dport):null;if(sock.recv_queue.length||!dest||dest&&dest.socket.readyState===dest.socket.CLOSING||dest&&dest.socket.readyState===dest.socket.CLOSED){mask|=64|1}if(!dest||dest&&dest.socket.readyState===dest.socket.OPEN){mask|=4}if(dest&&dest.socket.readyState===dest.socket.CLOSING||dest&&dest.socket.readyState===dest.socket.CLOSED){mask|=16}return mask}),ioctl:(function(sock,request,arg){switch(request){case 21531:var bytes=0;if(sock.recv_queue.length){bytes=sock.recv_queue[0].data.length}HEAP32[arg>>2]=bytes;return 0;default:return ERRNO_CODES.EINVAL}}),close:(function(sock){if(sock.server){try{sock.server.close()}catch(e){}sock.server=null}var peers=Object.keys(sock.peers);for(var i=0;i>0]=chr;var fd=_fileno(stream);var ret=_write(fd,_fputc.ret,1);if(ret==-1){var streamObj=FS.getStreamFromPtr(stream);if(streamObj)streamObj.error=true;return-1}else{return chr}}function _glGetString(name_){if(GL.stringCache[name_])return GL.stringCache[name_];var ret;switch(name_){case 7936:case 7937:case 7938:ret=allocate(intArrayFromString(GLctx.getParameter(name_)),"i8",ALLOC_NORMAL);break;case 7939:var exts=GLctx.getSupportedExtensions();var gl_exts=[];for(i in exts){gl_exts.push(exts[i]);gl_exts.push("GL_"+exts[i])}ret=allocate(intArrayFromString(gl_exts.join(" ")),"i8",ALLOC_NORMAL);break;case 35724:ret=allocate(intArrayFromString("OpenGL ES GLSL 1.00 (WebGL)"),"i8",ALLOC_NORMAL);break;default:GL.recordError(1280);return 0}GL.stringCache[name_]=ret;return ret}function _llvm_stackrestore(p){var self=_llvm_stacksave;var ret=self.LLVM_SAVEDSTACKS[p];self.LLVM_SAVEDSTACKS.splice(p,1);Runtime.stackRestore(ret)}function _glfwSetWindowShouldClose(winid,value){var win=GLFW.WindowFromId(winid);if(!win)return;win.shouldClose=value}function _fwrite(ptr,size,nitems,stream){var bytesToWrite=nitems*size;if(bytesToWrite==0)return 0;var fd=_fileno(stream);var bytesWritten=_write(fd,ptr,bytesToWrite);if(bytesWritten==-1){var streamObj=FS.getStreamFromPtr(stream);if(streamObj)streamObj.error=true;return 0}else{return bytesWritten/size|0}}function _glfwSetScrollCallback(winid,cbfun){GLFW.setScrollCallback(winid,cbfun)}function _glfwGetTime(){return GLFW.getTime()-GLFW.initialTime}function _emscripten_set_main_loop_timing(mode,value){Browser.mainLoop.timingMode=mode;Browser.mainLoop.timingValue=value;if(!Browser.mainLoop.func){return 1}if(mode==0){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler(){setTimeout(Browser.mainLoop.runner,value)};Browser.mainLoop.method="timeout"}else if(mode==1){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler(){Browser.requestAnimationFrame(Browser.mainLoop.runner)};Browser.mainLoop.method="rAF"}return 0}function _emscripten_set_main_loop(func,fps,simulateInfiniteLoop,arg){Module["noExitRuntime"]=true;assert(!Browser.mainLoop.func,"emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters.");Browser.mainLoop.func=func;Browser.mainLoop.arg=arg;var thisMainLoopId=Browser.mainLoop.currentlyRunningMainloop;Browser.mainLoop.runner=function Browser_mainLoop_runner(){if(ABORT)return;if(Browser.mainLoop.queue.length>0){var start=Date.now();var blocker=Browser.mainLoop.queue.shift();blocker.func(blocker.arg);if(Browser.mainLoop.remainingBlockers){var remaining=Browser.mainLoop.remainingBlockers;var next=remaining%1==0?remaining-1:Math.floor(remaining);if(blocker.counted){Browser.mainLoop.remainingBlockers=next}else{next=next+.5;Browser.mainLoop.remainingBlockers=(8*remaining+next)/9}}console.log('main loop blocker "'+blocker.name+'" took '+(Date.now()-start)+" ms");Browser.mainLoop.updateStatus();setTimeout(Browser.mainLoop.runner,0);return}if(thisMainLoopId1&&Browser.mainLoop.currentFrameNumber%Browser.mainLoop.timingValue!=0){Browser.mainLoop.scheduler();return}if(Browser.mainLoop.method==="timeout"&&Module.ctx){Module.printErr("Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!");Browser.mainLoop.method=""}Browser.mainLoop.runIter((function(){if(typeof arg!=="undefined"){Runtime.dynCall("vi",func,[arg])}else{Runtime.dynCall("v",func)}}));if(thisMainLoopId0)_emscripten_set_main_loop_timing(0,1e3/fps);else _emscripten_set_main_loop_timing(1,1);Browser.mainLoop.scheduler();if(simulateInfiniteLoop){throw"SimulateInfiniteLoop"}}var Browser={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:(function(){Browser.mainLoop.scheduler=null;Browser.mainLoop.currentlyRunningMainloop++}),resume:(function(){Browser.mainLoop.currentlyRunningMainloop++;var timingMode=Browser.mainLoop.timingMode;var timingValue=Browser.mainLoop.timingValue;var func=Browser.mainLoop.func;Browser.mainLoop.func=null;_emscripten_set_main_loop(func,0,false,Browser.mainLoop.arg);_emscripten_set_main_loop_timing(timingMode,timingValue)}),updateStatus:(function(){if(Module["setStatus"]){var message=Module["statusMessage"]||"Please wait...";var remaining=Browser.mainLoop.remainingBlockers;var expected=Browser.mainLoop.expectedBlockers;if(remaining){if(remaining=6){var curr=leftchar>>leftbits-6&63;leftbits-=6;ret+=BASE[curr]}}if(leftbits==2){ret+=BASE[(leftchar&3)<<4];ret+=PAD+PAD}else if(leftbits==4){ret+=BASE[(leftchar&15)<<2];ret+=PAD}return ret}audio.src="data:audio/x-"+name.substr(-3)+";base64,"+encode64(byteArray);finish(audio)};audio.src=url;Browser.safeSetTimeout((function(){finish(audio)}),1e4)}else{return fail()}};Module["preloadPlugins"].push(audioPlugin);var canvas=Module["canvas"];function pointerLockChange(){Browser.pointerLock=document["pointerLockElement"]===canvas||document["mozPointerLockElement"]===canvas||document["webkitPointerLockElement"]===canvas||document["msPointerLockElement"]===canvas}if(canvas){canvas.requestPointerLock=canvas["requestPointerLock"]||canvas["mozRequestPointerLock"]||canvas["webkitRequestPointerLock"]||canvas["msRequestPointerLock"]||(function(){});canvas.exitPointerLock=document["exitPointerLock"]||document["mozExitPointerLock"]||document["webkitExitPointerLock"]||document["msExitPointerLock"]||(function(){});canvas.exitPointerLock=canvas.exitPointerLock.bind(document);document.addEventListener("pointerlockchange",pointerLockChange,false);document.addEventListener("mozpointerlockchange",pointerLockChange,false);document.addEventListener("webkitpointerlockchange",pointerLockChange,false);document.addEventListener("mspointerlockchange",pointerLockChange,false);if(Module["elementPointerLock"]){canvas.addEventListener("click",(function(ev){if(!Browser.pointerLock&&canvas.requestPointerLock){canvas.requestPointerLock();ev.preventDefault()}}),false)}}}),createContext:(function(canvas,useWebGL,setInModule,webGLContextAttributes){if(useWebGL&&Module.ctx&&canvas==Module.canvas)return Module.ctx;var ctx;var contextHandle;if(useWebGL){var contextAttributes={antialias:false,alpha:false};if(webGLContextAttributes){for(var attribute in webGLContextAttributes){contextAttributes[attribute]=webGLContextAttributes[attribute]}}contextHandle=GL.createContext(canvas,contextAttributes);if(contextHandle){ctx=GL.getContext(contextHandle).GLctx}canvas.style.backgroundColor="black"}else{ctx=canvas.getContext("2d")}if(!ctx)return null;if(setInModule){if(!useWebGL)assert(typeof GLctx==="undefined","cannot set in module if GLctx is used, but we are a non-GL context that would replace it");Module.ctx=ctx;if(useWebGL)GL.makeContextCurrent(contextHandle);Module.useWebGL=useWebGL;Browser.moduleContextCreatedCallbacks.forEach((function(callback){callback()}));Browser.init()}return ctx}),destroyContext:(function(canvas,useWebGL,setInModule){}),fullScreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullScreen:(function(lockPointer,resizeCanvas){Browser.lockPointer=lockPointer;Browser.resizeCanvas=resizeCanvas;if(typeof Browser.lockPointer==="undefined")Browser.lockPointer=true;if(typeof Browser.resizeCanvas==="undefined")Browser.resizeCanvas=false;var canvas=Module["canvas"];function fullScreenChange(){Browser.isFullScreen=false;var canvasContainer=canvas.parentNode;if((document["webkitFullScreenElement"]||document["webkitFullscreenElement"]||document["mozFullScreenElement"]||document["mozFullscreenElement"]||document["fullScreenElement"]||document["fullscreenElement"]||document["msFullScreenElement"]||document["msFullscreenElement"]||document["webkitCurrentFullScreenElement"])===canvasContainer){canvas.cancelFullScreen=document["cancelFullScreen"]||document["mozCancelFullScreen"]||document["webkitCancelFullScreen"]||document["msExitFullscreen"]||document["exitFullscreen"]||(function(){});canvas.cancelFullScreen=canvas.cancelFullScreen.bind(document);if(Browser.lockPointer)canvas.requestPointerLock();Browser.isFullScreen=true;if(Browser.resizeCanvas)Browser.setFullScreenCanvasSize()}else{canvasContainer.parentNode.insertBefore(canvas,canvasContainer);canvasContainer.parentNode.removeChild(canvasContainer);if(Browser.resizeCanvas)Browser.setWindowedCanvasSize()}if(Module["onFullScreen"])Module["onFullScreen"](Browser.isFullScreen);Browser.updateCanvasDimensions(canvas)}if(!Browser.fullScreenHandlersInstalled){Browser.fullScreenHandlersInstalled=true;document.addEventListener("fullscreenchange",fullScreenChange,false);document.addEventListener("mozfullscreenchange",fullScreenChange,false);document.addEventListener("webkitfullscreenchange",fullScreenChange,false);document.addEventListener("MSFullscreenChange",fullScreenChange,false)}var canvasContainer=document.createElement("div");canvas.parentNode.insertBefore(canvasContainer,canvas);canvasContainer.appendChild(canvas);canvasContainer.requestFullScreen=canvasContainer["requestFullScreen"]||canvasContainer["mozRequestFullScreen"]||canvasContainer["msRequestFullscreen"]||(canvasContainer["webkitRequestFullScreen"]?(function(){canvasContainer["webkitRequestFullScreen"](Element["ALLOW_KEYBOARD_INPUT"])}):null);canvasContainer.requestFullScreen()}),nextRAF:0,fakeRequestAnimationFrame:(function(func){var now=Date.now();if(Browser.nextRAF===0){Browser.nextRAF=now+1e3/60}else{while(now+2>=Browser.nextRAF){Browser.nextRAF+=1e3/60}}var delay=Math.max(Browser.nextRAF-now,0);setTimeout(func,delay)}),requestAnimationFrame:function requestAnimationFrame(func){if(typeof window==="undefined"){Browser.fakeRequestAnimationFrame(func)}else{if(!window.requestAnimationFrame){window.requestAnimationFrame=window["requestAnimationFrame"]||window["mozRequestAnimationFrame"]||window["webkitRequestAnimationFrame"]||window["msRequestAnimationFrame"]||window["oRequestAnimationFrame"]||Browser.fakeRequestAnimationFrame}window.requestAnimationFrame(func)}},safeCallback:(function(func){return(function(){if(!ABORT)return func.apply(null,arguments)})}),safeRequestAnimationFrame:(function(func){return Browser.requestAnimationFrame((function(){if(!ABORT)func()}))}),safeSetTimeout:(function(func,timeout){Module["noExitRuntime"]=true;return setTimeout((function(){if(!ABORT)func()}),timeout)}),safeSetInterval:(function(func,timeout){Module["noExitRuntime"]=true;return setInterval((function(){if(!ABORT)func()}),timeout)}),getMimetype:(function(name){return{"jpg":"image/jpeg","jpeg":"image/jpeg","png":"image/png","bmp":"image/bmp","ogg":"audio/ogg","wav":"audio/wav","mp3":"audio/mpeg"}[name.substr(name.lastIndexOf(".")+1)]}),getUserMedia:(function(func){if(!window.getUserMedia){window.getUserMedia=navigator["getUserMedia"]||navigator["mozGetUserMedia"]}window.getUserMedia(func)}),getMovementX:(function(event){return event["movementX"]||event["mozMovementX"]||event["webkitMovementX"]||0}),getMovementY:(function(event){return event["movementY"]||event["mozMovementY"]||event["webkitMovementY"]||0}),getMouseWheelDelta:(function(event){var delta=0;switch(event.type){case"DOMMouseScroll":delta=event.detail;break;case"mousewheel":delta=event.wheelDelta;break;case"wheel":delta=event["deltaY"];break;default:throw"unrecognized mouse wheel event: "+event.type}return delta}),mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:(function(event){if(Browser.pointerLock){if(event.type!="mousemove"&&"mozMovementX"in event){Browser.mouseMovementX=Browser.mouseMovementY=0}else{Browser.mouseMovementX=Browser.getMovementX(event);Browser.mouseMovementY=Browser.getMovementY(event)}if(typeof SDL!="undefined"){Browser.mouseX=SDL.mouseX+Browser.mouseMovementX;Browser.mouseY=SDL.mouseY+Browser.mouseMovementY}else{Browser.mouseX+=Browser.mouseMovementX;Browser.mouseY+=Browser.mouseMovementY}}else{var rect=Module["canvas"].getBoundingClientRect();var cw=Module["canvas"].width;var ch=Module["canvas"].height;var scrollX=typeof window.scrollX!=="undefined"?window.scrollX:window.pageXOffset;var scrollY=typeof window.scrollY!=="undefined"?window.scrollY:window.pageYOffset;if(event.type==="touchstart"||event.type==="touchend"||event.type==="touchmove"){var touch=event.touch;if(touch===undefined){return}var adjustedX=touch.pageX-(scrollX+rect.left);var adjustedY=touch.pageY-(scrollY+rect.top);adjustedX=adjustedX*(cw/rect.width);adjustedY=adjustedY*(ch/rect.height);var coords={x:adjustedX,y:adjustedY};if(event.type==="touchstart"){Browser.lastTouches[touch.identifier]=coords;Browser.touches[touch.identifier]=coords}else if(event.type==="touchend"||event.type==="touchmove"){Browser.lastTouches[touch.identifier]=Browser.touches[touch.identifier];Browser.touches[touch.identifier]={x:adjustedX,y:adjustedY}}return}var x=event.pageX-(scrollX+rect.left);var y=event.pageY-(scrollY+rect.top);x=x*(cw/rect.width);y=y*(ch/rect.height);Browser.mouseMovementX=x-Browser.mouseX;Browser.mouseMovementY=y-Browser.mouseY;Browser.mouseX=x;Browser.mouseY=y}}),xhrLoad:(function(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response)}else{onerror()}};xhr.onerror=onerror;xhr.send(null)}),asyncLoad:(function(url,onload,onerror,noRunDep){Browser.xhrLoad(url,(function(arrayBuffer){assert(arrayBuffer,'Loading data file "'+url+'" failed (no arrayBuffer).');onload(new Uint8Array(arrayBuffer));if(!noRunDep)removeRunDependency("al "+url)}),(function(event){if(onerror){onerror()}else{throw'Loading data file "'+url+'" failed.'}}));if(!noRunDep)addRunDependency("al "+url)}),resizeListeners:[],updateResizeListeners:(function(){var canvas=Module["canvas"];Browser.resizeListeners.forEach((function(listener){listener(canvas.width,canvas.height)}))}),setCanvasSize:(function(width,height,noUpdates){var canvas=Module["canvas"];Browser.updateCanvasDimensions(canvas,width,height);if(!noUpdates)Browser.updateResizeListeners()}),windowedWidth:0,windowedHeight:0,setFullScreenCanvasSize:(function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2];flags=flags|8388608;HEAP32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2]=flags}Browser.updateResizeListeners()}),setWindowedCanvasSize:(function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2];flags=flags&~8388608;HEAP32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2]=flags}Browser.updateResizeListeners()}),updateCanvasDimensions:(function(canvas,wNative,hNative){if(wNative&&hNative){canvas.widthNative=wNative;canvas.heightNative=hNative}else{wNative=canvas.widthNative;hNative=canvas.heightNative}var w=wNative;var h=hNative;if(Module["forcedAspectRatio"]&&Module["forcedAspectRatio"]>0){if(w/h>2];var texture=GL.textures[id];if(!texture)continue;GLctx.deleteTexture(texture);texture.name=0;GL.textures[id]=null}}function _close(fildes){var stream=FS.getStream(fildes);if(!stream){___setErrNo(ERRNO_CODES.EBADF);return-1}try{FS.close(stream);return 0}catch(e){FS.handleFSError(e);return-1}}function _fsync(fildes){var stream=FS.getStream(fildes);if(stream){return 0}else{___setErrNo(ERRNO_CODES.EBADF);return-1}}function _fclose(stream){var fd=_fileno(stream);_fsync(fd);return _close(fd)}function _glfwSetWindowSizeCallback(winid,cbfun){GLFW.setWindowSizeCallback(winid,cbfun)}var AL={contexts:[],currentContext:null,alcErr:0,stringCache:{},alcStringCache:{},QUEUE_INTERVAL:25,QUEUE_LOOKAHEAD:100,newSrcId:0,updateSources:function updateSources(context){if(Browser.mainLoop.timingMode==1&&document["visibilityState"]!="visible")return;for(var srcId in context.src){AL.updateSource(context.src[srcId])}},updateSource:function updateSource(src){if(src.state!==4114){return}var currentTime=AL.currentContext.ctx.currentTime;var startTime=src.bufferPosition;for(var i=src.buffersPlayed;i=endTime){src.bufferPosition=endTime;src.buffersPlayed=i+1;if(src.buffersPlayed>=src.queue.length){if(src.loop){AL.setSourceState(src,4114)}else{AL.setSourceState(src,4116)}}}else if(startOffset>2];if(bufferIdx>AL.currentContext.buf.length){AL.currentContext.err=40961;return}}for(var i=0;i>2];var buffer=AL.currentContext.buf[bufferIdx-1];src.queue.push({buffer:buffer,src:null})}AL.updateSource(src)}function _alcGetCurrentContext(){for(var i=0;i>2]=id}}function _glDepthFunc(x0){GLctx.depthFunc(x0)}function _glDeleteShader(id){if(!id)return;var shader=GL.shaders[id];if(!shader){GL.recordError(1281);return}GLctx.deleteShader(shader);GL.shaders[id]=null}function _glCreateShader(shaderType){var id=GL.getNewId(GL.shaders);GL.shaders[id]=GLctx.createShader(shaderType);return id}function _glUniform1i(location,v0){location=GL.uniforms[location];GLctx.uniform1i(location,v0)}function _alGetError(){if(!AL.currentContext){return 40964}else{var err=AL.currentContext.err;AL.currentContext.err=0;return err}}function _glfwGetMouseButton(winid,button){return GLFW.getMouseButton(winid,button)}function _recv(fd,buf,len,flags){var sock=SOCKFS.getSocket(fd);if(!sock){___setErrNo(ERRNO_CODES.EBADF);return-1}return _read(fd,buf,len)}function _pread(fildes,buf,nbyte,offset){var stream=FS.getStream(fildes);if(!stream){___setErrNo(ERRNO_CODES.EBADF);return-1}try{var slab=HEAP8;return FS.read(stream,slab,buf,nbyte,offset)}catch(e){FS.handleFSError(e);return-1}}function _read(fildes,buf,nbyte){var stream=FS.getStream(fildes);if(!stream){___setErrNo(ERRNO_CODES.EBADF);return-1}try{var slab=HEAP8;return FS.read(stream,slab,buf,nbyte)}catch(e){FS.handleFSError(e);return-1}}function _fread(ptr,size,nitems,stream){var bytesToRead=nitems*size;if(bytesToRead==0){return 0}var bytesRead=0;var streamObj=FS.getStreamFromPtr(stream);if(!streamObj){___setErrNo(ERRNO_CODES.EBADF);return 0}while(streamObj.ungotten.length&&bytesToRead>0){HEAP8[ptr++>>0]=streamObj.ungotten.pop();bytesToRead--;bytesRead++}var err=_read(streamObj.fd,ptr,bytesToRead);if(err==-1){if(streamObj)streamObj.error=true;return 0}bytesRead+=err;if(bytesRead>0]}}Module["_memset"]=_memset;var _BDtoILow=true;function _glGetProgramiv(program,pname,p){if(pname==35716){HEAP32[p>>2]=GLctx.getProgramInfoLog(GL.programs[program]).length+1}else if(pname==35719){var ptable=GL.programInfos[program];if(ptable){HEAP32[p>>2]=ptable.maxUniformLength;return}else if(program>2]=ptable.maxAttributeLength;return}else if(program>2]=GLctx.getProgramParameter(GL.programs[program],pname)}}function _glVertexAttribPointer(index,size,type,normalized,stride,ptr){GLctx.vertexAttribPointer(index,size,type,normalized,stride,ptr)}function _alDeleteBuffers(count,buffers){if(!AL.currentContext){return}if(count>AL.currentContext.buf.length){AL.currentContext.err=40963;return}for(var i=0;i>2]-1;if(bufferIdx>=AL.currentContext.buf.length||!AL.currentContext.buf[bufferIdx]){AL.currentContext.err=40961;return}var buffer=AL.currentContext.buf[bufferIdx];for(var srcId in AL.currentContext.src){var src=AL.currentContext.src[srcId];if(!src){continue}for(var k=0;k>2]-1;delete AL.currentContext.buf[bufferIdx]}}function _alcMakeContextCurrent(context){if(context==0){AL.currentContext=null;return 0}else{AL.currentContext=AL.contexts[context-1];return 1}}function _alListener3f(param,v1,v2,v3){if(!AL.currentContext){return}switch(param){case 4100:AL.currentContext.ctx.listener._position=[v1,v2,v3];AL.currentContext.ctx.listener.setPosition(v1,v2,v3);break;case 4102:AL.currentContext.ctx.listener._velocity=[v1,v2,v3];AL.currentContext.ctx.listener.setVelocity(v1,v2,v3);break;default:AL.currentContext.err=40962;break}}function ___assert_fail(condition,filename,line,func){ABORT=true;throw"Assertion failed: "+Pointer_stringify(condition)+", at: "+[filename?Pointer_stringify(filename):"unknown filename",line,func?Pointer_stringify(func):"unknown function"]+" at "+stackTrace()}function _glGetUniformLocation(program,name){name=Pointer_stringify(name);var arrayOffset=0;if(name.indexOf("]",name.length-1)!==-1){var ls=name.lastIndexOf("[");var arrayIndex=name.slice(ls+1,-1);if(arrayIndex.length>0){arrayOffset=parseInt(arrayIndex);if(arrayOffset<0){return-1}}name=name.slice(0,ls)}var ptable=GL.programInfos[program];if(!ptable){return-1}var utable=ptable.uniforms;var uniformInfo=utable[name];if(uniformInfo&&arrayOffset0&&infoLog){writeStringToMemory(log,infoLog);if(length)HEAP32[length>>2]=log.length}else{if(length)HEAP32[length>>2]=0}}function _alSource3f(source,param,v1,v2,v3){if(!AL.currentContext){return}var src=AL.currentContext.src[source];if(!src){AL.currentContext.err=40961;return}switch(param){case 4100:src.position=[v1,v2,v3];break;case 4101:src.direction=[v1,v2,v3];break;case 4102:src.velocity=[v1,v2,v3];break;default:AL.currentContext.err=40962;break}}var _sqrtf=Math_sqrt;function _ftell(stream){stream=FS.getStreamFromPtr(stream);if(!stream){___setErrNo(ERRNO_CODES.EBADF);return-1}if(FS.isChrdev(stream.node.mode)){___setErrNo(ERRNO_CODES.ESPIPE);return-1}else{return stream.position}}function _glDeleteProgram(id){if(!id)return;var program=GL.programs[id];if(!program){GL.recordError(1281);return}GLctx.deleteProgram(program);program.name=0;GL.programs[id]=null;GL.programInfos[id]=null}function __exit(status){Module["exit"](status)}function _exit(status){__exit(status)}var _setSourceState=undefined;function _alSourcePlay(source){if(!AL.currentContext){return}var src=AL.currentContext.src[source];if(!src){AL.currentContext.err=40961;return}AL.setSourceState(src,4114)}function _glAttachShader(program,shader){GLctx.attachShader(GL.programs[program],GL.shaders[shader])}function _glfwPollEvents(){}function _glfwGetPrimaryMonitor(){return 1}function _glDrawElements(mode,count,type,indices){GLctx.drawElements(mode,count,type,indices)}function _glfwTerminate(){window.removeEventListener("keydown",GLFW.onKeydown,true);window.removeEventListener("keypress",GLFW.onKeyPress,true);window.removeEventListener("keyup",GLFW.onKeyup,true);Module["canvas"].removeEventListener("mousemove",GLFW.onMousemove,true);Module["canvas"].removeEventListener("mousedown",GLFW.onMouseButtonDown,true);Module["canvas"].removeEventListener("mouseup",GLFW.onMouseButtonUp,true);Module["canvas"].removeEventListener("wheel",GLFW.onMouseWheel,true);Module["canvas"].removeEventListener("mousewheel",GLFW.onMouseWheel,true);Module["canvas"].width=Module["canvas"].height=1;GLFW.windows=null;GLFW.active=null}var _cos=Math_cos;function _glBufferSubData(target,offset,size,data){GLctx.bufferSubData(target,offset,HEAPU8.subarray(data,data+size))}function _llvm_stacksave(){var self=_llvm_stacksave;if(!self.LLVM_SAVEDSTACKS){self.LLVM_SAVEDSTACKS=[]}self.LLVM_SAVEDSTACKS.push(Runtime.stackSave());return self.LLVM_SAVEDSTACKS.length-1}function _alcDestroyContext(context){clearInterval(AL.contexts[context-1].interval)}function _glGenerateMipmap(x0){GLctx.generateMipmap(x0)}function _glGetShaderiv(shader,pname,p){if(pname==35716){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(!log)log="(unknown error)";HEAP32[p>>2]=log.length+1}else{HEAP32[p>>2]=GLctx.getShaderParameter(GL.shaders[shader],pname)}}function _glfwSetWindowIconifyCallback(winid,cbfun){var win=GLFW.WindowFromId(winid);if(!win)return;win.windowIconifyFunc=cbfun}Module["_i64Subtract"]=_i64Subtract;Module["_i64Add"]=_i64Add;function _glDisableVertexAttribArray(index){GLctx.disableVertexAttribArray(index)}function _alcCreateContext(device,attrList){if(device!=1){return 0}if(attrList){return 0}var ctx;try{ctx=new AudioContext}catch(e){try{ctx=new webkitAudioContext}catch(e){}}if(ctx){if(typeof ctx.createGain==="undefined")ctx.createGain=ctx.createGainNode;var gain=ctx.createGain();gain.connect(ctx.destination);var context={ctx:ctx,err:0,src:{},buf:[],interval:setInterval((function(){AL.updateSources(context)}),AL.QUEUE_INTERVAL),gain:gain};AL.contexts.push(context);return AL.contexts.length}else{return 0}}function _alSourceStop(source){if(!AL.currentContext){return}var src=AL.currentContext.src[source];if(!src){AL.currentContext.err=40961;return}AL.setSourceState(src,4116)}function _alcCloseDevice(device){}function _glShaderSource(shader,count,string,length){var source=GL.getSource(shader,count,string,length);GLctx.shaderSource(GL.shaders[shader],source)}function _open(path,oflag,varargs){var mode=HEAP32[varargs>>2];path=Pointer_stringify(path);try{var stream=FS.open(path,oflag,mode);return stream.fd}catch(e){FS.handleFSError(e);return-1}}function _fopen(filename,mode){var flags;mode=Pointer_stringify(mode);if(mode[0]=="r"){if(mode.indexOf("+")!=-1){flags=2}else{flags=0}}else if(mode[0]=="w"){if(mode.indexOf("+")!=-1){flags=2}else{flags=1}flags|=64;flags|=512}else if(mode[0]=="a"){if(mode.indexOf("+")!=-1){flags=2}else{flags=1}flags|=64;flags|=1024}else{___setErrNo(ERRNO_CODES.EINVAL);return 0}var fd=_open(filename,flags,allocate([511,0,0,0],"i32",ALLOC_STACK));return fd===-1?0:FS.getPtrForStream(FS.getStream(fd))}function _glDrawArrays(mode,first,count){GLctx.drawArrays(mode,first,count)}Module["_strncpy"]=_strncpy;function _alcOpenDevice(deviceName){if(typeof AudioContext!=="undefined"||typeof webkitAudioContext!=="undefined"){return 1}else{return 0}}var _log=Math_log;function _glClear(x0){GLctx.clear(x0)}function _glfwSetCharCallback(winid,cbfun){GLFW.setCharCallback(winid,cbfun)}function _glEnableVertexAttribArray(index){GLctx.enableVertexAttribArray(index)}function _glBindBuffer(target,buffer){var bufferObj=buffer?GL.buffers[buffer]:null;GLctx.bindBuffer(target,bufferObj)}function _alSourceUnqueueBuffers(source,count,buffers){if(!AL.currentContext){return}var src=AL.currentContext.src[source];if(!src){AL.currentContext.err=40961;return}if(count>src.buffersPlayed){AL.currentContext.err=40963;return}for(var i=0;i>2]=j+1;break}}src.buffersPlayed--}AL.updateSource(src)}function _glfwSetCursorEnterCallback(winid,cbfun){var win=GLFW.WindowFromId(winid);if(!win)return;win.cursorEnterFunc=cbfun}Module["_bitshift64Lshr"]=_bitshift64Lshr;function _glBufferData(target,size,data,usage){switch(usage){case 35041:case 35042:usage=35040;break;case 35045:case 35046:usage=35044;break;case 35049:case 35050:usage=35048;break}if(!data){GLctx.bufferData(target,size,usage)}else{GLctx.bufferData(target,HEAPU8.subarray(data,data+size),usage)}}function _glfwCreateWindow(width,height,title,monitor,share){return GLFW.createWindow(width,height,title,monitor,share)}var _BDtoIHigh=true;function _alGetSourcei(source,param,value){if(!AL.currentContext){return}var src=AL.currentContext.src[source];if(!src){AL.currentContext.err=40961;return}AL.updateSource(src);switch(param){case 514:HEAP32[value>>2]=src.panner?1:0;break;case 4097:HEAP32[value>>2]=src.coneInnerAngle;break;case 4098:HEAP32[value>>2]=src.coneOuterAngle;break;case 4105:if(!src.queue.length){HEAP32[value>>2]=0}else{var buffer=src.queue[src.buffersPlayed].buffer;for(var i=0;i>2]=i+1;return}}HEAP32[value>>2]=0}break;case 4112:HEAP32[value>>2]=src.state;break;case 4117:HEAP32[value>>2]=src.queue.length;break;case 4118:if(src.loop){HEAP32[value>>2]=0}else{HEAP32[value>>2]=src.buffersPlayed}break;default:AL.currentContext.err=40962;break}}Module["_strlen"]=_strlen;function __reallyNegative(x){return x<0||x===0&&1/x===-Infinity}function __formatString(format,varargs){var textIndex=format;var argIndex=0;function getNextArg(type){var ret;if(type==="double"){ret=(HEAP32[tempDoublePtr>>2]=HEAP32[varargs+argIndex>>2],HEAP32[tempDoublePtr+4>>2]=HEAP32[varargs+(argIndex+4)>>2],+HEAPF64[tempDoublePtr>>3])}else if(type=="i64"){ret=[HEAP32[varargs+argIndex>>2],HEAP32[varargs+(argIndex+4)>>2]]}else{type="i32";ret=HEAP32[varargs+argIndex>>2]}argIndex+=Runtime.getNativeFieldSize(type);return ret}var ret=[];var curr,next,currArg;while(1){var startTextIndex=textIndex;curr=HEAP8[textIndex>>0];if(curr===0)break;next=HEAP8[textIndex+1>>0];if(curr==37){var flagAlwaysSigned=false;var flagLeftAlign=false;var flagAlternative=false;var flagZeroPad=false;var flagPadSign=false;flagsLoop:while(1){switch(next){case 43:flagAlwaysSigned=true;break;case 45:flagLeftAlign=true;break;case 35:flagAlternative=true;break;case 48:if(flagZeroPad){break flagsLoop}else{flagZeroPad=true;break};case 32:flagPadSign=true;break;default:break flagsLoop}textIndex++;next=HEAP8[textIndex+1>>0]}var width=0;if(next==42){width=getNextArg("i32");textIndex++;next=HEAP8[textIndex+1>>0]}else{while(next>=48&&next<=57){width=width*10+(next-48);textIndex++;next=HEAP8[textIndex+1>>0]}}var precisionSet=false,precision=-1;if(next==46){precision=0;precisionSet=true;textIndex++;next=HEAP8[textIndex+1>>0];if(next==42){precision=getNextArg("i32");textIndex++}else{while(1){var precisionChr=HEAP8[textIndex+1>>0];if(precisionChr<48||precisionChr>57)break;precision=precision*10+(precisionChr-48);textIndex++}}next=HEAP8[textIndex+1>>0]}if(precision<0){precision=6;precisionSet=false}var argSize;switch(String.fromCharCode(next)){case"h":var nextNext=HEAP8[textIndex+2>>0];if(nextNext==104){textIndex++;argSize=1}else{argSize=2}break;case"l":var nextNext=HEAP8[textIndex+2>>0];if(nextNext==108){textIndex++;argSize=8}else{argSize=4}break;case"L":case"q":case"j":argSize=8;break;case"z":case"t":case"I":argSize=4;break;default:argSize=null}if(argSize)textIndex++;next=HEAP8[textIndex+1>>0];switch(String.fromCharCode(next)){case"d":case"i":case"u":case"o":case"x":case"X":case"p":{var signed=next==100||next==105;argSize=argSize||4;var currArg=getNextArg("i"+argSize*8);var origArg=currArg;var argText;if(argSize==8){currArg=Runtime.makeBigInt(currArg[0],currArg[1],next==117)}if(argSize<=4){var limit=Math.pow(256,argSize)-1;currArg=(signed?reSign:unSign)(currArg&limit,argSize*8)}var currAbsArg=Math.abs(currArg);var prefix="";if(next==100||next==105){if(argSize==8&&i64Math)argText=i64Math.stringify(origArg[0],origArg[1],null);else argText=reSign(currArg,8*argSize,1).toString(10)}else if(next==117){if(argSize==8&&i64Math)argText=i64Math.stringify(origArg[0],origArg[1],true);else argText=unSign(currArg,8*argSize,1).toString(10);currArg=Math.abs(currArg)}else if(next==111){argText=(flagAlternative?"0":"")+currAbsArg.toString(8)}else if(next==120||next==88){prefix=flagAlternative&&currArg!=0?"0x":"";if(argSize==8&&i64Math){if(origArg[1]){argText=(origArg[1]>>>0).toString(16);var lower=(origArg[0]>>>0).toString(16);while(lower.length<8)lower="0"+lower;argText+=lower}else{argText=(origArg[0]>>>0).toString(16)}}else if(currArg<0){currArg=-currArg;argText=(currAbsArg-1).toString(16);var buffer=[];for(var i=0;i=0){if(flagAlwaysSigned){prefix="+"+prefix}else if(flagPadSign){prefix=" "+prefix}}if(argText.charAt(0)=="-"){prefix="-"+prefix;argText=argText.substr(1)}while(prefix.length+argText.lengthexponent&&exponent>=-4){next=(next==103?"f":"F").charCodeAt(0);precision-=exponent+1}else{next=(next==103?"e":"E").charCodeAt(0);precision--}effectivePrecision=Math.min(precision,20)}if(next==101||next==69){argText=currArg.toExponential(effectivePrecision);if(/[eE][-+]\d$/.test(argText)){argText=argText.slice(0,-1)+"0"+argText.slice(-1)}}else if(next==102||next==70){argText=currArg.toFixed(effectivePrecision);if(currArg===0&&__reallyNegative(currArg)){argText="-"+argText}}var parts=argText.split("e");if(isGeneral&&!flagAlternative){while(parts[0].length>1&&parts[0].indexOf(".")!=-1&&(parts[0].slice(-1)=="0"||parts[0].slice(-1)==".")){parts[0]=parts[0].slice(0,-1)}}else{if(flagAlternative&&argText.indexOf(".")==-1)parts[0]+=".";while(precision>effectivePrecision++)parts[0]+="0"}argText=parts[0]+(parts.length>1?"e"+parts[1]:"");if(next==69)argText=argText.toUpperCase();if(currArg>=0){if(flagAlwaysSigned){argText="+"+argText}else if(flagPadSign){argText=" "+argText}}}while(argText.length>0])}}else{ret=ret.concat(intArrayFromString("(null)".substr(0,argLength),true))}if(flagLeftAlign){while(argLength0){ret.push(32)}if(!flagLeftAlign)ret.push(getNextArg("i8"));break};case"n":{var ptr=getNextArg("i32*");HEAP32[ptr>>2]=ret.length;break};case"%":{ret.push(curr);break};default:{for(var i=startTextIndex;i>0])}}}textIndex+=2}else{ret.push(curr);textIndex+=1}}return ret}function _fprintf(stream,format,varargs){var result=__formatString(format,varargs);var stack=Runtime.stackSave();var ret=_fwrite(allocate(result,"i8",ALLOC_STACK),1,result.length,stream);Runtime.stackRestore(stack);return ret}function _vfprintf(s,f,va_arg){return _fprintf(s,f,HEAP32[va_arg>>2])}function _alcGetContextsDevice(context){if(context<=AL.contexts.length&&context>0){return 1}return 0}function _alGenSources(count,sources){if(!AL.currentContext){return}for(var i=0;i>2]=AL.newSrcId;AL.newSrcId++}}var _llvm_pow_f64=Math_pow;function _sbrk(bytes){var self=_sbrk;if(!self.called){DYNAMICTOP=alignMemoryPage(DYNAMICTOP);self.called=true;assert(Runtime.dynamicAlloc);self.alloc=Runtime.dynamicAlloc;Runtime.dynamicAlloc=(function(){abort("cannot dynamically allocate, sbrk now has control")})}var ret=DYNAMICTOP;if(bytes!=0)self.alloc(bytes);return ret}Module["_bitshift64Shl"]=_bitshift64Shl;function ___errno_location(){return ___errno_state}function _strerror_r(errnum,strerrbuf,buflen){if(errnum in ERRNO_MESSAGES){if(ERRNO_MESSAGES[errnum].length>buflen-1){return ___setErrNo(ERRNO_CODES.ERANGE)}else{var msg=ERRNO_MESSAGES[errnum];writeAsciiToMemory(msg,strerrbuf);return 0}}else{return ___setErrNo(ERRNO_CODES.EINVAL)}}function _strerror(errnum){if(!_strerror.buffer)_strerror.buffer=_malloc(256);_strerror_r(errnum,_strerror.buffer,256);return _strerror.buffer}function _glfwInit(){if(GLFW.windows)return 1;GLFW.initialTime=GLFW.getTime();GLFW.hints=GLFW.defaultHints;GLFW.windows=new Array;GLFW.active=null;window.addEventListener("keydown",GLFW.onKeydown,true);window.addEventListener("keypress",GLFW.onKeyPress,true);window.addEventListener("keyup",GLFW.onKeyup,true);Module["canvas"].addEventListener("mousemove",GLFW.onMousemove,true);Module["canvas"].addEventListener("mousedown",GLFW.onMouseButtonDown,true);Module["canvas"].addEventListener("mouseup",GLFW.onMouseButtonUp,true);Module["canvas"].addEventListener("wheel",GLFW.onMouseWheel,true);Module["canvas"].addEventListener("mousewheel",GLFW.onMouseWheel,true);return 1}function _alDeleteSources(count,sources){if(!AL.currentContext){return}for(var i=0;i>2];delete AL.currentContext.src[sourceIdx]}}function _glfwSwapBuffers(winid){GLFW.swapBuffers(winid)}function _glUseProgram(program){GLctx.useProgram(program?GL.programs[program]:null)}function _glTexImage2D(target,level,internalFormat,width,height,border,format,type,pixels){if(pixels){var data=GL.getTexPixelData(type,format,width,height,pixels,internalFormat);pixels=data.pixels;internalFormat=data.internalFormat}else{pixels=null}GLctx.texImage2D(target,level,internalFormat,width,height,border,format,type,pixels)}function _sysconf(name){switch(name){case 30:return PAGE_SIZE;case 132:case 133:case 12:case 137:case 138:case 15:case 235:case 16:case 17:case 18:case 19:case 20:case 149:case 13:case 10:case 236:case 153:case 9:case 21:case 22:case 159:case 154:case 14:case 77:case 78:case 139:case 80:case 81:case 79:case 82:case 68:case 67:case 164:case 11:case 29:case 47:case 48:case 95:case 52:case 51:case 46:return 200809;case 27:case 246:case 127:case 128:case 23:case 24:case 160:case 161:case 181:case 182:case 242:case 183:case 184:case 243:case 244:case 245:case 165:case 178:case 179:case 49:case 50:case 168:case 169:case 175:case 170:case 171:case 172:case 97:case 76:case 32:case 173:case 35:return-1;case 176:case 177:case 7:case 155:case 8:case 157:case 125:case 126:case 92:case 93:case 129:case 130:case 131:case 94:case 91:return 1;case 74:case 60:case 69:case 70:case 4:return 1024;case 31:case 42:case 72:return 32;case 87:case 26:case 33:return 2147483647;case 34:case 1:return 47839;case 38:case 36:return 99;case 43:case 37:return 2048;case 0:return 2097152;case 3:return 65536;case 28:return 32768;case 44:return 32767;case 75:return 16384;case 39:return 1e3;case 89:return 700;case 71:return 256;case 40:return 255;case 2:return 100;case 180:return 64;case 25:return 20;case 5:return 16;case 6:return 6;case 73:return 4;case 84:{if(typeof navigator==="object")return navigator["hardwareConcurrency"]||1;return 1}}___setErrNo(ERRNO_CODES.EINVAL);return-1}function _glfwDefaultWindowHints(){GLFW.hints=GLFW.defaultHints}function _glfwSwapInterval(interval){interval=Math.abs(interval);if(interval==0)_emscripten_set_main_loop_timing(0,0);else _emscripten_set_main_loop_timing(1,interval)}function _glfwMakeContextCurrent(winid){}function _abort(){Module["abort"]()}function _glfwSetMouseButtonCallback(winid,cbfun){GLFW.setMouseButtonCallback(winid,cbfun)}function _alSourcePause(source){if(!AL.currentContext){return}var src=AL.currentContext.src[source];if(!src){AL.currentContext.err=40961;return}AL.setSourceState(src,4115)}function _glEnable(x0){GLctx.enable(x0)}function _alBufferData(buffer,format,data,size,freq){if(!AL.currentContext){return}if(buffer>AL.currentContext.buf.length){return}var channels,bytes;switch(format){case 4352:bytes=1;channels=1;break;case 4353:bytes=2;channels=1;break;case 4354:bytes=1;channels=2;break;case 4355:bytes=2;channels=2;break;default:return}try{AL.currentContext.buf[buffer-1]=AL.currentContext.ctx.createBuffer(channels,size/(bytes*channels),freq);AL.currentContext.buf[buffer-1].bytesPerSample=bytes}catch(e){AL.currentContext.err=40963;return}var buf=new Array(channels);for(var i=0;i>0]&255;buf[j][i]=-1+val*(2/256);break;case 2:var val=HEAP16[data+2*(i*channels+j)>>1];buf[j][i]=val/32768;break}}}}var _floor=Math_floor;function _alGenBuffers(count,buffers){if(!AL.currentContext){return}for(var i=0;i>2]=AL.currentContext.buf.length}}function _lseek(fildes,offset,whence){var stream=FS.getStream(fildes);if(!stream){___setErrNo(ERRNO_CODES.EBADF);return-1}try{return FS.llseek(stream,offset,whence)}catch(e){FS.handleFSError(e);return-1}}function _fseek(stream,offset,whence){var fd=_fileno(stream);var ret=_lseek(fd,offset,whence);if(ret==-1){return-1}stream=FS.getStreamFromPtr(stream);stream.eof=false;return 0}function _glGenBuffers(n,buffers){for(var i=0;i>2]=id}}function _glGetAttribLocation(program,name){program=GL.programs[program];name=Pointer_stringify(name);return GLctx.getAttribLocation(program,name)}function _glfwWindowHint(target,hint){GLFW.hints[target]=hint}var _sin=Math_sin;function _glBlendFunc(x0,x1){GLctx.blendFunc(x0,x1)}function _glCreateProgram(){var id=GL.getNewId(GL.programs);var program=GLctx.createProgram();program.name=id;GL.programs[id]=program;return id}function _glViewport(x0,x1,x2,x3){GLctx.viewport(x0,x1,x2,x3)}function _glfwDestroyWindow(winid){return GLFW.destroyWindow(winid)}function _glfwSetErrorCallback(cbfun){GLFW.errorFunc=cbfun}function _glUniformMatrix4fv(location,count,transpose,value){location=GL.uniforms[location];var view;if(count===1){view=GL.miniTempBufferViews[15];for(var i=0;i<16;i++){view[i]=HEAPF32[value+i*4>>2]}}else{view=HEAPF32.subarray(value>>2,value+count*64>>2)}GLctx.uniformMatrix4fv(location,transpose,view)}var _BItoD=true;function _glTexParameteri(x0,x1,x2){GLctx.texParameteri(x0,x1,x2)}function _glfwSetKeyCallback(winid,cbfun){GLFW.setKeyCallback(winid,cbfun)}function _glDeleteBuffers(n,buffers){for(var i=0;i>2];var buffer=GL.buffers[id];if(!buffer)continue;GLctx.deleteBuffer(buffer);buffer.name=0;GL.buffers[id]=null;if(id==GL.currArrayBuffer)GL.currArrayBuffer=0;if(id==GL.currElementArrayBuffer)GL.currElementArrayBuffer=0}}var _exp=Math_exp;function _time(ptr){var ret=Date.now()/1e3|0;if(ptr){HEAP32[ptr>>2]=ret}return ret}var GLctx;GL.init();_fputc.ret=allocate([0],"i8",ALLOC_STATIC);FS.staticInit();__ATINIT__.unshift({func:(function(){if(!Module["noFSInit"]&&!FS.init.initialized)FS.init()})});__ATMAIN__.push({func:(function(){FS.ignorePermissions=false})});__ATEXIT__.push({func:(function(){FS.quit()})});Module["FS_createFolder"]=FS.createFolder;Module["FS_createPath"]=FS.createPath;Module["FS_createDataFile"]=FS.createDataFile;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;Module["FS_createLazyFile"]=FS.createLazyFile;Module["FS_createLink"]=FS.createLink;Module["FS_createDevice"]=FS.createDevice;___errno_state=Runtime.staticAlloc(4);HEAP32[___errno_state>>2]=0;__ATINIT__.unshift({func:(function(){TTY.init()})});__ATEXIT__.push({func:(function(){TTY.shutdown()})});TTY.utf8=new Runtime.UTF8Processor;if(ENVIRONMENT_IS_NODE){var fs=require("fs");NODEFS.staticInit()}__ATINIT__.push({func:(function(){SOCKFS.root=FS.mount(SOCKFS,{},null)})});Module["requestFullScreen"]=function Module_requestFullScreen(lockPointer,resizeCanvas){Browser.requestFullScreen(lockPointer,resizeCanvas)};Module["requestAnimationFrame"]=function Module_requestAnimationFrame(func){Browser.requestAnimationFrame(func)};Module["setCanvasSize"]=function Module_setCanvasSize(width,height,noUpdates){Browser.setCanvasSize(width,height,noUpdates)};Module["pauseMainLoop"]=function Module_pauseMainLoop(){Browser.mainLoop.pause()};Module["resumeMainLoop"]=function Module_resumeMainLoop(){Browser.mainLoop.resume()};Module["getUserMedia"]=function Module_getUserMedia(){Browser.getUserMedia()};_fgetc.ret=allocate([0],"i8",ALLOC_STATIC);STACK_BASE=STACKTOP=Runtime.alignMemory(STATICTOP);staticSealed=true;STACK_MAX=STACK_BASE+TOTAL_STACK;DYNAMIC_BASE=DYNAMICTOP=Runtime.alignMemory(STACK_MAX);assert(DYNAMIC_BASE 1) { + Module['thisProgram'] = process['argv'][1].replace(/\\/g, '/'); + } else { + Module['thisProgram'] = 'unknown-program'; + } + } + + Module['arguments'] = process['argv'].slice(2); + + if (typeof module !== 'undefined') { + module['exports'] = Module; + } + + process['on']('uncaughtException', function(ex) { + // suppress ExitStatus exceptions from showing an error + if (!(ex instanceof ExitStatus)) { + throw ex; + } + }); + + Module['inspect'] = function () { return '[Emscripten Module object]'; }; +} +else if (ENVIRONMENT_IS_SHELL) { + if (!Module['print']) Module['print'] = print; + if (typeof printErr != 'undefined') Module['printErr'] = printErr; // not present in v8 or older sm + + if (typeof read != 'undefined') { + Module['read'] = read; + } else { + Module['read'] = function read() { throw 'no read() available' }; + } + + Module['readBinary'] = function readBinary(f) { + if (typeof readbuffer === 'function') { + return new Uint8Array(readbuffer(f)); + } + var data = read(f, 'binary'); + assert(typeof data === 'object'); + return data; + }; + + if (typeof scriptArgs != 'undefined') { + Module['arguments'] = scriptArgs; + } else if (typeof arguments != 'undefined') { + Module['arguments'] = arguments; + } + + if (typeof quit === 'function') { + Module['quit'] = function(status, toThrow) { + quit(status); + } + } + +} +else if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) { + Module['read'] = function read(url) { + var xhr = new XMLHttpRequest(); + xhr.open('GET', url, false); + xhr.send(null); + return xhr.responseText; + }; + + if (ENVIRONMENT_IS_WORKER) { + Module['readBinary'] = function read(url) { + var xhr = new XMLHttpRequest(); + xhr.open('GET', url, false); + xhr.responseType = 'arraybuffer'; + xhr.send(null); + return xhr.response; + }; + } + + Module['readAsync'] = function readAsync(url, onload, onerror) { + var xhr = new XMLHttpRequest(); + xhr.open('GET', url, true); + xhr.responseType = 'arraybuffer'; + xhr.onload = function xhr_onload() { + if (xhr.status == 200 || (xhr.status == 0 && xhr.response)) { // file URLs can return 0 + onload(xhr.response); + } else { + onerror(); + } + }; + xhr.onerror = onerror; + xhr.send(null); + }; + + if (typeof arguments != 'undefined') { + Module['arguments'] = arguments; + } + + if (typeof console !== 'undefined') { + if (!Module['print']) Module['print'] = function print(x) { + console.log(x); + }; + if (!Module['printErr']) Module['printErr'] = function printErr(x) { + console.warn(x); + }; + } else { + // Probably a worker, and without console.log. We can do very little here... + var TRY_USE_DUMP = false; + if (!Module['print']) Module['print'] = (TRY_USE_DUMP && (typeof(dump) !== "undefined") ? (function(x) { + dump(x); + }) : (function(x) { + // self.postMessage(x); // enable this if you want stdout to be sent as messages + })); + } + + if (ENVIRONMENT_IS_WORKER) { + Module['load'] = importScripts; + } + + if (typeof Module['setWindowTitle'] === 'undefined') { + Module['setWindowTitle'] = function(title) { document.title = title }; + } +} +else { + // Unreachable because SHELL is dependant on the others + throw 'Unknown runtime environment. Where are we?'; +} + +function globalEval(x) { + eval.call(null, x); +} +if (!Module['load'] && Module['read']) { + Module['load'] = function load(f) { + globalEval(Module['read'](f)); + }; +} +if (!Module['print']) { + Module['print'] = function(){}; +} +if (!Module['printErr']) { + Module['printErr'] = Module['print']; +} +if (!Module['arguments']) { + Module['arguments'] = []; +} +if (!Module['thisProgram']) { + Module['thisProgram'] = './this.program'; +} +if (!Module['quit']) { + Module['quit'] = function(status, toThrow) { + throw toThrow; + } +} + +// *** Environment setup code *** + +// Closure helpers +Module.print = Module['print']; +Module.printErr = Module['printErr']; + +// Callbacks +Module['preRun'] = []; +Module['postRun'] = []; + +// Merge back in the overrides +for (var key in moduleOverrides) { + if (moduleOverrides.hasOwnProperty(key)) { + Module[key] = moduleOverrides[key]; + } +} +// Free the object hierarchy contained in the overrides, this lets the GC +// reclaim data used e.g. in memoryInitializerRequest, which is a large typed array. +moduleOverrides = undefined; + + + +// {{PREAMBLE_ADDITIONS}} + +// === Preamble library stuff === + +// Documentation for the public APIs defined in this file must be updated in: +// site/source/docs/api_reference/preamble.js.rst +// A prebuilt local version of the documentation is available at: +// site/build/text/docs/api_reference/preamble.js.txt +// You can also build docs locally as HTML or other formats in site/ +// An online HTML version (which may be of a different version of Emscripten) +// is up at http://kripken.github.io/emscripten-site/docs/api_reference/preamble.js.html + +//======================================== +// Runtime code shared with compiler +//======================================== + +var Runtime = { + setTempRet0: function (value) { + tempRet0 = value; + return value; + }, + getTempRet0: function () { + return tempRet0; + }, + stackSave: function () { + return STACKTOP; + }, + stackRestore: function (stackTop) { + STACKTOP = stackTop; + }, + getNativeTypeSize: function (type) { + switch (type) { + case 'i1': case 'i8': return 1; + case 'i16': return 2; + case 'i32': return 4; + case 'i64': return 8; + case 'float': return 4; + case 'double': return 8; + default: { + if (type[type.length-1] === '*') { + return Runtime.QUANTUM_SIZE; // A pointer + } else if (type[0] === 'i') { + var bits = parseInt(type.substr(1)); + assert(bits % 8 === 0); + return bits/8; + } else { + return 0; + } + } + } + }, + getNativeFieldSize: function (type) { + return Math.max(Runtime.getNativeTypeSize(type), Runtime.QUANTUM_SIZE); + }, + STACK_ALIGN: 16, + prepVararg: function (ptr, type) { + if (type === 'double' || type === 'i64') { + // move so the load is aligned + if (ptr & 7) { + assert((ptr & 7) === 4); + ptr += 4; + } + } else { + assert((ptr & 3) === 0); + } + return ptr; + }, + getAlignSize: function (type, size, vararg) { + // we align i64s and doubles on 64-bit boundaries, unlike x86 + if (!vararg && (type == 'i64' || type == 'double')) return 8; + if (!type) return Math.min(size, 8); // align structures internally to 64 bits + return Math.min(size || (type ? Runtime.getNativeFieldSize(type) : 0), Runtime.QUANTUM_SIZE); + }, + dynCall: function (sig, ptr, args) { + if (args && args.length) { + assert(args.length == sig.length-1); + assert(('dynCall_' + sig) in Module, 'bad function pointer type - no table for sig \'' + sig + '\''); + return Module['dynCall_' + sig].apply(null, [ptr].concat(args)); + } else { + assert(sig.length == 1); + assert(('dynCall_' + sig) in Module, 'bad function pointer type - no table for sig \'' + sig + '\''); + return Module['dynCall_' + sig].call(null, ptr); + } + }, + functionPointers: [], + addFunction: function (func) { + for (var i = 0; i < Runtime.functionPointers.length; i++) { + if (!Runtime.functionPointers[i]) { + Runtime.functionPointers[i] = func; + return 2*(1 + i); + } + } + throw 'Finished up all reserved function pointers. Use a higher value for RESERVED_FUNCTION_POINTERS.'; + }, + removeFunction: function (index) { + Runtime.functionPointers[(index-2)/2] = null; + }, + warnOnce: function (text) { + if (!Runtime.warnOnce.shown) Runtime.warnOnce.shown = {}; + if (!Runtime.warnOnce.shown[text]) { + Runtime.warnOnce.shown[text] = 1; + Module.printErr(text); + } + }, + funcWrappers: {}, + getFuncWrapper: function (func, sig) { + assert(sig); + if (!Runtime.funcWrappers[sig]) { + Runtime.funcWrappers[sig] = {}; + } + var sigCache = Runtime.funcWrappers[sig]; + if (!sigCache[func]) { + // optimize away arguments usage in common cases + if (sig.length === 1) { + sigCache[func] = function dynCall_wrapper() { + return Runtime.dynCall(sig, func); + }; + } else if (sig.length === 2) { + sigCache[func] = function dynCall_wrapper(arg) { + return Runtime.dynCall(sig, func, [arg]); + }; + } else { + // general case + sigCache[func] = function dynCall_wrapper() { + return Runtime.dynCall(sig, func, Array.prototype.slice.call(arguments)); + }; + } + } + return sigCache[func]; + }, + getCompilerSetting: function (name) { + throw 'You must build with -s RETAIN_COMPILER_SETTINGS=1 for Runtime.getCompilerSetting or emscripten_get_compiler_setting to work'; + }, + stackAlloc: function (size) { var ret = STACKTOP;STACKTOP = (STACKTOP + size)|0;STACKTOP = (((STACKTOP)+15)&-16);(assert((((STACKTOP|0) < (STACK_MAX|0))|0))|0); return ret; }, + staticAlloc: function (size) { var ret = STATICTOP;STATICTOP = (STATICTOP + (assert(!staticSealed),size))|0;STATICTOP = (((STATICTOP)+15)&-16); return ret; }, + dynamicAlloc: function (size) { assert(DYNAMICTOP_PTR);var ret = HEAP32[DYNAMICTOP_PTR>>2];var end = (((ret + size + 15)|0) & -16);HEAP32[DYNAMICTOP_PTR>>2] = end;if (end >= TOTAL_MEMORY) {var success = enlargeMemory();if (!success) {HEAP32[DYNAMICTOP_PTR>>2] = ret;return 0;}}return ret;}, + alignMemory: function (size,quantum) { var ret = size = Math.ceil((size)/(quantum ? quantum : 16))*(quantum ? quantum : 16); return ret; }, + makeBigInt: function (low,high,unsigned) { var ret = (unsigned ? ((+((low>>>0)))+((+((high>>>0)))*4294967296.0)) : ((+((low>>>0)))+((+((high|0)))*4294967296.0))); return ret; }, + GLOBAL_BASE: 8, + QUANTUM_SIZE: 4, + __dummy__: 0 +} + + + +Module["Runtime"] = Runtime; + + + +//======================================== +// Runtime essentials +//======================================== + +var ABORT = 0; // whether we are quitting the application. no code should run after this. set in exit() and abort() +var EXITSTATUS = 0; + +function assert(condition, text) { + if (!condition) { + abort('Assertion failed: ' + text); + } +} + +var globalScope = this; + +// Returns the C function with a specified identifier (for C++, you need to do manual name mangling) +function getCFunc(ident) { + var func = Module['_' + ident]; // closure exported function + if (!func) { + try { func = eval('_' + ident); } catch(e) {} + } + assert(func, 'Cannot call unknown function ' + ident + ' (perhaps LLVM optimizations or closure removed it?)'); + return func; +} + +var cwrap, ccall; +(function(){ + var JSfuncs = { + // Helpers for cwrap -- it can't refer to Runtime directly because it might + // be renamed by closure, instead it calls JSfuncs['stackSave'].body to find + // out what the minified function name is. + 'stackSave': function() { + Runtime.stackSave() + }, + 'stackRestore': function() { + Runtime.stackRestore() + }, + // type conversion from js to c + 'arrayToC' : function(arr) { + var ret = Runtime.stackAlloc(arr.length); + writeArrayToMemory(arr, ret); + return ret; + }, + 'stringToC' : function(str) { + var ret = 0; + if (str !== null && str !== undefined && str !== 0) { // null string + // at most 4 bytes per UTF-8 code point, +1 for the trailing '\0' + var len = (str.length << 2) + 1; + ret = Runtime.stackAlloc(len); + stringToUTF8(str, ret, len); + } + return ret; + } + }; + // For fast lookup of conversion functions + var toC = {'string' : JSfuncs['stringToC'], 'array' : JSfuncs['arrayToC']}; + + // C calling interface. + ccall = function ccallFunc(ident, returnType, argTypes, args, opts) { + var func = getCFunc(ident); + var cArgs = []; + var stack = 0; + assert(returnType !== 'array', 'Return type should not be "array".'); + if (args) { + for (var i = 0; i < args.length; i++) { + var converter = toC[argTypes[i]]; + if (converter) { + if (stack === 0) stack = Runtime.stackSave(); + cArgs[i] = converter(args[i]); + } else { + cArgs[i] = args[i]; + } + } + } + var ret = func.apply(null, cArgs); + if ((!opts || !opts.async) && typeof EmterpreterAsync === 'object') { + assert(!EmterpreterAsync.state, 'cannot start async op with normal JS calling ccall'); + } + if (opts && opts.async) assert(!returnType, 'async ccalls cannot return values'); + if (returnType === 'string') ret = Pointer_stringify(ret); + if (stack !== 0) { + if (opts && opts.async) { + EmterpreterAsync.asyncFinalizers.push(function() { + Runtime.stackRestore(stack); + }); + return; + } + Runtime.stackRestore(stack); + } + return ret; + } + + var sourceRegex = /^function\s*[a-zA-Z$_0-9]*\s*\(([^)]*)\)\s*{\s*([^*]*?)[\s;]*(?:return\s*(.*?)[;\s]*)?}$/; + function parseJSFunc(jsfunc) { + // Match the body and the return value of a javascript function source + var parsed = jsfunc.toString().match(sourceRegex).slice(1); + return {arguments : parsed[0], body : parsed[1], returnValue: parsed[2]} + } + + // sources of useful functions. we create this lazily as it can trigger a source decompression on this entire file + var JSsource = null; + function ensureJSsource() { + if (!JSsource) { + JSsource = {}; + for (var fun in JSfuncs) { + if (JSfuncs.hasOwnProperty(fun)) { + // Elements of toCsource are arrays of three items: + // the code, and the return value + JSsource[fun] = parseJSFunc(JSfuncs[fun]); + } + } + } + } + + cwrap = function cwrap(ident, returnType, argTypes) { + argTypes = argTypes || []; + var cfunc = getCFunc(ident); + // When the function takes numbers and returns a number, we can just return + // the original function + var numericArgs = argTypes.every(function(type){ return type === 'number'}); + var numericRet = (returnType !== 'string'); + if ( numericRet && numericArgs) { + return cfunc; + } + // Creation of the arguments list (["$1","$2",...,"$nargs"]) + var argNames = argTypes.map(function(x,i){return '$'+i}); + var funcstr = "(function(" + argNames.join(',') + ") {"; + var nargs = argTypes.length; + if (!numericArgs) { + // Generate the code needed to convert the arguments from javascript + // values to pointers + ensureJSsource(); + funcstr += 'var stack = ' + JSsource['stackSave'].body + ';'; + for (var i = 0; i < nargs; i++) { + var arg = argNames[i], type = argTypes[i]; + if (type === 'number') continue; + var convertCode = JSsource[type + 'ToC']; // [code, return] + funcstr += 'var ' + convertCode.arguments + ' = ' + arg + ';'; + funcstr += convertCode.body + ';'; + funcstr += arg + '=(' + convertCode.returnValue + ');'; + } + } + + // When the code is compressed, the name of cfunc is not literally 'cfunc' anymore + var cfuncname = parseJSFunc(function(){return cfunc}).returnValue; + // Call the function + funcstr += 'var ret = ' + cfuncname + '(' + argNames.join(',') + ');'; + if (!numericRet) { // Return type can only by 'string' or 'number' + // Convert the result to a string + var strgfy = parseJSFunc(function(){return Pointer_stringify}).returnValue; + funcstr += 'ret = ' + strgfy + '(ret);'; + } + funcstr += "if (typeof EmterpreterAsync === 'object') { assert(!EmterpreterAsync.state, 'cannot start async op with normal JS calling cwrap') }"; + if (!numericArgs) { + // If we had a stack, restore it + ensureJSsource(); + funcstr += JSsource['stackRestore'].body.replace('()', '(stack)') + ';'; + } + funcstr += 'return ret})'; + return eval(funcstr); + }; +})(); +Module["ccall"] = ccall; +Module["cwrap"] = cwrap; + +function setValue(ptr, value, type, noSafe) { + type = type || 'i8'; + if (type.charAt(type.length-1) === '*') type = 'i32'; // pointers are 32-bit + switch(type) { + case 'i1': HEAP8[((ptr)>>0)]=value; break; + case 'i8': HEAP8[((ptr)>>0)]=value; break; + case 'i16': HEAP16[((ptr)>>1)]=value; break; + case 'i32': HEAP32[((ptr)>>2)]=value; break; + case 'i64': (tempI64 = [value>>>0,(tempDouble=value,(+(Math_abs(tempDouble))) >= 1.0 ? (tempDouble > 0.0 ? ((Math_min((+(Math_floor((tempDouble)/4294967296.0))), 4294967295.0))|0)>>>0 : (~~((+(Math_ceil((tempDouble - +(((~~(tempDouble)))>>>0))/4294967296.0)))))>>>0) : 0)],HEAP32[((ptr)>>2)]=tempI64[0],HEAP32[(((ptr)+(4))>>2)]=tempI64[1]); break; + case 'float': HEAPF32[((ptr)>>2)]=value; break; + case 'double': HEAPF64[((ptr)>>3)]=value; break; + default: abort('invalid type for setValue: ' + type); + } +} +Module["setValue"] = setValue; + + +function getValue(ptr, type, noSafe) { + type = type || 'i8'; + if (type.charAt(type.length-1) === '*') type = 'i32'; // pointers are 32-bit + switch(type) { + case 'i1': return HEAP8[((ptr)>>0)]; + case 'i8': return HEAP8[((ptr)>>0)]; + case 'i16': return HEAP16[((ptr)>>1)]; + case 'i32': return HEAP32[((ptr)>>2)]; + case 'i64': return HEAP32[((ptr)>>2)]; + case 'float': return HEAPF32[((ptr)>>2)]; + case 'double': return HEAPF64[((ptr)>>3)]; + default: abort('invalid type for setValue: ' + type); + } + return null; +} +Module["getValue"] = getValue; + +var ALLOC_NORMAL = 0; // Tries to use _malloc() +var ALLOC_STACK = 1; // Lives for the duration of the current function call +var ALLOC_STATIC = 2; // Cannot be freed +var ALLOC_DYNAMIC = 3; // Cannot be freed except through sbrk +var ALLOC_NONE = 4; // Do not allocate +Module["ALLOC_NORMAL"] = ALLOC_NORMAL; +Module["ALLOC_STACK"] = ALLOC_STACK; +Module["ALLOC_STATIC"] = ALLOC_STATIC; +Module["ALLOC_DYNAMIC"] = ALLOC_DYNAMIC; +Module["ALLOC_NONE"] = ALLOC_NONE; + +// allocate(): This is for internal use. You can use it yourself as well, but the interface +// is a little tricky (see docs right below). The reason is that it is optimized +// for multiple syntaxes to save space in generated code. So you should +// normally not use allocate(), and instead allocate memory using _malloc(), +// initialize it with setValue(), and so forth. +// @slab: An array of data, or a number. If a number, then the size of the block to allocate, +// in *bytes* (note that this is sometimes confusing: the next parameter does not +// affect this!) +// @types: Either an array of types, one for each byte (or 0 if no type at that position), +// or a single type which is used for the entire block. This only matters if there +// is initial data - if @slab is a number, then this does not matter at all and is +// ignored. +// @allocator: How to allocate memory, see ALLOC_* +function allocate(slab, types, allocator, ptr) { + var zeroinit, size; + if (typeof slab === 'number') { + zeroinit = true; + size = slab; + } else { + zeroinit = false; + size = slab.length; + } + + var singleType = typeof types === 'string' ? types : null; + + var ret; + if (allocator == ALLOC_NONE) { + ret = ptr; + } else { + ret = [typeof _malloc === 'function' ? _malloc : Runtime.staticAlloc, Runtime.stackAlloc, Runtime.staticAlloc, Runtime.dynamicAlloc][allocator === undefined ? ALLOC_STATIC : allocator](Math.max(size, singleType ? 1 : types.length)); + } + + if (zeroinit) { + var ptr = ret, stop; + assert((ret & 3) == 0); + stop = ret + (size & ~3); + for (; ptr < stop; ptr += 4) { + HEAP32[((ptr)>>2)]=0; + } + stop = ret + size; + while (ptr < stop) { + HEAP8[((ptr++)>>0)]=0; + } + return ret; + } + + if (singleType === 'i8') { + if (slab.subarray || slab.slice) { + HEAPU8.set(slab, ret); + } else { + HEAPU8.set(new Uint8Array(slab), ret); + } + return ret; + } + + var i = 0, type, typeSize, previousType; + while (i < size) { + var curr = slab[i]; + + if (typeof curr === 'function') { + curr = Runtime.getFunctionIndex(curr); + } + + type = singleType || types[i]; + if (type === 0) { + i++; + continue; + } + assert(type, 'Must know what type to store in allocate!'); + + if (type == 'i64') type = 'i32'; // special case: we have one i32 here, and one i32 later + + setValue(ret+i, curr, type); + + // no need to look up size unless type changes, so cache it + if (previousType !== type) { + typeSize = Runtime.getNativeTypeSize(type); + previousType = type; + } + i += typeSize; + } + + return ret; +} +Module["allocate"] = allocate; + +// Allocate memory during any stage of startup - static memory early on, dynamic memory later, malloc when ready +function getMemory(size) { + if (!staticSealed) return Runtime.staticAlloc(size); + if (!runtimeInitialized) return Runtime.dynamicAlloc(size); + return _malloc(size); +} +Module["getMemory"] = getMemory; + +function Pointer_stringify(ptr, /* optional */ length) { + if (length === 0 || !ptr) return ''; + // TODO: use TextDecoder + // Find the length, and check for UTF while doing so + var hasUtf = 0; + var t; + var i = 0; + while (1) { + assert(ptr + i < TOTAL_MEMORY); + t = HEAPU8[(((ptr)+(i))>>0)]; + hasUtf |= t; + if (t == 0 && !length) break; + i++; + if (length && i == length) break; + } + if (!length) length = i; + + var ret = ''; + + if (hasUtf < 128) { + var MAX_CHUNK = 1024; // split up into chunks, because .apply on a huge string can overflow the stack + var curr; + while (length > 0) { + curr = String.fromCharCode.apply(String, HEAPU8.subarray(ptr, ptr + Math.min(length, MAX_CHUNK))); + ret = ret ? ret + curr : curr; + ptr += MAX_CHUNK; + length -= MAX_CHUNK; + } + return ret; + } + return Module['UTF8ToString'](ptr); +} +Module["Pointer_stringify"] = Pointer_stringify; + +// Given a pointer 'ptr' to a null-terminated ASCII-encoded string in the emscripten HEAP, returns +// a copy of that string as a Javascript String object. + +function AsciiToString(ptr) { + var str = ''; + while (1) { + var ch = HEAP8[((ptr++)>>0)]; + if (!ch) return str; + str += String.fromCharCode(ch); + } +} +Module["AsciiToString"] = AsciiToString; + +// Copies the given Javascript String object 'str' to the emscripten HEAP at address 'outPtr', +// null-terminated and encoded in ASCII form. The copy will require at most str.length+1 bytes of space in the HEAP. + +function stringToAscii(str, outPtr) { + return writeAsciiToMemory(str, outPtr, false); +} +Module["stringToAscii"] = stringToAscii; + +// Given a pointer 'ptr' to a null-terminated UTF8-encoded string in the given array that contains uint8 values, returns +// a copy of that string as a Javascript String object. + +var UTF8Decoder = typeof TextDecoder !== 'undefined' ? new TextDecoder('utf8') : undefined; +function UTF8ArrayToString(u8Array, idx) { + var endPtr = idx; + // TextDecoder needs to know the byte length in advance, it doesn't stop on null terminator by itself. + // Also, use the length info to avoid running tiny strings through TextDecoder, since .subarray() allocates garbage. + while (u8Array[endPtr]) ++endPtr; + + if (endPtr - idx > 16 && u8Array.subarray && UTF8Decoder) { + return UTF8Decoder.decode(u8Array.subarray(idx, endPtr)); + } else { + var u0, u1, u2, u3, u4, u5; + + var str = ''; + while (1) { + // For UTF8 byte structure, see http://en.wikipedia.org/wiki/UTF-8#Description and https://www.ietf.org/rfc/rfc2279.txt and https://tools.ietf.org/html/rfc3629 + u0 = u8Array[idx++]; + if (!u0) return str; + if (!(u0 & 0x80)) { str += String.fromCharCode(u0); continue; } + u1 = u8Array[idx++] & 63; + if ((u0 & 0xE0) == 0xC0) { str += String.fromCharCode(((u0 & 31) << 6) | u1); continue; } + u2 = u8Array[idx++] & 63; + if ((u0 & 0xF0) == 0xE0) { + u0 = ((u0 & 15) << 12) | (u1 << 6) | u2; + } else { + u3 = u8Array[idx++] & 63; + if ((u0 & 0xF8) == 0xF0) { + u0 = ((u0 & 7) << 18) | (u1 << 12) | (u2 << 6) | u3; + } else { + u4 = u8Array[idx++] & 63; + if ((u0 & 0xFC) == 0xF8) { + u0 = ((u0 & 3) << 24) | (u1 << 18) | (u2 << 12) | (u3 << 6) | u4; + } else { + u5 = u8Array[idx++] & 63; + u0 = ((u0 & 1) << 30) | (u1 << 24) | (u2 << 18) | (u3 << 12) | (u4 << 6) | u5; + } + } + } + if (u0 < 0x10000) { + str += String.fromCharCode(u0); + } else { + var ch = u0 - 0x10000; + str += String.fromCharCode(0xD800 | (ch >> 10), 0xDC00 | (ch & 0x3FF)); + } + } + } +} +Module["UTF8ArrayToString"] = UTF8ArrayToString; + +// Given a pointer 'ptr' to a null-terminated UTF8-encoded string in the emscripten HEAP, returns +// a copy of that string as a Javascript String object. + +function UTF8ToString(ptr) { + return UTF8ArrayToString(HEAPU8,ptr); +} +Module["UTF8ToString"] = UTF8ToString; + +// Copies the given Javascript String object 'str' to the given byte array at address 'outIdx', +// encoded in UTF8 form and null-terminated. The copy will require at most str.length*4+1 bytes of space in the HEAP. +// Use the function lengthBytesUTF8 to compute the exact number of bytes (excluding null terminator) that this function will write. +// Parameters: +// str: the Javascript string to copy. +// outU8Array: the array to copy to. Each index in this array is assumed to be one 8-byte element. +// outIdx: The starting offset in the array to begin the copying. +// maxBytesToWrite: The maximum number of bytes this function can write to the array. This count should include the null +// terminator, i.e. if maxBytesToWrite=1, only the null terminator will be written and nothing else. +// maxBytesToWrite=0 does not write any bytes to the output, not even the null terminator. +// Returns the number of bytes written, EXCLUDING the null terminator. + +function stringToUTF8Array(str, outU8Array, outIdx, maxBytesToWrite) { + if (!(maxBytesToWrite > 0)) // Parameter maxBytesToWrite is not optional. Negative values, 0, null, undefined and false each don't write out any bytes. + return 0; + + var startIdx = outIdx; + var endIdx = outIdx + maxBytesToWrite - 1; // -1 for string null terminator. + for (var i = 0; i < str.length; ++i) { + // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code unit, not a Unicode code point of the character! So decode UTF16->UTF32->UTF8. + // See http://unicode.org/faq/utf_bom.html#utf16-3 + // For UTF8 byte structure, see http://en.wikipedia.org/wiki/UTF-8#Description and https://www.ietf.org/rfc/rfc2279.txt and https://tools.ietf.org/html/rfc3629 + var u = str.charCodeAt(i); // possibly a lead surrogate + if (u >= 0xD800 && u <= 0xDFFF) u = 0x10000 + ((u & 0x3FF) << 10) | (str.charCodeAt(++i) & 0x3FF); + if (u <= 0x7F) { + if (outIdx >= endIdx) break; + outU8Array[outIdx++] = u; + } else if (u <= 0x7FF) { + if (outIdx + 1 >= endIdx) break; + outU8Array[outIdx++] = 0xC0 | (u >> 6); + outU8Array[outIdx++] = 0x80 | (u & 63); + } else if (u <= 0xFFFF) { + if (outIdx + 2 >= endIdx) break; + outU8Array[outIdx++] = 0xE0 | (u >> 12); + outU8Array[outIdx++] = 0x80 | ((u >> 6) & 63); + outU8Array[outIdx++] = 0x80 | (u & 63); + } else if (u <= 0x1FFFFF) { + if (outIdx + 3 >= endIdx) break; + outU8Array[outIdx++] = 0xF0 | (u >> 18); + outU8Array[outIdx++] = 0x80 | ((u >> 12) & 63); + outU8Array[outIdx++] = 0x80 | ((u >> 6) & 63); + outU8Array[outIdx++] = 0x80 | (u & 63); + } else if (u <= 0x3FFFFFF) { + if (outIdx + 4 >= endIdx) break; + outU8Array[outIdx++] = 0xF8 | (u >> 24); + outU8Array[outIdx++] = 0x80 | ((u >> 18) & 63); + outU8Array[outIdx++] = 0x80 | ((u >> 12) & 63); + outU8Array[outIdx++] = 0x80 | ((u >> 6) & 63); + outU8Array[outIdx++] = 0x80 | (u & 63); + } else { + if (outIdx + 5 >= endIdx) break; + outU8Array[outIdx++] = 0xFC | (u >> 30); + outU8Array[outIdx++] = 0x80 | ((u >> 24) & 63); + outU8Array[outIdx++] = 0x80 | ((u >> 18) & 63); + outU8Array[outIdx++] = 0x80 | ((u >> 12) & 63); + outU8Array[outIdx++] = 0x80 | ((u >> 6) & 63); + outU8Array[outIdx++] = 0x80 | (u & 63); + } + } + // Null-terminate the pointer to the buffer. + outU8Array[outIdx] = 0; + return outIdx - startIdx; +} +Module["stringToUTF8Array"] = stringToUTF8Array; + +// Copies the given Javascript String object 'str' to the emscripten HEAP at address 'outPtr', +// null-terminated and encoded in UTF8 form. The copy will require at most str.length*4+1 bytes of space in the HEAP. +// Use the function lengthBytesUTF8 to compute the exact number of bytes (excluding null terminator) that this function will write. +// Returns the number of bytes written, EXCLUDING the null terminator. + +function stringToUTF8(str, outPtr, maxBytesToWrite) { + assert(typeof maxBytesToWrite == 'number', 'stringToUTF8(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!'); + return stringToUTF8Array(str, HEAPU8,outPtr, maxBytesToWrite); +} +Module["stringToUTF8"] = stringToUTF8; + +// Returns the number of bytes the given Javascript string takes if encoded as a UTF8 byte array, EXCLUDING the null terminator byte. + +function lengthBytesUTF8(str) { + var len = 0; + for (var i = 0; i < str.length; ++i) { + // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code unit, not a Unicode code point of the character! So decode UTF16->UTF32->UTF8. + // See http://unicode.org/faq/utf_bom.html#utf16-3 + var u = str.charCodeAt(i); // possibly a lead surrogate + if (u >= 0xD800 && u <= 0xDFFF) u = 0x10000 + ((u & 0x3FF) << 10) | (str.charCodeAt(++i) & 0x3FF); + if (u <= 0x7F) { + ++len; + } else if (u <= 0x7FF) { + len += 2; + } else if (u <= 0xFFFF) { + len += 3; + } else if (u <= 0x1FFFFF) { + len += 4; + } else if (u <= 0x3FFFFFF) { + len += 5; + } else { + len += 6; + } + } + return len; +} +Module["lengthBytesUTF8"] = lengthBytesUTF8; + +// Given a pointer 'ptr' to a null-terminated UTF16LE-encoded string in the emscripten HEAP, returns +// a copy of that string as a Javascript String object. + +var UTF16Decoder = typeof TextDecoder !== 'undefined' ? new TextDecoder('utf-16le') : undefined; +function UTF16ToString(ptr) { + assert(ptr % 2 == 0, 'Pointer passed to UTF16ToString must be aligned to two bytes!'); + var endPtr = ptr; + // TextDecoder needs to know the byte length in advance, it doesn't stop on null terminator by itself. + // Also, use the length info to avoid running tiny strings through TextDecoder, since .subarray() allocates garbage. + var idx = endPtr >> 1; + while (HEAP16[idx]) ++idx; + endPtr = idx << 1; + + if (endPtr - ptr > 32 && UTF16Decoder) { + return UTF16Decoder.decode(HEAPU8.subarray(ptr, endPtr)); + } else { + var i = 0; + + var str = ''; + while (1) { + var codeUnit = HEAP16[(((ptr)+(i*2))>>1)]; + if (codeUnit == 0) return str; + ++i; + // fromCharCode constructs a character from a UTF-16 code unit, so we can pass the UTF16 string right through. + str += String.fromCharCode(codeUnit); + } + } +} + + +// Copies the given Javascript String object 'str' to the emscripten HEAP at address 'outPtr', +// null-terminated and encoded in UTF16 form. The copy will require at most str.length*4+2 bytes of space in the HEAP. +// Use the function lengthBytesUTF16() to compute the exact number of bytes (excluding null terminator) that this function will write. +// Parameters: +// str: the Javascript string to copy. +// outPtr: Byte address in Emscripten HEAP where to write the string to. +// maxBytesToWrite: The maximum number of bytes this function can write to the array. This count should include the null +// terminator, i.e. if maxBytesToWrite=2, only the null terminator will be written and nothing else. +// maxBytesToWrite<2 does not write any bytes to the output, not even the null terminator. +// Returns the number of bytes written, EXCLUDING the null terminator. + +function stringToUTF16(str, outPtr, maxBytesToWrite) { + assert(outPtr % 2 == 0, 'Pointer passed to stringToUTF16 must be aligned to two bytes!'); + assert(typeof maxBytesToWrite == 'number', 'stringToUTF16(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!'); + // Backwards compatibility: if max bytes is not specified, assume unsafe unbounded write is allowed. + if (maxBytesToWrite === undefined) { + maxBytesToWrite = 0x7FFFFFFF; + } + if (maxBytesToWrite < 2) return 0; + maxBytesToWrite -= 2; // Null terminator. + var startPtr = outPtr; + var numCharsToWrite = (maxBytesToWrite < str.length*2) ? (maxBytesToWrite / 2) : str.length; + for (var i = 0; i < numCharsToWrite; ++i) { + // charCodeAt returns a UTF-16 encoded code unit, so it can be directly written to the HEAP. + var codeUnit = str.charCodeAt(i); // possibly a lead surrogate + HEAP16[((outPtr)>>1)]=codeUnit; + outPtr += 2; + } + // Null-terminate the pointer to the HEAP. + HEAP16[((outPtr)>>1)]=0; + return outPtr - startPtr; +} + + +// Returns the number of bytes the given Javascript string takes if encoded as a UTF16 byte array, EXCLUDING the null terminator byte. + +function lengthBytesUTF16(str) { + return str.length*2; +} + + +function UTF32ToString(ptr) { + assert(ptr % 4 == 0, 'Pointer passed to UTF32ToString must be aligned to four bytes!'); + var i = 0; + + var str = ''; + while (1) { + var utf32 = HEAP32[(((ptr)+(i*4))>>2)]; + if (utf32 == 0) + return str; + ++i; + // Gotcha: fromCharCode constructs a character from a UTF-16 encoded code (pair), not from a Unicode code point! So encode the code point to UTF-16 for constructing. + // See http://unicode.org/faq/utf_bom.html#utf16-3 + if (utf32 >= 0x10000) { + var ch = utf32 - 0x10000; + str += String.fromCharCode(0xD800 | (ch >> 10), 0xDC00 | (ch & 0x3FF)); + } else { + str += String.fromCharCode(utf32); + } + } +} + + +// Copies the given Javascript String object 'str' to the emscripten HEAP at address 'outPtr', +// null-terminated and encoded in UTF32 form. The copy will require at most str.length*4+4 bytes of space in the HEAP. +// Use the function lengthBytesUTF32() to compute the exact number of bytes (excluding null terminator) that this function will write. +// Parameters: +// str: the Javascript string to copy. +// outPtr: Byte address in Emscripten HEAP where to write the string to. +// maxBytesToWrite: The maximum number of bytes this function can write to the array. This count should include the null +// terminator, i.e. if maxBytesToWrite=4, only the null terminator will be written and nothing else. +// maxBytesToWrite<4 does not write any bytes to the output, not even the null terminator. +// Returns the number of bytes written, EXCLUDING the null terminator. + +function stringToUTF32(str, outPtr, maxBytesToWrite) { + assert(outPtr % 4 == 0, 'Pointer passed to stringToUTF32 must be aligned to four bytes!'); + assert(typeof maxBytesToWrite == 'number', 'stringToUTF32(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!'); + // Backwards compatibility: if max bytes is not specified, assume unsafe unbounded write is allowed. + if (maxBytesToWrite === undefined) { + maxBytesToWrite = 0x7FFFFFFF; + } + if (maxBytesToWrite < 4) return 0; + var startPtr = outPtr; + var endPtr = startPtr + maxBytesToWrite - 4; + for (var i = 0; i < str.length; ++i) { + // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code unit, not a Unicode code point of the character! We must decode the string to UTF-32 to the heap. + // See http://unicode.org/faq/utf_bom.html#utf16-3 + var codeUnit = str.charCodeAt(i); // possibly a lead surrogate + if (codeUnit >= 0xD800 && codeUnit <= 0xDFFF) { + var trailSurrogate = str.charCodeAt(++i); + codeUnit = 0x10000 + ((codeUnit & 0x3FF) << 10) | (trailSurrogate & 0x3FF); + } + HEAP32[((outPtr)>>2)]=codeUnit; + outPtr += 4; + if (outPtr + 4 > endPtr) break; + } + // Null-terminate the pointer to the HEAP. + HEAP32[((outPtr)>>2)]=0; + return outPtr - startPtr; +} + + +// Returns the number of bytes the given Javascript string takes if encoded as a UTF16 byte array, EXCLUDING the null terminator byte. + +function lengthBytesUTF32(str) { + var len = 0; + for (var i = 0; i < str.length; ++i) { + // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code unit, not a Unicode code point of the character! We must decode the string to UTF-32 to the heap. + // See http://unicode.org/faq/utf_bom.html#utf16-3 + var codeUnit = str.charCodeAt(i); + if (codeUnit >= 0xD800 && codeUnit <= 0xDFFF) ++i; // possibly a lead surrogate, so skip over the tail surrogate. + len += 4; + } + + return len; +} + + +function demangle(func) { + var __cxa_demangle_func = Module['___cxa_demangle'] || Module['__cxa_demangle']; + if (__cxa_demangle_func) { + try { + var s = + func.substr(1); + var len = lengthBytesUTF8(s)+1; + var buf = _malloc(len); + stringToUTF8(s, buf, len); + var status = _malloc(4); + var ret = __cxa_demangle_func(buf, 0, 0, status); + if (getValue(status, 'i32') === 0 && ret) { + return Pointer_stringify(ret); + } + // otherwise, libcxxabi failed + } catch(e) { + // ignore problems here + } finally { + if (buf) _free(buf); + if (status) _free(status); + if (ret) _free(ret); + } + // failure when using libcxxabi, don't demangle + return func; + } + Runtime.warnOnce('warning: build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling'); + return func; +} + +function demangleAll(text) { + var regex = + /__Z[\w\d_]+/g; + return text.replace(regex, + function(x) { + var y = demangle(x); + return x === y ? x : (x + ' [' + y + ']'); + }); +} + +function jsStackTrace() { + var err = new Error(); + if (!err.stack) { + // IE10+ special cases: It does have callstack info, but it is only populated if an Error object is thrown, + // so try that as a special-case. + try { + throw new Error(0); + } catch(e) { + err = e; + } + if (!err.stack) { + return '(no stack trace available)'; + } + } + return err.stack.toString(); +} + +function stackTrace() { + var js = jsStackTrace(); + if (Module['extraStackTrace']) js += '\n' + Module['extraStackTrace'](); + return demangleAll(js); +} +Module["stackTrace"] = stackTrace; + +// Memory management + +var PAGE_SIZE = 16384; +var WASM_PAGE_SIZE = 65536; +var ASMJS_PAGE_SIZE = 16777216; +var MIN_TOTAL_MEMORY = 16777216; + +function alignUp(x, multiple) { + if (x % multiple > 0) { + x += multiple - (x % multiple); + } + return x; +} + +var HEAP; +var buffer; +var HEAP8, HEAPU8, HEAP16, HEAPU16, HEAP32, HEAPU32, HEAPF32, HEAPF64; + +function updateGlobalBuffer(buf) { + Module['buffer'] = buffer = buf; +} + +function updateGlobalBufferViews() { + Module['HEAP8'] = HEAP8 = new Int8Array(buffer); + Module['HEAP16'] = HEAP16 = new Int16Array(buffer); + Module['HEAP32'] = HEAP32 = new Int32Array(buffer); + Module['HEAPU8'] = HEAPU8 = new Uint8Array(buffer); + Module['HEAPU16'] = HEAPU16 = new Uint16Array(buffer); + Module['HEAPU32'] = HEAPU32 = new Uint32Array(buffer); + Module['HEAPF32'] = HEAPF32 = new Float32Array(buffer); + Module['HEAPF64'] = HEAPF64 = new Float64Array(buffer); +} + +var STATIC_BASE, STATICTOP, staticSealed; // static area +var STACK_BASE, STACKTOP, STACK_MAX; // stack area +var DYNAMIC_BASE, DYNAMICTOP_PTR; // dynamic area handled by sbrk + + STATIC_BASE = STATICTOP = STACK_BASE = STACKTOP = STACK_MAX = DYNAMIC_BASE = DYNAMICTOP_PTR = 0; + staticSealed = false; + + +// Initializes the stack cookie. Called at the startup of main and at the startup of each thread in pthreads mode. +function writeStackCookie() { + assert((STACK_MAX & 3) == 0); + HEAPU32[(STACK_MAX >> 2)-1] = 0x02135467; + HEAPU32[(STACK_MAX >> 2)-2] = 0x89BACDFE; +} + +function checkStackCookie() { + if (HEAPU32[(STACK_MAX >> 2)-1] != 0x02135467 || HEAPU32[(STACK_MAX >> 2)-2] != 0x89BACDFE) { + abort('Stack overflow! Stack cookie has been overwritten, expected hex dwords 0x89BACDFE and 0x02135467, but received 0x' + HEAPU32[(STACK_MAX >> 2)-2].toString(16) + ' ' + HEAPU32[(STACK_MAX >> 2)-1].toString(16)); + } + // Also test the global address 0 for integrity. This check is not compatible with SAFE_SPLIT_MEMORY though, since that mode already tests all address 0 accesses on its own. + if (HEAP32[0] !== 0x63736d65 /* 'emsc' */) throw 'Runtime error: The application has corrupted its heap memory area (address zero)!'; +} + +function abortStackOverflow(allocSize) { + abort('Stack overflow! Attempted to allocate ' + allocSize + ' bytes on the stack, but stack has only ' + (STACK_MAX - asm.stackSave() + allocSize) + ' bytes available!'); +} + +function abortOnCannotGrowMemory() { + abort('Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value ' + TOTAL_MEMORY + ', (2) compile with -s ALLOW_MEMORY_GROWTH=1 which adjusts the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 '); +} + + +function enlargeMemory() { + abortOnCannotGrowMemory(); +} + + +var TOTAL_STACK = Module['TOTAL_STACK'] || 5242880; +var TOTAL_MEMORY = Module['TOTAL_MEMORY'] || 16777216; +if (TOTAL_MEMORY < TOTAL_STACK) Module.printErr('TOTAL_MEMORY should be larger than TOTAL_STACK, was ' + TOTAL_MEMORY + '! (TOTAL_STACK=' + TOTAL_STACK + ')'); + +// Initialize the runtime's memory +// check for full engine support (use string 'subarray' to avoid closure compiler confusion) +assert(typeof Int32Array !== 'undefined' && typeof Float64Array !== 'undefined' && !!(new Int32Array(1)['subarray']) && !!(new Int32Array(1)['set']), + 'JS engine does not provide full typed array support'); + + + +// Use a provided buffer, if there is one, or else allocate a new one +if (Module['buffer']) { + buffer = Module['buffer']; + assert(buffer.byteLength === TOTAL_MEMORY, 'provided buffer should be ' + TOTAL_MEMORY + ' bytes, but it is ' + buffer.byteLength); +} else { + // Use a WebAssembly memory where available + { + buffer = new ArrayBuffer(TOTAL_MEMORY); + } + assert(buffer.byteLength === TOTAL_MEMORY); +} +updateGlobalBufferViews(); + + +function getTotalMemory() { + return TOTAL_MEMORY; +} + +// Endianness check (note: assumes compiler arch was little-endian) + HEAP32[0] = 0x63736d65; /* 'emsc' */ +HEAP16[1] = 0x6373; +if (HEAPU8[2] !== 0x73 || HEAPU8[3] !== 0x63) throw 'Runtime error: expected the system to be little-endian!'; + +Module['HEAP'] = HEAP; +Module['buffer'] = buffer; +Module['HEAP8'] = HEAP8; +Module['HEAP16'] = HEAP16; +Module['HEAP32'] = HEAP32; +Module['HEAPU8'] = HEAPU8; +Module['HEAPU16'] = HEAPU16; +Module['HEAPU32'] = HEAPU32; +Module['HEAPF32'] = HEAPF32; +Module['HEAPF64'] = HEAPF64; + +function callRuntimeCallbacks(callbacks) { + while(callbacks.length > 0) { + var callback = callbacks.shift(); + if (typeof callback == 'function') { + callback(); + continue; + } + var func = callback.func; + if (typeof func === 'number') { + if (callback.arg === undefined) { + Module['dynCall_v'](func); + } else { + Module['dynCall_vi'](func, callback.arg); + } + } else { + func(callback.arg === undefined ? null : callback.arg); + } + } +} + +var __ATPRERUN__ = []; // functions called before the runtime is initialized +var __ATINIT__ = []; // functions called during startup +var __ATMAIN__ = []; // functions called when main() is to be run +var __ATEXIT__ = []; // functions called during shutdown +var __ATPOSTRUN__ = []; // functions called after the runtime has exited + +var runtimeInitialized = false; +var runtimeExited = false; + + +function preRun() { + // compatibility - merge in anything from Module['preRun'] at this time + if (Module['preRun']) { + if (typeof Module['preRun'] == 'function') Module['preRun'] = [Module['preRun']]; + while (Module['preRun'].length) { + addOnPreRun(Module['preRun'].shift()); + } + } + callRuntimeCallbacks(__ATPRERUN__); +} + +function ensureInitRuntime() { + checkStackCookie(); + if (runtimeInitialized) return; + runtimeInitialized = true; + callRuntimeCallbacks(__ATINIT__); +} + +function preMain() { + checkStackCookie(); + callRuntimeCallbacks(__ATMAIN__); +} + +function exitRuntime() { + checkStackCookie(); + callRuntimeCallbacks(__ATEXIT__); + runtimeExited = true; +} + +function postRun() { + checkStackCookie(); + // compatibility - merge in anything from Module['postRun'] at this time + if (Module['postRun']) { + if (typeof Module['postRun'] == 'function') Module['postRun'] = [Module['postRun']]; + while (Module['postRun'].length) { + addOnPostRun(Module['postRun'].shift()); + } + } + callRuntimeCallbacks(__ATPOSTRUN__); +} + +function addOnPreRun(cb) { + __ATPRERUN__.unshift(cb); +} +Module["addOnPreRun"] = addOnPreRun; + +function addOnInit(cb) { + __ATINIT__.unshift(cb); +} +Module["addOnInit"] = addOnInit; + +function addOnPreMain(cb) { + __ATMAIN__.unshift(cb); +} +Module["addOnPreMain"] = addOnPreMain; + +function addOnExit(cb) { + __ATEXIT__.unshift(cb); +} +Module["addOnExit"] = addOnExit; + +function addOnPostRun(cb) { + __ATPOSTRUN__.unshift(cb); +} +Module["addOnPostRun"] = addOnPostRun; + +// Tools + + +function intArrayFromString(stringy, dontAddNull, length /* optional */) { + var len = length > 0 ? length : lengthBytesUTF8(stringy)+1; + var u8array = new Array(len); + var numBytesWritten = stringToUTF8Array(stringy, u8array, 0, u8array.length); + if (dontAddNull) u8array.length = numBytesWritten; + return u8array; +} +Module["intArrayFromString"] = intArrayFromString; + +function intArrayToString(array) { + var ret = []; + for (var i = 0; i < array.length; i++) { + var chr = array[i]; + if (chr > 0xFF) { + assert(false, 'Character code ' + chr + ' (' + String.fromCharCode(chr) + ') at offset ' + i + ' not in 0x00-0xFF.'); + chr &= 0xFF; + } + ret.push(String.fromCharCode(chr)); + } + return ret.join(''); +} +Module["intArrayToString"] = intArrayToString; + +// Deprecated: This function should not be called because it is unsafe and does not provide +// a maximum length limit of how many bytes it is allowed to write. Prefer calling the +// function stringToUTF8Array() instead, which takes in a maximum length that can be used +// to be secure from out of bounds writes. +function writeStringToMemory(string, buffer, dontAddNull) { + Runtime.warnOnce('writeStringToMemory is deprecated and should not be called! Use stringToUTF8() instead!'); + + var lastChar, end; + if (dontAddNull) { + // stringToUTF8Array always appends null. If we don't want to do that, remember the + // character that existed at the location where the null will be placed, and restore + // that after the write (below). + end = buffer + lengthBytesUTF8(string); + lastChar = HEAP8[end]; + } + stringToUTF8(string, buffer, Infinity); + if (dontAddNull) HEAP8[end] = lastChar; // Restore the value under the null character. +} +Module["writeStringToMemory"] = writeStringToMemory; + +function writeArrayToMemory(array, buffer) { + assert(array.length >= 0, 'writeArrayToMemory array must have a length (should be an array or typed array)') + HEAP8.set(array, buffer); +} +Module["writeArrayToMemory"] = writeArrayToMemory; + +function writeAsciiToMemory(str, buffer, dontAddNull) { + for (var i = 0; i < str.length; ++i) { + assert(str.charCodeAt(i) === str.charCodeAt(i)&0xff); + HEAP8[((buffer++)>>0)]=str.charCodeAt(i); + } + // Null-terminate the pointer to the HEAP. + if (!dontAddNull) HEAP8[((buffer)>>0)]=0; +} +Module["writeAsciiToMemory"] = writeAsciiToMemory; + +function unSign(value, bits, ignore) { + if (value >= 0) { + return value; + } + return bits <= 32 ? 2*Math.abs(1 << (bits-1)) + value // Need some trickery, since if bits == 32, we are right at the limit of the bits JS uses in bitshifts + : Math.pow(2, bits) + value; +} +function reSign(value, bits, ignore) { + if (value <= 0) { + return value; + } + var half = bits <= 32 ? Math.abs(1 << (bits-1)) // abs is needed if bits == 32 + : Math.pow(2, bits-1); + if (value >= half && (bits <= 32 || value > half)) { // for huge values, we can hit the precision limit and always get true here. so don't do that + // but, in general there is no perfect solution here. With 64-bit ints, we get rounding and errors + // TODO: In i64 mode 1, resign the two parts separately and safely + value = -2*half + value; // Cannot bitshift half, as it may be at the limit of the bits JS uses in bitshifts + } + return value; +} + + +// check for imul support, and also for correctness ( https://bugs.webkit.org/show_bug.cgi?id=126345 ) +if (!Math['imul'] || Math['imul'](0xffffffff, 5) !== -5) Math['imul'] = function imul(a, b) { + var ah = a >>> 16; + var al = a & 0xffff; + var bh = b >>> 16; + var bl = b & 0xffff; + return (al*bl + ((ah*bl + al*bh) << 16))|0; +}; +Math.imul = Math['imul']; + + +if (!Math['clz32']) Math['clz32'] = function(x) { + x = x >>> 0; + for (var i = 0; i < 32; i++) { + if (x & (1 << (31 - i))) return i; + } + return 32; +}; +Math.clz32 = Math['clz32'] + +if (!Math['trunc']) Math['trunc'] = function(x) { + return x < 0 ? Math.ceil(x) : Math.floor(x); +}; +Math.trunc = Math['trunc']; + +var Math_abs = Math.abs; +var Math_cos = Math.cos; +var Math_sin = Math.sin; +var Math_tan = Math.tan; +var Math_acos = Math.acos; +var Math_asin = Math.asin; +var Math_atan = Math.atan; +var Math_atan2 = Math.atan2; +var Math_exp = Math.exp; +var Math_log = Math.log; +var Math_sqrt = Math.sqrt; +var Math_ceil = Math.ceil; +var Math_floor = Math.floor; +var Math_pow = Math.pow; +var Math_imul = Math.imul; +var Math_fround = Math.fround; +var Math_round = Math.round; +var Math_min = Math.min; +var Math_clz32 = Math.clz32; +var Math_trunc = Math.trunc; + +// A counter of dependencies for calling run(). If we need to +// do asynchronous work before running, increment this and +// decrement it. Incrementing must happen in a place like +// PRE_RUN_ADDITIONS (used by emcc to add file preloading). +// Note that you can add dependencies in preRun, even though +// it happens right before run - run will be postponed until +// the dependencies are met. +var runDependencies = 0; +var runDependencyWatcher = null; +var dependenciesFulfilled = null; // overridden to take different actions when all run dependencies are fulfilled +var runDependencyTracking = {}; + +function getUniqueRunDependency(id) { + var orig = id; + while (1) { + if (!runDependencyTracking[id]) return id; + id = orig + Math.random(); + } + return id; +} + +function addRunDependency(id) { + runDependencies++; + if (Module['monitorRunDependencies']) { + Module['monitorRunDependencies'](runDependencies); + } + if (id) { + assert(!runDependencyTracking[id]); + runDependencyTracking[id] = 1; + if (runDependencyWatcher === null && typeof setInterval !== 'undefined') { + // Check for missing dependencies every few seconds + runDependencyWatcher = setInterval(function() { + if (ABORT) { + clearInterval(runDependencyWatcher); + runDependencyWatcher = null; + return; + } + var shown = false; + for (var dep in runDependencyTracking) { + if (!shown) { + shown = true; + Module.printErr('still waiting on run dependencies:'); + } + Module.printErr('dependency: ' + dep); + } + if (shown) { + Module.printErr('(end of list)'); + } + }, 10000); + } + } else { + Module.printErr('warning: run dependency added without ID'); + } +} +Module["addRunDependency"] = addRunDependency; + +function removeRunDependency(id) { + runDependencies--; + if (Module['monitorRunDependencies']) { + Module['monitorRunDependencies'](runDependencies); + } + if (id) { + assert(runDependencyTracking[id]); + delete runDependencyTracking[id]; + } else { + Module.printErr('warning: run dependency removed without ID'); + } + if (runDependencies == 0) { + if (runDependencyWatcher !== null) { + clearInterval(runDependencyWatcher); + runDependencyWatcher = null; + } + if (dependenciesFulfilled) { + var callback = dependenciesFulfilled; + dependenciesFulfilled = null; + callback(); // can add another dependenciesFulfilled + } + } +} +Module["removeRunDependency"] = removeRunDependency; + +Module["preloadedImages"] = {}; // maps url to image data +Module["preloadedAudios"] = {}; // maps url to audio data + + + +var memoryInitializer = null; + + + + + + +// === Body === + +var ASM_CONSTS = [function($0, $1) { { Module.printErr('bad name in getProcAddress: ' + [Pointer_stringify($0), Pointer_stringify($1)]); } }]; + +function _emscripten_asm_const_iii(code, a0, a1) { + return ASM_CONSTS[code](a0, a1); +} + + + +STATIC_BASE = 8; + +STATICTOP = STATIC_BASE + 27520; + /* global initializers */ __ATINIT__.push(); + + +/* memory initializer */ allocate([255,255,255,255,255,255,255,255,16,0,0,0,16,0,0,0,16,0,0,0,16,0,0,0,0,0,32,66,0,0,150,67,255,255,255,255,4,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,32,0,0,176,1,0,0,0,0,0,0,0,0,0,32,37,249,142,0,10,2,0,0,128,190,125,95,244,125,31,160,242,43,74,30,9,82,8,0,64,34,65,80,20,4,16,32,32,41,46,18,8,34,8,0,32,34,65,80,20,4,16,32,32,249,16,76,8,250,62,60,16,34,125,222,247,125,16,32,32,161,232,50,8,34,8,0,8,34,5,16,4,69,16,0,240,163,164,50,8,82,8,0,4,34,5,16,4,69,16,32,32,249,226,94,8,2,0,129,2,62,125,31,244,125,16,0,0,32,0,0,176,1,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,190,15,0,192,15,224,247,251,125,126,191,95,232,190,80,0,162,8,8,68,232,47,20,10,133,2,129,80,72,160,80,0,162,40,228,73,40,40,20,10,132,2,129,64,72,160,72,0,190,15,2,16,175,235,247,9,132,62,159,216,79,160,71,0,34,136,228,9,161,42,20,10,132,2,129,80,72,160,72,0,34,40,8,4,160,47,20,10,133,2,129,80,72,162,80,0,190,143,0,0,33,32,244,251,125,126,129,95,232,156,208,7,0,128,0,0,224,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,1,12,0,130,66,191,223,239,247,251,11,5,5,133,66,191,4,72,0,198,66,161,80,40,20,64,8,5,37,133,66,160,8,168,0,170,70,161,80,40,20,64,8,5,37,133,66,144,16,8,0,146,74,161,95,232,247,67,8,5,37,121,126,136,32,8,0,130,82,161,64,40,1,66,8,137,36,133,64,132,64,8,0,130,98,161,64,42,2,66,8,81,36,133,64,130,128,8,0,130,66,191,192,47,244,67,248,33,252,133,126,191,0,9,62,0,0,0,0,4,0,0,0,0,0,0,0,128,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,0,4,0,32,72,65,0,0,0,0,0,8,0,0,4,4,0,4,60,32,0,65,0,0,0,0,0,8,0,0,240,125,223,247,133,239,75,81,190,239,251,190,239,59,81,4,0,69,65,20,133,40,74,73,170,40,138,162,32,8,81,4,240,69,65,244,157,40,74,71,170,40,138,162,224,11,81,4,16,69,65,20,132,40,74,73,170,40,138,162,0,10,145,2,240,125,223,247,133,47,74,209,170,232,251,190,224,123,31,1,0,0,0,0,4,8,64,0,0,0,8,32,0,0,0,0,0,0,0,0,132,15,96,0,0,0,8,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,172,1,15,0,0,0,0,0,0,0,0,0,0,0,0,0,36,1,9,0,0,0,0,0,0,0,0,0,6,0,0,0,36,1,9,0,0,0,0,0,0,0,128,16,9,162,40,250,36,1,9,0,0,0,0,0,0,0,0,62,1,42,37,66,34,82,9,0,0,0,0,0,0,0,128,138,3,42,34,34,36,41,9,0,0,0,0,0,0,0,128,10,1,42,37,18,36,1,9,0,0,0,0,0,0,0,128,10,1,190,232,251,36,1,9,0,0,0,0,0,0,0,128,190,14,0,0,2,172,1,15,0,0,0,0,0,0,0,128,4,0,0,224,3,0,0,0,0,0,0,0,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,0,0,0,14,184,67,132,3,58,32,0,128,160,190,2,32,0,0,240,138,32,82,196,2,43,32,4,34,145,2,248,59,0,240,7,142,56,75,228,2,58,32,2,28,138,30,8,42,233,17,4,224,11,66,244,2,130,36,1,20,4,20,232,186,4,209,5,128,184,195,231,10,58,137,0,28,14,60,40,2,9,80,4,128,0,64,196,2,128,68,0,34,132,32,232,2,0,80,4,0,0,64,128,2,0,32,5,0,142,62,8,2,0,16,4,224,3,64,128,66,0,0,7,0,132,0,248,3,0,240,7,0,0,64,128,34,0,0,4,0,0,0,0,0,0,0,0,0,0,64,128,2,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,128,0,194,160,72,24,0,0,1,132,33,9,146,2,66,38,4,1,33,81,0,0,127,63,2,66,2,16,41,0,34,20,192,239,247,251,253,126,9,161,223,239,247,187,187,3,18,15,68,40,20,10,133,66,9,129,64,32,16,16,17,1,8,4,68,40,20,10,133,66,127,129,64,32,16,16,17,1,4,130,199,239,247,251,253,126,9,129,207,231,243,17,17,1,50,169,80,40,20,10,133,66,9,161,64,32,16,16,17,1,64,184,80,40,20,10,133,66,121,191,223,239,247,187,187,3,32,160,31,0,0,0,0,0,0,16,0,0,0,0,0,0,112,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,2,8,131,34,1,0,2,8,67,2,1,0,1,1,124,20,4,132,68,1,0,32,4,132,4,128,8,63,130,0,132,66,191,223,239,247,3,126,161,80,40,20,10,33,0,0,132,70,161,80,40,20,138,82,161,80,40,20,122,161,239,3,158,74,161,80,40,20,82,82,161,80,40,20,74,31,8,2,132,82,161,80,40,20,34,74,161,80,40,244,75,161,239,3,132,98,161,80,40,20,82,74,161,80,40,4,122,161,40,2,124,66,191,223,239,247,139,126,191,223,239,247,11,189,239,3,0,0,0,0,0,0,0,4,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,5,32,0,0,4,132,0,34,129,69,17,16,66,1,0,148,66,81,0,0,8,66,81,148,42,162,32,8,165,80,0,0,0,32,0,0,0,0,0,0,0,5,0,0,0,0,8,190,239,251,254,251,190,239,251,20,145,235,251,190,239,251,0,32,8,130,32,10,162,40,138,20,145,40,138,162,40,138,62,190,239,251,254,11,190,239,251,20,145,40,138,162,40,138,0,162,40,138,34,8,130,32,8,20,145,40,138,162,40,138,8,190,239,251,254,251,190,239,251,20,145,47,250,190,239,251,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,33,0,4,0,0,0,0,0,0,0,0,0,0,0,0,130,80,20,2,20,0,0,0,0,0,0,0,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,190,40,138,162,40,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,168,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,190,239,251,190,47,62,0,0,0,0,0,0,0,0,0,0,4,0,0,0,40,32,0,0,0,0,0,0,0,0,0,0,0,0,0,128,15,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,1,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,2,0,0,0,7,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,2,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,7,0,0,0,1,0,0,0,5,0,0,0,3,0,0,0,7,0,0,0,3,0,0,0,5,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,5,0,0,0,6,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,9,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,5,0,0,0,255,255,255,255,0,1,0,0,255,255,255,255,0,0,128,191,1,1,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,13,0,0,0,15,0,0,0,17,0,0,0,19,0,0,0,23,0,0,0,27,0,0,0,31,0,0,0,35,0,0,0,43,0,0,0,51,0,0,0,59,0,0,0,67,0,0,0,83,0,0,0,99,0,0,0,115,0,0,0,131,0,0,0,163,0,0,0,195,0,0,0,227,0,0,0,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,9,0,0,0,9,0,0,0,10,0,0,0,10,0,0,0,11,0,0,0,11,0,0,0,12,0,0,0,12,0,0,0,13,0,0,0,13,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,7,0,0,0,9,0,0,0,13,0,0,0,17,0,0,0,25,0,0,0,33,0,0,0,49,0,0,0,65,0,0,0,97,0,0,0,129,0,0,0,193,0,0,0,1,1,0,0,129,1,0,0,1,2,0,0,1,3,0,0,1,4,0,0,1,6,0,0,1,8,0,0,1,12,0,0,1,16,0,0,1,24,0,0,1,32,0,0,1,48,0,0,1,64,0,0,1,96,0,0,0,0,0,0,0,0,0,0,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,171,170,42,63,0,0,0,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,192,63,0,0,0,64,0,0,0,0,0,0,128,191,0,0,0,192,0,0,128,192,0,0,0,193,0,0,128,193,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,63,0,0,0,64,0,0,128,64,0,0,0,65,0,0,128,65,0,0,0,0,0,0,0,0,172,95,0,0,0,1,0,0,128,0,0,0,86,0,0,0,64,0,0,0,62,180,228,51,9,145,243,51,139,178,1,52,60,32,10,52,35,26,19,52,96,169,28,52,167,215,38,52,75,175,49,52,80,59,61,52,112,135,73,52,35,160,86,52,184,146,100,52,85,109,115,52,136,159,129,52,252,11,138,52,147,4,147,52,105,146,156,52,50,191,166,52,63,149,177,52,147,31,189,52,228,105,201,52,173,128,214,52,54,113,228,52,166,73,243,52,136,140,1,53,192,247,9,53,6,239,18,53,118,123,28,53,192,166,38,53,55,123,49,53,218,3,61,53,94,76,73,53,59,97,86,53,185,79,100,53,252,37,115,53,138,121,129,53,134,227,137,53,124,217,146,53,133,100,156,53,82,142,166,53,51,97,177,53,37,232,188,53,220,46,201,53,206,65,214,53,65,46,228,53,87,2,243,53,143,102,1,54,79,207,9,54,245,195,18,54,152,77,28,54,232,117,38,54,50,71,49,54,116,204,60,54,94,17,73,54,101,34,86,54,206,12,100,54,184,222,114,54,151,83,129,54,28,187,137,54,114,174,146,54,175,54,156,54,129,93,166,54,53,45,177,54,199,176,188,54,228,243,200,54,1,3,214,54,96,235,227,54,30,187,242,54,162,64,1,55,235,166,9,55,241,152,18,55,201,31,28,55,30,69,38,55,61,19,49,55,30,149,60,55,111,214,72,55,162,227,85,55,247,201,99,55,137,151,114,55,175,45,129,55,190,146,137,55,116,131,146,55,230,8,156,55,190,44,166,55,71,249,176,55,121,121,188,55,254,184,200,55,71,196,213,55,146,168,227,55,248,115,242,55,192,26,1,56,147,126,9,56,249,109,18,56,6,242,27,56,98,20,38,56,86,223,48,56,216,93,60,56,146,155,72,56,242,164,85,56,51,135,99,56,110,80,114,56,211,7,129,56,107,106,137,56,130,88,146,56,42,219,155,56,9,252,165,56,104,197,176,56,59,66,188,56,41,126,200,56,160,133,213,56,217,101,227,56,232,44,242,56,233,244,0,57,70,86,9,57,14,67,18,57,81,196,27,57,181,227,37,57,127,171,48,57,162,38,60,57,197,96,72,57,83,102,85,57,131,68,99,57,104,9,114,57,1,226,128,57,36,66,137,57,157,45,146,57,123,173,155,57,99,203,165,57,153,145,176,57,13,11,188,57,102,67,200,57,11,71,213,57,50,35,227,57,237,229,241,57,29,207,0,58,5,46,9,58,48,24,18,58,169,150,27,58,21,179,37,58,183,119,48,58,124,239,59,58,10,38,72,58,199,39,85,58,230,1,99,58,120,194,113,58,59,188,128,58,233,25,137,58,198,2,146,58,219,127,155,58,203,154,165,58,216,93,176,58,239,211,187,58,179,8,200,58,136,8,213,58,159,224,226,58,7,159,241,58,92,169,0,59,208,5,9,59,94,237,17,59,15,105,27,59,132,130,37,59,253,67,48,59,103,184,59,59,97,235,71,59,77,233,84,59,93,191,98,59,156,123,113,59,127,150,128,59,186,241,136,59,249,215,145,59,71,82,155,59,65,106,165,59,39,42,176,59,226,156,187,59,18,206,199,59,23,202,212,59,32,158,226,59,53,88,241,59,166,131,0,60,167,221,8,60,152,194,17,60,130,59,27,60,1,82,37,60,84,16,48,60,97,129,59,60,200,176,71,60,229,170,84,60,232,124,98,60,212,52,113,60,207,112,128,60,150,201,136,60,58,173,145,60,192,36,155,60,197,57,165,60,133,246,175,60,229,101,187,60,130,147,199,60,185,139,212,60,180,91,226,60,121,17,241,60,251,93,0,61,137,181,8,61,223,151,17,61,2,14,27,61,141,33,37,61,185,220,47,61,109,74,59,61,64,118,71,61,145,108,84,61,133,58,98,61,34,238,112,61,42,75,128,61,127,161,136,61,136,130,145,61,72,247,154,61,88,9,165,61,242,194,175,61,248,46,187,61,3,89,199,61,109,77,212,61,92,25,226,61,209,202,240,61,91,56,0,62,119,141,8,62,51,109,17,62,144,224,26,62,39,241,36,62,46,169,47,62,135,19,59,62,202,59,71,62,77,46,84,62,55,248,97,62,132,167,112,62,143,37,128,62,115,121,136,62,226,87,145,62,220,201,154,62,249,216,164,62,109,143,175,62,27,248,186,62,149,30,199,62,51,15,212,62,23,215,225,62,61,132,240,62,198,18,0,63,114,101,8,63,147,66,17,63,43,179,26,63,206,192,36,63,177,117,47,63,178,220,58,63,101,1,71,63,29,240,83,63,251,181,97,63,251,96,112,63,0,0,128,63,79,103,103,83,100,18,0,0,5,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,107,103,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,124,95,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,216,19,0,0,5,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,2,0,0,0,115,103,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,216,19,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,176,6,80,6,245,5,160,5,77,5,1,5,185,4,117,4,53,4,249,3,193,3,139,3,88,3,74,85,83,84,32,68,79,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,114,101,115,111,117,114,99,101,115,47,119,105,110,46,119,97,118,0,114,101,115,111,117,114,99,101,115,47,97,109,98,105,101,110,116,46,111,103,103,0,65,32,115,105,109,112,108,101,32,97,110,100,32,101,97,115,121,45,116,111,45,117,115,101,32,108,105,98,114,97,114,121,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,116,111,32,108,101,97,114,110,32,118,105,100,101,111,103,97,109,101,115,32,112,114,111,103,114,97,109,109,105,110,103,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,32,32,32,32,32,32,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,85,0,79,0,74,85,83,84,32,68,79,0,74,0,83,84,32,68,0,98,121,32,82,65,77,79,78,32,83,65,78,84,65,77,65,82,73,65,32,40,64,114,97,121,115,97,110,53,41,0,76,69,86,69,76,32,48,48,0,76,69,86,69,76,32,48,49,0,76,69,86,69,76,32,48,50,0,76,69,86,69,76,32,48,51,0,76,69,86,69,76,32,48,52,0,76,69,86,69,76,32,48,53,0,76,69,86,69,76,32,48,54,0,76,69,86,69,76,32,48,55,0,76,69,86,69,76,32,48,56,0,76,69,86,69,76,32,48,57,0,68,79,78,69,33,32,40,83,101,99,111,110,100,115,58,32,37,48,51,105,41,0,68,79,78,69,33,32,40,83,101,99,111,110,100,115,58,32,48,48,48,41,0,73,110,105,116,105,97,108,105,122,105,110,103,32,114,97,121,108,105,98,32,40,118,49,46,55,46,48,41,0,35,99,97,110,118,97,115,0,84,97,114,103,101,116,32,116,105,109,101,32,112,101,114,32,102,114,97,109,101,58,32,37,48,50,46,48,51,102,32,109,105,108,108,105,115,101,99,111,110,100,115,0,69,115,99,97,112,101,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,102,117,108,108,115,99,114,101,101,110,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,119,105,110,100,111,119,101,100,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,91,84,69,88,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,102,111,110,116,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,84,69,88,32,37,105,93,32,80,97,114,97,109,101,116,101,114,115,58,32,37,105,120,37,105,44,32,37,105,32,109,105,112,115,44,32,102,111,114,109,97,116,32,37,105,0,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,50,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,84,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,84,101,120,116,117,114,101,32,99,114,101,97,116,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,84,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,99,114,101,97,116,101,100,0,73,109,97,103,101,32,100,97,116,97,32,102,111,114,109,97,116,32,105,115,32,99,111,109,112,114,101,115,115,101,100,44,32,99,97,110,32,110,111,116,32,98,101,32,99,111,110,118,101,114,116,101,100,0,70,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,102,111,114,32,112,105,120,101,108,32,100,97,116,97,32,114,101,116,114,105,101,118,97,108,0,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,71,76,70,87,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,77,83,65,65,32,120,52,0,67,108,111,115,101,115,116,32,102,117,108,108,115,99,114,101,101,110,32,118,105,100,101,111,109,111,100,101,58,32,37,105,32,120,32,37,105,0,71,76,70,87,32,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,87,105,110,100,111,119,0,68,105,115,112,108,97,121,32,100,101,118,105,99,101,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,82,101,110,100,101,114,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,83,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,86,105,101,119,112,111,114,116,32,111,102,102,115,101,116,115,58,32,37,105,44,32,37,105,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,86,83,89,78,67,0,71,80,85,58,32,86,101,110,100,111,114,58,32,32,32,37,115,0,71,80,85,58,32,82,101,110,100,101,114,101,114,58,32,37,115,0,71,80,85,58,32,86,101,114,115,105,111,110,58,32,32,37,115,0,71,80,85,58,32,71,76,83,76,58,32,32,32,32,32,37,115,0,32,0,78,117,109,98,101,114,32,111,102,32,115,117,112,112,111,114,116,101,100,32,101,120,116,101,110,115,105,111,110,115,58,32,37,105,0,71,76,95,79,69,83,95,118,101,114,116,101,120,95,97,114,114,97,121,95,111,98,106,101,99,116,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,79,69,83,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,71,76,95,79,69,83,95,116,101,120,116,117,114,101,95,110,112,111,116,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,115,51,116,99,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,87,69,66,75,73,84,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,79,69,83,95,99,111,109,112,114,101,115,115,101,100,95,69,84,67,49,95,82,71,66,56,95,116,101,120,116,117,114,101,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,101,116,99,49,0,71,76,95,65,82,66,95,69,83,51,95,99,111,109,112,97,116,105,98,105,108,105,116,121,0,71,76,95,73,77,71,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,112,118,114,116,99,0,71,76,95,75,72,82,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,97,115,116,99,95,104,100,114,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,102,105,108,116,101,114,95,97,110,105,115,111,116,114,111,112,105,99,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,109,105,114,114,111,114,95,99,108,97,109,112,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,86,65,79,32,102,117,110,99,116,105,111,110,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,86,65,79,32,117,115,97,103,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,102,117,108,108,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,108,105,109,105,116,101,100,32,78,80,79,84,32,115,117,112,112,111,114,116,32,40,110,111,45,109,105,112,109,97,112,115,44,32,110,111,45,114,101,112,101,97,116,41,0,91,69,88,84,69,78,83,73,79,78,93,32,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,50,47,69,65,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,110,105,115,111,116,114,111,112,105,99,32,116,101,120,116,117,114,101,115,32,102,105,108,116,101,114,105,110,103,32,115,117,112,112,111,114,116,101,100,32,40,109,97,120,58,32,37,46,48,102,88,41,0,91,69,88,84,69,78,83,73,79,78,93,32,67,108,97,109,112,32,109,105,114,114,111,114,32,119,114,97,112,32,116,101,120,116,117,114,101,32,109,111,100,101,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,79,112,101,110,71,76,32,100,101,102,97,117,108,116,32,115,116,97,116,101,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,67,80,85,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,44,32,116,114,105,97,110,103,108,101,115,44,32,113,117,97,100,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,51,32,118,101,114,116,101,120,80,111,115,105,116,105,111,110,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,50,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,52,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,109,97,116,52,32,109,118,112,77,97,116,114,105,120,59,32,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,102,114,97,103,84,101,120,67,111,111,114,100,32,61,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,10,32,32,32,32,102,114,97,103,67,111,108,111,114,32,61,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,10,32,32,32,32,103,108,95,80,111,115,105,116,105,111,110,32,61,32,109,118,112,77,97,116,114,105,120,42,118,101,99,52,40,118,101,114,116,101,120,80,111,115,105,116,105,111,110,44,32,49,46,48,41,59,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,112,114,101,99,105,115,105,111,110,32,109,101,100,105,117,109,112,32,102,108,111,97,116,59,32,32,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,115,97,109,112,108,101,114,50,68,32,116,101,120,116,117,114,101,48,59,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,118,101,99,52,32,99,111,108,68,105,102,102,117,115,101,59,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,118,101,99,52,32,116,101,120,101,108,67,111,108,111,114,32,61,32,116,101,120,116,117,114,101,50,68,40,116,101,120,116,117,114,101,48,44,32,102,114,97,103,84,101,120,67,111,111,114,100,41,59,32,10,32,32,32,32,103,108,95,70,114,97,103,67,111,108,111,114,32,61,32,116,101,120,101,108,67,111,108,111,114,42,99,111,108,68,105,102,102,117,115,101,42,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,118,101,114,116,101,120,80,111,115,105,116,105,111,110,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,50,0,118,101,114,116,101,120,78,111,114,109,97,108,0,118,101,114,116,101,120,84,97,110,103,101,110,116,0,118,101,114,116,101,120,67,111,108,111,114,0,109,118,112,77,97,116,114,105,120,0,99,111,108,68,105,102,102,117,115,101,0,99,111,108,65,109,98,105,101,110,116,0,99,111,108,83,112,101,99,117,108,97,114,0,116,101,120,116,117,114,101,48,0,116,101,120,116,117,114,101,49,0,116,101,120,116,117,114,101,50,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,118,101,114,116,101,120,32,115,104,97,100,101,114,46,46,46,0,37,115,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,86,101,114,116,101,120,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,102,114,97,103,109,101,110,116,32,115,104,97,100,101,114,46,46,46,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,114,97,103,109,101,110,116,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,108,105,110,107,32,115,104,97,100,101,114,32,112,114,111,103,114,97,109,46,46,46,0,91,83,72,68,82,32,73,68,32,37,105,93,32,83,104,97,100,101,114,32,112,114,111,103,114,97,109,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,79,87,78,83,67,65,76,73,78,71,58,32,82,101], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE); +/* memory initializer */ allocate([113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,32,40,37,105,120,37,105,41,32,105,115,32,98,105,103,103,101,114,32,116,104,97,110,32,100,105,115,112,108,97,121,32,115,105,122,101,32,40,37,105,120,37,105,41,0,68,111,119,110,115,99,97,108,101,32,109,97,116,114,105,120,32,103,101,110,101,114,97,116,101,100,44,32,99,111,110,116,101,110,116,32,119,105,108,108,32,98,101,32,114,101,110,100,101,114,101,100,32,97,116,58,32,37,105,32,120,32,37,105,0,85,80,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,32,45,62,32,68,105,115,112,108,97,121,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,91,71,76,70,87,51,32,69,114,114,111,114,93,32,67,111,100,101,58,32,37,105,32,68,101,99,114,105,112,116,105,111,110,58,32,37,115,0,73,78,70,79,58,32,0,87,65,82,78,73,78,71,58,32,0,87,105,110,100,111,119,32,99,108,111,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,40,98,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,41,32,102,114,111,109,32,86,82,65,77,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,83,116,97,99,107,32,66,117,102,102,101,114,32,79,118,101,114,102,108,111,119,32,40,77,65,88,32,37,105,32,77,97,116,114,105,120,41,0,77,65,88,95,76,73,78,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,84,82,73,65,78,71,76,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,81,85,65,68,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,91,37,115,93,32,114,82,69,83,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,91,37,115,93,32,84,104,105,115,32,105,115,32,110,111,116,32,97,32,118,97,108,105,100,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,115,111,117,114,99,101,32,100,97,116,97,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,113,117,101,115,116,101,100,32,114,101,115,111,117,114,99,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,102,111,117,110,100,0,79,117,116,32,111,102,32,109,101,109,111,114,121,32,119,104,105,108,101,32,100,101,99,111,109,112,114,101,115,115,105,110,103,32,100,97,116,97,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,105,111,110,32,102,97,105,108,101,100,0,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,32,100,111,32,110,111,116,32,109,97,116,99,104,44,32,100,97,116,97,32,109,97,121,32,98,101,32,99,111,114,114,117,112,116,101,100,0,32,45,45,32,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,32,45,45,32,82,101,116,117,114,110,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,102,114,111,109,32,37,117,32,98,121,116,101,115,32,116,111,32,37,117,32,98,121,116,101,115,0,5,5,4,0,16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15,2,3,7,0,3,3,11,0,37,115,40,41,58,32,106,97,114,95,120,109,95,99,104,101,99,107,95,115,97,110,105,116,121,95,112,114,101,108,111,97,100,40,41,32,114,101,116,117,114,110,101,100,32,37,105,44,32,109,111,100,117,108,101,32,105,115,32,110,111,116,32,115,97,102,101,32,116,111,32,108,111,97,100,10,0,106,97,114,95,120,109,95,99,114,101,97,116,101,95,99,111,110,116,101,120,116,95,115,97,102,101,0,37,115,40,41,58,32,99,97,108,108,32,116,111,32,109,97,108,108,111,99,40,41,32,102,97,105,108,101,100,44,32,114,101,116,117,114,110,101,100,32,37,112,10,0,37,115,40,41,58,32,106,97,114,95,120,109,95,99,104,101,99,107,95,115,97,110,105,116,121,95,112,111,115,116,108,111,97,100,40,41,32,114,101,116,117,114,110,101,100,32,37,105,44,32,109,111,100,117,108,101,32,105,115,32,110,111,116,32,115,97,102,101,32,116,111,32,112,108,97,121,10,0,37,115,40,41,58,32,116,114,105,109,109,105,110,103,32,105,110,118,97,108,105,100,32,80,79,84,32,97,116,32,112,111,115,32,37,88,10,0,106,97,114,95,120,109,95,99,104,101,99,107,95,115,97,110,105,116,121,95,112,111,115,116,108,111,97,100,0,37,115,40,41,58,32,109,111,100,117,108,101,32,104,97,115,32,105,110,118,97,108,105,100,32,80,79,84,44,32,112,111,115,32,37,88,32,114,101,102,101,114,101,110,99,101,115,32,110,111,110,101,120,105,115,116,101,110,116,32,112,97,116,116,101,114,110,32,37,88,10,0,69,120,116,101,110,100,101,100,32,77,111,100,117,108,101,58,32,0,67,111,117,108,100,32,110,111,116,32,111,112,101,110,32,105,110,112,117,116,32,102,105,108,101,0,102,115,101,101,107,40,41,32,102,97,105,108,101,100,0,102,114,101,97,100,40,41,32,102,97,105,108,101,100,0,99,111,117,108,100,32,110,111,116,32,99,114,101,97,116,101,32,99,111,110,116,101,120,116,58,32,109,111,100,117,108,101,32,105,115,32,110,111,116,32,115,97,110,101,10,0,99,111,117,108,100,32,110,111,116,32,99,114,101,97,116,101,32,99,111,110,116,101,120,116,58,32,109,97,108,108,111,99,32,102,97,105,108,101,100,10,0,99,111,117,108,100,32,110,111,116,32,99,114,101,97,116,101,32,99,111,110,116,101,120,116,58,32,117,110,107,110,111,119,110,32,101,114,114,111,114,10,0,65,117,100,105,111,32,100,101,118,105,99,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,67,111,117,108,100,32,110,111,116,32,105,110,105,116,105,97,108,105,122,101,32,97,117,100,105,111,32,99,111,110,116,101,120,116,0,65,117,100,105,111,32,100,101,118,105,99,101,32,97,110,100,32,99,111,110,116,101,120,116,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,58,32,37,115,0,67,111,117,108,100,32,110,111,116,32,103,101,116,32,99,117,114,114,101,110,116,32,97,117,100,105,111,32,99,111,110,116,101,120,116,32,102,111,114,32,99,108,111,115,105,110,103,0,65,117,100,105,111,32,100,101,118,105,99,101,32,99,108,111,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,46,119,97,118,0,46,111,103,103,0,46,114,114,101,115,0,91,37,115,93,32,82,101,115,111,117,114,99,101,32,102,105,108,101,32,100,111,101,115,32,110,111,116,32,99,111,110,116,97,105,110,32,119,97,118,101,32,100,97,116,97,0,91,37,115,93,32,65,117,100,105,111,32,102,105,108,101,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,44,32,105,116,32,99,97,110,39,116,32,98,101,32,108,111,97,100,101,100,0,91,37,115,93,32,79,71,71,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,91,37,115,93,32,79,103,103,32,97,117,100,105,111,32,108,101,110,103,116,104,32,105,115,32,108,97,114,103,101,114,32,116,104,97,110,32,49,48,32,115,101,99,111,110,100,115,32,40,37,102,41,44,32,116,104,97,116,39,115,32,97,32,98,105,103,32,102,105,108,101,32,105,110,32,109,101,109,111,114,121,44,32,99,111,110,115,105,100,101,114,32,109,117,115,105,99,32,115,116,114,101,97,109,105,110,103,0,91,37,115,93,32,83,97,109,112,108,101,115,32,111,98,116,97,105,110,101,100,58,32,37,105,0,77,111,110,111,0,83,116,101,114,101,111,0,91,37,115,93,32,79,71,71,32,102,105,108,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,32,72,122,44,32,37,105,32,98,105,116,44,32,37,115,41,0,48,0,101,120,116,101,114,110,97,108,47,115,116,98,95,118,111,114,98,105,115,46,99,0,103,101,116,95,119,105,110,100,111,119,0,102,45,62,97,108,108,111,99,46,97,108,108,111,99,95,98,117,102,102,101,114,95,108,101,110,103,116,104,95,105,110,95,98,121,116,101,115,32,61,61,32,102,45,62,116,101,109,112,95,111,102,102,115,101,116,0,118,111,114,98,105,115,95,100,101,99,111,100,101,95,112,97,99,107,101,116,95,114,101,115,116,0,102,45,62,98,121,116,101,115,95,105,110,95,115,101,103,32,62,32,48,0,103,101,116,56,95,112,97,99,107,101,116,95,114,97,119,0,102,45,62,98,121,116,101,115,95,105,110,95,115,101,103,32,61,61,32,48,0,110,101,120,116,95,115,101,103,109,101,110,116,0,40,110,32,38,32,51,41,32,61,61,32,48,0,105,109,100,99,116,95,115,116,101,112,51,95,105,116,101,114,48,95,108,111,111,112,0,122,32,60,32,99,45,62,115,111,114,116,101,100,95,101,110,116,114,105,101,115,0,99,111,100,101,98,111,111,107,95,100,101,99,111,100,101,95,115,116,97,114,116,0,33,99,45,62,115,112,97,114,115,101,32,124,124,32,122,32,60,32,99,45,62,115,111,114,116,101,100,95,101,110,116,114,105,101,115,0,99,111,100,101,98,111,111,107,95,100,101,99,111,100,101,95,100,101,105,110,116,101,114,108,101,97,118,101,95,114,101,112,101,97,116,0,33,99,45,62,115,112,97,114,115,101,0,99,111,100,101,98,111,111,107,95,100,101,99,111,100,101,95,115,99,97,108,97,114,95,114,97,119,0,0,1,2,2,3,3,3,3,4,4,4,4,4,4,4,4,118,111,114,98,105,115,95,100,101,99,111,100,101,95,105,110,105,116,105,97,108,0,98,117,102,95,99,32,61,61,32,50,0,99,111,110,118,101,114,116,95,99,104,97,110,110,101,108,115,95,115,104,111,114,116,95,105,110,116,101,114,108,101,97,118,101,100,0,0,0,0,0,0,0,7,0,0,0,0,0,3,5,0,0,0,0,3,7,5,0,0,0,3,5,3,5,0,0,3,7,5,3,5,0,3,7,5,3,5,7,114,98,0,102,45,62,116,101,109,112,95,111,102,102,115,101,116,32,61,61,32,102,45,62,97,108,108,111,99,46,97,108,108,111,99,95,98,117,102,102,101,114,95,108,101,110,103,116,104,95,105,110,95,98,121,116,101,115,0,115,116,97,114,116,95,100,101,99,111,100,101,114,0,112,111,119,40,40,102,108,111,97,116,41,32,114,43,49,44,32,100,105,109,41,32,62,32,101,110,116,114,105,101,115,0,108,111,111,107,117,112,49,95,118,97,108,117,101,115,0,40,105,110,116,41,32,102,108,111,111,114,40,112,111,119,40,40,102,108,111,97,116,41,32,114,44,32,100,105,109,41,41,32,60,61,32,101,110,116,114,105,101,115,0,107,32,61,61,32,99,45,62,115,111,114,116,101,100,95,101,110,116,114,105,101,115,0,99,111,109,112,117,116,101,95,115,111,114,116,101,100,95,104,117,102,102,109,97,110,0,99,45,62,115,111,114,116,101,100,95,99,111,100,101,119,111,114,100,115,91,120,93,32,61,61,32,99,111,100,101,0,108,101,110,32,33,61,32,78,79,95,67,79,68,69,0,105,110,99,108,117,100,101,95,105,110,95,115,111,114,116,0,99,45,62,115,111,114,116,101,100,95,101,110,116,114,105,101,115,32,61,61,32,48,0,99,111,109,112,117,116,101,95,99,111,100,101,119,111,114,100,115,0,122,32,62,61,32,48,32,38,38,32,122,32,60,32,51,50,0,108,101,110,91,105,93,32,62,61,32,48,32,38,38,32,108,101,110,91,105,93,32,60,32,51,50,0,97,118,97,105,108,97,98,108,101,91,121,93,32,61,61,32,48,0,118,111,114,98,105,115,91,37,115,93,32,87,65,86,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,82,73,70,70,0,87,65,86,69,0,91,37,115,93,32,73,110,118,97,108,105,100,32,82,73,70,70,32,111,114,32,87,65,86,69,32,72,101,97,100,101,114,0,91,37,115,93,32,73,110,118,97,108,105,100,32,87,97,118,101,32,102,111,114,109,97,116,0,91,37,115,93,32,73,110,118,97,108,105,100,32,100,97,116,97,32,104,101,97,100,101,114,0,91,37,115,93,32,87,65,86,32,115,97,109,112,108,101,32,115,105,122,101,32,40,37,105,98,105,116,41,32,110,111,116,32,115,117,112,112,111,114,116,101,100,44,32,99,111,110,118,101,114,116,101,100,32,116,111,32,49,54,98,105,116,0,91,37,115,93,32,87,65,86,32,99,104,97,110,110,101,108,115,32,110,117,109,98,101,114,32,40,37,105,41,32,110,111,116,32,115,117,112,112,111,114,116,101,100,44,32,99,111,110,118,101,114,116,101,100,32,116,111,32,50,32,99,104,97,110,110,101,108,115,0,91,37,115,93,32,87,65,86,32,102,105,108,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,32,72,122,44,32,37,105,32,98,105,116,44,32,37,115,41,0,85,110,108,111,97,100,101,100,32,119,97,118,101,32,100,97,116,97,32,102,114,111,109,32,82,65,77,0,87,97,118,101,32,115,97,109,112,108,101,32,115,105,122,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,58,32,37,105,0,87,97,118,101,32,110,117,109,98,101,114,32,111,102,32,99,104,97,110,110,101,108,115,32,110,111,116,32,115,117,112,112,111,114,116,101,100,58,32,37,105,0,91,83,78,68,32,73,68,32,37,105,93,91,66,85,70,82,32,73,68,32,37,105,93,32,83,111,117,110,100,32,100,97,116,97,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,32,72,122,44,32,37,105,32,98,105,116,44,32,37,115,41,0,91,83,78,68,32,73,68,32,37,105,93,91,66,85,70,82,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,115,111,117,110,100,32,100,97,116,97,32,102,114,111,109,32,82,65,77,0,91,37,115,93,32,79,71,71,32,97,117,100,105,111,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,91,37,115,93,32,70,76,65,67,32,116,111,116,97,108,32,115,97,109,112,108,101,115,58,32,37,105,0,91,37,115,93,32,79,71,71,32,115,97,109,112,108,101,32,114,97,116,101,58,32,37,105,0,91,37,115,93,32,79,71,71,32,99,104,97,110,110,101,108,115,58,32,37,105,0,91,37,115,93,32,79,71,71,32,109,101,109,111,114,121,32,114,101,113,117,105,114,101,100,58,32,37,105,0,46,120,109,0,91,37,115,93,32,88,77,32,110,117,109,98,101,114,32,111,102,32,115,97,109,112,108,101,115,58,32,37,105,0,91,37,115,93,32,88,77,32,116,114,97,99,107,32,108,101,110,103,116,104,58,32,37,49,49,46,54,102,32,115,101,99,0,91,37,115,93,32,88,77,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,73,110,105,116,32,97,117,100,105,111,32,115,116,114,101,97,109,58,32,78,117,109,98,101,114,32,111,102,32,99,104,97,110,110,101,108,115,32,110,111,116,32,115,117,112,112,111,114,116,101,100,58,32,37,105,0,73,110,105,116,32,97,117,100,105,111,32,115,116,114,101,97,109,58,32,83,97,109,112,108,101,32,115,105,122,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,58,32,37,105,0,91,65,85,68,32,73,68,32,37,105,93,32,65,117,100,105,111,32,115,116,114,101,97,109,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,32,72,122,44,32,37,105,32,98,105,116,44,32,37,115,41,0,91,65,85,68,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,97,117,100,105,111,32,115,116,114,101,97,109,32,100,97,116,97,0,79,112,101,110,65,76,58,32,69,114,114,111,114,32,98,117,102,102,101,114,105,110,103,32,100,97,116,97,46,46,46,0,69,88,84,0,65,82,66,0,79,69,83,0,65,78,71,76,69,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,0,103,108,85,115,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,85,115,101,80,114,111,103,114,97,109,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,0,103,108,65,116,116,97,99,104,79,98,106,101,99,116,0,103,108,65,116,116,97,99,104,83,104,97,100,101,114,0,103,108,68,101,116,97,99,104,79,98,106,101,99,116,0,103,108,68,101,116,97,99,104,83,104,97,100,101,114,0,103,108,80,105,120,101,108,83,116,111,114,101,105,0,103,108,71,101,116,83,116,114,105,110,103,0,103,108,71,101,116,73,110,116,101,103,101,114,118,0,103,108,71,101,116,70,108,111,97,116,118,0,103,108,71,101,116,66,111,111,108,101,97,110,118,0,103,108,71,101,110,84,101,120,116,117,114,101,115,0,103,108,68,101,108,101,116,101,84,101,120,116,117,114,101,115,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,84,101,120,73,109,97,103,101,50,68,0,103,108,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,82,101,97,100,80,105,120,101,108,115,0,103,108,66,105,110,100,84,101,120,116,117,114,101,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,84,101,120,116,117,114,101,0,103,108,71,101,110,66,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,66,117,102,102,101,114,115,0,103,108,71,101,116,66,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,66,117,102,102,101,114,68,97,116,97,0,103,108,66,117,102,102,101,114,83,117,98,68,97,116,97,0,103,108,73,115,66,117,102,102,101,114,0,103,108,71,101,110,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,66,105,110,100,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,82,101,110,100,101,114,98,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,85,110,105,102,111,114,109,102,118,0,103,108,71,101,116,85,110,105,102,111,114,109,105,118,0,103,108,71,101,116,85,110,105,102,111,114,109,76,111,99,97,116,105,111,110,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,102,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,105,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,118,0,103,108,71,101,116,65,99,116,105,118,101,85,110,105,102,111,114,109,0,103,108,85,110,105,102,111,114,109,49,102,0,103,108,85,110,105,102,111,114,109,50,102,0,103,108,85,110,105,102,111,114,109,51,102,0,103,108,85,110,105,102,111,114,109,52,102,0,103,108,85,110,105,102,111,114,109,49,105,0,103,108,85,110,105,102,111,114,109,50,105,0,103,108,85,110,105,102,111,114,109,51,105,0,103,108,85,110,105,102,111,114,109,52,105,0,103,108,85,110,105,102,111,114,109,49,105,118,0,103,108,85,110,105,102,111,114,109,50,105,118,0,103,108,85,110,105,102,111,114,109,51,105,118,0,103,108,85,110,105,102,111,114,109,52,105,118,0,103,108,85,110,105,102,111,114,109,49,102,118,0,103,108,85,110,105,102,111,114,109,50,102,118,0,103,108,85,110,105,102,111,114,109,51,102,118,0,103,108,85,110,105,102,111,114,109,52,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,50,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,51,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,52,102,118,0,103,108,66,105,110,100,66,117,102,102,101,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,118,0,103,108,71,101,116,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,71,101,116,65,99,116,105,118,101,65,116,116,114,105,98,0,103,108,68,101,108,101,116,101,83,104,97,100,101,114,0,103,108,71,101,116,65,116,116,97,99,104,101,100,83,104,97,100,101,114,115,0,103,108,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,71,101,116,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,67,111,109,112,105,108,101,83,104,97,100,101,114,0,103,108,71,101,116,83,104,97,100,101,114,73,110,102,111,76,111,103,0,103,108,71,101,116,83,104,97,100,101,114,105,118,0,103,108,71,101,116,80,114,111,103,114,97,109,105,118,0,103,108,73,115,83,104,97,100,101,114,0,103,108,68,101,108,101,116,101,80,114,111,103,114,97,109,0,103,108,71,101,116,83,104,97,100,101,114,80,114,101,99,105,115,105,111,110,70,111,114,109,97,116,0,103,108,76,105,110,107,80,114,111,103,114,97,109,0,103,108,71,101,116,80,114,111,103,114,97,109,73,110,102,111,76,111,103,0,103,108,86,97,108,105,100,97,116,101,80,114,111,103,114,97,109,0,103,108,73,115,80,114,111,103,114,97,109,0,103,108,66,105,110,100,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,66,105,110,100,70,114,97,109,101,98,117,102,102,101,114,0,103,108,71,101,110,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,70,114,97,109,101,98,117,102,102,101,114,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,70,114,97,109,101,98,117,102,102,101,114,84,101,120,116,117,114,101,50,68,0,103,108,71,101,116,70,114,97,109,101,98,117,102,102,101,114,65,116,116,97,99,104,109,101,110,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,70,114,97,109,101,98,117,102,102,101,114,0,103,108,68,101,108,101,116,101,79,98,106,101,99,116,0,103,108,71,101,116,79,98,106,101,99,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,71,101,116,73,110,102,111,76,111,103,0,103,108,66,105,110,100,80,114,111,103,114,97,109,0,103,108,71,101,116,80,111,105,110,116,101,114,118,0,103,108,68,114,97,119,82,97,110,103,101,69,108,101,109,101,110,116,115,0,103,108,69,110,97,98,108,101,67,108,105,101,110,116,83,116,97,116,101,0,103,108,86,101,114,116,101,120,80,111,105,110,116,101,114,0,103,108,84,101,120,67,111,111,114,100,80,111,105,110,116,101,114,0,103,108,78,111,114,109,97,108,80,111,105,110,116,101,114,0,103,108,67,111,108,111,114,80,111,105,110,116,101,114,0,103,108,67,108,105,101,110,116,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,0,103,108,77,97,116,114,105,120,77,111,100,101,0,103,108,76,111,97,100,73,100,101,110,116,105,116,121,0,103,108,76,111,97,100,77,97,116,114,105,120,102,0,103,108,70,114,117,115,116,117,109,0,103,108,82,111,116,97,116,101,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,0,103,108,69,110,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,105,115,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,114,97,119,65,114,114,97,121,115,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,0,103,108,83,104,97,100,101,114,66,105,110,97,114,121,0,103,108,82,101,108,101,97,115,101,83,104,97,100,101,114,67,111,109,112,105,108,101,114,0,103,108,71,101,116,69,114,114,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,68,105,118,105,115,111,114,0,103,108,68,114,97,119,65,114,114,97,121,115,73,110,115,116,97,110,99,101,100,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,73,110,115,116,97,110,99,101,100,0,103,108,70,105,110,105,115,104,0,103,108,70,108,117,115,104,0,103,108,67,108,101,97,114,68,101,112,116,104,0,103,108,67,108,101,97,114,68,101,112,116,104,102,0,103,108,68,101,112,116,104,70,117,110,99,0,103,108,69,110,97,98,108,101,0,103,108,68,105,115,97,98,108,101,0,103,108,70,114,111,110,116,70,97,99,101,0,103,108,67,117,108,108,70,97,99,101,0,103,108,67,108,101,97,114,0,103,108,76,105,110,101,87,105,100,116,104,0,103,108,67,108,101,97,114,83,116,101,110,99,105,108,0,103,108,68,101,112,116,104,77,97,115,107,0,103,108,83,116,101,110,99,105,108,77,97,115,107,0,103,108,67,104,101,99,107,70,114,97,109,101,98,117,102,102,101,114,83,116,97,116,117,115,0,103,108,71,101,110,101,114,97,116,101,77,105,112,109,97,112,0,103,108,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,0,103,108,73,115,69,110,97,98,108,101,100,0,103,108,66,108,101,110,100,70,117,110,99,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,83,101,112,97,114,97,116,101,0,103,108,68,101,112,116,104,82,97,110,103,101,0,103,108,68,101,112,116,104,82,97,110,103,101,102,0,103,108,83,116,101,110,99,105,108,77,97,115,107,83,101,112,97,114,97,116,101,0,103,108,72,105,110,116,0,103,108,80,111,108,121,103,111,110,79,102,102,115,101,116,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,0,103,108,83,97,109,112,108,101,67,111,118,101,114,97,103,101,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,0,103,108,83,116,101,110,99,105,108,70,117,110,99,0,103,108,83,116,101,110,99,105,108,79,112,0,103,108,86,105,101,119,112,111,114,116,0,103,108,67,108,101,97,114,67,111,108,111,114,0,103,108,83,99,105,115,115,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,0,103,108,67,111,108,111,114,77,97,115,107,0,103,108,82,101,110,100,101,114,98,117,102,102,101,114,83,116,111,114,97,103,101,0,103,108,66,108,101,110,100,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,66,108,101,110,100,67,111,108,111,114,0,103,108,83,116,101,110,99,105,108,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,83,116,101,110,99,105,108,79,112,83,101,112,97,114,97,116,101,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,0,103,108,67,111,112,121,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,112,121,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,68,114,97,119,66,117,102,102,101,114,115,0,123,32,77,111,100,117,108,101,46,112,114,105,110,116,69,114,114,40,39,98,97,100,32,110,97,109,101,32,105,110,32,103,101,116,80,114,111,99,65,100,100,114,101,115,115,58,32,39,32,43,32,91,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,48,41,44,32,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,49,41,93,41,59,32,125,0,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,110,97,110,0,78,65,78,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,46,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,114,119,97,0], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+10240); + + + + + +/* no memory initializer */ +var tempDoublePtr = STATICTOP; STATICTOP += 16; + +assert(tempDoublePtr % 8 == 0); + +function copyTempFloat(ptr) { // functions, because inlining this code increases code size too much + + HEAP8[tempDoublePtr] = HEAP8[ptr]; + + HEAP8[tempDoublePtr+1] = HEAP8[ptr+1]; + + HEAP8[tempDoublePtr+2] = HEAP8[ptr+2]; + + HEAP8[tempDoublePtr+3] = HEAP8[ptr+3]; + +} + +function copyTempDouble(ptr) { + + HEAP8[tempDoublePtr] = HEAP8[ptr]; + + HEAP8[tempDoublePtr+1] = HEAP8[ptr+1]; + + HEAP8[tempDoublePtr+2] = HEAP8[ptr+2]; + + HEAP8[tempDoublePtr+3] = HEAP8[ptr+3]; + + HEAP8[tempDoublePtr+4] = HEAP8[ptr+4]; + + HEAP8[tempDoublePtr+5] = HEAP8[ptr+5]; + + HEAP8[tempDoublePtr+6] = HEAP8[ptr+6]; + + HEAP8[tempDoublePtr+7] = HEAP8[ptr+7]; + +} + +// {{PRE_LIBRARY}} + + + + var GL={counter:1,lastError:0,buffers:[],mappedBuffers:{},programs:[],framebuffers:[],renderbuffers:[],textures:[],uniforms:[],shaders:[],vaos:[],contexts:[],currentContext:null,offscreenCanvases:{},timerQueriesEXT:[],byteSizeByTypeRoot:5120,byteSizeByType:[1,1,2,2,4,4,4,2,3,4,8],programInfos:{},stringCache:{},tempFixedLengthArray:[],packAlignment:4,unpackAlignment:4,init:function () { + GL.miniTempBuffer = new Float32Array(GL.MINI_TEMP_BUFFER_SIZE); + for (var i = 0; i < GL.MINI_TEMP_BUFFER_SIZE; i++) { + GL.miniTempBufferViews[i] = GL.miniTempBuffer.subarray(0, i+1); + } + + // For functions such as glDrawBuffers, glInvalidateFramebuffer and glInvalidateSubFramebuffer that need to pass a short array to the WebGL API, + // create a set of short fixed-length arrays to avoid having to generate any garbage when calling those functions. + for (var i = 0; i < 32; i++) { + GL.tempFixedLengthArray.push(new Array(i)); + } + },recordError:function recordError(errorCode) { + if (!GL.lastError) { + GL.lastError = errorCode; + } + },getNewId:function (table) { + var ret = GL.counter++; + for (var i = table.length; i < ret; i++) { + table[i] = null; + } + return ret; + },MINI_TEMP_BUFFER_SIZE:256,miniTempBuffer:null,miniTempBufferViews:[0],getSource:function (shader, count, string, length) { + var source = ''; + for (var i = 0; i < count; ++i) { + var frag; + if (length) { + var len = HEAP32[(((length)+(i*4))>>2)]; + if (len < 0) { + frag = Pointer_stringify(HEAP32[(((string)+(i*4))>>2)]); + } else { + frag = Pointer_stringify(HEAP32[(((string)+(i*4))>>2)], len); + } + } else { + frag = Pointer_stringify(HEAP32[(((string)+(i*4))>>2)]); + } + source += frag; + } + return source; + },createContext:function (canvas, webGLContextAttributes) { + if (typeof webGLContextAttributes['majorVersion'] === 'undefined' && typeof webGLContextAttributes['minorVersion'] === 'undefined') { + webGLContextAttributes['majorVersion'] = 1; + webGLContextAttributes['minorVersion'] = 0; + } + var ctx; + var errorInfo = '?'; + function onContextCreationError(event) { + errorInfo = event.statusMessage || errorInfo; + } + try { + canvas.addEventListener('webglcontextcreationerror', onContextCreationError, false); + try { + if (webGLContextAttributes['majorVersion'] == 1 && webGLContextAttributes['minorVersion'] == 0) { + ctx = canvas.getContext("webgl", webGLContextAttributes) || canvas.getContext("experimental-webgl", webGLContextAttributes); + } else if (webGLContextAttributes['majorVersion'] == 2 && webGLContextAttributes['minorVersion'] == 0) { + ctx = canvas.getContext("webgl2", webGLContextAttributes) || canvas.getContext("experimental-webgl2", webGLContextAttributes); + } else { + throw 'Unsupported WebGL context version ' + majorVersion + '.' + minorVersion + '!' + } + } finally { + canvas.removeEventListener('webglcontextcreationerror', onContextCreationError, false); + } + if (!ctx) throw ':('; + } catch (e) { + Module.print('Could not create canvas: ' + [errorInfo, e, JSON.stringify(webGLContextAttributes)]); + return 0; + } + // possible GL_DEBUG entry point: ctx = wrapDebugGL(ctx); + + if (!ctx) return 0; + return GL.registerContext(ctx, webGLContextAttributes); + },registerContext:function (ctx, webGLContextAttributes) { + var handle = GL.getNewId(GL.contexts); + var context = { + handle: handle, + attributes: webGLContextAttributes, + version: webGLContextAttributes['majorVersion'], + GLctx: ctx + }; + + + // Store the created context object so that we can access the context given a canvas without having to pass the parameters again. + if (ctx.canvas) ctx.canvas.GLctxObject = context; + GL.contexts[handle] = context; + if (typeof webGLContextAttributes['enableExtensionsByDefault'] === 'undefined' || webGLContextAttributes['enableExtensionsByDefault']) { + GL.initExtensions(context); + } + return handle; + },makeContextCurrent:function (contextHandle) { + var context = GL.contexts[contextHandle]; + if (!context) return false; + GLctx = Module.ctx = context.GLctx; // Active WebGL context object. + GL.currentContext = context; // Active Emscripten GL layer context object. + return true; + },getContext:function (contextHandle) { + return GL.contexts[contextHandle]; + },deleteContext:function (contextHandle) { + if (GL.currentContext === GL.contexts[contextHandle]) GL.currentContext = null; + if (typeof JSEvents === 'object') JSEvents.removeAllHandlersOnTarget(GL.contexts[contextHandle].GLctx.canvas); // Release all JS event handlers on the DOM element that the GL context is associated with since the context is now deleted. + if (GL.contexts[contextHandle] && GL.contexts[contextHandle].GLctx.canvas) GL.contexts[contextHandle].GLctx.canvas.GLctxObject = undefined; // Make sure the canvas object no longer refers to the context object so there are no GC surprises. + GL.contexts[contextHandle] = null; + },initExtensions:function (context) { + // If this function is called without a specific context object, init the extensions of the currently active context. + if (!context) context = GL.currentContext; + + if (context.initExtensionsDone) return; + context.initExtensionsDone = true; + + var GLctx = context.GLctx; + + context.maxVertexAttribs = GLctx.getParameter(GLctx.MAX_VERTEX_ATTRIBS); + + // Detect the presence of a few extensions manually, this GL interop layer itself will need to know if they exist. + + if (context.version < 2) { + // Extension available from Firefox 26 and Google Chrome 30 + var instancedArraysExt = GLctx.getExtension('ANGLE_instanced_arrays'); + if (instancedArraysExt) { + GLctx['vertexAttribDivisor'] = function(index, divisor) { instancedArraysExt['vertexAttribDivisorANGLE'](index, divisor); }; + GLctx['drawArraysInstanced'] = function(mode, first, count, primcount) { instancedArraysExt['drawArraysInstancedANGLE'](mode, first, count, primcount); }; + GLctx['drawElementsInstanced'] = function(mode, count, type, indices, primcount) { instancedArraysExt['drawElementsInstancedANGLE'](mode, count, type, indices, primcount); }; + } + + // Extension available from Firefox 25 and WebKit + var vaoExt = GLctx.getExtension('OES_vertex_array_object'); + if (vaoExt) { + GLctx['createVertexArray'] = function() { return vaoExt['createVertexArrayOES'](); }; + GLctx['deleteVertexArray'] = function(vao) { vaoExt['deleteVertexArrayOES'](vao); }; + GLctx['bindVertexArray'] = function(vao) { vaoExt['bindVertexArrayOES'](vao); }; + GLctx['isVertexArray'] = function(vao) { return vaoExt['isVertexArrayOES'](vao); }; + } + + var drawBuffersExt = GLctx.getExtension('WEBGL_draw_buffers'); + if (drawBuffersExt) { + GLctx['drawBuffers'] = function(n, bufs) { drawBuffersExt['drawBuffersWEBGL'](n, bufs); }; + } + } + + GLctx.disjointTimerQueryExt = GLctx.getExtension("EXT_disjoint_timer_query"); + + // These are the 'safe' feature-enabling extensions that don't add any performance impact related to e.g. debugging, and + // should be enabled by default so that client GLES2/GL code will not need to go through extra hoops to get its stuff working. + // As new extensions are ratified at http://www.khronos.org/registry/webgl/extensions/ , feel free to add your new extensions + // here, as long as they don't produce a performance impact for users that might not be using those extensions. + // E.g. debugging-related extensions should probably be off by default. + var automaticallyEnabledExtensions = [ "OES_texture_float", "OES_texture_half_float", "OES_standard_derivatives", + "OES_vertex_array_object", "WEBGL_compressed_texture_s3tc", "WEBGL_depth_texture", + "OES_element_index_uint", "EXT_texture_filter_anisotropic", "ANGLE_instanced_arrays", + "OES_texture_float_linear", "OES_texture_half_float_linear", "WEBGL_compressed_texture_atc", + "WEBGL_compressed_texture_pvrtc", "EXT_color_buffer_half_float", "WEBGL_color_buffer_float", + "EXT_frag_depth", "EXT_sRGB", "WEBGL_draw_buffers", "WEBGL_shared_resources", + "EXT_shader_texture_lod", "EXT_color_buffer_float"]; + + function shouldEnableAutomatically(extension) { + var ret = false; + automaticallyEnabledExtensions.forEach(function(include) { + if (ext.indexOf(include) != -1) { + ret = true; + } + }); + return ret; + } + + var exts = GLctx.getSupportedExtensions(); + if (exts && exts.length > 0) { + GLctx.getSupportedExtensions().forEach(function(ext) { + if (automaticallyEnabledExtensions.indexOf(ext) != -1) { + GLctx.getExtension(ext); // Calling .getExtension enables that extension permanently, no need to store the return value to be enabled. + } + }); + } + },populateUniformTable:function (program) { + var p = GL.programs[program]; + GL.programInfos[program] = { + uniforms: {}, + maxUniformLength: 0, // This is eagerly computed below, since we already enumerate all uniforms anyway. + maxAttributeLength: -1, // This is lazily computed and cached, computed when/if first asked, "-1" meaning not computed yet. + maxUniformBlockNameLength: -1 // Lazily computed as well + }; + + var ptable = GL.programInfos[program]; + var utable = ptable.uniforms; + // A program's uniform table maps the string name of an uniform to an integer location of that uniform. + // The global GL.uniforms map maps integer locations to WebGLUniformLocations. + var numUniforms = GLctx.getProgramParameter(p, GLctx.ACTIVE_UNIFORMS); + for (var i = 0; i < numUniforms; ++i) { + var u = GLctx.getActiveUniform(p, i); + + var name = u.name; + ptable.maxUniformLength = Math.max(ptable.maxUniformLength, name.length+1); + + // Strip off any trailing array specifier we might have got, e.g. "[0]". + if (name.indexOf(']', name.length-1) !== -1) { + var ls = name.lastIndexOf('['); + name = name.slice(0, ls); + } + + // Optimize memory usage slightly: If we have an array of uniforms, e.g. 'vec3 colors[3];', then + // only store the string 'colors' in utable, and 'colors[0]', 'colors[1]' and 'colors[2]' will be parsed as 'colors'+i. + // Note that for the GL.uniforms table, we still need to fetch the all WebGLUniformLocations for all the indices. + var loc = GLctx.getUniformLocation(p, name); + if (loc != null) + { + var id = GL.getNewId(GL.uniforms); + utable[name] = [u.size, id]; + GL.uniforms[id] = loc; + + for (var j = 1; j < u.size; ++j) { + var n = name + '['+j+']'; + loc = GLctx.getUniformLocation(p, n); + id = GL.getNewId(GL.uniforms); + + GL.uniforms[id] = loc; + } + } + } + }};function _emscripten_glIsRenderbuffer(renderbuffer) { + var rb = GL.renderbuffers[renderbuffer]; + if (!rb) return 0; + return GLctx.isRenderbuffer(rb); + } + + function _emscripten_glStencilMaskSeparate(x0, x1) { GLctx['stencilMaskSeparate'](x0, x1) } + + + + function _emscripten_get_now() { abort() } + + + + function _emscripten_set_main_loop_timing(mode, value) { + Browser.mainLoop.timingMode = mode; + Browser.mainLoop.timingValue = value; + + if (!Browser.mainLoop.func) { + console.error('emscripten_set_main_loop_timing: Cannot set timing mode for main loop since a main loop does not exist! Call emscripten_set_main_loop first to set one up.'); + return 1; // Return non-zero on failure, can't set timing mode when there is no main loop. + } + + if (mode == 0 /*EM_TIMING_SETTIMEOUT*/) { + Browser.mainLoop.scheduler = function Browser_mainLoop_scheduler_setTimeout() { + var timeUntilNextTick = Math.max(0, Browser.mainLoop.tickStartTime + value - _emscripten_get_now())|0; + setTimeout(Browser.mainLoop.runner, timeUntilNextTick); // doing this each time means that on exception, we stop + }; + Browser.mainLoop.method = 'timeout'; + } else if (mode == 1 /*EM_TIMING_RAF*/) { + Browser.mainLoop.scheduler = function Browser_mainLoop_scheduler_rAF() { + Browser.requestAnimationFrame(Browser.mainLoop.runner); + }; + Browser.mainLoop.method = 'rAF'; + } else if (mode == 2 /*EM_TIMING_SETIMMEDIATE*/) { + if (!window['setImmediate']) { + // Emulate setImmediate. (note: not a complete polyfill, we don't emulate clearImmediate() to keep code size to minimum, since not needed) + var setImmediates = []; + var emscriptenMainLoopMessageId = 'setimmediate'; + function Browser_setImmediate_messageHandler(event) { + if (event.source === window && event.data === emscriptenMainLoopMessageId) { + event.stopPropagation(); + setImmediates.shift()(); + } + } + window.addEventListener("message", Browser_setImmediate_messageHandler, true); + window['setImmediate'] = function Browser_emulated_setImmediate(func) { + setImmediates.push(func); + if (ENVIRONMENT_IS_WORKER) { + if (Module['setImmediates'] === undefined) Module['setImmediates'] = []; + Module['setImmediates'].push(func); + window.postMessage({target: emscriptenMainLoopMessageId}); // In --proxy-to-worker, route the message via proxyClient.js + } else window.postMessage(emscriptenMainLoopMessageId, "*"); // On the main thread, can just send the message to itself. + } + } + Browser.mainLoop.scheduler = function Browser_mainLoop_scheduler_setImmediate() { + window['setImmediate'](Browser.mainLoop.runner); + }; + Browser.mainLoop.method = 'immediate'; + } + return 0; + }function _emscripten_set_main_loop(func, fps, simulateInfiniteLoop, arg, noSetTiming) { + Module['noExitRuntime'] = true; + + assert(!Browser.mainLoop.func, 'emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters.'); + + Browser.mainLoop.func = func; + Browser.mainLoop.arg = arg; + + var browserIterationFunc; + if (typeof arg !== 'undefined') { + browserIterationFunc = function() { + Module['dynCall_vi'](func, arg); + }; + } else { + browserIterationFunc = function() { + Module['dynCall_v'](func); + }; + } + + var thisMainLoopId = Browser.mainLoop.currentlyRunningMainloop; + + Browser.mainLoop.runner = function Browser_mainLoop_runner() { + if (ABORT) return; + if (Browser.mainLoop.queue.length > 0) { + var start = Date.now(); + var blocker = Browser.mainLoop.queue.shift(); + blocker.func(blocker.arg); + if (Browser.mainLoop.remainingBlockers) { + var remaining = Browser.mainLoop.remainingBlockers; + var next = remaining%1 == 0 ? remaining-1 : Math.floor(remaining); + if (blocker.counted) { + Browser.mainLoop.remainingBlockers = next; + } else { + // not counted, but move the progress along a tiny bit + next = next + 0.5; // do not steal all the next one's progress + Browser.mainLoop.remainingBlockers = (8*remaining + next)/9; + } + } + console.log('main loop blocker "' + blocker.name + '" took ' + (Date.now() - start) + ' ms'); //, left: ' + Browser.mainLoop.remainingBlockers); + Browser.mainLoop.updateStatus(); + + // catches pause/resume main loop from blocker execution + if (thisMainLoopId < Browser.mainLoop.currentlyRunningMainloop) return; + + setTimeout(Browser.mainLoop.runner, 0); + return; + } + + // catch pauses from non-main loop sources + if (thisMainLoopId < Browser.mainLoop.currentlyRunningMainloop) return; + + // Implement very basic swap interval control + Browser.mainLoop.currentFrameNumber = Browser.mainLoop.currentFrameNumber + 1 | 0; + if (Browser.mainLoop.timingMode == 1/*EM_TIMING_RAF*/ && Browser.mainLoop.timingValue > 1 && Browser.mainLoop.currentFrameNumber % Browser.mainLoop.timingValue != 0) { + // Not the scheduled time to render this frame - skip. + Browser.mainLoop.scheduler(); + return; + } else if (Browser.mainLoop.timingMode == 0/*EM_TIMING_SETTIMEOUT*/) { + Browser.mainLoop.tickStartTime = _emscripten_get_now(); + } + + // Signal GL rendering layer that processing of a new frame is about to start. This helps it optimize + // VBO double-buffering and reduce GPU stalls. + + + if (Browser.mainLoop.method === 'timeout' && Module.ctx) { + Module.printErr('Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!'); + Browser.mainLoop.method = ''; // just warn once per call to set main loop + } + + Browser.mainLoop.runIter(browserIterationFunc); + + checkStackCookie(); + + // catch pauses from the main loop itself + if (thisMainLoopId < Browser.mainLoop.currentlyRunningMainloop) return; + + // Queue new audio data. This is important to be right after the main loop invocation, so that we will immediately be able + // to queue the newest produced audio samples. + // TODO: Consider adding pre- and post- rAF callbacks so that GL.newRenderingFrameStarted() and SDL.audio.queueNewAudioData() + // do not need to be hardcoded into this function, but can be more generic. + if (typeof SDL === 'object' && SDL.audio && SDL.audio.queueNewAudioData) SDL.audio.queueNewAudioData(); + + Browser.mainLoop.scheduler(); + } + + if (!noSetTiming) { + if (fps && fps > 0) _emscripten_set_main_loop_timing(0/*EM_TIMING_SETTIMEOUT*/, 1000.0 / fps); + else _emscripten_set_main_loop_timing(1/*EM_TIMING_RAF*/, 1); // Do rAF by rendering each frame (no decimating) + + Browser.mainLoop.scheduler(); + } + + if (simulateInfiniteLoop) { + throw 'SimulateInfiniteLoop'; + } + }var Browser={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function () { + Browser.mainLoop.scheduler = null; + Browser.mainLoop.currentlyRunningMainloop++; // Incrementing this signals the previous main loop that it's now become old, and it must return. + },resume:function () { + Browser.mainLoop.currentlyRunningMainloop++; + var timingMode = Browser.mainLoop.timingMode; + var timingValue = Browser.mainLoop.timingValue; + var func = Browser.mainLoop.func; + Browser.mainLoop.func = null; + _emscripten_set_main_loop(func, 0, false, Browser.mainLoop.arg, true /* do not set timing and call scheduler, we will do it on the next lines */); + _emscripten_set_main_loop_timing(timingMode, timingValue); + Browser.mainLoop.scheduler(); + },updateStatus:function () { + if (Module['setStatus']) { + var message = Module['statusMessage'] || 'Please wait...'; + var remaining = Browser.mainLoop.remainingBlockers; + var expected = Browser.mainLoop.expectedBlockers; + if (remaining) { + if (remaining < expected) { + Module['setStatus'](message + ' (' + (expected - remaining) + '/' + expected + ')'); + } else { + Module['setStatus'](message); + } + } else { + Module['setStatus'](''); + } + } + },runIter:function (func) { + if (ABORT) return; + if (Module['preMainLoop']) { + var preRet = Module['preMainLoop'](); + if (preRet === false) { + return; // |return false| skips a frame + } + } + try { + func(); + } catch (e) { + if (e instanceof ExitStatus) { + return; + } else { + if (e && typeof e === 'object' && e.stack) Module.printErr('exception thrown: ' + [e, e.stack]); + throw e; + } + } + if (Module['postMainLoop']) Module['postMainLoop'](); + }},isFullscreen:false,pointerLock:false,moduleContextCreatedCallbacks:[],workers:[],init:function () { + if (!Module["preloadPlugins"]) Module["preloadPlugins"] = []; // needs to exist even in workers + + if (Browser.initted) return; + Browser.initted = true; + + try { + new Blob(); + Browser.hasBlobConstructor = true; + } catch(e) { + Browser.hasBlobConstructor = false; + console.log("warning: no blob constructor, cannot create blobs with mimetypes"); + } + Browser.BlobBuilder = typeof MozBlobBuilder != "undefined" ? MozBlobBuilder : (typeof WebKitBlobBuilder != "undefined" ? WebKitBlobBuilder : (!Browser.hasBlobConstructor ? console.log("warning: no BlobBuilder") : null)); + Browser.URLObject = typeof window != "undefined" ? (window.URL ? window.URL : window.webkitURL) : undefined; + if (!Module.noImageDecoding && typeof Browser.URLObject === 'undefined') { + console.log("warning: Browser does not support creating object URLs. Built-in browser image decoding will not be available."); + Module.noImageDecoding = true; + } + + // Support for plugins that can process preloaded files. You can add more of these to + // your app by creating and appending to Module.preloadPlugins. + // + // Each plugin is asked if it can handle a file based on the file's name. If it can, + // it is given the file's raw data. When it is done, it calls a callback with the file's + // (possibly modified) data. For example, a plugin might decompress a file, or it + // might create some side data structure for use later (like an Image element, etc.). + + var imagePlugin = {}; + imagePlugin['canHandle'] = function imagePlugin_canHandle(name) { + return !Module.noImageDecoding && /\.(jpg|jpeg|png|bmp)$/i.test(name); + }; + imagePlugin['handle'] = function imagePlugin_handle(byteArray, name, onload, onerror) { + var b = null; + if (Browser.hasBlobConstructor) { + try { + b = new Blob([byteArray], { type: Browser.getMimetype(name) }); + if (b.size !== byteArray.length) { // Safari bug #118630 + // Safari's Blob can only take an ArrayBuffer + b = new Blob([(new Uint8Array(byteArray)).buffer], { type: Browser.getMimetype(name) }); + } + } catch(e) { + Runtime.warnOnce('Blob constructor present but fails: ' + e + '; falling back to blob builder'); + } + } + if (!b) { + var bb = new Browser.BlobBuilder(); + bb.append((new Uint8Array(byteArray)).buffer); // we need to pass a buffer, and must copy the array to get the right data range + b = bb.getBlob(); + } + var url = Browser.URLObject.createObjectURL(b); + assert(typeof url == 'string', 'createObjectURL must return a url as a string'); + var img = new Image(); + img.onload = function img_onload() { + assert(img.complete, 'Image ' + name + ' could not be decoded'); + var canvas = document.createElement('canvas'); + canvas.width = img.width; + canvas.height = img.height; + var ctx = canvas.getContext('2d'); + ctx.drawImage(img, 0, 0); + Module["preloadedImages"][name] = canvas; + Browser.URLObject.revokeObjectURL(url); + if (onload) onload(byteArray); + }; + img.onerror = function img_onerror(event) { + console.log('Image ' + url + ' could not be decoded'); + if (onerror) onerror(); + }; + img.src = url; + }; + Module['preloadPlugins'].push(imagePlugin); + + var audioPlugin = {}; + audioPlugin['canHandle'] = function audioPlugin_canHandle(name) { + return !Module.noAudioDecoding && name.substr(-4) in { '.ogg': 1, '.wav': 1, '.mp3': 1 }; + }; + audioPlugin['handle'] = function audioPlugin_handle(byteArray, name, onload, onerror) { + var done = false; + function finish(audio) { + if (done) return; + done = true; + Module["preloadedAudios"][name] = audio; + if (onload) onload(byteArray); + } + function fail() { + if (done) return; + done = true; + Module["preloadedAudios"][name] = new Audio(); // empty shim + if (onerror) onerror(); + } + if (Browser.hasBlobConstructor) { + try { + var b = new Blob([byteArray], { type: Browser.getMimetype(name) }); + } catch(e) { + return fail(); + } + var url = Browser.URLObject.createObjectURL(b); // XXX we never revoke this! + assert(typeof url == 'string', 'createObjectURL must return a url as a string'); + var audio = new Audio(); + audio.addEventListener('canplaythrough', function() { finish(audio) }, false); // use addEventListener due to chromium bug 124926 + audio.onerror = function audio_onerror(event) { + if (done) return; + console.log('warning: browser could not fully decode audio ' + name + ', trying slower base64 approach'); + function encode64(data) { + var BASE = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'; + var PAD = '='; + var ret = ''; + var leftchar = 0; + var leftbits = 0; + for (var i = 0; i < data.length; i++) { + leftchar = (leftchar << 8) | data[i]; + leftbits += 8; + while (leftbits >= 6) { + var curr = (leftchar >> (leftbits-6)) & 0x3f; + leftbits -= 6; + ret += BASE[curr]; + } + } + if (leftbits == 2) { + ret += BASE[(leftchar&3) << 4]; + ret += PAD + PAD; + } else if (leftbits == 4) { + ret += BASE[(leftchar&0xf) << 2]; + ret += PAD; + } + return ret; + } + audio.src = 'data:audio/x-' + name.substr(-3) + ';base64,' + encode64(byteArray); + finish(audio); // we don't wait for confirmation this worked - but it's worth trying + }; + audio.src = url; + // workaround for chrome bug 124926 - we do not always get oncanplaythrough or onerror + Browser.safeSetTimeout(function() { + finish(audio); // try to use it even though it is not necessarily ready to play + }, 10000); + } else { + return fail(); + } + }; + Module['preloadPlugins'].push(audioPlugin); + + // Canvas event setup + + function pointerLockChange() { + Browser.pointerLock = document['pointerLockElement'] === Module['canvas'] || + document['mozPointerLockElement'] === Module['canvas'] || + document['webkitPointerLockElement'] === Module['canvas'] || + document['msPointerLockElement'] === Module['canvas']; + } + var canvas = Module['canvas']; + if (canvas) { + // forced aspect ratio can be enabled by defining 'forcedAspectRatio' on Module + // Module['forcedAspectRatio'] = 4 / 3; + + canvas.requestPointerLock = canvas['requestPointerLock'] || + canvas['mozRequestPointerLock'] || + canvas['webkitRequestPointerLock'] || + canvas['msRequestPointerLock'] || + function(){}; + canvas.exitPointerLock = document['exitPointerLock'] || + document['mozExitPointerLock'] || + document['webkitExitPointerLock'] || + document['msExitPointerLock'] || + function(){}; // no-op if function does not exist + canvas.exitPointerLock = canvas.exitPointerLock.bind(document); + + document.addEventListener('pointerlockchange', pointerLockChange, false); + document.addEventListener('mozpointerlockchange', pointerLockChange, false); + document.addEventListener('webkitpointerlockchange', pointerLockChange, false); + document.addEventListener('mspointerlockchange', pointerLockChange, false); + + if (Module['elementPointerLock']) { + canvas.addEventListener("click", function(ev) { + if (!Browser.pointerLock && Module['canvas'].requestPointerLock) { + Module['canvas'].requestPointerLock(); + ev.preventDefault(); + } + }, false); + } + } + },createContext:function (canvas, useWebGL, setInModule, webGLContextAttributes) { + if (useWebGL && Module.ctx && canvas == Module.canvas) return Module.ctx; // no need to recreate GL context if it's already been created for this canvas. + + var ctx; + var contextHandle; + if (useWebGL) { + // For GLES2/desktop GL compatibility, adjust a few defaults to be different to WebGL defaults, so that they align better with the desktop defaults. + var contextAttributes = { + antialias: false, + alpha: false + }; + + if (webGLContextAttributes) { + for (var attribute in webGLContextAttributes) { + contextAttributes[attribute] = webGLContextAttributes[attribute]; + } + } + + contextHandle = GL.createContext(canvas, contextAttributes); + if (contextHandle) { + ctx = GL.getContext(contextHandle).GLctx; + } + } else { + ctx = canvas.getContext('2d'); + } + + if (!ctx) return null; + + if (setInModule) { + if (!useWebGL) assert(typeof GLctx === 'undefined', 'cannot set in module if GLctx is used, but we are a non-GL context that would replace it'); + + Module.ctx = ctx; + if (useWebGL) GL.makeContextCurrent(contextHandle); + Module.useWebGL = useWebGL; + Browser.moduleContextCreatedCallbacks.forEach(function(callback) { callback() }); + Browser.init(); + } + return ctx; + },destroyContext:function (canvas, useWebGL, setInModule) {},fullscreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullscreen:function (lockPointer, resizeCanvas, vrDevice) { + Browser.lockPointer = lockPointer; + Browser.resizeCanvas = resizeCanvas; + Browser.vrDevice = vrDevice; + if (typeof Browser.lockPointer === 'undefined') Browser.lockPointer = true; + if (typeof Browser.resizeCanvas === 'undefined') Browser.resizeCanvas = false; + if (typeof Browser.vrDevice === 'undefined') Browser.vrDevice = null; + + var canvas = Module['canvas']; + function fullscreenChange() { + Browser.isFullscreen = false; + var canvasContainer = canvas.parentNode; + if ((document['fullscreenElement'] || document['mozFullScreenElement'] || + document['msFullscreenElement'] || document['webkitFullscreenElement'] || + document['webkitCurrentFullScreenElement']) === canvasContainer) { + canvas.exitFullscreen = document['exitFullscreen'] || + document['cancelFullScreen'] || + document['mozCancelFullScreen'] || + document['msExitFullscreen'] || + document['webkitCancelFullScreen'] || + function() {}; + canvas.exitFullscreen = canvas.exitFullscreen.bind(document); + if (Browser.lockPointer) canvas.requestPointerLock(); + Browser.isFullscreen = true; + if (Browser.resizeCanvas) Browser.setFullscreenCanvasSize(); + } else { + + // remove the full screen specific parent of the canvas again to restore the HTML structure from before going full screen + canvasContainer.parentNode.insertBefore(canvas, canvasContainer); + canvasContainer.parentNode.removeChild(canvasContainer); + + if (Browser.resizeCanvas) Browser.setWindowedCanvasSize(); + } + if (Module['onFullScreen']) Module['onFullScreen'](Browser.isFullscreen); + if (Module['onFullscreen']) Module['onFullscreen'](Browser.isFullscreen); + Browser.updateCanvasDimensions(canvas); + } + + if (!Browser.fullscreenHandlersInstalled) { + Browser.fullscreenHandlersInstalled = true; + document.addEventListener('fullscreenchange', fullscreenChange, false); + document.addEventListener('mozfullscreenchange', fullscreenChange, false); + document.addEventListener('webkitfullscreenchange', fullscreenChange, false); + document.addEventListener('MSFullscreenChange', fullscreenChange, false); + } + + // create a new parent to ensure the canvas has no siblings. this allows browsers to optimize full screen performance when its parent is the full screen root + var canvasContainer = document.createElement("div"); + canvas.parentNode.insertBefore(canvasContainer, canvas); + canvasContainer.appendChild(canvas); + + // use parent of canvas as full screen root to allow aspect ratio correction (Firefox stretches the root to screen size) + canvasContainer.requestFullscreen = canvasContainer['requestFullscreen'] || + canvasContainer['mozRequestFullScreen'] || + canvasContainer['msRequestFullscreen'] || + (canvasContainer['webkitRequestFullscreen'] ? function() { canvasContainer['webkitRequestFullscreen'](Element['ALLOW_KEYBOARD_INPUT']) } : null) || + (canvasContainer['webkitRequestFullScreen'] ? function() { canvasContainer['webkitRequestFullScreen'](Element['ALLOW_KEYBOARD_INPUT']) } : null); + + if (vrDevice) { + canvasContainer.requestFullscreen({ vrDisplay: vrDevice }); + } else { + canvasContainer.requestFullscreen(); + } + },requestFullScreen:function (lockPointer, resizeCanvas, vrDevice) { + Module.printErr('Browser.requestFullScreen() is deprecated. Please call Browser.requestFullscreen instead.'); + Browser.requestFullScreen = function(lockPointer, resizeCanvas, vrDevice) { + return Browser.requestFullscreen(lockPointer, resizeCanvas, vrDevice); + } + return Browser.requestFullscreen(lockPointer, resizeCanvas, vrDevice); + },nextRAF:0,fakeRequestAnimationFrame:function (func) { + // try to keep 60fps between calls to here + var now = Date.now(); + if (Browser.nextRAF === 0) { + Browser.nextRAF = now + 1000/60; + } else { + while (now + 2 >= Browser.nextRAF) { // fudge a little, to avoid timer jitter causing us to do lots of delay:0 + Browser.nextRAF += 1000/60; + } + } + var delay = Math.max(Browser.nextRAF - now, 0); + setTimeout(func, delay); + },requestAnimationFrame:function requestAnimationFrame(func) { + if (typeof window === 'undefined') { // Provide fallback to setTimeout if window is undefined (e.g. in Node.js) + Browser.fakeRequestAnimationFrame(func); + } else { + if (!window.requestAnimationFrame) { + window.requestAnimationFrame = window['requestAnimationFrame'] || + window['mozRequestAnimationFrame'] || + window['webkitRequestAnimationFrame'] || + window['msRequestAnimationFrame'] || + window['oRequestAnimationFrame'] || + Browser.fakeRequestAnimationFrame; + } + window.requestAnimationFrame(func); + } + },safeCallback:function (func) { + return function() { + if (!ABORT) return func.apply(null, arguments); + }; + },allowAsyncCallbacks:true,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function () { + Browser.allowAsyncCallbacks = false; + },resumeAsyncCallbacks:function () { // marks future callbacks as ok to execute, and synchronously runs any remaining ones right now + Browser.allowAsyncCallbacks = true; + if (Browser.queuedAsyncCallbacks.length > 0) { + var callbacks = Browser.queuedAsyncCallbacks; + Browser.queuedAsyncCallbacks = []; + callbacks.forEach(function(func) { + func(); + }); + } + },safeRequestAnimationFrame:function (func) { + return Browser.requestAnimationFrame(function() { + if (ABORT) return; + if (Browser.allowAsyncCallbacks) { + func(); + } else { + Browser.queuedAsyncCallbacks.push(func); + } + }); + },safeSetTimeout:function (func, timeout) { + Module['noExitRuntime'] = true; + return setTimeout(function() { + if (ABORT) return; + if (Browser.allowAsyncCallbacks) { + func(); + } else { + Browser.queuedAsyncCallbacks.push(func); + } + }, timeout); + },safeSetInterval:function (func, timeout) { + Module['noExitRuntime'] = true; + return setInterval(function() { + if (ABORT) return; + if (Browser.allowAsyncCallbacks) { + func(); + } // drop it on the floor otherwise, next interval will kick in + }, timeout); + },getMimetype:function (name) { + return { + 'jpg': 'image/jpeg', + 'jpeg': 'image/jpeg', + 'png': 'image/png', + 'bmp': 'image/bmp', + 'ogg': 'audio/ogg', + 'wav': 'audio/wav', + 'mp3': 'audio/mpeg' + }[name.substr(name.lastIndexOf('.')+1)]; + },getUserMedia:function (func) { + if(!window.getUserMedia) { + window.getUserMedia = navigator['getUserMedia'] || + navigator['mozGetUserMedia']; + } + window.getUserMedia(func); + },getMovementX:function (event) { + return event['movementX'] || + event['mozMovementX'] || + event['webkitMovementX'] || + 0; + },getMovementY:function (event) { + return event['movementY'] || + event['mozMovementY'] || + event['webkitMovementY'] || + 0; + },getMouseWheelDelta:function (event) { + var delta = 0; + switch (event.type) { + case 'DOMMouseScroll': + delta = event.detail; + break; + case 'mousewheel': + delta = event.wheelDelta; + break; + case 'wheel': + delta = event['deltaY']; + break; + default: + throw 'unrecognized mouse wheel event: ' + event.type; + } + return delta; + },mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function (event) { // event should be mousemove, mousedown or mouseup + if (Browser.pointerLock) { + // When the pointer is locked, calculate the coordinates + // based on the movement of the mouse. + // Workaround for Firefox bug 764498 + if (event.type != 'mousemove' && + ('mozMovementX' in event)) { + Browser.mouseMovementX = Browser.mouseMovementY = 0; + } else { + Browser.mouseMovementX = Browser.getMovementX(event); + Browser.mouseMovementY = Browser.getMovementY(event); + } + + // check if SDL is available + if (typeof SDL != "undefined") { + Browser.mouseX = SDL.mouseX + Browser.mouseMovementX; + Browser.mouseY = SDL.mouseY + Browser.mouseMovementY; + } else { + // just add the mouse delta to the current absolut mouse position + // FIXME: ideally this should be clamped against the canvas size and zero + Browser.mouseX += Browser.mouseMovementX; + Browser.mouseY += Browser.mouseMovementY; + } + } else { + // Otherwise, calculate the movement based on the changes + // in the coordinates. + var rect = Module["canvas"].getBoundingClientRect(); + var cw = Module["canvas"].width; + var ch = Module["canvas"].height; + + // Neither .scrollX or .pageXOffset are defined in a spec, but + // we prefer .scrollX because it is currently in a spec draft. + // (see: http://www.w3.org/TR/2013/WD-cssom-view-20131217/) + var scrollX = ((typeof window.scrollX !== 'undefined') ? window.scrollX : window.pageXOffset); + var scrollY = ((typeof window.scrollY !== 'undefined') ? window.scrollY : window.pageYOffset); + // If this assert lands, it's likely because the browser doesn't support scrollX or pageXOffset + // and we have no viable fallback. + assert((typeof scrollX !== 'undefined') && (typeof scrollY !== 'undefined'), 'Unable to retrieve scroll position, mouse positions likely broken.'); + + if (event.type === 'touchstart' || event.type === 'touchend' || event.type === 'touchmove') { + var touch = event.touch; + if (touch === undefined) { + return; // the "touch" property is only defined in SDL + + } + var adjustedX = touch.pageX - (scrollX + rect.left); + var adjustedY = touch.pageY - (scrollY + rect.top); + + adjustedX = adjustedX * (cw / rect.width); + adjustedY = adjustedY * (ch / rect.height); + + var coords = { x: adjustedX, y: adjustedY }; + + if (event.type === 'touchstart') { + Browser.lastTouches[touch.identifier] = coords; + Browser.touches[touch.identifier] = coords; + } else if (event.type === 'touchend' || event.type === 'touchmove') { + var last = Browser.touches[touch.identifier]; + if (!last) last = coords; + Browser.lastTouches[touch.identifier] = last; + Browser.touches[touch.identifier] = coords; + } + return; + } + + var x = event.pageX - (scrollX + rect.left); + var y = event.pageY - (scrollY + rect.top); + + // the canvas might be CSS-scaled compared to its backbuffer; + // SDL-using content will want mouse coordinates in terms + // of backbuffer units. + x = x * (cw / rect.width); + y = y * (ch / rect.height); + + Browser.mouseMovementX = x - Browser.mouseX; + Browser.mouseMovementY = y - Browser.mouseY; + Browser.mouseX = x; + Browser.mouseY = y; + } + },asyncLoad:function (url, onload, onerror, noRunDep) { + var dep = !noRunDep ? getUniqueRunDependency('al ' + url) : ''; + Module['readAsync'](url, function(arrayBuffer) { + assert(arrayBuffer, 'Loading data file "' + url + '" failed (no arrayBuffer).'); + onload(new Uint8Array(arrayBuffer)); + if (dep) removeRunDependency(dep); + }, function(event) { + if (onerror) { + onerror(); + } else { + throw 'Loading data file "' + url + '" failed.'; + } + }); + if (dep) addRunDependency(dep); + },resizeListeners:[],updateResizeListeners:function () { + var canvas = Module['canvas']; + Browser.resizeListeners.forEach(function(listener) { + listener(canvas.width, canvas.height); + }); + },setCanvasSize:function (width, height, noUpdates) { + var canvas = Module['canvas']; + Browser.updateCanvasDimensions(canvas, width, height); + if (!noUpdates) Browser.updateResizeListeners(); + },windowedWidth:0,windowedHeight:0,setFullscreenCanvasSize:function () { + // check if SDL is available + if (typeof SDL != "undefined") { + var flags = HEAPU32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)]; + flags = flags | 0x00800000; // set SDL_FULLSCREEN flag + HEAP32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)]=flags + } + Browser.updateResizeListeners(); + },setWindowedCanvasSize:function () { + // check if SDL is available + if (typeof SDL != "undefined") { + var flags = HEAPU32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)]; + flags = flags & ~0x00800000; // clear SDL_FULLSCREEN flag + HEAP32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)]=flags + } + Browser.updateResizeListeners(); + },updateCanvasDimensions:function (canvas, wNative, hNative) { + if (wNative && hNative) { + canvas.widthNative = wNative; + canvas.heightNative = hNative; + } else { + wNative = canvas.widthNative; + hNative = canvas.heightNative; + } + var w = wNative; + var h = hNative; + if (Module['forcedAspectRatio'] && Module['forcedAspectRatio'] > 0) { + if (w/h < Module['forcedAspectRatio']) { + w = Math.round(h * Module['forcedAspectRatio']); + } else { + h = Math.round(w / Module['forcedAspectRatio']); + } + } + if (((document['fullscreenElement'] || document['mozFullScreenElement'] || + document['msFullscreenElement'] || document['webkitFullscreenElement'] || + document['webkitCurrentFullScreenElement']) === canvas.parentNode) && (typeof screen != 'undefined')) { + var factor = Math.min(screen.width / w, screen.height / h); + w = Math.round(w * factor); + h = Math.round(h * factor); + } + if (Browser.resizeCanvas) { + if (canvas.width != w) canvas.width = w; + if (canvas.height != h) canvas.height = h; + if (typeof canvas.style != 'undefined') { + canvas.style.removeProperty( "width"); + canvas.style.removeProperty("height"); + } + } else { + if (canvas.width != wNative) canvas.width = wNative; + if (canvas.height != hNative) canvas.height = hNative; + if (typeof canvas.style != 'undefined') { + if (w != wNative || h != hNative) { + canvas.style.setProperty( "width", w + "px", "important"); + canvas.style.setProperty("height", h + "px", "important"); + } else { + canvas.style.removeProperty( "width"); + canvas.style.removeProperty("height"); + } + } + } + },wgetRequests:{},nextWgetRequestHandle:0,getNextWgetRequestHandle:function () { + var handle = Browser.nextWgetRequestHandle; + Browser.nextWgetRequestHandle++; + return handle; + }};var GLFW={Window:function (id, width, height, title, monitor, share) { + this.id = id; + this.x = 0; + this.y = 0; + this.fullscreen = false; // Used to determine if app in fullscreen mode + this.storedX = 0; // Used to store X before fullscreen + this.storedY = 0; // Used to store Y before fullscreen + this.width = width; + this.height = height; + this.storedWidth = width; // Used to store width before fullscreen + this.storedHeight = height; // Used to store height before fullscreen + this.title = title; + this.monitor = monitor; + this.share = share; + this.attributes = GLFW.hints; + this.inputModes = { + 0x00033001:0x00034001, // GLFW_CURSOR (GLFW_CURSOR_NORMAL) + 0x00033002:0, // GLFW_STICKY_KEYS + 0x00033003:0, // GLFW_STICKY_MOUSE_BUTTONS + }; + this.buttons = 0; + this.keys = new Array(); + this.shouldClose = 0; + this.title = null; + this.windowPosFunc = null; // GLFWwindowposfun + this.windowSizeFunc = null; // GLFWwindowsizefun + this.windowCloseFunc = null; // GLFWwindowclosefun + this.windowRefreshFunc = null; // GLFWwindowrefreshfun + this.windowFocusFunc = null; // GLFWwindowfocusfun + this.windowIconifyFunc = null; // GLFWwindowiconifyfun + this.framebufferSizeFunc = null; // GLFWframebuffersizefun + this.mouseButtonFunc = null; // GLFWmousebuttonfun + this.cursorPosFunc = null; // GLFWcursorposfun + this.cursorEnterFunc = null; // GLFWcursorenterfun + this.scrollFunc = null; // GLFWscrollfun + this.keyFunc = null; // GLFWkeyfun + this.charFunc = null; // GLFWcharfun + this.userptr = null; + },WindowFromId:function (id) { + if (id <= 0 || !GLFW.windows) return null; + return GLFW.windows[id - 1]; + },errorFunc:null,monitorFunc:null,active:null,windows:null,monitors:null,monitorString:null,versionString:null,initialTime:null,extensions:null,hints:null,defaultHints:{131073:0,131074:0,131075:1,131076:1,131077:1,135169:8,135170:8,135171:8,135172:8,135173:24,135174:8,135175:0,135176:0,135177:0,135178:0,135179:0,135180:0,135181:0,135182:0,135183:0,139265:196609,139266:1,139267:0,139268:0,139269:0,139270:0,139271:0,139272:0},DOMToGLFWKeyCode:function (keycode) { + switch (keycode) { + // these keycodes are only defined for GLFW3, assume they are the same for GLFW2 + case 0x20:return 32; // DOM_VK_SPACE -> GLFW_KEY_SPACE + case 0xDE:return 39; // DOM_VK_QUOTE -> GLFW_KEY_APOSTROPHE + case 0xBC:return 44; // DOM_VK_COMMA -> GLFW_KEY_COMMA + case 0xAD:return 45; // DOM_VK_HYPHEN_MINUS -> GLFW_KEY_MINUS + case 0xBD:return 45; // DOM_VK_MINUS -> GLFW_KEY_MINUS + case 0xBE:return 46; // DOM_VK_PERIOD -> GLFW_KEY_PERIOD + case 0xBF:return 47; // DOM_VK_SLASH -> GLFW_KEY_SLASH + case 0x30:return 48; // DOM_VK_0 -> GLFW_KEY_0 + case 0x31:return 49; // DOM_VK_1 -> GLFW_KEY_1 + case 0x32:return 50; // DOM_VK_2 -> GLFW_KEY_2 + case 0x33:return 51; // DOM_VK_3 -> GLFW_KEY_3 + case 0x34:return 52; // DOM_VK_4 -> GLFW_KEY_4 + case 0x35:return 53; // DOM_VK_5 -> GLFW_KEY_5 + case 0x36:return 54; // DOM_VK_6 -> GLFW_KEY_6 + case 0x37:return 55; // DOM_VK_7 -> GLFW_KEY_7 + case 0x38:return 56; // DOM_VK_8 -> GLFW_KEY_8 + case 0x39:return 57; // DOM_VK_9 -> GLFW_KEY_9 + case 0x3B:return 59; // DOM_VK_SEMICOLON -> GLFW_KEY_SEMICOLON + case 0x3D:return 61; // DOM_VK_EQUALS -> GLFW_KEY_EQUAL + case 0xBB:return 61; // DOM_VK_EQUALS -> GLFW_KEY_EQUAL + case 0x41:return 65; // DOM_VK_A -> GLFW_KEY_A + case 0x42:return 66; // DOM_VK_B -> GLFW_KEY_B + case 0x43:return 67; // DOM_VK_C -> GLFW_KEY_C + case 0x44:return 68; // DOM_VK_D -> GLFW_KEY_D + case 0x45:return 69; // DOM_VK_E -> GLFW_KEY_E + case 0x46:return 70; // DOM_VK_F -> GLFW_KEY_F + case 0x47:return 71; // DOM_VK_G -> GLFW_KEY_G + case 0x48:return 72; // DOM_VK_H -> GLFW_KEY_H + case 0x49:return 73; // DOM_VK_I -> GLFW_KEY_I + case 0x4A:return 74; // DOM_VK_J -> GLFW_KEY_J + case 0x4B:return 75; // DOM_VK_K -> GLFW_KEY_K + case 0x4C:return 76; // DOM_VK_L -> GLFW_KEY_L + case 0x4D:return 77; // DOM_VK_M -> GLFW_KEY_M + case 0x4E:return 78; // DOM_VK_N -> GLFW_KEY_N + case 0x4F:return 79; // DOM_VK_O -> GLFW_KEY_O + case 0x50:return 80; // DOM_VK_P -> GLFW_KEY_P + case 0x51:return 81; // DOM_VK_Q -> GLFW_KEY_Q + case 0x52:return 82; // DOM_VK_R -> GLFW_KEY_R + case 0x53:return 83; // DOM_VK_S -> GLFW_KEY_S + case 0x54:return 84; // DOM_VK_T -> GLFW_KEY_T + case 0x55:return 85; // DOM_VK_U -> GLFW_KEY_U + case 0x56:return 86; // DOM_VK_V -> GLFW_KEY_V + case 0x57:return 87; // DOM_VK_W -> GLFW_KEY_W + case 0x58:return 88; // DOM_VK_X -> GLFW_KEY_X + case 0x59:return 89; // DOM_VK_Y -> GLFW_KEY_Y + case 0x5a:return 90; // DOM_VK_Z -> GLFW_KEY_Z + case 0xDB:return 91; // DOM_VK_OPEN_BRACKET -> GLFW_KEY_LEFT_BRACKET + case 0xDC:return 92; // DOM_VK_BACKSLASH -> GLFW_KEY_BACKSLASH + case 0xDD:return 93; // DOM_VK_CLOSE_BRACKET -> GLFW_KEY_RIGHT_BRACKET + case 0xC0:return 94; // DOM_VK_BACK_QUOTE -> GLFW_KEY_GRAVE_ACCENT + + + case 0x1B:return 256; // DOM_VK_ESCAPE -> GLFW_KEY_ESCAPE + case 0x0D:return 257; // DOM_VK_RETURN -> GLFW_KEY_ENTER + case 0x09:return 258; // DOM_VK_TAB -> GLFW_KEY_TAB + case 0x08:return 259; // DOM_VK_BACK -> GLFW_KEY_BACKSPACE + case 0x2D:return 260; // DOM_VK_INSERT -> GLFW_KEY_INSERT + case 0x2E:return 261; // DOM_VK_DELETE -> GLFW_KEY_DELETE + case 0x27:return 262; // DOM_VK_RIGHT -> GLFW_KEY_RIGHT + case 0x25:return 263; // DOM_VK_LEFT -> GLFW_KEY_LEFT + case 0x28:return 264; // DOM_VK_DOWN -> GLFW_KEY_DOWN + case 0x26:return 265; // DOM_VK_UP -> GLFW_KEY_UP + case 0x21:return 266; // DOM_VK_PAGE_UP -> GLFW_KEY_PAGE_UP + case 0x22:return 267; // DOM_VK_PAGE_DOWN -> GLFW_KEY_PAGE_DOWN + case 0x24:return 268; // DOM_VK_HOME -> GLFW_KEY_HOME + case 0x23:return 269; // DOM_VK_END -> GLFW_KEY_END + case 0x14:return 280; // DOM_VK_CAPS_LOCK -> GLFW_KEY_CAPS_LOCK + case 0x91:return 281; // DOM_VK_SCROLL_LOCK -> GLFW_KEY_SCROLL_LOCK + case 0x90:return 282; // DOM_VK_NUM_LOCK -> GLFW_KEY_NUM_LOCK + case 0x2C:return 283; // DOM_VK_SNAPSHOT -> GLFW_KEY_PRINT_SCREEN + case 0x13:return 284; // DOM_VK_PAUSE -> GLFW_KEY_PAUSE + case 0x70:return 290; // DOM_VK_F1 -> GLFW_KEY_F1 + case 0x71:return 291; // DOM_VK_F2 -> GLFW_KEY_F2 + case 0x72:return 292; // DOM_VK_F3 -> GLFW_KEY_F3 + case 0x73:return 293; // DOM_VK_F4 -> GLFW_KEY_F4 + case 0x74:return 294; // DOM_VK_F5 -> GLFW_KEY_F5 + case 0x75:return 295; // DOM_VK_F6 -> GLFW_KEY_F6 + case 0x76:return 296; // DOM_VK_F7 -> GLFW_KEY_F7 + case 0x77:return 297; // DOM_VK_F8 -> GLFW_KEY_F8 + case 0x78:return 298; // DOM_VK_F9 -> GLFW_KEY_F9 + case 0x79:return 299; // DOM_VK_F10 -> GLFW_KEY_F10 + case 0x7A:return 300; // DOM_VK_F11 -> GLFW_KEY_F11 + case 0x7B:return 301; // DOM_VK_F12 -> GLFW_KEY_F12 + case 0x7C:return 302; // DOM_VK_F13 -> GLFW_KEY_F13 + case 0x7D:return 303; // DOM_VK_F14 -> GLFW_KEY_F14 + case 0x7E:return 304; // DOM_VK_F15 -> GLFW_KEY_F15 + case 0x7F:return 305; // DOM_VK_F16 -> GLFW_KEY_F16 + case 0x80:return 306; // DOM_VK_F17 -> GLFW_KEY_F17 + case 0x81:return 307; // DOM_VK_F18 -> GLFW_KEY_F18 + case 0x82:return 308; // DOM_VK_F19 -> GLFW_KEY_F19 + case 0x83:return 309; // DOM_VK_F20 -> GLFW_KEY_F20 + case 0x84:return 310; // DOM_VK_F21 -> GLFW_KEY_F21 + case 0x85:return 311; // DOM_VK_F22 -> GLFW_KEY_F22 + case 0x86:return 312; // DOM_VK_F23 -> GLFW_KEY_F23 + case 0x87:return 313; // DOM_VK_F24 -> GLFW_KEY_F24 + case 0x88:return 314; // 0x88 (not used?) -> GLFW_KEY_F25 + case 0x60:return 320; // DOM_VK_NUMPAD0 -> GLFW_KEY_KP_0 + case 0x61:return 321; // DOM_VK_NUMPAD1 -> GLFW_KEY_KP_1 + case 0x62:return 322; // DOM_VK_NUMPAD2 -> GLFW_KEY_KP_2 + case 0x63:return 323; // DOM_VK_NUMPAD3 -> GLFW_KEY_KP_3 + case 0x64:return 324; // DOM_VK_NUMPAD4 -> GLFW_KEY_KP_4 + case 0x65:return 325; // DOM_VK_NUMPAD5 -> GLFW_KEY_KP_5 + case 0x66:return 326; // DOM_VK_NUMPAD6 -> GLFW_KEY_KP_6 + case 0x67:return 327; // DOM_VK_NUMPAD7 -> GLFW_KEY_KP_7 + case 0x68:return 328; // DOM_VK_NUMPAD8 -> GLFW_KEY_KP_8 + case 0x69:return 329; // DOM_VK_NUMPAD9 -> GLFW_KEY_KP_9 + case 0x6E:return 330; // DOM_VK_DECIMAL -> GLFW_KEY_KP_DECIMAL + case 0x6F:return 331; // DOM_VK_DIVIDE -> GLFW_KEY_KP_DIVIDE + case 0x6A:return 332; // DOM_VK_MULTIPLY -> GLFW_KEY_KP_MULTIPLY + case 0x6D:return 333; // DOM_VK_SUBTRACT -> GLFW_KEY_KP_SUBTRACT + case 0x6B:return 334; // DOM_VK_ADD -> GLFW_KEY_KP_ADD + // case 0x0D:return 335; // DOM_VK_RETURN -> GLFW_KEY_KP_ENTER (DOM_KEY_LOCATION_RIGHT) + // case 0x61:return 336; // DOM_VK_EQUALS -> GLFW_KEY_KP_EQUAL (DOM_KEY_LOCATION_RIGHT) + case 0x10:return 340; // DOM_VK_SHIFT -> GLFW_KEY_LEFT_SHIFT + case 0x11:return 341; // DOM_VK_CONTROL -> GLFW_KEY_LEFT_CONTROL + case 0x12:return 342; // DOM_VK_ALT -> GLFW_KEY_LEFT_ALT + case 0x5B:return 343; // DOM_VK_WIN -> GLFW_KEY_LEFT_SUPER + // case 0x10:return 344; // DOM_VK_SHIFT -> GLFW_KEY_RIGHT_SHIFT (DOM_KEY_LOCATION_RIGHT) + // case 0x11:return 345; // DOM_VK_CONTROL -> GLFW_KEY_RIGHT_CONTROL (DOM_KEY_LOCATION_RIGHT) + // case 0x12:return 346; // DOM_VK_ALT -> GLFW_KEY_RIGHT_ALT (DOM_KEY_LOCATION_RIGHT) + // case 0x5B:return 347; // DOM_VK_WIN -> GLFW_KEY_RIGHT_SUPER (DOM_KEY_LOCATION_RIGHT) + case 0x5D:return 348; // DOM_VK_CONTEXT_MENU -> GLFW_KEY_MENU + // XXX: GLFW_KEY_WORLD_1, GLFW_KEY_WORLD_2 what are these? + default:return -1; // GLFW_KEY_UNKNOWN + }; + },getModBits:function (win) { + var mod = 0; + if (win.keys[340]) mod |= 0x0001; // GLFW_MOD_SHIFT + if (win.keys[341]) mod |= 0x0002; // GLFW_MOD_CONTROL + if (win.keys[342]) mod |= 0x0004; // GLFW_MOD_ALT + if (win.keys[343]) mod |= 0x0008; // GLFW_MOD_SUPER + return mod; + },onKeyPress:function (event) { + if (!GLFW.active || !GLFW.active.charFunc) return; + + // correct unicode charCode is only available with onKeyPress event + var charCode = event.charCode; + if (charCode == 0 || (charCode >= 0x00 && charCode <= 0x1F)) return; + + + Module['dynCall_vii'](GLFW.active.charFunc, GLFW.active.id, charCode); + },onKeyChanged:function (event, status) { + if (!GLFW.active) return; + + var key = GLFW.DOMToGLFWKeyCode(event.keyCode); + if (key == -1) return; + + var repeat = status && GLFW.active.keys[key]; + GLFW.active.keys[key] = status; + if (!GLFW.active.keyFunc) return; + + + if (repeat) status = 2; // GLFW_REPEAT + Module['dynCall_viiiii'](GLFW.active.keyFunc, GLFW.active.id, key, event.keyCode, status, GLFW.getModBits(GLFW.active)); + },onKeydown:function (event) { + GLFW.onKeyChanged(event, 1); // GLFW_PRESS or GLFW_REPEAT + + // This logic comes directly from the sdl implementation. We cannot + // call preventDefault on all keydown events otherwise onKeyPress will + // not get called + if (event.keyCode === 8 /* backspace */ || event.keyCode === 9 /* tab */) { + event.preventDefault(); + } + },onKeyup:function (event) { + GLFW.onKeyChanged(event, 0); // GLFW_RELEASE + },onMousemove:function (event) { + if (!GLFW.active) return; + + Browser.calculateMouseEvent(event); + + if (event.target != Module["canvas"] || !GLFW.active.cursorPosFunc) return; + + + Module['dynCall_vidd'](GLFW.active.cursorPosFunc, GLFW.active.id, Browser.mouseX, Browser.mouseY); + },DOMToGLFWMouseButton:function (event) { + // DOM and glfw have different button codes. + // See http://www.w3schools.com/jsref/event_button.asp. + var eventButton = event['button']; + if (eventButton > 0) { + if (eventButton == 1) { + eventButton = 2; + } else { + eventButton = 1; + } + } + return eventButton; + },onMouseenter:function (event) { + if (!GLFW.active) return; + + if (event.target != Module["canvas"] || !GLFW.active.cursorEnterFunc) return; + + Module['dynCall_vii'](GLFW.active.cursorEnterFunc, GLFW.active.id, 1); + },onMouseleave:function (event) { + if (!GLFW.active) return; + + if (event.target != Module["canvas"] || !GLFW.active.cursorEnterFunc) return; + + Module['dynCall_vii'](GLFW.active.cursorEnterFunc, GLFW.active.id, 0); + },onMouseButtonChanged:function (event, status) { + if (!GLFW.active) return; + + Browser.calculateMouseEvent(event); + + if (event.target != Module["canvas"]) return; + + eventButton = GLFW.DOMToGLFWMouseButton(event); + + if (status == 1) { // GLFW_PRESS + GLFW.active.buttons |= (1 << eventButton); + try { + event.target.setCapture(); + } catch (e) {} + } else { // GLFW_RELEASE + GLFW.active.buttons &= ~(1 << eventButton); + } + + if (!GLFW.active.mouseButtonFunc) return; + + + Module['dynCall_viiii'](GLFW.active.mouseButtonFunc, GLFW.active.id, eventButton, status, GLFW.getModBits(GLFW.active)); + },onMouseButtonDown:function (event) { + if (!GLFW.active) return; + GLFW.onMouseButtonChanged(event, 1); // GLFW_PRESS + },onMouseButtonUp:function (event) { + if (!GLFW.active) return; + GLFW.onMouseButtonChanged(event, 0); // GLFW_RELEASE + },onMouseWheel:function (event) { + // Note the minus sign that flips browser wheel direction (positive direction scrolls page down) to native wheel direction (positive direction is mouse wheel up) + var delta = -Browser.getMouseWheelDelta(event); + delta = (delta == 0) ? 0 : (delta > 0 ? Math.max(delta, 1) : Math.min(delta, -1)); // Quantize to integer so that minimum scroll is at least +/- 1. + GLFW.wheelPos += delta; + + if (!GLFW.active || !GLFW.active.scrollFunc || event.target != Module['canvas']) return; + + + var sx = 0; + var sy = 0; + if (event.type == 'mousewheel') { + sx = event.wheelDeltaX; + sy = event.wheelDeltaY; + } else { + sx = event.deltaX; + sy = event.deltaY; + } + + Module['dynCall_vidd'](GLFW.active.scrollFunc, GLFW.active.id, sx, sy); + + event.preventDefault(); + },onCanvasResize:function (width, height) { + if (!GLFW.active) return; + + var resizeNeeded = true; + + // If the client is requestiong fullscreen mode + if (document["fullscreen"] || document["fullScreen"] || document["mozFullScreen"] || document["webkitIsFullScreen"]) { + GLFW.active.storedX = GLFW.active.x; + GLFW.active.storedY = GLFW.active.y; + GLFW.active.storedWidth = GLFW.active.width; + GLFW.active.storedHeight = GLFW.active.height; + GLFW.active.x = GLFW.active.y = 0; + GLFW.active.width = screen.width; + GLFW.active.height = screen.height; + GLFW.active.fullscreen = true; + + // If the client is reverting from fullscreen mode + } else if (GLFW.active.fullscreen == true) { + GLFW.active.x = GLFW.active.storedX; + GLFW.active.y = GLFW.active.storedY; + GLFW.active.width = GLFW.active.storedWidth; + GLFW.active.height = GLFW.active.storedHeight; + GLFW.active.fullscreen = false; + + // If the width/height values do not match current active window sizes + } else if (GLFW.active.width != width || GLFW.active.height != height) { + GLFW.active.width = width; + GLFW.active.height = height; + } else { + resizeNeeded = false; + } + + // If any of the above conditions were true, we need to resize the canvas + if (resizeNeeded) { + // resets the canvas size to counter the aspect preservation of Browser.updateCanvasDimensions + Browser.setCanvasSize(GLFW.active.width, GLFW.active.height, true); + // TODO: Client dimensions (clientWidth/clientHeight) vs pixel dimensions (width/height) of + // the canvas should drive window and framebuffer size respectfully. + GLFW.onWindowSizeChanged(); + GLFW.onFramebufferSizeChanged(); + } + },onWindowSizeChanged:function () { + if (!GLFW.active) return; + + if (!GLFW.active.windowSizeFunc) return; + + + Module['dynCall_viii'](GLFW.active.windowSizeFunc, GLFW.active.id, GLFW.active.width, GLFW.active.height); + },onFramebufferSizeChanged:function () { + if (!GLFW.active) return; + + if (!GLFW.active.framebufferSizeFunc) return; + + Module['dynCall_viii'](GLFW.active.framebufferSizeFunc, GLFW.active.id, GLFW.active.width, GLFW.active.height); + },requestFullscreen:function () { + var RFS = Module["canvas"]['requestFullscreen'] || + Module["canvas"]['mozRequestFullScreen'] || + Module["canvas"]['webkitRequestFullScreen'] || + (function() {}); + RFS.apply(Module["canvas"], []); + },requestFullScreen:function () { + Module.printErr('GLFW.requestFullScreen() is deprecated. Please call GLFW.requestFullscreen instead.'); + GLFW.requestFullScreen = function() { + return GLFW.requestFullscreen(); + } + return GLFW.requestFullscreen(); + },exitFullscreen:function () { + var CFS = document['exitFullscreen'] || + document['cancelFullScreen'] || + document['mozCancelFullScreen'] || + document['webkitCancelFullScreen'] || + (function() {}); + CFS.apply(document, []); + },cancelFullScreen:function () { + Module.printErr('GLFW.cancelFullScreen() is deprecated. Please call GLFW.exitFullscreen instead.'); + GLFW.cancelFullScreen = function() { + return GLFW.exitFullscreen(); + } + return GLFW.exitFullscreen(); + },getTime:function () { + return _emscripten_get_now() / 1000; + },setWindowTitle:function (winid, title) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + + win.title = Pointer_stringify(title); + if (GLFW.active.id == win.id) { + document.title = win.title; + } + },setKeyCallback:function (winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.keyFunc = cbfun; + },setCharCallback:function (winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.charFunc = cbfun; + },setMouseButtonCallback:function (winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.mouseButtonFunc = cbfun; + },setCursorPosCallback:function (winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.cursorPosFunc = cbfun; + },setScrollCallback:function (winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.scrollFunc = cbfun; + },setWindowSizeCallback:function (winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.windowSizeFunc = cbfun; + + },setWindowCloseCallback:function (winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.windowCloseFunc = cbfun; + },setWindowRefreshCallback:function (winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.windowRefreshFunc = cbfun; + },onClickRequestPointerLock:function (e) { + if (!Browser.pointerLock && Module['canvas'].requestPointerLock) { + Module['canvas'].requestPointerLock(); + e.preventDefault(); + } + },setInputMode:function (winid, mode, value) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + + switch(mode) { + case 0x00033001: { // GLFW_CURSOR + switch(value) { + case 0x00034001: { // GLFW_CURSOR_NORMAL + win.inputModes[mode] = value; + Module['canvas'].removeEventListener('click', GLFW.onClickRequestPointerLock, true); + Module['canvas'].exitPointerLock(); + break; + } + case 0x00034002: { // GLFW_CURSOR_HIDDEN + console.log("glfwSetInputMode called with GLFW_CURSOR_HIDDEN value not implemented."); + break; + } + case 0x00034003: { // GLFW_CURSOR_DISABLED + win.inputModes[mode] = value; + Module['canvas'].addEventListener('click', GLFW.onClickRequestPointerLock, true); + Module['canvas'].requestPointerLock(); + break; + } + default: { + console.log("glfwSetInputMode called with unknown value parameter value: " + value + "."); + break; + } + } + break; + } + case 0x00033002: { // GLFW_STICKY_KEYS + console.log("glfwSetInputMode called with GLFW_STICKY_KEYS mode not implemented."); + break; + } + case 0x00033003: { // GLFW_STICKY_MOUSE_BUTTONS + console.log("glfwSetInputMode called with GLFW_STICKY_MOUSE_BUTTONS mode not implemented."); + break; + } + default: { + console.log("glfwSetInputMode called with unknown mode parameter value: " + mode + "."); + break; + } + } + },getKey:function (winid, key) { + var win = GLFW.WindowFromId(winid); + if (!win) return 0; + return win.keys[key]; + },getMouseButton:function (winid, button) { + var win = GLFW.WindowFromId(winid); + if (!win) return 0; + return (win.buttons & (1 << button)) > 0; + },getCursorPos:function (winid, x, y) { + setValue(x, Browser.mouseX, 'double'); + setValue(y, Browser.mouseY, 'double'); + },getMousePos:function (winid, x, y) { + setValue(x, Browser.mouseX, 'i32'); + setValue(y, Browser.mouseY, 'i32'); + },setCursorPos:function (winid, x, y) { + },getWindowPos:function (winid, x, y) { + var wx = 0; + var wy = 0; + + var win = GLFW.WindowFromId(winid); + if (win) { + wx = win.x; + wy = win.y; + } + + setValue(x, wx, 'i32'); + setValue(y, wy, 'i32'); + },setWindowPos:function (winid, x, y) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.x = x; + win.y = y; + },getWindowSize:function (winid, width, height) { + var ww = 0; + var wh = 0; + + var win = GLFW.WindowFromId(winid); + if (win) { + ww = win.width; + wh = win.height; + } + + setValue(width, ww, 'i32'); + setValue(height, wh, 'i32'); + },setWindowSize:function (winid, width, height) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + + if (GLFW.active.id == win.id) { + if (width == screen.width && height == screen.height) { + GLFW.requestFullscreen(); + } else { + GLFW.exitFullscreen(); + Browser.setCanvasSize(width, height); + win.width = width; + win.height = height; + } + } + + if (!win.windowSizeFunc) return; + + + Module['dynCall_viii'](win.windowSizeFunc, win.id, width, height); + },createWindow:function (width, height, title, monitor, share) { + var i, id; + for (i = 0; i < GLFW.windows.length && GLFW.windows[i] !== null; i++); + if (i > 0) throw "glfwCreateWindow only supports one window at time currently"; + + // id for window + id = i + 1; + + // not valid + if (width <= 0 || height <= 0) return 0; + + if (monitor) { + GLFW.requestFullscreen(); + } else { + Browser.setCanvasSize(width, height); + } + + // Create context when there are no existing alive windows + for (i = 0; i < GLFW.windows.length && GLFW.windows[i] == null; i++); + if (i == GLFW.windows.length) { + var contextAttributes = { + antialias: (GLFW.hints[0x0002100D] > 1), // GLFW_SAMPLES + depth: (GLFW.hints[0x00021005] > 0), // GLFW_DEPTH_BITS + stencil: (GLFW.hints[0x00021006] > 0), // GLFW_STENCIL_BITS + alpha: (GLFW.hints[0x00021004] > 0) // GLFW_ALPHA_BITS + } + Module.ctx = Browser.createContext(Module['canvas'], true, true, contextAttributes); + } + + // If context creation failed, do not return a valid window + if (!Module.ctx) return 0; + + // Get non alive id + var win = new GLFW.Window(id, width, height, title, monitor, share); + + // Set window to array + if (id - 1 == GLFW.windows.length) { + GLFW.windows.push(win); + } else { + GLFW.windows[id - 1] = win; + } + + GLFW.active = win; + return win.id; + },destroyWindow:function (winid) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + + if (win.windowCloseFunc) + Module['dynCall_vi'](win.windowCloseFunc, win.id); + + GLFW.windows[win.id - 1] = null; + if (GLFW.active.id == win.id) + GLFW.active = null; + + // Destroy context when no alive windows + for (var i = 0; i < GLFW.windows.length; i++) + if (GLFW.windows[i] !== null) return; + + Module.ctx = Browser.destroyContext(Module['canvas'], true, true); + },swapBuffers:function (winid) { + },GLFW2ParamToGLFW3Param:function (param) { + table = { + 0x00030001:0, // GLFW_MOUSE_CURSOR + 0x00030002:0, // GLFW_STICKY_KEYS + 0x00030003:0, // GLFW_STICKY_MOUSE_BUTTONS + 0x00030004:0, // GLFW_SYSTEM_KEYS + 0x00030005:0, // GLFW_KEY_REPEAT + 0x00030006:0, // GLFW_AUTO_POLL_EVENTS + 0x00020001:0, // GLFW_OPENED + 0x00020002:0, // GLFW_ACTIVE + 0x00020003:0, // GLFW_ICONIFIED + 0x00020004:0, // GLFW_ACCELERATED + 0x00020005:0x00021001, // GLFW_RED_BITS + 0x00020006:0x00021002, // GLFW_GREEN_BITS + 0x00020007:0x00021003, // GLFW_BLUE_BITS + 0x00020008:0x00021004, // GLFW_ALPHA_BITS + 0x00020009:0x00021005, // GLFW_DEPTH_BITS + 0x0002000A:0x00021006, // GLFW_STENCIL_BITS + 0x0002000B:0x0002100F, // GLFW_REFRESH_RATE + 0x0002000C:0x00021007, // GLFW_ACCUM_RED_BITS + 0x0002000D:0x00021008, // GLFW_ACCUM_GREEN_BITS + 0x0002000E:0x00021009, // GLFW_ACCUM_BLUE_BITS + 0x0002000F:0x0002100A, // GLFW_ACCUM_ALPHA_BITS + 0x00020010:0x0002100B, // GLFW_AUX_BUFFERS + 0x00020011:0x0002100C, // GLFW_STEREO + 0x00020012:0, // GLFW_WINDOW_NO_RESIZE + 0x00020013:0x0002100D, // GLFW_FSAA_SAMPLES + 0x00020014:0x00022002, // GLFW_OPENGL_VERSION_MAJOR + 0x00020015:0x00022003, // GLFW_OPENGL_VERSION_MINOR + 0x00020016:0x00022006, // GLFW_OPENGL_FORWARD_COMPAT + 0x00020017:0x00022007, // GLFW_OPENGL_DEBUG_CONTEXT + 0x00020018:0x00022008, // GLFW_OPENGL_PROFILE + }; + return table[param]; + }};function _glfwGetVideoModes(monitor, count) { + setValue(count, 0, 'i32'); + return 0; + } + + function _glLinkProgram(program) { + GLctx.linkProgram(GL.programs[program]); + GL.programInfos[program] = null; // uniforms no longer keep the same names after linking + GL.populateUniformTable(program); + } + + function _glBindTexture(target, texture) { + GLctx.bindTexture(target, texture ? GL.textures[texture] : null); + } + + function _emscripten_glStencilFunc(x0, x1, x2) { GLctx['stencilFunc'](x0, x1, x2) } + + function _glGetString(name_) { + if (GL.stringCache[name_]) return GL.stringCache[name_]; + var ret; + switch(name_) { + case 0x1F00 /* GL_VENDOR */: + case 0x1F01 /* GL_RENDERER */: + case 0x9245 /* UNMASKED_VENDOR_WEBGL */: + case 0x9246 /* UNMASKED_RENDERER_WEBGL */: + ret = allocate(intArrayFromString(GLctx.getParameter(name_)), 'i8', ALLOC_NORMAL); + break; + case 0x1F02 /* GL_VERSION */: + var glVersion = GLctx.getParameter(GLctx.VERSION); + // return GLES version string corresponding to the version of the WebGL context + { + glVersion = 'OpenGL ES 2.0 (' + glVersion + ')'; + } + ret = allocate(intArrayFromString(glVersion), 'i8', ALLOC_NORMAL); + break; + case 0x1F03 /* GL_EXTENSIONS */: + var exts = GLctx.getSupportedExtensions(); + var gl_exts = []; + for (var i = 0; i < exts.length; ++i) { + gl_exts.push(exts[i]); + gl_exts.push("GL_" + exts[i]); + } + ret = allocate(intArrayFromString(gl_exts.join(' ')), 'i8', ALLOC_NORMAL); + break; + case 0x8B8C /* GL_SHADING_LANGUAGE_VERSION */: + var glslVersion = GLctx.getParameter(GLctx.SHADING_LANGUAGE_VERSION); + // extract the version number 'N.M' from the string 'WebGL GLSL ES N.M ...' + var ver_re = /^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/; + var ver_num = glslVersion.match(ver_re); + if (ver_num !== null) { + if (ver_num[1].length == 3) ver_num[1] = ver_num[1] + '0'; // ensure minor version has 2 digits + glslVersion = 'OpenGL ES GLSL ES ' + ver_num[1] + ' (' + glslVersion + ')'; + } + ret = allocate(intArrayFromString(glslVersion), 'i8', ALLOC_NORMAL); + break; + default: + GL.recordError(0x0500/*GL_INVALID_ENUM*/); + return 0; + } + GL.stringCache[name_] = ret; + return ret; + } + + function _emscripten_glUniform3iv(location, count, value) { + + + GLctx.uniform3iv(GL.uniforms[location], HEAP32.subarray((value)>>2,(value+count*12)>>2)); + } + + function _emscripten_glShaderSource(shader, count, string, length) { + var source = GL.getSource(shader, count, string, length); + + + GLctx.shaderSource(GL.shaders[shader], source); + } + + function _emscripten_glReleaseShaderCompiler() { + // NOP (as allowed by GLES 2.0 spec) + } + + function _glfwSetScrollCallback(winid, cbfun) { + GLFW.setScrollCallback(winid, cbfun); + } + + function _emscripten_glTexParameterf(x0, x1, x2) { GLctx['texParameterf'](x0, x1, x2) } + + function _emscripten_glTexParameteri(x0, x1, x2) { GLctx['texParameteri'](x0, x1, x2) } + + function _glCompileShader(shader) { + GLctx.compileShader(GL.shaders[shader]); + } + + + + + var ERRNO_CODES={EPERM:1,ENOENT:2,ESRCH:3,EINTR:4,EIO:5,ENXIO:6,E2BIG:7,ENOEXEC:8,EBADF:9,ECHILD:10,EAGAIN:11,EWOULDBLOCK:11,ENOMEM:12,EACCES:13,EFAULT:14,ENOTBLK:15,EBUSY:16,EEXIST:17,EXDEV:18,ENODEV:19,ENOTDIR:20,EISDIR:21,EINVAL:22,ENFILE:23,EMFILE:24,ENOTTY:25,ETXTBSY:26,EFBIG:27,ENOSPC:28,ESPIPE:29,EROFS:30,EMLINK:31,EPIPE:32,EDOM:33,ERANGE:34,ENOMSG:42,EIDRM:43,ECHRNG:44,EL2NSYNC:45,EL3HLT:46,EL3RST:47,ELNRNG:48,EUNATCH:49,ENOCSI:50,EL2HLT:51,EDEADLK:35,ENOLCK:37,EBADE:52,EBADR:53,EXFULL:54,ENOANO:55,EBADRQC:56,EBADSLT:57,EDEADLOCK:35,EBFONT:59,ENOSTR:60,ENODATA:61,ETIME:62,ENOSR:63,ENONET:64,ENOPKG:65,EREMOTE:66,ENOLINK:67,EADV:68,ESRMNT:69,ECOMM:70,EPROTO:71,EMULTIHOP:72,EDOTDOT:73,EBADMSG:74,ENOTUNIQ:76,EBADFD:77,EREMCHG:78,ELIBACC:79,ELIBBAD:80,ELIBSCN:81,ELIBMAX:82,ELIBEXEC:83,ENOSYS:38,ENOTEMPTY:39,ENAMETOOLONG:36,ELOOP:40,EOPNOTSUPP:95,EPFNOSUPPORT:96,ECONNRESET:104,ENOBUFS:105,EAFNOSUPPORT:97,EPROTOTYPE:91,ENOTSOCK:88,ENOPROTOOPT:92,ESHUTDOWN:108,ECONNREFUSED:111,EADDRINUSE:98,ECONNABORTED:103,ENETUNREACH:101,ENETDOWN:100,ETIMEDOUT:110,EHOSTDOWN:112,EHOSTUNREACH:113,EINPROGRESS:115,EALREADY:114,EDESTADDRREQ:89,EMSGSIZE:90,EPROTONOSUPPORT:93,ESOCKTNOSUPPORT:94,EADDRNOTAVAIL:99,ENETRESET:102,EISCONN:106,ENOTCONN:107,ETOOMANYREFS:109,EUSERS:87,EDQUOT:122,ESTALE:116,ENOTSUP:95,ENOMEDIUM:123,EILSEQ:84,EOVERFLOW:75,ECANCELED:125,ENOTRECOVERABLE:131,EOWNERDEAD:130,ESTRPIPE:86}; + + var ERRNO_MESSAGES={0:"Success",1:"Not super-user",2:"No such file or directory",3:"No such process",4:"Interrupted system call",5:"I/O error",6:"No such device or address",7:"Arg list too long",8:"Exec format error",9:"Bad file number",10:"No children",11:"No more processes",12:"Not enough core",13:"Permission denied",14:"Bad address",15:"Block device required",16:"Mount device busy",17:"File exists",18:"Cross-device link",19:"No such device",20:"Not a directory",21:"Is a directory",22:"Invalid argument",23:"Too many open files in system",24:"Too many open files",25:"Not a typewriter",26:"Text file busy",27:"File too large",28:"No space left on device",29:"Illegal seek",30:"Read only file system",31:"Too many links",32:"Broken pipe",33:"Math arg out of domain of func",34:"Math result not representable",35:"File locking deadlock error",36:"File or path name too long",37:"No record locks available",38:"Function not implemented",39:"Directory not empty",40:"Too many symbolic links",42:"No message of desired type",43:"Identifier removed",44:"Channel number out of range",45:"Level 2 not synchronized",46:"Level 3 halted",47:"Level 3 reset",48:"Link number out of range",49:"Protocol driver not attached",50:"No CSI structure available",51:"Level 2 halted",52:"Invalid exchange",53:"Invalid request descriptor",54:"Exchange full",55:"No anode",56:"Invalid request code",57:"Invalid slot",59:"Bad font file fmt",60:"Device not a stream",61:"No data (for no delay io)",62:"Timer expired",63:"Out of streams resources",64:"Machine is not on the network",65:"Package not installed",66:"The object is remote",67:"The link has been severed",68:"Advertise error",69:"Srmount error",70:"Communication error on send",71:"Protocol error",72:"Multihop attempted",73:"Cross mount point (not really error)",74:"Trying to read unreadable message",75:"Value too large for defined data type",76:"Given log. name not unique",77:"f.d. invalid for this operation",78:"Remote address changed",79:"Can access a needed shared lib",80:"Accessing a corrupted shared lib",81:".lib section in a.out corrupted",82:"Attempting to link in too many libs",83:"Attempting to exec a shared library",84:"Illegal byte sequence",86:"Streams pipe error",87:"Too many users",88:"Socket operation on non-socket",89:"Destination address required",90:"Message too long",91:"Protocol wrong type for socket",92:"Protocol not available",93:"Unknown protocol",94:"Socket type not supported",95:"Not supported",96:"Protocol family not supported",97:"Address family not supported by protocol family",98:"Address already in use",99:"Address not available",100:"Network interface is not configured",101:"Network is unreachable",102:"Connection reset by network",103:"Connection aborted",104:"Connection reset by peer",105:"No buffer space available",106:"Socket is already connected",107:"Socket is not connected",108:"Can't send after socket shutdown",109:"Too many references",110:"Connection timed out",111:"Connection refused",112:"Host is down",113:"Host is unreachable",114:"Socket already connected",115:"Connection already in progress",116:"Stale file handle",122:"Quota exceeded",123:"No medium (in tape drive)",125:"Operation canceled",130:"Previous owner died",131:"State not recoverable"}; + + function ___setErrNo(value) { + if (Module['___errno_location']) HEAP32[((Module['___errno_location']())>>2)]=value; + else Module.printErr('failed to set errno from JS'); + return value; + } + + var PATH={splitPath:function (filename) { + var splitPathRe = /^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/; + return splitPathRe.exec(filename).slice(1); + },normalizeArray:function (parts, allowAboveRoot) { + // if the path tries to go above the root, `up` ends up > 0 + var up = 0; + for (var i = parts.length - 1; i >= 0; i--) { + var last = parts[i]; + if (last === '.') { + parts.splice(i, 1); + } else if (last === '..') { + parts.splice(i, 1); + up++; + } else if (up) { + parts.splice(i, 1); + up--; + } + } + // if the path is allowed to go above the root, restore leading ..s + if (allowAboveRoot) { + for (; up--; up) { + parts.unshift('..'); + } + } + return parts; + },normalize:function (path) { + var isAbsolute = path.charAt(0) === '/', + trailingSlash = path.substr(-1) === '/'; + // Normalize the path + path = PATH.normalizeArray(path.split('/').filter(function(p) { + return !!p; + }), !isAbsolute).join('/'); + if (!path && !isAbsolute) { + path = '.'; + } + if (path && trailingSlash) { + path += '/'; + } + return (isAbsolute ? '/' : '') + path; + },dirname:function (path) { + var result = PATH.splitPath(path), + root = result[0], + dir = result[1]; + if (!root && !dir) { + // No dirname whatsoever + return '.'; + } + if (dir) { + // It has a dirname, strip trailing slash + dir = dir.substr(0, dir.length - 1); + } + return root + dir; + },basename:function (path) { + // EMSCRIPTEN return '/'' for '/', not an empty string + if (path === '/') return '/'; + var lastSlash = path.lastIndexOf('/'); + if (lastSlash === -1) return path; + return path.substr(lastSlash+1); + },extname:function (path) { + return PATH.splitPath(path)[3]; + },join:function () { + var paths = Array.prototype.slice.call(arguments, 0); + return PATH.normalize(paths.join('/')); + },join2:function (l, r) { + return PATH.normalize(l + '/' + r); + },resolve:function () { + var resolvedPath = '', + resolvedAbsolute = false; + for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) { + var path = (i >= 0) ? arguments[i] : FS.cwd(); + // Skip empty and invalid entries + if (typeof path !== 'string') { + throw new TypeError('Arguments to path.resolve must be strings'); + } else if (!path) { + return ''; // an invalid portion invalidates the whole thing + } + resolvedPath = path + '/' + resolvedPath; + resolvedAbsolute = path.charAt(0) === '/'; + } + // At this point the path should be resolved to a full absolute path, but + // handle relative paths to be safe (might happen when process.cwd() fails) + resolvedPath = PATH.normalizeArray(resolvedPath.split('/').filter(function(p) { + return !!p; + }), !resolvedAbsolute).join('/'); + return ((resolvedAbsolute ? '/' : '') + resolvedPath) || '.'; + },relative:function (from, to) { + from = PATH.resolve(from).substr(1); + to = PATH.resolve(to).substr(1); + function trim(arr) { + var start = 0; + for (; start < arr.length; start++) { + if (arr[start] !== '') break; + } + var end = arr.length - 1; + for (; end >= 0; end--) { + if (arr[end] !== '') break; + } + if (start > end) return []; + return arr.slice(start, end - start + 1); + } + var fromParts = trim(from.split('/')); + var toParts = trim(to.split('/')); + var length = Math.min(fromParts.length, toParts.length); + var samePartsLength = length; + for (var i = 0; i < length; i++) { + if (fromParts[i] !== toParts[i]) { + samePartsLength = i; + break; + } + } + var outputParts = []; + for (var i = samePartsLength; i < fromParts.length; i++) { + outputParts.push('..'); + } + outputParts = outputParts.concat(toParts.slice(samePartsLength)); + return outputParts.join('/'); + }}; + + var TTY={ttys:[],init:function () { + // https://github.com/kripken/emscripten/pull/1555 + // if (ENVIRONMENT_IS_NODE) { + // // currently, FS.init does not distinguish if process.stdin is a file or TTY + // // device, it always assumes it's a TTY device. because of this, we're forcing + // // process.stdin to UTF8 encoding to at least make stdin reading compatible + // // with text files until FS.init can be refactored. + // process['stdin']['setEncoding']('utf8'); + // } + },shutdown:function () { + // https://github.com/kripken/emscripten/pull/1555 + // if (ENVIRONMENT_IS_NODE) { + // // inolen: any idea as to why node -e 'process.stdin.read()' wouldn't exit immediately (with process.stdin being a tty)? + // // isaacs: because now it's reading from the stream, you've expressed interest in it, so that read() kicks off a _read() which creates a ReadReq operation + // // inolen: I thought read() in that case was a synchronous operation that just grabbed some amount of buffered data if it exists? + // // isaacs: it is. but it also triggers a _read() call, which calls readStart() on the handle + // // isaacs: do process.stdin.pause() and i'd think it'd probably close the pending call + // process['stdin']['pause'](); + // } + },register:function (dev, ops) { + TTY.ttys[dev] = { input: [], output: [], ops: ops }; + FS.registerDevice(dev, TTY.stream_ops); + },stream_ops:{open:function (stream) { + var tty = TTY.ttys[stream.node.rdev]; + if (!tty) { + throw new FS.ErrnoError(ERRNO_CODES.ENODEV); + } + stream.tty = tty; + stream.seekable = false; + },close:function (stream) { + // flush any pending line data + stream.tty.ops.flush(stream.tty); + },flush:function (stream) { + stream.tty.ops.flush(stream.tty); + },read:function (stream, buffer, offset, length, pos /* ignored */) { + if (!stream.tty || !stream.tty.ops.get_char) { + throw new FS.ErrnoError(ERRNO_CODES.ENXIO); + } + var bytesRead = 0; + for (var i = 0; i < length; i++) { + var result; + try { + result = stream.tty.ops.get_char(stream.tty); + } catch (e) { + throw new FS.ErrnoError(ERRNO_CODES.EIO); + } + if (result === undefined && bytesRead === 0) { + throw new FS.ErrnoError(ERRNO_CODES.EAGAIN); + } + if (result === null || result === undefined) break; + bytesRead++; + buffer[offset+i] = result; + } + if (bytesRead) { + stream.node.timestamp = Date.now(); + } + return bytesRead; + },write:function (stream, buffer, offset, length, pos) { + if (!stream.tty || !stream.tty.ops.put_char) { + throw new FS.ErrnoError(ERRNO_CODES.ENXIO); + } + for (var i = 0; i < length; i++) { + try { + stream.tty.ops.put_char(stream.tty, buffer[offset+i]); + } catch (e) { + throw new FS.ErrnoError(ERRNO_CODES.EIO); + } + } + if (length) { + stream.node.timestamp = Date.now(); + } + return i; + }},default_tty_ops:{get_char:function (tty) { + if (!tty.input.length) { + var result = null; + if (ENVIRONMENT_IS_NODE) { + // we will read data by chunks of BUFSIZE + var BUFSIZE = 256; + var buf = new Buffer(BUFSIZE); + var bytesRead = 0; + + var isPosixPlatform = (process.platform != 'win32'); // Node doesn't offer a direct check, so test by exclusion + + var fd = process.stdin.fd; + if (isPosixPlatform) { + // Linux and Mac cannot use process.stdin.fd (which isn't set up as sync) + var usingDevice = false; + try { + fd = fs.openSync('/dev/stdin', 'r'); + usingDevice = true; + } catch (e) {} + } + + try { + bytesRead = fs.readSync(fd, buf, 0, BUFSIZE, null); + } catch(e) { + // Cross-platform differences: on Windows, reading EOF throws an exception, but on other OSes, + // reading EOF returns 0. Uniformize behavior by treating the EOF exception to return 0. + if (e.toString().indexOf('EOF') != -1) bytesRead = 0; + else throw e; + } + + if (usingDevice) { fs.closeSync(fd); } + if (bytesRead > 0) { + result = buf.slice(0, bytesRead).toString('utf-8'); + } else { + result = null; + } + + } else if (typeof window != 'undefined' && + typeof window.prompt == 'function') { + // Browser. + result = window.prompt('Input: '); // returns null on cancel + if (result !== null) { + result += '\n'; + } + } else if (typeof readline == 'function') { + // Command line. + result = readline(); + if (result !== null) { + result += '\n'; + } + } + if (!result) { + return null; + } + tty.input = intArrayFromString(result, true); + } + return tty.input.shift(); + },put_char:function (tty, val) { + if (val === null || val === 10) { + Module['print'](UTF8ArrayToString(tty.output, 0)); + tty.output = []; + } else { + if (val != 0) tty.output.push(val); // val == 0 would cut text output off in the middle. + } + },flush:function (tty) { + if (tty.output && tty.output.length > 0) { + Module['print'](UTF8ArrayToString(tty.output, 0)); + tty.output = []; + } + }},default_tty1_ops:{put_char:function (tty, val) { + if (val === null || val === 10) { + Module['printErr'](UTF8ArrayToString(tty.output, 0)); + tty.output = []; + } else { + if (val != 0) tty.output.push(val); + } + },flush:function (tty) { + if (tty.output && tty.output.length > 0) { + Module['printErr'](UTF8ArrayToString(tty.output, 0)); + tty.output = []; + } + }}}; + + var MEMFS={ops_table:null,mount:function (mount) { + return MEMFS.createNode(null, '/', 16384 | 511 /* 0777 */, 0); + },createNode:function (parent, name, mode, dev) { + if (FS.isBlkdev(mode) || FS.isFIFO(mode)) { + // no supported + throw new FS.ErrnoError(ERRNO_CODES.EPERM); + } + if (!MEMFS.ops_table) { + MEMFS.ops_table = { + dir: { + node: { + getattr: MEMFS.node_ops.getattr, + setattr: MEMFS.node_ops.setattr, + lookup: MEMFS.node_ops.lookup, + mknod: MEMFS.node_ops.mknod, + rename: MEMFS.node_ops.rename, + unlink: MEMFS.node_ops.unlink, + rmdir: MEMFS.node_ops.rmdir, + readdir: MEMFS.node_ops.readdir, + symlink: MEMFS.node_ops.symlink + }, + stream: { + llseek: MEMFS.stream_ops.llseek + } + }, + file: { + node: { + getattr: MEMFS.node_ops.getattr, + setattr: MEMFS.node_ops.setattr + }, + stream: { + llseek: MEMFS.stream_ops.llseek, + read: MEMFS.stream_ops.read, + write: MEMFS.stream_ops.write, + allocate: MEMFS.stream_ops.allocate, + mmap: MEMFS.stream_ops.mmap, + msync: MEMFS.stream_ops.msync + } + }, + link: { + node: { + getattr: MEMFS.node_ops.getattr, + setattr: MEMFS.node_ops.setattr, + readlink: MEMFS.node_ops.readlink + }, + stream: {} + }, + chrdev: { + node: { + getattr: MEMFS.node_ops.getattr, + setattr: MEMFS.node_ops.setattr + }, + stream: FS.chrdev_stream_ops + } + }; + } + var node = FS.createNode(parent, name, mode, dev); + if (FS.isDir(node.mode)) { + node.node_ops = MEMFS.ops_table.dir.node; + node.stream_ops = MEMFS.ops_table.dir.stream; + node.contents = {}; + } else if (FS.isFile(node.mode)) { + node.node_ops = MEMFS.ops_table.file.node; + node.stream_ops = MEMFS.ops_table.file.stream; + node.usedBytes = 0; // The actual number of bytes used in the typed array, as opposed to contents.length which gives the whole capacity. + // When the byte data of the file is populated, this will point to either a typed array, or a normal JS array. Typed arrays are preferred + // for performance, and used by default. However, typed arrays are not resizable like normal JS arrays are, so there is a small disk size + // penalty involved for appending file writes that continuously grow a file similar to std::vector capacity vs used -scheme. + node.contents = null; + } else if (FS.isLink(node.mode)) { + node.node_ops = MEMFS.ops_table.link.node; + node.stream_ops = MEMFS.ops_table.link.stream; + } else if (FS.isChrdev(node.mode)) { + node.node_ops = MEMFS.ops_table.chrdev.node; + node.stream_ops = MEMFS.ops_table.chrdev.stream; + } + node.timestamp = Date.now(); + // add the new node to the parent + if (parent) { + parent.contents[name] = node; + } + return node; + },getFileDataAsRegularArray:function (node) { + if (node.contents && node.contents.subarray) { + var arr = []; + for (var i = 0; i < node.usedBytes; ++i) arr.push(node.contents[i]); + return arr; // Returns a copy of the original data. + } + return node.contents; // No-op, the file contents are already in a JS array. Return as-is. + },getFileDataAsTypedArray:function (node) { + if (!node.contents) return new Uint8Array; + if (node.contents.subarray) return node.contents.subarray(0, node.usedBytes); // Make sure to not return excess unused bytes. + return new Uint8Array(node.contents); + },expandFileStorage:function (node, newCapacity) { + // If we are asked to expand the size of a file that already exists, revert to using a standard JS array to store the file + // instead of a typed array. This makes resizing the array more flexible because we can just .push() elements at the back to + // increase the size. + if (node.contents && node.contents.subarray && newCapacity > node.contents.length) { + node.contents = MEMFS.getFileDataAsRegularArray(node); + node.usedBytes = node.contents.length; // We might be writing to a lazy-loaded file which had overridden this property, so force-reset it. + } + + if (!node.contents || node.contents.subarray) { // Keep using a typed array if creating a new storage, or if old one was a typed array as well. + var prevCapacity = node.contents ? node.contents.length : 0; + if (prevCapacity >= newCapacity) return; // No need to expand, the storage was already large enough. + // Don't expand strictly to the given requested limit if it's only a very small increase, but instead geometrically grow capacity. + // For small filesizes (<1MB), perform size*2 geometric increase, but for large sizes, do a much more conservative size*1.125 increase to + // avoid overshooting the allocation cap by a very large margin. + var CAPACITY_DOUBLING_MAX = 1024 * 1024; + newCapacity = Math.max(newCapacity, (prevCapacity * (prevCapacity < CAPACITY_DOUBLING_MAX ? 2.0 : 1.125)) | 0); + if (prevCapacity != 0) newCapacity = Math.max(newCapacity, 256); // At minimum allocate 256b for each file when expanding. + var oldContents = node.contents; + node.contents = new Uint8Array(newCapacity); // Allocate new storage. + if (node.usedBytes > 0) node.contents.set(oldContents.subarray(0, node.usedBytes), 0); // Copy old data over to the new storage. + return; + } + // Not using a typed array to back the file storage. Use a standard JS array instead. + if (!node.contents && newCapacity > 0) node.contents = []; + while (node.contents.length < newCapacity) node.contents.push(0); + },resizeFileStorage:function (node, newSize) { + if (node.usedBytes == newSize) return; + if (newSize == 0) { + node.contents = null; // Fully decommit when requesting a resize to zero. + node.usedBytes = 0; + return; + } + if (!node.contents || node.contents.subarray) { // Resize a typed array if that is being used as the backing store. + var oldContents = node.contents; + node.contents = new Uint8Array(new ArrayBuffer(newSize)); // Allocate new storage. + if (oldContents) { + node.contents.set(oldContents.subarray(0, Math.min(newSize, node.usedBytes))); // Copy old data over to the new storage. + } + node.usedBytes = newSize; + return; + } + // Backing with a JS array. + if (!node.contents) node.contents = []; + if (node.contents.length > newSize) node.contents.length = newSize; + else while (node.contents.length < newSize) node.contents.push(0); + node.usedBytes = newSize; + },node_ops:{getattr:function (node) { + var attr = {}; + // device numbers reuse inode numbers. + attr.dev = FS.isChrdev(node.mode) ? node.id : 1; + attr.ino = node.id; + attr.mode = node.mode; + attr.nlink = 1; + attr.uid = 0; + attr.gid = 0; + attr.rdev = node.rdev; + if (FS.isDir(node.mode)) { + attr.size = 4096; + } else if (FS.isFile(node.mode)) { + attr.size = node.usedBytes; + } else if (FS.isLink(node.mode)) { + attr.size = node.link.length; + } else { + attr.size = 0; + } + attr.atime = new Date(node.timestamp); + attr.mtime = new Date(node.timestamp); + attr.ctime = new Date(node.timestamp); + // NOTE: In our implementation, st_blocks = Math.ceil(st_size/st_blksize), + // but this is not required by the standard. + attr.blksize = 4096; + attr.blocks = Math.ceil(attr.size / attr.blksize); + return attr; + },setattr:function (node, attr) { + if (attr.mode !== undefined) { + node.mode = attr.mode; + } + if (attr.timestamp !== undefined) { + node.timestamp = attr.timestamp; + } + if (attr.size !== undefined) { + MEMFS.resizeFileStorage(node, attr.size); + } + },lookup:function (parent, name) { + throw FS.genericErrors[ERRNO_CODES.ENOENT]; + },mknod:function (parent, name, mode, dev) { + return MEMFS.createNode(parent, name, mode, dev); + },rename:function (old_node, new_dir, new_name) { + // if we're overwriting a directory at new_name, make sure it's empty. + if (FS.isDir(old_node.mode)) { + var new_node; + try { + new_node = FS.lookupNode(new_dir, new_name); + } catch (e) { + } + if (new_node) { + for (var i in new_node.contents) { + throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY); + } + } + } + // do the internal rewiring + delete old_node.parent.contents[old_node.name]; + old_node.name = new_name; + new_dir.contents[new_name] = old_node; + old_node.parent = new_dir; + },unlink:function (parent, name) { + delete parent.contents[name]; + },rmdir:function (parent, name) { + var node = FS.lookupNode(parent, name); + for (var i in node.contents) { + throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY); + } + delete parent.contents[name]; + },readdir:function (node) { + var entries = ['.', '..'] + for (var key in node.contents) { + if (!node.contents.hasOwnProperty(key)) { + continue; + } + entries.push(key); + } + return entries; + },symlink:function (parent, newname, oldpath) { + var node = MEMFS.createNode(parent, newname, 511 /* 0777 */ | 40960, 0); + node.link = oldpath; + return node; + },readlink:function (node) { + if (!FS.isLink(node.mode)) { + throw new FS.ErrnoError(ERRNO_CODES.EINVAL); + } + return node.link; + }},stream_ops:{read:function (stream, buffer, offset, length, position) { + var contents = stream.node.contents; + if (position >= stream.node.usedBytes) return 0; + var size = Math.min(stream.node.usedBytes - position, length); + assert(size >= 0); + if (size > 8 && contents.subarray) { // non-trivial, and typed array + buffer.set(contents.subarray(position, position + size), offset); + } else { + for (var i = 0; i < size; i++) buffer[offset + i] = contents[position + i]; + } + return size; + },write:function (stream, buffer, offset, length, position, canOwn) { + if (!length) return 0; + var node = stream.node; + node.timestamp = Date.now(); + + if (buffer.subarray && (!node.contents || node.contents.subarray)) { // This write is from a typed array to a typed array? + if (canOwn) { + assert(position === 0, 'canOwn must imply no weird position inside the file'); + node.contents = buffer.subarray(offset, offset + length); + node.usedBytes = length; + return length; + } else if (node.usedBytes === 0 && position === 0) { // If this is a simple first write to an empty file, do a fast set since we don't need to care about old data. + node.contents = new Uint8Array(buffer.subarray(offset, offset + length)); + node.usedBytes = length; + return length; + } else if (position + length <= node.usedBytes) { // Writing to an already allocated and used subrange of the file? + node.contents.set(buffer.subarray(offset, offset + length), position); + return length; + } + } + + // Appending to an existing file and we need to reallocate, or source data did not come as a typed array. + MEMFS.expandFileStorage(node, position+length); + if (node.contents.subarray && buffer.subarray) node.contents.set(buffer.subarray(offset, offset + length), position); // Use typed array write if available. + else { + for (var i = 0; i < length; i++) { + node.contents[position + i] = buffer[offset + i]; // Or fall back to manual write if not. + } + } + node.usedBytes = Math.max(node.usedBytes, position+length); + return length; + },llseek:function (stream, offset, whence) { + var position = offset; + if (whence === 1) { // SEEK_CUR. + position += stream.position; + } else if (whence === 2) { // SEEK_END. + if (FS.isFile(stream.node.mode)) { + position += stream.node.usedBytes; + } + } + if (position < 0) { + throw new FS.ErrnoError(ERRNO_CODES.EINVAL); + } + return position; + },allocate:function (stream, offset, length) { + MEMFS.expandFileStorage(stream.node, offset + length); + stream.node.usedBytes = Math.max(stream.node.usedBytes, offset + length); + },mmap:function (stream, buffer, offset, length, position, prot, flags) { + if (!FS.isFile(stream.node.mode)) { + throw new FS.ErrnoError(ERRNO_CODES.ENODEV); + } + var ptr; + var allocated; + var contents = stream.node.contents; + // Only make a new copy when MAP_PRIVATE is specified. + if ( !(flags & 2) && + (contents.buffer === buffer || contents.buffer === buffer.buffer) ) { + // We can't emulate MAP_SHARED when the file is not backed by the buffer + // we're mapping to (e.g. the HEAP buffer). + allocated = false; + ptr = contents.byteOffset; + } else { + // Try to avoid unnecessary slices. + if (position > 0 || position + length < stream.node.usedBytes) { + if (contents.subarray) { + contents = contents.subarray(position, position + length); + } else { + contents = Array.prototype.slice.call(contents, position, position + length); + } + } + allocated = true; + ptr = _malloc(length); + if (!ptr) { + throw new FS.ErrnoError(ERRNO_CODES.ENOMEM); + } + buffer.set(contents, ptr); + } + return { ptr: ptr, allocated: allocated }; + },msync:function (stream, buffer, offset, length, mmapFlags) { + if (!FS.isFile(stream.node.mode)) { + throw new FS.ErrnoError(ERRNO_CODES.ENODEV); + } + if (mmapFlags & 2) { + // MAP_PRIVATE calls need not to be synced back to underlying fs + return 0; + } + + var bytesWritten = MEMFS.stream_ops.write(stream, buffer, 0, length, offset, false); + // should we check if bytesWritten and length are the same? + return 0; + }}}; + + var IDBFS={dbs:{},indexedDB:function () { + if (typeof indexedDB !== 'undefined') return indexedDB; + var ret = null; + if (typeof window === 'object') ret = window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB; + assert(ret, 'IDBFS used, but indexedDB not supported'); + return ret; + },DB_VERSION:21,DB_STORE_NAME:"FILE_DATA",mount:function (mount) { + // reuse all of the core MEMFS functionality + return MEMFS.mount.apply(null, arguments); + },syncfs:function (mount, populate, callback) { + IDBFS.getLocalSet(mount, function(err, local) { + if (err) return callback(err); + + IDBFS.getRemoteSet(mount, function(err, remote) { + if (err) return callback(err); + + var src = populate ? remote : local; + var dst = populate ? local : remote; + + IDBFS.reconcile(src, dst, callback); + }); + }); + },getDB:function (name, callback) { + // check the cache first + var db = IDBFS.dbs[name]; + if (db) { + return callback(null, db); + } + + var req; + try { + req = IDBFS.indexedDB().open(name, IDBFS.DB_VERSION); + } catch (e) { + return callback(e); + } + if (!req) { + return callback("Unable to connect to IndexedDB"); + } + req.onupgradeneeded = function(e) { + var db = e.target.result; + var transaction = e.target.transaction; + + var fileStore; + + if (db.objectStoreNames.contains(IDBFS.DB_STORE_NAME)) { + fileStore = transaction.objectStore(IDBFS.DB_STORE_NAME); + } else { + fileStore = db.createObjectStore(IDBFS.DB_STORE_NAME); + } + + if (!fileStore.indexNames.contains('timestamp')) { + fileStore.createIndex('timestamp', 'timestamp', { unique: false }); + } + }; + req.onsuccess = function() { + db = req.result; + + // add to the cache + IDBFS.dbs[name] = db; + callback(null, db); + }; + req.onerror = function(e) { + callback(this.error); + e.preventDefault(); + }; + },getLocalSet:function (mount, callback) { + var entries = {}; + + function isRealDir(p) { + return p !== '.' && p !== '..'; + }; + function toAbsolute(root) { + return function(p) { + return PATH.join2(root, p); + } + }; + + var check = FS.readdir(mount.mountpoint).filter(isRealDir).map(toAbsolute(mount.mountpoint)); + + while (check.length) { + var path = check.pop(); + var stat; + + try { + stat = FS.stat(path); + } catch (e) { + return callback(e); + } + + if (FS.isDir(stat.mode)) { + check.push.apply(check, FS.readdir(path).filter(isRealDir).map(toAbsolute(path))); + } + + entries[path] = { timestamp: stat.mtime }; + } + + return callback(null, { type: 'local', entries: entries }); + },getRemoteSet:function (mount, callback) { + var entries = {}; + + IDBFS.getDB(mount.mountpoint, function(err, db) { + if (err) return callback(err); + + var transaction = db.transaction([IDBFS.DB_STORE_NAME], 'readonly'); + transaction.onerror = function(e) { + callback(this.error); + e.preventDefault(); + }; + + var store = transaction.objectStore(IDBFS.DB_STORE_NAME); + var index = store.index('timestamp'); + + index.openKeyCursor().onsuccess = function(event) { + var cursor = event.target.result; + + if (!cursor) { + return callback(null, { type: 'remote', db: db, entries: entries }); + } + + entries[cursor.primaryKey] = { timestamp: cursor.key }; + + cursor.continue(); + }; + }); + },loadLocalEntry:function (path, callback) { + var stat, node; + + try { + var lookup = FS.lookupPath(path); + node = lookup.node; + stat = FS.stat(path); + } catch (e) { + return callback(e); + } + + if (FS.isDir(stat.mode)) { + return callback(null, { timestamp: stat.mtime, mode: stat.mode }); + } else if (FS.isFile(stat.mode)) { + // Performance consideration: storing a normal JavaScript array to a IndexedDB is much slower than storing a typed array. + // Therefore always convert the file contents to a typed array first before writing the data to IndexedDB. + node.contents = MEMFS.getFileDataAsTypedArray(node); + return callback(null, { timestamp: stat.mtime, mode: stat.mode, contents: node.contents }); + } else { + return callback(new Error('node type not supported')); + } + },storeLocalEntry:function (path, entry, callback) { + try { + if (FS.isDir(entry.mode)) { + FS.mkdir(path, entry.mode); + } else if (FS.isFile(entry.mode)) { + FS.writeFile(path, entry.contents, { encoding: 'binary', canOwn: true }); + } else { + return callback(new Error('node type not supported')); + } + + FS.chmod(path, entry.mode); + FS.utime(path, entry.timestamp, entry.timestamp); + } catch (e) { + return callback(e); + } + + callback(null); + },removeLocalEntry:function (path, callback) { + try { + var lookup = FS.lookupPath(path); + var stat = FS.stat(path); + + if (FS.isDir(stat.mode)) { + FS.rmdir(path); + } else if (FS.isFile(stat.mode)) { + FS.unlink(path); + } + } catch (e) { + return callback(e); + } + + callback(null); + },loadRemoteEntry:function (store, path, callback) { + var req = store.get(path); + req.onsuccess = function(event) { callback(null, event.target.result); }; + req.onerror = function(e) { + callback(this.error); + e.preventDefault(); + }; + },storeRemoteEntry:function (store, path, entry, callback) { + var req = store.put(entry, path); + req.onsuccess = function() { callback(null); }; + req.onerror = function(e) { + callback(this.error); + e.preventDefault(); + }; + },removeRemoteEntry:function (store, path, callback) { + var req = store.delete(path); + req.onsuccess = function() { callback(null); }; + req.onerror = function(e) { + callback(this.error); + e.preventDefault(); + }; + },reconcile:function (src, dst, callback) { + var total = 0; + + var create = []; + Object.keys(src.entries).forEach(function (key) { + var e = src.entries[key]; + var e2 = dst.entries[key]; + if (!e2 || e.timestamp > e2.timestamp) { + create.push(key); + total++; + } + }); + + var remove = []; + Object.keys(dst.entries).forEach(function (key) { + var e = dst.entries[key]; + var e2 = src.entries[key]; + if (!e2) { + remove.push(key); + total++; + } + }); + + if (!total) { + return callback(null); + } + + var errored = false; + var completed = 0; + var db = src.type === 'remote' ? src.db : dst.db; + var transaction = db.transaction([IDBFS.DB_STORE_NAME], 'readwrite'); + var store = transaction.objectStore(IDBFS.DB_STORE_NAME); + + function done(err) { + if (err) { + if (!done.errored) { + done.errored = true; + return callback(err); + } + return; + } + if (++completed >= total) { + return callback(null); + } + }; + + transaction.onerror = function(e) { + done(this.error); + e.preventDefault(); + }; + + // sort paths in ascending order so directory entries are created + // before the files inside them + create.sort().forEach(function (path) { + if (dst.type === 'local') { + IDBFS.loadRemoteEntry(store, path, function (err, entry) { + if (err) return done(err); + IDBFS.storeLocalEntry(path, entry, done); + }); + } else { + IDBFS.loadLocalEntry(path, function (err, entry) { + if (err) return done(err); + IDBFS.storeRemoteEntry(store, path, entry, done); + }); + } + }); + + // sort paths in descending order so files are deleted before their + // parent directories + remove.sort().reverse().forEach(function(path) { + if (dst.type === 'local') { + IDBFS.removeLocalEntry(path, done); + } else { + IDBFS.removeRemoteEntry(store, path, done); + } + }); + }}; + + var NODEFS={isWindows:false,staticInit:function () { + NODEFS.isWindows = !!process.platform.match(/^win/); + },mount:function (mount) { + assert(ENVIRONMENT_IS_NODE); + return NODEFS.createNode(null, '/', NODEFS.getMode(mount.opts.root), 0); + },createNode:function (parent, name, mode, dev) { + if (!FS.isDir(mode) && !FS.isFile(mode) && !FS.isLink(mode)) { + throw new FS.ErrnoError(ERRNO_CODES.EINVAL); + } + var node = FS.createNode(parent, name, mode); + node.node_ops = NODEFS.node_ops; + node.stream_ops = NODEFS.stream_ops; + return node; + },getMode:function (path) { + var stat; + try { + stat = fs.lstatSync(path); + if (NODEFS.isWindows) { + // On Windows, directories return permission bits 'rw-rw-rw-', even though they have 'rwxrwxrwx', so + // propagate write bits to execute bits. + stat.mode = stat.mode | ((stat.mode & 146) >> 1); + } + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(ERRNO_CODES[e.code]); + } + return stat.mode; + },realPath:function (node) { + var parts = []; + while (node.parent !== node) { + parts.push(node.name); + node = node.parent; + } + parts.push(node.mount.opts.root); + parts.reverse(); + return PATH.join.apply(null, parts); + },flagsToPermissionStringMap:{0:"r",1:"r+",2:"r+",64:"r",65:"r+",66:"r+",129:"rx+",193:"rx+",514:"w+",577:"w",578:"w+",705:"wx",706:"wx+",1024:"a",1025:"a",1026:"a+",1089:"a",1090:"a+",1153:"ax",1154:"ax+",1217:"ax",1218:"ax+",4096:"rs",4098:"rs+"},flagsToPermissionString:function (flags) { + flags &= ~0x200000 /*O_PATH*/; // Ignore this flag from musl, otherwise node.js fails to open the file. + flags &= ~0x800 /*O_NONBLOCK*/; // Ignore this flag from musl, otherwise node.js fails to open the file. + flags &= ~0x8000 /*O_LARGEFILE*/; // Ignore this flag from musl, otherwise node.js fails to open the file. + flags &= ~0x80000 /*O_CLOEXEC*/; // Some applications may pass it; it makes no sense for a single process. + if (flags in NODEFS.flagsToPermissionStringMap) { + return NODEFS.flagsToPermissionStringMap[flags]; + } else { + throw new FS.ErrnoError(ERRNO_CODES.EINVAL); + } + },node_ops:{getattr:function (node) { + var path = NODEFS.realPath(node); + var stat; + try { + stat = fs.lstatSync(path); + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(ERRNO_CODES[e.code]); + } + // node.js v0.10.20 doesn't report blksize and blocks on Windows. Fake them with default blksize of 4096. + // See http://support.microsoft.com/kb/140365 + if (NODEFS.isWindows && !stat.blksize) { + stat.blksize = 4096; + } + if (NODEFS.isWindows && !stat.blocks) { + stat.blocks = (stat.size+stat.blksize-1)/stat.blksize|0; + } + return { + dev: stat.dev, + ino: stat.ino, + mode: stat.mode, + nlink: stat.nlink, + uid: stat.uid, + gid: stat.gid, + rdev: stat.rdev, + size: stat.size, + atime: stat.atime, + mtime: stat.mtime, + ctime: stat.ctime, + blksize: stat.blksize, + blocks: stat.blocks + }; + },setattr:function (node, attr) { + var path = NODEFS.realPath(node); + try { + if (attr.mode !== undefined) { + fs.chmodSync(path, attr.mode); + // update the common node structure mode as well + node.mode = attr.mode; + } + if (attr.timestamp !== undefined) { + var date = new Date(attr.timestamp); + fs.utimesSync(path, date, date); + } + if (attr.size !== undefined) { + fs.truncateSync(path, attr.size); + } + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(ERRNO_CODES[e.code]); + } + },lookup:function (parent, name) { + var path = PATH.join2(NODEFS.realPath(parent), name); + var mode = NODEFS.getMode(path); + return NODEFS.createNode(parent, name, mode); + },mknod:function (parent, name, mode, dev) { + var node = NODEFS.createNode(parent, name, mode, dev); + // create the backing node for this in the fs root as well + var path = NODEFS.realPath(node); + try { + if (FS.isDir(node.mode)) { + fs.mkdirSync(path, node.mode); + } else { + fs.writeFileSync(path, '', { mode: node.mode }); + } + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(ERRNO_CODES[e.code]); + } + return node; + },rename:function (oldNode, newDir, newName) { + var oldPath = NODEFS.realPath(oldNode); + var newPath = PATH.join2(NODEFS.realPath(newDir), newName); + try { + fs.renameSync(oldPath, newPath); + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(ERRNO_CODES[e.code]); + } + },unlink:function (parent, name) { + var path = PATH.join2(NODEFS.realPath(parent), name); + try { + fs.unlinkSync(path); + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(ERRNO_CODES[e.code]); + } + },rmdir:function (parent, name) { + var path = PATH.join2(NODEFS.realPath(parent), name); + try { + fs.rmdirSync(path); + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(ERRNO_CODES[e.code]); + } + },readdir:function (node) { + var path = NODEFS.realPath(node); + try { + return fs.readdirSync(path); + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(ERRNO_CODES[e.code]); + } + },symlink:function (parent, newName, oldPath) { + var newPath = PATH.join2(NODEFS.realPath(parent), newName); + try { + fs.symlinkSync(oldPath, newPath); + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(ERRNO_CODES[e.code]); + } + },readlink:function (node) { + var path = NODEFS.realPath(node); + try { + path = fs.readlinkSync(path); + path = NODEJS_PATH.relative(NODEJS_PATH.resolve(node.mount.opts.root), path); + return path; + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(ERRNO_CODES[e.code]); + } + }},stream_ops:{open:function (stream) { + var path = NODEFS.realPath(stream.node); + try { + if (FS.isFile(stream.node.mode)) { + stream.nfd = fs.openSync(path, NODEFS.flagsToPermissionString(stream.flags)); + } + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(ERRNO_CODES[e.code]); + } + },close:function (stream) { + try { + if (FS.isFile(stream.node.mode) && stream.nfd) { + fs.closeSync(stream.nfd); + } + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(ERRNO_CODES[e.code]); + } + },read:function (stream, buffer, offset, length, position) { + if (length === 0) return 0; // node errors on 0 length reads + // FIXME this is terrible. + var nbuffer = new Buffer(length); + var res; + try { + res = fs.readSync(stream.nfd, nbuffer, 0, length, position); + } catch (e) { + throw new FS.ErrnoError(ERRNO_CODES[e.code]); + } + if (res > 0) { + for (var i = 0; i < res; i++) { + buffer[offset + i] = nbuffer[i]; + } + } + return res; + },write:function (stream, buffer, offset, length, position) { + // FIXME this is terrible. + var nbuffer = new Buffer(buffer.subarray(offset, offset + length)); + var res; + try { + res = fs.writeSync(stream.nfd, nbuffer, 0, length, position); + } catch (e) { + throw new FS.ErrnoError(ERRNO_CODES[e.code]); + } + return res; + },llseek:function (stream, offset, whence) { + var position = offset; + if (whence === 1) { // SEEK_CUR. + position += stream.position; + } else if (whence === 2) { // SEEK_END. + if (FS.isFile(stream.node.mode)) { + try { + var stat = fs.fstatSync(stream.nfd); + position += stat.size; + } catch (e) { + throw new FS.ErrnoError(ERRNO_CODES[e.code]); + } + } + } + + if (position < 0) { + throw new FS.ErrnoError(ERRNO_CODES.EINVAL); + } + + return position; + }}}; + + var WORKERFS={DIR_MODE:16895,FILE_MODE:33279,reader:null,mount:function (mount) { + assert(ENVIRONMENT_IS_WORKER); + if (!WORKERFS.reader) WORKERFS.reader = new FileReaderSync(); + var root = WORKERFS.createNode(null, '/', WORKERFS.DIR_MODE, 0); + var createdParents = {}; + function ensureParent(path) { + // return the parent node, creating subdirs as necessary + var parts = path.split('/'); + var parent = root; + for (var i = 0; i < parts.length-1; i++) { + var curr = parts.slice(0, i+1).join('/'); + // Issue 4254: Using curr as a node name will prevent the node + // from being found in FS.nameTable when FS.open is called on + // a path which holds a child of this node, + // given that all FS functions assume node names + // are just their corresponding parts within their given path, + // rather than incremental aggregates which include their parent's + // directories. + if (!createdParents[curr]) { + createdParents[curr] = WORKERFS.createNode(parent, parts[i], WORKERFS.DIR_MODE, 0); + } + parent = createdParents[curr]; + } + return parent; + } + function base(path) { + var parts = path.split('/'); + return parts[parts.length-1]; + } + // We also accept FileList here, by using Array.prototype + Array.prototype.forEach.call(mount.opts["files"] || [], function(file) { + WORKERFS.createNode(ensureParent(file.name), base(file.name), WORKERFS.FILE_MODE, 0, file, file.lastModifiedDate); + }); + (mount.opts["blobs"] || []).forEach(function(obj) { + WORKERFS.createNode(ensureParent(obj["name"]), base(obj["name"]), WORKERFS.FILE_MODE, 0, obj["data"]); + }); + (mount.opts["packages"] || []).forEach(function(pack) { + pack['metadata'].files.forEach(function(file) { + var name = file.filename.substr(1); // remove initial slash + WORKERFS.createNode(ensureParent(name), base(name), WORKERFS.FILE_MODE, 0, pack['blob'].slice(file.start, file.end)); + }); + }); + return root; + },createNode:function (parent, name, mode, dev, contents, mtime) { + var node = FS.createNode(parent, name, mode); + node.mode = mode; + node.node_ops = WORKERFS.node_ops; + node.stream_ops = WORKERFS.stream_ops; + node.timestamp = (mtime || new Date).getTime(); + assert(WORKERFS.FILE_MODE !== WORKERFS.DIR_MODE); + if (mode === WORKERFS.FILE_MODE) { + node.size = contents.size; + node.contents = contents; + } else { + node.size = 4096; + node.contents = {}; + } + if (parent) { + parent.contents[name] = node; + } + return node; + },node_ops:{getattr:function (node) { + return { + dev: 1, + ino: undefined, + mode: node.mode, + nlink: 1, + uid: 0, + gid: 0, + rdev: undefined, + size: node.size, + atime: new Date(node.timestamp), + mtime: new Date(node.timestamp), + ctime: new Date(node.timestamp), + blksize: 4096, + blocks: Math.ceil(node.size / 4096), + }; + },setattr:function (node, attr) { + if (attr.mode !== undefined) { + node.mode = attr.mode; + } + if (attr.timestamp !== undefined) { + node.timestamp = attr.timestamp; + } + },lookup:function (parent, name) { + throw new FS.ErrnoError(ERRNO_CODES.ENOENT); + },mknod:function (parent, name, mode, dev) { + throw new FS.ErrnoError(ERRNO_CODES.EPERM); + },rename:function (oldNode, newDir, newName) { + throw new FS.ErrnoError(ERRNO_CODES.EPERM); + },unlink:function (parent, name) { + throw new FS.ErrnoError(ERRNO_CODES.EPERM); + },rmdir:function (parent, name) { + throw new FS.ErrnoError(ERRNO_CODES.EPERM); + },readdir:function (node) { + var entries = ['.', '..']; + for (var key in node.contents) { + if (!node.contents.hasOwnProperty(key)) { + continue; + } + entries.push(key); + } + return entries; + },symlink:function (parent, newName, oldPath) { + throw new FS.ErrnoError(ERRNO_CODES.EPERM); + },readlink:function (node) { + throw new FS.ErrnoError(ERRNO_CODES.EPERM); + }},stream_ops:{read:function (stream, buffer, offset, length, position) { + if (position >= stream.node.size) return 0; + var chunk = stream.node.contents.slice(position, position + length); + var ab = WORKERFS.reader.readAsArrayBuffer(chunk); + buffer.set(new Uint8Array(ab), offset); + return chunk.size; + },write:function (stream, buffer, offset, length, position) { + throw new FS.ErrnoError(ERRNO_CODES.EIO); + },llseek:function (stream, offset, whence) { + var position = offset; + if (whence === 1) { // SEEK_CUR. + position += stream.position; + } else if (whence === 2) { // SEEK_END. + if (FS.isFile(stream.node.mode)) { + position += stream.node.size; + } + } + if (position < 0) { + throw new FS.ErrnoError(ERRNO_CODES.EINVAL); + } + return position; + }}}; + + var _stdin=STATICTOP; STATICTOP += 16;; + + var _stdout=STATICTOP; STATICTOP += 16;; + + var _stderr=STATICTOP; STATICTOP += 16;;var FS={root:null,mounts:[],devices:[null],streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,handleFSError:function (e) { + if (!(e instanceof FS.ErrnoError)) throw e + ' : ' + stackTrace(); + return ___setErrNo(e.errno); + },lookupPath:function (path, opts) { + path = PATH.resolve(FS.cwd(), path); + opts = opts || {}; + + if (!path) return { path: '', node: null }; + + var defaults = { + follow_mount: true, + recurse_count: 0 + }; + for (var key in defaults) { + if (opts[key] === undefined) { + opts[key] = defaults[key]; + } + } + + if (opts.recurse_count > 8) { // max recursive lookup of 8 + throw new FS.ErrnoError(ERRNO_CODES.ELOOP); + } + + // split the path + var parts = PATH.normalizeArray(path.split('/').filter(function(p) { + return !!p; + }), false); + + // start at the root + var current = FS.root; + var current_path = '/'; + + for (var i = 0; i < parts.length; i++) { + var islast = (i === parts.length-1); + if (islast && opts.parent) { + // stop resolving + break; + } + + current = FS.lookupNode(current, parts[i]); + current_path = PATH.join2(current_path, parts[i]); + + // jump to the mount's root node if this is a mountpoint + if (FS.isMountpoint(current)) { + if (!islast || (islast && opts.follow_mount)) { + current = current.mounted.root; + } + } + + // by default, lookupPath will not follow a symlink if it is the final path component. + // setting opts.follow = true will override this behavior. + if (!islast || opts.follow) { + var count = 0; + while (FS.isLink(current.mode)) { + var link = FS.readlink(current_path); + current_path = PATH.resolve(PATH.dirname(current_path), link); + + var lookup = FS.lookupPath(current_path, { recurse_count: opts.recurse_count }); + current = lookup.node; + + if (count++ > 40) { // limit max consecutive symlinks to 40 (SYMLOOP_MAX). + throw new FS.ErrnoError(ERRNO_CODES.ELOOP); + } + } + } + } + + return { path: current_path, node: current }; + },getPath:function (node) { + var path; + while (true) { + if (FS.isRoot(node)) { + var mount = node.mount.mountpoint; + if (!path) return mount; + return mount[mount.length-1] !== '/' ? mount + '/' + path : mount + path; + } + path = path ? node.name + '/' + path : node.name; + node = node.parent; + } + },hashName:function (parentid, name) { + var hash = 0; + + + for (var i = 0; i < name.length; i++) { + hash = ((hash << 5) - hash + name.charCodeAt(i)) | 0; + } + return ((parentid + hash) >>> 0) % FS.nameTable.length; + },hashAddNode:function (node) { + var hash = FS.hashName(node.parent.id, node.name); + node.name_next = FS.nameTable[hash]; + FS.nameTable[hash] = node; + },hashRemoveNode:function (node) { + var hash = FS.hashName(node.parent.id, node.name); + if (FS.nameTable[hash] === node) { + FS.nameTable[hash] = node.name_next; + } else { + var current = FS.nameTable[hash]; + while (current) { + if (current.name_next === node) { + current.name_next = node.name_next; + break; + } + current = current.name_next; + } + } + },lookupNode:function (parent, name) { + var err = FS.mayLookup(parent); + if (err) { + throw new FS.ErrnoError(err, parent); + } + var hash = FS.hashName(parent.id, name); + for (var node = FS.nameTable[hash]; node; node = node.name_next) { + var nodeName = node.name; + if (node.parent.id === parent.id && nodeName === name) { + return node; + } + } + // if we failed to find it in the cache, call into the VFS + return FS.lookup(parent, name); + },createNode:function (parent, name, mode, rdev) { + if (!FS.FSNode) { + FS.FSNode = function(parent, name, mode, rdev) { + if (!parent) { + parent = this; // root node sets parent to itself + } + this.parent = parent; + this.mount = parent.mount; + this.mounted = null; + this.id = FS.nextInode++; + this.name = name; + this.mode = mode; + this.node_ops = {}; + this.stream_ops = {}; + this.rdev = rdev; + }; + + FS.FSNode.prototype = {}; + + // compatibility + var readMode = 292 | 73; + var writeMode = 146; + + // NOTE we must use Object.defineProperties instead of individual calls to + // Object.defineProperty in order to make closure compiler happy + Object.defineProperties(FS.FSNode.prototype, { + read: { + get: function() { return (this.mode & readMode) === readMode; }, + set: function(val) { val ? this.mode |= readMode : this.mode &= ~readMode; } + }, + write: { + get: function() { return (this.mode & writeMode) === writeMode; }, + set: function(val) { val ? this.mode |= writeMode : this.mode &= ~writeMode; } + }, + isFolder: { + get: function() { return FS.isDir(this.mode); } + }, + isDevice: { + get: function() { return FS.isChrdev(this.mode); } + } + }); + } + + var node = new FS.FSNode(parent, name, mode, rdev); + + FS.hashAddNode(node); + + return node; + },destroyNode:function (node) { + FS.hashRemoveNode(node); + },isRoot:function (node) { + return node === node.parent; + },isMountpoint:function (node) { + return !!node.mounted; + },isFile:function (mode) { + return (mode & 61440) === 32768; + },isDir:function (mode) { + return (mode & 61440) === 16384; + },isLink:function (mode) { + return (mode & 61440) === 40960; + },isChrdev:function (mode) { + return (mode & 61440) === 8192; + },isBlkdev:function (mode) { + return (mode & 61440) === 24576; + },isFIFO:function (mode) { + return (mode & 61440) === 4096; + },isSocket:function (mode) { + return (mode & 49152) === 49152; + },flagModes:{"r":0,"rs":1052672,"r+":2,"w":577,"wx":705,"xw":705,"w+":578,"wx+":706,"xw+":706,"a":1089,"ax":1217,"xa":1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:function (str) { + var flags = FS.flagModes[str]; + if (typeof flags === 'undefined') { + throw new Error('Unknown file open mode: ' + str); + } + return flags; + },flagsToPermissionString:function (flag) { + var perms = ['r', 'w', 'rw'][flag & 3]; + if ((flag & 512)) { + perms += 'w'; + } + return perms; + },nodePermissions:function (node, perms) { + if (FS.ignorePermissions) { + return 0; + } + // return 0 if any user, group or owner bits are set. + if (perms.indexOf('r') !== -1 && !(node.mode & 292)) { + return ERRNO_CODES.EACCES; + } else if (perms.indexOf('w') !== -1 && !(node.mode & 146)) { + return ERRNO_CODES.EACCES; + } else if (perms.indexOf('x') !== -1 && !(node.mode & 73)) { + return ERRNO_CODES.EACCES; + } + return 0; + },mayLookup:function (dir) { + var err = FS.nodePermissions(dir, 'x'); + if (err) return err; + if (!dir.node_ops.lookup) return ERRNO_CODES.EACCES; + return 0; + },mayCreate:function (dir, name) { + try { + var node = FS.lookupNode(dir, name); + return ERRNO_CODES.EEXIST; + } catch (e) { + } + return FS.nodePermissions(dir, 'wx'); + },mayDelete:function (dir, name, isdir) { + var node; + try { + node = FS.lookupNode(dir, name); + } catch (e) { + return e.errno; + } + var err = FS.nodePermissions(dir, 'wx'); + if (err) { + return err; + } + if (isdir) { + if (!FS.isDir(node.mode)) { + return ERRNO_CODES.ENOTDIR; + } + if (FS.isRoot(node) || FS.getPath(node) === FS.cwd()) { + return ERRNO_CODES.EBUSY; + } + } else { + if (FS.isDir(node.mode)) { + return ERRNO_CODES.EISDIR; + } + } + return 0; + },mayOpen:function (node, flags) { + if (!node) { + return ERRNO_CODES.ENOENT; + } + if (FS.isLink(node.mode)) { + return ERRNO_CODES.ELOOP; + } else if (FS.isDir(node.mode)) { + if (FS.flagsToPermissionString(flags) !== 'r' || // opening for write + (flags & 512)) { // TODO: check for O_SEARCH? (== search for dir only) + return ERRNO_CODES.EISDIR; + } + } + return FS.nodePermissions(node, FS.flagsToPermissionString(flags)); + },MAX_OPEN_FDS:4096,nextfd:function (fd_start, fd_end) { + fd_start = fd_start || 0; + fd_end = fd_end || FS.MAX_OPEN_FDS; + for (var fd = fd_start; fd <= fd_end; fd++) { + if (!FS.streams[fd]) { + return fd; + } + } + throw new FS.ErrnoError(ERRNO_CODES.EMFILE); + },getStream:function (fd) { + return FS.streams[fd]; + },createStream:function (stream, fd_start, fd_end) { + if (!FS.FSStream) { + FS.FSStream = function(){}; + FS.FSStream.prototype = {}; + // compatibility + Object.defineProperties(FS.FSStream.prototype, { + object: { + get: function() { return this.node; }, + set: function(val) { this.node = val; } + }, + isRead: { + get: function() { return (this.flags & 2097155) !== 1; } + }, + isWrite: { + get: function() { return (this.flags & 2097155) !== 0; } + }, + isAppend: { + get: function() { return (this.flags & 1024); } + } + }); + } + // clone it, so we can return an instance of FSStream + var newStream = new FS.FSStream(); + for (var p in stream) { + newStream[p] = stream[p]; + } + stream = newStream; + var fd = FS.nextfd(fd_start, fd_end); + stream.fd = fd; + FS.streams[fd] = stream; + return stream; + },closeStream:function (fd) { + FS.streams[fd] = null; + },chrdev_stream_ops:{open:function (stream) { + var device = FS.getDevice(stream.node.rdev); + // override node's stream ops with the device's + stream.stream_ops = device.stream_ops; + // forward the open call + if (stream.stream_ops.open) { + stream.stream_ops.open(stream); + } + },llseek:function () { + throw new FS.ErrnoError(ERRNO_CODES.ESPIPE); + }},major:function (dev) { + return ((dev) >> 8); + },minor:function (dev) { + return ((dev) & 0xff); + },makedev:function (ma, mi) { + return ((ma) << 8 | (mi)); + },registerDevice:function (dev, ops) { + FS.devices[dev] = { stream_ops: ops }; + },getDevice:function (dev) { + return FS.devices[dev]; + },getMounts:function (mount) { + var mounts = []; + var check = [mount]; + + while (check.length) { + var m = check.pop(); + + mounts.push(m); + + check.push.apply(check, m.mounts); + } + + return mounts; + },syncfs:function (populate, callback) { + if (typeof(populate) === 'function') { + callback = populate; + populate = false; + } + + FS.syncFSRequests++; + + if (FS.syncFSRequests > 1) { + console.log('warning: ' + FS.syncFSRequests + ' FS.syncfs operations in flight at once, probably just doing extra work'); + } + + var mounts = FS.getMounts(FS.root.mount); + var completed = 0; + + function doCallback(err) { + assert(FS.syncFSRequests > 0); + FS.syncFSRequests--; + return callback(err); + } + + function done(err) { + if (err) { + if (!done.errored) { + done.errored = true; + return doCallback(err); + } + return; + } + if (++completed >= mounts.length) { + doCallback(null); + } + }; + + // sync all mounts + mounts.forEach(function (mount) { + if (!mount.type.syncfs) { + return done(null); + } + mount.type.syncfs(mount, populate, done); + }); + },mount:function (type, opts, mountpoint) { + var root = mountpoint === '/'; + var pseudo = !mountpoint; + var node; + + if (root && FS.root) { + throw new FS.ErrnoError(ERRNO_CODES.EBUSY); + } else if (!root && !pseudo) { + var lookup = FS.lookupPath(mountpoint, { follow_mount: false }); + + mountpoint = lookup.path; // use the absolute path + node = lookup.node; + + if (FS.isMountpoint(node)) { + throw new FS.ErrnoError(ERRNO_CODES.EBUSY); + } + + if (!FS.isDir(node.mode)) { + throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR); + } + } + + var mount = { + type: type, + opts: opts, + mountpoint: mountpoint, + mounts: [] + }; + + // create a root node for the fs + var mountRoot = type.mount(mount); + mountRoot.mount = mount; + mount.root = mountRoot; + + if (root) { + FS.root = mountRoot; + } else if (node) { + // set as a mountpoint + node.mounted = mount; + + // add the new mount to the current mount's children + if (node.mount) { + node.mount.mounts.push(mount); + } + } + + return mountRoot; + },unmount:function (mountpoint) { + var lookup = FS.lookupPath(mountpoint, { follow_mount: false }); + + if (!FS.isMountpoint(lookup.node)) { + throw new FS.ErrnoError(ERRNO_CODES.EINVAL); + } + + // destroy the nodes for this mount, and all its child mounts + var node = lookup.node; + var mount = node.mounted; + var mounts = FS.getMounts(mount); + + Object.keys(FS.nameTable).forEach(function (hash) { + var current = FS.nameTable[hash]; + + while (current) { + var next = current.name_next; + + if (mounts.indexOf(current.mount) !== -1) { + FS.destroyNode(current); + } + + current = next; + } + }); + + // no longer a mountpoint + node.mounted = null; + + // remove this mount from the child mounts + var idx = node.mount.mounts.indexOf(mount); + assert(idx !== -1); + node.mount.mounts.splice(idx, 1); + },lookup:function (parent, name) { + return parent.node_ops.lookup(parent, name); + },mknod:function (path, mode, dev) { + var lookup = FS.lookupPath(path, { parent: true }); + var parent = lookup.node; + var name = PATH.basename(path); + if (!name || name === '.' || name === '..') { + throw new FS.ErrnoError(ERRNO_CODES.EINVAL); + } + var err = FS.mayCreate(parent, name); + if (err) { + throw new FS.ErrnoError(err); + } + if (!parent.node_ops.mknod) { + throw new FS.ErrnoError(ERRNO_CODES.EPERM); + } + return parent.node_ops.mknod(parent, name, mode, dev); + },create:function (path, mode) { + mode = mode !== undefined ? mode : 438 /* 0666 */; + mode &= 4095; + mode |= 32768; + return FS.mknod(path, mode, 0); + },mkdir:function (path, mode) { + mode = mode !== undefined ? mode : 511 /* 0777 */; + mode &= 511 | 512; + mode |= 16384; + return FS.mknod(path, mode, 0); + },mkdirTree:function (path, mode) { + var dirs = path.split('/'); + var d = ''; + for (var i = 0; i < dirs.length; ++i) { + if (!dirs[i]) continue; + d += '/' + dirs[i]; + try { + FS.mkdir(d, mode); + } catch(e) { + if (e.errno != ERRNO_CODES.EEXIST) throw e; + } + } + },mkdev:function (path, mode, dev) { + if (typeof(dev) === 'undefined') { + dev = mode; + mode = 438 /* 0666 */; + } + mode |= 8192; + return FS.mknod(path, mode, dev); + },symlink:function (oldpath, newpath) { + if (!PATH.resolve(oldpath)) { + throw new FS.ErrnoError(ERRNO_CODES.ENOENT); + } + var lookup = FS.lookupPath(newpath, { parent: true }); + var parent = lookup.node; + if (!parent) { + throw new FS.ErrnoError(ERRNO_CODES.ENOENT); + } + var newname = PATH.basename(newpath); + var err = FS.mayCreate(parent, newname); + if (err) { + throw new FS.ErrnoError(err); + } + if (!parent.node_ops.symlink) { + throw new FS.ErrnoError(ERRNO_CODES.EPERM); + } + return parent.node_ops.symlink(parent, newname, oldpath); + },rename:function (old_path, new_path) { + var old_dirname = PATH.dirname(old_path); + var new_dirname = PATH.dirname(new_path); + var old_name = PATH.basename(old_path); + var new_name = PATH.basename(new_path); + // parents must exist + var lookup, old_dir, new_dir; + try { + lookup = FS.lookupPath(old_path, { parent: true }); + old_dir = lookup.node; + lookup = FS.lookupPath(new_path, { parent: true }); + new_dir = lookup.node; + } catch (e) { + throw new FS.ErrnoError(ERRNO_CODES.EBUSY); + } + if (!old_dir || !new_dir) throw new FS.ErrnoError(ERRNO_CODES.ENOENT); + // need to be part of the same mount + if (old_dir.mount !== new_dir.mount) { + throw new FS.ErrnoError(ERRNO_CODES.EXDEV); + } + // source must exist + var old_node = FS.lookupNode(old_dir, old_name); + // old path should not be an ancestor of the new path + var relative = PATH.relative(old_path, new_dirname); + if (relative.charAt(0) !== '.') { + throw new FS.ErrnoError(ERRNO_CODES.EINVAL); + } + // new path should not be an ancestor of the old path + relative = PATH.relative(new_path, old_dirname); + if (relative.charAt(0) !== '.') { + throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY); + } + // see if the new path already exists + var new_node; + try { + new_node = FS.lookupNode(new_dir, new_name); + } catch (e) { + // not fatal + } + // early out if nothing needs to change + if (old_node === new_node) { + return; + } + // we'll need to delete the old entry + var isdir = FS.isDir(old_node.mode); + var err = FS.mayDelete(old_dir, old_name, isdir); + if (err) { + throw new FS.ErrnoError(err); + } + // need delete permissions if we'll be overwriting. + // need create permissions if new doesn't already exist. + err = new_node ? + FS.mayDelete(new_dir, new_name, isdir) : + FS.mayCreate(new_dir, new_name); + if (err) { + throw new FS.ErrnoError(err); + } + if (!old_dir.node_ops.rename) { + throw new FS.ErrnoError(ERRNO_CODES.EPERM); + } + if (FS.isMountpoint(old_node) || (new_node && FS.isMountpoint(new_node))) { + throw new FS.ErrnoError(ERRNO_CODES.EBUSY); + } + // if we are going to change the parent, check write permissions + if (new_dir !== old_dir) { + err = FS.nodePermissions(old_dir, 'w'); + if (err) { + throw new FS.ErrnoError(err); + } + } + try { + if (FS.trackingDelegate['willMovePath']) { + FS.trackingDelegate['willMovePath'](old_path, new_path); + } + } catch(e) { + console.log("FS.trackingDelegate['willMovePath']('"+old_path+"', '"+new_path+"') threw an exception: " + e.message); + } + // remove the node from the lookup hash + FS.hashRemoveNode(old_node); + // do the underlying fs rename + try { + old_dir.node_ops.rename(old_node, new_dir, new_name); + } catch (e) { + throw e; + } finally { + // add the node back to the hash (in case node_ops.rename + // changed its name) + FS.hashAddNode(old_node); + } + try { + if (FS.trackingDelegate['onMovePath']) FS.trackingDelegate['onMovePath'](old_path, new_path); + } catch(e) { + console.log("FS.trackingDelegate['onMovePath']('"+old_path+"', '"+new_path+"') threw an exception: " + e.message); + } + },rmdir:function (path) { + var lookup = FS.lookupPath(path, { parent: true }); + var parent = lookup.node; + var name = PATH.basename(path); + var node = FS.lookupNode(parent, name); + var err = FS.mayDelete(parent, name, true); + if (err) { + throw new FS.ErrnoError(err); + } + if (!parent.node_ops.rmdir) { + throw new FS.ErrnoError(ERRNO_CODES.EPERM); + } + if (FS.isMountpoint(node)) { + throw new FS.ErrnoError(ERRNO_CODES.EBUSY); + } + try { + if (FS.trackingDelegate['willDeletePath']) { + FS.trackingDelegate['willDeletePath'](path); + } + } catch(e) { + console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: " + e.message); + } + parent.node_ops.rmdir(parent, name); + FS.destroyNode(node); + try { + if (FS.trackingDelegate['onDeletePath']) FS.trackingDelegate['onDeletePath'](path); + } catch(e) { + console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: " + e.message); + } + },readdir:function (path) { + var lookup = FS.lookupPath(path, { follow: true }); + var node = lookup.node; + if (!node.node_ops.readdir) { + throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR); + } + return node.node_ops.readdir(node); + },unlink:function (path) { + var lookup = FS.lookupPath(path, { parent: true }); + var parent = lookup.node; + var name = PATH.basename(path); + var node = FS.lookupNode(parent, name); + var err = FS.mayDelete(parent, name, false); + if (err) { + // According to POSIX, we should map EISDIR to EPERM, but + // we instead do what Linux does (and we must, as we use + // the musl linux libc). + throw new FS.ErrnoError(err); + } + if (!parent.node_ops.unlink) { + throw new FS.ErrnoError(ERRNO_CODES.EPERM); + } + if (FS.isMountpoint(node)) { + throw new FS.ErrnoError(ERRNO_CODES.EBUSY); + } + try { + if (FS.trackingDelegate['willDeletePath']) { + FS.trackingDelegate['willDeletePath'](path); + } + } catch(e) { + console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: " + e.message); + } + parent.node_ops.unlink(parent, name); + FS.destroyNode(node); + try { + if (FS.trackingDelegate['onDeletePath']) FS.trackingDelegate['onDeletePath'](path); + } catch(e) { + console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: " + e.message); + } + },readlink:function (path) { + var lookup = FS.lookupPath(path); + var link = lookup.node; + if (!link) { + throw new FS.ErrnoError(ERRNO_CODES.ENOENT); + } + if (!link.node_ops.readlink) { + throw new FS.ErrnoError(ERRNO_CODES.EINVAL); + } + return PATH.resolve(FS.getPath(link.parent), link.node_ops.readlink(link)); + },stat:function (path, dontFollow) { + var lookup = FS.lookupPath(path, { follow: !dontFollow }); + var node = lookup.node; + if (!node) { + throw new FS.ErrnoError(ERRNO_CODES.ENOENT); + } + if (!node.node_ops.getattr) { + throw new FS.ErrnoError(ERRNO_CODES.EPERM); + } + return node.node_ops.getattr(node); + },lstat:function (path) { + return FS.stat(path, true); + },chmod:function (path, mode, dontFollow) { + var node; + if (typeof path === 'string') { + var lookup = FS.lookupPath(path, { follow: !dontFollow }); + node = lookup.node; + } else { + node = path; + } + if (!node.node_ops.setattr) { + throw new FS.ErrnoError(ERRNO_CODES.EPERM); + } + node.node_ops.setattr(node, { + mode: (mode & 4095) | (node.mode & ~4095), + timestamp: Date.now() + }); + },lchmod:function (path, mode) { + FS.chmod(path, mode, true); + },fchmod:function (fd, mode) { + var stream = FS.getStream(fd); + if (!stream) { + throw new FS.ErrnoError(ERRNO_CODES.EBADF); + } + FS.chmod(stream.node, mode); + },chown:function (path, uid, gid, dontFollow) { + var node; + if (typeof path === 'string') { + var lookup = FS.lookupPath(path, { follow: !dontFollow }); + node = lookup.node; + } else { + node = path; + } + if (!node.node_ops.setattr) { + throw new FS.ErrnoError(ERRNO_CODES.EPERM); + } + node.node_ops.setattr(node, { + timestamp: Date.now() + // we ignore the uid / gid for now + }); + },lchown:function (path, uid, gid) { + FS.chown(path, uid, gid, true); + },fchown:function (fd, uid, gid) { + var stream = FS.getStream(fd); + if (!stream) { + throw new FS.ErrnoError(ERRNO_CODES.EBADF); + } + FS.chown(stream.node, uid, gid); + },truncate:function (path, len) { + if (len < 0) { + throw new FS.ErrnoError(ERRNO_CODES.EINVAL); + } + var node; + if (typeof path === 'string') { + var lookup = FS.lookupPath(path, { follow: true }); + node = lookup.node; + } else { + node = path; + } + if (!node.node_ops.setattr) { + throw new FS.ErrnoError(ERRNO_CODES.EPERM); + } + if (FS.isDir(node.mode)) { + throw new FS.ErrnoError(ERRNO_CODES.EISDIR); + } + if (!FS.isFile(node.mode)) { + throw new FS.ErrnoError(ERRNO_CODES.EINVAL); + } + var err = FS.nodePermissions(node, 'w'); + if (err) { + throw new FS.ErrnoError(err); + } + node.node_ops.setattr(node, { + size: len, + timestamp: Date.now() + }); + },ftruncate:function (fd, len) { + var stream = FS.getStream(fd); + if (!stream) { + throw new FS.ErrnoError(ERRNO_CODES.EBADF); + } + if ((stream.flags & 2097155) === 0) { + throw new FS.ErrnoError(ERRNO_CODES.EINVAL); + } + FS.truncate(stream.node, len); + },utime:function (path, atime, mtime) { + var lookup = FS.lookupPath(path, { follow: true }); + var node = lookup.node; + node.node_ops.setattr(node, { + timestamp: Math.max(atime, mtime) + }); + },open:function (path, flags, mode, fd_start, fd_end) { + if (path === "") { + throw new FS.ErrnoError(ERRNO_CODES.ENOENT); + } + flags = typeof flags === 'string' ? FS.modeStringToFlags(flags) : flags; + mode = typeof mode === 'undefined' ? 438 /* 0666 */ : mode; + if ((flags & 64)) { + mode = (mode & 4095) | 32768; + } else { + mode = 0; + } + var node; + if (typeof path === 'object') { + node = path; + } else { + path = PATH.normalize(path); + try { + var lookup = FS.lookupPath(path, { + follow: !(flags & 131072) + }); + node = lookup.node; + } catch (e) { + // ignore + } + } + // perhaps we need to create the node + var created = false; + if ((flags & 64)) { + if (node) { + // if O_CREAT and O_EXCL are set, error out if the node already exists + if ((flags & 128)) { + throw new FS.ErrnoError(ERRNO_CODES.EEXIST); + } + } else { + // node doesn't exist, try to create it + node = FS.mknod(path, mode, 0); + created = true; + } + } + if (!node) { + throw new FS.ErrnoError(ERRNO_CODES.ENOENT); + } + // can't truncate a device + if (FS.isChrdev(node.mode)) { + flags &= ~512; + } + // if asked only for a directory, then this must be one + if ((flags & 65536) && !FS.isDir(node.mode)) { + throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR); + } + // check permissions, if this is not a file we just created now (it is ok to + // create and write to a file with read-only permissions; it is read-only + // for later use) + if (!created) { + var err = FS.mayOpen(node, flags); + if (err) { + throw new FS.ErrnoError(err); + } + } + // do truncation if necessary + if ((flags & 512)) { + FS.truncate(node, 0); + } + // we've already handled these, don't pass down to the underlying vfs + flags &= ~(128 | 512); + + // register the stream with the filesystem + var stream = FS.createStream({ + node: node, + path: FS.getPath(node), // we want the absolute path to the node + flags: flags, + seekable: true, + position: 0, + stream_ops: node.stream_ops, + // used by the file family libc calls (fopen, fwrite, ferror, etc.) + ungotten: [], + error: false + }, fd_start, fd_end); + // call the new stream's open function + if (stream.stream_ops.open) { + stream.stream_ops.open(stream); + } + if (Module['logReadFiles'] && !(flags & 1)) { + if (!FS.readFiles) FS.readFiles = {}; + if (!(path in FS.readFiles)) { + FS.readFiles[path] = 1; + Module['printErr']('read file: ' + path); + } + } + try { + if (FS.trackingDelegate['onOpenFile']) { + var trackingFlags = 0; + if ((flags & 2097155) !== 1) { + trackingFlags |= FS.tracking.openFlags.READ; + } + if ((flags & 2097155) !== 0) { + trackingFlags |= FS.tracking.openFlags.WRITE; + } + FS.trackingDelegate['onOpenFile'](path, trackingFlags); + } + } catch(e) { + console.log("FS.trackingDelegate['onOpenFile']('"+path+"', flags) threw an exception: " + e.message); + } + return stream; + },close:function (stream) { + if (stream.getdents) stream.getdents = null; // free readdir state + try { + if (stream.stream_ops.close) { + stream.stream_ops.close(stream); + } + } catch (e) { + throw e; + } finally { + FS.closeStream(stream.fd); + } + },llseek:function (stream, offset, whence) { + if (!stream.seekable || !stream.stream_ops.llseek) { + throw new FS.ErrnoError(ERRNO_CODES.ESPIPE); + } + stream.position = stream.stream_ops.llseek(stream, offset, whence); + stream.ungotten = []; + return stream.position; + },read:function (stream, buffer, offset, length, position) { + if (length < 0 || position < 0) { + throw new FS.ErrnoError(ERRNO_CODES.EINVAL); + } + if ((stream.flags & 2097155) === 1) { + throw new FS.ErrnoError(ERRNO_CODES.EBADF); + } + if (FS.isDir(stream.node.mode)) { + throw new FS.ErrnoError(ERRNO_CODES.EISDIR); + } + if (!stream.stream_ops.read) { + throw new FS.ErrnoError(ERRNO_CODES.EINVAL); + } + var seeking = true; + if (typeof position === 'undefined') { + position = stream.position; + seeking = false; + } else if (!stream.seekable) { + throw new FS.ErrnoError(ERRNO_CODES.ESPIPE); + } + var bytesRead = stream.stream_ops.read(stream, buffer, offset, length, position); + if (!seeking) stream.position += bytesRead; + return bytesRead; + },write:function (stream, buffer, offset, length, position, canOwn) { + if (length < 0 || position < 0) { + throw new FS.ErrnoError(ERRNO_CODES.EINVAL); + } + if ((stream.flags & 2097155) === 0) { + throw new FS.ErrnoError(ERRNO_CODES.EBADF); + } + if (FS.isDir(stream.node.mode)) { + throw new FS.ErrnoError(ERRNO_CODES.EISDIR); + } + if (!stream.stream_ops.write) { + throw new FS.ErrnoError(ERRNO_CODES.EINVAL); + } + if (stream.flags & 1024) { + // seek to the end before writing in append mode + FS.llseek(stream, 0, 2); + } + var seeking = true; + if (typeof position === 'undefined') { + position = stream.position; + seeking = false; + } else if (!stream.seekable) { + throw new FS.ErrnoError(ERRNO_CODES.ESPIPE); + } + var bytesWritten = stream.stream_ops.write(stream, buffer, offset, length, position, canOwn); + if (!seeking) stream.position += bytesWritten; + try { + if (stream.path && FS.trackingDelegate['onWriteToFile']) FS.trackingDelegate['onWriteToFile'](stream.path); + } catch(e) { + console.log("FS.trackingDelegate['onWriteToFile']('"+path+"') threw an exception: " + e.message); + } + return bytesWritten; + },allocate:function (stream, offset, length) { + if (offset < 0 || length <= 0) { + throw new FS.ErrnoError(ERRNO_CODES.EINVAL); + } + if ((stream.flags & 2097155) === 0) { + throw new FS.ErrnoError(ERRNO_CODES.EBADF); + } + if (!FS.isFile(stream.node.mode) && !FS.isDir(node.mode)) { + throw new FS.ErrnoError(ERRNO_CODES.ENODEV); + } + if (!stream.stream_ops.allocate) { + throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP); + } + stream.stream_ops.allocate(stream, offset, length); + },mmap:function (stream, buffer, offset, length, position, prot, flags) { + // TODO if PROT is PROT_WRITE, make sure we have write access + if ((stream.flags & 2097155) === 1) { + throw new FS.ErrnoError(ERRNO_CODES.EACCES); + } + if (!stream.stream_ops.mmap) { + throw new FS.ErrnoError(ERRNO_CODES.ENODEV); + } + return stream.stream_ops.mmap(stream, buffer, offset, length, position, prot, flags); + },msync:function (stream, buffer, offset, length, mmapFlags) { + if (!stream || !stream.stream_ops.msync) { + return 0; + } + return stream.stream_ops.msync(stream, buffer, offset, length, mmapFlags); + },munmap:function (stream) { + return 0; + },ioctl:function (stream, cmd, arg) { + if (!stream.stream_ops.ioctl) { + throw new FS.ErrnoError(ERRNO_CODES.ENOTTY); + } + return stream.stream_ops.ioctl(stream, cmd, arg); + },readFile:function (path, opts) { + opts = opts || {}; + opts.flags = opts.flags || 'r'; + opts.encoding = opts.encoding || 'binary'; + if (opts.encoding !== 'utf8' && opts.encoding !== 'binary') { + throw new Error('Invalid encoding type "' + opts.encoding + '"'); + } + var ret; + var stream = FS.open(path, opts.flags); + var stat = FS.stat(path); + var length = stat.size; + var buf = new Uint8Array(length); + FS.read(stream, buf, 0, length, 0); + if (opts.encoding === 'utf8') { + ret = UTF8ArrayToString(buf, 0); + } else if (opts.encoding === 'binary') { + ret = buf; + } + FS.close(stream); + return ret; + },writeFile:function (path, data, opts) { + opts = opts || {}; + opts.flags = opts.flags || 'w'; + opts.encoding = opts.encoding || 'utf8'; + if (opts.encoding !== 'utf8' && opts.encoding !== 'binary') { + throw new Error('Invalid encoding type "' + opts.encoding + '"'); + } + var stream = FS.open(path, opts.flags, opts.mode); + if (opts.encoding === 'utf8') { + var buf = new Uint8Array(lengthBytesUTF8(data)+1); + var actualNumBytes = stringToUTF8Array(data, buf, 0, buf.length); + FS.write(stream, buf, 0, actualNumBytes, 0, opts.canOwn); + } else if (opts.encoding === 'binary') { + FS.write(stream, data, 0, data.length, 0, opts.canOwn); + } + FS.close(stream); + },cwd:function () { + return FS.currentPath; + },chdir:function (path) { + var lookup = FS.lookupPath(path, { follow: true }); + if (lookup.node === null) { + throw new FS.ErrnoError(ERRNO_CODES.ENOENT); + } + if (!FS.isDir(lookup.node.mode)) { + throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR); + } + var err = FS.nodePermissions(lookup.node, 'x'); + if (err) { + throw new FS.ErrnoError(err); + } + FS.currentPath = lookup.path; + },createDefaultDirectories:function () { + FS.mkdir('/tmp'); + FS.mkdir('/home'); + FS.mkdir('/home/web_user'); + },createDefaultDevices:function () { + // create /dev + FS.mkdir('/dev'); + // setup /dev/null + FS.registerDevice(FS.makedev(1, 3), { + read: function() { return 0; }, + write: function(stream, buffer, offset, length, pos) { return length; } + }); + FS.mkdev('/dev/null', FS.makedev(1, 3)); + // setup /dev/tty and /dev/tty1 + // stderr needs to print output using Module['printErr'] + // so we register a second tty just for it. + TTY.register(FS.makedev(5, 0), TTY.default_tty_ops); + TTY.register(FS.makedev(6, 0), TTY.default_tty1_ops); + FS.mkdev('/dev/tty', FS.makedev(5, 0)); + FS.mkdev('/dev/tty1', FS.makedev(6, 0)); + // setup /dev/[u]random + var random_device; + if (typeof crypto !== 'undefined') { + // for modern web browsers + var randomBuffer = new Uint8Array(1); + random_device = function() { crypto.getRandomValues(randomBuffer); return randomBuffer[0]; }; + } else if (ENVIRONMENT_IS_NODE) { + // for nodejs + random_device = function() { return require('crypto').randomBytes(1)[0]; }; + } else { + // default for ES5 platforms + random_device = function() { return (Math.random()*256)|0; }; + } + FS.createDevice('/dev', 'random', random_device); + FS.createDevice('/dev', 'urandom', random_device); + // we're not going to emulate the actual shm device, + // just create the tmp dirs that reside in it commonly + FS.mkdir('/dev/shm'); + FS.mkdir('/dev/shm/tmp'); + },createSpecialDirectories:function () { + // create /proc/self/fd which allows /proc/self/fd/6 => readlink gives the name of the stream for fd 6 (see test_unistd_ttyname) + FS.mkdir('/proc'); + FS.mkdir('/proc/self'); + FS.mkdir('/proc/self/fd'); + FS.mount({ + mount: function() { + var node = FS.createNode('/proc/self', 'fd', 16384 | 511 /* 0777 */, 73); + node.node_ops = { + lookup: function(parent, name) { + var fd = +name; + var stream = FS.getStream(fd); + if (!stream) throw new FS.ErrnoError(ERRNO_CODES.EBADF); + var ret = { + parent: null, + mount: { mountpoint: 'fake' }, + node_ops: { readlink: function() { return stream.path } } + }; + ret.parent = ret; // make it look like a simple root node + return ret; + } + }; + return node; + } + }, {}, '/proc/self/fd'); + },createStandardStreams:function () { + // TODO deprecate the old functionality of a single + // input / output callback and that utilizes FS.createDevice + // and instead require a unique set of stream ops + + // by default, we symlink the standard streams to the + // default tty devices. however, if the standard streams + // have been overwritten we create a unique device for + // them instead. + if (Module['stdin']) { + FS.createDevice('/dev', 'stdin', Module['stdin']); + } else { + FS.symlink('/dev/tty', '/dev/stdin'); + } + if (Module['stdout']) { + FS.createDevice('/dev', 'stdout', null, Module['stdout']); + } else { + FS.symlink('/dev/tty', '/dev/stdout'); + } + if (Module['stderr']) { + FS.createDevice('/dev', 'stderr', null, Module['stderr']); + } else { + FS.symlink('/dev/tty1', '/dev/stderr'); + } + + // open default streams for the stdin, stdout and stderr devices + var stdin = FS.open('/dev/stdin', 'r'); + assert(stdin.fd === 0, 'invalid handle for stdin (' + stdin.fd + ')'); + + var stdout = FS.open('/dev/stdout', 'w'); + assert(stdout.fd === 1, 'invalid handle for stdout (' + stdout.fd + ')'); + + var stderr = FS.open('/dev/stderr', 'w'); + assert(stderr.fd === 2, 'invalid handle for stderr (' + stderr.fd + ')'); + },ensureErrnoError:function () { + if (FS.ErrnoError) return; + FS.ErrnoError = function ErrnoError(errno, node) { + //Module.printErr(stackTrace()); // useful for debugging + this.node = node; + this.setErrno = function(errno) { + this.errno = errno; + for (var key in ERRNO_CODES) { + if (ERRNO_CODES[key] === errno) { + this.code = key; + break; + } + } + }; + this.setErrno(errno); + this.message = ERRNO_MESSAGES[errno]; + if (this.stack) this.stack = demangleAll(this.stack); + }; + FS.ErrnoError.prototype = new Error(); + FS.ErrnoError.prototype.constructor = FS.ErrnoError; + // Some errors may happen quite a bit, to avoid overhead we reuse them (and suffer a lack of stack info) + [ERRNO_CODES.ENOENT].forEach(function(code) { + FS.genericErrors[code] = new FS.ErrnoError(code); + FS.genericErrors[code].stack = ''; + }); + },staticInit:function () { + FS.ensureErrnoError(); + + FS.nameTable = new Array(4096); + + FS.mount(MEMFS, {}, '/'); + + FS.createDefaultDirectories(); + FS.createDefaultDevices(); + FS.createSpecialDirectories(); + + FS.filesystems = { + 'MEMFS': MEMFS, + 'IDBFS': IDBFS, + 'NODEFS': NODEFS, + 'WORKERFS': WORKERFS, + }; + },init:function (input, output, error) { + assert(!FS.init.initialized, 'FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)'); + FS.init.initialized = true; + + FS.ensureErrnoError(); + + // Allow Module.stdin etc. to provide defaults, if none explicitly passed to us here + Module['stdin'] = input || Module['stdin']; + Module['stdout'] = output || Module['stdout']; + Module['stderr'] = error || Module['stderr']; + + FS.createStandardStreams(); + },quit:function () { + FS.init.initialized = false; + // force-flush all streams, so we get musl std streams printed out + var fflush = Module['_fflush']; + if (fflush) fflush(0); + // close all of our streams + for (var i = 0; i < FS.streams.length; i++) { + var stream = FS.streams[i]; + if (!stream) { + continue; + } + FS.close(stream); + } + },getMode:function (canRead, canWrite) { + var mode = 0; + if (canRead) mode |= 292 | 73; + if (canWrite) mode |= 146; + return mode; + },joinPath:function (parts, forceRelative) { + var path = PATH.join.apply(null, parts); + if (forceRelative && path[0] == '/') path = path.substr(1); + return path; + },absolutePath:function (relative, base) { + return PATH.resolve(base, relative); + },standardizePath:function (path) { + return PATH.normalize(path); + },findObject:function (path, dontResolveLastLink) { + var ret = FS.analyzePath(path, dontResolveLastLink); + if (ret.exists) { + return ret.object; + } else { + ___setErrNo(ret.error); + return null; + } + },analyzePath:function (path, dontResolveLastLink) { + // operate from within the context of the symlink's target + try { + var lookup = FS.lookupPath(path, { follow: !dontResolveLastLink }); + path = lookup.path; + } catch (e) { + } + var ret = { + isRoot: false, exists: false, error: 0, name: null, path: null, object: null, + parentExists: false, parentPath: null, parentObject: null + }; + try { + var lookup = FS.lookupPath(path, { parent: true }); + ret.parentExists = true; + ret.parentPath = lookup.path; + ret.parentObject = lookup.node; + ret.name = PATH.basename(path); + lookup = FS.lookupPath(path, { follow: !dontResolveLastLink }); + ret.exists = true; + ret.path = lookup.path; + ret.object = lookup.node; + ret.name = lookup.node.name; + ret.isRoot = lookup.path === '/'; + } catch (e) { + ret.error = e.errno; + }; + return ret; + },createFolder:function (parent, name, canRead, canWrite) { + var path = PATH.join2(typeof parent === 'string' ? parent : FS.getPath(parent), name); + var mode = FS.getMode(canRead, canWrite); + return FS.mkdir(path, mode); + },createPath:function (parent, path, canRead, canWrite) { + parent = typeof parent === 'string' ? parent : FS.getPath(parent); + var parts = path.split('/').reverse(); + while (parts.length) { + var part = parts.pop(); + if (!part) continue; + var current = PATH.join2(parent, part); + try { + FS.mkdir(current); + } catch (e) { + // ignore EEXIST + } + parent = current; + } + return current; + },createFile:function (parent, name, properties, canRead, canWrite) { + var path = PATH.join2(typeof parent === 'string' ? parent : FS.getPath(parent), name); + var mode = FS.getMode(canRead, canWrite); + return FS.create(path, mode); + },createDataFile:function (parent, name, data, canRead, canWrite, canOwn) { + var path = name ? PATH.join2(typeof parent === 'string' ? parent : FS.getPath(parent), name) : parent; + var mode = FS.getMode(canRead, canWrite); + var node = FS.create(path, mode); + if (data) { + if (typeof data === 'string') { + var arr = new Array(data.length); + for (var i = 0, len = data.length; i < len; ++i) arr[i] = data.charCodeAt(i); + data = arr; + } + // make sure we can write to the file + FS.chmod(node, mode | 146); + var stream = FS.open(node, 'w'); + FS.write(stream, data, 0, data.length, 0, canOwn); + FS.close(stream); + FS.chmod(node, mode); + } + return node; + },createDevice:function (parent, name, input, output) { + var path = PATH.join2(typeof parent === 'string' ? parent : FS.getPath(parent), name); + var mode = FS.getMode(!!input, !!output); + if (!FS.createDevice.major) FS.createDevice.major = 64; + var dev = FS.makedev(FS.createDevice.major++, 0); + // Create a fake device that a set of stream ops to emulate + // the old behavior. + FS.registerDevice(dev, { + open: function(stream) { + stream.seekable = false; + }, + close: function(stream) { + // flush any pending line data + if (output && output.buffer && output.buffer.length) { + output(10); + } + }, + read: function(stream, buffer, offset, length, pos /* ignored */) { + var bytesRead = 0; + for (var i = 0; i < length; i++) { + var result; + try { + result = input(); + } catch (e) { + throw new FS.ErrnoError(ERRNO_CODES.EIO); + } + if (result === undefined && bytesRead === 0) { + throw new FS.ErrnoError(ERRNO_CODES.EAGAIN); + } + if (result === null || result === undefined) break; + bytesRead++; + buffer[offset+i] = result; + } + if (bytesRead) { + stream.node.timestamp = Date.now(); + } + return bytesRead; + }, + write: function(stream, buffer, offset, length, pos) { + for (var i = 0; i < length; i++) { + try { + output(buffer[offset+i]); + } catch (e) { + throw new FS.ErrnoError(ERRNO_CODES.EIO); + } + } + if (length) { + stream.node.timestamp = Date.now(); + } + return i; + } + }); + return FS.mkdev(path, mode, dev); + },createLink:function (parent, name, target, canRead, canWrite) { + var path = PATH.join2(typeof parent === 'string' ? parent : FS.getPath(parent), name); + return FS.symlink(target, path); + },forceLoadFile:function (obj) { + if (obj.isDevice || obj.isFolder || obj.link || obj.contents) return true; + var success = true; + if (typeof XMLHttpRequest !== 'undefined') { + throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread."); + } else if (Module['read']) { + // Command-line. + try { + // WARNING: Can't read binary files in V8's d8 or tracemonkey's js, as + // read() will try to parse UTF8. + obj.contents = intArrayFromString(Module['read'](obj.url), true); + obj.usedBytes = obj.contents.length; + } catch (e) { + success = false; + } + } else { + throw new Error('Cannot load without read() or XMLHttpRequest.'); + } + if (!success) ___setErrNo(ERRNO_CODES.EIO); + return success; + },createLazyFile:function (parent, name, url, canRead, canWrite) { + // Lazy chunked Uint8Array (implements get and length from Uint8Array). Actual getting is abstracted away for eventual reuse. + function LazyUint8Array() { + this.lengthKnown = false; + this.chunks = []; // Loaded chunks. Index is the chunk number + } + LazyUint8Array.prototype.get = function LazyUint8Array_get(idx) { + if (idx > this.length-1 || idx < 0) { + return undefined; + } + var chunkOffset = idx % this.chunkSize; + var chunkNum = (idx / this.chunkSize)|0; + return this.getter(chunkNum)[chunkOffset]; + } + LazyUint8Array.prototype.setDataGetter = function LazyUint8Array_setDataGetter(getter) { + this.getter = getter; + } + LazyUint8Array.prototype.cacheLength = function LazyUint8Array_cacheLength() { + // Find length + var xhr = new XMLHttpRequest(); + xhr.open('HEAD', url, false); + xhr.send(null); + if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error("Couldn't load " + url + ". Status: " + xhr.status); + var datalength = Number(xhr.getResponseHeader("Content-length")); + var header; + var hasByteServing = (header = xhr.getResponseHeader("Accept-Ranges")) && header === "bytes"; + var usesGzip = (header = xhr.getResponseHeader("Content-Encoding")) && header === "gzip"; + + var chunkSize = 1024*1024; // Chunk size in bytes + + if (!hasByteServing) chunkSize = datalength; + + // Function to get a range from the remote URL. + var doXHR = (function(from, to) { + if (from > to) throw new Error("invalid range (" + from + ", " + to + ") or no bytes requested!"); + if (to > datalength-1) throw new Error("only " + datalength + " bytes available! programmer error!"); + + // TODO: Use mozResponseArrayBuffer, responseStream, etc. if available. + var xhr = new XMLHttpRequest(); + xhr.open('GET', url, false); + if (datalength !== chunkSize) xhr.setRequestHeader("Range", "bytes=" + from + "-" + to); + + // Some hints to the browser that we want binary data. + if (typeof Uint8Array != 'undefined') xhr.responseType = 'arraybuffer'; + if (xhr.overrideMimeType) { + xhr.overrideMimeType('text/plain; charset=x-user-defined'); + } + + xhr.send(null); + if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error("Couldn't load " + url + ". Status: " + xhr.status); + if (xhr.response !== undefined) { + return new Uint8Array(xhr.response || []); + } else { + return intArrayFromString(xhr.responseText || '', true); + } + }); + var lazyArray = this; + lazyArray.setDataGetter(function(chunkNum) { + var start = chunkNum * chunkSize; + var end = (chunkNum+1) * chunkSize - 1; // including this byte + end = Math.min(end, datalength-1); // if datalength-1 is selected, this is the last block + if (typeof(lazyArray.chunks[chunkNum]) === "undefined") { + lazyArray.chunks[chunkNum] = doXHR(start, end); + } + if (typeof(lazyArray.chunks[chunkNum]) === "undefined") throw new Error("doXHR failed!"); + return lazyArray.chunks[chunkNum]; + }); + + if (usesGzip || !datalength) { + // if the server uses gzip or doesn't supply the length, we have to download the whole file to get the (uncompressed) length + chunkSize = datalength = 1; // this will force getter(0)/doXHR do download the whole file + datalength = this.getter(0).length; + chunkSize = datalength; + console.log("LazyFiles on gzip forces download of the whole file when length is accessed"); + } + + this._length = datalength; + this._chunkSize = chunkSize; + this.lengthKnown = true; + } + if (typeof XMLHttpRequest !== 'undefined') { + if (!ENVIRONMENT_IS_WORKER) throw 'Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc'; + var lazyArray = new LazyUint8Array(); + Object.defineProperties(lazyArray, { + length: { + get: function() { + if(!this.lengthKnown) { + this.cacheLength(); + } + return this._length; + } + }, + chunkSize: { + get: function() { + if(!this.lengthKnown) { + this.cacheLength(); + } + return this._chunkSize; + } + } + }); + + var properties = { isDevice: false, contents: lazyArray }; + } else { + var properties = { isDevice: false, url: url }; + } + + var node = FS.createFile(parent, name, properties, canRead, canWrite); + // This is a total hack, but I want to get this lazy file code out of the + // core of MEMFS. If we want to keep this lazy file concept I feel it should + // be its own thin LAZYFS proxying calls to MEMFS. + if (properties.contents) { + node.contents = properties.contents; + } else if (properties.url) { + node.contents = null; + node.url = properties.url; + } + // Add a function that defers querying the file size until it is asked the first time. + Object.defineProperties(node, { + usedBytes: { + get: function() { return this.contents.length; } + } + }); + // override each stream op with one that tries to force load the lazy file first + var stream_ops = {}; + var keys = Object.keys(node.stream_ops); + keys.forEach(function(key) { + var fn = node.stream_ops[key]; + stream_ops[key] = function forceLoadLazyFile() { + if (!FS.forceLoadFile(node)) { + throw new FS.ErrnoError(ERRNO_CODES.EIO); + } + return fn.apply(null, arguments); + }; + }); + // use a custom read function + stream_ops.read = function stream_ops_read(stream, buffer, offset, length, position) { + if (!FS.forceLoadFile(node)) { + throw new FS.ErrnoError(ERRNO_CODES.EIO); + } + var contents = stream.node.contents; + if (position >= contents.length) + return 0; + var size = Math.min(contents.length - position, length); + assert(size >= 0); + if (contents.slice) { // normal array + for (var i = 0; i < size; i++) { + buffer[offset + i] = contents[position + i]; + } + } else { + for (var i = 0; i < size; i++) { // LazyUint8Array from sync binary XHR + buffer[offset + i] = contents.get(position + i); + } + } + return size; + }; + node.stream_ops = stream_ops; + return node; + },createPreloadedFile:function (parent, name, url, canRead, canWrite, onload, onerror, dontCreateFile, canOwn, preFinish) { + Browser.init(); // XXX perhaps this method should move onto Browser? + // TODO we should allow people to just pass in a complete filename instead + // of parent and name being that we just join them anyways + var fullname = name ? PATH.resolve(PATH.join2(parent, name)) : parent; + var dep = getUniqueRunDependency('cp ' + fullname); // might have several active requests for the same fullname + function processData(byteArray) { + function finish(byteArray) { + if (preFinish) preFinish(); + if (!dontCreateFile) { + FS.createDataFile(parent, name, byteArray, canRead, canWrite, canOwn); + } + if (onload) onload(); + removeRunDependency(dep); + } + var handled = false; + Module['preloadPlugins'].forEach(function(plugin) { + if (handled) return; + if (plugin['canHandle'](fullname)) { + plugin['handle'](byteArray, fullname, finish, function() { + if (onerror) onerror(); + removeRunDependency(dep); + }); + handled = true; + } + }); + if (!handled) finish(byteArray); + } + addRunDependency(dep); + if (typeof url == 'string') { + Browser.asyncLoad(url, function(byteArray) { + processData(byteArray); + }, onerror); + } else { + processData(url); + } + },indexedDB:function () { + return window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB; + },DB_NAME:function () { + return 'EM_FS_' + window.location.pathname; + },DB_VERSION:20,DB_STORE_NAME:"FILE_DATA",saveFilesToDB:function (paths, onload, onerror) { + onload = onload || function(){}; + onerror = onerror || function(){}; + var indexedDB = FS.indexedDB(); + try { + var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION); + } catch (e) { + return onerror(e); + } + openRequest.onupgradeneeded = function openRequest_onupgradeneeded() { + console.log('creating db'); + var db = openRequest.result; + db.createObjectStore(FS.DB_STORE_NAME); + }; + openRequest.onsuccess = function openRequest_onsuccess() { + var db = openRequest.result; + var transaction = db.transaction([FS.DB_STORE_NAME], 'readwrite'); + var files = transaction.objectStore(FS.DB_STORE_NAME); + var ok = 0, fail = 0, total = paths.length; + function finish() { + if (fail == 0) onload(); else onerror(); + } + paths.forEach(function(path) { + var putRequest = files.put(FS.analyzePath(path).object.contents, path); + putRequest.onsuccess = function putRequest_onsuccess() { ok++; if (ok + fail == total) finish() }; + putRequest.onerror = function putRequest_onerror() { fail++; if (ok + fail == total) finish() }; + }); + transaction.onerror = onerror; + }; + openRequest.onerror = onerror; + },loadFilesFromDB:function (paths, onload, onerror) { + onload = onload || function(){}; + onerror = onerror || function(){}; + var indexedDB = FS.indexedDB(); + try { + var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION); + } catch (e) { + return onerror(e); + } + openRequest.onupgradeneeded = onerror; // no database to load from + openRequest.onsuccess = function openRequest_onsuccess() { + var db = openRequest.result; + try { + var transaction = db.transaction([FS.DB_STORE_NAME], 'readonly'); + } catch(e) { + onerror(e); + return; + } + var files = transaction.objectStore(FS.DB_STORE_NAME); + var ok = 0, fail = 0, total = paths.length; + function finish() { + if (fail == 0) onload(); else onerror(); + } + paths.forEach(function(path) { + var getRequest = files.get(path); + getRequest.onsuccess = function getRequest_onsuccess() { + if (FS.analyzePath(path).exists) { + FS.unlink(path); + } + FS.createDataFile(PATH.dirname(path), PATH.basename(path), getRequest.result, true, true, true); + ok++; + if (ok + fail == total) finish(); + }; + getRequest.onerror = function getRequest_onerror() { fail++; if (ok + fail == total) finish() }; + }); + transaction.onerror = onerror; + }; + openRequest.onerror = onerror; + }};var SYSCALLS={DEFAULT_POLLMASK:5,mappings:{},umask:511,calculateAt:function (dirfd, path) { + if (path[0] !== '/') { + // relative path + var dir; + if (dirfd === -100) { + dir = FS.cwd(); + } else { + var dirstream = FS.getStream(dirfd); + if (!dirstream) throw new FS.ErrnoError(ERRNO_CODES.EBADF); + dir = dirstream.path; + } + path = PATH.join2(dir, path); + } + return path; + },doStat:function (func, path, buf) { + try { + var stat = func(path); + } catch (e) { + if (e && e.node && PATH.normalize(path) !== PATH.normalize(FS.getPath(e.node))) { + // an error occurred while trying to look up the path; we should just report ENOTDIR + return -ERRNO_CODES.ENOTDIR; + } + throw e; + } + HEAP32[((buf)>>2)]=stat.dev; + HEAP32[(((buf)+(4))>>2)]=0; + HEAP32[(((buf)+(8))>>2)]=stat.ino; + HEAP32[(((buf)+(12))>>2)]=stat.mode; + HEAP32[(((buf)+(16))>>2)]=stat.nlink; + HEAP32[(((buf)+(20))>>2)]=stat.uid; + HEAP32[(((buf)+(24))>>2)]=stat.gid; + HEAP32[(((buf)+(28))>>2)]=stat.rdev; + HEAP32[(((buf)+(32))>>2)]=0; + HEAP32[(((buf)+(36))>>2)]=stat.size; + HEAP32[(((buf)+(40))>>2)]=4096; + HEAP32[(((buf)+(44))>>2)]=stat.blocks; + HEAP32[(((buf)+(48))>>2)]=(stat.atime.getTime() / 1000)|0; + HEAP32[(((buf)+(52))>>2)]=0; + HEAP32[(((buf)+(56))>>2)]=(stat.mtime.getTime() / 1000)|0; + HEAP32[(((buf)+(60))>>2)]=0; + HEAP32[(((buf)+(64))>>2)]=(stat.ctime.getTime() / 1000)|0; + HEAP32[(((buf)+(68))>>2)]=0; + HEAP32[(((buf)+(72))>>2)]=stat.ino; + return 0; + },doMsync:function (addr, stream, len, flags) { + var buffer = new Uint8Array(HEAPU8.subarray(addr, addr + len)); + FS.msync(stream, buffer, 0, len, flags); + },doMkdir:function (path, mode) { + // remove a trailing slash, if one - /a/b/ has basename of '', but + // we want to create b in the context of this function + path = PATH.normalize(path); + if (path[path.length-1] === '/') path = path.substr(0, path.length-1); + FS.mkdir(path, mode, 0); + return 0; + },doMknod:function (path, mode, dev) { + // we don't want this in the JS API as it uses mknod to create all nodes. + switch (mode & 61440) { + case 32768: + case 8192: + case 24576: + case 4096: + case 49152: + break; + default: return -ERRNO_CODES.EINVAL; + } + FS.mknod(path, mode, dev); + return 0; + },doReadlink:function (path, buf, bufsize) { + if (bufsize <= 0) return -ERRNO_CODES.EINVAL; + var ret = FS.readlink(path); + + var len = Math.min(bufsize, lengthBytesUTF8(ret)); + var endChar = HEAP8[buf+len]; + stringToUTF8(ret, buf, bufsize+1); + // readlink is one of the rare functions that write out a C string, but does never append a null to the output buffer(!) + // stringToUTF8() always appends a null byte, so restore the character under the null byte after the write. + HEAP8[buf+len] = endChar; + + return len; + },doAccess:function (path, amode) { + if (amode & ~7) { + // need a valid mode + return -ERRNO_CODES.EINVAL; + } + var node; + var lookup = FS.lookupPath(path, { follow: true }); + node = lookup.node; + var perms = ''; + if (amode & 4) perms += 'r'; + if (amode & 2) perms += 'w'; + if (amode & 1) perms += 'x'; + if (perms /* otherwise, they've just passed F_OK */ && FS.nodePermissions(node, perms)) { + return -ERRNO_CODES.EACCES; + } + return 0; + },doDup:function (path, flags, suggestFD) { + var suggest = FS.getStream(suggestFD); + if (suggest) FS.close(suggest); + return FS.open(path, flags, 0, suggestFD, suggestFD).fd; + },doReadv:function (stream, iov, iovcnt, offset) { + var ret = 0; + for (var i = 0; i < iovcnt; i++) { + var ptr = HEAP32[(((iov)+(i*8))>>2)]; + var len = HEAP32[(((iov)+(i*8 + 4))>>2)]; + var curr = FS.read(stream, HEAP8,ptr, len, offset); + if (curr < 0) return -1; + ret += curr; + if (curr < len) break; // nothing more to read + } + return ret; + },doWritev:function (stream, iov, iovcnt, offset) { + var ret = 0; + for (var i = 0; i < iovcnt; i++) { + var ptr = HEAP32[(((iov)+(i*8))>>2)]; + var len = HEAP32[(((iov)+(i*8 + 4))>>2)]; + var curr = FS.write(stream, HEAP8,ptr, len, offset); + if (curr < 0) return -1; + ret += curr; + } + return ret; + },varargs:0,get:function (varargs) { + SYSCALLS.varargs += 4; + var ret = HEAP32[(((SYSCALLS.varargs)-(4))>>2)]; + return ret; + },getStr:function () { + var ret = Pointer_stringify(SYSCALLS.get()); + return ret; + },getStreamFromFD:function () { + var stream = FS.getStream(SYSCALLS.get()); + if (!stream) throw new FS.ErrnoError(ERRNO_CODES.EBADF); + return stream; + },getSocketFromFD:function () { + var socket = SOCKFS.getSocket(SYSCALLS.get()); + if (!socket) throw new FS.ErrnoError(ERRNO_CODES.EBADF); + return socket; + },getSocketAddress:function (allowNull) { + var addrp = SYSCALLS.get(), addrlen = SYSCALLS.get(); + if (allowNull && addrp === 0) return null; + var info = __read_sockaddr(addrp, addrlen); + if (info.errno) throw new FS.ErrnoError(info.errno); + info.addr = DNS.lookup_addr(info.addr) || info.addr; + return info; + },get64:function () { + var low = SYSCALLS.get(), high = SYSCALLS.get(); + if (low >= 0) assert(high === 0); + else assert(high === -1); + return low; + },getZero:function () { + assert(SYSCALLS.get() === 0); + }};function ___syscall54(which, varargs) {SYSCALLS.varargs = varargs; + try { + // ioctl + var stream = SYSCALLS.getStreamFromFD(), op = SYSCALLS.get(); + switch (op) { + case 21505: { + if (!stream.tty) return -ERRNO_CODES.ENOTTY; + return 0; + } + case 21506: { + if (!stream.tty) return -ERRNO_CODES.ENOTTY; + return 0; // no-op, not actually adjusting terminal settings + } + case 21519: { + if (!stream.tty) return -ERRNO_CODES.ENOTTY; + var argp = SYSCALLS.get(); + HEAP32[((argp)>>2)]=0; + return 0; + } + case 21520: { + if (!stream.tty) return -ERRNO_CODES.ENOTTY; + return -ERRNO_CODES.EINVAL; // not supported + } + case 21531: { + var argp = SYSCALLS.get(); + return FS.ioctl(stream, op, argp); + } + case 21523: { + // TODO: in theory we should write to the winsize struct that gets + // passed in, but for now musl doesn't read anything on it + if (!stream.tty) return -ERRNO_CODES.ENOTTY; + return 0; + } + default: abort('bad ioctl syscall ' + op); + } + } catch (e) { + if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno; + } + } + + function _emscripten_glSampleCoverage(value, invert) { + GLctx.sampleCoverage(value, !!invert); + } + + function _glDeleteTextures(n, textures) { + for (var i = 0; i < n; i++) { + var id = HEAP32[(((textures)+(i*4))>>2)]; + var texture = GL.textures[id]; + if (!texture) continue; // GL spec: "glDeleteTextures silently ignores 0s and names that do not correspond to existing textures". + GLctx.deleteTexture(texture); + texture.name = 0; + GL.textures[id] = null; + } + } + + function _emscripten_glFrustum() { + Module['printErr']('missing function: emscripten_glFrustum'); abort(-1); + } + + function _glfwSetWindowSizeCallback(winid, cbfun) { + GLFW.setWindowSizeCallback(winid, cbfun); + } + + function _emscripten_glGetTexParameterfv(target, pname, params) { + if (!params) { + // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense + // if p == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + HEAPF32[((params)>>2)]=GLctx.getTexParameter(target, pname); + } + + function _emscripten_glUniform4i(location, v0, v1, v2, v3) { + GLctx.uniform4i(GL.uniforms[location], v0, v1, v2, v3); + } + + function _emscripten_glBindRenderbuffer(target, renderbuffer) { + GLctx.bindRenderbuffer(target, renderbuffer ? GL.renderbuffers[renderbuffer] : null); + } + + + var AL={contexts:[],currentContext:null,alcErr:0,stringCache:{},alcStringCache:{},QUEUE_INTERVAL:25,QUEUE_LOOKAHEAD:100,newSrcId:1,updateSources:function updateSources(context) { + // If we are animating using the requestAnimationFrame method, then the main loop does not run when in the background. + // To give a perfect glitch-free audio stop when switching from foreground to background, we need to avoid updating + // audio altogether when in the background, so detect that case and kill audio buffer streaming if so. + if (Browser.mainLoop.timingMode == 1/*EM_TIMING_RAF*/ && document['visibilityState'] != 'visible') return; + + for (var srcId in context.src) { + AL.updateSource(context.src[srcId]); + } + },updateSource:function updateSource(src) { + // See comment on updateSources above. + if (Browser.mainLoop.timingMode == 1/*EM_TIMING_RAF*/ && document['visibilityState'] != 'visible') return; + + if (src.state !== 0x1012 /* AL_PLAYING */) { + return; + } + + var currentTime = src.context.ctx.currentTime; + var startTime = src.bufferPosition; + + for (var i = src.buffersPlayed; i < src.queue.length; i++) { + var entry = src.queue[i]; + + var startOffset = (startTime - currentTime) / src.playbackRate; + var endTime; + if (entry.src) endTime = startTime + entry.src.duration; // n.b. entry.src.duration already factors in playbackRate, so no divide by src.playbackRate on it. + else endTime = startTime + entry.buffer.duration / src.playbackRate; + + // Clean up old buffers. + if (currentTime >= endTime) { + // Update our location in the queue. + src.bufferPosition = endTime; + src.buffersPlayed = i + 1; + + // Stop / restart the source when we hit the end. + if (src.buffersPlayed >= src.queue.length) { + if (src.loop) { + AL.setSourceState(src, 0x1012 /* AL_PLAYING */); + } else { + AL.setSourceState(src, 0x1014 /* AL_STOPPED */); + } + } + } + // Process all buffers that'll be played before the next tick. + else if (startOffset < (AL.QUEUE_LOOKAHEAD / 1000) && !entry.src) { + // If the start offset is negative, we need to offset the actual buffer. + var offset = Math.abs(Math.min(startOffset, 0)); + + entry.src = src.context.ctx.createBufferSource(); + entry.src.buffer = entry.buffer; + entry.src.connect(src.gain); + if (src.playbackRate != 1.0) entry.src.playbackRate.value = src.playbackRate; + entry.src.duration = entry.buffer.duration / src.playbackRate; + if (typeof(entry.src.start) !== 'undefined') { + entry.src.start(startTime, offset); + } else if (typeof(entry.src.noteOn) !== 'undefined') { + entry.src.noteOn(startTime); + } + } + + startTime = endTime; + } + },setSourceState:function setSourceState(src, state) { + if (state === 0x1012 /* AL_PLAYING */) { + if (src.state !== 0x1013 /* AL_PAUSED */) { + src.state = 0x1012 /* AL_PLAYING */; + // Reset our position. + src.bufferPosition = AL.currentContext.ctx.currentTime; + src.buffersPlayed = 0; + } else { + src.state = 0x1012 /* AL_PLAYING */; + // Use the current offset from src.bufferPosition to resume at the correct point. + src.bufferPosition = AL.currentContext.ctx.currentTime - src.bufferPosition; + } + AL.stopSourceQueue(src); + AL.updateSource(src); + } else if (state === 0x1013 /* AL_PAUSED */) { + if (src.state === 0x1012 /* AL_PLAYING */) { + src.state = 0x1013 /* AL_PAUSED */; + // Store off the current offset to restore with on resume. + src.bufferPosition = AL.currentContext.ctx.currentTime - src.bufferPosition; + AL.stopSourceQueue(src); + } + } else if (state === 0x1014 /* AL_STOPPED */) { + if (src.state !== 0x1011 /* AL_INITIAL */) { + src.state = 0x1014 /* AL_STOPPED */; + src.buffersPlayed = src.queue.length; + AL.stopSourceQueue(src); + } + } else if (state == 0x1011 /* AL_INITIAL */) { + if (src.state !== 0x1011 /* AL_INITIAL */) { + src.state = 0x1011 /* AL_INITIAL */; + src.bufferPosition = 0; + src.buffersPlayed = 0; + } + } + },stopSourceQueue:function stopSourceQueue(src) { + for (var i = 0; i < src.queue.length; i++) { + var entry = src.queue[i]; + if (entry.src) { + entry.src.stop(0); + entry.src = null; + } + } + }};function _alcGetCurrentContext() { + for (var i = 0; i < AL.contexts.length; ++i) { + if (AL.contexts[i] == AL.currentContext) { + return i + 1; + } + } + return 0; + } + + function _emscripten_glViewport(x0, x1, x2, x3) { GLctx['viewport'](x0, x1, x2, x3) } + + + + var JSEvents={keyEvent:0,mouseEvent:0,wheelEvent:0,uiEvent:0,focusEvent:0,deviceOrientationEvent:0,deviceMotionEvent:0,fullscreenChangeEvent:0,pointerlockChangeEvent:0,visibilityChangeEvent:0,touchEvent:0,lastGamepadState:null,lastGamepadStateFrame:null,numGamepadsConnected:0,previousFullscreenElement:null,previousScreenX:null,previousScreenY:null,removeEventListenersRegistered:false,staticInit:function () { + if (typeof window !== 'undefined') { + window.addEventListener("gamepadconnected", function() { ++JSEvents.numGamepadsConnected; }); + window.addEventListener("gamepaddisconnected", function() { --JSEvents.numGamepadsConnected; }); + } + },registerRemoveEventListeners:function () { + if (!JSEvents.removeEventListenersRegistered) { + __ATEXIT__.push(function() { + for(var i = JSEvents.eventHandlers.length-1; i >= 0; --i) { + JSEvents._removeHandler(i); + } + }); + JSEvents.removeEventListenersRegistered = true; + } + },findEventTarget:function (target) { + if (target) { + if (typeof target == "number") { + target = Pointer_stringify(target); + } + if (target == '#window') return window; + else if (target == '#document') return document; + else if (target == '#screen') return window.screen; + else if (target == '#canvas') return Module['canvas']; + + if (typeof target == 'string') return document.getElementById(target); + else return target; + } else { + // The sensible target varies between events, but use window as the default + // since DOM events mostly can default to that. Specific callback registrations + // override their own defaults. + return window; + } + },deferredCalls:[],deferCall:function (targetFunction, precedence, argsList) { + function arraysHaveEqualContent(arrA, arrB) { + if (arrA.length != arrB.length) return false; + + for(var i in arrA) { + if (arrA[i] != arrB[i]) return false; + } + return true; + } + // Test if the given call was already queued, and if so, don't add it again. + for(var i in JSEvents.deferredCalls) { + var call = JSEvents.deferredCalls[i]; + if (call.targetFunction == targetFunction && arraysHaveEqualContent(call.argsList, argsList)) { + return; + } + } + JSEvents.deferredCalls.push({ + targetFunction: targetFunction, + precedence: precedence, + argsList: argsList + }); + + JSEvents.deferredCalls.sort(function(x,y) { return x.precedence < y.precedence; }); + },removeDeferredCalls:function (targetFunction) { + for(var i = 0; i < JSEvents.deferredCalls.length; ++i) { + if (JSEvents.deferredCalls[i].targetFunction == targetFunction) { + JSEvents.deferredCalls.splice(i, 1); + --i; + } + } + },canPerformEventHandlerRequests:function () { + return JSEvents.inEventHandler && JSEvents.currentEventHandler.allowsDeferredCalls; + },runDeferredCalls:function () { + if (!JSEvents.canPerformEventHandlerRequests()) { + return; + } + for(var i = 0; i < JSEvents.deferredCalls.length; ++i) { + var call = JSEvents.deferredCalls[i]; + JSEvents.deferredCalls.splice(i, 1); + --i; + call.targetFunction.apply(this, call.argsList); + } + },inEventHandler:0,currentEventHandler:null,eventHandlers:[],isInternetExplorer:function () { return navigator.userAgent.indexOf('MSIE') !== -1 || navigator.appVersion.indexOf('Trident/') > 0; },removeAllHandlersOnTarget:function (target, eventTypeString) { + for(var i = 0; i < JSEvents.eventHandlers.length; ++i) { + if (JSEvents.eventHandlers[i].target == target && + (!eventTypeString || eventTypeString == JSEvents.eventHandlers[i].eventTypeString)) { + JSEvents._removeHandler(i--); + } + } + },_removeHandler:function (i) { + var h = JSEvents.eventHandlers[i]; + h.target.removeEventListener(h.eventTypeString, h.eventListenerFunc, h.useCapture); + JSEvents.eventHandlers.splice(i, 1); + },registerOrRemoveHandler:function (eventHandler) { + var jsEventHandler = function jsEventHandler(event) { + // Increment nesting count for the event handler. + ++JSEvents.inEventHandler; + JSEvents.currentEventHandler = eventHandler; + // Process any old deferred calls the user has placed. + JSEvents.runDeferredCalls(); + // Process the actual event, calls back to user C code handler. + eventHandler.handlerFunc(event); + // Process any new deferred calls that were placed right now from this event handler. + JSEvents.runDeferredCalls(); + // Out of event handler - restore nesting count. + --JSEvents.inEventHandler; + } + + if (eventHandler.callbackfunc) { + eventHandler.eventListenerFunc = jsEventHandler; + eventHandler.target.addEventListener(eventHandler.eventTypeString, jsEventHandler, eventHandler.useCapture); + JSEvents.eventHandlers.push(eventHandler); + JSEvents.registerRemoveEventListeners(); + } else { + for(var i = 0; i < JSEvents.eventHandlers.length; ++i) { + if (JSEvents.eventHandlers[i].target == eventHandler.target + && JSEvents.eventHandlers[i].eventTypeString == eventHandler.eventTypeString) { + JSEvents._removeHandler(i--); + } + } + } + },registerKeyEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.keyEvent) { + JSEvents.keyEvent = _malloc( 164 ); + } + var handlerFunc = function(event) { + var e = event || window.event; + stringToUTF8(e.key ? e.key : "", JSEvents.keyEvent + 0, 32); + stringToUTF8(e.code ? e.code : "", JSEvents.keyEvent + 32, 32); + HEAP32[(((JSEvents.keyEvent)+(64))>>2)]=e.location; + HEAP32[(((JSEvents.keyEvent)+(68))>>2)]=e.ctrlKey; + HEAP32[(((JSEvents.keyEvent)+(72))>>2)]=e.shiftKey; + HEAP32[(((JSEvents.keyEvent)+(76))>>2)]=e.altKey; + HEAP32[(((JSEvents.keyEvent)+(80))>>2)]=e.metaKey; + HEAP32[(((JSEvents.keyEvent)+(84))>>2)]=e.repeat; + stringToUTF8(e.locale ? e.locale : "", JSEvents.keyEvent + 88, 32); + stringToUTF8(e.char ? e.char : "", JSEvents.keyEvent + 120, 32); + HEAP32[(((JSEvents.keyEvent)+(152))>>2)]=e.charCode; + HEAP32[(((JSEvents.keyEvent)+(156))>>2)]=e.keyCode; + HEAP32[(((JSEvents.keyEvent)+(160))>>2)]=e.which; + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.keyEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: JSEvents.findEventTarget(target), + allowsDeferredCalls: JSEvents.isInternetExplorer() ? false : true, // MSIE doesn't allow fullscreen and pointerlock requests from key handlers, others do. + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },getBoundingClientRectOrZeros:function (target) { + return target.getBoundingClientRect ? target.getBoundingClientRect() : { left: 0, top: 0 }; + },fillMouseEventData:function (eventStruct, e, target) { + HEAPF64[((eventStruct)>>3)]=JSEvents.tick(); + HEAP32[(((eventStruct)+(8))>>2)]=e.screenX; + HEAP32[(((eventStruct)+(12))>>2)]=e.screenY; + HEAP32[(((eventStruct)+(16))>>2)]=e.clientX; + HEAP32[(((eventStruct)+(20))>>2)]=e.clientY; + HEAP32[(((eventStruct)+(24))>>2)]=e.ctrlKey; + HEAP32[(((eventStruct)+(28))>>2)]=e.shiftKey; + HEAP32[(((eventStruct)+(32))>>2)]=e.altKey; + HEAP32[(((eventStruct)+(36))>>2)]=e.metaKey; + HEAP16[(((eventStruct)+(40))>>1)]=e.button; + HEAP16[(((eventStruct)+(42))>>1)]=e.buttons; + HEAP32[(((eventStruct)+(44))>>2)]=e["movementX"] || e["mozMovementX"] || e["webkitMovementX"] || (e.screenX-JSEvents.previousScreenX); + HEAP32[(((eventStruct)+(48))>>2)]=e["movementY"] || e["mozMovementY"] || e["webkitMovementY"] || (e.screenY-JSEvents.previousScreenY); + + if (Module['canvas']) { + var rect = Module['canvas'].getBoundingClientRect(); + HEAP32[(((eventStruct)+(60))>>2)]=e.clientX - rect.left; + HEAP32[(((eventStruct)+(64))>>2)]=e.clientY - rect.top; + } else { // Canvas is not initialized, return 0. + HEAP32[(((eventStruct)+(60))>>2)]=0; + HEAP32[(((eventStruct)+(64))>>2)]=0; + } + if (target) { + var rect = JSEvents.getBoundingClientRectOrZeros(target); + HEAP32[(((eventStruct)+(52))>>2)]=e.clientX - rect.left; + HEAP32[(((eventStruct)+(56))>>2)]=e.clientY - rect.top; + } else { // No specific target passed, return 0. + HEAP32[(((eventStruct)+(52))>>2)]=0; + HEAP32[(((eventStruct)+(56))>>2)]=0; + } + // wheel and mousewheel events contain wrong screenX/screenY on chrome/opera + // https://github.com/kripken/emscripten/pull/4997 + // https://bugs.chromium.org/p/chromium/issues/detail?id=699956 + if (e.type !== 'wheel' && e.type !== 'mousewheel') { + JSEvents.previousScreenX = e.screenX; + JSEvents.previousScreenY = e.screenY; + } + },registerMouseEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.mouseEvent) { + JSEvents.mouseEvent = _malloc( 72 ); + } + target = JSEvents.findEventTarget(target); + var handlerFunc = function(event) { + var e = event || window.event; + JSEvents.fillMouseEventData(JSEvents.mouseEvent, e, target); + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.mouseEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: target, + allowsDeferredCalls: eventTypeString != 'mousemove' && eventTypeString != 'mouseenter' && eventTypeString != 'mouseleave', // Mouse move events do not allow fullscreen/pointer lock requests to be handled in them! + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + // In IE, mousedown events don't either allow deferred calls to be run! + if (JSEvents.isInternetExplorer() && eventTypeString == 'mousedown') eventHandler.allowsDeferredCalls = false; + JSEvents.registerOrRemoveHandler(eventHandler); + },registerWheelEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.wheelEvent) { + JSEvents.wheelEvent = _malloc( 104 ); + } + target = JSEvents.findEventTarget(target); + // The DOM Level 3 events spec event 'wheel' + var wheelHandlerFunc = function(event) { + var e = event || window.event; + JSEvents.fillMouseEventData(JSEvents.wheelEvent, e, target); + HEAPF64[(((JSEvents.wheelEvent)+(72))>>3)]=e["deltaX"]; + HEAPF64[(((JSEvents.wheelEvent)+(80))>>3)]=e["deltaY"]; + HEAPF64[(((JSEvents.wheelEvent)+(88))>>3)]=e["deltaZ"]; + HEAP32[(((JSEvents.wheelEvent)+(96))>>2)]=e["deltaMode"]; + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.wheelEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + // The 'mousewheel' event as implemented in Safari 6.0.5 + var mouseWheelHandlerFunc = function(event) { + var e = event || window.event; + JSEvents.fillMouseEventData(JSEvents.wheelEvent, e, target); + HEAPF64[(((JSEvents.wheelEvent)+(72))>>3)]=e["wheelDeltaX"] || 0; + HEAPF64[(((JSEvents.wheelEvent)+(80))>>3)]=-(e["wheelDeltaY"] ? e["wheelDeltaY"] : e["wheelDelta"]) /* 1. Invert to unify direction with the DOM Level 3 wheel event. 2. MSIE does not provide wheelDeltaY, so wheelDelta is used as a fallback. */; + HEAPF64[(((JSEvents.wheelEvent)+(88))>>3)]=0 /* Not available */; + HEAP32[(((JSEvents.wheelEvent)+(96))>>2)]=0 /* DOM_DELTA_PIXEL */; + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.wheelEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: target, + allowsDeferredCalls: true, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: (eventTypeString == 'wheel') ? wheelHandlerFunc : mouseWheelHandlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },pageScrollPos:function () { + if (window.pageXOffset > 0 || window.pageYOffset > 0) { + return [window.pageXOffset, window.pageYOffset]; + } + if (typeof document.documentElement.scrollLeft !== 'undefined' || typeof document.documentElement.scrollTop !== 'undefined') { + return [document.documentElement.scrollLeft, document.documentElement.scrollTop]; + } + return [document.body.scrollLeft|0, document.body.scrollTop|0]; + },registerUiEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.uiEvent) { + JSEvents.uiEvent = _malloc( 36 ); + } + + if (eventTypeString == "scroll" && !target) { + target = document; // By default read scroll events on document rather than window. + } else { + target = JSEvents.findEventTarget(target); + } + + var handlerFunc = function(event) { + var e = event || window.event; + if (e.target != target) { + // Never take ui events such as scroll via a 'bubbled' route, but always from the direct element that + // was targeted. Otherwise e.g. if app logs a message in response to a page scroll, the Emscripten log + // message box could cause to scroll, generating a new (bubbled) scroll message, causing a new log print, + // causing a new scroll, etc.. + return; + } + var scrollPos = JSEvents.pageScrollPos(); + HEAP32[((JSEvents.uiEvent)>>2)]=e.detail; + HEAP32[(((JSEvents.uiEvent)+(4))>>2)]=document.body.clientWidth; + HEAP32[(((JSEvents.uiEvent)+(8))>>2)]=document.body.clientHeight; + HEAP32[(((JSEvents.uiEvent)+(12))>>2)]=window.innerWidth; + HEAP32[(((JSEvents.uiEvent)+(16))>>2)]=window.innerHeight; + HEAP32[(((JSEvents.uiEvent)+(20))>>2)]=window.outerWidth; + HEAP32[(((JSEvents.uiEvent)+(24))>>2)]=window.outerHeight; + HEAP32[(((JSEvents.uiEvent)+(28))>>2)]=scrollPos[0]; + HEAP32[(((JSEvents.uiEvent)+(32))>>2)]=scrollPos[1]; + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.uiEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: target, + allowsDeferredCalls: false, // Neither scroll or resize events allow running requests inside them. + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },getNodeNameForTarget:function (target) { + if (!target) return ''; + if (target == window) return '#window'; + if (target == window.screen) return '#screen'; + return (target && target.nodeName) ? target.nodeName : ''; + },registerFocusEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.focusEvent) { + JSEvents.focusEvent = _malloc( 256 ); + } + var handlerFunc = function(event) { + var e = event || window.event; + + var nodeName = JSEvents.getNodeNameForTarget(e.target); + var id = e.target.id ? e.target.id : ''; + stringToUTF8(nodeName, JSEvents.focusEvent + 0, 128); + stringToUTF8(id, JSEvents.focusEvent + 128, 128); + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.focusEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: JSEvents.findEventTarget(target), + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },tick:function () { + if (window['performance'] && window['performance']['now']) return window['performance']['now'](); + else return Date.now(); + },registerDeviceOrientationEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.deviceOrientationEvent) { + JSEvents.deviceOrientationEvent = _malloc( 40 ); + } + var handlerFunc = function(event) { + var e = event || window.event; + + HEAPF64[((JSEvents.deviceOrientationEvent)>>3)]=JSEvents.tick(); + HEAPF64[(((JSEvents.deviceOrientationEvent)+(8))>>3)]=e.alpha; + HEAPF64[(((JSEvents.deviceOrientationEvent)+(16))>>3)]=e.beta; + HEAPF64[(((JSEvents.deviceOrientationEvent)+(24))>>3)]=e.gamma; + HEAP32[(((JSEvents.deviceOrientationEvent)+(32))>>2)]=e.absolute; + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.deviceOrientationEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: JSEvents.findEventTarget(target), + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },registerDeviceMotionEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.deviceMotionEvent) { + JSEvents.deviceMotionEvent = _malloc( 80 ); + } + var handlerFunc = function(event) { + var e = event || window.event; + + HEAPF64[((JSEvents.deviceOrientationEvent)>>3)]=JSEvents.tick(); + HEAPF64[(((JSEvents.deviceMotionEvent)+(8))>>3)]=e.acceleration.x; + HEAPF64[(((JSEvents.deviceMotionEvent)+(16))>>3)]=e.acceleration.y; + HEAPF64[(((JSEvents.deviceMotionEvent)+(24))>>3)]=e.acceleration.z; + HEAPF64[(((JSEvents.deviceMotionEvent)+(32))>>3)]=e.accelerationIncludingGravity.x; + HEAPF64[(((JSEvents.deviceMotionEvent)+(40))>>3)]=e.accelerationIncludingGravity.y; + HEAPF64[(((JSEvents.deviceMotionEvent)+(48))>>3)]=e.accelerationIncludingGravity.z; + HEAPF64[(((JSEvents.deviceMotionEvent)+(56))>>3)]=e.rotationRate.alpha; + HEAPF64[(((JSEvents.deviceMotionEvent)+(64))>>3)]=e.rotationRate.beta; + HEAPF64[(((JSEvents.deviceMotionEvent)+(72))>>3)]=e.rotationRate.gamma; + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.deviceMotionEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: JSEvents.findEventTarget(target), + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },screenOrientation:function () { + if (!window.screen) return undefined; + return window.screen.orientation || window.screen.mozOrientation || window.screen.webkitOrientation || window.screen.msOrientation; + },fillOrientationChangeEventData:function (eventStruct, e) { + var orientations = ["portrait-primary", "portrait-secondary", "landscape-primary", "landscape-secondary"]; + var orientations2 = ["portrait", "portrait", "landscape", "landscape"]; + + var orientationString = JSEvents.screenOrientation(); + var orientation = orientations.indexOf(orientationString); + if (orientation == -1) { + orientation = orientations2.indexOf(orientationString); + } + + HEAP32[((eventStruct)>>2)]=1 << orientation; + HEAP32[(((eventStruct)+(4))>>2)]=window.orientation; + },registerOrientationChangeEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.orientationChangeEvent) { + JSEvents.orientationChangeEvent = _malloc( 8 ); + } + + if (!target) { + target = window.screen; // Orientation events need to be captured from 'window.screen' instead of 'window' + } else { + target = JSEvents.findEventTarget(target); + } + + var handlerFunc = function(event) { + var e = event || window.event; + + JSEvents.fillOrientationChangeEventData(JSEvents.orientationChangeEvent, e); + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.orientationChangeEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + if (eventTypeString == "orientationchange" && window.screen.mozOrientation !== undefined) { + eventTypeString = "mozorientationchange"; + } + + var eventHandler = { + target: target, + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },fullscreenEnabled:function () { + return document.fullscreenEnabled || document.mozFullScreenEnabled || document.webkitFullscreenEnabled || document.msFullscreenEnabled; + },fillFullscreenChangeEventData:function (eventStruct, e) { + var fullscreenElement = document.fullscreenElement || document.mozFullScreenElement || document.webkitFullscreenElement || document.msFullscreenElement; + var isFullscreen = !!fullscreenElement; + HEAP32[((eventStruct)>>2)]=isFullscreen; + HEAP32[(((eventStruct)+(4))>>2)]=JSEvents.fullscreenEnabled(); + // If transitioning to fullscreen, report info about the element that is now fullscreen. + // If transitioning to windowed mode, report info about the element that just was fullscreen. + var reportedElement = isFullscreen ? fullscreenElement : JSEvents.previousFullscreenElement; + var nodeName = JSEvents.getNodeNameForTarget(reportedElement); + var id = (reportedElement && reportedElement.id) ? reportedElement.id : ''; + stringToUTF8(nodeName, eventStruct + 8, 128); + stringToUTF8(id, eventStruct + 136, 128); + HEAP32[(((eventStruct)+(264))>>2)]=reportedElement ? reportedElement.clientWidth : 0; + HEAP32[(((eventStruct)+(268))>>2)]=reportedElement ? reportedElement.clientHeight : 0; + HEAP32[(((eventStruct)+(272))>>2)]=screen.width; + HEAP32[(((eventStruct)+(276))>>2)]=screen.height; + if (isFullscreen) { + JSEvents.previousFullscreenElement = fullscreenElement; + } + },registerFullscreenChangeEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.fullscreenChangeEvent) { + JSEvents.fullscreenChangeEvent = _malloc( 280 ); + } + + if (!target) { + target = document; // Fullscreen change events need to be captured from 'document' by default instead of 'window' + } else { + target = JSEvents.findEventTarget(target); + } + + var handlerFunc = function(event) { + var e = event || window.event; + + JSEvents.fillFullscreenChangeEventData(JSEvents.fullscreenChangeEvent, e); + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.fullscreenChangeEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: target, + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },resizeCanvasForFullscreen:function (target, strategy) { + var restoreOldStyle = __registerRestoreOldStyle(target); + var cssWidth = strategy.softFullscreen ? window.innerWidth : screen.width; + var cssHeight = strategy.softFullscreen ? window.innerHeight : screen.height; + var rect = target.getBoundingClientRect(); + var windowedCssWidth = rect.right - rect.left; + var windowedCssHeight = rect.bottom - rect.top; + var windowedRttWidth = target.width; + var windowedRttHeight = target.height; + + if (strategy.scaleMode == 3) { + __setLetterbox(target, (cssHeight - windowedCssHeight) / 2, (cssWidth - windowedCssWidth) / 2); + cssWidth = windowedCssWidth; + cssHeight = windowedCssHeight; + } else if (strategy.scaleMode == 2) { + if (cssWidth*windowedRttHeight < windowedRttWidth*cssHeight) { + var desiredCssHeight = windowedRttHeight * cssWidth / windowedRttWidth; + __setLetterbox(target, (cssHeight - desiredCssHeight) / 2, 0); + cssHeight = desiredCssHeight; + } else { + var desiredCssWidth = windowedRttWidth * cssHeight / windowedRttHeight; + __setLetterbox(target, 0, (cssWidth - desiredCssWidth) / 2); + cssWidth = desiredCssWidth; + } + } + + // If we are adding padding, must choose a background color or otherwise Chrome will give the + // padding a default white color. Do it only if user has not customized their own background color. + if (!target.style.backgroundColor) target.style.backgroundColor = 'black'; + // IE11 does the same, but requires the color to be set in the document body. + if (!document.body.style.backgroundColor) document.body.style.backgroundColor = 'black'; // IE11 + // Firefox always shows black letterboxes independent of style color. + + target.style.width = cssWidth + 'px'; + target.style.height = cssHeight + 'px'; + + if (strategy.filteringMode == 1) { + target.style.imageRendering = 'optimizeSpeed'; + target.style.imageRendering = '-moz-crisp-edges'; + target.style.imageRendering = '-o-crisp-edges'; + target.style.imageRendering = '-webkit-optimize-contrast'; + target.style.imageRendering = 'optimize-contrast'; + target.style.imageRendering = 'crisp-edges'; + target.style.imageRendering = 'pixelated'; + } + + var dpiScale = (strategy.canvasResolutionScaleMode == 2) ? window.devicePixelRatio : 1; + if (strategy.canvasResolutionScaleMode != 0) { + target.width = cssWidth * dpiScale; + target.height = cssHeight * dpiScale; + if (target.GLctxObject) target.GLctxObject.GLctx.viewport(0, 0, target.width, target.height); + } + return restoreOldStyle; + },requestFullscreen:function (target, strategy) { + // EMSCRIPTEN_FULLSCREEN_SCALE_DEFAULT + EMSCRIPTEN_FULLSCREEN_CANVAS_SCALE_NONE is a mode where no extra logic is performed to the DOM elements. + if (strategy.scaleMode != 0 || strategy.canvasResolutionScaleMode != 0) { + JSEvents.resizeCanvasForFullscreen(target, strategy); + } + + if (target.requestFullscreen) { + target.requestFullscreen(); + } else if (target.msRequestFullscreen) { + target.msRequestFullscreen(); + } else if (target.mozRequestFullScreen) { + target.mozRequestFullScreen(); + } else if (target.mozRequestFullscreen) { + target.mozRequestFullscreen(); + } else if (target.webkitRequestFullscreen) { + target.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT); + } else { + if (typeof JSEvents.fullscreenEnabled() === 'undefined') { + return -1; + } else { + return -3; + } + } + + if (strategy.canvasResizedCallback) { + Module['dynCall_iiii'](strategy.canvasResizedCallback, 37, 0, strategy.canvasResizedCallbackUserData); + } + + return 0; + },fillPointerlockChangeEventData:function (eventStruct, e) { + var pointerLockElement = document.pointerLockElement || document.mozPointerLockElement || document.webkitPointerLockElement || document.msPointerLockElement; + var isPointerlocked = !!pointerLockElement; + HEAP32[((eventStruct)>>2)]=isPointerlocked; + var nodeName = JSEvents.getNodeNameForTarget(pointerLockElement); + var id = (pointerLockElement && pointerLockElement.id) ? pointerLockElement.id : ''; + stringToUTF8(nodeName, eventStruct + 4, 128); + stringToUTF8(id, eventStruct + 132, 128); + },registerPointerlockChangeEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.pointerlockChangeEvent) { + JSEvents.pointerlockChangeEvent = _malloc( 260 ); + } + + if (!target) { + target = document; // Pointer lock change events need to be captured from 'document' by default instead of 'window' + } else { + target = JSEvents.findEventTarget(target); + } + + var handlerFunc = function(event) { + var e = event || window.event; + + JSEvents.fillPointerlockChangeEventData(JSEvents.pointerlockChangeEvent, e); + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.pointerlockChangeEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: target, + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },registerPointerlockErrorEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!target) { + target = document; // Pointer lock events need to be captured from 'document' by default instead of 'window' + } else { + target = JSEvents.findEventTarget(target); + } + + var handlerFunc = function(event) { + var e = event || window.event; + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, 0, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: target, + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },requestPointerLock:function (target) { + if (target.requestPointerLock) { + target.requestPointerLock(); + } else if (target.mozRequestPointerLock) { + target.mozRequestPointerLock(); + } else if (target.webkitRequestPointerLock) { + target.webkitRequestPointerLock(); + } else if (target.msRequestPointerLock) { + target.msRequestPointerLock(); + } else { + // document.body is known to accept pointer lock, so use that to differentiate if the user passed a bad element, + // or if the whole browser just doesn't support the feature. + if (document.body.requestPointerLock || document.body.mozRequestPointerLock || document.body.webkitRequestPointerLock || document.body.msRequestPointerLock) { + return -3; + } else { + return -1; + } + } + return 0; + },fillVisibilityChangeEventData:function (eventStruct, e) { + var visibilityStates = [ "hidden", "visible", "prerender", "unloaded" ]; + var visibilityState = visibilityStates.indexOf(document.visibilityState); + + HEAP32[((eventStruct)>>2)]=document.hidden; + HEAP32[(((eventStruct)+(4))>>2)]=visibilityState; + },registerVisibilityChangeEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.visibilityChangeEvent) { + JSEvents.visibilityChangeEvent = _malloc( 8 ); + } + + if (!target) { + target = document; // Visibility change events need to be captured from 'document' by default instead of 'window' + } else { + target = JSEvents.findEventTarget(target); + } + + var handlerFunc = function(event) { + var e = event || window.event; + + JSEvents.fillVisibilityChangeEventData(JSEvents.visibilityChangeEvent, e); + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.visibilityChangeEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: target, + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },registerTouchEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.touchEvent) { + JSEvents.touchEvent = _malloc( 1684 ); + } + + target = JSEvents.findEventTarget(target); + + var handlerFunc = function(event) { + var e = event || window.event; + + var touches = {}; + for(var i = 0; i < e.touches.length; ++i) { + var touch = e.touches[i]; + touches[touch.identifier] = touch; + } + for(var i = 0; i < e.changedTouches.length; ++i) { + var touch = e.changedTouches[i]; + touches[touch.identifier] = touch; + touch.changed = true; + } + for(var i = 0; i < e.targetTouches.length; ++i) { + var touch = e.targetTouches[i]; + touches[touch.identifier].onTarget = true; + } + + var ptr = JSEvents.touchEvent; + HEAP32[(((ptr)+(4))>>2)]=e.ctrlKey; + HEAP32[(((ptr)+(8))>>2)]=e.shiftKey; + HEAP32[(((ptr)+(12))>>2)]=e.altKey; + HEAP32[(((ptr)+(16))>>2)]=e.metaKey; + ptr += 20; // Advance to the start of the touch array. + var canvasRect = Module['canvas'] ? Module['canvas'].getBoundingClientRect() : undefined; + var targetRect = JSEvents.getBoundingClientRectOrZeros(target); + var numTouches = 0; + for(var i in touches) { + var t = touches[i]; + HEAP32[((ptr)>>2)]=t.identifier; + HEAP32[(((ptr)+(4))>>2)]=t.screenX; + HEAP32[(((ptr)+(8))>>2)]=t.screenY; + HEAP32[(((ptr)+(12))>>2)]=t.clientX; + HEAP32[(((ptr)+(16))>>2)]=t.clientY; + HEAP32[(((ptr)+(20))>>2)]=t.pageX; + HEAP32[(((ptr)+(24))>>2)]=t.pageY; + HEAP32[(((ptr)+(28))>>2)]=t.changed; + HEAP32[(((ptr)+(32))>>2)]=t.onTarget; + if (canvasRect) { + HEAP32[(((ptr)+(44))>>2)]=t.clientX - canvasRect.left; + HEAP32[(((ptr)+(48))>>2)]=t.clientY - canvasRect.top; + } else { + HEAP32[(((ptr)+(44))>>2)]=0; + HEAP32[(((ptr)+(48))>>2)]=0; + } + HEAP32[(((ptr)+(36))>>2)]=t.clientX - targetRect.left; + HEAP32[(((ptr)+(40))>>2)]=t.clientY - targetRect.top; + + ptr += 52; + + if (++numTouches >= 32) { + break; + } + } + HEAP32[((JSEvents.touchEvent)>>2)]=numTouches; + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.touchEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: target, + allowsDeferredCalls: false, // XXX Currently disabled, see bug https://bugzilla.mozilla.org/show_bug.cgi?id=966493 + // Once the above bug is resolved, enable the following condition if possible: + // allowsDeferredCalls: eventTypeString == 'touchstart', + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },fillGamepadEventData:function (eventStruct, e) { + HEAPF64[((eventStruct)>>3)]=e.timestamp; + for(var i = 0; i < e.axes.length; ++i) { + HEAPF64[(((eventStruct+i*8)+(16))>>3)]=e.axes[i]; + } + for(var i = 0; i < e.buttons.length; ++i) { + if (typeof(e.buttons[i]) === 'object') { + HEAPF64[(((eventStruct+i*8)+(528))>>3)]=e.buttons[i].value; + } else { + HEAPF64[(((eventStruct+i*8)+(528))>>3)]=e.buttons[i]; + } + } + for(var i = 0; i < e.buttons.length; ++i) { + if (typeof(e.buttons[i]) === 'object') { + HEAP32[(((eventStruct+i*4)+(1040))>>2)]=e.buttons[i].pressed; + } else { + HEAP32[(((eventStruct+i*4)+(1040))>>2)]=e.buttons[i] == 1.0; + } + } + HEAP32[(((eventStruct)+(1296))>>2)]=e.connected; + HEAP32[(((eventStruct)+(1300))>>2)]=e.index; + HEAP32[(((eventStruct)+(8))>>2)]=e.axes.length; + HEAP32[(((eventStruct)+(12))>>2)]=e.buttons.length; + stringToUTF8(e.id, eventStruct + 1304, 64); + stringToUTF8(e.mapping, eventStruct + 1368, 64); + },registerGamepadEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.gamepadEvent) { + JSEvents.gamepadEvent = _malloc( 1432 ); + } + + var handlerFunc = function(event) { + var e = event || window.event; + + JSEvents.fillGamepadEventData(JSEvents.gamepadEvent, e.gamepad); + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.gamepadEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: JSEvents.findEventTarget(target), + allowsDeferredCalls: true, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },registerBeforeUnloadEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + var handlerFunc = function(event) { + var e = event || window.event; + + var confirmationMessage = Module['dynCall_iiii'](callbackfunc, eventTypeId, 0, userData); + + if (confirmationMessage) { + confirmationMessage = Pointer_stringify(confirmationMessage); + } + if (confirmationMessage) { + e.preventDefault(); + e.returnValue = confirmationMessage; + return confirmationMessage; + } + }; + + var eventHandler = { + target: JSEvents.findEventTarget(target), + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },battery:function () { return navigator.battery || navigator.mozBattery || navigator.webkitBattery; },fillBatteryEventData:function (eventStruct, e) { + HEAPF64[((eventStruct)>>3)]=e.chargingTime; + HEAPF64[(((eventStruct)+(8))>>3)]=e.dischargingTime; + HEAPF64[(((eventStruct)+(16))>>3)]=e.level; + HEAP32[(((eventStruct)+(24))>>2)]=e.charging; + },registerBatteryEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.batteryEvent) { + JSEvents.batteryEvent = _malloc( 32 ); + } + + var handlerFunc = function(event) { + var e = event || window.event; + + JSEvents.fillBatteryEventData(JSEvents.batteryEvent, JSEvents.battery()); + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.batteryEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: JSEvents.findEventTarget(target), + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },registerWebGlEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!target) { + target = Module['canvas']; + } + var handlerFunc = function(event) { + var e = event || window.event; + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, 0, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: JSEvents.findEventTarget(target), + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + }};function __emscripten_sample_gamepad_data() { + // Polling gamepads generates garbage, so don't do it when we know there are no gamepads connected. + if (!JSEvents.numGamepadsConnected) return; + + // Produce a new Gamepad API sample if we are ticking a new game frame, or if not using emscripten_set_main_loop() at all to drive animation. + if (Browser.mainLoop.currentFrameNumber !== JSEvents.lastGamepadStateFrame || !Browser.mainLoop.currentFrameNumber) { + JSEvents.lastGamepadState = navigator.getGamepads ? navigator.getGamepads() : (navigator.webkitGetGamepads ? navigator.webkitGetGamepads : null); + JSEvents.lastGamepadStateFrame = Browser.mainLoop.currentFrameNumber; + } + }function _emscripten_get_gamepad_status(index, gamepadState) { + __emscripten_sample_gamepad_data(); + if (!JSEvents.lastGamepadState) return -1; + + // INVALID_PARAM is returned on a Gamepad index that never was there. + if (index < 0 || index >= JSEvents.lastGamepadState.length) return -5; + + // NO_DATA is returned on a Gamepad index that was removed. + // For previously disconnected gamepads there should be an empty slot (null/undefined/false) at the index. + // This is because gamepads must keep their original position in the array. + // For example, removing the first of two gamepads produces [null/undefined/false, gamepad]. + if (!JSEvents.lastGamepadState[index]) return -7; + + JSEvents.fillGamepadEventData(gamepadState, JSEvents.lastGamepadState[index]); + return 0; + } + + var _llvm_pow_f64=Math_pow; + + function _emscripten_glCopyTexImage2D(x0, x1, x2, x3, x4, x5, x6, x7) { GLctx['copyTexImage2D'](x0, x1, x2, x3, x4, x5, x6, x7) } + + function _alcGetString(device, param) { + if (AL.alcStringCache[param]) return AL.alcStringCache[param]; + var ret; + switch (param) { + case 0 /* ALC_NO_ERROR */: + ret = 'No Error'; + break; + case 0xA001 /* ALC_INVALID_DEVICE */: + ret = 'Invalid Device'; + break; + case 0xA002 /* ALC_INVALID_CONTEXT */: + ret = 'Invalid Context'; + break; + case 0xA003 /* ALC_INVALID_ENUM */: + ret = 'Invalid Enum'; + break; + case 0xA004 /* ALC_INVALID_VALUE */: + ret = 'Invalid Value'; + break; + case 0xA005 /* ALC_OUT_OF_MEMORY */: + ret = 'Out of Memory'; + break; + case 0x1004 /* ALC_DEFAULT_DEVICE_SPECIFIER */: + if (typeof(AudioContext) !== "undefined" || + typeof(webkitAudioContext) !== "undefined") { + ret = 'Device'; + } else { + return 0; + } + break; + case 0x1005 /* ALC_DEVICE_SPECIFIER */: + if (typeof(AudioContext) !== "undefined" || + typeof(webkitAudioContext) !== "undefined") { + ret = 'Device\0'; + } else { + ret = '\0'; + } + break; + case 0x311 /* ALC_CAPTURE_DEFAULT_DEVICE_SPECIFIER */: + return 0; + break; + case 0x310 /* ALC_CAPTURE_DEVICE_SPECIFIER */: + ret = '\0' + break; + case 0x1006 /* ALC_EXTENSIONS */: + if (!device) { + AL.alcErr = 0xA001 /* ALC_INVALID_DEVICE */; + return 0; + } + ret = ''; + break; + default: + AL.alcErr = 0xA003 /* ALC_INVALID_ENUM */; + return 0; + } + + ret = allocate(intArrayFromString(ret), 'i8', ALLOC_NORMAL); + + AL.alcStringCache[param] = ret; + + return ret; + } + + function _emscripten_glTexParameterfv(target, pname, params) { + var param = HEAPF32[((params)>>2)]; + GLctx.texParameterf(target, pname, param); + } + + function _emscripten_glLinkProgram(program) { + GLctx.linkProgram(GL.programs[program]); + GL.programInfos[program] = null; // uniforms no longer keep the same names after linking + GL.populateUniformTable(program); + } + + function _emscripten_glUniform3f(location, v0, v1, v2) { + GLctx.uniform3f(GL.uniforms[location], v0, v1, v2); + } + + function _emscripten_glGetObjectParameterivARB() { + Module['printErr']('missing function: emscripten_glGetObjectParameterivARB'); abort(-1); + } + + function _emscripten_glBlendFunc(x0, x1) { GLctx['blendFunc'](x0, x1) } + + function _emscripten_glUniform3i(location, v0, v1, v2) { + GLctx.uniform3i(GL.uniforms[location], v0, v1, v2); + } + + function _emscripten_glStencilOp(x0, x1, x2) { GLctx['stencilOp'](x0, x1, x2) } + + function _glCreateShader(shaderType) { + var id = GL.getNewId(GL.shaders); + GL.shaders[id] = GLctx.createShader(shaderType); + return id; + } + + function _glUniform1i(location, v0) { + GLctx.uniform1i(GL.uniforms[location], v0); + } + + function _emscripten_glBindAttribLocation(program, index, name) { + name = Pointer_stringify(name); + GLctx.bindAttribLocation(GL.programs[program], index, name); + } + + function _glCompressedTexImage2D(target, level, internalFormat, width, height, border, imageSize, data) { + GLctx['compressedTexImage2D'](target, level, internalFormat, width, height, border, data ? HEAPU8.subarray((data),(data+imageSize)) : null); + } + + function _glDisable(x0) { GLctx['disable'](x0) } + + function _glfwGetMouseButton(winid, button) { + return GLFW.getMouseButton(winid, button); + } + + function _emscripten_glEnableVertexAttribArray(index) { + GLctx.enableVertexAttribArray(index); + } + + + Module["_memset"] = _memset; + + function _alDeleteBuffers(count, buffers) + { + if (!AL.currentContext) { + return; + } + if (count > AL.currentContext.buf.length) { + AL.currentContext.err = 0xA003 /* AL_INVALID_VALUE */; + return; + } + + for (var i = 0; i < count; ++i) { + var bufferIdx = HEAP32[(((buffers)+(i*4))>>2)] - 1; + + // Make sure the buffer index is valid. + if (bufferIdx >= AL.currentContext.buf.length || !AL.currentContext.buf[bufferIdx]) { + AL.currentContext.err = 0xA001 /* AL_INVALID_NAME */; + return; + } + + // Make sure the buffer is no longer in use. + var buffer = AL.currentContext.buf[bufferIdx]; + for (var srcId in AL.currentContext.src) { + var src = AL.currentContext.src[srcId]; + if (!src) { + continue; + } + for (var k = 0; k < src.queue.length; k++) { + if (buffer === src.queue[k].buffer) { + AL.currentContext.err = 0xA004 /* AL_INVALID_OPERATION */; + return; + } + } + } + } + + for (var i = 0; i < count; ++i) { + var bufferIdx = HEAP32[(((buffers)+(i*4))>>2)] - 1; + delete AL.currentContext.buf[bufferIdx]; + } + } + + function _alListener3f(param, v1, v2, v3) { + if (!AL.currentContext) { + return; + } + switch (param) { + case 0x1004 /* AL_POSITION */: + AL.currentContext.ctx.listener._position[0] = v1; + AL.currentContext.ctx.listener._position[1] = v2; + AL.currentContext.ctx.listener._position[2] = v3; + AL.currentContext.ctx.listener.setPosition(v1, v2, v3); + break; + case 0x1006 /* AL_VELOCITY */: + AL.currentContext.ctx.listener._velocity[0] = v1; + AL.currentContext.ctx.listener._velocity[1] = v2; + AL.currentContext.ctx.listener._velocity[2] = v3; + // TODO: The velocity values are not currently used to implement a doppler effect. + // If support for doppler effect is reintroduced, compute the doppler + // speed pitch factor and apply it here. + break; + default: + AL.currentContext.err = 0xA002 /* AL_INVALID_ENUM */; + break; + } + } + + function _glfwMakeContextCurrent(winid) {} + + function _emscripten_set_touchcancel_callback(target, userData, useCapture, callbackfunc) { + JSEvents.registerTouchEventCallback(target, userData, useCapture, callbackfunc, 25, "touchcancel"); + return 0; + } + + function ___lock() {} + + function _emscripten_glBlendFuncSeparate(x0, x1, x2, x3) { GLctx['blendFuncSeparate'](x0, x1, x2, x3) } + + function _glCullFace(x0) { GLctx['cullFace'](x0) } + + function _emscripten_glGetVertexAttribPointerv(index, pname, pointer) { + if (!pointer) { + // GLES2 specification does not specify how to behave if pointer is a null pointer. Since calling this function does not make sense + // if pointer == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + HEAP32[((pointer)>>2)]=GLctx.getVertexAttribOffset(index, pname); + } + + function _emscripten_glVertexAttrib3f(x0, x1, x2, x3) { GLctx['vertexAttrib3f'](x0, x1, x2, x3) } + + function _alSource3f(source, param, v1, v2, v3) { + if (!AL.currentContext) { + return; + } + var src = AL.currentContext.src[source]; + if (!src) { + AL.currentContext.err = 0xA001 /* AL_INVALID_NAME */; + return; + } + switch (param) { + case 0x1004 /* AL_POSITION */: + src.position[0] = v1; + src.position[1] = v2; + src.position[2] = v3; + break; + case 0x1005 /* AL_DIRECTION */: + src.direction[0] = v1; + src.direction[1] = v2; + src.direction[2] = v3; + break; + case 0x1006 /* AL_VELOCITY */: + src.velocity[0] = v1; + src.velocity[1] = v2; + src.velocity[2] = v3; + break; + default: + AL.currentContext.err = 0xA002 /* AL_INVALID_ENUM */; + break; + } + } + + function _emscripten_glEnable(x0) { GLctx['enable'](x0) } + + function _emscripten_glNormalPointer() { + Module['printErr']('missing function: emscripten_glNormalPointer'); abort(-1); + } + + + var _emscripten_GetProcAddress=undefined; + Module["_emscripten_GetProcAddress"] = _emscripten_GetProcAddress; + + var EGL={errorCode:12288,defaultDisplayInitialized:false,currentContext:0,currentReadSurface:0,currentDrawSurface:0,stringCache:{},setErrorCode:function (code) { + EGL.errorCode = code; + },chooseConfig:function (display, attribList, config, config_size, numConfigs) { + if (display != 62000 /* Magic ID for Emscripten 'default display' */) { + EGL.setErrorCode(0x3008 /* EGL_BAD_DISPLAY */); + return 0; + } + // TODO: read attribList. + if ((!config || !config_size) && !numConfigs) { + EGL.setErrorCode(0x300C /* EGL_BAD_PARAMETER */); + return 0; + } + if (numConfigs) { + HEAP32[((numConfigs)>>2)]=1; // Total number of supported configs: 1. + } + if (config && config_size > 0) { + HEAP32[((config)>>2)]=62002; + } + + EGL.setErrorCode(0x3000 /* EGL_SUCCESS */); + return 1; + }};function _eglGetProcAddress(name_) { + return _emscripten_GetProcAddress(name_); + } + + function _glDeleteProgram(id) { + if (!id) return; + var program = GL.programs[id]; + if (!program) { // glDeleteProgram actually signals an error when deleting a nonexisting object, unlike some other GL delete functions. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + GLctx.deleteProgram(program); + program.name = 0; + GL.programs[id] = null; + GL.programInfos[id] = null; + } + + function _alSourcePlay(source) { + if (!AL.currentContext) { + return; + } + var src = AL.currentContext.src[source]; + if (!src) { + AL.currentContext.err = 0xA001 /* AL_INVALID_NAME */; + return; + } + AL.setSourceState(src, 0x1012 /* AL_PLAYING */); + } + + function _glAttachShader(program, shader) { + GLctx.attachShader(GL.programs[program], + GL.shaders[shader]); + } + + function _glfwGetPrimaryMonitor() { + return 1; + } + + + function emscriptenWebGLGetVertexAttrib(index, pname, params, type) { + if (!params) { + // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense + // if params == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + var data = GLctx.getVertexAttrib(index, pname); + if (pname == 0x889F/*VERTEX_ATTRIB_ARRAY_BUFFER_BINDING*/) { + HEAP32[((params)>>2)]=data["name"]; + } else if (typeof data == 'number' || typeof data == 'boolean') { + switch (type) { + case 'Integer': HEAP32[((params)>>2)]=data; break; + case 'Float': HEAPF32[((params)>>2)]=data; break; + case 'FloatToInteger': HEAP32[((params)>>2)]=Math.fround(data); break; + default: throw 'internal emscriptenWebGLGetVertexAttrib() error, bad type: ' + type; + } + } else { + for (var i = 0; i < data.length; i++) { + switch (type) { + case 'Integer': HEAP32[(((params)+(i))>>2)]=data[i]; break; + case 'Float': HEAPF32[(((params)+(i))>>2)]=data[i]; break; + case 'FloatToInteger': HEAP32[(((params)+(i))>>2)]=Math.fround(data[i]); break; + default: throw 'internal emscriptenWebGLGetVertexAttrib() error, bad type: ' + type; + } + } + } + }function _emscripten_glGetVertexAttribfv(index, pname, params) { + // N.B. This function may only be called if the vertex attribute was specified using the function glVertexAttrib*f(), + // otherwise the results are undefined. (GLES3 spec 6.1.12) + emscriptenWebGLGetVertexAttrib(index, pname, params, 'Float'); + } + + function _emscripten_set_touchstart_callback(target, userData, useCapture, callbackfunc) { + JSEvents.registerTouchEventCallback(target, userData, useCapture, callbackfunc, 22, "touchstart"); + return 0; + } + + function _emscripten_glDeleteShader(id) { + if (!id) return; + var shader = GL.shaders[id]; + if (!shader) { // glDeleteShader actually signals an error when deleting a nonexisting object, unlike some other GL delete functions. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + GLctx.deleteShader(shader); + GL.shaders[id] = null; + } + + function _emscripten_glVertexPointer(){ throw 'Legacy GL function (glVertexPointer) called. If you want legacy GL emulation, you need to compile with -s LEGACY_GL_EMULATION=1 to enable legacy GL emulation.'; } + + function _emscripten_glDeleteBuffers(n, buffers) { + for (var i = 0; i < n; i++) { + var id = HEAP32[(((buffers)+(i*4))>>2)]; + var buffer = GL.buffers[id]; + + // From spec: "glDeleteBuffers silently ignores 0's and names that do not + // correspond to existing buffer objects." + if (!buffer) continue; + + GLctx.deleteBuffer(buffer); + buffer.name = 0; + GL.buffers[id] = null; + + if (id == GL.currArrayBuffer) GL.currArrayBuffer = 0; + if (id == GL.currElementArrayBuffer) GL.currElementArrayBuffer = 0; + } + } + + function _emscripten_glTexParameteriv(target, pname, params) { + var param = HEAP32[((params)>>2)]; + GLctx.texParameteri(target, pname, param); + } + + function _glDrawElements(mode, count, type, indices) { + + GLctx.drawElements(mode, count, type, indices); + + } + + function _glfwTerminate() { + window.removeEventListener("keydown", GLFW.onKeydown, true); + window.removeEventListener("keypress", GLFW.onKeyPress, true); + window.removeEventListener("keyup", GLFW.onKeyup, true); + Module["canvas"].removeEventListener("mousemove", GLFW.onMousemove, true); + Module["canvas"].removeEventListener("mousedown", GLFW.onMouseButtonDown, true); + Module["canvas"].removeEventListener("mouseup", GLFW.onMouseButtonUp, true); + Module["canvas"].removeEventListener('wheel', GLFW.onMouseWheel, true); + Module["canvas"].removeEventListener('mousewheel', GLFW.onMouseWheel, true); + Module["canvas"].removeEventListener('mouseenter', GLFW.onMouseenter, true); + Module["canvas"].removeEventListener('mouseleave', GLFW.onMouseleave, true); + Module["canvas"].width = Module["canvas"].height = 1; + GLFW.windows = null; + GLFW.active = null; + } + + function _emscripten_glUniformMatrix2fv(location, count, transpose, value) { + + + var view; + if (4*count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[4*count-1]; + for (var i = 0; i < 4*count; i += 4) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; + view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; + view[i+3] = HEAPF32[(((value)+(4*i+12))>>2)]; + } + } else { + view = HEAPF32.subarray((value)>>2,(value+count*16)>>2); + } + GLctx.uniformMatrix2fv(GL.uniforms[location], !!transpose, view); + } + + function ___syscall5(which, varargs) {SYSCALLS.varargs = varargs; + try { + // open + var pathname = SYSCALLS.getStr(), flags = SYSCALLS.get(), mode = SYSCALLS.get() // optional TODO + var stream = FS.open(pathname, flags, mode); + return stream.fd; + } catch (e) { + if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno; + } + } + + function ___syscall6(which, varargs) {SYSCALLS.varargs = varargs; + try { + // close + var stream = SYSCALLS.getStreamFromFD(); + FS.close(stream); + return 0; + } catch (e) { + if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno; + } + } + + function _llvm_stacksave() { + var self = _llvm_stacksave; + if (!self.LLVM_SAVEDSTACKS) { + self.LLVM_SAVEDSTACKS = []; + } + self.LLVM_SAVEDSTACKS.push(Runtime.stackSave()); + return self.LLVM_SAVEDSTACKS.length-1; + } + + function _emscripten_glGetVertexAttribiv(index, pname, params) { + // N.B. This function may only be called if the vertex attribute was specified using the function glVertexAttrib*f(), + // otherwise the results are undefined. (GLES3 spec 6.1.12) + emscriptenWebGLGetVertexAttrib(index, pname, params, 'FloatToInteger'); + } + + function _emscripten_glUniformMatrix4fv(location, count, transpose, value) { + + + var view; + if (16*count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[16*count-1]; + for (var i = 0; i < 16*count; i += 16) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; + view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; + view[i+3] = HEAPF32[(((value)+(4*i+12))>>2)]; + view[i+4] = HEAPF32[(((value)+(4*i+16))>>2)]; + view[i+5] = HEAPF32[(((value)+(4*i+20))>>2)]; + view[i+6] = HEAPF32[(((value)+(4*i+24))>>2)]; + view[i+7] = HEAPF32[(((value)+(4*i+28))>>2)]; + view[i+8] = HEAPF32[(((value)+(4*i+32))>>2)]; + view[i+9] = HEAPF32[(((value)+(4*i+36))>>2)]; + view[i+10] = HEAPF32[(((value)+(4*i+40))>>2)]; + view[i+11] = HEAPF32[(((value)+(4*i+44))>>2)]; + view[i+12] = HEAPF32[(((value)+(4*i+48))>>2)]; + view[i+13] = HEAPF32[(((value)+(4*i+52))>>2)]; + view[i+14] = HEAPF32[(((value)+(4*i+56))>>2)]; + view[i+15] = HEAPF32[(((value)+(4*i+60))>>2)]; + } + } else { + view = HEAPF32.subarray((value)>>2,(value+count*64)>>2); + } + GLctx.uniformMatrix4fv(GL.uniforms[location], !!transpose, view); + } + + function _emscripten_glDrawArraysInstanced(mode, first, count, primcount) { + GLctx['drawArraysInstanced'](mode, first, count, primcount); + } + + function _emscripten_glEnableClientState() { + Module['printErr']('missing function: emscripten_glEnableClientState'); abort(-1); + } + + function _emscripten_glGetPointerv() { + Module['printErr']('missing function: emscripten_glGetPointerv'); abort(-1); + } + + function ___syscall140(which, varargs) {SYSCALLS.varargs = varargs; + try { + // llseek + var stream = SYSCALLS.getStreamFromFD(), offset_high = SYSCALLS.get(), offset_low = SYSCALLS.get(), result = SYSCALLS.get(), whence = SYSCALLS.get(); + var offset = offset_low; + assert(offset_high === 0); + FS.llseek(stream, offset, whence); + HEAP32[((result)>>2)]=stream.position; + if (stream.getdents && offset === 0 && whence === 0) stream.getdents = null; // reset readdir state + return 0; + } catch (e) { + if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno; + } + } + + function ___syscall146(which, varargs) {SYSCALLS.varargs = varargs; + try { + // writev + var stream = SYSCALLS.getStreamFromFD(), iov = SYSCALLS.get(), iovcnt = SYSCALLS.get(); + return SYSCALLS.doWritev(stream, iov, iovcnt); + } catch (e) { + if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno; + } + } + + function _emscripten_glUniform1i(location, v0) { + GLctx.uniform1i(GL.uniforms[location], v0); + } + + function ___syscall145(which, varargs) {SYSCALLS.varargs = varargs; + try { + // readv + var stream = SYSCALLS.getStreamFromFD(), iov = SYSCALLS.get(), iovcnt = SYSCALLS.get(); + return SYSCALLS.doReadv(stream, iov, iovcnt); + } catch (e) { + if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno; + } + } + + function _emscripten_glStencilMask(x0) { GLctx['stencilMask'](x0) } + + function _emscripten_glStencilFuncSeparate(x0, x1, x2, x3) { GLctx['stencilFuncSeparate'](x0, x1, x2, x3) } + + + Module["_i64Subtract"] = _i64Subtract; + + + Module["_i64Add"] = _i64Add; + + function _emscripten_set_touchend_callback(target, userData, useCapture, callbackfunc) { + JSEvents.registerTouchEventCallback(target, userData, useCapture, callbackfunc, 23, "touchend"); + return 0; + } + + function _glUseProgram(program) { + GLctx.useProgram(program ? GL.programs[program] : null); + } + + function _emscripten_glDisableVertexAttribArray(index) { + GLctx.disableVertexAttribArray(index); + } + + function _emscripten_glVertexAttrib1f(x0, x1) { GLctx['vertexAttrib1f'](x0, x1) } + + function _emscripten_glFinish() { GLctx['finish']() } + + function _glDrawArrays(mode, first, count) { + + GLctx.drawArrays(mode, first, count); + + } + + function _emscripten_glDepthFunc(x0) { GLctx['depthFunc'](x0) } + + function _alcOpenDevice(deviceName) { + if (typeof(AudioContext) !== "undefined" || + typeof(webkitAudioContext) !== "undefined") { + return 1; // non-null pointer -- we just simulate one device + } else { + return 0; + } + } + + function _emscripten_get_num_gamepads() { + // Polling gamepads generates garbage, so don't do it when we know there are no gamepads connected. + if (!JSEvents.numGamepadsConnected) return 0; + + __emscripten_sample_gamepad_data(); + if (!JSEvents.lastGamepadState) return -1; + return JSEvents.lastGamepadState.length; + } + + function _glGetProgramInfoLog(program, maxLength, length, infoLog) { + var log = GLctx.getProgramInfoLog(GL.programs[program]); + if (log === null) log = '(unknown error)'; + + if (maxLength > 0 && infoLog) { + var numBytesWrittenExclNull = stringToUTF8(log, infoLog, maxLength); + if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; + } else { + if (length) HEAP32[((length)>>2)]=0; + } + } + + function _emscripten_glUniform4iv(location, count, value) { + + + GLctx.uniform4iv(GL.uniforms[location], HEAP32.subarray((value)>>2,(value+count*16)>>2)); + } + + function _glClear(x0) { GLctx['clear'](x0) } + + function _emscripten_glLoadIdentity(){ throw 'Legacy GL function (glLoadIdentity) called. If you want legacy GL emulation, you need to compile with -s LEGACY_GL_EMULATION=1 to enable legacy GL emulation.'; } + + function _emscripten_glUniform3fv(location, count, value) { + + + var view; + if (3*count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[3*count-1]; + for (var i = 0; i < 3*count; i += 3) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; + view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; + } + } else { + view = HEAPF32.subarray((value)>>2,(value+count*12)>>2); + } + GLctx.uniform3fv(GL.uniforms[location], view); + } + + function _emscripten_glIsTexture(texture) { + var texture = GL.textures[texture]; + if (!texture) return 0; + return GLctx.isTexture(texture); + } + + function _glEnableVertexAttribArray(index) { + GLctx.enableVertexAttribArray(index); + } + + function _emscripten_glAttachShader(program, shader) { + GLctx.attachShader(GL.programs[program], + GL.shaders[shader]); + } + + function _alSourceUnqueueBuffers(source, count, buffers) { + if (!AL.currentContext) { + return; + } + var src = AL.currentContext.src[source]; + if (!src) { + AL.currentContext.err = 0xA001 /* AL_INVALID_NAME */; + return; + } + + if (count > src.buffersPlayed) { + AL.currentContext.err = 0xA003 /* AL_INVALID_VALUE */; + return; + } + + for (var i = 0; i < count; i++) { + var entry = src.queue.shift(); + // Write the buffers index out to the return list. + for (var j = 0; j < AL.currentContext.buf.length; j++) { + var b = AL.currentContext.buf[j]; + if (b && b == entry.buffer) { + HEAP32[(((buffers)+(i*4))>>2)]=j+1; + break; + } + } + src.buffersPlayed--; + } + + AL.updateSource(src); + } + + function _glUniform4f(location, v0, v1, v2, v3) { + GLctx.uniform4f(GL.uniforms[location], v0, v1, v2, v3); + } + + function _emscripten_glVertexAttrib2f(x0, x1, x2) { GLctx['vertexAttrib2f'](x0, x1, x2) } + + function _glfwCreateWindow(width, height, title, monitor, share) { + return GLFW.createWindow(width, height, title, monitor, share); + } + + function _alGetSourcei(source, param, value) { + if (!AL.currentContext) { + return; + } + var src = AL.currentContext.src[source]; + if (!src) { + AL.currentContext.err = 0xA001 /* AL_INVALID_NAME */; + return; + } + + // Being that we have no way to receive end events from buffer nodes, + // we currently proccess and update a source's buffer queue every + // ~QUEUE_INTERVAL milliseconds. However, this interval is not precise, + // so we also forcefully update the source when alGetSourcei is queried + // to aid in the common scenario of application calling alGetSourcei(AL_BUFFERS_PROCESSED) + // to recycle buffers. + AL.updateSource(src); + + switch (param) { + case 0x202 /* AL_SOURCE_RELATIVE */: + HEAP32[((value)>>2)]=src.panner ? 1 : 0; + break; + case 0x1001 /* AL_CONE_INNER_ANGLE */: + HEAP32[((value)>>2)]=src.coneInnerAngle; + break; + case 0x1002 /* AL_CONE_OUTER_ANGLE */: + HEAP32[((value)>>2)]=src.coneOuterAngle; + break; + case 0x1007 /* AL_LOOPING */: + HEAP32[((value)>>2)]=src.loop; + break; + case 0x1009 /* AL_BUFFER */: + if (!src.queue.length) { + HEAP32[((value)>>2)]=0; + } else { + // Find the first unprocessed buffer. + var buffer = src.queue[src.buffersPlayed].buffer; + // Return its index. + for (var i = 0; i < AL.currentContext.buf.length; ++i) { + if (buffer == AL.currentContext.buf[i]) { + HEAP32[((value)>>2)]=i+1; + return; + } + } + HEAP32[((value)>>2)]=0; + } + break; + case 0x1010 /* AL_SOURCE_STATE */: + HEAP32[((value)>>2)]=src.state; + break; + case 0x1015 /* AL_BUFFERS_QUEUED */: + HEAP32[((value)>>2)]=src.queue.length + break; + case 0x1016 /* AL_BUFFERS_PROCESSED */: + if (src.loop) { + HEAP32[((value)>>2)]=0 + } else { + HEAP32[((value)>>2)]=src.buffersPlayed + } + break; + default: + AL.currentContext.err = 0xA002 /* AL_INVALID_ENUM */; + break; + } + } + + function _emscripten_glClearStencil(x0) { GLctx['clearStencil'](x0) } + + function _emscripten_glDetachShader(program, shader) { + GLctx.detachShader(GL.programs[program], + GL.shaders[shader]); + } + + function _emscripten_glDeleteVertexArrays(n, vaos) { + for (var i = 0; i < n; i++) { + var id = HEAP32[(((vaos)+(i*4))>>2)]; + GLctx['deleteVertexArray'](GL.vaos[id]); + GL.vaos[id] = null; + } + } + + function _alGenSources(count, sources) { + if (!AL.currentContext) { + return; + } + for (var i = 0; i < count; ++i) { + var gain = AL.currentContext.ctx.createGain(); + gain.connect(AL.currentContext.gain); + AL.currentContext.src[AL.newSrcId] = { + context: AL.currentContext, + state: 0x1011 /* AL_INITIAL */, + queue: [], + loop: false, + playbackRate: 1, + _position: [0, 0, 0], + _velocity: [0, 0, 0], + _direction: [0, 0, 0], + get refDistance() { + return this._refDistance || 1; + }, + set refDistance(val) { + this._refDistance = val; + if (this.panner) this.panner.refDistance = val; + }, + get maxDistance() { + return this._maxDistance || 10000; + }, + set maxDistance(val) { + this._maxDistance = val; + if (this.panner) this.panner.maxDistance = val; + }, + get rolloffFactor() { + return this._rolloffFactor || 1; + }, + set rolloffFactor(val) { + this._rolloffFactor = val; + if (this.panner) this.panner.rolloffFactor = val; + }, + get position() { + return this._position; + }, + set position(val) { + this._position[0] = val[0]; + this._position[1] = val[1]; + this._position[2] = val[2]; + if (this.panner) this.panner.setPosition(val[0], val[1], val[2]); + }, + get velocity() { + return this._velocity; + }, + set velocity(val) { + this._velocity[0] = val[0]; + this._velocity[1] = val[1]; + this._velocity[2] = val[2]; + // TODO: The velocity values are not currently used to implement a doppler effect. + // If support for doppler effect is reintroduced, compute the doppler + // speed pitch factor and apply it here. + }, + get direction() { + return this._direction; + }, + set direction(val) { + this._direction[0] = val[0]; + this._direction[1] = val[1]; + this._direction[2] = val[2]; + if (this.panner) this.panner.setOrientation(val[0], val[1], val[2]); + }, + get coneOuterGain() { + return this._coneOuterGain || 0.0; + }, + set coneOuterGain(val) { + this._coneOuterGain = val; + if (this.panner) this.panner.coneOuterGain = val; + }, + get coneInnerAngle() { + return this._coneInnerAngle || 360.0; + }, + set coneInnerAngle(val) { + this._coneInnerAngle = val; + if (this.panner) this.panner.coneInnerAngle = val; + }, + get coneOuterAngle() { + return this._coneOuterAngle || 360.0; + }, + set coneOuterAngle(val) { + this._coneOuterAngle = val; + if (this.panner) this.panner.coneOuterAngle = val; + }, + gain: gain, + panner: null, + buffersPlayed: 0, + bufferPosition: 0 + }; + HEAP32[(((sources)+(i*4))>>2)]=AL.newSrcId; + AL.newSrcId++; + } + } + + function _glfwInit() { + if (GLFW.windows) return 1; // GL_TRUE + + GLFW.initialTime = GLFW.getTime(); + GLFW.hints = GLFW.defaultHints; + GLFW.windows = new Array() + GLFW.active = null; + + window.addEventListener("keydown", GLFW.onKeydown, true); + window.addEventListener("keypress", GLFW.onKeyPress, true); + window.addEventListener("keyup", GLFW.onKeyup, true); + Module["canvas"].addEventListener("mousemove", GLFW.onMousemove, true); + Module["canvas"].addEventListener("mousedown", GLFW.onMouseButtonDown, true); + Module["canvas"].addEventListener("mouseup", GLFW.onMouseButtonUp, true); + Module["canvas"].addEventListener('wheel', GLFW.onMouseWheel, true); + Module["canvas"].addEventListener('mousewheel', GLFW.onMouseWheel, true); + Module["canvas"].addEventListener('mouseenter', GLFW.onMouseenter, true); + Module["canvas"].addEventListener('mouseleave', GLFW.onMouseleave, true); + + Browser.resizeListeners.push(function(width, height) { + GLFW.onCanvasResize(width, height); + }); + return 1; // GL_TRUE + } + + function _emscripten_glGetTexParameteriv(target, pname, params) { + if (!params) { + // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense + // if p == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + HEAP32[((params)>>2)]=GLctx.getTexParameter(target, pname); + } + + function _alDeleteSources(count, sources) { + if (!AL.currentContext) { + return; + } + for (var i = 0; i < count; ++i) { + var sourceIdx = HEAP32[(((sources)+(i*4))>>2)]; + delete AL.currentContext.src[sourceIdx]; + } + } + + function _glfwSwapBuffers(winid) { + GLFW.swapBuffers(winid); + } + + function _emscripten_glGenerateMipmap(x0) { GLctx['generateMipmap'](x0) } + + function _emscripten_glCullFace(x0) { GLctx['cullFace'](x0) } + + function _emscripten_glUniform4f(location, v0, v1, v2, v3) { + GLctx.uniform4f(GL.uniforms[location], v0, v1, v2, v3); + } + + function _glDisableVertexAttribArray(index) { + GLctx.disableVertexAttribArray(index); + } + + function _emscripten_glUseProgram(program) { + GLctx.useProgram(program ? GL.programs[program] : null); + } + + function _emscripten_glHint(x0, x1) { GLctx['hint'](x0, x1) } + + function _emscripten_glUniform2fv(location, count, value) { + + + var view; + if (2*count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[2*count-1]; + for (var i = 0; i < 2*count; i += 2) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; + } + } else { + view = HEAPF32.subarray((value)>>2,(value+count*8)>>2); + } + GLctx.uniform2fv(GL.uniforms[location], view); + } + + function _glfwSwapInterval(interval) { + interval = Math.abs(interval); // GLFW uses negative values to enable GLX_EXT_swap_control_tear, which we don't have, so just treat negative and positive the same. + if (interval == 0) _emscripten_set_main_loop_timing(0/*EM_TIMING_SETTIMEOUT*/, 0); + else _emscripten_set_main_loop_timing(1/*EM_TIMING_RAF*/, interval); + } + + function _glGetShaderInfoLog(shader, maxLength, length, infoLog) { + var log = GLctx.getShaderInfoLog(GL.shaders[shader]); + if (log === null) log = '(unknown error)'; + if (maxLength > 0 && infoLog) { + var numBytesWrittenExclNull = stringToUTF8(log, infoLog, maxLength); + if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; + } else { + if (length) HEAP32[((length)>>2)]=0; + } + } + + function _emscripten_glMatrixMode(){ throw 'Legacy GL function (glMatrixMode) called. If you want legacy GL emulation, you need to compile with -s LEGACY_GL_EMULATION=1 to enable legacy GL emulation.'; } + + function _abort() { + Module['abort'](); + } + + function _emscripten_glFramebufferRenderbuffer(target, attachment, renderbuffertarget, renderbuffer) { + GLctx.framebufferRenderbuffer(target, attachment, renderbuffertarget, + GL.renderbuffers[renderbuffer]); + } + + function _alGenBuffers(count, buffers) { + if (!AL.currentContext) { + return; + } + for (var i = 0; i < count; ++i) { + AL.currentContext.buf.push(null); + HEAP32[(((buffers)+(i*4))>>2)]=AL.currentContext.buf.length; + } + } + + function _emscripten_glDeleteFramebuffers(n, framebuffers) { + for (var i = 0; i < n; ++i) { + var id = HEAP32[(((framebuffers)+(i*4))>>2)]; + var framebuffer = GL.framebuffers[id]; + if (!framebuffer) continue; // GL spec: "glDeleteFramebuffers silently ignores 0s and names that do not correspond to existing framebuffer objects". + GLctx.deleteFramebuffer(framebuffer); + framebuffer.name = 0; + GL.framebuffers[id] = null; + } + } + + function _emscripten_glIsBuffer(buffer) { + var b = GL.buffers[buffer]; + if (!b) return 0; + return GLctx.isBuffer(b); + } + + function _emscripten_glUniform2iv(location, count, value) { + + + GLctx.uniform2iv(GL.uniforms[location], HEAP32.subarray((value)>>2,(value+count*8)>>2)); + } + + function _emscripten_glVertexAttrib1fv(index, v) { + + GLctx.vertexAttrib1f(index, HEAPF32[v>>2]); + } + + function _glEnable(x0) { GLctx['enable'](x0) } + + function _alBufferData(buffer, format, data, size, freq) { + if (!AL.currentContext) { + return; + } + if (buffer > AL.currentContext.buf.length) { + return; + } + + try { + switch (format) { + case 0x1100 /* AL_FORMAT_MONO8 */: + var buf = AL.currentContext.ctx.createBuffer(1, size, freq); + buf.bytesPerSample = 1; + var channel0 = buf.getChannelData(0); + for (var i = 0; i < size; ++i) channel0[i] = HEAPU8[data++] * 0.0078125 /* 1/128 */ - 1.0; + break; + case 0x1101 /* AL_FORMAT_MONO16 */: + var buf = AL.currentContext.ctx.createBuffer(1, size>>1, freq); + buf.bytesPerSample = 2; + var channel0 = buf.getChannelData(0); + data >>= 1; + for (var i = 0; i < size>>1; ++i) channel0[i] = HEAP16[data++] * 0.000030517578125 /* 1/32768 */; + break; + case 0x1102 /* AL_FORMAT_STEREO8 */: + var buf = AL.currentContext.ctx.createBuffer(2, size>>1, freq); + buf.bytesPerSample = 1; + var channel0 = buf.getChannelData(0); + var channel1 = buf.getChannelData(1); + for (var i = 0; i < size>>1; ++i) { + channel0[i] = HEAPU8[data++] * 0.0078125 /* 1/128 */ - 1.0; + channel1[i] = HEAPU8[data++] * 0.0078125 /* 1/128 */ - 1.0; + } + break; + case 0x1103 /* AL_FORMAT_STEREO16 */: + var buf = AL.currentContext.ctx.createBuffer(2, size>>2, freq); + buf.bytesPerSample = 2; + var channel0 = buf.getChannelData(0); + var channel1 = buf.getChannelData(1); + data >>= 1; + for (var i = 0; i < size>>2; ++i) { + channel0[i] = HEAP16[data++] * 0.000030517578125 /* 1/32768 */; + channel1[i] = HEAP16[data++] * 0.000030517578125 /* 1/32768 */; + } + break; + case 0x10010 /* AL_FORMAT_MONO_FLOAT32 */: + var buf = AL.currentContext.ctx.createBuffer(1, size>>2, freq); + buf.bytesPerSample = 4; + var channel0 = buf.getChannelData(0); + data >>= 2; + for (var i = 0; i < size>>2; ++i) channel0[i] = HEAPF32[data++]; + break; + case 0x10011 /* AL_FORMAT_STEREO_FLOAT32 */: + var buf = AL.currentContext.ctx.createBuffer(2, size>>3, freq); + buf.bytesPerSample = 4; + var channel0 = buf.getChannelData(0); + var channel1 = buf.getChannelData(1); + data >>= 2; + for (var i = 0; i < size>>2; ++i) { + channel0[i] = HEAPF32[data++]; + channel1[i] = HEAPF32[data++]; + } + break; + default: + AL.currentContext.err = 0xA003 /* AL_INVALID_VALUE */; + break; + } + AL.currentContext.buf[buffer - 1] = buf; + } catch (e) { + AL.currentContext.err = 0xA003 /* AL_INVALID_VALUE */; + } + } + + function _alSourceStop(source) { + if (!AL.currentContext) { + return; + } + var src = AL.currentContext.src[source]; + if (!src) { + AL.currentContext.err = 0xA001 /* AL_INVALID_NAME */; + return; + } + AL.setSourceState(src, 0x1014 /* AL_STOPPED */); + } + + function _emscripten_glGenFramebuffers(n, ids) { + for (var i = 0; i < n; ++i) { + var framebuffer = GLctx.createFramebuffer(); + if (!framebuffer) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); + while(i < n) HEAP32[(((ids)+(i++*4))>>2)]=0; + return; + } + var id = GL.getNewId(GL.framebuffers); + framebuffer.name = id; + GL.framebuffers[id] = framebuffer; + HEAP32[(((ids)+(i*4))>>2)]=id; + } + } + + + + function emscriptenWebGLComputeImageSize(width, height, sizePerPixel, alignment) { + function roundedToNextMultipleOf(x, y) { + return Math.floor((x + y - 1) / y) * y + } + var plainRowSize = width * sizePerPixel; + var alignedRowSize = roundedToNextMultipleOf(plainRowSize, alignment); + return (height <= 0) ? 0 : + ((height - 1) * alignedRowSize + plainRowSize); + }function emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, internalFormat) { + var sizePerPixel; + var numChannels; + switch(format) { + case 0x1906 /* GL_ALPHA */: + case 0x1909 /* GL_LUMINANCE */: + case 0x1902 /* GL_DEPTH_COMPONENT */: + numChannels = 1; + break; + case 0x190A /* GL_LUMINANCE_ALPHA */: + numChannels = 2; + break; + case 0x1907 /* GL_RGB */: + case 0x8C40 /* GL_SRGB_EXT */: + numChannels = 3; + break; + case 0x1908 /* GL_RGBA */: + case 0x8C42 /* GL_SRGB_ALPHA_EXT */: + numChannels = 4; + break; + default: + GL.recordError(0x0500); // GL_INVALID_ENUM + return null; + } + switch (type) { + case 0x1401 /* GL_UNSIGNED_BYTE */: + sizePerPixel = numChannels*1; + break; + case 0x1403 /* GL_UNSIGNED_SHORT */: + case 0x8D61 /* GL_HALF_FLOAT_OES */: + sizePerPixel = numChannels*2; + break; + case 0x1405 /* GL_UNSIGNED_INT */: + case 0x1406 /* GL_FLOAT */: + sizePerPixel = numChannels*4; + break; + case 0x84FA /* GL_UNSIGNED_INT_24_8_WEBGL/GL_UNSIGNED_INT_24_8 */: + sizePerPixel = 4; + break; + case 0x8363 /* GL_UNSIGNED_SHORT_5_6_5 */: + case 0x8033 /* GL_UNSIGNED_SHORT_4_4_4_4 */: + case 0x8034 /* GL_UNSIGNED_SHORT_5_5_5_1 */: + sizePerPixel = 2; + break; + default: + GL.recordError(0x0500); // GL_INVALID_ENUM + return null; + } + var bytes = emscriptenWebGLComputeImageSize(width, height, sizePerPixel, GL.unpackAlignment); + switch(type) { + case 0x1401 /* GL_UNSIGNED_BYTE */: + return HEAPU8.subarray((pixels),(pixels+bytes)); + case 0x1406 /* GL_FLOAT */: + return HEAPF32.subarray((pixels)>>2,(pixels+bytes)>>2); + case 0x1405 /* GL_UNSIGNED_INT */: + case 0x84FA /* GL_UNSIGNED_INT_24_8_WEBGL/GL_UNSIGNED_INT_24_8 */: + return HEAPU32.subarray((pixels)>>2,(pixels+bytes)>>2); + case 0x1403 /* GL_UNSIGNED_SHORT */: + case 0x8363 /* GL_UNSIGNED_SHORT_5_6_5 */: + case 0x8033 /* GL_UNSIGNED_SHORT_4_4_4_4 */: + case 0x8034 /* GL_UNSIGNED_SHORT_5_5_5_1 */: + case 0x8D61 /* GL_HALF_FLOAT_OES */: + return HEAPU16.subarray((pixels)>>1,(pixels+bytes)>>1); + default: + GL.recordError(0x0500); // GL_INVALID_ENUM + return null; + } + }function _emscripten_glTexSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixels) { + var pixelData = null; + if (pixels) pixelData = emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, 0); + GLctx.texSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixelData); + } + + function _emscripten_glPolygonOffset(x0, x1) { GLctx['polygonOffset'](x0, x1) } + + var _emscripten_asm_const_int=true; + + function _emscripten_glUniform2f(location, v0, v1) { + GLctx.uniform2f(GL.uniforms[location], v0, v1); + } + + function _glGetAttribLocation(program, name) { + program = GL.programs[program]; + name = Pointer_stringify(name); + return GLctx.getAttribLocation(program, name); + } + + function _glfwWindowHint(target, hint) { + GLFW.hints[target] = hint; + } + + function _emscripten_glUniform2i(location, v0, v1) { + GLctx.uniform2i(GL.uniforms[location], v0, v1); + } + + function _glBlendFunc(x0, x1) { GLctx['blendFunc'](x0, x1) } + + function _glCreateProgram() { + var id = GL.getNewId(GL.programs); + var program = GLctx.createProgram(); + program.name = id; + GL.programs[id] = program; + return id; + } + + function _emscripten_glDeleteRenderbuffers(n, renderbuffers) { + for (var i = 0; i < n; i++) { + var id = HEAP32[(((renderbuffers)+(i*4))>>2)]; + var renderbuffer = GL.renderbuffers[id]; + if (!renderbuffer) continue; // GL spec: "glDeleteRenderbuffers silently ignores 0s and names that do not correspond to existing renderbuffer objects". + GLctx.deleteRenderbuffer(renderbuffer); + renderbuffer.name = 0; + GL.renderbuffers[id] = null; + } + } + + function _emscripten_glGetBufferParameteriv(target, value, data) { + if (!data) { + // GLES2 specification does not specify how to behave if data is a null pointer. Since calling this function does not make sense + // if data == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + HEAP32[((data)>>2)]=GLctx.getBufferParameter(target, value); + } + + + function emscriptenWebGLGetUniform(program, location, params, type) { + if (!params) { + // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense + // if params == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + var data = GLctx.getUniform(GL.programs[program], GL.uniforms[location]); + if (typeof data == 'number' || typeof data == 'boolean') { + switch (type) { + case 'Integer': HEAP32[((params)>>2)]=data; break; + case 'Float': HEAPF32[((params)>>2)]=data; break; + default: throw 'internal emscriptenWebGLGetUniform() error, bad type: ' + type; + } + } else { + for (var i = 0; i < data.length; i++) { + switch (type) { + case 'Integer': HEAP32[(((params)+(i))>>2)]=data[i]; break; + case 'Float': HEAPF32[(((params)+(i))>>2)]=data[i]; break; + default: throw 'internal emscriptenWebGLGetUniform() error, bad type: ' + type; + } + } + } + }function _emscripten_glGetUniformiv(program, location, params) { + emscriptenWebGLGetUniform(program, location, params, 'Integer'); + } + + function _emscripten_glDepthMask(flag) { + GLctx.depthMask(!!flag); + } + + + function _emscripten_glDepthRangef(x0, x1) { GLctx['depthRange'](x0, x1) } + + function _emscripten_glDepthRange(x0, x1) { GLctx['depthRange'](x0, x1) } + + function _emscripten_set_fullscreenchange_callback(target, userData, useCapture, callbackfunc) { + if (typeof JSEvents.fullscreenEnabled() === 'undefined') return -1; + if (!target) target = document; + else { + target = JSEvents.findEventTarget(target); + if (!target) return -4; + } + JSEvents.registerFullscreenChangeEventCallback(target, userData, useCapture, callbackfunc, 19, "fullscreenchange"); + JSEvents.registerFullscreenChangeEventCallback(target, userData, useCapture, callbackfunc, 19, "mozfullscreenchange"); + JSEvents.registerFullscreenChangeEventCallback(target, userData, useCapture, callbackfunc, 19, "webkitfullscreenchange"); + JSEvents.registerFullscreenChangeEventCallback(target, userData, useCapture, callbackfunc, 19, "msfullscreenchange"); + return 0; + } + + + + Module["___muldsi3"] = ___muldsi3; + Module["___muldi3"] = ___muldi3; + + function _emscripten_glGetShaderPrecisionFormat(shaderType, precisionType, range, precision) { + var result = GLctx.getShaderPrecisionFormat(shaderType, precisionType); + HEAP32[((range)>>2)]=result.rangeMin; + HEAP32[(((range)+(4))>>2)]=result.rangeMax; + HEAP32[((precision)>>2)]=result.precision; + } + + function _emscripten_glUniform1fv(location, count, value) { + + + var view; + if (count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[count-1]; + for (var i = 0; i < count; ++i) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + } + } else { + view = HEAPF32.subarray((value)>>2,(value+count*4)>>2); + } + GLctx.uniform1fv(GL.uniforms[location], view); + } + + function _alSourceQueueBuffers(source, count, buffers) { + if (!AL.currentContext) { + return; + } + var src = AL.currentContext.src[source]; + if (!src) { + AL.currentContext.err = 0xA001 /* AL_INVALID_NAME */; + return; + } + for (var i = 0; i < count; ++i) { + var bufferIdx = HEAP32[(((buffers)+(i*4))>>2)]; + if (bufferIdx > AL.currentContext.buf.length) { + AL.currentContext.err = 0xA001 /* AL_INVALID_NAME */; + return; + } + } + + for (var i = 0; i < count; ++i) { + var bufferIdx = HEAP32[(((buffers)+(i*4))>>2)]; + var buffer = AL.currentContext.buf[bufferIdx - 1]; + src.queue.push({ buffer: buffer, src: null }); + } + + AL.updateSource(src); + } + + function _glDeleteBuffers(n, buffers) { + for (var i = 0; i < n; i++) { + var id = HEAP32[(((buffers)+(i*4))>>2)]; + var buffer = GL.buffers[id]; + + // From spec: "glDeleteBuffers silently ignores 0's and names that do not + // correspond to existing buffer objects." + if (!buffer) continue; + + GLctx.deleteBuffer(buffer); + buffer.name = 0; + GL.buffers[id] = null; + + if (id == GL.currArrayBuffer) GL.currArrayBuffer = 0; + if (id == GL.currElementArrayBuffer) GL.currElementArrayBuffer = 0; + } + } + + function _emscripten_set_gamepaddisconnected_callback(userData, useCapture, callbackfunc) { + if (!navigator.getGamepads && !navigator.webkitGetGamepads) return -1; + JSEvents.registerGamepadEventCallback(window, userData, useCapture, callbackfunc, 27, "gamepaddisconnected"); + return 0; + } + + function _emscripten_glBindProgramARB() { + Module['printErr']('missing function: emscripten_glBindProgramARB'); abort(-1); + } + + function _emscripten_glBindTexture(target, texture) { + GLctx.bindTexture(target, texture ? GL.textures[texture] : null); + } + + function _glfwDefaultWindowHints() { + GLFW.hints = GLFW.defaultHints; + } + + function _emscripten_glDeleteProgram(id) { + if (!id) return; + var program = GL.programs[id]; + if (!program) { // glDeleteProgram actually signals an error when deleting a nonexisting object, unlike some other GL delete functions. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + GLctx.deleteProgram(program); + program.name = 0; + GL.programs[id] = null; + GL.programInfos[id] = null; + } + + function _emscripten_glDisable(x0) { GLctx['disable'](x0) } + + function _emscripten_glVertexAttrib3fv(index, v) { + + GLctx.vertexAttrib3f(index, HEAPF32[v>>2], HEAPF32[v+4>>2], HEAPF32[v+8>>2]); + } + + function _glClearColor(x0, x1, x2, x3) { GLctx['clearColor'](x0, x1, x2, x3) } + + function _emscripten_glGetActiveAttrib(program, index, bufSize, length, size, type, name) { + program = GL.programs[program]; + var info = GLctx.getActiveAttrib(program, index); + if (!info) return; // If an error occurs, nothing will be written to length, size and type and name. + + if (bufSize > 0 && name) { + var numBytesWrittenExclNull = stringToUTF8(info.name, name, bufSize); + if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; + } else { + if (length) HEAP32[((length)>>2)]=0; + } + + if (size) HEAP32[((size)>>2)]=info.size; + if (type) HEAP32[((type)>>2)]=info.type; + } + + function _emscripten_glIsFramebuffer(framebuffer) { + var fb = GL.framebuffers[framebuffer]; + if (!fb) return 0; + return GLctx.isFramebuffer(fb); + } + + function _emscripten_glLineWidth(x0) { GLctx['lineWidth'](x0) } + + function _glfwGetCursorPos(winid, x, y) { + GLFW.getCursorPos(winid, x, y); + } + + function _emscripten_glGetString(name_) { + if (GL.stringCache[name_]) return GL.stringCache[name_]; + var ret; + switch(name_) { + case 0x1F00 /* GL_VENDOR */: + case 0x1F01 /* GL_RENDERER */: + case 0x9245 /* UNMASKED_VENDOR_WEBGL */: + case 0x9246 /* UNMASKED_RENDERER_WEBGL */: + ret = allocate(intArrayFromString(GLctx.getParameter(name_)), 'i8', ALLOC_NORMAL); + break; + case 0x1F02 /* GL_VERSION */: + var glVersion = GLctx.getParameter(GLctx.VERSION); + // return GLES version string corresponding to the version of the WebGL context + { + glVersion = 'OpenGL ES 2.0 (' + glVersion + ')'; + } + ret = allocate(intArrayFromString(glVersion), 'i8', ALLOC_NORMAL); + break; + case 0x1F03 /* GL_EXTENSIONS */: + var exts = GLctx.getSupportedExtensions(); + var gl_exts = []; + for (var i = 0; i < exts.length; ++i) { + gl_exts.push(exts[i]); + gl_exts.push("GL_" + exts[i]); + } + ret = allocate(intArrayFromString(gl_exts.join(' ')), 'i8', ALLOC_NORMAL); + break; + case 0x8B8C /* GL_SHADING_LANGUAGE_VERSION */: + var glslVersion = GLctx.getParameter(GLctx.SHADING_LANGUAGE_VERSION); + // extract the version number 'N.M' from the string 'WebGL GLSL ES N.M ...' + var ver_re = /^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/; + var ver_num = glslVersion.match(ver_re); + if (ver_num !== null) { + if (ver_num[1].length == 3) ver_num[1] = ver_num[1] + '0'; // ensure minor version has 2 digits + glslVersion = 'OpenGL ES GLSL ES ' + ver_num[1] + ' (' + glslVersion + ')'; + } + ret = allocate(intArrayFromString(glslVersion), 'i8', ALLOC_NORMAL); + break; + default: + GL.recordError(0x0500/*GL_INVALID_ENUM*/); + return 0; + } + GL.stringCache[name_] = ret; + return ret; + } + + function _emscripten_glGetAttribLocation(program, name) { + program = GL.programs[program]; + name = Pointer_stringify(name); + return GLctx.getAttribLocation(program, name); + } + + function _emscripten_glRotatef() { + Module['printErr']('missing function: emscripten_glRotatef'); abort(-1); + } + + + function emscriptenWebGLGet(name_, p, type) { + // Guard against user passing a null pointer. + // Note that GLES2 spec does not say anything about how passing a null pointer should be treated. + // Testing on desktop core GL 3, the application crashes on glGetIntegerv to a null pointer, but + // better to report an error instead of doing anything random. + if (!p) { + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + var ret = undefined; + switch(name_) { // Handle a few trivial GLES values + case 0x8DFA: // GL_SHADER_COMPILER + ret = 1; + break; + case 0x8DF8: // GL_SHADER_BINARY_FORMATS + if (type !== 'Integer' && type !== 'Integer64') { + GL.recordError(0x0500); // GL_INVALID_ENUM + } + return; // Do not write anything to the out pointer, since no binary formats are supported. + case 0x8DF9: // GL_NUM_SHADER_BINARY_FORMATS + ret = 0; + break; + case 0x86A2: // GL_NUM_COMPRESSED_TEXTURE_FORMATS + // WebGL doesn't have GL_NUM_COMPRESSED_TEXTURE_FORMATS (it's obsolete since GL_COMPRESSED_TEXTURE_FORMATS returns a JS array that can be queried for length), + // so implement it ourselves to allow C++ GLES2 code get the length. + var formats = GLctx.getParameter(0x86A3 /*GL_COMPRESSED_TEXTURE_FORMATS*/); + ret = formats.length; + break; + } + + if (ret === undefined) { + var result = GLctx.getParameter(name_); + switch (typeof(result)) { + case "number": + ret = result; + break; + case "boolean": + ret = result ? 1 : 0; + break; + case "string": + GL.recordError(0x0500); // GL_INVALID_ENUM + return; + case "object": + if (result === null) { + // null is a valid result for some (e.g., which buffer is bound - perhaps nothing is bound), but otherwise + // can mean an invalid name_, which we need to report as an error + switch(name_) { + case 0x8894: // ARRAY_BUFFER_BINDING + case 0x8B8D: // CURRENT_PROGRAM + case 0x8895: // ELEMENT_ARRAY_BUFFER_BINDING + case 0x8CA6: // FRAMEBUFFER_BINDING + case 0x8CA7: // RENDERBUFFER_BINDING + case 0x8069: // TEXTURE_BINDING_2D + case 0x8514: { // TEXTURE_BINDING_CUBE_MAP + ret = 0; + break; + } + default: { + GL.recordError(0x0500); // GL_INVALID_ENUM + return; + } + } + } else if (result instanceof Float32Array || + result instanceof Uint32Array || + result instanceof Int32Array || + result instanceof Array) { + for (var i = 0; i < result.length; ++i) { + switch (type) { + case 'Integer': HEAP32[(((p)+(i*4))>>2)]=result[i]; break; + case 'Float': HEAPF32[(((p)+(i*4))>>2)]=result[i]; break; + case 'Boolean': HEAP8[(((p)+(i))>>0)]=result[i] ? 1 : 0; break; + default: throw 'internal glGet error, bad type: ' + type; + } + } + return; + } else if (result instanceof WebGLBuffer || + result instanceof WebGLProgram || + result instanceof WebGLFramebuffer || + result instanceof WebGLRenderbuffer || + result instanceof WebGLTexture) { + ret = result.name | 0; + } else { + GL.recordError(0x0500); // GL_INVALID_ENUM + return; + } + break; + default: + GL.recordError(0x0500); // GL_INVALID_ENUM + return; + } + } + + switch (type) { + case 'Integer64': (tempI64 = [ret>>>0,(tempDouble=ret,(+(Math_abs(tempDouble))) >= 1.0 ? (tempDouble > 0.0 ? ((Math_min((+(Math_floor((tempDouble)/4294967296.0))), 4294967295.0))|0)>>>0 : (~~((+(Math_ceil((tempDouble - +(((~~(tempDouble)))>>>0))/4294967296.0)))))>>>0) : 0)],HEAP32[((p)>>2)]=tempI64[0],HEAP32[(((p)+(4))>>2)]=tempI64[1]); break; + case 'Integer': HEAP32[((p)>>2)]=ret; break; + case 'Float': HEAPF32[((p)>>2)]=ret; break; + case 'Boolean': HEAP8[((p)>>0)]=ret ? 1 : 0; break; + default: throw 'internal glGet error, bad type: ' + type; + } + }function _emscripten_glGetIntegerv(name_, p) { + emscriptenWebGLGet(name_, p, 'Integer'); + } + + function _emscripten_glGetFramebufferAttachmentParameteriv(target, attachment, pname, params) { + var result = GLctx.getFramebufferAttachmentParameter(target, attachment, pname); + HEAP32[((params)>>2)]=result; + } + + function _llvm_stackrestore(p) { + var self = _llvm_stacksave; + var ret = self.LLVM_SAVEDSTACKS[p]; + self.LLVM_SAVEDSTACKS.splice(p, 1); + Runtime.stackRestore(ret); + } + + function _glfwSetWindowShouldClose(winid, value) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.shouldClose = value; + } + + function _emscripten_glClientActiveTexture() { + Module['printErr']('missing function: emscripten_glClientActiveTexture'); abort(-1); + } + + function _glGenBuffers(n, buffers) { + for (var i = 0; i < n; i++) { + var buffer = GLctx.createBuffer(); + if (!buffer) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); + while(i < n) HEAP32[(((buffers)+(i++*4))>>2)]=0; + return; + } + var id = GL.getNewId(GL.buffers); + buffer.name = id; + GL.buffers[id] = buffer; + HEAP32[(((buffers)+(i*4))>>2)]=id; + } + } + + + function _emscripten_memcpy_big(dest, src, num) { + HEAPU8.set(HEAPU8.subarray(src, src+num), dest); + return dest; + } + Module["_memcpy"] = _memcpy; + + function _emscripten_glGetShaderInfoLog(shader, maxLength, length, infoLog) { + var log = GLctx.getShaderInfoLog(GL.shaders[shader]); + if (log === null) log = '(unknown error)'; + if (maxLength > 0 && infoLog) { + var numBytesWrittenExclNull = stringToUTF8(log, infoLog, maxLength); + if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; + } else { + if (length) HEAP32[((length)>>2)]=0; + } + } + + function _glfwGetTime() { + return GLFW.getTime() - GLFW.initialTime; + } + + function _emscripten_glGetRenderbufferParameteriv(target, pname, params) { + if (!params) { + // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense + // if params == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + HEAP32[((params)>>2)]=GLctx.getRenderbufferParameter(target, pname); + } + + function _emscripten_glStencilOpSeparate(x0, x1, x2, x3) { GLctx['stencilOpSeparate'](x0, x1, x2, x3) } + + function _emscripten_glReadPixels(x, y, width, height, format, type, pixels) { + var pixelData = emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, format); + if (!pixelData) { + GL.recordError(0x0500/*GL_INVALID_ENUM*/); + return; + } + GLctx.readPixels(x, y, width, height, format, type, pixelData); + } + + function _emscripten_glCompressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, imageSize, data) { + GLctx['compressedTexSubImage2D'](target, level, xoffset, yoffset, width, height, format, data ? HEAPU8.subarray((data),(data+imageSize)) : null); + } + + function _emscripten_glGetError() { + // First return any GL error generated by the emscripten library_gl.js interop layer. + if (GL.lastError) { + var error = GL.lastError; + GL.lastError = 0/*GL_NO_ERROR*/; + return error; + } else { // If there were none, return the GL error from the browser GL context. + return GLctx.getError(); + } + } + + function _emscripten_glFramebufferTexture2D(target, attachment, textarget, texture, level) { + GLctx.framebufferTexture2D(target, attachment, textarget, + GL.textures[texture], level); + } + + function _alSourcei(source, param, value) { + if (!AL.currentContext) { + return; + } + var src = AL.currentContext.src[source]; + if (!src) { + AL.currentContext.err = 0xA001 /* AL_INVALID_NAME */; + return; + } + switch (param) { + case 0x1001 /* AL_CONE_INNER_ANGLE */: + src.coneInnerAngle = value; + break; + case 0x1002 /* AL_CONE_OUTER_ANGLE */: + src.coneOuterAngle = value; + break; + case 0x1007 /* AL_LOOPING */: + src.loop = (value === 1 /* AL_TRUE */); + break; + case 0x1009 /* AL_BUFFER */: + var buffer = AL.currentContext.buf[value - 1]; + if (value == 0) { + src.queue = []; + } else { + src.queue = [{ buffer: buffer }]; + } + AL.updateSource(src); + break; + case 0x202 /* AL_SOURCE_RELATIVE */: + if (value === 1 /* AL_TRUE */) { + if (src.panner) { + src.panner = null; + + // Disconnect from the panner. + src.gain.disconnect(); + + src.gain.connect(AL.currentContext.gain); + } + } else if (value === 0 /* AL_FALSE */) { + if (!src.panner) { + var panner = src.panner = AL.currentContext.ctx.createPanner(); + panner.panningModel = "equalpower"; + panner.distanceModel = "linear"; + panner.refDistance = src.refDistance; + panner.maxDistance = src.maxDistance; + panner.rolloffFactor = src.rolloffFactor; + panner.setPosition(src.position[0], src.position[1], src.position[2]); + // TODO: If support for doppler effect is reintroduced, compute the doppler + // speed pitch factor and apply it here. + panner.connect(AL.currentContext.gain); + + // Disconnect from the default source. + src.gain.disconnect(); + + src.gain.connect(panner); + } + } else { + AL.currentContext.err = 0xA003 /* AL_INVALID_VALUE */; + } + break; + default: + AL.currentContext.err = 0xA002 /* AL_INVALID_ENUM */; + break; + } + } + + function _emscripten_glIsEnabled(x0) { return GLctx['isEnabled'](x0) } + + function _glClearDepthf(x0) { GLctx['clearDepth'](x0) } + + function _alSourcef(source, param, value) { + if (!AL.currentContext) { + return; + } + var src = AL.currentContext.src[source]; + if (!src) { + AL.currentContext.err = 0xA001 /* AL_INVALID_NAME */; + return; + } + switch (param) { + case 0x1003 /* AL_PITCH */: + if (value <= 0) { + AL.currentContext.err = 0xA003 /* AL_INVALID_VALUE */; + return; + } + src.playbackRate = value; + + if (src.state === 0x1012 /* AL_PLAYING */) { + // update currently playing entry + var entry = src.queue[src.buffersPlayed]; + if (!entry || !entry.src) return; // It is possible that AL.updateSources() has not yet fed the next buffer, if so, skip. + var currentTime = AL.currentContext.ctx.currentTime; + var oldrate = entry.src.playbackRate.value; + var offset = currentTime - src.bufferPosition; + // entry.src.duration is expressed after factoring in playbackRate, so when changing playback rate, need + // to recompute/rescale the rate to the new playback speed. + entry.src.duration = (entry.src.duration - offset) * oldrate / src.playbackRate; + if (entry.src.playbackRate.value != src.playbackRate) entry.src.playbackRate.value = src.playbackRate; + src.bufferPosition = currentTime; + + // stop other buffers + for (var k = src.buffersPlayed + 1; k < src.queue.length; k++) { + var entry = src.queue[k]; + if (entry.src) { + entry.src.stop(); + entry.src = null; + } + } + // update the source to reschedule buffers with the new playbackRate + AL.updateSource(src); + } + break; + case 0x100A /* AL_GAIN */: + if (src.gain.gain.value != value) src.gain.gain.value = value; + break; + // case 0x100D /* AL_MIN_GAIN */: + // break; + // case 0x100E /* AL_MAX_GAIN */: + // break; + case 0x1023 /* AL_MAX_DISTANCE */: + src.maxDistance = value; + break; + case 0x1021 /* AL_ROLLOFF_FACTOR */: + src.rolloffFactor = value; + break; + case 0x1022 /* AL_CONE_OUTER_GAIN */: + src.coneOuterGain = value; + break; + case 0x1001 /* AL_CONE_INNER_ANGLE */: + src.coneInnerAngle = value; + break; + case 0x1002 /* AL_CONE_OUTER_ANGLE */: + src.coneOuterAngle = value; + break; + case 0x1020 /* AL_REFERENCE_DISTANCE */: + src.refDistance = value; + break; + default: + AL.currentContext.err = 0xA002 /* AL_INVALID_ENUM */; + break; + } + } + + + Module["_memmove"] = _memmove; + + function _glGenTextures(n, textures) { + for (var i = 0; i < n; i++) { + var texture = GLctx.createTexture(); + if (!texture) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); // GLES + EGL specs don't specify what should happen here, so best to issue an error and create IDs with 0. + while(i < n) HEAP32[(((textures)+(i++*4))>>2)]=0; + return; + } + var id = GL.getNewId(GL.textures); + texture.name = id; + GL.textures[id] = texture; + HEAP32[(((textures)+(i*4))>>2)]=id; + } + } + + function _emscripten_glVertexAttrib4f(x0, x1, x2, x3, x4) { GLctx['vertexAttrib4f'](x0, x1, x2, x3, x4) } + + function _glDepthFunc(x0) { GLctx['depthFunc'](x0) } + + + + var cttz_i8 = allocate([8,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,7,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0], "i8", ALLOC_STATIC); + Module["_llvm_cttz_i32"] = _llvm_cttz_i32; + Module["___udivmoddi4"] = ___udivmoddi4; + Module["___uremdi3"] = ___uremdi3; + + function _emscripten_glClearDepthf(x0) { GLctx['clearDepth'](x0) } + + function _alListenerf(param, value) { + if (!AL.currentContext) { + return; + } + switch (param) { + case 0x100A /* AL_GAIN */: + if (AL.currentContext.gain.gain.value != value) AL.currentContext.gain.gain.value = value; + break; + default: + AL.currentContext.err = 0xA002 /* AL_INVALID_ENUM */; + break; + } + } + + function _emscripten_glClear(x0) { GLctx['clear'](x0) } + + function _alGetError() { + if (!AL.currentContext) { + return 0xA004 /* AL_INVALID_OPERATION */; + } else { + // Reset error on get. + var err = AL.currentContext.err; + AL.currentContext.err = 0 /* AL_NO_ERROR */; + return err; + } + } + + function _emscripten_glBindBuffer(target, buffer) { + var bufferObj = buffer ? GL.buffers[buffer] : null; + + + GLctx.bindBuffer(target, bufferObj); + } + + function _emscripten_glGetUniformfv(program, location, params) { + emscriptenWebGLGetUniform(program, location, params, 'Float'); + } + + function _glGetProgramiv(program, pname, p) { + if (!p) { + // GLES2 specification does not specify how to behave if p is a null pointer. Since calling this function does not make sense + // if p == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + + if (program >= GL.counter) { + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + + var ptable = GL.programInfos[program]; + if (!ptable) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); + return; + } + + if (pname == 0x8B84) { // GL_INFO_LOG_LENGTH + var log = GLctx.getProgramInfoLog(GL.programs[program]); + if (log === null) log = '(unknown error)'; + HEAP32[((p)>>2)]=log.length + 1; + } else if (pname == 0x8B87 /* GL_ACTIVE_UNIFORM_MAX_LENGTH */) { + HEAP32[((p)>>2)]=ptable.maxUniformLength; + } else if (pname == 0x8B8A /* GL_ACTIVE_ATTRIBUTE_MAX_LENGTH */) { + if (ptable.maxAttributeLength == -1) { + var program = GL.programs[program]; + var numAttribs = GLctx.getProgramParameter(program, GLctx.ACTIVE_ATTRIBUTES); + ptable.maxAttributeLength = 0; // Spec says if there are no active attribs, 0 must be returned. + for (var i = 0; i < numAttribs; ++i) { + var activeAttrib = GLctx.getActiveAttrib(program, i); + ptable.maxAttributeLength = Math.max(ptable.maxAttributeLength, activeAttrib.name.length+1); + } + } + HEAP32[((p)>>2)]=ptable.maxAttributeLength; + } else if (pname == 0x8A35 /* GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH */) { + if (ptable.maxUniformBlockNameLength == -1) { + var program = GL.programs[program]; + var numBlocks = GLctx.getProgramParameter(program, GLctx.ACTIVE_UNIFORM_BLOCKS); + ptable.maxUniformBlockNameLength = 0; + for (var i = 0; i < numBlocks; ++i) { + var activeBlockName = GLctx.getActiveUniformBlockName(program, i); + ptable.maxUniformBlockNameLength = Math.max(ptable.maxUniformBlockNameLength, activeBlockName.length+1); + } + } + HEAP32[((p)>>2)]=ptable.maxUniformBlockNameLength; + } else { + HEAP32[((p)>>2)]=GLctx.getProgramParameter(GL.programs[program], pname); + } + } + + function _glVertexAttribPointer(index, size, type, normalized, stride, ptr) { + GLctx.vertexAttribPointer(index, size, type, !!normalized, stride, ptr); + } + + function _emscripten_exit_pointerlock() { + // Make sure no queued up calls will fire after this. + JSEvents.removeDeferredCalls(JSEvents.requestPointerLock); + + if (document.exitPointerLock) { + document.exitPointerLock(); + } else if (document.msExitPointerLock) { + document.msExitPointerLock(); + } else if (document.mozExitPointerLock) { + document.mozExitPointerLock(); + } else if (document.webkitExitPointerLock) { + document.webkitExitPointerLock(); + } else { + return -1; + } + return 0; + } + + function _glGetUniformLocation(program, name) { + name = Pointer_stringify(name); + + var arrayOffset = 0; + // If user passed an array accessor "[index]", parse the array index off the accessor. + if (name.indexOf(']', name.length-1) !== -1) { + var ls = name.lastIndexOf('['); + var arrayIndex = name.slice(ls+1, -1); + if (arrayIndex.length > 0) { + arrayOffset = parseInt(arrayIndex); + if (arrayOffset < 0) { + return -1; + } + } + name = name.slice(0, ls); + } + + var ptable = GL.programInfos[program]; + if (!ptable) { + return -1; + } + var utable = ptable.uniforms; + var uniformInfo = utable[name]; // returns pair [ dimension_of_uniform_array, uniform_location ] + if (uniformInfo && arrayOffset < uniformInfo[0]) { // Check if user asked for an out-of-bounds element, i.e. for 'vec4 colors[3];' user could ask for 'colors[10]' which should return -1. + return uniformInfo[1]+arrayOffset; + } else { + return -1; + } + } + + function _emscripten_glGetAttachedShaders(program, maxCount, count, shaders) { + var result = GLctx.getAttachedShaders(GL.programs[program]); + var len = result.length; + if (len > maxCount) { + len = maxCount; + } + HEAP32[((count)>>2)]=len; + for (var i = 0; i < len; ++i) { + var id = GL.shaders.indexOf(result[i]); + assert(id !== -1, 'shader not bound to local id'); + HEAP32[(((shaders)+(i*4))>>2)]=id; + } + } + + function _emscripten_glGenRenderbuffers(n, renderbuffers) { + for (var i = 0; i < n; i++) { + var renderbuffer = GLctx.createRenderbuffer(); + if (!renderbuffer) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); + while(i < n) HEAP32[(((renderbuffers)+(i++*4))>>2)]=0; + return; + } + var id = GL.getNewId(GL.renderbuffers); + renderbuffer.name = id; + GL.renderbuffers[id] = renderbuffer; + HEAP32[(((renderbuffers)+(i*4))>>2)]=id; + } + } + + function _emscripten_glFrontFace(x0) { GLctx['frontFace'](x0) } + + function _emscripten_glActiveTexture(x0) { GLctx['activeTexture'](x0) } + + function _emscripten_glUniform1iv(location, count, value) { + + + GLctx.uniform1iv(GL.uniforms[location], HEAP32.subarray((value)>>2,(value+count*4)>>2)); + } + + function _emscripten_glTexCoordPointer() { + Module['printErr']('missing function: emscripten_glTexCoordPointer'); abort(-1); + } + + function _emscripten_glGetInfoLogARB() { + Module['printErr']('missing function: emscripten_glGetInfoLogARB'); abort(-1); + } + + + function __exit(status) { + // void _exit(int status); + // http://pubs.opengroup.org/onlinepubs/000095399/functions/exit.html + Module['exit'](status); + }function _exit(status) { + __exit(status); + } + + function _emscripten_glRenderbufferStorage(x0, x1, x2, x3) { GLctx['renderbufferStorage'](x0, x1, x2, x3) } + + function _emscripten_glCopyTexSubImage2D(x0, x1, x2, x3, x4, x5, x6, x7) { GLctx['copyTexSubImage2D'](x0, x1, x2, x3, x4, x5, x6, x7) } + + function _glfwSetCursorPosCallback(winid, cbfun) { + GLFW.setCursorPosCallback(winid, cbfun); + } + + function _glBindAttribLocation(program, index, name) { + name = Pointer_stringify(name); + GLctx.bindAttribLocation(GL.programs[program], index, name); + } + + function _emscripten_glShaderBinary() { + GL.recordError(0x0500/*GL_INVALID_ENUM*/); + } + + function _emscripten_glIsProgram(program) { + var program = GL.programs[program]; + if (!program) return 0; + return GLctx.isProgram(program); + } + + + Module["_bitshift64Shl"] = _bitshift64Shl; + + function _emscripten_glBlendColor(x0, x1, x2, x3) { GLctx['blendColor'](x0, x1, x2, x3) } + + function _emscripten_glGetShaderiv(shader, pname, p) { + if (!p) { + // GLES2 specification does not specify how to behave if p is a null pointer. Since calling this function does not make sense + // if p == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + if (pname == 0x8B84) { // GL_INFO_LOG_LENGTH + var log = GLctx.getShaderInfoLog(GL.shaders[shader]); + if (log === null) log = '(unknown error)'; + HEAP32[((p)>>2)]=log.length + 1; + } else { + HEAP32[((p)>>2)]=GLctx.getShaderParameter(GL.shaders[shader], pname); + } + } + + function _emscripten_glUniformMatrix3fv(location, count, transpose, value) { + + + var view; + if (9*count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[9*count-1]; + for (var i = 0; i < 9*count; i += 9) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; + view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; + view[i+3] = HEAPF32[(((value)+(4*i+12))>>2)]; + view[i+4] = HEAPF32[(((value)+(4*i+16))>>2)]; + view[i+5] = HEAPF32[(((value)+(4*i+20))>>2)]; + view[i+6] = HEAPF32[(((value)+(4*i+24))>>2)]; + view[i+7] = HEAPF32[(((value)+(4*i+28))>>2)]; + view[i+8] = HEAPF32[(((value)+(4*i+32))>>2)]; + } + } else { + view = HEAPF32.subarray((value)>>2,(value+count*36)>>2); + } + GLctx.uniformMatrix3fv(GL.uniforms[location], !!transpose, view); + } + + + Module["___udivdi3"] = ___udivdi3; + + function _emscripten_glUniform4fv(location, count, value) { + + + var view; + if (4*count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[4*count-1]; + for (var i = 0; i < 4*count; i += 4) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; + view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; + view[i+3] = HEAPF32[(((value)+(4*i+12))>>2)]; + } + } else { + view = HEAPF32.subarray((value)>>2,(value+count*16)>>2); + } + GLctx.uniform4fv(GL.uniforms[location], view); + } + + function _glBufferSubData(target, offset, size, data) { + GLctx.bufferSubData(target, offset, HEAPU8.subarray(data, data+size)); + } + + function _alcDestroyContext(context) { + // Stop playback, etc + clearInterval(AL.contexts[context - 1].interval); + } + + function _llvm_exp2_f32(x) { + return Math.pow(2, x); + } + + function _glGetShaderiv(shader, pname, p) { + if (!p) { + // GLES2 specification does not specify how to behave if p is a null pointer. Since calling this function does not make sense + // if p == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + if (pname == 0x8B84) { // GL_INFO_LOG_LENGTH + var log = GLctx.getShaderInfoLog(GL.shaders[shader]); + if (log === null) log = '(unknown error)'; + HEAP32[((p)>>2)]=log.length + 1; + } else { + HEAP32[((p)>>2)]=GLctx.getShaderParameter(GL.shaders[shader], pname); + } + } + + function _emscripten_glBlendEquationSeparate(x0, x1) { GLctx['blendEquationSeparate'](x0, x1) } + + function _glfwSetWindowIconifyCallback(winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.windowIconifyFunc = cbfun; + } + + function _emscripten_glDrawRangeElements() { + Module['printErr']('missing function: emscripten_glDrawRangeElements'); abort(-1); + } + + function _emscripten_glGenTextures(n, textures) { + for (var i = 0; i < n; i++) { + var texture = GLctx.createTexture(); + if (!texture) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); // GLES + EGL specs don't specify what should happen here, so best to issue an error and create IDs with 0. + while(i < n) HEAP32[(((textures)+(i++*4))>>2)]=0; + return; + } + var id = GL.getNewId(GL.textures); + texture.name = id; + GL.textures[id] = texture; + HEAP32[(((textures)+(i*4))>>2)]=id; + } + } + + function _emscripten_glVertexAttrib2fv(index, v) { + + GLctx.vertexAttrib2f(index, HEAPF32[v>>2], HEAPF32[v+4>>2]); + } + + function _emscripten_glGetActiveUniform(program, index, bufSize, length, size, type, name) { + program = GL.programs[program]; + var info = GLctx.getActiveUniform(program, index); + if (!info) return; // If an error occurs, nothing will be written to length, size, type and name. + + if (bufSize > 0 && name) { + var numBytesWrittenExclNull = stringToUTF8(info.name, name, bufSize); + if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; + } else { + if (length) HEAP32[((length)>>2)]=0; + } + + if (size) HEAP32[((size)>>2)]=info.size; + if (type) HEAP32[((type)>>2)]=info.type; + } + + + Module["_roundf"] = _roundf; + + function _emscripten_glDeleteObjectARB() { + Module['printErr']('missing function: emscripten_glDeleteObjectARB'); abort(-1); + } + + function _emscripten_set_touchmove_callback(target, userData, useCapture, callbackfunc) { + JSEvents.registerTouchEventCallback(target, userData, useCapture, callbackfunc, 24, "touchmove"); + return 0; + } + + function _emscripten_glUniform1f(location, v0) { + GLctx.uniform1f(GL.uniforms[location], v0); + } + + function _alcCreateContext(device, attrList) { + if (device != 1) { + return 0; + } + + if (attrList) { + return 0; + } + + var ctx; + try { + ctx = new AudioContext(); + } catch (e) { + try { + ctx = new webkitAudioContext(); + } catch (e) {} + } + + if (ctx) { + // Old Web Audio API (e.g. Safari 6.0.5) had an inconsistently named createGainNode function. + if (typeof(ctx.createGain) === 'undefined') ctx.createGain = ctx.createGainNode; + + var gain = ctx.createGain(); + gain.connect(ctx.destination); + // Extend the Web Audio API AudioListener object with a few tracking values of our own. + ctx.listener._position = [0, 0, 0]; + ctx.listener._velocity = [0, 0, 0]; + ctx.listener._orientation = [0, 0, 0, 0, 0, 0]; + var context = { + ctx: ctx, + err: 0, + src: {}, + buf: [], + interval: setInterval(function() { AL.updateSources(context); }, AL.QUEUE_INTERVAL), + gain: gain + }; + AL.contexts.push(context); + return AL.contexts.length; + } else { + return 0; + } + } + + function _emscripten_glVertexAttribPointer(index, size, type, normalized, stride, ptr) { + GLctx.vertexAttribPointer(index, size, type, !!normalized, stride, ptr); + } + + function _alcCloseDevice(device) { + // Stop playback, etc + } + + function _glShaderSource(shader, count, string, length) { + var source = GL.getSource(shader, count, string, length); + + + GLctx.shaderSource(GL.shaders[shader], source); + } + + function _emscripten_glDrawArrays(mode, first, count) { + + GLctx.drawArrays(mode, first, count); + + } + + function _emscripten_glGenBuffers(n, buffers) { + for (var i = 0; i < n; i++) { + var buffer = GLctx.createBuffer(); + if (!buffer) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); + while(i < n) HEAP32[(((buffers)+(i++*4))>>2)]=0; + return; + } + var id = GL.getNewId(GL.buffers); + buffer.name = id; + GL.buffers[id] = buffer; + HEAP32[(((buffers)+(i*4))>>2)]=id; + } + } + + function _emscripten_glClearDepth(x0) { GLctx['clearDepth'](x0) } + + function _emscripten_set_keypress_callback(target, userData, useCapture, callbackfunc) { + JSEvents.registerKeyEventCallback(target, userData, useCapture, callbackfunc, 1, "keypress"); + return 0; + } + + function _glfwSetCharCallback(winid, cbfun) { + GLFW.setCharCallback(winid, cbfun); + } + + function _emscripten_glGetUniformLocation(program, name) { + name = Pointer_stringify(name); + + var arrayOffset = 0; + // If user passed an array accessor "[index]", parse the array index off the accessor. + if (name.indexOf(']', name.length-1) !== -1) { + var ls = name.lastIndexOf('['); + var arrayIndex = name.slice(ls+1, -1); + if (arrayIndex.length > 0) { + arrayOffset = parseInt(arrayIndex); + if (arrayOffset < 0) { + return -1; + } + } + name = name.slice(0, ls); + } + + var ptable = GL.programInfos[program]; + if (!ptable) { + return -1; + } + var utable = ptable.uniforms; + var uniformInfo = utable[name]; // returns pair [ dimension_of_uniform_array, uniform_location ] + if (uniformInfo && arrayOffset < uniformInfo[0]) { // Check if user asked for an out-of-bounds element, i.e. for 'vec4 colors[3];' user could ask for 'colors[10]' which should return -1. + return uniformInfo[1]+arrayOffset; + } else { + return -1; + } + } + + function _glBindBuffer(target, buffer) { + var bufferObj = buffer ? GL.buffers[buffer] : null; + + + GLctx.bindBuffer(target, bufferObj); + } + + function _emscripten_glVertexAttrib4fv(index, v) { + + GLctx.vertexAttrib4f(index, HEAPF32[v>>2], HEAPF32[v+4>>2], HEAPF32[v+8>>2], HEAPF32[v+12>>2]); + } + + function _emscripten_glScissor(x0, x1, x2, x3) { GLctx['scissor'](x0, x1, x2, x3) } + + function _glfwSetCursorEnterCallback(winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.cursorEnterFunc = cbfun; + } + + + Module["_bitshift64Lshr"] = _bitshift64Lshr; + + function _glBufferData(target, size, data, usage) { + if (!data) { + GLctx.bufferData(target, size, usage); + } else { + GLctx.bufferData(target, HEAPU8.subarray(data, data+size), usage); + } + } + + function _emscripten_glIsShader(shader) { + var s = GL.shaders[shader]; + if (!s) return 0; + return GLctx.isShader(s); + } + + function _emscripten_glDrawBuffers(n, bufs) { + + var bufArray = GL.tempFixedLengthArray[n]; + for (var i = 0; i < n; i++) { + bufArray[i] = HEAP32[(((bufs)+(i*4))>>2)]; + } + + GLctx['drawBuffers'](bufArray); + } + + function _glGetFloatv(name_, p) { + emscriptenWebGLGet(name_, p, 'Float'); + } + + function _emscripten_glBindFramebuffer(target, framebuffer) { + GLctx.bindFramebuffer(target, framebuffer ? GL.framebuffers[framebuffer] : null); + } + + function _alcGetContextsDevice(context) { + if (context <= AL.contexts.length && context > 0) { + // Returns the only one audio device + return 1; + } + return 0; + } + + function _emscripten_glBlendEquation(x0) { GLctx['blendEquation'](x0) } + + function _emscripten_glBufferSubData(target, offset, size, data) { + GLctx.bufferSubData(target, offset, HEAPU8.subarray(data, data+size)); + } + + function _emscripten_glBufferData(target, size, data, usage) { + if (!data) { + GLctx.bufferData(target, size, usage); + } else { + GLctx.bufferData(target, HEAPU8.subarray(data, data+size), usage); + } + } + + + Module["_sbrk"] = _sbrk; + + function _alcMakeContextCurrent(context) { + if (context == 0) { + AL.currentContext = null; + return 0; + } else { + AL.currentContext = AL.contexts[context - 1]; + return 1; + } + } + + function _emscripten_glGetShaderSource(shader, bufSize, length, source) { + var result = GLctx.getShaderSource(GL.shaders[shader]); + if (!result) return; // If an error occurs, nothing will be written to length or source. + if (bufSize > 0 && source) { + var numBytesWrittenExclNull = stringToUTF8(result, source, bufSize); + if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; + } else { + if (length) HEAP32[((length)>>2)]=0; + } + } + + + Module["_llvm_bswap_i32"] = _llvm_bswap_i32; + + function _emscripten_set_click_callback(target, userData, useCapture, callbackfunc) { + JSEvents.registerMouseEventCallback(target, userData, useCapture, callbackfunc, 4, "click"); + return 0; + } + + function _glfwSetKeyCallback(winid, cbfun) { + GLFW.setKeyCallback(winid, cbfun); + } + + function _emscripten_set_gamepadconnected_callback(userData, useCapture, callbackfunc) { + if (!navigator.getGamepads && !navigator.webkitGetGamepads) return -1; + JSEvents.registerGamepadEventCallback(window, userData, useCapture, callbackfunc, 26, "gamepadconnected"); + return 0; + } + + function _emscripten_glGetFloatv(name_, p) { + emscriptenWebGLGet(name_, p, 'Float'); + } + + function _glTexImage2D(target, level, internalFormat, width, height, border, format, type, pixels) { + + var pixelData = null; + if (pixels) pixelData = emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, internalFormat); + GLctx.texImage2D(target, level, internalFormat, width, height, border, format, type, pixelData); + } + + function ___assert_fail(condition, filename, line, func) { + ABORT = true; + throw 'Assertion failed: ' + Pointer_stringify(condition) + ', at: ' + [filename ? Pointer_stringify(filename) : 'unknown filename', line, func ? Pointer_stringify(func) : 'unknown function'] + ' at ' + stackTrace(); + } + + function _emscripten_glVertexAttribDivisor(index, divisor) { + GLctx['vertexAttribDivisor'](index, divisor); + } + + function _emscripten_glDrawElementsInstanced(mode, count, type, indices, primcount) { + GLctx['drawElementsInstanced'](mode, count, type, indices, primcount); + } + + function _emscripten_glDrawElements(mode, count, type, indices) { + + GLctx.drawElements(mode, count, type, indices); + + } + + function _glfwSetMouseButtonCallback(winid, cbfun) { + GLFW.setMouseButtonCallback(winid, cbfun); + } + + function _emscripten_glCreateProgram() { + var id = GL.getNewId(GL.programs); + var program = GLctx.createProgram(); + program.name = id; + GL.programs[id] = program; + return id; + } + + function _emscripten_glCompressedTexImage2D(target, level, internalFormat, width, height, border, imageSize, data) { + GLctx['compressedTexImage2D'](target, level, internalFormat, width, height, border, data ? HEAPU8.subarray((data),(data+imageSize)) : null); + } + + function _emscripten_glClearColor(x0, x1, x2, x3) { GLctx['clearColor'](x0, x1, x2, x3) } + + function _emscripten_glBindVertexArray(vao) { + GLctx['bindVertexArray'](GL.vaos[vao]); + } + + function _emscripten_glLoadMatrixf() { + Module['printErr']('missing function: emscripten_glLoadMatrixf'); abort(-1); + } + + function _glDeleteShader(id) { + if (!id) return; + var shader = GL.shaders[id]; + if (!shader) { // glDeleteShader actually signals an error when deleting a nonexisting object, unlike some other GL delete functions. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + GLctx.deleteShader(shader); + GL.shaders[id] = null; + } + + function _emscripten_glGetProgramiv(program, pname, p) { + if (!p) { + // GLES2 specification does not specify how to behave if p is a null pointer. Since calling this function does not make sense + // if p == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + + if (program >= GL.counter) { + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + + var ptable = GL.programInfos[program]; + if (!ptable) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); + return; + } + + if (pname == 0x8B84) { // GL_INFO_LOG_LENGTH + var log = GLctx.getProgramInfoLog(GL.programs[program]); + if (log === null) log = '(unknown error)'; + HEAP32[((p)>>2)]=log.length + 1; + } else if (pname == 0x8B87 /* GL_ACTIVE_UNIFORM_MAX_LENGTH */) { + HEAP32[((p)>>2)]=ptable.maxUniformLength; + } else if (pname == 0x8B8A /* GL_ACTIVE_ATTRIBUTE_MAX_LENGTH */) { + if (ptable.maxAttributeLength == -1) { + var program = GL.programs[program]; + var numAttribs = GLctx.getProgramParameter(program, GLctx.ACTIVE_ATTRIBUTES); + ptable.maxAttributeLength = 0; // Spec says if there are no active attribs, 0 must be returned. + for (var i = 0; i < numAttribs; ++i) { + var activeAttrib = GLctx.getActiveAttrib(program, i); + ptable.maxAttributeLength = Math.max(ptable.maxAttributeLength, activeAttrib.name.length+1); + } + } + HEAP32[((p)>>2)]=ptable.maxAttributeLength; + } else if (pname == 0x8A35 /* GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH */) { + if (ptable.maxUniformBlockNameLength == -1) { + var program = GL.programs[program]; + var numBlocks = GLctx.getProgramParameter(program, GLctx.ACTIVE_UNIFORM_BLOCKS); + ptable.maxUniformBlockNameLength = 0; + for (var i = 0; i < numBlocks; ++i) { + var activeBlockName = GLctx.getActiveUniformBlockName(program, i); + ptable.maxUniformBlockNameLength = Math.max(ptable.maxUniformBlockNameLength, activeBlockName.length+1); + } + } + HEAP32[((p)>>2)]=ptable.maxUniformBlockNameLength; + } else { + HEAP32[((p)>>2)]=GLctx.getProgramParameter(GL.programs[program], pname); + } + } + + function _emscripten_glGetProgramInfoLog(program, maxLength, length, infoLog) { + var log = GLctx.getProgramInfoLog(GL.programs[program]); + if (log === null) log = '(unknown error)'; + + if (maxLength > 0 && infoLog) { + var numBytesWrittenExclNull = stringToUTF8(log, infoLog, maxLength); + if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; + } else { + if (length) HEAP32[((length)>>2)]=0; + } + } + + function _emscripten_glTexImage2D(target, level, internalFormat, width, height, border, format, type, pixels) { + + var pixelData = null; + if (pixels) pixelData = emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, internalFormat); + GLctx.texImage2D(target, level, internalFormat, width, height, border, format, type, pixelData); + } + + function _glPixelStorei(pname, param) { + if (pname == 0x0D05 /* GL_PACK_ALIGNMENT */) { + GL.packAlignment = param; + } else if (pname == 0x0cf5 /* GL_UNPACK_ALIGNMENT */) { + GL.unpackAlignment = param; + } + GLctx.pixelStorei(pname, param); + } + + function ___unlock() {} + + function _emscripten_glColorPointer() { + Module['printErr']('missing function: emscripten_glColorPointer'); abort(-1); + } + + function _glViewport(x0, x1, x2, x3) { GLctx['viewport'](x0, x1, x2, x3) } + + function _emscripten_glCheckFramebufferStatus(x0) { return GLctx['checkFramebufferStatus'](x0) } + + function _glfwDestroyWindow(winid) { + return GLFW.destroyWindow(winid); + } + + function _emscripten_glFlush() { GLctx['flush']() } + + function _glfwSetErrorCallback(cbfun) { + GLFW.errorFunc = cbfun; + } + + function _emscripten_glCreateShader(shaderType) { + var id = GL.getNewId(GL.shaders); + GL.shaders[id] = GLctx.createShader(shaderType); + return id; + } + + function _glUniformMatrix4fv(location, count, transpose, value) { + + + var view; + if (16*count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[16*count-1]; + for (var i = 0; i < 16*count; i += 16) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; + view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; + view[i+3] = HEAPF32[(((value)+(4*i+12))>>2)]; + view[i+4] = HEAPF32[(((value)+(4*i+16))>>2)]; + view[i+5] = HEAPF32[(((value)+(4*i+20))>>2)]; + view[i+6] = HEAPF32[(((value)+(4*i+24))>>2)]; + view[i+7] = HEAPF32[(((value)+(4*i+28))>>2)]; + view[i+8] = HEAPF32[(((value)+(4*i+32))>>2)]; + view[i+9] = HEAPF32[(((value)+(4*i+36))>>2)]; + view[i+10] = HEAPF32[(((value)+(4*i+40))>>2)]; + view[i+11] = HEAPF32[(((value)+(4*i+44))>>2)]; + view[i+12] = HEAPF32[(((value)+(4*i+48))>>2)]; + view[i+13] = HEAPF32[(((value)+(4*i+52))>>2)]; + view[i+14] = HEAPF32[(((value)+(4*i+56))>>2)]; + view[i+15] = HEAPF32[(((value)+(4*i+60))>>2)]; + } + } else { + view = HEAPF32.subarray((value)>>2,(value+count*64)>>2); + } + GLctx.uniformMatrix4fv(GL.uniforms[location], !!transpose, view); + } + + function _emscripten_glValidateProgram(program) { + GLctx.validateProgram(GL.programs[program]); + } + + function _glTexParameteri(x0, x1, x2) { GLctx['texParameteri'](x0, x1, x2) } + + function _glFrontFace(x0) { GLctx['frontFace'](x0) } + + function _emscripten_glColorMask(red, green, blue, alpha) { + GLctx.colorMask(!!red, !!green, !!blue, !!alpha); + } + + function _emscripten_glPixelStorei(pname, param) { + if (pname == 0x0D05 /* GL_PACK_ALIGNMENT */) { + GL.packAlignment = param; + } else if (pname == 0x0cf5 /* GL_UNPACK_ALIGNMENT */) { + GL.unpackAlignment = param; + } + GLctx.pixelStorei(pname, param); + } + + function _emscripten_glDeleteTextures(n, textures) { + for (var i = 0; i < n; i++) { + var id = HEAP32[(((textures)+(i*4))>>2)]; + var texture = GL.textures[id]; + if (!texture) continue; // GL spec: "glDeleteTextures silently ignores 0s and names that do not correspond to existing textures". + GLctx.deleteTexture(texture); + texture.name = 0; + GL.textures[id] = null; + } + } + + function _emscripten_glCompileShader(shader) { + GLctx.compileShader(GL.shaders[shader]); + } + + function _emscripten_glGenVertexArrays(n, arrays) { + + for (var i = 0; i < n; i++) { + var vao = GLctx['createVertexArray'](); + if (!vao) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); + while(i < n) HEAP32[(((arrays)+(i++*4))>>2)]=0; + return; + } + var id = GL.getNewId(GL.vaos); + vao.name = id; + GL.vaos[id] = vao; + HEAP32[(((arrays)+(i*4))>>2)]=id; + } + } + + function _time(ptr) { + var ret = (Date.now()/1000)|0; + if (ptr) { + HEAP32[((ptr)>>2)]=ret; + } + return ret; + } + + function _emscripten_glGetBooleanv(name_, p) { + emscriptenWebGLGet(name_, p, 'Boolean'); + } + + function ___syscall221(which, varargs) {SYSCALLS.varargs = varargs; + try { + // fcntl64 + var stream = SYSCALLS.getStreamFromFD(), cmd = SYSCALLS.get(); + switch (cmd) { + case 0: { + var arg = SYSCALLS.get(); + if (arg < 0) { + return -ERRNO_CODES.EINVAL; + } + var newStream; + newStream = FS.open(stream.path, stream.flags, 0, arg); + return newStream.fd; + } + case 1: + case 2: + return 0; // FD_CLOEXEC makes no sense for a single process. + case 3: + return stream.flags; + case 4: { + var arg = SYSCALLS.get(); + stream.flags |= arg; + return 0; + } + case 12: + case 12: { + var arg = SYSCALLS.get(); + var offset = 0; + // We're always unlocked. + HEAP16[(((arg)+(offset))>>1)]=2; + return 0; + } + case 13: + case 14: + case 13: + case 14: + return 0; // Pretend that the locking is successful. + case 16: + case 8: + return -ERRNO_CODES.EINVAL; // These are for sockets. We don't have them fully implemented yet. + case 9: + // musl trusts getown return values, due to a bug where they must be, as they overlap with errors. just return -1 here, so fnctl() returns that, and we set errno ourselves. + ___setErrNo(ERRNO_CODES.EINVAL); + return -1; + default: { + return -ERRNO_CODES.EINVAL; + } + } + } catch (e) { + if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno; + } + } +var GLctx; GL.init(); +if (ENVIRONMENT_IS_NODE) { + _emscripten_get_now = function _emscripten_get_now_actual() { + var t = process['hrtime'](); + return t[0] * 1e3 + t[1] / 1e6; + }; + } else if (typeof dateNow !== 'undefined') { + _emscripten_get_now = dateNow; + } else if (typeof self === 'object' && self['performance'] && typeof self['performance']['now'] === 'function') { + _emscripten_get_now = function() { return self['performance']['now'](); }; + } else if (typeof performance === 'object' && typeof performance['now'] === 'function') { + _emscripten_get_now = function() { return performance['now'](); }; + } else { + _emscripten_get_now = Date.now; + }; +Module["requestFullScreen"] = function Module_requestFullScreen(lockPointer, resizeCanvas, vrDevice) { Module.printErr("Module.requestFullScreen is deprecated. Please call Module.requestFullscreen instead."); Module["requestFullScreen"] = Module["requestFullscreen"]; Browser.requestFullScreen(lockPointer, resizeCanvas, vrDevice) }; + Module["requestFullscreen"] = function Module_requestFullscreen(lockPointer, resizeCanvas, vrDevice) { Browser.requestFullscreen(lockPointer, resizeCanvas, vrDevice) }; + Module["requestAnimationFrame"] = function Module_requestAnimationFrame(func) { Browser.requestAnimationFrame(func) }; + Module["setCanvasSize"] = function Module_setCanvasSize(width, height, noUpdates) { Browser.setCanvasSize(width, height, noUpdates) }; + Module["pauseMainLoop"] = function Module_pauseMainLoop() { Browser.mainLoop.pause() }; + Module["resumeMainLoop"] = function Module_resumeMainLoop() { Browser.mainLoop.resume() }; + Module["getUserMedia"] = function Module_getUserMedia() { Browser.getUserMedia() } + Module["createContext"] = function Module_createContext(canvas, useWebGL, setInModule, webGLContextAttributes) { return Browser.createContext(canvas, useWebGL, setInModule, webGLContextAttributes) }; +FS.staticInit();__ATINIT__.unshift(function() { if (!Module["noFSInit"] && !FS.init.initialized) FS.init() });__ATMAIN__.push(function() { FS.ignorePermissions = false });__ATEXIT__.push(function() { FS.quit() });Module["FS_createFolder"] = FS.createFolder;Module["FS_createPath"] = FS.createPath;Module["FS_createDataFile"] = FS.createDataFile;Module["FS_createPreloadedFile"] = FS.createPreloadedFile;Module["FS_createLazyFile"] = FS.createLazyFile;Module["FS_createLink"] = FS.createLink;Module["FS_createDevice"] = FS.createDevice;Module["FS_unlink"] = FS.unlink;; +__ATINIT__.unshift(function() { TTY.init() });__ATEXIT__.push(function() { TTY.shutdown() });; +if (ENVIRONMENT_IS_NODE) { var fs = require("fs"); var NODEJS_PATH = require("path"); NODEFS.staticInit(); }; +JSEvents.staticInit();; +DYNAMICTOP_PTR = allocate(1, "i32", ALLOC_STATIC); + +STACK_BASE = STACKTOP = Runtime.alignMemory(STATICTOP); + +STACK_MAX = STACK_BASE + TOTAL_STACK; + +DYNAMIC_BASE = Runtime.alignMemory(STACK_MAX); + +HEAP32[DYNAMICTOP_PTR>>2] = DYNAMIC_BASE; + +staticSealed = true; // seal the static portion of memory + +assert(DYNAMIC_BASE < TOTAL_MEMORY, "TOTAL_MEMORY not big enough for stack"); + + + +function nullFunc_viiiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_vd(x) { Module["printErr"]("Invalid function pointer called with signature 'vd'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_vid(x) { Module["printErr"]("Invalid function pointer called with signature 'vid'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_vi(x) { Module["printErr"]("Invalid function pointer called with signature 'vi'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_vii(x) { Module["printErr"]("Invalid function pointer called with signature 'vii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_ii(x) { Module["printErr"]("Invalid function pointer called with signature 'ii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_viddd(x) { Module["printErr"]("Invalid function pointer called with signature 'viddd'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_vidd(x) { Module["printErr"]("Invalid function pointer called with signature 'vidd'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_iiii(x) { Module["printErr"]("Invalid function pointer called with signature 'iiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_viiiiiiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiiiiiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_viiiiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiiiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_viii(x) { Module["printErr"]("Invalid function pointer called with signature 'viii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_vidddd(x) { Module["printErr"]("Invalid function pointer called with signature 'vidddd'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_vdi(x) { Module["printErr"]("Invalid function pointer called with signature 'vdi'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_viiiiiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiiiiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_viiiiiiiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiiiiiiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_iii(x) { Module["printErr"]("Invalid function pointer called with signature 'iii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_i(x) { Module["printErr"]("Invalid function pointer called with signature 'i'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_vdddddd(x) { Module["printErr"]("Invalid function pointer called with signature 'vdddddd'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_vdddd(x) { Module["printErr"]("Invalid function pointer called with signature 'vdddd'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_vdd(x) { Module["printErr"]("Invalid function pointer called with signature 'vdd'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_v(x) { Module["printErr"]("Invalid function pointer called with signature 'v'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_viid(x) { Module["printErr"]("Invalid function pointer called with signature 'viid'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_viiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function invoke_viiiii(index,a1,a2,a3,a4,a5) { + try { + Module["dynCall_viiiii"](index,a1,a2,a3,a4,a5); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vd(index,a1) { + try { + Module["dynCall_vd"](index,a1); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vid(index,a1,a2) { + try { + Module["dynCall_vid"](index,a1,a2); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vi(index,a1) { + try { + Module["dynCall_vi"](index,a1); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vii(index,a1,a2) { + try { + Module["dynCall_vii"](index,a1,a2); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_ii(index,a1) { + try { + return Module["dynCall_ii"](index,a1); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_viddd(index,a1,a2,a3,a4) { + try { + Module["dynCall_viddd"](index,a1,a2,a3,a4); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vidd(index,a1,a2,a3) { + try { + Module["dynCall_vidd"](index,a1,a2,a3); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_iiii(index,a1,a2,a3) { + try { + return Module["dynCall_iiii"](index,a1,a2,a3); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_viiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8) { + try { + Module["dynCall_viiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_viiiiii(index,a1,a2,a3,a4,a5,a6) { + try { + Module["dynCall_viiiiii"](index,a1,a2,a3,a4,a5,a6); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_viii(index,a1,a2,a3) { + try { + Module["dynCall_viii"](index,a1,a2,a3); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vidddd(index,a1,a2,a3,a4,a5) { + try { + Module["dynCall_vidddd"](index,a1,a2,a3,a4,a5); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vdi(index,a1,a2) { + try { + Module["dynCall_vdi"](index,a1,a2); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_viiiiiii(index,a1,a2,a3,a4,a5,a6,a7) { + try { + Module["dynCall_viiiiiii"](index,a1,a2,a3,a4,a5,a6,a7); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_viiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9) { + try { + Module["dynCall_viiiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_iii(index,a1,a2) { + try { + return Module["dynCall_iii"](index,a1,a2); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_i(index) { + try { + return Module["dynCall_i"](index); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vdddddd(index,a1,a2,a3,a4,a5,a6) { + try { + Module["dynCall_vdddddd"](index,a1,a2,a3,a4,a5,a6); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vdddd(index,a1,a2,a3,a4) { + try { + Module["dynCall_vdddd"](index,a1,a2,a3,a4); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vdd(index,a1,a2) { + try { + Module["dynCall_vdd"](index,a1,a2); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_v(index) { + try { + Module["dynCall_v"](index); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_viid(index,a1,a2,a3) { + try { + Module["dynCall_viid"](index,a1,a2,a3); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_viiii(index,a1,a2,a3,a4) { + try { + Module["dynCall_viiii"](index,a1,a2,a3,a4); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +Module.asmGlobalArg = { "Math": Math, "Int8Array": Int8Array, "Int16Array": Int16Array, "Int32Array": Int32Array, "Uint8Array": Uint8Array, "Uint16Array": Uint16Array, "Uint32Array": Uint32Array, "Float32Array": Float32Array, "Float64Array": Float64Array, "NaN": NaN, "Infinity": Infinity }; + +Module.asmLibraryArg = { "abort": abort, "assert": assert, "enlargeMemory": enlargeMemory, "getTotalMemory": getTotalMemory, "abortOnCannotGrowMemory": abortOnCannotGrowMemory, "abortStackOverflow": abortStackOverflow, "nullFunc_viiiii": nullFunc_viiiii, "nullFunc_vd": nullFunc_vd, "nullFunc_vid": nullFunc_vid, "nullFunc_vi": nullFunc_vi, "nullFunc_vii": nullFunc_vii, "nullFunc_ii": nullFunc_ii, "nullFunc_viddd": nullFunc_viddd, "nullFunc_vidd": nullFunc_vidd, "nullFunc_iiii": nullFunc_iiii, "nullFunc_viiiiiiii": nullFunc_viiiiiiii, "nullFunc_viiiiii": nullFunc_viiiiii, "nullFunc_viii": nullFunc_viii, "nullFunc_vidddd": nullFunc_vidddd, "nullFunc_vdi": nullFunc_vdi, "nullFunc_viiiiiii": nullFunc_viiiiiii, "nullFunc_viiiiiiiii": nullFunc_viiiiiiiii, "nullFunc_iii": nullFunc_iii, "nullFunc_i": nullFunc_i, "nullFunc_vdddddd": nullFunc_vdddddd, "nullFunc_vdddd": nullFunc_vdddd, "nullFunc_vdd": nullFunc_vdd, "nullFunc_v": nullFunc_v, "nullFunc_viid": nullFunc_viid, "nullFunc_viiii": nullFunc_viiii, "invoke_viiiii": invoke_viiiii, "invoke_vd": invoke_vd, "invoke_vid": invoke_vid, "invoke_vi": invoke_vi, "invoke_vii": invoke_vii, "invoke_ii": invoke_ii, "invoke_viddd": invoke_viddd, "invoke_vidd": invoke_vidd, "invoke_iiii": invoke_iiii, "invoke_viiiiiiii": invoke_viiiiiiii, "invoke_viiiiii": invoke_viiiiii, "invoke_viii": invoke_viii, "invoke_vidddd": invoke_vidddd, "invoke_vdi": invoke_vdi, "invoke_viiiiiii": invoke_viiiiiii, "invoke_viiiiiiiii": invoke_viiiiiiiii, "invoke_iii": invoke_iii, "invoke_i": invoke_i, "invoke_vdddddd": invoke_vdddddd, "invoke_vdddd": invoke_vdddd, "invoke_vdd": invoke_vdd, "invoke_v": invoke_v, "invoke_viid": invoke_viid, "invoke_viiii": invoke_viiii, "_emscripten_glGetTexParameterfv": _emscripten_glGetTexParameterfv, "_glUseProgram": _glUseProgram, "_emscripten_glShaderSource": _emscripten_glShaderSource, "_glfwCreateWindow": _glfwCreateWindow, "_emscripten_glReleaseShaderCompiler": _emscripten_glReleaseShaderCompiler, "_emscripten_glBlendFuncSeparate": _emscripten_glBlendFuncSeparate, "_emscripten_glUniform4iv": _emscripten_glUniform4iv, "_emscripten_glVertexAttribPointer": _emscripten_glVertexAttribPointer, "_emscripten_glGetIntegerv": _emscripten_glGetIntegerv, "_emscripten_glCullFace": _emscripten_glCullFace, "_emscripten_glIsProgram": _emscripten_glIsProgram, "_emscripten_glStencilMaskSeparate": _emscripten_glStencilMaskSeparate, "_emscripten_glViewport": _emscripten_glViewport, "_emscripten_glFrontFace": _emscripten_glFrontFace, "_alBufferData": _alBufferData, "___assert_fail": ___assert_fail, "_glDeleteProgram": _glDeleteProgram, "_emscripten_glUniform3fv": _emscripten_glUniform3fv, "_emscripten_glPolygonOffset": _emscripten_glPolygonOffset, "_emscripten_glUseProgram": _emscripten_glUseProgram, "_emscripten_glBlendColor": _emscripten_glBlendColor, "_glBindBuffer": _glBindBuffer, "_emscripten_glDepthFunc": _emscripten_glDepthFunc, "_glGetShaderInfoLog": _glGetShaderInfoLog, "_alSource3f": _alSource3f, "_emscripten_set_fullscreenchange_callback": _emscripten_set_fullscreenchange_callback, "_emscripten_set_touchmove_callback": _emscripten_set_touchmove_callback, "_emscripten_set_main_loop_timing": _emscripten_set_main_loop_timing, "_emscripten_set_gamepaddisconnected_callback": _emscripten_set_gamepaddisconnected_callback, "_glDisable": _glDisable, "_glBlendFunc": _glBlendFunc, "_emscripten_glDisableVertexAttribArray": _emscripten_glDisableVertexAttribArray, "_glGetAttribLocation": _glGetAttribLocation, "_glDisableVertexAttribArray": _glDisableVertexAttribArray, "_glCreateShader": _glCreateShader, "_alcGetString": _alcGetString, "_emscripten_glSampleCoverage": _emscripten_glSampleCoverage, "_emscripten_glVertexPointer": _emscripten_glVertexPointer, "_emscripten_set_touchstart_callback": _emscripten_set_touchstart_callback, "emscriptenWebGLComputeImageSize": emscriptenWebGLComputeImageSize, "_emscripten_glGetBooleanv": _emscripten_glGetBooleanv, "_emscripten_glGetShaderSource": _emscripten_glGetShaderSource, "_glUniform4f": _glUniform4f, "_llvm_stacksave": _llvm_stacksave, "_emscripten_glUniform1i": _emscripten_glUniform1i, "_emscripten_glStencilFuncSeparate": _emscripten_glStencilFuncSeparate, "_emscripten_glFrustum": _emscripten_glFrustum, "_emscripten_glGenBuffers": _emscripten_glGenBuffers, "_emscripten_glDeleteObjectARB": _emscripten_glDeleteObjectARB, "_glfwSetWindowSizeCallback": _glfwSetWindowSizeCallback, "_emscripten_glGetShaderPrecisionFormat": _emscripten_glGetShaderPrecisionFormat, "_glfwInit": _glfwInit, "_emscripten_glGetPointerv": _emscripten_glGetPointerv, "_glGenBuffers": _glGenBuffers, "_glShaderSource": _glShaderSource, "_emscripten_glGetString": _emscripten_glGetString, "_emscripten_glIsFramebuffer": _emscripten_glIsFramebuffer, "_emscripten_glIsEnabled": _emscripten_glIsEnabled, "_emscripten_glScissor": _emscripten_glScissor, "_emscripten_glVertexAttrib4fv": _emscripten_glVertexAttrib4fv, "_emscripten_glFramebufferTexture2D": _emscripten_glFramebufferTexture2D, "_emscripten_glTexParameteriv": _emscripten_glTexParameteriv, "_emscripten_glBindProgramARB": _emscripten_glBindProgramARB, "_emscripten_glStencilOpSeparate": _emscripten_glStencilOpSeparate, "_alSourcePlay": _alSourcePlay, "_alSourcei": _alSourcei, "_emscripten_glFramebufferRenderbuffer": _emscripten_glFramebufferRenderbuffer, "___syscall140": ___syscall140, "_glfwSetErrorCallback": _glfwSetErrorCallback, "_glfwDefaultWindowHints": _glfwDefaultWindowHints, "_emscripten_glIsBuffer": _emscripten_glIsBuffer, "___syscall146": ___syscall146, "_glfwDestroyWindow": _glfwDestroyWindow, "_emscripten_glGetActiveAttrib": _emscripten_glGetActiveAttrib, "_emscripten_glAttachShader": _emscripten_glAttachShader, "_glVertexAttribPointer": _glVertexAttribPointer, "_emscripten_glUniform2i": _emscripten_glUniform2i, "_emscripten_glUniform2f": _emscripten_glUniform2f, "_alcCreateContext": _alcCreateContext, "_glfwTerminate": _glfwTerminate, "_emscripten_glTexParameterfv": _emscripten_glTexParameterfv, "_emscripten_glUniformMatrix2fv": _emscripten_glUniformMatrix2fv, "_glGetProgramInfoLog": _glGetProgramInfoLog, "_alcGetContextsDevice": _alcGetContextsDevice, "_emscripten_glTexParameterf": _emscripten_glTexParameterf, "_emscripten_glGetAttachedShaders": _emscripten_glGetAttachedShaders, "_emscripten_glGenTextures": _emscripten_glGenTextures, "_emscripten_glTexParameteri": _emscripten_glTexParameteri, "_llvm_stackrestore": _llvm_stackrestore, "_glfwMakeContextCurrent": _glfwMakeContextCurrent, "_emscripten_glClear": _emscripten_glClear, "_glDrawElements": _glDrawElements, "_alGetSourcei": _alGetSourcei, "_glBufferSubData": _glBufferSubData, "_alcMakeContextCurrent": _alcMakeContextCurrent, "_emscripten_glGenVertexArrays": _emscripten_glGenVertexArrays, "_emscripten_glVertexAttrib2fv": _emscripten_glVertexAttrib2fv, "_glViewport": _glViewport, "_alSourceQueueBuffers": _alSourceQueueBuffers, "_emscripten_glGetTexParameteriv": _emscripten_glGetTexParameteriv, "___setErrNo": ___setErrNo, "_eglGetProcAddress": _eglGetProcAddress, "_alcGetCurrentContext": _alcGetCurrentContext, "_emscripten_glBindAttribLocation": _emscripten_glBindAttribLocation, "_glDeleteTextures": _glDeleteTextures, "_glDepthFunc": _glDepthFunc, "_emscripten_glClientActiveTexture": _emscripten_glClientActiveTexture, "_emscripten_glVertexAttrib2f": _emscripten_glVertexAttrib2f, "_emscripten_glFlush": _emscripten_glFlush, "_emscripten_glCheckFramebufferStatus": _emscripten_glCheckFramebufferStatus, "_emscripten_glGenerateMipmap": _emscripten_glGenerateMipmap, "_emscripten_glGetError": _emscripten_glGetError, "_alGenBuffers": _alGenBuffers, "_emscripten_glClearDepthf": _emscripten_glClearDepthf, "_emscripten_glBufferData": _emscripten_glBufferData, "_emscripten_glUniform3i": _emscripten_glUniform3i, "_emscripten_glRotatef": _emscripten_glRotatef, "_emscripten_glDeleteShader": _emscripten_glDeleteShader, "_glEnable": _glEnable, "_emscripten_glReadPixels": _emscripten_glReadPixels, "_emscripten_glMatrixMode": _emscripten_glMatrixMode, "_alDeleteSources": _alDeleteSources, "_emscripten_glClearStencil": _emscripten_glClearStencil, "_emscripten_glGetUniformLocation": _emscripten_glGetUniformLocation, "emscriptenWebGLGet": emscriptenWebGLGet, "_alSourceUnqueueBuffers": _alSourceUnqueueBuffers, "_emscripten_glEnableVertexAttribArray": _emscripten_glEnableVertexAttribArray, "_alGetError": _alGetError, "_emscripten_get_now": _emscripten_get_now, "_emscripten_glNormalPointer": _emscripten_glNormalPointer, "_glAttachShader": _glAttachShader, "_emscripten_glTexCoordPointer": _emscripten_glTexCoordPointer, "_emscripten_glEnable": _emscripten_glEnable, "_glCreateProgram": _glCreateProgram, "_glUniformMatrix4fv": _glUniformMatrix4fv, "_emscripten_glClearDepth": _emscripten_glClearDepth, "___lock": ___lock, "emscriptenWebGLGetTexPixelData": emscriptenWebGLGetTexPixelData, "___syscall6": ___syscall6, "___syscall5": ___syscall5, "___syscall145": ___syscall145, "_emscripten_glVertexAttrib3f": _emscripten_glVertexAttrib3f, "_time": _time, "_emscripten_glVertexAttrib1f": _emscripten_glVertexAttrib1f, "_emscripten_glGetFramebufferAttachmentParameteriv": _emscripten_glGetFramebufferAttachmentParameteriv, "_emscripten_glBlendEquationSeparate": _emscripten_glBlendEquationSeparate, "_exit": _exit, "_emscripten_glBindFramebuffer": _emscripten_glBindFramebuffer, "_glGetString": _glGetString, "_emscripten_glUniform4i": _emscripten_glUniform4i, "_alSourcef": _alSourcef, "_emscripten_glDrawRangeElements": _emscripten_glDrawRangeElements, "_glCullFace": _glCullFace, "_llvm_pow_f64": _llvm_pow_f64, "_emscripten_set_keypress_callback": _emscripten_set_keypress_callback, "__emscripten_sample_gamepad_data": __emscripten_sample_gamepad_data, "_emscripten_get_gamepad_status": _emscripten_get_gamepad_status, "_emscripten_glUniform4f": _emscripten_glUniform4f, "_glfwSwapInterval": _glfwSwapInterval, "_glfwGetVideoModes": _glfwGetVideoModes, "_emscripten_set_click_callback": _emscripten_set_click_callback, "_emscripten_glShaderBinary": _emscripten_glShaderBinary, "_emscripten_glDrawElements": _emscripten_glDrawElements, "_emscripten_glBlendFunc": _emscripten_glBlendFunc, "_emscripten_get_num_gamepads": _emscripten_get_num_gamepads, "___syscall221": ___syscall221, "_glCompressedTexImage2D": _glCompressedTexImage2D, "_emscripten_glUniform1iv": _emscripten_glUniform1iv, "_emscripten_glGetVertexAttribPointerv": _emscripten_glGetVertexAttribPointerv, "_glClearDepthf": _glClearDepthf, "_emscripten_glCompressedTexSubImage2D": _emscripten_glCompressedTexSubImage2D, "emscriptenWebGLGetUniform": emscriptenWebGLGetUniform, "_emscripten_glGenRenderbuffers": _emscripten_glGenRenderbuffers, "_emscripten_glDeleteVertexArrays": _emscripten_glDeleteVertexArrays, "_glfwSetWindowShouldClose": _glfwSetWindowShouldClose, "_emscripten_glUniform1fv": _emscripten_glUniform1fv, "_emscripten_glGetActiveUniform": _emscripten_glGetActiveUniform, "_glBindTexture": _glBindTexture, "_emscripten_glUniform3iv": _emscripten_glUniform3iv, "_emscripten_glUniform2iv": _emscripten_glUniform2iv, "_emscripten_glHint": _emscripten_glHint, "_glfwSetCharCallback": _glfwSetCharCallback, "emscriptenWebGLGetVertexAttrib": emscriptenWebGLGetVertexAttrib, "_emscripten_glLoadMatrixf": _emscripten_glLoadMatrixf, "_emscripten_glDeleteProgram": _emscripten_glDeleteProgram, "_emscripten_glDeleteRenderbuffers": _emscripten_glDeleteRenderbuffers, "_glfwSetScrollCallback": _glfwSetScrollCallback, "_emscripten_glDrawElementsInstanced": _emscripten_glDrawElementsInstanced, "_emscripten_glVertexAttrib4f": _emscripten_glVertexAttrib4f, "_alcDestroyContext": _alcDestroyContext, "_glDrawArrays": _glDrawArrays, "_emscripten_glTexSubImage2D": _emscripten_glTexSubImage2D, "_emscripten_memcpy_big": _emscripten_memcpy_big, "_emscripten_glPixelStorei": _emscripten_glPixelStorei, "_glCompileShader": _glCompileShader, "_alListenerf": _alListenerf, "_glfwGetMouseButton": _glfwGetMouseButton, "_emscripten_glColorPointer": _emscripten_glColorPointer, "_emscripten_glGetBufferParameteriv": _emscripten_glGetBufferParameteriv, "_emscripten_glFinish": _emscripten_glFinish, "_glfwSwapBuffers": _glfwSwapBuffers, "_glGetFloatv": _glGetFloatv, "_emscripten_asm_const_iii": _emscripten_asm_const_iii, "_emscripten_glDepthMask": _emscripten_glDepthMask, "_glfwSetWindowIconifyCallback": _glfwSetWindowIconifyCallback, "_emscripten_glDrawBuffers": _emscripten_glDrawBuffers, "_alSourceStop": _alSourceStop, "_glFrontFace": _glFrontFace, "_emscripten_glGetObjectParameterivARB": _emscripten_glGetObjectParameterivARB, "_emscripten_exit_pointerlock": _emscripten_exit_pointerlock, "_alcCloseDevice": _alcCloseDevice, "_glUniform1i": _glUniform1i, "_glEnableVertexAttribArray": _glEnableVertexAttribArray, "_emscripten_glStencilFunc": _emscripten_glStencilFunc, "_abort": _abort, "_emscripten_glGetUniformiv": _emscripten_glGetUniformiv, "_emscripten_glUniform2fv": _emscripten_glUniform2fv, "_glDeleteBuffers": _glDeleteBuffers, "_glBufferData": _glBufferData, "_glTexImage2D": _glTexImage2D, "_emscripten_glGetShaderiv": _emscripten_glGetShaderiv, "_glfwSetKeyCallback": _glfwSetKeyCallback, "_emscripten_glGenFramebuffers": _emscripten_glGenFramebuffers, "_emscripten_glUniformMatrix4fv": _emscripten_glUniformMatrix4fv, "_emscripten_glLoadIdentity": _emscripten_glLoadIdentity, "_glDeleteShader": _glDeleteShader, "_emscripten_glUniform1f": _emscripten_glUniform1f, "_glGetProgramiv": _glGetProgramiv, "_llvm_exp2_f32": _llvm_exp2_f32, "_emscripten_glIsRenderbuffer": _emscripten_glIsRenderbuffer, "_glfwGetTime": _glfwGetTime, "_emscripten_glRenderbufferStorage": _emscripten_glRenderbufferStorage, "_emscripten_set_gamepadconnected_callback": _emscripten_set_gamepadconnected_callback, "_alListener3f": _alListener3f, "_emscripten_glGetVertexAttribiv": _emscripten_glGetVertexAttribiv, "_emscripten_glBindVertexArray": _emscripten_glBindVertexArray, "_emscripten_glDrawArraysInstanced": _emscripten_glDrawArraysInstanced, "_emscripten_set_touchcancel_callback": _emscripten_set_touchcancel_callback, "_emscripten_glCreateShader": _emscripten_glCreateShader, "_emscripten_glStencilMask": _emscripten_glStencilMask, "_emscripten_glDeleteTextures": _emscripten_glDeleteTextures, "_emscripten_glBindRenderbuffer": _emscripten_glBindRenderbuffer, "_glfwGetPrimaryMonitor": _glfwGetPrimaryMonitor, "_glLinkProgram": _glLinkProgram, "_emscripten_glVertexAttribDivisor": _emscripten_glVertexAttribDivisor, "_emscripten_set_touchend_callback": _emscripten_set_touchend_callback, "_emscripten_glGetUniformfv": _emscripten_glGetUniformfv, "_emscripten_glGetVertexAttribfv": _emscripten_glGetVertexAttribfv, "_emscripten_glGetRenderbufferParameteriv": _emscripten_glGetRenderbufferParameteriv, "_emscripten_glDeleteFramebuffers": _emscripten_glDeleteFramebuffers, "_glGetShaderiv": _glGetShaderiv, "_emscripten_glVertexAttrib3fv": _emscripten_glVertexAttrib3fv, "_glGetUniformLocation": _glGetUniformLocation, "_emscripten_glGetInfoLogARB": _emscripten_glGetInfoLogARB, "_emscripten_glCompileShader": _emscripten_glCompileShader, "_glClear": _glClear, "_glGenTextures": _glGenTextures, "_emscripten_glDisable": _emscripten_glDisable, "_emscripten_glDepthRangef": _emscripten_glDepthRangef, "__exit": __exit, "_emscripten_glLineWidth": _emscripten_glLineWidth, "_emscripten_glUniform3f": _emscripten_glUniform3f, "_emscripten_glGetShaderInfoLog": _emscripten_glGetShaderInfoLog, "_emscripten_glStencilOp": _emscripten_glStencilOp, "_glBindAttribLocation": _glBindAttribLocation, "_glPixelStorei": _glPixelStorei, "_emscripten_glColorMask": _emscripten_glColorMask, "_emscripten_glLinkProgram": _emscripten_glLinkProgram, "_emscripten_glBlendEquation": _emscripten_glBlendEquation, "_emscripten_glIsTexture": _emscripten_glIsTexture, "_alDeleteBuffers": _alDeleteBuffers, "_emscripten_glGetProgramiv": _emscripten_glGetProgramiv, "_emscripten_glVertexAttrib1fv": _emscripten_glVertexAttrib1fv, "_emscripten_glUniformMatrix3fv": _emscripten_glUniformMatrix3fv, "_emscripten_glBindTexture": _emscripten_glBindTexture, "_glfwSetMouseButtonCallback": _glfwSetMouseButtonCallback, "_glfwGetCursorPos": _glfwGetCursorPos, "_emscripten_glActiveTexture": _emscripten_glActiveTexture, "_emscripten_glDeleteBuffers": _emscripten_glDeleteBuffers, "___syscall54": ___syscall54, "___unlock": ___unlock, "_emscripten_glBufferSubData": _emscripten_glBufferSubData, "_emscripten_glDepthRange": _emscripten_glDepthRange, "_emscripten_set_main_loop": _emscripten_set_main_loop, "_emscripten_glGetProgramInfoLog": _emscripten_glGetProgramInfoLog, "_glfwWindowHint": _glfwWindowHint, "_alGenSources": _alGenSources, "_glfwSetCursorPosCallback": _glfwSetCursorPosCallback, "_emscripten_glIsShader": _emscripten_glIsShader, "_emscripten_glUniform4fv": _emscripten_glUniform4fv, "_alcOpenDevice": _alcOpenDevice, "_emscripten_glDrawArrays": _emscripten_glDrawArrays, "_emscripten_glCompressedTexImage2D": _emscripten_glCompressedTexImage2D, "_emscripten_glClearColor": _emscripten_glClearColor, "_emscripten_glCreateProgram": _emscripten_glCreateProgram, "_emscripten_glCopyTexSubImage2D": _emscripten_glCopyTexSubImage2D, "_emscripten_glGetAttribLocation": _emscripten_glGetAttribLocation, "_glTexParameteri": _glTexParameteri, "_emscripten_glValidateProgram": _emscripten_glValidateProgram, "_emscripten_glBindBuffer": _emscripten_glBindBuffer, "_emscripten_glGetFloatv": _emscripten_glGetFloatv, "_emscripten_glDetachShader": _emscripten_glDetachShader, "_glClearColor": _glClearColor, "_emscripten_glEnableClientState": _emscripten_glEnableClientState, "_glfwSetCursorEnterCallback": _glfwSetCursorEnterCallback, "_emscripten_glCopyTexImage2D": _emscripten_glCopyTexImage2D, "_emscripten_glTexImage2D": _emscripten_glTexImage2D, "DYNAMICTOP_PTR": DYNAMICTOP_PTR, "tempDoublePtr": tempDoublePtr, "ABORT": ABORT, "STACKTOP": STACKTOP, "STACK_MAX": STACK_MAX, "cttz_i8": cttz_i8 }; +// EMSCRIPTEN_START_ASM +var asm = (function(global, env, buffer) { + 'use asm'; + + + var HEAP8 = new global.Int8Array(buffer); + var HEAP16 = new global.Int16Array(buffer); + var HEAP32 = new global.Int32Array(buffer); + var HEAPU8 = new global.Uint8Array(buffer); + var HEAPU16 = new global.Uint16Array(buffer); + var HEAPU32 = new global.Uint32Array(buffer); + var HEAPF32 = new global.Float32Array(buffer); + var HEAPF64 = new global.Float64Array(buffer); + + + var DYNAMICTOP_PTR=env.DYNAMICTOP_PTR|0; + var tempDoublePtr=env.tempDoublePtr|0; + var ABORT=env.ABORT|0; + var STACKTOP=env.STACKTOP|0; + var STACK_MAX=env.STACK_MAX|0; + var cttz_i8=env.cttz_i8|0; + + var __THREW__ = 0; + var threwValue = 0; + var setjmpId = 0; + var undef = 0; + var nan = global.NaN, inf = global.Infinity; + var tempInt = 0, tempBigInt = 0, tempBigIntP = 0, tempBigIntS = 0, tempBigIntR = 0.0, tempBigIntI = 0, tempBigIntD = 0, tempValue = 0, tempDouble = 0.0; + var tempRet0 = 0; + + var Math_floor=global.Math.floor; + var Math_abs=global.Math.abs; + var Math_sqrt=global.Math.sqrt; + var Math_pow=global.Math.pow; + var Math_cos=global.Math.cos; + var Math_sin=global.Math.sin; + var Math_tan=global.Math.tan; + var Math_acos=global.Math.acos; + var Math_asin=global.Math.asin; + var Math_atan=global.Math.atan; + var Math_atan2=global.Math.atan2; + var Math_exp=global.Math.exp; + var Math_log=global.Math.log; + var Math_ceil=global.Math.ceil; + var Math_imul=global.Math.imul; + var Math_min=global.Math.min; + var Math_max=global.Math.max; + var Math_clz32=global.Math.clz32; + var abort=env.abort; + var assert=env.assert; + var enlargeMemory=env.enlargeMemory; + var getTotalMemory=env.getTotalMemory; + var abortOnCannotGrowMemory=env.abortOnCannotGrowMemory; + var abortStackOverflow=env.abortStackOverflow; + var nullFunc_viiiii=env.nullFunc_viiiii; + var nullFunc_vd=env.nullFunc_vd; + var nullFunc_vid=env.nullFunc_vid; + var nullFunc_vi=env.nullFunc_vi; + var nullFunc_vii=env.nullFunc_vii; + var nullFunc_ii=env.nullFunc_ii; + var nullFunc_viddd=env.nullFunc_viddd; + var nullFunc_vidd=env.nullFunc_vidd; + var nullFunc_iiii=env.nullFunc_iiii; + var nullFunc_viiiiiiii=env.nullFunc_viiiiiiii; + var nullFunc_viiiiii=env.nullFunc_viiiiii; + var nullFunc_viii=env.nullFunc_viii; + var nullFunc_vidddd=env.nullFunc_vidddd; + var nullFunc_vdi=env.nullFunc_vdi; + var nullFunc_viiiiiii=env.nullFunc_viiiiiii; + var nullFunc_viiiiiiiii=env.nullFunc_viiiiiiiii; + var nullFunc_iii=env.nullFunc_iii; + var nullFunc_i=env.nullFunc_i; + var nullFunc_vdddddd=env.nullFunc_vdddddd; + var nullFunc_vdddd=env.nullFunc_vdddd; + var nullFunc_vdd=env.nullFunc_vdd; + var nullFunc_v=env.nullFunc_v; + var nullFunc_viid=env.nullFunc_viid; + var nullFunc_viiii=env.nullFunc_viiii; + var invoke_viiiii=env.invoke_viiiii; + var invoke_vd=env.invoke_vd; + var invoke_vid=env.invoke_vid; + var invoke_vi=env.invoke_vi; + var invoke_vii=env.invoke_vii; + var invoke_ii=env.invoke_ii; + var invoke_viddd=env.invoke_viddd; + var invoke_vidd=env.invoke_vidd; + var invoke_iiii=env.invoke_iiii; + var invoke_viiiiiiii=env.invoke_viiiiiiii; + var invoke_viiiiii=env.invoke_viiiiii; + var invoke_viii=env.invoke_viii; + var invoke_vidddd=env.invoke_vidddd; + var invoke_vdi=env.invoke_vdi; + var invoke_viiiiiii=env.invoke_viiiiiii; + var invoke_viiiiiiiii=env.invoke_viiiiiiiii; + var invoke_iii=env.invoke_iii; + var invoke_i=env.invoke_i; + var invoke_vdddddd=env.invoke_vdddddd; + var invoke_vdddd=env.invoke_vdddd; + var invoke_vdd=env.invoke_vdd; + var invoke_v=env.invoke_v; + var invoke_viid=env.invoke_viid; + var invoke_viiii=env.invoke_viiii; + var _emscripten_glGetTexParameterfv=env._emscripten_glGetTexParameterfv; + var _glUseProgram=env._glUseProgram; + var _emscripten_glShaderSource=env._emscripten_glShaderSource; + var _glfwCreateWindow=env._glfwCreateWindow; + var _emscripten_glReleaseShaderCompiler=env._emscripten_glReleaseShaderCompiler; + var _emscripten_glBlendFuncSeparate=env._emscripten_glBlendFuncSeparate; + var _emscripten_glUniform4iv=env._emscripten_glUniform4iv; + var _emscripten_glVertexAttribPointer=env._emscripten_glVertexAttribPointer; + var _emscripten_glGetIntegerv=env._emscripten_glGetIntegerv; + var _emscripten_glCullFace=env._emscripten_glCullFace; + var _emscripten_glIsProgram=env._emscripten_glIsProgram; + var _emscripten_glStencilMaskSeparate=env._emscripten_glStencilMaskSeparate; + var _emscripten_glViewport=env._emscripten_glViewport; + var _emscripten_glFrontFace=env._emscripten_glFrontFace; + var _alBufferData=env._alBufferData; + var ___assert_fail=env.___assert_fail; + var _glDeleteProgram=env._glDeleteProgram; + var _emscripten_glUniform3fv=env._emscripten_glUniform3fv; + var _emscripten_glPolygonOffset=env._emscripten_glPolygonOffset; + var _emscripten_glUseProgram=env._emscripten_glUseProgram; + var _emscripten_glBlendColor=env._emscripten_glBlendColor; + var _glBindBuffer=env._glBindBuffer; + var _emscripten_glDepthFunc=env._emscripten_glDepthFunc; + var _glGetShaderInfoLog=env._glGetShaderInfoLog; + var _alSource3f=env._alSource3f; + var _emscripten_set_fullscreenchange_callback=env._emscripten_set_fullscreenchange_callback; + var _emscripten_set_touchmove_callback=env._emscripten_set_touchmove_callback; + var _emscripten_set_main_loop_timing=env._emscripten_set_main_loop_timing; + var _emscripten_set_gamepaddisconnected_callback=env._emscripten_set_gamepaddisconnected_callback; + var _glDisable=env._glDisable; + var _glBlendFunc=env._glBlendFunc; + var _emscripten_glDisableVertexAttribArray=env._emscripten_glDisableVertexAttribArray; + var _glGetAttribLocation=env._glGetAttribLocation; + var _glDisableVertexAttribArray=env._glDisableVertexAttribArray; + var _glCreateShader=env._glCreateShader; + var _alcGetString=env._alcGetString; + var _emscripten_glSampleCoverage=env._emscripten_glSampleCoverage; + var _emscripten_glVertexPointer=env._emscripten_glVertexPointer; + var _emscripten_set_touchstart_callback=env._emscripten_set_touchstart_callback; + var emscriptenWebGLComputeImageSize=env.emscriptenWebGLComputeImageSize; + var _emscripten_glGetBooleanv=env._emscripten_glGetBooleanv; + var _emscripten_glGetShaderSource=env._emscripten_glGetShaderSource; + var _glUniform4f=env._glUniform4f; + var _llvm_stacksave=env._llvm_stacksave; + var _emscripten_glUniform1i=env._emscripten_glUniform1i; + var _emscripten_glStencilFuncSeparate=env._emscripten_glStencilFuncSeparate; + var _emscripten_glFrustum=env._emscripten_glFrustum; + var _emscripten_glGenBuffers=env._emscripten_glGenBuffers; + var _emscripten_glDeleteObjectARB=env._emscripten_glDeleteObjectARB; + var _glfwSetWindowSizeCallback=env._glfwSetWindowSizeCallback; + var _emscripten_glGetShaderPrecisionFormat=env._emscripten_glGetShaderPrecisionFormat; + var _glfwInit=env._glfwInit; + var _emscripten_glGetPointerv=env._emscripten_glGetPointerv; + var _glGenBuffers=env._glGenBuffers; + var _glShaderSource=env._glShaderSource; + var _emscripten_glGetString=env._emscripten_glGetString; + var _emscripten_glIsFramebuffer=env._emscripten_glIsFramebuffer; + var _emscripten_glIsEnabled=env._emscripten_glIsEnabled; + var _emscripten_glScissor=env._emscripten_glScissor; + var _emscripten_glVertexAttrib4fv=env._emscripten_glVertexAttrib4fv; + var _emscripten_glFramebufferTexture2D=env._emscripten_glFramebufferTexture2D; + var _emscripten_glTexParameteriv=env._emscripten_glTexParameteriv; + var _emscripten_glBindProgramARB=env._emscripten_glBindProgramARB; + var _emscripten_glStencilOpSeparate=env._emscripten_glStencilOpSeparate; + var _alSourcePlay=env._alSourcePlay; + var _alSourcei=env._alSourcei; + var _emscripten_glFramebufferRenderbuffer=env._emscripten_glFramebufferRenderbuffer; + var ___syscall140=env.___syscall140; + var _glfwSetErrorCallback=env._glfwSetErrorCallback; + var _glfwDefaultWindowHints=env._glfwDefaultWindowHints; + var _emscripten_glIsBuffer=env._emscripten_glIsBuffer; + var ___syscall146=env.___syscall146; + var _glfwDestroyWindow=env._glfwDestroyWindow; + var _emscripten_glGetActiveAttrib=env._emscripten_glGetActiveAttrib; + var _emscripten_glAttachShader=env._emscripten_glAttachShader; + var _glVertexAttribPointer=env._glVertexAttribPointer; + var _emscripten_glUniform2i=env._emscripten_glUniform2i; + var _emscripten_glUniform2f=env._emscripten_glUniform2f; + var _alcCreateContext=env._alcCreateContext; + var _glfwTerminate=env._glfwTerminate; + var _emscripten_glTexParameterfv=env._emscripten_glTexParameterfv; + var _emscripten_glUniformMatrix2fv=env._emscripten_glUniformMatrix2fv; + var _glGetProgramInfoLog=env._glGetProgramInfoLog; + var _alcGetContextsDevice=env._alcGetContextsDevice; + var _emscripten_glTexParameterf=env._emscripten_glTexParameterf; + var _emscripten_glGetAttachedShaders=env._emscripten_glGetAttachedShaders; + var _emscripten_glGenTextures=env._emscripten_glGenTextures; + var _emscripten_glTexParameteri=env._emscripten_glTexParameteri; + var _llvm_stackrestore=env._llvm_stackrestore; + var _glfwMakeContextCurrent=env._glfwMakeContextCurrent; + var _emscripten_glClear=env._emscripten_glClear; + var _glDrawElements=env._glDrawElements; + var _alGetSourcei=env._alGetSourcei; + var _glBufferSubData=env._glBufferSubData; + var _alcMakeContextCurrent=env._alcMakeContextCurrent; + var _emscripten_glGenVertexArrays=env._emscripten_glGenVertexArrays; + var _emscripten_glVertexAttrib2fv=env._emscripten_glVertexAttrib2fv; + var _glViewport=env._glViewport; + var _alSourceQueueBuffers=env._alSourceQueueBuffers; + var _emscripten_glGetTexParameteriv=env._emscripten_glGetTexParameteriv; + var ___setErrNo=env.___setErrNo; + var _eglGetProcAddress=env._eglGetProcAddress; + var _alcGetCurrentContext=env._alcGetCurrentContext; + var _emscripten_glBindAttribLocation=env._emscripten_glBindAttribLocation; + var _glDeleteTextures=env._glDeleteTextures; + var _glDepthFunc=env._glDepthFunc; + var _emscripten_glClientActiveTexture=env._emscripten_glClientActiveTexture; + var _emscripten_glVertexAttrib2f=env._emscripten_glVertexAttrib2f; + var _emscripten_glFlush=env._emscripten_glFlush; + var _emscripten_glCheckFramebufferStatus=env._emscripten_glCheckFramebufferStatus; + var _emscripten_glGenerateMipmap=env._emscripten_glGenerateMipmap; + var _emscripten_glGetError=env._emscripten_glGetError; + var _alGenBuffers=env._alGenBuffers; + var _emscripten_glClearDepthf=env._emscripten_glClearDepthf; + var _emscripten_glBufferData=env._emscripten_glBufferData; + var _emscripten_glUniform3i=env._emscripten_glUniform3i; + var _emscripten_glRotatef=env._emscripten_glRotatef; + var _emscripten_glDeleteShader=env._emscripten_glDeleteShader; + var _glEnable=env._glEnable; + var _emscripten_glReadPixels=env._emscripten_glReadPixels; + var _emscripten_glMatrixMode=env._emscripten_glMatrixMode; + var _alDeleteSources=env._alDeleteSources; + var _emscripten_glClearStencil=env._emscripten_glClearStencil; + var _emscripten_glGetUniformLocation=env._emscripten_glGetUniformLocation; + var emscriptenWebGLGet=env.emscriptenWebGLGet; + var _alSourceUnqueueBuffers=env._alSourceUnqueueBuffers; + var _emscripten_glEnableVertexAttribArray=env._emscripten_glEnableVertexAttribArray; + var _alGetError=env._alGetError; + var _emscripten_get_now=env._emscripten_get_now; + var _emscripten_glNormalPointer=env._emscripten_glNormalPointer; + var _glAttachShader=env._glAttachShader; + var _emscripten_glTexCoordPointer=env._emscripten_glTexCoordPointer; + var _emscripten_glEnable=env._emscripten_glEnable; + var _glCreateProgram=env._glCreateProgram; + var _glUniformMatrix4fv=env._glUniformMatrix4fv; + var _emscripten_glClearDepth=env._emscripten_glClearDepth; + var ___lock=env.___lock; + var emscriptenWebGLGetTexPixelData=env.emscriptenWebGLGetTexPixelData; + var ___syscall6=env.___syscall6; + var ___syscall5=env.___syscall5; + var ___syscall145=env.___syscall145; + var _emscripten_glVertexAttrib3f=env._emscripten_glVertexAttrib3f; + var _time=env._time; + var _emscripten_glVertexAttrib1f=env._emscripten_glVertexAttrib1f; + var _emscripten_glGetFramebufferAttachmentParameteriv=env._emscripten_glGetFramebufferAttachmentParameteriv; + var _emscripten_glBlendEquationSeparate=env._emscripten_glBlendEquationSeparate; + var _exit=env._exit; + var _emscripten_glBindFramebuffer=env._emscripten_glBindFramebuffer; + var _glGetString=env._glGetString; + var _emscripten_glUniform4i=env._emscripten_glUniform4i; + var _alSourcef=env._alSourcef; + var _emscripten_glDrawRangeElements=env._emscripten_glDrawRangeElements; + var _glCullFace=env._glCullFace; + var _llvm_pow_f64=env._llvm_pow_f64; + var _emscripten_set_keypress_callback=env._emscripten_set_keypress_callback; + var __emscripten_sample_gamepad_data=env.__emscripten_sample_gamepad_data; + var _emscripten_get_gamepad_status=env._emscripten_get_gamepad_status; + var _emscripten_glUniform4f=env._emscripten_glUniform4f; + var _glfwSwapInterval=env._glfwSwapInterval; + var _glfwGetVideoModes=env._glfwGetVideoModes; + var _emscripten_set_click_callback=env._emscripten_set_click_callback; + var _emscripten_glShaderBinary=env._emscripten_glShaderBinary; + var _emscripten_glDrawElements=env._emscripten_glDrawElements; + var _emscripten_glBlendFunc=env._emscripten_glBlendFunc; + var _emscripten_get_num_gamepads=env._emscripten_get_num_gamepads; + var ___syscall221=env.___syscall221; + var _glCompressedTexImage2D=env._glCompressedTexImage2D; + var _emscripten_glUniform1iv=env._emscripten_glUniform1iv; + var _emscripten_glGetVertexAttribPointerv=env._emscripten_glGetVertexAttribPointerv; + var _glClearDepthf=env._glClearDepthf; + var _emscripten_glCompressedTexSubImage2D=env._emscripten_glCompressedTexSubImage2D; + var emscriptenWebGLGetUniform=env.emscriptenWebGLGetUniform; + var _emscripten_glGenRenderbuffers=env._emscripten_glGenRenderbuffers; + var _emscripten_glDeleteVertexArrays=env._emscripten_glDeleteVertexArrays; + var _glfwSetWindowShouldClose=env._glfwSetWindowShouldClose; + var _emscripten_glUniform1fv=env._emscripten_glUniform1fv; + var _emscripten_glGetActiveUniform=env._emscripten_glGetActiveUniform; + var _glBindTexture=env._glBindTexture; + var _emscripten_glUniform3iv=env._emscripten_glUniform3iv; + var _emscripten_glUniform2iv=env._emscripten_glUniform2iv; + var _emscripten_glHint=env._emscripten_glHint; + var _glfwSetCharCallback=env._glfwSetCharCallback; + var emscriptenWebGLGetVertexAttrib=env.emscriptenWebGLGetVertexAttrib; + var _emscripten_glLoadMatrixf=env._emscripten_glLoadMatrixf; + var _emscripten_glDeleteProgram=env._emscripten_glDeleteProgram; + var _emscripten_glDeleteRenderbuffers=env._emscripten_glDeleteRenderbuffers; + var _glfwSetScrollCallback=env._glfwSetScrollCallback; + var _emscripten_glDrawElementsInstanced=env._emscripten_glDrawElementsInstanced; + var _emscripten_glVertexAttrib4f=env._emscripten_glVertexAttrib4f; + var _alcDestroyContext=env._alcDestroyContext; + var _glDrawArrays=env._glDrawArrays; + var _emscripten_glTexSubImage2D=env._emscripten_glTexSubImage2D; + var _emscripten_memcpy_big=env._emscripten_memcpy_big; + var _emscripten_glPixelStorei=env._emscripten_glPixelStorei; + var _glCompileShader=env._glCompileShader; + var _alListenerf=env._alListenerf; + var _glfwGetMouseButton=env._glfwGetMouseButton; + var _emscripten_glColorPointer=env._emscripten_glColorPointer; + var _emscripten_glGetBufferParameteriv=env._emscripten_glGetBufferParameteriv; + var _emscripten_glFinish=env._emscripten_glFinish; + var _glfwSwapBuffers=env._glfwSwapBuffers; + var _glGetFloatv=env._glGetFloatv; + var _emscripten_asm_const_iii=env._emscripten_asm_const_iii; + var _emscripten_glDepthMask=env._emscripten_glDepthMask; + var _glfwSetWindowIconifyCallback=env._glfwSetWindowIconifyCallback; + var _emscripten_glDrawBuffers=env._emscripten_glDrawBuffers; + var _alSourceStop=env._alSourceStop; + var _glFrontFace=env._glFrontFace; + var _emscripten_glGetObjectParameterivARB=env._emscripten_glGetObjectParameterivARB; + var _emscripten_exit_pointerlock=env._emscripten_exit_pointerlock; + var _alcCloseDevice=env._alcCloseDevice; + var _glUniform1i=env._glUniform1i; + var _glEnableVertexAttribArray=env._glEnableVertexAttribArray; + var _emscripten_glStencilFunc=env._emscripten_glStencilFunc; + var _abort=env._abort; + var _emscripten_glGetUniformiv=env._emscripten_glGetUniformiv; + var _emscripten_glUniform2fv=env._emscripten_glUniform2fv; + var _glDeleteBuffers=env._glDeleteBuffers; + var _glBufferData=env._glBufferData; + var _glTexImage2D=env._glTexImage2D; + var _emscripten_glGetShaderiv=env._emscripten_glGetShaderiv; + var _glfwSetKeyCallback=env._glfwSetKeyCallback; + var _emscripten_glGenFramebuffers=env._emscripten_glGenFramebuffers; + var _emscripten_glUniformMatrix4fv=env._emscripten_glUniformMatrix4fv; + var _emscripten_glLoadIdentity=env._emscripten_glLoadIdentity; + var _glDeleteShader=env._glDeleteShader; + var _emscripten_glUniform1f=env._emscripten_glUniform1f; + var _glGetProgramiv=env._glGetProgramiv; + var _llvm_exp2_f32=env._llvm_exp2_f32; + var _emscripten_glIsRenderbuffer=env._emscripten_glIsRenderbuffer; + var _glfwGetTime=env._glfwGetTime; + var _emscripten_glRenderbufferStorage=env._emscripten_glRenderbufferStorage; + var _emscripten_set_gamepadconnected_callback=env._emscripten_set_gamepadconnected_callback; + var _alListener3f=env._alListener3f; + var _emscripten_glGetVertexAttribiv=env._emscripten_glGetVertexAttribiv; + var _emscripten_glBindVertexArray=env._emscripten_glBindVertexArray; + var _emscripten_glDrawArraysInstanced=env._emscripten_glDrawArraysInstanced; + var _emscripten_set_touchcancel_callback=env._emscripten_set_touchcancel_callback; + var _emscripten_glCreateShader=env._emscripten_glCreateShader; + var _emscripten_glStencilMask=env._emscripten_glStencilMask; + var _emscripten_glDeleteTextures=env._emscripten_glDeleteTextures; + var _emscripten_glBindRenderbuffer=env._emscripten_glBindRenderbuffer; + var _glfwGetPrimaryMonitor=env._glfwGetPrimaryMonitor; + var _glLinkProgram=env._glLinkProgram; + var _emscripten_glVertexAttribDivisor=env._emscripten_glVertexAttribDivisor; + var _emscripten_set_touchend_callback=env._emscripten_set_touchend_callback; + var _emscripten_glGetUniformfv=env._emscripten_glGetUniformfv; + var _emscripten_glGetVertexAttribfv=env._emscripten_glGetVertexAttribfv; + var _emscripten_glGetRenderbufferParameteriv=env._emscripten_glGetRenderbufferParameteriv; + var _emscripten_glDeleteFramebuffers=env._emscripten_glDeleteFramebuffers; + var _glGetShaderiv=env._glGetShaderiv; + var _emscripten_glVertexAttrib3fv=env._emscripten_glVertexAttrib3fv; + var _glGetUniformLocation=env._glGetUniformLocation; + var _emscripten_glGetInfoLogARB=env._emscripten_glGetInfoLogARB; + var _emscripten_glCompileShader=env._emscripten_glCompileShader; + var _glClear=env._glClear; + var _glGenTextures=env._glGenTextures; + var _emscripten_glDisable=env._emscripten_glDisable; + var _emscripten_glDepthRangef=env._emscripten_glDepthRangef; + var __exit=env.__exit; + var _emscripten_glLineWidth=env._emscripten_glLineWidth; + var _emscripten_glUniform3f=env._emscripten_glUniform3f; + var _emscripten_glGetShaderInfoLog=env._emscripten_glGetShaderInfoLog; + var _emscripten_glStencilOp=env._emscripten_glStencilOp; + var _glBindAttribLocation=env._glBindAttribLocation; + var _glPixelStorei=env._glPixelStorei; + var _emscripten_glColorMask=env._emscripten_glColorMask; + var _emscripten_glLinkProgram=env._emscripten_glLinkProgram; + var _emscripten_glBlendEquation=env._emscripten_glBlendEquation; + var _emscripten_glIsTexture=env._emscripten_glIsTexture; + var _alDeleteBuffers=env._alDeleteBuffers; + var _emscripten_glGetProgramiv=env._emscripten_glGetProgramiv; + var _emscripten_glVertexAttrib1fv=env._emscripten_glVertexAttrib1fv; + var _emscripten_glUniformMatrix3fv=env._emscripten_glUniformMatrix3fv; + var _emscripten_glBindTexture=env._emscripten_glBindTexture; + var _glfwSetMouseButtonCallback=env._glfwSetMouseButtonCallback; + var _glfwGetCursorPos=env._glfwGetCursorPos; + var _emscripten_glActiveTexture=env._emscripten_glActiveTexture; + var _emscripten_glDeleteBuffers=env._emscripten_glDeleteBuffers; + var ___syscall54=env.___syscall54; + var ___unlock=env.___unlock; + var _emscripten_glBufferSubData=env._emscripten_glBufferSubData; + var _emscripten_glDepthRange=env._emscripten_glDepthRange; + var _emscripten_set_main_loop=env._emscripten_set_main_loop; + var _emscripten_glGetProgramInfoLog=env._emscripten_glGetProgramInfoLog; + var _glfwWindowHint=env._glfwWindowHint; + var _alGenSources=env._alGenSources; + var _glfwSetCursorPosCallback=env._glfwSetCursorPosCallback; + var _emscripten_glIsShader=env._emscripten_glIsShader; + var _emscripten_glUniform4fv=env._emscripten_glUniform4fv; + var _alcOpenDevice=env._alcOpenDevice; + var _emscripten_glDrawArrays=env._emscripten_glDrawArrays; + var _emscripten_glCompressedTexImage2D=env._emscripten_glCompressedTexImage2D; + var _emscripten_glClearColor=env._emscripten_glClearColor; + var _emscripten_glCreateProgram=env._emscripten_glCreateProgram; + var _emscripten_glCopyTexSubImage2D=env._emscripten_glCopyTexSubImage2D; + var _emscripten_glGetAttribLocation=env._emscripten_glGetAttribLocation; + var _glTexParameteri=env._glTexParameteri; + var _emscripten_glValidateProgram=env._emscripten_glValidateProgram; + var _emscripten_glBindBuffer=env._emscripten_glBindBuffer; + var _emscripten_glGetFloatv=env._emscripten_glGetFloatv; + var _emscripten_glDetachShader=env._emscripten_glDetachShader; + var _glClearColor=env._glClearColor; + var _emscripten_glEnableClientState=env._emscripten_glEnableClientState; + var _glfwSetCursorEnterCallback=env._glfwSetCursorEnterCallback; + var _emscripten_glCopyTexImage2D=env._emscripten_glCopyTexImage2D; + var _emscripten_glTexImage2D=env._emscripten_glTexImage2D; + var tempFloat = 0.0; + // EMSCRIPTEN_START_FUNCS -function Wc(a){a=a|0;var b=0;b=i;i=i+a|0;i=i+15&-16;return b|0}function Xc(){return i|0}function Yc(a){a=a|0;i=a}function Zc(a,b){a=a|0;b=b|0;if(!p){p=a;q=b}}function _c(b){b=b|0;a[k>>0]=a[b>>0];a[k+1>>0]=a[b+1>>0];a[k+2>>0]=a[b+2>>0];a[k+3>>0]=a[b+3>>0]}function $c(b){b=b|0;a[k>>0]=a[b>>0];a[k+1>>0]=a[b+1>>0];a[k+2>>0]=a[b+2>>0];a[k+3>>0]=a[b+3>>0];a[k+4>>0]=a[b+4>>0];a[k+5>>0]=a[b+5>>0];a[k+6>>0]=a[b+6>>0];a[k+7>>0]=a[b+7>>0]}function ad(a){a=a|0;E=a}function bd(){return E|0}function cd(){var a=0,b=0,d=0,e=0,f=0;a=i;i=i+16|0;b=a+8|0;d=a;ge(1280,720,56);Wf();Zf(d,96);e=d;d=c[e+4>>2]|0;f=88;c[f>>2]=c[e>>2];c[f+4>>2]=d;c[30]=0;ed();Bc(1,0,1);c[b+0>>2]=c[22];c[b+4>>2]=c[23];bg(b);Xf();me();i=a;return 0}function dd(){var b=0,d=0,e=0,f=0,h=0,j=0.0,k=0.0,l=0;b=i;i=i+16|0;d=b+12|0;e=b;f=b+4|0;h=b+8|0;a:do if(c[4]|0){j=+g[2];if(!(c[6]|0)){k=j+.019999999552965164;g[2]=k;if(!(k>=1.0))break;g[2]=1.0;c[30]=c[10];c[6]=1;c[12]=0;break}else{k=j+-.019999999552965164;g[2]=k;if(!(k<=0.0))break;g[2]=0.0;c[6]=0;c[4]=0;c[8]=-1;c[10]=-1;break}}else{do if(!(xe(48)|0)){if(xe(49)|0){c[4]=1;c[8]=c[30];c[10]=2;pd();break}if(xe(50)|0){c[4]=1;c[8]=c[30];c[10]=3;ud();break}if(xe(51)|0){c[4]=1;c[8]=c[30];c[10]=4;zd();break}if(xe(52)|0){c[4]=1;c[8]=c[30];c[10]=5;Ed();break}if(xe(53)|0){c[4]=1;c[8]=c[30];c[10]=6;Jd();break}if(xe(54)|0){c[4]=1;c[8]=c[30];c[10]=7;Od();break}if(xe(55)|0){c[4]=1;c[8]=c[30];c[10]=8;Td();break}if(xe(56)|0){c[4]=1;c[8]=c[30];c[10]=9;Yd();break}if(xe(57)|0){c[4]=1;c[8]=c[30];c[10]=10;Yd()}}else{c[4]=1;c[8]=c[30];c[10]=1;jd()}while(0);do switch(c[30]|0){case 0:{fd();if(!(id()|0))break a;c[4]=1;c[8]=c[30];c[10]=1;jd();dg(128);ig(.6000000238418579);break a;break};case 4:{Ad();if(!(Dd()|0))break a;c[4]=1;c[8]=c[30];c[10]=5;Ed();break a;break};case 9:{Zd();if(!(ae()|0))break a;c[4]=1;c[8]=c[30];c[10]=10;be();break a;break};case 3:{vd();if(!(yd()|0))break a;c[4]=1;c[8]=c[30];c[10]=4;zd();break a;break};case 10:{ce();if(!(fe()|0))break a;c[4]=1;c[8]=c[30];c[10]=1;jd();break a;break};case 6:{Kd();if(!(Nd()|0))break a;c[4]=1;c[8]=c[30];c[10]=7;Od();break a;break};case 1:{kd();if(!(od()|0))break a;c[4]=1;c[8]=c[30];c[10]=2;pd();break a;break};case 7:{Pd();if(!(Sd()|0))break a;c[4]=1;c[8]=c[30];c[10]=8;Td();break a;break};case 5:{Fd();if(!(Id()|0))break a;c[4]=1;c[8]=c[30];c[10]=6;Jd();break a;break};case 2:{qd();if(!(td()|0))break a;c[4]=1;c[8]=c[30];c[10]=3;ud();break a;break};case 8:{Ud();if(!(Xd()|0))break a;c[4]=1;c[8]=c[30];c[10]=9;Yd();break a;break};default:break a}while(0)}while(0);qe();a[h>>0]=-11;a[h+1>>0]=-11;a[h+2>>0]=-11;a[h+3>>0]=-1;a[d+0>>0]=a[h+0>>0]|0;a[d+1>>0]=a[h+1>>0]|0;a[d+2>>0]=a[h+2>>0]|0;a[d+3>>0]=a[h+3>>0]|0;pe(d);do switch(c[30]|0){case 1:{ld();break};case 2:{rd();break};case 0:{gd();break};case 3:{wd();break};case 4:{Bd();break};case 5:{Gd();break};case 6:{Ld();break};case 7:{Qd();break};case 10:{de();break};case 9:{_d();break};case 8:{Vd();break};default:{}}while(0);if(!(c[4]|0)){se();i=b;return}h=ne()|0;l=oe()|0;a[f>>0]=-11;a[f+1>>0]=-11;a[f+2>>0]=-11;a[f+3>>0]=-1;k=+g[2];a[d+0>>0]=a[f+0>>0]|0;a[d+1>>0]=a[f+1>>0]|0;a[d+2>>0]=a[f+2>>0]|0;a[d+3>>0]=a[f+3>>0]|0;we(e,d,k);a[d+0>>0]=a[e+0>>0]|0;a[d+1>>0]=a[e+1>>0]|0;a[d+2>>0]=a[e+2>>0]|0;a[d+3>>0]=a[e+3>>0]|0;Ff(0,0,h,l,d);se();i=b;return}function ed(){var a=0;a=i;c[122]=0;c[124]=0;c[126]=((ne()|0)/2|0)+ -128;c[128]=((oe()|0)/2|0)+ -128;i=a;return}function fd(){var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;b=i;i=i+16|0;d=b;e=c[122]|0;c[122]=e+1;f=c[82]|0;a:do if((f|0)==2){g=(c[76]|0)+4|0;c[76]=g;c[78]=(c[78]|0)+4;if((g|0)==256){c[88]=0;if(a[360]|0){g=0;do{a[360+g>>0]=32;g=g+1|0}while(g>>>0<(vi(360)|0)>>>0)}c[82]=3;h=32}else h=32}else if((f|0)==1){g=(c[72]|0)+4|0;c[72]=g;c[74]=(c[74]|0)+4;if((g|0)==256){c[82]=2;h=32}else h=32}else if((f|0)==3){g=e+2|0;c[122]=g;j=c[70]|0;if(!((g|0)%12|0)){k=j+1|0;c[70]=k;l=k}else l=j;switch(l|0){case 3:{a[322]=121;h=32;break a;break};case 4:{a[323]=108;h=32;break a;break};case 6:{a[325]=98;h=32;break a;break};case 2:{a[321]=97;h=32;break a;break};case 5:{a[324]=105;h=32;break a;break};case 1:{a[320]=114;h=32;break a;break};default:{if((l|0)<=9){h=32;break a}if(!(g&1))c[88]=(c[88]|0)+1;if(c[84]|0){if(c[86]|0){m=g;break a}g=c[88]|0;if(g>>>0<32){ti(360,216,g|0)|0;h=32;break a}else{c[86]=1;c[122]=0;c[d+0>>2]=c[22];c[d+4>>2]=c[23];cg(d);h=32;break a}}g=c[88]|0;if(g>>>0<33){ti(360,152,g|0)|0;h=32;break a}if(a[360]|0){g=0;do{a[360+g>>0]=32;g=g+1|0}while(g>>>0<(vi(360)|0)>>>0)}c[88]=0;c[84]=1;h=32;break a}}}else if((f|0)==0?(g=e+2|0,c[122]=g,(g|0)==120):0){c[82]=1;c[122]=0;h=32}else h=32;while(0);do if((h|0)==32)if(!(c[86]|0)){i=b;return}else{m=c[122]|0;break}while(0);c[122]=m+1;if((m|0)<=89){i=b;return}c[124]=1;i=b;return}function gd(){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,x=0,y=0;b=i;i=i+80|0;d=b+68|0;e=b+64|0;f=b+60|0;g=b+56|0;h=b+52|0;j=b+48|0;k=b+44|0;l=b+40|0;m=b+36|0;n=b+32|0;o=b+24|0;p=b+20|0;q=b+16|0;r=b+12|0;s=b+8|0;t=b+4|0;u=b;v=b+28|0;w=c[82]|0;if(!w){if(!(((c[122]|0)/15|0)&1)){i=b;return}x=c[126]|0;y=(c[128]|0)+ -60|0;a[e>>0]=0;a[e+1>>0]=0;a[e+2>>0]=0;a[e+3>>0]=-1;a[d+0>>0]=a[e+0>>0]|0;a[d+1>>0]=a[e+1>>0]|0;a[d+2>>0]=a[e+2>>0]|0;a[d+3>>0]=a[e+3>>0]|0;Ff(x,y,16,16,d);i=b;return}else if((w|0)==2){y=c[126]|0;x=(c[128]|0)+ -60|0;e=c[72]|0;a[h>>0]=0;a[h+1>>0]=0;a[h+2>>0]=0;a[h+3>>0]=-1;a[d+0>>0]=a[h+0>>0]|0;a[d+1>>0]=a[h+1>>0]|0;a[d+2>>0]=a[h+2>>0]|0;a[d+3>>0]=a[h+3>>0]|0;Ff(y,x,e,16,d);e=c[126]|0;x=(c[128]|0)+ -60|0;y=c[74]|0;a[j>>0]=0;a[j+1>>0]=0;a[j+2>>0]=0;a[j+3>>0]=-1;a[d+0>>0]=a[j+0>>0]|0;a[d+1>>0]=a[j+1>>0]|0;a[d+2>>0]=a[j+2>>0]|0;a[d+3>>0]=a[j+3>>0]|0;Ff(e,x,16,y,d);y=(c[126]|0)+240|0;x=(c[128]|0)+ -60|0;e=c[78]|0;a[k>>0]=0;a[k+1>>0]=0;a[k+2>>0]=0;a[k+3>>0]=-1;a[d+0>>0]=a[k+0>>0]|0;a[d+1>>0]=a[k+1>>0]|0;a[d+2>>0]=a[k+2>>0]|0;a[d+3>>0]=a[k+3>>0]|0;Ff(y,x,16,e,d);e=c[126]|0;x=(c[128]|0)+180|0;y=c[76]|0;a[l>>0]=0;a[l+1>>0]=0;a[l+2>>0]=0;a[l+3>>0]=-1;a[d+0>>0]=a[l+0>>0]|0;a[d+1>>0]=a[l+1>>0]|0;a[d+2>>0]=a[l+2>>0]|0;a[d+3>>0]=a[l+3>>0]|0;Ff(e,x,y,16,d);i=b;return}else if((w|0)==3){y=c[126]|0;x=(c[128]|0)+ -60|0;e=c[72]|0;a[m>>0]=0;a[m+1>>0]=0;a[m+2>>0]=0;a[m+3>>0]=-1;a[d+0>>0]=a[m+0>>0]|0;a[d+1>>0]=a[m+1>>0]|0;a[d+2>>0]=a[m+2>>0]|0;a[d+3>>0]=a[m+3>>0]|0;Ff(y,x,e,16,d);e=c[126]|0;x=(c[128]|0)+ -44|0;y=(c[74]|0)+ -32|0;a[n>>0]=0;a[n+1>>0]=0;a[n+2>>0]=0;a[n+3>>0]=-1;a[d+0>>0]=a[n+0>>0]|0;a[d+1>>0]=a[n+1>>0]|0;a[d+2>>0]=a[n+2>>0]|0;a[d+3>>0]=a[n+3>>0]|0;Ff(e,x,16,y,d);y=(c[126]|0)+240|0;x=(c[128]|0)+ -44|0;e=(c[78]|0)+ -32|0;a[o>>0]=0;a[o+1>>0]=0;a[o+2>>0]=0;a[o+3>>0]=-1;a[d+0>>0]=a[o+0>>0]|0;a[d+1>>0]=a[o+1>>0]|0;a[d+2>>0]=a[o+2>>0]|0;a[d+3>>0]=a[o+3>>0]|0;Ff(y,x,16,e,d);e=c[126]|0;x=(c[128]|0)+180|0;y=c[76]|0;a[p>>0]=0;a[p+1>>0]=0;a[p+2>>0]=0;a[p+3>>0]=-1;a[d+0>>0]=a[p+0>>0]|0;a[d+1>>0]=a[p+1>>0]|0;a[d+2>>0]=a[p+2>>0]|0;a[d+3>>0]=a[p+3>>0]|0;Ff(e,x,y,16,d);y=((ne()|0)/2|0)+ -112|0;x=((oe()|0)/2|0)+ -172|0;a[q>>0]=-11;a[q+1>>0]=-11;a[q+2>>0]=-11;a[q+3>>0]=-1;a[d+0>>0]=a[q+0>>0]|0;a[d+1>>0]=a[q+1>>0]|0;a[d+2>>0]=a[q+2>>0]|0;a[d+3>>0]=a[q+3>>0]|0;Ff(y,x,224,224,d);x=((ne()|0)/2|0)+ -44|0;y=((oe()|0)/2|0)+ -12|0;a[r>>0]=0;a[r+1>>0]=0;a[r+2>>0]=0;a[r+3>>0]=-1;a[d+0>>0]=a[r+0>>0]|0;a[d+1>>0]=a[r+1>>0]|0;a[d+2>>0]=a[r+2>>0]|0;a[d+3>>0]=a[r+3>>0]|0;Pf(320,x,y,50,d);y=(c[84]|0)==0;x=(ne()|0)/2|0;r=x-((Sf(152,30)|0)/2|0)|0;x=(c[128]|0)+230|0;if(y){a[s>>0]=-126;a[s+1>>0]=-126;a[s+2>>0]=-126;a[s+3>>0]=-1;a[d+0>>0]=a[s+0>>0]|0;a[d+1>>0]=a[s+1>>0]|0;a[d+2>>0]=a[s+2>>0]|0;a[d+3>>0]=a[s+3>>0]|0;Pf(360,r,x,30,d);i=b;return}a[t>>0]=-126;a[t+1>>0]=-126;a[t+2>>0]=-126;a[t+3>>0]=-1;a[d+0>>0]=a[t+0>>0]|0;a[d+1>>0]=a[t+1>>0]|0;a[d+2>>0]=a[t+2>>0]|0;a[d+3>>0]=a[t+3>>0]|0;Pf(152,r,x,30,d);x=(c[86]|0)==0;r=(ne()|0)/2|0;if(x){x=r-((Sf(216,30)|0)/2|0)|0;t=(c[128]|0)+280|0;a[u>>0]=-126;a[u+1>>0]=-126;a[u+2>>0]=-126;a[u+3>>0]=-1;a[d+0>>0]=a[u+0>>0]|0;a[d+1>>0]=a[u+1>>0]|0;a[d+2>>0]=a[u+2>>0]|0;a[d+3>>0]=a[u+3>>0]|0;Pf(360,x,t,30,d);i=b;return}else{t=r-((Sf(152,30)|0)/2|0)|0;r=(c[128]|0)+280|0;a[v>>0]=-126;a[v+1>>0]=-126;a[v+2>>0]=-126;a[v+3>>0]=-1;a[d+0>>0]=a[v+0>>0]|0;a[d+1>>0]=a[v+1>>0]|0;a[d+2>>0]=a[v+2>>0]|0;a[d+3>>0]=a[v+3>>0]|0;Pf(216,t,r,30,d);i=b;return}}else if((w|0)==1){w=c[126]|0;r=(c[128]|0)+ -60|0;t=c[72]|0;a[f>>0]=0;a[f+1>>0]=0;a[f+2>>0]=0;a[f+3>>0]=-1;a[d+0>>0]=a[f+0>>0]|0;a[d+1>>0]=a[f+1>>0]|0;a[d+2>>0]=a[f+2>>0]|0;a[d+3>>0]=a[f+3>>0]|0;Ff(w,r,t,16,d);t=c[126]|0;r=(c[128]|0)+ -60|0;w=c[74]|0;a[g>>0]=0;a[g+1>>0]=0;a[g+2>>0]=0;a[g+3>>0]=-1;a[d+0>>0]=a[g+0>>0]|0;a[d+1>>0]=a[g+1>>0]|0;a[d+2>>0]=a[g+2>>0]|0;a[d+3>>0]=a[g+3>>0]|0;Ff(t,r,16,w,d);i=b;return}else{i=b;return}}function hd(){return}function id(){return c[124]|0}function jd(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0;a=i;c[130]=0;c[132]=0;b=(c[134]|0)==0;d=((ne()|0)/2|0)+ -265|0;e=(Sf(560,160)|0)+40|0;c[136]=d;if(b){c[137]=-200;c[138]=e;c[139]=160;b=ne()|0;f=Sf(584,160)|0;g=-30;h=b}else{c[137]=270;c[138]=e;c[139]=160;e=ne()|0;f=Sf(584,160)|0;g=270;h=e}c[142]=h+ -370;c[143]=g;c[144]=f+40;c[145]=160;i=a;return}function kd(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0;a=i;i=i+32|0;b=a+16|0;d=a;e=a+8|0;if(!(c[134]|0)){c[130]=(c[130]|0)+1;f=c[137]|0;if(!(c[148]|0)){g=f+2|0;c[137]=g;h=g}else h=f;if((h|0)>=(oe()|0))c[137]=0-(c[139]|0);Be(e);c[d+0>>2]=c[e+0>>2];c[d+4>>2]=c[e+4>>2];c[b+0>>2]=c[136];c[b+4>>2]=c[137];c[b+8>>2]=c[138];c[b+12>>2]=c[139];if(Jf(d,b)|0){c[150]=1;if((((c[148]|0)==0?(ye(0)|0)!=0:0)?(h=c[137]|0,(h|0)>(((oe()|0)/2|0)+ -110|0)):0)?(h=(c[139]|0)+(c[137]|0)|0,(h|0)<(((oe()|0)/2|0)+100|0)):0)c[148]=1}else c[150]=0;c[d+0>>2]=c[e+0>>2];c[d+4>>2]=c[e+4>>2];c[b+0>>2]=c[142];c[b+4>>2]=c[143];c[b+8>>2]=c[144];c[b+12>>2]=c[145];if(Jf(d,b)|0){c[152]=1;if((c[154]|0)==0?(ye(0)|0)!=0:0)c[143]=(c[143]|0)+100;d=c[143]|0;if((d|0)>=(((oe()|0)/2|0)+ -130|0))c[154]=1}else c[152]=0;if((c[154]|0)!=0&(c[148]|0)!=0){c[134]=1;c[b+0>>2]=c[22];c[b+4>>2]=c[23];cg(b)}}b=c[156]|0;if(!((c[134]|0)==0|(b|0)!=0)){c[158]=(c[130]|0)/60|0;c[156]=1;c[130]=1;i=a;return}if(!b){i=a;return}b=c[130]|0;c[130]=b+1;if((b|0)<=29){i=a;return}if(!(ye(0)|0)){i=a;return}c[132]=1;i=a;return}function ld(){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;b=i;i=i+80|0;d=b+8|0;e=b;f=b+60|0;g=b+56|0;h=b+52|0;j=b+48|0;k=b+44|0;l=b+40|0;m=b+64|0;n=b+28|0;o=b+24|0;p=b+20|0;q=b+16|0;r=b+12|0;s=b+32|0;t=b+36|0;u=((oe()|0)/2|0)+100|0;a[g>>0]=-56;a[g+1>>0]=-56;a[g+2>>0]=-56;a[g+3>>0]=-1;a[d+0>>0]=a[g+0>>0]|0;a[d+1>>0]=a[g+1>>0]|0;a[d+2>>0]=a[g+2>>0]|0;a[d+3>>0]=a[g+3>>0]|0;we(f,d,.4000000059604645);a[d+0>>0]=a[f+0>>0]|0;a[d+1>>0]=a[f+1>>0]|0;a[d+2>>0]=a[f+2>>0]|0;a[d+3>>0]=a[f+3>>0]|0;Pf(640,370,u,30,d);u=c[136]|0;f=(c[137]|0)+10|0;a[h>>0]=-126;a[h+1>>0]=-126;a[h+2>>0]=-126;a[h+3>>0]=-1;a[d+0>>0]=a[h+0>>0]|0;a[d+1>>0]=a[h+1>>0]|0;a[d+2>>0]=a[h+2>>0]|0;a[d+3>>0]=a[h+3>>0]|0;Pf(560,u,f,160,d);f=(ne()|0)/2|0;u=f-((Sf(680,160)|0)/2|0)|0;f=((oe()|0)/2|0)+ -80|0;a[j>>0]=-126;a[j+1>>0]=-126;a[j+2>>0]=-126;a[j+3>>0]=-1;a[d+0>>0]=a[j+0>>0]|0;a[d+1>>0]=a[j+1>>0]|0;a[d+2>>0]=a[j+2>>0]|0;a[d+3>>0]=a[j+3>>0]|0;Pf(672,u,f,160,d);f=(ne()|0)/2|0;u=f+210+((Sf(680,160)|0)/-2|0)|0;f=((oe()|0)/2|0)+ -80|0;a[k>>0]=-126;a[k+1>>0]=-126;a[k+2>>0]=-126;a[k+3>>0]=-1;a[d+0>>0]=a[k+0>>0]|0;a[d+1>>0]=a[k+1>>0]|0;a[d+2>>0]=a[k+2>>0]|0;a[d+3>>0]=a[k+3>>0]|0;Pf(688,u,f,160,d);f=c[142]|0;u=(c[143]|0)+10|0;a[l>>0]=-126;a[l+1>>0]=-126;a[l+2>>0]=-126;a[l+3>>0]=-1;a[d+0>>0]=a[l+0>>0]|0;a[d+1>>0]=a[l+1>>0]|0;a[d+2>>0]=a[l+2>>0]|0;a[d+3>>0]=a[l+3>>0]|0;Pf(584,f,u,160,d);if(!((c[150]|0)==0|(c[148]|0)!=0)){u=(c[136]|0)+ -20|0;f=c[137]|0;l=c[138]|0;k=c[139]|0;a[n>>0]=-56;a[n+1>>0]=-56;a[n+2>>0]=-56;a[n+3>>0]=-1;a[d+0>>0]=a[n+0>>0]|0;a[d+1>>0]=a[n+1>>0]|0;a[d+2>>0]=a[n+2>>0]|0;a[d+3>>0]=a[n+3>>0]|0;we(m,d,.800000011920929);a[d+0>>0]=a[m+0>>0]|0;a[d+1>>0]=a[m+1>>0]|0;a[d+2>>0]=a[m+2>>0]|0;a[d+3>>0]=a[m+3>>0]|0;If(u,f,l,k,d)}if(!((c[152]|0)==0|(c[154]|0)!=0)){k=(c[142]|0)+ -20|0;l=c[143]|0;f=c[144]|0;u=c[145]|0;a[p>>0]=-56;a[p+1>>0]=-56;a[p+2>>0]=-56;a[p+3>>0]=-1;a[d+0>>0]=a[p+0>>0]|0;a[d+1>>0]=a[p+1>>0]|0;a[d+2>>0]=a[p+2>>0]|0;a[d+3>>0]=a[p+3>>0]|0;we(o,d,.800000011920929);a[d+0>>0]=a[o+0>>0]|0;a[d+1>>0]=a[o+1>>0]|0;a[d+2>>0]=a[o+2>>0]|0;a[d+3>>0]=a[o+3>>0]|0;If(k,l,f,u,d)}u=(c[156]|0)==0;f=ne()|0;if(u){u=((f|0)/2|0)-((Sf(696,30)|0)/2|0)|0;a[t>>0]=-56;a[t+1>>0]=-56;a[t+2>>0]=-56;a[t+3>>0]=-1;a[d+0>>0]=a[t+0>>0]|0;a[d+1>>0]=a[t+1>>0]|0;a[d+2>>0]=a[t+2>>0]|0;a[d+3>>0]=a[t+3>>0]|0;Pf(696,u,20,30,d);i=b;return}else{u=oe()|0;a[q>>0]=-56;a[q+1>>0]=-56;a[q+2>>0]=-56;a[q+3>>0]=-1;a[d+0>>0]=a[q+0>>0]|0;a[d+1>>0]=a[q+1>>0]|0;a[d+2>>0]=a[q+2>>0]|0;a[d+3>>0]=a[q+3>>0]|0;we(e,d,.6000000238418579);a[d+0>>0]=a[e+0>>0]|0;a[d+1>>0]=a[e+1>>0]|0;a[d+2>>0]=a[e+2>>0]|0;a[d+3>>0]=a[e+3>>0]|0;Ff(0,0,f,60,d);q=u+ -120|0;a[d+0>>0]=a[e+0>>0]|0;a[d+1>>0]=a[e+1>>0]|0;a[d+2>>0]=a[e+2>>0]|0;a[d+3>>0]=a[e+3>>0]|0;Ff(0,60,60,q,d);t=f+ -60|0;a[d+0>>0]=a[e+0>>0]|0;a[d+1>>0]=a[e+1>>0]|0;a[d+2>>0]=a[e+2>>0]|0;a[d+3>>0]=a[e+3>>0]|0;Ff(t,60,60,q,d);q=u+ -60|0;a[d+0>>0]=a[e+0>>0]|0;a[d+1>>0]=a[e+1>>0]|0;a[d+2>>0]=a[e+2>>0]|0;a[d+3>>0]=a[e+3>>0]|0;Ff(0,q,f,60,d);f=(ne()|0)/2|0;q=f-((Sf(696,30)|0)/2|0)|0;a[r>>0]=-126;a[r+1>>0]=-126;a[r+2>>0]=-126;a[r+3>>0]=-1;a[d+0>>0]=a[r+0>>0]|0;a[d+1>>0]=a[r+1>>0]|0;a[d+2>>0]=a[r+2>>0]|0;a[d+3>>0]=a[r+3>>0]|0;Pf(696,q,20,30,d);c[d>>2]=c[158];q=Rf(712,d)|0;r=(ne()|0)/2|0;f=r-((Sf(736,30)|0)/2|0)|0;r=(oe()|0)+ -40|0;a[s>>0]=-126;a[s+1>>0]=-126;a[s+2>>0]=-126;a[s+3>>0]=-1;a[d+0>>0]=a[s+0>>0]|0;a[d+1>>0]=a[s+1>>0]|0;a[d+2>>0]=a[s+2>>0]|0;a[d+3>>0]=a[s+3>>0]|0;Pf(q,f,r,30,d);i=b;return}}function md(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;h=i;i=i+16|0;j=h;k=c[b>>2]|0;l=k+d|0;m=c[b+4>>2]|0;n=m+e|0;o=c[b+8>>2]|0;a[j+0>>0]=a[g+0>>0]|0;a[j+1>>0]=a[g+1>>0]|0;a[j+2>>0]=a[g+2>>0]|0;a[j+3>>0]=a[g+3>>0]|0;Ff(l,n,o,f,j);n=f+e+m|0;p=c[b+12>>2]|0;b=p-(f<<1)|0;a[j+0>>0]=a[g+0>>0]|0;a[j+1>>0]=a[g+1>>0]|0;a[j+2>>0]=a[g+2>>0]|0;a[j+3>>0]=a[g+3>>0]|0;Ff(l,n,f,b,j);q=d-f+k+o|0;a[j+0>>0]=a[g+0>>0]|0;a[j+1>>0]=a[g+1>>0]|0;a[j+2>>0]=a[g+2>>0]|0;a[j+3>>0]=a[g+3>>0]|0;Ff(q,n,f,b,j);b=e-f+m+p|0;a[j+0>>0]=a[g+0>>0]|0;a[j+1>>0]=a[g+1>>0]|0;a[j+2>>0]=a[g+2>>0]|0;a[j+3>>0]=a[g+3>>0]|0;Ff(l,b,o,f,j);i=h;return}function nd(){return}function od(){return c[132]|0}function pd(){var a=0,b=0,d=0,e=0;a=i;c[190]=0;c[192]=0;b=(ne()|0)/2|0;d=oe()|0;c[194]=0;c[195]=0;c[196]=b;c[197]=d;d=(ne()|0)/2|0;b=(ne()|0)/2|0;e=oe()|0;c[198]=d;c[199]=0;c[200]=b;c[201]=e;e=((ne()|0)/4|0)+ -200|0;b=((oe()|0)/2|0)+ -200|0;c[202]=e;c[203]=b;c[204]=400;c[205]=400;b=(ne()|0)/2|0;e=b+ -200+((ne()|0)/4|0)|0;b=((oe()|0)/2|0)+ -200|0;c[206]=e;c[207]=b;c[208]=400;c[209]=400;i=a;return}function qd(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;a=i;i=i+64|0;b=a+40|0;d=a;e=a+8|0;f=a+16|0;g=a+24|0;h=a+32|0;c[190]=(c[190]|0)+1;do if(!(c[210]|0)){do if(ye(0)|0){Be(e);c[d+0>>2]=c[e+0>>2];c[d+4>>2]=c[e+4>>2];c[b+0>>2]=c[202];c[b+4>>2]=c[203];c[b+8>>2]=c[204];c[b+12>>2]=c[205];if(Jf(d,b)|0){j=c[208]|0;if((j|0)<=0){k=j;break}c[206]=(c[206]|0)+20;c[207]=(c[207]|0)+20;c[208]=j+ -40;c[209]=(c[209]|0)+ -40;l=13;break}Be(f);c[d+0>>2]=c[f+0>>2];c[d+4>>2]=c[f+4>>2];c[b+0>>2]=c[206];c[b+4>>2]=c[207];c[b+8>>2]=c[208];c[b+12>>2]=c[209];if(Jf(d,b)|0){j=c[204]|0;if((j|0)<=0){l=13;break}c[202]=(c[202]|0)+20;c[203]=(c[203]|0)+20;c[204]=j+ -40;c[205]=(c[205]|0)+ -40;l=13;break}Be(g);c[d+0>>2]=c[g+0>>2];c[d+4>>2]=c[g+4>>2];c[b+0>>2]=c[194];c[b+4>>2]=c[195];c[b+8>>2]=c[196];c[b+12>>2]=c[197];if(Jf(d,b)|0){c[202]=(c[202]|0)+ -20;c[203]=(c[203]|0)+ -20;c[204]=(c[204]|0)+40;c[205]=(c[205]|0)+40;l=13;break}Be(h);c[d+0>>2]=c[h+0>>2];c[d+4>>2]=c[h+4>>2];c[b+0>>2]=c[198];c[b+4>>2]=c[199];c[b+8>>2]=c[200];c[b+12>>2]=c[201];if(Jf(d,b)|0){c[206]=(c[206]|0)+ -20;c[207]=(c[207]|0)+ -20;c[208]=(c[208]|0)+40;c[209]=(c[209]|0)+40;l=13}else l=13}else l=13;while(0);if((l|0)==13)k=c[208]|0;if(!((k|0)==0?(j=c[205]|0,(j|0)>=(oe()|0)):0)){if(c[204]|0)break;j=c[209]|0;if((j|0)<(oe()|0))break}c[210]=1;c[b+0>>2]=c[22];c[b+4>>2]=c[23];cg(b)}while(0);b=c[212]|0;if(!((c[210]|0)==0|(b|0)!=0)){c[214]=(c[190]|0)/60|0;c[212]=1;c[190]=1;i=a;return}if(!b){i=a;return}b=c[190]|0;c[190]=b+1;if((b|0)<=89){i=a;return}if(!(ye(0)|0)){i=a;return}c[192]=1;i=a;return}function rd(){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;b=i;i=i+96|0;d=b;e=b+24|0;f=b+76|0;g=b+72|0;h=b+68|0;j=b+64|0;k=b+60|0;l=b+80|0;m=b+8|0;n=b+44|0;o=b+40|0;p=b+48|0;q=b+52|0;r=b+56|0;s=(c[212]|0)==0;t=ne()|0;if(s){s=oe()|0;a[f>>0]=-56;a[f+1>>0]=-56;a[f+2>>0]=-56;a[f+3>>0]=-1;a[d+0>>0]=a[f+0>>0]|0;a[d+1>>0]=a[f+1>>0]|0;a[d+2>>0]=a[f+2>>0]|0;a[d+3>>0]=a[f+3>>0]|0;Ff(0,0,t,s,d)}else{s=t+ -120|0;t=(oe()|0)+ -120|0;a[g>>0]=-56;a[g+1>>0]=-56;a[g+2>>0]=-56;a[g+3>>0]=-1;a[d+0>>0]=a[g+0>>0]|0;a[d+1>>0]=a[g+1>>0]|0;a[d+2>>0]=a[g+2>>0]|0;a[d+3>>0]=a[g+3>>0]|0;Ff(60,60,s,t,d)}a[h>>0]=-126;a[h+1>>0]=-126;a[h+2>>0]=-126;a[h+3>>0]=-1;c[e+0>>2]=c[194];c[e+4>>2]=c[195];c[e+8>>2]=c[196];c[e+12>>2]=c[197];a[d+0>>0]=a[h+0>>0]|0;a[d+1>>0]=a[h+1>>0]|0;a[d+2>>0]=a[h+2>>0]|0;a[d+3>>0]=a[h+3>>0]|0;Hf(e,d);a[j>>0]=-11;a[j+1>>0]=-11;a[j+2>>0]=-11;a[j+3>>0]=-1;c[e+0>>2]=c[202];c[e+4>>2]=c[203];c[e+8>>2]=c[204];c[e+12>>2]=c[205];a[d+0>>0]=a[j+0>>0]|0;a[d+1>>0]=a[j+1>>0]|0;a[d+2>>0]=a[j+2>>0]|0;a[d+3>>0]=a[j+3>>0]|0;Hf(e,d);a[k>>0]=-11;a[k+1>>0]=-11;a[k+2>>0]=-11;a[k+3>>0]=-1;c[e+0>>2]=c[198];c[e+4>>2]=c[199];c[e+8>>2]=c[200];c[e+12>>2]=c[201];a[d+0>>0]=a[k+0>>0]|0;a[d+1>>0]=a[k+1>>0]|0;a[d+2>>0]=a[k+2>>0]|0;a[d+3>>0]=a[k+3>>0]|0;Hf(e,d);a[l>>0]=-126;a[l+1>>0]=-126;a[l+2>>0]=-126;a[l+3>>0]=-1;c[e+0>>2]=c[206];c[e+4>>2]=c[207];c[e+8>>2]=c[208];c[e+12>>2]=c[209];a[d+0>>0]=a[l+0>>0]|0;a[d+1>>0]=a[l+1>>0]|0;a[d+2>>0]=a[l+2>>0]|0;a[d+3>>0]=a[l+3>>0]|0;Hf(e,d);if(!(c[212]|0)){l=(ne()|0)/2|0;k=l-((Sf(864,30)|0)/2|0)|0;a[r>>0]=-56;a[r+1>>0]=-56;a[r+2>>0]=-56;a[r+3>>0]=-1;a[d+0>>0]=a[r+0>>0]|0;a[d+1>>0]=a[r+1>>0]|0;a[d+2>>0]=a[r+2>>0]|0;a[d+3>>0]=a[r+3>>0]|0;Pf(864,k,20,30,d);i=b;return}else{c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=ne()|0;c[m+12>>2]=oe()|0;a[o>>0]=-56;a[o+1>>0]=-56;a[o+2>>0]=-56;a[o+3>>0]=-1;a[d+0>>0]=a[o+0>>0]|0;a[d+1>>0]=a[o+1>>0]|0;a[d+2>>0]=a[o+2>>0]|0;a[d+3>>0]=a[o+3>>0]|0;we(n,d,.6000000238418579);c[e+0>>2]=c[m+0>>2];c[e+4>>2]=c[m+4>>2];c[e+8>>2]=c[m+8>>2];c[e+12>>2]=c[m+12>>2];a[d+0>>0]=a[n+0>>0]|0;a[d+1>>0]=a[n+1>>0]|0;a[d+2>>0]=a[n+2>>0]|0;a[d+3>>0]=a[n+3>>0]|0;md(e,0,0,60,d);e=(ne()|0)/2|0;n=e-((Sf(864,30)|0)/2|0)|0;a[p>>0]=-126;a[p+1>>0]=-126;a[p+2>>0]=-126;a[p+3>>0]=-1;a[d+0>>0]=a[p+0>>0]|0;a[d+1>>0]=a[p+1>>0]|0;a[d+2>>0]=a[p+2>>0]|0;a[d+3>>0]=a[p+3>>0]|0;Pf(864,n,20,30,d);c[d>>2]=c[214];n=Rf(880,d)|0;p=(ne()|0)/2|0;e=p-((Sf(904,30)|0)/2|0)|0;p=(oe()|0)+ -40|0;a[q>>0]=-126;a[q+1>>0]=-126;a[q+2>>0]=-126;a[q+3>>0]=-1;a[d+0>>0]=a[q+0>>0]|0;a[d+1>>0]=a[q+1>>0]|0;a[d+2>>0]=a[q+2>>0]|0;a[d+3>>0]=a[q+3>>0]|0;Pf(n,e,p,30,d);i=b;return}}function sd(){return}function td(){return c[192]|0}function ud(){var a=0,b=0.0,d=0.0;a=i;c[232]=0;c[234]=0;g[236]=120.0;g[237]=80.0;g[238]=6.0;g[240]=8.0;b=+((ne()|0)/2|0|0);d=+((oe()|0)/2|0|0);g[242]=b;g[243]=d;i=a;return}function vd(){var a=0,b=0,d=0,e=0,f=0.0,h=0.0,j=0.0,l=0,m=0,n=0;a=i;i=i+32|0;b=a+16|0;d=a+8|0;e=a;c[232]=(c[232]|0)+1;if(!(c[244]|0)){f=+g[238];h=f+ +g[236];g[236]=h;g[237]=+g[240]+ +g[237];if(!(h+-40.0<=0.0)){if(h+40.0>=+(ne()|0)){j=+g[238];l=5}}else{j=f;l=5}if((l|0)==5)g[238]=j*-1.0;j=+g[237];if(!(!(j+-40.0<=0.0)?!(j+40.0>=+(oe()|0)):0))g[240]=+g[240]*-1.0;Be(e);c[d+0>>2]=c[e+0>>2];c[d+4>>2]=c[e+4>>2];c[b+0>>2]=c[236];c[b+4>>2]=c[237];if(Kf(d,b,120.0)|0){g[236]=+(ve(80,1200)|0);g[237]=+(ve(80,650)|0)}c[d+0>>2]=c[e+0>>2];c[d+4>>2]=c[e+4>>2];c[b+0>>2]=c[242];c[b+4>>2]=c[243];do if((Kf(d,b,120.0)|0)!=0?(ze(0)|0)!=0:0){l=e;m=c[l>>2]|0;n=c[l+4>>2]|0;l=968;c[l>>2]=m;c[l+4>>2]=n;j=(c[k>>2]=m,+g[k>>2]);if(!(j+-50.0<=0.0)){if(j+50.0>=+(ne()|0))g[242]=+(ne()|0)+-50.0}else g[242]=50.0;j=+g[243];if(j+-50.0<=0.0){g[243]=50.0;break}if(j+50.0>=+(oe()|0))g[243]=+(oe()|0)+-50.0}while(0);j=+g[242]- +g[236];f=+g[243]- +g[237];if(+Q(+(j*j+f*f))<20.0){c[244]=1;c[b+0>>2]=c[22];c[b+4>>2]=c[23];cg(b)}}b=c[246]|0;if(!((c[244]|0)==0|(b|0)!=0)){c[248]=(c[232]|0)/60|0;c[246]=1;c[232]=1;i=a;return}if(!b){i=a;return}b=c[232]|0;c[232]=b+1;if((b|0)<=89){i=a;return}if(!(ye(0)|0)){i=a;return}c[234]=1;i=a;return}function wd(){var b=0,d=0,e=0,f=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;b=i;i=i+80|0;d=b;e=b+24|0;f=b+72|0;h=b+68|0;j=b+64|0;k=b+60|0;l=b+8|0;m=b+56|0;n=b+44|0;o=b+40|0;p=b+48|0;q=b+52|0;a[f>>0]=-56;a[f+1>>0]=-56;a[f+2>>0]=-56;a[f+3>>0]=-1;c[e+0>>2]=c[242];c[e+4>>2]=c[243];a[d+0>>0]=a[f+0>>0]|0;a[d+1>>0]=a[f+1>>0]|0;a[d+2>>0]=a[f+2>>0]|0;a[d+3>>0]=a[f+3>>0]|0;Df(e,50.0,d);a[h>>0]=80;a[h+1>>0]=80;a[h+2>>0]=80;a[h+3>>0]=-1;c[e+0>>2]=c[236];c[e+4>>2]=c[237];a[d+0>>0]=a[h+0>>0]|0;a[d+1>>0]=a[h+1>>0]|0;a[d+2>>0]=a[h+2>>0]|0;a[d+3>>0]=a[h+3>>0]|0;Df(e,40.0,d);h=~~+g[236];f=~~+g[237];a[k>>0]=-56;a[k+1>>0]=-56;a[k+2>>0]=-56;a[k+3>>0]=-1;a[d+0>>0]=a[k+0>>0]|0;a[d+1>>0]=a[k+1>>0]|0;a[d+2>>0]=a[k+2>>0]|0;a[d+3>>0]=a[k+3>>0]|0;we(j,d,.800000011920929);a[d+0>>0]=a[j+0>>0]|0;a[d+1>>0]=a[j+1>>0]|0;a[d+2>>0]=a[j+2>>0]|0;a[d+3>>0]=a[j+3>>0]|0;Ef(h,f,120.0,d);if(!(c[246]|0)){f=(ne()|0)/2|0;h=f-((Sf(1e3,30)|0)/2|0)|0;a[q>>0]=-56;a[q+1>>0]=-56;a[q+2>>0]=-56;a[q+3>>0]=-1;a[d+0>>0]=a[q+0>>0]|0;a[d+1>>0]=a[q+1>>0]|0;a[d+2>>0]=a[q+2>>0]|0;a[d+3>>0]=a[q+3>>0]|0;Pf(1e3,h,20,30,d);i=b;return}else{c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=ne()|0;c[l+12>>2]=oe()|0;a[n>>0]=-56;a[n+1>>0]=-56;a[n+2>>0]=-56;a[n+3>>0]=-1;a[d+0>>0]=a[n+0>>0]|0;a[d+1>>0]=a[n+1>>0]|0;a[d+2>>0]=a[n+2>>0]|0;a[d+3>>0]=a[n+3>>0]|0;we(m,d,.6000000238418579);c[e+0>>2]=c[l+0>>2];c[e+4>>2]=c[l+4>>2];c[e+8>>2]=c[l+8>>2];c[e+12>>2]=c[l+12>>2];a[d+0>>0]=a[m+0>>0]|0;a[d+1>>0]=a[m+1>>0]|0;a[d+2>>0]=a[m+2>>0]|0;a[d+3>>0]=a[m+3>>0]|0;md(e,0,0,60,d);e=(ne()|0)/2|0;m=e-((Sf(1e3,30)|0)/2|0)|0;a[o>>0]=-126;a[o+1>>0]=-126;a[o+2>>0]=-126;a[o+3>>0]=-1;a[d+0>>0]=a[o+0>>0]|0;a[d+1>>0]=a[o+1>>0]|0;a[d+2>>0]=a[o+2>>0]|0;a[d+3>>0]=a[o+3>>0]|0;Pf(1e3,m,20,30,d);c[d>>2]=c[248];m=Rf(1016,d)|0;o=(ne()|0)/2|0;e=o-((Sf(1040,30)|0)/2|0)|0;o=(oe()|0)+ -40|0;a[p>>0]=-126;a[p+1>>0]=-126;a[p+2>>0]=-126;a[p+3>>0]=-1;a[d+0>>0]=a[p+0>>0]|0;a[d+1>>0]=a[p+1>>0]|0;a[d+2>>0]=a[p+2>>0]|0;a[d+3>>0]=a[p+3>>0]|0;Pf(m,e,o,30,d);i=b;return}}function xd(){return}function yd(){return c[234]|0}function zd(){var a=0,b=0,d=0;a=i;c[266]=0;c[268]=0;b=((ne()|0)/2|0)+ -50|0;d=((oe()|0)/2|0)+ -50|0;c[270]=b;c[271]=d;c[272]=100;c[273]=100;c[274]=200;c[275]=400;c[276]=100;c[277]=100;i=a;return}function Ad(){var a=0,b=0,d=0,e=0;a=i;i=i+32|0;b=a+16|0;d=a;e=a+8|0;c[266]=(c[266]|0)+1;Be(e);if(!(c[278]|0)){c[d+0>>2]=c[e+0>>2];c[d+4>>2]=c[e+4>>2];c[b+0>>2]=c[270];c[b+4>>2]=c[271];c[b+8>>2]=c[272];c[b+12>>2]=c[273];c[280]=(Jf(d,b)|0)!=0&1;if(ze(0)|0){c[d+0>>2]=c[e+0>>2];c[d+4>>2]=c[e+4>>2];c[b+0>>2]=c[274];c[b+4>>2]=c[275];c[b+8>>2]=c[276];c[b+12>>2]=c[277];if(Jf(d,b)|0){c[274]=~~+g[e>>2]+ -50;c[275]=~~+g[e+4>>2]+ -50}}if((c[274]|0)==(c[270]|0)){c[d+0>>2]=c[e+0>>2];c[d+4>>2]=c[e+4>>2];c[b+0>>2]=c[270];c[b+4>>2]=c[271];c[b+8>>2]=c[272];c[b+12>>2]=c[273];if(!(Jf(d,b)|0)){c[278]=1;c[b+0>>2]=c[22];c[b+4>>2]=c[23];cg(b)}}}b=c[282]|0;if(!((c[278]|0)==0|(b|0)!=0)){c[284]=(c[266]|0)/60|0;c[282]=1;c[266]=1;i=a;return}if(!b){i=a;return}b=c[266]|0;c[266]=b+1;if((b|0)<=89){i=a;return}if(!(ye(0)|0)){i=a;return}c[268]=1;i=a;return}function Bd(){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;b=i;i=i+80|0;d=b;e=b+24|0;f=b+72|0;g=b+68|0;h=b+64|0;j=b+60|0;k=b+8|0;l=b+56|0;m=b+44|0;n=b+40|0;o=b+48|0;p=b+52|0;a[f>>0]=-126;a[f+1>>0]=-126;a[f+2>>0]=-126;a[f+3>>0]=-1;c[e+0>>2]=c[270];c[e+4>>2]=c[271];c[e+8>>2]=c[272];c[e+12>>2]=c[273];a[d+0>>0]=a[f+0>>0]|0;a[d+1>>0]=a[f+1>>0]|0;a[d+2>>0]=a[f+2>>0]|0;a[d+3>>0]=a[f+3>>0]|0;Hf(e,d);a[g>>0]=-11;a[g+1>>0]=-11;a[g+2>>0]=-11;a[g+3>>0]=-1;c[e+0>>2]=c[274];c[e+4>>2]=c[275];c[e+8>>2]=c[276];c[e+12>>2]=c[277];a[d+0>>0]=a[g+0>>0]|0;a[d+1>>0]=a[g+1>>0]|0;a[d+2>>0]=a[g+2>>0]|0;a[d+3>>0]=a[g+3>>0]|0;Hf(e,d);if(c[280]|0){g=c[274]|0;f=c[275]|0;q=c[276]|0;r=c[277]|0;a[j>>0]=-56;a[j+1>>0]=-56;a[j+2>>0]=-56;a[j+3>>0]=-1;a[d+0>>0]=a[j+0>>0]|0;a[d+1>>0]=a[j+1>>0]|0;a[d+2>>0]=a[j+2>>0]|0;a[d+3>>0]=a[j+3>>0]|0;we(h,d,.800000011920929);a[d+0>>0]=a[h+0>>0]|0;a[d+1>>0]=a[h+1>>0]|0;a[d+2>>0]=a[h+2>>0]|0;a[d+3>>0]=a[h+3>>0]|0;If(g,f,q,r,d)}if(!(c[282]|0)){r=(ne()|0)/2|0;q=r-((Sf(1144,30)|0)/2|0)|0;a[p>>0]=-56;a[p+1>>0]=-56;a[p+2>>0]=-56;a[p+3>>0]=-1;a[d+0>>0]=a[p+0>>0]|0;a[d+1>>0]=a[p+1>>0]|0;a[d+2>>0]=a[p+2>>0]|0;a[d+3>>0]=a[p+3>>0]|0;Pf(1144,q,20,30,d);i=b;return}else{c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=ne()|0;c[k+12>>2]=oe()|0;a[m>>0]=-56;a[m+1>>0]=-56;a[m+2>>0]=-56;a[m+3>>0]=-1;a[d+0>>0]=a[m+0>>0]|0;a[d+1>>0]=a[m+1>>0]|0;a[d+2>>0]=a[m+2>>0]|0;a[d+3>>0]=a[m+3>>0]|0;we(l,d,.6000000238418579);c[e+0>>2]=c[k+0>>2];c[e+4>>2]=c[k+4>>2];c[e+8>>2]=c[k+8>>2];c[e+12>>2]=c[k+12>>2];a[d+0>>0]=a[l+0>>0]|0;a[d+1>>0]=a[l+1>>0]|0;a[d+2>>0]=a[l+2>>0]|0;a[d+3>>0]=a[l+3>>0]|0;md(e,0,0,60,d);e=(ne()|0)/2|0;l=e-((Sf(1144,30)|0)/2|0)|0;a[n>>0]=-126;a[n+1>>0]=-126;a[n+2>>0]=-126;a[n+3>>0]=-1;a[d+0>>0]=a[n+0>>0]|0;a[d+1>>0]=a[n+1>>0]|0;a[d+2>>0]=a[n+2>>0]|0;a[d+3>>0]=a[n+3>>0]|0;Pf(1144,l,20,30,d);c[d>>2]=c[284];l=Rf(1160,d)|0;n=(ne()|0)/2|0;e=n-((Sf(1184,30)|0)/2|0)|0;n=(oe()|0)+ -40|0;a[o>>0]=-126;a[o+1>>0]=-126;a[o+2>>0]=-126;a[o+3>>0]=-1;a[d+0>>0]=a[o+0>>0]|0;a[d+1>>0]=a[o+1>>0]|0;a[d+2>>0]=a[o+2>>0]|0;a[d+3>>0]=a[o+3>>0]|0;Pf(l,e,n,30,d);i=b;return}}function Cd(){return}function Dd(){return c[268]|0}function Ed(){var a=0,b=0.0,d=0.0;a=i;c[302]=0;c[304]=0;b=+((ne()|0)/2|0|0);d=+((oe()|0)/2|0|0);g[306]=b;g[307]=d;i=a;return}function Fd(){var a=0,b=0,d=0,e=0,f=0,h=0.0,j=0.0,k=0,l=0.0,m=0,n=0.0,o=0.0;a=i;i=i+32|0;b=a+24|0;d=a;e=a+8|0;f=a+16|0;c[302]=(c[302]|0)+1;if(!(c[308]|0)){do if(!(ze(0)|0))if(!(c[308]|0)){h=+g[310]+-2.0;g[310]=h;j=+g[312];if(j>300.0){g[312]=j+-2.0;k=12}else l=h}else k=12;else{Be(e);h=+g[310];c[d+0>>2]=c[e+0>>2];c[d+4>>2]=c[e+4>>2];c[b+0>>2]=c[306];c[b+4>>2]=c[307];if(Kf(d,b,h)|0){h=+g[310]+2.0;g[310]=h;l=h;break}Be(f);h=+g[312];c[d+0>>2]=c[f+0>>2];c[d+4>>2]=c[f+4>>2];c[b+0>>2]=c[306];c[b+4>>2]=c[307];m=(Kf(d,b,h)|0)==0;h=+g[312];if(!m){g[312]=h+2.0;k=12;break}j=h+-2.0;g[312]=j;if(!(j<=260.0))k=12;else{g[312]=260.0;k=12}}while(0);if((k|0)==12)l=+g[310];if(!(l>=270.0))if(!(l<=40.0))n=l;else{g[310]=40.0;n=40.0}else{g[310]=270.0;n=270.0}l=+g[312];if(!(l>=600.0))o=l;else{g[312]=600.0;o=600.0}if(n>=o){c[308]=1;c[b+0>>2]=c[22];c[b+4>>2]=c[23];cg(b)}}b=c[314]|0;if(!((c[308]|0)==0|(b|0)!=0)){c[316]=(c[302]|0)/60|0;c[314]=1;c[302]=1;i=a;return}if(!b){i=a;return}b=c[302]|0;c[302]=b+1;if((b|0)<=89){i=a;return}if(!(ye(0)|0)){i=a;return}c[304]=1;i=a;return}function Gd(){var b=0,d=0,e=0,f=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0.0;b=i;i=i+80|0;d=b;e=b+24|0;f=b+60|0;h=b+56|0;j=b+8|0;k=b+64|0;l=b+48|0;m=b+40|0;n=b+52|0;o=b+44|0;p=+g[312];a[f>>0]=-126;a[f+1>>0]=-126;a[f+2>>0]=-126;a[f+3>>0]=-1;c[e+0>>2]=c[306];c[e+4>>2]=c[307];a[d+0>>0]=a[f+0>>0]|0;a[d+1>>0]=a[f+1>>0]|0;a[d+2>>0]=a[f+2>>0]|0;a[d+3>>0]=a[f+3>>0]|0;Df(e,p,d);p=+g[310];a[h>>0]=-11;a[h+1>>0]=-11;a[h+2>>0]=-11;a[h+3>>0]=-1;c[e+0>>2]=c[306];c[e+4>>2]=c[307];a[d+0>>0]=a[h+0>>0]|0;a[d+1>>0]=a[h+1>>0]|0;a[d+2>>0]=a[h+2>>0]|0;a[d+3>>0]=a[h+3>>0]|0;Df(e,p,d);if(!(c[314]|0)){h=(ne()|0)/2|0;f=h-((Sf(1272,30)|0)/2|0)|0;a[o>>0]=-56;a[o+1>>0]=-56;a[o+2>>0]=-56;a[o+3>>0]=-1;a[d+0>>0]=a[o+0>>0]|0;a[d+1>>0]=a[o+1>>0]|0;a[d+2>>0]=a[o+2>>0]|0;a[d+3>>0]=a[o+3>>0]|0;Pf(1272,f,20,30,d);i=b;return}else{c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=ne()|0;c[j+12>>2]=oe()|0;a[l>>0]=-56;a[l+1>>0]=-56;a[l+2>>0]=-56;a[l+3>>0]=-1;a[d+0>>0]=a[l+0>>0]|0;a[d+1>>0]=a[l+1>>0]|0;a[d+2>>0]=a[l+2>>0]|0;a[d+3>>0]=a[l+3>>0]|0;we(k,d,.6000000238418579);c[e+0>>2]=c[j+0>>2];c[e+4>>2]=c[j+4>>2];c[e+8>>2]=c[j+8>>2];c[e+12>>2]=c[j+12>>2];a[d+0>>0]=a[k+0>>0]|0;a[d+1>>0]=a[k+1>>0]|0;a[d+2>>0]=a[k+2>>0]|0;a[d+3>>0]=a[k+3>>0]|0;md(e,0,0,60,d);e=(ne()|0)/2|0;k=e-((Sf(1272,30)|0)/2|0)|0;a[m>>0]=-126;a[m+1>>0]=-126;a[m+2>>0]=-126;a[m+3>>0]=-1;a[d+0>>0]=a[m+0>>0]|0;a[d+1>>0]=a[m+1>>0]|0;a[d+2>>0]=a[m+2>>0]|0;a[d+3>>0]=a[m+3>>0]|0;Pf(1272,k,20,30,d);c[d>>2]=c[316];k=Rf(1288,d)|0;m=(ne()|0)/2|0;e=m-((Sf(1312,30)|0)/2|0)|0;m=(oe()|0)+ -40|0;a[n>>0]=-126;a[n+1>>0]=-126;a[n+2>>0]=-126;a[n+3>>0]=-1;a[d+0>>0]=a[n+0>>0]|0;a[d+1>>0]=a[n+1>>0]|0;a[d+2>>0]=a[n+2>>0]|0;a[d+3>>0]=a[n+3>>0]|0;Pf(k,e,m,30,d);i=b;return}}function Hd(){return}function Id(){return c[304]|0}function Jd(){var b=0,d=0.0,e=0.0;b=i;c[334]=0;c[336]=0;d=+((ne()|0)/2|0|0);e=+((oe()|0)/2|0|0);g[338]=d;g[339]=e;g[340]=760.0;g[341]=684.0;g[342]=608.0;g[343]=532.0;g[344]=456.0;g[345]=380.0;g[346]=304.0;g[347]=228.0;g[348]=152.0;g[349]=76.0;a[1436]=-126;a[1437]=-126;a[1438]=-126;a[1439]=-1;a[1432]=-11;a[1433]=-11;a[1434]=-11;a[1435]=-1;a[1428]=-11;a[1429]=-11;a[1430]=-11;a[1431]=-1;a[1424]=-126;a[1425]=-126;a[1426]=-126;a[1427]=-1;a[1420]=-11;a[1421]=-11;a[1422]=-11;a[1423]=-1;a[1416]=-126;a[1417]=-126;a[1418]=-126;a[1419]=-1;a[1412]=-126;a[1413]=-126;a[1414]=-126;a[1415]=-1;a[1408]=-126;a[1409]=-126;a[1410]=-126;a[1411]=-1;a[1404]=-11;a[1405]=-11;a[1406]=-11;a[1407]=-1;a[1400]=-126;a[1401]=-126;a[1402]=-126;a[1403]=-1;i=b;return}function Kd(){var b=0,d=0,e=0,f=0,h=0,j=0,k=0.0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;b=i;i=i+32|0;d=b+16|0;e=b;f=b+8|0;c[334]=(c[334]|0)+1;h=c[360]|0;do if(!h){a:do if(ye(0)|0){j=9;while(1){Be(f);k=+g[1360+(j<<2)>>2];c[e+0>>2]=c[f+0>>2];c[e+4>>2]=c[f+4>>2];c[d+0>>2]=c[338];c[d+4>>2]=c[339];if(Kf(e,d,k)|0)break;if((j|0)>0)j=j+ -1|0;else{l=0;break a}}if((j|0)==3)if((a[1424]|0)==-126&(a[1425]|0)==-126&(a[1426]|0)==-126&(a[1427]|0)==-1){a[1424]=-11;a[1425]=-11;a[1426]=-11;a[1427]=-1;i=b;return}else{a[1424]=-126;a[1425]=-126;a[1426]=-126;a[1427]=-1;i=b;return}else if((j|0)==2)if((a[1420]|0)==-126&(a[1421]|0)==-126&(a[1422]|0)==-126&(a[1423]|0)==-1){a[1420]=-11;a[1421]=-11;a[1422]=-11;a[1423]=-1;i=b;return}else{a[1420]=-126;a[1421]=-126;a[1422]=-126;a[1423]=-1;i=b;return}else if(!j)if((a[1432]|0)==-126&(a[1433]|0)==-126&(a[1434]|0)==-126&(a[1435]|0)==-1){a[1432]=-11;a[1433]=-11;a[1434]=-11;a[1435]=-1;i=b;return}else{a[1432]=-126;a[1433]=-126;a[1434]=-126;a[1435]=-1;i=b;return}else{m=1400+(j<<2)|0;n=1401+(j<<2)|0;if((((a[m>>0]|0)==-126?(a[n>>0]|0)==-126:0)?(o=1402+(j<<2)|0,(a[o>>0]|0)==-126):0)?(p=1403+(j<<2)|0,(a[p>>0]|0)==-1):0){a[m>>0]=-11;a[n>>0]=-11;a[o>>0]=-11;a[p>>0]=-1;i=b;return}a[m>>0]=-126;a[n>>0]=-126;a[1402+(j<<2)>>0]=-126;a[1403+(j<<2)>>0]=-1;i=b;return}}else l=0;while(0);while(1){if((((a[1400+(l<<2)>>0]|0)==-11?(a[1401+(l<<2)>>0]|0)==-11:0)?(a[1402+(l<<2)>>0]|0)==-11:0)?(a[1403+(l<<2)>>0]|0)==-1:0)break;l=l+1|0;if((l|0)>=10){q=27;break}}if((q|0)==27){c[360]=1;c[d+0>>2]=c[22];c[d+4>>2]=c[23];cg(d);r=c[360]|0;break}c[360]=0;i=b;return}else r=h;while(0);h=c[362]|0;if(!((r|0)==0|(h|0)!=0)){c[364]=(c[334]|0)/60|0;c[362]=1;c[334]=1;i=b;return}if(!h){i=b;return}h=c[334]|0;c[334]=h+1;if((h|0)<=89){i=b;return}if(!(ye(0)|0)){i=b;return}c[336]=1;i=b;return}function Ld(){var b=0,d=0,e=0,f=0,h=0,j=0,k=0,l=0,m=0,n=0.0,o=0,p=0;b=i;i=i+64|0;d=b;e=b+24|0;f=b+8|0;h=b+56|0;j=b+40|0;k=b+44|0;l=b+48|0;m=b+52|0;n=+g[340];c[e+0>>2]=c[338];c[e+4>>2]=c[339];a[d+0>>0]=a[1400]|0;a[d+1>>0]=a[1401]|0;a[d+2>>0]=a[1402]|0;a[d+3>>0]=a[1403]|0;Cf(e,64,n,0.0,d);n=+g[341];c[e+0>>2]=c[338];c[e+4>>2]=c[339];a[d+0>>0]=a[1404]|0;a[d+1>>0]=a[1405]|0;a[d+2>>0]=a[1406]|0;a[d+3>>0]=a[1407]|0;Cf(e,64,n,0.0,d);n=+g[342];c[e+0>>2]=c[338];c[e+4>>2]=c[339];a[d+0>>0]=a[1408]|0;a[d+1>>0]=a[1409]|0;a[d+2>>0]=a[1410]|0;a[d+3>>0]=a[1411]|0;Cf(e,64,n,0.0,d);n=+g[343];c[e+0>>2]=c[338];c[e+4>>2]=c[339];a[d+0>>0]=a[1412]|0;a[d+1>>0]=a[1413]|0;a[d+2>>0]=a[1414]|0;a[d+3>>0]=a[1415]|0;Cf(e,64,n,0.0,d);n=+g[344];c[e+0>>2]=c[338];c[e+4>>2]=c[339];a[d+0>>0]=a[1416]|0;a[d+1>>0]=a[1417]|0;a[d+2>>0]=a[1418]|0;a[d+3>>0]=a[1419]|0;Cf(e,64,n,0.0,d);n=+g[345];c[e+0>>2]=c[338];c[e+4>>2]=c[339];a[d+0>>0]=a[1420]|0;a[d+1>>0]=a[1421]|0;a[d+2>>0]=a[1422]|0;a[d+3>>0]=a[1423]|0;Cf(e,64,n,0.0,d);n=+g[346];c[e+0>>2]=c[338];c[e+4>>2]=c[339];a[d+0>>0]=a[1424]|0;a[d+1>>0]=a[1425]|0;a[d+2>>0]=a[1426]|0;a[d+3>>0]=a[1427]|0;Cf(e,64,n,0.0,d);n=+g[347];c[e+0>>2]=c[338];c[e+4>>2]=c[339];a[d+0>>0]=a[1428]|0;a[d+1>>0]=a[1429]|0;a[d+2>>0]=a[1430]|0;a[d+3>>0]=a[1431]|0;Cf(e,64,n,0.0,d);n=+g[348];c[e+0>>2]=c[338];c[e+4>>2]=c[339];a[d+0>>0]=a[1432]|0;a[d+1>>0]=a[1433]|0;a[d+2>>0]=a[1434]|0;a[d+3>>0]=a[1435]|0;Cf(e,64,n,0.0,d);n=+g[349];c[e+0>>2]=c[338];c[e+4>>2]=c[339];a[d+0>>0]=a[1436]|0;a[d+1>>0]=a[1437]|0;a[d+2>>0]=a[1438]|0;a[d+3>>0]=a[1439]|0;Cf(e,64,n,0.0,d);if(!(c[362]|0)){o=(ne()|0)/2|0;p=o-((Sf(1464,30)|0)/2|0)|0;a[m>>0]=-56;a[m+1>>0]=-56;a[m+2>>0]=-56;a[m+3>>0]=-1;a[d+0>>0]=a[m+0>>0]|0;a[d+1>>0]=a[m+1>>0]|0;a[d+2>>0]=a[m+2>>0]|0;a[d+3>>0]=a[m+3>>0]|0;Pf(1464,p,20,30,d);i=b;return}else{c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=ne()|0;c[f+12>>2]=oe()|0;a[j>>0]=-56;a[j+1>>0]=-56;a[j+2>>0]=-56;a[j+3>>0]=-1;a[d+0>>0]=a[j+0>>0]|0;a[d+1>>0]=a[j+1>>0]|0;a[d+2>>0]=a[j+2>>0]|0;a[d+3>>0]=a[j+3>>0]|0;we(h,d,.6000000238418579);c[e+0>>2]=c[f+0>>2];c[e+4>>2]=c[f+4>>2];c[e+8>>2]=c[f+8>>2];c[e+12>>2]=c[f+12>>2];a[d+0>>0]=a[h+0>>0]|0;a[d+1>>0]=a[h+1>>0]|0;a[d+2>>0]=a[h+2>>0]|0;a[d+3>>0]=a[h+3>>0]|0;md(e,0,0,60,d);e=(ne()|0)/2|0;h=e-((Sf(1464,30)|0)/2|0)|0;a[k>>0]=-126;a[k+1>>0]=-126;a[k+2>>0]=-126;a[k+3>>0]=-1;a[d+0>>0]=a[k+0>>0]|0;a[d+1>>0]=a[k+1>>0]|0;a[d+2>>0]=a[k+2>>0]|0;a[d+3>>0]=a[k+3>>0]|0;Pf(1464,h,20,30,d);c[d>>2]=c[364];h=Rf(1480,d)|0;k=(ne()|0)/2|0;e=k-((Sf(1504,30)|0)/2|0)|0;k=(oe()|0)+ -40|0;a[l>>0]=-126;a[l+1>>0]=-126;a[l+2>>0]=-126;a[l+3>>0]=-1;a[d+0>>0]=a[l+0>>0]|0;a[d+1>>0]=a[l+1>>0]|0;a[d+2>>0]=a[l+2>>0]|0;a[d+3>>0]=a[l+3>>0]|0;Pf(h,e,k,30,d);i=b;return}}function Md(){return}function Nd(){return c[336]|0}function Od(){var a=0,b=0,d=0;a=i;c[382]=0;c[384]=0;b=((ne()|0)/2|0)+ -100|0;d=oe()|0;c[386]=b;c[387]=0;c[388]=200;c[389]=d;c[390]=(ve(0,5)|0)*150;c[391]=90;c[392]=100;c[393]=100;c[406]=0;c[410]=ve(4,8)|0;c[394]=(ve(0,5)|0)*150;c[395]=240;c[396]=100;c[397]=100;c[407]=0;c[411]=ve(4,8)|0;c[398]=(ve(0,5)|0)*150;c[399]=390;c[400]=100;c[401]=100;c[408]=0;c[412]=ve(4,8)|0;c[402]=(ve(0,5)|0)*150;c[403]=540;c[404]=100;c[405]=100;c[409]=0;c[413]=ve(4,8)|0;i=a;return}function Pd(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;a=i;i=i+32|0;b=a+16|0;d=a;e=a+8|0;c[382]=(c[382]|0)+1;if(!(c[414]|0)){f=0;a:while(1){if(!(c[1624+(f<<2)>>2]|0)){g=1560+(f<<4)|0;h=(c[g>>2]|0)+(c[1640+(f<<2)>>2]|0)|0;c[g>>2]=h;g=1560+(f<<4)|0;j=g;k=g;l=h}else{h=1560+(f<<4)|0;j=h;k=h;l=c[h>>2]|0}if((l|0)>=(ne()|0))c[j>>2]=0-(c[1568+(f<<4)>>2]|0);Be(e);c[d+0>>2]=c[e+0>>2];c[d+4>>2]=c[e+4>>2];c[b+0>>2]=c[k+0>>2];c[b+4>>2]=c[k+4>>2];c[b+8>>2]=c[k+8>>2];c[b+12>>2]=c[k+12>>2];do if((Jf(d,b)|0)!=0?(c[416]=f,(ye(0)|0)!=0):0){if(!f)c[409]=(c[409]|0)==0&1;else if((f|0)==2)c[406]=(c[406]|0)==0&1;else if((f|0)==1)c[408]=(c[408]|0)==0&1;else if((f|0)==3){m=13;break a}else break;f=f+1|0;continue a}while(0);f=f+1|0;if((f|0)==4)break}if((m|0)==13)c[407]=(c[407]|0)==0&1;m=c[390]|0;f=c[386]|0;if((((((((m|0)>(f|0)?(d=(c[388]|0)+f|0,((c[392]|0)+m|0)<(d|0)):0)?(m=c[394]|0,(m|0)>(f|0)):0)?((c[396]|0)+m|0)<(d|0):0)?(m=c[398]|0,(m|0)>(f|0)):0)?((c[400]|0)+m|0)<(d|0):0)?(m=c[402]|0,(m|0)>(f|0)):0)?((c[404]|0)+m|0)<(d|0):0){c[414]=1;c[b+0>>2]=c[22];c[b+4>>2]=c[23];cg(b)}}b=c[418]|0;if(!((c[414]|0)==0|(b|0)!=0)){c[420]=(c[382]|0)/60|0;c[418]=1;c[382]=1;i=a;return}if(!b){i=a;return}b=c[382]|0;c[382]=b+1;if((b|0)<=89){i=a;return}if(!(ye(0)|0)){i=a;return}c[384]=1;i=a;return}function Qd(){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;b=i;i=i+80|0;d=b;e=b+24|0;f=b+72|0;g=b+68|0;h=b+64|0;j=b+60|0;k=b+8|0;l=b+56|0;m=b+44|0;n=b+40|0;o=b+48|0;p=b+52|0;a[f>>0]=-56;a[f+1>>0]=-56;a[f+2>>0]=-56;a[f+3>>0]=-1;c[e+0>>2]=c[386];c[e+4>>2]=c[387];c[e+8>>2]=c[388];c[e+12>>2]=c[389];a[d+0>>0]=a[f+0>>0]|0;a[d+1>>0]=a[f+1>>0]|0;a[d+2>>0]=a[f+2>>0]|0;a[d+3>>0]=a[f+3>>0]|0;Hf(e,d);f=g+1|0;q=g+2|0;r=g+3|0;a[g>>0]=-126;a[f>>0]=-126;a[q>>0]=-126;a[r>>0]=-1;c[e+0>>2]=c[390];c[e+4>>2]=c[391];c[e+8>>2]=c[392];c[e+12>>2]=c[393];a[d+0>>0]=a[g+0>>0]|0;a[d+1>>0]=a[g+1>>0]|0;a[d+2>>0]=a[g+2>>0]|0;a[d+3>>0]=a[g+3>>0]|0;Hf(e,d);a[g>>0]=-126;a[f>>0]=-126;a[q>>0]=-126;a[r>>0]=-1;c[e+0>>2]=c[394];c[e+4>>2]=c[395];c[e+8>>2]=c[396];c[e+12>>2]=c[397];a[d+0>>0]=a[g+0>>0]|0;a[d+1>>0]=a[g+1>>0]|0;a[d+2>>0]=a[g+2>>0]|0;a[d+3>>0]=a[g+3>>0]|0;Hf(e,d);a[g>>0]=-126;a[f>>0]=-126;a[q>>0]=-126;a[r>>0]=-1;c[e+0>>2]=c[398];c[e+4>>2]=c[399];c[e+8>>2]=c[400];c[e+12>>2]=c[401];a[d+0>>0]=a[g+0>>0]|0;a[d+1>>0]=a[g+1>>0]|0;a[d+2>>0]=a[g+2>>0]|0;a[d+3>>0]=a[g+3>>0]|0;Hf(e,d);a[g>>0]=-126;a[f>>0]=-126;a[q>>0]=-126;a[r>>0]=-1;c[e+0>>2]=c[402];c[e+4>>2]=c[403];c[e+8>>2]=c[404];c[e+12>>2]=c[405];a[d+0>>0]=a[g+0>>0]|0;a[d+1>>0]=a[g+1>>0]|0;a[d+2>>0]=a[g+2>>0]|0;a[d+3>>0]=a[g+3>>0]|0;Hf(e,d);g=c[416]|0;if((g>>>31^1)&(c[414]^1)){r=(c[1560+(g<<4)>>2]|0)+ -5|0;q=(c[1564+(g<<4)>>2]|0)+ -5|0;f=(c[1568+(g<<4)>>2]|0)+10|0;s=(c[1572+(g<<4)>>2]|0)+10|0;a[j>>0]=-56;a[j+1>>0]=-56;a[j+2>>0]=-56;a[j+3>>0]=-1;a[d+0>>0]=a[j+0>>0]|0;a[d+1>>0]=a[j+1>>0]|0;a[d+2>>0]=a[j+2>>0]|0;a[d+3>>0]=a[j+3>>0]|0;we(h,d,.800000011920929);a[d+0>>0]=a[h+0>>0]|0;a[d+1>>0]=a[h+1>>0]|0;a[d+2>>0]=a[h+2>>0]|0;a[d+3>>0]=a[h+3>>0]|0;If(r,q,f,s,d)}if(!(c[418]|0)){s=(ne()|0)/2|0;f=s-((Sf(1688,30)|0)/2|0)|0;a[p>>0]=-56;a[p+1>>0]=-56;a[p+2>>0]=-56;a[p+3>>0]=-1;a[d+0>>0]=a[p+0>>0]|0;a[d+1>>0]=a[p+1>>0]|0;a[d+2>>0]=a[p+2>>0]|0;a[d+3>>0]=a[p+3>>0]|0;Pf(1688,f,20,30,d);i=b;return}else{c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=ne()|0;c[k+12>>2]=oe()|0;a[m>>0]=-56;a[m+1>>0]=-56;a[m+2>>0]=-56;a[m+3>>0]=-1;a[d+0>>0]=a[m+0>>0]|0;a[d+1>>0]=a[m+1>>0]|0;a[d+2>>0]=a[m+2>>0]|0;a[d+3>>0]=a[m+3>>0]|0;we(l,d,.6000000238418579);c[e+0>>2]=c[k+0>>2];c[e+4>>2]=c[k+4>>2];c[e+8>>2]=c[k+8>>2];c[e+12>>2]=c[k+12>>2];a[d+0>>0]=a[l+0>>0]|0;a[d+1>>0]=a[l+1>>0]|0;a[d+2>>0]=a[l+2>>0]|0;a[d+3>>0]=a[l+3>>0]|0;md(e,0,0,60,d);e=(ne()|0)/2|0;l=e-((Sf(1688,30)|0)/2|0)|0;a[n>>0]=-126;a[n+1>>0]=-126;a[n+2>>0]=-126;a[n+3>>0]=-1;a[d+0>>0]=a[n+0>>0]|0;a[d+1>>0]=a[n+1>>0]|0;a[d+2>>0]=a[n+2>>0]|0;a[d+3>>0]=a[n+3>>0]|0;Pf(1688,l,20,30,d);c[d>>2]=c[420];l=Rf(1704,d)|0;n=(ne()|0)/2|0;e=n-((Sf(1728,30)|0)/2|0)|0;n=(oe()|0)+ -40|0;a[o>>0]=-126;a[o+1>>0]=-126;a[o+2>>0]=-126;a[o+3>>0]=-1;a[d+0>>0]=a[o+0>>0]|0;a[d+1>>0]=a[o+1>>0]|0;a[d+2>>0]=a[o+2>>0]|0;a[d+3>>0]=a[o+3>>0]|0;Pf(l,e,n,30,d);i=b;return}}function Rd(){return}function Sd(){return c[384]|0}function Td(){var b=0,d=0.0,e=0.0;b=i;c[438]=0;c[440]=0;d=+(((ne()|0)/2|0)+ -340|0);e=+(((oe()|0)/2|0)+ -100|0);g[442]=d;g[443]=e;e=+((ne()|0)/2|0|0);d=+(((oe()|0)/2|0)+ -100|0);g[444]=e;g[445]=d;d=+(((ne()|0)/2|0)+340|0);e=+(((oe()|0)/2|0)+ -100|0);g[446]=d;g[447]=e;e=+(((ne()|0)/2|0)+ -340|0);d=+(((oe()|0)/2|0)+120|0);g[448]=e;g[449]=d;d=+((ne()|0)/2|0|0);e=+(((oe()|0)/2|0)+120|0);g[450]=d;g[451]=e;e=+(((ne()|0)/2|0)+340|0);d=+(((oe()|0)/2|0)+120|0);g[452]=e;g[453]=d;c[454]=0;c[456]=1;c[458]=0;a[1840]=-126;a[1841]=-126;a[1842]=-126;a[1843]=-1;a[1848]=-126;a[1849]=-126;a[1850]=-126;a[1851]=-1;a[1856]=-126;a[1857]=-126;a[1858]=-126;a[1859]=-1;i=b;return}function Ud(){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;b=i;i=i+64|0;d=b+56|0;e=b;f=b+8|0;g=b+16|0;h=b+24|0;j=b+32|0;k=b+40|0;l=b+48|0;c[438]=(c[438]|0)+1;if(!(c[466]|0)){do if(ye(0)|0){Be(f);c[e+0>>2]=c[f+0>>2];c[e+4>>2]=c[f+4>>2];c[d+0>>2]=c[448];c[d+4>>2]=c[449];do if(!(Kf(e,d,80.0)|0)){Be(g);c[e+0>>2]=c[g+0>>2];c[e+4>>2]=c[g+4>>2];c[d+0>>2]=c[450];c[d+4>>2]=c[451];if(Kf(e,d,80.0)|0){c[456]=(c[456]|0)==0&1;m=9;break}Be(h);c[e+0>>2]=c[h+0>>2];c[e+4>>2]=c[h+4>>2];c[d+0>>2]=c[452];c[d+4>>2]=c[453];if(!(Kf(e,d,80.0)|0))m=9;else{n=(c[458]|0)==0&1;c[458]=n;o=n}}else{c[454]=(c[454]|0)==0&1;m=9}while(0);if((m|0)==9)o=c[458]|0;do if(o){Be(j);c[e+0>>2]=c[j+0>>2];c[e+4>>2]=c[j+4>>2];c[d+0>>2]=c[442];c[d+4>>2]=c[443];if(Kf(e,d,100.0)|0)if((a[1840]|0)==-126&(a[1841]|0)==-126&(a[1842]|0)==-126&(a[1843]|0)==-1){a[1840]=-56;a[1841]=-56;a[1842]=-56;a[1843]=-1;break}else{a[1840]=-126;a[1841]=-126;a[1842]=-126;a[1843]=-1;break}}while(0);do if(c[456]|0){Be(k);c[e+0>>2]=c[k+0>>2];c[e+4>>2]=c[k+4>>2];c[d+0>>2]=c[444];c[d+4>>2]=c[445];if(Kf(e,d,100.0)|0)if((a[1848]|0)==-126&(a[1849]|0)==-126&(a[1850]|0)==-126&(a[1851]|0)==-1){a[1848]=-56;a[1849]=-56;a[1850]=-56;a[1851]=-1;break}else{a[1848]=-126;a[1849]=-126;a[1850]=-126;a[1851]=-1;break}}while(0);if((c[458]|0)!=0&(c[454]|0)!=0){Be(l);c[e+0>>2]=c[l+0>>2];c[e+4>>2]=c[l+4>>2];c[d+0>>2]=c[446];c[d+4>>2]=c[447];if(Kf(e,d,100.0)|0)if((a[1856]|0)==-126&(a[1857]|0)==-126&(a[1858]|0)==-126&(a[1859]|0)==-1){a[1856]=-56;a[1857]=-56;a[1858]=-56;a[1859]=-1;break}else{a[1856]=-126;a[1857]=-126;a[1858]=-126;a[1859]=-1;break}}}while(0);if((a[1840]|0)==-56&(a[1841]|0)==-56&(a[1842]|0)==-56&(a[1843]|0)==-1?(a[1848]|0)==-56&(a[1849]|0)==-56&(a[1850]|0)==-56&(a[1851]|0)==-1:0){if((a[1856]|0)==-56&(a[1857]|0)==-56&(a[1858]|0)==-56)p=(a[1859]|0)!=-1;else p=1;if(!((c[454]|0)!=0|p|(c[456]|0)!=0|(c[458]|0)!=0)){c[466]=1;c[d+0>>2]=c[22];c[d+4>>2]=c[23];cg(d)}}}d=c[468]|0;if(!((c[466]|0)==0|(d|0)!=0)){c[470]=(c[438]|0)/60|0;c[468]=1;c[438]=1;i=b;return}if(!d){i=b;return}d=c[438]|0;c[438]=d+1;if((d|0)<=89){i=b;return}if(!(ye(0)|0)){i=b;return}c[440]=1;i=b;return}function Vd(){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;b=i;i=i+96|0;d=b;e=b+24|0;f=b+76|0;g=b+72|0;h=b+68|0;j=b+64|0;k=b+60|0;l=b+80|0;m=b+8|0;n=b+44|0;o=b+40|0;p=b+48|0;q=b+52|0;r=b+56|0;c[e+0>>2]=c[442];c[e+4>>2]=c[443];a[d+0>>0]=a[1840]|0;a[d+1>>0]=a[1841]|0;a[d+2>>0]=a[1842]|0;a[d+3>>0]=a[1843]|0;Df(e,100.0,d);c[e+0>>2]=c[444];c[e+4>>2]=c[445];a[d+0>>0]=a[1848]|0;a[d+1>>0]=a[1849]|0;a[d+2>>0]=a[1850]|0;a[d+3>>0]=a[1851]|0;Df(e,100.0,d);c[e+0>>2]=c[446];c[e+4>>2]=c[447];a[d+0>>0]=a[1856]|0;a[d+1>>0]=a[1857]|0;a[d+2>>0]=a[1858]|0;a[d+3>>0]=a[1859]|0;Df(e,100.0,d);if(!(c[454]|0)){a[g>>0]=-56;a[g+1>>0]=-56;a[g+2>>0]=-56;a[g+3>>0]=-1;c[e+0>>2]=c[448];c[e+4>>2]=c[449];a[d+0>>0]=a[g+0>>0]|0;a[d+1>>0]=a[g+1>>0]|0;a[d+2>>0]=a[g+2>>0]|0;a[d+3>>0]=a[g+3>>0]|0;Df(e,80.0,d)}else{a[f>>0]=-126;a[f+1>>0]=-126;a[f+2>>0]=-126;a[f+3>>0]=-1;c[e+0>>2]=c[448];c[e+4>>2]=c[449];a[d+0>>0]=a[f+0>>0]|0;a[d+1>>0]=a[f+1>>0]|0;a[d+2>>0]=a[f+2>>0]|0;a[d+3>>0]=a[f+3>>0]|0;Df(e,80.0,d)}if(!(c[456]|0)){a[j>>0]=-56;a[j+1>>0]=-56;a[j+2>>0]=-56;a[j+3>>0]=-1;c[e+0>>2]=c[450];c[e+4>>2]=c[451];a[d+0>>0]=a[j+0>>0]|0;a[d+1>>0]=a[j+1>>0]|0;a[d+2>>0]=a[j+2>>0]|0;a[d+3>>0]=a[j+3>>0]|0;Df(e,80.0,d)}else{a[h>>0]=-126;a[h+1>>0]=-126;a[h+2>>0]=-126;a[h+3>>0]=-1;c[e+0>>2]=c[450];c[e+4>>2]=c[451];a[d+0>>0]=a[h+0>>0]|0;a[d+1>>0]=a[h+1>>0]|0;a[d+2>>0]=a[h+2>>0]|0;a[d+3>>0]=a[h+3>>0]|0;Df(e,80.0,d)}if(!(c[458]|0)){a[l>>0]=-56;a[l+1>>0]=-56;a[l+2>>0]=-56;a[l+3>>0]=-1;c[e+0>>2]=c[452];c[e+4>>2]=c[453];a[d+0>>0]=a[l+0>>0]|0;a[d+1>>0]=a[l+1>>0]|0;a[d+2>>0]=a[l+2>>0]|0;a[d+3>>0]=a[l+3>>0]|0;Df(e,80.0,d)}else{a[k>>0]=-126;a[k+1>>0]=-126;a[k+2>>0]=-126;a[k+3>>0]=-1;c[e+0>>2]=c[452];c[e+4>>2]=c[453];a[d+0>>0]=a[k+0>>0]|0;a[d+1>>0]=a[k+1>>0]|0;a[d+2>>0]=a[k+2>>0]|0;a[d+3>>0]=a[k+3>>0]|0;Df(e,80.0,d)}if(!(c[468]|0)){k=(ne()|0)/2|0;l=k-((Sf(1888,30)|0)/2|0)|0;a[r>>0]=-56;a[r+1>>0]=-56;a[r+2>>0]=-56;a[r+3>>0]=-1;a[d+0>>0]=a[r+0>>0]|0;a[d+1>>0]=a[r+1>>0]|0;a[d+2>>0]=a[r+2>>0]|0;a[d+3>>0]=a[r+3>>0]|0;Pf(1888,l,20,30,d);i=b;return}else{c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=ne()|0;c[m+12>>2]=oe()|0;a[o>>0]=-56;a[o+1>>0]=-56;a[o+2>>0]=-56;a[o+3>>0]=-1;a[d+0>>0]=a[o+0>>0]|0;a[d+1>>0]=a[o+1>>0]|0;a[d+2>>0]=a[o+2>>0]|0;a[d+3>>0]=a[o+3>>0]|0;we(n,d,.6000000238418579);c[e+0>>2]=c[m+0>>2];c[e+4>>2]=c[m+4>>2];c[e+8>>2]=c[m+8>>2];c[e+12>>2]=c[m+12>>2];a[d+0>>0]=a[n+0>>0]|0;a[d+1>>0]=a[n+1>>0]|0;a[d+2>>0]=a[n+2>>0]|0;a[d+3>>0]=a[n+3>>0]|0;md(e,0,0,60,d);e=(ne()|0)/2|0;n=e-((Sf(1888,30)|0)/2|0)|0;a[p>>0]=-126;a[p+1>>0]=-126;a[p+2>>0]=-126;a[p+3>>0]=-1;a[d+0>>0]=a[p+0>>0]|0;a[d+1>>0]=a[p+1>>0]|0;a[d+2>>0]=a[p+2>>0]|0;a[d+3>>0]=a[p+3>>0]|0;Pf(1888,n,20,30,d);c[d>>2]=c[470];n=Rf(1904,d)|0;p=(ne()|0)/2|0;e=p-((Sf(1928,30)|0)/2|0)|0;p=(oe()|0)+ -40|0;a[q>>0]=-126;a[q+1>>0]=-126;a[q+2>>0]=-126;a[q+3>>0]=-1;a[d+0>>0]=a[q+0>>0]|0;a[d+1>>0]=a[q+1>>0]|0;a[d+2>>0]=a[q+2>>0]|0;a[d+3>>0]=a[q+3>>0]|0;Pf(n,e,p,30,d);i=b;return}}function Wd(){return}function Xd(){return c[440]|0}function Yd(){var a=0,b=0,d=0;a=i;c[488]=0;c[490]=0;b=((oe()|0)/2|0)+ -20|0;c[492]=20;c[493]=b;c[494]=40;c[495]=40;b=oe()|0;c[496]=240;c[497]=0;c[498]=100;c[499]=b;b=((ne()|0)/2|0)+ -50|0;d=oe()|0;c[500]=b;c[501]=0;c[502]=100;c[503]=d;d=oe()|0;c[504]=920;c[505]=0;c[506]=100;c[507]=d;c[508]=1;c[510]=0;c[512]=1;i=a;return}function Zd(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;a=i;i=i+64|0;b=a+40|0;d=a;e=a+16|0;f=a+24|0;g=a+32|0;c[488]=(c[488]|0)+1;if(!(c[514]|0)){h=c[516]|0;j=(c[492]|0)+h|0;c[492]=j;if((j|0)<1)c[516]=0-h;if(c[508]|0){c[d+0>>2]=c[496];c[d+4>>2]=c[497];c[d+8>>2]=c[498];c[d+12>>2]=c[499];c[b+0>>2]=c[492];c[b+4>>2]=c[493];c[b+8>>2]=c[494];c[b+12>>2]=c[495];if(Mf(d,b)|0)k=10;else k=6}else k=6;do if((k|0)==6){if(c[510]|0){c[d+0>>2]=c[500];c[d+4>>2]=c[501];c[d+8>>2]=c[502];c[d+12>>2]=c[503];c[b+0>>2]=c[492];c[b+4>>2]=c[493];c[b+8>>2]=c[494];c[b+12>>2]=c[495];if(Mf(d,b)|0){k=10;break}}if(c[512]|0){c[d+0>>2]=c[504];c[d+4>>2]=c[505];c[d+8>>2]=c[506];c[d+12>>2]=c[507];c[b+0>>2]=c[492];c[b+4>>2]=c[493];c[b+8>>2]=c[494];c[b+12>>2]=c[495];if(Mf(d,b)|0)k=10}}while(0);if((k|0)==10)c[516]=0-(c[516]|0);do if(ye(0)|0){Be(e);c[d+0>>2]=c[e+0>>2];c[d+4>>2]=c[e+4>>2];c[b+0>>2]=c[496];c[b+4>>2]=c[497];c[b+8>>2]=c[498];c[b+12>>2]=c[499];if(Jf(d,b)|0){c[510]=0;c[512]=1;break}Be(f);c[d+0>>2]=c[f+0>>2];c[d+4>>2]=c[f+4>>2];c[b+0>>2]=c[500];c[b+4>>2]=c[501];c[b+8>>2]=c[502];c[b+12>>2]=c[503];if(Jf(d,b)|0){c[512]=0;c[508]=1;break}Be(g);c[d+0>>2]=c[g+0>>2];c[d+4>>2]=c[g+4>>2];c[b+0>>2]=c[504];c[b+4>>2]=c[505];c[b+8>>2]=c[506];c[b+12>>2]=c[507];if(Jf(d,b)|0){c[508]=0;c[510]=1}}while(0);if((c[492]|0)>1099){c[514]=1;c[b+0>>2]=c[22];c[b+4>>2]=c[23];cg(b)}}b=c[518]|0;if(!((c[514]|0)==0|(b|0)!=0)){c[520]=(c[488]|0)/60|0;c[518]=1;c[488]=1;i=a;return}if(!b){i=a;return}b=c[488]|0;c[488]=b+1;if((b|0)<=89){i=a;return}if(!(ye(0)|0)){i=a;return}c[490]=1;i=a;return}function _d(){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;b=i;i=i+80|0;d=b;e=b+24|0;f=b+72|0;g=b+68|0;h=b+64|0;j=b+60|0;k=b+76|0;l=b+8|0;m=b+44|0;n=b+40|0;o=b+52|0;p=b+56|0;q=b+48|0;r=((oe()|0)/2|0)+ -20|0;a[f>>0]=-126;a[f+1>>0]=-126;a[f+2>>0]=-126;a[f+3>>0]=-1;a[d+0>>0]=a[f+0>>0]|0;a[d+1>>0]=a[f+1>>0]|0;a[d+2>>0]=a[f+2>>0]|0;a[d+3>>0]=a[f+3>>0]|0;Ff(1100,r,40,40,d);a[g>>0]=-56;a[g+1>>0]=-56;a[g+2>>0]=-56;a[g+3>>0]=-1;c[e+0>>2]=c[492];c[e+4>>2]=c[493];c[e+8>>2]=c[494];c[e+12>>2]=c[495];a[d+0>>0]=a[g+0>>0]|0;a[d+1>>0]=a[g+1>>0]|0;a[d+2>>0]=a[g+2>>0]|0;a[d+3>>0]=a[g+3>>0]|0;Hf(e,d);if(c[508]|0){a[h>>0]=-126;a[h+1>>0]=-126;a[h+2>>0]=-126;a[h+3>>0]=-1;c[e+0>>2]=c[496];c[e+4>>2]=c[497];c[e+8>>2]=c[498];c[e+12>>2]=c[499];a[d+0>>0]=a[h+0>>0]|0;a[d+1>>0]=a[h+1>>0]|0;a[d+2>>0]=a[h+2>>0]|0;a[d+3>>0]=a[h+3>>0]|0;Hf(e,d)}if(c[510]|0){a[j>>0]=-126;a[j+1>>0]=-126;a[j+2>>0]=-126;a[j+3>>0]=-1;c[e+0>>2]=c[500];c[e+4>>2]=c[501];c[e+8>>2]=c[502];c[e+12>>2]=c[503];a[d+0>>0]=a[j+0>>0]|0;a[d+1>>0]=a[j+1>>0]|0;a[d+2>>0]=a[j+2>>0]|0;a[d+3>>0]=a[j+3>>0]|0;Hf(e,d)}if(c[512]|0){a[k>>0]=-126;a[k+1>>0]=-126;a[k+2>>0]=-126;a[k+3>>0]=-1;c[e+0>>2]=c[504];c[e+4>>2]=c[505];c[e+8>>2]=c[506];c[e+12>>2]=c[507];a[d+0>>0]=a[k+0>>0]|0;a[d+1>>0]=a[k+1>>0]|0;a[d+2>>0]=a[k+2>>0]|0;a[d+3>>0]=a[k+3>>0]|0;Hf(e,d)}if(!(c[518]|0)){k=(ne()|0)/2|0;j=k-((Sf(2088,30)|0)/2|0)|0;a[q>>0]=-56;a[q+1>>0]=-56;a[q+2>>0]=-56;a[q+3>>0]=-1;a[d+0>>0]=a[q+0>>0]|0;a[d+1>>0]=a[q+1>>0]|0;a[d+2>>0]=a[q+2>>0]|0;a[d+3>>0]=a[q+3>>0]|0;Pf(2088,j,20,30,d);i=b;return}else{c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=ne()|0;c[l+12>>2]=oe()|0;a[n>>0]=-56;a[n+1>>0]=-56;a[n+2>>0]=-56;a[n+3>>0]=-1;a[d+0>>0]=a[n+0>>0]|0;a[d+1>>0]=a[n+1>>0]|0;a[d+2>>0]=a[n+2>>0]|0;a[d+3>>0]=a[n+3>>0]|0;we(m,d,.6000000238418579);c[e+0>>2]=c[l+0>>2];c[e+4>>2]=c[l+4>>2];c[e+8>>2]=c[l+8>>2];c[e+12>>2]=c[l+12>>2];a[d+0>>0]=a[m+0>>0]|0;a[d+1>>0]=a[m+1>>0]|0;a[d+2>>0]=a[m+2>>0]|0;a[d+3>>0]=a[m+3>>0]|0;md(e,0,0,60,d);e=(ne()|0)/2|0;m=e-((Sf(2088,30)|0)/2|0)|0;a[o>>0]=-126;a[o+1>>0]=-126;a[o+2>>0]=-126;a[o+3>>0]=-1;a[d+0>>0]=a[o+0>>0]|0;a[d+1>>0]=a[o+1>>0]|0;a[d+2>>0]=a[o+2>>0]|0;a[d+3>>0]=a[o+3>>0]|0;Pf(2088,m,20,30,d);c[d>>2]=c[520];m=Rf(2104,d)|0;o=(ne()|0)/2|0;e=o-((Sf(2128,30)|0)/2|0)|0;o=(oe()|0)+ -40|0;a[p>>0]=-126;a[p+1>>0]=-126;a[p+2>>0]=-126;a[p+3>>0]=-1;a[d+0>>0]=a[p+0>>0]|0;a[d+1>>0]=a[p+1>>0]|0;a[d+2>>0]=a[p+2>>0]|0;a[d+3>>0]=a[p+3>>0]|0;Pf(m,e,o,30,d);i=b;return}}function $d(){return}function ae(){return c[490]|0}function be(){var b=0,d=0,e=0;b=i;c[538]=0;c[540]=0;d=0;do{c[2168+(d<<4)>>2]=aa((d|0)%7|0,(ne()|0)/7|0)|0;c[2172+(d<<4)>>2]=aa((d|0)/7|0,(oe()|0)/3|0)|0;c[2176+(d<<4)>>2]=(ne()|0)/7|0;c[2180+(d<<4)>>2]=(oe()|0)/3|0;c[2504+(d<<2)>>2]=0;e=2592+(d<<2)|0;if(!(d&1)){a[e>>0]=-56;a[2593+(d<<2)>>0]=-56;a[2594+(d<<2)>>0]=-56;a[2595+(d<<2)>>0]=-1}else{a[e>>0]=-126;a[2593+(d<<2)>>0]=-126;a[2594+(d<<2)>>0]=-126;a[2595+(d<<2)>>0]=-1}d=d+1|0}while((d|0)!=21);a[2632]=-11;a[2633]=-11;a[2634]=-11;a[2635]=-1;i=b;return}function ce(){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;b=i;i=i+32|0;d=b+16|0;e=b;f=b+8|0;c[538]=(c[538]|0)+1;if(c[670]|0)c[672]=(c[672]|0)+1;g=c[674]|0;do if(!g){if(ye(0)|0){h=0;a:while(1){Be(f);j=2168+(h<<4)|0;c[e+0>>2]=c[f+0>>2];c[e+4>>2]=c[f+4>>2];c[d+0>>2]=c[j+0>>2];c[d+4>>2]=c[j+4>>2];c[d+8>>2]=c[j+8>>2];c[d+12>>2]=c[j+12>>2];do if(Jf(e,d)|0){if((h|0)==10)if((a[2632]|0)==-11&(a[2633]|0)==-11&(a[2634]|0)==-11&(a[2635]|0)==-1){a[2632]=-56;a[2633]=-56;a[2634]=-56;a[2635]=-1;c[670]=1;c[672]=0;c[627]=1;break}else{a[2632]=-11;a[2633]=-11;a[2634]=-11;a[2635]=-1;c[670]=0;c[672]=300;k=2504;l=k+84|0;do{c[k>>2]=0;k=k+4|0}while((k|0)<(l|0));break}if(((h|0)%2|0|0)==1&(c[670]|0)!=0?(c[2504+(h<<2)>>2]|0)!=0:0){a[2592+(h<<2)>>0]=-56;a[2593+(h<<2)>>0]=-56;a[2594+(h<<2)>>0]=-56;a[2595+(h<<2)>>0]=-1;if((h|0)==19){h=h+1|0;continue a}else{c[2504+(h+2<<2)>>2]=1;break}}}while(0);h=h+1|0;if((h|0)==21)break}}if((c[672]|0)>250){k=2504;l=k+84|0;do{c[k>>2]=0;k=k+4|0}while((k|0)<(l|0));h=0;do{j=2592+(h<<2)|0;if(!(h&1)){a[j>>0]=-56;a[2593+(h<<2)>>0]=-56;a[2594+(h<<2)>>0]=-56;a[2595+(h<<2)>>0]=-1}else{a[j>>0]=-126;a[2593+(h<<2)>>0]=-126;a[2594+(h<<2)>>0]=-126;a[2595+(h<<2)>>0]=-1}h=h+1|0}while((h|0)!=21);a[2632]=-11;a[2633]=-11;a[2634]=-11;a[2635]=-1;c[670]=0;c[672]=0;m=0}else m=0;while(1){if((a[2592+(m<<2)>>0]|0)!=-56)break;if((a[2593+(m<<2)>>0]|0)!=-56)break;if((a[2594+(m<<2)>>0]|0)!=-56)break;if((a[2595+(m<<2)>>0]|0)!=-1)break;m=m+1|0;if((m|0)>=21){n=29;break}}if((n|0)==29){c[674]=1;c[d+0>>2]=c[22];c[d+4>>2]=c[23];cg(d);o=c[674]|0;break}c[674]=0;i=b;return}else o=g;while(0);g=c[676]|0;if(!((o|0)==0|(g|0)!=0)){c[678]=(c[538]|0)/60|0;c[676]=1;c[538]=1;i=b;return}if(!g){i=b;return}g=c[538]|0;c[538]=g+1;if((g|0)<=89){i=b;return}if(!(ye(0)|0)){i=b;return}c[540]=1;i=b;return}function de(){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;b=i;i=i+64|0;d=b;e=b+24|0;f=b+8|0;g=b+56|0;h=b+40|0;j=b+44|0;k=b+48|0;l=b+52|0;m=0;do{n=2168+(m<<4)|0;o=2592+(m<<2)|0;c[e+0>>2]=c[n+0>>2];c[e+4>>2]=c[n+4>>2];c[e+8>>2]=c[n+8>>2];c[e+12>>2]=c[n+12>>2];a[d+0>>0]=a[o+0>>0]|0;a[d+1>>0]=a[o+1>>0]|0;a[d+2>>0]=a[o+2>>0]|0;a[d+3>>0]=a[o+3>>0]|0;Hf(e,d);m=m+1|0}while((m|0)!=21);if(!(c[676]|0)){m=(ne()|0)/2|0;o=m-((Sf(2720,30)|0)/2|0)|0;a[l>>0]=-56;a[l+1>>0]=-56;a[l+2>>0]=-56;a[l+3>>0]=-1;a[d+0>>0]=a[l+0>>0]|0;a[d+1>>0]=a[l+1>>0]|0;a[d+2>>0]=a[l+2>>0]|0;a[d+3>>0]=a[l+3>>0]|0;Pf(2720,o,20,30,d);i=b;return}else{c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=ne()|0;c[f+12>>2]=oe()|0;a[h>>0]=-11;a[h+1>>0]=-11;a[h+2>>0]=-11;a[h+3>>0]=-1;a[d+0>>0]=a[h+0>>0]|0;a[d+1>>0]=a[h+1>>0]|0;a[d+2>>0]=a[h+2>>0]|0;a[d+3>>0]=a[h+3>>0]|0;we(g,d,.6000000238418579);c[e+0>>2]=c[f+0>>2];c[e+4>>2]=c[f+4>>2];c[e+8>>2]=c[f+8>>2];c[e+12>>2]=c[f+12>>2];a[d+0>>0]=a[g+0>>0]|0;a[d+1>>0]=a[g+1>>0]|0;a[d+2>>0]=a[g+2>>0]|0;a[d+3>>0]=a[g+3>>0]|0;md(e,0,0,60,d);e=(ne()|0)/2|0;g=e-((Sf(2720,30)|0)/2|0)|0;a[j>>0]=-126;a[j+1>>0]=-126;a[j+2>>0]=-126;a[j+3>>0]=-1;a[d+0>>0]=a[j+0>>0]|0;a[d+1>>0]=a[j+1>>0]|0;a[d+2>>0]=a[j+2>>0]|0;a[d+3>>0]=a[j+3>>0]|0;Pf(2720,g,20,30,d);c[d>>2]=c[678];g=Rf(2736,d)|0;j=(ne()|0)/2|0;e=j-((Sf(2760,30)|0)/2|0)|0;j=(oe()|0)+ -40|0;a[k>>0]=-126;a[k+1>>0]=-126;a[k+2>>0]=-126;a[k+3>>0]=-1;a[d+0>>0]=a[k+0>>0]|0;a[d+1>>0]=a[k+1>>0]|0;a[d+2>>0]=a[k+2>>0]|0;a[d+3>>0]=a[k+3>>0]|0;Pf(g,e,j,30,d);i=b;return}}function ee(){return}function fe(){return c[540]|0}function ge(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=i;i=i+16|0;kg(0,2784,e);c[704]=d;he(a,b);ie();Nf();je();g[708]=+((c[706]|0)/2|0|0);g[709]=+((c[710]|0)/2|0|0);if(!(c[712]|0)){i=e;return}ke(60);le();i=e;return}function he(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+80|0;f=e;g=e+8|0;c[706]=b;c[710]=d;uf(g);d=2936|0;b=g+0|0;g=d+64|0;do{c[d>>2]=c[b>>2];d=d+4|0;b=b+4|0}while((d|0)<(g|0));tb(1)|0;if(!(Ma()|0))kg(1,4176,f);c[1052]=c[706];c[1054]=c[710];Ua();Dc(131075,0);if((ef()|0)==2){if(a[3072]&16){Dc(135181,4);kg(0,4224,f)}Dc(139266,3);Dc(139267,3);Dc(139272,204801);Dc(139270,0)}if(!(c[770]|0)){b=pa(c[706]|0,c[710]|0,c[704]|0,0,0)|0;c[714]=b;c[1040]=c[706];c[1042]=c[710];h=b}else{De(c[1052]|0,c[1054]|0);b=c[1040]|0;d=c[1042]|0;g=c[704]|0;j=pa(b|0,d|0,g|0,nc()|0,0)|0;c[714]=j;h=j}if(!h){vc();kg(1,4240,f)}else{kg(0,4280,f);h=c[1042]|0;c[f>>2]=c[1040];c[f+4>>2]=h;kg(0,4320,f);h=c[710]|0;c[f>>2]=c[706];c[f+4>>2]=h;kg(0,4344,f);h=c[1038]|0;c[f>>2]=c[1036];c[f+4>>2]=h;kg(0,4368,f)}La(c[714]|0,1)|0;Lc(c[714]|0,2)|0;Hc(c[714]|0,1)|0;Cb(c[714]|0,1)|0;Ob(c[714]|0,3)|0;Kc(c[714]|0,1)|0;Zb(c[714]|0,4)|0;bb(c[714]|0);if(!(a[3072]&32)){i=e;return}ac(1);kg(0,4400,f);i=e;return}function ie(){var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;ff();pf(c[1036]|0,c[1038]|0,c[1040]|0,c[1042]|0);a[e>>0]=-11;a[e+1>>0]=-11;a[e+2>>0]=-11;a[e+3>>0]=-1;a[d+0>>0]=a[e+0>>0]|0;a[d+1>>0]=a[e+1>>0]|0;a[d+2>>0]=a[e+2>>0]|0;a[d+3>>0]=a[e+3>>0]|0;pe(d);i=b;return}function je(){var a=0;a=i;ai(Ab(0)|0);h[365]=+re();i=a;return}function ke(a){a=a|0;var b=0,d=0,e=0.0;b=i;i=i+16|0;d=b;e=1.0/+(a|0);h[377]=e;h[k>>3]=e*1.0e3;c[d>>2]=c[k>>2];c[d+4>>2]=c[k+4>>2];kg(0,3024,d);i=b;return}function le(){c[712]=0;return}function me(){var a=0;a=i;i=i+16|0;Of();mf();Va(c[714]|0);vc();kg(0,2864,a);i=a;return}function ne(){return c[706]|0}function oe(){return c[710]|0}function pe(b){b=b|0;var c=0;c=i;cf(a[b>>0]|0,a[b+1>>0]|0,a[b+2>>0]|0,a[b+3>>0]|0);i=c;return}function qe(){var a=0,b=0,d=0.0,e=0,f=0,g=0;a=i;i=i+64|0;b=a;d=+re();h[364]=d;h[366]=d- +h[365];h[365]=d;df();Ne();e=b+0|0;f=2936|0;g=e+64|0;do{c[e>>2]=c[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(g|0));Re(sf(b)|0);i=a;return}function re(){var a=0,b=0.0;a=i;b=+lc();i=a;return+b}function se(){var a=0,b=0.0,c=0.0;a=i;nf();te();ue();jg();b=+re();h[364]=b;c=b- +h[365];h[375]=c;h[365]=b;b=+h[366]+c;h[376]=b;if(!(b<+h[377])){i=a;return}do{b=+re();h[364]=b;c=b- +h[365];h[365]=b;b=+h[376]+c;h[376]=b}while(b<+h[377]);i=a;return}function te(){var a=0;a=i;Xb(c[714]|0);i=a;return}function ue(){var b=0,d=0,e=0;b=i;i=i+16|0;d=b+8|0;e=b;zc(c[714]|0,d|0,e|0);g[708]=+h[d>>3];g[709]=+h[e>>3];c[1028]=-1;oi(3600,3088,512)|0;a[4128]=a[4120]|0;a[4129]=a[4121]|0;a[4130]=a[4122]|0;Gb();i=b;return}function ve(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;c=i;d=(a|0)>(b|0);e=d?b:a;f=bi()|0;g=(d?a:b)-e|0;i=c;return((f|0)%(((g|0)>-1?g:0-g|0)+1|0)|0)+e|0}function we(b,c,e){b=b|0;c=c|0;e=+e;var f=0,g=0.0;f=i;if(!(e<0.0))if(e>1.0)g=1.0;else g=e;else g=0.0;a[b>>0]=a[c>>0]|0;a[b+1>>0]=a[c+1>>0]|0;a[b+2>>0]=a[c+2>>0]|0;a[b+3>>0]=~~(g*+(d[c+3>>0]|0|0));i=f;return}function xe(b){b=b|0;var c=0;c=a[3088+b>>0]|0;return(c<<24>>24==1?c<<24>>24!=(a[3600+b>>0]|0):0)&1|0}function ye(b){b=b|0;var c=0;c=a[4120+b>>0]|0;return(c<<24>>24==1?c<<24>>24!=(a[4128+b>>0]|0):0)&1|0}function ze(a){a=a|0;var b=0,c=0;b=i;c=(Ae(a)|0)==1&1;i=b;return c|0}function Ae(a){a=a|0;var b=0,d=0;b=i;d=Ub(c[714]|0,a|0)|0;i=b;return d|0}function Be(a){a=a|0;var b=0,d=0,e=0;b=2832;d=c[b+4>>2]|0;e=a;c[e>>2]=c[b>>2];c[e+4>>2]=d;return}function Ce(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;kg(2,4648,e);i=d;return}function De(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0.0,k=0.0,l=0.0,m=0;d=i;i=i+80|0;e=d;f=d+16|0;g=c[706]|0;if((g|0)<=(a|0)?(h=c[710]|0,(h|0)<=(b|0)):0){if(!((g|0)<(a|0)|(h|0)<(b|0))){c[1040]=g;c[1042]=c[710];c[1036]=0;c[1038]=0;i=d;return}c[e>>2]=g;c[e+4>>2]=h;c[e+8>>2]=a;c[e+12>>2]=b;kg(0,4576,e);j=+(a|0)/+(b|0);h=c[706]|0;k=+(c[710]|0);if(!(j<=+(h|0)/k)){g=~~(j*k);c[1040]=g;c[1042]=c[710];c[1036]=g-(c[706]|0);c[1038]=0;i=d;return}else{c[1040]=h;h=~~(+(c[706]|0)/j);c[1042]=h;c[1036]=0;c[1038]=h-(c[710]|0);i=d;return}}h=c[710]|0;c[e>>2]=c[706];c[e+4>>2]=h;c[e+8>>2]=a;c[e+12>>2]=b;kg(2,4424,e);j=+(c[706]|0);k=+(a|0)/j;l=+(b|0)/+(c[710]|0);if(!(k<=l)){h=~~(j*l);c[1040]=h;c[1042]=b;c[1036]=a-h;m=0}else{c[1040]=a;h=~~(k*+(c[710]|0));c[1042]=h;c[1036]=0;m=b-h|0}c[1038]=m;k=+(c[1040]|0)/+(c[706]|0);Af(f,k,k,k);m=2936|0;h=f+0|0;f=m+64|0;do{c[m>>2]=c[h>>2];m=m+4|0;h=h+4|0}while((m|0)<(f|0));c[1040]=a;c[1042]=b;c[e>>2]=a;c[e+4>>2]=b;kg(2,4504,e);i=d;return}function Ee(b,d,e){b=b|0;d=d|0;e=e|0;e=i;i=i+16|0;d=e+4|0;b=e;pf(c[1036]|0,c[1038]|0,c[1040]|0,c[1042]|0);a[b>>0]=-11;a[b+1>>0]=-11;a[b+2>>0]=-11;a[b+3>>0]=-1;a[d+0>>0]=a[b+0>>0]|0;a[d+1>>0]=a[b+1>>0]|0;a[d+2>>0]=a[b+2>>0]|0;a[d+3>>0]=a[b+3>>0]|0;pe(d);i=e;return}function Fe(a,b){a=a|0;b=b|0;return}function Ge(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;g=i;e=(f|0)==1;if((c[726]|0)==(d|0)&e)vb(b|0,1);else a[3088+d>>0]=f;if(!((d|0)==259&e)){i=g;return}c[1028]=3;i=g;return}function He(b,c,d,e){b=b|0;c=c|0;d=d|0;e=e|0;a[4120+c>>0]=d;return}function Ie(a,b){a=a|0;b=b|0;c[1028]=b;return}function Je(a,b,d){a=a|0;b=+b;d=+d;c[1034]=~~d;return}function Ke(a,b){a=a|0;b=b|0;var d=0;a=i;if(!b){hg();d=0}else{gg();d=1}c[724]=d;i=a;return}function Le(a){a=a|0;var b=0;b=i;if((a|0)==1)c[1188]=4760;else if(!a)c[1188]=4688;c[1206]=a;i=b;return}function Me(){var a=0,b=0,d=0,e=0;a=i;i=i+16|0;b=a;if((c[1208]|0)==15){c[b>>2]=16;kg(1,4840,b)}b=4880+(c[1208]<<6)|0;d=(c[1188]|0)+0|0;e=b+64|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));Ne();c[1208]=(c[1208]|0)+1;if((c[1206]|0)!=1){i=a;return}c[1476]=1;i=a;return}function Ne(){var a=0,b=0,d=0,e=0;a=i;i=i+64|0;b=a;d=c[1188]|0;uf(b);e=d+0|0;d=b+0|0;b=e+64|0;do{c[e>>2]=c[d>>2];e=e+4|0;d=d+4|0}while((e|0)<(b|0));i=a;return}function Oe(){var a=0;a=i;if((c[1208]|0)<=0){i=a;return}pi(c[1188]|0,4880+((c[1208]|0)+ -1<<6)|0,64)|0;c[1208]=(c[1208]|0)+ -1;i=a;return}function Pe(a,b,d){a=+a;b=+b;d=+d;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;e=i;i=i+256|0;f=e+192|0;g=e;h=e+64|0;j=e+128|0;vf(h,a,b,d);tf(h);k=c[1188]|0;l=g+0|0;m=k+0|0;n=l+64|0;do{c[l>>2]=c[m>>2];l=l+4|0;m=m+4|0}while((l|0)<(n|0));l=f+0|0;m=h+0|0;n=l+64|0;do{c[l>>2]=c[m>>2];l=l+4|0;m=m+4|0}while((l|0)<(n|0));zf(j,g,f);l=k+0|0;m=j+0|0;n=l+64|0;do{c[l>>2]=c[m>>2];l=l+4|0;m=m+4|0}while((l|0)<(n|0));i=e;return}function Qe(a,b,d,e){a=+a;b=+b;d=+d;e=+e;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;f=i;i=i+448|0;g=f+384|0;h=f;j=f+64|0;k=f+128|0;l=f+192|0;m=f+256|0;n=f+320|0;uf(j);do if(!(b==1.0)){if(d==1.0){xf(l,a*.017453292519943295);o=j+0|0;p=l+0|0;q=o+64|0;do{c[o>>2]=c[p>>2];o=o+4|0;p=p+4|0}while((o|0)<(q|0));break}if(e==1.0){yf(m,a*.017453292519943295);o=j+0|0;p=m+0|0;q=o+64|0;do{c[o>>2]=c[p>>2];o=o+4|0;p=p+4|0}while((o|0)<(q|0))}}else{wf(k,a*.017453292519943295);o=j+0|0;p=k+0|0;q=o+64|0;do{c[o>>2]=c[p>>2];o=o+4|0;p=p+4|0}while((o|0)<(q|0))}while(0);tf(j);k=c[1188]|0;o=h+0|0;p=k+0|0;q=o+64|0;do{c[o>>2]=c[p>>2];o=o+4|0;p=p+4|0}while((o|0)<(q|0));o=g+0|0;p=j+0|0;q=o+64|0;do{c[o>>2]=c[p>>2];o=o+4|0;p=p+4|0}while((o|0)<(q|0));zf(n,h,g);o=k+0|0;p=n+0|0;q=o+64|0;do{c[o>>2]=c[p>>2];o=o+4|0;p=p+4|0}while((o|0)<(q|0));i=f;return}function Re(a){a=a|0;var b=0,d=0,e=0,f=0,h=0,j=0,k=0,l=0;b=i;i=i+256|0;d=b+192|0;e=b;f=b+64|0;h=b+128|0;g[f>>2]=+g[a>>2];g[f+4>>2]=+g[a+4>>2];g[f+8>>2]=+g[a+8>>2];g[f+12>>2]=+g[a+12>>2];g[f+16>>2]=+g[a+16>>2];g[f+20>>2]=+g[a+20>>2];g[f+24>>2]=+g[a+24>>2];g[f+28>>2]=+g[a+28>>2];g[f+32>>2]=+g[a+32>>2];g[f+36>>2]=+g[a+36>>2];g[f+40>>2]=+g[a+40>>2];g[f+44>>2]=+g[a+44>>2];g[f+48>>2]=+g[a+48>>2];g[f+52>>2]=+g[a+52>>2];g[f+56>>2]=+g[a+56>>2];g[f+60>>2]=+g[a+60>>2];a=c[1188]|0;j=e+0|0;k=a+0|0;l=j+64|0;do{c[j>>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));j=d+0|0;k=f+0|0;l=j+64|0;do{c[j>>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));zf(h,e,d);j=a+0|0;k=h+0|0;l=j+64|0;do{c[j>>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));i=b;return}function Se(a,b,d,e,f,g){a=+a;b=+b;d=+d;e=+e;f=+f;g=+g;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;h=i;i=i+256|0;j=h+192|0;k=h;l=h+64|0;m=h+128|0;Bf(l,a,b,d,e,f,g);tf(l);n=c[1188]|0;o=k+0|0;p=n+0|0;q=o+64|0;do{c[o>>2]=c[p>>2];o=o+4|0;p=p+4|0}while((o|0)<(q|0));o=j+0|0;p=l+0|0;q=o+64|0;do{c[o>>2]=c[p>>2];o=o+4|0;p=p+4|0}while((o|0)<(q|0));zf(m,k,j);o=n+0|0;p=m+0|0;q=o+64|0;do{c[o>>2]=c[p>>2];o=o+4|0;p=p+4|0}while((o|0)<(q|0));i=h;return}function Te(a){a=a|0;c[1478]=a;return}function Ue(){var b=0,d=0,e=0,f=0,h=0,j=0,k=0,l=0;b=i;i=i+64|0;d=b;if(c[1476]|0){if((c[1480]|0)>0){e=0;do{f=(c[1482]|0)+(e*12|0)|0;h=d+0|0;j=(c[1188]|0)+0|0;k=h+64|0;do{c[h>>2]=c[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(k|0));qf(f,d);e=e+1|0;l=c[1480]|0}while((e|0)<(l|0));c[1476]=0;if((l|0)>0){l=0;do{e=c[1482]|0;Ve(+g[e+(l*12|0)>>2],+g[e+(l*12|0)+4>>2],+g[e+(l*12|0)+8>>2]);l=l+1|0}while((l|0)<(c[1480]|0))}}else c[1476]=0;c[1480]=0}l=c[1478]|0;if((l|0)==1){e=c[1492]|0;d=c[1494]|0;if(!((e|0)!=(d|0)&(e-d|0)>0)){i=b;return}j=e-d|0;d=0;do{e=c[1494]<<2;h=c[1498]|0;a[h+e>>0]=a[h+(e+ -4)>>0]|0;e=c[1494]<<2;h=c[1498]|0;a[h+(e|1)>>0]=a[h+(e+ -3)>>0]|0;e=c[1494]<<2;h=c[1498]|0;a[h+(e|2)>>0]=a[h+(e+ -2)>>0]|0;e=c[1494]<<2;h=c[1498]|0;a[h+(e|3)>>0]=a[h+(e+ -1)>>0]|0;c[1494]=(c[1494]|0)+1;d=d+1|0}while((d|0)!=(j|0));i=b;return}else if(!l){j=c[1484]|0;d=c[1486]|0;if(!((j|0)!=(d|0)&(j-d|0)>0)){i=b;return}e=j-d|0;d=0;do{j=c[1486]<<2;h=c[1490]|0;a[h+j>>0]=a[h+(j+ -4)>>0]|0;j=c[1486]<<2;h=c[1490]|0;a[h+(j|1)>>0]=a[h+(j+ -3)>>0]|0;j=c[1486]<<2;h=c[1490]|0;a[h+(j|2)>>0]=a[h+(j+ -2)>>0]|0;j=c[1486]<<2;h=c[1490]|0;a[h+(j|3)>>0]=a[h+(j+ -1)>>0]|0;c[1486]=(c[1486]|0)+1;d=d+1|0}while((d|0)!=(e|0));i=b;return}else if((l|0)==2){l=c[1500]|0;e=c[1504]|0;if((l|0)!=(e|0)&(l-e|0)>0){d=l-e|0;e=0;do{l=c[1504]<<2;j=c[1510]|0;a[j+l>>0]=a[j+(l+ -4)>>0]|0;l=c[1504]<<2;j=c[1510]|0;a[j+(l|1)>>0]=a[j+(l+ -3)>>0]|0;l=c[1504]<<2;j=c[1510]|0;a[j+(l|2)>>0]=a[j+(l+ -2)>>0]|0;l=c[1504]<<2;j=c[1510]|0;a[j+(l|3)>>0]=a[j+(l+ -1)>>0]|0;c[1504]=(c[1504]|0)+1;e=e+1|0}while((e|0)!=(d|0))}d=c[1500]|0;e=c[1502]|0;if(!((d|0)!=(e|0)&(d-e|0)>0)){i=b;return}l=c[1508]|0;j=c[1502]|0;h=d+j|0;k=d-e|0;d=j;j=0;while(1){g[l+(d<<1<<2)>>2]=0.0;g[l+((d<<1|1)<<2)>>2]=0.0;j=j+1|0;if((j|0)==(k|0))break;else d=d+1|0}c[1502]=h-e;i=b;return}else{i=b;return}}function Ve(a,b,d){a=+a;b=+b;d=+d;var e=0,f=0,h=0,j=0;e=i;i=i+16|0;f=e;if(c[1476]|0){g[(c[1482]|0)+((c[1480]|0)*12|0)>>2]=a;g[(c[1482]|0)+((c[1480]|0)*12|0)+4>>2]=b;g[(c[1482]|0)+((c[1480]|0)*12|0)+8>>2]=d;c[1480]=(c[1480]|0)+1;i=e;return}h=c[1478]|0;if((h|0)==1){j=c[1492]|0;if((j|0)<6144){g[(c[1496]|0)+(j*3<<2)>>2]=a;g[(c[1496]|0)+(((c[1492]|0)*3|0)+1<<2)>>2]=b;g[(c[1496]|0)+(((c[1492]|0)*3|0)+2<<2)>>2]=d;c[1492]=(c[1492]|0)+1;i=e;return}else{kg(1,6088,f);i=e;return}}else if((h|0)==2){j=c[1500]|0;if((j|0)<4096){g[(c[1506]|0)+(j*3<<2)>>2]=a;g[(c[1506]|0)+(((c[1500]|0)*3|0)+1<<2)>>2]=b;g[(c[1506]|0)+(((c[1500]|0)*3|0)+2<<2)>>2]=d;c[1500]=(c[1500]|0)+1;j=(c[1532]|0)+((c[1530]|0)+ -1<<3)+4|0;c[j>>2]=(c[j>>2]|0)+1;i=e;return}else{kg(1,6136,f);i=e;return}}else if(!h){h=c[1484]|0;if((h|0)<2048){g[(c[1488]|0)+(h*3<<2)>>2]=a;g[(c[1488]|0)+(((c[1484]|0)*3|0)+1<<2)>>2]=b;g[(c[1488]|0)+(((c[1484]|0)*3|0)+2<<2)>>2]=d;c[1484]=(c[1484]|0)+1;i=e;return}else{kg(1,6056,f);i=e;return}}else{i=e;return}}function We(a,b){a=+a;b=+b;var c=0;c=i;Ve(a,b,0.0);i=c;return}function Xe(a,b){a=a|0;b=b|0;var c=0;c=i;Ve(+(a|0),+(b|0),0.0);i=c;return}function Ye(a,b){a=+a;b=+b;var d=0;d=i;if((c[1478]|0)!=2){i=d;return}g[(c[1508]|0)+(c[1502]<<1<<2)>>2]=a;g[(c[1508]|0)+((c[1502]<<1|1)<<2)>>2]=b;c[1502]=(c[1502]|0)+1;i=d;return}function Ze(a,b,c){a=+a;b=+b;c=+c;return}function _e(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=i;h=c[1478]|0;if(!h){a[(c[1490]|0)+(c[1486]<<2)>>0]=b;a[(c[1490]|0)+(c[1486]<<2|1)>>0]=d;a[(c[1490]|0)+(c[1486]<<2|2)>>0]=e;a[(c[1490]|0)+(c[1486]<<2|3)>>0]=f;c[1486]=(c[1486]|0)+1;i=g;return}else if((h|0)==1){a[(c[1498]|0)+(c[1494]<<2)>>0]=b;a[(c[1498]|0)+(c[1494]<<2|1)>>0]=d;a[(c[1498]|0)+(c[1494]<<2|2)>>0]=e;a[(c[1498]|0)+(c[1494]<<2|3)>>0]=f;c[1494]=(c[1494]|0)+1;i=g;return}else if((h|0)==2){a[(c[1510]|0)+(c[1504]<<2)>>0]=b;a[(c[1510]|0)+(c[1504]<<2|1)>>0]=d;a[(c[1510]|0)+(c[1504]<<2|2)>>0]=e;a[(c[1510]|0)+(c[1504]<<2|3)>>0]=f;c[1504]=(c[1504]|0)+1;i=g;return}else{i=g;return}}function $e(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;d=c[1530]|0;e=d+ -1|0;f=c[1532]|0;if((c[f+(e<<3)>>2]|0)==(a|0)){i=b;return}if((c[f+(e<<3)+4>>2]|0)>0)c[1530]=d+1;c[(c[1532]|0)+((c[1530]|0)+ -1<<3)>>2]=a;c[(c[1532]|0)+((c[1530]|0)+ -1<<3)+4>>2]=0;i=b;return}function af(){return}function bf(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;mb(1,d|0);i=b;return}function cf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=i;Mb(+(+(a&255)/255.0),+(+(b&255)/255.0),+(+(c&255)/255.0),+(+(d&255)/255.0));i=e;return}function df(){var a=0;a=i;sc(16640);i=a;return}function ef(){return 3}function ff(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;a=i;i=i+224|0;b=a;d=a+152|0;e=a+8|0;f=a+72|0;g=a+136|0;h=a+148|0;kg(2,6168,b);c[b>>2]=Eb(7936)|0;kg(0,6224,b);c[b>>2]=Eb(7937)|0;kg(0,6248,b);c[b>>2]=Eb(7938)|0;kg(0,6272,b);c[b>>2]=Eb(35724)|0;kg(0,6296,b);c[1478]=1;uf(d);j=4688|0;k=d+0|0;d=j+64|0;do{c[j>>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(d|0));uf(e);j=4760|0;k=e+0|0;d=j+64|0;do{c[j>>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(d|0));c[1188]=4760;uf(f);j=4880|0;k=f+0|0;d=j+64|0;do{c[j>>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(d|0));uf(f);j=4944|0;k=f+0|0;d=j+64|0;do{c[j>>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(d|0));uf(f);j=5008|0;k=f+0|0;d=j+64|0;do{c[j>>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(d|0));uf(f);j=5072|0;k=f+0|0;d=j+64|0;do{c[j>>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(d|0));uf(f);j=5136|0;k=f+0|0;d=j+64|0;do{c[j>>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(d|0));uf(f);j=5200|0;k=f+0|0;d=j+64|0;do{c[j>>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(d|0));uf(f);j=5264|0;k=f+0|0;d=j+64|0;do{c[j>>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(d|0));uf(f);j=5328|0;k=f+0|0;d=j+64|0;do{c[j>>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(d|0));uf(f);j=5392|0;k=f+0|0;d=j+64|0;do{c[j>>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(d|0));uf(f);j=5456|0;k=f+0|0;d=j+64|0;do{c[j>>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(d|0));uf(f);j=5520|0;k=f+0|0;d=j+64|0;do{c[j>>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(d|0));uf(f);j=5584|0;k=f+0|0;d=j+64|0;do{c[j>>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(d|0));uf(f);j=5648|0;k=f+0|0;d=j+64|0;do{c[j>>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(d|0));uf(f);j=5712|0;k=f+0|0;d=j+64|0;do{c[j>>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(d|0));uf(f);j=5776|0;k=f+0|0;d=j+64|0;do{c[j>>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(d|0));uf(f);j=5840|0;k=f+0|0;d=j+64|0;do{c[j>>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(d|0));c[1580]=gf()|0;c[1582]=hf()|0;c[1588]=Ea(c[1580]|0,6336)|0;c[1594]=Ea(c[1580]|0,6360)|0;c[1600]=Ea(c[1580]|0,6384)|0;c[1606]=qc(c[1580]|0,6408)|0;c[1614]=qc(c[1580]|0,6432)|0;c[1620]=qc(c[1580]|0,6464)|0;c[1622]=Ea(c[1582]|0,6336)|0;c[1624]=Ea(c[1582]|0,6360)|0;c[1630]=Ea(c[1580]|0,6504)|0;c[1632]=qc(c[1582]|0,6408)|0;c[1634]=qc(c[1582]|0,6432)|0;c[1636]=qc(c[1582]|0,6464)|0;c[1642]=qc(c[1582]|0,6552)|0;jf();kf();c[1482]=Vh(49152)|0;k=0;do{j=(c[1482]|0)+(k*12|0)|0;rf(g);c[j+0>>2]=c[g+0>>2];c[j+4>>2]=c[g+4>>2];c[j+8>>2]=c[g+8>>2];k=k+1|0}while((k|0)!=4096);c[h>>2]=-1;k=lf(h,1,1,0)|0;c[1644]=k;if(!k)kg(2,6640,b);else{c[b>>2]=k;kg(0,6584,b)}b=Vh(2048)|0;c[1532]=b;k=0;do{c[b+(k<<3)>>2]=0;c[b+(k<<3)+4>>2]=0;k=k+1|0}while((k|0)!=256);c[1530]=1;c[c[1532]>>2]=c[1644];i=a;return}function gf(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;a=i;i=i+912|0;b=a;d=a+368|0;e=a+24|0;f=a+8|0;g=a+12|0;h=a+16|0;j=a+4|0;oi(d|0,8376,536)|0;oi(e|0,8912,340)|0;k=Sb(35633)|0;l=Sb(35632)|0;c[f>>2]=d;c[g>>2]=e;Qa(k|0,1,f|0,0);Qa(l|0,1,g|0,0);c[h>>2]=0;$b(k|0);ta(k|0,35713,h|0);if((c[h>>2]|0)==1){c[b>>2]=k;kg(0,9320,b)}else{c[b>>2]=k;kg(2,9256,b)}$b(l|0);ta(l|0,35713,h|0);if((c[h>>2]|0)==1){c[b>>2]=l;kg(0,9448,b)}else{c[b>>2]=l;kg(2,9384,b)}g=ya()|0;xb(g|0,k|0);xb(g|0,l|0);oc(g|0);kc(g|0,35714,h|0);if(!(c[h>>2]|0)){kc(g|0,35716,j|0);h=c[j>>2]|0;f=xc()|0;e=i;i=i+((1*h|0)+15&-16)|0;_a(g|0,c[j>>2]|0,a+20|0,e|0);c[b>>2]=e;kg(0,8288,b);$a(f|0);ab(k|0);ab(l|0);i=a;return g|0}else{c[b>>2]=g;kg(0,9512,b);ab(k|0);ab(l|0);i=a;return g|0}return 0}function hf(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;a=i;i=i+832|0;b=a;d=a+368|0;e=a+24|0;f=a+8|0;g=a+12|0;h=a+16|0;j=a+4|0;oi(d|0,7232,464)|0;oi(e|0,7696,340)|0;k=Sb(35633)|0;l=Sb(35632)|0;c[f>>2]=d;c[g>>2]=e;Qa(k|0,1,f|0,0);Qa(l|0,1,g|0,0);c[h>>2]=0;$b(k|0);ta(k|0,35713,h|0);if((c[h>>2]|0)==1){c[b>>2]=k;kg(0,8096,b)}else{c[b>>2]=k;kg(2,8040,b)}$b(l|0);ta(l|0,35713,h|0);if((c[h>>2]|0)==1){c[b>>2]=l;kg(0,8224,b)}else{c[b>>2]=l;kg(2,8160,b)}g=ya()|0;xb(g|0,k|0);xb(g|0,l|0);oc(g|0);kc(g|0,35714,h|0);if(!(c[h>>2]|0)){kc(g|0,35716,j|0);h=c[j>>2]|0;f=xc()|0;e=i;i=i+((1*h|0)+15&-16)|0;_a(g|0,c[j>>2]|0,a+20|0,e|0);c[b>>2]=e;kg(0,8288,b);$a(f|0);ab(k|0);ab(l|0);i=a;return g|0}else{c[b>>2]=g;kg(0,8320,b);ab(k|0);ab(l|0);i=a;return g|0}return 0}function jf(){var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;d=i;i=i+16|0;e=d;c[1488]=Vh(24576)|0;c[1490]=Vh(8192)|0;qi(c[1488]|0,0,24576)|0;f=0;do{a[(c[1490]|0)+f>>0]=0;f=f+1|0}while((f|0)!=8192);c[1484]=0;c[1486]=0;c[1496]=Vh(73728)|0;c[1498]=Vh(24576)|0;qi(c[1496]|0,0,73728)|0;f=0;do{a[(c[1498]|0)+f>>0]=0;f=f+1|0}while((f|0)!=24576);c[1492]=0;c[1494]=0;c[1506]=Vh(49152)|0;c[1508]=Vh(32768)|0;c[1510]=Vh(16384)|0;c[1512]=Vh(12288)|0;qi(c[1506]|0,0,49152)|0;qi(c[1508]|0,0,32768)|0;f=0;do{a[(c[1510]|0)+f>>0]=0;f=f+1|0}while((f|0)!=16384);f=c[1512]|0;g=0;h=0;while(1){j=h<<2;k=j&65535;b[f+(g<<1)>>1]=k;b[f+((g|1)<<1)>>1]=j|1;l=(j|2)&65535;b[f+(g+2<<1)>>1]=l;b[f+(g+3<<1)>>1]=k;b[f+(g+4<<1)>>1]=l;b[f+(g+5<<1)>>1]=j|3;h=h+1|0;if((h|0)==1024)break;else g=g+6|0}c[1500]=0;c[1502]=0;c[1504]=0;kg(0,7168,e);i=d;return}function kf(){var a=0,b=0,d=0,e=0,f=0;a=i;i=i+16|0;b=a;Pa(2,6680);xa(34962,c[1670]|0);gc(34962,24576,c[1488]|0,35048);bc(c[1588]|0);Xa(c[1588]|0,3,5126,0,0,0);xa(34962,c[1671]|0);gc(34962,8192,c[1490]|0,35048);bc(c[1600]|0);Xa(c[1600]|0,4,5121,1,0,0);d=c[1671]|0;c[b>>2]=c[1670];c[b+4>>2]=d;kg(0,6952,b);Pa(2,6688);xa(34962,c[1672]|0);gc(34962,73728,c[1496]|0,35048);bc(c[1588]|0);Xa(c[1588]|0,3,5126,0,0,0);xa(34962,c[1673]|0);gc(34962,24576,c[1498]|0,35048);bc(c[1600]|0);Xa(c[1600]|0,4,5121,1,0,0);d=c[1673]|0;c[b>>2]=c[1672];c[b+4>>2]=d;kg(0,7016,b);Pa(4,6696);xa(34962,c[1674]|0);gc(34962,49152,c[1506]|0,35048);bc(c[1588]|0);Xa(c[1588]|0,3,5126,0,0,0);xa(34962,c[1675]|0);gc(34962,32768,c[1508]|0,35048);bc(c[1594]|0);Xa(c[1594]|0,2,5126,0,0,0);xa(34962,c[1676]|0);gc(34962,16384,c[1510]|0,35048);bc(c[1600]|0);Xa(c[1600]|0,4,5121,1,0,0);xa(34963,c[1677]|0);gc(34963,12288,c[1512]|0,35044);d=c[1675]|0;e=c[1676]|0;f=c[1677]|0;c[b>>2]=c[1674];c[b+4>>2]=d;c[b+8>>2]=e;c[b+12>>2]=f;kg(0,7080,b);i=a;return}function lf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;g=f;h=f+12|0;Nb(3553,0);rb(1,h|0);Nb(3553,c[h>>2]|0);Ic(3553,10242,10497);Ic(3553,10243,10497);if((b|0)>0?(b+ -1&b|0)==0&(d|0)>0:0)j=(d+ -1&d|0)!=0;else j=1;if(!((e|0)!=0&j))if(!e)k=8;else{Ic(3553,10240,9729);Ic(3553,10241,9987);hc(3553,0,6408,b|0,d|0,0,6408,5121,a|0);Wa(3553);c[g>>2]=c[h>>2];kg(0,6832,g)}else{c[g>>2]=c[h>>2];kg(2,6760,g);k=8}if((k|0)==8){Ic(3553,10240,9728);Ic(3553,10241,9728);hc(3553,0,6408,b|0,d|0,0,6408,5121,a|0)}Nb(3553,0);c[g>>2]=c[h>>2];c[g+4>>2]=b;c[g+8>>2]=d;kg(0,6896,g);i=f;return c[h>>2]|0}function mf(){var a=0;a=i;Fa(0);Fa(1);Fa(2);Fa(3);xa(34962,0);xa(34963,0);ma(0);fc(1,6680);fc(1,6684|0);fc(1,6688);fc(1,6692|0);fc(1,6696);fc(1,6700|0);fc(1,6704|0);fc(1,6708|0);wa(c[1580]|0);Wh(c[1488]|0);Wh(c[1490]|0);Wh(c[1496]|0);Wh(c[1498]|0);Wh(c[1506]|0);Wh(c[1508]|0);Wh(c[1510]|0);Wh(c[1512]|0);mb(1,6576);Wh(c[1532]|0);i=a;return}function nf(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;a=i;i=i+64|0;b=a;of();if((c[1484]|0)>0|(c[1492]|0)>0|(c[1500]|0)>0){ma(c[1580]|0);d=c[1614]|0;e=b+0|0;f=4688|0;g=e+64|0;do{c[e>>2]=c[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(g|0));sa(d|0,1,0,sf(b)|0);d=c[1606]|0;e=b+0|0;f=4760|0;g=e+64|0;do{c[e>>2]=c[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(g|0));sa(d|0,1,0,sf(b)|0);Pb(c[1620]|0,0)}if((c[1492]|0)>0){Nb(3553,c[1644]|0);xa(34962,c[1672]|0);Xa(c[1588]|0,3,5126,0,0,0);bc(c[1588]|0);xa(34962,c[1673]|0);Xa(c[1600]|0,4,5121,1,0,0);bc(c[1600]|0);Rb(4,0,c[1492]|0);xa(34962,0);Nb(3553,0)}if((c[1500]|0)>0){xa(34962,c[1674]|0);Xa(c[1588]|0,3,5126,0,0,0);bc(c[1588]|0);xa(34962,c[1675]|0);Xa(c[1594]|0,2,5126,0,0,0);bc(c[1594]|0);xa(34962,c[1676]|0);Xa(c[1600]|0,4,5121,1,0,0);bc(c[1600]|0);xa(34963,c[1677]|0);if((c[1530]|0)>0){b=0;d=0;do{f=c[1532]|0;e=((c[f+(b<<3)+4>>2]|0)/4|0)*6|0;Nb(3553,c[f+(b<<3)>>2]|0);cb(4,e|0,5123,d<<1|0);d=(((c[(c[1532]|0)+(b<<3)+4>>2]|0)/4|0)*6|0)+d|0;b=b+1|0}while((b|0)<(c[1530]|0))}xa(34962,0);xa(34963,0);Nb(3553,0)}if((c[1484]|0)<=0){c[1530]=1;h=c[1644]|0;j=c[1532]|0;c[j>>2]=h;k=c[1532]|0;l=k+4|0;c[l>>2]=0;c[1484]=0;c[1486]=0;c[1492]=0;c[1494]=0;c[1500]=0;c[1502]=0;c[1504]=0;i=a;return}Nb(3553,c[1644]|0);xa(34962,c[1670]|0);Xa(c[1588]|0,3,5126,0,0,0);bc(c[1588]|0);xa(34962,c[1671]|0);Xa(c[1600]|0,4,5121,1,0,0);bc(c[1600]|0);Rb(1,0,c[1484]|0);xa(34962,0);Nb(3553,0);c[1530]=1;h=c[1644]|0;j=c[1532]|0;c[j>>2]=h;k=c[1532]|0;l=k+4|0;c[l>>2]=0;c[1484]=0;c[1486]=0;c[1492]=0;c[1494]=0;c[1500]=0;c[1502]=0;c[1504]=0;i=a;return}function of(){var a=0;a=i;if((c[1484]|0)>0){xa(34962,c[1670]|0);eb(34962,0,(c[1484]|0)*12|0,c[1488]|0);xa(34962,c[1671]|0);eb(34962,0,c[1486]<<2|0,c[1490]|0)}if((c[1492]|0)>0){xa(34962,c[1672]|0);eb(34962,0,(c[1492]|0)*12|0,c[1496]|0);xa(34962,c[1673]|0);eb(34962,0,c[1494]<<2|0,c[1498]|0)}if((c[1500]|0)<=0){i=a;return}xa(34962,c[1674]|0);eb(34962,0,(c[1500]|0)*12|0,c[1506]|0);xa(34962,c[1675]|0);eb(34962,0,c[1500]<<3|0,c[1508]|0);xa(34962,c[1676]|0);eb(34962,0,c[1500]<<2|0,c[1510]|0);i=a;return}function pf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=c-a|0;c=d-b|0;hb((a|0)/2|0|0,(b|0)/2|0|0,f|0,c|0);sc(16640);Mb(0.0,0.0,0.0,1.0);qb(2929);nb(515);qb(3042);Da(770,771);Le(0);Ne();Se(0.0,+(f|0),+(c|0),0.0,0.0,1.0);Le(1);Ne();qb(2884);kg(0,6712,e);i=e;return}function qf(a,b){a=a|0;b=b|0;var c=0.0,d=0,e=0.0,f=0,h=0.0;c=+g[a>>2];d=a+4|0;e=+g[d>>2];f=a+8|0;h=+g[f>>2];g[a>>2]=+g[b+12>>2]+(c*+g[b>>2]+e*+g[b+4>>2]+h*+g[b+8>>2]);g[d>>2]=+g[b+28>>2]+(c*+g[b+16>>2]+e*+g[b+20>>2]+h*+g[b+24>>2]);g[f>>2]=+g[b+44>>2]+(c*+g[b+32>>2]+e*+g[b+36>>2]+h*+g[b+40>>2]);return}function rf(a){a=a|0;var b=0;b=i;c[a+0>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;i=b;return}function sf(a){a=a|0;g[2392]=+g[a>>2];g[2393]=+g[a+4>>2];g[2394]=+g[a+8>>2];g[2395]=+g[a+12>>2];g[2396]=+g[a+16>>2];g[2397]=+g[a+20>>2];g[2398]=+g[a+24>>2];g[2399]=+g[a+28>>2];g[2400]=+g[a+32>>2];g[2401]=+g[a+36>>2];g[2402]=+g[a+40>>2];g[2403]=+g[a+44>>2];g[2404]=+g[a+48>>2];g[2405]=+g[a+52>>2];g[2406]=+g[a+56>>2];g[2407]=+g[a+60>>2];return 9568}function tf(a){a=a|0;var b=0,c=0.0,d=0,e=0.0,f=0,h=0.0,i=0,j=0,k=0.0,l=0,m=0.0,n=0,o=0.0,p=0,q=0.0,r=0,s=0.0,t=0,u=0.0,v=0,w=0.0,x=0,y=0.0;b=a+4|0;c=+g[b>>2];d=a+8|0;e=+g[d>>2];f=a+12|0;h=+g[f>>2];i=a+16|0;j=a+24|0;k=+g[j>>2];l=a+28|0;m=+g[l>>2];n=a+32|0;o=+g[n>>2];p=a+36|0;q=+g[p>>2];r=a+44|0;s=+g[r>>2];t=a+48|0;u=+g[t>>2];v=a+52|0;w=+g[v>>2];x=a+56|0;y=+g[x>>2];g[b>>2]=+g[i>>2];g[d>>2]=o;g[f>>2]=u;g[i>>2]=c;g[j>>2]=q;g[l>>2]=w;g[n>>2]=e;g[p>>2]=k;g[r>>2]=y;g[t>>2]=h;g[v>>2]=m;g[x>>2]=s;return}function uf(a){a=a|0;var b=0,d=0,e=0,f=0,h=0;b=i;i=i+48|0;d=b+32|0;e=b;f=b+16|0;c[d+0>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[e+0>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[f+0>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;g[a>>2]=1.0;h=a+4|0;c[h+0>>2]=c[d+0>>2];c[h+4>>2]=c[d+4>>2];c[h+8>>2]=c[d+8>>2];c[h+12>>2]=c[d+12>>2];g[a+20>>2]=1.0;d=a+24|0;c[d+0>>2]=c[e+0>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];g[a+40>>2]=1.0;e=a+44|0;c[e+0>>2]=c[f+0>>2];c[e+4>>2]=c[f+4>>2];c[e+8>>2]=c[f+8>>2];c[e+12>>2]=c[f+12>>2];g[a+60>>2]=1.0;i=b;return}function vf(a,b,d,e){a=a|0;b=+b;d=+d;e=+e;var f=0,h=0,j=0;f=i;g[a>>2]=1.0;h=a+4|0;j=a+20|0;c[h+0>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;g[j>>2]=1.0;j=a+24|0;h=a+40|0;c[j+0>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;g[h>>2]=1.0;g[a+44>>2]=0.0;g[a+48>>2]=b;g[a+52>>2]=d;g[a+56>>2]=e;g[a+60>>2]=1.0;i=f;return}function wf(a,b){a=a|0;b=+b;var d=0,e=0,f=0.0,h=0.0,j=0;d=i;i=i+64|0;e=d;uf(e);f=b;b=+S(+f);h=+T(+f);g[e+20>>2]=b;g[e+36>>2]=-h;g[e+24>>2]=h;g[e+40>>2]=b;j=a+0|0;a=e+0|0;e=j+64|0;do{c[j>>2]=c[a>>2];j=j+4|0;a=a+4|0}while((j|0)<(e|0));i=d;return}function xf(a,b){a=a|0;b=+b;var d=0,e=0,f=0.0,h=0.0,j=0;d=i;i=i+64|0;e=d;uf(e);f=b;b=+S(+f);h=+T(+f);g[e>>2]=b;g[e+32>>2]=h;g[e+8>>2]=-h;g[e+40>>2]=b;j=a+0|0;a=e+0|0;e=j+64|0;do{c[j>>2]=c[a>>2];j=j+4|0;a=a+4|0}while((j|0)<(e|0));i=d;return}function yf(a,b){a=a|0;b=+b;var d=0,e=0,f=0.0,h=0.0,j=0;d=i;i=i+64|0;e=d;uf(e);f=b;b=+S(+f);h=+T(+f);g[e>>2]=b;g[e+16>>2]=-h;g[e+4>>2]=h;g[e+20>>2]=b;j=a+0|0;a=e+0|0;e=j+64|0;do{c[j>>2]=c[a>>2];j=j+4|0;a=a+4|0}while((j|0)<(e|0));i=d;return}function zf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0;d=+g[b>>2];e=+g[b+16>>2];f=+g[b+32>>2];h=+g[b+48>>2];i=+g[b+4>>2];j=+g[b+20>>2];k=+g[b+36>>2];l=+g[b+52>>2];m=+g[b+8>>2];n=+g[b+24>>2];o=+g[b+40>>2];p=+g[b+56>>2];q=+g[b+12>>2];r=+g[b+28>>2];s=+g[b+44>>2];t=+g[b+60>>2];u=+g[c>>2];v=+g[c+16>>2];w=+g[c+32>>2];x=+g[c+48>>2];y=+g[c+4>>2];z=+g[c+20>>2];A=+g[c+36>>2];B=+g[c+52>>2];C=+g[c+8>>2];D=+g[c+24>>2];E=+g[c+40>>2];F=+g[c+56>>2];G=+g[c+12>>2];H=+g[c+28>>2];I=+g[c+44>>2];J=+g[c+60>>2];g[a>>2]=d*u+i*v+m*w+q*x;g[a+4>>2]=d*y+i*z+m*A+q*B;g[a+8>>2]=d*C+i*D+m*E+q*F;g[a+12>>2]=d*G+i*H+m*I+q*J;g[a+16>>2]=e*u+j*v+n*w+r*x;g[a+20>>2]=e*y+j*z+n*A+r*B;g[a+24>>2]=e*C+j*D+n*E+r*F;g[a+28>>2]=e*G+j*H+n*I+r*J;g[a+32>>2]=f*u+k*v+o*w+s*x;g[a+36>>2]=f*y+k*z+o*A+s*B;g[a+40>>2]=f*C+k*D+o*E+s*F;g[a+44>>2]=f*G+k*H+o*I+s*J;g[a+48>>2]=h*u+l*v+p*w+t*x;g[a+52>>2]=h*y+l*z+p*A+t*B;g[a+56>>2]=h*C+l*D+p*E+t*F;g[a+60>>2]=h*G+l*H+p*I+t*J;return}function Af(a,b,d,e){a=a|0;b=+b;d=+d;e=+e;var f=0,h=0,j=0;f=i;g[a>>2]=b;h=a+4|0;j=a+20|0;c[h+0>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;g[j>>2]=d;j=a+24|0;h=a+40|0;c[j+0>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;g[h>>2]=e;h=a+44|0;j=a+60|0;c[h+0>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;g[j>>2]=1.0;i=f;return}function Bf(a,b,c,d,e,f,h){a=a|0;b=+b;c=+c;d=+d;e=+e;f=+f;h=+h;var i=0.0,j=0.0,k=0.0;i=c-b;j=e-d;k=h-f;g[a>>2]=2.0/i;g[a+4>>2]=0.0;g[a+8>>2]=0.0;g[a+12>>2]=-(b+c)/i;g[a+16>>2]=0.0;g[a+20>>2]=2.0/j;g[a+24>>2]=0.0;g[a+28>>2]=-(d+e)/j;g[a+32>>2]=0.0;g[a+36>>2]=0.0;g[a+40>>2]=-2.0/k;g[a+44>>2]=-(f+h)/k;g[a+48>>2]=0.0;g[a+52>>2]=0.0;g[a+56>>2]=0.0;g[a+60>>2]=1.0;return}function Cf(b,c,d,e,f){b=b|0;c=c|0;d=+d;e=+e;f=f|0;var h=0,j=0,k=0,l=0;h=i;Me();Pe(+g[b>>2],+g[b+4>>2],0.0);Qe(e,0.0,0.0,1.0);Te(1);b=a[f>>0]|0;j=a[f+1>>0]|0;k=a[f+2>>0]|0;l=a[f+3>>0]|0;e=d;f=360/(((c|0)<3?3:c)|0)|0;c=0;do{_e(b,j,k,l);Xe(0,0);d=+(c|0)*.017453292519943295;We(e*+T(+d),e*+S(+d));c=f+c|0;d=+(c|0)*.017453292519943295;We(e*+T(+d),e*+S(+d))}while((c|0)<360);Ue();Oe();i=h;return}function Df(b,c,d){b=b|0;c=+c;d=d|0;var e=0,f=0,h=0,j=0,k=0,l=0.0,m=0,n=0.0,o=0,p=0.0,q=0.0,r=0.0;e=i;Te(1);f=a[d>>0]|0;h=a[d+1>>0]|0;j=a[d+2>>0]|0;k=a[d+3>>0]|0;l=+g[b>>2];d=~~l;m=b+4|0;n=+g[m>>2];o=~~n;p=l;l=c;c=n;n=+g[b>>2];q=+g[m>>2];m=0;do{_e(f,h,j,k);Xe(d,o);r=+(m|0)*.017453292519943295;We(p+l*+T(+r),c+l*+S(+r));m=m+2|0;r=+(m|0)*.017453292519943295;We(n+l*+T(+r),q+l*+S(+r))}while((m|0)<360);Ue();i=e;return}function Ef(b,c,d,e){b=b|0;c=c|0;d=+d;e=e|0;var f=0,g=0.0,h=0.0,j=0.0;f=i;Te(0);_e(a[e>>0]|0,a[e+1>>0]|0,a[e+2>>0]|0,a[e+3>>0]|0);g=+(b|0);h=d;d=+(c|0);c=0;do{j=+(c|0)*.017453292519943295;We(g+h*+T(+j),d+h*+S(+j));c=c+1|0;j=+(c|0)*.017453292519943295;We(g+h*+T(+j),d+h*+S(+j))}while((c|0)!=360);Ue();i=f;return}function Ff(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0;j=i;i=i+48|0;k=j+32|0;l=j;m=j+8|0;n=j+16|0;o=j+24|0;g[n>>2]=+(b|0);g[n+4>>2]=+(d|0);g[o>>2]=+(e|0);g[o+4>>2]=+(f|0);c[m+0>>2]=c[n+0>>2];c[m+4>>2]=c[n+4>>2];c[l+0>>2]=c[o+0>>2];c[l+4>>2]=c[o+4>>2];a[k+0>>0]=a[h+0>>0]|0;a[k+1>>0]=a[h+1>>0]|0;a[k+2>>0]=a[h+2>>0]|0;a[k+3>>0]=a[h+3>>0]|0;Gf(m,l,k);i=j;return}function Gf(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,h=0,j=0;f=i;if((ef()|0)==1){Te(1);_e(a[e>>0]|0,a[e+1>>0]|0,a[e+2>>0]|0,a[e+3>>0]|0);h=b+4|0;Xe(~~+g[b>>2],~~+g[h>>2]);j=d+4|0;Xe(~~+g[b>>2],~~(+g[h>>2]+ +g[j>>2]));Xe(~~(+g[b>>2]+ +g[d>>2]),~~(+g[h>>2]+ +g[j>>2]));Xe(~~+g[b>>2],~~+g[h>>2]);Xe(~~(+g[b>>2]+ +g[d>>2]),~~(+g[h>>2]+ +g[j>>2]));Xe(~~(+g[b>>2]+ +g[d>>2]),~~+g[h>>2]);Ue();i=f;return}if((ef()|0)!=2?(ef()|0)!=3:0){i=f;return}$e(c[1644]|0);Te(2);_e(a[e>>0]|0,a[e+1>>0]|0,a[e+2>>0]|0,a[e+3>>0]|0);Ye(0.0,0.0);e=b+4|0;We(+g[b>>2],+g[e>>2]);Ye(0.0,1.0);h=d+4|0;We(+g[b>>2],+g[e>>2]+ +g[h>>2]);Ye(1.0,1.0);We(+g[b>>2]+ +g[d>>2],+g[e>>2]+ +g[h>>2]);Ye(1.0,0.0);We(+g[b>>2]+ +g[d>>2],+g[e>>2]);Ue();i=f;return}function Hf(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;e=i;i=i+16|0;f=e;g=c[b>>2]|0;h=c[b+4>>2]|0;j=c[b+8>>2]|0;k=c[b+12>>2]|0;a[f+0>>0]=a[d+0>>0]|0;a[f+1>>0]=a[d+1>>0]|0;a[f+2>>0]=a[d+2>>0]|0;a[f+3>>0]=a[d+3>>0]|0;Ff(g,h,j,k,f);i=e;return}function If(b,c,d,e,f){b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0;g=i;Te(0);_e(a[f>>0]|0,a[f+1>>0]|0,a[f+2>>0]|0,a[f+3>>0]|0);f=b+1|0;h=c+1|0;Xe(f,h);j=d+b|0;Xe(j,h);Xe(j,h);b=e+c|0;Xe(j,b);Xe(j,b);Xe(f,b);Xe(f,b);Xe(f,h);Ue();i=g;return}function Jf(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0,h=0;d=i;e=+g[a>>2];f=c[b>>2]|0;if(((e>=+(f|0)?e<=+((c[b+8>>2]|0)+f|0):0)?(e=+g[a+4>>2],a=c[b+4>>2]|0,e>=+(a|0)):0)?e<=+((c[b+12>>2]|0)+a|0):0)h=1;else h=0;i=d;return h|0}function Kf(a,b,d){a=a|0;b=b|0;d=+d;var e=0,f=0,g=0;e=i;i=i+16|0;f=e+8|0;g=e;c[g+0>>2]=c[a+0>>2];c[g+4>>2]=c[a+4>>2];c[f+0>>2]=c[b+0>>2];c[f+4>>2]=c[b+4>>2];b=Lf(g,0.0,f,d)|0;i=e;return b|0}function Lf(a,b,c,d){a=a|0;b=+b;c=c|0;d=+d;var e=0.0,f=0.0;e=+g[c>>2]- +g[a>>2];f=+g[c+4>>2]- +g[a+4>>2];a=+Q(+(e*e+f*f))<=b+d&1;return a|0}function Mf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;d=i;e=(c[a+8>>2]|0)/2|0;f=(c[b+8>>2]|0)/2|0;g=e+(c[a>>2]|0)-(c[b>>2]|0)-f|0;h=(c[a+12>>2]|0)/2|0;j=(c[b+12>>2]|0)/2|0;k=h+(c[a+4>>2]|0)-(c[b+4>>2]|0)-j|0;if((((g|0)>-1?g:0-g|0)|0)>(f+e|0)){i=d;return 0}else{i=d;return(((k|0)>-1?k:0-k|0)|0)<=(j+h|0)|0}return 0}function Nf(){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;b=i;i=i+48|0;d=b;e=b+24|0;f=b+12|0;c[2411]=96;g=e+4|0;c[g>>2]=128;h=e+8|0;c[h>>2]=64;c[e>>2]=Vh(c[g>>2]<<8)|0;if((aa(c[h>>2]|0,c[g>>2]|0)|0)>0){j=0;do{k=(c[e>>2]|0)+(j<<2)|0;j=j+1|0;a[k>>0]=0;a[k+1>>0]=0;a[k+2>>0]=0;a[k+3>>0]=0}while((j|0)<(aa(c[h>>2]|0,c[g>>2]|0)|0))}if((aa(c[h>>2]|0,c[g>>2]|0)|0)>0){j=0;k=0;while(1){l=c[9656+(j<<2)>>2]|0;m=31;while(1){if(l&1<>2]|0)+(m+k<<2)|0;a[n>>0]=-1;a[n+1>>0]=-1>>8;a[n+2>>0]=-1>>16;a[n+3>>0]=-1>>24}if((m|0)>0)m=m+ -1|0;else break}k=k+32|0;if((k|0)>=(aa(c[h>>2]|0,c[g>>2]|0)|0))break;else j=(j|0)>255?0:j+1|0}}c[d+0>>2]=c[e+0>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];Uf(f,d,0);c[2408]=c[f+0>>2];c[2409]=c[f+4>>2];c[2410]=c[f+8>>2];c[d+0>>2]=c[e+0>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];Vf(d);c[2412]=Vh((c[2411]|0)*20|0)|0;if((c[2411]|0)<=0){o=c[2408]|0;c[d>>2]=o;kg(0,11064,d);i=b;return}e=c[2412]|0;f=0;j=1;g=0;while(1){c[e+(g*20|0)>>2]=g+32;c[e+(g*20|0)+4>>2]=j;c[e+(g*20|0)+8>>2]=(f*11|0)+1;h=10680+(g<<2)|0;c[e+(g*20|0)+12>>2]=c[h>>2];c[e+(g*20|0)+16>>2]=10;k=j+1+(c[e+(g*20|0)+12>>2]|0)|0;if((k|0)<(c[2409]|0)){p=f;q=k}else{k=f+1|0;m=(c[h>>2]|0)+2|0;c[e+(g*20|0)+4>>2]=1;c[e+(g*20|0)+8>>2]=(k*11|0)+1;p=k;q=m}g=g+1|0;if((g|0)>=(c[2411]|0))break;else{f=p;j=q}}o=c[2408]|0;c[d>>2]=o;kg(0,11064,d);i=b;return}function Of(){var a=0;a=i;bf(c[2408]|0);Wh(c[2412]|0);i=a;return}function Pf(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var j=0,k=0,l=0,m=0,n=0;j=i;i=i+48|0;k=j+40|0;l=j;m=j+8|0;n=j+32|0;g[n>>2]=+(d|0);g[n+4>>2]=+(e|0);e=(f|0)<10?10:f;f=(e|0)/10|0;c[m+0>>2]=c[2408];c[m+4>>2]=c[2409];c[m+8>>2]=c[2410];c[m+12>>2]=c[2411];c[m+16>>2]=c[2412];c[l+0>>2]=c[n+0>>2];c[l+4>>2]=c[n+4>>2];a[k+0>>0]=a[h+0>>0]|0;a[k+1>>0]=a[h+1>>0]|0;a[k+2>>0]=a[h+2>>0]|0;a[k+3>>0]=a[h+3>>0]|0;Qf(m,b,l,e,f,k);i=j;return}function Qf(b,d,e,f,h,j){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;var k=0,l=0,m=0.0,n=0,o=0,p=0.0,q=0,r=0,s=0,t=0.0,u=0,v=0.0,w=0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0,I=0.0,J=0.0,K=0.0,L=0.0;k=i;l=vi(d|0)|0;m=+g[e>>2];n=b+16|0;o=c[(c[n>>2]|0)+16>>2]|0;if((o|0)<(f|0))p=+(f|0)/+(o|0);else p=1.0;$e(c[b>>2]|0);Te(2);if((l|0)<=0){Ue();i=k;return}o=c[n>>2]|0;f=a[j>>0]|0;q=a[j+1>>0]|0;r=a[j+2>>0]|0;s=a[j+3>>0]|0;j=b+4|0;t=+(c[j>>2]|0);u=b+8|0;b=c[u>>2]|0;v=+(b|0);w=e+4|0;x=+g[w>>2];e=c[j>>2]|0;y=+(e|0);z=+(b|0);A=+(e|0);e=c[u>>2]|0;B=+(e|0);C=+g[w>>2];D=+(c[j>>2]|0);E=+(e|0);e=c[n>>2]|0;F=+(h|0);h=0;G=m;while(1){n=d+h|0;j=(a[n>>0]|0)+ -32|0;w=c[o+(j*20|0)+4>>2]|0;u=c[o+(j*20|0)+8>>2]|0;b=c[o+(j*20|0)+12>>2]|0;H=c[o+(j*20|0)+16>>2]|0;_e(f,q,r,s);m=+(w|0);I=+(u|0);Ye(m/t,I/v);J=+(~~G|0);We(J,x);K=+(H+u|0);Ye(m/y,K/z);m=p*+(H|0);We(J,m+x);L=+(b+w|0);Ye(L/A,K/B);K=J+p*+(b|0);We(K,m+C);Ye(L/D,I/E);We(K,C);h=h+1|0;if((h|0)==(l|0))break;else G=J+(F+p*+(c[e+(((a[n>>0]|0)+ -32|0)*20|0)+12>>2]|0))}Ue();i=k;return}function Rf(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=b;ii(11112,a,e)|0;i=d;return 11112}function Sf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0;d=i;i=i+32|0;e=d+8|0;f=d;h=(b|0)<10?10:b;b=(h|0)/10|0;c[e+0>>2]=c[2408];c[e+4>>2]=c[2409];c[e+8>>2]=c[2410];c[e+12>>2]=c[2411];c[e+16>>2]=c[2412];Tf(f,e,a,h,b);i=d;return~~+g[f>>2]|0}function Tf(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0.0,p=0.0,q=0.0;j=i;k=vi(e|0)|0;if((k|0)>0){l=c[d+16>>2]|0;m=0;n=0;do{n=(c[l+(((a[e+m>>0]|0)+ -32|0)*20|0)+12>>2]|0)+n|0;m=m+1|0}while((m|0)!=(k|0));o=+(n|0)}else o=0.0;n=d+16|0;d=c[(c[n>>2]|0)+16>>2]|0;if((d|0)<(f|0))p=+(f|0)/+(d|0);else p=1.0;q=+(aa(k+ -1|0,h)|0)+o*p;o=p*+(c[(c[n>>2]|0)+16>>2]|0);g[b>>2]=q;g[b+4>>2]=o;i=j;return}function Uf(b,d,e){b=b|0;d=d|0;e=e|0;var 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,x=0,y=0;f=i;i=i+16|0;g=f;if(((c[d>>2]|0)!=0?(h=d+4|0,j=c[h>>2]|0,(j|0)>0):0)?(k=d+8|0,l=c[k>>2]|0,(l|0)>0):0){m=Vh(aa(j<<2,l)|0)|0;l=c[h>>2]|0;j=c[k>>2]|0;if((aa(l<<2,j)|0)>0){n=c[d>>2]|0;d=c[h>>2]|0;o=c[k>>2]|0;p=aa(d<<2,o)|0;q=0;r=0;while(1){a[m+q>>0]=a[n+(r<<2)>>0]|0;a[m+(q|1)>>0]=a[n+(r<<2)+1>>0]|0;a[m+(q|2)>>0]=a[n+(r<<2)+2>>0]|0;a[m+(q|3)>>0]=a[n+(r<<2)+3>>0]|0;q=q+4|0;if((q|0)>=(p|0)){s=d;t=o;break}else r=r+1|0}}else{s=l;t=j}j=lf(m,s,t,e)|0;e=c[h>>2]|0;h=c[k>>2]|0;Wh(m);u=j;v=e;w=h;c[b>>2]=u;x=b+4|0;c[x>>2]=v;y=b+8|0;c[y>>2]=w;i=f;return}kg(2,11168,g);u=0;v=0;w=0;c[b>>2]=u;x=b+4|0;c[x>>2]=v;y=b+8|0;c[y>>2]=w;i=f;return}function Vf(a){a=a|0;var b=0;b=i;Wh(c[a>>2]|0);i=b;return}function Wf(){var a=0,b=0,d=0,e=0,f=0;a=i;i=i+16|0;b=a;d=Gc(0)|0;if(!d)kg(1,11232,b);e=Za(d|0,0)|0;if(e){if(!((fb(e|0)|0)<<24>>24)){Qb(e|0);f=6}}else f=6;if((f|0)==6){Ra(d|0)|0;kg(1,11272,b)}c[b>>2]=Yb(d|0,4101)|0;kg(0,11304,b);mc(4100,0.0,0.0,0.0);mc(4102,0.0,0.0,0.0);mc(4111,0.0,0.0,-1.0);i=a;return}function Xf(){var a=0,b=0,c=0;a=i;i=i+16|0;Yf();b=kb()|0;if(!b)kg(2,11360,a);c=ec(b|0)|0;fb(0)|0;Qb(b|0);Ra(c|0)|0;i=a;return}function Yf(){var a=0;a=i;if(!(c[2806]|0)){c[2806]=0;i=a;return}Ka(c[2895]|0);fg();sb(1,11580|0);wc(2,11572|0);mg(c[2892]|0);c[2806]=0;i=a;return}function Zf(a,d){a=a|0;d=d|0;var 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;e=i;i=i+48|0;f=e;g=e+24|0;h=e+16|0;j=e+20|0;k=g+4|0;l=g+8|0;m=g+12|0;n=g+14|0;c[g+0>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;do if(li(lg(d)|0,11408)|0)if(!(li(lg(d)|0,11416)|0)){$f(g,d);break}else{c[f>>2]=d;kg(2,11424,f);break}else _f(g,d);while(0);if(!(c[g>>2]|0)){o=0;p=0;c[a>>2]=o;q=a+4|0;c[q>>2]=p;i=e;return}r=b[n>>1]|0;if(r<<16>>16==1){s=b[m>>1]|0;if(s<<16>>16==8)t=4352;else t=s<<16>>16==16?4353:0}else if(r<<16>>16==2){r=b[m>>1]|0;if(r<<16>>16==8)t=4354;else t=r<<16>>16==16?4355:0}else t=0;Ec(1,h|0);lb(c[h>>2]|0,4099,1.0);lb(c[h>>2]|0,4106,1.0);za(c[h>>2]|0,4100,0.0,0.0,0.0);za(c[h>>2]|0,4102,0.0,0.0,0.0);ob(c[h>>2]|0,4103,0);pb(1,j|0);ua(c[j>>2]|0,t|0,c[g>>2]|0,c[k>>2]|0,c[l>>2]|0);ob(c[h>>2]|0,4105,c[j>>2]|0);k=c[l>>2]|0;l=b[m>>1]|0;m=b[n>>1]|0;c[f>>2]=d;c[f+4>>2]=k;c[f+8>>2]=l;c[f+12>>2]=m;kg(0,11480,f);c[f+0>>2]=c[g+0>>2];c[f+4>>2]=c[g+4>>2];c[f+8>>2]=c[g+8>>2];c[f+12>>2]=c[g+12>>2];ag(f);o=c[h>>2]|0;p=c[j>>2]|0;c[a>>2]=o;q=a+4|0;c[q>>2]=p;i=e;return}function _f(d,e){d=d|0;e=e|0;var 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,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;f=i;i=i+64|0;g=f;h=f+48|0;j=f+16|0;k=f+40|0;l=ic(e|0,11560)|0;if(!l){c[g>>2]=e;kg(2,12192,g);m=0;n=0;o=0;p=0;q=0;c[d>>2]=m;r=d+4|0;c[r>>2]=n;s=d+8|0;c[s>>2]=o;t=d+12|0;b[t>>1]=p;u=d+14|0;b[u>>1]=q;i=f;return}ra(h|0,12,1,l|0)|0;do if((mi(h,12232,4)|0)==0?(mi(h+8|0,12240,4)|0)==0:0){ra(j|0,24,1,l|0)|0;if((((a[j>>0]|0)==102?(a[j+1>>0]|0)==109:0)?(a[j+2>>0]|0)==116:0)?(a[j+3>>0]|0)==32:0){if((c[j+4>>2]|0)>16)Tb(l|0,2,1)|0;ra(k|0,8,1,l|0)|0;if((((a[k>>0]|0)==100?(a[k+1>>0]|0)==97:0)?(a[k+2>>0]|0)==116:0)?(a[k+3>>0]|0)==97:0){v=k+4|0;w=Vh(c[v>>2]|0)|0;ra(w|0,c[v>>2]|0,1,l|0)|0;x=c[v>>2]|0;v=c[j+12>>2]|0;y=b[j+10>>1]|0;z=b[j+22>>1]|0;c[g>>2]=e;c[g+4>>2]=v;c[g+8>>2]=z<<16>>16;c[g+12>>2]=y<<16>>16;kg(0,12352,g);A=w;B=x;C=v;D=z;E=y;break}c[g>>2]=e;kg(2,12320,g);A=0;B=0;C=0;D=0;E=0;break}c[g>>2]=e;kg(2,12288,g);A=0;B=0;C=0;D=0;E=0}else F=5;while(0);if((F|0)==5){c[g>>2]=e;kg(2,12248,g);A=0;B=0;C=0;D=0;E=0}Vb(l|0)|0;m=A;n=B;o=C;p=D;q=E;c[d>>2]=m;r=d+4|0;c[r>>2]=n;s=d+8|0;c[s>>2]=o;t=d+12|0;b[t>>1]=p;u=d+14|0;b[u>>1]=q;i=f;return}function $f(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0.0,r=0.0,s=0;e=i;i=i+48|0;f=e;g=e+16|0;j=Kg(d,0,0)|0;pg(g,j);l=c[g>>2]|0;m=g+4|0;n=c[m>>2]|0;c[f>>2]=d;c[f+4>>2]=l;kg(3,11648,f);o=c[m>>2]|0;c[f>>2]=d;c[f+4>>2]=o;kg(3,11680,f);o=Cg(j)|0;p=aa(c[m>>2]|0,o)|0;o=p<<1;c[f>>2]=d;c[f+4>>2]=p;kg(3,11880,f);q=+Gg(j);r=q;c[f>>2]=d;s=f+4|0;h[k>>3]=r;c[s>>2]=c[k>>2];c[s+4>>2]=c[k+4>>2];kg(3,11904,f);if(q>10.0){c[f>>2]=d;s=f+4|0;h[k>>3]=r;c[s>>2]=c[k>>2];c[s+4>>2]=c[k+4>>2];kg(2,11928,f)}s=~~(q*+((c[g>>2]|0)>>>0)*+(c[m>>2]|0));c[f>>2]=d;c[f+4>>2]=s;kg(3,12040,f);s=Vh(o)|0;g=Mg(j,c[m>>2]|0,s,p)|0;c[f>>2]=d;c[f+4>>2]=g;kg(3,12080,f);c[f>>2]=d;c[f+4>>2]=l;c[f+8>>2]=16;c[f+12>>2]=n<<16>>16;kg(0,12112,f);mg(j);c[a>>2]=s;c[a+4>>2]=o;c[a+8>>2]=l;b[a+12>>1]=16;b[a+14>>1]=n;i=e;return}function ag(a){a=a|0;var b=0;b=i;Wh(c[a>>2]|0);i=b;return}function bg(a){a=a|0;var b=0;b=i;sb(1,a|0);wc(1,a+4|0);i=b;return}function cg(a){a=a|0;var b=0;b=i;Sa(c[a>>2]|0);i=b;return}function dg(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=i;i=i+32|0;d=b;e=b+8|0;if(li(lg(a)|0,11416)|0){c[d>>2]=a;kg(2,11736,d);i=b;return}Yf();f=Kg(a,0,0)|0;c[2892]=f;if(!f){c[d>>2]=a;kg(2,11608,d);i=b;return}else{pg(e,f);f=e+4|0;c[2897]=c[f>>2];c[2898]=c[e>>2];g=c[e>>2]|0;c[d>>2]=a;c[d+4>>2]=g;kg(0,11648,d);g=c[f>>2]|0;c[d>>2]=a;c[d+4>>2]=g;kg(0,11680,d);g=c[e+16>>2]|0;c[d>>2]=a;c[d+4>>2]=g;kg(0,11704,d);c[2896]=(c[f>>2]|0)==2?4355:4353;c[2900]=1;c[2806]=1;Ec(1,11580|0);lb(c[2895]|0,4099,1.0);lb(c[2895]|0,4106,1.0);za(c[2895]|0,4100,0.0,0.0,0.0);za(c[2895]|0,4102,0.0,0.0,0.0);pb(2,11572|0);eg(c[2893]|0)|0;eg(c[2894]|0)|0;ib(c[2895]|0,2,11572|0);Sa(c[2895]|0);f=Cg(c[2892]|0)|0;c[2899]=aa(c[2897]|0,f)|0;i=b;return}}function eg(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;b=i;i=i+65552|0;d=b;e=b+8|0;do if(c[2806]|0){f=0;while(1){g=Mg(c[2892]|0,c[2897]|0,e+(f<<1)|0,32768-f|0)|0;if((g|0)<=0){h=4;break}j=(aa(c[2897]|0,g)|0)+f|0;if((j|0)<32768)f=j;else{k=j;break}}if((h|0)==4)if((f|0)>0)k=f;else break;ua(a|0,c[2896]|0,e|0,k<<1|0,c[2898]|0);c[2899]=(c[2899]|0)-k;l=1;i=b;return l|0}while(0);kg(2,12432,d);l=0;i=b;return l|0}function fg(){var a=0,b=0,d=0,e=0;a=i;i=i+16|0;b=a+4|0;d=a;c[b>>2]=0;c[d>>2]=0;db(c[2895]|0,4117,d|0);if((c[d>>2]|0)<=0){i=a;return}do{Mc(c[2895]|0,1,b|0);e=(c[d>>2]|0)+ -1|0;c[d>>2]=e}while((e|0)>0);i=a;return}function gg(){var a=0;a=i;i=i+16|0;if(!(c[2806]|0)){i=a;return}kg(0,11792,a);Ta(c[2895]|0);c[2806]=0;i=a;return}function hg(){var a=0,b=0;a=i;i=i+16|0;b=a+4|0;db(c[2895]|0,4112,b|0);if((c[b>>2]|0)!=4115){i=a;return}kg(0,11816,a);Sa(c[2895]|0);c[2806]=1;i=a;return}function ig(a){a=+a;var b=0;b=i;lb(c[2895]|0,4106,+a);i=b;return}function jg(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;a=i;i=i+16|0;b=a;d=a+12|0;e=a+4|0;f=a+8|0;c[d>>2]=0;c[e>>2]=0;if(!(c[2806]|0)){i=a;return}db(c[2895]|0,4118,e|0);g=c[2895]|0;if((c[e>>2]|0)>0){h=g;while(1){Mc(h|0,1,d|0);j=eg(c[d>>2]|0)|0;if((j|0)==0&(c[2900]|0)!=0){zg(c[2892]|0);k=Cg(c[2892]|0)|0;c[2899]=aa(c[2897]|0,k)|0;l=eg(c[d>>2]|0)|0}else l=j;ib(c[2895]|0,1,d|0);if(na()|0)kg(2,11840,b);j=(c[e>>2]|0)+ -1|0;c[e>>2]=j;k=c[2895]|0;if((j|0)>0)h=k;else{m=k;n=l;break}}}else{m=g;n=1}db(m|0,4112,f|0);m=(n|0)==0;if(!((c[f>>2]|0)==4114|m))Sa(c[2895]|0);if(!m){i=a;return}Yf();i=a;return}function kg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;if(!a)zb(12472,6,1,c[o>>2]|0)|0;else if((a|0)==2)zb(12488,9,1,c[o>>2]|0)|0;else if((a|0)==3){i=e;return}else if((a|0)==1)zb(12480,7,1,c[o>>2]|0)|0;c[f>>2]=d;Ib(c[o>>2]|0,b|0,f|0)|0;cc(10,c[o>>2]|0)|0;if((a|0)==1)Db(1);else{i=e;return}}function lg(a){a=a|0;var b=0,c=0;b=i;c=Uh(a,46)|0;i=b;return((c|0)==0|(c|0)==(a|0)?12504:c+1|0)|0}function mg(a){a=a|0;var b=0;b=i;if(a){ng(a);og(a,a)}i=b;return}function ng(a){a=a|0;var b=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;b=i;e=a+280|0;if((c[e>>2]|0)>0){f=a+412|0;g=a+140|0;h=0;do{j=c[f>>2]|0;k=j+(h*24|0)+16|0;if(c[k>>2]|0){l=j+(h*24|0)+13|0;m=c[k>>2]|0;if((c[(c[g>>2]|0)+((d[l>>0]|0)*2096|0)+4>>2]|0)>0){n=m;o=0;while(1){og(a,c[n+(o<<2)>>2]|0);o=o+1|0;p=c[k>>2]|0;if((o|0)>=(c[(c[g>>2]|0)+((d[l>>0]|0)*2096|0)+4>>2]|0)){q=p;break}else n=p}}else q=m;og(a,q)}og(a,c[j+(h*24|0)+20>>2]|0);h=h+1|0}while((h|0)<(c[e>>2]|0))}e=a+140|0;if(c[e>>2]|0){h=a+136|0;q=c[e>>2]|0;if((c[h>>2]|0)>0){g=q;f=0;while(1){og(a,c[g+(f*2096|0)+8>>2]|0);og(a,c[g+(f*2096|0)+28>>2]|0);og(a,c[g+(f*2096|0)+32>>2]|0);og(a,c[g+(f*2096|0)+2084>>2]|0);n=c[g+(f*2096|0)+2088>>2]|0;if(!n)r=0;else r=n+ -4|0;og(a,r);f=f+1|0;n=c[e>>2]|0;if((f|0)>=(c[h>>2]|0)){s=n;break}else g=n}}else s=q;og(a,s)}og(a,c[a+276>>2]|0);og(a,c[a+412>>2]|0);s=a+416|0;q=a+420|0;g=c[q>>2]|0;if((c[s>>2]|0)>0){h=g;f=0;while(1){og(a,c[h+(f*40|0)+4>>2]|0);f=f+1|0;e=c[q>>2]|0;if((f|0)>=(c[s>>2]|0)){t=e;break}else h=e}}else t=g;og(a,t);t=a+4|0;if((c[t>>2]|0)>0){g=0;do{og(a,c[a+(g<<2)+816>>2]|0);og(a,c[a+(g<<2)+944>>2]|0);og(a,c[a+(g<<2)+1012>>2]|0);g=g+1|0}while((g|0)<(c[t>>2]|0))}og(a,c[a+1084>>2]|0);og(a,c[a+1092>>2]|0);og(a,c[a+1100>>2]|0);og(a,c[a+1108>>2]|0);og(a,c[a+1116>>2]|0);og(a,c[a+1088>>2]|0);og(a,c[a+1096>>2]|0);og(a,c[a+1104>>2]|0);og(a,c[a+1112>>2]|0);og(a,c[a+1120>>2]|0);if(!(c[a+28>>2]|0)){i=b;return}Vb(c[a+20>>2]|0)|0;i=b;return}function og(a,b){a=a|0;b=b|0;var d=0;d=i;if(!(c[a+96>>2]|0))Wh(b);i=d;return}function pg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=c[b+4>>2]|0;e=c[b+8>>2]|0;f=c[b+16>>2]|0;g=c[b+12>>2]|0;h=c[b+132>>2]>>1;c[a>>2]=c[b>>2];c[a+4>>2]=d;c[a+8>>2]=e;c[a+12>>2]=f;c[a+16>>2]=g;c[a+20>>2]=h;return}function qg(a,b){a=a|0;b=b|0;c[a+116>>2]=b;return}function rg(b,d){b=b|0;d=d|0;var 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;e=i;f=c[b+1396>>2]|0;g=c[b+32>>2]|0;if((f|0)!=-1){h=b+1132|0;a:do if((f|0)<(c[h>>2]|0)){j=g;k=f;while(1){l=a[b+k+1136>>0]|0;m=j+(l&255)|0;n=k+1|0;if(l<<24>>24!=-1){o=m;p=k;break a}if((n|0)<(c[h>>2]|0)){j=m;k=n}else{o=m;p=n;break}}}else{o=g;p=f}while(0);if((d|0)!=0?(p|0)<((c[h>>2]|0)+ -1|0):0){qg(b,21);q=0;i=e;return q|0}f=(p|0)==(c[h>>2]|0)?-1:p;if(o>>>0>(c[b+40>>2]|0)>>>0){qg(b,1);q=0;i=e;return q|0}else{r=0;s=o;t=f}}else{r=1;s=g;t=-1}g=b+40|0;f=(d|0)==0;d=b+1008|0;o=r;r=s;s=t;while(1){if((s|0)!=-1){q=1;u=34;break}t=r+26|0;if(t>>>0>=(c[g>>2]|0)>>>0){u=13;break}if(ki(r,12640,4)|0){u=15;break}if(a[r+4>>0]|0){u=17;break}if(!o){if(!(a[r+5>>0]&1)){u=23;break}}else if((c[d>>2]|0)!=0?(a[r+5>>0]&1)!=0:0){u=21;break}p=a[t>>0]|0;t=p&255;h=r+(t+27)|0;if(h>>>0>(c[g>>2]|0)>>>0){u=26;break}b:do if(!(p<<24>>24)){v=h;w=0}else{k=h;j=0;while(1){n=a[r+(j+27)>>0]|0;m=k+(n&255)|0;l=j+1|0;if(n<<24>>24!=-1){v=m;w=j;break b}if((l|0)<(t|0)){k=m;j=l}else{v=m;w=l;break}}}while(0);if(!f?(w|0)<(t+ -1|0):0){u=31;break}if(v>>>0>(c[g>>2]|0)>>>0){u=33;break}else{o=0;r=v;s=(w|0)==(t|0)?-1:w}}if((u|0)==13){qg(b,1);q=0;i=e;return q|0}else if((u|0)==15){qg(b,21);q=0;i=e;return q|0}else if((u|0)==17){qg(b,21);q=0;i=e;return q|0}else if((u|0)==21){qg(b,21);q=0;i=e;return q|0}else if((u|0)==23){qg(b,21);q=0;i=e;return q|0}else if((u|0)==26){qg(b,1);q=0;i=e;return q|0}else if((u|0)==31){qg(b,21);q=0;i=e;return q|0}else if((u|0)==33){qg(b,1);q=0;i=e;return q|0}else if((u|0)==34){i=e;return q|0}return 0}function sg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;g=f+8|0;h=f+4|0;if(!(Sg(a,d,f,e,h,g)|0)){j=0;i=f;return j|0}j=wh(a,b,a+((c[g>>2]|0)*6|0)+428|0,c[d>>2]|0,c[e>>2]|0,c[h>>2]|0,d)|0;i=f;return j|0}function tg(a){a=a|0;var b=0,d=0;b=i;d=Zg(a)|0;c[a+1412>>2]=0;i=b;return d|0}function ug(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=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;f=i;h=a+1008|0;j=c[h>>2]|0;if(!j)k=0;else{l=vh(a,j)|0;m=a+4|0;if((c[m>>2]|0)>0){n=(j|0)>0;o=c[m>>2]|0;m=j+ -1|0;p=0;do{if(n){q=c[a+(p<<2)+816>>2]|0;r=c[a+(p<<2)+944>>2]|0;s=0;do{t=q+(s+d<<2)|0;g[t>>2]=+g[t>>2]*+g[l+(s<<2)>>2]+ +g[r+(s<<2)>>2]*+g[l+(m-s<<2)>>2];s=s+1|0}while((s|0)!=(j|0))}p=p+1|0}while((p|0)<(o|0))}k=c[h>>2]|0}c[h>>2]=b-e;h=a+4|0;if((c[h>>2]|0)>0){o=(e|0)<(b|0);p=c[h>>2]|0;h=b-e|0;j=0;do{if(o){m=c[a+(j<<2)+816>>2]|0;l=c[a+(j<<2)+944>>2]|0;n=e;s=0;while(1){g[l+(s<<2)>>2]=+g[m+(n<<2)>>2];r=s+1|0;if((r|0)==(h|0))break;else{n=r+e|0;s=r}}}j=j+1|0}while((j|0)<(p|0))}if(!k){u=0;i=f;return u|0}k=((b|0)<(e|0)?b:e)-d|0;d=a+1432|0;c[d>>2]=(c[d>>2]|0)+k;u=k;i=f;return u|0}function vg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;qi(a|0,0,1528)|0;if(b){e=b;b=c[e+4>>2]|0;f=a+96|0;c[f>>2]=c[e>>2];c[f+4>>2]=b;b=a+100|0;f=(c[b>>2]|0)+3&-4;c[b>>2]=f;c[a+108>>2]=f}c[a+112>>2]=0;c[a+116>>2]=0;c[a+32>>2]=0;c[a+140>>2]=0;c[a+1436>>2]=-1;c[a+28>>2]=0;c[a+20>>2]=0;i=d;return}function wg(f){f=f|0;var 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,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=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,X=0,Y=0,Z=0,_=0,$=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0;h=i;i=i+1024|0;j=h+1008|0;k=h+8|0;l=h;m=h+4|0;if(!(Xg(f)|0)){n=0;i=h;return n|0}o=d[f+1391>>0]|0;if(!(o&2)){qg(f,34);n=0;i=h;return n|0}if(o&4){qg(f,34);n=0;i=h;return n|0}if(o&1){qg(f,34);n=0;i=h;return n|0}if((c[f+1132>>2]|0)!=1){qg(f,34);n=0;i=h;return n|0}if((a[f+1136>>0]|0)!=30){qg(f,34);n=0;i=h;return n|0}if((Og(f)|0)<<24>>24!=1){qg(f,34);n=0;i=h;return n|0}if(!(Eg(f,j,6)|0)){qg(f,10);n=0;i=h;return n|0}if(!(bh(j)|0)){qg(f,34);n=0;i=h;return n|0}if(Fg(f)|0){qg(f,34);n=0;i=h;return n|0}o=Og(f)|0;p=f+4|0;c[p>>2]=o&255;if(!(o<<24>>24)){qg(f,34);n=0;i=h;return n|0}if((o&255)>16){qg(f,5);n=0;i=h;return n|0}o=Fg(f)|0;c[f>>2]=o;if(!o){qg(f,34);n=0;i=h;return n|0}Fg(f)|0;Fg(f)|0;Fg(f)|0;o=Og(f)|0;q=o&255;r=q&15;s=q>>>4;q=f+128|0;c[q>>2]=1<>2]=1<>>0>7){qg(f,20);n=0;i=h;return n|0}if(o+ -96<<24>>24<<24>>24<0){qg(f,20);n=0;i=h;return n|0}if(r>>>0>s>>>0){qg(f,20);n=0;i=h;return n|0}if(!((Og(f)|0)&1)){qg(f,34);n=0;i=h;return n|0}if(!(Xg(f)|0)){n=0;i=h;return n|0}if(!(Wg(f)|0)){n=0;i=h;return n|0}s=f+1392|0;do{r=_g(f)|0;Rg(f,r);a[s>>0]=0}while((r|0)!=0);if(!(Wg(f)|0)){n=0;i=h;return n|0}do if(a[f+48>>0]|0){if(rg(f,1)|0)break;s=f+116|0;if((c[s>>2]|0)!=21){n=0;i=h;return n|0}c[s>>2]=20;n=0;i=h;return n|0}while(0);ch();if((tg(f)|0)!=5){qg(f,20);n=0;i=h;return n|0}a[j>>0]=tg(f)|0;a[j+1>>0]=tg(f)|0;a[j+2>>0]=tg(f)|0;a[j+3>>0]=tg(f)|0;a[j+4>>0]=tg(f)|0;a[j+5>>0]=tg(f)|0;if(!(bh(j)|0)){qg(f,20);n=0;i=h;return n|0}j=($g(f,8)|0)+1|0;s=f+136|0;c[s>>2]=j;r=ah(f,j*2096|0)|0;j=f+140|0;c[j>>2]=r;if(!r){qg(f,3);n=0;i=h;return n|0}qi(r|0,0,(c[s>>2]|0)*2096|0)|0;a:do if((c[s>>2]|0)>0){r=f+16|0;o=f+16|0;u=0;b:while(1){v=c[j>>2]|0;w=v+(u*2096|0)|0;if((($g(f,8)|0)&255|0)!=66){x=52;break}if((($g(f,8)|0)&255|0)!=67){x=54;break}if((($g(f,8)|0)&255|0)!=86){x=56;break}y=$g(f,8)|0;c[w>>2]=($g(f,8)|0)<<8|y&255;y=$g(f,8)|0;z=$g(f,8)|0;A=v+(u*2096|0)+4|0;c[A>>2]=z<<8&65280|y&255|($g(f,8)|0)<<16;y=($g(f,1)|0)!=0;do if(y){z=v+(u*2096|0)+23|0;a[z>>0]=0;B=c[A>>2]|0;C=z;x=61}else{z=($g(f,1)|0)&255;D=v+(u*2096|0)+23|0;a[D>>0]=z;E=c[A>>2]|0;if(!(z<<24>>24)){B=E;C=D;x=61;break}F=D;G=dh(f,E)|0}while(0);if((x|0)==61){x=0;E=ah(f,B)|0;c[v+(u*2096|0)+8>>2]=E;F=C;G=E}if(!G){x=63;break}do if(y){E=$g(f,5)|0;D=c[A>>2]|0;if((D|0)>0){H=D;I=0;J=E}else{K=0;break}while(1){J=J+1|0;E=$g(f,Qg(H-I|0)|0)|0;D=I;I=E+I|0;if((I|0)>(c[A>>2]|0)){x=68;break b}qi(G+D|0,J&255|0,E|0)|0;H=c[A>>2]|0;if((I|0)>=(H|0)){K=0;break}}}else{if((c[A>>2]|0)>0){L=0;M=0}else{K=0;break}while(1){do if(!(a[F>>0]|0))x=72;else{if($g(f,1)|0){x=72;break}a[G+L>>0]=-1;N=M}while(0);if((x|0)==72){x=0;a[G+L>>0]=($g(f,5)|0)+1;N=M+1|0}L=L+1|0;if((L|0)>=(c[A>>2]|0)){K=N;break}else M=N}}while(0);do if(!(a[F>>0]|0)){O=G;x=81}else{y=c[A>>2]|0;if((K|0)<(y>>2|0))if(!(a[F>>0]|0)){O=G;x=81;break}else{P=G;Q=K;break}if((y|0)>(c[o>>2]|0))c[o>>2]=y;y=ah(f,c[A>>2]|0)|0;E=v+(u*2096|0)+8|0;c[E>>2]=y;oi(y|0,G|0,c[A>>2]|0)|0;eh(f,G,c[A>>2]|0);y=c[E>>2]|0;a[F>>0]=0;O=y;x=81}while(0);do if((x|0)==81){x=0;if((c[A>>2]|0)<=0){P=O;Q=0;break}y=c[A>>2]|0;E=0;D=0;while(1){z=a[O+E>>0]|0;R=(((z&255)<11|z<<24>>24==-1)&1^1)+D|0;E=E+1|0;if((E|0)>=(y|0)){P=O;Q=R;break}else D=R}}while(0);D=v+(u*2096|0)+2092|0;c[D>>2]=Q;do if(!(a[F>>0]|0)){y=ah(f,c[A>>2]<<2)|0;c[v+(u*2096|0)+32>>2]=y;if(!y){x=86;break b}else S=0}else{if(Q){y=ah(f,Q)|0;c[v+(u*2096|0)+8>>2]=y;if(!y){x=89;break b}y=dh(f,c[D>>2]<<2)|0;c[v+(u*2096|0)+32>>2]=y;if(!y){x=91;break b}y=dh(f,c[D>>2]<<2)|0;if(!y){x=93;break b}else T=y}else T=0;y=(c[D>>2]<<3)+(c[A>>2]|0)|0;if(y>>>0<=(c[r>>2]|0)>>>0){S=T;break}c[r>>2]=y;S=T}while(0);fh(w,P,c[A>>2]|0,S);y=c[D>>2]|0;if(y){c[v+(u*2096|0)+2084>>2]=ah(f,(y<<2)+4|0)|0;y=ah(f,(c[D>>2]<<2)+4|0)|0;E=v+(u*2096|0)+2088|0;c[E>>2]=y;if(y){c[E>>2]=y+4;c[y>>2]=-1}gh(w,P,S)}if(a[F>>0]|0){eh(f,S,c[D>>2]<<2);y=v+(u*2096|0)+32|0;eh(f,c[y>>2]|0,c[D>>2]<<2);eh(f,P,c[A>>2]|0);c[y>>2]=0}hh(w);y=$g(f,4)|0;E=v+(u*2096|0)+21|0;a[E>>0]=y;R=y&255;if(R>>>0>2){x=103;break}do if(R){y=v+(u*2096|0)+12|0;g[y>>2]=+ih($g(f,32)|0);z=v+(u*2096|0)+16|0;g[z>>2]=+ih($g(f,32)|0);U=v+(u*2096|0)+20|0;a[U>>0]=($g(f,4)|0)+1;V=v+(u*2096|0)+22|0;a[V>>0]=$g(f,1)|0;W=c[A>>2]|0;X=c[w>>2]|0;if((a[E>>0]|0)==1)c[v+(u*2096|0)+24>>2]=jh(W,X)|0;else c[v+(u*2096|0)+24>>2]=aa(X,W)|0;Y=v+(u*2096|0)+24|0;Z=dh(f,c[Y>>2]<<1)|0;if(!Z){x=110;break b}W=c[Y>>2]|0;if((W|0)>0){X=0;while(1){_=$g(f,d[U>>0]|0)|0;if((_|0)==-1){x=112;break b}b[Z+(X<<1)>>1]=_;X=X+1|0;_=c[Y>>2]|0;if((X|0)>=(_|0)){$=_;break}}}else $=W;do if((a[E>>0]|0)==1){X=(a[F>>0]|0)!=0;if(X){U=c[D>>2]|0;if(!U){x=134;break}c[v+(u*2096|0)+28>>2]=ah(f,aa(U<<2,c[w>>2]|0)|0)|0}else c[v+(u*2096|0)+28>>2]=ah(f,aa(c[A>>2]<<2,c[w>>2]|0)|0)|0;U=v+(u*2096|0)+28|0;if(!(c[U>>2]|0)){x=120;break b}_=c[(X?D:A)>>2]|0;if((_|0)>0){ba=v+(u*2096|0)+2088|0;ca=c[w>>2]|0;da=(ca|0)>0;ea=0;do{if(X)fa=c[(c[ba>>2]|0)+(ea<<2)>>2]|0;else fa=ea;if(da){ga=c[Y>>2]|0;ha=c[U>>2]|0;ia=c[w>>2]|0;ja=ca;ka=1;la=0;while(1){g[ha+((aa(ja,ea)|0)+la<<2)>>2]=+g[y>>2]+ +g[z>>2]*+(e[Z+(((((fa|0)/(ka|0)|0)>>>0)%(ga>>>0)|0)<<1)>>1]|0);ma=aa(ga,ka)|0;na=la+1|0;if((na|0)<(ia|0)){ja=ia;ka=ma;la=na}else break}}ea=ea+1|0}while((ea|0)!=(_|0))}eh(f,Z,c[Y>>2]<<1);a[E>>0]=2}else{_=v+(u*2096|0)+28|0;c[_>>2]=ah(f,$<<2)|0;ea=c[Y>>2]|0;if((ea|0)>0){ca=c[_>>2]|0;_=c[Y>>2]|0;U=0;do{g[ca+(U<<2)>>2]=+g[y>>2]+ +g[z>>2]*+(e[Z+(U<<1)>>1]|0);U=U+1|0}while((U|0)<(_|0));oa=_}else oa=ea;eh(f,Z,oa<<1);x=134}while(0);if((x|0)==134?(x=0,(a[E>>0]|0)!=2):0)break;if(!(a[V>>0]|0))break;if((c[Y>>2]|0)>1){z=c[v+(u*2096|0)+28>>2]|0;y=c[Y>>2]|0;W=1;do{g[z+(W<<2)>>2]=+g[z+(W+ -1<<2)>>2];W=W+1|0}while((W|0)<(y|0))}a[V>>0]=0}while(0);u=u+1|0;if((u|0)>=(c[s>>2]|0))break a}switch(x|0){case 52:{qg(f,20);n=0;i=h;return n|0};case 54:{qg(f,20);n=0;i=h;return n|0};case 56:{qg(f,20);n=0;i=h;return n|0};case 63:{qg(f,3);n=0;i=h;return n|0};case 68:{qg(f,20);n=0;i=h;return n|0};case 86:{qg(f,3);n=0;i=h;return n|0};case 89:{qg(f,3);n=0;i=h;return n|0};case 91:{qg(f,3);n=0;i=h;return n|0};case 93:{qg(f,3);n=0;i=h;return n|0};case 103:{qg(f,20);n=0;i=h;return n|0};case 110:{qg(f,3);n=0;i=h;return n|0};case 112:{eh(f,Z,c[Y>>2]<<1);qg(f,20);n=0;i=h;return n|0};case 120:{eh(f,Z,c[Y>>2]<<1);qg(f,3);n=0;i=h;return n|0}}}while(0);Y=($g(f,6)|0)+1&255;c:do if(Y){Z=0;while(1){Z=Z+1|0;if($g(f,16)|0)break;if((Z|0)>=(Y|0))break c}qg(f,20);n=0;i=h;return n|0}while(0);Y=($g(f,6)|0)+1|0;Z=f+144|0;c[Z>>2]=Y;oa=f+276|0;c[oa>>2]=ah(f,Y*1596|0)|0;do if((c[Z>>2]|0)>0){Y=0;$=0;d:while(1){fa=$g(f,16)|0;b[f+(Y<<1)+148>>1]=fa;F=fa&65535;if(F>>>0>1){x=148;break}if(!F){x=150;break}F=c[oa>>2]|0;fa=$g(f,5)|0;P=F+(Y*1596|0)|0;a[P>>0]=fa;do if(fa&255){S=0;T=-1;do{Q=$g(f,4)|0;a[F+(Y*1596|0)+S+1>>0]=Q;O=Q&255;T=(O|0)>(T|0)?O:T;S=S+1|0}while((S|0)<(d[P>>0]|0));if((T|0)<0)break;else pa=0;while(1){a[F+(Y*1596|0)+pa+33>>0]=($g(f,3)|0)+1;S=($g(f,2)|0)&255;V=F+(Y*1596|0)+pa+49|0;a[V>>0]=S;if(S<<24>>24!=0?(S=$g(f,8)|0,a[F+(Y*1596|0)+pa+65>>0]=S,(S&255|0)>=(c[s>>2]|0)):0){x=159;break d}if((1<>0]|0)>0){S=0;do{O=($g(f,8)|0)+65535|0;b[F+(Y*1596|0)+(pa<<4)+(S<<1)+82>>1]=O;S=S+1|0;if((O<<16>>16|0)>=(c[s>>2]|0)){x=162;break d}}while((S|0)<(1<>0]|0))}if((pa|0)<(T|0))pa=pa+1|0;else break}}while(0);a[F+(Y*1596|0)+1588>>0]=($g(f,2)|0)+1;fa=F+(Y*1596|0)+1589|0;a[fa>>0]=$g(f,4)|0;T=F+(Y*1596|0)+338|0;b[T>>1]=0;b[F+(Y*1596|0)+340>>1]=1<>0];V=F+(Y*1596|0)+1592|0;c[V>>2]=2;if(a[P>>0]|0){S=0;do{ea=(d[F+(Y*1596|0)+S+1>>0]|0)+(F+(Y*1596|0))+33|0;if(a[ea>>0]|0){O=0;do{Q=($g(f,d[fa>>0]|0)|0)&65535;b[F+(Y*1596|0)+(c[V>>2]<<1)+338>>1]=Q;c[V>>2]=(c[V>>2]|0)+1;O=O+1|0}while((O|0)<(d[ea>>0]|0))}S=S+1|0}while((S|0)<(d[P>>0]|0));P=c[V>>2]|0;if((P|0)<=0)qa=P;else{ra=0;x=169}}else{ra=0;x=169}if((x|0)==169)while(1){x=0;b[k+(ra<<2)>>1]=b[F+(Y*1596|0)+(ra<<1)+338>>1]|0;b[k+(ra<<2)+2>>1]=ra;ra=ra+1|0;P=c[V>>2]|0;if((ra|0)>=(P|0)){qa=P;break}else x=169}Rh(k,qa,4,1);P=c[V>>2]|0;do if((P|0)>0){S=0;do{a[F+(Y*1596|0)+S+838>>0]=b[k+(S<<2)+2>>1];S=S+1|0;sa=c[V>>2]|0}while((S|0)<(sa|0));if((sa|0)>2)ta=2;else{ua=sa;break}do{c[l>>2]=0;c[m>>2]=0;lh(T,ta,l,m);a[F+(Y*1596|0)+(ta<<1)+1088>>0]=c[l>>2];a[F+(Y*1596|0)+(ta<<1)+1089>>0]=c[m>>2];ta=ta+1|0;S=c[V>>2]|0}while((ta|0)<(S|0));ua=S}else ua=P;while(0);$=(ua|0)>($|0)?ua:$;P=Y+1|0;if((P|0)>=(c[Z>>2]|0)){x=175;break}else Y=P}if((x|0)==148){qg(f,20);n=0;i=h;return n|0}else if((x|0)==150){P=c[oa>>2]|0;a[P+(Y*1596|0)>>0]=$g(f,8)|0;b[P+(Y*1596|0)+2>>1]=$g(f,16)|0;b[P+(Y*1596|0)+4>>1]=$g(f,16)|0;a[P+(Y*1596|0)+6>>0]=$g(f,6)|0;a[P+(Y*1596|0)+7>>0]=$g(f,8)|0;V=($g(f,4)|0)+1|0;F=P+(Y*1596|0)+8|0;a[F>>0]=V;if(V&255){V=0;do{a[V+8+(P+(Y*1596|0))+1>>0]=$g(f,8)|0;V=V+1|0}while((V|0)<(d[F>>0]|0))}qg(f,4);n=0;i=h;return n|0}else if((x|0)==159){qg(f,20);n=0;i=h;return n|0}else if((x|0)==162){qg(f,20);n=0;i=h;return n|0}else if((x|0)==175){wa=$<<1;break}}else wa=0;while(0);oa=($g(f,6)|0)+1|0;ua=f+280|0;c[ua>>2]=oa;ta=f+412|0;c[ta>>2]=ah(f,oa*24|0)|0;e:do if((c[ua>>2]|0)>0){oa=0;f:while(1){m=c[ta>>2]|0;l=$g(f,16)|0;b[f+(oa<<1)+284>>1]=l;if((l&65535)>>>0>2){x=179;break}c[m+(oa*24|0)>>2]=$g(f,24)|0;c[m+(oa*24|0)+4>>2]=$g(f,24)|0;c[m+(oa*24|0)+8>>2]=($g(f,24)|0)+1;l=m+(oa*24|0)+12|0;a[l>>0]=($g(f,6)|0)+1;sa=m+(oa*24|0)+13|0;a[sa>>0]=$g(f,8)|0;qa=a[l>>0]|0;if(!(qa<<24>>24))xa=qa&255;else{qa=0;do{ra=$g(f,3)|0;if(!($g(f,1)|0))ya=0;else ya=($g(f,5)|0)<<3&2040;a[k+qa>>0]=ya+ra;qa=qa+1|0;ra=d[l>>0]|0}while((qa|0)<(ra|0));xa=ra}qa=m+(oa*24|0)+20|0;c[qa>>2]=ah(f,xa<<4)|0;if(a[l>>0]|0){ra=0;do{pa=d[k+ra>>0]|0;F=0;do{if(pa&1<>2]|0)+(ra<<4)+(F<<1)>>1]=V;if((b[(c[qa>>2]|0)+(ra<<4)+(F<<1)>>1]|0)>=(c[s>>2]|0)){x=188;break f}}else b[(c[qa>>2]|0)+(ra<<4)+(F<<1)>>1]=-1;F=F+1|0}while((F|0)<8);ra=ra+1|0}while((ra|0)<(d[l>>0]|0))}ra=ah(f,c[(c[j>>2]|0)+((d[sa>>0]|0)*2096|0)+4>>2]<<2)|0;qa=m+(oa*24|0)+16|0;c[qa>>2]=ra;if(!ra){x=193;break}qi(ra|0,0,c[(c[j>>2]|0)+((d[sa>>0]|0)*2096|0)+4>>2]<<2|0)|0;ra=d[sa>>0]|0;F=c[j>>2]|0;if((c[F+(ra*2096|0)+4>>2]|0)>0){pa=F;F=ra;ra=0;do{V=c[pa+(F*2096|0)>>2]|0;Y=ah(f,V)|0;c[(c[qa>>2]|0)+(ra<<2)>>2]=Y;if((V|0)>0){Y=V;V=ra;while(1){Y=Y+ -1|0;a[(c[(c[qa>>2]|0)+(ra<<2)>>2]|0)+Y>>0]=(V|0)%(d[l>>0]|0)|0;if((Y|0)<=0)break;else V=(V|0)/(d[l>>0]|0)|0}}ra=ra+1|0;F=d[sa>>0]|0;pa=c[j>>2]|0}while((ra|0)<(c[pa+(F*2096|0)+4>>2]|0))}oa=oa+1|0;if((oa|0)>=(c[ua>>2]|0))break e}if((x|0)==179){qg(f,20);n=0;i=h;return n|0}else if((x|0)==188){qg(f,20);n=0;i=h;return n|0}else if((x|0)==193){qg(f,3);n=0;i=h;return n|0}}while(0);j=($g(f,6)|0)+1|0;s=f+416|0;c[s>>2]=j;k=f+420|0;c[k>>2]=ah(f,j*40|0)|0;g:do if((c[s>>2]|0)>0){j=0;h:while(1){xa=c[k>>2]|0;ya=xa+(j*40|0)|0;if($g(f,16)|0){x=201;break}oa=xa+(j*40|0)+4|0;c[oa>>2]=ah(f,(c[p>>2]|0)*3|0)|0;if(!($g(f,1)|0))a[xa+(j*40|0)+8>>0]=1;else a[xa+(j*40|0)+8>>0]=($g(f,4)|0)+1;$=xa+(j*40|0)+8|0;do if(!($g(f,1)|0))b[ya>>1]=0;else{F=($g(f,8)|0)+1|0;b[ya>>1]=F;if(!(F&65535))break;else za=0;do{F=($g(f,Qg((c[p>>2]|0)+ -1|0)|0)|0)&255;a[(c[oa>>2]|0)+(za*3|0)>>0]=F;F=($g(f,Qg((c[p>>2]|0)+ -1|0)|0)|0)&255;a[(c[oa>>2]|0)+(za*3|0)+1>>0]=F;F=c[oa>>2]|0;pa=a[F+(za*3|0)>>0]|0;ra=c[p>>2]|0;if((pa&255|0)>=(ra|0)){x=209;break h}sa=a[F+(za*3|0)+1>>0]|0;if((sa&255|0)>=(ra|0)){x=211;break h}za=za+1|0;if(pa<<24>>24==sa<<24>>24){x=213;break h}}while((za|0)<(e[ya>>1]|0))}while(0);if($g(f,2)|0){x=216;break}ya=(c[p>>2]|0)>0;do if((d[$>>0]|0)>1){if(ya)Aa=0;else break;do{sa=($g(f,4)|0)&255;a[(c[oa>>2]|0)+(Aa*3|0)+2>>0]=sa;if((d[(c[oa>>2]|0)+(Aa*3|0)+2>>0]|0)>=(d[$>>0]|0)){x=222;break h}Aa=Aa+1|0}while((Aa|0)<(c[p>>2]|0))}else{if(ya)Ba=0;else break;do{a[(c[oa>>2]|0)+(Ba*3|0)+2>>0]=0;Ba=Ba+1|0}while((Ba|0)<(c[p>>2]|0))}while(0);if(a[$>>0]|0){oa=0;do{$g(f,8)|0;ya=xa+(j*40|0)+oa+9|0;a[ya>>0]=$g(f,8)|0;sa=$g(f,8)|0;a[xa+(j*40|0)+oa+24>>0]=sa;if((d[ya>>0]|0)>=(c[Z>>2]|0)){x=227;break h}oa=oa+1|0;if((sa&255|0)>=(c[ua>>2]|0)){x=229;break h}}while((oa|0)<(d[$>>0]|0))}j=j+1|0;if((j|0)>=(c[s>>2]|0))break g}if((x|0)==201){qg(f,20);n=0;i=h;return n|0}else if((x|0)==209){qg(f,20);n=0;i=h;return n|0}else if((x|0)==211){qg(f,20);n=0;i=h;return n|0}else if((x|0)==213){qg(f,20);n=0;i=h;return n|0}else if((x|0)==216){qg(f,20);n=0;i=h;return n|0}else if((x|0)==222){qg(f,20);n=0;i=h;return n|0}else if((x|0)==227){qg(f,20);n=0;i=h;return n|0}else if((x|0)==229){qg(f,20);n=0;i=h;return n|0}}while(0);Z=($g(f,6)|0)+1|0;Ba=f+424|0;c[Ba>>2]=Z;i:do if((Z|0)>0){Aa=0;while(1){a[f+(Aa*6|0)+428>>0]=$g(f,1)|0;za=f+(Aa*6|0)+430|0;b[za>>1]=$g(f,16)|0;k=f+(Aa*6|0)+432|0;b[k>>1]=$g(f,16)|0;j=$g(f,8)|0;a[f+(Aa*6|0)+429>>0]=j;if(b[za>>1]|0){x=234;break}if(b[k>>1]|0){x=236;break}Aa=Aa+1|0;if((j&255|0)>=(c[s>>2]|0)){x=238;break}if((Aa|0)>=(c[Ba>>2]|0))break i}if((x|0)==234){qg(f,20);n=0;i=h;return n|0}else if((x|0)==236){qg(f,20);n=0;i=h;return n|0}else if((x|0)==238){qg(f,20);n=0;i=h;return n|0}}while(0);Tg(f);c[f+1008>>2]=0;if((c[p>>2]|0)>0){x=0;do{c[f+(x<<2)+816>>2]=ah(f,c[t>>2]<<2)|0;c[f+(x<<2)+944>>2]=ah(f,c[t>>2]<<1&2147483646)|0;c[f+(x<<2)+1012>>2]=ah(f,wa)|0;x=x+1|0}while((x|0)<(c[p>>2]|0))}if(!(mh(f,0,c[q>>2]|0)|0)){n=0;i=h;return n|0}if(!(mh(f,1,c[t>>2]|0)|0)){n=0;i=h;return n|0}c[f+120>>2]=c[q>>2];c[f+124>>2]=c[t>>2];q=c[t>>2]<<1&2147483646;if((c[ua>>2]|0)>0){t=c[ta>>2]|0;ta=c[ua>>2]|0;ua=0;x=0;do{wa=(((c[t+(ua*24|0)+4>>2]|0)-(c[t+(ua*24|0)>>2]|0)|0)>>>0)/((c[t+(ua*24|0)+8>>2]|0)>>>0)|0;x=(wa|0)>(x|0)?wa:x;ua=ua+1|0}while((ua|0)<(ta|0));Ca=(x<<2)+4|0}else Ca=4;x=aa(c[p>>2]|0,Ca)|0;Ca=f+12|0;c[Ca>>2]=q>>>0>x>>>0?q:x;a[f+1393>>0]=1;do if(c[f+96>>2]|0){x=c[f+108>>2]|0;if((x|0)!=(c[f+100>>2]|0))va(13848,12536,3735,13904);if(((c[f+104>>2]|0)+1528+(c[Ca>>2]|0)|0)>>>0<=x>>>0)break;qg(f,3);n=0;i=h;return n|0}while(0);c[f+52>>2]=yg(f)|0;n=1;i=h;return n|0}function xg(a){a=a|0;var b=0,c=0;b=i;c=ah(a,1528)|0;i=b;return c|0}function yg(b){b=b|0;var d=0,e=0,f=0,g=0;d=i;if(a[b+48>>0]|0){e=0;i=d;return e|0}f=c[b+32>>2]|0;if(!f){g=Aa(c[b+20>>2]|0)|0;e=g-(c[b+24>>2]|0)|0;i=d;return e|0}else{e=f-(c[b+36>>2]|0)|0;i=d;return e|0}return 0}function zg(b){b=b|0;var d=0;d=i;if(!(a[b+48>>0]|0)){Ag(b,c[b+52>>2]|0);c[b+1008>>2]=0;a[b+1393>>0]=1;c[b+1396>>2]=-1;Bg(b);i=d;return}else{qg(b,2);i=d;return}}function Ag(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;e=i;if(a[b+48>>0]|0){i=e;return}f=b+112|0;c[f>>2]=0;g=b+32|0;if(c[g>>2]|0){h=(c[b+36>>2]|0)+d|0;j=c[b+40>>2]|0;if(h>>>0>=j>>>0|(d|0)<0){c[g>>2]=j;c[f>>2]=1;i=e;return}else{c[g>>2]=h;i=e;return}}h=b+24|0;g=(c[h>>2]|0)+d|0;if(g>>>0>>0|(d|0)<0){c[f>>2]=1;k=2147483647}else k=g;g=b+20|0;if(!(Tb(c[g>>2]|0,k|0,0)|0)){i=e;return}c[f>>2]=1;Tb(c[g>>2]|0,c[h>>2]|0,2)|0;i=e;return}function Bg(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;d=b+8|0;e=b;f=b+4|0;if(!(sg(a,d,f,e)|0)){i=b;return}ug(a,c[d>>2]|0,c[f>>2]|0,c[e>>2]|0)|0;i=b;return}function Cg(b){b=b|0;var 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;d=i;i=i+16|0;e=d+4|0;f=d;g=d+8|0;if(a[b+48>>0]|0){qg(b,2);h=0;i=d;return h|0}j=b+812|0;if(!(c[j>>2]|0)){k=yg(b)|0;l=c[b+44>>2]|0;if(l>>>0>65535?(m=l+ -65536|0,m>>>0>=(c[b+52>>2]|0)>>>0):0)n=m;else n=c[b+52>>2]|0;Ag(b,n);do if(Dg(b,e,f)|0){m=yg(b)|0;a:do if(!(c[f>>2]|0)){l=m;o=n;while(1){Ag(b,c[e>>2]|0);if(!(Dg(b,e,f)|0)){p=l;q=o;break a}r=l+1|0;s=yg(b)|0;if(!(c[f>>2]|0)){l=s;o=r}else{p=s;q=r;break}}}else{p=m;q=n}while(0);Ag(b,p);Eg(b,g,6)|0;m=Fg(b)|0;o=Fg(b)|0;if((m|0)==-1&(o|0)==-1){c[b+116>>2]=36;c[j>>2]=-1;break}else{l=(o|0)==0?m:-2;c[j>>2]=l;c[b+76>>2]=p;c[b+80>>2]=c[e>>2];c[b+92>>2]=l;c[b+88>>2]=-1;c[b+84>>2]=q;break}}else{c[b+116>>2]=36;c[j>>2]=-1}while(0);Ag(b,k)}k=c[j>>2]|0;h=(k|0)==-1?0:k;i=d;return h|0}function Dg(e,f,g){e=e|0;f=f|0;g=g|0;var 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,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;h=i;i=i+32|0;j=h;k=e+112|0;if(c[k>>2]|0){l=0;i=h;return l|0}m=e+44|0;n=j+4|0;o=j+22|0;p=j+23|0;q=j+24|0;r=j+25|0;s=j+26|0;t=j+22|0;while(1){if((Og(e)|0)<<24>>24==79){u=yg(e)|0;if((u+ -25|0)>>>0>(c[m>>2]|0)>>>0){l=0;v=32;break}else w=1;while(1){x=Og(e)|0;y=w+1|0;if(x<<24>>24!=(a[12640+w>>0]|0)){z=w;break}if((y|0)<4)w=y;else{z=y;break}}if(c[k>>2]|0){l=0;v=32;break}if((z|0)==4){c[j>>2]=c[3160];y=4;do{a[j+y>>0]=Og(e)|0;y=y+1|0}while((y|0)!=27);if(c[k>>2]|0){l=0;v=32;break}if(!(a[n>>0]|0)){y=a[o>>0]|0;x=a[p>>0]|0;A=a[q>>0]|0;B=d[r>>0]<<24;b[t>>1]=0;b[t+2>>1]=0>>>16;C=(x&255)<<8|y&255|(A&255)<<16;A=0;y=0;do{A=Pg(A,a[j+y>>0]|0)|0;y=y+1|0}while((y|0)!=27);y=C|B;if(a[s>>0]|0){x=d[s>>0]|0;D=A;E=0;F=0;do{G=Og(e)|0;D=Pg(D,G)|0;F=(G&255)+F|0;E=E+1|0}while(E>>>0>>0);if(F){if(c[k>>2]|0){l=0;v=32;break}if(F){x=D;E=0;while(1){B=Pg(x,Og(e)|0)|0;E=E+1|0;if((E|0)==(F|0)){H=B;break}else x=B}}else H=D}else H=D}else H=A;if((H|0)==(y|0)){v=23;break}}}Ag(e,u)}if(c[k>>2]|0){l=0;v=32;break}}if((v|0)==23){if(f)c[f>>2]=yg(e)|0;do if(g)if(!(a[j+5>>0]&4)){c[g>>2]=0;break}else{c[g>>2]=1;break}while(0);Ag(e,u+ -1|0);l=1;i=h;return l|0}else if((v|0)==32){i=h;return l|0}return 0}function Eg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;f=a+32|0;g=c[f>>2]|0;if(!g){if((ra(b|0,d|0,1,c[a+20>>2]|0)|0)==1){h=1;i=e;return h|0}c[a+112>>2]=1;h=0;i=e;return h|0}if((g+d|0)>>>0>(c[a+40>>2]|0)>>>0){c[a+112>>2]=1;h=0;i=e;return h|0}else{oi(b|0,g|0,d|0)|0;c[f>>2]=(c[f>>2]|0)+d;h=1;i=e;return h|0}return 0}function Fg(a){a=a|0;var b=0,c=0,d=0;b=i;c=(Og(a)|0)&255;d=((Og(a)|0)&255)<<8|c;c=d|((Og(a)|0)&255)<<16;d=c|((Og(a)|0)&255)<<24;i=b;return d|0}function Gg(a){a=a|0;var b=0,d=0.0;b=i;d=+((Cg(a)|0)>>>0);i=b;return+(d/+((c[a>>2]|0)>>>0))}function Hg(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;f=i;i=i+16|0;g=f+8|0;h=f;j=f+4|0;if(a[b+48>>0]|0){qg(b,2);k=0;i=f;return k|0}if(!(sg(b,g,j,h)|0)){c[b+1524>>2]=0;c[b+1520>>2]=0;k=0;i=f;return k|0}c[g>>2]=ug(b,c[g>>2]|0,c[j>>2]|0,c[h>>2]|0)|0;h=b+4|0;if((c[h>>2]|0)>0){l=c[j>>2]|0;m=0;do{c[b+(m<<2)+880>>2]=(c[b+(m<<2)+816>>2]|0)+(l<<2);m=m+1|0}while((m|0)<(c[h>>2]|0))}c[b+1520>>2]=c[j>>2];c[b+1524>>2]=(c[g>>2]|0)+(c[j>>2]|0);if(d)c[d>>2]=c[h>>2];if(e)c[e>>2]=b+880;k=c[g>>2]|0;i=f;return k|0}function Ig(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0;g=i;i=i+1536|0;h=g;vg(h,e);c[h+20>>2]=a;c[h+24>>2]=Aa(a|0)|0;c[h+44>>2]=f;c[h+28>>2]=b;if((wg(h)|0)!=0?(b=xg(h)|0,(b|0)!=0):0){oi(b|0,h|0,1528)|0;Bg(b);j=b;i=g;return j|0}if(d)c[d>>2]=c[h+116>>2];ng(h);j=0;i=g;return j|0}function Jg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;e=i;f=Aa(a|0)|0;Tb(a|0,0,2)|0;g=(Aa(a|0)|0)-f|0;Tb(a|0,f|0,0)|0;f=Ig(a,b,c,d,g)|0;i=e;return f|0}function Kg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;f=ic(a|0,12512)|0;if(!f)if(!b)g=0;else{c[b>>2]=6;g=0}else g=Jg(f,1,b,d)|0;i=e;return g|0}function Lg(a,d,e,f,h,j){a=a|0;d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;l=i;if((a|0)!=(e|0)&(a|0)<3&(e|0)<7){if((a|0)==2)m=0;else va(12520,12536,4817,12552);do{Ng(d,e,f,h,j);m=m+1|0}while((m|0)!=(a|0));i=l;return}if((j|0)<=0){i=l;return}m=(((a|0)<(e|0)?a:e)|0)>0;n=~e;e=~a;o=~((n|0)>(e|0)?n:e);e=d;d=0;while(1){if(m){n=d+h|0;p=e;q=0;while(1){r=(g[k>>2]=+g[(c[f+(q<<2)>>2]|0)+(n<<2)>>2]+384.0,c[k>>2]|0);s=r+ -1136656384|0;if((r+ -1136623616|0)>>>0>65535)t=(s>>31&-65535)+32767|0;else t=s;b[p>>1]=t;q=q+1|0;if((q|0)==(o|0))break;else p=p+2|0}u=e+(o<<1)|0;v=o}else{u=e;v=0}if((v|0)<(a|0)){qi(u|0,0,a-v<<1|0)|0;w=u+(a-v<<1)|0}else w=u;d=d+1|0;if((d|0)==(j|0))break;else e=w}i=l;return}function Mg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;f=i;i=i+16|0;g=f;h=(e|0)/(b|0)|0;e=a+4|0;j=a+1524|0;k=a+1520|0;l=a+816|0;m=d;d=0;while(1){if((d|0)>=(h|0)){n=d;o=7;break}p=c[k>>2]|0;q=(c[j>>2]|0)-p|0;r=(q+d|0)<(h|0)?q:h-d|0;if(r)Lg(b,m,c[e>>2]|0,l,p,r);p=r+d|0;c[k>>2]=(c[k>>2]|0)+r;if((p|0)==(h|0)){n=p;o=7;break}m=m+((aa(r,b)|0)<<1)|0;if(!(Hg(a,0,g)|0)){n=p;o=7;break}else d=p}if((o|0)==7){i=f;return n|0}return 0}function Ng(a,e,f,h,j){a=a|0;e=e|0;f=f|0;h=h|0;j=j|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;l=i;i=i+128|0;m=l;if((j|0)<=0){i=l;return}n=(e|0)>0;o=~j;p=-1;q=16;r=0;while(1){s=r<<1;t=m+0|0;u=t+128|0;do{c[t>>2]=0;t=t+4|0}while((t|0)<(u|0));t=q;q=(r+q|0)>(j|0)?j-r|0:q;if(n){u=(q|0)>0;v=r+h|0;w=(q|0)>0;x=r+h|0;y=(q|0)>0;z=r+h|0;A=p-t|0;B=p-((A|0)>(o|0)?A:o)|0;A=p-t|0;C=p-((A|0)>(o|0)?A:o)|0;A=p-t|0;D=p-((A|0)>(o|0)?A:o)|0;A=0;do{E=(d[12592+(e*6|0)+A>>0]|0)&6;if((E|0)==4){if(u){F=c[f+(A<<2)>>2]|0;G=0;do{H=m+((G<<1|1)<<2)|0;g[H>>2]=+g[F+(v+G<<2)>>2]+ +g[H>>2];G=G+1|0}while((G|0)!=(B|0))}}else if((E|0)==2){if(w){G=c[f+(A<<2)>>2]|0;F=0;do{H=m+(F<<1<<2)|0;g[H>>2]=+g[G+(x+F<<2)>>2]+ +g[H>>2];F=F+1|0}while((F|0)!=(C|0))}}else if((E|0)==6?y:0){F=c[f+(A<<2)>>2]|0;G=0;do{H=z+G|0;I=G<<1;J=m+(I<<2)|0;g[J>>2]=+g[F+(H<<2)>>2]+ +g[J>>2];J=m+((I|1)<<2)|0;g[J>>2]=+g[F+(H<<2)>>2]+ +g[J>>2];G=G+1|0}while((G|0)!=(D|0))}A=A+1|0}while((A|0)!=(e|0))}if((q<<1|0)>0){A=p-t|0;D=p-((A|0)>(o|0)?A:o)<<1;A=0;do{z=(g[k>>2]=+g[m+(A<<2)>>2]+384.0,c[k>>2]|0);y=z+ -1136656384|0;if((z+ -1136623616|0)>>>0>65535)K=(y>>31&-65535)+32767|0;else K=y;b[a+(A+s<<1)>>1]=K;A=A+1|0}while((A|0)!=(D|0))}r=r+16|0;if((r|0)>=(j|0))break;else p=p+ -16|0}i=l;return}function Og(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;e=b+32|0;f=c[e>>2]|0;do if(!f){g=Fc(c[b+20>>2]|0)|0;if((g|0)==-1){c[b+112>>2]=1;h=0;break}else{h=g&255;break}}else if(f>>>0<(c[b+40>>2]|0)>>>0){c[e>>2]=f+1;h=a[f>>0]|0;break}else{c[b+112>>2]=1;h=0;break}while(0);i=d;return h|0}function Pg(a,b){a=a|0;b=b|0;return c[12648+((b&255^a>>>24)<<2)>>2]^a<<8|0}function Qg(b){b=b|0;var c=0,d=0;c=i;do if((b|0)<16384){if((b|0)<16){d=a[13672+b>>0]|0;break}if((b|0)<512){d=(a[13672+(b>>5)>>0]|0)+5|0;break}else{d=(a[13672+(b>>10)>>0]|0)+10|0;break}}else{if((b|0)>=16777216){if((b|0)>=536870912){d=0;break}d=(a[13672+(b>>25)>>0]|0)+25|0;break}if((b|0)<524288){d=(a[13672+(b>>15)>>0]|0)+15|0;break}else{d=(a[13672+(b>>20)>>0]|0)+20|0;break}}while(0);i=c;return d|0}function Rg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;e=a+32|0;f=c[e>>2]|0;if(!f){g=a+20|0;h=Aa(c[g>>2]|0)|0;Tb(c[g>>2]|0,h+b|0,0)|0;i=d;return}h=f+b|0;c[e>>2]=h;if(h>>>0<(c[a+40>>2]|0)>>>0){i=d;return}c[a+112>>2]=1;i=d;return}function Sg(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;j=i;c[b+1524>>2]=0;c[b+1520>>2]=0;k=b+112|0;if(c[k>>2]|0){l=0;i=j;return l|0}m=b+48|0;while(1){if(!(Ug(b)|0)){l=0;n=24;break}if(!($g(b,1)|0)){n=9;break}if(a[m>>0]|0){n=7;break}do{}while((tg(b)|0)!=-1);if(c[k>>2]|0){l=0;n=24;break}}if((n|0)==7){qg(b,35);l=0;i=j;return l|0}else if((n|0)==9){if((c[b+96>>2]|0)!=0?(c[b+100>>2]|0)!=(c[b+108>>2]|0):0)va(13768,12536,2796,13824);k=b+424|0;m=$g(b,Qg((c[k>>2]|0)+ -1|0)|0)|0;if((m|0)==-1){l=0;i=j;return l|0}if((m|0)>=(c[k>>2]|0)){l=0;i=j;return l|0}c[h>>2]=m;h=b+(m*6|0)+428|0;if(!(a[h>>0]|0)){o=c[b+128>>2]|0;p=0;q=1}else{m=c[b+132>>2]|0;k=$g(b,1)|0;o=m;p=$g(b,1)|0;q=(k|0)==0}k=o>>1;if((a[h>>0]|0)!=0&q){q=b+128|0;c[d>>2]=o-(c[q>>2]|0)>>2;r=(c[q>>2]|0)+o>>2}else{c[d>>2]=0;r=k}c[e>>2]=r;if((a[h>>0]|0)!=0&(p|0)==0){p=o*3|0;h=b+128|0;c[f>>2]=p-(c[h>>2]|0)>>2;s=(c[h>>2]|0)+p>>2}else{c[f>>2]=k;s=o}c[g>>2]=s;l=1;i=j;return l|0}else if((n|0)==24){i=j;return l|0}return 0}function Tg(a){a=a|0;var b=0;b=i;do{}while((Zg(a)|0)!=-1);i=b;return}function Ug(b){b=b|0;var d=0,e=0,f=0,g=0;d=i;do if((c[b+1396>>2]|0)==-1){e=Og(b)|0;if(!(c[b+112>>2]|0)){if(e<<24>>24!=79){qg(b,30);f=0;break}if((Og(b)|0)<<24>>24!=103){qg(b,30);f=0;break}if((Og(b)|0)<<24>>24!=103){qg(b,30);f=0;break}if((Og(b)|0)<<24>>24!=83){qg(b,30);f=0;break}if(Vg(b)|0)if(!(a[b+1391>>0]&1))g=14;else{c[b+1400>>2]=0;a[b+1392>>0]=0;qg(b,32);f=0}else f=0}else f=0}else g=14;while(0);if((g|0)==14)f=Wg(b)|0;i=d;return f|0}function Vg(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;e=i;if((Og(b)|0)<<24>>24){qg(b,31);f=0;i=e;return f|0}a[b+1391>>0]=Og(b)|0;g=Fg(b)|0;h=Fg(b)|0;Fg(b)|0;c[b+1128>>2]=Fg(b)|0;Fg(b)|0;j=(Og(b)|0)&255;k=b+1132|0;c[k>>2]=j;if(!(Eg(b,b+1136|0,j)|0)){qg(b,10);f=0;i=e;return f|0}j=b+1420|0;c[j>>2]=-2;a:do if(!((g|0)==-1&(h|0)==-1)){l=c[k>>2]|0;do{m=l;l=l+ -1|0;if((m|0)<=0)break a}while((a[b+l+1136>>0]|0)==-1);c[j>>2]=l;c[b+1424>>2]=g}while(0);if(a[b+1393>>0]|0){j=c[k>>2]|0;if((j|0)>0){h=c[k>>2]|0;k=0;m=0;do{m=(d[b+k+1136>>0]|0)+m|0;k=k+1|0}while((k|0)<(h|0));n=h;o=m+27|0}else{n=j;o=27}j=c[b+52>>2]|0;c[b+56>>2]=j;c[b+60>>2]=o+n+j;c[b+64>>2]=j;c[b+68>>2]=0;c[b+72>>2]=g}c[b+1396>>2]=0;f=1;i=e;return f|0}function Wg(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;e=b+1396|0;f=b+1391|0;while(1){if((c[e>>2]|0)!=-1){g=6;break}if(!(Xg(b)|0)){h=0;g=7;break}if(a[f>>0]&1){g=5;break}}if((g|0)==5){qg(b,32);h=0;i=d;return h|0}else if((g|0)==6){c[b+1400>>2]=0;c[b+1412>>2]=0;c[b+1416>>2]=0;a[b+1392>>0]=0;h=1;i=d;return h|0}else if((g|0)==7){i=d;return h|0}return 0}function Xg(a){a=a|0;var b=0,c=0;b=i;if(!(Yg(a)|0)){qg(a,30);c=0}else c=Vg(a)|0;i=b;return c|0}function Yg(a){a=a|0;var b=0,c=0;b=i;if(((Og(a)|0)<<24>>24==79?(Og(a)|0)<<24>>24==103:0)?(Og(a)|0)<<24>>24==103:0)c=(Og(a)|0)<<24>>24==83&1;else c=0;i=b;return c|0}function Zg(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;d=i;e=b+1392|0;f=a[e>>0]|0;if(!(f<<24>>24)){if(c[b+1400>>2]|0){g=-1;i=d;return g|0}if(!(_g(b)|0)){g=-1;i=d;return g|0}h=a[e>>0]|0;if(!(h<<24>>24))va(13688,12536,1130,13712);else j=h}else j=f;a[e>>0]=j+ -1<<24>>24;j=b+1416|0;c[j>>2]=(c[j>>2]|0)+1;g=(Og(b)|0)&255;i=d;return g|0}function _g(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;d=i;e=b+1400|0;if(c[e>>2]|0){f=0;i=d;return f|0}g=b+1396|0;if((c[g>>2]|0)==-1){c[b+1404>>2]=(c[b+1132>>2]|0)+ -1;if(!(Xg(b)|0)){c[e>>2]=1;f=0;i=d;return f|0}if(!(a[b+1391>>0]&1)){qg(b,32);f=0;i=d;return f|0}}h=c[g>>2]|0;c[g>>2]=h+1;j=a[b+h+1136>>0]|0;if(j<<24>>24!=-1){c[e>>2]=1;c[b+1404>>2]=(c[g>>2]|0)+ -1}if((c[g>>2]|0)>=(c[b+1132>>2]|0))c[g>>2]=-1;g=b+1392|0;if(a[g>>0]|0)va(13728,12536,1116,13752);a[g>>0]=j;f=j&255;i=d;return f|0}function $g(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;d=i;e=a+1412|0;f=c[e>>2]|0;if((f|0)<0){g=0;i=d;return g|0}a:do if((f|0)<(b|0)){if((b|0)>24){h=$g(a,24)|0;j=(($g(a,b+ -24|0)|0)<<24)+h|0;i=d;return j|0}if(!f)c[a+1408>>2]=0;j=c[e>>2]|0;if((j|0)<(b|0)){h=a+1408|0;while(1){k=Zg(a)|0;if((k|0)==-1)break;c[h>>2]=(c[h>>2]|0)+(k<>2]);k=(c[e>>2]|0)+8|0;c[e>>2]=k;if((k|0)>=(b|0)){l=k;break a}}c[e>>2]=-1;g=0;i=d;return g|0}else l=j}else l=c[e>>2]|0;while(0);if((l|0)<0){g=0;i=d;return g|0}l=a+1408|0;a=c[l>>2]|0;c[l>>2]=a>>>b;c[e>>2]=(c[e>>2]|0)-b;g=a&(1<>2]=(c[b>>2]|0)+e;b=c[a+96>>2]|0;if(!b)if(!e)f=0;else f=Vh(e)|0;else{g=a+104|0;h=c[g>>2]|0;j=h+e|0;if((j|0)>(c[a+108>>2]|0))f=0;else{c[g>>2]=j;f=b+h|0}}i=d;return f|0}function bh(a){a=a|0;var b=0,c=0;b=i;c=(ki(a,14208,6)|0)==0&1;i=b;return c|0}function ch(){var a=0,b=0,d=0,e=0,f=0;a=i;b=0;do{d=b<<25;e=(b<<24>>31&79764919^d)<<1;f=(d>>31&79764919^e)<<1;d=(e>>31&79764919^f)<<1;e=(f>>31&79764919^d)<<1;f=(d>>31&79764919^e)<<1;d=(e>>31&79764919^f)<<1;c[12648+(b<<2)>>2]=d>>31&79764919^(f>>31&79764919^d)<<1;b=b+1|0}while((b|0)!=256);i=a;return}function dh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;e=b+3&-4;b=a+96|0;if(!(c[b>>2]|0)){f=Vh(e)|0;i=d;return f|0}g=a+108|0;h=(c[g>>2]|0)-e|0;if((h|0)<(c[a+104>>2]|0)){f=0;i=d;return f|0}c[g>>2]=h;f=(c[b>>2]|0)+h|0;i=d;return f|0}function eh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=i;if(!(c[a+96>>2]|0)){Wh(b);i=e;return}else{b=a+108|0;c[b>>2]=(c[b>>2]|0)+(d+3&-4);i=e;return}}function fh(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var 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;h=i;i=i+128|0;j=h;k=j+0|0;l=k+128|0;do{c[k>>2]=0;k=k+4|0}while((k|0)<(l|0));a:do if((f|0)>0){k=0;while(1){l=k+1|0;if((a[e+k>>0]|0)!=-1){m=k;break a}if((l|0)<(f|0))k=l;else{m=l;break}}}else m=0;while(0);if((m|0)==(f|0))if(!(c[b+2092>>2]|0)){i=h;return}else va(14128,12536,657,14152);k=e+m|0;uh(b,0,m,0,d[k>>0]|0,g);if(!(a[k>>0]|0)){n=m;o=1}else{l=d[k>>0]|0;k=1;while(1){c[j+(k<<2)>>2]=1<<32-k;if((k|0)<(l|0))k=k+1|0;else{n=m;o=1;break}}}b:while(1){m=n;while(1){p=m+1|0;if((p|0)>=(f|0)){q=21;break b}r=e+p|0;k=a[r>>0]|0;l=k&255;if(!(k<<24>>24)){s=l;q=15;break}else if(k<<24>>24==-1)m=p;else{t=l;q=14;break}}c:do if((q|0)==14)while(1){q=0;m=t+ -1|0;if(c[j+(t<<2)>>2]|0){u=t;break c}if((m|0)>0){t=m;q=14}else{s=m;q=15;break}}while(0);if((q|0)==15){q=0;if(!s){q=16;break}else u=s}m=j+(u<<2)|0;l=c[m>>2]|0;c[m>>2]=0;m=qh(l)|0;k=o+1|0;uh(b,m,p,o,d[r>>0]|0,g);m=d[r>>0]|0;if((m|0)>(u|0))v=m;else{n=p;o=k;continue}while(1){m=j+(v<<2)|0;if(c[m>>2]|0){q=19;break b}c[m>>2]=(1<<32-v)+l;m=v+ -1|0;if((m|0)>(u|0))v=m;else{n=p;o=k;continue b}}}if((q|0)==16)va(14176,12536,678,14152);else if((q|0)==19)va(14184,12536,685,14152);else if((q|0)==21){i=h;return}}function gh(b,d,e){b=b|0;d=d|0;e=e|0;var 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,x=0,y=0,z=0,A=0,B=0;f=i;g=b+23|0;if(!(a[g>>0]|0)){h=b+4|0;if((c[h>>2]|0)>0){j=b+32|0;k=b+2084|0;l=0;m=0;while(1){if(!(sh(b,a[d+l>>0]|0)|0))n=m;else{o=qh(c[(c[j>>2]|0)+(l<<2)>>2]|0)|0;c[(c[k>>2]|0)+(m<<2)>>2]=o;n=m+1|0}l=l+1|0;if((l|0)>=(c[h>>2]|0)){p=n;break}else m=n}}else p=0;if((p|0)!=(c[b+2092>>2]|0))va(14016,12536,752,14040)}else{p=b+2092|0;if((c[p>>2]|0)>0){n=c[b+32>>2]|0;m=c[b+2084>>2]|0;h=0;do{c[m+(h<<2)>>2]=qh(c[n+(h<<2)>>2]|0)|0;h=h+1|0}while((h|0)<(c[p>>2]|0))}}p=b+2084|0;h=b+2092|0;Rh(c[p>>2]|0,c[h>>2]|0,4,2);c[(c[p>>2]|0)+(c[h>>2]<<2)>>2]=-1;n=c[((a[g>>0]|0)==0?b+4|0:h)>>2]|0;if((n|0)<=0){i=f;return}m=b+32|0;l=b+2088|0;k=b+2088|0;j=b+8|0;o=0;a:while(1){if(!(a[g>>0]|0))q=o;else q=c[e+(o<<2)>>2]|0;r=a[d+q>>0]|0;do if(sh(b,r)|0){s=qh(c[(c[m>>2]|0)+(o<<2)>>2]|0)|0;t=c[h>>2]|0;if((t|0)>1){u=c[p>>2]|0;v=t;t=0;while(1){w=v>>1;x=w+t|0;y=(c[u+(x<<2)>>2]|0)>>>0>s>>>0;z=y?t:x;v=y?w:v-w|0;if((v|0)<=1){A=z;break}else t=z}}else A=0;if((c[(c[p>>2]|0)+(A<<2)>>2]|0)!=(s|0)){B=21;break a}if(!(a[g>>0]|0)){c[(c[l>>2]|0)+(A<<2)>>2]=o;break}else{c[(c[k>>2]|0)+(A<<2)>>2]=c[e+(o<<2)>>2];a[(c[j>>2]|0)+A>>0]=r;break}}while(0);o=o+1|0;if((o|0)>=(n|0)){B=26;break}}if((B|0)==21)va(14064,12536,782,14040);else if((B|0)==26){i=f;return}}function hh(e){e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;f=i;qi(e+36|0,-1,2048)|0;g=e+23|0;h=c[((a[g>>0]|0)==0?e+4|0:e+2092|0)>>2]|0;if((h|0)<=0){i=f;return}j=e+8|0;k=e+32|0;l=e+2084|0;m=(h|0)<32767?h:32767;h=0;do{if((d[(c[j>>2]|0)+h>>0]|0)<11){if(!(a[g>>0]|0))n=c[(c[k>>2]|0)+(h<<2)>>2]|0;else n=qh(c[(c[l>>2]|0)+(h<<2)>>2]|0)|0;if(n>>>0<1024){o=h&65535;p=n;do{b[e+(p<<1)+36>>1]=o;p=(1<>2]|0)+h>>0])+p|0}while(p>>>0<1024)}}h=h+1|0}while((h|0)!=(m|0));i=f;return}function ih(a){a=a|0;var b=0,c=0.0,d=0.0;b=i;c=+((a&2097151)>>>0);if((a|0)<0)d=-c;else d=c;c=+Qh(d,(a>>>21&1023)+ -788|0);i=b;return+c}function jh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0.0,f=0.0;c=i;d=~~+O(+(+Z(+(+_(+(+(a|0)))/+(b|0)))));e=+(b|0);b=((~~+O(+(+R(+(+(d|0)+1.0),+e)))|0)<=(a|0)&1)+d|0;f=+(b|0);if(!(+R(+(f+1.0),+e)>+(a|0)))va(13920,12536,807,13952);if((~~+O(+(+R(+f,+e)))|0)>(a|0))va(13968,12536,808,13952);else{i=c;return b|0}return 0}function kh(a,c){a=a|0;c=c|0;var d=0,e=0;d=b[a>>1]|0;a=b[c>>1]|0;if((d&65535)<(a&65535))e=-1;else e=(d&65535)>(a&65535)&1;return e|0}function lh(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;h=i;if((d|0)<=0){i=h;return}j=a+(d<<1)|0;k=a+(d<<1)|0;l=65536;m=0;n=-1;while(1){o=a+(m<<1)|0;p=b[o>>1]|0;if((p&65535|0)>(n|0)?(p&65535)<(e[j>>1]|0):0){c[f>>2]=m;q=e[o>>1]|0}else q=n;p=b[o>>1]|0;if((p&65535|0)<(l|0)?(p&65535)>(e[k>>1]|0):0){c[g>>2]=m;r=e[o>>1]|0}else r=l;m=m+1|0;if((m|0)==(d|0))break;else{l=r;n=q}}i=h;return}function mh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;e=i;f=d>>3;g=d>>>1<<2;h=a+(b<<2)+1084|0;c[h>>2]=ah(a,g)|0;j=a+(b<<2)+1092|0;c[j>>2]=ah(a,g)|0;k=ah(a,d&-4)|0;c[a+(b<<2)+1100>>2]=k;l=c[h>>2]|0;if((l|0)!=0?(h=c[j>>2]|0,!((h|0)==0|(k|0)==0)):0){nh(d,l,h,k);k=ah(a,g)|0;c[a+(b<<2)+1108>>2]=k;if(!k){qg(a,3);m=0;i=e;return m|0}oh(d,k);k=ah(a,f<<1)|0;c[a+(b<<2)+1116>>2]=k;if(!k){qg(a,3);m=0;i=e;return m|0}else{ph(d,k);m=1;i=e;return m|0}}qg(a,3);m=0;i=e;return m|0}function nh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,h=0,j=0.0,k=0,l=0,m=0.0,n=0;e=i;f=a>>2;h=a>>3;if((f|0)>0){j=+(a|0);k=0;l=0;while(1){m=+(k<<2|0)*3.1415927410125732/j;g[b+(l<<2)>>2]=+S(+m);n=l|1;g[b+(n<<2)>>2]=-+T(+m);m=+(n|0)*3.1415927410125732/j*.5;g[c+(l<<2)>>2]=+S(+m)*.5;g[c+(n<<2)>>2]=+T(+m)*.5;k=k+1|0;if((k|0)==(f|0))break;else l=l+2|0}}if((h|0)<=0){i=e;return}j=+(a|0);a=0;l=0;while(1){f=l|1;m=+(f<<1|0)*3.1415927410125732/j;g[d+(l<<2)>>2]=+S(+m);g[d+(f<<2)>>2]=-+T(+m);a=a+1|0;if((a|0)==(h|0))break;else l=l+2|0}i=e;return}function oh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0.0;c=i;d=a>>1;if((d|0)<=0){i=c;return}e=+(d|0);a=0;do{g[b+(a<<2)>>2]=+T(+(+rh(+T(+((+(a|0)+.5)/e*.5*3.1415927410125732)))*1.5707963705062866));a=a+1|0}while((a|0)!=(d|0));i=c;return}function ph(a,c){a=a|0;c=c|0;var d=0,e=0,f=0;d=i;e=a>>3;if((e|0)<=0){i=d;return}f=36-(Qg(a)|0)|0;a=0;do{b[c+(a<<1)>>1]=(qh(a)|0)>>>f<<2;a=a+1|0}while((a|0)!=(e|0));i=d;return}function qh(a){a=a|0;var b=0;b=a>>>1&1431655765|a<<1&-1431655766;a=b>>>2&858993459|b<<2&-858993460;b=a>>>4&252645135|a<<4&-252645136;a=b>>>8&16711935|b<<8&-16711936;return a>>>16|a<<16|0}function rh(a){a=+a;return+(a*a)}function sh(b,c){b=b|0;c=c|0;var d=0,e=0,f=0;d=i;e=c<<24>>24==-1;if(!(a[b+23>>0]|0))if(e)f=0;else f=(c&255)>10&1;else if(e)va(14096,12536,732,14112);else f=1;i=d;return f|0}function th(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[a>>2]|0;a=c[b>>2]|0;if(d>>>0>>0)e=-1;else e=d>>>0>a>>>0&1;return e|0}function uh(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0;j=i;k=c[b+32>>2]|0;if(!(a[b+23>>0]|0)){c[k+(e<<2)>>2]=d;i=j;return}else{c[k+(f<<2)>>2]=d;a[(c[b+8>>2]|0)+f>>0]=g;c[h+(f<<2)>>2]=e;i=j;return}}function vh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;e=b<<1;if((e|0)==(c[a+128>>2]|0)){f=a+1108|0;g=c[f>>2]|0;i=d;return g|0}if((e|0)!=(c[a+132>>2]|0))va(14176,12536,2735,14216);f=a+1112|0;g=c[f>>2]|0;i=d;return g|0}function wh(f,h,j,k,l,m,n){f=f|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=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,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0.0,qa=0.0,ra=0.0,sa=0.0,ta=0,ua=0;o=i;i=i+2624|0;p=o+1088|0;q=o;r=o+2368|0;s=o+1024|0;t=o+2112|0;u=c[f+(d[j>>0]<<2)+120>>2]|0;v=d[j+1>>0]|0;w=c[f+420>>2]|0;x=w+(v*40|0)|0;y=u>>1;z=0-y|0;A=f+4|0;a:do if((c[A>>2]|0)>0){B=w+(v*40|0)+4|0;C=f+276|0;D=f+1412|0;E=r+1|0;F=f+140|0;G=f+1412|0;H=f+1408|0;I=f+140|0;J=f+1412|0;K=f+1408|0;L=0;while(1){M=d[(c[B>>2]|0)+(L*3|0)+2>>0]|0;N=p+(L<<2)|0;c[N>>2]=0;O=d[w+(v*40|0)+M+9>>0]|0;if(!(b[f+(O<<1)+148>>1]|0))break;M=c[C>>2]|0;if($g(f,1)|0){P=c[14232+((d[M+(O*1596|0)+1588>>0]|0)+ -1<<2)>>2]|0;Q=c[f+(L<<2)+1012>>2]|0;R=(Qg(P)|0)+ -1|0;b[Q>>1]=$g(f,R)|0;b[Q+2>>1]=$g(f,R)|0;R=M+(O*1596|0)|0;if(a[R>>0]|0){S=0;T=2;while(1){U=d[M+(O*1596|0)+S+1>>0]|0;V=a[M+(O*1596|0)+U+33>>0]|0;W=V&255;X=a[M+(O*1596|0)+U+49>>0]|0;Y=X&255;Z=(1<>24){X=c[F>>2]|0;_=d[M+(O*1596|0)+U+65>>0]|0;if((c[G>>2]|0)<10)xh(f);$=c[H>>2]|0;aa=b[X+(_*2096|0)+(($&1023)<<1)+36>>1]|0;ba=aa<<16>>16;if(aa<<16>>16>-1){aa=d[(c[X+(_*2096|0)+8>>2]|0)+ba>>0]|0;c[H>>2]=$>>>aa;$=(c[G>>2]|0)-aa|0;aa=($|0)<0;c[G>>2]=aa?0:$;ca=aa?-1:ba}else ca=yh(f,X+(_*2096|0)|0)|0;if(!(a[X+(_*2096|0)+23>>0]|0))da=ca;else da=c[(c[X+(_*2096|0)+2088>>2]|0)+(ca<<2)>>2]|0}else da=0;if(!(V<<24>>24))ea=T;else{_=V&255;V=_>>>0>1?_:1;_=da;X=0;ba=T;while(1){aa=b[M+(O*1596|0)+(U<<4)+((_&Z)<<1)+82>>1]|0;_=_>>Y;if(aa<<16>>16>-1){$=aa<<16>>16;aa=c[I>>2]|0;if((c[J>>2]|0)<10)xh(f);fa=c[K>>2]|0;ga=b[aa+($*2096|0)+((fa&1023)<<1)+36>>1]|0;ha=ga<<16>>16;if(ga<<16>>16>-1){ga=d[(c[aa+($*2096|0)+8>>2]|0)+ha>>0]|0;c[K>>2]=fa>>>ga;fa=(c[J>>2]|0)-ga|0;ga=(fa|0)<0;c[J>>2]=ga?0:fa;ia=ga?-1:ha}else ia=yh(f,aa+($*2096|0)|0)|0;if(!(a[aa+($*2096|0)+23>>0]|0))ja=ia;else ja=c[(c[aa+($*2096|0)+2088>>2]|0)+(ia<<2)>>2]|0;b[Q+(ba<<1)>>1]=ja}else b[Q+(ba<<1)>>1]=0;X=X+1|0;if((X|0)>=(W|0))break;else ba=ba+1|0}ea=T+V|0}S=S+1|0;if((S|0)>=(d[R>>0]|0))break;else T=ea}}if((c[D>>2]|0)!=-1){a[E>>0]=1;a[r>>0]=1;T=M+(O*1596|0)+1592|0;R=c[T>>2]|0;if((R|0)>2){S=2;do{ba=d[M+(O*1596|0)+(S<<1)+1088>>0]|0;W=d[M+(O*1596|0)+(S<<1)+1089>>0]|0;X=zh(e[M+(O*1596|0)+(S<<1)+338>>1]|0,e[M+(O*1596|0)+(ba<<1)+338>>1]|0,e[M+(O*1596|0)+(W<<1)+338>>1]|0,b[Q+(ba<<1)>>1]|0,b[Q+(W<<1)>>1]|0)|0;Y=Q+(S<<1)|0;_=b[Y>>1]|0;Z=_<<16>>16;U=P-X|0;do if(_<<16>>16){a[r+W>>0]=1;a[r+ba>>0]=1;a[r+S>>0]=1;if((Z|0)<(((U|0)<(X|0)?U:X)<<1|0))if(!(Z&1)){b[Y>>1]=(Z>>>1)+X;break}else{b[Y>>1]=X-((Z+1|0)>>>1);break}else if((U|0)>(X|0)){b[Y>>1]=_;break}else{b[Y>>1]=P+65535-Z;break}}else{a[r+S>>0]=0;b[Y>>1]=X}while(0);S=S+1|0;X=c[T>>2]|0}while((S|0)<(X|0));ka=X}else ka=R;if((ka|0)>0){S=c[T>>2]|0;P=0;do{if(!(a[r+P>>0]|0))b[Q+(P<<1)>>1]=-1;P=P+1|0}while((P|0)<(S|0))}}else la=47}else la=47;if((la|0)==47){la=0;c[N>>2]=1}L=L+1|0;if((L|0)>=(c[A>>2]|0))break a}qg(f,21);ma=0;i=o;return ma|0}while(0);la=f+96|0;if((c[la>>2]|0)!=0?(c[f+100>>2]|0)!=(c[f+108>>2]|0):0)va(13768,12536,2943,14248);oi(q|0,p|0,c[A>>2]<<2|0)|0;if(b[x>>1]|0){r=w+(v*40|0)+4|0;ka=c[r>>2]|0;ea=e[x>>1]|0;ja=0;do{if(!((c[p+(d[ka+(ja*3|0)>>0]<<2)>>2]|0)!=0?(c[p+(d[ka+(ja*3|0)+1>>0]<<2)>>2]|0)!=0:0)){c[p+(d[(c[r>>2]|0)+(ja*3|0)+1>>0]<<2)>>2]=0;c[p+(d[(c[r>>2]|0)+(ja*3|0)>>0]<<2)>>2]=0}ja=ja+1|0}while((ja|0)<(ea|0))}ea=w+(v*40|0)+8|0;if(a[ea>>0]|0){ja=w+(v*40|0)+4|0;r=0;do{if((c[A>>2]|0)>0){ka=c[ja>>2]|0;ia=c[A>>2]|0;da=0;ca=0;while(1){if((d[ka+(ca*3|0)+2>>0]|0)==(r|0)){L=t+da|0;if(!(c[p+(ca<<2)>>2]|0)){a[L>>0]=0;c[s+(da<<2)>>2]=c[f+(ca<<2)+816>>2]}else{a[L>>0]=1;c[s+(da<<2)>>2]=0}na=da+1|0}else na=da;ca=ca+1|0;if((ca|0)>=(ia|0)){oa=na;break}else da=na}}else oa=0;Ah(f,s,oa,y,d[w+(v*40|0)+r+24>>0]|0,t);r=r+1|0}while((r|0)<(d[ea>>0]|0))}if((c[la>>2]|0)!=0?(c[f+100>>2]|0)!=(c[f+108>>2]|0):0)va(13768,12536,2975,14248);ea=b[x>>1]|0;if(ea<<16>>16){r=w+(v*40|0)+4|0;v=(y|0)>0;w=ea&65535;do{w=w+ -1|0;ea=c[r>>2]|0;t=c[f+(d[ea+(w*3|0)>>0]<<2)+816>>2]|0;oa=c[f+(d[ea+(w*3|0)+1>>0]<<2)+816>>2]|0;if(v){ea=0;do{s=t+(ea<<2)|0;pa=+g[s>>2];na=oa+(ea<<2)|0;qa=+g[na>>2];p=qa>0.0;do if(pa>0.0)if(p){ra=pa-qa;sa=pa;break}else{ra=pa;sa=pa+qa;break}else if(p){ra=pa+qa;sa=pa;break}else{ra=pa;sa=pa-qa;break}while(0);g[s>>2]=sa;g[na>>2]=ra;ea=ea+1|0}while((ea|0)!=(y|0))}}while((w|0)>0)}if((c[A>>2]|0)>0){w=y<<2;v=0;do{r=c[f+(v<<2)+816>>2]|0;if(!(c[q+(v<<2)>>2]|0))Bh(f,x,v,u,r,c[f+(v<<2)+1012>>2]|0);else qi(r|0,0,w|0)|0;v=v+1|0;ta=c[A>>2]|0}while((v|0)<(ta|0));if((ta|0)>0){ta=0;do{Ch(c[f+(ta<<2)+816>>2]|0,u,f,d[j>>0]|0);ta=ta+1|0}while((ta|0)<(c[A>>2]|0))}}Tg(f);A=f+1393|0;if(!(a[A>>0]|0)){ta=f+1428|0;j=c[ta>>2]|0;if(!j)ua=k;else{v=j+k|0;c[n>>2]=v;c[ta>>2]=0;ua=v}}else{c[f+1076>>2]=z;c[f+1428>>2]=u-m;c[f+1080>>2]=1;a[A>>0]=0;ua=k}if((c[f+1404>>2]|0)==(c[f+1420>>2]|0)){k=f+1080|0;if(((c[k>>2]|0)!=0?(a[f+1391>>0]&4)!=0:0)?(A=(c[f+1424>>2]|0)+(m-u)|0,u=f+1076|0,z=c[u>>2]|0,A>>>0<(z+m|0)>>>0):0){v=(A>>>0>>0?0:A-z|0)+ua|0;c[h>>2]=v;c[u>>2]=(c[u>>2]|0)+v;ma=1;i=o;return ma|0}c[f+1076>>2]=ua-y+(c[f+1424>>2]|0);c[k>>2]=1}if(c[f+1080>>2]|0){k=f+1076|0;c[k>>2]=l-ua+(c[k>>2]|0)}if((c[la>>2]|0)!=0?(c[f+100>>2]|0)!=(c[f+108>>2]|0):0)va(13768,12536,3084,14248);c[h>>2]=m;ma=1;i=o;return ma|0}function xh(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;d=i;e=b+1412|0;f=c[e>>2]|0;if((f|0)>=25){i=d;return}if(!f)c[b+1408>>2]=0;f=b+1392|0;g=b+1400|0;h=b+1408|0;while(1){if((c[g>>2]|0)!=0?(a[f>>0]|0)==0:0){j=9;break}k=Zg(b)|0;if((k|0)==-1){j=9;break}c[h>>2]=(c[h>>2]|0)+(k<>2]);k=(c[e>>2]|0)+8|0;c[e>>2]=k;if((k|0)>=25){j=9;break}}if((j|0)==9){i=d;return}}function yh(b,e){b=b|0;e=e|0;var 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;f=i;xh(b);g=e+2084|0;if((c[g>>2]|0)==0?(c[e+32>>2]|0)==0:0)va(15472,12536,1211,15512);h=e+4|0;if((c[h>>2]|0)>8){if(c[g>>2]|0)j=7}else if(!(c[e+32>>2]|0))j=7;if((j|0)==7){j=b+1408|0;k=qh(c[j>>2]|0)|0;l=c[e+2092>>2]|0;if((l|0)>1){m=c[g>>2]|0;g=l;l=0;while(1){n=g>>1;o=n+l|0;p=(c[m+(o<<2)>>2]|0)>>>0>k>>>0;q=p?l:o;g=p?n:g-n|0;if((g|0)<=1){r=q;break}else l=q}}else r=0;if(!(a[e+23>>0]|0))s=c[(c[e+2088>>2]|0)+(r<<2)>>2]|0;else s=r;r=d[(c[e+8>>2]|0)+s>>0]|0;l=b+1412|0;if((c[l>>2]|0)<(r|0)){c[l>>2]=0;t=-1;i=f;return t|0}else{c[j>>2]=(c[j>>2]|0)>>>r;c[l>>2]=(c[l>>2]|0)-r;t=s;i=f;return t|0}}if(a[e+23>>0]|0)va(15544,12536,1244,15512);a:do if((c[h>>2]|0)>0){s=e+8|0;r=c[s>>2]|0;l=e+32|0;j=b+1408|0;g=0;while(1){k=a[r+g>>0]|0;u=k&255;if(k<<24>>24!=-1?(v=c[j>>2]|0,(c[(c[l>>2]|0)+(g<<2)>>2]|0)==(v&(1<>2]|0))g=k;else break a}l=b+1412|0;if((c[l>>2]|0)<(u|0)){c[l>>2]=0;t=-1;i=f;return t|0}else{c[j>>2]=v>>>u;c[l>>2]=(c[l>>2]|0)-(d[(c[s>>2]|0)+g>>0]|0);t=g;i=f;return t|0}}while(0);qg(b,21);c[b+1412>>2]=0;t=-1;i=f;return t|0}function zh(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0;f=e-d|0;e=(aa((f|0)>-1?f:0-f|0,a-b|0)|0)/(c-b|0)|0;return((f|0)<0?0-e|0:e)+d|0} + +function stackAlloc(size) { + size = size|0; + var ret = 0; + ret = STACKTOP; + STACKTOP = (STACKTOP + size)|0; + STACKTOP = (STACKTOP + 15)&-16; + if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(size|0); + + return ret|0; +} +function stackSave() { + return STACKTOP|0; +} +function stackRestore(top) { + top = top|0; + STACKTOP = top; +} +function establishStackSpace(stackBase, stackMax) { + stackBase = stackBase|0; + stackMax = stackMax|0; + STACKTOP = stackBase; + STACK_MAX = stackMax; +} + +function setThrew(threw, value) { + threw = threw|0; + value = value|0; + if ((__THREW__|0) == 0) { + __THREW__ = threw; + threwValue = value; + } +} + +function setTempRet0(value) { + value = value|0; + tempRet0 = value; +} +function getTempRet0() { + return tempRet0|0; +} + +function _main() { + var $0 = 0, $1 = 0, $2 = 0, $levelWin$byval_copy = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $levelWin$byval_copy = sp + 12|0; + $0 = sp; + _InitWindow(1280,720,5358); + _InitAudioDevice(); + _LoadSound($0,5388); + ;HEAP32[19960>>2]=HEAP32[$0>>2]|0;HEAP32[19960+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[19960+8>>2]=HEAP32[$0+8>>2]|0; + $1 = (_LoadMusicStream(5406)|0); + HEAP32[4993] = $1; + HEAP32[4994] = 0; + _InitLogoScreen(); + _emscripten_set_main_loop((1|0),0,1); + ;HEAP32[$levelWin$byval_copy>>2]=HEAP32[19960>>2]|0;HEAP32[$levelWin$byval_copy+4>>2]=HEAP32[19960+4>>2]|0;HEAP32[$levelWin$byval_copy+8>>2]=HEAP32[19960+8>>2]|0; + _UnloadSound($levelWin$byval_copy); + $2 = HEAP32[4993]|0; + _UnloadMusicStream($2); + _CloseAudioDevice(); + _CloseWindow(); + STACKTOP = sp;return 0; +} +function _UpdateDrawFrame() { + var $$byval_copy = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; + var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; + var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $$byval_copy = sp + 4|0; + $0 = sp; + $1 = HEAP32[4987]|0; + $2 = ($1|0)==(0); + L1: do { + if ($2) { + $3 = (_IsKeyPressed(48)|0); + $4 = ($3|0)==(0); + do { + if ($4) { + $5 = (_IsKeyPressed(49)|0); + $6 = ($5|0)==(0); + if (!($6)) { + _TransitionToScreen(2); + _InitLevel01Screen(); + break; + } + $7 = (_IsKeyPressed(50)|0); + $8 = ($7|0)==(0); + if (!($8)) { + _TransitionToScreen(3); + _InitLevel02Screen(); + break; + } + $9 = (_IsKeyPressed(51)|0); + $10 = ($9|0)==(0); + if (!($10)) { + _TransitionToScreen(4); + _InitLevel03Screen(); + break; + } + $11 = (_IsKeyPressed(52)|0); + $12 = ($11|0)==(0); + if (!($12)) { + _TransitionToScreen(5); + _InitLevel04Screen(); + break; + } + $13 = (_IsKeyPressed(53)|0); + $14 = ($13|0)==(0); + if (!($14)) { + _TransitionToScreen(6); + _InitLevel05Screen(); + break; + } + $15 = (_IsKeyPressed(54)|0); + $16 = ($15|0)==(0); + if (!($16)) { + _TransitionToScreen(7); + _InitLevel06Screen(); + break; + } + $17 = (_IsKeyPressed(55)|0); + $18 = ($17|0)==(0); + if (!($18)) { + _TransitionToScreen(8); + _InitLevel07Screen(); + break; + } + $19 = (_IsKeyPressed(56)|0); + $20 = ($19|0)==(0); + if (!($20)) { + _TransitionToScreen(9); + _InitLevel08Screen(); + break; + } + $21 = (_IsKeyPressed(57)|0); + $22 = ($21|0)==(0); + if (!($22)) { + _TransitionToScreen(10); + _InitLevel08Screen(); + } + } else { + _TransitionToScreen(1); + _InitLevel00Screen(); + } + } while(0); + $23 = HEAP32[4993]|0; + _UpdateMusicStream($23); + $24 = HEAP32[4994]|0; + do { + switch ($24|0) { + case 0: { + _UpdateLogoScreen(); + $25 = (_FinishLogoScreen()|0); + $26 = ($25|0)==(0); + if ($26) { + break L1; + } + _TransitionToScreen(1); + _InitLevel00Screen(); + $27 = HEAP32[4993]|0; + _PlayMusicStream($27); + $28 = HEAP32[4993]|0; + _SetMusicVolume($28,0.60000002384185791); + break L1; + break; + } + case 1: { + _UpdateLevel00Screen(); + $29 = (_FinishLevel00Screen()|0); + $30 = ($29|0)==(0); + if ($30) { + break L1; + } + _TransitionToScreen(2); + _InitLevel01Screen(); + break L1; + break; + } + case 2: { + _UpdateLevel01Screen(); + $31 = (_FinishLevel01Screen()|0); + $32 = ($31|0)==(0); + if ($32) { + break L1; + } + _TransitionToScreen(3); + _InitLevel02Screen(); + break L1; + break; + } + case 3: { + _UpdateLevel02Screen(); + $33 = (_FinishLevel02Screen()|0); + $34 = ($33|0)==(0); + if ($34) { + break L1; + } + _TransitionToScreen(4); + _InitLevel03Screen(); + break L1; + break; + } + case 4: { + _UpdateLevel03Screen(); + $35 = (_FinishLevel03Screen()|0); + $36 = ($35|0)==(0); + if ($36) { + break L1; + } + _TransitionToScreen(5); + _InitLevel04Screen(); + break L1; + break; + } + case 5: { + _UpdateLevel04Screen(); + $37 = (_FinishLevel04Screen()|0); + $38 = ($37|0)==(0); + if ($38) { + break L1; + } + _TransitionToScreen(6); + _InitLevel05Screen(); + break L1; + break; + } + case 6: { + _UpdateLevel05Screen(); + $39 = (_FinishLevel05Screen()|0); + $40 = ($39|0)==(0); + if ($40) { + break L1; + } + _TransitionToScreen(7); + _InitLevel06Screen(); + break L1; + break; + } + case 7: { + _UpdateLevel06Screen(); + $41 = (_FinishLevel06Screen()|0); + $42 = ($41|0)==(0); + if ($42) { + break L1; + } + _TransitionToScreen(8); + _InitLevel07Screen(); + break L1; + break; + } + case 8: { + _UpdateLevel07Screen(); + $43 = (_FinishLevel07Screen()|0); + $44 = ($43|0)==(0); + if ($44) { + break L1; + } + _TransitionToScreen(9); + _InitLevel08Screen(); + break L1; + break; + } + case 9: { + _UpdateLevel08Screen(); + $45 = (_FinishLevel08Screen()|0); + $46 = ($45|0)==(0); + if ($46) { + break L1; + } + _TransitionToScreen(10); + _InitLevel09Screen(); + break L1; + break; + } + case 10: { + _UpdateLevel09Screen(); + $47 = (_FinishLevel09Screen()|0); + $48 = ($47|0)==(0); + if ($48) { + break L1; + } + _TransitionToScreen(1); + _InitLevel00Screen(); + break L1; + break; + } + default: { + break L1; + } + } + } while(0); + } else { + _UpdateTransition(); + } + } while(0); + _BeginDrawing(); + HEAP8[$0>>0] = -11; + $49 = ((($0)) + 1|0); + HEAP8[$49>>0] = -11; + $50 = ((($0)) + 2|0); + HEAP8[$50>>0] = -11; + $51 = ((($0)) + 3|0); + HEAP8[$51>>0] = -1; + ;HEAP8[$$byval_copy>>0]=HEAP8[$0>>0]|0;HEAP8[$$byval_copy+1>>0]=HEAP8[$0+1>>0]|0;HEAP8[$$byval_copy+2>>0]=HEAP8[$0+2>>0]|0;HEAP8[$$byval_copy+3>>0]=HEAP8[$0+3>>0]|0; + _ClearBackground($$byval_copy); + $52 = HEAP32[4994]|0; + do { + switch ($52|0) { + case 0: { + _DrawLogoScreen(); + break; + } + case 1: { + _DrawLevel00Screen(); + break; + } + case 2: { + _DrawLevel01Screen(); + break; + } + case 3: { + _DrawLevel02Screen(); + break; + } + case 4: { + _DrawLevel03Screen(); + break; + } + case 5: { + _DrawLevel04Screen(); + break; + } + case 6: { + _DrawLevel05Screen(); + break; + } + case 7: { + _DrawLevel06Screen(); + break; + } + case 8: { + _DrawLevel07Screen(); + break; + } + case 9: { + _DrawLevel08Screen(); + break; + } + case 10: { + _DrawLevel09Screen(); + break; + } + default: { + } + } + } while(0); + $53 = HEAP32[4987]|0; + $54 = ($53|0)==(0); + if ($54) { + _EndDrawing(); + STACKTOP = sp;return; + } + _DrawTransition(); + _EndDrawing(); + STACKTOP = sp;return; +} +function _TransitionToScreen($0) { + $0 = $0|0; + var $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAP32[4987] = 1; + $1 = HEAP32[4994]|0; + HEAP32[2] = $1; + HEAP32[3] = $0; + return; +} +function _UpdateTransition() { + var $0 = 0, $1 = 0, $2 = 0.0, $3 = 0.0, $4 = 0, $5 = 0, $6 = 0.0, $7 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[4988]|0; + $1 = ($0|0)==(0); + $2 = +HEAPF32[4986]; + if ($1) { + $3 = $2 + 0.019999999552965164; + HEAPF32[4986] = $3; + $4 = !($3 >= 1.0); + if ($4) { + return; + } + HEAPF32[4986] = 1.0; + $5 = HEAP32[3]|0; + HEAP32[4994] = $5; + HEAP32[4988] = 1; + HEAP32[4989] = 0; + return; + } else { + $6 = $2 + -0.019999999552965164; + HEAPF32[4986] = $6; + $7 = !($6 <= 0.0); + if ($7) { + return; + } + HEAPF32[4986] = 0.0; + HEAP32[4988] = 0; + HEAP32[4987] = 0; + HEAP32[2] = -1; + HEAP32[3] = -1; + return; + } +} +function _DrawTransition() { + var $$byval_copy1 = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $$byval_copy1 = sp + 8|0; + $0 = sp + 4|0; + $1 = sp; + $2 = (_GetScreenWidth()|0); + $3 = (_GetScreenHeight()|0); + HEAP8[$1>>0] = -11; + $4 = ((($1)) + 1|0); + HEAP8[$4>>0] = -11; + $5 = ((($1)) + 2|0); + HEAP8[$5>>0] = -11; + $6 = ((($1)) + 3|0); + HEAP8[$6>>0] = -1; + $7 = +HEAPF32[4986]; + ;HEAP8[$$byval_copy1>>0]=HEAP8[$1>>0]|0;HEAP8[$$byval_copy1+1>>0]=HEAP8[$1+1>>0]|0;HEAP8[$$byval_copy1+2>>0]=HEAP8[$1+2>>0]|0;HEAP8[$$byval_copy1+3>>0]=HEAP8[$1+3>>0]|0; + _Fade($0,$$byval_copy1,$7); + ;HEAP8[$$byval_copy1>>0]=HEAP8[$0>>0]|0;HEAP8[$$byval_copy1+1>>0]=HEAP8[$0+1>>0]|0;HEAP8[$$byval_copy1+2>>0]=HEAP8[$0+2>>0]|0;HEAP8[$$byval_copy1+3>>0]=HEAP8[$0+3>>0]|0; + _DrawRectangle(0,0,$2,$3,$$byval_copy1); + STACKTOP = sp;return; +} +function _InitLogoScreen() { + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAP32[5002] = 0; + HEAP32[5003] = 0; + $0 = (_GetScreenWidth()|0); + $1 = (($0|0) / 2)&-1; + $2 = (($1) + -128)|0; + HEAP32[5000] = $2; + $3 = (_GetScreenHeight()|0); + $4 = (($3|0) / 2)&-1; + $5 = (($4) + -128)|0; + HEAP32[5001] = $5; + return; +} +function _UpdateLogoScreen() { + var $$013 = 0, $$0912 = 0, $$pr11 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; + var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; + var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $levelWin$byval_copy = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $levelWin$byval_copy = sp; + $0 = HEAP32[5002]|0; + $1 = (($0) + 1)|0; + HEAP32[5002] = $1; + $2 = HEAP32[4996]|0; + L1: do { + switch ($2|0) { + case 0: { + $3 = (($0) + 2)|0; + HEAP32[5002] = $3; + $4 = ($3|0)==(120); + if ($4) { + HEAP32[4996] = 1; + HEAP32[5002] = 0; + label = 32; + } else { + label = 32; + } + break; + } + case 1: { + $5 = HEAP32[4]|0; + $6 = (($5) + 4)|0; + HEAP32[4] = $6; + $7 = HEAP32[5]|0; + $8 = (($7) + 4)|0; + HEAP32[5] = $8; + $9 = ($6|0)==(256); + if ($9) { + HEAP32[4996] = 2; + label = 32; + } else { + label = 32; + } + break; + } + case 2: { + $10 = HEAP32[6]|0; + $11 = (($10) + 4)|0; + HEAP32[6] = $11; + $12 = HEAP32[7]|0; + $13 = (($12) + 4)|0; + HEAP32[7] = $13; + $14 = ($11|0)==(256); + if ($14) { + HEAP32[4999] = 0; + $15 = (_strlen(5564)|0); + $16 = ($15|0)==(0); + if (!($16)) { + $$0912 = 0; + while(1) { + $17 = (5564 + ($$0912)|0); + HEAP8[$17>>0] = 32; + $18 = (($$0912) + 1)|0; + $19 = (_strlen(5564)|0); + $20 = ($18>>>0)<($19>>>0); + if ($20) { + $$0912 = $18; + } else { + break; + } + } + } + HEAP32[4996] = 3; + label = 32; + } else { + label = 32; + } + break; + } + case 3: { + $21 = (($0) + 2)|0; + HEAP32[5002] = $21; + $22 = (($21|0) % 12)&-1; + $23 = ($22|0)==(0); + $24 = HEAP32[4995]|0; + if ($23) { + $25 = (($24) + 1)|0; + HEAP32[4995] = $25; + $26 = $25; + } else { + $26 = $24; + } + switch ($26|0) { + case 1: { + HEAP8[5556] = 114; + break; + } + case 2: { + HEAP8[(5557)>>0] = 97; + break; + } + case 3: { + HEAP8[(5558)>>0] = 121; + break; + } + case 4: { + HEAP8[(5559)>>0] = 108; + break; + } + case 5: { + HEAP8[(5560)>>0] = 105; + break; + } + case 6: { + HEAP8[(5561)>>0] = 98; + break; + } + default: { + } + } + $27 = HEAP32[4995]|0; + $28 = ($27|0)>(9); + if ($28) { + $29 = HEAP32[5002]|0; + $30 = $29 & 1; + $31 = ($30|0)==(0); + if ($31) { + $32 = HEAP32[4999]|0; + $33 = (($32) + 1)|0; + HEAP32[4999] = $33; + } + $34 = HEAP32[4997]|0; + $35 = ($34|0)==(0); + if (!($35)) { + $44 = HEAP32[4998]|0; + $45 = ($44|0)==(0); + if (!($45)) { + break L1; + } + $46 = HEAP32[4999]|0; + $47 = ($46>>>0)<(32); + if ($47) { + (_strncpy(5564,5492,$46)|0); + label = 32; + break L1; + } else { + HEAP32[4998] = 1; + HEAP32[5002] = 0; + ;HEAP32[$levelWin$byval_copy>>2]=HEAP32[19960>>2]|0;HEAP32[$levelWin$byval_copy+4>>2]=HEAP32[19960+4>>2]|0;HEAP32[$levelWin$byval_copy+8>>2]=HEAP32[19960+8>>2]|0; + _PlaySound($levelWin$byval_copy); + label = 32; + break L1; + } + } + $36 = HEAP32[4999]|0; + $37 = ($36>>>0)<(33); + if ($37) { + (_strncpy(5564,5428,$36)|0); + label = 32; + break L1; + } + $38 = (_strlen(5564)|0); + $39 = ($38|0)==(0); + if (!($39)) { + $$013 = 0; + while(1) { + $40 = (5564 + ($$013)|0); + HEAP8[$40>>0] = 32; + $41 = (($$013) + 1)|0; + $42 = (_strlen(5564)|0); + $43 = ($41>>>0)<($42>>>0); + if ($43) { + $$013 = $41; + } else { + break; + } + } + } + HEAP32[4999] = 0; + HEAP32[4997] = 1; + label = 32; + } else { + label = 32; + } + break; + } + default: { + label = 32; + } + } + } while(0); + if ((label|0) == 32) { + $$pr11 = HEAP32[4998]|0; + $48 = ($$pr11|0)==(0); + if ($48) { + STACKTOP = sp;return; + } + } + $49 = HEAP32[5002]|0; + $50 = (($49) + 1)|0; + HEAP32[5002] = $50; + $51 = ($49|0)>(89); + if (!($51)) { + STACKTOP = sp;return; + } + HEAP32[5003] = 1; + STACKTOP = sp;return; +} +function _DrawLogoScreen() { + var $$byval_copy16 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0; + var $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0; + var $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0; + var $151 = 0, $152 = 0, $153 = 0, $154 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0; + var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0; + var $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0; + var $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0; + var $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0); + $$byval_copy16 = sp + 68|0; + $0 = sp + 64|0; + $1 = sp + 60|0; + $2 = sp + 56|0; + $3 = sp + 52|0; + $4 = sp + 48|0; + $5 = sp + 44|0; + $6 = sp + 40|0; + $7 = sp + 36|0; + $8 = sp + 32|0; + $9 = sp + 28|0; + $10 = sp + 24|0; + $11 = sp + 20|0; + $12 = sp + 16|0; + $13 = sp + 12|0; + $14 = sp + 8|0; + $15 = sp + 4|0; + $16 = sp; + $17 = HEAP32[4996]|0; + switch ($17|0) { + case 0: { + $18 = HEAP32[5002]|0; + $19 = (($18|0) / 15)&-1; + $20 = $19 & 1; + $21 = ($20|0)==(0); + if ($21) { + STACKTOP = sp;return; + } + $22 = HEAP32[5000]|0; + $23 = HEAP32[5001]|0; + $24 = (($23) + -60)|0; + HEAP8[$0>>0] = 0; + $25 = ((($0)) + 1|0); + HEAP8[$25>>0] = 0; + $26 = ((($0)) + 2|0); + HEAP8[$26>>0] = 0; + $27 = ((($0)) + 3|0); + HEAP8[$27>>0] = -1; + ;HEAP8[$$byval_copy16>>0]=HEAP8[$0>>0]|0;HEAP8[$$byval_copy16+1>>0]=HEAP8[$0+1>>0]|0;HEAP8[$$byval_copy16+2>>0]=HEAP8[$0+2>>0]|0;HEAP8[$$byval_copy16+3>>0]=HEAP8[$0+3>>0]|0; + _DrawRectangle($22,$24,16,16,$$byval_copy16); + STACKTOP = sp;return; + break; + } + case 1: { + $28 = HEAP32[5000]|0; + $29 = HEAP32[5001]|0; + $30 = (($29) + -60)|0; + $31 = HEAP32[4]|0; + HEAP8[$1>>0] = 0; + $32 = ((($1)) + 1|0); + HEAP8[$32>>0] = 0; + $33 = ((($1)) + 2|0); + HEAP8[$33>>0] = 0; + $34 = ((($1)) + 3|0); + HEAP8[$34>>0] = -1; + ;HEAP8[$$byval_copy16>>0]=HEAP8[$1>>0]|0;HEAP8[$$byval_copy16+1>>0]=HEAP8[$1+1>>0]|0;HEAP8[$$byval_copy16+2>>0]=HEAP8[$1+2>>0]|0;HEAP8[$$byval_copy16+3>>0]=HEAP8[$1+3>>0]|0; + _DrawRectangle($28,$30,$31,16,$$byval_copy16); + $35 = HEAP32[5000]|0; + $36 = HEAP32[5001]|0; + $37 = (($36) + -60)|0; + $38 = HEAP32[5]|0; + HEAP8[$2>>0] = 0; + $39 = ((($2)) + 1|0); + HEAP8[$39>>0] = 0; + $40 = ((($2)) + 2|0); + HEAP8[$40>>0] = 0; + $41 = ((($2)) + 3|0); + HEAP8[$41>>0] = -1; + ;HEAP8[$$byval_copy16>>0]=HEAP8[$2>>0]|0;HEAP8[$$byval_copy16+1>>0]=HEAP8[$2+1>>0]|0;HEAP8[$$byval_copy16+2>>0]=HEAP8[$2+2>>0]|0;HEAP8[$$byval_copy16+3>>0]=HEAP8[$2+3>>0]|0; + _DrawRectangle($35,$37,16,$38,$$byval_copy16); + STACKTOP = sp;return; + break; + } + case 2: { + $42 = HEAP32[5000]|0; + $43 = HEAP32[5001]|0; + $44 = (($43) + -60)|0; + $45 = HEAP32[4]|0; + HEAP8[$3>>0] = 0; + $46 = ((($3)) + 1|0); + HEAP8[$46>>0] = 0; + $47 = ((($3)) + 2|0); + HEAP8[$47>>0] = 0; + $48 = ((($3)) + 3|0); + HEAP8[$48>>0] = -1; + ;HEAP8[$$byval_copy16>>0]=HEAP8[$3>>0]|0;HEAP8[$$byval_copy16+1>>0]=HEAP8[$3+1>>0]|0;HEAP8[$$byval_copy16+2>>0]=HEAP8[$3+2>>0]|0;HEAP8[$$byval_copy16+3>>0]=HEAP8[$3+3>>0]|0; + _DrawRectangle($42,$44,$45,16,$$byval_copy16); + $49 = HEAP32[5000]|0; + $50 = HEAP32[5001]|0; + $51 = (($50) + -60)|0; + $52 = HEAP32[5]|0; + HEAP8[$4>>0] = 0; + $53 = ((($4)) + 1|0); + HEAP8[$53>>0] = 0; + $54 = ((($4)) + 2|0); + HEAP8[$54>>0] = 0; + $55 = ((($4)) + 3|0); + HEAP8[$55>>0] = -1; + ;HEAP8[$$byval_copy16>>0]=HEAP8[$4>>0]|0;HEAP8[$$byval_copy16+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$$byval_copy16+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$$byval_copy16+3>>0]=HEAP8[$4+3>>0]|0; + _DrawRectangle($49,$51,16,$52,$$byval_copy16); + $56 = HEAP32[5000]|0; + $57 = (($56) + 240)|0; + $58 = HEAP32[5001]|0; + $59 = (($58) + -60)|0; + $60 = HEAP32[7]|0; + HEAP8[$5>>0] = 0; + $61 = ((($5)) + 1|0); + HEAP8[$61>>0] = 0; + $62 = ((($5)) + 2|0); + HEAP8[$62>>0] = 0; + $63 = ((($5)) + 3|0); + HEAP8[$63>>0] = -1; + ;HEAP8[$$byval_copy16>>0]=HEAP8[$5>>0]|0;HEAP8[$$byval_copy16+1>>0]=HEAP8[$5+1>>0]|0;HEAP8[$$byval_copy16+2>>0]=HEAP8[$5+2>>0]|0;HEAP8[$$byval_copy16+3>>0]=HEAP8[$5+3>>0]|0; + _DrawRectangle($57,$59,16,$60,$$byval_copy16); + $64 = HEAP32[5000]|0; + $65 = HEAP32[5001]|0; + $66 = (($65) + 180)|0; + $67 = HEAP32[6]|0; + HEAP8[$6>>0] = 0; + $68 = ((($6)) + 1|0); + HEAP8[$68>>0] = 0; + $69 = ((($6)) + 2|0); + HEAP8[$69>>0] = 0; + $70 = ((($6)) + 3|0); + HEAP8[$70>>0] = -1; + ;HEAP8[$$byval_copy16>>0]=HEAP8[$6>>0]|0;HEAP8[$$byval_copy16+1>>0]=HEAP8[$6+1>>0]|0;HEAP8[$$byval_copy16+2>>0]=HEAP8[$6+2>>0]|0;HEAP8[$$byval_copy16+3>>0]=HEAP8[$6+3>>0]|0; + _DrawRectangle($64,$66,$67,16,$$byval_copy16); + STACKTOP = sp;return; + break; + } + case 3: { + $71 = HEAP32[5000]|0; + $72 = HEAP32[5001]|0; + $73 = (($72) + -60)|0; + $74 = HEAP32[4]|0; + HEAP8[$7>>0] = 0; + $75 = ((($7)) + 1|0); + HEAP8[$75>>0] = 0; + $76 = ((($7)) + 2|0); + HEAP8[$76>>0] = 0; + $77 = ((($7)) + 3|0); + HEAP8[$77>>0] = -1; + ;HEAP8[$$byval_copy16>>0]=HEAP8[$7>>0]|0;HEAP8[$$byval_copy16+1>>0]=HEAP8[$7+1>>0]|0;HEAP8[$$byval_copy16+2>>0]=HEAP8[$7+2>>0]|0;HEAP8[$$byval_copy16+3>>0]=HEAP8[$7+3>>0]|0; + _DrawRectangle($71,$73,$74,16,$$byval_copy16); + $78 = HEAP32[5000]|0; + $79 = HEAP32[5001]|0; + $80 = (($79) + -44)|0; + $81 = HEAP32[5]|0; + $82 = (($81) + -32)|0; + HEAP8[$8>>0] = 0; + $83 = ((($8)) + 1|0); + HEAP8[$83>>0] = 0; + $84 = ((($8)) + 2|0); + HEAP8[$84>>0] = 0; + $85 = ((($8)) + 3|0); + HEAP8[$85>>0] = -1; + ;HEAP8[$$byval_copy16>>0]=HEAP8[$8>>0]|0;HEAP8[$$byval_copy16+1>>0]=HEAP8[$8+1>>0]|0;HEAP8[$$byval_copy16+2>>0]=HEAP8[$8+2>>0]|0;HEAP8[$$byval_copy16+3>>0]=HEAP8[$8+3>>0]|0; + _DrawRectangle($78,$80,16,$82,$$byval_copy16); + $86 = HEAP32[5000]|0; + $87 = (($86) + 240)|0; + $88 = HEAP32[5001]|0; + $89 = (($88) + -44)|0; + $90 = HEAP32[7]|0; + $91 = (($90) + -32)|0; + HEAP8[$9>>0] = 0; + $92 = ((($9)) + 1|0); + HEAP8[$92>>0] = 0; + $93 = ((($9)) + 2|0); + HEAP8[$93>>0] = 0; + $94 = ((($9)) + 3|0); + HEAP8[$94>>0] = -1; + ;HEAP8[$$byval_copy16>>0]=HEAP8[$9>>0]|0;HEAP8[$$byval_copy16+1>>0]=HEAP8[$9+1>>0]|0;HEAP8[$$byval_copy16+2>>0]=HEAP8[$9+2>>0]|0;HEAP8[$$byval_copy16+3>>0]=HEAP8[$9+3>>0]|0; + _DrawRectangle($87,$89,16,$91,$$byval_copy16); + $95 = HEAP32[5000]|0; + $96 = HEAP32[5001]|0; + $97 = (($96) + 180)|0; + $98 = HEAP32[6]|0; + HEAP8[$10>>0] = 0; + $99 = ((($10)) + 1|0); + HEAP8[$99>>0] = 0; + $100 = ((($10)) + 2|0); + HEAP8[$100>>0] = 0; + $101 = ((($10)) + 3|0); + HEAP8[$101>>0] = -1; + ;HEAP8[$$byval_copy16>>0]=HEAP8[$10>>0]|0;HEAP8[$$byval_copy16+1>>0]=HEAP8[$10+1>>0]|0;HEAP8[$$byval_copy16+2>>0]=HEAP8[$10+2>>0]|0;HEAP8[$$byval_copy16+3>>0]=HEAP8[$10+3>>0]|0; + _DrawRectangle($95,$97,$98,16,$$byval_copy16); + $102 = (_GetScreenWidth()|0); + $103 = (($102|0) / 2)&-1; + $104 = (($103) + -112)|0; + $105 = (_GetScreenHeight()|0); + $106 = (($105|0) / 2)&-1; + $107 = (($106) + -172)|0; + HEAP8[$11>>0] = -11; + $108 = ((($11)) + 1|0); + HEAP8[$108>>0] = -11; + $109 = ((($11)) + 2|0); + HEAP8[$109>>0] = -11; + $110 = ((($11)) + 3|0); + HEAP8[$110>>0] = -1; + ;HEAP8[$$byval_copy16>>0]=HEAP8[$11>>0]|0;HEAP8[$$byval_copy16+1>>0]=HEAP8[$11+1>>0]|0;HEAP8[$$byval_copy16+2>>0]=HEAP8[$11+2>>0]|0;HEAP8[$$byval_copy16+3>>0]=HEAP8[$11+3>>0]|0; + _DrawRectangle($104,$107,224,224,$$byval_copy16); + $111 = (_GetScreenWidth()|0); + $112 = (($111|0) / 2)&-1; + $113 = (($112) + -44)|0; + $114 = (_GetScreenHeight()|0); + $115 = (($114|0) / 2)&-1; + $116 = (($115) + -12)|0; + HEAP8[$12>>0] = 0; + $117 = ((($12)) + 1|0); + HEAP8[$117>>0] = 0; + $118 = ((($12)) + 2|0); + HEAP8[$118>>0] = 0; + $119 = ((($12)) + 3|0); + HEAP8[$119>>0] = -1; + ;HEAP8[$$byval_copy16>>0]=HEAP8[$12>>0]|0;HEAP8[$$byval_copy16+1>>0]=HEAP8[$12+1>>0]|0;HEAP8[$$byval_copy16+2>>0]=HEAP8[$12+2>>0]|0;HEAP8[$$byval_copy16+3>>0]=HEAP8[$12+3>>0]|0; + _DrawText(5556,$113,$116,50,$$byval_copy16); + $120 = HEAP32[4997]|0; + $121 = ($120|0)==(0); + $122 = (_GetScreenWidth()|0); + $123 = (($122|0) / 2)&-1; + $124 = (_MeasureText(5428,30)|0); + $125 = (($124|0) / 2)&-1; + $126 = (($123) - ($125))|0; + $127 = HEAP32[5001]|0; + $128 = (($127) + 230)|0; + if ($121) { + HEAP8[$13>>0] = -126; + $129 = ((($13)) + 1|0); + HEAP8[$129>>0] = -126; + $130 = ((($13)) + 2|0); + HEAP8[$130>>0] = -126; + $131 = ((($13)) + 3|0); + HEAP8[$131>>0] = -1; + ;HEAP8[$$byval_copy16>>0]=HEAP8[$13>>0]|0;HEAP8[$$byval_copy16+1>>0]=HEAP8[$13+1>>0]|0;HEAP8[$$byval_copy16+2>>0]=HEAP8[$13+2>>0]|0;HEAP8[$$byval_copy16+3>>0]=HEAP8[$13+3>>0]|0; + _DrawText(5564,$126,$128,30,$$byval_copy16); + STACKTOP = sp;return; + } + HEAP8[$14>>0] = -126; + $132 = ((($14)) + 1|0); + HEAP8[$132>>0] = -126; + $133 = ((($14)) + 2|0); + HEAP8[$133>>0] = -126; + $134 = ((($14)) + 3|0); + HEAP8[$134>>0] = -1; + ;HEAP8[$$byval_copy16>>0]=HEAP8[$14>>0]|0;HEAP8[$$byval_copy16+1>>0]=HEAP8[$14+1>>0]|0;HEAP8[$$byval_copy16+2>>0]=HEAP8[$14+2>>0]|0;HEAP8[$$byval_copy16+3>>0]=HEAP8[$14+3>>0]|0; + _DrawText(5428,$126,$128,30,$$byval_copy16); + $135 = HEAP32[4998]|0; + $136 = ($135|0)==(0); + $137 = (_GetScreenWidth()|0); + $138 = (($137|0) / 2)&-1; + if ($136) { + $139 = (_MeasureText(5492,30)|0); + $140 = (($139|0) / 2)&-1; + $141 = (($138) - ($140))|0; + $142 = HEAP32[5001]|0; + $143 = (($142) + 280)|0; + HEAP8[$15>>0] = -126; + $144 = ((($15)) + 1|0); + HEAP8[$144>>0] = -126; + $145 = ((($15)) + 2|0); + HEAP8[$145>>0] = -126; + $146 = ((($15)) + 3|0); + HEAP8[$146>>0] = -1; + ;HEAP8[$$byval_copy16>>0]=HEAP8[$15>>0]|0;HEAP8[$$byval_copy16+1>>0]=HEAP8[$15+1>>0]|0;HEAP8[$$byval_copy16+2>>0]=HEAP8[$15+2>>0]|0;HEAP8[$$byval_copy16+3>>0]=HEAP8[$15+3>>0]|0; + _DrawText(5564,$141,$143,30,$$byval_copy16); + STACKTOP = sp;return; + } else { + $147 = (_MeasureText(5428,30)|0); + $148 = (($147|0) / 2)&-1; + $149 = (($138) - ($148))|0; + $150 = HEAP32[5001]|0; + $151 = (($150) + 280)|0; + HEAP8[$16>>0] = -126; + $152 = ((($16)) + 1|0); + HEAP8[$152>>0] = -126; + $153 = ((($16)) + 2|0); + HEAP8[$153>>0] = -126; + $154 = ((($16)) + 3|0); + HEAP8[$154>>0] = -1; + ;HEAP8[$$byval_copy16>>0]=HEAP8[$16>>0]|0;HEAP8[$$byval_copy16+1>>0]=HEAP8[$16+1>>0]|0;HEAP8[$$byval_copy16+2>>0]=HEAP8[$16+2>>0]|0;HEAP8[$$byval_copy16+3>>0]=HEAP8[$16+3>>0]|0; + _DrawText(5492,$149,$151,30,$$byval_copy16); + STACKTOP = sp;return; + } + break; + } + default: { + STACKTOP = sp;return; + } + } +} +function _UnloadLogoScreen() { + var label = 0, sp = 0; + sp = STACKTOP; + return; +} +function _FinishLogoScreen() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[5003]|0; + return ($0|0); +} +function _InitLevel00Screen() { + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAP32[5004] = 0; + HEAP32[5005] = 0; + $0 = (_GetScreenWidth()|0); + $1 = (($0|0) / 2)&-1; + $2 = (($1) + -265)|0; + $3 = (_MeasureText(5692,160)|0); + $4 = (($3) + 40)|0; + HEAP32[5006] = $2; + HEAP32[(20028)>>2] = -200; + HEAP32[(20032)>>2] = $4; + HEAP32[(20036)>>2] = 160; + $5 = (_GetScreenWidth()|0); + $6 = (($5) + -370)|0; + $7 = (_MeasureText(5694,160)|0); + $8 = (($7) + 40)|0; + HEAP32[5010] = $6; + HEAP32[(20044)>>2] = -30; + HEAP32[(20048)>>2] = $8; + HEAP32[(20052)>>2] = 160; + return; +} +function _UpdateLevel00Screen() { + var $$byval_copy1 = 0, $$pr = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; + var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0; + var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $7 = 0; + var $8 = 0, $9 = 0, $levelWin$byval_copy = 0, $or$cond = 0, $or$cond3 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $levelWin$byval_copy = sp + 16|0; + $$byval_copy1 = sp + 8|0; + $0 = sp; + $1 = HEAP32[5014]|0; + $2 = ($1|0)==(0); + if ($2) { + $3 = HEAP32[5004]|0; + $4 = (($3) + 1)|0; + HEAP32[5004] = $4; + $5 = HEAP32[5015]|0; + $6 = ($5|0)==(0); + if ($6) { + $7 = HEAP32[(20028)>>2]|0; + $8 = (($7) + 2)|0; + HEAP32[(20028)>>2] = $8; + } + $9 = HEAP32[(20028)>>2]|0; + $10 = (_GetScreenHeight()|0); + $11 = ($9|0)<($10|0); + if (!($11)) { + $12 = HEAP32[(20036)>>2]|0; + $13 = (0 - ($12))|0; + HEAP32[(20028)>>2] = $13; + } + _GetMousePosition($0); + ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0; + ;HEAP32[$levelWin$byval_copy>>2]=HEAP32[20024>>2]|0;HEAP32[$levelWin$byval_copy+4>>2]=HEAP32[20024+4>>2]|0;HEAP32[$levelWin$byval_copy+8>>2]=HEAP32[20024+8>>2]|0;HEAP32[$levelWin$byval_copy+12>>2]=HEAP32[20024+12>>2]|0; + $14 = (_CheckCollisionPointRec($$byval_copy1,$levelWin$byval_copy)|0); + $15 = ($14|0)==(0); + if ($15) { + HEAP32[5016] = 0; + } else { + HEAP32[5016] = 1; + $16 = HEAP32[5015]|0; + $17 = ($16|0)==(0); + if ($17) { + $18 = (_IsMouseButtonPressed(0)|0); + $19 = ($18|0)==(0); + if (!($19)) { + $20 = HEAP32[(20028)>>2]|0; + $21 = (_GetScreenHeight()|0); + $22 = (($21|0) / 2)&-1; + $23 = (($22) + -110)|0; + $24 = ($20|0)>($23|0); + if ($24) { + $25 = HEAP32[(20028)>>2]|0; + $26 = HEAP32[(20036)>>2]|0; + $27 = (($26) + ($25))|0; + $28 = (_GetScreenHeight()|0); + $29 = (($28|0) / 2)&-1; + $30 = (($29) + 100)|0; + $31 = ($27|0)<($30|0); + if ($31) { + HEAP32[5015] = 1; + } + } + } + } + } + ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0; + ;HEAP32[$levelWin$byval_copy>>2]=HEAP32[20040>>2]|0;HEAP32[$levelWin$byval_copy+4>>2]=HEAP32[20040+4>>2]|0;HEAP32[$levelWin$byval_copy+8>>2]=HEAP32[20040+8>>2]|0;HEAP32[$levelWin$byval_copy+12>>2]=HEAP32[20040+12>>2]|0; + $32 = (_CheckCollisionPointRec($$byval_copy1,$levelWin$byval_copy)|0); + $33 = ($32|0)==(0); + if ($33) { + HEAP32[5017] = 0; + } else { + HEAP32[5017] = 1; + $34 = HEAP32[5018]|0; + $35 = ($34|0)==(0); + if ($35) { + $36 = (_IsMouseButtonPressed(0)|0); + $37 = ($36|0)==(0); + if (!($37)) { + $38 = HEAP32[(20044)>>2]|0; + $39 = (($38) + 100)|0; + HEAP32[(20044)>>2] = $39; + } + } + $40 = HEAP32[(20044)>>2]|0; + $41 = (_GetScreenHeight()|0); + $42 = (($41|0) / 2)&-1; + $43 = (($42) + -130)|0; + $44 = ($40|0)<($43|0); + if (!($44)) { + HEAP32[5018] = 1; + } + } + $45 = HEAP32[5018]|0; + $46 = ($45|0)!=(0); + $47 = HEAP32[5015]|0; + $48 = ($47|0)!=(0); + $or$cond = $46 & $48; + if ($or$cond) { + HEAP32[5014] = 1; + ;HEAP32[$levelWin$byval_copy>>2]=HEAP32[19960>>2]|0;HEAP32[$levelWin$byval_copy+4>>2]=HEAP32[19960+4>>2]|0;HEAP32[$levelWin$byval_copy+8>>2]=HEAP32[19960+8>>2]|0; + _PlaySound($levelWin$byval_copy); + } + } + $49 = HEAP32[5014]|0; + $50 = ($49|0)==(0); + $51 = HEAP32[5019]|0; + $52 = ($51|0)!=(0); + $or$cond3 = $50 | $52; + if (!($or$cond3)) { + $53 = HEAP32[5004]|0; + $54 = (($53|0) / 60)&-1; + HEAP32[5020] = $54; + HEAP32[5019] = 1; + HEAP32[5004] = 1; + STACKTOP = sp;return; + } + $55 = ($51|0)==(0); + if ($55) { + STACKTOP = sp;return; + } + $$pr = HEAP32[5004]|0; + $56 = (($$pr) + 1)|0; + HEAP32[5004] = $56; + $57 = ($$pr|0)>(29); + if (!($57)) { + STACKTOP = sp;return; + } + $58 = (_IsMouseButtonPressed(0)|0); + $59 = ($58|0)==(0); + if ($59) { + STACKTOP = sp;return; + } + HEAP32[5005] = 1; + STACKTOP = sp;return; +} +function _DrawLevel00Screen() { + var $$byval_copy11 = 0, $$byval_copy15 = 0, $$neg = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0; + var $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; + var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; + var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0; + var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0; + var $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0; + var $99 = 0, $or$cond = 0, $or$cond3 = 0, $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0); + $$byval_copy15 = sp + 100|0; + $$byval_copy11 = sp + 24|0; + $vararg_buffer = sp; + $0 = sp + 96|0; + $1 = sp + 92|0; + $2 = sp + 88|0; + $3 = sp + 84|0; + $4 = sp + 80|0; + $5 = sp + 76|0; + $6 = sp + 72|0; + $7 = sp + 68|0; + $8 = sp + 64|0; + $9 = sp + 60|0; + $10 = sp + 8|0; + $11 = sp + 56|0; + $12 = sp + 52|0; + $13 = sp + 48|0; + $14 = sp + 44|0; + $15 = sp + 40|0; + $16 = HEAP32[5006]|0; + $17 = HEAP32[(20028)>>2]|0; + $18 = (($17) + 10)|0; + HEAP8[$0>>0] = -126; + $19 = ((($0)) + 1|0); + HEAP8[$19>>0] = -126; + $20 = ((($0)) + 2|0); + HEAP8[$20>>0] = -126; + $21 = ((($0)) + 3|0); + HEAP8[$21>>0] = -1; + ;HEAP8[$$byval_copy15>>0]=HEAP8[$0>>0]|0;HEAP8[$$byval_copy15+1>>0]=HEAP8[$0+1>>0]|0;HEAP8[$$byval_copy15+2>>0]=HEAP8[$0+2>>0]|0;HEAP8[$$byval_copy15+3>>0]=HEAP8[$0+3>>0]|0; + _DrawText(5692,$16,$18,160,$$byval_copy15); + $22 = (_GetScreenWidth()|0); + $23 = (($22|0) / 2)&-1; + $24 = (_MeasureText(5696,160)|0); + $25 = (($24|0) / 2)&-1; + $26 = (($23) - ($25))|0; + $27 = (_GetScreenHeight()|0); + $28 = (($27|0) / 2)&-1; + $29 = (($28) + -80)|0; + HEAP8[$1>>0] = -126; + $30 = ((($1)) + 1|0); + HEAP8[$30>>0] = -126; + $31 = ((($1)) + 2|0); + HEAP8[$31>>0] = -126; + $32 = ((($1)) + 3|0); + HEAP8[$32>>0] = -1; + ;HEAP8[$$byval_copy15>>0]=HEAP8[$1>>0]|0;HEAP8[$$byval_copy15+1>>0]=HEAP8[$1+1>>0]|0;HEAP8[$$byval_copy15+2>>0]=HEAP8[$1+2>>0]|0;HEAP8[$$byval_copy15+3>>0]=HEAP8[$1+3>>0]|0; + _DrawText(5704,$26,$29,160,$$byval_copy15); + $33 = (_GetScreenWidth()|0); + $34 = (($33|0) / 2)&-1; + $35 = (_MeasureText(5696,160)|0); + $$neg = (($35|0) / -2)&-1; + $36 = (($34) + 210)|0; + $37 = (($36) + ($$neg))|0; + $38 = (_GetScreenHeight()|0); + $39 = (($38|0) / 2)&-1; + $40 = (($39) + -80)|0; + HEAP8[$2>>0] = -126; + $41 = ((($2)) + 1|0); + HEAP8[$41>>0] = -126; + $42 = ((($2)) + 2|0); + HEAP8[$42>>0] = -126; + $43 = ((($2)) + 3|0); + HEAP8[$43>>0] = -1; + ;HEAP8[$$byval_copy15>>0]=HEAP8[$2>>0]|0;HEAP8[$$byval_copy15+1>>0]=HEAP8[$2+1>>0]|0;HEAP8[$$byval_copy15+2>>0]=HEAP8[$2+2>>0]|0;HEAP8[$$byval_copy15+3>>0]=HEAP8[$2+3>>0]|0; + _DrawText(5706,$37,$40,160,$$byval_copy15); + $44 = HEAP32[5010]|0; + $45 = HEAP32[(20044)>>2]|0; + $46 = (($45) + 10)|0; + HEAP8[$3>>0] = -126; + $47 = ((($3)) + 1|0); + HEAP8[$47>>0] = -126; + $48 = ((($3)) + 2|0); + HEAP8[$48>>0] = -126; + $49 = ((($3)) + 3|0); + HEAP8[$49>>0] = -1; + ;HEAP8[$$byval_copy15>>0]=HEAP8[$3>>0]|0;HEAP8[$$byval_copy15+1>>0]=HEAP8[$3+1>>0]|0;HEAP8[$$byval_copy15+2>>0]=HEAP8[$3+2>>0]|0;HEAP8[$$byval_copy15+3>>0]=HEAP8[$3+3>>0]|0; + _DrawText(5694,$44,$46,160,$$byval_copy15); + $50 = (_GetScreenHeight()|0); + $51 = (($50|0) / 2)&-1; + $52 = (($51) + 100)|0; + HEAP8[$5>>0] = -56; + $53 = ((($5)) + 1|0); + HEAP8[$53>>0] = -56; + $54 = ((($5)) + 2|0); + HEAP8[$54>>0] = -56; + $55 = ((($5)) + 3|0); + HEAP8[$55>>0] = -1; + ;HEAP8[$$byval_copy15>>0]=HEAP8[$5>>0]|0;HEAP8[$$byval_copy15+1>>0]=HEAP8[$5+1>>0]|0;HEAP8[$$byval_copy15+2>>0]=HEAP8[$5+2>>0]|0;HEAP8[$$byval_copy15+3>>0]=HEAP8[$5+3>>0]|0; + _Fade($4,$$byval_copy15,0.40000000596046448); + ;HEAP8[$$byval_copy15>>0]=HEAP8[$4>>0]|0;HEAP8[$$byval_copy15+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$$byval_copy15+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$$byval_copy15+3>>0]=HEAP8[$4+3>>0]|0; + _DrawText(5711,370,$52,30,$$byval_copy15); + $56 = HEAP32[5016]|0; + $57 = ($56|0)==(0); + $58 = HEAP32[5015]|0; + $59 = ($58|0)!=(0); + $or$cond = $57 | $59; + if (!($or$cond)) { + $60 = HEAP32[5006]|0; + $61 = (($60) + -20)|0; + $62 = HEAP32[(20028)>>2]|0; + $63 = HEAP32[(20032)>>2]|0; + $64 = HEAP32[(20036)>>2]|0; + HEAP8[$7>>0] = -56; + $65 = ((($7)) + 1|0); + HEAP8[$65>>0] = -56; + $66 = ((($7)) + 2|0); + HEAP8[$66>>0] = -56; + $67 = ((($7)) + 3|0); + HEAP8[$67>>0] = -1; + ;HEAP8[$$byval_copy15>>0]=HEAP8[$7>>0]|0;HEAP8[$$byval_copy15+1>>0]=HEAP8[$7+1>>0]|0;HEAP8[$$byval_copy15+2>>0]=HEAP8[$7+2>>0]|0;HEAP8[$$byval_copy15+3>>0]=HEAP8[$7+3>>0]|0; + _Fade($6,$$byval_copy15,0.80000001192092896); + ;HEAP8[$$byval_copy15>>0]=HEAP8[$6>>0]|0;HEAP8[$$byval_copy15+1>>0]=HEAP8[$6+1>>0]|0;HEAP8[$$byval_copy15+2>>0]=HEAP8[$6+2>>0]|0;HEAP8[$$byval_copy15+3>>0]=HEAP8[$6+3>>0]|0; + _DrawRectangleLines($61,$62,$63,$64,$$byval_copy15); + } + $68 = HEAP32[5017]|0; + $69 = ($68|0)==(0); + $70 = HEAP32[5018]|0; + $71 = ($70|0)!=(0); + $or$cond3 = $69 | $71; + if (!($or$cond3)) { + $72 = HEAP32[5010]|0; + $73 = (($72) + -20)|0; + $74 = HEAP32[(20044)>>2]|0; + $75 = HEAP32[(20048)>>2]|0; + $76 = HEAP32[(20052)>>2]|0; + HEAP8[$9>>0] = -56; + $77 = ((($9)) + 1|0); + HEAP8[$77>>0] = -56; + $78 = ((($9)) + 2|0); + HEAP8[$78>>0] = -56; + $79 = ((($9)) + 3|0); + HEAP8[$79>>0] = -1; + ;HEAP8[$$byval_copy15>>0]=HEAP8[$9>>0]|0;HEAP8[$$byval_copy15+1>>0]=HEAP8[$9+1>>0]|0;HEAP8[$$byval_copy15+2>>0]=HEAP8[$9+2>>0]|0;HEAP8[$$byval_copy15+3>>0]=HEAP8[$9+3>>0]|0; + _Fade($8,$$byval_copy15,0.80000001192092896); + ;HEAP8[$$byval_copy15>>0]=HEAP8[$8>>0]|0;HEAP8[$$byval_copy15+1>>0]=HEAP8[$8+1>>0]|0;HEAP8[$$byval_copy15+2>>0]=HEAP8[$8+2>>0]|0;HEAP8[$$byval_copy15+3>>0]=HEAP8[$8+3>>0]|0; + _DrawRectangleLines($73,$74,$75,$76,$$byval_copy15); + } + $80 = HEAP32[5019]|0; + $81 = ($80|0)==(0); + if ($81) { + $110 = (_GetScreenWidth()|0); + $111 = (($110|0) / 2)&-1; + $112 = (_MeasureText(5742,30)|0); + $113 = (($112|0) / 2)&-1; + $114 = (($111) - ($113))|0; + HEAP8[$15>>0] = -56; + $115 = ((($15)) + 1|0); + HEAP8[$115>>0] = -56; + $116 = ((($15)) + 2|0); + HEAP8[$116>>0] = -56; + $117 = ((($15)) + 3|0); + HEAP8[$117>>0] = -1; + ;HEAP8[$$byval_copy15>>0]=HEAP8[$15>>0]|0;HEAP8[$$byval_copy15+1>>0]=HEAP8[$15+1>>0]|0;HEAP8[$$byval_copy15+2>>0]=HEAP8[$15+2>>0]|0;HEAP8[$$byval_copy15+3>>0]=HEAP8[$15+3>>0]|0; + _DrawText(5742,$114,20,30,$$byval_copy15); + STACKTOP = sp;return; + } else { + HEAP32[$10>>2] = 0; + $82 = ((($10)) + 4|0); + HEAP32[$82>>2] = 0; + $83 = ((($10)) + 8|0); + $84 = (_GetScreenWidth()|0); + HEAP32[$83>>2] = $84; + $85 = ((($10)) + 12|0); + $86 = (_GetScreenHeight()|0); + HEAP32[$85>>2] = $86; + HEAP8[$12>>0] = -56; + $87 = ((($12)) + 1|0); + HEAP8[$87>>0] = -56; + $88 = ((($12)) + 2|0); + HEAP8[$88>>0] = -56; + $89 = ((($12)) + 3|0); + HEAP8[$89>>0] = -1; + ;HEAP8[$$byval_copy15>>0]=HEAP8[$12>>0]|0;HEAP8[$$byval_copy15+1>>0]=HEAP8[$12+1>>0]|0;HEAP8[$$byval_copy15+2>>0]=HEAP8[$12+2>>0]|0;HEAP8[$$byval_copy15+3>>0]=HEAP8[$12+3>>0]|0; + _Fade($11,$$byval_copy15,0.60000002384185791); + ;HEAP32[$$byval_copy11>>2]=HEAP32[$10>>2]|0;HEAP32[$$byval_copy11+4>>2]=HEAP32[$10+4>>2]|0;HEAP32[$$byval_copy11+8>>2]=HEAP32[$10+8>>2]|0;HEAP32[$$byval_copy11+12>>2]=HEAP32[$10+12>>2]|0; + ;HEAP8[$$byval_copy15>>0]=HEAP8[$11>>0]|0;HEAP8[$$byval_copy15+1>>0]=HEAP8[$11+1>>0]|0;HEAP8[$$byval_copy15+2>>0]=HEAP8[$11+2>>0]|0;HEAP8[$$byval_copy15+3>>0]=HEAP8[$11+3>>0]|0; + _DrawRectangleBordersRec($$byval_copy11,0,0,60,$$byval_copy15); + $90 = (_GetScreenWidth()|0); + $91 = (($90|0) / 2)&-1; + $92 = (_MeasureText(5742,30)|0); + $93 = (($92|0) / 2)&-1; + $94 = (($91) - ($93))|0; + HEAP8[$13>>0] = -126; + $95 = ((($13)) + 1|0); + HEAP8[$95>>0] = -126; + $96 = ((($13)) + 2|0); + HEAP8[$96>>0] = -126; + $97 = ((($13)) + 3|0); + HEAP8[$97>>0] = -1; + ;HEAP8[$$byval_copy15>>0]=HEAP8[$13>>0]|0;HEAP8[$$byval_copy15+1>>0]=HEAP8[$13+1>>0]|0;HEAP8[$$byval_copy15+2>>0]=HEAP8[$13+2>>0]|0;HEAP8[$$byval_copy15+3>>0]=HEAP8[$13+3>>0]|0; + _DrawText(5742,$94,20,30,$$byval_copy15); + $98 = HEAP32[5020]|0; + HEAP32[$vararg_buffer>>2] = $98; + $99 = (_FormatText(5832,$vararg_buffer)|0); + $100 = (_GetScreenWidth()|0); + $101 = (($100|0) / 2)&-1; + $102 = (_MeasureText(5854,30)|0); + $103 = (($102|0) / 2)&-1; + $104 = (($101) - ($103))|0; + $105 = (_GetScreenHeight()|0); + $106 = (($105) + -40)|0; + HEAP8[$14>>0] = -126; + $107 = ((($14)) + 1|0); + HEAP8[$107>>0] = -126; + $108 = ((($14)) + 2|0); + HEAP8[$108>>0] = -126; + $109 = ((($14)) + 3|0); + HEAP8[$109>>0] = -1; + ;HEAP8[$$byval_copy15>>0]=HEAP8[$14>>0]|0;HEAP8[$$byval_copy15+1>>0]=HEAP8[$14+1>>0]|0;HEAP8[$$byval_copy15+2>>0]=HEAP8[$14+2>>0]|0;HEAP8[$$byval_copy15+3>>0]=HEAP8[$14+3>>0]|0; + _DrawText($99,$104,$106,30,$$byval_copy15); + STACKTOP = sp;return; + } +} +function _DrawRectangleBordersRec($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$byval_copy3 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $$byval_copy3 = sp; + $5 = HEAP32[$0>>2]|0; + $6 = (($5) + ($1))|0; + $7 = ((($0)) + 4|0); + $8 = HEAP32[$7>>2]|0; + $9 = (($8) + ($2))|0; + $10 = ((($0)) + 8|0); + $11 = HEAP32[$10>>2]|0; + ;HEAP8[$$byval_copy3>>0]=HEAP8[$4>>0]|0;HEAP8[$$byval_copy3+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$$byval_copy3+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$$byval_copy3+3>>0]=HEAP8[$4+3>>0]|0; + _DrawRectangle($6,$9,$11,$3,$$byval_copy3); + $12 = HEAP32[$0>>2]|0; + $13 = (($12) + ($1))|0; + $14 = HEAP32[$7>>2]|0; + $15 = (($3) + ($2))|0; + $16 = (($15) + ($14))|0; + $17 = ((($0)) + 12|0); + $18 = HEAP32[$17>>2]|0; + $19 = $3 << 1; + $20 = (($18) - ($19))|0; + ;HEAP8[$$byval_copy3>>0]=HEAP8[$4>>0]|0;HEAP8[$$byval_copy3+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$$byval_copy3+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$$byval_copy3+3>>0]=HEAP8[$4+3>>0]|0; + _DrawRectangle($13,$16,$3,$20,$$byval_copy3); + $21 = HEAP32[$0>>2]|0; + $22 = HEAP32[$10>>2]|0; + $23 = (($1) - ($3))|0; + $24 = (($23) + ($21))|0; + $25 = (($24) + ($22))|0; + $26 = HEAP32[$7>>2]|0; + $27 = (($3) + ($2))|0; + $28 = (($27) + ($26))|0; + $29 = HEAP32[$17>>2]|0; + $30 = (($29) - ($19))|0; + ;HEAP8[$$byval_copy3>>0]=HEAP8[$4>>0]|0;HEAP8[$$byval_copy3+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$$byval_copy3+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$$byval_copy3+3>>0]=HEAP8[$4+3>>0]|0; + _DrawRectangle($25,$28,$3,$30,$$byval_copy3); + $31 = HEAP32[$0>>2]|0; + $32 = (($31) + ($1))|0; + $33 = HEAP32[$7>>2]|0; + $34 = (($2) - ($3))|0; + $35 = (($34) + ($29))|0; + $36 = (($35) + ($33))|0; + $37 = HEAP32[$10>>2]|0; + ;HEAP8[$$byval_copy3>>0]=HEAP8[$4>>0]|0;HEAP8[$$byval_copy3+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$$byval_copy3+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$$byval_copy3+3>>0]=HEAP8[$4+3>>0]|0; + _DrawRectangle($32,$36,$37,$3,$$byval_copy3); + STACKTOP = sp;return; +} +function _UnloadLevel00Screen() { + var label = 0, sp = 0; + sp = STACKTOP; + return; +} +function _FinishLevel00Screen() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[5005]|0; + return ($0|0); +} +function _InitLevel01Screen() { + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0; + var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAP32[5021] = 0; + HEAP32[5022] = 0; + $0 = (_GetScreenWidth()|0); + $1 = (($0|0) / 2)&-1; + $2 = (_GetScreenHeight()|0); + HEAP32[5023] = 0; + HEAP32[(20096)>>2] = 0; + HEAP32[(20100)>>2] = $1; + HEAP32[(20104)>>2] = $2; + $3 = (_GetScreenWidth()|0); + $4 = (($3|0) / 2)&-1; + $5 = (_GetScreenWidth()|0); + $6 = (($5|0) / 2)&-1; + $7 = (_GetScreenHeight()|0); + HEAP32[5027] = $4; + HEAP32[(20112)>>2] = 0; + HEAP32[(20116)>>2] = $6; + HEAP32[(20120)>>2] = $7; + $8 = (_GetScreenWidth()|0); + $9 = (($8|0) / 4)&-1; + $10 = (($9) + -200)|0; + $11 = (_GetScreenHeight()|0); + $12 = (($11|0) / 2)&-1; + $13 = (($12) + -200)|0; + HEAP32[5031] = $10; + HEAP32[(20128)>>2] = $13; + HEAP32[(20132)>>2] = 400; + HEAP32[(20136)>>2] = 400; + $14 = (_GetScreenWidth()|0); + $15 = (($14|0) / 2)&-1; + $16 = (_GetScreenWidth()|0); + $17 = (($16|0) / 4)&-1; + $18 = (($15) + -200)|0; + $19 = (($18) + ($17))|0; + $20 = (_GetScreenHeight()|0); + $21 = (($20|0) / 2)&-1; + $22 = (($21) + -200)|0; + HEAP32[5035] = $19; + HEAP32[(20144)>>2] = $22; + HEAP32[(20148)>>2] = 400; + HEAP32[(20152)>>2] = 400; + return; +} +function _UpdateLevel01Screen() { + var $$byval_copy3 = 0, $$pr = 0, $$pr3 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; + var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; + var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0; + var $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $8 = 0, $9 = 0, $levelWin$byval_copy = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $levelWin$byval_copy = sp + 40|0; + $$byval_copy3 = sp + 32|0; + $0 = sp + 24|0; + $1 = sp + 16|0; + $2 = sp + 8|0; + $3 = sp; + $4 = HEAP32[5021]|0; + $5 = (($4) + 1)|0; + HEAP32[5021] = $5; + $6 = HEAP32[5039]|0; + $7 = ($6|0)==(0); + do { + if ($7) { + $8 = (_IsMouseButtonPressed(0)|0); + $9 = ($8|0)==(0); + do { + if ($9) { + label = 13; + } else { + _GetMousePosition($0); + ;HEAP32[$$byval_copy3>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$0+4>>2]|0; + ;HEAP32[$levelWin$byval_copy>>2]=HEAP32[20124>>2]|0;HEAP32[$levelWin$byval_copy+4>>2]=HEAP32[20124+4>>2]|0;HEAP32[$levelWin$byval_copy+8>>2]=HEAP32[20124+8>>2]|0;HEAP32[$levelWin$byval_copy+12>>2]=HEAP32[20124+12>>2]|0; + $10 = (_CheckCollisionPointRec($$byval_copy3,$levelWin$byval_copy)|0); + $11 = ($10|0)==(0); + if (!($11)) { + $12 = HEAP32[(20148)>>2]|0; + $13 = ($12|0)>(0); + if (!($13)) { + $53 = $12; + break; + } + $14 = HEAP32[5035]|0; + $15 = (($14) + 20)|0; + HEAP32[5035] = $15; + $16 = HEAP32[(20144)>>2]|0; + $17 = (($16) + 20)|0; + HEAP32[(20144)>>2] = $17; + $18 = (($12) + -40)|0; + HEAP32[(20148)>>2] = $18; + $19 = HEAP32[(20152)>>2]|0; + $20 = (($19) + -40)|0; + HEAP32[(20152)>>2] = $20; + label = 13; + break; + } + _GetMousePosition($1); + ;HEAP32[$$byval_copy3>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$1+4>>2]|0; + ;HEAP32[$levelWin$byval_copy>>2]=HEAP32[20140>>2]|0;HEAP32[$levelWin$byval_copy+4>>2]=HEAP32[20140+4>>2]|0;HEAP32[$levelWin$byval_copy+8>>2]=HEAP32[20140+8>>2]|0;HEAP32[$levelWin$byval_copy+12>>2]=HEAP32[20140+12>>2]|0; + $21 = (_CheckCollisionPointRec($$byval_copy3,$levelWin$byval_copy)|0); + $22 = ($21|0)==(0); + if (!($22)) { + $23 = HEAP32[(20132)>>2]|0; + $24 = ($23|0)>(0); + if (!($24)) { + label = 13; + break; + } + $25 = HEAP32[5031]|0; + $26 = (($25) + 20)|0; + HEAP32[5031] = $26; + $27 = HEAP32[(20128)>>2]|0; + $28 = (($27) + 20)|0; + HEAP32[(20128)>>2] = $28; + $29 = (($23) + -40)|0; + HEAP32[(20132)>>2] = $29; + $30 = HEAP32[(20136)>>2]|0; + $31 = (($30) + -40)|0; + HEAP32[(20136)>>2] = $31; + label = 13; + break; + } + _GetMousePosition($2); + ;HEAP32[$$byval_copy3>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$2+4>>2]|0; + ;HEAP32[$levelWin$byval_copy>>2]=HEAP32[20092>>2]|0;HEAP32[$levelWin$byval_copy+4>>2]=HEAP32[20092+4>>2]|0;HEAP32[$levelWin$byval_copy+8>>2]=HEAP32[20092+8>>2]|0;HEAP32[$levelWin$byval_copy+12>>2]=HEAP32[20092+12>>2]|0; + $32 = (_CheckCollisionPointRec($$byval_copy3,$levelWin$byval_copy)|0); + $33 = ($32|0)==(0); + if (!($33)) { + $34 = HEAP32[5031]|0; + $35 = (($34) + -20)|0; + HEAP32[5031] = $35; + $36 = HEAP32[(20128)>>2]|0; + $37 = (($36) + -20)|0; + HEAP32[(20128)>>2] = $37; + $38 = HEAP32[(20132)>>2]|0; + $39 = (($38) + 40)|0; + HEAP32[(20132)>>2] = $39; + $40 = HEAP32[(20136)>>2]|0; + $41 = (($40) + 40)|0; + HEAP32[(20136)>>2] = $41; + label = 13; + break; + } + _GetMousePosition($3); + ;HEAP32[$$byval_copy3>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$3+4>>2]|0; + ;HEAP32[$levelWin$byval_copy>>2]=HEAP32[20108>>2]|0;HEAP32[$levelWin$byval_copy+4>>2]=HEAP32[20108+4>>2]|0;HEAP32[$levelWin$byval_copy+8>>2]=HEAP32[20108+8>>2]|0;HEAP32[$levelWin$byval_copy+12>>2]=HEAP32[20108+12>>2]|0; + $42 = (_CheckCollisionPointRec($$byval_copy3,$levelWin$byval_copy)|0); + $43 = ($42|0)==(0); + if ($43) { + label = 13; + } else { + $44 = HEAP32[5035]|0; + $45 = (($44) + -20)|0; + HEAP32[5035] = $45; + $46 = HEAP32[(20144)>>2]|0; + $47 = (($46) + -20)|0; + HEAP32[(20144)>>2] = $47; + $48 = HEAP32[(20148)>>2]|0; + $49 = (($48) + 40)|0; + HEAP32[(20148)>>2] = $49; + $50 = HEAP32[(20152)>>2]|0; + $51 = (($50) + 40)|0; + HEAP32[(20152)>>2] = $51; + label = 13; + } + } + } while(0); + if ((label|0) == 13) { + $$pr = HEAP32[(20148)>>2]|0; + $53 = $$pr; + } + $52 = ($53|0)==(0); + if ($52) { + $54 = HEAP32[(20136)>>2]|0; + $55 = (_GetScreenHeight()|0); + $56 = ($54|0)<($55|0); + if ($56) { + label = 16; + } + } else { + label = 16; + } + if ((label|0) == 16) { + $57 = HEAP32[(20132)>>2]|0; + $58 = ($57|0)==(0); + if (!($58)) { + break; + } + $59 = HEAP32[(20152)>>2]|0; + $60 = (_GetScreenHeight()|0); + $61 = ($59|0)<($60|0); + if ($61) { + break; + } + } + HEAP32[5039] = 1; + ;HEAP32[$levelWin$byval_copy>>2]=HEAP32[19960>>2]|0;HEAP32[$levelWin$byval_copy+4>>2]=HEAP32[19960+4>>2]|0;HEAP32[$levelWin$byval_copy+8>>2]=HEAP32[19960+8>>2]|0; + _PlaySound($levelWin$byval_copy); + } + } while(0); + $62 = HEAP32[5039]|0; + $63 = ($62|0)==(0); + $64 = HEAP32[5040]|0; + $65 = ($64|0)!=(0); + $or$cond = $63 | $65; + if (!($or$cond)) { + $66 = HEAP32[5021]|0; + $67 = (($66|0) / 60)&-1; + HEAP32[5041] = $67; + HEAP32[5040] = 1; + HEAP32[5021] = 1; + STACKTOP = sp;return; + } + $68 = ($64|0)==(0); + if ($68) { + STACKTOP = sp;return; + } + $$pr3 = HEAP32[5021]|0; + $69 = (($$pr3) + 1)|0; + HEAP32[5021] = $69; + $70 = ($$pr3|0)>(89); + if (!($70)) { + STACKTOP = sp;return; + } + $71 = (_IsMouseButtonPressed(0)|0); + $72 = ($71|0)==(0); + if ($72) { + STACKTOP = sp;return; + } + HEAP32[5022] = 1; + STACKTOP = sp;return; +} +function _DrawLevel01Screen() { + var $$byval_copy11 = 0, $$byval_copy7 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; + var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0; + var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0; + var $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0); + $$byval_copy11 = sp + 84|0; + $$byval_copy7 = sp + 24|0; + $vararg_buffer = sp; + $0 = sp + 80|0; + $1 = sp + 76|0; + $2 = sp + 72|0; + $3 = sp + 68|0; + $4 = sp + 64|0; + $5 = sp + 60|0; + $6 = sp + 8|0; + $7 = sp + 56|0; + $8 = sp + 52|0; + $9 = sp + 48|0; + $10 = sp + 44|0; + $11 = sp + 40|0; + $12 = HEAP32[5040]|0; + $13 = ($12|0)==(0); + $14 = (_GetScreenWidth()|0); + if ($13) { + $15 = (_GetScreenHeight()|0); + HEAP8[$0>>0] = -56; + $16 = ((($0)) + 1|0); + HEAP8[$16>>0] = -56; + $17 = ((($0)) + 2|0); + HEAP8[$17>>0] = -56; + $18 = ((($0)) + 3|0); + HEAP8[$18>>0] = -1; + ;HEAP8[$$byval_copy11>>0]=HEAP8[$0>>0]|0;HEAP8[$$byval_copy11+1>>0]=HEAP8[$0+1>>0]|0;HEAP8[$$byval_copy11+2>>0]=HEAP8[$0+2>>0]|0;HEAP8[$$byval_copy11+3>>0]=HEAP8[$0+3>>0]|0; + _DrawRectangle(0,0,$14,$15,$$byval_copy11); + } else { + $19 = (($14) + -120)|0; + $20 = (_GetScreenHeight()|0); + $21 = (($20) + -120)|0; + HEAP8[$1>>0] = -56; + $22 = ((($1)) + 1|0); + HEAP8[$22>>0] = -56; + $23 = ((($1)) + 2|0); + HEAP8[$23>>0] = -56; + $24 = ((($1)) + 3|0); + HEAP8[$24>>0] = -1; + ;HEAP8[$$byval_copy11>>0]=HEAP8[$1>>0]|0;HEAP8[$$byval_copy11+1>>0]=HEAP8[$1+1>>0]|0;HEAP8[$$byval_copy11+2>>0]=HEAP8[$1+2>>0]|0;HEAP8[$$byval_copy11+3>>0]=HEAP8[$1+3>>0]|0; + _DrawRectangle(60,60,$19,$21,$$byval_copy11); + } + HEAP8[$2>>0] = -126; + $25 = ((($2)) + 1|0); + HEAP8[$25>>0] = -126; + $26 = ((($2)) + 2|0); + HEAP8[$26>>0] = -126; + $27 = ((($2)) + 3|0); + HEAP8[$27>>0] = -1; + ;HEAP32[$$byval_copy7>>2]=HEAP32[20092>>2]|0;HEAP32[$$byval_copy7+4>>2]=HEAP32[20092+4>>2]|0;HEAP32[$$byval_copy7+8>>2]=HEAP32[20092+8>>2]|0;HEAP32[$$byval_copy7+12>>2]=HEAP32[20092+12>>2]|0; + ;HEAP8[$$byval_copy11>>0]=HEAP8[$2>>0]|0;HEAP8[$$byval_copy11+1>>0]=HEAP8[$2+1>>0]|0;HEAP8[$$byval_copy11+2>>0]=HEAP8[$2+2>>0]|0;HEAP8[$$byval_copy11+3>>0]=HEAP8[$2+3>>0]|0; + _DrawRectangleRec($$byval_copy7,$$byval_copy11); + HEAP8[$3>>0] = -11; + $28 = ((($3)) + 1|0); + HEAP8[$28>>0] = -11; + $29 = ((($3)) + 2|0); + HEAP8[$29>>0] = -11; + $30 = ((($3)) + 3|0); + HEAP8[$30>>0] = -1; + ;HEAP32[$$byval_copy7>>2]=HEAP32[20124>>2]|0;HEAP32[$$byval_copy7+4>>2]=HEAP32[20124+4>>2]|0;HEAP32[$$byval_copy7+8>>2]=HEAP32[20124+8>>2]|0;HEAP32[$$byval_copy7+12>>2]=HEAP32[20124+12>>2]|0; + ;HEAP8[$$byval_copy11>>0]=HEAP8[$3>>0]|0;HEAP8[$$byval_copy11+1>>0]=HEAP8[$3+1>>0]|0;HEAP8[$$byval_copy11+2>>0]=HEAP8[$3+2>>0]|0;HEAP8[$$byval_copy11+3>>0]=HEAP8[$3+3>>0]|0; + _DrawRectangleRec($$byval_copy7,$$byval_copy11); + HEAP8[$4>>0] = -11; + $31 = ((($4)) + 1|0); + HEAP8[$31>>0] = -11; + $32 = ((($4)) + 2|0); + HEAP8[$32>>0] = -11; + $33 = ((($4)) + 3|0); + HEAP8[$33>>0] = -1; + ;HEAP32[$$byval_copy7>>2]=HEAP32[20108>>2]|0;HEAP32[$$byval_copy7+4>>2]=HEAP32[20108+4>>2]|0;HEAP32[$$byval_copy7+8>>2]=HEAP32[20108+8>>2]|0;HEAP32[$$byval_copy7+12>>2]=HEAP32[20108+12>>2]|0; + ;HEAP8[$$byval_copy11>>0]=HEAP8[$4>>0]|0;HEAP8[$$byval_copy11+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$$byval_copy11+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$$byval_copy11+3>>0]=HEAP8[$4+3>>0]|0; + _DrawRectangleRec($$byval_copy7,$$byval_copy11); + HEAP8[$5>>0] = -126; + $34 = ((($5)) + 1|0); + HEAP8[$34>>0] = -126; + $35 = ((($5)) + 2|0); + HEAP8[$35>>0] = -126; + $36 = ((($5)) + 3|0); + HEAP8[$36>>0] = -1; + ;HEAP32[$$byval_copy7>>2]=HEAP32[20140>>2]|0;HEAP32[$$byval_copy7+4>>2]=HEAP32[20140+4>>2]|0;HEAP32[$$byval_copy7+8>>2]=HEAP32[20140+8>>2]|0;HEAP32[$$byval_copy7+12>>2]=HEAP32[20140+12>>2]|0; + ;HEAP8[$$byval_copy11>>0]=HEAP8[$5>>0]|0;HEAP8[$$byval_copy11+1>>0]=HEAP8[$5+1>>0]|0;HEAP8[$$byval_copy11+2>>0]=HEAP8[$5+2>>0]|0;HEAP8[$$byval_copy11+3>>0]=HEAP8[$5+3>>0]|0; + _DrawRectangleRec($$byval_copy7,$$byval_copy11); + $37 = HEAP32[5040]|0; + $38 = ($37|0)==(0); + if ($38) { + $67 = (_GetScreenWidth()|0); + $68 = (($67|0) / 2)&-1; + $69 = (_MeasureText(5751,30)|0); + $70 = (($69|0) / 2)&-1; + $71 = (($68) - ($70))|0; + HEAP8[$11>>0] = -56; + $72 = ((($11)) + 1|0); + HEAP8[$72>>0] = -56; + $73 = ((($11)) + 2|0); + HEAP8[$73>>0] = -56; + $74 = ((($11)) + 3|0); + HEAP8[$74>>0] = -1; + ;HEAP8[$$byval_copy11>>0]=HEAP8[$11>>0]|0;HEAP8[$$byval_copy11+1>>0]=HEAP8[$11+1>>0]|0;HEAP8[$$byval_copy11+2>>0]=HEAP8[$11+2>>0]|0;HEAP8[$$byval_copy11+3>>0]=HEAP8[$11+3>>0]|0; + _DrawText(5751,$71,20,30,$$byval_copy11); + STACKTOP = sp;return; + } else { + HEAP32[$6>>2] = 0; + $39 = ((($6)) + 4|0); + HEAP32[$39>>2] = 0; + $40 = ((($6)) + 8|0); + $41 = (_GetScreenWidth()|0); + HEAP32[$40>>2] = $41; + $42 = ((($6)) + 12|0); + $43 = (_GetScreenHeight()|0); + HEAP32[$42>>2] = $43; + HEAP8[$8>>0] = -56; + $44 = ((($8)) + 1|0); + HEAP8[$44>>0] = -56; + $45 = ((($8)) + 2|0); + HEAP8[$45>>0] = -56; + $46 = ((($8)) + 3|0); + HEAP8[$46>>0] = -1; + ;HEAP8[$$byval_copy11>>0]=HEAP8[$8>>0]|0;HEAP8[$$byval_copy11+1>>0]=HEAP8[$8+1>>0]|0;HEAP8[$$byval_copy11+2>>0]=HEAP8[$8+2>>0]|0;HEAP8[$$byval_copy11+3>>0]=HEAP8[$8+3>>0]|0; + _Fade($7,$$byval_copy11,0.60000002384185791); + ;HEAP32[$$byval_copy7>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy7+4>>2]=HEAP32[$6+4>>2]|0;HEAP32[$$byval_copy7+8>>2]=HEAP32[$6+8>>2]|0;HEAP32[$$byval_copy7+12>>2]=HEAP32[$6+12>>2]|0; + ;HEAP8[$$byval_copy11>>0]=HEAP8[$7>>0]|0;HEAP8[$$byval_copy11+1>>0]=HEAP8[$7+1>>0]|0;HEAP8[$$byval_copy11+2>>0]=HEAP8[$7+2>>0]|0;HEAP8[$$byval_copy11+3>>0]=HEAP8[$7+3>>0]|0; + _DrawRectangleBordersRec($$byval_copy7,0,0,60,$$byval_copy11); + $47 = (_GetScreenWidth()|0); + $48 = (($47|0) / 2)&-1; + $49 = (_MeasureText(5751,30)|0); + $50 = (($49|0) / 2)&-1; + $51 = (($48) - ($50))|0; + HEAP8[$9>>0] = -126; + $52 = ((($9)) + 1|0); + HEAP8[$52>>0] = -126; + $53 = ((($9)) + 2|0); + HEAP8[$53>>0] = -126; + $54 = ((($9)) + 3|0); + HEAP8[$54>>0] = -1; + ;HEAP8[$$byval_copy11>>0]=HEAP8[$9>>0]|0;HEAP8[$$byval_copy11+1>>0]=HEAP8[$9+1>>0]|0;HEAP8[$$byval_copy11+2>>0]=HEAP8[$9+2>>0]|0;HEAP8[$$byval_copy11+3>>0]=HEAP8[$9+3>>0]|0; + _DrawText(5751,$51,20,30,$$byval_copy11); + $55 = HEAP32[5041]|0; + HEAP32[$vararg_buffer>>2] = $55; + $56 = (_FormatText(5832,$vararg_buffer)|0); + $57 = (_GetScreenWidth()|0); + $58 = (($57|0) / 2)&-1; + $59 = (_MeasureText(5854,30)|0); + $60 = (($59|0) / 2)&-1; + $61 = (($58) - ($60))|0; + $62 = (_GetScreenHeight()|0); + $63 = (($62) + -40)|0; + HEAP8[$10>>0] = -126; + $64 = ((($10)) + 1|0); + HEAP8[$64>>0] = -126; + $65 = ((($10)) + 2|0); + HEAP8[$65>>0] = -126; + $66 = ((($10)) + 3|0); + HEAP8[$66>>0] = -1; + ;HEAP8[$$byval_copy11>>0]=HEAP8[$10>>0]|0;HEAP8[$$byval_copy11+1>>0]=HEAP8[$10+1>>0]|0;HEAP8[$$byval_copy11+2>>0]=HEAP8[$10+2>>0]|0;HEAP8[$$byval_copy11+3>>0]=HEAP8[$10+3>>0]|0; + _DrawText($56,$61,$63,30,$$byval_copy11); + STACKTOP = sp;return; + } +} +function _UnloadLevel01Screen() { + var label = 0, sp = 0; + sp = STACKTOP; + return; +} +function _FinishLevel01Screen() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[5022]|0; + return ($0|0); +} +function _InitLevel02Screen() { + var $0 = 0, $1 = 0, $2 = 0.0, $3 = 0, $4 = 0, $5 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + HEAP32[5042] = 0; + HEAP32[5043] = 0; + HEAPF32[5044] = 120.0; + HEAPF32[(20180)>>2] = 80.0; + HEAPF32[5046] = 6.0; + HEAPF32[5047] = 8.0; + $0 = (_GetScreenWidth()|0); + $1 = (($0|0) / 2)&-1; + $2 = (+($1|0)); + $3 = (_GetScreenHeight()|0); + $4 = (($3|0) / 2)&-1; + $5 = (+($4|0)); + HEAPF32[4916] = $2; + HEAPF32[(19668)>>2] = $5; + return; +} +function _UpdateLevel02Screen() { + var $$pr = 0, $$sink = 0.0, $0 = 0, $1 = 0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $14 = 0, $15 = 0.0, $16 = 0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $2 = 0, $20 = 0.0, $21 = 0, $22 = 0.0, $23 = 0, $24 = 0.0; + var $25 = 0, $26 = 0.0, $27 = 0.0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0.0, $32 = 0, $33 = 0.0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0; + var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0.0, $49 = 0.0, $5 = 0.0, $50 = 0, $51 = 0.0, $52 = 0, $53 = 0.0, $54 = 0, $55 = 0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0.0, $60 = 0; + var $61 = 0.0, $62 = 0, $63 = 0.0, $64 = 0, $65 = 0, $66 = 0.0, $67 = 0.0, $68 = 0.0, $69 = 0, $7 = 0.0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0; + var $8 = 0.0, $80 = 0, $9 = 0.0, $bouncingBallPos$byval_copy2 = 0, $levelWin$byval_copy = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $levelWin$byval_copy = sp + 16|0; + $bouncingBallPos$byval_copy2 = sp + 8|0; + $0 = sp; + $1 = HEAP32[5042]|0; + $2 = (($1) + 1)|0; + HEAP32[5042] = $2; + $3 = HEAP32[5048]|0; + $4 = ($3|0)==(0); + if ($4) { + $5 = +HEAPF32[5046]; + $6 = +HEAPF32[5044]; + $7 = $5 + $6; + HEAPF32[5044] = $7; + $8 = +HEAPF32[5047]; + $9 = +HEAPF32[(20180)>>2]; + $10 = $8 + $9; + HEAPF32[(20180)>>2] = $10; + $11 = $7 + -40.0; + $12 = !($11 <= 0.0); + if ($12) { + $13 = $7 + 40.0; + $14 = (_GetScreenWidth()|0); + $15 = (+($14|0)); + $16 = !($13 >= $15); + if (!($16)) { + label = 4; + } + } else { + label = 4; + } + if ((label|0) == 4) { + $17 = +HEAPF32[5046]; + $18 = -$17; + HEAPF32[5046] = $18; + } + $19 = +HEAPF32[(20180)>>2]; + $20 = $19 + -40.0; + $21 = !($20 <= 0.0); + if ($21) { + $22 = $19 + 40.0; + $23 = (_GetScreenHeight()|0); + $24 = (+($23|0)); + $25 = !($22 >= $24); + if (!($25)) { + label = 7; + } + } else { + label = 7; + } + if ((label|0) == 7) { + $26 = +HEAPF32[5047]; + $27 = -$26; + HEAPF32[5047] = $27; + } + _GetMousePosition($0); + ;HEAP32[$bouncingBallPos$byval_copy2>>2]=HEAP32[$0>>2]|0;HEAP32[$bouncingBallPos$byval_copy2+4>>2]=HEAP32[$0+4>>2]|0; + ;HEAP32[$levelWin$byval_copy>>2]=HEAP32[20176>>2]|0;HEAP32[$levelWin$byval_copy+4>>2]=HEAP32[20176+4>>2]|0; + $28 = (_CheckCollisionPointCircle($bouncingBallPos$byval_copy2,$levelWin$byval_copy,120.0)|0); + $29 = ($28|0)==(0); + if (!($29)) { + $30 = (_GetRandomValue(80,1200)|0); + $31 = (+($30|0)); + HEAPF32[5044] = $31; + $32 = (_GetRandomValue(80,650)|0); + $33 = (+($32|0)); + HEAPF32[(20180)>>2] = $33; + } + ;HEAP32[$bouncingBallPos$byval_copy2>>2]=HEAP32[$0>>2]|0;HEAP32[$bouncingBallPos$byval_copy2+4>>2]=HEAP32[$0+4>>2]|0; + ;HEAP32[$levelWin$byval_copy>>2]=HEAP32[19664>>2]|0;HEAP32[$levelWin$byval_copy+4>>2]=HEAP32[19664+4>>2]|0; + $34 = (_CheckCollisionPointCircle($bouncingBallPos$byval_copy2,$levelWin$byval_copy,120.0)|0); + $35 = ($34|0)==(0); + do { + if (!($35)) { + $36 = (_IsMouseButtonDown(0)|0); + $37 = ($36|0)==(0); + if (!($37)) { + $38 = $0; + $39 = $38; + $40 = HEAP32[$39>>2]|0; + $41 = (($38) + 4)|0; + $42 = $41; + $43 = HEAP32[$42>>2]|0; + $44 = 19664; + $45 = $44; + HEAP32[$45>>2] = $40; + $46 = (($44) + 4)|0; + $47 = $46; + HEAP32[$47>>2] = $43; + $48 = +HEAPF32[4916]; + $49 = $48 + -50.0; + $50 = !($49 <= 0.0); + if ($50) { + $51 = $48 + 50.0; + $52 = (_GetScreenWidth()|0); + $53 = (+($52|0)); + $54 = !($51 >= $53); + if (!($54)) { + $55 = (_GetScreenWidth()|0); + $56 = (+($55|0)); + $57 = $56 + -50.0; + $$sink = $57; + label = 15; + } + } else { + $$sink = 50.0; + label = 15; + } + if ((label|0) == 15) { + HEAPF32[4916] = $$sink; + } + $58 = +HEAPF32[(19668)>>2]; + $59 = $58 + -50.0; + $60 = !($59 <= 0.0); + if (!($60)) { + HEAPF32[(19668)>>2] = 50.0; + break; + } + $61 = $58 + 50.0; + $62 = (_GetScreenHeight()|0); + $63 = (+($62|0)); + $64 = !($61 >= $63); + if (!($64)) { + $65 = (_GetScreenHeight()|0); + $66 = (+($65|0)); + $67 = $66 + -50.0; + HEAPF32[(19668)>>2] = $67; + } + } + } + } while(0); + ;HEAP32[$bouncingBallPos$byval_copy2>>2]=HEAP32[20176>>2]|0;HEAP32[$bouncingBallPos$byval_copy2+4>>2]=HEAP32[20176+4>>2]|0; + ;HEAP32[$levelWin$byval_copy>>2]=HEAP32[19664>>2]|0;HEAP32[$levelWin$byval_copy+4>>2]=HEAP32[19664+4>>2]|0; + $68 = (+_Vector2Distance($bouncingBallPos$byval_copy2,$levelWin$byval_copy)); + $69 = $68 < 20.0; + if ($69) { + HEAP32[5048] = 1; + ;HEAP32[$levelWin$byval_copy>>2]=HEAP32[19960>>2]|0;HEAP32[$levelWin$byval_copy+4>>2]=HEAP32[19960+4>>2]|0;HEAP32[$levelWin$byval_copy+8>>2]=HEAP32[19960+8>>2]|0; + _PlaySound($levelWin$byval_copy); + } + } + $70 = HEAP32[5048]|0; + $71 = ($70|0)==(0); + $72 = HEAP32[5049]|0; + $73 = ($72|0)!=(0); + $or$cond = $71 | $73; + if (!($or$cond)) { + $74 = HEAP32[5042]|0; + $75 = (($74|0) / 60)&-1; + HEAP32[5050] = $75; + HEAP32[5049] = 1; + HEAP32[5042] = 1; + STACKTOP = sp;return; + } + $76 = ($72|0)==(0); + if ($76) { + STACKTOP = sp;return; + } + $$pr = HEAP32[5042]|0; + $77 = (($$pr) + 1)|0; + HEAP32[5042] = $77; + $78 = ($$pr|0)>(89); + if (!($78)) { + STACKTOP = sp;return; + } + $79 = (_IsMouseButtonPressed(0)|0); + $80 = ($79|0)==(0); + if ($80) { + STACKTOP = sp;return; + } + HEAP32[5043] = 1; + STACKTOP = sp;return; +} +function _DrawLevel02Screen() { + var $$byval_copy5 = 0, $$byval_copy9 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0.0, $17 = 0, $18 = 0.0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; + var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0; + var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0; + var $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0); + $$byval_copy9 = sp + 76|0; + $$byval_copy5 = sp + 24|0; + $vararg_buffer = sp; + $0 = sp + 72|0; + $1 = sp + 68|0; + $2 = sp + 64|0; + $3 = sp + 60|0; + $4 = sp + 8|0; + $5 = sp + 56|0; + $6 = sp + 52|0; + $7 = sp + 48|0; + $8 = sp + 44|0; + $9 = sp + 40|0; + HEAP8[$0>>0] = -56; + $10 = ((($0)) + 1|0); + HEAP8[$10>>0] = -56; + $11 = ((($0)) + 2|0); + HEAP8[$11>>0] = -56; + $12 = ((($0)) + 3|0); + HEAP8[$12>>0] = -1; + ;HEAP32[$$byval_copy5>>2]=HEAP32[19664>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[19664+4>>2]|0; + ;HEAP8[$$byval_copy9>>0]=HEAP8[$0>>0]|0;HEAP8[$$byval_copy9+1>>0]=HEAP8[$0+1>>0]|0;HEAP8[$$byval_copy9+2>>0]=HEAP8[$0+2>>0]|0;HEAP8[$$byval_copy9+3>>0]=HEAP8[$0+3>>0]|0; + _DrawCircleV($$byval_copy5,50.0,$$byval_copy9); + HEAP8[$1>>0] = 80; + $13 = ((($1)) + 1|0); + HEAP8[$13>>0] = 80; + $14 = ((($1)) + 2|0); + HEAP8[$14>>0] = 80; + $15 = ((($1)) + 3|0); + HEAP8[$15>>0] = -1; + ;HEAP32[$$byval_copy5>>2]=HEAP32[20176>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[20176+4>>2]|0; + ;HEAP8[$$byval_copy9>>0]=HEAP8[$1>>0]|0;HEAP8[$$byval_copy9+1>>0]=HEAP8[$1+1>>0]|0;HEAP8[$$byval_copy9+2>>0]=HEAP8[$1+2>>0]|0;HEAP8[$$byval_copy9+3>>0]=HEAP8[$1+3>>0]|0; + _DrawCircleV($$byval_copy5,40.0,$$byval_copy9); + $16 = +HEAPF32[5044]; + $17 = (~~(($16))); + $18 = +HEAPF32[(20180)>>2]; + $19 = (~~(($18))); + HEAP8[$3>>0] = -56; + $20 = ((($3)) + 1|0); + HEAP8[$20>>0] = -56; + $21 = ((($3)) + 2|0); + HEAP8[$21>>0] = -56; + $22 = ((($3)) + 3|0); + HEAP8[$22>>0] = -1; + ;HEAP8[$$byval_copy9>>0]=HEAP8[$3>>0]|0;HEAP8[$$byval_copy9+1>>0]=HEAP8[$3+1>>0]|0;HEAP8[$$byval_copy9+2>>0]=HEAP8[$3+2>>0]|0;HEAP8[$$byval_copy9+3>>0]=HEAP8[$3+3>>0]|0; + _Fade($2,$$byval_copy9,0.80000001192092896); + ;HEAP8[$$byval_copy9>>0]=HEAP8[$2>>0]|0;HEAP8[$$byval_copy9+1>>0]=HEAP8[$2+1>>0]|0;HEAP8[$$byval_copy9+2>>0]=HEAP8[$2+2>>0]|0;HEAP8[$$byval_copy9+3>>0]=HEAP8[$2+3>>0]|0; + _DrawCircleLines($17,$19,120.0,$$byval_copy9); + $23 = HEAP32[5049]|0; + $24 = ($23|0)==(0); + if ($24) { + $53 = (_GetScreenWidth()|0); + $54 = (($53|0) / 2)&-1; + $55 = (_MeasureText(5760,30)|0); + $56 = (($55|0) / 2)&-1; + $57 = (($54) - ($56))|0; + HEAP8[$9>>0] = -56; + $58 = ((($9)) + 1|0); + HEAP8[$58>>0] = -56; + $59 = ((($9)) + 2|0); + HEAP8[$59>>0] = -56; + $60 = ((($9)) + 3|0); + HEAP8[$60>>0] = -1; + ;HEAP8[$$byval_copy9>>0]=HEAP8[$9>>0]|0;HEAP8[$$byval_copy9+1>>0]=HEAP8[$9+1>>0]|0;HEAP8[$$byval_copy9+2>>0]=HEAP8[$9+2>>0]|0;HEAP8[$$byval_copy9+3>>0]=HEAP8[$9+3>>0]|0; + _DrawText(5760,$57,20,30,$$byval_copy9); + STACKTOP = sp;return; + } else { + HEAP32[$4>>2] = 0; + $25 = ((($4)) + 4|0); + HEAP32[$25>>2] = 0; + $26 = ((($4)) + 8|0); + $27 = (_GetScreenWidth()|0); + HEAP32[$26>>2] = $27; + $28 = ((($4)) + 12|0); + $29 = (_GetScreenHeight()|0); + HEAP32[$28>>2] = $29; + HEAP8[$6>>0] = -56; + $30 = ((($6)) + 1|0); + HEAP8[$30>>0] = -56; + $31 = ((($6)) + 2|0); + HEAP8[$31>>0] = -56; + $32 = ((($6)) + 3|0); + HEAP8[$32>>0] = -1; + ;HEAP8[$$byval_copy9>>0]=HEAP8[$6>>0]|0;HEAP8[$$byval_copy9+1>>0]=HEAP8[$6+1>>0]|0;HEAP8[$$byval_copy9+2>>0]=HEAP8[$6+2>>0]|0;HEAP8[$$byval_copy9+3>>0]=HEAP8[$6+3>>0]|0; + _Fade($5,$$byval_copy9,0.60000002384185791); + ;HEAP32[$$byval_copy5>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$4+4>>2]|0;HEAP32[$$byval_copy5+8>>2]=HEAP32[$4+8>>2]|0;HEAP32[$$byval_copy5+12>>2]=HEAP32[$4+12>>2]|0; + ;HEAP8[$$byval_copy9>>0]=HEAP8[$5>>0]|0;HEAP8[$$byval_copy9+1>>0]=HEAP8[$5+1>>0]|0;HEAP8[$$byval_copy9+2>>0]=HEAP8[$5+2>>0]|0;HEAP8[$$byval_copy9+3>>0]=HEAP8[$5+3>>0]|0; + _DrawRectangleBordersRec($$byval_copy5,0,0,60,$$byval_copy9); + $33 = (_GetScreenWidth()|0); + $34 = (($33|0) / 2)&-1; + $35 = (_MeasureText(5760,30)|0); + $36 = (($35|0) / 2)&-1; + $37 = (($34) - ($36))|0; + HEAP8[$7>>0] = -126; + $38 = ((($7)) + 1|0); + HEAP8[$38>>0] = -126; + $39 = ((($7)) + 2|0); + HEAP8[$39>>0] = -126; + $40 = ((($7)) + 3|0); + HEAP8[$40>>0] = -1; + ;HEAP8[$$byval_copy9>>0]=HEAP8[$7>>0]|0;HEAP8[$$byval_copy9+1>>0]=HEAP8[$7+1>>0]|0;HEAP8[$$byval_copy9+2>>0]=HEAP8[$7+2>>0]|0;HEAP8[$$byval_copy9+3>>0]=HEAP8[$7+3>>0]|0; + _DrawText(5760,$37,20,30,$$byval_copy9); + $41 = HEAP32[5050]|0; + HEAP32[$vararg_buffer>>2] = $41; + $42 = (_FormatText(5832,$vararg_buffer)|0); + $43 = (_GetScreenWidth()|0); + $44 = (($43|0) / 2)&-1; + $45 = (_MeasureText(5854,30)|0); + $46 = (($45|0) / 2)&-1; + $47 = (($44) - ($46))|0; + $48 = (_GetScreenHeight()|0); + $49 = (($48) + -40)|0; + HEAP8[$8>>0] = -126; + $50 = ((($8)) + 1|0); + HEAP8[$50>>0] = -126; + $51 = ((($8)) + 2|0); + HEAP8[$51>>0] = -126; + $52 = ((($8)) + 3|0); + HEAP8[$52>>0] = -1; + ;HEAP8[$$byval_copy9>>0]=HEAP8[$8>>0]|0;HEAP8[$$byval_copy9+1>>0]=HEAP8[$8+1>>0]|0;HEAP8[$$byval_copy9+2>>0]=HEAP8[$8+2>>0]|0;HEAP8[$$byval_copy9+3>>0]=HEAP8[$8+3>>0]|0; + _DrawText($42,$47,$49,30,$$byval_copy9); + STACKTOP = sp;return; + } +} +function _UnloadLevel02Screen() { + var label = 0, sp = 0; + sp = STACKTOP; + return; +} +function _FinishLevel02Screen() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[5043]|0; + return ($0|0); +} +function _InitLevel03Screen() { + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAP32[5051] = 0; + HEAP32[5052] = 0; + $0 = (_GetScreenWidth()|0); + $1 = (($0|0) / 2)&-1; + $2 = (($1) + -50)|0; + $3 = (_GetScreenHeight()|0); + $4 = (($3|0) / 2)&-1; + $5 = (($4) + -50)|0; + HEAP32[5053] = $2; + HEAP32[(20216)>>2] = $5; + HEAP32[(20220)>>2] = 100; + HEAP32[(20224)>>2] = 100; + HEAP32[5057] = 200; + HEAP32[(20232)>>2] = 400; + HEAP32[(20236)>>2] = 100; + HEAP32[(20240)>>2] = 100; + return; +} +function _UpdateLevel03Screen() { + var $$byval_copy2 = 0, $$pr = 0, $$sink = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0.0, $12 = 0, $13 = 0, $14 = 0, $15 = 0.0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; + var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $levelWin$byval_copy = 0, $or$cond = 0, label = 0; + var sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $levelWin$byval_copy = sp + 16|0; + $$byval_copy2 = sp + 8|0; + $0 = sp; + $1 = HEAP32[5051]|0; + $2 = (($1) + 1)|0; + HEAP32[5051] = $2; + _GetMousePosition($0); + $3 = HEAP32[5061]|0; + $4 = ($3|0)==(0); + if ($4) { + ;HEAP32[$$byval_copy2>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$0+4>>2]|0; + ;HEAP32[$levelWin$byval_copy>>2]=HEAP32[20212>>2]|0;HEAP32[$levelWin$byval_copy+4>>2]=HEAP32[20212+4>>2]|0;HEAP32[$levelWin$byval_copy+8>>2]=HEAP32[20212+8>>2]|0;HEAP32[$levelWin$byval_copy+12>>2]=HEAP32[20212+12>>2]|0; + $5 = (_CheckCollisionPointRec($$byval_copy2,$levelWin$byval_copy)|0); + $6 = ($5|0)!=(0); + $$sink = $6&1; + HEAP32[5062] = $$sink; + $7 = (_IsMouseButtonDown(0)|0); + $8 = ($7|0)==(0); + if (!($8)) { + ;HEAP32[$$byval_copy2>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$0+4>>2]|0; + ;HEAP32[$levelWin$byval_copy>>2]=HEAP32[20228>>2]|0;HEAP32[$levelWin$byval_copy+4>>2]=HEAP32[20228+4>>2]|0;HEAP32[$levelWin$byval_copy+8>>2]=HEAP32[20228+8>>2]|0;HEAP32[$levelWin$byval_copy+12>>2]=HEAP32[20228+12>>2]|0; + $9 = (_CheckCollisionPointRec($$byval_copy2,$levelWin$byval_copy)|0); + $10 = ($9|0)==(0); + if (!($10)) { + $11 = +HEAPF32[$0>>2]; + $12 = (~~(($11))); + $13 = (($12) + -50)|0; + HEAP32[5057] = $13; + $14 = ((($0)) + 4|0); + $15 = +HEAPF32[$14>>2]; + $16 = (~~(($15))); + $17 = (($16) + -50)|0; + HEAP32[(20232)>>2] = $17; + } + } + $18 = HEAP32[5057]|0; + $19 = HEAP32[5053]|0; + $20 = ($18|0)==($19|0); + if ($20) { + ;HEAP32[$$byval_copy2>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$0+4>>2]|0; + ;HEAP32[$levelWin$byval_copy>>2]=HEAP32[20212>>2]|0;HEAP32[$levelWin$byval_copy+4>>2]=HEAP32[20212+4>>2]|0;HEAP32[$levelWin$byval_copy+8>>2]=HEAP32[20212+8>>2]|0;HEAP32[$levelWin$byval_copy+12>>2]=HEAP32[20212+12>>2]|0; + $21 = (_CheckCollisionPointRec($$byval_copy2,$levelWin$byval_copy)|0); + $22 = ($21|0)==(0); + if ($22) { + HEAP32[5061] = 1; + ;HEAP32[$levelWin$byval_copy>>2]=HEAP32[19960>>2]|0;HEAP32[$levelWin$byval_copy+4>>2]=HEAP32[19960+4>>2]|0;HEAP32[$levelWin$byval_copy+8>>2]=HEAP32[19960+8>>2]|0; + _PlaySound($levelWin$byval_copy); + } + } + } + $23 = HEAP32[5061]|0; + $24 = ($23|0)==(0); + $25 = HEAP32[5063]|0; + $26 = ($25|0)!=(0); + $or$cond = $24 | $26; + if (!($or$cond)) { + $27 = HEAP32[5051]|0; + $28 = (($27|0) / 60)&-1; + HEAP32[5064] = $28; + HEAP32[5063] = 1; + HEAP32[5051] = 1; + STACKTOP = sp;return; + } + $29 = ($25|0)==(0); + if ($29) { + STACKTOP = sp;return; + } + $$pr = HEAP32[5051]|0; + $30 = (($$pr) + 1)|0; + HEAP32[5051] = $30; + $31 = ($$pr|0)>(89); + if (!($31)) { + STACKTOP = sp;return; + } + $32 = (_IsMouseButtonPressed(0)|0); + $33 = ($32|0)==(0); + if ($33) { + STACKTOP = sp;return; + } + HEAP32[5052] = 1; + STACKTOP = sp;return; +} +function _DrawLevel03Screen() { + var $$byval_copy5 = 0, $$byval_copy9 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; + var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0; + var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0; + var $61 = 0, $62 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0); + $$byval_copy9 = sp + 76|0; + $$byval_copy5 = sp + 24|0; + $vararg_buffer = sp; + $0 = sp + 72|0; + $1 = sp + 68|0; + $2 = sp + 64|0; + $3 = sp + 60|0; + $4 = sp + 8|0; + $5 = sp + 56|0; + $6 = sp + 52|0; + $7 = sp + 48|0; + $8 = sp + 44|0; + $9 = sp + 40|0; + HEAP8[$0>>0] = -126; + $10 = ((($0)) + 1|0); + HEAP8[$10>>0] = -126; + $11 = ((($0)) + 2|0); + HEAP8[$11>>0] = -126; + $12 = ((($0)) + 3|0); + HEAP8[$12>>0] = -1; + ;HEAP32[$$byval_copy5>>2]=HEAP32[20212>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[20212+4>>2]|0;HEAP32[$$byval_copy5+8>>2]=HEAP32[20212+8>>2]|0;HEAP32[$$byval_copy5+12>>2]=HEAP32[20212+12>>2]|0; + ;HEAP8[$$byval_copy9>>0]=HEAP8[$0>>0]|0;HEAP8[$$byval_copy9+1>>0]=HEAP8[$0+1>>0]|0;HEAP8[$$byval_copy9+2>>0]=HEAP8[$0+2>>0]|0;HEAP8[$$byval_copy9+3>>0]=HEAP8[$0+3>>0]|0; + _DrawRectangleRec($$byval_copy5,$$byval_copy9); + HEAP8[$1>>0] = -11; + $13 = ((($1)) + 1|0); + HEAP8[$13>>0] = -11; + $14 = ((($1)) + 2|0); + HEAP8[$14>>0] = -11; + $15 = ((($1)) + 3|0); + HEAP8[$15>>0] = -1; + ;HEAP32[$$byval_copy5>>2]=HEAP32[20228>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[20228+4>>2]|0;HEAP32[$$byval_copy5+8>>2]=HEAP32[20228+8>>2]|0;HEAP32[$$byval_copy5+12>>2]=HEAP32[20228+12>>2]|0; + ;HEAP8[$$byval_copy9>>0]=HEAP8[$1>>0]|0;HEAP8[$$byval_copy9+1>>0]=HEAP8[$1+1>>0]|0;HEAP8[$$byval_copy9+2>>0]=HEAP8[$1+2>>0]|0;HEAP8[$$byval_copy9+3>>0]=HEAP8[$1+3>>0]|0; + _DrawRectangleRec($$byval_copy5,$$byval_copy9); + $16 = HEAP32[5062]|0; + $17 = ($16|0)==(0); + if (!($17)) { + $18 = HEAP32[5057]|0; + $19 = HEAP32[(20232)>>2]|0; + $20 = HEAP32[(20236)>>2]|0; + $21 = HEAP32[(20240)>>2]|0; + HEAP8[$3>>0] = -56; + $22 = ((($3)) + 1|0); + HEAP8[$22>>0] = -56; + $23 = ((($3)) + 2|0); + HEAP8[$23>>0] = -56; + $24 = ((($3)) + 3|0); + HEAP8[$24>>0] = -1; + ;HEAP8[$$byval_copy9>>0]=HEAP8[$3>>0]|0;HEAP8[$$byval_copy9+1>>0]=HEAP8[$3+1>>0]|0;HEAP8[$$byval_copy9+2>>0]=HEAP8[$3+2>>0]|0;HEAP8[$$byval_copy9+3>>0]=HEAP8[$3+3>>0]|0; + _Fade($2,$$byval_copy9,0.80000001192092896); + ;HEAP8[$$byval_copy9>>0]=HEAP8[$2>>0]|0;HEAP8[$$byval_copy9+1>>0]=HEAP8[$2+1>>0]|0;HEAP8[$$byval_copy9+2>>0]=HEAP8[$2+2>>0]|0;HEAP8[$$byval_copy9+3>>0]=HEAP8[$2+3>>0]|0; + _DrawRectangleLines($18,$19,$20,$21,$$byval_copy9); + } + $25 = HEAP32[5063]|0; + $26 = ($25|0)==(0); + if ($26) { + $55 = (_GetScreenWidth()|0); + $56 = (($55|0) / 2)&-1; + $57 = (_MeasureText(5769,30)|0); + $58 = (($57|0) / 2)&-1; + $59 = (($56) - ($58))|0; + HEAP8[$9>>0] = -56; + $60 = ((($9)) + 1|0); + HEAP8[$60>>0] = -56; + $61 = ((($9)) + 2|0); + HEAP8[$61>>0] = -56; + $62 = ((($9)) + 3|0); + HEAP8[$62>>0] = -1; + ;HEAP8[$$byval_copy9>>0]=HEAP8[$9>>0]|0;HEAP8[$$byval_copy9+1>>0]=HEAP8[$9+1>>0]|0;HEAP8[$$byval_copy9+2>>0]=HEAP8[$9+2>>0]|0;HEAP8[$$byval_copy9+3>>0]=HEAP8[$9+3>>0]|0; + _DrawText(5769,$59,20,30,$$byval_copy9); + STACKTOP = sp;return; + } else { + HEAP32[$4>>2] = 0; + $27 = ((($4)) + 4|0); + HEAP32[$27>>2] = 0; + $28 = ((($4)) + 8|0); + $29 = (_GetScreenWidth()|0); + HEAP32[$28>>2] = $29; + $30 = ((($4)) + 12|0); + $31 = (_GetScreenHeight()|0); + HEAP32[$30>>2] = $31; + HEAP8[$6>>0] = -56; + $32 = ((($6)) + 1|0); + HEAP8[$32>>0] = -56; + $33 = ((($6)) + 2|0); + HEAP8[$33>>0] = -56; + $34 = ((($6)) + 3|0); + HEAP8[$34>>0] = -1; + ;HEAP8[$$byval_copy9>>0]=HEAP8[$6>>0]|0;HEAP8[$$byval_copy9+1>>0]=HEAP8[$6+1>>0]|0;HEAP8[$$byval_copy9+2>>0]=HEAP8[$6+2>>0]|0;HEAP8[$$byval_copy9+3>>0]=HEAP8[$6+3>>0]|0; + _Fade($5,$$byval_copy9,0.60000002384185791); + ;HEAP32[$$byval_copy5>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$4+4>>2]|0;HEAP32[$$byval_copy5+8>>2]=HEAP32[$4+8>>2]|0;HEAP32[$$byval_copy5+12>>2]=HEAP32[$4+12>>2]|0; + ;HEAP8[$$byval_copy9>>0]=HEAP8[$5>>0]|0;HEAP8[$$byval_copy9+1>>0]=HEAP8[$5+1>>0]|0;HEAP8[$$byval_copy9+2>>0]=HEAP8[$5+2>>0]|0;HEAP8[$$byval_copy9+3>>0]=HEAP8[$5+3>>0]|0; + _DrawRectangleBordersRec($$byval_copy5,0,0,60,$$byval_copy9); + $35 = (_GetScreenWidth()|0); + $36 = (($35|0) / 2)&-1; + $37 = (_MeasureText(5769,30)|0); + $38 = (($37|0) / 2)&-1; + $39 = (($36) - ($38))|0; + HEAP8[$7>>0] = -126; + $40 = ((($7)) + 1|0); + HEAP8[$40>>0] = -126; + $41 = ((($7)) + 2|0); + HEAP8[$41>>0] = -126; + $42 = ((($7)) + 3|0); + HEAP8[$42>>0] = -1; + ;HEAP8[$$byval_copy9>>0]=HEAP8[$7>>0]|0;HEAP8[$$byval_copy9+1>>0]=HEAP8[$7+1>>0]|0;HEAP8[$$byval_copy9+2>>0]=HEAP8[$7+2>>0]|0;HEAP8[$$byval_copy9+3>>0]=HEAP8[$7+3>>0]|0; + _DrawText(5769,$39,20,30,$$byval_copy9); + $43 = HEAP32[5064]|0; + HEAP32[$vararg_buffer>>2] = $43; + $44 = (_FormatText(5832,$vararg_buffer)|0); + $45 = (_GetScreenWidth()|0); + $46 = (($45|0) / 2)&-1; + $47 = (_MeasureText(5854,30)|0); + $48 = (($47|0) / 2)&-1; + $49 = (($46) - ($48))|0; + $50 = (_GetScreenHeight()|0); + $51 = (($50) + -40)|0; + HEAP8[$8>>0] = -126; + $52 = ((($8)) + 1|0); + HEAP8[$52>>0] = -126; + $53 = ((($8)) + 2|0); + HEAP8[$53>>0] = -126; + $54 = ((($8)) + 3|0); + HEAP8[$54>>0] = -1; + ;HEAP8[$$byval_copy9>>0]=HEAP8[$8>>0]|0;HEAP8[$$byval_copy9+1>>0]=HEAP8[$8+1>>0]|0;HEAP8[$$byval_copy9+2>>0]=HEAP8[$8+2>>0]|0;HEAP8[$$byval_copy9+3>>0]=HEAP8[$8+3>>0]|0; + _DrawText($44,$49,$51,30,$$byval_copy9); + STACKTOP = sp;return; + } +} +function _UnloadLevel03Screen() { + var label = 0, sp = 0; + sp = STACKTOP; + return; +} +function _FinishLevel03Screen() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[5052]|0; + return ($0|0); +} +function _InitLevel04Screen() { + var $0 = 0, $1 = 0, $2 = 0.0, $3 = 0, $4 = 0, $5 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + HEAP32[5065] = 0; + HEAP32[5066] = 0; + $0 = (_GetScreenWidth()|0); + $1 = (($0|0) / 2)&-1; + $2 = (+($1|0)); + $3 = (_GetScreenHeight()|0); + $4 = (($3|0) / 2)&-1; + $5 = (+($4|0)); + HEAPF32[5067] = $2; + HEAPF32[(20272)>>2] = $5; + return; +} +function _UpdateLevel04Screen() { + var $$byval_copy1 = 0, $$pr = 0.0, $$pr3 = 0, $$sink = 0.0, $0 = 0, $1 = 0, $10 = 0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0, $15 = 0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0.0; + var $23 = 0.0, $24 = 0.0, $25 = 0, $26 = 0.0, $27 = 0, $28 = 0.0, $29 = 0, $3 = 0, $30 = 0.0, $31 = 0, $32 = 0.0, $33 = 0.0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0; + var $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0, $levelWin$byval_copy = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0); + $levelWin$byval_copy = sp + 24|0; + $$byval_copy1 = sp + 16|0; + $0 = sp + 8|0; + $1 = sp; + $2 = HEAP32[5065]|0; + $3 = (($2) + 1)|0; + HEAP32[5065] = $3; + $4 = HEAP32[5069]|0; + $5 = ($4|0)==(0); + if ($5) { + $6 = (_IsMouseButtonDown(0)|0); + $7 = ($6|0)==(0); + do { + if ($7) { + $20 = HEAP32[5069]|0; + $21 = ($20|0)==(0); + if ($21) { + $22 = +HEAPF32[8]; + $23 = $22 + -2.0; + HEAPF32[8] = $23; + $24 = +HEAPF32[9]; + $25 = $24 > 300.0; + if ($25) { + $26 = $24 + -2.0; + HEAPF32[9] = $26; + label = 12; + } else { + $28 = $23; + } + } else { + label = 12; + } + } else { + _GetMousePosition($0); + $8 = +HEAPF32[8]; + ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0; + ;HEAP32[$levelWin$byval_copy>>2]=HEAP32[20268>>2]|0;HEAP32[$levelWin$byval_copy+4>>2]=HEAP32[20268+4>>2]|0; + $9 = (_CheckCollisionPointCircle($$byval_copy1,$levelWin$byval_copy,$8)|0); + $10 = ($9|0)==(0); + if (!($10)) { + $11 = +HEAPF32[8]; + $12 = $11 + 2.0; + HEAPF32[8] = $12; + $28 = $12; + break; + } + _GetMousePosition($1); + $13 = +HEAPF32[9]; + ;HEAP32[$$byval_copy1>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$1+4>>2]|0; + ;HEAP32[$levelWin$byval_copy>>2]=HEAP32[20268>>2]|0;HEAP32[$levelWin$byval_copy+4>>2]=HEAP32[20268+4>>2]|0; + $14 = (_CheckCollisionPointCircle($$byval_copy1,$levelWin$byval_copy,$13)|0); + $15 = ($14|0)==(0); + $16 = +HEAPF32[9]; + if (!($15)) { + $17 = $16 + 2.0; + HEAPF32[9] = $17; + label = 12; + break; + } + $18 = $16 + -2.0; + HEAPF32[9] = $18; + $19 = !($18 <= 260.0); + if ($19) { + label = 12; + } else { + HEAPF32[9] = 260.0; + label = 12; + } + } + } while(0); + if ((label|0) == 12) { + $$pr = +HEAPF32[8]; + $28 = $$pr; + } + $27 = !($28 >= 270.0); + if ($27) { + $29 = !($28 <= 40.0); + if (!($29)) { + $$sink = 40.0; + label = 15; + } + } else { + $$sink = 270.0; + label = 15; + } + if ((label|0) == 15) { + HEAPF32[8] = $$sink; + } + $30 = +HEAPF32[9]; + $31 = !($30 >= 600.0); + if (!($31)) { + HEAPF32[9] = 600.0; + } + $32 = +HEAPF32[8]; + $33 = +HEAPF32[9]; + $34 = !($32 >= $33); + if (!($34)) { + HEAP32[5069] = 1; + ;HEAP32[$levelWin$byval_copy>>2]=HEAP32[19960>>2]|0;HEAP32[$levelWin$byval_copy+4>>2]=HEAP32[19960+4>>2]|0;HEAP32[$levelWin$byval_copy+8>>2]=HEAP32[19960+8>>2]|0; + _PlaySound($levelWin$byval_copy); + } + } + $35 = HEAP32[5069]|0; + $36 = ($35|0)==(0); + $37 = HEAP32[5070]|0; + $38 = ($37|0)!=(0); + $or$cond = $36 | $38; + if (!($or$cond)) { + $39 = HEAP32[5065]|0; + $40 = (($39|0) / 60)&-1; + HEAP32[5071] = $40; + HEAP32[5070] = 1; + HEAP32[5065] = 1; + STACKTOP = sp;return; + } + $41 = ($37|0)==(0); + if ($41) { + STACKTOP = sp;return; + } + $$pr3 = HEAP32[5065]|0; + $42 = (($$pr3) + 1)|0; + HEAP32[5065] = $42; + $43 = ($$pr3|0)>(89); + if (!($43)) { + STACKTOP = sp;return; + } + $44 = (_IsMouseButtonPressed(0)|0); + $45 = ($44|0)==(0); + if ($45) { + STACKTOP = sp;return; + } + HEAP32[5066] = 1; + STACKTOP = sp;return; +} +function _DrawLevel04Screen() { + var $$byval_copy4 = 0, $$byval_copy8 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; + var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0; + var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0); + $$byval_copy8 = sp + 68|0; + $$byval_copy4 = sp + 24|0; + $vararg_buffer = sp; + $0 = sp + 64|0; + $1 = sp + 60|0; + $2 = sp + 8|0; + $3 = sp + 56|0; + $4 = sp + 52|0; + $5 = sp + 48|0; + $6 = sp + 44|0; + $7 = sp + 40|0; + $8 = +HEAPF32[9]; + HEAP8[$0>>0] = -126; + $9 = ((($0)) + 1|0); + HEAP8[$9>>0] = -126; + $10 = ((($0)) + 2|0); + HEAP8[$10>>0] = -126; + $11 = ((($0)) + 3|0); + HEAP8[$11>>0] = -1; + ;HEAP32[$$byval_copy4>>2]=HEAP32[20268>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[20268+4>>2]|0; + ;HEAP8[$$byval_copy8>>0]=HEAP8[$0>>0]|0;HEAP8[$$byval_copy8+1>>0]=HEAP8[$0+1>>0]|0;HEAP8[$$byval_copy8+2>>0]=HEAP8[$0+2>>0]|0;HEAP8[$$byval_copy8+3>>0]=HEAP8[$0+3>>0]|0; + _DrawCircleV($$byval_copy4,$8,$$byval_copy8); + $12 = +HEAPF32[8]; + HEAP8[$1>>0] = -11; + $13 = ((($1)) + 1|0); + HEAP8[$13>>0] = -11; + $14 = ((($1)) + 2|0); + HEAP8[$14>>0] = -11; + $15 = ((($1)) + 3|0); + HEAP8[$15>>0] = -1; + ;HEAP32[$$byval_copy4>>2]=HEAP32[20268>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[20268+4>>2]|0; + ;HEAP8[$$byval_copy8>>0]=HEAP8[$1>>0]|0;HEAP8[$$byval_copy8+1>>0]=HEAP8[$1+1>>0]|0;HEAP8[$$byval_copy8+2>>0]=HEAP8[$1+2>>0]|0;HEAP8[$$byval_copy8+3>>0]=HEAP8[$1+3>>0]|0; + _DrawCircleV($$byval_copy4,$12,$$byval_copy8); + $16 = HEAP32[5070]|0; + $17 = ($16|0)==(0); + if ($17) { + $46 = (_GetScreenWidth()|0); + $47 = (($46|0) / 2)&-1; + $48 = (_MeasureText(5778,30)|0); + $49 = (($48|0) / 2)&-1; + $50 = (($47) - ($49))|0; + HEAP8[$7>>0] = -56; + $51 = ((($7)) + 1|0); + HEAP8[$51>>0] = -56; + $52 = ((($7)) + 2|0); + HEAP8[$52>>0] = -56; + $53 = ((($7)) + 3|0); + HEAP8[$53>>0] = -1; + ;HEAP8[$$byval_copy8>>0]=HEAP8[$7>>0]|0;HEAP8[$$byval_copy8+1>>0]=HEAP8[$7+1>>0]|0;HEAP8[$$byval_copy8+2>>0]=HEAP8[$7+2>>0]|0;HEAP8[$$byval_copy8+3>>0]=HEAP8[$7+3>>0]|0; + _DrawText(5778,$50,20,30,$$byval_copy8); + STACKTOP = sp;return; + } else { + HEAP32[$2>>2] = 0; + $18 = ((($2)) + 4|0); + HEAP32[$18>>2] = 0; + $19 = ((($2)) + 8|0); + $20 = (_GetScreenWidth()|0); + HEAP32[$19>>2] = $20; + $21 = ((($2)) + 12|0); + $22 = (_GetScreenHeight()|0); + HEAP32[$21>>2] = $22; + HEAP8[$4>>0] = -56; + $23 = ((($4)) + 1|0); + HEAP8[$23>>0] = -56; + $24 = ((($4)) + 2|0); + HEAP8[$24>>0] = -56; + $25 = ((($4)) + 3|0); + HEAP8[$25>>0] = -1; + ;HEAP8[$$byval_copy8>>0]=HEAP8[$4>>0]|0;HEAP8[$$byval_copy8+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$$byval_copy8+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$$byval_copy8+3>>0]=HEAP8[$4+3>>0]|0; + _Fade($3,$$byval_copy8,0.60000002384185791); + ;HEAP32[$$byval_copy4>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$$byval_copy4+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$$byval_copy4+12>>2]=HEAP32[$2+12>>2]|0; + ;HEAP8[$$byval_copy8>>0]=HEAP8[$3>>0]|0;HEAP8[$$byval_copy8+1>>0]=HEAP8[$3+1>>0]|0;HEAP8[$$byval_copy8+2>>0]=HEAP8[$3+2>>0]|0;HEAP8[$$byval_copy8+3>>0]=HEAP8[$3+3>>0]|0; + _DrawRectangleBordersRec($$byval_copy4,0,0,60,$$byval_copy8); + $26 = (_GetScreenWidth()|0); + $27 = (($26|0) / 2)&-1; + $28 = (_MeasureText(5778,30)|0); + $29 = (($28|0) / 2)&-1; + $30 = (($27) - ($29))|0; + HEAP8[$5>>0] = -126; + $31 = ((($5)) + 1|0); + HEAP8[$31>>0] = -126; + $32 = ((($5)) + 2|0); + HEAP8[$32>>0] = -126; + $33 = ((($5)) + 3|0); + HEAP8[$33>>0] = -1; + ;HEAP8[$$byval_copy8>>0]=HEAP8[$5>>0]|0;HEAP8[$$byval_copy8+1>>0]=HEAP8[$5+1>>0]|0;HEAP8[$$byval_copy8+2>>0]=HEAP8[$5+2>>0]|0;HEAP8[$$byval_copy8+3>>0]=HEAP8[$5+3>>0]|0; + _DrawText(5778,$30,20,30,$$byval_copy8); + $34 = HEAP32[5071]|0; + HEAP32[$vararg_buffer>>2] = $34; + $35 = (_FormatText(5832,$vararg_buffer)|0); + $36 = (_GetScreenWidth()|0); + $37 = (($36|0) / 2)&-1; + $38 = (_MeasureText(5854,30)|0); + $39 = (($38|0) / 2)&-1; + $40 = (($37) - ($39))|0; + $41 = (_GetScreenHeight()|0); + $42 = (($41) + -40)|0; + HEAP8[$6>>0] = -126; + $43 = ((($6)) + 1|0); + HEAP8[$43>>0] = -126; + $44 = ((($6)) + 2|0); + HEAP8[$44>>0] = -126; + $45 = ((($6)) + 3|0); + HEAP8[$45>>0] = -1; + ;HEAP8[$$byval_copy8>>0]=HEAP8[$6>>0]|0;HEAP8[$$byval_copy8+1>>0]=HEAP8[$6+1>>0]|0;HEAP8[$$byval_copy8+2>>0]=HEAP8[$6+2>>0]|0;HEAP8[$$byval_copy8+3>>0]=HEAP8[$6+3>>0]|0; + _DrawText($35,$40,$42,30,$$byval_copy8); + STACKTOP = sp;return; + } +} +function _UnloadLevel04Screen() { + var label = 0, sp = 0; + sp = STACKTOP; + return; +} +function _FinishLevel04Screen() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[5066]|0; + return ($0|0); +} +function _InitLevel05Screen() { + var $0 = 0, $1 = 0, $2 = 0.0, $3 = 0, $4 = 0, $5 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + HEAP32[5072] = 0; + HEAP32[5073] = 0; + $0 = (_GetScreenWidth()|0); + $1 = (($0|0) / 2)&-1; + $2 = (+($1|0)); + $3 = (_GetScreenHeight()|0); + $4 = (($3|0) / 2)&-1; + $5 = (+($4|0)); + HEAPF32[5074] = $2; + HEAPF32[(20300)>>2] = $5; + HEAPF32[5076] = 760.0; + HEAPF32[(20308)>>2] = 684.0; + HEAPF32[(20312)>>2] = 608.0; + HEAPF32[(20316)>>2] = 532.0; + HEAPF32[(20320)>>2] = 456.0; + HEAPF32[(20324)>>2] = 380.0; + HEAPF32[(20328)>>2] = 304.0; + HEAPF32[(20332)>>2] = 228.0; + HEAPF32[(20336)>>2] = 152.0; + HEAPF32[(20340)>>2] = 76.0; + HEAP8[(25016)>>0] = -126; + HEAP8[(25017)>>0] = -126; + HEAP8[(25018)>>0] = -126; + HEAP8[(25019)>>0] = -1; + HEAP8[(25012)>>0] = -11; + HEAP8[(25013)>>0] = -11; + HEAP8[(25014)>>0] = -11; + HEAP8[(25015)>>0] = -1; + HEAP8[(25008)>>0] = -11; + HEAP8[(25009)>>0] = -11; + HEAP8[(25010)>>0] = -11; + HEAP8[(25011)>>0] = -1; + HEAP8[(25004)>>0] = -126; + HEAP8[(25005)>>0] = -126; + HEAP8[(25006)>>0] = -126; + HEAP8[(25007)>>0] = -1; + HEAP8[(25000)>>0] = -11; + HEAP8[(25001)>>0] = -11; + HEAP8[(25002)>>0] = -11; + HEAP8[(25003)>>0] = -1; + HEAP8[(24996)>>0] = -126; + HEAP8[(24997)>>0] = -126; + HEAP8[(24998)>>0] = -126; + HEAP8[(24999)>>0] = -1; + HEAP8[(24992)>>0] = -126; + HEAP8[(24993)>>0] = -126; + HEAP8[(24994)>>0] = -126; + HEAP8[(24995)>>0] = -1; + HEAP8[(24988)>>0] = -126; + HEAP8[(24989)>>0] = -126; + HEAP8[(24990)>>0] = -126; + HEAP8[(24991)>>0] = -1; + HEAP8[(24984)>>0] = -11; + HEAP8[(24985)>>0] = -11; + HEAP8[(24986)>>0] = -11; + HEAP8[(24987)>>0] = -1; + HEAP8[24980] = -126; + HEAP8[(24981)>>0] = -126; + HEAP8[(24982)>>0] = -126; + HEAP8[(24983)>>0] = -1; + return; +} +function _UpdateLevel05Screen() { + var $$04653$lcssa = 0, $$byval_copy45 = 0, $$pr = 0, $$sink = 0, $$sroa$2$0$$sroa_idx = 0, $$sroa$28$0$$sroa_idx = 0, $$sroa$3$0$$sroa_idx = 0, $$sroa$39$0$$sroa_idx = 0, $$sroa$4$0$$sroa_idx = 0, $$sroa$410$0$$sroa_idx = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0; + var $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0; + var $36 = 0.0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0; + var $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0; + var $72 = 0, $73 = 0.0, $74 = 0, $75 = 0, $76 = 0.0, $77 = 0, $78 = 0, $79 = 0.0, $8 = 0, $80 = 0, $81 = 0, $82 = 0.0, $83 = 0, $84 = 0, $85 = 0.0, $86 = 0, $87 = 0, $88 = 0.0, $89 = 0, $9 = 0; + var $90 = 0, $91 = 0.0, $92 = 0, $93 = 0, $94 = 0.0, $95 = 0, $96 = 0, $circleCenter$byval_copy46 = 0, $or$cond = 0, $trunc = 0, $trunc$clear = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0); + $circleCenter$byval_copy46 = sp + 16|0; + $$byval_copy45 = sp + 8|0; + $0 = sp; + $1 = sp + 40|0; + $2 = sp + 36|0; + $3 = sp + 32|0; + $4 = sp + 28|0; + $5 = sp + 24|0; + $6 = HEAP32[5072]|0; + $7 = (($6) + 1)|0; + HEAP32[5072] = $7; + $8 = HEAP32[5086]|0; + $9 = ($8|0)==(0); + do { + if ($9) { + $10 = (_IsMouseButtonPressed(0)|0); + $11 = ($10|0)==(0); + do { + if (!($11)) { + _GetMousePosition($0); + $12 = +HEAPF32[(20340)>>2]; + ;HEAP32[$$byval_copy45>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy45+4>>2]=HEAP32[$0+4>>2]|0; + ;HEAP32[$circleCenter$byval_copy46>>2]=HEAP32[20296>>2]|0;HEAP32[$circleCenter$byval_copy46+4>>2]=HEAP32[20296+4>>2]|0; + $13 = (_CheckCollisionPointCircle($$byval_copy45,$circleCenter$byval_copy46,$12)|0); + $14 = ($13|0)==(0); + if ($14) { + _GetMousePosition($0); + $36 = +HEAPF32[(20336)>>2]; + ;HEAP32[$$byval_copy45>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy45+4>>2]=HEAP32[$0+4>>2]|0; + ;HEAP32[$circleCenter$byval_copy46>>2]=HEAP32[20296>>2]|0;HEAP32[$circleCenter$byval_copy46+4>>2]=HEAP32[20296+4>>2]|0; + $37 = (_CheckCollisionPointCircle($$byval_copy45,$circleCenter$byval_copy46,$36)|0); + $38 = ($37|0)==(0); + if ($38) { + _GetMousePosition($0); + $73 = +HEAPF32[(20332)>>2]; + ;HEAP32[$$byval_copy45>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy45+4>>2]=HEAP32[$0+4>>2]|0; + ;HEAP32[$circleCenter$byval_copy46>>2]=HEAP32[20296>>2]|0;HEAP32[$circleCenter$byval_copy46+4>>2]=HEAP32[20296+4>>2]|0; + $74 = (_CheckCollisionPointCircle($$byval_copy45,$circleCenter$byval_copy46,$73)|0); + $75 = ($74|0)==(0); + if ($75) { + _GetMousePosition($0); + $76 = +HEAPF32[(20328)>>2]; + ;HEAP32[$$byval_copy45>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy45+4>>2]=HEAP32[$0+4>>2]|0; + ;HEAP32[$circleCenter$byval_copy46>>2]=HEAP32[20296>>2]|0;HEAP32[$circleCenter$byval_copy46+4>>2]=HEAP32[20296+4>>2]|0; + $77 = (_CheckCollisionPointCircle($$byval_copy45,$circleCenter$byval_copy46,$76)|0); + $78 = ($77|0)==(0); + if ($78) { + _GetMousePosition($0); + $79 = +HEAPF32[(20324)>>2]; + ;HEAP32[$$byval_copy45>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy45+4>>2]=HEAP32[$0+4>>2]|0; + ;HEAP32[$circleCenter$byval_copy46>>2]=HEAP32[20296>>2]|0;HEAP32[$circleCenter$byval_copy46+4>>2]=HEAP32[20296+4>>2]|0; + $80 = (_CheckCollisionPointCircle($$byval_copy45,$circleCenter$byval_copy46,$79)|0); + $81 = ($80|0)==(0); + if ($81) { + _GetMousePosition($0); + $82 = +HEAPF32[(20320)>>2]; + ;HEAP32[$$byval_copy45>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy45+4>>2]=HEAP32[$0+4>>2]|0; + ;HEAP32[$circleCenter$byval_copy46>>2]=HEAP32[20296>>2]|0;HEAP32[$circleCenter$byval_copy46+4>>2]=HEAP32[20296+4>>2]|0; + $83 = (_CheckCollisionPointCircle($$byval_copy45,$circleCenter$byval_copy46,$82)|0); + $84 = ($83|0)==(0); + if ($84) { + _GetMousePosition($0); + $85 = +HEAPF32[(20316)>>2]; + ;HEAP32[$$byval_copy45>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy45+4>>2]=HEAP32[$0+4>>2]|0; + ;HEAP32[$circleCenter$byval_copy46>>2]=HEAP32[20296>>2]|0;HEAP32[$circleCenter$byval_copy46+4>>2]=HEAP32[20296+4>>2]|0; + $86 = (_CheckCollisionPointCircle($$byval_copy45,$circleCenter$byval_copy46,$85)|0); + $87 = ($86|0)==(0); + if ($87) { + _GetMousePosition($0); + $88 = +HEAPF32[(20312)>>2]; + ;HEAP32[$$byval_copy45>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy45+4>>2]=HEAP32[$0+4>>2]|0; + ;HEAP32[$circleCenter$byval_copy46>>2]=HEAP32[20296>>2]|0;HEAP32[$circleCenter$byval_copy46+4>>2]=HEAP32[20296+4>>2]|0; + $89 = (_CheckCollisionPointCircle($$byval_copy45,$circleCenter$byval_copy46,$88)|0); + $90 = ($89|0)==(0); + if ($90) { + _GetMousePosition($0); + $91 = +HEAPF32[(20308)>>2]; + ;HEAP32[$$byval_copy45>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy45+4>>2]=HEAP32[$0+4>>2]|0; + ;HEAP32[$circleCenter$byval_copy46>>2]=HEAP32[20296>>2]|0;HEAP32[$circleCenter$byval_copy46+4>>2]=HEAP32[20296+4>>2]|0; + $92 = (_CheckCollisionPointCircle($$byval_copy45,$circleCenter$byval_copy46,$91)|0); + $93 = ($92|0)==(0); + if ($93) { + _GetMousePosition($0); + $94 = +HEAPF32[5076]; + ;HEAP32[$$byval_copy45>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy45+4>>2]=HEAP32[$0+4>>2]|0; + ;HEAP32[$circleCenter$byval_copy46>>2]=HEAP32[20296>>2]|0;HEAP32[$circleCenter$byval_copy46+4>>2]=HEAP32[20296+4>>2]|0; + $95 = (_CheckCollisionPointCircle($$byval_copy45,$circleCenter$byval_copy46,$94)|0); + $96 = ($95|0)==(0); + if ($96) { + break; + } else { + $$04653$lcssa = 0; + } + } else { + $$04653$lcssa = 1; + } + } else { + $$04653$lcssa = 2; + } + } else { + $$04653$lcssa = 3; + } + } else { + $$04653$lcssa = 4; + } + } else { + $$04653$lcssa = 5; + } + } else { + $$04653$lcssa = 6; + } + } else { + $$04653$lcssa = 7; + } + } else { + $$04653$lcssa = 8; + } + } else { + $$04653$lcssa = 9; + } + $trunc = $$04653$lcssa&255; + $trunc$clear = $trunc & 15; + L16: do { + switch ($trunc$clear<<24>>24) { + case 0: { + HEAP8[$1>>0] = -126; + $15 = ((($1)) + 1|0); + HEAP8[$15>>0] = -126; + $16 = ((($1)) + 2|0); + HEAP8[$16>>0] = -126; + $17 = ((($1)) + 3|0); + HEAP8[$17>>0] = -1; + ;HEAP8[$$byval_copy45>>0]=HEAP8[(25012)>>0]|0;HEAP8[$$byval_copy45+1>>0]=HEAP8[(25012)+1>>0]|0;HEAP8[$$byval_copy45+2>>0]=HEAP8[(25012)+2>>0]|0;HEAP8[$$byval_copy45+3>>0]=HEAP8[(25012)+3>>0]|0; + ;HEAP8[$circleCenter$byval_copy46>>0]=HEAP8[$1>>0]|0;HEAP8[$circleCenter$byval_copy46+1>>0]=HEAP8[$1+1>>0]|0;HEAP8[$circleCenter$byval_copy46+2>>0]=HEAP8[$1+2>>0]|0;HEAP8[$circleCenter$byval_copy46+3>>0]=HEAP8[$1+3>>0]|0; + $18 = (_CheckColor($$byval_copy45,$circleCenter$byval_copy46)|0); + $19 = ($18|0)==(0); + if ($19) { + HEAP8[(25012)>>0] = -126; + HEAP8[(25013)>>0] = -126; + HEAP8[(25014)>>0] = -126; + $$sink = (25015); + break L16; + } else { + HEAP8[(25012)>>0] = -11; + HEAP8[(25013)>>0] = -11; + HEAP8[(25014)>>0] = -11; + $$sink = (25015); + break L16; + } + break; + } + case 2: { + HEAP8[$2>>0] = -126; + $20 = ((($2)) + 1|0); + HEAP8[$20>>0] = -126; + $21 = ((($2)) + 2|0); + HEAP8[$21>>0] = -126; + $22 = ((($2)) + 3|0); + HEAP8[$22>>0] = -1; + ;HEAP8[$$byval_copy45>>0]=HEAP8[(25000)>>0]|0;HEAP8[$$byval_copy45+1>>0]=HEAP8[(25000)+1>>0]|0;HEAP8[$$byval_copy45+2>>0]=HEAP8[(25000)+2>>0]|0;HEAP8[$$byval_copy45+3>>0]=HEAP8[(25000)+3>>0]|0; + ;HEAP8[$circleCenter$byval_copy46>>0]=HEAP8[$2>>0]|0;HEAP8[$circleCenter$byval_copy46+1>>0]=HEAP8[$2+1>>0]|0;HEAP8[$circleCenter$byval_copy46+2>>0]=HEAP8[$2+2>>0]|0;HEAP8[$circleCenter$byval_copy46+3>>0]=HEAP8[$2+3>>0]|0; + $23 = (_CheckColor($$byval_copy45,$circleCenter$byval_copy46)|0); + $24 = ($23|0)==(0); + if ($24) { + HEAP8[(25000)>>0] = -126; + HEAP8[(25001)>>0] = -126; + HEAP8[(25002)>>0] = -126; + $$sink = (25003); + break L16; + } else { + HEAP8[(25000)>>0] = -11; + HEAP8[(25001)>>0] = -11; + HEAP8[(25002)>>0] = -11; + $$sink = (25003); + break L16; + } + break; + } + case 3: { + HEAP8[$3>>0] = -126; + $25 = ((($3)) + 1|0); + HEAP8[$25>>0] = -126; + $26 = ((($3)) + 2|0); + HEAP8[$26>>0] = -126; + $27 = ((($3)) + 3|0); + HEAP8[$27>>0] = -1; + ;HEAP8[$$byval_copy45>>0]=HEAP8[(25004)>>0]|0;HEAP8[$$byval_copy45+1>>0]=HEAP8[(25004)+1>>0]|0;HEAP8[$$byval_copy45+2>>0]=HEAP8[(25004)+2>>0]|0;HEAP8[$$byval_copy45+3>>0]=HEAP8[(25004)+3>>0]|0; + ;HEAP8[$circleCenter$byval_copy46>>0]=HEAP8[$3>>0]|0;HEAP8[$circleCenter$byval_copy46+1>>0]=HEAP8[$3+1>>0]|0;HEAP8[$circleCenter$byval_copy46+2>>0]=HEAP8[$3+2>>0]|0;HEAP8[$circleCenter$byval_copy46+3>>0]=HEAP8[$3+3>>0]|0; + $28 = (_CheckColor($$byval_copy45,$circleCenter$byval_copy46)|0); + $29 = ($28|0)==(0); + if ($29) { + HEAP8[(25004)>>0] = -126; + HEAP8[(25005)>>0] = -126; + HEAP8[(25006)>>0] = -126; + $$sink = (25007); + break L16; + } else { + HEAP8[(25004)>>0] = -11; + HEAP8[(25005)>>0] = -11; + HEAP8[(25006)>>0] = -11; + $$sink = (25007); + break L16; + } + break; + } + default: { + $30 = (24980 + ($$04653$lcssa<<2)|0); + HEAP8[$4>>0] = -126; + $31 = ((($4)) + 1|0); + HEAP8[$31>>0] = -126; + $32 = ((($4)) + 2|0); + HEAP8[$32>>0] = -126; + $33 = ((($4)) + 3|0); + HEAP8[$33>>0] = -1; + ;HEAP8[$$byval_copy45>>0]=HEAP8[$30>>0]|0;HEAP8[$$byval_copy45+1>>0]=HEAP8[$30+1>>0]|0;HEAP8[$$byval_copy45+2>>0]=HEAP8[$30+2>>0]|0;HEAP8[$$byval_copy45+3>>0]=HEAP8[$30+3>>0]|0; + ;HEAP8[$circleCenter$byval_copy46>>0]=HEAP8[$4>>0]|0;HEAP8[$circleCenter$byval_copy46+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$circleCenter$byval_copy46+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$circleCenter$byval_copy46+3>>0]=HEAP8[$4+3>>0]|0; + $34 = (_CheckColor($$byval_copy45,$circleCenter$byval_copy46)|0); + $35 = ($34|0)==(0); + if ($35) { + HEAP8[$30>>0] = -126; + $$sroa$2$0$$sroa_idx = (((24980 + ($$04653$lcssa<<2)|0)) + 1|0); + HEAP8[$$sroa$2$0$$sroa_idx>>0] = -126; + $$sroa$3$0$$sroa_idx = (((24980 + ($$04653$lcssa<<2)|0)) + 2|0); + HEAP8[$$sroa$3$0$$sroa_idx>>0] = -126; + $$sroa$4$0$$sroa_idx = (((24980 + ($$04653$lcssa<<2)|0)) + 3|0); + $$sink = $$sroa$4$0$$sroa_idx; + break L16; + } else { + HEAP8[$30>>0] = -11; + $$sroa$28$0$$sroa_idx = (((24980 + ($$04653$lcssa<<2)|0)) + 1|0); + HEAP8[$$sroa$28$0$$sroa_idx>>0] = -11; + $$sroa$39$0$$sroa_idx = (((24980 + ($$04653$lcssa<<2)|0)) + 2|0); + HEAP8[$$sroa$39$0$$sroa_idx>>0] = -11; + $$sroa$410$0$$sroa_idx = (((24980 + ($$04653$lcssa<<2)|0)) + 3|0); + $$sink = $$sroa$410$0$$sroa_idx; + break L16; + } + } + } + } while(0); + HEAP8[$$sink>>0] = -1; + STACKTOP = sp;return; + } + } while(0); + $39 = ((($5)) + 1|0); + $40 = ((($5)) + 2|0); + $41 = ((($5)) + 3|0); + HEAP8[$5>>0] = -11; + HEAP8[$39>>0] = -11; + HEAP8[$40>>0] = -11; + HEAP8[$41>>0] = -1; + ;HEAP8[$$byval_copy45>>0]=HEAP8[24980>>0]|0;HEAP8[$$byval_copy45+1>>0]=HEAP8[24980+1>>0]|0;HEAP8[$$byval_copy45+2>>0]=HEAP8[24980+2>>0]|0;HEAP8[$$byval_copy45+3>>0]=HEAP8[24980+3>>0]|0; + ;HEAP8[$circleCenter$byval_copy46>>0]=HEAP8[$5>>0]|0;HEAP8[$circleCenter$byval_copy46+1>>0]=HEAP8[$5+1>>0]|0;HEAP8[$circleCenter$byval_copy46+2>>0]=HEAP8[$5+2>>0]|0;HEAP8[$circleCenter$byval_copy46+3>>0]=HEAP8[$5+3>>0]|0; + $44 = (_CheckColor($$byval_copy45,$circleCenter$byval_copy46)|0); + $45 = ($44|0)==(0); + if ($45) { + HEAP8[$5>>0] = -11; + HEAP8[$39>>0] = -11; + HEAP8[$40>>0] = -11; + HEAP8[$41>>0] = -1; + ;HEAP8[$$byval_copy45>>0]=HEAP8[(24984)>>0]|0;HEAP8[$$byval_copy45+1>>0]=HEAP8[(24984)+1>>0]|0;HEAP8[$$byval_copy45+2>>0]=HEAP8[(24984)+2>>0]|0;HEAP8[$$byval_copy45+3>>0]=HEAP8[(24984)+3>>0]|0; + ;HEAP8[$circleCenter$byval_copy46>>0]=HEAP8[$5>>0]|0;HEAP8[$circleCenter$byval_copy46+1>>0]=HEAP8[$5+1>>0]|0;HEAP8[$circleCenter$byval_copy46+2>>0]=HEAP8[$5+2>>0]|0;HEAP8[$circleCenter$byval_copy46+3>>0]=HEAP8[$5+3>>0]|0; + $42 = (_CheckColor($$byval_copy45,$circleCenter$byval_copy46)|0); + $43 = ($42|0)==(0); + if ($43) { + HEAP8[$5>>0] = -11; + HEAP8[$39>>0] = -11; + HEAP8[$40>>0] = -11; + HEAP8[$41>>0] = -1; + ;HEAP8[$$byval_copy45>>0]=HEAP8[(24988)>>0]|0;HEAP8[$$byval_copy45+1>>0]=HEAP8[(24988)+1>>0]|0;HEAP8[$$byval_copy45+2>>0]=HEAP8[(24988)+2>>0]|0;HEAP8[$$byval_copy45+3>>0]=HEAP8[(24988)+3>>0]|0; + ;HEAP8[$circleCenter$byval_copy46>>0]=HEAP8[$5>>0]|0;HEAP8[$circleCenter$byval_copy46+1>>0]=HEAP8[$5+1>>0]|0;HEAP8[$circleCenter$byval_copy46+2>>0]=HEAP8[$5+2>>0]|0;HEAP8[$circleCenter$byval_copy46+3>>0]=HEAP8[$5+3>>0]|0; + $57 = (_CheckColor($$byval_copy45,$circleCenter$byval_copy46)|0); + $58 = ($57|0)==(0); + if ($58) { + HEAP8[$5>>0] = -11; + HEAP8[$39>>0] = -11; + HEAP8[$40>>0] = -11; + HEAP8[$41>>0] = -1; + ;HEAP8[$$byval_copy45>>0]=HEAP8[(24992)>>0]|0;HEAP8[$$byval_copy45+1>>0]=HEAP8[(24992)+1>>0]|0;HEAP8[$$byval_copy45+2>>0]=HEAP8[(24992)+2>>0]|0;HEAP8[$$byval_copy45+3>>0]=HEAP8[(24992)+3>>0]|0; + ;HEAP8[$circleCenter$byval_copy46>>0]=HEAP8[$5>>0]|0;HEAP8[$circleCenter$byval_copy46+1>>0]=HEAP8[$5+1>>0]|0;HEAP8[$circleCenter$byval_copy46+2>>0]=HEAP8[$5+2>>0]|0;HEAP8[$circleCenter$byval_copy46+3>>0]=HEAP8[$5+3>>0]|0; + $59 = (_CheckColor($$byval_copy45,$circleCenter$byval_copy46)|0); + $60 = ($59|0)==(0); + if ($60) { + HEAP8[$5>>0] = -11; + HEAP8[$39>>0] = -11; + HEAP8[$40>>0] = -11; + HEAP8[$41>>0] = -1; + ;HEAP8[$$byval_copy45>>0]=HEAP8[(24996)>>0]|0;HEAP8[$$byval_copy45+1>>0]=HEAP8[(24996)+1>>0]|0;HEAP8[$$byval_copy45+2>>0]=HEAP8[(24996)+2>>0]|0;HEAP8[$$byval_copy45+3>>0]=HEAP8[(24996)+3>>0]|0; + ;HEAP8[$circleCenter$byval_copy46>>0]=HEAP8[$5>>0]|0;HEAP8[$circleCenter$byval_copy46+1>>0]=HEAP8[$5+1>>0]|0;HEAP8[$circleCenter$byval_copy46+2>>0]=HEAP8[$5+2>>0]|0;HEAP8[$circleCenter$byval_copy46+3>>0]=HEAP8[$5+3>>0]|0; + $61 = (_CheckColor($$byval_copy45,$circleCenter$byval_copy46)|0); + $62 = ($61|0)==(0); + if ($62) { + HEAP8[$5>>0] = -11; + HEAP8[$39>>0] = -11; + HEAP8[$40>>0] = -11; + HEAP8[$41>>0] = -1; + ;HEAP8[$$byval_copy45>>0]=HEAP8[(25000)>>0]|0;HEAP8[$$byval_copy45+1>>0]=HEAP8[(25000)+1>>0]|0;HEAP8[$$byval_copy45+2>>0]=HEAP8[(25000)+2>>0]|0;HEAP8[$$byval_copy45+3>>0]=HEAP8[(25000)+3>>0]|0; + ;HEAP8[$circleCenter$byval_copy46>>0]=HEAP8[$5>>0]|0;HEAP8[$circleCenter$byval_copy46+1>>0]=HEAP8[$5+1>>0]|0;HEAP8[$circleCenter$byval_copy46+2>>0]=HEAP8[$5+2>>0]|0;HEAP8[$circleCenter$byval_copy46+3>>0]=HEAP8[$5+3>>0]|0; + $63 = (_CheckColor($$byval_copy45,$circleCenter$byval_copy46)|0); + $64 = ($63|0)==(0); + if ($64) { + HEAP8[$5>>0] = -11; + HEAP8[$39>>0] = -11; + HEAP8[$40>>0] = -11; + HEAP8[$41>>0] = -1; + ;HEAP8[$$byval_copy45>>0]=HEAP8[(25004)>>0]|0;HEAP8[$$byval_copy45+1>>0]=HEAP8[(25004)+1>>0]|0;HEAP8[$$byval_copy45+2>>0]=HEAP8[(25004)+2>>0]|0;HEAP8[$$byval_copy45+3>>0]=HEAP8[(25004)+3>>0]|0; + ;HEAP8[$circleCenter$byval_copy46>>0]=HEAP8[$5>>0]|0;HEAP8[$circleCenter$byval_copy46+1>>0]=HEAP8[$5+1>>0]|0;HEAP8[$circleCenter$byval_copy46+2>>0]=HEAP8[$5+2>>0]|0;HEAP8[$circleCenter$byval_copy46+3>>0]=HEAP8[$5+3>>0]|0; + $65 = (_CheckColor($$byval_copy45,$circleCenter$byval_copy46)|0); + $66 = ($65|0)==(0); + if ($66) { + HEAP8[$5>>0] = -11; + HEAP8[$39>>0] = -11; + HEAP8[$40>>0] = -11; + HEAP8[$41>>0] = -1; + ;HEAP8[$$byval_copy45>>0]=HEAP8[(25008)>>0]|0;HEAP8[$$byval_copy45+1>>0]=HEAP8[(25008)+1>>0]|0;HEAP8[$$byval_copy45+2>>0]=HEAP8[(25008)+2>>0]|0;HEAP8[$$byval_copy45+3>>0]=HEAP8[(25008)+3>>0]|0; + ;HEAP8[$circleCenter$byval_copy46>>0]=HEAP8[$5>>0]|0;HEAP8[$circleCenter$byval_copy46+1>>0]=HEAP8[$5+1>>0]|0;HEAP8[$circleCenter$byval_copy46+2>>0]=HEAP8[$5+2>>0]|0;HEAP8[$circleCenter$byval_copy46+3>>0]=HEAP8[$5+3>>0]|0; + $67 = (_CheckColor($$byval_copy45,$circleCenter$byval_copy46)|0); + $68 = ($67|0)==(0); + if ($68) { + HEAP8[$5>>0] = -11; + HEAP8[$39>>0] = -11; + HEAP8[$40>>0] = -11; + HEAP8[$41>>0] = -1; + ;HEAP8[$$byval_copy45>>0]=HEAP8[(25012)>>0]|0;HEAP8[$$byval_copy45+1>>0]=HEAP8[(25012)+1>>0]|0;HEAP8[$$byval_copy45+2>>0]=HEAP8[(25012)+2>>0]|0;HEAP8[$$byval_copy45+3>>0]=HEAP8[(25012)+3>>0]|0; + ;HEAP8[$circleCenter$byval_copy46>>0]=HEAP8[$5>>0]|0;HEAP8[$circleCenter$byval_copy46+1>>0]=HEAP8[$5+1>>0]|0;HEAP8[$circleCenter$byval_copy46+2>>0]=HEAP8[$5+2>>0]|0;HEAP8[$circleCenter$byval_copy46+3>>0]=HEAP8[$5+3>>0]|0; + $69 = (_CheckColor($$byval_copy45,$circleCenter$byval_copy46)|0); + $70 = ($69|0)==(0); + if ($70) { + HEAP8[$5>>0] = -11; + HEAP8[$39>>0] = -11; + HEAP8[$40>>0] = -11; + HEAP8[$41>>0] = -1; + ;HEAP8[$$byval_copy45>>0]=HEAP8[(25016)>>0]|0;HEAP8[$$byval_copy45+1>>0]=HEAP8[(25016)+1>>0]|0;HEAP8[$$byval_copy45+2>>0]=HEAP8[(25016)+2>>0]|0;HEAP8[$$byval_copy45+3>>0]=HEAP8[(25016)+3>>0]|0; + ;HEAP8[$circleCenter$byval_copy46>>0]=HEAP8[$5>>0]|0;HEAP8[$circleCenter$byval_copy46+1>>0]=HEAP8[$5+1>>0]|0;HEAP8[$circleCenter$byval_copy46+2>>0]=HEAP8[$5+2>>0]|0;HEAP8[$circleCenter$byval_copy46+3>>0]=HEAP8[$5+3>>0]|0; + $71 = (_CheckColor($$byval_copy45,$circleCenter$byval_copy46)|0); + $72 = ($71|0)==(0); + if ($72) { + HEAP32[5086] = 1; + break; + } + } + } + } + } + } + } + } + } + } + HEAP32[5086] = 0; + STACKTOP = sp;return; + } + } while(0); + $46 = HEAP32[5086]|0; + $47 = ($46|0)==(0); + $48 = HEAP32[5087]|0; + $49 = ($48|0)!=(0); + $or$cond = $47 | $49; + if (!($or$cond)) { + $50 = HEAP32[5072]|0; + $51 = (($50|0) / 60)&-1; + HEAP32[5088] = $51; + HEAP32[5087] = 1; + HEAP32[5072] = 1; + STACKTOP = sp;return; + } + $52 = ($48|0)==(0); + if ($52) { + STACKTOP = sp;return; + } + $$pr = HEAP32[5072]|0; + $53 = (($$pr) + 1)|0; + HEAP32[5072] = $53; + $54 = ($$pr|0)>(89); + if (!($54)) { + STACKTOP = sp;return; + } + $55 = (_IsMouseButtonPressed(0)|0); + $56 = ($55|0)==(0); + if ($56) { + STACKTOP = sp;return; + } + HEAP32[5073] = 1; + STACKTOP = sp;return; +} +function _CheckColor($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; + var label = 0, sp = 0; + sp = STACKTOP; + $2 = HEAP8[$0>>0]|0; + $3 = HEAP8[$1>>0]|0; + $4 = ($2<<24>>24)==($3<<24>>24); + if (!($4)) { + $21 = 0; + $20 = $21&1; + return ($20|0); + } + $5 = ((($0)) + 1|0); + $6 = HEAP8[$5>>0]|0; + $7 = ((($1)) + 1|0); + $8 = HEAP8[$7>>0]|0; + $9 = ($6<<24>>24)==($8<<24>>24); + if (!($9)) { + $21 = 0; + $20 = $21&1; + return ($20|0); + } + $10 = ((($0)) + 2|0); + $11 = HEAP8[$10>>0]|0; + $12 = ((($1)) + 2|0); + $13 = HEAP8[$12>>0]|0; + $14 = ($11<<24>>24)==($13<<24>>24); + if (!($14)) { + $21 = 0; + $20 = $21&1; + return ($20|0); + } + $15 = ((($0)) + 3|0); + $16 = HEAP8[$15>>0]|0; + $17 = ((($1)) + 3|0); + $18 = HEAP8[$17>>0]|0; + $19 = ($16<<24>>24)==($18<<24>>24); + $21 = $19; + $20 = $21&1; + return ($20|0); +} +function _DrawLevel05Screen() { + var $$byval_copy20 = 0, $$byval_copy24 = 0, $0 = 0, $1 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; + var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0; + var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $$byval_copy24 = sp + 60|0; + $$byval_copy20 = sp + 8|0; + $vararg_buffer = sp; + $0 = sp + 24|0; + $1 = sp + 56|0; + $2 = sp + 52|0; + $3 = sp + 48|0; + $4 = sp + 44|0; + $5 = sp + 40|0; + $6 = +HEAPF32[5076]; + ;HEAP32[$$byval_copy20>>2]=HEAP32[20296>>2]|0;HEAP32[$$byval_copy20+4>>2]=HEAP32[20296+4>>2]|0; + ;HEAP8[$$byval_copy24>>0]=HEAP8[24980>>0]|0;HEAP8[$$byval_copy24+1>>0]=HEAP8[24980+1>>0]|0;HEAP8[$$byval_copy24+2>>0]=HEAP8[24980+2>>0]|0;HEAP8[$$byval_copy24+3>>0]=HEAP8[24980+3>>0]|0; + _DrawPoly($$byval_copy20,64,$6,0.0,$$byval_copy24); + $7 = +HEAPF32[(20308)>>2]; + ;HEAP32[$$byval_copy20>>2]=HEAP32[20296>>2]|0;HEAP32[$$byval_copy20+4>>2]=HEAP32[20296+4>>2]|0; + ;HEAP8[$$byval_copy24>>0]=HEAP8[(24984)>>0]|0;HEAP8[$$byval_copy24+1>>0]=HEAP8[(24984)+1>>0]|0;HEAP8[$$byval_copy24+2>>0]=HEAP8[(24984)+2>>0]|0;HEAP8[$$byval_copy24+3>>0]=HEAP8[(24984)+3>>0]|0; + _DrawPoly($$byval_copy20,64,$7,0.0,$$byval_copy24); + $8 = +HEAPF32[(20312)>>2]; + ;HEAP32[$$byval_copy20>>2]=HEAP32[20296>>2]|0;HEAP32[$$byval_copy20+4>>2]=HEAP32[20296+4>>2]|0; + ;HEAP8[$$byval_copy24>>0]=HEAP8[(24988)>>0]|0;HEAP8[$$byval_copy24+1>>0]=HEAP8[(24988)+1>>0]|0;HEAP8[$$byval_copy24+2>>0]=HEAP8[(24988)+2>>0]|0;HEAP8[$$byval_copy24+3>>0]=HEAP8[(24988)+3>>0]|0; + _DrawPoly($$byval_copy20,64,$8,0.0,$$byval_copy24); + $9 = +HEAPF32[(20316)>>2]; + ;HEAP32[$$byval_copy20>>2]=HEAP32[20296>>2]|0;HEAP32[$$byval_copy20+4>>2]=HEAP32[20296+4>>2]|0; + ;HEAP8[$$byval_copy24>>0]=HEAP8[(24992)>>0]|0;HEAP8[$$byval_copy24+1>>0]=HEAP8[(24992)+1>>0]|0;HEAP8[$$byval_copy24+2>>0]=HEAP8[(24992)+2>>0]|0;HEAP8[$$byval_copy24+3>>0]=HEAP8[(24992)+3>>0]|0; + _DrawPoly($$byval_copy20,64,$9,0.0,$$byval_copy24); + $10 = +HEAPF32[(20320)>>2]; + ;HEAP32[$$byval_copy20>>2]=HEAP32[20296>>2]|0;HEAP32[$$byval_copy20+4>>2]=HEAP32[20296+4>>2]|0; + ;HEAP8[$$byval_copy24>>0]=HEAP8[(24996)>>0]|0;HEAP8[$$byval_copy24+1>>0]=HEAP8[(24996)+1>>0]|0;HEAP8[$$byval_copy24+2>>0]=HEAP8[(24996)+2>>0]|0;HEAP8[$$byval_copy24+3>>0]=HEAP8[(24996)+3>>0]|0; + _DrawPoly($$byval_copy20,64,$10,0.0,$$byval_copy24); + $11 = +HEAPF32[(20324)>>2]; + ;HEAP32[$$byval_copy20>>2]=HEAP32[20296>>2]|0;HEAP32[$$byval_copy20+4>>2]=HEAP32[20296+4>>2]|0; + ;HEAP8[$$byval_copy24>>0]=HEAP8[(25000)>>0]|0;HEAP8[$$byval_copy24+1>>0]=HEAP8[(25000)+1>>0]|0;HEAP8[$$byval_copy24+2>>0]=HEAP8[(25000)+2>>0]|0;HEAP8[$$byval_copy24+3>>0]=HEAP8[(25000)+3>>0]|0; + _DrawPoly($$byval_copy20,64,$11,0.0,$$byval_copy24); + $12 = +HEAPF32[(20328)>>2]; + ;HEAP32[$$byval_copy20>>2]=HEAP32[20296>>2]|0;HEAP32[$$byval_copy20+4>>2]=HEAP32[20296+4>>2]|0; + ;HEAP8[$$byval_copy24>>0]=HEAP8[(25004)>>0]|0;HEAP8[$$byval_copy24+1>>0]=HEAP8[(25004)+1>>0]|0;HEAP8[$$byval_copy24+2>>0]=HEAP8[(25004)+2>>0]|0;HEAP8[$$byval_copy24+3>>0]=HEAP8[(25004)+3>>0]|0; + _DrawPoly($$byval_copy20,64,$12,0.0,$$byval_copy24); + $13 = +HEAPF32[(20332)>>2]; + ;HEAP32[$$byval_copy20>>2]=HEAP32[20296>>2]|0;HEAP32[$$byval_copy20+4>>2]=HEAP32[20296+4>>2]|0; + ;HEAP8[$$byval_copy24>>0]=HEAP8[(25008)>>0]|0;HEAP8[$$byval_copy24+1>>0]=HEAP8[(25008)+1>>0]|0;HEAP8[$$byval_copy24+2>>0]=HEAP8[(25008)+2>>0]|0;HEAP8[$$byval_copy24+3>>0]=HEAP8[(25008)+3>>0]|0; + _DrawPoly($$byval_copy20,64,$13,0.0,$$byval_copy24); + $14 = +HEAPF32[(20336)>>2]; + ;HEAP32[$$byval_copy20>>2]=HEAP32[20296>>2]|0;HEAP32[$$byval_copy20+4>>2]=HEAP32[20296+4>>2]|0; + ;HEAP8[$$byval_copy24>>0]=HEAP8[(25012)>>0]|0;HEAP8[$$byval_copy24+1>>0]=HEAP8[(25012)+1>>0]|0;HEAP8[$$byval_copy24+2>>0]=HEAP8[(25012)+2>>0]|0;HEAP8[$$byval_copy24+3>>0]=HEAP8[(25012)+3>>0]|0; + _DrawPoly($$byval_copy20,64,$14,0.0,$$byval_copy24); + $15 = +HEAPF32[(20340)>>2]; + ;HEAP32[$$byval_copy20>>2]=HEAP32[20296>>2]|0;HEAP32[$$byval_copy20+4>>2]=HEAP32[20296+4>>2]|0; + ;HEAP8[$$byval_copy24>>0]=HEAP8[(25016)>>0]|0;HEAP8[$$byval_copy24+1>>0]=HEAP8[(25016)+1>>0]|0;HEAP8[$$byval_copy24+2>>0]=HEAP8[(25016)+2>>0]|0;HEAP8[$$byval_copy24+3>>0]=HEAP8[(25016)+3>>0]|0; + _DrawPoly($$byval_copy20,64,$15,0.0,$$byval_copy24); + $16 = HEAP32[5087]|0; + $17 = ($16|0)==(0); + if ($17) { + $46 = (_GetScreenWidth()|0); + $47 = (($46|0) / 2)&-1; + $48 = (_MeasureText(5787,30)|0); + $49 = (($48|0) / 2)&-1; + $50 = (($47) - ($49))|0; + HEAP8[$5>>0] = -56; + $51 = ((($5)) + 1|0); + HEAP8[$51>>0] = -56; + $52 = ((($5)) + 2|0); + HEAP8[$52>>0] = -56; + $53 = ((($5)) + 3|0); + HEAP8[$53>>0] = -1; + ;HEAP8[$$byval_copy24>>0]=HEAP8[$5>>0]|0;HEAP8[$$byval_copy24+1>>0]=HEAP8[$5+1>>0]|0;HEAP8[$$byval_copy24+2>>0]=HEAP8[$5+2>>0]|0;HEAP8[$$byval_copy24+3>>0]=HEAP8[$5+3>>0]|0; + _DrawText(5787,$50,20,30,$$byval_copy24); + STACKTOP = sp;return; + } else { + HEAP32[$0>>2] = 0; + $18 = ((($0)) + 4|0); + HEAP32[$18>>2] = 0; + $19 = ((($0)) + 8|0); + $20 = (_GetScreenWidth()|0); + HEAP32[$19>>2] = $20; + $21 = ((($0)) + 12|0); + $22 = (_GetScreenHeight()|0); + HEAP32[$21>>2] = $22; + HEAP8[$2>>0] = -56; + $23 = ((($2)) + 1|0); + HEAP8[$23>>0] = -56; + $24 = ((($2)) + 2|0); + HEAP8[$24>>0] = -56; + $25 = ((($2)) + 3|0); + HEAP8[$25>>0] = -1; + ;HEAP8[$$byval_copy24>>0]=HEAP8[$2>>0]|0;HEAP8[$$byval_copy24+1>>0]=HEAP8[$2+1>>0]|0;HEAP8[$$byval_copy24+2>>0]=HEAP8[$2+2>>0]|0;HEAP8[$$byval_copy24+3>>0]=HEAP8[$2+3>>0]|0; + _Fade($1,$$byval_copy24,0.60000002384185791); + ;HEAP32[$$byval_copy20>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy20+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy20+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy20+12>>2]=HEAP32[$0+12>>2]|0; + ;HEAP8[$$byval_copy24>>0]=HEAP8[$1>>0]|0;HEAP8[$$byval_copy24+1>>0]=HEAP8[$1+1>>0]|0;HEAP8[$$byval_copy24+2>>0]=HEAP8[$1+2>>0]|0;HEAP8[$$byval_copy24+3>>0]=HEAP8[$1+3>>0]|0; + _DrawRectangleBordersRec($$byval_copy20,0,0,60,$$byval_copy24); + $26 = (_GetScreenWidth()|0); + $27 = (($26|0) / 2)&-1; + $28 = (_MeasureText(5787,30)|0); + $29 = (($28|0) / 2)&-1; + $30 = (($27) - ($29))|0; + HEAP8[$3>>0] = -126; + $31 = ((($3)) + 1|0); + HEAP8[$31>>0] = -126; + $32 = ((($3)) + 2|0); + HEAP8[$32>>0] = -126; + $33 = ((($3)) + 3|0); + HEAP8[$33>>0] = -1; + ;HEAP8[$$byval_copy24>>0]=HEAP8[$3>>0]|0;HEAP8[$$byval_copy24+1>>0]=HEAP8[$3+1>>0]|0;HEAP8[$$byval_copy24+2>>0]=HEAP8[$3+2>>0]|0;HEAP8[$$byval_copy24+3>>0]=HEAP8[$3+3>>0]|0; + _DrawText(5787,$30,20,30,$$byval_copy24); + $34 = HEAP32[5088]|0; + HEAP32[$vararg_buffer>>2] = $34; + $35 = (_FormatText(5832,$vararg_buffer)|0); + $36 = (_GetScreenWidth()|0); + $37 = (($36|0) / 2)&-1; + $38 = (_MeasureText(5854,30)|0); + $39 = (($38|0) / 2)&-1; + $40 = (($37) - ($39))|0; + $41 = (_GetScreenHeight()|0); + $42 = (($41) + -40)|0; + HEAP8[$4>>0] = -126; + $43 = ((($4)) + 1|0); + HEAP8[$43>>0] = -126; + $44 = ((($4)) + 2|0); + HEAP8[$44>>0] = -126; + $45 = ((($4)) + 3|0); + HEAP8[$45>>0] = -1; + ;HEAP8[$$byval_copy24>>0]=HEAP8[$4>>0]|0;HEAP8[$$byval_copy24+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$$byval_copy24+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$$byval_copy24+3>>0]=HEAP8[$4+3>>0]|0; + _DrawText($35,$40,$42,30,$$byval_copy24); + STACKTOP = sp;return; + } +} +function _UnloadLevel05Screen() { + var label = 0, sp = 0; + sp = STACKTOP; + return; +} +function _FinishLevel05Screen() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[5073]|0; + return ($0|0); +} +function _InitLevel06Screen() { + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAP32[5089] = 0; + HEAP32[5090] = 0; + $0 = (_GetScreenWidth()|0); + $1 = (($0|0) / 2)&-1; + $2 = (($1) + -100)|0; + $3 = (_GetScreenHeight()|0); + HEAP32[5091] = $2; + HEAP32[(20368)>>2] = 0; + HEAP32[(20372)>>2] = 200; + HEAP32[(20376)>>2] = $3; + $4 = (_GetRandomValue(0,5)|0); + $5 = ($4*150)|0; + HEAP32[5095] = $5; + HEAP32[(20384)>>2] = 90; + HEAP32[(20388)>>2] = 100; + HEAP32[(20392)>>2] = 100; + HEAP32[5111] = 0; + $6 = (_GetRandomValue(4,8)|0); + HEAP32[5115] = $6; + $7 = (_GetRandomValue(0,5)|0); + $8 = ($7*150)|0; + HEAP32[(20396)>>2] = $8; + HEAP32[(20400)>>2] = 240; + HEAP32[(20404)>>2] = 100; + HEAP32[(20408)>>2] = 100; + HEAP32[(20448)>>2] = 0; + $9 = (_GetRandomValue(4,8)|0); + HEAP32[(20464)>>2] = $9; + $10 = (_GetRandomValue(0,5)|0); + $11 = ($10*150)|0; + HEAP32[(20412)>>2] = $11; + HEAP32[(20416)>>2] = 390; + HEAP32[(20420)>>2] = 100; + HEAP32[(20424)>>2] = 100; + HEAP32[(20452)>>2] = 0; + $12 = (_GetRandomValue(4,8)|0); + HEAP32[(20468)>>2] = $12; + $13 = (_GetRandomValue(0,5)|0); + $14 = ($13*150)|0; + HEAP32[(20428)>>2] = $14; + HEAP32[(20432)>>2] = 540; + HEAP32[(20436)>>2] = 100; + HEAP32[(20440)>>2] = 100; + HEAP32[(20456)>>2] = 0; + $15 = (_GetRandomValue(4,8)|0); + HEAP32[(20472)>>2] = $15; + return; +} +function _UpdateLevel06Screen() { + var $$017 = 0, $$byval_copy = 0, $$pr = 0, $$sink23 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0; + var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0; + var $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0; + var $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $levelWin$byval_copy = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $levelWin$byval_copy = sp + 16|0; + $$byval_copy = sp; + $0 = sp + 8|0; + $1 = HEAP32[5089]|0; + $2 = (($1) + 1)|0; + HEAP32[5089] = $2; + $3 = HEAP32[5119]|0; + $4 = ($3|0)==(0); + if ($4) { + $$017 = 0; + L2: while(1) { + $8 = (20444 + ($$017<<2)|0); + $9 = HEAP32[$8>>2]|0; + $10 = ($9|0)==(0); + $11 = (20380 + ($$017<<4)|0); + if ($10) { + $12 = (20460 + ($$017<<2)|0); + $13 = HEAP32[$12>>2]|0; + $14 = HEAP32[$11>>2]|0; + $15 = (($14) + ($13))|0; + HEAP32[$11>>2] = $15; + } + $16 = (20380 + ($$017<<4)|0); + $17 = HEAP32[$16>>2]|0; + $18 = (_GetScreenWidth()|0); + $19 = ($17|0)<($18|0); + if (!($19)) { + $20 = (((20380 + ($$017<<4)|0)) + 8|0); + $21 = HEAP32[$20>>2]|0; + $22 = (0 - ($21))|0; + HEAP32[$16>>2] = $22; + } + _GetMousePosition($0); + ;HEAP32[$$byval_copy>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$0+4>>2]|0; + ;HEAP32[$levelWin$byval_copy>>2]=HEAP32[$16>>2]|0;HEAP32[$levelWin$byval_copy+4>>2]=HEAP32[$16+4>>2]|0;HEAP32[$levelWin$byval_copy+8>>2]=HEAP32[$16+8>>2]|0;HEAP32[$levelWin$byval_copy+12>>2]=HEAP32[$16+12>>2]|0; + $23 = (_CheckCollisionPointRec($$byval_copy,$levelWin$byval_copy)|0); + $24 = ($23|0)==(0); + L10: do { + if (!($24)) { + HEAP32[10] = $$017; + $25 = (_IsMouseButtonPressed(0)|0); + $26 = ($25|0)==(0); + if (!($26)) { + switch ($$017|0) { + case 3: { + label = 12; + break L2; + break; + } + case 0: { + $$sink23 = (20456); + break; + } + case 1: { + $$sink23 = (20452); + break; + } + case 2: { + $$sink23 = 20444; + break; + } + default: { + break L10; + } + } + $30 = HEAP32[$$sink23>>2]|0; + $31 = ($30|0)==(0); + $32 = $31&1; + HEAP32[$$sink23>>2] = $32; + $33 = (($$017) + 1)|0; + $$017 = $33; + continue L2; + } + } + } while(0); + $34 = (($$017) + 1)|0; + $exitcond = ($34|0)==(4); + if ($exitcond) { + break; + } else { + $$017 = $34; + } + } + if ((label|0) == 12) { + $27 = HEAP32[(20448)>>2]|0; + $28 = ($27|0)==(0); + $29 = $28&1; + HEAP32[(20448)>>2] = $29; + } + $5 = HEAP32[5095]|0; + $6 = HEAP32[5091]|0; + $7 = ($5|0)>($6|0); + if ($7) { + $35 = HEAP32[(20388)>>2]|0; + $36 = (($35) + ($5))|0; + $37 = HEAP32[(20372)>>2]|0; + $38 = (($37) + ($6))|0; + $39 = ($36|0)<($38|0); + if ($39) { + $40 = HEAP32[(20396)>>2]|0; + $41 = ($40|0)>($6|0); + if ($41) { + $42 = HEAP32[(20404)>>2]|0; + $43 = (($42) + ($40))|0; + $44 = ($43|0)<($38|0); + if ($44) { + $45 = HEAP32[(20412)>>2]|0; + $46 = ($45|0)>($6|0); + if ($46) { + $47 = HEAP32[(20420)>>2]|0; + $48 = (($47) + ($45))|0; + $49 = ($48|0)<($38|0); + if ($49) { + $50 = HEAP32[(20428)>>2]|0; + $51 = ($50|0)>($6|0); + if ($51) { + $52 = HEAP32[(20436)>>2]|0; + $53 = (($52) + ($50))|0; + $54 = ($53|0)<($38|0); + if ($54) { + HEAP32[5119] = 1; + ;HEAP32[$levelWin$byval_copy>>2]=HEAP32[19960>>2]|0;HEAP32[$levelWin$byval_copy+4>>2]=HEAP32[19960+4>>2]|0;HEAP32[$levelWin$byval_copy+8>>2]=HEAP32[19960+8>>2]|0; + _PlaySound($levelWin$byval_copy); + } + } + } + } + } + } + } + } + } + $55 = HEAP32[5119]|0; + $56 = ($55|0)==(0); + $57 = HEAP32[5120]|0; + $58 = ($57|0)!=(0); + $or$cond = $56 | $58; + if (!($or$cond)) { + $59 = HEAP32[5089]|0; + $60 = (($59|0) / 60)&-1; + HEAP32[5121] = $60; + HEAP32[5120] = 1; + HEAP32[5089] = 1; + STACKTOP = sp;return; + } + $61 = ($57|0)==(0); + if ($61) { + STACKTOP = sp;return; + } + $$pr = HEAP32[5089]|0; + $62 = (($$pr) + 1)|0; + HEAP32[5089] = $62; + $63 = ($$pr|0)>(89); + if (!($63)) { + STACKTOP = sp;return; + } + $64 = (_IsMouseButtonPressed(0)|0); + $65 = ($64|0)==(0); + if ($65) { + STACKTOP = sp;return; + } + HEAP32[5090] = 1; + STACKTOP = sp;return; +} +function _DrawLevel06Screen() { + var $$byval_copy12 = 0, $$byval_copy16 = 0, $$lobit = 0, $$lobit$not = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0; + var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0; + var $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0; + var $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0; + var sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0); + $$byval_copy16 = sp + 76|0; + $$byval_copy12 = sp + 24|0; + $vararg_buffer = sp; + $0 = sp + 72|0; + $1 = sp + 68|0; + $2 = sp + 64|0; + $3 = sp + 60|0; + $4 = sp + 8|0; + $5 = sp + 56|0; + $6 = sp + 52|0; + $7 = sp + 48|0; + $8 = sp + 44|0; + $9 = sp + 40|0; + HEAP8[$0>>0] = -56; + $10 = ((($0)) + 1|0); + HEAP8[$10>>0] = -56; + $11 = ((($0)) + 2|0); + HEAP8[$11>>0] = -56; + $12 = ((($0)) + 3|0); + HEAP8[$12>>0] = -1; + ;HEAP32[$$byval_copy12>>2]=HEAP32[20364>>2]|0;HEAP32[$$byval_copy12+4>>2]=HEAP32[20364+4>>2]|0;HEAP32[$$byval_copy12+8>>2]=HEAP32[20364+8>>2]|0;HEAP32[$$byval_copy12+12>>2]=HEAP32[20364+12>>2]|0; + ;HEAP8[$$byval_copy16>>0]=HEAP8[$0>>0]|0;HEAP8[$$byval_copy16+1>>0]=HEAP8[$0+1>>0]|0;HEAP8[$$byval_copy16+2>>0]=HEAP8[$0+2>>0]|0;HEAP8[$$byval_copy16+3>>0]=HEAP8[$0+3>>0]|0; + _DrawRectangleRec($$byval_copy12,$$byval_copy16); + $13 = ((($1)) + 1|0); + $14 = ((($1)) + 2|0); + $15 = ((($1)) + 3|0); + HEAP8[$1>>0] = -126; + HEAP8[$13>>0] = -126; + HEAP8[$14>>0] = -126; + HEAP8[$15>>0] = -1; + ;HEAP32[$$byval_copy12>>2]=HEAP32[20380>>2]|0;HEAP32[$$byval_copy12+4>>2]=HEAP32[20380+4>>2]|0;HEAP32[$$byval_copy12+8>>2]=HEAP32[20380+8>>2]|0;HEAP32[$$byval_copy12+12>>2]=HEAP32[20380+12>>2]|0; + ;HEAP8[$$byval_copy16>>0]=HEAP8[$1>>0]|0;HEAP8[$$byval_copy16+1>>0]=HEAP8[$1+1>>0]|0;HEAP8[$$byval_copy16+2>>0]=HEAP8[$1+2>>0]|0;HEAP8[$$byval_copy16+3>>0]=HEAP8[$1+3>>0]|0; + _DrawRectangleRec($$byval_copy12,$$byval_copy16); + HEAP8[$1>>0] = -126; + HEAP8[$13>>0] = -126; + HEAP8[$14>>0] = -126; + HEAP8[$15>>0] = -1; + ;HEAP32[$$byval_copy12>>2]=HEAP32[(20396)>>2]|0;HEAP32[$$byval_copy12+4>>2]=HEAP32[(20396)+4>>2]|0;HEAP32[$$byval_copy12+8>>2]=HEAP32[(20396)+8>>2]|0;HEAP32[$$byval_copy12+12>>2]=HEAP32[(20396)+12>>2]|0; + ;HEAP8[$$byval_copy16>>0]=HEAP8[$1>>0]|0;HEAP8[$$byval_copy16+1>>0]=HEAP8[$1+1>>0]|0;HEAP8[$$byval_copy16+2>>0]=HEAP8[$1+2>>0]|0;HEAP8[$$byval_copy16+3>>0]=HEAP8[$1+3>>0]|0; + _DrawRectangleRec($$byval_copy12,$$byval_copy16); + HEAP8[$1>>0] = -126; + HEAP8[$13>>0] = -126; + HEAP8[$14>>0] = -126; + HEAP8[$15>>0] = -1; + ;HEAP32[$$byval_copy12>>2]=HEAP32[(20412)>>2]|0;HEAP32[$$byval_copy12+4>>2]=HEAP32[(20412)+4>>2]|0;HEAP32[$$byval_copy12+8>>2]=HEAP32[(20412)+8>>2]|0;HEAP32[$$byval_copy12+12>>2]=HEAP32[(20412)+12>>2]|0; + ;HEAP8[$$byval_copy16>>0]=HEAP8[$1>>0]|0;HEAP8[$$byval_copy16+1>>0]=HEAP8[$1+1>>0]|0;HEAP8[$$byval_copy16+2>>0]=HEAP8[$1+2>>0]|0;HEAP8[$$byval_copy16+3>>0]=HEAP8[$1+3>>0]|0; + _DrawRectangleRec($$byval_copy12,$$byval_copy16); + HEAP8[$1>>0] = -126; + HEAP8[$13>>0] = -126; + HEAP8[$14>>0] = -126; + HEAP8[$15>>0] = -1; + ;HEAP32[$$byval_copy12>>2]=HEAP32[(20428)>>2]|0;HEAP32[$$byval_copy12+4>>2]=HEAP32[(20428)+4>>2]|0;HEAP32[$$byval_copy12+8>>2]=HEAP32[(20428)+8>>2]|0;HEAP32[$$byval_copy12+12>>2]=HEAP32[(20428)+12>>2]|0; + ;HEAP8[$$byval_copy16>>0]=HEAP8[$1>>0]|0;HEAP8[$$byval_copy16+1>>0]=HEAP8[$1+1>>0]|0;HEAP8[$$byval_copy16+2>>0]=HEAP8[$1+2>>0]|0;HEAP8[$$byval_copy16+3>>0]=HEAP8[$1+3>>0]|0; + _DrawRectangleRec($$byval_copy12,$$byval_copy16); + $16 = HEAP32[5119]|0; + $17 = $16 ^ 1; + $18 = HEAP32[10]|0; + $$lobit = $18 >>> 31; + $$lobit$not = $$lobit ^ 1; + $19 = $$lobit$not & $17; + $20 = ($19|0)==(0); + if (!($20)) { + $21 = (20380 + ($18<<4)|0); + $22 = HEAP32[$21>>2]|0; + $23 = (($22) + -5)|0; + $24 = (((20380 + ($18<<4)|0)) + 4|0); + $25 = HEAP32[$24>>2]|0; + $26 = (($25) + -5)|0; + $27 = (((20380 + ($18<<4)|0)) + 8|0); + $28 = HEAP32[$27>>2]|0; + $29 = (($28) + 10)|0; + $30 = (((20380 + ($18<<4)|0)) + 12|0); + $31 = HEAP32[$30>>2]|0; + $32 = (($31) + 10)|0; + HEAP8[$3>>0] = -56; + $33 = ((($3)) + 1|0); + HEAP8[$33>>0] = -56; + $34 = ((($3)) + 2|0); + HEAP8[$34>>0] = -56; + $35 = ((($3)) + 3|0); + HEAP8[$35>>0] = -1; + ;HEAP8[$$byval_copy16>>0]=HEAP8[$3>>0]|0;HEAP8[$$byval_copy16+1>>0]=HEAP8[$3+1>>0]|0;HEAP8[$$byval_copy16+2>>0]=HEAP8[$3+2>>0]|0;HEAP8[$$byval_copy16+3>>0]=HEAP8[$3+3>>0]|0; + _Fade($2,$$byval_copy16,0.80000001192092896); + ;HEAP8[$$byval_copy16>>0]=HEAP8[$2>>0]|0;HEAP8[$$byval_copy16+1>>0]=HEAP8[$2+1>>0]|0;HEAP8[$$byval_copy16+2>>0]=HEAP8[$2+2>>0]|0;HEAP8[$$byval_copy16+3>>0]=HEAP8[$2+3>>0]|0; + _DrawRectangleLines($23,$26,$29,$32,$$byval_copy16); + } + $36 = HEAP32[5120]|0; + $37 = ($36|0)==(0); + if ($37) { + $66 = (_GetScreenWidth()|0); + $67 = (($66|0) / 2)&-1; + $68 = (_MeasureText(5796,30)|0); + $69 = (($68|0) / 2)&-1; + $70 = (($67) - ($69))|0; + HEAP8[$9>>0] = -56; + $71 = ((($9)) + 1|0); + HEAP8[$71>>0] = -56; + $72 = ((($9)) + 2|0); + HEAP8[$72>>0] = -56; + $73 = ((($9)) + 3|0); + HEAP8[$73>>0] = -1; + ;HEAP8[$$byval_copy16>>0]=HEAP8[$9>>0]|0;HEAP8[$$byval_copy16+1>>0]=HEAP8[$9+1>>0]|0;HEAP8[$$byval_copy16+2>>0]=HEAP8[$9+2>>0]|0;HEAP8[$$byval_copy16+3>>0]=HEAP8[$9+3>>0]|0; + _DrawText(5796,$70,20,30,$$byval_copy16); + STACKTOP = sp;return; + } else { + HEAP32[$4>>2] = 0; + $38 = ((($4)) + 4|0); + HEAP32[$38>>2] = 0; + $39 = ((($4)) + 8|0); + $40 = (_GetScreenWidth()|0); + HEAP32[$39>>2] = $40; + $41 = ((($4)) + 12|0); + $42 = (_GetScreenHeight()|0); + HEAP32[$41>>2] = $42; + HEAP8[$6>>0] = -56; + $43 = ((($6)) + 1|0); + HEAP8[$43>>0] = -56; + $44 = ((($6)) + 2|0); + HEAP8[$44>>0] = -56; + $45 = ((($6)) + 3|0); + HEAP8[$45>>0] = -1; + ;HEAP8[$$byval_copy16>>0]=HEAP8[$6>>0]|0;HEAP8[$$byval_copy16+1>>0]=HEAP8[$6+1>>0]|0;HEAP8[$$byval_copy16+2>>0]=HEAP8[$6+2>>0]|0;HEAP8[$$byval_copy16+3>>0]=HEAP8[$6+3>>0]|0; + _Fade($5,$$byval_copy16,0.60000002384185791); + ;HEAP32[$$byval_copy12>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy12+4>>2]=HEAP32[$4+4>>2]|0;HEAP32[$$byval_copy12+8>>2]=HEAP32[$4+8>>2]|0;HEAP32[$$byval_copy12+12>>2]=HEAP32[$4+12>>2]|0; + ;HEAP8[$$byval_copy16>>0]=HEAP8[$5>>0]|0;HEAP8[$$byval_copy16+1>>0]=HEAP8[$5+1>>0]|0;HEAP8[$$byval_copy16+2>>0]=HEAP8[$5+2>>0]|0;HEAP8[$$byval_copy16+3>>0]=HEAP8[$5+3>>0]|0; + _DrawRectangleBordersRec($$byval_copy12,0,0,60,$$byval_copy16); + $46 = (_GetScreenWidth()|0); + $47 = (($46|0) / 2)&-1; + $48 = (_MeasureText(5796,30)|0); + $49 = (($48|0) / 2)&-1; + $50 = (($47) - ($49))|0; + HEAP8[$7>>0] = -126; + $51 = ((($7)) + 1|0); + HEAP8[$51>>0] = -126; + $52 = ((($7)) + 2|0); + HEAP8[$52>>0] = -126; + $53 = ((($7)) + 3|0); + HEAP8[$53>>0] = -1; + ;HEAP8[$$byval_copy16>>0]=HEAP8[$7>>0]|0;HEAP8[$$byval_copy16+1>>0]=HEAP8[$7+1>>0]|0;HEAP8[$$byval_copy16+2>>0]=HEAP8[$7+2>>0]|0;HEAP8[$$byval_copy16+3>>0]=HEAP8[$7+3>>0]|0; + _DrawText(5796,$50,20,30,$$byval_copy16); + $54 = HEAP32[5121]|0; + HEAP32[$vararg_buffer>>2] = $54; + $55 = (_FormatText(5832,$vararg_buffer)|0); + $56 = (_GetScreenWidth()|0); + $57 = (($56|0) / 2)&-1; + $58 = (_MeasureText(5854,30)|0); + $59 = (($58|0) / 2)&-1; + $60 = (($57) - ($59))|0; + $61 = (_GetScreenHeight()|0); + $62 = (($61) + -40)|0; + HEAP8[$8>>0] = -126; + $63 = ((($8)) + 1|0); + HEAP8[$63>>0] = -126; + $64 = ((($8)) + 2|0); + HEAP8[$64>>0] = -126; + $65 = ((($8)) + 3|0); + HEAP8[$65>>0] = -1; + ;HEAP8[$$byval_copy16>>0]=HEAP8[$8>>0]|0;HEAP8[$$byval_copy16+1>>0]=HEAP8[$8+1>>0]|0;HEAP8[$$byval_copy16+2>>0]=HEAP8[$8+2>>0]|0;HEAP8[$$byval_copy16+3>>0]=HEAP8[$8+3>>0]|0; + _DrawText($55,$60,$62,30,$$byval_copy16); + STACKTOP = sp;return; + } +} +function _UnloadLevel06Screen() { + var label = 0, sp = 0; + sp = STACKTOP; + return; +} +function _FinishLevel06Screen() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[5090]|0; + return ($0|0); +} +function _InitLevel07Screen() { + var $0 = 0, $1 = 0, $10 = 0.0, $11 = 0, $12 = 0, $13 = 0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0, $18 = 0.0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0.0, $23 = 0, $24 = 0, $25 = 0, $26 = 0.0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0.0, $30 = 0.0, $31 = 0, $32 = 0, $33 = 0.0, $34 = 0, $35 = 0, $36 = 0, $37 = 0.0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0.0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0.0, $5 = 0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAP32[5122] = 0; + HEAP32[5123] = 0; + $0 = (_GetScreenWidth()|0); + $1 = (($0|0) / 2)&-1; + $2 = (($1) + -340)|0; + $3 = (+($2|0)); + $4 = (_GetScreenHeight()|0); + $5 = (($4|0) / 2)&-1; + $6 = (($5) + -100)|0; + $7 = (+($6|0)); + HEAPF32[5124] = $3; + HEAPF32[(20500)>>2] = $7; + $8 = (_GetScreenWidth()|0); + $9 = (($8|0) / 2)&-1; + $10 = (+($9|0)); + $11 = (_GetScreenHeight()|0); + $12 = (($11|0) / 2)&-1; + $13 = (($12) + -100)|0; + $14 = (+($13|0)); + HEAPF32[5126] = $10; + HEAPF32[(20508)>>2] = $14; + $15 = (_GetScreenWidth()|0); + $16 = (($15|0) / 2)&-1; + $17 = (($16) + 340)|0; + $18 = (+($17|0)); + $19 = (_GetScreenHeight()|0); + $20 = (($19|0) / 2)&-1; + $21 = (($20) + -100)|0; + $22 = (+($21|0)); + HEAPF32[5128] = $18; + HEAPF32[(20516)>>2] = $22; + $23 = (_GetScreenWidth()|0); + $24 = (($23|0) / 2)&-1; + $25 = (($24) + -340)|0; + $26 = (+($25|0)); + $27 = (_GetScreenHeight()|0); + $28 = (($27|0) / 2)&-1; + $29 = (($28) + 120)|0; + $30 = (+($29|0)); + HEAPF32[5130] = $26; + HEAPF32[(20524)>>2] = $30; + $31 = (_GetScreenWidth()|0); + $32 = (($31|0) / 2)&-1; + $33 = (+($32|0)); + $34 = (_GetScreenHeight()|0); + $35 = (($34|0) / 2)&-1; + $36 = (($35) + 120)|0; + $37 = (+($36|0)); + HEAPF32[5132] = $33; + HEAPF32[(20532)>>2] = $37; + $38 = (_GetScreenWidth()|0); + $39 = (($38|0) / 2)&-1; + $40 = (($39) + 340)|0; + $41 = (+($40|0)); + $42 = (_GetScreenHeight()|0); + $43 = (($42|0) / 2)&-1; + $44 = (($43) + 120)|0; + $45 = (+($44|0)); + HEAPF32[5134] = $41; + HEAPF32[(20540)>>2] = $45; + HEAP32[5136] = 0; + HEAP32[5137] = 1; + HEAP32[5138] = 0; + HEAP8[25020] = -126; + HEAP8[(25021)>>0] = -126; + HEAP8[(25022)>>0] = -126; + HEAP8[(25023)>>0] = -1; + HEAP8[25024] = -126; + HEAP8[(25025)>>0] = -126; + HEAP8[(25026)>>0] = -126; + HEAP8[(25027)>>0] = -1; + HEAP8[25028] = -126; + HEAP8[(25029)>>0] = -126; + HEAP8[(25030)>>0] = -126; + HEAP8[(25031)>>0] = -1; + return; +} +function _UpdateLevel07Screen() { + var $$pr = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; + var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; + var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0; + var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0; + var $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $9 = 0, $levelWin$byval_copy = 0, $middleCircleActive$sink12 = 0, $or$cond = 0, $or$cond9 = 0, $rightCircleColor$byval_copy13 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0); + $levelWin$byval_copy = sp + 56|0; + $rightCircleColor$byval_copy13 = sp + 48|0; + $0 = sp + 40|0; + $1 = sp + 32|0; + $2 = sp + 24|0; + $3 = sp + 16|0; + $4 = sp + 88|0; + $5 = sp + 8|0; + $6 = sp + 84|0; + $7 = sp; + $8 = sp + 80|0; + $9 = sp + 76|0; + $10 = sp + 72|0; + $11 = sp + 68|0; + $12 = HEAP32[5122]|0; + $13 = (($12) + 1)|0; + HEAP32[5122] = $13; + $14 = HEAP32[5139]|0; + $15 = ($14|0)==(0); + if ($15) { + $16 = (_IsMouseButtonPressed(0)|0); + $17 = ($16|0)==(0); + do { + if (!($17)) { + _GetMousePosition($0); + ;HEAP32[$rightCircleColor$byval_copy13>>2]=HEAP32[$0>>2]|0;HEAP32[$rightCircleColor$byval_copy13+4>>2]=HEAP32[$0+4>>2]|0; + ;HEAP32[$levelWin$byval_copy>>2]=HEAP32[20520>>2]|0;HEAP32[$levelWin$byval_copy+4>>2]=HEAP32[20520+4>>2]|0; + $18 = (_CheckCollisionPointCircle($rightCircleColor$byval_copy13,$levelWin$byval_copy,80.0)|0); + $19 = ($18|0)==(0); + if ($19) { + _GetMousePosition($1); + ;HEAP32[$rightCircleColor$byval_copy13>>2]=HEAP32[$1>>2]|0;HEAP32[$rightCircleColor$byval_copy13+4>>2]=HEAP32[$1+4>>2]|0; + ;HEAP32[$levelWin$byval_copy>>2]=HEAP32[20528>>2]|0;HEAP32[$levelWin$byval_copy+4>>2]=HEAP32[20528+4>>2]|0; + $20 = (_CheckCollisionPointCircle($rightCircleColor$byval_copy13,$levelWin$byval_copy,80.0)|0); + $21 = ($20|0)==(0); + if ($21) { + _GetMousePosition($2); + ;HEAP32[$rightCircleColor$byval_copy13>>2]=HEAP32[$2>>2]|0;HEAP32[$rightCircleColor$byval_copy13+4>>2]=HEAP32[$2+4>>2]|0; + ;HEAP32[$levelWin$byval_copy>>2]=HEAP32[20536>>2]|0;HEAP32[$levelWin$byval_copy+4>>2]=HEAP32[20536+4>>2]|0; + $22 = (_CheckCollisionPointCircle($rightCircleColor$byval_copy13,$levelWin$byval_copy,80.0)|0); + $23 = ($22|0)==(0); + if (!($23)) { + $middleCircleActive$sink12 = 20552; + label = 6; + } + } else { + $middleCircleActive$sink12 = 20548; + label = 6; + } + } else { + $middleCircleActive$sink12 = 20544; + label = 6; + } + if ((label|0) == 6) { + $24 = HEAP32[$middleCircleActive$sink12>>2]|0; + $25 = ($24|0)==(0); + $26 = $25&1; + HEAP32[$middleCircleActive$sink12>>2] = $26; + } + $27 = HEAP32[5138]|0; + $28 = ($27|0)==(0); + do { + if (!($28)) { + _GetMousePosition($3); + ;HEAP32[$rightCircleColor$byval_copy13>>2]=HEAP32[$3>>2]|0;HEAP32[$rightCircleColor$byval_copy13+4>>2]=HEAP32[$3+4>>2]|0; + ;HEAP32[$levelWin$byval_copy>>2]=HEAP32[20496>>2]|0;HEAP32[$levelWin$byval_copy+4>>2]=HEAP32[20496+4>>2]|0; + $29 = (_CheckCollisionPointCircle($rightCircleColor$byval_copy13,$levelWin$byval_copy,100.0)|0); + $30 = ($29|0)==(0); + if (!($30)) { + HEAP8[$4>>0] = -126; + $31 = ((($4)) + 1|0); + HEAP8[$31>>0] = -126; + $32 = ((($4)) + 2|0); + HEAP8[$32>>0] = -126; + $33 = ((($4)) + 3|0); + HEAP8[$33>>0] = -1; + ;HEAP8[$rightCircleColor$byval_copy13>>0]=HEAP8[25020>>0]|0;HEAP8[$rightCircleColor$byval_copy13+1>>0]=HEAP8[25020+1>>0]|0;HEAP8[$rightCircleColor$byval_copy13+2>>0]=HEAP8[25020+2>>0]|0;HEAP8[$rightCircleColor$byval_copy13+3>>0]=HEAP8[25020+3>>0]|0; + ;HEAP8[$levelWin$byval_copy>>0]=HEAP8[$4>>0]|0;HEAP8[$levelWin$byval_copy+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$levelWin$byval_copy+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$levelWin$byval_copy+3>>0]=HEAP8[$4+3>>0]|0; + $34 = (_CheckColor_140($rightCircleColor$byval_copy13,$levelWin$byval_copy)|0); + $35 = ($34|0)==(0); + if ($35) { + HEAP8[25020] = -126; + HEAP8[(25021)>>0] = -126; + HEAP8[(25022)>>0] = -126; + HEAP8[(25023)>>0] = -1; + break; + } else { + HEAP8[25020] = -56; + HEAP8[(25021)>>0] = -56; + HEAP8[(25022)>>0] = -56; + HEAP8[(25023)>>0] = -1; + break; + } + } + } + } while(0); + $36 = HEAP32[5137]|0; + $37 = ($36|0)==(0); + do { + if (!($37)) { + _GetMousePosition($5); + ;HEAP32[$rightCircleColor$byval_copy13>>2]=HEAP32[$5>>2]|0;HEAP32[$rightCircleColor$byval_copy13+4>>2]=HEAP32[$5+4>>2]|0; + ;HEAP32[$levelWin$byval_copy>>2]=HEAP32[20504>>2]|0;HEAP32[$levelWin$byval_copy+4>>2]=HEAP32[20504+4>>2]|0; + $38 = (_CheckCollisionPointCircle($rightCircleColor$byval_copy13,$levelWin$byval_copy,100.0)|0); + $39 = ($38|0)==(0); + if (!($39)) { + HEAP8[$6>>0] = -126; + $40 = ((($6)) + 1|0); + HEAP8[$40>>0] = -126; + $41 = ((($6)) + 2|0); + HEAP8[$41>>0] = -126; + $42 = ((($6)) + 3|0); + HEAP8[$42>>0] = -1; + ;HEAP8[$rightCircleColor$byval_copy13>>0]=HEAP8[25024>>0]|0;HEAP8[$rightCircleColor$byval_copy13+1>>0]=HEAP8[25024+1>>0]|0;HEAP8[$rightCircleColor$byval_copy13+2>>0]=HEAP8[25024+2>>0]|0;HEAP8[$rightCircleColor$byval_copy13+3>>0]=HEAP8[25024+3>>0]|0; + ;HEAP8[$levelWin$byval_copy>>0]=HEAP8[$6>>0]|0;HEAP8[$levelWin$byval_copy+1>>0]=HEAP8[$6+1>>0]|0;HEAP8[$levelWin$byval_copy+2>>0]=HEAP8[$6+2>>0]|0;HEAP8[$levelWin$byval_copy+3>>0]=HEAP8[$6+3>>0]|0; + $43 = (_CheckColor_140($rightCircleColor$byval_copy13,$levelWin$byval_copy)|0); + $44 = ($43|0)==(0); + if ($44) { + HEAP8[25024] = -126; + HEAP8[(25025)>>0] = -126; + HEAP8[(25026)>>0] = -126; + HEAP8[(25027)>>0] = -1; + break; + } else { + HEAP8[25024] = -56; + HEAP8[(25025)>>0] = -56; + HEAP8[(25026)>>0] = -56; + HEAP8[(25027)>>0] = -1; + break; + } + } + } + } while(0); + $45 = HEAP32[5138]|0; + $46 = ($45|0)!=(0); + $47 = HEAP32[5136]|0; + $48 = ($47|0)!=(0); + $or$cond = $46 & $48; + if ($or$cond) { + _GetMousePosition($7); + ;HEAP32[$rightCircleColor$byval_copy13>>2]=HEAP32[$7>>2]|0;HEAP32[$rightCircleColor$byval_copy13+4>>2]=HEAP32[$7+4>>2]|0; + ;HEAP32[$levelWin$byval_copy>>2]=HEAP32[20512>>2]|0;HEAP32[$levelWin$byval_copy+4>>2]=HEAP32[20512+4>>2]|0; + $49 = (_CheckCollisionPointCircle($rightCircleColor$byval_copy13,$levelWin$byval_copy,100.0)|0); + $50 = ($49|0)==(0); + if (!($50)) { + HEAP8[$8>>0] = -126; + $51 = ((($8)) + 1|0); + HEAP8[$51>>0] = -126; + $52 = ((($8)) + 2|0); + HEAP8[$52>>0] = -126; + $53 = ((($8)) + 3|0); + HEAP8[$53>>0] = -1; + ;HEAP8[$rightCircleColor$byval_copy13>>0]=HEAP8[25028>>0]|0;HEAP8[$rightCircleColor$byval_copy13+1>>0]=HEAP8[25028+1>>0]|0;HEAP8[$rightCircleColor$byval_copy13+2>>0]=HEAP8[25028+2>>0]|0;HEAP8[$rightCircleColor$byval_copy13+3>>0]=HEAP8[25028+3>>0]|0; + ;HEAP8[$levelWin$byval_copy>>0]=HEAP8[$8>>0]|0;HEAP8[$levelWin$byval_copy+1>>0]=HEAP8[$8+1>>0]|0;HEAP8[$levelWin$byval_copy+2>>0]=HEAP8[$8+2>>0]|0;HEAP8[$levelWin$byval_copy+3>>0]=HEAP8[$8+3>>0]|0; + $54 = (_CheckColor_140($rightCircleColor$byval_copy13,$levelWin$byval_copy)|0); + $55 = ($54|0)==(0); + if ($55) { + HEAP8[25028] = -126; + HEAP8[(25029)>>0] = -126; + HEAP8[(25030)>>0] = -126; + HEAP8[(25031)>>0] = -1; + break; + } else { + HEAP8[25028] = -56; + HEAP8[(25029)>>0] = -56; + HEAP8[(25030)>>0] = -56; + HEAP8[(25031)>>0] = -1; + break; + } + } + } + } + } while(0); + HEAP8[$9>>0] = -56; + $56 = ((($9)) + 1|0); + HEAP8[$56>>0] = -56; + $57 = ((($9)) + 2|0); + HEAP8[$57>>0] = -56; + $58 = ((($9)) + 3|0); + HEAP8[$58>>0] = -1; + ;HEAP8[$rightCircleColor$byval_copy13>>0]=HEAP8[25020>>0]|0;HEAP8[$rightCircleColor$byval_copy13+1>>0]=HEAP8[25020+1>>0]|0;HEAP8[$rightCircleColor$byval_copy13+2>>0]=HEAP8[25020+2>>0]|0;HEAP8[$rightCircleColor$byval_copy13+3>>0]=HEAP8[25020+3>>0]|0; + ;HEAP8[$levelWin$byval_copy>>0]=HEAP8[$9>>0]|0;HEAP8[$levelWin$byval_copy+1>>0]=HEAP8[$9+1>>0]|0;HEAP8[$levelWin$byval_copy+2>>0]=HEAP8[$9+2>>0]|0;HEAP8[$levelWin$byval_copy+3>>0]=HEAP8[$9+3>>0]|0; + $59 = (_CheckColor_140($rightCircleColor$byval_copy13,$levelWin$byval_copy)|0); + $60 = ($59|0)==(0); + if (!($60)) { + HEAP8[$10>>0] = -56; + $61 = ((($10)) + 1|0); + HEAP8[$61>>0] = -56; + $62 = ((($10)) + 2|0); + HEAP8[$62>>0] = -56; + $63 = ((($10)) + 3|0); + HEAP8[$63>>0] = -1; + ;HEAP8[$rightCircleColor$byval_copy13>>0]=HEAP8[25024>>0]|0;HEAP8[$rightCircleColor$byval_copy13+1>>0]=HEAP8[25024+1>>0]|0;HEAP8[$rightCircleColor$byval_copy13+2>>0]=HEAP8[25024+2>>0]|0;HEAP8[$rightCircleColor$byval_copy13+3>>0]=HEAP8[25024+3>>0]|0; + ;HEAP8[$levelWin$byval_copy>>0]=HEAP8[$10>>0]|0;HEAP8[$levelWin$byval_copy+1>>0]=HEAP8[$10+1>>0]|0;HEAP8[$levelWin$byval_copy+2>>0]=HEAP8[$10+2>>0]|0;HEAP8[$levelWin$byval_copy+3>>0]=HEAP8[$10+3>>0]|0; + $64 = (_CheckColor_140($rightCircleColor$byval_copy13,$levelWin$byval_copy)|0); + $65 = ($64|0)==(0); + if (!($65)) { + HEAP8[$11>>0] = -56; + $66 = ((($11)) + 1|0); + HEAP8[$66>>0] = -56; + $67 = ((($11)) + 2|0); + HEAP8[$67>>0] = -56; + $68 = ((($11)) + 3|0); + HEAP8[$68>>0] = -1; + ;HEAP8[$rightCircleColor$byval_copy13>>0]=HEAP8[25028>>0]|0;HEAP8[$rightCircleColor$byval_copy13+1>>0]=HEAP8[25028+1>>0]|0;HEAP8[$rightCircleColor$byval_copy13+2>>0]=HEAP8[25028+2>>0]|0;HEAP8[$rightCircleColor$byval_copy13+3>>0]=HEAP8[25028+3>>0]|0; + ;HEAP8[$levelWin$byval_copy>>0]=HEAP8[$11>>0]|0;HEAP8[$levelWin$byval_copy+1>>0]=HEAP8[$11+1>>0]|0;HEAP8[$levelWin$byval_copy+2>>0]=HEAP8[$11+2>>0]|0;HEAP8[$levelWin$byval_copy+3>>0]=HEAP8[$11+3>>0]|0; + $69 = (_CheckColor_140($rightCircleColor$byval_copy13,$levelWin$byval_copy)|0); + $70 = ($69|0)==(0); + $71 = HEAP32[5136]|0; + $72 = HEAP32[5137]|0; + $73 = $72 | $71; + $74 = HEAP32[5138]|0; + $75 = $73 | $74; + $76 = ($75|0)!=(0); + $77 = $70 | $76; + if (!($77)) { + HEAP32[5139] = 1; + ;HEAP32[$levelWin$byval_copy>>2]=HEAP32[19960>>2]|0;HEAP32[$levelWin$byval_copy+4>>2]=HEAP32[19960+4>>2]|0;HEAP32[$levelWin$byval_copy+8>>2]=HEAP32[19960+8>>2]|0; + _PlaySound($levelWin$byval_copy); + } + } + } + } + $78 = HEAP32[5139]|0; + $79 = ($78|0)==(0); + $80 = HEAP32[5140]|0; + $81 = ($80|0)!=(0); + $or$cond9 = $79 | $81; + if (!($or$cond9)) { + $82 = HEAP32[5122]|0; + $83 = (($82|0) / 60)&-1; + HEAP32[5141] = $83; + HEAP32[5140] = 1; + HEAP32[5122] = 1; + STACKTOP = sp;return; + } + $84 = ($80|0)==(0); + if ($84) { + STACKTOP = sp;return; + } + $$pr = HEAP32[5122]|0; + $85 = (($$pr) + 1)|0; + HEAP32[5122] = $85; + $86 = ($$pr|0)>(89); + if (!($86)) { + STACKTOP = sp;return; + } + $87 = (_IsMouseButtonPressed(0)|0); + $88 = ($87|0)==(0); + if ($88) { + STACKTOP = sp;return; + } + HEAP32[5123] = 1; + STACKTOP = sp;return; +} +function _CheckColor_140($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; + var label = 0, sp = 0; + sp = STACKTOP; + $2 = HEAP8[$0>>0]|0; + $3 = HEAP8[$1>>0]|0; + $4 = ($2<<24>>24)==($3<<24>>24); + if (!($4)) { + $21 = 0; + $20 = $21&1; + return ($20|0); + } + $5 = ((($0)) + 1|0); + $6 = HEAP8[$5>>0]|0; + $7 = ((($1)) + 1|0); + $8 = HEAP8[$7>>0]|0; + $9 = ($6<<24>>24)==($8<<24>>24); + if (!($9)) { + $21 = 0; + $20 = $21&1; + return ($20|0); + } + $10 = ((($0)) + 2|0); + $11 = HEAP8[$10>>0]|0; + $12 = ((($1)) + 2|0); + $13 = HEAP8[$12>>0]|0; + $14 = ($11<<24>>24)==($13<<24>>24); + if (!($14)) { + $21 = 0; + $20 = $21&1; + return ($20|0); + } + $15 = ((($0)) + 3|0); + $16 = HEAP8[$15>>0]|0; + $17 = ((($1)) + 3|0); + $18 = HEAP8[$17>>0]|0; + $19 = ($16<<24>>24)==($18<<24>>24); + $21 = $19; + $20 = $21&1; + return ($20|0); +} +function _DrawLevel07Screen() { + var $$byval_copy10 = 0, $$byval_copy14 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; + var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0; + var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0; + var $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0); + $$byval_copy14 = sp + 84|0; + $$byval_copy10 = sp + 24|0; + $vararg_buffer = sp; + $0 = sp + 80|0; + $1 = sp + 76|0; + $2 = sp + 72|0; + $3 = sp + 68|0; + $4 = sp + 64|0; + $5 = sp + 60|0; + $6 = sp + 8|0; + $7 = sp + 56|0; + $8 = sp + 52|0; + $9 = sp + 48|0; + $10 = sp + 44|0; + $11 = sp + 40|0; + ;HEAP32[$$byval_copy10>>2]=HEAP32[20496>>2]|0;HEAP32[$$byval_copy10+4>>2]=HEAP32[20496+4>>2]|0; + ;HEAP8[$$byval_copy14>>0]=HEAP8[25020>>0]|0;HEAP8[$$byval_copy14+1>>0]=HEAP8[25020+1>>0]|0;HEAP8[$$byval_copy14+2>>0]=HEAP8[25020+2>>0]|0;HEAP8[$$byval_copy14+3>>0]=HEAP8[25020+3>>0]|0; + _DrawCircleV($$byval_copy10,100.0,$$byval_copy14); + ;HEAP32[$$byval_copy10>>2]=HEAP32[20504>>2]|0;HEAP32[$$byval_copy10+4>>2]=HEAP32[20504+4>>2]|0; + ;HEAP8[$$byval_copy14>>0]=HEAP8[25024>>0]|0;HEAP8[$$byval_copy14+1>>0]=HEAP8[25024+1>>0]|0;HEAP8[$$byval_copy14+2>>0]=HEAP8[25024+2>>0]|0;HEAP8[$$byval_copy14+3>>0]=HEAP8[25024+3>>0]|0; + _DrawCircleV($$byval_copy10,100.0,$$byval_copy14); + ;HEAP32[$$byval_copy10>>2]=HEAP32[20512>>2]|0;HEAP32[$$byval_copy10+4>>2]=HEAP32[20512+4>>2]|0; + ;HEAP8[$$byval_copy14>>0]=HEAP8[25028>>0]|0;HEAP8[$$byval_copy14+1>>0]=HEAP8[25028+1>>0]|0;HEAP8[$$byval_copy14+2>>0]=HEAP8[25028+2>>0]|0;HEAP8[$$byval_copy14+3>>0]=HEAP8[25028+3>>0]|0; + _DrawCircleV($$byval_copy10,100.0,$$byval_copy14); + $12 = HEAP32[5136]|0; + $13 = ($12|0)==(0); + if ($13) { + HEAP8[$1>>0] = -56; + $17 = ((($1)) + 1|0); + HEAP8[$17>>0] = -56; + $18 = ((($1)) + 2|0); + HEAP8[$18>>0] = -56; + $19 = ((($1)) + 3|0); + HEAP8[$19>>0] = -1; + ;HEAP32[$$byval_copy10>>2]=HEAP32[20520>>2]|0;HEAP32[$$byval_copy10+4>>2]=HEAP32[20520+4>>2]|0; + ;HEAP8[$$byval_copy14>>0]=HEAP8[$1>>0]|0;HEAP8[$$byval_copy14+1>>0]=HEAP8[$1+1>>0]|0;HEAP8[$$byval_copy14+2>>0]=HEAP8[$1+2>>0]|0;HEAP8[$$byval_copy14+3>>0]=HEAP8[$1+3>>0]|0; + _DrawCircleV($$byval_copy10,80.0,$$byval_copy14); + } else { + HEAP8[$0>>0] = -126; + $14 = ((($0)) + 1|0); + HEAP8[$14>>0] = -126; + $15 = ((($0)) + 2|0); + HEAP8[$15>>0] = -126; + $16 = ((($0)) + 3|0); + HEAP8[$16>>0] = -1; + ;HEAP32[$$byval_copy10>>2]=HEAP32[20520>>2]|0;HEAP32[$$byval_copy10+4>>2]=HEAP32[20520+4>>2]|0; + ;HEAP8[$$byval_copy14>>0]=HEAP8[$0>>0]|0;HEAP8[$$byval_copy14+1>>0]=HEAP8[$0+1>>0]|0;HEAP8[$$byval_copy14+2>>0]=HEAP8[$0+2>>0]|0;HEAP8[$$byval_copy14+3>>0]=HEAP8[$0+3>>0]|0; + _DrawCircleV($$byval_copy10,80.0,$$byval_copy14); + } + $20 = HEAP32[5137]|0; + $21 = ($20|0)==(0); + if ($21) { + HEAP8[$3>>0] = -56; + $25 = ((($3)) + 1|0); + HEAP8[$25>>0] = -56; + $26 = ((($3)) + 2|0); + HEAP8[$26>>0] = -56; + $27 = ((($3)) + 3|0); + HEAP8[$27>>0] = -1; + ;HEAP32[$$byval_copy10>>2]=HEAP32[20528>>2]|0;HEAP32[$$byval_copy10+4>>2]=HEAP32[20528+4>>2]|0; + ;HEAP8[$$byval_copy14>>0]=HEAP8[$3>>0]|0;HEAP8[$$byval_copy14+1>>0]=HEAP8[$3+1>>0]|0;HEAP8[$$byval_copy14+2>>0]=HEAP8[$3+2>>0]|0;HEAP8[$$byval_copy14+3>>0]=HEAP8[$3+3>>0]|0; + _DrawCircleV($$byval_copy10,80.0,$$byval_copy14); + } else { + HEAP8[$2>>0] = -126; + $22 = ((($2)) + 1|0); + HEAP8[$22>>0] = -126; + $23 = ((($2)) + 2|0); + HEAP8[$23>>0] = -126; + $24 = ((($2)) + 3|0); + HEAP8[$24>>0] = -1; + ;HEAP32[$$byval_copy10>>2]=HEAP32[20528>>2]|0;HEAP32[$$byval_copy10+4>>2]=HEAP32[20528+4>>2]|0; + ;HEAP8[$$byval_copy14>>0]=HEAP8[$2>>0]|0;HEAP8[$$byval_copy14+1>>0]=HEAP8[$2+1>>0]|0;HEAP8[$$byval_copy14+2>>0]=HEAP8[$2+2>>0]|0;HEAP8[$$byval_copy14+3>>0]=HEAP8[$2+3>>0]|0; + _DrawCircleV($$byval_copy10,80.0,$$byval_copy14); + } + $28 = HEAP32[5138]|0; + $29 = ($28|0)==(0); + if ($29) { + HEAP8[$5>>0] = -56; + $33 = ((($5)) + 1|0); + HEAP8[$33>>0] = -56; + $34 = ((($5)) + 2|0); + HEAP8[$34>>0] = -56; + $35 = ((($5)) + 3|0); + HEAP8[$35>>0] = -1; + ;HEAP32[$$byval_copy10>>2]=HEAP32[20536>>2]|0;HEAP32[$$byval_copy10+4>>2]=HEAP32[20536+4>>2]|0; + ;HEAP8[$$byval_copy14>>0]=HEAP8[$5>>0]|0;HEAP8[$$byval_copy14+1>>0]=HEAP8[$5+1>>0]|0;HEAP8[$$byval_copy14+2>>0]=HEAP8[$5+2>>0]|0;HEAP8[$$byval_copy14+3>>0]=HEAP8[$5+3>>0]|0; + _DrawCircleV($$byval_copy10,80.0,$$byval_copy14); + } else { + HEAP8[$4>>0] = -126; + $30 = ((($4)) + 1|0); + HEAP8[$30>>0] = -126; + $31 = ((($4)) + 2|0); + HEAP8[$31>>0] = -126; + $32 = ((($4)) + 3|0); + HEAP8[$32>>0] = -1; + ;HEAP32[$$byval_copy10>>2]=HEAP32[20536>>2]|0;HEAP32[$$byval_copy10+4>>2]=HEAP32[20536+4>>2]|0; + ;HEAP8[$$byval_copy14>>0]=HEAP8[$4>>0]|0;HEAP8[$$byval_copy14+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$$byval_copy14+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$$byval_copy14+3>>0]=HEAP8[$4+3>>0]|0; + _DrawCircleV($$byval_copy10,80.0,$$byval_copy14); + } + $36 = HEAP32[5140]|0; + $37 = ($36|0)==(0); + if ($37) { + $66 = (_GetScreenWidth()|0); + $67 = (($66|0) / 2)&-1; + $68 = (_MeasureText(5805,30)|0); + $69 = (($68|0) / 2)&-1; + $70 = (($67) - ($69))|0; + HEAP8[$11>>0] = -56; + $71 = ((($11)) + 1|0); + HEAP8[$71>>0] = -56; + $72 = ((($11)) + 2|0); + HEAP8[$72>>0] = -56; + $73 = ((($11)) + 3|0); + HEAP8[$73>>0] = -1; + ;HEAP8[$$byval_copy14>>0]=HEAP8[$11>>0]|0;HEAP8[$$byval_copy14+1>>0]=HEAP8[$11+1>>0]|0;HEAP8[$$byval_copy14+2>>0]=HEAP8[$11+2>>0]|0;HEAP8[$$byval_copy14+3>>0]=HEAP8[$11+3>>0]|0; + _DrawText(5805,$70,20,30,$$byval_copy14); + STACKTOP = sp;return; + } else { + HEAP32[$6>>2] = 0; + $38 = ((($6)) + 4|0); + HEAP32[$38>>2] = 0; + $39 = ((($6)) + 8|0); + $40 = (_GetScreenWidth()|0); + HEAP32[$39>>2] = $40; + $41 = ((($6)) + 12|0); + $42 = (_GetScreenHeight()|0); + HEAP32[$41>>2] = $42; + HEAP8[$8>>0] = -56; + $43 = ((($8)) + 1|0); + HEAP8[$43>>0] = -56; + $44 = ((($8)) + 2|0); + HEAP8[$44>>0] = -56; + $45 = ((($8)) + 3|0); + HEAP8[$45>>0] = -1; + ;HEAP8[$$byval_copy14>>0]=HEAP8[$8>>0]|0;HEAP8[$$byval_copy14+1>>0]=HEAP8[$8+1>>0]|0;HEAP8[$$byval_copy14+2>>0]=HEAP8[$8+2>>0]|0;HEAP8[$$byval_copy14+3>>0]=HEAP8[$8+3>>0]|0; + _Fade($7,$$byval_copy14,0.60000002384185791); + ;HEAP32[$$byval_copy10>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy10+4>>2]=HEAP32[$6+4>>2]|0;HEAP32[$$byval_copy10+8>>2]=HEAP32[$6+8>>2]|0;HEAP32[$$byval_copy10+12>>2]=HEAP32[$6+12>>2]|0; + ;HEAP8[$$byval_copy14>>0]=HEAP8[$7>>0]|0;HEAP8[$$byval_copy14+1>>0]=HEAP8[$7+1>>0]|0;HEAP8[$$byval_copy14+2>>0]=HEAP8[$7+2>>0]|0;HEAP8[$$byval_copy14+3>>0]=HEAP8[$7+3>>0]|0; + _DrawRectangleBordersRec($$byval_copy10,0,0,60,$$byval_copy14); + $46 = (_GetScreenWidth()|0); + $47 = (($46|0) / 2)&-1; + $48 = (_MeasureText(5805,30)|0); + $49 = (($48|0) / 2)&-1; + $50 = (($47) - ($49))|0; + HEAP8[$9>>0] = -126; + $51 = ((($9)) + 1|0); + HEAP8[$51>>0] = -126; + $52 = ((($9)) + 2|0); + HEAP8[$52>>0] = -126; + $53 = ((($9)) + 3|0); + HEAP8[$53>>0] = -1; + ;HEAP8[$$byval_copy14>>0]=HEAP8[$9>>0]|0;HEAP8[$$byval_copy14+1>>0]=HEAP8[$9+1>>0]|0;HEAP8[$$byval_copy14+2>>0]=HEAP8[$9+2>>0]|0;HEAP8[$$byval_copy14+3>>0]=HEAP8[$9+3>>0]|0; + _DrawText(5805,$50,20,30,$$byval_copy14); + $54 = HEAP32[5141]|0; + HEAP32[$vararg_buffer>>2] = $54; + $55 = (_FormatText(5832,$vararg_buffer)|0); + $56 = (_GetScreenWidth()|0); + $57 = (($56|0) / 2)&-1; + $58 = (_MeasureText(5854,30)|0); + $59 = (($58|0) / 2)&-1; + $60 = (($57) - ($59))|0; + $61 = (_GetScreenHeight()|0); + $62 = (($61) + -40)|0; + HEAP8[$10>>0] = -126; + $63 = ((($10)) + 1|0); + HEAP8[$63>>0] = -126; + $64 = ((($10)) + 2|0); + HEAP8[$64>>0] = -126; + $65 = ((($10)) + 3|0); + HEAP8[$65>>0] = -1; + ;HEAP8[$$byval_copy14>>0]=HEAP8[$10>>0]|0;HEAP8[$$byval_copy14+1>>0]=HEAP8[$10+1>>0]|0;HEAP8[$$byval_copy14+2>>0]=HEAP8[$10+2>>0]|0;HEAP8[$$byval_copy14+3>>0]=HEAP8[$10+3>>0]|0; + _DrawText($55,$60,$62,30,$$byval_copy14); + STACKTOP = sp;return; + } +} +function _UnloadLevel07Screen() { + var label = 0, sp = 0; + sp = STACKTOP; + return; +} +function _FinishLevel07Screen() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[5123]|0; + return ($0|0); +} +function _InitLevel08Screen() { + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAP32[5142] = 0; + HEAP32[5143] = 0; + $0 = (_GetScreenHeight()|0); + $1 = (($0|0) / 2)&-1; + $2 = (($1) + -20)|0; + HEAP32[5144] = 20; + HEAP32[(20580)>>2] = $2; + HEAP32[(20584)>>2] = 40; + HEAP32[(20588)>>2] = 40; + $3 = (_GetScreenHeight()|0); + HEAP32[5148] = 240; + HEAP32[(20596)>>2] = 0; + HEAP32[(20600)>>2] = 100; + HEAP32[(20604)>>2] = $3; + $4 = (_GetScreenWidth()|0); + $5 = (($4|0) / 2)&-1; + $6 = (($5) + -50)|0; + $7 = (_GetScreenHeight()|0); + HEAP32[5152] = $6; + HEAP32[(20612)>>2] = 0; + HEAP32[(20616)>>2] = 100; + HEAP32[(20620)>>2] = $7; + $8 = (_GetScreenHeight()|0); + HEAP32[5156] = 920; + HEAP32[(20628)>>2] = 0; + HEAP32[(20632)>>2] = 100; + HEAP32[(20636)>>2] = $8; + HEAP32[5160] = 1; + HEAP32[5161] = 0; + HEAP32[5162] = 1; + return; +} +function _UpdateLevel08Screen() { + var $$byval_copy6 = 0, $$pr = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; + var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0; + var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $levelWin$byval_copy = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $levelWin$byval_copy = sp + 40|0; + $$byval_copy6 = sp + 24|0; + $0 = sp + 16|0; + $1 = sp + 8|0; + $2 = sp; + $3 = HEAP32[5142]|0; + $4 = (($3) + 1)|0; + HEAP32[5142] = $4; + $5 = HEAP32[5163]|0; + $6 = ($5|0)==(0); + if ($6) { + $7 = HEAP32[11]|0; + $8 = HEAP32[5144]|0; + $9 = (($8) + ($7))|0; + HEAP32[5144] = $9; + $10 = ($9|0)<(1); + if ($10) { + $11 = (0 - ($7))|0; + HEAP32[11] = $11; + } + $12 = HEAP32[5160]|0; + $13 = ($12|0)==(0); + if ($13) { + label = 6; + } else { + ;HEAP32[$$byval_copy6>>2]=HEAP32[20592>>2]|0;HEAP32[$$byval_copy6+4>>2]=HEAP32[20592+4>>2]|0;HEAP32[$$byval_copy6+8>>2]=HEAP32[20592+8>>2]|0;HEAP32[$$byval_copy6+12>>2]=HEAP32[20592+12>>2]|0; + ;HEAP32[$levelWin$byval_copy>>2]=HEAP32[20576>>2]|0;HEAP32[$levelWin$byval_copy+4>>2]=HEAP32[20576+4>>2]|0;HEAP32[$levelWin$byval_copy+8>>2]=HEAP32[20576+8>>2]|0;HEAP32[$levelWin$byval_copy+12>>2]=HEAP32[20576+12>>2]|0; + $14 = (_CheckCollisionRecs($$byval_copy6,$levelWin$byval_copy)|0); + $15 = ($14|0)==(0); + if ($15) { + label = 6; + } else { + label = 10; + } + } + do { + if ((label|0) == 6) { + $16 = HEAP32[5161]|0; + $17 = ($16|0)==(0); + if (!($17)) { + ;HEAP32[$$byval_copy6>>2]=HEAP32[20608>>2]|0;HEAP32[$$byval_copy6+4>>2]=HEAP32[20608+4>>2]|0;HEAP32[$$byval_copy6+8>>2]=HEAP32[20608+8>>2]|0;HEAP32[$$byval_copy6+12>>2]=HEAP32[20608+12>>2]|0; + ;HEAP32[$levelWin$byval_copy>>2]=HEAP32[20576>>2]|0;HEAP32[$levelWin$byval_copy+4>>2]=HEAP32[20576+4>>2]|0;HEAP32[$levelWin$byval_copy+8>>2]=HEAP32[20576+8>>2]|0;HEAP32[$levelWin$byval_copy+12>>2]=HEAP32[20576+12>>2]|0; + $18 = (_CheckCollisionRecs($$byval_copy6,$levelWin$byval_copy)|0); + $19 = ($18|0)==(0); + if (!($19)) { + label = 10; + break; + } + } + $20 = HEAP32[5162]|0; + $21 = ($20|0)==(0); + if (!($21)) { + ;HEAP32[$$byval_copy6>>2]=HEAP32[20624>>2]|0;HEAP32[$$byval_copy6+4>>2]=HEAP32[20624+4>>2]|0;HEAP32[$$byval_copy6+8>>2]=HEAP32[20624+8>>2]|0;HEAP32[$$byval_copy6+12>>2]=HEAP32[20624+12>>2]|0; + ;HEAP32[$levelWin$byval_copy>>2]=HEAP32[20576>>2]|0;HEAP32[$levelWin$byval_copy+4>>2]=HEAP32[20576+4>>2]|0;HEAP32[$levelWin$byval_copy+8>>2]=HEAP32[20576+8>>2]|0;HEAP32[$levelWin$byval_copy+12>>2]=HEAP32[20576+12>>2]|0; + $22 = (_CheckCollisionRecs($$byval_copy6,$levelWin$byval_copy)|0); + $23 = ($22|0)==(0); + if (!($23)) { + label = 10; + } + } + } + } while(0); + if ((label|0) == 10) { + $24 = HEAP32[11]|0; + $25 = (0 - ($24))|0; + HEAP32[11] = $25; + } + $26 = (_IsMouseButtonPressed(0)|0); + $27 = ($26|0)==(0); + do { + if (!($27)) { + _GetMousePosition($0); + ;HEAP32[$$byval_copy6>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy6+4>>2]=HEAP32[$0+4>>2]|0; + ;HEAP32[$levelWin$byval_copy>>2]=HEAP32[20592>>2]|0;HEAP32[$levelWin$byval_copy+4>>2]=HEAP32[20592+4>>2]|0;HEAP32[$levelWin$byval_copy+8>>2]=HEAP32[20592+8>>2]|0;HEAP32[$levelWin$byval_copy+12>>2]=HEAP32[20592+12>>2]|0; + $28 = (_CheckCollisionPointRec($$byval_copy6,$levelWin$byval_copy)|0); + $29 = ($28|0)==(0); + if (!($29)) { + HEAP32[5161] = 0; + HEAP32[5162] = 1; + break; + } + _GetMousePosition($1); + ;HEAP32[$$byval_copy6>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy6+4>>2]=HEAP32[$1+4>>2]|0; + ;HEAP32[$levelWin$byval_copy>>2]=HEAP32[20608>>2]|0;HEAP32[$levelWin$byval_copy+4>>2]=HEAP32[20608+4>>2]|0;HEAP32[$levelWin$byval_copy+8>>2]=HEAP32[20608+8>>2]|0;HEAP32[$levelWin$byval_copy+12>>2]=HEAP32[20608+12>>2]|0; + $30 = (_CheckCollisionPointRec($$byval_copy6,$levelWin$byval_copy)|0); + $31 = ($30|0)==(0); + if (!($31)) { + HEAP32[5162] = 0; + HEAP32[5160] = 1; + break; + } + _GetMousePosition($2); + ;HEAP32[$$byval_copy6>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy6+4>>2]=HEAP32[$2+4>>2]|0; + ;HEAP32[$levelWin$byval_copy>>2]=HEAP32[20624>>2]|0;HEAP32[$levelWin$byval_copy+4>>2]=HEAP32[20624+4>>2]|0;HEAP32[$levelWin$byval_copy+8>>2]=HEAP32[20624+8>>2]|0;HEAP32[$levelWin$byval_copy+12>>2]=HEAP32[20624+12>>2]|0; + $32 = (_CheckCollisionPointRec($$byval_copy6,$levelWin$byval_copy)|0); + $33 = ($32|0)==(0); + if (!($33)) { + HEAP32[5160] = 0; + HEAP32[5161] = 1; + } + } + } while(0); + $34 = HEAP32[5144]|0; + $35 = ($34|0)>(1099); + if ($35) { + HEAP32[5163] = 1; + ;HEAP32[$levelWin$byval_copy>>2]=HEAP32[19960>>2]|0;HEAP32[$levelWin$byval_copy+4>>2]=HEAP32[19960+4>>2]|0;HEAP32[$levelWin$byval_copy+8>>2]=HEAP32[19960+8>>2]|0; + _PlaySound($levelWin$byval_copy); + } + } + $36 = HEAP32[5163]|0; + $37 = ($36|0)==(0); + $38 = HEAP32[5164]|0; + $39 = ($38|0)!=(0); + $or$cond = $37 | $39; + if (!($or$cond)) { + $40 = HEAP32[5142]|0; + $41 = (($40|0) / 60)&-1; + HEAP32[5165] = $41; + HEAP32[5164] = 1; + HEAP32[5142] = 1; + STACKTOP = sp;return; + } + $42 = ($38|0)==(0); + if ($42) { + STACKTOP = sp;return; + } + $$pr = HEAP32[5142]|0; + $43 = (($$pr) + 1)|0; + HEAP32[5142] = $43; + $44 = ($$pr|0)>(89); + if (!($44)) { + STACKTOP = sp;return; + } + $45 = (_IsMouseButtonPressed(0)|0); + $46 = ($45|0)==(0); + if ($46) { + STACKTOP = sp;return; + } + HEAP32[5143] = 1; + STACKTOP = sp;return; +} +function _DrawLevel08Screen() { + var $$byval_copy10 = 0, $$byval_copy6 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; + var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0; + var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0; + var $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0); + $$byval_copy10 = sp + 80|0; + $$byval_copy6 = sp + 24|0; + $vararg_buffer = sp; + $0 = sp + 76|0; + $1 = sp + 72|0; + $2 = sp + 68|0; + $3 = sp + 64|0; + $4 = sp + 60|0; + $5 = sp + 8|0; + $6 = sp + 56|0; + $7 = sp + 52|0; + $8 = sp + 48|0; + $9 = sp + 44|0; + $10 = sp + 40|0; + $11 = (_GetScreenHeight()|0); + $12 = (($11|0) / 2)&-1; + $13 = (($12) + -20)|0; + HEAP8[$0>>0] = -126; + $14 = ((($0)) + 1|0); + HEAP8[$14>>0] = -126; + $15 = ((($0)) + 2|0); + HEAP8[$15>>0] = -126; + $16 = ((($0)) + 3|0); + HEAP8[$16>>0] = -1; + ;HEAP8[$$byval_copy10>>0]=HEAP8[$0>>0]|0;HEAP8[$$byval_copy10+1>>0]=HEAP8[$0+1>>0]|0;HEAP8[$$byval_copy10+2>>0]=HEAP8[$0+2>>0]|0;HEAP8[$$byval_copy10+3>>0]=HEAP8[$0+3>>0]|0; + _DrawRectangle(1100,$13,40,40,$$byval_copy10); + HEAP8[$1>>0] = -56; + $17 = ((($1)) + 1|0); + HEAP8[$17>>0] = -56; + $18 = ((($1)) + 2|0); + HEAP8[$18>>0] = -56; + $19 = ((($1)) + 3|0); + HEAP8[$19>>0] = -1; + ;HEAP32[$$byval_copy6>>2]=HEAP32[20576>>2]|0;HEAP32[$$byval_copy6+4>>2]=HEAP32[20576+4>>2]|0;HEAP32[$$byval_copy6+8>>2]=HEAP32[20576+8>>2]|0;HEAP32[$$byval_copy6+12>>2]=HEAP32[20576+12>>2]|0; + ;HEAP8[$$byval_copy10>>0]=HEAP8[$1>>0]|0;HEAP8[$$byval_copy10+1>>0]=HEAP8[$1+1>>0]|0;HEAP8[$$byval_copy10+2>>0]=HEAP8[$1+2>>0]|0;HEAP8[$$byval_copy10+3>>0]=HEAP8[$1+3>>0]|0; + _DrawRectangleRec($$byval_copy6,$$byval_copy10); + $20 = HEAP32[5160]|0; + $21 = ($20|0)==(0); + if (!($21)) { + HEAP8[$2>>0] = -126; + $22 = ((($2)) + 1|0); + HEAP8[$22>>0] = -126; + $23 = ((($2)) + 2|0); + HEAP8[$23>>0] = -126; + $24 = ((($2)) + 3|0); + HEAP8[$24>>0] = -1; + ;HEAP32[$$byval_copy6>>2]=HEAP32[20592>>2]|0;HEAP32[$$byval_copy6+4>>2]=HEAP32[20592+4>>2]|0;HEAP32[$$byval_copy6+8>>2]=HEAP32[20592+8>>2]|0;HEAP32[$$byval_copy6+12>>2]=HEAP32[20592+12>>2]|0; + ;HEAP8[$$byval_copy10>>0]=HEAP8[$2>>0]|0;HEAP8[$$byval_copy10+1>>0]=HEAP8[$2+1>>0]|0;HEAP8[$$byval_copy10+2>>0]=HEAP8[$2+2>>0]|0;HEAP8[$$byval_copy10+3>>0]=HEAP8[$2+3>>0]|0; + _DrawRectangleRec($$byval_copy6,$$byval_copy10); + } + $25 = HEAP32[5161]|0; + $26 = ($25|0)==(0); + if (!($26)) { + HEAP8[$3>>0] = -126; + $27 = ((($3)) + 1|0); + HEAP8[$27>>0] = -126; + $28 = ((($3)) + 2|0); + HEAP8[$28>>0] = -126; + $29 = ((($3)) + 3|0); + HEAP8[$29>>0] = -1; + ;HEAP32[$$byval_copy6>>2]=HEAP32[20608>>2]|0;HEAP32[$$byval_copy6+4>>2]=HEAP32[20608+4>>2]|0;HEAP32[$$byval_copy6+8>>2]=HEAP32[20608+8>>2]|0;HEAP32[$$byval_copy6+12>>2]=HEAP32[20608+12>>2]|0; + ;HEAP8[$$byval_copy10>>0]=HEAP8[$3>>0]|0;HEAP8[$$byval_copy10+1>>0]=HEAP8[$3+1>>0]|0;HEAP8[$$byval_copy10+2>>0]=HEAP8[$3+2>>0]|0;HEAP8[$$byval_copy10+3>>0]=HEAP8[$3+3>>0]|0; + _DrawRectangleRec($$byval_copy6,$$byval_copy10); + } + $30 = HEAP32[5162]|0; + $31 = ($30|0)==(0); + if (!($31)) { + HEAP8[$4>>0] = -126; + $32 = ((($4)) + 1|0); + HEAP8[$32>>0] = -126; + $33 = ((($4)) + 2|0); + HEAP8[$33>>0] = -126; + $34 = ((($4)) + 3|0); + HEAP8[$34>>0] = -1; + ;HEAP32[$$byval_copy6>>2]=HEAP32[20624>>2]|0;HEAP32[$$byval_copy6+4>>2]=HEAP32[20624+4>>2]|0;HEAP32[$$byval_copy6+8>>2]=HEAP32[20624+8>>2]|0;HEAP32[$$byval_copy6+12>>2]=HEAP32[20624+12>>2]|0; + ;HEAP8[$$byval_copy10>>0]=HEAP8[$4>>0]|0;HEAP8[$$byval_copy10+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$$byval_copy10+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$$byval_copy10+3>>0]=HEAP8[$4+3>>0]|0; + _DrawRectangleRec($$byval_copy6,$$byval_copy10); + } + $35 = HEAP32[5164]|0; + $36 = ($35|0)==(0); + if ($36) { + $65 = (_GetScreenWidth()|0); + $66 = (($65|0) / 2)&-1; + $67 = (_MeasureText(5814,30)|0); + $68 = (($67|0) / 2)&-1; + $69 = (($66) - ($68))|0; + HEAP8[$10>>0] = -56; + $70 = ((($10)) + 1|0); + HEAP8[$70>>0] = -56; + $71 = ((($10)) + 2|0); + HEAP8[$71>>0] = -56; + $72 = ((($10)) + 3|0); + HEAP8[$72>>0] = -1; + ;HEAP8[$$byval_copy10>>0]=HEAP8[$10>>0]|0;HEAP8[$$byval_copy10+1>>0]=HEAP8[$10+1>>0]|0;HEAP8[$$byval_copy10+2>>0]=HEAP8[$10+2>>0]|0;HEAP8[$$byval_copy10+3>>0]=HEAP8[$10+3>>0]|0; + _DrawText(5814,$69,20,30,$$byval_copy10); + STACKTOP = sp;return; + } else { + HEAP32[$5>>2] = 0; + $37 = ((($5)) + 4|0); + HEAP32[$37>>2] = 0; + $38 = ((($5)) + 8|0); + $39 = (_GetScreenWidth()|0); + HEAP32[$38>>2] = $39; + $40 = ((($5)) + 12|0); + $41 = (_GetScreenHeight()|0); + HEAP32[$40>>2] = $41; + HEAP8[$7>>0] = -56; + $42 = ((($7)) + 1|0); + HEAP8[$42>>0] = -56; + $43 = ((($7)) + 2|0); + HEAP8[$43>>0] = -56; + $44 = ((($7)) + 3|0); + HEAP8[$44>>0] = -1; + ;HEAP8[$$byval_copy10>>0]=HEAP8[$7>>0]|0;HEAP8[$$byval_copy10+1>>0]=HEAP8[$7+1>>0]|0;HEAP8[$$byval_copy10+2>>0]=HEAP8[$7+2>>0]|0;HEAP8[$$byval_copy10+3>>0]=HEAP8[$7+3>>0]|0; + _Fade($6,$$byval_copy10,0.60000002384185791); + ;HEAP32[$$byval_copy6>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy6+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$$byval_copy6+8>>2]=HEAP32[$5+8>>2]|0;HEAP32[$$byval_copy6+12>>2]=HEAP32[$5+12>>2]|0; + ;HEAP8[$$byval_copy10>>0]=HEAP8[$6>>0]|0;HEAP8[$$byval_copy10+1>>0]=HEAP8[$6+1>>0]|0;HEAP8[$$byval_copy10+2>>0]=HEAP8[$6+2>>0]|0;HEAP8[$$byval_copy10+3>>0]=HEAP8[$6+3>>0]|0; + _DrawRectangleBordersRec($$byval_copy6,0,0,60,$$byval_copy10); + $45 = (_GetScreenWidth()|0); + $46 = (($45|0) / 2)&-1; + $47 = (_MeasureText(5814,30)|0); + $48 = (($47|0) / 2)&-1; + $49 = (($46) - ($48))|0; + HEAP8[$8>>0] = -126; + $50 = ((($8)) + 1|0); + HEAP8[$50>>0] = -126; + $51 = ((($8)) + 2|0); + HEAP8[$51>>0] = -126; + $52 = ((($8)) + 3|0); + HEAP8[$52>>0] = -1; + ;HEAP8[$$byval_copy10>>0]=HEAP8[$8>>0]|0;HEAP8[$$byval_copy10+1>>0]=HEAP8[$8+1>>0]|0;HEAP8[$$byval_copy10+2>>0]=HEAP8[$8+2>>0]|0;HEAP8[$$byval_copy10+3>>0]=HEAP8[$8+3>>0]|0; + _DrawText(5814,$49,20,30,$$byval_copy10); + $53 = HEAP32[5165]|0; + HEAP32[$vararg_buffer>>2] = $53; + $54 = (_FormatText(5832,$vararg_buffer)|0); + $55 = (_GetScreenWidth()|0); + $56 = (($55|0) / 2)&-1; + $57 = (_MeasureText(5854,30)|0); + $58 = (($57|0) / 2)&-1; + $59 = (($56) - ($58))|0; + $60 = (_GetScreenHeight()|0); + $61 = (($60) + -40)|0; + HEAP8[$9>>0] = -126; + $62 = ((($9)) + 1|0); + HEAP8[$62>>0] = -126; + $63 = ((($9)) + 2|0); + HEAP8[$63>>0] = -126; + $64 = ((($9)) + 3|0); + HEAP8[$64>>0] = -1; + ;HEAP8[$$byval_copy10>>0]=HEAP8[$9>>0]|0;HEAP8[$$byval_copy10+1>>0]=HEAP8[$9+1>>0]|0;HEAP8[$$byval_copy10+2>>0]=HEAP8[$9+2>>0]|0;HEAP8[$$byval_copy10+3>>0]=HEAP8[$9+3>>0]|0; + _DrawText($54,$59,$61,30,$$byval_copy10); + STACKTOP = sp;return; + } +} +function _UnloadLevel08Screen() { + var label = 0, sp = 0; + sp = STACKTOP; + return; +} +function _FinishLevel08Screen() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[5143]|0; + return ($0|0); +} +function _InitLevel09Screen() { + var $$022 = 0, $$sink21 = 0, $$sroa$05$0$$sroa_idx = 0, $$sroa$26$0$$sroa_idx = 0, $$sroa$37$0$$sroa_idx = 0, $$sroa$48$0$$sroa_idx = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $3 = 0; + var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAP32[5166] = 0; + HEAP32[5167] = 0; + $$022 = 0; + while(1) { + $0 = (_GetScreenWidth()|0); + $1 = (($0|0) / 7)&-1; + $2 = (($$022|0) % 7)&-1; + $3 = Math_imul($1, $2)|0; + $4 = (20672 + ($$022<<4)|0); + HEAP32[$4>>2] = $3; + $5 = (_GetScreenHeight()|0); + $6 = (($5|0) / 3)&-1; + $7 = (($$022|0) / 7)&-1; + $8 = Math_imul($6, $7)|0; + $9 = (((20672 + ($$022<<4)|0)) + 4|0); + HEAP32[$9>>2] = $8; + $10 = (_GetScreenWidth()|0); + $11 = (($10|0) / 7)&-1; + $12 = (((20672 + ($$022<<4)|0)) + 8|0); + HEAP32[$12>>2] = $11; + $13 = (_GetScreenHeight()|0); + $14 = (($13|0) / 3)&-1; + $15 = (((20672 + ($$022<<4)|0)) + 12|0); + HEAP32[$15>>2] = $14; + $16 = (21008 + ($$022<<2)|0); + HEAP32[$16>>2] = 0; + $17 = $$022 & 1; + $18 = ($17|0)==(0); + $$sroa$05$0$$sroa_idx = (25032 + ($$022<<2)|0); + $$sink21 = $18 ? -56 : -126; + HEAP8[$$sroa$05$0$$sroa_idx>>0] = $$sink21; + $$sroa$26$0$$sroa_idx = (((25032 + ($$022<<2)|0)) + 1|0); + HEAP8[$$sroa$26$0$$sroa_idx>>0] = $$sink21; + $$sroa$37$0$$sroa_idx = (((25032 + ($$022<<2)|0)) + 2|0); + HEAP8[$$sroa$37$0$$sroa_idx>>0] = $$sink21; + $$sroa$48$0$$sroa_idx = (((25032 + ($$022<<2)|0)) + 3|0); + HEAP8[$$sroa$48$0$$sroa_idx>>0] = -1; + $19 = (($$022) + 1)|0; + $exitcond = ($19|0)==(21); + if ($exitcond) { + break; + } else { + $$022 = $19; + } + } + HEAP8[(25072)>>0] = -11; + HEAP8[(25073)>>0] = -11; + HEAP8[(25074)>>0] = -11; + HEAP8[(25075)>>0] = -1; + return; +} +function _UpdateLevel09Screen() { + var $$05266 = 0, $$05564 = 0, $$063 = 0, $$byval_copy4 = 0, $$byval_copy5 = 0, $$pr = 0, $$sink57 = 0, $$sroa$011$0$$sroa_idx = 0, $$sroa$022$0$$sroa_idx = 0, $$sroa$223$0$$sroa_idx = 0, $$sroa$232$0$$sroa_idx = 0, $$sroa$236$0$$sroa_idx = 0, $$sroa$28$0$$sroa_idx = 0, $$sroa$324$0$$sroa_idx = 0, $$sroa$333$0$$sroa_idx = 0, $$sroa$337$0$$sroa_idx = 0, $$sroa$39$0$$sroa_idx = 0, $$sroa$410$0$$sroa_idx = 0, $$sroa$425$0$$sroa_idx = 0, $$sroa$434$0$$sroa_idx = 0; + var $$sroa$438$0$$sroa_idx = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; + var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; + var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; + var $exitcond = 0, $exitcond68 = 0, $or$cond = 0, $or$cond3 = 0, dest = 0, label = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0); + $$byval_copy5 = sp + 16|0; + $$byval_copy4 = sp + 8|0; + $0 = sp; + $1 = sp + 36|0; + $2 = sp + 32|0; + $3 = HEAP32[5166]|0; + $4 = (($3) + 1)|0; + HEAP32[5166] = $4; + $5 = HEAP32[5273]|0; + $6 = ($5|0)==(0); + if (!($6)) { + $7 = HEAP32[5274]|0; + $8 = (($7) + 1)|0; + HEAP32[5274] = $8; + } + $9 = HEAP32[5275]|0; + $10 = ($9|0)==(0); + do { + if ($10) { + $11 = (_IsMouseButtonPressed(0)|0); + $12 = ($11|0)==(0); + if (!($12)) { + $13 = ((($1)) + 1|0); + $14 = ((($1)) + 2|0); + $15 = ((($1)) + 3|0); + $$05266 = 0; + L8: while(1) { + _GetMousePosition($0); + $16 = (20672 + ($$05266<<4)|0); + ;HEAP32[$$byval_copy4>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$0+4>>2]|0; + ;HEAP32[$$byval_copy5>>2]=HEAP32[$16>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$16+4>>2]|0;HEAP32[$$byval_copy5+8>>2]=HEAP32[$16+8>>2]|0;HEAP32[$$byval_copy5+12>>2]=HEAP32[$16+12>>2]|0; + $17 = (_CheckCollisionPointRec($$byval_copy4,$$byval_copy5)|0); + $18 = ($17|0)==(0); + L10: do { + if (!($18)) { + $19 = ($$05266|0)==(10); + do { + if ($19) { + $20 = (25032 + ($$05266<<2)|0); + HEAP8[$1>>0] = -11; + HEAP8[$13>>0] = -11; + HEAP8[$14>>0] = -11; + HEAP8[$15>>0] = -1; + ;HEAP8[$$byval_copy4>>0]=HEAP8[$20>>0]|0;HEAP8[$$byval_copy4+1>>0]=HEAP8[$20+1>>0]|0;HEAP8[$$byval_copy4+2>>0]=HEAP8[$20+2>>0]|0;HEAP8[$$byval_copy4+3>>0]=HEAP8[$20+3>>0]|0; + ;HEAP8[$$byval_copy5>>0]=HEAP8[$1>>0]|0;HEAP8[$$byval_copy5+1>>0]=HEAP8[$1+1>>0]|0;HEAP8[$$byval_copy5+2>>0]=HEAP8[$1+2>>0]|0;HEAP8[$$byval_copy5+3>>0]=HEAP8[$1+3>>0]|0; + $21 = (_CheckColor_177($$byval_copy4,$$byval_copy5)|0); + $22 = ($21|0)==(0); + if ($22) { + HEAP8[$20>>0] = -11; + $$sroa$232$0$$sroa_idx = (((25032 + ($$05266<<2)|0)) + 1|0); + HEAP8[$$sroa$232$0$$sroa_idx>>0] = -11; + $$sroa$333$0$$sroa_idx = (((25032 + ($$05266<<2)|0)) + 2|0); + HEAP8[$$sroa$333$0$$sroa_idx>>0] = -11; + $$sroa$434$0$$sroa_idx = (((25032 + ($$05266<<2)|0)) + 3|0); + HEAP8[$$sroa$434$0$$sroa_idx>>0] = -1; + HEAP32[5273] = 0; + HEAP32[5274] = 300; + dest=21008; stop=dest+84|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + break; + } else { + HEAP8[$20>>0] = -56; + $$sroa$236$0$$sroa_idx = (((25032 + ($$05266<<2)|0)) + 1|0); + HEAP8[$$sroa$236$0$$sroa_idx>>0] = -56; + $$sroa$337$0$$sroa_idx = (((25032 + ($$05266<<2)|0)) + 2|0); + HEAP8[$$sroa$337$0$$sroa_idx>>0] = -56; + $$sroa$438$0$$sroa_idx = (((25032 + ($$05266<<2)|0)) + 3|0); + HEAP8[$$sroa$438$0$$sroa_idx>>0] = -1; + HEAP32[5273] = 1; + HEAP32[5274] = 0; + HEAP32[(21012)>>2] = 1; + break; + } + } else { + $23 = (($$05266|0) % 2)&-1; + $24 = ($23|0)==(1); + $25 = HEAP32[5273]|0; + $26 = ($25|0)!=(0); + $or$cond = $24 & $26; + if (!($or$cond)) { + break L10; + } + $27 = (21008 + ($$05266<<2)|0); + $28 = HEAP32[$27>>2]|0; + $29 = ($28|0)==(0); + if ($29) { + break L10; + } + $$sroa$022$0$$sroa_idx = (25032 + ($$05266<<2)|0); + HEAP8[$$sroa$022$0$$sroa_idx>>0] = -56; + $$sroa$223$0$$sroa_idx = (((25032 + ($$05266<<2)|0)) + 1|0); + HEAP8[$$sroa$223$0$$sroa_idx>>0] = -56; + $$sroa$324$0$$sroa_idx = (((25032 + ($$05266<<2)|0)) + 2|0); + HEAP8[$$sroa$324$0$$sroa_idx>>0] = -56; + $$sroa$425$0$$sroa_idx = (((25032 + ($$05266<<2)|0)) + 3|0); + HEAP8[$$sroa$425$0$$sroa_idx>>0] = -1; + $30 = ($$05266|0)==(19); + if (!($30)) { + $31 = (($$05266) + 2)|0; + $32 = (21008 + ($31<<2)|0); + HEAP32[$32>>2] = 1; + break L10; + } + } + } while(0); + $33 = (($$05266) + 1)|0; + $$05266 = $33; + continue L8; + } + } while(0); + $34 = (($$05266) + 1)|0; + $exitcond68 = ($34|0)==(21); + if ($exitcond68) { + break; + } else { + $$05266 = $34; + } + } + } + $35 = HEAP32[5274]|0; + $36 = ($35|0)>(250); + if ($36) { + dest=21008; stop=dest+84|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + $$05564 = 0; + while(1) { + $40 = $$05564 & 1; + $41 = ($40|0)==(0); + $$sroa$011$0$$sroa_idx = (25032 + ($$05564<<2)|0); + $$sink57 = $41 ? -56 : -126; + HEAP8[$$sroa$011$0$$sroa_idx>>0] = $$sink57; + $$sroa$28$0$$sroa_idx = (((25032 + ($$05564<<2)|0)) + 1|0); + HEAP8[$$sroa$28$0$$sroa_idx>>0] = $$sink57; + $$sroa$39$0$$sroa_idx = (((25032 + ($$05564<<2)|0)) + 2|0); + HEAP8[$$sroa$39$0$$sroa_idx>>0] = $$sink57; + $$sroa$410$0$$sroa_idx = (((25032 + ($$05564<<2)|0)) + 3|0); + HEAP8[$$sroa$410$0$$sroa_idx>>0] = -1; + $42 = (($$05564) + 1)|0; + $exitcond = ($42|0)==(21); + if ($exitcond) { + break; + } else { + $$05564 = $42; + } + } + HEAP8[(25072)>>0] = -11; + HEAP8[(25073)>>0] = -11; + HEAP8[(25074)>>0] = -11; + HEAP8[(25075)>>0] = -1; + HEAP32[5273] = 0; + HEAP32[5274] = 0; + } + $37 = ((($2)) + 1|0); + $38 = ((($2)) + 2|0); + $39 = ((($2)) + 3|0); + $$063 = 0; + while(1) { + $45 = (25032 + ($$063<<2)|0); + HEAP8[$2>>0] = -56; + HEAP8[$37>>0] = -56; + HEAP8[$38>>0] = -56; + HEAP8[$39>>0] = -1; + ;HEAP8[$$byval_copy4>>0]=HEAP8[$45>>0]|0;HEAP8[$$byval_copy4+1>>0]=HEAP8[$45+1>>0]|0;HEAP8[$$byval_copy4+2>>0]=HEAP8[$45+2>>0]|0;HEAP8[$$byval_copy4+3>>0]=HEAP8[$45+3>>0]|0; + ;HEAP8[$$byval_copy5>>0]=HEAP8[$2>>0]|0;HEAP8[$$byval_copy5+1>>0]=HEAP8[$2+1>>0]|0;HEAP8[$$byval_copy5+2>>0]=HEAP8[$2+2>>0]|0;HEAP8[$$byval_copy5+3>>0]=HEAP8[$2+3>>0]|0; + $46 = (_CheckColor_177($$byval_copy4,$$byval_copy5)|0); + $47 = ($46|0)==(0); + $44 = (($$063) + 1)|0; + if ($47) { + break; + } + $43 = ($44|0)<(21); + if ($43) { + $$063 = $44; + } else { + label = 25; + break; + } + } + if ((label|0) == 25) { + HEAP32[5275] = 1; + break; + } + HEAP32[5275] = 0; + STACKTOP = sp;return; + } + } while(0); + $48 = HEAP32[5275]|0; + $49 = ($48|0)==(0); + $50 = HEAP32[5276]|0; + $51 = ($50|0)!=(0); + $or$cond3 = $49 | $51; + if (!($or$cond3)) { + $52 = HEAP32[5166]|0; + $53 = (($52|0) / 60)&-1; + HEAP32[5277] = $53; + HEAP32[5276] = 1; + HEAP32[5166] = 1; + STACKTOP = sp;return; + } + $54 = ($50|0)==(0); + if ($54) { + STACKTOP = sp;return; + } + $$pr = HEAP32[5166]|0; + $55 = (($$pr) + 1)|0; + HEAP32[5166] = $55; + $56 = ($$pr|0)>(89); + if (!($56)) { + STACKTOP = sp;return; + } + $57 = (_IsMouseButtonPressed(0)|0); + $58 = ($57|0)==(0); + if ($58) { + STACKTOP = sp;return; + } + HEAP32[5167] = 1; + STACKTOP = sp;return; +} +function _CheckColor_177($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; + var label = 0, sp = 0; + sp = STACKTOP; + $2 = HEAP8[$0>>0]|0; + $3 = HEAP8[$1>>0]|0; + $4 = ($2<<24>>24)==($3<<24>>24); + if (!($4)) { + $21 = 0; + $20 = $21&1; + return ($20|0); + } + $5 = ((($0)) + 1|0); + $6 = HEAP8[$5>>0]|0; + $7 = ((($1)) + 1|0); + $8 = HEAP8[$7>>0]|0; + $9 = ($6<<24>>24)==($8<<24>>24); + if (!($9)) { + $21 = 0; + $20 = $21&1; + return ($20|0); + } + $10 = ((($0)) + 2|0); + $11 = HEAP8[$10>>0]|0; + $12 = ((($1)) + 2|0); + $13 = HEAP8[$12>>0]|0; + $14 = ($11<<24>>24)==($13<<24>>24); + if (!($14)) { + $21 = 0; + $20 = $21&1; + return ($20|0); + } + $15 = ((($0)) + 3|0); + $16 = HEAP8[$15>>0]|0; + $17 = ((($1)) + 3|0); + $18 = HEAP8[$17>>0]|0; + $19 = ($16<<24>>24)==($18<<24>>24); + $21 = $19; + $20 = $21&1; + return ($20|0); +} +function _DrawLevel09Screen() { + var $$byval_copy43 = 0, $$byval_copy47 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; + var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0; + var $43 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $$byval_copy47 = sp + 60|0; + $$byval_copy43 = sp + 8|0; + $vararg_buffer = sp; + $0 = sp + 24|0; + $1 = sp + 56|0; + $2 = sp + 52|0; + $3 = sp + 48|0; + $4 = sp + 44|0; + $5 = sp + 40|0; + ;HEAP32[$$byval_copy43>>2]=HEAP32[20672>>2]|0;HEAP32[$$byval_copy43+4>>2]=HEAP32[20672+4>>2]|0;HEAP32[$$byval_copy43+8>>2]=HEAP32[20672+8>>2]|0;HEAP32[$$byval_copy43+12>>2]=HEAP32[20672+12>>2]|0; + ;HEAP8[$$byval_copy47>>0]=HEAP8[25032>>0]|0;HEAP8[$$byval_copy47+1>>0]=HEAP8[25032+1>>0]|0;HEAP8[$$byval_copy47+2>>0]=HEAP8[25032+2>>0]|0;HEAP8[$$byval_copy47+3>>0]=HEAP8[25032+3>>0]|0; + _DrawRectangleRec($$byval_copy43,$$byval_copy47); + ;HEAP32[$$byval_copy43>>2]=HEAP32[(20688)>>2]|0;HEAP32[$$byval_copy43+4>>2]=HEAP32[(20688)+4>>2]|0;HEAP32[$$byval_copy43+8>>2]=HEAP32[(20688)+8>>2]|0;HEAP32[$$byval_copy43+12>>2]=HEAP32[(20688)+12>>2]|0; + ;HEAP8[$$byval_copy47>>0]=HEAP8[(25036)>>0]|0;HEAP8[$$byval_copy47+1>>0]=HEAP8[(25036)+1>>0]|0;HEAP8[$$byval_copy47+2>>0]=HEAP8[(25036)+2>>0]|0;HEAP8[$$byval_copy47+3>>0]=HEAP8[(25036)+3>>0]|0; + _DrawRectangleRec($$byval_copy43,$$byval_copy47); + ;HEAP32[$$byval_copy43>>2]=HEAP32[(20704)>>2]|0;HEAP32[$$byval_copy43+4>>2]=HEAP32[(20704)+4>>2]|0;HEAP32[$$byval_copy43+8>>2]=HEAP32[(20704)+8>>2]|0;HEAP32[$$byval_copy43+12>>2]=HEAP32[(20704)+12>>2]|0; + ;HEAP8[$$byval_copy47>>0]=HEAP8[(25040)>>0]|0;HEAP8[$$byval_copy47+1>>0]=HEAP8[(25040)+1>>0]|0;HEAP8[$$byval_copy47+2>>0]=HEAP8[(25040)+2>>0]|0;HEAP8[$$byval_copy47+3>>0]=HEAP8[(25040)+3>>0]|0; + _DrawRectangleRec($$byval_copy43,$$byval_copy47); + ;HEAP32[$$byval_copy43>>2]=HEAP32[(20720)>>2]|0;HEAP32[$$byval_copy43+4>>2]=HEAP32[(20720)+4>>2]|0;HEAP32[$$byval_copy43+8>>2]=HEAP32[(20720)+8>>2]|0;HEAP32[$$byval_copy43+12>>2]=HEAP32[(20720)+12>>2]|0; + ;HEAP8[$$byval_copy47>>0]=HEAP8[(25044)>>0]|0;HEAP8[$$byval_copy47+1>>0]=HEAP8[(25044)+1>>0]|0;HEAP8[$$byval_copy47+2>>0]=HEAP8[(25044)+2>>0]|0;HEAP8[$$byval_copy47+3>>0]=HEAP8[(25044)+3>>0]|0; + _DrawRectangleRec($$byval_copy43,$$byval_copy47); + ;HEAP32[$$byval_copy43>>2]=HEAP32[(20736)>>2]|0;HEAP32[$$byval_copy43+4>>2]=HEAP32[(20736)+4>>2]|0;HEAP32[$$byval_copy43+8>>2]=HEAP32[(20736)+8>>2]|0;HEAP32[$$byval_copy43+12>>2]=HEAP32[(20736)+12>>2]|0; + ;HEAP8[$$byval_copy47>>0]=HEAP8[(25048)>>0]|0;HEAP8[$$byval_copy47+1>>0]=HEAP8[(25048)+1>>0]|0;HEAP8[$$byval_copy47+2>>0]=HEAP8[(25048)+2>>0]|0;HEAP8[$$byval_copy47+3>>0]=HEAP8[(25048)+3>>0]|0; + _DrawRectangleRec($$byval_copy43,$$byval_copy47); + ;HEAP32[$$byval_copy43>>2]=HEAP32[(20752)>>2]|0;HEAP32[$$byval_copy43+4>>2]=HEAP32[(20752)+4>>2]|0;HEAP32[$$byval_copy43+8>>2]=HEAP32[(20752)+8>>2]|0;HEAP32[$$byval_copy43+12>>2]=HEAP32[(20752)+12>>2]|0; + ;HEAP8[$$byval_copy47>>0]=HEAP8[(25052)>>0]|0;HEAP8[$$byval_copy47+1>>0]=HEAP8[(25052)+1>>0]|0;HEAP8[$$byval_copy47+2>>0]=HEAP8[(25052)+2>>0]|0;HEAP8[$$byval_copy47+3>>0]=HEAP8[(25052)+3>>0]|0; + _DrawRectangleRec($$byval_copy43,$$byval_copy47); + ;HEAP32[$$byval_copy43>>2]=HEAP32[(20768)>>2]|0;HEAP32[$$byval_copy43+4>>2]=HEAP32[(20768)+4>>2]|0;HEAP32[$$byval_copy43+8>>2]=HEAP32[(20768)+8>>2]|0;HEAP32[$$byval_copy43+12>>2]=HEAP32[(20768)+12>>2]|0; + ;HEAP8[$$byval_copy47>>0]=HEAP8[(25056)>>0]|0;HEAP8[$$byval_copy47+1>>0]=HEAP8[(25056)+1>>0]|0;HEAP8[$$byval_copy47+2>>0]=HEAP8[(25056)+2>>0]|0;HEAP8[$$byval_copy47+3>>0]=HEAP8[(25056)+3>>0]|0; + _DrawRectangleRec($$byval_copy43,$$byval_copy47); + ;HEAP32[$$byval_copy43>>2]=HEAP32[(20784)>>2]|0;HEAP32[$$byval_copy43+4>>2]=HEAP32[(20784)+4>>2]|0;HEAP32[$$byval_copy43+8>>2]=HEAP32[(20784)+8>>2]|0;HEAP32[$$byval_copy43+12>>2]=HEAP32[(20784)+12>>2]|0; + ;HEAP8[$$byval_copy47>>0]=HEAP8[(25060)>>0]|0;HEAP8[$$byval_copy47+1>>0]=HEAP8[(25060)+1>>0]|0;HEAP8[$$byval_copy47+2>>0]=HEAP8[(25060)+2>>0]|0;HEAP8[$$byval_copy47+3>>0]=HEAP8[(25060)+3>>0]|0; + _DrawRectangleRec($$byval_copy43,$$byval_copy47); + ;HEAP32[$$byval_copy43>>2]=HEAP32[(20800)>>2]|0;HEAP32[$$byval_copy43+4>>2]=HEAP32[(20800)+4>>2]|0;HEAP32[$$byval_copy43+8>>2]=HEAP32[(20800)+8>>2]|0;HEAP32[$$byval_copy43+12>>2]=HEAP32[(20800)+12>>2]|0; + ;HEAP8[$$byval_copy47>>0]=HEAP8[(25064)>>0]|0;HEAP8[$$byval_copy47+1>>0]=HEAP8[(25064)+1>>0]|0;HEAP8[$$byval_copy47+2>>0]=HEAP8[(25064)+2>>0]|0;HEAP8[$$byval_copy47+3>>0]=HEAP8[(25064)+3>>0]|0; + _DrawRectangleRec($$byval_copy43,$$byval_copy47); + ;HEAP32[$$byval_copy43>>2]=HEAP32[(20816)>>2]|0;HEAP32[$$byval_copy43+4>>2]=HEAP32[(20816)+4>>2]|0;HEAP32[$$byval_copy43+8>>2]=HEAP32[(20816)+8>>2]|0;HEAP32[$$byval_copy43+12>>2]=HEAP32[(20816)+12>>2]|0; + ;HEAP8[$$byval_copy47>>0]=HEAP8[(25068)>>0]|0;HEAP8[$$byval_copy47+1>>0]=HEAP8[(25068)+1>>0]|0;HEAP8[$$byval_copy47+2>>0]=HEAP8[(25068)+2>>0]|0;HEAP8[$$byval_copy47+3>>0]=HEAP8[(25068)+3>>0]|0; + _DrawRectangleRec($$byval_copy43,$$byval_copy47); + ;HEAP32[$$byval_copy43>>2]=HEAP32[(20832)>>2]|0;HEAP32[$$byval_copy43+4>>2]=HEAP32[(20832)+4>>2]|0;HEAP32[$$byval_copy43+8>>2]=HEAP32[(20832)+8>>2]|0;HEAP32[$$byval_copy43+12>>2]=HEAP32[(20832)+12>>2]|0; + ;HEAP8[$$byval_copy47>>0]=HEAP8[(25072)>>0]|0;HEAP8[$$byval_copy47+1>>0]=HEAP8[(25072)+1>>0]|0;HEAP8[$$byval_copy47+2>>0]=HEAP8[(25072)+2>>0]|0;HEAP8[$$byval_copy47+3>>0]=HEAP8[(25072)+3>>0]|0; + _DrawRectangleRec($$byval_copy43,$$byval_copy47); + ;HEAP32[$$byval_copy43>>2]=HEAP32[(20848)>>2]|0;HEAP32[$$byval_copy43+4>>2]=HEAP32[(20848)+4>>2]|0;HEAP32[$$byval_copy43+8>>2]=HEAP32[(20848)+8>>2]|0;HEAP32[$$byval_copy43+12>>2]=HEAP32[(20848)+12>>2]|0; + ;HEAP8[$$byval_copy47>>0]=HEAP8[(25076)>>0]|0;HEAP8[$$byval_copy47+1>>0]=HEAP8[(25076)+1>>0]|0;HEAP8[$$byval_copy47+2>>0]=HEAP8[(25076)+2>>0]|0;HEAP8[$$byval_copy47+3>>0]=HEAP8[(25076)+3>>0]|0; + _DrawRectangleRec($$byval_copy43,$$byval_copy47); + ;HEAP32[$$byval_copy43>>2]=HEAP32[(20864)>>2]|0;HEAP32[$$byval_copy43+4>>2]=HEAP32[(20864)+4>>2]|0;HEAP32[$$byval_copy43+8>>2]=HEAP32[(20864)+8>>2]|0;HEAP32[$$byval_copy43+12>>2]=HEAP32[(20864)+12>>2]|0; + ;HEAP8[$$byval_copy47>>0]=HEAP8[(25080)>>0]|0;HEAP8[$$byval_copy47+1>>0]=HEAP8[(25080)+1>>0]|0;HEAP8[$$byval_copy47+2>>0]=HEAP8[(25080)+2>>0]|0;HEAP8[$$byval_copy47+3>>0]=HEAP8[(25080)+3>>0]|0; + _DrawRectangleRec($$byval_copy43,$$byval_copy47); + ;HEAP32[$$byval_copy43>>2]=HEAP32[(20880)>>2]|0;HEAP32[$$byval_copy43+4>>2]=HEAP32[(20880)+4>>2]|0;HEAP32[$$byval_copy43+8>>2]=HEAP32[(20880)+8>>2]|0;HEAP32[$$byval_copy43+12>>2]=HEAP32[(20880)+12>>2]|0; + ;HEAP8[$$byval_copy47>>0]=HEAP8[(25084)>>0]|0;HEAP8[$$byval_copy47+1>>0]=HEAP8[(25084)+1>>0]|0;HEAP8[$$byval_copy47+2>>0]=HEAP8[(25084)+2>>0]|0;HEAP8[$$byval_copy47+3>>0]=HEAP8[(25084)+3>>0]|0; + _DrawRectangleRec($$byval_copy43,$$byval_copy47); + ;HEAP32[$$byval_copy43>>2]=HEAP32[(20896)>>2]|0;HEAP32[$$byval_copy43+4>>2]=HEAP32[(20896)+4>>2]|0;HEAP32[$$byval_copy43+8>>2]=HEAP32[(20896)+8>>2]|0;HEAP32[$$byval_copy43+12>>2]=HEAP32[(20896)+12>>2]|0; + ;HEAP8[$$byval_copy47>>0]=HEAP8[(25088)>>0]|0;HEAP8[$$byval_copy47+1>>0]=HEAP8[(25088)+1>>0]|0;HEAP8[$$byval_copy47+2>>0]=HEAP8[(25088)+2>>0]|0;HEAP8[$$byval_copy47+3>>0]=HEAP8[(25088)+3>>0]|0; + _DrawRectangleRec($$byval_copy43,$$byval_copy47); + ;HEAP32[$$byval_copy43>>2]=HEAP32[(20912)>>2]|0;HEAP32[$$byval_copy43+4>>2]=HEAP32[(20912)+4>>2]|0;HEAP32[$$byval_copy43+8>>2]=HEAP32[(20912)+8>>2]|0;HEAP32[$$byval_copy43+12>>2]=HEAP32[(20912)+12>>2]|0; + ;HEAP8[$$byval_copy47>>0]=HEAP8[(25092)>>0]|0;HEAP8[$$byval_copy47+1>>0]=HEAP8[(25092)+1>>0]|0;HEAP8[$$byval_copy47+2>>0]=HEAP8[(25092)+2>>0]|0;HEAP8[$$byval_copy47+3>>0]=HEAP8[(25092)+3>>0]|0; + _DrawRectangleRec($$byval_copy43,$$byval_copy47); + ;HEAP32[$$byval_copy43>>2]=HEAP32[(20928)>>2]|0;HEAP32[$$byval_copy43+4>>2]=HEAP32[(20928)+4>>2]|0;HEAP32[$$byval_copy43+8>>2]=HEAP32[(20928)+8>>2]|0;HEAP32[$$byval_copy43+12>>2]=HEAP32[(20928)+12>>2]|0; + ;HEAP8[$$byval_copy47>>0]=HEAP8[(25096)>>0]|0;HEAP8[$$byval_copy47+1>>0]=HEAP8[(25096)+1>>0]|0;HEAP8[$$byval_copy47+2>>0]=HEAP8[(25096)+2>>0]|0;HEAP8[$$byval_copy47+3>>0]=HEAP8[(25096)+3>>0]|0; + _DrawRectangleRec($$byval_copy43,$$byval_copy47); + ;HEAP32[$$byval_copy43>>2]=HEAP32[(20944)>>2]|0;HEAP32[$$byval_copy43+4>>2]=HEAP32[(20944)+4>>2]|0;HEAP32[$$byval_copy43+8>>2]=HEAP32[(20944)+8>>2]|0;HEAP32[$$byval_copy43+12>>2]=HEAP32[(20944)+12>>2]|0; + ;HEAP8[$$byval_copy47>>0]=HEAP8[(25100)>>0]|0;HEAP8[$$byval_copy47+1>>0]=HEAP8[(25100)+1>>0]|0;HEAP8[$$byval_copy47+2>>0]=HEAP8[(25100)+2>>0]|0;HEAP8[$$byval_copy47+3>>0]=HEAP8[(25100)+3>>0]|0; + _DrawRectangleRec($$byval_copy43,$$byval_copy47); + ;HEAP32[$$byval_copy43>>2]=HEAP32[(20960)>>2]|0;HEAP32[$$byval_copy43+4>>2]=HEAP32[(20960)+4>>2]|0;HEAP32[$$byval_copy43+8>>2]=HEAP32[(20960)+8>>2]|0;HEAP32[$$byval_copy43+12>>2]=HEAP32[(20960)+12>>2]|0; + ;HEAP8[$$byval_copy47>>0]=HEAP8[(25104)>>0]|0;HEAP8[$$byval_copy47+1>>0]=HEAP8[(25104)+1>>0]|0;HEAP8[$$byval_copy47+2>>0]=HEAP8[(25104)+2>>0]|0;HEAP8[$$byval_copy47+3>>0]=HEAP8[(25104)+3>>0]|0; + _DrawRectangleRec($$byval_copy43,$$byval_copy47); + ;HEAP32[$$byval_copy43>>2]=HEAP32[(20976)>>2]|0;HEAP32[$$byval_copy43+4>>2]=HEAP32[(20976)+4>>2]|0;HEAP32[$$byval_copy43+8>>2]=HEAP32[(20976)+8>>2]|0;HEAP32[$$byval_copy43+12>>2]=HEAP32[(20976)+12>>2]|0; + ;HEAP8[$$byval_copy47>>0]=HEAP8[(25108)>>0]|0;HEAP8[$$byval_copy47+1>>0]=HEAP8[(25108)+1>>0]|0;HEAP8[$$byval_copy47+2>>0]=HEAP8[(25108)+2>>0]|0;HEAP8[$$byval_copy47+3>>0]=HEAP8[(25108)+3>>0]|0; + _DrawRectangleRec($$byval_copy43,$$byval_copy47); + ;HEAP32[$$byval_copy43>>2]=HEAP32[(20992)>>2]|0;HEAP32[$$byval_copy43+4>>2]=HEAP32[(20992)+4>>2]|0;HEAP32[$$byval_copy43+8>>2]=HEAP32[(20992)+8>>2]|0;HEAP32[$$byval_copy43+12>>2]=HEAP32[(20992)+12>>2]|0; + ;HEAP8[$$byval_copy47>>0]=HEAP8[(25112)>>0]|0;HEAP8[$$byval_copy47+1>>0]=HEAP8[(25112)+1>>0]|0;HEAP8[$$byval_copy47+2>>0]=HEAP8[(25112)+2>>0]|0;HEAP8[$$byval_copy47+3>>0]=HEAP8[(25112)+3>>0]|0; + _DrawRectangleRec($$byval_copy43,$$byval_copy47); + $6 = HEAP32[5276]|0; + $7 = ($6|0)==(0); + if ($7) { + $36 = (_GetScreenWidth()|0); + $37 = (($36|0) / 2)&-1; + $38 = (_MeasureText(5823,30)|0); + $39 = (($38|0) / 2)&-1; + $40 = (($37) - ($39))|0; + HEAP8[$5>>0] = -56; + $41 = ((($5)) + 1|0); + HEAP8[$41>>0] = -56; + $42 = ((($5)) + 2|0); + HEAP8[$42>>0] = -56; + $43 = ((($5)) + 3|0); + HEAP8[$43>>0] = -1; + ;HEAP8[$$byval_copy47>>0]=HEAP8[$5>>0]|0;HEAP8[$$byval_copy47+1>>0]=HEAP8[$5+1>>0]|0;HEAP8[$$byval_copy47+2>>0]=HEAP8[$5+2>>0]|0;HEAP8[$$byval_copy47+3>>0]=HEAP8[$5+3>>0]|0; + _DrawText(5823,$40,20,30,$$byval_copy47); + STACKTOP = sp;return; + } else { + HEAP32[$0>>2] = 0; + $8 = ((($0)) + 4|0); + HEAP32[$8>>2] = 0; + $9 = ((($0)) + 8|0); + $10 = (_GetScreenWidth()|0); + HEAP32[$9>>2] = $10; + $11 = ((($0)) + 12|0); + $12 = (_GetScreenHeight()|0); + HEAP32[$11>>2] = $12; + HEAP8[$2>>0] = -11; + $13 = ((($2)) + 1|0); + HEAP8[$13>>0] = -11; + $14 = ((($2)) + 2|0); + HEAP8[$14>>0] = -11; + $15 = ((($2)) + 3|0); + HEAP8[$15>>0] = -1; + ;HEAP8[$$byval_copy47>>0]=HEAP8[$2>>0]|0;HEAP8[$$byval_copy47+1>>0]=HEAP8[$2+1>>0]|0;HEAP8[$$byval_copy47+2>>0]=HEAP8[$2+2>>0]|0;HEAP8[$$byval_copy47+3>>0]=HEAP8[$2+3>>0]|0; + _Fade($1,$$byval_copy47,0.60000002384185791); + ;HEAP32[$$byval_copy43>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy43+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy43+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy43+12>>2]=HEAP32[$0+12>>2]|0; + ;HEAP8[$$byval_copy47>>0]=HEAP8[$1>>0]|0;HEAP8[$$byval_copy47+1>>0]=HEAP8[$1+1>>0]|0;HEAP8[$$byval_copy47+2>>0]=HEAP8[$1+2>>0]|0;HEAP8[$$byval_copy47+3>>0]=HEAP8[$1+3>>0]|0; + _DrawRectangleBordersRec($$byval_copy43,0,0,60,$$byval_copy47); + $16 = (_GetScreenWidth()|0); + $17 = (($16|0) / 2)&-1; + $18 = (_MeasureText(5823,30)|0); + $19 = (($18|0) / 2)&-1; + $20 = (($17) - ($19))|0; + HEAP8[$3>>0] = -126; + $21 = ((($3)) + 1|0); + HEAP8[$21>>0] = -126; + $22 = ((($3)) + 2|0); + HEAP8[$22>>0] = -126; + $23 = ((($3)) + 3|0); + HEAP8[$23>>0] = -1; + ;HEAP8[$$byval_copy47>>0]=HEAP8[$3>>0]|0;HEAP8[$$byval_copy47+1>>0]=HEAP8[$3+1>>0]|0;HEAP8[$$byval_copy47+2>>0]=HEAP8[$3+2>>0]|0;HEAP8[$$byval_copy47+3>>0]=HEAP8[$3+3>>0]|0; + _DrawText(5823,$20,20,30,$$byval_copy47); + $24 = HEAP32[5277]|0; + HEAP32[$vararg_buffer>>2] = $24; + $25 = (_FormatText(5832,$vararg_buffer)|0); + $26 = (_GetScreenWidth()|0); + $27 = (($26|0) / 2)&-1; + $28 = (_MeasureText(5854,30)|0); + $29 = (($28|0) / 2)&-1; + $30 = (($27) - ($29))|0; + $31 = (_GetScreenHeight()|0); + $32 = (($31) + -40)|0; + HEAP8[$4>>0] = -126; + $33 = ((($4)) + 1|0); + HEAP8[$33>>0] = -126; + $34 = ((($4)) + 2|0); + HEAP8[$34>>0] = -126; + $35 = ((($4)) + 3|0); + HEAP8[$35>>0] = -1; + ;HEAP8[$$byval_copy47>>0]=HEAP8[$4>>0]|0;HEAP8[$$byval_copy47+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$$byval_copy47+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$$byval_copy47+3>>0]=HEAP8[$4+3>>0]|0; + _DrawText($25,$30,$32,30,$$byval_copy47); + STACKTOP = sp;return; + } +} +function _UnloadLevel09Screen() { + var label = 0, sp = 0; + sp = STACKTOP; + return; +} +function _FinishLevel09Screen() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[5167]|0; + return ($0|0); +} +function _Vector2Distance($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[$0>>2]; + $3 = +HEAPF32[$1>>2]; + $4 = $2 - $3; + $5 = $4 * $4; + $6 = ((($0)) + 4|0); + $7 = +HEAPF32[$6>>2]; + $8 = ((($1)) + 4|0); + $9 = +HEAPF32[$8>>2]; + $10 = $7 - $9; + $11 = $10 * $10; + $12 = $5 + $11; + $13 = (+Math_sqrt((+$12))); + return (+$13); +} +function _Vector2Angle($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($1)) + 4|0); + $3 = +HEAPF32[$2>>2]; + $4 = ((($0)) + 4|0); + $5 = +HEAPF32[$4>>2]; + $6 = $3 - $5; + $7 = +HEAPF32[$1>>2]; + $8 = +HEAPF32[$0>>2]; + $9 = $7 - $8; + $10 = (+Math_atan2((+$6),(+$9))); + $11 = $10 * 57.2957763671875; + $12 = $11 < 0.0; + $13 = $11 + 360.0; + $$0 = $12 ? $13 : $11; + return (+$$0); +} +function _VectorZero($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = 0.0; + $1 = ((($0)) + 4|0); + HEAPF32[$1>>2] = 0.0; + $2 = ((($0)) + 8|0); + HEAPF32[$2>>2] = 0.0; + return; +} +function _VectorLength($0) { + $0 = $0|0; + var $1 = 0.0, $10 = 0.0, $11 = 0.0, $2 = 0.0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $1 = +HEAPF32[$0>>2]; + $2 = $1 * $1; + $3 = ((($0)) + 4|0); + $4 = +HEAPF32[$3>>2]; + $5 = $4 * $4; + $6 = $2 + $5; + $7 = ((($0)) + 8|0); + $8 = +HEAPF32[$7>>2]; + $9 = $8 * $8; + $10 = $6 + $9; + $11 = (+Math_sqrt((+$10))); + return (+$11); +} +function _VectorNormalize($0) { + $0 = $0|0; + var $$byval_copy = 0, $$op = 0.0, $1 = 0.0, $10 = 0.0, $11 = 0.0, $2 = 0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0.0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $$byval_copy = sp; + ;HEAP32[$$byval_copy>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$0+8>>2]|0; + $1 = (+_VectorLength($$byval_copy)); + $2 = $1 == 0.0; + $$op = 1.0 / $1; + $3 = $2 ? 1.0 : $$op; + $4 = +HEAPF32[$0>>2]; + $5 = $4 * $3; + HEAPF32[$0>>2] = $5; + $6 = ((($0)) + 4|0); + $7 = +HEAPF32[$6>>2]; + $8 = $3 * $7; + HEAPF32[$6>>2] = $8; + $9 = ((($0)) + 8|0); + $10 = +HEAPF32[$9>>2]; + $11 = $3 * $10; + HEAPF32[$9>>2] = $11; + STACKTOP = sp;return; +} +function _VectorTransform($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0, $18 = 0.0, $19 = 0.0, $2 = 0.0, $20 = 0, $21 = 0.0, $22 = 0.0, $23 = 0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0, $28 = 0.0; + var $29 = 0.0, $3 = 0, $30 = 0.0, $31 = 0, $32 = 0.0, $33 = 0.0, $34 = 0, $35 = 0.0, $36 = 0.0, $37 = 0, $38 = 0.0, $39 = 0.0, $4 = 0.0, $40 = 0.0, $41 = 0, $42 = 0.0, $43 = 0.0, $44 = 0.0, $45 = 0, $46 = 0.0; + var $47 = 0.0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[$0>>2]; + $3 = ((($0)) + 4|0); + $4 = +HEAPF32[$3>>2]; + $5 = ((($0)) + 8|0); + $6 = +HEAPF32[$5>>2]; + $7 = +HEAPF32[$1>>2]; + $8 = $2 * $7; + $9 = ((($1)) + 4|0); + $10 = +HEAPF32[$9>>2]; + $11 = $4 * $10; + $12 = $8 + $11; + $13 = ((($1)) + 8|0); + $14 = +HEAPF32[$13>>2]; + $15 = $6 * $14; + $16 = $12 + $15; + $17 = ((($1)) + 12|0); + $18 = +HEAPF32[$17>>2]; + $19 = $18 + $16; + HEAPF32[$0>>2] = $19; + $20 = ((($1)) + 16|0); + $21 = +HEAPF32[$20>>2]; + $22 = $2 * $21; + $23 = ((($1)) + 20|0); + $24 = +HEAPF32[$23>>2]; + $25 = $4 * $24; + $26 = $22 + $25; + $27 = ((($1)) + 24|0); + $28 = +HEAPF32[$27>>2]; + $29 = $6 * $28; + $30 = $26 + $29; + $31 = ((($1)) + 28|0); + $32 = +HEAPF32[$31>>2]; + $33 = $32 + $30; + HEAPF32[$3>>2] = $33; + $34 = ((($1)) + 32|0); + $35 = +HEAPF32[$34>>2]; + $36 = $2 * $35; + $37 = ((($1)) + 36|0); + $38 = +HEAPF32[$37>>2]; + $39 = $4 * $38; + $40 = $36 + $39; + $41 = ((($1)) + 40|0); + $42 = +HEAPF32[$41>>2]; + $43 = $6 * $42; + $44 = $40 + $43; + $45 = ((($1)) + 44|0); + $46 = +HEAPF32[$45>>2]; + $47 = $46 + $44; + HEAPF32[$5>>2] = $47; + return; +} +function _MatrixTranspose($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0, $5 = 0; + var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 4|0); + $2 = HEAP32[$1>>2]|0; + $3 = ((($0)) + 8|0); + $4 = HEAP32[$3>>2]|0; + $5 = ((($0)) + 12|0); + $6 = HEAP32[$5>>2]|0; + $7 = ((($0)) + 16|0); + $8 = HEAP32[$7>>2]|0; + $9 = ((($0)) + 24|0); + $10 = HEAP32[$9>>2]|0; + $11 = ((($0)) + 28|0); + $12 = HEAP32[$11>>2]|0; + $13 = ((($0)) + 32|0); + $14 = HEAP32[$13>>2]|0; + $15 = ((($0)) + 36|0); + $16 = HEAP32[$15>>2]|0; + $17 = ((($0)) + 44|0); + $18 = HEAP32[$17>>2]|0; + $19 = ((($0)) + 48|0); + $20 = HEAP32[$19>>2]|0; + $21 = ((($0)) + 52|0); + $22 = HEAP32[$21>>2]|0; + $23 = ((($0)) + 56|0); + $24 = HEAP32[$23>>2]|0; + HEAP32[$1>>2] = $8; + HEAP32[$3>>2] = $14; + HEAP32[$5>>2] = $20; + HEAP32[$7>>2] = $2; + HEAP32[$9>>2] = $16; + HEAP32[$11>>2] = $22; + HEAP32[$13>>2] = $4; + HEAP32[$15>>2] = $10; + HEAP32[$17>>2] = $24; + HEAP32[$19>>2] = $6; + HEAP32[$21>>2] = $12; + HEAP32[$23>>2] = $18; + return; +} +function _MatrixIdentity($0) { + $0 = $0|0; + var $$sroa$5$0$$sroa_idx = 0, $$sroa$55$0$$sroa_idx6 = 0, $$sroa$6$0$$sroa_idx = 0, $$sroa$611$0$$sroa_idx12 = 0, $$sroa$7$0$$sroa_idx = 0, $$sroa$717$0$$sroa_idx18 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = 1.0; + $$sroa$5$0$$sroa_idx = ((($0)) + 4|0); + ;HEAP32[$$sroa$5$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+12>>2]=0|0; + $$sroa$55$0$$sroa_idx6 = ((($0)) + 20|0); + HEAPF32[$$sroa$55$0$$sroa_idx6>>2] = 1.0; + $$sroa$6$0$$sroa_idx = ((($0)) + 24|0); + ;HEAP32[$$sroa$6$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+12>>2]=0|0; + $$sroa$611$0$$sroa_idx12 = ((($0)) + 40|0); + HEAPF32[$$sroa$611$0$$sroa_idx12>>2] = 1.0; + $$sroa$7$0$$sroa_idx = ((($0)) + 44|0); + ;HEAP32[$$sroa$7$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+12>>2]=0|0; + $$sroa$717$0$$sroa_idx18 = ((($0)) + 60|0); + HEAPF32[$$sroa$717$0$$sroa_idx18>>2] = 1.0; + return; +} +function _MatrixTranslate($0,$1,$2,$3) { + $0 = $0|0; + $1 = +$1; + $2 = +$2; + $3 = +$3; + var $$sroa$13$0$$sroa_idx20 = 0, $$sroa$14$0$$sroa_idx22 = 0, $$sroa$15$0$$sroa_idx24 = 0, $$sroa$16$0$$sroa_idx26 = 0, $$sroa$17$0$$sroa_idx28 = 0, $$sroa$18$0$$sroa_idx30 = 0, $$sroa$4$0$$sroa_idx2 = 0, $$sroa$8$0$$sroa_idx10 = 0, $$sroa$9$0$$sroa_idx12 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = 1.0; + $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); + $$sroa$8$0$$sroa_idx10 = ((($0)) + 20|0); + ;HEAP32[$$sroa$4$0$$sroa_idx2>>2]=0|0;HEAP32[$$sroa$4$0$$sroa_idx2+4>>2]=0|0;HEAP32[$$sroa$4$0$$sroa_idx2+8>>2]=0|0;HEAP32[$$sroa$4$0$$sroa_idx2+12>>2]=0|0; + HEAPF32[$$sroa$8$0$$sroa_idx10>>2] = 1.0; + $$sroa$9$0$$sroa_idx12 = ((($0)) + 24|0); + $$sroa$13$0$$sroa_idx20 = ((($0)) + 40|0); + ;HEAP32[$$sroa$9$0$$sroa_idx12>>2]=0|0;HEAP32[$$sroa$9$0$$sroa_idx12+4>>2]=0|0;HEAP32[$$sroa$9$0$$sroa_idx12+8>>2]=0|0;HEAP32[$$sroa$9$0$$sroa_idx12+12>>2]=0|0; + HEAPF32[$$sroa$13$0$$sroa_idx20>>2] = 1.0; + $$sroa$14$0$$sroa_idx22 = ((($0)) + 44|0); + HEAPF32[$$sroa$14$0$$sroa_idx22>>2] = 0.0; + $$sroa$15$0$$sroa_idx24 = ((($0)) + 48|0); + HEAPF32[$$sroa$15$0$$sroa_idx24>>2] = $1; + $$sroa$16$0$$sroa_idx26 = ((($0)) + 52|0); + HEAPF32[$$sroa$16$0$$sroa_idx26>>2] = $2; + $$sroa$17$0$$sroa_idx28 = ((($0)) + 56|0); + HEAPF32[$$sroa$17$0$$sroa_idx28>>2] = $3; + $$sroa$18$0$$sroa_idx30 = ((($0)) + 60|0); + HEAPF32[$$sroa$18$0$$sroa_idx30>>2] = 1.0; + return; +} +function _MatrixRotate($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = +$2; + var $$ = 0.0, $$221 = 0.0, $$222 = 0.0, $$sroa$10$0$$sroa_idx199 = 0, $$sroa$11$0$$sroa_idx201 = 0, $$sroa$12$0$$sroa_idx203 = 0, $$sroa$13$0$$sroa_idx205 = 0, $$sroa$14$0$$sroa_idx207 = 0, $$sroa$15$0$$sroa_idx209 = 0, $$sroa$16$0$$sroa_idx211 = 0, $$sroa$17$0$$sroa_idx213 = 0, $$sroa$18$0$$sroa_idx215 = 0, $$sroa$4$0$$sroa_idx187 = 0, $$sroa$5$0$$sroa_idx189 = 0, $$sroa$6$0$$sroa_idx191 = 0, $$sroa$7$0$$sroa_idx193 = 0, $$sroa$8$0$$sroa_idx195 = 0, $$sroa$9$0$$sroa_idx197 = 0, $10 = 0.0, $100 = 0.0; + var $101 = 0.0, $102 = 0.0, $103 = 0.0, $104 = 0.0, $105 = 0.0, $106 = 0.0, $107 = 0.0, $108 = 0.0, $109 = 0.0, $11 = 0.0, $110 = 0.0, $111 = 0.0, $112 = 0.0, $113 = 0.0, $114 = 0.0, $115 = 0.0, $116 = 0.0, $117 = 0.0, $118 = 0.0, $119 = 0.0; + var $12 = 0.0, $120 = 0.0, $121 = 0.0, $122 = 0.0, $123 = 0.0, $124 = 0.0, $125 = 0.0, $126 = 0.0, $127 = 0.0, $128 = 0.0, $129 = 0.0, $13 = 0.0, $130 = 0.0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0; + var $138 = 0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0, $26 = 0.0, $27 = 0, $28 = 0.0, $29 = 0, $3 = 0, $30 = 0.0, $31 = 0; + var $32 = 0.0, $33 = 0, $34 = 0.0, $35 = 0, $36 = 0.0, $37 = 0, $38 = 0.0, $39 = 0, $4 = 0.0, $40 = 0.0, $41 = 0, $42 = 0.0, $43 = 0, $44 = 0.0, $45 = 0, $46 = 0.0, $47 = 0.0, $48 = 0.0, $49 = 0.0, $5 = 0; + var $50 = 0.0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0.0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0.0, $60 = 0.0, $61 = 0.0, $62 = 0.0, $63 = 0.0, $64 = 0.0, $65 = 0.0, $66 = 0.0, $67 = 0.0, $68 = 0.0; + var $69 = 0.0, $7 = 0, $70 = 0.0, $71 = 0.0, $72 = 0.0, $73 = 0.0, $74 = 0.0, $75 = 0.0, $76 = 0.0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0.0, $80 = 0.0, $81 = 0.0, $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0.0, $86 = 0.0; + var $87 = 0.0, $88 = 0.0, $89 = 0.0, $9 = 0.0, $90 = 0.0, $91 = 0.0, $92 = 0.0, $93 = 0.0, $94 = 0.0, $95 = 0.0, $96 = 0.0, $97 = 0.0, $98 = 0.0, $99 = 0.0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $3 = sp; + _MatrixIdentity($3); + $4 = +HEAPF32[$1>>2]; + $5 = ((($1)) + 4|0); + $6 = +HEAPF32[$5>>2]; + $7 = ((($1)) + 8|0); + $8 = +HEAPF32[$7>>2]; + $9 = $4 * $4; + $10 = $6 * $6; + $11 = $9 + $10; + $12 = $8 * $8; + $13 = $11 + $12; + $14 = (+Math_sqrt((+$13))); + $15 = $14 != 1.0; + $16 = $14 != 0.0; + $or$cond = $15 & $16; + $17 = 1.0 / $14; + $18 = $4 * $17; + $19 = $6 * $17; + $20 = $8 * $17; + $$ = $or$cond ? $20 : $8; + $$221 = $or$cond ? $19 : $6; + $$222 = $or$cond ? $18 : $4; + $21 = (+Math_sin((+$2))); + $22 = (+Math_cos((+$2))); + $23 = 1.0 - $22; + $24 = +HEAPF32[$3>>2]; + $25 = ((($3)) + 16|0); + $26 = +HEAPF32[$25>>2]; + $27 = ((($3)) + 32|0); + $28 = +HEAPF32[$27>>2]; + $29 = ((($3)) + 48|0); + $30 = +HEAPF32[$29>>2]; + $31 = ((($3)) + 4|0); + $32 = +HEAPF32[$31>>2]; + $33 = ((($3)) + 20|0); + $34 = +HEAPF32[$33>>2]; + $35 = ((($3)) + 36|0); + $36 = +HEAPF32[$35>>2]; + $37 = ((($3)) + 52|0); + $38 = +HEAPF32[$37>>2]; + $39 = ((($3)) + 8|0); + $40 = +HEAPF32[$39>>2]; + $41 = ((($3)) + 24|0); + $42 = +HEAPF32[$41>>2]; + $43 = ((($3)) + 40|0); + $44 = +HEAPF32[$43>>2]; + $45 = ((($3)) + 56|0); + $46 = +HEAPF32[$45>>2]; + $47 = $$222 * $$222; + $48 = $23 * $47; + $49 = $22 + $48; + $50 = $$221 * $$222; + $51 = $23 * $50; + $52 = $21 * $$; + $53 = $52 + $51; + $54 = $$ * $$222; + $55 = $23 * $54; + $56 = $21 * $$221; + $57 = $55 - $56; + $58 = $51 - $52; + $59 = $$221 * $$221; + $60 = $23 * $59; + $61 = $22 + $60; + $62 = $$ * $$221; + $63 = $23 * $62; + $64 = $21 * $$222; + $65 = $64 + $63; + $66 = $56 + $55; + $67 = $63 - $64; + $68 = $$ * $$; + $69 = $23 * $68; + $70 = $22 + $69; + $71 = $24 * $49; + $72 = $53 * $32; + $73 = $71 + $72; + $74 = $57 * $40; + $75 = $73 + $74; + $76 = $26 * $49; + $77 = $53 * $34; + $78 = $76 + $77; + $79 = $57 * $42; + $80 = $78 + $79; + $81 = $28 * $49; + $82 = $53 * $36; + $83 = $81 + $82; + $84 = $57 * $44; + $85 = $83 + $84; + $86 = $30 * $49; + $87 = $53 * $38; + $88 = $86 + $87; + $89 = $57 * $46; + $90 = $88 + $89; + $91 = $24 * $58; + $92 = $61 * $32; + $93 = $91 + $92; + $94 = $65 * $40; + $95 = $93 + $94; + $96 = $26 * $58; + $97 = $61 * $34; + $98 = $96 + $97; + $99 = $65 * $42; + $100 = $98 + $99; + $101 = $28 * $58; + $102 = $61 * $36; + $103 = $101 + $102; + $104 = $65 * $44; + $105 = $103 + $104; + $106 = $30 * $58; + $107 = $61 * $38; + $108 = $106 + $107; + $109 = $65 * $46; + $110 = $108 + $109; + $111 = $24 * $66; + $112 = $67 * $32; + $113 = $111 + $112; + $114 = $70 * $40; + $115 = $113 + $114; + $116 = $26 * $66; + $117 = $67 * $34; + $118 = $116 + $117; + $119 = $70 * $42; + $120 = $118 + $119; + $121 = $28 * $66; + $122 = $67 * $36; + $123 = $121 + $122; + $124 = $70 * $44; + $125 = $123 + $124; + $126 = $30 * $66; + $127 = $67 * $38; + $128 = $126 + $127; + $129 = $70 * $46; + $130 = $128 + $129; + $131 = ((($3)) + 12|0); + $132 = HEAP32[$131>>2]|0; + $133 = ((($3)) + 28|0); + $134 = HEAP32[$133>>2]|0; + $135 = ((($3)) + 44|0); + $136 = HEAP32[$135>>2]|0; + $137 = ((($3)) + 60|0); + $138 = HEAP32[$137>>2]|0; + HEAPF32[$0>>2] = $75; + $$sroa$4$0$$sroa_idx187 = ((($0)) + 4|0); + HEAPF32[$$sroa$4$0$$sroa_idx187>>2] = $95; + $$sroa$5$0$$sroa_idx189 = ((($0)) + 8|0); + HEAPF32[$$sroa$5$0$$sroa_idx189>>2] = $115; + $$sroa$6$0$$sroa_idx191 = ((($0)) + 12|0); + HEAP32[$$sroa$6$0$$sroa_idx191>>2] = $132; + $$sroa$7$0$$sroa_idx193 = ((($0)) + 16|0); + HEAPF32[$$sroa$7$0$$sroa_idx193>>2] = $80; + $$sroa$8$0$$sroa_idx195 = ((($0)) + 20|0); + HEAPF32[$$sroa$8$0$$sroa_idx195>>2] = $100; + $$sroa$9$0$$sroa_idx197 = ((($0)) + 24|0); + HEAPF32[$$sroa$9$0$$sroa_idx197>>2] = $120; + $$sroa$10$0$$sroa_idx199 = ((($0)) + 28|0); + HEAP32[$$sroa$10$0$$sroa_idx199>>2] = $134; + $$sroa$11$0$$sroa_idx201 = ((($0)) + 32|0); + HEAPF32[$$sroa$11$0$$sroa_idx201>>2] = $85; + $$sroa$12$0$$sroa_idx203 = ((($0)) + 36|0); + HEAPF32[$$sroa$12$0$$sroa_idx203>>2] = $105; + $$sroa$13$0$$sroa_idx205 = ((($0)) + 40|0); + HEAPF32[$$sroa$13$0$$sroa_idx205>>2] = $125; + $$sroa$14$0$$sroa_idx207 = ((($0)) + 44|0); + HEAP32[$$sroa$14$0$$sroa_idx207>>2] = $136; + $$sroa$15$0$$sroa_idx209 = ((($0)) + 48|0); + HEAPF32[$$sroa$15$0$$sroa_idx209>>2] = $90; + $$sroa$16$0$$sroa_idx211 = ((($0)) + 52|0); + HEAPF32[$$sroa$16$0$$sroa_idx211>>2] = $110; + $$sroa$17$0$$sroa_idx213 = ((($0)) + 56|0); + HEAPF32[$$sroa$17$0$$sroa_idx213>>2] = $130; + $$sroa$18$0$$sroa_idx215 = ((($0)) + 60|0); + HEAP32[$$sroa$18$0$$sroa_idx215>>2] = $138; + STACKTOP = sp;return; +} +function _MatrixScale($0,$1,$2,$3) { + $0 = $0|0; + $1 = +$1; + $2 = +$2; + $3 = +$3; + var $$sroa$5$0$$sroa_idx = 0, $$sroa$55$0$$sroa_idx6 = 0, $$sroa$6$0$$sroa_idx = 0, $$sroa$611$0$$sroa_idx12 = 0, $$sroa$7$0$$sroa_idx = 0, $$sroa$717$0$$sroa_idx18 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = $1; + $$sroa$5$0$$sroa_idx = ((($0)) + 4|0); + ;HEAP32[$$sroa$5$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+12>>2]=0|0; + $$sroa$55$0$$sroa_idx6 = ((($0)) + 20|0); + HEAPF32[$$sroa$55$0$$sroa_idx6>>2] = $2; + $$sroa$6$0$$sroa_idx = ((($0)) + 24|0); + ;HEAP32[$$sroa$6$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+12>>2]=0|0; + $$sroa$611$0$$sroa_idx12 = ((($0)) + 40|0); + HEAPF32[$$sroa$611$0$$sroa_idx12>>2] = $3; + $$sroa$7$0$$sroa_idx = ((($0)) + 44|0); + ;HEAP32[$$sroa$7$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+12>>2]=0|0; + $$sroa$717$0$$sroa_idx18 = ((($0)) + 60|0); + HEAPF32[$$sroa$717$0$$sroa_idx18>>2] = 1.0; + return; +} +function _MatrixMultiply($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$sroa$10$0$$sroa_idx14 = 0, $$sroa$11$0$$sroa_idx16 = 0, $$sroa$12$0$$sroa_idx18 = 0, $$sroa$13$0$$sroa_idx20 = 0, $$sroa$14$0$$sroa_idx22 = 0, $$sroa$15$0$$sroa_idx24 = 0, $$sroa$16$0$$sroa_idx26 = 0, $$sroa$17$0$$sroa_idx28 = 0, $$sroa$18$0$$sroa_idx30 = 0, $$sroa$4$0$$sroa_idx2 = 0, $$sroa$5$0$$sroa_idx4 = 0, $$sroa$6$0$$sroa_idx6 = 0, $$sroa$7$0$$sroa_idx8 = 0, $$sroa$8$0$$sroa_idx10 = 0, $$sroa$9$0$$sroa_idx12 = 0, $10 = 0.0, $100 = 0.0, $101 = 0.0, $102 = 0.0, $103 = 0.0; + var $104 = 0.0, $105 = 0, $106 = 0.0, $107 = 0.0, $108 = 0, $109 = 0.0, $11 = 0.0, $110 = 0.0, $111 = 0.0, $112 = 0, $113 = 0.0, $114 = 0.0, $115 = 0.0, $116 = 0, $117 = 0.0, $118 = 0.0, $119 = 0.0, $12 = 0, $120 = 0.0, $121 = 0.0; + var $122 = 0.0, $123 = 0.0, $124 = 0.0, $125 = 0.0, $126 = 0.0, $127 = 0.0, $128 = 0.0, $129 = 0.0, $13 = 0.0, $130 = 0.0, $131 = 0.0, $132 = 0.0, $133 = 0.0, $134 = 0.0, $135 = 0.0, $136 = 0.0, $137 = 0.0, $138 = 0.0, $139 = 0.0, $14 = 0; + var $140 = 0.0, $141 = 0, $142 = 0.0, $143 = 0.0, $144 = 0, $145 = 0.0, $146 = 0.0, $147 = 0.0, $148 = 0, $149 = 0.0, $15 = 0.0, $150 = 0.0, $151 = 0.0, $152 = 0, $153 = 0.0, $154 = 0.0, $155 = 0.0, $156 = 0.0, $157 = 0.0, $158 = 0.0; + var $159 = 0.0, $16 = 0.0, $160 = 0.0, $161 = 0.0, $162 = 0.0, $163 = 0.0, $164 = 0.0, $165 = 0.0, $166 = 0.0, $167 = 0.0, $168 = 0.0, $169 = 0.0, $17 = 0.0, $170 = 0.0, $171 = 0.0, $172 = 0.0, $173 = 0.0, $174 = 0.0, $175 = 0.0, $176 = 0.0; + var $18 = 0, $19 = 0.0, $20 = 0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0, $25 = 0.0, $26 = 0.0, $27 = 0, $28 = 0.0, $29 = 0.0, $3 = 0.0, $30 = 0.0, $31 = 0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0, $36 = 0.0; + var $37 = 0.0, $38 = 0.0, $39 = 0, $4 = 0.0, $40 = 0.0, $41 = 0.0, $42 = 0, $43 = 0.0, $44 = 0.0, $45 = 0.0, $46 = 0, $47 = 0.0, $48 = 0.0, $49 = 0.0, $5 = 0.0, $50 = 0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0; + var $55 = 0.0, $56 = 0.0, $57 = 0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0.0, $61 = 0, $62 = 0.0, $63 = 0.0, $64 = 0.0, $65 = 0, $66 = 0.0, $67 = 0.0, $68 = 0.0, $69 = 0, $7 = 0.0, $70 = 0.0, $71 = 0.0, $72 = 0; + var $73 = 0.0, $74 = 0.0, $75 = 0.0, $76 = 0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0, $80 = 0, $81 = 0.0, $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0.0, $86 = 0.0, $87 = 0.0, $88 = 0.0, $89 = 0.0, $9 = 0.0, $90 = 0.0; + var $91 = 0.0, $92 = 0.0, $93 = 0.0, $94 = 0.0, $95 = 0.0, $96 = 0.0, $97 = 0.0, $98 = 0.0, $99 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $3 = +HEAPF32[$2>>2]; + $4 = +HEAPF32[$1>>2]; + $5 = $3 * $4; + $6 = ((($2)) + 16|0); + $7 = +HEAPF32[$6>>2]; + $8 = ((($1)) + 4|0); + $9 = +HEAPF32[$8>>2]; + $10 = $7 * $9; + $11 = $5 + $10; + $12 = ((($2)) + 32|0); + $13 = +HEAPF32[$12>>2]; + $14 = ((($1)) + 8|0); + $15 = +HEAPF32[$14>>2]; + $16 = $13 * $15; + $17 = $11 + $16; + $18 = ((($2)) + 48|0); + $19 = +HEAPF32[$18>>2]; + $20 = ((($1)) + 12|0); + $21 = +HEAPF32[$20>>2]; + $22 = $19 * $21; + $23 = $17 + $22; + $24 = ((($1)) + 16|0); + $25 = +HEAPF32[$24>>2]; + $26 = $3 * $25; + $27 = ((($1)) + 20|0); + $28 = +HEAPF32[$27>>2]; + $29 = $7 * $28; + $30 = $26 + $29; + $31 = ((($1)) + 24|0); + $32 = +HEAPF32[$31>>2]; + $33 = $13 * $32; + $34 = $30 + $33; + $35 = ((($1)) + 28|0); + $36 = +HEAPF32[$35>>2]; + $37 = $19 * $36; + $38 = $34 + $37; + $39 = ((($1)) + 32|0); + $40 = +HEAPF32[$39>>2]; + $41 = $3 * $40; + $42 = ((($1)) + 36|0); + $43 = +HEAPF32[$42>>2]; + $44 = $7 * $43; + $45 = $41 + $44; + $46 = ((($1)) + 40|0); + $47 = +HEAPF32[$46>>2]; + $48 = $13 * $47; + $49 = $45 + $48; + $50 = ((($1)) + 44|0); + $51 = +HEAPF32[$50>>2]; + $52 = $19 * $51; + $53 = $49 + $52; + $54 = ((($1)) + 48|0); + $55 = +HEAPF32[$54>>2]; + $56 = $3 * $55; + $57 = ((($1)) + 52|0); + $58 = +HEAPF32[$57>>2]; + $59 = $7 * $58; + $60 = $56 + $59; + $61 = ((($1)) + 56|0); + $62 = +HEAPF32[$61>>2]; + $63 = $13 * $62; + $64 = $60 + $63; + $65 = ((($1)) + 60|0); + $66 = +HEAPF32[$65>>2]; + $67 = $19 * $66; + $68 = $64 + $67; + $69 = ((($2)) + 4|0); + $70 = +HEAPF32[$69>>2]; + $71 = $4 * $70; + $72 = ((($2)) + 20|0); + $73 = +HEAPF32[$72>>2]; + $74 = $9 * $73; + $75 = $71 + $74; + $76 = ((($2)) + 36|0); + $77 = +HEAPF32[$76>>2]; + $78 = $15 * $77; + $79 = $75 + $78; + $80 = ((($2)) + 52|0); + $81 = +HEAPF32[$80>>2]; + $82 = $21 * $81; + $83 = $79 + $82; + $84 = $25 * $70; + $85 = $28 * $73; + $86 = $84 + $85; + $87 = $32 * $77; + $88 = $86 + $87; + $89 = $36 * $81; + $90 = $88 + $89; + $91 = $40 * $70; + $92 = $43 * $73; + $93 = $91 + $92; + $94 = $47 * $77; + $95 = $93 + $94; + $96 = $51 * $81; + $97 = $95 + $96; + $98 = $55 * $70; + $99 = $58 * $73; + $100 = $98 + $99; + $101 = $62 * $77; + $102 = $100 + $101; + $103 = $66 * $81; + $104 = $102 + $103; + $105 = ((($2)) + 8|0); + $106 = +HEAPF32[$105>>2]; + $107 = $4 * $106; + $108 = ((($2)) + 24|0); + $109 = +HEAPF32[$108>>2]; + $110 = $9 * $109; + $111 = $107 + $110; + $112 = ((($2)) + 40|0); + $113 = +HEAPF32[$112>>2]; + $114 = $15 * $113; + $115 = $111 + $114; + $116 = ((($2)) + 56|0); + $117 = +HEAPF32[$116>>2]; + $118 = $21 * $117; + $119 = $115 + $118; + $120 = $25 * $106; + $121 = $28 * $109; + $122 = $120 + $121; + $123 = $32 * $113; + $124 = $122 + $123; + $125 = $36 * $117; + $126 = $124 + $125; + $127 = $40 * $106; + $128 = $43 * $109; + $129 = $127 + $128; + $130 = $47 * $113; + $131 = $129 + $130; + $132 = $51 * $117; + $133 = $131 + $132; + $134 = $55 * $106; + $135 = $58 * $109; + $136 = $134 + $135; + $137 = $62 * $113; + $138 = $136 + $137; + $139 = $66 * $117; + $140 = $138 + $139; + $141 = ((($2)) + 12|0); + $142 = +HEAPF32[$141>>2]; + $143 = $4 * $142; + $144 = ((($2)) + 28|0); + $145 = +HEAPF32[$144>>2]; + $146 = $9 * $145; + $147 = $143 + $146; + $148 = ((($2)) + 44|0); + $149 = +HEAPF32[$148>>2]; + $150 = $15 * $149; + $151 = $147 + $150; + $152 = ((($2)) + 60|0); + $153 = +HEAPF32[$152>>2]; + $154 = $21 * $153; + $155 = $151 + $154; + $156 = $25 * $142; + $157 = $28 * $145; + $158 = $156 + $157; + $159 = $32 * $149; + $160 = $158 + $159; + $161 = $36 * $153; + $162 = $160 + $161; + $163 = $40 * $142; + $164 = $43 * $145; + $165 = $163 + $164; + $166 = $47 * $149; + $167 = $165 + $166; + $168 = $51 * $153; + $169 = $167 + $168; + $170 = $55 * $142; + $171 = $58 * $145; + $172 = $170 + $171; + $173 = $62 * $149; + $174 = $172 + $173; + $175 = $66 * $153; + $176 = $174 + $175; + HEAPF32[$0>>2] = $23; + $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); + HEAPF32[$$sroa$4$0$$sroa_idx2>>2] = $83; + $$sroa$5$0$$sroa_idx4 = ((($0)) + 8|0); + HEAPF32[$$sroa$5$0$$sroa_idx4>>2] = $119; + $$sroa$6$0$$sroa_idx6 = ((($0)) + 12|0); + HEAPF32[$$sroa$6$0$$sroa_idx6>>2] = $155; + $$sroa$7$0$$sroa_idx8 = ((($0)) + 16|0); + HEAPF32[$$sroa$7$0$$sroa_idx8>>2] = $38; + $$sroa$8$0$$sroa_idx10 = ((($0)) + 20|0); + HEAPF32[$$sroa$8$0$$sroa_idx10>>2] = $90; + $$sroa$9$0$$sroa_idx12 = ((($0)) + 24|0); + HEAPF32[$$sroa$9$0$$sroa_idx12>>2] = $126; + $$sroa$10$0$$sroa_idx14 = ((($0)) + 28|0); + HEAPF32[$$sroa$10$0$$sroa_idx14>>2] = $162; + $$sroa$11$0$$sroa_idx16 = ((($0)) + 32|0); + HEAPF32[$$sroa$11$0$$sroa_idx16>>2] = $53; + $$sroa$12$0$$sroa_idx18 = ((($0)) + 36|0); + HEAPF32[$$sroa$12$0$$sroa_idx18>>2] = $97; + $$sroa$13$0$$sroa_idx20 = ((($0)) + 40|0); + HEAPF32[$$sroa$13$0$$sroa_idx20>>2] = $133; + $$sroa$14$0$$sroa_idx22 = ((($0)) + 44|0); + HEAPF32[$$sroa$14$0$$sroa_idx22>>2] = $169; + $$sroa$15$0$$sroa_idx24 = ((($0)) + 48|0); + HEAPF32[$$sroa$15$0$$sroa_idx24>>2] = $68; + $$sroa$16$0$$sroa_idx26 = ((($0)) + 52|0); + HEAPF32[$$sroa$16$0$$sroa_idx26>>2] = $104; + $$sroa$17$0$$sroa_idx28 = ((($0)) + 56|0); + HEAPF32[$$sroa$17$0$$sroa_idx28>>2] = $140; + $$sroa$18$0$$sroa_idx30 = ((($0)) + 60|0); + HEAPF32[$$sroa$18$0$$sroa_idx30>>2] = $176; + return; +} +function _MatrixOrtho($0,$1,$2,$3,$4,$5,$6) { + $0 = $0|0; + $1 = +$1; + $2 = +$2; + $3 = +$3; + $4 = +$4; + $5 = +$5; + $6 = +$6; + var $$sroa$10$0$$sroa_idx24 = 0, $$sroa$11$0$$sroa_idx26 = 0, $$sroa$12$0$$sroa_idx28 = 0, $$sroa$13$0$$sroa_idx30 = 0, $$sroa$14$0$$sroa_idx32 = 0, $$sroa$15$0$$sroa_idx34 = 0, $$sroa$16$0$$sroa_idx36 = 0, $$sroa$17$0$$sroa_idx38 = 0, $$sroa$18$0$$sroa_idx40 = 0, $$sroa$4$0$$sroa_idx12 = 0, $$sroa$5$0$$sroa_idx14 = 0, $$sroa$6$0$$sroa_idx16 = 0, $$sroa$7$0$$sroa_idx18 = 0, $$sroa$8$0$$sroa_idx20 = 0, $$sroa$9$0$$sroa_idx22 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0; + var $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0.0, $28 = 0.0, $29 = 0.0, $30 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0; + var sp = 0; + sp = STACKTOP; + $7 = $2 - $1; + $8 = $7; + $9 = $4 - $3; + $10 = $9; + $11 = $6 - $5; + $12 = $11; + $13 = 2.0 / $8; + $14 = 2.0 / $10; + $15 = -2.0 / $12; + $16 = $1 + $2; + $17 = -$16; + $18 = $8; + $19 = $17 / $18; + $20 = $19; + $21 = $3 + $4; + $22 = -$21; + $23 = $10; + $24 = $22 / $23; + $25 = $24; + $26 = $5 + $6; + $27 = -$26; + $28 = $12; + $29 = $27 / $28; + $30 = $29; + HEAPF32[$0>>2] = $13; + $$sroa$4$0$$sroa_idx12 = ((($0)) + 4|0); + HEAPF32[$$sroa$4$0$$sroa_idx12>>2] = 0.0; + $$sroa$5$0$$sroa_idx14 = ((($0)) + 8|0); + HEAPF32[$$sroa$5$0$$sroa_idx14>>2] = 0.0; + $$sroa$6$0$$sroa_idx16 = ((($0)) + 12|0); + HEAPF32[$$sroa$6$0$$sroa_idx16>>2] = $20; + $$sroa$7$0$$sroa_idx18 = ((($0)) + 16|0); + HEAPF32[$$sroa$7$0$$sroa_idx18>>2] = 0.0; + $$sroa$8$0$$sroa_idx20 = ((($0)) + 20|0); + HEAPF32[$$sroa$8$0$$sroa_idx20>>2] = $14; + $$sroa$9$0$$sroa_idx22 = ((($0)) + 24|0); + HEAPF32[$$sroa$9$0$$sroa_idx22>>2] = 0.0; + $$sroa$10$0$$sroa_idx24 = ((($0)) + 28|0); + HEAPF32[$$sroa$10$0$$sroa_idx24>>2] = $25; + $$sroa$11$0$$sroa_idx26 = ((($0)) + 32|0); + HEAPF32[$$sroa$11$0$$sroa_idx26>>2] = 0.0; + $$sroa$12$0$$sroa_idx28 = ((($0)) + 36|0); + HEAPF32[$$sroa$12$0$$sroa_idx28>>2] = 0.0; + $$sroa$13$0$$sroa_idx30 = ((($0)) + 40|0); + HEAPF32[$$sroa$13$0$$sroa_idx30>>2] = $15; + $$sroa$14$0$$sroa_idx32 = ((($0)) + 44|0); + HEAPF32[$$sroa$14$0$$sroa_idx32>>2] = $30; + $$sroa$15$0$$sroa_idx34 = ((($0)) + 48|0); + HEAPF32[$$sroa$15$0$$sroa_idx34>>2] = 0.0; + $$sroa$16$0$$sroa_idx36 = ((($0)) + 52|0); + HEAPF32[$$sroa$16$0$$sroa_idx36>>2] = 0.0; + $$sroa$17$0$$sroa_idx38 = ((($0)) + 56|0); + HEAPF32[$$sroa$17$0$$sroa_idx38>>2] = 0.0; + $$sroa$18$0$$sroa_idx40 = ((($0)) + 60|0); + HEAPF32[$$sroa$18$0$$sroa_idx40>>2] = 1.0; + return; +} +function _ProcessGestureEvent($0) { + $0 = $0|0; + var $$$sink = 0, $$sink = 0, $$sink10 = 0, $$sink11 = 0, $$sink16 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0.0, $111 = 0.0; + var $112 = 0.0, $113 = 0.0, $114 = 0.0, $115 = 0.0, $116 = 0.0, $117 = 0, $118 = 0, $119 = 0, $12 = 0.0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0; + var $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0; + var $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0.0, $16 = 0, $160 = 0.0, $161 = 0.0, $162 = 0.0, $163 = 0.0, $164 = 0.0, $165 = 0.0, $166 = 0; + var $167 = 0.0, $168 = 0, $169 = 0.0, $17 = 0, $170 = 0.0, $171 = 0.0, $172 = 0, $173 = 0.0, $174 = 0.0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; + var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; + var $46 = 0, $47 = 0, $48 = 0.0, $49 = 0.0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0.0, $56 = 0.0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0; + var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0.0, $81 = 0; + var $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0.0, $86 = 0.0, $87 = 0.0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $moveDownPosition$byval_copy11 = 0; + var $moveDownPosition2$byval_copy12 = 0, $or$cond = 0, $or$cond3 = 0, $or$cond5 = 0, $or$cond7 = 0, $or$cond9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $moveDownPosition2$byval_copy12 = sp + 8|0; + $moveDownPosition$byval_copy11 = sp; + $1 = ((($0)) + 4|0); + $2 = HEAP32[$1>>2]|0; + HEAP32[5279] = $2; + $3 = ($2|0)<(2); + $4 = HEAP32[$0>>2]|0; + $5 = ($4|0)==(1); + if (!($3)) { + if ($5) { + $88 = ((($0)) + 24|0); + $89 = $88; + $90 = $89; + $91 = HEAP32[$90>>2]|0; + $92 = (($89) + 4)|0; + $93 = $92; + $94 = HEAP32[$93>>2]|0; + $95 = 19672; + $96 = $95; + HEAP32[$96>>2] = $91; + $97 = (($95) + 4)|0; + $98 = $97; + HEAP32[$98>>2] = $94; + $99 = ((($0)) + 32|0); + $100 = $99; + $101 = $100; + $102 = HEAP32[$101>>2]|0; + $103 = (($100) + 4)|0; + $104 = $103; + $105 = HEAP32[$104>>2]|0; + $106 = 19712; + $107 = $106; + HEAP32[$107>>2] = $102; + $108 = (($106) + 4)|0; + $109 = $108; + HEAP32[$109>>2] = $105; + $110 = +HEAPF32[4928]; + $111 = +HEAPF32[4918]; + $112 = $110 - $111; + HEAPF32[4930] = $112; + $113 = +HEAPF32[(19716)>>2]; + $114 = +HEAPF32[(19676)>>2]; + $115 = $113 - $114; + HEAPF32[(19724)>>2] = $115; + HEAP32[5278] = 4; + STACKTOP = sp;return; + } + switch ($4|0) { + case 2: { + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[19704>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[19704+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[19728>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[19728+4>>2]|0; + $116 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + HEAPF32[5284] = $116; + $117 = 19704; + $118 = $117; + $119 = HEAP32[$118>>2]|0; + $120 = (($117) + 4)|0; + $121 = $120; + $122 = HEAP32[$121>>2]|0; + $123 = 19672; + $124 = $123; + HEAP32[$124>>2] = $119; + $125 = (($123) + 4)|0; + $126 = $125; + HEAP32[$126>>2] = $122; + $127 = 19728; + $128 = $127; + $129 = HEAP32[$128>>2]|0; + $130 = (($127) + 4)|0; + $131 = $130; + $132 = HEAP32[$131>>2]|0; + $133 = 19712; + $134 = $133; + HEAP32[$134>>2] = $129; + $135 = (($133) + 4)|0; + $136 = $135; + HEAP32[$136>>2] = $132; + $137 = ((($0)) + 24|0); + $138 = $137; + $139 = $138; + $140 = HEAP32[$139>>2]|0; + $141 = (($138) + 4)|0; + $142 = $141; + $143 = HEAP32[$142>>2]|0; + $144 = 19704; + $145 = $144; + HEAP32[$145>>2] = $140; + $146 = (($144) + 4)|0; + $147 = $146; + HEAP32[$147>>2] = $143; + $148 = ((($0)) + 32|0); + $149 = $148; + $150 = $149; + $151 = HEAP32[$150>>2]|0; + $152 = (($149) + 4)|0; + $153 = $152; + $154 = HEAP32[$153>>2]|0; + $155 = 19728; + $156 = $155; + HEAP32[$156>>2] = $151; + $157 = (($155) + 4)|0; + $158 = $157; + HEAP32[$158>>2] = $154; + $159 = +HEAPF32[4932]; + $160 = +HEAPF32[4926]; + $161 = $159 - $160; + HEAPF32[4930] = $161; + $162 = +HEAPF32[(19732)>>2]; + $163 = +HEAPF32[(19708)>>2]; + $164 = $162 - $163; + HEAPF32[(19724)>>2] = $164; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[19672>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[19672+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[19704>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[19704+4>>2]|0; + $165 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $166 = !($165 >= 0.004999999888241291); + if ($166) { + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[19712>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[19712+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[19728>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[19728+4>>2]|0; + $167 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $168 = !($167 >= 0.004999999888241291); + if ($168) { + $$sink16 = 4; + } else { + label = 29; + } + } else { + label = 29; + } + if ((label|0) == 29) { + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[19704>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[19704+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[19728>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[19728+4>>2]|0; + $169 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $170 = +HEAPF32[5284]; + $171 = $169 - $170; + $172 = $171 < 0.0; + $$sink11 = $172 ? 256 : 512; + $$sink16 = $$sink11; + } + HEAP32[5278] = $$sink16; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[19704>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[19704+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[19728>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[19728+4>>2]|0; + $173 = (+_Vector2Angle($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $174 = 360.0 - $173; + HEAPF32[5285] = $174; + STACKTOP = sp;return; + break; + } + case 0: { + HEAPF32[5284] = 0.0; + HEAPF32[5285] = 0.0; + HEAPF32[4930] = 0.0; + HEAPF32[(19724)>>2] = 0.0; + HEAP32[5279] = 0; + HEAP32[5278] = 0; + STACKTOP = sp;return; + break; + } + default: { + STACKTOP = sp;return; + } + } + } + if ($5) { + $6 = HEAP32[5280]|0; + $7 = (($6) + 1)|0; + HEAP32[5280] = $7; + $8 = HEAP32[5278]|0; + $9 = ($8|0)==(0); + $10 = ($6|0)>(0); + $or$cond = $10 & $9; + if ($or$cond) { + $11 = ((($0)) + 24|0); + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[19672>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[19672+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[$11>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[$11+4>>2]|0; + $12 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $13 = $12 < 0.029999999329447746; + if ($13) { + HEAP32[5278] = 2; + HEAP32[5280] = 0; + } else { + label = 6; + } + } else { + label = 6; + } + if ((label|0) == 6) { + HEAP32[5280] = 1; + HEAP32[5278] = 1; + } + $14 = ((($0)) + 24|0); + $15 = $14; + $16 = $15; + $17 = HEAP32[$16>>2]|0; + $18 = (($15) + 4)|0; + $19 = $18; + $20 = HEAP32[$19>>2]|0; + $21 = 19672; + $22 = $21; + HEAP32[$22>>2] = $17; + $23 = (($21) + 4)|0; + $24 = $23; + HEAP32[$24>>2] = $20; + $25 = 19680; + $26 = $25; + HEAP32[$26>>2] = $17; + $27 = (($25) + 4)|0; + $28 = $27; + HEAP32[$28>>2] = $20; + $29 = 19688; + $30 = $29; + HEAP32[$30>>2] = $17; + $31 = (($29) + 4)|0; + $32 = $31; + HEAP32[$32>>2] = $20; + $33 = ((($0)) + 8|0); + $34 = HEAP32[$33>>2]|0; + HEAP32[12] = $34; + HEAPF32[4924] = 0.0; + HEAPF32[(19700)>>2] = 0.0; + STACKTOP = sp;return; + } + switch ($4|0) { + case 0: { + $35 = HEAP32[5278]|0; + $36 = ($35|0)==(8); + if ($36) { + $37 = ((($0)) + 24|0); + $38 = $37; + $39 = $38; + $40 = HEAP32[$39>>2]|0; + $41 = (($38) + 4)|0; + $42 = $41; + $43 = HEAP32[$42>>2]|0; + $44 = 19688; + $45 = $44; + HEAP32[$45>>2] = $40; + $46 = (($44) + 4)|0; + $47 = $46; + HEAP32[$47>>2] = $43; + } + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[19672>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[19672+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[19688>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[19688+4>>2]|0; + $48 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $49 = $48 / 0.0; + HEAPF32[5281] = $49; + HEAP32[5282] = 0; + $50 = $49 > 5.0000002374872565E-4; + if ($50) { + $51 = HEAP32[12]|0; + $52 = ((($0)) + 8|0); + $53 = HEAP32[$52>>2]|0; + $54 = ($51|0)==($53|0); + if ($54) { + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[19672>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[19672+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[19688>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[19688+4>>2]|0; + $55 = (+_Vector2Angle($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $56 = 360.0 - $55; + HEAPF32[5283] = $56; + $57 = $56 < 30.0; + $58 = $56 > 330.0; + $or$cond3 = $57 | $58; + if ($or$cond3) { + $$sink10 = 16; + } else { + $59 = $56 > 30.0; + $60 = $56 < 120.0; + $or$cond5 = $59 & $60; + if ($or$cond5) { + $$sink10 = 64; + } else { + $61 = $56 > 120.0; + $62 = $56 < 210.0; + $or$cond7 = $61 & $62; + $63 = $56 > 210.0; + $64 = $56 < 300.0; + $or$cond9 = $63 & $64; + $$sink = $or$cond9 ? 128 : 0; + $$$sink = $or$cond7 ? 32 : $$sink; + $$sink10 = $$$sink; + } + } + } else { + label = 16; + } + } else { + label = 16; + } + if ((label|0) == 16) { + HEAPF32[5281] = 0.0; + HEAPF32[5283] = 0.0; + $$sink10 = 0; + } + HEAP32[5278] = $$sink10; + HEAPF32[4920] = 0.0; + HEAPF32[(19684)>>2] = 0.0; + HEAP32[5279] = 0; + STACKTOP = sp;return; + break; + } + case 2: { + $65 = HEAP32[5282]|0; + $66 = ($65|0)==(0); + if ($66) { + HEAP32[5282] = 1; + } + $67 = ((($0)) + 24|0); + $68 = $67; + $69 = $68; + $70 = HEAP32[$69>>2]|0; + $71 = (($68) + 4)|0; + $72 = $71; + $73 = HEAP32[$72>>2]|0; + $74 = 19704; + $75 = $74; + HEAP32[$75>>2] = $70; + $76 = (($74) + 4)|0; + $77 = $76; + HEAP32[$77>>2] = $73; + $78 = HEAP32[5278]|0; + $79 = ($78|0)==(4); + if ($79) { + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[19672>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[19672+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[19704>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[19704+4>>2]|0; + $80 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $81 = !($80 >= 0.014999999664723873); + if (!($81)) { + HEAP32[5278] = 8; + } + } + $82 = +HEAPF32[4926]; + $83 = +HEAPF32[4920]; + $84 = $82 - $83; + HEAPF32[4924] = $84; + $85 = +HEAPF32[(19708)>>2]; + $86 = +HEAPF32[(19684)>>2]; + $87 = $85 - $86; + HEAPF32[(19700)>>2] = $87; + STACKTOP = sp;return; + break; + } + default: { + STACKTOP = sp;return; + } + } +} +function _UpdateGestures() { + var $$off = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $or$cond3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[5278]|0; + $$off = (($0) + -1)|0; + $1 = ($$off>>>0)<(2); + $2 = HEAP32[5279]|0; + $3 = ($2|0)<(2); + $or$cond3 = $1 & $3; + if ($or$cond3) { + HEAP32[5278] = 4; + } + $4 = HEAP32[5278]|0; + $5 = (($4) + -16)|0; + $6 = $5 >>> 4; + $7 = $5 << 28; + $8 = $6 | $7; + switch ($8|0) { + case 0: case 1: case 3: case 7: { + break; + } + default: { + return; + } + } + HEAP32[5278] = 0; + return; +} +function _GetMousePosition($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = 19736; + $2 = $1; + $3 = HEAP32[$2>>2]|0; + $4 = (($1) + 4)|0; + $5 = $4; + $6 = HEAP32[$5>>2]|0; + $7 = $0; + $8 = $7; + HEAP32[$8>>2] = $3; + $9 = (($7) + 4)|0; + $10 = $9; + HEAP32[$10>>2] = $6; + return; +} +function _IsMouseButtonDown($0) { + $0 = $0|0; + var $$ = 0, $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (_GetMouseButtonStatus($0)|0); + $2 = ($1|0)==(1); + $$ = $2&1; + return ($$|0); +} +function _GetScreenWidth() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[5288]|0; + return ($0|0); +} +function _GetScreenHeight() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[5287]|0; + return ($0|0); +} +function _GetMouseButtonStatus($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP32[5286]|0; + $2 = (_glfwGetMouseButton(($1|0),($0|0))|0); + return ($2|0); +} +function _InitWindow($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0.0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $vararg_buffer = sp; + _TraceLog(0,5875,$vararg_buffer); + HEAP32[5290] = $2; + _InitGraphicsDevice($0,$1); + _LoadDefaultFont(); + _InitTimer(); + (_emscripten_set_fullscreenchange_callback((0|0),(0|0),1,(5|0))|0); + (_emscripten_set_keypress_callback((5904|0),(0|0),1,(6|0))|0); + (_emscripten_set_click_callback((5904|0),(0|0),1,(7|0))|0); + (_emscripten_set_touchstart_callback((5904|0),(0|0),1,(8|0))|0); + (_emscripten_set_touchend_callback((5904|0),(0|0),1,(8|0))|0); + (_emscripten_set_touchmove_callback((5904|0),(0|0),1,(8|0))|0); + (_emscripten_set_touchcancel_callback((5904|0),(0|0),1,(8|0))|0); + (_emscripten_set_gamepadconnected_callback((0|0),1,(9|0))|0); + (_emscripten_set_gamepaddisconnected_callback((0|0),1,(9|0))|0); + $3 = HEAP32[5288]|0; + $4 = (+($3|0)); + $5 = $4 * 0.5; + HEAPF32[4934] = $5; + $6 = HEAP32[5287]|0; + $7 = (+($6|0)); + $8 = $7 * 0.5; + HEAPF32[(19740)>>2] = $8; + $9 = HEAP32[5291]|0; + $10 = ($9|0)==(0); + if ($10) { + STACKTOP = sp;return; + } + _SetTargetFPS(60); + _LogoAnimation(); + STACKTOP = sp;return; +} +function _TraceLog($0,$1,$varargs) { + $0 = $0|0; + $1 = $1|0; + $varargs = $varargs|0; + var $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $endptr = 0, $strlen = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $2 = sp; + switch ($0|0) { + case 0: { + ;HEAP8[19776>>0]=HEAP8[10480>>0]|0;HEAP8[19776+1>>0]=HEAP8[10480+1>>0]|0;HEAP8[19776+2>>0]=HEAP8[10480+2>>0]|0;HEAP8[19776+3>>0]=HEAP8[10480+3>>0]|0;HEAP8[19776+4>>0]=HEAP8[10480+4>>0]|0;HEAP8[19776+5>>0]=HEAP8[10480+5>>0]|0;HEAP8[19776+6>>0]=HEAP8[10480+6>>0]|0; + break; + } + case 2: { + $3 = 19776; + $4 = $3; + HEAP32[$4>>2] = 1330795077; + $5 = (($3) + 4)|0; + $6 = $5; + HEAP32[$6>>2] = 2112082; + break; + } + case 1: { + dest=19776; src=10487; stop=dest+10|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); + break; + } + case 3: { + $7 = 19776; + $8 = $7; + HEAP32[$8>>2] = 1430406468; + $9 = (($7) + 4)|0; + $10 = $9; + HEAP32[$10>>2] = 2112071; + break; + } + default: { + } + } + (_strcat(19776,$1)|0); + $strlen = (_strlen(19776)|0); + $endptr = (19776 + ($strlen)|0); + HEAP8[$endptr>>0]=10&255;HEAP8[$endptr+1>>0]=10>>8; + HEAP32[$2>>2] = $varargs; + $11 = ($0|0)==(3); + if ($11) { + STACKTOP = sp;return; + } + (_vprintf(19776,$2)|0); + $12 = ($0|0)==(2); + if ($12) { + _exit(1); + // unreachable; + } else { + STACKTOP = sp;return; + } +} +function _InitGraphicsDevice($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$015 = 0, $$byval_copy = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; + var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0.0, $79 = 0, $8 = 0, $80 = 0; + var $81 = 0, $82 = 0.0, $83 = 0, $84 = 0, $85 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer14 = 0, $vararg_buffer18 = 0, $vararg_buffer22 = 0, $vararg_buffer3 = 0, $vararg_buffer6 = 0, $vararg_buffer8 = 0, $vararg_ptr13 = 0, $vararg_ptr17 = 0, $vararg_ptr21 = 0, $vararg_ptr5 = 0, dest = 0; + var label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 144|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(144|0); + $$byval_copy = sp + 136|0; + $vararg_buffer22 = sp + 64|0; + $vararg_buffer18 = sp + 56|0; + $vararg_buffer14 = sp + 48|0; + $vararg_buffer10 = sp + 40|0; + $vararg_buffer8 = sp + 32|0; + $vararg_buffer6 = sp + 24|0; + $vararg_buffer3 = sp + 16|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $2 = sp + 72|0; + $3 = sp + 140|0; + HEAP32[5288] = $0; + HEAP32[5287] = $1; + _MatrixIdentity($2); + dest=21240; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + (_glfwSetErrorCallback((1|0))|0); + $4 = (_glfwInit()|0); + $5 = ($4|0)==(0); + if ($5) { + _TraceLog(2,6622,$vararg_buffer); + } + $6 = HEAP32[5288]|0; + HEAP32[5326] = $6; + $7 = HEAP32[5287]|0; + HEAP32[5327] = $7; + _glfwDefaultWindowHints(); + $8 = HEAP8[25116]|0; + $9 = $8 & 4; + $10 = ($9<<24>>24)==(0); + if ($10) { + _glfwWindowHint(131075,0); + } else { + _glfwWindowHint(131075,1); + } + $11 = HEAP8[25116]|0; + $12 = $11 & 8; + $13 = ($12<<24>>24)==(0); + if (!($13)) { + _glfwWindowHint(131077,1); + } + $14 = HEAP8[25116]|0; + $15 = $14 & 32; + $16 = ($15<<24>>24)==(0); + if (!($16)) { + _glfwWindowHint(135181,4); + _TraceLog(0,6648,$vararg_buffer1); + } + $17 = (_rlGetVersion()|0); + $18 = ($17|0)==(2); + if ($18) { + _glfwWindowHint(139266,2); + _glfwWindowHint(139267,1); + } else { + $19 = (_rlGetVersion()|0); + $20 = ($19|0)==(3); + if ($20) { + _glfwWindowHint(139266,3); + _glfwWindowHint(139267,3); + _glfwWindowHint(139272,204801); + _glfwWindowHint(139270,0); + } + } + $21 = HEAP32[5328]|0; + $22 = ($21|0)==(0); + if ($22) { + $47 = HEAP32[5288]|0; + $48 = HEAP32[5287]|0; + $49 = HEAP32[5290]|0; + $50 = (_glfwCreateWindow(($47|0),($48|0),($49|0),(0|0),(0|0))|0); + HEAP32[5286] = $50; + $51 = HEAP32[5288]|0; + HEAP32[5329] = $51; + $52 = HEAP32[5287]|0; + HEAP32[5330] = $52; + $54 = $50; + } else { + $23 = (_glfwGetPrimaryMonitor()|0); + $24 = (_glfwGetVideoModes(($23|0),($$byval_copy|0))|0); + $25 = HEAP32[$$byval_copy>>2]|0; + $26 = ($25|0)>(0); + L22: do { + if ($26) { + $27 = HEAP32[5288]|0; + $28 = HEAP32[$$byval_copy>>2]|0; + $29 = HEAP32[5287]|0; + $$015 = 0; + while(1) { + $30 = (($24) + (($$015*24)|0)|0); + $31 = HEAP32[$30>>2]|0; + $32 = ($31|0)<($27|0); + if (!($32)) { + $33 = (((($24) + (($$015*24)|0)|0)) + 4|0); + $34 = HEAP32[$33>>2]|0; + $35 = ($34|0)<($29|0); + if (!($35)) { + break; + } + } + $36 = (($$015) + 1)|0; + $37 = ($36|0)<($28|0); + if ($37) { + $$015 = $36; + } else { + break L22; + } + } + HEAP32[5326] = $31; + HEAP32[5327] = $34; + } + } while(0); + $38 = HEAP32[5326]|0; + $39 = HEAP32[5327]|0; + HEAP32[$vararg_buffer3>>2] = $38; + $vararg_ptr5 = ((($vararg_buffer3)) + 4|0); + HEAP32[$vararg_ptr5>>2] = $39; + _TraceLog(1,6673,$vararg_buffer3); + $40 = HEAP32[5326]|0; + $41 = HEAP32[5327]|0; + _SetupFramebufferSize($40,$41); + $42 = HEAP32[5326]|0; + $43 = HEAP32[5327]|0; + $44 = HEAP32[5290]|0; + $45 = (_glfwGetPrimaryMonitor()|0); + $46 = (_glfwCreateWindow(($42|0),($43|0),($44|0),($45|0),(0|0))|0); + HEAP32[5286] = $46; + $54 = $46; + } + $53 = ($54|0)==(0|0); + if ($53) { + _glfwTerminate(); + _TraceLog(2,6711,$vararg_buffer6); + } else { + _TraceLog(0,6744,$vararg_buffer8); + $55 = HEAP32[5329]|0; + $56 = HEAP32[5330]|0; + HEAP32[$vararg_buffer10>>2] = $55; + $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); + HEAP32[$vararg_ptr13>>2] = $56; + _TraceLog(0,6784,$vararg_buffer10); + $57 = HEAP32[5288]|0; + $58 = HEAP32[5287]|0; + HEAP32[$vararg_buffer14>>2] = $57; + $vararg_ptr17 = ((($vararg_buffer14)) + 4|0); + HEAP32[$vararg_ptr17>>2] = $58; + _TraceLog(0,6805,$vararg_buffer14); + $59 = HEAP32[5331]|0; + $60 = HEAP32[5332]|0; + HEAP32[$vararg_buffer18>>2] = $59; + $vararg_ptr21 = ((($vararg_buffer18)) + 4|0); + HEAP32[$vararg_ptr21>>2] = $60; + _TraceLog(0,6826,$vararg_buffer18); + } + $61 = HEAP32[5286]|0; + (_glfwSetWindowSizeCallback(($61|0),(1|0))|0); + $62 = HEAP32[5286]|0; + (_glfwSetCursorEnterCallback(($62|0),(2|0))|0); + $63 = HEAP32[5286]|0; + (_glfwSetKeyCallback(($63|0),(1|0))|0); + $64 = HEAP32[5286]|0; + (_glfwSetMouseButtonCallback(($64|0),(1|0))|0); + $65 = HEAP32[5286]|0; + (_glfwSetCursorPosCallback(($65|0),(1|0))|0); + $66 = HEAP32[5286]|0; + (_glfwSetCharCallback(($66|0),(3|0))|0); + $67 = HEAP32[5286]|0; + (_glfwSetScrollCallback(($67|0),(2|0))|0); + $68 = HEAP32[5286]|0; + (_glfwSetWindowIconifyCallback(($68|0),(4|0))|0); + $69 = HEAP32[5286]|0; + _glfwMakeContextCurrent(($69|0)); + _glfwSwapInterval(0); + $70 = HEAP8[25116]|0; + $71 = $70 & 64; + $72 = ($71<<24>>24)==(0); + if ($72) { + $73 = HEAP32[5288]|0; + $74 = HEAP32[5287]|0; + _rlglInit($73,$74); + _SetupViewport(); + _rlMatrixMode(5889); + _rlLoadIdentity(); + $75 = HEAP32[5329]|0; + $76 = HEAP32[5331]|0; + $77 = (($75) - ($76))|0; + $78 = (+($77|0)); + $79 = HEAP32[5330]|0; + $80 = HEAP32[5332]|0; + $81 = (($79) - ($80))|0; + $82 = (+($81|0)); + _rlOrtho(0.0,$78,$82,0.0,0.0,1.0); + _rlMatrixMode(5888); + _rlLoadIdentity(); + HEAP8[$3>>0] = -11; + $83 = ((($3)) + 1|0); + HEAP8[$83>>0] = -11; + $84 = ((($3)) + 2|0); + HEAP8[$84>>0] = -11; + $85 = ((($3)) + 3|0); + HEAP8[$85>>0] = -1; + ;HEAP8[$$byval_copy>>0]=HEAP8[$3>>0]|0;HEAP8[$$byval_copy+1>>0]=HEAP8[$3+1>>0]|0;HEAP8[$$byval_copy+2>>0]=HEAP8[$3+2>>0]|0;HEAP8[$$byval_copy+3>>0]=HEAP8[$3+3>>0]|0; + _ClearBackground($$byval_copy); + STACKTOP = sp;return; + } + _glfwSwapInterval(1); + _TraceLog(0,6851,$vararg_buffer22); + $73 = HEAP32[5288]|0; + $74 = HEAP32[5287]|0; + _rlglInit($73,$74); + _SetupViewport(); + _rlMatrixMode(5889); + _rlLoadIdentity(); + $75 = HEAP32[5329]|0; + $76 = HEAP32[5331]|0; + $77 = (($75) - ($76))|0; + $78 = (+($77|0)); + $79 = HEAP32[5330]|0; + $80 = HEAP32[5332]|0; + $81 = (($79) - ($80))|0; + $82 = (+($81|0)); + _rlOrtho(0.0,$78,$82,0.0,0.0,1.0); + _rlMatrixMode(5888); + _rlLoadIdentity(); + HEAP8[$3>>0] = -11; + $83 = ((($3)) + 1|0); + HEAP8[$83>>0] = -11; + $84 = ((($3)) + 2|0); + HEAP8[$84>>0] = -11; + $85 = ((($3)) + 3|0); + HEAP8[$85>>0] = -1; + ;HEAP8[$$byval_copy>>0]=HEAP8[$3>>0]|0;HEAP8[$$byval_copy+1>>0]=HEAP8[$3+1>>0]|0;HEAP8[$$byval_copy+2>>0]=HEAP8[$3+2>>0]|0;HEAP8[$$byval_copy+3>>0]=HEAP8[$3+3>>0]|0; + _ClearBackground($$byval_copy); + STACKTOP = sp;return; +} +function _LoadDefaultFont() { + var $$ = 0, $$0101 = 0, $$090100 = 0, $$09299 = 0, $$095104 = 0, $$096103 = 0, $$097102 = 0, $$191 = 0, $$193 = 0, $$byval_copy1 = 0, $$lcssa = 0, $$sroa$0$0$$sroa_idx = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0; + var $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0; + var $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; + var $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $$byval_copy1 = sp + 44|0; + $vararg_buffer = sp; + $0 = sp + 4|0; + $1 = sp + 24|0; + HEAP32[(21208)>>2] = 224; + $2 = (_malloc(65536)|0); + _memset(($2|0),0,65536)|0; + $$095104 = 0;$$096103 = 0; + while(1) { + $3 = (52 + ($$095104<<2)|0); + $4 = HEAP32[$3>>2]|0; + $$097102 = 31; + while(1) { + $16 = 1 << $$097102; + $17 = $4 & $16; + $18 = ($17|0)==(0); + if (!($18)) { + $19 = (($$097102) + ($$096103))|0; + $$sroa$0$0$$sroa_idx = (($2) + ($19<<2)|0); + HEAP8[$$sroa$0$0$$sroa_idx>>0]=-1&255;HEAP8[$$sroa$0$0$$sroa_idx+1>>0]=(-1>>8)&255;HEAP8[$$sroa$0$0$$sroa_idx+2>>0]=(-1>>16)&255;HEAP8[$$sroa$0$0$$sroa_idx+3>>0]=-1>>24; + } + $20 = (($$097102) + -1)|0; + $21 = ($$097102|0)>(0); + if ($21) { + $$097102 = $20; + } else { + break; + } + } + $12 = (($$095104) + 1)|0; + $13 = ($$095104|0)>(511); + $$ = $13 ? 0 : $12; + $14 = (($$096103) + 32)|0; + $15 = ($14|0)<(16384); + if ($15) { + $$095104 = $$;$$096103 = $14; + } else { + break; + } + } + _LoadImageEx($0,$2,128,128); + _ImageFormat($0,2); + _free($2); + ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; + _LoadTextureFromImage($1,$$byval_copy1); + ;HEAP32[21184>>2]=HEAP32[$1>>2]|0;HEAP32[21184+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[21184+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[21184+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[21184+16>>2]=HEAP32[$1+16>>2]|0; + ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; + _UnloadImage($$byval_copy1); + $5 = HEAP32[(21208)>>2]|0; + $6 = $5 << 5; + $7 = (_malloc($6)|0); + HEAP32[(21212)>>2] = $7; + $8 = ($5|0)>(0); + if (!($8)) { + $$lcssa = $7; + $22 = ((($$lcssa)) + 16|0); + $23 = HEAP32[$22>>2]|0; + HEAP32[(21204)>>2] = $23; + $24 = HEAP32[5296]|0; + HEAP32[$vararg_buffer>>2] = $24; + _TraceLog(0,6099,$vararg_buffer); + STACKTOP = sp;return; + } + $9 = HEAP32[(21188)>>2]|0; + $10 = HEAP32[(21208)>>2]|0; + $11 = HEAP32[(21212)>>2]|0; + $$0101 = 0;$$090100 = 1;$$09299 = 0;$27 = $7; + while(1) { + $25 = (($$0101) + 32)|0; + $26 = (($27) + ($$0101<<5)|0); + HEAP32[$26>>2] = $25; + $28 = (((($27) + ($$0101<<5)|0)) + 4|0); + HEAP32[$28>>2] = $$090100; + $29 = ($$09299*11)|0; + $30 = (($29) + 1)|0; + $31 = (((($27) + ($$0101<<5)|0)) + 8|0); + HEAP32[$31>>2] = $30; + $32 = (2100 + ($$0101<<2)|0); + $33 = HEAP32[$32>>2]|0; + $34 = (((($27) + ($$0101<<5)|0)) + 12|0); + HEAP32[$34>>2] = $33; + $35 = (((($27) + ($$0101<<5)|0)) + 16|0); + HEAP32[$35>>2] = 10; + $36 = (($$090100) + 1)|0; + $37 = (($36) + ($33))|0; + $38 = ($37|0)<($9|0); + $39 = (($$09299) + 1)|0; + if ($38) { + $$191 = $37;$$193 = $$09299; + } else { + $40 = ($39*11)|0; + $41 = (($40) + 1)|0; + $42 = (($33) + 2)|0; + HEAP32[$28>>2] = 1; + HEAP32[$31>>2] = $41; + $$191 = $42;$$193 = $39; + } + $43 = (((($27) + ($$0101<<5)|0)) + 20|0); + HEAP32[$43>>2] = 0; + $44 = (((($27) + ($$0101<<5)|0)) + 24|0); + HEAP32[$44>>2] = 0; + $45 = (((($27) + ($$0101<<5)|0)) + 28|0); + HEAP32[$45>>2] = 0; + $46 = (($$0101) + 1)|0; + $47 = ($46|0)<($10|0); + if ($47) { + $$0101 = $46;$$090100 = $$191;$$09299 = $$193;$27 = $11; + } else { + $$lcssa = $11; + break; + } + } + $22 = ((($$lcssa)) + 16|0); + $23 = HEAP32[$22>>2]|0; + HEAP32[(21204)>>2] = $23; + $24 = HEAP32[5296]|0; + HEAP32[$vararg_buffer>>2] = $24; + _TraceLog(0,6099,$vararg_buffer); + STACKTOP = sp;return; +} +function _InitTimer() { + var $0 = 0, $1 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (_time((0|0))|0); + _srand($0); + $1 = (+_GetTime()); + HEAPF64[2471] = $1; + return; +} +function _EmscriptenFullscreenChangeCallback($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer4 = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, $vararg_ptr9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $vararg_buffer4 = sp + 16|0; + $vararg_buffer = sp; + $3 = HEAP32[$1>>2]|0; + $4 = ($3|0)==(0); + $5 = ((($1)) + 264|0); + $6 = HEAP32[$5>>2]|0; + $7 = ((($1)) + 268|0); + $8 = HEAP32[$7>>2]|0; + $9 = ((($1)) + 272|0); + $10 = HEAP32[$9>>2]|0; + $11 = ((($1)) + 276|0); + $12 = HEAP32[$11>>2]|0; + if ($4) { + HEAP32[$vararg_buffer4>>2] = $6; + $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); + HEAP32[$vararg_ptr7>>2] = $8; + $vararg_ptr8 = ((($vararg_buffer4)) + 8|0); + HEAP32[$vararg_ptr8>>2] = $10; + $vararg_ptr9 = ((($vararg_buffer4)) + 12|0); + HEAP32[$vararg_ptr9>>2] = $12; + _TraceLog(0,6032,$vararg_buffer4); + STACKTOP = sp;return 0; + } else { + HEAP32[$vararg_buffer>>2] = $6; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $8; + $vararg_ptr2 = ((($vararg_buffer)) + 8|0); + HEAP32[$vararg_ptr2>>2] = $10; + $vararg_ptr3 = ((($vararg_buffer)) + 12|0); + HEAP32[$vararg_ptr3>>2] = $12; + _TraceLog(0,5963,$vararg_buffer); + STACKTOP = sp;return 0; + } + return (0)|0; +} +function _EmscriptenKeyboardCallback($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ($0|0)==(1); + if (!($3)) { + return 0; + } + $4 = ((($1)) + 32|0); + $5 = (_strcmp($4,5956)|0); + $6 = ($5|0)==(0); + if (!($6)) { + return 0; + } + (_emscripten_exit_pointerlock()|0); + return 0; +} +function _EmscriptenMouseCallback($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var label = 0, sp = 0; + sp = STACKTOP; + return 0; +} +function _EmscriptenTouchCallback($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$byval_copy = 0, $$sink = 0, $$sroa$0$0$$sroa_idx = 0, $$sroa$03$0$$sroa_idx = 0, $$sroa$2$0$$sroa_idx2 = 0, $$sroa$24$0$$sroa_idx5 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0.0, $18 = 0, $19 = 0, $20 = 0.0, $21 = 0, $22 = 0, $23 = 0.0; + var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; + var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0.0, $48 = 0.0, $49 = 0.0, $5 = 0, $50 = 0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0, $59 = 0.0, $6 = 0; + var $60 = 0.0, $61 = 0.0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0); + $$byval_copy = sp + 56|0; + $3 = sp; + switch ($0|0) { + case 22: { + $$sink = 1; + label = 4; + break; + } + case 23: { + $$sink = 0; + label = 4; + break; + } + case 24: { + $$sink = 2; + label = 4; + break; + } + default: { + } + } + if ((label|0) == 4) { + HEAP32[$3>>2] = $$sink; + } + $4 = HEAP32[$1>>2]|0; + $5 = ((($3)) + 4|0); + HEAP32[$5>>2] = $4; + $6 = ((($1)) + 20|0); + $7 = HEAP32[$6>>2]|0; + $8 = ((($3)) + 8|0); + HEAP32[$8>>2] = $7; + $9 = ((($1)) + 72|0); + $10 = HEAP32[$9>>2]|0; + $11 = ((($3)) + 12|0); + HEAP32[$11>>2] = $10; + $12 = ((($1)) + 56|0); + $13 = HEAP32[$12>>2]|0; + $14 = (+($13|0)); + $15 = ((($1)) + 60|0); + $16 = HEAP32[$15>>2]|0; + $17 = (+($16|0)); + $$sroa$03$0$$sroa_idx = ((($3)) + 24|0); + HEAPF32[$$sroa$03$0$$sroa_idx>>2] = $14; + $$sroa$24$0$$sroa_idx5 = ((($3)) + 28|0); + HEAPF32[$$sroa$24$0$$sroa_idx5>>2] = $17; + $18 = ((($1)) + 108|0); + $19 = HEAP32[$18>>2]|0; + $20 = (+($19|0)); + $21 = ((($1)) + 112|0); + $22 = HEAP32[$21>>2]|0; + $23 = (+($22|0)); + $$sroa$0$0$$sroa_idx = ((($3)) + 32|0); + HEAPF32[$$sroa$0$0$$sroa_idx>>2] = $20; + $$sroa$2$0$$sroa_idx2 = ((($3)) + 36|0); + HEAPF32[$$sroa$2$0$$sroa_idx2>>2] = $23; + $24 = ((($3)) + 24|0); + $25 = $24; + $26 = $25; + $27 = HEAP32[$26>>2]|0; + $28 = (($25) + 4)|0; + $29 = $28; + $30 = HEAP32[$29>>2]|0; + $31 = 19752; + $32 = $31; + HEAP32[$32>>2] = $27; + $33 = (($31) + 4)|0; + $34 = $33; + HEAP32[$34>>2] = $30; + $35 = ((($3)) + 32|0); + $36 = $35; + $37 = $36; + $38 = HEAP32[$37>>2]|0; + $39 = (($36) + 4)|0; + $40 = $39; + $41 = HEAP32[$40>>2]|0; + $42 = (19760); + $43 = $42; + HEAP32[$43>>2] = $38; + $44 = (($42) + 4)|0; + $45 = $44; + HEAP32[$45>>2] = $41; + $46 = (_GetScreenWidth()|0); + $47 = (+($46|0)); + $48 = +HEAPF32[$24>>2]; + $49 = $48 / $47; + HEAPF32[$24>>2] = $49; + $50 = (_GetScreenHeight()|0); + $51 = (+($50|0)); + $52 = +HEAPF32[$$sroa$24$0$$sroa_idx5>>2]; + $53 = $52 / $51; + HEAPF32[$$sroa$24$0$$sroa_idx5>>2] = $53; + $54 = (_GetScreenWidth()|0); + $55 = (+($54|0)); + $56 = +HEAPF32[$35>>2]; + $57 = $56 / $55; + HEAPF32[$35>>2] = $57; + $58 = (_GetScreenHeight()|0); + $59 = (+($58|0)); + $60 = +HEAPF32[$$sroa$2$0$$sroa_idx2>>2]; + $61 = $60 / $59; + HEAPF32[$$sroa$2$0$$sroa_idx2>>2] = $61; + dest=$$byval_copy; src=$3; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _ProcessGestureEvent($$byval_copy); + STACKTOP = sp;return 1; +} +function _EmscriptenGamepadCallback($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$sink = 0, $10 = 0, $11 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ((($1)) + 1296|0); + $4 = HEAP32[$3>>2]|0; + $5 = ($4|0)==(0); + if ($5) { + label = 3; + } else { + $6 = ((($1)) + 1300|0); + $7 = HEAP32[$6>>2]|0; + $8 = ($7|0)<(4); + if ($8) { + $$sink = 1; + } else { + label = 3; + } + } + if ((label|0) == 3) { + $$sink = 0; + } + $9 = ((($1)) + 1300|0); + $10 = HEAP32[$9>>2]|0; + $11 = (21168 + ($10<<2)|0); + HEAP32[$11>>2] = $$sink; + return 0; +} +function _SetTargetFPS($0) { + $0 = $0|0; + var $$ = 0.0, $$op = 0.0, $1 = 0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $vararg_buffer = sp; + $1 = ($0|0)<(1); + $2 = (+($0|0)); + $3 = 1.0 / $2; + $$ = $1 ? 0.0 : $3; + HEAPF64[2468] = $$; + $4 = $3; + $$op = $4 * 1000.0; + $5 = $$op; + $6 = $1 ? 0.0 : $5; + HEAPF64[$vararg_buffer>>3] = $6; + _TraceLog(0,5912,$vararg_buffer); + STACKTOP = sp;return; +} +function _LogoAnimation() { + var label = 0, sp = 0; + sp = STACKTOP; + HEAP32[5291] = 0; + return; +} +function _GetTime() { + var $0 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (+_glfwGetTime()); + return (+$0); +} +function _LoadImageEx($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$03334 = 0, $$035 = 0, $$sroa$12$0$$sroa_idx21 = 0, $$sroa$15$0$$sroa_idx24 = 0, $$sroa$16$0$$sroa_idx26 = 0, $$sroa$9$0$$sroa_idx18 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; + var $24 = 0, $25 = 0, $26 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, label = 0, sp = 0; + sp = STACKTOP; + $4 = $2 << 2; + $5 = Math_imul($4, $3)|0; + $6 = (_malloc($5)|0); + $7 = ($5|0)>(0); + if ($7) { + $8 = (($5) + -1)|0; + $9 = $8 >>> 2; + $$03334 = 0;$$035 = 0; + while(1) { + $10 = (($1) + ($$03334<<2)|0); + $11 = HEAP8[$10>>0]|0; + $12 = (($6) + ($$035)|0); + HEAP8[$12>>0] = $11; + $13 = (((($1) + ($$03334<<2)|0)) + 1|0); + $14 = HEAP8[$13>>0]|0; + $15 = $$035 | 1; + $16 = (($6) + ($15)|0); + HEAP8[$16>>0] = $14; + $17 = (((($1) + ($$03334<<2)|0)) + 2|0); + $18 = HEAP8[$17>>0]|0; + $19 = $$035 | 2; + $20 = (($6) + ($19)|0); + HEAP8[$20>>0] = $18; + $21 = (((($1) + ($$03334<<2)|0)) + 3|0); + $22 = HEAP8[$21>>0]|0; + $23 = $$035 | 3; + $24 = (($6) + ($23)|0); + HEAP8[$24>>0] = $22; + $25 = (($$03334) + 1)|0; + $26 = (($$035) + 4)|0; + $exitcond = ($$03334|0)==($9|0); + if ($exitcond) { + break; + } else { + $$03334 = $25;$$035 = $26; + } + } + } + HEAP32[$0>>2] = $6; + $$sroa$9$0$$sroa_idx18 = ((($0)) + 4|0); + HEAP32[$$sroa$9$0$$sroa_idx18>>2] = $2; + $$sroa$12$0$$sroa_idx21 = ((($0)) + 8|0); + HEAP32[$$sroa$12$0$$sroa_idx21>>2] = $3; + $$sroa$15$0$$sroa_idx24 = ((($0)) + 12|0); + HEAP32[$$sroa$15$0$$sroa_idx24>>2] = 1; + $$sroa$16$0$$sroa_idx26 = ((($0)) + 16|0); + HEAP32[$$sroa$16$0$$sroa_idx26>>2] = 7; + return; +} +function _ImageFormat($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0166199 = 0, $$0167197 = 0, $$0168195 = 0, $$0169192 = 0, $$0170190 = 0, $$0171188 = 0, $$0172189 = 0, $$0202 = 0, $$1194 = 0, $$2201 = 0, $$byval_copy = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0.0, $103 = 0.0, $104 = 0.0, $105 = 0, $106 = 0, $107 = 0; + var $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0; + var $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0; + var $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0; + var $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0.0, $17 = 0, $170 = 0.0, $171 = 0.0, $172 = 0, $173 = 0, $174 = 0, $175 = 0.0, $176 = 0.0, $177 = 0.0, $178 = 0, $179 = 0, $18 = 0; + var $180 = 0, $181 = 0.0, $182 = 0.0, $183 = 0.0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0.0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0; + var $199 = 0, $2 = 0, $20 = 0.0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0; + var $216 = 0, $217 = 0, $218 = 0.0, $219 = 0.0, $22 = 0, $220 = 0.0, $221 = 0, $222 = 0, $223 = 0, $224 = 0.0, $225 = 0.0, $226 = 0.0, $227 = 0, $228 = 0, $229 = 0, $23 = 0.0, $230 = 0.0, $231 = 0.0, $232 = 0.0, $233 = 0; + var $234 = 0, $235 = 0, $236 = 0.0, $237 = 0.0, $238 = 0.0, $239 = 0, $24 = 0.0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0.0, $250 = 0, $251 = 0; + var $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0; + var $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0.0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0; + var $289 = 0, $29 = 0.0, $290 = 0, $3 = 0, $30 = 0.0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0.0, $53 = 0.0, $54 = 0, $55 = 0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0, $6 = 0, $60 = 0, $61 = 0.0, $62 = 0.0; + var $63 = 0.0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0; + var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0.0, $91 = 0.0, $92 = 0.0, $93 = 0, $94 = 0, $95 = 0, $96 = 0.0, $97 = 0.0, $98 = 0.0, $99 = 0; + var $or$cond = 0, $roundf = 0.0, $roundf173 = 0.0, $roundf174 = 0.0, $roundf175 = 0.0, $roundf176 = 0.0, $roundf177 = 0.0, $roundf178 = 0.0, $roundf179 = 0.0, $roundf180 = 0.0, $roundf181 = 0.0, $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $$byval_copy = sp + 4|0; + $vararg_buffer = sp; + $2 = ((($0)) + 16|0); + $3 = HEAP32[$2>>2]|0; + $4 = ($3|0)==($1|0); + if ($4) { + STACKTOP = sp;return; + } + $5 = ($3|0)<(8); + $6 = ($1|0)<(8); + $or$cond = $6 & $5; + if (!($or$cond)) { + _TraceLog(1,6522,$vararg_buffer); + STACKTOP = sp;return; + } + ;HEAP32[$$byval_copy>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$0+16>>2]|0; + $7 = (_GetImageData($$byval_copy)|0); + $8 = HEAP32[$0>>2]|0; + _free($8); + HEAP32[$2>>2] = $1; + switch ($1|0) { + case 1: { + $9 = ((($0)) + 4|0); + $10 = HEAP32[$9>>2]|0; + $11 = ((($0)) + 8|0); + $12 = HEAP32[$11>>2]|0; + $13 = Math_imul($12, $10)|0; + $14 = (_malloc($13)|0); + HEAP32[$0>>2] = $14; + $15 = Math_imul($12, $10)|0; + $16 = ($15|0)>(0); + if ($16) { + $$0171188 = 0; + while(1) { + $17 = (($7) + ($$0171188<<2)|0); + $18 = HEAP8[$17>>0]|0; + $19 = (+($18&255)); + $20 = $19 * 0.29899999499320984; + $21 = (((($7) + ($$0171188<<2)|0)) + 1|0); + $22 = HEAP8[$21>>0]|0; + $23 = (+($22&255)); + $24 = $23 * 0.58700001239776611; + $25 = $20 + $24; + $26 = (((($7) + ($$0171188<<2)|0)) + 2|0); + $27 = HEAP8[$26>>0]|0; + $28 = (+($27&255)); + $29 = $28 * 0.11400000005960464; + $30 = $25 + $29; + $31 = (~~(($30))&255); + $32 = HEAP32[$0>>2]|0; + $33 = (($32) + ($$0171188)|0); + HEAP8[$33>>0] = $31; + $34 = (($$0171188) + 1)|0; + $35 = HEAP32[$9>>2]|0; + $36 = HEAP32[$11>>2]|0; + $37 = Math_imul($36, $35)|0; + $38 = ($34|0)<($37|0); + if ($38) { + $$0171188 = $34; + } else { + break; + } + } + } + break; + } + case 2: { + $39 = ((($0)) + 4|0); + $40 = HEAP32[$39>>2]|0; + $41 = ((($0)) + 8|0); + $42 = HEAP32[$41>>2]|0; + $43 = $40 << 1; + $44 = Math_imul($43, $42)|0; + $45 = (_malloc($44)|0); + HEAP32[$0>>2] = $45; + $46 = HEAP32[$39>>2]|0; + $47 = $46 << 1; + $48 = Math_imul($47, $42)|0; + $49 = ($48|0)>(0); + if ($49) { + $$0170190 = 0;$$0172189 = 0; + while(1) { + $50 = (($7) + ($$0172189<<2)|0); + $51 = HEAP8[$50>>0]|0; + $52 = (+($51&255)); + $53 = $52 * 0.29899999499320984; + $54 = (((($7) + ($$0172189<<2)|0)) + 1|0); + $55 = HEAP8[$54>>0]|0; + $56 = (+($55&255)); + $57 = $56 * 0.58700001239776611; + $58 = $53 + $57; + $59 = (((($7) + ($$0172189<<2)|0)) + 2|0); + $60 = HEAP8[$59>>0]|0; + $61 = (+($60&255)); + $62 = $61 * 0.11400000005960464; + $63 = $58 + $62; + $64 = (~~(($63))&255); + $65 = HEAP32[$0>>2]|0; + $66 = (($65) + ($$0170190)|0); + HEAP8[$66>>0] = $64; + $67 = (((($7) + ($$0172189<<2)|0)) + 3|0); + $68 = HEAP8[$67>>0]|0; + $69 = HEAP32[$0>>2]|0; + $70 = $$0170190 | 1; + $71 = (($69) + ($70)|0); + HEAP8[$71>>0] = $68; + $72 = (($$0172189) + 1)|0; + $73 = (($$0170190) + 2)|0; + $74 = HEAP32[$39>>2]|0; + $75 = HEAP32[$41>>2]|0; + $76 = $74 << 1; + $77 = Math_imul($76, $75)|0; + $78 = ($73|0)<($77|0); + if ($78) { + $$0170190 = $73;$$0172189 = $72; + } else { + break; + } + } + } + break; + } + case 3: { + $79 = ((($0)) + 4|0); + $80 = HEAP32[$79>>2]|0; + $81 = ((($0)) + 8|0); + $82 = HEAP32[$81>>2]|0; + $83 = $80 << 1; + $84 = Math_imul($83, $82)|0; + $85 = (_malloc($84)|0); + HEAP32[$0>>2] = $85; + $86 = HEAP32[$79>>2]|0; + $87 = Math_imul($82, $86)|0; + $88 = ($87|0)>(0); + if ($88) { + $89 = HEAP8[$7>>0]|0; + $90 = (+($89&255)); + $91 = $90 * 31.0; + $92 = $91 / 255.0; + $roundf179 = (+_roundf((+$92))); + $93 = (~~(($roundf179))&255); + $94 = ((($7)) + 1|0); + $95 = HEAP8[$94>>0]|0; + $96 = (+($95&255)); + $97 = $96 * 63.0; + $98 = $97 / 255.0; + $roundf180 = (+_roundf((+$98))); + $99 = (~~(($roundf180))&255); + $100 = ((($7)) + 2|0); + $101 = HEAP8[$100>>0]|0; + $102 = (+($101&255)); + $103 = $102 * 31.0; + $104 = $103 / 255.0; + $roundf181 = (+_roundf((+$104))); + $105 = (~~(($roundf181))&255); + $106 = $93&255; + $107 = $106 << 11; + $108 = $99&255; + $109 = $108 << 5; + $110 = $109 | $107; + $111 = $105&255; + $112 = $110 | $111; + $113 = $112&65535; + $114 = HEAP32[$0>>2]|0; + $115 = HEAP32[$79>>2]|0; + $116 = HEAP32[$81>>2]|0; + $117 = Math_imul($116, $115)|0; + $$0169192 = 0; + while(1) { + $118 = (($114) + ($$0169192<<1)|0); + HEAP16[$118>>1] = $113; + $119 = (($$0169192) + 1)|0; + $120 = ($119|0)<($117|0); + if ($120) { + $$0169192 = $119; + } else { + break; + } + } + } + break; + } + case 4: { + $121 = ((($0)) + 4|0); + $122 = HEAP32[$121>>2]|0; + $123 = ((($0)) + 8|0); + $124 = HEAP32[$123>>2]|0; + $125 = ($122*3)|0; + $126 = Math_imul($125, $124)|0; + $127 = (_malloc($126)|0); + HEAP32[$0>>2] = $127; + $128 = HEAP32[$121>>2]|0; + $129 = ($128*3)|0; + $130 = Math_imul($129, $124)|0; + $131 = ($130|0)>(0); + if ($131) { + $$0168195 = 0;$$1194 = 0; + while(1) { + $132 = (($7) + ($$1194<<2)|0); + $133 = HEAP8[$132>>0]|0; + $134 = HEAP32[$0>>2]|0; + $135 = (($134) + ($$0168195)|0); + HEAP8[$135>>0] = $133; + $136 = (((($7) + ($$1194<<2)|0)) + 1|0); + $137 = HEAP8[$136>>0]|0; + $138 = HEAP32[$0>>2]|0; + $139 = (($$0168195) + 1)|0; + $140 = (($138) + ($139)|0); + HEAP8[$140>>0] = $137; + $141 = (((($7) + ($$1194<<2)|0)) + 2|0); + $142 = HEAP8[$141>>0]|0; + $143 = HEAP32[$0>>2]|0; + $144 = (($$0168195) + 2)|0; + $145 = (($143) + ($144)|0); + HEAP8[$145>>0] = $142; + $146 = (($$1194) + 1)|0; + $147 = (($$0168195) + 3)|0; + $148 = HEAP32[$121>>2]|0; + $149 = HEAP32[$123>>2]|0; + $150 = ($148*3)|0; + $151 = Math_imul($150, $149)|0; + $152 = ($147|0)<($151|0); + if ($152) { + $$0168195 = $147;$$1194 = $146; + } else { + break; + } + } + } + break; + } + case 5: { + $153 = ((($0)) + 4|0); + $154 = HEAP32[$153>>2]|0; + $155 = ((($0)) + 8|0); + $156 = HEAP32[$155>>2]|0; + $157 = $154 << 1; + $158 = Math_imul($157, $156)|0; + $159 = (_malloc($158)|0); + HEAP32[$0>>2] = $159; + $160 = HEAP32[$153>>2]|0; + $161 = Math_imul($156, $160)|0; + $162 = ($161|0)>(0); + if ($162) { + $163 = HEAP32[$0>>2]|0; + $164 = HEAP32[$153>>2]|0; + $165 = HEAP32[$155>>2]|0; + $166 = Math_imul($165, $164)|0; + $$0167197 = 0; + while(1) { + $167 = (($7) + ($$0167197<<2)|0); + $168 = HEAP8[$167>>0]|0; + $169 = (+($168&255)); + $170 = $169 * 31.0; + $171 = $170 / 255.0; + $roundf176 = (+_roundf((+$171))); + $172 = (~~(($roundf176))&255); + $173 = (((($7) + ($$0167197<<2)|0)) + 1|0); + $174 = HEAP8[$173>>0]|0; + $175 = (+($174&255)); + $176 = $175 * 31.0; + $177 = $176 / 255.0; + $roundf177 = (+_roundf((+$177))); + $178 = (~~(($roundf177))&255); + $179 = (((($7) + ($$0167197<<2)|0)) + 2|0); + $180 = HEAP8[$179>>0]|0; + $181 = (+($180&255)); + $182 = $181 * 31.0; + $183 = $182 / 255.0; + $roundf178 = (+_roundf((+$183))); + $184 = (~~(($roundf178))&255); + $185 = (((($7) + ($$0167197<<2)|0)) + 3|0); + $186 = HEAP8[$185>>0]|0; + $187 = ($186&255)>(50); + $188 = $172&255; + $189 = $188 << 11; + $190 = $178&255; + $191 = $190 << 6; + $192 = $191 | $189; + $193 = $184&255; + $194 = $193 << 1; + $195 = $192 | $194; + $196 = $187&1; + $197 = $195 | $196; + $198 = $197&65535; + $199 = (($163) + ($$0167197<<1)|0); + HEAP16[$199>>1] = $198; + $200 = (($$0167197) + 1)|0; + $201 = ($200|0)<($166|0); + if ($201) { + $$0167197 = $200; + } else { + break; + } + } + } + break; + } + case 6: { + $202 = ((($0)) + 4|0); + $203 = HEAP32[$202>>2]|0; + $204 = ((($0)) + 8|0); + $205 = HEAP32[$204>>2]|0; + $206 = $203 << 1; + $207 = Math_imul($206, $205)|0; + $208 = (_malloc($207)|0); + HEAP32[$0>>2] = $208; + $209 = HEAP32[$202>>2]|0; + $210 = Math_imul($205, $209)|0; + $211 = ($210|0)>(0); + if ($211) { + $212 = HEAP32[$0>>2]|0; + $213 = HEAP32[$202>>2]|0; + $214 = HEAP32[$204>>2]|0; + $215 = Math_imul($214, $213)|0; + $$0166199 = 0; + while(1) { + $216 = (($7) + ($$0166199<<2)|0); + $217 = HEAP8[$216>>0]|0; + $218 = (+($217&255)); + $219 = $218 * 15.0; + $220 = $219 / 255.0; + $roundf = (+_roundf((+$220))); + $221 = (~~(($roundf))&255); + $222 = (((($7) + ($$0166199<<2)|0)) + 1|0); + $223 = HEAP8[$222>>0]|0; + $224 = (+($223&255)); + $225 = $224 * 15.0; + $226 = $225 / 255.0; + $roundf173 = (+_roundf((+$226))); + $227 = (~~(($roundf173))&255); + $228 = (((($7) + ($$0166199<<2)|0)) + 2|0); + $229 = HEAP8[$228>>0]|0; + $230 = (+($229&255)); + $231 = $230 * 15.0; + $232 = $231 / 255.0; + $roundf174 = (+_roundf((+$232))); + $233 = (~~(($roundf174))&255); + $234 = (((($7) + ($$0166199<<2)|0)) + 3|0); + $235 = HEAP8[$234>>0]|0; + $236 = (+($235&255)); + $237 = $236 * 15.0; + $238 = $237 / 255.0; + $roundf175 = (+_roundf((+$238))); + $239 = (~~(($roundf175))&255); + $240 = $221&255; + $241 = $240 << 12; + $242 = $227&255; + $243 = $242 << 8; + $244 = $243 | $241; + $245 = $233&255; + $246 = $245 << 4; + $247 = $244 | $246; + $248 = $239&255; + $249 = $247 | $248; + $250 = $249&65535; + $251 = (($212) + ($$0166199<<1)|0); + HEAP16[$251>>1] = $250; + $252 = (($$0166199) + 1)|0; + $253 = ($252|0)<($215|0); + if ($253) { + $$0166199 = $252; + } else { + break; + } + } + } + break; + } + case 7: { + $254 = ((($0)) + 4|0); + $255 = HEAP32[$254>>2]|0; + $256 = ((($0)) + 8|0); + $257 = HEAP32[$256>>2]|0; + $258 = $255 << 2; + $259 = Math_imul($258, $257)|0; + $260 = (_malloc($259)|0); + HEAP32[$0>>2] = $260; + $261 = HEAP32[$254>>2]|0; + $262 = $261 << 2; + $263 = Math_imul($262, $257)|0; + $264 = ($263|0)>(0); + if ($264) { + $$0202 = 0;$$2201 = 0; + while(1) { + $265 = (($7) + ($$2201<<2)|0); + $266 = HEAP8[$265>>0]|0; + $267 = HEAP32[$0>>2]|0; + $268 = (($267) + ($$0202)|0); + HEAP8[$268>>0] = $266; + $269 = (((($7) + ($$2201<<2)|0)) + 1|0); + $270 = HEAP8[$269>>0]|0; + $271 = HEAP32[$0>>2]|0; + $272 = $$0202 | 1; + $273 = (($271) + ($272)|0); + HEAP8[$273>>0] = $270; + $274 = (((($7) + ($$2201<<2)|0)) + 2|0); + $275 = HEAP8[$274>>0]|0; + $276 = HEAP32[$0>>2]|0; + $277 = $$0202 | 2; + $278 = (($276) + ($277)|0); + HEAP8[$278>>0] = $275; + $279 = (((($7) + ($$2201<<2)|0)) + 3|0); + $280 = HEAP8[$279>>0]|0; + $281 = HEAP32[$0>>2]|0; + $282 = $$0202 | 3; + $283 = (($281) + ($282)|0); + HEAP8[$283>>0] = $280; + $284 = (($$2201) + 1)|0; + $285 = (($$0202) + 4)|0; + $286 = HEAP32[$254>>2]|0; + $287 = HEAP32[$256>>2]|0; + $288 = $286 << 2; + $289 = Math_imul($288, $287)|0; + $290 = ($285|0)<($289|0); + if ($290) { + $$0202 = $285;$$2201 = $284; + } else { + break; + } + } + } + break; + } + default: { + } + } + _free($7); + STACKTOP = sp;return; +} +function _LoadTextureFromImage($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$sroa$10$0$$sroa_idx6 = 0, $$sroa$12$0$$sroa_idx8 = 0, $$sroa$6$0$$sroa_idx2 = 0, $$sroa$8$0$$sroa_idx4 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0; + var $vararg_ptr4 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $vararg_buffer = sp; + $2 = HEAP32[$1>>2]|0; + $3 = ((($1)) + 4|0); + $4 = HEAP32[$3>>2]|0; + $5 = ((($1)) + 8|0); + $6 = HEAP32[$5>>2]|0; + $7 = ((($1)) + 16|0); + $8 = HEAP32[$7>>2]|0; + $9 = ((($1)) + 12|0); + $10 = HEAP32[$9>>2]|0; + $11 = (_rlglLoadTexture($2,$4,$6,$8,$10)|0); + $12 = HEAP32[$3>>2]|0; + $13 = HEAP32[$5>>2]|0; + HEAP32[$vararg_buffer>>2] = $11; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $12; + $vararg_ptr2 = ((($vararg_buffer)) + 8|0); + HEAP32[$vararg_ptr2>>2] = $13; + $vararg_ptr3 = ((($vararg_buffer)) + 12|0); + HEAP32[$vararg_ptr3>>2] = $10; + $vararg_ptr4 = ((($vararg_buffer)) + 16|0); + HEAP32[$vararg_ptr4>>2] = $8; + _TraceLog(0,6144,$vararg_buffer); + HEAP32[$0>>2] = $11; + $$sroa$6$0$$sroa_idx2 = ((($0)) + 4|0); + HEAP32[$$sroa$6$0$$sroa_idx2>>2] = $12; + $$sroa$8$0$$sroa_idx4 = ((($0)) + 8|0); + HEAP32[$$sroa$8$0$$sroa_idx4>>2] = $13; + $$sroa$10$0$$sroa_idx6 = ((($0)) + 12|0); + HEAP32[$$sroa$10$0$$sroa_idx6>>2] = $10; + $$sroa$12$0$$sroa_idx8 = ((($0)) + 16|0); + HEAP32[$$sroa$12$0$$sroa_idx8>>2] = $8; + STACKTOP = sp;return; +} +function _UnloadImage($0) { + $0 = $0|0; + var $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP32[$0>>2]|0; + _free($1); + return; +} +function _rlglLoadTexture($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$0 = 0, $$off = 0, $$off92 = 0, $$off93 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; + var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; + var $46 = 0, $47 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond100 = 0, $or$cond7 = 0, $or$cond96 = 0, $or$cond98 = 0, $switch = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer11 = 0, $vararg_buffer15 = 0, $vararg_buffer3 = 0, $vararg_buffer5 = 0, $vararg_buffer7 = 0; + var $vararg_buffer9 = 0, $vararg_ptr13 = 0, $vararg_ptr14 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0); + $vararg_buffer15 = sp + 64|0; + $vararg_buffer11 = sp + 48|0; + $vararg_buffer9 = sp + 40|0; + $vararg_buffer7 = sp + 32|0; + $vararg_buffer5 = sp + 24|0; + $vararg_buffer3 = sp + 16|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $5 = sp + 68|0; + _glBindTexture(3553,0); + HEAP32[$5>>2] = 0; + $6 = HEAP32[5304]|0; + $7 = ($6|0)==(0); + $8 = $3 & -4; + $switch = ($8|0)==(8); + $or$cond100 = $switch & $7; + if ($or$cond100) { + _TraceLog(1,6191,$vararg_buffer); + $$0 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($$0|0); + } + $9 = HEAP32[5305]|0; + $10 = ($9|0)==(0); + $11 = ($3|0)==(12); + $or$cond7 = $11 & $10; + if ($or$cond7) { + _TraceLog(1,6235,$vararg_buffer1); + $$0 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($$0|0); + } + $12 = HEAP32[5306]|0; + $13 = ($12|0)==(0); + $$off = (($3) + -13)|0; + $14 = ($$off>>>0)<(2); + $or$cond = $14 & $13; + if ($or$cond) { + _TraceLog(1,6280,$vararg_buffer3); + $$0 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($$0|0); + } + $15 = HEAP32[5307]|0; + $16 = ($15|0)==(0); + $$off92 = (($3) + -15)|0; + $17 = ($$off92>>>0)<(2); + $or$cond96 = $17 & $16; + if ($or$cond96) { + _TraceLog(1,6325,$vararg_buffer5); + $$0 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($$0|0); + } + $18 = HEAP32[5308]|0; + $19 = ($18|0)==(0); + $$off93 = (($3) + -17)|0; + $20 = ($$off93>>>0)<(2); + $or$cond98 = $20 & $19; + if ($or$cond98) { + _TraceLog(1,6370,$vararg_buffer7); + $$0 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($$0|0); + } + _glGenTextures(1,($5|0)); + $21 = HEAP32[$5>>2]|0; + _glBindTexture(3553,($21|0)); + do { + switch ($3|0) { + case 1: { + _glTexImage2D(3553,0,6409,($1|0),($2|0),0,6409,5121,($0|0)); + break; + } + case 2: { + _glTexImage2D(3553,0,6410,($1|0),($2|0),0,6410,5121,($0|0)); + break; + } + case 3: { + _glTexImage2D(3553,0,6407,($1|0),($2|0),0,6407,33635,($0|0)); + break; + } + case 4: { + _glTexImage2D(3553,0,6407,($1|0),($2|0),0,6407,5121,($0|0)); + break; + } + case 5: { + _glTexImage2D(3553,0,6408,($1|0),($2|0),0,6408,32820,($0|0)); + break; + } + case 6: { + _glTexImage2D(3553,0,6408,($1|0),($2|0),0,6408,32819,($0|0)); + break; + } + case 7: { + _glTexImage2D(3553,0,6408,($1|0),($2|0),0,6408,5121,($0|0)); + break; + } + case 8: { + $22 = HEAP32[5304]|0; + $23 = ($22|0)==(0); + if (!($23)) { + _LoadCompressedTexture($0,$1,$2,$4,33776); + } + break; + } + case 9: { + $24 = HEAP32[5304]|0; + $25 = ($24|0)==(0); + if (!($25)) { + _LoadCompressedTexture($0,$1,$2,$4,33777); + } + break; + } + case 10: { + $26 = HEAP32[5304]|0; + $27 = ($26|0)==(0); + if (!($27)) { + _LoadCompressedTexture($0,$1,$2,$4,33778); + } + break; + } + case 11: { + $28 = HEAP32[5304]|0; + $29 = ($28|0)==(0); + if (!($29)) { + _LoadCompressedTexture($0,$1,$2,$4,33779); + } + break; + } + case 12: { + $30 = HEAP32[5305]|0; + $31 = ($30|0)==(0); + if (!($31)) { + _LoadCompressedTexture($0,$1,$2,$4,36196); + } + break; + } + case 13: { + $32 = HEAP32[5306]|0; + $33 = ($32|0)==(0); + if (!($33)) { + _LoadCompressedTexture($0,$1,$2,$4,37492); + } + break; + } + case 14: { + $34 = HEAP32[5306]|0; + $35 = ($34|0)==(0); + if (!($35)) { + _LoadCompressedTexture($0,$1,$2,$4,37496); + } + break; + } + case 15: { + $36 = HEAP32[5307]|0; + $37 = ($36|0)==(0); + if (!($37)) { + _LoadCompressedTexture($0,$1,$2,$4,35840); + } + break; + } + case 16: { + $38 = HEAP32[5307]|0; + $39 = ($38|0)==(0); + if (!($39)) { + _LoadCompressedTexture($0,$1,$2,$4,35842); + } + break; + } + case 17: { + $40 = HEAP32[5308]|0; + $41 = ($40|0)==(0); + if (!($41)) { + _LoadCompressedTexture($0,$1,$2,$4,37808); + } + break; + } + case 18: { + $42 = HEAP32[5308]|0; + $43 = ($42|0)==(0); + if (!($43)) { + _LoadCompressedTexture($0,$1,$2,$4,37815); + } + break; + } + default: { + _TraceLog(1,6415,$vararg_buffer9); + } + } + } while(0); + $44 = HEAP32[5309]|0; + $45 = ($44|0)==(0); + if ($45) { + _glTexParameteri(3553,10242,33071); + _glTexParameteri(3553,10243,33071); + } else { + _glTexParameteri(3553,10242,10497); + _glTexParameteri(3553,10243,10497); + } + _glTexParameteri(3553,10240,9728); + _glTexParameteri(3553,10241,9728); + _glBindTexture(3553,0); + $46 = HEAP32[$5>>2]|0; + $47 = ($46|0)==(0); + if ($47) { + _TraceLog(1,6493,$vararg_buffer15); + $$0 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($$0|0); + } else { + HEAP32[$vararg_buffer11>>2] = $46; + $vararg_ptr13 = ((($vararg_buffer11)) + 4|0); + HEAP32[$vararg_ptr13>>2] = $1; + $vararg_ptr14 = ((($vararg_buffer11)) + 8|0); + HEAP32[$vararg_ptr14>>2] = $2; + _TraceLog(0,6444,$vararg_buffer11); + $$0 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($$0|0); + } + return (0)|0; +} +function _LoadCompressedTexture($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$ = 0, $$03645 = 0, $$03744 = 0, $$038 = 0, $$03943 = 0, $$046 = 0, $$140 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0; + var $23 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond42 = 0, label = 0, sp = 0; + sp = STACKTOP; + _glPixelStorei(3317,1); + switch ($4|0) { + case 33776: case 33777: case 36196: case 37492: { + $$038 = 8; + break; + } + default: { + $$038 = 16; + } + } + $5 = ($3|0)<(1); + $6 = $1 | $2; + $7 = ($6|0)==(0); + $or$cond42 = $5 | $7; + if ($or$cond42) { + return; + } else { + $$03645 = 0;$$03744 = 0;$$03943 = $2;$$046 = $1; + } + while(1) { + $8 = (($$046) + 3)|0; + $9 = (($8|0) / 4)&-1; + $10 = (($$03943) + 3)|0; + $11 = (($10|0) / 4)&-1; + $12 = Math_imul($11, $$038)|0; + $13 = Math_imul($12, $9)|0; + $14 = (($0) + ($$03744)|0); + _glCompressedTexImage2D(3553,($$03645|0),($4|0),($$046|0),($$03943|0),0,($13|0),($14|0)); + $15 = (($13) + ($$03744))|0; + $16 = (($$046|0) / 2)&-1; + $17 = (($$03943|0) / 2)&-1; + $18 = ($$046|0)<(2); + $$ = $18 ? 1 : $16; + $19 = ($$03943|0)<(2); + $$140 = $19 ? 1 : $17; + $20 = (($$03645) + 1)|0; + $21 = ($20|0)>=($3|0); + $22 = $$ | $$140; + $23 = ($22|0)==(0); + $or$cond = $21 | $23; + if ($or$cond) { + break; + } else { + $$03645 = $20;$$03744 = $15;$$03943 = $$140;$$046 = $$; + } + } + return; +} +function _GetImageData($0) { + $0 = $0|0; + var $$0104105 = 0, $$0106 = 0, $$1 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0.0, $103 = 0.0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0; + var $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0; + var $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; + var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0.0, $4 = 0, $40 = 0.0, $41 = 0; + var $42 = 0, $43 = 0, $44 = 0, $45 = 0.0, $46 = 0.0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0.0, $52 = 0.0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0; + var $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0.0, $65 = 0.0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0.0, $71 = 0.0, $72 = 0, $73 = 0, $74 = 0, $75 = 0.0, $76 = 0.0, $77 = 0, $78 = 0; + var $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0.0, $86 = 0.0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0.0, $92 = 0.0, $93 = 0, $94 = 0, $95 = 0, $96 = 0; + var $97 = 0.0, $98 = 0.0, $99 = 0, $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $vararg_buffer = sp; + $1 = ((($0)) + 4|0); + $2 = HEAP32[$1>>2]|0; + $3 = ((($0)) + 8|0); + $4 = HEAP32[$3>>2]|0; + $5 = $2 << 2; + $6 = Math_imul($5, $4)|0; + $7 = (_malloc($6)|0); + $8 = HEAP32[$1>>2]|0; + $9 = Math_imul($4, $8)|0; + $10 = ($9|0)>(0); + if (!($10)) { + STACKTOP = sp;return ($7|0); + } + $11 = ((($0)) + 16|0); + $12 = HEAP32[$11>>2]|0; + $13 = HEAP32[$0>>2]|0; + $$0104105 = 0;$$0106 = 0; + while(1) { + switch ($12|0) { + case 1: { + $14 = (($13) + ($$0106)|0); + $15 = HEAP8[$14>>0]|0; + $16 = (($7) + ($$0104105<<2)|0); + HEAP8[$16>>0] = $15; + $17 = HEAP8[$14>>0]|0; + $18 = (((($7) + ($$0104105<<2)|0)) + 1|0); + HEAP8[$18>>0] = $17; + $19 = HEAP8[$14>>0]|0; + $20 = (((($7) + ($$0104105<<2)|0)) + 2|0); + HEAP8[$20>>0] = $19; + $21 = (((($7) + ($$0104105<<2)|0)) + 3|0); + HEAP8[$21>>0] = -1; + $22 = (($$0106) + 1)|0; + $$1 = $22; + break; + } + case 2: { + $23 = (($13) + ($$0106)|0); + $24 = HEAP8[$23>>0]|0; + $25 = (($7) + ($$0104105<<2)|0); + HEAP8[$25>>0] = $24; + $26 = HEAP8[$23>>0]|0; + $27 = (((($7) + ($$0104105<<2)|0)) + 1|0); + HEAP8[$27>>0] = $26; + $28 = HEAP8[$23>>0]|0; + $29 = (((($7) + ($$0104105<<2)|0)) + 2|0); + HEAP8[$29>>0] = $28; + $30 = (($$0106) + 1)|0; + $31 = (($13) + ($30)|0); + $32 = HEAP8[$31>>0]|0; + $33 = (((($7) + ($$0104105<<2)|0)) + 3|0); + HEAP8[$33>>0] = $32; + $34 = (($$0106) + 2)|0; + $$1 = $34; + break; + } + case 5: { + $35 = (($13) + ($$0106<<1)|0); + $36 = HEAP16[$35>>1]|0; + $37 = $36&65535; + $38 = $37 >>> 11; + $39 = (+($38|0)); + $40 = $39 * 8.0; + $41 = (~~(($40))&255); + $42 = (($7) + ($$0104105<<2)|0); + HEAP8[$42>>0] = $41; + $43 = $37 >>> 6; + $44 = $43 & 31; + $45 = (+($44|0)); + $46 = $45 * 8.0; + $47 = (~~(($46))&255); + $48 = (((($7) + ($$0104105<<2)|0)) + 1|0); + HEAP8[$48>>0] = $47; + $49 = $37 >>> 1; + $50 = $49 & 31; + $51 = (+($50|0)); + $52 = $51 * 8.0; + $53 = (~~(($52))&255); + $54 = (((($7) + ($$0104105<<2)|0)) + 2|0); + HEAP8[$54>>0] = $53; + $55 = $37 & 1; + $56 = (0 - ($55))|0; + $57 = $56&255; + $58 = (((($7) + ($$0104105<<2)|0)) + 3|0); + HEAP8[$58>>0] = $57; + $59 = (($$0106) + 1)|0; + $$1 = $59; + break; + } + case 3: { + $60 = (($13) + ($$0106<<1)|0); + $61 = HEAP16[$60>>1]|0; + $62 = $61&65535; + $63 = $62 >>> 11; + $64 = (+($63|0)); + $65 = $64 * 8.0; + $66 = (~~(($65))&255); + $67 = (($7) + ($$0104105<<2)|0); + HEAP8[$67>>0] = $66; + $68 = $62 >>> 5; + $69 = $68 & 63; + $70 = (+($69|0)); + $71 = $70 * 4.0; + $72 = (~~(($71))&255); + $73 = (((($7) + ($$0104105<<2)|0)) + 1|0); + HEAP8[$73>>0] = $72; + $74 = $62 & 31; + $75 = (+($74|0)); + $76 = $75 * 8.0; + $77 = (~~(($76))&255); + $78 = (((($7) + ($$0104105<<2)|0)) + 2|0); + HEAP8[$78>>0] = $77; + $79 = (((($7) + ($$0104105<<2)|0)) + 3|0); + HEAP8[$79>>0] = -1; + $80 = (($$0106) + 1)|0; + $$1 = $80; + break; + } + case 6: { + $81 = (($13) + ($$0106<<1)|0); + $82 = HEAP16[$81>>1]|0; + $83 = $82&65535; + $84 = $83 >>> 12; + $85 = (+($84|0)); + $86 = $85 * 17.0; + $87 = (~~(($86))&255); + $88 = (($7) + ($$0104105<<2)|0); + HEAP8[$88>>0] = $87; + $89 = $83 >>> 8; + $90 = $89 & 15; + $91 = (+($90|0)); + $92 = $91 * 17.0; + $93 = (~~(($92))&255); + $94 = (((($7) + ($$0104105<<2)|0)) + 1|0); + HEAP8[$94>>0] = $93; + $95 = $83 >>> 4; + $96 = $95 & 15; + $97 = (+($96|0)); + $98 = $97 * 17.0; + $99 = (~~(($98))&255); + $100 = (((($7) + ($$0104105<<2)|0)) + 2|0); + HEAP8[$100>>0] = $99; + $101 = $83 & 15; + $102 = (+($101|0)); + $103 = $102 * 17.0; + $104 = (~~(($103))&255); + $105 = (((($7) + ($$0104105<<2)|0)) + 3|0); + HEAP8[$105>>0] = $104; + $106 = (($$0106) + 1)|0; + $$1 = $106; + break; + } + case 7: { + $107 = (($13) + ($$0106)|0); + $108 = HEAP8[$107>>0]|0; + $109 = (($7) + ($$0104105<<2)|0); + HEAP8[$109>>0] = $108; + $110 = (($$0106) + 1)|0; + $111 = (($13) + ($110)|0); + $112 = HEAP8[$111>>0]|0; + $113 = (((($7) + ($$0104105<<2)|0)) + 1|0); + HEAP8[$113>>0] = $112; + $114 = (($$0106) + 2)|0; + $115 = (($13) + ($114)|0); + $116 = HEAP8[$115>>0]|0; + $117 = (((($7) + ($$0104105<<2)|0)) + 2|0); + HEAP8[$117>>0] = $116; + $118 = (($$0106) + 3)|0; + $119 = (($13) + ($118)|0); + $120 = HEAP8[$119>>0]|0; + $121 = (((($7) + ($$0104105<<2)|0)) + 3|0); + HEAP8[$121>>0] = $120; + $122 = (($$0106) + 4)|0; + $$1 = $122; + break; + } + case 4: { + $123 = (($13) + ($$0106)|0); + $124 = HEAP8[$123>>0]|0; + $125 = (($7) + ($$0104105<<2)|0); + HEAP8[$125>>0] = $124; + $126 = (($$0106) + 1)|0; + $127 = (($13) + ($126)|0); + $128 = HEAP8[$127>>0]|0; + $129 = (((($7) + ($$0104105<<2)|0)) + 1|0); + HEAP8[$129>>0] = $128; + $130 = (($$0106) + 2)|0; + $131 = (($13) + ($130)|0); + $132 = HEAP8[$131>>0]|0; + $133 = (((($7) + ($$0104105<<2)|0)) + 2|0); + HEAP8[$133>>0] = $132; + $134 = (((($7) + ($$0104105<<2)|0)) + 3|0); + HEAP8[$134>>0] = -1; + $135 = (($$0106) + 3)|0; + $$1 = $135; + break; + } + default: { + _TraceLog(1,6576,$vararg_buffer); + $$1 = $$0106; + } + } + $136 = (($$0104105) + 1)|0; + $137 = HEAP32[$1>>2]|0; + $138 = HEAP32[$3>>2]|0; + $139 = Math_imul($138, $137)|0; + $140 = ($136|0)<($139|0); + if ($140) { + $$0104105 = $136;$$0106 = $$1; + } else { + break; + } + } + STACKTOP = sp;return ($7|0); +} +function _ErrorCallback($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $vararg_buffer = sp; + HEAP32[$vararg_buffer>>2] = $0; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $1; + _TraceLog(1,10442,$vararg_buffer); + STACKTOP = sp;return; +} +function _rlGetVersion() { + var label = 0, sp = 0; + sp = STACKTOP; + return 4; +} +function _SetupFramebufferSize($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$sink = 0, $$sink1 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0.0, $16 = 0, $17 = 0, $18 = 0.0, $19 = 0.0, $2 = 0, $20 = 0, $21 = 0, $22 = 0.0, $23 = 0, $24 = 0, $25 = 0, $26 = 0.0; + var $27 = 0, $28 = 0.0, $29 = 0.0, $3 = 0, $30 = 0, $31 = 0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0, $36 = 0.0, $37 = 0, $38 = 0.0, $39 = 0.0, $4 = 0, $40 = 0, $41 = 0.0, $42 = 0, $43 = 0, $44 = 0.0; + var $45 = 0, $46 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0, $or$cond = 0, $roundf = 0.0, $roundf38 = 0.0, $roundf39 = 0.0, $roundf40 = 0.0, $vararg_buffer = 0, $vararg_buffer4 = 0, $vararg_buffer8 = 0, $vararg_ptr1 = 0, $vararg_ptr11 = 0, $vararg_ptr12 = 0, $vararg_ptr13 = 0, $vararg_ptr2 = 0; + var $vararg_ptr3 = 0, $vararg_ptr7 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0); + $vararg_buffer8 = sp + 24|0; + $vararg_buffer4 = sp + 16|0; + $vararg_buffer = sp; + $2 = sp + 40|0; + $3 = HEAP32[5288]|0; + $4 = ($3|0)>($0|0); + if (!($4)) { + $5 = HEAP32[5287]|0; + $6 = ($5|0)>($1|0); + if (!($6)) { + $30 = ($3|0)<($0|0); + $31 = ($5|0)<($1|0); + $or$cond = $30 | $31; + if (!($or$cond)) { + HEAP32[5329] = $3; + HEAP32[5330] = $5; + HEAP32[5331] = 0; + HEAP32[5332] = 0; + STACKTOP = sp;return; + } + HEAP32[$vararg_buffer8>>2] = $3; + $vararg_ptr11 = ((($vararg_buffer8)) + 4|0); + HEAP32[$vararg_ptr11>>2] = $5; + $vararg_ptr12 = ((($vararg_buffer8)) + 8|0); + HEAP32[$vararg_ptr12>>2] = $0; + $vararg_ptr13 = ((($vararg_buffer8)) + 12|0); + HEAP32[$vararg_ptr13>>2] = $1; + _TraceLog(0,10376,$vararg_buffer8); + $32 = (+($0|0)); + $33 = (+($1|0)); + $34 = $32 / $33; + $35 = HEAP32[5288]|0; + $36 = (+($35|0)); + $37 = HEAP32[5287]|0; + $38 = (+($37|0)); + $39 = $36 / $38; + $40 = !($34 <= $39); + if ($40) { + $44 = $34 * $38; + $roundf = (+_roundf((+$44))); + $45 = (~~(($roundf))); + HEAP32[5329] = $45; + HEAP32[5330] = $37; + $46 = (($45) - ($35))|0; + HEAP32[5331] = $46; + $$sink1 = 0; + } else { + HEAP32[5329] = $35; + $41 = $36 / $34; + $roundf38 = (+_roundf((+$41))); + $42 = (~~(($roundf38))); + HEAP32[5330] = $42; + HEAP32[5331] = 0; + $43 = (($42) - ($37))|0; + $$sink1 = $43; + } + HEAP32[5332] = $$sink1; + STACKTOP = sp;return; + } + } + $7 = HEAP32[5287]|0; + HEAP32[$vararg_buffer>>2] = $3; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $7; + $vararg_ptr2 = ((($vararg_buffer)) + 8|0); + HEAP32[$vararg_ptr2>>2] = $0; + $vararg_ptr3 = ((($vararg_buffer)) + 12|0); + HEAP32[$vararg_ptr3>>2] = $1; + _TraceLog(1,10233,$vararg_buffer); + $8 = (+($0|0)); + $9 = HEAP32[5288]|0; + $10 = (+($9|0)); + $11 = $8 / $10; + $12 = (+($1|0)); + $13 = HEAP32[5287]|0; + $14 = (+($13|0)); + $15 = $12 / $14; + $16 = !($11 <= $15); + if ($16) { + $22 = $10 * $15; + $roundf39 = (+_roundf((+$22))); + $23 = (~~(($roundf39))); + HEAP32[5329] = $23; + HEAP32[5330] = $1; + $24 = (($0) - ($23))|0; + HEAP32[5331] = $24; + $$sink = 0; + } else { + HEAP32[5329] = $0; + $17 = HEAP32[5287]|0; + $18 = (+($17|0)); + $19 = $11 * $18; + $roundf40 = (+_roundf((+$19))); + $20 = (~~(($roundf40))); + HEAP32[5330] = $20; + HEAP32[5331] = 0; + $21 = (($1) - ($20))|0; + $$sink = $21; + } + HEAP32[5332] = $$sink; + $25 = HEAP32[5329]|0; + $26 = (+($25|0)); + $27 = HEAP32[5288]|0; + $28 = (+($27|0)); + $29 = $26 / $28; + _MatrixScale($2,$29,$29,$29); + dest=21240; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + HEAP32[5329] = $0; + HEAP32[5330] = $1; + HEAP32[$vararg_buffer4>>2] = $0; + $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); + HEAP32[$vararg_ptr7>>2] = $1; + _TraceLog(1,10311,$vararg_buffer4); + STACKTOP = sp;return; +} +function _WindowSizeCallback($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $3 = 0.0, $4 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + _rlViewport(0,0,$1,$2); + _rlMatrixMode(5889); + _rlLoadIdentity(); + $3 = (+($1|0)); + $4 = (+($2|0)); + _rlOrtho(0.0,$3,$4,0.0,0.0,1.0); + _rlMatrixMode(5888); + _rlLoadIdentity(); + _rlClearScreenBuffers(); + HEAP32[5288] = $1; + HEAP32[5287] = $2; + HEAP32[5329] = $1; + HEAP32[5330] = $2; + return; +} +function _CursorEnterCallback($0,$1) { + $0 = $0|0; + $1 = $1|0; + var label = 0, sp = 0; + sp = STACKTOP; + return; +} +function _KeyCallback($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $5 = HEAP32[750]|0; + $6 = ($5|0)==($1|0); + $7 = ($3|0)==(1); + $or$cond = $7 & $6; + if ($or$cond) { + _glfwSetWindowShouldClose(($0|0),1); + return; + } + $8 = $3&255; + $9 = (25123 + ($1)|0); + HEAP8[$9>>0] = $8; + if (!($7)) { + return; + } + HEAP32[749] = $1; + return; +} +function _MouseButtonCallback($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$byval_copy = 0, $$sink = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0.0, $27 = 0.0; + var $28 = 0.0, $29 = 0, $30 = 0.0, $31 = 0, $32 = 0.0, $33 = 0.0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0); + $$byval_copy = sp + 64|0; + $4 = sp + 8|0; + $5 = sp; + $6 = $2&255; + $7 = (25117 + ($1)|0); + HEAP8[$7>>0] = $6; + $8 = (_IsMouseButtonPressed(0)|0); + $9 = ($8|0)==(0); + if ($9) { + $10 = (_IsMouseButtonReleased(0)|0); + $11 = ($10|0)==(0); + if (!($11)) { + $$sink = 0; + label = 3; + } + } else { + $$sink = 1; + label = 3; + } + if ((label|0) == 3) { + HEAP32[$4>>2] = $$sink; + } + $12 = ((($4)) + 8|0); + HEAP32[$12>>2] = 0; + $13 = ((($4)) + 4|0); + HEAP32[$13>>2] = 1; + $14 = ((($4)) + 24|0); + _GetMousePosition($5); + $15 = $5; + $16 = $15; + $17 = HEAP32[$16>>2]|0; + $18 = (($15) + 4)|0; + $19 = $18; + $20 = HEAP32[$19>>2]|0; + $21 = $14; + $22 = $21; + HEAP32[$22>>2] = $17; + $23 = (($21) + 4)|0; + $24 = $23; + HEAP32[$24>>2] = $20; + $25 = (_GetScreenWidth()|0); + $26 = (+($25|0)); + $27 = +HEAPF32[$14>>2]; + $28 = $27 / $26; + HEAPF32[$14>>2] = $28; + $29 = (_GetScreenHeight()|0); + $30 = (+($29|0)); + $31 = ((($4)) + 28|0); + $32 = +HEAPF32[$31>>2]; + $33 = $32 / $30; + HEAPF32[$31>>2] = $33; + dest=$$byval_copy; src=$4; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _ProcessGestureEvent($$byval_copy); + STACKTOP = sp;return; +} +function _MouseCursorPosCallback($0,$1,$2) { + $0 = $0|0; + $1 = +$1; + $2 = +$2; + var $$byval_copy = 0, $$sroa$0$0$$sroa_idx = 0, $$sroa$2$0$$sroa_idx1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0, $24 = 0.0, $25 = 0.0, $26 = 0.0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0); + $$byval_copy = sp + 56|0; + $3 = sp; + HEAP32[$3>>2] = 2; + $4 = ((($3)) + 8|0); + HEAP32[$4>>2] = 0; + $5 = ((($3)) + 4|0); + HEAP32[$5>>2] = 1; + $6 = $1; + $7 = $2; + $$sroa$0$0$$sroa_idx = ((($3)) + 24|0); + HEAPF32[$$sroa$0$0$$sroa_idx>>2] = $6; + $$sroa$2$0$$sroa_idx1 = ((($3)) + 28|0); + HEAPF32[$$sroa$2$0$$sroa_idx1>>2] = $7; + $8 = ((($3)) + 24|0); + $9 = $8; + $10 = $9; + $11 = HEAP32[$10>>2]|0; + $12 = (($9) + 4)|0; + $13 = $12; + $14 = HEAP32[$13>>2]|0; + $15 = 19752; + $16 = $15; + HEAP32[$16>>2] = $11; + $17 = (($15) + 4)|0; + $18 = $17; + HEAP32[$18>>2] = $14; + $19 = (_GetScreenWidth()|0); + $20 = (+($19|0)); + $21 = +HEAPF32[$8>>2]; + $22 = $21 / $20; + HEAPF32[$8>>2] = $22; + $23 = (_GetScreenHeight()|0); + $24 = (+($23|0)); + $25 = +HEAPF32[$$sroa$2$0$$sroa_idx1>>2]; + $26 = $25 / $24; + HEAPF32[$$sroa$2$0$$sroa_idx1>>2] = $26; + dest=$$byval_copy; src=$3; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _ProcessGestureEvent($$byval_copy); + STACKTOP = sp;return; +} +function _CharCallback($0,$1) { + $0 = $0|0; + $1 = $1|0; + var label = 0, sp = 0; + sp = STACKTOP; + HEAP32[749] = $1; + return; +} +function _ScrollCallback($0,$1,$2) { + $0 = $0|0; + $1 = +$1; + $2 = +$2; + var $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = (~~(($2))); + HEAP32[5702] = $3; + return; +} +function _WindowIconifyCallback($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$sink = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ($1|0)!=(0); + $$sink = $2&1; + HEAP32[5701] = $$sink; + return; +} +function _rlglInit($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$05965 = 0, $$06066 = 0, $$06167 = 0, $$062 = 0, $$sink63 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; + var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; + var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0; + var $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0.0, $72 = 0.0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0; + var $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $9 = 0, $exitcond = 0, $exitcond69 = 0, $exitcond70 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer13 = 0, $vararg_buffer15 = 0, $vararg_buffer17 = 0, $vararg_buffer19 = 0; + var $vararg_buffer21 = 0, $vararg_buffer23 = 0, $vararg_buffer25 = 0, $vararg_buffer27 = 0, $vararg_buffer29 = 0, $vararg_buffer31 = 0, $vararg_buffer34 = 0, $vararg_buffer36 = 0, $vararg_buffer39 = 0, $vararg_buffer4 = 0, $vararg_buffer41 = 0, $vararg_buffer7 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 2464|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(2464|0); + $vararg_buffer41 = sp + 2184|0; + $vararg_buffer39 = sp + 2176|0; + $vararg_buffer36 = sp + 2168|0; + $vararg_buffer34 = sp + 2160|0; + $vararg_buffer31 = sp + 2152|0; + $vararg_buffer29 = sp + 2144|0; + $vararg_buffer27 = sp + 2136|0; + $vararg_buffer25 = sp + 2128|0; + $vararg_buffer23 = sp + 2120|0; + $vararg_buffer21 = sp + 2112|0; + $vararg_buffer19 = sp + 2104|0; + $vararg_buffer17 = sp + 2096|0; + $vararg_buffer15 = sp + 2088|0; + $vararg_buffer13 = sp + 2080|0; + $vararg_buffer10 = sp + 2072|0; + $vararg_buffer7 = sp + 24|0; + $vararg_buffer4 = sp + 16|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $2 = sp + 2400|0; + $3 = sp + 2384|0; + $4 = sp + 2320|0; + $5 = sp + 2256|0; + $6 = sp + 2192|0; + $7 = (_glGetString(7936)|0); + HEAP32[$vararg_buffer>>2] = $7; + _TraceLog(0,6874,$vararg_buffer); + $8 = (_glGetString(7937)|0); + HEAP32[$vararg_buffer1>>2] = $8; + _TraceLog(0,6892,$vararg_buffer1); + $9 = (_glGetString(7938)|0); + HEAP32[$vararg_buffer4>>2] = $9; + _TraceLog(0,6910,$vararg_buffer4); + $10 = (_glGetString(35724)|0); + HEAP32[$vararg_buffer7>>2] = $10; + _TraceLog(0,6928,$vararg_buffer7); + $11 = (_glGetString(7939)|0); + $12 = (_strlen($11)|0); + $13 = (($12) + 1)|0; + $14 = (_malloc($13)|0); + _memcpy(($14|0),($11|0),($13|0))|0; + $$062 = 0;$$sink63 = $14; + while(1) { + $15 = (_strtok($$sink63,6946)|0); + $16 = (($vararg_buffer7) + ($$062<<2)|0); + HEAP32[$16>>2] = $15; + $17 = ($15|0)==(0|0); + $18 = (($$062) + 1)|0; + if ($17) { + break; + } else { + $$062 = $18;$$sink63 = 0; + } + } + _free($14); + $19 = (($$062) + -1)|0; + HEAP32[$vararg_buffer10>>2] = $19; + _TraceLog(0,6948,$vararg_buffer10); + $20 = ($$062|0)>(1); + if ($20) { + $$06167 = 0; + while(1) { + $23 = (($vararg_buffer7) + ($$06167<<2)|0); + $24 = HEAP32[$23>>2]|0; + $25 = (_strcmp($24,6983)|0); + $26 = ($25|0)==(0); + if ($26) { + HEAP32[5367] = 1; + $27 = (_eglGetProcAddress((7010|0))|0); + HEAP32[5368] = $27; + $28 = (_eglGetProcAddress((7031|0))|0); + HEAP32[5369] = $28; + $29 = (_eglGetProcAddress((7052|0))|0); + HEAP32[5370] = $29; + } + $30 = (_strcmp($24,7076)|0); + $31 = ($30|0)==(0); + if ($31) { + HEAP32[5309] = 1; + } + $32 = (_strcmp($24,7096)|0); + $33 = ($32|0)==(0); + if ($33) { + label = 12; + } else { + $34 = HEAP32[$23>>2]|0; + $35 = (_strcmp($34,7128)|0); + $36 = ($35|0)==(0); + if ($36) { + label = 12; + } else { + $37 = (_strcmp($34,7161)|0); + $38 = ($37|0)==(0); + if ($38) { + label = 12; + } + } + } + if ((label|0) == 12) { + label = 0; + HEAP32[5304] = 1; + } + $39 = (_strcmp($24,7201)|0); + $40 = ($39|0)==(0); + if ($40) { + label = 15; + } else { + $41 = HEAP32[$23>>2]|0; + $42 = (_strcmp($41,7237)|0); + $43 = ($42|0)==(0); + if ($43) { + label = 15; + } + } + if ((label|0) == 15) { + label = 0; + HEAP32[5305] = 1; + } + $44 = HEAP32[$23>>2]|0; + $45 = (_strcmp($44,7270)|0); + $46 = ($45|0)==(0); + if ($46) { + HEAP32[5306] = 1; + } + $47 = (_strcmp($44,7295)|0); + $48 = ($47|0)==(0); + if ($48) { + HEAP32[5307] = 1; + } + $49 = (_strcmp($44,7328)|0); + $50 = ($49|0)==(0); + if ($50) { + HEAP32[5308] = 1; + } + $51 = (_strcmp($44,7364)|0); + $52 = ($51|0)==(0); + if ($52) { + HEAP32[5371] = 1; + _glGetFloatv(34047,(21488|0)); + } + $53 = HEAP32[$23>>2]|0; + $54 = (_strcmp($53,7398)|0); + $55 = ($54|0)==(0); + if ($55) { + HEAP32[5373] = 1; + } + $56 = (($$06167) + 1)|0; + $exitcond70 = ($56|0)==($19|0); + if ($exitcond70) { + break; + } else { + $$06167 = $56; + } + } + } + $21 = HEAP32[5367]|0; + $22 = ($21|0)==(0); + if ($22) { + _TraceLog(1,7501,$vararg_buffer15); + } else { + _TraceLog(0,7426,$vararg_buffer13); + } + $57 = HEAP32[5309]|0; + $58 = ($57|0)==(0); + if ($58) { + _TraceLog(1,7637,$vararg_buffer19); + } else { + _TraceLog(0,7562,$vararg_buffer17); + } + $59 = HEAP32[5304]|0; + $60 = ($59|0)==(0); + if (!($60)) { + _TraceLog(0,7729,$vararg_buffer21); + } + $61 = HEAP32[5305]|0; + $62 = ($61|0)==(0); + if (!($62)) { + _TraceLog(0,7775,$vararg_buffer23); + } + $63 = HEAP32[5306]|0; + $64 = ($63|0)==(0); + if (!($64)) { + _TraceLog(0,7822,$vararg_buffer25); + } + $65 = HEAP32[5307]|0; + $66 = ($65|0)==(0); + if (!($66)) { + _TraceLog(0,7873,$vararg_buffer27); + } + $67 = HEAP32[5308]|0; + $68 = ($67|0)==(0); + if (!($68)) { + _TraceLog(0,7920,$vararg_buffer29); + } + $69 = HEAP32[5371]|0; + $70 = ($69|0)==(0); + if (!($70)) { + $71 = +HEAPF32[5372]; + $72 = $71; + HEAPF64[$vararg_buffer31>>3] = $72; + _TraceLog(0,7967,$vararg_buffer31); + } + $73 = HEAP32[5373]|0; + $74 = ($73|0)==(0); + if (!($74)) { + _TraceLog(0,8033,$vararg_buffer34); + } + HEAP32[$vararg_buffer10>>2] = -1; + $75 = (_rlglLoadTexture($vararg_buffer10,1,1,7,1)|0); + HEAP32[5374] = $75; + $76 = ($75|0)==(0); + if ($76) { + _TraceLog(1,8137,$vararg_buffer39); + } else { + HEAP32[$vararg_buffer36>>2] = $75; + _TraceLog(0,8086,$vararg_buffer36); + } + _LoadDefaultShader($2); + dest=21500; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=21556; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _LoadDefaultBuffers(); + $77 = (_malloc(49152)|0); + HEAP32[5403] = $77; + $$06066 = 0; + while(1) { + $79 = HEAP32[5403]|0; + $80 = (($79) + (($$06066*12)|0)|0); + _VectorZero($3); + ;HEAP32[$80>>2]=HEAP32[$3>>2]|0;HEAP32[$80+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$80+8>>2]=HEAP32[$3+8>>2]|0; + $81 = (($$06066) + 1)|0; + $exitcond69 = ($81|0)==(4096); + if ($exitcond69) { + break; + } else { + $$06066 = $81; + } + } + $78 = (_malloc(36864)|0); + HEAP32[5404] = $78; + $$05965 = 0; + while(1) { + $82 = (((($78) + (($$05965*144)|0)|0)) + 8|0); + HEAP32[$82>>2] = 0; + $83 = (($78) + (($$05965*144)|0)|0); + HEAP32[$83>>2] = 0; + $84 = (($$05965) + 1)|0; + $exitcond = ($84|0)==(256); + if ($exitcond) { + break; + } else { + $$05965 = $84; + } + } + HEAP32[5405] = 1; + $85 = HEAP32[5374]|0; + $86 = ((($78)) + 8|0); + HEAP32[$86>>2] = $85; + HEAP32[5406] = 4; + _MatrixIdentity($4); + dest=21628; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(21692); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(21756); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(21820); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(21884); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(21948); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(22012); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(22076); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(22140); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(22204); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(22268); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(22332); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(22396); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(22460); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(22524); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(22588); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($5); + dest=21336; src=$5; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($6); + dest=21400; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + HEAP32[5333] = 21400; + _glDepthFunc(515); + _glDisable(2929); + _glBlendFunc(770,771); + _glEnable(3042); + _glCullFace(1029); + _glFrontFace(2305); + _glEnable(2884); + _glClearColor(0.0,0.0,0.0,1.0); + _glClearDepthf(1.0); + _glClear(16640); + HEAP32[5663] = $0; + HEAP32[5664] = $1; + _TraceLog(0,8176,$vararg_buffer41); + STACKTOP = sp;return; +} +function _SetupViewport() { + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[5331]|0; + $1 = (($0|0) / 2)&-1; + $2 = HEAP32[5332]|0; + $3 = (($2|0) / 2)&-1; + $4 = HEAP32[5329]|0; + $5 = (($4) - ($0))|0; + $6 = HEAP32[5330]|0; + $7 = (($6) - ($2))|0; + _rlViewport($1,$3,$5,$7); + return; +} +function _rlMatrixMode($0) { + $0 = $0|0; + var $modelview$sink = 0, label = 0, sp = 0; + sp = STACKTOP; + switch ($0|0) { + case 5889: { + $modelview$sink = 21336; + label = 3; + break; + } + case 5888: { + $modelview$sink = 21400; + label = 3; + break; + } + default: { + } + } + if ((label|0) == 3) { + HEAP32[5333] = $modelview$sink; + } + HEAP32[5366] = $0; + return; +} +function _rlLoadIdentity() { + var $0 = 0, $1 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $0 = sp; + $1 = HEAP32[5333]|0; + _MatrixIdentity($0); + dest=$1; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + STACKTOP = sp;return; +} +function _rlOrtho($0,$1,$2,$3,$4,$5) { + $0 = +$0; + $1 = +$1; + $2 = +$2; + $3 = +$3; + $4 = +$4; + $5 = +$5; + var $$byval_copy = 0, $$byval_copy1 = 0, $6 = 0, $7 = 0, $8 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0); + $$byval_copy1 = sp + 192|0; + $$byval_copy = sp + 128|0; + $6 = sp + 64|0; + $7 = sp; + _MatrixOrtho($6,$0,$1,$2,$3,$4,$5); + _MatrixTranspose($6); + $8 = HEAP32[5333]|0; + dest=$$byval_copy; src=$8; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$$byval_copy1; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixMultiply($7,$$byval_copy,$$byval_copy1); + dest=$8; src=$7; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + STACKTOP = sp;return; +} +function _ClearBackground($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP8[$0>>0]|0; + $2 = ((($0)) + 1|0); + $3 = HEAP8[$2>>0]|0; + $4 = ((($0)) + 2|0); + $5 = HEAP8[$4>>0]|0; + $6 = ((($0)) + 3|0); + $7 = HEAP8[$6>>0]|0; + _rlClearColor($1,$3,$5,$7); + return; +} +function _rlClearColor($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $10 = 0.0, $11 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $4 = (+($0&255)); + $5 = $4 / 255.0; + $6 = (+($1&255)); + $7 = $6 / 255.0; + $8 = (+($2&255)); + $9 = $8 / 255.0; + $10 = (+($3&255)); + $11 = $10 / 255.0; + _glClearColor((+$5),(+$7),(+$9),(+$11)); + return; +} +function _rlViewport($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var label = 0, sp = 0; + sp = STACKTOP; + _glViewport(($0|0),($1|0),($2|0),($3|0)); + return; +} +function _LoadDefaultShader($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 1008|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1008|0); + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $1 = sp + 16|0; + $2 = sp + 513|0; + $3 = sp + 72|0; + _memcpy(($2|0),(8752|0),489)|0; + _memcpy(($3|0),(9241|0),441)|0; + $4 = (_LoadShaderProgram($2,$3)|0); + HEAP32[$1>>2] = $4; + $5 = ($4|0)==(0); + if ($5) { + HEAP32[$vararg_buffer1>>2] = $4; + _TraceLog(1,9730,$vararg_buffer1); + } else { + HEAP32[$vararg_buffer>>2] = $4; + _TraceLog(0,9682,$vararg_buffer); + } + $6 = HEAP32[$1>>2]|0; + $7 = ($6|0)==(0); + if (!($7)) { + _LoadDefaultShaderLocations($1); + } + dest=$0; src=$1; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + STACKTOP = sp;return; +} +function _LoadDefaultBuffers() { + var $$05365 = 0, $$05467 = 0, $$05770 = 0, $$05972 = 0, $$066 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0; + var $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0; + var $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0; + var $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0; + var $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0; + var $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond = 0, $exitcond75 = 0, $exitcond78 = 0, $exitcond80 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer14 = 0, $vararg_buffer17 = 0; + var $vararg_buffer3 = 0, $vararg_buffer7 = 0, $vararg_ptr13 = 0, $vararg_ptr20 = 0, $vararg_ptr21 = 0, $vararg_ptr22 = 0, $vararg_ptr6 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $vararg_buffer17 = sp + 48|0; + $vararg_buffer14 = sp + 40|0; + $vararg_buffer10 = sp + 32|0; + $vararg_buffer7 = sp + 24|0; + $vararg_buffer3 = sp + 16|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $0 = (_malloc(24576)|0); + HEAP32[(22672)>>2] = $0; + $1 = (_malloc(8192)|0); + HEAP32[(22680)>>2] = $1; + HEAP32[(22676)>>2] = 0; + HEAP32[(22684)>>2] = 0; + _memset(($0|0),0,24576)|0; + $$05972 = 0; + while(1) { + $2 = HEAP32[(22680)>>2]|0; + $3 = (($2) + ($$05972)|0); + HEAP8[$3>>0] = 0; + $4 = (($$05972) + 1)|0; + $exitcond80 = ($4|0)==(8192); + if ($exitcond80) { + break; + } else { + $$05972 = $4; + } + } + HEAP32[5665] = 0; + HEAP32[(22668)>>2] = 0; + HEAP32[(22664)>>2] = 0; + $5 = (_malloc(73728)|0); + HEAP32[(22720)>>2] = $5; + $6 = (_malloc(24576)|0); + HEAP32[(22728)>>2] = $6; + HEAP32[(22724)>>2] = 0; + HEAP32[(22732)>>2] = 0; + _memset(($5|0),0,73728)|0; + $$05770 = 0; + while(1) { + $7 = HEAP32[(22728)>>2]|0; + $8 = (($7) + ($$05770)|0); + HEAP8[$8>>0] = 0; + $9 = (($$05770) + 1)|0; + $exitcond78 = ($9|0)==(24576); + if ($exitcond78) { + break; + } else { + $$05770 = $9; + } + } + HEAP32[5677] = 0; + HEAP32[(22716)>>2] = 0; + HEAP32[(22712)>>2] = 0; + $10 = (_malloc(49152)|0); + HEAP32[(22768)>>2] = $10; + $11 = (_malloc(32768)|0); + HEAP32[(22772)>>2] = $11; + $12 = (_malloc(16384)|0); + HEAP32[(22776)>>2] = $12; + $13 = (_malloc(12288)|0); + HEAP32[(22780)>>2] = $13; + $14 = HEAP32[(22768)>>2]|0; + _memset(($14|0),0,49152)|0; + $15 = HEAP32[(22772)>>2]|0; + _memset(($15|0),0,32768)|0; + $$05467 = 0; + while(1) { + $17 = HEAP32[(22776)>>2]|0; + $18 = (($17) + ($$05467)|0); + HEAP8[$18>>0] = 0; + $19 = (($$05467) + 1)|0; + $exitcond75 = ($19|0)==(16384); + if ($exitcond75) { + break; + } else { + $$05467 = $19; + } + } + $16 = HEAP32[(22780)>>2]|0; + $$05365 = 0;$$066 = 0; + while(1) { + $22 = $$05365 << 2; + $23 = $22&65535; + $24 = (($16) + ($$066<<1)|0); + HEAP16[$24>>1] = $23; + $25 = $22 | 1; + $26 = $25&65535; + $27 = $$066 | 1; + $28 = (($16) + ($27<<1)|0); + HEAP16[$28>>1] = $26; + $29 = $22 | 2; + $30 = $29&65535; + $31 = (($$066) + 2)|0; + $32 = (($16) + ($31<<1)|0); + HEAP16[$32>>1] = $30; + $33 = (($$066) + 3)|0; + $34 = (($16) + ($33<<1)|0); + HEAP16[$34>>1] = $23; + $35 = (($$066) + 4)|0; + $36 = (($16) + ($35<<1)|0); + HEAP16[$36>>1] = $30; + $37 = $22 | 3; + $38 = $37&65535; + $39 = (($$066) + 5)|0; + $40 = (($16) + ($39<<1)|0); + HEAP16[$40>>1] = $38; + $41 = (($$05365) + 1)|0; + $42 = (($$066) + 6)|0; + $exitcond = ($41|0)==(1024); + if ($exitcond) { + break; + } else { + $$05365 = $41;$$066 = $42; + } + } + HEAP32[5689] = 0; + HEAP32[(22760)>>2] = 0; + HEAP32[(22764)>>2] = 0; + _TraceLog(0,8223,$vararg_buffer); + $20 = HEAP32[5367]|0; + $21 = ($20|0)==(0); + if (!($21)) { + $43 = HEAP32[5368]|0; + FUNCTION_TABLE_vii[$43 & 63](1,(22688)); + $44 = HEAP32[5369]|0; + $45 = HEAP32[(22688)>>2]|0; + FUNCTION_TABLE_vi[$44 & 31]($45); + } + _glGenBuffers(2,((22692)|0)); + $46 = HEAP32[(22692)>>2]|0; + _glBindBuffer(34962,($46|0)); + $47 = HEAP32[(22672)>>2]|0; + _glBufferData(34962,24576,($47|0),35048); + $48 = HEAP32[(21560)>>2]|0; + _glEnableVertexAttribArray(($48|0)); + $49 = HEAP32[(21560)>>2]|0; + _glVertexAttribPointer(($49|0),3,5126,0,0,(0|0)); + _glGenBuffers(2,((22696)|0)); + $50 = HEAP32[(22696)>>2]|0; + _glBindBuffer(34962,($50|0)); + $51 = HEAP32[(22680)>>2]|0; + _glBufferData(34962,8192,($51|0),35048); + $52 = HEAP32[(21580)>>2]|0; + _glEnableVertexAttribArray(($52|0)); + $53 = HEAP32[(21580)>>2]|0; + _glVertexAttribPointer(($53|0),4,5121,1,0,(0|0)); + $54 = HEAP32[5367]|0; + $55 = ($54|0)==(0); + if ($55) { + $57 = HEAP32[(22692)>>2]|0; + $58 = HEAP32[(22696)>>2]|0; + HEAP32[$vararg_buffer3>>2] = $57; + $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); + HEAP32[$vararg_ptr6>>2] = $58; + _TraceLog(0,8361,$vararg_buffer3); + } else { + $56 = HEAP32[(22688)>>2]|0; + HEAP32[$vararg_buffer1>>2] = $56; + _TraceLog(0,8296,$vararg_buffer1); + } + $59 = HEAP32[5367]|0; + $60 = ($59|0)==(0); + if (!($60)) { + $61 = HEAP32[5368]|0; + FUNCTION_TABLE_vii[$61 & 63](1,(22736)); + $62 = HEAP32[5369]|0; + $63 = HEAP32[(22736)>>2]|0; + FUNCTION_TABLE_vi[$62 & 31]($63); + } + _glGenBuffers(1,((22740)|0)); + $64 = HEAP32[(22740)>>2]|0; + _glBindBuffer(34962,($64|0)); + $65 = HEAP32[(22720)>>2]|0; + _glBufferData(34962,73728,($65|0),35048); + $66 = HEAP32[(21560)>>2]|0; + _glEnableVertexAttribArray(($66|0)); + $67 = HEAP32[(21560)>>2]|0; + _glVertexAttribPointer(($67|0),3,5126,0,0,(0|0)); + _glGenBuffers(1,((22744)|0)); + $68 = HEAP32[(22744)>>2]|0; + _glBindBuffer(34962,($68|0)); + $69 = HEAP32[(22728)>>2]|0; + _glBufferData(34962,24576,($69|0),35048); + $70 = HEAP32[(21580)>>2]|0; + _glEnableVertexAttribArray(($70|0)); + $71 = HEAP32[(21580)>>2]|0; + _glVertexAttribPointer(($71|0),4,5121,1,0,(0|0)); + $72 = HEAP32[5367]|0; + $73 = ($72|0)==(0); + if ($73) { + $75 = HEAP32[(22740)>>2]|0; + $76 = HEAP32[(22744)>>2]|0; + HEAP32[$vararg_buffer10>>2] = $75; + $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); + HEAP32[$vararg_ptr13>>2] = $76; + _TraceLog(0,8507,$vararg_buffer10); + } else { + $74 = HEAP32[(22736)>>2]|0; + HEAP32[$vararg_buffer7>>2] = $74; + _TraceLog(0,8438,$vararg_buffer7); + } + $77 = HEAP32[5367]|0; + $78 = ($77|0)==(0); + if (!($78)) { + $79 = HEAP32[5368]|0; + FUNCTION_TABLE_vii[$79 & 63](1,(22784)); + $80 = HEAP32[5369]|0; + $81 = HEAP32[(22784)>>2]|0; + FUNCTION_TABLE_vi[$80 & 31]($81); + } + _glGenBuffers(1,((22788)|0)); + $82 = HEAP32[(22788)>>2]|0; + _glBindBuffer(34962,($82|0)); + $83 = HEAP32[(22768)>>2]|0; + _glBufferData(34962,49152,($83|0),35048); + $84 = HEAP32[(21560)>>2]|0; + _glEnableVertexAttribArray(($84|0)); + $85 = HEAP32[(21560)>>2]|0; + _glVertexAttribPointer(($85|0),3,5126,0,0,(0|0)); + _glGenBuffers(1,((22792)|0)); + $86 = HEAP32[(22792)>>2]|0; + _glBindBuffer(34962,($86|0)); + $87 = HEAP32[(22772)>>2]|0; + _glBufferData(34962,32768,($87|0),35048); + $88 = HEAP32[(21564)>>2]|0; + _glEnableVertexAttribArray(($88|0)); + $89 = HEAP32[(21564)>>2]|0; + _glVertexAttribPointer(($89|0),2,5126,0,0,(0|0)); + _glGenBuffers(1,((22796)|0)); + $90 = HEAP32[(22796)>>2]|0; + _glBindBuffer(34962,($90|0)); + $91 = HEAP32[(22776)>>2]|0; + _glBufferData(34962,16384,($91|0),35048); + $92 = HEAP32[(21580)>>2]|0; + _glEnableVertexAttribArray(($92|0)); + $93 = HEAP32[(21580)>>2]|0; + _glVertexAttribPointer(($93|0),4,5121,1,0,(0|0)); + _glGenBuffers(1,((22800)|0)); + $94 = HEAP32[(22800)>>2]|0; + _glBindBuffer(34963,($94|0)); + $95 = HEAP32[(22780)>>2]|0; + _glBufferData(34963,12288,($95|0),35044); + $96 = HEAP32[5367]|0; + $97 = ($96|0)==(0); + if ($97) { + $99 = HEAP32[(22788)>>2]|0; + $100 = HEAP32[(22792)>>2]|0; + $101 = HEAP32[(22796)>>2]|0; + $102 = HEAP32[(22800)>>2]|0; + HEAP32[$vararg_buffer17>>2] = $99; + $vararg_ptr20 = ((($vararg_buffer17)) + 4|0); + HEAP32[$vararg_ptr20>>2] = $100; + $vararg_ptr21 = ((($vararg_buffer17)) + 8|0); + HEAP32[$vararg_ptr21>>2] = $101; + $vararg_ptr22 = ((($vararg_buffer17)) + 12|0); + HEAP32[$vararg_ptr22>>2] = $102; + _TraceLog(0,8653,$vararg_buffer17); + } else { + $98 = HEAP32[(22784)>>2]|0; + HEAP32[$vararg_buffer14>>2] = $98; + _TraceLog(0,8588,$vararg_buffer14); + } + $103 = HEAP32[5367]|0; + $104 = ($103|0)==(0); + if ($104) { + STACKTOP = sp;return; + } + $105 = HEAP32[5369]|0; + FUNCTION_TABLE_vi[$105 & 31](0); + STACKTOP = sp;return; +} +function _LoadShaderProgram($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $$alloca_mul = 0, $$alloca_mul34 = 0, $$alloca_mul36 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; + var $25 = 0, $26 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer13 = 0, $vararg_buffer16 = 0, $vararg_buffer19 = 0, $vararg_buffer22 = 0, $vararg_buffer4 = 0, $vararg_buffer7 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0); + $vararg_buffer22 = sp + 64|0; + $vararg_buffer19 = sp + 56|0; + $vararg_buffer16 = sp + 48|0; + $vararg_buffer13 = sp + 40|0; + $vararg_buffer10 = sp + 32|0; + $vararg_buffer7 = sp + 24|0; + $vararg_buffer4 = sp + 16|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $2 = sp + 80|0; + $3 = sp + 76|0; + $4 = sp + 72|0; + $5 = sp + 68|0; + $6 = (_glCreateShader(35633)|0); + $7 = (_glCreateShader(35632)|0); + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + _glShaderSource(($6|0),1,($2|0),(0|0)); + _glShaderSource(($7|0),1,($3|0),(0|0)); + HEAP32[$4>>2] = 0; + _glCompileShader(($6|0)); + _glGetShaderiv(($6|0),35713,($4|0)); + $8 = HEAP32[$4>>2]|0; + $9 = ($8|0)==(1); + if ($9) { + HEAP32[$vararg_buffer4>>2] = $6; + _TraceLog(0,9986,$vararg_buffer4); + } else { + HEAP32[$vararg_buffer>>2] = $6; + _TraceLog(1,9934,$vararg_buffer); + HEAP32[$vararg_buffer>>2] = 0; + _glGetShaderiv(($6|0),35716,($vararg_buffer|0)); + $10 = HEAP32[$vararg_buffer>>2]|0; + $11 = (_llvm_stacksave()|0); + $$alloca_mul = $10; + $12 = STACKTOP; STACKTOP = STACKTOP + ((((1*$$alloca_mul)|0)+15)&-16)|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(((((1*$$alloca_mul)|0)+15)&-16)|0);; + $13 = HEAP32[$vararg_buffer>>2]|0; + _glGetShaderInfoLog(($6|0),($13|0),($5|0),($12|0)); + HEAP32[$vararg_buffer1>>2] = $12; + _TraceLog(0,9983,$vararg_buffer1); + _llvm_stackrestore(($11|0)); + } + _glCompileShader(($7|0)); + _glGetShaderiv(($7|0),35713,($4|0)); + $14 = HEAP32[$4>>2]|0; + $15 = ($14|0)==(1); + if ($15) { + HEAP32[$vararg_buffer13>>2] = $7; + _TraceLog(0,10087,$vararg_buffer13); + } else { + HEAP32[$vararg_buffer7>>2] = $7; + _TraceLog(1,10036,$vararg_buffer7); + HEAP32[$vararg_buffer7>>2] = 0; + _glGetShaderiv(($7|0),35716,($vararg_buffer7|0)); + $16 = HEAP32[$vararg_buffer7>>2]|0; + $17 = (_llvm_stacksave()|0); + $$alloca_mul34 = $16; + $18 = STACKTOP; STACKTOP = STACKTOP + ((((1*$$alloca_mul34)|0)+15)&-16)|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(((((1*$$alloca_mul34)|0)+15)&-16)|0);; + $19 = HEAP32[$vararg_buffer7>>2]|0; + _glGetShaderInfoLog(($7|0),($19|0),($5|0),($18|0)); + HEAP32[$vararg_buffer10>>2] = $18; + _TraceLog(0,9983,$vararg_buffer10); + _llvm_stackrestore(($17|0)); + } + $20 = (_glCreateProgram()|0); + _glAttachShader(($20|0),($6|0)); + _glAttachShader(($20|0),($7|0)); + _glBindAttribLocation(($20|0),0,(9778|0)); + _glBindAttribLocation(($20|0),1,(9793|0)); + _glBindAttribLocation(($20|0),2,(9824|0)); + _glBindAttribLocation(($20|0),3,(9851|0)); + _glBindAttribLocation(($20|0),4,(9837|0)); + _glBindAttribLocation(($20|0),5,(9808|0)); + _glLinkProgram(($20|0)); + _glGetProgramiv(($20|0),35714,($4|0)); + $21 = HEAP32[$4>>2]|0; + $22 = ($21|0)==(0); + if ($22) { + HEAP32[$vararg_buffer16>>2] = $20; + _TraceLog(1,10139,$vararg_buffer16); + HEAP32[$vararg_buffer16>>2] = 0; + _glGetProgramiv(($20|0),35716,($vararg_buffer16|0)); + $23 = HEAP32[$vararg_buffer16>>2]|0; + $24 = (_llvm_stacksave()|0); + $$alloca_mul36 = $23; + $25 = STACKTOP; STACKTOP = STACKTOP + ((((1*$$alloca_mul36)|0)+15)&-16)|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(((((1*$$alloca_mul36)|0)+15)&-16)|0);; + $26 = HEAP32[$vararg_buffer16>>2]|0; + _glGetProgramInfoLog(($20|0),($26|0),($5|0),($25|0)); + HEAP32[$vararg_buffer19>>2] = $25; + _TraceLog(0,9983,$vararg_buffer19); + _glDeleteProgram(($20|0)); + _llvm_stackrestore(($24|0)); + $$0 = 0; + _glDeleteShader(($6|0)); + _glDeleteShader(($7|0)); + STACKTOP = sp;return ($$0|0); + } else { + HEAP32[$vararg_buffer22>>2] = $20; + _TraceLog(0,10185,$vararg_buffer22); + $$0 = $20; + _glDeleteShader(($6|0)); + _glDeleteShader(($7|0)); + STACKTOP = sp;return ($$0|0); + } + return (0)|0; +} +function _LoadDefaultShaderLocations($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; + var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; + var sp = 0; + sp = STACKTOP; + $1 = HEAP32[$0>>2]|0; + $2 = (_glGetAttribLocation(($1|0),(9778|0))|0); + $3 = ((($0)) + 4|0); + HEAP32[$3>>2] = $2; + $4 = HEAP32[$0>>2]|0; + $5 = (_glGetAttribLocation(($4|0),(9793|0))|0); + $6 = ((($0)) + 8|0); + HEAP32[$6>>2] = $5; + $7 = HEAP32[$0>>2]|0; + $8 = (_glGetAttribLocation(($7|0),(9808|0))|0); + $9 = ((($0)) + 12|0); + HEAP32[$9>>2] = $8; + $10 = HEAP32[$0>>2]|0; + $11 = (_glGetAttribLocation(($10|0),(9824|0))|0); + $12 = ((($0)) + 16|0); + HEAP32[$12>>2] = $11; + $13 = HEAP32[$0>>2]|0; + $14 = (_glGetAttribLocation(($13|0),(9837|0))|0); + $15 = ((($0)) + 20|0); + HEAP32[$15>>2] = $14; + $16 = HEAP32[$0>>2]|0; + $17 = (_glGetAttribLocation(($16|0),(9851|0))|0); + $18 = ((($0)) + 24|0); + HEAP32[$18>>2] = $17; + $19 = HEAP32[$0>>2]|0; + $20 = (_glGetUniformLocation(($19|0),(9863|0))|0); + $21 = ((($0)) + 28|0); + HEAP32[$21>>2] = $20; + $22 = HEAP32[$0>>2]|0; + $23 = (_glGetUniformLocation(($22|0),(9873|0))|0); + $24 = ((($0)) + 32|0); + HEAP32[$24>>2] = $23; + $25 = HEAP32[$0>>2]|0; + $26 = (_glGetUniformLocation(($25|0),(9884|0))|0); + $27 = ((($0)) + 36|0); + HEAP32[$27>>2] = $26; + $28 = HEAP32[$0>>2]|0; + $29 = (_glGetUniformLocation(($28|0),(9895|0))|0); + $30 = ((($0)) + 40|0); + HEAP32[$30>>2] = $29; + $31 = HEAP32[$0>>2]|0; + $32 = (_glGetUniformLocation(($31|0),(9907|0))|0); + $33 = ((($0)) + 44|0); + HEAP32[$33>>2] = $32; + $34 = HEAP32[$0>>2]|0; + $35 = (_glGetUniformLocation(($34|0),(9916|0))|0); + $36 = ((($0)) + 48|0); + HEAP32[$36>>2] = $35; + $37 = HEAP32[$0>>2]|0; + $38 = (_glGetUniformLocation(($37|0),(9925|0))|0); + $39 = ((($0)) + 52|0); + HEAP32[$39>>2] = $38; + return; +} +function _IsMouseButtonPressed($0) { + $0 = $0|0; + var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (25117 + ($0)|0); + $2 = HEAP8[$1>>0]|0; + $3 = (25120 + ($0)|0); + $4 = HEAP8[$3>>0]|0; + $5 = ($2<<24>>24)!=($4<<24>>24); + $6 = ($2<<24>>24)==(1); + $or$cond = $6 & $5; + $$0 = $or$cond&1; + return ($$0|0); +} +function _IsMouseButtonReleased($0) { + $0 = $0|0; + var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (25117 + ($0)|0); + $2 = HEAP8[$1>>0]|0; + $3 = (25120 + ($0)|0); + $4 = HEAP8[$3>>0]|0; + $5 = ($2<<24>>24)!=($4<<24>>24); + $6 = ($2<<24>>24)==(0); + $or$cond = $6 & $5; + $$0 = $or$cond&1; + return ($$0|0); +} +function _rlClearScreenBuffers() { + var label = 0, sp = 0; + sp = STACKTOP; + _glClear(16640); + return; +} +function _CloseWindow() { + var $0 = 0, $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $vararg_buffer = sp; + _UnloadDefaultFont(); + _rlglClose(); + $0 = HEAP32[5286]|0; + _glfwDestroyWindow(($0|0)); + _glfwTerminate(); + _TraceLog(0,10497,$vararg_buffer); + STACKTOP = sp;return; +} +function _UnloadDefaultFont() { + var $$byval_copy = 0, $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $$byval_copy = sp; + ;HEAP32[$$byval_copy>>2]=HEAP32[21184>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[21184+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[21184+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[21184+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[21184+16>>2]|0; + _UnloadTexture($$byval_copy); + $0 = HEAP32[(21212)>>2]|0; + _free($0); + STACKTOP = sp;return; +} +function _rlglClose() { + var $0 = 0, $1 = 0, $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $vararg_buffer = sp; + _UnloadDefaultShader(); + _UnloadDefaultBuffers(); + _glDeleteTextures(1,(21496|0)); + $0 = HEAP32[5374]|0; + HEAP32[$vararg_buffer>>2] = $0; + _TraceLog(0,10524,$vararg_buffer); + $1 = HEAP32[5404]|0; + _free($1); + STACKTOP = sp;return; +} +function _UnloadDefaultShader() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + _glUseProgram(0); + $0 = HEAP32[5375]|0; + _glDeleteProgram(($0|0)); + return; +} +function _UnloadDefaultBuffers() { + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[5367]|0; + $1 = ($0|0)==(0); + if (!($1)) { + $2 = HEAP32[5369]|0; + FUNCTION_TABLE_vi[$2 & 31](0); + } + _glDisableVertexAttribArray(0); + _glDisableVertexAttribArray(1); + _glDisableVertexAttribArray(2); + _glDisableVertexAttribArray(3); + _glBindBuffer(34962,0); + _glBindBuffer(34963,0); + _glDeleteBuffers(1,((22692)|0)); + _glDeleteBuffers(1,((22696)|0)); + _glDeleteBuffers(1,((22740)|0)); + _glDeleteBuffers(1,((22744)|0)); + _glDeleteBuffers(1,((22788)|0)); + _glDeleteBuffers(1,((22792)|0)); + _glDeleteBuffers(1,((22796)|0)); + _glDeleteBuffers(1,((22800)|0)); + $3 = HEAP32[5367]|0; + $4 = ($3|0)==(0); + if (!($4)) { + $5 = HEAP32[5370]|0; + FUNCTION_TABLE_vii[$5 & 63](1,(22688)); + $6 = HEAP32[5370]|0; + FUNCTION_TABLE_vii[$6 & 63](1,(22736)); + $7 = HEAP32[5370]|0; + FUNCTION_TABLE_vii[$7 & 63](1,(22784)); + } + $8 = HEAP32[(22672)>>2]|0; + _free($8); + $9 = HEAP32[(22680)>>2]|0; + _free($9); + $10 = HEAP32[(22720)>>2]|0; + _free($10); + $11 = HEAP32[(22728)>>2]|0; + _free($11); + $12 = HEAP32[(22768)>>2]|0; + _free($12); + $13 = HEAP32[(22772)>>2]|0; + _free($13); + $14 = HEAP32[(22776)>>2]|0; + _free($14); + $15 = HEAP32[(22780)>>2]|0; + _free($15); + return; +} +function _UnloadTexture($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $vararg_buffer = sp; + $1 = HEAP32[$0>>2]|0; + $2 = ($1|0)==(0); + if ($2) { + STACKTOP = sp;return; + } + _rlDeleteTextures($1); + $3 = HEAP32[$0>>2]|0; + HEAP32[$vararg_buffer>>2] = $3; + _TraceLog(0,10589,$vararg_buffer); + STACKTOP = sp;return; +} +function _rlDeleteTextures($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = ($0|0)==(0); + if (!($2)) { + _glDeleteTextures(1,($1|0)); + } + STACKTOP = sp;return; +} +function _BeginDrawing() { + var $0 = 0.0, $1 = 0.0, $2 = 0.0, $downscaleView$byval_copy = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $downscaleView$byval_copy = sp; + $0 = (+_GetTime()); + HEAPF64[2488] = $0; + $1 = +HEAPF64[2471]; + $2 = $0 - $1; + HEAPF64[2489] = $2; + HEAPF64[2471] = $0; + _rlClearScreenBuffers(); + _rlLoadIdentity(); + dest=$downscaleView$byval_copy; src=21240; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + (_MatrixToFloat($downscaleView$byval_copy)|0); + _rlMultMatrixf(22812); + STACKTOP = sp;return; +} +function _MatrixToFloat($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; + var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP32[$0>>2]|0; + HEAP32[5703] = $1; + $2 = ((($0)) + 4|0); + $3 = HEAP32[$2>>2]|0; + HEAP32[(22816)>>2] = $3; + $4 = ((($0)) + 8|0); + $5 = HEAP32[$4>>2]|0; + HEAP32[(22820)>>2] = $5; + $6 = ((($0)) + 12|0); + $7 = HEAP32[$6>>2]|0; + HEAP32[(22824)>>2] = $7; + $8 = ((($0)) + 16|0); + $9 = HEAP32[$8>>2]|0; + HEAP32[(22828)>>2] = $9; + $10 = ((($0)) + 20|0); + $11 = HEAP32[$10>>2]|0; + HEAP32[(22832)>>2] = $11; + $12 = ((($0)) + 24|0); + $13 = HEAP32[$12>>2]|0; + HEAP32[(22836)>>2] = $13; + $14 = ((($0)) + 28|0); + $15 = HEAP32[$14>>2]|0; + HEAP32[(22840)>>2] = $15; + $16 = ((($0)) + 32|0); + $17 = HEAP32[$16>>2]|0; + HEAP32[(22844)>>2] = $17; + $18 = ((($0)) + 36|0); + $19 = HEAP32[$18>>2]|0; + HEAP32[(22848)>>2] = $19; + $20 = ((($0)) + 40|0); + $21 = HEAP32[$20>>2]|0; + HEAP32[(22852)>>2] = $21; + $22 = ((($0)) + 44|0); + $23 = HEAP32[$22>>2]|0; + HEAP32[(22856)>>2] = $23; + $24 = ((($0)) + 48|0); + $25 = HEAP32[$24>>2]|0; + HEAP32[(22860)>>2] = $25; + $26 = ((($0)) + 52|0); + $27 = HEAP32[$26>>2]|0; + HEAP32[(22864)>>2] = $27; + $28 = ((($0)) + 56|0); + $29 = HEAP32[$28>>2]|0; + HEAP32[(22868)>>2] = $29; + $30 = ((($0)) + 60|0); + $31 = HEAP32[$30>>2]|0; + HEAP32[(22872)>>2] = $31; + return (22812|0); +} +function _rlMultMatrixf($0) { + $0 = $0|0; + var $$byval_copy = 0, $$byval_copy1 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; + var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; + var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0); + $$byval_copy1 = sp + 192|0; + $$byval_copy = sp + 128|0; + $1 = sp + 64|0; + $2 = sp; + $3 = HEAP32[$0>>2]|0; + HEAP32[$1>>2] = $3; + $4 = ((($1)) + 4|0); + $5 = ((($0)) + 4|0); + $6 = HEAP32[$5>>2]|0; + HEAP32[$4>>2] = $6; + $7 = ((($1)) + 8|0); + $8 = ((($0)) + 8|0); + $9 = HEAP32[$8>>2]|0; + HEAP32[$7>>2] = $9; + $10 = ((($1)) + 12|0); + $11 = ((($0)) + 12|0); + $12 = HEAP32[$11>>2]|0; + HEAP32[$10>>2] = $12; + $13 = ((($1)) + 16|0); + $14 = ((($0)) + 16|0); + $15 = HEAP32[$14>>2]|0; + HEAP32[$13>>2] = $15; + $16 = ((($1)) + 20|0); + $17 = ((($0)) + 20|0); + $18 = HEAP32[$17>>2]|0; + HEAP32[$16>>2] = $18; + $19 = ((($1)) + 24|0); + $20 = ((($0)) + 24|0); + $21 = HEAP32[$20>>2]|0; + HEAP32[$19>>2] = $21; + $22 = ((($1)) + 28|0); + $23 = ((($0)) + 28|0); + $24 = HEAP32[$23>>2]|0; + HEAP32[$22>>2] = $24; + $25 = ((($1)) + 32|0); + $26 = ((($0)) + 32|0); + $27 = HEAP32[$26>>2]|0; + HEAP32[$25>>2] = $27; + $28 = ((($1)) + 36|0); + $29 = ((($0)) + 36|0); + $30 = HEAP32[$29>>2]|0; + HEAP32[$28>>2] = $30; + $31 = ((($1)) + 40|0); + $32 = ((($0)) + 40|0); + $33 = HEAP32[$32>>2]|0; + HEAP32[$31>>2] = $33; + $34 = ((($1)) + 44|0); + $35 = ((($0)) + 44|0); + $36 = HEAP32[$35>>2]|0; + HEAP32[$34>>2] = $36; + $37 = ((($1)) + 48|0); + $38 = ((($0)) + 48|0); + $39 = HEAP32[$38>>2]|0; + HEAP32[$37>>2] = $39; + $40 = ((($1)) + 52|0); + $41 = ((($0)) + 52|0); + $42 = HEAP32[$41>>2]|0; + HEAP32[$40>>2] = $42; + $43 = ((($1)) + 56|0); + $44 = ((($0)) + 56|0); + $45 = HEAP32[$44>>2]|0; + HEAP32[$43>>2] = $45; + $46 = ((($1)) + 60|0); + $47 = ((($0)) + 60|0); + $48 = HEAP32[$47>>2]|0; + HEAP32[$46>>2] = $48; + $49 = HEAP32[5333]|0; + dest=$$byval_copy; src=$49; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$$byval_copy1; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixMultiply($2,$$byval_copy,$$byval_copy1); + dest=$49; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + STACKTOP = sp;return; +} +function _EndDrawing() { + var $0 = 0.0, $1 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + _rlglDraw(); + _SwapBuffers(); + _PollInputEvents(); + $0 = (+_GetTime()); + HEAPF64[2488] = $0; + $1 = +HEAPF64[2471]; + $2 = $0 - $1; + HEAPF64[2490] = $2; + HEAPF64[2471] = $0; + $3 = +HEAPF64[2489]; + $4 = $2 + $3; + HEAPF64[2491] = $4; + $5 = +HEAPF64[2468]; + $6 = $4 < $5; + if (!($6)) { + return; + } + $7 = $5 - $4; + $8 = $7 * 1000.0; + $9 = $8; + _Wait($9); + $10 = (+_GetTime()); + HEAPF64[2488] = $10; + $11 = +HEAPF64[2471]; + $12 = $10 - $11; + HEAPF64[2471] = $10; + $13 = +HEAPF64[2491]; + $14 = $12 + $13; + HEAPF64[2491] = $14; + return; +} +function _rlglDraw() { + var label = 0, sp = 0; + sp = STACKTOP; + _UpdateDefaultBuffers(); + _DrawDefaultBuffers(); + return; +} +function _SwapBuffers() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[5286]|0; + _glfwSwapBuffers(($0|0)); + return; +} +function _PollInputEvents() { + var $$04857 = 0, $$05160 = 0, $$058 = 0, $$lcssa = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0; + var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0.0, $31 = 0.0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0.0, $40 = 0; + var $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0, $scevgep = 0, $scevgep67 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 1456|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1456|0); + $0 = sp + 1440|0; + $1 = sp + 1432|0; + $2 = sp; + _UpdateGestures(); + HEAP32[749] = -1; + HEAP32[751] = -1; + HEAP32[5719] = 0; + $3 = HEAP32[5286]|0; + _glfwGetCursorPos(($3|0),($0|0),($1|0)); + $4 = +HEAPF64[$0>>3]; + $5 = $4; + HEAPF32[4934] = $5; + $6 = +HEAPF64[$1>>3]; + $7 = $6; + HEAPF32[(19740)>>2] = $7; + _memcpy((25635|0),(25123|0),512)|0; + ;HEAP8[25120>>0]=HEAP8[25117>>0]|0;HEAP8[25120+1>>0]=HEAP8[25117+1>>0]|0;HEAP8[25120+2>>0]=HEAP8[25117+2>>0]|0; + $8 = HEAP32[5702]|0; + HEAP32[5289] = $8; + HEAP32[5702] = 0; + $9 = (_emscripten_get_num_gamepads()|0); + $10 = ($9|0)>(0); + if (!($10)) { + STACKTOP = sp;return; + } + $11 = ((($2)) + 12|0); + $12 = ((($2)) + 8|0); + $$05160 = 0; + while(1) { + $scevgep = (26147 + ($$05160<<5)|0); + $scevgep67 = (26275 + ($$05160<<5)|0); + dest=$scevgep; src=$scevgep67; stop=dest+32|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); + $13 = (_emscripten_get_gamepad_status(($$05160|0),($2|0))|0); + $14 = ($13|0)==(0); + if ($14) { + $15 = HEAP32[$11>>2]|0; + $16 = ($15|0)>(0); + if ($16) { + $17 = HEAP32[$11>>2]|0; + $$04857 = 0; + while(1) { + $21 = (((($2)) + 1040|0) + ($$04857<<2)|0); + $22 = HEAP32[$21>>2]|0; + $23 = ($22|0)==(1); + $24 = ((26275 + ($$05160<<5)|0) + ($$04857)|0); + if ($23) { + HEAP8[$24>>0] = 1; + HEAP32[751] = $$04857; + } else { + HEAP8[$24>>0] = 0; + } + $25 = (($$04857) + 1)|0; + $26 = ($25|0)<($17|0); + $27 = ($25|0)<(32); + $28 = $27 & $26; + if ($28) { + $$04857 = $25; + } else { + break; + } + } + } + $18 = HEAP32[$12>>2]|0; + $19 = ($18|0)>(0); + if ($19) { + $20 = HEAP32[$12>>2]|0; + $$058 = 0; + while(1) { + $29 = (((($2)) + 16|0) + ($$058<<3)|0); + $30 = +HEAPF64[$29>>3]; + $31 = $30; + $32 = ((22880 + ($$05160<<5)|0) + ($$058<<2)|0); + HEAPF32[$32>>2] = $31; + $33 = (($$058) + 1)|0; + $34 = ($33|0)<($20|0); + $35 = ($33|0)<(8); + $36 = $35 & $34; + if ($36) { + $$058 = $33; + } else { + $$lcssa = $20; + break; + } + } + } else { + $$lcssa = $18; + } + HEAP32[5719] = $$lcssa; + } + $37 = (($$05160) + 1)|0; + $38 = ($37|0)<($9|0); + $39 = ($37|0)<(4); + $40 = $38 & $39; + if ($40) { + $$05160 = $37; + } else { + break; + } + } + STACKTOP = sp;return; +} +function _Wait($0) { + $0 = +$0; + var $1 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (+_GetTime()); + $2 = 0.0 - $1; + $3 = $0 / 1000.0; + $4 = $3; + $5 = $2 < $4; + if (!($5)) { + return; + } + while(1) { + $6 = (+_GetTime()); + $7 = $6 - $1; + $8 = $7 < $4; + if (!($8)) { + break; + } + } + return; +} +function _UpdateDefaultBuffers() { + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[5665]|0; + $1 = ($0|0)>(0); + if ($1) { + $2 = HEAP32[5367]|0; + $3 = ($2|0)==(0); + if (!($3)) { + $4 = HEAP32[5369]|0; + $5 = HEAP32[(22688)>>2]|0; + FUNCTION_TABLE_vi[$4 & 31]($5); + } + $6 = HEAP32[(22692)>>2]|0; + _glBindBuffer(34962,($6|0)); + $7 = HEAP32[5665]|0; + $8 = ($7*12)|0; + $9 = HEAP32[(22672)>>2]|0; + _glBufferSubData(34962,0,($8|0),($9|0)); + $10 = HEAP32[(22696)>>2]|0; + _glBindBuffer(34962,($10|0)); + $11 = HEAP32[(22668)>>2]|0; + $12 = $11 << 2; + $13 = HEAP32[(22680)>>2]|0; + _glBufferSubData(34962,0,($12|0),($13|0)); + } + $14 = HEAP32[5677]|0; + $15 = ($14|0)>(0); + if ($15) { + $16 = HEAP32[5367]|0; + $17 = ($16|0)==(0); + if (!($17)) { + $18 = HEAP32[5369]|0; + $19 = HEAP32[(22736)>>2]|0; + FUNCTION_TABLE_vi[$18 & 31]($19); + } + $20 = HEAP32[(22740)>>2]|0; + _glBindBuffer(34962,($20|0)); + $21 = HEAP32[5677]|0; + $22 = ($21*12)|0; + $23 = HEAP32[(22720)>>2]|0; + _glBufferSubData(34962,0,($22|0),($23|0)); + $24 = HEAP32[(22744)>>2]|0; + _glBindBuffer(34962,($24|0)); + $25 = HEAP32[(22716)>>2]|0; + $26 = $25 << 2; + $27 = HEAP32[(22728)>>2]|0; + _glBufferSubData(34962,0,($26|0),($27|0)); + } + $28 = HEAP32[5689]|0; + $29 = ($28|0)>(0); + if ($29) { + $30 = HEAP32[5367]|0; + $31 = ($30|0)==(0); + if (!($31)) { + $32 = HEAP32[5369]|0; + $33 = HEAP32[(22784)>>2]|0; + FUNCTION_TABLE_vi[$32 & 31]($33); + } + $34 = HEAP32[(22788)>>2]|0; + _glBindBuffer(34962,($34|0)); + $35 = HEAP32[5689]|0; + $36 = ($35*12)|0; + $37 = HEAP32[(22768)>>2]|0; + _glBufferSubData(34962,0,($36|0),($37|0)); + $38 = HEAP32[(22792)>>2]|0; + _glBindBuffer(34962,($38|0)); + $39 = HEAP32[5689]|0; + $40 = $39 << 3; + $41 = HEAP32[(22772)>>2]|0; + _glBufferSubData(34962,0,($40|0),($41|0)); + $42 = HEAP32[(22796)>>2]|0; + _glBindBuffer(34962,($42|0)); + $43 = HEAP32[5689]|0; + $44 = $43 << 2; + $45 = HEAP32[(22776)>>2]|0; + _glBufferSubData(34962,0,($44|0),($45|0)); + } + $46 = HEAP32[5367]|0; + $47 = ($46|0)==(0); + if ($47) { + return; + } + $48 = HEAP32[5369]|0; + FUNCTION_TABLE_vi[$48 & 31](0); + return; +} +function _DrawDefaultBuffers() { + var $$ = 0, $$02830 = 0, $$02932 = 0, $$031 = 0, $$byval_copy2 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0; + var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0; + var $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0; + var $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0; + var $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $modelview$byval_copy = 0; + var $or$cond = 0, $or$cond3 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 320|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(320|0); + $$byval_copy2 = sp + 256|0; + $modelview$byval_copy = sp + 192|0; + $0 = sp + 128|0; + $1 = sp + 64|0; + $2 = sp; + dest=$0; src=21336; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$1; src=21400; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + $3 = HEAP32[5752]|0; + $4 = ($3|0)!=(0); + $$ = $4 ? 2 : 1; + $$02932 = 0; + while(1) { + if ($4) { + dest=$modelview$byval_copy; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$$byval_copy2; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _SetStereoView($$02932,$modelview$byval_copy,$$byval_copy2); + } + $8 = HEAP32[5665]|0; + $9 = ($8|0)>(0); + $10 = HEAP32[5677]|0; + $11 = ($10|0)>(0); + $or$cond = $9 | $11; + $12 = HEAP32[5689]|0; + $13 = ($12|0)>(0); + $or$cond3 = $or$cond | $13; + if ($or$cond3) { + $14 = HEAP32[5389]|0; + _glUseProgram(($14|0)); + dest=$modelview$byval_copy; src=21400; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$$byval_copy2; src=21336; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixMultiply($2,$modelview$byval_copy,$$byval_copy2); + $15 = HEAP32[(21584)>>2]|0; + dest=$$byval_copy2; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + $16 = (_MatrixToFloat($$byval_copy2)|0); + _glUniformMatrix4fv(($15|0),1,0,($16|0)); + $17 = HEAP32[(21588)>>2]|0; + _glUniform4f(($17|0),1.0,1.0,1.0,1.0); + $18 = HEAP32[(21600)>>2]|0; + _glUniform1i(($18|0),0); + } + $19 = HEAP32[5665]|0; + $20 = ($19|0)>(0); + if ($20) { + $21 = HEAP32[5374]|0; + _glBindTexture(3553,($21|0)); + $22 = HEAP32[5367]|0; + $23 = ($22|0)==(0); + if ($23) { + $26 = HEAP32[(22692)>>2]|0; + _glBindBuffer(34962,($26|0)); + $27 = HEAP32[(21560)>>2]|0; + _glVertexAttribPointer(($27|0),3,5126,0,0,(0|0)); + $28 = HEAP32[(21560)>>2]|0; + _glEnableVertexAttribArray(($28|0)); + $29 = HEAP32[(22696)>>2]|0; + _glBindBuffer(34962,($29|0)); + $30 = HEAP32[(21580)>>2]|0; + _glVertexAttribPointer(($30|0),4,5121,1,0,(0|0)); + $31 = HEAP32[(21580)>>2]|0; + _glEnableVertexAttribArray(($31|0)); + } else { + $24 = HEAP32[5369]|0; + $25 = HEAP32[(22688)>>2]|0; + FUNCTION_TABLE_vi[$24 & 31]($25); + } + $32 = HEAP32[5665]|0; + _glDrawArrays(1,0,($32|0)); + $33 = HEAP32[5367]|0; + $34 = ($33|0)==(0); + if ($34) { + _glBindBuffer(34962,0); + } + _glBindTexture(3553,0); + } + $35 = HEAP32[5677]|0; + $36 = ($35|0)>(0); + if ($36) { + $37 = HEAP32[5374]|0; + _glBindTexture(3553,($37|0)); + $38 = HEAP32[5367]|0; + $39 = ($38|0)==(0); + if ($39) { + $42 = HEAP32[(22740)>>2]|0; + _glBindBuffer(34962,($42|0)); + $43 = HEAP32[(21560)>>2]|0; + _glVertexAttribPointer(($43|0),3,5126,0,0,(0|0)); + $44 = HEAP32[(21560)>>2]|0; + _glEnableVertexAttribArray(($44|0)); + $45 = HEAP32[(22744)>>2]|0; + _glBindBuffer(34962,($45|0)); + $46 = HEAP32[(21580)>>2]|0; + _glVertexAttribPointer(($46|0),4,5121,1,0,(0|0)); + $47 = HEAP32[(21580)>>2]|0; + _glEnableVertexAttribArray(($47|0)); + } else { + $40 = HEAP32[5369]|0; + $41 = HEAP32[(22736)>>2]|0; + FUNCTION_TABLE_vi[$40 & 31]($41); + } + $48 = HEAP32[5677]|0; + _glDrawArrays(4,0,($48|0)); + $49 = HEAP32[5367]|0; + $50 = ($49|0)==(0); + if ($50) { + _glBindBuffer(34962,0); + } + _glBindTexture(3553,0); + } + $51 = HEAP32[5689]|0; + $52 = ($51|0)>(0); + if ($52) { + $53 = HEAP32[5367]|0; + $54 = ($53|0)==(0); + if ($54) { + $57 = HEAP32[(22788)>>2]|0; + _glBindBuffer(34962,($57|0)); + $58 = HEAP32[(21560)>>2]|0; + _glVertexAttribPointer(($58|0),3,5126,0,0,(0|0)); + $59 = HEAP32[(21560)>>2]|0; + _glEnableVertexAttribArray(($59|0)); + $60 = HEAP32[(22792)>>2]|0; + _glBindBuffer(34962,($60|0)); + $61 = HEAP32[(21564)>>2]|0; + _glVertexAttribPointer(($61|0),2,5126,0,0,(0|0)); + $62 = HEAP32[(21564)>>2]|0; + _glEnableVertexAttribArray(($62|0)); + $63 = HEAP32[(22796)>>2]|0; + _glBindBuffer(34962,($63|0)); + $64 = HEAP32[(21580)>>2]|0; + _glVertexAttribPointer(($64|0),4,5121,1,0,(0|0)); + $65 = HEAP32[(21580)>>2]|0; + _glEnableVertexAttribArray(($65|0)); + $66 = HEAP32[(22800)>>2]|0; + _glBindBuffer(34963,($66|0)); + } else { + $55 = HEAP32[5369]|0; + $56 = HEAP32[(22784)>>2]|0; + FUNCTION_TABLE_vi[$55 & 31]($56); + } + $67 = HEAP32[5405]|0; + $68 = ($67|0)>(0); + if ($68) { + $$02830 = 0;$$031 = 0; + while(1) { + $71 = HEAP32[5404]|0; + $72 = (($71) + (($$031*144)|0)|0); + $73 = HEAP32[$72>>2]|0; + $74 = (($73|0) / 4)&-1; + $75 = ($74*6)|0; + $76 = (((($71) + (($$031*144)|0)|0)) + 8|0); + $77 = HEAP32[$76>>2]|0; + _glBindTexture(3553,($77|0)); + $78 = $$02830 << 1; + $79 = $78; + _glDrawElements(4,($75|0),5123,($79|0)); + $80 = HEAP32[5404]|0; + $81 = (($80) + (($$031*144)|0)|0); + $82 = HEAP32[$81>>2]|0; + $83 = (($82|0) / 4)&-1; + $84 = ($83*6)|0; + $85 = (($84) + ($$02830))|0; + $86 = (($$031) + 1)|0; + $87 = HEAP32[5405]|0; + $88 = ($86|0)<($87|0); + if ($88) { + $$02830 = $85;$$031 = $86; + } else { + break; + } + } + } + $69 = HEAP32[5367]|0; + $70 = ($69|0)==(0); + if ($70) { + _glBindBuffer(34962,0); + _glBindBuffer(34963,0); + } + _glBindTexture(3553,0); + } + $89 = HEAP32[5367]|0; + $90 = ($89|0)==(0); + if (!($90)) { + $91 = HEAP32[5369]|0; + FUNCTION_TABLE_vi[$91 & 31](0); + } + _glUseProgram(0); + $92 = (($$02932) + 1)|0; + $93 = ($92|0)<($$|0); + if ($93) { + $$02932 = $92; + } else { + break; + } + } + HEAP32[5405] = 1; + $5 = HEAP32[5374]|0; + $6 = HEAP32[5404]|0; + $7 = ((($6)) + 8|0); + HEAP32[$7>>2] = $5; + HEAP32[$6>>2] = 0; + HEAP32[5665] = 0; + HEAP32[(22668)>>2] = 0; + HEAP32[5677] = 0; + HEAP32[(22716)>>2] = 0; + HEAP32[5689] = 0; + HEAP32[(22760)>>2] = 0; + HEAP32[(22764)>>2] = 0; + HEAPF32[752] = -1.0; + dest=21336; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=21400; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + STACKTOP = sp;return; +} +function _SetStereoView($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$byval_copy = 0, $$byval_copy3 = 0, $10 = 0, $11 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0); + $$byval_copy3 = sp + 192|0; + $$byval_copy = sp + 64|0; + $3 = sp; + $4 = sp + 128|0; + dest=$3; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + $5 = HEAP32[5663]|0; + $6 = Math_imul($5, $0)|0; + $7 = (($6|0) / 2)&-1; + $8 = (($5|0) / 2)&-1; + $9 = HEAP32[5664]|0; + _rlViewport($7,0,$8,$9); + $10 = (23240 + ($0<<6)|0); + dest=$$byval_copy; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$$byval_copy3; src=$10; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixMultiply($4,$$byval_copy,$$byval_copy3); + $11 = (23112 + ($0<<6)|0); + dest=$3; src=$11; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$$byval_copy3; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _SetMatrixModelview($$byval_copy3); + dest=$$byval_copy3; src=$3; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _SetMatrixProjection($$byval_copy3); + STACKTOP = sp;return; +} +function _SetMatrixModelview($0) { + $0 = $0|0; + var dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + dest=21400; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + return; +} +function _SetMatrixProjection($0) { + $0 = $0|0; + var dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + dest=21336; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + return; +} +function _rlPushMatrix() { + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $vararg_buffer = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $vararg_buffer = sp; + $0 = HEAP32[5842]|0; + $1 = ($0|0)==(15); + if ($1) { + HEAP32[$vararg_buffer>>2] = 16; + _TraceLog(2,10639,$vararg_buffer); + } + $2 = HEAP32[5842]|0; + $3 = (21628 + ($2<<6)|0); + $4 = HEAP32[5333]|0; + dest=$3; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _rlLoadIdentity(); + $5 = HEAP32[5842]|0; + $6 = (($5) + 1)|0; + HEAP32[5842] = $6; + $7 = HEAP32[5366]|0; + $8 = ($7|0)==(5888); + if (!($8)) { + STACKTOP = sp;return; + } + HEAP32[5843] = 1; + STACKTOP = sp;return; +} +function _rlPopMatrix() { + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[5842]|0; + $1 = ($0|0)>(0); + if (!($1)) { + return; + } + $2 = HEAP32[5842]|0; + $3 = (($2) + -1)|0; + $4 = (21628 + ($3<<6)|0); + $5 = HEAP32[5333]|0; + _memmove(($5|0),($4|0),64)|0; + $6 = (($2) + -1)|0; + HEAP32[5842] = $6; + return; +} +function _GetRandomValue($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$ = 0, $$10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $ispos = 0, $neg = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ($0|0)>($1|0); + $$ = $2 ? $0 : $1; + $$10 = $2 ? $1 : $0; + $3 = (_rand()|0); + $4 = (($$) - ($$10))|0; + $ispos = ($4|0)>(-1); + $neg = (0 - ($4))|0; + $5 = $ispos ? $4 : $neg; + $6 = (($5) + 1)|0; + $7 = (($3|0) % ($6|0))&-1; + $8 = (($7) + ($$10))|0; + return ($8|0); +} +function _Fade($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = +$2; + var $$0 = 0.0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0.0, $8 = 0.0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = $2 < 0.0; + if ($3) { + $$0 = 0.0; + } else { + $4 = $2 > 1.0; + if ($4) { + $$0 = 1.0; + } else { + $$0 = $2; + } + } + $5 = ((($1)) + 3|0); + $6 = HEAP8[$5>>0]|0; + $7 = (+($6&255)); + $8 = $$0 * $7; + $9 = HEAP8[$1>>0]|0; + HEAP8[$0>>0] = $9; + $10 = ((($0)) + 1|0); + $11 = ((($1)) + 1|0); + $12 = HEAP8[$11>>0]|0; + HEAP8[$10>>0] = $12; + $13 = ((($0)) + 2|0); + $14 = ((($1)) + 2|0); + $15 = HEAP8[$14>>0]|0; + HEAP8[$13>>0] = $15; + $16 = ((($0)) + 3|0); + $17 = (~~(($8))&255); + HEAP8[$16>>0] = $17; + return; +} +function _IsFileExtension($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$ = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = (_strrchr($0,46)|0); + $3 = ($2|0)==(0|0); + if ($3) { + return 0; + } else { + $4 = (_strcmp($2,$1)|0); + $5 = ($4|0)==(0); + $$ = $5&1; + return ($$|0); + } + return (0)|0; +} +function _IsKeyPressed($0) { + $0 = $0|0; + var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (25123 + ($0)|0); + $2 = HEAP8[$1>>0]|0; + $3 = (25635 + ($0)|0); + $4 = HEAP8[$3>>0]|0; + $5 = ($2<<24>>24)!=($4<<24>>24); + $6 = ($2<<24>>24)==(1); + $or$cond = $6 & $5; + $$0 = $or$cond&1; + return ($$0|0); +} +function _rlTranslatef($0,$1,$2) { + $0 = +$0; + $1 = +$1; + $2 = +$2; + var $$byval_copy = 0, $$byval_copy1 = 0, $3 = 0, $4 = 0, $5 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0); + $$byval_copy1 = sp + 192|0; + $$byval_copy = sp + 128|0; + $3 = sp + 64|0; + $4 = sp; + _MatrixTranslate($3,$0,$1,$2); + _MatrixTranspose($3); + $5 = HEAP32[5333]|0; + dest=$$byval_copy; src=$5; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$$byval_copy1; src=$3; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixMultiply($4,$$byval_copy,$$byval_copy1); + dest=$5; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + STACKTOP = sp;return; +} +function _rlRotatef($0,$1,$2,$3) { + $0 = +$0; + $1 = +$1; + $2 = +$2; + $3 = +$3; + var $$byval_copy1 = 0, $$byval_copy2 = 0, $10 = 0.0, $11 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 336|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(336|0); + $$byval_copy2 = sp + 272|0; + $$byval_copy1 = sp + 208|0; + $4 = sp + 144|0; + $5 = sp + 64|0; + $6 = sp + 80|0; + $7 = sp; + _MatrixIdentity($4); + HEAPF32[$5>>2] = $1; + $8 = ((($5)) + 4|0); + HEAPF32[$8>>2] = $2; + $9 = ((($5)) + 8|0); + HEAPF32[$9>>2] = $3; + _VectorNormalize($5); + $10 = $0 * 0.01745329238474369; + ;HEAP32[$$byval_copy2>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$$byval_copy2+8>>2]=HEAP32[$5+8>>2]|0; + _MatrixRotate($6,$$byval_copy2,$10); + dest=$4; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixTranspose($4); + $11 = HEAP32[5333]|0; + dest=$$byval_copy1; src=$11; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$$byval_copy2; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixMultiply($7,$$byval_copy1,$$byval_copy2); + dest=$11; src=$7; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + STACKTOP = sp;return; +} +function _rlBegin($0) { + $0 = $0|0; + var label = 0, sp = 0; + sp = STACKTOP; + HEAP32[5406] = $0; + return; +} +function _rlEnd() { + var $$03956 = 0, $$04052 = 0, $$04154 = 0, $$04248 = 0, $$04347 = 0, $$byval_copy = 0, $$promoted = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0; + var $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0; + var $128 = 0, $129 = 0, $13 = 0.0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0; + var $146 = 0, $147 = 0, $148 = 0.0, $149 = 0.0, $15 = 0.0, $16 = 0, $17 = 0.0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0; + var $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0; + var $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond = 0, $exitcond60 = 0, $exitcond63 = 0; + var $scevgep = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $$byval_copy = sp; + $0 = HEAP32[5843]|0; + $1 = ($0|0)==(0); + if (!($1)) { + $2 = HEAP32[5844]|0; + $3 = ($2|0)>(0); + if ($3) { + $$03956 = 0; + while(1) { + $6 = HEAP32[5403]|0; + $7 = (($6) + (($$03956*12)|0)|0); + $8 = HEAP32[5333]|0; + dest=$$byval_copy; src=$8; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _VectorTransform($7,$$byval_copy); + $9 = (($$03956) + 1)|0; + $5 = HEAP32[5844]|0; + $10 = ($9|0)<($5|0); + if ($10) { + $$03956 = $9; + } else { + break; + } + } + HEAP32[5843] = 0; + $4 = ($5|0)>(0); + if ($4) { + $$04154 = 0; + while(1) { + $11 = HEAP32[5403]|0; + $12 = (($11) + (($$04154*12)|0)|0); + $13 = +HEAPF32[$12>>2]; + $14 = (((($11) + (($$04154*12)|0)|0)) + 4|0); + $15 = +HEAPF32[$14>>2]; + $16 = (((($11) + (($$04154*12)|0)|0)) + 8|0); + $17 = +HEAPF32[$16>>2]; + _rlVertex3f($13,$15,$17); + $18 = (($$04154) + 1)|0; + $19 = HEAP32[5844]|0; + $20 = ($18|0)<($19|0); + if ($20) { + $$04154 = $18; + } else { + break; + } + } + } + } else { + HEAP32[5843] = 0; + } + HEAP32[5844] = 0; + } + $21 = HEAP32[5406]|0; + switch ($21|0) { + case 1: { + $22 = HEAP32[5665]|0; + $23 = HEAP32[(22668)>>2]|0; + $24 = ($22|0)==($23|0); + if ($24) { + $148 = +HEAPF32[752]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[752] = $149; + STACKTOP = sp;return; + } + $25 = (($22) - ($23))|0; + $26 = ($25|0)>(0); + if ($26) { + $$04347 = 0; + } else { + $148 = +HEAPF32[752]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[752] = $149; + STACKTOP = sp;return; + } + while(1) { + $27 = HEAP32[(22680)>>2]|0; + $28 = HEAP32[(22668)>>2]|0; + $29 = $28 << 2; + $30 = (($29) + -4)|0; + $31 = (($27) + ($30)|0); + $32 = HEAP8[$31>>0]|0; + $33 = (($27) + ($29)|0); + HEAP8[$33>>0] = $32; + $34 = HEAP32[(22680)>>2]|0; + $35 = HEAP32[(22668)>>2]|0; + $36 = $35 << 2; + $37 = (($36) + -3)|0; + $38 = (($34) + ($37)|0); + $39 = HEAP8[$38>>0]|0; + $40 = $36 | 1; + $41 = (($34) + ($40)|0); + HEAP8[$41>>0] = $39; + $42 = HEAP32[(22680)>>2]|0; + $43 = HEAP32[(22668)>>2]|0; + $44 = $43 << 2; + $45 = (($44) + -2)|0; + $46 = (($42) + ($45)|0); + $47 = HEAP8[$46>>0]|0; + $48 = $44 | 2; + $49 = (($42) + ($48)|0); + HEAP8[$49>>0] = $47; + $50 = HEAP32[(22680)>>2]|0; + $51 = HEAP32[(22668)>>2]|0; + $52 = $51 << 2; + $53 = (($52) + -1)|0; + $54 = (($50) + ($53)|0); + $55 = HEAP8[$54>>0]|0; + $56 = $52 | 3; + $57 = (($50) + ($56)|0); + HEAP8[$57>>0] = $55; + $58 = HEAP32[(22668)>>2]|0; + $59 = (($58) + 1)|0; + HEAP32[(22668)>>2] = $59; + $60 = (($$04347) + 1)|0; + $exitcond = ($60|0)==($25|0); + if ($exitcond) { + break; + } else { + $$04347 = $60; + } + } + $148 = +HEAPF32[752]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[752] = $149; + STACKTOP = sp;return; + break; + } + case 4: { + $61 = HEAP32[5677]|0; + $62 = HEAP32[(22716)>>2]|0; + $63 = ($61|0)==($62|0); + if ($63) { + $148 = +HEAPF32[752]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[752] = $149; + STACKTOP = sp;return; + } + $64 = (($61) - ($62))|0; + $65 = ($64|0)>(0); + if ($65) { + $$04248 = 0; + } else { + $148 = +HEAPF32[752]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[752] = $149; + STACKTOP = sp;return; + } + while(1) { + $66 = HEAP32[(22728)>>2]|0; + $67 = HEAP32[(22716)>>2]|0; + $68 = $67 << 2; + $69 = (($68) + -4)|0; + $70 = (($66) + ($69)|0); + $71 = HEAP8[$70>>0]|0; + $72 = (($66) + ($68)|0); + HEAP8[$72>>0] = $71; + $73 = HEAP32[(22728)>>2]|0; + $74 = HEAP32[(22716)>>2]|0; + $75 = $74 << 2; + $76 = (($75) + -3)|0; + $77 = (($73) + ($76)|0); + $78 = HEAP8[$77>>0]|0; + $79 = $75 | 1; + $80 = (($73) + ($79)|0); + HEAP8[$80>>0] = $78; + $81 = HEAP32[(22728)>>2]|0; + $82 = HEAP32[(22716)>>2]|0; + $83 = $82 << 2; + $84 = (($83) + -2)|0; + $85 = (($81) + ($84)|0); + $86 = HEAP8[$85>>0]|0; + $87 = $83 | 2; + $88 = (($81) + ($87)|0); + HEAP8[$88>>0] = $86; + $89 = HEAP32[(22728)>>2]|0; + $90 = HEAP32[(22716)>>2]|0; + $91 = $90 << 2; + $92 = (($91) + -1)|0; + $93 = (($89) + ($92)|0); + $94 = HEAP8[$93>>0]|0; + $95 = $91 | 3; + $96 = (($89) + ($95)|0); + HEAP8[$96>>0] = $94; + $97 = HEAP32[(22716)>>2]|0; + $98 = (($97) + 1)|0; + HEAP32[(22716)>>2] = $98; + $99 = (($$04248) + 1)|0; + $exitcond60 = ($99|0)==($64|0); + if ($exitcond60) { + break; + } else { + $$04248 = $99; + } + } + $148 = +HEAPF32[752]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[752] = $149; + STACKTOP = sp;return; + break; + } + case 7: { + $100 = HEAP32[5689]|0; + $101 = HEAP32[(22764)>>2]|0; + $102 = ($100|0)==($101|0); + if (!($102)) { + $103 = (($100) - ($101))|0; + $104 = ($103|0)>(0); + if ($104) { + $$04052 = 0; + while(1) { + $105 = HEAP32[(22776)>>2]|0; + $106 = HEAP32[(22764)>>2]|0; + $107 = $106 << 2; + $108 = (($107) + -4)|0; + $109 = (($105) + ($108)|0); + $110 = HEAP8[$109>>0]|0; + $111 = (($105) + ($107)|0); + HEAP8[$111>>0] = $110; + $112 = HEAP32[(22776)>>2]|0; + $113 = HEAP32[(22764)>>2]|0; + $114 = $113 << 2; + $115 = (($114) + -3)|0; + $116 = (($112) + ($115)|0); + $117 = HEAP8[$116>>0]|0; + $118 = $114 | 1; + $119 = (($112) + ($118)|0); + HEAP8[$119>>0] = $117; + $120 = HEAP32[(22776)>>2]|0; + $121 = HEAP32[(22764)>>2]|0; + $122 = $121 << 2; + $123 = (($122) + -2)|0; + $124 = (($120) + ($123)|0); + $125 = HEAP8[$124>>0]|0; + $126 = $122 | 2; + $127 = (($120) + ($126)|0); + HEAP8[$127>>0] = $125; + $128 = HEAP32[(22776)>>2]|0; + $129 = HEAP32[(22764)>>2]|0; + $130 = $129 << 2; + $131 = (($130) + -1)|0; + $132 = (($128) + ($131)|0); + $133 = HEAP8[$132>>0]|0; + $134 = $130 | 3; + $135 = (($128) + ($134)|0); + HEAP8[$135>>0] = $133; + $136 = HEAP32[(22764)>>2]|0; + $137 = (($136) + 1)|0; + HEAP32[(22764)>>2] = $137; + $138 = (($$04052) + 1)|0; + $exitcond63 = ($138|0)==($103|0); + if ($exitcond63) { + break; + } else { + $$04052 = $138; + } + } + } + } + $139 = HEAP32[5689]|0; + $140 = HEAP32[(22760)>>2]|0; + $141 = ($139|0)>($140|0); + if (!($141)) { + $148 = +HEAPF32[752]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[752] = $149; + STACKTOP = sp;return; + } + $142 = HEAP32[(22772)>>2]|0; + $$promoted = HEAP32[(22760)>>2]|0; + $143 = $$promoted << 1; + $scevgep = (($142) + ($143<<2)|0); + $144 = (($139) - ($140))|0; + $145 = $144 << 3; + _memset(($scevgep|0),0,($145|0))|0; + $146 = (($139) + ($$promoted))|0; + $147 = (($146) - ($140))|0; + HEAP32[(22760)>>2] = $147; + $148 = +HEAPF32[752]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[752] = $149; + STACKTOP = sp;return; + break; + } + default: { + $148 = +HEAPF32[752]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[752] = $149; + STACKTOP = sp;return; + } + } +} +function _rlVertex3f($0,$1,$2) { + $0 = +$0; + $1 = +$1; + $2 = +$2; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer3 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $vararg_buffer3 = sp + 16|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $3 = HEAP32[5843]|0; + $4 = ($3|0)==(0); + if (!($4)) { + $5 = HEAP32[5403]|0; + $6 = HEAP32[5844]|0; + $7 = (($5) + (($6*12)|0)|0); + HEAPF32[$7>>2] = $0; + $8 = (((($5) + (($6*12)|0)|0)) + 4|0); + HEAPF32[$8>>2] = $1; + $9 = (((($5) + (($6*12)|0)|0)) + 8|0); + HEAPF32[$9>>2] = $2; + $10 = (($6) + 1)|0; + HEAP32[5844] = $10; + STACKTOP = sp;return; + } + $11 = HEAP32[5406]|0; + switch ($11|0) { + case 1: { + $12 = HEAP32[5665]|0; + $13 = ($12|0)<(2048); + if ($13) { + $14 = HEAP32[(22672)>>2]|0; + $15 = ($12*3)|0; + $16 = (($14) + ($15<<2)|0); + HEAPF32[$16>>2] = $0; + $17 = (($15) + 1)|0; + $18 = (($14) + ($17<<2)|0); + HEAPF32[$18>>2] = $1; + $19 = (($15) + 2)|0; + $20 = (($14) + ($19<<2)|0); + HEAPF32[$20>>2] = $2; + $21 = (($12) + 1)|0; + HEAP32[5665] = $21; + STACKTOP = sp;return; + } else { + _TraceLog(2,10677,$vararg_buffer); + STACKTOP = sp;return; + } + break; + } + case 4: { + $22 = HEAP32[5677]|0; + $23 = ($22|0)<(6144); + if ($23) { + $24 = HEAP32[(22720)>>2]|0; + $25 = ($22*3)|0; + $26 = (($24) + ($25<<2)|0); + HEAPF32[$26>>2] = $0; + $27 = (($25) + 1)|0; + $28 = (($24) + ($27<<2)|0); + HEAPF32[$28>>2] = $1; + $29 = (($25) + 2)|0; + $30 = (($24) + ($29<<2)|0); + HEAPF32[$30>>2] = $2; + $31 = (($22) + 1)|0; + HEAP32[5677] = $31; + STACKTOP = sp;return; + } else { + _TraceLog(2,10702,$vararg_buffer1); + STACKTOP = sp;return; + } + break; + } + case 7: { + $32 = HEAP32[5689]|0; + $33 = ($32|0)<(4096); + if ($33) { + $34 = HEAP32[(22768)>>2]|0; + $35 = ($32*3)|0; + $36 = (($34) + ($35<<2)|0); + HEAPF32[$36>>2] = $0; + $37 = (($35) + 1)|0; + $38 = (($34) + ($37<<2)|0); + HEAPF32[$38>>2] = $1; + $39 = (($35) + 2)|0; + $40 = (($34) + ($39<<2)|0); + HEAPF32[$40>>2] = $2; + $41 = (($32) + 1)|0; + HEAP32[5689] = $41; + $42 = HEAP32[5404]|0; + $43 = HEAP32[5405]|0; + $44 = (($43) + -1)|0; + $45 = (($42) + (($44*144)|0)|0); + $46 = HEAP32[$45>>2]|0; + $47 = (($46) + 1)|0; + HEAP32[$45>>2] = $47; + STACKTOP = sp;return; + } else { + _TraceLog(2,10731,$vararg_buffer3); + STACKTOP = sp;return; + } + break; + } + default: { + STACKTOP = sp;return; + } + } +} +function _rlVertex2f($0,$1) { + $0 = +$0; + $1 = +$1; + var $2 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[752]; + _rlVertex3f($0,$1,$2); + return; +} +function _rlVertex2i($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0.0, $3 = 0.0, $4 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = (+($0|0)); + $3 = (+($1|0)); + $4 = +HEAPF32[752]; + _rlVertex3f($2,$3,$4); + return; +} +function _rlTexCoord2f($0,$1) { + $0 = +$0; + $1 = +$1; + var $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = HEAP32[5406]|0; + $3 = ($2|0)==(7); + if (!($3)) { + return; + } + $4 = HEAP32[(22772)>>2]|0; + $5 = HEAP32[(22760)>>2]|0; + $6 = $5 << 1; + $7 = (($4) + ($6<<2)|0); + HEAPF32[$7>>2] = $0; + $8 = $6 | 1; + $9 = (($4) + ($8<<2)|0); + HEAPF32[$9>>2] = $1; + $10 = (($5) + 1)|0; + HEAP32[(22760)>>2] = $10; + return; +} +function _rlNormal3f($0,$1,$2) { + $0 = +$0; + $1 = +$1; + $2 = +$2; + var label = 0, sp = 0; + sp = STACKTOP; + return; +} +function _rlColor4ub($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$sink37 = 0, $$sink38 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $4 = 0, $5 = 0; + var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $4 = HEAP32[5406]|0; + switch ($4|0) { + case 1: { + $$sink37 = (22668);$$sink38 = (22680); + break; + } + case 4: { + $$sink37 = (22716);$$sink38 = (22728); + break; + } + case 7: { + $$sink37 = (22764);$$sink38 = (22776); + break; + } + default: { + return; + } + } + $5 = HEAP32[$$sink38>>2]|0; + $6 = HEAP32[$$sink37>>2]|0; + $7 = $6 << 2; + $8 = (($5) + ($7)|0); + HEAP8[$8>>0] = $0; + $9 = HEAP32[$$sink38>>2]|0; + $10 = HEAP32[$$sink37>>2]|0; + $11 = $10 << 2; + $12 = $11 | 1; + $13 = (($9) + ($12)|0); + HEAP8[$13>>0] = $1; + $14 = HEAP32[$$sink38>>2]|0; + $15 = HEAP32[$$sink37>>2]|0; + $16 = $15 << 2; + $17 = $16 | 2; + $18 = (($14) + ($17)|0); + HEAP8[$18>>0] = $2; + $19 = HEAP32[$$sink38>>2]|0; + $20 = HEAP32[$$sink37>>2]|0; + $21 = $20 << 2; + $22 = $21 | 3; + $23 = (($19) + ($22)|0); + HEAP8[$23>>0] = $3; + $24 = HEAP32[$$sink37>>2]|0; + $25 = (($24) + 1)|0; + HEAP32[$$sink37>>2] = $25; + return; +} +function _rlEnableTexture($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP32[5404]|0; + $2 = HEAP32[5405]|0; + $3 = (($2) + -1)|0; + $4 = (((($1) + (($3*144)|0)|0)) + 8|0); + $5 = HEAP32[$4>>2]|0; + $6 = ($5|0)==($0|0); + if ($6) { + return; + } + $7 = (($1) + (($3*144)|0)|0); + $8 = HEAP32[$7>>2]|0; + $9 = ($8|0)>(0); + if ($9) { + $10 = (($2) + 1)|0; + HEAP32[5405] = $10; + } + $11 = HEAP32[5405]|0; + $12 = (($11) + -1)|0; + $13 = (((($1) + (($12*144)|0)|0)) + 8|0); + HEAP32[$13>>2] = $0; + $14 = (($1) + (($12*144)|0)|0); + HEAP32[$14>>2] = 0; + return; +} +function _rlDisableTexture() { + var $0 = 0, $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[5689]|0; + $1 = ($0|0)>(4095); + if (!($1)) { + return; + } + _rlglDraw(); + return; +} +function _GetDefaultTexture($0) { + $0 = $0|0; + var $$sroa$4$0$$sroa_idx2 = 0, $$sroa$5$0$$sroa_idx4 = 0, $$sroa$6$0$$sroa_idx6 = 0, $$sroa$7$0$$sroa_idx8 = 0, $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP32[5374]|0; + HEAP32[$0>>2] = $1; + $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); + HEAP32[$$sroa$4$0$$sroa_idx2>>2] = 1; + $$sroa$5$0$$sroa_idx4 = ((($0)) + 8|0); + HEAP32[$$sroa$5$0$$sroa_idx4>>2] = 1; + $$sroa$6$0$$sroa_idx6 = ((($0)) + 12|0); + HEAP32[$$sroa$6$0$$sroa_idx6>>2] = 1; + $$sroa$7$0$$sroa_idx8 = ((($0)) + 16|0); + HEAP32[$$sroa$7$0$$sroa_idx8>>2] = 7; + return; +} +function _DrawCircleV($0,$1,$2) { + $0 = $0|0; + $1 = +$1; + $2 = $2|0; + var $$02627 = 0, $$028 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0.0, $14 = 0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0, $26 = 0.0, $27 = 0.0; + var $28 = 0.0, $29 = 0.0, $3 = 0, $30 = 0.0, $31 = 0.0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; + var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0.0, $51 = 0, $52 = 0.0, $53 = 0.0, $54 = 0.0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0.0, $61 = 0.0, $62 = 0, $63 = 0.0; + var $64 = 0.0, $65 = 0.0, $66 = 0.0, $67 = 0.0, $68 = 0.0, $69 = 0.0, $7 = 0, $70 = 0.0, $71 = 0.0, $72 = 0, $73 = 0.0, $74 = 0.0, $75 = 0.0, $76 = 0.0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0, $80 = 0.0, $81 = 0.0; + var $82 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $3 = sp; + $4 = (_rlGetVersion()|0); + $5 = ($4|0)==(1); + if ($5) { + _rlBegin(4); + $6 = HEAP8[$2>>0]|0; + $7 = ((($2)) + 1|0); + $8 = HEAP8[$7>>0]|0; + $9 = ((($2)) + 2|0); + $10 = HEAP8[$9>>0]|0; + $11 = ((($2)) + 3|0); + $12 = HEAP8[$11>>0]|0; + $13 = +HEAPF32[$0>>2]; + $14 = ((($0)) + 4|0); + $$02627 = 0; + while(1) { + _rlColor4ub($6,$8,$10,$12); + $15 = +HEAPF32[$14>>2]; + _rlVertex2f($13,$15); + $16 = (+($$02627|0)); + $17 = $16 * 0.01745329238474369; + $18 = (+Math_sin((+$17))); + $19 = $18 * $1; + $20 = $13 + $19; + $21 = +HEAPF32[$14>>2]; + $22 = (+Math_cos((+$17))); + $23 = $22 * $1; + $24 = $21 + $23; + _rlVertex2f($20,$24); + $25 = (($$02627) + 10)|0; + $26 = (+($25|0)); + $27 = $26 * 0.01745329238474369; + $28 = (+Math_sin((+$27))); + $29 = $28 * $1; + $30 = $13 + $29; + $31 = +HEAPF32[$14>>2]; + $32 = (+Math_cos((+$27))); + $33 = $32 * $1; + $34 = $31 + $33; + _rlVertex2f($30,$34); + $35 = ($25|0)<(360); + if ($35) { + $$02627 = $25; + } else { + break; + } + } + _rlEnd(); + STACKTOP = sp;return; + } + $36 = (_rlGetVersion()|0); + $37 = ($36|0)==(2); + if (!($37)) { + $38 = (_rlGetVersion()|0); + $39 = ($38|0)==(3); + if (!($39)) { + $40 = (_rlGetVersion()|0); + $41 = ($40|0)==(4); + if (!($41)) { + STACKTOP = sp;return; + } + } + } + _GetDefaultTexture($3); + $42 = HEAP32[$3>>2]|0; + _rlEnableTexture($42); + _rlBegin(7); + $43 = HEAP8[$2>>0]|0; + $44 = ((($2)) + 1|0); + $45 = HEAP8[$44>>0]|0; + $46 = ((($2)) + 2|0); + $47 = HEAP8[$46>>0]|0; + $48 = ((($2)) + 3|0); + $49 = HEAP8[$48>>0]|0; + $50 = +HEAPF32[$0>>2]; + $51 = ((($0)) + 4|0); + $$028 = 0; + while(1) { + _rlColor4ub($43,$45,$47,$49); + $52 = +HEAPF32[$51>>2]; + _rlVertex2f($50,$52); + $53 = (+($$028|0)); + $54 = $53 * 0.01745329238474369; + $55 = (+Math_sin((+$54))); + $56 = $55 * $1; + $57 = $50 + $56; + $58 = +HEAPF32[$51>>2]; + $59 = (+Math_cos((+$54))); + $60 = $59 * $1; + $61 = $58 + $60; + _rlVertex2f($57,$61); + $62 = (($$028) + 10)|0; + $63 = (+($62|0)); + $64 = $63 * 0.01745329238474369; + $65 = (+Math_sin((+$64))); + $66 = $65 * $1; + $67 = $50 + $66; + $68 = +HEAPF32[$51>>2]; + $69 = (+Math_cos((+$64))); + $70 = $69 * $1; + $71 = $68 + $70; + _rlVertex2f($67,$71); + $72 = (($$028) + 20)|0; + $73 = (+($72|0)); + $74 = $73 * 0.01745329238474369; + $75 = (+Math_sin((+$74))); + $76 = $75 * $1; + $77 = $50 + $76; + $78 = +HEAPF32[$51>>2]; + $79 = (+Math_cos((+$74))); + $80 = $79 * $1; + $81 = $78 + $80; + _rlVertex2f($77,$81); + $82 = ($72|0)<(360); + if ($82) { + $$028 = $72; + } else { + break; + } + } + _rlEnd(); + _rlDisableTexture(); + STACKTOP = sp;return; +} +function _DrawCircleLines($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = +$2; + $3 = $3|0; + var $$014 = 0, $10 = 0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0.0, $21 = 0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0.0, $28 = 0.0; + var $29 = 0.0, $30 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + _rlBegin(1); + $4 = HEAP8[$3>>0]|0; + $5 = ((($3)) + 1|0); + $6 = HEAP8[$5>>0]|0; + $7 = ((($3)) + 2|0); + $8 = HEAP8[$7>>0]|0; + $9 = ((($3)) + 3|0); + $10 = HEAP8[$9>>0]|0; + _rlColor4ub($4,$6,$8,$10); + $11 = (+($0|0)); + $12 = (+($1|0)); + $$014 = 0; + while(1) { + $13 = (+($$014|0)); + $14 = $13 * 0.01745329238474369; + $15 = (+Math_sin((+$14))); + $16 = $15 * $2; + $17 = $11 + $16; + $18 = (+Math_cos((+$14))); + $19 = $18 * $2; + $20 = $12 + $19; + _rlVertex2f($17,$20); + $21 = (($$014) + 10)|0; + $22 = (+($21|0)); + $23 = $22 * 0.01745329238474369; + $24 = (+Math_sin((+$23))); + $25 = $24 * $2; + $26 = $11 + $25; + $27 = (+Math_cos((+$23))); + $28 = $27 * $2; + $29 = $12 + $28; + _rlVertex2f($26,$29); + $30 = ($21|0)<(360); + if ($30) { + $$014 = $21; + } else { + break; + } + } + _rlEnd(); + return; +} +function _DrawRectangle($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $10 = 0.0, $11 = 0, $12 = 0.0, $5 = 0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0); + $$byval_copy2 = sp + 32|0; + $$byval_copy1 = sp + 24|0; + $$byval_copy = sp + 16|0; + $5 = sp + 8|0; + $6 = sp; + $7 = (+($0|0)); + HEAPF32[$5>>2] = $7; + $8 = ((($5)) + 4|0); + $9 = (+($1|0)); + HEAPF32[$8>>2] = $9; + $10 = (+($2|0)); + HEAPF32[$6>>2] = $10; + $11 = ((($6)) + 4|0); + $12 = (+($3|0)); + HEAPF32[$11>>2] = $12; + ;HEAP32[$$byval_copy>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$5+4>>2]|0; + ;HEAP32[$$byval_copy1>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$6+4>>2]|0; + ;HEAP8[$$byval_copy2>>0]=HEAP8[$4>>0]|0;HEAP8[$$byval_copy2+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$$byval_copy2+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$$byval_copy2+3>>0]=HEAP8[$4+3>>0]|0; + _DrawRectangleV($$byval_copy,$$byval_copy1,$$byval_copy2); + STACKTOP = sp;return; +} +function _DrawRectangleV($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0.0, $14 = 0, $15 = 0, $16 = 0.0, $17 = 0, $18 = 0, $19 = 0.0, $20 = 0.0, $21 = 0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0, $26 = 0.0, $27 = 0.0, $28 = 0.0, $29 = 0; + var $3 = 0, $30 = 0.0, $31 = 0, $32 = 0.0, $33 = 0, $34 = 0.0, $35 = 0.0, $36 = 0, $37 = 0.0, $38 = 0.0, $39 = 0, $4 = 0, $40 = 0.0, $41 = 0.0, $42 = 0.0, $43 = 0, $44 = 0.0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0.0, $61 = 0, $62 = 0.0, $63 = 0, $64 = 0.0, $65 = 0.0; + var $66 = 0.0, $67 = 0.0, $68 = 0.0, $69 = 0.0, $7 = 0, $70 = 0.0, $71 = 0.0, $72 = 0.0, $73 = 0.0, $74 = 0.0, $75 = 0.0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $3 = sp; + $4 = (_rlGetVersion()|0); + $5 = ($4|0)==(1); + if ($5) { + _rlBegin(4); + $6 = HEAP8[$2>>0]|0; + $7 = ((($2)) + 1|0); + $8 = HEAP8[$7>>0]|0; + $9 = ((($2)) + 2|0); + $10 = HEAP8[$9>>0]|0; + $11 = ((($2)) + 3|0); + $12 = HEAP8[$11>>0]|0; + _rlColor4ub($6,$8,$10,$12); + $13 = +HEAPF32[$0>>2]; + $14 = (~~(($13))); + $15 = ((($0)) + 4|0); + $16 = +HEAPF32[$15>>2]; + $17 = (~~(($16))); + _rlVertex2i($14,$17); + $18 = ((($1)) + 4|0); + $19 = +HEAPF32[$18>>2]; + $20 = $16 + $19; + $21 = (~~(($20))); + _rlVertex2i($14,$21); + $22 = +HEAPF32[$0>>2]; + $23 = +HEAPF32[$1>>2]; + $24 = $22 + $23; + $25 = (~~(($24))); + $26 = +HEAPF32[$15>>2]; + $27 = +HEAPF32[$18>>2]; + $28 = $26 + $27; + $29 = (~~(($28))); + _rlVertex2i($25,$29); + $30 = +HEAPF32[$0>>2]; + $31 = (~~(($30))); + $32 = +HEAPF32[$15>>2]; + $33 = (~~(($32))); + _rlVertex2i($31,$33); + $34 = +HEAPF32[$1>>2]; + $35 = $30 + $34; + $36 = (~~(($35))); + $37 = +HEAPF32[$18>>2]; + $38 = $32 + $37; + $39 = (~~(($38))); + _rlVertex2i($36,$39); + $40 = +HEAPF32[$0>>2]; + $41 = +HEAPF32[$1>>2]; + $42 = $40 + $41; + $43 = (~~(($42))); + $44 = +HEAPF32[$15>>2]; + $45 = (~~(($44))); + _rlVertex2i($43,$45); + _rlEnd(); + STACKTOP = sp;return; + } + $46 = (_rlGetVersion()|0); + $47 = ($46|0)==(2); + if (!($47)) { + $48 = (_rlGetVersion()|0); + $49 = ($48|0)==(3); + if (!($49)) { + $50 = (_rlGetVersion()|0); + $51 = ($50|0)==(4); + if (!($51)) { + STACKTOP = sp;return; + } + } + } + _GetDefaultTexture($3); + $52 = HEAP32[$3>>2]|0; + _rlEnableTexture($52); + _rlBegin(7); + $53 = HEAP8[$2>>0]|0; + $54 = ((($2)) + 1|0); + $55 = HEAP8[$54>>0]|0; + $56 = ((($2)) + 2|0); + $57 = HEAP8[$56>>0]|0; + $58 = ((($2)) + 3|0); + $59 = HEAP8[$58>>0]|0; + _rlColor4ub($53,$55,$57,$59); + _rlTexCoord2f(0.0,0.0); + $60 = +HEAPF32[$0>>2]; + $61 = ((($0)) + 4|0); + $62 = +HEAPF32[$61>>2]; + _rlVertex2f($60,$62); + _rlTexCoord2f(0.0,1.0); + $63 = ((($1)) + 4|0); + $64 = +HEAPF32[$63>>2]; + $65 = $62 + $64; + _rlVertex2f($60,$65); + _rlTexCoord2f(1.0,1.0); + $66 = +HEAPF32[$0>>2]; + $67 = +HEAPF32[$1>>2]; + $68 = $66 + $67; + $69 = +HEAPF32[$61>>2]; + $70 = +HEAPF32[$63>>2]; + $71 = $69 + $70; + _rlVertex2f($68,$71); + _rlTexCoord2f(1.0,0.0); + $72 = +HEAPF32[$0>>2]; + $73 = +HEAPF32[$1>>2]; + $74 = $72 + $73; + $75 = +HEAPF32[$61>>2]; + _rlVertex2f($74,$75); + _rlEnd(); + _rlDisableTexture(); + STACKTOP = sp;return; +} +function _DrawRectangleRec($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$byval_copy = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $$byval_copy = sp; + $2 = HEAP32[$0>>2]|0; + $3 = ((($0)) + 4|0); + $4 = HEAP32[$3>>2]|0; + $5 = ((($0)) + 8|0); + $6 = HEAP32[$5>>2]|0; + $7 = ((($0)) + 12|0); + $8 = HEAP32[$7>>2]|0; + ;HEAP8[$$byval_copy>>0]=HEAP8[$1>>0]|0;HEAP8[$$byval_copy+1>>0]=HEAP8[$1+1>>0]|0;HEAP8[$$byval_copy+2>>0]=HEAP8[$1+2>>0]|0;HEAP8[$$byval_copy+3>>0]=HEAP8[$1+3>>0]|0; + _DrawRectangle($2,$4,$6,$8,$$byval_copy); + STACKTOP = sp;return; +} +function _DrawRectangleLines($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$byval_copy3 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $$byval_copy3 = sp; + $5 = (_rlGetVersion()|0); + $6 = ($5|0)==(1); + if ($6) { + _rlBegin(1); + $7 = HEAP8[$4>>0]|0; + $8 = ((($4)) + 1|0); + $9 = HEAP8[$8>>0]|0; + $10 = ((($4)) + 2|0); + $11 = HEAP8[$10>>0]|0; + $12 = ((($4)) + 3|0); + $13 = HEAP8[$12>>0]|0; + _rlColor4ub($7,$9,$11,$13); + $14 = (($0) + 1)|0; + $15 = (($1) + 1)|0; + _rlVertex2i($14,$15); + $16 = (($2) + ($0))|0; + _rlVertex2i($16,$15); + _rlVertex2i($16,$15); + $17 = (($3) + ($1))|0; + _rlVertex2i($16,$17); + _rlVertex2i($16,$17); + _rlVertex2i($14,$17); + _rlVertex2i($14,$17); + _rlVertex2i($14,$15); + _rlEnd(); + STACKTOP = sp;return; + } + $18 = (_rlGetVersion()|0); + $19 = ($18|0)==(2); + if (!($19)) { + $20 = (_rlGetVersion()|0); + $21 = ($20|0)==(3); + if (!($21)) { + $22 = (_rlGetVersion()|0); + $23 = ($22|0)==(4); + if (!($23)) { + STACKTOP = sp;return; + } + } + } + ;HEAP8[$$byval_copy3>>0]=HEAP8[$4>>0]|0;HEAP8[$$byval_copy3+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$$byval_copy3+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$$byval_copy3+3>>0]=HEAP8[$4+3>>0]|0; + _DrawRectangle($0,$1,$2,1,$$byval_copy3); + $24 = (($0) + -1)|0; + $25 = (($24) + ($2))|0; + $26 = (($1) + 1)|0; + $27 = (($3) + -2)|0; + ;HEAP8[$$byval_copy3>>0]=HEAP8[$4>>0]|0;HEAP8[$$byval_copy3+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$$byval_copy3+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$$byval_copy3+3>>0]=HEAP8[$4+3>>0]|0; + _DrawRectangle($25,$26,1,$27,$$byval_copy3); + $28 = (($1) + -1)|0; + $29 = (($28) + ($3))|0; + ;HEAP8[$$byval_copy3>>0]=HEAP8[$4>>0]|0;HEAP8[$$byval_copy3+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$$byval_copy3+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$$byval_copy3+3>>0]=HEAP8[$4+3>>0]|0; + _DrawRectangle($0,$29,$2,1,$$byval_copy3); + ;HEAP8[$$byval_copy3>>0]=HEAP8[$4>>0]|0;HEAP8[$$byval_copy3+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$$byval_copy3+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$$byval_copy3+3>>0]=HEAP8[$4+3>>0]|0; + _DrawRectangle($0,$26,1,$27,$$byval_copy3); + STACKTOP = sp;return; +} +function _DrawPoly($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = +$2; + $3 = +$3; + $4 = $4|0; + var $$ = 0, $$016 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0, $23 = 0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0.0; + var $28 = 0.0, $29 = 0.0, $30 = 0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $5 = ($1|0)>(3); + $$ = $5 ? $1 : 3; + _rlPushMatrix(); + $6 = +HEAPF32[$0>>2]; + $7 = ((($0)) + 4|0); + $8 = +HEAPF32[$7>>2]; + _rlTranslatef($6,$8,0.0); + _rlRotatef($3,0.0,0.0,1.0); + _rlBegin(4); + $9 = HEAP8[$4>>0]|0; + $10 = ((($4)) + 1|0); + $11 = HEAP8[$10>>0]|0; + $12 = ((($4)) + 2|0); + $13 = HEAP8[$12>>0]|0; + $14 = ((($4)) + 3|0); + $15 = HEAP8[$14>>0]|0; + $$016 = 0; + while(1) { + _rlColor4ub($9,$11,$13,$15); + _rlVertex2f(0.0,0.0); + $16 = (+($$016|0)); + $17 = $16 * 0.01745329238474369; + $18 = (+Math_sin((+$17))); + $19 = $18 * $2; + $20 = (+Math_cos((+$17))); + $21 = $20 * $2; + _rlVertex2f($19,$21); + $22 = (360 / ($$>>>0))&-1; + $23 = (($22) + ($$016))|0; + $24 = (+($23|0)); + $25 = $24 * 0.01745329238474369; + $26 = (+Math_sin((+$25))); + $27 = $26 * $2; + $28 = (+Math_cos((+$25))); + $29 = $28 * $2; + _rlVertex2f($27,$29); + $30 = ($23|0)<(360); + if ($30) { + $$016 = $23; + } else { + break; + } + } + _rlEnd(); + _rlPopMatrix(); + return; +} +function _CheckCollisionPointRec($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $10 = 0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0.0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0.0, $20 = 0.0, $21 = 0, $3 = 0, $4 = 0.0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[$0>>2]; + $3 = HEAP32[$1>>2]|0; + $4 = (+($3|0)); + $5 = !($2 >= $4); + if ($5) { + $$0 = 0; + return ($$0|0); + } + $6 = ((($1)) + 8|0); + $7 = HEAP32[$6>>2]|0; + $8 = (($7) + ($3))|0; + $9 = (+($8|0)); + $10 = !($2 <= $9); + if ($10) { + $$0 = 0; + return ($$0|0); + } + $11 = ((($0)) + 4|0); + $12 = +HEAPF32[$11>>2]; + $13 = ((($1)) + 4|0); + $14 = HEAP32[$13>>2]|0; + $15 = (+($14|0)); + $16 = !($12 >= $15); + if ($16) { + $$0 = 0; + return ($$0|0); + } + $17 = ((($1)) + 12|0); + $18 = HEAP32[$17>>2]|0; + $19 = (($18) + ($14))|0; + $20 = (+($19|0)); + $21 = !($12 <= $20); + if ($21) { + $$0 = 0; + return ($$0|0); + } + $$0 = 1; + return ($$0|0); +} +function _CheckCollisionPointCircle($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = +$2; + var $$byval_copy = 0, $$byval_copy1 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $$byval_copy1 = sp + 8|0; + $$byval_copy = sp; + ;HEAP32[$$byval_copy>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$0+4>>2]|0; + ;HEAP32[$$byval_copy1>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$1+4>>2]|0; + $3 = (_CheckCollisionCircles($$byval_copy,0.0,$$byval_copy1,$2)|0); + STACKTOP = sp;return ($3|0); +} +function _CheckCollisionCircles($0,$1,$2,$3) { + $0 = $0|0; + $1 = +$1; + $2 = $2|0; + $3 = +$3; + var $$0 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0, $not$ = 0, label = 0, sp = 0; + sp = STACKTOP; + $4 = +HEAPF32[$2>>2]; + $5 = +HEAPF32[$0>>2]; + $6 = $4 - $5; + $7 = ((($2)) + 4|0); + $8 = +HEAPF32[$7>>2]; + $9 = ((($0)) + 4|0); + $10 = +HEAPF32[$9>>2]; + $11 = $8 - $10; + $12 = $6 * $6; + $13 = $11 * $11; + $14 = $12 + $13; + $15 = (+Math_sqrt((+$14))); + $16 = $1 + $3; + $not$ = $15 <= $16; + $$0 = $not$&1; + return ($$0|0); +} +function _CheckCollisionRecs($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$ = 0, $$neg11 = 0, $$neg14 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; + var $26 = 0, $27 = 0, $28 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $ispos = 0, $ispos8 = 0, $neg = 0, $neg9 = 0, $not$ = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = HEAP32[$0>>2]|0; + $3 = ((($0)) + 8|0); + $4 = HEAP32[$3>>2]|0; + $5 = (($4|0) / 2)&-1; + $6 = HEAP32[$1>>2]|0; + $7 = ((($1)) + 8|0); + $8 = HEAP32[$7>>2]|0; + $9 = (($8|0) / 2)&-1; + $$neg11 = (($5) + ($2))|0; + $10 = (($$neg11) - ($6))|0; + $11 = (($10) - ($9))|0; + $ispos = ($11|0)>(-1); + $neg = (0 - ($11))|0; + $12 = $ispos ? $11 : $neg; + $13 = ((($0)) + 4|0); + $14 = HEAP32[$13>>2]|0; + $15 = ((($0)) + 12|0); + $16 = HEAP32[$15>>2]|0; + $17 = (($16|0) / 2)&-1; + $18 = ((($1)) + 4|0); + $19 = HEAP32[$18>>2]|0; + $20 = ((($1)) + 12|0); + $21 = HEAP32[$20>>2]|0; + $22 = (($21|0) / 2)&-1; + $$neg14 = (($17) + ($14))|0; + $23 = (($$neg14) - ($19))|0; + $24 = (($23) - ($22))|0; + $25 = (($9) + ($5))|0; + $26 = ($12|0)>($25|0); + if ($26) { + return 0; + } else { + $ispos8 = ($24|0)>(-1); + $neg9 = (0 - ($24))|0; + $27 = $ispos8 ? $24 : $neg9; + $28 = (($22) + ($17))|0; + $not$ = ($27|0)<=($28|0); + $$ = $not$&1; + return ($$|0); + } + return (0)|0; +} +function _LoadResource($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0$lcssa = 0, $$05665 = 0, $$05764 = 0, $$1 = 0, $$2 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; + var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; + var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0; + var $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond60 = 0; + var $or$cond62 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer4 = 0, $vararg_buffer8 = 0, $vararg_ptr11 = 0, $vararg_ptr7 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0); + $vararg_buffer8 = sp + 24|0; + $vararg_buffer4 = sp + 16|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $2 = sp + 64|0; + $3 = sp + 32|0; + $4 = (_fopen($0,12860)|0); + $5 = ($4|0)==(0|0); + if ($5) { + HEAP32[$vararg_buffer>>2] = $0; + _TraceLog(1,10756,$vararg_buffer); + $$2 = 0; + STACKTOP = sp;return ($$2|0); + } + (_fread($2,1,1,$4)|0); + $6 = ((($2)) + 1|0); + (_fread($6,1,1,$4)|0); + $7 = ((($2)) + 2|0); + (_fread($7,1,1,$4)|0); + $8 = ((($2)) + 3|0); + (_fread($8,1,1,$4)|0); + $9 = ((($2)) + 4|0); + (_fread($9,2,1,$4)|0); + $10 = ((($2)) + 6|0); + (_fread($10,2,1,$4)|0); + $11 = HEAP8[$2>>0]|0; + $12 = ($11<<24>>24)==(114); + $13 = HEAP8[$6>>0]|0; + $14 = ($13<<24>>24)==(82); + $or$cond = $12 | $14; + $15 = HEAP8[$7>>0]|0; + $16 = ($15<<24>>24)==(69); + $or$cond60 = $or$cond | $16; + $17 = HEAP8[$8>>0]|0; + $18 = ($17<<24>>24)==(83); + $or$cond62 = $or$cond60 | $18; + if ($or$cond62) { + $19 = HEAP16[$10>>1]|0; + $20 = ($19<<16>>16)==(0); + if ($20) { + $$0$lcssa = 0; + } else { + $21 = ((($3)) + 7|0); + $22 = HEAP16[$10>>1]|0; + $23 = $22&65535; + $24 = ((($3)) + 8|0); + $25 = ((($3)) + 4|0); + $26 = ((($3)) + 16|0); + $27 = ((($3)) + 20|0); + $28 = ((($3)) + 24|0); + $29 = ((($3)) + 28|0); + $30 = ((($3)) + 8|0); + $31 = ((($3)) + 5|0); + $32 = ((($3)) + 12|0); + $$05665 = 0; + while(1) { + (_fread($3,32,1,$4)|0); + $36 = HEAP8[$21>>0]|0; + $37 = $36&255; + $38 = ($37*24)|0; + $39 = (_malloc($38)|0); + $40 = HEAP32[$3>>2]|0; + $41 = ($40|0)==($1|0); + if ($41) { + $42 = HEAP8[$21>>0]|0; + $43 = ($42<<24>>24)==(0); + if (!($43)) { + $$05764 = 0; + while(1) { + $44 = HEAP8[$25>>0]|0; + $45 = $44&255; + $46 = (($39) + (($$05764*24)|0)|0); + HEAP32[$46>>2] = $45; + $47 = HEAP32[$26>>2]|0; + $48 = (((($39) + (($$05764*24)|0)|0)) + 4|0); + HEAP32[$48>>2] = $47; + $49 = HEAP32[$27>>2]|0; + $50 = (((($39) + (($$05764*24)|0)|0)) + 8|0); + HEAP32[$50>>2] = $49; + $51 = HEAP32[$28>>2]|0; + $52 = (((($39) + (($$05764*24)|0)|0)) + 12|0); + HEAP32[$52>>2] = $51; + $53 = HEAP32[$29>>2]|0; + $54 = (((($39) + (($$05764*24)|0)|0)) + 16|0); + HEAP32[$54>>2] = $53; + $55 = HEAP32[$30>>2]|0; + $56 = (_malloc($55)|0); + (_fread($56,$55,1,$4)|0); + $57 = HEAP8[$31>>0]|0; + $58 = ($57<<24>>24)==(1); + if ($58) { + $59 = HEAP32[$30>>2]|0; + $60 = HEAP32[$32>>2]|0; + $61 = (_DecompressData($56,$59,$60)|0); + $62 = (((($39) + (($$05764*24)|0)|0)) + 20|0); + HEAP32[$62>>2] = $61; + _free($56); + } else { + $63 = (((($39) + (($$05764*24)|0)|0)) + 20|0); + HEAP32[$63>>2] = $56; + } + $64 = (((($39) + (($$05764*24)|0)|0)) + 20|0); + $65 = HEAP32[$64>>2]|0; + $66 = ($65|0)==(0|0); + if (!($66)) { + $67 = HEAP32[$3>>2]|0; + HEAP32[$vararg_buffer4>>2] = $0; + $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); + HEAP32[$vararg_ptr7>>2] = $67; + _TraceLog(0,10853,$vararg_buffer4); + } + (_fread($3,32,1,$4)|0); + $68 = (($$05764) + 1)|0; + $69 = HEAP8[$21>>0]|0; + $70 = $69&255; + $71 = ($68|0)<($70|0); + if ($71) { + $$05764 = $68; + } else { + break; + } + } + } + } else { + $72 = HEAP32[$24>>2]|0; + (_fseek($4,$72,1)|0); + } + $73 = (($$05665) + 1)|0; + $74 = ($73|0)<($23|0); + if ($74) { + $$05665 = $73; + } else { + $$0$lcssa = $39; + break; + } + } + } + $33 = ((($$0$lcssa)) + 20|0); + $34 = HEAP32[$33>>2]|0; + $35 = ($34|0)==(0|0); + if ($35) { + HEAP32[$vararg_buffer8>>2] = $0; + $vararg_ptr11 = ((($vararg_buffer8)) + 4|0); + HEAP32[$vararg_ptr11>>2] = $1; + _TraceLog(1,10899,$vararg_buffer8); + $$1 = $$0$lcssa; + } else { + $$1 = $$0$lcssa; + } + } else { + HEAP32[$vararg_buffer1>>2] = $0; + _TraceLog(1,10807,$vararg_buffer1); + $$1 = 0; + } + (_fclose($4)|0); + $$2 = $$1; + STACKTOP = sp;return ($$2|0); +} +function _UnloadResource($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 20|0); + $2 = HEAP32[$1>>2]|0; + $3 = ($2|0)==(0|0); + if ($3) { + return; + } + _free($2); + return; +} +function _DecompressData($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer3 = 0, $vararg_buffer5 = 0, $vararg_buffer7 = 0, $vararg_ptr13 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0); + $vararg_buffer10 = sp + 40|0; + $vararg_buffer7 = sp + 32|0; + $vararg_buffer5 = sp + 24|0; + $vararg_buffer3 = sp + 16|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $3 = (_malloc($2)|0); + $4 = ($3|0)==(0|0); + if ($4) { + _TraceLog(1,10949,$vararg_buffer); + STACKTOP = sp;return ($3|0); + } + $5 = (_tinfl_decompress_mem_to_mem($3,$2,$0,$1,1)|0); + $6 = ($5|0)==(-1); + if ($6) { + _TraceLog(1,10988,$vararg_buffer1); + _free($3); + } + $7 = ($5|0)==($2|0); + if (!($7)) { + _TraceLog(1,11014,$vararg_buffer3); + HEAP32[$vararg_buffer5>>2] = $2; + _TraceLog(1,11077,$vararg_buffer5); + HEAP32[$vararg_buffer7>>2] = $5; + _TraceLog(1,11112,$vararg_buffer7); + } + HEAP32[$vararg_buffer10>>2] = $1; + $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); + HEAP32[$vararg_ptr13>>2] = $5; + _TraceLog(0,11147,$vararg_buffer10); + STACKTOP = sp;return ($3|0); +} +function _tinfl_decompress_mem_to_mem($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 11008|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(11008|0); + $5 = sp + 11000|0; + $6 = sp; + $7 = sp + 8|0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $3; + HEAP32[$7>>2] = 0; + $8 = $4 & -7; + $9 = $8 | 4; + $10 = (_tinfl_decompress($7,$2,$6,$0,$0,$5,$9)|0); + $11 = ($10|0)!=(0); + $12 = HEAP32[$5>>2]|0; + $13 = $11 ? -1 : $12; + STACKTOP = sp;return ($13|0); +} +function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + $6 = $6|0; + var $$ = 0, $$$301127 = 0, $$010861840 = 0, $$010871839 = 0, $$010881838 = 0, $$010911856 = 0, $$010941846 = 0, $$010951864 = 0, $$01097 = 0, $$01194 = 0, $$011971855 = 0, $$01202 = 0, $$01202$shrunk = 0, $$01203 = 0, $$01300 = 0, $$01300$shrunk = 0, $$01309 = 0, $$01410 = 0, $$01410$shrunk = 0, $$01411 = 0; + var $$01411$shrunk = 0, $$01412 = 0, $$01413 = 0, $$01413$shrunk = 0, $$01416 = 0, $$01507 = 0, $$01607 = 0, $$01834 = 0, $$0937$lcssa = 0, $$09371833 = 0, $$0938$lcssa = 0, $$09381832 = 0, $$0941$lcssa = 0, $$09411816 = 0, $$09431831 = 0, $$09441830 = 0, $$0947 = 0, $$0947$shrunk = 0, $$0948 = 0, $$0949 = 0; + var $$0950 = 0, $$0950$shrunk = 0, $$0951 = 0, $$0952 = 0, $$0952$shrunk = 0, $$0953 = 0, $$0956 = 0, $$0959 = 0, $$0959$shrunk = 0, $$0960 = 0, $$0963 = 0, $$0967 = 0, $$0971 = 0, $$0971$shrunk = 0, $$0972 = 0, $$0975 = 0, $$0978 = 0, $$0979 = 0, $$0979$shrunk = 0, $$0980 = 0; + var $$0980$shrunk = 0, $$0981 = 0, $$0984 = 0, $$0987 = 0, $$0991 = 0, $$1$lcssa = 0, $$100 = 0, $$1001409 = 0, $$101426 = 0, $$101617 = 0, $$110891852 = 0, $$11098 = 0, $$11098$ph = 0, $$111427 = 0, $$111518 = 0, $$111618 = 0, $$11198 = 0, $$11204 = 0, $$11204$ph = 0, $$11310 = 0; + var $$11310$ph = 0, $$11417 = 0, $$11508 = 0, $$11608 = 0, $$11818 = 0, $$121428 = 0, $$121428$ph = 0, $$121519 = 0, $$121619 = 0, $$121619$ph = 0, $$13 = 0, $$131004 = 0, $$131110 = 0, $$131216 = 0, $$131322 = 0, $$131429 = 0, $$131520 = 0, $$131620 = 0, $$14 = 0, $$141005 = 0; + var $$141111 = 0, $$141217 = 0, $$141323 = 0, $$141430 = 0, $$141521 = 0, $$141621 = 0, $$15 = 0, $$151006 = 0, $$151112 = 0, $$151218 = 0, $$151324 = 0, $$151431 = 0, $$151522 = 0, $$151622 = 0, $$16 = 0, $$161007 = 0, $$161113 = 0, $$161113$ph = 0, $$161219 = 0, $$161325 = 0; + var $$161432 = 0, $$161523 = 0, $$161623 = 0, $$17 = 0, $$17$ph = 0, $$171008 = 0, $$171008$ph = 0, $$171114 = 0, $$171220 = 0, $$171220$ph = 0, $$171326 = 0, $$171326$ph = 0, $$171433 = 0, $$171524 = 0, $$171624 = 0, $$1753 = 0, $$1754 = 0, $$18 = 0, $$181009 = 0, $$181115 = 0; + var $$181221 = 0, $$181327 = 0, $$181434 = 0, $$181525 = 0, $$181625 = 0, $$19 = 0, $$191010 = 0, $$191116 = 0, $$191222 = 0, $$191328 = 0, $$191435 = 0, $$191526 = 0, $$191626 = 0, $$1939$lcssa = 0, $$19391817 = 0, $$19421823 = 0, $$1945$lcssa = 0, $$19451815 = 0, $$1954 = 0, $$1957 = 0; + var $$1961 = 0, $$1961$ = 0, $$1964 = 0, $$1968 = 0, $$1973 = 0, $$1976 = 0, $$1982 = 0, $$1985 = 0, $$1988 = 0, $$1988$ph = 0, $$1992 = 0, $$1992$ph = 0, $$2$lcssa = 0, $$20 = 0, $$201011 = 0, $$201117 = 0, $$201223 = 0, $$201329 = 0, $$201436 = 0, $$201527 = 0; + var $$201627 = 0, $$21 = 0, $$21099 = 0, $$211012 = 0, $$211118 = 0, $$211224 = 0, $$211330 = 0, $$211437 = 0, $$211437$ph = 0, $$211528 = 0, $$211628 = 0, $$211628$ph = 0, $$21196 = 0, $$21199$lcssa = 0, $$211991845 = 0, $$21205 = 0, $$21311 = 0, $$21418 = 0, $$21509 = 0, $$21609 = 0; + var $$21825 = 0, $$22 = 0, $$221013 = 0, $$221119 = 0, $$221225 = 0, $$221331 = 0, $$221438 = 0, $$221529 = 0, $$221629 = 0, $$23 = 0, $$231014 = 0, $$231120 = 0, $$231226 = 0, $$231332 = 0, $$231439 = 0, $$231530 = 0, $$231630 = 0, $$24 = 0, $$241015 = 0, $$241121 = 0; + var $$241227 = 0, $$241333 = 0, $$241440 = 0, $$241531 = 0, $$241631 = 0, $$25 = 0, $$251016 = 0, $$251122 = 0, $$251122$ph = 0, $$251228 = 0, $$251334 = 0, $$251441 = 0, $$251532 = 0, $$251632 = 0, $$26 = 0, $$26$ph = 0, $$261017 = 0, $$261017$ph = 0, $$261123 = 0, $$261229 = 0; + var $$261229$ph = 0, $$261335 = 0, $$261335$ph = 0, $$261442 = 0, $$261533 = 0, $$261633 = 0, $$27 = 0, $$271018 = 0, $$271124 = 0, $$271230 = 0, $$271336 = 0, $$271443 = 0, $$271534 = 0, $$271634 = 0, $$28 = 0, $$281019 = 0, $$281125 = 0, $$281231 = 0, $$281337 = 0, $$281444 = 0; + var $$281535 = 0, $$281635 = 0, $$29 = 0, $$291020 = 0, $$291126 = 0, $$291232 = 0, $$291338 = 0, $$291445 = 0, $$291536 = 0, $$291636 = 0, $$2940$lcssa = 0, $$29401824 = 0, $$2946$lcssa = 0, $$29461822 = 0, $$2955 = 0, $$2958 = 0, $$2965 = 0, $$2969 = 0, $$2974 = 0, $$2977 = 0; + var $$2983 = 0, $$2986 = 0, $$2989 = 0, $$2993 = 0, $$30 = 0, $$301021 = 0, $$301127 = 0, $$301233 = 0, $$301339 = 0, $$301446 = 0, $$301537 = 0, $$301637 = 0, $$31 = 0, $$31100$v = 0, $$311022 = 0, $$311128 = 0, $$311234 = 0, $$311340 = 0, $$311447 = 0, $$311538 = 0; + var $$311638 = 0, $$31200 = 0, $$31206 = 0, $$31206$ph = 0, $$31312 = 0, $$31312$ph = 0, $$31419 = 0, $$31419$ph = 0, $$31610 = 0, $$31610$ph = 0, $$32 = 0, $$321023 = 0, $$321129 = 0, $$321235 = 0, $$321341 = 0, $$321448 = 0, $$321448$ph = 0, $$321539 = 0, $$321639 = 0, $$321639$ph = 0; + var $$33 = 0, $$331024 = 0, $$331130 = 0, $$331236 = 0, $$331342 = 0, $$331449 = 0, $$331540 = 0, $$331640 = 0, $$34 = 0, $$341025 = 0, $$341131 = 0, $$341237 = 0, $$341343 = 0, $$341450 = 0, $$341541 = 0, $$341641 = 0, $$35 = 0, $$351026 = 0, $$351132 = 0, $$351238 = 0; + var $$351344 = 0, $$351451 = 0, $$351542 = 0, $$351642 = 0, $$36 = 0, $$361027 = 0, $$361027$ph = 0, $$361133 = 0, $$361133$ph = 0, $$361239 = 0, $$361345 = 0, $$361452 = 0, $$361543 = 0, $$361643 = 0, $$37 = 0, $$37$ph = 0, $$371028 = 0, $$371134 = 0, $$371240 = 0, $$371240$ph = 0; + var $$371346 = 0, $$371346$ph = 0, $$371453 = 0, $$371453$ph = 0, $$371544 = 0, $$371644 = 0, $$371644$ph = 0, $$38 = 0, $$381029 = 0, $$381135 = 0, $$381241 = 0, $$381347 = 0, $$381454 = 0, $$381545 = 0, $$381645 = 0, $$39 = 0, $$391030 = 0, $$391136 = 0, $$391242 = 0, $$391348 = 0; + var $$391455 = 0, $$391546 = 0, $$391646 = 0, $$3966 = 0, $$3970 = 0, $$3990 = 0, $$3990$ph = 0, $$3994 = 0, $$3994$ph = 0, $$40 = 0, $$401031 = 0, $$401137 = 0, $$401243 = 0, $$401349 = 0, $$401456 = 0, $$401547 = 0, $$401647 = 0, $$41 = 0, $$411032 = 0, $$411032$ph = 0; + var $$411138 = 0, $$411138$ph = 0, $$411244 = 0, $$411350 = 0, $$411457 = 0, $$411548 = 0, $$411648 = 0, $$41201 = 0, $$41420 = 0, $$41511 = 0, $$41611 = 0, $$42 = 0, $$42$ph = 0, $$421033 = 0, $$421139 = 0, $$421245 = 0, $$421245$ph = 0, $$421351 = 0, $$421351$ph = 0, $$421458 = 0; + var $$421549 = 0, $$421649 = 0, $$43 = 0, $$431034 = 0, $$431140 = 0, $$431246 = 0, $$431352 = 0, $$431459 = 0, $$431550 = 0, $$431650 = 0, $$44 = 0, $$441035 = 0, $$441141 = 0, $$441247 = 0, $$441353 = 0, $$441460 = 0, $$441460$ph = 0, $$441551 = 0, $$441651 = 0, $$441651$ph = 0; + var $$45 = 0, $$451036 = 0, $$451142 = 0, $$451248 = 0, $$451354 = 0, $$451461 = 0, $$451552 = 0, $$451652 = 0, $$46 = 0, $$461037 = 0, $$461143 = 0, $$461249 = 0, $$461355 = 0, $$461462 = 0, $$461553 = 0, $$461653 = 0, $$47 = 0, $$471038 = 0, $$471144 = 0, $$471250 = 0; + var $$471356 = 0, $$471463 = 0, $$471554 = 0, $$471654 = 0, $$48 = 0, $$481039 = 0, $$481039$ph = 0, $$481145 = 0, $$481145$ph = 0, $$481251 = 0, $$481357 = 0, $$481464 = 0, $$481555 = 0, $$481655 = 0, $$49 = 0, $$49$ph = 0, $$491040 = 0, $$491146 = 0, $$491252 = 0, $$491252$ph = 0; + var $$491358 = 0, $$491358$ph = 0, $$491465 = 0, $$491465$ph = 0, $$491556 = 0, $$491656 = 0, $$491656$ph = 0, $$5 = 0, $$50 = 0, $$501041 = 0, $$501147 = 0, $$501253 = 0, $$501359 = 0, $$501466 = 0, $$501557 = 0, $$501657 = 0, $$51 = 0, $$51102 = 0, $$511042 = 0, $$511148 = 0; + var $$511254 = 0, $$511360 = 0, $$511467 = 0, $$511558 = 0, $$511658 = 0, $$51208 = 0, $$51314 = 0, $$51512 = 0, $$52 = 0, $$521043 = 0, $$521043$ph = 0, $$521149 = 0, $$521255 = 0, $$521361 = 0, $$521468 = 0, $$521559 = 0, $$521659 = 0, $$53 = 0, $$531044 = 0, $$531150 = 0; + var $$531150$ph = 0, $$531256 = 0, $$531362 = 0, $$531469 = 0, $$531560 = 0, $$531660 = 0, $$54 = 0, $$54$ph = 0, $$541045 = 0, $$541151 = 0, $$541257 = 0, $$541257$ph = 0, $$541363 = 0, $$541363$ph = 0, $$541470$ph = 0, $$541561 = 0, $$541661$lcssa = 0, $$541661$ph = 0, $$5416611868 = 0, $$55 = 0; + var $$551046 = 0, $$551152 = 0, $$551258 = 0, $$551364 = 0, $$551471 = 0, $$551562 = 0, $$551662 = 0, $$56 = 0, $$561047 = 0, $$561153 = 0, $$561259 = 0, $$561365 = 0, $$561472 = 0, $$561563 = 0, $$561663 = 0, $$57 = 0, $$571048$ph = 0, $$571154 = 0, $$571260 = 0, $$571366 = 0; + var $$571473 = 0, $$571473$ph = 0, $$571564 = 0, $$571664 = 0, $$571664$ph = 0, $$58 = 0, $$581049 = 0, $$581155$lcssa = 0, $$581155$ph = 0, $$5811551871 = 0, $$581261 = 0, $$581367 = 0, $$581474 = 0, $$581565$lcssa = 0, $$581565$ph = 0, $$5815651869 = 0, $$581665 = 0, $$59$lcssa = 0, $$59$ph = 0, $$591050 = 0; + var $$591156 = 0, $$591262$ph = 0, $$591368$lcssa = 0, $$591368$ph = 0, $$5913681870 = 0, $$591475 = 0, $$591566 = 0, $$591666 = 0, $$591872 = 0, $$5996 = 0, $$6 = 0, $$60 = 0, $$601051 = 0, $$601051$ph = 0, $$601157 = 0, $$601263 = 0, $$601369 = 0, $$601476 = 0, $$601567 = 0, $$61 = 0; + var $$61103 = 0, $$611052 = 0, $$611158 = 0, $$611158$ph = 0, $$611264 = 0, $$611370 = 0, $$611477 = 0, $$611568 = 0, $$611668 = 0, $$61209 = 0, $$61315 = 0, $$61513 = 0, $$62 = 0, $$62$ph = 0, $$621053 = 0, $$621159 = 0, $$621265 = 0, $$621265$ph = 0, $$621371 = 0, $$621371$ph = 0; + var $$621478 = 0, $$621569 = 0, $$621669 = 0, $$63 = 0, $$631054 = 0, $$631266 = 0, $$631372 = 0, $$631479 = 0, $$631479$ph = 0, $$631570 = 0, $$631670 = 0, $$64 = 0, $$641055 = 0, $$641161 = 0, $$641267 = 0, $$641373 = 0, $$641480 = 0, $$641571 = 0, $$641671 = 0, $$641671$ph = 0; + var $$65 = 0, $$651056 = 0, $$651162 = 0, $$651268 = 0, $$651374 = 0, $$651481 = 0, $$651572 = 0, $$651672 = 0, $$66 = 0, $$661057 = 0, $$661057$ph = 0, $$661163 = 0, $$661269 = 0, $$661375 = 0, $$661482 = 0, $$661673 = 0, $$671058 = 0, $$671164 = 0, $$671164$ph = 0, $$671270 = 0; + var $$671483 = 0, $$671574 = 0, $$671674 = 0, $$68 = 0, $$681059 = 0, $$681165 = 0, $$681271 = 0, $$681271$ph = 0, $$681377 = 0, $$681484 = 0, $$681484$ph = 0, $$681575 = 0, $$681675 = 0, $$69 = 0, $$691060 = 0, $$691166 = 0, $$691272 = 0, $$691378 = 0, $$691485 = 0, $$691576 = 0; + var $$691676 = 0, $$691676$ph = 0, $$6997 = 0, $$7 = 0, $$70 = 0, $$701061 = 0, $$701167 = 0, $$701273 = 0, $$701379 = 0, $$701486 = 0, $$701577 = 0, $$701677 = 0, $$71 = 0, $$71$ph = 0, $$71104 = 0, $$711062 = 0, $$711062$ph = 0, $$711168 = 0, $$711274 = 0, $$711380 = 0; + var $$711380$ph = 0, $$711487 = 0, $$711578 = 0, $$711678 = 0, $$71210 = 0, $$71316 = 0, $$71514 = 0, $$72 = 0, $$721063 = 0, $$721169 = 0, $$721169$ph = 0, $$721275 = 0, $$721381 = 0, $$721488 = 0, $$721488$ph = 0, $$721579 = 0, $$721679 = 0, $$73 = 0, $$731064 = 0, $$731170 = 0; + var $$731276 = 0, $$731276$ph = 0, $$731382 = 0, $$731489 = 0, $$731580 = 0, $$731680 = 0, $$731680$ph = 0, $$74 = 0, $$741065 = 0, $$741065$ph = 0, $$741171 = 0, $$741277 = 0, $$741383 = 0, $$741490 = 0, $$741581 = 0, $$741681 = 0, $$75 = 0, $$751066 = 0, $$751172 = 0, $$751278 = 0; + var $$751384 = 0, $$751491 = 0, $$751582 = 0, $$751682 = 0, $$76 = 0, $$76$ph = 0, $$761067 = 0, $$761173 = 0, $$761173$ph = 0, $$761279 = 0, $$761279$ph = 0, $$761385 = 0, $$761385$ph = 0, $$761492 = 0, $$761583 = 0, $$761683 = 0, $$77 = 0, $$771068 = 0, $$771174 = 0, $$771280 = 0; + var $$771386 = 0, $$771584 = 0, $$771684 = 0, $$78 = 0, $$781069 = 0, $$781175 = 0, $$781281 = 0, $$781387 = 0, $$781585 = 0, $$781685 = 0, $$79 = 0, $$791070 = 0, $$791176 = 0, $$791282 = 0, $$791388 = 0, $$791586 = 0, $$791686 = 0, $$7998 = 0, $$8 = 0, $$8$ph = 0; + var $$80 = 0, $$80$ph = 0, $$801071 = 0, $$801177 = 0, $$801283 = 0, $$801389 = 0, $$801389$ph = 0, $$801496 = 0, $$801587 = 0, $$801687 = 0, $$81 = 0, $$81105 = 0, $$81105$ph = 0, $$811178 = 0, $$811284 = 0, $$811390 = 0, $$811497 = 0, $$811588 = 0, $$81211 = 0, $$81211$ph = 0; + var $$81317 = 0, $$81317$ph = 0, $$81424 = 0, $$81515 = 0, $$81615 = 0, $$82 = 0, $$821179 = 0, $$821285 = 0, $$821391 = 0, $$821498 = 0, $$821589 = 0, $$83 = 0, $$831180 = 0, $$831392 = 0, $$831499 = 0, $$831590 = 0, $$84 = 0, $$841075 = 0, $$841393 = 0, $$841500 = 0; + var $$841500$ph = 0, $$841591 = 0, $$841691 = 0, $$85 = 0, $$851076 = 0, $$851394 = 0, $$851501 = 0, $$851592 = 0, $$851692 = 0, $$86 = 0, $$861077 = 0, $$861289 = 0, $$861395 = 0, $$861502 = 0, $$861693 = 0, $$871078 = 0, $$871184 = 0, $$871290 = 0, $$871503 = 0, $$871694 = 0; + var $$881079 = 0, $$881079$ph = 0, $$881185 = 0, $$881291 = 0, $$881504 = 0, $$881595 = 0, $$881695 = 0, $$881695$ph = 0, $$891080 = 0, $$891186 = 0, $$891292 = 0, $$891505 = 0, $$891596 = 0, $$891696 = 0, $$8999 = 0, $$8999$ph = 0, $$9 = 0, $$90 = 0, $$901081 = 0, $$901187 = 0; + var $$901187$ph = 0, $$901293 = 0, $$901293$ph = 0, $$901399 = 0, $$901506 = 0, $$901597 = 0, $$901697 = 0, $$91 = 0, $$91000 = 0, $$91106 = 0, $$911082 = 0, $$911188 = 0, $$911294 = 0, $$911400 = 0, $$911598 = 0, $$911698 = 0, $$91212 = 0, $$91318 = 0, $$91425 = 0, $$91616 = 0; + var $$92 = 0, $$921083 = 0, $$921189 = 0, $$921295 = 0, $$921401 = 0, $$921599 = 0, $$921699 = 0, $$93 = 0, $$931084 = 0, $$931190 = 0, $$931296 = 0, $$931402 = 0, $$931600 = 0, $$931700 = 0, $$94 = 0, $$94$ph = 0, $$941085 = 0, $$941191 = 0, $$941297 = 0, $$941403 = 0; + var $$941403$ph = 0, $$941601 = 0, $$941701 = 0, $$95 = 0, $$951192 = 0, $$951298 = 0, $$951404 = 0, $$951602 = 0, $$96 = 0, $$961193 = 0, $$961299 = 0, $$961405 = 0, $$961603 = 0, $$97 = 0, $$971406 = 0, $$971604 = 0, $$98 = 0, $$981407 = 0, $$981605 = 0, $$99 = 0; + var $$991408 = 0, $$991606 = 0, $$lcssa1778 = 0, $$lcssa1779 = 0, $$lcssa1799 = 0, $$lcssa1802 = 0, $$not = 0, $$not1747 = 0, $$sink12 = 0, $$sink13 = 0, $$sink16 = 0, $$sink17 = 0, $$sink1705 = 0, $$sink1710 = 0, $$sink1713 = 0, $$sink1716 = 0, $$sink1719 = 0, $$sink1722 = 0, $$sink1729 = 0, $$sink1732 = 0; + var $$sink1736 = 0, $$sink1739 = 0, $$sink1743 = 0, $$sink1746 = 0, $$sink1750 = 0, $$sink3 = 0, $$sink3$shrunk = 0, $$sink30 = 0, $$sink9 = 0, $$sink9$shrunk = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0; + var $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0; + var $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0; + var $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0; + var $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0; + var $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0; + var $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0; + var $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0; + var $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0; + var $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0; + var $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0; + var $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0; + var $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0; + var $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0; + var $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0; + var $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0; + var $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0; + var $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0; + var $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0; + var $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0; + var $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0; + var $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0; + var $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0; + var $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0; + var $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0, $531 = 0, $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0; + var $545 = 0, $546 = 0, $547 = 0, $548 = 0, $549 = 0, $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0, $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0, $562 = 0; + var $563 = 0, $564 = 0, $565 = 0, $566 = 0, $567 = 0, $568 = 0, $569 = 0, $57 = 0, $570 = 0, $571 = 0, $572 = 0, $573 = 0, $574 = 0, $575 = 0, $576 = 0, $577 = 0, $578 = 0, $579 = 0, $58 = 0, $580 = 0; + var $581 = 0, $582 = 0, $583 = 0, $584 = 0, $585 = 0, $586 = 0, $587 = 0, $588 = 0, $589 = 0, $59 = 0, $590 = 0, $591 = 0, $592 = 0, $593 = 0, $594 = 0, $595 = 0, $596 = 0, $597 = 0, $598 = 0, $599 = 0; + var $60 = 0, $600 = 0, $601 = 0, $602 = 0, $603 = 0, $604 = 0, $605 = 0, $606 = 0, $607 = 0, $608 = 0, $609 = 0, $61 = 0, $610 = 0, $611 = 0, $612 = 0, $613 = 0, $614 = 0, $615 = 0, $616 = 0, $617 = 0; + var $618 = 0, $619 = 0, $62 = 0, $620 = 0, $621 = 0, $622 = 0, $623 = 0, $624 = 0, $625 = 0, $626 = 0, $627 = 0, $628 = 0, $629 = 0, $63 = 0, $630 = 0, $631 = 0, $632 = 0, $633 = 0, $634 = 0, $635 = 0; + var $636 = 0, $637 = 0, $638 = 0, $639 = 0, $64 = 0, $640 = 0, $641 = 0, $642 = 0, $643 = 0, $644 = 0, $645 = 0, $646 = 0, $647 = 0, $648 = 0, $649 = 0, $65 = 0, $650 = 0, $651 = 0, $652 = 0, $653 = 0; + var $654 = 0, $655 = 0, $656 = 0, $657 = 0, $658 = 0, $659 = 0, $66 = 0, $660 = 0, $661 = 0, $662 = 0, $663 = 0, $664 = 0, $665 = 0, $666 = 0, $667 = 0, $668 = 0, $669 = 0, $67 = 0, $670 = 0, $671 = 0; + var $672 = 0, $673 = 0, $674 = 0, $675 = 0, $676 = 0, $677 = 0, $678 = 0, $679 = 0, $68 = 0, $680 = 0, $681 = 0, $682 = 0, $683 = 0, $684 = 0, $685 = 0, $686 = 0, $687 = 0, $688 = 0, $689 = 0, $69 = 0; + var $690 = 0, $691 = 0, $692 = 0, $693 = 0, $694 = 0, $695 = 0, $696 = 0, $697 = 0, $698 = 0, $699 = 0, $7 = 0, $70 = 0, $700 = 0, $701 = 0, $702 = 0, $703 = 0, $704 = 0, $705 = 0, $706 = 0, $707 = 0; + var $708 = 0, $709 = 0, $71 = 0, $710 = 0, $711 = 0, $712 = 0, $713 = 0, $714 = 0, $715 = 0, $716 = 0, $717 = 0, $718 = 0, $719 = 0, $72 = 0, $720 = 0, $721 = 0, $722 = 0, $723 = 0, $724 = 0, $725 = 0; + var $726 = 0, $727 = 0, $728 = 0, $729 = 0, $73 = 0, $730 = 0, $731 = 0, $732 = 0, $733 = 0, $734 = 0, $735 = 0, $736 = 0, $737 = 0, $738 = 0, $739 = 0, $74 = 0, $740 = 0, $741 = 0, $742 = 0, $743 = 0; + var $744 = 0, $745 = 0, $746 = 0, $747 = 0, $748 = 0, $749 = 0, $75 = 0, $750 = 0, $751 = 0, $752 = 0, $753 = 0, $754 = 0, $755 = 0, $756 = 0, $757 = 0, $758 = 0, $759 = 0, $76 = 0, $760 = 0, $761 = 0; + var $762 = 0, $763 = 0, $764 = 0, $765 = 0, $766 = 0, $767 = 0, $768 = 0, $769 = 0, $77 = 0, $770 = 0, $771 = 0, $772 = 0, $773 = 0, $774 = 0, $775 = 0, $776 = 0, $777 = 0, $778 = 0, $779 = 0, $78 = 0; + var $780 = 0, $781 = 0, $782 = 0, $783 = 0, $784 = 0, $785 = 0, $786 = 0, $787 = 0, $788 = 0, $789 = 0, $79 = 0, $790 = 0, $791 = 0, $792 = 0, $793 = 0, $794 = 0, $795 = 0, $796 = 0, $797 = 0, $798 = 0; + var $799 = 0, $8 = 0, $80 = 0, $800 = 0, $801 = 0, $802 = 0, $803 = 0, $804 = 0, $805 = 0, $806 = 0, $807 = 0, $808 = 0, $809 = 0, $81 = 0, $810 = 0, $811 = 0, $812 = 0, $813 = 0, $814 = 0, $815 = 0; + var $816 = 0, $817 = 0, $818 = 0, $819 = 0, $82 = 0, $820 = 0, $821 = 0, $822 = 0, $823 = 0, $824 = 0, $825 = 0, $826 = 0, $827 = 0, $828 = 0, $829 = 0, $83 = 0, $830 = 0, $831 = 0, $832 = 0, $833 = 0; + var $834 = 0, $835 = 0, $836 = 0, $837 = 0, $838 = 0, $839 = 0, $84 = 0, $840 = 0, $841 = 0, $842 = 0, $843 = 0, $844 = 0, $845 = 0, $846 = 0, $847 = 0, $848 = 0, $849 = 0, $85 = 0, $850 = 0, $851 = 0; + var $852 = 0, $853 = 0, $854 = 0, $855 = 0, $856 = 0, $857 = 0, $858 = 0, $859 = 0, $86 = 0, $860 = 0, $861 = 0, $862 = 0, $863 = 0, $864 = 0, $865 = 0, $866 = 0, $867 = 0, $868 = 0, $869 = 0, $87 = 0; + var $870 = 0, $871 = 0, $872 = 0, $873 = 0, $874 = 0, $875 = 0, $876 = 0, $877 = 0, $878 = 0, $879 = 0, $88 = 0, $880 = 0, $881 = 0, $882 = 0, $883 = 0, $884 = 0, $885 = 0, $886 = 0, $887 = 0, $888 = 0; + var $889 = 0, $89 = 0, $890 = 0, $891 = 0, $892 = 0, $893 = 0, $894 = 0, $895 = 0, $896 = 0, $897 = 0, $898 = 0, $899 = 0, $9 = 0, $90 = 0, $900 = 0, $901 = 0, $902 = 0, $903 = 0, $904 = 0, $905 = 0; + var $906 = 0, $907 = 0, $908 = 0, $909 = 0, $91 = 0, $910 = 0, $911 = 0, $912 = 0, $913 = 0, $914 = 0, $915 = 0, $916 = 0, $917 = 0, $918 = 0, $919 = 0, $92 = 0, $920 = 0, $921 = 0, $922 = 0, $923 = 0; + var $924 = 0, $925 = 0, $926 = 0, $927 = 0, $928 = 0, $929 = 0, $93 = 0, $930 = 0, $931 = 0, $932 = 0, $933 = 0, $934 = 0, $935 = 0, $936 = 0, $937 = 0, $938 = 0, $939 = 0, $94 = 0, $940 = 0, $941 = 0; + var $942 = 0, $943 = 0, $944 = 0, $945 = 0, $946 = 0, $947 = 0, $948 = 0, $949 = 0, $95 = 0, $950 = 0, $951 = 0, $952 = 0, $953 = 0, $954 = 0, $955 = 0, $956 = 0, $957 = 0, $958 = 0, $959 = 0, $96 = 0; + var $960 = 0, $961 = 0, $962 = 0, $963 = 0, $964 = 0, $965 = 0, $966 = 0, $97 = 0, $98 = 0, $99 = 0, $brmerge = 0, $exitcond = 0, $not$ = 0, $not$1755 = 0, $or$cond = 0, $or$cond1702 = 0, $or$cond1752 = 0, $or$cond24 = 0, $or$cond29 = 0, $scevgep = 0; + var $scevgep1947 = 0, $scevgep1948 = 0, $scevgep1955 = 0, $scevgep1957 = 0, $scevgep1959 = 0, $scevgep19611962 = 0, $trunc = 0, $trunc$clear = 0, dest = 0, label = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 144|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(144|0); + $7 = sp + 64|0; + $8 = sp; + $9 = HEAP32[$2>>2]|0; + $10 = (($1) + ($9)|0); + $11 = HEAP32[$5>>2]|0; + $12 = (($4) + ($11)|0); + $13 = $6 & 4; + $14 = ($13|0)!=(0); + $15 = $4; + $16 = $3; + $17 = $16 ^ -1; + $18 = (($15) + ($17))|0; + $19 = (($18) + ($11))|0; + $$1753 = $14 ? -1 : $19; + $20 = (($$1753) + 1)|0; + $21 = $20 & $$1753; + $22 = ($21|0)!=(0); + $23 = ($4>>>0)<($3>>>0); + $or$cond1702 = $23 | $22; + if ($or$cond1702) { + HEAP32[$5>>2] = 0; + HEAP32[$2>>2] = 0; + $$0951 = -3; + STACKTOP = sp;return ($$0951|0); + } + $24 = ((($0)) + 4|0); + $25 = HEAP32[$24>>2]|0; + $26 = ((($0)) + 56|0); + $27 = HEAP32[$26>>2]|0; + $28 = ((($0)) + 32|0); + $29 = HEAP32[$28>>2]|0; + $30 = ((($0)) + 36|0); + $31 = HEAP32[$30>>2]|0; + $32 = ((($0)) + 40|0); + $33 = HEAP32[$32>>2]|0; + $34 = ((($0)) + 60|0); + $35 = HEAP32[$34>>2]|0; + $36 = HEAP32[$0>>2]|0; + L5: do { + switch ($36|0) { + case 0: { + $37 = ((($0)) + 12|0); + HEAP32[$37>>2] = 0; + $38 = ((($0)) + 8|0); + HEAP32[$38>>2] = 0; + $39 = ((($0)) + 28|0); + HEAP32[$39>>2] = 1; + $40 = ((($0)) + 16|0); + HEAP32[$40>>2] = 1; + $41 = $6 & 1; + $42 = ($41|0)==(0); + if ($42) { + $$01416 = $35;$$01607 = $4;$$41511 = $1;$$5 = 0;$$51102 = 0;$$51208 = 0;$$51314 = 0;$$5996 = 0; + label = 14; + } else { + $43 = ($9|0)<(1); + if ($43) { + $$01097 = 0;$$01203 = 0;$$01309 = 0;$$0987 = 0;$$0991 = 0; + label = 6; + } else { + $$11098$ph = 0;$$11204$ph = 0;$$11310$ph = 0;$$1988$ph = 0;$$1992$ph = 0; + label = 8; + } + } + break; + } + case 1: { + $46 = ($9|0)>(0); + if ($46) { + $$11098$ph = $31;$$11204$ph = $33;$$11310$ph = $27;$$1988$ph = $25;$$1992$ph = $29; + label = 8; + } else { + $$01097 = $31;$$01203 = $33;$$01309 = $27;$$0987 = $25;$$0991 = $29; + label = 6; + } + break; + } + case 2: { + $53 = ($9|0)>(0); + if ($53) { + $$31206$ph = $33;$$31312$ph = $27;$$3990$ph = $25;$$3994$ph = $29;$$sink1705 = $1; + label = 12; + } else { + $$11508 = $1;$$21099 = $31;$$21205 = $33;$$21311 = $27;$$2989 = $25;$$2993 = $29; + label = 10; + } + break; + } + case 36: { + $$0960 = -1;$$891505 = $35;$$931084 = $29;$$931700 = $4;$$951192 = $31;$$951298 = $33;$$981605 = $1;$$99 = $25;$$991408 = $27;$$sink30 = 36; + label = 243; + break; + } + case 3: { + $75 = ($9|0)>(0); + if ($75) { + $$31419$ph = $35;$$31610$ph = $4;$$8$ph = $25;$$81105$ph = $31;$$81211$ph = $33;$$81317$ph = $27;$$8999$ph = $29;$$sink1710 = $1; + label = 18; + } else { + $$21418 = $35;$$21609 = $4;$$61513 = $1;$$7 = $25;$$71104 = $31;$$71210 = $33;$$71316 = $27;$$7998 = $29; + label = 16; + } + break; + } + case 5: { + $90 = ($9|0)>(0); + if ($90) { + $91 = ((($1)) + 1|0); + $92 = HEAP8[$1>>0]|0; + $93 = $92&255; + $$01412 = $93;$$111518 = $91; + } else { + $88 = $6 & 2; + $89 = ($88|0)==(0); + if ($89) { + $$01412 = 0;$$111518 = $1; + } else { + $$0960 = 1;$$891505 = $35;$$931084 = $29;$$931700 = $4;$$951192 = $31;$$951298 = $33;$$981605 = $1;$$99 = $25;$$991408 = $27;$$sink30 = 5; + label = 243; + break L5; + } + } + $94 = $$01412 << $25; + $95 = $94 | $27; + $96 = (($25) + 8)|0; + $$121519 = $$111518;$$13 = $96;$$131004 = $29;$$131216 = $33;$$131322 = $95;$$81424 = $35;$$81615 = $4; + label = 25; + break; + } + case 6: { + $106 = ($9|0)>(0); + if ($106) { + $$121428$ph = $35;$$121619$ph = $4;$$161113$ph = $31;$$17$ph = $25;$$171008$ph = $29;$$171220$ph = $33;$$171326$ph = $27;$$sink1713 = $1; + label = 32; + } else { + $$111427 = $35;$$111618 = $4;$$151112 = $31;$$151522 = $1;$$16 = $25;$$161007 = $29;$$161219 = $33;$$161325 = $27; + label = 30; + } + break; + } + case 7: { + $120 = ($9|0)>(0); + if ($120) { + $121 = ((($1)) + 1|0); + $122 = HEAP8[$1>>0]|0; + $$151431 = $35;$$151622 = $4;$$191116 = $31;$$191526 = $121;$$20 = $25;$$201011 = $29;$$201223 = $33;$$201329 = $27;$$sink12 = $122; + label = 39; + } else { + $$141430 = $35;$$141621 = $4;$$181115 = $31;$$181525 = $1;$$19 = $25;$$191010 = $29;$$191222 = $33;$$191328 = $27; + label = 36; + } + break; + } + case 39: { + $$171433 = $35;$$171624 = $4;$$211118 = $31;$$211528 = $1;$$22 = $25;$$221013 = $29;$$221225 = $33;$$221331 = $27; + label = 43; + break; + } + case 51: { + $152 = ($9|0)>(0); + if ($152) { + $$211437$ph = $35;$$211628$ph = $4;$$251122$ph = $31;$$26$ph = $25;$$261017$ph = $29;$$261229$ph = $33;$$261335$ph = $27;$$sink1716 = $1; + label = 49; + } else { + $$201436 = $35;$$201627 = $4;$$241121 = $31;$$241531 = $1;$$25 = $25;$$251016 = $29;$$251228 = $33;$$251334 = $27; + label = 47; + } + break; + } + case 52: { + $$231439 = $35;$$231630 = $4;$$271018 = $29;$$271124 = $31;$$271534 = $1;$$28 = $25;$$281231 = $33;$$281337 = $27; + label = 52; + break; + } + case 9: { + $$251441 = $35;$$251632 = $4;$$291020 = $29;$$291126 = $31;$$291536 = $1;$$30 = $25;$$301233 = $33;$$301339 = $27; + label = 55; + break; + } + case 38: { + $$261442 = $35;$$261633 = $4;$$301021 = $29;$$301127 = $31;$$301537 = $1;$$31 = $25;$$311234 = $33;$$311340 = $27; + label = 56; + break; + } + case 40: { + $$271443 = $35;$$271634 = $4;$$311022 = $29;$$311128 = $31;$$311538 = $1;$$32 = $25;$$321235 = $33;$$321341 = $27; + label = 58; + break; + } + case 10: { + $$281444 = $35;$$281635 = $4;$$321023 = $29;$$321129 = $31;$$321539 = $1;$$33 = $25;$$331236 = $33;$$331342 = $27; + label = 60; + break; + } + case 11: { + $193 = ($9|0)>(0); + if ($193) { + $$321448$ph = $35;$$321639$ph = $4;$$361027$ph = $29;$$361133$ph = $31;$$37$ph = $25;$$371240$ph = $33;$$371346$ph = $27;$$sink1719 = $1; + label = 66; + } else { + $$311447 = $35;$$311638 = $4;$$351026 = $29;$$351132 = $31;$$351542 = $1;$$36 = $25;$$361239 = $33;$$361345 = $27; + label = 64; + } + break; + } + case 14: { + $224 = ($9|0)>(0); + if ($224) { + $$371453$ph = $35;$$371644$ph = $4;$$411032$ph = $29;$$411138$ph = $31;$$42$ph = $25;$$421245$ph = $33;$$421351$ph = $27;$$sink1722 = $1; + label = 75; + } else { + $$361452 = $35;$$361643 = $4;$$401031 = $29;$$401137 = $31;$$401547 = $1;$$41 = $25;$$411244 = $33;$$411350 = $27; + label = 73; + } + break; + } + case 35: { + $$401456 = $35;$$401647 = $4;$$441035 = $29;$$441141 = $31;$$441551 = $1;$$45 = $25;$$451248 = $33;$$451354 = $27; + label = 86; + break; + } + case 16: { + $452 = ($9|0)>(0); + if ($452) { + $$441460$ph = $35;$$441651$ph = $4;$$481039$ph = $29;$$481145$ph = $31;$$49$ph = $25;$$491252$ph = $33;$$491358$ph = $27;$$sink1729 = $1; + label = 116; + } else { + $$431459 = $35;$$431650 = $4;$$471038 = $29;$$471144 = $31;$$471554 = $1;$$48 = $25;$$481251 = $33;$$481357 = $27; + label = 114; + } + break; + } + case 17: { + $$461462 = $35;$$461653 = $4;$$491040 = $29;$$501147 = $31;$$501557 = $1;$$51 = $25;$$511254 = $33;$$511360 = $27; + label = 125; + break; + } + case 18: { + $503 = ($9|0)>(0); + if ($503) { + $$491465$ph = $35;$$491656$ph = $4;$$521043$ph = $29;$$531150$ph = $31;$$54$ph = $25;$$541257$ph = $33;$$541363$ph = $27;$$sink1732 = $1; + label = 130; + } else { + $$481464 = $35;$$481655 = $4;$$511042 = $29;$$521149 = $31;$$521559 = $1;$$53 = $25;$$531256 = $33;$$531362 = $27; + label = 128; + } + break; + } + case 21: { + $$511467 = $35;$$511658 = $4;$$541045 = $29;$$551152 = $31;$$551562 = $1;$$56 = $25;$$561259 = $33;$$561365 = $27; + label = 136; + break; + } + case 23: { + $572 = ($9|0)>(0); + if ($572) { + $$571473$ph = $35;$$571664$ph = $4;$$601051$ph = $29;$$611158$ph = $31;$$62$ph = $25;$$621265$ph = $33;$$621371$ph = $27;$$sink1736 = $1; + label = 153; + } else { + $$561472 = $35;$$561663 = $4;$$591050 = $29;$$601157 = $31;$$601567 = $1;$$61 = $25;$$611264 = $33;$$611370 = $27; + label = 151; + } + break; + } + case 24: { + $$591475 = $35;$$591666 = $4;$$621053 = $29;$$621159 = $31;$$631570 = $1;$$64 = $25;$$641267 = $33;$$641373 = $27; + label = 160; + break; + } + case 25: { + $696 = ($9|0)>(0); + if ($696) { + $$631479$ph = $35;$$641671$ph = $4;$$661057$ph = $29;$$671164$ph = $31;$$681271$ph = $33;$$71$ph = $25;$$711380$ph = $27;$$sink1739 = $1; + label = 182; + } else { + $$621478 = $35;$$631670 = $4;$$651056 = $29;$$661163 = $31;$$671270 = $33;$$691576 = $1;$$70 = $25;$$701379 = $27; + label = 180; + } + break; + } + case 26: { + $737 = ($9|0)>(0); + if ($737) { + $$681484$ph = $35;$$691676$ph = $4;$$711062$ph = $29;$$721169$ph = $31;$$731276$ph = $33;$$76$ph = $25;$$761385$ph = $27;$$sink1743 = $1; + label = 195; + } else { + $$671483 = $35;$$681675 = $4;$$701061 = $29;$$711168 = $31;$$721275 = $33;$$741581 = $1;$$75 = $25;$$751384 = $27; + label = 193; + } + break; + } + case 27: { + $784 = ($9|0)>(0); + if ($784) { + $$721488$ph = $35;$$731680$ph = $4;$$741065$ph = $29;$$761173$ph = $31;$$761279$ph = $33;$$80$ph = $25;$$801389$ph = $27;$$sink1746 = $1; + label = 206; + } else { + $$711487 = $35;$$721679 = $4;$$731064 = $29;$$751172 = $31;$$751278 = $33;$$781585 = $1;$$79 = $25;$$791388 = $27; + label = 204; + } + break; + } + case 37: { + $$731489 = $35;$$761683 = $4;$$771068 = $29;$$791176 = $31;$$791282 = $33;$$821589 = $1;$$83 = $25;$$831392 = $27; + label = 210; + break; + } + case 53: { + $$751491 = $35;$$781685 = $4;$$791070 = $29;$$811178 = $31;$$811284 = $33;$$841591 = $1;$$85 = $25;$$851394 = $27; + label = 213; + break; + } + case 32: { + $842 = ($9|0)>(0); + if ($842) { + $843 = ((($1)) + 1|0); + $844 = HEAP8[$1>>0]|0; + $845 = $844&255; + $$0949 = $845;$$881595 = $843; + } else { + $840 = $6 & 2; + $841 = ($840|0)==(0); + if ($841) { + $$0949 = 0;$$881595 = $1; + } else { + $$0960 = 1;$$891505 = $35;$$931084 = $29;$$931700 = $4;$$951192 = $31;$$951298 = $33;$$981605 = $1;$$99 = $25;$$991408 = $27;$$sink30 = 32; + label = 243; + break L5; + } + } + $846 = $$0949 << $25; + $847 = $846 | $27; + $848 = (($25) + 8)|0; + $$801496 = $35;$$841075 = $29;$$841691 = $4;$$861289 = $33;$$891596 = $$881595;$$90 = $848;$$901399 = $847; + label = 226; + break; + } + case 41: { + $858 = ($9|0)>(0); + if ($858) { + $$841500$ph = $35;$$881079$ph = $29;$$881695$ph = $4;$$901187$ph = $31;$$901293$ph = $33;$$94$ph = $25;$$941403$ph = $27;$$sink1750 = $1; + label = 233; + } else { + $$831499 = $35;$$871078 = $29;$$871694 = $4;$$891186 = $31;$$891292 = $33;$$921599 = $1;$$93 = $25;$$931402 = $27; + label = 231; + } + break; + } + case 42: { + $871 = ($9|0)>(0); + if ($871) { + $872 = ((($1)) + 1|0); + $873 = HEAP8[$1>>0]|0; + $874 = $873&255; + $$0948 = $874;$$871503 = $35;$$911082 = $29;$$911698 = $4;$$931190 = $31;$$931296 = $33;$$961603 = $872;$$97 = $25;$$971406 = $27; + label = 241; + } else { + $$861502 = $35;$$901081 = $29;$$901697 = $4;$$921189 = $31;$$921295 = $33;$$951602 = $1;$$96 = $25;$$961405 = $27; + label = 237; + } + break; + } + case 34: { + $$881504 = $35;$$921083 = $29;$$921699 = $4;$$941191 = $31;$$941297 = $33;$$971604 = $1;$$98 = $25;$$981407 = $27; + label = 242; + break; + } + default: { + $$100 = $25;$$1001409 = $27;$$1961 = -1;$$901506 = $35;$$941085 = $29;$$941701 = $4;$$961193 = $31;$$961299 = $33;$$991606 = $1; + label = 244; + } + } + } while(0); + if ((label|0) == 6) { + $44 = $6 & 2; + $45 = ($44|0)==(0); + if ($45) { + $$01507 = $1;$$11098 = $$01097;$$11204 = $$01203;$$11310 = $$01309;$$1988 = $$0987;$$1992 = $$0991;$$sink3$shrunk = 0; + label = 9; + } else { + $$0960 = 1;$$891505 = $35;$$931084 = $$0991;$$931700 = $4;$$951192 = $$01097;$$951298 = $$01203;$$981605 = $1;$$99 = $$0987;$$991408 = $$01309;$$sink30 = 1; + label = 243; + } + } + else if ((label|0) == 8) { + $47 = ((($1)) + 1|0); + $48 = HEAP8[$1>>0]|0; + $$01507 = $47;$$11098 = $$11098$ph;$$11204 = $$11204$ph;$$11310 = $$11310$ph;$$1988 = $$1988$ph;$$1992 = $$1992$ph;$$sink3$shrunk = $48; + label = 9; + } + if ((label|0) == 9) { + $$sink3 = $$sink3$shrunk&255; + $49 = ((($0)) + 8|0); + HEAP32[$49>>2] = $$sink3; + $50 = ($$01507>>>0)<($10>>>0); + if ($50) { + $$31206$ph = $$11204;$$31312$ph = $$11310;$$3990$ph = $$1988;$$3994$ph = $$1992;$$sink1705 = $$01507; + label = 12; + } else { + $$11508 = $$01507;$$21099 = $$11098;$$21205 = $$11204;$$21311 = $$11310;$$2989 = $$1988;$$2993 = $$1992; + label = 10; + } + } + if ((label|0) == 10) { + $51 = $6 & 2; + $52 = ($51|0)==(0); + if ($52) { + $$21509 = $$11508;$$31206 = $$21205;$$31312 = $$21311;$$3990 = $$2989;$$3994 = $$2993;$$sink9$shrunk = 0; + label = 13; + } else { + $$0960 = 1;$$891505 = $35;$$931084 = $$2993;$$931700 = $4;$$951192 = $$21099;$$951298 = $$21205;$$981605 = $$11508;$$99 = $$2989;$$991408 = $$21311;$$sink30 = 2; + label = 243; + } + } + else if ((label|0) == 12) { + $54 = ((($$sink1705)) + 1|0); + $55 = HEAP8[$$sink1705>>0]|0; + $$21509 = $54;$$31206 = $$31206$ph;$$31312 = $$31312$ph;$$3990 = $$3990$ph;$$3994 = $$3994$ph;$$sink9$shrunk = $55; + label = 13; + } + if ((label|0) == 13) { + $$sink9 = $$sink9$shrunk&255; + $56 = ((($0)) + 12|0); + HEAP32[$56>>2] = $$sink9; + $57 = ((($0)) + 8|0); + $58 = HEAP32[$57>>2]|0; + $59 = $58 << 8; + $60 = $59 | $$sink9; + $61 = (($60>>>0) % 31)&-1; + $62 = $$sink9 & 32; + $63 = $61 | $62; + $64 = $58 & 15; + $65 = ($64|0)!=(8); + $not$ = ($63|0)!=(0); + $$1754 = $65 | $not$; + $66 = $58 >>> 4; + $67 = 256 << $66; + $68 = ($67>>>0)>(32768); + $69 = ($20>>>0)<($67>>>0); + $$ = $68 | $69; + $not$1755 = $14 ^ 1; + $70 = $$ & $not$1755; + $$31100$v = $70 | $$1754; + if ($$31100$v) { + $$0960 = -1;$$891505 = $35;$$931084 = $$3994;$$931700 = $4;$$951192 = 1;$$951298 = $$31206;$$981605 = $$21509;$$99 = $$3990;$$991408 = $$31312;$$sink30 = 36; + label = 243; + } else { + $$01416 = $35;$$01607 = $4;$$41511 = $$21509;$$5 = $$3990;$$51102 = 0;$$51208 = $$31206;$$51314 = $$31312;$$5996 = $$3994; + label = 14; + } + } + L46: while(1) { + switch (label|0) { + case 14: { + label = 0; + $71 = ($$5>>>0)<(3); + if ($71) { + $$11417 = $$01416;$$11608 = $$01607;$$51512 = $$41511;$$6 = $$5;$$61103 = $$51102;$$61209 = $$51208;$$61315 = $$51314;$$6997 = $$5996; + label = 15; + } else { + $$41420 = $$01416;$$41611 = $$01607;$$81515 = $$41511;$$9 = $$5;$$91000 = $$5996;$$91106 = $$51102;$$91212 = $$51208;$$91318 = $$51314; + label = 20; + } + break; + } + case 16: { + label = 0; + $73 = $6 & 2; + $74 = ($73|0)==(0); + if ($74) { + $$01413$shrunk = 0;$$31419 = $$21418;$$31610 = $$21609;$$71514 = $$61513;$$8 = $$7;$$81105 = $$71104;$$81211 = $$71210;$$81317 = $$71316;$$8999 = $$7998; + label = 19; + } else { + $$0960 = 1;$$891505 = $$21418;$$931084 = $$7998;$$931700 = $$21609;$$951192 = $$71104;$$951298 = $$71210;$$981605 = $$61513;$$99 = $$7;$$991408 = $$71316;$$sink30 = 3; + label = 243; + continue L46; + } + break; + } + case 18: { + label = 0; + $76 = ((($$sink1710)) + 1|0); + $77 = HEAP8[$$sink1710>>0]|0; + $$01413$shrunk = $77;$$31419 = $$31419$ph;$$31610 = $$31610$ph;$$71514 = $76;$$8 = $$8$ph;$$81105 = $$81105$ph;$$81211 = $$81211$ph;$$81317 = $$81317$ph;$$8999 = $$8999$ph; + label = 19; + break; + } + case 25: { + label = 0; + $97 = $$13 & 7; + $98 = $$131322 >>> $97; + $99 = (($$13) - ($97))|0; + $$131110 = 0;$$131520 = $$121519;$$14 = $99;$$141005 = $$131004;$$141217 = $$131216;$$141323 = $98;$$91425 = $$81424;$$91616 = $$81615; + label = 26; + break; + } + case 30: { + label = 0; + $104 = $6 & 2; + $105 = ($104|0)==(0); + if ($105) { + $$01411$shrunk = 0;$$121428 = $$111427;$$121619 = $$111618;$$161113 = $$151112;$$161523 = $$151522;$$17 = $$16;$$171008 = $$161007;$$171220 = $$161219;$$171326 = $$161325; + label = 33; + } else { + $$0960 = 1;$$891505 = $$111427;$$931084 = $$161007;$$931700 = $$111618;$$951192 = $$151112;$$951298 = $$161219;$$981605 = $$151522;$$99 = $$16;$$991408 = $$161325;$$sink30 = 6; + label = 243; + continue L46; + } + break; + } + case 32: { + label = 0; + $107 = ((($$sink1713)) + 1|0); + $108 = HEAP8[$$sink1713>>0]|0; + $$01411$shrunk = $108;$$121428 = $$121428$ph;$$121619 = $$121619$ph;$$161113 = $$161113$ph;$$161523 = $107;$$17 = $$17$ph;$$171008 = $$171008$ph;$$171220 = $$171220$ph;$$171326 = $$171326$ph; + label = 33; + break; + } + case 36: { + label = 0; + $118 = $6 & 2; + $119 = ($118|0)==(0); + if ($119) { + $$151431 = $$141430;$$151622 = $$141621;$$191116 = $$181115;$$191526 = $$181525;$$20 = $$19;$$201011 = $$191010;$$201223 = $$191222;$$201329 = $$191328;$$sink12 = 0; + label = 39; + continue L46; + } else { + $$0960 = 1;$$891505 = $$141430;$$931084 = $$191010;$$931700 = $$141621;$$951192 = $$181115;$$951298 = $$191222;$$981605 = $$181525;$$99 = $$19;$$991408 = $$191328;$$sink30 = 7; + label = 243; + continue L46; + } + break; + } + case 39: { + label = 0; + $$sink13 = (((($0)) + 10528|0) + ($$191116)|0); + HEAP8[$$sink13>>0] = $$sink12; + $$161432 = $$151431;$$161623 = $$151622;$$201117 = $$191116;$$201527 = $$191526;$$21 = $$20;$$211012 = $$201011;$$211224 = $$201223;$$211330 = $$201329; + label = 41; + break; + } + case 43: { + label = 0; + $$0960 = -1;$$891505 = $$171433;$$931084 = $$221013;$$931700 = $$171624;$$951192 = $$211118;$$951298 = $$221225;$$981605 = $$211528;$$99 = $$22;$$991408 = $$221331;$$sink30 = 39; + label = 243; + continue L46; + break; + } + case 47: { + label = 0; + $150 = $6 & 2; + $151 = ($150|0)==(0); + if ($151) { + $$01410$shrunk = 0;$$211437 = $$201436;$$211628 = $$201627;$$251122 = $$241121;$$251532 = $$241531;$$26 = $$25;$$261017 = $$251016;$$261229 = $$251228;$$261335 = $$251334; + label = 50; + } else { + $$0960 = 1;$$891505 = $$201436;$$931084 = $$251016;$$931700 = $$201627;$$951192 = $$241121;$$951298 = $$251228;$$981605 = $$241531;$$99 = $$25;$$991408 = $$251334;$$sink30 = 51; + label = 243; + continue L46; + } + break; + } + case 49: { + label = 0; + $153 = ((($$sink1716)) + 1|0); + $154 = HEAP8[$$sink1716>>0]|0; + $$01410$shrunk = $154;$$211437 = $$211437$ph;$$211628 = $$211628$ph;$$251122 = $$251122$ph;$$251532 = $153;$$26 = $$26$ph;$$261017 = $$261017$ph;$$261229 = $$261229$ph;$$261335 = $$261335$ph; + label = 50; + break; + } + case 52: { + label = 0; + $162 = ($$231630>>>0)<($12>>>0); + if (!($162)) { + $$0960 = 2;$$891505 = $$231439;$$931084 = $$271018;$$931700 = $$231630;$$951192 = $$271124;$$951298 = $$281231;$$981605 = $$271534;$$99 = $$28;$$991408 = $$281337;$$sink30 = 52; + label = 243; + continue L46; + } + $163 = $$271018&255; + $164 = ((($$231630)) + 1|0); + HEAP8[$$231630>>0] = $163; + $165 = (($$271124) + -1)|0; + $$181434 = $$231439;$$181625 = $164;$$221119 = $165;$$221529 = $$271534;$$23 = $$28;$$231014 = $$271018;$$231226 = $$281231;$$231332 = $$281337; + label = 44; + break; + } + case 55: { + label = 0; + $167 = ($$251632>>>0)<($12>>>0); + if ($167) { + $$261442 = $$251441;$$261633 = $$251632;$$301021 = $$291020;$$301127 = $$291126;$$301537 = $$291536;$$31 = $$30;$$311234 = $$301233;$$311340 = $$301339; + label = 56; + continue L46; + } else { + $$0960 = 2;$$891505 = $$251441;$$931084 = $$291020;$$931700 = $$251632;$$951192 = $$291126;$$951298 = $$301233;$$981605 = $$291536;$$99 = $$30;$$991408 = $$301339;$$sink30 = 9; + label = 243; + continue L46; + } + break; + } + case 56: { + label = 0; + $168 = ($$301537>>>0)<($10>>>0); + if ($168) { + $171 = $12; + $172 = $$261633; + $173 = (($171) - ($172))|0; + $174 = $10; + $175 = $$301537; + $176 = (($174) - ($175))|0; + $177 = ($173>>>0)<($176>>>0); + $$sink17 = $177 ? $12 : $10; + $$sink16 = $177 ? $$261633 : $$301537; + $178 = $$sink17; + $179 = $$sink16; + $180 = (($178) - ($179))|0; + $181 = ($180>>>0)<($$301127>>>0); + $$$301127 = $181 ? $180 : $$301127; + _memcpy(($$261633|0),($$301537|0),($$$301127|0))|0; + $182 = (($$301537) + ($$$301127)|0); + $183 = (($$261633) + ($$$301127)|0); + $184 = (($$301127) - ($$$301127))|0; + $$241440 = $$261442;$$241631 = $183;$$281019 = $$301021;$$281125 = $184;$$281535 = $182;$$29 = $$31;$$291232 = $$311234;$$291338 = $$311340; + label = 54; + break; + } else { + $169 = $6 & 2; + $170 = ($169|0)==(0); + if ($170) { + $$271443 = $$261442;$$271634 = $$261633;$$311022 = $$301021;$$311128 = $$301127;$$311538 = $$301537;$$32 = $$31;$$321235 = $$311234;$$321341 = $$311340; + label = 58; + continue L46; + } else { + $$0960 = 1;$$891505 = $$261442;$$931084 = $$301021;$$931700 = $$261633;$$951192 = $$301127;$$951298 = $$311234;$$981605 = $$301537;$$99 = $$31;$$991408 = $$311340;$$sink30 = 38; + label = 243; + continue L46; + } + } + break; + } + case 58: { + label = 0; + $$0960 = -1;$$891505 = $$271443;$$931084 = $$311022;$$931700 = $$271634;$$951192 = $$311128;$$951298 = $$321235;$$981605 = $$311538;$$99 = $$32;$$991408 = $$321341;$$sink30 = 40; + label = 243; + continue L46; + break; + } + case 60: { + label = 0; + $$0960 = -1;$$891505 = $$281444;$$931084 = $$321023;$$931700 = $$281635;$$951192 = $$321129;$$951298 = $$331236;$$981605 = $$321539;$$99 = $$33;$$991408 = $$331342;$$sink30 = 10; + label = 243; + continue L46; + break; + } + case 64: { + label = 0; + $191 = $6 & 2; + $192 = ($191|0)==(0); + if ($192) { + $$01300$shrunk = 0;$$321448 = $$311447;$$321639 = $$311638;$$361027 = $$351026;$$361133 = $$351132;$$361543 = $$351542;$$37 = $$36;$$371240 = $$361239;$$371346 = $$361345; + label = 67; + } else { + $$0960 = 1;$$891505 = $$311447;$$931084 = $$351026;$$931700 = $$311638;$$951192 = $$351132;$$951298 = $$361239;$$981605 = $$351542;$$99 = $$36;$$991408 = $$361345;$$sink30 = 11; + label = 243; + continue L46; + } + break; + } + case 66: { + label = 0; + $194 = ((($$sink1719)) + 1|0); + $195 = HEAP8[$$sink1719>>0]|0; + $$01300$shrunk = $195;$$321448 = $$321448$ph;$$321639 = $$321639$ph;$$361027 = $$361027$ph;$$361133 = $$361133$ph;$$361543 = $194;$$37 = $$37$ph;$$371240 = $$371240$ph;$$371346 = $$371346$ph; + label = 67; + break; + } + case 73: { + label = 0; + $222 = $6 & 2; + $223 = ($222|0)==(0); + if ($223) { + $$01202$shrunk = 0;$$371453 = $$361452;$$371644 = $$361643;$$411032 = $$401031;$$411138 = $$401137;$$411548 = $$401547;$$42 = $$41;$$421245 = $$411244;$$421351 = $$411350; + label = 76; + } else { + $$0960 = 1;$$891505 = $$361452;$$931084 = $$401031;$$931700 = $$361643;$$951192 = $$401137;$$951298 = $$411244;$$981605 = $$401547;$$99 = $$41;$$991408 = $$411350;$$sink30 = 14; + label = 243; + continue L46; + } + break; + } + case 75: { + label = 0; + $225 = ((($$sink1722)) + 1|0); + $226 = HEAP8[$$sink1722>>0]|0; + $$01202$shrunk = $226;$$371453 = $$371453$ph;$$371644 = $$371644$ph;$$411032 = $$411032$ph;$$411138 = $$411138$ph;$$411548 = $225;$$42 = $$42$ph;$$421245 = $$421245$ph;$$421351 = $$421351$ph; + label = 76; + break; + } + case 86: { + label = 0; + $$0960 = -1;$$891505 = $$401456;$$931084 = $$441035;$$931700 = $$401647;$$951192 = $$441141;$$951298 = $$451248;$$981605 = $$441551;$$99 = $$45;$$991408 = $$451354;$$sink30 = 35; + label = 243; + continue L46; + break; + } + case 114: { + label = 0; + $450 = $6 & 2; + $451 = ($450|0)==(0); + if ($451) { + $$0980$shrunk = 0;$$441460 = $$431459;$$441651 = $$431650;$$481039 = $$471038;$$481145 = $$471144;$$481555 = $$471554;$$49 = $$48;$$491252 = $$481251;$$491358 = $$481357; + label = 117; + } else { + $$0960 = 1;$$891505 = $$431459;$$931084 = $$471038;$$931700 = $$431650;$$951192 = $$471144;$$951298 = $$481251;$$981605 = $$471554;$$99 = $$48;$$991408 = $$481357;$$sink30 = 16; + label = 243; + continue L46; + } + break; + } + case 116: { + label = 0; + $453 = ((($$sink1729)) + 1|0); + $454 = HEAP8[$$sink1729>>0]|0; + $$0980$shrunk = $454;$$441460 = $$441460$ph;$$441651 = $$441651$ph;$$481039 = $$481039$ph;$$481145 = $$481145$ph;$$481555 = $453;$$49 = $$49$ph;$$491252 = $$491252$ph;$$491358 = $$491358$ph; + label = 117; + break; + } + case 125: { + label = 0; + $$0960 = -1;$$891505 = $$461462;$$931084 = $$491040;$$931700 = $$461653;$$951192 = $$501147;$$951298 = $$511254;$$981605 = $$501557;$$99 = $$51;$$991408 = $$511360;$$sink30 = 17; + label = 243; + continue L46; + break; + } + case 128: { + label = 0; + $501 = $6 & 2; + $502 = ($501|0)==(0); + if ($502) { + $$0979$shrunk = 0;$$491465 = $$481464;$$491656 = $$481655;$$521043 = $$511042;$$531150 = $$521149;$$531560 = $$521559;$$54 = $$53;$$541257 = $$531256;$$541363 = $$531362; + label = 131; + } else { + $$0960 = 1;$$891505 = $$481464;$$931084 = $$511042;$$931700 = $$481655;$$951192 = $$521149;$$951298 = $$531256;$$981605 = $$521559;$$99 = $$53;$$991408 = $$531362;$$sink30 = 18; + label = 243; + continue L46; + } + break; + } + case 130: { + label = 0; + $504 = ((($$sink1732)) + 1|0); + $505 = HEAP8[$$sink1732>>0]|0; + $$0979$shrunk = $505;$$491465 = $$491465$ph;$$491656 = $$491656$ph;$$521043 = $$521043$ph;$$531150 = $$531150$ph;$$531560 = $504;$$54 = $$54$ph;$$541257 = $$541257$ph;$$541363 = $$541363$ph; + label = 131; + break; + } + case 136: { + label = 0; + $$0960 = -1;$$891505 = $$511467;$$931084 = $$541045;$$931700 = $$511658;$$951192 = $$551152;$$951298 = $$561259;$$981605 = $$551562;$$99 = $$56;$$991408 = $$561365;$$sink30 = 21; + label = 243; + continue L46; + break; + } + case 151: { + label = 0; + $570 = $6 & 2; + $571 = ($570|0)==(0); + if ($571) { + $$0971$shrunk = 0;$$571473 = $$561472;$$571664 = $$561663;$$601051 = $$591050;$$611158 = $$601157;$$611568 = $$601567;$$62 = $$61;$$621265 = $$611264;$$621371 = $$611370; + label = 154; + } else { + $$0960 = 1;$$891505 = $$561472;$$931084 = $$591050;$$931700 = $$561663;$$951192 = $$601157;$$951298 = $$611264;$$981605 = $$601567;$$99 = $$61;$$991408 = $$611370;$$sink30 = 23; + label = 243; + continue L46; + } + break; + } + case 153: { + label = 0; + $573 = ((($$sink1736)) + 1|0); + $574 = HEAP8[$$sink1736>>0]|0; + $$0971$shrunk = $574;$$571473 = $$571473$ph;$$571664 = $$571664$ph;$$601051 = $$601051$ph;$$611158 = $$611158$ph;$$611568 = $573;$$62 = $$62$ph;$$621265 = $$621265$ph;$$621371 = $$621371$ph; + label = 154; + break; + } + case 160: { + label = 0; + $610 = ($$591666>>>0)<($12>>>0); + if (!($610)) { + $$0960 = 2;$$891505 = $$591475;$$931084 = $$621053;$$931700 = $$591666;$$951192 = $$621159;$$951298 = $$641267;$$981605 = $$631570;$$99 = $$64;$$991408 = $$641373;$$sink30 = 24; + label = 243; + continue L46; + } + $611 = $$621159&255; + $612 = ((($$591666)) + 1|0); + HEAP8[$$591666>>0] = $611; + $$541470$ph = $$591475;$$541661$ph = $612;$$571048$ph = $$621053;$$581155$ph = $$621159;$$581565$ph = $$631570;$$59$ph = $$64;$$591262$ph = $$641267;$$591368$ph = $$641373; + label = 140; + break; + } + case 180: { + label = 0; + $694 = $6 & 2; + $695 = ($694|0)==(0); + if ($695) { + $$0959$shrunk = 0;$$631479 = $$621478;$$641671 = $$631670;$$661057 = $$651056;$$671164 = $$661163;$$681271 = $$671270;$$701577 = $$691576;$$71 = $$70;$$711380 = $$701379; + label = 183; + } else { + $$0960 = 1;$$891505 = $$621478;$$931084 = $$651056;$$931700 = $$631670;$$951192 = $$661163;$$951298 = $$671270;$$981605 = $$691576;$$99 = $$70;$$991408 = $$701379;$$sink30 = 25; + label = 243; + continue L46; + } + break; + } + case 182: { + label = 0; + $697 = ((($$sink1739)) + 1|0); + $698 = HEAP8[$$sink1739>>0]|0; + $$0959$shrunk = $698;$$631479 = $$631479$ph;$$641671 = $$641671$ph;$$661057 = $$661057$ph;$$671164 = $$671164$ph;$$681271 = $$681271$ph;$$701577 = $697;$$71 = $$71$ph;$$711380 = $$711380$ph; + label = 183; + break; + } + case 193: { + label = 0; + $735 = $6 & 2; + $736 = ($735|0)==(0); + if ($736) { + $$0952$shrunk = 0;$$681484 = $$671483;$$691676 = $$681675;$$711062 = $$701061;$$721169 = $$711168;$$731276 = $$721275;$$751582 = $$741581;$$76 = $$75;$$761385 = $$751384; + label = 196; + } else { + $$0960 = 1;$$891505 = $$671483;$$931084 = $$701061;$$931700 = $$681675;$$951192 = $$711168;$$951298 = $$721275;$$981605 = $$741581;$$99 = $$75;$$991408 = $$751384;$$sink30 = 26; + label = 243; + continue L46; + } + break; + } + case 195: { + label = 0; + $738 = ((($$sink1743)) + 1|0); + $739 = HEAP8[$$sink1743>>0]|0; + $$0952$shrunk = $739;$$681484 = $$681484$ph;$$691676 = $$691676$ph;$$711062 = $$711062$ph;$$721169 = $$721169$ph;$$731276 = $$731276$ph;$$751582 = $738;$$76 = $$76$ph;$$761385 = $$761385$ph; + label = 196; + break; + } + case 204: { + label = 0; + $782 = $6 & 2; + $783 = ($782|0)==(0); + if ($783) { + $$0950$shrunk = 0;$$721488 = $$711487;$$731680 = $$721679;$$741065 = $$731064;$$761173 = $$751172;$$761279 = $$751278;$$791586 = $$781585;$$80 = $$79;$$801389 = $$791388; + label = 207; + } else { + $$0960 = 1;$$891505 = $$711487;$$931084 = $$731064;$$931700 = $$721679;$$951192 = $$751172;$$951298 = $$751278;$$981605 = $$781585;$$99 = $$79;$$991408 = $$791388;$$sink30 = 27; + label = 243; + continue L46; + } + break; + } + case 206: { + label = 0; + $785 = ((($$sink1746)) + 1|0); + $786 = HEAP8[$$sink1746>>0]|0; + $$0950$shrunk = $786;$$721488 = $$721488$ph;$$731680 = $$731680$ph;$$741065 = $$741065$ph;$$761173 = $$761173$ph;$$761279 = $$761279$ph;$$791586 = $785;$$80 = $$80$ph;$$801389 = $$801389$ph; + label = 207; + break; + } + case 210: { + label = 0; + $$0960 = -1;$$891505 = $$731489;$$931084 = $$771068;$$931700 = $$761683;$$951192 = $$791176;$$951298 = $$791282;$$981605 = $$821589;$$99 = $$83;$$991408 = $$831392;$$sink30 = 37; + label = 243; + continue L46; + break; + } + case 213: { + label = 0; + $809 = ($$781685>>>0)<($12>>>0); + if (!($809)) { + $$0960 = 2;$$891505 = $$751491;$$931084 = $$791070;$$931700 = $$781685;$$951192 = $$811178;$$951298 = $$811284;$$981605 = $$841591;$$99 = $$85;$$991408 = $$851394;$$sink30 = 53; + label = 243; + continue L46; + } + $810 = (($$751491) + 1)|0; + $811 = (($$751491) - ($$791070))|0; + $812 = $811 & $$1753; + $813 = (($3) + ($812)|0); + $814 = HEAP8[$813>>0]|0; + $815 = ((($$781685)) + 1|0); + HEAP8[$$781685>>0] = $814; + $$741490 = $810;$$771684 = $815;$$781069 = $$791070;$$801177 = $$811178;$$801283 = $$811284;$$831590 = $$841591;$$84 = $$85;$$841393 = $$851394; + label = 212; + break; + } + case 226: { + label = 0; + $849 = $$90 & 7; + $850 = $$901399 >>> $849; + $851 = (($$90) - ($849))|0; + $$811497 = $$801496;$$851076 = $$841075;$$851692 = $$841691;$$871184 = 0;$$871290 = $$861289;$$901597 = $$891596;$$91 = $851;$$911400 = $850; + label = 227; + break; + } + case 231: { + label = 0; + $856 = $6 & 2; + $857 = ($856|0)==(0); + if ($857) { + $$0947$shrunk = 0;$$841500 = $$831499;$$881079 = $$871078;$$881695 = $$871694;$$901187 = $$891186;$$901293 = $$891292;$$931600 = $$921599;$$94 = $$93;$$941403 = $$931402; + label = 234; + } else { + $$0960 = 1;$$891505 = $$831499;$$931084 = $$871078;$$931700 = $$871694;$$951192 = $$891186;$$951298 = $$891292;$$981605 = $$921599;$$99 = $$93;$$991408 = $$931402;$$sink30 = 41; + label = 243; + continue L46; + } + break; + } + case 233: { + label = 0; + $859 = ((($$sink1750)) + 1|0); + $860 = HEAP8[$$sink1750>>0]|0; + $$0947$shrunk = $860;$$841500 = $$841500$ph;$$881079 = $$881079$ph;$$881695 = $$881695$ph;$$901187 = $$901187$ph;$$901293 = $$901293$ph;$$931600 = $859;$$94 = $$94$ph;$$941403 = $$941403$ph; + label = 234; + break; + } + case 237: { + label = 0; + $869 = $6 & 2; + $870 = ($869|0)==(0); + if ($870) { + $$0948 = 0;$$871503 = $$861502;$$911082 = $$901081;$$911698 = $$901697;$$931190 = $$921189;$$931296 = $$921295;$$961603 = $$951602;$$97 = $$96;$$971406 = $$961405; + label = 241; + continue L46; + } else { + $$0960 = 1;$$891505 = $$861502;$$931084 = $$901081;$$931700 = $$901697;$$951192 = $$921189;$$951298 = $$921295;$$981605 = $$951602;$$99 = $$96;$$991408 = $$961405;$$sink30 = 42; + label = 243; + continue L46; + } + break; + } + case 241: { + label = 0; + $878 = ((($0)) + 16|0); + $879 = HEAP32[$878>>2]|0; + $880 = $879 << 8; + $881 = $880 | $$0948; + HEAP32[$878>>2] = $881; + $882 = (($$931190) + 1)|0; + $$811497 = $$871503;$$851076 = $$911082;$$851692 = $$911698;$$871184 = $882;$$871290 = $$931296;$$901597 = $$961603;$$91 = $$97;$$911400 = $$971406; + label = 227; + break; + } + case 242: { + label = 0; + $$0960 = 0;$$891505 = $$881504;$$931084 = $$921083;$$931700 = $$921699;$$951192 = $$941191;$$951298 = $$941297;$$981605 = $$971604;$$99 = $$98;$$991408 = $$981407;$$sink30 = 34; + label = 243; + continue L46; + break; + } + case 243: { + label = 0; + HEAP32[$0>>2] = $$sink30; + $$100 = $$99;$$1001409 = $$991408;$$1961 = $$0960;$$901506 = $$891505;$$941085 = $$931084;$$941701 = $$931700;$$961193 = $$951192;$$961299 = $$951298;$$991606 = $$981605; + label = 244; + continue L46; + break; + } + case 244: { + label = 0; + HEAP32[$24>>2] = $$100; + HEAP32[$26>>2] = $$1001409; + HEAP32[$28>>2] = $$941085; + HEAP32[$30>>2] = $$961193; + HEAP32[$32>>2] = $$961299; + HEAP32[$34>>2] = $$901506; + $883 = $$991606; + $884 = $1; + $885 = (($883) - ($884))|0; + HEAP32[$2>>2] = $885; + $886 = $$941701; + $887 = $4; + $888 = (($886) - ($887))|0; + HEAP32[$5>>2] = $888; + $889 = $6 & 9; + $890 = ($889|0)!=(0); + $891 = ($$1961|0)>(-1); + $or$cond29 = $890 & $891; + if ($or$cond29) { + break L46; + } else { + $$0951 = $$1961; + label = 258; + break L46; + } + break; + } + } + switch (label|0) { + case 19: { + label = 0; + $$01413 = $$01413$shrunk&255; + $78 = $$01413 << $$8; + $79 = $78 | $$81317; + $80 = (($$8) + 8)|0; + $81 = ($80>>>0)<(3); + if ($81) { + $$11417 = $$31419;$$11608 = $$31610;$$51512 = $$71514;$$6 = $80;$$61103 = $$81105;$$61209 = $$81211;$$61315 = $79;$$6997 = $$8999; + label = 15; + } else { + $$41420 = $$31419;$$41611 = $$31610;$$81515 = $$71514;$$9 = $80;$$91000 = $$8999;$$91106 = $$81105;$$91212 = $$81211;$$91318 = $79; + label = 20; + } + break; + } + case 33: { + label = 0; + $$01411 = $$01411$shrunk&255; + $109 = $$01411 << $$17; + $110 = $109 | $$171326; + $111 = (($$17) + 8)|0; + $112 = ($$17>>>0)>(4294967287); + if ($112) { + $$101426 = $$121428;$$101617 = $$121619;$$141111 = $$161113;$$141521 = $$161523;$$15 = $111;$$151006 = $$171008;$$151218 = $$171220;$$151324 = $110; + label = 29; + } else { + $$131429 = $$121428;$$131620 = $$121619;$$171114 = $$161113;$$171524 = $$161523;$$18 = $111;$$181009 = $$171008;$$181221 = $$171220;$$181327 = $110; + label = 34; + } + break; + } + case 50: { + label = 0; + $$01410 = $$01410$shrunk&255; + $155 = $$01410 << $$26; + $156 = $155 | $$261335; + $157 = (($$26) + 8)|0; + $158 = ($$26>>>0)>(4294967287); + if ($158) { + $$191435 = $$211437;$$191626 = $$211628;$$231120 = $$251122;$$231530 = $$251532;$$24 = $157;$$241015 = $$261017;$$241227 = $$261229;$$241333 = $156; + label = 46; + } else { + $$221438 = $$211437;$$221629 = $$211628;$$261123 = $$251122;$$261533 = $$251532;$$27 = $157;$$271230 = $$261229;$$271336 = $156; + label = 51; + } + break; + } + case 67: { + label = 0; + $$01300 = $$01300$shrunk&255; + $196 = $$01300 << $$37; + $197 = $196 | $$371346; + $198 = (($$37) + 8)|0; + $199 = (11204 + ($$361133)|0); + $200 = HEAP8[$199>>0]|0; + $201 = $200 << 24 >> 24; + $202 = ($198>>>0)<($201>>>0); + if ($202) { + $$301446 = $$321448;$$301637 = $$321639;$$341025 = $$361027;$$341131 = $$361133;$$341541 = $$361543;$$35 = $198;$$351238 = $$371240;$$351344 = $197; + label = 63; + } else { + $$331449 = $$321448;$$331640 = $$321639;$$371028 = $$361027;$$371134 = $$361133;$$371544 = $$361543;$$38 = $198;$$381241 = $$371240;$$381347 = $197; + label = 68; + } + break; + } + case 76: { + label = 0; + $$01202 = $$01202$shrunk&255; + $227 = $$01202 << $$42; + $228 = $227 | $$421351; + $229 = (($$42) + 8)|0; + $230 = ($229>>>0)<(3); + if ($230) { + $$351451 = $$371453;$$351642 = $$371644;$$391030 = $$411032;$$391136 = $$411138;$$391546 = $$411548;$$40 = $229;$$401243 = $$421245;$$401349 = $228; + label = 72; + } else { + $$381454 = $$371453;$$381645 = $$371644;$$421033 = $$411032;$$421139 = $$411138;$$421549 = $$411548;$$43 = $229;$$431246 = $$421245;$$431352 = $228; + label = 77; + } + break; + } + case 117: { + label = 0; + $$0980 = $$0980$shrunk&255; + $455 = $$0980 << $$49; + $456 = $455 | $$491358; + $457 = (($$49) + 8)|0; + $458 = ($457>>>0)<(15); + if ($458) { + $$421458 = $$441460;$$421649 = $$441651;$$461037 = $$481039;$$461143 = $$481145;$$461553 = $$481555;$$47 = $457;$$471250 = $$491252;$$471356 = $456; + label = 108; + } else { + $$451461 = $$441460;$$451652 = $$441651;$$491146 = $$481145;$$491556 = $$481555;$$50 = $457;$$501253 = $$491252;$$501359 = $456; + label = 119; + } + break; + } + case 131: { + label = 0; + $$0979 = $$0979$shrunk&255; + $506 = $$0979 << $$54; + $507 = $506 | $$541363; + $508 = (($$54) + 8)|0; + $509 = ($508>>>0)<($$541257>>>0); + if ($509) { + $$471463 = $$491465;$$471654 = $$491656;$$501041 = $$521043;$$511148 = $$531150;$$511558 = $$531560;$$52 = $508;$$521255 = $$541257;$$521361 = $507; + label = 127; + } else { + $$501466 = $$491465;$$501657 = $$491656;$$531044 = $$521043;$$541151 = $$531150;$$541561 = $$531560;$$55 = $508;$$551258 = $$541257;$$551364 = $507; + label = 132; + } + break; + } + case 154: { + label = 0; + $$0971 = $$0971$shrunk&255; + $575 = $$0971 << $$62; + $576 = $575 | $$621371; + $577 = (($$62) + 8)|0; + $578 = ($577>>>0)<(15); + if ($578) { + $$551471 = $$571473;$$551662 = $$571664;$$581049 = $$601051;$$591156 = $$611158;$$591566 = $$611568;$$60 = $577;$$601263 = $$621265;$$601369 = $576; + label = 145; + } else { + $$581474 = $$571473;$$581665 = $$571664;$$611052 = $$601051;$$621569 = $$611568;$$63 = $577;$$631266 = $$621265;$$631372 = $576; + label = 156; + } + break; + } + case 183: { + label = 0; + $$0959 = $$0959$shrunk&255; + $699 = $$0959 << $$71; + $700 = $699 | $$711380; + $701 = (($$71) + 8)|0; + $702 = ($701>>>0)<($$681271>>>0); + if ($702) { + $$611477 = $$631479;$$621669 = $$641671;$$641055 = $$661057;$$651162 = $$671164;$$661269 = $$681271;$$681575 = $$701577;$$69 = $701;$$691378 = $700; + label = 179; + } else { + $$641480 = $$631479;$$651672 = $$641671;$$671058 = $$661057;$$681165 = $$671164;$$691272 = $$681271;$$711578 = $$701577;$$72 = $701;$$721381 = $700; + label = 184; + } + break; + } + case 196: { + label = 0; + $$0952 = $$0952$shrunk&255; + $740 = $$0952 << $$76; + $741 = $740 | $$761385; + $742 = (($$76) + 8)|0; + $743 = ($742>>>0)<(15); + if ($743) { + $$661482 = $$681484;$$671674 = $$691676;$$691060 = $$711062;$$701167 = $$721169;$$711274 = $$731276;$$731580 = $$751582;$$74 = $742;$$741383 = $741; + label = 187; + } else { + $$691485 = $$681484;$$701677 = $$691676;$$731170 = $$721169;$$761583 = $$751582;$$77 = $742;$$771386 = $741; + label = 198; + } + break; + } + case 207: { + label = 0; + $$0950 = $$0950$shrunk&255; + $787 = $$0950 << $$80; + $788 = $787 | $$801389; + $789 = (($$80) + 8)|0; + $790 = ($789>>>0)<($$761279>>>0); + if ($790) { + $$701486 = $$721488;$$711678 = $$731680;$$721063 = $$741065;$$741171 = $$761173;$$741277 = $$761279;$$771584 = $$791586;$$78 = $789;$$781387 = $788; + label = 203; + } else { + $$741681 = $$731680;$$751066 = $$741065;$$771174 = $$761173;$$771280 = $$761279;$$801587 = $$791586;$$81 = $789;$$811390 = $788; + label = 208; + } + break; + } + case 227: { + label = 0; + $852 = ($$871184>>>0)<(4); + if (!($852)) { + $$881504 = $$811497;$$921083 = $$851076;$$921699 = $$851692;$$941191 = $$871184;$$941297 = $$871290;$$971604 = $$901597;$$98 = $$91;$$981407 = $$911400; + label = 242; + continue L46; + } + $853 = ($$91|0)==(0); + if (!($853)) { + $854 = ($$91>>>0)<(8); + if ($854) { + $$821498 = $$811497;$$861077 = $$851076;$$861693 = $$851692;$$881185 = $$871184;$$881291 = $$871290;$$911598 = $$901597;$$92 = $$91;$$921401 = $$911400; + label = 230; + break; + } else { + $$851501 = $$811497;$$891080 = $$851076;$$891696 = $$851692;$$911188 = $$871184;$$911294 = $$871290;$$941601 = $$901597;$$95 = $$91;$$951404 = $$911400; + label = 235; + break; + } + } + $868 = ($$901597>>>0)<($10>>>0); + if (!($868)) { + $$861502 = $$811497;$$901081 = $$851076;$$901697 = $$851692;$$921189 = $$871184;$$921295 = $$871290;$$951602 = $$901597;$$96 = 0;$$961405 = $$911400; + label = 237; + continue L46; + } + $875 = ((($$901597)) + 1|0); + $876 = HEAP8[$$901597>>0]|0; + $877 = $876&255; + $$0948 = $877;$$871503 = $$811497;$$911082 = $$851076;$$911698 = $$851692;$$931190 = $$871184;$$931296 = $$871290;$$961603 = $875;$$97 = 0;$$971406 = $$911400; + label = 241; + continue L46; + break; + } + case 234: { + label = 0; + $$0947 = $$0947$shrunk&255; + $861 = $$0947 << $$94; + $862 = $861 | $$941403; + $863 = (($$94) + 8)|0; + $864 = ($$94>>>0)>(4294967287); + if ($864) { + $$821498 = $$841500;$$861077 = $$881079;$$861693 = $$881695;$$881185 = $$901187;$$881291 = $$901293;$$911598 = $$931600;$$92 = $863;$$921401 = $862; + label = 230; + } else { + $$851501 = $$841500;$$891080 = $$881079;$$891696 = $$881695;$$911188 = $$901187;$$911294 = $$901293;$$941601 = $$931600;$$95 = $863;$$951404 = $862; + label = 235; + } + break; + } + } + L119: do { + if ((label|0) == 15) { + label = 0; + $72 = ($$51512>>>0)<($10>>>0); + if ($72) { + $$31419$ph = $$11417;$$31610$ph = $$11608;$$8$ph = $$6;$$81105$ph = $$61103;$$81211$ph = $$61209;$$81317$ph = $$61315;$$8999$ph = $$6997;$$sink1710 = $$51512; + label = 18; + continue L46; + } else { + $$21418 = $$11417;$$21609 = $$11608;$$61513 = $$51512;$$7 = $$6;$$71104 = $$61103;$$71210 = $$61209;$$71316 = $$61315;$$7998 = $$6997; + label = 16; + continue L46; + } + } + else if ((label|0) == 20) { + label = 0; + $82 = $$91318 & 7; + $83 = ((($0)) + 20|0); + HEAP32[$83>>2] = $82; + $84 = $$91318 >>> 3; + $85 = (($$9) + -3)|0; + $86 = $82 >>> 1; + $87 = ((($0)) + 24|0); + HEAP32[$87>>2] = $86; + $trunc = $86&255; + $trunc$clear = $trunc & 3; + switch ($trunc$clear<<24>>24) { + case 0: { + $$121519 = $$81515;$$13 = $85;$$131004 = $$91000;$$131216 = $$91212;$$131322 = $84;$$81424 = $$41420;$$81615 = $$41611; + label = 25; + continue L46; + break; + } + case 3: { + $$281444 = $$41420;$$281635 = $$41611;$$321023 = $$91000;$$321129 = $$91106;$$321539 = $$81515;$$33 = $85;$$331236 = $$91212;$$331342 = $84; + label = 60; + continue L46; + break; + } + case 1: { + break; + } + default: { + $$291445 = $$41420;$$291636 = $$41611;$$331024 = $$91000;$$331130 = 0;$$331540 = $$81515;$$34 = $85;$$341237 = $$91212;$$341343 = $84; + label = 61; + break L119; + } + } + $240 = ((($0)) + 44|0); + HEAP32[$240>>2] = 288; + $241 = ((($0)) + 48|0); + HEAP32[$241>>2] = 32; + $242 = ((($0)) + 3552|0); + ;HEAP32[$242>>2]=84215045|0;HEAP32[$242+4>>2]=84215045|0;HEAP32[$242+8>>2]=84215045|0;HEAP32[$242+12>>2]=84215045|0;HEAP32[$242+16>>2]=84215045|0;HEAP32[$242+20>>2]=84215045|0;HEAP32[$242+24>>2]=84215045|0;HEAP32[$242+28>>2]=84215045|0; + $scevgep19611962 = ((($0)) + 64|0); + _memset(($scevgep19611962|0),8,144)|0; + $scevgep1959 = ((($0)) + 208|0); + dest=$scevgep1959; stop=dest+112|0; do { HEAP8[dest>>0]=9|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); + $scevgep1957 = ((($0)) + 320|0); + dest=$scevgep1957; stop=dest+24|0; do { HEAP8[dest>>0]=7|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); + $scevgep1955 = ((($0)) + 344|0); + $243 = $scevgep1955; + $244 = $243; + HEAP8[$244>>0]=134744072&255;HEAP8[$244+1>>0]=(134744072>>8)&255;HEAP8[$244+2>>0]=(134744072>>16)&255;HEAP8[$244+3>>0]=134744072>>24; + $245 = (($243) + 4)|0; + $246 = $245; + HEAP8[$246>>0]=134744072&255;HEAP8[$246+1>>0]=(134744072>>8)&255;HEAP8[$246+2>>0]=(134744072>>16)&255;HEAP8[$246+3>>0]=134744072>>24; + $$391455 = $$41420;$$391646 = $$41611;$$431034 = $$91000;$$431140 = $$91106;$$431550 = $$81515;$$44 = $85;$$441247 = $$91212;$$441353 = $84; + label = 80; + } + else if ((label|0) == 230) { + label = 0; + $855 = ($$911598>>>0)<($10>>>0); + if ($855) { + $$841500$ph = $$821498;$$881079$ph = $$861077;$$881695$ph = $$861693;$$901187$ph = $$881185;$$901293$ph = $$881291;$$94$ph = $$92;$$941403$ph = $$921401;$$sink1750 = $$911598; + label = 233; + continue L46; + } else { + $$831499 = $$821498;$$871078 = $$861077;$$871694 = $$861693;$$891186 = $$881185;$$891292 = $$881291;$$921599 = $$911598;$$93 = $$92;$$931402 = $$921401; + label = 231; + continue L46; + } + } + else if ((label|0) == 235) { + label = 0; + $865 = $$951404 & 255; + $866 = $$951404 >>> 8; + $867 = (($$95) + -8)|0; + $$0948 = $865;$$871503 = $$851501;$$911082 = $$891080;$$911698 = $$891696;$$931190 = $$911188;$$931296 = $$911294;$$961603 = $$941601;$$97 = $867;$$971406 = $866; + label = 241; + continue L46; + } + } while(0); + L125: while(1) { + L126: switch (label|0) { + case 26: { + label = 0; + $100 = ($$131110>>>0)<(4); + if (!($100)) { + $127 = ((($0)) + 10528|0); + $128 = HEAP8[$127>>0]|0; + $129 = $128&255; + $130 = ((($0)) + 10529|0); + $131 = HEAP8[$130>>0]|0; + $132 = $131&255; + $133 = $132 << 8; + $134 = $133 | $129; + $135 = ((($0)) + 10530|0); + $136 = HEAP8[$135>>0]|0; + $137 = $136&255; + $138 = ((($0)) + 10531|0); + $139 = HEAP8[$138>>0]|0; + $140 = $139&255; + $141 = $140 << 8; + $142 = $141 | $137; + $143 = $142 ^ 65535; + $144 = ($134|0)==($143|0); + if ($144) { + $$181434 = $$91425;$$181625 = $$91616;$$221119 = $134;$$221529 = $$131520;$$23 = $$14;$$231014 = $$141005;$$231226 = $$141217;$$231332 = $$141323; + label = 44; + continue L125; + } else { + $$171433 = $$91425;$$171624 = $$91616;$$211118 = $134;$$211528 = $$131520;$$22 = $$14;$$221013 = $$141005;$$221225 = $$141217;$$221331 = $$141323; + label = 43; + continue L46; + } + } + $101 = ($$14|0)==(0); + if (!($101)) { + $102 = ($$14>>>0)<(8); + if ($102) { + $$101426 = $$91425;$$101617 = $$91616;$$141111 = $$131110;$$141521 = $$131520;$$15 = $$14;$$151006 = $$141005;$$151218 = $$141217;$$151324 = $$141323; + label = 29; + continue L125; + } else { + $$131429 = $$91425;$$131620 = $$91616;$$171114 = $$131110;$$171524 = $$131520;$$18 = $$14;$$181009 = $$141005;$$181221 = $$141217;$$181327 = $$141323; + label = 34; + continue L125; + } + } + $117 = ($$131520>>>0)<($10>>>0); + if (!($117)) { + $$141430 = $$91425;$$141621 = $$91616;$$181115 = $$131110;$$181525 = $$131520;$$19 = 0;$$191010 = $$141005;$$191222 = $$141217;$$191328 = $$141323; + label = 36; + continue L46; + } + $123 = ((($$131520)) + 1|0); + $124 = HEAP8[$$131520>>0]|0; + $125 = (((($0)) + 10528|0) + ($$131110)|0); + HEAP8[$125>>0] = $124; + $$161432 = $$91425;$$161623 = $$91616;$$201117 = $$131110;$$201527 = $123;$$21 = 0;$$211012 = $$141005;$$211224 = $$141217;$$211330 = $$141323; + label = 41; + continue L125; + break; + } + case 29: { + label = 0; + $103 = ($$141521>>>0)<($10>>>0); + if ($103) { + $$121428$ph = $$101426;$$121619$ph = $$101617;$$161113$ph = $$141111;$$17$ph = $$15;$$171008$ph = $$151006;$$171220$ph = $$151218;$$171326$ph = $$151324;$$sink1713 = $$141521; + label = 32; + continue L46; + } else { + $$111427 = $$101426;$$111618 = $$101617;$$151112 = $$141111;$$151522 = $$141521;$$16 = $$15;$$161007 = $$151006;$$161219 = $$151218;$$161325 = $$151324; + label = 30; + continue L46; + } + break; + } + case 34: { + label = 0; + $113 = $$181327&255; + $114 = (((($0)) + 10528|0) + ($$171114)|0); + HEAP8[$114>>0] = $113; + $115 = $$181327 >>> 8; + $116 = (($$18) + -8)|0; + $$161432 = $$131429;$$161623 = $$131620;$$201117 = $$171114;$$201527 = $$171524;$$21 = $116;$$211012 = $$181009;$$211224 = $$181221;$$211330 = $115; + label = 41; + continue L125; + break; + } + case 41: { + label = 0; + $126 = (($$201117) + 1)|0; + $$131110 = $126;$$131520 = $$201527;$$14 = $$21;$$141005 = $$211012;$$141217 = $$211224;$$141323 = $$211330;$$91425 = $$161432;$$91616 = $$161623; + label = 26; + continue L125; + break; + } + case 44: { + label = 0; + $145 = ($$221119|0)!=(0); + $146 = ($$23|0)!=(0); + $147 = $145 & $146; + if (!($147)) { + $$241440 = $$181434;$$241631 = $$181625;$$281019 = $$231014;$$281125 = $$221119;$$281535 = $$221529;$$29 = $$23;$$291232 = $$231226;$$291338 = $$231332; + label = 54; + continue L125; + } + $148 = ($$23>>>0)<(8); + if ($148) { + $$191435 = $$181434;$$191626 = $$181625;$$231120 = $$221119;$$231530 = $$221529;$$24 = $$23;$$241015 = $$231014;$$241227 = $$231226;$$241333 = $$231332; + label = 46; + continue L125; + } else { + $$221438 = $$181434;$$221629 = $$181625;$$261123 = $$221119;$$261533 = $$221529;$$27 = $$23;$$271230 = $$231226;$$271336 = $$231332; + label = 51; + continue L125; + } + break; + } + case 46: { + label = 0; + $149 = ($$231530>>>0)<($10>>>0); + if ($149) { + $$211437$ph = $$191435;$$211628$ph = $$191626;$$251122$ph = $$231120;$$26$ph = $$24;$$261017$ph = $$241015;$$261229$ph = $$241227;$$261335$ph = $$241333;$$sink1716 = $$231530; + label = 49; + continue L46; + } else { + $$201436 = $$191435;$$201627 = $$191626;$$241121 = $$231120;$$241531 = $$231530;$$25 = $$24;$$251016 = $$241015;$$251228 = $$241227;$$251334 = $$241333; + label = 47; + continue L46; + } + break; + } + case 51: { + label = 0; + $159 = $$271336 & 255; + $160 = $$271336 >>> 8; + $161 = (($$27) + -8)|0; + $$231439 = $$221438;$$231630 = $$221629;$$271018 = $159;$$271124 = $$261123;$$271534 = $$261533;$$28 = $161;$$281231 = $$271230;$$281337 = $160; + label = 52; + continue L46; + break; + } + case 54: { + label = 0; + $166 = ($$281125|0)==(0); + if ($166) { + $$761492 = $$241440;$$801071 = $$281019;$$801687 = $$241631;$$821285 = $$291232;$$831180 = 0;$$851592 = $$281535;$$86 = $$29;$$861395 = $$291338; + label = 220; + break L125; + } else { + $$251441 = $$241440;$$251632 = $$241631;$$291020 = $$281019;$$291126 = $$281125;$$291536 = $$281535;$$30 = $$29;$$301233 = $$291232;$$301339 = $$291338; + label = 55; + continue L46; + } + break; + } + case 61: { + label = 0; + $185 = ($$331130>>>0)<(3); + if ($185) { + $186 = (11204 + ($$331130)|0); + $187 = HEAP8[$186>>0]|0; + $188 = $187 << 24 >> 24; + $189 = ($$34>>>0)<($188>>>0); + if ($189) { + $$301446 = $$291445;$$301637 = $$291636;$$341025 = $$331024;$$341131 = $$331130;$$341541 = $$331540;$$35 = $$34;$$351238 = $$341237;$$351344 = $$341343; + label = 63; + continue L125; + } else { + $$331449 = $$291445;$$331640 = $$291636;$$371028 = $$331024;$$371134 = $$331130;$$371544 = $$331540;$$38 = $$34;$$381241 = $$341237;$$381347 = $$341343; + label = 68; + continue L125; + } + } else { + $216 = ((($0)) + 7040|0); + _memset(($216|0),0,288)|0; + $$341450 = $$291445;$$341641 = $$291636;$$381029 = $$331024;$$381135 = 0;$$381545 = $$331540;$$39 = $$34;$$391242 = $$341237;$$391348 = $$341343; + label = 70; + break; + } + break; + } + case 63: { + label = 0; + $190 = ($$341541>>>0)<($10>>>0); + if ($190) { + $$321448$ph = $$301446;$$321639$ph = $$301637;$$361027$ph = $$341025;$$361133$ph = $$341131;$$37$ph = $$35;$$371240$ph = $$351238;$$371346$ph = $$351344;$$sink1719 = $$341541; + label = 66; + continue L46; + } else { + $$311447 = $$301446;$$311638 = $$301637;$$351026 = $$341025;$$351132 = $$341131;$$351542 = $$341541;$$36 = $$35;$$361239 = $$351238;$$361345 = $$351344; + label = 64; + continue L46; + } + break; + } + case 68: { + label = 0; + $203 = (11204 + ($$371134)|0); + $204 = HEAP8[$203>>0]|0; + $205 = $204 << 24 >> 24; + $206 = 1 << $205; + $207 = (($206) + -1)|0; + $208 = $207 & $$381347; + $209 = (((($0)) + 44|0) + ($$371134<<2)|0); + $210 = $$381347 >>> $205; + $211 = (($$38) - ($205))|0; + $212 = (3012 + ($$371134<<2)|0); + $213 = HEAP32[$212>>2]|0; + $214 = (($208) + ($213))|0; + HEAP32[$209>>2] = $214; + $215 = (($$371134) + 1)|0; + $$291445 = $$331449;$$291636 = $$331640;$$331024 = $$371028;$$331130 = $215;$$331540 = $$371544;$$34 = $211;$$341237 = $$381241;$$341343 = $210; + label = 61; + continue L125; + break; + } + case 72: { + label = 0; + $221 = ($$391546>>>0)<($10>>>0); + if ($221) { + $$371453$ph = $$351451;$$371644$ph = $$351642;$$411032$ph = $$391030;$$411138$ph = $$391136;$$42$ph = $$40;$$421245$ph = $$401243;$$421351$ph = $$401349;$$sink1722 = $$391546; + label = 75; + continue L46; + } else { + $$361452 = $$351451;$$361643 = $$351642;$$401031 = $$391030;$$401137 = $$391136;$$401547 = $$391546;$$41 = $$40;$$411244 = $$401243;$$411350 = $$401349; + label = 73; + continue L46; + } + break; + } + case 77: { + label = 0; + $231 = $$431352 & 7; + $232 = $$431352 >>> 3; + $233 = (($$43) + -3)|0; + $234 = $231&255; + $235 = (11208 + ($$421139)|0); + $236 = HEAP8[$235>>0]|0; + $237 = $236&255; + $238 = (((($0)) + 7040|0) + ($237)|0); + HEAP8[$238>>0] = $234; + $239 = (($$421139) + 1)|0; + $$341450 = $$381454;$$341641 = $$381645;$$381029 = $$421033;$$381135 = $239;$$381545 = $$421549;$$39 = $233;$$391242 = $$431246;$$391348 = $232; + label = 70; + break; + } + case 80: { + label = 0; + $247 = ((($0)) + 24|0); + $248 = HEAP32[$247>>2]|0; + $249 = ($248|0)>(-1); + if ($249) { + dest=$8; stop=dest+64|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + $250 = (((((($0)) + 64|0) + (($248*3488)|0)|0)) + 288|0); + _memset(($250|0),0,3200)|0; + $251 = HEAP32[$247>>2]|0; + $252 = (((($0)) + 44|0) + ($251<<2)|0); + $253 = HEAP32[$252>>2]|0; + $254 = ($253|0)==(0); + if (!($254)) { + $255 = HEAP32[$247>>2]|0; + $256 = (((($0)) + 44|0) + ($255<<2)|0); + $257 = HEAP32[$256>>2]|0; + $$010951864 = 0; + while(1) { + $258 = ((((($0)) + 64|0) + (($248*3488)|0)|0) + ($$010951864)|0); + $259 = HEAP8[$258>>0]|0; + $260 = $259&255; + $261 = (($8) + ($260<<2)|0); + $262 = HEAP32[$261>>2]|0; + $263 = (($262) + 1)|0; + HEAP32[$261>>2] = $263; + $264 = (($$010951864) + 1)|0; + $265 = ($264>>>0)<($257>>>0); + if ($265) { + $$010951864 = $264; + } else { + break; + } + } + } + $266 = ((($7)) + 4|0); + HEAP32[$266>>2] = 0; + HEAP32[$7>>2] = 0; + $267 = ((($8)) + 4|0); + $268 = HEAP32[$267>>2]|0; + $269 = $268 << 1; + $270 = ((($7)) + 8|0); + HEAP32[$270>>2] = $269; + $271 = ((($8)) + 8|0); + $272 = HEAP32[$271>>2]|0; + $273 = (($272) + ($268))|0; + $274 = (($272) + ($269))|0; + $275 = $274 << 1; + $276 = ((($7)) + 12|0); + HEAP32[$276>>2] = $275; + $277 = ((($8)) + 12|0); + $278 = HEAP32[$277>>2]|0; + $279 = (($278) + ($273))|0; + $280 = (($278) + ($275))|0; + $281 = $280 << 1; + $282 = ((($7)) + 16|0); + HEAP32[$282>>2] = $281; + $283 = ((($8)) + 16|0); + $284 = HEAP32[$283>>2]|0; + $285 = (($284) + ($279))|0; + $286 = (($284) + ($281))|0; + $287 = $286 << 1; + $288 = ((($7)) + 20|0); + HEAP32[$288>>2] = $287; + $289 = ((($8)) + 20|0); + $290 = HEAP32[$289>>2]|0; + $291 = (($290) + ($285))|0; + $292 = (($290) + ($287))|0; + $293 = $292 << 1; + $294 = ((($7)) + 24|0); + HEAP32[$294>>2] = $293; + $295 = ((($8)) + 24|0); + $296 = HEAP32[$295>>2]|0; + $297 = (($296) + ($291))|0; + $298 = (($296) + ($293))|0; + $299 = $298 << 1; + $300 = ((($7)) + 28|0); + HEAP32[$300>>2] = $299; + $301 = ((($8)) + 28|0); + $302 = HEAP32[$301>>2]|0; + $303 = (($302) + ($297))|0; + $304 = (($302) + ($299))|0; + $305 = $304 << 1; + $306 = ((($7)) + 32|0); + HEAP32[$306>>2] = $305; + $307 = ((($8)) + 32|0); + $308 = HEAP32[$307>>2]|0; + $309 = (($308) + ($303))|0; + $310 = (($308) + ($305))|0; + $311 = $310 << 1; + $312 = ((($7)) + 36|0); + HEAP32[$312>>2] = $311; + $313 = ((($8)) + 36|0); + $314 = HEAP32[$313>>2]|0; + $315 = (($314) + ($309))|0; + $316 = (($314) + ($311))|0; + $317 = $316 << 1; + $318 = ((($7)) + 40|0); + HEAP32[$318>>2] = $317; + $319 = ((($8)) + 40|0); + $320 = HEAP32[$319>>2]|0; + $321 = (($320) + ($315))|0; + $322 = (($320) + ($317))|0; + $323 = $322 << 1; + $324 = ((($7)) + 44|0); + HEAP32[$324>>2] = $323; + $325 = ((($8)) + 44|0); + $326 = HEAP32[$325>>2]|0; + $327 = (($326) + ($321))|0; + $328 = (($326) + ($323))|0; + $329 = $328 << 1; + $330 = ((($7)) + 48|0); + HEAP32[$330>>2] = $329; + $331 = ((($8)) + 48|0); + $332 = HEAP32[$331>>2]|0; + $333 = (($332) + ($327))|0; + $334 = (($332) + ($329))|0; + $335 = $334 << 1; + $336 = ((($7)) + 52|0); + HEAP32[$336>>2] = $335; + $337 = ((($8)) + 52|0); + $338 = HEAP32[$337>>2]|0; + $339 = (($338) + ($333))|0; + $340 = (($338) + ($335))|0; + $341 = $340 << 1; + $342 = ((($7)) + 56|0); + HEAP32[$342>>2] = $341; + $343 = ((($8)) + 56|0); + $344 = HEAP32[$343>>2]|0; + $345 = (($344) + ($339))|0; + $346 = (($344) + ($341))|0; + $347 = $346 << 1; + $348 = ((($7)) + 60|0); + HEAP32[$348>>2] = $347; + $349 = ((($8)) + 60|0); + $350 = HEAP32[$349>>2]|0; + $351 = (($350) + ($345))|0; + $352 = (($350) + ($347))|0; + $353 = $352 << 1; + $354 = ((($7)) + 64|0); + HEAP32[$354>>2] = $353; + $355 = ($353|0)!=(65536); + $356 = ($351>>>0)>(1); + $or$cond = $355 & $356; + if ($or$cond) { + $$401456 = $$391455;$$401647 = $$391646;$$441035 = $$431034;$$441141 = $$431140;$$441551 = $$431550;$$45 = $$44;$$451248 = $$441247;$$451354 = $$441353; + label = 86; + continue L46; + } + $357 = HEAP32[$247>>2]|0; + $358 = (((($0)) + 44|0) + ($357<<2)|0); + $359 = HEAP32[$358>>2]|0; + $360 = ($359|0)==(0); + if ($360) { + $$lcssa1779 = $357; + } else { + $$010911856 = 0;$$011971855 = -1; + while(1) { + $361 = ((((($0)) + 64|0) + (($248*3488)|0)|0) + ($$010911856)|0); + $362 = HEAP8[$361>>0]|0; + $363 = $362&255; + $364 = ($362<<24>>24)==(0); + L142: do { + if ($364) { + $$41201 = $$011971855; + } else { + $365 = (($7) + ($363<<2)|0); + $366 = HEAP32[$365>>2]|0; + $367 = (($366) + 1)|0; + HEAP32[$365>>2] = $367; + $$010861840 = $366;$$010871839 = $363;$$010881838 = 0; + while(1) { + $368 = $$010881838 << 1; + $369 = $$010861840 & 1; + $370 = $369 | $368; + $371 = (($$010871839) + -1)|0; + $372 = $$010861840 >>> 1; + $373 = ($371|0)==(0); + if ($373) { + break; + } else { + $$010861840 = $372;$$010871839 = $371;$$010881838 = $370; + } + } + $374 = ($362&255)<(11); + if ($374) { + $375 = $363 << 9; + $376 = $375 | $$010911856; + $377 = $376&65535; + $378 = ($370>>>0)<(1024); + if (!($378)) { + $$41201 = $$011971855; + break; + } + $379 = 1 << $363; + $$110891852 = $370; + while(1) { + $380 = ((((((($0)) + 64|0) + (($248*3488)|0)|0)) + 288|0) + ($$110891852<<1)|0); + HEAP16[$380>>1] = $377; + $381 = (($$110891852) + ($379))|0; + $382 = ($381>>>0)<(1024); + if ($382) { + $$110891852 = $381; + } else { + $$41201 = $$011971855; + break L142; + } + } + } + $383 = $370 & 1023; + $384 = ((((((($0)) + 64|0) + (($248*3488)|0)|0)) + 288|0) + ($383<<1)|0); + $385 = HEAP16[$384>>1]|0; + $386 = $385 << 16 >> 16; + $387 = ($385<<16>>16)==(0); + if ($387) { + $388 = (($$011971855) + -2)|0; + $389 = $$011971855&65535; + HEAP16[$384>>1] = $389; + $$01194 = $$011971855;$$11198 = $388; + } else { + $$01194 = $386;$$11198 = $$011971855; + } + $390 = $$010881838 >>> 9; + $391 = ($362&255)>(11); + $392 = $390 & 1; + $393 = (($392) - ($$01194))|0; + $394 = (($393) + -1)|0; + if ($391) { + $395 = $390 & 4194303; + $$010941846 = $363;$$211991845 = $$11198;$397 = $394;$406 = $395; + while(1) { + $396 = ((((((($0)) + 64|0) + (($248*3488)|0)|0)) + 2336|0) + ($397<<1)|0); + $398 = HEAP16[$396>>1]|0; + $399 = ($398<<16>>16)==(0); + if ($399) { + $400 = $$211991845&65535; + HEAP16[$396>>1] = $400; + $401 = (($$211991845) + -2)|0; + $$21196 = $$211991845;$$31200 = $401; + } else { + $402 = $398 << 16 >> 16; + $$21196 = $402;$$31200 = $$211991845; + } + $403 = (($$010941846) + -1)|0; + $404 = ($403>>>0)>(11); + $405 = $406 >>> 1; + $407 = $405 & 1; + $408 = (($407) - ($$21196))|0; + $409 = (($408) + -1)|0; + if ($404) { + $$010941846 = $403;$$211991845 = $$31200;$397 = $409;$406 = $405; + } else { + $$21199$lcssa = $$31200;$$lcssa1778 = $409; + break; + } + } + } else { + $$21199$lcssa = $$11198;$$lcssa1778 = $394; + } + $410 = $$010911856&65535; + $411 = ((((((($0)) + 64|0) + (($248*3488)|0)|0)) + 2336|0) + ($$lcssa1778<<1)|0); + HEAP16[$411>>1] = $410; + $$41201 = $$21199$lcssa; + } + } while(0); + $412 = (($$010911856) + 1)|0; + $413 = HEAP32[$247>>2]|0; + $414 = (((($0)) + 44|0) + ($413<<2)|0); + $415 = HEAP32[$414>>2]|0; + $416 = ($412>>>0)<($415>>>0); + if ($416) { + $$010911856 = $412;$$011971855 = $$41201; + } else { + $$lcssa1779 = $413; + break; + } + } + } + $417 = ($$lcssa1779|0)==(2); + if ($417) { + $$411457 = $$391455;$$411648 = $$391646;$$451036 = $$431034;$$451142 = 0;$$451552 = $$431550;$$46 = $$44;$$461249 = $$441247;$$461355 = $$441353; + label = 105; + } else { + $$521468 = $$391455;$$521659 = $$391646;$$551046 = $$431034;$$561153 = $$431140;$$561563 = $$431550;$$57 = $$44;$$571260 = $$441247;$$571366 = $$441353; + label = 138; + } + } else { + $$531469 = $$391455;$$531660 = $$391646;$$561047 = $$431034;$$571154 = $$431140;$$571564 = $$431550;$$58 = $$44;$$581261 = $$441247;$$581367 = $$441353; + label = 139; + } + break; + } + case 108: { + label = 0; + $429 = $$471356 & 1023; + $430 = (((($0)) + 7328|0) + ($429<<1)|0); + $431 = HEAP16[$430>>1]|0; + $432 = $431 << 16 >> 16; + $433 = ($431<<16>>16)>(-1); + if ($433) { + $434 = $432 >> 9; + $435 = (($434) + -1)|0; + $436 = ($435>>>0)<($$47>>>0); + if ($436) { + $$451461 = $$421458;$$451652 = $$421649;$$491146 = $$461143;$$491556 = $$461553;$$50 = $$47;$$501253 = $$471250;$$501359 = $$471356; + label = 119; + continue L125; + } else { + label = 113; + break L125; + } + } + $437 = ($$47>>>0)>(10); + if ($437) { + $$0981 = 10;$$0984 = $432; + } else { + label = 113; + break L125; + } + while(1) { + $438 = $$0984 ^ -1; + $439 = $$471356 >>> $$0981; + $440 = $439 & 1; + $441 = (($440) + ($438))|0; + $442 = (((($0)) + 9376|0) + ($441<<1)|0); + $443 = HEAP16[$442>>1]|0; + $444 = ($443<<16>>16)<(0); + if (!($444)) { + $$451461 = $$421458;$$451652 = $$421649;$$491146 = $$461143;$$491556 = $$461553;$$50 = $$47;$$501253 = $$471250;$$501359 = $$471356; + label = 119; + continue L125; + } + $445 = (($$0981) + 1)|0; + $446 = $443 << 16 >> 16; + $447 = (($$0981) + 2)|0; + $448 = ($$47>>>0)<($447>>>0); + if ($448) { + label = 113; + break L125; + } else { + $$0981 = $445;$$0984 = $446; + } + } + break; + } + case 119: { + label = 0; + $471 = $$501359 & 1023; + $472 = (((($0)) + 7328|0) + ($471<<1)|0); + $473 = HEAP16[$472>>1]|0; + $474 = $473 << 16 >> 16; + $475 = ($473<<16>>16)>(-1); + if ($475) { + $476 = $474 >> 9; + $477 = $474 & 511; + $$2983 = $476;$$2986 = $477; + } else { + $$1982 = 10;$$1985 = $474; + while(1) { + $478 = $$1985 ^ -1; + $479 = (($$1982) + 1)|0; + $480 = $$501359 >>> $$1982; + $481 = $480 & 1; + $482 = (($481) + ($478))|0; + $483 = (((($0)) + 9376|0) + ($482<<1)|0); + $484 = HEAP16[$483>>1]|0; + $485 = $484 << 16 >> 16; + $486 = ($484<<16>>16)<(0); + if ($486) { + $$1982 = $479;$$1985 = $485; + } else { + $$2983 = $479;$$2986 = $485; + break; + } + } + } + $487 = $$501359 >>> $$2983; + $488 = (($$50) - ($$2983))|0; + $489 = ($$2986>>>0)<(16); + if ($489) { + $490 = $$2986&255; + $491 = (($$491146) + 1)|0; + $492 = (((($0)) + 10532|0) + ($$491146)|0); + HEAP8[$492>>0] = $490; + $$411457 = $$451461;$$411648 = $$451652;$$451036 = $$2986;$$451142 = $491;$$451552 = $$491556;$$46 = $488;$$461249 = $$501253;$$461355 = $487; + label = 105; + break; + } + $493 = ($$2986|0)!=(16); + $494 = ($$491146|0)!=(0); + $or$cond24 = $494 | $493; + if (!($or$cond24)) { + $$461462 = $$451461;$$461653 = $$451652;$$491040 = $$2986;$$501147 = $$491146;$$501557 = $$491556;$$51 = $488;$$511254 = $$501253;$$511360 = $487; + label = 125; + continue L46; + } + $495 = (($$2986) + -16)|0; + $496 = (11227 + ($495)|0); + $497 = HEAP8[$496>>0]|0; + $498 = $497 << 24 >> 24; + $499 = ($488>>>0)<($498>>>0); + if ($499) { + $$471463 = $$451461;$$471654 = $$451652;$$501041 = $$2986;$$511148 = $$491146;$$511558 = $$491556;$$52 = $488;$$521255 = $498;$$521361 = $487; + label = 127; + continue L125; + } else { + $$501466 = $$451461;$$501657 = $$451652;$$531044 = $$2986;$$541151 = $$491146;$$541561 = $$491556;$$55 = $488;$$551258 = $498;$$551364 = $487; + label = 132; + continue L125; + } + break; + } + case 127: { + label = 0; + $500 = ($$511558>>>0)<($10>>>0); + if ($500) { + $$491465$ph = $$471463;$$491656$ph = $$471654;$$521043$ph = $$501041;$$531150$ph = $$511148;$$54$ph = $$52;$$541257$ph = $$521255;$$541363$ph = $$521361;$$sink1732 = $$511558; + label = 130; + continue L46; + } else { + $$481464 = $$471463;$$481655 = $$471654;$$511042 = $$501041;$$521149 = $$511148;$$521559 = $$511558;$$53 = $$52;$$531256 = $$521255;$$531362 = $$521361; + label = 128; + continue L46; + } + break; + } + case 132: { + label = 0; + $510 = 1 << $$551258; + $511 = (($510) + -1)|0; + $512 = $511 & $$551364; + $513 = $$551364 >>> $$551258; + $514 = (($$55) - ($$551258))|0; + $515 = (($$531044) + -16)|0; + $516 = (11231 + ($515)|0); + $517 = HEAP8[$516>>0]|0; + $518 = $517 << 24 >> 24; + $519 = (($518) + ($512))|0; + $520 = (((($0)) + 10532|0) + ($$541151)|0); + $521 = ($$531044|0)==(16); + if ($521) { + $522 = (($$541151) + -1)|0; + $523 = (((($0)) + 10532|0) + ($522)|0); + $524 = HEAP8[$523>>0]|0; + $525 = $524&255; + $527 = $525; + } else { + $527 = 0; + } + $526 = $527&255; + _memset(($520|0),($526|0),($519|0))|0; + $528 = (($519) + ($$541151))|0; + $$411457 = $$501466;$$411648 = $$501657;$$451036 = $$531044;$$451142 = $528;$$451552 = $$541561;$$46 = $514;$$461249 = $$551258;$$461355 = $513; + label = 105; + break; + } + case 140: { + label = 0; + $539 = $10; + $540 = $$581565$ph; + $541 = (($539) - ($540))|0; + $542 = ($541|0)<(4); + $543 = ($$59$ph>>>0)<(15); + L241: do { + if ($542) { + $$541661$lcssa = $$541661$ph;$$581155$lcssa = $$581155$ph;$$581565$lcssa = $$581565$ph;$$59$lcssa = $$59$ph;$$591368$lcssa = $$591368$ph;$$lcssa1799 = $543;$$lcssa1802 = $541; + } else { + $544 = $12; + $$5416611868 = $$541661$ph;$$5811551871 = $$581155$ph;$$5815651869 = $$581565$ph;$$5913681870 = $$591368$ph;$$591872 = $$59$ph;$965 = $543;$966 = $541; + while(1) { + $545 = $$5416611868; + $546 = (($544) - ($545))|0; + $547 = ($546|0)<(2); + if ($547) { + $$541661$lcssa = $$5416611868;$$581155$lcssa = $$5811551871;$$581565$lcssa = $$5815651869;$$59$lcssa = $$591872;$$591368$lcssa = $$5913681870;$$lcssa1799 = $965;$$lcssa1802 = $966; + break L241; + } + if ($965) { + $613 = HEAP8[$$5815651869>>0]|0; + $614 = $613&255; + $615 = ((($$5815651869)) + 1|0); + $616 = HEAP8[$615>>0]|0; + $617 = $616&255; + $618 = $617 << 8; + $619 = $618 | $614; + $620 = $619 << $$591872; + $621 = $620 | $$5913681870; + $622 = ((($$5815651869)) + 2|0); + $623 = (($$591872) + 16)|0; + $$641571 = $622;$$65 = $623;$$651374 = $621; + } else { + $$641571 = $$5815651869;$$65 = $$591872;$$651374 = $$5913681870; + } + $624 = $$651374 & 1023; + $625 = (((($0)) + 352|0) + ($624<<1)|0); + $626 = HEAP16[$625>>1]|0; + $627 = $626 << 16 >> 16; + $628 = ($626<<16>>16)>(-1); + if ($628) { + $629 = $627 >> 9; + $$1964 = $629;$$1968 = $627; + } else { + $$0963 = 10;$$0967 = $627; + while(1) { + $630 = $$0967 ^ -1; + $631 = (($$0963) + 1)|0; + $632 = $$651374 >>> $$0963; + $633 = $632 & 1; + $634 = (($633) + ($630))|0; + $635 = (((($0)) + 2400|0) + ($634<<1)|0); + $636 = HEAP16[$635>>1]|0; + $637 = $636 << 16 >> 16; + $638 = ($636<<16>>16)<(0); + if ($638) { + $$0963 = $631;$$0967 = $637; + } else { + $$1964 = $631;$$1968 = $637; + break; + } + } + } + $639 = $$651374 >>> $$1964; + $640 = (($$65) - ($$1964))|0; + $641 = $$1968 & 256; + $642 = ($641|0)==(0); + if (!($642)) { + $$601476 = $$541470$ph;$$611668 = $$5416611868;$$631054 = $$571048$ph;$$641161 = $$1968;$$651268 = $$591262$ph;$$671574 = $$641571;$$68 = $640;$$681377 = $639; + label = 176; + break L126; + } + $643 = ($640>>>0)<(15); + if ($643) { + $644 = HEAP8[$$641571>>0]|0; + $645 = $644&255; + $646 = ((($$641571)) + 1|0); + $647 = HEAP8[$646>>0]|0; + $648 = $647&255; + $649 = $648 << 8; + $650 = $649 | $645; + $651 = $650 << $640; + $652 = $651 | $639; + $653 = ((($$641571)) + 2|0); + $654 = (($640) + 16)|0; + $$651572 = $653;$$66 = $654;$$661375 = $652; + } else { + $$651572 = $$641571;$$66 = $640;$$661375 = $639; + } + $655 = $$661375 & 1023; + $656 = (((($0)) + 352|0) + ($655<<1)|0); + $657 = HEAP16[$656>>1]|0; + $658 = $657 << 16 >> 16; + $659 = ($657<<16>>16)>(-1); + if ($659) { + $660 = $658 >> 9; + $$3966 = $660;$$3970 = $658; + } else { + $$2965 = 10;$$2969 = $658; + while(1) { + $661 = $$2969 ^ -1; + $662 = (($$2965) + 1)|0; + $663 = $$661375 >>> $$2965; + $664 = $663 & 1; + $665 = (($664) + ($661))|0; + $666 = (((($0)) + 2400|0) + ($665<<1)|0); + $667 = HEAP16[$666>>1]|0; + $668 = $667 << 16 >> 16; + $669 = ($667<<16>>16)<(0); + if ($669) { + $$2965 = $662;$$2969 = $668; + } else { + $$3966 = $662;$$3970 = $668; + break; + } + } + } + $670 = $$661375 >>> $$3966; + $671 = (($$66) - ($$3966))|0; + $672 = $$1968&255; + HEAP8[$$5416611868>>0] = $672; + $673 = $$3970 & 256; + $674 = ($673|0)==(0); + if (!($674)) { + break; + } + $676 = $$3970&255; + $677 = ((($$5416611868)) + 1|0); + HEAP8[$677>>0] = $676; + $678 = ((($$5416611868)) + 2|0); + $679 = $$651572; + $680 = (($539) - ($679))|0; + $681 = ($680|0)<(4); + $682 = ($671>>>0)<(15); + if ($681) { + $$541661$lcssa = $678;$$581155$lcssa = $$1968;$$581565$lcssa = $$651572;$$59$lcssa = $671;$$591368$lcssa = $670;$$lcssa1799 = $682;$$lcssa1802 = $680; + break L241; + } else { + $$5416611868 = $678;$$5811551871 = $$1968;$$5815651869 = $$651572;$$5913681870 = $670;$$591872 = $671;$965 = $682;$966 = $680; + } + } + $675 = ((($$5416611868)) + 1|0); + $$601476 = $$541470$ph;$$611668 = $675;$$631054 = $$571048$ph;$$641161 = $$3970;$$651268 = $$591262$ph;$$671574 = $$651572;$$68 = $671;$$681377 = $670; + label = 176; + break L126; + } + } while(0); + if (!($$lcssa1799)) { + $$581474 = $$541470$ph;$$581665 = $$541661$lcssa;$$611052 = $$571048$ph;$$621569 = $$581565$lcssa;$$63 = $$59$lcssa;$$631266 = $$591262$ph;$$631372 = $$591368$lcssa; + label = 156; + continue L125; + } + $548 = ($$lcssa1802|0)<(2); + if ($548) { + $$551471 = $$541470$ph;$$551662 = $$541661$lcssa;$$581049 = $$571048$ph;$$591156 = $$581155$lcssa;$$591566 = $$581565$lcssa;$$60 = $$59$lcssa;$$601263 = $$591262$ph;$$601369 = $$591368$lcssa; + label = 145; + continue L125; + } + $579 = HEAP8[$$581565$lcssa>>0]|0; + $580 = $579&255; + $581 = $580 << $$59$lcssa; + $582 = ((($$581565$lcssa)) + 1|0); + $583 = HEAP8[$582>>0]|0; + $584 = $583&255; + $585 = (($$59$lcssa) + 8)|0; + $586 = $584 << $585; + $587 = $581 | $$591368$lcssa; + $588 = $587 | $586; + $589 = ((($$581565$lcssa)) + 2|0); + $590 = (($$59$lcssa) + 16)|0; + $$581474 = $$541470$ph;$$581665 = $$541661$lcssa;$$611052 = $$571048$ph;$$621569 = $589;$$63 = $590;$$631266 = $$591262$ph;$$631372 = $588; + label = 156; + continue L125; + break; + } + case 145: { + label = 0; + $549 = $$601369 & 1023; + $550 = (((($0)) + 352|0) + ($549<<1)|0); + $551 = HEAP16[$550>>1]|0; + $552 = $551 << 16 >> 16; + $553 = ($551<<16>>16)>(-1); + if ($553) { + $554 = $552 >> 9; + $555 = (($554) + -1)|0; + $556 = ($555>>>0)<($$60>>>0); + if ($556) { + $$581474 = $$551471;$$581665 = $$551662;$$611052 = $$581049;$$621569 = $$591566;$$63 = $$60;$$631266 = $$601263;$$631372 = $$601369; + label = 156; + continue L125; + } else { + label = 150; + break L125; + } + } + $557 = ($$60>>>0)>(10); + if ($557) { + $$0972 = 10;$$0975 = $552; + } else { + label = 150; + break L125; + } + while(1) { + $558 = $$0975 ^ -1; + $559 = $$601369 >>> $$0972; + $560 = $559 & 1; + $561 = (($560) + ($558))|0; + $562 = (((($0)) + 2400|0) + ($561<<1)|0); + $563 = HEAP16[$562>>1]|0; + $564 = ($563<<16>>16)<(0); + if (!($564)) { + $$581474 = $$551471;$$581665 = $$551662;$$611052 = $$581049;$$621569 = $$591566;$$63 = $$60;$$631266 = $$601263;$$631372 = $$601369; + label = 156; + continue L125; + } + $565 = (($$0972) + 1)|0; + $566 = $563 << 16 >> 16; + $567 = (($$0972) + 2)|0; + $568 = ($$60>>>0)<($567>>>0); + if ($568) { + label = 150; + break L125; + } else { + $$0972 = $565;$$0975 = $566; + } + } + break; + } + case 156: { + label = 0; + $591 = $$631372 & 1023; + $592 = (((($0)) + 352|0) + ($591<<1)|0); + $593 = HEAP16[$592>>1]|0; + $594 = $593 << 16 >> 16; + $595 = ($593<<16>>16)>(-1); + if ($595) { + $596 = $594 >> 9; + $597 = $594 & 511; + $$2974 = $596;$$2977 = $597; + } else { + $$1973 = 10;$$1976 = $594; + while(1) { + $598 = $$1976 ^ -1; + $599 = (($$1973) + 1)|0; + $600 = $$631372 >>> $$1973; + $601 = $600 & 1; + $602 = (($601) + ($598))|0; + $603 = (((($0)) + 2400|0) + ($602<<1)|0); + $604 = HEAP16[$603>>1]|0; + $605 = $604 << 16 >> 16; + $606 = ($604<<16>>16)<(0); + if ($606) { + $$1973 = $599;$$1976 = $605; + } else { + $$2974 = $599;$$2977 = $605; + break; + } + } + } + $607 = $$631372 >>> $$2974; + $608 = (($$63) - ($$2974))|0; + $609 = ($$2977>>>0)>(255); + if ($609) { + $$601476 = $$581474;$$611668 = $$581665;$$631054 = $$611052;$$641161 = $$2977;$$651268 = $$631266;$$671574 = $$621569;$$68 = $608;$$681377 = $607; + label = 176; + } else { + $$591475 = $$581474;$$591666 = $$581665;$$621053 = $$611052;$$621159 = $$2977;$$631570 = $$621569;$$64 = $608;$$641267 = $$631266;$$641373 = $607; + label = 160; + continue L46; + } + break; + } + case 179: { + label = 0; + $693 = ($$681575>>>0)<($10>>>0); + if ($693) { + $$631479$ph = $$611477;$$641671$ph = $$621669;$$661057$ph = $$641055;$$671164$ph = $$651162;$$681271$ph = $$661269;$$71$ph = $$69;$$711380$ph = $$691378;$$sink1739 = $$681575; + label = 182; + continue L46; + } else { + $$621478 = $$611477;$$631670 = $$621669;$$651056 = $$641055;$$661163 = $$651162;$$671270 = $$661269;$$691576 = $$681575;$$70 = $$69;$$701379 = $$691378; + label = 180; + continue L46; + } + break; + } + case 184: { + label = 0; + $703 = 1 << $$691272; + $704 = (($703) + -1)|0; + $705 = $704 & $$721381; + $706 = $$721381 >>> $$691272; + $707 = (($$72) - ($$691272))|0; + $708 = (($705) + ($$681165))|0; + $$651481 = $$641480;$$661673 = $$651672;$$681059 = $$671058;$$691166 = $708;$$701273 = $$691272;$$721579 = $$711578;$$73 = $707;$$731382 = $706; + label = 185; + break; + } + case 187: { + label = 0; + $714 = $$741383 & 1023; + $715 = (((($0)) + 3840|0) + ($714<<1)|0); + $716 = HEAP16[$715>>1]|0; + $717 = $716 << 16 >> 16; + $718 = ($716<<16>>16)>(-1); + if ($718) { + $719 = $717 >> 9; + $720 = (($719) + -1)|0; + $721 = ($720>>>0)<($$74>>>0); + if ($721) { + $$691485 = $$661482;$$701677 = $$671674;$$731170 = $$701167;$$761583 = $$731580;$$77 = $$74;$$771386 = $$741383; + label = 198; + continue L125; + } else { + label = 192; + break L125; + } + } + $722 = ($$74>>>0)>(10); + if ($722) { + $$0953 = 10;$$0956 = $717; + } else { + label = 192; + break L125; + } + while(1) { + $723 = $$0956 ^ -1; + $724 = $$741383 >>> $$0953; + $725 = $724 & 1; + $726 = (($725) + ($723))|0; + $727 = (((($0)) + 5888|0) + ($726<<1)|0); + $728 = HEAP16[$727>>1]|0; + $729 = ($728<<16>>16)<(0); + if (!($729)) { + $$691485 = $$661482;$$701677 = $$671674;$$731170 = $$701167;$$761583 = $$731580;$$77 = $$74;$$771386 = $$741383; + label = 198; + continue L125; + } + $730 = (($$0953) + 1)|0; + $731 = $728 << 16 >> 16; + $732 = (($$0953) + 2)|0; + $733 = ($$74>>>0)<($732>>>0); + if ($733) { + label = 192; + break L125; + } else { + $$0953 = $730;$$0956 = $731; + } + } + break; + } + case 198: { + label = 0; + $756 = $$771386 & 1023; + $757 = (((($0)) + 3840|0) + ($756<<1)|0); + $758 = HEAP16[$757>>1]|0; + $759 = $758 << 16 >> 16; + $760 = ($758<<16>>16)>(-1); + if ($760) { + $761 = $759 >> 9; + $762 = $759 & 511; + $$2955 = $761;$$2958 = $762; + } else { + $$1954 = 10;$$1957 = $759; + while(1) { + $763 = $$1957 ^ -1; + $764 = (($$1954) + 1)|0; + $765 = $$771386 >>> $$1954; + $766 = $765 & 1; + $767 = (($766) + ($763))|0; + $768 = (((($0)) + 5888|0) + ($767<<1)|0); + $769 = HEAP16[$768>>1]|0; + $770 = $769 << 16 >> 16; + $771 = ($769<<16>>16)<(0); + if ($771) { + $$1954 = $764;$$1957 = $770; + } else { + $$2955 = $764;$$2958 = $770; + break; + } + } + } + $772 = $$771386 >>> $$2955; + $773 = (($$77) - ($$2955))|0; + $774 = (3272 + ($$2958<<2)|0); + $775 = HEAP32[$774>>2]|0; + $776 = (3400 + ($$2958<<2)|0); + $777 = HEAP32[$776>>2]|0; + $778 = (($$2958) + -4)|0; + $779 = ($778>>>0)<(26); + if ($779) { + $780 = ($773>>>0)<($775>>>0); + if ($780) { + $$701486 = $$691485;$$711678 = $$701677;$$721063 = $777;$$741171 = $$731170;$$741277 = $775;$$771584 = $$761583;$$78 = $773;$$781387 = $772; + label = 203; + continue L125; + } else { + $$741681 = $$701677;$$751066 = $777;$$771174 = $$731170;$$771280 = $775;$$801587 = $$761583;$$81 = $773;$$811390 = $772; + label = 208; + continue L125; + } + } else { + $$751682 = $$701677;$$761067 = $777;$$781175 = $$731170;$$781281 = $775;$$811588 = $$761583;$$82 = $773;$$821391 = $772; + label = 209; + } + break; + } + case 203: { + label = 0; + $781 = ($$771584>>>0)<($10>>>0); + if ($781) { + $$721488$ph = $$701486;$$731680$ph = $$711678;$$741065$ph = $$721063;$$761173$ph = $$741171;$$761279$ph = $$741277;$$80$ph = $$78;$$801389$ph = $$781387;$$sink1746 = $$771584; + label = 206; + continue L46; + } else { + $$711487 = $$701486;$$721679 = $$711678;$$731064 = $$721063;$$751172 = $$741171;$$751278 = $$741277;$$781585 = $$771584;$$79 = $$78;$$791388 = $$781387; + label = 204; + continue L46; + } + break; + } + case 208: { + label = 0; + $791 = 1 << $$771280; + $792 = (($791) + -1)|0; + $793 = $792 & $$811390; + $794 = $$811390 >>> $$771280; + $795 = (($$81) - ($$771280))|0; + $796 = (($793) + ($$751066))|0; + $$751682 = $$741681;$$761067 = $796;$$781175 = $$771174;$$781281 = $$771280;$$811588 = $$801587;$$82 = $795;$$821391 = $794; + label = 209; + break; + } + case 212: { + label = 0; + $807 = (($$801177) + -1)|0; + $808 = ($$801177|0)==(0); + if ($808) { + $$531469 = $$741490;$$531660 = $$771684;$$561047 = $$781069;$$571154 = $807;$$571564 = $$831590;$$58 = $$84;$$581261 = $$801283;$$581367 = $$841393; + label = 139; + } else { + $$751491 = $$741490;$$781685 = $$771684;$$791070 = $$781069;$$811178 = $807;$$811284 = $$801283;$$841591 = $$831590;$$85 = $$84;$$851394 = $$841393; + label = 213; + continue L46; + } + break; + } + } + do { + if ((label|0) == 70) { + label = 0; + $217 = ((($0)) + 52|0); + $218 = HEAP32[$217>>2]|0; + $219 = ($$381135>>>0)<($218>>>0); + if ($219) { + $220 = ($$39>>>0)<(3); + if ($220) { + $$351451 = $$341450;$$351642 = $$341641;$$391030 = $$381029;$$391136 = $$381135;$$391546 = $$381545;$$40 = $$39;$$401243 = $$391242;$$401349 = $$391348; + label = 72; + continue L125; + } else { + $$381454 = $$341450;$$381645 = $$341641;$$421033 = $$381029;$$421139 = $$381135;$$421549 = $$381545;$$43 = $$39;$$431246 = $$391242;$$431352 = $$391348; + label = 77; + continue L125; + } + } else { + HEAP32[$217>>2] = 19; + $$391455 = $$341450;$$391646 = $$341641;$$431034 = $$381029;$$431140 = $$381135;$$431550 = $$381545;$$44 = $$39;$$441247 = $$391242;$$441353 = $$391348; + label = 80; + continue L125; + } + } + else if ((label|0) == 105) { + label = 0; + $418 = ((($0)) + 44|0); + $419 = HEAP32[$418>>2]|0; + $420 = ((($0)) + 48|0); + $421 = HEAP32[$420>>2]|0; + $422 = (($421) + ($419))|0; + $423 = ($$451142>>>0)<($422>>>0); + if (!($423)) { + $529 = ($422|0)==($$451142|0); + if (!($529)) { + $$511467 = $$411457;$$511658 = $$411648;$$541045 = $$451036;$$551152 = $$451142;$$551562 = $$451552;$$56 = $$46;$$561259 = $$461249;$$561365 = $$461355; + label = 136; + continue L46; + } + $530 = ((($0)) + 64|0); + $531 = ((($0)) + 10532|0); + _memcpy(($530|0),($531|0),($419|0))|0; + $532 = ((($0)) + 3552|0); + $533 = HEAP32[$418>>2]|0; + $534 = (((($0)) + 10532|0) + ($533)|0); + $535 = HEAP32[$420>>2]|0; + _memcpy(($532|0),($534|0),($535|0))|0; + $$521468 = $$411457;$$521659 = $$411648;$$551046 = $$451036;$$561153 = $$451142;$$561563 = $$451552;$$57 = $$46;$$571260 = $$461249;$$571366 = $$461355; + label = 138; + break; + } + $424 = ($$46>>>0)<(15); + if (!($424)) { + $$451461 = $$411457;$$451652 = $$411648;$$491146 = $$451142;$$491556 = $$451552;$$50 = $$46;$$501253 = $$461249;$$501359 = $$461355; + label = 119; + continue L125; + } + $425 = $10; + $426 = $$451552; + $427 = (($425) - ($426))|0; + $428 = ($427|0)<(2); + if ($428) { + $$421458 = $$411457;$$421649 = $$411648;$$461037 = $$451036;$$461143 = $$451142;$$461553 = $$451552;$$47 = $$46;$$471250 = $$461249;$$471356 = $$461355; + label = 108; + continue L125; + } + $459 = HEAP8[$$451552>>0]|0; + $460 = $459&255; + $461 = $460 << $$46; + $462 = ((($$451552)) + 1|0); + $463 = HEAP8[$462>>0]|0; + $464 = $463&255; + $465 = (($$46) + 8)|0; + $466 = $464 << $465; + $467 = $461 | $$461355; + $468 = $467 | $466; + $469 = ((($$451552)) + 2|0); + $470 = (($$46) + 16)|0; + $$451461 = $$411457;$$451652 = $$411648;$$491146 = $$451142;$$491556 = $469;$$50 = $470;$$501253 = $$461249;$$501359 = $468; + label = 119; + continue L125; + } + else if ((label|0) == 176) { + label = 0; + $683 = $$641161 & 511; + $684 = ($683|0)==(256); + if ($684) { + $$761492 = $$601476;$$801071 = $$631054;$$801687 = $$611668;$$821285 = $$651268;$$831180 = 256;$$851592 = $$671574;$$86 = $$68;$$861395 = $$681377; + label = 220; + break L125; + } + $685 = (($683) + -257)|0; + $686 = (3024 + ($685<<2)|0); + $687 = HEAP32[$686>>2]|0; + $688 = (3148 + ($685<<2)|0); + $689 = HEAP32[$688>>2]|0; + $690 = (($683) + -265)|0; + $691 = ($690>>>0)<(20); + if ($691) { + $692 = ($$68>>>0)<($687>>>0); + if ($692) { + $$611477 = $$601476;$$621669 = $$611668;$$641055 = $$631054;$$651162 = $689;$$661269 = $687;$$681575 = $$671574;$$69 = $$68;$$691378 = $$681377; + label = 179; + continue L125; + } else { + $$641480 = $$601476;$$651672 = $$611668;$$671058 = $$631054;$$681165 = $689;$$691272 = $687;$$711578 = $$671574;$$72 = $$68;$$721381 = $$681377; + label = 184; + continue L125; + } + } else { + $$651481 = $$601476;$$661673 = $$611668;$$681059 = $$631054;$$691166 = $689;$$701273 = $687;$$721579 = $$671574;$$73 = $$68;$$731382 = $$681377; + label = 185; + } + } + else if ((label|0) == 209) { + label = 0; + $797 = $$751682; + $798 = $3; + $799 = (($797) - ($798))|0; + $$not = ($799>>>0)>=($$761067>>>0); + $$not1747 = $14 ^ 1; + $brmerge = $$not | $$not1747; + if (!($brmerge)) { + $$731489 = $799;$$761683 = $$751682;$$771068 = $$761067;$$791176 = $$781175;$$791282 = $$781281;$$821589 = $$811588;$$83 = $$82;$$831392 = $$821391; + label = 210; + continue L46; + } + $800 = (($799) - ($$761067))|0; + $801 = $800 & $$1753; + $802 = (($3) + ($801)|0); + $803 = ($$751682>>>0)>($802>>>0); + $804 = $803 ? $$751682 : $802; + $805 = (($804) + ($$781175)|0); + $806 = ($805>>>0)>($12>>>0); + if ($806) { + $$741490 = $799;$$771684 = $$751682;$$781069 = $$761067;$$801177 = $$781175;$$801283 = $$781281;$$831590 = $$811588;$$84 = $$82;$$841393 = $$821391; + label = 212; + continue L125; + } else { + $$0978 = $802;$$791686 = $$751682;$$821179 = $$781175; + } + while(1) { + $816 = HEAP8[$$0978>>0]|0; + HEAP8[$$791686>>0] = $816; + $817 = ((($$0978)) + 1|0); + $818 = HEAP8[$817>>0]|0; + $819 = ((($$791686)) + 1|0); + HEAP8[$819>>0] = $818; + $820 = ((($$0978)) + 2|0); + $821 = HEAP8[$820>>0]|0; + $822 = ((($$791686)) + 2|0); + HEAP8[$822>>0] = $821; + $823 = ((($$791686)) + 3|0); + $824 = ((($$0978)) + 3|0); + $825 = (($$821179) + -3)|0; + $826 = ($825|0)>(2); + if ($826) { + $$0978 = $824;$$791686 = $823;$$821179 = $825; + } else { + break; + } + } + $827 = ($825|0)>(0); + if ($827) { + $828 = HEAP8[$824>>0]|0; + HEAP8[$823>>0] = $828; + $829 = ($825|0)==(1); + if (!($829)) { + $830 = ((($$0978)) + 4|0); + $831 = HEAP8[$830>>0]|0; + $832 = ((($$791686)) + 4|0); + HEAP8[$832>>0] = $831; + } + $833 = (($823) + ($825)|0); + $$531469 = $799;$$531660 = $833;$$561047 = $$761067;$$571154 = $825;$$571564 = $$811588;$$58 = $$82;$$581261 = $$781281;$$581367 = $$821391; + label = 139; + } else { + $$531469 = $799;$$531660 = $823;$$561047 = $$761067;$$571154 = $825;$$571564 = $$811588;$$58 = $$82;$$581261 = $$781281;$$581367 = $$821391; + label = 139; + } + } + } while(0); + if ((label|0) == 138) { + label = 0; + $536 = ((($0)) + 24|0); + $537 = HEAP32[$536>>2]|0; + $538 = (($537) + -1)|0; + HEAP32[$536>>2] = $538; + $$391455 = $$521468;$$391646 = $$521659;$$431034 = $$551046;$$431140 = $$561153;$$431550 = $$561563;$$44 = $$57;$$441247 = $$571260;$$441353 = $$571366; + label = 80; + continue; + } + else if ((label|0) == 139) { + label = 0; + $$541470$ph = $$531469;$$541661$ph = $$531660;$$571048$ph = $$561047;$$581155$ph = $$571154;$$581565$ph = $$571564;$$59$ph = $$58;$$591262$ph = $$581261;$$591368$ph = $$581367; + label = 140; + continue; + } + else if ((label|0) == 185) { + label = 0; + $709 = ($$73>>>0)<(15); + if (!($709)) { + $$691485 = $$651481;$$701677 = $$661673;$$731170 = $$691166;$$761583 = $$721579;$$77 = $$73;$$771386 = $$731382; + label = 198; + continue; + } + $710 = $10; + $711 = $$721579; + $712 = (($710) - ($711))|0; + $713 = ($712|0)<(2); + if ($713) { + $$661482 = $$651481;$$671674 = $$661673;$$691060 = $$681059;$$701167 = $$691166;$$711274 = $$701273;$$731580 = $$721579;$$74 = $$73;$$741383 = $$731382; + label = 187; + continue; + } + $744 = HEAP8[$$721579>>0]|0; + $745 = $744&255; + $746 = $745 << $$73; + $747 = ((($$721579)) + 1|0); + $748 = HEAP8[$747>>0]|0; + $749 = $748&255; + $750 = (($$73) + 8)|0; + $751 = $749 << $750; + $752 = $746 | $$731382; + $753 = $752 | $751; + $754 = ((($$721579)) + 2|0); + $755 = (($$73) + 16)|0; + $$691485 = $$651481;$$701677 = $$661673;$$731170 = $$691166;$$761583 = $754;$$77 = $755;$$771386 = $753; + label = 198; + continue; + } + } + if ((label|0) == 113) { + label = 0; + $449 = ($$461553>>>0)<($10>>>0); + if ($449) { + $$441460$ph = $$421458;$$441651$ph = $$421649;$$481039$ph = $$461037;$$481145$ph = $$461143;$$49$ph = $$47;$$491252$ph = $$471250;$$491358$ph = $$471356;$$sink1729 = $$461553; + label = 116; + continue; + } else { + $$431459 = $$421458;$$431650 = $$421649;$$471038 = $$461037;$$471144 = $$461143;$$471554 = $$461553;$$48 = $$47;$$481251 = $$471250;$$481357 = $$471356; + label = 114; + continue; + } + } + else if ((label|0) == 150) { + label = 0; + $569 = ($$591566>>>0)<($10>>>0); + if ($569) { + $$571473$ph = $$551471;$$571664$ph = $$551662;$$601051$ph = $$581049;$$611158$ph = $$591156;$$62$ph = $$60;$$621265$ph = $$601263;$$621371$ph = $$601369;$$sink1736 = $$591566; + label = 153; + continue; + } else { + $$561472 = $$551471;$$561663 = $$551662;$$591050 = $$581049;$$601157 = $$591156;$$601567 = $$591566;$$61 = $$60;$$611264 = $$601263;$$611370 = $$601369; + label = 151; + continue; + } + } + else if ((label|0) == 192) { + label = 0; + $734 = ($$731580>>>0)<($10>>>0); + if ($734) { + $$681484$ph = $$661482;$$691676$ph = $$671674;$$711062$ph = $$691060;$$721169$ph = $$701167;$$731276$ph = $$711274;$$76$ph = $$74;$$761385$ph = $$741383;$$sink1743 = $$731580; + label = 195; + continue; + } else { + $$671483 = $$661482;$$681675 = $$671674;$$701061 = $$691060;$$711168 = $$701167;$$721275 = $$711274;$$741581 = $$731580;$$75 = $$74;$$751384 = $$741383; + label = 193; + continue; + } + } + else if ((label|0) == 220) { + label = 0; + $834 = ((($0)) + 20|0); + $835 = HEAP32[$834>>2]|0; + $836 = $835 & 1; + $837 = ($836|0)==(0); + if ($837) { + $$01416 = $$761492;$$01607 = $$801687;$$41511 = $$851592;$$5 = $$86;$$51102 = $$831180;$$51208 = $$821285;$$51314 = $$861395;$$5996 = $$801071; + label = 14; + continue; + } + $838 = $6 & 1; + $839 = ($838|0)==(0); + if ($839) { + $$881504 = $$761492;$$921083 = $$801071;$$921699 = $$801687;$$941191 = $$831180;$$941297 = $$821285;$$971604 = $$851592;$$98 = $$86;$$981407 = $$861395; + label = 242; + continue; + } else { + $$801496 = $$761492;$$841075 = $$801071;$$841691 = $$801687;$$861289 = $$821285;$$891596 = $$851592;$$90 = $$86;$$901399 = $$861395; + label = 226; + continue; + } + } + } + if ((label|0) == 258) { + STACKTOP = sp;return ($$0951|0); + } + $892 = ((($0)) + 28|0); + $893 = HEAP32[$892>>2]|0; + $894 = $893 & 65535; + $895 = $893 >>> 16; + $896 = ($888|0)==(0); + if ($896) { + $$0937$lcssa = $895;$$0938$lcssa = $894; + } else { + $897 = (($888>>>0) % 5552)&-1; + $$01834 = $897;$$09371833 = $895;$$09381832 = $894;$$09431831 = $888;$$09441830 = $4; + while(1) { + $898 = ($$01834>>>0)>(7); + if ($898) { + $899 = (($$01834) + -8)|0; + $900 = $899 & -8; + $scevgep = ((($$09441830)) + 8|0); + $$09411816 = 0;$$11818 = $$09371833;$$19391817 = $$09381832;$$19451815 = $$09441830; + while(1) { + $904 = HEAP8[$$19451815>>0]|0; + $905 = $904&255; + $906 = (($905) + ($$19391817))|0; + $907 = (($906) + ($$11818))|0; + $908 = ((($$19451815)) + 1|0); + $909 = HEAP8[$908>>0]|0; + $910 = $909&255; + $911 = (($906) + ($910))|0; + $912 = (($907) + ($911))|0; + $913 = ((($$19451815)) + 2|0); + $914 = HEAP8[$913>>0]|0; + $915 = $914&255; + $916 = (($911) + ($915))|0; + $917 = (($912) + ($916))|0; + $918 = ((($$19451815)) + 3|0); + $919 = HEAP8[$918>>0]|0; + $920 = $919&255; + $921 = (($916) + ($920))|0; + $922 = (($917) + ($921))|0; + $923 = ((($$19451815)) + 4|0); + $924 = HEAP8[$923>>0]|0; + $925 = $924&255; + $926 = (($921) + ($925))|0; + $927 = (($922) + ($926))|0; + $928 = ((($$19451815)) + 5|0); + $929 = HEAP8[$928>>0]|0; + $930 = $929&255; + $931 = (($926) + ($930))|0; + $932 = (($927) + ($931))|0; + $933 = ((($$19451815)) + 6|0); + $934 = HEAP8[$933>>0]|0; + $935 = $934&255; + $936 = (($931) + ($935))|0; + $937 = (($932) + ($936))|0; + $938 = ((($$19451815)) + 7|0); + $939 = HEAP8[$938>>0]|0; + $940 = $939&255; + $941 = (($936) + ($940))|0; + $942 = (($937) + ($941))|0; + $943 = (($$09411816) + 8)|0; + $944 = ((($$19451815)) + 8|0); + $945 = $943 | 7; + $946 = ($945>>>0)<($$01834>>>0); + if ($946) { + $$09411816 = $943;$$11818 = $942;$$19391817 = $941;$$19451815 = $944; + } else { + break; + } + } + $901 = (($900) + 8)|0; + $scevgep1947 = (($scevgep) + ($900)|0); + $$0941$lcssa = $901;$$1$lcssa = $942;$$1939$lcssa = $941;$$1945$lcssa = $scevgep1947; + } else { + $$0941$lcssa = 0;$$1$lcssa = $$09371833;$$1939$lcssa = $$09381832;$$1945$lcssa = $$09441830; + } + $902 = ($$01834>>>0)>($$0941$lcssa>>>0); + if ($902) { + $903 = (($$01834) - ($$0941$lcssa))|0; + $$19421823 = $$0941$lcssa;$$21825 = $$1$lcssa;$$29401824 = $$1939$lcssa;$$29461822 = $$1945$lcssa; + while(1) { + $947 = ((($$29461822)) + 1|0); + $948 = HEAP8[$$29461822>>0]|0; + $949 = $948&255; + $950 = (($949) + ($$29401824))|0; + $951 = (($950) + ($$21825))|0; + $952 = (($$19421823) + 1)|0; + $exitcond = ($952|0)==($$01834|0); + if ($exitcond) { + break; + } else { + $$19421823 = $952;$$21825 = $951;$$29401824 = $950;$$29461822 = $947; + } + } + $scevgep1948 = (($$1945$lcssa) + ($903)|0); + $$2$lcssa = $951;$$2940$lcssa = $950;$$2946$lcssa = $scevgep1948; + } else { + $$2$lcssa = $$1$lcssa;$$2940$lcssa = $$1939$lcssa;$$2946$lcssa = $$1945$lcssa; + } + $953 = (($$2940$lcssa>>>0) % 65521)&-1; + $954 = (($$2$lcssa>>>0) % 65521)&-1; + $955 = (($$09431831) - ($$01834))|0; + $956 = ($955|0)==(0); + if ($956) { + $$0937$lcssa = $954;$$0938$lcssa = $953; + break; + } else { + $$01834 = 5552;$$09371833 = $954;$$09381832 = $953;$$09431831 = $955;$$09441830 = $$2946$lcssa; + } + } + } + $957 = $$0937$lcssa << 16; + $958 = $957 | $$0938$lcssa; + HEAP32[$892>>2] = $958; + $959 = ($$1961|0)!=(0); + $960 = $6 & 1; + $961 = ($960|0)==(0); + $or$cond1752 = $961 | $959; + if ($or$cond1752) { + $$0951 = $$1961; + STACKTOP = sp;return ($$0951|0); + } else { + $962 = ((($0)) + 16|0); + $963 = HEAP32[$962>>2]|0; + $964 = ($958|0)==($963|0); + $$1961$ = $964 ? $$1961 : -2; + STACKTOP = sp;return ($$1961$|0); + } + return (0)|0; +} +function _GetDefaultFont($0) { + $0 = $0|0; + var label = 0, sp = 0; + sp = STACKTOP; + ;HEAP32[$0>>2]=HEAP32[21184>>2]|0;HEAP32[$0+4>>2]=HEAP32[21184+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[21184+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[21184+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[21184+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[21184+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[21184+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[21184+28>>2]|0; + return; +} +function _MeasureTextEx($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = +$3; + $4 = $4|0; + var $$0$lcssa = 0, $$05064 = 0, $$052$lcssa = 0.0, $$05263 = 0.0, $$05462 = 0, $$055$lcssa = 0.0, $$05561 = 0.0, $$058$lcssa = 0.0, $$05860 = 0.0, $$065 = 0, $$151 = 0, $$151$$0 = 0, $$153 = 0.0, $$156 = 0.0, $$159 = 0.0, $$2 = 0.0, $$257 = 0.0, $$3 = 0.0, $$byval_copy = 0, $$pn = 0.0; + var $$pn$in = 0, $$sroa$4$0$$sroa_idx2 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0.0, $14 = 0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; + var $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0.0, $36 = 0.0, $37 = 0.0, $38 = 0, $39 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0.0, $exitcond = 0, $phitmp = 0, label = 0; + var sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $$byval_copy = sp; + $5 = (_strlen($2)|0); + $6 = ((($1)) + 20|0); + $7 = HEAP32[$6>>2]|0; + $8 = (+($7|0)); + $9 = $3 / $8; + $10 = ($5|0)>(0); + if (!($10)) { + $$0$lcssa = -1;$$052$lcssa = 0.0;$$055$lcssa = 0.0;$$058$lcssa = $8; + $12 = $$055$lcssa < $$052$lcssa; + $$3 = $12 ? $$052$lcssa : $$055$lcssa; + $13 = $9 * $$3; + $14 = Math_imul($$0$lcssa, $4)|0; + $15 = (+($14|0)); + $16 = $13 + $15; + $17 = $9 * $$058$lcssa; + HEAPF32[$0>>2] = $16; + $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); + HEAPF32[$$sroa$4$0$$sroa_idx2>>2] = $17; + STACKTOP = sp;return; + } + $11 = ((($1)) + 28|0); + $$05064 = 0;$$05263 = 0.0;$$05462 = 0;$$05561 = 0.0;$$05860 = $8;$$065 = 0; + while(1) { + $18 = (($$05064) + 1)|0; + $19 = (($2) + ($$05462)|0); + $20 = HEAP8[$19>>0]|0; + $21 = ($20<<24>>24)==(10); + if ($21) { + $33 = $$05561 < $$05263; + $$156 = $33 ? $$05263 : $$05561; + $34 = HEAP32[$6>>2]|0; + $35 = (+($34|0)); + $36 = $35 * 1.5; + $37 = $$05860 + $36; + $$151 = 0;$$159 = $37;$$2 = 0.0;$$257 = $$156; + } else { + $22 = $20 << 24 >> 24; + ;HEAP32[$$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$1+16>>2]|0;HEAP32[$$byval_copy+20>>2]=HEAP32[$1+20>>2]|0;HEAP32[$$byval_copy+24>>2]=HEAP32[$1+24>>2]|0;HEAP32[$$byval_copy+28>>2]=HEAP32[$1+28>>2]|0; + $23 = (_GetCharIndex($$byval_copy,$22)|0); + $24 = HEAP32[$11>>2]|0; + $25 = (((($24) + ($23<<5)|0)) + 28|0); + $26 = HEAP32[$25>>2]|0; + $27 = ($26|0)==(0); + if ($27) { + $28 = (((($24) + ($23<<5)|0)) + 20|0); + $29 = (((($24) + ($23<<5)|0)) + 12|0); + $30 = HEAP32[$29>>2]|0; + $31 = HEAP32[$28>>2]|0; + $32 = (($31) + ($30))|0; + $$pn$in = $32; + } else { + $$pn$in = $26; + } + $$pn = (+($$pn$in|0)); + $$153 = $$05263 + $$pn; + $$151 = $18;$$159 = $$05860;$$2 = $$153;$$257 = $$05561; + } + $38 = ($$065|0)<($$151|0); + $$151$$0 = $38 ? $$151 : $$065; + $39 = (($$05462) + 1)|0; + $exitcond = ($39|0)==($5|0); + if ($exitcond) { + break; + } else { + $$05064 = $$151;$$05263 = $$2;$$05462 = $39;$$05561 = $$257;$$05860 = $$159;$$065 = $$151$$0; + } + } + $phitmp = (($$151$$0) + -1)|0; + $$0$lcssa = $phitmp;$$052$lcssa = $$2;$$055$lcssa = $$257;$$058$lcssa = $$159; + $12 = $$055$lcssa < $$052$lcssa; + $$3 = $12 ? $$052$lcssa : $$055$lcssa; + $13 = $9 * $$3; + $14 = Math_imul($$0$lcssa, $4)|0; + $15 = (+($14|0)); + $16 = $13 + $15; + $17 = $9 * $$058$lcssa; + HEAPF32[$0>>2] = $16; + $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); + HEAPF32[$$sroa$4$0$$sroa_idx2>>2] = $17; + STACKTOP = sp;return; +} +function _GetCharIndex($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$08 = 0, $$09 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($0)) + 24|0); + $3 = HEAP32[$2>>2]|0; + $4 = ($3|0)>(0); + if (!($4)) { + $$08 = 0; + return ($$08|0); + } + $5 = ((($0)) + 28|0); + $6 = HEAP32[$5>>2]|0; + $$09 = 0; + while(1) { + $7 = (($6) + ($$09<<5)|0); + $8 = HEAP32[$7>>2]|0; + $9 = ($8|0)==($1|0); + if ($9) { + $$08 = $$09; + label = 5; + break; + } + $10 = (($$09) + 1)|0; + $11 = HEAP32[$2>>2]|0; + $12 = ($10|0)<($11|0); + if ($12) { + $$09 = $10; + } else { + $$08 = 0; + label = 5; + break; + } + } + if ((label|0) == 5) { + return ($$08|0); + } + return (0)|0; +} +function _DrawTexturePro($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = +$4; + $5 = $5|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0.0, $22 = 0, $23 = 0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0, $28 = 0.0, $29 = 0.0; + var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0.0, $39 = 0, $40 = 0, $41 = 0.0, $42 = 0.0, $43 = 0, $44 = 0, $45 = 0.0, $46 = 0, $47 = 0, $48 = 0.0, $49 = 0.0; + var $50 = 0, $51 = 0.0, $52 = 0, $53 = 0.0, $54 = 0.0, $55 = 0, $56 = 0, $57 = 0, $58 = 0.0, $59 = 0, $6 = 0, $60 = 0.0, $61 = 0.0, $62 = 0, $63 = 0, $64 = 0.0, $65 = 0, $66 = 0, $67 = 0, $68 = 0.0; + var $69 = 0, $7 = 0, $70 = 0.0, $71 = 0.0, $72 = 0, $73 = 0, $74 = 0, $75 = 0.0, $76 = 0, $77 = 0.0, $78 = 0.0, $79 = 0, $8 = 0, $80 = 0, $81 = 0.0, $82 = 0, $83 = 0.0, $84 = 0, $85 = 0, $86 = 0; + var $87 = 0.0, $88 = 0, $89 = 0.0, $9 = 0, $90 = 0.0, $91 = 0, $92 = 0.0, $93 = 0, $94 = 0.0, $95 = 0.0, $96 = 0, $97 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $6 = HEAP32[$0>>2]|0; + $7 = ($6|0)==(0); + if ($7) { + return; + } + $8 = ((($1)) + 8|0); + $9 = HEAP32[$8>>2]|0; + $10 = ($9|0)<(0); + if ($10) { + $11 = HEAP32[$1>>2]|0; + $12 = (($11) - ($9))|0; + HEAP32[$1>>2] = $12; + } + $13 = ((($1)) + 12|0); + $14 = HEAP32[$13>>2]|0; + $15 = ($14|0)<(0); + if ($15) { + $16 = ((($1)) + 4|0); + $17 = HEAP32[$16>>2]|0; + $18 = (($17) - ($14))|0; + HEAP32[$16>>2] = $18; + } + $19 = HEAP32[$0>>2]|0; + _rlEnableTexture($19); + _rlPushMatrix(); + $20 = HEAP32[$2>>2]|0; + $21 = (+($20|0)); + $22 = ((($2)) + 4|0); + $23 = HEAP32[$22>>2]|0; + $24 = (+($23|0)); + _rlTranslatef($21,$24,0.0); + _rlRotatef($4,0.0,0.0,1.0); + $25 = +HEAPF32[$3>>2]; + $26 = -$25; + $27 = ((($3)) + 4|0); + $28 = +HEAPF32[$27>>2]; + $29 = -$28; + _rlTranslatef($26,$29,0.0); + _rlBegin(7); + $30 = HEAP8[$5>>0]|0; + $31 = ((($5)) + 1|0); + $32 = HEAP8[$31>>0]|0; + $33 = ((($5)) + 2|0); + $34 = HEAP8[$33>>0]|0; + $35 = ((($5)) + 3|0); + $36 = HEAP8[$35>>0]|0; + _rlColor4ub($30,$32,$34,$36); + $37 = HEAP32[$1>>2]|0; + $38 = (+($37|0)); + $39 = ((($0)) + 4|0); + $40 = HEAP32[$39>>2]|0; + $41 = (+($40|0)); + $42 = $38 / $41; + $43 = ((($1)) + 4|0); + $44 = HEAP32[$43>>2]|0; + $45 = (+($44|0)); + $46 = ((($0)) + 8|0); + $47 = HEAP32[$46>>2]|0; + $48 = (+($47|0)); + $49 = $45 / $48; + _rlTexCoord2f($42,$49); + _rlVertex2f(0.0,0.0); + $50 = HEAP32[$1>>2]|0; + $51 = (+($50|0)); + $52 = HEAP32[$39>>2]|0; + $53 = (+($52|0)); + $54 = $51 / $53; + $55 = HEAP32[$43>>2]|0; + $56 = HEAP32[$13>>2]|0; + $57 = (($56) + ($55))|0; + $58 = (+($57|0)); + $59 = HEAP32[$46>>2]|0; + $60 = (+($59|0)); + $61 = $58 / $60; + _rlTexCoord2f($54,$61); + $62 = ((($2)) + 12|0); + $63 = HEAP32[$62>>2]|0; + $64 = (+($63|0)); + _rlVertex2f(0.0,$64); + $65 = HEAP32[$1>>2]|0; + $66 = HEAP32[$8>>2]|0; + $67 = (($66) + ($65))|0; + $68 = (+($67|0)); + $69 = HEAP32[$39>>2]|0; + $70 = (+($69|0)); + $71 = $68 / $70; + $72 = HEAP32[$43>>2]|0; + $73 = HEAP32[$13>>2]|0; + $74 = (($73) + ($72))|0; + $75 = (+($74|0)); + $76 = HEAP32[$46>>2]|0; + $77 = (+($76|0)); + $78 = $75 / $77; + _rlTexCoord2f($71,$78); + $79 = ((($2)) + 8|0); + $80 = HEAP32[$79>>2]|0; + $81 = (+($80|0)); + $82 = HEAP32[$62>>2]|0; + $83 = (+($82|0)); + _rlVertex2f($81,$83); + $84 = HEAP32[$1>>2]|0; + $85 = HEAP32[$8>>2]|0; + $86 = (($85) + ($84))|0; + $87 = (+($86|0)); + $88 = HEAP32[$39>>2]|0; + $89 = (+($88|0)); + $90 = $87 / $89; + $91 = HEAP32[$43>>2]|0; + $92 = (+($91|0)); + $93 = HEAP32[$46>>2]|0; + $94 = (+($93|0)); + $95 = $92 / $94; + _rlTexCoord2f($90,$95); + $96 = HEAP32[$79>>2]|0; + $97 = (+($96|0)); + _rlVertex2f($97,0.0); + _rlEnd(); + _rlPopMatrix(); + _rlDisableTexture(); + return; +} +function _DrawText($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$ = 0, $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0.0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0); + $$byval_copy2 = sp + 112|0; + $$byval_copy1 = sp + 104|0; + $$byval_copy = sp + 72|0; + $5 = sp + 32|0; + $6 = sp + 64|0; + $7 = sp; + _GetDefaultFont($5); + $8 = HEAP32[$5>>2]|0; + $9 = ($8|0)==(0); + if ($9) { + STACKTOP = sp;return; + } + $10 = (+($1|0)); + HEAPF32[$6>>2] = $10; + $11 = ((($6)) + 4|0); + $12 = (+($2|0)); + HEAPF32[$11>>2] = $12; + $13 = ($3|0)>(10); + $$ = $13 ? $3 : 10; + $14 = (($$>>>0) / 10)&-1; + _GetDefaultFont($7); + $15 = (+($$|0)); + ;HEAP32[$$byval_copy>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$7+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$7+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$7+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$7+16>>2]|0;HEAP32[$$byval_copy+20>>2]=HEAP32[$7+20>>2]|0;HEAP32[$$byval_copy+24>>2]=HEAP32[$7+24>>2]|0;HEAP32[$$byval_copy+28>>2]=HEAP32[$7+28>>2]|0; + ;HEAP32[$$byval_copy1>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$6+4>>2]|0; + ;HEAP8[$$byval_copy2>>0]=HEAP8[$4>>0]|0;HEAP8[$$byval_copy2+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$$byval_copy2+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$$byval_copy2+3>>0]=HEAP8[$4+3>>0]|0; + _DrawTextEx($$byval_copy,$0,$$byval_copy1,$15,$14,$$byval_copy2); + STACKTOP = sp;return; +} +function _DrawTextEx($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = +$3; + $4 = $4|0; + $5 = $5|0; + var $$04954 = 0, $$05153 = 0, $$055 = 0, $$1 = 0, $$150 = 0, $$152 = 0, $$2 = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $$byval_copy3 = 0, $$byval_copy4 = 0, $$byval_copy5 = 0, $$sink = 0, $10 = 0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0.0, $16 = 0; + var $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0.0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0.0, $28 = 0.0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0; + var $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0.0, $45 = 0.0, $46 = 0, $47 = 0, $48 = 0.0, $49 = 0.0, $50 = 0.0, $51 = 0, $52 = 0.0, $53 = 0.0, $54 = 0.0, $55 = 0, $56 = 0; + var $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0.0, $64 = 0.0, $65 = 0, $66 = 0, $67 = 0, $68 = 0.0, $69 = 0.0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0; + var $75 = 0, $76 = 0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0, $80 = 0, $81 = 0, $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0); + $$byval_copy5 = sp + 88|0; + $$byval_copy4 = sp + 80|0; + $$byval_copy3 = sp + 64|0; + $$byval_copy2 = sp + 48|0; + $$byval_copy1 = sp + 24|0; + $6 = sp + 8|0; + $7 = sp; + $8 = (_strlen($1)|0); + $9 = ((($0)) + 20|0); + $10 = HEAP32[$9>>2]|0; + $11 = (+($10|0)); + $12 = $3 / $11; + $13 = ($8|0)>(0); + if (!($13)) { + STACKTOP = sp;return; + } + $14 = ((($0)) + 28|0); + $15 = +HEAPF32[$2>>2]; + $16 = ((($6)) + 4|0); + $17 = ((($2)) + 4|0); + $18 = ((($6)) + 8|0); + $19 = ((($6)) + 12|0); + $20 = ((($7)) + 4|0); + $21 = (+($4|0)); + $$04954 = 0;$$05153 = 0;$$055 = 0; + while(1) { + $22 = (($1) + ($$055)|0); + $23 = HEAP8[$22>>0]|0; + switch ($23<<24>>24) { + case 10: { + $24 = HEAP32[$9>>2]|0; + $25 = (($24|0) / 2)&-1; + $26 = (($25) + ($24))|0; + $27 = (+($26|0)); + $28 = $12 * $27; + $29 = (~~(($28))); + $30 = (($29) + ($$05153))|0; + $$150 = 0;$$152 = $30;$$2 = $$055; + break; + } + case -62: { + $31 = (($$055) + 1)|0; + $32 = (($1) + ($31)|0); + $33 = HEAP8[$32>>0]|0; + $34 = $33&255; + $$1 = $31;$$sink = $34; + label = 9; + break; + } + case -61: { + $35 = (($$055) + 1)|0; + $36 = (($1) + ($35)|0); + $37 = HEAP8[$36>>0]|0; + $38 = $37&255; + $39 = (($38) + 64)|0; + $$1 = $35;$$sink = $39; + label = 9; + break; + } + default: { + $40 = $23 << 24 >> 24; + $$1 = $$055;$$sink = $40; + label = 9; + } + } + do { + if ((label|0) == 9) { + label = 0; + ;HEAP32[$$byval_copy5>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy5+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy5+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy5+16>>2]=HEAP32[$0+16>>2]|0;HEAP32[$$byval_copy5+20>>2]=HEAP32[$0+20>>2]|0;HEAP32[$$byval_copy5+24>>2]=HEAP32[$0+24>>2]|0;HEAP32[$$byval_copy5+28>>2]=HEAP32[$0+28>>2]|0; + $41 = (_GetCharIndex($$byval_copy5,$$sink)|0); + $42 = HEAP32[$14>>2]|0; + $43 = (((($42) + ($41<<5)|0)) + 4|0); + $44 = (+($$04954|0)); + $45 = $44 + $15; + $46 = (((($42) + ($41<<5)|0)) + 20|0); + $47 = HEAP32[$46>>2]|0; + $48 = (+($47|0)); + $49 = $12 * $48; + $50 = $45 + $49; + $51 = (~~(($50))); + HEAP32[$6>>2] = $51; + $52 = +HEAPF32[$17>>2]; + $53 = (+($$05153|0)); + $54 = $53 + $52; + $55 = (((($42) + ($41<<5)|0)) + 24|0); + $56 = HEAP32[$55>>2]|0; + $57 = (+($56|0)); + $58 = $12 * $57; + $59 = $54 + $58; + $60 = (~~(($59))); + HEAP32[$16>>2] = $60; + $61 = (((($42) + ($41<<5)|0)) + 12|0); + $62 = HEAP32[$61>>2]|0; + $63 = (+($62|0)); + $64 = $12 * $63; + $65 = (~~(($64))); + HEAP32[$18>>2] = $65; + $66 = (((($42) + ($41<<5)|0)) + 16|0); + $67 = HEAP32[$66>>2]|0; + $68 = (+($67|0)); + $69 = $12 * $68; + $70 = (~~(($69))); + HEAP32[$19>>2] = $70; + HEAPF32[$7>>2] = 0.0; + HEAPF32[$20>>2] = 0.0; + ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; + ;HEAP32[$$byval_copy2>>2]=HEAP32[$43>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$43+4>>2]|0;HEAP32[$$byval_copy2+8>>2]=HEAP32[$43+8>>2]|0;HEAP32[$$byval_copy2+12>>2]=HEAP32[$43+12>>2]|0; + ;HEAP32[$$byval_copy3>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$6+4>>2]|0;HEAP32[$$byval_copy3+8>>2]=HEAP32[$6+8>>2]|0;HEAP32[$$byval_copy3+12>>2]=HEAP32[$6+12>>2]|0; + ;HEAP32[$$byval_copy4>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$7+4>>2]|0; + ;HEAP8[$$byval_copy5>>0]=HEAP8[$5>>0]|0;HEAP8[$$byval_copy5+1>>0]=HEAP8[$5+1>>0]|0;HEAP8[$$byval_copy5+2>>0]=HEAP8[$5+2>>0]|0;HEAP8[$$byval_copy5+3>>0]=HEAP8[$5+3>>0]|0; + _DrawTexturePro($$byval_copy1,$$byval_copy2,$$byval_copy3,$$byval_copy4,0.0,$$byval_copy5); + $71 = HEAP32[$14>>2]|0; + $72 = (((($71) + ($41<<5)|0)) + 28|0); + $73 = HEAP32[$72>>2]|0; + $74 = ($73|0)==(0); + if ($74) { + $75 = (((($71) + ($41<<5)|0)) + 12|0); + $76 = HEAP32[$75>>2]|0; + $77 = (+($76|0)); + $78 = $12 * $77; + $79 = $21 + $78; + $80 = (~~(($79))); + $81 = (($80) + ($$04954))|0; + $$150 = $81;$$152 = $$05153;$$2 = $$1; + break; + } else { + $82 = (+($73|0)); + $83 = $12 * $82; + $84 = $21 + $83; + $85 = (~~(($84))); + $86 = (($85) + ($$04954))|0; + $$150 = $86;$$152 = $$05153;$$2 = $$1; + break; + } + } + } while(0); + $87 = (($$2) + 1)|0; + $88 = ($87|0)<($8|0); + if ($88) { + $$04954 = $$150;$$05153 = $$152;$$055 = $87; + } else { + break; + } + } + STACKTOP = sp;return; +} +function _FormatText($0,$varargs) { + $0 = $0|0; + $varargs = $varargs|0; + var $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $1 = sp; + HEAP32[$1>>2] = $varargs; + (_vsprintf(26403,$0,$1)|0); + STACKTOP = sp;return (26403|0); +} +function _MeasureText($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$ = 0, $$byval_copy = 0, $$sroa$0$0 = 0, $$sroa$0$0$copyload = 0.0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0.0, $phitmp = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0); + $$byval_copy = sp + 72|0; + $2 = sp + 40|0; + $3 = sp + 8|0; + $4 = sp; + _GetDefaultFont($2); + $5 = HEAP32[$2>>2]|0; + $6 = ($5|0)==(0); + if ($6) { + $$sroa$0$0 = 0; + STACKTOP = sp;return ($$sroa$0$0|0); + } + $7 = ($1|0)>(10); + $$ = $7 ? $1 : 10; + $8 = (($$>>>0) / 10)&-1; + _GetDefaultFont($3); + $9 = (+($$|0)); + ;HEAP32[$$byval_copy>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$3+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$3+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$3+16>>2]|0;HEAP32[$$byval_copy+20>>2]=HEAP32[$3+20>>2]|0;HEAP32[$$byval_copy+24>>2]=HEAP32[$3+24>>2]|0;HEAP32[$$byval_copy+28>>2]=HEAP32[$3+28>>2]|0; + _MeasureTextEx($4,$$byval_copy,$0,$9,$8); + $$sroa$0$0$copyload = +HEAPF32[$4>>2]; + $phitmp = (~~(($$sroa$0$0$copyload))); + $$sroa$0$0 = $phitmp; + STACKTOP = sp;return ($$sroa$0$0|0); +} +function _jar_xm_generate_samples_16bit($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$015 = 0, $10 = 0.0, $11 = 0, $12 = 0, $13 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0.0, $exitcond = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = $2 << 1; + $4 = $2 << 3; + $5 = (_malloc($4)|0); + _jar_xm_generate_samples($0,$5,$2); + $6 = ($1|0)!=(0|0); + $7 = ($3|0)!=(0); + $or$cond = $6 & $7; + if ($or$cond) { + $$015 = 0; + } else { + _free($5); + return; + } + while(1) { + $8 = (($5) + ($$015<<2)|0); + $9 = +HEAPF32[$8>>2]; + $10 = $9 * 32767.0; + $11 = (~~(($10))); + $12 = (($1) + ($$015<<1)|0); + HEAP16[$12>>1] = $11; + $13 = (($$015) + 1)|0; + $exitcond = ($13|0)==($3|0); + if ($exitcond) { + break; + } else { + $$015 = $13; + } + } + _free($5); + return; +} +function _jar_xm_generate_samples($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$013 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; + var $8 = 0, $9 = 0, $exitcond = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ($0|0)!=(0|0); + $4 = ($1|0)!=(0|0); + $or$cond = $3 & $4; + if (!($or$cond)) { + return; + } + $5 = ((($0)) + 360|0); + $6 = $5; + $7 = $6; + $8 = HEAP32[$7>>2]|0; + $9 = (($6) + 4)|0; + $10 = $9; + $11 = HEAP32[$10>>2]|0; + $12 = (_i64Add(($8|0),($11|0),($2|0),0)|0); + $13 = tempRet0; + $14 = $5; + $15 = $14; + HEAP32[$15>>2] = $12; + $16 = (($14) + 4)|0; + $17 = $16; + HEAP32[$17>>2] = $13; + $18 = ($2|0)==(0); + if ($18) { + return; + } else { + $$013 = 0; + } + while(1) { + $19 = $$013 << 1; + $20 = (($1) + ($19<<2)|0); + $21 = $19 | 1; + $22 = (($1) + ($21<<2)|0); + _jar_xm_sample($0,$20,$22); + $23 = (($$013) + 1)|0; + $exitcond = ($23|0)==($2|0); + if ($exitcond) { + break; + } else { + $$013 = $23; + } + } + return; +} +function _jar_xm_sample($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$072 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0.0, $24 = 0, $25 = 0.0, $26 = 0.0, $27 = 0.0, $28 = 0.0; + var $29 = 0.0, $3 = 0, $30 = 0.0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0.0, $40 = 0, $41 = 0.0, $42 = 0, $43 = 0.0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0.0, $53 = 0.0, $54 = 0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0.0, $60 = 0.0, $61 = 0.0, $62 = 0.0, $63 = 0.0, $64 = 0.0; + var $65 = 0.0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0.0, $70 = 0.0, $71 = 0, $72 = 0.0, $73 = 0, $74 = 0.0, $75 = 0.0, $76 = 0, $77 = 0, $78 = 0.0, $79 = 0.0, $8 = 0, $80 = 0, $81 = 0, $82 = 0.0; + var $83 = 0, $84 = 0.0, $85 = 0, $86 = 0.0, $87 = 0.0, $88 = 0, $89 = 0, $9 = 0, $90 = 0.0, $91 = 0.0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ((($0)) + 352|0); + $4 = +HEAPF32[$3>>2]; + $5 = !($4 <= 0.0); + if (!($5)) { + _jar_xm_tick($0); + } + $6 = +HEAPF32[$3>>2]; + $7 = $6 + -1.0; + HEAPF32[$3>>2] = $7; + HEAPF32[$1>>2] = 0.0; + HEAPF32[$2>>2] = 0.0; + $8 = ((($0)) + 385|0); + $9 = HEAP8[$8>>0]|0; + $10 = ($9<<24>>24)==(0); + if (!($10)) { + $11 = ((($0)) + 384|0); + $12 = HEAP8[$11>>0]|0; + $13 = ($12&255)<($9&255); + if (!($13)) { + return; + } + } + $14 = ((($0)) + 50|0); + $15 = HEAP16[$14>>1]|0; + $16 = ($15<<16>>16)==(0); + if (!($16)) { + $17 = ((($0)) + 388|0); + $18 = ((($0)) + 340|0); + $19 = ((($0)) + 344|0); + $20 = ((($0)) + 344|0); + $21 = ((($0)) + 340|0); + $$072 = 0;$33 = 0; + while(1) { + $31 = HEAP32[$17>>2]|0; + $32 = (($31) + (($33*304)|0)|0); + $34 = (((($31) + (($33*304)|0)|0)) + 8|0); + $35 = HEAP32[$34>>2]|0; + $36 = ($35|0)==(0|0); + do { + if (!($36)) { + $37 = (((($31) + (($33*304)|0)|0)) + 12|0); + $38 = HEAP32[$37>>2]|0; + $39 = ($38|0)==(0|0); + if (!($39)) { + $40 = (((($31) + (($33*304)|0)|0)) + 20|0); + $41 = +HEAPF32[$40>>2]; + $42 = $41 < 0.0; + if (!($42)) { + $43 = (+_jar_xm_next_of_sample($32)); + $44 = (((($31) + (($33*304)|0)|0)) + 152|0); + $45 = HEAP32[$44>>2]|0; + $46 = ($45|0)==(0); + if ($46) { + $47 = HEAP32[$34>>2]|0; + $48 = ((($47)) + 272|0); + $49 = HEAP32[$48>>2]|0; + $50 = ($49|0)==(0); + if ($50) { + $51 = (((($31) + (($33*304)|0)|0)) + 300|0); + $52 = +HEAPF32[$51>>2]; + $53 = $43 * $52; + $54 = (((($31) + (($33*304)|0)|0)) + 296|0); + $55 = +HEAPF32[$54>>2]; + $56 = 1.0 - $55; + $57 = $53 * $56; + $58 = +HEAPF32[$1>>2]; + $59 = $58 + $57; + HEAPF32[$1>>2] = $59; + $60 = +HEAPF32[$51>>2]; + $61 = $43 * $60; + $62 = +HEAPF32[$54>>2]; + $63 = $61 * $62; + $64 = +HEAPF32[$2>>2]; + $65 = $64 + $63; + HEAPF32[$2>>2] = $65; + } + } + $66 = (((($31) + (($33*304)|0)|0)) + 164|0); + $67 = HEAP32[$66>>2]|0; + $68 = (($67) + 1)|0; + HEAP32[$66>>2] = $68; + $69 = (((($31) + (($33*304)|0)|0)) + 300|0); + $70 = +HEAPF32[$69>>2]; + $71 = (((($31) + (($33*304)|0)|0)) + 160|0); + $72 = +HEAPF32[$71>>2]; + $73 = $70 > $72; + if ($73) { + $74 = +HEAPF32[$18>>2]; + $75 = $70 - $74; + HEAPF32[$69>>2] = $75; + $76 = $75 < $72; + if ($76) { + HEAPF32[$69>>2] = $72; + } + } else { + $77 = $70 < $72; + if ($77) { + $78 = +HEAPF32[$21>>2]; + $79 = $70 + $78; + HEAPF32[$69>>2] = $79; + $80 = $79 > $72; + if ($80) { + HEAPF32[$69>>2] = $72; + } + } + } + $81 = (((($31) + (($33*304)|0)|0)) + 296|0); + $82 = +HEAPF32[$81>>2]; + $83 = (((($31) + (($33*304)|0)|0)) + 156|0); + $84 = +HEAPF32[$83>>2]; + $85 = $82 > $84; + if ($85) { + $86 = +HEAPF32[$19>>2]; + $87 = $82 - $86; + HEAPF32[$81>>2] = $87; + $88 = $87 < $84; + if (!($88)) { + break; + } + HEAPF32[$81>>2] = $84; + break; + } + $89 = $82 < $84; + if ($89) { + $90 = +HEAPF32[$20>>2]; + $91 = $82 + $90; + HEAPF32[$81>>2] = $91; + $92 = $91 > $84; + if ($92) { + HEAPF32[$81>>2] = $84; + } + } + } + } + } + } while(0); + $93 = (($$072) + 1)<<24>>24; + $94 = $93&255; + $95 = HEAP16[$14>>1]|0; + $96 = $95&65535; + $97 = ($94>>>0)<($96>>>0); + if ($97) { + $$072 = $93;$33 = $94; + } else { + break; + } + } + } + $22 = ((($0)) + 332|0); + $23 = +HEAPF32[$22>>2]; + $24 = ((($0)) + 336|0); + $25 = +HEAPF32[$24>>2]; + $26 = $23 * $25; + $27 = +HEAPF32[$1>>2]; + $28 = $27 * $26; + HEAPF32[$1>>2] = $28; + $29 = +HEAPF32[$2>>2]; + $30 = $26 * $29; + HEAPF32[$2>>2] = $30; + return; +} +function _jar_xm_tick($0) { + $0 = $0|0; + var $$0 = 0.0, $$0195202 = 0, $$0196 = 0.0, $$1 = 0.0, $$not = 0, $$pr = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0; + var $111 = 0.0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0.0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0; + var $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0; + var $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0; + var $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0.0, $181 = 0, $182 = 0.0, $183 = 0.0; + var $184 = 0.0, $185 = 0, $186 = 0.0, $187 = 0.0, $188 = 0.0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0; + var $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0.0, $212 = 0, $213 = 0, $214 = 0.0, $215 = 0.0, $216 = 0, $217 = 0.0, $218 = 0.0, $219 = 0; + var $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0.0; + var $238 = 0, $239 = 0.0, $24 = 0, $240 = 0.0, $241 = 0.0, $242 = 0.0, $243 = 0.0, $244 = 0.0, $245 = 0.0, $246 = 0.0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0.0, $252 = 0, $253 = 0.0, $254 = 0.0, $255 = 0; + var $256 = 0, $257 = 0, $258 = 0.0, $259 = 0, $26 = 0, $260 = 0.0, $261 = 0.0, $262 = 0.0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0.0, $273 = 0; + var $274 = 0, $275 = 0.0, $276 = 0.0, $277 = 0.0, $278 = 0, $279 = 0.0, $28 = 0, $280 = 0.0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0; + var $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0; + var $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0; + var $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0; + var $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, $storemerge = 0.0, $storemerge198 = 0.0, $trunc = 0, $trunc$clear = 0, $trunc199 = 0, $trunc199$clear = 0, $trunc200 = 0, $trunc200$clear = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 350|0); + $2 = HEAP16[$1>>1]|0; + $3 = ($2<<16>>16)==(0); + if ($3) { + _jar_xm_row($0); + } + $4 = ((($0)) + 50|0); + $5 = HEAP16[$4>>1]|0; + $6 = ($5<<16>>16)==(0); + L4: do { + if (!($6)) { + $7 = ((($0)) + 388|0); + $8 = ((($0)) + 328|0); + $9 = ((($0)) + 332|0); + $$0195202 = 0;$23 = 0; + while(1) { + $21 = HEAP32[$7>>2]|0; + $22 = (($21) + (($23*304)|0)|0); + _jar_xm_envelopes($22); + _jar_xm_autovibrato($0,$22); + $24 = (((($21) + (($23*304)|0)|0)) + 76|0); + $25 = HEAP32[$24>>2]|0; + $26 = ($25|0)==(0); + do { + if (!($26)) { + $27 = (((($21) + (($23*304)|0)|0)) + 16|0); + $28 = HEAP32[$27>>2]|0; + $29 = ((($28)) + 3|0); + $30 = HEAP8[$29>>0]|0; + $31 = ($30<<24>>24)==(0); + if ($31) { + $32 = ((($28)) + 4|0); + $33 = HEAP8[$32>>0]|0; + $34 = ($33<<24>>24)==(0); + if (!($34)) { + break; + } + } + HEAP32[$24>>2] = 0; + $35 = (((($21) + (($23*304)|0)|0)) + 80|0); + HEAP8[$35>>0] = 0; + _jar_xm_update_frequency($0,$22); + } + } while(0); + $36 = (((($21) + (($23*304)|0)|0)) + 100|0); + $37 = HEAP32[$36>>2]|0; + $38 = ($37|0)==(0); + if (!($38)) { + $39 = (((($21) + (($23*304)|0)|0)) + 16|0); + $40 = HEAP32[$39>>2]|0; + $41 = ((($40)) + 3|0); + $42 = HEAP8[$41>>0]|0; + $43 = ($42<<24>>24)==(4); + if (!($43)) { + $44 = ((($40)) + 4|0); + $45 = HEAP8[$44>>0]|0; + $46 = ($45<<24>>24)==(6); + if (!($46)) { + $47 = ((($40)) + 2|0); + $48 = HEAP8[$47>>0]|0; + $49 = $48 & -16; + $50 = ($49<<24>>24)==(-80); + if (!($50)) { + $51 = (((($21) + (($23*304)|0)|0)) + 116|0); + HEAP32[$36>>2] = 0; + HEAPF32[$51>>2] = 0.0; + _jar_xm_update_frequency($0,$22); + } + } + } + } + $52 = (((($21) + (($23*304)|0)|0)) + 16|0); + $53 = HEAP32[$52>>2]|0; + $54 = ((($53)) + 2|0); + $55 = HEAP8[$54>>0]|0; + $56 = $55&255; + $trunc = ($55&255) >>> 4; + $trunc$clear = $trunc & 15; + switch ($trunc$clear<<24>>24) { + case 6: { + $57 = HEAP16[$1>>1]|0; + $58 = ($57<<16>>16)==(0); + if (!($58)) { + $59 = $56 & 15; + $60 = $59&255; + _jar_xm_volume_slide($22,$60); + } + break; + } + case 7: { + $61 = HEAP16[$1>>1]|0; + $62 = ($61<<16>>16)==(0); + if (!($62)) { + $63 = $56 << 4; + $64 = $63&255; + _jar_xm_volume_slide($22,$64); + } + break; + } + case 11: { + $65 = HEAP16[$1>>1]|0; + $66 = ($65<<16>>16)==(0); + if (!($66)) { + HEAP32[$36>>2] = 0; + $67 = (((($21) + (($23*304)|0)|0)) + 112|0); + $68 = HEAP8[$67>>0]|0; + $69 = (((($21) + (($23*304)|0)|0)) + 114|0); + $70 = HEAP16[$69>>1]|0; + $71 = (($70) + 1)<<16>>16; + HEAP16[$69>>1] = $71; + _jar_xm_vibrato($0,$22,$68,$70); + } + break; + } + case 13: { + $72 = HEAP16[$1>>1]|0; + $73 = ($72<<16>>16)==(0); + if (!($73)) { + $74 = $56 & 15; + $75 = $74&255; + _jar_xm_panning_slide($22,$75); + } + break; + } + case 14: { + $76 = HEAP16[$1>>1]|0; + $77 = ($76<<16>>16)==(0); + if (!($77)) { + $78 = $56 << 4; + $79 = $78&255; + _jar_xm_panning_slide($22,$79); + } + break; + } + case 15: { + $80 = HEAP16[$1>>1]|0; + $81 = ($80<<16>>16)==(0); + if (!($81)) { + _jar_xm_tone_portamento($0,$22); + } + break; + } + default: { + } + } + $82 = HEAP32[$52>>2]|0; + $83 = ((($82)) + 3|0); + $84 = HEAP8[$83>>0]|0; + L34: do { + switch ($84<<24>>24) { + case 0: { + $85 = ((($82)) + 4|0); + $86 = HEAP8[$85>>0]|0; + $87 = ($86<<24>>24)==(0); + if (!($87)) { + $88 = HEAP16[$8>>1]|0; + $89 = (($88&65535) % 3)&-1; + $90 = $89&65535; + $trunc200 = $89&255; + $trunc200$clear = $trunc200 & 3; + switch ($trunc200$clear<<24>>24) { + case 2: { + $91 = HEAP16[$1>>1]|0; + $92 = ($91<<16>>16)==(1); + if ($92) { + HEAP32[$24>>2] = 1; + $93 = ($86&255) >>> 4; + $94 = (((($21) + (($23*304)|0)|0)) + 80|0); + HEAP8[$94>>0] = $93; + _jar_xm_update_frequency($0,$22); + break L34; + } else { + $96 = $91; + label = 34; + } + break; + } + case 1: { + $$pr = HEAP16[$1>>1]|0; + $96 = $$pr; + label = 34; + break; + } + case 0: { + break; + } + default: { + break L34; + } + } + if ((label|0) == 34) { + label = 0; + $95 = ($96<<16>>16)==(0); + if ($95) { + HEAP32[$24>>2] = 0; + $97 = (((($21) + (($23*304)|0)|0)) + 80|0); + HEAP8[$97>>0] = 0; + _jar_xm_update_frequency($0,$22); + break L34; + } + } + $98 = HEAP32[$52>>2]|0; + $99 = ((($98)) + 4|0); + $100 = HEAP8[$99>>0]|0; + $101 = HEAP16[$1>>1]|0; + $102 = $101&65535; + $103 = (($102) - ($90))|0; + $104 = $103&65535; + _jar_xm_arpeggio($0,$22,$100,$104); + } + break; + } + case 1: { + $105 = HEAP16[$1>>1]|0; + $106 = ($105<<16>>16)==(0); + if (!($106)) { + $107 = (((($21) + (($23*304)|0)|0)) + 85|0); + $108 = HEAP8[$107>>0]|0; + $109 = $108&255; + $110 = (0 - ($109))|0; + $111 = (+($110|0)); + _jar_xm_pitch_slide($0,$22,$111); + } + break; + } + case 2: { + $112 = HEAP16[$1>>1]|0; + $113 = ($112<<16>>16)==(0); + if (!($113)) { + $114 = (((($21) + (($23*304)|0)|0)) + 86|0); + $115 = HEAP8[$114>>0]|0; + $116 = (+($115&255)); + _jar_xm_pitch_slide($0,$22,$116); + } + break; + } + case 3: { + $117 = HEAP16[$1>>1]|0; + $118 = ($117<<16>>16)==(0); + if (!($118)) { + _jar_xm_tone_portamento($0,$22); + } + break; + } + case 4: { + $119 = HEAP16[$1>>1]|0; + $120 = ($119<<16>>16)==(0); + if (!($120)) { + HEAP32[$36>>2] = 1; + $121 = (((($21) + (($23*304)|0)|0)) + 112|0); + $122 = HEAP8[$121>>0]|0; + $123 = (((($21) + (($23*304)|0)|0)) + 114|0); + $124 = HEAP16[$123>>1]|0; + $125 = (($124) + 1)<<16>>16; + HEAP16[$123>>1] = $125; + _jar_xm_vibrato($0,$22,$122,$124); + } + break; + } + case 5: { + $126 = HEAP16[$1>>1]|0; + $127 = ($126<<16>>16)==(0); + if (!($127)) { + $128 = (((($21) + (($23*304)|0)|0)) + 81|0); + _jar_xm_tone_portamento($0,$22); + $129 = HEAP8[$128>>0]|0; + _jar_xm_volume_slide($22,$129); + } + break; + } + case 6: { + $130 = HEAP16[$1>>1]|0; + $131 = ($130<<16>>16)==(0); + if (!($131)) { + HEAP32[$36>>2] = 1; + $132 = (((($21) + (($23*304)|0)|0)) + 112|0); + $133 = HEAP8[$132>>0]|0; + $134 = (((($21) + (($23*304)|0)|0)) + 114|0); + $135 = HEAP16[$134>>1]|0; + $136 = (($135) + 1)<<16>>16; + HEAP16[$134>>1] = $136; + _jar_xm_vibrato($0,$22,$133,$135); + $137 = (((($21) + (($23*304)|0)|0)) + 81|0); + $138 = HEAP8[$137>>0]|0; + _jar_xm_volume_slide($22,$138); + } + break; + } + case 7: { + $139 = HEAP16[$1>>1]|0; + $140 = ($139<<16>>16)==(0); + if (!($140)) { + $141 = (((($21) + (($23*304)|0)|0)) + 128|0); + $142 = HEAP8[$141>>0]|0; + $143 = (((($21) + (($23*304)|0)|0)) + 129|0); + $144 = HEAP8[$143>>0]|0; + $145 = (($144) + 1)<<24>>24; + HEAP8[$143>>0] = $145; + $146 = $144&255; + _jar_xm_tremolo($22,$142,$146); + } + break; + } + case 10: { + $147 = HEAP16[$1>>1]|0; + $148 = ($147<<16>>16)==(0); + if (!($148)) { + $149 = (((($21) + (($23*304)|0)|0)) + 81|0); + $150 = HEAP8[$149>>0]|0; + _jar_xm_volume_slide($22,$150); + } + break; + } + case 14: { + $151 = ((($82)) + 4|0); + $152 = HEAP8[$151>>0]|0; + $153 = $152&255; + $trunc199 = ($152&255) >>> 4; + $trunc199$clear = $trunc199 & 15; + switch ($trunc199$clear<<24>>24) { + case 9: { + $154 = HEAP16[$1>>1]|0; + $155 = $154&65535; + $156 = ($154<<16>>16)==(0); + if ($156) { + break L34; + } + $157 = $153 & 15; + $158 = ($157|0)==(0); + if ($158) { + break L34; + } + $159 = (($155>>>0) % ($157>>>0))&-1; + $160 = ($159|0)==(0); + if (!($160)) { + break L34; + } + _jar_xm_trigger_note($0,$22,0); + _jar_xm_envelopes($22); + break L34; + break; + } + case 12: { + $161 = $153 & 15; + $162 = HEAP16[$1>>1]|0; + $163 = $162&65535; + $164 = ($161|0)==($163|0); + if (!($164)) { + break L34; + } + _jar_xm_cut_note($22); + break L34; + break; + } + case 13: { + $165 = (((($21) + (($23*304)|0)|0)) + 97|0); + $166 = HEAP8[$165>>0]|0; + $167 = $166&255; + $168 = HEAP16[$1>>1]|0; + $169 = $168&65535; + $170 = ($167|0)==($169|0); + if (!($170)) { + break L34; + } + _jar_xm_handle_note_and_instrument($0,$22,$82); + _jar_xm_envelopes($22); + break L34; + break; + } + default: { + break L34; + } + } + break; + } + case 17: { + $171 = HEAP16[$1>>1]|0; + $172 = ($171<<16>>16)==(0); + if (!($172)) { + $173 = (((($21) + (($23*304)|0)|0)) + 83|0); + $174 = HEAP8[$173>>0]|0; + $175 = $174&255; + $176 = $175 & 240; + $177 = ($176|0)!=(0); + $$not = $177 ^ 1; + $178 = $175 & 15; + $179 = ($178|0)==(0); + $or$cond = $179 | $$not; + if ($or$cond) { + $180 = +HEAPF32[$9>>2]; + if ($177) { + $181 = $175 >>> 4; + $182 = (+($181|0)); + $183 = $182 * 0.015625; + $184 = $183 + $180; + $185 = $184 > 1.0; + $storemerge198 = $185 ? 1.0 : $184; + HEAPF32[$9>>2] = $storemerge198; + break L34; + } else { + $186 = (+($178|0)); + $187 = $186 * 0.015625; + $188 = $180 - $187; + $189 = $188 < 0.0; + $storemerge = $189 ? 0.0 : $188; + HEAPF32[$9>>2] = $storemerge; + break L34; + } + } + } + break; + } + case 20: { + $190 = HEAP16[$1>>1]|0; + $191 = $190&65535; + $192 = ((($82)) + 4|0); + $193 = HEAP8[$192>>0]|0; + $194 = $193&255; + $195 = ($191|0)==($194|0); + if ($195) { + _jar_xm_key_off($22); + } + break; + } + case 25: { + $196 = HEAP16[$1>>1]|0; + $197 = ($196<<16>>16)==(0); + if (!($197)) { + $198 = (((($21) + (($23*304)|0)|0)) + 84|0); + $199 = HEAP8[$198>>0]|0; + _jar_xm_panning_slide($22,$199); + } + break; + } + case 27: { + $200 = HEAP16[$1>>1]|0; + $201 = $200&65535; + $202 = ($200<<16>>16)==(0); + if (!($202)) { + $203 = (((($21) + (($23*304)|0)|0)) + 96|0); + $204 = HEAP8[$203>>0]|0; + $205 = $204&255; + $206 = $205 & 15; + $207 = ($206|0)==(0); + if (!($207)) { + $208 = (($201>>>0) % ($206>>>0))&-1; + $209 = ($208|0)==(0); + if ($209) { + $210 = (((($21) + (($23*304)|0)|0)) + 40|0); + $211 = +HEAPF32[$210>>2]; + $212 = $205 >>> 4; + $213 = (3528 + ($212<<2)|0); + $214 = +HEAPF32[$213>>2]; + $215 = $211 * $214; + $216 = (3592 + ($212<<2)|0); + $217 = +HEAPF32[$216>>2]; + $218 = $215 + $217; + $219 = $218 > 1.0; + if ($219) { + $$0196 = 1.0; + } else { + $220 = $218 < 0.0; + if ($220) { + $$0196 = 0.0; + } else { + $$0196 = $218; + } + } + _jar_xm_trigger_note($0,$22,0); + HEAPF32[$210>>2] = $$0196; + } + } + } + break; + } + case 29: { + $221 = HEAP16[$1>>1]|0; + $222 = ($221<<16>>16)==(0); + if (!($222)) { + $223 = $221&65535; + $224 = (($223) + -1)|0; + $225 = (((($21) + (($23*304)|0)|0)) + 136|0); + $226 = HEAP8[$225>>0]|0; + $227 = $226&255; + $228 = $227 >>> 4; + $229 = $227 & 15; + $230 = (($229) + 2)|0; + $231 = (($230) + ($228))|0; + $232 = (($224|0) % ($231|0))&-1; + $233 = ($232|0)>($228|0); + $234 = $233&1; + $235 = (((($21) + (($23*304)|0)|0)) + 140|0); + HEAP32[$235>>2] = $234; + } + break; + } + default: { + } + } + } while(0); + $236 = (((($21) + (($23*304)|0)|0)) + 44|0); + $237 = +HEAPF32[$236>>2]; + $238 = (((($21) + (($23*304)|0)|0)) + 64|0); + $239 = +HEAPF32[$238>>2]; + $240 = $239 + -0.5; + $241 = $237 + -0.5; + $242 = (+Math_abs((+$241))); + $243 = 0.5 - $242; + $244 = $240 * $243; + $245 = $244 * 2.0; + $246 = $237 + $245; + $247 = (((($21) + (($23*304)|0)|0)) + 140|0); + $248 = HEAP32[$247>>2]|0; + $249 = ($248|0)==(0); + if ($249) { + $250 = (((($21) + (($23*304)|0)|0)) + 40|0); + $251 = +HEAPF32[$250>>2]; + $252 = (((($21) + (($23*304)|0)|0)) + 132|0); + $253 = +HEAPF32[$252>>2]; + $254 = $251 + $253; + $255 = $254 > 1.0; + if ($255) { + $$0 = 1.0; + } else { + $256 = $254 < 0.0; + if ($256) { + $$0 = 0.0; + } else { + $$0 = $254; + } + } + $257 = (((($21) + (($23*304)|0)|0)) + 56|0); + $258 = +HEAPF32[$257>>2]; + $259 = (((($21) + (($23*304)|0)|0)) + 60|0); + $260 = +HEAPF32[$259>>2]; + $261 = $258 * $260; + $262 = $$0 * $261; + $$1 = $262; + } else { + $$1 = 0.0; + } + $263 = (((($21) + (($23*304)|0)|0)) + 156|0); + HEAPF32[$263>>2] = $246; + $264 = (((($21) + (($23*304)|0)|0)) + 160|0); + HEAPF32[$264>>2] = $$1; + $265 = (($$0195202) + 1)<<24>>24; + $266 = $265&255; + $267 = HEAP16[$4>>1]|0; + $268 = $267&65535; + $269 = ($266>>>0)<($268>>>0); + if ($269) { + $$0195202 = $265;$23 = $266; + } else { + break L4; + } + } + } + } while(0); + $10 = HEAP16[$1>>1]|0; + $11 = (($10) + 1)<<16>>16; + HEAP16[$1>>1] = $11; + $12 = $11&65535; + $13 = ((($0)) + 328|0); + $14 = HEAP16[$13>>1]|0; + $15 = $14&65535; + $16 = ((($0)) + 378|0); + $17 = HEAP16[$16>>1]|0; + $18 = $17&65535; + $19 = (($18) + ($15))|0; + $20 = ($12>>>0)<($19>>>0); + if ($20) { + $270 = ((($0)) + 324|0); + $271 = HEAP32[$270>>2]|0; + $272 = (+($271>>>0)); + $273 = ((($0)) + 330|0); + $274 = HEAP16[$273>>1]|0; + $275 = (+($274&65535)); + $276 = $275 * 0.40000000596046448; + $277 = $272 / $276; + $278 = ((($0)) + 352|0); + $279 = +HEAPF32[$278>>2]; + $280 = $279 + $277; + HEAPF32[$278>>2] = $280; + return; + } + HEAP16[$1>>1] = 0; + HEAP16[$16>>1] = 0; + $270 = ((($0)) + 324|0); + $271 = HEAP32[$270>>2]|0; + $272 = (+($271>>>0)); + $273 = ((($0)) + 330|0); + $274 = HEAP16[$273>>1]|0; + $275 = (+($274&65535)); + $276 = $275 * 0.40000000596046448; + $277 = $272 / $276; + $278 = ((($0)) + 352|0); + $279 = +HEAPF32[$278>>2]; + $280 = $279 + $277; + HEAPF32[$278>>2] = $280; + return; +} +function _jar_xm_next_of_sample($0) { + $0 = $0|0; + var $$0100 = 0.0, $$0101 = 0.0, $$1 = 0.0, $$pr = 0.0, $$sink = 0.0, $$sink$p = 0.0, $$sink103 = 0, $$sink105 = 0, $$sink2 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0; + var $109 = 0, $11 = 0, $110 = 0.0, $111 = 0.0, $112 = 0, $113 = 0, $114 = 0, $115 = 0.0, $116 = 0, $117 = 0, $118 = 0.0, $119 = 0.0, $12 = 0, $120 = 0, $121 = 0.0, $122 = 0.0, $123 = 0.0, $124 = 0.0, $125 = 0, $126 = 0; + var $127 = 0, $128 = 0.0, $129 = 0.0, $13 = 0.0, $130 = 0, $131 = 0.0, $132 = 0.0, $133 = 0.0, $134 = 0.0, $135 = 0.0, $14 = 0.0, $15 = 0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $2 = 0, $20 = 0, $21 = 0, $22 = 0; + var $23 = 0, $24 = 0, $25 = 0.0, $26 = 0.0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0.0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0.0, $36 = 0, $37 = 0.0, $38 = 0.0, $39 = 0.0, $4 = 0, $40 = 0; + var $41 = 0, $42 = 0, $43 = 0.0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0.0, $53 = 0, $54 = 0.0, $55 = 0.0, $56 = 0.0, $57 = 0, $58 = 0, $59 = 0; + var $6 = 0, $60 = 0.0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0.0, $66 = 0, $67 = 0, $68 = 0, $69 = 0.0, $7 = 0, $70 = 0.0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0.0, $77 = 0.0; + var $78 = 0, $79 = 0, $8 = 0.0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0.0, $86 = 0.0, $87 = 0, $88 = 0, $89 = 0.0, $9 = 0, $90 = 0.0, $91 = 0.0, $92 = 0.0, $93 = 0, $94 = 0, $95 = 0.0; + var $96 = 0, $97 = 0, $98 = 0.0, $99 = 0.0, $storemerge106 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 8|0); + $2 = HEAP32[$1>>2]|0; + $3 = ($2|0)==(0|0); + if (!($3)) { + $4 = ((($0)) + 12|0); + $5 = HEAP32[$4>>2]|0; + $6 = ($5|0)==(0|0); + if (!($6)) { + $7 = ((($0)) + 20|0); + $8 = +HEAPF32[$7>>2]; + $9 = $8 < 0.0; + if (!($9)) { + $20 = ((($5)) + 24|0); + $21 = HEAP32[$20>>2]|0; + $22 = ($21|0)==(0); + if ($22) { + $$1 = 0.0; + return (+$$1); + } + $23 = (~~(($8))>>>0); + $24 = (($23) + 1)|0; + $25 = (+($23>>>0)); + $26 = $8 - $25; + $27 = ((($5)) + 72|0); + $28 = HEAP32[$27>>2]|0; + $29 = (($28) + ($23<<2)|0); + $30 = +HEAPF32[$29>>2]; + $31 = ((($5)) + 48|0); + $32 = HEAP32[$31>>2]|0; + L8: do { + switch ($32|0) { + case 0: { + $33 = ($24>>>0)<($21>>>0); + if ($33) { + $34 = (($28) + ($24<<2)|0); + $35 = +HEAPF32[$34>>2]; + $135 = $35; + } else { + $135 = 0.0; + } + $36 = ((($0)) + 32|0); + $37 = +HEAPF32[$36>>2]; + $38 = +HEAPF32[$7>>2]; + $39 = $37 + $38; + HEAPF32[$7>>2] = $39; + $40 = HEAP32[$4>>2]|0; + $41 = ((($40)) + 24|0); + $42 = HEAP32[$41>>2]|0; + $43 = (+($42>>>0)); + $44 = !($39 >= $43); + if ($44) { + $$0100 = $30;$$0101 = $135; + } else { + HEAPF32[$7>>2] = -1.0; + $$0100 = $30;$$0101 = $135; + } + break; + } + case 1: { + $45 = ((($5)) + 36|0); + $46 = HEAP32[$45>>2]|0; + $47 = ($24|0)==($46|0); + if ($47) { + $48 = ((($5)) + 28|0); + $49 = HEAP32[$48>>2]|0; + $51 = $49; + } else { + $51 = $24; + } + $50 = (($28) + ($51<<2)|0); + $52 = +HEAPF32[$50>>2]; + $53 = ((($0)) + 32|0); + $54 = +HEAPF32[$53>>2]; + $55 = +HEAPF32[$7>>2]; + $56 = $54 + $55; + HEAPF32[$7>>2] = $56; + $57 = HEAP32[$4>>2]|0; + $58 = ((($57)) + 36|0); + $59 = HEAP32[$58>>2]|0; + $60 = (+($59>>>0)); + $61 = !($56 >= $60); + if ($61) { + $$0100 = $30;$$0101 = $52; + } else { + $62 = HEAP32[$4>>2]|0; + $63 = ((($62)) + 36|0); + $64 = HEAP32[$63>>2]|0; + $65 = (+($64>>>0)); + $67 = $57;$storemerge106 = $56; + while(1) { + $66 = ((($67)) + 32|0); + $68 = HEAP32[$66>>2]|0; + $69 = (+($68>>>0)); + $70 = $storemerge106 - $69; + $71 = !($70 >= $65); + if ($71) { + break; + } else { + $67 = $62;$storemerge106 = $70; + } + } + HEAPF32[$7>>2] = $70; + $$0100 = $30;$$0101 = $52; + } + break; + } + case 2: { + $72 = ((($0)) + 36|0); + $73 = HEAP32[$72>>2]|0; + $74 = ($73|0)!=(0); + $75 = ((($0)) + 32|0); + $76 = +HEAPF32[$75>>2]; + $77 = -$76; + $$sink$p = $74 ? $76 : $77; + $$sink = $8 + $$sink$p; + HEAPF32[$7>>2] = $$sink; + if ($74) { + $78 = HEAP32[$4>>2]|0; + $79 = ((($78)) + 36|0); + $80 = HEAP32[$79>>2]|0; + $81 = ($24>>>0)>=($80>>>0); + $82 = ((($78)) + 72|0); + $83 = HEAP32[$82>>2]|0; + $$sink2 = $81 ? $23 : $24; + $84 = (($83) + ($$sink2<<2)|0); + $85 = +HEAPF32[$84>>2]; + $86 = (+($80>>>0)); + $87 = !($$sink >= $86); + if (!($87)) { + $88 = $80 << 1; + $89 = (+($88>>>0)); + HEAP32[$72>>2] = 0; + $90 = +HEAPF32[$7>>2]; + $91 = $89 - $90; + HEAPF32[$7>>2] = $91; + } + $92 = +HEAPF32[$7>>2]; + $93 = ((($78)) + 24|0); + $94 = HEAP32[$93>>2]|0; + $95 = (+($94>>>0)); + $96 = !($92 >= $95); + if ($96) { + $$0100 = $30;$$0101 = $85; + break L8; + } + $97 = (($94) + -1)|0; + $98 = (+($97>>>0)); + $99 = $92 - $98; + HEAP32[$72>>2] = 0; + HEAPF32[$7>>2] = $99; + $$0100 = $30;$$0101 = $85; + break L8; + } + $100 = ($23|0)==(0); + if ($100) { + label = 24; + } else { + $101 = (($23) + -1)|0; + $102 = HEAP32[$4>>2]|0; + $103 = ((($102)) + 28|0); + $104 = HEAP32[$103>>2]|0; + $105 = ($101>>>0)>($104>>>0); + if ($105) { + $$sink103 = $101;$$sink105 = $102; + } else { + label = 24; + } + } + if ((label|0) == 24) { + $106 = HEAP32[$4>>2]|0; + $$sink103 = $23;$$sink105 = $106; + } + $107 = ((($$sink105)) + 72|0); + $108 = HEAP32[$107>>2]|0; + $109 = (($108) + ($$sink103<<2)|0); + $110 = +HEAPF32[$109>>2]; + $111 = +HEAPF32[$7>>2]; + $112 = HEAP32[$4>>2]|0; + $113 = ((($112)) + 28|0); + $114 = HEAP32[$113>>2]|0; + $115 = (+($114>>>0)); + $116 = !($111 <= $115); + $117 = $114 << 1; + $118 = (+($117>>>0)); + $119 = $118 - $111; + if ($116) { + $$pr = +HEAPF32[$7>>2]; + $121 = $$pr; + } else { + HEAP32[$72>>2] = 1; + HEAPF32[$7>>2] = $119; + $121 = $119; + } + $120 = !($121 <= 0.0); + if ($120) { + $$0100 = $110;$$0101 = $30; + } else { + HEAP32[$72>>2] = 1; + HEAPF32[$7>>2] = 0.0; + $$0100 = $110;$$0101 = $30; + } + break; + } + default: { + $$0100 = $30;$$0101 = 0.0; + } + } + } while(0); + $122 = $$0101 - $$0100; + $123 = $26 * $122; + $124 = $$0100 + $123; + $125 = ((($0)) + 164|0); + $126 = HEAP32[$125>>2]|0; + $127 = ($126>>>0)<(32); + if (!($127)) { + $$1 = $124; + return (+$$1); + } + $128 = (+($126>>>0)); + $129 = $128 * 0.03125; + $130 = (((($0)) + 168|0) + ($126<<2)|0); + $131 = +HEAPF32[$130>>2]; + $132 = $124 - $131; + $133 = $129 * $132; + $134 = $131 + $133; + $$1 = $134; + return (+$$1); + } + } + } + $10 = ((($0)) + 164|0); + $11 = HEAP32[$10>>2]|0; + $12 = ($11>>>0)<(32); + if (!($12)) { + $$1 = 0.0; + return (+$$1); + } + $13 = (+($11>>>0)); + $14 = $13 * 0.03125; + $15 = (((($0)) + 168|0) + ($11<<2)|0); + $16 = +HEAPF32[$15>>2]; + $17 = 0.0 - $16; + $18 = $14 * $17; + $19 = $16 + $18; + $$1 = $19; + return (+$$1); +} +function _jar_xm_row($0) { + $0 = $0|0; + var $$0$ = 0, $$06061 = 0, $$062 = 0, $$1 = 0, $$mask = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0; + var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0; + var $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0; + var $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0; + var $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0; + var $96 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 368|0); + $2 = HEAP32[$1>>2]|0; + $3 = ($2|0)==(0); + if ($3) { + $11 = ((($0)) + 372|0); + $12 = HEAP32[$11>>2]|0; + $13 = ($12|0)==(0); + if (!($13)) { + $14 = ((($0)) + 348|0); + $15 = HEAP8[$14>>0]|0; + $16 = (($15) + 1)<<24>>24; + HEAP8[$14>>0] = $16; + $17 = ((($0)) + 377|0); + $18 = HEAP8[$17>>0]|0; + $19 = ((($0)) + 349|0); + HEAP8[$19>>0] = $18; + HEAP32[$11>>2] = 0; + HEAP8[$17>>0] = 0; + _jar_xm_post_pattern_change($0); + } + } else { + $4 = ((($0)) + 376|0); + $5 = HEAP8[$4>>0]|0; + $6 = ((($0)) + 348|0); + HEAP8[$6>>0] = $5; + $7 = ((($0)) + 377|0); + $8 = HEAP8[$7>>0]|0; + $9 = ((($0)) + 349|0); + HEAP8[$9>>0] = $8; + HEAP32[$1>>2] = 0; + $10 = ((($0)) + 372|0); + HEAP32[$10>>2] = 0; + HEAP8[$7>>0] = 0; + _jar_xm_post_pattern_change($0); + } + $20 = ((($0)) + 316|0); + $21 = HEAP32[$20>>2]|0; + $22 = ((($0)) + 348|0); + $23 = HEAP8[$22>>0]|0; + $24 = $23&255; + $25 = (((($0)) + 60|0) + ($24)|0); + $26 = HEAP8[$25>>0]|0; + $27 = $26&255; + $28 = ((($0)) + 50|0); + $29 = HEAP16[$28>>1]|0; + $30 = ($29<<16>>16)==(0); + if ($30) { + label = 15; + } else { + $31 = $29&65535; + $32 = (((($21) + ($27<<3)|0)) + 4|0); + $33 = ((($0)) + 349|0); + $34 = ((($0)) + 388|0); + $$06061 = 0;$$062 = 0;$40 = $31;$43 = 0; + while(1) { + $36 = HEAP32[$32>>2]|0; + $37 = HEAP8[$33>>0]|0; + $38 = $37&255; + $39 = Math_imul($38, $40)|0; + $41 = (($36) + (($39*5)|0)|0); + $42 = (($41) + (($43*5)|0)|0); + $44 = HEAP32[$34>>2]|0; + $45 = (($44) + (($43*304)|0)|0); + $46 = (((($44) + (($43*304)|0)|0)) + 16|0); + HEAP32[$46>>2] = $42; + $47 = ((($42)) + 3|0); + $48 = HEAP8[$47>>0]|0; + $49 = ($48<<24>>24)==(14); + if ($49) { + $50 = ((($42)) + 4|0); + $51 = HEAP8[$50>>0]|0; + $52 = $51&255; + $$mask = $52 & 240; + $53 = ($$mask|0)==(208); + if ($53) { + $54 = $52 & 15; + $55 = $54&255; + $56 = (((($44) + (($43*304)|0)|0)) + 97|0); + HEAP8[$56>>0] = $55; + } else { + label = 10; + } + } else { + label = 10; + } + if ((label|0) == 10) { + label = 0; + _jar_xm_handle_note_and_instrument($0,$45,$42); + } + $57 = ($$062|0)==(0); + if ($57) { + $58 = (((($44) + (($43*304)|0)|0)) + 99|0); + $59 = HEAP8[$58>>0]|0; + $60 = ($59<<24>>24)==(0); + $$0$ = $60 ? $$062 : 1; + $$1 = $$0$; + } else { + $$1 = $$062; + } + $61 = (($$06061) + 1)<<24>>24; + $62 = $61&255; + $63 = HEAP16[$28>>1]|0; + $64 = $63&65535; + $65 = ($62>>>0)<($64>>>0); + if ($65) { + $$06061 = $61;$$062 = $$1;$40 = $64;$43 = $62; + } else { + break; + } + } + $35 = ($$1|0)==(0); + if ($35) { + label = 15; + } + } + if ((label|0) == 15) { + $66 = ((($0)) + 380|0); + $67 = HEAP32[$66>>2]|0; + $68 = HEAP8[$22>>0]|0; + $69 = $68&255; + $70 = $69 << 8; + $71 = ((($0)) + 349|0); + $72 = HEAP8[$71>>0]|0; + $73 = $72&255; + $74 = $70 | $73; + $75 = (($67) + ($74)|0); + $76 = HEAP8[$75>>0]|0; + $77 = (($76) + 1)<<24>>24; + HEAP8[$75>>0] = $77; + $78 = ((($0)) + 384|0); + HEAP8[$78>>0] = $76; + } + $79 = ((($0)) + 349|0); + $80 = HEAP8[$79>>0]|0; + $81 = (($80) + 1)<<24>>24; + HEAP8[$79>>0] = $81; + $82 = HEAP32[$1>>2]|0; + $83 = ($82|0)==(0); + if (!($83)) { + return; + } + $84 = ((($0)) + 372|0); + $85 = HEAP32[$84>>2]|0; + $86 = ($85|0)==(0); + if (!($86)) { + return; + } + $87 = $81&255; + $88 = (($21) + ($27<<3)|0); + $89 = HEAP16[$88>>1]|0; + $90 = $89&65535; + $91 = ($87>>>0)>=($90>>>0); + $92 = ($81<<24>>24)==(0); + $or$cond = $92 | $91; + if (!($or$cond)) { + return; + } + $93 = HEAP8[$22>>0]|0; + $94 = (($93) + 1)<<24>>24; + HEAP8[$22>>0] = $94; + $95 = ((($0)) + 377|0); + $96 = HEAP8[$95>>0]|0; + HEAP8[$79>>0] = $96; + HEAP8[$95>>0] = 0; + _jar_xm_post_pattern_change($0); + return; +} +function _jar_xm_envelopes($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0.0, $13 = 0.0, $14 = 0, $15 = 0.0, $16 = 0.0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; + var $28 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 8|0); + $2 = HEAP32[$1>>2]|0; + $3 = ($2|0)==(0|0); + if ($3) { + return; + } + $4 = ((($2)) + 176|0); + $5 = HEAP32[$4>>2]|0; + $6 = ($5|0)==(0); + if (!($6)) { + $7 = ((($0)) + 52|0); + $8 = HEAP32[$7>>2]|0; + $9 = ($8|0)==(0); + if ($9) { + $10 = ((($2)) + 260|0); + $11 = HEAP16[$10>>1]|0; + $12 = (+($11&65535)); + $13 = $12 * 1.52587890625E-5; + $14 = ((($0)) + 56|0); + $15 = +HEAPF32[$14>>2]; + $16 = $15 - $13; + HEAPF32[$14>>2] = $16; + $17 = $16 < 0.0; + if ($17) { + HEAPF32[$14>>2] = 0.0; + } + } + $18 = HEAP32[$1>>2]|0; + $19 = ((($18)) + 124|0); + $20 = ((($0)) + 68|0); + $21 = ((($0)) + 60|0); + _jar_xm_envelope_tick($0,$19,$20,$21); + } + $22 = HEAP32[$1>>2]|0; + $23 = ((($22)) + 240|0); + $24 = HEAP32[$23>>2]|0; + $25 = ($24|0)==(0); + if ($25) { + return; + } + $26 = ((($22)) + 188|0); + $27 = ((($0)) + 70|0); + $28 = ((($0)) + 64|0); + _jar_xm_envelope_tick($0,$26,$27,$28); + return; +} +function _jar_xm_autovibrato($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$ = 0.0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; + var $28 = 0.0, $29 = 0.0, $3 = 0, $30 = 0, $31 = 0.0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($1)) + 8|0); + $3 = HEAP32[$2>>2]|0; + $4 = ($3|0)==(0|0); + if ($4) { + return; + } + $5 = ((($3)) + 257|0); + $6 = HEAP8[$5>>0]|0; + $7 = ($6<<24>>24)==(0); + if ($7) { + return; + } + $8 = ((($1)) + 48|0); + $9 = HEAP16[$8>>1]|0; + $10 = $9&65535; + $11 = ((($3)) + 256|0); + $12 = HEAP8[$11>>0]|0; + $13 = $12&255; + $14 = ($10>>>0)<($13>>>0); + $15 = (+($9&65535)); + $16 = (+($12&255)); + $17 = $15 / $16; + $18 = $17 + 0.0; + $$ = $14 ? $18 : 1.0; + $19 = (($9) + 1)<<16>>16; + HEAP16[$8>>1] = $19; + $20 = ((($3)) + 258|0); + $21 = HEAP8[$20>>0]|0; + $22 = $21&255; + $23 = Math_imul($22, $10)|0; + $24 = $23 >>> 2; + $25 = ((($3)) + 252|0); + $26 = HEAP32[$25>>2]|0; + $27 = $24&255; + $28 = (+_jar_xm_waveform($26,$27)); + $29 = $28 * 0.25; + $30 = HEAP8[$5>>0]|0; + $31 = (+($30&255)); + $32 = $29 * $31; + $33 = $32 / 15.0; + $34 = $$ * $33; + $35 = ((($1)) + 72|0); + HEAPF32[$35>>2] = $34; + _jar_xm_update_frequency($0,$1); + return; +} +function _jar_xm_update_frequency($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0, $18 = 0.0, $19 = 0.0, $2 = 0, $20 = 0, $3 = 0.0, $4 = 0, $5 = 0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0; + var sp = 0; + sp = STACKTOP; + $2 = ((($1)) + 24|0); + $3 = +HEAPF32[$2>>2]; + $4 = ((($1)) + 80|0); + $5 = HEAP8[$4>>0]|0; + $6 = ($5<<24>>24)==(0); + if ($6) { + $8 = ((($1)) + 116|0); + $9 = +HEAPF32[$8>>2]; + $10 = ((($1)) + 72|0); + $11 = +HEAPF32[$10>>2]; + $12 = $9 + $11; + $13 = $12; + } else { + $7 = (+($5&255)); + $13 = $7; + } + $14 = (+_jar_xm_frequency($0,$3,$13)); + $15 = ((($1)) + 28|0); + HEAPF32[$15>>2] = $14; + $16 = ((($0)) + 324|0); + $17 = HEAP32[$16>>2]|0; + $18 = (+($17>>>0)); + $19 = $14 / $18; + $20 = ((($1)) + 32|0); + HEAPF32[$20>>2] = $19; + return; +} +function _jar_xm_volume_slide($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$not = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = $1&255; + $3 = $2 & 240; + $4 = ($3|0)!=(0); + $$not = $4 ^ 1; + $5 = $2 & 15; + $6 = ($5|0)==(0); + $or$cond = $6 | $$not; + if (!($or$cond)) { + return; + } + $7 = ((($0)) + 40|0); + $8 = +HEAPF32[$7>>2]; + if ($4) { + $9 = $2 >>> 4; + $10 = (+($9|0)); + $11 = $10 * 0.015625; + $12 = $11 + $8; + HEAPF32[$7>>2] = $12; + $13 = $12 > 1.0; + if (!($13)) { + return; + } + HEAPF32[$7>>2] = 1.0; + return; + } else { + $14 = (+($5|0)); + $15 = $14 * 0.015625; + $16 = $8 - $15; + HEAPF32[$7>>2] = $16; + $17 = $16 < 0.0; + if (!($17)) { + return; + } + HEAPF32[$7>>2] = 0.0; + return; + } +} +function _jar_xm_vibrato($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $10 = 0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $4 = $3&65535; + $5 = $2&255; + $6 = $5 >>> 4; + $7 = Math_imul($4, $6)|0; + $8 = ((($1)) + 104|0); + $9 = HEAP32[$8>>2]|0; + $10 = $7&255; + $11 = (+_jar_xm_waveform($9,$10)); + $12 = $11 * 2.0; + $13 = $5 & 15; + $14 = (+($13|0)); + $15 = $14 * $12; + $16 = $15 / 15.0; + $17 = ((($1)) + 116|0); + HEAPF32[$17>>2] = $16; + _jar_xm_update_frequency($0,$1); + return; +} +function _jar_xm_panning_slide($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$not = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = $1&255; + $3 = $2 & 240; + $4 = ($3|0)!=(0); + $$not = $4 ^ 1; + $5 = $2 & 15; + $6 = ($5|0)==(0); + $or$cond = $6 | $$not; + if (!($or$cond)) { + return; + } + $7 = ((($0)) + 44|0); + $8 = +HEAPF32[$7>>2]; + if ($4) { + $9 = $2 >>> 4; + $10 = (+($9|0)); + $11 = $10 / 255.0; + $12 = $11 + $8; + HEAPF32[$7>>2] = $12; + $13 = $12 > 1.0; + if (!($13)) { + return; + } + HEAPF32[$7>>2] = 1.0; + return; + } else { + $14 = (+($5|0)); + $15 = $14 / 255.0; + $16 = $8 - $15; + HEAPF32[$7>>2] = $16; + $17 = $16 < 0.0; + if (!($17)) { + return; + } + HEAPF32[$7>>2] = 0.0; + return; + } +} +function _jar_xm_tone_portamento($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0.0, $24 = 0, $25 = 0, $26 = 0.0, $27 = 0.0, $28 = 0.0; + var $29 = 0, $3 = 0.0, $4 = 0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($1)) + 92|0); + $3 = +HEAPF32[$2>>2]; + $4 = $3 == 0.0; + if ($4) { + return; + } + $5 = ((($1)) + 24|0); + $6 = +HEAPF32[$5>>2]; + $7 = $6 != $3; + if (!($7)) { + return; + } + $8 = $6 > $3; + if ($8) { + $9 = ((($0)) + 56|0); + $10 = HEAP32[$9>>2]|0; + $11 = ($10|0)==(0); + $12 = $11 ? 4.0 : 1.0; + $13 = ((($1)) + 91|0); + $14 = HEAP8[$13>>0]|0; + $15 = (+($14&255)); + $16 = $12 * $15; + $17 = $6 - $16; + HEAPF32[$5>>2] = $17; + $18 = $17 < $3; + if ($18) { + HEAPF32[$5>>2] = $3; + } + } else { + $19 = $6 < $3; + if ($19) { + $20 = ((($0)) + 56|0); + $21 = HEAP32[$20>>2]|0; + $22 = ($21|0)==(0); + $23 = $22 ? 4.0 : 1.0; + $24 = ((($1)) + 91|0); + $25 = HEAP8[$24>>0]|0; + $26 = (+($25&255)); + $27 = $23 * $26; + $28 = $6 + $27; + HEAPF32[$5>>2] = $28; + $29 = $28 > $3; + if ($29) { + HEAPF32[$5>>2] = $3; + } + } + } + _jar_xm_update_frequency($0,$1); + return; +} +function _jar_xm_arpeggio($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$sink = 0, $10 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $trunc = 0, $trunc$clear = 0, label = 0, sp = 0; + sp = STACKTOP; + $4 = (($3&65535) % 3)&-1; + $trunc = $4&255; + $trunc$clear = $trunc & 3; + switch ($trunc$clear<<24>>24) { + case 0: { + $5 = ((($1)) + 76|0); + HEAP32[$5>>2] = 0; + $$sink = 0; + break; + } + case 2: { + $6 = ((($1)) + 76|0); + HEAP32[$6>>2] = 1; + $7 = ($2&255) >>> 4; + $$sink = $7; + break; + } + case 1: { + $8 = ((($1)) + 76|0); + HEAP32[$8>>2] = 1; + $9 = $2 & 15; + $$sink = $9; + break; + } + default: { + _jar_xm_update_frequency($0,$1); + return; + } + } + $10 = ((($1)) + 80|0); + HEAP8[$10>>0] = $$sink; + _jar_xm_update_frequency($0,$1); + return; +} +function _jar_xm_pitch_slide($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = +$2; + var $$ = 0.0, $10 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, $storemerge = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ((($0)) + 56|0); + $4 = HEAP32[$3>>2]|0; + $5 = ($4|0)==(0); + $6 = $2 * 4.0; + $$ = $5 ? $6 : $2; + $7 = ((($1)) + 24|0); + $8 = +HEAPF32[$7>>2]; + $9 = $8 + $$; + $10 = $9 < 0.0; + $storemerge = $10 ? 0.0 : $9; + HEAPF32[$7>>2] = $storemerge; + _jar_xm_update_frequency($0,$1); + return; +} +function _jar_xm_tremolo($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = $2&65535; + $4 = $1&255; + $5 = $4 >>> 4; + $6 = Math_imul($3, $5)|0; + $7 = ((($0)) + 120|0); + $8 = HEAP32[$7>>2]|0; + $9 = $6&255; + $10 = (+_jar_xm_waveform($8,$9)); + $11 = $4 & 15; + $12 = (+($11|0)); + $13 = $12 * $10; + $14 = -$13; + $15 = $14 / 15.0; + $16 = ((($0)) + 132|0); + HEAPF32[$16>>2] = $15; + return; +} +function _jar_xm_trigger_note($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0.0, $39 = 0.0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0; + var $66 = 0, $67 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = $2 & 4; + $4 = ($3|0)==(0); + if ($4) { + $5 = ((($1)) + 20|0); + HEAPF32[$5>>2] = 0.0; + $6 = ((($1)) + 36|0); + HEAP32[$6>>2] = 1; + } + $7 = ((($1)) + 12|0); + $8 = HEAP32[$7>>2]|0; + $9 = ($8|0)==(0|0); + if (!($9)) { + $10 = $2 & 1; + $11 = ($10|0)==(0); + if ($11) { + $12 = ((($8)) + 40|0); + $13 = HEAP32[$12>>2]|0; + $14 = ((($1)) + 40|0); + HEAP32[$14>>2] = $13; + } + $15 = ((($8)) + 52|0); + $16 = HEAP32[$15>>2]|0; + $17 = ((($1)) + 44|0); + HEAP32[$17>>2] = $16; + } + $18 = ((($1)) + 52|0); + HEAP32[$18>>2] = 1; + $19 = ((($1)) + 60|0); + HEAPF32[$19>>2] = 1.0; + $20 = ((($1)) + 56|0); + HEAPF32[$20>>2] = 1.0; + $21 = ((($1)) + 64|0); + HEAPF32[$21>>2] = 0.5; + $22 = ((($1)) + 70|0); + HEAP16[$22>>1] = 0; + $23 = ((($1)) + 68|0); + HEAP16[$23>>1] = 0; + $24 = ((($1)) + 116|0); + HEAPF32[$24>>2] = 0.0; + $25 = ((($1)) + 132|0); + HEAPF32[$25>>2] = 0.0; + $26 = ((($1)) + 140|0); + HEAP32[$26>>2] = 0; + $27 = ((($1)) + 48|0); + HEAP16[$27>>1] = 0; + $28 = ((($1)) + 108|0); + $29 = HEAP32[$28>>2]|0; + $30 = ($29|0)==(0); + if (!($30)) { + $31 = ((($1)) + 114|0); + HEAP16[$31>>1] = 0; + } + $32 = ((($1)) + 124|0); + $33 = HEAP32[$32>>2]|0; + $34 = ($33|0)==(0); + if (!($34)) { + $35 = ((($1)) + 129|0); + HEAP8[$35>>0] = 0; + } + $36 = $2 & 2; + $37 = ($36|0)==(0); + if ($37) { + $38 = +HEAPF32[$1>>2]; + $39 = (+_jar_xm_period($0,$38)); + $40 = ((($1)) + 24|0); + HEAPF32[$40>>2] = $39; + _jar_xm_update_frequency($0,$1); + } + $41 = ((($0)) + 360|0); + $42 = $41; + $43 = $42; + $44 = HEAP32[$43>>2]|0; + $45 = (($42) + 4)|0; + $46 = $45; + $47 = HEAP32[$46>>2]|0; + $48 = ((($1)) + 144|0); + $49 = $48; + $50 = $49; + HEAP32[$50>>2] = $44; + $51 = (($49) + 4)|0; + $52 = $51; + HEAP32[$52>>2] = $47; + $53 = ((($1)) + 8|0); + $54 = HEAP32[$53>>2]|0; + $55 = ($54|0)==(0|0); + if (!($55)) { + $56 = ((($54)) + 264|0); + $57 = $56; + $58 = $57; + HEAP32[$58>>2] = $44; + $59 = (($57) + 4)|0; + $60 = $59; + HEAP32[$60>>2] = $47; + } + $61 = HEAP32[$7>>2]|0; + $62 = ($61|0)==(0|0); + if ($62) { + return; + } + $63 = ((($61)) + 64|0); + $64 = $63; + $65 = $64; + HEAP32[$65>>2] = $44; + $66 = (($64) + 4)|0; + $67 = $66; + HEAP32[$67>>2] = $47; + return; +} +function _jar_xm_cut_note($0) { + $0 = $0|0; + var $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 40|0); + HEAPF32[$1>>2] = 0.0; + return; +} +function _jar_xm_handle_note_and_instrument($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$0275 = 0, $$lobit = 0, $$lobit262 = 0, $$mask = 0, $$mask265 = 0, $$mask266 = 0, $$off = 0, $$off273 = 0, $$off274 = 0, $$old1 = 0, $$sink = 0, $10 = 0, $100 = 0.0, $101 = 0.0, $102 = 0.0, $103 = 0, $104 = 0, $105 = 0, $106 = 0.0, $107 = 0; + var $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0.0, $116 = 0.0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0; + var $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0.0, $133 = 0.0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0; + var $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0; + var $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0; + var $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0; + var $199 = 0, $20 = 0, $200 = 0, $201 = 0.0, $202 = 0.0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0; + var $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0.0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0; + var $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0.0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0; + var $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0.0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0.0, $27 = 0, $270 = 0; + var $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0.0, $288 = 0, $289 = 0; + var $29 = 0, $290 = 0, $291 = 0.0, $292 = 0.0, $293 = 0.0, $294 = 0.0, $295 = 0.0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0; + var $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0; + var $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0; + var $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0; + var $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0.0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0; + var $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0; + var $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0.0, $411 = 0.0, $412 = 0, $413 = 0, $414 = 0; + var $415 = 0, $416 = 0, $417 = 0, $418 = 0.0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0; + var $57 = 0.0, $58 = 0, $59 = 0, $6 = 0, $60 = 0.0, $61 = 0.0, $62 = 0.0, $63 = 0.0, $64 = 0.0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0; + var $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0; + var $93 = 0, $94 = 0, $95 = 0, $96 = 0.0, $97 = 0, $98 = 0, $99 = 0.0, $exitcond = 0, $or$cond = 0, $phitmp = 0.0, $phitmp260 = 0.0, $phitmp263 = 0.0, $phitmp264 = 0.0, $trunc = 0, $trunc$clear = 0, $trunc259 = 0, $trunc259$clear = 0, $trunc261 = 0, $trunc261$clear = 0, label = 0; + var sp = 0; + sp = STACKTOP; + $3 = ((($2)) + 1|0); + $4 = HEAP8[$3>>0]|0; + $5 = ($4<<24>>24)==(0); + do { + if (!($5)) { + $6 = ((($1)) + 16|0); + $7 = HEAP32[$6>>2]|0; + $8 = ((($7)) + 3|0); + $9 = HEAP8[$8>>0]|0; + switch ($9<<24>>24) { + case 5: case 3: { + label = 4; + break; + } + default: { + $10 = ((($7)) + 2|0); + $11 = HEAP8[$10>>0]|0; + $12 = ($11&255)>(239); + if ($12) { + label = 4; + } + } + } + if ((label|0) == 4) { + $13 = ((($1)) + 8|0); + $14 = HEAP32[$13>>2]|0; + $15 = ($14|0)==(0|0); + if (!($15)) { + $16 = ((($1)) + 12|0); + $17 = HEAP32[$16>>2]|0; + $18 = ($17|0)==(0|0); + if (!($18)) { + _jar_xm_trigger_note($0,$1,6); + break; + } + } + } + $19 = HEAP8[$3>>0]|0; + $20 = $19&255; + $21 = ((($0)) + 54|0); + $22 = HEAP16[$21>>1]|0; + $23 = $22&65535; + $24 = ($20>>>0)>($23>>>0); + if ($24) { + _jar_xm_cut_note($1); + $25 = ((($1)) + 8|0); + HEAP32[$25>>2] = 0; + $26 = ((($1)) + 12|0); + HEAP32[$26>>2] = 0; + break; + } + $27 = ((($0)) + 320|0); + $28 = HEAP32[$27>>2]|0; + $29 = (($20) + -1)|0; + $30 = (($28) + (($29*280)|0)|0); + $31 = ((($1)) + 8|0); + HEAP32[$31>>2] = $30; + $32 = HEAP8[$2>>0]|0; + $33 = ($32<<24>>24)==(0); + if ($33) { + $34 = ((($1)) + 12|0); + $35 = HEAP32[$34>>2]|0; + $36 = ($35|0)==(0|0); + if (!($36)) { + _jar_xm_trigger_note($0,$1,4); + } + } + } + } while(0); + $37 = HEAP8[$2>>0]|0; + $$off = (($37) + -1)<<24>>24; + $38 = ($$off&255)<(96); + do { + if ($38) { + $39 = ((($1)) + 8|0); + $40 = HEAP32[$39>>2]|0; + $41 = ((($1)) + 16|0); + $42 = HEAP32[$41>>2]|0; + $43 = ((($42)) + 3|0); + $44 = HEAP8[$43>>0]|0; + $$old1 = ($40|0)!=(0|0); + switch ($44<<24>>24) { + case 5: case 3: { + if ($$old1) { + label = 16; + } + break; + } + default: { + $45 = ((($42)) + 2|0); + $46 = HEAP8[$45>>0]|0; + $47 = ($46&255)>(239); + $or$cond = $$old1 & $47; + if ($or$cond) { + label = 16; + } else { + $66 = ($40|0)==(0|0); + if (!($66)) { + label = 19; + } + } + } + } + if ((label|0) == 16) { + $48 = ((($1)) + 12|0); + $49 = HEAP32[$48>>2]|0; + $50 = ($49|0)==(0|0); + if ($50) { + label = 19; + } else { + $51 = HEAP8[$2>>0]|0; + $52 = $51&255; + $53 = ((($49)) + 56|0); + $54 = HEAP8[$53>>0]|0; + $55 = $54 << 24 >> 24; + $56 = (($55) + ($52))|0; + $57 = (+($56|0)); + $58 = ((($49)) + 44|0); + $59 = HEAP8[$58>>0]|0; + $60 = (+($59<<24>>24)); + $61 = $60 * 0.0078125; + $62 = $57 + $61; + $63 = $62 + -1.0; + HEAPF32[$1>>2] = $63; + $64 = (+_jar_xm_period($0,$63)); + $65 = ((($1)) + 92|0); + HEAPF32[$65>>2] = $64; + break; + } + } + if ((label|0) == 19) { + $67 = HEAP32[$39>>2]|0; + $68 = ((($67)) + 24|0); + $69 = HEAP16[$68>>1]|0; + $70 = ($69<<16>>16)==(0); + if (!($70)) { + $71 = HEAP8[$2>>0]|0; + $72 = $71&255; + $73 = (($72) + -1)|0; + $74 = (((($40)) + 26|0) + ($73)|0); + $75 = HEAP8[$74>>0]|0; + $76 = $75&255; + $77 = ((($40)) + 24|0); + $78 = HEAP16[$77>>1]|0; + $79 = $78&65535; + $80 = ($76>>>0)<($79>>>0); + if ($80) { + $$0275 = 0; + } else { + _jar_xm_cut_note($1); + break; + } + while(1) { + $106 = (+_jar_xm_next_of_sample($1)); + $107 = (((($1)) + 168|0) + ($$0275<<2)|0); + HEAPF32[$107>>2] = $106; + $108 = (($$0275) + 1)|0; + $exitcond = ($108|0)==(32); + if ($exitcond) { + break; + } else { + $$0275 = $108; + } + } + $81 = ((($1)) + 164|0); + HEAP32[$81>>2] = 0; + $82 = ((($40)) + 276|0); + $83 = HEAP32[$82>>2]|0; + $84 = HEAP8[$2>>0]|0; + $85 = $84&255; + $86 = (($85) + -1)|0; + $87 = (((($40)) + 26|0) + ($86)|0); + $88 = HEAP8[$87>>0]|0; + $89 = $88&255; + $90 = (($83) + (($89*80)|0)|0); + $91 = ((($1)) + 12|0); + HEAP32[$91>>2] = $90; + $92 = (((($83) + (($89*80)|0)|0)) + 56|0); + $93 = HEAP8[$92>>0]|0; + $94 = $93 << 24 >> 24; + $95 = (($94) + ($85))|0; + $96 = (+($95|0)); + $97 = (((($83) + (($89*80)|0)|0)) + 44|0); + $98 = HEAP8[$97>>0]|0; + $99 = (+($98<<24>>24)); + $100 = $99 * 0.0078125; + $101 = $96 + $100; + $102 = $101 + -1.0; + HEAPF32[$1>>2] = $102; + $103 = ((($1)) + 4|0); + HEAPF32[$103>>2] = $102; + $104 = HEAP8[$3>>0]|0; + $105 = ($104<<24>>24)==(0); + if ($105) { + _jar_xm_trigger_note($0,$1,1); + break; + } else { + _jar_xm_trigger_note($0,$1,0); + break; + } + } + } + _jar_xm_cut_note($1); + } else { + $109 = ($37<<24>>24)==(97); + if ($109) { + _jar_xm_key_off($1); + } + } + } while(0); + $110 = ((($2)) + 2|0); + $111 = HEAP8[$110>>0]|0; + $112 = $111&255; + $trunc = ($111&255) >>> 4; + $trunc$clear = $trunc & 15; + switch ($trunc$clear<<24>>24) { + case 5: { + $113 = ($111&255)>(80); + if (!($113)) { + label = 31; + } + break; + } + case 4: case 3: case 2: case 1: { + label = 31; + break; + } + case 8: { + $118 = $112 & 15; + $119 = $118&255; + _jar_xm_volume_slide($1,$119); + break; + } + case 9: { + $120 = $112 << 4; + $121 = $120&255; + _jar_xm_volume_slide($1,$121); + break; + } + case 10: { + $122 = ((($1)) + 112|0); + $123 = HEAP8[$122>>0]|0; + $124 = $123 & 15; + $125 = $124&255; + $126 = $112 << 4; + $127 = $125 | $126; + $128 = $127&255; + HEAP8[$122>>0] = $128; + break; + } + case 12: { + $129 = $112 & 15; + $130 = $129 << 4; + $131 = $130 | $129; + $132 = (+($131|0)); + $133 = $132 / 255.0; + $134 = ((($1)) + 44|0); + HEAPF32[$134>>2] = $133; + break; + } + case 15: { + $135 = $112 & 15; + $136 = ($135|0)==(0); + if (!($136)) { + $137 = ((($1)) + 91|0); + $138 = $112 << 4; + $139 = $138 | $135; + $140 = $139&255; + HEAP8[$137>>0] = $140; + } + break; + } + default: { + } + } + if ((label|0) == 31) { + $114 = (($112) + -16)|0; + $115 = (+($114|0)); + $116 = $115 * 0.015625; + $117 = ((($1)) + 40|0); + HEAPF32[$117>>2] = $116; + } + $141 = ((($2)) + 3|0); + $142 = HEAP8[$141>>0]|0; + do { + switch ($142<<24>>24) { + case 1: { + $143 = ((($2)) + 4|0); + $144 = HEAP8[$143>>0]|0; + $145 = ($144<<24>>24)==(0); + if ($145) { + return; + } + $146 = ((($1)) + 85|0); + HEAP8[$146>>0] = $144; + return; + break; + } + case 2: { + $147 = ((($2)) + 4|0); + $148 = HEAP8[$147>>0]|0; + $149 = ($148<<24>>24)==(0); + if ($149) { + return; + } + $150 = ((($1)) + 86|0); + HEAP8[$150>>0] = $148; + return; + break; + } + case 3: { + $151 = ((($2)) + 4|0); + $152 = HEAP8[$151>>0]|0; + $153 = ($152<<24>>24)==(0); + if ($153) { + return; + } + $154 = ((($1)) + 91|0); + HEAP8[$154>>0] = $152; + return; + break; + } + case 4: { + $155 = ((($2)) + 4|0); + $156 = HEAP8[$155>>0]|0; + $157 = $156&255; + $158 = $157 & 15; + $159 = ($158|0)==(0); + if (!($159)) { + $160 = ((($1)) + 112|0); + $161 = HEAP8[$160>>0]|0; + $162 = $161 & -16; + $163 = $162&255; + $164 = $163 | $158; + $165 = $164&255; + HEAP8[$160>>0] = $165; + } + $$mask266 = $157 & 240; + $166 = ($$mask266|0)==(0); + if ($166) { + return; + } + $167 = ((($1)) + 112|0); + $168 = HEAP8[$167>>0]|0; + $169 = $168 & 15; + $170 = $169&255; + $171 = $170 | $$mask266; + $172 = $171&255; + HEAP8[$167>>0] = $172; + return; + break; + } + case 5: { + $173 = ((($2)) + 4|0); + $174 = HEAP8[$173>>0]|0; + $175 = ($174<<24>>24)==(0); + if ($175) { + return; + } + $176 = ((($1)) + 81|0); + HEAP8[$176>>0] = $174; + return; + break; + } + case 6: { + $177 = ((($2)) + 4|0); + $178 = HEAP8[$177>>0]|0; + $179 = ($178<<24>>24)==(0); + if ($179) { + return; + } + $180 = ((($1)) + 81|0); + HEAP8[$180>>0] = $178; + return; + break; + } + case 7: { + $181 = ((($2)) + 4|0); + $182 = HEAP8[$181>>0]|0; + $183 = $182&255; + $184 = $183 & 15; + $185 = ($184|0)==(0); + if (!($185)) { + $186 = ((($1)) + 128|0); + $187 = HEAP8[$186>>0]|0; + $188 = $187 & -16; + $189 = $188&255; + $190 = $189 | $184; + $191 = $190&255; + HEAP8[$186>>0] = $191; + } + $$mask265 = $183 & 240; + $192 = ($$mask265|0)==(0); + if ($192) { + return; + } + $193 = ((($1)) + 128|0); + $194 = HEAP8[$193>>0]|0; + $195 = $194 & 15; + $196 = $195&255; + $197 = $196 | $$mask265; + $198 = $197&255; + HEAP8[$193>>0] = $198; + return; + break; + } + case 8: { + $199 = ((($2)) + 4|0); + $200 = HEAP8[$199>>0]|0; + $201 = (+($200&255)); + $202 = $201 / 255.0; + $203 = ((($1)) + 44|0); + HEAPF32[$203>>2] = $202; + return; + break; + } + case 9: { + $204 = ((($1)) + 12|0); + $205 = HEAP32[$204>>2]|0; + $206 = ($205|0)==(0|0); + if ($206) { + return; + } + $207 = HEAP8[$2>>0]|0; + $$off274 = (($207) + -1)<<24>>24; + $208 = ($$off274&255)<(96); + if (!($208)) { + return; + } + $209 = ((($2)) + 4|0); + $210 = HEAP8[$209>>0]|0; + $211 = $210&255; + $212 = ((($205)) + 23|0); + $213 = HEAP8[$212>>0]|0; + $214 = ($213<<24>>24)==(16); + $215 = $214 ? 7 : 8; + $216 = $211 << $215; + $217 = ((($205)) + 24|0); + $218 = HEAP32[$217>>2]|0; + $219 = ($216>>>0)<($218>>>0); + if ($219) { + $221 = (+($216>>>0)); + $222 = ((($1)) + 20|0); + HEAPF32[$222>>2] = $221; + return; + } else { + $220 = ((($1)) + 20|0); + HEAPF32[$220>>2] = -1.0; + return; + } + break; + } + case 10: { + $223 = ((($2)) + 4|0); + $224 = HEAP8[$223>>0]|0; + $225 = ($224<<24>>24)==(0); + if ($225) { + return; + } + $226 = ((($1)) + 81|0); + HEAP8[$226>>0] = $224; + return; + break; + } + case 11: { + $227 = ((($2)) + 4|0); + $228 = HEAP8[$227>>0]|0; + $229 = $228&255; + $230 = ((($0)) + 46|0); + $231 = HEAP16[$230>>1]|0; + $232 = $231&65535; + $233 = ($229>>>0)<($232>>>0); + if (!($233)) { + return; + } + $234 = ((($0)) + 368|0); + HEAP32[$234>>2] = 1; + $235 = ((($0)) + 376|0); + HEAP8[$235>>0] = $228; + return; + break; + } + case 12: { + $236 = ((($2)) + 4|0); + $237 = HEAP8[$236>>0]|0; + $238 = ($237&255)>(64); + $phitmp263 = (+($237&255)); + $phitmp264 = $phitmp263 * 0.015625; + $239 = $238 ? 1.0 : $phitmp264; + $240 = ((($1)) + 40|0); + HEAPF32[$240>>2] = $239; + return; + break; + } + case 13: { + $241 = ((($0)) + 372|0); + HEAP32[$241>>2] = 1; + $242 = ((($2)) + 4|0); + $243 = HEAP8[$242>>0]|0; + $244 = $243&255; + $245 = $244 >>> 4; + $246 = ($245*10)|0; + $247 = $244 & 15; + $248 = (($246) + ($247))|0; + $249 = $248&255; + $250 = ((($0)) + 377|0); + HEAP8[$250>>0] = $249; + return; + break; + } + case 14: { + $251 = ((($2)) + 4|0); + $252 = HEAP8[$251>>0]|0; + $253 = $252&255; + $trunc261 = ($252&255) >>> 4; + $trunc261$clear = $trunc261 & 15; + do { + switch ($trunc261$clear<<24>>24) { + case 1: { + $254 = $253 & 15; + $255 = ($254|0)==(0); + if (!($255)) { + $256 = $254&255; + $257 = ((($1)) + 87|0); + HEAP8[$257>>0] = $256; + } + $258 = ((($1)) + 87|0); + $259 = HEAP8[$258>>0]|0; + $260 = $259&255; + $261 = (0 - ($260))|0; + $262 = (+($261|0)); + _jar_xm_pitch_slide($0,$1,$262); + return; + break; + } + case 2: { + $263 = $253 & 15; + $264 = ($263|0)==(0); + if (!($264)) { + $265 = $263&255; + $266 = ((($1)) + 88|0); + HEAP8[$266>>0] = $265; + } + $267 = ((($1)) + 88|0); + $268 = HEAP8[$267>>0]|0; + $269 = (+($268&255)); + _jar_xm_pitch_slide($0,$1,$269); + return; + break; + } + case 4: { + $270 = $253 & 3; + $271 = ((($1)) + 104|0); + HEAP32[$271>>2] = $270; + $272 = $253 >>> 2; + $$lobit262 = $272 & 1; + $273 = $$lobit262 ^ 1; + $274 = ((($1)) + 108|0); + HEAP32[$274>>2] = $273; + return; + break; + } + case 5: { + $275 = ((($1)) + 16|0); + $276 = HEAP32[$275>>2]|0; + $277 = HEAP8[$276>>0]|0; + $278 = $277&255; + $$off273 = (($277) + -1)<<24>>24; + $279 = ($$off273&255)<(96); + if (!($279)) { + return; + } + $280 = ((($1)) + 12|0); + $281 = HEAP32[$280>>2]|0; + $282 = ($281|0)==(0|0); + if ($282) { + return; + } + $283 = ((($281)) + 56|0); + $284 = HEAP8[$283>>0]|0; + $285 = $284 << 24 >> 24; + $286 = (($285) + ($278))|0; + $287 = (+($286|0)); + $288 = $253 << 4; + $289 = $288 & 240; + $290 = (($289) + -128)|0; + $291 = (+($290|0)); + $292 = $291 * 0.0078125; + $293 = $292 + $287; + $294 = $293 + -1.0; + HEAPF32[$1>>2] = $294; + $295 = (+_jar_xm_period($0,$294)); + $296 = ((($1)) + 24|0); + HEAPF32[$296>>2] = $295; + _jar_xm_update_frequency($0,$1); + return; + break; + } + case 6: { + $297 = $253 & 15; + $298 = ($297|0)==(0); + if ($298) { + $311 = ((($0)) + 349|0); + $312 = HEAP8[$311>>0]|0; + $313 = ((($1)) + 98|0); + HEAP8[$313>>0] = $312; + $314 = ((($0)) + 377|0); + HEAP8[$314>>0] = $312; + return; + } + $299 = ((($1)) + 99|0); + $300 = HEAP8[$299>>0]|0; + $301 = $300&255; + $302 = ($297|0)==($301|0); + if ($302) { + HEAP8[$299>>0] = 0; + return; + } else { + $303 = (($300) + 1)<<24>>24; + HEAP8[$299>>0] = $303; + $304 = ((($0)) + 368|0); + HEAP32[$304>>2] = 1; + $305 = ((($1)) + 98|0); + $306 = HEAP8[$305>>0]|0; + $307 = ((($0)) + 377|0); + HEAP8[$307>>0] = $306; + $308 = ((($0)) + 348|0); + $309 = HEAP8[$308>>0]|0; + $310 = ((($0)) + 376|0); + HEAP8[$310>>0] = $309; + return; + } + break; + } + case 7: { + $315 = $253 & 3; + $316 = ((($1)) + 120|0); + HEAP32[$316>>2] = $315; + $317 = $253 >>> 2; + $$lobit = $317 & 1; + $318 = $$lobit ^ 1; + $319 = ((($1)) + 124|0); + HEAP32[$319>>2] = $318; + return; + break; + } + case 10: { + $320 = $253 & 15; + $321 = ($320|0)==(0); + if (!($321)) { + $322 = $320&255; + $323 = ((($1)) + 82|0); + HEAP8[$323>>0] = $322; + } + $324 = ((($1)) + 82|0); + $325 = HEAP8[$324>>0]|0; + $326 = $325&255; + $327 = $326 << 4; + $328 = $327&255; + _jar_xm_volume_slide($1,$328); + return; + break; + } + case 11: { + $329 = $253 & 15; + $330 = ($329|0)==(0); + if (!($330)) { + $331 = $329&255; + $332 = ((($1)) + 82|0); + HEAP8[$332>>0] = $331; + } + $333 = ((($1)) + 82|0); + $334 = HEAP8[$333>>0]|0; + _jar_xm_volume_slide($1,$334); + return; + break; + } + case 13: { + $335 = HEAP8[$2>>0]|0; + $336 = ($335<<24>>24)==(0); + if (!($336)) { + return; + } + $337 = HEAP8[$3>>0]|0; + $338 = ($337<<24>>24)==(0); + if (!($338)) { + return; + } + $339 = ((($1)) + 16|0); + $340 = HEAP32[$339>>2]|0; + $341 = ((($340)) + 4|0); + $342 = HEAP8[$341>>0]|0; + $343 = $342 & 15; + $344 = ($343<<24>>24)==(0); + if ($344) { + _jar_xm_trigger_note($0,$1,7); + return; + } else { + $345 = ((($1)) + 4|0); + $346 = HEAP32[$345>>2]|0; + HEAP32[$1>>2] = $346; + _jar_xm_trigger_note($0,$1,1); + return; + } + break; + } + case 14: { + $347 = ((($1)) + 16|0); + $348 = HEAP32[$347>>2]|0; + $349 = ((($348)) + 4|0); + $350 = HEAP8[$349>>0]|0; + $351 = $350 & 15; + $352 = $351&255; + $353 = ((($0)) + 328|0); + $354 = HEAP16[$353>>1]|0; + $355 = $354&65535; + $356 = Math_imul($352, $355)|0; + $357 = $356&65535; + $358 = ((($0)) + 378|0); + HEAP16[$358>>1] = $357; + return; + break; + } + default: { + return; + } + } + } while(0); + break; + } + case 15: { + $359 = ((($2)) + 4|0); + $360 = HEAP8[$359>>0]|0; + $361 = ($360<<24>>24)==(0); + if ($361) { + return; + } + $362 = ($360&255)<(32); + $363 = $360&255; + if ($362) { + $364 = ((($0)) + 328|0); + HEAP16[$364>>1] = $363; + return; + } else { + $365 = ((($0)) + 330|0); + HEAP16[$365>>1] = $363; + return; + } + break; + } + case 16: { + $366 = ((($2)) + 4|0); + $367 = HEAP8[$366>>0]|0; + $368 = ($367&255)>(64); + $phitmp = (+($367&255)); + $phitmp260 = $phitmp * 0.015625; + $369 = $368 ? 1.0 : $phitmp260; + $370 = ((($0)) + 332|0); + HEAPF32[$370>>2] = $369; + return; + break; + } + case 17: { + $371 = ((($2)) + 4|0); + $372 = HEAP8[$371>>0]|0; + $373 = ($372<<24>>24)==(0); + if ($373) { + return; + } + $374 = ((($1)) + 83|0); + HEAP8[$374>>0] = $372; + return; + break; + } + case 21: { + $375 = ((($2)) + 4|0); + $376 = HEAP8[$375>>0]|0; + $377 = $376&255; + $378 = ((($1)) + 68|0); + HEAP16[$378>>1] = $377; + $379 = ((($1)) + 70|0); + HEAP16[$379>>1] = $377; + return; + break; + } + case 25: { + $380 = ((($2)) + 4|0); + $381 = HEAP8[$380>>0]|0; + $382 = ($381<<24>>24)==(0); + if ($382) { + return; + } + $383 = ((($1)) + 84|0); + HEAP8[$383>>0] = $381; + return; + break; + } + case 27: { + $384 = ((($2)) + 4|0); + $385 = HEAP8[$384>>0]|0; + $386 = $385&255; + $387 = ($385<<24>>24)==(0); + if ($387) { + return; + } + $$mask = $386 & 240; + $388 = ($$mask|0)==(0); + if ($388) { + $389 = ((($1)) + 96|0); + $390 = HEAP8[$389>>0]|0; + $391 = $390 & -16; + $392 = $391&255; + $393 = $386 & 15; + $394 = $392 | $393; + $395 = $394&255; + $$sink = $395; + } else { + $$sink = $385; + } + $396 = ((($1)) + 96|0); + HEAP8[$396>>0] = $$sink; + return; + break; + } + case 29: { + $397 = ((($2)) + 4|0); + $398 = HEAP8[$397>>0]|0; + $399 = ($398<<24>>24)==(0); + if ($399) { + return; + } + $400 = ((($1)) + 136|0); + HEAP8[$400>>0] = $398; + return; + break; + } + case 33: { + $401 = ((($2)) + 4|0); + $402 = HEAP8[$401>>0]|0; + $403 = $402&255; + $trunc259 = ($402&255) >>> 4; + $trunc259$clear = $trunc259 & 15; + switch ($trunc259$clear<<24>>24) { + case 1: { + $404 = $403 & 15; + $405 = ($404|0)==(0); + if (!($405)) { + $406 = $404&255; + $407 = ((($1)) + 89|0); + HEAP8[$407>>0] = $406; + } + $408 = ((($1)) + 89|0); + $409 = HEAP8[$408>>0]|0; + $410 = (+($409&255)); + $411 = -$410; + _jar_xm_pitch_slide($0,$1,$411); + return; + break; + } + case 2: { + $412 = $403 & 15; + $413 = ($412|0)==(0); + if (!($413)) { + $414 = $412&255; + $415 = ((($1)) + 90|0); + HEAP8[$415>>0] = $414; + } + $416 = ((($1)) + 90|0); + $417 = HEAP8[$416>>0]|0; + $418 = (+($417&255)); + _jar_xm_pitch_slide($0,$1,$418); + return; + break; + } + default: { + return; + } + } + break; + } + default: { + return; + } + } + } while(0); +} +function _jar_xm_key_off($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 52|0); + HEAP32[$1>>2] = 0; + $2 = ((($0)) + 8|0); + $3 = HEAP32[$2>>2]|0; + $4 = ($3|0)==(0|0); + if (!($4)) { + $5 = ((($3)) + 176|0); + $6 = HEAP32[$5>>2]|0; + $7 = ($6|0)==(0); + if (!($7)) { + return; + } + } + _jar_xm_cut_note($0); + return; +} +function _jar_xm_period($0,$1) { + $0 = $0|0; + $1 = +$1; + var $$0 = 0.0, $2 = 0, $3 = 0, $4 = 0.0, $5 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($0)) + 56|0); + $3 = HEAP32[$2>>2]|0; + switch ($3|0) { + case 0: { + $4 = (+_jar_xm_linear_period($1)); + $$0 = $4; + break; + } + case 1: { + $5 = (+_jar_xm_amiga_period($1)); + $$0 = $5; + break; + } + default: { + $$0 = 0.0; + } + } + return (+$$0); +} +function _jar_xm_linear_period($0) { + $0 = +$0; + var $1 = 0.0, $2 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $1 = $0 * 64.0; + $2 = 7680.0 - $1; + return (+$2); +} +function _jar_xm_amiga_period($0) { + $0 = +$0; + var $$0 = 0, $$023 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; + var $26 = 0, $27 = 0, $28 = 0.0, $29 = 0.0, $3 = 0.0, $30 = 0.0, $31 = 0, $32 = 0, $33 = 0.0, $34 = 0.0, $35 = 0.0, $4 = 0.0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (~~(($0))>>>0); + $2 = (($1>>>0) % 12)&-1; + $3 = $0 / 12.0; + $4 = $3 + -2.0; + $5 = (~~(($4))); + $6 = (5332 + ($2<<1)|0); + $7 = HEAP16[$6>>1]|0; + $8 = (($2) + 1)|0; + $9 = (5332 + ($8<<1)|0); + $10 = HEAP16[$9>>1]|0; + $11 = $5 << 24 >> 24; + $12 = ($5<<24>>24)>(0); + if ($12) { + $13 = $7&65535; + $14 = $13 >>> $11; + $15 = $14&65535; + $16 = $10&65535; + $17 = $16 >>> $11; + $18 = $17&65535; + $$0 = $18;$$023 = $15; + } else { + $19 = ($5<<24>>24)<(0); + $20 = (0 - ($11))|0; + if ($19) { + $21 = $10&65535; + $22 = $21 << $20; + $23 = $7&65535; + $24 = $23 << $20; + $25 = $24&65535; + $26 = $22&65535; + $$0 = $26;$$023 = $25; + } else { + $$0 = $10;$$023 = $7; + } + } + $27 = $$023&65535; + $28 = (+($$023&65535)); + $29 = (+($1>>>0)); + $30 = $0 - $29; + $31 = $$0&65535; + $32 = (($31) - ($27))|0; + $33 = (+($32|0)); + $34 = $30 * $33; + $35 = $28 + $34; + return (+$35); +} +function _jar_xm_waveform($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0.0, $2 = 0, $20 = 0.0, $21 = 0.0, $22 = 0, $23 = 0, $24 = 0.0, $25 = 0.0, $3 = 0.0, $4 = 0.0; + var $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = $1 & 63; + switch ($0|0) { + case 0: { + $3 = (+($2&255)); + $4 = $3 * 6.2831840515136719; + $5 = $4 * 0.015625; + $6 = (+Math_sin((+$5))); + $7 = -$6; + $$0 = $7; + return (+$$0); + break; + } + case 1: { + $8 = $2&255; + $9 = (32 - ($8))|0; + $10 = (+($9|0)); + $11 = $10 * 0.03125; + $$0 = $11; + return (+$$0); + break; + } + case 2: { + $12 = ($2&255)>(31); + $13 = $12 ? 1.0 : -1.0; + $$0 = $13; + return (+$$0); + break; + } + case 3: { + $14 = HEAP32[914]|0; + $15 = Math_imul($14, 1103515245)|0; + $16 = (($15) + 12345)|0; + HEAP32[914] = $16; + $17 = $16 >>> 16; + $18 = $17 & 32767; + $19 = (+($18>>>0)); + $20 = $19 * 6.103515625E-5; + $21 = $20 + -1.0; + $$0 = $21; + return (+$$0); + break; + } + case 4: { + $22 = $2&255; + $23 = (($22) + -32)|0; + $24 = (+($23|0)); + $25 = $24 * 0.03125; + $$0 = $25; + return (+$$0); + break; + } + default: { + $$0 = 0.0; + return (+$$0); + } + } + return +(0.0); +} +function _jar_xm_frequency($0,$1,$2) { + $0 = $0|0; + $1 = +$1; + $2 = +$2; + var $$050 = 0.0, $$051 = 0, $$054 = 0, $$1 = 0, $$148 = 0, $$152 = 0, $$253 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0.0, $21 = 0, $22 = 0; + var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0; + var $41 = 0, $42 = 0, $43 = 0, $44 = 0.0, $45 = 0, $46 = 0.0, $47 = 0, $48 = 0, $49 = 0, $5 = 0.0, $50 = 0, $51 = 0, $52 = 0.0, $53 = 0.0, $54 = 0.0, $55 = 0.0, $56 = 0, $57 = 0.0, $58 = 0.0, $59 = 0; + var $6 = 0.0, $60 = 0, $61 = 0.0, $62 = 0.0, $63 = 0.0, $64 = 0.0, $65 = 0.0, $66 = 0.0, $7 = 0.0, $8 = 0, $9 = 0.0, $indvars$iv = 0, $indvars$iv$next = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ((($0)) + 56|0); + $4 = HEAP32[$3>>2]|0; + switch ($4|0) { + case 0: { + $5 = $2 * 64.0; + $6 = $1 - $5; + $7 = (+_jar_xm_linear_frequency($6)); + $$050 = $7; + return (+$$050); + break; + } + case 1: { + $8 = $2 == 0.0; + if ($8) { + $9 = (+_jar_xm_amiga_frequency($1)); + $$050 = $9; + return (+$$050); + } + $10 = $1 > 1712.0; + if ($10) { + $$051 = -1; + while(1) { + $11 = $$051 << 24 >> 24; + $12 = (0 - ($11))|0; + $13 = 1712 << $12; + $14 = (+($13|0)); + $15 = $14 < $1; + $16 = (($$051) + -1)<<24>>24; + if ($15) { + $$051 = $16; + } else { + $$253 = $$051; + break; + } + } + } else { + $17 = $1 < 856.0; + if ($17) { + $$152 = 1; + while(1) { + $18 = $$152 << 24 >> 24; + $19 = 856 >>> $18; + $20 = (+($19|0)); + $21 = $20 > $1; + $22 = (($$152) + 1)<<24>>24; + if ($21) { + $$152 = $22; + } else { + $$253 = $$152; + break; + } + } + } else { + $$253 = 0; + } + } + $23 = $$253 << 24 >> 24; + $24 = ($$253<<24>>24)>(0); + $25 = ($$253<<24>>24)<(0); + $26 = (0 - ($23))|0; + $indvars$iv = 0; + while(1) { + $27 = (5332 + ($indvars$iv<<1)|0); + $28 = HEAP16[$27>>1]|0; + $29 = (($indvars$iv) + 1)|0; + $30 = (5332 + ($29<<1)|0); + $31 = HEAP16[$30>>1]|0; + if ($24) { + $32 = $28&65535; + $33 = $32 >>> $23; + $34 = $33&65535; + $35 = $31&65535; + $36 = $35 >>> $23; + $37 = $36&65535; + $$1 = $37;$$148 = $34; + } else { + if ($25) { + $38 = $31&65535; + $39 = $38 << $26; + $40 = $28&65535; + $41 = $40 << $26; + $42 = $41&65535; + $43 = $39&65535; + $$1 = $43;$$148 = $42; + } else { + $$1 = $31;$$148 = $28; + } + } + $44 = (+($$1&65535)); + $45 = !($44 <= $1); + $46 = (+($$148&65535)); + $47 = !($46 >= $1); + $or$cond = $47 | $45; + $48 = $indvars$iv&255; + if (!($or$cond)) { + $$054 = $48; + break; + } + $indvars$iv$next = (($indvars$iv) + 1)|0; + $49 = ($indvars$iv$next>>>0)<(12); + if ($49) { + $indvars$iv = $indvars$iv$next; + } else { + $$054 = 0; + break; + } + } + $50 = $$253 << 24 >> 24; + $51 = (($50) + 2)|0; + $52 = (+($51|0)); + $53 = $52 * 12.0; + $54 = (+($$054&255)); + $55 = $53 + $54; + $56 = $$148&65535; + $57 = (+($$148&65535)); + $58 = $1 - $57; + $59 = $$1&65535; + $60 = (($59) - ($56))|0; + $61 = (+($60|0)); + $62 = $58 / $61; + $63 = $55 + $62; + $64 = $63 + $2; + $65 = (+_jar_xm_amiga_period($64)); + $66 = (+_jar_xm_amiga_frequency($65)); + $$050 = $66; + return (+$$050); + break; + } + default: { + $$050 = 0.0; + return (+$$050); + } + } + return +(0.0); +} +function _jar_xm_linear_frequency($0) { + $0 = +$0; + var $1 = 0.0, $2 = 0.0, $3 = 0.0, $exp2 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $1 = 4608.0 - $0; + $2 = $1 / 768.0; + $exp2 = (+_llvm_exp2_f32((+$2))); + $3 = $exp2 * 8363.0; + return (+$3); +} +function _jar_xm_amiga_frequency($0) { + $0 = +$0; + var $$0 = 0.0, $1 = 0, $2 = 0.0, $3 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $1 = $0 == 0.0; + $2 = $0 * 2.0; + $3 = 7093789.0 / $2; + $$0 = $1 ? 0.0 : $3; + return (+$$0); +} +function _jar_xm_envelope_tick($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$043 = 0, $$lcssa = 0, $$lcssa42 = 0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; + var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0.0, $56 = 0.0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0; + var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $4 = ((($1)) + 48|0); + $5 = HEAP8[$4>>0]|0; + $6 = ($5&255)<(2); + if ($6) { + $7 = ($5<<24>>24)==(1); + if (!($7)) { + return; + } + $8 = ((($1)) + 2|0); + $9 = HEAP16[$8>>1]|0; + $10 = (+($9&65535)); + $11 = $10 * 0.015625; + HEAPF32[$3>>2] = $11; + $12 = $11 > 1.0; + if (!($12)) { + return; + } + HEAPF32[$3>>2] = 1.0; + return; + } + $13 = ((($1)) + 60|0); + $14 = HEAP32[$13>>2]|0; + $15 = ($14|0)==(0); + if (!($15)) { + $16 = ((($1)) + 51|0); + $17 = HEAP8[$16>>0]|0; + $18 = $17&255; + $19 = (($1) + ($18<<2)|0); + $20 = HEAP16[$19>>1]|0; + $21 = HEAP16[$2>>1]|0; + $22 = ($21&65535)<($20&65535); + if (!($22)) { + $23 = $21&65535; + $24 = $20&65535; + $25 = ((($1)) + 50|0); + $26 = HEAP8[$25>>0]|0; + $27 = $26&255; + $28 = (($1) + ($27<<2)|0); + $29 = HEAP16[$28>>1]|0; + $30 = $29&65535; + $31 = (($23) - ($24))|0; + $32 = (($31) + ($30))|0; + $33 = $32&65535; + HEAP16[$2>>1] = $33; + } + } + $34 = HEAP8[$4>>0]|0; + $35 = ($34&255)>(2); + $36 = HEAP16[$2>>1]|0; + L15: do { + if ($35) { + $$043 = 0;$38 = 0;$41 = $36; + while(1) { + $37 = (($1) + ($38<<2)|0); + $39 = HEAP16[$37>>1]|0; + $40 = ($39&65535)>($41&65535); + if (!($40)) { + $42 = (($38) + 1)|0; + $43 = (($1) + ($42<<2)|0); + $44 = HEAP16[$43>>1]|0; + $45 = ($44&65535)<($41&65535); + if (!($45)) { + $$lcssa = $41;$$lcssa42 = $38; + break L15; + } + } + $46 = (($$043) + 1)<<24>>24; + $47 = $46&255; + $48 = HEAP8[$4>>0]|0; + $49 = $48&255; + $50 = (($49) + -2)|0; + $51 = ($47|0)<($50|0); + $52 = HEAP16[$2>>1]|0; + if ($51) { + $$043 = $46;$38 = $47;$41 = $52; + } else { + $$lcssa = $52;$$lcssa42 = $47; + break; + } + } + } else { + $$lcssa = $36;$$lcssa42 = 0; + } + } while(0); + $53 = (($1) + ($$lcssa42<<2)|0); + $54 = ((($53)) + 4|0); + $55 = (+_jar_xm_envelope_lerp($53,$54,$$lcssa)); + $56 = $55 * 0.015625; + HEAPF32[$3>>2] = $56; + $57 = ((($0)) + 52|0); + $58 = HEAP32[$57>>2]|0; + $59 = ($58|0)==(0); + if (!($59)) { + $60 = ((($1)) + 56|0); + $61 = HEAP32[$60>>2]|0; + $62 = ($61|0)==(0); + if (!($62)) { + $63 = HEAP16[$2>>1]|0; + $64 = ((($1)) + 49|0); + $65 = HEAP8[$64>>0]|0; + $66 = $65&255; + $67 = (($1) + ($66<<2)|0); + $68 = HEAP16[$67>>1]|0; + $69 = ($63<<16>>16)==($68<<16>>16); + if ($69) { + return; + } + } + } + $70 = HEAP16[$2>>1]|0; + $71 = (($70) + 1)<<16>>16; + HEAP16[$2>>1] = $71; + return; +} +function _jar_xm_envelope_lerp($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$0 = 0.0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0.0, $18 = 0, $19 = 0.0, $20 = 0.0, $21 = 0, $22 = 0, $23 = 0.0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0.0, $28 = 0.0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $3 = $2&65535; + $4 = HEAP16[$0>>1]|0; + $5 = $4&65535; + $6 = ($4&65535)<($2&65535); + if (!($6)) { + $7 = ((($0)) + 2|0); + $8 = HEAP16[$7>>1]|0; + $9 = (+($8&65535)); + $$0 = $9; + return (+$$0); + } + $10 = HEAP16[$1>>1]|0; + $11 = ($10&65535)>($2&65535); + $12 = ((($1)) + 2|0); + $13 = HEAP16[$12>>1]|0; + if ($11) { + $15 = $10&65535; + $16 = (($3) - ($5))|0; + $17 = (+($16|0)); + $18 = (($15) - ($5))|0; + $19 = (+($18|0)); + $20 = $17 / $19; + $21 = ((($0)) + 2|0); + $22 = HEAP16[$21>>1]|0; + $23 = (+($22&65535)); + $24 = 1.0 - $20; + $25 = $24 * $23; + $26 = (+($13&65535)); + $27 = $26 * $20; + $28 = $27 + $25; + $$0 = $28; + return (+$$0); + } else { + $14 = (+($13&65535)); + $$0 = $14; + return (+$$0); + } + return +(0.0); +} +function _jar_xm_post_pattern_change($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 348|0); + $2 = HEAP8[$1>>0]|0; + $3 = $2&255; + $4 = ((($0)) + 46|0); + $5 = HEAP16[$4>>1]|0; + $6 = $5&65535; + $7 = ($3>>>0)<($6>>>0); + if ($7) { + return; + } + $8 = ((($0)) + 48|0); + $9 = HEAP16[$8>>1]|0; + $10 = $9&255; + HEAP8[$1>>0] = $10; + return; +} +function _jar_xm_create_context_safe($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$0 = 0, $$06364 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; + var $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $vararg_buffer = 0, $vararg_buffer2 = 0, $vararg_buffer6 = 0, $vararg_ptr1 = 0, $vararg_ptr5 = 0, $vararg_ptr9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $vararg_buffer6 = sp + 16|0; + $vararg_buffer2 = sp + 8|0; + $vararg_buffer = sp; + $4 = (_jar_xm_check_sanity_preload($1,$2)|0); + $5 = ($4|0)==(0); + if (!($5)) { + $6 = HEAP32[1176]|0; + HEAP32[$vararg_buffer>>2] = 11312; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $4; + (_fprintf($6,11235,$vararg_buffer)|0); + (_fflush($6)|0); + $$0 = 1; + STACKTOP = sp;return ($$0|0); + } + $7 = (_jar_xm_get_memory_needed_for_context($1,$2)|0); + $8 = (_malloc($7)|0); + $9 = ($8|0)==(0|0); + $10 = ($7|0)!=(0); + $or$cond = $10 & $9; + if ($or$cond) { + $11 = HEAP32[1176]|0; + HEAP32[$vararg_buffer2>>2] = 11312; + $vararg_ptr5 = ((($vararg_buffer2)) + 4|0); + HEAP32[$vararg_ptr5>>2] = $8; + (_fprintf($11,11339,$vararg_buffer2)|0); + (_fflush($11)|0); + $$0 = 2; + STACKTOP = sp;return ($$0|0); + } + _memset(($8|0),0,($7|0))|0; + HEAP32[$0>>2] = $8; + HEAP32[$8>>2] = $8; + $12 = ((($8)) + 392|0); + $13 = ((($8)) + 324|0); + HEAP32[$13>>2] = $3; + $14 = (_jar_xm_load_module($8,$1,$2,$12)|0); + $15 = ((($8)) + 388|0); + HEAP32[$15>>2] = $14; + $16 = ((($8)) + 50|0); + $17 = HEAP16[$16>>1]|0; + $18 = $17&65535; + $19 = ($18*304)|0; + $20 = (($14) + ($19)|0); + $21 = ((($8)) + 332|0); + HEAPF32[$21>>2] = 1.0; + $22 = ((($8)) + 336|0); + HEAPF32[$22>>2] = 0.25; + $23 = ((($8)) + 340|0); + HEAPF32[$23>>2] = 0.0078125; + $24 = ((($8)) + 344|0); + HEAPF32[$24>>2] = 0.0078125; + $25 = HEAP16[$16>>1]|0; + $26 = ($25<<16>>16)==(0); + if (!($26)) { + $27 = HEAP32[$15>>2]|0; + $28 = HEAP16[$16>>1]|0; + $29 = $28&65535; + $$06364 = 0;$34 = 0; + while(1) { + $33 = (((($27) + (($34*304)|0)|0)) + 36|0); + HEAP32[$33>>2] = 1; + $35 = (((($27) + (($34*304)|0)|0)) + 104|0); + HEAP32[$35>>2] = 0; + $36 = (((($27) + (($34*304)|0)|0)) + 108|0); + HEAP32[$36>>2] = 1; + $37 = (((($27) + (($34*304)|0)|0)) + 120|0); + HEAP32[$37>>2] = 0; + $38 = (((($27) + (($34*304)|0)|0)) + 124|0); + HEAP32[$38>>2] = 1; + $39 = (((($27) + (($34*304)|0)|0)) + 56|0); + HEAPF32[$39>>2] = 1.0; + $40 = (((($27) + (($34*304)|0)|0)) + 60|0); + HEAPF32[$40>>2] = 1.0; + $41 = (((($27) + (($34*304)|0)|0)) + 40|0); + HEAPF32[$41>>2] = 1.0; + $42 = (((($27) + (($34*304)|0)|0)) + 64|0); + HEAPF32[$42>>2] = 0.5; + $43 = (((($27) + (($34*304)|0)|0)) + 44|0); + HEAPF32[$43>>2] = 0.5; + $44 = (((($27) + (($34*304)|0)|0)) + 300|0); + HEAPF32[$44>>2] = 0.0; + $45 = (((($27) + (($34*304)|0)|0)) + 296|0); + HEAPF32[$45>>2] = 0.5; + $46 = (($$06364) + 1)<<24>>24; + $47 = $46&255; + $48 = ($47>>>0)<($29>>>0); + if ($48) { + $$06364 = $46;$34 = $47; + } else { + break; + } + } + } + $30 = ((($8)) + 380|0); + HEAP32[$30>>2] = $20; + $31 = (_jar_xm_check_sanity_postload($8)|0); + $32 = ($31|0)==(0); + if ($32) { + $$0 = 0; + STACKTOP = sp;return ($$0|0); + } + $49 = HEAP32[1176]|0; + HEAP32[$vararg_buffer6>>2] = 11312; + $vararg_ptr9 = ((($vararg_buffer6)) + 4|0); + HEAP32[$vararg_ptr9>>2] = $31; + (_fprintf($49,11383,$vararg_buffer6)|0); + (_fflush($49)|0); + _jar_xm_free_context($8); + $$0 = 1; + STACKTOP = sp;return ($$0|0); +} +function _jar_xm_check_sanity_preload($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$ = 0, $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ($1>>>0)<(60); + if ($2) { + $$0 = 4; + return ($$0|0); + } + $3 = (_memcmp(11600,$0,17)|0); + $4 = ($3|0)==(0); + if (!($4)) { + $$0 = 1; + return ($$0|0); + } + $5 = ((($0)) + 37|0); + $6 = HEAP8[$5>>0]|0; + $7 = ($6<<24>>24)==(26); + if (!($7)) { + $$0 = 2; + return ($$0|0); + } + $8 = ((($0)) + 59|0); + $9 = HEAP8[$8>>0]|0; + $10 = ($9<<24>>24)==(1); + if ($10) { + $11 = ((($0)) + 58|0); + $12 = HEAP8[$11>>0]|0; + $13 = ($12<<24>>24)==(4); + $$ = $13 ? 0 : 3; + return ($$|0); + } else { + $$0 = 3; + return ($$0|0); + } + return (0)|0; +} +function _jar_xm_get_memory_needed_for_context($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0$lcssa = 0, $$0209$lcssa = 0, $$0209274 = 0, $$0212262 = 0, $$0213$lcssa = 0, $$0213261 = 0, $$0214 = 0, $$0215267 = 0, $$0216273 = 0, $$0275 = 0, $$1$lcssa = 0, $$1210268 = 0, $$1269 = 0, $$2$lcssa = 0, $$2211$lcssa = 0, $$2211263 = 0, $$2264 = 0, $$3 = 0, $$ph = 0, $$ph228 = 0; + var $$ph233 = 0, $$ph234 = 0, $$ph237 = 0, $$ph238 = 0, $$ph239 = 0, $$ph240 = 0, $$ph241 = 0, $$ph242 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0; + var $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0; + var $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0; + var $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0; + var $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0; + var $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0; + var $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0; + var $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0; + var $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0; + var $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0; + var $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $3 = 0; + var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0; + var $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0; + var $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0; + var $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $phitmp = 0, $phitmp294 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ($1>>>0)>(68); + $3 = ($1>>>0)>(69); + if ($2) { + $4 = ((($0)) + 68|0); + $5 = HEAP8[$4>>0]|0; + $6 = $5&255; + $12 = $6; + } else { + $12 = 0; + } + do { + if ($3) { + $7 = ((($0)) + 69|0); + $8 = HEAP8[$7>>0]|0; + $9 = $8&255; + $10 = $9 << 8; + $11 = $10 | $12; + $13 = ($1|0)==(70); + do { + if ($13) { + $$ph = 0;$$ph233 = 0;$$ph234 = 0; + } else { + $14 = ((($0)) + 70|0); + $15 = HEAP8[$14>>0]|0; + $16 = $15&255; + $17 = ($1>>>0)>(71); + if (!($17)) { + $18 = $16 << 3; + $$ph = $18;$$ph233 = 0;$$ph234 = $16; + break; + } + $19 = ((($0)) + 71|0); + $20 = HEAP8[$19>>0]|0; + $21 = $20&255; + $22 = $21 << 8; + $23 = $22 | $16; + $24 = $23 << 3; + $25 = ($1|0)==(72); + if ($25) { + $$ph = $24;$$ph233 = 0;$$ph234 = $23; + } else { + $26 = ((($0)) + 72|0); + $27 = HEAP8[$26>>0]|0; + $28 = $27&255; + $29 = ($1>>>0)>(73); + if ($29) { + $30 = ((($0)) + 73|0); + $31 = HEAP8[$30>>0]|0; + $32 = $31&255; + $phitmp294 = $32 << 8; + $$ph228 = $phitmp294; + } else { + $$ph228 = 0; + } + $33 = $$ph228 | $28; + $34 = ($33*280)|0; + $35 = (($34) + ($24))|0; + $$ph = $35;$$ph233 = $33;$$ph234 = $23; + } + } + } while(0); + $37 = ((($0)) + 64|0); + $38 = HEAP8[$37>>0]|0; + $39 = $38&255; + $284 = $39;$285 = $11;$286 = $$ph234;$287 = $$ph233;$288 = $$ph; + label = 14; + } else { + $36 = ($1>>>0)>(64); + if ($36) { + $40 = ((($0)) + 64|0); + $41 = HEAP8[$40>>0]|0; + $42 = $41&255; + $43 = ($1|0)==(65); + if ($43) { + $$ph237 = $42;$$ph238 = $12;$$ph239 = 0;$$ph240 = 0;$$ph241 = 0;$$ph242 = 0; + label = 15; + break; + } else { + $284 = $42;$285 = $12;$286 = 0;$287 = 0;$288 = 0; + label = 14; + break; + } + } + $61 = ($1>>>0)>(62); + if (!($61)) { + $$1$lcssa = 0;$155 = $12; + $154 = ($155*304)|0; + $156 = (($154) + 392)|0; + $157 = (($156) + ($$1$lcssa))|0; + return ($157|0); + } + $62 = ((($0)) + 61|0); + $63 = HEAP8[$62>>0]|0; + $64 = $63&255; + $65 = $64 << 8; + $66 = ((($0)) + 60|0); + $67 = HEAP8[$66>>0]|0; + $68 = $67&255; + $69 = $65 | $68; + $70 = ((($0)) + 62|0); + $71 = HEAP8[$70>>0]|0; + $72 = $71&255; + $73 = ($1|0)==(63); + if ($73) { + $$1$lcssa = 0;$155 = $12; + $154 = ($155*304)|0; + $156 = (($154) + 392)|0; + $157 = (($156) + ($$1$lcssa))|0; + return ($157|0); + } else { + $289 = 0;$79 = $72;$82 = $69;$85 = 0;$87 = $12;$89 = 0; + } + } + } while(0); + if ((label|0) == 14) { + $44 = ((($0)) + 65|0); + $45 = HEAP8[$44>>0]|0; + $46 = $45&255; + $phitmp = $46 << 8; + $$ph237 = $284;$$ph238 = $285;$$ph239 = $286;$$ph240 = $287;$$ph241 = $288;$$ph242 = $phitmp; + label = 15; + } + if ((label|0) == 15) { + $47 = $$ph242 | $$ph237; + $48 = $47 << 8; + $49 = (($48) + ($$ph241))|0; + $50 = ((($0)) + 60|0); + $51 = HEAP8[$50>>0]|0; + $52 = $51&255; + $53 = ((($0)) + 61|0); + $54 = HEAP8[$53>>0]|0; + $55 = $54&255; + $56 = $55 << 8; + $57 = $56 | $52; + $58 = ((($0)) + 62|0); + $59 = HEAP8[$58>>0]|0; + $60 = $59&255; + $289 = $49;$79 = $60;$82 = $57;$85 = $$ph239;$87 = $$ph238;$89 = $$ph240; + } + $74 = ((($0)) + 63|0); + $75 = HEAP8[$74>>0]|0; + $76 = $75&255; + $77 = $76 << 8; + $78 = $77 | $79; + $80 = $78 << 16; + $81 = $80 | $82; + $83 = (($81) + 60)|0; + $84 = ($85|0)==(0); + if ($84) { + $$0$lcssa = $289;$$0209$lcssa = $83; + } else { + $86 = ($87*5)|0; + $$0209274 = $83;$$0216273 = 0;$$0275 = $289; + while(1) { + $90 = (($$0209274) + 5)|0; + $91 = ($90>>>0)<($1>>>0); + if ($91) { + $92 = (($0) + ($90)|0); + $93 = HEAP8[$92>>0]|0; + $94 = $93&255; + $103 = $94; + } else { + $103 = 0; + } + $95 = (($$0209274) + 6)|0; + $96 = ($95>>>0)<($1>>>0); + if ($96) { + $97 = (($0) + ($95)|0); + $98 = HEAP8[$97>>0]|0; + $99 = $98&255; + $101 = $99; + } else { + $101 = 0; + } + $100 = $101 << 8; + $102 = $100 | $103; + $104 = Math_imul($86, $102)|0; + $105 = (($104) + ($$0275))|0; + $106 = ($$0209274>>>0)<($1>>>0); + if ($106) { + $107 = (($0) + ($$0209274)|0); + $108 = HEAP8[$107>>0]|0; + $109 = $108&255; + $118 = $109; + } else { + $118 = 0; + } + $110 = (($$0209274) + 1)|0; + $111 = ($110>>>0)<($1>>>0); + if ($111) { + $112 = (($0) + ($110)|0); + $113 = HEAP8[$112>>0]|0; + $114 = $113&255; + $116 = $114; + } else { + $116 = 0; + } + $115 = $116 << 8; + $117 = $115 | $118; + $119 = (($$0209274) + 2)|0; + $120 = ($119>>>0)<($1>>>0); + if ($120) { + $121 = (($0) + ($119)|0); + $122 = HEAP8[$121>>0]|0; + $123 = $122&255; + $132 = $123; + } else { + $132 = 0; + } + $124 = (($$0209274) + 3)|0; + $125 = ($124>>>0)<($1>>>0); + if ($125) { + $126 = (($0) + ($124)|0); + $127 = HEAP8[$126>>0]|0; + $128 = $127&255; + $130 = $128; + } else { + $130 = 0; + } + $129 = $130 << 8; + $131 = $129 | $132; + $133 = $131 << 16; + $134 = $117 | $133; + $135 = (($$0209274) + 7)|0; + $136 = ($135>>>0)<($1>>>0); + if ($136) { + $137 = (($0) + ($135)|0); + $138 = HEAP8[$137>>0]|0; + $139 = $138&255; + $148 = $139; + } else { + $148 = 0; + } + $140 = (($$0209274) + 8)|0; + $141 = ($140>>>0)<($1>>>0); + if ($141) { + $142 = (($0) + ($140)|0); + $143 = HEAP8[$142>>0]|0; + $144 = $143&255; + $146 = $144; + } else { + $146 = 0; + } + $145 = $146 << 8; + $147 = $145 | $148; + $149 = (($134) + ($$0209274))|0; + $150 = (($149) + ($147))|0; + $151 = (($$0216273) + 1)<<16>>16; + $152 = $151&65535; + $153 = ($152>>>0)<($85>>>0); + if ($153) { + $$0209274 = $150;$$0216273 = $151;$$0275 = $105; + } else { + $$0$lcssa = $105;$$0209$lcssa = $150; + break; + } + } + } + $88 = ($89|0)==(0); + if ($88) { + $$1$lcssa = $$0$lcssa;$155 = $87; + $154 = ($155*304)|0; + $156 = (($154) + 392)|0; + $157 = (($156) + ($$1$lcssa))|0; + return ($157|0); + } else { + $$0215267 = 0;$$1210268 = $$0209$lcssa;$$1269 = $$0$lcssa; + } + while(1) { + $158 = (($$1210268) + 27)|0; + $159 = ($158>>>0)<($1>>>0); + if ($159) { + $160 = (($0) + ($158)|0); + $161 = HEAP8[$160>>0]|0; + $162 = $161&255; + $171 = $162; + } else { + $171 = 0; + } + $163 = (($$1210268) + 28)|0; + $164 = ($163>>>0)<($1>>>0); + if ($164) { + $165 = (($0) + ($163)|0); + $166 = HEAP8[$165>>0]|0; + $167 = $166&255; + $169 = $167; + } else { + $169 = 0; + } + $168 = $169 << 8; + $170 = $168 | $171; + $172 = ($170*80)|0; + $173 = (($172) + ($$1269))|0; + $174 = ($170|0)==(0); + if ($174) { + $$0214 = 0; + } else { + $175 = (($$1210268) + 29)|0; + $176 = ($175>>>0)<($1>>>0); + if ($176) { + $177 = (($0) + ($175)|0); + $178 = HEAP8[$177>>0]|0; + $179 = $178&255; + $188 = $179; + } else { + $188 = 0; + } + $180 = (($$1210268) + 30)|0; + $181 = ($180>>>0)<($1>>>0); + if ($181) { + $182 = (($0) + ($180)|0); + $183 = HEAP8[$182>>0]|0; + $184 = $183&255; + $186 = $184; + } else { + $186 = 0; + } + $185 = $186 << 8; + $187 = $185 | $188; + $189 = (($$1210268) + 31)|0; + $190 = ($189>>>0)<($1>>>0); + if ($190) { + $191 = (($0) + ($189)|0); + $192 = HEAP8[$191>>0]|0; + $193 = $192&255; + $202 = $193; + } else { + $202 = 0; + } + $194 = (($$1210268) + 32)|0; + $195 = ($194>>>0)<($1>>>0); + if ($195) { + $196 = (($0) + ($194)|0); + $197 = HEAP8[$196>>0]|0; + $198 = $197&255; + $200 = $198; + } else { + $200 = 0; + } + $199 = $200 << 8; + $201 = $199 | $202; + $203 = $201 << 16; + $204 = $187 | $203; + $$0214 = $204; + } + $205 = ($$1210268>>>0)<($1>>>0); + if ($205) { + $206 = (($0) + ($$1210268)|0); + $207 = HEAP8[$206>>0]|0; + $208 = $207&255; + $217 = $208; + } else { + $217 = 0; + } + $209 = (($$1210268) + 1)|0; + $210 = ($209>>>0)<($1>>>0); + if ($210) { + $211 = (($0) + ($209)|0); + $212 = HEAP8[$211>>0]|0; + $213 = $212&255; + $215 = $213; + } else { + $215 = 0; + } + $214 = $215 << 8; + $216 = $214 | $217; + $218 = (($$1210268) + 2)|0; + $219 = ($218>>>0)<($1>>>0); + if ($219) { + $220 = (($0) + ($218)|0); + $221 = HEAP8[$220>>0]|0; + $222 = $221&255; + $231 = $222; + } else { + $231 = 0; + } + $223 = (($$1210268) + 3)|0; + $224 = ($223>>>0)<($1>>>0); + if ($224) { + $225 = (($0) + ($223)|0); + $226 = HEAP8[$225>>0]|0; + $227 = $226&255; + $229 = $227; + } else { + $229 = 0; + } + $228 = $229 << 8; + $230 = $228 | $231; + $232 = $230 << 16; + $233 = $216 | $232; + $234 = (($233) + ($$1210268))|0; + $235 = ($170|0)==(0); + if ($235) { + $$0213$lcssa = 0;$$2$lcssa = $173;$$2211$lcssa = $234; + } else { + $$0212262 = 0;$$0213261 = 0;$$2211263 = $234;$$2264 = $173; + while(1) { + $240 = ($$2211263>>>0)<($1>>>0); + if ($240) { + $241 = (($0) + ($$2211263)|0); + $242 = HEAP8[$241>>0]|0; + $243 = $242&255; + $252 = $243; + } else { + $252 = 0; + } + $244 = (($$2211263) + 1)|0; + $245 = ($244>>>0)<($1>>>0); + if ($245) { + $246 = (($0) + ($244)|0); + $247 = HEAP8[$246>>0]|0; + $248 = $247&255; + $250 = $248; + } else { + $250 = 0; + } + $249 = $250 << 8; + $251 = $249 | $252; + $253 = (($$2211263) + 2)|0; + $254 = ($253>>>0)<($1>>>0); + if ($254) { + $255 = (($0) + ($253)|0); + $256 = HEAP8[$255>>0]|0; + $257 = $256&255; + $266 = $257; + } else { + $266 = 0; + } + $258 = (($$2211263) + 3)|0; + $259 = ($258>>>0)<($1>>>0); + if ($259) { + $260 = (($0) + ($258)|0); + $261 = HEAP8[$260>>0]|0; + $262 = $261&255; + $264 = $262; + } else { + $264 = 0; + } + $263 = $264 << 8; + $265 = $263 | $266; + $267 = $265 << 16; + $268 = $251 | $267; + $269 = (($$2211263) + 14)|0; + $270 = ($269>>>0)<($1>>>0); + if ($270) { + $271 = (($0) + ($269)|0); + $272 = HEAP8[$271>>0]|0; + $273 = $272&255; + $276 = $273; + } else { + $276 = 0; + } + $274 = (($268) + ($$0213261))|0; + $275 = $276 >>> 4; + $277 = $275 & 1; + $278 = (2 - ($277))|0; + $279 = $268 << $278; + $$3 = (($279) + ($$2264))|0; + $280 = (($$2211263) + ($$0214))|0; + $281 = (($$0212262) + 1)<<16>>16; + $282 = $281&65535; + $283 = ($282>>>0)<($170>>>0); + if ($283) { + $$0212262 = $281;$$0213261 = $274;$$2211263 = $280;$$2264 = $$3; + } else { + $$0213$lcssa = $274;$$2$lcssa = $$3;$$2211$lcssa = $280; + break; + } + } + } + $236 = (($$2211$lcssa) + ($$0213$lcssa))|0; + $237 = (($$0215267) + 1)<<16>>16; + $238 = $237&65535; + $239 = ($238>>>0)<($89>>>0); + if ($239) { + $$0215267 = $237;$$1210268 = $236;$$1269 = $$2$lcssa; + } else { + $$1$lcssa = $$2$lcssa;$155 = $87; + break; + } + } + $154 = ($155*304)|0; + $156 = (($154) + 392)|0; + $157 = (($156) + ($$1$lcssa))|0; + return ($157|0); +} +function _jar_xm_load_module($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$0668761 = 0, $$0669766 = 0, $$0670765 = 0, $$0671$lcssa = 0, $$0671787 = 0, $$0672$lcssa = 0, $$0672786 = 0, $$0677769 = 0, $$0678785 = 0, $$0679755 = 0, $$0680753 = 0, $$0681752 = 0, $$0682783 = 0, $$0687 = 0, $$0688776 = 0, $$0689782 = 0, $$0762 = 0, $$1$lcssa = 0, $$1673777 = 0, $$1683 = 0; + var $$1778 = 0, $$2 = 0, $$2674756 = 0, $$2684 = 0, $$3$lcssa794 = 0, $$3675$lcssa = 0, $$3675770 = 0, $$3685 = 0, $$3757 = 0, $$4 = 0, $$4676 = 0, $$4686 = 0, $$5 = 0, $$ph700 = 0, $$ph701 = 0, $$ph707 = 0, $$ph708 = 0, $$ph714 = 0, $$ph715 = 0, $$ph721 = 0; + var $$ph722 = 0, $$ph729 = 0, $$ph730 = 0, $$ph731 = 0, $$ph740 = 0, $$pn = 0, $$pn693 = 0, $$pr = 0, $$sink = 0, $$sink694 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0; + var $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0; + var $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0; + var $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0; + var $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0; + var $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0; + var $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0; + var $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0; + var $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0; + var $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0; + var $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0; + var $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0; + var $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0; + var $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0; + var $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0; + var $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0; + var $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0; + var $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0; + var $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0; + var $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0; + var $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0; + var $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0; + var $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0; + var $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0; + var $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0, $531 = 0, $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0; + var $543 = 0, $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0, $549 = 0, $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0, $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0; + var $561 = 0, $562 = 0, $563 = 0, $564 = 0, $565 = 0, $566 = 0, $567 = 0, $568 = 0, $569 = 0, $57 = 0, $570 = 0, $571 = 0, $572 = 0, $573 = 0, $574 = 0, $575 = 0, $576 = 0, $577 = 0, $578 = 0, $579 = 0; + var $58 = 0, $580 = 0, $581 = 0, $582 = 0, $583 = 0, $584 = 0, $585 = 0, $586 = 0, $587 = 0, $588 = 0, $589 = 0, $59 = 0, $590 = 0, $591 = 0, $592 = 0, $593 = 0, $594 = 0, $595 = 0, $596 = 0, $597 = 0; + var $598 = 0, $599 = 0, $6 = 0, $60 = 0, $600 = 0, $601 = 0, $602 = 0, $603 = 0, $604 = 0, $605 = 0, $606 = 0, $607 = 0, $608 = 0, $609 = 0, $61 = 0, $610 = 0, $611 = 0, $612 = 0, $613 = 0, $614 = 0; + var $615 = 0, $616 = 0, $617 = 0, $618 = 0, $619 = 0, $62 = 0, $620 = 0, $621 = 0, $622 = 0, $623 = 0, $624 = 0, $625 = 0, $626 = 0, $627 = 0, $628 = 0, $629 = 0, $63 = 0, $630 = 0, $631 = 0, $632 = 0; + var $633 = 0, $634 = 0, $635 = 0, $636 = 0, $637 = 0, $638 = 0, $639 = 0, $64 = 0, $640 = 0, $641 = 0, $642 = 0, $643 = 0, $644 = 0, $645 = 0, $646 = 0, $647 = 0, $648 = 0, $649 = 0, $65 = 0, $650 = 0; + var $651 = 0, $652 = 0, $653 = 0, $654 = 0, $655 = 0, $656 = 0, $657 = 0, $658 = 0, $659 = 0, $66 = 0, $660 = 0, $661 = 0, $662 = 0, $663 = 0, $664 = 0, $665 = 0, $666 = 0, $667 = 0, $668 = 0, $669 = 0; + var $67 = 0, $670 = 0, $671 = 0, $672 = 0, $673 = 0, $674 = 0, $675 = 0, $676 = 0, $677 = 0, $678 = 0, $679 = 0, $68 = 0, $680 = 0, $681 = 0, $682 = 0, $683 = 0, $684 = 0, $685 = 0, $686 = 0, $687 = 0; + var $688 = 0, $689 = 0, $69 = 0, $690 = 0, $691 = 0, $692 = 0, $693 = 0, $694 = 0, $695 = 0, $696 = 0, $697 = 0, $698 = 0, $699 = 0, $7 = 0, $70 = 0, $700 = 0, $701 = 0, $702 = 0, $703 = 0, $704 = 0; + var $705 = 0, $706 = 0, $707 = 0, $708 = 0, $709 = 0, $71 = 0, $710 = 0, $711 = 0, $712 = 0, $713 = 0, $714 = 0, $715 = 0, $716 = 0, $717 = 0, $718 = 0, $719 = 0, $72 = 0, $720 = 0, $721 = 0, $722 = 0; + var $723 = 0, $724 = 0, $725 = 0, $726 = 0, $727 = 0, $728 = 0, $729 = 0, $73 = 0, $730 = 0, $731 = 0, $732 = 0, $733 = 0, $734 = 0, $735 = 0, $736 = 0, $737 = 0, $738 = 0, $739 = 0, $74 = 0, $740 = 0; + var $741 = 0, $742 = 0, $743 = 0, $744 = 0, $745 = 0, $746 = 0, $747 = 0, $748 = 0, $749 = 0, $75 = 0, $750 = 0, $751 = 0, $752 = 0, $753 = 0, $754 = 0, $755 = 0, $756 = 0, $757 = 0, $758 = 0, $759 = 0; + var $76 = 0, $760 = 0, $761 = 0, $762 = 0, $763 = 0, $764 = 0, $765 = 0, $766 = 0, $767 = 0, $768 = 0.0, $769 = 0, $77 = 0, $770 = 0.0, $771 = 0, $772 = 0, $773 = 0, $774 = 0, $775 = 0, $776 = 0, $777 = 0; + var $778 = 0, $779 = 0, $78 = 0, $780 = 0, $781 = 0, $782 = 0, $783 = 0, $784 = 0, $785 = 0, $786 = 0, $787 = 0, $788 = 0, $789 = 0, $79 = 0, $790 = 0, $791 = 0, $792 = 0, $793 = 0, $794 = 0, $795 = 0; + var $796 = 0, $797 = 0, $798 = 0, $799 = 0, $8 = 0, $80 = 0, $800 = 0, $801 = 0.0, $802 = 0, $803 = 0.0, $804 = 0, $805 = 0, $806 = 0, $807 = 0, $808 = 0, $809 = 0, $81 = 0, $810 = 0, $811 = 0, $812 = 0; + var $813 = 0, $814 = 0, $815 = 0, $816 = 0, $817 = 0, $818 = 0, $819 = 0, $82 = 0, $820 = 0, $821 = 0, $822 = 0, $823 = 0, $824 = 0, $825 = 0, $826 = 0, $827 = 0, $828 = 0, $829 = 0, $83 = 0, $830 = 0; + var $831 = 0, $832 = 0, $833 = 0, $834 = 0, $835 = 0, $836 = 0, $837 = 0, $838 = 0, $839 = 0, $84 = 0, $840 = 0, $841 = 0, $842 = 0, $843 = 0, $844 = 0, $845 = 0, $846 = 0, $847 = 0, $848 = 0, $849 = 0; + var $85 = 0, $850 = 0, $851 = 0, $852 = 0, $853 = 0, $854 = 0, $855 = 0, $856 = 0, $857 = 0, $858 = 0, $859 = 0, $86 = 0, $860 = 0, $861 = 0, $862 = 0, $863 = 0, $864 = 0, $865 = 0.0, $866 = 0.0, $867 = 0; + var $868 = 0, $869 = 0, $87 = 0, $870 = 0, $871 = 0, $872 = 0, $873 = 0, $874 = 0, $875 = 0, $876 = 0, $877 = 0, $878 = 0, $879 = 0, $88 = 0, $880 = 0, $881 = 0.0, $882 = 0.0, $883 = 0, $884 = 0, $885 = 0; + var $886 = 0, $887 = 0, $888 = 0, $889 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond = 0, $exitcond793 = 0, $phitmp = 0, $phitmp804 = 0; + var $sext = 0, $sext690 = 0, $sext691 = 0, $sext692 = 0, label = 0, sp = 0; + sp = STACKTOP; + $4 = ((($0)) + 4|0); + _memcpy_pad($4,20,$1,$2,17); + $5 = ((($0)) + 25|0); + _memcpy_pad($5,20,$1,$2,38); + $6 = ($2>>>0)>(60); + if ($6) { + $7 = ((($1)) + 60|0); + $8 = HEAP8[$7>>0]|0; + $9 = $8&255; + $10 = ($2|0)==(61); + if ($10) { + $$ph700 = 0;$$ph701 = $9; + label = 5; + } else { + $11 = ((($1)) + 61|0); + $12 = HEAP8[$11>>0]|0; + $13 = $12&255; + $14 = $13 << 8; + $15 = $14 | $9; + $16 = ($2>>>0)>(62); + if ($16) { + $17 = ((($1)) + 62|0); + $18 = HEAP8[$17>>0]|0; + $19 = $18&255; + $20 = ($2|0)==(63); + if ($20) { + $$ph700 = $19;$$ph701 = $15; + label = 5; + } else { + $23 = ((($1)) + 63|0); + $24 = HEAP8[$23>>0]|0; + $25 = $24&255; + $26 = $25 << 8; + $27 = $26 | $19; + $28 = $27 << 16; + $29 = $28 | $15; + $30 = ($2>>>0)>(64); + if ($30) { + $31 = ((($1)) + 64|0); + $32 = HEAP8[$31>>0]|0; + $33 = $32&255; + $34 = ($2|0)==(65); + if ($34) { + $$ph707 = $33;$$ph708 = $29; + label = 8; + } else { + $37 = ((($1)) + 65|0); + $38 = HEAP8[$37>>0]|0; + $39 = $38&255; + $40 = $39 << 8; + $41 = $40 | $33; + $42 = $41&65535; + $43 = ((($0)) + 46|0); + HEAP16[$43>>1] = $42; + $44 = ($2>>>0)>(66); + if ($44) { + $45 = ((($1)) + 66|0); + $46 = HEAP8[$45>>0]|0; + $47 = $46&255; + $48 = ($2|0)==(67); + if ($48) { + $$ph714 = $47;$$ph715 = $29; + label = 11; + } else { + $51 = ((($1)) + 67|0); + $52 = HEAP8[$51>>0]|0; + $53 = $52&255; + $54 = $53 << 8; + $55 = $54 | $47; + $56 = $55&65535; + $57 = ((($0)) + 48|0); + HEAP16[$57>>1] = $56; + $58 = ($2>>>0)>(68); + if ($58) { + $59 = ((($1)) + 68|0); + $60 = HEAP8[$59>>0]|0; + $61 = $60&255; + $62 = ($2|0)==(69); + if ($62) { + $$ph721 = $61;$$ph722 = $29; + label = 14; + } else { + $65 = ((($1)) + 69|0); + $66 = HEAP8[$65>>0]|0; + $67 = $66&255; + $68 = $67 << 8; + $69 = $68 | $61; + $70 = $69&65535; + $71 = ((($0)) + 50|0); + HEAP16[$71>>1] = $70; + $72 = ($2>>>0)>(70); + if ($72) { + $73 = ((($1)) + 70|0); + $74 = HEAP8[$73>>0]|0; + $75 = $74&255; + $76 = ($2|0)==(71); + if ($76) { + $$ph729 = $75;$$ph730 = $29;$$ph731 = $71; + label = 17; + } else { + $79 = ((($1)) + 71|0); + $80 = HEAP8[$79>>0]|0; + $81 = $80&255; + $82 = $81 << 8; + $83 = $82 | $75; + $84 = $83&65535; + $85 = ((($0)) + 52|0); + HEAP16[$85>>1] = $84; + $86 = ($2>>>0)>(72); + if ($86) { + $87 = ((($1)) + 72|0); + $88 = HEAP8[$87>>0]|0; + $89 = $88&255; + $90 = ($2|0)==(73); + if ($90) { + $101 = $85;$147 = $29;$186 = $71;$95 = 0;$96 = $89; + } else { + $91 = ((($1)) + 73|0); + $92 = HEAP8[$91>>0]|0; + $93 = $92&255; + $phitmp = $93 << 8; + $101 = $85;$147 = $29;$186 = $71;$95 = $phitmp;$96 = $89; + } + } else { + $101 = $85;$147 = $29;$186 = $71;$95 = 0;$96 = 0; + } + } + } else { + $$ph729 = 0;$$ph730 = $29;$$ph731 = $71; + label = 17; + } + } + } else { + $$ph721 = 0;$$ph722 = $29; + label = 14; + } + } + } else { + $$ph714 = 0;$$ph715 = $29; + label = 11; + } + } + } else { + $$ph707 = 0;$$ph708 = $29; + label = 8; + } + } + } else { + $$ph700 = 0;$$ph701 = $15; + label = 5; + } + } + } else { + $$ph700 = 0;$$ph701 = 0; + label = 5; + } + if ((label|0) == 5) { + $21 = $$ph700 << 16; + $22 = $$ph701 | $21; + $$ph707 = 0;$$ph708 = $22; + label = 8; + } + if ((label|0) == 8) { + $35 = $$ph707&65535; + $36 = ((($0)) + 46|0); + HEAP16[$36>>1] = $35; + $$ph714 = 0;$$ph715 = $$ph708; + label = 11; + } + if ((label|0) == 11) { + $49 = $$ph714&65535; + $50 = ((($0)) + 48|0); + HEAP16[$50>>1] = $49; + $$ph721 = 0;$$ph722 = $$ph715; + label = 14; + } + if ((label|0) == 14) { + $63 = $$ph721&65535; + $64 = ((($0)) + 50|0); + HEAP16[$64>>1] = $63; + $$ph729 = 0;$$ph730 = $$ph722;$$ph731 = $64; + label = 17; + } + if ((label|0) == 17) { + $77 = $$ph729&65535; + $78 = ((($0)) + 52|0); + HEAP16[$78>>1] = $77; + $101 = $78;$147 = $$ph730;$186 = $$ph731;$95 = 0;$96 = 0; + } + $94 = $95 | $96; + $97 = $94&65535; + $98 = ((($0)) + 54|0); + HEAP16[$98>>1] = $97; + $99 = ((($0)) + 316|0); + HEAP32[$99>>2] = $3; + $100 = HEAP16[$101>>1]|0; + $102 = $100&65535; + $103 = $102 << 3; + $104 = (($3) + ($103)|0); + $105 = ((($0)) + 320|0); + HEAP32[$105>>2] = $104; + $106 = HEAP16[$98>>1]|0; + $107 = $106&65535; + $108 = ($107*280)|0; + $109 = (($104) + ($108)|0); + $110 = ($2>>>0)>(74); + if ($110) { + $112 = ((($1)) + 74|0); + $113 = HEAP8[$112>>0]|0; + $114 = ($2>>>0)>(76); + $115 = $113 & 1; + $116 = $115 ^ 1; + $117 = $116&255; + $118 = ((($0)) + 56|0); + HEAP32[$118>>2] = $117; + if ($114) { + $119 = ($2|0)==(77); + $120 = ((($1)) + 76|0); + $121 = HEAP8[$120>>0]|0; + $122 = $121&255; + if ($119) { + $$ph740 = $122; + label = 25; + } else { + $125 = ((($1)) + 77|0); + $126 = HEAP8[$125>>0]|0; + $127 = $126&255; + $128 = $127 << 8; + $129 = $128 | $122; + $130 = $129&65535; + $131 = ((($0)) + 328|0); + HEAP16[$131>>1] = $130; + $132 = ($2>>>0)>(78); + if ($132) { + $133 = ((($1)) + 78|0); + $134 = HEAP8[$133>>0]|0; + $135 = $134&255; + $136 = ($2|0)==(79); + if ($136) { + $141 = 0;$142 = $135; + } else { + $137 = ((($1)) + 79|0); + $138 = HEAP8[$137>>0]|0; + $139 = $138&255; + $phitmp804 = $139 << 8; + $141 = $phitmp804;$142 = $135; + } + } else { + $141 = 0;$142 = 0; + } + } + } else { + $$ph740 = 0; + label = 25; + } + } else { + $111 = ((($0)) + 56|0); + HEAP32[$111>>2] = 1; + $$ph740 = 0; + label = 25; + } + if ((label|0) == 25) { + $123 = $$ph740&65535; + $124 = ((($0)) + 328|0); + HEAP16[$124>>1] = $123; + $141 = 0;$142 = 0; + } + $140 = $141 | $142; + $143 = $140&65535; + $144 = ((($0)) + 330|0); + HEAP16[$144>>1] = $143; + $145 = ((($0)) + 60|0); + _memcpy_pad($145,256,$1,$2,80); + $146 = (($147) + 60)|0; + $148 = HEAP16[$101>>1]|0; + $149 = ($148<<16>>16)==(0); + if ($149) { + $$0671$lcssa = $109;$$0672$lcssa = $146; + } else { + $$0671787 = $109;$$0672786 = $146;$$0678785 = 0;$183 = 0; + while(1) { + $152 = (($$0672786) + 7)|0; + $153 = ($152>>>0)<($2>>>0); + if ($153) { + $154 = (($1) + ($152)|0); + $155 = HEAP8[$154>>0]|0; + $156 = $155&255; + $165 = $156; + } else { + $165 = 0; + } + $157 = (($$0672786) + 8)|0; + $158 = ($157>>>0)<($2>>>0); + if ($158) { + $159 = (($1) + ($157)|0); + $160 = HEAP8[$159>>0]|0; + $161 = $160&255; + $163 = $161; + } else { + $163 = 0; + } + $162 = $163 << 8; + $164 = $162 | $165; + $166 = HEAP32[$99>>2]|0; + $167 = (($$0672786) + 5)|0; + $168 = ($167>>>0)<($2>>>0); + if ($168) { + $169 = (($1) + ($167)|0); + $170 = HEAP8[$169>>0]|0; + $171 = $170&255; + $180 = $171; + } else { + $180 = 0; + } + $172 = (($$0672786) + 6)|0; + $173 = ($172>>>0)<($2>>>0); + if ($173) { + $174 = (($1) + ($172)|0); + $175 = HEAP8[$174>>0]|0; + $176 = $175&255; + $178 = $176; + } else { + $178 = 0; + } + $177 = $178 << 8; + $179 = $177 | $180; + $181 = $179&65535; + $182 = (($166) + ($183<<3)|0); + HEAP16[$182>>1] = $181; + $184 = (((($166) + ($183<<3)|0)) + 4|0); + HEAP32[$184>>2] = $$0671787; + $185 = HEAP16[$186>>1]|0; + $187 = $185&65535; + $188 = ($179*5)|0; + $189 = Math_imul($188, $187)|0; + $190 = (($$0671787) + ($189)|0); + $191 = ($$0672786>>>0)<($2>>>0); + if ($191) { + $192 = (($1) + ($$0672786)|0); + $193 = HEAP8[$192>>0]|0; + $194 = $193&255; + $203 = $194; + } else { + $203 = 0; + } + $195 = (($$0672786) + 1)|0; + $196 = ($195>>>0)<($2>>>0); + if ($196) { + $197 = (($1) + ($195)|0); + $198 = HEAP8[$197>>0]|0; + $199 = $198&255; + $201 = $199; + } else { + $201 = 0; + } + $200 = $201 << 8; + $202 = $200 | $203; + $204 = (($$0672786) + 2)|0; + $205 = ($204>>>0)<($2>>>0); + if ($205) { + $206 = (($1) + ($204)|0); + $207 = HEAP8[$206>>0]|0; + $208 = $207&255; + $217 = $208; + } else { + $217 = 0; + } + $209 = (($$0672786) + 3)|0; + $210 = ($209>>>0)<($2>>>0); + if ($210) { + $211 = (($1) + ($209)|0); + $212 = HEAP8[$211>>0]|0; + $213 = $212&255; + $215 = $213; + } else { + $215 = 0; + } + $214 = $215 << 8; + $216 = $214 | $217; + $218 = $216 << 16; + $219 = $202 | $218; + $220 = (($219) + ($$0672786))|0; + $221 = ($164|0)==(0); + if ($221) { + $222 = HEAP32[$184>>2]|0; + $223 = HEAP16[$182>>1]|0; + $224 = $223&65535; + $225 = ($224*5)|0; + $226 = HEAP16[$186>>1]|0; + $227 = $226&65535; + $228 = Math_imul($225, $227)|0; + _memset(($222|0),0,($228|0))|0; + } else { + $$0682783 = 0;$$0689782 = 0;$230 = 0; + while(1) { + $229 = (($230) + ($220))|0; + $231 = ($229>>>0)<($2>>>0); + do { + if ($231) { + $235 = (($1) + ($229)|0); + $236 = HEAP8[$235>>0]|0; + $237 = $236&255; + $238 = HEAP32[$184>>2]|0; + $239 = $$0689782&65535; + $240 = (($238) + (($239*5)|0)|0); + $241 = $237 & 128; + $242 = ($241|0)==(0); + if ($242) { + $308 = $237;$309 = $240;$318 = $238;$319 = $239; + label = 77; + } else { + $243 = (($$0682783) + 1)<<16>>16; + $244 = $237 & 1; + $245 = ($244|0)==(0); + if ($245) { + HEAP8[$240>>0] = 0; + $$1683 = $243; + } else { + $246 = $243&65535; + $247 = (($246) + ($220))|0; + $248 = ($247>>>0)<($2>>>0); + if ($248) { + $249 = (($1) + ($247)|0); + $250 = HEAP8[$249>>0]|0; + $251 = $250&255; + $253 = $251; + } else { + $253 = 0; + } + $252 = $253&255; + HEAP8[$240>>0] = $252; + $254 = (($$0682783) + 2)<<16>>16; + $$1683 = $254; + } + $255 = $237 & 2; + $256 = ($255|0)==(0); + if ($256) { + $267 = (((($238) + (($239*5)|0)|0)) + 1|0); + HEAP8[$267>>0] = 0; + $$2684 = $$1683; + } else { + $257 = $$1683&65535; + $258 = (($257) + ($220))|0; + $259 = ($258>>>0)<($2>>>0); + if ($259) { + $260 = (($1) + ($258)|0); + $261 = HEAP8[$260>>0]|0; + $262 = $261&255; + $264 = $262; + } else { + $264 = 0; + } + $263 = $264&255; + $265 = (((($238) + (($239*5)|0)|0)) + 1|0); + HEAP8[$265>>0] = $263; + $266 = (($$1683) + 1)<<16>>16; + $$2684 = $266; + } + $268 = $237 & 4; + $269 = ($268|0)==(0); + if ($269) { + $280 = (((($238) + (($239*5)|0)|0)) + 2|0); + HEAP8[$280>>0] = 0; + $$3685 = $$2684; + } else { + $270 = $$2684&65535; + $271 = (($270) + ($220))|0; + $272 = ($271>>>0)<($2>>>0); + if ($272) { + $273 = (($1) + ($271)|0); + $274 = HEAP8[$273>>0]|0; + $275 = $274&255; + $277 = $275; + } else { + $277 = 0; + } + $276 = $277&255; + $278 = (((($238) + (($239*5)|0)|0)) + 2|0); + HEAP8[$278>>0] = $276; + $279 = (($$2684) + 1)<<16>>16; + $$3685 = $279; + } + $281 = $237 & 8; + $282 = ($281|0)==(0); + if ($282) { + $293 = (((($238) + (($239*5)|0)|0)) + 3|0); + HEAP8[$293>>0] = 0; + $$4686 = $$3685; + } else { + $283 = $$3685&65535; + $284 = (($283) + ($220))|0; + $285 = ($284>>>0)<($2>>>0); + if ($285) { + $286 = (($1) + ($284)|0); + $287 = HEAP8[$286>>0]|0; + $288 = $287&255; + $290 = $288; + } else { + $290 = 0; + } + $289 = $290&255; + $291 = (((($238) + (($239*5)|0)|0)) + 3|0); + HEAP8[$291>>0] = $289; + $292 = (($$3685) + 1)<<16>>16; + $$4686 = $292; + } + $294 = $237 & 16; + $295 = ($294|0)==(0); + if ($295) { + $306 = (((($238) + (($239*5)|0)|0)) + 4|0); + HEAP8[$306>>0] = 0; + $$5 = $$4686; + break; + } + $296 = $$4686&65535; + $297 = (($296) + ($220))|0; + $298 = ($297>>>0)<($2>>>0); + if ($298) { + $299 = (($1) + ($297)|0); + $300 = HEAP8[$299>>0]|0; + $301 = $300&255; + $303 = $301; + } else { + $303 = 0; + } + $302 = $303&255; + $304 = (((($238) + (($239*5)|0)|0)) + 4|0); + HEAP8[$304>>0] = $302; + $305 = (($$4686) + 1)<<16>>16; + $$5 = $305; + } + } else { + $232 = HEAP32[$184>>2]|0; + $233 = $$0689782&65535; + $234 = (($232) + (($233*5)|0)|0); + $308 = 0;$309 = $234;$318 = $232;$319 = $233; + label = 77; + } + } while(0); + if ((label|0) == 77) { + label = 0; + $307 = $308&255; + HEAP8[$309>>0] = $307; + $310 = (($229) + 1)|0; + $311 = ($310>>>0)<($2>>>0); + if ($311) { + $312 = (($1) + ($310)|0); + $313 = HEAP8[$312>>0]|0; + $314 = $313&255; + $316 = $314; + } else { + $316 = 0; + } + $315 = $316&255; + $317 = (((($318) + (($319*5)|0)|0)) + 1|0); + HEAP8[$317>>0] = $315; + $320 = (($229) + 2)|0; + $321 = ($320>>>0)<($2>>>0); + if ($321) { + $322 = (($1) + ($320)|0); + $323 = HEAP8[$322>>0]|0; + $324 = $323&255; + $326 = $324; + } else { + $326 = 0; + } + $325 = $326&255; + $327 = (((($318) + (($319*5)|0)|0)) + 2|0); + HEAP8[$327>>0] = $325; + $328 = (($229) + 3)|0; + $329 = ($328>>>0)<($2>>>0); + if ($329) { + $330 = (($1) + ($328)|0); + $331 = HEAP8[$330>>0]|0; + $332 = $331&255; + $334 = $332; + } else { + $334 = 0; + } + $333 = $334&255; + $335 = (((($318) + (($319*5)|0)|0)) + 3|0); + HEAP8[$335>>0] = $333; + $336 = (($229) + 4)|0; + $337 = ($336>>>0)<($2>>>0); + if ($337) { + $338 = (($1) + ($336)|0); + $339 = HEAP8[$338>>0]|0; + $340 = $339&255; + $342 = $340; + } else { + $342 = 0; + } + $341 = $342&255; + $343 = (((($318) + (($319*5)|0)|0)) + 4|0); + HEAP8[$343>>0] = $341; + $344 = (($230) + 5)|0; + $345 = $344&65535; + $$5 = $345; + } + $346 = (($$0689782) + 1)<<16>>16; + $347 = $$5&65535; + $348 = ($347>>>0)<($164>>>0); + if ($348) { + $$0682783 = $$5;$$0689782 = $346;$230 = $347; + } else { + break; + } + } + } + $349 = (($220) + ($164))|0; + $350 = (($$0678785) + 1)<<16>>16; + $351 = $350&65535; + $352 = HEAP16[$101>>1]|0; + $353 = ($350&65535)<($352&65535); + if ($353) { + $$0671787 = $190;$$0672786 = $349;$$0678785 = $350;$183 = $351; + } else { + $$0671$lcssa = $190;$$0672$lcssa = $349; + break; + } + } + } + $150 = HEAP16[$98>>1]|0; + $151 = ($150<<16>>16)==(0); + if ($151) { + $$1$lcssa = $$0671$lcssa; + return ($$1$lcssa|0); + } else { + $$0688776 = 0;$$1673777 = $$0672$lcssa;$$1778 = $$0671$lcssa; + } + while(1) { + $354 = $$0688776&65535; + $355 = HEAP32[$105>>2]|0; + $356 = (($355) + (($354*280)|0)|0); + $357 = (($$1673777) + 4)|0; + _memcpy_pad($356,22,$1,$2,$357); + $358 = (($$1673777) + 27)|0; + $359 = ($358>>>0)<($2>>>0); + if ($359) { + $360 = (($1) + ($358)|0); + $361 = HEAP8[$360>>0]|0; + $362 = $361&255; + $371 = $362; + } else { + $371 = 0; + } + $363 = (($$1673777) + 28)|0; + $364 = ($363>>>0)<($2>>>0); + if ($364) { + $365 = (($1) + ($363)|0); + $366 = HEAP8[$365>>0]|0; + $367 = $366&255; + $369 = $367; + } else { + $369 = 0; + } + $368 = $369 << 8; + $370 = $368 | $371; + $372 = $370&65535; + $373 = (((($355) + (($354*280)|0)|0)) + 24|0); + HEAP16[$373>>1] = $372; + $374 = ($370|0)==(0); + if ($374) { + $629 = (((($355) + (($354*280)|0)|0)) + 276|0); + HEAP32[$629>>2] = 0; + $$0687 = 0;$$2 = $$1778; + } else { + $375 = (($$1673777) + 29)|0; + $376 = ($375>>>0)<($2>>>0); + if ($376) { + $377 = (($1) + ($375)|0); + $378 = HEAP8[$377>>0]|0; + $379 = $378&255; + $388 = $379; + } else { + $388 = 0; + } + $380 = (($$1673777) + 30)|0; + $381 = ($380>>>0)<($2>>>0); + if ($381) { + $382 = (($1) + ($380)|0); + $383 = HEAP8[$382>>0]|0; + $384 = $383&255; + $386 = $384; + } else { + $386 = 0; + } + $385 = $386 << 8; + $387 = $385 | $388; + $389 = (($$1673777) + 31)|0; + $390 = ($389>>>0)<($2>>>0); + if ($390) { + $391 = (($1) + ($389)|0); + $392 = HEAP8[$391>>0]|0; + $393 = $392&255; + $402 = $393; + } else { + $402 = 0; + } + $394 = (($$1673777) + 32)|0; + $395 = ($394>>>0)<($2>>>0); + if ($395) { + $396 = (($1) + ($394)|0); + $397 = HEAP8[$396>>0]|0; + $398 = $397&255; + $400 = $398; + } else { + $400 = 0; + } + $399 = $400 << 8; + $401 = $399 | $402; + $403 = $401 << 16; + $404 = $387 | $403; + $405 = (((($355) + (($354*280)|0)|0)) + 26|0); + $406 = (($$1673777) + 33)|0; + _memcpy_pad($405,96,$1,$2,$406); + $407 = (($$1673777) + 225)|0; + $408 = ($407>>>0)<($2>>>0); + if ($408) { + $409 = (($1) + ($407)|0); + $410 = HEAP8[$409>>0]|0; + $411 = $410&255; + $413 = $411; + } else { + $413 = 0; + } + $412 = $413&255; + $414 = (((($355) + (($354*280)|0)|0)) + 172|0); + HEAP8[$414>>0] = $412; + $415 = (($$1673777) + 226)|0; + $416 = ($415>>>0)<($2>>>0); + if ($416) { + $417 = (($1) + ($415)|0); + $418 = HEAP8[$417>>0]|0; + $419 = $418&255; + $421 = $419; + } else { + $421 = 0; + } + $420 = $421&255; + $422 = (((($355) + (($354*280)|0)|0)) + 236|0); + HEAP8[$422>>0] = $420; + $423 = HEAP8[$414>>0]|0; + $424 = ($423<<24>>24)==(0); + if ($424) { + $427 = $420; + } else { + $425 = (($$1673777) + 129)|0; + $$0681752 = 0;$430 = 0; + while(1) { + $429 = $430 << 2; + $431 = (($425) + ($429))|0; + $432 = ($431>>>0)<($2>>>0); + if ($432) { + $433 = (($1) + ($431)|0); + $434 = HEAP8[$433>>0]|0; + $435 = $434&255; + $444 = $435; + } else { + $444 = 0; + } + $436 = (($431) + 1)|0; + $437 = ($436>>>0)<($2>>>0); + if ($437) { + $438 = (($1) + ($436)|0); + $439 = HEAP8[$438>>0]|0; + $440 = $439&255; + $442 = $440; + } else { + $442 = 0; + } + $441 = $442 << 8; + $443 = $441 | $444; + $445 = $443&65535; + $446 = ((((($355) + (($354*280)|0)|0)) + 124|0) + ($430<<2)|0); + HEAP16[$446>>1] = $445; + $447 = (($431) + 2)|0; + $448 = ($447>>>0)<($2>>>0); + if ($448) { + $449 = (($1) + ($447)|0); + $450 = HEAP8[$449>>0]|0; + $451 = $450&255; + $460 = $451; + } else { + $460 = 0; + } + $452 = (($431) + 3)|0; + $453 = ($452>>>0)<($2>>>0); + if ($453) { + $454 = (($1) + ($452)|0); + $455 = HEAP8[$454>>0]|0; + $456 = $455&255; + $458 = $456; + } else { + $458 = 0; + } + $457 = $458 << 8; + $459 = $457 | $460; + $461 = $459&65535; + $462 = ((((((($355) + (($354*280)|0)|0)) + 124|0) + ($430<<2)|0)) + 2|0); + HEAP16[$462>>1] = $461; + $463 = (($$0681752) + 1)<<24>>24; + $464 = $463&255; + $465 = HEAP8[$414>>0]|0; + $466 = ($463&255)<($465&255); + if ($466) { + $$0681752 = $463;$430 = $464; + } else { + break; + } + } + $$pr = HEAP8[$422>>0]|0; + $427 = $$pr; + } + $426 = ($427<<24>>24)==(0); + if (!($426)) { + $428 = (($$1673777) + 177)|0; + $$0680753 = 0;$470 = 0; + while(1) { + $469 = $470 << 2; + $471 = (($428) + ($469))|0; + $472 = ($471>>>0)<($2>>>0); + if ($472) { + $473 = (($1) + ($471)|0); + $474 = HEAP8[$473>>0]|0; + $475 = $474&255; + $484 = $475; + } else { + $484 = 0; + } + $476 = (($471) + 1)|0; + $477 = ($476>>>0)<($2>>>0); + if ($477) { + $478 = (($1) + ($476)|0); + $479 = HEAP8[$478>>0]|0; + $480 = $479&255; + $482 = $480; + } else { + $482 = 0; + } + $481 = $482 << 8; + $483 = $481 | $484; + $485 = $483&65535; + $486 = ((((($355) + (($354*280)|0)|0)) + 188|0) + ($470<<2)|0); + HEAP16[$486>>1] = $485; + $487 = (($471) + 2)|0; + $488 = ($487>>>0)<($2>>>0); + if ($488) { + $489 = (($1) + ($487)|0); + $490 = HEAP8[$489>>0]|0; + $491 = $490&255; + $500 = $491; + } else { + $500 = 0; + } + $492 = (($471) + 3)|0; + $493 = ($492>>>0)<($2>>>0); + if ($493) { + $494 = (($1) + ($492)|0); + $495 = HEAP8[$494>>0]|0; + $496 = $495&255; + $498 = $496; + } else { + $498 = 0; + } + $497 = $498 << 8; + $499 = $497 | $500; + $501 = $499&65535; + $502 = ((((((($355) + (($354*280)|0)|0)) + 188|0) + ($470<<2)|0)) + 2|0); + HEAP16[$502>>1] = $501; + $503 = (($$0680753) + 1)<<24>>24; + $504 = $503&255; + $505 = HEAP8[$422>>0]|0; + $506 = ($503&255)<($505&255); + if ($506) { + $$0680753 = $503;$470 = $504; + } else { + break; + } + } + } + $467 = (($$1673777) + 227)|0; + $468 = ($467>>>0)<($2>>>0); + if ($468) { + $507 = (($1) + ($467)|0); + $508 = HEAP8[$507>>0]|0; + $509 = $508&255; + $511 = $509; + } else { + $511 = 0; + } + $510 = $511&255; + $512 = (((($355) + (($354*280)|0)|0)) + 173|0); + HEAP8[$512>>0] = $510; + $513 = (($$1673777) + 228)|0; + $514 = ($513>>>0)<($2>>>0); + if ($514) { + $515 = (($1) + ($513)|0); + $516 = HEAP8[$515>>0]|0; + $517 = $516&255; + $519 = $517; + } else { + $519 = 0; + } + $518 = $519&255; + $520 = (((($355) + (($354*280)|0)|0)) + 174|0); + HEAP8[$520>>0] = $518; + $521 = (($$1673777) + 229)|0; + $522 = ($521>>>0)<($2>>>0); + if ($522) { + $523 = (($1) + ($521)|0); + $524 = HEAP8[$523>>0]|0; + $525 = $524&255; + $527 = $525; + } else { + $527 = 0; + } + $526 = $527&255; + $528 = (((($355) + (($354*280)|0)|0)) + 175|0); + HEAP8[$528>>0] = $526; + $529 = (($$1673777) + 230)|0; + $530 = ($529>>>0)<($2>>>0); + if ($530) { + $531 = (($1) + ($529)|0); + $532 = HEAP8[$531>>0]|0; + $533 = $532&255; + $535 = $533; + } else { + $535 = 0; + } + $534 = $535&255; + $536 = (((($355) + (($354*280)|0)|0)) + 237|0); + HEAP8[$536>>0] = $534; + $537 = (($$1673777) + 231)|0; + $538 = ($537>>>0)<($2>>>0); + if ($538) { + $539 = (($1) + ($537)|0); + $540 = HEAP8[$539>>0]|0; + $541 = $540&255; + $543 = $541; + } else { + $543 = 0; + } + $542 = $543&255; + $544 = (((($355) + (($354*280)|0)|0)) + 238|0); + HEAP8[$544>>0] = $542; + $545 = (($$1673777) + 232)|0; + $546 = ($545>>>0)<($2>>>0); + if ($546) { + $547 = (($1) + ($545)|0); + $548 = HEAP8[$547>>0]|0; + $549 = $548&255; + $551 = $549; + } else { + $551 = 0; + } + $550 = $551&255; + $552 = (((($355) + (($354*280)|0)|0)) + 239|0); + HEAP8[$552>>0] = $550; + $553 = (($$1673777) + 233)|0; + $554 = ($553>>>0)<($2>>>0); + if ($554) { + $555 = (($1) + ($553)|0); + $556 = HEAP8[$555>>0]|0; + $557 = $556&255; + $559 = $557; + } else { + $559 = 0; + } + $558 = $559 & 1; + $560 = (((($355) + (($354*280)|0)|0)) + 176|0); + HEAP32[$560>>2] = $558; + $561 = $559 & 2; + $562 = (((($355) + (($354*280)|0)|0)) + 180|0); + HEAP32[$562>>2] = $561; + $563 = $559 & 4; + $564 = (((($355) + (($354*280)|0)|0)) + 184|0); + HEAP32[$564>>2] = $563; + $565 = (($$1673777) + 234)|0; + $566 = ($565>>>0)<($2>>>0); + if ($566) { + $567 = (($1) + ($565)|0); + $568 = HEAP8[$567>>0]|0; + $569 = $568&255; + $571 = $569; + } else { + $571 = 0; + } + $570 = $571 & 1; + $572 = (((($355) + (($354*280)|0)|0)) + 240|0); + HEAP32[$572>>2] = $570; + $573 = $571 & 2; + $574 = (((($355) + (($354*280)|0)|0)) + 244|0); + HEAP32[$574>>2] = $573; + $575 = $571 & 4; + $576 = (((($355) + (($354*280)|0)|0)) + 248|0); + HEAP32[$576>>2] = $575; + $577 = (($$1673777) + 235)|0; + $578 = ($577>>>0)<($2>>>0); + L213: do { + if ($578) { + $580 = (($1) + ($577)|0); + $581 = HEAP8[$580>>0]|0; + $582 = $581&255; + $583 = (((($355) + (($354*280)|0)|0)) + 252|0); + HEAP32[$583>>2] = $582; + switch ($581<<24>>24) { + case 2: { + $$sink694 = 1; + break; + } + case 1: { + $$sink694 = 2; + break; + } + default: { + break L213; + } + } + HEAP32[$583>>2] = $$sink694; + } else { + $579 = (((($355) + (($354*280)|0)|0)) + 252|0); + HEAP32[$579>>2] = 0; + } + } while(0); + $584 = (($$1673777) + 236)|0; + $585 = ($584>>>0)<($2>>>0); + if ($585) { + $586 = (($1) + ($584)|0); + $587 = HEAP8[$586>>0]|0; + $588 = $587&255; + $590 = $588; + } else { + $590 = 0; + } + $589 = $590&255; + $591 = (((($355) + (($354*280)|0)|0)) + 256|0); + HEAP8[$591>>0] = $589; + $592 = (($$1673777) + 237)|0; + $593 = ($592>>>0)<($2>>>0); + if ($593) { + $594 = (($1) + ($592)|0); + $595 = HEAP8[$594>>0]|0; + $596 = $595&255; + $598 = $596; + } else { + $598 = 0; + } + $597 = $598&255; + $599 = (((($355) + (($354*280)|0)|0)) + 257|0); + HEAP8[$599>>0] = $597; + $600 = (($$1673777) + 238)|0; + $601 = ($600>>>0)<($2>>>0); + if ($601) { + $602 = (($1) + ($600)|0); + $603 = HEAP8[$602>>0]|0; + $604 = $603&255; + $606 = $604; + } else { + $606 = 0; + } + $605 = $606&255; + $607 = (((($355) + (($354*280)|0)|0)) + 258|0); + HEAP8[$607>>0] = $605; + $608 = (($$1673777) + 239)|0; + $609 = ($608>>>0)<($2>>>0); + if ($609) { + $610 = (($1) + ($608)|0); + $611 = HEAP8[$610>>0]|0; + $612 = $611&255; + $621 = $612; + } else { + $621 = 0; + } + $613 = (($$1673777) + 240)|0; + $614 = ($613>>>0)<($2>>>0); + if ($614) { + $615 = (($1) + ($613)|0); + $616 = HEAP8[$615>>0]|0; + $617 = $616&255; + $619 = $617; + } else { + $619 = 0; + } + $618 = $619 << 8; + $620 = $618 | $621; + $622 = $620&65535; + $623 = (((($355) + (($354*280)|0)|0)) + 260|0); + HEAP16[$623>>1] = $622; + $624 = (((($355) + (($354*280)|0)|0)) + 276|0); + HEAP32[$624>>2] = $$1778; + $625 = HEAP16[$373>>1]|0; + $626 = $625&65535; + $627 = ($626*80)|0; + $628 = (($$1778) + ($627)|0); + $$0687 = $404;$$2 = $628; + } + $630 = ($$1673777>>>0)<($2>>>0); + if ($630) { + $631 = (($1) + ($$1673777)|0); + $632 = HEAP8[$631>>0]|0; + $633 = $632&255; + $642 = $633; + } else { + $642 = 0; + } + $634 = (($$1673777) + 1)|0; + $635 = ($634>>>0)<($2>>>0); + if ($635) { + $636 = (($1) + ($634)|0); + $637 = HEAP8[$636>>0]|0; + $638 = $637&255; + $640 = $638; + } else { + $640 = 0; + } + $639 = $640 << 8; + $641 = $639 | $642; + $643 = (($$1673777) + 2)|0; + $644 = ($643>>>0)<($2>>>0); + if ($644) { + $645 = (($1) + ($643)|0); + $646 = HEAP8[$645>>0]|0; + $647 = $646&255; + $656 = $647; + } else { + $656 = 0; + } + $648 = (($$1673777) + 3)|0; + $649 = ($648>>>0)<($2>>>0); + if ($649) { + $650 = (($1) + ($648)|0); + $651 = HEAP8[$650>>0]|0; + $652 = $651&255; + $654 = $652; + } else { + $654 = 0; + } + $653 = $654 << 8; + $655 = $653 | $656; + $657 = $655 << 16; + $658 = $641 | $657; + $659 = (($658) + ($$1673777))|0; + $660 = HEAP16[$373>>1]|0; + $661 = ($660<<16>>16)==(0); + if ($661) { + $$3$lcssa794 = $$2;$$3675$lcssa = $659; + } else { + $662 = (((($355) + (($354*280)|0)|0)) + 276|0); + $$0679755 = 0;$$2674756 = $659;$$3757 = $$2; + while(1) { + $666 = $$0679755&65535; + $667 = HEAP32[$662>>2]|0; + $668 = ($$2674756>>>0)<($2>>>0); + if ($668) { + $669 = (($1) + ($$2674756)|0); + $670 = HEAP8[$669>>0]|0; + $671 = $670&255; + $680 = $671; + } else { + $680 = 0; + } + $672 = (($$2674756) + 1)|0; + $673 = ($672>>>0)<($2>>>0); + if ($673) { + $674 = (($1) + ($672)|0); + $675 = HEAP8[$674>>0]|0; + $676 = $675&255; + $678 = $676; + } else { + $678 = 0; + } + $677 = $678 << 8; + $679 = $677 | $680; + $681 = (($$2674756) + 2)|0; + $682 = ($681>>>0)<($2>>>0); + if ($682) { + $683 = (($1) + ($681)|0); + $684 = HEAP8[$683>>0]|0; + $685 = $684&255; + $694 = $685; + } else { + $694 = 0; + } + $686 = (($$2674756) + 3)|0; + $687 = ($686>>>0)<($2>>>0); + if ($687) { + $688 = (($1) + ($686)|0); + $689 = HEAP8[$688>>0]|0; + $690 = $689&255; + $692 = $690; + } else { + $692 = 0; + } + $691 = $692 << 8; + $693 = $691 | $694; + $695 = $693 << 16; + $696 = $679 | $695; + $697 = (((($667) + (($666*80)|0)|0)) + 24|0); + HEAP32[$697>>2] = $696; + $698 = (($$2674756) + 4)|0; + $699 = ($698>>>0)<($2>>>0); + if ($699) { + $700 = (($1) + ($698)|0); + $701 = HEAP8[$700>>0]|0; + $702 = $701&255; + $711 = $702; + } else { + $711 = 0; + } + $703 = (($$2674756) + 5)|0; + $704 = ($703>>>0)<($2>>>0); + if ($704) { + $705 = (($1) + ($703)|0); + $706 = HEAP8[$705>>0]|0; + $707 = $706&255; + $709 = $707; + } else { + $709 = 0; + } + $708 = $709 << 8; + $710 = $708 | $711; + $712 = (($$2674756) + 6)|0; + $713 = ($712>>>0)<($2>>>0); + if ($713) { + $714 = (($1) + ($712)|0); + $715 = HEAP8[$714>>0]|0; + $716 = $715&255; + $725 = $716; + } else { + $725 = 0; + } + $717 = (($$2674756) + 7)|0; + $718 = ($717>>>0)<($2>>>0); + if ($718) { + $719 = (($1) + ($717)|0); + $720 = HEAP8[$719>>0]|0; + $721 = $720&255; + $723 = $721; + } else { + $723 = 0; + } + $722 = $723 << 8; + $724 = $722 | $725; + $726 = $724 << 16; + $727 = $710 | $726; + $728 = (((($667) + (($666*80)|0)|0)) + 28|0); + HEAP32[$728>>2] = $727; + $729 = (($$2674756) + 8)|0; + $730 = ($729>>>0)<($2>>>0); + if ($730) { + $731 = (($1) + ($729)|0); + $732 = HEAP8[$731>>0]|0; + $733 = $732&255; + $742 = $733; + } else { + $742 = 0; + } + $734 = (($$2674756) + 9)|0; + $735 = ($734>>>0)<($2>>>0); + if ($735) { + $736 = (($1) + ($734)|0); + $737 = HEAP8[$736>>0]|0; + $738 = $737&255; + $740 = $738; + } else { + $740 = 0; + } + $739 = $740 << 8; + $741 = $739 | $742; + $743 = (($$2674756) + 10)|0; + $744 = ($743>>>0)<($2>>>0); + if ($744) { + $745 = (($1) + ($743)|0); + $746 = HEAP8[$745>>0]|0; + $747 = $746&255; + $756 = $747; + } else { + $756 = 0; + } + $748 = (($$2674756) + 11)|0; + $749 = ($748>>>0)<($2>>>0); + if ($749) { + $750 = (($1) + ($748)|0); + $751 = HEAP8[$750>>0]|0; + $752 = $751&255; + $754 = $752; + } else { + $754 = 0; + } + $753 = $754 << 8; + $755 = $753 | $756; + $757 = $755 << 16; + $758 = $741 | $757; + $759 = (((($667) + (($666*80)|0)|0)) + 32|0); + HEAP32[$759>>2] = $758; + $760 = HEAP32[$728>>2]|0; + $761 = (($758) + ($760))|0; + $762 = (((($667) + (($666*80)|0)|0)) + 36|0); + HEAP32[$762>>2] = $761; + $763 = (($$2674756) + 12)|0; + $764 = ($763>>>0)<($2>>>0); + if ($764) { + $765 = (($1) + ($763)|0); + $766 = HEAP8[$765>>0]|0; + $767 = $766&255; + $769 = $767; + } else { + $769 = 0; + } + $768 = (+($769|0)); + $770 = $768 * 0.015625; + $771 = (((($667) + (($666*80)|0)|0)) + 40|0); + HEAPF32[$771>>2] = $770; + $772 = (($$2674756) + 13)|0; + $773 = ($772>>>0)<($2>>>0); + if ($773) { + $774 = (($1) + ($772)|0); + $775 = HEAP8[$774>>0]|0; + $776 = $775&255; + $778 = $776; + } else { + $778 = 0; + } + $777 = $778&255; + $779 = (((($667) + (($666*80)|0)|0)) + 44|0); + HEAP8[$779>>0] = $777; + $780 = (($$2674756) + 14)|0; + $781 = ($780>>>0)<($2>>>0); + do { + if ($781) { + $782 = (($1) + ($780)|0); + $783 = HEAP8[$782>>0]|0; + $784 = $783&255; + $785 = $784 & 3; + $786 = ($785|0)==(0); + if ($786) { + $889 = $784; + label = 204; + break; + } + $788 = ($785|0)==(1); + $789 = (((($667) + (($666*80)|0)|0)) + 48|0); + $$sink = $788 ? 1 : 2; + HEAP32[$789>>2] = $$sink; + $791 = $784; + } else { + $889 = 0; + label = 204; + } + } while(0); + if ((label|0) == 204) { + label = 0; + $787 = (((($667) + (($666*80)|0)|0)) + 48|0); + HEAP32[$787>>2] = 0; + $791 = $889; + } + $790 = $791 >>> 1; + $792 = $790 & 8; + $793 = (($792) + 8)|0; + $794 = $793&255; + $795 = (((($667) + (($666*80)|0)|0)) + 23|0); + HEAP8[$795>>0] = $794; + $796 = (($$2674756) + 15)|0; + $797 = ($796>>>0)<($2>>>0); + if ($797) { + $798 = (($1) + ($796)|0); + $799 = HEAP8[$798>>0]|0; + $800 = $799&255; + $802 = $800; + } else { + $802 = 0; + } + $801 = (+($802|0)); + $803 = $801 / 255.0; + $804 = (((($667) + (($666*80)|0)|0)) + 52|0); + HEAPF32[$804>>2] = $803; + $805 = (($$2674756) + 16)|0; + $806 = ($805>>>0)<($2>>>0); + if ($806) { + $807 = (($1) + ($805)|0); + $808 = HEAP8[$807>>0]|0; + $809 = $808&255; + $811 = $809; + } else { + $811 = 0; + } + $810 = $811&255; + $812 = (((($667) + (($666*80)|0)|0)) + 56|0); + HEAP8[$812>>0] = $810; + $813 = (($667) + (($666*80)|0)|0); + _memcpy_pad($813,22,$1,$2,18); + $814 = (((($667) + (($666*80)|0)|0)) + 72|0); + HEAP32[$814>>2] = $$3757; + $815 = HEAP8[$795>>0]|0; + $816 = ($815<<24>>24)==(16); + $817 = HEAP32[$697>>2]|0; + if ($816) { + $818 = $817 << 1; + $819 = HEAP32[$728>>2]|0; + $820 = $819 >>> 1; + HEAP32[$728>>2] = $820; + $821 = HEAP32[$759>>2]|0; + $822 = $821 >>> 1; + HEAP32[$759>>2] = $822; + $823 = HEAP32[$762>>2]|0; + $824 = $823 >>> 1; + HEAP32[$762>>2] = $824; + $825 = HEAP32[$697>>2]|0; + $826 = $825 >>> 1; + HEAP32[$697>>2] = $826; + $$pn693 = $818; + } else { + $827 = $817 << 2; + $$pn693 = $827; + } + $$4 = (($$3757) + ($$pn693)|0); + $828 = (($$2674756) + ($$0687))|0; + $829 = (($$0679755) + 1)<<16>>16; + $664 = HEAP16[$373>>1]|0; + $830 = ($829&65535)<($664&65535); + if ($830) { + $$0679755 = $829;$$2674756 = $828;$$3757 = $$4; + } else { + break; + } + } + $663 = ($664<<16>>16)==(0); + if ($663) { + $$3$lcssa794 = $$4;$$3675$lcssa = $828; + } else { + $665 = (((($355) + (($354*280)|0)|0)) + 276|0); + $$0677769 = 0;$$3675770 = $828; + while(1) { + $834 = $$0677769&65535; + $835 = HEAP32[$665>>2]|0; + $836 = (((($835) + (($834*80)|0)|0)) + 24|0); + $837 = HEAP32[$836>>2]|0; + $838 = (((($835) + (($834*80)|0)|0)) + 23|0); + $839 = HEAP8[$838>>0]|0; + $840 = ($839<<24>>24)==(16); + $841 = ($837|0)!=(0); + if ($840) { + if ($841) { + $843 = (((($835) + (($834*80)|0)|0)) + 72|0); + $$0669766 = 0;$$0670765 = 0; + while(1) { + $sext691 = $$0670765 << 16; + $846 = $sext691 >> 16; + $847 = $$0669766 << 1; + $848 = (($847) + ($$3675770))|0; + $849 = ($848>>>0)<($2>>>0); + if ($849) { + $850 = (($1) + ($848)|0); + $851 = HEAP8[$850>>0]|0; + $852 = $851&255; + $861 = $852; + } else { + $861 = 0; + } + $853 = (($848) + 1)|0; + $854 = ($853>>>0)<($2>>>0); + if ($854) { + $855 = (($1) + ($853)|0); + $856 = HEAP8[$855>>0]|0; + $857 = $856&255; + $859 = $857; + } else { + $859 = 0; + } + $858 = $859 << 8; + $860 = $858 | $861; + $sext692 = $860 << 16; + $862 = $sext692 >> 16; + $863 = (($862) + ($846))|0; + $864 = $863&65535; + $865 = (+($864<<16>>16)); + $866 = $865 * 3.0517578125E-5; + $867 = HEAP32[$843>>2]|0; + $868 = (($867) + ($$0669766<<2)|0); + HEAPF32[$868>>2] = $866; + $869 = (($$0669766) + 1)|0; + $exitcond793 = ($869|0)==($837|0); + if ($exitcond793) { + break; + } else { + $$0669766 = $869;$$0670765 = $863; + } + } + } + $844 = HEAP32[$836>>2]|0; + $845 = $844 << 1; + $$pn = $845; + } else { + if ($841) { + $842 = (((($835) + (($834*80)|0)|0)) + 72|0); + $$0668761 = 0;$$0762 = 0; + while(1) { + $sext = $$0668761 << 24; + $871 = $sext >> 24; + $872 = (($$0762) + ($$3675770))|0; + $873 = ($872>>>0)<($2>>>0); + if ($873) { + $874 = (($1) + ($872)|0); + $875 = HEAP8[$874>>0]|0; + $876 = $875&255; + $877 = $876; + } else { + $877 = 0; + } + $sext690 = $877 << 24; + $878 = $sext690 >> 24; + $879 = (($878) + ($871))|0; + $880 = $879&255; + $881 = (+($880<<24>>24)); + $882 = $881 * 0.0078125; + $883 = HEAP32[$842>>2]|0; + $884 = (($883) + ($$0762<<2)|0); + HEAPF32[$884>>2] = $882; + $885 = (($$0762) + 1)|0; + $exitcond = ($885|0)==($837|0); + if ($exitcond) { + break; + } else { + $$0668761 = $879;$$0762 = $885; + } + } + } + $870 = HEAP32[$836>>2]|0; + $$pn = $870; + } + $$4676 = (($$pn) + ($$3675770))|0; + $886 = (($$0677769) + 1)<<16>>16; + $887 = HEAP16[$373>>1]|0; + $888 = ($886&65535)<($887&65535); + if ($888) { + $$0677769 = $886;$$3675770 = $$4676; + } else { + $$3$lcssa794 = $$4;$$3675$lcssa = $$4676; + break; + } + } + } + } + $831 = (($$0688776) + 1)<<16>>16; + $832 = HEAP16[$98>>1]|0; + $833 = ($831&65535)<($832&65535); + if ($833) { + $$0688776 = $831;$$1673777 = $$3675$lcssa;$$1778 = $$3$lcssa794; + } else { + $$1$lcssa = $$3$lcssa794; + break; + } + } + return ($$1$lcssa|0); +} +function _jar_xm_check_sanity_postload($0) { + $0 = $0|0; + var $$01520 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $vararg_buffer = 0, $vararg_buffer2 = 0, $vararg_ptr1 = 0, $vararg_ptr5 = 0, $vararg_ptr6 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $vararg_buffer2 = sp + 8|0; + $vararg_buffer = sp; + $1 = ((($0)) + 46|0); + $2 = HEAP16[$1>>1]|0; + $3 = ($2<<16>>16)==(0); + if ($3) { + $26 = 0; + STACKTOP = sp;return ($26|0); + } + $4 = $2&65535; + $5 = ((($0)) + 52|0); + $6 = HEAP32[1176]|0; + $$01520 = 0;$16 = $4;$18 = $2;$8 = 0; + while(1) { + $7 = (((($0)) + 60|0) + ($8)|0); + $9 = HEAP8[$7>>0]|0; + $10 = $9&255; + $11 = HEAP16[$5>>1]|0; + $12 = $11&65535; + $13 = ($10>>>0)<($12>>>0); + if (!($13)) { + $14 = (($8) + 1)|0; + $15 = ($14|0)==($16|0); + $17 = ($18&65535)>(1); + $or$cond = $17 & $15; + if (!($or$cond)) { + break; + } + $19 = (($18) + -1)<<16>>16; + HEAP16[$1>>1] = $19; + HEAP32[$vararg_buffer>>2] = 11499; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $8; + (_fprintf($6,11461,$vararg_buffer)|0); + (_fflush($6)|0); + } + $20 = (($$01520) + 1)<<24>>24; + $21 = $20&255; + $22 = HEAP16[$1>>1]|0; + $23 = $22&65535; + $24 = ($21>>>0)<($23>>>0); + if ($24) { + $$01520 = $20;$16 = $23;$18 = $22;$8 = $21; + } else { + $26 = 0; + label = 8; + break; + } + } + if ((label|0) == 8) { + STACKTOP = sp;return ($26|0); + } + HEAP32[$vararg_buffer2>>2] = 11499; + $vararg_ptr5 = ((($vararg_buffer2)) + 4|0); + HEAP32[$vararg_ptr5>>2] = $8; + $vararg_ptr6 = ((($vararg_buffer2)) + 8|0); + HEAP32[$vararg_ptr6>>2] = $10; + (_fprintf($6,11528,$vararg_buffer2)|0); + $25 = HEAP32[1176]|0; + (_fflush($25)|0); + $26 = 1; + STACKTOP = sp;return ($26|0); +} +function _jar_xm_free_context($0) { + $0 = $0|0; + var $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP32[$0>>2]|0; + _free($1); + return; +} +function _memcpy_pad($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$ = 0, $10 = 0, $11 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $5 = ($3>>>0)<($4>>>0); + $6 = (($3) - ($4))|0; + $$ = $5 ? 0 : $6; + $7 = ($$>>>0)>($1>>>0); + $8 = $7 ? $1 : $$; + $9 = (($2) + ($4)|0); + _memcpy(($0|0),($9|0),($8|0))|0; + $10 = (($0) + ($8)|0); + $11 = (($1) - ($8))|0; + _memset(($10|0),0,($11|0))|0; + return; +} +function _jar_xm_set_max_loop_count($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($0)) + 385|0); + HEAP8[$2>>0] = $1; + return; +} +function _jar_xm_get_loop_count($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 384|0); + $2 = HEAP8[$1>>0]|0; + return ($2|0); +} +function _jar_xm_get_remaining_samples($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0.0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (_jar_xm_get_loop_count($0)|0); + _jar_xm_set_max_loop_count($0,0); + $2 = (_jar_xm_get_loop_count($0)|0); + $3 = ($2<<24>>24)==($1<<24>>24); + if (!($3)) { + $15 = 0;$16 = 0; + $14 = ((($0)) + 384|0); + HEAP8[$14>>0] = $1; + tempRet0 = ($15); + return ($16|0); + } + $4 = ((($0)) + 352|0); + $6 = 0;$7 = 0; + while(1) { + $5 = +HEAPF32[$4>>2]; + $8 = (+($6>>>0)) + (4294967296.0*(+($7>>>0))); + $9 = $8 + $5; + $10 = (~~$9)>>>0; + $11 = +Math_abs($9) >= 1.0 ? $9 > 0.0 ? (~~+Math_min(+Math_floor($9 / 4294967296.0), 4294967295.0)) >>> 0 : ~~+Math_ceil(($9 - +(~~$9 >>> 0)) / 4294967296.0) >>> 0 : 0; + HEAPF32[$4>>2] = 0.0; + _jar_xm_tick($0); + $12 = (_jar_xm_get_loop_count($0)|0); + $13 = ($12<<24>>24)==($1<<24>>24); + if ($13) { + $6 = $10;$7 = $11; + } else { + $15 = $11;$16 = $10; + break; + } + } + $14 = ((($0)) + 384|0); + HEAP8[$14>>0] = $1; + tempRet0 = ($15); + return ($16|0); +} +function _jar_xm_create_context_from_file($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$1 = 0, $$1$ph = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = (_fopen($2,12860)|0); + $4 = ($3|0)==(0|0); + L1: do { + if ($4) { + $5 = HEAP32[1176]|0; + (_fwrite(11618,25,1,$5)|0); + (_fflush($5)|0); + $$1$ph = 3; + } else { + (_fseek($3,0,2)|0); + $6 = (_ftell($3)|0); + _rewind($3); + $7 = ($6|0)==(-1); + if ($7) { + (_fclose($3)|0); + $8 = HEAP32[1176]|0; + (_fwrite(11644,14,1,$8)|0); + (_fflush($8)|0); + $$1$ph = 4; + break; + } + $9 = (($6) + 1)|0; + $10 = (_malloc($9)|0); + $11 = (_fread($10,1,$6,$3)|0); + $12 = ($11>>>0)<($6>>>0); + (_fclose($3)|0); + if ($12) { + $13 = HEAP32[1176]|0; + (_fwrite(11659,14,1,$13)|0); + (_fflush($13)|0); + $$1$ph = 5; + break; + } + $14 = (_jar_xm_create_context_safe($0,$10,$6,$1)|0); + switch ($14|0) { + case 1: { + $15 = HEAP32[1176]|0; + (_fwrite(11674,45,1,$15)|0); + (_fflush($15)|0); + $$1$ph = 1; + break L1; + break; + } + case 2: { + $16 = HEAP32[1176]|0; + (_fwrite(11720,40,1,$16)|0); + (_fflush($16)|0); + _exit(1); + // unreachable; + break; + } + case 0: { + $$1 = 0; + return ($$1|0); + break; + } + default: { + $17 = HEAP32[1176]|0; + (_fwrite(11761,40,1,$17)|0); + (_fflush($17)|0); + _exit(1); + // unreachable; + } + } + } + } while(0); + HEAP32[$0>>2] = 0; + $$1 = $$1$ph; + return ($$1|0); +} +function _InitAudioDevice() { + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $cond = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer3 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $vararg_buffer3 = sp + 16|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $0 = (_alcOpenDevice((0|0))|0); + $1 = ($0|0)==(0|0); + if ($1) { + _TraceLog(2,11802,$vararg_buffer); + STACKTOP = sp;return; + } + $2 = (_alcCreateContext(($0|0),(0|0))|0); + $cond = ($2|0)==(0|0); + do { + if (!($cond)) { + $3 = (_alcMakeContextCurrent(($2|0))|0); + $4 = ($3<<24>>24)==(0); + if ($4) { + _alcDestroyContext(($2|0)); + break; + } + $5 = (_alcGetString(($0|0),4101)|0); + HEAP32[$vararg_buffer3>>2] = $5; + _TraceLog(0,11870,$vararg_buffer3); + _alListener3f(4100,0.0,0.0,0.0); + _alListener3f(4102,0.0,0.0,0.0); + _alListener3f(4111,0.0,0.0,-1.0); + _alListenerf(4106,1.0); + STACKTOP = sp;return; + } + } while(0); + (_alcCloseDevice(($0|0))|0); + _TraceLog(2,11835,$vararg_buffer1); + STACKTOP = sp;return; +} +function _CloseAudioDevice() { + var $0 = 0, $1 = 0, $2 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $0 = (_alcGetCurrentContext()|0); + $1 = ($0|0)==(0|0); + if ($1) { + _TraceLog(1,11924,$vararg_buffer); + } + $2 = (_alcGetContextsDevice(($0|0))|0); + (_alcMakeContextCurrent((0|0))|0); + _alcDestroyContext(($0|0)); + (_alcCloseDevice(($2|0))|0); + _TraceLog(0,11972,$vararg_buffer1); + STACKTOP = sp;return; +} +function _LoadWave($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; + var $vararg_buffer = 0, $vararg_buffer1 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $2 = sp + 12|0; + ;HEAP32[$2>>2]=0|0;HEAP32[$2+4>>2]=0|0;HEAP32[$2+8>>2]=0|0;HEAP32[$2+12>>2]=0|0;HEAP32[$2+16>>2]=0|0; + $3 = (_IsFileExtension($1,12005)|0); + $4 = ($3|0)==(0); + do { + if ($4) { + $5 = (_IsFileExtension($1,12010)|0); + $6 = ($5|0)==(0); + if (!($6)) { + _LoadOGG($2,$1); + break; + } + $7 = (_IsFileExtension($1,12015)|0); + $8 = ($7|0)==(0); + if ($8) { + HEAP32[$vararg_buffer1>>2] = $1; + _TraceLog(1,12067,$vararg_buffer1); + break; + } + $9 = (_LoadResource($1,0)|0); + $10 = HEAP32[$9>>2]|0; + $11 = ($10|0)==(2); + if ($11) { + $12 = ((($9)) + 20|0); + $13 = HEAP32[$12>>2]|0; + $14 = ((($9)) + 4|0); + $15 = HEAP32[$14>>2]|0; + $16 = ((($9)) + 8|0); + $17 = HEAP32[$16>>2]|0; + $18 = ((($9)) + 12|0); + $19 = HEAP32[$18>>2]|0; + $20 = ((($9)) + 16|0); + $21 = HEAP32[$20>>2]|0; + _LoadWaveEx($2,$13,$15,$17,$19,$21); + } else { + HEAP32[$vararg_buffer>>2] = $1; + _TraceLog(1,12021,$vararg_buffer); + } + _UnloadResource($9); + } else { + _LoadWAV($2,$1); + } + } while(0); + ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$2+16>>2]|0; + STACKTOP = sp;return; +} +function _LoadWAV($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$pr = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; + var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; + var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0; + var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer14 = 0, $vararg_buffer18 = 0, $vararg_buffer4 = 0, $vararg_buffer7 = 0, $vararg_ptr13 = 0, $vararg_ptr17 = 0, $vararg_ptr21 = 0, $vararg_ptr22 = 0; + var $vararg_ptr23 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 144|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(144|0); + $vararg_buffer18 = sp + 48|0; + $vararg_buffer14 = sp + 40|0; + $vararg_buffer10 = sp + 32|0; + $vararg_buffer7 = sp + 24|0; + $vararg_buffer4 = sp + 16|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $2 = sp + 120|0; + $3 = sp + 96|0; + $4 = sp + 88|0; + $5 = sp + 64|0; + ;HEAP32[$5>>2]=0|0;HEAP32[$5+4>>2]=0|0;HEAP32[$5+8>>2]=0|0;HEAP32[$5+12>>2]=0|0;HEAP32[$5+16>>2]=0|0; + $6 = (_fopen($1,12860)|0); + $7 = ($6|0)==(0|0); + if ($7) { + HEAP32[$vararg_buffer>>2] = $1; + _TraceLog(1,13241,$vararg_buffer); + $8 = ((($5)) + 16|0); + HEAP32[$8>>2] = 0; + ;HEAP32[$0>>2]=HEAP32[$5>>2]|0;HEAP32[$0+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$5+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$5+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$5+16>>2]|0; + STACKTOP = sp;return; + } + (_fread($2,12,1,$6)|0); + $9 = (_strncmp($2,13275,4)|0); + $10 = ($9|0)==(0); + do { + if ($10) { + $11 = ((($2)) + 8|0); + $12 = (_strncmp($11,13280,4)|0); + $13 = ($12|0)==(0); + if ($13) { + (_fread($3,24,1,$6)|0); + $14 = HEAP8[$3>>0]|0; + $15 = ($14<<24>>24)==(102); + if ($15) { + $16 = ((($3)) + 1|0); + $17 = HEAP8[$16>>0]|0; + $18 = ($17<<24>>24)==(109); + if ($18) { + $19 = ((($3)) + 2|0); + $20 = HEAP8[$19>>0]|0; + $21 = ($20<<24>>24)==(116); + if ($21) { + $22 = ((($3)) + 3|0); + $23 = HEAP8[$22>>0]|0; + $24 = ($23<<24>>24)==(32); + if ($24) { + $25 = ((($3)) + 4|0); + $26 = HEAP32[$25>>2]|0; + $27 = ($26|0)>(16); + if ($27) { + (_fseek($6,2,1)|0); + } + (_fread($4,8,1,$6)|0); + $28 = HEAP8[$4>>0]|0; + $29 = ($28<<24>>24)==(100); + if ($29) { + $30 = ((($4)) + 1|0); + $31 = HEAP8[$30>>0]|0; + $32 = ($31<<24>>24)==(97); + if ($32) { + $33 = ((($4)) + 2|0); + $34 = HEAP8[$33>>0]|0; + $35 = ($34<<24>>24)==(116); + if ($35) { + $36 = ((($4)) + 3|0); + $37 = HEAP8[$36>>0]|0; + $38 = ($37<<24>>24)==(97); + if ($38) { + $39 = ((($4)) + 4|0); + $40 = HEAP32[$39>>2]|0; + $41 = (_malloc($40)|0); + $42 = ((($5)) + 16|0); + HEAP32[$42>>2] = $41; + (_fread($41,$40,1,$6)|0); + $43 = ((($3)) + 12|0); + $44 = HEAP32[$43>>2]|0; + $45 = ((($5)) + 4|0); + HEAP32[$45>>2] = $44; + $46 = ((($3)) + 22|0); + $47 = HEAP16[$46>>1]|0; + $48 = $47 << 16 >> 16; + $49 = ((($5)) + 8|0); + HEAP32[$49>>2] = $48; + $50 = ((($3)) + 10|0); + $51 = HEAP16[$50>>1]|0; + $52 = $51 << 16 >> 16; + $53 = ((($5)) + 12|0); + HEAP32[$53>>2] = $52; + switch ($47<<16>>16) { + case 32: case 16: case 8: { + $57 = $52; + break; + } + default: { + HEAP32[$vararg_buffer10>>2] = $1; + $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); + HEAP32[$vararg_ptr13>>2] = $48; + _TraceLog(1,13368,$vararg_buffer10); + $54 = HEAP32[$45>>2]|0; + $55 = HEAP32[$53>>2]|0; + _WaveFormat($5,$54,16,$55); + $$pr = HEAP32[$53>>2]|0; + $57 = $$pr; + } + } + $56 = ($57>>>0)>(2); + if ($56) { + $58 = HEAP32[$45>>2]|0; + $59 = HEAP32[$49>>2]|0; + _WaveFormat($5,$58,$59,2); + $60 = HEAP32[$53>>2]|0; + HEAP32[$vararg_buffer14>>2] = $1; + $vararg_ptr17 = ((($vararg_buffer14)) + 4|0); + HEAP32[$vararg_ptr17>>2] = $60; + _TraceLog(1,13431,$vararg_buffer14); + } + $61 = HEAP32[$39>>2]|0; + $62 = HEAP32[$49>>2]|0; + $63 = $62 >>> 3; + $64 = (($61>>>0) / ($63>>>0))&-1; + $65 = HEAP32[$53>>2]|0; + $66 = (($64>>>0) / ($65>>>0))&-1; + HEAP32[$5>>2] = $66; + $67 = HEAP32[$45>>2]|0; + $68 = ($65|0)==(1); + $69 = $68 ? 12291 : 12296; + HEAP32[$vararg_buffer18>>2] = $1; + $vararg_ptr21 = ((($vararg_buffer18)) + 4|0); + HEAP32[$vararg_ptr21>>2] = $67; + $vararg_ptr22 = ((($vararg_buffer18)) + 8|0); + HEAP32[$vararg_ptr22>>2] = $62; + $vararg_ptr23 = ((($vararg_buffer18)) + 12|0); + HEAP32[$vararg_ptr23>>2] = $69; + _TraceLog(0,13500,$vararg_buffer18); + break; + } + } + } + } + HEAP32[$vararg_buffer7>>2] = $1; + _TraceLog(1,13343,$vararg_buffer7); + break; + } + } + } + } + HEAP32[$vararg_buffer4>>2] = $1; + _TraceLog(1,13318,$vararg_buffer4); + } else { + label = 5; + } + } else { + label = 5; + } + } while(0); + if ((label|0) == 5) { + HEAP32[$vararg_buffer1>>2] = $1; + _TraceLog(1,13285,$vararg_buffer1); + } + (_fclose($6)|0); + ;HEAP32[$0>>2]=HEAP32[$5>>2]|0;HEAP32[$0+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$5+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$5+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$5+16>>2]|0; + STACKTOP = sp;return; +} +function _LoadOGG($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$sroa$0$0 = 0, $$sroa$10$0 = 0, $$sroa$10$0$$sroa_idx19 = 0, $$sroa$14$0 = 0, $$sroa$14$0$$sroa_idx23 = 0, $$sroa$6$0 = 0, $$sroa$6$0$$sroa_idx15 = 0, $$sroa$8$0$$sroa_idx17 = 0, $10 = 0, $11 = 0.0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $2 = 0, $3 = 0, $4 = 0; + var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0.0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer5 = 0, $vararg_buffer9 = 0, $vararg_ptr12 = 0, $vararg_ptr13 = 0, $vararg_ptr14 = 0, $vararg_ptr4 = 0, $vararg_ptr8 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0); + $vararg_buffer9 = sp + 32|0; + $vararg_buffer5 = sp + 24|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $2 = sp + 48|0; + $3 = (_stb_vorbis_open_filename($1,0,0)|0); + $4 = ($3|0)==(0|0); + if ($4) { + HEAP32[$vararg_buffer>>2] = $1; + _TraceLog(1,12123,$vararg_buffer); + $$sroa$0$0 = 0;$$sroa$10$0 = 0;$$sroa$14$0 = 0;$$sroa$6$0 = 0; + } else { + _stb_vorbis_get_info($2,$3); + $5 = HEAP32[$2>>2]|0; + $6 = ((($2)) + 4|0); + $7 = HEAP32[$6>>2]|0; + $8 = (_stb_vorbis_stream_length_in_samples($3)|0); + $9 = (+_stb_vorbis_stream_length_in_seconds($3)); + $10 = $9 > 10.0; + if ($10) { + $11 = $9; + HEAP32[$vararg_buffer1>>2] = $1; + $vararg_ptr4 = ((($vararg_buffer1)) + 8|0); + HEAPF64[$vararg_ptr4>>3] = $11; + _TraceLog(1,12157,$vararg_buffer1); + } + $12 = Math_imul($8, $7)|0; + $13 = $12 << 1; + $14 = (_malloc($13)|0); + $15 = HEAP32[$6>>2]|0; + $16 = (_stb_vorbis_get_samples_short_interleaved($3,$15,$14,$12)|0); + HEAP32[$vararg_buffer5>>2] = $1; + $vararg_ptr8 = ((($vararg_buffer5)) + 4|0); + HEAP32[$vararg_ptr8>>2] = $16; + _TraceLog(3,12265,$vararg_buffer5); + $17 = ($7|0)==(1); + $18 = $17 ? 12291 : 12296; + HEAP32[$vararg_buffer9>>2] = $1; + $vararg_ptr12 = ((($vararg_buffer9)) + 4|0); + HEAP32[$vararg_ptr12>>2] = $5; + $vararg_ptr13 = ((($vararg_buffer9)) + 8|0); + HEAP32[$vararg_ptr13>>2] = 16; + $vararg_ptr14 = ((($vararg_buffer9)) + 12|0); + HEAP32[$vararg_ptr14>>2] = $18; + _TraceLog(0,12303,$vararg_buffer9); + _stb_vorbis_close($3); + $$sroa$0$0 = $8;$$sroa$10$0 = $7;$$sroa$14$0 = $14;$$sroa$6$0 = $5; + } + HEAP32[$0>>2] = $$sroa$0$0; + $$sroa$6$0$$sroa_idx15 = ((($0)) + 4|0); + HEAP32[$$sroa$6$0$$sroa_idx15>>2] = $$sroa$6$0; + $$sroa$8$0$$sroa_idx17 = ((($0)) + 8|0); + HEAP32[$$sroa$8$0$$sroa_idx17>>2] = 16; + $$sroa$10$0$$sroa_idx19 = ((($0)) + 12|0); + HEAP32[$$sroa$10$0$$sroa_idx19>>2] = $$sroa$10$0; + $$sroa$14$0$$sroa_idx23 = ((($0)) + 16|0); + HEAP32[$$sroa$14$0$$sroa_idx23>>2] = $$sroa$14$0; + STACKTOP = sp;return; +} +function _LoadWaveEx($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + var $$byval_copy = 0, $10 = 0, $11 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $$byval_copy = sp + 40|0; + $6 = sp + 20|0; + $7 = sp; + $8 = ((($6)) + 16|0); + HEAP32[$8>>2] = $1; + HEAP32[$6>>2] = $2; + $9 = ((($6)) + 4|0); + HEAP32[$9>>2] = $3; + $10 = ((($6)) + 8|0); + HEAP32[$10>>2] = $4; + $11 = ((($6)) + 12|0); + HEAP32[$11>>2] = $5; + ;HEAP32[$$byval_copy>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$6+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$6+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$6+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$6+16>>2]|0; + _WaveCopy($7,$$byval_copy); + _WaveFormat($7,$3,$4,$5); + ;HEAP32[$0>>2]=HEAP32[$7>>2]|0;HEAP32[$0+4>>2]=HEAP32[$7+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$7+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$7+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$7+16>>2]|0; + STACKTOP = sp;return; +} +function _WaveCopy($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$sroa$0$0 = 0, $$sroa$5$0 = 0, $$sroa$5$0$$sroa_idx2 = 0, $$sroa$6$0 = 0, $$sroa$6$0$$sroa_idx4 = 0, $$sroa$7$0 = 0, $$sroa$7$0$$sroa_idx6 = 0, $$sroa$8$0$$sroa_idx8 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0; + var $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = HEAP32[$1>>2]|0; + $3 = ((($1)) + 8|0); + $4 = HEAP32[$3>>2]|0; + $5 = Math_imul($4, $2)|0; + $6 = $5 >>> 3; + $7 = ((($1)) + 12|0); + $8 = HEAP32[$7>>2]|0; + $9 = Math_imul($6, $8)|0; + $10 = (_malloc($9)|0); + $11 = ($10|0)==(0|0); + if ($11) { + $$sroa$0$0 = 0;$$sroa$5$0 = 0;$$sroa$6$0 = 0;$$sroa$7$0 = 0; + } else { + $12 = ((($1)) + 16|0); + $13 = HEAP32[$12>>2]|0; + $14 = Math_imul($4, $2)|0; + $15 = Math_imul($14, $8)|0; + $16 = $15 >>> 3; + _memcpy(($10|0),($13|0),($16|0))|0; + $17 = HEAP32[$1>>2]|0; + $18 = ((($1)) + 4|0); + $19 = HEAP32[$18>>2]|0; + $20 = HEAP32[$3>>2]|0; + $21 = HEAP32[$7>>2]|0; + $$sroa$0$0 = $17;$$sroa$5$0 = $19;$$sroa$6$0 = $20;$$sroa$7$0 = $21; + } + HEAP32[$0>>2] = $$sroa$0$0; + $$sroa$5$0$$sroa_idx2 = ((($0)) + 4|0); + HEAP32[$$sroa$5$0$$sroa_idx2>>2] = $$sroa$5$0; + $$sroa$6$0$$sroa_idx4 = ((($0)) + 8|0); + HEAP32[$$sroa$6$0$$sroa_idx4>>2] = $$sroa$6$0; + $$sroa$7$0$$sroa_idx6 = ((($0)) + 12|0); + HEAP32[$$sroa$7$0$$sroa_idx6>>2] = $$sroa$7$0; + $$sroa$8$0$$sroa_idx8 = ((($0)) + 16|0); + HEAP32[$$sroa$8$0$$sroa_idx8>>2] = $10; + return; +} +function _WaveFormat($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$0153164 = 0, $$0154162 = 0, $$0155163 = 0, $$0156170 = 0, $$0157167 = 0, $$0165 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0; + var $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0; + var $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0; + var $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0; + var $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0.0, $171 = 0, $172 = 0, $173 = 0.0, $174 = 0.0, $175 = 0.0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $19 = 0, $20 = 0; + var $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0.0, $4 = 0; + var $40 = 0.0, $41 = 0.0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0.0, $49 = 0.0, $5 = 0, $50 = 0.0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0; + var $59 = 0, $6 = 0, $60 = 0, $61 = 0.0, $62 = 0.0, $63 = 0.0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0.0, $71 = 0.0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0; + var $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0.0, $83 = 0.0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0.0, $91 = 0.0, $92 = 0, $93 = 0, $94 = 0; + var $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond = 0, $or$cond = 0, $or$cond3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $4 = ((($0)) + 4|0); + $5 = HEAP32[$4>>2]|0; + $6 = ($5|0)==($1|0); + if (!($6)) { + HEAP32[$4>>2] = $1; + } + $7 = ((($0)) + 8|0); + $8 = HEAP32[$7>>2]|0; + $9 = ($8|0)==($2|0); + if (!($9)) { + $10 = HEAP32[$0>>2]|0; + $11 = ((($0)) + 12|0); + $12 = HEAP32[$11>>2]|0; + $13 = Math_imul($10, $2)|0; + $14 = Math_imul($13, $12)|0; + $15 = $14 >>> 3; + $16 = (_malloc($15)|0); + $17 = HEAP32[$0>>2]|0; + $18 = ($17|0)==(0); + if (!($18)) { + $19 = ((($0)) + 16|0); + $20 = ((($0)) + 16|0); + $21 = ((($0)) + 16|0); + $22 = ((($0)) + 16|0); + $23 = ((($0)) + 16|0); + $24 = ((($0)) + 16|0); + $$0156170 = 0; + while(1) { + $25 = HEAP32[$11>>2]|0; + $26 = ($25|0)==(0); + L10: do { + if (!($26)) { + $$0157167 = 0;$35 = $25; + while(1) { + L13: do { + switch ($2|0) { + case 8: { + $32 = HEAP32[$7>>2]|0; + switch ($32|0) { + case 16: { + $33 = HEAP32[$19>>2]|0; + $34 = Math_imul($35, $$0156170)|0; + $36 = (($34) + ($$0157167))|0; + $37 = (($33) + ($36<<1)|0); + $38 = HEAP16[$37>>1]|0; + $39 = (+($38<<16>>16)); + $40 = $39 / 32767.0; + $41 = $40 * 256.0; + $42 = (~~(($41))&255); + $43 = (($16) + ($36)|0); + HEAP8[$43>>0] = $42; + break L13; + break; + } + case 32: { + $44 = HEAP32[$20>>2]|0; + $45 = Math_imul($35, $$0156170)|0; + $46 = (($45) + ($$0157167))|0; + $47 = (($44) + ($46<<2)|0); + $48 = +HEAPF32[$47>>2]; + $49 = $48 * 127.0; + $50 = $49 + 127.0; + $51 = (~~(($50))&255); + $52 = (($16) + ($46)|0); + HEAP8[$52>>0] = $51; + break L13; + break; + } + default: { + break L13; + } + } + break; + } + case 16: { + $53 = HEAP32[$7>>2]|0; + switch ($53|0) { + case 8: { + $54 = HEAP32[$21>>2]|0; + $55 = Math_imul($35, $$0156170)|0; + $56 = (($55) + ($$0157167))|0; + $57 = (($54) + ($56)|0); + $58 = HEAP8[$57>>0]|0; + $59 = $58&255; + $60 = (($59) + -127)|0; + $61 = (+($60|0)); + $62 = $61 * 0.00390625; + $63 = $62 * 32767.0; + $64 = (~~(($63))); + $65 = (($16) + ($56<<1)|0); + HEAP16[$65>>1] = $64; + break L13; + break; + } + case 32: { + $66 = HEAP32[$22>>2]|0; + $67 = Math_imul($35, $$0156170)|0; + $68 = (($67) + ($$0157167))|0; + $69 = (($66) + ($68<<2)|0); + $70 = +HEAPF32[$69>>2]; + $71 = $70 * 32767.0; + $72 = (~~(($71))); + $73 = (($16) + ($68<<1)|0); + HEAP16[$73>>1] = $72; + break L13; + break; + } + default: { + break L13; + } + } + break; + } + case 32: { + $74 = HEAP32[$7>>2]|0; + switch ($74|0) { + case 8: { + $75 = HEAP32[$23>>2]|0; + $76 = Math_imul($35, $$0156170)|0; + $77 = (($76) + ($$0157167))|0; + $78 = (($75) + ($77)|0); + $79 = HEAP8[$78>>0]|0; + $80 = $79&255; + $81 = (($80) + -127)|0; + $82 = (+($81|0)); + $83 = $82 * 0.00390625; + $84 = (($16) + ($77<<2)|0); + HEAPF32[$84>>2] = $83; + break L13; + break; + } + case 16: { + $85 = HEAP32[$24>>2]|0; + $86 = Math_imul($35, $$0156170)|0; + $87 = (($86) + ($$0157167))|0; + $88 = (($85) + ($87<<1)|0); + $89 = HEAP16[$88>>1]|0; + $90 = (+($89<<16>>16)); + $91 = $90 / 32767.0; + $92 = (($16) + ($87<<2)|0); + HEAPF32[$92>>2] = $91; + break L13; + break; + } + default: { + break L13; + } + } + break; + } + default: { + } + } + } while(0); + $93 = (($$0157167) + 1)|0; + $94 = HEAP32[$11>>2]|0; + $95 = ($93>>>0)<($94>>>0); + if ($95) { + $$0157167 = $93;$35 = $94; + } else { + break L10; + } + } + } + } while(0); + $29 = (($$0156170) + 1)|0; + $30 = HEAP32[$0>>2]|0; + $31 = ($29>>>0)<($30>>>0); + if ($31) { + $$0156170 = $29; + } else { + break; + } + } + } + HEAP32[$7>>2] = $2; + $27 = ((($0)) + 16|0); + $28 = HEAP32[$27>>2]|0; + _free($28); + HEAP32[$27>>2] = $16; + } + $96 = ((($0)) + 12|0); + $97 = HEAP32[$96>>2]|0; + $98 = ($97|0)==($3|0); + if ($98) { + return; + } + $99 = HEAP32[$0>>2]|0; + $100 = HEAP32[$7>>2]|0; + $101 = Math_imul($100, $99)|0; + $102 = $101 >>> 3; + $103 = Math_imul($102, $3)|0; + $104 = (_malloc($103)|0); + $105 = HEAP32[$96>>2]|0; + $106 = ($105|0)==(1); + $107 = ($3|0)==(2); + $or$cond = $107 & $106; + L33: do { + if ($or$cond) { + $108 = HEAP32[$0>>2]|0; + $109 = ($108|0)==(0); + if (!($109)) { + $110 = ((($0)) + 16|0); + $111 = ((($0)) + 16|0); + $112 = ((($0)) + 16|0); + $$0155163 = 0; + while(1) { + $113 = Math_imul($$0155163, $3)|0; + $114 = Math_imul($$0155163, $3)|0; + $115 = Math_imul($$0155163, $3)|0; + $$0154162 = 0; + while(1) { + $119 = HEAP32[$7>>2]|0; + switch ($119|0) { + case 8: { + $120 = HEAP32[$110>>2]|0; + $121 = (($120) + ($$0155163)|0); + $122 = HEAP8[$121>>0]|0; + $123 = (($$0154162) + ($113))|0; + $124 = (($104) + ($123)|0); + HEAP8[$124>>0] = $122; + break; + } + case 16: { + $125 = HEAP32[$111>>2]|0; + $126 = (($125) + ($$0155163<<1)|0); + $127 = HEAP16[$126>>1]|0; + $128 = (($$0154162) + ($114))|0; + $129 = (($104) + ($128<<1)|0); + HEAP16[$129>>1] = $127; + break; + } + case 32: { + $130 = HEAP32[$112>>2]|0; + $131 = (($130) + ($$0155163<<2)|0); + $132 = HEAP32[$131>>2]|0; + $133 = (($$0154162) + ($115))|0; + $134 = (($104) + ($133<<2)|0); + HEAP32[$134>>2] = $132; + break; + } + default: { + } + } + $135 = (($$0154162) + 1)|0; + $exitcond = ($135|0)==($3|0); + if ($exitcond) { + break; + } else { + $$0154162 = $135; + } + } + $116 = (($$0155163) + 1)|0; + $117 = HEAP32[$0>>2]|0; + $118 = ($116>>>0)<($117>>>0); + if ($118) { + $$0155163 = $116; + } else { + break; + } + } + } + } else { + $136 = ($105|0)==(2); + $137 = ($3|0)==(1); + $or$cond3 = $137 & $136; + if ($or$cond3) { + $138 = HEAP32[$0>>2]|0; + $139 = ($138|0)==(0); + if (!($139)) { + $140 = ((($0)) + 16|0); + $141 = ((($0)) + 16|0); + $142 = ((($0)) + 16|0); + $$0153164 = 0;$$0165 = 0; + while(1) { + $143 = HEAP32[$7>>2]|0; + switch ($143|0) { + case 8: { + $144 = HEAP32[$140>>2]|0; + $145 = (($144) + ($$0165)|0); + $146 = HEAP8[$145>>0]|0; + $147 = $146&255; + $148 = $$0165 | 1; + $149 = (($144) + ($148)|0); + $150 = HEAP8[$149>>0]|0; + $151 = $150&255; + $152 = (($151) + ($147))|0; + $153 = $152 >>> 1; + $154 = $153&255; + $155 = (($104) + ($$0153164)|0); + HEAP8[$155>>0] = $154; + break; + } + case 16: { + $156 = HEAP32[$141>>2]|0; + $157 = (($156) + ($$0165<<1)|0); + $158 = HEAP16[$157>>1]|0; + $159 = $158 << 16 >> 16; + $160 = $$0165 | 1; + $161 = (($156) + ($160<<1)|0); + $162 = HEAP16[$161>>1]|0; + $163 = $162 << 16 >> 16; + $164 = (($163) + ($159))|0; + $165 = (($164|0) / 2)&-1; + $166 = $165&65535; + $167 = (($104) + ($$0153164<<1)|0); + HEAP16[$167>>1] = $166; + break; + } + case 32: { + $168 = HEAP32[$142>>2]|0; + $169 = (($168) + ($$0165<<2)|0); + $170 = +HEAPF32[$169>>2]; + $171 = $$0165 | 1; + $172 = (($168) + ($171<<2)|0); + $173 = +HEAPF32[$172>>2]; + $174 = $170 + $173; + $175 = $174 * 0.5; + $176 = (($104) + ($$0153164<<2)|0); + HEAPF32[$176>>2] = $175; + break; + } + default: { + } + } + $177 = (($$0153164) + 1)|0; + $178 = (($$0165) + 2)|0; + $179 = HEAP32[$0>>2]|0; + $180 = ($177>>>0)<($179>>>0); + if ($180) { + $$0153164 = $177;$$0165 = $178; + } else { + break L33; + } + } + } + } + } + } while(0); + HEAP32[$96>>2] = $3; + $181 = ((($0)) + 16|0); + $182 = HEAP32[$181>>2]|0; + _free($182); + HEAP32[$181>>2] = $104; + return; +} +function _stb_vorbis_open_filename($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$0 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = (_fopen($0,12860)|0); + $4 = ($3|0)==(0|0); + if ($4) { + $6 = ($1|0)==(0|0); + if ($6) { + $$0 = 0; + } else { + HEAP32[$1>>2] = 6; + $$0 = 0; + } + } else { + $5 = (_stb_vorbis_open_file($3,1,$1,$2)|0); + $$0 = $5; + } + return ($$0|0); +} +function _stb_vorbis_get_info($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$sroa$4$0$$sroa_idx2 = 0, $$sroa$5$0$$sroa_idx4 = 0, $$sroa$6$0$$sroa_idx6 = 0, $$sroa$7$0$$sroa_idx8 = 0, $$sroa$8$0$$sroa_idx10 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($1)) + 4|0); + $3 = HEAP32[$2>>2]|0; + $4 = HEAP32[$1>>2]|0; + $5 = ((($1)) + 8|0); + $6 = HEAP32[$5>>2]|0; + $7 = ((($1)) + 16|0); + $8 = HEAP32[$7>>2]|0; + $9 = ((($1)) + 12|0); + $10 = HEAP32[$9>>2]|0; + $11 = ((($1)) + 116|0); + $12 = HEAP32[$11>>2]|0; + $13 = $12 >> 1; + HEAP32[$0>>2] = $4; + $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); + HEAP32[$$sroa$4$0$$sroa_idx2>>2] = $3; + $$sroa$5$0$$sroa_idx4 = ((($0)) + 8|0); + HEAP32[$$sroa$5$0$$sroa_idx4>>2] = $6; + $$sroa$6$0$$sroa_idx6 = ((($0)) + 12|0); + HEAP32[$$sroa$6$0$$sroa_idx6>>2] = $8; + $$sroa$7$0$$sroa_idx8 = ((($0)) + 16|0); + HEAP32[$$sroa$7$0$$sroa_idx8>>2] = $10; + $$sroa$8$0$$sroa_idx10 = ((($0)) + 20|0); + HEAP32[$$sroa$8$0$$sroa_idx10>>2] = $13; + return; +} +function _stb_vorbis_stream_length_in_samples($0) { + $0 = $0|0; + var $$ = 0, $$0 = 0, $$050 = 0, $$51 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; + var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; + var $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $1 = sp + 4|0; + $2 = sp; + $3 = sp + 8|0; + $4 = ((($0)) + 48|0); + $5 = HEAP8[$4>>0]|0; + $6 = ($5<<24>>24)==(0); + if (!($6)) { + _error($0,2); + $$0 = 0; + STACKTOP = sp;return ($$0|0); + } + $7 = ((($0)) + 796|0); + $8 = HEAP32[$7>>2]|0; + $9 = ($8|0)==(0); + if ($9) { + $10 = (_stb_vorbis_get_file_offset($0)|0); + $11 = ((($0)) + 44|0); + $12 = HEAP32[$11>>2]|0; + $13 = ($12>>>0)>(65535); + $14 = ((($0)) + 52|0); + $15 = HEAP32[$14>>2]|0; + if ($13) { + $16 = (($12) + -65536)|0; + $17 = ($16>>>0)<($15>>>0); + if ($17) { + label = 6; + } else { + $$050 = $16; + } + } else { + label = 6; + } + if ((label|0) == 6) { + $$050 = $15; + } + _set_file_offset($0,$$050); + $18 = (_vorbis_find_page($0,$1,$2)|0); + $19 = ($18|0)==(0); + do { + if ($19) { + $20 = ((($0)) + 100|0); + HEAP32[$20>>2] = 36; + HEAP32[$7>>2] = -1; + } else { + while(1) { + $21 = (_stb_vorbis_get_file_offset($0)|0); + $22 = HEAP32[$2>>2]|0; + $23 = ($22|0)==(0); + if (!($23)) { + break; + } + $24 = HEAP32[$1>>2]|0; + _set_file_offset($0,$24); + $25 = (_vorbis_find_page($0,$1,$2)|0); + $26 = ($25|0)==(0); + if ($26) { + break; + } + } + _set_file_offset($0,$21); + (_getn($0,$3,6)|0); + $27 = (_get32($0)|0); + $28 = (_get32($0)|0); + $29 = $28 & $27; + $30 = ($29|0)==(-1); + if ($30) { + $31 = ((($0)) + 100|0); + HEAP32[$31>>2] = 36; + HEAP32[$7>>2] = -1; + break; + } else { + $32 = ($28|0)==(0); + $$ = $32 ? $27 : -2; + HEAP32[$7>>2] = $$; + $33 = ((($0)) + 68|0); + HEAP32[$33>>2] = $21; + $34 = HEAP32[$1>>2]|0; + $35 = ((($0)) + 72|0); + HEAP32[$35>>2] = $34; + $36 = ((($0)) + 76|0); + HEAP32[$36>>2] = $$; + break; + } + } + } while(0); + _set_file_offset($0,$10); + } + $37 = HEAP32[$7>>2]|0; + $38 = ($37|0)==(-1); + $$51 = $38 ? 0 : $37; + $$0 = $$51; + STACKTOP = sp;return ($$0|0); +} +function _stb_vorbis_stream_length_in_seconds($0) { + $0 = $0|0; + var $1 = 0, $2 = 0.0, $3 = 0, $4 = 0.0, $5 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (_stb_vorbis_stream_length_in_samples($0)|0); + $2 = (+($1>>>0)); + $3 = HEAP32[$0>>2]|0; + $4 = (+($3>>>0)); + $5 = $2 / $4; + return (+$5); +} +function _stb_vorbis_get_samples_short_interleaved($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$ = 0, $$041 = 0, $$042 = 0, $$1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; + var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $not$ = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $4 = sp; + $5 = (($3|0) / ($1|0))&-1; + $6 = ((($0)) + 4|0); + $7 = ((($0)) + 1508|0); + $8 = ((($0)) + 1504|0); + $9 = ((($0)) + 800|0); + $$041 = 0;$$042 = $2; + while(1) { + $10 = ($5|0)>($$041|0); + if (!($10)) { + $$1 = $$041; + label = 7; + break; + } + $11 = HEAP32[$7>>2]|0; + $12 = HEAP32[$8>>2]|0; + $13 = (($11) - ($12))|0; + $14 = (($13) + ($$041))|0; + $15 = ($14|0)<($5|0); + $16 = (($5) - ($$041))|0; + $$ = $15 ? $13 : $16; + $17 = ($$|0)==(0); + if (!($17)) { + $18 = HEAP32[$6>>2]|0; + _convert_channels_short_interleaved($1,$$042,$18,$9,$12,$$); + } + $19 = (($$) + ($$041))|0; + $20 = HEAP32[$8>>2]|0; + $21 = (($20) + ($$))|0; + HEAP32[$8>>2] = $21; + $22 = ($19|0)==($5|0); + if ($22) { + $$1 = $19; + label = 7; + break; + } + $23 = Math_imul($$, $1)|0; + $24 = (($$042) + ($23<<1)|0); + $25 = (_stb_vorbis_get_frame_float($0,0,$4)|0); + $not$ = ($25|0)==(0); + if ($not$) { + $$1 = $19; + label = 7; + break; + } else { + $$041 = $19;$$042 = $24; + } + } + if ((label|0) == 7) { + STACKTOP = sp;return ($$1|0); + } + return (0)|0; +} +function _stb_vorbis_close($0) { + $0 = $0|0; + var $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ($0|0)==(0|0); + if ($1) { + return; + } + _vorbis_deinit($0); + _setup_free($0,$0); + return; +} +function _vorbis_deinit($0) { + $0 = $0|0; + var $$0103 = 0, $$08399 = 0, $$195 = 0, $$293 = 0, $$392 = 0, $$lcssa = 0, $$lcssa89 = 0, $$lcssa90 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0; + var $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0; + var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0; + var $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0; + var $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0; + var $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0; + var $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 396|0); + $2 = HEAP32[$1>>2]|0; + $3 = ($2|0)==(0|0); + if (!($3)) { + $4 = ((($0)) + 264|0); + $5 = HEAP32[$4>>2]|0; + $6 = ($5|0)>(0); + if ($6) { + $7 = ((($0)) + 124|0); + $$0103 = 0; + while(1) { + $8 = HEAP32[$1>>2]|0; + $9 = (((($8) + (($$0103*24)|0)|0)) + 16|0); + $10 = HEAP32[$9>>2]|0; + $11 = ($10|0)==(0|0); + if (!($11)) { + $12 = HEAP32[$7>>2]|0; + $13 = (((($8) + (($$0103*24)|0)|0)) + 13|0); + $14 = HEAP8[$13>>0]|0; + $15 = $14&255; + $16 = (((($12) + (($15*2096)|0)|0)) + 4|0); + $17 = HEAP32[$16>>2]|0; + $18 = ($17|0)>(0); + $19 = HEAP32[$9>>2]|0; + if ($18) { + $$08399 = 0;$21 = $19; + while(1) { + $20 = (($21) + ($$08399<<2)|0); + $22 = HEAP32[$20>>2]|0; + _setup_free($0,$22); + $23 = (($$08399) + 1)|0; + $24 = HEAP32[$7>>2]|0; + $25 = HEAP8[$13>>0]|0; + $26 = $25&255; + $27 = (((($24) + (($26*2096)|0)|0)) + 4|0); + $28 = HEAP32[$27>>2]|0; + $29 = ($23|0)<($28|0); + $30 = HEAP32[$9>>2]|0; + if ($29) { + $$08399 = $23;$21 = $30; + } else { + $$lcssa90 = $30; + break; + } + } + } else { + $$lcssa90 = $19; + } + _setup_free($0,$$lcssa90); + } + $31 = (((($8) + (($$0103*24)|0)|0)) + 20|0); + $32 = HEAP32[$31>>2]|0; + _setup_free($0,$32); + $33 = (($$0103) + 1)|0; + $34 = HEAP32[$4>>2]|0; + $35 = ($33|0)<($34|0); + if ($35) { + $$0103 = $33; + } else { + break; + } + } + } + } + $36 = ((($0)) + 124|0); + $37 = HEAP32[$36>>2]|0; + $38 = ($37|0)==(0|0); + if (!($38)) { + $39 = ((($0)) + 120|0); + $40 = HEAP32[$39>>2]|0; + $41 = ($40|0)>(0); + $42 = HEAP32[$36>>2]|0; + if ($41) { + $$195 = 0;$44 = $42; + while(1) { + $43 = (((($44) + (($$195*2096)|0)|0)) + 8|0); + $45 = HEAP32[$43>>2]|0; + _setup_free($0,$45); + $46 = (((($44) + (($$195*2096)|0)|0)) + 28|0); + $47 = HEAP32[$46>>2]|0; + _setup_free($0,$47); + $48 = (((($44) + (($$195*2096)|0)|0)) + 32|0); + $49 = HEAP32[$48>>2]|0; + _setup_free($0,$49); + $50 = (((($44) + (($$195*2096)|0)|0)) + 2084|0); + $51 = HEAP32[$50>>2]|0; + _setup_free($0,$51); + $52 = (((($44) + (($$195*2096)|0)|0)) + 2088|0); + $53 = HEAP32[$52>>2]|0; + $54 = ($53|0)==(0|0); + $55 = ((($53)) + -4|0); + $56 = $54 ? 0 : $55; + _setup_free($0,$56); + $57 = (($$195) + 1)|0; + $58 = HEAP32[$39>>2]|0; + $59 = ($57|0)<($58|0); + $60 = HEAP32[$36>>2]|0; + if ($59) { + $$195 = $57;$44 = $60; + } else { + $$lcssa89 = $60; + break; + } + } + } else { + $$lcssa89 = $42; + } + _setup_free($0,$$lcssa89); + } + $61 = ((($0)) + 260|0); + $62 = HEAP32[$61>>2]|0; + _setup_free($0,$62); + $63 = HEAP32[$1>>2]|0; + _setup_free($0,$63); + $64 = ((($0)) + 404|0); + $65 = HEAP32[$64>>2]|0; + $66 = ($65|0)==(0|0); + if (!($66)) { + $67 = ((($0)) + 400|0); + $68 = HEAP32[$67>>2]|0; + $69 = ($68|0)>(0); + $70 = HEAP32[$64>>2]|0; + if ($69) { + $$293 = 0;$72 = $70; + while(1) { + $71 = (((($72) + (($$293*40)|0)|0)) + 4|0); + $73 = HEAP32[$71>>2]|0; + _setup_free($0,$73); + $74 = (($$293) + 1)|0; + $75 = HEAP32[$67>>2]|0; + $76 = ($74|0)<($75|0); + $77 = HEAP32[$64>>2]|0; + if ($76) { + $$293 = $74;$72 = $77; + } else { + $$lcssa = $77; + break; + } + } + } else { + $$lcssa = $70; + } + _setup_free($0,$$lcssa); + } + $78 = ((($0)) + 4|0); + $79 = HEAP32[$78>>2]|0; + $80 = ($79|0)>(0); + if ($80) { + $$392 = 0; + while(1) { + $81 = (((($0)) + 800|0) + ($$392<<2)|0); + $82 = HEAP32[$81>>2]|0; + _setup_free($0,$82); + $83 = (((($0)) + 928|0) + ($$392<<2)|0); + $84 = HEAP32[$83>>2]|0; + _setup_free($0,$84); + $85 = (((($0)) + 996|0) + ($$392<<2)|0); + $86 = HEAP32[$85>>2]|0; + _setup_free($0,$86); + $87 = (($$392) + 1)|0; + $88 = HEAP32[$78>>2]|0; + $89 = ($87|0)<($88|0); + $90 = ($87|0)<(16); + $91 = $90 & $89; + if ($91) { + $$392 = $87; + } else { + break; + } + } + } + $92 = ((($0)) + 1068|0); + $93 = HEAP32[$92>>2]|0; + _setup_free($0,$93); + $94 = ((($0)) + 1076|0); + $95 = HEAP32[$94>>2]|0; + _setup_free($0,$95); + $96 = ((($0)) + 1084|0); + $97 = HEAP32[$96>>2]|0; + _setup_free($0,$97); + $98 = ((($0)) + 1092|0); + $99 = HEAP32[$98>>2]|0; + _setup_free($0,$99); + $100 = ((($0)) + 1100|0); + $101 = HEAP32[$100>>2]|0; + _setup_free($0,$101); + $102 = ((($0)) + 1072|0); + $103 = HEAP32[$102>>2]|0; + _setup_free($0,$103); + $104 = ((($0)) + 1080|0); + $105 = HEAP32[$104>>2]|0; + _setup_free($0,$105); + $106 = ((($0)) + 1088|0); + $107 = HEAP32[$106>>2]|0; + _setup_free($0,$107); + $108 = ((($0)) + 1096|0); + $109 = HEAP32[$108>>2]|0; + _setup_free($0,$109); + $110 = ((($0)) + 1104|0); + $111 = HEAP32[$110>>2]|0; + _setup_free($0,$111); + $112 = ((($0)) + 28|0); + $113 = HEAP32[$112>>2]|0; + $114 = ($113|0)==(0); + if ($114) { + return; + } + $115 = ((($0)) + 20|0); + $116 = HEAP32[$115>>2]|0; + (_fclose($116)|0); + return; +} +function _setup_free($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($0)) + 80|0); + $3 = HEAP32[$2>>2]|0; + $4 = ($3|0)==(0|0); + if (!($4)) { + return; + } + _free($1); + return; +} +function _convert_channels_short_interleaved($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + var $$0 = 0, $$04866 = 0, $$04956 = 0, $$05265 = 0, $$1$lcssa = 0, $$150$lcssa = 0, $$15057 = 0, $$158 = 0, $$2$lcssa = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0; + var $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0.0, $27 = 0.0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, $exitcond = 0, $or$cond = 0, $or$cond3 = 0, $scevgep = 0, $smax = 0, $smax71 = 0, label = 0, sp = 0; + sp = STACKTOP; + $6 = ($0|0)!=($2|0); + $7 = ($0|0)<(3); + $or$cond = $7 & $6; + $8 = ($2|0)<(7); + $or$cond3 = $8 & $or$cond; + if ($or$cond3) { + $9 = ($0|0)==(2); + if ($9) { + $$04956 = 0; + } else { + ___assert_fail((12772|0),(12359|0),4759,(12783|0)); + // unreachable; + } + while(1) { + _compute_stereo_samples($1,$2,$3,$4,$5); + $10 = (($$04956) + 1)|0; + $11 = ($10|0)<($0|0); + if ($11) { + $$04956 = $10; + } else { + break; + } + } + return; + } + $12 = ($0|0)<($2|0); + $13 = $12 ? $0 : $2; + $14 = ($5|0)>(0); + if (!($14)) { + return; + } + $15 = ($13|0)>(0); + $16 = ($13|0)>(0); + $smax = $16 ? $13 : 0; + $17 = (($0) - ($smax))|0; + $18 = ($13|0)>(0); + $smax71 = $18 ? $13 : 0; + $19 = (($0) - ($smax71))|0; + $20 = $19 << 1; + $$04866 = $1;$$05265 = 0; + while(1) { + if ($15) { + $21 = (($$05265) + ($4))|0; + $$15057 = 0;$$158 = $$04866; + while(1) { + $23 = (($3) + ($$15057<<2)|0); + $24 = HEAP32[$23>>2]|0; + $25 = (($24) + ($21<<2)|0); + $26 = +HEAPF32[$25>>2]; + $27 = $26 + 384.0; + $28 = (HEAPF32[tempDoublePtr>>2]=$27,HEAP32[tempDoublePtr>>2]|0); + $29 = (($28) + -1136623616)|0; + $30 = ($29>>>0)>(65535); + $31 = ($28|0)<(1136656384); + $32 = $31 ? 32768 : 32767; + $$0 = $30 ? $32 : $28; + $33 = $$0&65535; + $34 = ((($$158)) + 2|0); + HEAP16[$$158>>1] = $33; + $35 = (($$15057) + 1)|0; + $36 = ($35|0)<($13|0); + if ($36) { + $$15057 = $35;$$158 = $34; + } else { + $$1$lcssa = $34;$$150$lcssa = $13; + break; + } + } + } else { + $$1$lcssa = $$04866;$$150$lcssa = 0; + } + $22 = ($$150$lcssa|0)<($0|0); + if ($22) { + _memset(($$1$lcssa|0),0,($20|0))|0; + $scevgep = (($$1$lcssa) + ($17<<1)|0); + $$2$lcssa = $scevgep; + } else { + $$2$lcssa = $$1$lcssa; + } + $37 = (($$05265) + 1)|0; + $exitcond = ($37|0)==($5|0); + if ($exitcond) { + break; + } else { + $$04866 = $$2$lcssa;$$05265 = $37; + } + } + return; +} +function _stb_vorbis_get_frame_float($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$020 = 0, $$022 = 0, $$lcssa = 0, $$lcssa21 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; + var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + $6 = ((($0)) + 48|0); + $7 = HEAP8[$6>>0]|0; + $8 = ($7<<24>>24)==(0); + if (!($8)) { + _error($0,2); + $$020 = 0; + STACKTOP = sp;return ($$020|0); + } + $9 = (_vorbis_decode_packet($0,$3,$5,$4)|0); + $10 = ($9|0)==(0); + if ($10) { + $11 = ((($0)) + 1508|0); + HEAP32[$11>>2] = 0; + $12 = ((($0)) + 1504|0); + HEAP32[$12>>2] = 0; + $$020 = 0; + STACKTOP = sp;return ($$020|0); + } + $13 = HEAP32[$3>>2]|0; + $14 = HEAP32[$5>>2]|0; + $15 = HEAP32[$4>>2]|0; + $16 = (_vorbis_finish_frame($0,$13,$14,$15)|0); + HEAP32[$3>>2] = $16; + $17 = ((($0)) + 4|0); + $18 = HEAP32[$17>>2]|0; + $19 = ($18|0)>(0); + $20 = HEAP32[$5>>2]|0; + if ($19) { + $21 = HEAP32[$5>>2]|0; + $$022 = 0;$25 = $20; + while(1) { + $22 = (((($0)) + 800|0) + ($$022<<2)|0); + $23 = HEAP32[$22>>2]|0; + $24 = (($23) + ($25<<2)|0); + $26 = (((($0)) + 864|0) + ($$022<<2)|0); + HEAP32[$26>>2] = $24; + $27 = (($$022) + 1)|0; + $28 = HEAP32[$17>>2]|0; + $29 = ($27|0)<($28|0); + if ($29) { + $$022 = $27;$25 = $21; + } else { + $$lcssa = $21;$$lcssa21 = $28; + break; + } + } + } else { + $$lcssa = $20;$$lcssa21 = $18; + } + $30 = ((($0)) + 1504|0); + HEAP32[$30>>2] = $$lcssa; + $31 = HEAP32[$3>>2]|0; + $32 = (($31) + ($$lcssa))|0; + $33 = ((($0)) + 1508|0); + HEAP32[$33>>2] = $32; + $34 = ($1|0)==(0|0); + if (!($34)) { + HEAP32[$1>>2] = $$lcssa21; + } + $35 = ($2|0)==(0|0); + if ($35) { + $$020 = $31; + STACKTOP = sp;return ($$020|0); + } + $36 = ((($0)) + 864|0); + HEAP32[$2>>2] = $36; + $$020 = $31; + STACKTOP = sp;return ($$020|0); +} +function _error($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($0)) + 100|0); + HEAP32[$2>>2] = $1; + return; +} +function _vorbis_decode_packet($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $4 = sp + 8|0; + $5 = sp + 4|0; + $6 = sp; + $7 = (_vorbis_decode_initial($0,$2,$5,$3,$6,$4)|0); + $8 = ($7|0)==(0); + if ($8) { + $$0 = 0; + STACKTOP = sp;return ($$0|0); + } + $9 = HEAP32[$4>>2]|0; + $10 = (((($0)) + 412|0) + (($9*6)|0)|0); + $11 = HEAP32[$2>>2]|0; + $12 = HEAP32[$3>>2]|0; + $13 = HEAP32[$6>>2]|0; + $14 = (_vorbis_decode_packet_rest($0,$1,$10,$11,$12,$13,$2)|0); + $$0 = $14; + STACKTOP = sp;return ($$0|0); +} +function _vorbis_finish_frame($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$ = 0, $$0 = 0, $$06775 = 0, $$06878 = 0, $$06972 = 0, $$07073 = 0, $$pr = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0.0, $21 = 0, $22 = 0.0; + var $23 = 0.0, $24 = 0, $25 = 0.0, $26 = 0, $27 = 0, $28 = 0.0, $29 = 0.0, $30 = 0.0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; + var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0; + var $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond79 = 0, label = 0, sp = 0; + sp = STACKTOP; + $4 = ((($0)) + 992|0); + $5 = HEAP32[$4>>2]|0; + $6 = ($5|0)==(0); + if ($6) { + $54 = 0; + } else { + $7 = (_get_window($0,$5)|0); + $8 = ((($0)) + 4|0); + $9 = HEAP32[$8>>2]|0; + $10 = ($9|0)>(0); + if ($10) { + $11 = ($5|0)>(0); + $12 = HEAP32[$8>>2]|0; + $13 = (($5) + -1)|0; + $$06878 = 0; + while(1) { + if ($11) { + $14 = (((($0)) + 800|0) + ($$06878<<2)|0); + $15 = HEAP32[$14>>2]|0; + $16 = (((($0)) + 928|0) + ($$06878<<2)|0); + $17 = HEAP32[$16>>2]|0; + $$06775 = 0; + while(1) { + $18 = (($$06775) + ($2))|0; + $19 = (($15) + ($18<<2)|0); + $20 = +HEAPF32[$19>>2]; + $21 = (($7) + ($$06775<<2)|0); + $22 = +HEAPF32[$21>>2]; + $23 = $20 * $22; + $24 = (($17) + ($$06775<<2)|0); + $25 = +HEAPF32[$24>>2]; + $26 = (($13) - ($$06775))|0; + $27 = (($7) + ($26<<2)|0); + $28 = +HEAPF32[$27>>2]; + $29 = $25 * $28; + $30 = $23 + $29; + HEAPF32[$19>>2] = $30; + $31 = (($$06775) + 1)|0; + $exitcond79 = ($31|0)==($5|0); + if ($exitcond79) { + break; + } else { + $$06775 = $31; + } + } + } + $32 = (($$06878) + 1)|0; + $33 = ($32|0)<($12|0); + if ($33) { + $$06878 = $32; + } else { + break; + } + } + } + $$pr = HEAP32[$4>>2]|0; + $54 = $$pr; + } + $34 = (($1) - ($3))|0; + HEAP32[$4>>2] = $34; + $35 = ((($0)) + 4|0); + $36 = HEAP32[$35>>2]|0; + $37 = ($36|0)>(0); + if ($37) { + $38 = ($1|0)>($3|0); + $39 = HEAP32[$35>>2]|0; + $40 = (($1) - ($3))|0; + $$07073 = 0; + while(1) { + if ($38) { + $41 = (((($0)) + 800|0) + ($$07073<<2)|0); + $42 = HEAP32[$41>>2]|0; + $43 = (((($0)) + 928|0) + ($$07073<<2)|0); + $44 = HEAP32[$43>>2]|0; + $$06972 = 0;$46 = $3; + while(1) { + $45 = (($42) + ($46<<2)|0); + $47 = HEAP32[$45>>2]|0; + $48 = (($44) + ($$06972<<2)|0); + HEAP32[$48>>2] = $47; + $49 = (($$06972) + 1)|0; + $50 = (($49) + ($3))|0; + $exitcond = ($49|0)==($40|0); + if ($exitcond) { + break; + } else { + $$06972 = $49;$46 = $50; + } + } + } + $51 = (($$07073) + 1)|0; + $52 = ($51|0)<($39|0); + if ($52) { + $$07073 = $51; + } else { + break; + } + } + } + $53 = ($54|0)==(0); + $55 = ($1|0)<($3|0); + $$ = $55 ? $1 : $3; + $56 = (($$) - ($2))|0; + $57 = ((($0)) + 1416|0); + if ($53) { + $$0 = 0; + return ($$0|0); + } + $58 = HEAP32[$57>>2]|0; + $59 = (($58) + ($56))|0; + HEAP32[$57>>2] = $59; + $$0 = $56; + return ($$0|0); +} +function _get_window($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $$sink = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = $1 << 1; + $3 = ((($0)) + 112|0); + $4 = HEAP32[$3>>2]|0; + $5 = ($2|0)==($4|0); + if ($5) { + $$sink = 0; + } else { + $6 = ((($0)) + 116|0); + $7 = HEAP32[$6>>2]|0; + $8 = ($2|0)==($7|0); + if ($8) { + $$sink = 1; + } else { + ___assert_fail((12357|0),(12359|0),2658,(12381|0)); + // unreachable; + } + } + $9 = (((($0)) + 1092|0) + ($$sink<<2)|0); + $$0 = HEAP32[$9>>2]|0; + return ($$0|0); +} +function _vorbis_decode_initial($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + var $$0 = 0, $$062 = 0, $$063 = 0, $$064 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; + var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; + var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0; + var $65 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond3 = 0, $phitmp = 0, $storemerge = 0, $storemerge65 = 0, label = 0, sp = 0; + sp = STACKTOP; + $6 = ((($0)) + 1508|0); + HEAP32[$6>>2] = 0; + $7 = ((($0)) + 1504|0); + HEAP32[$7>>2] = 0; + $8 = ((($0)) + 96|0); + $9 = HEAP32[$8>>2]|0; + $10 = ($9|0)==(0); + if (!($10)) { + $$0 = 0; + return ($$0|0); + } + $11 = ((($0)) + 48|0); + while(1) { + $14 = (_maybe_start_packet($0)|0); + $15 = ($14|0)==(0); + if ($15) { + $$0 = 0; + label = 24; + break; + } + $16 = (_get_bits($0,1)|0); + $17 = ($16|0)==(0); + if ($17) { + label = 9; + break; + } + $18 = HEAP8[$11>>0]|0; + $19 = ($18<<24>>24)==(0); + if (!($19)) { + label = 7; + break; + } + while(1) { + $20 = (_get8_packet($0)|0); + $21 = ($20|0)==(-1); + if ($21) { + break; + } + } + $12 = HEAP32[$8>>2]|0; + $13 = ($12|0)==(0); + if (!($13)) { + $$0 = 0; + label = 24; + break; + } + } + if ((label|0) == 7) { + _error($0,35); + $$0 = 0; + return ($$0|0); + } + else if ((label|0) == 9) { + $22 = ((($0)) + 80|0); + $23 = HEAP32[$22>>2]|0; + $24 = ($23|0)==(0|0); + if (!($24)) { + $25 = ((($0)) + 84|0); + $26 = HEAP32[$25>>2]|0; + $27 = ((($0)) + 92|0); + $28 = HEAP32[$27>>2]|0; + $29 = ($26|0)==($28|0); + if (!($29)) { + ___assert_fail((12392|0),(12359|0),2737,(12750|0)); + // unreachable; + } + } + $30 = ((($0)) + 408|0); + $31 = HEAP32[$30>>2]|0; + $32 = (($31) + -1)|0; + $33 = (_ilog($32)|0); + $34 = (_get_bits($0,$33)|0); + $35 = ($34|0)==(-1); + if ($35) { + $$0 = 0; + return ($$0|0); + } + $36 = HEAP32[$30>>2]|0; + $37 = ($34|0)<($36|0); + if (!($37)) { + $$0 = 0; + return ($$0|0); + } + HEAP32[$5>>2] = $34; + $38 = (((($0)) + 412|0) + (($34*6)|0)|0); + $39 = HEAP8[$38>>0]|0; + $40 = ($39<<24>>24)==(0); + if ($40) { + $45 = ((($0)) + 112|0); + $46 = HEAP32[$45>>2]|0; + $$062 = 0;$$063 = 0;$$064 = $46; + } else { + $41 = ((($0)) + 116|0); + $42 = HEAP32[$41>>2]|0; + $43 = (_get_bits($0,1)|0); + $44 = (_get_bits($0,1)|0); + $phitmp = ($43|0)!=(0); + $$062 = $44;$$063 = $phitmp;$$064 = $42; + } + $47 = $$064 >> 1; + $48 = HEAP8[$38>>0]|0; + $49 = ($48<<24>>24)==(0); + $or$cond = $$063 | $49; + if ($or$cond) { + HEAP32[$1>>2] = 0; + $storemerge = $47; + } else { + $50 = ((($0)) + 112|0); + $51 = HEAP32[$50>>2]|0; + $52 = (($$064) - ($51))|0; + $53 = $52 >> 2; + HEAP32[$1>>2] = $53; + $54 = HEAP32[$50>>2]|0; + $55 = (($54) + ($$064))|0; + $56 = $55 >> 2; + $storemerge = $56; + } + HEAP32[$2>>2] = $storemerge; + $57 = ($$062|0)!=(0); + $or$cond3 = $57 | $49; + if ($or$cond3) { + HEAP32[$3>>2] = $47; + $storemerge65 = $$064; + } else { + $58 = ($$064*3)|0; + $59 = ((($0)) + 112|0); + $60 = HEAP32[$59>>2]|0; + $61 = (($58) - ($60))|0; + $62 = $61 >> 2; + HEAP32[$3>>2] = $62; + $63 = HEAP32[$59>>2]|0; + $64 = (($63) + ($58))|0; + $65 = $64 >> 2; + $storemerge65 = $65; + } + HEAP32[$4>>2] = $storemerge65; + $$0 = 1; + return ($$0|0); + } + else if ((label|0) == 24) { + return ($$0|0); + } + return (0)|0; +} +function _vorbis_decode_packet_rest($0,$1,$2,$3,$4,$5,$6) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + $6 = $6|0; + var $$ = 0, $$0409 = 0.0, $$0410 = 0.0, $$0411 = 0, $$041263 = 0, $$041652 = 0, $$0421$lcssa = 0, $$042133 = 0, $$042347 = 0, $$0427 = 0, $$042851 = 0, $$11 = 0, $$13 = 0, $$141341 = 0, $$141756 = 0, $$1422 = 0, $$1429$lcssa = 0, $$142946 = 0, $$1432 = 0, $$1437 = 0; + var $$241438 = 0, $$241860 = 0, $$2430 = 0, $$2438 = 0, $$3 = 0, $$341530 = 0, $$341530$in = 0, $$341934 = 0, $$424 = 0, $$442026 = 0, $$4435$ph = 0, $$443545 = 0, $$523 = 0, $$6 = 0, $$7 = 0, $$8 = 0, $$lcssa19 = 0, $$sink$sink = 0, $$sink3 = 0, $$sink3$in = 0; + var $$sink5 = 0, $$sink9 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; + var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; + var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; + var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; + var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; + var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0; + var $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0; + var $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0; + var $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0; + var $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0; + var $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0; + var $298 = 0, $299 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0.0, $305 = 0, $306 = 0, $307 = 0.0, $308 = 0, $309 = 0.0, $31 = 0, $310 = 0.0, $311 = 0.0, $312 = 0.0, $313 = 0, $314 = 0, $315 = 0; + var $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0; + var $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0; + var $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0; + var $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0; + var $389 = 0, $39 = 0, $390 = 0, $391 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0; + var $56 = 0, $57 = 0, $58 = 0, $59 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0; + var $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0; + var $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond = 0, $exitcond69 = 0, $storemerge = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 2560|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(2560|0); + $7 = sp + 1280|0; + $8 = sp + 256|0; + $9 = sp; + $10 = sp + 2304|0; + $11 = HEAP8[$2>>0]|0; + $12 = $11&255; + $13 = (((($0)) + 104|0) + ($12<<2)|0); + $14 = HEAP32[$13>>2]|0; + $15 = ((($0)) + 404|0); + $16 = HEAP32[$15>>2]|0; + $17 = ((($2)) + 1|0); + $18 = HEAP8[$17>>0]|0; + $19 = $18&255; + $20 = (($16) + (($19*40)|0)|0); + $21 = $14 >> 1; + $22 = (0 - ($21))|0; + $23 = ((($0)) + 4|0); + $24 = HEAP32[$23>>2]|0; + $25 = ($24|0)>(0); + L1: do { + if ($25) { + $26 = (((($16) + (($19*40)|0)|0)) + 4|0); + $27 = ((($0)) + 260|0); + $28 = ((($0)) + 1396|0); + $29 = ((($9)) + 1|0); + $30 = ((($0)) + 124|0); + $31 = ((($0)) + 1396|0); + $32 = ((($0)) + 1392|0); + $33 = ((($0)) + 124|0); + $34 = ((($0)) + 1396|0); + $35 = ((($0)) + 1392|0); + $$041263 = 0; + while(1) { + $36 = HEAP32[$26>>2]|0; + $37 = (((($36) + (($$041263*3)|0)|0)) + 2|0); + $38 = HEAP8[$37>>0]|0; + $39 = $38&255; + $40 = (($7) + ($$041263<<2)|0); + HEAP32[$40>>2] = 0; + $41 = ((((($16) + (($19*40)|0)|0)) + 9|0) + ($39)|0); + $42 = HEAP8[$41>>0]|0; + $43 = $42&255; + $44 = (((($0)) + 132|0) + ($43<<1)|0); + $45 = HEAP16[$44>>1]|0; + $46 = ($45<<16>>16)==(0); + if ($46) { + break; + } + $47 = HEAP32[$27>>2]|0; + $48 = (_get_bits($0,1)|0); + $49 = ($48|0)==(0); + do { + if ($49) { + label = 48; + } else { + $50 = (((($47) + (($43*1596)|0)|0)) + 1588|0); + $51 = HEAP8[$50>>0]|0; + $52 = $51&255; + $53 = (($52) + -1)|0; + $54 = (3660 + ($53<<2)|0); + $55 = HEAP32[$54>>2]|0; + $56 = (((($0)) + 996|0) + ($$041263<<2)|0); + $57 = HEAP32[$56>>2]|0; + $58 = (_ilog($55)|0); + $59 = (($58) + -1)|0; + $60 = (_get_bits($0,$59)|0); + $61 = $60&65535; + HEAP16[$57>>1] = $61; + $62 = (_get_bits($0,$59)|0); + $63 = $62&65535; + $64 = ((($57)) + 2|0); + HEAP16[$64>>1] = $63; + $65 = (($47) + (($43*1596)|0)|0); + $66 = HEAP8[$65>>0]|0; + $67 = ($66<<24>>24)==(0); + if (!($67)) { + $$041652 = 0;$$042851 = 2; + while(1) { + $68 = ((((($47) + (($43*1596)|0)|0)) + 1|0) + ($$041652)|0); + $69 = HEAP8[$68>>0]|0; + $70 = $69&255; + $71 = ((((($47) + (($43*1596)|0)|0)) + 33|0) + ($70)|0); + $72 = HEAP8[$71>>0]|0; + $73 = $72&255; + $74 = ((((($47) + (($43*1596)|0)|0)) + 49|0) + ($70)|0); + $75 = HEAP8[$74>>0]|0; + $76 = $75&255; + $77 = 1 << $76; + $78 = (($77) + -1)|0; + $79 = ($75<<24>>24)==(0); + if ($79) { + $$4435$ph = 0; + } else { + $80 = HEAP32[$30>>2]|0; + $81 = ((((($47) + (($43*1596)|0)|0)) + 65|0) + ($70)|0); + $82 = HEAP8[$81>>0]|0; + $83 = $82&255; + $84 = (($80) + (($83*2096)|0)|0); + $85 = HEAP32[$31>>2]|0; + $86 = ($85|0)<(10); + if ($86) { + _prep_huffman($0); + } + $87 = HEAP32[$32>>2]|0; + $88 = $87 & 1023; + $89 = ((((($80) + (($83*2096)|0)|0)) + 36|0) + ($88<<1)|0); + $90 = HEAP16[$89>>1]|0; + $91 = $90 << 16 >> 16; + $92 = ($90<<16>>16)>(-1); + if ($92) { + $93 = (((($80) + (($83*2096)|0)|0)) + 8|0); + $94 = HEAP32[$93>>2]|0; + $95 = (($94) + ($91)|0); + $96 = HEAP8[$95>>0]|0; + $97 = $96&255; + $98 = $87 >>> $97; + HEAP32[$32>>2] = $98; + $99 = HEAP32[$31>>2]|0; + $100 = (($99) - ($97))|0; + $101 = ($100|0)<(0); + $$ = $101 ? 0 : $100; + $$6 = $101 ? -1 : $91; + HEAP32[$31>>2] = $$; + $$1432 = $$6; + } else { + $102 = (_codebook_decode_scalar_raw($0,$84)|0); + $$1432 = $102; + } + $103 = (((($80) + (($83*2096)|0)|0)) + 23|0); + $104 = HEAP8[$103>>0]|0; + $105 = ($104<<24>>24)==(0); + if ($105) { + $$4435$ph = $$1432; + } else { + $106 = (((($80) + (($83*2096)|0)|0)) + 2088|0); + $107 = HEAP32[$106>>2]|0; + $108 = (($107) + ($$1432<<2)|0); + $109 = HEAP32[$108>>2]|0; + $$4435$ph = $109; + } + } + $110 = ($72<<24>>24)==(0); + if ($110) { + $$1429$lcssa = $$042851; + } else { + $$042347 = 0;$$142946 = $$042851;$$443545 = $$4435$ph; + while(1) { + $111 = $$443545 & $78; + $112 = (((((($47) + (($43*1596)|0)|0)) + 82|0) + ($70<<4)|0) + ($111<<1)|0); + $113 = HEAP16[$112>>1]|0; + $114 = $$443545 >> $76; + $115 = ($113<<16>>16)>(-1); + if ($115) { + $116 = $113 << 16 >> 16; + $117 = HEAP32[$33>>2]|0; + $118 = (($117) + (($116*2096)|0)|0); + $119 = HEAP32[$34>>2]|0; + $120 = ($119|0)<(10); + if ($120) { + _prep_huffman($0); + } + $121 = HEAP32[$35>>2]|0; + $122 = $121 & 1023; + $123 = ((((($117) + (($116*2096)|0)|0)) + 36|0) + ($122<<1)|0); + $124 = HEAP16[$123>>1]|0; + $125 = $124 << 16 >> 16; + $126 = ($124<<16>>16)>(-1); + if ($126) { + $127 = (((($117) + (($116*2096)|0)|0)) + 8|0); + $128 = HEAP32[$127>>2]|0; + $129 = (($128) + ($125)|0); + $130 = HEAP8[$129>>0]|0; + $131 = $130&255; + $132 = $121 >>> $131; + HEAP32[$35>>2] = $132; + $133 = HEAP32[$34>>2]|0; + $134 = (($133) - ($131))|0; + $135 = ($134|0)<(0); + $$7 = $135 ? 0 : $134; + $$8 = $135 ? -1 : $125; + HEAP32[$34>>2] = $$7; + $$1437 = $$8; + } else { + $136 = (_codebook_decode_scalar_raw($0,$118)|0); + $$1437 = $136; + } + $137 = (((($117) + (($116*2096)|0)|0)) + 23|0); + $138 = HEAP8[$137>>0]|0; + $139 = ($138<<24>>24)==(0); + if ($139) { + $$2438 = $$1437; + } else { + $140 = (((($117) + (($116*2096)|0)|0)) + 2088|0); + $141 = HEAP32[$140>>2]|0; + $142 = (($141) + ($$1437<<2)|0); + $143 = HEAP32[$142>>2]|0; + $$2438 = $143; + } + $144 = $$2438&65535; + $$sink9 = $144; + } else { + $$sink9 = 0; + } + $145 = (($57) + ($$142946<<1)|0); + HEAP16[$145>>1] = $$sink9; + $$2430 = (($$142946) + 1)|0; + $146 = (($$042347) + 1)|0; + $exitcond69 = ($146|0)==($73|0); + if ($exitcond69) { + break; + } else { + $$042347 = $146;$$142946 = $$2430;$$443545 = $114; + } + } + $147 = (($$042851) + ($73))|0; + $$1429$lcssa = $147; + } + $148 = (($$041652) + 1)|0; + $149 = HEAP8[$65>>0]|0; + $150 = $149&255; + $151 = ($148|0)<($150|0); + if ($151) { + $$041652 = $148;$$042851 = $$1429$lcssa; + } else { + break; + } + } + } + $152 = HEAP32[$28>>2]|0; + $153 = ($152|0)==(-1); + if ($153) { + label = 48; + break; + } + HEAP8[$29>>0] = 1; + HEAP8[$9>>0] = 1; + $154 = (((($47) + (($43*1596)|0)|0)) + 1592|0); + $155 = HEAP32[$154>>2]|0; + $156 = ($155|0)>(2); + if ($156) { + $157 = (($55) + 65535)|0; + $$141756 = 2; + while(1) { + $161 = ((((($47) + (($43*1596)|0)|0)) + 1088|0) + ($$141756<<1)|0); + $162 = HEAP8[$161>>0]|0; + $163 = $162&255; + $164 = ((((((($47) + (($43*1596)|0)|0)) + 1088|0) + ($$141756<<1)|0)) + 1|0); + $165 = HEAP8[$164>>0]|0; + $166 = $165&255; + $167 = ((((($47) + (($43*1596)|0)|0)) + 338|0) + ($$141756<<1)|0); + $168 = HEAP16[$167>>1]|0; + $169 = $168&65535; + $170 = ((((($47) + (($43*1596)|0)|0)) + 338|0) + ($163<<1)|0); + $171 = HEAP16[$170>>1]|0; + $172 = $171&65535; + $173 = ((((($47) + (($43*1596)|0)|0)) + 338|0) + ($166<<1)|0); + $174 = HEAP16[$173>>1]|0; + $175 = $174&65535; + $176 = (($57) + ($163<<1)|0); + $177 = HEAP16[$176>>1]|0; + $178 = $177 << 16 >> 16; + $179 = (($57) + ($166<<1)|0); + $180 = HEAP16[$179>>1]|0; + $181 = $180 << 16 >> 16; + $182 = (_predict_point($169,$172,$175,$178,$181)|0); + $183 = (($57) + ($$141756<<1)|0); + $184 = HEAP16[$183>>1]|0; + $185 = $184 << 16 >> 16; + $186 = (($55) - ($182))|0; + $187 = ($184<<16>>16)==(0); + do { + if ($187) { + $203 = (($9) + ($$141756)|0); + HEAP8[$203>>0] = 0; + $204 = $182&65535; + $$sink$sink = $204; + } else { + $188 = ($186|0)<($182|0); + $$11 = $188 ? $186 : $182; + $$0427 = $$11 << 1; + $189 = (($9) + ($166)|0); + HEAP8[$189>>0] = 1; + $190 = (($9) + ($163)|0); + HEAP8[$190>>0] = 1; + $191 = (($9) + ($$141756)|0); + HEAP8[$191>>0] = 1; + $192 = ($185|0)<($$0427|0); + if (!($192)) { + $193 = ($186|0)>($182|0); + if ($193) { + $$sink$sink = $184; + break; + } + $194 = (($157) - ($185))|0; + $195 = $194&65535; + $$sink$sink = $195; + break; + } + $196 = $185 & 1; + $197 = ($196|0)==(0); + if ($197) { + $201 = $185 >>> 1; + $202 = (($201) + ($182))|0; + $$sink3$in = $202; + } else { + $198 = (($185) + 1)|0; + $199 = $198 >> 1; + $200 = (($182) - ($199))|0; + $$sink3$in = $200; + } + $$sink3 = $$sink3$in&65535; + $$sink$sink = $$sink3; + } + } while(0); + HEAP16[$183>>1] = $$sink$sink; + $205 = (($$141756) + 1)|0; + $206 = HEAP32[$154>>2]|0; + $207 = ($205|0)<($206|0); + if ($207) { + $$141756 = $205; + } else { + $159 = $206; + break; + } + } + } else { + $159 = $155; + } + $158 = ($159|0)>(0); + if ($158) { + $160 = HEAP32[$154>>2]|0; + $$241860 = 0; + while(1) { + $208 = (($9) + ($$241860)|0); + $209 = HEAP8[$208>>0]|0; + $210 = ($209<<24>>24)==(0); + if ($210) { + $211 = (($57) + ($$241860<<1)|0); + HEAP16[$211>>1] = -1; + } + $212 = (($$241860) + 1)|0; + $213 = ($212|0)<($160|0); + if ($213) { + $$241860 = $212; + } else { + break; + } + } + } + } + } while(0); + if ((label|0) == 48) { + label = 0; + HEAP32[$40>>2] = 1; + } + $214 = (($$041263) + 1)|0; + $215 = HEAP32[$23>>2]|0; + $216 = ($214|0)<($215|0); + if ($216) { + $$041263 = $214; + } else { + $$lcssa19 = $215; + break L1; + } + } + _error($0,21); + $$3 = 0; + STACKTOP = sp;return ($$3|0); + } else { + $$lcssa19 = $24; + } + } while(0); + $217 = ((($0)) + 80|0); + $218 = HEAP32[$217>>2]|0; + $219 = ($218|0)==(0|0); + if (!($219)) { + $220 = ((($0)) + 84|0); + $221 = HEAP32[$220>>2]|0; + $222 = ((($0)) + 92|0); + $223 = HEAP32[$222>>2]|0; + $224 = ($221|0)==($223|0); + if (!($224)) { + ___assert_fail((12392|0),(12359|0),2886,(12448|0)); + // unreachable; + } + } + $225 = $$lcssa19 << 2; + _memcpy(($8|0),($7|0),($225|0))|0; + $226 = HEAP16[$20>>1]|0; + $227 = ($226<<16>>16)==(0); + if (!($227)) { + $228 = (((($16) + (($19*40)|0)|0)) + 4|0); + $229 = HEAP32[$228>>2]|0; + $230 = HEAP16[$20>>1]|0; + $231 = $230&65535; + $$141341 = 0; + while(1) { + $236 = (($229) + (($$141341*3)|0)|0); + $237 = HEAP8[$236>>0]|0; + $238 = $237&255; + $239 = (($7) + ($238<<2)|0); + $240 = HEAP32[$239>>2]|0; + $241 = ($240|0)==(0); + $242 = (((($229) + (($$141341*3)|0)|0)) + 1|0); + $243 = HEAP8[$242>>0]|0; + $244 = $243&255; + if ($241) { + label = 59; + } else { + $245 = (($7) + ($244<<2)|0); + $246 = HEAP32[$245>>2]|0; + $247 = ($246|0)==(0); + if ($247) { + label = 59; + } + } + if ((label|0) == 59) { + label = 0; + $248 = (($7) + ($244<<2)|0); + HEAP32[$248>>2] = 0; + HEAP32[$239>>2] = 0; + } + $249 = (($$141341) + 1)|0; + $250 = ($249|0)<($231|0); + if ($250) { + $$141341 = $249; + } else { + break; + } + } + } + $232 = (((($16) + (($19*40)|0)|0)) + 8|0); + $233 = HEAP8[$232>>0]|0; + $234 = ($233<<24>>24)==(0); + if (!($234)) { + $235 = (((($16) + (($19*40)|0)|0)) + 4|0); + $$241438 = 0; + while(1) { + $251 = HEAP32[$23>>2]|0; + $252 = ($251|0)>(0); + if ($252) { + $253 = HEAP32[$235>>2]|0; + $254 = HEAP32[$23>>2]|0; + $$042133 = 0;$$341934 = 0; + while(1) { + $255 = (((($253) + (($$341934*3)|0)|0)) + 2|0); + $256 = HEAP8[$255>>0]|0; + $257 = $256&255; + $258 = ($257|0)==($$241438|0); + if ($258) { + $259 = (($7) + ($$341934<<2)|0); + $260 = HEAP32[$259>>2]|0; + $261 = ($260|0)==(0); + $262 = (($10) + ($$042133)|0); + if ($261) { + HEAP8[$262>>0] = 0; + $263 = (((($0)) + 800|0) + ($$341934<<2)|0); + $264 = HEAP32[$263>>2]|0; + $$sink5 = $264; + } else { + HEAP8[$262>>0] = 1; + $$sink5 = 0; + } + $265 = (($9) + ($$042133<<2)|0); + HEAP32[$265>>2] = $$sink5; + $266 = (($$042133) + 1)|0; + $$1422 = $266; + } else { + $$1422 = $$042133; + } + $267 = (($$341934) + 1)|0; + $268 = ($267|0)<($254|0); + if ($268) { + $$042133 = $$1422;$$341934 = $267; + } else { + $$0421$lcssa = $$1422; + break; + } + } + } else { + $$0421$lcssa = 0; + } + $269 = ((((($16) + (($19*40)|0)|0)) + 24|0) + ($$241438)|0); + $270 = HEAP8[$269>>0]|0; + $271 = $270&255; + _decode_residue($0,$9,$$0421$lcssa,$21,$271,$10); + $272 = (($$241438) + 1)|0; + $273 = HEAP8[$232>>0]|0; + $274 = $273&255; + $275 = ($272|0)<($274|0); + if ($275) { + $$241438 = $272; + } else { + break; + } + } + } + $276 = HEAP32[$217>>2]|0; + $277 = ($276|0)==(0|0); + if (!($277)) { + $278 = ((($0)) + 84|0); + $279 = HEAP32[$278>>2]|0; + $280 = ((($0)) + 92|0); + $281 = HEAP32[$280>>2]|0; + $282 = ($279|0)==($281|0); + if (!($282)) { + ___assert_fail((12392|0),(12359|0),2919,(12448|0)); + // unreachable; + } + } + $283 = HEAP16[$20>>1]|0; + $284 = ($283<<16>>16)==(0); + if (!($284)) { + $285 = $283&65535; + $286 = (((($16) + (($19*40)|0)|0)) + 4|0); + $287 = HEAP32[$286>>2]|0; + $288 = ($21|0)>(0); + $$341530$in = $285; + while(1) { + $$341530 = (($$341530$in) + -1)|0; + $293 = (($287) + (($$341530*3)|0)|0); + $294 = HEAP8[$293>>0]|0; + $295 = $294&255; + $296 = (((($0)) + 800|0) + ($295<<2)|0); + $297 = HEAP32[$296>>2]|0; + $298 = (((($287) + (($$341530*3)|0)|0)) + 1|0); + $299 = HEAP8[$298>>0]|0; + $300 = $299&255; + $301 = (((($0)) + 800|0) + ($300<<2)|0); + $302 = HEAP32[$301>>2]|0; + if ($288) { + $$442026 = 0; + while(1) { + $303 = (($297) + ($$442026<<2)|0); + $304 = +HEAPF32[$303>>2]; + $305 = $304 > 0.0; + $306 = (($302) + ($$442026<<2)|0); + $307 = +HEAPF32[$306>>2]; + $308 = $307 > 0.0; + do { + if ($305) { + if ($308) { + $309 = $304 - $307; + $$0409 = $304;$$0410 = $309; + break; + } else { + $310 = $304 + $307; + $$0409 = $310;$$0410 = $304; + break; + } + } else { + if ($308) { + $311 = $304 + $307; + $$0409 = $304;$$0410 = $311; + break; + } else { + $312 = $304 - $307; + $$0409 = $312;$$0410 = $304; + break; + } + } + } while(0); + HEAPF32[$303>>2] = $$0409; + HEAPF32[$306>>2] = $$0410; + $313 = (($$442026) + 1)|0; + $exitcond = ($313|0)==($21|0); + if ($exitcond) { + break; + } else { + $$442026 = $313; + } + } + } + $289 = ($$341530$in|0)>(1); + if ($289) { + $$341530$in = $$341530; + } else { + break; + } + } + } + $290 = HEAP32[$23>>2]|0; + $291 = ($290|0)>(0); + if ($291) { + $292 = $21 << 2; + $$424 = 0; + while(1) { + $316 = (($8) + ($$424<<2)|0); + $317 = HEAP32[$316>>2]|0; + $318 = ($317|0)==(0); + $319 = (((($0)) + 800|0) + ($$424<<2)|0); + $320 = HEAP32[$319>>2]|0; + if ($318) { + $321 = (((($0)) + 996|0) + ($$424<<2)|0); + $322 = HEAP32[$321>>2]|0; + _do_floor($0,$20,$$424,$14,$320,$322); + } else { + _memset(($320|0),0,($292|0))|0; + } + $323 = (($$424) + 1)|0; + $315 = HEAP32[$23>>2]|0; + $324 = ($323|0)<($315|0); + if ($324) { + $$424 = $323; + } else { + break; + } + } + $314 = ($315|0)>(0); + if ($314) { + $$523 = 0; + while(1) { + $325 = (((($0)) + 800|0) + ($$523<<2)|0); + $326 = HEAP32[$325>>2]|0; + $327 = HEAP8[$2>>0]|0; + $328 = $327&255; + _inverse_mdct($326,$14,$0,$328); + $329 = (($$523) + 1)|0; + $330 = HEAP32[$23>>2]|0; + $331 = ($329|0)<($330|0); + if ($331) { + $$523 = $329; + } else { + break; + } + } + } + } + _flush_packet($0); + $332 = ((($0)) + 1377|0); + $333 = HEAP8[$332>>0]|0; + $334 = ($333<<24>>24)==(0); + do { + if ($334) { + $339 = ((($0)) + 1412|0); + $340 = HEAP32[$339>>2]|0; + $341 = ($340|0)==(0); + if ($341) { + $$0411 = $3; + } else { + $342 = (($4) - ($3))|0; + $343 = ($340|0)<($342|0); + if ($343) { + $345 = (($340) + ($3))|0; + HEAP32[$6>>2] = $345; + HEAP32[$339>>2] = 0; + $$0411 = $345; + break; + } else { + $344 = (($340) - ($342))|0; + HEAP32[$339>>2] = $344; + HEAP32[$6>>2] = $4; + $$0411 = $4; + break; + } + } + } else { + $335 = ((($0)) + 1060|0); + HEAP32[$335>>2] = $22; + $336 = (($14) - ($5))|0; + $337 = ((($0)) + 1412|0); + HEAP32[$337>>2] = $336; + $338 = ((($0)) + 1064|0); + HEAP32[$338>>2] = 1; + HEAP8[$332>>0] = 0; + $$0411 = $3; + } + } while(0); + $346 = ((($0)) + 1388|0); + $347 = HEAP32[$346>>2]|0; + $348 = ((($0)) + 1404|0); + $349 = HEAP32[$348>>2]|0; + $350 = ($347|0)==($349|0); + if ($350) { + $351 = ((($0)) + 1064|0); + $352 = HEAP32[$351>>2]|0; + $353 = ($352|0)==(0); + if (!($353)) { + $354 = ((($0)) + 1375|0); + $355 = HEAP8[$354>>0]|0; + $356 = $355 & 4; + $357 = ($356<<24>>24)==(0); + if (!($357)) { + $358 = ((($0)) + 1408|0); + $359 = HEAP32[$358>>2]|0; + $360 = (($5) - ($14))|0; + $361 = (($359) + ($360))|0; + $362 = ((($0)) + 1060|0); + $363 = HEAP32[$362>>2]|0; + $364 = (($5) - ($$0411))|0; + $365 = (($364) + ($363))|0; + $366 = ($361>>>0)<($365>>>0); + $367 = ($361>>>0)<($363>>>0); + $368 = (($361) - ($363))|0; + $storemerge = $367 ? 0 : $368; + $369 = (($storemerge) + ($$0411))|0; + $370 = ($369|0)>($5|0); + $$13 = $370 ? $5 : $369; + if ($366) { + HEAP32[$1>>2] = $$13; + $371 = HEAP32[$362>>2]|0; + $372 = (($371) + ($$13))|0; + HEAP32[$362>>2] = $372; + $$3 = 1; + STACKTOP = sp;return ($$3|0); + } + } + } + $373 = ((($0)) + 1408|0); + $374 = HEAP32[$373>>2]|0; + $375 = (($$0411) - ($21))|0; + $376 = (($375) + ($374))|0; + $377 = ((($0)) + 1060|0); + HEAP32[$377>>2] = $376; + HEAP32[$351>>2] = 1; + } + $378 = ((($0)) + 1064|0); + $379 = HEAP32[$378>>2]|0; + $380 = ($379|0)==(0); + $381 = ((($0)) + 1060|0); + if (!($380)) { + $382 = (($4) - ($$0411))|0; + $383 = HEAP32[$381>>2]|0; + $384 = (($382) + ($383))|0; + HEAP32[$381>>2] = $384; + } + $385 = HEAP32[$217>>2]|0; + $386 = ($385|0)==(0|0); + if (!($386)) { + $387 = ((($0)) + 84|0); + $388 = HEAP32[$387>>2]|0; + $389 = ((($0)) + 92|0); + $390 = HEAP32[$389>>2]|0; + $391 = ($388|0)==($390|0); + if (!($391)) { + ___assert_fail((12392|0),(12359|0),3035,(12448|0)); + // unreachable; + } + } + HEAP32[$1>>2] = $5; + $$3 = 1; + STACKTOP = sp;return ($$3|0); +} +function _get_bits($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$2 = 0, $$pr = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($0)) + 1396|0); + $3 = HEAP32[$2>>2]|0; + $4 = ($3|0)<(0); + if ($4) { + $$2 = 0; + return ($$2|0); + } + $5 = ($3|0)<($1|0); + L4: do { + if ($5) { + $6 = ($1|0)>(24); + if ($6) { + $7 = (_get_bits($0,24)|0); + $8 = (($1) + -24)|0; + $9 = (_get_bits($0,$8)|0); + $10 = $9 << 24; + $11 = (($10) + ($7))|0; + return ($11|0); + } + $12 = ($3|0)==(0); + if ($12) { + $13 = ((($0)) + 1392|0); + HEAP32[$13>>2] = 0; + } + $14 = HEAP32[$2>>2]|0; + $15 = ($14|0)<($1|0); + if ($15) { + $16 = ((($0)) + 1392|0); + while(1) { + $17 = (_get8_packet_raw($0)|0); + $18 = ($17|0)==(-1); + if ($18) { + break; + } + $19 = HEAP32[$2>>2]|0; + $20 = $17 << $19; + $21 = HEAP32[$16>>2]|0; + $22 = (($21) + ($20))|0; + HEAP32[$16>>2] = $22; + $23 = (($19) + 8)|0; + HEAP32[$2>>2] = $23; + $24 = ($23|0)<($1|0); + if (!($24)) { + $26 = $23; + break L4; + } + } + HEAP32[$2>>2] = -1; + $$2 = 0; + return ($$2|0); + } else { + $26 = $14; + } + } else { + $$pr = HEAP32[$2>>2]|0; + $26 = $$pr; + } + } while(0); + $25 = ($26|0)<(0); + if ($25) { + $$2 = 0; + return ($$2|0); + } + $27 = ((($0)) + 1392|0); + $28 = HEAP32[$27>>2]|0; + $29 = 1 << $1; + $30 = (($29) + -1)|0; + $31 = $28 & $30; + $32 = $28 >>> $1; + HEAP32[$27>>2] = $32; + $33 = (($26) - ($1))|0; + HEAP32[$2>>2] = $33; + $$2 = $31; + return ($$2|0); +} +function _ilog($0) { + $0 = $0|0; + var $$0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ($0|0)<(0); + if ($1) { + $$0 = 0; + return ($$0|0); + } + $2 = ($0|0)<(16384); + if ($2) { + $3 = ($0|0)<(16); + if ($3) { + $4 = (12734 + ($0)|0); + $5 = HEAP8[$4>>0]|0; + $6 = $5 << 24 >> 24; + $$0 = $6; + return ($$0|0); + } + $7 = ($0|0)<(512); + if ($7) { + $8 = $0 >>> 5; + $9 = (12734 + ($8)|0); + $10 = HEAP8[$9>>0]|0; + $11 = $10 << 24 >> 24; + $12 = (($11) + 5)|0; + $$0 = $12; + return ($$0|0); + } else { + $13 = $0 >>> 10; + $14 = (12734 + ($13)|0); + $15 = HEAP8[$14>>0]|0; + $16 = $15 << 24 >> 24; + $17 = (($16) + 10)|0; + $$0 = $17; + return ($$0|0); + } + } + $18 = ($0|0)<(16777216); + if ($18) { + $19 = ($0|0)<(524288); + if ($19) { + $20 = $0 >>> 15; + $21 = (12734 + ($20)|0); + $22 = HEAP8[$21>>0]|0; + $23 = $22 << 24 >> 24; + $24 = (($23) + 15)|0; + $$0 = $24; + return ($$0|0); + } else { + $25 = $0 >>> 20; + $26 = (12734 + ($25)|0); + $27 = HEAP8[$26>>0]|0; + $28 = $27 << 24 >> 24; + $29 = (($28) + 20)|0; + $$0 = $29; + return ($$0|0); + } + } else { + $30 = ($0|0)<(536870912); + if ($30) { + $31 = $0 >>> 25; + $32 = (12734 + ($31)|0); + $33 = HEAP8[$32>>0]|0; + $34 = $33 << 24 >> 24; + $35 = (($34) + 25)|0; + $$0 = $35; + return ($$0|0); + } else { + $36 = $0 >>> 30; + $37 = (12734 + ($36)|0); + $38 = HEAP8[$37>>0]|0; + $39 = $38 << 24 >> 24; + $40 = (($39) + 30)|0; + $$0 = $40; + return ($$0|0); + } + } + return (0)|0; +} +function _prep_huffman($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; + var label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 1396|0); + $2 = HEAP32[$1>>2]|0; + $3 = ($2|0)<(25); + if (!($3)) { + return; + } + $4 = ($2|0)==(0); + if ($4) { + $5 = ((($0)) + 1392|0); + HEAP32[$5>>2] = 0; + } + $6 = ((($0)) + 1376|0); + $7 = ((($0)) + 1384|0); + $8 = ((($0)) + 1392|0); + while(1) { + $9 = HEAP32[$7>>2]|0; + $10 = ($9|0)==(0); + if (!($10)) { + $11 = HEAP8[$6>>0]|0; + $12 = ($11<<24>>24)==(0); + if ($12) { + label = 9; + break; + } + } + $13 = (_get8_packet_raw($0)|0); + $14 = ($13|0)==(-1); + if ($14) { + label = 9; + break; + } + $15 = HEAP32[$1>>2]|0; + $16 = $13 << $15; + $17 = HEAP32[$8>>2]|0; + $18 = (($17) + ($16))|0; + HEAP32[$8>>2] = $18; + $19 = (($15) + 8)|0; + HEAP32[$1>>2] = $19; + $20 = ($19|0)<(25); + if (!($20)) { + label = 9; + break; + } + } + if ((label|0) == 9) { + return; + } +} +function _codebook_decode_scalar_raw($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $$06574 = 0, $$06676 = 0, $$068$lcssa = 0, $$06875 = 0, $$1 = 0, $$167 = 0, $$169 = 0, $$2 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0; + var $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0; + var $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0; + var $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0; + var $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $9 = 0, $storemerge = 0, label = 0, sp = 0; + sp = STACKTOP; + _prep_huffman($0); + $2 = ((($1)) + 32|0); + $3 = HEAP32[$2>>2]|0; + $4 = ($3|0)==(0|0); + if ($4) { + $5 = ((($1)) + 2084|0); + $6 = HEAP32[$5>>2]|0; + $7 = ($6|0)==(0|0); + if ($7) { + $$1 = -1; + return ($$1|0); + } + } + $8 = ((($1)) + 4|0); + $9 = HEAP32[$8>>2]|0; + $10 = ($9|0)>(8); + if ($10) { + $11 = ((($1)) + 2084|0); + $12 = HEAP32[$11>>2]|0; + $13 = ($12|0)==(0|0); + if (!($13)) { + label = 6; + } + } else { + $14 = HEAP32[$2>>2]|0; + $15 = ($14|0)==(0|0); + if ($15) { + label = 6; + } + } + if ((label|0) == 6) { + $16 = ((($0)) + 1392|0); + $17 = HEAP32[$16>>2]|0; + $18 = (_bit_reverse($17)|0); + $19 = ((($1)) + 2092|0); + $20 = HEAP32[$19>>2]|0; + $21 = ($20|0)>(1); + if ($21) { + $22 = ((($1)) + 2084|0); + $23 = HEAP32[$22>>2]|0; + $$06676 = $20;$$06875 = 0; + while(1) { + $24 = $$06676 >>> 1; + $25 = (($24) + ($$06875))|0; + $26 = (($23) + ($25<<2)|0); + $27 = HEAP32[$26>>2]|0; + $28 = ($27>>>0)>($18>>>0); + $29 = (($$06676) - ($24))|0; + $$169 = $28 ? $$06875 : $25; + $$167 = $28 ? $24 : $29; + $30 = ($$167|0)>(1); + if ($30) { + $$06676 = $$167;$$06875 = $$169; + } else { + $$068$lcssa = $$169; + break; + } + } + } else { + $$068$lcssa = 0; + } + $31 = ((($1)) + 23|0); + $32 = HEAP8[$31>>0]|0; + $33 = ($32<<24>>24)==(0); + if ($33) { + $34 = ((($1)) + 2088|0); + $35 = HEAP32[$34>>2]|0; + $36 = (($35) + ($$068$lcssa<<2)|0); + $37 = HEAP32[$36>>2]|0; + $$2 = $37; + } else { + $$2 = $$068$lcssa; + } + $38 = ((($1)) + 8|0); + $39 = HEAP32[$38>>2]|0; + $40 = (($39) + ($$2)|0); + $41 = HEAP8[$40>>0]|0; + $42 = $41&255; + $43 = ((($0)) + 1396|0); + $44 = HEAP32[$43>>2]|0; + $45 = ($44|0)<($42|0); + if ($45) { + $$0 = -1;$storemerge = 0; + } else { + $46 = (($44) - ($42))|0; + $47 = HEAP32[$16>>2]|0; + $48 = $47 >>> $42; + HEAP32[$16>>2] = $48; + $$0 = $$2;$storemerge = $46; + } + HEAP32[$43>>2] = $storemerge; + $$1 = $$0; + return ($$1|0); + } + $49 = ((($1)) + 23|0); + $50 = HEAP8[$49>>0]|0; + $51 = ($50<<24>>24)==(0); + if (!($51)) { + ___assert_fail((12696|0),(12359|0),1254,(12707|0)); + // unreachable; + } + $52 = HEAP32[$8>>2]|0; + $53 = ($52|0)>(0); + L26: do { + if ($53) { + $54 = ((($1)) + 8|0); + $55 = HEAP32[$54>>2]|0; + $56 = ((($0)) + 1392|0); + $$06574 = 0; + while(1) { + $57 = (($55) + ($$06574)|0); + $58 = HEAP8[$57>>0]|0; + $59 = $58&255; + $60 = ($58<<24>>24)==(-1); + if (!($60)) { + $61 = HEAP32[$2>>2]|0; + $62 = (($61) + ($$06574<<2)|0); + $63 = HEAP32[$62>>2]|0; + $64 = HEAP32[$56>>2]|0; + $65 = 1 << $59; + $66 = (($65) + -1)|0; + $67 = $64 & $66; + $68 = ($63|0)==($67|0); + if ($68) { + break; + } + } + $76 = (($$06574) + 1)|0; + $77 = HEAP32[$8>>2]|0; + $78 = ($76|0)<($77|0); + if ($78) { + $$06574 = $76; + } else { + break L26; + } + } + $69 = ((($0)) + 1396|0); + $70 = HEAP32[$69>>2]|0; + $71 = ($70|0)<($59|0); + if ($71) { + HEAP32[$69>>2] = 0; + $$1 = -1; + return ($$1|0); + } else { + $72 = $64 >>> $59; + HEAP32[$56>>2] = $72; + $73 = HEAP8[$57>>0]|0; + $74 = $73&255; + $75 = (($70) - ($74))|0; + HEAP32[$69>>2] = $75; + $$1 = $$06574; + return ($$1|0); + } + } + } while(0); + _error($0,21); + $79 = ((($0)) + 1396|0); + HEAP32[$79>>2] = 0; + $$1 = -1; + return ($$1|0); +} +function _predict_point($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$p = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $ispos = 0, $neg = 0, label = 0, sp = 0; + sp = STACKTOP; + $5 = (($4) - ($3))|0; + $6 = (($2) - ($1))|0; + $ispos = ($5|0)>(-1); + $neg = (0 - ($5))|0; + $7 = $ispos ? $5 : $neg; + $8 = (($0) - ($1))|0; + $9 = Math_imul($7, $8)|0; + $10 = (($9|0) / ($6|0))&-1; + $11 = ($5|0)<(0); + $12 = (0 - ($10))|0; + $$p = $11 ? $12 : $10; + $13 = (($$p) + ($3))|0; + return ($13|0); +} +function _decode_residue($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + var $$ = 0, $$0434$lcssa = 0, $$0434590 = 0, $$0437586 = 0, $$0439574 = 0, $$0444572 = 0, $$0465608 = 0, $$0466607 = 0, $$0613 = 0, $$1435596 = 0, $$1438611 = 0, $$1440$lcssa = 0, $$1440567 = 0, $$1451 = 0, $$1463 = 0, $$1467$lcssa = 0, $$1467603 = 0, $$1469 = 0, $$1472 = 0, $$1568 = 0; + var $$2436599 = 0, $$2446562 = 0, $$2452 = 0, $$2464 = 0, $$2470 = 0, $$2473 = 0, $$2561 = 0, $$3442564 = 0, $$3578 = 0, $$4443$lcssa = 0, $$4443560 = 0, $$4448582 = 0, $$4605 = 0, $$477 = 0, $$480 = 0, $$481 = 0, $$484 = 0, $$485 = 0, $$488 = 0, $$489 = 0; + var $$6584 = 0, $$7$lcssa = 0, $$7577 = 0, $$alloca_mul = 0, $$not = 0, $$not617 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0; + var $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0; + var $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0; + var $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0; + var $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0; + var $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0; + var $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0; + var $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0; + var $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0; + var $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0; + var $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0; + var $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0; + var $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0; + var $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0; + var $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0; + var $367 = 0, $368 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0; + var $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0; + var $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0; + var $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $brmerge = 0, $exitcond = 0, $not$ = 0, $not$521 = 0, $not$522 = 0, $not$523 = 0, $or$cond = 0, $or$cond478 = 0, $or$cond478566 = 0, $or$cond482 = 0, $or$cond482559 = 0; + var $or$cond486 = 0, $or$cond486576 = 0, $or$cond490 = 0, $or$cond490602 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $6 = sp + 4|0; + $7 = sp; + $8 = ((($0)) + 396|0); + $9 = HEAP32[$8>>2]|0; + $10 = (((($0)) + 268|0) + ($4<<1)|0); + $11 = HEAP16[$10>>1]|0; + $12 = $11&65535; + $13 = (((($9) + (($4*24)|0)|0)) + 13|0); + $14 = HEAP8[$13>>0]|0; + $15 = $14&255; + $16 = ((($0)) + 124|0); + $17 = HEAP32[$16>>2]|0; + $18 = (($17) + (($15*2096)|0)|0); + $19 = HEAP32[$18>>2]|0; + $20 = (((($9) + (($4*24)|0)|0)) + 4|0); + $21 = HEAP32[$20>>2]|0; + $22 = (($9) + (($4*24)|0)|0); + $23 = HEAP32[$22>>2]|0; + $24 = (($21) - ($23))|0; + $25 = (((($9) + (($4*24)|0)|0)) + 8|0); + $26 = HEAP32[$25>>2]|0; + $27 = (($24>>>0) / ($26>>>0))&-1; + $28 = ((($0)) + 92|0); + $29 = HEAP32[$28>>2]|0; + $30 = ((($0)) + 80|0); + $31 = HEAP32[$30>>2]|0; + $32 = ($31|0)==(0|0); + $33 = $27 << 2; + $34 = (($33) + 4)|0; + $35 = ((($0)) + 4|0); + $36 = HEAP32[$35>>2]|0; + $37 = Math_imul($36, $34)|0; + if ($32) { + $$alloca_mul = $37; + $39 = STACKTOP; STACKTOP = STACKTOP + ((((1*$$alloca_mul)|0)+15)&-16)|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(((((1*$$alloca_mul)|0)+15)&-16)|0);; + $41 = $39; + } else { + $38 = (_setup_temp_malloc($0,$37)|0); + $41 = $38; + } + $40 = HEAP32[$35>>2]|0; + $42 = (_make_block_array($41,$40,$33)|0); + $43 = ($2|0)>(0); + if ($43) { + $44 = $3 << 2; + $$0613 = 0; + while(1) { + $45 = (($5) + ($$0613)|0); + $46 = HEAP8[$45>>0]|0; + $47 = ($46<<24>>24)==(0); + if ($47) { + $48 = (($1) + ($$0613<<2)|0); + $49 = HEAP32[$48>>2]|0; + _memset(($49|0),0,($44|0))|0; + } + $50 = (($$0613) + 1)|0; + $exitcond = ($50|0)==($2|0); + if ($exitcond) { + break; + } else { + $$0613 = $50; + } + } + } + $51 = ($11<<16>>16)==(2); + $52 = ($2|0)!=(1); + $or$cond = $52 & $51; + if (!($or$cond)) { + $53 = ($27|0)>(0); + $54 = ($19|0)>(0); + $55 = ($2|0)>(0); + $56 = (((($9) + (($4*24)|0)|0)) + 20|0); + $57 = ((($0)) + 1396|0); + $58 = ((($0)) + 1392|0); + $59 = (((($9) + (($4*24)|0)|0)) + 16|0); + $$not617 = ($2|0)<(1); + $$1438611 = 0; + L15: while(1) { + if ($53) { + $$not = ($$1438611|0)!=(0); + $brmerge = $$not | $$not617; + $$0465608 = 0;$$0466607 = 0; + while(1) { + if (!($brmerge)) { + $$1435596 = 0; + while(1) { + $294 = (($5) + ($$1435596)|0); + $295 = HEAP8[$294>>0]|0; + $296 = ($295<<24>>24)==(0); + if ($296) { + $297 = HEAP32[$16>>2]|0; + $298 = HEAP8[$13>>0]|0; + $299 = $298&255; + $300 = (($297) + (($299*2096)|0)|0); + $301 = HEAP32[$57>>2]|0; + $302 = ($301|0)<(10); + if ($302) { + _prep_huffman($0); + } + $303 = HEAP32[$58>>2]|0; + $304 = $303 & 1023; + $305 = ((((($297) + (($299*2096)|0)|0)) + 36|0) + ($304<<1)|0); + $306 = HEAP16[$305>>1]|0; + $307 = $306 << 16 >> 16; + $308 = ($306<<16>>16)>(-1); + if ($308) { + $309 = (((($297) + (($299*2096)|0)|0)) + 8|0); + $310 = HEAP32[$309>>2]|0; + $311 = (($310) + ($307)|0); + $312 = HEAP8[$311>>0]|0; + $313 = $312&255; + $314 = $303 >>> $313; + HEAP32[$58>>2] = $314; + $315 = HEAP32[$57>>2]|0; + $316 = (($315) - ($313))|0; + $317 = ($316|0)<(0); + $$488 = $317 ? 0 : $316; + $$489 = $317 ? -1 : $307; + HEAP32[$57>>2] = $$488; + $$1463 = $$489; + } else { + $318 = (_codebook_decode_scalar_raw($0,$300)|0); + $$1463 = $318; + } + $319 = (((($297) + (($299*2096)|0)|0)) + 23|0); + $320 = HEAP8[$319>>0]|0; + $321 = ($320<<24>>24)==(0); + if ($321) { + $$2464 = $$1463; + } else { + $322 = (((($297) + (($299*2096)|0)|0)) + 2088|0); + $323 = HEAP32[$322>>2]|0; + $324 = (($323) + ($$1463<<2)|0); + $325 = HEAP32[$324>>2]|0; + $$2464 = $325; + } + $326 = ($$2464|0)==(-1); + if ($326) { + label = 98; + break L15; + } + $327 = HEAP32[$59>>2]|0; + $328 = (($327) + ($$2464<<2)|0); + $329 = HEAP32[$328>>2]|0; + $330 = (($41) + ($$1435596<<2)|0); + $331 = HEAP32[$330>>2]|0; + $332 = (($331) + ($$0465608<<2)|0); + HEAP32[$332>>2] = $329; + } + $333 = (($$1435596) + 1)|0; + $334 = ($333|0)<($2|0); + if ($334) { + $$1435596 = $333; + } else { + break; + } + } + } + $293 = ($$0466607|0)<($27|0); + $or$cond490602 = $293 & $54; + if ($or$cond490602) { + $$1467603 = $$0466607;$$4605 = 0; + while(1) { + if ($55) { + $$2436599 = 0; + while(1) { + $335 = (($5) + ($$2436599)|0); + $336 = HEAP8[$335>>0]|0; + $337 = ($336<<24>>24)==(0); + if ($337) { + $338 = (($41) + ($$2436599<<2)|0); + $339 = HEAP32[$338>>2]|0; + $340 = (($339) + ($$0465608<<2)|0); + $341 = HEAP32[$340>>2]|0; + $342 = (($341) + ($$4605)|0); + $343 = HEAP8[$342>>0]|0; + $344 = $343&255; + $345 = HEAP32[$56>>2]|0; + $346 = ((($345) + ($344<<4)|0) + ($$1438611<<1)|0); + $347 = HEAP16[$346>>1]|0; + $348 = ($347<<16>>16)>(-1); + if ($348) { + $349 = $347 << 16 >> 16; + $350 = (($1) + ($$2436599<<2)|0); + $351 = HEAP32[$350>>2]|0; + $352 = HEAP32[$22>>2]|0; + $353 = HEAP32[$25>>2]|0; + $354 = Math_imul($353, $$1467603)|0; + $355 = (($354) + ($352))|0; + $356 = HEAP32[$16>>2]|0; + $357 = (($356) + (($349*2096)|0)|0); + $358 = (_residue_decode($0,$357,$351,$355,$353,$12)|0); + $not$ = ($358|0)==(0); + if ($not$) { + label = 98; + break L15; + } + } + } + $359 = (($$2436599) + 1)|0; + $360 = ($359|0)<($2|0); + if ($360) { + $$2436599 = $359; + } else { + break; + } + } + } + $361 = (($$4605) + 1)|0; + $362 = (($$1467603) + 1)|0; + $363 = ($361|0)<($19|0); + $364 = ($362|0)<($27|0); + $or$cond490 = $364 & $363; + if ($or$cond490) { + $$1467603 = $362;$$4605 = $361; + } else { + $$1467$lcssa = $362; + break; + } + } + } else { + $$1467$lcssa = $$0466607; + } + $365 = (($$0465608) + 1)|0; + $366 = ($$1467$lcssa|0)<($27|0); + if ($366) { + $$0465608 = $365;$$0466607 = $$1467$lcssa; + } else { + break; + } + } + } + $367 = (($$1438611) + 1)|0; + $368 = ($367|0)<(8); + if ($368) { + $$1438611 = $367; + } else { + label = 98; + break; + } + } + if ((label|0) == 98) { + HEAP32[$28>>2] = $29; + STACKTOP = sp;return; + } + } + $60 = ($2|0)>(0); + L57: do { + if ($60) { + $$0434590 = 0; + while(1) { + $61 = (($5) + ($$0434590)|0); + $62 = HEAP8[$61>>0]|0; + $63 = ($62<<24>>24)==(0); + if ($63) { + $$0434$lcssa = $$0434590; + break L57; + } + $64 = (($$0434590) + 1)|0; + $65 = ($64|0)<($2|0); + if ($65) { + $$0434590 = $64; + } else { + $$0434$lcssa = $64; + break; + } + } + } else { + $$0434$lcssa = 0; + } + } while(0); + $66 = ($$0434$lcssa|0)==($2|0); + if ($66) { + HEAP32[$28>>2] = $29; + STACKTOP = sp;return; + } + $67 = ($27|0)>(0); + $68 = ((($0)) + 1396|0); + $69 = ((($0)) + 1392|0); + $70 = (((($9) + (($4*24)|0)|0)) + 16|0); + $71 = ($19|0)>(0); + $72 = (((($9) + (($4*24)|0)|0)) + 20|0); + $73 = ($27|0)>(0); + $74 = ((($0)) + 1396|0); + $75 = ((($0)) + 1392|0); + $76 = (((($9) + (($4*24)|0)|0)) + 16|0); + $77 = ($19|0)>(0); + $78 = (((($9) + (($4*24)|0)|0)) + 20|0); + $79 = ($27|0)>(0); + $80 = ((($0)) + 1396|0); + $81 = ((($0)) + 1392|0); + $82 = (((($9) + (($4*24)|0)|0)) + 16|0); + $83 = ($19|0)>(0); + $84 = (((($9) + (($4*24)|0)|0)) + 20|0); + $$0437586 = 0; + L65: while(1) { + switch ($2|0) { + case 2: { + if ($73) { + $86 = ($$0437586|0)==(0); + $$0439574 = 0;$$0444572 = 0; + while(1) { + $88 = HEAP32[$22>>2]|0; + $89 = HEAP32[$25>>2]|0; + $90 = Math_imul($89, $$0439574)|0; + $91 = (($90) + ($88))|0; + $92 = $91 & 1; + HEAP32[$6>>2] = $92; + $93 = $91 >> 1; + HEAP32[$7>>2] = $93; + if ($86) { + $94 = HEAP32[$16>>2]|0; + $95 = HEAP8[$13>>0]|0; + $96 = $95&255; + $97 = (($94) + (($96*2096)|0)|0); + $98 = HEAP32[$74>>2]|0; + $99 = ($98|0)<(10); + if ($99) { + _prep_huffman($0); + } + $100 = HEAP32[$75>>2]|0; + $101 = $100 & 1023; + $102 = ((((($94) + (($96*2096)|0)|0)) + 36|0) + ($101<<1)|0); + $103 = HEAP16[$102>>1]|0; + $104 = $103 << 16 >> 16; + $105 = ($103<<16>>16)>(-1); + if ($105) { + $106 = (((($94) + (($96*2096)|0)|0)) + 8|0); + $107 = HEAP32[$106>>2]|0; + $108 = (($107) + ($104)|0); + $109 = HEAP8[$108>>0]|0; + $110 = $109&255; + $111 = $100 >>> $110; + HEAP32[$75>>2] = $111; + $112 = HEAP32[$74>>2]|0; + $113 = (($112) - ($110))|0; + $114 = ($113|0)<(0); + $$ = $114 ? 0 : $113; + $$477 = $114 ? -1 : $104; + HEAP32[$74>>2] = $$; + $$1451 = $$477; + } else { + $115 = (_codebook_decode_scalar_raw($0,$97)|0); + $$1451 = $115; + } + $116 = (((($94) + (($96*2096)|0)|0)) + 23|0); + $117 = HEAP8[$116>>0]|0; + $118 = ($117<<24>>24)==(0); + if ($118) { + $$2452 = $$1451; + } else { + $119 = (((($94) + (($96*2096)|0)|0)) + 2088|0); + $120 = HEAP32[$119>>2]|0; + $121 = (($120) + ($$1451<<2)|0); + $122 = HEAP32[$121>>2]|0; + $$2452 = $122; + } + $123 = ($$2452|0)==(-1); + if ($123) { + label = 38; + break L65; + } + $124 = HEAP32[$76>>2]|0; + $125 = (($124) + ($$2452<<2)|0); + $126 = HEAP32[$125>>2]|0; + $127 = HEAP32[$41>>2]|0; + $128 = (($127) + ($$0444572<<2)|0); + HEAP32[$128>>2] = $126; + } + $129 = ($$0439574|0)<($27|0); + $or$cond478566 = $129 & $77; + if ($or$cond478566) { + $$1440567 = $$0439574;$$1568 = 0; + while(1) { + $130 = HEAP32[$25>>2]|0; + $131 = HEAP32[$41>>2]|0; + $132 = (($131) + ($$0444572<<2)|0); + $133 = HEAP32[$132>>2]|0; + $134 = (($133) + ($$1568)|0); + $135 = HEAP8[$134>>0]|0; + $136 = $135&255; + $137 = HEAP32[$78>>2]|0; + $138 = ((($137) + ($136<<4)|0) + ($$0437586<<1)|0); + $139 = HEAP16[$138>>1]|0; + $140 = ($139<<16>>16)>(-1); + if ($140) { + $141 = $139 << 16 >> 16; + $142 = HEAP32[$16>>2]|0; + $143 = (($142) + (($141*2096)|0)|0); + $144 = (_codebook_decode_deinterleave_repeat($0,$143,$1,$2,$6,$7,$3,$130)|0); + $not$522 = ($144|0)==(0); + if ($not$522) { + label = 38; + break L65; + } + } else { + $145 = HEAP32[$22>>2]|0; + $146 = Math_imul($130, $$1440567)|0; + $147 = (($146) + ($130))|0; + $148 = (($147) + ($145))|0; + $149 = $148 & 1; + HEAP32[$6>>2] = $149; + $150 = $148 >> 1; + HEAP32[$7>>2] = $150; + } + $151 = (($$1568) + 1)|0; + $152 = (($$1440567) + 1)|0; + $153 = ($151|0)<($19|0); + $154 = ($152|0)<($27|0); + $or$cond478 = $154 & $153; + if ($or$cond478) { + $$1440567 = $152;$$1568 = $151; + } else { + $$1440$lcssa = $152; + break; + } + } + } else { + $$1440$lcssa = $$0439574; + } + $155 = (($$0444572) + 1)|0; + $156 = ($$1440$lcssa|0)<($27|0); + if ($156) { + $$0439574 = $$1440$lcssa;$$0444572 = $155; + } else { + break; + } + } + } + break; + } + case 1: { + if ($79) { + $85 = ($$0437586|0)==(0); + $$2446562 = 0;$$3442564 = 0; + while(1) { + $157 = HEAP32[$22>>2]|0; + $158 = HEAP32[$25>>2]|0; + $159 = Math_imul($158, $$3442564)|0; + $160 = (($159) + ($157))|0; + HEAP32[$6>>2] = 0; + HEAP32[$7>>2] = $160; + if ($85) { + $161 = HEAP32[$16>>2]|0; + $162 = HEAP8[$13>>0]|0; + $163 = $162&255; + $164 = (($161) + (($163*2096)|0)|0); + $165 = HEAP32[$80>>2]|0; + $166 = ($165|0)<(10); + if ($166) { + _prep_huffman($0); + } + $167 = HEAP32[$81>>2]|0; + $168 = $167 & 1023; + $169 = ((((($161) + (($163*2096)|0)|0)) + 36|0) + ($168<<1)|0); + $170 = HEAP16[$169>>1]|0; + $171 = $170 << 16 >> 16; + $172 = ($170<<16>>16)>(-1); + if ($172) { + $173 = (((($161) + (($163*2096)|0)|0)) + 8|0); + $174 = HEAP32[$173>>2]|0; + $175 = (($174) + ($171)|0); + $176 = HEAP8[$175>>0]|0; + $177 = $176&255; + $178 = $167 >>> $177; + HEAP32[$81>>2] = $178; + $179 = HEAP32[$80>>2]|0; + $180 = (($179) - ($177))|0; + $181 = ($180|0)<(0); + $$480 = $181 ? 0 : $180; + $$481 = $181 ? -1 : $171; + HEAP32[$80>>2] = $$480; + $$1469 = $$481; + } else { + $182 = (_codebook_decode_scalar_raw($0,$164)|0); + $$1469 = $182; + } + $183 = (((($161) + (($163*2096)|0)|0)) + 23|0); + $184 = HEAP8[$183>>0]|0; + $185 = ($184<<24>>24)==(0); + if ($185) { + $$2470 = $$1469; + } else { + $186 = (((($161) + (($163*2096)|0)|0)) + 2088|0); + $187 = HEAP32[$186>>2]|0; + $188 = (($187) + ($$1469<<2)|0); + $189 = HEAP32[$188>>2]|0; + $$2470 = $189; + } + $190 = ($$2470|0)==(-1); + if ($190) { + label = 55; + break L65; + } + $191 = HEAP32[$82>>2]|0; + $192 = (($191) + ($$2470<<2)|0); + $193 = HEAP32[$192>>2]|0; + $194 = HEAP32[$41>>2]|0; + $195 = (($194) + ($$2446562<<2)|0); + HEAP32[$195>>2] = $193; + } + $196 = ($$3442564|0)<($27|0); + $or$cond482559 = $196 & $83; + if ($or$cond482559) { + $$2561 = 0;$$4443560 = $$3442564; + while(1) { + $197 = HEAP32[$25>>2]|0; + $198 = HEAP32[$41>>2]|0; + $199 = (($198) + ($$2446562<<2)|0); + $200 = HEAP32[$199>>2]|0; + $201 = (($200) + ($$2561)|0); + $202 = HEAP8[$201>>0]|0; + $203 = $202&255; + $204 = HEAP32[$84>>2]|0; + $205 = ((($204) + ($203<<4)|0) + ($$0437586<<1)|0); + $206 = HEAP16[$205>>1]|0; + $207 = ($206<<16>>16)>(-1); + if ($207) { + $208 = $206 << 16 >> 16; + $209 = HEAP32[$16>>2]|0; + $210 = (($209) + (($208*2096)|0)|0); + $211 = (_codebook_decode_deinterleave_repeat($0,$210,$1,$2,$6,$7,$3,$197)|0); + $not$521 = ($211|0)==(0); + if ($not$521) { + label = 55; + break L65; + } + } else { + $212 = HEAP32[$22>>2]|0; + $213 = Math_imul($197, $$4443560)|0; + $214 = (($213) + ($197))|0; + $215 = (($214) + ($212))|0; + HEAP32[$6>>2] = 0; + HEAP32[$7>>2] = $215; + } + $216 = (($$2561) + 1)|0; + $217 = (($$4443560) + 1)|0; + $218 = ($216|0)<($19|0); + $219 = ($217|0)<($27|0); + $or$cond482 = $219 & $218; + if ($or$cond482) { + $$2561 = $216;$$4443560 = $217; + } else { + $$4443$lcssa = $217; + break; + } + } + } else { + $$4443$lcssa = $$3442564; + } + $220 = (($$2446562) + 1)|0; + $221 = ($$4443$lcssa|0)<($27|0); + if ($221) { + $$2446562 = $220;$$3442564 = $$4443$lcssa; + } else { + break; + } + } + } + break; + } + default: { + if ($67) { + $87 = ($$0437586|0)==(0); + $$4448582 = 0;$$6584 = 0; + while(1) { + $222 = HEAP32[$22>>2]|0; + $223 = HEAP32[$25>>2]|0; + $224 = Math_imul($223, $$6584)|0; + $225 = (($224) + ($222))|0; + $226 = (($225|0) % ($2|0))&-1; + HEAP32[$6>>2] = $226; + $227 = (($225|0) / ($2|0))&-1; + HEAP32[$7>>2] = $227; + if ($87) { + $228 = HEAP32[$16>>2]|0; + $229 = HEAP8[$13>>0]|0; + $230 = $229&255; + $231 = (($228) + (($230*2096)|0)|0); + $232 = HEAP32[$68>>2]|0; + $233 = ($232|0)<(10); + if ($233) { + _prep_huffman($0); + } + $234 = HEAP32[$69>>2]|0; + $235 = $234 & 1023; + $236 = ((((($228) + (($230*2096)|0)|0)) + 36|0) + ($235<<1)|0); + $237 = HEAP16[$236>>1]|0; + $238 = $237 << 16 >> 16; + $239 = ($237<<16>>16)>(-1); + if ($239) { + $240 = (((($228) + (($230*2096)|0)|0)) + 8|0); + $241 = HEAP32[$240>>2]|0; + $242 = (($241) + ($238)|0); + $243 = HEAP8[$242>>0]|0; + $244 = $243&255; + $245 = $234 >>> $244; + HEAP32[$69>>2] = $245; + $246 = HEAP32[$68>>2]|0; + $247 = (($246) - ($244))|0; + $248 = ($247|0)<(0); + $$484 = $248 ? 0 : $247; + $$485 = $248 ? -1 : $238; + HEAP32[$68>>2] = $$484; + $$1472 = $$485; + } else { + $249 = (_codebook_decode_scalar_raw($0,$231)|0); + $$1472 = $249; + } + $250 = (((($228) + (($230*2096)|0)|0)) + 23|0); + $251 = HEAP8[$250>>0]|0; + $252 = ($251<<24>>24)==(0); + if ($252) { + $$2473 = $$1472; + } else { + $253 = (((($228) + (($230*2096)|0)|0)) + 2088|0); + $254 = HEAP32[$253>>2]|0; + $255 = (($254) + ($$1472<<2)|0); + $256 = HEAP32[$255>>2]|0; + $$2473 = $256; + } + $257 = ($$2473|0)==(-1); + if ($257) { + label = 72; + break L65; + } + $258 = HEAP32[$70>>2]|0; + $259 = (($258) + ($$2473<<2)|0); + $260 = HEAP32[$259>>2]|0; + $261 = HEAP32[$41>>2]|0; + $262 = (($261) + ($$4448582<<2)|0); + HEAP32[$262>>2] = $260; + } + $263 = ($$6584|0)<($27|0); + $or$cond486576 = $263 & $71; + if ($or$cond486576) { + $$3578 = 0;$$7577 = $$6584; + while(1) { + $264 = HEAP32[$25>>2]|0; + $265 = HEAP32[$41>>2]|0; + $266 = (($265) + ($$4448582<<2)|0); + $267 = HEAP32[$266>>2]|0; + $268 = (($267) + ($$3578)|0); + $269 = HEAP8[$268>>0]|0; + $270 = $269&255; + $271 = HEAP32[$72>>2]|0; + $272 = ((($271) + ($270<<4)|0) + ($$0437586<<1)|0); + $273 = HEAP16[$272>>1]|0; + $274 = ($273<<16>>16)>(-1); + if ($274) { + $275 = $273 << 16 >> 16; + $276 = HEAP32[$16>>2]|0; + $277 = (($276) + (($275*2096)|0)|0); + $278 = (_codebook_decode_deinterleave_repeat($0,$277,$1,$2,$6,$7,$3,$264)|0); + $not$523 = ($278|0)==(0); + if ($not$523) { + label = 72; + break L65; + } + } else { + $279 = HEAP32[$22>>2]|0; + $280 = Math_imul($264, $$7577)|0; + $281 = (($280) + ($264))|0; + $282 = (($281) + ($279))|0; + $283 = (($282|0) % ($2|0))&-1; + HEAP32[$6>>2] = $283; + $284 = (($282|0) / ($2|0))&-1; + HEAP32[$7>>2] = $284; + } + $285 = (($$3578) + 1)|0; + $286 = (($$7577) + 1)|0; + $287 = ($285|0)<($19|0); + $288 = ($286|0)<($27|0); + $or$cond486 = $288 & $287; + if ($or$cond486) { + $$3578 = $285;$$7577 = $286; + } else { + $$7$lcssa = $286; + break; + } + } + } else { + $$7$lcssa = $$6584; + } + $289 = (($$4448582) + 1)|0; + $290 = ($$7$lcssa|0)<($27|0); + if ($290) { + $$4448582 = $289;$$6584 = $$7$lcssa; + } else { + break; + } + } + } + } + } + $291 = (($$0437586) + 1)|0; + $292 = ($291|0)<(8); + if ($292) { + $$0437586 = $291; + } else { + label = 98; + break; + } + } + if ((label|0) == 38) { + HEAP32[$28>>2] = $29; + STACKTOP = sp;return; + } + else if ((label|0) == 55) { + HEAP32[$28>>2] = $29; + STACKTOP = sp;return; + } + else if ((label|0) == 72) { + HEAP32[$28>>2] = $29; + STACKTOP = sp;return; + } + else if ((label|0) == 98) { + HEAP32[$28>>2] = $29; + STACKTOP = sp;return; + } +} +function _do_floor($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + var $$062$lcssa = 0, $$0624 = 0, $$063$lcssa = 0, $$0633 = 0, $$0652 = 0, $$0661 = 0, $$1 = 0, $$164 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0; + var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0; + var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0.0, $49 = 0, $50 = 0.0, $51 = 0.0, $52 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, label = 0, sp = 0; + sp = STACKTOP; + $6 = $3 >> 1; + $7 = ((($1)) + 4|0); + $8 = HEAP32[$7>>2]|0; + $9 = (((($8) + (($2*3)|0)|0)) + 2|0); + $10 = HEAP8[$9>>0]|0; + $11 = $10&255; + $12 = (((($1)) + 9|0) + ($11)|0); + $13 = HEAP8[$12>>0]|0; + $14 = $13&255; + $15 = (((($0)) + 132|0) + ($14<<1)|0); + $16 = HEAP16[$15>>1]|0; + $17 = ($16<<16>>16)==(0); + if ($17) { + _error($0,21); + return; + } + $18 = ((($0)) + 260|0); + $19 = HEAP32[$18>>2]|0; + $20 = HEAP16[$5>>1]|0; + $21 = $20 << 16 >> 16; + $22 = (((($19) + (($14*1596)|0)|0)) + 1588|0); + $23 = HEAP8[$22>>0]|0; + $24 = $23&255; + $25 = Math_imul($24, $21)|0; + $26 = (((($19) + (($14*1596)|0)|0)) + 1592|0); + $27 = HEAP32[$26>>2]|0; + $28 = ($27|0)>(1); + if ($28) { + $$0624 = $25;$$0633 = 0;$$0652 = 1; + while(1) { + $29 = ((((($19) + (($14*1596)|0)|0)) + 838|0) + ($$0652)|0); + $30 = HEAP8[$29>>0]|0; + $31 = $30&255; + $32 = (($5) + ($31<<1)|0); + $33 = HEAP16[$32>>1]|0; + $34 = ($33<<16>>16)>(-1); + if ($34) { + $35 = $33 << 16 >> 16; + $36 = HEAP8[$22>>0]|0; + $37 = $36&255; + $38 = Math_imul($37, $35)|0; + $39 = ((((($19) + (($14*1596)|0)|0)) + 338|0) + ($31<<1)|0); + $40 = HEAP16[$39>>1]|0; + $41 = $40&65535; + $42 = ($$0633|0)==($41|0); + if ($42) { + $$1 = $38;$$164 = $41; + } else { + _draw_line($4,$$0633,$$0624,$41,$38,$6); + $$1 = $38;$$164 = $41; + } + } else { + $$1 = $$0624;$$164 = $$0633; + } + $43 = (($$0652) + 1)|0; + $44 = HEAP32[$26>>2]|0; + $45 = ($43|0)<($44|0); + if ($45) { + $$0624 = $$1;$$0633 = $$164;$$0652 = $43; + } else { + $$062$lcssa = $$1;$$063$lcssa = $$164; + break; + } + } + } else { + $$062$lcssa = $25;$$063$lcssa = 0; + } + $46 = ($$063$lcssa|0)<($6|0); + if (!($46)) { + return; + } + $47 = (3676 + ($$062$lcssa<<2)|0); + $48 = +HEAPF32[$47>>2]; + $$0661 = $$063$lcssa; + while(1) { + $49 = (($4) + ($$0661<<2)|0); + $50 = +HEAPF32[$49>>2]; + $51 = $48 * $50; + HEAPF32[$49>>2] = $51; + $52 = (($$0661) + 1)|0; + $exitcond = ($52|0)==($6|0); + if ($exitcond) { + break; + } else { + $$0661 = $52; + } + } + return; +} +function _inverse_mdct($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$0$lcssa = 0, $$0492$lcssa = 0, $$0492576 = 0, $$0494 = 0, $$0494522 = 0, $$0494530 = 0, $$0495531 = 0, $$0495531$pn = 0, $$0496527 = 0, $$0497526 = 0, $$0498525 = 0, $$0499524 = 0, $$0500575 = 0, $$0502$lcssa = 0, $$0502574 = 0, $$0504564 = 0, $$0505563 = 0, $$0506562 = 0, $$0507561 = 0, $$0508 = 0; + var $$0508532 = 0, $$0508536 = 0, $$0509534 = 0, $$0510533 = 0, $$0511560 = 0, $$0512542 = 0, $$0513541 = 0, $$0514540 = 0, $$0515548 = 0, $$0516547 = 0, $$0517554 = 0, $$0518546 = 0, $$0557 = 0, $$1493570 = 0, $$1501569 = 0, $$1503568 = 0, $$1551 = 0, $$alloca_mul = 0, $$pn520529 = 0, $$pn520529$phi = 0; + var $$pn535 = 0, $$pn535$phi = 0, $10 = 0, $100 = 0, $101 = 0.0, $102 = 0.0, $103 = 0.0, $104 = 0.0, $105 = 0.0, $106 = 0, $107 = 0.0, $108 = 0, $109 = 0.0, $11 = 0, $110 = 0.0, $111 = 0, $112 = 0.0, $113 = 0, $114 = 0.0, $115 = 0.0; + var $116 = 0.0, $117 = 0, $118 = 0.0, $119 = 0.0, $12 = 0, $120 = 0.0, $121 = 0, $122 = 0.0, $123 = 0.0, $124 = 0, $125 = 0.0, $126 = 0.0, $127 = 0.0, $128 = 0, $129 = 0.0, $13 = 0, $130 = 0.0, $131 = 0.0, $132 = 0.0, $133 = 0.0; + var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; + var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; + var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; + var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0; + var $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0; + var $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0.0, $238 = 0, $239 = 0.0, $24 = 0, $240 = 0.0, $241 = 0, $242 = 0.0; + var $243 = 0, $244 = 0.0, $245 = 0.0, $246 = 0, $247 = 0.0, $248 = 0.0, $249 = 0.0, $25 = 0, $250 = 0.0, $251 = 0.0, $252 = 0.0, $253 = 0.0, $254 = 0.0, $255 = 0.0, $256 = 0.0, $257 = 0.0, $258 = 0.0, $259 = 0.0, $26 = 0, $260 = 0.0; + var $261 = 0, $262 = 0.0, $263 = 0.0, $264 = 0.0, $265 = 0, $266 = 0.0, $267 = 0, $268 = 0.0, $269 = 0.0, $27 = 0, $270 = 0, $271 = 0.0, $272 = 0.0, $273 = 0, $274 = 0.0, $275 = 0.0, $276 = 0.0, $277 = 0.0, $278 = 0.0, $279 = 0.0; + var $28 = 0, $280 = 0.0, $281 = 0.0, $282 = 0.0, $283 = 0.0, $284 = 0.0, $285 = 0.0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0.0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0.0; + var $298 = 0, $299 = 0.0, $30 = 0.0, $300 = 0.0, $301 = 0, $302 = 0.0, $303 = 0, $304 = 0.0, $305 = 0.0, $306 = 0.0, $307 = 0.0, $308 = 0.0, $309 = 0.0, $31 = 0.0, $310 = 0.0, $311 = 0.0, $312 = 0, $313 = 0, $314 = 0, $315 = 0.0; + var $316 = 0, $317 = 0.0, $318 = 0.0, $319 = 0, $32 = 0, $320 = 0.0, $321 = 0, $322 = 0.0, $323 = 0.0, $324 = 0.0, $325 = 0.0, $326 = 0.0, $327 = 0.0, $328 = 0.0, $329 = 0, $33 = 0.0, $330 = 0.0, $331 = 0, $332 = 0, $333 = 0; + var $334 = 0, $335 = 0.0, $336 = 0, $337 = 0.0, $338 = 0.0, $339 = 0, $34 = 0, $340 = 0.0, $341 = 0, $342 = 0.0, $343 = 0.0, $344 = 0.0, $345 = 0.0, $346 = 0.0, $347 = 0.0, $348 = 0.0, $349 = 0, $35 = 0.0, $350 = 0.0, $351 = 0; + var $352 = 0, $353 = 0, $354 = 0.0, $355 = 0, $356 = 0.0, $357 = 0.0, $358 = 0, $359 = 0.0, $36 = 0.0, $360 = 0.0, $361 = 0.0, $362 = 0.0, $363 = 0.0, $364 = 0.0, $365 = 0.0, $366 = 0.0, $367 = 0, $368 = 0.0, $369 = 0, $37 = 0.0; + var $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $38 = 0, $39 = 0.0, $4 = 0, $40 = 0.0, $41 = 0.0, $42 = 0.0, $43 = 0.0, $44 = 0.0, $45 = 0.0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0; + var $51 = 0, $52 = 0, $53 = 0, $54 = 0.0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0, $59 = 0.0, $6 = 0, $60 = 0.0, $61 = 0.0, $62 = 0, $63 = 0.0, $64 = 0.0, $65 = 0.0, $66 = 0.0, $67 = 0.0, $68 = 0.0, $69 = 0.0; + var $7 = 0, $70 = 0.0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0.0, $82 = 0, $83 = 0.0, $84 = 0.0, $85 = 0.0, $86 = 0.0, $87 = 0.0; + var $88 = 0.0, $89 = 0, $9 = 0, $90 = 0.0, $91 = 0.0, $92 = 0.0, $93 = 0, $94 = 0.0, $95 = 0.0, $96 = 0, $97 = 0.0, $98 = 0.0, $99 = 0.0, $exitcond = 0, $exitcond584 = 0, $scevgep = 0, $scevgep586 = 0, label = 0, sp = 0; + sp = STACKTOP; + $4 = $1 >> 1; + $5 = $1 >> 2; + $6 = $1 >> 3; + $7 = ((($2)) + 92|0); + $8 = HEAP32[$7>>2]|0; + $9 = ((($2)) + 80|0); + $10 = HEAP32[$9>>2]|0; + $11 = ($10|0)==(0|0); + $12 = $4 << 2; + if ($11) { + $$alloca_mul = $12; + $14 = STACKTOP; STACKTOP = STACKTOP + ((((1*$$alloca_mul)|0)+15)&-16)|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(((((1*$$alloca_mul)|0)+15)&-16)|0);; + $19 = $14; + } else { + $13 = (_setup_temp_malloc($2,$12)|0); + $19 = $13; + } + $15 = (((($2)) + 1068|0) + ($3<<2)|0); + $16 = HEAP32[$15>>2]|0; + $17 = (($4) + -2)|0; + $18 = (($19) + ($17<<2)|0); + $20 = (($0) + ($4<<2)|0); + $21 = ($4|0)==(0); + if ($21) { + $$0492$lcssa = $18;$$0502$lcssa = $16; + } else { + $22 = $4 << 2; + $23 = (($22) + -16)|0; + $24 = $23 >>> 4; + $25 = $24 << 3; + $26 = (($23) - ($25))|0; + $scevgep = (($19) + ($26)|0); + $27 = $24 << 1; + $28 = (($27) + 2)|0; + $$0492576 = $18;$$0500575 = $0;$$0502574 = $16; + while(1) { + $29 = +HEAPF32[$$0500575>>2]; + $30 = +HEAPF32[$$0502574>>2]; + $31 = $29 * $30; + $32 = ((($$0500575)) + 8|0); + $33 = +HEAPF32[$32>>2]; + $34 = ((($$0502574)) + 4|0); + $35 = +HEAPF32[$34>>2]; + $36 = $33 * $35; + $37 = $31 - $36; + $38 = ((($$0492576)) + 4|0); + HEAPF32[$38>>2] = $37; + $39 = +HEAPF32[$$0500575>>2]; + $40 = +HEAPF32[$34>>2]; + $41 = $39 * $40; + $42 = +HEAPF32[$32>>2]; + $43 = +HEAPF32[$$0502574>>2]; + $44 = $42 * $43; + $45 = $41 + $44; + HEAPF32[$$0492576>>2] = $45; + $46 = ((($$0492576)) + -8|0); + $47 = ((($$0502574)) + 8|0); + $48 = ((($$0500575)) + 16|0); + $49 = ($48|0)==($20|0); + if ($49) { + break; + } else { + $$0492576 = $46;$$0500575 = $48;$$0502574 = $47; + } + } + $scevgep586 = (($16) + ($28<<2)|0); + $$0492$lcssa = $scevgep;$$0502$lcssa = $scevgep586; + } + $50 = ($$0492$lcssa>>>0)<($19>>>0); + if (!($50)) { + $51 = (($4) + -3)|0; + $52 = (($0) + ($51<<2)|0); + $$1493570 = $$0492$lcssa;$$1501569 = $52;$$1503568 = $$0502$lcssa; + while(1) { + $53 = ((($$1501569)) + 8|0); + $54 = +HEAPF32[$53>>2]; + $55 = +HEAPF32[$$1503568>>2]; + $56 = $54 * $55; + $57 = +HEAPF32[$$1501569>>2]; + $58 = ((($$1503568)) + 4|0); + $59 = +HEAPF32[$58>>2]; + $60 = $57 * $59; + $61 = $60 - $56; + $62 = ((($$1493570)) + 4|0); + HEAPF32[$62>>2] = $61; + $63 = +HEAPF32[$53>>2]; + $64 = +HEAPF32[$58>>2]; + $65 = $63 * $64; + $66 = +HEAPF32[$$1501569>>2]; + $67 = +HEAPF32[$$1503568>>2]; + $68 = $66 * $67; + $69 = -$68; + $70 = $69 - $65; + HEAPF32[$$1493570>>2] = $70; + $71 = ((($$1493570)) + -8|0); + $72 = ((($$1503568)) + 8|0); + $73 = ((($$1501569)) + -16|0); + $74 = ($71>>>0)<($19>>>0); + if ($74) { + break; + } else { + $$1493570 = $71;$$1501569 = $73;$$1503568 = $72; + } + } + } + $75 = ($4|0)<(8); + if (!($75)) { + $76 = (($0) + ($5<<2)|0); + $77 = (($19) + ($5<<2)|0); + $78 = (($4) + -8)|0; + $79 = (($16) + ($78<<2)|0); + $$0504564 = $79;$$0505563 = $76;$$0506562 = $0;$$0507561 = $77;$$0511560 = $19; + while(1) { + $80 = ((($$0507561)) + 4|0); + $81 = +HEAPF32[$80>>2]; + $82 = ((($$0511560)) + 4|0); + $83 = +HEAPF32[$82>>2]; + $84 = $81 - $83; + $85 = +HEAPF32[$$0507561>>2]; + $86 = +HEAPF32[$$0511560>>2]; + $87 = $85 - $86; + $88 = $81 + $83; + $89 = ((($$0505563)) + 4|0); + HEAPF32[$89>>2] = $88; + $90 = +HEAPF32[$$0507561>>2]; + $91 = +HEAPF32[$$0511560>>2]; + $92 = $90 + $91; + HEAPF32[$$0505563>>2] = $92; + $93 = ((($$0504564)) + 16|0); + $94 = +HEAPF32[$93>>2]; + $95 = $84 * $94; + $96 = ((($$0504564)) + 20|0); + $97 = +HEAPF32[$96>>2]; + $98 = $87 * $97; + $99 = $95 - $98; + $100 = ((($$0506562)) + 4|0); + HEAPF32[$100>>2] = $99; + $101 = +HEAPF32[$93>>2]; + $102 = $87 * $101; + $103 = +HEAPF32[$96>>2]; + $104 = $84 * $103; + $105 = $102 + $104; + HEAPF32[$$0506562>>2] = $105; + $106 = ((($$0507561)) + 12|0); + $107 = +HEAPF32[$106>>2]; + $108 = ((($$0511560)) + 12|0); + $109 = +HEAPF32[$108>>2]; + $110 = $107 - $109; + $111 = ((($$0507561)) + 8|0); + $112 = +HEAPF32[$111>>2]; + $113 = ((($$0511560)) + 8|0); + $114 = +HEAPF32[$113>>2]; + $115 = $112 - $114; + $116 = $107 + $109; + $117 = ((($$0505563)) + 12|0); + HEAPF32[$117>>2] = $116; + $118 = +HEAPF32[$111>>2]; + $119 = +HEAPF32[$113>>2]; + $120 = $118 + $119; + $121 = ((($$0505563)) + 8|0); + HEAPF32[$121>>2] = $120; + $122 = +HEAPF32[$$0504564>>2]; + $123 = $110 * $122; + $124 = ((($$0504564)) + 4|0); + $125 = +HEAPF32[$124>>2]; + $126 = $115 * $125; + $127 = $123 - $126; + $128 = ((($$0506562)) + 12|0); + HEAPF32[$128>>2] = $127; + $129 = +HEAPF32[$$0504564>>2]; + $130 = $115 * $129; + $131 = +HEAPF32[$124>>2]; + $132 = $110 * $131; + $133 = $130 + $132; + $134 = ((($$0506562)) + 8|0); + HEAPF32[$134>>2] = $133; + $135 = ((($$0504564)) + -32|0); + $136 = ((($$0505563)) + 16|0); + $137 = ((($$0506562)) + 16|0); + $138 = ((($$0507561)) + 16|0); + $139 = ((($$0511560)) + 16|0); + $140 = ($135>>>0)<($16>>>0); + if ($140) { + break; + } else { + $$0504564 = $135;$$0505563 = $136;$$0506562 = $137;$$0507561 = $138;$$0511560 = $139; + } + } + } + $141 = (_ilog($1)|0); + $142 = $1 >> 4; + $143 = (($4) + -1)|0; + $144 = (0 - ($6))|0; + _imdct_step3_iter0_loop($142,$0,$143,$144,$16); + $145 = (($143) - ($5))|0; + _imdct_step3_iter0_loop($142,$0,$145,$144,$16); + $146 = $1 >> 5; + $147 = (0 - ($142))|0; + _imdct_step3_inner_r_loop($146,$0,$143,$147,$16,16); + $148 = (($143) - ($6))|0; + _imdct_step3_inner_r_loop($146,$0,$148,$147,$16,16); + $149 = $6 << 1; + $150 = (($143) - ($149))|0; + _imdct_step3_inner_r_loop($146,$0,$150,$147,$16,16); + $151 = Math_imul($6, -3)|0; + $152 = (($143) + ($151))|0; + _imdct_step3_inner_r_loop($146,$0,$152,$147,$16,16); + $153 = (($141) + -4)|0; + $154 = $153 >> 1; + $155 = ($154|0)>(2); + if ($155) { + $$0557 = 2; + while(1) { + $159 = (($$0557) + 2)|0; + $160 = $1 >> $159; + $156 = (($$0557) + 1)|0; + $161 = 1 << $156; + $162 = ($156|0)==(31); + if (!($162)) { + $163 = $160 >> 1; + $164 = (($$0557) + 4)|0; + $165 = $1 >> $164; + $166 = (0 - ($163))|0; + $167 = (($$0557) + 3)|0; + $168 = 1 << $167; + $$0517554 = 0; + while(1) { + $169 = Math_imul($$0517554, $160)|0; + $170 = (($143) - ($169))|0; + _imdct_step3_inner_r_loop($165,$0,$170,$166,$16,$168); + $171 = (($$0517554) + 1)|0; + $172 = ($171|0)<($161|0); + if ($172) { + $$0517554 = $171; + } else { + break; + } + } + } + $exitcond584 = ($156|0)==($154|0); + if ($exitcond584) { + $$0$lcssa = $154; + break; + } else { + $$0557 = $156; + } + } + } else { + $$0$lcssa = 2; + } + $157 = (($141) + -7)|0; + $158 = ($$0$lcssa|0)<($157|0); + if ($158) { + $$1551 = $$0$lcssa; + while(1) { + $174 = (($$1551) + 2)|0; + $175 = $1 >> $174; + $176 = (($$1551) + 3)|0; + $177 = 1 << $176; + $178 = (($$1551) + 6)|0; + $179 = $1 >> $178; + $173 = (($$1551) + 1)|0; + $180 = 1 << $173; + $181 = ($179|0)>(0); + if ($181) { + $182 = $175 >> 1; + $183 = (0 - ($182))|0; + $184 = $177 << 2; + $$0515548 = $16;$$0516547 = $143;$$0518546 = $179; + while(1) { + _imdct_step3_inner_s_loop($180,$0,$$0516547,$183,$$0515548,$177,$175); + $185 = (($$0515548) + ($184<<2)|0); + $186 = (($$0516547) + -8)|0; + $187 = (($$0518546) + -1)|0; + $188 = ($$0518546|0)>(1); + if ($188) { + $$0515548 = $185;$$0516547 = $186;$$0518546 = $187; + } else { + break; + } + } + } + $exitcond = ($173|0)==($157|0); + if ($exitcond) { + break; + } else { + $$1551 = $173; + } + } + } + _imdct_step3_inner_s_loop_ld654($146,$0,$143,$16,$1); + $189 = (($5) + -4)|0; + $190 = (($19) + ($189<<2)|0); + $191 = (($4) + -4)|0; + $192 = ($190>>>0)<($19>>>0); + if (!($192)) { + $193 = (($19) + ($191<<2)|0); + $194 = (((($2)) + 1100|0) + ($3<<2)|0); + $195 = HEAP32[$194>>2]|0; + $$0512542 = $193;$$0513541 = $190;$$0514540 = $195; + while(1) { + $196 = HEAP16[$$0514540>>1]|0; + $197 = $196&65535; + $198 = (($0) + ($197<<2)|0); + $199 = HEAP32[$198>>2]|0; + $200 = ((($$0512542)) + 12|0); + HEAP32[$200>>2] = $199; + $201 = (($197) + 1)|0; + $202 = (($0) + ($201<<2)|0); + $203 = HEAP32[$202>>2]|0; + $204 = ((($$0512542)) + 8|0); + HEAP32[$204>>2] = $203; + $205 = (($197) + 2)|0; + $206 = (($0) + ($205<<2)|0); + $207 = HEAP32[$206>>2]|0; + $208 = ((($$0513541)) + 12|0); + HEAP32[$208>>2] = $207; + $209 = (($197) + 3)|0; + $210 = (($0) + ($209<<2)|0); + $211 = HEAP32[$210>>2]|0; + $212 = ((($$0513541)) + 8|0); + HEAP32[$212>>2] = $211; + $213 = ((($$0514540)) + 2|0); + $214 = HEAP16[$213>>1]|0; + $215 = $214&65535; + $216 = (($0) + ($215<<2)|0); + $217 = HEAP32[$216>>2]|0; + $218 = ((($$0512542)) + 4|0); + HEAP32[$218>>2] = $217; + $219 = (($215) + 1)|0; + $220 = (($0) + ($219<<2)|0); + $221 = HEAP32[$220>>2]|0; + HEAP32[$$0512542>>2] = $221; + $222 = (($215) + 2)|0; + $223 = (($0) + ($222<<2)|0); + $224 = HEAP32[$223>>2]|0; + $225 = ((($$0513541)) + 4|0); + HEAP32[$225>>2] = $224; + $226 = (($215) + 3)|0; + $227 = (($0) + ($226<<2)|0); + $228 = HEAP32[$227>>2]|0; + HEAP32[$$0513541>>2] = $228; + $229 = ((($$0513541)) + -16|0); + $230 = ((($$0512542)) + -16|0); + $231 = ((($$0514540)) + 4|0); + $232 = ($229>>>0)<($19>>>0); + if ($232) { + break; + } else { + $$0512542 = $230;$$0513541 = $229;$$0514540 = $231; + } + } + } + $233 = (($19) + ($4<<2)|0); + $$0508532 = ((($233)) + -16|0); + $234 = ($19>>>0)<($$0508532>>>0); + if ($234) { + $235 = (((($2)) + 1084|0) + ($3<<2)|0); + $236 = HEAP32[$235>>2]|0; + $$0508536 = $$0508532;$$0509534 = $19;$$0510533 = $236;$$pn535 = $233; + while(1) { + $237 = +HEAPF32[$$0509534>>2]; + $238 = ((($$pn535)) + -8|0); + $239 = +HEAPF32[$238>>2]; + $240 = $237 - $239; + $241 = ((($$0509534)) + 4|0); + $242 = +HEAPF32[$241>>2]; + $243 = ((($$pn535)) + -4|0); + $244 = +HEAPF32[$243>>2]; + $245 = $242 + $244; + $246 = ((($$0510533)) + 4|0); + $247 = +HEAPF32[$246>>2]; + $248 = $240 * $247; + $249 = +HEAPF32[$$0510533>>2]; + $250 = $245 * $249; + $251 = $248 + $250; + $252 = $247 * $245; + $253 = $240 * $249; + $254 = $252 - $253; + $255 = $237 + $239; + $256 = $242 - $244; + $257 = $255 + $251; + HEAPF32[$$0509534>>2] = $257; + $258 = $256 + $254; + HEAPF32[$241>>2] = $258; + $259 = $255 - $251; + HEAPF32[$238>>2] = $259; + $260 = $254 - $256; + HEAPF32[$243>>2] = $260; + $261 = ((($$0509534)) + 8|0); + $262 = +HEAPF32[$261>>2]; + $263 = +HEAPF32[$$0508536>>2]; + $264 = $262 - $263; + $265 = ((($$0509534)) + 12|0); + $266 = +HEAPF32[$265>>2]; + $267 = ((($$pn535)) + -12|0); + $268 = +HEAPF32[$267>>2]; + $269 = $266 + $268; + $270 = ((($$0510533)) + 12|0); + $271 = +HEAPF32[$270>>2]; + $272 = $264 * $271; + $273 = ((($$0510533)) + 8|0); + $274 = +HEAPF32[$273>>2]; + $275 = $269 * $274; + $276 = $272 + $275; + $277 = $271 * $269; + $278 = $264 * $274; + $279 = $277 - $278; + $280 = $262 + $263; + $281 = $266 - $268; + $282 = $280 + $276; + HEAPF32[$261>>2] = $282; + $283 = $281 + $279; + HEAPF32[$265>>2] = $283; + $284 = $280 - $276; + HEAPF32[$$0508536>>2] = $284; + $285 = $279 - $281; + HEAPF32[$267>>2] = $285; + $286 = ((($$0510533)) + 16|0); + $287 = ((($$0509534)) + 16|0); + $$0508 = ((($$0508536)) + -16|0); + $288 = ($287>>>0)<($$0508>>>0); + if ($288) { + $$pn535$phi = $$0508536;$$0508536 = $$0508;$$0509534 = $287;$$0510533 = $286;$$pn535 = $$pn535$phi; + } else { + break; + } + } + } + $$0494522 = ((($233)) + -32|0); + $289 = ($$0494522>>>0)<($19>>>0); + if ($289) { + HEAP32[$7>>2] = $8; + STACKTOP = sp;return; + } + $290 = (($1) + -4)|0; + $291 = (($0) + ($290<<2)|0); + $292 = (($0) + ($191<<2)|0); + $293 = (((($2)) + 1076|0) + ($3<<2)|0); + $294 = HEAP32[$293>>2]|0; + $295 = (($294) + ($4<<2)|0); + $$0494530 = $$0494522;$$0495531$pn = $295;$$0496527 = $291;$$0497526 = $20;$$0498525 = $292;$$0499524 = $0;$$pn520529 = $233; + while(1) { + $$0495531 = ((($$0495531$pn)) + -32|0); + $296 = ((($$pn520529)) + -8|0); + $297 = +HEAPF32[$296>>2]; + $298 = ((($$0495531$pn)) + -4|0); + $299 = +HEAPF32[$298>>2]; + $300 = $297 * $299; + $301 = ((($$pn520529)) + -4|0); + $302 = +HEAPF32[$301>>2]; + $303 = ((($$0495531$pn)) + -8|0); + $304 = +HEAPF32[$303>>2]; + $305 = $302 * $304; + $306 = $300 - $305; + $307 = $297 * $304; + $308 = -$307; + $309 = $299 * $302; + $310 = $308 - $309; + HEAPF32[$$0499524>>2] = $306; + $311 = -$306; + $312 = ((($$0498525)) + 12|0); + HEAPF32[$312>>2] = $311; + HEAPF32[$$0497526>>2] = $310; + $313 = ((($$0496527)) + 12|0); + HEAPF32[$313>>2] = $310; + $314 = ((($$pn520529)) + -16|0); + $315 = +HEAPF32[$314>>2]; + $316 = ((($$0495531$pn)) + -12|0); + $317 = +HEAPF32[$316>>2]; + $318 = $315 * $317; + $319 = ((($$pn520529)) + -12|0); + $320 = +HEAPF32[$319>>2]; + $321 = ((($$0495531$pn)) + -16|0); + $322 = +HEAPF32[$321>>2]; + $323 = $320 * $322; + $324 = $318 - $323; + $325 = $315 * $322; + $326 = -$325; + $327 = $317 * $320; + $328 = $326 - $327; + $329 = ((($$0499524)) + 4|0); + HEAPF32[$329>>2] = $324; + $330 = -$324; + $331 = ((($$0498525)) + 8|0); + HEAPF32[$331>>2] = $330; + $332 = ((($$0497526)) + 4|0); + HEAPF32[$332>>2] = $328; + $333 = ((($$0496527)) + 8|0); + HEAPF32[$333>>2] = $328; + $334 = ((($$pn520529)) + -24|0); + $335 = +HEAPF32[$334>>2]; + $336 = ((($$0495531$pn)) + -20|0); + $337 = +HEAPF32[$336>>2]; + $338 = $335 * $337; + $339 = ((($$pn520529)) + -20|0); + $340 = +HEAPF32[$339>>2]; + $341 = ((($$0495531$pn)) + -24|0); + $342 = +HEAPF32[$341>>2]; + $343 = $340 * $342; + $344 = $338 - $343; + $345 = $335 * $342; + $346 = -$345; + $347 = $337 * $340; + $348 = $346 - $347; + $349 = ((($$0499524)) + 8|0); + HEAPF32[$349>>2] = $344; + $350 = -$344; + $351 = ((($$0498525)) + 4|0); + HEAPF32[$351>>2] = $350; + $352 = ((($$0497526)) + 8|0); + HEAPF32[$352>>2] = $348; + $353 = ((($$0496527)) + 4|0); + HEAPF32[$353>>2] = $348; + $354 = +HEAPF32[$$0494530>>2]; + $355 = ((($$0495531$pn)) + -28|0); + $356 = +HEAPF32[$355>>2]; + $357 = $354 * $356; + $358 = ((($$pn520529)) + -28|0); + $359 = +HEAPF32[$358>>2]; + $360 = +HEAPF32[$$0495531>>2]; + $361 = $359 * $360; + $362 = $357 - $361; + $363 = $354 * $360; + $364 = -$363; + $365 = $356 * $359; + $366 = $364 - $365; + $367 = ((($$0499524)) + 12|0); + HEAPF32[$367>>2] = $362; + $368 = -$362; + HEAPF32[$$0498525>>2] = $368; + $369 = ((($$0497526)) + 12|0); + HEAPF32[$369>>2] = $366; + HEAPF32[$$0496527>>2] = $366; + $370 = ((($$0499524)) + 16|0); + $371 = ((($$0497526)) + 16|0); + $372 = ((($$0498525)) + -16|0); + $373 = ((($$0496527)) + -16|0); + $$0494 = ((($$0494530)) + -32|0); + $374 = ($$0494>>>0)<($19>>>0); + if ($374) { + break; + } else { + $$pn520529$phi = $$0494530;$$0494530 = $$0494;$$0495531$pn = $$0495531;$$0496527 = $373;$$0497526 = $371;$$0498525 = $372;$$0499524 = $370;$$pn520529 = $$pn520529$phi; + } + } + HEAP32[$7>>2] = $8; + STACKTOP = sp;return; +} +function _flush_packet($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + while(1) { + $1 = (_get8_packet_raw($0)|0); + $2 = ($1|0)==(-1); + if ($2) { + break; + } + } + return; +} +function _get8_packet_raw($0) { + $0 = $0|0; + var $$0 = 0, $$pr = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 1376|0); + $2 = HEAP8[$1>>0]|0; + $3 = ($2<<24>>24)==(0); + if ($3) { + $4 = ((($0)) + 1384|0); + $5 = HEAP32[$4>>2]|0; + $6 = ($5|0)==(0); + if (!($6)) { + $$0 = -1; + return ($$0|0); + } + $7 = (_next_segment($0)|0); + $8 = ($7|0)==(0); + if ($8) { + $$0 = -1; + return ($$0|0); + } + $$pr = HEAP8[$1>>0]|0; + $9 = ($$pr<<24>>24)==(0); + if ($9) { + ___assert_fail((12474|0),(12359|0),1138,(12494|0)); + // unreachable; + } else { + $11 = $$pr; + } + } else { + $11 = $2; + } + $10 = (($11) + -1)<<24>>24; + HEAP8[$1>>0] = $10; + $12 = ((($0)) + 1400|0); + $13 = HEAP32[$12>>2]|0; + $14 = (($13) + 1)|0; + HEAP32[$12>>2] = $14; + $15 = (_get8($0)|0); + $16 = $15&255; + $$0 = $16; + return ($$0|0); +} +function _next_segment($0) { + $0 = $0|0; + var $$0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 1384|0); + $2 = HEAP32[$1>>2]|0; + $3 = ($2|0)==(0); + if (!($3)) { + $$0 = 0; + return ($$0|0); + } + $4 = ((($0)) + 1380|0); + $5 = HEAP32[$4>>2]|0; + $6 = ($5|0)==(-1); + if ($6) { + $7 = ((($0)) + 1116|0); + $8 = HEAP32[$7>>2]|0; + $9 = (($8) + -1)|0; + $10 = ((($0)) + 1388|0); + HEAP32[$10>>2] = $9; + $11 = (_start_page($0)|0); + $12 = ($11|0)==(0); + if ($12) { + HEAP32[$1>>2] = 1; + $$0 = 0; + return ($$0|0); + } + $13 = ((($0)) + 1375|0); + $14 = HEAP8[$13>>0]|0; + $15 = $14 & 1; + $16 = ($15<<24>>24)==(0); + if ($16) { + _error($0,32); + $$0 = 0; + return ($$0|0); + } + } + $17 = HEAP32[$4>>2]|0; + $18 = (($17) + 1)|0; + HEAP32[$4>>2] = $18; + $19 = (((($0)) + 1120|0) + ($17)|0); + $20 = HEAP8[$19>>0]|0; + $21 = $20&255; + $22 = ($20<<24>>24)==(-1); + if (!($22)) { + HEAP32[$1>>2] = 1; + $23 = ((($0)) + 1388|0); + HEAP32[$23>>2] = $17; + } + $24 = ((($0)) + 1116|0); + $25 = HEAP32[$24>>2]|0; + $26 = ($18|0)<($25|0); + if (!($26)) { + HEAP32[$4>>2] = -1; + } + $27 = ((($0)) + 1376|0); + $28 = HEAP8[$27>>0]|0; + $29 = ($28<<24>>24)==(0); + if (!($29)) { + ___assert_fail((12510|0),(12359|0),1124,(12531|0)); + // unreachable; + } + HEAP8[$27>>0] = $20; + $$0 = $21; + return ($$0|0); +} +function _get8($0) { + $0 = $0|0; + var $$1 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 32|0); + $2 = HEAP32[$1>>2]|0; + $3 = ($2|0)==(0|0); + if ($3) { + $10 = ((($0)) + 20|0); + $11 = HEAP32[$10>>2]|0; + $12 = (_fgetc($11)|0); + $13 = ($12|0)==(-1); + if ($13) { + $14 = ((($0)) + 96|0); + HEAP32[$14>>2] = 1; + $$1 = 0; + return ($$1|0); + } else { + $15 = $12&255; + $$1 = $15; + return ($$1|0); + } + } else { + $4 = ((($0)) + 40|0); + $5 = HEAP32[$4>>2]|0; + $6 = ($2>>>0)<($5>>>0); + if ($6) { + $8 = ((($2)) + 1|0); + HEAP32[$1>>2] = $8; + $9 = HEAP8[$2>>0]|0; + $$1 = $9; + return ($$1|0); + } else { + $7 = ((($0)) + 96|0); + HEAP32[$7>>2] = 1; + $$1 = 0; + return ($$1|0); + } + } + return (0)|0; +} +function _start_page($0) { + $0 = $0|0; + var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (_capture_pattern($0)|0); + $2 = ($1|0)==(0); + if ($2) { + _error($0,30); + $$0 = 0; + return ($$0|0); + } else { + $3 = (_start_page_no_capturepattern($0)|0); + $$0 = $3; + return ($$0|0); + } + return (0)|0; +} +function _capture_pattern($0) { + $0 = $0|0; + var $$ = 0, $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (_get8($0)|0); + $2 = ($1<<24>>24)==(79); + if ($2) { + $3 = (_get8($0)|0); + $4 = ($3<<24>>24)==(103); + if ($4) { + $5 = (_get8($0)|0); + $6 = ($5<<24>>24)==(103); + if ($6) { + $7 = (_get8($0)|0); + $8 = ($7<<24>>24)==(83); + $$ = $8&1; + $$0 = $$; + } else { + $$0 = 0; + } + } else { + $$0 = 0; + } + } else { + $$0 = 0; + } + return ($$0|0); +} +function _start_page_no_capturepattern($0) { + $0 = $0|0; + var $$0 = 0, $$058 = 0, $$058$in = 0, $$059$lcssa = 0, $$05963 = 0, $$06062 = 0, $$lcssa = 0, $$sroa$0$0$$sroa_idx = 0, $$sroa$5$0$$sroa_idx3 = 0, $$sroa$6$0$$sroa_idx5 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0; + var $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0; + var $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $phitmp = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (_get8($0)|0); + $2 = ($1<<24>>24)==(0); + if (!($2)) { + _error($0,31); + $$0 = 0; + return ($$0|0); + } + $3 = (_get8($0)|0); + $4 = ((($0)) + 1375|0); + HEAP8[$4>>0] = $3; + $5 = (_get32($0)|0); + $6 = (_get32($0)|0); + (_get32($0)|0); + $7 = (_get32($0)|0); + $8 = ((($0)) + 1112|0); + HEAP32[$8>>2] = $7; + (_get32($0)|0); + $9 = (_get8($0)|0); + $10 = $9&255; + $11 = ((($0)) + 1116|0); + HEAP32[$11>>2] = $10; + $12 = ((($0)) + 1120|0); + $13 = (_getn($0,$12,$10)|0); + $14 = ($13|0)==(0); + if ($14) { + _error($0,10); + $$0 = 0; + return ($$0|0); + } + $15 = ((($0)) + 1404|0); + HEAP32[$15>>2] = -2; + $16 = $6 & $5; + $17 = ($16|0)==(-1); + L9: do { + if (!($17)) { + $18 = HEAP32[$11>>2]|0; + $$058$in = $18; + while(1) { + $$058 = (($$058$in) + -1)|0; + $19 = ($$058$in|0)>(0); + if (!($19)) { + break L9; + } + $20 = (((($0)) + 1120|0) + ($$058)|0); + $21 = HEAP8[$20>>0]|0; + $22 = ($21<<24>>24)==(-1); + if ($22) { + $$058$in = $$058; + } else { + break; + } + } + HEAP32[$15>>2] = $$058; + $23 = ((($0)) + 1408|0); + HEAP32[$23>>2] = $5; + } + } while(0); + $24 = ((($0)) + 1377|0); + $25 = HEAP8[$24>>0]|0; + $26 = ($25<<24>>24)==(0); + if (!($26)) { + $27 = HEAP32[$11>>2]|0; + $28 = ($27|0)>(0); + if ($28) { + $29 = HEAP32[$11>>2]|0; + $$05963 = 0;$$06062 = 0; + while(1) { + $30 = (((($0)) + 1120|0) + ($$06062)|0); + $31 = HEAP8[$30>>0]|0; + $32 = $31&255; + $33 = (($32) + ($$05963))|0; + $34 = (($$06062) + 1)|0; + $35 = ($34|0)<($29|0); + if ($35) { + $$05963 = $33;$$06062 = $34; + } else { + break; + } + } + $phitmp = (($33) + 27)|0; + $$059$lcssa = $phitmp;$$lcssa = $29; + } else { + $$059$lcssa = 27;$$lcssa = $27; + } + $36 = ((($0)) + 52|0); + $37 = HEAP32[$36>>2]|0; + $38 = (($$059$lcssa) + ($$lcssa))|0; + $39 = (($38) + ($37))|0; + $$sroa$0$0$$sroa_idx = ((($0)) + 56|0); + HEAP32[$$sroa$0$0$$sroa_idx>>2] = $37; + $$sroa$5$0$$sroa_idx3 = ((($0)) + 60|0); + HEAP32[$$sroa$5$0$$sroa_idx3>>2] = $39; + $$sroa$6$0$$sroa_idx5 = ((($0)) + 64|0); + HEAP32[$$sroa$6$0$$sroa_idx5>>2] = $5; + } + $40 = ((($0)) + 1380|0); + HEAP32[$40>>2] = 0; + $$0 = 1; + return ($$0|0); +} +function _get32($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (_get8($0)|0); + $2 = $1&255; + $3 = (_get8($0)|0); + $4 = $3&255; + $5 = $4 << 8; + $6 = $5 | $2; + $7 = (_get8($0)|0); + $8 = $7&255; + $9 = $8 << 16; + $10 = $6 | $9; + $11 = (_get8($0)|0); + $12 = $11&255; + $13 = $12 << 24; + $14 = $10 | $13; + return ($14|0); +} +function _getn($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ((($0)) + 32|0); + $4 = HEAP32[$3>>2]|0; + $5 = ($4|0)==(0|0); + if ($5) { + $13 = ((($0)) + 20|0); + $14 = HEAP32[$13>>2]|0; + $15 = (_fread($1,$2,1,$14)|0); + $16 = ($15|0)==(1); + if ($16) { + $$0 = 1; + return ($$0|0); + } + $17 = ((($0)) + 96|0); + HEAP32[$17>>2] = 1; + $$0 = 0; + return ($$0|0); + } + $6 = (($4) + ($2)|0); + $7 = ((($0)) + 40|0); + $8 = HEAP32[$7>>2]|0; + $9 = ($6>>>0)>($8>>>0); + if ($9) { + $10 = ((($0)) + 96|0); + HEAP32[$10>>2] = 1; + $$0 = 0; + return ($$0|0); + } else { + _memcpy(($1|0),($4|0),($2|0))|0; + $11 = HEAP32[$3>>2]|0; + $12 = (($11) + ($2)|0); + HEAP32[$3>>2] = $12; + $$0 = 1; + return ($$0|0); + } + return (0)|0; +} +function _setup_temp_malloc($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = (($1) + 3)|0; + $3 = $2 & -4; + $4 = ((($0)) + 80|0); + $5 = HEAP32[$4>>2]|0; + $6 = ($5|0)==(0|0); + if ($6) { + $14 = (_malloc($3)|0); + $$0 = $14; + return ($$0|0); + } + $7 = ((($0)) + 92|0); + $8 = HEAP32[$7>>2]|0; + $9 = (($8) - ($3))|0; + $10 = ((($0)) + 88|0); + $11 = HEAP32[$10>>2]|0; + $12 = ($9|0)<($11|0); + if ($12) { + $$0 = 0; + return ($$0|0); + } + HEAP32[$7>>2] = $9; + $13 = (($5) + ($9)|0); + $$0 = $13; + return ($$0|0); +} +function _imdct_step3_iter0_loop($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$0100 = 0, $$09499 = 0, $$09598 = 0, $$09697 = 0, $10 = 0, $100 = 0.0, $101 = 0.0, $102 = 0.0, $103 = 0.0, $104 = 0.0, $105 = 0.0, $106 = 0.0, $107 = 0.0, $108 = 0, $109 = 0, $11 = 0.0, $110 = 0, $111 = 0, $112 = 0, $12 = 0.0; + var $13 = 0.0, $14 = 0, $15 = 0.0, $16 = 0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0, $25 = 0.0, $26 = 0.0, $27 = 0.0, $28 = 0.0, $29 = 0.0, $30 = 0.0, $31 = 0.0, $32 = 0.0; + var $33 = 0, $34 = 0, $35 = 0.0, $36 = 0, $37 = 0.0, $38 = 0.0, $39 = 0, $40 = 0.0, $41 = 0, $42 = 0.0, $43 = 0.0, $44 = 0.0, $45 = 0.0, $46 = 0.0, $47 = 0.0, $48 = 0.0, $49 = 0, $5 = 0, $50 = 0.0, $51 = 0.0; + var $52 = 0.0, $53 = 0.0, $54 = 0.0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0, $59 = 0, $6 = 0, $60 = 0.0, $61 = 0, $62 = 0.0, $63 = 0.0, $64 = 0, $65 = 0.0, $66 = 0, $67 = 0.0, $68 = 0.0, $69 = 0.0, $7 = 0; + var $70 = 0.0, $71 = 0.0, $72 = 0.0, $73 = 0.0, $74 = 0, $75 = 0.0, $76 = 0.0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0, $80 = 0.0, $81 = 0.0, $82 = 0.0, $83 = 0, $84 = 0, $85 = 0.0, $86 = 0, $87 = 0.0, $88 = 0.0; + var $89 = 0, $9 = 0, $90 = 0.0, $91 = 0, $92 = 0.0, $93 = 0.0, $94 = 0.0, $95 = 0.0, $96 = 0.0, $97 = 0.0, $98 = 0.0, $99 = 0, label = 0, sp = 0; + sp = STACKTOP; + $5 = (($1) + ($2<<2)|0); + $6 = $0 & 3; + $7 = ($6|0)==(0); + if (!($7)) { + ___assert_fail((12544|0),(12359|0),2007,(12557|0)); + // unreachable; + } + $8 = $0 >> 2; + $9 = ($8|0)>(0); + if (!($9)) { + return; + } + $10 = (($5) + ($3<<2)|0); + $$0100 = $4;$$09499 = $5;$$09598 = $8;$$09697 = $10; + while(1) { + $11 = +HEAPF32[$$09499>>2]; + $12 = +HEAPF32[$$09697>>2]; + $13 = $11 - $12; + $14 = ((($$09499)) + -4|0); + $15 = +HEAPF32[$14>>2]; + $16 = ((($$09697)) + -4|0); + $17 = +HEAPF32[$16>>2]; + $18 = $15 - $17; + $19 = $11 + $12; + HEAPF32[$$09499>>2] = $19; + $20 = +HEAPF32[$16>>2]; + $21 = $15 + $20; + HEAPF32[$14>>2] = $21; + $22 = +HEAPF32[$$0100>>2]; + $23 = $13 * $22; + $24 = ((($$0100)) + 4|0); + $25 = +HEAPF32[$24>>2]; + $26 = $18 * $25; + $27 = $23 - $26; + HEAPF32[$$09697>>2] = $27; + $28 = +HEAPF32[$$0100>>2]; + $29 = $18 * $28; + $30 = +HEAPF32[$24>>2]; + $31 = $13 * $30; + $32 = $29 + $31; + HEAPF32[$16>>2] = $32; + $33 = ((($$0100)) + 32|0); + $34 = ((($$09499)) + -8|0); + $35 = +HEAPF32[$34>>2]; + $36 = ((($$09697)) + -8|0); + $37 = +HEAPF32[$36>>2]; + $38 = $35 - $37; + $39 = ((($$09499)) + -12|0); + $40 = +HEAPF32[$39>>2]; + $41 = ((($$09697)) + -12|0); + $42 = +HEAPF32[$41>>2]; + $43 = $40 - $42; + $44 = $35 + $37; + HEAPF32[$34>>2] = $44; + $45 = +HEAPF32[$41>>2]; + $46 = $40 + $45; + HEAPF32[$39>>2] = $46; + $47 = +HEAPF32[$33>>2]; + $48 = $38 * $47; + $49 = ((($$0100)) + 36|0); + $50 = +HEAPF32[$49>>2]; + $51 = $43 * $50; + $52 = $48 - $51; + HEAPF32[$36>>2] = $52; + $53 = +HEAPF32[$33>>2]; + $54 = $43 * $53; + $55 = +HEAPF32[$49>>2]; + $56 = $38 * $55; + $57 = $54 + $56; + HEAPF32[$41>>2] = $57; + $58 = ((($$0100)) + 64|0); + $59 = ((($$09499)) + -16|0); + $60 = +HEAPF32[$59>>2]; + $61 = ((($$09697)) + -16|0); + $62 = +HEAPF32[$61>>2]; + $63 = $60 - $62; + $64 = ((($$09499)) + -20|0); + $65 = +HEAPF32[$64>>2]; + $66 = ((($$09697)) + -20|0); + $67 = +HEAPF32[$66>>2]; + $68 = $65 - $67; + $69 = $60 + $62; + HEAPF32[$59>>2] = $69; + $70 = +HEAPF32[$66>>2]; + $71 = $65 + $70; + HEAPF32[$64>>2] = $71; + $72 = +HEAPF32[$58>>2]; + $73 = $63 * $72; + $74 = ((($$0100)) + 68|0); + $75 = +HEAPF32[$74>>2]; + $76 = $68 * $75; + $77 = $73 - $76; + HEAPF32[$61>>2] = $77; + $78 = +HEAPF32[$58>>2]; + $79 = $68 * $78; + $80 = +HEAPF32[$74>>2]; + $81 = $63 * $80; + $82 = $79 + $81; + HEAPF32[$66>>2] = $82; + $83 = ((($$0100)) + 96|0); + $84 = ((($$09499)) + -24|0); + $85 = +HEAPF32[$84>>2]; + $86 = ((($$09697)) + -24|0); + $87 = +HEAPF32[$86>>2]; + $88 = $85 - $87; + $89 = ((($$09499)) + -28|0); + $90 = +HEAPF32[$89>>2]; + $91 = ((($$09697)) + -28|0); + $92 = +HEAPF32[$91>>2]; + $93 = $90 - $92; + $94 = $85 + $87; + HEAPF32[$84>>2] = $94; + $95 = +HEAPF32[$91>>2]; + $96 = $90 + $95; + HEAPF32[$89>>2] = $96; + $97 = +HEAPF32[$83>>2]; + $98 = $88 * $97; + $99 = ((($$0100)) + 100|0); + $100 = +HEAPF32[$99>>2]; + $101 = $93 * $100; + $102 = $98 - $101; + HEAPF32[$86>>2] = $102; + $103 = +HEAPF32[$83>>2]; + $104 = $93 * $103; + $105 = +HEAPF32[$99>>2]; + $106 = $88 * $105; + $107 = $104 + $106; + HEAPF32[$91>>2] = $107; + $108 = ((($$0100)) + 128|0); + $109 = ((($$09499)) + -32|0); + $110 = ((($$09697)) + -32|0); + $111 = (($$09598) + -1)|0; + $112 = ($$09598|0)>(1); + if ($112) { + $$0100 = $108;$$09499 = $109;$$09598 = $111;$$09697 = $110; + } else { + break; + } + } + return; +} +function _imdct_step3_inner_r_loop($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + var $$0103 = 0, $$097102 = 0, $$098101 = 0, $$099100 = 0, $10 = 0.0, $100 = 0.0, $101 = 0.0, $102 = 0.0, $103 = 0.0, $104 = 0.0, $105 = 0.0, $106 = 0.0, $107 = 0, $108 = 0, $109 = 0, $11 = 0.0, $110 = 0, $111 = 0, $12 = 0.0, $13 = 0; + var $14 = 0.0, $15 = 0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0.0, $28 = 0.0, $29 = 0.0, $30 = 0.0, $31 = 0.0, $32 = 0, $33 = 0; + var $34 = 0.0, $35 = 0, $36 = 0.0, $37 = 0.0, $38 = 0, $39 = 0.0, $40 = 0, $41 = 0.0, $42 = 0.0, $43 = 0.0, $44 = 0.0, $45 = 0.0, $46 = 0.0, $47 = 0.0, $48 = 0, $49 = 0.0, $50 = 0.0, $51 = 0.0, $52 = 0.0, $53 = 0.0; + var $54 = 0.0, $55 = 0.0, $56 = 0.0, $57 = 0, $58 = 0, $59 = 0.0, $6 = 0, $60 = 0, $61 = 0.0, $62 = 0.0, $63 = 0, $64 = 0.0, $65 = 0, $66 = 0.0, $67 = 0.0, $68 = 0.0, $69 = 0.0, $7 = 0, $70 = 0.0, $71 = 0.0; + var $72 = 0.0, $73 = 0, $74 = 0.0, $75 = 0.0, $76 = 0.0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0, $80 = 0.0, $81 = 0.0, $82 = 0, $83 = 0, $84 = 0.0, $85 = 0, $86 = 0.0, $87 = 0.0, $88 = 0, $89 = 0.0, $9 = 0; + var $90 = 0, $91 = 0.0, $92 = 0.0, $93 = 0.0, $94 = 0.0, $95 = 0.0, $96 = 0.0, $97 = 0.0, $98 = 0, $99 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $6 = (($1) + ($2<<2)|0); + $7 = $0 >> 2; + $8 = ($7|0)>(0); + if (!($8)) { + return; + } + $9 = (($6) + ($3<<2)|0); + $$0103 = $9;$$097102 = $6;$$098101 = $4;$$099100 = $7; + while(1) { + $10 = +HEAPF32[$$097102>>2]; + $11 = +HEAPF32[$$0103>>2]; + $12 = $10 - $11; + $13 = ((($$097102)) + -4|0); + $14 = +HEAPF32[$13>>2]; + $15 = ((($$0103)) + -4|0); + $16 = +HEAPF32[$15>>2]; + $17 = $14 - $16; + $18 = $10 + $11; + HEAPF32[$$097102>>2] = $18; + $19 = +HEAPF32[$15>>2]; + $20 = $14 + $19; + HEAPF32[$13>>2] = $20; + $21 = +HEAPF32[$$098101>>2]; + $22 = $12 * $21; + $23 = ((($$098101)) + 4|0); + $24 = +HEAPF32[$23>>2]; + $25 = $17 * $24; + $26 = $22 - $25; + HEAPF32[$$0103>>2] = $26; + $27 = +HEAPF32[$$098101>>2]; + $28 = $17 * $27; + $29 = +HEAPF32[$23>>2]; + $30 = $12 * $29; + $31 = $28 + $30; + HEAPF32[$15>>2] = $31; + $32 = (($$098101) + ($5<<2)|0); + $33 = ((($$097102)) + -8|0); + $34 = +HEAPF32[$33>>2]; + $35 = ((($$0103)) + -8|0); + $36 = +HEAPF32[$35>>2]; + $37 = $34 - $36; + $38 = ((($$097102)) + -12|0); + $39 = +HEAPF32[$38>>2]; + $40 = ((($$0103)) + -12|0); + $41 = +HEAPF32[$40>>2]; + $42 = $39 - $41; + $43 = $34 + $36; + HEAPF32[$33>>2] = $43; + $44 = +HEAPF32[$40>>2]; + $45 = $39 + $44; + HEAPF32[$38>>2] = $45; + $46 = +HEAPF32[$32>>2]; + $47 = $37 * $46; + $48 = ((($32)) + 4|0); + $49 = +HEAPF32[$48>>2]; + $50 = $42 * $49; + $51 = $47 - $50; + HEAPF32[$35>>2] = $51; + $52 = +HEAPF32[$32>>2]; + $53 = $42 * $52; + $54 = +HEAPF32[$48>>2]; + $55 = $37 * $54; + $56 = $53 + $55; + HEAPF32[$40>>2] = $56; + $57 = (($32) + ($5<<2)|0); + $58 = ((($$097102)) + -16|0); + $59 = +HEAPF32[$58>>2]; + $60 = ((($$0103)) + -16|0); + $61 = +HEAPF32[$60>>2]; + $62 = $59 - $61; + $63 = ((($$097102)) + -20|0); + $64 = +HEAPF32[$63>>2]; + $65 = ((($$0103)) + -20|0); + $66 = +HEAPF32[$65>>2]; + $67 = $64 - $66; + $68 = $59 + $61; + HEAPF32[$58>>2] = $68; + $69 = +HEAPF32[$65>>2]; + $70 = $64 + $69; + HEAPF32[$63>>2] = $70; + $71 = +HEAPF32[$57>>2]; + $72 = $62 * $71; + $73 = ((($57)) + 4|0); + $74 = +HEAPF32[$73>>2]; + $75 = $67 * $74; + $76 = $72 - $75; + HEAPF32[$60>>2] = $76; + $77 = +HEAPF32[$57>>2]; + $78 = $67 * $77; + $79 = +HEAPF32[$73>>2]; + $80 = $62 * $79; + $81 = $78 + $80; + HEAPF32[$65>>2] = $81; + $82 = (($57) + ($5<<2)|0); + $83 = ((($$097102)) + -24|0); + $84 = +HEAPF32[$83>>2]; + $85 = ((($$0103)) + -24|0); + $86 = +HEAPF32[$85>>2]; + $87 = $84 - $86; + $88 = ((($$097102)) + -28|0); + $89 = +HEAPF32[$88>>2]; + $90 = ((($$0103)) + -28|0); + $91 = +HEAPF32[$90>>2]; + $92 = $89 - $91; + $93 = $84 + $86; + HEAPF32[$83>>2] = $93; + $94 = +HEAPF32[$90>>2]; + $95 = $89 + $94; + HEAPF32[$88>>2] = $95; + $96 = +HEAPF32[$82>>2]; + $97 = $87 * $96; + $98 = ((($82)) + 4|0); + $99 = +HEAPF32[$98>>2]; + $100 = $92 * $99; + $101 = $97 - $100; + HEAPF32[$85>>2] = $101; + $102 = +HEAPF32[$82>>2]; + $103 = $92 * $102; + $104 = +HEAPF32[$98>>2]; + $105 = $87 * $104; + $106 = $103 + $105; + HEAPF32[$90>>2] = $106; + $107 = ((($$097102)) + -32|0); + $108 = ((($$0103)) + -32|0); + $109 = (($82) + ($5<<2)|0); + $110 = (($$099100) + -1)|0; + $111 = ($$099100|0)>(1); + if ($111) { + $$0103 = $108;$$097102 = $107;$$098101 = $109;$$099100 = $110; + } else { + break; + } + } + return; +} +function _imdct_step3_inner_s_loop($0,$1,$2,$3,$4,$5,$6) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + $6 = $6|0; + var $$0129132 = 0, $$0130131 = 0, $$0133 = 0, $10 = 0, $100 = 0.0, $101 = 0.0, $102 = 0.0, $103 = 0.0, $104 = 0.0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $11 = 0.0, $12 = 0, $13 = 0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0.0; + var $18 = 0, $19 = 0, $20 = 0.0, $21 = 0, $22 = 0, $23 = 0.0, $24 = 0, $25 = 0, $26 = 0.0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0.0, $32 = 0.0, $33 = 0.0, $34 = 0, $35 = 0.0, $36 = 0, $37 = 0.0; + var $38 = 0.0, $39 = 0.0, $40 = 0.0, $41 = 0.0, $42 = 0.0, $43 = 0.0, $44 = 0.0, $45 = 0.0, $46 = 0.0, $47 = 0.0, $48 = 0, $49 = 0.0, $50 = 0, $51 = 0.0, $52 = 0.0, $53 = 0, $54 = 0.0, $55 = 0, $56 = 0.0, $57 = 0.0; + var $58 = 0.0, $59 = 0.0, $60 = 0.0, $61 = 0.0, $62 = 0.0, $63 = 0.0, $64 = 0.0, $65 = 0.0, $66 = 0.0, $67 = 0, $68 = 0.0, $69 = 0, $7 = 0.0, $70 = 0.0, $71 = 0.0, $72 = 0, $73 = 0.0, $74 = 0, $75 = 0.0, $76 = 0.0; + var $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0, $80 = 0.0, $81 = 0.0, $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0.0, $86 = 0, $87 = 0.0, $88 = 0, $89 = 0.0, $9 = 0.0, $90 = 0.0, $91 = 0, $92 = 0.0, $93 = 0, $94 = 0.0; + var $95 = 0.0, $96 = 0.0, $97 = 0.0, $98 = 0.0, $99 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $7 = +HEAPF32[$4>>2]; + $8 = ((($4)) + 4|0); + $9 = +HEAPF32[$8>>2]; + $10 = (($4) + ($5<<2)|0); + $11 = +HEAPF32[$10>>2]; + $12 = (($5) + 1)|0; + $13 = (($4) + ($12<<2)|0); + $14 = +HEAPF32[$13>>2]; + $15 = $5 << 1; + $16 = (($4) + ($15<<2)|0); + $17 = +HEAPF32[$16>>2]; + $18 = $15 | 1; + $19 = (($4) + ($18<<2)|0); + $20 = +HEAPF32[$19>>2]; + $21 = ($5*3)|0; + $22 = (($4) + ($21<<2)|0); + $23 = +HEAPF32[$22>>2]; + $24 = (($21) + 1)|0; + $25 = (($4) + ($24<<2)|0); + $26 = +HEAPF32[$25>>2]; + $27 = (($1) + ($2<<2)|0); + $28 = ($0|0)>(0); + if (!($28)) { + return; + } + $29 = (($27) + ($3<<2)|0); + $30 = (0 - ($6))|0; + $$0129132 = $27;$$0130131 = $0;$$0133 = $29; + while(1) { + $31 = +HEAPF32[$$0129132>>2]; + $32 = +HEAPF32[$$0133>>2]; + $33 = $31 - $32; + $34 = ((($$0129132)) + -4|0); + $35 = +HEAPF32[$34>>2]; + $36 = ((($$0133)) + -4|0); + $37 = +HEAPF32[$36>>2]; + $38 = $35 - $37; + $39 = $31 + $32; + HEAPF32[$$0129132>>2] = $39; + $40 = +HEAPF32[$36>>2]; + $41 = $35 + $40; + HEAPF32[$34>>2] = $41; + $42 = $7 * $33; + $43 = $9 * $38; + $44 = $42 - $43; + HEAPF32[$$0133>>2] = $44; + $45 = $7 * $38; + $46 = $9 * $33; + $47 = $46 + $45; + HEAPF32[$36>>2] = $47; + $48 = ((($$0129132)) + -8|0); + $49 = +HEAPF32[$48>>2]; + $50 = ((($$0133)) + -8|0); + $51 = +HEAPF32[$50>>2]; + $52 = $49 - $51; + $53 = ((($$0129132)) + -12|0); + $54 = +HEAPF32[$53>>2]; + $55 = ((($$0133)) + -12|0); + $56 = +HEAPF32[$55>>2]; + $57 = $54 - $56; + $58 = $49 + $51; + HEAPF32[$48>>2] = $58; + $59 = +HEAPF32[$55>>2]; + $60 = $54 + $59; + HEAPF32[$53>>2] = $60; + $61 = $11 * $52; + $62 = $14 * $57; + $63 = $61 - $62; + HEAPF32[$50>>2] = $63; + $64 = $11 * $57; + $65 = $14 * $52; + $66 = $65 + $64; + HEAPF32[$55>>2] = $66; + $67 = ((($$0129132)) + -16|0); + $68 = +HEAPF32[$67>>2]; + $69 = ((($$0133)) + -16|0); + $70 = +HEAPF32[$69>>2]; + $71 = $68 - $70; + $72 = ((($$0129132)) + -20|0); + $73 = +HEAPF32[$72>>2]; + $74 = ((($$0133)) + -20|0); + $75 = +HEAPF32[$74>>2]; + $76 = $73 - $75; + $77 = $68 + $70; + HEAPF32[$67>>2] = $77; + $78 = +HEAPF32[$74>>2]; + $79 = $73 + $78; + HEAPF32[$72>>2] = $79; + $80 = $17 * $71; + $81 = $20 * $76; + $82 = $80 - $81; + HEAPF32[$69>>2] = $82; + $83 = $17 * $76; + $84 = $20 * $71; + $85 = $84 + $83; + HEAPF32[$74>>2] = $85; + $86 = ((($$0129132)) + -24|0); + $87 = +HEAPF32[$86>>2]; + $88 = ((($$0133)) + -24|0); + $89 = +HEAPF32[$88>>2]; + $90 = $87 - $89; + $91 = ((($$0129132)) + -28|0); + $92 = +HEAPF32[$91>>2]; + $93 = ((($$0133)) + -28|0); + $94 = +HEAPF32[$93>>2]; + $95 = $92 - $94; + $96 = $87 + $89; + HEAPF32[$86>>2] = $96; + $97 = +HEAPF32[$93>>2]; + $98 = $92 + $97; + HEAPF32[$91>>2] = $98; + $99 = $23 * $90; + $100 = $26 * $95; + $101 = $99 - $100; + HEAPF32[$88>>2] = $101; + $102 = $23 * $95; + $103 = $26 * $90; + $104 = $103 + $102; + HEAPF32[$93>>2] = $104; + $105 = (($$0129132) + ($30<<2)|0); + $106 = (($$0133) + ($30<<2)|0); + $107 = (($$0130131) + -1)|0; + $108 = ($$0130131|0)>(1); + if ($108) { + $$0129132 = $105;$$0130131 = $107;$$0133 = $106; + } else { + break; + } + } + return; +} +function _imdct_step3_inner_s_loop_ld654($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$086 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0.0, $14 = 0, $15 = 0.0, $16 = 0.0, $17 = 0, $18 = 0.0, $19 = 0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0, $25 = 0.0, $26 = 0, $27 = 0.0, $28 = 0.0; + var $29 = 0, $30 = 0.0, $31 = 0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0.0, $36 = 0.0, $37 = 0.0, $38 = 0.0, $39 = 0.0, $40 = 0, $41 = 0.0, $42 = 0, $43 = 0.0, $44 = 0.0, $45 = 0, $46 = 0.0, $47 = 0, $48 = 0.0; + var $49 = 0.0, $5 = 0, $50 = 0.0, $51 = 0.0, $52 = 0, $53 = 0.0, $54 = 0, $55 = 0.0, $56 = 0.0, $57 = 0, $58 = 0.0, $59 = 0, $6 = 0, $60 = 0.0, $61 = 0.0, $62 = 0.0, $63 = 0.0, $64 = 0.0, $65 = 0.0, $66 = 0.0; + var $67 = 0.0, $68 = 0, $69 = 0, $7 = 0.0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $5 = $4 >> 3; + $6 = (($3) + ($5<<2)|0); + $7 = +HEAPF32[$6>>2]; + $8 = (($1) + ($2<<2)|0); + $9 = $0 << 4; + $10 = (0 - ($9))|0; + $11 = (($8) + ($10<<2)|0); + $12 = ($10|0)<(0); + if ($12) { + $$086 = $8; + } else { + return; + } + while(1) { + $13 = +HEAPF32[$$086>>2]; + $14 = ((($$086)) + -32|0); + $15 = +HEAPF32[$14>>2]; + $16 = $13 - $15; + $17 = ((($$086)) + -4|0); + $18 = +HEAPF32[$17>>2]; + $19 = ((($$086)) + -36|0); + $20 = +HEAPF32[$19>>2]; + $21 = $18 - $20; + $22 = $13 + $15; + HEAPF32[$$086>>2] = $22; + $23 = $18 + $20; + HEAPF32[$17>>2] = $23; + HEAPF32[$14>>2] = $16; + HEAPF32[$19>>2] = $21; + $24 = ((($$086)) + -8|0); + $25 = +HEAPF32[$24>>2]; + $26 = ((($$086)) + -40|0); + $27 = +HEAPF32[$26>>2]; + $28 = $25 - $27; + $29 = ((($$086)) + -12|0); + $30 = +HEAPF32[$29>>2]; + $31 = ((($$086)) + -44|0); + $32 = +HEAPF32[$31>>2]; + $33 = $30 - $32; + $34 = $25 + $27; + HEAPF32[$24>>2] = $34; + $35 = $30 + $32; + HEAPF32[$29>>2] = $35; + $36 = $28 + $33; + $37 = $7 * $36; + HEAPF32[$26>>2] = $37; + $38 = $33 - $28; + $39 = $7 * $38; + HEAPF32[$31>>2] = $39; + $40 = ((($$086)) + -48|0); + $41 = +HEAPF32[$40>>2]; + $42 = ((($$086)) + -16|0); + $43 = +HEAPF32[$42>>2]; + $44 = $41 - $43; + $45 = ((($$086)) + -20|0); + $46 = +HEAPF32[$45>>2]; + $47 = ((($$086)) + -52|0); + $48 = +HEAPF32[$47>>2]; + $49 = $46 - $48; + $50 = $41 + $43; + HEAPF32[$42>>2] = $50; + $51 = $46 + $48; + HEAPF32[$45>>2] = $51; + HEAPF32[$40>>2] = $49; + HEAPF32[$47>>2] = $44; + $52 = ((($$086)) + -56|0); + $53 = +HEAPF32[$52>>2]; + $54 = ((($$086)) + -24|0); + $55 = +HEAPF32[$54>>2]; + $56 = $53 - $55; + $57 = ((($$086)) + -28|0); + $58 = +HEAPF32[$57>>2]; + $59 = ((($$086)) + -60|0); + $60 = +HEAPF32[$59>>2]; + $61 = $58 - $60; + $62 = $53 + $55; + HEAPF32[$54>>2] = $62; + $63 = $58 + $60; + HEAPF32[$57>>2] = $63; + $64 = $56 + $61; + $65 = $7 * $64; + HEAPF32[$52>>2] = $65; + $66 = $56 - $61; + $67 = $7 * $66; + HEAPF32[$59>>2] = $67; + _iter_54($$086); + _iter_54($14); + $68 = ((($$086)) + -64|0); + $69 = ($68>>>0)>($11>>>0); + if ($69) { + $$086 = $68; + } else { + break; + } + } + return; +} +function _iter_54($0) { + $0 = $0|0; + var $1 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0, $15 = 0.0, $16 = 0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $2 = 0, $20 = 0.0, $21 = 0, $22 = 0.0, $23 = 0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0.0; + var $28 = 0.0, $29 = 0.0, $3 = 0.0, $30 = 0.0, $31 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $1 = +HEAPF32[$0>>2]; + $2 = ((($0)) + -16|0); + $3 = +HEAPF32[$2>>2]; + $4 = $1 - $3; + $5 = $1 + $3; + $6 = ((($0)) + -8|0); + $7 = +HEAPF32[$6>>2]; + $8 = ((($0)) + -24|0); + $9 = +HEAPF32[$8>>2]; + $10 = $7 + $9; + $11 = $7 - $9; + $12 = $5 + $10; + HEAPF32[$0>>2] = $12; + $13 = $5 - $10; + HEAPF32[$6>>2] = $13; + $14 = ((($0)) + -12|0); + $15 = +HEAPF32[$14>>2]; + $16 = ((($0)) + -28|0); + $17 = +HEAPF32[$16>>2]; + $18 = $15 - $17; + $19 = $4 + $18; + HEAPF32[$2>>2] = $19; + $20 = $4 - $18; + HEAPF32[$8>>2] = $20; + $21 = ((($0)) + -4|0); + $22 = +HEAPF32[$21>>2]; + $23 = ((($0)) + -20|0); + $24 = +HEAPF32[$23>>2]; + $25 = $22 - $24; + $26 = $22 + $24; + $27 = $15 + $17; + $28 = $27 + $26; + HEAPF32[$21>>2] = $28; + $29 = $26 - $27; + HEAPF32[$14>>2] = $29; + $30 = $25 - $11; + HEAPF32[$23>>2] = $30; + $31 = $11 + $25; + HEAPF32[$16>>2] = $31; + return; +} +function _draw_line($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + var $$ = 0, $$0$pn = 0, $$05368 = 0, $$056 = 0, $$05666 = 0, $$05669 = 0, $$1 = 0, $$155 = 0, $$155$sink67 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0.0, $19 = 0, $20 = 0.0; + var $21 = 0.0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0.0, $29 = 0, $30 = 0.0, $31 = 0.0, $32 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $ispos = 0, $ispos58 = 0, $neg = 0, $neg59 = 0; + var label = 0, sp = 0; + sp = STACKTOP; + $6 = (($4) - ($2))|0; + $7 = (($3) - ($1))|0; + $ispos = ($6|0)>(-1); + $neg = (0 - ($6))|0; + $8 = $ispos ? $6 : $neg; + $9 = (($6|0) / ($7|0))&-1; + $10 = $6 >> 31; + $11 = $10 | 1; + $ispos58 = ($9|0)>(-1); + $neg59 = (0 - ($9))|0; + $12 = $ispos58 ? $9 : $neg59; + $13 = Math_imul($12, $7)|0; + $14 = (($8) - ($13))|0; + $15 = ($3|0)>($5|0); + $$ = $15 ? $5 : $3; + $16 = ($$|0)>($1|0); + if (!($16)) { + return; + } + $17 = (3676 + ($2<<2)|0); + $18 = +HEAPF32[$17>>2]; + $19 = (($0) + ($1<<2)|0); + $20 = +HEAPF32[$19>>2]; + $21 = $18 * $20; + HEAPF32[$19>>2] = $21; + $$05666 = (($1) + 1)|0; + $22 = ($$05666|0)<($$|0); + if ($22) { + $$05368 = 0;$$05669 = $$05666;$$155$sink67 = $2; + } else { + return; + } + while(1) { + $23 = (($$05368) + ($14))|0; + $24 = ($23|0)<($7|0); + $25 = $24 ? 0 : $11; + $26 = $24 ? 0 : $7; + $$1 = (($23) - ($26))|0; + $$0$pn = (($$155$sink67) + ($9))|0; + $$155 = (($$0$pn) + ($25))|0; + $27 = (3676 + ($$155<<2)|0); + $28 = +HEAPF32[$27>>2]; + $29 = (($0) + ($$05669<<2)|0); + $30 = +HEAPF32[$29>>2]; + $31 = $28 * $30; + HEAPF32[$29>>2] = $31; + $$056 = (($$05669) + 1)|0; + $32 = ($$056|0)<($$|0); + if ($32) { + $$05368 = $$1;$$05669 = $$056;$$155$sink67 = $$155; + } else { + break; + } + } + return; +} +function _make_block_array($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$01617 = 0, $$018 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $exitcond = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ($1|0)>(0); + if (!($3)) { + return ($0|0); + } + $4 = (($0) + ($1<<2)|0); + $$01617 = 0;$$018 = $4; + while(1) { + $5 = (($0) + ($$01617<<2)|0); + HEAP32[$5>>2] = $$018; + $6 = (($$018) + ($2)|0); + $7 = (($$01617) + 1)|0; + $exitcond = ($7|0)==($1|0); + if ($exitcond) { + break; + } else { + $$01617 = $7;$$018 = $6; + } + } + return ($0|0); +} +function _codebook_decode_deinterleave_repeat($0,$1,$2,$3,$4,$5,$6,$7) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + $6 = $6|0; + $7 = $7|0; + var $$ = 0, $$$1115 = 0, $$$3117 = 0, $$0100145 = 0, $$0102$lcssa = 0, $$0102144 = 0, $$0105133 = 0.0, $$0107143 = 0, $$0112132 = 0, $$0114$lcssa = 0, $$0114142 = 0, $$1103134 = 0, $$1108 = 0, $$1111 = 0, $$1113137 = 0, $$1115131 = 0, $$121 = 0, $$122 = 0, $$123 = 0, $$2 = 0; + var $$3117136 = 0, $$3138 = 0, $$5 = 0, $$5119 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; + var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; + var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0; + var $66 = 0.0, $67 = 0.0, $68 = 0, $69 = 0, $70 = 0, $71 = 0, $72 = 0.0, $73 = 0.0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0.0; + var $85 = 0.0, $86 = 0, $87 = 0.0, $88 = 0.0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $exitcond = 0, $exitcond150 = 0, label = 0, sp = 0; + sp = STACKTOP; + $8 = HEAP32[$4>>2]|0; + $9 = HEAP32[$5>>2]|0; + $10 = HEAP32[$1>>2]|0; + $11 = ((($1)) + 21|0); + $12 = HEAP8[$11>>0]|0; + $13 = ($12<<24>>24)==(0); + if ($13) { + _error($0,21); + $$2 = 0; + return ($$2|0); + } + $14 = ($7|0)>(0); + L5: do { + if ($14) { + $15 = ((($0)) + 1396|0); + $16 = ((($0)) + 1392|0); + $17 = ((($1)) + 8|0); + $18 = ((($1)) + 23|0); + $19 = Math_imul($6, $3)|0; + $20 = ((($1)) + 22|0); + $21 = ((($1)) + 28|0); + $22 = ((($1)) + 28|0); + $23 = ((($1)) + 2092|0); + $$0100145 = $7;$$0102144 = $8;$$0107143 = $10;$$0114142 = $9; + while(1) { + $24 = HEAP32[$15>>2]|0; + $25 = ($24|0)<(10); + if ($25) { + _prep_huffman($0); + } + $26 = HEAP32[$16>>2]|0; + $27 = $26 & 1023; + $28 = (((($1)) + 36|0) + ($27<<1)|0); + $29 = HEAP16[$28>>1]|0; + $30 = $29 << 16 >> 16; + $31 = ($29<<16>>16)>(-1); + if ($31) { + $32 = HEAP32[$17>>2]|0; + $33 = (($32) + ($30)|0); + $34 = HEAP8[$33>>0]|0; + $35 = $34&255; + $36 = $26 >>> $35; + HEAP32[$16>>2] = $36; + $37 = HEAP32[$15>>2]|0; + $38 = (($37) - ($35))|0; + $39 = ($38|0)<(0); + $$ = $39 ? 0 : $38; + $$121 = $39 ? -1 : $30; + HEAP32[$15>>2] = $$; + $$1111 = $$121; + } else { + $40 = (_codebook_decode_scalar_raw($0,$1)|0); + $$1111 = $40; + } + $41 = HEAP8[$18>>0]|0; + $42 = ($41<<24>>24)==(0); + if (!($42)) { + $43 = HEAP32[$23>>2]|0; + $44 = ($$1111|0)<($43|0); + if (!($44)) { + label = 12; + break; + } + } + $45 = ($$1111|0)<(0); + if ($45) { + break; + } + $52 = Math_imul($$0114142, $3)|0; + $53 = (($$0107143) + ($52))|0; + $54 = (($53) + ($$0102144))|0; + $55 = ($54|0)>($19|0); + $56 = (($19) - ($52))|0; + $57 = (($56) + ($$0102144))|0; + $$1108 = $55 ? $57 : $$0107143; + $58 = HEAP32[$1>>2]|0; + $59 = Math_imul($58, $$1111)|0; + $60 = HEAP8[$20>>0]|0; + $61 = ($60<<24>>24)==(0); + $62 = ($$1108|0)>(0); + if ($61) { + if ($62) { + $$1113137 = 0;$$3117136 = $$0114142;$$3138 = $$0102144; + while(1) { + $78 = (($2) + ($$3138<<2)|0); + $79 = HEAP32[$78>>2]|0; + $80 = ($79|0)==(0|0); + if (!($80)) { + $81 = HEAP32[$21>>2]|0; + $82 = (($$1113137) + ($59))|0; + $83 = (($81) + ($82<<2)|0); + $84 = +HEAPF32[$83>>2]; + $85 = $84 + 0.0; + $86 = (($79) + ($$3117136<<2)|0); + $87 = +HEAPF32[$86>>2]; + $88 = $87 + $85; + HEAPF32[$86>>2] = $88; + } + $89 = (($$3138) + 1)|0; + $90 = ($89|0)==($3|0); + $91 = $90&1; + $$$3117 = (($91) + ($$3117136))|0; + $$123 = $90 ? 0 : $89; + $92 = (($$1113137) + 1)|0; + $exitcond150 = ($92|0)==($$1108|0); + if ($exitcond150) { + $$5 = $$123;$$5119 = $$$3117; + break; + } else { + $$1113137 = $92;$$3117136 = $$$3117;$$3138 = $$123; + } + } + } else { + $$5 = $$0102144;$$5119 = $$0114142; + } + } else { + if ($62) { + $63 = HEAP32[$22>>2]|0; + $$0105133 = 0.0;$$0112132 = 0;$$1103134 = $$0102144;$$1115131 = $$0114142; + while(1) { + $64 = (($$0112132) + ($59))|0; + $65 = (($63) + ($64<<2)|0); + $66 = +HEAPF32[$65>>2]; + $67 = $$0105133 + $66; + $68 = (($2) + ($$1103134<<2)|0); + $69 = HEAP32[$68>>2]|0; + $70 = ($69|0)==(0|0); + $71 = (($69) + ($$1115131<<2)|0); + if (!($70)) { + $72 = +HEAPF32[$71>>2]; + $73 = $67 + $72; + HEAPF32[$71>>2] = $73; + } + $74 = (($$1103134) + 1)|0; + $75 = ($74|0)==($3|0); + $76 = $75&1; + $$$1115 = (($76) + ($$1115131))|0; + $$122 = $75 ? 0 : $74; + $77 = (($$0112132) + 1)|0; + $exitcond = ($77|0)==($$1108|0); + if ($exitcond) { + $$5 = $$122;$$5119 = $$$1115; + break; + } else { + $$0105133 = $67;$$0112132 = $77;$$1103134 = $$122;$$1115131 = $$$1115; + } + } + } else { + $$5 = $$0102144;$$5119 = $$0114142; + } + } + $93 = (($$0100145) - ($$1108))|0; + $94 = ($93|0)>(0); + if ($94) { + $$0100145 = $93;$$0102144 = $$5;$$0107143 = $$1108;$$0114142 = $$5119; + } else { + $$0102$lcssa = $$5;$$0114$lcssa = $$5119; + break L5; + } + } + if ((label|0) == 12) { + ___assert_fail((12624|0),(12359|0),1436,(12660|0)); + // unreachable; + } + $46 = ((($0)) + 1376|0); + $47 = HEAP8[$46>>0]|0; + $48 = ($47<<24>>24)==(0); + if ($48) { + $49 = ((($0)) + 1384|0); + $50 = HEAP32[$49>>2]|0; + $51 = ($50|0)==(0); + if (!($51)) { + $$2 = 0; + return ($$2|0); + } + } + _error($0,21); + $$2 = 0; + return ($$2|0); + } else { + $$0102$lcssa = $8;$$0114$lcssa = $9; + } + } while(0); + HEAP32[$4>>2] = $$0102$lcssa; + HEAP32[$5>>2] = $$0114$lcssa; + $$2 = 1; + return ($$2|0); +} +function _residue_decode($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + var $$03237 = 0, $$03440 = 0, $$1 = 0, $$13341 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; + var $26 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $6 = ($5|0)==(0); + if ($6) { + $8 = HEAP32[$1>>2]|0; + $9 = (($4|0) / ($8|0))&-1; + $10 = (($2) + ($3<<2)|0); + $11 = ($9|0)>(0); + if (!($11)) { + $$1 = 1; + return ($$1|0); + } + $12 = (($4) - ($3))|0; + $$03237 = 0; + while(1) { + $15 = (($10) + ($$03237<<2)|0); + $16 = (($12) - ($$03237))|0; + $17 = (_codebook_decode_step($0,$1,$15,$16,$9)|0); + $18 = ($17|0)==(0); + $14 = (($$03237) + 1)|0; + if ($18) { + $$1 = 0; + label = 10; + break; + } + $13 = ($14|0)<($9|0); + if ($13) { + $$03237 = $14; + } else { + $$1 = 1; + label = 10; + break; + } + } + if ((label|0) == 10) { + return ($$1|0); + } + } else { + $7 = ($4|0)>(0); + if (!($7)) { + $$1 = 1; + return ($$1|0); + } + $$03440 = $3;$$13341 = 0; + while(1) { + $19 = (($2) + ($$03440<<2)|0); + $20 = (($4) - ($$13341))|0; + $21 = (_codebook_decode($0,$1,$19,$20)|0); + $22 = ($21|0)==(0); + if ($22) { + $$1 = 0; + label = 10; + break; + } + $23 = HEAP32[$1>>2]|0; + $24 = (($23) + ($$13341))|0; + $25 = (($23) + ($$03440))|0; + $26 = ($24|0)<($4|0); + if ($26) { + $$03440 = $25;$$13341 = $24; + } else { + $$1 = 1; + label = 10; + break; + } + } + if ((label|0) == 10) { + return ($$1|0); + } + } + return (0)|0; +} +function _codebook_decode_step($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$ = 0, $$0 = 0, $$028$ = 0.0, $$02832 = 0.0, $$02931 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0.0, $19 = 0.0, $20 = 0, $21 = 0, $22 = 0.0, $23 = 0.0, $24 = 0; + var $25 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $5 = (_codebook_decode_start($0,$1)|0); + $6 = ($5|0)<(0); + if ($6) { + $$0 = 0; + return ($$0|0); + } + $7 = HEAP32[$1>>2]|0; + $8 = ($7|0)<($3|0); + $$ = $8 ? $7 : $3; + $9 = Math_imul($7, $5)|0; + $10 = ($$|0)>(0); + if (!($10)) { + $$0 = 1; + return ($$0|0); + } + $11 = ((($1)) + 28|0); + $12 = HEAP32[$11>>2]|0; + $13 = ((($1)) + 22|0); + $14 = HEAP8[$13>>0]|0; + $15 = ($14<<24>>24)==(0); + $$02832 = 0.0;$$02931 = 0; + while(1) { + $16 = (($$02931) + ($9))|0; + $17 = (($12) + ($16<<2)|0); + $18 = +HEAPF32[$17>>2]; + $19 = $$02832 + $18; + $20 = Math_imul($$02931, $4)|0; + $21 = (($2) + ($20<<2)|0); + $22 = +HEAPF32[$21>>2]; + $23 = $22 + $19; + HEAPF32[$21>>2] = $23; + $$028$ = $15 ? $$02832 : $19; + $24 = (($$02931) + 1)|0; + $25 = ($24|0)<($$|0); + if ($25) { + $$02832 = $$028$;$$02931 = $24; + } else { + $$0 = 1; + break; + } + } + return ($$0|0); +} +function _codebook_decode($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$ = 0, $$0 = 0, $$04046 = 0.0, $$04145 = 0, $$144 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0.0, $21 = 0.0, $22 = 0, $23 = 0.0, $24 = 0.0; + var $25 = 0.0, $26 = 0.0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0.0, $32 = 0.0, $33 = 0, $34 = 0.0, $35 = 0.0, $36 = 0, $37 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; + var sp = 0; + sp = STACKTOP; + $4 = (_codebook_decode_start($0,$1)|0); + $5 = ($4|0)<(0); + if ($5) { + $$0 = 0; + return ($$0|0); + } + $6 = HEAP32[$1>>2]|0; + $7 = ($6|0)<($3|0); + $$ = $7 ? $6 : $3; + $8 = Math_imul($6, $4)|0; + $9 = ((($1)) + 22|0); + $10 = HEAP8[$9>>0]|0; + $11 = ($10<<24>>24)==(0); + $12 = ($$|0)>(0); + if ($11) { + if (!($12)) { + $$0 = 1; + return ($$0|0); + } + $16 = ((($1)) + 28|0); + $17 = HEAP32[$16>>2]|0; + $$144 = 0; + while(1) { + $29 = (($$144) + ($8))|0; + $30 = (($17) + ($29<<2)|0); + $31 = +HEAPF32[$30>>2]; + $32 = $31 + 0.0; + $33 = (($2) + ($$144<<2)|0); + $34 = +HEAPF32[$33>>2]; + $35 = $34 + $32; + HEAPF32[$33>>2] = $35; + $36 = (($$144) + 1)|0; + $37 = ($36|0)<($$|0); + if ($37) { + $$144 = $36; + } else { + $$0 = 1; + break; + } + } + return ($$0|0); + } else { + if (!($12)) { + $$0 = 1; + return ($$0|0); + } + $13 = ((($1)) + 28|0); + $14 = HEAP32[$13>>2]|0; + $15 = ((($1)) + 12|0); + $$04046 = 0.0;$$04145 = 0; + while(1) { + $18 = (($$04145) + ($8))|0; + $19 = (($14) + ($18<<2)|0); + $20 = +HEAPF32[$19>>2]; + $21 = $$04046 + $20; + $22 = (($2) + ($$04145<<2)|0); + $23 = +HEAPF32[$22>>2]; + $24 = $23 + $21; + HEAPF32[$22>>2] = $24; + $25 = +HEAPF32[$15>>2]; + $26 = $21 + $25; + $27 = (($$04145) + 1)|0; + $28 = ($27|0)<($$|0); + if ($28) { + $$04046 = $26;$$04145 = $27; + } else { + $$0 = 1; + break; + } + } + return ($$0|0); + } + return (0)|0; +} +function _codebook_decode_start($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$ = 0, $$0 = 0, $$1 = 0, $$30 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; + var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; + var label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($1)) + 21|0); + $3 = HEAP8[$2>>0]|0; + $4 = ($3<<24>>24)==(0); + if ($4) { + _error($0,21); + $$0 = -1; + return ($$0|0); + } + $5 = ((($0)) + 1396|0); + $6 = HEAP32[$5>>2]|0; + $7 = ($6|0)<(10); + if ($7) { + _prep_huffman($0); + } + $8 = ((($0)) + 1392|0); + $9 = HEAP32[$8>>2]|0; + $10 = $9 & 1023; + $11 = (((($1)) + 36|0) + ($10<<1)|0); + $12 = HEAP16[$11>>1]|0; + $13 = $12 << 16 >> 16; + $14 = ($12<<16>>16)>(-1); + if ($14) { + $15 = ((($1)) + 8|0); + $16 = HEAP32[$15>>2]|0; + $17 = (($16) + ($13)|0); + $18 = HEAP8[$17>>0]|0; + $19 = $18&255; + $20 = $9 >>> $19; + HEAP32[$8>>2] = $20; + $21 = HEAP32[$5>>2]|0; + $22 = (($21) - ($19))|0; + $23 = ($22|0)<(0); + $$ = $23 ? 0 : $22; + $$30 = $23 ? -1 : $13; + HEAP32[$5>>2] = $$; + $$1 = $$30; + } else { + $24 = (_codebook_decode_scalar_raw($0,$1)|0); + $$1 = $24; + } + $25 = ((($1)) + 23|0); + $26 = HEAP8[$25>>0]|0; + $27 = ($26<<24>>24)==(0); + if (!($27)) { + $28 = ((($1)) + 2092|0); + $29 = HEAP32[$28>>2]|0; + $30 = ($$1|0)<($29|0); + if (!($30)) { + ___assert_fail((12580|0),(12359|0),1342,(12602|0)); + // unreachable; + } + } + $31 = ($$1|0)<(0); + if (!($31)) { + $$0 = $$1; + return ($$0|0); + } + $32 = ((($0)) + 1376|0); + $33 = HEAP8[$32>>0]|0; + $34 = ($33<<24>>24)==(0); + if ($34) { + $35 = ((($0)) + 1384|0); + $36 = HEAP32[$35>>2]|0; + $37 = ($36|0)==(0); + if (!($37)) { + $$0 = $$1; + return ($$0|0); + } + } + _error($0,21); + $$0 = $$1; + return ($$0|0); +} +function _bit_reverse($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0; + var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = $0 >>> 1; + $2 = $1 & 1431655765; + $3 = $0 << 1; + $4 = $3 & -1431655766; + $5 = $2 | $4; + $6 = $5 >>> 2; + $7 = $6 & 858993459; + $8 = $5 << 2; + $9 = $8 & -858993460; + $10 = $7 | $9; + $11 = $10 >>> 4; + $12 = $11 & 252645135; + $13 = $10 << 4; + $14 = $13 & -252645136; + $15 = $12 | $14; + $16 = $15 >>> 8; + $17 = $16 & 16711935; + $18 = $15 << 8; + $19 = $18 & -16711936; + $20 = $17 | $19; + $21 = $20 >>> 16; + $22 = $20 << 16; + $23 = $21 | $22; + return ($23|0); +} +function _maybe_start_packet($0) { + $0 = $0|0; + var $$1 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $3 = 0, $4 = 0, $5 = 0; + var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 1380|0); + $2 = HEAP32[$1>>2]|0; + $3 = ($2|0)==(-1); + if ($3) { + $4 = (_get8($0)|0); + $5 = ((($0)) + 96|0); + $6 = HEAP32[$5>>2]|0; + $7 = ($6|0)==(0); + if (!($7)) { + $$1 = 0; + return ($$1|0); + } + $8 = ($4<<24>>24)==(79); + if (!($8)) { + _error($0,30); + $$1 = 0; + return ($$1|0); + } + $9 = (_get8($0)|0); + $10 = ($9<<24>>24)==(103); + if (!($10)) { + _error($0,30); + $$1 = 0; + return ($$1|0); + } + $11 = (_get8($0)|0); + $12 = ($11<<24>>24)==(103); + if (!($12)) { + _error($0,30); + $$1 = 0; + return ($$1|0); + } + $13 = (_get8($0)|0); + $14 = ($13<<24>>24)==(83); + if (!($14)) { + _error($0,30); + $$1 = 0; + return ($$1|0); + } + $15 = (_start_page_no_capturepattern($0)|0); + $16 = ($15|0)==(0); + if ($16) { + $$1 = 0; + return ($$1|0); + } + $17 = ((($0)) + 1375|0); + $18 = HEAP8[$17>>0]|0; + $19 = $18 & 1; + $20 = ($19<<24>>24)==(0); + if (!($20)) { + $21 = ((($0)) + 1384|0); + HEAP32[$21>>2] = 0; + $22 = ((($0)) + 1376|0); + HEAP8[$22>>0] = 0; + _error($0,32); + $$1 = 0; + return ($$1|0); + } + } + $23 = (_start_packet($0)|0); + $$1 = $23; + return ($$1|0); +} +function _get8_packet($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (_get8_packet_raw($0)|0); + $2 = ((($0)) + 1396|0); + HEAP32[$2>>2] = 0; + return ($1|0); +} +function _start_packet($0) { + $0 = $0|0; + var $$0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 1380|0); + $2 = ((($0)) + 1375|0); + while(1) { + $3 = HEAP32[$1>>2]|0; + $4 = ($3|0)==(-1); + if (!($4)) { + label = 6; + break; + } + $5 = (_start_page($0)|0); + $6 = ($5|0)==(0); + if ($6) { + $$0 = 0; + label = 7; + break; + } + $7 = HEAP8[$2>>0]|0; + $8 = $7 & 1; + $9 = ($8<<24>>24)==(0); + if (!($9)) { + label = 5; + break; + } + } + if ((label|0) == 5) { + _error($0,32); + $$0 = 0; + return ($$0|0); + } + else if ((label|0) == 6) { + $10 = ((($0)) + 1384|0); + HEAP32[$10>>2] = 0; + $11 = ((($0)) + 1396|0); + HEAP32[$11>>2] = 0; + $12 = ((($0)) + 1400|0); + HEAP32[$12>>2] = 0; + $13 = ((($0)) + 1376|0); + HEAP8[$13>>0] = 0; + $$0 = 1; + return ($$0|0); + } + else if ((label|0) == 7) { + return ($$0|0); + } + return (0)|0; +} +function _compute_stereo_samples($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$$076 = 0, $$0 = 0, $$07386 = 0, $$07488 = 0, $$07593 = 0, $$07692 = 0, $$184 = 0, $$283 = 0, $$390 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0; + var $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0.0, $31 = 0, $32 = 0, $33 = 0.0, $34 = 0.0, $35 = 0, $36 = 0, $37 = 0.0, $38 = 0.0, $39 = 0, $40 = 0; + var $41 = 0, $42 = 0, $43 = 0.0, $44 = 0, $45 = 0, $46 = 0.0, $47 = 0.0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0.0, $53 = 0, $54 = 0, $55 = 0, $56 = 0.0, $57 = 0.0, $58 = 0, $59 = 0; + var $6 = 0, $60 = 0, $61 = 0, $62 = 0.0, $63 = 0.0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $8 = 0, $9 = 0; + var $exitcond = 0, $trunc = 0, $trunc$clear = 0, dest = 0, label = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0); + $5 = sp; + $6 = ($4|0)>(0); + if (!($6)) { + STACKTOP = sp;return; + } + $7 = ($1|0)>(0); + $$07593 = 0;$$07692 = 16; + while(1) { + $8 = $$07593 << 1; + dest=$5; stop=dest+128|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + $9 = (($$07593) + ($$07692))|0; + $10 = ($9|0)>($4|0); + $11 = (($4) - ($$07593))|0; + $$$076 = $10 ? $11 : $$07692; + L6: do { + if ($7) { + $12 = ($$$076|0)>(0); + $13 = (($$07593) + ($3))|0; + $14 = ($$$076|0)>(0); + $15 = (($$07593) + ($3))|0; + $16 = ($$$076|0)>(0); + $17 = (($$07593) + ($3))|0; + $$07488 = 0; + while(1) { + $20 = ((12818 + (($1*6)|0)|0) + ($$07488)|0); + $21 = HEAP8[$20>>0]|0; + $trunc = $21 & 6; + $trunc$clear = $trunc & 7; + switch ($trunc$clear<<24>>24) { + case 6: { + if ($12) { + $26 = (($2) + ($$07488<<2)|0); + $27 = HEAP32[$26>>2]|0; + $$07386 = 0; + while(1) { + $28 = (($13) + ($$07386))|0; + $29 = (($27) + ($28<<2)|0); + $30 = +HEAPF32[$29>>2]; + $31 = $$07386 << 1; + $32 = (($5) + ($31<<2)|0); + $33 = +HEAPF32[$32>>2]; + $34 = $30 + $33; + HEAPF32[$32>>2] = $34; + $35 = $31 | 1; + $36 = (($5) + ($35<<2)|0); + $37 = +HEAPF32[$36>>2]; + $38 = $30 + $37; + HEAPF32[$36>>2] = $38; + $39 = (($$07386) + 1)|0; + $40 = ($39|0)<($$$076|0); + if ($40) { + $$07386 = $39; + } else { + break; + } + } + } + break; + } + case 2: { + if ($14) { + $24 = (($2) + ($$07488<<2)|0); + $25 = HEAP32[$24>>2]|0; + $$184 = 0; + while(1) { + $41 = (($15) + ($$184))|0; + $42 = (($25) + ($41<<2)|0); + $43 = +HEAPF32[$42>>2]; + $44 = $$184 << 1; + $45 = (($5) + ($44<<2)|0); + $46 = +HEAPF32[$45>>2]; + $47 = $43 + $46; + HEAPF32[$45>>2] = $47; + $48 = (($$184) + 1)|0; + $49 = ($48|0)<($$$076|0); + if ($49) { + $$184 = $48; + } else { + break; + } + } + } + break; + } + case 4: { + if ($16) { + $22 = (($2) + ($$07488<<2)|0); + $23 = HEAP32[$22>>2]|0; + $$283 = 0; + while(1) { + $50 = (($17) + ($$283))|0; + $51 = (($23) + ($50<<2)|0); + $52 = +HEAPF32[$51>>2]; + $53 = $$283 << 1; + $54 = $53 | 1; + $55 = (($5) + ($54<<2)|0); + $56 = +HEAPF32[$55>>2]; + $57 = $52 + $56; + HEAPF32[$55>>2] = $57; + $58 = (($$283) + 1)|0; + $59 = ($58|0)<($$$076|0); + if ($59) { + $$283 = $58; + } else { + break; + } + } + } + break; + } + default: { + } + } + $60 = (($$07488) + 1)|0; + $exitcond = ($60|0)==($1|0); + if ($exitcond) { + break L6; + } else { + $$07488 = $60; + } + } + } + } while(0); + $18 = $$$076 << 1; + $19 = ($18|0)>(0); + if ($19) { + $$390 = 0; + while(1) { + $61 = (($5) + ($$390<<2)|0); + $62 = +HEAPF32[$61>>2]; + $63 = $62 + 384.0; + $64 = (HEAPF32[tempDoublePtr>>2]=$63,HEAP32[tempDoublePtr>>2]|0); + $65 = (($64) + -1136623616)|0; + $66 = ($65>>>0)>(65535); + $67 = ($64|0)<(1136656384); + $68 = $67 ? 32768 : 32767; + $$0 = $66 ? $68 : $64; + $69 = $$0&65535; + $70 = (($$390) + ($8))|0; + $71 = (($0) + ($70<<1)|0); + HEAP16[$71>>1] = $69; + $72 = (($$390) + 1)|0; + $73 = ($72|0)<($18|0); + if ($73) { + $$390 = $72; + } else { + break; + } + } + } + $74 = (($$07593) + 16)|0; + $75 = ($74|0)<($4|0); + if ($75) { + $$07593 = $74;$$07692 = $$$076; + } else { + break; + } + } + STACKTOP = sp;return; +} +function _stb_vorbis_get_file_offset($0) { + $0 = $0|0; + var $$0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 48|0); + $2 = HEAP8[$1>>0]|0; + $3 = ($2<<24>>24)==(0); + if (!($3)) { + $$0 = 0; + return ($$0|0); + } + $4 = ((($0)) + 32|0); + $5 = HEAP32[$4>>2]|0; + $6 = ($5|0)==(0|0); + if ($6) { + $11 = ((($0)) + 20|0); + $12 = HEAP32[$11>>2]|0; + $13 = (_ftell($12)|0); + $14 = ((($0)) + 24|0); + $15 = HEAP32[$14>>2]|0; + $16 = (($13) - ($15))|0; + $$0 = $16; + return ($$0|0); + } else { + $7 = ((($0)) + 36|0); + $8 = HEAP32[$7>>2]|0; + $9 = $5; + $10 = (($9) - ($8))|0; + $$0 = $10; + return ($$0|0); + } + return (0)|0; +} +function _set_file_offset($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $3 = 0; + var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond1 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($0)) + 48|0); + $3 = HEAP8[$2>>0]|0; + $4 = ($3<<24>>24)==(0); + if (!($4)) { + return; + } + $5 = ((($0)) + 96|0); + HEAP32[$5>>2] = 0; + $6 = ((($0)) + 32|0); + $7 = HEAP32[$6>>2]|0; + $8 = ($7|0)==(0|0); + if (!($8)) { + $9 = ((($0)) + 36|0); + $10 = HEAP32[$9>>2]|0; + $11 = (($10) + ($1)|0); + $12 = ((($0)) + 40|0); + $13 = HEAP32[$12>>2]|0; + $14 = ($11>>>0)>=($13>>>0); + $15 = ($1|0)<(0); + $or$cond1 = $15 | $14; + if ($or$cond1) { + HEAP32[$6>>2] = $13; + HEAP32[$5>>2] = 1; + return; + } else { + HEAP32[$6>>2] = $11; + return; + } + } + $16 = ((($0)) + 24|0); + $17 = HEAP32[$16>>2]|0; + $18 = (($17) + ($1))|0; + $19 = ($18>>>0)<($1>>>0); + $20 = ($1|0)<(0); + $or$cond = $20 | $19; + if ($or$cond) { + HEAP32[$5>>2] = 1; + $$0 = 2147483647; + } else { + $$0 = $18; + } + $21 = ((($0)) + 20|0); + $22 = HEAP32[$21>>2]|0; + $23 = (_fseek($22,$$0,0)|0); + $24 = ($23|0)==(0); + if ($24) { + return; + } + HEAP32[$5>>2] = 1; + $25 = HEAP32[$21>>2]|0; + $26 = HEAP32[$16>>2]|0; + (_fseek($25,$26,2)|0); + return; +} +function _vorbis_find_page($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$ = 0, $$0$ph = 0, $$069104 = 0, $$070 = 0, $$082$lcssa = 0, $$1 = 0, $$174103 = 0, $$2 = 0, $$275$lcssa = 0, $$275109 = 0, $$480102 = 0, $$5$ph = 0, $$581108 = 0, $$lobit = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0; + var $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0; + var $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0; + var $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0; + var $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0; + var $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0; + var $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0; + var $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0; + var $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0; + var $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0; + var $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $cond = 0, $exitcond = 0, $scevgep = 0, $trunc = 0, $trunc$clear = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $3 = sp; + $4 = ((($0)) + 96|0); + $5 = ((($0)) + 44|0); + $6 = ((($3)) + 4|0); + $7 = ((($3)) + 22|0); + $8 = ((($3)) + 23|0); + $9 = ((($3)) + 24|0); + $10 = ((($3)) + 25|0); + $11 = ((($3)) + 26|0); + $12 = ($1|0)==(0|0); + $13 = ($2|0)==(0|0); + $14 = ((($3)) + 5|0); + $scevgep = ((($3)) + 22|0); + $15 = ((($3)) + 4|0); + $16 = ((($3)) + 5|0); + $17 = ((($3)) + 6|0); + $18 = ((($3)) + 7|0); + $19 = ((($3)) + 8|0); + $20 = ((($3)) + 9|0); + $21 = ((($3)) + 10|0); + $22 = ((($3)) + 11|0); + $23 = ((($3)) + 12|0); + $24 = ((($3)) + 13|0); + $25 = ((($3)) + 14|0); + $26 = ((($3)) + 15|0); + $27 = ((($3)) + 16|0); + $28 = ((($3)) + 17|0); + $29 = ((($3)) + 18|0); + $30 = ((($3)) + 19|0); + $31 = ((($3)) + 20|0); + $32 = ((($3)) + 21|0); + $33 = ((($3)) + 22|0); + $34 = ((($3)) + 23|0); + $35 = ((($3)) + 24|0); + $36 = ((($3)) + 25|0); + $37 = ((($3)) + 26|0); + $38 = ((($3)) + 1|0); + $39 = ((($3)) + 2|0); + $40 = ((($3)) + 3|0); + $41 = ((($3)) + 4|0); + $42 = ((($3)) + 5|0); + $43 = ((($3)) + 6|0); + $44 = ((($3)) + 7|0); + $45 = ((($3)) + 8|0); + $46 = ((($3)) + 9|0); + $47 = ((($3)) + 10|0); + $48 = ((($3)) + 11|0); + $49 = ((($3)) + 12|0); + $50 = ((($3)) + 13|0); + $51 = ((($3)) + 14|0); + $52 = ((($3)) + 15|0); + $53 = ((($3)) + 16|0); + $54 = ((($3)) + 17|0); + $55 = ((($3)) + 18|0); + $56 = ((($3)) + 19|0); + $57 = ((($3)) + 20|0); + $58 = ((($3)) + 21|0); + $59 = ((($3)) + 22|0); + $60 = ((($3)) + 23|0); + $61 = ((($3)) + 24|0); + $62 = ((($3)) + 25|0); + $63 = ((($3)) + 26|0); + $$0$ph = 0; + L1: while(1) { + while(1) { + $64 = HEAP32[$4>>2]|0; + $65 = ($64|0)==(0); + if (!($65)) { + $$5$ph = 0; + label = 27; + break L1; + } + $66 = (_get8($0)|0); + $67 = ($66<<24>>24)==(79); + if ($67) { + break; + } + } + $68 = (_stb_vorbis_get_file_offset($0)|0); + $69 = (($68) + -25)|0; + $70 = HEAP32[$5>>2]|0; + $71 = ($69>>>0)>($70>>>0); + if ($71) { + $$5$ph = 0; + label = 27; + break; + } + $72 = (_get8($0)|0); + $73 = HEAP8[(4701)>>0]|0; + $74 = ($72<<24>>24)==($73<<24>>24); + if ($74) { + $75 = (_get8($0)|0); + $76 = HEAP8[(4702)>>0]|0; + $77 = ($75<<24>>24)==($76<<24>>24); + if ($77) { + $198 = (_get8($0)|0); + $199 = HEAP8[(4703)>>0]|0; + $200 = ($198<<24>>24)==($199<<24>>24); + $$ = $200 ? 4 : 3; + $$082$lcssa = $$; + } else { + $$082$lcssa = 2; + } + } else { + $$082$lcssa = 1; + } + $78 = HEAP32[$4>>2]|0; + $79 = ($78|0)==(0); + if (!($79)) { + $$5$ph = 0; + label = 27; + break; + } + $80 = ($$082$lcssa|0)==(4); + L13: do { + if ($80) { + $81 = HEAP32[1175]|0; + HEAP32[$3>>2] = $81; + $82 = (_get8($0)|0); + HEAP8[$15>>0] = $82; + $83 = (_get8($0)|0); + HEAP8[$16>>0] = $83; + $84 = (_get8($0)|0); + HEAP8[$17>>0] = $84; + $85 = (_get8($0)|0); + HEAP8[$18>>0] = $85; + $86 = (_get8($0)|0); + HEAP8[$19>>0] = $86; + $87 = (_get8($0)|0); + HEAP8[$20>>0] = $87; + $88 = (_get8($0)|0); + HEAP8[$21>>0] = $88; + $89 = (_get8($0)|0); + HEAP8[$22>>0] = $89; + $90 = (_get8($0)|0); + HEAP8[$23>>0] = $90; + $91 = (_get8($0)|0); + HEAP8[$24>>0] = $91; + $92 = (_get8($0)|0); + HEAP8[$25>>0] = $92; + $93 = (_get8($0)|0); + HEAP8[$26>>0] = $93; + $94 = (_get8($0)|0); + HEAP8[$27>>0] = $94; + $95 = (_get8($0)|0); + HEAP8[$28>>0] = $95; + $96 = (_get8($0)|0); + HEAP8[$29>>0] = $96; + $97 = (_get8($0)|0); + HEAP8[$30>>0] = $97; + $98 = (_get8($0)|0); + HEAP8[$31>>0] = $98; + $99 = (_get8($0)|0); + HEAP8[$32>>0] = $99; + $100 = (_get8($0)|0); + HEAP8[$33>>0] = $100; + $101 = (_get8($0)|0); + HEAP8[$34>>0] = $101; + $102 = (_get8($0)|0); + HEAP8[$35>>0] = $102; + $103 = (_get8($0)|0); + HEAP8[$36>>0] = $103; + $104 = (_get8($0)|0); + HEAP8[$37>>0] = $104; + $105 = HEAP32[$4>>2]|0; + $106 = ($105|0)==(0); + do { + if ($106) { + $107 = HEAP8[$6>>0]|0; + $108 = ($107<<24>>24)==(0); + if ($108) { + $111 = HEAP8[$7>>0]|0; + $112 = HEAP8[$8>>0]|0; + $113 = HEAP8[$9>>0]|0; + $114 = HEAP8[$10>>0]|0; + $115 = $114&255; + $116 = $115 << 24; + HEAP16[$scevgep>>1]=0&65535;HEAP16[$scevgep+2>>1]=0>>>16; + $117 = $112&255; + $118 = $117 << 8; + $119 = $111&255; + $120 = $118 | $119; + $121 = $113&255; + $122 = $121 << 16; + $123 = $120 | $122; + $124 = HEAP8[$3>>0]|0; + $125 = (_crc32_update(0,$124)|0); + $126 = HEAP8[$38>>0]|0; + $127 = (_crc32_update($125,$126)|0); + $128 = HEAP8[$39>>0]|0; + $129 = (_crc32_update($127,$128)|0); + $130 = HEAP8[$40>>0]|0; + $131 = (_crc32_update($129,$130)|0); + $132 = HEAP8[$41>>0]|0; + $133 = (_crc32_update($131,$132)|0); + $134 = HEAP8[$42>>0]|0; + $135 = (_crc32_update($133,$134)|0); + $136 = HEAP8[$43>>0]|0; + $137 = (_crc32_update($135,$136)|0); + $138 = HEAP8[$44>>0]|0; + $139 = (_crc32_update($137,$138)|0); + $140 = HEAP8[$45>>0]|0; + $141 = (_crc32_update($139,$140)|0); + $142 = HEAP8[$46>>0]|0; + $143 = (_crc32_update($141,$142)|0); + $144 = HEAP8[$47>>0]|0; + $145 = (_crc32_update($143,$144)|0); + $146 = HEAP8[$48>>0]|0; + $147 = (_crc32_update($145,$146)|0); + $148 = HEAP8[$49>>0]|0; + $149 = (_crc32_update($147,$148)|0); + $150 = HEAP8[$50>>0]|0; + $151 = (_crc32_update($149,$150)|0); + $152 = HEAP8[$51>>0]|0; + $153 = (_crc32_update($151,$152)|0); + $154 = HEAP8[$52>>0]|0; + $155 = (_crc32_update($153,$154)|0); + $156 = HEAP8[$53>>0]|0; + $157 = (_crc32_update($155,$156)|0); + $158 = HEAP8[$54>>0]|0; + $159 = (_crc32_update($157,$158)|0); + $160 = HEAP8[$55>>0]|0; + $161 = (_crc32_update($159,$160)|0); + $162 = HEAP8[$56>>0]|0; + $163 = (_crc32_update($161,$162)|0); + $164 = HEAP8[$57>>0]|0; + $165 = (_crc32_update($163,$164)|0); + $166 = HEAP8[$58>>0]|0; + $167 = (_crc32_update($165,$166)|0); + $168 = HEAP8[$59>>0]|0; + $169 = (_crc32_update($167,$168)|0); + $170 = HEAP8[$60>>0]|0; + $171 = (_crc32_update($169,$170)|0); + $172 = HEAP8[$61>>0]|0; + $173 = (_crc32_update($171,$172)|0); + $174 = HEAP8[$62>>0]|0; + $175 = (_crc32_update($173,$174)|0); + $176 = HEAP8[$63>>0]|0; + $177 = (_crc32_update($175,$176)|0); + $178 = $123 | $116; + $179 = ($176<<24>>24)==(0); + if ($179) { + $$275$lcssa = $177; + } else { + $109 = HEAP8[$11>>0]|0; + $110 = $109&255; + $$069104 = 0;$$174103 = $177;$$480102 = 0; + while(1) { + $180 = (_get8($0)|0); + $181 = $180&255; + $182 = (_crc32_update($$174103,$180)|0); + $183 = (($181) + ($$069104))|0; + $184 = (($$480102) + 1)|0; + $185 = ($184>>>0)<($110>>>0); + if ($185) { + $$069104 = $183;$$174103 = $182;$$480102 = $184; + } else { + break; + } + } + $186 = ($183|0)==(0); + if ($186) { + $$275$lcssa = $182; + } else { + $187 = HEAP32[$4>>2]|0; + $188 = ($187|0)==(0); + if ($188) { + $$275109 = $182;$$581108 = 0; + } else { + $$070 = 1;$$1 = 0; + break; + } + while(1) { + $189 = (_get8($0)|0); + $190 = (_crc32_update($$275109,$189)|0); + $191 = (($$581108) + 1)|0; + $exitcond = ($191|0)==($183|0); + if ($exitcond) { + $$275$lcssa = $190; + break; + } else { + $$275109 = $190;$$581108 = $191; + } + } + } + } + $192 = ($$275$lcssa|0)==($178|0); + if ($192) { + if (!($12)) { + $193 = (_stb_vorbis_get_file_offset($0)|0); + HEAP32[$1>>2] = $193; + } + if (!($13)) { + $194 = HEAP8[$14>>0]|0; + $195 = ($194&255) >>> 2; + $$lobit = $195 & 1; + $196 = $$lobit&255; + HEAP32[$2>>2] = $196; + } + $197 = (($68) + -1)|0; + _set_file_offset($0,$197); + $$070 = 1;$$1 = 1; + } else { + $$070 = 0;$$1 = $$0$ph; + } + } else { + $$070 = 13;$$1 = $$0$ph; + } + } else { + $$070 = 1;$$1 = 0; + } + } while(0); + $trunc = $$070&255; + $trunc$clear = $trunc & 15; + switch ($trunc$clear<<24>>24) { + case 13: case 0: { + $$2 = $$1; + break L13; + break; + } + default: { + } + } + $cond = ($$070|0)==(0); + if ($cond) { + $$0$ph = $$1; + continue L1; + } else { + $$5$ph = $$1; + label = 27; + break L1; + } + } else { + $$2 = $$0$ph; + } + } while(0); + _set_file_offset($0,$68); + $$0$ph = $$2; + } + if ((label|0) == 27) { + STACKTOP = sp;return ($$5$ph|0); + } + return (0)|0; +} +function _crc32_update($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = $0 << 8; + $3 = $1&255; + $4 = $0 >>> 24; + $5 = $3 ^ $4; + $6 = (23380 + ($5<<2)|0); + $7 = HEAP32[$6>>2]|0; + $8 = $7 ^ $2; + return ($8|0); +} +function _stb_vorbis_open_file($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; + sp = STACKTOP; + $4 = (_ftell($0)|0); + (_fseek($0,0,2)|0); + $5 = (_ftell($0)|0); + $6 = (($5) - ($4))|0; + (_fseek($0,$4,0)|0); + $7 = (_stb_vorbis_open_file_section($0,$1,$2,$3,$6)|0); + return ($7|0); +} +function _stb_vorbis_open_file_section($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 1520|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1520|0); + $5 = sp; + _vorbis_init($5,$3); + $6 = ((($5)) + 20|0); + HEAP32[$6>>2] = $0; + $7 = (_ftell($0)|0); + $8 = ((($5)) + 24|0); + HEAP32[$8>>2] = $7; + $9 = ((($5)) + 44|0); + HEAP32[$9>>2] = $4; + $10 = ((($5)) + 28|0); + HEAP32[$10>>2] = $1; + $11 = (_start_decoder($5)|0); + $12 = ($11|0)==(0); + if (!($12)) { + $13 = (_vorbis_alloc($5)|0); + $14 = ($13|0)==(0|0); + if (!($14)) { + _memcpy(($13|0),($5|0),1512)|0; + (_vorbis_pump_first_frame($13)|0); + $$0 = $13; + STACKTOP = sp;return ($$0|0); + } + } + $15 = ($2|0)==(0|0); + if (!($15)) { + $16 = ((($5)) + 100|0); + $17 = HEAP32[$16>>2]|0; + HEAP32[$2>>2] = $17; + } + _vorbis_deinit($5); + $$0 = 0; + STACKTOP = sp;return ($$0|0); +} +function _vorbis_init($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $3 = 0, $4 = 0, $5 = 0; + var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + _memset(($0|0),0,1512)|0; + $2 = ($1|0)==(0|0); + if (!($2)) { + $3 = ((($0)) + 80|0); + $4 = $1; + $5 = $4; + $6 = HEAP32[$5>>2]|0; + $7 = (($4) + 4)|0; + $8 = $7; + $9 = HEAP32[$8>>2]|0; + $10 = $3; + $11 = $10; + HEAP32[$11>>2] = $6; + $12 = (($10) + 4)|0; + $13 = $12; + HEAP32[$13>>2] = $9; + $14 = ((($0)) + 84|0); + $15 = HEAP32[$14>>2]|0; + $16 = (($15) + 3)|0; + $17 = $16 & -4; + HEAP32[$14>>2] = $17; + $18 = ((($0)) + 92|0); + HEAP32[$18>>2] = $17; + } + $19 = ((($0)) + 96|0); + HEAP32[$19>>2] = 0; + $20 = ((($0)) + 100|0); + HEAP32[$20>>2] = 0; + $21 = ((($0)) + 32|0); + HEAP32[$21>>2] = 0; + $22 = ((($0)) + 124|0); + HEAP32[$22>>2] = 0; + $23 = ((($0)) + 1420|0); + HEAP32[$23>>2] = -1; + $24 = ((($0)) + 28|0); + HEAP32[$24>>2] = 0; + $25 = ((($0)) + 20|0); + HEAP32[$25>>2] = 0; + return; +} +function _start_decoder($0) { + $0 = $0|0; + var $$ = 0, $$$0899 = 0, $$$0929 = 0, $$$0964 = 0, $$0899$lcssa = 0, $$08991120 = 0, $$09011119 = 0, $$09021210 = 0, $$0920 = 0, $$0920$ph = 0, $$0929$lcssa = 0, $$09291199 = 0, $$09501156 = 0, $$0951 = 0, $$09541216 = 0, $$0957 = 0, $$09581209 = 0, $$0962 = 0, $$09641169 = 0, $$09661213 = 0; + var $$09701227 = 0.0, $$0974$ph = 0, $$0977$ = 0.0, $$09771224 = 0.0, $$109121192 = 0, $$119131195 = 0, $$129141148 = 0, $$139151153 = 0, $$149161160 = 0, $$159171137 = 0, $$169181135 = 0, $$179191139 = 0, $$18921232 = 0, $$19031217 = 0, $$19211174 = 0, $$1955 = 0, $$19631000 = 0, $$19631001$ph = 0, $$1971 = 0.0, $$1971$ = 0.0; + var $$1971$ph = 0.0, $$28931205 = 0, $$29041220 = 0, $$29221181 = 0, $$2953 = 0, $$2956 = 0, $$2960$ph = 0, $$34 = 0, $$38941200 = 0, $$39051228 = 0, $$39231152 = 0, $$3961 = 0, $$48951165 = 0, $$49061225 = 0, $$49241157 = 0, $$49241157$in = 0, $$58961143 = 0, $$59071118 = 0, $$59251132 = 0, $$68971128 = 0; + var $$69081170 = 0, $$78981124 = 0, $$79091177 = 0, $$89101185 = 0, $$99111188 = 0, $$in = 0, $$lcssa = 0, $$lcssa1060 = 0, $$lcssa1061 = 0, $$lcssa1073 = 0, $$off = 0, $$off979 = 0, $$pr = 0, $$pr1300 = 0, $$pr1301 = 0, $$sink = 0, $$sink25 = 0, $$sink26 = 0, $$sink986 = 0, $1 = 0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0; + var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0; + var $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0; + var $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0; + var $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0; + var $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0.0; + var $262 = 0, $263 = 0, $264 = 0.0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0; + var $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0; + var $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0; + var $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0.0, $328 = 0.0, $329 = 0.0, $33 = 0, $330 = 0.0, $331 = 0.0, $332 = 0.0, $333 = 0; + var $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0; + var $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0.0, $359 = 0.0, $36 = 0, $360 = 0.0, $361 = 0.0, $362 = 0.0, $363 = 0.0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0; + var $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0; + var $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0; + var $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0; + var $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0; + var $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0; + var $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0, $478 = 0; + var $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0, $496 = 0; + var $497 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0, $513 = 0; + var $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0, $531 = 0; + var $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0, $549 = 0, $55 = 0; + var $550 = 0, $551 = 0, $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0, $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0, $562 = 0, $563 = 0, $564 = 0, $565 = 0, $566 = 0, $567 = 0, $568 = 0; + var $569 = 0, $57 = 0, $570 = 0, $571 = 0, $572 = 0, $573 = 0, $574 = 0, $575 = 0, $576 = 0, $577 = 0, $578 = 0, $579 = 0, $58 = 0, $580 = 0, $581 = 0, $582 = 0, $583 = 0, $584 = 0, $585 = 0, $586 = 0; + var $587 = 0, $588 = 0, $589 = 0, $59 = 0, $590 = 0, $591 = 0, $592 = 0, $593 = 0, $594 = 0, $595 = 0, $596 = 0, $597 = 0, $598 = 0, $599 = 0, $6 = 0, $60 = 0, $600 = 0, $601 = 0, $602 = 0, $603 = 0; + var $604 = 0, $605 = 0, $606 = 0, $607 = 0, $608 = 0, $609 = 0, $61 = 0, $610 = 0, $611 = 0, $612 = 0, $613 = 0, $614 = 0, $615 = 0, $616 = 0, $617 = 0, $618 = 0, $619 = 0, $62 = 0, $620 = 0, $621 = 0; + var $622 = 0, $623 = 0, $624 = 0, $625 = 0, $626 = 0, $627 = 0, $628 = 0, $629 = 0, $63 = 0, $630 = 0, $631 = 0, $632 = 0, $633 = 0, $634 = 0, $635 = 0, $636 = 0, $637 = 0, $638 = 0, $639 = 0, $64 = 0; + var $640 = 0, $641 = 0, $642 = 0, $643 = 0, $644 = 0, $645 = 0, $646 = 0, $647 = 0, $648 = 0, $649 = 0, $65 = 0, $650 = 0, $651 = 0, $652 = 0, $653 = 0, $654 = 0, $655 = 0, $656 = 0, $657 = 0, $658 = 0; + var $659 = 0, $66 = 0, $660 = 0, $661 = 0, $662 = 0, $663 = 0, $664 = 0, $665 = 0, $666 = 0, $667 = 0, $668 = 0, $669 = 0, $67 = 0, $670 = 0, $671 = 0, $672 = 0, $673 = 0, $674 = 0, $675 = 0, $676 = 0; + var $677 = 0, $678 = 0, $679 = 0, $68 = 0, $680 = 0, $681 = 0, $682 = 0, $683 = 0, $684 = 0, $685 = 0, $686 = 0, $687 = 0, $688 = 0, $689 = 0, $69 = 0, $690 = 0, $691 = 0, $692 = 0, $693 = 0, $694 = 0; + var $695 = 0, $696 = 0, $697 = 0, $698 = 0, $699 = 0, $7 = 0, $70 = 0, $700 = 0, $701 = 0, $702 = 0, $703 = 0, $704 = 0, $705 = 0, $706 = 0, $707 = 0, $708 = 0, $709 = 0, $71 = 0, $710 = 0, $711 = 0; + var $712 = 0, $713 = 0, $714 = 0, $715 = 0, $716 = 0, $717 = 0, $718 = 0, $719 = 0, $72 = 0, $720 = 0, $721 = 0, $722 = 0, $723 = 0, $724 = 0, $725 = 0, $726 = 0, $727 = 0, $728 = 0, $729 = 0, $73 = 0; + var $730 = 0, $731 = 0, $732 = 0, $733 = 0, $734 = 0, $735 = 0, $736 = 0, $737 = 0, $738 = 0, $739 = 0, $74 = 0, $740 = 0, $741 = 0, $742 = 0, $743 = 0, $744 = 0, $745 = 0, $746 = 0, $747 = 0, $748 = 0; + var $749 = 0, $75 = 0, $750 = 0, $751 = 0, $752 = 0, $753 = 0, $754 = 0, $755 = 0, $756 = 0, $757 = 0, $758 = 0, $759 = 0, $76 = 0, $760 = 0, $761 = 0, $762 = 0, $763 = 0, $764 = 0, $765 = 0, $766 = 0; + var $767 = 0, $768 = 0, $769 = 0, $77 = 0, $770 = 0, $771 = 0, $772 = 0, $773 = 0, $774 = 0, $775 = 0, $776 = 0, $777 = 0, $778 = 0, $779 = 0, $78 = 0, $780 = 0, $781 = 0, $782 = 0, $783 = 0, $784 = 0; + var $785 = 0, $786 = 0, $787 = 0, $788 = 0, $789 = 0, $79 = 0, $790 = 0, $791 = 0, $792 = 0, $793 = 0, $794 = 0, $795 = 0, $796 = 0, $797 = 0, $798 = 0, $799 = 0, $8 = 0, $80 = 0, $800 = 0, $801 = 0; + var $802 = 0, $803 = 0, $804 = 0, $805 = 0, $806 = 0, $807 = 0, $808 = 0, $809 = 0, $81 = 0, $810 = 0, $811 = 0, $812 = 0, $813 = 0, $814 = 0, $815 = 0, $816 = 0, $817 = 0, $818 = 0, $819 = 0, $82 = 0; + var $820 = 0, $821 = 0, $822 = 0, $823 = 0, $824 = 0, $825 = 0, $826 = 0, $827 = 0, $828 = 0, $829 = 0, $83 = 0, $830 = 0, $831 = 0, $832 = 0, $833 = 0, $834 = 0, $835 = 0, $836 = 0, $837 = 0, $838 = 0; + var $839 = 0, $84 = 0, $840 = 0, $841 = 0, $842 = 0, $843 = 0, $844 = 0, $845 = 0, $846 = 0, $847 = 0, $848 = 0, $849 = 0, $85 = 0, $850 = 0, $851 = 0, $852 = 0, $853 = 0, $854 = 0, $855 = 0, $856 = 0; + var $857 = 0, $858 = 0, $859 = 0, $86 = 0, $860 = 0, $861 = 0, $862 = 0, $863 = 0, $864 = 0, $865 = 0, $866 = 0, $867 = 0, $868 = 0, $869 = 0, $87 = 0, $870 = 0, $871 = 0, $872 = 0, $873 = 0, $874 = 0; + var $875 = 0, $876 = 0, $877 = 0, $878 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $not$or$cond982 = 0, $notrhs = 0, $or$cond = 0; + var $or$cond991 = 0, $phitmp = 0, $phitmp1296 = 0, $phitmp1297 = 0, $sext = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 1024|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1024|0); + $1 = sp + 1008|0; + $2 = sp + 8|0; + $3 = sp + 4|0; + $4 = sp; + $5 = (_start_page($0)|0); + $6 = ($5|0)==(0); + if ($6) { + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + $7 = ((($0)) + 1375|0); + $8 = HEAP8[$7>>0]|0; + $9 = $8&255; + $10 = $9 & 2; + $11 = ($10|0)==(0); + if ($11) { + _error($0,34); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + $12 = $9 & 4; + $13 = ($12|0)==(0); + if (!($13)) { + _error($0,34); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + $14 = $9 & 1; + $15 = ($14|0)==(0); + if (!($15)) { + _error($0,34); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + $16 = ((($0)) + 1116|0); + $17 = HEAP32[$16>>2]|0; + $18 = ($17|0)==(1); + if (!($18)) { + _error($0,34); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + $19 = ((($0)) + 1120|0); + $20 = HEAP8[$19>>0]|0; + $21 = ($20<<24>>24)==(30); + if (!($21)) { + _error($0,34); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + $22 = (_get8($0)|0); + $23 = ($22<<24>>24)==(1); + if (!($23)) { + _error($0,34); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + $24 = (_getn($0,$1,6)|0); + $25 = ($24|0)==(0); + if ($25) { + _error($0,10); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + $26 = (_vorbis_validate($1)|0); + $27 = ($26|0)==(0); + if ($27) { + _error($0,34); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + $28 = (_get32($0)|0); + $29 = ($28|0)==(0); + if (!($29)) { + _error($0,34); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + $30 = (_get8($0)|0); + $31 = $30&255; + $32 = ((($0)) + 4|0); + HEAP32[$32>>2] = $31; + $33 = ($30<<24>>24)==(0); + if ($33) { + _error($0,34); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + $34 = ($30&255)>(16); + if ($34) { + _error($0,5); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + $35 = (_get32($0)|0); + HEAP32[$0>>2] = $35; + $36 = ($35|0)==(0); + if ($36) { + _error($0,34); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + (_get32($0)|0); + (_get32($0)|0); + (_get32($0)|0); + $37 = (_get8($0)|0); + $38 = $37&255; + $39 = $38 & 15; + $40 = $38 >>> 4; + $41 = 1 << $39; + $42 = ((($0)) + 112|0); + HEAP32[$42>>2] = $41; + $43 = 1 << $40; + $44 = ((($0)) + 116|0); + HEAP32[$44>>2] = $43; + $$off = (($39) + -6)|0; + $45 = ($$off>>>0)>(7); + if ($45) { + _error($0,20); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + $$off979 = (($37) + -96)<<24>>24; + $46 = ($$off979<<24>>24)<(0); + if ($46) { + _error($0,20); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + $47 = ($39>>>0)>($40>>>0); + if ($47) { + _error($0,20); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + $48 = (_get8($0)|0); + $49 = $48 & 1; + $50 = ($49<<24>>24)==(0); + if ($50) { + _error($0,34); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + $51 = (_start_page($0)|0); + $52 = ($51|0)==(0); + if ($52) { + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + $53 = (_start_packet($0)|0); + $54 = ($53|0)==(0); + if ($54) { + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + $55 = ((($0)) + 1376|0); + while(1) { + $56 = (_next_segment($0)|0); + _skip($0,$56); + HEAP8[$55>>0] = 0; + $57 = ($56|0)==(0); + if ($57) { + break; + } + } + $58 = (_start_packet($0)|0); + $59 = ($58|0)==(0); + if ($59) { + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + $60 = ((($0)) + 48|0); + $61 = HEAP8[$60>>0]|0; + $62 = ($61<<24>>24)==(0); + do { + if (!($62)) { + $63 = (_is_whole_packet_present($0,1)|0); + $64 = ($63|0)==(0); + if (!($64)) { + break; + } + $65 = ((($0)) + 100|0); + $66 = HEAP32[$65>>2]|0; + $67 = ($66|0)==(21); + if (!($67)) { + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + HEAP32[$65>>2] = 20; + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + } while(0); + _crc32_init(); + $68 = (_get8_packet($0)|0); + $69 = ($68|0)==(5); + if (!($69)) { + _error($0,20); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + $70 = (_get8_packet($0)|0); + $71 = $70&255; + HEAP8[$1>>0] = $71; + $72 = (_get8_packet($0)|0); + $73 = $72&255; + $74 = ((($1)) + 1|0); + HEAP8[$74>>0] = $73; + $75 = (_get8_packet($0)|0); + $76 = $75&255; + $77 = ((($1)) + 2|0); + HEAP8[$77>>0] = $76; + $78 = (_get8_packet($0)|0); + $79 = $78&255; + $80 = ((($1)) + 3|0); + HEAP8[$80>>0] = $79; + $81 = (_get8_packet($0)|0); + $82 = $81&255; + $83 = ((($1)) + 4|0); + HEAP8[$83>>0] = $82; + $84 = (_get8_packet($0)|0); + $85 = $84&255; + $86 = ((($1)) + 5|0); + HEAP8[$86>>0] = $85; + $87 = (_vorbis_validate($1)|0); + $88 = ($87|0)==(0); + if ($88) { + _error($0,20); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + $89 = (_get_bits($0,8)|0); + $90 = (($89) + 1)|0; + $91 = ((($0)) + 120|0); + HEAP32[$91>>2] = $90; + $92 = ($90*2096)|0; + $93 = (_setup_malloc($0,$92)|0); + $94 = ((($0)) + 124|0); + HEAP32[$94>>2] = $93; + $95 = ($93|0)==(0|0); + if ($95) { + _error($0,3); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + $96 = HEAP32[$91>>2]|0; + $97 = ($96*2096)|0; + _memset(($93|0),0,($97|0))|0; + $98 = HEAP32[$91>>2]|0; + $99 = ($98|0)>(0); + L100: do { + if ($99) { + $100 = ((($0)) + 16|0); + $101 = ((($0)) + 16|0); + $$18921232 = 0; + L102: while(1) { + $102 = HEAP32[$94>>2]|0; + $103 = (($102) + (($$18921232*2096)|0)|0); + $104 = (_get_bits($0,8)|0); + $105 = $104 & 255; + $106 = ($105|0)==(66); + if (!($106)) { + label = 52; + break; + } + $107 = (_get_bits($0,8)|0); + $108 = $107 & 255; + $109 = ($108|0)==(67); + if (!($109)) { + label = 54; + break; + } + $110 = (_get_bits($0,8)|0); + $111 = $110 & 255; + $112 = ($111|0)==(86); + if (!($112)) { + label = 56; + break; + } + $113 = (_get_bits($0,8)|0); + $114 = (_get_bits($0,8)|0); + $115 = $114 << 8; + $116 = $113 & 255; + $117 = $115 | $116; + HEAP32[$103>>2] = $117; + $118 = (_get_bits($0,8)|0); + $119 = (_get_bits($0,8)|0); + $120 = (_get_bits($0,8)|0); + $121 = $120 << 16; + $122 = $119 << 8; + $123 = $122 & 65280; + $124 = $118 & 255; + $125 = $123 | $124; + $126 = $125 | $121; + $127 = (((($102) + (($$18921232*2096)|0)|0)) + 4|0); + HEAP32[$127>>2] = $126; + $128 = (_get_bits($0,1)|0); + $129 = ($128|0)!=(0); + if ($129) { + $132 = 0; + } else { + $130 = (_get_bits($0,1)|0); + $132 = $130; + } + $131 = $132&255; + $133 = (((($102) + (($$18921232*2096)|0)|0)) + 23|0); + HEAP8[$133>>0] = $131; + $134 = HEAP32[$103>>2]|0; + $135 = ($134|0)!=(0); + $136 = HEAP32[$127>>2]|0; + $137 = ($136|0)==(0); + $or$cond = $135 | $137; + if (!($or$cond)) { + label = 60; + break; + } + $138 = ($131<<24>>24)==(0); + if ($138) { + $140 = (_setup_malloc($0,$136)|0); + $141 = (((($102) + (($$18921232*2096)|0)|0)) + 8|0); + HEAP32[$141>>2] = $140; + $$0962 = $140; + } else { + $139 = (_setup_temp_malloc($0,$136)|0); + $$0962 = $139; + } + $142 = ($$0962|0)==(0|0); + if ($142) { + label = 65; + break; + } + do { + if ($129) { + $145 = (_get_bits($0,5)|0); + $146 = HEAP32[$127>>2]|0; + $147 = ($146|0)>(0); + if ($147) { + $$09661213 = 0;$$in = $145;$150 = $146; + } else { + $$3961 = 0; + break; + } + while(1) { + $148 = (($$in) + 1)|0; + $149 = (($150) - ($$09661213))|0; + $151 = (_ilog($149)|0); + $152 = (_get_bits($0,$151)|0); + $153 = (($152) + ($$09661213))|0; + $154 = HEAP32[$127>>2]|0; + $155 = ($153|0)>($154|0); + if ($155) { + label = 71; + break L102; + } + $156 = (($$0962) + ($$09661213)|0); + $157 = $148&255; + _memset(($156|0),($157|0),($152|0))|0; + $158 = HEAP32[$127>>2]|0; + $159 = ($158|0)>($153|0); + if ($159) { + $$09661213 = $153;$$in = $148;$150 = $158; + } else { + $$3961 = 0; + break; + } + } + } else { + $143 = HEAP32[$127>>2]|0; + $144 = ($143|0)>(0); + if ($144) { + $$09021210 = 0;$$09581209 = 0; + } else { + $$3961 = 0; + break; + } + while(1) { + $160 = HEAP8[$133>>0]|0; + $161 = ($160<<24>>24)==(0); + do { + if ($161) { + label = 74; + } else { + $162 = (_get_bits($0,1)|0); + $163 = ($162|0)==(0); + if (!($163)) { + label = 74; + break; + } + $171 = (($$0962) + ($$09021210)|0); + HEAP8[$171>>0] = -1; + $$2960$ph = $$09581209; + } + } while(0); + if ((label|0) == 74) { + label = 0; + $164 = (_get_bits($0,5)|0); + $165 = (($164) + 1)|0; + $166 = $165&255; + $167 = (($$0962) + ($$09021210)|0); + HEAP8[$167>>0] = $166; + $168 = (($$09581209) + 1)|0; + $169 = $165 & 255; + $170 = ($169|0)==(32); + if ($170) { + label = 76; + break L102; + } else { + $$2960$ph = $168; + } + } + $172 = (($$09021210) + 1)|0; + $173 = HEAP32[$127>>2]|0; + $174 = ($172|0)<($173|0); + if ($174) { + $$09021210 = $172;$$09581209 = $$2960$ph; + } else { + $$3961 = $$2960$ph; + break; + } + } + } + } while(0); + $175 = HEAP8[$133>>0]|0; + $176 = ($175<<24>>24)==(0); + do { + if ($176) { + $$19631001$ph = $$0962; + label = 86; + } else { + $177 = HEAP32[$127>>2]|0; + $178 = $177 >> 2; + $179 = ($$3961|0)<($178|0); + if ($179) { + $$pr = HEAP8[$133>>0]|0; + $188 = ($$pr<<24>>24)==(0); + if ($188) { + $$19631001$ph = $$0962; + label = 86; + break; + } else { + $$19631000 = $$0962;$$2956 = $$3961; + break; + } + } + $180 = HEAP32[$101>>2]|0; + $181 = ($177|0)>($180|0); + if ($181) { + HEAP32[$101>>2] = $177; + } + $182 = (_setup_malloc($0,$177)|0); + $183 = (((($102) + (($$18921232*2096)|0)|0)) + 8|0); + HEAP32[$183>>2] = $182; + $184 = ($182|0)==(0|0); + if ($184) { + label = 83; + break L102; + } + $185 = HEAP32[$127>>2]|0; + _memcpy(($182|0),($$0962|0),($185|0))|0; + $186 = HEAP32[$127>>2]|0; + _setup_temp_free($0,$$0962,$186); + $187 = HEAP32[$183>>2]|0; + HEAP8[$133>>0] = 0; + $$19631001$ph = $187; + label = 86; + } + } while(0); + do { + if ((label|0) == 86) { + label = 0; + $189 = HEAP32[$127>>2]|0; + $190 = ($189|0)>(0); + if (!($190)) { + $$19631000 = $$19631001$ph;$$2956 = 0; + break; + } + $191 = HEAP32[$127>>2]|0; + $$09541216 = 0;$$19031217 = 0; + while(1) { + $192 = (($$19631001$ph) + ($$19031217)|0); + $193 = HEAP8[$192>>0]|0; + $194 = ($193&255)<(11); + $notrhs = ($193<<24>>24)!=(-1); + $not$or$cond982 = $194 ^ $notrhs; + $195 = $not$or$cond982&1; + $$1955 = (($195) + ($$09541216))|0; + $196 = (($$19031217) + 1)|0; + $197 = ($196|0)<($191|0); + if ($197) { + $$09541216 = $$1955;$$19031217 = $196; + } else { + $$19631000 = $$19631001$ph;$$2956 = $$1955; + break; + } + } + } + } while(0); + $198 = (((($102) + (($$18921232*2096)|0)|0)) + 2092|0); + HEAP32[$198>>2] = $$2956; + $199 = HEAP8[$133>>0]|0; + $200 = ($199<<24>>24)==(0); + do { + if ($200) { + $201 = HEAP32[$127>>2]|0; + $202 = $201 << 2; + $203 = (_setup_malloc($0,$202)|0); + $204 = (((($102) + (($$18921232*2096)|0)|0)) + 32|0); + HEAP32[$204>>2] = $203; + $205 = ($203|0)==(0|0); + if ($205) { + label = 91; + break L102; + } else { + $$2953 = 0;$230 = 0; + } + } else { + $206 = ($$2956|0)==(0); + if ($206) { + $$0951 = 0;$878 = 0; + } else { + $207 = (_setup_malloc($0,$$2956)|0); + $208 = (((($102) + (($$18921232*2096)|0)|0)) + 8|0); + HEAP32[$208>>2] = $207; + $209 = ($207|0)==(0|0); + if ($209) { + label = 94; + break L102; + } + $210 = HEAP32[$198>>2]|0; + $211 = $210 << 2; + $212 = (_setup_temp_malloc($0,$211)|0); + $213 = (((($102) + (($$18921232*2096)|0)|0)) + 32|0); + HEAP32[$213>>2] = $212; + $214 = ($212|0)==(0|0); + if ($214) { + label = 96; + break L102; + } + $215 = HEAP32[$198>>2]|0; + $216 = $215 << 2; + $217 = (_setup_temp_malloc($0,$216)|0); + $218 = ($217|0)==(0|0); + if ($218) { + label = 98; + break L102; + } else { + $$0951 = $217;$878 = $217; + } + } + $219 = HEAP32[$127>>2]|0; + $220 = HEAP32[$198>>2]|0; + $221 = $220 << 3; + $222 = (($221) + ($219))|0; + $223 = HEAP32[$100>>2]|0; + $224 = ($222>>>0)>($223>>>0); + if (!($224)) { + $$2953 = $$0951;$230 = $878; + break; + } + HEAP32[$100>>2] = $222; + $$2953 = $$0951;$230 = $878; + } + } while(0); + $225 = HEAP32[$127>>2]|0; + $226 = (_compute_codewords($103,$$19631000,$225,$$2953)|0); + $227 = ($226|0)==(0); + if ($227) { + label = 102; + break; + } + $231 = HEAP32[$198>>2]|0; + $232 = ($231|0)==(0); + if (!($232)) { + $233 = $231 << 2; + $234 = (($233) + 4)|0; + $235 = (_setup_malloc($0,$234)|0); + $236 = (((($102) + (($$18921232*2096)|0)|0)) + 2084|0); + HEAP32[$236>>2] = $235; + $237 = ($235|0)==(0|0); + if ($237) { + label = 107; + break; + } + $238 = HEAP32[$198>>2]|0; + $239 = $238 << 2; + $240 = (($239) + 4)|0; + $241 = (_setup_malloc($0,$240)|0); + $242 = (((($102) + (($$18921232*2096)|0)|0)) + 2088|0); + HEAP32[$242>>2] = $241; + $243 = ($241|0)==(0|0); + if ($243) { + label = 109; + break; + } + $244 = ((($241)) + 4|0); + HEAP32[$242>>2] = $244; + HEAP32[$241>>2] = -1; + _compute_sorted_huffman($103,$$19631000,$$2953); + } + $245 = HEAP8[$133>>0]|0; + $246 = ($245<<24>>24)==(0); + if (!($246)) { + $247 = HEAP32[$198>>2]|0; + $248 = $247 << 2; + _setup_temp_free($0,$230,$248); + $249 = (((($102) + (($$18921232*2096)|0)|0)) + 32|0); + $250 = HEAP32[$249>>2]|0; + $251 = HEAP32[$198>>2]|0; + $252 = $251 << 2; + _setup_temp_free($0,$250,$252); + $253 = HEAP32[$127>>2]|0; + _setup_temp_free($0,$$19631000,$253); + HEAP32[$249>>2] = 0; + } + _compute_accelerated_huffman($103); + $254 = (_get_bits($0,4)|0); + $255 = $254&255; + $256 = (((($102) + (($$18921232*2096)|0)|0)) + 21|0); + HEAP8[$256>>0] = $255; + $257 = $254 & 255; + $258 = ($257>>>0)>(2); + if ($258) { + label = 114; + break; + } + $259 = ($257|0)==(0); + if (!($259)) { + $260 = (_get_bits($0,32)|0); + $261 = (+_float32_unpack($260)); + $262 = (((($102) + (($$18921232*2096)|0)|0)) + 12|0); + HEAPF32[$262>>2] = $261; + $263 = (_get_bits($0,32)|0); + $264 = (+_float32_unpack($263)); + $265 = (((($102) + (($$18921232*2096)|0)|0)) + 16|0); + HEAPF32[$265>>2] = $264; + $266 = (_get_bits($0,4)|0); + $267 = (($266) + 1)|0; + $268 = $267&255; + $269 = (((($102) + (($$18921232*2096)|0)|0)) + 20|0); + HEAP8[$269>>0] = $268; + $270 = (_get_bits($0,1)|0); + $271 = $270&255; + $272 = (((($102) + (($$18921232*2096)|0)|0)) + 22|0); + HEAP8[$272>>0] = $271; + $273 = HEAP8[$256>>0]|0; + $274 = ($273<<24>>24)==(1); + $275 = HEAP32[$127>>2]|0; + $276 = HEAP32[$103>>2]|0; + if ($274) { + $277 = (_lookup1_values($275,$276)|0); + $$sink = $277; + } else { + $278 = Math_imul($276, $275)|0; + $$sink = $278; + } + $279 = (((($102) + (($$18921232*2096)|0)|0)) + 24|0); + HEAP32[$279>>2] = $$sink; + $280 = ($$sink|0)==(0); + if ($280) { + label = 120; + break; + } + $281 = $$sink << 1; + $282 = (_setup_temp_malloc($0,$281)|0); + $283 = ($282|0)==(0|0); + if ($283) { + label = 123; + break; + } + $284 = HEAP32[$279>>2]|0; + $285 = ($284|0)>(0); + if ($285) { + $$29041220 = 0; + while(1) { + $286 = HEAP8[$269>>0]|0; + $287 = $286&255; + $288 = (_get_bits($0,$287)|0); + $289 = ($288|0)==(-1); + if ($289) { + label = 125; + break L102; + } + $292 = $288&65535; + $293 = (($282) + ($$29041220<<1)|0); + HEAP16[$293>>1] = $292; + $294 = (($$29041220) + 1)|0; + $295 = HEAP32[$279>>2]|0; + $296 = ($294|0)<($295|0); + if ($296) { + $$29041220 = $294; + } else { + $$lcssa1073 = $295; + break; + } + } + } else { + $$lcssa1073 = $284; + } + $297 = HEAP8[$256>>0]|0; + $298 = ($297<<24>>24)==(1); + do { + if ($298) { + $299 = HEAP8[$133>>0]|0; + $300 = ($299<<24>>24)!=(0); + if ($300) { + $301 = HEAP32[$198>>2]|0; + $302 = ($301|0)==(0); + if ($302) { + break; + } else { + $$sink986 = $301; + } + } else { + $303 = HEAP32[$127>>2]|0; + $$sink986 = $303; + } + $304 = $$sink986 << 2; + $305 = HEAP32[$103>>2]|0; + $306 = Math_imul($304, $305)|0; + $307 = (_setup_malloc($0,$306)|0); + $308 = (((($102) + (($$18921232*2096)|0)|0)) + 28|0); + HEAP32[$308>>2] = $307; + $309 = ($307|0)==(0|0); + if ($309) { + label = 132; + break L102; + } + $$sink25 = $300 ? $198 : $127; + $312 = HEAP32[$$sink25>>2]|0; + $313 = ($312|0)>(0); + if ($313) { + $314 = (((($102) + (($$18921232*2096)|0)|0)) + 2088|0); + $315 = HEAP32[$103>>2]|0; + $$09701227 = 0.0;$$39051228 = 0; + while(1) { + if ($300) { + $316 = HEAP32[$314>>2]|0; + $317 = (($316) + ($$39051228<<2)|0); + $318 = HEAP32[$317>>2]|0; + $322 = $318; + } else { + $322 = $$39051228; + } + $319 = Math_imul($315, $$39051228)|0; + $$0920$ph = 0;$$0974$ph = 1;$$1971$ph = $$09701227; + L193: while(1) { + $$0920 = $$0920$ph;$$1971 = $$1971$ph; + while(1) { + $320 = ($$0920|0)<($315|0); + if (!($320)) { + break L193; + } + $321 = (($322>>>0) / ($$0974$ph>>>0))&-1; + $323 = HEAP32[$279>>2]|0; + $324 = (($321>>>0) % ($323>>>0))&-1; + $325 = (($282) + ($324<<1)|0); + $326 = HEAP16[$325>>1]|0; + $327 = (+($326&65535)); + $328 = +HEAPF32[$265>>2]; + $329 = $327 * $328; + $330 = +HEAPF32[$262>>2]; + $331 = $329 + $330; + $332 = $$1971 + $331; + $333 = HEAP32[$308>>2]|0; + $334 = (($319) + ($$0920))|0; + $335 = (($333) + ($334<<2)|0); + HEAPF32[$335>>2] = $332; + $336 = HEAP8[$272>>0]|0; + $337 = ($336<<24>>24)==(0); + $$1971$ = $337 ? $$1971 : $332; + $338 = (($$0920) + 1)|0; + $339 = ($338|0)<($315|0); + if ($339) { + break; + } else { + $$0920 = $338;$$1971 = $$1971$; + } + } + $340 = (4294967295 / ($323>>>0))&-1; + $341 = ($$0974$ph>>>0)>($340>>>0); + if ($341) { + label = 143; + break L102; + } + $342 = Math_imul($323, $$0974$ph)|0; + $$0920$ph = $338;$$0974$ph = $342;$$1971$ph = $$1971$; + } + $344 = (($$39051228) + 1)|0; + $345 = ($344|0)<($312|0); + if ($345) { + $$09701227 = $$1971;$$39051228 = $344; + } else { + break; + } + } + } + HEAP8[$256>>0] = 2; + } else { + $346 = $$lcssa1073 << 2; + $347 = (_setup_malloc($0,$346)|0); + $348 = (((($102) + (($$18921232*2096)|0)|0)) + 28|0); + HEAP32[$348>>2] = $347; + $349 = ($347|0)==(0|0); + $350 = HEAP32[$279>>2]|0; + if ($349) { + label = 150; + break L102; + } + $351 = ($350|0)>(0); + if (!($351)) { + break; + } + $352 = HEAP32[$348>>2]|0; + $353 = HEAP8[$272>>0]|0; + $354 = ($353<<24>>24)==(0); + $355 = HEAP32[$279>>2]|0; + $$09771224 = 0.0;$$49061225 = 0; + while(1) { + $356 = (($282) + ($$49061225<<1)|0); + $357 = HEAP16[$356>>1]|0; + $358 = (+($357&65535)); + $359 = +HEAPF32[$265>>2]; + $360 = $358 * $359; + $361 = +HEAPF32[$262>>2]; + $362 = $360 + $361; + $363 = $$09771224 + $362; + $364 = (($352) + ($$49061225<<2)|0); + HEAPF32[$364>>2] = $363; + $$0977$ = $354 ? $$09771224 : $363; + $365 = (($$49061225) + 1)|0; + $366 = ($365|0)<($355|0); + if ($366) { + $$09771224 = $$0977$;$$49061225 = $365; + } else { + break; + } + } + } + } while(0); + $368 = HEAP32[$279>>2]|0; + $369 = $368 << 1; + _setup_temp_free($0,$282,$369); + } + $370 = (($$18921232) + 1)|0; + $371 = HEAP32[$91>>2]|0; + $372 = ($370|0)<($371|0); + if ($372) { + $$18921232 = $370; + } else { + break L100; + } + } + switch (label|0) { + case 52: { + _error($0,20); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + break; + } + case 54: { + _error($0,20); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + break; + } + case 56: { + _error($0,20); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + break; + } + case 60: { + _error($0,20); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + break; + } + case 65: { + _error($0,3); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + break; + } + case 71: { + _error($0,20); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + break; + } + case 76: { + _error($0,20); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + break; + } + case 83: { + _error($0,3); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + break; + } + case 91: { + _error($0,3); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + break; + } + case 94: { + _error($0,3); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + break; + } + case 96: { + _error($0,3); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + break; + } + case 98: { + _error($0,3); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + break; + } + case 102: { + $228 = HEAP8[$133>>0]|0; + $229 = ($228<<24>>24)==(0); + if (!($229)) { + _setup_temp_free($0,$230,0); + } + _error($0,20); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + break; + } + case 107: { + _error($0,3); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + break; + } + case 109: { + _error($0,3); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + break; + } + case 114: { + _error($0,20); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + break; + } + case 120: { + _error($0,20); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + break; + } + case 123: { + _error($0,3); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + break; + } + case 125: { + $290 = HEAP32[$279>>2]|0; + $291 = $290 << 1; + _setup_temp_free($0,$282,$291); + _error($0,20); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + break; + } + case 132: { + $310 = HEAP32[$279>>2]|0; + $311 = $310 << 1; + _setup_temp_free($0,$282,$311); + _error($0,3); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + break; + } + case 143: { + $343 = $323 << 1; + _setup_temp_free($0,$282,$343); + _error($0,20); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + break; + } + case 150: { + $367 = $350 << 1; + _setup_temp_free($0,$282,$367); + _error($0,3); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + break; + } + } + } + } while(0); + $373 = (_get_bits($0,6)|0); + $374 = (($373) + 1)|0; + $375 = $374 & 255; + $376 = ($375|0)==(0); + L258: do { + if (!($376)) { + $$28931205 = 0; + while(1) { + $379 = (_get_bits($0,16)|0); + $380 = ($379|0)==(0); + $378 = (($$28931205) + 1)|0; + if (!($380)) { + break; + } + $377 = ($378|0)<($375|0); + if ($377) { + $$28931205 = $378; + } else { + break L258; + } + } + _error($0,20); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + } while(0); + $381 = (_get_bits($0,6)|0); + $382 = (($381) + 1)|0; + $383 = ((($0)) + 128|0); + HEAP32[$383>>2] = $382; + $384 = ($382*1596)|0; + $385 = (_setup_malloc($0,$384)|0); + $386 = ((($0)) + 260|0); + HEAP32[$386>>2] = $385; + $387 = ($385|0)==(0|0); + if ($387) { + _error($0,3); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + $388 = HEAP32[$383>>2]|0; + $389 = ($388|0)>(0); + do { + if ($389) { + $$09291199 = 0;$$38941200 = 0; + L271: while(1) { + $390 = (_get_bits($0,16)|0); + $391 = $390&65535; + $392 = (((($0)) + 132|0) + ($$38941200<<1)|0); + HEAP16[$392>>1] = $391; + $393 = $390 & 65535; + $394 = ($393>>>0)>(1); + if ($394) { + label = 162; + break; + } + $395 = ($393|0)==(0); + if ($395) { + label = 164; + break; + } + $426 = HEAP32[$386>>2]|0; + $427 = (_get_bits($0,5)|0); + $428 = $427&255; + $429 = (($426) + (($$38941200*1596)|0)|0); + HEAP8[$429>>0] = $428; + $430 = $427 & 255; + $431 = ($430|0)==(0); + if (!($431)) { + $$09641169 = -1;$$69081170 = 0; + while(1) { + $432 = (_get_bits($0,4)|0); + $433 = $432&255; + $434 = ((((($426) + (($$38941200*1596)|0)|0)) + 1|0) + ($$69081170)|0); + HEAP8[$434>>0] = $433; + $435 = $432 & 255; + $436 = ($435|0)>($$09641169|0); + $$$0964 = $436 ? $435 : $$09641169; + $437 = (($$69081170) + 1)|0; + $438 = HEAP8[$429>>0]|0; + $439 = $438&255; + $440 = ($437|0)<($439|0); + if ($440) { + $$09641169 = $$$0964;$$69081170 = $437; + } else { + $$79091177 = 0; + break; + } + } + while(1) { + $441 = (_get_bits($0,3)|0); + $442 = (($441) + 1)|0; + $443 = $442&255; + $444 = ((((($426) + (($$38941200*1596)|0)|0)) + 33|0) + ($$79091177)|0); + HEAP8[$444>>0] = $443; + $445 = (_get_bits($0,2)|0); + $446 = $445&255; + $447 = ((((($426) + (($$38941200*1596)|0)|0)) + 49|0) + ($$79091177)|0); + HEAP8[$447>>0] = $446; + $448 = ($446<<24>>24)==(0); + if ($448) { + $$19211174 = 0; + label = 175; + } else { + $450 = (_get_bits($0,8)|0); + $451 = $450&255; + $452 = ((((($426) + (($$38941200*1596)|0)|0)) + 65|0) + ($$79091177)|0); + HEAP8[$452>>0] = $451; + $453 = $450 & 255; + $454 = HEAP32[$91>>2]|0; + $455 = ($453|0)<($454|0); + if (!($455)) { + label = 173; + break L271; + } + $$pr1300 = HEAP8[$447>>0]|0; + $449 = ($$pr1300<<24>>24)==(31); + if (!($449)) { + $$19211174 = 0; + label = 175; + } + } + if ((label|0) == 175) { + while(1) { + label = 0; + $461 = (_get_bits($0,8)|0); + $462 = (($461) + 65535)|0; + $463 = $462&65535; + $464 = (((((($426) + (($$38941200*1596)|0)|0)) + 82|0) + ($$79091177<<4)|0) + ($$19211174<<1)|0); + HEAP16[$464>>1] = $463; + $sext = $462 << 16; + $465 = $sext >> 16; + $466 = HEAP32[$91>>2]|0; + $467 = ($465|0)<($466|0); + $460 = (($$19211174) + 1)|0; + if (!($467)) { + label = 176; + break L271; + } + $456 = HEAP8[$447>>0]|0; + $457 = $456&255; + $458 = 1 << $457; + $459 = ($460|0)<($458|0); + if ($459) { + $$19211174 = $460; + label = 175; + } else { + break; + } + } + } + $468 = (($$79091177) + 1)|0; + $469 = ($$79091177|0)<($$$0964|0); + if ($469) { + $$79091177 = $468; + } else { + break; + } + } + } + $470 = (_get_bits($0,2)|0); + $471 = (($470) + 1)|0; + $472 = $471&255; + $473 = (((($426) + (($$38941200*1596)|0)|0)) + 1588|0); + HEAP8[$473>>0] = $472; + $474 = (_get_bits($0,4)|0); + $475 = $474&255; + $476 = (((($426) + (($$38941200*1596)|0)|0)) + 1589|0); + HEAP8[$476>>0] = $475; + $477 = (((($426) + (($$38941200*1596)|0)|0)) + 338|0); + HEAP16[$477>>1] = 0; + $478 = $474 & 255; + $479 = 1 << $478; + $480 = $479&65535; + $481 = (((($426) + (($$38941200*1596)|0)|0)) + 340|0); + HEAP16[$481>>1] = $480; + $482 = (((($426) + (($$38941200*1596)|0)|0)) + 1592|0); + HEAP32[$482>>2] = 2; + $483 = HEAP8[$429>>0]|0; + $484 = ($483<<24>>24)==(0); + if ($484) { + $$99111188 = 0; + label = 183; + } else { + $$89101185 = 0; + while(1) { + $486 = ((((($426) + (($$38941200*1596)|0)|0)) + 1|0) + ($$89101185)|0); + $487 = HEAP8[$486>>0]|0; + $488 = $487&255; + $489 = ((((($426) + (($$38941200*1596)|0)|0)) + 33|0) + ($488)|0); + $490 = HEAP8[$489>>0]|0; + $491 = ($490<<24>>24)==(0); + if (!($491)) { + $$29221181 = 0; + while(1) { + $492 = HEAP8[$476>>0]|0; + $493 = $492&255; + $494 = (_get_bits($0,$493)|0); + $495 = $494&65535; + $496 = HEAP32[$482>>2]|0; + $497 = ((((($426) + (($$38941200*1596)|0)|0)) + 338|0) + ($496<<1)|0); + HEAP16[$497>>1] = $495; + $498 = HEAP32[$482>>2]|0; + $499 = (($498) + 1)|0; + HEAP32[$482>>2] = $499; + $500 = (($$29221181) + 1)|0; + $501 = HEAP8[$489>>0]|0; + $502 = $501&255; + $503 = ($500|0)<($502|0); + if ($503) { + $$29221181 = $500; + } else { + break; + } + } + } + $504 = (($$89101185) + 1)|0; + $505 = HEAP8[$429>>0]|0; + $506 = $505&255; + $507 = ($504|0)<($506|0); + if ($507) { + $$89101185 = $504; + } else { + break; + } + } + $$pr1301 = HEAP32[$482>>2]|0; + $485 = ($$pr1301|0)>(0); + if ($485) { + $$99111188 = 0; + label = 183; + } else { + $$lcssa1060 = $$pr1301; + } + } + if ((label|0) == 183) { + while(1) { + label = 0; + $508 = ((((($426) + (($$38941200*1596)|0)|0)) + 338|0) + ($$99111188<<1)|0); + $509 = HEAP16[$508>>1]|0; + $510 = (($2) + ($$99111188<<2)|0); + HEAP16[$510>>1] = $509; + $511 = $$99111188&65535; + $512 = (((($2) + ($$99111188<<2)|0)) + 2|0); + HEAP16[$512>>1] = $511; + $513 = (($$99111188) + 1)|0; + $514 = HEAP32[$482>>2]|0; + $515 = ($513|0)<($514|0); + if ($515) { + $$99111188 = $513; + label = 183; + } else { + $$lcssa1060 = $514; + break; + } + } + } + _qsort($2,$$lcssa1060,4,1); + $516 = HEAP32[$482>>2]|0; + $517 = ($516|0)>(0); + do { + if ($517) { + $$109121192 = 0; + while(1) { + $520 = (((($2) + ($$109121192<<2)|0)) + 2|0); + $521 = HEAP16[$520>>1]|0; + $522 = $521&255; + $523 = ((((($426) + (($$38941200*1596)|0)|0)) + 838|0) + ($$109121192)|0); + HEAP8[$523>>0] = $522; + $524 = (($$109121192) + 1)|0; + $519 = HEAP32[$482>>2]|0; + $525 = ($524|0)<($519|0); + if ($525) { + $$109121192 = $524; + } else { + break; + } + } + $518 = ($519|0)>(2); + if ($518) { + $$119131195 = 2; + } else { + $$lcssa1061 = $519; + break; + } + while(1) { + _neighbors($477,$$119131195,$3,$4); + $526 = HEAP32[$3>>2]|0; + $527 = $526&255; + $528 = ((((($426) + (($$38941200*1596)|0)|0)) + 1088|0) + ($$119131195<<1)|0); + HEAP8[$528>>0] = $527; + $529 = HEAP32[$4>>2]|0; + $530 = $529&255; + $531 = ((((((($426) + (($$38941200*1596)|0)|0)) + 1088|0) + ($$119131195<<1)|0)) + 1|0); + HEAP8[$531>>0] = $530; + $532 = (($$119131195) + 1)|0; + $533 = HEAP32[$482>>2]|0; + $534 = ($532|0)<($533|0); + if ($534) { + $$119131195 = $532; + } else { + $$lcssa1061 = $533; + break; + } + } + } else { + $$lcssa1061 = $516; + } + } while(0); + $535 = ($$lcssa1061|0)>($$09291199|0); + $$$0929 = $535 ? $$lcssa1061 : $$09291199; + $536 = (($$38941200) + 1)|0; + $537 = HEAP32[$383>>2]|0; + $538 = ($536|0)<($537|0); + if ($538) { + $$09291199 = $$$0929;$$38941200 = $536; + } else { + label = 190; + break; + } + } + if ((label|0) == 162) { + _error($0,20); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + else if ((label|0) == 164) { + $396 = HEAP32[$386>>2]|0; + $397 = (_get_bits($0,8)|0); + $398 = $397&255; + $399 = (($396) + (($$38941200*1596)|0)|0); + HEAP8[$399>>0] = $398; + $400 = (_get_bits($0,16)|0); + $401 = $400&65535; + $402 = (((($396) + (($$38941200*1596)|0)|0)) + 2|0); + HEAP16[$402>>1] = $401; + $403 = (_get_bits($0,16)|0); + $404 = $403&65535; + $405 = (((($396) + (($$38941200*1596)|0)|0)) + 4|0); + HEAP16[$405>>1] = $404; + $406 = (_get_bits($0,6)|0); + $407 = $406&255; + $408 = (((($396) + (($$38941200*1596)|0)|0)) + 6|0); + HEAP8[$408>>0] = $407; + $409 = (_get_bits($0,8)|0); + $410 = $409&255; + $411 = (((($396) + (($$38941200*1596)|0)|0)) + 7|0); + HEAP8[$411>>0] = $410; + $412 = (_get_bits($0,4)|0); + $413 = (($412) + 1)|0; + $414 = $413&255; + $415 = (((($396) + (($$38941200*1596)|0)|0)) + 8|0); + HEAP8[$415>>0] = $414; + $416 = $413 & 255; + $417 = ($416|0)==(0); + if (!($417)) { + $418 = (((($396) + (($$38941200*1596)|0)|0)) + 9|0); + $$59071118 = 0; + while(1) { + $419 = (_get_bits($0,8)|0); + $420 = $419&255; + $421 = (($418) + ($$59071118)|0); + HEAP8[$421>>0] = $420; + $422 = (($$59071118) + 1)|0; + $423 = HEAP8[$415>>0]|0; + $424 = $423&255; + $425 = ($422|0)<($424|0); + if ($425) { + $$59071118 = $422; + } else { + break; + } + } + } + _error($0,4); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + else if ((label|0) == 173) { + _error($0,20); + } + else if ((label|0) == 176) { + _error($0,20); + } + else if ((label|0) == 190) { + $phitmp1297 = $$$0929 << 1; + $$0929$lcssa = $phitmp1297; + break; + } + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } else { + $$0929$lcssa = 0; + } + } while(0); + $539 = (_get_bits($0,6)|0); + $540 = (($539) + 1)|0; + $541 = ((($0)) + 264|0); + HEAP32[$541>>2] = $540; + $542 = ($540*24)|0; + $543 = (_setup_malloc($0,$542)|0); + $544 = ((($0)) + 396|0); + HEAP32[$544>>2] = $543; + $545 = ($543|0)==(0|0); + if ($545) { + _error($0,3); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + $546 = HEAP32[$541>>2]|0; + $547 = ($546*24)|0; + _memset(($543|0),0,($547|0))|0; + $548 = HEAP32[$541>>2]|0; + $549 = ($548|0)>(0); + L328: do { + if ($549) { + $$48951165 = 0; + L330: while(1) { + $550 = HEAP32[$544>>2]|0; + $551 = (_get_bits($0,16)|0); + $552 = $551&65535; + $553 = (((($0)) + 268|0) + ($$48951165<<1)|0); + HEAP16[$553>>1] = $552; + $554 = $551 & 65535; + $555 = ($554>>>0)>(2); + if ($555) { + label = 196; + break; + } + $556 = (_get_bits($0,24)|0); + $557 = (($550) + (($$48951165*24)|0)|0); + HEAP32[$557>>2] = $556; + $558 = (_get_bits($0,24)|0); + $559 = (((($550) + (($$48951165*24)|0)|0)) + 4|0); + HEAP32[$559>>2] = $558; + $560 = HEAP32[$557>>2]|0; + $561 = ($558>>>0)<($560>>>0); + if ($561) { + label = 198; + break; + } + $562 = (_get_bits($0,24)|0); + $563 = (($562) + 1)|0; + $564 = (((($550) + (($$48951165*24)|0)|0)) + 8|0); + HEAP32[$564>>2] = $563; + $565 = (_get_bits($0,6)|0); + $566 = (($565) + 1)|0; + $567 = $566&255; + $568 = (((($550) + (($$48951165*24)|0)|0)) + 12|0); + HEAP8[$568>>0] = $567; + $569 = (_get_bits($0,8)|0); + $570 = $569&255; + $571 = (((($550) + (($$48951165*24)|0)|0)) + 13|0); + HEAP8[$571>>0] = $570; + $572 = $569 & 255; + $573 = HEAP32[$91>>2]|0; + $574 = ($572|0)<($573|0); + if (!($574)) { + label = 201; + break; + } + $575 = HEAP8[$568>>0]|0; + $576 = $575&255; + $577 = ($575<<24>>24)==(0); + if ($577) { + $$lcssa = $576; + } else { + $$129141148 = 0; + while(1) { + $578 = (_get_bits($0,3)|0); + $579 = (_get_bits($0,1)|0); + $580 = ($579|0)==(0); + if ($580) { + $$0957 = 0; + } else { + $581 = (_get_bits($0,5)|0); + $$0957 = $581; + } + $582 = $$0957 << 3; + $583 = (($582) + ($578))|0; + $584 = $583&255; + $585 = (($2) + ($$129141148)|0); + HEAP8[$585>>0] = $584; + $586 = (($$129141148) + 1)|0; + $587 = HEAP8[$568>>0]|0; + $588 = $587&255; + $589 = ($586|0)<($588|0); + if ($589) { + $$129141148 = $586; + } else { + $$lcssa = $588; + break; + } + } + } + $590 = $$lcssa << 4; + $591 = (_setup_malloc($0,$590)|0); + $592 = (((($550) + (($$48951165*24)|0)|0)) + 20|0); + HEAP32[$592>>2] = $591; + $593 = ($591|0)==(0|0); + if ($593) { + label = 207; + break; + } + $594 = HEAP8[$568>>0]|0; + $595 = ($594<<24>>24)==(0); + if (!($595)) { + $$139151153 = 0; + while(1) { + $596 = (($2) + ($$139151153)|0); + $597 = HEAP8[$596>>0]|0; + $598 = $597&255; + $$39231152 = 0; + while(1) { + $599 = 1 << $$39231152; + $600 = $598 & $599; + $601 = ($600|0)==(0); + if ($601) { + $612 = HEAP32[$592>>2]|0; + $613 = ((($612) + ($$139151153<<4)|0) + ($$39231152<<1)|0); + HEAP16[$613>>1] = -1; + } else { + $602 = (_get_bits($0,8)|0); + $603 = $602&65535; + $604 = HEAP32[$592>>2]|0; + $605 = ((($604) + ($$139151153<<4)|0) + ($$39231152<<1)|0); + HEAP16[$605>>1] = $603; + $606 = HEAP32[$592>>2]|0; + $607 = ((($606) + ($$139151153<<4)|0) + ($$39231152<<1)|0); + $608 = HEAP16[$607>>1]|0; + $609 = $608 << 16 >> 16; + $610 = HEAP32[$91>>2]|0; + $611 = ($609|0)<($610|0); + if (!($611)) { + label = 211; + break L330; + } + } + $614 = (($$39231152) + 1)|0; + $615 = ($614|0)<(8); + if ($615) { + $$39231152 = $614; + } else { + break; + } + } + $616 = (($$139151153) + 1)|0; + $617 = HEAP8[$568>>0]|0; + $618 = $617&255; + $619 = ($616|0)<($618|0); + if ($619) { + $$139151153 = $616; + } else { + break; + } + } + } + $620 = HEAP32[$94>>2]|0; + $621 = HEAP8[$571>>0]|0; + $622 = $621&255; + $623 = (((($620) + (($622*2096)|0)|0)) + 4|0); + $624 = HEAP32[$623>>2]|0; + $625 = $624 << 2; + $626 = (_setup_malloc($0,$625)|0); + $627 = (((($550) + (($$48951165*24)|0)|0)) + 16|0); + HEAP32[$627>>2] = $626; + $628 = ($626|0)==(0|0); + if ($628) { + label = 216; + break; + } + $629 = HEAP32[$94>>2]|0; + $630 = HEAP8[$571>>0]|0; + $631 = $630&255; + $632 = (((($629) + (($631*2096)|0)|0)) + 4|0); + $633 = HEAP32[$632>>2]|0; + $634 = $633 << 2; + _memset(($626|0),0,($634|0))|0; + $635 = HEAP32[$94>>2]|0; + $636 = HEAP8[$571>>0]|0; + $637 = $636&255; + $638 = (((($635) + (($637*2096)|0)|0)) + 4|0); + $639 = HEAP32[$638>>2]|0; + $640 = ($639|0)>(0); + if ($640) { + $$149161160 = 0;$642 = $635;$643 = $637; + while(1) { + $641 = (($642) + (($643*2096)|0)|0); + $644 = HEAP32[$641>>2]|0; + $645 = (_setup_malloc($0,$644)|0); + $646 = HEAP32[$627>>2]|0; + $647 = (($646) + ($$149161160<<2)|0); + HEAP32[$647>>2] = $645; + $648 = HEAP32[$627>>2]|0; + $649 = (($648) + ($$149161160<<2)|0); + $650 = HEAP32[$649>>2]|0; + $651 = ($650|0)==(0|0); + if ($651) { + label = 221; + break L330; + } + $652 = ($644|0)>(0); + if ($652) { + $$09501156 = $$149161160;$$49241157$in = $644; + while(1) { + $$49241157 = (($$49241157$in) + -1)|0; + $653 = HEAP8[$568>>0]|0; + $654 = $653&255; + $655 = (($$09501156|0) % ($654|0))&-1; + $656 = $655&255; + $657 = HEAP32[$627>>2]|0; + $658 = (($657) + ($$149161160<<2)|0); + $659 = HEAP32[$658>>2]|0; + $660 = (($659) + ($$49241157)|0); + HEAP8[$660>>0] = $656; + $661 = HEAP8[$568>>0]|0; + $662 = $661&255; + $663 = (($$09501156|0) / ($662|0))&-1; + $664 = ($$49241157$in|0)>(1); + if ($664) { + $$09501156 = $663;$$49241157$in = $$49241157; + } else { + break; + } + } + } + $665 = (($$149161160) + 1)|0; + $666 = HEAP32[$94>>2]|0; + $667 = HEAP8[$571>>0]|0; + $668 = $667&255; + $669 = (((($666) + (($668*2096)|0)|0)) + 4|0); + $670 = HEAP32[$669>>2]|0; + $671 = ($665|0)<($670|0); + if ($671) { + $$149161160 = $665;$642 = $666;$643 = $668; + } else { + break; + } + } + } + $672 = (($$48951165) + 1)|0; + $673 = HEAP32[$541>>2]|0; + $674 = ($672|0)<($673|0); + if ($674) { + $$48951165 = $672; + } else { + break L328; + } + } + if ((label|0) == 196) { + _error($0,20); + } + else if ((label|0) == 198) { + _error($0,20); + } + else if ((label|0) == 201) { + _error($0,20); + } + else if ((label|0) == 207) { + _error($0,3); + } + else if ((label|0) == 211) { + _error($0,20); + } + else if ((label|0) == 216) { + _error($0,3); + } + else if ((label|0) == 221) { + _error($0,3); + } + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + } while(0); + $675 = (_get_bits($0,6)|0); + $676 = (($675) + 1)|0; + $677 = ((($0)) + 400|0); + HEAP32[$677>>2] = $676; + $678 = ($676*40)|0; + $679 = (_setup_malloc($0,$678)|0); + $680 = ((($0)) + 404|0); + HEAP32[$680>>2] = $679; + $681 = ($679|0)==(0|0); + if ($681) { + _error($0,3); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + $682 = HEAP32[$677>>2]|0; + $683 = ($682*40)|0; + _memset(($679|0),0,($683|0))|0; + $684 = HEAP32[$677>>2]|0; + $685 = ($684|0)>(0); + L379: do { + if ($685) { + $$58961143 = 0; + L380: while(1) { + $686 = HEAP32[$680>>2]|0; + $687 = (($686) + (($$58961143*40)|0)|0); + $688 = (_get_bits($0,16)|0); + $689 = ($688|0)==(0); + if (!($689)) { + label = 229; + break; + } + $690 = HEAP32[$32>>2]|0; + $691 = ($690*3)|0; + $692 = (_setup_malloc($0,$691)|0); + $693 = (((($686) + (($$58961143*40)|0)|0)) + 4|0); + HEAP32[$693>>2] = $692; + $694 = ($692|0)==(0|0); + if ($694) { + label = 231; + break; + } + $695 = (_get_bits($0,1)|0); + $696 = ($695|0)==(0); + if ($696) { + $$sink26 = 1; + } else { + $697 = (_get_bits($0,4)|0); + $698 = (($697) + 1)|0; + $699 = $698&255; + $$sink26 = $699; + } + $700 = (((($686) + (($$58961143*40)|0)|0)) + 8|0); + HEAP8[$700>>0] = $$sink26; + $701 = (_get_bits($0,1)|0); + $702 = ($701|0)==(0); + do { + if ($702) { + HEAP16[$687>>1] = 0; + } else { + $703 = (_get_bits($0,8)|0); + $704 = (($703) + 1)|0; + $705 = $704&65535; + HEAP16[$687>>1] = $705; + $706 = $704 & 65535; + $707 = ($706|0)==(0); + if ($707) { + break; + } else { + $$59251132 = 0; + } + while(1) { + $712 = HEAP32[$32>>2]|0; + $713 = (($712) + -1)|0; + $714 = (_ilog($713)|0); + $715 = (_get_bits($0,$714)|0); + $716 = $715&255; + $717 = HEAP32[$693>>2]|0; + $718 = (($717) + (($$59251132*3)|0)|0); + HEAP8[$718>>0] = $716; + $719 = HEAP32[$32>>2]|0; + $720 = (($719) + -1)|0; + $721 = (_ilog($720)|0); + $722 = (_get_bits($0,$721)|0); + $723 = $722&255; + $724 = HEAP32[$693>>2]|0; + $725 = (((($724) + (($$59251132*3)|0)|0)) + 1|0); + HEAP8[$725>>0] = $723; + $726 = HEAP32[$693>>2]|0; + $727 = (($726) + (($$59251132*3)|0)|0); + $728 = HEAP8[$727>>0]|0; + $729 = $728&255; + $730 = HEAP32[$32>>2]|0; + $731 = ($729|0)<($730|0); + if (!($731)) { + label = 238; + break L380; + } + $732 = (((($726) + (($$59251132*3)|0)|0)) + 1|0); + $733 = HEAP8[$732>>0]|0; + $734 = $733&255; + $735 = ($734|0)<($730|0); + if (!($735)) { + label = 240; + break L380; + } + $736 = ($728<<24>>24)==($733<<24>>24); + $711 = (($$59251132) + 1)|0; + if ($736) { + label = 242; + break L380; + } + $708 = HEAP16[$687>>1]|0; + $709 = $708&65535; + $710 = ($711|0)<($709|0); + if ($710) { + $$59251132 = $711; + } else { + break; + } + } + } + } while(0); + $737 = (_get_bits($0,2)|0); + $738 = ($737|0)==(0); + if (!($738)) { + label = 245; + break; + } + $739 = HEAP8[$700>>0]|0; + $740 = ($739&255)>(1); + $741 = HEAP32[$32>>2]|0; + $742 = ($741|0)>(0); + do { + if ($740) { + if ($742) { + $$159171137 = 0; + } else { + break; + } + while(1) { + $750 = (_get_bits($0,4)|0); + $751 = $750&255; + $752 = HEAP32[$693>>2]|0; + $753 = (((($752) + (($$159171137*3)|0)|0)) + 2|0); + HEAP8[$753>>0] = $751; + $754 = HEAP32[$693>>2]|0; + $755 = (((($754) + (($$159171137*3)|0)|0)) + 2|0); + $756 = HEAP8[$755>>0]|0; + $757 = HEAP8[$700>>0]|0; + $758 = ($756&255)<($757&255); + $747 = (($$159171137) + 1)|0; + if (!($758)) { + label = 253; + break L380; + } + $745 = HEAP32[$32>>2]|0; + $746 = ($747|0)<($745|0); + if ($746) { + $$159171137 = $747; + } else { + break; + } + } + } else { + if (!($742)) { + break; + } + $743 = HEAP32[$693>>2]|0; + $744 = HEAP32[$32>>2]|0; + $$169181135 = 0; + while(1) { + $759 = (((($743) + (($$169181135*3)|0)|0)) + 2|0); + HEAP8[$759>>0] = 0; + $760 = (($$169181135) + 1)|0; + $761 = ($760|0)<($744|0); + if ($761) { + $$169181135 = $760; + } else { + break; + } + } + } + } while(0); + $748 = HEAP8[$700>>0]|0; + $749 = ($748<<24>>24)==(0); + if (!($749)) { + $$179191139 = 0; + while(1) { + (_get_bits($0,8)|0); + $766 = (_get_bits($0,8)|0); + $767 = $766&255; + $768 = ((((($686) + (($$58961143*40)|0)|0)) + 9|0) + ($$179191139)|0); + HEAP8[$768>>0] = $767; + $769 = (_get_bits($0,8)|0); + $770 = $769&255; + $771 = ((((($686) + (($$58961143*40)|0)|0)) + 24|0) + ($$179191139)|0); + HEAP8[$771>>0] = $770; + $772 = HEAP8[$768>>0]|0; + $773 = $772&255; + $774 = HEAP32[$383>>2]|0; + $775 = ($773|0)<($774|0); + if (!($775)) { + label = 257; + break L380; + } + $776 = $769 & 255; + $777 = HEAP32[$541>>2]|0; + $778 = ($776|0)<($777|0); + $765 = (($$179191139) + 1)|0; + if (!($778)) { + label = 259; + break L380; + } + $762 = HEAP8[$700>>0]|0; + $763 = $762&255; + $764 = ($765|0)<($763|0); + if ($764) { + $$179191139 = $765; + } else { + break; + } + } + } + $779 = (($$58961143) + 1)|0; + $780 = HEAP32[$677>>2]|0; + $781 = ($779|0)<($780|0); + if ($781) { + $$58961143 = $779; + } else { + break L379; + } + } + if ((label|0) == 229) { + _error($0,20); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + else if ((label|0) == 231) { + _error($0,3); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + else if ((label|0) == 238) { + _error($0,20); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + else if ((label|0) == 240) { + _error($0,20); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + else if ((label|0) == 242) { + _error($0,20); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + else if ((label|0) == 245) { + _error($0,20); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + else if ((label|0) == 253) { + _error($0,20); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + else if ((label|0) == 257) { + _error($0,20); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + else if ((label|0) == 259) { + _error($0,20); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + } + } while(0); + $782 = (_get_bits($0,6)|0); + $783 = (($782) + 1)|0; + $784 = ((($0)) + 408|0); + HEAP32[$784>>2] = $783; + $785 = ($783|0)>(0); + L433: do { + if ($785) { + $$68971128 = 0; + while(1) { + $789 = (_get_bits($0,1)|0); + $790 = $789&255; + $791 = (((($0)) + 412|0) + (($$68971128*6)|0)|0); + HEAP8[$791>>0] = $790; + $792 = (_get_bits($0,16)|0); + $793 = $792&65535; + $794 = (((((($0)) + 412|0) + (($$68971128*6)|0)|0)) + 2|0); + HEAP16[$794>>1] = $793; + $795 = (_get_bits($0,16)|0); + $796 = $795&65535; + $797 = (((((($0)) + 412|0) + (($$68971128*6)|0)|0)) + 4|0); + HEAP16[$797>>1] = $796; + $798 = (_get_bits($0,8)|0); + $799 = $798&255; + $800 = (((((($0)) + 412|0) + (($$68971128*6)|0)|0)) + 1|0); + HEAP8[$800>>0] = $799; + $801 = HEAP16[$794>>1]|0; + $802 = ($801<<16>>16)==(0); + if (!($802)) { + label = 264; + break; + } + $803 = HEAP16[$797>>1]|0; + $804 = ($803<<16>>16)==(0); + if (!($804)) { + label = 266; + break; + } + $805 = $798 & 255; + $806 = HEAP32[$677>>2]|0; + $807 = ($805|0)<($806|0); + $788 = (($$68971128) + 1)|0; + if (!($807)) { + label = 268; + break; + } + $786 = HEAP32[$784>>2]|0; + $787 = ($788|0)<($786|0); + if ($787) { + $$68971128 = $788; + } else { + break L433; + } + } + if ((label|0) == 264) { + _error($0,20); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + else if ((label|0) == 266) { + _error($0,20); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + else if ((label|0) == 268) { + _error($0,20); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + } + } while(0); + _flush_packet($0); + $808 = ((($0)) + 992|0); + HEAP32[$808>>2] = 0; + $809 = HEAP32[$32>>2]|0; + $810 = ($809|0)>(0); + L447: do { + if ($810) { + $$78981124 = 0; + while(1) { + $814 = HEAP32[$44>>2]|0; + $815 = $814 << 2; + $816 = (_setup_malloc($0,$815)|0); + $817 = (((($0)) + 800|0) + ($$78981124<<2)|0); + HEAP32[$817>>2] = $816; + $818 = HEAP32[$44>>2]|0; + $819 = $818 << 1; + $820 = $819 & 2147483646; + $821 = (_setup_malloc($0,$820)|0); + $822 = (((($0)) + 928|0) + ($$78981124<<2)|0); + HEAP32[$822>>2] = $821; + $823 = (_setup_malloc($0,$$0929$lcssa)|0); + $824 = (((($0)) + 996|0) + ($$78981124<<2)|0); + HEAP32[$824>>2] = $823; + $825 = HEAP32[$817>>2]|0; + $826 = ($825|0)==(0|0); + if ($826) { + break; + } + $827 = HEAP32[$822>>2]|0; + $828 = ($827|0)==(0|0); + $829 = ($823|0)==(0|0); + $or$cond991 = $829 | $828; + $813 = (($$78981124) + 1)|0; + if ($or$cond991) { + break; + } + $811 = HEAP32[$32>>2]|0; + $812 = ($813|0)<($811|0); + if ($812) { + $$78981124 = $813; + } else { + break L447; + } + } + _error($0,3); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + } while(0); + $830 = HEAP32[$42>>2]|0; + $831 = (_init_blocksize($0,0,$830)|0); + $832 = ($831|0)==(0); + if ($832) { + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + $833 = HEAP32[$44>>2]|0; + $834 = (_init_blocksize($0,1,$833)|0); + $835 = ($834|0)==(0); + if ($835) { + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + $836 = HEAP32[$42>>2]|0; + $837 = ((($0)) + 104|0); + HEAP32[$837>>2] = $836; + $838 = HEAP32[$44>>2]|0; + $839 = ((($0)) + 108|0); + HEAP32[$839>>2] = $838; + $840 = $838 << 1; + $841 = $840 & 2147483646; + $842 = HEAP32[$541>>2]|0; + $843 = ($842|0)>(0); + if ($843) { + $844 = HEAP32[$544>>2]|0; + $845 = HEAP32[$541>>2]|0; + $$08991120 = 0;$$09011119 = 0; + while(1) { + $846 = (((($844) + (($$09011119*24)|0)|0)) + 4|0); + $847 = HEAP32[$846>>2]|0; + $848 = (($844) + (($$09011119*24)|0)|0); + $849 = HEAP32[$848>>2]|0; + $850 = (($847) - ($849))|0; + $851 = (((($844) + (($$09011119*24)|0)|0)) + 8|0); + $852 = HEAP32[$851>>2]|0; + $853 = (($850>>>0) / ($852>>>0))&-1; + $854 = ($853|0)>($$08991120|0); + $$$0899 = $854 ? $853 : $$08991120; + $855 = (($$09011119) + 1)|0; + $856 = ($855|0)<($845|0); + if ($856) { + $$08991120 = $$$0899;$$09011119 = $855; + } else { + break; + } + } + $phitmp = $$$0899 << 2; + $phitmp1296 = (($phitmp) + 4)|0; + $$0899$lcssa = $phitmp1296; + } else { + $$0899$lcssa = 4; + } + $857 = HEAP32[$32>>2]|0; + $858 = Math_imul($857, $$0899$lcssa)|0; + $859 = ((($0)) + 12|0); + $860 = ($841>>>0)>($858>>>0); + $$ = $860 ? $841 : $858; + HEAP32[$859>>2] = $$; + $861 = ((($0)) + 1377|0); + HEAP8[$861>>0] = 1; + $862 = ((($0)) + 80|0); + $863 = HEAP32[$862>>2]|0; + $864 = ($863|0)==(0|0); + do { + if (!($864)) { + $865 = ((($0)) + 92|0); + $866 = HEAP32[$865>>2]|0; + $867 = ((($0)) + 84|0); + $868 = HEAP32[$867>>2]|0; + $869 = ($866|0)==($868|0); + if (!($869)) { + ___assert_fail((12863|0),(12359|0),3714,(12919|0)); + // unreachable; + } + $870 = ((($0)) + 88|0); + $871 = HEAP32[$870>>2]|0; + $872 = (($871) + 1512)|0; + $873 = HEAP32[$859>>2]|0; + $874 = (($872) + ($873))|0; + $875 = ($874>>>0)>($866>>>0); + if (!($875)) { + break; + } + _error($0,3); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + } while(0); + $876 = (_stb_vorbis_get_file_offset($0)|0); + $877 = ((($0)) + 52|0); + HEAP32[$877>>2] = $876; + $$34 = 1; + STACKTOP = sp;return ($$34|0); +} +function _vorbis_alloc($0) { + $0 = $0|0; + var $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (_setup_malloc($0,1512)|0); + return ($1|0); +} +function _vorbis_pump_first_frame($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $1 = sp + 8|0; + $2 = sp + 4|0; + $3 = sp; + $4 = (_vorbis_decode_packet($0,$1,$3,$2)|0); + $5 = ($4|0)==(0); + if ($5) { + STACKTOP = sp;return ($4|0); + } + $6 = HEAP32[$1>>2]|0; + $7 = HEAP32[$3>>2]|0; + $8 = HEAP32[$2>>2]|0; + (_vorbis_finish_frame($0,$6,$7,$8)|0); + STACKTOP = sp;return ($4|0); +} +function _setup_malloc($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = (($1) + 3)|0; + $3 = $2 & -4; + $4 = ((($0)) + 8|0); + $5 = HEAP32[$4>>2]|0; + $6 = (($5) + ($3))|0; + HEAP32[$4>>2] = $6; + $7 = ((($0)) + 80|0); + $8 = HEAP32[$7>>2]|0; + $9 = ($8|0)==(0|0); + if ($9) { + $17 = ($3|0)==(0); + if ($17) { + $$1 = 0; + return ($$1|0); + } + $18 = (_malloc($3)|0); + $$1 = $18; + return ($$1|0); + } else { + $10 = ((($0)) + 88|0); + $11 = HEAP32[$10>>2]|0; + $12 = (($11) + ($3))|0; + $13 = ((($0)) + 92|0); + $14 = HEAP32[$13>>2]|0; + $15 = ($12|0)>($14|0); + if ($15) { + $$1 = 0; + return ($$1|0); + } + $16 = (($8) + ($11)|0); + HEAP32[$10>>2] = $12; + $$1 = $16; + return ($$1|0); + } + return (0)|0; +} +function _vorbis_validate($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (_memcmp($0,13235,6)|0); + $2 = ($1|0)==(0); + $3 = $2&1; + return ($3|0); +} +function _skip($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($0)) + 32|0); + $3 = HEAP32[$2>>2]|0; + $4 = ($3|0)==(0|0); + if ($4) { + $10 = ((($0)) + 20|0); + $11 = HEAP32[$10>>2]|0; + $12 = (_ftell($11)|0); + $13 = HEAP32[$10>>2]|0; + $14 = (($12) + ($1))|0; + (_fseek($13,$14,0)|0); + return; + } + $5 = (($3) + ($1)|0); + HEAP32[$2>>2] = $5; + $6 = ((($0)) + 40|0); + $7 = HEAP32[$6>>2]|0; + $8 = ($5>>>0)<($7>>>0); + if ($8) { + return; + } + $9 = ((($0)) + 96|0); + HEAP32[$9>>2] = 1; + return; +} +function _is_whole_packet_present($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$$068 = 0, $$$3 = 0, $$068$lcssa = 0, $$06892 = 0, $$07291 = 0, $$078 = 0, $$078$ph = 0, $$173 = 0, $$2 = 0, $$270 = 0, $$270$ph = 0, $$274 = 0, $$274$ph = 0, $$3$lcssa = 0, $$37585 = 0, $$386 = 0, $$476 = 0, $$lcssa = 0, $10 = 0, $11 = 0; + var $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0; + var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0; + var $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0; + var $67 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond82 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($0)) + 1380|0); + $3 = HEAP32[$2>>2]|0; + $4 = ((($0)) + 32|0); + $5 = HEAP32[$4>>2]|0; + $6 = ($3|0)==(-1); + if ($6) { + $$078$ph = 1;$$270$ph = -1;$$274$ph = $5; + } else { + $7 = ((($0)) + 1116|0); + $8 = HEAP32[$7>>2]|0; + $9 = ($3|0)<($8|0); + L3: do { + if ($9) { + $$06892 = $3;$$07291 = $5;$67 = $8; + while(1) { + $10 = (((($0)) + 1120|0) + ($$06892)|0); + $11 = HEAP8[$10>>0]|0; + $12 = $11&255; + $13 = (($$07291) + ($12)|0); + $14 = ($11<<24>>24)==(-1); + if (!($14)) { + $$068$lcssa = $$06892;$$173 = $13;$$lcssa = $67; + break L3; + } + $15 = (($$06892) + 1)|0; + $16 = HEAP32[$7>>2]|0; + $17 = ($15|0)<($16|0); + if ($17) { + $$06892 = $15;$$07291 = $13;$67 = $16; + } else { + $$068$lcssa = $15;$$173 = $13;$$lcssa = $16; + break; + } + } + } else { + $$068$lcssa = $3;$$173 = $5;$$lcssa = $8; + } + } while(0); + $18 = ($1|0)!=(0); + $19 = (($$lcssa) + -1)|0; + $20 = ($$068$lcssa|0)<($19|0); + $or$cond = $18 & $20; + if ($or$cond) { + _error($0,21); + $$2 = 0; + return ($$2|0); + } + $21 = ($$068$lcssa|0)==($$lcssa|0); + $$$068 = $21 ? -1 : $$068$lcssa; + $22 = ((($0)) + 40|0); + $23 = HEAP32[$22>>2]|0; + $24 = ($$173>>>0)>($23>>>0); + if ($24) { + _error($0,1); + $$2 = 0; + return ($$2|0); + } else { + $$078$ph = 0;$$270$ph = $$$068;$$274$ph = $$173; + } + } + $25 = ((($0)) + 40|0); + $26 = ($1|0)!=(0); + $27 = ((($0)) + 992|0); + $$078 = $$078$ph;$$270 = $$270$ph;$$274 = $$274$ph; + while(1) { + $28 = ($$270|0)==(-1); + if (!($28)) { + $$2 = 1; + label = 32; + break; + } + $29 = ((($$274)) + 26|0); + $30 = HEAP32[$25>>2]|0; + $31 = ($29>>>0)<($30>>>0); + if (!($31)) { + label = 12; + break; + } + $32 = (_memcmp($$274,4700,4)|0); + $33 = ($32|0)==(0); + if (!($33)) { + label = 14; + break; + } + $34 = ((($$274)) + 4|0); + $35 = HEAP8[$34>>0]|0; + $36 = ($35<<24>>24)==(0); + if (!($36)) { + label = 16; + break; + } + $37 = ($$078|0)==(0); + if ($37) { + $44 = ((($$274)) + 5|0); + $45 = HEAP8[$44>>0]|0; + $46 = $45 & 1; + $47 = ($46<<24>>24)==(0); + if ($47) { + label = 22; + break; + } + } else { + $38 = HEAP32[$27>>2]|0; + $39 = ($38|0)==(0); + if (!($39)) { + $40 = ((($$274)) + 5|0); + $41 = HEAP8[$40>>0]|0; + $42 = $41 & 1; + $43 = ($42<<24>>24)==(0); + if (!($43)) { + label = 20; + break; + } + } + } + $48 = HEAP8[$29>>0]|0; + $49 = $48&255; + $50 = ((($$274)) + 27|0); + $51 = (($50) + ($49)|0); + $52 = HEAP32[$25>>2]|0; + $53 = ($51>>>0)>($52>>>0); + if ($53) { + label = 25; + break; + } + $54 = ($48<<24>>24)==(0); + L27: do { + if ($54) { + $$3$lcssa = 0;$$476 = $51; + } else { + $$37585 = $51;$$386 = 0; + while(1) { + $55 = (($50) + ($$386)|0); + $56 = HEAP8[$55>>0]|0; + $57 = $56&255; + $58 = (($$37585) + ($57)|0); + $59 = ($56<<24>>24)==(-1); + if (!($59)) { + $$3$lcssa = $$386;$$476 = $58; + break L27; + } + $60 = (($$386) + 1)|0; + $61 = ($60|0)<($49|0); + if ($61) { + $$37585 = $58;$$386 = $60; + } else { + $$3$lcssa = $60;$$476 = $58; + break; + } + } + } + } while(0); + $62 = (($49) + -1)|0; + $63 = ($$3$lcssa|0)<($62|0); + $or$cond82 = $26 & $63; + if ($or$cond82) { + label = 29; + break; + } + $64 = ($$3$lcssa|0)==($49|0); + $$$3 = $64 ? -1 : $$3$lcssa; + $65 = HEAP32[$25>>2]|0; + $66 = ($$476>>>0)>($65>>>0); + if ($66) { + label = 31; + break; + } else { + $$078 = 0;$$270 = $$$3;$$274 = $$476; + } + } + if ((label|0) == 12) { + _error($0,1); + $$2 = 0; + return ($$2|0); + } + else if ((label|0) == 14) { + _error($0,21); + $$2 = 0; + return ($$2|0); + } + else if ((label|0) == 16) { + _error($0,21); + $$2 = 0; + return ($$2|0); + } + else if ((label|0) == 20) { + _error($0,21); + $$2 = 0; + return ($$2|0); + } + else if ((label|0) == 22) { + _error($0,21); + $$2 = 0; + return ($$2|0); + } + else if ((label|0) == 25) { + _error($0,1); + $$2 = 0; + return ($$2|0); + } + else if ((label|0) == 29) { + _error($0,21); + $$2 = 0; + return ($$2|0); + } + else if ((label|0) == 31) { + _error($0,1); + $$2 = 0; + return ($$2|0); + } + else if ((label|0) == 32) { + return ($$2|0); + } + return (0)|0; +} +function _crc32_init() { + var $$01417 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; + var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, label = 0, sp = 0; + sp = STACKTOP; + $$01417 = 0; + while(1) { + $0 = $$01417 << 24; + $1 = $$01417 << 25; + $2 = $0 >> 31; + $3 = $2 & 79764919; + $4 = $3 ^ $1; + $5 = $4 << 1; + $6 = $1 >> 31; + $7 = $6 & 79764919; + $8 = $7 ^ $5; + $9 = $8 << 1; + $10 = $5 >> 31; + $11 = $10 & 79764919; + $12 = $11 ^ $9; + $13 = $12 << 1; + $14 = $9 >> 31; + $15 = $14 & 79764919; + $16 = $15 ^ $13; + $17 = $16 << 1; + $18 = $13 >> 31; + $19 = $18 & 79764919; + $20 = $19 ^ $17; + $21 = $20 << 1; + $22 = $17 >> 31; + $23 = $22 & 79764919; + $24 = $23 ^ $21; + $25 = $24 << 1; + $26 = $21 >> 31; + $27 = $26 & 79764919; + $28 = $27 ^ $25; + $29 = $28 << 1; + $30 = $25 >> 31; + $31 = $30 & 79764919; + $32 = $31 ^ $29; + $33 = (23380 + ($$01417<<2)|0); + HEAP32[$33>>2] = $32; + $34 = (($$01417) + 1)|0; + $exitcond = ($34|0)==(256); + if ($exitcond) { + break; + } else { + $$01417 = $34; + } + } + return; +} +function _setup_temp_free($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ((($0)) + 80|0); + $4 = HEAP32[$3>>2]|0; + $5 = ($4|0)==(0|0); + if ($5) { + _free($1); + return; + } else { + $6 = (($2) + 3)|0; + $7 = $6 & -4; + $8 = ((($0)) + 92|0); + $9 = HEAP32[$8>>2]|0; + $10 = (($9) + ($7))|0; + HEAP32[$8>>2] = $10; + return; + } +} +function _compute_codewords($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$06983 = 0, $$072$ph = 0, $$074$lcssa = 0, $$07488 = 0, $$07586 = 0, $$084 = 0, $$176 = 0, $$176$in = 0, $$176$in$ph = 0, $$2 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0; + var $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0; + var $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $6 = 0, $7 = 0; + var $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0); + $4 = sp; + dest=$4; stop=dest+128|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + $5 = ($2|0)>(0); + L1: do { + if ($5) { + $$07488 = 0; + while(1) { + $6 = (($1) + ($$07488)|0); + $7 = HEAP8[$6>>0]|0; + $8 = ($7<<24>>24)==(-1); + if (!($8)) { + $$074$lcssa = $$07488; + break L1; + } + $9 = (($$07488) + 1)|0; + $10 = ($9|0)<($2|0); + if ($10) { + $$07488 = $9; + } else { + $$074$lcssa = $9; + break; + } + } + } else { + $$074$lcssa = 0; + } + } while(0); + $11 = ($$074$lcssa|0)==($2|0); + if ($11) { + $12 = ((($0)) + 2092|0); + $13 = HEAP32[$12>>2]|0; + $14 = ($13|0)==(0); + if ($14) { + $$2 = 1; + STACKTOP = sp;return ($$2|0); + } else { + ___assert_fail((13132|0),(12359|0),665,(13155|0)); + // unreachable; + } + } + $15 = (($1) + ($$074$lcssa)|0); + $16 = HEAP8[$15>>0]|0; + $17 = $16&255; + _add_entry($0,0,$$074$lcssa,0,$17,$3); + $18 = HEAP8[$15>>0]|0; + $19 = ($18<<24>>24)==(0); + if ($19) { + $$072$ph = 1;$$176$in$ph = $$074$lcssa; + } else { + $20 = HEAP8[$15>>0]|0; + $21 = $20&255; + $$07586 = 1; + while(1) { + $22 = (32 - ($$07586))|0; + $23 = 1 << $22; + $24 = (($4) + ($$07586<<2)|0); + HEAP32[$24>>2] = $23; + $25 = (($$07586) + 1)|0; + $26 = ($$07586|0)<($21|0); + if ($26) { + $$07586 = $25; + } else { + $$072$ph = 1;$$176$in$ph = $$074$lcssa; + break; + } + } + } + L16: while(1) { + $$176$in = $$176$in$ph; + L18: while(1) { + $$176 = (($$176$in) + 1)|0; + $27 = ($$176|0)<($2|0); + if (!($27)) { + $$2 = 1; + label = 25; + break L16; + } + $28 = (($1) + ($$176)|0); + $29 = HEAP8[$28>>0]|0; + switch ($29<<24>>24) { + case 0: { + $$2 = 0; + label = 25; + break L16; + break; + } + case -1: { + $$176$in = $$176; + break; + } + default: { + break L18; + } + } + } + $30 = $29&255; + $$06983 = $30; + while(1) { + $31 = (($4) + ($$06983<<2)|0); + $32 = HEAP32[$31>>2]|0; + $33 = ($32|0)==(0); + if (!($33)) { + break; + } + $34 = (($$06983) + -1)|0; + $35 = ($$06983|0)>(1); + if ($35) { + $$06983 = $34; + } else { + $$2 = 0; + label = 25; + break L16; + } + } + $36 = (($4) + ($$06983<<2)|0); + $37 = HEAP32[$36>>2]|0; + $38 = ($$06983>>>0)<(32); + if (!($38)) { + label = 17; + break; + } + HEAP32[$36>>2] = 0; + $39 = (_bit_reverse($37)|0); + $40 = (($$072$ph) + 1)|0; + $41 = HEAP8[$28>>0]|0; + $42 = $41&255; + _add_entry($0,$39,$$176,$$072$ph,$42,$3); + $43 = HEAP8[$28>>0]|0; + $44 = $43&255; + $45 = ($$06983|0)==($44|0); + if ($45) { + $$072$ph = $40;$$176$in$ph = $$176; + continue; + } + $46 = ($43&255)<(32); + if (!($46)) { + label = 21; + break; + } + $47 = ($44|0)>($$06983|0); + if ($47) { + $$084 = $44; + } else { + $$072$ph = $40;$$176$in$ph = $$176; + continue; + } + while(1) { + $48 = (($4) + ($$084<<2)|0); + $49 = HEAP32[$48>>2]|0; + $50 = ($49|0)==(0); + if (!($50)) { + label = 23; + break L16; + } + $51 = (32 - ($$084))|0; + $52 = 1 << $51; + $53 = (($52) + ($37))|0; + HEAP32[$48>>2] = $53; + $54 = (($$084) + -1)|0; + $55 = ($54|0)>($$06983|0); + if ($55) { + $$084 = $54; + } else { + $$072$ph = $40;$$176$in$ph = $$176; + continue L16; + } + } + } + if ((label|0) == 17) { + ___assert_fail((13173|0),(12359|0),688,(13155|0)); + // unreachable; + } + else if ((label|0) == 21) { + ___assert_fail((13190|0),(12359|0),693,(13155|0)); + // unreachable; + } + else if ((label|0) == 23) { + ___assert_fail((13217|0),(12359|0),695,(13155|0)); + // unreachable; + } + else if ((label|0) == 25) { + STACKTOP = sp;return ($$2|0); + } + return (0)|0; +} +function _compute_sorted_huffman($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$08088 = 0, $$082$lcssa = 0, $$08287 = 0, $$084$lcssa = 0, $$08495 = 0, $$096 = 0, $$1100 = 0, $$181 = 0, $$183 = 0, $$185 = 0, $$290 = 0, $$lcssa = 0, $$sink = 0, $$sink3 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0; + var $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0; + var $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0; + var $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0; + var $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0; + var $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ((($0)) + 23|0); + $4 = HEAP8[$3>>0]|0; + $5 = ($4<<24>>24)==(0); + if ($5) { + $13 = ((($0)) + 4|0); + $14 = HEAP32[$13>>2]|0; + $15 = ($14|0)>(0); + if ($15) { + $16 = ((($0)) + 32|0); + $17 = ((($0)) + 2084|0); + $$08495 = 0;$$096 = 0; + while(1) { + $18 = (($1) + ($$096)|0); + $19 = HEAP8[$18>>0]|0; + $20 = (_include_in_sort($0,$19)|0); + $21 = ($20|0)==(0); + if ($21) { + $$185 = $$08495; + } else { + $22 = HEAP32[$16>>2]|0; + $23 = (($22) + ($$096<<2)|0); + $24 = HEAP32[$23>>2]|0; + $25 = (_bit_reverse($24)|0); + $26 = HEAP32[$17>>2]|0; + $27 = (($$08495) + 1)|0; + $28 = (($26) + ($$08495<<2)|0); + HEAP32[$28>>2] = $25; + $$185 = $27; + } + $29 = (($$096) + 1)|0; + $30 = HEAP32[$13>>2]|0; + $31 = ($29|0)<($30|0); + if ($31) { + $$08495 = $$185;$$096 = $29; + } else { + $$084$lcssa = $$185; + break; + } + } + } else { + $$084$lcssa = 0; + } + $32 = ((($0)) + 2092|0); + $33 = HEAP32[$32>>2]|0; + $34 = ($$084$lcssa|0)==($33|0); + if (!($34)) { + ___assert_fail((13024|0),(12359|0),762,(13047|0)); + // unreachable; + } + } else { + $6 = ((($0)) + 2092|0); + $7 = HEAP32[$6>>2]|0; + $8 = ($7|0)>(0); + if ($8) { + $9 = ((($0)) + 32|0); + $10 = HEAP32[$9>>2]|0; + $11 = ((($0)) + 2084|0); + $12 = HEAP32[$11>>2]|0; + $$1100 = 0; + while(1) { + $35 = (($10) + ($$1100<<2)|0); + $36 = HEAP32[$35>>2]|0; + $37 = (_bit_reverse($36)|0); + $38 = (($12) + ($$1100<<2)|0); + HEAP32[$38>>2] = $37; + $39 = (($$1100) + 1)|0; + $40 = HEAP32[$6>>2]|0; + $41 = ($39|0)<($40|0); + if ($41) { + $$1100 = $39; + } else { + break; + } + } + } + } + $42 = ((($0)) + 2084|0); + $43 = HEAP32[$42>>2]|0; + $44 = ((($0)) + 2092|0); + $45 = HEAP32[$44>>2]|0; + _qsort($43,$45,4,2); + $46 = HEAP32[$42>>2]|0; + $47 = HEAP32[$44>>2]|0; + $48 = (($46) + ($47<<2)|0); + HEAP32[$48>>2] = -1; + $49 = HEAP8[$3>>0]|0; + $50 = ($49<<24>>24)!=(0); + $51 = ((($0)) + 4|0); + $$sink = $50 ? $44 : $51; + $52 = HEAP32[$$sink>>2]|0; + $53 = ($52|0)>(0); + if (!($53)) { + return; + } + $54 = ((($0)) + 32|0); + $55 = ((($0)) + 2088|0); + $56 = ((($0)) + 8|0); + $$290 = 0; + L20: while(1) { + $57 = HEAP8[$3>>0]|0; + $58 = ($57<<24>>24)==(0); + if ($58) { + $$sink3 = $$290; + } else { + $59 = (($2) + ($$290<<2)|0); + $60 = HEAP32[$59>>2]|0; + $$sink3 = $60; + } + $61 = (($1) + ($$sink3)|0); + $62 = HEAP8[$61>>0]|0; + $63 = (_include_in_sort($0,$62)|0); + $64 = ($63|0)==(0); + do { + if (!($64)) { + $65 = HEAP32[$54>>2]|0; + $66 = (($65) + ($$290<<2)|0); + $67 = HEAP32[$66>>2]|0; + $68 = (_bit_reverse($67)|0); + $69 = HEAP32[$44>>2]|0; + $70 = ($69|0)>(1); + $71 = HEAP32[$42>>2]|0; + if ($70) { + $72 = HEAP32[$42>>2]|0; + $$08088 = $69;$$08287 = 0;$76 = $71; + while(1) { + $73 = $$08088 >>> 1; + $74 = (($73) + ($$08287))|0; + $75 = (($76) + ($74<<2)|0); + $77 = HEAP32[$75>>2]|0; + $78 = ($77>>>0)>($68>>>0); + $79 = (($$08088) - ($73))|0; + $$183 = $78 ? $$08287 : $74; + $$181 = $78 ? $73 : $79; + $80 = ($$181|0)>(1); + if ($80) { + $$08088 = $$181;$$08287 = $$183;$76 = $72; + } else { + $$082$lcssa = $$183;$$lcssa = $72; + break; + } + } + } else { + $$082$lcssa = 0;$$lcssa = $71; + } + $81 = (($$lcssa) + ($$082$lcssa<<2)|0); + $82 = HEAP32[$81>>2]|0; + $83 = ($82|0)==($68|0); + if (!($83)) { + label = 21; + break L20; + } + $84 = HEAP8[$3>>0]|0; + $85 = ($84<<24>>24)==(0); + $86 = HEAP32[$55>>2]|0; + if ($85) { + $92 = (($86) + ($$082$lcssa<<2)|0); + HEAP32[$92>>2] = $$290; + break; + } else { + $87 = (($2) + ($$290<<2)|0); + $88 = HEAP32[$87>>2]|0; + $89 = (($86) + ($$082$lcssa<<2)|0); + HEAP32[$89>>2] = $88; + $90 = HEAP32[$56>>2]|0; + $91 = (($90) + ($$082$lcssa)|0); + HEAP8[$91>>0] = $62; + break; + } + } + } while(0); + $93 = (($$290) + 1)|0; + $94 = ($93|0)<($52|0); + if ($94) { + $$290 = $93; + } else { + label = 26; + break; + } + } + if ((label|0) == 21) { + ___assert_fail((13070|0),(12359|0),792,(13047|0)); + // unreachable; + } + else if ((label|0) == 26) { + return; + } +} +function _compute_accelerated_huffman($0) { + $0 = $0|0; + var $$ = 0, $$0$ph = 0, $$027 = 0, $$128 = 0, $$sink = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0; + var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, $scevgep = 0, label = 0, sp = 0; + sp = STACKTOP; + $scevgep = ((($0)) + 36|0); + _memset(($scevgep|0),-1,2048)|0; + $1 = ((($0)) + 23|0); + $2 = HEAP8[$1>>0]|0; + $3 = ($2<<24>>24)!=(0); + $4 = ((($0)) + 4|0); + $5 = ((($0)) + 2092|0); + $$sink = $3 ? $5 : $4; + $6 = HEAP32[$$sink>>2]|0; + $7 = ($6|0)<(32767); + $$ = $7 ? $6 : 32767; + $8 = ($6|0)>(0); + if (!($8)) { + return; + } + $9 = ((($0)) + 8|0); + $10 = ((($0)) + 32|0); + $11 = ((($0)) + 2084|0); + $$128 = 0; + while(1) { + $12 = HEAP32[$9>>2]|0; + $13 = (($12) + ($$128)|0); + $14 = HEAP8[$13>>0]|0; + $15 = ($14&255)<(11); + if ($15) { + $16 = HEAP8[$1>>0]|0; + $17 = ($16<<24>>24)==(0); + if ($17) { + $22 = HEAP32[$10>>2]|0; + $23 = (($22) + ($$128<<2)|0); + $24 = HEAP32[$23>>2]|0; + $$0$ph = $24; + } else { + $18 = HEAP32[$11>>2]|0; + $19 = (($18) + ($$128<<2)|0); + $20 = HEAP32[$19>>2]|0; + $21 = (_bit_reverse($20)|0); + $$0$ph = $21; + } + $25 = ($$0$ph>>>0)<(1024); + if ($25) { + $26 = $$128&65535; + $$027 = $$0$ph; + while(1) { + $27 = (((($0)) + 36|0) + ($$027<<1)|0); + HEAP16[$27>>1] = $26; + $28 = HEAP32[$9>>2]|0; + $29 = (($28) + ($$128)|0); + $30 = HEAP8[$29>>0]|0; + $31 = $30&255; + $32 = 1 << $31; + $33 = (($32) + ($$027))|0; + $34 = ($33>>>0)<(1024); + if ($34) { + $$027 = $33; + } else { + break; + } + } + } + } + $35 = (($$128) + 1)|0; + $36 = ($35|0)<($$|0); + if ($36) { + $$128 = $35; + } else { + break; + } + } + return; +} +function _float32_unpack($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0.0, $12 = 0.0, $2 = 0, $3 = 0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $1 = $0 & 2097151; + $2 = $0 >>> 21; + $3 = $2 & 1023; + $4 = ($0|0)<(0); + $5 = (+($1>>>0)); + $6 = -$5; + $7 = $4 ? $6 : $5; + $8 = $7; + $9 = $8; + $10 = (($3) + -788)|0; + $11 = (+_ldexp($9,$10)); + $12 = $11; + return (+$12); +} +function _lookup1_values($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$ = 0, $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0, $19 = 0, $2 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0, $26 = 0.0, $27 = 0.0; + var $28 = 0.0, $29 = 0, $3 = 0.0, $30 = 0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, $not$ = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = (+($0|0)); + $3 = $2; + $4 = (+Math_log((+$3))); + $5 = $4; + $6 = (+($1|0)); + $7 = $5 / $6; + $8 = $7; + $9 = (+Math_exp((+$8))); + $10 = (+Math_floor((+$9))); + $11 = (~~(($10))); + $12 = (+($11|0)); + $13 = $12 + 1.0; + $14 = $13; + $15 = (+($1|0)); + $16 = (+Math_pow((+$14),(+$15))); + $17 = (+Math_floor((+$16))); + $18 = (~~(($17))); + $not$ = ($18|0)<=($0|0); + $19 = $not$&1; + $$ = (($19) + ($11))|0; + $20 = (+($$|0)); + $21 = $20 + 1.0; + $22 = $21; + $23 = (+Math_pow((+$22),(+$15))); + $24 = (+($0|0)); + $25 = $23 > $24; + if (!($25)) { + ___assert_fail((12933|0),(12359|0),817,(12965|0)); + // unreachable; + } + $26 = $20; + $27 = (+Math_pow((+$26),(+$15))); + $28 = (+Math_floor((+$27))); + $29 = (~~(($28))); + $30 = ($29|0)>($0|0); + if ($30) { + ___assert_fail((12980|0),(12359|0),818,(12965|0)); + // unreachable; + } else { + return ($$|0); + } + return (0)|0; +} +function _point_compare($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = HEAP16[$0>>1]|0; + $3 = HEAP16[$1>>1]|0; + $4 = ($2&65535)<($3&65535); + $5 = ($2&65535)>($3&65535); + $6 = $5&1; + $7 = $4 ? -1 : $6; + return ($7|0); +} +function _neighbors($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$02933 = 0, $$03032 = 0, $$034 = 0, $$1 = 0, $$131 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, label = 0; + var sp = 0; + sp = STACKTOP; + $4 = ($1|0)>(0); + if (!($4)) { + return; + } + $5 = (($0) + ($1<<1)|0); + $6 = (($0) + ($1<<1)|0); + $$02933 = 65536;$$03032 = -1;$$034 = 0; + while(1) { + $7 = (($0) + ($$034<<1)|0); + $8 = HEAP16[$7>>1]|0; + $9 = $8&65535; + $10 = ($9|0)>($$03032|0); + if ($10) { + $11 = HEAP16[$5>>1]|0; + $12 = ($8&65535)<($11&65535); + if ($12) { + HEAP32[$2>>2] = $$034; + $$131 = $9; + } else { + $$131 = $$03032; + } + } else { + $$131 = $$03032; + } + $13 = ($9|0)<($$02933|0); + if ($13) { + $14 = HEAP16[$6>>1]|0; + $15 = ($8&65535)>($14&65535); + if ($15) { + HEAP32[$3>>2] = $$034; + $$1 = $9; + } else { + $$1 = $$02933; + } + } else { + $$1 = $$02933; + } + $16 = (($$034) + 1)|0; + $exitcond = ($16|0)==($1|0); + if ($exitcond) { + break; + } else { + $$02933 = $$1;$$03032 = $$131;$$034 = $16; + } + } + return; +} +function _init_blocksize($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0; + var $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = $2 >>> 1; + $4 = $2 & -4; + $5 = $2 >> 3; + $6 = $3 << 2; + $7 = (_setup_malloc($0,$6)|0); + $8 = (((($0)) + 1068|0) + ($1<<2)|0); + HEAP32[$8>>2] = $7; + $9 = (_setup_malloc($0,$6)|0); + $10 = (((($0)) + 1076|0) + ($1<<2)|0); + HEAP32[$10>>2] = $9; + $11 = (_setup_malloc($0,$4)|0); + $12 = (((($0)) + 1084|0) + ($1<<2)|0); + HEAP32[$12>>2] = $11; + $13 = HEAP32[$8>>2]|0; + $14 = ($13|0)==(0|0); + if (!($14)) { + $15 = HEAP32[$10>>2]|0; + $16 = ($15|0)==(0|0); + $17 = ($11|0)==(0|0); + $or$cond = $17 | $16; + if (!($or$cond)) { + _compute_twiddle_factors($2,$13,$15,$11); + $18 = (_setup_malloc($0,$6)|0); + $19 = (((($0)) + 1092|0) + ($1<<2)|0); + HEAP32[$19>>2] = $18; + $20 = ($18|0)==(0|0); + if ($20) { + _error($0,3); + $$0 = 0; + return ($$0|0); + } + _compute_window($2,$18); + $21 = $5 << 1; + $22 = (_setup_malloc($0,$21)|0); + $23 = (((($0)) + 1100|0) + ($1<<2)|0); + HEAP32[$23>>2] = $22; + $24 = ($22|0)==(0|0); + if ($24) { + _error($0,3); + $$0 = 0; + return ($$0|0); + } else { + _compute_bitreverse($2,$22); + $$0 = 1; + return ($$0|0); + } + } + } + _error($0,3); + $$0 = 0; + return ($$0|0); +} +function _compute_twiddle_factors($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$04044 = 0, $$045 = 0, $$14142 = 0, $$143 = 0, $10 = 0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0, $18 = 0.0, $19 = 0.0, $20 = 0.0, $21 = 0, $22 = 0, $23 = 0.0, $24 = 0.0, $25 = 0.0; + var $26 = 0.0, $27 = 0.0, $28 = 0.0, $29 = 0.0, $30 = 0.0, $31 = 0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0.0, $41 = 0.0, $42 = 0.0, $43 = 0.0, $44 = 0.0; + var $45 = 0.0, $46 = 0, $47 = 0.0, $48 = 0.0, $49 = 0.0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, $exitcond = 0, $exitcond48 = 0, label = 0, sp = 0; + sp = STACKTOP; + $4 = $0 >> 2; + $5 = $0 >> 3; + $6 = ($4|0)>(0); + if ($6) { + $7 = (+($0|0)); + $$04044 = 0;$$045 = 0; + while(1) { + $10 = $$04044 << 2; + $11 = (+($10|0)); + $12 = $11 * 3.1415927410125732; + $13 = $12 / $7; + $14 = $13; + $15 = (+Math_cos((+$14))); + $16 = $15; + $17 = (($1) + ($$045<<2)|0); + HEAPF32[$17>>2] = $16; + $18 = (+Math_sin((+$14))); + $19 = $18; + $20 = -$19; + $21 = $$045 | 1; + $22 = (($1) + ($21<<2)|0); + HEAPF32[$22>>2] = $20; + $23 = (+($21|0)); + $24 = $23 * 3.1415927410125732; + $25 = $24 / $7; + $26 = $25 * 0.5; + $27 = $26; + $28 = (+Math_cos((+$27))); + $29 = $28; + $30 = $29 * 0.5; + $31 = (($2) + ($$045<<2)|0); + HEAPF32[$31>>2] = $30; + $32 = (+Math_sin((+$27))); + $33 = $32; + $34 = $33 * 0.5; + $35 = (($2) + ($21<<2)|0); + HEAPF32[$35>>2] = $34; + $36 = (($$04044) + 1)|0; + $37 = (($$045) + 2)|0; + $exitcond48 = ($36|0)==($4|0); + if ($exitcond48) { + break; + } else { + $$04044 = $36;$$045 = $37; + } + } + } + $8 = ($5|0)>(0); + if (!($8)) { + return; + } + $9 = (+($0|0)); + $$14142 = 0;$$143 = 0; + while(1) { + $38 = $$143 | 1; + $39 = $38 << 1; + $40 = (+($39|0)); + $41 = $40 * 3.1415927410125732; + $42 = $41 / $9; + $43 = $42; + $44 = (+Math_cos((+$43))); + $45 = $44; + $46 = (($3) + ($$143<<2)|0); + HEAPF32[$46>>2] = $45; + $47 = (+Math_sin((+$43))); + $48 = $47; + $49 = -$48; + $50 = (($3) + ($38<<2)|0); + HEAPF32[$50>>2] = $49; + $51 = (($$14142) + 1)|0; + $52 = (($$143) + 2)|0; + $exitcond = ($51|0)==($5|0); + if ($exitcond) { + break; + } else { + $$14142 = $51;$$143 = $52; + } + } + return; +} +function _compute_window($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$010 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0, $18 = 0, $2 = 0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, $exitcond = 0, label = 0; + var sp = 0; + sp = STACKTOP; + $2 = $0 >> 1; + $3 = ($2|0)>(0); + if (!($3)) { + return; + } + $4 = (+($2|0)); + $$010 = 0; + while(1) { + $5 = (+($$010|0)); + $6 = $5 + 0.5; + $7 = $6 / $4; + $8 = $7 * 0.5; + $9 = $8 * 3.1415927410125732; + $10 = (+Math_sin((+$9))); + $11 = $10; + $12 = (+_square($11)); + $13 = $12; + $14 = $13 * 1.5707963705062866; + $15 = (+Math_sin((+$14))); + $16 = $15; + $17 = (($1) + ($$010<<2)|0); + HEAPF32[$17>>2] = $16; + $18 = (($$010) + 1)|0; + $exitcond = ($18|0)==($2|0); + if ($exitcond) { + break; + } else { + $$010 = $18; + } + } + return; +} +function _compute_bitreverse($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$013 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = $0 >> 3; + $3 = ($2|0)>(0); + if (!($3)) { + return; + } + $4 = (_ilog($0)|0); + $5 = (36 - ($4))|0; + $$013 = 0; + while(1) { + $6 = (_bit_reverse($$013)|0); + $7 = $6 >>> $5; + $8 = $7 << 2; + $9 = $8&65535; + $10 = (($1) + ($$013<<1)|0); + HEAP16[$10>>1] = $9; + $11 = (($$013) + 1)|0; + $exitcond = ($11|0)==($2|0); + if ($exitcond) { + break; + } else { + $$013 = $11; + } + } + return; +} +function _square($0) { + $0 = +$0; + var $1 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $1 = $0 * $0; + return (+$1); +} +function _include_in_sort($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$$ = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $narrow = 0, $not$ = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($0)) + 23|0); + $3 = HEAP8[$2>>0]|0; + $4 = ($3<<24>>24)==(0); + $5 = ($1<<24>>24)==(-1); + if ($4) { + $6 = ($1&255)>(10); + $not$ = $5 ^ 1; + $narrow = $6 & $not$; + $$$ = $narrow&1; + return ($$$|0); + } + if ($5) { + ___assert_fail((13101|0),(12359|0),742,(13116|0)); + // unreachable; + } else { + return 1; + } + return (0)|0; +} +function _uint32_compare($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = HEAP32[$0>>2]|0; + $3 = HEAP32[$1>>2]|0; + $4 = ($2>>>0)<($3>>>0); + $5 = ($2>>>0)>($3>>>0); + $6 = $5&1; + $7 = $4 ? -1 : $6; + return ($7|0); +} +function _add_entry($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + var $$sink = 0, $$sink1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $6 = ((($0)) + 23|0); + $7 = HEAP8[$6>>0]|0; + $8 = ($7<<24>>24)==(0); + $9 = ((($0)) + 32|0); + $10 = HEAP32[$9>>2]|0; + if ($8) { + $11 = (($10) + ($2<<2)|0); + $$sink = $1;$$sink1 = $11; + HEAP32[$$sink1>>2] = $$sink; + return; + } else { + $12 = (($10) + ($3<<2)|0); + HEAP32[$12>>2] = $1; + $13 = $4&255; + $14 = ((($0)) + 8|0); + $15 = HEAP32[$14>>2]|0; + $16 = (($15) + ($3)|0); + HEAP8[$16>>0] = $13; + $17 = (($5) + ($3<<2)|0); + $$sink = $2;$$sink1 = $17; + HEAP32[$$sink1>>2] = $$sink; + return; + } +} +function _LoadSound($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$byval_copy1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0); + $$byval_copy1 = sp + 20|0; + $2 = sp; + _LoadWave($2,$1); + ;HEAP32[$$byval_copy1>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$2+16>>2]|0; + _LoadSoundFromWave($0,$$byval_copy1); + ;HEAP32[$$byval_copy1>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$2+16>>2]|0; + _UnloadWave($$byval_copy1); + STACKTOP = sp;return; +} +function _LoadSoundFromWave($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $$sroa$0$0 = 0, $$sroa$5$0 = 0, $$sroa$5$0$$sroa_idx7 = 0, $$sroa$6$0 = 0, $$sroa$6$0$$sroa_idx9 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0; + var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $5 = 0; + var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer4 = 0, $vararg_buffer7 = 0, $vararg_ptr10 = 0, $vararg_ptr11 = 0, $vararg_ptr12 = 0, $vararg_ptr13 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $vararg_buffer7 = sp + 24|0; + $vararg_buffer4 = sp + 16|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $2 = sp + 48|0; + $3 = sp + 44|0; + $4 = ((($1)) + 16|0); + $5 = HEAP32[$4>>2]|0; + $6 = ($5|0)==(0|0); + if ($6) { + $$sroa$0$0 = 0;$$sroa$5$0 = 0;$$sroa$6$0 = 0; + HEAP32[$0>>2] = $$sroa$0$0; + $$sroa$5$0$$sroa_idx7 = ((($0)) + 4|0); + HEAP32[$$sroa$5$0$$sroa_idx7>>2] = $$sroa$5$0; + $$sroa$6$0$$sroa_idx9 = ((($0)) + 8|0); + HEAP32[$$sroa$6$0$$sroa_idx9>>2] = $$sroa$6$0; + STACKTOP = sp;return; + } + $7 = ((($1)) + 12|0); + $8 = HEAP32[$7>>2]|0; + L4: do { + switch ($8|0) { + case 1: { + $9 = ((($1)) + 8|0); + $10 = HEAP32[$9>>2]|0; + switch ($10|0) { + case 8: { + $$0 = 4352; + break L4; + break; + } + case 16: { + $$0 = 4353; + break L4; + break; + } + case 32: { + $$0 = 65552; + break L4; + break; + } + default: { + HEAP32[$vararg_buffer>>2] = $10; + _TraceLog(1,13582,$vararg_buffer); + $$0 = 0; + break L4; + } + } + break; + } + case 2: { + $11 = ((($1)) + 8|0); + $12 = HEAP32[$11>>2]|0; + switch ($12|0) { + case 8: { + $$0 = 4354; + break L4; + break; + } + case 16: { + $$0 = 4355; + break L4; + break; + } + case 32: { + $$0 = 65553; + break L4; + break; + } + default: { + HEAP32[$vararg_buffer1>>2] = $12; + _TraceLog(1,13582,$vararg_buffer1); + $$0 = 0; + break L4; + } + } + break; + } + default: { + HEAP32[$vararg_buffer4>>2] = $8; + _TraceLog(1,13617,$vararg_buffer4); + $$0 = 0; + } + } + } while(0); + _alGenSources(1,($2|0)); + $13 = HEAP32[$2>>2]|0; + _alSourcef(($13|0),4099,1.0); + $14 = HEAP32[$2>>2]|0; + _alSourcef(($14|0),4106,1.0); + $15 = HEAP32[$2>>2]|0; + _alSource3f(($15|0),4100,0.0,0.0,0.0); + $16 = HEAP32[$2>>2]|0; + _alSource3f(($16|0),4102,0.0,0.0,0.0); + $17 = HEAP32[$2>>2]|0; + _alSourcei(($17|0),4103,0); + _alGenBuffers(1,($3|0)); + $18 = HEAP32[$1>>2]|0; + $19 = HEAP32[$7>>2]|0; + $20 = Math_imul($19, $18)|0; + $21 = ((($1)) + 8|0); + $22 = HEAP32[$21>>2]|0; + $23 = Math_imul($20, $22)|0; + $24 = $23 >>> 3; + $25 = HEAP32[$3>>2]|0; + $26 = HEAP32[$4>>2]|0; + $27 = ((($1)) + 4|0); + $28 = HEAP32[$27>>2]|0; + _alBufferData(($25|0),($$0|0),($26|0),($24|0),($28|0)); + $29 = HEAP32[$2>>2]|0; + $30 = HEAP32[$3>>2]|0; + _alSourcei(($29|0),4105,($30|0)); + $31 = HEAP32[$2>>2]|0; + $32 = HEAP32[$3>>2]|0; + $33 = HEAP32[$27>>2]|0; + $34 = HEAP32[$21>>2]|0; + $35 = HEAP32[$7>>2]|0; + $36 = ($35|0)==(1); + $37 = $36 ? 12291 : 12296; + HEAP32[$vararg_buffer7>>2] = $31; + $vararg_ptr10 = ((($vararg_buffer7)) + 4|0); + HEAP32[$vararg_ptr10>>2] = $32; + $vararg_ptr11 = ((($vararg_buffer7)) + 8|0); + HEAP32[$vararg_ptr11>>2] = $33; + $vararg_ptr12 = ((($vararg_buffer7)) + 12|0); + HEAP32[$vararg_ptr12>>2] = $34; + $vararg_ptr13 = ((($vararg_buffer7)) + 16|0); + HEAP32[$vararg_ptr13>>2] = $37; + _TraceLog(0,13659,$vararg_buffer7); + $38 = HEAP32[$2>>2]|0; + $39 = HEAP32[$3>>2]|0; + $$sroa$0$0 = $38;$$sroa$5$0 = $39;$$sroa$6$0 = $$0; + HEAP32[$0>>2] = $$sroa$0$0; + $$sroa$5$0$$sroa_idx7 = ((($0)) + 4|0); + HEAP32[$$sroa$5$0$$sroa_idx7>>2] = $$sroa$5$0; + $$sroa$6$0$$sroa_idx9 = ((($0)) + 8|0); + HEAP32[$$sroa$6$0$$sroa_idx9>>2] = $$sroa$6$0; + STACKTOP = sp;return; +} +function _UnloadWave($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $vararg_buffer = sp; + $1 = ((($0)) + 16|0); + $2 = HEAP32[$1>>2]|0; + $3 = ($2|0)==(0|0); + if (!($3)) { + _free($2); + } + _TraceLog(0,13554,$vararg_buffer); + STACKTOP = sp;return; +} +function _UnloadSound($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $vararg_buffer = sp; + $1 = HEAP32[$0>>2]|0; + _alSourceStop(($1|0)); + _alDeleteSources(1,($0|0)); + $2 = ((($0)) + 4|0); + _alDeleteBuffers(1,($2|0)); + $3 = HEAP32[$0>>2]|0; + $4 = HEAP32[$2>>2]|0; + HEAP32[$vararg_buffer>>2] = $3; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $4; + _TraceLog(0,13734,$vararg_buffer); + STACKTOP = sp;return; +} +function _PlaySound($0) { + $0 = $0|0; + var $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP32[$0>>2]|0; + _alSourcePlay(($1|0)); + return; +} +function _LoadMusicStream($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; + var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0.0, $39 = 0.0, $4 = 0, $40 = 0.0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; + var $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer13 = 0, $vararg_buffer17 = 0, $vararg_buffer21 = 0, $vararg_buffer25 = 0, $vararg_buffer28 = 0, $vararg_buffer5 = 0, $vararg_buffer9 = 0, $vararg_ptr12 = 0, $vararg_ptr16 = 0, $vararg_ptr20 = 0, $vararg_ptr24 = 0, $vararg_ptr4 = 0, $vararg_ptr8 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 160|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(160|0); + $vararg_buffer28 = sp + 72|0; + $vararg_buffer25 = sp + 64|0; + $vararg_buffer21 = sp + 48|0; + $vararg_buffer17 = sp + 40|0; + $vararg_buffer13 = sp + 32|0; + $vararg_buffer9 = sp + 24|0; + $vararg_buffer5 = sp + 16|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $1 = sp + 136|0; + $2 = sp + 104|0; + $3 = sp + 76|0; + $4 = (_malloc(52)|0); + $5 = (_IsFileExtension($0,12010)|0); + $6 = ($5|0)==(0); + if (!($6)) { + $7 = (_stb_vorbis_open_filename($0,0,0)|0); + $8 = ((($4)) + 4|0); + HEAP32[$8>>2] = $7; + $9 = ($7|0)==(0|0); + if ($9) { + HEAP32[$vararg_buffer>>2] = $0; + _TraceLog(1,13787,$vararg_buffer); + STACKTOP = sp;return ($4|0); + } else { + $10 = HEAP32[$8>>2]|0; + _stb_vorbis_get_info($1,$10); + $11 = ((($4)) + 12|0); + $12 = HEAP32[$1>>2]|0; + $13 = ((($1)) + 4|0); + $14 = HEAP32[$13>>2]|0; + _InitAudioStream($2,$12,16,$14); + ;HEAP32[$11>>2]=HEAP32[$2>>2]|0;HEAP32[$11+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$11+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$11+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$11+16>>2]=HEAP32[$2+16>>2]|0;HEAP32[$11+20>>2]=HEAP32[$2+20>>2]|0;HEAP32[$11+24>>2]=HEAP32[$2+24>>2]|0; + $15 = HEAP32[$8>>2]|0; + $16 = (_stb_vorbis_stream_length_in_samples($15)|0); + $17 = ((($4)) + 44|0); + HEAP32[$17>>2] = $16; + $18 = ((($4)) + 48|0); + HEAP32[$18>>2] = $16; + HEAP32[$4>>2] = 0; + $19 = ((($4)) + 40|0); + HEAP32[$19>>2] = -1; + $20 = HEAP32[$17>>2]|0; + HEAP32[$vararg_buffer1>>2] = $0; + $vararg_ptr4 = ((($vararg_buffer1)) + 4|0); + HEAP32[$vararg_ptr4>>2] = $20; + _TraceLog(3,13827,$vararg_buffer1); + $21 = HEAP32[$1>>2]|0; + HEAP32[$vararg_buffer5>>2] = $0; + $vararg_ptr8 = ((($vararg_buffer5)) + 4|0); + HEAP32[$vararg_ptr8>>2] = $21; + _TraceLog(3,13855,$vararg_buffer5); + $22 = HEAP32[$13>>2]|0; + HEAP32[$vararg_buffer9>>2] = $0; + $vararg_ptr12 = ((($vararg_buffer9)) + 4|0); + HEAP32[$vararg_ptr12>>2] = $22; + _TraceLog(3,13880,$vararg_buffer9); + $23 = ((($1)) + 16|0); + $24 = HEAP32[$23>>2]|0; + HEAP32[$vararg_buffer13>>2] = $0; + $vararg_ptr16 = ((($vararg_buffer13)) + 4|0); + HEAP32[$vararg_ptr16>>2] = $24; + _TraceLog(3,13902,$vararg_buffer13); + STACKTOP = sp;return ($4|0); + } + } + $25 = (_IsFileExtension($0,13931)|0); + $26 = ($25|0)==(0); + if ($26) { + HEAP32[$vararg_buffer28>>2] = $0; + _TraceLog(1,12067,$vararg_buffer28); + STACKTOP = sp;return ($4|0); + } + $27 = ((($4)) + 8|0); + $28 = (_jar_xm_create_context_from_file($27,48000,$0)|0); + $29 = ($28|0)==(0); + if ($29) { + $30 = HEAP32[$27>>2]|0; + _jar_xm_set_max_loop_count($30,0); + $31 = ((($4)) + 12|0); + _InitAudioStream($3,48000,16,2); + ;HEAP32[$31>>2]=HEAP32[$3>>2]|0;HEAP32[$31+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$31+8>>2]=HEAP32[$3+8>>2]|0;HEAP32[$31+12>>2]=HEAP32[$3+12>>2]|0;HEAP32[$31+16>>2]=HEAP32[$3+16>>2]|0;HEAP32[$31+20>>2]=HEAP32[$3+20>>2]|0;HEAP32[$31+24>>2]=HEAP32[$3+24>>2]|0; + $32 = (_jar_xm_get_remaining_samples($30)|0); + $33 = tempRet0; + $34 = ((($4)) + 44|0); + HEAP32[$34>>2] = $32; + $35 = ((($4)) + 48|0); + HEAP32[$35>>2] = $32; + HEAP32[$4>>2] = 2; + $36 = ((($4)) + 40|0); + HEAP32[$36>>2] = -1; + $37 = HEAP32[$34>>2]|0; + HEAP32[$vararg_buffer17>>2] = $0; + $vararg_ptr20 = ((($vararg_buffer17)) + 4|0); + HEAP32[$vararg_ptr20>>2] = $37; + _TraceLog(3,13935,$vararg_buffer17); + $38 = (+($37>>>0)); + $39 = $38 / 48000.0; + $40 = $39; + HEAP32[$vararg_buffer21>>2] = $0; + $vararg_ptr24 = ((($vararg_buffer21)) + 8|0); + HEAPF64[$vararg_ptr24>>3] = $40; + _TraceLog(3,13965,$vararg_buffer21); + STACKTOP = sp;return ($4|0); + } else { + HEAP32[$vararg_buffer25>>2] = $0; + _TraceLog(1,13998,$vararg_buffer25); + STACKTOP = sp;return ($4|0); + } + return (0)|0; +} +function _InitAudioStream($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$off = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer4 = 0, $vararg_buffer7 = 0, $vararg_ptr10 = 0, $vararg_ptr11 = 0, $vararg_ptr12 = 0; + var label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0); + $vararg_buffer7 = sp + 24|0; + $vararg_buffer4 = sp + 16|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $4 = sp + 40|0; + $5 = ((($4)) + 8|0); + ;HEAP32[$5>>2]=0|0;HEAP32[$5+4>>2]=0|0;HEAP32[$5+8>>2]=0|0;HEAP32[$5+12>>2]=0|0;HEAP32[$5+16>>2]=0|0; + HEAP32[$4>>2] = $1; + $6 = ((($4)) + 4|0); + HEAP32[$6>>2] = $2; + $$off = (($3) + -1)|0; + $7 = ($$off>>>0)<(2); + L1: do { + if ($7) { + $9 = ((($4)) + 8|0); + HEAP32[$9>>2] = $3; + switch ($3|0) { + case 1: { + $55 = $9; + label = 4; + break L1; + break; + } + case 2: { + break; + } + default: { + $26 = $9; + break L1; + } + } + switch ($2|0) { + case 8: { + $13 = ((($4)) + 12|0); + HEAP32[$13>>2] = 4354; + $26 = $9; + break L1; + break; + } + case 16: { + $14 = ((($4)) + 12|0); + HEAP32[$14>>2] = 4355; + $26 = $9; + break L1; + break; + } + case 32: { + $15 = ((($4)) + 12|0); + HEAP32[$15>>2] = 65553; + $26 = $9; + break L1; + break; + } + default: { + HEAP32[$vararg_buffer4>>2] = $2; + _TraceLog(1,14087,$vararg_buffer4); + $26 = $9; + break L1; + } + } + } else { + HEAP32[$vararg_buffer>>2] = $3; + _TraceLog(1,14031,$vararg_buffer); + $8 = ((($4)) + 8|0); + HEAP32[$8>>2] = 1; + $55 = $8; + label = 4; + } + } while(0); + L10: do { + if ((label|0) == 4) { + switch ($2|0) { + case 8: { + $10 = ((($4)) + 12|0); + HEAP32[$10>>2] = 4352; + $26 = $55; + break L10; + break; + } + case 16: { + $11 = ((($4)) + 12|0); + HEAP32[$11>>2] = 4353; + $26 = $55; + break L10; + break; + } + case 32: { + $12 = ((($4)) + 12|0); + HEAP32[$12>>2] = 65552; + $26 = $55; + break L10; + break; + } + default: { + HEAP32[$vararg_buffer1>>2] = $2; + _TraceLog(1,14087,$vararg_buffer1); + $26 = $55; + break L10; + } + } + } + } while(0); + $16 = ((($4)) + 16|0); + _alGenSources(1,($16|0)); + $17 = HEAP32[$16>>2]|0; + _alSourcef(($17|0),4099,1.0); + $18 = HEAP32[$16>>2]|0; + _alSourcef(($18|0),4106,1.0); + $19 = HEAP32[$16>>2]|0; + _alSource3f(($19|0),4100,0.0,0.0,0.0); + $20 = HEAP32[$16>>2]|0; + _alSource3f(($20|0),4102,0.0,0.0,0.0); + $21 = ((($4)) + 20|0); + _alGenBuffers(2,($21|0)); + $22 = HEAP32[$6>>2]|0; + $23 = $22 << 9; + $24 = $23 & 536870400; + $25 = HEAP32[$26>>2]|0; + $27 = Math_imul($24, $25)|0; + $28 = (_calloc($27,1)|0); + $29 = ((($4)) + 12|0); + $30 = ((($4)) + 20|0); + $31 = HEAP32[$30>>2]|0; + $32 = HEAP32[$29>>2]|0; + $33 = HEAP32[$6>>2]|0; + $34 = $33 << 9; + $35 = $34 & 536870400; + $36 = HEAP32[$26>>2]|0; + $37 = Math_imul($35, $36)|0; + $38 = HEAP32[$4>>2]|0; + _alBufferData(($31|0),($32|0),($28|0),($37|0),($38|0)); + $39 = ((($4)) + 24|0); + $40 = HEAP32[$39>>2]|0; + $41 = HEAP32[$29>>2]|0; + $42 = HEAP32[$6>>2]|0; + $43 = $42 << 9; + $44 = $43 & 536870400; + $45 = HEAP32[$26>>2]|0; + $46 = Math_imul($44, $45)|0; + $47 = HEAP32[$4>>2]|0; + _alBufferData(($40|0),($41|0),($28|0),($46|0),($47|0)); + _free($28); + $48 = HEAP32[$16>>2]|0; + _alSourceQueueBuffers(($48|0),2,($21|0)); + $49 = HEAP32[$16>>2]|0; + $50 = HEAP32[$4>>2]|0; + $51 = HEAP32[$6>>2]|0; + $52 = HEAP32[$26>>2]|0; + $53 = ($52|0)==(1); + $54 = $53 ? 12291 : 12296; + HEAP32[$vararg_buffer7>>2] = $49; + $vararg_ptr10 = ((($vararg_buffer7)) + 4|0); + HEAP32[$vararg_ptr10>>2] = $50; + $vararg_ptr11 = ((($vararg_buffer7)) + 8|0); + HEAP32[$vararg_ptr11>>2] = $51; + $vararg_ptr12 = ((($vararg_buffer7)) + 12|0); + HEAP32[$vararg_ptr12>>2] = $54; + _TraceLog(0,14136,$vararg_buffer7); + ;HEAP32[$0>>2]=HEAP32[$4>>2]|0;HEAP32[$0+4>>2]=HEAP32[$4+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$4+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$4+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$4+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[$4+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[$4+24>>2]|0; + STACKTOP = sp;return; +} +function _UnloadMusicStream($0) { + $0 = $0|0; + var $$byval_copy = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $$byval_copy = sp; + $1 = ((($0)) + 12|0); + ;HEAP32[$$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$1+16>>2]|0;HEAP32[$$byval_copy+20>>2]=HEAP32[$1+20>>2]|0;HEAP32[$$byval_copy+24>>2]=HEAP32[$1+24>>2]|0; + _CloseAudioStream($$byval_copy); + $2 = HEAP32[$0>>2]|0; + switch ($2|0) { + case 0: { + $3 = ((($0)) + 4|0); + $4 = HEAP32[$3>>2]|0; + _stb_vorbis_close($4); + _free($0); + STACKTOP = sp;return; + break; + } + case 2: { + $5 = ((($0)) + 8|0); + $6 = HEAP32[$5>>2]|0; + _jar_xm_free_context($6); + _free($0); + STACKTOP = sp;return; + break; + } + default: { + _free($0); + STACKTOP = sp;return; + } + } +} +function _CloseAudioStream($0) { + $0 = $0|0; + var $$pr = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $vararg_buffer = sp; + $1 = sp + 8|0; + $2 = sp + 4|0; + $3 = ((($0)) + 16|0); + $4 = HEAP32[$3>>2]|0; + _alSourceStop(($4|0)); + HEAP32[$1>>2] = 0; + $5 = HEAP32[$3>>2]|0; + _alGetSourcei(($5|0),4117,($1|0)); + HEAP32[$2>>2] = 0; + $$pr = HEAP32[$1>>2]|0; + $6 = ($$pr|0)>(0); + if ($6) { + while(1) { + $7 = HEAP32[$3>>2]|0; + _alSourceUnqueueBuffers(($7|0),1,($2|0)); + $8 = HEAP32[$1>>2]|0; + $9 = (($8) + -1)|0; + HEAP32[$1>>2] = $9; + $10 = ($8|0)>(1); + if (!($10)) { + break; + } + } + } + _alDeleteSources(1,($3|0)); + $11 = ((($0)) + 20|0); + _alDeleteBuffers(2,($11|0)); + $12 = HEAP32[$3>>2]|0; + HEAP32[$vararg_buffer>>2] = $12; + _TraceLog(0,14201,$vararg_buffer); + STACKTOP = sp;return; +} +function _PlayMusicStream($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 28|0); + $2 = HEAP32[$1>>2]|0; + _alSourcePlay(($2|0)); + return; +} +function _StopMusicStream($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; + var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 28|0); + $2 = HEAP32[$1>>2]|0; + _alSourceStop(($2|0)); + $3 = ((($0)) + 16|0); + $4 = HEAP32[$3>>2]|0; + $5 = $4 << 9; + $6 = $5 & 536870400; + $7 = ((($0)) + 20|0); + $8 = HEAP32[$7>>2]|0; + $9 = Math_imul($6, $8)|0; + $10 = (_calloc($9,1)|0); + $11 = ((($0)) + 24|0); + $12 = ((($0)) + 12|0); + $13 = ((($0)) + 32|0); + $14 = HEAP32[$13>>2]|0; + $15 = HEAP32[$11>>2]|0; + $16 = HEAP32[$3>>2]|0; + $17 = $16 << 9; + $18 = $17 & 536870400; + $19 = HEAP32[$7>>2]|0; + $20 = Math_imul($18, $19)|0; + $21 = HEAP32[$12>>2]|0; + _alBufferData(($14|0),($15|0),($10|0),($20|0),($21|0)); + $22 = ((($0)) + 36|0); + $23 = HEAP32[$22>>2]|0; + $24 = HEAP32[$11>>2]|0; + $25 = HEAP32[$3>>2]|0; + $26 = $25 << 9; + $27 = $26 & 536870400; + $28 = HEAP32[$7>>2]|0; + $29 = Math_imul($27, $28)|0; + $30 = HEAP32[$12>>2]|0; + _alBufferData(($23|0),($24|0),($10|0),($29|0),($30|0)); + _free($10); + $31 = HEAP32[$0>>2]|0; + $cond = ($31|0)==(0); + if (!($cond)) { + $34 = ((($0)) + 44|0); + $35 = HEAP32[$34>>2]|0; + $36 = ((($0)) + 48|0); + HEAP32[$36>>2] = $35; + return; + } + $32 = ((($0)) + 4|0); + $33 = HEAP32[$32>>2]|0; + (_stb_vorbis_seek_start($33)|0); + $34 = ((($0)) + 44|0); + $35 = HEAP32[$34>>2]|0; + $36 = ((($0)) + 48|0); + HEAP32[$36>>2] = $35; + return; +} +function _stb_vorbis_seek_start($0) { + $0 = $0|0; + var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 48|0); + $2 = HEAP8[$1>>0]|0; + $3 = ($2<<24>>24)==(0); + if ($3) { + $4 = ((($0)) + 52|0); + $5 = HEAP32[$4>>2]|0; + _set_file_offset($0,$5); + $6 = ((($0)) + 992|0); + HEAP32[$6>>2] = 0; + $7 = ((($0)) + 1377|0); + HEAP8[$7>>0] = 1; + $8 = ((($0)) + 1380|0); + HEAP32[$8>>2] = -1; + $9 = (_vorbis_pump_first_frame($0)|0); + $$0 = $9; + return ($$0|0); + } else { + _error($0,2); + $$0 = 0; + return ($$0|0); + } + return (0)|0; +} +function _UpdateMusicStream($0) { + $0 = $0|0; + var $$ = 0, $$0 = 0, $$04143 = 0, $$byval_copy = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; + var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; + var $42 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0); + $$byval_copy = sp + 12|0; + $vararg_buffer = sp; + $1 = sp + 8|0; + $2 = sp + 4|0; + HEAP32[$2>>2] = 0; + $3 = ((($0)) + 12|0); + $4 = ((($0)) + 28|0); + $5 = HEAP32[$4>>2]|0; + _alGetSourcei(($5|0),4112,($1|0)); + $6 = HEAP32[$4>>2]|0; + _alGetSourcei(($6|0),4118,($2|0)); + $7 = HEAP32[$2>>2]|0; + $8 = ($7|0)>(0); + if (!($8)) { + STACKTOP = sp;return; + } + $9 = ((($0)) + 16|0); + $10 = HEAP32[$9>>2]|0; + $11 = $10 << 9; + $12 = $11 & 536870400; + $13 = ((($0)) + 20|0); + $14 = HEAP32[$13>>2]|0; + $15 = Math_imul($12, $14)|0; + $16 = (_calloc($15,1)|0); + $17 = HEAP32[$2>>2]|0; + $18 = ($17|0)>(0); + L4: do { + if ($18) { + $19 = ((($0)) + 48|0); + $20 = ((($0)) + 4|0); + $21 = ((($0)) + 8|0); + $$04143 = 0; + while(1) { + $24 = HEAP32[$19>>2]|0; + $25 = ($24>>>0)<(4096); + $$ = $25 ? $24 : 4096; + $26 = HEAP32[$0>>2]|0; + switch ($26|0) { + case 0: { + $27 = HEAP32[$20>>2]|0; + $28 = HEAP32[$13>>2]|0; + $29 = Math_imul($28, $$)|0; + (_stb_vorbis_get_samples_short_interleaved($27,$28,$16,$29)|0); + break; + } + case 2: { + $30 = HEAP32[$21>>2]|0; + _jar_xm_generate_samples_16bit($30,$16,$$); + break; + } + default: { + } + } + ;HEAP32[$$byval_copy>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$3+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$3+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$3+16>>2]|0;HEAP32[$$byval_copy+20>>2]=HEAP32[$3+20>>2]|0;HEAP32[$$byval_copy+24>>2]=HEAP32[$3+24>>2]|0; + _UpdateAudioStream($$byval_copy,$16,$$); + $31 = HEAP32[$19>>2]|0; + $32 = (($31) - ($$))|0; + HEAP32[$19>>2] = $32; + $33 = ($32|0)==(0); + $23 = (($$04143) + 1)|0; + if ($33) { + $$0 = 0; + break L4; + } + $22 = ($23|0)<($17|0); + if ($22) { + $$04143 = $23; + } else { + $$0 = 1; + break L4; + } + } + } else { + $$0 = 1; + } + } while(0); + $34 = (_alGetError()|0); + $35 = ($34|0)==(40963); + if ($35) { + _TraceLog(1,14240,$vararg_buffer); + } + $36 = ($$0|0)==(0); + if ($36) { + _StopMusicStream($0); + $37 = ((($0)) + 40|0); + $38 = HEAP32[$37>>2]|0; + $39 = ($38|0)>(0); + if ($39) { + $40 = (($38) + -1)|0; + HEAP32[$37>>2] = $40; + _PlayMusicStream($0); + } + } else { + $41 = HEAP32[$1>>2]|0; + $42 = ($41|0)==(4114); + if (!($42)) { + _PlayMusicStream($0); + } + } + _free($16); + STACKTOP = sp;return; +} +function _UpdateAudioStream($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $3 = sp; + HEAP32[$3>>2] = 0; + $4 = ((($0)) + 16|0); + $5 = HEAP32[$4>>2]|0; + _alSourceUnqueueBuffers(($5|0),1,($3|0)); + $6 = (_alGetError()|0); + $7 = ($6|0)==(40963); + if ($7) { + STACKTOP = sp;return; + } + $8 = HEAP32[$3>>2]|0; + $9 = ((($0)) + 12|0); + $10 = HEAP32[$9>>2]|0; + $11 = ((($0)) + 8|0); + $12 = HEAP32[$11>>2]|0; + $13 = Math_imul($12, $2)|0; + $14 = ((($0)) + 4|0); + $15 = HEAP32[$14>>2]|0; + $16 = Math_imul($13, $15)|0; + $17 = $16 >>> 3; + $18 = HEAP32[$0>>2]|0; + _alBufferData(($8|0),($10|0),($1|0),($17|0),($18|0)); + $19 = HEAP32[$4>>2]|0; + _alSourceQueueBuffers(($19|0),1,($3|0)); + STACKTOP = sp;return; +} +function _SetMusicVolume($0,$1) { + $0 = $0|0; + $1 = +$1; + var $2 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($0)) + 28|0); + $3 = HEAP32[$2>>2]|0; + _alSourcef(($3|0),4106,(+$1)); + return; +} +function _emscripten_GetProcAddress($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0; + var $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0; + var $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0; + var $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0; + var $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0; + var $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0; + var $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0; + var $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0; + var $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0; + var $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0; + var $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0; + var $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0; + var $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0; + var $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0; + var $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0; + var $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0; + var $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0; + var $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0; + var $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0; + var $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0; + var $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0; + var $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0; + var $496 = 0, $497 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0; + var $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0; + var $531 = 0, $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0, $549 = 0; + var $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0; + var $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0; + var $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $1 = sp + 12|0; + $2 = sp + 8|0; + $3 = sp + 4|0; + $4 = sp; + HEAP32[$2>>2] = $0; + $5 = HEAP32[$2>>2]|0; + $6 = (_strlen($5)|0); + $7 = (($6) + 1)|0; + $8 = (_malloc($7)|0); + HEAP32[$3>>2] = $8; + $9 = HEAP32[$3>>2]|0; + $10 = HEAP32[$2>>2]|0; + (_strcpy($9,$10)|0); + $11 = HEAP32[$3>>2]|0; + $12 = (_strstr($11,14272)|0); + HEAP32[$4>>2] = $12; + $13 = HEAP32[$4>>2]|0; + $14 = ($13|0)!=(0|0); + if ($14) { + $15 = HEAP32[$4>>2]|0; + HEAP8[$15>>0] = 0; + } + $16 = HEAP32[$3>>2]|0; + $17 = (_strstr($16,14276)|0); + HEAP32[$4>>2] = $17; + $18 = HEAP32[$4>>2]|0; + $19 = ($18|0)!=(0|0); + if ($19) { + $20 = HEAP32[$4>>2]|0; + HEAP8[$20>>0] = 0; + } + $21 = HEAP32[$3>>2]|0; + $22 = (_strstr($21,14280)|0); + HEAP32[$4>>2] = $22; + $23 = HEAP32[$4>>2]|0; + $24 = ($23|0)!=(0|0); + if ($24) { + $25 = HEAP32[$4>>2]|0; + HEAP8[$25>>0] = 0; + } + $26 = HEAP32[$3>>2]|0; + $27 = (_strstr($26,14284)|0); + HEAP32[$4>>2] = $27; + $28 = HEAP32[$4>>2]|0; + $29 = ($28|0)!=(0|0); + if ($29) { + $30 = HEAP32[$4>>2]|0; + HEAP8[$30>>0] = 0; + } + $31 = HEAP32[$3>>2]|0; + $32 = (_strcmp($31,14290)|0); + $33 = ($32|0)!=(0); + do { + if ($33) { + $34 = HEAP32[$3>>2]|0; + $35 = (_strcmp($34,14328)|0); + $36 = ($35|0)!=(0); + if (!($36)) { + HEAP32[$3>>2] = 14347; + break; + } + $37 = HEAP32[$3>>2]|0; + $38 = (_strcmp($37,14360)|0); + $39 = ($38|0)!=(0); + if (!($39)) { + HEAP32[$3>>2] = 14381; + break; + } + $40 = HEAP32[$3>>2]|0; + $41 = (_strcmp($40,14396)|0); + $42 = ($41|0)!=(0); + if (!($42)) { + HEAP32[$3>>2] = 14411; + break; + } + $43 = HEAP32[$3>>2]|0; + $44 = (_strcmp($43,14426)|0); + $45 = ($44|0)!=(0); + if (!($45)) { + HEAP32[$3>>2] = 14441; + } + } else { + HEAP32[$3>>2] = 14312; + } + } while(0); + $46 = HEAP32[$3>>2]|0; + $47 = (_strcmp($46,14456)|0); + $48 = ($47|0)!=(0); + do { + if ($48) { + $49 = HEAP32[$3>>2]|0; + $50 = (_strcmp($49,14470)|0); + $51 = ($50|0)!=(0); + if (!($51)) { + HEAP32[$1>>2] = 2; + break; + } + $52 = HEAP32[$3>>2]|0; + $53 = (_strcmp($52,14482)|0); + $54 = ($53|0)!=(0); + if (!($54)) { + HEAP32[$1>>2] = 6; + break; + } + $55 = HEAP32[$3>>2]|0; + $56 = (_strcmp($55,14496)|0); + $57 = ($56|0)!=(0); + if (!($57)) { + HEAP32[$1>>2] = 7; + break; + } + $58 = HEAP32[$3>>2]|0; + $59 = (_strcmp($58,14508)|0); + $60 = ($59|0)!=(0); + if (!($60)) { + HEAP32[$1>>2] = 8; + break; + } + $61 = HEAP32[$3>>2]|0; + $62 = (_strcmp($61,14522)|0); + $63 = ($62|0)!=(0); + if (!($63)) { + HEAP32[$1>>2] = 9; + break; + } + $64 = HEAP32[$3>>2]|0; + $65 = (_strcmp($64,14536)|0); + $66 = ($65|0)!=(0); + if (!($66)) { + HEAP32[$1>>2] = 10; + break; + } + $67 = HEAP32[$3>>2]|0; + $68 = (_strcmp($67,14553)|0); + $69 = ($68|0)!=(0); + if (!($69)) { + HEAP32[$1>>2] = 1; + break; + } + $70 = HEAP32[$3>>2]|0; + $71 = (_strcmp($70,14576)|0); + $72 = ($71|0)!=(0); + if (!($72)) { + HEAP32[$1>>2] = 1; + break; + } + $73 = HEAP32[$3>>2]|0; + $74 = (_strcmp($73,14602)|0); + $75 = ($74|0)!=(0); + if (!($75)) { + HEAP32[$1>>2] = 2; + break; + } + $76 = HEAP32[$3>>2]|0; + $77 = (_strcmp($76,14615)|0); + $78 = ($77|0)!=(0); + if (!($78)) { + HEAP32[$1>>2] = 3; + break; + } + $79 = HEAP32[$3>>2]|0; + $80 = (_strcmp($79,14631)|0); + $81 = ($80|0)!=(0); + if (!($81)) { + HEAP32[$1>>2] = 1; + break; + } + $82 = HEAP32[$3>>2]|0; + $83 = (_strcmp($82,14644)|0); + $84 = ($83|0)!=(0); + if (!($84)) { + HEAP32[$1>>2] = 11; + break; + } + $85 = HEAP32[$3>>2]|0; + $86 = (_strcmp($85,14658)|0); + $87 = ($86|0)!=(0); + if (!($87)) { + HEAP32[$1>>2] = 2; + break; + } + $88 = HEAP32[$3>>2]|0; + $89 = (_strcmp($88,14678)|0); + $90 = ($89|0)!=(0); + if (!($90)) { + HEAP32[$1>>2] = 3; + break; + } + $91 = HEAP32[$3>>2]|0; + $92 = (_strcmp($91,14698)|0); + $93 = ($92|0)!=(0); + if (!($93)) { + HEAP32[$1>>2] = 4; + break; + } + $94 = HEAP32[$3>>2]|0; + $95 = (_strcmp($94,14715)|0); + $96 = ($95|0)!=(0); + if (!($96)) { + HEAP32[$1>>2] = 5; + break; + } + $97 = HEAP32[$3>>2]|0; + $98 = (_strcmp($97,14732)|0); + $99 = ($98|0)!=(0); + if (!($99)) { + HEAP32[$1>>2] = 3; + break; + } + $100 = HEAP32[$3>>2]|0; + $101 = (_strcmp($100,14744)|0); + $102 = ($101|0)!=(0); + if (!($102)) { + HEAP32[$1>>2] = 12; + break; + } + $103 = HEAP32[$3>>2]|0; + $104 = (_strcmp($103,14757)|0); + $105 = ($104|0)!=(0); + if (!($105)) { + HEAP32[$1>>2] = 13; + break; + } + $106 = HEAP32[$3>>2]|0; + $107 = (_strcmp($106,14773)|0); + $108 = ($107|0)!=(0); + if (!($108)) { + HEAP32[$1>>2] = 6; + break; + } + $109 = HEAP32[$3>>2]|0; + $110 = (_strcmp($109,14796)|0); + $111 = ($110|0)!=(0); + if (!($111)) { + HEAP32[$1>>2] = 2; + break; + } + $112 = HEAP32[$3>>2]|0; + $113 = (_strcmp($112,14809)|0); + $114 = ($113|0)!=(0); + if (!($114)) { + HEAP32[$1>>2] = 3; + break; + } + $115 = HEAP32[$3>>2]|0; + $116 = (_strcmp($115,14825)|0); + $117 = ($116|0)!=(0); + if (!($117)) { + HEAP32[$1>>2] = 4; + break; + } + $118 = HEAP32[$3>>2]|0; + $119 = (_strcmp($118,14836)|0); + $120 = ($119|0)!=(0); + if (!($120)) { + HEAP32[$1>>2] = 14; + break; + } + $121 = HEAP32[$3>>2]|0; + $122 = (_strcmp($121,14855)|0); + $123 = ($122|0)!=(0); + if (!($123)) { + HEAP32[$1>>2] = 15; + break; + } + $124 = HEAP32[$3>>2]|0; + $125 = (_strcmp($124,14877)|0); + $126 = ($125|0)!=(0); + if (!($126)) { + HEAP32[$1>>2] = 16; + break; + } + $127 = HEAP32[$3>>2]|0; + $128 = (_strcmp($127,14896)|0); + $129 = ($128|0)!=(0); + if (!($129)) { + HEAP32[$1>>2] = 7; + break; + } + $130 = HEAP32[$3>>2]|0; + $131 = (_strcmp($130,14925)|0); + $132 = ($131|0)!=(0); + if (!($132)) { + HEAP32[$1>>2] = 5; + break; + } + $133 = HEAP32[$3>>2]|0; + $134 = (_strcmp($133,14942)|0); + $135 = ($134|0)!=(0); + if (!($135)) { + HEAP32[$1>>2] = 8; + break; + } + $136 = HEAP32[$3>>2]|0; + $137 = (_strcmp($136,14957)|0); + $138 = ($137|0)!=(0); + if (!($138)) { + HEAP32[$1>>2] = 9; + break; + } + $139 = HEAP32[$3>>2]|0; + $140 = (_strcmp($139,14972)|0); + $141 = ($140|0)!=(0); + if (!($141)) { + HEAP32[$1>>2] = 3; + break; + } + $142 = HEAP32[$3>>2]|0; + $143 = (_strcmp($142,14993)|0); + $144 = ($143|0)!=(0); + if (!($144)) { + HEAP32[$1>>2] = 10; + break; + } + $145 = HEAP32[$3>>2]|0; + $146 = (_strcmp($145,15013)|0); + $147 = ($146|0)!=(0); + if (!($147)) { + HEAP32[$1>>2] = 11; + break; + } + $148 = HEAP32[$3>>2]|0; + $149 = (_strcmp($148,15033)|0); + $150 = ($149|0)!=(0); + if (!($150)) { + HEAP32[$1>>2] = 12; + break; + } + $151 = HEAP32[$3>>2]|0; + $152 = (_strcmp($151,15059)|0); + $153 = ($152|0)!=(0); + if (!($153)) { + HEAP32[$1>>2] = 2; + break; + } + $154 = HEAP32[$3>>2]|0; + $155 = (_strcmp($154,15078)|0); + $156 = ($155|0)!=(0); + if (!($156)) { + HEAP32[$1>>2] = 1; + break; + } + $157 = HEAP32[$3>>2]|0; + $158 = (_strcmp($157,15090)|0); + $159 = ($158|0)!=(0); + if (!($159)) { + HEAP32[$1>>2] = 3; + break; + } + $160 = HEAP32[$3>>2]|0; + $161 = (_strcmp($160,15102)|0); + $162 = ($161|0)!=(0); + if (!($162)) { + HEAP32[$1>>2] = 1; + break; + } + $163 = HEAP32[$3>>2]|0; + $164 = (_strcmp($163,15114)|0); + $165 = ($164|0)!=(0); + if (!($165)) { + HEAP32[$1>>2] = 1; + break; + } + $166 = HEAP32[$3>>2]|0; + $167 = (_strcmp($166,15126)|0); + $168 = ($167|0)!=(0); + if (!($168)) { + HEAP32[$1>>2] = 17; + break; + } + $169 = HEAP32[$3>>2]|0; + $170 = (_strcmp($169,15138)|0); + $171 = ($170|0)!=(0); + if (!($171)) { + HEAP32[$1>>2] = 13; + break; + } + $172 = HEAP32[$3>>2]|0; + $173 = (_strcmp($172,15150)|0); + $174 = ($173|0)!=(0); + if (!($174)) { + HEAP32[$1>>2] = 4; + break; + } + $175 = HEAP32[$3>>2]|0; + $176 = (_strcmp($175,15162)|0); + $177 = ($176|0)!=(0); + if (!($177)) { + HEAP32[$1>>2] = 2; + break; + } + $178 = HEAP32[$3>>2]|0; + $179 = (_strcmp($178,15174)|0); + $180 = ($179|0)!=(0); + if (!($180)) { + HEAP32[$1>>2] = 14; + break; + } + $181 = HEAP32[$3>>2]|0; + $182 = (_strcmp($181,15187)|0); + $183 = ($182|0)!=(0); + if (!($183)) { + HEAP32[$1>>2] = 15; + break; + } + $184 = HEAP32[$3>>2]|0; + $185 = (_strcmp($184,15200)|0); + $186 = ($185|0)!=(0); + if (!($186)) { + HEAP32[$1>>2] = 16; + break; + } + $187 = HEAP32[$3>>2]|0; + $188 = (_strcmp($187,15213)|0); + $189 = ($188|0)!=(0); + if (!($189)) { + HEAP32[$1>>2] = 17; + break; + } + $190 = HEAP32[$3>>2]|0; + $191 = (_strcmp($190,15226)|0); + $192 = ($191|0)!=(0); + if (!($192)) { + HEAP32[$1>>2] = 18; + break; + } + $193 = HEAP32[$3>>2]|0; + $194 = (_strcmp($193,15239)|0); + $195 = ($194|0)!=(0); + if (!($195)) { + HEAP32[$1>>2] = 19; + break; + } + $196 = HEAP32[$3>>2]|0; + $197 = (_strcmp($196,15252)|0); + $198 = ($197|0)!=(0); + if (!($198)) { + HEAP32[$1>>2] = 20; + break; + } + $199 = HEAP32[$3>>2]|0; + $200 = (_strcmp($199,15265)|0); + $201 = ($200|0)!=(0); + if (!($201)) { + HEAP32[$1>>2] = 21; + break; + } + $202 = HEAP32[$3>>2]|0; + $203 = (_strcmp($202,15278)|0); + $204 = ($203|0)!=(0); + if (!($204)) { + HEAP32[$1>>2] = 5; + break; + } + $205 = HEAP32[$3>>2]|0; + $206 = (_strcmp($205,15297)|0); + $207 = ($206|0)!=(0); + if (!($207)) { + HEAP32[$1>>2] = 6; + break; + } + $208 = HEAP32[$3>>2]|0; + $209 = (_strcmp($208,15316)|0); + $210 = ($209|0)!=(0); + if (!($210)) { + HEAP32[$1>>2] = 7; + break; + } + $211 = HEAP32[$3>>2]|0; + $212 = (_strcmp($211,15335)|0); + $213 = ($212|0)!=(0); + if (!($213)) { + HEAP32[$1>>2] = 18; + break; + } + $214 = HEAP32[$3>>2]|0; + $215 = (_strcmp($214,15348)|0); + $216 = ($215|0)!=(0); + if (!($216)) { + HEAP32[$1>>2] = 19; + break; + } + $217 = HEAP32[$3>>2]|0; + $218 = (_strcmp($217,15366)|0); + $219 = ($218|0)!=(0); + if (!($219)) { + HEAP32[$1>>2] = 20; + break; + } + $220 = HEAP32[$3>>2]|0; + $221 = (_strcmp($220,15384)|0); + $222 = ($221|0)!=(0); + if (!($222)) { + HEAP32[$1>>2] = 21; + break; + } + $223 = HEAP32[$3>>2]|0; + $224 = (_strcmp($223,15402)|0); + $225 = ($224|0)!=(0); + if (!($225)) { + HEAP32[$1>>2] = 22; + break; + } + $226 = HEAP32[$3>>2]|0; + $227 = (_strcmp($226,15420)|0); + $228 = ($227|0)!=(0); + if (!($228)) { + HEAP32[$1>>2] = 4; + break; + } + $229 = HEAP32[$3>>2]|0; + $230 = (_strcmp($229,15440)|0); + $231 = ($230|0)!=(0); + if (!($231)) { + HEAP32[$1>>2] = 3; + break; + } + $232 = HEAP32[$3>>2]|0; + $233 = (_strcmp($232,14381)|0); + $234 = ($233|0)!=(0); + if (!($234)) { + HEAP32[$1>>2] = 6; + break; + } + $235 = HEAP32[$3>>2]|0; + $236 = (_strcmp($235,15458)|0); + $237 = ($236|0)!=(0); + if (!($237)) { + HEAP32[$1>>2] = 1; + break; + } + $238 = HEAP32[$3>>2]|0; + $239 = (_strcmp($238,15473)|0); + $240 = ($239|0)!=(0); + if (!($240)) { + HEAP32[$1>>2] = 8; + break; + } + $241 = HEAP32[$3>>2]|0; + $242 = (_strcmp($241,15494)|0); + $243 = ($242|0)!=(0); + if (!($243)) { + HEAP32[$1>>2] = 9; + break; + } + $244 = HEAP32[$3>>2]|0; + $245 = (_strcmp($244,15509)|0); + $246 = ($245|0)!=(0); + if (!($246)) { + HEAP32[$1>>2] = 10; + break; + } + $247 = HEAP32[$3>>2]|0; + $248 = (_strcmp($247,15527)|0); + $249 = ($248|0)!=(0); + if (!($249)) { + HEAP32[$1>>2] = 2; + break; + } + $250 = HEAP32[$3>>2]|0; + $251 = (_strcmp($250,15543)|0); + $252 = ($251|0)!=(0); + if (!($252)) { + HEAP32[$1>>2] = 11; + break; + } + $253 = HEAP32[$3>>2]|0; + $254 = (_strcmp($253,15562)|0); + $255 = ($254|0)!=(0); + if (!($255)) { + HEAP32[$1>>2] = 22; + break; + } + $256 = HEAP32[$3>>2]|0; + $257 = (_strcmp($256,15576)|0); + $258 = ($257|0)!=(0); + if (!($258)) { + HEAP32[$1>>2] = 23; + break; + } + $259 = HEAP32[$3>>2]|0; + $260 = (_strcmp($259,15591)|0); + $261 = ($260|0)!=(0); + if (!($261)) { + HEAP32[$1>>2] = 7; + break; + } + $262 = HEAP32[$3>>2]|0; + $263 = (_strcmp($262,14312)|0); + $264 = ($263|0)!=(0); + if (!($264)) { + HEAP32[$1>>2] = 1; + break; + } + $265 = HEAP32[$3>>2]|0; + $266 = (_strcmp($265,15602)|0); + $267 = ($266|0)!=(0); + if (!($267)) { + HEAP32[$1>>2] = 3; + break; + } + $268 = HEAP32[$3>>2]|0; + $269 = (_strcmp($268,14411)|0); + $270 = ($269|0)!=(0); + if (!($270)) { + HEAP32[$1>>2] = 23; + break; + } + $271 = HEAP32[$3>>2]|0; + $272 = (_strcmp($271,14441)|0); + $273 = ($272|0)!=(0); + if (!($273)) { + HEAP32[$1>>2] = 24; + break; + } + $274 = HEAP32[$3>>2]|0; + $275 = (_strcmp($274,15618)|0); + $276 = ($275|0)!=(0); + if (!($276)) { + HEAP32[$1>>2] = 12; + break; + } + $277 = HEAP32[$3>>2]|0; + $278 = (_strcmp($277,15645)|0); + $279 = ($278|0)!=(0); + if (!($279)) { + HEAP32[$1>>2] = 4; + break; + } + $280 = HEAP32[$3>>2]|0; + $281 = (_strcmp($280,15659)|0); + $282 = ($281|0)!=(0); + if (!($282)) { + HEAP32[$1>>2] = 13; + break; + } + $283 = HEAP32[$3>>2]|0; + $284 = (_strcmp($283,14347)|0); + $285 = ($284|0)!=(0); + if (!($285)) { + HEAP32[$1>>2] = 5; + break; + } + $286 = HEAP32[$3>>2]|0; + $287 = (_strcmp($286,15679)|0); + $288 = ($287|0)!=(0); + if (!($288)) { + HEAP32[$1>>2] = 6; + break; + } + $289 = HEAP32[$3>>2]|0; + $290 = (_strcmp($289,15697)|0); + $291 = ($290|0)!=(0); + if (!($291)) { + HEAP32[$1>>2] = 8; + break; + } + $292 = HEAP32[$3>>2]|0; + $293 = (_strcmp($292,15709)|0); + $294 = ($293|0)!=(0); + if (!($294)) { + HEAP32[$1>>2] = 24; + break; + } + $295 = HEAP32[$3>>2]|0; + $296 = (_strcmp($295,15730)|0); + $297 = ($296|0)!=(0); + if (!($297)) { + HEAP32[$1>>2] = 25; + break; + } + $298 = HEAP32[$3>>2]|0; + $299 = (_strcmp($298,15748)|0); + $300 = ($299|0)!=(0); + if (!($300)) { + HEAP32[$1>>2] = 26; + break; + } + $301 = HEAP32[$3>>2]|0; + $302 = (_strcmp($301,15766)|0); + $303 = ($302|0)!=(0); + if (!($303)) { + HEAP32[$1>>2] = 27; + break; + } + $304 = HEAP32[$3>>2]|0; + $305 = (_strcmp($304,15787)|0); + $306 = ($305|0)!=(0); + if (!($306)) { + HEAP32[$1>>2] = 14; + break; + } + $307 = HEAP32[$3>>2]|0; + $308 = (_strcmp($307,15813)|0); + $309 = ($308|0)!=(0); + if (!($309)) { + HEAP32[$1>>2] = 3; + break; + } + $310 = HEAP32[$3>>2]|0; + $311 = (_strcmp($310,15836)|0); + $312 = ($311|0)!=(0); + if (!($312)) { + HEAP32[$1>>2] = 15; + break; + } + $313 = HEAP32[$3>>2]|0; + $314 = (_strcmp($313,15874)|0); + $315 = ($314|0)!=(0); + if (!($315)) { + HEAP32[$1>>2] = 9; + break; + } + $316 = HEAP32[$3>>2]|0; + $317 = (_strcmp($316,15890)|0); + $318 = ($317|0)!=(0); + if (!($318)) { + HEAP32[$1>>2] = 7; + break; + } + $319 = HEAP32[$3>>2]|0; + $320 = (_strcmp($319,15905)|0); + $321 = ($320|0)!=(0); + if (!($321)) { + HEAP32[$1>>2] = 25; + break; + } + $322 = HEAP32[$3>>2]|0; + $323 = (_strcmp($322,15928)|0); + $324 = ($323|0)!=(0); + if (!($324)) { + HEAP32[$1>>2] = 16; + break; + } + $325 = HEAP32[$3>>2]|0; + $326 = (_strcmp($325,15941)|0); + $327 = ($326|0)!=(0); + if (!($327)) { + HEAP32[$1>>2] = 28; + break; + } + $328 = HEAP32[$3>>2]|0; + $329 = (_strcmp($328,15955)|0); + $330 = ($329|0)!=(0); + if (!($330)) { + HEAP32[$1>>2] = 29; + break; + } + $331 = HEAP32[$3>>2]|0; + $332 = (_strcmp($331,15969)|0); + $333 = ($332|0)!=(0); + if (!($333)) { + HEAP32[$1>>2] = 1; + break; + } + $334 = HEAP32[$3>>2]|0; + $335 = (_strcmp($334,15989)|0); + $336 = ($335|0)!=(0); + if (!($336)) { + HEAP32[$1>>2] = 8; + break; + } + $337 = HEAP32[$3>>2]|0; + $338 = (_strcmp($337,16009)|0); + $339 = ($338|0)!=(0); + if (!($339)) { + HEAP32[$1>>2] = 17; + break; + } + $340 = HEAP32[$3>>2]|0; + $341 = (_strcmp($340,16025)|0); + $342 = ($341|0)!=(0); + if (!($342)) { + HEAP32[$1>>2] = 18; + break; + } + $343 = HEAP32[$3>>2]|0; + $344 = (_strcmp($343,16043)|0); + $345 = ($344|0)!=(0); + if (!($345)) { + HEAP32[$1>>2] = 26; + break; + } + $346 = HEAP32[$3>>2]|0; + $347 = (_strcmp($346,16059)|0); + $348 = ($347|0)!=(0); + if (!($348)) { + HEAP32[$1>>2] = 19; + break; + } + $349 = HEAP32[$3>>2]|0; + $350 = (_strcmp($349,16074)|0); + $351 = ($350|0)!=(0); + if (!($351)) { + HEAP32[$1>>2] = 9; + break; + } + $352 = HEAP32[$3>>2]|0; + $353 = (_strcmp($352,16096)|0); + $354 = ($353|0)!=(0); + if (!($354)) { + HEAP32[$1>>2] = 30; + break; + } + $355 = HEAP32[$3>>2]|0; + $356 = (_strcmp($355,16114)|0); + $357 = ($356|0)!=(0); + if (!($357)) { + HEAP32[$1>>2] = 31; + break; + } + $358 = HEAP32[$3>>2]|0; + $359 = (_strcmp($358,16135)|0); + $360 = ($359|0)!=(0); + if (!($360)) { + HEAP32[$1>>2] = 10; + break; + } + $361 = HEAP32[$3>>2]|0; + $362 = (_strcmp($361,16153)|0); + $363 = ($362|0)!=(0); + if (!($363)) { + HEAP32[$1>>2] = 11; + break; + } + $364 = HEAP32[$3>>2]|0; + $365 = (_strcmp($364,16166)|0); + $366 = ($365|0)!=(0); + if (!($366)) { + HEAP32[$1>>2] = 2; + break; + } + $367 = HEAP32[$3>>2]|0; + $368 = (_strcmp($367,16181)|0); + $369 = ($368|0)!=(0); + if (!($369)) { + HEAP32[$1>>2] = 12; + break; + } + $370 = HEAP32[$3>>2]|0; + $371 = (_strcmp($370,16195)|0); + $372 = ($371|0)!=(0); + if (!($372)) { + HEAP32[$1>>2] = 1; + break; + } + $373 = HEAP32[$3>>2]|0; + $374 = (_strcmp($373,16205)|0); + $375 = ($374|0)!=(0); + if (!($375)) { + HEAP32[$1>>2] = 1; + break; + } + $376 = HEAP32[$3>>2]|0; + $377 = (_strcmp($376,16215)|0); + $378 = ($377|0)!=(0); + if (!($378)) { + HEAP32[$1>>2] = 2; + break; + } + $379 = HEAP32[$3>>2]|0; + $380 = (_strcmp($379,16237)|0); + $381 = ($380|0)!=(0); + if (!($381)) { + HEAP32[$1>>2] = 13; + break; + } + $382 = HEAP32[$3>>2]|0; + $383 = (_strcmp($382,16263)|0); + $384 = ($383|0)!=(0); + if (!($384)) { + HEAP32[$1>>2] = 14; + break; + } + $385 = HEAP32[$3>>2]|0; + $386 = (_strcmp($385,16290)|0); + $387 = ($386|0)!=(0); + if (!($387)) { + HEAP32[$1>>2] = 27; + break; + } + $388 = HEAP32[$3>>2]|0; + $389 = (_strcmp($388,16303)|0); + $390 = ($389|0)!=(0); + if (!($390)) { + HEAP32[$1>>2] = 20; + break; + } + $391 = HEAP32[$3>>2]|0; + $392 = (_strcmp($391,16318)|0); + $393 = ($392|0)!=(0); + if (!($393)) { + HEAP32[$1>>2] = 4; + break; + } + $394 = HEAP32[$3>>2]|0; + $395 = (_strcmp($394,16333)|0); + $396 = ($395|0)!=(0); + if (!($396)) { + HEAP32[$1>>2] = 3; + break; + } + $397 = HEAP32[$3>>2]|0; + $398 = (_strcmp($397,16357)|0); + $399 = ($398|0)!=(0); + if (!($399)) { + HEAP32[$1>>2] = 2; + break; + } + $400 = HEAP32[$3>>2]|0; + $401 = (_strcmp($400,16368)|0); + $402 = ($401|0)!=(0); + if (!($402)) { + HEAP32[$1>>2] = 32; + break; + } + $403 = HEAP32[$3>>2]|0; + $404 = (_strcmp($403,16390)|0); + $405 = ($404|0)!=(0); + if (!($405)) { + HEAP32[$1>>2] = 21; + break; + } + $406 = HEAP32[$3>>2]|0; + $407 = (_strcmp($406,16412)|0); + $408 = ($407|0)!=(0); + if (!($408)) { + HEAP32[$1>>2] = 5; + break; + } + $409 = HEAP32[$3>>2]|0; + $410 = (_strcmp($409,16436)|0); + $411 = ($410|0)!=(0); + if (!($411)) { + HEAP32[$1>>2] = 4; + break; + } + $412 = HEAP32[$3>>2]|0; + $413 = (_strcmp($412,16445)|0); + $414 = ($413|0)!=(0); + if (!($414)) { + HEAP32[$1>>2] = 5; + break; + } + $415 = HEAP32[$3>>2]|0; + $416 = (_strcmp($415,16453)|0); + $417 = ($416|0)!=(0); + if (!($417)) { + HEAP32[$1>>2] = 1; + break; + } + $418 = HEAP32[$3>>2]|0; + $419 = (_strcmp($418,16466)|0); + $420 = ($419|0)!=(0); + if (!($420)) { + HEAP32[$1>>2] = 2; + break; + } + $421 = HEAP32[$3>>2]|0; + $422 = (_strcmp($421,16480)|0); + $423 = ($422|0)!=(0); + if (!($423)) { + HEAP32[$1>>2] = 15; + break; + } + $424 = HEAP32[$3>>2]|0; + $425 = (_strcmp($424,16492)|0); + $426 = ($425|0)!=(0); + if (!($426)) { + HEAP32[$1>>2] = 16; + break; + } + $427 = HEAP32[$3>>2]|0; + $428 = (_strcmp($427,16501)|0); + $429 = ($428|0)!=(0); + if (!($429)) { + HEAP32[$1>>2] = 17; + break; + } + $430 = HEAP32[$3>>2]|0; + $431 = (_strcmp($430,16511)|0); + $432 = ($431|0)!=(0); + if (!($432)) { + HEAP32[$1>>2] = 18; + break; + } + $433 = HEAP32[$3>>2]|0; + $434 = (_strcmp($433,16523)|0); + $435 = ($434|0)!=(0); + if (!($435)) { + HEAP32[$1>>2] = 19; + break; + } + $436 = HEAP32[$3>>2]|0; + $437 = (_strcmp($436,16534)|0); + $438 = ($437|0)!=(0); + if (!($438)) { + HEAP32[$1>>2] = 20; + break; + } + $439 = HEAP32[$3>>2]|0; + $440 = (_strcmp($439,16542)|0); + $441 = ($440|0)!=(0); + if (!($441)) { + HEAP32[$1>>2] = 3; + break; + } + $442 = HEAP32[$3>>2]|0; + $443 = (_strcmp($442,16554)|0); + $444 = ($443|0)!=(0); + if (!($444)) { + HEAP32[$1>>2] = 21; + break; + } + $445 = HEAP32[$3>>2]|0; + $446 = (_strcmp($445,16569)|0); + $447 = ($446|0)!=(0); + if (!($447)) { + HEAP32[$1>>2] = 22; + break; + } + $448 = HEAP32[$3>>2]|0; + $449 = (_strcmp($448,16581)|0); + $450 = ($449|0)!=(0); + if (!($450)) { + HEAP32[$1>>2] = 23; + break; + } + $451 = HEAP32[$3>>2]|0; + $452 = (_strcmp($451,16595)|0); + $453 = ($452|0)!=(0); + if (!($453)) { + HEAP32[$1>>2] = 10; + break; + } + $454 = HEAP32[$3>>2]|0; + $455 = (_strcmp($454,16620)|0); + $456 = ($455|0)!=(0); + if (!($456)) { + HEAP32[$1>>2] = 24; + break; + } + $457 = HEAP32[$3>>2]|0; + $458 = (_strcmp($457,16637)|0); + $459 = ($458|0)!=(0); + if (!($459)) { + HEAP32[$1>>2] = 25; + break; + } + $460 = HEAP32[$3>>2]|0; + $461 = (_strcmp($460,16653)|0); + $462 = ($461|0)!=(0); + if (!($462)) { + HEAP32[$1>>2] = 26; + break; + } + $463 = HEAP32[$3>>2]|0; + $464 = (_strcmp($463,16669)|0); + $465 = ($464|0)!=(0); + if (!($465)) { + HEAP32[$1>>2] = 11; + break; + } + $466 = HEAP32[$3>>2]|0; + $467 = (_strcmp($466,16681)|0); + $468 = ($467|0)!=(0); + if (!($468)) { + HEAP32[$1>>2] = 33; + break; + } + $469 = HEAP32[$3>>2]|0; + $470 = (_strcmp($469,16693)|0); + $471 = ($470|0)!=(0); + if (!($471)) { + HEAP32[$1>>2] = 34; + break; + } + $472 = HEAP32[$3>>2]|0; + $473 = (_strcmp($472,16717)|0); + $474 = ($473|0)!=(0); + if (!($474)) { + HEAP32[$1>>2] = 1; + break; + } + $475 = HEAP32[$3>>2]|0; + $476 = (_strcmp($475,16730)|0); + $477 = ($476|0)!=(0); + if (!($477)) { + HEAP32[$1>>2] = 2; + break; + } + $478 = HEAP32[$3>>2]|0; + $479 = (_strcmp($478,16744)|0); + $480 = ($479|0)!=(0); + if (!($480)) { + HEAP32[$1>>2] = 35; + break; + } + $481 = HEAP32[$3>>2]|0; + $482 = (_strcmp($481,16766)|0); + $483 = ($482|0)!=(0); + if (!($483)) { + HEAP32[$1>>2] = 36; + break; + } + $484 = HEAP32[$3>>2]|0; + $485 = (_strcmp($484,16773)|0); + $486 = ($485|0)!=(0); + if (!($486)) { + HEAP32[$1>>2] = 3; + break; + } + $487 = HEAP32[$3>>2]|0; + $488 = (_strcmp($487,16789)|0); + $489 = ($488|0)!=(0); + if (!($489)) { + HEAP32[$1>>2] = 2; + break; + } + $490 = HEAP32[$3>>2]|0; + $491 = (_strcmp($490,16806)|0); + $492 = ($491|0)!=(0); + if (!($492)) { + HEAP32[$1>>2] = 1; + break; + } + $493 = HEAP32[$3>>2]|0; + $494 = (_strcmp($493,16823)|0); + $495 = ($494|0)!=(0); + if (!($495)) { + HEAP32[$1>>2] = 28; + break; + } + $496 = HEAP32[$3>>2]|0; + $497 = (_strcmp($496,16839)|0); + $498 = ($497|0)!=(0); + if (!($498)) { + HEAP32[$1>>2] = 1; + break; + } + $499 = HEAP32[$3>>2]|0; + $500 = (_strcmp($499,16855)|0); + $501 = ($500|0)!=(0); + if (!($501)) { + HEAP32[$1>>2] = 4; + break; + } + $502 = HEAP32[$3>>2]|0; + $503 = (_strcmp($502,16872)|0); + $504 = ($503|0)!=(0); + if (!($504)) { + HEAP32[$1>>2] = 29; + break; + } + $505 = HEAP32[$3>>2]|0; + $506 = (_strcmp($505,16886)|0); + $507 = ($506|0)!=(0); + if (!($507)) { + HEAP32[$1>>2] = 30; + break; + } + $508 = HEAP32[$3>>2]|0; + $509 = (_strcmp($508,16898)|0); + $510 = ($509|0)!=(0); + if (!($510)) { + HEAP32[$1>>2] = 22; + break; + } + $511 = HEAP32[$3>>2]|0; + $512 = (_strcmp($511,16909)|0); + $513 = ($512|0)!=(0); + if (!($513)) { + HEAP32[$1>>2] = 2; + break; + } + $514 = HEAP32[$3>>2]|0; + $515 = (_strcmp($514,16922)|0); + $516 = ($515|0)!=(0); + if (!($516)) { + HEAP32[$1>>2] = 23; + break; + } + $517 = HEAP32[$3>>2]|0; + $518 = (_strcmp($517,16932)|0); + $519 = ($518|0)!=(0); + if (!($519)) { + HEAP32[$1>>2] = 2; + break; + } + $520 = HEAP32[$3>>2]|0; + $521 = (_strcmp($520,16949)|0); + $522 = ($521|0)!=(0); + if (!($522)) { + HEAP32[$1>>2] = 24; + break; + } + $523 = HEAP32[$3>>2]|0; + $524 = (_strcmp($523,16961)|0); + $525 = ($524|0)!=(0); + if (!($525)) { + HEAP32[$1>>2] = 25; + break; + } + $526 = HEAP32[$3>>2]|0; + $527 = (_strcmp($526,16983)|0); + $528 = ($527|0)!=(0); + if (!($528)) { + HEAP32[$1>>2] = 26; + break; + } + $529 = HEAP32[$3>>2]|0; + $530 = (_strcmp($529,17003)|0); + $531 = ($530|0)!=(0); + if (!($531)) { + HEAP32[$1>>2] = 3; + break; + } + $532 = HEAP32[$3>>2]|0; + $533 = (_strcmp($532,17016)|0); + $534 = ($533|0)!=(0); + if (!($534)) { + HEAP32[$1>>2] = 27; + break; + } + $535 = HEAP32[$3>>2]|0; + $536 = (_strcmp($535,17038)|0); + $537 = ($536|0)!=(0); + if (!($537)) { + HEAP32[$1>>2] = 28; + break; + } + $538 = HEAP32[$3>>2]|0; + $539 = (_strcmp($538,17058)|0); + $540 = ($539|0)!=(0); + if (!($540)) { + HEAP32[$1>>2] = 2; + break; + } + $541 = HEAP32[$3>>2]|0; + $542 = (_strcmp($541,17075)|0); + $543 = ($542|0)!=(0); + if (!($543)) { + HEAP32[$1>>2] = 2; + break; + } + $544 = HEAP32[$3>>2]|0; + $545 = (_strcmp($544,17092)|0); + $546 = ($545|0)!=(0); + if (!($546)) { + HEAP32[$1>>2] = 3; + break; + } + $547 = HEAP32[$3>>2]|0; + $548 = (_strcmp($547,17112)|0); + $549 = ($548|0)!=(0); + if ($549) { + $550 = HEAP32[$2>>2]|0; + $551 = HEAP32[$3>>2]|0; + $552 = _emscripten_asm_const_iii(0, ($550|0), ($551|0))|0; + HEAP32[$1>>2] = 0; + break; + } else { + HEAP32[$1>>2] = 37; + break; + } + } else { + HEAP32[$1>>2] = 5; + } + } while(0); + $553 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($553|0); +} +function _emscripten_get_global_libc() { + var label = 0, sp = 0; + sp = STACKTOP; + return (24404|0); +} +function ___stdio_close($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $vararg_buffer = sp; + $1 = ((($0)) + 60|0); + $2 = HEAP32[$1>>2]|0; + $3 = (_dummy_738($2)|0); + HEAP32[$vararg_buffer>>2] = $3; + $4 = (___syscall6(6,($vararg_buffer|0))|0); + $5 = (___syscall_ret($4)|0); + STACKTOP = sp;return ($5|0); +} +function ___stdio_write($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$0 = 0, $$04756 = 0, $$04855 = 0, $$04954 = 0, $$051 = 0, $$1 = 0, $$150 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0; + var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0; + var $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer3 = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr6 = 0; + var $vararg_ptr7 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0); + $vararg_buffer3 = sp + 16|0; + $vararg_buffer = sp; + $3 = sp + 32|0; + $4 = ((($0)) + 28|0); + $5 = HEAP32[$4>>2]|0; + HEAP32[$3>>2] = $5; + $6 = ((($3)) + 4|0); + $7 = ((($0)) + 20|0); + $8 = HEAP32[$7>>2]|0; + $9 = (($8) - ($5))|0; + HEAP32[$6>>2] = $9; + $10 = ((($3)) + 8|0); + HEAP32[$10>>2] = $1; + $11 = ((($3)) + 12|0); + HEAP32[$11>>2] = $2; + $12 = (($9) + ($2))|0; + $13 = ((($0)) + 60|0); + $14 = HEAP32[$13>>2]|0; + $15 = $3; + HEAP32[$vararg_buffer>>2] = $14; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $15; + $vararg_ptr2 = ((($vararg_buffer)) + 8|0); + HEAP32[$vararg_ptr2>>2] = 2; + $16 = (___syscall146(146,($vararg_buffer|0))|0); + $17 = (___syscall_ret($16)|0); + $18 = ($12|0)==($17|0); + L1: do { + if ($18) { + label = 3; + } else { + $$04756 = 2;$$04855 = $12;$$04954 = $3;$26 = $17; + while(1) { + $25 = ($26|0)<(0); + if ($25) { + break; + } + $34 = (($$04855) - ($26))|0; + $35 = ((($$04954)) + 4|0); + $36 = HEAP32[$35>>2]|0; + $37 = ($26>>>0)>($36>>>0); + $38 = ((($$04954)) + 8|0); + $$150 = $37 ? $38 : $$04954; + $39 = $37 << 31 >> 31; + $$1 = (($39) + ($$04756))|0; + $40 = $37 ? $36 : 0; + $$0 = (($26) - ($40))|0; + $41 = HEAP32[$$150>>2]|0; + $42 = (($41) + ($$0)|0); + HEAP32[$$150>>2] = $42; + $43 = ((($$150)) + 4|0); + $44 = HEAP32[$43>>2]|0; + $45 = (($44) - ($$0))|0; + HEAP32[$43>>2] = $45; + $46 = HEAP32[$13>>2]|0; + $47 = $$150; + HEAP32[$vararg_buffer3>>2] = $46; + $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); + HEAP32[$vararg_ptr6>>2] = $47; + $vararg_ptr7 = ((($vararg_buffer3)) + 8|0); + HEAP32[$vararg_ptr7>>2] = $$1; + $48 = (___syscall146(146,($vararg_buffer3|0))|0); + $49 = (___syscall_ret($48)|0); + $50 = ($34|0)==($49|0); + if ($50) { + label = 3; + break L1; + } else { + $$04756 = $$1;$$04855 = $34;$$04954 = $$150;$26 = $49; + } + } + $27 = ((($0)) + 16|0); + HEAP32[$27>>2] = 0; + HEAP32[$4>>2] = 0; + HEAP32[$7>>2] = 0; + $28 = HEAP32[$0>>2]|0; + $29 = $28 | 32; + HEAP32[$0>>2] = $29; + $30 = ($$04756|0)==(2); + if ($30) { + $$051 = 0; + } else { + $31 = ((($$04954)) + 4|0); + $32 = HEAP32[$31>>2]|0; + $33 = (($2) - ($32))|0; + $$051 = $33; + } + } + } while(0); + if ((label|0) == 3) { + $19 = ((($0)) + 44|0); + $20 = HEAP32[$19>>2]|0; + $21 = ((($0)) + 48|0); + $22 = HEAP32[$21>>2]|0; + $23 = (($20) + ($22)|0); + $24 = ((($0)) + 16|0); + HEAP32[$24>>2] = $23; + HEAP32[$4>>2] = $20; + HEAP32[$7>>2] = $20; + $$051 = $2; + } + STACKTOP = sp;return ($$051|0); +} +function ___stdio_seek($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$pre = 0, $10 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, $vararg_ptr4 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $vararg_buffer = sp; + $3 = sp + 20|0; + $4 = ((($0)) + 60|0); + $5 = HEAP32[$4>>2]|0; + $6 = $3; + HEAP32[$vararg_buffer>>2] = $5; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = 0; + $vararg_ptr2 = ((($vararg_buffer)) + 8|0); + HEAP32[$vararg_ptr2>>2] = $1; + $vararg_ptr3 = ((($vararg_buffer)) + 12|0); + HEAP32[$vararg_ptr3>>2] = $6; + $vararg_ptr4 = ((($vararg_buffer)) + 16|0); + HEAP32[$vararg_ptr4>>2] = $2; + $7 = (___syscall140(140,($vararg_buffer|0))|0); + $8 = (___syscall_ret($7)|0); + $9 = ($8|0)<(0); + if ($9) { + HEAP32[$3>>2] = -1; + $10 = -1; + } else { + $$pre = HEAP32[$3>>2]|0; + $10 = $$pre; + } + STACKTOP = sp;return ($10|0); +} +function ___syscall_ret($0) { + $0 = $0|0; + var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ($0>>>0)>(4294963200); + if ($1) { + $2 = (0 - ($0))|0; + $3 = (___errno_location()|0); + HEAP32[$3>>2] = $2; + $$0 = -1; + } else { + $$0 = $0; + } + return ($$0|0); +} +function ___errno_location() { + var $0 = 0, $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (___pthread_self_108()|0); + $1 = ((($0)) + 64|0); + return ($1|0); +} +function ___pthread_self_108() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (_pthread_self()|0); + return ($0|0); +} +function _pthread_self() { + var label = 0, sp = 0; + sp = STACKTOP; + return (4832|0); +} +function _dummy_738($0) { + $0 = $0|0; + var label = 0, sp = 0; + sp = STACKTOP; + return ($0|0); +} +function ___stdio_read($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $vararg_buffer = sp; + $3 = sp + 16|0; + HEAP32[$3>>2] = $1; + $4 = ((($3)) + 4|0); + $5 = ((($0)) + 48|0); + $6 = HEAP32[$5>>2]|0; + $7 = ($6|0)!=(0); + $8 = $7&1; + $9 = (($2) - ($8))|0; + HEAP32[$4>>2] = $9; + $10 = ((($3)) + 8|0); + $11 = ((($0)) + 44|0); + $12 = HEAP32[$11>>2]|0; + HEAP32[$10>>2] = $12; + $13 = ((($3)) + 12|0); + HEAP32[$13>>2] = $6; + $14 = ((($0)) + 60|0); + $15 = HEAP32[$14>>2]|0; + $16 = $3; + HEAP32[$vararg_buffer>>2] = $15; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $16; + $vararg_ptr2 = ((($vararg_buffer)) + 8|0); + HEAP32[$vararg_ptr2>>2] = 2; + $17 = (___syscall145(145,($vararg_buffer|0))|0); + $18 = (___syscall_ret($17)|0); + $19 = ($18|0)<(1); + if ($19) { + $20 = $18 & 48; + $21 = $20 ^ 16; + $22 = HEAP32[$0>>2]|0; + $23 = $22 | $21; + HEAP32[$0>>2] = $23; + $$0 = $18; + } else { + $24 = HEAP32[$4>>2]|0; + $25 = ($18>>>0)>($24>>>0); + if ($25) { + $26 = (($18) - ($24))|0; + $27 = HEAP32[$11>>2]|0; + $28 = ((($0)) + 4|0); + HEAP32[$28>>2] = $27; + $29 = (($27) + ($26)|0); + $30 = ((($0)) + 8|0); + HEAP32[$30>>2] = $29; + $31 = HEAP32[$5>>2]|0; + $32 = ($31|0)==(0); + if ($32) { + $$0 = $2; + } else { + $33 = ((($27)) + 1|0); + HEAP32[$28>>2] = $33; + $34 = HEAP8[$27>>0]|0; + $35 = (($2) + -1)|0; + $36 = (($1) + ($35)|0); + HEAP8[$36>>0] = $34; + $$0 = $2; + } + } else { + $$0 = $18; + } + } + STACKTOP = sp;return ($$0|0); +} +function ___stdout_write($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $vararg_buffer = sp; + $3 = sp + 16|0; + $4 = ((($0)) + 36|0); + HEAP32[$4>>2] = 1; + $5 = HEAP32[$0>>2]|0; + $6 = $5 & 64; + $7 = ($6|0)==(0); + if ($7) { + $8 = ((($0)) + 60|0); + $9 = HEAP32[$8>>2]|0; + $10 = $3; + HEAP32[$vararg_buffer>>2] = $9; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = 21523; + $vararg_ptr2 = ((($vararg_buffer)) + 8|0); + HEAP32[$vararg_ptr2>>2] = $10; + $11 = (___syscall54(54,($vararg_buffer|0))|0); + $12 = ($11|0)==(0); + if (!($12)) { + $13 = ((($0)) + 75|0); + HEAP8[$13>>0] = -1; + } + } + $14 = (___stdio_write($0,$1,$2)|0); + STACKTOP = sp;return ($14|0); +} +function ___uflow($0) { + $0 = $0|0; + var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $1 = sp; + $2 = (___toread($0)|0); + $3 = ($2|0)==(0); + if ($3) { + $4 = ((($0)) + 32|0); + $5 = HEAP32[$4>>2]|0; + $6 = (FUNCTION_TABLE_iiii[$5 & 15]($0,$1,1)|0); + $7 = ($6|0)==(1); + if ($7) { + $8 = HEAP8[$1>>0]|0; + $9 = $8&255; + $$0 = $9; + } else { + $$0 = -1; + } + } else { + $$0 = -1; + } + STACKTOP = sp;return ($$0|0); +} +function ___toread($0) { + $0 = $0|0; + var $$0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $sext = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 74|0); + $2 = HEAP8[$1>>0]|0; + $3 = $2 << 24 >> 24; + $4 = (($3) + 255)|0; + $5 = $4 | $3; + $6 = $5&255; + HEAP8[$1>>0] = $6; + $7 = ((($0)) + 20|0); + $8 = HEAP32[$7>>2]|0; + $9 = ((($0)) + 28|0); + $10 = HEAP32[$9>>2]|0; + $11 = ($8>>>0)>($10>>>0); + if ($11) { + $12 = ((($0)) + 36|0); + $13 = HEAP32[$12>>2]|0; + (FUNCTION_TABLE_iiii[$13 & 15]($0,0,0)|0); + } + $14 = ((($0)) + 16|0); + HEAP32[$14>>2] = 0; + HEAP32[$9>>2] = 0; + HEAP32[$7>>2] = 0; + $15 = HEAP32[$0>>2]|0; + $16 = $15 & 4; + $17 = ($16|0)==(0); + if ($17) { + $19 = ((($0)) + 44|0); + $20 = HEAP32[$19>>2]|0; + $21 = ((($0)) + 48|0); + $22 = HEAP32[$21>>2]|0; + $23 = (($20) + ($22)|0); + $24 = ((($0)) + 8|0); + HEAP32[$24>>2] = $23; + $25 = ((($0)) + 4|0); + HEAP32[$25>>2] = $23; + $26 = $15 << 27; + $sext = $26 >> 31; + $$0 = $sext; + } else { + $18 = $15 | 32; + HEAP32[$0>>2] = $18; + $$0 = -1; + } + return ($$0|0); +} +function _strcmp($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$011 = 0, $$0710 = 0, $$lcssa = 0, $$lcssa8 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond9 = 0, label = 0; + var sp = 0; + sp = STACKTOP; + $2 = HEAP8[$0>>0]|0; + $3 = HEAP8[$1>>0]|0; + $4 = ($2<<24>>24)!=($3<<24>>24); + $5 = ($2<<24>>24)==(0); + $or$cond9 = $5 | $4; + if ($or$cond9) { + $$lcssa = $3;$$lcssa8 = $2; + } else { + $$011 = $1;$$0710 = $0; + while(1) { + $6 = ((($$0710)) + 1|0); + $7 = ((($$011)) + 1|0); + $8 = HEAP8[$6>>0]|0; + $9 = HEAP8[$7>>0]|0; + $10 = ($8<<24>>24)!=($9<<24>>24); + $11 = ($8<<24>>24)==(0); + $or$cond = $11 | $10; + if ($or$cond) { + $$lcssa = $9;$$lcssa8 = $8; + break; + } else { + $$011 = $7;$$0710 = $6; + } + } + } + $12 = $$lcssa8&255; + $13 = $$lcssa&255; + $14 = (($12) - ($13))|0; + return ($14|0); +} +function _memcmp($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$01318 = 0, $$01417 = 0, $$019 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ($2|0)==(0); + L1: do { + if ($3) { + $14 = 0; + } else { + $$01318 = $0;$$01417 = $2;$$019 = $1; + while(1) { + $4 = HEAP8[$$01318>>0]|0; + $5 = HEAP8[$$019>>0]|0; + $6 = ($4<<24>>24)==($5<<24>>24); + if (!($6)) { + break; + } + $7 = (($$01417) + -1)|0; + $8 = ((($$01318)) + 1|0); + $9 = ((($$019)) + 1|0); + $10 = ($7|0)==(0); + if ($10) { + $14 = 0; + break L1; + } else { + $$01318 = $8;$$01417 = $7;$$019 = $9; + } + } + $11 = $4&255; + $12 = $5&255; + $13 = (($11) - ($12))|0; + $14 = $13; + } + } while(0); + return ($14|0); +} +function _strncmp($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$01824 = 0, $$01926 = 0, $$01926$in = 0, $$020 = 0, $$025 = 0, $$lcssa = 0, $$lcssa22 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0; + var $23 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond21 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ($2|0)==(0); + if ($3) { + $$020 = 0; + } else { + $4 = HEAP8[$0>>0]|0; + $5 = $4&255; + $6 = ($4<<24>>24)==(0); + $7 = HEAP8[$1>>0]|0; + $8 = $7&255; + L3: do { + if ($6) { + $$lcssa = $8;$$lcssa22 = $5; + } else { + $$01824 = $0;$$01926$in = $2;$$025 = $1;$10 = $7;$13 = $4;$22 = $8;$23 = $5; + while(1) { + $$01926 = (($$01926$in) + -1)|0; + $9 = ($10<<24>>24)!=(0); + $11 = ($$01926|0)!=(0); + $or$cond = $11 & $9; + $12 = ($13<<24>>24)==($10<<24>>24); + $or$cond21 = $12 & $or$cond; + if (!($or$cond21)) { + $$lcssa = $22;$$lcssa22 = $23; + break L3; + } + $14 = ((($$01824)) + 1|0); + $15 = ((($$025)) + 1|0); + $16 = HEAP8[$14>>0]|0; + $17 = $16&255; + $18 = ($16<<24>>24)==(0); + $19 = HEAP8[$15>>0]|0; + $20 = $19&255; + if ($18) { + $$lcssa = $20;$$lcssa22 = $17; + break; + } else { + $$01824 = $14;$$01926$in = $$01926;$$025 = $15;$10 = $19;$13 = $16;$22 = $20;$23 = $17; + } + } + } + } while(0); + $21 = (($$lcssa22) - ($$lcssa))|0; + $$020 = $21; + } + return ($$020|0); +} +function _vsprintf($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = (_vsnprintf($0,2147483647,$1,$2)|0); + return ($3|0); +} +function _vsnprintf($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$$015 = 0, $$0 = 0, $$014 = 0, $$015 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; + var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0); + $4 = sp + 124|0; + $5 = sp; + dest=$5; src=5208; stop=dest+124|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + $6 = (($1) + -1)|0; + $7 = ($6>>>0)>(2147483646); + if ($7) { + $8 = ($1|0)==(0); + if ($8) { + $$014 = $4;$$015 = 1; + label = 4; + } else { + $9 = (___errno_location()|0); + HEAP32[$9>>2] = 75; + $$0 = -1; + } + } else { + $$014 = $0;$$015 = $1; + label = 4; + } + if ((label|0) == 4) { + $10 = $$014; + $11 = (-2 - ($10))|0; + $12 = ($$015>>>0)>($11>>>0); + $$$015 = $12 ? $11 : $$015; + $13 = ((($5)) + 48|0); + HEAP32[$13>>2] = $$$015; + $14 = ((($5)) + 20|0); + HEAP32[$14>>2] = $$014; + $15 = ((($5)) + 44|0); + HEAP32[$15>>2] = $$014; + $16 = (($$014) + ($$$015)|0); + $17 = ((($5)) + 16|0); + HEAP32[$17>>2] = $16; + $18 = ((($5)) + 28|0); + HEAP32[$18>>2] = $16; + $19 = (_vfprintf($5,$2,$3)|0); + $20 = ($$$015|0)==(0); + if ($20) { + $$0 = $19; + } else { + $21 = HEAP32[$14>>2]|0; + $22 = HEAP32[$17>>2]|0; + $23 = ($21|0)==($22|0); + $24 = $23 << 31 >> 31; + $25 = (($21) + ($24)|0); + HEAP8[$25>>0] = 0; + $$0 = $19; + } + } + STACKTOP = sp;return ($$0|0); +} +function _vfprintf($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$ = 0, $$0 = 0, $$1 = 0, $$1$ = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; + var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $5 = 0, $6 = 0, $7 = 0; + var $8 = 0, $9 = 0, $vacopy_currentptr = 0, dest = 0, label = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 224|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(224|0); + $3 = sp + 120|0; + $4 = sp + 80|0; + $5 = sp; + $6 = sp + 136|0; + dest=$4; stop=dest+40|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + $vacopy_currentptr = HEAP32[$2>>2]|0; + HEAP32[$3>>2] = $vacopy_currentptr; + $7 = (_printf_core(0,$1,$3,$5,$4)|0); + $8 = ($7|0)<(0); + if ($8) { + $$0 = -1; + } else { + $9 = ((($0)) + 76|0); + $10 = HEAP32[$9>>2]|0; + $11 = ($10|0)>(-1); + if ($11) { + $12 = (___lockfile($0)|0); + $40 = $12; + } else { + $40 = 0; + } + $13 = HEAP32[$0>>2]|0; + $14 = $13 & 32; + $15 = ((($0)) + 74|0); + $16 = HEAP8[$15>>0]|0; + $17 = ($16<<24>>24)<(1); + if ($17) { + $18 = $13 & -33; + HEAP32[$0>>2] = $18; + } + $19 = ((($0)) + 48|0); + $20 = HEAP32[$19>>2]|0; + $21 = ($20|0)==(0); + if ($21) { + $23 = ((($0)) + 44|0); + $24 = HEAP32[$23>>2]|0; + HEAP32[$23>>2] = $6; + $25 = ((($0)) + 28|0); + HEAP32[$25>>2] = $6; + $26 = ((($0)) + 20|0); + HEAP32[$26>>2] = $6; + HEAP32[$19>>2] = 80; + $27 = ((($6)) + 80|0); + $28 = ((($0)) + 16|0); + HEAP32[$28>>2] = $27; + $29 = (_printf_core($0,$1,$3,$5,$4)|0); + $30 = ($24|0)==(0|0); + if ($30) { + $$1 = $29; + } else { + $31 = ((($0)) + 36|0); + $32 = HEAP32[$31>>2]|0; + (FUNCTION_TABLE_iiii[$32 & 15]($0,0,0)|0); + $33 = HEAP32[$26>>2]|0; + $34 = ($33|0)==(0|0); + $$ = $34 ? -1 : $29; + HEAP32[$23>>2] = $24; + HEAP32[$19>>2] = 0; + HEAP32[$28>>2] = 0; + HEAP32[$25>>2] = 0; + HEAP32[$26>>2] = 0; + $$1 = $$; + } + } else { + $22 = (_printf_core($0,$1,$3,$5,$4)|0); + $$1 = $22; + } + $35 = HEAP32[$0>>2]|0; + $36 = $35 & 32; + $37 = ($36|0)==(0); + $$1$ = $37 ? $$1 : -1; + $38 = $35 | $14; + HEAP32[$0>>2] = $38; + $39 = ($40|0)==(0); + if (!($39)) { + ___unlockfile($0); + } + $$0 = $$1$; + } + STACKTOP = sp;return ($$0|0); +} +function _printf_core($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$ = 0, $$$ = 0, $$$0259 = 0, $$$0262 = 0, $$$0269 = 0, $$$4266 = 0, $$$5 = 0, $$0 = 0, $$0228 = 0, $$0228$ = 0, $$0229322 = 0, $$0232 = 0, $$0235 = 0, $$0237 = 0, $$0240$lcssa = 0, $$0240$lcssa357 = 0, $$0240321 = 0, $$0243 = 0, $$0247 = 0, $$0249$lcssa = 0; + var $$0249306 = 0, $$0252 = 0, $$0253 = 0, $$0254 = 0, $$0254$$0254$ = 0, $$0259 = 0, $$0262$lcssa = 0, $$0262311 = 0, $$0269 = 0, $$0269$phi = 0, $$1 = 0, $$1230333 = 0, $$1233 = 0, $$1236 = 0, $$1238 = 0, $$1241332 = 0, $$1244320 = 0, $$1248 = 0, $$1250 = 0, $$1255 = 0; + var $$1260 = 0, $$1263 = 0, $$1263$ = 0, $$1270 = 0, $$2 = 0, $$2234 = 0, $$2239 = 0, $$2242305 = 0, $$2245 = 0, $$2251 = 0, $$2256 = 0, $$2256$ = 0, $$2256$$$2256 = 0, $$2261 = 0, $$2271 = 0, $$284$ = 0, $$289 = 0, $$290 = 0, $$3257 = 0, $$3265 = 0; + var $$3272 = 0, $$3303 = 0, $$377 = 0, $$4258355 = 0, $$4266 = 0, $$5 = 0, $$6268 = 0, $$lcssa295 = 0, $$pre = 0, $$pre346 = 0, $$pre347 = 0, $$pre347$pre = 0, $$pre349 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0; + var $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0; + var $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0; + var $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0; + var $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0; + var $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0; + var $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0; + var $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0; + var $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0; + var $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0; + var $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0; + var $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0; + var $306 = 0.0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0; + var $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; + var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0; + var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0; + var $arglist_current = 0, $arglist_current2 = 0, $arglist_next = 0, $arglist_next3 = 0, $expanded = 0, $expanded10 = 0, $expanded11 = 0, $expanded13 = 0, $expanded14 = 0, $expanded15 = 0, $expanded4 = 0, $expanded6 = 0, $expanded7 = 0, $expanded8 = 0, $isdigit = 0, $isdigit275 = 0, $isdigit277 = 0, $isdigittmp = 0, $isdigittmp$ = 0, $isdigittmp274 = 0; + var $isdigittmp276 = 0, $narrow = 0, $or$cond = 0, $or$cond281 = 0, $or$cond283 = 0, $or$cond286 = 0, $storemerge = 0, $storemerge273310 = 0, $storemerge278 = 0, $trunc = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $5 = sp + 16|0; + $6 = sp; + $7 = sp + 24|0; + $8 = sp + 8|0; + $9 = sp + 20|0; + HEAP32[$5>>2] = $1; + $10 = ($0|0)!=(0|0); + $11 = ((($7)) + 40|0); + $12 = $11; + $13 = ((($7)) + 39|0); + $14 = ((($8)) + 4|0); + $$0243 = 0;$$0247 = 0;$$0269 = 0;$21 = $1; + L1: while(1) { + $15 = ($$0247|0)>(-1); + do { + if ($15) { + $16 = (2147483647 - ($$0247))|0; + $17 = ($$0243|0)>($16|0); + if ($17) { + $18 = (___errno_location()|0); + HEAP32[$18>>2] = 75; + $$1248 = -1; + break; + } else { + $19 = (($$0243) + ($$0247))|0; + $$1248 = $19; + break; + } + } else { + $$1248 = $$0247; + } + } while(0); + $20 = HEAP8[$21>>0]|0; + $22 = ($20<<24>>24)==(0); + if ($22) { + label = 87; + break; + } else { + $23 = $20;$25 = $21; + } + L9: while(1) { + switch ($23<<24>>24) { + case 37: { + $$0249306 = $25;$27 = $25; + label = 9; + break L9; + break; + } + case 0: { + $$0249$lcssa = $25;$39 = $25; + break L9; + break; + } + default: { + } + } + $24 = ((($25)) + 1|0); + HEAP32[$5>>2] = $24; + $$pre = HEAP8[$24>>0]|0; + $23 = $$pre;$25 = $24; + } + L12: do { + if ((label|0) == 9) { + while(1) { + label = 0; + $26 = ((($27)) + 1|0); + $28 = HEAP8[$26>>0]|0; + $29 = ($28<<24>>24)==(37); + if (!($29)) { + $$0249$lcssa = $$0249306;$39 = $27; + break L12; + } + $30 = ((($$0249306)) + 1|0); + $31 = ((($27)) + 2|0); + HEAP32[$5>>2] = $31; + $32 = HEAP8[$31>>0]|0; + $33 = ($32<<24>>24)==(37); + if ($33) { + $$0249306 = $30;$27 = $31; + label = 9; + } else { + $$0249$lcssa = $30;$39 = $31; + break; + } + } + } + } while(0); + $34 = $$0249$lcssa; + $35 = $21; + $36 = (($34) - ($35))|0; + if ($10) { + _out($0,$21,$36); + } + $37 = ($36|0)==(0); + if (!($37)) { + $$0269$phi = $$0269;$$0243 = $36;$$0247 = $$1248;$21 = $39;$$0269 = $$0269$phi; + continue; + } + $38 = ((($39)) + 1|0); + $40 = HEAP8[$38>>0]|0; + $41 = $40 << 24 >> 24; + $isdigittmp = (($41) + -48)|0; + $isdigit = ($isdigittmp>>>0)<(10); + if ($isdigit) { + $42 = ((($39)) + 2|0); + $43 = HEAP8[$42>>0]|0; + $44 = ($43<<24>>24)==(36); + $45 = ((($39)) + 3|0); + $$377 = $44 ? $45 : $38; + $$$0269 = $44 ? 1 : $$0269; + $isdigittmp$ = $44 ? $isdigittmp : -1; + $$0253 = $isdigittmp$;$$1270 = $$$0269;$storemerge = $$377; + } else { + $$0253 = -1;$$1270 = $$0269;$storemerge = $38; + } + HEAP32[$5>>2] = $storemerge; + $46 = HEAP8[$storemerge>>0]|0; + $47 = $46 << 24 >> 24; + $48 = (($47) + -32)|0; + $49 = ($48>>>0)<(32); + L24: do { + if ($49) { + $$0262311 = 0;$329 = $46;$51 = $48;$storemerge273310 = $storemerge; + while(1) { + $50 = 1 << $51; + $52 = $50 & 75913; + $53 = ($52|0)==(0); + if ($53) { + $$0262$lcssa = $$0262311;$$lcssa295 = $329;$62 = $storemerge273310; + break L24; + } + $54 = $50 | $$0262311; + $55 = ((($storemerge273310)) + 1|0); + HEAP32[$5>>2] = $55; + $56 = HEAP8[$55>>0]|0; + $57 = $56 << 24 >> 24; + $58 = (($57) + -32)|0; + $59 = ($58>>>0)<(32); + if ($59) { + $$0262311 = $54;$329 = $56;$51 = $58;$storemerge273310 = $55; + } else { + $$0262$lcssa = $54;$$lcssa295 = $56;$62 = $55; + break; + } + } + } else { + $$0262$lcssa = 0;$$lcssa295 = $46;$62 = $storemerge; + } + } while(0); + $60 = ($$lcssa295<<24>>24)==(42); + if ($60) { + $61 = ((($62)) + 1|0); + $63 = HEAP8[$61>>0]|0; + $64 = $63 << 24 >> 24; + $isdigittmp276 = (($64) + -48)|0; + $isdigit277 = ($isdigittmp276>>>0)<(10); + if ($isdigit277) { + $65 = ((($62)) + 2|0); + $66 = HEAP8[$65>>0]|0; + $67 = ($66<<24>>24)==(36); + if ($67) { + $68 = (($4) + ($isdigittmp276<<2)|0); + HEAP32[$68>>2] = 10; + $69 = HEAP8[$61>>0]|0; + $70 = $69 << 24 >> 24; + $71 = (($70) + -48)|0; + $72 = (($3) + ($71<<3)|0); + $73 = $72; + $74 = $73; + $75 = HEAP32[$74>>2]|0; + $76 = (($73) + 4)|0; + $77 = $76; + $78 = HEAP32[$77>>2]|0; + $79 = ((($62)) + 3|0); + $$0259 = $75;$$2271 = 1;$storemerge278 = $79; + } else { + label = 23; + } + } else { + label = 23; + } + if ((label|0) == 23) { + label = 0; + $80 = ($$1270|0)==(0); + if (!($80)) { + $$0 = -1; + break; + } + if ($10) { + $arglist_current = HEAP32[$2>>2]|0; + $81 = $arglist_current; + $82 = ((0) + 4|0); + $expanded4 = $82; + $expanded = (($expanded4) - 1)|0; + $83 = (($81) + ($expanded))|0; + $84 = ((0) + 4|0); + $expanded8 = $84; + $expanded7 = (($expanded8) - 1)|0; + $expanded6 = $expanded7 ^ -1; + $85 = $83 & $expanded6; + $86 = $85; + $87 = HEAP32[$86>>2]|0; + $arglist_next = ((($86)) + 4|0); + HEAP32[$2>>2] = $arglist_next; + $$0259 = $87;$$2271 = 0;$storemerge278 = $61; + } else { + $$0259 = 0;$$2271 = 0;$storemerge278 = $61; + } + } + HEAP32[$5>>2] = $storemerge278; + $88 = ($$0259|0)<(0); + $89 = $$0262$lcssa | 8192; + $90 = (0 - ($$0259))|0; + $$$0262 = $88 ? $89 : $$0262$lcssa; + $$$0259 = $88 ? $90 : $$0259; + $$1260 = $$$0259;$$1263 = $$$0262;$$3272 = $$2271;$94 = $storemerge278; + } else { + $91 = (_getint($5)|0); + $92 = ($91|0)<(0); + if ($92) { + $$0 = -1; + break; + } + $$pre346 = HEAP32[$5>>2]|0; + $$1260 = $91;$$1263 = $$0262$lcssa;$$3272 = $$1270;$94 = $$pre346; + } + $93 = HEAP8[$94>>0]|0; + $95 = ($93<<24>>24)==(46); + do { + if ($95) { + $96 = ((($94)) + 1|0); + $97 = HEAP8[$96>>0]|0; + $98 = ($97<<24>>24)==(42); + if (!($98)) { + $125 = ((($94)) + 1|0); + HEAP32[$5>>2] = $125; + $126 = (_getint($5)|0); + $$pre347$pre = HEAP32[$5>>2]|0; + $$0254 = $126;$$pre347 = $$pre347$pre; + break; + } + $99 = ((($94)) + 2|0); + $100 = HEAP8[$99>>0]|0; + $101 = $100 << 24 >> 24; + $isdigittmp274 = (($101) + -48)|0; + $isdigit275 = ($isdigittmp274>>>0)<(10); + if ($isdigit275) { + $102 = ((($94)) + 3|0); + $103 = HEAP8[$102>>0]|0; + $104 = ($103<<24>>24)==(36); + if ($104) { + $105 = (($4) + ($isdigittmp274<<2)|0); + HEAP32[$105>>2] = 10; + $106 = HEAP8[$99>>0]|0; + $107 = $106 << 24 >> 24; + $108 = (($107) + -48)|0; + $109 = (($3) + ($108<<3)|0); + $110 = $109; + $111 = $110; + $112 = HEAP32[$111>>2]|0; + $113 = (($110) + 4)|0; + $114 = $113; + $115 = HEAP32[$114>>2]|0; + $116 = ((($94)) + 4|0); + HEAP32[$5>>2] = $116; + $$0254 = $112;$$pre347 = $116; + break; + } + } + $117 = ($$3272|0)==(0); + if (!($117)) { + $$0 = -1; + break L1; + } + if ($10) { + $arglist_current2 = HEAP32[$2>>2]|0; + $118 = $arglist_current2; + $119 = ((0) + 4|0); + $expanded11 = $119; + $expanded10 = (($expanded11) - 1)|0; + $120 = (($118) + ($expanded10))|0; + $121 = ((0) + 4|0); + $expanded15 = $121; + $expanded14 = (($expanded15) - 1)|0; + $expanded13 = $expanded14 ^ -1; + $122 = $120 & $expanded13; + $123 = $122; + $124 = HEAP32[$123>>2]|0; + $arglist_next3 = ((($123)) + 4|0); + HEAP32[$2>>2] = $arglist_next3; + $330 = $124; + } else { + $330 = 0; + } + HEAP32[$5>>2] = $99; + $$0254 = $330;$$pre347 = $99; + } else { + $$0254 = -1;$$pre347 = $94; + } + } while(0); + $$0252 = 0;$128 = $$pre347; + while(1) { + $127 = HEAP8[$128>>0]|0; + $129 = $127 << 24 >> 24; + $130 = (($129) + -65)|0; + $131 = ($130>>>0)>(57); + if ($131) { + $$0 = -1; + break L1; + } + $132 = ((($128)) + 1|0); + HEAP32[$5>>2] = $132; + $133 = HEAP8[$128>>0]|0; + $134 = $133 << 24 >> 24; + $135 = (($134) + -65)|0; + $136 = ((17228 + (($$0252*58)|0)|0) + ($135)|0); + $137 = HEAP8[$136>>0]|0; + $138 = $137&255; + $139 = (($138) + -1)|0; + $140 = ($139>>>0)<(8); + if ($140) { + $$0252 = $138;$128 = $132; + } else { + break; + } + } + $141 = ($137<<24>>24)==(0); + if ($141) { + $$0 = -1; + break; + } + $142 = ($137<<24>>24)==(19); + $143 = ($$0253|0)>(-1); + do { + if ($142) { + if ($143) { + $$0 = -1; + break L1; + } else { + label = 49; + } + } else { + if ($143) { + $144 = (($4) + ($$0253<<2)|0); + HEAP32[$144>>2] = $138; + $145 = (($3) + ($$0253<<3)|0); + $146 = $145; + $147 = $146; + $148 = HEAP32[$147>>2]|0; + $149 = (($146) + 4)|0; + $150 = $149; + $151 = HEAP32[$150>>2]|0; + $152 = $6; + $153 = $152; + HEAP32[$153>>2] = $148; + $154 = (($152) + 4)|0; + $155 = $154; + HEAP32[$155>>2] = $151; + label = 49; + break; + } + if (!($10)) { + $$0 = 0; + break L1; + } + _pop_arg($6,$138,$2); + } + } while(0); + if ((label|0) == 49) { + label = 0; + if (!($10)) { + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue; + } + } + $156 = HEAP8[$128>>0]|0; + $157 = $156 << 24 >> 24; + $158 = ($$0252|0)!=(0); + $159 = $157 & 15; + $160 = ($159|0)==(3); + $or$cond281 = $158 & $160; + $161 = $157 & -33; + $$0235 = $or$cond281 ? $161 : $157; + $162 = $$1263 & 8192; + $163 = ($162|0)==(0); + $164 = $$1263 & -65537; + $$1263$ = $163 ? $$1263 : $164; + L71: do { + switch ($$0235|0) { + case 110: { + $trunc = $$0252&255; + switch ($trunc<<24>>24) { + case 0: { + $171 = HEAP32[$6>>2]|0; + HEAP32[$171>>2] = $$1248; + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + case 1: { + $172 = HEAP32[$6>>2]|0; + HEAP32[$172>>2] = $$1248; + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + case 2: { + $173 = ($$1248|0)<(0); + $174 = $173 << 31 >> 31; + $175 = HEAP32[$6>>2]|0; + $176 = $175; + $177 = $176; + HEAP32[$177>>2] = $$1248; + $178 = (($176) + 4)|0; + $179 = $178; + HEAP32[$179>>2] = $174; + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + case 3: { + $180 = $$1248&65535; + $181 = HEAP32[$6>>2]|0; + HEAP16[$181>>1] = $180; + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + case 4: { + $182 = $$1248&255; + $183 = HEAP32[$6>>2]|0; + HEAP8[$183>>0] = $182; + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + case 6: { + $184 = HEAP32[$6>>2]|0; + HEAP32[$184>>2] = $$1248; + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + case 7: { + $185 = ($$1248|0)<(0); + $186 = $185 << 31 >> 31; + $187 = HEAP32[$6>>2]|0; + $188 = $187; + $189 = $188; + HEAP32[$189>>2] = $$1248; + $190 = (($188) + 4)|0; + $191 = $190; + HEAP32[$191>>2] = $186; + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + default: { + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + } + } + break; + } + case 112: { + $192 = ($$0254>>>0)>(8); + $193 = $192 ? $$0254 : 8; + $194 = $$1263$ | 8; + $$1236 = 120;$$1255 = $193;$$3265 = $194; + label = 61; + break; + } + case 88: case 120: { + $$1236 = $$0235;$$1255 = $$0254;$$3265 = $$1263$; + label = 61; + break; + } + case 111: { + $210 = $6; + $211 = $210; + $212 = HEAP32[$211>>2]|0; + $213 = (($210) + 4)|0; + $214 = $213; + $215 = HEAP32[$214>>2]|0; + $216 = (_fmt_o($212,$215,$11)|0); + $217 = $$1263$ & 8; + $218 = ($217|0)==(0); + $219 = $216; + $220 = (($12) - ($219))|0; + $221 = ($$0254|0)>($220|0); + $222 = (($220) + 1)|0; + $223 = $218 | $221; + $$0254$$0254$ = $223 ? $$0254 : $222; + $$0228 = $216;$$1233 = 0;$$1238 = 17692;$$2256 = $$0254$$0254$;$$4266 = $$1263$;$248 = $212;$250 = $215; + label = 67; + break; + } + case 105: case 100: { + $224 = $6; + $225 = $224; + $226 = HEAP32[$225>>2]|0; + $227 = (($224) + 4)|0; + $228 = $227; + $229 = HEAP32[$228>>2]|0; + $230 = ($229|0)<(0); + if ($230) { + $231 = (_i64Subtract(0,0,($226|0),($229|0))|0); + $232 = tempRet0; + $233 = $6; + $234 = $233; + HEAP32[$234>>2] = $231; + $235 = (($233) + 4)|0; + $236 = $235; + HEAP32[$236>>2] = $232; + $$0232 = 1;$$0237 = 17692;$242 = $231;$243 = $232; + label = 66; + break L71; + } else { + $237 = $$1263$ & 2048; + $238 = ($237|0)==(0); + $239 = $$1263$ & 1; + $240 = ($239|0)==(0); + $$ = $240 ? 17692 : (17694); + $$$ = $238 ? $$ : (17693); + $241 = $$1263$ & 2049; + $narrow = ($241|0)!=(0); + $$284$ = $narrow&1; + $$0232 = $$284$;$$0237 = $$$;$242 = $226;$243 = $229; + label = 66; + break L71; + } + break; + } + case 117: { + $165 = $6; + $166 = $165; + $167 = HEAP32[$166>>2]|0; + $168 = (($165) + 4)|0; + $169 = $168; + $170 = HEAP32[$169>>2]|0; + $$0232 = 0;$$0237 = 17692;$242 = $167;$243 = $170; + label = 66; + break; + } + case 99: { + $259 = $6; + $260 = $259; + $261 = HEAP32[$260>>2]|0; + $262 = (($259) + 4)|0; + $263 = $262; + $264 = HEAP32[$263>>2]|0; + $265 = $261&255; + HEAP8[$13>>0] = $265; + $$2 = $13;$$2234 = 0;$$2239 = 17692;$$2251 = $11;$$5 = 1;$$6268 = $164; + break; + } + case 109: { + $266 = (___errno_location()|0); + $267 = HEAP32[$266>>2]|0; + $268 = (_strerror($267)|0); + $$1 = $268; + label = 71; + break; + } + case 115: { + $269 = HEAP32[$6>>2]|0; + $270 = ($269|0)!=(0|0); + $271 = $270 ? $269 : 17702; + $$1 = $271; + label = 71; + break; + } + case 67: { + $278 = $6; + $279 = $278; + $280 = HEAP32[$279>>2]|0; + $281 = (($278) + 4)|0; + $282 = $281; + $283 = HEAP32[$282>>2]|0; + HEAP32[$8>>2] = $280; + HEAP32[$14>>2] = 0; + HEAP32[$6>>2] = $8; + $$4258355 = -1;$331 = $8; + label = 75; + break; + } + case 83: { + $$pre349 = HEAP32[$6>>2]|0; + $284 = ($$0254|0)==(0); + if ($284) { + _pad_674($0,32,$$1260,0,$$1263$); + $$0240$lcssa357 = 0; + label = 84; + } else { + $$4258355 = $$0254;$331 = $$pre349; + label = 75; + } + break; + } + case 65: case 71: case 70: case 69: case 97: case 103: case 102: case 101: { + $306 = +HEAPF64[$6>>3]; + $307 = (_fmt_fp($0,$306,$$1260,$$0254,$$1263$,$$0235)|0); + $$0243 = $307;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + default: { + $$2 = $21;$$2234 = 0;$$2239 = 17692;$$2251 = $11;$$5 = $$0254;$$6268 = $$1263$; + } + } + } while(0); + L95: do { + if ((label|0) == 61) { + label = 0; + $195 = $6; + $196 = $195; + $197 = HEAP32[$196>>2]|0; + $198 = (($195) + 4)|0; + $199 = $198; + $200 = HEAP32[$199>>2]|0; + $201 = $$1236 & 32; + $202 = (_fmt_x($197,$200,$11,$201)|0); + $203 = ($197|0)==(0); + $204 = ($200|0)==(0); + $205 = $203 & $204; + $206 = $$3265 & 8; + $207 = ($206|0)==(0); + $or$cond283 = $207 | $205; + $208 = $$1236 >> 4; + $209 = (17692 + ($208)|0); + $$289 = $or$cond283 ? 17692 : $209; + $$290 = $or$cond283 ? 0 : 2; + $$0228 = $202;$$1233 = $$290;$$1238 = $$289;$$2256 = $$1255;$$4266 = $$3265;$248 = $197;$250 = $200; + label = 67; + } + else if ((label|0) == 66) { + label = 0; + $244 = (_fmt_u($242,$243,$11)|0); + $$0228 = $244;$$1233 = $$0232;$$1238 = $$0237;$$2256 = $$0254;$$4266 = $$1263$;$248 = $242;$250 = $243; + label = 67; + } + else if ((label|0) == 71) { + label = 0; + $272 = (_memchr($$1,0,$$0254)|0); + $273 = ($272|0)==(0|0); + $274 = $272; + $275 = $$1; + $276 = (($274) - ($275))|0; + $277 = (($$1) + ($$0254)|0); + $$3257 = $273 ? $$0254 : $276; + $$1250 = $273 ? $277 : $272; + $$2 = $$1;$$2234 = 0;$$2239 = 17692;$$2251 = $$1250;$$5 = $$3257;$$6268 = $164; + } + else if ((label|0) == 75) { + label = 0; + $$0229322 = $331;$$0240321 = 0;$$1244320 = 0; + while(1) { + $285 = HEAP32[$$0229322>>2]|0; + $286 = ($285|0)==(0); + if ($286) { + $$0240$lcssa = $$0240321;$$2245 = $$1244320; + break; + } + $287 = (_wctomb($9,$285)|0); + $288 = ($287|0)<(0); + $289 = (($$4258355) - ($$0240321))|0; + $290 = ($287>>>0)>($289>>>0); + $or$cond286 = $288 | $290; + if ($or$cond286) { + $$0240$lcssa = $$0240321;$$2245 = $287; + break; + } + $291 = ((($$0229322)) + 4|0); + $292 = (($287) + ($$0240321))|0; + $293 = ($$4258355>>>0)>($292>>>0); + if ($293) { + $$0229322 = $291;$$0240321 = $292;$$1244320 = $287; + } else { + $$0240$lcssa = $292;$$2245 = $287; + break; + } + } + $294 = ($$2245|0)<(0); + if ($294) { + $$0 = -1; + break L1; + } + _pad_674($0,32,$$1260,$$0240$lcssa,$$1263$); + $295 = ($$0240$lcssa|0)==(0); + if ($295) { + $$0240$lcssa357 = 0; + label = 84; + } else { + $$1230333 = $331;$$1241332 = 0; + while(1) { + $296 = HEAP32[$$1230333>>2]|0; + $297 = ($296|0)==(0); + if ($297) { + $$0240$lcssa357 = $$0240$lcssa; + label = 84; + break L95; + } + $298 = (_wctomb($9,$296)|0); + $299 = (($298) + ($$1241332))|0; + $300 = ($299|0)>($$0240$lcssa|0); + if ($300) { + $$0240$lcssa357 = $$0240$lcssa; + label = 84; + break L95; + } + $301 = ((($$1230333)) + 4|0); + _out($0,$9,$298); + $302 = ($299>>>0)<($$0240$lcssa>>>0); + if ($302) { + $$1230333 = $301;$$1241332 = $299; + } else { + $$0240$lcssa357 = $$0240$lcssa; + label = 84; + break; + } + } + } + } + } while(0); + if ((label|0) == 67) { + label = 0; + $245 = ($$2256|0)>(-1); + $246 = $$4266 & -65537; + $$$4266 = $245 ? $246 : $$4266; + $247 = ($248|0)!=(0); + $249 = ($250|0)!=(0); + $251 = $247 | $249; + $252 = ($$2256|0)!=(0); + $or$cond = $252 | $251; + $253 = $$0228; + $254 = (($12) - ($253))|0; + $255 = $251 ^ 1; + $256 = $255&1; + $257 = (($256) + ($254))|0; + $258 = ($$2256|0)>($257|0); + $$2256$ = $258 ? $$2256 : $257; + $$2256$$$2256 = $or$cond ? $$2256$ : $$2256; + $$0228$ = $or$cond ? $$0228 : $11; + $$2 = $$0228$;$$2234 = $$1233;$$2239 = $$1238;$$2251 = $11;$$5 = $$2256$$$2256;$$6268 = $$$4266; + } + else if ((label|0) == 84) { + label = 0; + $303 = $$1263$ ^ 8192; + _pad_674($0,32,$$1260,$$0240$lcssa357,$303); + $304 = ($$1260|0)>($$0240$lcssa357|0); + $305 = $304 ? $$1260 : $$0240$lcssa357; + $$0243 = $305;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue; + } + $308 = $$2251; + $309 = $$2; + $310 = (($308) - ($309))|0; + $311 = ($$5|0)<($310|0); + $$$5 = $311 ? $310 : $$5; + $312 = (($$$5) + ($$2234))|0; + $313 = ($$1260|0)<($312|0); + $$2261 = $313 ? $312 : $$1260; + _pad_674($0,32,$$2261,$312,$$6268); + _out($0,$$2239,$$2234); + $314 = $$6268 ^ 65536; + _pad_674($0,48,$$2261,$312,$314); + _pad_674($0,48,$$$5,$310,0); + _out($0,$$2,$310); + $315 = $$6268 ^ 8192; + _pad_674($0,32,$$2261,$312,$315); + $$0243 = $$2261;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + } + L114: do { + if ((label|0) == 87) { + $316 = ($0|0)==(0|0); + if ($316) { + $317 = ($$0269|0)==(0); + if ($317) { + $$0 = 0; + } else { + $$2242305 = 1; + while(1) { + $318 = (($4) + ($$2242305<<2)|0); + $319 = HEAP32[$318>>2]|0; + $320 = ($319|0)==(0); + if ($320) { + $$3303 = $$2242305; + break; + } + $321 = (($3) + ($$2242305<<3)|0); + _pop_arg($321,$319,$2); + $322 = (($$2242305) + 1)|0; + $323 = ($322|0)<(10); + if ($323) { + $$2242305 = $322; + } else { + $$0 = 1; + break L114; + } + } + while(1) { + $326 = (($4) + ($$3303<<2)|0); + $327 = HEAP32[$326>>2]|0; + $328 = ($327|0)==(0); + $325 = (($$3303) + 1)|0; + if (!($328)) { + $$0 = -1; + break L114; + } + $324 = ($325|0)<(10); + if ($324) { + $$3303 = $325; + } else { + $$0 = 1; + break; + } + } + } + } else { + $$0 = $$1248; + } + } + } while(0); + STACKTOP = sp;return ($$0|0); +} +function ___lockfile($0) { + $0 = $0|0; + var label = 0, sp = 0; + sp = STACKTOP; + return 0; +} +function ___unlockfile($0) { + $0 = $0|0; + var label = 0, sp = 0; + sp = STACKTOP; + return; +} +function _out($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = HEAP32[$0>>2]|0; + $4 = $3 & 32; + $5 = ($4|0)==(0); + if ($5) { + (___fwritex($1,$2,$0)|0); + } + return; +} +function _getint($0) { + $0 = $0|0; + var $$0$lcssa = 0, $$06 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $isdigit = 0, $isdigit5 = 0, $isdigittmp = 0, $isdigittmp4 = 0, $isdigittmp7 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP32[$0>>2]|0; + $2 = HEAP8[$1>>0]|0; + $3 = $2 << 24 >> 24; + $isdigittmp4 = (($3) + -48)|0; + $isdigit5 = ($isdigittmp4>>>0)<(10); + if ($isdigit5) { + $$06 = 0;$7 = $1;$isdigittmp7 = $isdigittmp4; + while(1) { + $4 = ($$06*10)|0; + $5 = (($isdigittmp7) + ($4))|0; + $6 = ((($7)) + 1|0); + HEAP32[$0>>2] = $6; + $8 = HEAP8[$6>>0]|0; + $9 = $8 << 24 >> 24; + $isdigittmp = (($9) + -48)|0; + $isdigit = ($isdigittmp>>>0)<(10); + if ($isdigit) { + $$06 = $5;$7 = $6;$isdigittmp7 = $isdigittmp; + } else { + $$0$lcssa = $5; + break; + } + } + } else { + $$0$lcssa = 0; + } + return ($$0$lcssa|0); +} +function _pop_arg($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$mask = 0, $$mask31 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0.0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; + var $116 = 0.0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0; + var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0; + var $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0; + var $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0; + var $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $arglist_current = 0, $arglist_current11 = 0, $arglist_current14 = 0, $arglist_current17 = 0; + var $arglist_current2 = 0, $arglist_current20 = 0, $arglist_current23 = 0, $arglist_current26 = 0, $arglist_current5 = 0, $arglist_current8 = 0, $arglist_next = 0, $arglist_next12 = 0, $arglist_next15 = 0, $arglist_next18 = 0, $arglist_next21 = 0, $arglist_next24 = 0, $arglist_next27 = 0, $arglist_next3 = 0, $arglist_next6 = 0, $arglist_next9 = 0, $expanded = 0, $expanded28 = 0, $expanded30 = 0, $expanded31 = 0; + var $expanded32 = 0, $expanded34 = 0, $expanded35 = 0, $expanded37 = 0, $expanded38 = 0, $expanded39 = 0, $expanded41 = 0, $expanded42 = 0, $expanded44 = 0, $expanded45 = 0, $expanded46 = 0, $expanded48 = 0, $expanded49 = 0, $expanded51 = 0, $expanded52 = 0, $expanded53 = 0, $expanded55 = 0, $expanded56 = 0, $expanded58 = 0, $expanded59 = 0; + var $expanded60 = 0, $expanded62 = 0, $expanded63 = 0, $expanded65 = 0, $expanded66 = 0, $expanded67 = 0, $expanded69 = 0, $expanded70 = 0, $expanded72 = 0, $expanded73 = 0, $expanded74 = 0, $expanded76 = 0, $expanded77 = 0, $expanded79 = 0, $expanded80 = 0, $expanded81 = 0, $expanded83 = 0, $expanded84 = 0, $expanded86 = 0, $expanded87 = 0; + var $expanded88 = 0, $expanded90 = 0, $expanded91 = 0, $expanded93 = 0, $expanded94 = 0, $expanded95 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ($1>>>0)>(20); + L1: do { + if (!($3)) { + do { + switch ($1|0) { + case 9: { + $arglist_current = HEAP32[$2>>2]|0; + $4 = $arglist_current; + $5 = ((0) + 4|0); + $expanded28 = $5; + $expanded = (($expanded28) - 1)|0; + $6 = (($4) + ($expanded))|0; + $7 = ((0) + 4|0); + $expanded32 = $7; + $expanded31 = (($expanded32) - 1)|0; + $expanded30 = $expanded31 ^ -1; + $8 = $6 & $expanded30; + $9 = $8; + $10 = HEAP32[$9>>2]|0; + $arglist_next = ((($9)) + 4|0); + HEAP32[$2>>2] = $arglist_next; + HEAP32[$0>>2] = $10; + break L1; + break; + } + case 10: { + $arglist_current2 = HEAP32[$2>>2]|0; + $11 = $arglist_current2; + $12 = ((0) + 4|0); + $expanded35 = $12; + $expanded34 = (($expanded35) - 1)|0; + $13 = (($11) + ($expanded34))|0; + $14 = ((0) + 4|0); + $expanded39 = $14; + $expanded38 = (($expanded39) - 1)|0; + $expanded37 = $expanded38 ^ -1; + $15 = $13 & $expanded37; + $16 = $15; + $17 = HEAP32[$16>>2]|0; + $arglist_next3 = ((($16)) + 4|0); + HEAP32[$2>>2] = $arglist_next3; + $18 = ($17|0)<(0); + $19 = $18 << 31 >> 31; + $20 = $0; + $21 = $20; + HEAP32[$21>>2] = $17; + $22 = (($20) + 4)|0; + $23 = $22; + HEAP32[$23>>2] = $19; + break L1; + break; + } + case 11: { + $arglist_current5 = HEAP32[$2>>2]|0; + $24 = $arglist_current5; + $25 = ((0) + 4|0); + $expanded42 = $25; + $expanded41 = (($expanded42) - 1)|0; + $26 = (($24) + ($expanded41))|0; + $27 = ((0) + 4|0); + $expanded46 = $27; + $expanded45 = (($expanded46) - 1)|0; + $expanded44 = $expanded45 ^ -1; + $28 = $26 & $expanded44; + $29 = $28; + $30 = HEAP32[$29>>2]|0; + $arglist_next6 = ((($29)) + 4|0); + HEAP32[$2>>2] = $arglist_next6; + $31 = $0; + $32 = $31; + HEAP32[$32>>2] = $30; + $33 = (($31) + 4)|0; + $34 = $33; + HEAP32[$34>>2] = 0; + break L1; + break; + } + case 12: { + $arglist_current8 = HEAP32[$2>>2]|0; + $35 = $arglist_current8; + $36 = ((0) + 8|0); + $expanded49 = $36; + $expanded48 = (($expanded49) - 1)|0; + $37 = (($35) + ($expanded48))|0; + $38 = ((0) + 8|0); + $expanded53 = $38; + $expanded52 = (($expanded53) - 1)|0; + $expanded51 = $expanded52 ^ -1; + $39 = $37 & $expanded51; + $40 = $39; + $41 = $40; + $42 = $41; + $43 = HEAP32[$42>>2]|0; + $44 = (($41) + 4)|0; + $45 = $44; + $46 = HEAP32[$45>>2]|0; + $arglist_next9 = ((($40)) + 8|0); + HEAP32[$2>>2] = $arglist_next9; + $47 = $0; + $48 = $47; + HEAP32[$48>>2] = $43; + $49 = (($47) + 4)|0; + $50 = $49; + HEAP32[$50>>2] = $46; + break L1; + break; + } + case 13: { + $arglist_current11 = HEAP32[$2>>2]|0; + $51 = $arglist_current11; + $52 = ((0) + 4|0); + $expanded56 = $52; + $expanded55 = (($expanded56) - 1)|0; + $53 = (($51) + ($expanded55))|0; + $54 = ((0) + 4|0); + $expanded60 = $54; + $expanded59 = (($expanded60) - 1)|0; + $expanded58 = $expanded59 ^ -1; + $55 = $53 & $expanded58; + $56 = $55; + $57 = HEAP32[$56>>2]|0; + $arglist_next12 = ((($56)) + 4|0); + HEAP32[$2>>2] = $arglist_next12; + $58 = $57&65535; + $59 = $58 << 16 >> 16; + $60 = ($59|0)<(0); + $61 = $60 << 31 >> 31; + $62 = $0; + $63 = $62; + HEAP32[$63>>2] = $59; + $64 = (($62) + 4)|0; + $65 = $64; + HEAP32[$65>>2] = $61; + break L1; + break; + } + case 14: { + $arglist_current14 = HEAP32[$2>>2]|0; + $66 = $arglist_current14; + $67 = ((0) + 4|0); + $expanded63 = $67; + $expanded62 = (($expanded63) - 1)|0; + $68 = (($66) + ($expanded62))|0; + $69 = ((0) + 4|0); + $expanded67 = $69; + $expanded66 = (($expanded67) - 1)|0; + $expanded65 = $expanded66 ^ -1; + $70 = $68 & $expanded65; + $71 = $70; + $72 = HEAP32[$71>>2]|0; + $arglist_next15 = ((($71)) + 4|0); + HEAP32[$2>>2] = $arglist_next15; + $$mask31 = $72 & 65535; + $73 = $0; + $74 = $73; + HEAP32[$74>>2] = $$mask31; + $75 = (($73) + 4)|0; + $76 = $75; + HEAP32[$76>>2] = 0; + break L1; + break; + } + case 15: { + $arglist_current17 = HEAP32[$2>>2]|0; + $77 = $arglist_current17; + $78 = ((0) + 4|0); + $expanded70 = $78; + $expanded69 = (($expanded70) - 1)|0; + $79 = (($77) + ($expanded69))|0; + $80 = ((0) + 4|0); + $expanded74 = $80; + $expanded73 = (($expanded74) - 1)|0; + $expanded72 = $expanded73 ^ -1; + $81 = $79 & $expanded72; + $82 = $81; + $83 = HEAP32[$82>>2]|0; + $arglist_next18 = ((($82)) + 4|0); + HEAP32[$2>>2] = $arglist_next18; + $84 = $83&255; + $85 = $84 << 24 >> 24; + $86 = ($85|0)<(0); + $87 = $86 << 31 >> 31; + $88 = $0; + $89 = $88; + HEAP32[$89>>2] = $85; + $90 = (($88) + 4)|0; + $91 = $90; + HEAP32[$91>>2] = $87; + break L1; + break; + } + case 16: { + $arglist_current20 = HEAP32[$2>>2]|0; + $92 = $arglist_current20; + $93 = ((0) + 4|0); + $expanded77 = $93; + $expanded76 = (($expanded77) - 1)|0; + $94 = (($92) + ($expanded76))|0; + $95 = ((0) + 4|0); + $expanded81 = $95; + $expanded80 = (($expanded81) - 1)|0; + $expanded79 = $expanded80 ^ -1; + $96 = $94 & $expanded79; + $97 = $96; + $98 = HEAP32[$97>>2]|0; + $arglist_next21 = ((($97)) + 4|0); + HEAP32[$2>>2] = $arglist_next21; + $$mask = $98 & 255; + $99 = $0; + $100 = $99; + HEAP32[$100>>2] = $$mask; + $101 = (($99) + 4)|0; + $102 = $101; + HEAP32[$102>>2] = 0; + break L1; + break; + } + case 17: { + $arglist_current23 = HEAP32[$2>>2]|0; + $103 = $arglist_current23; + $104 = ((0) + 8|0); + $expanded84 = $104; + $expanded83 = (($expanded84) - 1)|0; + $105 = (($103) + ($expanded83))|0; + $106 = ((0) + 8|0); + $expanded88 = $106; + $expanded87 = (($expanded88) - 1)|0; + $expanded86 = $expanded87 ^ -1; + $107 = $105 & $expanded86; + $108 = $107; + $109 = +HEAPF64[$108>>3]; + $arglist_next24 = ((($108)) + 8|0); + HEAP32[$2>>2] = $arglist_next24; + HEAPF64[$0>>3] = $109; + break L1; + break; + } + case 18: { + $arglist_current26 = HEAP32[$2>>2]|0; + $110 = $arglist_current26; + $111 = ((0) + 8|0); + $expanded91 = $111; + $expanded90 = (($expanded91) - 1)|0; + $112 = (($110) + ($expanded90))|0; + $113 = ((0) + 8|0); + $expanded95 = $113; + $expanded94 = (($expanded95) - 1)|0; + $expanded93 = $expanded94 ^ -1; + $114 = $112 & $expanded93; + $115 = $114; + $116 = +HEAPF64[$115>>3]; + $arglist_next27 = ((($115)) + 8|0); + HEAP32[$2>>2] = $arglist_next27; + HEAPF64[$0>>3] = $116; + break L1; + break; + } + default: { + break L1; + } + } + } while(0); + } + } while(0); + return; +} +function _fmt_x($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$05$lcssa = 0, $$056 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; + var sp = 0; + sp = STACKTOP; + $4 = ($0|0)==(0); + $5 = ($1|0)==(0); + $6 = $4 & $5; + if ($6) { + $$05$lcssa = $2; + } else { + $$056 = $2;$15 = $1;$8 = $0; + while(1) { + $7 = $8 & 15; + $9 = (17744 + ($7)|0); + $10 = HEAP8[$9>>0]|0; + $11 = $10&255; + $12 = $11 | $3; + $13 = $12&255; + $14 = ((($$056)) + -1|0); + HEAP8[$14>>0] = $13; + $16 = (_bitshift64Lshr(($8|0),($15|0),4)|0); + $17 = tempRet0; + $18 = ($16|0)==(0); + $19 = ($17|0)==(0); + $20 = $18 & $19; + if ($20) { + $$05$lcssa = $14; + break; + } else { + $$056 = $14;$15 = $17;$8 = $16; + } + } + } + return ($$05$lcssa|0); +} +function _fmt_o($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$0$lcssa = 0, $$06 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ($0|0)==(0); + $4 = ($1|0)==(0); + $5 = $3 & $4; + if ($5) { + $$0$lcssa = $2; + } else { + $$06 = $2;$11 = $1;$7 = $0; + while(1) { + $6 = $7&255; + $8 = $6 & 7; + $9 = $8 | 48; + $10 = ((($$06)) + -1|0); + HEAP8[$10>>0] = $9; + $12 = (_bitshift64Lshr(($7|0),($11|0),3)|0); + $13 = tempRet0; + $14 = ($12|0)==(0); + $15 = ($13|0)==(0); + $16 = $14 & $15; + if ($16) { + $$0$lcssa = $10; + break; + } else { + $$06 = $10;$11 = $13;$7 = $12; + } + } + } + return ($$0$lcssa|0); +} +function _fmt_u($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$010$lcssa$off0 = 0, $$012 = 0, $$09$lcssa = 0, $$0914 = 0, $$1$lcssa = 0, $$111 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; + var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ($1>>>0)>(0); + $4 = ($0>>>0)>(4294967295); + $5 = ($1|0)==(0); + $6 = $5 & $4; + $7 = $3 | $6; + if ($7) { + $$0914 = $2;$8 = $0;$9 = $1; + while(1) { + $10 = (___uremdi3(($8|0),($9|0),10,0)|0); + $11 = tempRet0; + $12 = $10&255; + $13 = $12 | 48; + $14 = ((($$0914)) + -1|0); + HEAP8[$14>>0] = $13; + $15 = (___udivdi3(($8|0),($9|0),10,0)|0); + $16 = tempRet0; + $17 = ($9>>>0)>(9); + $18 = ($8>>>0)>(4294967295); + $19 = ($9|0)==(9); + $20 = $19 & $18; + $21 = $17 | $20; + if ($21) { + $$0914 = $14;$8 = $15;$9 = $16; + } else { + break; + } + } + $$010$lcssa$off0 = $15;$$09$lcssa = $14; + } else { + $$010$lcssa$off0 = $0;$$09$lcssa = $2; + } + $22 = ($$010$lcssa$off0|0)==(0); + if ($22) { + $$1$lcssa = $$09$lcssa; + } else { + $$012 = $$010$lcssa$off0;$$111 = $$09$lcssa; + while(1) { + $23 = (($$012>>>0) % 10)&-1; + $24 = $23 | 48; + $25 = $24&255; + $26 = ((($$111)) + -1|0); + HEAP8[$26>>0] = $25; + $27 = (($$012>>>0) / 10)&-1; + $28 = ($$012>>>0)<(10); + if ($28) { + $$1$lcssa = $26; + break; + } else { + $$012 = $27;$$111 = $26; + } + } + } + return ($$1$lcssa|0); +} +function _strerror($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (___pthread_self_105()|0); + $2 = ((($1)) + 188|0); + $3 = HEAP32[$2>>2]|0; + $4 = (___strerror_l($0,$3)|0); + return ($4|0); +} +function _memchr($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$0$lcssa = 0, $$035$lcssa = 0, $$035$lcssa65 = 0, $$03555 = 0, $$036$lcssa = 0, $$036$lcssa64 = 0, $$03654 = 0, $$046 = 0, $$137$lcssa = 0, $$13745 = 0, $$140 = 0, $$2 = 0, $$23839 = 0, $$3 = 0, $$lcssa = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0; + var $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0; + var $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond53 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = $1 & 255; + $4 = $0; + $5 = $4 & 3; + $6 = ($5|0)!=(0); + $7 = ($2|0)!=(0); + $or$cond53 = $7 & $6; + L1: do { + if ($or$cond53) { + $8 = $1&255; + $$03555 = $0;$$03654 = $2; + while(1) { + $9 = HEAP8[$$03555>>0]|0; + $10 = ($9<<24>>24)==($8<<24>>24); + if ($10) { + $$035$lcssa65 = $$03555;$$036$lcssa64 = $$03654; + label = 6; + break L1; + } + $11 = ((($$03555)) + 1|0); + $12 = (($$03654) + -1)|0; + $13 = $11; + $14 = $13 & 3; + $15 = ($14|0)!=(0); + $16 = ($12|0)!=(0); + $or$cond = $16 & $15; + if ($or$cond) { + $$03555 = $11;$$03654 = $12; + } else { + $$035$lcssa = $11;$$036$lcssa = $12;$$lcssa = $16; + label = 5; + break; + } + } + } else { + $$035$lcssa = $0;$$036$lcssa = $2;$$lcssa = $7; + label = 5; + } + } while(0); + if ((label|0) == 5) { + if ($$lcssa) { + $$035$lcssa65 = $$035$lcssa;$$036$lcssa64 = $$036$lcssa; + label = 6; + } else { + $$2 = $$035$lcssa;$$3 = 0; + } + } + L8: do { + if ((label|0) == 6) { + $17 = HEAP8[$$035$lcssa65>>0]|0; + $18 = $1&255; + $19 = ($17<<24>>24)==($18<<24>>24); + if ($19) { + $$2 = $$035$lcssa65;$$3 = $$036$lcssa64; + } else { + $20 = Math_imul($3, 16843009)|0; + $21 = ($$036$lcssa64>>>0)>(3); + L11: do { + if ($21) { + $$046 = $$035$lcssa65;$$13745 = $$036$lcssa64; + while(1) { + $22 = HEAP32[$$046>>2]|0; + $23 = $22 ^ $20; + $24 = (($23) + -16843009)|0; + $25 = $23 & -2139062144; + $26 = $25 ^ -2139062144; + $27 = $26 & $24; + $28 = ($27|0)==(0); + if (!($28)) { + break; + } + $29 = ((($$046)) + 4|0); + $30 = (($$13745) + -4)|0; + $31 = ($30>>>0)>(3); + if ($31) { + $$046 = $29;$$13745 = $30; + } else { + $$0$lcssa = $29;$$137$lcssa = $30; + label = 11; + break L11; + } + } + $$140 = $$046;$$23839 = $$13745; + } else { + $$0$lcssa = $$035$lcssa65;$$137$lcssa = $$036$lcssa64; + label = 11; + } + } while(0); + if ((label|0) == 11) { + $32 = ($$137$lcssa|0)==(0); + if ($32) { + $$2 = $$0$lcssa;$$3 = 0; + break; + } else { + $$140 = $$0$lcssa;$$23839 = $$137$lcssa; + } + } + while(1) { + $33 = HEAP8[$$140>>0]|0; + $34 = ($33<<24>>24)==($18<<24>>24); + if ($34) { + $$2 = $$140;$$3 = $$23839; + break L8; + } + $35 = ((($$140)) + 1|0); + $36 = (($$23839) + -1)|0; + $37 = ($36|0)==(0); + if ($37) { + $$2 = $35;$$3 = 0; + break; + } else { + $$140 = $35;$$23839 = $36; + } + } + } + } + } while(0); + $38 = ($$3|0)!=(0); + $39 = $38 ? $$2 : 0; + return ($39|0); +} +function _pad_674($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$0$lcssa = 0, $$011 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0); + $5 = sp; + $6 = $4 & 73728; + $7 = ($6|0)==(0); + $8 = ($2|0)>($3|0); + $or$cond = $8 & $7; + if ($or$cond) { + $9 = (($2) - ($3))|0; + $10 = ($9>>>0)<(256); + $11 = $10 ? $9 : 256; + _memset(($5|0),($1|0),($11|0))|0; + $12 = ($9>>>0)>(255); + if ($12) { + $13 = (($2) - ($3))|0; + $$011 = $9; + while(1) { + _out($0,$5,256); + $14 = (($$011) + -256)|0; + $15 = ($14>>>0)>(255); + if ($15) { + $$011 = $14; + } else { + break; + } + } + $16 = $13 & 255; + $$0$lcssa = $16; + } else { + $$0$lcssa = $9; + } + _out($0,$5,$$0$lcssa); + } + STACKTOP = sp;return; +} +function _wctomb($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ($0|0)==(0|0); + if ($2) { + $$0 = 0; + } else { + $3 = (_wcrtomb($0,$1,0)|0); + $$0 = $3; + } + return ($$0|0); +} +function _fmt_fp($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = +$1; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + var $$ = 0, $$$ = 0, $$$$559 = 0.0, $$$3484 = 0, $$$3484691 = 0, $$$3484692 = 0, $$$3501 = 0, $$$4502 = 0, $$$542 = 0.0, $$$559 = 0.0, $$0 = 0, $$0463$lcssa = 0, $$0463584 = 0, $$0464594 = 0, $$0471 = 0.0, $$0479 = 0, $$0487642 = 0, $$0488 = 0, $$0488653 = 0, $$0488655 = 0; + var $$0496$$9 = 0, $$0497654 = 0, $$0498 = 0, $$0509582 = 0.0, $$0510 = 0, $$0511 = 0, $$0514637 = 0, $$0520 = 0, $$0521 = 0, $$0521$ = 0, $$0523 = 0, $$0525 = 0, $$0527 = 0, $$0527629 = 0, $$0527631 = 0, $$0530636 = 0, $$1465 = 0, $$1467 = 0.0, $$1469 = 0.0, $$1472 = 0.0; + var $$1480 = 0, $$1482$lcssa = 0, $$1482661 = 0, $$1489641 = 0, $$1499$lcssa = 0, $$1499660 = 0, $$1508583 = 0, $$1512$lcssa = 0, $$1512607 = 0, $$1515 = 0, $$1524 = 0, $$1526 = 0, $$1528614 = 0, $$1531$lcssa = 0, $$1531630 = 0, $$1598 = 0, $$2 = 0, $$2473 = 0.0, $$2476 = 0, $$2476$$547 = 0; + var $$2476$$549 = 0, $$2483$ph = 0, $$2500 = 0, $$2513 = 0, $$2516618 = 0, $$2529 = 0, $$2532617 = 0, $$3 = 0.0, $$3477 = 0, $$3484$lcssa = 0, $$3484648 = 0, $$3501$lcssa = 0, $$3501647 = 0, $$3533613 = 0, $$4 = 0.0, $$4478$lcssa = 0, $$4478590 = 0, $$4492 = 0, $$4502 = 0, $$4518 = 0; + var $$5$lcssa = 0, $$534$ = 0, $$539 = 0, $$539$ = 0, $$542 = 0.0, $$546 = 0, $$548 = 0, $$5486$lcssa = 0, $$5486623 = 0, $$5493597 = 0, $$5519$ph = 0, $$555 = 0, $$556 = 0, $$559 = 0.0, $$5602 = 0, $$6 = 0, $$6494589 = 0, $$7495601 = 0, $$7505 = 0, $$7505$ = 0; + var $$7505$ph = 0, $$8 = 0, $$9$ph = 0, $$lcssa673 = 0, $$neg = 0, $$neg567 = 0, $$pn = 0, $$pn566 = 0, $$pr = 0, $$pr564 = 0, $$pre = 0, $$pre$phi690Z2D = 0, $$pre689 = 0, $$sink545$lcssa = 0, $$sink545622 = 0, $$sink562 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0; + var $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0.0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0.0, $117 = 0.0, $118 = 0.0, $119 = 0, $12 = 0, $120 = 0; + var $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0; + var $14 = 0.0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0; + var $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0; + var $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0; + var $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0; + var $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0.0, $229 = 0.0, $23 = 0; + var $230 = 0, $231 = 0.0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0; + var $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0; + var $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0; + var $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0; + var $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0; + var $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0; + var $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0.0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0; + var $358 = 0, $359 = 0, $36 = 0.0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0; + var $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0.0, $52 = 0, $53 = 0, $54 = 0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0.0, $61 = 0, $62 = 0, $63 = 0; + var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0; + var $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0.0, $88 = 0.0, $89 = 0.0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond = 0; + var $narrow = 0, $not$ = 0, $notlhs = 0, $notrhs = 0, $or$cond = 0, $or$cond3$not = 0, $or$cond537 = 0, $or$cond541 = 0, $or$cond544 = 0, $or$cond554 = 0, $or$cond6 = 0, $scevgep684 = 0, $scevgep684685 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 560|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(560|0); + $6 = sp + 8|0; + $7 = sp; + $8 = sp + 524|0; + $9 = $8; + $10 = sp + 512|0; + HEAP32[$7>>2] = 0; + $11 = ((($10)) + 12|0); + (___DOUBLE_BITS_675($1)|0); + $12 = tempRet0; + $13 = ($12|0)<(0); + if ($13) { + $14 = -$1; + $$0471 = $14;$$0520 = 1;$$0521 = 17709; + } else { + $15 = $4 & 2048; + $16 = ($15|0)==(0); + $17 = $4 & 1; + $18 = ($17|0)==(0); + $$ = $18 ? (17710) : (17715); + $$$ = $16 ? $$ : (17712); + $19 = $4 & 2049; + $narrow = ($19|0)!=(0); + $$534$ = $narrow&1; + $$0471 = $1;$$0520 = $$534$;$$0521 = $$$; + } + (___DOUBLE_BITS_675($$0471)|0); + $20 = tempRet0; + $21 = $20 & 2146435072; + $22 = ($21>>>0)<(2146435072); + $23 = (0)<(0); + $24 = ($21|0)==(2146435072); + $25 = $24 & $23; + $26 = $22 | $25; + do { + if ($26) { + $35 = (+_frexpl($$0471,$7)); + $36 = $35 * 2.0; + $37 = $36 != 0.0; + if ($37) { + $38 = HEAP32[$7>>2]|0; + $39 = (($38) + -1)|0; + HEAP32[$7>>2] = $39; + } + $40 = $5 | 32; + $41 = ($40|0)==(97); + if ($41) { + $42 = $5 & 32; + $43 = ($42|0)==(0); + $44 = ((($$0521)) + 9|0); + $$0521$ = $43 ? $$0521 : $44; + $45 = $$0520 | 2; + $46 = ($3>>>0)>(11); + $47 = (12 - ($3))|0; + $48 = ($47|0)==(0); + $49 = $46 | $48; + do { + if ($49) { + $$1472 = $36; + } else { + $$0509582 = 8.0;$$1508583 = $47; + while(1) { + $50 = (($$1508583) + -1)|0; + $51 = $$0509582 * 16.0; + $52 = ($50|0)==(0); + if ($52) { + break; + } else { + $$0509582 = $51;$$1508583 = $50; + } + } + $53 = HEAP8[$$0521$>>0]|0; + $54 = ($53<<24>>24)==(45); + if ($54) { + $55 = -$36; + $56 = $55 - $51; + $57 = $51 + $56; + $58 = -$57; + $$1472 = $58; + break; + } else { + $59 = $36 + $51; + $60 = $59 - $51; + $$1472 = $60; + break; + } + } + } while(0); + $61 = HEAP32[$7>>2]|0; + $62 = ($61|0)<(0); + $63 = (0 - ($61))|0; + $64 = $62 ? $63 : $61; + $65 = ($64|0)<(0); + $66 = $65 << 31 >> 31; + $67 = (_fmt_u($64,$66,$11)|0); + $68 = ($67|0)==($11|0); + if ($68) { + $69 = ((($10)) + 11|0); + HEAP8[$69>>0] = 48; + $$0511 = $69; + } else { + $$0511 = $67; + } + $70 = $61 >> 31; + $71 = $70 & 2; + $72 = (($71) + 43)|0; + $73 = $72&255; + $74 = ((($$0511)) + -1|0); + HEAP8[$74>>0] = $73; + $75 = (($5) + 15)|0; + $76 = $75&255; + $77 = ((($$0511)) + -2|0); + HEAP8[$77>>0] = $76; + $notrhs = ($3|0)<(1); + $78 = $4 & 8; + $79 = ($78|0)==(0); + $$0523 = $8;$$2473 = $$1472; + while(1) { + $80 = (~~(($$2473))); + $81 = (17744 + ($80)|0); + $82 = HEAP8[$81>>0]|0; + $83 = $82&255; + $84 = $83 | $42; + $85 = $84&255; + $86 = ((($$0523)) + 1|0); + HEAP8[$$0523>>0] = $85; + $87 = (+($80|0)); + $88 = $$2473 - $87; + $89 = $88 * 16.0; + $90 = $86; + $91 = (($90) - ($9))|0; + $92 = ($91|0)==(1); + if ($92) { + $notlhs = $89 == 0.0; + $or$cond3$not = $notrhs & $notlhs; + $or$cond = $79 & $or$cond3$not; + if ($or$cond) { + $$1524 = $86; + } else { + $93 = ((($$0523)) + 2|0); + HEAP8[$86>>0] = 46; + $$1524 = $93; + } + } else { + $$1524 = $86; + } + $94 = $89 != 0.0; + if ($94) { + $$0523 = $$1524;$$2473 = $89; + } else { + break; + } + } + $95 = ($3|0)!=(0); + $96 = $77; + $97 = $11; + $98 = $$1524; + $99 = (($98) - ($9))|0; + $100 = (($97) - ($96))|0; + $101 = (($99) + -2)|0; + $102 = ($101|0)<($3|0); + $or$cond537 = $95 & $102; + $103 = (($3) + 2)|0; + $$pn = $or$cond537 ? $103 : $99; + $$0525 = (($100) + ($45))|0; + $104 = (($$0525) + ($$pn))|0; + _pad_674($0,32,$2,$104,$4); + _out($0,$$0521$,$45); + $105 = $4 ^ 65536; + _pad_674($0,48,$2,$104,$105); + _out($0,$8,$99); + $106 = (($$pn) - ($99))|0; + _pad_674($0,48,$106,0,0); + _out($0,$77,$100); + $107 = $4 ^ 8192; + _pad_674($0,32,$2,$104,$107); + $$sink562 = $104; + break; + } + $108 = ($3|0)<(0); + $$539 = $108 ? 6 : $3; + if ($37) { + $109 = $36 * 268435456.0; + $110 = HEAP32[$7>>2]|0; + $111 = (($110) + -28)|0; + HEAP32[$7>>2] = $111; + $$3 = $109;$$pr = $111; + } else { + $$pre = HEAP32[$7>>2]|0; + $$3 = $36;$$pr = $$pre; + } + $112 = ($$pr|0)<(0); + $113 = ((($6)) + 288|0); + $$556 = $112 ? $6 : $113; + $$0498 = $$556;$$4 = $$3; + while(1) { + $114 = (~~(($$4))>>>0); + HEAP32[$$0498>>2] = $114; + $115 = ((($$0498)) + 4|0); + $116 = (+($114>>>0)); + $117 = $$4 - $116; + $118 = $117 * 1.0E+9; + $119 = $118 != 0.0; + if ($119) { + $$0498 = $115;$$4 = $118; + } else { + break; + } + } + $120 = ($$pr|0)>(0); + if ($120) { + $$1482661 = $$556;$$1499660 = $115;$122 = $$pr; + while(1) { + $121 = ($122|0)<(29); + $123 = $121 ? $122 : 29; + $$0488653 = ((($$1499660)) + -4|0); + $124 = ($$0488653>>>0)<($$1482661>>>0); + if ($124) { + $$2483$ph = $$1482661; + } else { + $$0488655 = $$0488653;$$0497654 = 0; + while(1) { + $125 = HEAP32[$$0488655>>2]|0; + $126 = (_bitshift64Shl(($125|0),0,($123|0))|0); + $127 = tempRet0; + $128 = (_i64Add(($126|0),($127|0),($$0497654|0),0)|0); + $129 = tempRet0; + $130 = (___uremdi3(($128|0),($129|0),1000000000,0)|0); + $131 = tempRet0; + HEAP32[$$0488655>>2] = $130; + $132 = (___udivdi3(($128|0),($129|0),1000000000,0)|0); + $133 = tempRet0; + $$0488 = ((($$0488655)) + -4|0); + $134 = ($$0488>>>0)<($$1482661>>>0); + if ($134) { + break; + } else { + $$0488655 = $$0488;$$0497654 = $132; + } + } + $135 = ($132|0)==(0); + if ($135) { + $$2483$ph = $$1482661; + } else { + $136 = ((($$1482661)) + -4|0); + HEAP32[$136>>2] = $132; + $$2483$ph = $136; + } + } + $$2500 = $$1499660; + while(1) { + $137 = ($$2500>>>0)>($$2483$ph>>>0); + if (!($137)) { + break; + } + $138 = ((($$2500)) + -4|0); + $139 = HEAP32[$138>>2]|0; + $140 = ($139|0)==(0); + if ($140) { + $$2500 = $138; + } else { + break; + } + } + $141 = HEAP32[$7>>2]|0; + $142 = (($141) - ($123))|0; + HEAP32[$7>>2] = $142; + $143 = ($142|0)>(0); + if ($143) { + $$1482661 = $$2483$ph;$$1499660 = $$2500;$122 = $142; + } else { + $$1482$lcssa = $$2483$ph;$$1499$lcssa = $$2500;$$pr564 = $142; + break; + } + } + } else { + $$1482$lcssa = $$556;$$1499$lcssa = $115;$$pr564 = $$pr; + } + $144 = ($$pr564|0)<(0); + if ($144) { + $145 = (($$539) + 25)|0; + $146 = (($145|0) / 9)&-1; + $147 = (($146) + 1)|0; + $148 = ($40|0)==(102); + $$3484648 = $$1482$lcssa;$$3501647 = $$1499$lcssa;$150 = $$pr564; + while(1) { + $149 = (0 - ($150))|0; + $151 = ($149|0)<(9); + $152 = $151 ? $149 : 9; + $153 = ($$3484648>>>0)<($$3501647>>>0); + if ($153) { + $157 = 1 << $152; + $158 = (($157) + -1)|0; + $159 = 1000000000 >>> $152; + $$0487642 = 0;$$1489641 = $$3484648; + while(1) { + $160 = HEAP32[$$1489641>>2]|0; + $161 = $160 & $158; + $162 = $160 >>> $152; + $163 = (($162) + ($$0487642))|0; + HEAP32[$$1489641>>2] = $163; + $164 = Math_imul($161, $159)|0; + $165 = ((($$1489641)) + 4|0); + $166 = ($165>>>0)<($$3501647>>>0); + if ($166) { + $$0487642 = $164;$$1489641 = $165; + } else { + break; + } + } + $167 = HEAP32[$$3484648>>2]|0; + $168 = ($167|0)==(0); + $169 = ((($$3484648)) + 4|0); + $$$3484 = $168 ? $169 : $$3484648; + $170 = ($164|0)==(0); + if ($170) { + $$$3484692 = $$$3484;$$4502 = $$3501647; + } else { + $171 = ((($$3501647)) + 4|0); + HEAP32[$$3501647>>2] = $164; + $$$3484692 = $$$3484;$$4502 = $171; + } + } else { + $154 = HEAP32[$$3484648>>2]|0; + $155 = ($154|0)==(0); + $156 = ((($$3484648)) + 4|0); + $$$3484691 = $155 ? $156 : $$3484648; + $$$3484692 = $$$3484691;$$4502 = $$3501647; + } + $172 = $148 ? $$556 : $$$3484692; + $173 = $$4502; + $174 = $172; + $175 = (($173) - ($174))|0; + $176 = $175 >> 2; + $177 = ($176|0)>($147|0); + $178 = (($172) + ($147<<2)|0); + $$$4502 = $177 ? $178 : $$4502; + $179 = HEAP32[$7>>2]|0; + $180 = (($179) + ($152))|0; + HEAP32[$7>>2] = $180; + $181 = ($180|0)<(0); + if ($181) { + $$3484648 = $$$3484692;$$3501647 = $$$4502;$150 = $180; + } else { + $$3484$lcssa = $$$3484692;$$3501$lcssa = $$$4502; + break; + } + } + } else { + $$3484$lcssa = $$1482$lcssa;$$3501$lcssa = $$1499$lcssa; + } + $182 = ($$3484$lcssa>>>0)<($$3501$lcssa>>>0); + $183 = $$556; + if ($182) { + $184 = $$3484$lcssa; + $185 = (($183) - ($184))|0; + $186 = $185 >> 2; + $187 = ($186*9)|0; + $188 = HEAP32[$$3484$lcssa>>2]|0; + $189 = ($188>>>0)<(10); + if ($189) { + $$1515 = $187; + } else { + $$0514637 = $187;$$0530636 = 10; + while(1) { + $190 = ($$0530636*10)|0; + $191 = (($$0514637) + 1)|0; + $192 = ($188>>>0)<($190>>>0); + if ($192) { + $$1515 = $191; + break; + } else { + $$0514637 = $191;$$0530636 = $190; + } + } + } + } else { + $$1515 = 0; + } + $193 = ($40|0)!=(102); + $194 = $193 ? $$1515 : 0; + $195 = (($$539) - ($194))|0; + $196 = ($40|0)==(103); + $197 = ($$539|0)!=(0); + $198 = $197 & $196; + $$neg = $198 << 31 >> 31; + $199 = (($195) + ($$neg))|0; + $200 = $$3501$lcssa; + $201 = (($200) - ($183))|0; + $202 = $201 >> 2; + $203 = ($202*9)|0; + $204 = (($203) + -9)|0; + $205 = ($199|0)<($204|0); + if ($205) { + $206 = ((($$556)) + 4|0); + $207 = (($199) + 9216)|0; + $208 = (($207|0) / 9)&-1; + $209 = (($208) + -1024)|0; + $210 = (($206) + ($209<<2)|0); + $211 = (($207|0) % 9)&-1; + $$0527629 = (($211) + 1)|0; + $212 = ($$0527629|0)<(9); + if ($212) { + $$0527631 = $$0527629;$$1531630 = 10; + while(1) { + $213 = ($$1531630*10)|0; + $$0527 = (($$0527631) + 1)|0; + $exitcond = ($$0527|0)==(9); + if ($exitcond) { + $$1531$lcssa = $213; + break; + } else { + $$0527631 = $$0527;$$1531630 = $213; + } + } + } else { + $$1531$lcssa = 10; + } + $214 = HEAP32[$210>>2]|0; + $215 = (($214>>>0) % ($$1531$lcssa>>>0))&-1; + $216 = ($215|0)==(0); + $217 = ((($210)) + 4|0); + $218 = ($217|0)==($$3501$lcssa|0); + $or$cond541 = $218 & $216; + if ($or$cond541) { + $$4492 = $210;$$4518 = $$1515;$$8 = $$3484$lcssa; + } else { + $219 = (($214>>>0) / ($$1531$lcssa>>>0))&-1; + $220 = $219 & 1; + $221 = ($220|0)==(0); + $$542 = $221 ? 9007199254740992.0 : 9007199254740994.0; + $222 = (($$1531$lcssa|0) / 2)&-1; + $223 = ($215>>>0)<($222>>>0); + $224 = ($215|0)==($222|0); + $or$cond544 = $218 & $224; + $$559 = $or$cond544 ? 1.0 : 1.5; + $$$559 = $223 ? 0.5 : $$559; + $225 = ($$0520|0)==(0); + if ($225) { + $$1467 = $$$559;$$1469 = $$542; + } else { + $226 = HEAP8[$$0521>>0]|0; + $227 = ($226<<24>>24)==(45); + $228 = -$$542; + $229 = -$$$559; + $$$542 = $227 ? $228 : $$542; + $$$$559 = $227 ? $229 : $$$559; + $$1467 = $$$$559;$$1469 = $$$542; + } + $230 = (($214) - ($215))|0; + HEAP32[$210>>2] = $230; + $231 = $$1469 + $$1467; + $232 = $231 != $$1469; + if ($232) { + $233 = (($230) + ($$1531$lcssa))|0; + HEAP32[$210>>2] = $233; + $234 = ($233>>>0)>(999999999); + if ($234) { + $$5486623 = $$3484$lcssa;$$sink545622 = $210; + while(1) { + $235 = ((($$sink545622)) + -4|0); + HEAP32[$$sink545622>>2] = 0; + $236 = ($235>>>0)<($$5486623>>>0); + if ($236) { + $237 = ((($$5486623)) + -4|0); + HEAP32[$237>>2] = 0; + $$6 = $237; + } else { + $$6 = $$5486623; + } + $238 = HEAP32[$235>>2]|0; + $239 = (($238) + 1)|0; + HEAP32[$235>>2] = $239; + $240 = ($239>>>0)>(999999999); + if ($240) { + $$5486623 = $$6;$$sink545622 = $235; + } else { + $$5486$lcssa = $$6;$$sink545$lcssa = $235; + break; + } + } + } else { + $$5486$lcssa = $$3484$lcssa;$$sink545$lcssa = $210; + } + $241 = $$5486$lcssa; + $242 = (($183) - ($241))|0; + $243 = $242 >> 2; + $244 = ($243*9)|0; + $245 = HEAP32[$$5486$lcssa>>2]|0; + $246 = ($245>>>0)<(10); + if ($246) { + $$4492 = $$sink545$lcssa;$$4518 = $244;$$8 = $$5486$lcssa; + } else { + $$2516618 = $244;$$2532617 = 10; + while(1) { + $247 = ($$2532617*10)|0; + $248 = (($$2516618) + 1)|0; + $249 = ($245>>>0)<($247>>>0); + if ($249) { + $$4492 = $$sink545$lcssa;$$4518 = $248;$$8 = $$5486$lcssa; + break; + } else { + $$2516618 = $248;$$2532617 = $247; + } + } + } + } else { + $$4492 = $210;$$4518 = $$1515;$$8 = $$3484$lcssa; + } + } + $250 = ((($$4492)) + 4|0); + $251 = ($$3501$lcssa>>>0)>($250>>>0); + $$$3501 = $251 ? $250 : $$3501$lcssa; + $$5519$ph = $$4518;$$7505$ph = $$$3501;$$9$ph = $$8; + } else { + $$5519$ph = $$1515;$$7505$ph = $$3501$lcssa;$$9$ph = $$3484$lcssa; + } + $$7505 = $$7505$ph; + while(1) { + $252 = ($$7505>>>0)>($$9$ph>>>0); + if (!($252)) { + $$lcssa673 = 0; + break; + } + $253 = ((($$7505)) + -4|0); + $254 = HEAP32[$253>>2]|0; + $255 = ($254|0)==(0); + if ($255) { + $$7505 = $253; + } else { + $$lcssa673 = 1; + break; + } + } + $256 = (0 - ($$5519$ph))|0; + do { + if ($196) { + $not$ = $197 ^ 1; + $257 = $not$&1; + $$539$ = (($257) + ($$539))|0; + $258 = ($$539$|0)>($$5519$ph|0); + $259 = ($$5519$ph|0)>(-5); + $or$cond6 = $258 & $259; + if ($or$cond6) { + $260 = (($5) + -1)|0; + $$neg567 = (($$539$) + -1)|0; + $261 = (($$neg567) - ($$5519$ph))|0; + $$0479 = $260;$$2476 = $261; + } else { + $262 = (($5) + -2)|0; + $263 = (($$539$) + -1)|0; + $$0479 = $262;$$2476 = $263; + } + $264 = $4 & 8; + $265 = ($264|0)==(0); + if ($265) { + if ($$lcssa673) { + $266 = ((($$7505)) + -4|0); + $267 = HEAP32[$266>>2]|0; + $268 = ($267|0)==(0); + if ($268) { + $$2529 = 9; + } else { + $269 = (($267>>>0) % 10)&-1; + $270 = ($269|0)==(0); + if ($270) { + $$1528614 = 0;$$3533613 = 10; + while(1) { + $271 = ($$3533613*10)|0; + $272 = (($$1528614) + 1)|0; + $273 = (($267>>>0) % ($271>>>0))&-1; + $274 = ($273|0)==(0); + if ($274) { + $$1528614 = $272;$$3533613 = $271; + } else { + $$2529 = $272; + break; + } + } + } else { + $$2529 = 0; + } + } + } else { + $$2529 = 9; + } + $275 = $$0479 | 32; + $276 = ($275|0)==(102); + $277 = $$7505; + $278 = (($277) - ($183))|0; + $279 = $278 >> 2; + $280 = ($279*9)|0; + $281 = (($280) + -9)|0; + if ($276) { + $282 = (($281) - ($$2529))|0; + $283 = ($282|0)>(0); + $$546 = $283 ? $282 : 0; + $284 = ($$2476|0)<($$546|0); + $$2476$$547 = $284 ? $$2476 : $$546; + $$1480 = $$0479;$$3477 = $$2476$$547;$$pre$phi690Z2D = 0; + break; + } else { + $285 = (($281) + ($$5519$ph))|0; + $286 = (($285) - ($$2529))|0; + $287 = ($286|0)>(0); + $$548 = $287 ? $286 : 0; + $288 = ($$2476|0)<($$548|0); + $$2476$$549 = $288 ? $$2476 : $$548; + $$1480 = $$0479;$$3477 = $$2476$$549;$$pre$phi690Z2D = 0; + break; + } + } else { + $$1480 = $$0479;$$3477 = $$2476;$$pre$phi690Z2D = $264; + } + } else { + $$pre689 = $4 & 8; + $$1480 = $5;$$3477 = $$539;$$pre$phi690Z2D = $$pre689; + } + } while(0); + $289 = $$3477 | $$pre$phi690Z2D; + $290 = ($289|0)!=(0); + $291 = $290&1; + $292 = $$1480 | 32; + $293 = ($292|0)==(102); + if ($293) { + $294 = ($$5519$ph|0)>(0); + $295 = $294 ? $$5519$ph : 0; + $$2513 = 0;$$pn566 = $295; + } else { + $296 = ($$5519$ph|0)<(0); + $297 = $296 ? $256 : $$5519$ph; + $298 = ($297|0)<(0); + $299 = $298 << 31 >> 31; + $300 = (_fmt_u($297,$299,$11)|0); + $301 = $11; + $302 = $300; + $303 = (($301) - ($302))|0; + $304 = ($303|0)<(2); + if ($304) { + $$1512607 = $300; + while(1) { + $305 = ((($$1512607)) + -1|0); + HEAP8[$305>>0] = 48; + $306 = $305; + $307 = (($301) - ($306))|0; + $308 = ($307|0)<(2); + if ($308) { + $$1512607 = $305; + } else { + $$1512$lcssa = $305; + break; + } + } + } else { + $$1512$lcssa = $300; + } + $309 = $$5519$ph >> 31; + $310 = $309 & 2; + $311 = (($310) + 43)|0; + $312 = $311&255; + $313 = ((($$1512$lcssa)) + -1|0); + HEAP8[$313>>0] = $312; + $314 = $$1480&255; + $315 = ((($$1512$lcssa)) + -2|0); + HEAP8[$315>>0] = $314; + $316 = $315; + $317 = (($301) - ($316))|0; + $$2513 = $315;$$pn566 = $317; + } + $318 = (($$0520) + 1)|0; + $319 = (($318) + ($$3477))|0; + $$1526 = (($319) + ($291))|0; + $320 = (($$1526) + ($$pn566))|0; + _pad_674($0,32,$2,$320,$4); + _out($0,$$0521,$$0520); + $321 = $4 ^ 65536; + _pad_674($0,48,$2,$320,$321); + if ($293) { + $322 = ($$9$ph>>>0)>($$556>>>0); + $$0496$$9 = $322 ? $$556 : $$9$ph; + $323 = ((($8)) + 9|0); + $324 = $323; + $325 = ((($8)) + 8|0); + $$5493597 = $$0496$$9; + while(1) { + $326 = HEAP32[$$5493597>>2]|0; + $327 = (_fmt_u($326,0,$323)|0); + $328 = ($$5493597|0)==($$0496$$9|0); + if ($328) { + $334 = ($327|0)==($323|0); + if ($334) { + HEAP8[$325>>0] = 48; + $$1465 = $325; + } else { + $$1465 = $327; + } + } else { + $329 = ($327>>>0)>($8>>>0); + if ($329) { + $330 = $327; + $331 = (($330) - ($9))|0; + _memset(($8|0),48,($331|0))|0; + $$0464594 = $327; + while(1) { + $332 = ((($$0464594)) + -1|0); + $333 = ($332>>>0)>($8>>>0); + if ($333) { + $$0464594 = $332; + } else { + $$1465 = $332; + break; + } + } + } else { + $$1465 = $327; + } + } + $335 = $$1465; + $336 = (($324) - ($335))|0; + _out($0,$$1465,$336); + $337 = ((($$5493597)) + 4|0); + $338 = ($337>>>0)>($$556>>>0); + if ($338) { + break; + } else { + $$5493597 = $337; + } + } + $339 = ($289|0)==(0); + if (!($339)) { + _out($0,17760,1); + } + $340 = ($337>>>0)<($$7505>>>0); + $341 = ($$3477|0)>(0); + $342 = $340 & $341; + if ($342) { + $$4478590 = $$3477;$$6494589 = $337; + while(1) { + $343 = HEAP32[$$6494589>>2]|0; + $344 = (_fmt_u($343,0,$323)|0); + $345 = ($344>>>0)>($8>>>0); + if ($345) { + $346 = $344; + $347 = (($346) - ($9))|0; + _memset(($8|0),48,($347|0))|0; + $$0463584 = $344; + while(1) { + $348 = ((($$0463584)) + -1|0); + $349 = ($348>>>0)>($8>>>0); + if ($349) { + $$0463584 = $348; + } else { + $$0463$lcssa = $348; + break; + } + } + } else { + $$0463$lcssa = $344; + } + $350 = ($$4478590|0)<(9); + $351 = $350 ? $$4478590 : 9; + _out($0,$$0463$lcssa,$351); + $352 = ((($$6494589)) + 4|0); + $353 = (($$4478590) + -9)|0; + $354 = ($352>>>0)<($$7505>>>0); + $355 = ($$4478590|0)>(9); + $356 = $354 & $355; + if ($356) { + $$4478590 = $353;$$6494589 = $352; + } else { + $$4478$lcssa = $353; + break; + } + } + } else { + $$4478$lcssa = $$3477; + } + $357 = (($$4478$lcssa) + 9)|0; + _pad_674($0,48,$357,9,0); + } else { + $358 = ((($$9$ph)) + 4|0); + $$7505$ = $$lcssa673 ? $$7505 : $358; + $359 = ($$3477|0)>(-1); + if ($359) { + $360 = ((($8)) + 9|0); + $361 = ($$pre$phi690Z2D|0)==(0); + $362 = $360; + $363 = (0 - ($9))|0; + $364 = ((($8)) + 8|0); + $$5602 = $$3477;$$7495601 = $$9$ph; + while(1) { + $365 = HEAP32[$$7495601>>2]|0; + $366 = (_fmt_u($365,0,$360)|0); + $367 = ($366|0)==($360|0); + if ($367) { + HEAP8[$364>>0] = 48; + $$0 = $364; + } else { + $$0 = $366; + } + $368 = ($$7495601|0)==($$9$ph|0); + do { + if ($368) { + $372 = ((($$0)) + 1|0); + _out($0,$$0,1); + $373 = ($$5602|0)<(1); + $or$cond554 = $361 & $373; + if ($or$cond554) { + $$2 = $372; + break; + } + _out($0,17760,1); + $$2 = $372; + } else { + $369 = ($$0>>>0)>($8>>>0); + if (!($369)) { + $$2 = $$0; + break; + } + $scevgep684 = (($$0) + ($363)|0); + $scevgep684685 = $scevgep684; + _memset(($8|0),48,($scevgep684685|0))|0; + $$1598 = $$0; + while(1) { + $370 = ((($$1598)) + -1|0); + $371 = ($370>>>0)>($8>>>0); + if ($371) { + $$1598 = $370; + } else { + $$2 = $370; + break; + } + } + } + } while(0); + $374 = $$2; + $375 = (($362) - ($374))|0; + $376 = ($$5602|0)>($375|0); + $377 = $376 ? $375 : $$5602; + _out($0,$$2,$377); + $378 = (($$5602) - ($375))|0; + $379 = ((($$7495601)) + 4|0); + $380 = ($379>>>0)<($$7505$>>>0); + $381 = ($378|0)>(-1); + $382 = $380 & $381; + if ($382) { + $$5602 = $378;$$7495601 = $379; + } else { + $$5$lcssa = $378; + break; + } + } + } else { + $$5$lcssa = $$3477; + } + $383 = (($$5$lcssa) + 18)|0; + _pad_674($0,48,$383,18,0); + $384 = $11; + $385 = $$2513; + $386 = (($384) - ($385))|0; + _out($0,$$2513,$386); + } + $387 = $4 ^ 8192; + _pad_674($0,32,$2,$320,$387); + $$sink562 = $320; + } else { + $27 = $5 & 32; + $28 = ($27|0)!=(0); + $29 = $28 ? 17728 : 17732; + $30 = ($$0471 != $$0471) | (0.0 != 0.0); + $31 = $28 ? 17736 : 17740; + $$0510 = $30 ? $31 : $29; + $32 = (($$0520) + 3)|0; + $33 = $4 & -65537; + _pad_674($0,32,$2,$32,$33); + _out($0,$$0521,$$0520); + _out($0,$$0510,3); + $34 = $4 ^ 8192; + _pad_674($0,32,$2,$32,$34); + $$sink562 = $32; + } + } while(0); + $388 = ($$sink562|0)<($2|0); + $$555 = $388 ? $2 : $$sink562; + STACKTOP = sp;return ($$555|0); +} +function ___DOUBLE_BITS_675($0) { + $0 = +$0; + var $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF64[tempDoublePtr>>3] = $0;$1 = HEAP32[tempDoublePtr>>2]|0; + $2 = HEAP32[tempDoublePtr+4>>2]|0; + tempRet0 = ($2); + return ($1|0); +} +function _frexpl($0,$1) { + $0 = +$0; + $1 = $1|0; + var $2 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = (+_frexp($0,$1)); + return (+$2); +} +function _frexp($0,$1) { + $0 = +$0; + $1 = $1|0; + var $$0 = 0.0, $$016 = 0.0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0.0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0.0, $storemerge = 0, $trunc$clear = 0, label = 0; + var sp = 0; + sp = STACKTOP; + HEAPF64[tempDoublePtr>>3] = $0;$2 = HEAP32[tempDoublePtr>>2]|0; + $3 = HEAP32[tempDoublePtr+4>>2]|0; + $4 = (_bitshift64Lshr(($2|0),($3|0),52)|0); + $5 = tempRet0; + $6 = $4&65535; + $trunc$clear = $6 & 2047; + switch ($trunc$clear<<16>>16) { + case 0: { + $7 = $0 != 0.0; + if ($7) { + $8 = $0 * 1.8446744073709552E+19; + $9 = (+_frexp($8,$1)); + $10 = HEAP32[$1>>2]|0; + $11 = (($10) + -64)|0; + $$016 = $9;$storemerge = $11; + } else { + $$016 = $0;$storemerge = 0; + } + HEAP32[$1>>2] = $storemerge; + $$0 = $$016; + break; + } + case 2047: { + $$0 = $0; + break; + } + default: { + $12 = $4 & 2047; + $13 = (($12) + -1022)|0; + HEAP32[$1>>2] = $13; + $14 = $3 & -2146435073; + $15 = $14 | 1071644672; + HEAP32[tempDoublePtr>>2] = $2;HEAP32[tempDoublePtr+4>>2] = $15;$16 = +HEAPF64[tempDoublePtr>>3]; + $$0 = $16; + } + } + return (+$$0); +} +function _wcrtomb($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $not$ = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ($0|0)==(0|0); + do { + if ($3) { + $$0 = 1; + } else { + $4 = ($1>>>0)<(128); + if ($4) { + $5 = $1&255; + HEAP8[$0>>0] = $5; + $$0 = 1; + break; + } + $6 = (___pthread_self_448()|0); + $7 = ((($6)) + 188|0); + $8 = HEAP32[$7>>2]|0; + $9 = HEAP32[$8>>2]|0; + $not$ = ($9|0)==(0|0); + if ($not$) { + $10 = $1 & -128; + $11 = ($10|0)==(57216); + if ($11) { + $13 = $1&255; + HEAP8[$0>>0] = $13; + $$0 = 1; + break; + } else { + $12 = (___errno_location()|0); + HEAP32[$12>>2] = 84; + $$0 = -1; + break; + } + } + $14 = ($1>>>0)<(2048); + if ($14) { + $15 = $1 >>> 6; + $16 = $15 | 192; + $17 = $16&255; + $18 = ((($0)) + 1|0); + HEAP8[$0>>0] = $17; + $19 = $1 & 63; + $20 = $19 | 128; + $21 = $20&255; + HEAP8[$18>>0] = $21; + $$0 = 2; + break; + } + $22 = ($1>>>0)<(55296); + $23 = $1 & -8192; + $24 = ($23|0)==(57344); + $or$cond = $22 | $24; + if ($or$cond) { + $25 = $1 >>> 12; + $26 = $25 | 224; + $27 = $26&255; + $28 = ((($0)) + 1|0); + HEAP8[$0>>0] = $27; + $29 = $1 >>> 6; + $30 = $29 & 63; + $31 = $30 | 128; + $32 = $31&255; + $33 = ((($0)) + 2|0); + HEAP8[$28>>0] = $32; + $34 = $1 & 63; + $35 = $34 | 128; + $36 = $35&255; + HEAP8[$33>>0] = $36; + $$0 = 3; + break; + } + $37 = (($1) + -65536)|0; + $38 = ($37>>>0)<(1048576); + if ($38) { + $39 = $1 >>> 18; + $40 = $39 | 240; + $41 = $40&255; + $42 = ((($0)) + 1|0); + HEAP8[$0>>0] = $41; + $43 = $1 >>> 12; + $44 = $43 & 63; + $45 = $44 | 128; + $46 = $45&255; + $47 = ((($0)) + 2|0); + HEAP8[$42>>0] = $46; + $48 = $1 >>> 6; + $49 = $48 & 63; + $50 = $49 | 128; + $51 = $50&255; + $52 = ((($0)) + 3|0); + HEAP8[$47>>0] = $51; + $53 = $1 & 63; + $54 = $53 | 128; + $55 = $54&255; + HEAP8[$52>>0] = $55; + $$0 = 4; + break; + } else { + $56 = (___errno_location()|0); + HEAP32[$56>>2] = 84; + $$0 = -1; + break; + } + } + } while(0); + return ($$0|0); +} +function ___pthread_self_448() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (_pthread_self()|0); + return ($0|0); +} +function ___pthread_self_105() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (_pthread_self()|0); + return ($0|0); +} +function ___strerror_l($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$012$lcssa = 0, $$01214 = 0, $$016 = 0, $$113 = 0, $$115 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; + var label = 0, sp = 0; + sp = STACKTOP; + $$016 = 0; + while(1) { + $3 = (17762 + ($$016)|0); + $4 = HEAP8[$3>>0]|0; + $5 = $4&255; + $6 = ($5|0)==($0|0); + if ($6) { + label = 2; + break; + } + $7 = (($$016) + 1)|0; + $8 = ($7|0)==(87); + if ($8) { + $$01214 = 17850;$$115 = 87; + label = 5; + break; + } else { + $$016 = $7; + } + } + if ((label|0) == 2) { + $2 = ($$016|0)==(0); + if ($2) { + $$012$lcssa = 17850; + } else { + $$01214 = 17850;$$115 = $$016; + label = 5; + } + } + if ((label|0) == 5) { + while(1) { + label = 0; + $$113 = $$01214; + while(1) { + $9 = HEAP8[$$113>>0]|0; + $10 = ($9<<24>>24)==(0); + $11 = ((($$113)) + 1|0); + if ($10) { + break; + } else { + $$113 = $11; + } + } + $12 = (($$115) + -1)|0; + $13 = ($12|0)==(0); + if ($13) { + $$012$lcssa = $11; + break; + } else { + $$01214 = $11;$$115 = $12; + label = 5; + } + } + } + $14 = ((($1)) + 20|0); + $15 = HEAP32[$14>>2]|0; + $16 = (___lctrans($$012$lcssa,$15)|0); + return ($16|0); +} +function ___lctrans($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = (___lctrans_impl($0,$1)|0); + return ($2|0); +} +function ___lctrans_impl($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ($1|0)==(0|0); + if ($2) { + $$0 = 0; + } else { + $3 = HEAP32[$1>>2]|0; + $4 = ((($1)) + 4|0); + $5 = HEAP32[$4>>2]|0; + $6 = (___mo_lookup($3,$5,$0)|0); + $$0 = $6; + } + $7 = ($$0|0)!=(0|0); + $8 = $7 ? $$0 : $0; + return ($8|0); +} +function ___mo_lookup($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$ = 0, $$090 = 0, $$094 = 0, $$191 = 0, $$195 = 0, $$4 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; + var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; + var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0; + var $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond102 = 0, $or$cond104 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = HEAP32[$0>>2]|0; + $4 = (($3) + 1794895138)|0; + $5 = ((($0)) + 8|0); + $6 = HEAP32[$5>>2]|0; + $7 = (_swapc($6,$4)|0); + $8 = ((($0)) + 12|0); + $9 = HEAP32[$8>>2]|0; + $10 = (_swapc($9,$4)|0); + $11 = ((($0)) + 16|0); + $12 = HEAP32[$11>>2]|0; + $13 = (_swapc($12,$4)|0); + $14 = $1 >>> 2; + $15 = ($7>>>0)<($14>>>0); + L1: do { + if ($15) { + $16 = $7 << 2; + $17 = (($1) - ($16))|0; + $18 = ($10>>>0)<($17>>>0); + $19 = ($13>>>0)<($17>>>0); + $or$cond = $18 & $19; + if ($or$cond) { + $20 = $13 | $10; + $21 = $20 & 3; + $22 = ($21|0)==(0); + if ($22) { + $23 = $10 >>> 2; + $24 = $13 >>> 2; + $$090 = 0;$$094 = $7; + while(1) { + $25 = $$094 >>> 1; + $26 = (($$090) + ($25))|0; + $27 = $26 << 1; + $28 = (($27) + ($23))|0; + $29 = (($0) + ($28<<2)|0); + $30 = HEAP32[$29>>2]|0; + $31 = (_swapc($30,$4)|0); + $32 = (($28) + 1)|0; + $33 = (($0) + ($32<<2)|0); + $34 = HEAP32[$33>>2]|0; + $35 = (_swapc($34,$4)|0); + $36 = ($35>>>0)<($1>>>0); + $37 = (($1) - ($35))|0; + $38 = ($31>>>0)<($37>>>0); + $or$cond102 = $36 & $38; + if (!($or$cond102)) { + $$4 = 0; + break L1; + } + $39 = (($35) + ($31))|0; + $40 = (($0) + ($39)|0); + $41 = HEAP8[$40>>0]|0; + $42 = ($41<<24>>24)==(0); + if (!($42)) { + $$4 = 0; + break L1; + } + $43 = (($0) + ($35)|0); + $44 = (_strcmp($2,$43)|0); + $45 = ($44|0)==(0); + if ($45) { + break; + } + $62 = ($$094|0)==(1); + $63 = ($44|0)<(0); + $64 = (($$094) - ($25))|0; + $$195 = $63 ? $25 : $64; + $$191 = $63 ? $$090 : $26; + if ($62) { + $$4 = 0; + break L1; + } else { + $$090 = $$191;$$094 = $$195; + } + } + $46 = (($27) + ($24))|0; + $47 = (($0) + ($46<<2)|0); + $48 = HEAP32[$47>>2]|0; + $49 = (_swapc($48,$4)|0); + $50 = (($46) + 1)|0; + $51 = (($0) + ($50<<2)|0); + $52 = HEAP32[$51>>2]|0; + $53 = (_swapc($52,$4)|0); + $54 = ($53>>>0)<($1>>>0); + $55 = (($1) - ($53))|0; + $56 = ($49>>>0)<($55>>>0); + $or$cond104 = $54 & $56; + if ($or$cond104) { + $57 = (($0) + ($53)|0); + $58 = (($53) + ($49))|0; + $59 = (($0) + ($58)|0); + $60 = HEAP8[$59>>0]|0; + $61 = ($60<<24>>24)==(0); + $$ = $61 ? $57 : 0; + $$4 = $$; + } else { + $$4 = 0; + } + } else { + $$4 = 0; + } + } else { + $$4 = 0; + } + } else { + $$4 = 0; + } + } while(0); + return ($$4|0); +} +function _swapc($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$ = 0, $2 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ($1|0)==(0); + $3 = (_llvm_bswap_i32(($0|0))|0); + $$ = $2 ? $0 : $3; + return ($$|0); +} +function ___fwritex($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$038 = 0, $$042 = 0, $$1 = 0, $$139 = 0, $$141 = 0, $$143 = 0, $$pre = 0, $$pre47 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0; + var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; + var label = 0, sp = 0; + sp = STACKTOP; + $3 = ((($2)) + 16|0); + $4 = HEAP32[$3>>2]|0; + $5 = ($4|0)==(0|0); + if ($5) { + $7 = (___towrite($2)|0); + $8 = ($7|0)==(0); + if ($8) { + $$pre = HEAP32[$3>>2]|0; + $12 = $$pre; + label = 5; + } else { + $$1 = 0; + } + } else { + $6 = $4; + $12 = $6; + label = 5; + } + L5: do { + if ((label|0) == 5) { + $9 = ((($2)) + 20|0); + $10 = HEAP32[$9>>2]|0; + $11 = (($12) - ($10))|0; + $13 = ($11>>>0)<($1>>>0); + $14 = $10; + if ($13) { + $15 = ((($2)) + 36|0); + $16 = HEAP32[$15>>2]|0; + $17 = (FUNCTION_TABLE_iiii[$16 & 15]($2,$0,$1)|0); + $$1 = $17; + break; + } + $18 = ((($2)) + 75|0); + $19 = HEAP8[$18>>0]|0; + $20 = ($19<<24>>24)>(-1); + L10: do { + if ($20) { + $$038 = $1; + while(1) { + $21 = ($$038|0)==(0); + if ($21) { + $$139 = 0;$$141 = $0;$$143 = $1;$31 = $14; + break L10; + } + $22 = (($$038) + -1)|0; + $23 = (($0) + ($22)|0); + $24 = HEAP8[$23>>0]|0; + $25 = ($24<<24>>24)==(10); + if ($25) { + break; + } else { + $$038 = $22; + } + } + $26 = ((($2)) + 36|0); + $27 = HEAP32[$26>>2]|0; + $28 = (FUNCTION_TABLE_iiii[$27 & 15]($2,$0,$$038)|0); + $29 = ($28>>>0)<($$038>>>0); + if ($29) { + $$1 = $28; + break L5; + } + $30 = (($0) + ($$038)|0); + $$042 = (($1) - ($$038))|0; + $$pre47 = HEAP32[$9>>2]|0; + $$139 = $$038;$$141 = $30;$$143 = $$042;$31 = $$pre47; + } else { + $$139 = 0;$$141 = $0;$$143 = $1;$31 = $14; + } + } while(0); + _memcpy(($31|0),($$141|0),($$143|0))|0; + $32 = HEAP32[$9>>2]|0; + $33 = (($32) + ($$143)|0); + HEAP32[$9>>2] = $33; + $34 = (($$139) + ($$143))|0; + $$1 = $34; + } + } while(0); + return ($$1|0); +} +function ___towrite($0) { + $0 = $0|0; + var $$0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 74|0); + $2 = HEAP8[$1>>0]|0; + $3 = $2 << 24 >> 24; + $4 = (($3) + 255)|0; + $5 = $4 | $3; + $6 = $5&255; + HEAP8[$1>>0] = $6; + $7 = HEAP32[$0>>2]|0; + $8 = $7 & 8; + $9 = ($8|0)==(0); + if ($9) { + $11 = ((($0)) + 8|0); + HEAP32[$11>>2] = 0; + $12 = ((($0)) + 4|0); + HEAP32[$12>>2] = 0; + $13 = ((($0)) + 44|0); + $14 = HEAP32[$13>>2]|0; + $15 = ((($0)) + 28|0); + HEAP32[$15>>2] = $14; + $16 = ((($0)) + 20|0); + HEAP32[$16>>2] = $14; + $17 = ((($0)) + 48|0); + $18 = HEAP32[$17>>2]|0; + $19 = (($14) + ($18)|0); + $20 = ((($0)) + 16|0); + HEAP32[$20>>2] = $19; + $$0 = 0; + } else { + $10 = $7 | 32; + HEAP32[$0>>2] = $10; + $$0 = -1; + } + return ($$0|0); +} +function _sn_write($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$ = 0, $10 = 0, $11 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ((($0)) + 16|0); + $4 = HEAP32[$3>>2]|0; + $5 = ((($0)) + 20|0); + $6 = HEAP32[$5>>2]|0; + $7 = $6; + $8 = (($4) - ($7))|0; + $9 = ($8>>>0)>($2>>>0); + $$ = $9 ? $2 : $8; + _memcpy(($6|0),($1|0),($$|0))|0; + $10 = HEAP32[$5>>2]|0; + $11 = (($10) + ($$)|0); + HEAP32[$5>>2] = $11; + return ($2|0); +} +function _qsort($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$0 = 0, $$067$lcssa = 0, $$06772 = 0, $$068$lcssa = 0, $$06871 = 0, $$1 = 0, $$169 = 0, $$2 = 0, $$pre$pre = 0, $$pre76 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $15$phi = 0, $16 = 0, $17 = 0, $18 = 0; + var $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0; + var $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0; + var $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 208|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(208|0); + $4 = sp + 8|0; + $5 = sp; + $6 = Math_imul($2, $1)|0; + $7 = $5; + $8 = $7; + HEAP32[$8>>2] = 1; + $9 = (($7) + 4)|0; + $10 = $9; + HEAP32[$10>>2] = 0; + $11 = ($6|0)==(0); + L1: do { + if (!($11)) { + $12 = (0 - ($2))|0; + $13 = ((($4)) + 4|0); + HEAP32[$13>>2] = $2; + HEAP32[$4>>2] = $2; + $$0 = 2;$15 = $2;$17 = $2; + while(1) { + $14 = (($15) + ($2))|0; + $16 = (($14) + ($17))|0; + $18 = (($4) + ($$0<<2)|0); + HEAP32[$18>>2] = $16; + $19 = ($16>>>0)<($6>>>0); + $20 = (($$0) + 1)|0; + if ($19) { + $15$phi = $17;$$0 = $20;$17 = $16;$15 = $15$phi; + } else { + break; + } + } + $21 = (($0) + ($6)|0); + $22 = (($21) + ($12)|0); + $23 = ($22>>>0)>($0>>>0); + if ($23) { + $24 = $22; + $$06772 = 1;$$06871 = $0;$26 = 1; + while(1) { + $25 = $26 & 3; + $27 = ($25|0)==(3); + do { + if ($27) { + _sift($$06871,$2,$3,$$06772,$4); + _shr($5,2); + $28 = (($$06772) + 2)|0; + $$1 = $28; + } else { + $29 = (($$06772) + -1)|0; + $30 = (($4) + ($29<<2)|0); + $31 = HEAP32[$30>>2]|0; + $32 = $$06871; + $33 = (($24) - ($32))|0; + $34 = ($31>>>0)<($33>>>0); + if ($34) { + _sift($$06871,$2,$3,$$06772,$4); + } else { + _trinkle($$06871,$2,$3,$5,$$06772,0,$4); + } + $35 = ($$06772|0)==(1); + if ($35) { + _shl($5,1); + $$1 = 0; + break; + } else { + _shl($5,$29); + $$1 = 1; + break; + } + } + } while(0); + $36 = HEAP32[$5>>2]|0; + $37 = $36 | 1; + HEAP32[$5>>2] = $37; + $38 = (($$06871) + ($2)|0); + $39 = ($38>>>0)<($22>>>0); + if ($39) { + $$06772 = $$1;$$06871 = $38;$26 = $37; + } else { + $$067$lcssa = $$1;$$068$lcssa = $38;$61 = $37; + break; + } + } + } else { + $$067$lcssa = 1;$$068$lcssa = $0;$61 = 1; + } + _trinkle($$068$lcssa,$2,$3,$5,$$067$lcssa,0,$4); + $40 = ((($5)) + 4|0); + $$169 = $$068$lcssa;$$2 = $$067$lcssa;$43 = $61; + while(1) { + $41 = ($$2|0)==(1); + $42 = ($43|0)==(1); + $or$cond = $41 & $42; + if ($or$cond) { + $44 = HEAP32[$40>>2]|0; + $45 = ($44|0)==(0); + if ($45) { + break L1; + } + } else { + $46 = ($$2|0)<(2); + if (!($46)) { + _shl($5,2); + $49 = (($$2) + -2)|0; + $50 = HEAP32[$5>>2]|0; + $51 = $50 ^ 7; + HEAP32[$5>>2] = $51; + _shr($5,1); + $52 = (($4) + ($49<<2)|0); + $53 = HEAP32[$52>>2]|0; + $54 = (0 - ($53))|0; + $55 = (($$169) + ($54)|0); + $56 = (($55) + ($12)|0); + $57 = (($$2) + -1)|0; + _trinkle($56,$2,$3,$5,$57,1,$4); + _shl($5,1); + $58 = HEAP32[$5>>2]|0; + $59 = $58 | 1; + HEAP32[$5>>2] = $59; + $60 = (($$169) + ($12)|0); + _trinkle($60,$2,$3,$5,$49,1,$4); + $$169 = $60;$$2 = $49;$43 = $59; + continue; + } + } + $47 = (_pntz($5)|0); + _shr($5,$47); + $48 = (($47) + ($$2))|0; + $$pre$pre = HEAP32[$5>>2]|0; + $$pre76 = (($$169) + ($12)|0); + $$169 = $$pre76;$$2 = $48;$43 = $$pre$pre; + } + } + } while(0); + STACKTOP = sp;return; +} +function _sift($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$0$lcssa = 0, $$029$be = 0, $$02932 = 0, $$030$be = 0, $$03031 = 0, $$033 = 0, $$pre = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0; + var $23 = 0, $24 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 240|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(240|0); + $5 = sp; + HEAP32[$5>>2] = $0; + $6 = ($3|0)>(1); + L1: do { + if ($6) { + $7 = (0 - ($1))|0; + $$02932 = $0;$$03031 = $3;$$033 = 1;$14 = $0; + while(1) { + $8 = (($$02932) + ($7)|0); + $9 = (($$03031) + -2)|0; + $10 = (($4) + ($9<<2)|0); + $11 = HEAP32[$10>>2]|0; + $12 = (0 - ($11))|0; + $13 = (($8) + ($12)|0); + $15 = (FUNCTION_TABLE_iii[$2 & 7]($14,$13)|0); + $16 = ($15|0)>(-1); + if ($16) { + $17 = (FUNCTION_TABLE_iii[$2 & 7]($14,$8)|0); + $18 = ($17|0)>(-1); + if ($18) { + $$0$lcssa = $$033; + break L1; + } + } + $19 = (FUNCTION_TABLE_iii[$2 & 7]($13,$8)|0); + $20 = ($19|0)>(-1); + $21 = (($$033) + 1)|0; + $22 = (($5) + ($$033<<2)|0); + if ($20) { + HEAP32[$22>>2] = $13; + $23 = (($$03031) + -1)|0; + $$029$be = $13;$$030$be = $23; + } else { + HEAP32[$22>>2] = $8; + $$029$be = $8;$$030$be = $9; + } + $24 = ($$030$be|0)>(1); + if (!($24)) { + $$0$lcssa = $21; + break L1; + } + $$pre = HEAP32[$5>>2]|0; + $$02932 = $$029$be;$$03031 = $$030$be;$$033 = $21;$14 = $$pre; + } + } else { + $$0$lcssa = 1; + } + } while(0); + _cycle($1,$5,$$0$lcssa); + STACKTOP = sp;return; +} +function _shr($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $$pre = 0, $$pre11 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ($1>>>0)>(31); + $3 = ((($0)) + 4|0); + if ($2) { + $4 = (($1) + -32)|0; + $5 = HEAP32[$3>>2]|0; + HEAP32[$0>>2] = $5; + HEAP32[$3>>2] = 0; + $$0 = $4;$10 = 0;$7 = $5; + } else { + $$pre = HEAP32[$0>>2]|0; + $$pre11 = HEAP32[$3>>2]|0; + $$0 = $1;$10 = $$pre11;$7 = $$pre; + } + $6 = $7 >>> $$0; + $8 = (32 - ($$0))|0; + $9 = $10 << $8; + $11 = $9 | $6; + HEAP32[$0>>2] = $11; + $12 = $10 >>> $$0; + HEAP32[$3>>2] = $12; + return; +} +function _trinkle($0,$1,$2,$3,$4,$5,$6) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + $6 = $6|0; + var $$0$lcssa = 0, $$045$lcssa = 0, $$04551 = 0, $$0455780 = 0, $$046$lcssa = 0, $$04653 = 0, $$0465681 = 0, $$047$lcssa = 0, $$0475582 = 0, $$049 = 0, $$05879 = 0, $$05879$phi = 0, $$pre = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0; + var $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0; + var $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $phitmp = 0, label = 0; + var sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 240|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(240|0); + $7 = sp + 232|0; + $8 = sp; + $9 = HEAP32[$3>>2]|0; + HEAP32[$7>>2] = $9; + $10 = ((($3)) + 4|0); + $11 = HEAP32[$10>>2]|0; + $12 = ((($7)) + 4|0); + HEAP32[$12>>2] = $11; + HEAP32[$8>>2] = $0; + $13 = ($9|0)!=(1); + $14 = ($11|0)!=(0); + $15 = $13 | $14; + L1: do { + if ($15) { + $16 = (0 - ($1))|0; + $17 = (($6) + ($4<<2)|0); + $18 = HEAP32[$17>>2]|0; + $19 = (0 - ($18))|0; + $20 = (($0) + ($19)|0); + $21 = (FUNCTION_TABLE_iii[$2 & 7]($20,$0)|0); + $22 = ($21|0)<(1); + if ($22) { + $$0$lcssa = $0;$$045$lcssa = 1;$$046$lcssa = $4;$$047$lcssa = $5; + label = 9; + } else { + $phitmp = ($5|0)==(0); + $$0455780 = 1;$$0465681 = $4;$$0475582 = $phitmp;$$05879 = $0;$28 = $20; + while(1) { + $23 = ($$0465681|0)>(1); + $or$cond = $$0475582 & $23; + if ($or$cond) { + $24 = (($$05879) + ($16)|0); + $25 = (($$0465681) + -2)|0; + $26 = (($6) + ($25<<2)|0); + $27 = HEAP32[$26>>2]|0; + $29 = (FUNCTION_TABLE_iii[$2 & 7]($24,$28)|0); + $30 = ($29|0)>(-1); + if ($30) { + $$04551 = $$0455780;$$04653 = $$0465681;$$049 = $$05879; + label = 10; + break L1; + } + $31 = (0 - ($27))|0; + $32 = (($24) + ($31)|0); + $33 = (FUNCTION_TABLE_iii[$2 & 7]($32,$28)|0); + $34 = ($33|0)>(-1); + if ($34) { + $$04551 = $$0455780;$$04653 = $$0465681;$$049 = $$05879; + label = 10; + break L1; + } + } + $35 = (($$0455780) + 1)|0; + $36 = (($8) + ($$0455780<<2)|0); + HEAP32[$36>>2] = $28; + $37 = (_pntz($7)|0); + _shr($7,$37); + $38 = (($37) + ($$0465681))|0; + $39 = HEAP32[$7>>2]|0; + $40 = ($39|0)!=(1); + $41 = HEAP32[$12>>2]|0; + $42 = ($41|0)!=(0); + $43 = $40 | $42; + if (!($43)) { + $$04551 = $35;$$04653 = $38;$$049 = $28; + label = 10; + break L1; + } + $$pre = HEAP32[$8>>2]|0; + $44 = (($6) + ($38<<2)|0); + $45 = HEAP32[$44>>2]|0; + $46 = (0 - ($45))|0; + $47 = (($28) + ($46)|0); + $48 = (FUNCTION_TABLE_iii[$2 & 7]($47,$$pre)|0); + $49 = ($48|0)<(1); + if ($49) { + $$0$lcssa = $28;$$045$lcssa = $35;$$046$lcssa = $38;$$047$lcssa = 0; + label = 9; + break; + } else { + $$05879$phi = $28;$$0455780 = $35;$$0465681 = $38;$$0475582 = 1;$28 = $47;$$05879 = $$05879$phi; + } + } + } + } else { + $$0$lcssa = $0;$$045$lcssa = 1;$$046$lcssa = $4;$$047$lcssa = $5; + label = 9; + } + } while(0); + if ((label|0) == 9) { + $50 = ($$047$lcssa|0)==(0); + if ($50) { + $$04551 = $$045$lcssa;$$04653 = $$046$lcssa;$$049 = $$0$lcssa; + label = 10; + } + } + if ((label|0) == 10) { + _cycle($1,$8,$$04551); + _sift($$049,$1,$2,$$04653,$6); + } + STACKTOP = sp;return; +} +function _shl($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $$pre = 0, $$pre11 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ($1>>>0)>(31); + $3 = ((($0)) + 4|0); + if ($2) { + $4 = (($1) + -32)|0; + $5 = HEAP32[$0>>2]|0; + HEAP32[$3>>2] = $5; + HEAP32[$0>>2] = 0; + $$0 = $4;$10 = 0;$7 = $5; + } else { + $$pre = HEAP32[$3>>2]|0; + $$pre11 = HEAP32[$0>>2]|0; + $$0 = $1;$10 = $$pre11;$7 = $$pre; + } + $6 = $7 << $$0; + $8 = (32 - ($$0))|0; + $9 = $10 >>> $8; + $11 = $9 | $6; + HEAP32[$3>>2] = $11; + $12 = $10 << $$0; + HEAP32[$0>>2] = $12; + return; +} +function _pntz($0) { + $0 = $0|0; + var $$ = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP32[$0>>2]|0; + $2 = (($1) + -1)|0; + $3 = (_a_ctz_l_763($2)|0); + $4 = ($3|0)==(0); + if ($4) { + $5 = ((($0)) + 4|0); + $6 = HEAP32[$5>>2]|0; + $7 = (_a_ctz_l_763($6)|0); + $8 = (($7) + 32)|0; + $9 = ($7|0)==(0); + $$ = $9 ? 0 : $8; + return ($$|0); + } else { + return ($3|0); + } + return (0)|0; +} +function _a_ctz_l_763($0) { + $0 = $0|0; + var $$068 = 0, $$07 = 0, $$09 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ($0|0)==(0); + if ($1) { + $$07 = 32; + } else { + $2 = $0 & 1; + $3 = ($2|0)==(0); + if ($3) { + $$068 = $0;$$09 = 0; + while(1) { + $4 = (($$09) + 1)|0; + $5 = $$068 >>> 1; + $6 = $5 & 1; + $7 = ($6|0)==(0); + if ($7) { + $$068 = $5;$$09 = $4; + } else { + $$07 = $4; + break; + } + } + } else { + $$07 = 0; + } + } + return ($$07|0); +} +function _cycle($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$02527 = 0, $$026 = 0, $$pre = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; + var $exitcond = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0); + $3 = sp; + $4 = ($2|0)<(2); + L1: do { + if (!($4)) { + $5 = (($1) + ($2<<2)|0); + HEAP32[$5>>2] = $3; + $6 = ($0|0)==(0); + if (!($6)) { + $$02527 = $0;$10 = $3; + while(1) { + $7 = ($$02527>>>0)<(256); + $8 = $7 ? $$02527 : 256; + $9 = HEAP32[$1>>2]|0; + _memcpy(($10|0),($9|0),($8|0))|0; + $$026 = 0; + while(1) { + $11 = (($1) + ($$026<<2)|0); + $12 = HEAP32[$11>>2]|0; + $13 = (($$026) + 1)|0; + $14 = (($1) + ($13<<2)|0); + $15 = HEAP32[$14>>2]|0; + _memcpy(($12|0),($15|0),($8|0))|0; + $16 = HEAP32[$11>>2]|0; + $17 = (($16) + ($8)|0); + HEAP32[$11>>2] = $17; + $exitcond = ($13|0)==($2|0); + if ($exitcond) { + break; + } else { + $$026 = $13; + } + } + $18 = (($$02527) - ($8))|0; + $19 = ($18|0)==(0); + if ($19) { + break L1; + } + $$pre = HEAP32[$5>>2]|0; + $$02527 = $18;$10 = $$pre; + } + } + } + } while(0); + STACKTOP = sp;return; +} +function _scalbn($0,$1) { + $0 = +$0; + $1 = $1|0; + var $$ = 0, $$$ = 0, $$0 = 0.0, $$020 = 0, $$1 = 0, $$1$ = 0, $$21 = 0.0, $$22 = 0.0, $10 = 0.0, $11 = 0, $12 = 0, $13 = 0.0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0.0, $2 = 0, $20 = 0.0; + var $3 = 0.0, $4 = 0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ($1|0)>(1023); + if ($2) { + $3 = $0 * 8.9884656743115795E+307; + $4 = (($1) + -1023)|0; + $5 = ($4|0)>(1023); + $6 = $3 * 8.9884656743115795E+307; + $7 = (($1) + -2046)|0; + $8 = ($7|0)<(1023); + $$ = $8 ? $7 : 1023; + $$$ = $5 ? $$ : $4; + $$21 = $5 ? $6 : $3; + $$0 = $$21;$$020 = $$$; + } else { + $9 = ($1|0)<(-1022); + if ($9) { + $10 = $0 * 2.2250738585072014E-308; + $11 = (($1) + 1022)|0; + $12 = ($11|0)<(-1022); + $13 = $10 * 2.2250738585072014E-308; + $14 = (($1) + 2044)|0; + $15 = ($14|0)>(-1022); + $$1 = $15 ? $14 : -1022; + $$1$ = $12 ? $$1 : $11; + $$22 = $12 ? $13 : $10; + $$0 = $$22;$$020 = $$1$; + } else { + $$0 = $0;$$020 = $1; + } + } + $16 = (($$020) + 1023)|0; + $17 = (_bitshift64Shl(($16|0),0,52)|0); + $18 = tempRet0; + HEAP32[tempDoublePtr>>2] = $17;HEAP32[tempDoublePtr+4>>2] = $18;$19 = +HEAPF64[tempDoublePtr>>3]; + $20 = $$0 * $19; + return (+$20); +} +function _strlen($0) { + $0 = $0|0; + var $$0 = 0, $$015$lcssa = 0, $$01519 = 0, $$1$lcssa = 0, $$pn = 0, $$pre = 0, $$sink = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0; + var $21 = 0, $22 = 0, $23 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = $0; + $2 = $1 & 3; + $3 = ($2|0)==(0); + L1: do { + if ($3) { + $$015$lcssa = $0; + label = 4; + } else { + $$01519 = $0;$23 = $1; + while(1) { + $4 = HEAP8[$$01519>>0]|0; + $5 = ($4<<24>>24)==(0); + if ($5) { + $$sink = $23; + break L1; + } + $6 = ((($$01519)) + 1|0); + $7 = $6; + $8 = $7 & 3; + $9 = ($8|0)==(0); + if ($9) { + $$015$lcssa = $6; + label = 4; + break; + } else { + $$01519 = $6;$23 = $7; + } + } + } + } while(0); + if ((label|0) == 4) { + $$0 = $$015$lcssa; + while(1) { + $10 = HEAP32[$$0>>2]|0; + $11 = (($10) + -16843009)|0; + $12 = $10 & -2139062144; + $13 = $12 ^ -2139062144; + $14 = $13 & $11; + $15 = ($14|0)==(0); + $16 = ((($$0)) + 4|0); + if ($15) { + $$0 = $16; + } else { + break; + } + } + $17 = $10&255; + $18 = ($17<<24>>24)==(0); + if ($18) { + $$1$lcssa = $$0; + } else { + $$pn = $$0; + while(1) { + $19 = ((($$pn)) + 1|0); + $$pre = HEAP8[$19>>0]|0; + $20 = ($$pre<<24>>24)==(0); + if ($20) { + $$1$lcssa = $19; + break; + } else { + $$pn = $19; + } + } + } + $21 = $$1$lcssa; + $$sink = $21; + } + $22 = (($$sink) - ($1))|0; + return ($22|0); +} +function _strchr($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = (___strchrnul($0,$1)|0); + $3 = HEAP8[$2>>0]|0; + $4 = $1&255; + $5 = ($3<<24>>24)==($4<<24>>24); + $6 = $5 ? $2 : 0; + return ($6|0); +} +function ___strchrnul($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $$029$lcssa = 0, $$02936 = 0, $$030$lcssa = 0, $$03039 = 0, $$1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0; + var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0; + var $41 = 0, $42 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond33 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = $1 & 255; + $3 = ($2|0)==(0); + L1: do { + if ($3) { + $8 = (_strlen($0)|0); + $9 = (($0) + ($8)|0); + $$0 = $9; + } else { + $4 = $0; + $5 = $4 & 3; + $6 = ($5|0)==(0); + if ($6) { + $$030$lcssa = $0; + } else { + $7 = $1&255; + $$03039 = $0; + while(1) { + $10 = HEAP8[$$03039>>0]|0; + $11 = ($10<<24>>24)==(0); + $12 = ($10<<24>>24)==($7<<24>>24); + $or$cond = $11 | $12; + if ($or$cond) { + $$0 = $$03039; + break L1; + } + $13 = ((($$03039)) + 1|0); + $14 = $13; + $15 = $14 & 3; + $16 = ($15|0)==(0); + if ($16) { + $$030$lcssa = $13; + break; + } else { + $$03039 = $13; + } + } + } + $17 = Math_imul($2, 16843009)|0; + $18 = HEAP32[$$030$lcssa>>2]|0; + $19 = (($18) + -16843009)|0; + $20 = $18 & -2139062144; + $21 = $20 ^ -2139062144; + $22 = $21 & $19; + $23 = ($22|0)==(0); + L10: do { + if ($23) { + $$02936 = $$030$lcssa;$25 = $18; + while(1) { + $24 = $25 ^ $17; + $26 = (($24) + -16843009)|0; + $27 = $24 & -2139062144; + $28 = $27 ^ -2139062144; + $29 = $28 & $26; + $30 = ($29|0)==(0); + if (!($30)) { + $$029$lcssa = $$02936; + break L10; + } + $31 = ((($$02936)) + 4|0); + $32 = HEAP32[$31>>2]|0; + $33 = (($32) + -16843009)|0; + $34 = $32 & -2139062144; + $35 = $34 ^ -2139062144; + $36 = $35 & $33; + $37 = ($36|0)==(0); + if ($37) { + $$02936 = $31;$25 = $32; + } else { + $$029$lcssa = $31; + break; + } + } + } else { + $$029$lcssa = $$030$lcssa; + } + } while(0); + $38 = $1&255; + $$1 = $$029$lcssa; + while(1) { + $39 = HEAP8[$$1>>0]|0; + $40 = ($39<<24>>24)==(0); + $41 = ($39<<24>>24)==($38<<24>>24); + $or$cond33 = $40 | $41; + $42 = ((($$1)) + 1|0); + if ($or$cond33) { + $$0 = $$1; + break; + } else { + $$1 = $42; + } + } + } + } while(0); + return ($$0|0); +} +function _strcpy($0,$1) { + $0 = $0|0; + $1 = $1|0; + var label = 0, sp = 0; + sp = STACKTOP; + (___stpcpy($0,$1)|0); + return ($0|0); +} +function ___stpcpy($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0$lcssa = 0, $$025$lcssa = 0, $$02536 = 0, $$026$lcssa = 0, $$02642 = 0, $$027$lcssa = 0, $$02741 = 0, $$029 = 0, $$037 = 0, $$1$ph = 0, $$128$ph = 0, $$12834 = 0, $$135 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0; + var $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0; + var $35 = 0, $36 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = $1; + $3 = $0; + $4 = $2 ^ $3; + $5 = $4 & 3; + $6 = ($5|0)==(0); + L1: do { + if ($6) { + $7 = $2 & 3; + $8 = ($7|0)==(0); + if ($8) { + $$026$lcssa = $1;$$027$lcssa = $0; + } else { + $$02642 = $1;$$02741 = $0; + while(1) { + $9 = HEAP8[$$02642>>0]|0; + HEAP8[$$02741>>0] = $9; + $10 = ($9<<24>>24)==(0); + if ($10) { + $$029 = $$02741; + break L1; + } + $11 = ((($$02642)) + 1|0); + $12 = ((($$02741)) + 1|0); + $13 = $11; + $14 = $13 & 3; + $15 = ($14|0)==(0); + if ($15) { + $$026$lcssa = $11;$$027$lcssa = $12; + break; + } else { + $$02642 = $11;$$02741 = $12; + } + } + } + $16 = HEAP32[$$026$lcssa>>2]|0; + $17 = (($16) + -16843009)|0; + $18 = $16 & -2139062144; + $19 = $18 ^ -2139062144; + $20 = $19 & $17; + $21 = ($20|0)==(0); + if ($21) { + $$02536 = $$027$lcssa;$$037 = $$026$lcssa;$24 = $16; + while(1) { + $22 = ((($$037)) + 4|0); + $23 = ((($$02536)) + 4|0); + HEAP32[$$02536>>2] = $24; + $25 = HEAP32[$22>>2]|0; + $26 = (($25) + -16843009)|0; + $27 = $25 & -2139062144; + $28 = $27 ^ -2139062144; + $29 = $28 & $26; + $30 = ($29|0)==(0); + if ($30) { + $$02536 = $23;$$037 = $22;$24 = $25; + } else { + $$0$lcssa = $22;$$025$lcssa = $23; + break; + } + } + } else { + $$0$lcssa = $$026$lcssa;$$025$lcssa = $$027$lcssa; + } + $$1$ph = $$0$lcssa;$$128$ph = $$025$lcssa; + label = 8; + } else { + $$1$ph = $1;$$128$ph = $0; + label = 8; + } + } while(0); + if ((label|0) == 8) { + $31 = HEAP8[$$1$ph>>0]|0; + HEAP8[$$128$ph>>0] = $31; + $32 = ($31<<24>>24)==(0); + if ($32) { + $$029 = $$128$ph; + } else { + $$12834 = $$128$ph;$$135 = $$1$ph; + while(1) { + $33 = ((($$135)) + 1|0); + $34 = ((($$12834)) + 1|0); + $35 = HEAP8[$33>>0]|0; + HEAP8[$34>>0] = $35; + $36 = ($35<<24>>24)==(0); + if ($36) { + $$029 = $34; + break; + } else { + $$12834 = $34;$$135 = $33; + } + } + } + } + return ($$029|0); +} +function _ldexp($0,$1) { + $0 = +$0; + $1 = $1|0; + var $2 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = (+_scalbn($0,$1)); + return (+$2); +} +function _fwrite($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$ = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $phitmp = 0, label = 0, sp = 0; + sp = STACKTOP; + $4 = Math_imul($2, $1)|0; + $5 = ($1|0)==(0); + $$ = $5 ? 0 : $2; + $6 = ((($3)) + 76|0); + $7 = HEAP32[$6>>2]|0; + $8 = ($7|0)>(-1); + if ($8) { + $10 = (___lockfile($3)|0); + $phitmp = ($10|0)==(0); + $11 = (___fwritex($0,$4,$3)|0); + if ($phitmp) { + $13 = $11; + } else { + ___unlockfile($3); + $13 = $11; + } + } else { + $9 = (___fwritex($0,$4,$3)|0); + $13 = $9; + } + $12 = ($13|0)==($4|0); + if ($12) { + $15 = $$; + } else { + $14 = (($13>>>0) / ($1>>>0))&-1; + $15 = $14; + } + return ($15|0); +} +function ___unlist_locked_file($0) { + $0 = $0|0; + var $$pre = 0, $$sink = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 68|0); + $2 = HEAP32[$1>>2]|0; + $3 = ($2|0)==(0); + if (!($3)) { + $4 = ((($0)) + 116|0); + $5 = HEAP32[$4>>2]|0; + $6 = ($5|0)==(0|0); + $$pre = ((($0)) + 112|0); + if (!($6)) { + $7 = HEAP32[$$pre>>2]|0; + $8 = ((($5)) + 112|0); + HEAP32[$8>>2] = $7; + } + $9 = HEAP32[$$pre>>2]|0; + $10 = ($9|0)==(0|0); + if ($10) { + $12 = (___pthread_self_607()|0); + $13 = ((($12)) + 232|0); + $$sink = $13; + } else { + $11 = ((($9)) + 116|0); + $$sink = $11; + } + HEAP32[$$sink>>2] = $5; + } + return; +} +function ___pthread_self_607() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (_pthread_self()|0); + return ($0|0); +} +function _fopen($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $memchr = 0, $vararg_buffer = 0, $vararg_buffer3 = 0, $vararg_buffer8 = 0, $vararg_ptr1 = 0; + var $vararg_ptr2 = 0, $vararg_ptr6 = 0, $vararg_ptr7 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0); + $vararg_buffer8 = sp + 32|0; + $vararg_buffer3 = sp + 16|0; + $vararg_buffer = sp; + $2 = HEAP8[$1>>0]|0; + $3 = $2 << 24 >> 24; + $memchr = (_memchr(19654,$3,4)|0); + $4 = ($memchr|0)==(0|0); + if ($4) { + $5 = (___errno_location()|0); + HEAP32[$5>>2] = 22; + $$0 = 0; + } else { + $6 = (___fmodeflags($1)|0); + $7 = $0; + $8 = $6 | 32768; + HEAP32[$vararg_buffer>>2] = $7; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $8; + $vararg_ptr2 = ((($vararg_buffer)) + 8|0); + HEAP32[$vararg_ptr2>>2] = 438; + $9 = (___syscall5(5,($vararg_buffer|0))|0); + $10 = (___syscall_ret($9)|0); + $11 = ($10|0)<(0); + if ($11) { + $$0 = 0; + } else { + $12 = $6 & 524288; + $13 = ($12|0)==(0); + if (!($13)) { + HEAP32[$vararg_buffer3>>2] = $10; + $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); + HEAP32[$vararg_ptr6>>2] = 2; + $vararg_ptr7 = ((($vararg_buffer3)) + 8|0); + HEAP32[$vararg_ptr7>>2] = 1; + (___syscall221(221,($vararg_buffer3|0))|0); + } + $14 = (___fdopen($10,$1)|0); + $15 = ($14|0)==(0|0); + if ($15) { + HEAP32[$vararg_buffer8>>2] = $10; + (___syscall6(6,($vararg_buffer8|0))|0); + $$0 = 0; + } else { + $$0 = $14; + } + } + } + STACKTOP = sp;return ($$0|0); +} +function ___fmodeflags($0) { + $0 = $0|0; + var $$ = 0, $$$4 = 0, $$0 = 0, $$0$ = 0, $$2 = 0, $$2$ = 0, $$4 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; + var $8 = 0, $9 = 0, $not$ = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (_strchr($0,43)|0); + $2 = ($1|0)==(0|0); + $3 = HEAP8[$0>>0]|0; + $not$ = ($3<<24>>24)!=(114); + $$ = $not$&1; + $$0 = $2 ? $$ : 2; + $4 = (_strchr($0,120)|0); + $5 = ($4|0)==(0|0); + $6 = $$0 | 128; + $$0$ = $5 ? $$0 : $6; + $7 = (_strchr($0,101)|0); + $8 = ($7|0)==(0|0); + $9 = $$0$ | 524288; + $$2 = $8 ? $$0$ : $9; + $10 = ($3<<24>>24)==(114); + $11 = $$2 | 64; + $$2$ = $10 ? $$2 : $11; + $12 = ($3<<24>>24)==(119); + $13 = $$2$ | 512; + $$4 = $12 ? $13 : $$2$; + $14 = ($3<<24>>24)==(97); + $15 = $$4 | 1024; + $$$4 = $14 ? $15 : $$4; + return ($$$4|0); +} +function ___fdopen($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $$pre = 0, $$pre31 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; + var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $5 = 0, $6 = 0; + var $7 = 0, $8 = 0, $9 = 0, $memchr = 0, $vararg_buffer = 0, $vararg_buffer12 = 0, $vararg_buffer3 = 0, $vararg_buffer7 = 0, $vararg_ptr1 = 0, $vararg_ptr10 = 0, $vararg_ptr11 = 0, $vararg_ptr15 = 0, $vararg_ptr16 = 0, $vararg_ptr2 = 0, $vararg_ptr6 = 0, dest = 0, label = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $vararg_buffer12 = sp + 40|0; + $vararg_buffer7 = sp + 24|0; + $vararg_buffer3 = sp + 16|0; + $vararg_buffer = sp; + $2 = sp + 56|0; + $3 = HEAP8[$1>>0]|0; + $4 = $3 << 24 >> 24; + $memchr = (_memchr(19654,$4,4)|0); + $5 = ($memchr|0)==(0|0); + if ($5) { + $6 = (___errno_location()|0); + HEAP32[$6>>2] = 22; + $$0 = 0; + } else { + $7 = (_malloc(1156)|0); + $8 = ($7|0)==(0|0); + if ($8) { + $$0 = 0; + } else { + dest=$7; stop=dest+124|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + $9 = (_strchr($1,43)|0); + $10 = ($9|0)==(0|0); + if ($10) { + $11 = ($3<<24>>24)==(114); + $12 = $11 ? 8 : 4; + HEAP32[$7>>2] = $12; + } + $13 = (_strchr($1,101)|0); + $14 = ($13|0)==(0|0); + if ($14) { + $16 = $3; + } else { + HEAP32[$vararg_buffer>>2] = $0; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = 2; + $vararg_ptr2 = ((($vararg_buffer)) + 8|0); + HEAP32[$vararg_ptr2>>2] = 1; + (___syscall221(221,($vararg_buffer|0))|0); + $$pre = HEAP8[$1>>0]|0; + $16 = $$pre; + } + $15 = ($16<<24>>24)==(97); + if ($15) { + HEAP32[$vararg_buffer3>>2] = $0; + $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); + HEAP32[$vararg_ptr6>>2] = 3; + $17 = (___syscall221(221,($vararg_buffer3|0))|0); + $18 = $17 & 1024; + $19 = ($18|0)==(0); + if ($19) { + $20 = $17 | 1024; + HEAP32[$vararg_buffer7>>2] = $0; + $vararg_ptr10 = ((($vararg_buffer7)) + 4|0); + HEAP32[$vararg_ptr10>>2] = 4; + $vararg_ptr11 = ((($vararg_buffer7)) + 8|0); + HEAP32[$vararg_ptr11>>2] = $20; + (___syscall221(221,($vararg_buffer7|0))|0); + } + $21 = HEAP32[$7>>2]|0; + $22 = $21 | 128; + HEAP32[$7>>2] = $22; + $29 = $22; + } else { + $$pre31 = HEAP32[$7>>2]|0; + $29 = $$pre31; + } + $23 = ((($7)) + 60|0); + HEAP32[$23>>2] = $0; + $24 = ((($7)) + 132|0); + $25 = ((($7)) + 44|0); + HEAP32[$25>>2] = $24; + $26 = ((($7)) + 48|0); + HEAP32[$26>>2] = 1024; + $27 = ((($7)) + 75|0); + HEAP8[$27>>0] = -1; + $28 = $29 & 8; + $30 = ($28|0)==(0); + if ($30) { + $31 = $2; + HEAP32[$vararg_buffer12>>2] = $0; + $vararg_ptr15 = ((($vararg_buffer12)) + 4|0); + HEAP32[$vararg_ptr15>>2] = 21523; + $vararg_ptr16 = ((($vararg_buffer12)) + 8|0); + HEAP32[$vararg_ptr16>>2] = $31; + $32 = (___syscall54(54,($vararg_buffer12|0))|0); + $33 = ($32|0)==(0); + if ($33) { + HEAP8[$27>>0] = 10; + } + } + $34 = ((($7)) + 32|0); + HEAP32[$34>>2] = 10; + $35 = ((($7)) + 36|0); + HEAP32[$35>>2] = 1; + $36 = ((($7)) + 40|0); + HEAP32[$36>>2] = 2; + $37 = ((($7)) + 12|0); + HEAP32[$37>>2] = 1; + $38 = HEAP32[(24408)>>2]|0; + $39 = ($38|0)==(0); + if ($39) { + $40 = ((($7)) + 76|0); + HEAP32[$40>>2] = -1; + } + $41 = (___ofl_add($7)|0); + $$0 = $7; + } + } + STACKTOP = sp;return ($$0|0); +} +function ___ofl_add($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (___ofl_lock()|0); + $2 = HEAP32[$1>>2]|0; + $3 = ((($0)) + 56|0); + HEAP32[$3>>2] = $2; + $4 = HEAP32[$1>>2]|0; + $5 = ($4|0)==(0|0); + if (!($5)) { + $6 = ((($4)) + 52|0); + HEAP32[$6>>2] = $0; + } + HEAP32[$1>>2] = $0; + ___ofl_unlock(); + return ($0|0); +} +function ___ofl_lock() { + var label = 0, sp = 0; + sp = STACKTOP; + ___lock((24468|0)); + return (24476|0); +} +function ___ofl_unlock() { + var label = 0, sp = 0; + sp = STACKTOP; + ___unlock((24468|0)); + return; +} +function _fclose($0) { + $0 = $0|0; + var $$pre = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 76|0); + $2 = HEAP32[$1>>2]|0; + $3 = ($2|0)>(-1); + if ($3) { + $4 = (___lockfile($0)|0); + $29 = $4; + } else { + $29 = 0; + } + ___unlist_locked_file($0); + $5 = HEAP32[$0>>2]|0; + $6 = $5 & 1; + $7 = ($6|0)!=(0); + if (!($7)) { + $8 = (___ofl_lock()|0); + $9 = ((($0)) + 52|0); + $10 = HEAP32[$9>>2]|0; + $11 = ($10|0)==(0|0); + $12 = $10; + $$pre = ((($0)) + 56|0); + if (!($11)) { + $13 = HEAP32[$$pre>>2]|0; + $14 = ((($10)) + 56|0); + HEAP32[$14>>2] = $13; + } + $15 = HEAP32[$$pre>>2]|0; + $16 = ($15|0)==(0|0); + if (!($16)) { + $17 = ((($15)) + 52|0); + HEAP32[$17>>2] = $12; + } + $18 = HEAP32[$8>>2]|0; + $19 = ($18|0)==($0|0); + if ($19) { + HEAP32[$8>>2] = $15; + } + ___ofl_unlock(); + } + $20 = (_fflush($0)|0); + $21 = ((($0)) + 12|0); + $22 = HEAP32[$21>>2]|0; + $23 = (FUNCTION_TABLE_ii[$22 & 15]($0)|0); + $24 = $23 | $20; + $25 = ((($0)) + 92|0); + $26 = HEAP32[$25>>2]|0; + $27 = ($26|0)==(0|0); + if (!($27)) { + _free($26); + } + if ($7) { + $28 = ($29|0)==(0); + if (!($28)) { + ___unlockfile($0); + } + } else { + _free($0); + } + return ($24|0); +} +function _fflush($0) { + $0 = $0|0; + var $$0 = 0, $$023 = 0, $$02325 = 0, $$02327 = 0, $$024$lcssa = 0, $$02426 = 0, $$1 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0; + var $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $phitmp = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ($0|0)==(0|0); + do { + if ($1) { + $8 = HEAP32[1301]|0; + $9 = ($8|0)==(0|0); + if ($9) { + $29 = 0; + } else { + $10 = HEAP32[1301]|0; + $11 = (_fflush($10)|0); + $29 = $11; + } + $12 = (___ofl_lock()|0); + $$02325 = HEAP32[$12>>2]|0; + $13 = ($$02325|0)==(0|0); + if ($13) { + $$024$lcssa = $29; + } else { + $$02327 = $$02325;$$02426 = $29; + while(1) { + $14 = ((($$02327)) + 76|0); + $15 = HEAP32[$14>>2]|0; + $16 = ($15|0)>(-1); + if ($16) { + $17 = (___lockfile($$02327)|0); + $26 = $17; + } else { + $26 = 0; + } + $18 = ((($$02327)) + 20|0); + $19 = HEAP32[$18>>2]|0; + $20 = ((($$02327)) + 28|0); + $21 = HEAP32[$20>>2]|0; + $22 = ($19>>>0)>($21>>>0); + if ($22) { + $23 = (___fflush_unlocked($$02327)|0); + $24 = $23 | $$02426; + $$1 = $24; + } else { + $$1 = $$02426; + } + $25 = ($26|0)==(0); + if (!($25)) { + ___unlockfile($$02327); + } + $27 = ((($$02327)) + 56|0); + $$023 = HEAP32[$27>>2]|0; + $28 = ($$023|0)==(0|0); + if ($28) { + $$024$lcssa = $$1; + break; + } else { + $$02327 = $$023;$$02426 = $$1; + } + } + } + ___ofl_unlock(); + $$0 = $$024$lcssa; + } else { + $2 = ((($0)) + 76|0); + $3 = HEAP32[$2>>2]|0; + $4 = ($3|0)>(-1); + if (!($4)) { + $5 = (___fflush_unlocked($0)|0); + $$0 = $5; + break; + } + $6 = (___lockfile($0)|0); + $phitmp = ($6|0)==(0); + $7 = (___fflush_unlocked($0)|0); + if ($phitmp) { + $$0 = $7; + } else { + ___unlockfile($0); + $$0 = $7; + } + } + } while(0); + return ($$0|0); +} +function ___fflush_unlocked($0) { + $0 = $0|0; + var $$0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 20|0); + $2 = HEAP32[$1>>2]|0; + $3 = ((($0)) + 28|0); + $4 = HEAP32[$3>>2]|0; + $5 = ($2>>>0)>($4>>>0); + if ($5) { + $6 = ((($0)) + 36|0); + $7 = HEAP32[$6>>2]|0; + (FUNCTION_TABLE_iiii[$7 & 15]($0,0,0)|0); + $8 = HEAP32[$1>>2]|0; + $9 = ($8|0)==(0|0); + if ($9) { + $$0 = -1; + } else { + label = 3; + } + } else { + label = 3; + } + if ((label|0) == 3) { + $10 = ((($0)) + 4|0); + $11 = HEAP32[$10>>2]|0; + $12 = ((($0)) + 8|0); + $13 = HEAP32[$12>>2]|0; + $14 = ($11>>>0)<($13>>>0); + if ($14) { + $15 = $11; + $16 = $13; + $17 = (($15) - ($16))|0; + $18 = ((($0)) + 40|0); + $19 = HEAP32[$18>>2]|0; + (FUNCTION_TABLE_iiii[$19 & 15]($0,$17,1)|0); + } + $20 = ((($0)) + 16|0); + HEAP32[$20>>2] = 0; + HEAP32[$3>>2] = 0; + HEAP32[$1>>2] = 0; + HEAP32[$12>>2] = 0; + HEAP32[$10>>2] = 0; + $$0 = 0; + } + return ($$0|0); +} +function _fseek($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = (___fseeko($0,$1,$2)|0); + return ($3|0); +} +function _fprintf($0,$1,$varargs) { + $0 = $0|0; + $1 = $1|0; + $varargs = $varargs|0; + var $2 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $2 = sp; + HEAP32[$2>>2] = $varargs; + $3 = (_vfprintf($0,$1,$2)|0); + STACKTOP = sp;return ($3|0); +} +function ___fseeko($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $phitmp = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ((($0)) + 76|0); + $4 = HEAP32[$3>>2]|0; + $5 = ($4|0)>(-1); + if ($5) { + $7 = (___lockfile($0)|0); + $phitmp = ($7|0)==(0); + $8 = (___fseeko_unlocked($0,$1,$2)|0); + if ($phitmp) { + $9 = $8; + } else { + ___unlockfile($0); + $9 = $8; + } + } else { + $6 = (___fseeko_unlocked($0,$1,$2)|0); + $9 = $6; + } + return ($9|0); +} +function ___fseeko_unlocked($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$0 = 0, $$019 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ($2|0)==(1); + if ($3) { + $4 = ((($0)) + 8|0); + $5 = HEAP32[$4>>2]|0; + $6 = ((($0)) + 4|0); + $7 = HEAP32[$6>>2]|0; + $8 = (($1) - ($5))|0; + $9 = (($8) + ($7))|0; + $$019 = $9; + } else { + $$019 = $1; + } + $10 = ((($0)) + 20|0); + $11 = HEAP32[$10>>2]|0; + $12 = ((($0)) + 28|0); + $13 = HEAP32[$12>>2]|0; + $14 = ($11>>>0)>($13>>>0); + if ($14) { + $15 = ((($0)) + 36|0); + $16 = HEAP32[$15>>2]|0; + (FUNCTION_TABLE_iiii[$16 & 15]($0,0,0)|0); + $17 = HEAP32[$10>>2]|0; + $18 = ($17|0)==(0|0); + if ($18) { + $$0 = -1; + } else { + label = 5; + } + } else { + label = 5; + } + if ((label|0) == 5) { + $19 = ((($0)) + 16|0); + HEAP32[$19>>2] = 0; + HEAP32[$12>>2] = 0; + HEAP32[$10>>2] = 0; + $20 = ((($0)) + 40|0); + $21 = HEAP32[$20>>2]|0; + $22 = (FUNCTION_TABLE_iiii[$21 & 15]($0,$$019,$2)|0); + $23 = ($22|0)<(0); + if ($23) { + $$0 = -1; + } else { + $24 = ((($0)) + 8|0); + HEAP32[$24>>2] = 0; + $25 = ((($0)) + 4|0); + HEAP32[$25>>2] = 0; + $26 = HEAP32[$0>>2]|0; + $27 = $26 & -17; + HEAP32[$0>>2] = $27; + $$0 = 0; + } + } + return ($$0|0); +} +function _strstr($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; + var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = HEAP8[$1>>0]|0; + $3 = ($2<<24>>24)==(0); + do { + if ($3) { + $$0 = $0; + } else { + $4 = $2 << 24 >> 24; + $5 = (_strchr($0,$4)|0); + $6 = ($5|0)==(0|0); + if ($6) { + $$0 = 0; + } else { + $7 = ((($1)) + 1|0); + $8 = HEAP8[$7>>0]|0; + $9 = ($8<<24>>24)==(0); + if ($9) { + $$0 = $5; + } else { + $10 = ((($5)) + 1|0); + $11 = HEAP8[$10>>0]|0; + $12 = ($11<<24>>24)==(0); + if ($12) { + $$0 = 0; + } else { + $13 = ((($1)) + 2|0); + $14 = HEAP8[$13>>0]|0; + $15 = ($14<<24>>24)==(0); + if ($15) { + $16 = (_twobyte_strstr($5,$1)|0); + $$0 = $16; + break; + } + $17 = ((($5)) + 2|0); + $18 = HEAP8[$17>>0]|0; + $19 = ($18<<24>>24)==(0); + if ($19) { + $$0 = 0; + } else { + $20 = ((($1)) + 3|0); + $21 = HEAP8[$20>>0]|0; + $22 = ($21<<24>>24)==(0); + if ($22) { + $23 = (_threebyte_strstr($5,$1)|0); + $$0 = $23; + break; + } + $24 = ((($5)) + 3|0); + $25 = HEAP8[$24>>0]|0; + $26 = ($25<<24>>24)==(0); + if ($26) { + $$0 = 0; + } else { + $27 = ((($1)) + 4|0); + $28 = HEAP8[$27>>0]|0; + $29 = ($28<<24>>24)==(0); + if ($29) { + $30 = (_fourbyte_strstr($5,$1)|0); + $$0 = $30; + break; + } else { + $31 = (_twoway_strstr($5,$1)|0); + $$0 = $31; + break; + } + } + } + } + } + } + } + } while(0); + return ($$0|0); +} +function _twobyte_strstr($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$lcssa = 0, $$sink = 0, $$sink$in = 0, $$sink$masked = 0, $$sink17$sink = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; + var label = 0, sp = 0; + sp = STACKTOP; + $2 = HEAP8[$1>>0]|0; + $3 = $2&255; + $4 = $3 << 8; + $5 = ((($1)) + 1|0); + $6 = HEAP8[$5>>0]|0; + $7 = $6&255; + $8 = $4 | $7; + $9 = HEAP8[$0>>0]|0; + $10 = $9&255; + $$sink$in = $10;$$sink17$sink = $0; + while(1) { + $11 = ((($$sink17$sink)) + 1|0); + $12 = HEAP8[$11>>0]|0; + $13 = ($12<<24>>24)==(0); + if ($13) { + $$lcssa = 0; + break; + } + $$sink = $$sink$in << 8; + $14 = $12&255; + $$sink$masked = $$sink & 65280; + $15 = $14 | $$sink$masked; + $16 = ($15|0)==($8|0); + if ($16) { + $$lcssa = $$sink17$sink; + break; + } else { + $$sink$in = $15;$$sink17$sink = $11; + } + } + return ($$lcssa|0); +} +function _threebyte_strstr($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$016$lcssa = 0, $$01619 = 0, $$020 = 0, $$lcssa = 0, $$not = 0, $$not17 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0; + var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $4 = 0, $5 = 0, $6 = 0; + var $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond18 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = HEAP8[$1>>0]|0; + $3 = $2&255; + $4 = $3 << 24; + $5 = ((($1)) + 1|0); + $6 = HEAP8[$5>>0]|0; + $7 = $6&255; + $8 = $7 << 16; + $9 = $8 | $4; + $10 = ((($1)) + 2|0); + $11 = HEAP8[$10>>0]|0; + $12 = $11&255; + $13 = $12 << 8; + $14 = $9 | $13; + $15 = HEAP8[$0>>0]|0; + $16 = $15&255; + $17 = $16 << 24; + $18 = ((($0)) + 1|0); + $19 = HEAP8[$18>>0]|0; + $20 = $19&255; + $21 = $20 << 16; + $22 = $21 | $17; + $23 = ((($0)) + 2|0); + $24 = HEAP8[$23>>0]|0; + $25 = $24&255; + $26 = $25 << 8; + $27 = $22 | $26; + $28 = ($24<<24>>24)!=(0); + $$not17 = $28 ^ 1; + $29 = ($27|0)==($14|0); + $or$cond18 = $29 | $$not17; + if ($or$cond18) { + $$016$lcssa = $23;$$lcssa = $28; + } else { + $$01619 = $23;$$020 = $27; + while(1) { + $30 = ((($$01619)) + 1|0); + $31 = HEAP8[$30>>0]|0; + $32 = $31&255; + $33 = $32 | $$020; + $34 = $33 << 8; + $35 = ($31<<24>>24)!=(0); + $$not = $35 ^ 1; + $36 = ($34|0)==($14|0); + $or$cond = $36 | $$not; + if ($or$cond) { + $$016$lcssa = $30;$$lcssa = $35; + break; + } else { + $$01619 = $30;$$020 = $34; + } + } + } + $37 = ((($$016$lcssa)) + -2|0); + $38 = $$lcssa ? $37 : 0; + return ($38|0); +} +function _fourbyte_strstr($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$lcssa = 0, $$not = 0, $$not22 = 0, $$sink21$lcssa = 0, $$sink2124 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; + var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; + var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond23 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = HEAP8[$1>>0]|0; + $3 = $2&255; + $4 = $3 << 24; + $5 = ((($1)) + 1|0); + $6 = HEAP8[$5>>0]|0; + $7 = $6&255; + $8 = $7 << 16; + $9 = $8 | $4; + $10 = ((($1)) + 2|0); + $11 = HEAP8[$10>>0]|0; + $12 = $11&255; + $13 = $12 << 8; + $14 = $9 | $13; + $15 = ((($1)) + 3|0); + $16 = HEAP8[$15>>0]|0; + $17 = $16&255; + $18 = $14 | $17; + $19 = HEAP8[$0>>0]|0; + $20 = $19&255; + $21 = $20 << 24; + $22 = ((($0)) + 1|0); + $23 = HEAP8[$22>>0]|0; + $24 = $23&255; + $25 = $24 << 16; + $26 = $25 | $21; + $27 = ((($0)) + 2|0); + $28 = HEAP8[$27>>0]|0; + $29 = $28&255; + $30 = $29 << 8; + $31 = $26 | $30; + $32 = ((($0)) + 3|0); + $33 = HEAP8[$32>>0]|0; + $34 = $33&255; + $35 = $34 | $31; + $36 = ($33<<24>>24)!=(0); + $$not22 = $36 ^ 1; + $37 = ($35|0)==($18|0); + $or$cond23 = $37 | $$not22; + if ($or$cond23) { + $$lcssa = $36;$$sink21$lcssa = $32; + } else { + $$sink2124 = $32;$39 = $35; + while(1) { + $38 = $39 << 8; + $40 = ((($$sink2124)) + 1|0); + $41 = HEAP8[$40>>0]|0; + $42 = $41&255; + $43 = $42 | $38; + $44 = ($41<<24>>24)!=(0); + $$not = $44 ^ 1; + $45 = ($43|0)==($18|0); + $or$cond = $45 | $$not; + if ($or$cond) { + $$lcssa = $44;$$sink21$lcssa = $40; + break; + } else { + $$sink2124 = $40;$39 = $43; + } + } + } + $46 = ((($$sink21$lcssa)) + -3|0); + $47 = $$lcssa ? $46 : 0; + return ($47|0); +} +function _twoway_strstr($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0166 = 0, $$0168 = 0, $$0169 = 0, $$0169$be = 0, $$0170 = 0, $$0175$ph$ph$lcssa220 = 0, $$0175$ph$ph$lcssa220323 = 0, $$0175$ph$ph256 = 0, $$0179244 = 0, $$0183$ph200$ph255 = 0, $$0183$ph200250 = 0, $$0183$ph262 = 0, $$0185$ph$lcssa = 0, $$0185$ph$lcssa322 = 0, $$0185$ph261 = 0, $$0187$lcssa320321 = 0, $$0187266 = 0, $$1176$$0175 = 0, $$1176$ph$ph$lcssa211 = 0, $$1176$ph$ph235 = 0; + var $$1180224 = 0, $$1184$ph196$ph234 = 0, $$1184$ph196229 = 0, $$1184$ph241 = 0, $$1186$$0185 = 0, $$1186$$0185$ = 0, $$1186$ph$lcssa = 0, $$1186$ph240 = 0, $$2181 = 0, $$2181$sink = 0, $$3 = 0, $$3173 = 0, $$3178 = 0, $$3182223 = 0, $$4 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0; + var $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0; + var $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0; + var $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0; + var $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0; + var $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0; + var $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0; + var $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $cond = 0, $cond191 = 0, $cond191222 = 0, $cond265 = 0, $div = 0, $div188 = 0, $or$cond = 0, $or$cond190 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 1056|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1056|0); + $2 = sp + 1024|0; + $3 = sp; + ;HEAP32[$2>>2]=0|0;HEAP32[$2+4>>2]=0|0;HEAP32[$2+8>>2]=0|0;HEAP32[$2+12>>2]=0|0;HEAP32[$2+16>>2]=0|0;HEAP32[$2+20>>2]=0|0;HEAP32[$2+24>>2]=0|0;HEAP32[$2+28>>2]=0|0; + $4 = HEAP8[$1>>0]|0; + $cond265 = ($4<<24>>24)==(0); + L1: do { + if ($cond265) { + $$0175$ph$ph$lcssa220323 = 1;$$0185$ph$lcssa322 = -1;$$0187$lcssa320321 = 0;$$1176$ph$ph$lcssa211 = 1;$$1186$ph$lcssa = -1; + label = 27; + } else { + $5 = $4&255; + $$0187266 = 0;$12 = $4;$20 = $5; + while(1) { + $8 = (($0) + ($$0187266)|0); + $9 = HEAP8[$8>>0]|0; + $10 = ($9<<24>>24)==(0); + if ($10) { + $$3 = 0; + break L1; + } + $11 = $12 & 31; + $13 = $11&255; + $14 = 1 << $13; + $div188 = ($12&255) >>> 5; + $15 = $div188&255; + $16 = (($2) + ($15<<2)|0); + $17 = HEAP32[$16>>2]|0; + $18 = $17 | $14; + HEAP32[$16>>2] = $18; + $7 = (($$0187266) + 1)|0; + $19 = (($3) + ($20<<2)|0); + HEAP32[$19>>2] = $7; + $21 = (($1) + ($7)|0); + $22 = HEAP8[$21>>0]|0; + $23 = $22&255; + $cond = ($22<<24>>24)==(0); + if ($cond) { + break; + } else { + $$0187266 = $7;$12 = $22;$20 = $23; + } + } + $6 = ($7>>>0)>(1); + if ($6) { + $$0183$ph262 = 0;$$0185$ph261 = -1;$129 = 1; + L7: while(1) { + $$0175$ph$ph256 = 1;$$0183$ph200$ph255 = $$0183$ph262;$132 = $129; + while(1) { + $$0183$ph200250 = $$0183$ph200$ph255;$131 = $132; + L11: while(1) { + $$0179244 = 1;$31 = $131; + while(1) { + $27 = (($$0179244) + ($$0185$ph261))|0; + $28 = (($1) + ($27)|0); + $29 = HEAP8[$28>>0]|0; + $30 = (($1) + ($31)|0); + $32 = HEAP8[$30>>0]|0; + $33 = ($29<<24>>24)==($32<<24>>24); + if (!($33)) { + break L11; + } + $34 = ($$0179244|0)==($$0175$ph$ph256|0); + $25 = (($$0179244) + 1)|0; + if ($34) { + break; + } + $24 = (($25) + ($$0183$ph200250))|0; + $26 = ($24>>>0)<($7>>>0); + if ($26) { + $$0179244 = $25;$31 = $24; + } else { + $$0175$ph$ph$lcssa220 = $$0175$ph$ph256;$$0185$ph$lcssa = $$0185$ph261; + break L7; + } + } + $35 = (($$0175$ph$ph256) + ($$0183$ph200250))|0; + $36 = (($35) + 1)|0; + $37 = ($36>>>0)<($7>>>0); + if ($37) { + $$0183$ph200250 = $35;$131 = $36; + } else { + $$0175$ph$ph$lcssa220 = $$0175$ph$ph256;$$0185$ph$lcssa = $$0185$ph261; + break L7; + } + } + $38 = ($29&255)>($32&255); + $39 = (($31) - ($$0185$ph261))|0; + if (!($38)) { + break; + } + $43 = (($31) + 1)|0; + $44 = ($43>>>0)<($7>>>0); + if ($44) { + $$0175$ph$ph256 = $39;$$0183$ph200$ph255 = $31;$132 = $43; + } else { + $$0175$ph$ph$lcssa220 = $39;$$0185$ph$lcssa = $$0185$ph261; + break L7; + } + } + $40 = (($$0183$ph200250) + 1)|0; + $41 = (($$0183$ph200250) + 2)|0; + $42 = ($41>>>0)<($7>>>0); + if ($42) { + $$0183$ph262 = $40;$$0185$ph261 = $$0183$ph200250;$129 = $41; + } else { + $$0175$ph$ph$lcssa220 = 1;$$0185$ph$lcssa = $$0183$ph200250; + break; + } + } + if ($6) { + $$1184$ph241 = 0;$$1186$ph240 = -1;$130 = 1; + while(1) { + $$1176$ph$ph235 = 1;$$1184$ph196$ph234 = $$1184$ph241;$134 = $130; + while(1) { + $$1184$ph196229 = $$1184$ph196$ph234;$133 = $134; + L26: while(1) { + $$1180224 = 1;$52 = $133; + while(1) { + $48 = (($$1180224) + ($$1186$ph240))|0; + $49 = (($1) + ($48)|0); + $50 = HEAP8[$49>>0]|0; + $51 = (($1) + ($52)|0); + $53 = HEAP8[$51>>0]|0; + $54 = ($50<<24>>24)==($53<<24>>24); + if (!($54)) { + break L26; + } + $55 = ($$1180224|0)==($$1176$ph$ph235|0); + $46 = (($$1180224) + 1)|0; + if ($55) { + break; + } + $45 = (($46) + ($$1184$ph196229))|0; + $47 = ($45>>>0)<($7>>>0); + if ($47) { + $$1180224 = $46;$52 = $45; + } else { + $$0175$ph$ph$lcssa220323 = $$0175$ph$ph$lcssa220;$$0185$ph$lcssa322 = $$0185$ph$lcssa;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = $$1176$ph$ph235;$$1186$ph$lcssa = $$1186$ph240; + label = 27; + break L1; + } + } + $56 = (($$1176$ph$ph235) + ($$1184$ph196229))|0; + $57 = (($56) + 1)|0; + $58 = ($57>>>0)<($7>>>0); + if ($58) { + $$1184$ph196229 = $56;$133 = $57; + } else { + $$0175$ph$ph$lcssa220323 = $$0175$ph$ph$lcssa220;$$0185$ph$lcssa322 = $$0185$ph$lcssa;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = $$1176$ph$ph235;$$1186$ph$lcssa = $$1186$ph240; + label = 27; + break L1; + } + } + $59 = ($50&255)<($53&255); + $60 = (($52) - ($$1186$ph240))|0; + if (!($59)) { + break; + } + $64 = (($52) + 1)|0; + $65 = ($64>>>0)<($7>>>0); + if ($65) { + $$1176$ph$ph235 = $60;$$1184$ph196$ph234 = $52;$134 = $64; + } else { + $$0175$ph$ph$lcssa220323 = $$0175$ph$ph$lcssa220;$$0185$ph$lcssa322 = $$0185$ph$lcssa;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = $60;$$1186$ph$lcssa = $$1186$ph240; + label = 27; + break L1; + } + } + $61 = (($$1184$ph196229) + 1)|0; + $62 = (($$1184$ph196229) + 2)|0; + $63 = ($62>>>0)<($7>>>0); + if ($63) { + $$1184$ph241 = $61;$$1186$ph240 = $$1184$ph196229;$130 = $62; + } else { + $$0175$ph$ph$lcssa220323 = $$0175$ph$ph$lcssa220;$$0185$ph$lcssa322 = $$0185$ph$lcssa;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = 1;$$1186$ph$lcssa = $$1184$ph196229; + label = 27; + break; + } + } + } else { + $$0175$ph$ph$lcssa220323 = $$0175$ph$ph$lcssa220;$$0185$ph$lcssa322 = $$0185$ph$lcssa;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = 1;$$1186$ph$lcssa = -1; + label = 27; + } + } else { + $$0175$ph$ph$lcssa220323 = 1;$$0185$ph$lcssa322 = -1;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = 1;$$1186$ph$lcssa = -1; + label = 27; + } + } + } while(0); + L36: do { + if ((label|0) == 27) { + $66 = (($$1186$ph$lcssa) + 1)|0; + $67 = (($$0185$ph$lcssa322) + 1)|0; + $68 = ($66>>>0)>($67>>>0); + $$1176$$0175 = $68 ? $$1176$ph$ph$lcssa211 : $$0175$ph$ph$lcssa220323; + $$1186$$0185 = $68 ? $$1186$ph$lcssa : $$0185$ph$lcssa322; + $69 = (($1) + ($$1176$$0175)|0); + $70 = (($$1186$$0185) + 1)|0; + $71 = (_memcmp($1,$69,$70)|0); + $72 = ($71|0)==(0); + if ($72) { + $77 = (($$0187$lcssa320321) - ($$1176$$0175))|0; + $$0168 = $77;$$3178 = $$1176$$0175; + } else { + $73 = (($$0187$lcssa320321) - ($$1186$$0185))|0; + $74 = (($73) + -1)|0; + $75 = ($$1186$$0185>>>0)>($74>>>0); + $$1186$$0185$ = $75 ? $$1186$$0185 : $74; + $76 = (($$1186$$0185$) + 1)|0; + $$0168 = 0;$$3178 = $76; + } + $78 = $$0187$lcssa320321 | 63; + $79 = (($$0187$lcssa320321) + -1)|0; + $80 = ($$0168|0)!=(0); + $81 = (($$0187$lcssa320321) - ($$3178))|0; + $$0166 = $0;$$0169 = 0;$$0170 = $0; + while(1) { + $82 = $$0170; + $83 = $$0166; + $84 = (($82) - ($83))|0; + $85 = ($84>>>0)<($$0187$lcssa320321>>>0); + do { + if ($85) { + $86 = (_memchr($$0170,0,$78)|0); + $87 = ($86|0)==(0|0); + if ($87) { + $91 = (($$0170) + ($78)|0); + $$3173 = $91; + break; + } else { + $88 = $86; + $89 = (($88) - ($83))|0; + $90 = ($89>>>0)<($$0187$lcssa320321>>>0); + if ($90) { + $$3 = 0; + break L36; + } else { + $$3173 = $86; + break; + } + } + } else { + $$3173 = $$0170; + } + } while(0); + $92 = (($$0166) + ($79)|0); + $93 = HEAP8[$92>>0]|0; + $div = ($93&255) >>> 5; + $94 = $div&255; + $95 = (($2) + ($94<<2)|0); + $96 = HEAP32[$95>>2]|0; + $97 = $93 & 31; + $98 = $97&255; + $99 = 1 << $98; + $100 = $99 & $96; + $101 = ($100|0)==(0); + L50: do { + if ($101) { + $$0169$be = 0;$$2181$sink = $$0187$lcssa320321; + } else { + $102 = $93&255; + $103 = (($3) + ($102<<2)|0); + $104 = HEAP32[$103>>2]|0; + $105 = (($$0187$lcssa320321) - ($104))|0; + $106 = ($105|0)==(0); + if (!($106)) { + $107 = ($$0169|0)!=(0); + $or$cond = $80 & $107; + $108 = ($105>>>0)<($$3178>>>0); + $or$cond190 = $or$cond & $108; + $$2181 = $or$cond190 ? $81 : $105; + $$0169$be = 0;$$2181$sink = $$2181; + break; + } + $110 = ($70>>>0)>($$0169>>>0); + $111 = $110 ? $70 : $$0169; + $112 = (($1) + ($111)|0); + $113 = HEAP8[$112>>0]|0; + $cond191222 = ($113<<24>>24)==(0); + L55: do { + if ($cond191222) { + $$4 = $70; + } else { + $$3182223 = $111;$117 = $113; + while(1) { + $114 = (($$0166) + ($$3182223)|0); + $115 = HEAP8[$114>>0]|0; + $116 = ($117<<24>>24)==($115<<24>>24); + if (!($116)) { + break; + } + $118 = (($$3182223) + 1)|0; + $119 = (($1) + ($118)|0); + $120 = HEAP8[$119>>0]|0; + $cond191 = ($120<<24>>24)==(0); + if ($cond191) { + $$4 = $70; + break L55; + } else { + $$3182223 = $118;$117 = $120; + } + } + $121 = (($$3182223) - ($$1186$$0185))|0; + $$0169$be = 0;$$2181$sink = $121; + break L50; + } + } while(0); + while(1) { + $122 = ($$4>>>0)>($$0169>>>0); + if (!($122)) { + $$3 = $$0166; + break L36; + } + $123 = (($$4) + -1)|0; + $124 = (($1) + ($123)|0); + $125 = HEAP8[$124>>0]|0; + $126 = (($$0166) + ($123)|0); + $127 = HEAP8[$126>>0]|0; + $128 = ($125<<24>>24)==($127<<24>>24); + if ($128) { + $$4 = $123; + } else { + $$0169$be = $$0168;$$2181$sink = $$3178; + break; + } + } + } + } while(0); + $109 = (($$0166) + ($$2181$sink)|0); + $$0166 = $109;$$0169 = $$0169$be;$$0170 = $$3173; + } + } + } while(0); + STACKTOP = sp;return ($$3|0); +} +function _strrchr($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = (_strlen($0)|0); + $3 = (($2) + 1)|0; + $4 = (___memrchr($0,$1,$3)|0); + return ($4|0); +} +function ___memrchr($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$0 = 0, $$09 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = $1&255; + $$09 = $2; + while(1) { + $4 = (($$09) + -1)|0; + $5 = ($$09|0)==(0); + if ($5) { + $$0 = 0; + break; + } + $6 = (($0) + ($4)|0); + $7 = HEAP8[$6>>0]|0; + $8 = ($7<<24>>24)==($3<<24>>24); + if ($8) { + $$0 = $6; + break; + } else { + $$09 = $4; + } + } + return ($$0|0); +} +function _strncpy($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var label = 0, sp = 0; + sp = STACKTOP; + (___stpncpy($0,$1,$2)|0); + return ($0|0); +} +function ___stpncpy($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$0$lcssa = 0, $$037$lcssa = 0, $$03753 = 0, $$038$lcssa = 0, $$038$lcssa79 = 0, $$03866 = 0, $$039$lcssa = 0, $$039$lcssa78 = 0, $$03965 = 0, $$041$lcssa = 0, $$041$lcssa77 = 0, $$04164 = 0, $$054 = 0, $$1$lcssa = 0, $$140$ph = 0, $$14046 = 0, $$142$ph = 0, $$14245 = 0, $$152 = 0, $$2$ph = 0; + var $$243 = 0, $$247 = 0, $$3 = 0, $$lcssa = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; + var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, $or$cond = 0, $or$cond63 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = $1; + $4 = $0; + $5 = $3 ^ $4; + $6 = $5 & 3; + $7 = ($6|0)==(0); + do { + if ($7) { + $8 = $3 & 3; + $9 = ($8|0)!=(0); + $10 = ($2|0)!=(0); + $or$cond63 = $10 & $9; + L3: do { + if ($or$cond63) { + $$03866 = $2;$$03965 = $1;$$04164 = $0; + while(1) { + $11 = HEAP8[$$03965>>0]|0; + HEAP8[$$04164>>0] = $11; + $12 = ($11<<24>>24)==(0); + if ($12) { + $$038$lcssa79 = $$03866;$$039$lcssa78 = $$03965;$$041$lcssa77 = $$04164; + break L3; + } + $13 = (($$03866) + -1)|0; + $14 = ((($$03965)) + 1|0); + $15 = ((($$04164)) + 1|0); + $16 = $14; + $17 = $16 & 3; + $18 = ($17|0)!=(0); + $19 = ($13|0)!=(0); + $or$cond = $19 & $18; + if ($or$cond) { + $$03866 = $13;$$03965 = $14;$$04164 = $15; + } else { + $$038$lcssa = $13;$$039$lcssa = $14;$$041$lcssa = $15;$$lcssa = $19; + label = 5; + break; + } + } + } else { + $$038$lcssa = $2;$$039$lcssa = $1;$$041$lcssa = $0;$$lcssa = $10; + label = 5; + } + } while(0); + if ((label|0) == 5) { + if ($$lcssa) { + $$038$lcssa79 = $$038$lcssa;$$039$lcssa78 = $$039$lcssa;$$041$lcssa77 = $$041$lcssa; + } else { + $$243 = $$041$lcssa;$$3 = 0; + break; + } + } + $20 = HEAP8[$$039$lcssa78>>0]|0; + $21 = ($20<<24>>24)==(0); + if ($21) { + $$243 = $$041$lcssa77;$$3 = $$038$lcssa79; + } else { + $22 = ($$038$lcssa79>>>0)>(3); + L11: do { + if ($22) { + $$03753 = $$041$lcssa77;$$054 = $$039$lcssa78;$$152 = $$038$lcssa79; + while(1) { + $23 = HEAP32[$$054>>2]|0; + $24 = (($23) + -16843009)|0; + $25 = $23 & -2139062144; + $26 = $25 ^ -2139062144; + $27 = $26 & $24; + $28 = ($27|0)==(0); + if (!($28)) { + $$0$lcssa = $$054;$$037$lcssa = $$03753;$$1$lcssa = $$152; + break L11; + } + HEAP32[$$03753>>2] = $23; + $29 = (($$152) + -4)|0; + $30 = ((($$054)) + 4|0); + $31 = ((($$03753)) + 4|0); + $32 = ($29>>>0)>(3); + if ($32) { + $$03753 = $31;$$054 = $30;$$152 = $29; + } else { + $$0$lcssa = $30;$$037$lcssa = $31;$$1$lcssa = $29; + break; + } + } + } else { + $$0$lcssa = $$039$lcssa78;$$037$lcssa = $$041$lcssa77;$$1$lcssa = $$038$lcssa79; + } + } while(0); + $$140$ph = $$0$lcssa;$$142$ph = $$037$lcssa;$$2$ph = $$1$lcssa; + label = 11; + } + } else { + $$140$ph = $1;$$142$ph = $0;$$2$ph = $2; + label = 11; + } + } while(0); + L16: do { + if ((label|0) == 11) { + $33 = ($$2$ph|0)==(0); + if ($33) { + $$243 = $$142$ph;$$3 = 0; + } else { + $$14046 = $$140$ph;$$14245 = $$142$ph;$$247 = $$2$ph; + while(1) { + $34 = HEAP8[$$14046>>0]|0; + HEAP8[$$14245>>0] = $34; + $35 = ($34<<24>>24)==(0); + if ($35) { + $$243 = $$14245;$$3 = $$247; + break L16; + } + $36 = (($$247) + -1)|0; + $37 = ((($$14046)) + 1|0); + $38 = ((($$14245)) + 1|0); + $39 = ($36|0)==(0); + if ($39) { + $$243 = $38;$$3 = 0; + break; + } else { + $$14046 = $37;$$14245 = $38;$$247 = $36; + } + } + } + } + } while(0); + _memset(($$243|0),0,($$3|0))|0; + return ($$243|0); +} +function _strspn($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $$01925 = 0, $$020 = 0, $$1$lcssa = 0, $$123 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; + var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; + var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $div = 0, $div21 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $2 = sp; + ;HEAP32[$2>>2]=0|0;HEAP32[$2+4>>2]=0|0;HEAP32[$2+8>>2]=0|0;HEAP32[$2+12>>2]=0|0;HEAP32[$2+16>>2]=0|0;HEAP32[$2+20>>2]=0|0;HEAP32[$2+24>>2]=0|0;HEAP32[$2+28>>2]=0|0; + $3 = HEAP8[$1>>0]|0; + $4 = ($3<<24>>24)==(0); + do { + if ($4) { + $$0 = 0; + } else { + $5 = ((($1)) + 1|0); + $6 = HEAP8[$5>>0]|0; + $7 = ($6<<24>>24)==(0); + if ($7) { + $$020 = $0; + while(1) { + $8 = HEAP8[$$020>>0]|0; + $9 = ($8<<24>>24)==($3<<24>>24); + $10 = ((($$020)) + 1|0); + if ($9) { + $$020 = $10; + } else { + break; + } + } + $11 = $$020; + $12 = $0; + $13 = (($11) - ($12))|0; + $$0 = $13; + break; + } else { + $$01925 = $1;$17 = $3; + } + while(1) { + $16 = $17 & 31; + $18 = $16&255; + $19 = 1 << $18; + $div21 = ($17&255) >>> 5; + $20 = $div21&255; + $21 = (($2) + ($20<<2)|0); + $22 = HEAP32[$21>>2]|0; + $23 = $22 | $19; + HEAP32[$21>>2] = $23; + $24 = ((($$01925)) + 1|0); + $25 = HEAP8[$24>>0]|0; + $26 = ($25<<24>>24)==(0); + if ($26) { + break; + } else { + $$01925 = $24;$17 = $25; + } + } + $14 = HEAP8[$0>>0]|0; + $15 = ($14<<24>>24)==(0); + L10: do { + if ($15) { + $$1$lcssa = $0; + } else { + $$123 = $0;$27 = $14; + while(1) { + $div = ($27&255) >>> 5; + $28 = $div&255; + $29 = (($2) + ($28<<2)|0); + $30 = HEAP32[$29>>2]|0; + $31 = $27 & 31; + $32 = $31&255; + $33 = 1 << $32; + $34 = $30 & $33; + $35 = ($34|0)==(0); + if ($35) { + $$1$lcssa = $$123; + break L10; + } + $36 = ((($$123)) + 1|0); + $37 = HEAP8[$36>>0]|0; + $38 = ($37<<24>>24)==(0); + if ($38) { + $$1$lcssa = $36; + break; + } else { + $$123 = $36;$27 = $37; + } + } + } + } while(0); + $39 = $$1$lcssa; + $40 = $0; + $41 = (($39) - ($40))|0; + $$0 = $41; + } + } while(0); + STACKTOP = sp;return ($$0|0); +} +function _srand($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (($0) + -1)|0; + $2 = 19936; + $3 = $2; + HEAP32[$3>>2] = $1; + $4 = (($2) + 4)|0; + $5 = $4; + HEAP32[$5>>2] = 0; + return; +} +function _rand() { + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = 19936; + $1 = $0; + $2 = HEAP32[$1>>2]|0; + $3 = (($0) + 4)|0; + $4 = $3; + $5 = HEAP32[$4>>2]|0; + $6 = (___muldi3(($2|0),($5|0),1284865837,1481765933)|0); + $7 = tempRet0; + $8 = (_i64Add(($6|0),($7|0),1,0)|0); + $9 = tempRet0; + $10 = 19936; + $11 = $10; + HEAP32[$11>>2] = $8; + $12 = (($10) + 4)|0; + $13 = $12; + HEAP32[$13>>2] = $9; + $14 = (_bitshift64Lshr(($8|0),($9|0),33)|0); + $15 = tempRet0; + return ($14|0); +} +function _fgetc($0) { + $0 = $0|0; + var $$0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0; + var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 76|0); + $2 = HEAP32[$1>>2]|0; + $3 = ($2|0)<(0); + if ($3) { + label = 3; + } else { + $4 = (___lockfile($0)|0); + $5 = ($4|0)==(0); + if ($5) { + label = 3; + } else { + $15 = ((($0)) + 4|0); + $16 = HEAP32[$15>>2]|0; + $17 = ((($0)) + 8|0); + $18 = HEAP32[$17>>2]|0; + $19 = ($16>>>0)<($18>>>0); + if ($19) { + $20 = ((($16)) + 1|0); + HEAP32[$15>>2] = $20; + $21 = HEAP8[$16>>0]|0; + $22 = $21&255; + $24 = $22; + } else { + $23 = (___uflow($0)|0); + $24 = $23; + } + ___unlockfile($0); + $$0 = $24; + } + } + do { + if ((label|0) == 3) { + $6 = ((($0)) + 4|0); + $7 = HEAP32[$6>>2]|0; + $8 = ((($0)) + 8|0); + $9 = HEAP32[$8>>2]|0; + $10 = ($7>>>0)<($9>>>0); + if ($10) { + $11 = ((($7)) + 1|0); + HEAP32[$6>>2] = $11; + $12 = HEAP8[$7>>0]|0; + $13 = $12&255; + $$0 = $13; + break; + } else { + $14 = (___uflow($0)|0); + $$0 = $14; + break; + } + } + } while(0); + return ($$0|0); +} +function ___ftello($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $phitmp = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 76|0); + $2 = HEAP32[$1>>2]|0; + $3 = ($2|0)>(-1); + if ($3) { + $5 = (___lockfile($0)|0); + $phitmp = ($5|0)==(0); + $6 = (___ftello_unlocked($0)|0); + if ($phitmp) { + $7 = $6; + } else { + ___unlockfile($0); + $7 = $6; + } + } else { + $4 = (___ftello_unlocked($0)|0); + $7 = $4; + } + return ($7|0); +} +function ___ftello_unlocked($0) { + $0 = $0|0; + var $$0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $3 = 0; + var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $phitmp = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 40|0); + $2 = HEAP32[$1>>2]|0; + $3 = HEAP32[$0>>2]|0; + $4 = $3 & 128; + $5 = ($4|0)==(0); + if ($5) { + $11 = 1; + } else { + $6 = ((($0)) + 20|0); + $7 = HEAP32[$6>>2]|0; + $8 = ((($0)) + 28|0); + $9 = HEAP32[$8>>2]|0; + $10 = ($7>>>0)>($9>>>0); + $phitmp = $10 ? 2 : 1; + $11 = $phitmp; + } + $12 = (FUNCTION_TABLE_iiii[$2 & 15]($0,0,$11)|0); + $13 = ($12|0)<(0); + if ($13) { + $$0 = $12; + } else { + $14 = ((($0)) + 8|0); + $15 = HEAP32[$14>>2]|0; + $16 = ((($0)) + 4|0); + $17 = HEAP32[$16>>2]|0; + $18 = ((($0)) + 20|0); + $19 = HEAP32[$18>>2]|0; + $20 = ((($0)) + 28|0); + $21 = HEAP32[$20>>2]|0; + $22 = (($12) - ($15))|0; + $23 = (($22) + ($17))|0; + $24 = (($23) + ($19))|0; + $25 = (($24) - ($21))|0; + $$0 = $25; + } + return ($$0|0); +} +function _fread($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$ = 0, $$0 = 0, $$054$ph = 0, $$05460 = 0, $$056$ph = 0, $$05659 = 0, $$57 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0; + var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; + var $42 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $4 = Math_imul($2, $1)|0; + $5 = ($1|0)==(0); + $$ = $5 ? 0 : $2; + $6 = ((($3)) + 76|0); + $7 = HEAP32[$6>>2]|0; + $8 = ($7|0)>(-1); + if ($8) { + $9 = (___lockfile($3)|0); + $36 = $9; + } else { + $36 = 0; + } + $10 = ((($3)) + 74|0); + $11 = HEAP8[$10>>0]|0; + $12 = $11 << 24 >> 24; + $13 = (($12) + 255)|0; + $14 = $13 | $12; + $15 = $14&255; + HEAP8[$10>>0] = $15; + $16 = ((($3)) + 8|0); + $17 = HEAP32[$16>>2]|0; + $18 = ((($3)) + 4|0); + $19 = HEAP32[$18>>2]|0; + $20 = $19; + $21 = (($17) - ($20))|0; + $22 = ($21|0)>(0); + $23 = ($21>>>0)<($4>>>0); + $$57 = $23 ? $21 : $4; + if ($22) { + $24 = (($4) - ($$57))|0; + $25 = (($0) + ($$57)|0); + _memcpy(($0|0),($19|0),($$57|0))|0; + $26 = (($19) + ($$57)|0); + HEAP32[$18>>2] = $26; + $$054$ph = $24;$$056$ph = $25; + } else { + $$054$ph = $4;$$056$ph = $0; + } + $27 = ($$054$ph|0)==(0); + L7: do { + if ($27) { + label = 13; + } else { + $28 = ((($3)) + 32|0); + $$05460 = $$054$ph;$$05659 = $$056$ph; + while(1) { + $29 = (___toread($3)|0); + $30 = ($29|0)==(0); + if (!($30)) { + break; + } + $31 = HEAP32[$28>>2]|0; + $32 = (FUNCTION_TABLE_iiii[$31 & 15]($3,$$05659,$$05460)|0); + $33 = (($32) + 1)|0; + $34 = ($33>>>0)<(2); + if ($34) { + break; + } + $39 = (($$05460) - ($32))|0; + $40 = (($$05659) + ($32)|0); + $41 = ($39|0)==(0); + if ($41) { + label = 13; + break L7; + } else { + $$05460 = $39;$$05659 = $40; + } + } + $35 = ($36|0)==(0); + if (!($35)) { + ___unlockfile($3); + } + $37 = (($4) - ($$05460))|0; + $38 = (($37>>>0) / ($1>>>0))&-1; + $$0 = $38; + } + } while(0); + if ((label|0) == 13) { + $42 = ($36|0)==(0); + if ($42) { + $$0 = $$; + } else { + ___unlockfile($3); + $$0 = $$; + } + } + return ($$0|0); +} +function _ftell($0) { + $0 = $0|0; + var $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (___ftello($0)|0); + return ($1|0); +} +function _rewind($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $phitmp = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 76|0); + $2 = HEAP32[$1>>2]|0; + $3 = ($2|0)>(-1); + if ($3) { + $4 = (___lockfile($0)|0); + $phitmp = ($4|0)==(0); + (___fseeko_unlocked($0,0,0)|0); + $5 = HEAP32[$0>>2]|0; + $6 = $5 & -33; + HEAP32[$0>>2] = $6; + if (!($phitmp)) { + ___unlockfile($0); + } + } else { + (___fseeko_unlocked($0,0,0)|0); + $7 = HEAP32[$0>>2]|0; + $8 = $7 & -33; + HEAP32[$0>>2] = $8; + } + return; +} +function _vprintf($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = HEAP32[1269]|0; + $3 = (_vfprintf($2,$0,$1)|0); + return ($3|0); +} +function _strcspn($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$01824 = 0, $$019$sink = 0, $$01922 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; + var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $div = 0; + var $div20 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $2 = sp; + $3 = HEAP8[$1>>0]|0; + $4 = ($3<<24>>24)==(0); + L1: do { + if ($4) { + label = 3; + } else { + $5 = ((($1)) + 1|0); + $6 = HEAP8[$5>>0]|0; + $7 = ($6<<24>>24)==(0); + if ($7) { + label = 3; + } else { + ;HEAP32[$2>>2]=0|0;HEAP32[$2+4>>2]=0|0;HEAP32[$2+8>>2]=0|0;HEAP32[$2+12>>2]=0|0;HEAP32[$2+16>>2]=0|0;HEAP32[$2+20>>2]=0|0;HEAP32[$2+24>>2]=0|0;HEAP32[$2+28>>2]=0|0; + $$01824 = $1;$13 = $3; + while(1) { + $12 = $13 & 31; + $14 = $12&255; + $15 = 1 << $14; + $div20 = ($13&255) >>> 5; + $16 = $div20&255; + $17 = (($2) + ($16<<2)|0); + $18 = HEAP32[$17>>2]|0; + $19 = $18 | $15; + HEAP32[$17>>2] = $19; + $20 = ((($$01824)) + 1|0); + $21 = HEAP8[$20>>0]|0; + $22 = ($21<<24>>24)==(0); + if ($22) { + break; + } else { + $$01824 = $20;$13 = $21; + } + } + $10 = HEAP8[$0>>0]|0; + $11 = ($10<<24>>24)==(0); + if ($11) { + $$019$sink = $0; + } else { + $$01922 = $0;$23 = $10; + while(1) { + $div = ($23&255) >>> 5; + $24 = $div&255; + $25 = (($2) + ($24<<2)|0); + $26 = HEAP32[$25>>2]|0; + $27 = $23 & 31; + $28 = $27&255; + $29 = 1 << $28; + $30 = $26 & $29; + $31 = ($30|0)==(0); + if (!($31)) { + $$019$sink = $$01922; + break L1; + } + $32 = ((($$01922)) + 1|0); + $33 = HEAP8[$32>>0]|0; + $34 = ($33<<24>>24)==(0); + if ($34) { + $$019$sink = $32; + break; + } else { + $$01922 = $32;$23 = $33; + } + } + } + } + } + } while(0); + if ((label|0) == 3) { + $8 = $3 << 24 >> 24; + $9 = (___strchrnul($0,$8)|0); + $$019$sink = $9; + } + $35 = $$019$sink; + $36 = $0; + $37 = (($35) - ($36))|0; + STACKTOP = sp;return ($37|0); +} +function _strcat($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = (_strlen($0)|0); + $3 = (($0) + ($2)|0); + (_strcpy($3,$1)|0); + return ($0|0); +} +function _strtok($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $$010 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ($0|0)==(0|0); + if ($2) { + $3 = HEAP32[6120]|0; + $4 = ($3|0)==(0|0); + if ($4) { + $$0 = 0; + } else { + $$010 = $3; + label = 3; + } + } else { + $$010 = $0; + label = 3; + } + do { + if ((label|0) == 3) { + $5 = (_strspn($$010,$1)|0); + $6 = (($$010) + ($5)|0); + $7 = HEAP8[$6>>0]|0; + $8 = ($7<<24>>24)==(0); + if ($8) { + HEAP32[6120] = 0; + $$0 = 0; + break; + } + $9 = (_strcspn($6,$1)|0); + $10 = (($6) + ($9)|0); + HEAP32[6120] = $10; + $11 = HEAP8[$10>>0]|0; + $12 = ($11<<24>>24)==(0); + if ($12) { + HEAP32[6120] = 0; + $$0 = $6; + break; + } else { + $13 = ((($10)) + 1|0); + HEAP32[6120] = $13; + HEAP8[$10>>0] = 0; + $$0 = $6; + break; + } + } + } while(0); + return ($$0|0); +} +function _malloc($0) { + $0 = $0|0; + var $$$0192$i = 0, $$$0193$i = 0, $$$4236$i = 0, $$$4351$i = 0, $$$i = 0, $$0 = 0, $$0$i$i = 0, $$0$i$i$i = 0, $$0$i18$i = 0, $$01$i$i = 0, $$0189$i = 0, $$0192$lcssa$i = 0, $$01928$i = 0, $$0193$lcssa$i = 0, $$01937$i = 0, $$0197 = 0, $$0199 = 0, $$0206$i$i = 0, $$0207$i$i = 0, $$0211$i$i = 0; + var $$0212$i$i = 0, $$024371$i = 0, $$0287$i$i = 0, $$0288$i$i = 0, $$0289$i$i = 0, $$0295$i$i = 0, $$0296$i$i = 0, $$0342$i = 0, $$0344$i = 0, $$0345$i = 0, $$0347$i = 0, $$0353$i = 0, $$0358$i = 0, $$0359$$i = 0, $$0359$i = 0, $$0361$i = 0, $$0362$i = 0, $$0368$i = 0, $$1196$i = 0, $$1198$i = 0; + var $$124470$i = 0, $$1291$i$i = 0, $$1293$i$i = 0, $$1343$i = 0, $$1348$i = 0, $$1363$i = 0, $$1370$i = 0, $$1374$i = 0, $$2234253237$i = 0, $$2247$ph$i = 0, $$2253$ph$i = 0, $$2355$i = 0, $$3$i = 0, $$3$i$i = 0, $$3$i201 = 0, $$3350$i = 0, $$3372$i = 0, $$4$lcssa$i = 0, $$4$ph$i = 0, $$415$i = 0; + var $$4236$i = 0, $$4351$lcssa$i = 0, $$435114$i = 0, $$4357$$4$i = 0, $$4357$ph$i = 0, $$435713$i = 0, $$723948$i = 0, $$749$i = 0, $$pre = 0, $$pre$i = 0, $$pre$i$i = 0, $$pre$i19$i = 0, $$pre$i210 = 0, $$pre$i212 = 0, $$pre$phi$i$iZ2D = 0, $$pre$phi$i20$iZ2D = 0, $$pre$phi$i211Z2D = 0, $$pre$phi$iZ2D = 0, $$pre$phi11$i$iZ2D = 0, $$pre$phiZ2D = 0; + var $$pre10$i$i = 0, $$sink1$i = 0, $$sink1$i$i = 0, $$sink16$i = 0, $$sink2$i = 0, $$sink2$i204 = 0, $$sink3$i = 0, $1 = 0, $10 = 0, $100 = 0, $1000 = 0, $1001 = 0, $1002 = 0, $1003 = 0, $1004 = 0, $1005 = 0, $1006 = 0, $1007 = 0, $1008 = 0, $1009 = 0; + var $101 = 0, $1010 = 0, $1011 = 0, $1012 = 0, $1013 = 0, $1014 = 0, $1015 = 0, $1016 = 0, $1017 = 0, $1018 = 0, $1019 = 0, $102 = 0, $1020 = 0, $1021 = 0, $1022 = 0, $1023 = 0, $1024 = 0, $1025 = 0, $1026 = 0, $1027 = 0; + var $1028 = 0, $1029 = 0, $103 = 0, $1030 = 0, $1031 = 0, $1032 = 0, $1033 = 0, $1034 = 0, $1035 = 0, $1036 = 0, $1037 = 0, $1038 = 0, $1039 = 0, $104 = 0, $1040 = 0, $1041 = 0, $1042 = 0, $1043 = 0, $1044 = 0, $1045 = 0; + var $1046 = 0, $1047 = 0, $1048 = 0, $1049 = 0, $105 = 0, $1050 = 0, $1051 = 0, $1052 = 0, $1053 = 0, $1054 = 0, $1055 = 0, $1056 = 0, $1057 = 0, $1058 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0; + var $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0; + var $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0; + var $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0; + var $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0; + var $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0; + var $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0; + var $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0; + var $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0; + var $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0; + var $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0; + var $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0; + var $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0; + var $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0; + var $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0; + var $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0; + var $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0; + var $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0; + var $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0; + var $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0; + var $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0; + var $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0; + var $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0; + var $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0; + var $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0, $531 = 0, $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0; + var $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0, $549 = 0, $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0, $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0; + var $562 = 0, $563 = 0, $564 = 0, $565 = 0, $566 = 0, $567 = 0, $568 = 0, $569 = 0, $57 = 0, $570 = 0, $571 = 0, $572 = 0, $573 = 0, $574 = 0, $575 = 0, $576 = 0, $577 = 0, $578 = 0, $579 = 0, $58 = 0; + var $580 = 0, $581 = 0, $582 = 0, $583 = 0, $584 = 0, $585 = 0, $586 = 0, $587 = 0, $588 = 0, $589 = 0, $59 = 0, $590 = 0, $591 = 0, $592 = 0, $593 = 0, $594 = 0, $595 = 0, $596 = 0, $597 = 0, $598 = 0; + var $599 = 0, $6 = 0, $60 = 0, $600 = 0, $601 = 0, $602 = 0, $603 = 0, $604 = 0, $605 = 0, $606 = 0, $607 = 0, $608 = 0, $609 = 0, $61 = 0, $610 = 0, $611 = 0, $612 = 0, $613 = 0, $614 = 0, $615 = 0; + var $616 = 0, $617 = 0, $618 = 0, $619 = 0, $62 = 0, $620 = 0, $621 = 0, $622 = 0, $623 = 0, $624 = 0, $625 = 0, $626 = 0, $627 = 0, $628 = 0, $629 = 0, $63 = 0, $630 = 0, $631 = 0, $632 = 0, $633 = 0; + var $634 = 0, $635 = 0, $636 = 0, $637 = 0, $638 = 0, $639 = 0, $64 = 0, $640 = 0, $641 = 0, $642 = 0, $643 = 0, $644 = 0, $645 = 0, $646 = 0, $647 = 0, $648 = 0, $649 = 0, $65 = 0, $650 = 0, $651 = 0; + var $652 = 0, $653 = 0, $654 = 0, $655 = 0, $656 = 0, $657 = 0, $658 = 0, $659 = 0, $66 = 0, $660 = 0, $661 = 0, $662 = 0, $663 = 0, $664 = 0, $665 = 0, $666 = 0, $667 = 0, $668 = 0, $669 = 0, $67 = 0; + var $670 = 0, $671 = 0, $672 = 0, $673 = 0, $674 = 0, $675 = 0, $676 = 0, $677 = 0, $678 = 0, $679 = 0, $68 = 0, $680 = 0, $681 = 0, $682 = 0, $683 = 0, $684 = 0, $685 = 0, $686 = 0, $687 = 0, $688 = 0; + var $689 = 0, $69 = 0, $690 = 0, $691 = 0, $692 = 0, $693 = 0, $694 = 0, $695 = 0, $696 = 0, $697 = 0, $698 = 0, $699 = 0, $7 = 0, $70 = 0, $700 = 0, $701 = 0, $702 = 0, $703 = 0, $704 = 0, $705 = 0; + var $706 = 0, $707 = 0, $708 = 0, $709 = 0, $71 = 0, $710 = 0, $711 = 0, $712 = 0, $713 = 0, $714 = 0, $715 = 0, $716 = 0, $717 = 0, $718 = 0, $719 = 0, $72 = 0, $720 = 0, $721 = 0, $722 = 0, $723 = 0; + var $724 = 0, $725 = 0, $726 = 0, $727 = 0, $728 = 0, $729 = 0, $73 = 0, $730 = 0, $731 = 0, $732 = 0, $733 = 0, $734 = 0, $735 = 0, $736 = 0, $737 = 0, $738 = 0, $739 = 0, $74 = 0, $740 = 0, $741 = 0; + var $742 = 0, $743 = 0, $744 = 0, $745 = 0, $746 = 0, $747 = 0, $748 = 0, $749 = 0, $75 = 0, $750 = 0, $751 = 0, $752 = 0, $753 = 0, $754 = 0, $755 = 0, $756 = 0, $757 = 0, $758 = 0, $759 = 0, $76 = 0; + var $760 = 0, $761 = 0, $762 = 0, $763 = 0, $764 = 0, $765 = 0, $766 = 0, $767 = 0, $768 = 0, $769 = 0, $77 = 0, $770 = 0, $771 = 0, $772 = 0, $773 = 0, $774 = 0, $775 = 0, $776 = 0, $777 = 0, $778 = 0; + var $779 = 0, $78 = 0, $780 = 0, $781 = 0, $782 = 0, $783 = 0, $784 = 0, $785 = 0, $786 = 0, $787 = 0, $788 = 0, $789 = 0, $79 = 0, $790 = 0, $791 = 0, $792 = 0, $793 = 0, $794 = 0, $795 = 0, $796 = 0; + var $797 = 0, $798 = 0, $799 = 0, $8 = 0, $80 = 0, $800 = 0, $801 = 0, $802 = 0, $803 = 0, $804 = 0, $805 = 0, $806 = 0, $807 = 0, $808 = 0, $809 = 0, $81 = 0, $810 = 0, $811 = 0, $812 = 0, $813 = 0; + var $814 = 0, $815 = 0, $816 = 0, $817 = 0, $818 = 0, $819 = 0, $82 = 0, $820 = 0, $821 = 0, $822 = 0, $823 = 0, $824 = 0, $825 = 0, $826 = 0, $827 = 0, $828 = 0, $829 = 0, $83 = 0, $830 = 0, $831 = 0; + var $832 = 0, $833 = 0, $834 = 0, $835 = 0, $836 = 0, $837 = 0, $838 = 0, $839 = 0, $84 = 0, $840 = 0, $841 = 0, $842 = 0, $843 = 0, $844 = 0, $845 = 0, $846 = 0, $847 = 0, $848 = 0, $849 = 0, $85 = 0; + var $850 = 0, $851 = 0, $852 = 0, $853 = 0, $854 = 0, $855 = 0, $856 = 0, $857 = 0, $858 = 0, $859 = 0, $86 = 0, $860 = 0, $861 = 0, $862 = 0, $863 = 0, $864 = 0, $865 = 0, $866 = 0, $867 = 0, $868 = 0; + var $869 = 0, $87 = 0, $870 = 0, $871 = 0, $872 = 0, $873 = 0, $874 = 0, $875 = 0, $876 = 0, $877 = 0, $878 = 0, $879 = 0, $88 = 0, $880 = 0, $881 = 0, $882 = 0, $883 = 0, $884 = 0, $885 = 0, $886 = 0; + var $887 = 0, $888 = 0, $889 = 0, $89 = 0, $890 = 0, $891 = 0, $892 = 0, $893 = 0, $894 = 0, $895 = 0, $896 = 0, $897 = 0, $898 = 0, $899 = 0, $9 = 0, $90 = 0, $900 = 0, $901 = 0, $902 = 0, $903 = 0; + var $904 = 0, $905 = 0, $906 = 0, $907 = 0, $908 = 0, $909 = 0, $91 = 0, $910 = 0, $911 = 0, $912 = 0, $913 = 0, $914 = 0, $915 = 0, $916 = 0, $917 = 0, $918 = 0, $919 = 0, $92 = 0, $920 = 0, $921 = 0; + var $922 = 0, $923 = 0, $924 = 0, $925 = 0, $926 = 0, $927 = 0, $928 = 0, $929 = 0, $93 = 0, $930 = 0, $931 = 0, $932 = 0, $933 = 0, $934 = 0, $935 = 0, $936 = 0, $937 = 0, $938 = 0, $939 = 0, $94 = 0; + var $940 = 0, $941 = 0, $942 = 0, $943 = 0, $944 = 0, $945 = 0, $946 = 0, $947 = 0, $948 = 0, $949 = 0, $95 = 0, $950 = 0, $951 = 0, $952 = 0, $953 = 0, $954 = 0, $955 = 0, $956 = 0, $957 = 0, $958 = 0; + var $959 = 0, $96 = 0, $960 = 0, $961 = 0, $962 = 0, $963 = 0, $964 = 0, $965 = 0, $966 = 0, $967 = 0, $968 = 0, $969 = 0, $97 = 0, $970 = 0, $971 = 0, $972 = 0, $973 = 0, $974 = 0, $975 = 0, $976 = 0; + var $977 = 0, $978 = 0, $979 = 0, $98 = 0, $980 = 0, $981 = 0, $982 = 0, $983 = 0, $984 = 0, $985 = 0, $986 = 0, $987 = 0, $988 = 0, $989 = 0, $99 = 0, $990 = 0, $991 = 0, $992 = 0, $993 = 0, $994 = 0; + var $995 = 0, $996 = 0, $997 = 0, $998 = 0, $999 = 0, $cond$i = 0, $cond$i$i = 0, $cond$i208 = 0, $exitcond$i$i = 0, $not$$i = 0, $not$$i$i = 0, $not$$i17$i = 0, $not$$i209 = 0, $not$$i216 = 0, $not$1$i = 0, $not$1$i203 = 0, $not$5$i = 0, $not$7$i$i = 0, $not$8$i = 0, $not$9$i = 0; + var $or$cond$i = 0, $or$cond$i214 = 0, $or$cond1$i = 0, $or$cond10$i = 0, $or$cond11$i = 0, $or$cond11$not$i = 0, $or$cond12$i = 0, $or$cond2$i = 0, $or$cond2$i215 = 0, $or$cond5$i = 0, $or$cond50$i = 0, $or$cond51$i = 0, $or$cond7$i = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $1 = sp; + $2 = ($0>>>0)<(245); + do { + if ($2) { + $3 = ($0>>>0)<(11); + $4 = (($0) + 11)|0; + $5 = $4 & -8; + $6 = $3 ? 16 : $5; + $7 = $6 >>> 3; + $8 = HEAP32[6121]|0; + $9 = $8 >>> $7; + $10 = $9 & 3; + $11 = ($10|0)==(0); + if (!($11)) { + $12 = $9 & 1; + $13 = $12 ^ 1; + $14 = (($13) + ($7))|0; + $15 = $14 << 1; + $16 = (24524 + ($15<<2)|0); + $17 = ((($16)) + 8|0); + $18 = HEAP32[$17>>2]|0; + $19 = ((($18)) + 8|0); + $20 = HEAP32[$19>>2]|0; + $21 = ($16|0)==($20|0); + do { + if ($21) { + $22 = 1 << $14; + $23 = $22 ^ -1; + $24 = $8 & $23; + HEAP32[6121] = $24; + } else { + $25 = HEAP32[(24500)>>2]|0; + $26 = ($20>>>0)<($25>>>0); + if ($26) { + _abort(); + // unreachable; + } + $27 = ((($20)) + 12|0); + $28 = HEAP32[$27>>2]|0; + $29 = ($28|0)==($18|0); + if ($29) { + HEAP32[$27>>2] = $16; + HEAP32[$17>>2] = $20; + break; + } else { + _abort(); + // unreachable; + } + } + } while(0); + $30 = $14 << 3; + $31 = $30 | 3; + $32 = ((($18)) + 4|0); + HEAP32[$32>>2] = $31; + $33 = (($18) + ($30)|0); + $34 = ((($33)) + 4|0); + $35 = HEAP32[$34>>2]|0; + $36 = $35 | 1; + HEAP32[$34>>2] = $36; + $$0 = $19; + STACKTOP = sp;return ($$0|0); + } + $37 = HEAP32[(24492)>>2]|0; + $38 = ($6>>>0)>($37>>>0); + if ($38) { + $39 = ($9|0)==(0); + if (!($39)) { + $40 = $9 << $7; + $41 = 2 << $7; + $42 = (0 - ($41))|0; + $43 = $41 | $42; + $44 = $40 & $43; + $45 = (0 - ($44))|0; + $46 = $44 & $45; + $47 = (($46) + -1)|0; + $48 = $47 >>> 12; + $49 = $48 & 16; + $50 = $47 >>> $49; + $51 = $50 >>> 5; + $52 = $51 & 8; + $53 = $52 | $49; + $54 = $50 >>> $52; + $55 = $54 >>> 2; + $56 = $55 & 4; + $57 = $53 | $56; + $58 = $54 >>> $56; + $59 = $58 >>> 1; + $60 = $59 & 2; + $61 = $57 | $60; + $62 = $58 >>> $60; + $63 = $62 >>> 1; + $64 = $63 & 1; + $65 = $61 | $64; + $66 = $62 >>> $64; + $67 = (($65) + ($66))|0; + $68 = $67 << 1; + $69 = (24524 + ($68<<2)|0); + $70 = ((($69)) + 8|0); + $71 = HEAP32[$70>>2]|0; + $72 = ((($71)) + 8|0); + $73 = HEAP32[$72>>2]|0; + $74 = ($69|0)==($73|0); + do { + if ($74) { + $75 = 1 << $67; + $76 = $75 ^ -1; + $77 = $8 & $76; + HEAP32[6121] = $77; + $98 = $77; + } else { + $78 = HEAP32[(24500)>>2]|0; + $79 = ($73>>>0)<($78>>>0); + if ($79) { + _abort(); + // unreachable; + } + $80 = ((($73)) + 12|0); + $81 = HEAP32[$80>>2]|0; + $82 = ($81|0)==($71|0); + if ($82) { + HEAP32[$80>>2] = $69; + HEAP32[$70>>2] = $73; + $98 = $8; + break; + } else { + _abort(); + // unreachable; + } + } + } while(0); + $83 = $67 << 3; + $84 = (($83) - ($6))|0; + $85 = $6 | 3; + $86 = ((($71)) + 4|0); + HEAP32[$86>>2] = $85; + $87 = (($71) + ($6)|0); + $88 = $84 | 1; + $89 = ((($87)) + 4|0); + HEAP32[$89>>2] = $88; + $90 = (($87) + ($84)|0); + HEAP32[$90>>2] = $84; + $91 = ($37|0)==(0); + if (!($91)) { + $92 = HEAP32[(24504)>>2]|0; + $93 = $37 >>> 3; + $94 = $93 << 1; + $95 = (24524 + ($94<<2)|0); + $96 = 1 << $93; + $97 = $98 & $96; + $99 = ($97|0)==(0); + if ($99) { + $100 = $98 | $96; + HEAP32[6121] = $100; + $$pre = ((($95)) + 8|0); + $$0199 = $95;$$pre$phiZ2D = $$pre; + } else { + $101 = ((($95)) + 8|0); + $102 = HEAP32[$101>>2]|0; + $103 = HEAP32[(24500)>>2]|0; + $104 = ($102>>>0)<($103>>>0); + if ($104) { + _abort(); + // unreachable; + } else { + $$0199 = $102;$$pre$phiZ2D = $101; + } + } + HEAP32[$$pre$phiZ2D>>2] = $92; + $105 = ((($$0199)) + 12|0); + HEAP32[$105>>2] = $92; + $106 = ((($92)) + 8|0); + HEAP32[$106>>2] = $$0199; + $107 = ((($92)) + 12|0); + HEAP32[$107>>2] = $95; + } + HEAP32[(24492)>>2] = $84; + HEAP32[(24504)>>2] = $87; + $$0 = $72; + STACKTOP = sp;return ($$0|0); + } + $108 = HEAP32[(24488)>>2]|0; + $109 = ($108|0)==(0); + if ($109) { + $$0197 = $6; + } else { + $110 = (0 - ($108))|0; + $111 = $108 & $110; + $112 = (($111) + -1)|0; + $113 = $112 >>> 12; + $114 = $113 & 16; + $115 = $112 >>> $114; + $116 = $115 >>> 5; + $117 = $116 & 8; + $118 = $117 | $114; + $119 = $115 >>> $117; + $120 = $119 >>> 2; + $121 = $120 & 4; + $122 = $118 | $121; + $123 = $119 >>> $121; + $124 = $123 >>> 1; + $125 = $124 & 2; + $126 = $122 | $125; + $127 = $123 >>> $125; + $128 = $127 >>> 1; + $129 = $128 & 1; + $130 = $126 | $129; + $131 = $127 >>> $129; + $132 = (($130) + ($131))|0; + $133 = (24788 + ($132<<2)|0); + $134 = HEAP32[$133>>2]|0; + $135 = ((($134)) + 4|0); + $136 = HEAP32[$135>>2]|0; + $137 = $136 & -8; + $138 = (($137) - ($6))|0; + $139 = ((($134)) + 16|0); + $140 = HEAP32[$139>>2]|0; + $not$5$i = ($140|0)==(0|0); + $$sink16$i = $not$5$i&1; + $141 = (((($134)) + 16|0) + ($$sink16$i<<2)|0); + $142 = HEAP32[$141>>2]|0; + $143 = ($142|0)==(0|0); + if ($143) { + $$0192$lcssa$i = $134;$$0193$lcssa$i = $138; + } else { + $$01928$i = $134;$$01937$i = $138;$145 = $142; + while(1) { + $144 = ((($145)) + 4|0); + $146 = HEAP32[$144>>2]|0; + $147 = $146 & -8; + $148 = (($147) - ($6))|0; + $149 = ($148>>>0)<($$01937$i>>>0); + $$$0193$i = $149 ? $148 : $$01937$i; + $$$0192$i = $149 ? $145 : $$01928$i; + $150 = ((($145)) + 16|0); + $151 = HEAP32[$150>>2]|0; + $not$$i = ($151|0)==(0|0); + $$sink1$i = $not$$i&1; + $152 = (((($145)) + 16|0) + ($$sink1$i<<2)|0); + $153 = HEAP32[$152>>2]|0; + $154 = ($153|0)==(0|0); + if ($154) { + $$0192$lcssa$i = $$$0192$i;$$0193$lcssa$i = $$$0193$i; + break; + } else { + $$01928$i = $$$0192$i;$$01937$i = $$$0193$i;$145 = $153; + } + } + } + $155 = HEAP32[(24500)>>2]|0; + $156 = ($$0192$lcssa$i>>>0)<($155>>>0); + if ($156) { + _abort(); + // unreachable; + } + $157 = (($$0192$lcssa$i) + ($6)|0); + $158 = ($$0192$lcssa$i>>>0)<($157>>>0); + if (!($158)) { + _abort(); + // unreachable; + } + $159 = ((($$0192$lcssa$i)) + 24|0); + $160 = HEAP32[$159>>2]|0; + $161 = ((($$0192$lcssa$i)) + 12|0); + $162 = HEAP32[$161>>2]|0; + $163 = ($162|0)==($$0192$lcssa$i|0); + do { + if ($163) { + $173 = ((($$0192$lcssa$i)) + 20|0); + $174 = HEAP32[$173>>2]|0; + $175 = ($174|0)==(0|0); + if ($175) { + $176 = ((($$0192$lcssa$i)) + 16|0); + $177 = HEAP32[$176>>2]|0; + $178 = ($177|0)==(0|0); + if ($178) { + $$3$i = 0; + break; + } else { + $$1196$i = $177;$$1198$i = $176; + } + } else { + $$1196$i = $174;$$1198$i = $173; + } + while(1) { + $179 = ((($$1196$i)) + 20|0); + $180 = HEAP32[$179>>2]|0; + $181 = ($180|0)==(0|0); + if (!($181)) { + $$1196$i = $180;$$1198$i = $179; + continue; + } + $182 = ((($$1196$i)) + 16|0); + $183 = HEAP32[$182>>2]|0; + $184 = ($183|0)==(0|0); + if ($184) { + break; + } else { + $$1196$i = $183;$$1198$i = $182; + } + } + $185 = ($$1198$i>>>0)<($155>>>0); + if ($185) { + _abort(); + // unreachable; + } else { + HEAP32[$$1198$i>>2] = 0; + $$3$i = $$1196$i; + break; + } + } else { + $164 = ((($$0192$lcssa$i)) + 8|0); + $165 = HEAP32[$164>>2]|0; + $166 = ($165>>>0)<($155>>>0); + if ($166) { + _abort(); + // unreachable; + } + $167 = ((($165)) + 12|0); + $168 = HEAP32[$167>>2]|0; + $169 = ($168|0)==($$0192$lcssa$i|0); + if (!($169)) { + _abort(); + // unreachable; + } + $170 = ((($162)) + 8|0); + $171 = HEAP32[$170>>2]|0; + $172 = ($171|0)==($$0192$lcssa$i|0); + if ($172) { + HEAP32[$167>>2] = $162; + HEAP32[$170>>2] = $165; + $$3$i = $162; + break; + } else { + _abort(); + // unreachable; + } + } + } while(0); + $186 = ($160|0)==(0|0); + L73: do { + if (!($186)) { + $187 = ((($$0192$lcssa$i)) + 28|0); + $188 = HEAP32[$187>>2]|0; + $189 = (24788 + ($188<<2)|0); + $190 = HEAP32[$189>>2]|0; + $191 = ($$0192$lcssa$i|0)==($190|0); + do { + if ($191) { + HEAP32[$189>>2] = $$3$i; + $cond$i = ($$3$i|0)==(0|0); + if ($cond$i) { + $192 = 1 << $188; + $193 = $192 ^ -1; + $194 = $108 & $193; + HEAP32[(24488)>>2] = $194; + break L73; + } + } else { + $195 = HEAP32[(24500)>>2]|0; + $196 = ($160>>>0)<($195>>>0); + if ($196) { + _abort(); + // unreachable; + } else { + $197 = ((($160)) + 16|0); + $198 = HEAP32[$197>>2]|0; + $not$1$i = ($198|0)!=($$0192$lcssa$i|0); + $$sink2$i = $not$1$i&1; + $199 = (((($160)) + 16|0) + ($$sink2$i<<2)|0); + HEAP32[$199>>2] = $$3$i; + $200 = ($$3$i|0)==(0|0); + if ($200) { + break L73; + } else { + break; + } + } + } + } while(0); + $201 = HEAP32[(24500)>>2]|0; + $202 = ($$3$i>>>0)<($201>>>0); + if ($202) { + _abort(); + // unreachable; + } + $203 = ((($$3$i)) + 24|0); + HEAP32[$203>>2] = $160; + $204 = ((($$0192$lcssa$i)) + 16|0); + $205 = HEAP32[$204>>2]|0; + $206 = ($205|0)==(0|0); + do { + if (!($206)) { + $207 = ($205>>>0)<($201>>>0); + if ($207) { + _abort(); + // unreachable; + } else { + $208 = ((($$3$i)) + 16|0); + HEAP32[$208>>2] = $205; + $209 = ((($205)) + 24|0); + HEAP32[$209>>2] = $$3$i; + break; + } + } + } while(0); + $210 = ((($$0192$lcssa$i)) + 20|0); + $211 = HEAP32[$210>>2]|0; + $212 = ($211|0)==(0|0); + if (!($212)) { + $213 = HEAP32[(24500)>>2]|0; + $214 = ($211>>>0)<($213>>>0); + if ($214) { + _abort(); + // unreachable; + } else { + $215 = ((($$3$i)) + 20|0); + HEAP32[$215>>2] = $211; + $216 = ((($211)) + 24|0); + HEAP32[$216>>2] = $$3$i; + break; + } + } + } + } while(0); + $217 = ($$0193$lcssa$i>>>0)<(16); + if ($217) { + $218 = (($$0193$lcssa$i) + ($6))|0; + $219 = $218 | 3; + $220 = ((($$0192$lcssa$i)) + 4|0); + HEAP32[$220>>2] = $219; + $221 = (($$0192$lcssa$i) + ($218)|0); + $222 = ((($221)) + 4|0); + $223 = HEAP32[$222>>2]|0; + $224 = $223 | 1; + HEAP32[$222>>2] = $224; + } else { + $225 = $6 | 3; + $226 = ((($$0192$lcssa$i)) + 4|0); + HEAP32[$226>>2] = $225; + $227 = $$0193$lcssa$i | 1; + $228 = ((($157)) + 4|0); + HEAP32[$228>>2] = $227; + $229 = (($157) + ($$0193$lcssa$i)|0); + HEAP32[$229>>2] = $$0193$lcssa$i; + $230 = ($37|0)==(0); + if (!($230)) { + $231 = HEAP32[(24504)>>2]|0; + $232 = $37 >>> 3; + $233 = $232 << 1; + $234 = (24524 + ($233<<2)|0); + $235 = 1 << $232; + $236 = $8 & $235; + $237 = ($236|0)==(0); + if ($237) { + $238 = $8 | $235; + HEAP32[6121] = $238; + $$pre$i = ((($234)) + 8|0); + $$0189$i = $234;$$pre$phi$iZ2D = $$pre$i; + } else { + $239 = ((($234)) + 8|0); + $240 = HEAP32[$239>>2]|0; + $241 = HEAP32[(24500)>>2]|0; + $242 = ($240>>>0)<($241>>>0); + if ($242) { + _abort(); + // unreachable; + } else { + $$0189$i = $240;$$pre$phi$iZ2D = $239; + } + } + HEAP32[$$pre$phi$iZ2D>>2] = $231; + $243 = ((($$0189$i)) + 12|0); + HEAP32[$243>>2] = $231; + $244 = ((($231)) + 8|0); + HEAP32[$244>>2] = $$0189$i; + $245 = ((($231)) + 12|0); + HEAP32[$245>>2] = $234; + } + HEAP32[(24492)>>2] = $$0193$lcssa$i; + HEAP32[(24504)>>2] = $157; + } + $246 = ((($$0192$lcssa$i)) + 8|0); + $$0 = $246; + STACKTOP = sp;return ($$0|0); + } + } else { + $$0197 = $6; + } + } else { + $247 = ($0>>>0)>(4294967231); + if ($247) { + $$0197 = -1; + } else { + $248 = (($0) + 11)|0; + $249 = $248 & -8; + $250 = HEAP32[(24488)>>2]|0; + $251 = ($250|0)==(0); + if ($251) { + $$0197 = $249; + } else { + $252 = (0 - ($249))|0; + $253 = $248 >>> 8; + $254 = ($253|0)==(0); + if ($254) { + $$0358$i = 0; + } else { + $255 = ($249>>>0)>(16777215); + if ($255) { + $$0358$i = 31; + } else { + $256 = (($253) + 1048320)|0; + $257 = $256 >>> 16; + $258 = $257 & 8; + $259 = $253 << $258; + $260 = (($259) + 520192)|0; + $261 = $260 >>> 16; + $262 = $261 & 4; + $263 = $262 | $258; + $264 = $259 << $262; + $265 = (($264) + 245760)|0; + $266 = $265 >>> 16; + $267 = $266 & 2; + $268 = $263 | $267; + $269 = (14 - ($268))|0; + $270 = $264 << $267; + $271 = $270 >>> 15; + $272 = (($269) + ($271))|0; + $273 = $272 << 1; + $274 = (($272) + 7)|0; + $275 = $249 >>> $274; + $276 = $275 & 1; + $277 = $276 | $273; + $$0358$i = $277; + } + } + $278 = (24788 + ($$0358$i<<2)|0); + $279 = HEAP32[$278>>2]|0; + $280 = ($279|0)==(0|0); + L117: do { + if ($280) { + $$2355$i = 0;$$3$i201 = 0;$$3350$i = $252; + label = 81; + } else { + $281 = ($$0358$i|0)==(31); + $282 = $$0358$i >>> 1; + $283 = (25 - ($282))|0; + $284 = $281 ? 0 : $283; + $285 = $249 << $284; + $$0342$i = 0;$$0347$i = $252;$$0353$i = $279;$$0359$i = $285;$$0362$i = 0; + while(1) { + $286 = ((($$0353$i)) + 4|0); + $287 = HEAP32[$286>>2]|0; + $288 = $287 & -8; + $289 = (($288) - ($249))|0; + $290 = ($289>>>0)<($$0347$i>>>0); + if ($290) { + $291 = ($289|0)==(0); + if ($291) { + $$415$i = $$0353$i;$$435114$i = 0;$$435713$i = $$0353$i; + label = 85; + break L117; + } else { + $$1343$i = $$0353$i;$$1348$i = $289; + } + } else { + $$1343$i = $$0342$i;$$1348$i = $$0347$i; + } + $292 = ((($$0353$i)) + 20|0); + $293 = HEAP32[$292>>2]|0; + $294 = $$0359$i >>> 31; + $295 = (((($$0353$i)) + 16|0) + ($294<<2)|0); + $296 = HEAP32[$295>>2]|0; + $297 = ($293|0)==(0|0); + $298 = ($293|0)==($296|0); + $or$cond2$i = $297 | $298; + $$1363$i = $or$cond2$i ? $$0362$i : $293; + $299 = ($296|0)==(0|0); + $not$8$i = $299 ^ 1; + $300 = $not$8$i&1; + $$0359$$i = $$0359$i << $300; + if ($299) { + $$2355$i = $$1363$i;$$3$i201 = $$1343$i;$$3350$i = $$1348$i; + label = 81; + break; + } else { + $$0342$i = $$1343$i;$$0347$i = $$1348$i;$$0353$i = $296;$$0359$i = $$0359$$i;$$0362$i = $$1363$i; + } + } + } + } while(0); + if ((label|0) == 81) { + $301 = ($$2355$i|0)==(0|0); + $302 = ($$3$i201|0)==(0|0); + $or$cond$i = $301 & $302; + if ($or$cond$i) { + $303 = 2 << $$0358$i; + $304 = (0 - ($303))|0; + $305 = $303 | $304; + $306 = $250 & $305; + $307 = ($306|0)==(0); + if ($307) { + $$0197 = $249; + break; + } + $308 = (0 - ($306))|0; + $309 = $306 & $308; + $310 = (($309) + -1)|0; + $311 = $310 >>> 12; + $312 = $311 & 16; + $313 = $310 >>> $312; + $314 = $313 >>> 5; + $315 = $314 & 8; + $316 = $315 | $312; + $317 = $313 >>> $315; + $318 = $317 >>> 2; + $319 = $318 & 4; + $320 = $316 | $319; + $321 = $317 >>> $319; + $322 = $321 >>> 1; + $323 = $322 & 2; + $324 = $320 | $323; + $325 = $321 >>> $323; + $326 = $325 >>> 1; + $327 = $326 & 1; + $328 = $324 | $327; + $329 = $325 >>> $327; + $330 = (($328) + ($329))|0; + $331 = (24788 + ($330<<2)|0); + $332 = HEAP32[$331>>2]|0; + $$4$ph$i = 0;$$4357$ph$i = $332; + } else { + $$4$ph$i = $$3$i201;$$4357$ph$i = $$2355$i; + } + $333 = ($$4357$ph$i|0)==(0|0); + if ($333) { + $$4$lcssa$i = $$4$ph$i;$$4351$lcssa$i = $$3350$i; + } else { + $$415$i = $$4$ph$i;$$435114$i = $$3350$i;$$435713$i = $$4357$ph$i; + label = 85; + } + } + if ((label|0) == 85) { + while(1) { + label = 0; + $334 = ((($$435713$i)) + 4|0); + $335 = HEAP32[$334>>2]|0; + $336 = $335 & -8; + $337 = (($336) - ($249))|0; + $338 = ($337>>>0)<($$435114$i>>>0); + $$$4351$i = $338 ? $337 : $$435114$i; + $$4357$$4$i = $338 ? $$435713$i : $$415$i; + $339 = ((($$435713$i)) + 16|0); + $340 = HEAP32[$339>>2]|0; + $not$1$i203 = ($340|0)==(0|0); + $$sink2$i204 = $not$1$i203&1; + $341 = (((($$435713$i)) + 16|0) + ($$sink2$i204<<2)|0); + $342 = HEAP32[$341>>2]|0; + $343 = ($342|0)==(0|0); + if ($343) { + $$4$lcssa$i = $$4357$$4$i;$$4351$lcssa$i = $$$4351$i; + break; + } else { + $$415$i = $$4357$$4$i;$$435114$i = $$$4351$i;$$435713$i = $342; + label = 85; + } + } + } + $344 = ($$4$lcssa$i|0)==(0|0); + if ($344) { + $$0197 = $249; + } else { + $345 = HEAP32[(24492)>>2]|0; + $346 = (($345) - ($249))|0; + $347 = ($$4351$lcssa$i>>>0)<($346>>>0); + if ($347) { + $348 = HEAP32[(24500)>>2]|0; + $349 = ($$4$lcssa$i>>>0)<($348>>>0); + if ($349) { + _abort(); + // unreachable; + } + $350 = (($$4$lcssa$i) + ($249)|0); + $351 = ($$4$lcssa$i>>>0)<($350>>>0); + if (!($351)) { + _abort(); + // unreachable; + } + $352 = ((($$4$lcssa$i)) + 24|0); + $353 = HEAP32[$352>>2]|0; + $354 = ((($$4$lcssa$i)) + 12|0); + $355 = HEAP32[$354>>2]|0; + $356 = ($355|0)==($$4$lcssa$i|0); + do { + if ($356) { + $366 = ((($$4$lcssa$i)) + 20|0); + $367 = HEAP32[$366>>2]|0; + $368 = ($367|0)==(0|0); + if ($368) { + $369 = ((($$4$lcssa$i)) + 16|0); + $370 = HEAP32[$369>>2]|0; + $371 = ($370|0)==(0|0); + if ($371) { + $$3372$i = 0; + break; + } else { + $$1370$i = $370;$$1374$i = $369; + } + } else { + $$1370$i = $367;$$1374$i = $366; + } + while(1) { + $372 = ((($$1370$i)) + 20|0); + $373 = HEAP32[$372>>2]|0; + $374 = ($373|0)==(0|0); + if (!($374)) { + $$1370$i = $373;$$1374$i = $372; + continue; + } + $375 = ((($$1370$i)) + 16|0); + $376 = HEAP32[$375>>2]|0; + $377 = ($376|0)==(0|0); + if ($377) { + break; + } else { + $$1370$i = $376;$$1374$i = $375; + } + } + $378 = ($$1374$i>>>0)<($348>>>0); + if ($378) { + _abort(); + // unreachable; + } else { + HEAP32[$$1374$i>>2] = 0; + $$3372$i = $$1370$i; + break; + } + } else { + $357 = ((($$4$lcssa$i)) + 8|0); + $358 = HEAP32[$357>>2]|0; + $359 = ($358>>>0)<($348>>>0); + if ($359) { + _abort(); + // unreachable; + } + $360 = ((($358)) + 12|0); + $361 = HEAP32[$360>>2]|0; + $362 = ($361|0)==($$4$lcssa$i|0); + if (!($362)) { + _abort(); + // unreachable; + } + $363 = ((($355)) + 8|0); + $364 = HEAP32[$363>>2]|0; + $365 = ($364|0)==($$4$lcssa$i|0); + if ($365) { + HEAP32[$360>>2] = $355; + HEAP32[$363>>2] = $358; + $$3372$i = $355; + break; + } else { + _abort(); + // unreachable; + } + } + } while(0); + $379 = ($353|0)==(0|0); + L164: do { + if ($379) { + $470 = $250; + } else { + $380 = ((($$4$lcssa$i)) + 28|0); + $381 = HEAP32[$380>>2]|0; + $382 = (24788 + ($381<<2)|0); + $383 = HEAP32[$382>>2]|0; + $384 = ($$4$lcssa$i|0)==($383|0); + do { + if ($384) { + HEAP32[$382>>2] = $$3372$i; + $cond$i208 = ($$3372$i|0)==(0|0); + if ($cond$i208) { + $385 = 1 << $381; + $386 = $385 ^ -1; + $387 = $250 & $386; + HEAP32[(24488)>>2] = $387; + $470 = $387; + break L164; + } + } else { + $388 = HEAP32[(24500)>>2]|0; + $389 = ($353>>>0)<($388>>>0); + if ($389) { + _abort(); + // unreachable; + } else { + $390 = ((($353)) + 16|0); + $391 = HEAP32[$390>>2]|0; + $not$$i209 = ($391|0)!=($$4$lcssa$i|0); + $$sink3$i = $not$$i209&1; + $392 = (((($353)) + 16|0) + ($$sink3$i<<2)|0); + HEAP32[$392>>2] = $$3372$i; + $393 = ($$3372$i|0)==(0|0); + if ($393) { + $470 = $250; + break L164; + } else { + break; + } + } + } + } while(0); + $394 = HEAP32[(24500)>>2]|0; + $395 = ($$3372$i>>>0)<($394>>>0); + if ($395) { + _abort(); + // unreachable; + } + $396 = ((($$3372$i)) + 24|0); + HEAP32[$396>>2] = $353; + $397 = ((($$4$lcssa$i)) + 16|0); + $398 = HEAP32[$397>>2]|0; + $399 = ($398|0)==(0|0); + do { + if (!($399)) { + $400 = ($398>>>0)<($394>>>0); + if ($400) { + _abort(); + // unreachable; + } else { + $401 = ((($$3372$i)) + 16|0); + HEAP32[$401>>2] = $398; + $402 = ((($398)) + 24|0); + HEAP32[$402>>2] = $$3372$i; + break; + } + } + } while(0); + $403 = ((($$4$lcssa$i)) + 20|0); + $404 = HEAP32[$403>>2]|0; + $405 = ($404|0)==(0|0); + if ($405) { + $470 = $250; + } else { + $406 = HEAP32[(24500)>>2]|0; + $407 = ($404>>>0)<($406>>>0); + if ($407) { + _abort(); + // unreachable; + } else { + $408 = ((($$3372$i)) + 20|0); + HEAP32[$408>>2] = $404; + $409 = ((($404)) + 24|0); + HEAP32[$409>>2] = $$3372$i; + $470 = $250; + break; + } + } + } + } while(0); + $410 = ($$4351$lcssa$i>>>0)<(16); + do { + if ($410) { + $411 = (($$4351$lcssa$i) + ($249))|0; + $412 = $411 | 3; + $413 = ((($$4$lcssa$i)) + 4|0); + HEAP32[$413>>2] = $412; + $414 = (($$4$lcssa$i) + ($411)|0); + $415 = ((($414)) + 4|0); + $416 = HEAP32[$415>>2]|0; + $417 = $416 | 1; + HEAP32[$415>>2] = $417; + } else { + $418 = $249 | 3; + $419 = ((($$4$lcssa$i)) + 4|0); + HEAP32[$419>>2] = $418; + $420 = $$4351$lcssa$i | 1; + $421 = ((($350)) + 4|0); + HEAP32[$421>>2] = $420; + $422 = (($350) + ($$4351$lcssa$i)|0); + HEAP32[$422>>2] = $$4351$lcssa$i; + $423 = $$4351$lcssa$i >>> 3; + $424 = ($$4351$lcssa$i>>>0)<(256); + if ($424) { + $425 = $423 << 1; + $426 = (24524 + ($425<<2)|0); + $427 = HEAP32[6121]|0; + $428 = 1 << $423; + $429 = $427 & $428; + $430 = ($429|0)==(0); + if ($430) { + $431 = $427 | $428; + HEAP32[6121] = $431; + $$pre$i210 = ((($426)) + 8|0); + $$0368$i = $426;$$pre$phi$i211Z2D = $$pre$i210; + } else { + $432 = ((($426)) + 8|0); + $433 = HEAP32[$432>>2]|0; + $434 = HEAP32[(24500)>>2]|0; + $435 = ($433>>>0)<($434>>>0); + if ($435) { + _abort(); + // unreachable; + } else { + $$0368$i = $433;$$pre$phi$i211Z2D = $432; + } + } + HEAP32[$$pre$phi$i211Z2D>>2] = $350; + $436 = ((($$0368$i)) + 12|0); + HEAP32[$436>>2] = $350; + $437 = ((($350)) + 8|0); + HEAP32[$437>>2] = $$0368$i; + $438 = ((($350)) + 12|0); + HEAP32[$438>>2] = $426; + break; + } + $439 = $$4351$lcssa$i >>> 8; + $440 = ($439|0)==(0); + if ($440) { + $$0361$i = 0; + } else { + $441 = ($$4351$lcssa$i>>>0)>(16777215); + if ($441) { + $$0361$i = 31; + } else { + $442 = (($439) + 1048320)|0; + $443 = $442 >>> 16; + $444 = $443 & 8; + $445 = $439 << $444; + $446 = (($445) + 520192)|0; + $447 = $446 >>> 16; + $448 = $447 & 4; + $449 = $448 | $444; + $450 = $445 << $448; + $451 = (($450) + 245760)|0; + $452 = $451 >>> 16; + $453 = $452 & 2; + $454 = $449 | $453; + $455 = (14 - ($454))|0; + $456 = $450 << $453; + $457 = $456 >>> 15; + $458 = (($455) + ($457))|0; + $459 = $458 << 1; + $460 = (($458) + 7)|0; + $461 = $$4351$lcssa$i >>> $460; + $462 = $461 & 1; + $463 = $462 | $459; + $$0361$i = $463; + } + } + $464 = (24788 + ($$0361$i<<2)|0); + $465 = ((($350)) + 28|0); + HEAP32[$465>>2] = $$0361$i; + $466 = ((($350)) + 16|0); + $467 = ((($466)) + 4|0); + HEAP32[$467>>2] = 0; + HEAP32[$466>>2] = 0; + $468 = 1 << $$0361$i; + $469 = $470 & $468; + $471 = ($469|0)==(0); + if ($471) { + $472 = $470 | $468; + HEAP32[(24488)>>2] = $472; + HEAP32[$464>>2] = $350; + $473 = ((($350)) + 24|0); + HEAP32[$473>>2] = $464; + $474 = ((($350)) + 12|0); + HEAP32[$474>>2] = $350; + $475 = ((($350)) + 8|0); + HEAP32[$475>>2] = $350; + break; + } + $476 = HEAP32[$464>>2]|0; + $477 = ($$0361$i|0)==(31); + $478 = $$0361$i >>> 1; + $479 = (25 - ($478))|0; + $480 = $477 ? 0 : $479; + $481 = $$4351$lcssa$i << $480; + $$0344$i = $481;$$0345$i = $476; + while(1) { + $482 = ((($$0345$i)) + 4|0); + $483 = HEAP32[$482>>2]|0; + $484 = $483 & -8; + $485 = ($484|0)==($$4351$lcssa$i|0); + if ($485) { + label = 139; + break; + } + $486 = $$0344$i >>> 31; + $487 = (((($$0345$i)) + 16|0) + ($486<<2)|0); + $488 = $$0344$i << 1; + $489 = HEAP32[$487>>2]|0; + $490 = ($489|0)==(0|0); + if ($490) { + label = 136; + break; + } else { + $$0344$i = $488;$$0345$i = $489; + } + } + if ((label|0) == 136) { + $491 = HEAP32[(24500)>>2]|0; + $492 = ($487>>>0)<($491>>>0); + if ($492) { + _abort(); + // unreachable; + } else { + HEAP32[$487>>2] = $350; + $493 = ((($350)) + 24|0); + HEAP32[$493>>2] = $$0345$i; + $494 = ((($350)) + 12|0); + HEAP32[$494>>2] = $350; + $495 = ((($350)) + 8|0); + HEAP32[$495>>2] = $350; + break; + } + } + else if ((label|0) == 139) { + $496 = ((($$0345$i)) + 8|0); + $497 = HEAP32[$496>>2]|0; + $498 = HEAP32[(24500)>>2]|0; + $499 = ($497>>>0)>=($498>>>0); + $not$9$i = ($$0345$i>>>0)>=($498>>>0); + $500 = $499 & $not$9$i; + if ($500) { + $501 = ((($497)) + 12|0); + HEAP32[$501>>2] = $350; + HEAP32[$496>>2] = $350; + $502 = ((($350)) + 8|0); + HEAP32[$502>>2] = $497; + $503 = ((($350)) + 12|0); + HEAP32[$503>>2] = $$0345$i; + $504 = ((($350)) + 24|0); + HEAP32[$504>>2] = 0; + break; + } else { + _abort(); + // unreachable; + } + } + } + } while(0); + $505 = ((($$4$lcssa$i)) + 8|0); + $$0 = $505; + STACKTOP = sp;return ($$0|0); + } else { + $$0197 = $249; + } + } + } + } + } + } while(0); + $506 = HEAP32[(24492)>>2]|0; + $507 = ($506>>>0)<($$0197>>>0); + if (!($507)) { + $508 = (($506) - ($$0197))|0; + $509 = HEAP32[(24504)>>2]|0; + $510 = ($508>>>0)>(15); + if ($510) { + $511 = (($509) + ($$0197)|0); + HEAP32[(24504)>>2] = $511; + HEAP32[(24492)>>2] = $508; + $512 = $508 | 1; + $513 = ((($511)) + 4|0); + HEAP32[$513>>2] = $512; + $514 = (($511) + ($508)|0); + HEAP32[$514>>2] = $508; + $515 = $$0197 | 3; + $516 = ((($509)) + 4|0); + HEAP32[$516>>2] = $515; + } else { + HEAP32[(24492)>>2] = 0; + HEAP32[(24504)>>2] = 0; + $517 = $506 | 3; + $518 = ((($509)) + 4|0); + HEAP32[$518>>2] = $517; + $519 = (($509) + ($506)|0); + $520 = ((($519)) + 4|0); + $521 = HEAP32[$520>>2]|0; + $522 = $521 | 1; + HEAP32[$520>>2] = $522; + } + $523 = ((($509)) + 8|0); + $$0 = $523; + STACKTOP = sp;return ($$0|0); + } + $524 = HEAP32[(24496)>>2]|0; + $525 = ($524>>>0)>($$0197>>>0); + if ($525) { + $526 = (($524) - ($$0197))|0; + HEAP32[(24496)>>2] = $526; + $527 = HEAP32[(24508)>>2]|0; + $528 = (($527) + ($$0197)|0); + HEAP32[(24508)>>2] = $528; + $529 = $526 | 1; + $530 = ((($528)) + 4|0); + HEAP32[$530>>2] = $529; + $531 = $$0197 | 3; + $532 = ((($527)) + 4|0); + HEAP32[$532>>2] = $531; + $533 = ((($527)) + 8|0); + $$0 = $533; + STACKTOP = sp;return ($$0|0); + } + $534 = HEAP32[6239]|0; + $535 = ($534|0)==(0); + if ($535) { + HEAP32[(24964)>>2] = 4096; + HEAP32[(24960)>>2] = 4096; + HEAP32[(24968)>>2] = -1; + HEAP32[(24972)>>2] = -1; + HEAP32[(24976)>>2] = 0; + HEAP32[(24928)>>2] = 0; + $536 = $1; + $537 = $536 & -16; + $538 = $537 ^ 1431655768; + HEAP32[$1>>2] = $538; + HEAP32[6239] = $538; + $542 = 4096; + } else { + $$pre$i212 = HEAP32[(24964)>>2]|0; + $542 = $$pre$i212; + } + $539 = (($$0197) + 48)|0; + $540 = (($$0197) + 47)|0; + $541 = (($542) + ($540))|0; + $543 = (0 - ($542))|0; + $544 = $541 & $543; + $545 = ($544>>>0)>($$0197>>>0); + if (!($545)) { + $$0 = 0; + STACKTOP = sp;return ($$0|0); + } + $546 = HEAP32[(24924)>>2]|0; + $547 = ($546|0)==(0); + if (!($547)) { + $548 = HEAP32[(24916)>>2]|0; + $549 = (($548) + ($544))|0; + $550 = ($549>>>0)<=($548>>>0); + $551 = ($549>>>0)>($546>>>0); + $or$cond1$i = $550 | $551; + if ($or$cond1$i) { + $$0 = 0; + STACKTOP = sp;return ($$0|0); + } + } + $552 = HEAP32[(24928)>>2]|0; + $553 = $552 & 4; + $554 = ($553|0)==(0); + L244: do { + if ($554) { + $555 = HEAP32[(24508)>>2]|0; + $556 = ($555|0)==(0|0); + L246: do { + if ($556) { + label = 163; + } else { + $$0$i$i = (24932); + while(1) { + $557 = HEAP32[$$0$i$i>>2]|0; + $558 = ($557>>>0)>($555>>>0); + if (!($558)) { + $559 = ((($$0$i$i)) + 4|0); + $560 = HEAP32[$559>>2]|0; + $561 = (($557) + ($560)|0); + $562 = ($561>>>0)>($555>>>0); + if ($562) { + break; + } + } + $563 = ((($$0$i$i)) + 8|0); + $564 = HEAP32[$563>>2]|0; + $565 = ($564|0)==(0|0); + if ($565) { + label = 163; + break L246; + } else { + $$0$i$i = $564; + } + } + $588 = (($541) - ($524))|0; + $589 = $588 & $543; + $590 = ($589>>>0)<(2147483647); + if ($590) { + $591 = (_sbrk(($589|0))|0); + $592 = HEAP32[$$0$i$i>>2]|0; + $593 = HEAP32[$559>>2]|0; + $594 = (($592) + ($593)|0); + $595 = ($591|0)==($594|0); + if ($595) { + $596 = ($591|0)==((-1)|0); + if ($596) { + $$2234253237$i = $589; + } else { + $$723948$i = $589;$$749$i = $591; + label = 180; + break L244; + } + } else { + $$2247$ph$i = $591;$$2253$ph$i = $589; + label = 171; + } + } else { + $$2234253237$i = 0; + } + } + } while(0); + do { + if ((label|0) == 163) { + $566 = (_sbrk(0)|0); + $567 = ($566|0)==((-1)|0); + if ($567) { + $$2234253237$i = 0; + } else { + $568 = $566; + $569 = HEAP32[(24960)>>2]|0; + $570 = (($569) + -1)|0; + $571 = $570 & $568; + $572 = ($571|0)==(0); + $573 = (($570) + ($568))|0; + $574 = (0 - ($569))|0; + $575 = $573 & $574; + $576 = (($575) - ($568))|0; + $577 = $572 ? 0 : $576; + $$$i = (($577) + ($544))|0; + $578 = HEAP32[(24916)>>2]|0; + $579 = (($$$i) + ($578))|0; + $580 = ($$$i>>>0)>($$0197>>>0); + $581 = ($$$i>>>0)<(2147483647); + $or$cond$i214 = $580 & $581; + if ($or$cond$i214) { + $582 = HEAP32[(24924)>>2]|0; + $583 = ($582|0)==(0); + if (!($583)) { + $584 = ($579>>>0)<=($578>>>0); + $585 = ($579>>>0)>($582>>>0); + $or$cond2$i215 = $584 | $585; + if ($or$cond2$i215) { + $$2234253237$i = 0; + break; + } + } + $586 = (_sbrk(($$$i|0))|0); + $587 = ($586|0)==($566|0); + if ($587) { + $$723948$i = $$$i;$$749$i = $566; + label = 180; + break L244; + } else { + $$2247$ph$i = $586;$$2253$ph$i = $$$i; + label = 171; + } + } else { + $$2234253237$i = 0; + } + } + } + } while(0); + do { + if ((label|0) == 171) { + $597 = (0 - ($$2253$ph$i))|0; + $598 = ($$2247$ph$i|0)!=((-1)|0); + $599 = ($$2253$ph$i>>>0)<(2147483647); + $or$cond7$i = $599 & $598; + $600 = ($539>>>0)>($$2253$ph$i>>>0); + $or$cond10$i = $600 & $or$cond7$i; + if (!($or$cond10$i)) { + $610 = ($$2247$ph$i|0)==((-1)|0); + if ($610) { + $$2234253237$i = 0; + break; + } else { + $$723948$i = $$2253$ph$i;$$749$i = $$2247$ph$i; + label = 180; + break L244; + } + } + $601 = HEAP32[(24964)>>2]|0; + $602 = (($540) - ($$2253$ph$i))|0; + $603 = (($602) + ($601))|0; + $604 = (0 - ($601))|0; + $605 = $603 & $604; + $606 = ($605>>>0)<(2147483647); + if (!($606)) { + $$723948$i = $$2253$ph$i;$$749$i = $$2247$ph$i; + label = 180; + break L244; + } + $607 = (_sbrk(($605|0))|0); + $608 = ($607|0)==((-1)|0); + if ($608) { + (_sbrk(($597|0))|0); + $$2234253237$i = 0; + break; + } else { + $609 = (($605) + ($$2253$ph$i))|0; + $$723948$i = $609;$$749$i = $$2247$ph$i; + label = 180; + break L244; + } + } + } while(0); + $611 = HEAP32[(24928)>>2]|0; + $612 = $611 | 4; + HEAP32[(24928)>>2] = $612; + $$4236$i = $$2234253237$i; + label = 178; + } else { + $$4236$i = 0; + label = 178; + } + } while(0); + if ((label|0) == 178) { + $613 = ($544>>>0)<(2147483647); + if ($613) { + $614 = (_sbrk(($544|0))|0); + $615 = (_sbrk(0)|0); + $616 = ($614|0)!=((-1)|0); + $617 = ($615|0)!=((-1)|0); + $or$cond5$i = $616 & $617; + $618 = ($614>>>0)<($615>>>0); + $or$cond11$i = $618 & $or$cond5$i; + $619 = $615; + $620 = $614; + $621 = (($619) - ($620))|0; + $622 = (($$0197) + 40)|0; + $623 = ($621>>>0)>($622>>>0); + $$$4236$i = $623 ? $621 : $$4236$i; + $or$cond11$not$i = $or$cond11$i ^ 1; + $624 = ($614|0)==((-1)|0); + $not$$i216 = $623 ^ 1; + $625 = $624 | $not$$i216; + $or$cond50$i = $625 | $or$cond11$not$i; + if (!($or$cond50$i)) { + $$723948$i = $$$4236$i;$$749$i = $614; + label = 180; + } + } + } + if ((label|0) == 180) { + $626 = HEAP32[(24916)>>2]|0; + $627 = (($626) + ($$723948$i))|0; + HEAP32[(24916)>>2] = $627; + $628 = HEAP32[(24920)>>2]|0; + $629 = ($627>>>0)>($628>>>0); + if ($629) { + HEAP32[(24920)>>2] = $627; + } + $630 = HEAP32[(24508)>>2]|0; + $631 = ($630|0)==(0|0); + do { + if ($631) { + $632 = HEAP32[(24500)>>2]|0; + $633 = ($632|0)==(0|0); + $634 = ($$749$i>>>0)<($632>>>0); + $or$cond12$i = $633 | $634; + if ($or$cond12$i) { + HEAP32[(24500)>>2] = $$749$i; + } + HEAP32[(24932)>>2] = $$749$i; + HEAP32[(24936)>>2] = $$723948$i; + HEAP32[(24944)>>2] = 0; + $635 = HEAP32[6239]|0; + HEAP32[(24520)>>2] = $635; + HEAP32[(24516)>>2] = -1; + $$01$i$i = 0; + while(1) { + $636 = $$01$i$i << 1; + $637 = (24524 + ($636<<2)|0); + $638 = ((($637)) + 12|0); + HEAP32[$638>>2] = $637; + $639 = ((($637)) + 8|0); + HEAP32[$639>>2] = $637; + $640 = (($$01$i$i) + 1)|0; + $exitcond$i$i = ($640|0)==(32); + if ($exitcond$i$i) { + break; + } else { + $$01$i$i = $640; + } + } + $641 = (($$723948$i) + -40)|0; + $642 = ((($$749$i)) + 8|0); + $643 = $642; + $644 = $643 & 7; + $645 = ($644|0)==(0); + $646 = (0 - ($643))|0; + $647 = $646 & 7; + $648 = $645 ? 0 : $647; + $649 = (($$749$i) + ($648)|0); + $650 = (($641) - ($648))|0; + HEAP32[(24508)>>2] = $649; + HEAP32[(24496)>>2] = $650; + $651 = $650 | 1; + $652 = ((($649)) + 4|0); + HEAP32[$652>>2] = $651; + $653 = (($649) + ($650)|0); + $654 = ((($653)) + 4|0); + HEAP32[$654>>2] = 40; + $655 = HEAP32[(24972)>>2]|0; + HEAP32[(24512)>>2] = $655; + } else { + $$024371$i = (24932); + while(1) { + $656 = HEAP32[$$024371$i>>2]|0; + $657 = ((($$024371$i)) + 4|0); + $658 = HEAP32[$657>>2]|0; + $659 = (($656) + ($658)|0); + $660 = ($$749$i|0)==($659|0); + if ($660) { + label = 190; + break; + } + $661 = ((($$024371$i)) + 8|0); + $662 = HEAP32[$661>>2]|0; + $663 = ($662|0)==(0|0); + if ($663) { + break; + } else { + $$024371$i = $662; + } + } + if ((label|0) == 190) { + $664 = ((($$024371$i)) + 12|0); + $665 = HEAP32[$664>>2]|0; + $666 = $665 & 8; + $667 = ($666|0)==(0); + if ($667) { + $668 = ($630>>>0)>=($656>>>0); + $669 = ($630>>>0)<($$749$i>>>0); + $or$cond51$i = $669 & $668; + if ($or$cond51$i) { + $670 = (($658) + ($$723948$i))|0; + HEAP32[$657>>2] = $670; + $671 = HEAP32[(24496)>>2]|0; + $672 = ((($630)) + 8|0); + $673 = $672; + $674 = $673 & 7; + $675 = ($674|0)==(0); + $676 = (0 - ($673))|0; + $677 = $676 & 7; + $678 = $675 ? 0 : $677; + $679 = (($630) + ($678)|0); + $680 = (($$723948$i) - ($678))|0; + $681 = (($671) + ($680))|0; + HEAP32[(24508)>>2] = $679; + HEAP32[(24496)>>2] = $681; + $682 = $681 | 1; + $683 = ((($679)) + 4|0); + HEAP32[$683>>2] = $682; + $684 = (($679) + ($681)|0); + $685 = ((($684)) + 4|0); + HEAP32[$685>>2] = 40; + $686 = HEAP32[(24972)>>2]|0; + HEAP32[(24512)>>2] = $686; + break; + } + } + } + $687 = HEAP32[(24500)>>2]|0; + $688 = ($$749$i>>>0)<($687>>>0); + if ($688) { + HEAP32[(24500)>>2] = $$749$i; + $752 = $$749$i; + } else { + $752 = $687; + } + $689 = (($$749$i) + ($$723948$i)|0); + $$124470$i = (24932); + while(1) { + $690 = HEAP32[$$124470$i>>2]|0; + $691 = ($690|0)==($689|0); + if ($691) { + label = 198; + break; + } + $692 = ((($$124470$i)) + 8|0); + $693 = HEAP32[$692>>2]|0; + $694 = ($693|0)==(0|0); + if ($694) { + break; + } else { + $$124470$i = $693; + } + } + if ((label|0) == 198) { + $695 = ((($$124470$i)) + 12|0); + $696 = HEAP32[$695>>2]|0; + $697 = $696 & 8; + $698 = ($697|0)==(0); + if ($698) { + HEAP32[$$124470$i>>2] = $$749$i; + $699 = ((($$124470$i)) + 4|0); + $700 = HEAP32[$699>>2]|0; + $701 = (($700) + ($$723948$i))|0; + HEAP32[$699>>2] = $701; + $702 = ((($$749$i)) + 8|0); + $703 = $702; + $704 = $703 & 7; + $705 = ($704|0)==(0); + $706 = (0 - ($703))|0; + $707 = $706 & 7; + $708 = $705 ? 0 : $707; + $709 = (($$749$i) + ($708)|0); + $710 = ((($689)) + 8|0); + $711 = $710; + $712 = $711 & 7; + $713 = ($712|0)==(0); + $714 = (0 - ($711))|0; + $715 = $714 & 7; + $716 = $713 ? 0 : $715; + $717 = (($689) + ($716)|0); + $718 = $717; + $719 = $709; + $720 = (($718) - ($719))|0; + $721 = (($709) + ($$0197)|0); + $722 = (($720) - ($$0197))|0; + $723 = $$0197 | 3; + $724 = ((($709)) + 4|0); + HEAP32[$724>>2] = $723; + $725 = ($717|0)==($630|0); + do { + if ($725) { + $726 = HEAP32[(24496)>>2]|0; + $727 = (($726) + ($722))|0; + HEAP32[(24496)>>2] = $727; + HEAP32[(24508)>>2] = $721; + $728 = $727 | 1; + $729 = ((($721)) + 4|0); + HEAP32[$729>>2] = $728; + } else { + $730 = HEAP32[(24504)>>2]|0; + $731 = ($717|0)==($730|0); + if ($731) { + $732 = HEAP32[(24492)>>2]|0; + $733 = (($732) + ($722))|0; + HEAP32[(24492)>>2] = $733; + HEAP32[(24504)>>2] = $721; + $734 = $733 | 1; + $735 = ((($721)) + 4|0); + HEAP32[$735>>2] = $734; + $736 = (($721) + ($733)|0); + HEAP32[$736>>2] = $733; + break; + } + $737 = ((($717)) + 4|0); + $738 = HEAP32[$737>>2]|0; + $739 = $738 & 3; + $740 = ($739|0)==(1); + if ($740) { + $741 = $738 & -8; + $742 = $738 >>> 3; + $743 = ($738>>>0)<(256); + L314: do { + if ($743) { + $744 = ((($717)) + 8|0); + $745 = HEAP32[$744>>2]|0; + $746 = ((($717)) + 12|0); + $747 = HEAP32[$746>>2]|0; + $748 = $742 << 1; + $749 = (24524 + ($748<<2)|0); + $750 = ($745|0)==($749|0); + do { + if (!($750)) { + $751 = ($745>>>0)<($752>>>0); + if ($751) { + _abort(); + // unreachable; + } + $753 = ((($745)) + 12|0); + $754 = HEAP32[$753>>2]|0; + $755 = ($754|0)==($717|0); + if ($755) { + break; + } + _abort(); + // unreachable; + } + } while(0); + $756 = ($747|0)==($745|0); + if ($756) { + $757 = 1 << $742; + $758 = $757 ^ -1; + $759 = HEAP32[6121]|0; + $760 = $759 & $758; + HEAP32[6121] = $760; + break; + } + $761 = ($747|0)==($749|0); + do { + if ($761) { + $$pre10$i$i = ((($747)) + 8|0); + $$pre$phi11$i$iZ2D = $$pre10$i$i; + } else { + $762 = ($747>>>0)<($752>>>0); + if ($762) { + _abort(); + // unreachable; + } + $763 = ((($747)) + 8|0); + $764 = HEAP32[$763>>2]|0; + $765 = ($764|0)==($717|0); + if ($765) { + $$pre$phi11$i$iZ2D = $763; + break; + } + _abort(); + // unreachable; + } + } while(0); + $766 = ((($745)) + 12|0); + HEAP32[$766>>2] = $747; + HEAP32[$$pre$phi11$i$iZ2D>>2] = $745; + } else { + $767 = ((($717)) + 24|0); + $768 = HEAP32[$767>>2]|0; + $769 = ((($717)) + 12|0); + $770 = HEAP32[$769>>2]|0; + $771 = ($770|0)==($717|0); + do { + if ($771) { + $781 = ((($717)) + 16|0); + $782 = ((($781)) + 4|0); + $783 = HEAP32[$782>>2]|0; + $784 = ($783|0)==(0|0); + if ($784) { + $785 = HEAP32[$781>>2]|0; + $786 = ($785|0)==(0|0); + if ($786) { + $$3$i$i = 0; + break; + } else { + $$1291$i$i = $785;$$1293$i$i = $781; + } + } else { + $$1291$i$i = $783;$$1293$i$i = $782; + } + while(1) { + $787 = ((($$1291$i$i)) + 20|0); + $788 = HEAP32[$787>>2]|0; + $789 = ($788|0)==(0|0); + if (!($789)) { + $$1291$i$i = $788;$$1293$i$i = $787; + continue; + } + $790 = ((($$1291$i$i)) + 16|0); + $791 = HEAP32[$790>>2]|0; + $792 = ($791|0)==(0|0); + if ($792) { + break; + } else { + $$1291$i$i = $791;$$1293$i$i = $790; + } + } + $793 = ($$1293$i$i>>>0)<($752>>>0); + if ($793) { + _abort(); + // unreachable; + } else { + HEAP32[$$1293$i$i>>2] = 0; + $$3$i$i = $$1291$i$i; + break; + } + } else { + $772 = ((($717)) + 8|0); + $773 = HEAP32[$772>>2]|0; + $774 = ($773>>>0)<($752>>>0); + if ($774) { + _abort(); + // unreachable; + } + $775 = ((($773)) + 12|0); + $776 = HEAP32[$775>>2]|0; + $777 = ($776|0)==($717|0); + if (!($777)) { + _abort(); + // unreachable; + } + $778 = ((($770)) + 8|0); + $779 = HEAP32[$778>>2]|0; + $780 = ($779|0)==($717|0); + if ($780) { + HEAP32[$775>>2] = $770; + HEAP32[$778>>2] = $773; + $$3$i$i = $770; + break; + } else { + _abort(); + // unreachable; + } + } + } while(0); + $794 = ($768|0)==(0|0); + if ($794) { + break; + } + $795 = ((($717)) + 28|0); + $796 = HEAP32[$795>>2]|0; + $797 = (24788 + ($796<<2)|0); + $798 = HEAP32[$797>>2]|0; + $799 = ($717|0)==($798|0); + do { + if ($799) { + HEAP32[$797>>2] = $$3$i$i; + $cond$i$i = ($$3$i$i|0)==(0|0); + if (!($cond$i$i)) { + break; + } + $800 = 1 << $796; + $801 = $800 ^ -1; + $802 = HEAP32[(24488)>>2]|0; + $803 = $802 & $801; + HEAP32[(24488)>>2] = $803; + break L314; + } else { + $804 = HEAP32[(24500)>>2]|0; + $805 = ($768>>>0)<($804>>>0); + if ($805) { + _abort(); + // unreachable; + } else { + $806 = ((($768)) + 16|0); + $807 = HEAP32[$806>>2]|0; + $not$$i17$i = ($807|0)!=($717|0); + $$sink1$i$i = $not$$i17$i&1; + $808 = (((($768)) + 16|0) + ($$sink1$i$i<<2)|0); + HEAP32[$808>>2] = $$3$i$i; + $809 = ($$3$i$i|0)==(0|0); + if ($809) { + break L314; + } else { + break; + } + } + } + } while(0); + $810 = HEAP32[(24500)>>2]|0; + $811 = ($$3$i$i>>>0)<($810>>>0); + if ($811) { + _abort(); + // unreachable; + } + $812 = ((($$3$i$i)) + 24|0); + HEAP32[$812>>2] = $768; + $813 = ((($717)) + 16|0); + $814 = HEAP32[$813>>2]|0; + $815 = ($814|0)==(0|0); + do { + if (!($815)) { + $816 = ($814>>>0)<($810>>>0); + if ($816) { + _abort(); + // unreachable; + } else { + $817 = ((($$3$i$i)) + 16|0); + HEAP32[$817>>2] = $814; + $818 = ((($814)) + 24|0); + HEAP32[$818>>2] = $$3$i$i; + break; + } + } + } while(0); + $819 = ((($813)) + 4|0); + $820 = HEAP32[$819>>2]|0; + $821 = ($820|0)==(0|0); + if ($821) { + break; + } + $822 = HEAP32[(24500)>>2]|0; + $823 = ($820>>>0)<($822>>>0); + if ($823) { + _abort(); + // unreachable; + } else { + $824 = ((($$3$i$i)) + 20|0); + HEAP32[$824>>2] = $820; + $825 = ((($820)) + 24|0); + HEAP32[$825>>2] = $$3$i$i; + break; + } + } + } while(0); + $826 = (($717) + ($741)|0); + $827 = (($741) + ($722))|0; + $$0$i18$i = $826;$$0287$i$i = $827; + } else { + $$0$i18$i = $717;$$0287$i$i = $722; + } + $828 = ((($$0$i18$i)) + 4|0); + $829 = HEAP32[$828>>2]|0; + $830 = $829 & -2; + HEAP32[$828>>2] = $830; + $831 = $$0287$i$i | 1; + $832 = ((($721)) + 4|0); + HEAP32[$832>>2] = $831; + $833 = (($721) + ($$0287$i$i)|0); + HEAP32[$833>>2] = $$0287$i$i; + $834 = $$0287$i$i >>> 3; + $835 = ($$0287$i$i>>>0)<(256); + if ($835) { + $836 = $834 << 1; + $837 = (24524 + ($836<<2)|0); + $838 = HEAP32[6121]|0; + $839 = 1 << $834; + $840 = $838 & $839; + $841 = ($840|0)==(0); + do { + if ($841) { + $842 = $838 | $839; + HEAP32[6121] = $842; + $$pre$i19$i = ((($837)) + 8|0); + $$0295$i$i = $837;$$pre$phi$i20$iZ2D = $$pre$i19$i; + } else { + $843 = ((($837)) + 8|0); + $844 = HEAP32[$843>>2]|0; + $845 = HEAP32[(24500)>>2]|0; + $846 = ($844>>>0)<($845>>>0); + if (!($846)) { + $$0295$i$i = $844;$$pre$phi$i20$iZ2D = $843; + break; + } + _abort(); + // unreachable; + } + } while(0); + HEAP32[$$pre$phi$i20$iZ2D>>2] = $721; + $847 = ((($$0295$i$i)) + 12|0); + HEAP32[$847>>2] = $721; + $848 = ((($721)) + 8|0); + HEAP32[$848>>2] = $$0295$i$i; + $849 = ((($721)) + 12|0); + HEAP32[$849>>2] = $837; + break; + } + $850 = $$0287$i$i >>> 8; + $851 = ($850|0)==(0); + do { + if ($851) { + $$0296$i$i = 0; + } else { + $852 = ($$0287$i$i>>>0)>(16777215); + if ($852) { + $$0296$i$i = 31; + break; + } + $853 = (($850) + 1048320)|0; + $854 = $853 >>> 16; + $855 = $854 & 8; + $856 = $850 << $855; + $857 = (($856) + 520192)|0; + $858 = $857 >>> 16; + $859 = $858 & 4; + $860 = $859 | $855; + $861 = $856 << $859; + $862 = (($861) + 245760)|0; + $863 = $862 >>> 16; + $864 = $863 & 2; + $865 = $860 | $864; + $866 = (14 - ($865))|0; + $867 = $861 << $864; + $868 = $867 >>> 15; + $869 = (($866) + ($868))|0; + $870 = $869 << 1; + $871 = (($869) + 7)|0; + $872 = $$0287$i$i >>> $871; + $873 = $872 & 1; + $874 = $873 | $870; + $$0296$i$i = $874; + } + } while(0); + $875 = (24788 + ($$0296$i$i<<2)|0); + $876 = ((($721)) + 28|0); + HEAP32[$876>>2] = $$0296$i$i; + $877 = ((($721)) + 16|0); + $878 = ((($877)) + 4|0); + HEAP32[$878>>2] = 0; + HEAP32[$877>>2] = 0; + $879 = HEAP32[(24488)>>2]|0; + $880 = 1 << $$0296$i$i; + $881 = $879 & $880; + $882 = ($881|0)==(0); + if ($882) { + $883 = $879 | $880; + HEAP32[(24488)>>2] = $883; + HEAP32[$875>>2] = $721; + $884 = ((($721)) + 24|0); + HEAP32[$884>>2] = $875; + $885 = ((($721)) + 12|0); + HEAP32[$885>>2] = $721; + $886 = ((($721)) + 8|0); + HEAP32[$886>>2] = $721; + break; + } + $887 = HEAP32[$875>>2]|0; + $888 = ($$0296$i$i|0)==(31); + $889 = $$0296$i$i >>> 1; + $890 = (25 - ($889))|0; + $891 = $888 ? 0 : $890; + $892 = $$0287$i$i << $891; + $$0288$i$i = $892;$$0289$i$i = $887; + while(1) { + $893 = ((($$0289$i$i)) + 4|0); + $894 = HEAP32[$893>>2]|0; + $895 = $894 & -8; + $896 = ($895|0)==($$0287$i$i|0); + if ($896) { + label = 265; + break; + } + $897 = $$0288$i$i >>> 31; + $898 = (((($$0289$i$i)) + 16|0) + ($897<<2)|0); + $899 = $$0288$i$i << 1; + $900 = HEAP32[$898>>2]|0; + $901 = ($900|0)==(0|0); + if ($901) { + label = 262; + break; + } else { + $$0288$i$i = $899;$$0289$i$i = $900; + } + } + if ((label|0) == 262) { + $902 = HEAP32[(24500)>>2]|0; + $903 = ($898>>>0)<($902>>>0); + if ($903) { + _abort(); + // unreachable; + } else { + HEAP32[$898>>2] = $721; + $904 = ((($721)) + 24|0); + HEAP32[$904>>2] = $$0289$i$i; + $905 = ((($721)) + 12|0); + HEAP32[$905>>2] = $721; + $906 = ((($721)) + 8|0); + HEAP32[$906>>2] = $721; + break; + } + } + else if ((label|0) == 265) { + $907 = ((($$0289$i$i)) + 8|0); + $908 = HEAP32[$907>>2]|0; + $909 = HEAP32[(24500)>>2]|0; + $910 = ($908>>>0)>=($909>>>0); + $not$7$i$i = ($$0289$i$i>>>0)>=($909>>>0); + $911 = $910 & $not$7$i$i; + if ($911) { + $912 = ((($908)) + 12|0); + HEAP32[$912>>2] = $721; + HEAP32[$907>>2] = $721; + $913 = ((($721)) + 8|0); + HEAP32[$913>>2] = $908; + $914 = ((($721)) + 12|0); + HEAP32[$914>>2] = $$0289$i$i; + $915 = ((($721)) + 24|0); + HEAP32[$915>>2] = 0; + break; + } else { + _abort(); + // unreachable; + } + } + } + } while(0); + $1047 = ((($709)) + 8|0); + $$0 = $1047; + STACKTOP = sp;return ($$0|0); + } + } + $$0$i$i$i = (24932); + while(1) { + $916 = HEAP32[$$0$i$i$i>>2]|0; + $917 = ($916>>>0)>($630>>>0); + if (!($917)) { + $918 = ((($$0$i$i$i)) + 4|0); + $919 = HEAP32[$918>>2]|0; + $920 = (($916) + ($919)|0); + $921 = ($920>>>0)>($630>>>0); + if ($921) { + break; + } + } + $922 = ((($$0$i$i$i)) + 8|0); + $923 = HEAP32[$922>>2]|0; + $$0$i$i$i = $923; + } + $924 = ((($920)) + -47|0); + $925 = ((($924)) + 8|0); + $926 = $925; + $927 = $926 & 7; + $928 = ($927|0)==(0); + $929 = (0 - ($926))|0; + $930 = $929 & 7; + $931 = $928 ? 0 : $930; + $932 = (($924) + ($931)|0); + $933 = ((($630)) + 16|0); + $934 = ($932>>>0)<($933>>>0); + $935 = $934 ? $630 : $932; + $936 = ((($935)) + 8|0); + $937 = ((($935)) + 24|0); + $938 = (($$723948$i) + -40)|0; + $939 = ((($$749$i)) + 8|0); + $940 = $939; + $941 = $940 & 7; + $942 = ($941|0)==(0); + $943 = (0 - ($940))|0; + $944 = $943 & 7; + $945 = $942 ? 0 : $944; + $946 = (($$749$i) + ($945)|0); + $947 = (($938) - ($945))|0; + HEAP32[(24508)>>2] = $946; + HEAP32[(24496)>>2] = $947; + $948 = $947 | 1; + $949 = ((($946)) + 4|0); + HEAP32[$949>>2] = $948; + $950 = (($946) + ($947)|0); + $951 = ((($950)) + 4|0); + HEAP32[$951>>2] = 40; + $952 = HEAP32[(24972)>>2]|0; + HEAP32[(24512)>>2] = $952; + $953 = ((($935)) + 4|0); + HEAP32[$953>>2] = 27; + ;HEAP32[$936>>2]=HEAP32[(24932)>>2]|0;HEAP32[$936+4>>2]=HEAP32[(24932)+4>>2]|0;HEAP32[$936+8>>2]=HEAP32[(24932)+8>>2]|0;HEAP32[$936+12>>2]=HEAP32[(24932)+12>>2]|0; + HEAP32[(24932)>>2] = $$749$i; + HEAP32[(24936)>>2] = $$723948$i; + HEAP32[(24944)>>2] = 0; + HEAP32[(24940)>>2] = $936; + $955 = $937; + while(1) { + $954 = ((($955)) + 4|0); + HEAP32[$954>>2] = 7; + $956 = ((($955)) + 8|0); + $957 = ($956>>>0)<($920>>>0); + if ($957) { + $955 = $954; + } else { + break; + } + } + $958 = ($935|0)==($630|0); + if (!($958)) { + $959 = $935; + $960 = $630; + $961 = (($959) - ($960))|0; + $962 = HEAP32[$953>>2]|0; + $963 = $962 & -2; + HEAP32[$953>>2] = $963; + $964 = $961 | 1; + $965 = ((($630)) + 4|0); + HEAP32[$965>>2] = $964; + HEAP32[$935>>2] = $961; + $966 = $961 >>> 3; + $967 = ($961>>>0)<(256); + if ($967) { + $968 = $966 << 1; + $969 = (24524 + ($968<<2)|0); + $970 = HEAP32[6121]|0; + $971 = 1 << $966; + $972 = $970 & $971; + $973 = ($972|0)==(0); + if ($973) { + $974 = $970 | $971; + HEAP32[6121] = $974; + $$pre$i$i = ((($969)) + 8|0); + $$0211$i$i = $969;$$pre$phi$i$iZ2D = $$pre$i$i; + } else { + $975 = ((($969)) + 8|0); + $976 = HEAP32[$975>>2]|0; + $977 = HEAP32[(24500)>>2]|0; + $978 = ($976>>>0)<($977>>>0); + if ($978) { + _abort(); + // unreachable; + } else { + $$0211$i$i = $976;$$pre$phi$i$iZ2D = $975; + } + } + HEAP32[$$pre$phi$i$iZ2D>>2] = $630; + $979 = ((($$0211$i$i)) + 12|0); + HEAP32[$979>>2] = $630; + $980 = ((($630)) + 8|0); + HEAP32[$980>>2] = $$0211$i$i; + $981 = ((($630)) + 12|0); + HEAP32[$981>>2] = $969; + break; + } + $982 = $961 >>> 8; + $983 = ($982|0)==(0); + if ($983) { + $$0212$i$i = 0; + } else { + $984 = ($961>>>0)>(16777215); + if ($984) { + $$0212$i$i = 31; + } else { + $985 = (($982) + 1048320)|0; + $986 = $985 >>> 16; + $987 = $986 & 8; + $988 = $982 << $987; + $989 = (($988) + 520192)|0; + $990 = $989 >>> 16; + $991 = $990 & 4; + $992 = $991 | $987; + $993 = $988 << $991; + $994 = (($993) + 245760)|0; + $995 = $994 >>> 16; + $996 = $995 & 2; + $997 = $992 | $996; + $998 = (14 - ($997))|0; + $999 = $993 << $996; + $1000 = $999 >>> 15; + $1001 = (($998) + ($1000))|0; + $1002 = $1001 << 1; + $1003 = (($1001) + 7)|0; + $1004 = $961 >>> $1003; + $1005 = $1004 & 1; + $1006 = $1005 | $1002; + $$0212$i$i = $1006; + } + } + $1007 = (24788 + ($$0212$i$i<<2)|0); + $1008 = ((($630)) + 28|0); + HEAP32[$1008>>2] = $$0212$i$i; + $1009 = ((($630)) + 20|0); + HEAP32[$1009>>2] = 0; + HEAP32[$933>>2] = 0; + $1010 = HEAP32[(24488)>>2]|0; + $1011 = 1 << $$0212$i$i; + $1012 = $1010 & $1011; + $1013 = ($1012|0)==(0); + if ($1013) { + $1014 = $1010 | $1011; + HEAP32[(24488)>>2] = $1014; + HEAP32[$1007>>2] = $630; + $1015 = ((($630)) + 24|0); + HEAP32[$1015>>2] = $1007; + $1016 = ((($630)) + 12|0); + HEAP32[$1016>>2] = $630; + $1017 = ((($630)) + 8|0); + HEAP32[$1017>>2] = $630; + break; + } + $1018 = HEAP32[$1007>>2]|0; + $1019 = ($$0212$i$i|0)==(31); + $1020 = $$0212$i$i >>> 1; + $1021 = (25 - ($1020))|0; + $1022 = $1019 ? 0 : $1021; + $1023 = $961 << $1022; + $$0206$i$i = $1023;$$0207$i$i = $1018; + while(1) { + $1024 = ((($$0207$i$i)) + 4|0); + $1025 = HEAP32[$1024>>2]|0; + $1026 = $1025 & -8; + $1027 = ($1026|0)==($961|0); + if ($1027) { + label = 292; + break; + } + $1028 = $$0206$i$i >>> 31; + $1029 = (((($$0207$i$i)) + 16|0) + ($1028<<2)|0); + $1030 = $$0206$i$i << 1; + $1031 = HEAP32[$1029>>2]|0; + $1032 = ($1031|0)==(0|0); + if ($1032) { + label = 289; + break; + } else { + $$0206$i$i = $1030;$$0207$i$i = $1031; + } + } + if ((label|0) == 289) { + $1033 = HEAP32[(24500)>>2]|0; + $1034 = ($1029>>>0)<($1033>>>0); + if ($1034) { + _abort(); + // unreachable; + } else { + HEAP32[$1029>>2] = $630; + $1035 = ((($630)) + 24|0); + HEAP32[$1035>>2] = $$0207$i$i; + $1036 = ((($630)) + 12|0); + HEAP32[$1036>>2] = $630; + $1037 = ((($630)) + 8|0); + HEAP32[$1037>>2] = $630; + break; + } + } + else if ((label|0) == 292) { + $1038 = ((($$0207$i$i)) + 8|0); + $1039 = HEAP32[$1038>>2]|0; + $1040 = HEAP32[(24500)>>2]|0; + $1041 = ($1039>>>0)>=($1040>>>0); + $not$$i$i = ($$0207$i$i>>>0)>=($1040>>>0); + $1042 = $1041 & $not$$i$i; + if ($1042) { + $1043 = ((($1039)) + 12|0); + HEAP32[$1043>>2] = $630; + HEAP32[$1038>>2] = $630; + $1044 = ((($630)) + 8|0); + HEAP32[$1044>>2] = $1039; + $1045 = ((($630)) + 12|0); + HEAP32[$1045>>2] = $$0207$i$i; + $1046 = ((($630)) + 24|0); + HEAP32[$1046>>2] = 0; + break; + } else { + _abort(); + // unreachable; + } + } + } + } + } while(0); + $1048 = HEAP32[(24496)>>2]|0; + $1049 = ($1048>>>0)>($$0197>>>0); + if ($1049) { + $1050 = (($1048) - ($$0197))|0; + HEAP32[(24496)>>2] = $1050; + $1051 = HEAP32[(24508)>>2]|0; + $1052 = (($1051) + ($$0197)|0); + HEAP32[(24508)>>2] = $1052; + $1053 = $1050 | 1; + $1054 = ((($1052)) + 4|0); + HEAP32[$1054>>2] = $1053; + $1055 = $$0197 | 3; + $1056 = ((($1051)) + 4|0); + HEAP32[$1056>>2] = $1055; + $1057 = ((($1051)) + 8|0); + $$0 = $1057; + STACKTOP = sp;return ($$0|0); + } + } + $1058 = (___errno_location()|0); + HEAP32[$1058>>2] = 12; + $$0 = 0; + STACKTOP = sp;return ($$0|0); +} +function _free($0) { + $0 = $0|0; + var $$0212$i = 0, $$0212$in$i = 0, $$0383 = 0, $$0384 = 0, $$0396 = 0, $$0403 = 0, $$1 = 0, $$1382 = 0, $$1387 = 0, $$1390 = 0, $$1398 = 0, $$1402 = 0, $$2 = 0, $$3 = 0, $$3400 = 0, $$pre = 0, $$pre$phi443Z2D = 0, $$pre$phi445Z2D = 0, $$pre$phiZ2D = 0, $$pre442 = 0; + var $$pre444 = 0, $$sink3 = 0, $$sink5 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0; + var $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0; + var $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0; + var $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0; + var $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0; + var $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0; + var $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0; + var $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0; + var $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0; + var $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0; + var $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0; + var $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0; + var $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; + var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0; + var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0; + var $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0; + var $99 = 0, $cond421 = 0, $cond422 = 0, $not$ = 0, $not$405 = 0, $not$437 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ($0|0)==(0|0); + if ($1) { + return; + } + $2 = ((($0)) + -8|0); + $3 = HEAP32[(24500)>>2]|0; + $4 = ($2>>>0)<($3>>>0); + if ($4) { + _abort(); + // unreachable; + } + $5 = ((($0)) + -4|0); + $6 = HEAP32[$5>>2]|0; + $7 = $6 & 3; + $8 = ($7|0)==(1); + if ($8) { + _abort(); + // unreachable; + } + $9 = $6 & -8; + $10 = (($2) + ($9)|0); + $11 = $6 & 1; + $12 = ($11|0)==(0); + L10: do { + if ($12) { + $13 = HEAP32[$2>>2]|0; + $14 = ($7|0)==(0); + if ($14) { + return; + } + $15 = (0 - ($13))|0; + $16 = (($2) + ($15)|0); + $17 = (($13) + ($9))|0; + $18 = ($16>>>0)<($3>>>0); + if ($18) { + _abort(); + // unreachable; + } + $19 = HEAP32[(24504)>>2]|0; + $20 = ($16|0)==($19|0); + if ($20) { + $104 = ((($10)) + 4|0); + $105 = HEAP32[$104>>2]|0; + $106 = $105 & 3; + $107 = ($106|0)==(3); + if (!($107)) { + $$1 = $16;$$1382 = $17;$113 = $16; + break; + } + $108 = (($16) + ($17)|0); + $109 = ((($16)) + 4|0); + $110 = $17 | 1; + $111 = $105 & -2; + HEAP32[(24492)>>2] = $17; + HEAP32[$104>>2] = $111; + HEAP32[$109>>2] = $110; + HEAP32[$108>>2] = $17; + return; + } + $21 = $13 >>> 3; + $22 = ($13>>>0)<(256); + if ($22) { + $23 = ((($16)) + 8|0); + $24 = HEAP32[$23>>2]|0; + $25 = ((($16)) + 12|0); + $26 = HEAP32[$25>>2]|0; + $27 = $21 << 1; + $28 = (24524 + ($27<<2)|0); + $29 = ($24|0)==($28|0); + if (!($29)) { + $30 = ($24>>>0)<($3>>>0); + if ($30) { + _abort(); + // unreachable; + } + $31 = ((($24)) + 12|0); + $32 = HEAP32[$31>>2]|0; + $33 = ($32|0)==($16|0); + if (!($33)) { + _abort(); + // unreachable; + } + } + $34 = ($26|0)==($24|0); + if ($34) { + $35 = 1 << $21; + $36 = $35 ^ -1; + $37 = HEAP32[6121]|0; + $38 = $37 & $36; + HEAP32[6121] = $38; + $$1 = $16;$$1382 = $17;$113 = $16; + break; + } + $39 = ($26|0)==($28|0); + if ($39) { + $$pre444 = ((($26)) + 8|0); + $$pre$phi445Z2D = $$pre444; + } else { + $40 = ($26>>>0)<($3>>>0); + if ($40) { + _abort(); + // unreachable; + } + $41 = ((($26)) + 8|0); + $42 = HEAP32[$41>>2]|0; + $43 = ($42|0)==($16|0); + if ($43) { + $$pre$phi445Z2D = $41; + } else { + _abort(); + // unreachable; + } + } + $44 = ((($24)) + 12|0); + HEAP32[$44>>2] = $26; + HEAP32[$$pre$phi445Z2D>>2] = $24; + $$1 = $16;$$1382 = $17;$113 = $16; + break; + } + $45 = ((($16)) + 24|0); + $46 = HEAP32[$45>>2]|0; + $47 = ((($16)) + 12|0); + $48 = HEAP32[$47>>2]|0; + $49 = ($48|0)==($16|0); + do { + if ($49) { + $59 = ((($16)) + 16|0); + $60 = ((($59)) + 4|0); + $61 = HEAP32[$60>>2]|0; + $62 = ($61|0)==(0|0); + if ($62) { + $63 = HEAP32[$59>>2]|0; + $64 = ($63|0)==(0|0); + if ($64) { + $$3 = 0; + break; + } else { + $$1387 = $63;$$1390 = $59; + } + } else { + $$1387 = $61;$$1390 = $60; + } + while(1) { + $65 = ((($$1387)) + 20|0); + $66 = HEAP32[$65>>2]|0; + $67 = ($66|0)==(0|0); + if (!($67)) { + $$1387 = $66;$$1390 = $65; + continue; + } + $68 = ((($$1387)) + 16|0); + $69 = HEAP32[$68>>2]|0; + $70 = ($69|0)==(0|0); + if ($70) { + break; + } else { + $$1387 = $69;$$1390 = $68; + } + } + $71 = ($$1390>>>0)<($3>>>0); + if ($71) { + _abort(); + // unreachable; + } else { + HEAP32[$$1390>>2] = 0; + $$3 = $$1387; + break; + } + } else { + $50 = ((($16)) + 8|0); + $51 = HEAP32[$50>>2]|0; + $52 = ($51>>>0)<($3>>>0); + if ($52) { + _abort(); + // unreachable; + } + $53 = ((($51)) + 12|0); + $54 = HEAP32[$53>>2]|0; + $55 = ($54|0)==($16|0); + if (!($55)) { + _abort(); + // unreachable; + } + $56 = ((($48)) + 8|0); + $57 = HEAP32[$56>>2]|0; + $58 = ($57|0)==($16|0); + if ($58) { + HEAP32[$53>>2] = $48; + HEAP32[$56>>2] = $51; + $$3 = $48; + break; + } else { + _abort(); + // unreachable; + } + } + } while(0); + $72 = ($46|0)==(0|0); + if ($72) { + $$1 = $16;$$1382 = $17;$113 = $16; + } else { + $73 = ((($16)) + 28|0); + $74 = HEAP32[$73>>2]|0; + $75 = (24788 + ($74<<2)|0); + $76 = HEAP32[$75>>2]|0; + $77 = ($16|0)==($76|0); + do { + if ($77) { + HEAP32[$75>>2] = $$3; + $cond421 = ($$3|0)==(0|0); + if ($cond421) { + $78 = 1 << $74; + $79 = $78 ^ -1; + $80 = HEAP32[(24488)>>2]|0; + $81 = $80 & $79; + HEAP32[(24488)>>2] = $81; + $$1 = $16;$$1382 = $17;$113 = $16; + break L10; + } + } else { + $82 = HEAP32[(24500)>>2]|0; + $83 = ($46>>>0)<($82>>>0); + if ($83) { + _abort(); + // unreachable; + } else { + $84 = ((($46)) + 16|0); + $85 = HEAP32[$84>>2]|0; + $not$405 = ($85|0)!=($16|0); + $$sink3 = $not$405&1; + $86 = (((($46)) + 16|0) + ($$sink3<<2)|0); + HEAP32[$86>>2] = $$3; + $87 = ($$3|0)==(0|0); + if ($87) { + $$1 = $16;$$1382 = $17;$113 = $16; + break L10; + } else { + break; + } + } + } + } while(0); + $88 = HEAP32[(24500)>>2]|0; + $89 = ($$3>>>0)<($88>>>0); + if ($89) { + _abort(); + // unreachable; + } + $90 = ((($$3)) + 24|0); + HEAP32[$90>>2] = $46; + $91 = ((($16)) + 16|0); + $92 = HEAP32[$91>>2]|0; + $93 = ($92|0)==(0|0); + do { + if (!($93)) { + $94 = ($92>>>0)<($88>>>0); + if ($94) { + _abort(); + // unreachable; + } else { + $95 = ((($$3)) + 16|0); + HEAP32[$95>>2] = $92; + $96 = ((($92)) + 24|0); + HEAP32[$96>>2] = $$3; + break; + } + } + } while(0); + $97 = ((($91)) + 4|0); + $98 = HEAP32[$97>>2]|0; + $99 = ($98|0)==(0|0); + if ($99) { + $$1 = $16;$$1382 = $17;$113 = $16; + } else { + $100 = HEAP32[(24500)>>2]|0; + $101 = ($98>>>0)<($100>>>0); + if ($101) { + _abort(); + // unreachable; + } else { + $102 = ((($$3)) + 20|0); + HEAP32[$102>>2] = $98; + $103 = ((($98)) + 24|0); + HEAP32[$103>>2] = $$3; + $$1 = $16;$$1382 = $17;$113 = $16; + break; + } + } + } + } else { + $$1 = $2;$$1382 = $9;$113 = $2; + } + } while(0); + $112 = ($113>>>0)<($10>>>0); + if (!($112)) { + _abort(); + // unreachable; + } + $114 = ((($10)) + 4|0); + $115 = HEAP32[$114>>2]|0; + $116 = $115 & 1; + $117 = ($116|0)==(0); + if ($117) { + _abort(); + // unreachable; + } + $118 = $115 & 2; + $119 = ($118|0)==(0); + if ($119) { + $120 = HEAP32[(24508)>>2]|0; + $121 = ($10|0)==($120|0); + $122 = HEAP32[(24504)>>2]|0; + if ($121) { + $123 = HEAP32[(24496)>>2]|0; + $124 = (($123) + ($$1382))|0; + HEAP32[(24496)>>2] = $124; + HEAP32[(24508)>>2] = $$1; + $125 = $124 | 1; + $126 = ((($$1)) + 4|0); + HEAP32[$126>>2] = $125; + $127 = ($$1|0)==($122|0); + if (!($127)) { + return; + } + HEAP32[(24504)>>2] = 0; + HEAP32[(24492)>>2] = 0; + return; + } + $128 = ($10|0)==($122|0); + if ($128) { + $129 = HEAP32[(24492)>>2]|0; + $130 = (($129) + ($$1382))|0; + HEAP32[(24492)>>2] = $130; + HEAP32[(24504)>>2] = $113; + $131 = $130 | 1; + $132 = ((($$1)) + 4|0); + HEAP32[$132>>2] = $131; + $133 = (($113) + ($130)|0); + HEAP32[$133>>2] = $130; + return; + } + $134 = $115 & -8; + $135 = (($134) + ($$1382))|0; + $136 = $115 >>> 3; + $137 = ($115>>>0)<(256); + L108: do { + if ($137) { + $138 = ((($10)) + 8|0); + $139 = HEAP32[$138>>2]|0; + $140 = ((($10)) + 12|0); + $141 = HEAP32[$140>>2]|0; + $142 = $136 << 1; + $143 = (24524 + ($142<<2)|0); + $144 = ($139|0)==($143|0); + if (!($144)) { + $145 = HEAP32[(24500)>>2]|0; + $146 = ($139>>>0)<($145>>>0); + if ($146) { + _abort(); + // unreachable; + } + $147 = ((($139)) + 12|0); + $148 = HEAP32[$147>>2]|0; + $149 = ($148|0)==($10|0); + if (!($149)) { + _abort(); + // unreachable; + } + } + $150 = ($141|0)==($139|0); + if ($150) { + $151 = 1 << $136; + $152 = $151 ^ -1; + $153 = HEAP32[6121]|0; + $154 = $153 & $152; + HEAP32[6121] = $154; + break; + } + $155 = ($141|0)==($143|0); + if ($155) { + $$pre442 = ((($141)) + 8|0); + $$pre$phi443Z2D = $$pre442; + } else { + $156 = HEAP32[(24500)>>2]|0; + $157 = ($141>>>0)<($156>>>0); + if ($157) { + _abort(); + // unreachable; + } + $158 = ((($141)) + 8|0); + $159 = HEAP32[$158>>2]|0; + $160 = ($159|0)==($10|0); + if ($160) { + $$pre$phi443Z2D = $158; + } else { + _abort(); + // unreachable; + } + } + $161 = ((($139)) + 12|0); + HEAP32[$161>>2] = $141; + HEAP32[$$pre$phi443Z2D>>2] = $139; + } else { + $162 = ((($10)) + 24|0); + $163 = HEAP32[$162>>2]|0; + $164 = ((($10)) + 12|0); + $165 = HEAP32[$164>>2]|0; + $166 = ($165|0)==($10|0); + do { + if ($166) { + $177 = ((($10)) + 16|0); + $178 = ((($177)) + 4|0); + $179 = HEAP32[$178>>2]|0; + $180 = ($179|0)==(0|0); + if ($180) { + $181 = HEAP32[$177>>2]|0; + $182 = ($181|0)==(0|0); + if ($182) { + $$3400 = 0; + break; + } else { + $$1398 = $181;$$1402 = $177; + } + } else { + $$1398 = $179;$$1402 = $178; + } + while(1) { + $183 = ((($$1398)) + 20|0); + $184 = HEAP32[$183>>2]|0; + $185 = ($184|0)==(0|0); + if (!($185)) { + $$1398 = $184;$$1402 = $183; + continue; + } + $186 = ((($$1398)) + 16|0); + $187 = HEAP32[$186>>2]|0; + $188 = ($187|0)==(0|0); + if ($188) { + break; + } else { + $$1398 = $187;$$1402 = $186; + } + } + $189 = HEAP32[(24500)>>2]|0; + $190 = ($$1402>>>0)<($189>>>0); + if ($190) { + _abort(); + // unreachable; + } else { + HEAP32[$$1402>>2] = 0; + $$3400 = $$1398; + break; + } + } else { + $167 = ((($10)) + 8|0); + $168 = HEAP32[$167>>2]|0; + $169 = HEAP32[(24500)>>2]|0; + $170 = ($168>>>0)<($169>>>0); + if ($170) { + _abort(); + // unreachable; + } + $171 = ((($168)) + 12|0); + $172 = HEAP32[$171>>2]|0; + $173 = ($172|0)==($10|0); + if (!($173)) { + _abort(); + // unreachable; + } + $174 = ((($165)) + 8|0); + $175 = HEAP32[$174>>2]|0; + $176 = ($175|0)==($10|0); + if ($176) { + HEAP32[$171>>2] = $165; + HEAP32[$174>>2] = $168; + $$3400 = $165; + break; + } else { + _abort(); + // unreachable; + } + } + } while(0); + $191 = ($163|0)==(0|0); + if (!($191)) { + $192 = ((($10)) + 28|0); + $193 = HEAP32[$192>>2]|0; + $194 = (24788 + ($193<<2)|0); + $195 = HEAP32[$194>>2]|0; + $196 = ($10|0)==($195|0); + do { + if ($196) { + HEAP32[$194>>2] = $$3400; + $cond422 = ($$3400|0)==(0|0); + if ($cond422) { + $197 = 1 << $193; + $198 = $197 ^ -1; + $199 = HEAP32[(24488)>>2]|0; + $200 = $199 & $198; + HEAP32[(24488)>>2] = $200; + break L108; + } + } else { + $201 = HEAP32[(24500)>>2]|0; + $202 = ($163>>>0)<($201>>>0); + if ($202) { + _abort(); + // unreachable; + } else { + $203 = ((($163)) + 16|0); + $204 = HEAP32[$203>>2]|0; + $not$ = ($204|0)!=($10|0); + $$sink5 = $not$&1; + $205 = (((($163)) + 16|0) + ($$sink5<<2)|0); + HEAP32[$205>>2] = $$3400; + $206 = ($$3400|0)==(0|0); + if ($206) { + break L108; + } else { + break; + } + } + } + } while(0); + $207 = HEAP32[(24500)>>2]|0; + $208 = ($$3400>>>0)<($207>>>0); + if ($208) { + _abort(); + // unreachable; + } + $209 = ((($$3400)) + 24|0); + HEAP32[$209>>2] = $163; + $210 = ((($10)) + 16|0); + $211 = HEAP32[$210>>2]|0; + $212 = ($211|0)==(0|0); + do { + if (!($212)) { + $213 = ($211>>>0)<($207>>>0); + if ($213) { + _abort(); + // unreachable; + } else { + $214 = ((($$3400)) + 16|0); + HEAP32[$214>>2] = $211; + $215 = ((($211)) + 24|0); + HEAP32[$215>>2] = $$3400; + break; + } + } + } while(0); + $216 = ((($210)) + 4|0); + $217 = HEAP32[$216>>2]|0; + $218 = ($217|0)==(0|0); + if (!($218)) { + $219 = HEAP32[(24500)>>2]|0; + $220 = ($217>>>0)<($219>>>0); + if ($220) { + _abort(); + // unreachable; + } else { + $221 = ((($$3400)) + 20|0); + HEAP32[$221>>2] = $217; + $222 = ((($217)) + 24|0); + HEAP32[$222>>2] = $$3400; + break; + } + } + } + } + } while(0); + $223 = $135 | 1; + $224 = ((($$1)) + 4|0); + HEAP32[$224>>2] = $223; + $225 = (($113) + ($135)|0); + HEAP32[$225>>2] = $135; + $226 = HEAP32[(24504)>>2]|0; + $227 = ($$1|0)==($226|0); + if ($227) { + HEAP32[(24492)>>2] = $135; + return; + } else { + $$2 = $135; + } + } else { + $228 = $115 & -2; + HEAP32[$114>>2] = $228; + $229 = $$1382 | 1; + $230 = ((($$1)) + 4|0); + HEAP32[$230>>2] = $229; + $231 = (($113) + ($$1382)|0); + HEAP32[$231>>2] = $$1382; + $$2 = $$1382; + } + $232 = $$2 >>> 3; + $233 = ($$2>>>0)<(256); + if ($233) { + $234 = $232 << 1; + $235 = (24524 + ($234<<2)|0); + $236 = HEAP32[6121]|0; + $237 = 1 << $232; + $238 = $236 & $237; + $239 = ($238|0)==(0); + if ($239) { + $240 = $236 | $237; + HEAP32[6121] = $240; + $$pre = ((($235)) + 8|0); + $$0403 = $235;$$pre$phiZ2D = $$pre; + } else { + $241 = ((($235)) + 8|0); + $242 = HEAP32[$241>>2]|0; + $243 = HEAP32[(24500)>>2]|0; + $244 = ($242>>>0)<($243>>>0); + if ($244) { + _abort(); + // unreachable; + } else { + $$0403 = $242;$$pre$phiZ2D = $241; + } + } + HEAP32[$$pre$phiZ2D>>2] = $$1; + $245 = ((($$0403)) + 12|0); + HEAP32[$245>>2] = $$1; + $246 = ((($$1)) + 8|0); + HEAP32[$246>>2] = $$0403; + $247 = ((($$1)) + 12|0); + HEAP32[$247>>2] = $235; + return; + } + $248 = $$2 >>> 8; + $249 = ($248|0)==(0); + if ($249) { + $$0396 = 0; + } else { + $250 = ($$2>>>0)>(16777215); + if ($250) { + $$0396 = 31; + } else { + $251 = (($248) + 1048320)|0; + $252 = $251 >>> 16; + $253 = $252 & 8; + $254 = $248 << $253; + $255 = (($254) + 520192)|0; + $256 = $255 >>> 16; + $257 = $256 & 4; + $258 = $257 | $253; + $259 = $254 << $257; + $260 = (($259) + 245760)|0; + $261 = $260 >>> 16; + $262 = $261 & 2; + $263 = $258 | $262; + $264 = (14 - ($263))|0; + $265 = $259 << $262; + $266 = $265 >>> 15; + $267 = (($264) + ($266))|0; + $268 = $267 << 1; + $269 = (($267) + 7)|0; + $270 = $$2 >>> $269; + $271 = $270 & 1; + $272 = $271 | $268; + $$0396 = $272; + } + } + $273 = (24788 + ($$0396<<2)|0); + $274 = ((($$1)) + 28|0); + HEAP32[$274>>2] = $$0396; + $275 = ((($$1)) + 16|0); + $276 = ((($$1)) + 20|0); + HEAP32[$276>>2] = 0; + HEAP32[$275>>2] = 0; + $277 = HEAP32[(24488)>>2]|0; + $278 = 1 << $$0396; + $279 = $277 & $278; + $280 = ($279|0)==(0); + do { + if ($280) { + $281 = $277 | $278; + HEAP32[(24488)>>2] = $281; + HEAP32[$273>>2] = $$1; + $282 = ((($$1)) + 24|0); + HEAP32[$282>>2] = $273; + $283 = ((($$1)) + 12|0); + HEAP32[$283>>2] = $$1; + $284 = ((($$1)) + 8|0); + HEAP32[$284>>2] = $$1; + } else { + $285 = HEAP32[$273>>2]|0; + $286 = ($$0396|0)==(31); + $287 = $$0396 >>> 1; + $288 = (25 - ($287))|0; + $289 = $286 ? 0 : $288; + $290 = $$2 << $289; + $$0383 = $290;$$0384 = $285; + while(1) { + $291 = ((($$0384)) + 4|0); + $292 = HEAP32[$291>>2]|0; + $293 = $292 & -8; + $294 = ($293|0)==($$2|0); + if ($294) { + label = 124; + break; + } + $295 = $$0383 >>> 31; + $296 = (((($$0384)) + 16|0) + ($295<<2)|0); + $297 = $$0383 << 1; + $298 = HEAP32[$296>>2]|0; + $299 = ($298|0)==(0|0); + if ($299) { + label = 121; + break; + } else { + $$0383 = $297;$$0384 = $298; + } + } + if ((label|0) == 121) { + $300 = HEAP32[(24500)>>2]|0; + $301 = ($296>>>0)<($300>>>0); + if ($301) { + _abort(); + // unreachable; + } else { + HEAP32[$296>>2] = $$1; + $302 = ((($$1)) + 24|0); + HEAP32[$302>>2] = $$0384; + $303 = ((($$1)) + 12|0); + HEAP32[$303>>2] = $$1; + $304 = ((($$1)) + 8|0); + HEAP32[$304>>2] = $$1; + break; + } + } + else if ((label|0) == 124) { + $305 = ((($$0384)) + 8|0); + $306 = HEAP32[$305>>2]|0; + $307 = HEAP32[(24500)>>2]|0; + $308 = ($306>>>0)>=($307>>>0); + $not$437 = ($$0384>>>0)>=($307>>>0); + $309 = $308 & $not$437; + if ($309) { + $310 = ((($306)) + 12|0); + HEAP32[$310>>2] = $$1; + HEAP32[$305>>2] = $$1; + $311 = ((($$1)) + 8|0); + HEAP32[$311>>2] = $306; + $312 = ((($$1)) + 12|0); + HEAP32[$312>>2] = $$0384; + $313 = ((($$1)) + 24|0); + HEAP32[$313>>2] = 0; + break; + } else { + _abort(); + // unreachable; + } + } + } + } while(0); + $314 = HEAP32[(24516)>>2]|0; + $315 = (($314) + -1)|0; + HEAP32[(24516)>>2] = $315; + $316 = ($315|0)==(0); + if ($316) { + $$0212$in$i = (24940); + } else { + return; + } + while(1) { + $$0212$i = HEAP32[$$0212$in$i>>2]|0; + $317 = ($$0212$i|0)==(0|0); + $318 = ((($$0212$i)) + 8|0); + if ($317) { + break; + } else { + $$0212$in$i = $318; + } + } + HEAP32[(24516)>>2] = -1; + return; +} +function _calloc($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$ = 0, $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ($0|0)==(0); + if ($2) { + $$0 = 0; + } else { + $3 = Math_imul($1, $0)|0; + $4 = $1 | $0; + $5 = ($4>>>0)>(65535); + if ($5) { + $6 = (($3>>>0) / ($0>>>0))&-1; + $7 = ($6|0)==($1|0); + $$ = $7 ? $3 : -1; + $$0 = $$; + } else { + $$0 = $3; + } + } + $8 = (_malloc($$0)|0); + $9 = ($8|0)==(0|0); + if ($9) { + return ($8|0); + } + $10 = ((($8)) + -4|0); + $11 = HEAP32[$10>>2]|0; + $12 = $11 & 3; + $13 = ($12|0)==(0); + if ($13) { + return ($8|0); + } + _memset(($8|0),0,($$0|0))|0; + return ($8|0); +} +function runPostSets() { +} +function _memset(ptr, value, num) { + ptr = ptr|0; value = value|0; num = num|0; + var end = 0, aligned_end = 0, block_aligned_end = 0, value4 = 0; + end = (ptr + num)|0; + + value = value & 0xff; + if ((num|0) >= 67 /* 64 bytes for an unrolled loop + 3 bytes for unaligned head*/) { + while ((ptr&3) != 0) { + HEAP8[((ptr)>>0)]=value; + ptr = (ptr+1)|0; + } + + aligned_end = (end & -4)|0; + block_aligned_end = (aligned_end - 64)|0; + value4 = value | (value << 8) | (value << 16) | (value << 24); + + while((ptr|0) <= (block_aligned_end|0)) { + HEAP32[((ptr)>>2)]=value4; + HEAP32[(((ptr)+(4))>>2)]=value4; + HEAP32[(((ptr)+(8))>>2)]=value4; + HEAP32[(((ptr)+(12))>>2)]=value4; + HEAP32[(((ptr)+(16))>>2)]=value4; + HEAP32[(((ptr)+(20))>>2)]=value4; + HEAP32[(((ptr)+(24))>>2)]=value4; + HEAP32[(((ptr)+(28))>>2)]=value4; + HEAP32[(((ptr)+(32))>>2)]=value4; + HEAP32[(((ptr)+(36))>>2)]=value4; + HEAP32[(((ptr)+(40))>>2)]=value4; + HEAP32[(((ptr)+(44))>>2)]=value4; + HEAP32[(((ptr)+(48))>>2)]=value4; + HEAP32[(((ptr)+(52))>>2)]=value4; + HEAP32[(((ptr)+(56))>>2)]=value4; + HEAP32[(((ptr)+(60))>>2)]=value4; + ptr = (ptr + 64)|0; + } + + while ((ptr|0) < (aligned_end|0) ) { + HEAP32[((ptr)>>2)]=value4; + ptr = (ptr+4)|0; + } + } + // The remaining bytes. + while ((ptr|0) < (end|0)) { + HEAP8[((ptr)>>0)]=value; + ptr = (ptr+1)|0; + } + return (end-num)|0; +} +function _i64Subtract(a, b, c, d) { + a = a|0; b = b|0; c = c|0; d = d|0; + var l = 0, h = 0; + l = (a - c)>>>0; + h = (b - d)>>>0; + h = (b - d - (((c>>>0) > (a>>>0))|0))>>>0; // Borrow one from high word to low word on underflow. + return ((tempRet0 = h,l|0)|0); +} +function _i64Add(a, b, c, d) { + /* + x = a + b*2^32 + y = c + d*2^32 + result = l + h*2^32 + */ + a = a|0; b = b|0; c = c|0; d = d|0; + var l = 0, h = 0; + l = (a + c)>>>0; + h = (b + d + (((l>>>0) < (a>>>0))|0))>>>0; // Add carry from low word to high word on overflow. + return ((tempRet0 = h,l|0)|0); +} +function ___muldsi3($a, $b) { + $a = $a | 0; + $b = $b | 0; + var $1 = 0, $2 = 0, $3 = 0, $6 = 0, $8 = 0, $11 = 0, $12 = 0; + $1 = $a & 65535; + $2 = $b & 65535; + $3 = Math_imul($2, $1) | 0; + $6 = $a >>> 16; + $8 = ($3 >>> 16) + (Math_imul($2, $6) | 0) | 0; + $11 = $b >>> 16; + $12 = Math_imul($11, $1) | 0; + return (tempRet0 = (($8 >>> 16) + (Math_imul($11, $6) | 0) | 0) + ((($8 & 65535) + $12 | 0) >>> 16) | 0, 0 | ($8 + $12 << 16 | $3 & 65535)) | 0; +} +function ___muldi3($a$0, $a$1, $b$0, $b$1) { + $a$0 = $a$0 | 0; + $a$1 = $a$1 | 0; + $b$0 = $b$0 | 0; + $b$1 = $b$1 | 0; + var $x_sroa_0_0_extract_trunc = 0, $y_sroa_0_0_extract_trunc = 0, $1$0 = 0, $1$1 = 0, $2 = 0; + $x_sroa_0_0_extract_trunc = $a$0; + $y_sroa_0_0_extract_trunc = $b$0; + $1$0 = ___muldsi3($x_sroa_0_0_extract_trunc, $y_sroa_0_0_extract_trunc) | 0; + $1$1 = tempRet0; + $2 = Math_imul($a$1, $y_sroa_0_0_extract_trunc) | 0; + return (tempRet0 = ((Math_imul($b$1, $x_sroa_0_0_extract_trunc) | 0) + $2 | 0) + $1$1 | $1$1 & 0, 0 | $1$0 & -1) | 0; +} +function _memcpy(dest, src, num) { + dest = dest|0; src = src|0; num = num|0; + var ret = 0; + var aligned_dest_end = 0; + var block_aligned_dest_end = 0; + var dest_end = 0; + // Test against a benchmarked cutoff limit for when HEAPU8.set() becomes faster to use. + if ((num|0) >= + 8192 + ) { + return _emscripten_memcpy_big(dest|0, src|0, num|0)|0; + } + + ret = dest|0; + dest_end = (dest + num)|0; + if ((dest&3) == (src&3)) { + // The initial unaligned < 4-byte front. + while (dest & 3) { + if ((num|0) == 0) return ret|0; + HEAP8[((dest)>>0)]=((HEAP8[((src)>>0)])|0); + dest = (dest+1)|0; + src = (src+1)|0; + num = (num-1)|0; + } + aligned_dest_end = (dest_end & -4)|0; + block_aligned_dest_end = (aligned_dest_end - 64)|0; + while ((dest|0) <= (block_aligned_dest_end|0) ) { + HEAP32[((dest)>>2)]=((HEAP32[((src)>>2)])|0); + HEAP32[(((dest)+(4))>>2)]=((HEAP32[(((src)+(4))>>2)])|0); + HEAP32[(((dest)+(8))>>2)]=((HEAP32[(((src)+(8))>>2)])|0); + HEAP32[(((dest)+(12))>>2)]=((HEAP32[(((src)+(12))>>2)])|0); + HEAP32[(((dest)+(16))>>2)]=((HEAP32[(((src)+(16))>>2)])|0); + HEAP32[(((dest)+(20))>>2)]=((HEAP32[(((src)+(20))>>2)])|0); + HEAP32[(((dest)+(24))>>2)]=((HEAP32[(((src)+(24))>>2)])|0); + HEAP32[(((dest)+(28))>>2)]=((HEAP32[(((src)+(28))>>2)])|0); + HEAP32[(((dest)+(32))>>2)]=((HEAP32[(((src)+(32))>>2)])|0); + HEAP32[(((dest)+(36))>>2)]=((HEAP32[(((src)+(36))>>2)])|0); + HEAP32[(((dest)+(40))>>2)]=((HEAP32[(((src)+(40))>>2)])|0); + HEAP32[(((dest)+(44))>>2)]=((HEAP32[(((src)+(44))>>2)])|0); + HEAP32[(((dest)+(48))>>2)]=((HEAP32[(((src)+(48))>>2)])|0); + HEAP32[(((dest)+(52))>>2)]=((HEAP32[(((src)+(52))>>2)])|0); + HEAP32[(((dest)+(56))>>2)]=((HEAP32[(((src)+(56))>>2)])|0); + HEAP32[(((dest)+(60))>>2)]=((HEAP32[(((src)+(60))>>2)])|0); + dest = (dest+64)|0; + src = (src+64)|0; + } + while ((dest|0) < (aligned_dest_end|0) ) { + HEAP32[((dest)>>2)]=((HEAP32[((src)>>2)])|0); + dest = (dest+4)|0; + src = (src+4)|0; + } + } else { + // In the unaligned copy case, unroll a bit as well. + aligned_dest_end = (dest_end - 4)|0; + while ((dest|0) < (aligned_dest_end|0) ) { + HEAP8[((dest)>>0)]=((HEAP8[((src)>>0)])|0); + HEAP8[(((dest)+(1))>>0)]=((HEAP8[(((src)+(1))>>0)])|0); + HEAP8[(((dest)+(2))>>0)]=((HEAP8[(((src)+(2))>>0)])|0); + HEAP8[(((dest)+(3))>>0)]=((HEAP8[(((src)+(3))>>0)])|0); + dest = (dest+4)|0; + src = (src+4)|0; + } + } + // The remaining unaligned < 4 byte tail. + while ((dest|0) < (dest_end|0)) { + HEAP8[((dest)>>0)]=((HEAP8[((src)>>0)])|0); + dest = (dest+1)|0; + src = (src+1)|0; + } + return ret|0; +} +function _memmove(dest, src, num) { + dest = dest|0; src = src|0; num = num|0; + var ret = 0; + if (((src|0) < (dest|0)) & ((dest|0) < ((src + num)|0))) { + // Unlikely case: Copy backwards in a safe manner + ret = dest; + src = (src + num)|0; + dest = (dest + num)|0; + while ((num|0) > 0) { + dest = (dest - 1)|0; + src = (src - 1)|0; + num = (num - 1)|0; + HEAP8[((dest)>>0)]=((HEAP8[((src)>>0)])|0); + } + dest = ret; + } else { + _memcpy(dest, src, num) | 0; + } + return dest | 0; +} +function _llvm_cttz_i32(x) { + x = x|0; + var ret = 0; + ret = ((HEAP8[(((cttz_i8)+(x & 0xff))>>0)])|0); + if ((ret|0) < 8) return ret|0; + ret = ((HEAP8[(((cttz_i8)+((x >> 8)&0xff))>>0)])|0); + if ((ret|0) < 8) return (ret + 8)|0; + ret = ((HEAP8[(((cttz_i8)+((x >> 16)&0xff))>>0)])|0); + if ((ret|0) < 8) return (ret + 16)|0; + return (((HEAP8[(((cttz_i8)+(x >>> 24))>>0)])|0) + 24)|0; +} +function ___udivmoddi4($a$0, $a$1, $b$0, $b$1, $rem) { + $a$0 = $a$0 | 0; + $a$1 = $a$1 | 0; + $b$0 = $b$0 | 0; + $b$1 = $b$1 | 0; + $rem = $rem | 0; + var $n_sroa_0_0_extract_trunc = 0, $n_sroa_1_4_extract_shift$0 = 0, $n_sroa_1_4_extract_trunc = 0, $d_sroa_0_0_extract_trunc = 0, $d_sroa_1_4_extract_shift$0 = 0, $d_sroa_1_4_extract_trunc = 0, $4 = 0, $17 = 0, $37 = 0, $49 = 0, $51 = 0, $57 = 0, $58 = 0, $66 = 0, $78 = 0, $86 = 0, $88 = 0, $89 = 0, $91 = 0, $92 = 0, $95 = 0, $105 = 0, $117 = 0, $119 = 0, $125 = 0, $126 = 0, $130 = 0, $q_sroa_1_1_ph = 0, $q_sroa_0_1_ph = 0, $r_sroa_1_1_ph = 0, $r_sroa_0_1_ph = 0, $sr_1_ph = 0, $d_sroa_0_0_insert_insert99$0 = 0, $d_sroa_0_0_insert_insert99$1 = 0, $137$0 = 0, $137$1 = 0, $carry_0203 = 0, $sr_1202 = 0, $r_sroa_0_1201 = 0, $r_sroa_1_1200 = 0, $q_sroa_0_1199 = 0, $q_sroa_1_1198 = 0, $147 = 0, $149 = 0, $r_sroa_0_0_insert_insert42$0 = 0, $r_sroa_0_0_insert_insert42$1 = 0, $150$1 = 0, $151$0 = 0, $152 = 0, $154$0 = 0, $r_sroa_0_0_extract_trunc = 0, $r_sroa_1_4_extract_trunc = 0, $155 = 0, $carry_0_lcssa$0 = 0, $carry_0_lcssa$1 = 0, $r_sroa_0_1_lcssa = 0, $r_sroa_1_1_lcssa = 0, $q_sroa_0_1_lcssa = 0, $q_sroa_1_1_lcssa = 0, $q_sroa_0_0_insert_ext75$0 = 0, $q_sroa_0_0_insert_ext75$1 = 0, $q_sroa_0_0_insert_insert77$1 = 0, $_0$0 = 0, $_0$1 = 0; + $n_sroa_0_0_extract_trunc = $a$0; + $n_sroa_1_4_extract_shift$0 = $a$1; + $n_sroa_1_4_extract_trunc = $n_sroa_1_4_extract_shift$0; + $d_sroa_0_0_extract_trunc = $b$0; + $d_sroa_1_4_extract_shift$0 = $b$1; + $d_sroa_1_4_extract_trunc = $d_sroa_1_4_extract_shift$0; + if (($n_sroa_1_4_extract_trunc | 0) == 0) { + $4 = ($rem | 0) != 0; + if (($d_sroa_1_4_extract_trunc | 0) == 0) { + if ($4) { + HEAP32[$rem >> 2] = ($n_sroa_0_0_extract_trunc >>> 0) % ($d_sroa_0_0_extract_trunc >>> 0); + HEAP32[$rem + 4 >> 2] = 0; + } + $_0$1 = 0; + $_0$0 = ($n_sroa_0_0_extract_trunc >>> 0) / ($d_sroa_0_0_extract_trunc >>> 0) >>> 0; + return (tempRet0 = $_0$1, $_0$0) | 0; + } else { + if (!$4) { + $_0$1 = 0; + $_0$0 = 0; + return (tempRet0 = $_0$1, $_0$0) | 0; + } + HEAP32[$rem >> 2] = $a$0 & -1; + HEAP32[$rem + 4 >> 2] = $a$1 & 0; + $_0$1 = 0; + $_0$0 = 0; + return (tempRet0 = $_0$1, $_0$0) | 0; + } + } + $17 = ($d_sroa_1_4_extract_trunc | 0) == 0; + do { + if (($d_sroa_0_0_extract_trunc | 0) == 0) { + if ($17) { + if (($rem | 0) != 0) { + HEAP32[$rem >> 2] = ($n_sroa_1_4_extract_trunc >>> 0) % ($d_sroa_0_0_extract_trunc >>> 0); + HEAP32[$rem + 4 >> 2] = 0; + } + $_0$1 = 0; + $_0$0 = ($n_sroa_1_4_extract_trunc >>> 0) / ($d_sroa_0_0_extract_trunc >>> 0) >>> 0; + return (tempRet0 = $_0$1, $_0$0) | 0; + } + if (($n_sroa_0_0_extract_trunc | 0) == 0) { + if (($rem | 0) != 0) { + HEAP32[$rem >> 2] = 0; + HEAP32[$rem + 4 >> 2] = ($n_sroa_1_4_extract_trunc >>> 0) % ($d_sroa_1_4_extract_trunc >>> 0); + } + $_0$1 = 0; + $_0$0 = ($n_sroa_1_4_extract_trunc >>> 0) / ($d_sroa_1_4_extract_trunc >>> 0) >>> 0; + return (tempRet0 = $_0$1, $_0$0) | 0; + } + $37 = $d_sroa_1_4_extract_trunc - 1 | 0; + if (($37 & $d_sroa_1_4_extract_trunc | 0) == 0) { + if (($rem | 0) != 0) { + HEAP32[$rem >> 2] = 0 | $a$0 & -1; + HEAP32[$rem + 4 >> 2] = $37 & $n_sroa_1_4_extract_trunc | $a$1 & 0; + } + $_0$1 = 0; + $_0$0 = $n_sroa_1_4_extract_trunc >>> ((_llvm_cttz_i32($d_sroa_1_4_extract_trunc | 0) | 0) >>> 0); + return (tempRet0 = $_0$1, $_0$0) | 0; + } + $49 = Math_clz32($d_sroa_1_4_extract_trunc | 0) | 0; + $51 = $49 - (Math_clz32($n_sroa_1_4_extract_trunc | 0) | 0) | 0; + if ($51 >>> 0 <= 30) { + $57 = $51 + 1 | 0; + $58 = 31 - $51 | 0; + $sr_1_ph = $57; + $r_sroa_0_1_ph = $n_sroa_1_4_extract_trunc << $58 | $n_sroa_0_0_extract_trunc >>> ($57 >>> 0); + $r_sroa_1_1_ph = $n_sroa_1_4_extract_trunc >>> ($57 >>> 0); + $q_sroa_0_1_ph = 0; + $q_sroa_1_1_ph = $n_sroa_0_0_extract_trunc << $58; + break; + } + if (($rem | 0) == 0) { + $_0$1 = 0; + $_0$0 = 0; + return (tempRet0 = $_0$1, $_0$0) | 0; + } + HEAP32[$rem >> 2] = 0 | $a$0 & -1; + HEAP32[$rem + 4 >> 2] = $n_sroa_1_4_extract_shift$0 | $a$1 & 0; + $_0$1 = 0; + $_0$0 = 0; + return (tempRet0 = $_0$1, $_0$0) | 0; + } else { + if (!$17) { + $117 = Math_clz32($d_sroa_1_4_extract_trunc | 0) | 0; + $119 = $117 - (Math_clz32($n_sroa_1_4_extract_trunc | 0) | 0) | 0; + if ($119 >>> 0 <= 31) { + $125 = $119 + 1 | 0; + $126 = 31 - $119 | 0; + $130 = $119 - 31 >> 31; + $sr_1_ph = $125; + $r_sroa_0_1_ph = $n_sroa_0_0_extract_trunc >>> ($125 >>> 0) & $130 | $n_sroa_1_4_extract_trunc << $126; + $r_sroa_1_1_ph = $n_sroa_1_4_extract_trunc >>> ($125 >>> 0) & $130; + $q_sroa_0_1_ph = 0; + $q_sroa_1_1_ph = $n_sroa_0_0_extract_trunc << $126; + break; + } + if (($rem | 0) == 0) { + $_0$1 = 0; + $_0$0 = 0; + return (tempRet0 = $_0$1, $_0$0) | 0; + } + HEAP32[$rem >> 2] = 0 | $a$0 & -1; + HEAP32[$rem + 4 >> 2] = $n_sroa_1_4_extract_shift$0 | $a$1 & 0; + $_0$1 = 0; + $_0$0 = 0; + return (tempRet0 = $_0$1, $_0$0) | 0; + } + $66 = $d_sroa_0_0_extract_trunc - 1 | 0; + if (($66 & $d_sroa_0_0_extract_trunc | 0) != 0) { + $86 = (Math_clz32($d_sroa_0_0_extract_trunc | 0) | 0) + 33 | 0; + $88 = $86 - (Math_clz32($n_sroa_1_4_extract_trunc | 0) | 0) | 0; + $89 = 64 - $88 | 0; + $91 = 32 - $88 | 0; + $92 = $91 >> 31; + $95 = $88 - 32 | 0; + $105 = $95 >> 31; + $sr_1_ph = $88; + $r_sroa_0_1_ph = $91 - 1 >> 31 & $n_sroa_1_4_extract_trunc >>> ($95 >>> 0) | ($n_sroa_1_4_extract_trunc << $91 | $n_sroa_0_0_extract_trunc >>> ($88 >>> 0)) & $105; + $r_sroa_1_1_ph = $105 & $n_sroa_1_4_extract_trunc >>> ($88 >>> 0); + $q_sroa_0_1_ph = $n_sroa_0_0_extract_trunc << $89 & $92; + $q_sroa_1_1_ph = ($n_sroa_1_4_extract_trunc << $89 | $n_sroa_0_0_extract_trunc >>> ($95 >>> 0)) & $92 | $n_sroa_0_0_extract_trunc << $91 & $88 - 33 >> 31; + break; + } + if (($rem | 0) != 0) { + HEAP32[$rem >> 2] = $66 & $n_sroa_0_0_extract_trunc; + HEAP32[$rem + 4 >> 2] = 0; + } + if (($d_sroa_0_0_extract_trunc | 0) == 1) { + $_0$1 = $n_sroa_1_4_extract_shift$0 | $a$1 & 0; + $_0$0 = 0 | $a$0 & -1; + return (tempRet0 = $_0$1, $_0$0) | 0; + } else { + $78 = _llvm_cttz_i32($d_sroa_0_0_extract_trunc | 0) | 0; + $_0$1 = 0 | $n_sroa_1_4_extract_trunc >>> ($78 >>> 0); + $_0$0 = $n_sroa_1_4_extract_trunc << 32 - $78 | $n_sroa_0_0_extract_trunc >>> ($78 >>> 0) | 0; + return (tempRet0 = $_0$1, $_0$0) | 0; + } + } + } while (0); + if (($sr_1_ph | 0) == 0) { + $q_sroa_1_1_lcssa = $q_sroa_1_1_ph; + $q_sroa_0_1_lcssa = $q_sroa_0_1_ph; + $r_sroa_1_1_lcssa = $r_sroa_1_1_ph; + $r_sroa_0_1_lcssa = $r_sroa_0_1_ph; + $carry_0_lcssa$1 = 0; + $carry_0_lcssa$0 = 0; + } else { + $d_sroa_0_0_insert_insert99$0 = 0 | $b$0 & -1; + $d_sroa_0_0_insert_insert99$1 = $d_sroa_1_4_extract_shift$0 | $b$1 & 0; + $137$0 = _i64Add($d_sroa_0_0_insert_insert99$0 | 0, $d_sroa_0_0_insert_insert99$1 | 0, -1, -1) | 0; + $137$1 = tempRet0; + $q_sroa_1_1198 = $q_sroa_1_1_ph; + $q_sroa_0_1199 = $q_sroa_0_1_ph; + $r_sroa_1_1200 = $r_sroa_1_1_ph; + $r_sroa_0_1201 = $r_sroa_0_1_ph; + $sr_1202 = $sr_1_ph; + $carry_0203 = 0; + while (1) { + $147 = $q_sroa_0_1199 >>> 31 | $q_sroa_1_1198 << 1; + $149 = $carry_0203 | $q_sroa_0_1199 << 1; + $r_sroa_0_0_insert_insert42$0 = 0 | ($r_sroa_0_1201 << 1 | $q_sroa_1_1198 >>> 31); + $r_sroa_0_0_insert_insert42$1 = $r_sroa_0_1201 >>> 31 | $r_sroa_1_1200 << 1 | 0; + _i64Subtract($137$0 | 0, $137$1 | 0, $r_sroa_0_0_insert_insert42$0 | 0, $r_sroa_0_0_insert_insert42$1 | 0) | 0; + $150$1 = tempRet0; + $151$0 = $150$1 >> 31 | (($150$1 | 0) < 0 ? -1 : 0) << 1; + $152 = $151$0 & 1; + $154$0 = _i64Subtract($r_sroa_0_0_insert_insert42$0 | 0, $r_sroa_0_0_insert_insert42$1 | 0, $151$0 & $d_sroa_0_0_insert_insert99$0 | 0, ((($150$1 | 0) < 0 ? -1 : 0) >> 31 | (($150$1 | 0) < 0 ? -1 : 0) << 1) & $d_sroa_0_0_insert_insert99$1 | 0) | 0; + $r_sroa_0_0_extract_trunc = $154$0; + $r_sroa_1_4_extract_trunc = tempRet0; + $155 = $sr_1202 - 1 | 0; + if (($155 | 0) == 0) { + break; + } else { + $q_sroa_1_1198 = $147; + $q_sroa_0_1199 = $149; + $r_sroa_1_1200 = $r_sroa_1_4_extract_trunc; + $r_sroa_0_1201 = $r_sroa_0_0_extract_trunc; + $sr_1202 = $155; + $carry_0203 = $152; + } + } + $q_sroa_1_1_lcssa = $147; + $q_sroa_0_1_lcssa = $149; + $r_sroa_1_1_lcssa = $r_sroa_1_4_extract_trunc; + $r_sroa_0_1_lcssa = $r_sroa_0_0_extract_trunc; + $carry_0_lcssa$1 = 0; + $carry_0_lcssa$0 = $152; + } + $q_sroa_0_0_insert_ext75$0 = $q_sroa_0_1_lcssa; + $q_sroa_0_0_insert_ext75$1 = 0; + $q_sroa_0_0_insert_insert77$1 = $q_sroa_1_1_lcssa | $q_sroa_0_0_insert_ext75$1; + if (($rem | 0) != 0) { + HEAP32[$rem >> 2] = 0 | $r_sroa_0_1_lcssa; + HEAP32[$rem + 4 >> 2] = $r_sroa_1_1_lcssa | 0; + } + $_0$1 = (0 | $q_sroa_0_0_insert_ext75$0) >>> 31 | $q_sroa_0_0_insert_insert77$1 << 1 | ($q_sroa_0_0_insert_ext75$1 << 1 | $q_sroa_0_0_insert_ext75$0 >>> 31) & 0 | $carry_0_lcssa$1; + $_0$0 = ($q_sroa_0_0_insert_ext75$0 << 1 | 0 >>> 31) & -2 | $carry_0_lcssa$0; + return (tempRet0 = $_0$1, $_0$0) | 0; +} +function ___uremdi3($a$0, $a$1, $b$0, $b$1) { + $a$0 = $a$0 | 0; + $a$1 = $a$1 | 0; + $b$0 = $b$0 | 0; + $b$1 = $b$1 | 0; + var $rem = 0, __stackBase__ = 0; + __stackBase__ = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + $rem = __stackBase__ | 0; + ___udivmoddi4($a$0, $a$1, $b$0, $b$1, $rem) | 0; + STACKTOP = __stackBase__; + return (tempRet0 = HEAP32[$rem + 4 >> 2] | 0, HEAP32[$rem >> 2] | 0) | 0; +} +function _bitshift64Shl(low, high, bits) { + low = low|0; high = high|0; bits = bits|0; + var ander = 0; + if ((bits|0) < 32) { + ander = ((1 << bits) - 1)|0; + tempRet0 = (high << bits) | ((low&(ander << (32 - bits))) >>> (32 - bits)); + return low << bits; + } + tempRet0 = low << (bits - 32); + return 0; +} +function ___udivdi3($a$0, $a$1, $b$0, $b$1) { + $a$0 = $a$0 | 0; + $a$1 = $a$1 | 0; + $b$0 = $b$0 | 0; + $b$1 = $b$1 | 0; + var $1$0 = 0; + $1$0 = ___udivmoddi4($a$0, $a$1, $b$0, $b$1, 0) | 0; + return $1$0 | 0; +} +function _roundf(f) { + f = +f; + return f >= +0 ? +Math_floor(f + +0.5) : +Math_ceil(f - +0.5); // TODO: use fround? +} +function _bitshift64Lshr(low, high, bits) { + low = low|0; high = high|0; bits = bits|0; + var ander = 0; + if ((bits|0) < 32) { + ander = ((1 << bits) - 1)|0; + tempRet0 = high >>> bits; + return (low >>> bits) | ((high&ander) << (32 - bits)); + } + tempRet0 = 0; + return (high >>> (bits - 32))|0; +} +function _sbrk(increment) { + increment = increment|0; + var oldDynamicTop = 0; + var oldDynamicTopOnChange = 0; + var newDynamicTop = 0; + var totalMemory = 0; + increment = ((increment + 15) & -16)|0; + oldDynamicTop = HEAP32[DYNAMICTOP_PTR>>2]|0; + newDynamicTop = oldDynamicTop + increment | 0; + + if (((increment|0) > 0 & (newDynamicTop|0) < (oldDynamicTop|0)) // Detect and fail if we would wrap around signed 32-bit int. + | (newDynamicTop|0) < 0) { // Also underflow, sbrk() should be able to be used to subtract. + abortOnCannotGrowMemory()|0; + ___setErrNo(12); + return -1; + } + + HEAP32[DYNAMICTOP_PTR>>2] = newDynamicTop; + totalMemory = getTotalMemory()|0; + if ((newDynamicTop|0) > (totalMemory|0)) { + if ((enlargeMemory()|0) == 0) { + ___setErrNo(12); + HEAP32[DYNAMICTOP_PTR>>2] = oldDynamicTop; + return -1; + } + } + return oldDynamicTop|0; +} +function _llvm_bswap_i32(x) { + x = x|0; + return (((x&0xff)<<24) | (((x>>8)&0xff)<<16) | (((x>>16)&0xff)<<8) | (x>>>24))|0; +} + + +function dynCall_viiiii(index,a1,a2,a3,a4,a5) { + index = index|0; + a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; + FUNCTION_TABLE_viiiii[index&7](a1|0,a2|0,a3|0,a4|0,a5|0); +} - -function Ah(e,f,g,h,j,k){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=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,X=0,Y=0,Z=0,_=0,$=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0;l=i;i=i+32|0;m=l+20|0;n=l;o=l+4|0;p=l+8|0;q=l+12|0;r=l+16|0;s=c[e+412>>2]|0;t=b[e+(j<<1)+284>>1]|0;u=t&65535;v=s+(j*24|0)+13|0;w=e+140|0;x=c[(c[w>>2]|0)+((d[v>>0]|0)*2096|0)>>2]|0;y=s+(j*24|0)|0;z=s+(j*24|0)+8|0;A=(((c[s+(j*24|0)+4>>2]|0)-(c[y>>2]|0)|0)>>>0)/((c[z>>2]|0)>>>0)|0;B=e+108|0;C=c[B>>2]|0;D=e+4|0;E=A<<2;F=aa(c[D>>2]|0,E+4|0)|0;if(!(c[e+96>>2]|0)){G=i;i=i+((1*F|0)+15&-16)|0;H=G}else H=dh(e,F)|0;F=Jh(H,c[D>>2]|0,E)|0;if((g|0)>0){E=h<<2;D=0;do{if(!(a[k+D>>0]|0))qi(c[f+(D<<2)>>2]|0,0,E|0)|0;D=D+1|0}while((D|0)!=(g|0))}if(t<<16>>16!=2|(g|0)==1){t=(A|0)>0;D=e+1412|0;E=e+1408|0;H=s+(j*24|0)+16|0;G=(x|0)>0;I=(g|0)>0;J=s+(j*24|0)+20|0;K=0;a:while(1){if(t){L=0;M=0;while(1){if(!((K|0)!=0|(g|0)<1)){N=0;do{if(!(a[k+N>>0]|0)){O=c[w>>2]|0;P=d[v>>0]|0;if((c[D>>2]|0)<10)xh(e);Q=c[E>>2]|0;R=b[O+(P*2096|0)+((Q&1023)<<1)+36>>1]|0;S=R<<16>>16;if(R<<16>>16>-1){R=d[(c[O+(P*2096|0)+8>>2]|0)+S>>0]|0;c[E>>2]=Q>>>R;Q=(c[D>>2]|0)-R|0;R=(Q|0)<0;c[D>>2]=R?0:Q;T=R?-1:S}else T=yh(e,O+(P*2096|0)|0)|0;if(!(a[O+(P*2096|0)+23>>0]|0))U=T;else U=c[(c[O+(P*2096|0)+2088>>2]|0)+(T<<2)>>2]|0;if((U|0)==-1){V=94;break a}c[(c[F+(N<<2)>>2]|0)+(L<<2)>>2]=c[(c[H>>2]|0)+(U<<2)>>2]}N=N+1|0}while((N|0)<(g|0))}if(G&(M|0)<(A|0)){N=0;P=M;while(1){if(I){O=0;do{if(((a[k+O>>0]|0)==0?(S=b[(c[J>>2]|0)+(d[(c[(c[F+(O<<2)>>2]|0)+(L<<2)>>2]|0)+N>>0]<<4)+(K<<1)>>1]|0,S<<16>>16>-1):0)?(R=c[z>>2]|0,Q=(aa(R,P)|0)+(c[y>>2]|0)|0,(Mh(e,(c[w>>2]|0)+((S<<16>>16)*2096|0)|0,c[f+(O<<2)>>2]|0,Q,R,u)|0)==0):0){V=94;break a}O=O+1|0}while((O|0)<(g|0))}N=N+1|0;O=P+1|0;if(!((N|0)<(x|0)&(O|0)<(A|0))){W=O;break}else P=O}}else W=M;if((W|0)<(A|0)){L=L+1|0;M=W}else break}}K=K+1|0;if((K|0)>=8){V=94;break}}if((V|0)==94){c[B>>2]=C;i=l;return}}b:do if((g|0)>0){K=0;while(1){W=K+1|0;if(!(a[k+K>>0]|0)){X=K;break b}if((W|0)<(g|0))K=W;else{X=W;break}}}else X=0;while(0);if((X|0)==(g|0)){c[B>>2]=C;i=l;return}X=(A|0)>0;k=e+1412|0;K=e+1408|0;W=s+(j*24|0)+16|0;u=(x|0)>0;J=s+(j*24|0)+20|0;I=(A|0)>0;G=e+1412|0;U=e+1408|0;H=s+(j*24|0)+16|0;T=(x|0)>0;D=s+(j*24|0)+20|0;E=(A|0)>0;t=e+1412|0;M=e+1408|0;L=s+(j*24|0)+16|0;P=(x|0)>0;N=s+(j*24|0)+20|0;j=0;c:while(1){if((g|0)==2){if(I){s=(j|0)==0;O=0;R=0;while(1){Q=(aa(c[z>>2]|0,R)|0)+(c[y>>2]|0)|0;c[m>>2]=Q&1;c[n>>2]=Q>>1;if(s){Q=c[w>>2]|0;S=d[v>>0]|0;if((c[G>>2]|0)<10)xh(e);Y=c[U>>2]|0;Z=b[Q+(S*2096|0)+((Y&1023)<<1)+36>>1]|0;_=Z<<16>>16;if(Z<<16>>16>-1){Z=d[(c[Q+(S*2096|0)+8>>2]|0)+_>>0]|0;c[U>>2]=Y>>>Z;Y=(c[G>>2]|0)-Z|0;Z=(Y|0)<0;c[G>>2]=Z?0:Y;$=Z?-1:_}else $=yh(e,Q+(S*2096|0)|0)|0;if(!(a[Q+(S*2096|0)+23>>0]|0))ba=$;else ba=c[(c[Q+(S*2096|0)+2088>>2]|0)+($<<2)>>2]|0;if((ba|0)==-1){V=94;break c}c[(c[F>>2]|0)+(O<<2)>>2]=c[(c[H>>2]|0)+(ba<<2)>>2]}if(T&(R|0)<(A|0)){S=0;Q=R;while(1){_=c[z>>2]|0;Z=b[(c[D>>2]|0)+(d[(c[(c[F>>2]|0)+(O<<2)>>2]|0)+S>>0]<<4)+(j<<1)>>1]|0;if(Z<<16>>16>-1){if(!(Kh(e,(c[w>>2]|0)+((Z<<16>>16)*2096|0)|0,f,m,n,h,_)|0)){V=94;break c}}else{Z=aa(_,Q)|0;Y=Z+_+(c[y>>2]|0)|0;c[m>>2]=Y&1;c[n>>2]=Y>>1}S=S+1|0;Y=Q+1|0;if(!((S|0)<(x|0)&(Y|0)<(A|0))){ca=Y;break}else Q=Y}}else ca=R;if((ca|0)<(A|0)){O=O+1|0;R=ca}else break}}}else if((g|0)==1){if(X){R=(j|0)==0;O=0;s=0;while(1){Q=(aa(c[z>>2]|0,s)|0)+(c[y>>2]|0)|0;c[o>>2]=0;c[p>>2]=Q;if(R){Q=c[w>>2]|0;S=d[v>>0]|0;if((c[k>>2]|0)<10)xh(e);Y=c[K>>2]|0;_=b[Q+(S*2096|0)+((Y&1023)<<1)+36>>1]|0;Z=_<<16>>16;if(_<<16>>16>-1){_=d[(c[Q+(S*2096|0)+8>>2]|0)+Z>>0]|0;c[K>>2]=Y>>>_;Y=(c[k>>2]|0)-_|0;_=(Y|0)<0;c[k>>2]=_?0:Y;da=_?-1:Z}else da=yh(e,Q+(S*2096|0)|0)|0;if(!(a[Q+(S*2096|0)+23>>0]|0))ea=da;else ea=c[(c[Q+(S*2096|0)+2088>>2]|0)+(da<<2)>>2]|0;if((ea|0)==-1){V=94;break c}c[(c[F>>2]|0)+(O<<2)>>2]=c[(c[W>>2]|0)+(ea<<2)>>2]}if(u&(s|0)<(A|0)){S=0;Q=s;while(1){Z=c[z>>2]|0;_=b[(c[J>>2]|0)+(d[(c[(c[F>>2]|0)+(O<<2)>>2]|0)+S>>0]<<4)+(j<<1)>>1]|0;if(_<<16>>16>-1){if(!(Lh(e,(c[w>>2]|0)+((_<<16>>16)*2096|0)|0,f,g,o,p,h,Z)|0)){V=94;break c}}else{_=aa(Z,Q)|0;Y=_+Z+(c[y>>2]|0)|0;c[o>>2]=0;c[p>>2]=Y}S=S+1|0;Y=Q+1|0;if(!((S|0)<(x|0)&(Y|0)<(A|0))){fa=Y;break}else Q=Y}}else fa=s;if((fa|0)<(A|0)){O=O+1|0;s=fa}else break}}}else if(E){s=(j|0)==0;O=0;R=0;while(1){Q=(aa(c[z>>2]|0,R)|0)+(c[y>>2]|0)|0;c[q>>2]=(Q|0)%(g|0)|0;c[r>>2]=(Q|0)/(g|0)|0;if(s){Q=c[w>>2]|0;S=d[v>>0]|0;if((c[t>>2]|0)<10)xh(e);Y=c[M>>2]|0;Z=b[Q+(S*2096|0)+((Y&1023)<<1)+36>>1]|0;_=Z<<16>>16;if(Z<<16>>16>-1){Z=d[(c[Q+(S*2096|0)+8>>2]|0)+_>>0]|0;c[M>>2]=Y>>>Z;Y=(c[t>>2]|0)-Z|0;Z=(Y|0)<0;c[t>>2]=Z?0:Y;ga=Z?-1:_}else ga=yh(e,Q+(S*2096|0)|0)|0;if(!(a[Q+(S*2096|0)+23>>0]|0))ha=ga;else ha=c[(c[Q+(S*2096|0)+2088>>2]|0)+(ga<<2)>>2]|0;if((ha|0)==-1){V=94;break c}c[(c[F>>2]|0)+(O<<2)>>2]=c[(c[L>>2]|0)+(ha<<2)>>2]}if(P&(R|0)<(A|0)){S=0;Q=R;while(1){_=c[z>>2]|0;Z=b[(c[N>>2]|0)+(d[(c[(c[F>>2]|0)+(O<<2)>>2]|0)+S>>0]<<4)+(j<<1)>>1]|0;if(Z<<16>>16>-1){if(!(Lh(e,(c[w>>2]|0)+((Z<<16>>16)*2096|0)|0,f,g,q,r,h,_)|0)){V=94;break c}}else{Z=aa(_,Q)|0;Y=Z+_+(c[y>>2]|0)|0;c[q>>2]=(Y|0)%(g|0)|0;c[r>>2]=(Y|0)/(g|0)|0}S=S+1|0;Y=Q+1|0;if(!((S|0)<(x|0)&(Y|0)<(A|0))){ia=Y;break}else Q=Y}}else ia=R;if((ia|0)<(A|0)){O=O+1|0;R=ia}else break}}j=j+1|0;if((j|0)>=8){V=94;break}}if((V|0)==94){c[B>>2]=C;i=l;return}}function Bh(a,f,h,j,k,l){a=a|0;f=f|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0.0;m=i;n=j>>1;j=d[f+(d[(c[f+4>>2]|0)+(h*3|0)+2>>0]|0)+9>>0]|0;if(!(b[a+(j<<1)+148>>1]|0)){qg(a,21);i=m;return}h=c[a+276>>2]|0;a=h+(j*1596|0)+1588|0;f=aa(d[a>>0]|0,b[l>>1]|0)|0;o=h+(j*1596|0)+1592|0;if((c[o>>2]|0)>1){p=0;q=f;r=1;while(1){s=d[h+(j*1596|0)+r+838>>0]|0;t=b[l+(s<<1)>>1]|0;if(t<<16>>16>-1){u=aa(d[a>>0]|0,t<<16>>16)|0;t=e[h+(j*1596|0)+(s<<1)+338>>1]|0;Ih(k,p,q,t,u,n);v=t;w=u}else{v=p;w=q}r=r+1|0;if((r|0)>=(c[o>>2]|0)){x=v;y=w;break}else{p=v;q=w}}}else{x=0;y=f}if((x|0)>=(n|0)){i=m;return}z=+g[14320+(y<<2)>>2];y=x;do{x=k+(y<<2)|0;g[x>>2]=z*+g[x>>2];y=y+1|0}while((y|0)!=(n|0));i=m;return}function Ch(a,b,d,f){a=a|0;b=b|0;d=d|0;f=f|0;var 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,x=0,y=0,z=0,A=0.0,B=0.0,C=0.0,D=0.0,E=0,F=0,G=0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0;h=i;j=b>>1;k=b>>2;l=b>>3;m=d+108|0;n=c[m>>2]|0;o=j<<2;if(!(c[d+96>>2]|0)){p=i;i=i+((1*o|0)+15&-16)|0;q=p}else q=dh(d,o)|0;o=c[d+(f<<2)+1084>>2]|0;p=q+(j+ -2<<2)|0;r=a+(j<<2)|0;if(!j){s=o;t=p}else{u=(j<<2)+ -16|0;v=u>>>4;w=(v<<1)+2|0;x=q+(u-(v<<3))|0;v=o;u=p;p=a;while(1){y=p+8|0;z=v+4|0;g[u+4>>2]=+g[p>>2]*+g[v>>2]- +g[y>>2]*+g[z>>2];g[u>>2]=+g[p>>2]*+g[z>>2]+ +g[y>>2]*+g[v>>2];p=p+16|0;if((p|0)==(r|0))break;else{v=v+8|0;u=u+ -8|0}}s=o+(w<<2)|0;t=x}if(t>>>0>=q>>>0){x=s;s=t;t=a+(j+ -3<<2)|0;while(1){w=t+8|0;u=x+4|0;g[s+4>>2]=+g[t>>2]*+g[u>>2]- +g[w>>2]*+g[x>>2];g[s>>2]=-(+g[t>>2]*+g[x>>2])- +g[w>>2]*+g[u>>2];s=s+ -8|0;if(s>>>0>>0)break;else{x=x+8|0;t=t+ -16|0}}}t=j+ -8|0;if((t|0)>=0){x=o+(t<<2)|0;t=a+(k<<2)|0;s=a;u=q+(k<<2)|0;w=q;while(1){A=+g[u+4>>2];B=+g[w+4>>2];C=A-B;D=+g[u>>2]- +g[w>>2];g[t+4>>2]=A+B;g[t>>2]=+g[u>>2]+ +g[w>>2];v=x+16|0;p=x+20|0;g[s+4>>2]=C*+g[v>>2]-D*+g[p>>2];g[s>>2]=D*+g[v>>2]+C*+g[p>>2];C=+g[u+12>>2];D=+g[w+12>>2];B=C-D;p=u+8|0;v=w+8|0;A=+g[p>>2]- +g[v>>2];g[t+12>>2]=C+D;g[t+8>>2]=+g[p>>2]+ +g[v>>2];v=x+4|0;g[s+12>>2]=B*+g[x>>2]-A*+g[v>>2];g[s+8>>2]=A*+g[x>>2]+B*+g[v>>2];x=x+ -32|0;if(x>>>0>>0)break;else{t=t+16|0;s=s+16|0;u=u+16|0;w=w+16|0}}}w=Qg(b)|0;u=b>>4;s=j+ -1|0;t=0-l|0;Dh(u,a,s,t,o);Dh(u,a,s-k|0,t,o);t=b>>5;x=0-u|0;Eh(t,a,s,x,o,16);Eh(t,a,s-l|0,x,o,16);Eh(t,a,s-(l<<1)|0,x,o,16);Eh(t,a,s+(aa(l,-3)|0)|0,x,o,16);x=w+ -4>>1;if((x|0)>2){l=2;do{u=b>>l+2;v=l;l=l+1|0;p=1<0){y=b>>v+4;z=0-(u>>1)|0;E=1<>w+2;l=1<>w+6;w=w+1|0;v=1<0){E=0-(F>>1)|0;z=l<<2;u=o;y=s;G=p;while(1){Fh(v,a,y,E,u,l,F);G=G+ -1|0;if((G|0)<=0)break;else{u=u+(z<<2)|0;y=y+ -8|0}}}}while((w|0)!=(x|0))}Gh(t,a,s,o,b);o=q+(k+ -4<<2)|0;k=j+ -4|0;if(o>>>0>=q>>>0){s=c[d+(f<<2)+1116>>2]|0;t=o;o=q+(k<<2)|0;while(1){x=e[s>>1]|0;g[o+12>>2]=+g[a+(x<<2)>>2];g[o+8>>2]=+g[a+(x+1<<2)>>2];g[t+12>>2]=+g[a+(x+2<<2)>>2];g[t+8>>2]=+g[a+(x+3<<2)>>2];x=e[s+2>>1]|0;g[o+4>>2]=+g[a+(x<<2)>>2];g[o>>2]=+g[a+(x+1<<2)>>2];g[t+4>>2]=+g[a+(x+2<<2)>>2];g[t>>2]=+g[a+(x+3<<2)>>2];t=t+ -16|0;if(t>>>0>>0)break;else{s=s+4|0;o=o+ -16|0}}}o=q+(j+ -4<<2)|0;if(q>>>0>>0){s=c[d+(f<<2)+1100>>2]|0;t=q;x=o;while(1){B=+g[t>>2];o=x+8|0;A=+g[o>>2];D=B-A;w=t+4|0;C=+g[w>>2];y=x+12|0;H=+g[y>>2];I=C+H;J=+g[s+4>>2];K=+g[s>>2];L=D*J+I*K;M=J*I-D*K;K=B+A;A=C-H;g[t>>2]=K+L;g[w>>2]=A+M;g[o>>2]=K-L;g[y>>2]=M-A;y=t+8|0;A=+g[y>>2];M=+g[x>>2];L=A-M;o=t+12|0;K=+g[o>>2];w=x+4|0;H=+g[w>>2];C=K+H;B=+g[s+12>>2];D=+g[s+8>>2];I=L*B+C*D;J=B*C-L*D;D=A+M;M=K-H;g[y>>2]=D+I;g[o>>2]=M+J;g[x>>2]=D-I;g[w>>2]=J-M;t=t+16|0;x=x+ -16|0;if(t>>>0>=x>>>0)break;else s=s+16|0}}s=j+ -8|0;j=q+(s<<2)|0;if(j>>>0>>0){c[m>>2]=n;i=h;return}x=(c[d+(f<<2)+1092>>2]|0)+(s<<2)|0;s=a;f=a+(k<<2)|0;k=r;r=a+(b+ -4<<2)|0;b=j;while(1){M=+g[b+24>>2];J=+g[x+28>>2];I=+g[b+28>>2];D=+g[x+24>>2];H=M*J-I*D;K=-(M*D)-J*I;g[s>>2]=H;g[f+12>>2]=-H;g[k>>2]=K;g[r+12>>2]=K;K=+g[b+16>>2];H=+g[x+20>>2];I=+g[b+20>>2];J=+g[x+16>>2];D=K*H-I*J;M=-(K*J)-H*I;g[s+4>>2]=D;g[f+8>>2]=-D;g[k+4>>2]=M;g[r+8>>2]=M;M=+g[b+8>>2];D=+g[x+12>>2];I=+g[b+12>>2];H=+g[x+8>>2];J=M*D-I*H;K=-(M*H)-D*I;g[s+8>>2]=J;g[f+4>>2]=-J;g[k+8>>2]=K;g[r+4>>2]=K;K=+g[b>>2];J=+g[x+4>>2];I=+g[b+4>>2];D=+g[x>>2];H=K*J-I*D;M=-(K*D)-J*I;g[s+12>>2]=H;g[f>>2]=-H;g[k+12>>2]=M;g[r>>2]=M;b=b+ -32|0;if(b>>>0>>0)break;else{x=x+ -32|0;s=s+16|0;f=f+ -16|0;k=k+16|0;r=r+ -16|0}}c[m>>2]=n;i=h;return}function Dh(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,h=0,j=0,k=0.0,l=0.0,m=0.0,n=0.0,o=0,p=0;f=i;if(a&3)va(14280,12536,2085,14296);h=a>>2;if((h|0)<=0){i=f;return}a=e;e=b+(c<<2)|0;j=b+(d+c<<2)|0;c=h;while(1){k=+g[e>>2];l=+g[j>>2];m=k-l;h=e+ -4|0;d=j+ -4|0;n=+g[h>>2]- +g[d>>2];g[e>>2]=k+l;g[h>>2]=+g[d>>2]+ +g[h>>2];h=a+4|0;g[j>>2]=m*+g[a>>2]-n*+g[h>>2];g[d>>2]=n*+g[a>>2]+m*+g[h>>2];h=a+32|0;d=e+ -8|0;m=+g[d>>2];b=j+ -8|0;n=+g[b>>2];l=m-n;o=e+ -12|0;p=j+ -12|0;k=+g[o>>2]- +g[p>>2];g[d>>2]=m+n;g[o>>2]=+g[p>>2]+ +g[o>>2];o=a+36|0;g[b>>2]=l*+g[h>>2]-k*+g[o>>2];g[p>>2]=k*+g[h>>2]+l*+g[o>>2];o=a+64|0;h=e+ -16|0;l=+g[h>>2];p=j+ -16|0;k=+g[p>>2];n=l-k;b=e+ -20|0;d=j+ -20|0;m=+g[b>>2]- +g[d>>2];g[h>>2]=l+k;g[b>>2]=+g[d>>2]+ +g[b>>2];b=a+68|0;g[p>>2]=n*+g[o>>2]-m*+g[b>>2];g[d>>2]=m*+g[o>>2]+n*+g[b>>2];b=a+96|0;o=e+ -24|0;n=+g[o>>2];d=j+ -24|0;m=+g[d>>2];k=n-m;p=e+ -28|0;h=j+ -28|0;l=+g[p>>2]- +g[h>>2];g[o>>2]=n+m;g[p>>2]=+g[h>>2]+ +g[p>>2];p=a+100|0;g[d>>2]=k*+g[b>>2]-l*+g[p>>2];g[h>>2]=l*+g[b>>2]+k*+g[p>>2];c=c+ -1|0;if((c|0)<=0)break;else{a=a+128|0;e=e+ -32|0;j=j+ -32|0}}i=f;return}function Eh(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0.0,s=0.0,t=0.0,u=0.0,v=0,w=0;h=i;j=a>>2;if((j|0)<=0){i=h;return}a=f+1|0;k=f<<1;l=k|1;m=k+f|0;n=m+1|0;o=m+f|0;p=e;e=b+(c<<2)|0;q=b+(d+c<<2)|0;c=j;while(1){r=+g[e>>2];s=+g[q>>2];t=r-s;j=e+ -4|0;d=q+ -4|0;u=+g[j>>2]- +g[d>>2];g[e>>2]=r+s;g[j>>2]=+g[d>>2]+ +g[j>>2];j=p+4|0;g[q>>2]=t*+g[p>>2]-u*+g[j>>2];g[d>>2]=u*+g[p>>2]+t*+g[j>>2];j=p+(f<<2)|0;d=e+ -8|0;t=+g[d>>2];b=q+ -8|0;u=+g[b>>2];s=t-u;v=e+ -12|0;w=q+ -12|0;r=+g[v>>2]- +g[w>>2];g[d>>2]=t+u;g[v>>2]=+g[w>>2]+ +g[v>>2];v=p+(a<<2)|0;g[b>>2]=s*+g[j>>2]-r*+g[v>>2];g[w>>2]=r*+g[j>>2]+s*+g[v>>2];v=p+(k<<2)|0;j=e+ -16|0;s=+g[j>>2];w=q+ -16|0;r=+g[w>>2];u=s-r;b=e+ -20|0;d=q+ -20|0;t=+g[b>>2]- +g[d>>2];g[j>>2]=s+r;g[b>>2]=+g[d>>2]+ +g[b>>2];b=p+(l<<2)|0;g[w>>2]=u*+g[v>>2]-t*+g[b>>2];g[d>>2]=t*+g[v>>2]+u*+g[b>>2];b=p+(m<<2)|0;v=e+ -24|0;u=+g[v>>2];d=q+ -24|0;t=+g[d>>2];r=u-t;w=e+ -28|0;j=q+ -28|0;s=+g[w>>2]- +g[j>>2];g[v>>2]=u+t;g[w>>2]=+g[j>>2]+ +g[w>>2];w=p+(n<<2)|0;g[d>>2]=r*+g[b>>2]-s*+g[w>>2];g[j>>2]=s*+g[b>>2]+r*+g[w>>2];c=c+ -1|0;if((c|0)<=0)break;else{p=p+(o<<2)|0;e=e+ -32|0;q=q+ -32|0}}i=h;return}function Fh(a,b,c,d,e,f,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;h=h|0;var j=0,k=0.0,l=0.0,m=0.0,n=0.0,o=0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0;j=i;k=+g[e>>2];l=+g[e+4>>2];m=+g[e+(f<<2)>>2];n=+g[e+(f+1<<2)>>2];o=f<<1;p=+g[e+(o<<2)>>2];q=+g[e+((o|1)<<2)>>2];o=f*3|0;r=+g[e+(o<<2)>>2];s=+g[e+(o+1<<2)>>2];if((a|0)<=0){i=j;return}o=0-h|0;h=b+(c<<2)|0;e=b+(d+c<<2)|0;c=a;while(1){t=+g[h>>2];u=+g[e>>2];v=t-u;a=h+ -4|0;d=e+ -4|0;w=+g[a>>2]- +g[d>>2];g[h>>2]=t+u;g[a>>2]=+g[a>>2]+ +g[d>>2];g[e>>2]=k*v-l*w;g[d>>2]=l*v+k*w;d=h+ -8|0;w=+g[d>>2];a=e+ -8|0;v=+g[a>>2];u=w-v;b=h+ -12|0;f=e+ -12|0;t=+g[b>>2]- +g[f>>2];g[d>>2]=w+v;g[b>>2]=+g[b>>2]+ +g[f>>2];g[a>>2]=m*u-n*t;g[f>>2]=n*u+m*t;f=h+ -16|0;t=+g[f>>2];a=e+ -16|0;u=+g[a>>2];v=t-u;b=h+ -20|0;d=e+ -20|0;w=+g[b>>2]- +g[d>>2];g[f>>2]=t+u;g[b>>2]=+g[b>>2]+ +g[d>>2];g[a>>2]=p*v-q*w;g[d>>2]=q*v+p*w;d=h+ -24|0;w=+g[d>>2];a=e+ -24|0;v=+g[a>>2];u=w-v;b=h+ -28|0;f=e+ -28|0;t=+g[b>>2]- +g[f>>2];g[d>>2]=w+v;g[b>>2]=+g[b>>2]+ +g[f>>2];g[a>>2]=r*u-s*t;g[f>>2]=s*u+r*t;c=c+ -1|0;if((c|0)<=0)break;else{h=h+(o<<2)|0;e=e+(o<<2)|0}}i=j;return}function Gh(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,h=0.0,j=0.0,k=0.0,l=0.0,m=0,n=0,o=0.0;f=i;h=+g[d+(e>>3<<2)>>2];e=c-(a<<4)|0;a=b+(e<<2)|0;if((e|0)>=(c|0)){i=f;return}e=b+(c<<2)|0;do{j=+g[e>>2];c=e+ -32|0;k=+g[c>>2];b=e+ -4|0;d=e+ -36|0;l=+g[b>>2]- +g[d>>2];g[e>>2]=j+k;g[b>>2]=+g[b>>2]+ +g[d>>2];g[c>>2]=j-k;g[d>>2]=l;d=e+ -8|0;l=+g[d>>2];b=e+ -40|0;k=+g[b>>2];j=l-k;m=e+ -12|0;n=e+ -44|0;o=+g[m>>2]- +g[n>>2];g[d>>2]=l+k;g[m>>2]=+g[m>>2]+ +g[n>>2];g[b>>2]=h*(j+o);g[n>>2]=h*(o-j);n=e+ -48|0;j=+g[n>>2];b=e+ -16|0;o=+g[b>>2];m=e+ -20|0;d=e+ -52|0;k=+g[m>>2]- +g[d>>2];g[b>>2]=j+o;g[m>>2]=+g[m>>2]+ +g[d>>2];g[n>>2]=k;g[d>>2]=j-o;d=e+ -56|0;o=+g[d>>2];n=e+ -24|0;j=+g[n>>2];k=o-j;m=e+ -28|0;b=e+ -60|0;l=+g[m>>2]- +g[b>>2];g[n>>2]=o+j;g[m>>2]=+g[m>>2]+ +g[b>>2];g[d>>2]=h*(k+l);g[b>>2]=h*(k-l);Hh(e);Hh(c);e=e+ -64|0}while(e>>>0>a>>>0);i=f;return}function Hh(a){a=a|0;var b=0.0,c=0,d=0.0,e=0.0,f=0.0,h=0,i=0,j=0.0,k=0.0,l=0;b=+g[a>>2];c=a+ -16|0;d=+g[c>>2];e=b-d;f=b+d;h=a+ -8|0;d=+g[h>>2];i=a+ -24|0;b=+g[i>>2];j=d+b;k=d-b;g[a>>2]=f+j;g[h>>2]=f-j;h=a+ -12|0;l=a+ -28|0;j=+g[h>>2]- +g[l>>2];g[c>>2]=e+j;g[i>>2]=e-j;i=a+ -4|0;j=+g[i>>2];c=a+ -20|0;e=+g[c>>2];f=j-e;b=j+e;e=+g[h>>2]+ +g[l>>2];g[i>>2]=b+e;g[h>>2]=b-e;g[c>>2]=f-k;g[l>>2]=k+f;return}function Ih(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;h=i;j=e-c|0;e=d-b|0;k=(j|0)/(e|0)|0;l=j>>31|1;m=((j|0)>-1?j:0-j|0)-(aa((k|0)>-1?k:0-k|0,e)|0)|0;j=a+(b<<2)|0;g[j>>2]=+g[14320+(c<<2)>>2]*+g[j>>2];j=b+1|0;if((j|0)>=(((d|0)>(f|0)?f:d)|0)){i=h;return}b=~f;f=~d;d=~((b|0)>(f|0)?b:f);f=0;b=j;j=c;while(1){c=f+m|0;n=(c|0)<(e|0);j=j+k+(n?0:l)|0;o=a+(b<<2)|0;g[o>>2]=+g[14320+(j<<2)>>2]*+g[o>>2];b=b+1|0;if((b|0)==(d|0))break;else f=c-(n?0:e)|0}i=h;return}function Jh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;if((b|0)<=0){i=e;return a|0}f=0;g=a+(b<<2)|0;while(1){c[a+(f<<2)>>2]=g;f=f+1|0;if((f|0)==(b|0))break;else g=g+d|0}i=e;return a|0}function Kh(e,f,h,j,k,l,m){e=e|0;f=f|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=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.0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0;n=i;o=c[j>>2]|0;p=c[k>>2]|0;q=c[f>>2]|0;if(!(a[f+21>>0]|0)){qg(e,21);r=0;i=n;return r|0}a:do if((m|0)>0){s=e+1412|0;t=e+1408|0;u=f+8|0;v=l<<1;w=f+22|0;x=f+28|0;y=h+4|0;z=f+28|0;A=f+28|0;B=f+28|0;C=m;D=o;E=q;F=p;while(1){if((c[s>>2]|0)<10)xh(e);G=c[t>>2]|0;H=b[f+((G&1023)<<1)+36>>1]|0;I=H<<16>>16;if(H<<16>>16>-1){H=d[(c[u>>2]|0)+I>>0]|0;c[t>>2]=G>>>H;G=(c[s>>2]|0)-H|0;H=(G|0)<0;c[s>>2]=H?0:G;J=H?-1:I}else J=yh(e,f)|0;if((J|0)<0)break;I=F<<1;if((I+E+D|0)>(v|0))K=v-I+D|0;else K=E;I=aa(c[f>>2]|0,J)|0;if(!(a[w>>0]|0)){if((D|0)==1){H=c[h+(D<<2)>>2]|0;if(H){G=H+(F<<2)|0;g[G>>2]=+g[G>>2]+(+g[(c[x>>2]|0)+(I<<2)>>2]+0.0)}L=0;M=1;N=F+1|0}else{L=D;M=0;N=F}G=c[h>>2]|0;H=c[y>>2]|0;if((M+1|0)<(K|0)){O=c[A>>2]|0;P=(G|0)==0;Q=(H|0)==0;R=M;S=N;while(1){T=R+I|0;U=+g[O+(T+1<<2)>>2]+0.0;if(!P){V=G+(S<<2)|0;g[V>>2]=+g[V>>2]+(+g[O+(T<<2)>>2]+0.0)}if(!Q){T=H+(S<<2)|0;g[T>>2]=U+ +g[T>>2]}T=S+1|0;V=R+2|0;if((R+3|0)<(K|0)){R=V;S=T}else{W=V;X=T;break}}}else{W=M;X=N}if((W|0)<(K|0)){S=c[h+(L<<2)>>2]|0;if(S){R=S+(X<<2)|0;g[R>>2]=+g[R>>2]+(+g[(c[z>>2]|0)+(W+I<<2)>>2]+0.0)}R=L+1|0;S=(R|0)==2;Y=S?0:R;Z=X+(S&1)|0}else{Y=L;Z=X}}else if((K|0)>0){S=c[B>>2]|0;R=D;H=0;U=0.0;Q=F;while(1){U=U+ +g[S+(H+I<<2)>>2];O=c[h+(R<<2)>>2]|0;if(O){G=O+(Q<<2)|0;g[G>>2]=U+ +g[G>>2]}G=R+1|0;O=(G|0)==2;P=(O&1)+Q|0;T=O?0:G;H=H+1|0;if((H|0)==(K|0)){Y=T;Z=P;break}else{R=T;Q=P}}}else{Y=D;Z=F}C=C-K|0;if((C|0)<=0){_=Y;$=Z;break a}else{D=Y;E=K;F=Z}}if((a[e+1392>>0]|0)==0?(c[e+1400>>2]|0)!=0:0){r=0;i=n;return r|0}qg(e,21);r=0;i=n;return r|0}else{_=o;$=p}while(0);c[j>>2]=_;c[k>>2]=$;r=1;i=n;return r|0}function Lh(e,f,h,j,k,l,m,n){e=e|0;f=f|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=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.0,V=0,W=0,X=0;o=i;p=c[k>>2]|0;q=c[l>>2]|0;r=c[f>>2]|0;if(!(a[f+21>>0]|0)){qg(e,21);s=0;i=o;return s|0}a:do if((n|0)>0){t=e+1412|0;u=e+1408|0;v=f+8|0;w=f+23|0;x=aa(m,j)|0;y=f+22|0;z=f+28|0;A=f+28|0;B=f+2092|0;C=n;D=p;E=r;F=q;while(1){if((c[t>>2]|0)<10)xh(e);G=c[u>>2]|0;H=b[f+((G&1023)<<1)+36>>1]|0;I=H<<16>>16;if(H<<16>>16>-1){H=d[(c[v>>2]|0)+I>>0]|0;c[u>>2]=G>>>H;G=(c[t>>2]|0)-H|0;H=(G|0)<0;c[t>>2]=H?0:G;J=H?-1:I}else J=yh(e,f)|0;if((a[w>>0]|0)!=0?(J|0)>=(c[B>>2]|0):0){K=12;break}if((J|0)<0)break;I=aa(F,j)|0;if((E+I+D|0)>(x|0))L=x-I+D|0;else L=E;I=aa(c[f>>2]|0,J)|0;H=(L|0)>0;if(!(a[y>>0]|0))if(H){G=D;M=0;N=F;while(1){O=c[h+(G<<2)>>2]|0;if(O){P=O+(N<<2)|0;g[P>>2]=+g[P>>2]+(+g[(c[A>>2]|0)+(M+I<<2)>>2]+0.0)}P=G+1|0;O=(P|0)==(j|0);Q=(O&1)+N|0;R=O?0:P;M=M+1|0;if((M|0)==(L|0)){S=R;T=Q;break}else{G=R;N=Q}}}else{S=D;T=F}else if(H){N=c[z>>2]|0;G=D;M=0;U=0.0;Q=F;while(1){U=U+ +g[N+(M+I<<2)>>2];R=c[h+(G<<2)>>2]|0;if(R){P=R+(Q<<2)|0;g[P>>2]=U+ +g[P>>2]}P=G+1|0;R=(P|0)==(j|0);O=(R&1)+Q|0;V=R?0:P;M=M+1|0;if((M|0)==(L|0)){S=V;T=O;break}else{G=V;Q=O}}}else{S=D;T=F}C=C-L|0;if((C|0)<=0){W=S;X=T;break a}else{D=S;E=L;F=T}}if((K|0)==12)va(15392,12536,1432,15432);if((a[e+1392>>0]|0)==0?(c[e+1400>>2]|0)!=0:0){s=0;i=o;return s|0}qg(e,21);s=0;i=o;return s|0}else{W=p;X=q}while(0);c[k>>2]=W;c[l>>2]=X;s=1;i=o;return s|0}function Mh(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;a:do if(!g){j=(f|0)/(c[b>>2]|0)|0;if((j|0)>0){k=f-e|0;l=0;while(1){if(!(Nh(a,b,d+(l+e<<2)|0,k-l|0,j)|0)){m=0;break a}l=l+1|0;if((l|0)>=(j|0)){m=1;break}}}else m=1}else if((f|0)>0){j=e;l=0;while(1){if(!(Oh(a,b,d+(j<<2)|0,f-l|0)|0)){m=0;break a}k=c[b>>2]|0;l=k+l|0;if((l|0)>=(f|0)){m=1;break}else j=k+j|0}}else m=1;while(0);i=h;return m|0}function Nh(b,d,e,f,h){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0.0,p=0.0;j=i;k=Ph(b,d)|0;if((k|0)<0){l=0;i=j;return l|0}b=c[d>>2]|0;m=aa(b,k)|0;if((((b|0)<(f|0)?b:f)|0)<=0){l=1;i=j;return l|0}k=c[d+28>>2]|0;n=d+22|0;d=~b;b=~f;f=~((d|0)>(b|0)?d:b);b=0;o=0.0;while(1){p=o+ +g[k+(b+m<<2)>>2];d=e+((aa(b,h)|0)<<2)|0;g[d>>2]=+g[d>>2]+p;b=b+1|0;if((b|0)==(f|0)){l=1;break}else o=(a[n>>0]|0)==0?o:p}i=j;return l|0}function Oh(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0.0,r=0.0;h=i;j=Ph(b,d)|0;if((j|0)<0){k=0;i=h;return k|0}b=c[d>>2]|0;l=aa(b,j)|0;j=(((b|0)<(f|0)?b:f)|0)>0;if(!(a[d+22>>0]|0)){if(!j){k=1;i=h;return k|0}m=c[d+28>>2]|0;n=~b;o=~f;p=~((n|0)>(o|0)?n:o);o=0;do{n=e+(o<<2)|0;g[n>>2]=+g[n>>2]+(+g[m+(o+l<<2)>>2]+0.0);o=o+1|0}while((o|0)!=(p|0));k=1;i=h;return k|0}else{if(!j){k=1;i=h;return k|0}j=c[d+28>>2]|0;p=d+12|0;d=~b;b=~f;f=~((d|0)>(b|0)?d:b);b=0;q=0.0;while(1){r=q+ +g[j+(b+l<<2)>>2];d=e+(b<<2)|0;g[d>>2]=+g[d>>2]+r;b=b+1|0;if((b|0)==(f|0)){k=1;break}else q=r+ +g[p>>2]}i=h;return k|0}return 0}function Ph(e,f){e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;g=i;if(!(a[f+21>>0]|0)){qg(e,21);h=-1;i=g;return h|0}j=e+1412|0;if((c[j>>2]|0)<10)xh(e);k=e+1408|0;l=c[k>>2]|0;m=b[f+((l&1023)<<1)+36>>1]|0;n=m<<16>>16;if(m<<16>>16>-1){m=d[(c[f+8>>2]|0)+n>>0]|0;c[k>>2]=l>>>m;l=(c[j>>2]|0)-m|0;m=(l|0)<0;c[j>>2]=m?0:l;o=m?-1:n}else o=yh(e,f)|0;if((a[f+23>>0]|0)!=0?(o|0)>=(c[f+2092>>2]|0):0)va(15344,12536,1338,15368);if((o|0)>=0){h=o;i=g;return h|0}if((a[e+1392>>0]|0)==0?(c[e+1400>>2]|0)!=0:0){h=o;i=g;return h|0}qg(e,21);h=o;i=g;return h|0}function Qh(a,b){a=+a;b=b|0;var c=0,d=0.0;c=i;d=+Zh(a,b);i=c;return+d}function Rh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var 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,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=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,X=0,Y=0,Z=0,_=0,$=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0;f=i;i=i+944|0;g=f+680|0;h=f+424|0;j=f;k=f+232|0;l=aa(d,b)|0;if(!l){i=f;return}b=l-d|0;c[k+4>>2]=d;c[k>>2]=d;m=d;n=d;o=2;while(1){p=m+d+n|0;c[k+(o<<2)>>2]=p;if(p>>>0>>0){q=n;n=p;o=o+1|0;m=q}else break}m=0-d|0;o=a+b|0;if((b|0)>0){b=(d|0)==0;n=d>>>0>256?256:d;l=(n|0)==(d|0);q=o;p=1;r=0;s=a;t=1;while(1){do if((p&3|0)!=3){u=t+ -1|0;a:do if((c[k+(u<<2)>>2]|0)>>>0<(q-s|0)>>>0){c[j>>2]=s;if((t|0)>1){v=t;w=s;x=s;y=1;while(1){z=w+m|0;A=v+ -2|0;B=w+(0-((c[k+(A<<2)>>2]|0)+d))|0;if((Uc[e&3](x,B)|0)>-1?(Uc[e&3](x,z)|0)>-1:0){C=y;break}D=y+1|0;E=j+(y<<2)|0;if((Uc[e&3](B,z)|0)>-1){c[E>>2]=B;F=B;G=v+ -1|0}else{c[E>>2]=z;F=z;G=A}if((G|0)<=1){C=D;break}v=G;w=F;x=c[j>>2]|0;y=D}if((C|0)>=2?(y=j+(C<<2)|0,c[y>>2]=g,!b):0){if((C|0)>0){H=d;I=g}else{x=c[j>>2]|0;oi(g|0,x|0,n|0)|0;if(l)break;else{J=d;K=n}while(1){J=J-K|0;K=J>>>0>256?256:J;oi(g|0,x|0,K|0)|0;if((J|0)==(K|0))break a}}while(1){x=H>>>0>256?256:H;w=c[j>>2]|0;oi(I|0,w|0,x|0)|0;v=w;w=0;do{D=w;w=w+1|0;A=v;v=c[j+(w<<2)>>2]|0;oi(A|0,v|0,x|0)|0;c[j+(D<<2)>>2]=A+x}while((w|0)!=(C|0));if((H|0)==(x|0))break a;H=H-x|0;I=c[y>>2]|0}}}}else Sh(s,d,e,p,r,t,0,k);while(0);if((t|0)==1){L=p<<1;M=p>>>31|r<<1;N=0;break}else{y=u>>>0>31;w=y?0:p;v=y?t+ -33|0:u;L=w<>>(32-v|0)|(y?p:r)<>2]=s;b:do if((t|0)>1){v=t;y=s;w=s;A=1;while(1){D=y+m|0;z=v+ -2|0;E=y+(0-((c[k+(z<<2)>>2]|0)+d))|0;if((Uc[e&3](w,E)|0)>-1?(Uc[e&3](w,D)|0)>-1:0){O=A;break}B=A+1|0;P=j+(A<<2)|0;if((Uc[e&3](E,D)|0)>-1){c[P>>2]=E;Q=E;R=v+ -1|0}else{c[P>>2]=D;Q=D;R=z}if((R|0)<=1){O=B;break}v=R;y=Q;w=c[j>>2]|0;A=B}if((O|0)>=2?(A=j+(O<<2)|0,c[A>>2]=h,!b):0){if((O|0)>0){S=d;T=h}else{w=c[j>>2]|0;oi(h|0,w|0,n|0)|0;if(l)break;else{U=d;V=n}while(1){U=U-V|0;V=U>>>0>256?256:U;oi(h|0,w|0,V|0)|0;if((U|0)==(V|0))break b}}while(1){w=S>>>0>256?256:S;y=c[j>>2]|0;oi(T|0,y|0,w|0)|0;v=y;y=0;do{B=y;y=y+1|0;z=v;v=c[j+(y<<2)>>2]|0;oi(z|0,v|0,w|0)|0;c[j+(B<<2)>>2]=z+w}while((y|0)!=(O|0));if((S|0)==(w|0))break b;S=S-w|0;T=c[A>>2]|0}}}while(0);L=p>>>2|r<<30;M=r>>>2;N=t+2|0}while(0);u=L|1;A=s+d|0;if(A>>>0>>0){p=u;r=M;s=A;t=N}else{W=M;X=u;Y=A;Z=N;break}}}else{W=0;X=1;Y=a;Z=1}Sh(Y,d,e,X,W,Z,0,k);a=X;X=W;W=Y;Y=Z;while(1){if((Y|0)==1){if((a|0)==1)if(!X)break;else _=52}else _=52;if((_|0)==52?(_=0,(Y|0)>=2):0){Z=a>>>30;N=Y+ -2|0;M=(a<<1&2147483646|Z<<31)^3;t=(Z|X<<2)>>>1;Sh(W+(0-((c[k+(N<<2)>>2]|0)+d))|0,d,e,M,t,Y+ -1|0,1,k);s=t<<1|Z&1;Z=M<<1|1;M=W+m|0;Sh(M,d,e,Z,s,N,1,k);a=Z;X=s;W=M;Y=N;continue}N=a+ -1|0;if(N){if(!(N&1)){M=N;N=0;do{N=N+1|0;M=M>>>1}while((M&1|0)==0);if(N)$=N;else _=57}else _=57;if((_|0)==57){_=0;if(X)if(!(X&1)){M=X;s=0;while(1){Z=s+1|0;M=M>>>1;if(M&1){ba=Z;break}else s=Z}}else ba=0;else ba=32;$=(ba|0)==0?0:ba+32|0}if($>>>0>31){ca=$;_=62}else{da=$;ea=a;fa=X;ga=$}}else{ca=32;_=62}if((_|0)==62){_=0;da=ca+ -32|0;ea=X;fa=0;ga=ca}a=fa<<32-da|ea>>>da;X=fa>>>da;W=W+m|0;Y=ga+Y|0}i=f;return}function Sh(a,b,d,e,f,g,h,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var 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,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=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,X=0,Y=0,Z=0,_=0,$=0,aa=0;k=i;i=i+720|0;l=k+456|0;m=k;n=k+228|0;c[n>>2]=a;o=0-b|0;a:do if((e|0)==1&(f|0)==0){p=a;q=g;r=h;s=1;t=18}else{u=g;v=a;w=h;x=e;y=f;z=a;A=1;while(1){B=v+(0-(c[j+(u<<2)>>2]|0))|0;if((Uc[d&3](B,z)|0)<1){p=v;q=u;r=w;s=A;t=18;break a}if((w|0)==0&(u|0)>1){C=c[j+(u+ -2<<2)>>2]|0;if((Uc[d&3](v+o|0,B)|0)>-1){D=v;E=u;F=A;break a}if((Uc[d&3](v+(0-(C+b))|0,B)|0)>-1){D=v;E=u;F=A;break a}}C=A+1|0;c[n+(A<<2)>>2]=B;G=x+ -1|0;if(G){if(!(G&1)){H=G;G=0;do{G=G+1|0;H=H>>>1}while((H&1|0)==0);if(G)I=G;else t=10}else t=10;if((t|0)==10){t=0;if(y)if(!(y&1)){H=y;J=0;while(1){K=J+1|0;H=H>>>1;if(H&1){L=K;break}else J=K}}else L=0;else L=32;I=(L|0)==0?0:L+32|0}if(I>>>0>31){M=I;t=15}else{N=I;O=x;P=y;Q=I}}else{M=32;t=15}if((t|0)==15){t=0;N=M+ -32|0;O=y;P=0;Q=M}J=P<<32-N|O>>>N;H=P>>>N;G=Q+u|0;if((J|0)==1&(H|0)==0){D=B;E=G;F=C;break a}u=G;v=B;w=0;x=J;y=H;z=c[n>>2]|0;A=C}}while(0);if((t|0)==18)if(!r){D=p;E=q;F=s}else{i=k;return}b:do if((F|0)>=2?(s=n+(F<<2)|0,c[s>>2]=l,(b|0)!=0):0){if((F|0)>0){R=b;S=l}else{q=b>>>0>256?256:b;p=c[n>>2]|0;oi(l|0,p|0,q|0)|0;if((q|0)==(b|0))break;else{T=b;U=q}while(1){T=T-U|0;U=T>>>0>256?256:T;oi(l|0,p|0,U|0)|0;if((T|0)==(U|0))break b}}while(1){p=R>>>0>256?256:R;q=c[n>>2]|0;oi(S|0,q|0,p|0)|0;r=q;q=0;do{t=q;q=q+1|0;Q=r;r=c[n+(q<<2)>>2]|0;oi(Q|0,r|0,p|0)|0;c[n+(t<<2)>>2]=Q+p}while((q|0)!=(F|0));if((R|0)==(p|0))break b;R=R-p|0;S=c[s>>2]|0}}while(0);c[m>>2]=D;c:do if((E|0)>1){S=E;R=D;F=D;n=1;while(1){U=R+o|0;T=S+ -2|0;s=R+(0-((c[j+(T<<2)>>2]|0)+b))|0;if((Uc[d&3](F,s)|0)>-1?(Uc[d&3](F,U)|0)>-1:0){V=n;break}q=n+1|0;r=m+(n<<2)|0;if((Uc[d&3](s,U)|0)>-1){c[r>>2]=s;W=s;X=S+ -1|0}else{c[r>>2]=U;W=U;X=T}if((X|0)<=1){V=q;break}S=X;R=W;F=c[m>>2]|0;n=q}if((V|0)>=2?(n=m+(V<<2)|0,c[n>>2]=l,(b|0)!=0):0){if((V|0)>0){Y=b;Z=l}else{F=b>>>0>256?256:b;R=c[m>>2]|0;oi(l|0,R|0,F|0)|0;if((F|0)==(b|0)){_=l;break}else{$=b;aa=F}while(1){$=$-aa|0;aa=$>>>0>256?256:$;oi(l|0,R|0,aa|0)|0;if(($|0)==(aa|0)){_=l;break c}}}while(1){R=Y>>>0>256?256:Y;F=c[m>>2]|0;oi(Z|0,F|0,R|0)|0;S=F;F=0;do{q=F;F=F+1|0;T=S;S=c[m+(F<<2)>>2]|0;oi(T|0,S|0,R|0)|0;c[m+(q<<2)>>2]=T+R}while((F|0)!=(V|0));if((Y|0)==(R|0)){_=l;break c}Y=Y-R|0;Z=c[n>>2]|0}}else _=l}else _=l;while(0);i=k;return}function Th(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;f=c&255;c=d;while(1){if(!c){g=0;h=4;break}c=c+ -1|0;d=b+c|0;if((a[d>>0]|0)==f<<24>>24){g=d;h=4;break}}if((h|0)==4){i=e;return g|0}return 0}function Uh(a,b){a=a|0;b=b|0;var c=0,d=0;c=i;d=Th(a,b,(vi(a|0)|0)+1|0)|0;i=c;return d|0}function Vh(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,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=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,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Da=0,Ea=0,Fa=0,Ga=0,Ia=0,Ja=0,Ka=0,La=0;b=i;do if(a>>>0<245){if(a>>>0<11)d=16;else d=a+11&-8;e=d>>>3;f=c[3890]|0;g=f>>>e;if(g&3){h=(g&1^1)+e|0;j=h<<1;k=15600+(j<<2)|0;l=15600+(j+2<<2)|0;j=c[l>>2]|0;m=j+8|0;n=c[m>>2]|0;do if((k|0)!=(n|0)){if(n>>>0<(c[3894]|0)>>>0)dc();o=n+12|0;if((c[o>>2]|0)==(j|0)){c[o>>2]=k;c[l>>2]=n;break}else dc()}else c[3890]=f&~(1<>2]=n|3;l=j+(n|4)|0;c[l>>2]=c[l>>2]|1;p=m;i=b;return p|0}if(d>>>0>(c[3892]|0)>>>0){if(g){l=2<>>12&16;k=l>>>n;l=k>>>5&8;o=k>>>l;k=o>>>2&4;q=o>>>k;o=q>>>1&2;r=q>>>o;q=r>>>1&1;s=(l|n|k|o|q)+(r>>>q)|0;q=s<<1;r=15600+(q<<2)|0;o=15600+(q+2<<2)|0;q=c[o>>2]|0;k=q+8|0;n=c[k>>2]|0;do if((r|0)!=(n|0)){if(n>>>0<(c[3894]|0)>>>0)dc();l=n+12|0;if((c[l>>2]|0)==(q|0)){c[l>>2]=r;c[o>>2]=n;break}else dc()}else c[3890]=f&~(1<>2]=d|3;o=q+d|0;c[q+(d|4)>>2]=n|1;c[q+f>>2]=n;f=c[3892]|0;if(f){r=c[3895]|0;e=f>>>3;f=e<<1;g=15600+(f<<2)|0;m=c[3890]|0;j=1<>2]|0;if(h>>>0<(c[3894]|0)>>>0)dc();else{t=e;u=h}}else{c[3890]=m|j;t=15600+(f+2<<2)|0;u=g}c[t>>2]=r;c[u+12>>2]=r;c[r+8>>2]=u;c[r+12>>2]=g}c[3892]=n;c[3895]=o;p=k;i=b;return p|0}o=c[3891]|0;if(o){n=(o&0-o)+ -1|0;o=n>>>12&16;g=n>>>o;n=g>>>5&8;r=g>>>n;g=r>>>2&4;f=r>>>g;r=f>>>1&2;j=f>>>r;f=j>>>1&1;m=c[15864+((n|o|g|r|f)+(j>>>f)<<2)>>2]|0;f=(c[m+4>>2]&-8)-d|0;j=m;r=m;while(1){m=c[j+16>>2]|0;if(!m){g=c[j+20>>2]|0;if(!g)break;else v=g}else v=m;m=(c[v+4>>2]&-8)-d|0;g=m>>>0>>0;f=g?m:f;j=v;r=g?v:r}j=c[3894]|0;if(r>>>0>>0)dc();k=r+d|0;if(r>>>0>=k>>>0)dc();q=c[r+24>>2]|0;s=c[r+12>>2]|0;do if((s|0)==(r|0)){g=r+20|0;m=c[g>>2]|0;if(!m){o=r+16|0;n=c[o>>2]|0;if(!n){w=0;break}else{x=n;y=o}}else{x=m;y=g}while(1){g=x+20|0;m=c[g>>2]|0;if(m){x=m;y=g;continue}g=x+16|0;m=c[g>>2]|0;if(!m)break;else{x=m;y=g}}if(y>>>0>>0)dc();else{c[y>>2]=0;w=x;break}}else{g=c[r+8>>2]|0;if(g>>>0>>0)dc();m=g+12|0;if((c[m>>2]|0)!=(r|0))dc();o=s+8|0;if((c[o>>2]|0)==(r|0)){c[m>>2]=s;c[o>>2]=g;w=s;break}else dc()}while(0);do if(q){s=c[r+28>>2]|0;j=15864+(s<<2)|0;if((r|0)==(c[j>>2]|0)){c[j>>2]=w;if(!w){c[3891]=c[3891]&~(1<>>0<(c[3894]|0)>>>0)dc();s=q+16|0;if((c[s>>2]|0)==(r|0))c[s>>2]=w;else c[q+20>>2]=w;if(!w)break}if(w>>>0<(c[3894]|0)>>>0)dc();c[w+24>>2]=q;s=c[r+16>>2]|0;do if(s)if(s>>>0<(c[3894]|0)>>>0)dc();else{c[w+16>>2]=s;c[s+24>>2]=w;break}while(0);s=c[r+20>>2]|0;if(s)if(s>>>0<(c[3894]|0)>>>0)dc();else{c[w+20>>2]=s;c[s+24>>2]=w;break}}while(0);if(f>>>0<16){q=f+d|0;c[r+4>>2]=q|3;s=r+(q+4)|0;c[s>>2]=c[s>>2]|1}else{c[r+4>>2]=d|3;c[r+(d|4)>>2]=f|1;c[r+(f+d)>>2]=f;s=c[3892]|0;if(s){q=c[3895]|0;j=s>>>3;s=j<<1;g=15600+(s<<2)|0;o=c[3890]|0;m=1<>2]|0;if(n>>>0<(c[3894]|0)>>>0)dc();else{z=j;A=n}}else{c[3890]=o|m;z=15600+(s+2<<2)|0;A=g}c[z>>2]=q;c[A+12>>2]=q;c[q+8>>2]=A;c[q+12>>2]=g}c[3892]=f;c[3895]=k}p=r+8|0;i=b;return p|0}else B=d}else B=d}else if(a>>>0<=4294967231){g=a+11|0;q=g&-8;s=c[3891]|0;if(s){m=0-q|0;o=g>>>8;if(o)if(q>>>0>16777215)C=31;else{g=(o+1048320|0)>>>16&8;n=o<>>16&4;j=n<>>16&2;h=14-(o|g|n)+(j<>>15)|0;C=q>>>(h+7|0)&1|h<<1}else C=0;h=c[15864+(C<<2)>>2]|0;a:do if(!h){D=m;E=0;F=0}else{if((C|0)==31)G=0;else G=25-(C>>>1)|0;n=m;j=0;g=q<>2]&-8;H=l-q|0;if(H>>>0>>0)if((l|0)==(q|0)){D=H;E=o;F=o;break a}else{I=H;J=o}else{I=n;J=e}H=c[o+20>>2]|0;o=c[o+(g>>>31<<2)+16>>2]|0;l=(H|0)==0|(H|0)==(o|0)?j:H;if(!o){D=I;E=l;F=J;break}else{n=I;j=l;g=g<<1;e=J}}}while(0);if((E|0)==0&(F|0)==0){h=2<>>12&16;r=h>>>m;h=r>>>5&8;k=r>>>h;r=k>>>2&4;f=k>>>r;k=f>>>1&2;e=f>>>k;f=e>>>1&1;K=c[15864+((h|m|r|k|f)+(e>>>f)<<2)>>2]|0}else K=E;if(!K){L=D;M=F}else{f=D;e=K;k=F;while(1){r=(c[e+4>>2]&-8)-q|0;m=r>>>0>>0;h=m?r:f;r=m?e:k;m=c[e+16>>2]|0;if(m){f=h;e=m;k=r;continue}e=c[e+20>>2]|0;if(!e){L=h;M=r;break}else{f=h;k=r}}}if((M|0)!=0?L>>>0<((c[3892]|0)-q|0)>>>0:0){k=c[3894]|0;if(M>>>0>>0)dc();f=M+q|0;if(M>>>0>=f>>>0)dc();e=c[M+24>>2]|0;s=c[M+12>>2]|0;do if((s|0)==(M|0)){r=M+20|0;h=c[r>>2]|0;if(!h){m=M+16|0;g=c[m>>2]|0;if(!g){N=0;break}else{O=g;P=m}}else{O=h;P=r}while(1){r=O+20|0;h=c[r>>2]|0;if(h){O=h;P=r;continue}r=O+16|0;h=c[r>>2]|0;if(!h)break;else{O=h;P=r}}if(P>>>0>>0)dc();else{c[P>>2]=0;N=O;break}}else{r=c[M+8>>2]|0;if(r>>>0>>0)dc();h=r+12|0;if((c[h>>2]|0)!=(M|0))dc();m=s+8|0;if((c[m>>2]|0)==(M|0)){c[h>>2]=s;c[m>>2]=r;N=s;break}else dc()}while(0);do if(e){s=c[M+28>>2]|0;k=15864+(s<<2)|0;if((M|0)==(c[k>>2]|0)){c[k>>2]=N;if(!N){c[3891]=c[3891]&~(1<>>0<(c[3894]|0)>>>0)dc();s=e+16|0;if((c[s>>2]|0)==(M|0))c[s>>2]=N;else c[e+20>>2]=N;if(!N)break}if(N>>>0<(c[3894]|0)>>>0)dc();c[N+24>>2]=e;s=c[M+16>>2]|0;do if(s)if(s>>>0<(c[3894]|0)>>>0)dc();else{c[N+16>>2]=s;c[s+24>>2]=N;break}while(0);s=c[M+20>>2]|0;if(s)if(s>>>0<(c[3894]|0)>>>0)dc();else{c[N+20>>2]=s;c[s+24>>2]=N;break}}while(0);b:do if(L>>>0>=16){c[M+4>>2]=q|3;c[M+(q|4)>>2]=L|1;c[M+(L+q)>>2]=L;e=L>>>3;if(L>>>0<256){s=e<<1;k=15600+(s<<2)|0;r=c[3890]|0;m=1<>2]|0;if(h>>>0>=(c[3894]|0)>>>0){Q=e;R=h;break}dc()}while(0);c[Q>>2]=f;c[R+12>>2]=f;c[M+(q+8)>>2]=R;c[M+(q+12)>>2]=k;break}s=L>>>8;if(s)if(L>>>0>16777215)S=31;else{m=(s+1048320|0)>>>16&8;r=s<>>16&4;h=r<>>16&2;e=14-(s|m|r)+(h<>>15)|0;S=L>>>(e+7|0)&1|e<<1}else S=0;e=15864+(S<<2)|0;c[M+(q+28)>>2]=S;c[M+(q+20)>>2]=0;c[M+(q+16)>>2]=0;r=c[3891]|0;h=1<>2]=f;c[M+(q+24)>>2]=e;c[M+(q+12)>>2]=f;c[M+(q+8)>>2]=f;break}h=c[e>>2]|0;if((S|0)==31)T=0;else T=25-(S>>>1)|0;c:do if((c[h+4>>2]&-8|0)!=(L|0)){e=L<>>31<<2)+16|0;m=c[U>>2]|0;if(!m)break;if((c[m+4>>2]&-8|0)==(L|0)){V=m;break c}else{e=e<<1;r=m}}if(U>>>0<(c[3894]|0)>>>0)dc();else{c[U>>2]=f;c[M+(q+24)>>2]=r;c[M+(q+12)>>2]=f;c[M+(q+8)>>2]=f;break b}}else V=h;while(0);h=V+8|0;k=c[h>>2]|0;e=c[3894]|0;if(V>>>0>>0)dc();if(k>>>0>>0)dc();else{c[k+12>>2]=f;c[h>>2]=f;c[M+(q+8)>>2]=k;c[M+(q+12)>>2]=V;c[M+(q+24)>>2]=0;break}}else{k=L+q|0;c[M+4>>2]=k|3;h=M+(k+4)|0;c[h>>2]=c[h>>2]|1}while(0);p=M+8|0;i=b;return p|0}else B=q}else B=q}else B=-1;while(0);M=c[3892]|0;if(B>>>0<=M>>>0){L=M-B|0;V=c[3895]|0;if(L>>>0>15){c[3895]=V+B;c[3892]=L;c[V+(B+4)>>2]=L|1;c[V+M>>2]=L;c[V+4>>2]=B|3}else{c[3892]=0;c[3895]=0;c[V+4>>2]=M|3;L=V+(M+4)|0;c[L>>2]=c[L>>2]|1}p=V+8|0;i=b;return p|0}V=c[3893]|0;if(B>>>0>>0){L=V-B|0;c[3893]=L;V=c[3896]|0;c[3896]=V+B;c[V+(B+4)>>2]=L|1;c[V+4>>2]=B|3;p=V+8|0;i=b;return p|0}do if(!(c[4008]|0)){V=Ha(30)|0;if(!(V+ -1&V)){c[4010]=V;c[4009]=V;c[4011]=-1;c[4012]=-1;c[4013]=0;c[4001]=0;c[4008]=(Ab(0)|0)&-16^1431655768;break}else dc()}while(0);V=B+48|0;L=c[4010]|0;M=B+47|0;U=L+M|0;T=0-L|0;L=U&T;if(L>>>0<=B>>>0){p=0;i=b;return p|0}S=c[4e3]|0;if((S|0)!=0?(R=c[3998]|0,Q=R+L|0,Q>>>0<=R>>>0|Q>>>0>S>>>0):0){p=0;i=b;return p|0}d:do if(!(c[4001]&4)){S=c[3896]|0;e:do if(S){Q=16008|0;while(1){R=c[Q>>2]|0;if(R>>>0<=S>>>0?(W=Q+4|0,(R+(c[W>>2]|0)|0)>>>0>S>>>0):0)break;R=c[Q+8>>2]|0;if(!R){X=182;break e}else Q=R}if(Q){R=U-(c[3893]|0)&T;if(R>>>0<2147483647){N=Ca(R|0)|0;O=(N|0)==((c[Q>>2]|0)+(c[W>>2]|0)|0);Y=N;Z=R;_=O?N:-1;$=O?R:0;X=191}else aa=0}else X=182}else X=182;while(0);do if((X|0)==182){S=Ca(0)|0;if((S|0)!=(-1|0)){q=S;R=c[4009]|0;O=R+ -1|0;if(!(O&q))ba=L;else ba=L-q+(O+q&0-R)|0;R=c[3998]|0;q=R+ba|0;if(ba>>>0>B>>>0&ba>>>0<2147483647){O=c[4e3]|0;if((O|0)!=0?q>>>0<=R>>>0|q>>>0>O>>>0:0){aa=0;break}O=Ca(ba|0)|0;q=(O|0)==(S|0);Y=O;Z=ba;_=q?S:-1;$=q?ba:0;X=191}else aa=0}else aa=0}while(0);f:do if((X|0)==191){q=0-Z|0;if((_|0)!=(-1|0)){ca=_;da=$;X=202;break d}do if((Y|0)!=(-1|0)&Z>>>0<2147483647&Z>>>0>>0?(S=c[4010]|0,O=M-Z+S&0-S,O>>>0<2147483647):0)if((Ca(O|0)|0)==(-1|0)){Ca(q|0)|0;aa=$;break f}else{ea=O+Z|0;break}else ea=Z;while(0);if((Y|0)==(-1|0))aa=$;else{ca=Y;da=ea;X=202;break d}}while(0);c[4001]=c[4001]|4;fa=aa;X=199}else{fa=0;X=199}while(0);if((((X|0)==199?L>>>0<2147483647:0)?(aa=Ca(L|0)|0,L=Ca(0)|0,(L|0)!=(-1|0)&(aa|0)!=(-1|0)&aa>>>0>>0):0)?(ea=L-aa|0,L=ea>>>0>(B+40|0)>>>0,L):0){ca=aa;da=L?ea:fa;X=202}if((X|0)==202){fa=(c[3998]|0)+da|0;c[3998]=fa;if(fa>>>0>(c[3999]|0)>>>0)c[3999]=fa;fa=c[3896]|0;g:do if(fa){ea=16008|0;while(1){ga=c[ea>>2]|0;ha=ea+4|0;ia=c[ha>>2]|0;if((ca|0)==(ga+ia|0)){X=214;break}L=c[ea+8>>2]|0;if(!L)break;else ea=L}if(((X|0)==214?(c[ea+12>>2]&8|0)==0:0)?fa>>>0>=ga>>>0&fa>>>0>>0:0){c[ha>>2]=ia+da;L=(c[3893]|0)+da|0;aa=fa+8|0;if(!(aa&7))ja=0;else ja=0-aa&7;aa=L-ja|0;c[3896]=fa+ja;c[3893]=aa;c[fa+(ja+4)>>2]=aa|1;c[fa+(L+4)>>2]=40;c[3897]=c[4012];break}if(ca>>>0<(c[3894]|0)>>>0)c[3894]=ca;L=ca+da|0;aa=16008|0;while(1){if((c[aa>>2]|0)==(L|0)){X=224;break}Y=c[aa+8>>2]|0;if(!Y)break;else aa=Y}if((X|0)==224?(c[aa+12>>2]&8|0)==0:0){c[aa>>2]=ca;L=aa+4|0;c[L>>2]=(c[L>>2]|0)+da;L=ca+8|0;if(!(L&7))ka=0;else ka=0-L&7;L=ca+(da+8)|0;if(!(L&7))la=0;else la=0-L&7;L=ca+(la+da)|0;ea=ka+B|0;Y=ca+ea|0;$=L-(ca+ka)-B|0;c[ca+(ka+4)>>2]=B|3;h:do if((L|0)!=(c[3896]|0)){if((L|0)==(c[3895]|0)){Z=(c[3892]|0)+$|0;c[3892]=Z;c[3895]=Y;c[ca+(ea+4)>>2]=Z|1;c[ca+(Z+ea)>>2]=Z;break}Z=da+4|0;M=c[ca+(Z+la)>>2]|0;if((M&3|0)==1){V=M&-8;_=M>>>3;i:do if(M>>>0>=256){ba=c[ca+((la|24)+da)>>2]|0;W=c[ca+(da+12+la)>>2]|0;do if((W|0)==(L|0)){T=la|16;U=ca+(Z+T)|0;q=c[U>>2]|0;if(!q){Q=ca+(T+da)|0;T=c[Q>>2]|0;if(!T){ma=0;break}else{na=T;oa=Q}}else{na=q;oa=U}while(1){U=na+20|0;q=c[U>>2]|0;if(q){na=q;oa=U;continue}U=na+16|0;q=c[U>>2]|0;if(!q)break;else{na=q;oa=U}}if(oa>>>0<(c[3894]|0)>>>0)dc();else{c[oa>>2]=0;ma=na;break}}else{U=c[ca+((la|8)+da)>>2]|0;if(U>>>0<(c[3894]|0)>>>0)dc();q=U+12|0;if((c[q>>2]|0)!=(L|0))dc();Q=W+8|0;if((c[Q>>2]|0)==(L|0)){c[q>>2]=W;c[Q>>2]=U;ma=W;break}else dc()}while(0);if(!ba)break;W=c[ca+(da+28+la)>>2]|0;r=15864+(W<<2)|0;do if((L|0)!=(c[r>>2]|0)){if(ba>>>0<(c[3894]|0)>>>0)dc();U=ba+16|0;if((c[U>>2]|0)==(L|0))c[U>>2]=ma;else c[ba+20>>2]=ma;if(!ma)break i}else{c[r>>2]=ma;if(ma)break;c[3891]=c[3891]&~(1<>>0<(c[3894]|0)>>>0)dc();c[ma+24>>2]=ba;W=la|16;r=c[ca+(W+da)>>2]|0;do if(r)if(r>>>0<(c[3894]|0)>>>0)dc();else{c[ma+16>>2]=r;c[r+24>>2]=ma;break}while(0);r=c[ca+(Z+W)>>2]|0;if(!r)break;if(r>>>0<(c[3894]|0)>>>0)dc();else{c[ma+20>>2]=r;c[r+24>>2]=ma;break}}else{r=c[ca+((la|8)+da)>>2]|0;ba=c[ca+(da+12+la)>>2]|0;U=15600+(_<<1<<2)|0;do if((r|0)!=(U|0)){if(r>>>0<(c[3894]|0)>>>0)dc();if((c[r+12>>2]|0)==(L|0))break;dc()}while(0);if((ba|0)==(r|0)){c[3890]=c[3890]&~(1<<_);break}do if((ba|0)==(U|0))pa=ba+8|0;else{if(ba>>>0<(c[3894]|0)>>>0)dc();W=ba+8|0;if((c[W>>2]|0)==(L|0)){pa=W;break}dc()}while(0);c[r+12>>2]=ba;c[pa>>2]=r}while(0);qa=ca+((V|la)+da)|0;ra=V+$|0}else{qa=L;ra=$}_=qa+4|0;c[_>>2]=c[_>>2]&-2;c[ca+(ea+4)>>2]=ra|1;c[ca+(ra+ea)>>2]=ra;_=ra>>>3;if(ra>>>0<256){Z=_<<1;M=15600+(Z<<2)|0;U=c[3890]|0;W=1<<_;do if(!(U&W)){c[3890]=U|W;sa=15600+(Z+2<<2)|0;ta=M}else{_=15600+(Z+2<<2)|0;Q=c[_>>2]|0;if(Q>>>0>=(c[3894]|0)>>>0){sa=_;ta=Q;break}dc()}while(0);c[sa>>2]=Y;c[ta+12>>2]=Y;c[ca+(ea+8)>>2]=ta;c[ca+(ea+12)>>2]=M;break}Z=ra>>>8;do if(!Z)ua=0;else{if(ra>>>0>16777215){ua=31;break}W=(Z+1048320|0)>>>16&8;U=Z<>>16&4;Q=U<>>16&2;_=14-(V|W|U)+(Q<>>15)|0;ua=ra>>>(_+7|0)&1|_<<1}while(0);Z=15864+(ua<<2)|0;c[ca+(ea+28)>>2]=ua;c[ca+(ea+20)>>2]=0;c[ca+(ea+16)>>2]=0;M=c[3891]|0;_=1<>2]=Y;c[ca+(ea+24)>>2]=Z;c[ca+(ea+12)>>2]=Y;c[ca+(ea+8)>>2]=Y;break}_=c[Z>>2]|0;if((ua|0)==31)va=0;else va=25-(ua>>>1)|0;j:do if((c[_+4>>2]&-8|0)!=(ra|0)){Z=ra<>>31<<2)+16|0;U=c[wa>>2]|0;if(!U)break;if((c[U+4>>2]&-8|0)==(ra|0)){xa=U;break j}else{Z=Z<<1;M=U}}if(wa>>>0<(c[3894]|0)>>>0)dc();else{c[wa>>2]=Y;c[ca+(ea+24)>>2]=M;c[ca+(ea+12)>>2]=Y;c[ca+(ea+8)>>2]=Y;break h}}else xa=_;while(0);_=xa+8|0;Z=c[_>>2]|0;r=c[3894]|0;if(xa>>>0>>0)dc();if(Z>>>0>>0)dc();else{c[Z+12>>2]=Y;c[_>>2]=Y;c[ca+(ea+8)>>2]=Z;c[ca+(ea+12)>>2]=xa;c[ca+(ea+24)>>2]=0;break}}else{Z=(c[3893]|0)+$|0;c[3893]=Z;c[3896]=Y;c[ca+(ea+4)>>2]=Z|1}while(0);p=ca+(ka|8)|0;i=b;return p|0}ea=16008|0;while(1){ya=c[ea>>2]|0;if(ya>>>0<=fa>>>0?(za=c[ea+4>>2]|0,Aa=ya+za|0,Aa>>>0>fa>>>0):0)break;ea=c[ea+8>>2]|0}ea=ya+(za+ -39)|0;if(!(ea&7))Ba=0;else Ba=0-ea&7;ea=ya+(za+ -47+Ba)|0;Y=ea>>>0<(fa+16|0)>>>0?fa:ea;ea=Y+8|0;$=ca+8|0;if(!($&7))Da=0;else Da=0-$&7;$=da+ -40-Da|0;c[3896]=ca+Da;c[3893]=$;c[ca+(Da+4)>>2]=$|1;c[ca+(da+ -36)>>2]=40;c[3897]=c[4012];c[Y+4>>2]=27;c[ea+0>>2]=c[4002];c[ea+4>>2]=c[4003];c[ea+8>>2]=c[4004];c[ea+12>>2]=c[4005];c[4002]=ca;c[4003]=da;c[4005]=0;c[4004]=ea;ea=Y+28|0;c[ea>>2]=7;if((Y+32|0)>>>0>>0){$=ea;do{ea=$;$=$+4|0;c[$>>2]=7}while((ea+8|0)>>>0>>0)}if((Y|0)!=(fa|0)){$=Y-fa|0;ea=fa+($+4)|0;c[ea>>2]=c[ea>>2]&-2;c[fa+4>>2]=$|1;c[fa+$>>2]=$;ea=$>>>3;if($>>>0<256){L=ea<<1;aa=15600+(L<<2)|0;Z=c[3890]|0;_=1<>2]|0;if(r>>>0>=(c[3894]|0)>>>0){Ea=ea;Fa=r;break}dc()}while(0);c[Ea>>2]=fa;c[Fa+12>>2]=fa;c[fa+8>>2]=Fa;c[fa+12>>2]=aa;break}L=$>>>8;if(L)if($>>>0>16777215)Ga=31;else{_=(L+1048320|0)>>>16&8;Z=L<<_;L=(Z+520192|0)>>>16&4;Y=Z<>>16&2;r=14-(L|_|Z)+(Y<>>15)|0;Ga=$>>>(r+7|0)&1|r<<1}else Ga=0;r=15864+(Ga<<2)|0;c[fa+28>>2]=Ga;c[fa+20>>2]=0;c[fa+16>>2]=0;Z=c[3891]|0;Y=1<>2]=fa;c[fa+24>>2]=r;c[fa+12>>2]=fa;c[fa+8>>2]=fa;break}Y=c[r>>2]|0;if((Ga|0)==31)Ia=0;else Ia=25-(Ga>>>1)|0;k:do if((c[Y+4>>2]&-8|0)!=($|0)){r=$<>>31<<2)+16|0;_=c[Ja>>2]|0;if(!_)break;if((c[_+4>>2]&-8|0)==($|0)){Ka=_;break k}else{r=r<<1;Z=_}}if(Ja>>>0<(c[3894]|0)>>>0)dc();else{c[Ja>>2]=fa;c[fa+24>>2]=Z;c[fa+12>>2]=fa;c[fa+8>>2]=fa;break g}}else Ka=Y;while(0);Y=Ka+8|0;$=c[Y>>2]|0;aa=c[3894]|0;if(Ka>>>0>>0)dc();if($>>>0>>0)dc();else{c[$+12>>2]=fa;c[Y>>2]=fa;c[fa+8>>2]=$;c[fa+12>>2]=Ka;c[fa+24>>2]=0;break}}}else{$=c[3894]|0;if(($|0)==0|ca>>>0<$>>>0)c[3894]=ca;c[4002]=ca;c[4003]=da;c[4005]=0;c[3899]=c[4008];c[3898]=-1;$=0;do{Y=$<<1;aa=15600+(Y<<2)|0;c[15600+(Y+3<<2)>>2]=aa;c[15600+(Y+2<<2)>>2]=aa;$=$+1|0}while(($|0)!=32);$=ca+8|0;if(!($&7))La=0;else La=0-$&7;$=da+ -40-La|0;c[3896]=ca+La;c[3893]=$;c[ca+(La+4)>>2]=$|1;c[ca+(da+ -36)>>2]=40;c[3897]=c[4012]}while(0);da=c[3893]|0;if(da>>>0>B>>>0){ca=da-B|0;c[3893]=ca;da=c[3896]|0;c[3896]=da+B;c[da+(B+4)>>2]=ca|1;c[da+4>>2]=B|3;p=da+8|0;i=b;return p|0}}c[(Cc()|0)>>2]=12;p=0;i=b;return p|0}function Wh(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,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;b=i;if(!a){i=b;return}d=a+ -8|0;e=c[3894]|0;if(d>>>0>>0)dc();f=c[a+ -4>>2]|0;g=f&3;if((g|0)==1)dc();h=f&-8;j=a+(h+ -8)|0;do if(!(f&1)){k=c[d>>2]|0;if(!g){i=b;return}l=-8-k|0;m=a+l|0;n=k+h|0;if(m>>>0>>0)dc();if((m|0)==(c[3895]|0)){o=a+(h+ -4)|0;if((c[o>>2]&3|0)!=3){p=m;q=n;break}c[3892]=n;c[o>>2]=c[o>>2]&-2;c[a+(l+4)>>2]=n|1;c[j>>2]=n;i=b;return}o=k>>>3;if(k>>>0<256){k=c[a+(l+8)>>2]|0;r=c[a+(l+12)>>2]|0;s=15600+(o<<1<<2)|0;if((k|0)!=(s|0)){if(k>>>0>>0)dc();if((c[k+12>>2]|0)!=(m|0))dc()}if((r|0)==(k|0)){c[3890]=c[3890]&~(1<>>0>>0)dc();s=r+8|0;if((c[s>>2]|0)==(m|0))t=s;else dc()}else t=r+8|0;c[k+12>>2]=r;c[t>>2]=k;p=m;q=n;break}k=c[a+(l+24)>>2]|0;r=c[a+(l+12)>>2]|0;do if((r|0)==(m|0)){s=a+(l+20)|0;o=c[s>>2]|0;if(!o){u=a+(l+16)|0;v=c[u>>2]|0;if(!v){w=0;break}else{x=v;y=u}}else{x=o;y=s}while(1){s=x+20|0;o=c[s>>2]|0;if(o){x=o;y=s;continue}s=x+16|0;o=c[s>>2]|0;if(!o)break;else{x=o;y=s}}if(y>>>0>>0)dc();else{c[y>>2]=0;w=x;break}}else{s=c[a+(l+8)>>2]|0;if(s>>>0>>0)dc();o=s+12|0;if((c[o>>2]|0)!=(m|0))dc();u=r+8|0;if((c[u>>2]|0)==(m|0)){c[o>>2]=r;c[u>>2]=s;w=r;break}else dc()}while(0);if(k){r=c[a+(l+28)>>2]|0;s=15864+(r<<2)|0;if((m|0)==(c[s>>2]|0)){c[s>>2]=w;if(!w){c[3891]=c[3891]&~(1<>>0<(c[3894]|0)>>>0)dc();r=k+16|0;if((c[r>>2]|0)==(m|0))c[r>>2]=w;else c[k+20>>2]=w;if(!w){p=m;q=n;break}}if(w>>>0<(c[3894]|0)>>>0)dc();c[w+24>>2]=k;r=c[a+(l+16)>>2]|0;do if(r)if(r>>>0<(c[3894]|0)>>>0)dc();else{c[w+16>>2]=r;c[r+24>>2]=w;break}while(0);r=c[a+(l+20)>>2]|0;if(r)if(r>>>0<(c[3894]|0)>>>0)dc();else{c[w+20>>2]=r;c[r+24>>2]=w;p=m;q=n;break}else{p=m;q=n}}else{p=m;q=n}}else{p=d;q=h}while(0);if(p>>>0>=j>>>0)dc();d=a+(h+ -4)|0;w=c[d>>2]|0;if(!(w&1))dc();if(!(w&2)){if((j|0)==(c[3896]|0)){e=(c[3893]|0)+q|0;c[3893]=e;c[3896]=p;c[p+4>>2]=e|1;if((p|0)!=(c[3895]|0)){i=b;return}c[3895]=0;c[3892]=0;i=b;return}if((j|0)==(c[3895]|0)){e=(c[3892]|0)+q|0;c[3892]=e;c[3895]=p;c[p+4>>2]=e|1;c[p+e>>2]=e;i=b;return}e=(w&-8)+q|0;x=w>>>3;do if(w>>>0>=256){y=c[a+(h+16)>>2]|0;t=c[a+(h|4)>>2]|0;do if((t|0)==(j|0)){g=a+(h+12)|0;f=c[g>>2]|0;if(!f){r=a+(h+8)|0;k=c[r>>2]|0;if(!k){z=0;break}else{A=k;B=r}}else{A=f;B=g}while(1){g=A+20|0;f=c[g>>2]|0;if(f){A=f;B=g;continue}g=A+16|0;f=c[g>>2]|0;if(!f)break;else{A=f;B=g}}if(B>>>0<(c[3894]|0)>>>0)dc();else{c[B>>2]=0;z=A;break}}else{g=c[a+h>>2]|0;if(g>>>0<(c[3894]|0)>>>0)dc();f=g+12|0;if((c[f>>2]|0)!=(j|0))dc();r=t+8|0;if((c[r>>2]|0)==(j|0)){c[f>>2]=t;c[r>>2]=g;z=t;break}else dc()}while(0);if(y){t=c[a+(h+20)>>2]|0;n=15864+(t<<2)|0;if((j|0)==(c[n>>2]|0)){c[n>>2]=z;if(!z){c[3891]=c[3891]&~(1<>>0<(c[3894]|0)>>>0)dc();t=y+16|0;if((c[t>>2]|0)==(j|0))c[t>>2]=z;else c[y+20>>2]=z;if(!z)break}if(z>>>0<(c[3894]|0)>>>0)dc();c[z+24>>2]=y;t=c[a+(h+8)>>2]|0;do if(t)if(t>>>0<(c[3894]|0)>>>0)dc();else{c[z+16>>2]=t;c[t+24>>2]=z;break}while(0);t=c[a+(h+12)>>2]|0;if(t)if(t>>>0<(c[3894]|0)>>>0)dc();else{c[z+20>>2]=t;c[t+24>>2]=z;break}}}else{t=c[a+h>>2]|0;y=c[a+(h|4)>>2]|0;n=15600+(x<<1<<2)|0;if((t|0)!=(n|0)){if(t>>>0<(c[3894]|0)>>>0)dc();if((c[t+12>>2]|0)!=(j|0))dc()}if((y|0)==(t|0)){c[3890]=c[3890]&~(1<>>0<(c[3894]|0)>>>0)dc();n=y+8|0;if((c[n>>2]|0)==(j|0))C=n;else dc()}else C=y+8|0;c[t+12>>2]=y;c[C>>2]=t}while(0);c[p+4>>2]=e|1;c[p+e>>2]=e;if((p|0)==(c[3895]|0)){c[3892]=e;i=b;return}else D=e}else{c[d>>2]=w&-2;c[p+4>>2]=q|1;c[p+q>>2]=q;D=q}q=D>>>3;if(D>>>0<256){w=q<<1;d=15600+(w<<2)|0;e=c[3890]|0;C=1<>2]|0;if(j>>>0<(c[3894]|0)>>>0)dc();else{E=q;F=j}}else{c[3890]=e|C;E=15600+(w+2<<2)|0;F=d}c[E>>2]=p;c[F+12>>2]=p;c[p+8>>2]=F;c[p+12>>2]=d;i=b;return}d=D>>>8;if(d)if(D>>>0>16777215)G=31;else{F=(d+1048320|0)>>>16&8;E=d<>>16&4;w=E<>>16&2;C=14-(d|F|E)+(w<>>15)|0;G=D>>>(C+7|0)&1|C<<1}else G=0;C=15864+(G<<2)|0;c[p+28>>2]=G;c[p+20>>2]=0;c[p+16>>2]=0;E=c[3891]|0;w=1<>2]|0;if((G|0)==31)H=0;else H=25-(G>>>1)|0;b:do if((c[F+4>>2]&-8|0)!=(D|0)){d=D<>>31<<2)+16|0;j=c[I>>2]|0;if(!j)break;if((c[j+4>>2]&-8|0)==(D|0)){J=j;break b}else{d=d<<1;e=j}}if(I>>>0<(c[3894]|0)>>>0)dc();else{c[I>>2]=p;c[p+24>>2]=e;c[p+12>>2]=p;c[p+8>>2]=p;break a}}else J=F;while(0);F=J+8|0;d=c[F>>2]|0;j=c[3894]|0;if(J>>>0>>0)dc();if(d>>>0>>0)dc();else{c[d+12>>2]=p;c[F>>2]=p;c[p+8>>2]=d;c[p+12>>2]=J;c[p+24>>2]=0;break}}else{c[3891]=E|w;c[C>>2]=p;c[p+24>>2]=C;c[p+12>>2]=p;c[p+8>>2]=p}while(0);p=(c[3898]|0)+ -1|0;c[3898]=p;if(!p)K=16016|0;else{i=b;return}while(1){p=c[K>>2]|0;if(!p)break;else K=p+8|0}c[3898]=-1;i=b;return}function Xh(a,b){a=+a;b=b|0;var d=0,e=0,f=0,g=0,j=0,l=0.0,m=0.0,n=0.0,o=0;d=i;h[k>>3]=a;e=c[k>>2]|0;f=c[k+4>>2]|0;g=ui(e|0,f|0,52)|0;j=g&2047;if((j|0)==2047){l=a;i=d;return+l}else if(!j){if(a!=0.0){m=+Xh(a*18446744073709552000.0,b);n=m;o=(c[b>>2]|0)+ -64|0}else{n=a;o=0}c[b>>2]=o;l=n;i=d;return+l}else{c[b>>2]=j+ -1022;c[k>>2]=e;c[k+4>>2]=f&-2146435073|1071644672;l=+h[k>>3];i=d;return+l}return 0.0}function Yh(a,b){a=+a;b=b|0;var c=0,d=0.0;c=i;d=+Xh(a,b);i=c;return+d}function Zh(a,b){a=+a;b=b|0;var d=0,e=0.0,f=0,g=0,j=0,l=0.0;d=i;if((b|0)>1023){e=a*8.98846567431158e+307;f=b+ -1023|0;if((f|0)>1023){g=b+ -2046|0;j=(g|0)>1023?1023:g;l=e*8.98846567431158e+307}else{j=f;l=e}}else if((b|0)<-1022){e=a*2.2250738585072014e-308;f=b+1022|0;if((f|0)<-1022){g=b+2044|0;j=(g|0)<-1022?-1022:g;l=e*2.2250738585072014e-308}else{j=f;l=e}}else{j=b;l=a}b=wi(j+1023|0,0,52)|0;j=E;c[k>>2]=b;c[k+4>>2]=j;a=l*+h[k>>3];i=d;return+a}function _h(a,b){a=a|0;b=b|0;var c=0,d=0;c=i;if(!a)d=0;else d=$h(a,b,0)|0;i=c;return d|0}function $h(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;e=i;if(!b){f=1;i=e;return f|0}if(d>>>0<128){a[b>>0]=d;f=1;i=e;return f|0}if(d>>>0<2048){a[b>>0]=d>>>6|192;a[b+1>>0]=d&63|128;f=2;i=e;return f|0}if(d>>>0<55296|(d+ -57344|0)>>>0<8192){a[b>>0]=d>>>12|224;a[b+1>>0]=d>>>6&63|128;a[b+2>>0]=d&63|128;f=3;i=e;return f|0}if((d+ -65536|0)>>>0<1048576){a[b>>0]=d>>>18|240;a[b+1>>0]=d>>>12&63|128;a[b+2>>0]=d>>>6&63|128;a[b+3>>0]=d&63|128;f=4;i=e;return f|0}else{c[(Cc()|0)>>2]=84;f=-1;i=e;return f|0}return 0}function ai(a){a=a|0;var b=0;b=16056;c[b>>2]=a+ -1;c[b+4>>2]=0;return}function bi(){var a=0,b=0,d=0,e=0;a=i;b=16056;d=Di(c[b>>2]|0,c[b+4>>2]|0,1284865837,1481765933)|0;b=si(d|0,E|0,1,0)|0;d=E;e=16056;c[e>>2]=b;c[e+4>>2]=d;e=ui(b|0,d|0,33)|0;i=a;return e|0}function ci(b){b=b|0;var d=0,e=0,f=0,g=0;d=i;e=b+74|0;f=a[e>>0]|0;a[e>>0]=f+255|f;f=c[b>>2]|0;if(!(f&8)){c[b+8>>2]=0;c[b+4>>2]=0;e=c[b+44>>2]|0;c[b+28>>2]=e;c[b+20>>2]=e;c[b+16>>2]=e+(c[b+48>>2]|0);g=0;i=d;return g|0}else{c[b>>2]=f|32;g=-1;i=d;return g|0}return 0}function di(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;f=i;g=e+16|0;h=c[g>>2]|0;do if(!h)if(!(ci(e)|0)){j=c[g>>2]|0;break}else{k=0;i=f;return k|0}else j=h;while(0);h=e+20|0;g=c[h>>2]|0;if((j-g|0)>>>0>>0){k=Rc[c[e+36>>2]&1](e,b,d)|0;i=f;return k|0}a:do if((a[e+75>>0]|0)>-1){j=d;while(1){if(!j){l=d;m=b;n=g;o=0;break a}p=j+ -1|0;if((a[b+p>>0]|0)==10)break;else j=p}if((Rc[c[e+36>>2]&1](e,b,j)|0)>>>0>>0){k=j;i=f;return k|0}else{l=d-j|0;m=b+j|0;n=c[h>>2]|0;o=j;break}}else{l=d;m=b;n=g;o=0}while(0);oi(n|0,m|0,l|0)|0;c[h>>2]=(c[h>>2]|0)+l;k=o+l|0;i=f;return k|0}function ei(a,b,d){a=a|0;b=b|0;d=d|0;var 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;e=i;i=i+224|0;f=e+120|0;g=e+80|0;h=e;j=e+136|0;k=g+0|0;l=k+40|0;do{c[k>>2]=0;k=k+4|0}while((k|0)<(l|0));c[f>>2]=c[d>>2];if((fi(0,b,f,h,g)|0)<0){m=-1;i=e;return m|0}d=a+48|0;if(!(c[d>>2]|0)){k=a+44|0;l=c[k>>2]|0;c[k>>2]=j;n=a+28|0;c[n>>2]=j;o=a+20|0;c[o>>2]=j;c[d>>2]=80;p=a+16|0;c[p>>2]=j+80;j=fi(a,b,f,h,g)|0;if(!l)q=j;else{Rc[c[a+36>>2]&1](a,0,0)|0;r=(c[o>>2]|0)==0?-1:j;c[k>>2]=l;c[d>>2]=0;c[p>>2]=0;c[n>>2]=0;c[o>>2]=0;q=r}}else q=fi(a,b,f,h,g)|0;m=q;i=e;return m|0}function fi(e,f,g,j,l){e=e|0;f=f|0;g=g|0;j=j|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,F=0,G=0,H=0,I=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,X=0,Y=0,Z=0,_=0,$=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0.0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0.0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0.0,Cb=0.0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0.0,Jb=0,Kb=0,Lb=0,Mb=0,Nb=0,Ob=0,Pb=0,Qb=0,Rb=0,Sb=0,Tb=0,Ub=0,Vb=0.0,Wb=0,Xb=0,Yb=0,Zb=0,_b=0,$b=0,ac=0,bc=0,cc=0,dc=0,ec=0,fc=0,gc=0,hc=0,ic=0,jc=0,kc=0,lc=0,mc=0,nc=0,oc=0,pc=0,qc=0,sc=0,tc=0,uc=0,vc=0,wc=0,xc=0,yc=0.0,zc=0.0,Ac=0.0,Bc=0,Dc=0,Ec=0,Fc=0,Gc=0,Hc=0,Ic=0,Jc=0,Kc=0,Lc=0,Mc=0,Nc=0,Oc=0,Pc=0,Qc=0,Rc=0,Sc=0,Tc=0,Uc=0,Vc=0,Wc=0,Xc=0,Yc=0,Zc=0,_c=0,$c=0,ad=0,bd=0,cd=0,dd=0,ed=0,fd=0,gd=0,hd=0,id=0,jd=0,kd=0,ld=0,md=0,nd=0,od=0,pd=0,qd=0,rd=0,sd=0,td=0,ud=0,vd=0,wd=0;m=i;i=i+864|0;n=m+16|0;o=m;p=m+832|0;q=p;r=m+816|0;s=m+520|0;t=m+776|0;u=m+8|0;v=m+828|0;w=(e|0)!=0;x=t+40|0;y=x;z=t+39|0;t=u+4|0;A=r+12|0;B=r+11|0;r=A;C=r-q|0;D=-2-q|0;F=r+2|0;G=n+288|0;H=p+9|0;I=H;J=p+8|0;K=0;L=0;M=f;f=0;N=0;O=0;a:while(1){do if((f|0)>-1)if((N|0)>(2147483647-f|0)){c[(Cc()|0)>>2]=75;P=-1;break}else{P=N+f|0;break}else P=f;while(0);Q=a[M>>0]|0;if(!(Q<<24>>24)){R=344;break}else{S=Q;T=M}while(1){if(S<<24>>24==37){U=T;V=T;R=9;break}else if(!(S<<24>>24)){W=T;X=T;break}Q=T+1|0;S=a[Q>>0]|0;T=Q}b:do if((R|0)==9)while(1){R=0;if((a[U+1>>0]|0)!=37){W=U;X=V;break b}Q=V+1|0;Y=U+2|0;if((a[Y>>0]|0)==37){U=Y;V=Q;R=9}else{W=Y;X=Q;break}}while(0);Q=X-M|0;if(w)di(M,Q,e)|0;if((X|0)!=(M|0)){M=W;f=P;N=Q;continue}Y=W+1|0;Z=a[Y>>0]|0;_=(Z<<24>>24)+ -48|0;if(_>>>0<10?(a[W+2>>0]|0)==36:0){$=W+3|0;ba=a[$>>0]|0;ca=_;da=1;ea=$}else{ba=Z;ca=-1;da=O;ea=Y}Y=ba<<24>>24;c:do if((Y+ -32|0)>>>0<32){Z=Y;$=ba;_=0;fa=ea;while(1){if(!(1<>24)+ -32|_;ka=fa+1|0;la=a[ka>>0]|0;Z=la<<24>>24;if((Z+ -32|0)>>>0>=32){ga=la;ha=ja;ia=ka;break}else{$=la;_=ja;fa=ka}}}else{ga=ba;ha=0;ia=ea}while(0);do if(ga<<24>>24==42){Y=ia+1|0;fa=(a[Y>>0]|0)+ -48|0;if(fa>>>0<10?(a[ia+2>>0]|0)==36:0){c[l+(fa<<2)>>2]=10;ma=1;na=ia+3|0;oa=c[j+((a[Y>>0]|0)+ -48<<3)>>2]|0}else{if(da){pa=-1;R=362;break a}if(!w){qa=Y;ra=ha;sa=0;ta=0;break}fa=c[g>>2]|0;_=c[fa>>2]|0;c[g>>2]=fa+4;ma=0;na=Y;oa=_}if((oa|0)<0){qa=na;ra=ha|8192;sa=ma;ta=0-oa|0}else{qa=na;ra=ha;sa=ma;ta=oa}}else{_=ga<<24>>24;if((_+ -48|0)>>>0<10){Y=_;_=ia;fa=0;do{fa=Y+ -48+(fa*10|0)|0;_=_+1|0;Y=a[_>>0]|0}while((Y+ -48|0)>>>0<10);if((fa|0)<0){pa=-1;R=362;break a}else{qa=_;ra=ha;sa=da;ta=fa}}else{qa=ia;ra=ha;sa=da;ta=0}}while(0);d:do if((a[qa>>0]|0)==46){Y=qa+1|0;$=a[Y>>0]|0;if($<<24>>24!=42){Z=$<<24>>24;if((Z+ -48|0)>>>0<10){ua=Z;va=Y;wa=0}else{xa=Y;ya=0;break}while(1){Y=ua+ -48+(wa*10|0)|0;Z=va+1|0;ua=a[Z>>0]|0;if((ua+ -48|0)>>>0>=10){xa=Z;ya=Y;break d}else{va=Z;wa=Y}}}fa=qa+2|0;_=(a[fa>>0]|0)+ -48|0;if(_>>>0<10?(a[qa+3>>0]|0)==36:0){c[l+(_<<2)>>2]=10;xa=qa+4|0;ya=c[j+((a[fa>>0]|0)+ -48<<3)>>2]|0;break}if(sa){pa=-1;R=362;break a}if(w){_=c[g>>2]|0;Y=c[_>>2]|0;c[g>>2]=_+4;xa=fa;ya=Y}else{xa=fa;ya=0}}else{xa=qa;ya=-1}while(0);fa=xa;Y=0;while(1){za=a[fa>>0]|0;_=(za<<24>>24)+ -65|0;if(_>>>0>57){pa=-1;R=362;break a}Aa=fa+1|0;Ba=a[16064+(Y*58|0)+_>>0]|0;Ca=Ba&255;if((Ca+ -1|0)>>>0<8){fa=Aa;Y=Ca}else break}if(!(Ba<<24>>24)){pa=-1;R=362;break}_=(ca|0)>-1;e:do if(Ba<<24>>24==19)if(_){pa=-1;R=362;break a}else{Da=K;Ea=L;R=63}else{if(_){c[l+(ca<<2)>>2]=Ca;Z=j+(ca<<3)|0;Da=c[Z+4>>2]|0;Ea=c[Z>>2]|0;R=63;break}if(!w){pa=0;R=362;break a}if((Ba&255)>20){Fa=za;Ga=L;Ha=K}else do switch(Ca|0){case 17:{Z=c[g>>2]|0;c[k>>2]=c[Z>>2];c[k+4>>2]=c[Z+4>>2];Ia=+h[k>>3];c[g>>2]=Z+8;h[k>>3]=Ia;Ja=c[k>>2]|0;Ka=c[k+4>>2]|0;R=64;break e;break};case 9:{Z=c[g>>2]|0;$=c[Z>>2]|0;c[g>>2]=Z+4;Ja=$;Ka=K;R=64;break e;break};case 12:{$=c[g>>2]|0;Z=$;ka=c[Z>>2]|0;ja=c[Z+4>>2]|0;c[g>>2]=$+8;Ja=ka;Ka=ja;R=64;break e;break};case 13:{ja=c[g>>2]|0;ka=c[ja>>2]|0;c[g>>2]=ja+4;Ja=ka<<16>>16;Ka=(((ka&65535)<<16>>16|0)<0)<<31>>31;R=64;break e;break};case 11:{ka=c[g>>2]|0;ja=c[ka>>2]|0;c[g>>2]=ka+4;Ja=ja;Ka=0;R=64;break e;break};case 14:{ja=c[g>>2]|0;ka=c[ja>>2]|0;c[g>>2]=ja+4;Ja=ka&65535;Ka=0;R=64;break e;break};case 10:{ka=c[g>>2]|0;ja=c[ka>>2]|0;c[g>>2]=ka+4;Ja=ja;Ka=((ja|0)<0)<<31>>31;R=64;break e;break};case 15:{ja=c[g>>2]|0;ka=c[ja>>2]|0;c[g>>2]=ja+4;Ja=ka<<24>>24;Ka=(((ka&255)<<24>>24|0)<0)<<31>>31;R=64;break e;break};case 16:{ka=c[g>>2]|0;ja=c[ka>>2]|0;c[g>>2]=ka+4;Ja=ja&255;Ka=0;R=64;break e;break};case 18:{ja=c[g>>2]|0;c[k>>2]=c[ja>>2];c[k+4>>2]=c[ja+4>>2];Ia=+h[k>>3];c[g>>2]=ja+8;h[k>>3]=Ia;Da=c[k+4>>2]|0;Ea=c[k>>2]|0;R=63;break e;break};default:{Ja=L;Ka=K;R=64;break e}}while(0)}while(0);if((R|0)==63){R=0;if(w){Ja=Ea;Ka=Da;R=64}else{K=Da;L=Ea;M=Aa;f=P;N=Q;O=sa;continue}}if((R|0)==64){R=0;Fa=a[fa>>0]|0;Ga=Ja;Ha=Ka}_=Fa<<24>>24;if(!Y)La=_;else La=(_&15|0)==3?_&-33:_;_=ra&-65537;ja=(ra&8192|0)==0?ra:_;f:do switch(La|0){case 117:{Ma=Ga;Na=Ha;Oa=0;Pa=16528;R=89;break};case 105:case 100:{if((Ha|0)<0){ka=ri(0,0,Ga|0,Ha|0)|0;Ma=ka;Na=E;Oa=1;Pa=16528;R=89;break f}if(!(ja&2048)){ka=ja&1;Ma=Ga;Na=Ha;Oa=ka;Pa=(ka|0)==0?16528:16530;R=89}else{Ma=Ga;Na=Ha;Oa=1;Pa=16529;R=89}break};case 67:{c[u>>2]=Ga;c[t>>2]=0;Qa=u;Ra=u;Sa=-1;R=104;break};case 112:{Ta=ja|8;Ua=ya>>>0>8?ya:8;Va=120;R=77;break};case 99:{a[z>>0]=Ga;Wa=Ha;Xa=Ga;Ya=z;Za=_;_a=1;$a=0;ab=16528;bb=x;break};case 110:{switch(Y|0){case 3:{b[Ga>>1]=P;K=Ha;L=Ga;M=Aa;f=P;N=Q;O=sa;continue a;break};case 4:{a[Ga>>0]=P;K=Ha;L=Ga;M=Aa;f=P;N=Q;O=sa;continue a;break};case 2:{ka=Ga;c[ka>>2]=P;c[ka+4>>2]=((P|0)<0)<<31>>31;K=Ha;L=Ga;M=Aa;f=P;N=Q;O=sa;continue a;break};case 0:{c[Ga>>2]=P;K=Ha;L=Ga;M=Aa;f=P;N=Q;O=sa;continue a;break};case 1:{c[Ga>>2]=P;K=Ha;L=Ga;M=Aa;f=P;N=Q;O=sa;continue a;break};case 7:{ka=Ga;c[ka>>2]=P;c[ka+4>>2]=((P|0)<0)<<31>>31;K=Ha;L=Ga;M=Aa;f=P;N=Q;O=sa;continue a;break};case 6:{c[Ga>>2]=P;K=Ha;L=Ga;M=Aa;f=P;N=Q;O=sa;continue a;break};default:{K=Ha;L=Ga;M=Aa;f=P;N=Q;O=sa;continue a}}break};case 115:{cb=(Ga|0)==0?16544:Ga;R=99;break};case 83:{if(!ya){db=Ga;eb=Ga;fb=0;R=110}else{Qa=Ga;Ra=Ga;Sa=ya;R=104}break};case 109:{cb=rc(c[(Cc()|0)>>2]|0)|0;R=99;break};case 88:case 120:{Ta=ja;Ua=ya;Va=La;R=77;break};case 111:{ka=Ga;$=(ka|0)==0&(Ha|0)==0;if($)gb=x;else{Z=x;la=ka;ka=Ha;while(1){hb=Z+ -1|0;a[hb>>0]=la&7|48;la=ui(la|0,ka|0,3)|0;ka=E;if((la|0)==0&(ka|0)==0){gb=hb;break}else Z=hb}}if(!(ja&8)){ib=Ga;jb=Ha;kb=gb;lb=ja;mb=ya;nb=0;ob=16528;R=94}else{ib=Ga;jb=Ha;kb=gb;lb=ja;mb=ya;nb=$&1^1;ob=$?16528:16533;R=94}break};case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{c[k>>2]=Ga;c[k+4>>2]=Ha;Ia=+h[k>>3];c[o>>2]=0;if((Ha|0)>=0)if(!(ja&2048)){Z=ja&1;pb=Ia;qb=Z;rb=(Z|0)==0?16553:16558}else{pb=Ia;qb=1;rb=16555}else{pb=-Ia;qb=1;rb=16552}h[k>>3]=pb;Z=c[k+4>>2]&2146435072;if(!(Z>>>0<2146435072|(Z|0)==2146435072&0<0)){Z=(La&32|0)!=0;if(pb!=pb|0.0!=0.0){sb=0;tb=Z?16592:16600}else{sb=qb;tb=Z?16576:16584}Z=sb+3|0;ka=(Z|0)<(ta|0);if((ja&8192|0)==0&ka){la=ta-Z|0;qi(s|0,32,(la>>>0>256?256:la)|0)|0;if(la>>>0>255){hb=la;while(1){di(s,256,e)|0;ub=hb+ -256|0;if(ub>>>0>255)hb=ub;else{vb=ub;break}}}else vb=la;di(s,vb,e)|0}di(rb,sb,e)|0;di(tb,3,e)|0;if((ja&73728|0)==8192&ka){hb=ta-Z|0;qi(s|0,32,(hb>>>0>256?256:hb)|0)|0;if(hb>>>0>255){$=hb;while(1){di(s,256,e)|0;ub=$+ -256|0;if(ub>>>0>255)$=ub;else{wb=ub;break}}}else wb=hb;di(s,wb,e)|0}K=Ha;L=Ga;M=Aa;f=P;N=ka?ta:Z;O=sa;continue a}Ia=+Yh(pb,o)*2.0;$=Ia!=0.0;if($)c[o>>2]=(c[o>>2]|0)+ -1;la=La|32;if((la|0)==97){ub=La&32;xb=(ub|0)==0?rb:rb+9|0;yb=qb|2;zb=ya>>>0>11?0:12-ya|0;do if(zb){Ab=zb;Bb=8.0;do{Ab=Ab+ -1|0;Bb=Bb*16.0}while((Ab|0)!=0);if((a[xb>>0]|0)==45){Cb=-(Bb+(-Ia-Bb));break}else{Cb=Ia+Bb-Bb;break}}else Cb=Ia;while(0);zb=c[o>>2]|0;Z=(zb|0)<0?0-zb|0:zb;if((Z|0)<0){zb=A;ka=Z;hb=((Z|0)<0)<<31>>31;while(1){Ab=Fi(ka|0,hb|0,10,0)|0;zb=zb+ -1|0;a[zb>>0]=Ab|48;Ab=ka;ka=Ei(ka|0,hb|0,10,0)|0;if(!(hb>>>0>9|(hb|0)==9&Ab>>>0>4294967295))break;else hb=E}Db=zb;Eb=ka}else{Db=A;Eb=Z}if(!Eb)Fb=Db;else{hb=Db;Ab=Eb;while(1){Gb=hb+ -1|0;a[Gb>>0]=(Ab>>>0)%10|0|48;if(Ab>>>0<10){Fb=Gb;break}else{hb=Gb;Ab=(Ab>>>0)/10|0}}}if((Fb|0)==(A|0)){a[B>>0]=48;Hb=B}else Hb=Fb;a[Hb+ -1>>0]=(c[o>>2]>>31&2)+43;Ab=Hb+ -2|0;a[Ab>>0]=La+15;hb=(ja&8|0)==0;if((ya|0)>0)if(hb){Ib=Cb;Z=p;while(1){ka=~~Ib;zb=Z+1|0;a[Z>>0]=d[16608+ka>>0]|ub;Ib=(Ib- +(ka|0))*16.0;if((zb-q|0)==1){a[zb>>0]=46;Jb=Z+2|0}else Jb=zb;if(!(Ib!=0.0)){Kb=Jb;break}else Z=Jb}}else{Ib=Cb;Z=p;while(1){zb=~~Ib;ka=Z+1|0;a[Z>>0]=d[16608+zb>>0]|ub;Ib=(Ib- +(zb|0))*16.0;if((ka-q|0)==1){a[ka>>0]=46;Lb=Z+2|0}else Lb=ka;if(!(Ib!=0.0)){Kb=Lb;break}else Z=Lb}}else if(hb){Ib=Cb;Z=p;while(1){ka=~~Ib;zb=Z+1|0;a[Z>>0]=d[16608+ka>>0]|ub;Ib=(Ib- +(ka|0))*16.0;ka=Ib!=0.0;if((zb-q|0)==1&ka){a[zb>>0]=46;Mb=Z+2|0}else Mb=zb;if(!ka){Kb=Mb;break}else Z=Mb}}else{Ib=Cb;Z=p;while(1){hb=~~Ib;ka=Z+1|0;a[Z>>0]=d[16608+hb>>0]|ub;Ib=(Ib- +(hb|0))*16.0;if((ka-q|0)==1){a[ka>>0]=46;Nb=Z+2|0}else Nb=ka;if(!(Ib!=0.0)){Kb=Nb;break}else Z=Nb}}Z=Kb;do if(!ya)R=173;else{if((D+Z|0)>=(ya|0)){R=173;break}Ob=F+ya-Ab|0}while(0);if((R|0)==173){R=0;Ob=C-Ab+Z|0}ub=Ob+yb|0;ka=ja&73728;hb=(ub|0)<(ta|0);if((ka|0)==0&hb){zb=ta-ub|0;qi(s|0,32,(zb>>>0>256?256:zb)|0)|0;if(zb>>>0>255){Gb=zb;while(1){di(s,256,e)|0;Pb=Gb+ -256|0;if(Pb>>>0>255)Gb=Pb;else{Qb=Pb;break}}}else Qb=zb;di(s,Qb,e)|0}di(xb,yb,e)|0;if((ka|0)==65536&hb){Gb=ta-ub|0;qi(s|0,48,(Gb>>>0>256?256:Gb)|0)|0;if(Gb>>>0>255){Pb=Gb;while(1){di(s,256,e)|0;Rb=Pb+ -256|0;if(Rb>>>0>255)Pb=Rb;else{Sb=Rb;break}}}else Sb=Gb;di(s,Sb,e)|0}Pb=Z-q|0;di(p,Pb,e)|0;yb=r-Ab|0;xb=Ob-yb-Pb|0;if((xb|0)>0){qi(s|0,48,(xb>>>0>256?256:xb)|0)|0;if(xb>>>0>255){Pb=xb;while(1){di(s,256,e)|0;zb=Pb+ -256|0;if(zb>>>0>255)Pb=zb;else{Tb=zb;break}}}else Tb=xb;di(s,Tb,e)|0}di(Ab,yb,e)|0;if((ka|0)==8192&hb){Pb=ta-ub|0;qi(s|0,32,(Pb>>>0>256?256:Pb)|0)|0;if(Pb>>>0>255){Z=Pb;while(1){di(s,256,e)|0;Gb=Z+ -256|0;if(Gb>>>0>255)Z=Gb;else{Ub=Gb;break}}}else Ub=Pb;di(s,Ub,e)|0}K=Ha;L=Ga;M=Aa;f=P;N=hb?ta:ub;O=sa;continue a}Z=(ya|0)<0?6:ya;if($){ka=(c[o>>2]|0)+ -28|0;c[o>>2]=ka;Vb=Ia*268435456.0;Wb=ka}else{Vb=Ia;Wb=c[o>>2]|0}ka=(Wb|0)<0?n:G;Ib=Vb;yb=ka;do{Ab=~~Ib>>>0;c[yb>>2]=Ab;yb=yb+4|0;Ib=(Ib- +(Ab>>>0))*1.0e9}while(Ib!=0.0);$=c[o>>2]|0;if(($|0)>0){ub=$;hb=ka;Pb=yb;while(1){Ab=(ub|0)>29?29:ub;xb=Pb+ -4|0;do if(xb>>>0>>0)Xb=hb;else{Gb=0;zb=xb;do{Rb=wi(c[zb>>2]|0,0,Ab|0)|0;Yb=si(Rb|0,E|0,Gb|0,0)|0;Rb=E;Zb=Fi(Yb|0,Rb|0,1e9,0)|0;c[zb>>2]=Zb;Gb=Ei(Yb|0,Rb|0,1e9,0)|0;zb=zb+ -4|0}while(zb>>>0>=hb>>>0);if(!Gb){Xb=hb;break}zb=hb+ -4|0;c[zb>>2]=Gb;Xb=zb}while(0);xb=Pb;while(1){if(xb>>>0<=Xb>>>0)break;zb=xb+ -4|0;if(!(c[zb>>2]|0))xb=zb;else break}zb=(c[o>>2]|0)-Ab|0;c[o>>2]=zb;if((zb|0)>0){ub=zb;hb=Xb;Pb=xb}else{_b=zb;$b=Xb;ac=xb;break}}}else{_b=$;$b=ka;ac=yb}g:do if((_b|0)<0){Pb=((Z+25|0)/9|0)+1|0;if((la|0)==102){hb=ka;ub=ka+(Pb<<2)|0;zb=_b;Rb=$b;Yb=ac;while(1){Zb=0-zb|0;bc=(Zb|0)>9?9:Zb;do if(Rb>>>0>>0){Zb=(1<>>bc;dc=0;ec=Rb;do{fc=c[ec>>2]|0;c[ec>>2]=(fc>>>bc)+dc;dc=aa(fc&Zb,cc)|0;ec=ec+4|0}while(ec>>>0>>0);ec=(c[Rb>>2]|0)==0?Rb+4|0:Rb;if(!dc){gc=ec;hc=Yb;break}c[Yb>>2]=dc;gc=ec;hc=Yb+4|0}else{gc=(c[Rb>>2]|0)==0?Rb+4|0:Rb;hc=Yb}while(0);Gb=(hc-hb>>2|0)>(Pb|0)?ub:hc;zb=(c[o>>2]|0)+bc|0;c[o>>2]=zb;if((zb|0)>=0){ic=gc;jc=Gb;break g}else{Rb=gc;Yb=Gb}}}else{kc=_b;lc=$b;mc=ac}while(1){Yb=0-kc|0;Rb=(Yb|0)>9?9:Yb;do if(lc>>>0>>0){Yb=(1<>>Rb;ub=0;hb=lc;do{xb=c[hb>>2]|0;c[hb>>2]=(xb>>>Rb)+ub;ub=aa(xb&Yb,zb)|0;hb=hb+4|0}while(hb>>>0>>0);hb=(c[lc>>2]|0)==0?lc+4|0:lc;if(!ub){nc=hb;oc=mc;break}c[mc>>2]=ub;nc=hb;oc=mc+4|0}else{nc=(c[lc>>2]|0)==0?lc+4|0:lc;oc=mc}while(0);if((oc-nc>>2|0)>(Pb|0))pc=nc+(Pb<<2)|0;else pc=oc;kc=(c[o>>2]|0)+Rb|0;c[o>>2]=kc;if((kc|0)>=0){ic=nc;jc=pc;break}else{lc=nc;mc=pc}}}else{ic=$b;jc=ac}while(0);yb=ka;do if(ic>>>0>>0){$=(yb-ic>>2)*9|0;Pb=c[ic>>2]|0;if(Pb>>>0<10){qc=$;break}else{sc=$;tc=10}while(1){tc=tc*10|0;$=sc+1|0;if(Pb>>>0>>0){qc=$;break}else sc=$}}else qc=0;while(0);Pb=(la|0)==103;$=Z-((la|0)!=102?qc:0)+((Pb&(Z|0)!=0)<<31>>31)|0;if(($|0)<(((jc-yb>>2)*9|0)+ -9|0)){bc=$+9216|0;$=(bc|0)/9|0;hb=ka+($+ -1023<<2)|0;zb=((bc|0)%9|0)+1|0;if((zb|0)<9){bc=10;Yb=zb;while(1){zb=bc*10|0;Yb=Yb+1|0;if((Yb|0)==9){uc=zb;break}else bc=zb}}else uc=10;bc=c[hb>>2]|0;Yb=(bc>>>0)%(uc>>>0)|0;if((Yb|0)==0?(ka+($+ -1022<<2)|0)==(jc|0):0){vc=ic;wc=hb;xc=qc}else R=233;do if((R|0)==233){R=0;Bb=(((bc>>>0)/(uc>>>0)|0)&1|0)==0?9007199254740992.0:9007199254740994.0;la=(uc|0)/2|0;do if(Yb>>>0>>0)yc=.5;else{if((Yb|0)==(la|0)?(ka+($+ -1022<<2)|0)==(jc|0):0){yc=1.0;break}yc=1.5}while(0);do if(!qb){zc=Bb;Ac=yc}else{if((a[rb>>0]|0)!=45){zc=Bb;Ac=yc;break}zc=Bb*-1.0;Ac=yc*-1.0}while(0);la=bc-Yb|0;c[hb>>2]=la;if(!(zc+Ac!=zc)){vc=ic;wc=hb;xc=qc;break}zb=la+uc|0;c[hb>>2]=zb;if(zb>>>0>999999999){zb=ic;la=hb;while(1){dc=la+ -4|0;c[la>>2]=0;if(dc>>>0>>0){xb=zb+ -4|0;c[xb>>2]=0;Bc=xb}else Bc=zb;xb=(c[dc>>2]|0)+1|0;c[dc>>2]=xb;if(xb>>>0>999999999){zb=Bc;la=dc}else{Dc=Bc;Ec=dc;break}}}else{Dc=ic;Ec=hb}la=(yb-Dc>>2)*9|0;zb=c[Dc>>2]|0;if(zb>>>0<10){vc=Dc;wc=Ec;xc=la;break}else{Fc=la;Gc=10}while(1){Gc=Gc*10|0;la=Fc+1|0;if(zb>>>0>>0){vc=Dc;wc=Ec;xc=la;break}else Fc=la}}while(0);hb=wc+4|0;Hc=vc;Ic=xc;Jc=jc>>>0>hb>>>0?hb:jc}else{Hc=ic;Ic=qc;Jc=jc}hb=0-Ic|0;Yb=Jc;while(1){if(Yb>>>0<=Hc>>>0){Kc=0;break}bc=Yb+ -4|0;if(!(c[bc>>2]|0))Yb=bc;else{Kc=1;break}}do if(Pb){bc=((Z|0)==0&1)+Z|0;if((bc|0)>(Ic|0)&(Ic|0)>-5){Lc=La+ -1|0;Mc=bc+ -1-Ic|0}else{Lc=La+ -2|0;Mc=bc+ -1|0}if(ja&8){Nc=Lc;Oc=Mc;break}do if(Kc){bc=c[Yb+ -4>>2]|0;if(!bc){Pc=9;break}if(!((bc>>>0)%10|0)){Qc=10;Rc=0}else{Pc=0;break}while(1){Qc=Qc*10|0;$=Rc+1|0;if((bc>>>0)%(Qc>>>0)|0){Pc=$;break}else Rc=$}}else Pc=9;while(0);bc=((Yb-yb>>2)*9|0)+ -9|0;if((Lc|32|0)==102){Rb=bc-Pc|0;$=(Rb|0)<0?0:Rb;Nc=Lc;Oc=(Mc|0)<($|0)?Mc:$;break}else{$=bc+Ic-Pc|0;bc=($|0)<0?0:$;Nc=Lc;Oc=(Mc|0)<(bc|0)?Mc:bc;break}}else{Nc=La;Oc=Z}while(0);Z=(Oc|0)!=0;if(Z)Sc=1;else Sc=(ja&8|0)!=0;yb=Sc&1;Pb=(Nc|32|0)==102;if(Pb){Tc=(Ic|0)>0?Ic:0;Uc=0}else{bc=(Ic|0)<0?hb:Ic;if((bc|0)<0){$=A;Rb=bc;zb=((bc|0)<0)<<31>>31;while(1){la=Fi(Rb|0,zb|0,10,0)|0;$=$+ -1|0;a[$>>0]=la|48;la=Rb;Rb=Ei(Rb|0,zb|0,10,0)|0;if(!(zb>>>0>9|(zb|0)==9&la>>>0>4294967295))break;else zb=E}Vc=$;Wc=Rb}else{Vc=A;Wc=bc}if(!Wc)Xc=Vc;else{zb=Vc;hb=Wc;while(1){la=zb+ -1|0;a[la>>0]=(hb>>>0)%10|0|48;if(hb>>>0<10){Xc=la;break}else{zb=la;hb=(hb>>>0)/10|0}}}if((r-Xc|0)<2){hb=Xc;while(1){zb=hb+ -1|0;a[zb>>0]=48;if((r-zb|0)<2)hb=zb;else{Yc=zb;break}}}else Yc=Xc;a[Yc+ -1>>0]=(Ic>>31&2)+43;hb=Yc+ -2|0;a[hb>>0]=Nc;Tc=r-hb|0;Uc=hb}hb=qb+1+Oc+yb+Tc|0;zb=ja&73728;bc=(hb|0)<(ta|0);if((zb|0)==0&bc){Rb=ta-hb|0;qi(s|0,32,(Rb>>>0>256?256:Rb)|0)|0;if(Rb>>>0>255){$=Rb;while(1){di(s,256,e)|0;la=$+ -256|0;if(la>>>0>255)$=la;else{Zc=la;break}}}else Zc=Rb;di(s,Zc,e)|0}di(rb,qb,e)|0;if((zb|0)==65536&bc){$=ta-hb|0;qi(s|0,48,($>>>0>256?256:$)|0)|0;if($>>>0>255){yb=$;while(1){di(s,256,e)|0;la=yb+ -256|0;if(la>>>0>255)yb=la;else{_c=la;break}}}else _c=$;di(s,_c,e)|0}do if(Pb){yb=Hc>>>0>ka>>>0?ka:Hc;Rb=yb;do{la=c[Rb>>2]|0;if(!la)$c=H;else{dc=H;xb=la;while(1){la=dc+ -1|0;a[la>>0]=(xb>>>0)%10|0|48;if(xb>>>0<10){$c=la;break}else{dc=la;xb=(xb>>>0)/10|0}}}do if((Rb|0)==(yb|0)){if(($c|0)!=(H|0)){ad=$c;break}a[J>>0]=48;ad=J}else{if($c>>>0>p>>>0)bd=$c;else{ad=$c;break}while(1){xb=bd+ -1|0;a[xb>>0]=48;if(xb>>>0>p>>>0)bd=xb;else{ad=xb;break}}}while(0);di(ad,I-ad|0,e)|0;Rb=Rb+4|0}while(Rb>>>0<=ka>>>0);if(!Z?(ja&8|0)==0:0)break;di(16624,1,e)|0;if(Rb>>>0>>0&(Oc|0)>0){yb=Oc;ub=Rb;while(1){xb=c[ub>>2]|0;if(xb){dc=H;la=xb;while(1){dc=dc+ -1|0;a[dc>>0]=(la>>>0)%10|0|48;if(la>>>0<10)break;else la=(la>>>0)/10|0}if(dc>>>0>p>>>0){cd=dc;R=300}else dd=dc}else{cd=H;R=300}if((R|0)==300)while(1){R=0;la=cd+ -1|0;a[la>>0]=48;if(la>>>0>p>>>0){cd=la;R=300}else{dd=la;break}}di(dd,(yb|0)>9?9:yb,e)|0;ub=ub+4|0;dc=yb+ -9|0;if(!(ub>>>0>>0&(dc|0)>0)){ed=dc;break}else yb=dc}}else ed=Oc;if((ed|0)<=0)break;qi(s|0,48,(ed>>>0>256?256:ed)|0)|0;if(ed>>>0>255){yb=ed;while(1){di(s,256,e)|0;ub=yb+ -256|0;if(ub>>>0>255)yb=ub;else{fd=ub;break}}}else fd=ed;di(s,fd,e)|0}else{yb=Kc?Yb:Hc+4|0;do if((Oc|0)>-1){ub=(ja&8|0)!=0;Rb=Oc;dc=Hc;do{la=c[dc>>2]|0;if(la){xb=H;Ab=la;while(1){xb=xb+ -1|0;a[xb>>0]=(Ab>>>0)%10|0|48;if(Ab>>>0<10)break;else Ab=(Ab>>>0)/10|0}if((xb|0)!=(H|0))gd=xb;else R=311}else R=311;if((R|0)==311){R=0;a[J>>0]=48;gd=J}do if((dc|0)==(Hc|0)){Ab=gd+1|0;di(gd,1,e)|0;if(!((Rb|0)>0|ub)){hd=Ab;break}di(16624,1,e)|0;hd=Ab}else{if(gd>>>0>p>>>0)id=gd;else{hd=gd;break}while(1){Ab=id+ -1|0;a[Ab>>0]=48;if(Ab>>>0>p>>>0)id=Ab;else{hd=Ab;break}}}while(0);xb=I-hd|0;di(hd,(xb|0)<(Rb|0)?xb:Rb,e)|0;Rb=Rb-xb|0;dc=dc+4|0}while(dc>>>0>>0&(Rb|0)>-1);if((Rb|0)<=0)break;qi(s|0,48,(Rb>>>0>256?256:Rb)|0)|0;if(Rb>>>0>255){dc=Rb;while(1){di(s,256,e)|0;ub=dc+ -256|0;if(ub>>>0>255)dc=ub;else{jd=ub;break}}}else jd=Rb;di(s,jd,e)|0}while(0);di(Uc,r-Uc|0,e)|0}while(0);if((zb|0)==8192&bc){Yb=ta-hb|0;qi(s|0,32,(Yb>>>0>256?256:Yb)|0)|0;if(Yb>>>0>255){Z=Yb;while(1){di(s,256,e)|0;ka=Z+ -256|0;if(ka>>>0>255)Z=ka;else{kd=ka;break}}}else kd=Yb;di(s,kd,e)|0}K=Ha;L=Ga;M=Aa;f=P;N=bc?ta:hb;O=sa;continue a;break};default:{Wa=Ha;Xa=Ga;Ya=M;Za=ja;_a=ya;$a=0;ab=16528;bb=x}}while(0);h:do if((R|0)==77){R=0;Q=Ga;Y=Va&32;if(!((Q|0)==0&(Ha|0)==0)){fa=x;Z=Q;Q=Ha;do{fa=fa+ -1|0;a[fa>>0]=d[16608+(Z&15)>>0]|Y;Z=ui(Z|0,Q|0,4)|0;Q=E}while(!((Z|0)==0&(Q|0)==0));if(!(Ta&8)){ib=Ga;jb=Ha;kb=fa;lb=Ta;mb=Ua;nb=0;ob=16528;R=94}else{ib=Ga;jb=Ha;kb=fa;lb=Ta;mb=Ua;nb=2;ob=16528+(Va>>4)|0;R=94}}else{ib=Ga;jb=Ha;kb=x;lb=Ta;mb=Ua;nb=0;ob=16528;R=94}}else if((R|0)==89){R=0;Q=Ma;if(Na>>>0>0|(Na|0)==0&Q>>>0>4294967295){Z=x;Y=Q;hb=Na;while(1){bc=Fi(Y|0,hb|0,10,0)|0;Z=Z+ -1|0;a[Z>>0]=bc|48;bc=Y;Y=Ei(Y|0,hb|0,10,0)|0;if(!(hb>>>0>9|(hb|0)==9&bc>>>0>4294967295))break;else hb=E}ld=Z;md=Y}else{ld=x;md=Q}if(!md){ib=Ma;jb=Na;kb=ld;lb=ja;mb=ya;nb=Oa;ob=Pa;R=94}else{hb=ld;fa=md;while(1){bc=hb+ -1|0;a[bc>>0]=(fa>>>0)%10|0|48;if(fa>>>0<10){ib=Ma;jb=Na;kb=bc;lb=ja;mb=ya;nb=Oa;ob=Pa;R=94;break}else{hb=bc;fa=(fa>>>0)/10|0}}}}else if((R|0)==99){R=0;fa=ji(cb,0,ya)|0;if(!fa){Wa=Ha;Xa=Ga;Ya=cb;Za=_;_a=ya;$a=0;ab=16528;bb=cb+ya|0;break}else{Wa=Ha;Xa=Ga;Ya=cb;Za=_;_a=fa-cb|0;$a=0;ab=16528;bb=fa;break}}else if((R|0)==104){R=0;fa=0;hb=0;Q=Qa;while(1){Y=c[Q>>2]|0;if(!Y){nd=fa;od=hb;break}Z=_h(v,Y)|0;if((Z|0)<=-1){pa=-1;R=362;break a}Y=Z+fa|0;if(Z>>>0>(Sa-fa|0)>>>0){db=Qa;eb=Ra;fb=fa;R=110;break h}if(Y>>>0>>0){fa=Y;hb=Z;Q=Q+4|0}else{nd=Y;od=Z;break}}if((od|0)<0){pa=-1;R=362;break a}else{db=Qa;eb=Ra;fb=nd;R=110}}while(0);if((R|0)==94){R=0;_=(mb|0)>-1?lb&-65537:lb;Q=(ib|0)==0&(jb|0)==0;if(Q&(mb|0)==0){Wa=jb;Xa=ib;Ya=x;Za=_;_a=0;$a=nb;ab=ob;bb=x}else{hb=(Q&1)+(y-kb)|0;Wa=jb;Xa=ib;Ya=kb;Za=_;_a=(mb|0)>(hb|0)?mb:hb;$a=nb;ab=ob;bb=x}}else if((R|0)==110){R=0;hb=ja&73728;_=(fb|0)<(ta|0);if((hb|0)==0&_){Q=ta-fb|0;qi(s|0,32,(Q>>>0>256?256:Q)|0)|0;if(Q>>>0>255){fa=Q;while(1){di(s,256,e)|0;Z=fa+ -256|0;if(Z>>>0>255)fa=Z;else{pd=Z;break}}}else pd=Q;di(s,pd,e)|0}i:do if(fb){fa=0;ja=db;while(1){Z=c[ja>>2]|0;if(!Z)break i;Y=_h(v,Z)|0;fa=Y+fa|0;if((fa|0)>(fb|0))break i;di(v,Y,e)|0;if(fa>>>0>=fb>>>0)break;else ja=ja+4|0}}while(0);if((hb|0)==8192&_){Q=ta-fb|0;qi(s|0,32,(Q>>>0>256?256:Q)|0)|0;if(Q>>>0>255){ja=Q;while(1){di(s,256,e)|0;fa=ja+ -256|0;if(fa>>>0>255)ja=fa;else{qd=fa;break}}}else qd=Q;di(s,qd,e)|0}K=Ha;L=eb;M=Aa;f=P;N=_?ta:fb;O=sa;continue}ja=bb-Ya|0;hb=(_a|0)<(ja|0)?ja:_a;fa=$a+hb|0;Y=(ta|0)<(fa|0)?fa:ta;Z=Za&73728;bc=(fa|0)<(Y|0);if((Z|0)==0&bc){Yb=Y-fa|0;qi(s|0,32,(Yb>>>0>256?256:Yb)|0)|0;if(Yb>>>0>255){zb=Yb;while(1){di(s,256,e)|0;ka=zb+ -256|0;if(ka>>>0>255)zb=ka;else{rd=ka;break}}}else rd=Yb;di(s,rd,e)|0}di(ab,$a,e)|0;if((Z|0)==65536&bc){zb=Y-fa|0;qi(s|0,48,(zb>>>0>256?256:zb)|0)|0;if(zb>>>0>255){_=zb;while(1){di(s,256,e)|0;Q=_+ -256|0;if(Q>>>0>255)_=Q;else{sd=Q;break}}}else sd=zb;di(s,sd,e)|0}if((ja|0)<(hb|0)){_=hb-ja|0;qi(s|0,48,(_>>>0>256?256:_)|0)|0;if(_>>>0>255){Yb=_;while(1){di(s,256,e)|0;Q=Yb+ -256|0;if(Q>>>0>255)Yb=Q;else{td=Q;break}}}else td=_;di(s,td,e)|0}di(Ya,ja,e)|0;if(!((Z|0)==8192&bc)){K=Wa;L=Xa;M=Aa;f=P;N=Y;O=sa;continue}Yb=Y-fa|0;qi(s|0,32,(Yb>>>0>256?256:Yb)|0)|0;if(Yb>>>0>255){hb=Yb;while(1){di(s,256,e)|0;zb=hb+ -256|0;if(zb>>>0>255)hb=zb;else{ud=zb;break}}}else ud=Yb;di(s,ud,e)|0;K=Wa;L=Xa;M=Aa;f=P;N=Y;O=sa}if((R|0)==344){if(e){pa=P;i=m;return pa|0}if(!O){pa=0;i=m;return pa|0}else vd=1;while(1){O=c[l+(vd<<2)>>2]|0;if(!O){wd=vd;break}P=j+(vd<<3)|0;j:do if(O>>>0<=20)do switch(O|0){case 11:{e=c[g>>2]|0;sa=c[e>>2]|0;c[g>>2]=e+4;e=P;c[e>>2]=sa;c[e+4>>2]=0;break j;break};case 14:{e=c[g>>2]|0;sa=c[e>>2]|0;c[g>>2]=e+4;e=P;c[e>>2]=sa&65535;c[e+4>>2]=0;break j;break};case 9:{e=c[g>>2]|0;sa=c[e>>2]|0;c[g>>2]=e+4;c[P>>2]=sa;break j;break};case 18:{sa=c[g>>2]|0;c[k>>2]=c[sa>>2];c[k+4>>2]=c[sa+4>>2];zc=+h[k>>3];c[g>>2]=sa+8;h[P>>3]=zc;break j;break};case 16:{sa=c[g>>2]|0;e=c[sa>>2]|0;c[g>>2]=sa+4;sa=P;c[sa>>2]=e&255;c[sa+4>>2]=0;break j;break};case 10:{sa=c[g>>2]|0;e=c[sa>>2]|0;c[g>>2]=sa+4;sa=P;c[sa>>2]=e;c[sa+4>>2]=((e|0)<0)<<31>>31;break j;break};case 13:{e=c[g>>2]|0;sa=c[e>>2]|0;c[g>>2]=e+4;e=(sa&65535)<<16>>16;sa=P;c[sa>>2]=e;c[sa+4>>2]=((e|0)<0)<<31>>31;break j;break};case 15:{e=c[g>>2]|0;sa=c[e>>2]|0;c[g>>2]=e+4;e=(sa&255)<<24>>24;sa=P;c[sa>>2]=e;c[sa+4>>2]=((e|0)<0)<<31>>31;break j;break};case 17:{e=c[g>>2]|0;c[k>>2]=c[e>>2];c[k+4>>2]=c[e+4>>2];zc=+h[k>>3];c[g>>2]=e+8;h[P>>3]=zc;break j;break};case 12:{e=c[g>>2]|0;sa=e;N=c[sa>>2]|0;f=c[sa+4>>2]|0;c[g>>2]=e+8;e=P;c[e>>2]=N;c[e+4>>2]=f;break j;break};default:break j}while(0);while(0);vd=vd+1|0;if((vd|0)>=10){pa=1;R=362;break}}if((R|0)==362){i=m;return pa|0}while(1){if(c[l+(wd<<2)>>2]|0){pa=-1;R=362;break}wd=wd+1|0;if((wd|0)>=10){pa=1;R=362;break}}if((R|0)==362){i=m;return pa|0}}else if((R|0)==362){i=m;return pa|0}return 0}function gi(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;g=i;i=i+128|0;h=g+112|0;j=g;k=j+0|0;l=16632|0;m=k+112|0;do{c[k>>2]=c[l>>2];k=k+4|0;l=l+4|0}while((k|0)<(m|0));if((d+ -1|0)>>>0>2147483646)if(!d){n=h;o=1}else{c[(Cc()|0)>>2]=75;p=-1;i=g;return p|0}else{n=b;o=d}d=-2-n|0;b=o>>>0>d>>>0?d:o;c[j+48>>2]=b;o=j+20|0;c[o>>2]=n;c[j+44>>2]=n;d=n+b|0;n=j+16|0;c[n>>2]=d;c[j+28>>2]=d;d=ei(j,e,f)|0;if(!b){p=d;i=g;return p|0}b=c[o>>2]|0;a[b+(((b|0)==(c[n>>2]|0))<<31>>31)>>0]=0;p=d;i=g;return p|0}function hi(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;f=a+20|0;g=c[f>>2]|0;h=(c[a+16>>2]|0)-g|0;a=h>>>0>d>>>0?d:h;oi(g|0,b|0,a|0)|0;c[f>>2]=(c[f>>2]|0)+a;i=e;return d|0}function ii(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=i;e=gi(a,2147483647,b,c)|0;i=d;return e|0}function ji(b,d,e){b=b|0;d=d|0;e=e|0;var 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,x=0,y=0;f=i;g=d&255;h=(e|0)==0;a:do if((b&3|0)==0|h){j=e;k=h;l=b;m=5}else{n=d&255;o=e;p=b;while(1){if((a[p>>0]|0)==n<<24>>24){q=o;r=p;m=6;break a}s=p+1|0;t=o+ -1|0;u=(t|0)==0;if((s&3|0)==0|u){j=t;k=u;l=s;m=5;break}else{o=t;p=s}}}while(0);if((m|0)==5)if(k){v=0;w=l}else{q=j;r=l;m=6}b:do if((m|0)==6){l=d&255;if((a[r>>0]|0)!=l<<24>>24){j=aa(g,16843009)|0;c:do if(q>>>0>3){k=q;b=r;while(1){e=c[b>>2]^j;if((e&-2139062144^-2139062144)&e+ -16843009){x=k;y=b;break c}e=b+4|0;h=k+ -4|0;if(h>>>0>3){k=h;b=e}else{x=h;y=e;break}}}else{x=q;y=r}while(0);if(!x){v=0;w=y}else{j=x;b=y;while(1){if((a[b>>0]|0)==l<<24>>24){v=j;w=b;break b}k=b+1|0;j=j+ -1|0;if(!j){v=0;w=k;break}else b=k}}}else{v=q;w=r}}while(0);i=f;return((v|0)!=0?w:0)|0}function ki(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;e=i;a:do if(!d)f=0;else{g=d;h=b;j=c;while(1){k=a[h>>0]|0;l=a[j>>0]|0;if(k<<24>>24!=l<<24>>24)break;g=g+ -1|0;if(!g){f=0;break a}else{h=h+1|0;j=j+1|0}}f=(k&255)-(l&255)|0}while(0);i=e;return f|0}function li(b,c){b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;d=i;e=a[b>>0]|0;f=a[c>>0]|0;if(e<<24>>24==0?1:e<<24>>24!=f<<24>>24){g=e;h=f}else{f=b;b=c;do{f=f+1|0;b=b+1|0;c=a[f>>0]|0;e=a[b>>0]|0}while(!(c<<24>>24==0?1:c<<24>>24!=e<<24>>24));g=c;h=e}i=d;return(g&255)-(h&255)|0}function mi(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;f=i;if(!e){g=0;i=f;return g|0}h=a[b>>0]|0;a:do if(!(h<<24>>24)){j=0;k=c}else{l=e;m=h;n=b;o=c;while(1){l=l+ -1|0;p=a[o>>0]|0;if(!((l|0)!=0&p<<24>>24!=0&m<<24>>24==p<<24>>24)){j=m;k=o;break a}n=n+1|0;p=o+1|0;m=a[n>>0]|0;if(!(m<<24>>24)){j=0;k=p;break}else o=p}}while(0);g=(j&255)-(d[k>>0]|0)|0;i=f;return g|0}function ni(){}function oi(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;if((e|0)>=4096)return Ga(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 pi(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;if((c|0)<(b|0)&(b|0)<(c+d|0)){e=b;c=c+d|0;b=b+d|0;while((d|0)>0){b=b-1|0;c=c-1|0;d=d-1|0;a[b>>0]=a[c>>0]|0}b=e}else oi(b,c,d)|0;return b|0}function qi(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;g=b&3;h=d|d<<8|d<<16|d<<24;i=f&~3;if(g){g=b+4-g|0;while((b|0)<(g|0)){a[b>>0]=d;b=b+1|0}}while((b|0)<(i|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 ri(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=b-d>>>0;e=b-d-(c>>>0>a>>>0|0)>>>0;return(E=e,a-c>>>0|0)|0}function si(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=a+c>>>0;return(E=b+d+(e>>>0>>0|0)>>>0,e|0)|0}function ti(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0;while((e|0)<(d|0)){a[b+e>>0]=f?0:a[c+e>>0]|0;f=f?1:(a[c+e>>0]|0)==0;e=e+1|0}return b|0}function ui(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){E=b>>>c;return a>>>c|(b&(1<>>c-32|0}function vi(b){b=b|0;var c=0;c=b;while(a[c>>0]|0)c=c+1|0;return c-b|0}function wi(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){E=b<>>32-c;return a<>c;return a>>>c|(b&(1<>c-32|0}function yi(b){b=b|0;var c=0;c=a[n+(b>>>24)>>0]|0;if((c|0)<8)return c|0;c=a[n+(b>>16&255)>>0]|0;if((c|0)<8)return c+8|0;c=a[n+(b>>8&255)>>0]|0;if((c|0)<8)return c+16|0;return(a[n+(b&255)>>0]|0)+24|0}function zi(b){b=b|0;var c=0;c=a[m+(b&255)>>0]|0;if((c|0)<8)return c|0;c=a[m+(b>>8&255)>>0]|0;if((c|0)<8)return c+8|0;c=a[m+(b>>16&255)>>0]|0;if((c|0)<8)return c+16|0;return(a[m+(b>>>24)>>0]|0)+24|0}function Ai(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=a&65535;d=b&65535;e=aa(d,c)|0;f=a>>>16;a=(e>>>16)+(aa(d,f)|0)|0;d=b>>>16;b=aa(d,c)|0;return(E=(a>>>16)+(aa(d,f)|0)+(((a&65535)+b|0)>>>16)|0,a+b<<16|e&65535|0)|0}function Bi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=b>>31|((b|0)<0?-1:0)<<1;f=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;g=d>>31|((d|0)<0?-1:0)<<1;h=((d|0)<0?-1:0)>>31|((d|0)<0?-1:0)<<1;i=ri(e^a,f^b,e,f)|0;b=E;a=g^e;e=h^f;f=ri((Gi(i,b,ri(g^c,h^d,g,h)|0,E,0)|0)^a,E^e,a,e)|0;return f|0}function Ci(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;f=i;i=i+8|0;g=f|0;h=b>>31|((b|0)<0?-1:0)<<1;j=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;k=e>>31|((e|0)<0?-1:0)<<1;l=((e|0)<0?-1:0)>>31|((e|0)<0?-1:0)<<1;m=ri(h^a,j^b,h,j)|0;b=E;Gi(m,b,ri(k^d,l^e,k,l)|0,E,g)|0;l=ri(c[g>>2]^h,c[g+4>>2]^j,h,j)|0;j=E;i=f;return(E=j,l)|0}function Di(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=a;a=c;c=Ai(e,a)|0;f=E;return(E=(aa(b,a)|0)+(aa(d,e)|0)+f|f&0,c|0|0)|0}function Ei(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=Gi(a,b,c,d,0)|0;return e|0}function Fi(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;i=i+8|0;g=f|0;Gi(a,b,d,e,g)|0;i=f;return(E=c[g+4>>2]|0,c[g>>2]|0)|0}function Gi(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=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,x=0,y=0,z=0,A=0,B=0,C=0,D=0,F=0,G=0,H=0;g=a;h=b;i=h;j=d;k=e;l=k;if(!i){m=(f|0)!=0;if(!l){if(m){c[f>>2]=(g>>>0)%(j>>>0);c[f+4>>2]=0}n=0;o=(g>>>0)/(j>>>0)>>>0;return(E=n,o)|0}else{if(!m){n=0;o=0;return(E=n,o)|0}c[f>>2]=a|0;c[f+4>>2]=b&0;n=0;o=0;return(E=n,o)|0}}m=(l|0)==0;do if(j){if(!m){p=(yi(l|0)|0)-(yi(i|0)|0)|0;if(p>>>0<=31){q=p+1|0;r=31-p|0;s=p-31>>31;t=q;u=g>>>(q>>>0)&s|i<>>(q>>>0)&s;w=0;x=g<>2]=a|0;c[f+4>>2]=h|b&0;n=0;o=0;return(E=n,o)|0}r=j-1|0;if(r&j){s=(yi(j|0)|0)+33-(yi(i|0)|0)|0;q=64-s|0;p=32-s|0;y=p>>31;z=s-32|0;A=z>>31;t=s;u=p-1>>31&i>>>(z>>>0)|(i<>>(s>>>0))&A;v=A&i>>>(s>>>0);w=g<>>(z>>>0))&y|g<>31;break}if(f){c[f>>2]=r&g;c[f+4>>2]=0}if((j|0)==1){n=h|b&0;o=a|0|0;return(E=n,o)|0}else{r=zi(j|0)|0;n=i>>>(r>>>0)|0;o=i<<32-r|g>>>(r>>>0)|0;return(E=n,o)|0}}else{if(m){if(f){c[f>>2]=(i>>>0)%(j>>>0);c[f+4>>2]=0}n=0;o=(i>>>0)/(j>>>0)>>>0;return(E=n,o)|0}if(!g){if(f){c[f>>2]=0;c[f+4>>2]=(i>>>0)%(l>>>0)}n=0;o=(i>>>0)/(l>>>0)>>>0;return(E=n,o)|0}r=l-1|0;if(!(r&l)){if(f){c[f>>2]=a|0;c[f+4>>2]=r&i|b&0}n=0;o=i>>>((zi(l|0)|0)>>>0);return(E=n,o)|0}r=(yi(l|0)|0)-(yi(i|0)|0)|0;if(r>>>0<=30){s=r+1|0;p=31-r|0;t=s;u=i<>>(s>>>0);v=i>>>(s>>>0);w=0;x=g<>2]=a|0;c[f+4>>2]=h|b&0;n=0;o=0;return(E=n,o)|0}while(0);if(!t){B=x;C=w;D=v;F=u;G=0;H=0}else{b=d|0|0;d=k|e&0;e=si(b,d,-1,-1)|0;k=E;h=x;x=w;w=v;v=u;u=t;t=0;do{a=h;h=x>>>31|h<<1;x=t|x<<1;g=v<<1|a>>>31|0;a=v>>>31|w<<1|0;ri(e,k,g,a)|0;i=E;l=i>>31|((i|0)<0?-1:0)<<1;t=l&1;v=ri(g,a,l&b,(((i|0)<0?-1:0)>>31|((i|0)<0?-1:0)<<1)&d)|0;w=E;u=u-1|0}while((u|0)!=0);B=h;C=x;D=w;F=v;G=0;H=t}t=C;C=0;if(f){c[f>>2]=F;c[f+4>>2]=D}n=(t|0)>>>31|(B|C)<<1|(C<<1|t>>>31)&0|G;o=(t<<1|0>>>31)&-2|H;return(E=n,o)|0}function Hi(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Oc[a&1](b|0,c|0,d|0,e|0,f|0)}function Ii(a,b,c){a=a|0;b=b|0;c=c|0;Pc[a&7](b|0,c|0)}function Ji(a,b,c,d){a=a|0;b=b|0;c=+c;d=+d;Qc[a&1](b|0,+c,+d)}function Ki(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Rc[a&1](b|0,c|0,d|0)|0}function Li(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Sc[a&1](b|0,c|0,d|0)}function Mi(a){a=a|0;Tc[a&1]()}function Ni(a,b,c){a=a|0;b=b|0;c=c|0;return Uc[a&3](b|0,c|0)|0}function Oi(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;Vc[a&1](b|0,c|0,d|0,e|0)}function Pi(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ba(0)}function Qi(a,b){a=a|0;b=b|0;ba(1)}function Ri(a,b,c){a=a|0;b=+b;c=+c;ba(2)}function Si(a,b,c){a=a|0;b=b|0;c=c|0;ba(3);return 0}function Ti(a,b,c){a=a|0;b=b|0;c=c|0;ba(4)}function Ui(){ba(5)}function Vi(a,b){a=a|0;b=b|0;ba(6);return 0}function Wi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ba(7)} +function dynCall_vd(index,a1) { + index = index|0; + a1=+a1; + FUNCTION_TABLE_vd[index&3](+a1); +} +function dynCall_vid(index,a1,a2) { + index = index|0; + a1=a1|0; a2=+a2; + FUNCTION_TABLE_vid[index&3](a1|0,+a2); +} +function dynCall_vi(index,a1) { + index = index|0; + a1=a1|0; + FUNCTION_TABLE_vi[index&31](a1|0); +} + + +function dynCall_vii(index,a1,a2) { + index = index|0; + a1=a1|0; a2=a2|0; + FUNCTION_TABLE_vii[index&63](a1|0,a2|0); +} + + +function dynCall_ii(index,a1) { + index = index|0; + a1=a1|0; + return FUNCTION_TABLE_ii[index&15](a1|0)|0; +} + + +function dynCall_viddd(index,a1,a2,a3,a4) { + index = index|0; + a1=a1|0; a2=+a2; a3=+a3; a4=+a4; + FUNCTION_TABLE_viddd[index&3](a1|0,+a2,+a3,+a4); +} + + +function dynCall_vidd(index,a1,a2,a3) { + index = index|0; + a1=a1|0; a2=+a2; a3=+a3; + FUNCTION_TABLE_vidd[index&7](a1|0,+a2,+a3); +} + + +function dynCall_iiii(index,a1,a2,a3) { + index = index|0; + a1=a1|0; a2=a2|0; a3=a3|0; + return FUNCTION_TABLE_iiii[index&15](a1|0,a2|0,a3|0)|0; +} + + +function dynCall_viiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8) { + index = index|0; + a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; a6=a6|0; a7=a7|0; a8=a8|0; + FUNCTION_TABLE_viiiiiiii[index&3](a1|0,a2|0,a3|0,a4|0,a5|0,a6|0,a7|0,a8|0); +} + + +function dynCall_viiiiii(index,a1,a2,a3,a4,a5,a6) { + index = index|0; + a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; a6=a6|0; + FUNCTION_TABLE_viiiiii[index&3](a1|0,a2|0,a3|0,a4|0,a5|0,a6|0); +} + + +function dynCall_viii(index,a1,a2,a3) { + index = index|0; + a1=a1|0; a2=a2|0; a3=a3|0; + FUNCTION_TABLE_viii[index&31](a1|0,a2|0,a3|0); +} + + +function dynCall_vidddd(index,a1,a2,a3,a4,a5) { + index = index|0; + a1=a1|0; a2=+a2; a3=+a3; a4=+a4; a5=+a5; + FUNCTION_TABLE_vidddd[index&3](a1|0,+a2,+a3,+a4,+a5); +} + + +function dynCall_vdi(index,a1,a2) { + index = index|0; + a1=+a1; a2=a2|0; + FUNCTION_TABLE_vdi[index&1](+a1,a2|0); +} + + +function dynCall_viiiiiii(index,a1,a2,a3,a4,a5,a6,a7) { + index = index|0; + a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; a6=a6|0; a7=a7|0; + FUNCTION_TABLE_viiiiiii[index&3](a1|0,a2|0,a3|0,a4|0,a5|0,a6|0,a7|0); +} + + +function dynCall_viiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9) { + index = index|0; + a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; a6=a6|0; a7=a7|0; a8=a8|0; a9=a9|0; + FUNCTION_TABLE_viiiiiiiii[index&3](a1|0,a2|0,a3|0,a4|0,a5|0,a6|0,a7|0,a8|0,a9|0); +} + + +function dynCall_iii(index,a1,a2) { + index = index|0; + a1=a1|0; a2=a2|0; + return FUNCTION_TABLE_iii[index&7](a1|0,a2|0)|0; +} + + +function dynCall_i(index) { + index = index|0; + + return FUNCTION_TABLE_i[index&3]()|0; +} + + +function dynCall_vdddddd(index,a1,a2,a3,a4,a5,a6) { + index = index|0; + a1=+a1; a2=+a2; a3=+a3; a4=+a4; a5=+a5; a6=+a6; + FUNCTION_TABLE_vdddddd[index&1](+a1,+a2,+a3,+a4,+a5,+a6); +} + + +function dynCall_vdddd(index,a1,a2,a3,a4) { + index = index|0; + a1=+a1; a2=+a2; a3=+a3; a4=+a4; + FUNCTION_TABLE_vdddd[index&3](+a1,+a2,+a3,+a4); +} + + +function dynCall_vdd(index,a1,a2) { + index = index|0; + a1=+a1; a2=+a2; + FUNCTION_TABLE_vdd[index&3](+a1,+a2); +} + + +function dynCall_v(index) { + index = index|0; + + FUNCTION_TABLE_v[index&7](); +} + + +function dynCall_viid(index,a1,a2,a3) { + index = index|0; + a1=a1|0; a2=a2|0; a3=+a3; + FUNCTION_TABLE_viid[index&1](a1|0,a2|0,+a3); +} + + +function dynCall_viiii(index,a1,a2,a3,a4) { + index = index|0; + a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; + FUNCTION_TABLE_viiii[index&31](a1|0,a2|0,a3|0,a4|0); +} + +function b0(p0,p1,p2,p3,p4) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; nullFunc_viiiii(0); +} +function _emscripten_glUniform4i__wrapper(p0,p1,p2,p3,p4) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; _emscripten_glUniform4i(p0|0,p1|0,p2|0,p3|0,p4|0); +} +function _emscripten_glFramebufferTexture2D__wrapper(p0,p1,p2,p3,p4) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; _emscripten_glFramebufferTexture2D(p0|0,p1|0,p2|0,p3|0,p4|0); +} +function _emscripten_glShaderBinary__wrapper(p0,p1,p2,p3,p4) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; _emscripten_glShaderBinary(p0|0,p1|0,p2|0,p3|0,p4|0); +} +function _emscripten_glDrawElementsInstanced__wrapper(p0,p1,p2,p3,p4) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; _emscripten_glDrawElementsInstanced(p0|0,p1|0,p2|0,p3|0,p4|0); +} +function b1(p0) { + p0 = +p0; nullFunc_vd(1); +} +function _emscripten_glClearDepth__wrapper(p0) { + p0 = +p0; _emscripten_glClearDepth(+p0); +} +function _emscripten_glClearDepthf__wrapper(p0) { + p0 = +p0; _emscripten_glClearDepthf(+p0); +} +function _emscripten_glLineWidth__wrapper(p0) { + p0 = +p0; _emscripten_glLineWidth(+p0); +} +function b2(p0,p1) { + p0 = p0|0;p1 = +p1; nullFunc_vid(2); +} +function _emscripten_glUniform1f__wrapper(p0,p1) { + p0 = p0|0;p1 = +p1; _emscripten_glUniform1f(p0|0,+p1); +} +function _emscripten_glVertexAttrib1f__wrapper(p0,p1) { + p0 = p0|0;p1 = +p1; _emscripten_glVertexAttrib1f(p0|0,+p1); +} +function b3(p0) { + p0 = p0|0; nullFunc_vi(3); +} +function _emscripten_glDeleteShader__wrapper(p0) { + p0 = p0|0; _emscripten_glDeleteShader(p0|0); +} +function _emscripten_glCompileShader__wrapper(p0) { + p0 = p0|0; _emscripten_glCompileShader(p0|0); +} +function _emscripten_glDeleteProgram__wrapper(p0) { + p0 = p0|0; _emscripten_glDeleteProgram(p0|0); +} +function _emscripten_glLinkProgram__wrapper(p0) { + p0 = p0|0; _emscripten_glLinkProgram(p0|0); +} +function _emscripten_glUseProgram__wrapper(p0) { + p0 = p0|0; _emscripten_glUseProgram(p0|0); +} +function _emscripten_glValidateProgram__wrapper(p0) { + p0 = p0|0; _emscripten_glValidateProgram(p0|0); +} +function _emscripten_glDeleteObjectARB__wrapper(p0) { + p0 = p0|0; _emscripten_glDeleteObjectARB(p0|0); +} +function _emscripten_glEnableClientState__wrapper(p0) { + p0 = p0|0; _emscripten_glEnableClientState(p0|0); +} +function _emscripten_glClientActiveTexture__wrapper(p0) { + p0 = p0|0; _emscripten_glClientActiveTexture(p0|0); +} +function _emscripten_glBindVertexArray__wrapper(p0) { + p0 = p0|0; _emscripten_glBindVertexArray(p0|0); +} +function _emscripten_glMatrixMode__wrapper(p0) { + p0 = p0|0; _emscripten_glMatrixMode(p0|0); +} +function _emscripten_glLoadMatrixf__wrapper(p0) { + p0 = p0|0; _emscripten_glLoadMatrixf(p0|0); +} +function _emscripten_glEnableVertexAttribArray__wrapper(p0) { + p0 = p0|0; _emscripten_glEnableVertexAttribArray(p0|0); +} +function _emscripten_glDisableVertexAttribArray__wrapper(p0) { + p0 = p0|0; _emscripten_glDisableVertexAttribArray(p0|0); +} +function _emscripten_glDepthFunc__wrapper(p0) { + p0 = p0|0; _emscripten_glDepthFunc(p0|0); +} +function _emscripten_glEnable__wrapper(p0) { + p0 = p0|0; _emscripten_glEnable(p0|0); +} +function _emscripten_glDisable__wrapper(p0) { + p0 = p0|0; _emscripten_glDisable(p0|0); +} +function _emscripten_glFrontFace__wrapper(p0) { + p0 = p0|0; _emscripten_glFrontFace(p0|0); +} +function _emscripten_glCullFace__wrapper(p0) { + p0 = p0|0; _emscripten_glCullFace(p0|0); +} +function _emscripten_glClear__wrapper(p0) { + p0 = p0|0; _emscripten_glClear(p0|0); +} +function _emscripten_glClearStencil__wrapper(p0) { + p0 = p0|0; _emscripten_glClearStencil(p0|0); +} +function _emscripten_glDepthMask__wrapper(p0) { + p0 = p0|0; _emscripten_glDepthMask(p0|0); +} +function _emscripten_glStencilMask__wrapper(p0) { + p0 = p0|0; _emscripten_glStencilMask(p0|0); +} +function _emscripten_glGenerateMipmap__wrapper(p0) { + p0 = p0|0; _emscripten_glGenerateMipmap(p0|0); +} +function _emscripten_glActiveTexture__wrapper(p0) { + p0 = p0|0; _emscripten_glActiveTexture(p0|0); +} +function _emscripten_glBlendEquation__wrapper(p0) { + p0 = p0|0; _emscripten_glBlendEquation(p0|0); +} +function b4(p0,p1) { + p0 = p0|0;p1 = p1|0; nullFunc_vii(4); +} +function _emscripten_glPixelStorei__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glPixelStorei(p0|0,p1|0); +} +function _emscripten_glGetIntegerv__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGetIntegerv(p0|0,p1|0); +} +function _emscripten_glGetFloatv__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGetFloatv(p0|0,p1|0); +} +function _emscripten_glGetBooleanv__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGetBooleanv(p0|0,p1|0); +} +function _emscripten_glGenTextures__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGenTextures(p0|0,p1|0); +} +function _emscripten_glDeleteTextures__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glDeleteTextures(p0|0,p1|0); +} +function _emscripten_glBindTexture__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glBindTexture(p0|0,p1|0); +} +function _emscripten_glGenBuffers__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGenBuffers(p0|0,p1|0); +} +function _emscripten_glDeleteBuffers__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glDeleteBuffers(p0|0,p1|0); +} +function _emscripten_glGenRenderbuffers__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGenRenderbuffers(p0|0,p1|0); +} +function _emscripten_glDeleteRenderbuffers__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glDeleteRenderbuffers(p0|0,p1|0); +} +function _emscripten_glBindRenderbuffer__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glBindRenderbuffer(p0|0,p1|0); +} +function _emscripten_glUniform1i__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glUniform1i(p0|0,p1|0); +} +function _emscripten_glBindBuffer__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glBindBuffer(p0|0,p1|0); +} +function _emscripten_glVertexAttrib1fv__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glVertexAttrib1fv(p0|0,p1|0); +} +function _emscripten_glVertexAttrib2fv__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glVertexAttrib2fv(p0|0,p1|0); +} +function _emscripten_glVertexAttrib3fv__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glVertexAttrib3fv(p0|0,p1|0); +} +function _emscripten_glVertexAttrib4fv__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glVertexAttrib4fv(p0|0,p1|0); +} +function _emscripten_glAttachShader__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glAttachShader(p0|0,p1|0); +} +function _emscripten_glDetachShader__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glDetachShader(p0|0,p1|0); +} +function _emscripten_glBindFramebuffer__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glBindFramebuffer(p0|0,p1|0); +} +function _emscripten_glGenFramebuffers__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGenFramebuffers(p0|0,p1|0); +} +function _emscripten_glDeleteFramebuffers__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glDeleteFramebuffers(p0|0,p1|0); +} +function _emscripten_glBindProgramARB__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glBindProgramARB(p0|0,p1|0); +} +function _emscripten_glGetPointerv__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGetPointerv(p0|0,p1|0); +} +function _emscripten_glGenVertexArrays__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGenVertexArrays(p0|0,p1|0); +} +function _emscripten_glDeleteVertexArrays__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glDeleteVertexArrays(p0|0,p1|0); +} +function _emscripten_glVertexAttribDivisor__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glVertexAttribDivisor(p0|0,p1|0); +} +function _emscripten_glBlendFunc__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glBlendFunc(p0|0,p1|0); +} +function _emscripten_glBlendEquationSeparate__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glBlendEquationSeparate(p0|0,p1|0); +} +function _emscripten_glStencilMaskSeparate__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glStencilMaskSeparate(p0|0,p1|0); +} +function _emscripten_glHint__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glHint(p0|0,p1|0); +} +function _emscripten_glDrawBuffers__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glDrawBuffers(p0|0,p1|0); +} +function b5(p0) { + p0 = p0|0; nullFunc_ii(5);return 0; +} +function _emscripten_glGetString__wrapper(p0) { + p0 = p0|0; return _emscripten_glGetString(p0|0)|0; +} +function _emscripten_glIsTexture__wrapper(p0) { + p0 = p0|0; return _emscripten_glIsTexture(p0|0)|0; +} +function _emscripten_glIsBuffer__wrapper(p0) { + p0 = p0|0; return _emscripten_glIsBuffer(p0|0)|0; +} +function _emscripten_glIsRenderbuffer__wrapper(p0) { + p0 = p0|0; return _emscripten_glIsRenderbuffer(p0|0)|0; +} +function _emscripten_glCreateShader__wrapper(p0) { + p0 = p0|0; return _emscripten_glCreateShader(p0|0)|0; +} +function _emscripten_glIsShader__wrapper(p0) { + p0 = p0|0; return _emscripten_glIsShader(p0|0)|0; +} +function _emscripten_glIsProgram__wrapper(p0) { + p0 = p0|0; return _emscripten_glIsProgram(p0|0)|0; +} +function _emscripten_glIsFramebuffer__wrapper(p0) { + p0 = p0|0; return _emscripten_glIsFramebuffer(p0|0)|0; +} +function _emscripten_glCheckFramebufferStatus__wrapper(p0) { + p0 = p0|0; return _emscripten_glCheckFramebufferStatus(p0|0)|0; +} +function _emscripten_glIsEnabled__wrapper(p0) { + p0 = p0|0; return _emscripten_glIsEnabled(p0|0)|0; +} +function b6(p0,p1,p2,p3) { + p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3; nullFunc_viddd(6); +} +function _emscripten_glUniform3f__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glUniform3f(p0|0,+p1,+p2,+p3); +} +function _emscripten_glVertexAttrib3f__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glVertexAttrib3f(p0|0,+p1,+p2,+p3); +} +function b7(p0,p1,p2) { + p0 = p0|0;p1 = +p1;p2 = +p2; nullFunc_vidd(7); +} +function _emscripten_glUniform2f__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = +p1;p2 = +p2; _emscripten_glUniform2f(p0|0,+p1,+p2); +} +function _emscripten_glVertexAttrib2f__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = +p1;p2 = +p2; _emscripten_glVertexAttrib2f(p0|0,+p1,+p2); +} +function b8(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; nullFunc_iiii(8);return 0; +} +function b9(p0,p1,p2,p3,p4,p5,p6,p7) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0; nullFunc_viiiiiiii(9); +} +function _emscripten_glCompressedTexImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0; _emscripten_glCompressedTexImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0); +} +function _emscripten_glCopyTexImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0; _emscripten_glCopyTexImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0); +} +function _emscripten_glCopyTexSubImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0; _emscripten_glCopyTexSubImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0); +} +function b10(p0,p1,p2,p3,p4,p5) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0; nullFunc_viiiiii(10); +} +function _emscripten_glDrawRangeElements__wrapper(p0,p1,p2,p3,p4,p5) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0; _emscripten_glDrawRangeElements(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0); +} +function _emscripten_glVertexAttribPointer__wrapper(p0,p1,p2,p3,p4,p5) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0; _emscripten_glVertexAttribPointer(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0); +} +function b11(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; nullFunc_viii(11); +} +function _emscripten_glGetTexParameterfv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetTexParameterfv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetTexParameteriv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetTexParameteriv(p0|0,p1|0,p2|0); +} +function _emscripten_glTexParameterfv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glTexParameterfv(p0|0,p1|0,p2|0); +} +function _emscripten_glTexParameteriv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glTexParameteriv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetBufferParameteriv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetBufferParameteriv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetRenderbufferParameteriv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetRenderbufferParameteriv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetUniformfv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetUniformfv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetUniformiv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetUniformiv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetVertexAttribfv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetVertexAttribfv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetVertexAttribiv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetVertexAttribiv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetVertexAttribPointerv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetVertexAttribPointerv(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform2i__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform2i(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform1iv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform1iv(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform2iv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform2iv(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform3iv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform3iv(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform4iv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform4iv(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform1fv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform1fv(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform2fv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform2fv(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform3fv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform3fv(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform4fv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform4fv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetShaderiv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetShaderiv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetProgramiv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetProgramiv(p0|0,p1|0,p2|0); +} +function _emscripten_glBindAttribLocation__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glBindAttribLocation(p0|0,p1|0,p2|0); +} +function _emscripten_glGetObjectParameterivARB__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetObjectParameterivARB(p0|0,p1|0,p2|0); +} +function _emscripten_glNormalPointer__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glNormalPointer(p0|0,p1|0,p2|0); +} +function _emscripten_glDrawArrays__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glDrawArrays(p0|0,p1|0,p2|0); +} +function _emscripten_glTexParameteri__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glTexParameteri(p0|0,p1|0,p2|0); +} +function _emscripten_glStencilFunc__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glStencilFunc(p0|0,p1|0,p2|0); +} +function _emscripten_glStencilOp__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glStencilOp(p0|0,p1|0,p2|0); +} +function b12(p0,p1,p2,p3,p4) { + p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4; nullFunc_vidddd(12); +} +function _emscripten_glUniform4f__wrapper(p0,p1,p2,p3,p4) { + p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4; _emscripten_glUniform4f(p0|0,+p1,+p2,+p3,+p4); +} +function _emscripten_glVertexAttrib4f__wrapper(p0,p1,p2,p3,p4) { + p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4; _emscripten_glVertexAttrib4f(p0|0,+p1,+p2,+p3,+p4); +} +function b13(p0,p1) { + p0 = +p0;p1 = p1|0; nullFunc_vdi(13); +} +function _emscripten_glSampleCoverage__wrapper(p0,p1) { + p0 = +p0;p1 = p1|0; _emscripten_glSampleCoverage(+p0,p1|0); +} +function b14(p0,p1,p2,p3,p4,p5,p6) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0; nullFunc_viiiiiii(14); +} +function _emscripten_glReadPixels__wrapper(p0,p1,p2,p3,p4,p5,p6) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0; _emscripten_glReadPixels(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0); +} +function _emscripten_glGetActiveUniform__wrapper(p0,p1,p2,p3,p4,p5,p6) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0; _emscripten_glGetActiveUniform(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0); +} +function _emscripten_glGetActiveAttrib__wrapper(p0,p1,p2,p3,p4,p5,p6) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0; _emscripten_glGetActiveAttrib(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0); +} +function b15(p0,p1,p2,p3,p4,p5,p6,p7,p8) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0;p8 = p8|0; nullFunc_viiiiiiiii(15); +} +function _emscripten_glCompressedTexSubImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7,p8) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0;p8 = p8|0; _emscripten_glCompressedTexSubImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0,p8|0); +} +function _emscripten_glTexImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7,p8) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0;p8 = p8|0; _emscripten_glTexImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0,p8|0); +} +function _emscripten_glTexSubImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7,p8) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0;p8 = p8|0; _emscripten_glTexSubImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0,p8|0); +} +function b16(p0,p1) { + p0 = p0|0;p1 = p1|0; nullFunc_iii(16);return 0; +} +function _emscripten_glGetUniformLocation__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; return _emscripten_glGetUniformLocation(p0|0,p1|0)|0; +} +function _emscripten_glGetAttribLocation__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; return _emscripten_glGetAttribLocation(p0|0,p1|0)|0; +} +function b17() { + ; nullFunc_i(17);return 0; +} +function _emscripten_glCreateProgram__wrapper() { + ; return _emscripten_glCreateProgram()|0; +} +function _emscripten_glGetError__wrapper() { + ; return _emscripten_glGetError()|0; +} +function b18(p0,p1,p2,p3,p4,p5) { + p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4;p5 = +p5; nullFunc_vdddddd(18); +} +function _emscripten_glFrustum__wrapper(p0,p1,p2,p3,p4,p5) { + p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4;p5 = +p5; _emscripten_glFrustum(+p0,+p1,+p2,+p3,+p4,+p5); +} +function b19(p0,p1,p2,p3) { + p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3; nullFunc_vdddd(19); +} +function _emscripten_glRotatef__wrapper(p0,p1,p2,p3) { + p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glRotatef(+p0,+p1,+p2,+p3); +} +function _emscripten_glClearColor__wrapper(p0,p1,p2,p3) { + p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glClearColor(+p0,+p1,+p2,+p3); +} +function _emscripten_glBlendColor__wrapper(p0,p1,p2,p3) { + p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glBlendColor(+p0,+p1,+p2,+p3); +} +function b20(p0,p1) { + p0 = +p0;p1 = +p1; nullFunc_vdd(20); +} +function _emscripten_glDepthRange__wrapper(p0,p1) { + p0 = +p0;p1 = +p1; _emscripten_glDepthRange(+p0,+p1); +} +function _emscripten_glDepthRangef__wrapper(p0,p1) { + p0 = +p0;p1 = +p1; _emscripten_glDepthRangef(+p0,+p1); +} +function _emscripten_glPolygonOffset__wrapper(p0,p1) { + p0 = +p0;p1 = +p1; _emscripten_glPolygonOffset(+p0,+p1); +} +function b21() { + ; nullFunc_v(21); +} +function _emscripten_glLoadIdentity__wrapper() { + ; _emscripten_glLoadIdentity(); +} +function _emscripten_glReleaseShaderCompiler__wrapper() { + ; _emscripten_glReleaseShaderCompiler(); +} +function _emscripten_glFinish__wrapper() { + ; _emscripten_glFinish(); +} +function _emscripten_glFlush__wrapper() { + ; _emscripten_glFlush(); +} +function b22(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = +p2; nullFunc_viid(22); +} +function _emscripten_glTexParameterf__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = +p2; _emscripten_glTexParameterf(p0|0,p1|0,+p2); +} +function b23(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; nullFunc_viiii(23); +} +function _emscripten_glBufferData__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glBufferData(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glBufferSubData__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glBufferSubData(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glUniform3i__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glUniform3i(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glUniformMatrix2fv__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glUniformMatrix2fv(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glUniformMatrix3fv__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glUniformMatrix3fv(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glUniformMatrix4fv__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glUniformMatrix4fv(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glGetAttachedShaders__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetAttachedShaders(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glShaderSource__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glShaderSource(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glGetShaderSource__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetShaderSource(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glGetShaderInfoLog__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetShaderInfoLog(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glGetShaderPrecisionFormat__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetShaderPrecisionFormat(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glGetProgramInfoLog__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetProgramInfoLog(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glFramebufferRenderbuffer__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glFramebufferRenderbuffer(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glGetFramebufferAttachmentParameteriv__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetFramebufferAttachmentParameteriv(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glGetInfoLogARB__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetInfoLogARB(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glVertexPointer__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glVertexPointer(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glTexCoordPointer__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glTexCoordPointer(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glColorPointer__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glColorPointer(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glDrawElements__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glDrawElements(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glDrawArraysInstanced__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glDrawArraysInstanced(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glViewport__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glViewport(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glScissor__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glScissor(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glColorMask__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glColorMask(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glRenderbufferStorage__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glRenderbufferStorage(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glBlendFuncSeparate__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glBlendFuncSeparate(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glStencilFuncSeparate__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glStencilFuncSeparate(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glStencilOpSeparate__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glStencilOpSeparate(p0|0,p1|0,p2|0,p3|0); +} + // EMSCRIPTEN_END_FUNCS -var Oc=[Pi,Ge];var Pc=[Qi,Ce,Fe,Ie,Ke,Qi,Qi,Qi];var Qc=[Ri,Je];var Rc=[Si,hi];var Sc=[Ti,Ee];var Tc=[Ui,dd];var Uc=[Vi,kh,th,Vi];var Vc=[Wi,He];return{_i64Subtract:ri,_free:Wh,_main:cd,_i64Add:si,_memmove:pi,_memset:qi,_malloc:Vh,_strncpy:ti,_memcpy:oi,_strlen:vi,_bitshift64Lshr:ui,_bitshift64Shl:wi,runPostSets:ni,stackAlloc:Wc,stackSave:Xc,stackRestore:Yc,setThrew:Zc,setTempRet0:ad,getTempRet0:bd,dynCall_viiiii:Hi,dynCall_vii:Ii,dynCall_vidd:Ji,dynCall_iiii:Ki,dynCall_viii:Li,dynCall_v:Mi,dynCall_iii:Ni,dynCall_viiii:Oi}}) - +var FUNCTION_TABLE_viiiii = [b0,_KeyCallback,_emscripten_glUniform4i__wrapper,_emscripten_glFramebufferTexture2D__wrapper,_emscripten_glShaderBinary__wrapper,_emscripten_glDrawElementsInstanced__wrapper,b0,b0]; +var FUNCTION_TABLE_vd = [b1,_emscripten_glClearDepth__wrapper,_emscripten_glClearDepthf__wrapper,_emscripten_glLineWidth__wrapper]; +var FUNCTION_TABLE_vid = [b2,_emscripten_glUniform1f__wrapper,_emscripten_glVertexAttrib1f__wrapper,b2]; +var FUNCTION_TABLE_vi = [b3,_emscripten_glDeleteShader__wrapper,_emscripten_glCompileShader__wrapper,_emscripten_glDeleteProgram__wrapper,_emscripten_glLinkProgram__wrapper,_emscripten_glUseProgram__wrapper,_emscripten_glValidateProgram__wrapper,_emscripten_glDeleteObjectARB__wrapper,_emscripten_glEnableClientState__wrapper,_emscripten_glClientActiveTexture__wrapper,_emscripten_glBindVertexArray__wrapper,_emscripten_glMatrixMode__wrapper,_emscripten_glLoadMatrixf__wrapper,_emscripten_glEnableVertexAttribArray__wrapper,_emscripten_glDisableVertexAttribArray__wrapper,_emscripten_glDepthFunc__wrapper,_emscripten_glEnable__wrapper,_emscripten_glDisable__wrapper,_emscripten_glFrontFace__wrapper,_emscripten_glCullFace__wrapper,_emscripten_glClear__wrapper,_emscripten_glClearStencil__wrapper,_emscripten_glDepthMask__wrapper,_emscripten_glStencilMask__wrapper,_emscripten_glGenerateMipmap__wrapper,_emscripten_glActiveTexture__wrapper,_emscripten_glBlendEquation__wrapper,b3,b3 +,b3,b3,b3]; +var FUNCTION_TABLE_vii = [b4,_ErrorCallback,_CursorEnterCallback,_CharCallback,_WindowIconifyCallback,_emscripten_glPixelStorei__wrapper,_emscripten_glGetIntegerv__wrapper,_emscripten_glGetFloatv__wrapper,_emscripten_glGetBooleanv__wrapper,_emscripten_glGenTextures__wrapper,_emscripten_glDeleteTextures__wrapper,_emscripten_glBindTexture__wrapper,_emscripten_glGenBuffers__wrapper,_emscripten_glDeleteBuffers__wrapper,_emscripten_glGenRenderbuffers__wrapper,_emscripten_glDeleteRenderbuffers__wrapper,_emscripten_glBindRenderbuffer__wrapper,_emscripten_glUniform1i__wrapper,_emscripten_glBindBuffer__wrapper,_emscripten_glVertexAttrib1fv__wrapper,_emscripten_glVertexAttrib2fv__wrapper,_emscripten_glVertexAttrib3fv__wrapper,_emscripten_glVertexAttrib4fv__wrapper,_emscripten_glAttachShader__wrapper,_emscripten_glDetachShader__wrapper,_emscripten_glBindFramebuffer__wrapper,_emscripten_glGenFramebuffers__wrapper,_emscripten_glDeleteFramebuffers__wrapper,_emscripten_glBindProgramARB__wrapper,_emscripten_glGetPointerv__wrapper,_emscripten_glGenVertexArrays__wrapper,_emscripten_glDeleteVertexArrays__wrapper,_emscripten_glVertexAttribDivisor__wrapper,_emscripten_glBlendFunc__wrapper,_emscripten_glBlendEquationSeparate__wrapper,_emscripten_glStencilMaskSeparate__wrapper,_emscripten_glHint__wrapper,_emscripten_glDrawBuffers__wrapper,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4 +,b4,b4,b4,b4,b4]; +var FUNCTION_TABLE_ii = [b5,___stdio_close,_emscripten_glGetString__wrapper,_emscripten_glIsTexture__wrapper,_emscripten_glIsBuffer__wrapper,_emscripten_glIsRenderbuffer__wrapper,_emscripten_glCreateShader__wrapper,_emscripten_glIsShader__wrapper,_emscripten_glIsProgram__wrapper,_emscripten_glIsFramebuffer__wrapper,_emscripten_glCheckFramebufferStatus__wrapper,_emscripten_glIsEnabled__wrapper,b5,b5,b5,b5]; +var FUNCTION_TABLE_viddd = [b6,_emscripten_glUniform3f__wrapper,_emscripten_glVertexAttrib3f__wrapper,b6]; +var FUNCTION_TABLE_vidd = [b7,_MouseCursorPosCallback,_ScrollCallback,_emscripten_glUniform2f__wrapper,_emscripten_glVertexAttrib2f__wrapper,b7,b7,b7]; +var FUNCTION_TABLE_iiii = [b8,___stdio_write,___stdio_seek,___stdout_write,_sn_write,_EmscriptenFullscreenChangeCallback,_EmscriptenKeyboardCallback,_EmscriptenMouseCallback,_EmscriptenTouchCallback,_EmscriptenGamepadCallback,___stdio_read,b8,b8,b8,b8,b8]; +var FUNCTION_TABLE_viiiiiiii = [b9,_emscripten_glCompressedTexImage2D__wrapper,_emscripten_glCopyTexImage2D__wrapper,_emscripten_glCopyTexSubImage2D__wrapper]; +var FUNCTION_TABLE_viiiiii = [b10,_emscripten_glDrawRangeElements__wrapper,_emscripten_glVertexAttribPointer__wrapper,b10]; +var FUNCTION_TABLE_viii = [b11,_WindowSizeCallback,_emscripten_glGetTexParameterfv__wrapper,_emscripten_glGetTexParameteriv__wrapper,_emscripten_glTexParameterfv__wrapper,_emscripten_glTexParameteriv__wrapper,_emscripten_glGetBufferParameteriv__wrapper,_emscripten_glGetRenderbufferParameteriv__wrapper,_emscripten_glGetUniformfv__wrapper,_emscripten_glGetUniformiv__wrapper,_emscripten_glGetVertexAttribfv__wrapper,_emscripten_glGetVertexAttribiv__wrapper,_emscripten_glGetVertexAttribPointerv__wrapper,_emscripten_glUniform2i__wrapper,_emscripten_glUniform1iv__wrapper,_emscripten_glUniform2iv__wrapper,_emscripten_glUniform3iv__wrapper,_emscripten_glUniform4iv__wrapper,_emscripten_glUniform1fv__wrapper,_emscripten_glUniform2fv__wrapper,_emscripten_glUniform3fv__wrapper,_emscripten_glUniform4fv__wrapper,_emscripten_glGetShaderiv__wrapper,_emscripten_glGetProgramiv__wrapper,_emscripten_glBindAttribLocation__wrapper,_emscripten_glGetObjectParameterivARB__wrapper,_emscripten_glNormalPointer__wrapper,_emscripten_glDrawArrays__wrapper,_emscripten_glTexParameteri__wrapper,_emscripten_glStencilFunc__wrapper,_emscripten_glStencilOp__wrapper,b11]; +var FUNCTION_TABLE_vidddd = [b12,_emscripten_glUniform4f__wrapper,_emscripten_glVertexAttrib4f__wrapper,b12]; +var FUNCTION_TABLE_vdi = [b13,_emscripten_glSampleCoverage__wrapper]; +var FUNCTION_TABLE_viiiiiii = [b14,_emscripten_glReadPixels__wrapper,_emscripten_glGetActiveUniform__wrapper,_emscripten_glGetActiveAttrib__wrapper]; +var FUNCTION_TABLE_viiiiiiiii = [b15,_emscripten_glCompressedTexSubImage2D__wrapper,_emscripten_glTexImage2D__wrapper,_emscripten_glTexSubImage2D__wrapper]; +var FUNCTION_TABLE_iii = [b16,_point_compare,_uint32_compare,_emscripten_glGetUniformLocation__wrapper,_emscripten_glGetAttribLocation__wrapper,b16,b16,b16]; +var FUNCTION_TABLE_i = [b17,_emscripten_glCreateProgram__wrapper,_emscripten_glGetError__wrapper,b17]; +var FUNCTION_TABLE_vdddddd = [b18,_emscripten_glFrustum__wrapper]; +var FUNCTION_TABLE_vdddd = [b19,_emscripten_glRotatef__wrapper,_emscripten_glClearColor__wrapper,_emscripten_glBlendColor__wrapper]; +var FUNCTION_TABLE_vdd = [b20,_emscripten_glDepthRange__wrapper,_emscripten_glDepthRangef__wrapper,_emscripten_glPolygonOffset__wrapper]; +var FUNCTION_TABLE_v = [b21,_UpdateDrawFrame,_emscripten_glLoadIdentity__wrapper,_emscripten_glReleaseShaderCompiler__wrapper,_emscripten_glFinish__wrapper,_emscripten_glFlush__wrapper,b21,b21]; +var FUNCTION_TABLE_viid = [b22,_emscripten_glTexParameterf__wrapper]; +var FUNCTION_TABLE_viiii = [b23,_MouseButtonCallback,_emscripten_glBufferData__wrapper,_emscripten_glBufferSubData__wrapper,_emscripten_glUniform3i__wrapper,_emscripten_glUniformMatrix2fv__wrapper,_emscripten_glUniformMatrix3fv__wrapper,_emscripten_glUniformMatrix4fv__wrapper,_emscripten_glGetAttachedShaders__wrapper,_emscripten_glShaderSource__wrapper,_emscripten_glGetShaderSource__wrapper,_emscripten_glGetShaderInfoLog__wrapper,_emscripten_glGetShaderPrecisionFormat__wrapper,_emscripten_glGetProgramInfoLog__wrapper,_emscripten_glFramebufferRenderbuffer__wrapper,_emscripten_glGetFramebufferAttachmentParameteriv__wrapper,_emscripten_glGetInfoLogARB__wrapper,_emscripten_glVertexPointer__wrapper,_emscripten_glTexCoordPointer__wrapper,_emscripten_glColorPointer__wrapper,_emscripten_glDrawElements__wrapper,_emscripten_glDrawArraysInstanced__wrapper,_emscripten_glViewport__wrapper,_emscripten_glScissor__wrapper,_emscripten_glColorMask__wrapper,_emscripten_glRenderbufferStorage__wrapper,_emscripten_glBlendFuncSeparate__wrapper,_emscripten_glStencilFuncSeparate__wrapper,_emscripten_glStencilOpSeparate__wrapper,b23,b23,b23]; + return { _roundf: _roundf, _main: _main, _llvm_cttz_i32: _llvm_cttz_i32, _bitshift64Lshr: _bitshift64Lshr, _bitshift64Shl: _bitshift64Shl, _fflush: _fflush, _memset: _memset, _sbrk: _sbrk, _memcpy: _memcpy, _llvm_bswap_i32: _llvm_bswap_i32, ___muldi3: ___muldi3, ___uremdi3: ___uremdi3, _i64Subtract: _i64Subtract, ___udivmoddi4: ___udivmoddi4, _i64Add: _i64Add, _emscripten_get_global_libc: _emscripten_get_global_libc, _emscripten_GetProcAddress: _emscripten_GetProcAddress, ___udivdi3: ___udivdi3, ___errno_location: ___errno_location, ___muldsi3: ___muldsi3, _free: _free, _memmove: _memmove, _strstr: _strstr, _malloc: _malloc, runPostSets: runPostSets, stackAlloc: stackAlloc, stackSave: stackSave, stackRestore: stackRestore, establishStackSpace: establishStackSpace, setTempRet0: setTempRet0, getTempRet0: getTempRet0, setThrew: setThrew, stackAlloc: stackAlloc, stackSave: stackSave, stackRestore: stackRestore, establishStackSpace: establishStackSpace, setThrew: setThrew, setTempRet0: setTempRet0, getTempRet0: getTempRet0, dynCall_viiiii: dynCall_viiiii, dynCall_vd: dynCall_vd, dynCall_vid: dynCall_vid, dynCall_vi: dynCall_vi, dynCall_vii: dynCall_vii, dynCall_ii: dynCall_ii, dynCall_viddd: dynCall_viddd, dynCall_vidd: dynCall_vidd, dynCall_iiii: dynCall_iiii, dynCall_viiiiiiii: dynCall_viiiiiiii, dynCall_viiiiii: dynCall_viiiiii, dynCall_viii: dynCall_viii, dynCall_vidddd: dynCall_vidddd, dynCall_vdi: dynCall_vdi, dynCall_viiiiiii: dynCall_viiiiiii, dynCall_viiiiiiiii: dynCall_viiiiiiiii, dynCall_iii: dynCall_iii, dynCall_i: dynCall_i, dynCall_vdddddd: dynCall_vdddddd, dynCall_vdddd: dynCall_vdddd, dynCall_vdd: dynCall_vdd, dynCall_v: dynCall_v, dynCall_viid: dynCall_viid, dynCall_viiii: dynCall_viiii }; +}) // EMSCRIPTEN_END_ASM -(Module.asmGlobalArg,Module.asmLibraryArg,buffer);var _i64Subtract=Module["_i64Subtract"]=asm["_i64Subtract"];var _free=Module["_free"]=asm["_free"];var _main=Module["_main"]=asm["_main"];var _i64Add=Module["_i64Add"]=asm["_i64Add"];var _memmove=Module["_memmove"]=asm["_memmove"];var _memset=Module["_memset"]=asm["_memset"];var _malloc=Module["_malloc"]=asm["_malloc"];var _strncpy=Module["_strncpy"]=asm["_strncpy"];var _memcpy=Module["_memcpy"]=asm["_memcpy"];var _strlen=Module["_strlen"]=asm["_strlen"];var _bitshift64Lshr=Module["_bitshift64Lshr"]=asm["_bitshift64Lshr"];var _bitshift64Shl=Module["_bitshift64Shl"]=asm["_bitshift64Shl"];var runPostSets=Module["runPostSets"]=asm["runPostSets"];var dynCall_viiiii=Module["dynCall_viiiii"]=asm["dynCall_viiiii"];var dynCall_vii=Module["dynCall_vii"]=asm["dynCall_vii"];var dynCall_vidd=Module["dynCall_vidd"]=asm["dynCall_vidd"];var dynCall_iiii=Module["dynCall_iiii"]=asm["dynCall_iiii"];var dynCall_viii=Module["dynCall_viii"]=asm["dynCall_viii"];var dynCall_v=Module["dynCall_v"]=asm["dynCall_v"];var dynCall_iii=Module["dynCall_iii"]=asm["dynCall_iii"];var dynCall_viiii=Module["dynCall_viiii"]=asm["dynCall_viiii"];Runtime.stackAlloc=asm["stackAlloc"];Runtime.stackSave=asm["stackSave"];Runtime.stackRestore=asm["stackRestore"];Runtime.setTempRet0=asm["setTempRet0"];Runtime.getTempRet0=asm["getTempRet0"];var i64Math=(function(){var goog={math:{}};goog.math.Long=(function(low,high){this.low_=low|0;this.high_=high|0});goog.math.Long.IntCache_={};goog.math.Long.fromInt=(function(value){if(-128<=value&&value<128){var cachedObj=goog.math.Long.IntCache_[value];if(cachedObj){return cachedObj}}var obj=new goog.math.Long(value|0,value<0?-1:0);if(-128<=value&&value<128){goog.math.Long.IntCache_[value]=obj}return obj});goog.math.Long.fromNumber=(function(value){if(isNaN(value)||!isFinite(value)){return goog.math.Long.ZERO}else if(value<=-goog.math.Long.TWO_PWR_63_DBL_){return goog.math.Long.MIN_VALUE}else if(value+1>=goog.math.Long.TWO_PWR_63_DBL_){return goog.math.Long.MAX_VALUE}else if(value<0){return goog.math.Long.fromNumber(-value).negate()}else{return new goog.math.Long(value%goog.math.Long.TWO_PWR_32_DBL_|0,value/goog.math.Long.TWO_PWR_32_DBL_|0)}});goog.math.Long.fromBits=(function(lowBits,highBits){return new goog.math.Long(lowBits,highBits)});goog.math.Long.fromString=(function(str,opt_radix){if(str.length==0){throw Error("number format error: empty string")}var radix=opt_radix||10;if(radix<2||36=0){throw Error('number format error: interior "-" character: '+str)}var radixToPower=goog.math.Long.fromNumber(Math.pow(radix,8));var result=goog.math.Long.ZERO;for(var i=0;i=0?this.low_:goog.math.Long.TWO_PWR_32_DBL_+this.low_});goog.math.Long.prototype.getNumBitsAbs=(function(){if(this.isNegative()){if(this.equals(goog.math.Long.MIN_VALUE)){return 64}else{return this.negate().getNumBitsAbs()}}else{var val=this.high_!=0?this.high_:this.low_;for(var bit=31;bit>0;bit--){if((val&1<0});goog.math.Long.prototype.greaterThanOrEqual=(function(other){return this.compare(other)>=0});goog.math.Long.prototype.compare=(function(other){if(this.equals(other)){return 0}var thisNeg=this.isNegative();var otherNeg=other.isNegative();if(thisNeg&&!otherNeg){return-1}if(!thisNeg&&otherNeg){return 1}if(this.subtract(other).isNegative()){return-1}else{return 1}});goog.math.Long.prototype.negate=(function(){if(this.equals(goog.math.Long.MIN_VALUE)){return goog.math.Long.MIN_VALUE}else{return this.not().add(goog.math.Long.ONE)}});goog.math.Long.prototype.add=(function(other){var a48=this.high_>>>16;var a32=this.high_&65535;var a16=this.low_>>>16;var a00=this.low_&65535;var b48=other.high_>>>16;var b32=other.high_&65535;var b16=other.low_>>>16;var b00=other.low_&65535;var c48=0,c32=0,c16=0,c00=0;c00+=a00+b00;c16+=c00>>>16;c00&=65535;c16+=a16+b16;c32+=c16>>>16;c16&=65535;c32+=a32+b32;c48+=c32>>>16;c32&=65535;c48+=a48+b48;c48&=65535;return goog.math.Long.fromBits(c16<<16|c00,c48<<16|c32)});goog.math.Long.prototype.subtract=(function(other){return this.add(other.negate())});goog.math.Long.prototype.multiply=(function(other){if(this.isZero()){return goog.math.Long.ZERO}else if(other.isZero()){return goog.math.Long.ZERO}if(this.equals(goog.math.Long.MIN_VALUE)){return other.isOdd()?goog.math.Long.MIN_VALUE:goog.math.Long.ZERO}else if(other.equals(goog.math.Long.MIN_VALUE)){return this.isOdd()?goog.math.Long.MIN_VALUE:goog.math.Long.ZERO}if(this.isNegative()){if(other.isNegative()){return this.negate().multiply(other.negate())}else{return this.negate().multiply(other).negate()}}else if(other.isNegative()){return this.multiply(other.negate()).negate()}if(this.lessThan(goog.math.Long.TWO_PWR_24_)&&other.lessThan(goog.math.Long.TWO_PWR_24_)){return goog.math.Long.fromNumber(this.toNumber()*other.toNumber())}var a48=this.high_>>>16;var a32=this.high_&65535;var a16=this.low_>>>16;var a00=this.low_&65535;var b48=other.high_>>>16;var b32=other.high_&65535;var b16=other.low_>>>16;var b00=other.low_&65535;var c48=0,c32=0,c16=0,c00=0;c00+=a00*b00;c16+=c00>>>16;c00&=65535;c16+=a16*b00;c32+=c16>>>16;c16&=65535;c16+=a00*b16;c32+=c16>>>16;c16&=65535;c32+=a32*b00;c48+=c32>>>16;c32&=65535;c32+=a16*b16;c48+=c32>>>16;c32&=65535;c32+=a00*b32;c48+=c32>>>16;c32&=65535;c48+=a48*b00+a32*b16+a16*b32+a00*b48;c48&=65535;return goog.math.Long.fromBits(c16<<16|c00,c48<<16|c32)});goog.math.Long.prototype.div=(function(other){if(other.isZero()){throw Error("division by zero")}else if(this.isZero()){return goog.math.Long.ZERO}if(this.equals(goog.math.Long.MIN_VALUE)){if(other.equals(goog.math.Long.ONE)||other.equals(goog.math.Long.NEG_ONE)){return goog.math.Long.MIN_VALUE}else if(other.equals(goog.math.Long.MIN_VALUE)){return goog.math.Long.ONE}else{var halfThis=this.shiftRight(1);var approx=halfThis.div(other).shiftLeft(1);if(approx.equals(goog.math.Long.ZERO)){return other.isNegative()?goog.math.Long.ONE:goog.math.Long.NEG_ONE}else{var rem=this.subtract(other.multiply(approx));var result=approx.add(rem.div(other));return result}}}else if(other.equals(goog.math.Long.MIN_VALUE)){return goog.math.Long.ZERO}if(this.isNegative()){if(other.isNegative()){return this.negate().div(other.negate())}else{return this.negate().div(other).negate()}}else if(other.isNegative()){return this.div(other.negate()).negate()}var res=goog.math.Long.ZERO;var rem=this;while(rem.greaterThanOrEqual(other)){var approx=Math.max(1,Math.floor(rem.toNumber()/other.toNumber()));var log2=Math.ceil(Math.log(approx)/Math.LN2);var delta=log2<=48?1:Math.pow(2,log2-48);var approxRes=goog.math.Long.fromNumber(approx);var approxRem=approxRes.multiply(other);while(approxRem.isNegative()||approxRem.greaterThan(rem)){approx-=delta;approxRes=goog.math.Long.fromNumber(approx);approxRem=approxRes.multiply(other)}if(approxRes.isZero()){approxRes=goog.math.Long.ONE}res=res.add(approxRes);rem=rem.subtract(approxRem)}return res});goog.math.Long.prototype.modulo=(function(other){return this.subtract(this.div(other).multiply(other))});goog.math.Long.prototype.not=(function(){return goog.math.Long.fromBits(~this.low_,~this.high_)});goog.math.Long.prototype.and=(function(other){return goog.math.Long.fromBits(this.low_&other.low_,this.high_&other.high_)});goog.math.Long.prototype.or=(function(other){return goog.math.Long.fromBits(this.low_|other.low_,this.high_|other.high_)});goog.math.Long.prototype.xor=(function(other){return goog.math.Long.fromBits(this.low_^other.low_,this.high_^other.high_)});goog.math.Long.prototype.shiftLeft=(function(numBits){numBits&=63;if(numBits==0){return this}else{var low=this.low_;if(numBits<32){var high=this.high_;return goog.math.Long.fromBits(low<>>32-numBits)}else{return goog.math.Long.fromBits(0,low<>>numBits|high<<32-numBits,high>>numBits)}else{return goog.math.Long.fromBits(high>>numBits-32,high>=0?0:-1)}}});goog.math.Long.prototype.shiftRightUnsigned=(function(numBits){numBits&=63;if(numBits==0){return this}else{var high=this.high_;if(numBits<32){var low=this.low_;return goog.math.Long.fromBits(low>>>numBits|high<<32-numBits,high>>>numBits)}else if(numBits==32){return goog.math.Long.fromBits(high,0)}else{return goog.math.Long.fromBits(high>>>numBits-32,0)}}});var navigator={appName:"Modern Browser"};var dbits;var canary=0xdeadbeefcafe;var j_lm=(canary&16777215)==15715070;function BigInteger(a,b,c){if(a!=null)if("number"==typeof a)this.fromNumber(a,b,c);else if(b==null&&"string"!=typeof a)this.fromString(a,256);else this.fromString(a,b)}function nbi(){return new BigInteger(null)}function am1(i,x,w,j,c,n){while(--n>=0){var v=x*this[i++]+w[j]+c;c=Math.floor(v/67108864);w[j++]=v&67108863}return c}function am2(i,x,w,j,c,n){var xl=x&32767,xh=x>>15;while(--n>=0){var l=this[i]&32767;var h=this[i++]>>15;var m=xh*l+h*xl;l=xl*l+((m&32767)<<15)+w[j]+(c&1073741823);c=(l>>>30)+(m>>>15)+xh*h+(c>>>30);w[j++]=l&1073741823}return c}function am3(i,x,w,j,c,n){var xl=x&16383,xh=x>>14;while(--n>=0){var l=this[i]&16383;var h=this[i++]>>14;var m=xh*l+h*xl;l=xl*l+((m&16383)<<14)+w[j]+c;c=(l>>28)+(m>>14)+xh*h;w[j++]=l&268435455}return c}if(j_lm&&navigator.appName=="Microsoft Internet Explorer"){BigInteger.prototype.am=am2;dbits=30}else if(j_lm&&navigator.appName!="Netscape"){BigInteger.prototype.am=am1;dbits=26}else{BigInteger.prototype.am=am3;dbits=28}BigInteger.prototype.DB=dbits;BigInteger.prototype.DM=(1<=0;--i)r[i]=this[i];r.t=this.t;r.s=this.s}function bnpFromInt(x){this.t=1;this.s=x<0?-1:0;if(x>0)this[0]=x;else if(x<-1)this[0]=x+DV;else this.t=0}function nbv(i){var r=nbi();r.fromInt(i);return r}function bnpFromString(s,b){var k;if(b==16)k=4;else if(b==8)k=3;else if(b==256)k=8;else if(b==2)k=1;else if(b==32)k=5;else if(b==4)k=2;else{this.fromRadix(s,b);return}this.t=0;this.s=0;var i=s.length,mi=false,sh=0;while(--i>=0){var x=k==8?s[i]&255:intAt(s,i);if(x<0){if(s.charAt(i)=="-")mi=true;continue}mi=false;if(sh==0)this[this.t++]=x;else if(sh+k>this.DB){this[this.t-1]|=(x&(1<>this.DB-sh}else this[this.t-1]|=x<=this.DB)sh-=this.DB}if(k==8&&(s[0]&128)!=0){this.s=-1;if(sh>0)this[this.t-1]|=(1<0&&this[this.t-1]==c)--this.t}function bnToString(b){if(this.s<0)return"-"+this.negate().toString(b);var k;if(b==16)k=4;else if(b==8)k=3;else if(b==2)k=1;else if(b==32)k=5;else if(b==4)k=2;else return this.toRadix(b);var km=(1<0){if(p>p)>0){m=true;r=int2char(d)}while(i>=0){if(p>(p+=this.DB-k)}else{d=this[i]>>(p-=k)&km;if(p<=0){p+=this.DB;--i}}if(d>0)m=true;if(m)r+=int2char(d)}}return m?r:"0"}function bnNegate(){var r=nbi();BigInteger.ZERO.subTo(this,r);return r}function bnAbs(){return this.s<0?this.negate():this}function bnCompareTo(a){var r=this.s-a.s;if(r!=0)return r;var i=this.t;r=i-a.t;if(r!=0)return this.s<0?-r:r;while(--i>=0)if((r=this[i]-a[i])!=0)return r;return 0}function nbits(x){var r=1,t;if((t=x>>>16)!=0){x=t;r+=16}if((t=x>>8)!=0){x=t;r+=8}if((t=x>>4)!=0){x=t;r+=4}if((t=x>>2)!=0){x=t;r+=2}if((t=x>>1)!=0){x=t;r+=1}return r}function bnBitLength(){if(this.t<=0)return 0;return this.DB*(this.t-1)+nbits(this[this.t-1]^this.s&this.DM)}function bnpDLShiftTo(n,r){var i;for(i=this.t-1;i>=0;--i)r[i+n]=this[i];for(i=n-1;i>=0;--i)r[i]=0;r.t=this.t+n;r.s=this.s}function bnpDRShiftTo(n,r){for(var i=n;i=0;--i){r[i+ds+1]=this[i]>>cbs|c;c=(this[i]&bm)<=0;--i)r[i]=0;r[ds]=c;r.t=this.t+ds+1;r.s=this.s;r.clamp()}function bnpRShiftTo(n,r){r.s=this.s;var ds=Math.floor(n/this.DB);if(ds>=this.t){r.t=0;return}var bs=n%this.DB;var cbs=this.DB-bs;var bm=(1<>bs;for(var i=ds+1;i>bs}if(bs>0)r[this.t-ds-1]|=(this.s&bm)<>=this.DB}if(a.t>=this.DB}c+=this.s}else{c+=this.s;while(i>=this.DB}c-=a.s}r.s=c<0?-1:0;if(c<-1)r[i++]=this.DV+c;else if(c>0)r[i++]=c;r.t=i;r.clamp()}function bnpMultiplyTo(a,r){var x=this.abs(),y=a.abs();var i=x.t;r.t=i+y.t;while(--i>=0)r[i]=0;for(i=0;i=0)r[i]=0;for(i=0;i=x.DV){r[i+x.t]-=x.DV;r[i+x.t+1]=1}}if(r.t>0)r[r.t-1]+=x.am(i,x[i],r,2*i,0,1);r.s=0;r.clamp()}function bnpDivRemTo(m,q,r){var pm=m.abs();if(pm.t<=0)return;var pt=this.abs();if(pt.t0){pm.lShiftTo(nsh,y);pt.lShiftTo(nsh,r)}else{pm.copyTo(y);pt.copyTo(r)}var ys=y.t;var y0=y[ys-1];if(y0==0)return;var yt=y0*(1<1?y[ys-2]>>this.F2:0);var d1=this.FV/yt,d2=(1<=0){r[r.t++]=1;r.subTo(t,r)}BigInteger.ONE.dlShiftTo(ys,t);t.subTo(y,y);while(y.t=0){var qd=r[--i]==y0?this.DM:Math.floor(r[i]*d1+(r[i-1]+e)*d2);if((r[i]+=y.am(0,qd,r,j,0,ys))0)r.rShiftTo(nsh,r);if(ts<0)BigInteger.ZERO.subTo(r,r)}function bnMod(a){var r=nbi();this.abs().divRemTo(a,null,r);if(this.s<0&&r.compareTo(BigInteger.ZERO)>0)a.subTo(r,r);return r}function Classic(m){this.m=m}function cConvert(x){if(x.s<0||x.compareTo(this.m)>=0)return x.mod(this.m);else return x}function cRevert(x){return x}function cReduce(x){x.divRemTo(this.m,null,x)}function cMulTo(x,y,r){x.multiplyTo(y,r);this.reduce(r)}function cSqrTo(x,r){x.squareTo(r);this.reduce(r)}Classic.prototype.convert=cConvert;Classic.prototype.revert=cRevert;Classic.prototype.reduce=cReduce;Classic.prototype.mulTo=cMulTo;Classic.prototype.sqrTo=cSqrTo;function bnpInvDigit(){if(this.t<1)return 0;var x=this[0];if((x&1)==0)return 0;var y=x&3;y=y*(2-(x&15)*y)&15;y=y*(2-(x&255)*y)&255;y=y*(2-((x&65535)*y&65535))&65535;y=y*(2-x*y%this.DV)%this.DV;return y>0?this.DV-y:-y}function Montgomery(m){this.m=m;this.mp=m.invDigit();this.mpl=this.mp&32767;this.mph=this.mp>>15;this.um=(1<0)this.m.subTo(r,r);return r}function montRevert(x){var r=nbi();x.copyTo(r);this.reduce(r);return r}function montReduce(x){while(x.t<=this.mt2)x[x.t++]=0;for(var i=0;i>15)*this.mpl&this.um)<<15)&x.DM;j=i+this.m.t;x[j]+=this.m.am(0,u0,x,i,0,this.m.t);while(x[j]>=x.DV){x[j]-=x.DV;x[++j]++}}x.clamp();x.drShiftTo(this.m.t,x);if(x.compareTo(this.m)>=0)x.subTo(this.m,x)}function montSqrTo(x,r){x.squareTo(r);this.reduce(r)}function montMulTo(x,y,r){x.multiplyTo(y,r);this.reduce(r)}Montgomery.prototype.convert=montConvert;Montgomery.prototype.revert=montRevert;Montgomery.prototype.reduce=montReduce;Montgomery.prototype.mulTo=montMulTo;Montgomery.prototype.sqrTo=montSqrTo;function bnpIsEven(){return(this.t>0?this[0]&1:this.s)==0}function bnpExp(e,z){if(e>4294967295||e<1)return BigInteger.ONE;var r=nbi(),r2=nbi(),g=z.convert(this),i=nbits(e)-1;g.copyTo(r);while(--i>=0){z.sqrTo(r,r2);if((e&1<0)z.mulTo(r2,g,r);else{var t=r;r=r2;r2=t}}return z.revert(r)}function bnModPowInt(e,m){var z;if(e<256||m.isEven())z=new Classic(m);else z=new Montgomery(m);return this.exp(e,z)}BigInteger.prototype.copyTo=bnpCopyTo;BigInteger.prototype.fromInt=bnpFromInt;BigInteger.prototype.fromString=bnpFromString;BigInteger.prototype.clamp=bnpClamp;BigInteger.prototype.dlShiftTo=bnpDLShiftTo;BigInteger.prototype.drShiftTo=bnpDRShiftTo;BigInteger.prototype.lShiftTo=bnpLShiftTo;BigInteger.prototype.rShiftTo=bnpRShiftTo;BigInteger.prototype.subTo=bnpSubTo;BigInteger.prototype.multiplyTo=bnpMultiplyTo;BigInteger.prototype.squareTo=bnpSquareTo;BigInteger.prototype.divRemTo=bnpDivRemTo;BigInteger.prototype.invDigit=bnpInvDigit;BigInteger.prototype.isEven=bnpIsEven;BigInteger.prototype.exp=bnpExp;BigInteger.prototype.toString=bnToString;BigInteger.prototype.negate=bnNegate;BigInteger.prototype.abs=bnAbs;BigInteger.prototype.compareTo=bnCompareTo;BigInteger.prototype.bitLength=bnBitLength;BigInteger.prototype.mod=bnMod;BigInteger.prototype.modPowInt=bnModPowInt;BigInteger.ZERO=nbv(0);BigInteger.ONE=nbv(1);function bnpFromRadix(s,b){this.fromInt(0);if(b==null)b=10;var cs=this.chunkSize(b);var d=Math.pow(b,cs),mi=false,j=0,w=0;for(var i=0;i=cs){this.dMultiply(d);this.dAddOffset(w,0);j=0;w=0}}if(j>0){this.dMultiply(Math.pow(b,j));this.dAddOffset(w,0)}if(mi)BigInteger.ZERO.subTo(this,this)}function bnpChunkSize(r){return Math.floor(Math.LN2*this.DB/Math.log(r))}function bnSigNum(){if(this.s<0)return-1;else if(this.t<=0||this.t==1&&this[0]<=0)return 0;else return 1}function bnpDMultiply(n){this[this.t]=this.am(0,n-1,this,0,0,this.t);++this.t;this.clamp()}function bnpDAddOffset(n,w){if(n==0)return;while(this.t<=w)this[this.t++]=0;this[w]+=n;while(this[w]>=this.DV){this[w]-=this.DV;if(++w>=this.t)this[this.t++]=0;++this[w]}}function bnpToRadix(b){if(b==null)b=10;if(this.signum()==0||b<2||b>36)return"0";var cs=this.chunkSize(b);var a=Math.pow(b,cs);var d=nbv(a),y=nbi(),z=nbi(),r="";this.divRemTo(d,y,z);while(y.signum()>0){r=(a+z.intValue()).toString(b).substr(1)+r;y.divRemTo(d,y,z)}return z.intValue().toString(b)+r}function bnIntValue(){if(this.s<0){if(this.t==1)return this[0]-this.DV;else if(this.t==0)return-1}else if(this.t==1)return this[0];else if(this.t==0)return 0;return(this[1]&(1<<32-this.DB)-1)<>=this.DB}if(a.t>=this.DB}c+=this.s}else{c+=this.s;while(i>=this.DB}c+=a.s}r.s=c<0?-1:0;if(c>0)r[i++]=c;else if(c<-1)r[i++]=this.DV+c;r.t=i;r.clamp()}BigInteger.prototype.fromRadix=bnpFromRadix;BigInteger.prototype.chunkSize=bnpChunkSize;BigInteger.prototype.signum=bnSigNum;BigInteger.prototype.dMultiply=bnpDMultiply;BigInteger.prototype.dAddOffset=bnpDAddOffset;BigInteger.prototype.toRadix=bnpToRadix;BigInteger.prototype.intValue=bnIntValue;BigInteger.prototype.addTo=bnpAddTo;var Wrapper={abs:(function(l,h){var x=new goog.math.Long(l,h);var ret;if(x.isNegative()){ret=x.negate()}else{ret=x}HEAP32[tempDoublePtr>>2]=ret.low_;HEAP32[tempDoublePtr+4>>2]=ret.high_}),ensureTemps:(function(){if(Wrapper.ensuredTemps)return;Wrapper.ensuredTemps=true;Wrapper.two32=new BigInteger;Wrapper.two32.fromString("4294967296",10);Wrapper.two64=new BigInteger;Wrapper.two64.fromString("18446744073709551616",10);Wrapper.temp1=new BigInteger;Wrapper.temp2=new BigInteger}),lh2bignum:(function(l,h){var a=new BigInteger;a.fromString(h.toString(),10);var b=new BigInteger;a.multiplyTo(Wrapper.two32,b);var c=new BigInteger;c.fromString(l.toString(),10);var d=new BigInteger;c.addTo(b,d);return d}),stringify:(function(l,h,unsigned){var ret=(new goog.math.Long(l,h)).toString();if(unsigned&&ret[0]=="-"){Wrapper.ensureTemps();var bignum=new BigInteger;bignum.fromString(ret,10);ret=new BigInteger;Wrapper.two64.addTo(bignum,ret);ret=ret.toString(10)}return ret}),fromString:(function(str,base,min,max,unsigned){Wrapper.ensureTemps();var bignum=new BigInteger;bignum.fromString(str,base);var bigmin=new BigInteger;bigmin.fromString(min,10);var bigmax=new BigInteger;bigmax.fromString(max,10);if(unsigned&&bignum.compareTo(BigInteger.ZERO)<0){var temp=new BigInteger;bignum.addTo(Wrapper.two64,temp);bignum=temp}var error=false;if(bignum.compareTo(bigmin)<0){bignum=bigmin;error=true}else if(bignum.compareTo(bigmax)>0){bignum=bigmax;error=true}var ret=goog.math.Long.fromString(bignum.toString());HEAP32[tempDoublePtr>>2]=ret.low_;HEAP32[tempDoublePtr+4>>2]=ret.high_;if(error)throw"range error"})};return Wrapper})();if(memoryInitializer){if(typeof Module["locateFile"]==="function"){memoryInitializer=Module["locateFile"](memoryInitializer)}else if(Module["memoryInitializerPrefixURL"]){memoryInitializer=Module["memoryInitializerPrefixURL"]+memoryInitializer}if(ENVIRONMENT_IS_NODE||ENVIRONMENT_IS_SHELL){var data=Module["readBinary"](memoryInitializer);HEAPU8.set(data,STATIC_BASE)}else{addRunDependency("memory initializer");Browser.asyncLoad(memoryInitializer,(function(data){HEAPU8.set(data,STATIC_BASE);removeRunDependency("memory initializer")}),(function(data){throw"could not load memory initializer "+memoryInitializer}))}}function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}ExitStatus.prototype=new Error;ExitStatus.prototype.constructor=ExitStatus;var initialStackTop;var preloadStartTime=null;var calledMain=false;dependenciesFulfilled=function runCaller(){if(!Module["calledRun"]&&shouldRunNow)run();if(!Module["calledRun"])dependenciesFulfilled=runCaller};Module["callMain"]=Module.callMain=function callMain(args){assert(runDependencies==0,"cannot call main when async dependencies remain! (listen on __ATMAIN__)");assert(__ATPRERUN__.length==0,"cannot call main when preRun functions remain to be called");args=args||[];ensureInitRuntime();var argc=args.length+1;function pad(){for(var i=0;i<4-1;i++){argv.push(0)}}var argv=[allocate(intArrayFromString(Module["thisProgram"]),"i8",ALLOC_NORMAL)];pad();for(var i=0;i0){return}preRun();if(runDependencies>0)return;if(Module["calledRun"])return;function doRun(){if(Module["calledRun"])return;Module["calledRun"]=true;if(ABORT)return;ensureInitRuntime();preMain();if(ENVIRONMENT_IS_WEB&&preloadStartTime!==null){Module.printErr("pre-main prep time: "+(Date.now()-preloadStartTime)+" ms")}if(Module["_main"]&&shouldRunNow){Module["callMain"](args)}postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout((function(){setTimeout((function(){Module["setStatus"]("")}),1);doRun()}),1)}else{doRun()}}Module["run"]=Module.run=run;function exit(status){if(Module["noExitRuntime"]){return}ABORT=true;EXITSTATUS=status;STACKTOP=initialStackTop;exitRuntime();if(ENVIRONMENT_IS_NODE){process["stdout"]["once"]("drain",(function(){process["exit"](status)}));console.log(" ");setTimeout((function(){process["exit"](status)}),500)}else if(ENVIRONMENT_IS_SHELL&&typeof quit==="function"){quit(status)}throw new ExitStatus(status)}Module["exit"]=Module.exit=exit;function abort(text){if(text){Module.print(text);Module.printErr(text)}ABORT=true;EXITSTATUS=1;var extra="\nIf this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.";throw"abort() at "+stackTrace()+extra}Module["abort"]=Module.abort=abort;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=true;if(Module["noInitialRun"]){shouldRunNow=false}run() +(Module.asmGlobalArg, Module.asmLibraryArg, buffer); + +var real__roundf = asm["_roundf"]; asm["_roundf"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); +assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); +return real__roundf.apply(null, arguments); +}; + +var real__main = asm["_main"]; asm["_main"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); +assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); +return real__main.apply(null, arguments); +}; + +var real_stackSave = asm["stackSave"]; asm["stackSave"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); +assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); +return real_stackSave.apply(null, arguments); +}; + +var real_getTempRet0 = asm["getTempRet0"]; asm["getTempRet0"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); +assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); +return real_getTempRet0.apply(null, arguments); +}; + +var real_setThrew = asm["setThrew"]; asm["setThrew"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); +assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); +return real_setThrew.apply(null, arguments); +}; + +var real__bitshift64Lshr = asm["_bitshift64Lshr"]; asm["_bitshift64Lshr"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); +assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); +return real__bitshift64Lshr.apply(null, arguments); +}; + +var real__bitshift64Shl = asm["_bitshift64Shl"]; asm["_bitshift64Shl"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); +assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); +return real__bitshift64Shl.apply(null, arguments); +}; + +var real__fflush = asm["_fflush"]; asm["_fflush"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); +assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); +return real__fflush.apply(null, arguments); +}; + +var real__llvm_cttz_i32 = asm["_llvm_cttz_i32"]; asm["_llvm_cttz_i32"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); +assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); +return real__llvm_cttz_i32.apply(null, arguments); +}; + +var real__sbrk = asm["_sbrk"]; asm["_sbrk"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); +assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); +return real__sbrk.apply(null, arguments); +}; + +var real__llvm_bswap_i32 = asm["_llvm_bswap_i32"]; asm["_llvm_bswap_i32"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); +assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); +return real__llvm_bswap_i32.apply(null, arguments); +}; + +var real____muldi3 = asm["___muldi3"]; asm["___muldi3"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); +assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); +return real____muldi3.apply(null, arguments); +}; + +var real____uremdi3 = asm["___uremdi3"]; asm["___uremdi3"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); +assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); +return real____uremdi3.apply(null, arguments); +}; + +var real_stackAlloc = asm["stackAlloc"]; asm["stackAlloc"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); +assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); +return real_stackAlloc.apply(null, arguments); +}; + +var real__i64Subtract = asm["_i64Subtract"]; asm["_i64Subtract"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); +assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); +return real__i64Subtract.apply(null, arguments); +}; + +var real____udivmoddi4 = asm["___udivmoddi4"]; asm["___udivmoddi4"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); +assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); +return real____udivmoddi4.apply(null, arguments); +}; + +var real_setTempRet0 = asm["setTempRet0"]; asm["setTempRet0"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); +assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); +return real_setTempRet0.apply(null, arguments); +}; + +var real__i64Add = asm["_i64Add"]; asm["_i64Add"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); +assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); +return real__i64Add.apply(null, arguments); +}; + +var real__emscripten_get_global_libc = asm["_emscripten_get_global_libc"]; asm["_emscripten_get_global_libc"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); +assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); +return real__emscripten_get_global_libc.apply(null, arguments); +}; + +var real__emscripten_GetProcAddress = asm["_emscripten_GetProcAddress"]; asm["_emscripten_GetProcAddress"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); +assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); +return real__emscripten_GetProcAddress.apply(null, arguments); +}; + +var real____udivdi3 = asm["___udivdi3"]; asm["___udivdi3"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); +assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); +return real____udivdi3.apply(null, arguments); +}; + +var real____errno_location = asm["___errno_location"]; asm["___errno_location"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); +assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); +return real____errno_location.apply(null, arguments); +}; + +var real____muldsi3 = asm["___muldsi3"]; asm["___muldsi3"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); +assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); +return real____muldsi3.apply(null, arguments); +}; + +var real__free = asm["_free"]; asm["_free"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); +assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); +return real__free.apply(null, arguments); +}; + +var real_establishStackSpace = asm["establishStackSpace"]; asm["establishStackSpace"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); +assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); +return real_establishStackSpace.apply(null, arguments); +}; + +var real__memmove = asm["_memmove"]; asm["_memmove"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); +assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); +return real__memmove.apply(null, arguments); +}; + +var real__strstr = asm["_strstr"]; asm["_strstr"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); +assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); +return real__strstr.apply(null, arguments); +}; + +var real_stackRestore = asm["stackRestore"]; asm["stackRestore"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); +assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); +return real_stackRestore.apply(null, arguments); +}; + +var real__malloc = asm["_malloc"]; asm["_malloc"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); +assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); +return real__malloc.apply(null, arguments); +}; +var _roundf = Module["_roundf"] = asm["_roundf"]; +var _main = Module["_main"] = asm["_main"]; +var stackSave = Module["stackSave"] = asm["stackSave"]; +var getTempRet0 = Module["getTempRet0"] = asm["getTempRet0"]; +var _memset = Module["_memset"] = asm["_memset"]; +var setThrew = Module["setThrew"] = asm["setThrew"]; +var _bitshift64Lshr = Module["_bitshift64Lshr"] = asm["_bitshift64Lshr"]; +var _bitshift64Shl = Module["_bitshift64Shl"] = asm["_bitshift64Shl"]; +var _fflush = Module["_fflush"] = asm["_fflush"]; +var _llvm_cttz_i32 = Module["_llvm_cttz_i32"] = asm["_llvm_cttz_i32"]; +var _sbrk = Module["_sbrk"] = asm["_sbrk"]; +var _memcpy = Module["_memcpy"] = asm["_memcpy"]; +var _llvm_bswap_i32 = Module["_llvm_bswap_i32"] = asm["_llvm_bswap_i32"]; +var ___muldi3 = Module["___muldi3"] = asm["___muldi3"]; +var ___uremdi3 = Module["___uremdi3"] = asm["___uremdi3"]; +var stackAlloc = Module["stackAlloc"] = asm["stackAlloc"]; +var _i64Subtract = Module["_i64Subtract"] = asm["_i64Subtract"]; +var ___udivmoddi4 = Module["___udivmoddi4"] = asm["___udivmoddi4"]; +var setTempRet0 = Module["setTempRet0"] = asm["setTempRet0"]; +var _i64Add = Module["_i64Add"] = asm["_i64Add"]; +var _emscripten_get_global_libc = Module["_emscripten_get_global_libc"] = asm["_emscripten_get_global_libc"]; +var _emscripten_GetProcAddress = Module["_emscripten_GetProcAddress"] = asm["_emscripten_GetProcAddress"]; +var ___udivdi3 = Module["___udivdi3"] = asm["___udivdi3"]; +var ___errno_location = Module["___errno_location"] = asm["___errno_location"]; +var ___muldsi3 = Module["___muldsi3"] = asm["___muldsi3"]; +var _free = Module["_free"] = asm["_free"]; +var runPostSets = Module["runPostSets"] = asm["runPostSets"]; +var establishStackSpace = Module["establishStackSpace"] = asm["establishStackSpace"]; +var _memmove = Module["_memmove"] = asm["_memmove"]; +var _strstr = Module["_strstr"] = asm["_strstr"]; +var stackRestore = Module["stackRestore"] = asm["stackRestore"]; +var _malloc = Module["_malloc"] = asm["_malloc"]; +var dynCall_viiiii = Module["dynCall_viiiii"] = asm["dynCall_viiiii"]; +var dynCall_vd = Module["dynCall_vd"] = asm["dynCall_vd"]; +var dynCall_vid = Module["dynCall_vid"] = asm["dynCall_vid"]; +var dynCall_vi = Module["dynCall_vi"] = asm["dynCall_vi"]; +var dynCall_vii = Module["dynCall_vii"] = asm["dynCall_vii"]; +var dynCall_ii = Module["dynCall_ii"] = asm["dynCall_ii"]; +var dynCall_viddd = Module["dynCall_viddd"] = asm["dynCall_viddd"]; +var dynCall_vidd = Module["dynCall_vidd"] = asm["dynCall_vidd"]; +var dynCall_iiii = Module["dynCall_iiii"] = asm["dynCall_iiii"]; +var dynCall_viiiiiiii = Module["dynCall_viiiiiiii"] = asm["dynCall_viiiiiiii"]; +var dynCall_viiiiii = Module["dynCall_viiiiii"] = asm["dynCall_viiiiii"]; +var dynCall_viii = Module["dynCall_viii"] = asm["dynCall_viii"]; +var dynCall_vidddd = Module["dynCall_vidddd"] = asm["dynCall_vidddd"]; +var dynCall_vdi = Module["dynCall_vdi"] = asm["dynCall_vdi"]; +var dynCall_viiiiiii = Module["dynCall_viiiiiii"] = asm["dynCall_viiiiiii"]; +var dynCall_viiiiiiiii = Module["dynCall_viiiiiiiii"] = asm["dynCall_viiiiiiiii"]; +var dynCall_iii = Module["dynCall_iii"] = asm["dynCall_iii"]; +var dynCall_i = Module["dynCall_i"] = asm["dynCall_i"]; +var dynCall_vdddddd = Module["dynCall_vdddddd"] = asm["dynCall_vdddddd"]; +var dynCall_vdddd = Module["dynCall_vdddd"] = asm["dynCall_vdddd"]; +var dynCall_vdd = Module["dynCall_vdd"] = asm["dynCall_vdd"]; +var dynCall_v = Module["dynCall_v"] = asm["dynCall_v"]; +var dynCall_viid = Module["dynCall_viid"] = asm["dynCall_viid"]; +var dynCall_viiii = Module["dynCall_viiii"] = asm["dynCall_viiii"]; +; + +Runtime.stackAlloc = Module['stackAlloc']; +Runtime.stackSave = Module['stackSave']; +Runtime.stackRestore = Module['stackRestore']; +Runtime.establishStackSpace = Module['establishStackSpace']; + +Runtime.setTempRet0 = Module['setTempRet0']; +Runtime.getTempRet0 = Module['getTempRet0']; + + + +// === Auto-generated postamble setup entry stuff === + +Module['asm'] = asm; + +function ExitStatus(status) { + this.name = "ExitStatus"; + this.message = "Program terminated with exit(" + status + ")"; + this.status = status; +}; +ExitStatus.prototype = new Error(); +ExitStatus.prototype.constructor = ExitStatus; + +var initialStackTop; +var preloadStartTime = null; +var calledMain = false; + +dependenciesFulfilled = function runCaller() { + // If run has never been called, and we should call run (INVOKE_RUN is true, and Module.noInitialRun is not false) + if (!Module['calledRun']) run(); + if (!Module['calledRun']) dependenciesFulfilled = runCaller; // try this again later, after new deps are fulfilled +} + +Module['callMain'] = Module.callMain = function callMain(args) { + assert(runDependencies == 0, 'cannot call main when async dependencies remain! (listen on __ATMAIN__)'); + assert(__ATPRERUN__.length == 0, 'cannot call main when preRun functions remain to be called'); + + args = args || []; + + ensureInitRuntime(); + + var argc = args.length+1; + function pad() { + for (var i = 0; i < 4-1; i++) { + argv.push(0); + } + } + var argv = [allocate(intArrayFromString(Module['thisProgram']), 'i8', ALLOC_NORMAL) ]; + pad(); + for (var i = 0; i < argc-1; i = i + 1) { + argv.push(allocate(intArrayFromString(args[i]), 'i8', ALLOC_NORMAL)); + pad(); + } + argv.push(0); + argv = allocate(argv, 'i32', ALLOC_NORMAL); + + + try { + + var ret = Module['_main'](argc, argv, 0); + + + // if we're not running an evented main loop, it's time to exit + exit(ret, /* implicit = */ true); + } + catch(e) { + if (e instanceof ExitStatus) { + // exit() throws this once it's done to make sure execution + // has been stopped completely + return; + } else if (e == 'SimulateInfiniteLoop') { + // running an evented main loop, don't immediately exit + Module['noExitRuntime'] = true; + return; + } else { + var toLog = e; + if (e && typeof e === 'object' && e.stack) { + toLog = [e, e.stack]; + } + Module.printErr('exception thrown: ' + toLog); + Module['quit'](1, e); + } + } finally { + calledMain = true; + } +} + + + + +function run(args) { + args = args || Module['arguments']; + + if (preloadStartTime === null) preloadStartTime = Date.now(); + + if (runDependencies > 0) { + Module.printErr('run() called, but dependencies remain, so not running'); + return; + } + + writeStackCookie(); + + preRun(); + + if (runDependencies > 0) return; // a preRun added a dependency, run will be called later + if (Module['calledRun']) return; // run may have just been called through dependencies being fulfilled just in this very frame + + function doRun() { + if (Module['calledRun']) return; // run may have just been called while the async setStatus time below was happening + Module['calledRun'] = true; + + if (ABORT) return; + + ensureInitRuntime(); + + preMain(); + + if (ENVIRONMENT_IS_WEB && preloadStartTime !== null) { + Module.printErr('pre-main prep time: ' + (Date.now() - preloadStartTime) + ' ms'); + } + + if (Module['onRuntimeInitialized']) Module['onRuntimeInitialized'](); + + if (Module['_main'] && shouldRunNow) Module['callMain'](args); + + postRun(); + } + + if (Module['setStatus']) { + Module['setStatus']('Running...'); + setTimeout(function() { + setTimeout(function() { + Module['setStatus'](''); + }, 1); + doRun(); + }, 1); + } else { + doRun(); + } + checkStackCookie(); +} +Module['run'] = Module.run = run; + +function exit(status, implicit) { + if (implicit && Module['noExitRuntime']) { + Module.printErr('exit(' + status + ') implicitly called by end of main(), but noExitRuntime, so not exiting the runtime (you can use emscripten_force_exit, if you want to force a true shutdown)'); + return; + } + + if (Module['noExitRuntime']) { + Module.printErr('exit(' + status + ') called, but noExitRuntime, so halting execution but not exiting the runtime or preventing further async execution (you can use emscripten_force_exit, if you want to force a true shutdown)'); + } else { + + ABORT = true; + EXITSTATUS = status; + STACKTOP = initialStackTop; + + exitRuntime(); + + if (Module['onExit']) Module['onExit'](status); + } + + if (ENVIRONMENT_IS_NODE) { + process['exit'](status); + } + Module['quit'](status, new ExitStatus(status)); +} +Module['exit'] = Module.exit = exit; + +var abortDecorators = []; + +function abort(what) { + if (what !== undefined) { + Module.print(what); + Module.printErr(what); + what = JSON.stringify(what) + } else { + what = ''; + } + + ABORT = true; + EXITSTATUS = 1; + + var extra = ''; + + var output = 'abort(' + what + ') at ' + stackTrace() + extra; + if (abortDecorators) { + abortDecorators.forEach(function(decorator) { + output = decorator(output, what); + }); + } + throw output; +} +Module['abort'] = Module.abort = abort; + +// {{PRE_RUN_ADDITIONS}} + +if (Module['preInit']) { + if (typeof Module['preInit'] == 'function') Module['preInit'] = [Module['preInit']]; + while (Module['preInit'].length > 0) { + Module['preInit'].pop()(); + } +} + +// shouldRunNow refers to calling main(), not run(). +var shouldRunNow = true; +if (Module['noInitialRun']) { + shouldRunNow = false; +} + + +run(); + +// {{POST_RUN_ADDITIONS}} + + + + + +// {{MODULE_ADDITIONS}} + + + diff --git a/docs/games/koala_seasons.data b/docs/games/koala_seasons.data new file mode 100644 index 000000000..fdd063eaa Binary files /dev/null and b/docs/games/koala_seasons.data differ diff --git a/docs/games/illogic.html b/docs/games/koala_seasons.html similarity index 97% rename from docs/games/illogic.html rename to docs/games/koala_seasons.html index 6628ce355..5ba5f389d 100644 --- a/docs/games/illogic.html +++ b/docs/games/koala_seasons.html @@ -57,7 +57,7 @@ div.emscripten_border { border: 1px solid black; } /* the canvas *must not* have any border or padding, or mouse coords will be wrong */ - canvas.emscripten { border: 0px none; } + canvas.emscripten { border: 0px none; background: black; } #emscripten_logo { display: inline-block; @@ -144,7 +144,7 @@
Downloading...
- +
@@ -234,6 +234,6 @@ }; }; - + \ No newline at end of file diff --git a/docs/games/koala_seasons.js b/docs/games/koala_seasons.js new file mode 100644 index 000000000..31eca6dda --- /dev/null +++ b/docs/games/koala_seasons.js @@ -0,0 +1,87700 @@ + +var Module; + +if (typeof Module === 'undefined') Module = {}; + +if (!Module.expectedDataFileDownloads) { + Module.expectedDataFileDownloads = 0; + Module.finishedDataFileDownloads = 0; +} +Module.expectedDataFileDownloads++; +(function() { + var loadPackage = function(metadata) { + + var PACKAGE_PATH; + if (typeof window === 'object') { + PACKAGE_PATH = window['encodeURIComponent'](window.location.pathname.toString().substring(0, window.location.pathname.toString().lastIndexOf('/')) + '/'); + } else if (typeof location !== 'undefined') { + // worker + PACKAGE_PATH = encodeURIComponent(location.pathname.toString().substring(0, location.pathname.toString().lastIndexOf('/')) + '/'); + } else { + throw 'using preloaded data can only be done on a web page or in a web worker'; + } + var PACKAGE_NAME = 'koala_seasons.data'; + var REMOTE_PACKAGE_BASE = 'koala_seasons.data'; + if (typeof Module['locateFilePackage'] === 'function' && !Module['locateFile']) { + Module['locateFile'] = Module['locateFilePackage']; + Module.printErr('warning: you defined Module.locateFilePackage, that has been renamed to Module.locateFile (using your locateFilePackage for now)'); + } + var REMOTE_PACKAGE_NAME = typeof Module['locateFile'] === 'function' ? + Module['locateFile'](REMOTE_PACKAGE_BASE) : + ((Module['filePackagePrefixURL'] || '') + REMOTE_PACKAGE_BASE); + + var REMOTE_PACKAGE_SIZE = metadata.remote_package_size; + var PACKAGE_UUID = metadata.package_uuid; + + function fetchRemotePackage(packageName, packageSize, callback, errback) { + var xhr = new XMLHttpRequest(); + xhr.open('GET', packageName, true); + xhr.responseType = 'arraybuffer'; + xhr.onprogress = function(event) { + var url = packageName; + var size = packageSize; + if (event.total) size = event.total; + if (event.loaded) { + if (!xhr.addedTotal) { + xhr.addedTotal = true; + if (!Module.dataFileDownloads) Module.dataFileDownloads = {}; + Module.dataFileDownloads[url] = { + loaded: event.loaded, + total: size + }; + } else { + Module.dataFileDownloads[url].loaded = event.loaded; + } + var total = 0; + var loaded = 0; + var num = 0; + for (var download in Module.dataFileDownloads) { + var data = Module.dataFileDownloads[download]; + total += data.total; + loaded += data.loaded; + num++; + } + total = Math.ceil(total * Module.expectedDataFileDownloads/num); + if (Module['setStatus']) Module['setStatus']('Downloading data... (' + loaded + '/' + total + ')'); + } else if (!Module.dataFileDownloads) { + if (Module['setStatus']) Module['setStatus']('Downloading data...'); + } + }; + xhr.onerror = function(event) { + throw new Error("NetworkError for: " + packageName); + } + xhr.onload = function(event) { + if (xhr.status == 200 || xhr.status == 304 || xhr.status == 206 || (xhr.status == 0 && xhr.response)) { // file URLs can return 0 + var packageData = xhr.response; + callback(packageData); + } else { + throw new Error(xhr.statusText + " : " + xhr.responseURL); + } + }; + xhr.send(null); + }; + + function handleError(error) { + console.error('package error:', error); + }; + + var fetchedCallback = null; + var fetched = Module['getPreloadedPackage'] ? Module['getPreloadedPackage'](REMOTE_PACKAGE_NAME, REMOTE_PACKAGE_SIZE) : null; + + if (!fetched) fetchRemotePackage(REMOTE_PACKAGE_NAME, REMOTE_PACKAGE_SIZE, function(data) { + if (fetchedCallback) { + fetchedCallback(data); + fetchedCallback = null; + } else { + fetched = data; + } + }, handleError); + + function runWithFS() { + + function assert(check, msg) { + if (!check) throw msg + new Error().stack; + } +Module['FS_createPath']('/', 'resources', true, true); +Module['FS_createPath']('/resources', 'audio', true, true); +Module['FS_createPath']('/resources', 'graphics', true, true); +Module['FS_createPath']('/resources', 'shaders', true, true); +Module['FS_createPath']('/resources/shaders', 'glsl100', true, true); +Module['FS_createPath']('/resources/shaders', 'glsl330', true, true); + + function DataRequest(start, end, crunched, audio) { + this.start = start; + this.end = end; + this.crunched = crunched; + this.audio = audio; + } + DataRequest.prototype = { + requests: {}, + open: function(mode, name) { + this.name = name; + this.requests[name] = this; + Module['addRunDependency']('fp ' + this.name); + }, + send: function() {}, + onload: function() { + var byteArray = this.byteArray.subarray(this.start, this.end); + + this.finish(byteArray); + + }, + finish: function(byteArray) { + var that = this; + + Module['FS_createDataFile'](this.name, null, byteArray, true, true, true); // canOwn this data in the filesystem, it is a slide into the heap that will never change + Module['removeRunDependency']('fp ' + that.name); + + this.requests[this.name] = null; + } + }; + + var files = metadata.files; + for (i = 0; i < files.length; ++i) { + new DataRequest(files[i].start, files[i].end, files[i].crunched, files[i].audio).open('GET', files[i].filename); + } + + + function processPackageData(arrayBuffer) { + Module.finishedDataFileDownloads++; + assert(arrayBuffer, 'Loading data file failed.'); + assert(arrayBuffer instanceof ArrayBuffer, 'bad input to processPackageData'); + var byteArray = new Uint8Array(arrayBuffer); + var curr; + + // copy the entire loaded file into a spot in the heap. Files will refer to slices in that. They cannot be freed though + // (we may be allocating before malloc is ready, during startup). + if (Module['SPLIT_MEMORY']) Module.printErr('warning: you should run the file packager with --no-heap-copy when SPLIT_MEMORY is used, otherwise copying into the heap may fail due to the splitting'); + var ptr = Module['getMemory'](byteArray.length); + Module['HEAPU8'].set(byteArray, ptr); + DataRequest.prototype.byteArray = Module['HEAPU8'].subarray(ptr, ptr+byteArray.length); + + var files = metadata.files; + for (i = 0; i < files.length; ++i) { + DataRequest.prototype.requests[files[i].filename].onload(); + } + Module['removeRunDependency']('datafile_koala_seasons.data'); + + }; + Module['addRunDependency']('datafile_koala_seasons.data'); + + if (!Module.preloadResults) Module.preloadResults = {}; + + Module.preloadResults[PACKAGE_NAME] = {fromCache: false}; + if (fetched) { + processPackageData(fetched); + fetched = null; + } else { + fetchedCallback = processPackageData; + } + + } + if (Module['calledRun']) { + runWithFS(); + } else { + if (!Module['preRun']) Module['preRun'] = []; + Module["preRun"].push(runWithFS); // FS is not initialized yet, wait for it + } + + } + loadPackage({"files": [{"audio": 1, "start": 0, "crunched": 0, "end": 7449, "filename": "/resources/audio/dash.ogg"}, {"audio": 1, "start": 7449, "crunched": 0, "end": 16241, "filename": "/resources/audio/dingo_die.ogg"}, {"audio": 1, "start": 16241, "crunched": 0, "end": 27868, "filename": "/resources/audio/eat_leaves.ogg"}, {"audio": 0, "start": 27868, "crunched": 0, "end": 876055, "filename": "/resources/audio/jngl.xm"}, {"audio": 1, "start": 876055, "crunched": 0, "end": 884173, "filename": "/resources/audio/jump.ogg"}, {"audio": 1, "start": 884173, "crunched": 0, "end": 890675, "filename": "/resources/audio/owl_die.ogg"}, {"audio": 1, "start": 890675, "crunched": 0, "end": 900020, "filename": "/resources/audio/resin_hit.ogg"}, {"audio": 1, "start": 900020, "crunched": 0, "end": 907144, "filename": "/resources/audio/snake_die.ogg"}, {"audio": 1, "start": 907144, "crunched": 0, "end": 949039, "filename": "/resources/audio/wind_sound.ogg"}, {"audio": 0, "start": 949039, "crunched": 0, "end": 3374346, "filename": "/resources/graphics/atlas01.png"}, {"audio": 0, "start": 3374346, "crunched": 0, "end": 4294991, "filename": "/resources/graphics/atlas02.png"}, {"audio": 0, "start": 4294991, "crunched": 0, "end": 4478038, "filename": "/resources/graphics/mainfont.png"}, {"audio": 0, "start": 4478038, "crunched": 0, "end": 4478613, "filename": "/resources/shaders/glsl100/base.vs"}, {"audio": 0, "start": 4478613, "crunched": 0, "end": 4480622, "filename": "/resources/shaders/glsl100/blend_color.fs"}, {"audio": 0, "start": 4480622, "crunched": 0, "end": 4481168, "filename": "/resources/shaders/glsl330/base.vs"}, {"audio": 0, "start": 4481168, "crunched": 0, "end": 4483214, "filename": "/resources/shaders/glsl330/blend_color.fs"}], "remote_package_size": 4483214, "package_uuid": "446e94eb-f609-458d-b915-566e05bf9eb5"}); + +})(); + +// The Module object: Our interface to the outside world. We import +// and export values on it, and do the work to get that through +// closure compiler if necessary. There are various ways Module can be used: +// 1. Not defined. We create it here +// 2. A function parameter, function(Module) { ..generated code.. } +// 3. pre-run appended it, var Module = {}; ..generated code.. +// 4. External script tag defines var Module. +// We need to do an eval in order to handle the closure compiler +// case, where this code here is minified but Module was defined +// elsewhere (e.g. case 4 above). We also need to check if Module +// already exists (e.g. case 3 above). +// Note that if you want to run closure, and also to use Module +// after the generated code, you will need to define var Module = {}; +// before the code. Then that object will be used in the code, and you +// can continue to use Module afterwards as well. +var Module; +if (!Module) Module = (typeof Module !== 'undefined' ? Module : null) || {}; + +// Sometimes an existing Module object exists with properties +// meant to overwrite the default module functionality. Here +// we collect those properties and reapply _after_ we configure +// the current environment's defaults to avoid having to be so +// defensive during initialization. +var moduleOverrides = {}; +for (var key in Module) { + if (Module.hasOwnProperty(key)) { + moduleOverrides[key] = Module[key]; + } +} + +// The environment setup code below is customized to use Module. +// *** Environment setup code *** +var ENVIRONMENT_IS_WEB = false; +var ENVIRONMENT_IS_WORKER = false; +var ENVIRONMENT_IS_NODE = false; +var ENVIRONMENT_IS_SHELL = false; + +// Three configurations we can be running in: +// 1) We could be the application main() thread running in the main JS UI thread. (ENVIRONMENT_IS_WORKER == false and ENVIRONMENT_IS_PTHREAD == false) +// 2) We could be the application main() thread proxied to worker. (with Emscripten -s PROXY_TO_WORKER=1) (ENVIRONMENT_IS_WORKER == true, ENVIRONMENT_IS_PTHREAD == false) +// 3) We could be an application pthread running in a worker. (ENVIRONMENT_IS_WORKER == true and ENVIRONMENT_IS_PTHREAD == true) + +if (Module['ENVIRONMENT']) { + if (Module['ENVIRONMENT'] === 'WEB') { + ENVIRONMENT_IS_WEB = true; + } else if (Module['ENVIRONMENT'] === 'WORKER') { + ENVIRONMENT_IS_WORKER = true; + } else if (Module['ENVIRONMENT'] === 'NODE') { + ENVIRONMENT_IS_NODE = true; + } else if (Module['ENVIRONMENT'] === 'SHELL') { + ENVIRONMENT_IS_SHELL = true; + } else { + throw new Error('The provided Module[\'ENVIRONMENT\'] value is not valid. It must be one of: WEB|WORKER|NODE|SHELL.'); + } +} else { + ENVIRONMENT_IS_WEB = typeof window === 'object'; + ENVIRONMENT_IS_WORKER = typeof importScripts === 'function'; + ENVIRONMENT_IS_NODE = typeof process === 'object' && typeof require === 'function' && !ENVIRONMENT_IS_WEB && !ENVIRONMENT_IS_WORKER; + ENVIRONMENT_IS_SHELL = !ENVIRONMENT_IS_WEB && !ENVIRONMENT_IS_NODE && !ENVIRONMENT_IS_WORKER; +} + + +if (ENVIRONMENT_IS_NODE) { + // Expose functionality in the same simple way that the shells work + // Note that we pollute the global namespace here, otherwise we break in node + if (!Module['print']) Module['print'] = console.log; + if (!Module['printErr']) Module['printErr'] = console.warn; + + var nodeFS; + var nodePath; + + Module['read'] = function read(filename, binary) { + if (!nodeFS) nodeFS = require('fs'); + if (!nodePath) nodePath = require('path'); + filename = nodePath['normalize'](filename); + var ret = nodeFS['readFileSync'](filename); + return binary ? ret : ret.toString(); + }; + + Module['readBinary'] = function readBinary(filename) { + var ret = Module['read'](filename, true); + if (!ret.buffer) { + ret = new Uint8Array(ret); + } + assert(ret.buffer); + return ret; + }; + + Module['load'] = function load(f) { + globalEval(read(f)); + }; + + if (!Module['thisProgram']) { + if (process['argv'].length > 1) { + Module['thisProgram'] = process['argv'][1].replace(/\\/g, '/'); + } else { + Module['thisProgram'] = 'unknown-program'; + } + } + + Module['arguments'] = process['argv'].slice(2); + + if (typeof module !== 'undefined') { + module['exports'] = Module; + } + + process['on']('uncaughtException', function(ex) { + // suppress ExitStatus exceptions from showing an error + if (!(ex instanceof ExitStatus)) { + throw ex; + } + }); + + Module['inspect'] = function () { return '[Emscripten Module object]'; }; +} +else if (ENVIRONMENT_IS_SHELL) { + if (!Module['print']) Module['print'] = print; + if (typeof printErr != 'undefined') Module['printErr'] = printErr; // not present in v8 or older sm + + if (typeof read != 'undefined') { + Module['read'] = read; + } else { + Module['read'] = function read() { throw 'no read() available' }; + } + + Module['readBinary'] = function readBinary(f) { + if (typeof readbuffer === 'function') { + return new Uint8Array(readbuffer(f)); + } + var data = read(f, 'binary'); + assert(typeof data === 'object'); + return data; + }; + + if (typeof scriptArgs != 'undefined') { + Module['arguments'] = scriptArgs; + } else if (typeof arguments != 'undefined') { + Module['arguments'] = arguments; + } + + if (typeof quit === 'function') { + Module['quit'] = function(status, toThrow) { + quit(status); + } + } + +} +else if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) { + Module['read'] = function read(url) { + var xhr = new XMLHttpRequest(); + xhr.open('GET', url, false); + xhr.send(null); + return xhr.responseText; + }; + + if (ENVIRONMENT_IS_WORKER) { + Module['readBinary'] = function read(url) { + var xhr = new XMLHttpRequest(); + xhr.open('GET', url, false); + xhr.responseType = 'arraybuffer'; + xhr.send(null); + return xhr.response; + }; + } + + Module['readAsync'] = function readAsync(url, onload, onerror) { + var xhr = new XMLHttpRequest(); + xhr.open('GET', url, true); + xhr.responseType = 'arraybuffer'; + xhr.onload = function xhr_onload() { + if (xhr.status == 200 || (xhr.status == 0 && xhr.response)) { // file URLs can return 0 + onload(xhr.response); + } else { + onerror(); + } + }; + xhr.onerror = onerror; + xhr.send(null); + }; + + if (typeof arguments != 'undefined') { + Module['arguments'] = arguments; + } + + if (typeof console !== 'undefined') { + if (!Module['print']) Module['print'] = function print(x) { + console.log(x); + }; + if (!Module['printErr']) Module['printErr'] = function printErr(x) { + console.warn(x); + }; + } else { + // Probably a worker, and without console.log. We can do very little here... + var TRY_USE_DUMP = false; + if (!Module['print']) Module['print'] = (TRY_USE_DUMP && (typeof(dump) !== "undefined") ? (function(x) { + dump(x); + }) : (function(x) { + // self.postMessage(x); // enable this if you want stdout to be sent as messages + })); + } + + if (ENVIRONMENT_IS_WORKER) { + Module['load'] = importScripts; + } + + if (typeof Module['setWindowTitle'] === 'undefined') { + Module['setWindowTitle'] = function(title) { document.title = title }; + } +} +else { + // Unreachable because SHELL is dependant on the others + throw 'Unknown runtime environment. Where are we?'; +} + +function globalEval(x) { + eval.call(null, x); +} +if (!Module['load'] && Module['read']) { + Module['load'] = function load(f) { + globalEval(Module['read'](f)); + }; +} +if (!Module['print']) { + Module['print'] = function(){}; +} +if (!Module['printErr']) { + Module['printErr'] = Module['print']; +} +if (!Module['arguments']) { + Module['arguments'] = []; +} +if (!Module['thisProgram']) { + Module['thisProgram'] = './this.program'; +} +if (!Module['quit']) { + Module['quit'] = function(status, toThrow) { + throw toThrow; + } +} + +// *** Environment setup code *** + +// Closure helpers +Module.print = Module['print']; +Module.printErr = Module['printErr']; + +// Callbacks +Module['preRun'] = []; +Module['postRun'] = []; + +// Merge back in the overrides +for (var key in moduleOverrides) { + if (moduleOverrides.hasOwnProperty(key)) { + Module[key] = moduleOverrides[key]; + } +} +// Free the object hierarchy contained in the overrides, this lets the GC +// reclaim data used e.g. in memoryInitializerRequest, which is a large typed array. +moduleOverrides = undefined; + + + +// {{PREAMBLE_ADDITIONS}} + +// === Preamble library stuff === + +// Documentation for the public APIs defined in this file must be updated in: +// site/source/docs/api_reference/preamble.js.rst +// A prebuilt local version of the documentation is available at: +// site/build/text/docs/api_reference/preamble.js.txt +// You can also build docs locally as HTML or other formats in site/ +// An online HTML version (which may be of a different version of Emscripten) +// is up at http://kripken.github.io/emscripten-site/docs/api_reference/preamble.js.html + +//======================================== +// Runtime code shared with compiler +//======================================== + +var Runtime = { + setTempRet0: function (value) { + tempRet0 = value; + return value; + }, + getTempRet0: function () { + return tempRet0; + }, + stackSave: function () { + return STACKTOP; + }, + stackRestore: function (stackTop) { + STACKTOP = stackTop; + }, + getNativeTypeSize: function (type) { + switch (type) { + case 'i1': case 'i8': return 1; + case 'i16': return 2; + case 'i32': return 4; + case 'i64': return 8; + case 'float': return 4; + case 'double': return 8; + default: { + if (type[type.length-1] === '*') { + return Runtime.QUANTUM_SIZE; // A pointer + } else if (type[0] === 'i') { + var bits = parseInt(type.substr(1)); + assert(bits % 8 === 0); + return bits/8; + } else { + return 0; + } + } + } + }, + getNativeFieldSize: function (type) { + return Math.max(Runtime.getNativeTypeSize(type), Runtime.QUANTUM_SIZE); + }, + STACK_ALIGN: 16, + prepVararg: function (ptr, type) { + if (type === 'double' || type === 'i64') { + // move so the load is aligned + if (ptr & 7) { + assert((ptr & 7) === 4); + ptr += 4; + } + } else { + assert((ptr & 3) === 0); + } + return ptr; + }, + getAlignSize: function (type, size, vararg) { + // we align i64s and doubles on 64-bit boundaries, unlike x86 + if (!vararg && (type == 'i64' || type == 'double')) return 8; + if (!type) return Math.min(size, 8); // align structures internally to 64 bits + return Math.min(size || (type ? Runtime.getNativeFieldSize(type) : 0), Runtime.QUANTUM_SIZE); + }, + dynCall: function (sig, ptr, args) { + if (args && args.length) { + assert(args.length == sig.length-1); + assert(('dynCall_' + sig) in Module, 'bad function pointer type - no table for sig \'' + sig + '\''); + return Module['dynCall_' + sig].apply(null, [ptr].concat(args)); + } else { + assert(sig.length == 1); + assert(('dynCall_' + sig) in Module, 'bad function pointer type - no table for sig \'' + sig + '\''); + return Module['dynCall_' + sig].call(null, ptr); + } + }, + functionPointers: [], + addFunction: function (func) { + for (var i = 0; i < Runtime.functionPointers.length; i++) { + if (!Runtime.functionPointers[i]) { + Runtime.functionPointers[i] = func; + return 2*(1 + i); + } + } + throw 'Finished up all reserved function pointers. Use a higher value for RESERVED_FUNCTION_POINTERS.'; + }, + removeFunction: function (index) { + Runtime.functionPointers[(index-2)/2] = null; + }, + warnOnce: function (text) { + if (!Runtime.warnOnce.shown) Runtime.warnOnce.shown = {}; + if (!Runtime.warnOnce.shown[text]) { + Runtime.warnOnce.shown[text] = 1; + Module.printErr(text); + } + }, + funcWrappers: {}, + getFuncWrapper: function (func, sig) { + assert(sig); + if (!Runtime.funcWrappers[sig]) { + Runtime.funcWrappers[sig] = {}; + } + var sigCache = Runtime.funcWrappers[sig]; + if (!sigCache[func]) { + // optimize away arguments usage in common cases + if (sig.length === 1) { + sigCache[func] = function dynCall_wrapper() { + return Runtime.dynCall(sig, func); + }; + } else if (sig.length === 2) { + sigCache[func] = function dynCall_wrapper(arg) { + return Runtime.dynCall(sig, func, [arg]); + }; + } else { + // general case + sigCache[func] = function dynCall_wrapper() { + return Runtime.dynCall(sig, func, Array.prototype.slice.call(arguments)); + }; + } + } + return sigCache[func]; + }, + getCompilerSetting: function (name) { + throw 'You must build with -s RETAIN_COMPILER_SETTINGS=1 for Runtime.getCompilerSetting or emscripten_get_compiler_setting to work'; + }, + stackAlloc: function (size) { var ret = STACKTOP;STACKTOP = (STACKTOP + size)|0;STACKTOP = (((STACKTOP)+15)&-16);(assert((((STACKTOP|0) < (STACK_MAX|0))|0))|0); return ret; }, + staticAlloc: function (size) { var ret = STATICTOP;STATICTOP = (STATICTOP + (assert(!staticSealed),size))|0;STATICTOP = (((STATICTOP)+15)&-16); return ret; }, + dynamicAlloc: function (size) { assert(DYNAMICTOP_PTR);var ret = HEAP32[DYNAMICTOP_PTR>>2];var end = (((ret + size + 15)|0) & -16);HEAP32[DYNAMICTOP_PTR>>2] = end;if (end >= TOTAL_MEMORY) {var success = enlargeMemory();if (!success) {HEAP32[DYNAMICTOP_PTR>>2] = ret;return 0;}}return ret;}, + alignMemory: function (size,quantum) { var ret = size = Math.ceil((size)/(quantum ? quantum : 16))*(quantum ? quantum : 16); return ret; }, + makeBigInt: function (low,high,unsigned) { var ret = (unsigned ? ((+((low>>>0)))+((+((high>>>0)))*4294967296.0)) : ((+((low>>>0)))+((+((high|0)))*4294967296.0))); return ret; }, + GLOBAL_BASE: 8, + QUANTUM_SIZE: 4, + __dummy__: 0 +} + + + +Module["Runtime"] = Runtime; + + + +//======================================== +// Runtime essentials +//======================================== + +var ABORT = 0; // whether we are quitting the application. no code should run after this. set in exit() and abort() +var EXITSTATUS = 0; + +function assert(condition, text) { + if (!condition) { + abort('Assertion failed: ' + text); + } +} + +var globalScope = this; + +// Returns the C function with a specified identifier (for C++, you need to do manual name mangling) +function getCFunc(ident) { + var func = Module['_' + ident]; // closure exported function + if (!func) { + try { func = eval('_' + ident); } catch(e) {} + } + assert(func, 'Cannot call unknown function ' + ident + ' (perhaps LLVM optimizations or closure removed it?)'); + return func; +} + +var cwrap, ccall; +(function(){ + var JSfuncs = { + // Helpers for cwrap -- it can't refer to Runtime directly because it might + // be renamed by closure, instead it calls JSfuncs['stackSave'].body to find + // out what the minified function name is. + 'stackSave': function() { + Runtime.stackSave() + }, + 'stackRestore': function() { + Runtime.stackRestore() + }, + // type conversion from js to c + 'arrayToC' : function(arr) { + var ret = Runtime.stackAlloc(arr.length); + writeArrayToMemory(arr, ret); + return ret; + }, + 'stringToC' : function(str) { + var ret = 0; + if (str !== null && str !== undefined && str !== 0) { // null string + // at most 4 bytes per UTF-8 code point, +1 for the trailing '\0' + var len = (str.length << 2) + 1; + ret = Runtime.stackAlloc(len); + stringToUTF8(str, ret, len); + } + return ret; + } + }; + // For fast lookup of conversion functions + var toC = {'string' : JSfuncs['stringToC'], 'array' : JSfuncs['arrayToC']}; + + // C calling interface. + ccall = function ccallFunc(ident, returnType, argTypes, args, opts) { + var func = getCFunc(ident); + var cArgs = []; + var stack = 0; + assert(returnType !== 'array', 'Return type should not be "array".'); + if (args) { + for (var i = 0; i < args.length; i++) { + var converter = toC[argTypes[i]]; + if (converter) { + if (stack === 0) stack = Runtime.stackSave(); + cArgs[i] = converter(args[i]); + } else { + cArgs[i] = args[i]; + } + } + } + var ret = func.apply(null, cArgs); + if ((!opts || !opts.async) && typeof EmterpreterAsync === 'object') { + assert(!EmterpreterAsync.state, 'cannot start async op with normal JS calling ccall'); + } + if (opts && opts.async) assert(!returnType, 'async ccalls cannot return values'); + if (returnType === 'string') ret = Pointer_stringify(ret); + if (stack !== 0) { + if (opts && opts.async) { + EmterpreterAsync.asyncFinalizers.push(function() { + Runtime.stackRestore(stack); + }); + return; + } + Runtime.stackRestore(stack); + } + return ret; + } + + var sourceRegex = /^function\s*[a-zA-Z$_0-9]*\s*\(([^)]*)\)\s*{\s*([^*]*?)[\s;]*(?:return\s*(.*?)[;\s]*)?}$/; + function parseJSFunc(jsfunc) { + // Match the body and the return value of a javascript function source + var parsed = jsfunc.toString().match(sourceRegex).slice(1); + return {arguments : parsed[0], body : parsed[1], returnValue: parsed[2]} + } + + // sources of useful functions. we create this lazily as it can trigger a source decompression on this entire file + var JSsource = null; + function ensureJSsource() { + if (!JSsource) { + JSsource = {}; + for (var fun in JSfuncs) { + if (JSfuncs.hasOwnProperty(fun)) { + // Elements of toCsource are arrays of three items: + // the code, and the return value + JSsource[fun] = parseJSFunc(JSfuncs[fun]); + } + } + } + } + + cwrap = function cwrap(ident, returnType, argTypes) { + argTypes = argTypes || []; + var cfunc = getCFunc(ident); + // When the function takes numbers and returns a number, we can just return + // the original function + var numericArgs = argTypes.every(function(type){ return type === 'number'}); + var numericRet = (returnType !== 'string'); + if ( numericRet && numericArgs) { + return cfunc; + } + // Creation of the arguments list (["$1","$2",...,"$nargs"]) + var argNames = argTypes.map(function(x,i){return '$'+i}); + var funcstr = "(function(" + argNames.join(',') + ") {"; + var nargs = argTypes.length; + if (!numericArgs) { + // Generate the code needed to convert the arguments from javascript + // values to pointers + ensureJSsource(); + funcstr += 'var stack = ' + JSsource['stackSave'].body + ';'; + for (var i = 0; i < nargs; i++) { + var arg = argNames[i], type = argTypes[i]; + if (type === 'number') continue; + var convertCode = JSsource[type + 'ToC']; // [code, return] + funcstr += 'var ' + convertCode.arguments + ' = ' + arg + ';'; + funcstr += convertCode.body + ';'; + funcstr += arg + '=(' + convertCode.returnValue + ');'; + } + } + + // When the code is compressed, the name of cfunc is not literally 'cfunc' anymore + var cfuncname = parseJSFunc(function(){return cfunc}).returnValue; + // Call the function + funcstr += 'var ret = ' + cfuncname + '(' + argNames.join(',') + ');'; + if (!numericRet) { // Return type can only by 'string' or 'number' + // Convert the result to a string + var strgfy = parseJSFunc(function(){return Pointer_stringify}).returnValue; + funcstr += 'ret = ' + strgfy + '(ret);'; + } + funcstr += "if (typeof EmterpreterAsync === 'object') { assert(!EmterpreterAsync.state, 'cannot start async op with normal JS calling cwrap') }"; + if (!numericArgs) { + // If we had a stack, restore it + ensureJSsource(); + funcstr += JSsource['stackRestore'].body.replace('()', '(stack)') + ';'; + } + funcstr += 'return ret})'; + return eval(funcstr); + }; +})(); +Module["ccall"] = ccall; +Module["cwrap"] = cwrap; + +function setValue(ptr, value, type, noSafe) { + type = type || 'i8'; + if (type.charAt(type.length-1) === '*') type = 'i32'; // pointers are 32-bit + switch(type) { + case 'i1': HEAP8[((ptr)>>0)]=value; break; + case 'i8': HEAP8[((ptr)>>0)]=value; break; + case 'i16': HEAP16[((ptr)>>1)]=value; break; + case 'i32': HEAP32[((ptr)>>2)]=value; break; + case 'i64': (tempI64 = [value>>>0,(tempDouble=value,(+(Math_abs(tempDouble))) >= 1.0 ? (tempDouble > 0.0 ? ((Math_min((+(Math_floor((tempDouble)/4294967296.0))), 4294967295.0))|0)>>>0 : (~~((+(Math_ceil((tempDouble - +(((~~(tempDouble)))>>>0))/4294967296.0)))))>>>0) : 0)],HEAP32[((ptr)>>2)]=tempI64[0],HEAP32[(((ptr)+(4))>>2)]=tempI64[1]); break; + case 'float': HEAPF32[((ptr)>>2)]=value; break; + case 'double': HEAPF64[((ptr)>>3)]=value; break; + default: abort('invalid type for setValue: ' + type); + } +} +Module["setValue"] = setValue; + + +function getValue(ptr, type, noSafe) { + type = type || 'i8'; + if (type.charAt(type.length-1) === '*') type = 'i32'; // pointers are 32-bit + switch(type) { + case 'i1': return HEAP8[((ptr)>>0)]; + case 'i8': return HEAP8[((ptr)>>0)]; + case 'i16': return HEAP16[((ptr)>>1)]; + case 'i32': return HEAP32[((ptr)>>2)]; + case 'i64': return HEAP32[((ptr)>>2)]; + case 'float': return HEAPF32[((ptr)>>2)]; + case 'double': return HEAPF64[((ptr)>>3)]; + default: abort('invalid type for setValue: ' + type); + } + return null; +} +Module["getValue"] = getValue; + +var ALLOC_NORMAL = 0; // Tries to use _malloc() +var ALLOC_STACK = 1; // Lives for the duration of the current function call +var ALLOC_STATIC = 2; // Cannot be freed +var ALLOC_DYNAMIC = 3; // Cannot be freed except through sbrk +var ALLOC_NONE = 4; // Do not allocate +Module["ALLOC_NORMAL"] = ALLOC_NORMAL; +Module["ALLOC_STACK"] = ALLOC_STACK; +Module["ALLOC_STATIC"] = ALLOC_STATIC; +Module["ALLOC_DYNAMIC"] = ALLOC_DYNAMIC; +Module["ALLOC_NONE"] = ALLOC_NONE; + +// allocate(): This is for internal use. You can use it yourself as well, but the interface +// is a little tricky (see docs right below). The reason is that it is optimized +// for multiple syntaxes to save space in generated code. So you should +// normally not use allocate(), and instead allocate memory using _malloc(), +// initialize it with setValue(), and so forth. +// @slab: An array of data, or a number. If a number, then the size of the block to allocate, +// in *bytes* (note that this is sometimes confusing: the next parameter does not +// affect this!) +// @types: Either an array of types, one for each byte (or 0 if no type at that position), +// or a single type which is used for the entire block. This only matters if there +// is initial data - if @slab is a number, then this does not matter at all and is +// ignored. +// @allocator: How to allocate memory, see ALLOC_* +function allocate(slab, types, allocator, ptr) { + var zeroinit, size; + if (typeof slab === 'number') { + zeroinit = true; + size = slab; + } else { + zeroinit = false; + size = slab.length; + } + + var singleType = typeof types === 'string' ? types : null; + + var ret; + if (allocator == ALLOC_NONE) { + ret = ptr; + } else { + ret = [typeof _malloc === 'function' ? _malloc : Runtime.staticAlloc, Runtime.stackAlloc, Runtime.staticAlloc, Runtime.dynamicAlloc][allocator === undefined ? ALLOC_STATIC : allocator](Math.max(size, singleType ? 1 : types.length)); + } + + if (zeroinit) { + var ptr = ret, stop; + assert((ret & 3) == 0); + stop = ret + (size & ~3); + for (; ptr < stop; ptr += 4) { + HEAP32[((ptr)>>2)]=0; + } + stop = ret + size; + while (ptr < stop) { + HEAP8[((ptr++)>>0)]=0; + } + return ret; + } + + if (singleType === 'i8') { + if (slab.subarray || slab.slice) { + HEAPU8.set(slab, ret); + } else { + HEAPU8.set(new Uint8Array(slab), ret); + } + return ret; + } + + var i = 0, type, typeSize, previousType; + while (i < size) { + var curr = slab[i]; + + if (typeof curr === 'function') { + curr = Runtime.getFunctionIndex(curr); + } + + type = singleType || types[i]; + if (type === 0) { + i++; + continue; + } + assert(type, 'Must know what type to store in allocate!'); + + if (type == 'i64') type = 'i32'; // special case: we have one i32 here, and one i32 later + + setValue(ret+i, curr, type); + + // no need to look up size unless type changes, so cache it + if (previousType !== type) { + typeSize = Runtime.getNativeTypeSize(type); + previousType = type; + } + i += typeSize; + } + + return ret; +} +Module["allocate"] = allocate; + +// Allocate memory during any stage of startup - static memory early on, dynamic memory later, malloc when ready +function getMemory(size) { + if (!staticSealed) return Runtime.staticAlloc(size); + if (!runtimeInitialized) return Runtime.dynamicAlloc(size); + return _malloc(size); +} +Module["getMemory"] = getMemory; + +function Pointer_stringify(ptr, /* optional */ length) { + if (length === 0 || !ptr) return ''; + // TODO: use TextDecoder + // Find the length, and check for UTF while doing so + var hasUtf = 0; + var t; + var i = 0; + while (1) { + assert(ptr + i < TOTAL_MEMORY); + t = HEAPU8[(((ptr)+(i))>>0)]; + hasUtf |= t; + if (t == 0 && !length) break; + i++; + if (length && i == length) break; + } + if (!length) length = i; + + var ret = ''; + + if (hasUtf < 128) { + var MAX_CHUNK = 1024; // split up into chunks, because .apply on a huge string can overflow the stack + var curr; + while (length > 0) { + curr = String.fromCharCode.apply(String, HEAPU8.subarray(ptr, ptr + Math.min(length, MAX_CHUNK))); + ret = ret ? ret + curr : curr; + ptr += MAX_CHUNK; + length -= MAX_CHUNK; + } + return ret; + } + return Module['UTF8ToString'](ptr); +} +Module["Pointer_stringify"] = Pointer_stringify; + +// Given a pointer 'ptr' to a null-terminated ASCII-encoded string in the emscripten HEAP, returns +// a copy of that string as a Javascript String object. + +function AsciiToString(ptr) { + var str = ''; + while (1) { + var ch = HEAP8[((ptr++)>>0)]; + if (!ch) return str; + str += String.fromCharCode(ch); + } +} +Module["AsciiToString"] = AsciiToString; + +// Copies the given Javascript String object 'str' to the emscripten HEAP at address 'outPtr', +// null-terminated and encoded in ASCII form. The copy will require at most str.length+1 bytes of space in the HEAP. + +function stringToAscii(str, outPtr) { + return writeAsciiToMemory(str, outPtr, false); +} +Module["stringToAscii"] = stringToAscii; + +// Given a pointer 'ptr' to a null-terminated UTF8-encoded string in the given array that contains uint8 values, returns +// a copy of that string as a Javascript String object. + +var UTF8Decoder = typeof TextDecoder !== 'undefined' ? new TextDecoder('utf8') : undefined; +function UTF8ArrayToString(u8Array, idx) { + var endPtr = idx; + // TextDecoder needs to know the byte length in advance, it doesn't stop on null terminator by itself. + // Also, use the length info to avoid running tiny strings through TextDecoder, since .subarray() allocates garbage. + while (u8Array[endPtr]) ++endPtr; + + if (endPtr - idx > 16 && u8Array.subarray && UTF8Decoder) { + return UTF8Decoder.decode(u8Array.subarray(idx, endPtr)); + } else { + var u0, u1, u2, u3, u4, u5; + + var str = ''; + while (1) { + // For UTF8 byte structure, see http://en.wikipedia.org/wiki/UTF-8#Description and https://www.ietf.org/rfc/rfc2279.txt and https://tools.ietf.org/html/rfc3629 + u0 = u8Array[idx++]; + if (!u0) return str; + if (!(u0 & 0x80)) { str += String.fromCharCode(u0); continue; } + u1 = u8Array[idx++] & 63; + if ((u0 & 0xE0) == 0xC0) { str += String.fromCharCode(((u0 & 31) << 6) | u1); continue; } + u2 = u8Array[idx++] & 63; + if ((u0 & 0xF0) == 0xE0) { + u0 = ((u0 & 15) << 12) | (u1 << 6) | u2; + } else { + u3 = u8Array[idx++] & 63; + if ((u0 & 0xF8) == 0xF0) { + u0 = ((u0 & 7) << 18) | (u1 << 12) | (u2 << 6) | u3; + } else { + u4 = u8Array[idx++] & 63; + if ((u0 & 0xFC) == 0xF8) { + u0 = ((u0 & 3) << 24) | (u1 << 18) | (u2 << 12) | (u3 << 6) | u4; + } else { + u5 = u8Array[idx++] & 63; + u0 = ((u0 & 1) << 30) | (u1 << 24) | (u2 << 18) | (u3 << 12) | (u4 << 6) | u5; + } + } + } + if (u0 < 0x10000) { + str += String.fromCharCode(u0); + } else { + var ch = u0 - 0x10000; + str += String.fromCharCode(0xD800 | (ch >> 10), 0xDC00 | (ch & 0x3FF)); + } + } + } +} +Module["UTF8ArrayToString"] = UTF8ArrayToString; + +// Given a pointer 'ptr' to a null-terminated UTF8-encoded string in the emscripten HEAP, returns +// a copy of that string as a Javascript String object. + +function UTF8ToString(ptr) { + return UTF8ArrayToString(HEAPU8,ptr); +} +Module["UTF8ToString"] = UTF8ToString; + +// Copies the given Javascript String object 'str' to the given byte array at address 'outIdx', +// encoded in UTF8 form and null-terminated. The copy will require at most str.length*4+1 bytes of space in the HEAP. +// Use the function lengthBytesUTF8 to compute the exact number of bytes (excluding null terminator) that this function will write. +// Parameters: +// str: the Javascript string to copy. +// outU8Array: the array to copy to. Each index in this array is assumed to be one 8-byte element. +// outIdx: The starting offset in the array to begin the copying. +// maxBytesToWrite: The maximum number of bytes this function can write to the array. This count should include the null +// terminator, i.e. if maxBytesToWrite=1, only the null terminator will be written and nothing else. +// maxBytesToWrite=0 does not write any bytes to the output, not even the null terminator. +// Returns the number of bytes written, EXCLUDING the null terminator. + +function stringToUTF8Array(str, outU8Array, outIdx, maxBytesToWrite) { + if (!(maxBytesToWrite > 0)) // Parameter maxBytesToWrite is not optional. Negative values, 0, null, undefined and false each don't write out any bytes. + return 0; + + var startIdx = outIdx; + var endIdx = outIdx + maxBytesToWrite - 1; // -1 for string null terminator. + for (var i = 0; i < str.length; ++i) { + // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code unit, not a Unicode code point of the character! So decode UTF16->UTF32->UTF8. + // See http://unicode.org/faq/utf_bom.html#utf16-3 + // For UTF8 byte structure, see http://en.wikipedia.org/wiki/UTF-8#Description and https://www.ietf.org/rfc/rfc2279.txt and https://tools.ietf.org/html/rfc3629 + var u = str.charCodeAt(i); // possibly a lead surrogate + if (u >= 0xD800 && u <= 0xDFFF) u = 0x10000 + ((u & 0x3FF) << 10) | (str.charCodeAt(++i) & 0x3FF); + if (u <= 0x7F) { + if (outIdx >= endIdx) break; + outU8Array[outIdx++] = u; + } else if (u <= 0x7FF) { + if (outIdx + 1 >= endIdx) break; + outU8Array[outIdx++] = 0xC0 | (u >> 6); + outU8Array[outIdx++] = 0x80 | (u & 63); + } else if (u <= 0xFFFF) { + if (outIdx + 2 >= endIdx) break; + outU8Array[outIdx++] = 0xE0 | (u >> 12); + outU8Array[outIdx++] = 0x80 | ((u >> 6) & 63); + outU8Array[outIdx++] = 0x80 | (u & 63); + } else if (u <= 0x1FFFFF) { + if (outIdx + 3 >= endIdx) break; + outU8Array[outIdx++] = 0xF0 | (u >> 18); + outU8Array[outIdx++] = 0x80 | ((u >> 12) & 63); + outU8Array[outIdx++] = 0x80 | ((u >> 6) & 63); + outU8Array[outIdx++] = 0x80 | (u & 63); + } else if (u <= 0x3FFFFFF) { + if (outIdx + 4 >= endIdx) break; + outU8Array[outIdx++] = 0xF8 | (u >> 24); + outU8Array[outIdx++] = 0x80 | ((u >> 18) & 63); + outU8Array[outIdx++] = 0x80 | ((u >> 12) & 63); + outU8Array[outIdx++] = 0x80 | ((u >> 6) & 63); + outU8Array[outIdx++] = 0x80 | (u & 63); + } else { + if (outIdx + 5 >= endIdx) break; + outU8Array[outIdx++] = 0xFC | (u >> 30); + outU8Array[outIdx++] = 0x80 | ((u >> 24) & 63); + outU8Array[outIdx++] = 0x80 | ((u >> 18) & 63); + outU8Array[outIdx++] = 0x80 | ((u >> 12) & 63); + outU8Array[outIdx++] = 0x80 | ((u >> 6) & 63); + outU8Array[outIdx++] = 0x80 | (u & 63); + } + } + // Null-terminate the pointer to the buffer. + outU8Array[outIdx] = 0; + return outIdx - startIdx; +} +Module["stringToUTF8Array"] = stringToUTF8Array; + +// Copies the given Javascript String object 'str' to the emscripten HEAP at address 'outPtr', +// null-terminated and encoded in UTF8 form. The copy will require at most str.length*4+1 bytes of space in the HEAP. +// Use the function lengthBytesUTF8 to compute the exact number of bytes (excluding null terminator) that this function will write. +// Returns the number of bytes written, EXCLUDING the null terminator. + +function stringToUTF8(str, outPtr, maxBytesToWrite) { + assert(typeof maxBytesToWrite == 'number', 'stringToUTF8(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!'); + return stringToUTF8Array(str, HEAPU8,outPtr, maxBytesToWrite); +} +Module["stringToUTF8"] = stringToUTF8; + +// Returns the number of bytes the given Javascript string takes if encoded as a UTF8 byte array, EXCLUDING the null terminator byte. + +function lengthBytesUTF8(str) { + var len = 0; + for (var i = 0; i < str.length; ++i) { + // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code unit, not a Unicode code point of the character! So decode UTF16->UTF32->UTF8. + // See http://unicode.org/faq/utf_bom.html#utf16-3 + var u = str.charCodeAt(i); // possibly a lead surrogate + if (u >= 0xD800 && u <= 0xDFFF) u = 0x10000 + ((u & 0x3FF) << 10) | (str.charCodeAt(++i) & 0x3FF); + if (u <= 0x7F) { + ++len; + } else if (u <= 0x7FF) { + len += 2; + } else if (u <= 0xFFFF) { + len += 3; + } else if (u <= 0x1FFFFF) { + len += 4; + } else if (u <= 0x3FFFFFF) { + len += 5; + } else { + len += 6; + } + } + return len; +} +Module["lengthBytesUTF8"] = lengthBytesUTF8; + +// Given a pointer 'ptr' to a null-terminated UTF16LE-encoded string in the emscripten HEAP, returns +// a copy of that string as a Javascript String object. + +var UTF16Decoder = typeof TextDecoder !== 'undefined' ? new TextDecoder('utf-16le') : undefined; +function UTF16ToString(ptr) { + assert(ptr % 2 == 0, 'Pointer passed to UTF16ToString must be aligned to two bytes!'); + var endPtr = ptr; + // TextDecoder needs to know the byte length in advance, it doesn't stop on null terminator by itself. + // Also, use the length info to avoid running tiny strings through TextDecoder, since .subarray() allocates garbage. + var idx = endPtr >> 1; + while (HEAP16[idx]) ++idx; + endPtr = idx << 1; + + if (endPtr - ptr > 32 && UTF16Decoder) { + return UTF16Decoder.decode(HEAPU8.subarray(ptr, endPtr)); + } else { + var i = 0; + + var str = ''; + while (1) { + var codeUnit = HEAP16[(((ptr)+(i*2))>>1)]; + if (codeUnit == 0) return str; + ++i; + // fromCharCode constructs a character from a UTF-16 code unit, so we can pass the UTF16 string right through. + str += String.fromCharCode(codeUnit); + } + } +} + + +// Copies the given Javascript String object 'str' to the emscripten HEAP at address 'outPtr', +// null-terminated and encoded in UTF16 form. The copy will require at most str.length*4+2 bytes of space in the HEAP. +// Use the function lengthBytesUTF16() to compute the exact number of bytes (excluding null terminator) that this function will write. +// Parameters: +// str: the Javascript string to copy. +// outPtr: Byte address in Emscripten HEAP where to write the string to. +// maxBytesToWrite: The maximum number of bytes this function can write to the array. This count should include the null +// terminator, i.e. if maxBytesToWrite=2, only the null terminator will be written and nothing else. +// maxBytesToWrite<2 does not write any bytes to the output, not even the null terminator. +// Returns the number of bytes written, EXCLUDING the null terminator. + +function stringToUTF16(str, outPtr, maxBytesToWrite) { + assert(outPtr % 2 == 0, 'Pointer passed to stringToUTF16 must be aligned to two bytes!'); + assert(typeof maxBytesToWrite == 'number', 'stringToUTF16(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!'); + // Backwards compatibility: if max bytes is not specified, assume unsafe unbounded write is allowed. + if (maxBytesToWrite === undefined) { + maxBytesToWrite = 0x7FFFFFFF; + } + if (maxBytesToWrite < 2) return 0; + maxBytesToWrite -= 2; // Null terminator. + var startPtr = outPtr; + var numCharsToWrite = (maxBytesToWrite < str.length*2) ? (maxBytesToWrite / 2) : str.length; + for (var i = 0; i < numCharsToWrite; ++i) { + // charCodeAt returns a UTF-16 encoded code unit, so it can be directly written to the HEAP. + var codeUnit = str.charCodeAt(i); // possibly a lead surrogate + HEAP16[((outPtr)>>1)]=codeUnit; + outPtr += 2; + } + // Null-terminate the pointer to the HEAP. + HEAP16[((outPtr)>>1)]=0; + return outPtr - startPtr; +} + + +// Returns the number of bytes the given Javascript string takes if encoded as a UTF16 byte array, EXCLUDING the null terminator byte. + +function lengthBytesUTF16(str) { + return str.length*2; +} + + +function UTF32ToString(ptr) { + assert(ptr % 4 == 0, 'Pointer passed to UTF32ToString must be aligned to four bytes!'); + var i = 0; + + var str = ''; + while (1) { + var utf32 = HEAP32[(((ptr)+(i*4))>>2)]; + if (utf32 == 0) + return str; + ++i; + // Gotcha: fromCharCode constructs a character from a UTF-16 encoded code (pair), not from a Unicode code point! So encode the code point to UTF-16 for constructing. + // See http://unicode.org/faq/utf_bom.html#utf16-3 + if (utf32 >= 0x10000) { + var ch = utf32 - 0x10000; + str += String.fromCharCode(0xD800 | (ch >> 10), 0xDC00 | (ch & 0x3FF)); + } else { + str += String.fromCharCode(utf32); + } + } +} + + +// Copies the given Javascript String object 'str' to the emscripten HEAP at address 'outPtr', +// null-terminated and encoded in UTF32 form. The copy will require at most str.length*4+4 bytes of space in the HEAP. +// Use the function lengthBytesUTF32() to compute the exact number of bytes (excluding null terminator) that this function will write. +// Parameters: +// str: the Javascript string to copy. +// outPtr: Byte address in Emscripten HEAP where to write the string to. +// maxBytesToWrite: The maximum number of bytes this function can write to the array. This count should include the null +// terminator, i.e. if maxBytesToWrite=4, only the null terminator will be written and nothing else. +// maxBytesToWrite<4 does not write any bytes to the output, not even the null terminator. +// Returns the number of bytes written, EXCLUDING the null terminator. + +function stringToUTF32(str, outPtr, maxBytesToWrite) { + assert(outPtr % 4 == 0, 'Pointer passed to stringToUTF32 must be aligned to four bytes!'); + assert(typeof maxBytesToWrite == 'number', 'stringToUTF32(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!'); + // Backwards compatibility: if max bytes is not specified, assume unsafe unbounded write is allowed. + if (maxBytesToWrite === undefined) { + maxBytesToWrite = 0x7FFFFFFF; + } + if (maxBytesToWrite < 4) return 0; + var startPtr = outPtr; + var endPtr = startPtr + maxBytesToWrite - 4; + for (var i = 0; i < str.length; ++i) { + // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code unit, not a Unicode code point of the character! We must decode the string to UTF-32 to the heap. + // See http://unicode.org/faq/utf_bom.html#utf16-3 + var codeUnit = str.charCodeAt(i); // possibly a lead surrogate + if (codeUnit >= 0xD800 && codeUnit <= 0xDFFF) { + var trailSurrogate = str.charCodeAt(++i); + codeUnit = 0x10000 + ((codeUnit & 0x3FF) << 10) | (trailSurrogate & 0x3FF); + } + HEAP32[((outPtr)>>2)]=codeUnit; + outPtr += 4; + if (outPtr + 4 > endPtr) break; + } + // Null-terminate the pointer to the HEAP. + HEAP32[((outPtr)>>2)]=0; + return outPtr - startPtr; +} + + +// Returns the number of bytes the given Javascript string takes if encoded as a UTF16 byte array, EXCLUDING the null terminator byte. + +function lengthBytesUTF32(str) { + var len = 0; + for (var i = 0; i < str.length; ++i) { + // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code unit, not a Unicode code point of the character! We must decode the string to UTF-32 to the heap. + // See http://unicode.org/faq/utf_bom.html#utf16-3 + var codeUnit = str.charCodeAt(i); + if (codeUnit >= 0xD800 && codeUnit <= 0xDFFF) ++i; // possibly a lead surrogate, so skip over the tail surrogate. + len += 4; + } + + return len; +} + + +function demangle(func) { + var __cxa_demangle_func = Module['___cxa_demangle'] || Module['__cxa_demangle']; + if (__cxa_demangle_func) { + try { + var s = + func.substr(1); + var len = lengthBytesUTF8(s)+1; + var buf = _malloc(len); + stringToUTF8(s, buf, len); + var status = _malloc(4); + var ret = __cxa_demangle_func(buf, 0, 0, status); + if (getValue(status, 'i32') === 0 && ret) { + return Pointer_stringify(ret); + } + // otherwise, libcxxabi failed + } catch(e) { + // ignore problems here + } finally { + if (buf) _free(buf); + if (status) _free(status); + if (ret) _free(ret); + } + // failure when using libcxxabi, don't demangle + return func; + } + Runtime.warnOnce('warning: build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling'); + return func; +} + +function demangleAll(text) { + var regex = + /__Z[\w\d_]+/g; + return text.replace(regex, + function(x) { + var y = demangle(x); + return x === y ? x : (x + ' [' + y + ']'); + }); +} + +function jsStackTrace() { + var err = new Error(); + if (!err.stack) { + // IE10+ special cases: It does have callstack info, but it is only populated if an Error object is thrown, + // so try that as a special-case. + try { + throw new Error(0); + } catch(e) { + err = e; + } + if (!err.stack) { + return '(no stack trace available)'; + } + } + return err.stack.toString(); +} + +function stackTrace() { + var js = jsStackTrace(); + if (Module['extraStackTrace']) js += '\n' + Module['extraStackTrace'](); + return demangleAll(js); +} +Module["stackTrace"] = stackTrace; + +// Memory management + +var PAGE_SIZE = 16384; +var WASM_PAGE_SIZE = 65536; +var ASMJS_PAGE_SIZE = 16777216; +var MIN_TOTAL_MEMORY = 16777216; + +function alignUp(x, multiple) { + if (x % multiple > 0) { + x += multiple - (x % multiple); + } + return x; +} + +var HEAP; +var buffer; +var HEAP8, HEAPU8, HEAP16, HEAPU16, HEAP32, HEAPU32, HEAPF32, HEAPF64; + +function updateGlobalBuffer(buf) { + Module['buffer'] = buffer = buf; +} + +function updateGlobalBufferViews() { + Module['HEAP8'] = HEAP8 = new Int8Array(buffer); + Module['HEAP16'] = HEAP16 = new Int16Array(buffer); + Module['HEAP32'] = HEAP32 = new Int32Array(buffer); + Module['HEAPU8'] = HEAPU8 = new Uint8Array(buffer); + Module['HEAPU16'] = HEAPU16 = new Uint16Array(buffer); + Module['HEAPU32'] = HEAPU32 = new Uint32Array(buffer); + Module['HEAPF32'] = HEAPF32 = new Float32Array(buffer); + Module['HEAPF64'] = HEAPF64 = new Float64Array(buffer); +} + +var STATIC_BASE, STATICTOP, staticSealed; // static area +var STACK_BASE, STACKTOP, STACK_MAX; // stack area +var DYNAMIC_BASE, DYNAMICTOP_PTR; // dynamic area handled by sbrk + + STATIC_BASE = STATICTOP = STACK_BASE = STACKTOP = STACK_MAX = DYNAMIC_BASE = DYNAMICTOP_PTR = 0; + staticSealed = false; + + +// Initializes the stack cookie. Called at the startup of main and at the startup of each thread in pthreads mode. +function writeStackCookie() { + assert((STACK_MAX & 3) == 0); + HEAPU32[(STACK_MAX >> 2)-1] = 0x02135467; + HEAPU32[(STACK_MAX >> 2)-2] = 0x89BACDFE; +} + +function checkStackCookie() { + if (HEAPU32[(STACK_MAX >> 2)-1] != 0x02135467 || HEAPU32[(STACK_MAX >> 2)-2] != 0x89BACDFE) { + abort('Stack overflow! Stack cookie has been overwritten, expected hex dwords 0x89BACDFE and 0x02135467, but received 0x' + HEAPU32[(STACK_MAX >> 2)-2].toString(16) + ' ' + HEAPU32[(STACK_MAX >> 2)-1].toString(16)); + } + // Also test the global address 0 for integrity. This check is not compatible with SAFE_SPLIT_MEMORY though, since that mode already tests all address 0 accesses on its own. + if (HEAP32[0] !== 0x63736d65 /* 'emsc' */) throw 'Runtime error: The application has corrupted its heap memory area (address zero)!'; +} + +function abortStackOverflow(allocSize) { + abort('Stack overflow! Attempted to allocate ' + allocSize + ' bytes on the stack, but stack has only ' + (STACK_MAX - asm.stackSave() + allocSize) + ' bytes available!'); +} + +function abortOnCannotGrowMemory() { + abort('Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value ' + TOTAL_MEMORY + ', (2) compile with -s ALLOW_MEMORY_GROWTH=1 which adjusts the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 '); +} + + +function enlargeMemory() { + abortOnCannotGrowMemory(); +} + + +var TOTAL_STACK = Module['TOTAL_STACK'] || 5242880; +var TOTAL_MEMORY = Module['TOTAL_MEMORY'] || 67108864; +if (TOTAL_MEMORY < TOTAL_STACK) Module.printErr('TOTAL_MEMORY should be larger than TOTAL_STACK, was ' + TOTAL_MEMORY + '! (TOTAL_STACK=' + TOTAL_STACK + ')'); + +// Initialize the runtime's memory +// check for full engine support (use string 'subarray' to avoid closure compiler confusion) +assert(typeof Int32Array !== 'undefined' && typeof Float64Array !== 'undefined' && !!(new Int32Array(1)['subarray']) && !!(new Int32Array(1)['set']), + 'JS engine does not provide full typed array support'); + + + +// Use a provided buffer, if there is one, or else allocate a new one +if (Module['buffer']) { + buffer = Module['buffer']; + assert(buffer.byteLength === TOTAL_MEMORY, 'provided buffer should be ' + TOTAL_MEMORY + ' bytes, but it is ' + buffer.byteLength); +} else { + // Use a WebAssembly memory where available + { + buffer = new ArrayBuffer(TOTAL_MEMORY); + } + assert(buffer.byteLength === TOTAL_MEMORY); +} +updateGlobalBufferViews(); + + +function getTotalMemory() { + return TOTAL_MEMORY; +} + +// Endianness check (note: assumes compiler arch was little-endian) + HEAP32[0] = 0x63736d65; /* 'emsc' */ +HEAP16[1] = 0x6373; +if (HEAPU8[2] !== 0x73 || HEAPU8[3] !== 0x63) throw 'Runtime error: expected the system to be little-endian!'; + +Module['HEAP'] = HEAP; +Module['buffer'] = buffer; +Module['HEAP8'] = HEAP8; +Module['HEAP16'] = HEAP16; +Module['HEAP32'] = HEAP32; +Module['HEAPU8'] = HEAPU8; +Module['HEAPU16'] = HEAPU16; +Module['HEAPU32'] = HEAPU32; +Module['HEAPF32'] = HEAPF32; +Module['HEAPF64'] = HEAPF64; + +function callRuntimeCallbacks(callbacks) { + while(callbacks.length > 0) { + var callback = callbacks.shift(); + if (typeof callback == 'function') { + callback(); + continue; + } + var func = callback.func; + if (typeof func === 'number') { + if (callback.arg === undefined) { + Module['dynCall_v'](func); + } else { + Module['dynCall_vi'](func, callback.arg); + } + } else { + func(callback.arg === undefined ? null : callback.arg); + } + } +} + +var __ATPRERUN__ = []; // functions called before the runtime is initialized +var __ATINIT__ = []; // functions called during startup +var __ATMAIN__ = []; // functions called when main() is to be run +var __ATEXIT__ = []; // functions called during shutdown +var __ATPOSTRUN__ = []; // functions called after the runtime has exited + +var runtimeInitialized = false; +var runtimeExited = false; + + +function preRun() { + // compatibility - merge in anything from Module['preRun'] at this time + if (Module['preRun']) { + if (typeof Module['preRun'] == 'function') Module['preRun'] = [Module['preRun']]; + while (Module['preRun'].length) { + addOnPreRun(Module['preRun'].shift()); + } + } + callRuntimeCallbacks(__ATPRERUN__); +} + +function ensureInitRuntime() { + checkStackCookie(); + if (runtimeInitialized) return; + runtimeInitialized = true; + callRuntimeCallbacks(__ATINIT__); +} + +function preMain() { + checkStackCookie(); + callRuntimeCallbacks(__ATMAIN__); +} + +function exitRuntime() { + checkStackCookie(); + callRuntimeCallbacks(__ATEXIT__); + runtimeExited = true; +} + +function postRun() { + checkStackCookie(); + // compatibility - merge in anything from Module['postRun'] at this time + if (Module['postRun']) { + if (typeof Module['postRun'] == 'function') Module['postRun'] = [Module['postRun']]; + while (Module['postRun'].length) { + addOnPostRun(Module['postRun'].shift()); + } + } + callRuntimeCallbacks(__ATPOSTRUN__); +} + +function addOnPreRun(cb) { + __ATPRERUN__.unshift(cb); +} +Module["addOnPreRun"] = addOnPreRun; + +function addOnInit(cb) { + __ATINIT__.unshift(cb); +} +Module["addOnInit"] = addOnInit; + +function addOnPreMain(cb) { + __ATMAIN__.unshift(cb); +} +Module["addOnPreMain"] = addOnPreMain; + +function addOnExit(cb) { + __ATEXIT__.unshift(cb); +} +Module["addOnExit"] = addOnExit; + +function addOnPostRun(cb) { + __ATPOSTRUN__.unshift(cb); +} +Module["addOnPostRun"] = addOnPostRun; + +// Tools + + +function intArrayFromString(stringy, dontAddNull, length /* optional */) { + var len = length > 0 ? length : lengthBytesUTF8(stringy)+1; + var u8array = new Array(len); + var numBytesWritten = stringToUTF8Array(stringy, u8array, 0, u8array.length); + if (dontAddNull) u8array.length = numBytesWritten; + return u8array; +} +Module["intArrayFromString"] = intArrayFromString; + +function intArrayToString(array) { + var ret = []; + for (var i = 0; i < array.length; i++) { + var chr = array[i]; + if (chr > 0xFF) { + assert(false, 'Character code ' + chr + ' (' + String.fromCharCode(chr) + ') at offset ' + i + ' not in 0x00-0xFF.'); + chr &= 0xFF; + } + ret.push(String.fromCharCode(chr)); + } + return ret.join(''); +} +Module["intArrayToString"] = intArrayToString; + +// Deprecated: This function should not be called because it is unsafe and does not provide +// a maximum length limit of how many bytes it is allowed to write. Prefer calling the +// function stringToUTF8Array() instead, which takes in a maximum length that can be used +// to be secure from out of bounds writes. +function writeStringToMemory(string, buffer, dontAddNull) { + Runtime.warnOnce('writeStringToMemory is deprecated and should not be called! Use stringToUTF8() instead!'); + + var lastChar, end; + if (dontAddNull) { + // stringToUTF8Array always appends null. If we don't want to do that, remember the + // character that existed at the location where the null will be placed, and restore + // that after the write (below). + end = buffer + lengthBytesUTF8(string); + lastChar = HEAP8[end]; + } + stringToUTF8(string, buffer, Infinity); + if (dontAddNull) HEAP8[end] = lastChar; // Restore the value under the null character. +} +Module["writeStringToMemory"] = writeStringToMemory; + +function writeArrayToMemory(array, buffer) { + assert(array.length >= 0, 'writeArrayToMemory array must have a length (should be an array or typed array)') + HEAP8.set(array, buffer); +} +Module["writeArrayToMemory"] = writeArrayToMemory; + +function writeAsciiToMemory(str, buffer, dontAddNull) { + for (var i = 0; i < str.length; ++i) { + assert(str.charCodeAt(i) === str.charCodeAt(i)&0xff); + HEAP8[((buffer++)>>0)]=str.charCodeAt(i); + } + // Null-terminate the pointer to the HEAP. + if (!dontAddNull) HEAP8[((buffer)>>0)]=0; +} +Module["writeAsciiToMemory"] = writeAsciiToMemory; + +function unSign(value, bits, ignore) { + if (value >= 0) { + return value; + } + return bits <= 32 ? 2*Math.abs(1 << (bits-1)) + value // Need some trickery, since if bits == 32, we are right at the limit of the bits JS uses in bitshifts + : Math.pow(2, bits) + value; +} +function reSign(value, bits, ignore) { + if (value <= 0) { + return value; + } + var half = bits <= 32 ? Math.abs(1 << (bits-1)) // abs is needed if bits == 32 + : Math.pow(2, bits-1); + if (value >= half && (bits <= 32 || value > half)) { // for huge values, we can hit the precision limit and always get true here. so don't do that + // but, in general there is no perfect solution here. With 64-bit ints, we get rounding and errors + // TODO: In i64 mode 1, resign the two parts separately and safely + value = -2*half + value; // Cannot bitshift half, as it may be at the limit of the bits JS uses in bitshifts + } + return value; +} + + +// check for imul support, and also for correctness ( https://bugs.webkit.org/show_bug.cgi?id=126345 ) +if (!Math['imul'] || Math['imul'](0xffffffff, 5) !== -5) Math['imul'] = function imul(a, b) { + var ah = a >>> 16; + var al = a & 0xffff; + var bh = b >>> 16; + var bl = b & 0xffff; + return (al*bl + ((ah*bl + al*bh) << 16))|0; +}; +Math.imul = Math['imul']; + + +if (!Math['clz32']) Math['clz32'] = function(x) { + x = x >>> 0; + for (var i = 0; i < 32; i++) { + if (x & (1 << (31 - i))) return i; + } + return 32; +}; +Math.clz32 = Math['clz32'] + +if (!Math['trunc']) Math['trunc'] = function(x) { + return x < 0 ? Math.ceil(x) : Math.floor(x); +}; +Math.trunc = Math['trunc']; + +var Math_abs = Math.abs; +var Math_cos = Math.cos; +var Math_sin = Math.sin; +var Math_tan = Math.tan; +var Math_acos = Math.acos; +var Math_asin = Math.asin; +var Math_atan = Math.atan; +var Math_atan2 = Math.atan2; +var Math_exp = Math.exp; +var Math_log = Math.log; +var Math_sqrt = Math.sqrt; +var Math_ceil = Math.ceil; +var Math_floor = Math.floor; +var Math_pow = Math.pow; +var Math_imul = Math.imul; +var Math_fround = Math.fround; +var Math_round = Math.round; +var Math_min = Math.min; +var Math_clz32 = Math.clz32; +var Math_trunc = Math.trunc; + +// A counter of dependencies for calling run(). If we need to +// do asynchronous work before running, increment this and +// decrement it. Incrementing must happen in a place like +// PRE_RUN_ADDITIONS (used by emcc to add file preloading). +// Note that you can add dependencies in preRun, even though +// it happens right before run - run will be postponed until +// the dependencies are met. +var runDependencies = 0; +var runDependencyWatcher = null; +var dependenciesFulfilled = null; // overridden to take different actions when all run dependencies are fulfilled +var runDependencyTracking = {}; + +function getUniqueRunDependency(id) { + var orig = id; + while (1) { + if (!runDependencyTracking[id]) return id; + id = orig + Math.random(); + } + return id; +} + +function addRunDependency(id) { + runDependencies++; + if (Module['monitorRunDependencies']) { + Module['monitorRunDependencies'](runDependencies); + } + if (id) { + assert(!runDependencyTracking[id]); + runDependencyTracking[id] = 1; + if (runDependencyWatcher === null && typeof setInterval !== 'undefined') { + // Check for missing dependencies every few seconds + runDependencyWatcher = setInterval(function() { + if (ABORT) { + clearInterval(runDependencyWatcher); + runDependencyWatcher = null; + return; + } + var shown = false; + for (var dep in runDependencyTracking) { + if (!shown) { + shown = true; + Module.printErr('still waiting on run dependencies:'); + } + Module.printErr('dependency: ' + dep); + } + if (shown) { + Module.printErr('(end of list)'); + } + }, 10000); + } + } else { + Module.printErr('warning: run dependency added without ID'); + } +} +Module["addRunDependency"] = addRunDependency; + +function removeRunDependency(id) { + runDependencies--; + if (Module['monitorRunDependencies']) { + Module['monitorRunDependencies'](runDependencies); + } + if (id) { + assert(runDependencyTracking[id]); + delete runDependencyTracking[id]; + } else { + Module.printErr('warning: run dependency removed without ID'); + } + if (runDependencies == 0) { + if (runDependencyWatcher !== null) { + clearInterval(runDependencyWatcher); + runDependencyWatcher = null; + } + if (dependenciesFulfilled) { + var callback = dependenciesFulfilled; + dependenciesFulfilled = null; + callback(); // can add another dependenciesFulfilled + } + } +} +Module["removeRunDependency"] = removeRunDependency; + +Module["preloadedImages"] = {}; // maps url to image data +Module["preloadedAudios"] = {}; // maps url to audio data + + + +var memoryInitializer = null; + + + + + + +// === Body === + +var ASM_CONSTS = [function($0, $1) { { Module.printErr('bad name in getProcAddress: ' + [Pointer_stringify($0), Pointer_stringify($1)]); } }]; + +function _emscripten_asm_const_iii(code, a0, a1) { + return ASM_CONSTS[code](a0, a1); +} + + + +STATIC_BASE = 8; + +STATICTOP = STATIC_BASE + 341616; + /* global initializers */ __ATINIT__.push(); + + +/* memory initializer */ allocate([255,255,255,255,16,0,0,0,16,0,0,0,16,0,0,0,16,0,0,0,3,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,255,3,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,32,0,0,176,1,0,0,0,0,0,0,0,0,0,32,37,249,142,0,10,2,0,0,128,190,125,95,244,125,31,160,242,43,74,30,9,82,8,0,64,34,65,80,20,4,16,32,32,41,46,18,8,34,8,0,32,34,65,80,20,4,16,32,32,249,16,76,8,250,62,60,16,34,125,222,247,125,16,32,32,161,232,50,8,34,8,0,8,34,5,16,4,69,16,0,240,163,164,50,8,82,8,0,4,34,5,16,4,69,16,32,32,249,226,94,8,2,0,129,2,62,125,31,244,125,16,0,0,32,0,0,176,1,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,190,15,0,192,15,224,247,251,125,126,191,95,232,190,80,0,162,8,8,68,232,47,20,10,133,2,129,80,72,160,80,0,162,40,228,73,40,40,20,10,132,2,129,64,72,160,72,0,190,15,2,16,175,235,247,9,132,62,159,216,79,160,71,0,34,136,228,9,161,42,20,10,132,2,129,80,72,160,72,0,34,40,8,4,160,47,20,10,133,2,129,80,72,162,80,0,190,143,0,0,33,32,244,251,125,126,129,95,232,156,208,7,0,128,0,0,224,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,1,12,0,130,66,191,223,239,247,251,11,5,5,133,66,191,4,72,0,198,66,161,80,40,20,64,8,5,37,133,66,160,8,168,0,170,70,161,80,40,20,64,8,5,37,133,66,144,16,8,0,146,74,161,95,232,247,67,8,5,37,121,126,136,32,8,0,130,82,161,64,40,1,66,8,137,36,133,64,132,64,8,0,130,98,161,64,42,2,66,8,81,36,133,64,130,128,8,0,130,66,191,192,47,244,67,248,33,252,133,126,191,0,9,62,0,0,0,0,4,0,0,0,0,0,0,0,128,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,0,4,0,32,72,65,0,0,0,0,0,8,0,0,4,4,0,4,60,32,0,65,0,0,0,0,0,8,0,0,240,125,223,247,133,239,75,81,190,239,251,190,239,59,81,4,0,69,65,20,133,40,74,73,170,40,138,162,32,8,81,4,240,69,65,244,157,40,74,71,170,40,138,162,224,11,81,4,16,69,65,20,132,40,74,73,170,40,138,162,0,10,145,2,240,125,223,247,133,47,74,209,170,232,251,190,224,123,31,1,0,0,0,0,4,8,64,0,0,0,8,32,0,0,0,0,0,0,0,0,132,15,96,0,0,0,8,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,172,1,15,0,0,0,0,0,0,0,0,0,0,0,0,0,36,1,9,0,0,0,0,0,0,0,0,0,6,0,0,0,36,1,9,0,0,0,0,0,0,0,128,16,9,162,40,250,36,1,9,0,0,0,0,0,0,0,0,62,1,42,37,66,34,82,9,0,0,0,0,0,0,0,128,138,3,42,34,34,36,41,9,0,0,0,0,0,0,0,128,10,1,42,37,18,36,1,9,0,0,0,0,0,0,0,128,10,1,190,232,251,36,1,9,0,0,0,0,0,0,0,128,190,14,0,0,2,172,1,15,0,0,0,0,0,0,0,128,4,0,0,224,3,0,0,0,0,0,0,0,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,0,0,0,14,184,67,132,3,58,32,0,128,160,190,2,32,0,0,240,138,32,82,196,2,43,32,4,34,145,2,248,59,0,240,7,142,56,75,228,2,58,32,2,28,138,30,8,42,233,17,4,224,11,66,244,2,130,36,1,20,4,20,232,186,4,209,5,128,184,195,231,10,58,137,0,28,14,60,40,2,9,80,4,128,0,64,196,2,128,68,0,34,132,32,232,2,0,80,4,0,0,64,128,2,0,32,5,0,142,62,8,2,0,16,4,224,3,64,128,66,0,0,7,0,132,0,248,3,0,240,7,0,0,64,128,34,0,0,4,0,0,0,0,0,0,0,0,0,0,64,128,2,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,128,0,194,160,72,24,0,0,1,132,33,9,146,2,66,38,4,1,33,81,0,0,127,63,2,66,2,16,41,0,34,20,192,239,247,251,253,126,9,161,223,239,247,187,187,3,18,15,68,40,20,10,133,66,9,129,64,32,16,16,17,1,8,4,68,40,20,10,133,66,127,129,64,32,16,16,17,1,4,130,199,239,247,251,253,126,9,129,207,231,243,17,17,1,50,169,80,40,20,10,133,66,9,161,64,32,16,16,17,1,64,184,80,40,20,10,133,66,121,191,223,239,247,187,187,3,32,160,31,0,0,0,0,0,0,16,0,0,0,0,0,0,112,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,2,8,131,34,1,0,2,8,67,2,1,0,1,1,124,20,4,132,68,1,0,32,4,132,4,128,8,63,130,0,132,66,191,223,239,247,3,126,161,80,40,20,10,33,0,0,132,70,161,80,40,20,138,82,161,80,40,20,122,161,239,3,158,74,161,80,40,20,82,82,161,80,40,20,74,31,8,2,132,82,161,80,40,20,34,74,161,80,40,244,75,161,239,3,132,98,161,80,40,20,82,74,161,80,40,4,122,161,40,2,124,66,191,223,239,247,139,126,191,223,239,247,11,189,239,3,0,0,0,0,0,0,0,4,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,5,32,0,0,4,132,0,34,129,69,17,16,66,1,0,148,66,81,0,0,8,66,81,148,42,162,32,8,165,80,0,0,0,32,0,0,0,0,0,0,0,5,0,0,0,0,8,190,239,251,254,251,190,239,251,20,145,235,251,190,239,251,0,32,8,130,32,10,162,40,138,20,145,40,138,162,40,138,62,190,239,251,254,11,190,239,251,20,145,40,138,162,40,138,0,162,40,138,34,8,130,32,8,20,145,40,138,162,40,138,8,190,239,251,254,251,190,239,251,20,145,47,250,190,239,251,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,33,0,4,0,0,0,0,0,0,0,0,0,0,0,0,130,80,20,2,20,0,0,0,0,0,0,0,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,190,40,138,162,40,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,168,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,190,239,251,190,47,62,0,0,0,0,0,0,0,0,0,0,4,0,0,0,40,32,0,0,0,0,0,0,0,0,0,0,0,0,0,128,15,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,1,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,2,0,0,0,7,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,2,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,7,0,0,0,1,0,0,0,5,0,0,0,3,0,0,0,7,0,0,0,3,0,0,0,5,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,5,0,0,0,6,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,9,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,5,0,0,0,255,255,255,255,0,1,0,0,255,255,255,255,0,0,128,191,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,1,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,13,0,0,0,15,0,0,0,17,0,0,0,19,0,0,0,23,0,0,0,27,0,0,0,31,0,0,0,35,0,0,0,43,0,0,0,51,0,0,0,59,0,0,0,67,0,0,0,83,0,0,0,99,0,0,0,115,0,0,0,131,0,0,0,163,0,0,0,195,0,0,0,227,0,0,0,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,9,0,0,0,9,0,0,0,10,0,0,0,10,0,0,0,11,0,0,0,11,0,0,0,12,0,0,0,12,0,0,0,13,0,0,0,13,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,7,0,0,0,9,0,0,0,13,0,0,0,17,0,0,0,25,0,0,0,33,0,0,0,49,0,0,0,65,0,0,0,97,0,0,0,129,0,0,0,193,0,0,0,1,1,0,0,129,1,0,0,1,2,0,0,1,3,0,0,1,4,0,0,1,6,0,0,1,8,0,0,1,12,0,0,1,16,0,0,1,24,0,0,1,32,0,0,1,48,0,0,1,64,0,0,1,96,0,0,0,0,0,0,0,0,0,0,20,0,0,0,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,171,170,42,63,0,0,0,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,192,63,0,0,0,64,0,0,0,0,0,0,128,191,0,0,0,192,0,0,128,192,0,0,0,193,0,0,128,193,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,63,0,0,0,64,0,0,128,64,0,0,0,65,0,0,128,65,0,0,0,0,0,0,0,0,172,95,0,0,0,1,0,0,128,0,0,0,86,0,0,0,64,0,0,0,62,180,228,51,9,145,243,51,139,178,1,52,60,32,10,52,35,26,19,52,96,169,28,52,167,215,38,52,75,175,49,52,80,59,61,52,112,135,73,52,35,160,86,52,184,146,100,52,85,109,115,52,136,159,129,52,252,11,138,52,147,4,147,52,105,146,156,52,50,191,166,52,63,149,177,52,147,31,189,52,228,105,201,52,173,128,214,52,54,113,228,52,166,73,243,52,136,140,1,53,192,247,9,53,6,239,18,53,118,123,28,53,192,166,38,53,55,123,49,53,218,3,61,53,94,76,73,53,59,97,86,53,185,79,100,53,252,37,115,53,138,121,129,53,134,227,137,53,124,217,146,53,133,100,156,53,82,142,166,53,51,97,177,53,37,232,188,53,220,46,201,53,206,65,214,53,65,46,228,53,87,2,243,53,143,102,1,54,79,207,9,54,245,195,18,54,152,77,28,54,232,117,38,54,50,71,49,54,116,204,60,54,94,17,73,54,101,34,86,54,206,12,100,54,184,222,114,54,151,83,129,54,28,187,137,54,114,174,146,54,175,54,156,54,129,93,166,54,53,45,177,54,199,176,188,54,228,243,200,54,1,3,214,54,96,235,227,54,30,187,242,54,162,64,1,55,235,166,9,55,241,152,18,55,201,31,28,55,30,69,38,55,61,19,49,55,30,149,60,55,111,214,72,55,162,227,85,55,247,201,99,55,137,151,114,55,175,45,129,55,190,146,137,55,116,131,146,55,230,8,156,55,190,44,166,55,71,249,176,55,121,121,188,55,254,184,200,55,71,196,213,55,146,168,227,55,248,115,242,55,192,26,1,56,147,126,9,56,249,109,18,56,6,242,27,56,98,20,38,56,86,223,48,56,216,93,60,56,146,155,72,56,242,164,85,56,51,135,99,56,110,80,114,56,211,7,129,56,107,106,137,56,130,88,146,56,42,219,155,56,9,252,165,56,104,197,176,56,59,66,188,56,41,126,200,56,160,133,213,56,217,101,227,56,232,44,242,56,233,244,0,57,70,86,9,57,14,67,18,57,81,196,27,57,181,227,37,57,127,171,48,57,162,38,60,57,197,96,72,57,83,102,85,57,131,68,99,57,104,9,114,57,1,226,128,57,36,66,137,57,157,45,146,57,123,173,155,57,99,203,165,57,153,145,176,57,13,11,188,57,102,67,200,57,11,71,213,57,50,35,227,57,237,229,241,57,29,207,0,58,5,46,9,58,48,24,18,58,169,150,27,58,21,179,37,58,183,119,48,58,124,239,59,58,10,38,72,58,199,39,85,58,230,1,99,58,120,194,113,58,59,188,128,58,233,25,137,58,198,2,146,58,219,127,155,58,203,154,165,58,216,93,176,58,239,211,187,58,179,8,200,58,136,8,213,58,159,224,226,58,7,159,241,58,92,169,0,59,208,5,9,59,94,237,17,59,15,105,27,59,132,130,37,59,253,67,48,59,103,184,59,59,97,235,71,59,77,233,84,59,93,191,98,59,156,123,113,59,127,150,128,59,186,241,136,59,249,215,145,59,71,82,155,59,65,106,165,59,39,42,176,59,226,156,187,59,18,206,199,59,23,202,212,59,32,158,226,59,53,88,241,59,166,131,0,60,167,221,8,60,152,194,17,60,130,59,27,60,1,82,37,60,84,16,48,60,97,129,59,60,200,176,71,60,229,170,84,60,232,124,98,60,212,52,113,60,207,112,128,60,150,201,136,60,58,173,145,60,192,36,155,60,197,57,165,60,133,246,175,60,229,101,187,60,130,147,199,60,185,139,212,60,180,91,226,60,121,17,241,60,251,93,0,61,137,181,8,61,223,151,17,61,2,14,27,61,141,33,37,61,185,220,47,61,109,74,59,61,64,118,71,61,145,108,84,61,133,58,98,61,34,238,112,61,42,75,128,61,127,161,136,61,136,130,145,61,72,247,154,61,88,9,165,61,242,194,175,61,248,46,187,61,3,89,199,61,109,77,212,61,92,25,226,61,209,202,240,61,91,56,0,62,119,141,8,62,51,109,17,62,144,224,26,62,39,241,36,62,46,169,47,62,135,19,59,62,202,59,71,62,77,46,84,62,55,248,97,62,132,167,112,62,143,37,128,62,115,121,136,62,226,87,145,62,220,201,154,62,249,216,164,62,109,143,175,62,27,248,186,62,149,30,199,62,51,15,212,62,23,215,225,62,61,132,240,62,198,18,0,63,114,101,8,63,147,66,17,63,43,179,26,63,206,192,36,63,177,117,47,63,178,220,58,63,101,1,71,63,29,240,83,63,251,181,97,63,251,96,112,63,0,0,128,63,79,103,103,83,2,0,0,192,3,0,0,192,4,0,0,192,5,0,0,192,6,0,0,192,7,0,0,192,8,0,0,192,9,0,0,192,10,0,0,192,11,0,0,192,12,0,0,192,13,0,0,192,14,0,0,192,15,0,0,192,16,0,0,192,17,0,0,192,18,0,0,192,19,0,0,192,20,0,0,192,21,0,0,192,22,0,0,192,23,0,0,192,24,0,0,192,25,0,0,192,26,0,0,192,27,0,0,192,28,0,0,192,29,0,0,192,30,0,0,192,31,0,0,192,0,0,0,179,1,0,0,195,2,0,0,195,3,0,0,195,4,0,0,195,5,0,0,195,6,0,0,195,7,0,0,195,8,0,0,195,9,0,0,195,10,0,0,195,11,0,0,195,12,0,0,195,13,0,0,211,14,0,0,195,15,0,0,195,0,0,12,187,1,0,12,195,2,0,12,195,3,0,12,195,4,0,12,211,192,19,0,0,5,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,95,50,5,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,132,42,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,52,21,0,0,5,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,103,50,5,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,52,21,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,100,0,0,0,232,3,0,0,16,39,0,0,160,134,1,0,64,66,15,0,128,150,152,0,0,225,245,5,95,112,137,0,255,9,47,15,176,6,80,6,245,5,160,5,77,5,1,5,185,4,117,4,53,4,249,3,193,3,139,3,88,3,75,79,65,76,65,32,83,69,65,83,79,78,83,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,114,101,115,111,117,114,99,101,115,47,103,114,97,112,104,105,99,115,47,109,97,105,110,102,111,110,116,46,112,110,103,0,114,101,115,111,117,114,99,101,115,47,103,114,97,112,104,105,99,115,47,97,116,108,97,115,48,49,46,112,110,103,0,114,101,115,111,117,114,99,101,115,47,103,114,97,112,104,105,99,115,47,97,116,108,97,115,48,50,46,112,110,103,0,114,101,115,111,117,114,99,101,115,47,115,104,97,100,101,114,115,47,103,108,115,108,49,48,48,47,98,97,115,101,46,118,115,0,114,101,115,111,117,114,99,101,115,47,115,104,97,100,101,114,115,47,103,108,115,108,49,48,48,47,98,108,101,110,100,95,99,111,108,111,114,46,102,115,0,114,101,115,111,117,114,99,101,115,47,97,117,100,105,111,47,106,117,109,112,46,111,103,103,0,114,101,115,111,117,114,99,101,115,47,97,117,100,105,111,47,100,97,115,104,46,111,103,103,0,114,101,115,111,117,114,99,101,115,47,97,117,100,105,111,47,101,97,116,95,108,101,97,118,101,115,46,111,103,103,0,114,101,115,111,117,114,99,101,115,47,97,117,100,105,111,47,114,101,115,105,110,95,104,105,116,46,111,103,103,0,114,101,115,111,117,114,99,101,115,47,97,117,100,105,111,47,119,105,110,100,95,115,111,117,110,100,46,111,103,103,0,114,101,115,111,117,114,99,101,115,47,97,117,100,105,111,47,115,110,97,107,101,95,100,105,101,46,111,103,103,0,114,101,115,111,117,114,99,101,115,47,97,117,100,105,111,47,100,105,110,103,111,95,100,105,101,46,111,103,103,0,114,101,115,111,117,114,99,101,115,47,97,117,100,105,111,47,111,119,108,95,100,105,101,46,111,103,103,0,114,101,115,111,117,114,99,101,115,47,97,117,100,105,111,47,106,110,103,108,46,120,109,0,65,76,80,72,65,32,86,69,82,83,73,79,78,0,65,32,115,105,109,112,108,101,32,97,110,100,32,101,97,115,121,45,116,111,45,117,115,101,32,108,105,98,114,97,114,121,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,116,111,32,108,101,97,114,110,32,118,105,100,101,111,103,97,109,101,115,32,112,114,111,103,114,97,109,109,105,110,103,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,32,32,32,32,32,32,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,114,101,115,115,32,116,111,32,112,108,97,121,0,0,0,80,82,69,83,83,32,84,79,32,80,76,65,89,0,84,72,73,83,32,73,83,78,39,84,32,69,86,69,78,32,77,89,32,70,73,78,65,76,32,70,79,82,77,33,0,0,70,76,79,87,69,82,32,80,79,87,69,82,33,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,82,69,80,65,82,69,32,70,79,82,32,84,72,69,32,83,85,77,77,69,82,33,0,0,0,0,0,0,0,0,0,72,69,82,69,32,67,79,77,69,83,32,84,72,69,32,70,65,76,76,33,0,0,0,0,0,0,0,0,0,0,0,0,87,73,78,84,69,82,32,73,83,32,67,79,77,73,78,71,33,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,79,76,76,69,78,32,73,83,32,73,78,32,84,72,69,32,65,73,82,0,0,0,0,0,0,0,0,0,0,0,0,72,65,80,80,89,32,78,69,87,32,89,69,65,82,33,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,73,84,39,83,32,82,65,73,78,73,78,71,32,82,65,73,78,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,76,69,84,32,73,84,32,83,78,79,87,33,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,51,0,37,48,49,105,0,37,105,0,43,32,37,105,0,84,117,114,110,101,100,32,105,110,116,111,32,97,32,112,114,101,116,116,121,0,0,0,0,0,0,0,0,0,0,0,0,111,119,108,32,112,101,108,108,101,116,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65,32,100,105,110,103,111,32,116,111,111,107,32,121,111,117,114,32,108,105,102,101,0,0,0,0,0,0,0,0,0,0,75,105,115,115,101,100,32,98,121,32,102,105,114,101,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,68,105,103,101,115,116,101,100,32,97,108,105,118,101,32,98,121,32,97,0,0,0,0,0,0,0,0,0,0,0,0,0,98,105,103,32,115,110,97,107,101,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,76,73,70,69,32,75,73,76,76,69,68,32,89,79,85,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,89,111,117,32,116,117,114,110,32,111,117,116,32,116,111,32,98,101,0,0,0,0,0,0,0,0,0,0,0,0,0,0,97,108,108,101,114,103,105,99,32,116,111,32,98,101,101,32,115,116,105,110,103,0,0,0,0,0,0,0,0,0,0,0,75,79,65,76,65,32,73,83,32,68,69,65,68,32,58,40,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,83,85,77,77,69,82,0,65,85,84,85,77,78,0,87,73,78,84,69,82,0,83,80,82,73,78,71,0,37,48,51,105,0,37,48,52,105,0,37,115,32,37,105,32,45,32,37,115,32,37,105,0,73,110,105,116,105,97,108,105,122,105,110,103,32,114,97,121,108,105,98,32,40,118,49,46,55,46,48,41,0,35,99,97,110,118,97,115,0,84,97,114,103,101,116,32,116,105,109,101,32,112,101,114,32,102,114,97,109,101,58,32,37,48,50,46,48,51,102,32,109,105,108,108,105,115,101,99,111,110,100,115,0,69,115,99,97,112,101,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,102,117,108,108,115,99,114,101,101,110,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,119,105,110,100,111,119,101,100,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,91,84,69,88,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,102,111,110,116,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,84,69,88,32,37,105,93,32,80,97,114,97,109,101,116,101,114,115,58,32,37,105,120,37,105,44,32,37,105,32,109,105,112,115,44,32,102,111,114,109,97,116,32,37,105,0,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,50,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,84,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,84,101,120,116,117,114,101,32,99,114,101,97,116,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,73,109,97,103,101,32,100,97,116,97,32,102,111,114,109,97,116,32,105,115,32,99,111,109,112,114,101,115,115,101,100,44,32,99,97,110,32,110,111,116,32,98,101,32,99,111,110,118,101,114,116,101,100,0,70,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,102,111,114,32,112,105,120,101,108,32,100,97,116,97,32,114,101,116,114,105,101,118,97,108,0,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,71,76,70,87,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,77,83,65,65,32,120,52,0,67,108,111,115,101,115,116,32,102,117,108,108,115,99,114,101,101,110,32,118,105,100,101,111,109,111,100,101,58,32,37,105,32,120,32,37,105,0,71,76,70,87,32,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,87,105,110,100,111,119,0,68,105,115,112,108,97,121,32,100,101,118,105,99,101,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,82,101,110,100,101,114,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,83,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,86,105,101,119,112,111,114,116,32,111,102,102,115,101,116,115,58,32,37,105,44,32,37,105,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,86,83,89,78,67,0,71,80,85,58,32,86,101,110,100,111,114,58,32,32,32,37,115,0,71,80,85,58,32,82,101,110,100,101,114,101,114,58,32,37,115,0,71,80,85,58,32,86,101,114,115,105,111,110,58,32,32,37,115,0,71,80,85,58,32,71,76,83,76,58,32,32,32,32,32,37,115,0,32,0,78,117,109,98,101,114,32,111,102,32,115,117,112,112,111,114,116,101,100,32,101,120,116,101,110,115,105,111,110,115,58,32,37,105,0,71,76,95,79,69,83,95,118,101,114,116,101,120,95,97,114,114,97,121,95,111,98,106,101,99,116,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,79,69,83,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,71,76,95,79,69,83,95,116,101,120,116,117,114,101,95,110,112,111,116,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,115,51,116,99,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,87,69,66,75,73,84,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,79,69,83,95,99,111,109,112,114,101,115,115,101,100,95,69,84,67,49,95,82,71,66,56,95,116,101,120,116,117,114,101,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,101,116,99,49,0,71,76,95,65,82,66,95,69,83,51,95,99,111,109,112,97,116,105,98,105,108,105,116,121,0,71,76,95,73,77,71,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,112,118,114,116,99,0,71,76,95,75,72,82,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,97,115,116,99,95,104,100,114,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,102,105,108,116,101,114,95,97,110,105,115,111,116,114,111,112,105,99,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,109,105,114,114,111,114,95,99,108,97,109,112,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,86,65,79,32,102,117,110,99,116,105,111,110,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,86,65,79,32,117,115,97,103,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,102,117,108,108,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,108,105,109,105,116,101,100,32,78,80,79,84,32,115,117,112,112,111,114,116,32,40,110,111,45,109,105,112,109,97,112,115,44,32,110,111,45,114,101,112,101,97,116,41,0,91,69,88,84,69,78,83,73,79,78,93,32,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,50,47,69,65,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,110,105,115,111,116,114,111,112,105,99,32,116,101,120,116,117,114,101,115,32,102,105,108,116,101,114,105,110,103,32,115,117,112,112,111,114,116,101,100,32,40,109,97,120,58,32,37,46,48,102,88,41,0,91,69,88,84,69,78,83,73,79,78,93,32,67,108,97,109,112,32,109,105,114,114,111,114,32,119,114,97,112,32,116,101,120,116,117,114,101,32,109,111,100,101,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,79,112,101,110,71,76,32,100,101,102,97,117,108,116,32,115,116,97,116,101,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,67,80,85,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,44,32,116,114,105,97,110,103,108,101,115,44,32,113,117,97,100,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,51,32,118,101,114,116,101,120,80,111,115,105,116,105,111,110,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,50,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,52,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE); +/* memory initializer */ allocate([105,102,111,114,109,32,109,97,116,52,32,109,118,112,77,97,116,114,105,120,59,32,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,102,114,97,103,84,101,120,67,111,111,114,100,32,61,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,10,32,32,32,32,102,114,97,103,67,111,108,111,114,32,61,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,10,32,32,32,32,103,108,95,80,111,115,105,116,105,111,110,32,61,32,109,118,112,77,97,116,114,105,120,42,118,101,99,52,40,118,101,114,116,101,120,80,111,115,105,116,105,111,110,44,32,49,46,48,41,59,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,112,114,101,99,105,115,105,111,110,32,109,101,100,105,117,109,112,32,102,108,111,97,116,59,32,32,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,115,97,109,112,108,101,114,50,68,32,116,101,120,116,117,114,101,48,59,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,118,101,99,52,32,99,111,108,68,105,102,102,117,115,101,59,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,118,101,99,52,32,116,101,120,101,108,67,111,108,111,114,32,61,32,116,101,120,116,117,114,101,50,68,40,116,101,120,116,117,114,101,48,44,32,102,114,97,103,84,101,120,67,111,111,114,100,41,59,32,10,32,32,32,32,103,108,95,70,114,97,103,67,111,108,111,114,32,61,32,116,101,120,101,108,67,111,108,111,114,42,99,111,108,68,105,102,102,117,115,101,42,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,118,101,114,116,101,120,80,111,115,105,116,105,111,110,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,50,0,118,101,114,116,101,120,78,111,114,109,97,108,0,118,101,114,116,101,120,84,97,110,103,101,110,116,0,118,101,114,116,101,120,67,111,108,111,114,0,109,118,112,77,97,116,114,105,120,0,99,111,108,68,105,102,102,117,115,101,0,99,111,108,65,109,98,105,101,110,116,0,99,111,108,83,112,101,99,117,108,97,114,0,116,101,120,116,117,114,101,48,0,116,101,120,116,117,114,101,49,0,116,101,120,116,117,114,101,50,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,118,101,114,116,101,120,32,115,104,97,100,101,114,46,46,46,0,37,115,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,86,101,114,116,101,120,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,102,114,97,103,109,101,110,116,32,115,104,97,100,101,114,46,46,46,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,114,97,103,109,101,110,116,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,108,105,110,107,32,115,104,97,100,101,114,32,112,114,111,103,114,97,109,46,46,46,0,91,83,72,68,82,32,73,68,32,37,105,93,32,83,104,97,100,101,114,32,112,114,111,103,114,97,109,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,79,87,78,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,32,40,37,105,120,37,105,41,32,105,115,32,98,105,103,103,101,114,32,116,104,97,110,32,100,105,115,112,108,97,121,32,115,105,122,101,32,40,37,105,120,37,105,41,0,68,111,119,110,115,99,97,108,101,32,109,97,116,114,105,120,32,103,101,110,101,114,97,116,101,100,44,32,99,111,110,116,101,110,116,32,119,105,108,108,32,98,101,32,114,101,110,100,101,114,101,100,32,97,116,58,32,37,105,32,120,32,37,105,0,85,80,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,32,45,62,32,68,105,115,112,108,97,121,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,91,71,76,70,87,51,32,69,114,114,111,114,93,32,67,111,100,101,58,32,37,105,32,68,101,99,114,105,112,116,105,111,110,58,32,37,115,0,73,78,70,79,58,32,0,87,65,82,78,73,78,71,58,32,0,87,105,110,100,111,119,32,99,108,111,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,40,98,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,41,32,102,114,111,109,32,86,82,65,77,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,83,116,97,99,107,32,66,117,102,102,101,114,32,79,118,101,114,102,108,111,119,32,40,77,65,88,32,37,105,32,77,97,116,114,105,120,41,0,82,101,113,117,105,114,101,100,32,116,111,117,99,104,32,112,111,105,110,116,32,111,117,116,32,111,102,32,114,97,110,103,101,32,40,77,97,120,32,116,111,117,99,104,32,112,111,105,110,116,115,58,32,37,105,41,0,77,65,88,95,76,73,78,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,84,82,73,65,78,71,76,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,81,85,65,68,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,67,108,97,109,112,32,109,105,114,114,111,114,32,119,114,97,112,32,109,111,100,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,77,97,120,105,109,117,109,32,97,110,105,115,111,116,114,111,112,105,99,32,102,105,108,116,101,114,32,108,101,118,101,108,32,115,117,112,112,111,114,116,101,100,32,105,115,32,37,105,88,0,65,110,105,115,111,116,114,111,112,105,99,32,102,105,108,116,101,114,105,110,103,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,37,115,93,32,84,101,120,116,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,67,117,115,116,111,109,32,115,104,97,100,101,114,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,91,83,72,68,82,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,115,104,97,100,101,114,32,112,114,111,103,114,97,109,32,100,97,116,97,0,114,105,46,98,105,116,115,95,112,101,114,95,99,104,97,110,110,101,108,32,61,61,32,49,54,0,46,47,101,120,116,101,114,110,97,108,47,115,116,98,95,105,109,97,103,101,46,104,0,115,116,98,105,95,95,108,111,97,100,95,97,110,100,95,112,111,115,116,112,114,111,99,101,115,115,95,56,98,105,116,0,111,117,116,111,102,109,101,109,0,117,110,107,110,111,119,110,32,105,109,97,103,101,32,116,121,112,101,0,98,97,100,32,114,101,113,95,99,111,109,112,0,114,101,113,95,99,111,109,112,32,62,61,32,49,32,38,38,32,114,101,113,95,99,111,109,112,32,60,61,32,52,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,49,54,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,0,109,117,108,116,105,112,108,101,32,73,72,68,82,0,98,97,100,32,73,72,68,82,32,108,101,110,0,116,111,111,32,108,97,114,103,101,0,49,47,50,47,52,47,56,47,49,54,45,98,105,116,32,111,110,108,121,0,98,97,100,32,99,116,121,112,101,0,98,97,100,32,99,111,109,112,32,109,101,116,104,111,100,0,98,97,100,32,102,105,108,116,101,114,32,109,101,116,104,111,100,0,98,97,100,32,105,110,116,101,114,108,97,99,101,32,109,101,116,104,111,100,0,48,45,112,105,120,101,108,32,105,109,97,103,101,0,102,105,114,115,116,32,110,111,116,32,73,72,68,82,0,105,110,118,97,108,105,100,32,80,76,84,69,0,116,82,78,83,32,97,102,116,101,114,32,73,68,65,84,0,116,82,78,83,32,98,101,102,111,114,101,32,80,76,84,69,0,98,97,100,32,116,82,78,83,32,108,101,110,0,116,82,78,83,32,119,105,116,104,32,97,108,112,104,97,0,0,255,85,0,17,0,0,0,1,110,111,32,80,76,84,69,0,111,117,116,111,102,100,97,116,97,0,110,111,32,73,68,65,84,0,88,88,88,88,32,80,78,71,32,99,104,117,110,107,32,110,111,116,32,107,110,111,119,110,0,115,45,62,105,109,103,95,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,100,101,95,105,112,104,111,110,101,0,111,117,116,95,110,32,61,61,32,50,32,124,124,32,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,49,54,0,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,32,124,124,32,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,43,49,0,115,116,98,105,95,95,99,114,101,97,116,101,95,112,110,103,95,105,109,97,103,101,95,114,97,119,0,110,111,116,32,101,110,111,117,103,104,32,112,105,120,101,108,115,0,105,109,103,95,119,105,100,116,104,95,98,121,116,101,115,32,60,61,32,120,0,0,1,0,5,6,105,109,103,95,110,43,49,32,61,61,32,111,117,116,95,110,0,105,110,118,97,108,105,100,32,102,105,108,116,101,114,0,105,109,103,95,110,32,61,61,32,51,0,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,98,97,100,32,104,117,102,102,109,97,110,32,99,111,100,101,0,98,97,100,32,100,105,115,116,0,111,117,116,112,117,116,32,98,117,102,102,101,114,32,108,105,109,105,116,0,122,45,62,115,105,122,101,91,98,93,32,61,61,32,115,0,115,116,98,105,95,95,122,104,117,102,102,109,97,110,95,100,101,99,111,100,101,95,115,108,111,119,112,97,116,104,0,98,105,116,115,32,60,61,32,49,54,0,115,116,98,105,95,95,98,105,116,95,114,101,118,101,114,115,101,0,122,45,62,99,111,100,101,95,98,117,102,102,101,114,32,60,32,40,49,85,32,60,60,32,122,45,62,110,117,109,95,98,105,116,115,41,0,115,116,98,105,95,95,102,105,108,108,95,98,105,116,115,0,98,97,100,32,99,111,100,101,108,101,110,103,116,104,115,0,99,32,61,61,32,49,56,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,104,117,102,102,109,97,110,95,99,111,100,101,115,0,98,97,100,32,115,105,122,101,115,0,97,45,62,110,117,109,95,98,105,116,115,32,61,61,32,48,0,115,116,98,105,95,95,112,97,114,115,101,95,117,110,99,111,109,112,114,101,115,115,101,100,95,98,108,111,99,107,0,122,108,105,98,32,99,111,114,114,117,112,116,0,114,101,97,100,32,112,97,115,116,32,98,117,102,102,101,114,0,98,97,100,32,122,108,105,98,32,104,101,97,100,101,114,0,110,111,32,112,114,101,115,101,116,32,100,105,99,116,0,98,97,100,32,99,111,109,112,114,101,115,115,105,111,110,0,98,97,100,32,112,110,103,32,115,105,103,0,91,37,115,93,32,82,101,115,111,117,114,99,101,32,102,105,108,101,32,100,111,101,115,32,110,111,116,32,99,111,110,116,97,105,110,32,105,109,97,103,101,32,100,97,116,97,0,46,112,110,103,0,91,37,115,93,32,73,109,97,103,101,32,102,105,108,101,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,37,115,93,32,73,109,97,103,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,91,37,115,93,32,73,109,97,103,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,73,109,97,103,101,32,102,111,114,109,97,116,32,110,111,116,32,114,101,99,111,103,110,105,122,101,100,0,91,37,115,93,32,114,82,69,83,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,91,37,115,93,32,84,104,105,115,32,105,115,32,110,111,116,32,97,32,118,97,108,105,100,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,115,111,117,114,99,101,32,100,97,116,97,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,113,117,101,115,116,101,100,32,114,101,115,111,117,114,99,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,102,111,117,110,100,0,79,117,116,32,111,102,32,109,101,109,111,114,121,32,119,104,105,108,101,32,100,101,99,111,109,112,114,101,115,115,105,110,103,32,100,97,116,97,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,105,111,110,32,102,97,105,108,101,100,0,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,32,100,111,32,110,111,116,32,109,97,116,99,104,44,32,100,97,116,97,32,109,97,121,32,98,101,32,99,111,114,114,117,112,116,101,100,0,32,45,45,32,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,32,45,45,32,82,101,116,117,114,110,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,102,114,111,109,32,37,117,32,98,121,116,101,115,32,116,111,32,37,117,32,98,121,116,101,115,0,5,5,4,0,16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15,2,3,7,0,3,3,11,0,84,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,99,114,101,97,116,101,100,0,65,108,112,104,97,32,109,97,115,107,32,109,117,115,116,32,98,101,32,115,97,109,101,32,115,105,122,101,32,97,115,32,105,109,97,103,101,0,65,108,112,104,97,32,109,97,115,107,32,99,97,110,32,110,111,116,32,98,101,32,97,112,112,108,105,101,100,32,116,111,32,99,111,109,112,114,101,115,115,101,100,32,100,97,116,97,32,102,111,114,109,97,116,115,0,91,84,69,88,32,73,68,32,37,105,93,32,78,111,32,109,105,112,109,97,112,115,32,97,118,97,105,108,97,98,108,101,32,102,111,114,32,84,82,73,76,73,78,69,65,82,32,116,101,120,116,117,114,101,32,102,105,108,116,101,114,105,110,103,0,46,116,116,102,0,46,102,110,116,0,91,37,115,93,32,83,112,114,105,116,101,70,111,110,116,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,44,32,117,115,105,110,103,32,100,101,102,97,117,108,116,32,102,111,110,116,0,83,112,114,105,116,101,70,111,110,116,32,100,97,116,97,32,112,97,114,115,101,100,32,99,111,114,114,101,99,116,108,121,32,102,114,111,109,32,105,109,97,103,101,0,73,109,97,103,101,32,102,105,108,101,32,108,111,97,100,101,100,32,99,111,114,114,101,99,116,108,121,32,97,115,32,83,112,114,105,116,101,70,111,110,116,0,114,116,0,91,37,115,93,32,70,78,84,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,108,105,110,101,72,101,105,103,104,116,0,108,105,110,101,72,101,105,103,104,116,61,37,105,32,98,97,115,101,61,37,105,32,115,99,97,108,101,87,61,37,105,32,115,99,97,108,101,72,61,37,105,0,91,37,115,93,32,70,111,110,116,32,115,105,122,101,58,32,37,105,0,91,37,115,93,32,70,111,110,116,32,116,101,120,116,117,114,101,32,115,99,97,108,101,58,32,37,105,120,37,105,0,102,105,108,101,0,102,105,108,101,61,34,37,49,50,56,91,94,34,93,34,0,91,37,115,93,32,70,111,110,116,32,116,101,120,116,117,114,101,32,102,105,108,101,110,97,109,101,58,32,37,115,0,99,111,117,110,116,0,99,111,117,110,116,61,37,105,0,91,37,115,93,32,70,111,110,116,32,110,117,109,32,99,104,97,114,115,58,32,37,105,0,91,37,115,93,32,70,111,110,116,32,116,101,120,116,117,114,101,32,108,111,97,100,105,110,103,32,112,97,116,104,58,32,37,115,0,99,104,97,114,32,105,100,61,37,105,32,120,61,37,105,32,121,61,37,105,32,119,105,100,116,104,61,37,105,32,104,101,105,103,104,116,61,37,105,32,120,111,102,102,115,101,116,61,37,105,32,121,111,102,102,115,101,116,61,37,105,32,120,97,100,118,97,110,99,101,61,37,105,0,91,37,115,93,32,83,112,114,105,116,101,70,111,110,116,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,85,110,108,111,97,100,101,100,32,115,112,114,105,116,101,32,102,111,110,116,32,100,97,116,97,0,91,37,115,93,32,83,112,114,105,116,101,70,111,110,116,32,99,111,117,108,100,32,110,111,116,32,98,101,32,103,101,110,101,114,97,116,101,100,44,32,117,115,105,110,103,32,100,101,102,97,117,108,116,32,102,111,110,116,0,84,84,70,32,115,112,114,105,116,101,102,111,110,116,32,108,111,97,100,105,110,103,58,32,80,114,101,100,105,99,116,101,100,32,116,101,120,116,117,114,101,32,115,105,122,101,58,32,37,105,120,37,105,0,91,37,115,93,32,84,84,70,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,84,84,70,32,115,112,114,105,116,101,102,111,110,116,32,108,111,97,100,105,110,103,58,32,102,105,114,115,116,32,99,104,97,114,97,99,116,101,114,32,105,115,32,110,111,116,32,83,80,65,67,69,40,51,50,41,32,99,104,97,114,97,99,116,101,114,0,84,84,70,32,115,112,114,105,116,101,102,111,110,116,32,108,111,97,100,105,110,103,58,32,78,111,116,32,97,108,108,32,116,104,101,32,99,104,97,114,97,99,116,101,114,115,32,102,105,116,32,105,110,32,116,104,101,32,102,111,110,116,0,120,43,103,119,32,60,32,112,119,0,46,47,101,120,116,101,114,110,97,108,47,115,116,98,95,116,114,117,101,116,121,112,101,46,104,0,115,116,98,116,116,95,66,97,107,101,70,111,110,116,66,105,116,109,97,112,95,105,110,116,101,114,110,97,108,0,122,45,62,100,105,114,101,99,116,105,111,110,0,115,116,98,116,116,95,95,114,97,115,116,101,114,105,122,101,95,115,111,114,116,101,100,95,101,100,103,101,115,0,122,45,62,101,121,32,62,61,32,115,99,97,110,95,121,95,116,111,112,0,101,45,62,101,121,32,62,61,32,121,95,116,111,112,0,115,116,98,116,116,95,95,102,105,108,108,95,97,99,116,105,118,101,95,101,100,103,101,115,95,110,101,119,0,101,45,62,115,121,32,60,61,32,121,95,98,111,116,116,111,109,32,38,38,32,101,45,62,101,121,32,62,61,32,121,95,116,111,112,0,120,32,62,61,32,48,32,38,38,32,120,32,60,32,108,101,110,0,102,97,98,115,40,97,114,101,97,41,32,60,61,32,49,46,48,49,102,0,121,48,32,60,32,121,49,0,115,116,98,116,116,95,95,104,97,110,100,108,101,95,99,108,105,112,112,101,100,95,101,100,103,101,0,101,45,62,115,121,32,60,61,32,101,45,62,101,121,0,120,49,32,60,61,32,120,43,49,0,120,49,32,62,61,32,120,0,120,49,32,60,61,32,120,0,120,49,32,62,61,32,120,43,49,0,120,49,32,62,61,32,120,32,38,38,32,120,49,32,60,61,32,120,43,49,0,120,48,32,62,61,32,120,32,38,38,32,120,48,32,60,61,32,120,43,49,32,38,38,32,120,49,32,62,61,32,120,32,38,38,32,120,49,32,60,61,32,120,43,49,0,122,32,33,61,32,40,40,118,111,105,100,42,41,48,41,0,115,116,98,116,116,95,95,110,101,119,95,97,99,116,105,118,101,0,33,105,110,102,111,45,62,99,102,102,46,115,105,122,101,0,115,116,98,116,116,95,95,71,101,116,71,108,121,102,79,102,102,115,101,116,0,115,116,98,116,116,95,95,99,102,102,95,105,110,116,0,110,32,62,61,32,49,32,38,38,32,110,32,60,61,32,52,0,115,116,98,116,116,95,95,98,117,102,95,103,101,116,0,115,105,122,101,32,60,32,48,120,52,48,48,48,48,48,48,48,0,115,116,98,116,116,95,95,110,101,119,95,98,117,102,0,33,40,111,32,62,32,98,45,62,115,105,122,101,32,124,124,32,111,32,60,32,48,41,0,115,116,98,116,116,95,95,98,117,102,95,115,101,101,107,0,111,102,102,115,105,122,101,32,62,61,32,49,32,38,38,32,111,102,102,115,105,122,101,32,60,61,32,52,0,115,116,98,116,116,95,95,99,102,102,95,103,101,116,95,105,110,100,101,120,0,98,48,32,62,61,32,50,56,0,115,116,98,116,116,95,95,99,102,102,95,115,107,105,112,95,111,112,101,114,97,110,100,0,105,32,62,61,32,48,32,38,38,32,105,32,60,32,99,111,117,110,116,0,115,116,98,116,116,95,95,99,102,102,95,105,110,100,101,120,95,103,101,116,0,111,117,116,112,117,116,95,99,116,120,46,110,117,109,95,118,101,114,116,105,99,101,115,32,61,61,32,99,111,117,110,116,95,99,116,120,46,110,117,109,95,118,101,114,116,105,99,101,115,0,115,116,98,116,116,95,95,71,101,116,71,108,121,112,104,83,104,97,112,101,84,50,0,115,116,98,116,116,95,95,71,101,116,71,108,121,112,104,83,104,97,112,101,84,84,0,115,116,98,116,116,95,70,105,110,100,71,108,121,112,104,73,110,100,101,120,0,117,110,105,99,111,100,101,95,99,111,100,101,112,111,105,110,116,32,60,61,32,116,116,85,83,72,79,82,84,40,100,97,116,97,32,43,32,101,110,100,67,111,117,110,116,32,43,32,50,42,105,116,101,109,41,0,99,109,97,112,0,108,111,99,97,0,104,101,97,100,0,103,108,121,102,0,104,104,101,97,0,104,109,116,120,0,107,101,114,110,0,67,70,70,32,0,109,97,120,112,0,37,50,105,32,70,80,83,0,37,115,40,41,58,32,106,97,114,95,120,109,95,99,104,101,99,107,95,115,97,110,105,116,121,95,112,114,101,108,111,97,100,40,41,32,114,101,116,117,114,110,101,100,32,37,105,44,32,109,111,100,117,108,101,32,105,115,32,110,111,116,32,115,97,102,101,32,116,111,32,108,111,97,100,10,0,106,97,114,95,120,109,95,99,114,101,97,116,101,95,99,111,110,116,101,120,116,95,115,97,102,101,0,37,115,40,41,58,32,99,97,108,108,32,116,111,32,109,97,108,108,111,99,40,41,32,102,97,105,108,101,100,44,32,114,101,116,117,114,110,101,100,32,37,112,10,0,37,115,40,41,58,32,106,97,114,95,120,109,95,99,104,101,99,107,95,115,97,110,105,116,121,95,112,111,115,116,108,111,97,100,40,41,32,114,101,116,117,114,110,101,100,32,37,105,44,32,109,111,100,117,108,101,32,105,115,32,110,111,116,32,115,97,102,101,32,116,111,32,112,108,97,121,10,0,37,115,40,41,58,32,116,114,105,109,109,105,110,103,32,105,110,118,97,108,105,100,32,80,79,84,32,97,116,32,112,111,115,32,37,88,10,0,106,97,114,95,120,109,95,99,104,101,99,107,95,115,97,110,105,116,121,95,112,111,115,116,108,111,97,100,0,37,115,40,41,58,32,109,111,100,117,108,101,32,104,97,115,32,105,110,118,97,108,105,100,32,80,79,84,44,32,112,111,115,32,37,88,32,114,101,102,101,114,101,110,99,101,115,32,110,111,110,101,120,105,115,116,101,110,116,32,112,97,116,116,101,114,110,32,37,88,10,0,69,120,116,101,110,100,101,100,32,77,111,100,117,108,101,58,32,0,67,111,117,108,100,32,110,111,116,32,111,112,101,110,32,105,110,112,117,116,32,102,105,108,101,0,102,115,101,101,107,40,41,32,102,97,105,108,101,100,0,102,114,101,97,100,40,41,32,102,97,105,108,101,100,0,99,111,117,108,100,32,110,111,116,32,99,114,101,97,116,101,32,99,111,110,116,101,120,116,58,32,109,111,100,117,108,101,32,105,115,32,110,111,116,32,115,97,110,101,10,0,99,111,117,108,100,32,110,111,116,32,99,114,101,97,116,101,32,99,111,110,116,101,120,116,58,32,109,97,108,108,111,99,32,102,97,105,108,101,100,10,0,99,111,117,108,100,32,110,111,116,32,99,114,101,97,116,101,32,99,111,110,116,101,120,116,58,32,117,110,107,110,111,119,110,32,101,114,114,111,114,10,0,65,117,100,105,111,32,100,101,118,105,99,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,67,111,117,108,100,32,110,111,116,32,105,110,105,116,105,97,108,105,122,101,32,97,117,100,105,111,32,99,111,110,116,101,120,116,0,65,117,100,105,111,32,100,101,118,105,99,101,32,97,110,100,32,99,111,110,116,101,120,116,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,58,32,37,115,0,67,111,117,108,100,32,110,111,116,32,103,101,116,32,99,117,114,114,101,110,116,32,97,117,100,105,111,32,99,111,110,116,101,120,116,32,102,111,114,32,99,108,111,115,105,110,103,0,65,117,100,105,111,32,100,101,118,105,99,101,32,99,108,111,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,46,119,97,118,0,46,111,103,103,0,46,114,114,101,115,0,91,37,115,93,32,82,101,115,111,117,114,99,101,32,102,105,108,101,32,100,111,101,115,32,110,111,116,32,99,111,110,116,97,105,110,32,119,97,118,101,32,100,97,116,97,0,91,37,115,93,32,65,117,100,105,111,32,102,105,108,101,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,44,32,105,116,32,99,97,110,39,116,32,98,101,32,108,111,97,100,101,100,0,91,37,115,93,32,79,71,71,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,91,37,115,93,32,79,103,103,32,97,117,100,105,111,32,108,101,110,103,116,104,32,105,115,32,108,97,114,103,101,114,32,116,104,97,110,32,49,48,32,115,101,99,111,110,100,115,32,40,37,102,41,44,32,116,104,97,116,39,115,32,97,32,98,105,103,32,102,105,108,101,32,105,110,32,109,101,109,111,114,121,44,32,99,111,110,115,105,100,101,114,32,109,117,115,105,99,32,115,116,114,101,97,109,105,110,103,0,91,37,115,93,32,83,97,109,112,108,101,115,32,111,98,116,97,105,110,101,100,58,32,37,105,0,77,111,110,111,0,83,116,101,114,101,111,0,91,37,115,93,32,79,71,71,32,102,105,108,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,32,72,122,44,32,37,105,32,98,105,116,44,32,37,115,41,0,48,0,101,120,116,101,114,110,97,108,47,115,116,98,95,118,111,114,98,105,115,46,99,0,103,101,116,95,119,105,110,100,111,119,0,102,45,62,97,108,108,111,99,46,97,108,108,111,99,95,98,117,102,102,101,114,95,108,101,110,103,116,104,95,105,110,95,98,121,116,101,115,32,61,61,32,102,45,62,116,101,109,112,95,111,102,102,115,101,116,0,118,111,114,98,105,115,95,100,101,99,111,100,101,95,112,97,99,107,101,116,95,114,101,115,116,0,102,45,62,98,121,116,101,115,95,105,110,95,115,101,103,32,62,32,48,0,103,101,116,56,95,112,97,99,107,101,116,95,114,97,119,0,102,45,62,98,121,116,101,115,95,105,110,95,115,101,103,32,61,61,32,48,0,110,101,120,116,95,115,101,103,109,101,110,116,0,40,110,32,38,32,51,41,32,61,61,32,48,0,105,109,100,99,116,95,115,116,101,112,51,95,105,116,101,114,48,95,108,111,111,112,0,122,32,60,32,99,45,62,115,111,114,116,101,100,95,101,110,116,114,105,101,115,0,99,111,100,101,98,111,111,107,95,100,101,99,111,100,101,95,115,116,97,114,116,0,33,99,45,62,115,112,97,114,115,101,32,124,124,32,122,32,60,32,99,45,62,115,111,114,116,101,100,95,101,110,116,114,105,101,115,0,99,111,100,101,98,111,111,107,95,100,101,99,111,100,101,95,100,101,105,110,116,101,114,108,101,97,118,101,95,114,101,112,101,97,116,0,33,99,45,62,115,112,97,114,115,101,0,99,111,100,101,98,111,111,107,95,100,101,99,111,100,101,95,115,99,97,108,97,114,95,114,97,119,0,0,1,2,2,3,3,3,3,4,4,4,4,4,4,4,4,118,111,114,98,105,115,95,100,101,99,111,100,101,95,105,110,105,116,105,97,108,0,98,117,102,95,99,32,61,61,32,50,0,99,111,110,118,101,114,116,95,99,104,97,110,110,101,108,115,95,115,104,111,114,116,95,105,110,116,101,114,108,101,97,118,101,100,0,0,0,0,0,0,0,7,0,0,0,0,0,3,5,0,0,0,0,3,7,5,0,0,0,3,5,3,5,0,0,3,7,5,3,5,0,3,7,5,3,5,7,114,98,0,102,45,62,116,101,109,112,95,111,102,102,115,101,116,32,61,61,32,102,45,62,97,108,108,111,99,46,97,108,108,111,99,95,98,117,102,102,101,114,95,108,101,110,103,116,104,95,105,110,95,98,121,116,101,115,0,115,116,97,114,116,95,100,101,99,111,100,101,114,0,112,111,119,40,40,102,108,111,97,116,41,32,114,43,49,44,32,100,105,109,41,32,62,32,101,110,116,114,105,101,115,0,108,111,111,107,117,112,49,95,118,97,108,117,101,115,0,40,105,110,116,41,32,102,108,111,111,114,40,112,111,119,40,40,102,108,111,97,116,41,32,114,44,32,100,105,109,41,41,32,60,61,32,101,110,116,114,105,101,115,0,107,32,61,61,32,99,45,62,115,111,114,116,101,100,95,101,110,116,114,105,101,115,0,99,111,109,112,117,116,101,95,115,111,114,116,101,100,95,104,117,102,102,109,97,110,0,99,45,62,115,111,114,116,101,100,95,99,111,100,101,119,111,114,100,115,91,120,93,32,61,61,32,99,111,100,101,0,108,101,110,32,33,61,32,78,79,95,67,79,68,69,0,105,110,99,108,117,100,101,95,105,110,95,115,111,114,116,0,99,45,62,115,111,114,116,101,100,95,101,110,116,114,105,101,115,32,61,61,32,48,0,99,111,109,112,117,116,101,95,99,111,100,101,119,111,114,100,115,0,122,32,62,61,32,48,32,38,38,32,122,32,60,32,51,50,0,108,101,110,91,105,93,32,62,61,32,48,32,38,38,32,108,101,110,91,105,93,32,60,32,51,50,0,97,118,97,105,108,97,98,108,101,91,121,93,32,61,61,32,48,0,118,111,114,98,105,115,91,37,115,93,32,87,65,86,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,82,73,70,70,0,87,65,86,69,0,91,37,115,93,32,73,110,118,97,108,105,100,32,82,73,70,70,32,111,114,32,87,65,86,69,32,72,101,97,100,101,114,0,91,37,115,93,32,73,110,118,97,108,105,100,32,87,97,118,101,32,102,111,114,109,97,116,0,91,37,115,93,32,73,110,118,97,108,105,100,32,100,97,116,97,32,104,101,97,100,101,114,0,91,37,115,93,32,87,65,86,32,115,97,109,112,108,101,32,115,105,122,101,32,40,37,105,98,105,116,41,32,110,111,116,32,115,117,112,112,111,114,116,101,100,44,32,99,111,110,118,101,114,116,101,100,32,116,111,32,49,54,98,105,116,0,91,37,115,93,32,87,65,86,32,99,104,97,110,110,101,108,115,32,110,117,109,98,101,114,32,40,37,105,41,32,110,111,116,32,115,117,112,112,111,114,116,101,100,44,32,99,111,110,118,101,114,116,101,100,32,116,111,32,50,32,99,104,97,110,110,101,108,115,0,91,37,115,93,32,87,65,86,32,102,105,108,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,32,72,122,44,32,37,105,32,98,105,116,44,32,37,115,41,0,85,110,108,111,97,100,101,100,32,119,97,118,101,32,100,97,116,97,32,102,114,111,109,32,82,65,77,0,87,97,118,101,32,115,97,109,112,108,101,32,115,105,122,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,58,32,37,105,0,87,97,118,101,32,110,117,109,98,101,114,32,111,102,32,99,104,97,110,110,101,108,115,32,110,111,116,32,115,117,112,112,111,114,116,101,100,58,32,37,105,0,91,83,78,68,32,73,68,32,37,105,93,91,66,85,70,82,32,73,68,32,37,105,93,32,83,111,117,110,100,32,100,97,116,97,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,32,72,122,44,32,37,105,32,98,105,116,44,32,37,115,41,0,91,83,78,68,32,73,68,32,37,105,93,91,66,85,70,82,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,115,111,117,110,100,32,100,97,116,97,32,102,114,111,109,32,82,65,77,0,91,37,115,93,32,79,71,71,32,97,117,100,105,111,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,91,37,115,93,32,70,76,65,67,32,116,111,116,97,108,32,115,97,109,112,108,101,115,58,32,37,105,0,91,37,115,93,32,79,71,71,32,115,97,109,112,108,101,32,114,97,116,101,58,32,37,105,0,91,37,115,93,32,79,71,71,32,99,104,97,110,110,101,108,115,58,32,37,105,0,91,37,115,93,32,79,71,71,32,109,101,109,111,114,121,32,114,101,113,117,105,114,101,100,58,32,37,105,0,46,120,109,0,91,37,115,93,32,88,77,32,110,117,109,98,101,114,32,111,102,32,115,97,109,112,108,101,115,58,32,37,105,0,91,37,115,93,32,88,77,32,116,114,97,99,107,32,108,101,110,103,116,104,58,32,37,49,49,46,54,102,32,115,101,99,0,91,37,115,93,32,88,77,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,73,110,105,116,32,97,117,100,105,111,32,115,116,114,101,97,109,58,32,78,117,109,98,101,114,32,111,102,32,99,104,97,110,110,101,108,115,32,110,111,116,32,115,117,112,112,111,114,116,101,100,58,32,37,105,0,73,110,105,116,32,97,117,100,105,111,32,115,116,114,101,97,109,58,32,83,97,109,112,108,101,32,115,105,122,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,58,32,37,105,0,91,65,85,68,32,73,68,32,37,105,93,32,65,117,100,105,111,32,115,116,114,101,97,109,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,32,72,122,44,32,37,105,32,98,105,116,44,32,37,115,41,0,91,65,85,68,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,97,117,100,105,111,32,115,116,114,101,97,109,32,100,97,116,97,0,85,112,100,97,116,101,32,109,117,115,105,99,32,115,116,114,101,97,109,32,115,116,97,114,116,115,44,32,112,114,111,99,101,115,115,101,100,32,98,117,102,102,101,114,115,58,32,37,105,0,79,75,32,48,49,0,79,75,32,48,50,0,79,75,32,48,51,0,79,112,101,110,65,76,58,32,69,114,114,111,114,32,98,117,102,102,101,114,105,110,103,32,100,97,116,97,46,46,46,0,69,88,84,0,65,82,66,0,79,69,83,0,65,78,71,76,69,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,0,103,108,85,115,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,85,115,101,80,114,111,103,114,97,109,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,0,103,108,65,116,116,97,99,104,79,98,106,101,99,116,0,103,108,65,116,116,97,99,104,83,104,97,100,101,114,0,103,108,68,101,116,97,99,104,79,98,106,101,99,116,0,103,108,68,101,116,97,99,104,83,104,97,100,101,114,0,103,108,80,105,120,101,108,83,116,111,114,101,105,0,103,108,71,101,116,83,116,114,105,110,103,0,103,108,71,101,116,73,110,116,101,103,101,114,118,0,103,108,71,101,116,70,108,111,97,116,118,0,103,108,71,101,116,66,111,111,108,101,97,110,118,0,103,108,71,101,110,84,101,120,116,117,114,101,115,0,103,108,68,101,108,101,116,101,84,101,120,116,117,114,101,115,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,84,101,120,73,109,97,103,101,50,68,0,103,108,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,82,101,97,100,80,105,120,101,108,115,0,103,108,66,105,110,100,84,101,120,116,117,114,101,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,84,101,120,116,117,114,101,0,103,108,71,101,110,66,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,66,117,102,102,101,114,115,0,103,108,71,101,116,66,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,66,117,102,102,101,114,68,97,116,97,0,103,108,66,117,102,102,101,114,83,117,98,68,97,116,97,0,103,108,73,115,66,117,102,102,101,114,0,103,108,71,101,110,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,66,105,110,100,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,82,101,110,100,101,114,98,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,85,110,105,102,111,114,109,102,118,0,103,108,71,101,116,85,110,105,102,111,114,109,105,118,0,103,108,71,101,116,85,110,105,102,111,114,109,76,111,99,97,116,105,111,110,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,102,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,105,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,118,0,103,108,71,101,116,65,99,116,105,118,101,85,110,105,102,111,114,109,0,103,108,85,110,105,102,111,114,109,49,102,0,103,108,85,110,105,102,111,114,109,50,102,0,103,108,85,110,105,102,111,114,109,51,102,0,103,108,85,110,105,102,111,114,109,52,102,0,103,108,85,110,105,102,111,114,109,49,105,0,103,108,85,110,105,102,111,114,109,50,105,0,103,108,85,110,105,102,111,114,109,51,105,0,103,108,85,110,105,102,111,114,109,52,105,0,103,108,85,110,105,102,111,114,109,49,105,118,0,103,108,85,110,105,102,111,114,109,50,105,118,0,103,108,85,110,105,102,111,114,109,51,105,118,0,103,108,85,110,105,102,111,114,109,52,105,118,0,103,108,85,110,105,102,111,114,109,49,102,118,0,103,108,85,110,105,102,111], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+10240); +/* memory initializer */ allocate([114,109,50,102,118,0,103,108,85,110,105,102,111,114,109,51,102,118,0,103,108,85,110,105,102,111,114,109,52,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,50,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,51,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,52,102,118,0,103,108,66,105,110,100,66,117,102,102,101,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,118,0,103,108,71,101,116,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,71,101,116,65,99,116,105,118,101,65,116,116,114,105,98,0,103,108,68,101,108,101,116,101,83,104,97,100,101,114,0,103,108,71,101,116,65,116,116,97,99,104,101,100,83,104,97,100,101,114,115,0,103,108,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,71,101,116,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,67,111,109,112,105,108,101,83,104,97,100,101,114,0,103,108,71,101,116,83,104,97,100,101,114,73,110,102,111,76,111,103,0,103,108,71,101,116,83,104,97,100,101,114,105,118,0,103,108,71,101,116,80,114,111,103,114,97,109,105,118,0,103,108,73,115,83,104,97,100,101,114,0,103,108,68,101,108,101,116,101,80,114,111,103,114,97,109,0,103,108,71,101,116,83,104,97,100,101,114,80,114,101,99,105,115,105,111,110,70,111,114,109,97,116,0,103,108,76,105,110,107,80,114,111,103,114,97,109,0,103,108,71,101,116,80,114,111,103,114,97,109,73,110,102,111,76,111,103,0,103,108,86,97,108,105,100,97,116,101,80,114,111,103,114,97,109,0,103,108,73,115,80,114,111,103,114,97,109,0,103,108,66,105,110,100,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,66,105,110,100,70,114,97,109,101,98,117,102,102,101,114,0,103,108,71,101,110,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,70,114,97,109,101,98,117,102,102,101,114,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,70,114,97,109,101,98,117,102,102,101,114,84,101,120,116,117,114,101,50,68,0,103,108,71,101,116,70,114,97,109,101,98,117,102,102,101,114,65,116,116,97,99,104,109,101,110,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,70,114,97,109,101,98,117,102,102,101,114,0,103,108,68,101,108,101,116,101,79,98,106,101,99,116,0,103,108,71,101,116,79,98,106,101,99,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,71,101,116,73,110,102,111,76,111,103,0,103,108,66,105,110,100,80,114,111,103,114,97,109,0,103,108,71,101,116,80,111,105,110,116,101,114,118,0,103,108,68,114,97,119,82,97,110,103,101,69,108,101,109,101,110,116,115,0,103,108,69,110,97,98,108,101,67,108,105,101,110,116,83,116,97,116,101,0,103,108,86,101,114,116,101,120,80,111,105,110,116,101,114,0,103,108,84,101,120,67,111,111,114,100,80,111,105,110,116,101,114,0,103,108,78,111,114,109,97,108,80,111,105,110,116,101,114,0,103,108,67,111,108,111,114,80,111,105,110,116,101,114,0,103,108,67,108,105,101,110,116,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,0,103,108,77,97,116,114,105,120,77,111,100,101,0,103,108,76,111,97,100,73,100,101,110,116,105,116,121,0,103,108,76,111,97,100,77,97,116,114,105,120,102,0,103,108,70,114,117,115,116,117,109,0,103,108,82,111,116,97,116,101,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,0,103,108,69,110,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,105,115,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,114,97,119,65,114,114,97,121,115,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,0,103,108,83,104,97,100,101,114,66,105,110,97,114,121,0,103,108,82,101,108,101,97,115,101,83,104,97,100,101,114,67,111,109,112,105,108,101,114,0,103,108,71,101,116,69,114,114,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,68,105,118,105,115,111,114,0,103,108,68,114,97,119,65,114,114,97,121,115,73,110,115,116,97,110,99,101,100,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,73,110,115,116,97,110,99,101,100,0,103,108,70,105,110,105,115,104,0,103,108,70,108,117,115,104,0,103,108,67,108,101,97,114,68,101,112,116,104,0,103,108,67,108,101,97,114,68,101,112,116,104,102,0,103,108,68,101,112,116,104,70,117,110,99,0,103,108,69,110,97,98,108,101,0,103,108,68,105,115,97,98,108,101,0,103,108,70,114,111,110,116,70,97,99,101,0,103,108,67,117,108,108,70,97,99,101,0,103,108,67,108,101,97,114,0,103,108,76,105,110,101,87,105,100,116,104,0,103,108,67,108,101,97,114,83,116,101,110,99,105,108,0,103,108,68,101,112,116,104,77,97,115,107,0,103,108,83,116,101,110,99,105,108,77,97,115,107,0,103,108,67,104,101,99,107,70,114,97,109,101,98,117,102,102,101,114,83,116,97,116,117,115,0,103,108,71,101,110,101,114,97,116,101,77,105,112,109,97,112,0,103,108,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,0,103,108,73,115,69,110,97,98,108,101,100,0,103,108,66,108,101,110,100,70,117,110,99,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,83,101,112,97,114,97,116,101,0,103,108,68,101,112,116,104,82,97,110,103,101,0,103,108,68,101,112,116,104,82,97,110,103,101,102,0,103,108,83,116,101,110,99,105,108,77,97,115,107,83,101,112,97,114,97,116,101,0,103,108,72,105,110,116,0,103,108,80,111,108,121,103,111,110,79,102,102,115,101,116,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,0,103,108,83,97,109,112,108,101,67,111,118,101,114,97,103,101,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,0,103,108,83,116,101,110,99,105,108,70,117,110,99,0,103,108,83,116,101,110,99,105,108,79,112,0,103,108,86,105,101,119,112,111,114,116,0,103,108,67,108,101,97,114,67,111,108,111,114,0,103,108,83,99,105,115,115,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,0,103,108,67,111,108,111,114,77,97,115,107,0,103,108,82,101,110,100,101,114,98,117,102,102,101,114,83,116,111,114,97,103,101,0,103,108,66,108,101,110,100,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,66,108,101,110,100,67,111,108,111,114,0,103,108,83,116,101,110,99,105,108,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,83,116,101,110,99,105,108,79,112,83,101,112,97,114,97,116,101,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,0,103,108,67,111,112,121,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,112,121,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,68,114,97,119,66,117,102,102,101,114,115,0,123,32,77,111,100,117,108,101,46,112,114,105,110,116,69,114,114,40,39,98,97,100,32,110,97,109,101,32,105,110,32,103,101,116,80,114,111,99,65,100,100,114,101,115,115,58,32,39,32,43,32,91,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,48,41,44,32,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,49,41,93,41,59,32,125,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,1,2,3,4,5,6,7,8,9,255,255,255,255,255,255,255,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,255,255,255,255,255,255,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,1,2,4,7,3,6,5,0,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,78,65,78,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,46,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,105,110,102,105,110,105,116,121,0,110,97,110,0,114,119,97,0], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+20480); + + + + + +/* no memory initializer */ +var tempDoublePtr = STATICTOP; STATICTOP += 16; + +assert(tempDoublePtr % 8 == 0); + +function copyTempFloat(ptr) { // functions, because inlining this code increases code size too much + + HEAP8[tempDoublePtr] = HEAP8[ptr]; + + HEAP8[tempDoublePtr+1] = HEAP8[ptr+1]; + + HEAP8[tempDoublePtr+2] = HEAP8[ptr+2]; + + HEAP8[tempDoublePtr+3] = HEAP8[ptr+3]; + +} + +function copyTempDouble(ptr) { + + HEAP8[tempDoublePtr] = HEAP8[ptr]; + + HEAP8[tempDoublePtr+1] = HEAP8[ptr+1]; + + HEAP8[tempDoublePtr+2] = HEAP8[ptr+2]; + + HEAP8[tempDoublePtr+3] = HEAP8[ptr+3]; + + HEAP8[tempDoublePtr+4] = HEAP8[ptr+4]; + + HEAP8[tempDoublePtr+5] = HEAP8[ptr+5]; + + HEAP8[tempDoublePtr+6] = HEAP8[ptr+6]; + + HEAP8[tempDoublePtr+7] = HEAP8[ptr+7]; + +} + +// {{PRE_LIBRARY}} + + + + var GL={counter:1,lastError:0,buffers:[],mappedBuffers:{},programs:[],framebuffers:[],renderbuffers:[],textures:[],uniforms:[],shaders:[],vaos:[],contexts:[],currentContext:null,offscreenCanvases:{},timerQueriesEXT:[],byteSizeByTypeRoot:5120,byteSizeByType:[1,1,2,2,4,4,4,2,3,4,8],programInfos:{},stringCache:{},tempFixedLengthArray:[],packAlignment:4,unpackAlignment:4,init:function () { + GL.miniTempBuffer = new Float32Array(GL.MINI_TEMP_BUFFER_SIZE); + for (var i = 0; i < GL.MINI_TEMP_BUFFER_SIZE; i++) { + GL.miniTempBufferViews[i] = GL.miniTempBuffer.subarray(0, i+1); + } + + // For functions such as glDrawBuffers, glInvalidateFramebuffer and glInvalidateSubFramebuffer that need to pass a short array to the WebGL API, + // create a set of short fixed-length arrays to avoid having to generate any garbage when calling those functions. + for (var i = 0; i < 32; i++) { + GL.tempFixedLengthArray.push(new Array(i)); + } + },recordError:function recordError(errorCode) { + if (!GL.lastError) { + GL.lastError = errorCode; + } + },getNewId:function (table) { + var ret = GL.counter++; + for (var i = table.length; i < ret; i++) { + table[i] = null; + } + return ret; + },MINI_TEMP_BUFFER_SIZE:256,miniTempBuffer:null,miniTempBufferViews:[0],getSource:function (shader, count, string, length) { + var source = ''; + for (var i = 0; i < count; ++i) { + var frag; + if (length) { + var len = HEAP32[(((length)+(i*4))>>2)]; + if (len < 0) { + frag = Pointer_stringify(HEAP32[(((string)+(i*4))>>2)]); + } else { + frag = Pointer_stringify(HEAP32[(((string)+(i*4))>>2)], len); + } + } else { + frag = Pointer_stringify(HEAP32[(((string)+(i*4))>>2)]); + } + source += frag; + } + return source; + },createContext:function (canvas, webGLContextAttributes) { + if (typeof webGLContextAttributes['majorVersion'] === 'undefined' && typeof webGLContextAttributes['minorVersion'] === 'undefined') { + webGLContextAttributes['majorVersion'] = 1; + webGLContextAttributes['minorVersion'] = 0; + } + var ctx; + var errorInfo = '?'; + function onContextCreationError(event) { + errorInfo = event.statusMessage || errorInfo; + } + try { + canvas.addEventListener('webglcontextcreationerror', onContextCreationError, false); + try { + if (webGLContextAttributes['majorVersion'] == 1 && webGLContextAttributes['minorVersion'] == 0) { + ctx = canvas.getContext("webgl", webGLContextAttributes) || canvas.getContext("experimental-webgl", webGLContextAttributes); + } else if (webGLContextAttributes['majorVersion'] == 2 && webGLContextAttributes['minorVersion'] == 0) { + ctx = canvas.getContext("webgl2", webGLContextAttributes) || canvas.getContext("experimental-webgl2", webGLContextAttributes); + } else { + throw 'Unsupported WebGL context version ' + majorVersion + '.' + minorVersion + '!' + } + } finally { + canvas.removeEventListener('webglcontextcreationerror', onContextCreationError, false); + } + if (!ctx) throw ':('; + } catch (e) { + Module.print('Could not create canvas: ' + [errorInfo, e, JSON.stringify(webGLContextAttributes)]); + return 0; + } + // possible GL_DEBUG entry point: ctx = wrapDebugGL(ctx); + + if (!ctx) return 0; + return GL.registerContext(ctx, webGLContextAttributes); + },registerContext:function (ctx, webGLContextAttributes) { + var handle = GL.getNewId(GL.contexts); + var context = { + handle: handle, + attributes: webGLContextAttributes, + version: webGLContextAttributes['majorVersion'], + GLctx: ctx + }; + + + // Store the created context object so that we can access the context given a canvas without having to pass the parameters again. + if (ctx.canvas) ctx.canvas.GLctxObject = context; + GL.contexts[handle] = context; + if (typeof webGLContextAttributes['enableExtensionsByDefault'] === 'undefined' || webGLContextAttributes['enableExtensionsByDefault']) { + GL.initExtensions(context); + } + return handle; + },makeContextCurrent:function (contextHandle) { + var context = GL.contexts[contextHandle]; + if (!context) return false; + GLctx = Module.ctx = context.GLctx; // Active WebGL context object. + GL.currentContext = context; // Active Emscripten GL layer context object. + return true; + },getContext:function (contextHandle) { + return GL.contexts[contextHandle]; + },deleteContext:function (contextHandle) { + if (GL.currentContext === GL.contexts[contextHandle]) GL.currentContext = null; + if (typeof JSEvents === 'object') JSEvents.removeAllHandlersOnTarget(GL.contexts[contextHandle].GLctx.canvas); // Release all JS event handlers on the DOM element that the GL context is associated with since the context is now deleted. + if (GL.contexts[contextHandle] && GL.contexts[contextHandle].GLctx.canvas) GL.contexts[contextHandle].GLctx.canvas.GLctxObject = undefined; // Make sure the canvas object no longer refers to the context object so there are no GC surprises. + GL.contexts[contextHandle] = null; + },initExtensions:function (context) { + // If this function is called without a specific context object, init the extensions of the currently active context. + if (!context) context = GL.currentContext; + + if (context.initExtensionsDone) return; + context.initExtensionsDone = true; + + var GLctx = context.GLctx; + + context.maxVertexAttribs = GLctx.getParameter(GLctx.MAX_VERTEX_ATTRIBS); + + // Detect the presence of a few extensions manually, this GL interop layer itself will need to know if they exist. + + if (context.version < 2) { + // Extension available from Firefox 26 and Google Chrome 30 + var instancedArraysExt = GLctx.getExtension('ANGLE_instanced_arrays'); + if (instancedArraysExt) { + GLctx['vertexAttribDivisor'] = function(index, divisor) { instancedArraysExt['vertexAttribDivisorANGLE'](index, divisor); }; + GLctx['drawArraysInstanced'] = function(mode, first, count, primcount) { instancedArraysExt['drawArraysInstancedANGLE'](mode, first, count, primcount); }; + GLctx['drawElementsInstanced'] = function(mode, count, type, indices, primcount) { instancedArraysExt['drawElementsInstancedANGLE'](mode, count, type, indices, primcount); }; + } + + // Extension available from Firefox 25 and WebKit + var vaoExt = GLctx.getExtension('OES_vertex_array_object'); + if (vaoExt) { + GLctx['createVertexArray'] = function() { return vaoExt['createVertexArrayOES'](); }; + GLctx['deleteVertexArray'] = function(vao) { vaoExt['deleteVertexArrayOES'](vao); }; + GLctx['bindVertexArray'] = function(vao) { vaoExt['bindVertexArrayOES'](vao); }; + GLctx['isVertexArray'] = function(vao) { return vaoExt['isVertexArrayOES'](vao); }; + } + + var drawBuffersExt = GLctx.getExtension('WEBGL_draw_buffers'); + if (drawBuffersExt) { + GLctx['drawBuffers'] = function(n, bufs) { drawBuffersExt['drawBuffersWEBGL'](n, bufs); }; + } + } + + GLctx.disjointTimerQueryExt = GLctx.getExtension("EXT_disjoint_timer_query"); + + // These are the 'safe' feature-enabling extensions that don't add any performance impact related to e.g. debugging, and + // should be enabled by default so that client GLES2/GL code will not need to go through extra hoops to get its stuff working. + // As new extensions are ratified at http://www.khronos.org/registry/webgl/extensions/ , feel free to add your new extensions + // here, as long as they don't produce a performance impact for users that might not be using those extensions. + // E.g. debugging-related extensions should probably be off by default. + var automaticallyEnabledExtensions = [ "OES_texture_float", "OES_texture_half_float", "OES_standard_derivatives", + "OES_vertex_array_object", "WEBGL_compressed_texture_s3tc", "WEBGL_depth_texture", + "OES_element_index_uint", "EXT_texture_filter_anisotropic", "ANGLE_instanced_arrays", + "OES_texture_float_linear", "OES_texture_half_float_linear", "WEBGL_compressed_texture_atc", + "WEBGL_compressed_texture_pvrtc", "EXT_color_buffer_half_float", "WEBGL_color_buffer_float", + "EXT_frag_depth", "EXT_sRGB", "WEBGL_draw_buffers", "WEBGL_shared_resources", + "EXT_shader_texture_lod", "EXT_color_buffer_float"]; + + function shouldEnableAutomatically(extension) { + var ret = false; + automaticallyEnabledExtensions.forEach(function(include) { + if (ext.indexOf(include) != -1) { + ret = true; + } + }); + return ret; + } + + var exts = GLctx.getSupportedExtensions(); + if (exts && exts.length > 0) { + GLctx.getSupportedExtensions().forEach(function(ext) { + if (automaticallyEnabledExtensions.indexOf(ext) != -1) { + GLctx.getExtension(ext); // Calling .getExtension enables that extension permanently, no need to store the return value to be enabled. + } + }); + } + },populateUniformTable:function (program) { + var p = GL.programs[program]; + GL.programInfos[program] = { + uniforms: {}, + maxUniformLength: 0, // This is eagerly computed below, since we already enumerate all uniforms anyway. + maxAttributeLength: -1, // This is lazily computed and cached, computed when/if first asked, "-1" meaning not computed yet. + maxUniformBlockNameLength: -1 // Lazily computed as well + }; + + var ptable = GL.programInfos[program]; + var utable = ptable.uniforms; + // A program's uniform table maps the string name of an uniform to an integer location of that uniform. + // The global GL.uniforms map maps integer locations to WebGLUniformLocations. + var numUniforms = GLctx.getProgramParameter(p, GLctx.ACTIVE_UNIFORMS); + for (var i = 0; i < numUniforms; ++i) { + var u = GLctx.getActiveUniform(p, i); + + var name = u.name; + ptable.maxUniformLength = Math.max(ptable.maxUniformLength, name.length+1); + + // Strip off any trailing array specifier we might have got, e.g. "[0]". + if (name.indexOf(']', name.length-1) !== -1) { + var ls = name.lastIndexOf('['); + name = name.slice(0, ls); + } + + // Optimize memory usage slightly: If we have an array of uniforms, e.g. 'vec3 colors[3];', then + // only store the string 'colors' in utable, and 'colors[0]', 'colors[1]' and 'colors[2]' will be parsed as 'colors'+i. + // Note that for the GL.uniforms table, we still need to fetch the all WebGLUniformLocations for all the indices. + var loc = GLctx.getUniformLocation(p, name); + if (loc != null) + { + var id = GL.getNewId(GL.uniforms); + utable[name] = [u.size, id]; + GL.uniforms[id] = loc; + + for (var j = 1; j < u.size; ++j) { + var n = name + '['+j+']'; + loc = GLctx.getUniformLocation(p, n); + id = GL.getNewId(GL.uniforms); + + GL.uniforms[id] = loc; + } + } + } + }};function _emscripten_glIsRenderbuffer(renderbuffer) { + var rb = GL.renderbuffers[renderbuffer]; + if (!rb) return 0; + return GLctx.isRenderbuffer(rb); + } + + function _emscripten_glStencilMaskSeparate(x0, x1) { GLctx['stencilMaskSeparate'](x0, x1) } + + + + function _emscripten_get_now() { abort() } + + + + function _emscripten_set_main_loop_timing(mode, value) { + Browser.mainLoop.timingMode = mode; + Browser.mainLoop.timingValue = value; + + if (!Browser.mainLoop.func) { + console.error('emscripten_set_main_loop_timing: Cannot set timing mode for main loop since a main loop does not exist! Call emscripten_set_main_loop first to set one up.'); + return 1; // Return non-zero on failure, can't set timing mode when there is no main loop. + } + + if (mode == 0 /*EM_TIMING_SETTIMEOUT*/) { + Browser.mainLoop.scheduler = function Browser_mainLoop_scheduler_setTimeout() { + var timeUntilNextTick = Math.max(0, Browser.mainLoop.tickStartTime + value - _emscripten_get_now())|0; + setTimeout(Browser.mainLoop.runner, timeUntilNextTick); // doing this each time means that on exception, we stop + }; + Browser.mainLoop.method = 'timeout'; + } else if (mode == 1 /*EM_TIMING_RAF*/) { + Browser.mainLoop.scheduler = function Browser_mainLoop_scheduler_rAF() { + Browser.requestAnimationFrame(Browser.mainLoop.runner); + }; + Browser.mainLoop.method = 'rAF'; + } else if (mode == 2 /*EM_TIMING_SETIMMEDIATE*/) { + if (!window['setImmediate']) { + // Emulate setImmediate. (note: not a complete polyfill, we don't emulate clearImmediate() to keep code size to minimum, since not needed) + var setImmediates = []; + var emscriptenMainLoopMessageId = 'setimmediate'; + function Browser_setImmediate_messageHandler(event) { + if (event.source === window && event.data === emscriptenMainLoopMessageId) { + event.stopPropagation(); + setImmediates.shift()(); + } + } + window.addEventListener("message", Browser_setImmediate_messageHandler, true); + window['setImmediate'] = function Browser_emulated_setImmediate(func) { + setImmediates.push(func); + if (ENVIRONMENT_IS_WORKER) { + if (Module['setImmediates'] === undefined) Module['setImmediates'] = []; + Module['setImmediates'].push(func); + window.postMessage({target: emscriptenMainLoopMessageId}); // In --proxy-to-worker, route the message via proxyClient.js + } else window.postMessage(emscriptenMainLoopMessageId, "*"); // On the main thread, can just send the message to itself. + } + } + Browser.mainLoop.scheduler = function Browser_mainLoop_scheduler_setImmediate() { + window['setImmediate'](Browser.mainLoop.runner); + }; + Browser.mainLoop.method = 'immediate'; + } + return 0; + }function _emscripten_set_main_loop(func, fps, simulateInfiniteLoop, arg, noSetTiming) { + Module['noExitRuntime'] = true; + + assert(!Browser.mainLoop.func, 'emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters.'); + + Browser.mainLoop.func = func; + Browser.mainLoop.arg = arg; + + var browserIterationFunc; + if (typeof arg !== 'undefined') { + browserIterationFunc = function() { + Module['dynCall_vi'](func, arg); + }; + } else { + browserIterationFunc = function() { + Module['dynCall_v'](func); + }; + } + + var thisMainLoopId = Browser.mainLoop.currentlyRunningMainloop; + + Browser.mainLoop.runner = function Browser_mainLoop_runner() { + if (ABORT) return; + if (Browser.mainLoop.queue.length > 0) { + var start = Date.now(); + var blocker = Browser.mainLoop.queue.shift(); + blocker.func(blocker.arg); + if (Browser.mainLoop.remainingBlockers) { + var remaining = Browser.mainLoop.remainingBlockers; + var next = remaining%1 == 0 ? remaining-1 : Math.floor(remaining); + if (blocker.counted) { + Browser.mainLoop.remainingBlockers = next; + } else { + // not counted, but move the progress along a tiny bit + next = next + 0.5; // do not steal all the next one's progress + Browser.mainLoop.remainingBlockers = (8*remaining + next)/9; + } + } + console.log('main loop blocker "' + blocker.name + '" took ' + (Date.now() - start) + ' ms'); //, left: ' + Browser.mainLoop.remainingBlockers); + Browser.mainLoop.updateStatus(); + + // catches pause/resume main loop from blocker execution + if (thisMainLoopId < Browser.mainLoop.currentlyRunningMainloop) return; + + setTimeout(Browser.mainLoop.runner, 0); + return; + } + + // catch pauses from non-main loop sources + if (thisMainLoopId < Browser.mainLoop.currentlyRunningMainloop) return; + + // Implement very basic swap interval control + Browser.mainLoop.currentFrameNumber = Browser.mainLoop.currentFrameNumber + 1 | 0; + if (Browser.mainLoop.timingMode == 1/*EM_TIMING_RAF*/ && Browser.mainLoop.timingValue > 1 && Browser.mainLoop.currentFrameNumber % Browser.mainLoop.timingValue != 0) { + // Not the scheduled time to render this frame - skip. + Browser.mainLoop.scheduler(); + return; + } else if (Browser.mainLoop.timingMode == 0/*EM_TIMING_SETTIMEOUT*/) { + Browser.mainLoop.tickStartTime = _emscripten_get_now(); + } + + // Signal GL rendering layer that processing of a new frame is about to start. This helps it optimize + // VBO double-buffering and reduce GPU stalls. + + + if (Browser.mainLoop.method === 'timeout' && Module.ctx) { + Module.printErr('Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!'); + Browser.mainLoop.method = ''; // just warn once per call to set main loop + } + + Browser.mainLoop.runIter(browserIterationFunc); + + checkStackCookie(); + + // catch pauses from the main loop itself + if (thisMainLoopId < Browser.mainLoop.currentlyRunningMainloop) return; + + // Queue new audio data. This is important to be right after the main loop invocation, so that we will immediately be able + // to queue the newest produced audio samples. + // TODO: Consider adding pre- and post- rAF callbacks so that GL.newRenderingFrameStarted() and SDL.audio.queueNewAudioData() + // do not need to be hardcoded into this function, but can be more generic. + if (typeof SDL === 'object' && SDL.audio && SDL.audio.queueNewAudioData) SDL.audio.queueNewAudioData(); + + Browser.mainLoop.scheduler(); + } + + if (!noSetTiming) { + if (fps && fps > 0) _emscripten_set_main_loop_timing(0/*EM_TIMING_SETTIMEOUT*/, 1000.0 / fps); + else _emscripten_set_main_loop_timing(1/*EM_TIMING_RAF*/, 1); // Do rAF by rendering each frame (no decimating) + + Browser.mainLoop.scheduler(); + } + + if (simulateInfiniteLoop) { + throw 'SimulateInfiniteLoop'; + } + }var Browser={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function () { + Browser.mainLoop.scheduler = null; + Browser.mainLoop.currentlyRunningMainloop++; // Incrementing this signals the previous main loop that it's now become old, and it must return. + },resume:function () { + Browser.mainLoop.currentlyRunningMainloop++; + var timingMode = Browser.mainLoop.timingMode; + var timingValue = Browser.mainLoop.timingValue; + var func = Browser.mainLoop.func; + Browser.mainLoop.func = null; + _emscripten_set_main_loop(func, 0, false, Browser.mainLoop.arg, true /* do not set timing and call scheduler, we will do it on the next lines */); + _emscripten_set_main_loop_timing(timingMode, timingValue); + Browser.mainLoop.scheduler(); + },updateStatus:function () { + if (Module['setStatus']) { + var message = Module['statusMessage'] || 'Please wait...'; + var remaining = Browser.mainLoop.remainingBlockers; + var expected = Browser.mainLoop.expectedBlockers; + if (remaining) { + if (remaining < expected) { + Module['setStatus'](message + ' (' + (expected - remaining) + '/' + expected + ')'); + } else { + Module['setStatus'](message); + } + } else { + Module['setStatus'](''); + } + } + },runIter:function (func) { + if (ABORT) return; + if (Module['preMainLoop']) { + var preRet = Module['preMainLoop'](); + if (preRet === false) { + return; // |return false| skips a frame + } + } + try { + func(); + } catch (e) { + if (e instanceof ExitStatus) { + return; + } else { + if (e && typeof e === 'object' && e.stack) Module.printErr('exception thrown: ' + [e, e.stack]); + throw e; + } + } + if (Module['postMainLoop']) Module['postMainLoop'](); + }},isFullscreen:false,pointerLock:false,moduleContextCreatedCallbacks:[],workers:[],init:function () { + if (!Module["preloadPlugins"]) Module["preloadPlugins"] = []; // needs to exist even in workers + + if (Browser.initted) return; + Browser.initted = true; + + try { + new Blob(); + Browser.hasBlobConstructor = true; + } catch(e) { + Browser.hasBlobConstructor = false; + console.log("warning: no blob constructor, cannot create blobs with mimetypes"); + } + Browser.BlobBuilder = typeof MozBlobBuilder != "undefined" ? MozBlobBuilder : (typeof WebKitBlobBuilder != "undefined" ? WebKitBlobBuilder : (!Browser.hasBlobConstructor ? console.log("warning: no BlobBuilder") : null)); + Browser.URLObject = typeof window != "undefined" ? (window.URL ? window.URL : window.webkitURL) : undefined; + if (!Module.noImageDecoding && typeof Browser.URLObject === 'undefined') { + console.log("warning: Browser does not support creating object URLs. Built-in browser image decoding will not be available."); + Module.noImageDecoding = true; + } + + // Support for plugins that can process preloaded files. You can add more of these to + // your app by creating and appending to Module.preloadPlugins. + // + // Each plugin is asked if it can handle a file based on the file's name. If it can, + // it is given the file's raw data. When it is done, it calls a callback with the file's + // (possibly modified) data. For example, a plugin might decompress a file, or it + // might create some side data structure for use later (like an Image element, etc.). + + var imagePlugin = {}; + imagePlugin['canHandle'] = function imagePlugin_canHandle(name) { + return !Module.noImageDecoding && /\.(jpg|jpeg|png|bmp)$/i.test(name); + }; + imagePlugin['handle'] = function imagePlugin_handle(byteArray, name, onload, onerror) { + var b = null; + if (Browser.hasBlobConstructor) { + try { + b = new Blob([byteArray], { type: Browser.getMimetype(name) }); + if (b.size !== byteArray.length) { // Safari bug #118630 + // Safari's Blob can only take an ArrayBuffer + b = new Blob([(new Uint8Array(byteArray)).buffer], { type: Browser.getMimetype(name) }); + } + } catch(e) { + Runtime.warnOnce('Blob constructor present but fails: ' + e + '; falling back to blob builder'); + } + } + if (!b) { + var bb = new Browser.BlobBuilder(); + bb.append((new Uint8Array(byteArray)).buffer); // we need to pass a buffer, and must copy the array to get the right data range + b = bb.getBlob(); + } + var url = Browser.URLObject.createObjectURL(b); + assert(typeof url == 'string', 'createObjectURL must return a url as a string'); + var img = new Image(); + img.onload = function img_onload() { + assert(img.complete, 'Image ' + name + ' could not be decoded'); + var canvas = document.createElement('canvas'); + canvas.width = img.width; + canvas.height = img.height; + var ctx = canvas.getContext('2d'); + ctx.drawImage(img, 0, 0); + Module["preloadedImages"][name] = canvas; + Browser.URLObject.revokeObjectURL(url); + if (onload) onload(byteArray); + }; + img.onerror = function img_onerror(event) { + console.log('Image ' + url + ' could not be decoded'); + if (onerror) onerror(); + }; + img.src = url; + }; + Module['preloadPlugins'].push(imagePlugin); + + var audioPlugin = {}; + audioPlugin['canHandle'] = function audioPlugin_canHandle(name) { + return !Module.noAudioDecoding && name.substr(-4) in { '.ogg': 1, '.wav': 1, '.mp3': 1 }; + }; + audioPlugin['handle'] = function audioPlugin_handle(byteArray, name, onload, onerror) { + var done = false; + function finish(audio) { + if (done) return; + done = true; + Module["preloadedAudios"][name] = audio; + if (onload) onload(byteArray); + } + function fail() { + if (done) return; + done = true; + Module["preloadedAudios"][name] = new Audio(); // empty shim + if (onerror) onerror(); + } + if (Browser.hasBlobConstructor) { + try { + var b = new Blob([byteArray], { type: Browser.getMimetype(name) }); + } catch(e) { + return fail(); + } + var url = Browser.URLObject.createObjectURL(b); // XXX we never revoke this! + assert(typeof url == 'string', 'createObjectURL must return a url as a string'); + var audio = new Audio(); + audio.addEventListener('canplaythrough', function() { finish(audio) }, false); // use addEventListener due to chromium bug 124926 + audio.onerror = function audio_onerror(event) { + if (done) return; + console.log('warning: browser could not fully decode audio ' + name + ', trying slower base64 approach'); + function encode64(data) { + var BASE = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'; + var PAD = '='; + var ret = ''; + var leftchar = 0; + var leftbits = 0; + for (var i = 0; i < data.length; i++) { + leftchar = (leftchar << 8) | data[i]; + leftbits += 8; + while (leftbits >= 6) { + var curr = (leftchar >> (leftbits-6)) & 0x3f; + leftbits -= 6; + ret += BASE[curr]; + } + } + if (leftbits == 2) { + ret += BASE[(leftchar&3) << 4]; + ret += PAD + PAD; + } else if (leftbits == 4) { + ret += BASE[(leftchar&0xf) << 2]; + ret += PAD; + } + return ret; + } + audio.src = 'data:audio/x-' + name.substr(-3) + ';base64,' + encode64(byteArray); + finish(audio); // we don't wait for confirmation this worked - but it's worth trying + }; + audio.src = url; + // workaround for chrome bug 124926 - we do not always get oncanplaythrough or onerror + Browser.safeSetTimeout(function() { + finish(audio); // try to use it even though it is not necessarily ready to play + }, 10000); + } else { + return fail(); + } + }; + Module['preloadPlugins'].push(audioPlugin); + + // Canvas event setup + + function pointerLockChange() { + Browser.pointerLock = document['pointerLockElement'] === Module['canvas'] || + document['mozPointerLockElement'] === Module['canvas'] || + document['webkitPointerLockElement'] === Module['canvas'] || + document['msPointerLockElement'] === Module['canvas']; + } + var canvas = Module['canvas']; + if (canvas) { + // forced aspect ratio can be enabled by defining 'forcedAspectRatio' on Module + // Module['forcedAspectRatio'] = 4 / 3; + + canvas.requestPointerLock = canvas['requestPointerLock'] || + canvas['mozRequestPointerLock'] || + canvas['webkitRequestPointerLock'] || + canvas['msRequestPointerLock'] || + function(){}; + canvas.exitPointerLock = document['exitPointerLock'] || + document['mozExitPointerLock'] || + document['webkitExitPointerLock'] || + document['msExitPointerLock'] || + function(){}; // no-op if function does not exist + canvas.exitPointerLock = canvas.exitPointerLock.bind(document); + + document.addEventListener('pointerlockchange', pointerLockChange, false); + document.addEventListener('mozpointerlockchange', pointerLockChange, false); + document.addEventListener('webkitpointerlockchange', pointerLockChange, false); + document.addEventListener('mspointerlockchange', pointerLockChange, false); + + if (Module['elementPointerLock']) { + canvas.addEventListener("click", function(ev) { + if (!Browser.pointerLock && Module['canvas'].requestPointerLock) { + Module['canvas'].requestPointerLock(); + ev.preventDefault(); + } + }, false); + } + } + },createContext:function (canvas, useWebGL, setInModule, webGLContextAttributes) { + if (useWebGL && Module.ctx && canvas == Module.canvas) return Module.ctx; // no need to recreate GL context if it's already been created for this canvas. + + var ctx; + var contextHandle; + if (useWebGL) { + // For GLES2/desktop GL compatibility, adjust a few defaults to be different to WebGL defaults, so that they align better with the desktop defaults. + var contextAttributes = { + antialias: false, + alpha: false + }; + + if (webGLContextAttributes) { + for (var attribute in webGLContextAttributes) { + contextAttributes[attribute] = webGLContextAttributes[attribute]; + } + } + + contextHandle = GL.createContext(canvas, contextAttributes); + if (contextHandle) { + ctx = GL.getContext(contextHandle).GLctx; + } + } else { + ctx = canvas.getContext('2d'); + } + + if (!ctx) return null; + + if (setInModule) { + if (!useWebGL) assert(typeof GLctx === 'undefined', 'cannot set in module if GLctx is used, but we are a non-GL context that would replace it'); + + Module.ctx = ctx; + if (useWebGL) GL.makeContextCurrent(contextHandle); + Module.useWebGL = useWebGL; + Browser.moduleContextCreatedCallbacks.forEach(function(callback) { callback() }); + Browser.init(); + } + return ctx; + },destroyContext:function (canvas, useWebGL, setInModule) {},fullscreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullscreen:function (lockPointer, resizeCanvas, vrDevice) { + Browser.lockPointer = lockPointer; + Browser.resizeCanvas = resizeCanvas; + Browser.vrDevice = vrDevice; + if (typeof Browser.lockPointer === 'undefined') Browser.lockPointer = true; + if (typeof Browser.resizeCanvas === 'undefined') Browser.resizeCanvas = false; + if (typeof Browser.vrDevice === 'undefined') Browser.vrDevice = null; + + var canvas = Module['canvas']; + function fullscreenChange() { + Browser.isFullscreen = false; + var canvasContainer = canvas.parentNode; + if ((document['fullscreenElement'] || document['mozFullScreenElement'] || + document['msFullscreenElement'] || document['webkitFullscreenElement'] || + document['webkitCurrentFullScreenElement']) === canvasContainer) { + canvas.exitFullscreen = document['exitFullscreen'] || + document['cancelFullScreen'] || + document['mozCancelFullScreen'] || + document['msExitFullscreen'] || + document['webkitCancelFullScreen'] || + function() {}; + canvas.exitFullscreen = canvas.exitFullscreen.bind(document); + if (Browser.lockPointer) canvas.requestPointerLock(); + Browser.isFullscreen = true; + if (Browser.resizeCanvas) Browser.setFullscreenCanvasSize(); + } else { + + // remove the full screen specific parent of the canvas again to restore the HTML structure from before going full screen + canvasContainer.parentNode.insertBefore(canvas, canvasContainer); + canvasContainer.parentNode.removeChild(canvasContainer); + + if (Browser.resizeCanvas) Browser.setWindowedCanvasSize(); + } + if (Module['onFullScreen']) Module['onFullScreen'](Browser.isFullscreen); + if (Module['onFullscreen']) Module['onFullscreen'](Browser.isFullscreen); + Browser.updateCanvasDimensions(canvas); + } + + if (!Browser.fullscreenHandlersInstalled) { + Browser.fullscreenHandlersInstalled = true; + document.addEventListener('fullscreenchange', fullscreenChange, false); + document.addEventListener('mozfullscreenchange', fullscreenChange, false); + document.addEventListener('webkitfullscreenchange', fullscreenChange, false); + document.addEventListener('MSFullscreenChange', fullscreenChange, false); + } + + // create a new parent to ensure the canvas has no siblings. this allows browsers to optimize full screen performance when its parent is the full screen root + var canvasContainer = document.createElement("div"); + canvas.parentNode.insertBefore(canvasContainer, canvas); + canvasContainer.appendChild(canvas); + + // use parent of canvas as full screen root to allow aspect ratio correction (Firefox stretches the root to screen size) + canvasContainer.requestFullscreen = canvasContainer['requestFullscreen'] || + canvasContainer['mozRequestFullScreen'] || + canvasContainer['msRequestFullscreen'] || + (canvasContainer['webkitRequestFullscreen'] ? function() { canvasContainer['webkitRequestFullscreen'](Element['ALLOW_KEYBOARD_INPUT']) } : null) || + (canvasContainer['webkitRequestFullScreen'] ? function() { canvasContainer['webkitRequestFullScreen'](Element['ALLOW_KEYBOARD_INPUT']) } : null); + + if (vrDevice) { + canvasContainer.requestFullscreen({ vrDisplay: vrDevice }); + } else { + canvasContainer.requestFullscreen(); + } + },requestFullScreen:function (lockPointer, resizeCanvas, vrDevice) { + Module.printErr('Browser.requestFullScreen() is deprecated. Please call Browser.requestFullscreen instead.'); + Browser.requestFullScreen = function(lockPointer, resizeCanvas, vrDevice) { + return Browser.requestFullscreen(lockPointer, resizeCanvas, vrDevice); + } + return Browser.requestFullscreen(lockPointer, resizeCanvas, vrDevice); + },nextRAF:0,fakeRequestAnimationFrame:function (func) { + // try to keep 60fps between calls to here + var now = Date.now(); + if (Browser.nextRAF === 0) { + Browser.nextRAF = now + 1000/60; + } else { + while (now + 2 >= Browser.nextRAF) { // fudge a little, to avoid timer jitter causing us to do lots of delay:0 + Browser.nextRAF += 1000/60; + } + } + var delay = Math.max(Browser.nextRAF - now, 0); + setTimeout(func, delay); + },requestAnimationFrame:function requestAnimationFrame(func) { + if (typeof window === 'undefined') { // Provide fallback to setTimeout if window is undefined (e.g. in Node.js) + Browser.fakeRequestAnimationFrame(func); + } else { + if (!window.requestAnimationFrame) { + window.requestAnimationFrame = window['requestAnimationFrame'] || + window['mozRequestAnimationFrame'] || + window['webkitRequestAnimationFrame'] || + window['msRequestAnimationFrame'] || + window['oRequestAnimationFrame'] || + Browser.fakeRequestAnimationFrame; + } + window.requestAnimationFrame(func); + } + },safeCallback:function (func) { + return function() { + if (!ABORT) return func.apply(null, arguments); + }; + },allowAsyncCallbacks:true,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function () { + Browser.allowAsyncCallbacks = false; + },resumeAsyncCallbacks:function () { // marks future callbacks as ok to execute, and synchronously runs any remaining ones right now + Browser.allowAsyncCallbacks = true; + if (Browser.queuedAsyncCallbacks.length > 0) { + var callbacks = Browser.queuedAsyncCallbacks; + Browser.queuedAsyncCallbacks = []; + callbacks.forEach(function(func) { + func(); + }); + } + },safeRequestAnimationFrame:function (func) { + return Browser.requestAnimationFrame(function() { + if (ABORT) return; + if (Browser.allowAsyncCallbacks) { + func(); + } else { + Browser.queuedAsyncCallbacks.push(func); + } + }); + },safeSetTimeout:function (func, timeout) { + Module['noExitRuntime'] = true; + return setTimeout(function() { + if (ABORT) return; + if (Browser.allowAsyncCallbacks) { + func(); + } else { + Browser.queuedAsyncCallbacks.push(func); + } + }, timeout); + },safeSetInterval:function (func, timeout) { + Module['noExitRuntime'] = true; + return setInterval(function() { + if (ABORT) return; + if (Browser.allowAsyncCallbacks) { + func(); + } // drop it on the floor otherwise, next interval will kick in + }, timeout); + },getMimetype:function (name) { + return { + 'jpg': 'image/jpeg', + 'jpeg': 'image/jpeg', + 'png': 'image/png', + 'bmp': 'image/bmp', + 'ogg': 'audio/ogg', + 'wav': 'audio/wav', + 'mp3': 'audio/mpeg' + }[name.substr(name.lastIndexOf('.')+1)]; + },getUserMedia:function (func) { + if(!window.getUserMedia) { + window.getUserMedia = navigator['getUserMedia'] || + navigator['mozGetUserMedia']; + } + window.getUserMedia(func); + },getMovementX:function (event) { + return event['movementX'] || + event['mozMovementX'] || + event['webkitMovementX'] || + 0; + },getMovementY:function (event) { + return event['movementY'] || + event['mozMovementY'] || + event['webkitMovementY'] || + 0; + },getMouseWheelDelta:function (event) { + var delta = 0; + switch (event.type) { + case 'DOMMouseScroll': + delta = event.detail; + break; + case 'mousewheel': + delta = event.wheelDelta; + break; + case 'wheel': + delta = event['deltaY']; + break; + default: + throw 'unrecognized mouse wheel event: ' + event.type; + } + return delta; + },mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function (event) { // event should be mousemove, mousedown or mouseup + if (Browser.pointerLock) { + // When the pointer is locked, calculate the coordinates + // based on the movement of the mouse. + // Workaround for Firefox bug 764498 + if (event.type != 'mousemove' && + ('mozMovementX' in event)) { + Browser.mouseMovementX = Browser.mouseMovementY = 0; + } else { + Browser.mouseMovementX = Browser.getMovementX(event); + Browser.mouseMovementY = Browser.getMovementY(event); + } + + // check if SDL is available + if (typeof SDL != "undefined") { + Browser.mouseX = SDL.mouseX + Browser.mouseMovementX; + Browser.mouseY = SDL.mouseY + Browser.mouseMovementY; + } else { + // just add the mouse delta to the current absolut mouse position + // FIXME: ideally this should be clamped against the canvas size and zero + Browser.mouseX += Browser.mouseMovementX; + Browser.mouseY += Browser.mouseMovementY; + } + } else { + // Otherwise, calculate the movement based on the changes + // in the coordinates. + var rect = Module["canvas"].getBoundingClientRect(); + var cw = Module["canvas"].width; + var ch = Module["canvas"].height; + + // Neither .scrollX or .pageXOffset are defined in a spec, but + // we prefer .scrollX because it is currently in a spec draft. + // (see: http://www.w3.org/TR/2013/WD-cssom-view-20131217/) + var scrollX = ((typeof window.scrollX !== 'undefined') ? window.scrollX : window.pageXOffset); + var scrollY = ((typeof window.scrollY !== 'undefined') ? window.scrollY : window.pageYOffset); + // If this assert lands, it's likely because the browser doesn't support scrollX or pageXOffset + // and we have no viable fallback. + assert((typeof scrollX !== 'undefined') && (typeof scrollY !== 'undefined'), 'Unable to retrieve scroll position, mouse positions likely broken.'); + + if (event.type === 'touchstart' || event.type === 'touchend' || event.type === 'touchmove') { + var touch = event.touch; + if (touch === undefined) { + return; // the "touch" property is only defined in SDL + + } + var adjustedX = touch.pageX - (scrollX + rect.left); + var adjustedY = touch.pageY - (scrollY + rect.top); + + adjustedX = adjustedX * (cw / rect.width); + adjustedY = adjustedY * (ch / rect.height); + + var coords = { x: adjustedX, y: adjustedY }; + + if (event.type === 'touchstart') { + Browser.lastTouches[touch.identifier] = coords; + Browser.touches[touch.identifier] = coords; + } else if (event.type === 'touchend' || event.type === 'touchmove') { + var last = Browser.touches[touch.identifier]; + if (!last) last = coords; + Browser.lastTouches[touch.identifier] = last; + Browser.touches[touch.identifier] = coords; + } + return; + } + + var x = event.pageX - (scrollX + rect.left); + var y = event.pageY - (scrollY + rect.top); + + // the canvas might be CSS-scaled compared to its backbuffer; + // SDL-using content will want mouse coordinates in terms + // of backbuffer units. + x = x * (cw / rect.width); + y = y * (ch / rect.height); + + Browser.mouseMovementX = x - Browser.mouseX; + Browser.mouseMovementY = y - Browser.mouseY; + Browser.mouseX = x; + Browser.mouseY = y; + } + },asyncLoad:function (url, onload, onerror, noRunDep) { + var dep = !noRunDep ? getUniqueRunDependency('al ' + url) : ''; + Module['readAsync'](url, function(arrayBuffer) { + assert(arrayBuffer, 'Loading data file "' + url + '" failed (no arrayBuffer).'); + onload(new Uint8Array(arrayBuffer)); + if (dep) removeRunDependency(dep); + }, function(event) { + if (onerror) { + onerror(); + } else { + throw 'Loading data file "' + url + '" failed.'; + } + }); + if (dep) addRunDependency(dep); + },resizeListeners:[],updateResizeListeners:function () { + var canvas = Module['canvas']; + Browser.resizeListeners.forEach(function(listener) { + listener(canvas.width, canvas.height); + }); + },setCanvasSize:function (width, height, noUpdates) { + var canvas = Module['canvas']; + Browser.updateCanvasDimensions(canvas, width, height); + if (!noUpdates) Browser.updateResizeListeners(); + },windowedWidth:0,windowedHeight:0,setFullscreenCanvasSize:function () { + // check if SDL is available + if (typeof SDL != "undefined") { + var flags = HEAPU32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)]; + flags = flags | 0x00800000; // set SDL_FULLSCREEN flag + HEAP32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)]=flags + } + Browser.updateResizeListeners(); + },setWindowedCanvasSize:function () { + // check if SDL is available + if (typeof SDL != "undefined") { + var flags = HEAPU32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)]; + flags = flags & ~0x00800000; // clear SDL_FULLSCREEN flag + HEAP32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)]=flags + } + Browser.updateResizeListeners(); + },updateCanvasDimensions:function (canvas, wNative, hNative) { + if (wNative && hNative) { + canvas.widthNative = wNative; + canvas.heightNative = hNative; + } else { + wNative = canvas.widthNative; + hNative = canvas.heightNative; + } + var w = wNative; + var h = hNative; + if (Module['forcedAspectRatio'] && Module['forcedAspectRatio'] > 0) { + if (w/h < Module['forcedAspectRatio']) { + w = Math.round(h * Module['forcedAspectRatio']); + } else { + h = Math.round(w / Module['forcedAspectRatio']); + } + } + if (((document['fullscreenElement'] || document['mozFullScreenElement'] || + document['msFullscreenElement'] || document['webkitFullscreenElement'] || + document['webkitCurrentFullScreenElement']) === canvas.parentNode) && (typeof screen != 'undefined')) { + var factor = Math.min(screen.width / w, screen.height / h); + w = Math.round(w * factor); + h = Math.round(h * factor); + } + if (Browser.resizeCanvas) { + if (canvas.width != w) canvas.width = w; + if (canvas.height != h) canvas.height = h; + if (typeof canvas.style != 'undefined') { + canvas.style.removeProperty( "width"); + canvas.style.removeProperty("height"); + } + } else { + if (canvas.width != wNative) canvas.width = wNative; + if (canvas.height != hNative) canvas.height = hNative; + if (typeof canvas.style != 'undefined') { + if (w != wNative || h != hNative) { + canvas.style.setProperty( "width", w + "px", "important"); + canvas.style.setProperty("height", h + "px", "important"); + } else { + canvas.style.removeProperty( "width"); + canvas.style.removeProperty("height"); + } + } + } + },wgetRequests:{},nextWgetRequestHandle:0,getNextWgetRequestHandle:function () { + var handle = Browser.nextWgetRequestHandle; + Browser.nextWgetRequestHandle++; + return handle; + }};var GLFW={Window:function (id, width, height, title, monitor, share) { + this.id = id; + this.x = 0; + this.y = 0; + this.fullscreen = false; // Used to determine if app in fullscreen mode + this.storedX = 0; // Used to store X before fullscreen + this.storedY = 0; // Used to store Y before fullscreen + this.width = width; + this.height = height; + this.storedWidth = width; // Used to store width before fullscreen + this.storedHeight = height; // Used to store height before fullscreen + this.title = title; + this.monitor = monitor; + this.share = share; + this.attributes = GLFW.hints; + this.inputModes = { + 0x00033001:0x00034001, // GLFW_CURSOR (GLFW_CURSOR_NORMAL) + 0x00033002:0, // GLFW_STICKY_KEYS + 0x00033003:0, // GLFW_STICKY_MOUSE_BUTTONS + }; + this.buttons = 0; + this.keys = new Array(); + this.shouldClose = 0; + this.title = null; + this.windowPosFunc = null; // GLFWwindowposfun + this.windowSizeFunc = null; // GLFWwindowsizefun + this.windowCloseFunc = null; // GLFWwindowclosefun + this.windowRefreshFunc = null; // GLFWwindowrefreshfun + this.windowFocusFunc = null; // GLFWwindowfocusfun + this.windowIconifyFunc = null; // GLFWwindowiconifyfun + this.framebufferSizeFunc = null; // GLFWframebuffersizefun + this.mouseButtonFunc = null; // GLFWmousebuttonfun + this.cursorPosFunc = null; // GLFWcursorposfun + this.cursorEnterFunc = null; // GLFWcursorenterfun + this.scrollFunc = null; // GLFWscrollfun + this.keyFunc = null; // GLFWkeyfun + this.charFunc = null; // GLFWcharfun + this.userptr = null; + },WindowFromId:function (id) { + if (id <= 0 || !GLFW.windows) return null; + return GLFW.windows[id - 1]; + },errorFunc:null,monitorFunc:null,active:null,windows:null,monitors:null,monitorString:null,versionString:null,initialTime:null,extensions:null,hints:null,defaultHints:{131073:0,131074:0,131075:1,131076:1,131077:1,135169:8,135170:8,135171:8,135172:8,135173:24,135174:8,135175:0,135176:0,135177:0,135178:0,135179:0,135180:0,135181:0,135182:0,135183:0,139265:196609,139266:1,139267:0,139268:0,139269:0,139270:0,139271:0,139272:0},DOMToGLFWKeyCode:function (keycode) { + switch (keycode) { + // these keycodes are only defined for GLFW3, assume they are the same for GLFW2 + case 0x20:return 32; // DOM_VK_SPACE -> GLFW_KEY_SPACE + case 0xDE:return 39; // DOM_VK_QUOTE -> GLFW_KEY_APOSTROPHE + case 0xBC:return 44; // DOM_VK_COMMA -> GLFW_KEY_COMMA + case 0xAD:return 45; // DOM_VK_HYPHEN_MINUS -> GLFW_KEY_MINUS + case 0xBD:return 45; // DOM_VK_MINUS -> GLFW_KEY_MINUS + case 0xBE:return 46; // DOM_VK_PERIOD -> GLFW_KEY_PERIOD + case 0xBF:return 47; // DOM_VK_SLASH -> GLFW_KEY_SLASH + case 0x30:return 48; // DOM_VK_0 -> GLFW_KEY_0 + case 0x31:return 49; // DOM_VK_1 -> GLFW_KEY_1 + case 0x32:return 50; // DOM_VK_2 -> GLFW_KEY_2 + case 0x33:return 51; // DOM_VK_3 -> GLFW_KEY_3 + case 0x34:return 52; // DOM_VK_4 -> GLFW_KEY_4 + case 0x35:return 53; // DOM_VK_5 -> GLFW_KEY_5 + case 0x36:return 54; // DOM_VK_6 -> GLFW_KEY_6 + case 0x37:return 55; // DOM_VK_7 -> GLFW_KEY_7 + case 0x38:return 56; // DOM_VK_8 -> GLFW_KEY_8 + case 0x39:return 57; // DOM_VK_9 -> GLFW_KEY_9 + case 0x3B:return 59; // DOM_VK_SEMICOLON -> GLFW_KEY_SEMICOLON + case 0x3D:return 61; // DOM_VK_EQUALS -> GLFW_KEY_EQUAL + case 0xBB:return 61; // DOM_VK_EQUALS -> GLFW_KEY_EQUAL + case 0x41:return 65; // DOM_VK_A -> GLFW_KEY_A + case 0x42:return 66; // DOM_VK_B -> GLFW_KEY_B + case 0x43:return 67; // DOM_VK_C -> GLFW_KEY_C + case 0x44:return 68; // DOM_VK_D -> GLFW_KEY_D + case 0x45:return 69; // DOM_VK_E -> GLFW_KEY_E + case 0x46:return 70; // DOM_VK_F -> GLFW_KEY_F + case 0x47:return 71; // DOM_VK_G -> GLFW_KEY_G + case 0x48:return 72; // DOM_VK_H -> GLFW_KEY_H + case 0x49:return 73; // DOM_VK_I -> GLFW_KEY_I + case 0x4A:return 74; // DOM_VK_J -> GLFW_KEY_J + case 0x4B:return 75; // DOM_VK_K -> GLFW_KEY_K + case 0x4C:return 76; // DOM_VK_L -> GLFW_KEY_L + case 0x4D:return 77; // DOM_VK_M -> GLFW_KEY_M + case 0x4E:return 78; // DOM_VK_N -> GLFW_KEY_N + case 0x4F:return 79; // DOM_VK_O -> GLFW_KEY_O + case 0x50:return 80; // DOM_VK_P -> GLFW_KEY_P + case 0x51:return 81; // DOM_VK_Q -> GLFW_KEY_Q + case 0x52:return 82; // DOM_VK_R -> GLFW_KEY_R + case 0x53:return 83; // DOM_VK_S -> GLFW_KEY_S + case 0x54:return 84; // DOM_VK_T -> GLFW_KEY_T + case 0x55:return 85; // DOM_VK_U -> GLFW_KEY_U + case 0x56:return 86; // DOM_VK_V -> GLFW_KEY_V + case 0x57:return 87; // DOM_VK_W -> GLFW_KEY_W + case 0x58:return 88; // DOM_VK_X -> GLFW_KEY_X + case 0x59:return 89; // DOM_VK_Y -> GLFW_KEY_Y + case 0x5a:return 90; // DOM_VK_Z -> GLFW_KEY_Z + case 0xDB:return 91; // DOM_VK_OPEN_BRACKET -> GLFW_KEY_LEFT_BRACKET + case 0xDC:return 92; // DOM_VK_BACKSLASH -> GLFW_KEY_BACKSLASH + case 0xDD:return 93; // DOM_VK_CLOSE_BRACKET -> GLFW_KEY_RIGHT_BRACKET + case 0xC0:return 94; // DOM_VK_BACK_QUOTE -> GLFW_KEY_GRAVE_ACCENT + + + case 0x1B:return 256; // DOM_VK_ESCAPE -> GLFW_KEY_ESCAPE + case 0x0D:return 257; // DOM_VK_RETURN -> GLFW_KEY_ENTER + case 0x09:return 258; // DOM_VK_TAB -> GLFW_KEY_TAB + case 0x08:return 259; // DOM_VK_BACK -> GLFW_KEY_BACKSPACE + case 0x2D:return 260; // DOM_VK_INSERT -> GLFW_KEY_INSERT + case 0x2E:return 261; // DOM_VK_DELETE -> GLFW_KEY_DELETE + case 0x27:return 262; // DOM_VK_RIGHT -> GLFW_KEY_RIGHT + case 0x25:return 263; // DOM_VK_LEFT -> GLFW_KEY_LEFT + case 0x28:return 264; // DOM_VK_DOWN -> GLFW_KEY_DOWN + case 0x26:return 265; // DOM_VK_UP -> GLFW_KEY_UP + case 0x21:return 266; // DOM_VK_PAGE_UP -> GLFW_KEY_PAGE_UP + case 0x22:return 267; // DOM_VK_PAGE_DOWN -> GLFW_KEY_PAGE_DOWN + case 0x24:return 268; // DOM_VK_HOME -> GLFW_KEY_HOME + case 0x23:return 269; // DOM_VK_END -> GLFW_KEY_END + case 0x14:return 280; // DOM_VK_CAPS_LOCK -> GLFW_KEY_CAPS_LOCK + case 0x91:return 281; // DOM_VK_SCROLL_LOCK -> GLFW_KEY_SCROLL_LOCK + case 0x90:return 282; // DOM_VK_NUM_LOCK -> GLFW_KEY_NUM_LOCK + case 0x2C:return 283; // DOM_VK_SNAPSHOT -> GLFW_KEY_PRINT_SCREEN + case 0x13:return 284; // DOM_VK_PAUSE -> GLFW_KEY_PAUSE + case 0x70:return 290; // DOM_VK_F1 -> GLFW_KEY_F1 + case 0x71:return 291; // DOM_VK_F2 -> GLFW_KEY_F2 + case 0x72:return 292; // DOM_VK_F3 -> GLFW_KEY_F3 + case 0x73:return 293; // DOM_VK_F4 -> GLFW_KEY_F4 + case 0x74:return 294; // DOM_VK_F5 -> GLFW_KEY_F5 + case 0x75:return 295; // DOM_VK_F6 -> GLFW_KEY_F6 + case 0x76:return 296; // DOM_VK_F7 -> GLFW_KEY_F7 + case 0x77:return 297; // DOM_VK_F8 -> GLFW_KEY_F8 + case 0x78:return 298; // DOM_VK_F9 -> GLFW_KEY_F9 + case 0x79:return 299; // DOM_VK_F10 -> GLFW_KEY_F10 + case 0x7A:return 300; // DOM_VK_F11 -> GLFW_KEY_F11 + case 0x7B:return 301; // DOM_VK_F12 -> GLFW_KEY_F12 + case 0x7C:return 302; // DOM_VK_F13 -> GLFW_KEY_F13 + case 0x7D:return 303; // DOM_VK_F14 -> GLFW_KEY_F14 + case 0x7E:return 304; // DOM_VK_F15 -> GLFW_KEY_F15 + case 0x7F:return 305; // DOM_VK_F16 -> GLFW_KEY_F16 + case 0x80:return 306; // DOM_VK_F17 -> GLFW_KEY_F17 + case 0x81:return 307; // DOM_VK_F18 -> GLFW_KEY_F18 + case 0x82:return 308; // DOM_VK_F19 -> GLFW_KEY_F19 + case 0x83:return 309; // DOM_VK_F20 -> GLFW_KEY_F20 + case 0x84:return 310; // DOM_VK_F21 -> GLFW_KEY_F21 + case 0x85:return 311; // DOM_VK_F22 -> GLFW_KEY_F22 + case 0x86:return 312; // DOM_VK_F23 -> GLFW_KEY_F23 + case 0x87:return 313; // DOM_VK_F24 -> GLFW_KEY_F24 + case 0x88:return 314; // 0x88 (not used?) -> GLFW_KEY_F25 + case 0x60:return 320; // DOM_VK_NUMPAD0 -> GLFW_KEY_KP_0 + case 0x61:return 321; // DOM_VK_NUMPAD1 -> GLFW_KEY_KP_1 + case 0x62:return 322; // DOM_VK_NUMPAD2 -> GLFW_KEY_KP_2 + case 0x63:return 323; // DOM_VK_NUMPAD3 -> GLFW_KEY_KP_3 + case 0x64:return 324; // DOM_VK_NUMPAD4 -> GLFW_KEY_KP_4 + case 0x65:return 325; // DOM_VK_NUMPAD5 -> GLFW_KEY_KP_5 + case 0x66:return 326; // DOM_VK_NUMPAD6 -> GLFW_KEY_KP_6 + case 0x67:return 327; // DOM_VK_NUMPAD7 -> GLFW_KEY_KP_7 + case 0x68:return 328; // DOM_VK_NUMPAD8 -> GLFW_KEY_KP_8 + case 0x69:return 329; // DOM_VK_NUMPAD9 -> GLFW_KEY_KP_9 + case 0x6E:return 330; // DOM_VK_DECIMAL -> GLFW_KEY_KP_DECIMAL + case 0x6F:return 331; // DOM_VK_DIVIDE -> GLFW_KEY_KP_DIVIDE + case 0x6A:return 332; // DOM_VK_MULTIPLY -> GLFW_KEY_KP_MULTIPLY + case 0x6D:return 333; // DOM_VK_SUBTRACT -> GLFW_KEY_KP_SUBTRACT + case 0x6B:return 334; // DOM_VK_ADD -> GLFW_KEY_KP_ADD + // case 0x0D:return 335; // DOM_VK_RETURN -> GLFW_KEY_KP_ENTER (DOM_KEY_LOCATION_RIGHT) + // case 0x61:return 336; // DOM_VK_EQUALS -> GLFW_KEY_KP_EQUAL (DOM_KEY_LOCATION_RIGHT) + case 0x10:return 340; // DOM_VK_SHIFT -> GLFW_KEY_LEFT_SHIFT + case 0x11:return 341; // DOM_VK_CONTROL -> GLFW_KEY_LEFT_CONTROL + case 0x12:return 342; // DOM_VK_ALT -> GLFW_KEY_LEFT_ALT + case 0x5B:return 343; // DOM_VK_WIN -> GLFW_KEY_LEFT_SUPER + // case 0x10:return 344; // DOM_VK_SHIFT -> GLFW_KEY_RIGHT_SHIFT (DOM_KEY_LOCATION_RIGHT) + // case 0x11:return 345; // DOM_VK_CONTROL -> GLFW_KEY_RIGHT_CONTROL (DOM_KEY_LOCATION_RIGHT) + // case 0x12:return 346; // DOM_VK_ALT -> GLFW_KEY_RIGHT_ALT (DOM_KEY_LOCATION_RIGHT) + // case 0x5B:return 347; // DOM_VK_WIN -> GLFW_KEY_RIGHT_SUPER (DOM_KEY_LOCATION_RIGHT) + case 0x5D:return 348; // DOM_VK_CONTEXT_MENU -> GLFW_KEY_MENU + // XXX: GLFW_KEY_WORLD_1, GLFW_KEY_WORLD_2 what are these? + default:return -1; // GLFW_KEY_UNKNOWN + }; + },getModBits:function (win) { + var mod = 0; + if (win.keys[340]) mod |= 0x0001; // GLFW_MOD_SHIFT + if (win.keys[341]) mod |= 0x0002; // GLFW_MOD_CONTROL + if (win.keys[342]) mod |= 0x0004; // GLFW_MOD_ALT + if (win.keys[343]) mod |= 0x0008; // GLFW_MOD_SUPER + return mod; + },onKeyPress:function (event) { + if (!GLFW.active || !GLFW.active.charFunc) return; + + // correct unicode charCode is only available with onKeyPress event + var charCode = event.charCode; + if (charCode == 0 || (charCode >= 0x00 && charCode <= 0x1F)) return; + + + Module['dynCall_vii'](GLFW.active.charFunc, GLFW.active.id, charCode); + },onKeyChanged:function (event, status) { + if (!GLFW.active) return; + + var key = GLFW.DOMToGLFWKeyCode(event.keyCode); + if (key == -1) return; + + var repeat = status && GLFW.active.keys[key]; + GLFW.active.keys[key] = status; + if (!GLFW.active.keyFunc) return; + + + if (repeat) status = 2; // GLFW_REPEAT + Module['dynCall_viiiii'](GLFW.active.keyFunc, GLFW.active.id, key, event.keyCode, status, GLFW.getModBits(GLFW.active)); + },onKeydown:function (event) { + GLFW.onKeyChanged(event, 1); // GLFW_PRESS or GLFW_REPEAT + + // This logic comes directly from the sdl implementation. We cannot + // call preventDefault on all keydown events otherwise onKeyPress will + // not get called + if (event.keyCode === 8 /* backspace */ || event.keyCode === 9 /* tab */) { + event.preventDefault(); + } + },onKeyup:function (event) { + GLFW.onKeyChanged(event, 0); // GLFW_RELEASE + },onMousemove:function (event) { + if (!GLFW.active) return; + + Browser.calculateMouseEvent(event); + + if (event.target != Module["canvas"] || !GLFW.active.cursorPosFunc) return; + + + Module['dynCall_vidd'](GLFW.active.cursorPosFunc, GLFW.active.id, Browser.mouseX, Browser.mouseY); + },DOMToGLFWMouseButton:function (event) { + // DOM and glfw have different button codes. + // See http://www.w3schools.com/jsref/event_button.asp. + var eventButton = event['button']; + if (eventButton > 0) { + if (eventButton == 1) { + eventButton = 2; + } else { + eventButton = 1; + } + } + return eventButton; + },onMouseenter:function (event) { + if (!GLFW.active) return; + + if (event.target != Module["canvas"] || !GLFW.active.cursorEnterFunc) return; + + Module['dynCall_vii'](GLFW.active.cursorEnterFunc, GLFW.active.id, 1); + },onMouseleave:function (event) { + if (!GLFW.active) return; + + if (event.target != Module["canvas"] || !GLFW.active.cursorEnterFunc) return; + + Module['dynCall_vii'](GLFW.active.cursorEnterFunc, GLFW.active.id, 0); + },onMouseButtonChanged:function (event, status) { + if (!GLFW.active) return; + + Browser.calculateMouseEvent(event); + + if (event.target != Module["canvas"]) return; + + eventButton = GLFW.DOMToGLFWMouseButton(event); + + if (status == 1) { // GLFW_PRESS + GLFW.active.buttons |= (1 << eventButton); + try { + event.target.setCapture(); + } catch (e) {} + } else { // GLFW_RELEASE + GLFW.active.buttons &= ~(1 << eventButton); + } + + if (!GLFW.active.mouseButtonFunc) return; + + + Module['dynCall_viiii'](GLFW.active.mouseButtonFunc, GLFW.active.id, eventButton, status, GLFW.getModBits(GLFW.active)); + },onMouseButtonDown:function (event) { + if (!GLFW.active) return; + GLFW.onMouseButtonChanged(event, 1); // GLFW_PRESS + },onMouseButtonUp:function (event) { + if (!GLFW.active) return; + GLFW.onMouseButtonChanged(event, 0); // GLFW_RELEASE + },onMouseWheel:function (event) { + // Note the minus sign that flips browser wheel direction (positive direction scrolls page down) to native wheel direction (positive direction is mouse wheel up) + var delta = -Browser.getMouseWheelDelta(event); + delta = (delta == 0) ? 0 : (delta > 0 ? Math.max(delta, 1) : Math.min(delta, -1)); // Quantize to integer so that minimum scroll is at least +/- 1. + GLFW.wheelPos += delta; + + if (!GLFW.active || !GLFW.active.scrollFunc || event.target != Module['canvas']) return; + + + var sx = 0; + var sy = 0; + if (event.type == 'mousewheel') { + sx = event.wheelDeltaX; + sy = event.wheelDeltaY; + } else { + sx = event.deltaX; + sy = event.deltaY; + } + + Module['dynCall_vidd'](GLFW.active.scrollFunc, GLFW.active.id, sx, sy); + + event.preventDefault(); + },onCanvasResize:function (width, height) { + if (!GLFW.active) return; + + var resizeNeeded = true; + + // If the client is requestiong fullscreen mode + if (document["fullscreen"] || document["fullScreen"] || document["mozFullScreen"] || document["webkitIsFullScreen"]) { + GLFW.active.storedX = GLFW.active.x; + GLFW.active.storedY = GLFW.active.y; + GLFW.active.storedWidth = GLFW.active.width; + GLFW.active.storedHeight = GLFW.active.height; + GLFW.active.x = GLFW.active.y = 0; + GLFW.active.width = screen.width; + GLFW.active.height = screen.height; + GLFW.active.fullscreen = true; + + // If the client is reverting from fullscreen mode + } else if (GLFW.active.fullscreen == true) { + GLFW.active.x = GLFW.active.storedX; + GLFW.active.y = GLFW.active.storedY; + GLFW.active.width = GLFW.active.storedWidth; + GLFW.active.height = GLFW.active.storedHeight; + GLFW.active.fullscreen = false; + + // If the width/height values do not match current active window sizes + } else if (GLFW.active.width != width || GLFW.active.height != height) { + GLFW.active.width = width; + GLFW.active.height = height; + } else { + resizeNeeded = false; + } + + // If any of the above conditions were true, we need to resize the canvas + if (resizeNeeded) { + // resets the canvas size to counter the aspect preservation of Browser.updateCanvasDimensions + Browser.setCanvasSize(GLFW.active.width, GLFW.active.height, true); + // TODO: Client dimensions (clientWidth/clientHeight) vs pixel dimensions (width/height) of + // the canvas should drive window and framebuffer size respectfully. + GLFW.onWindowSizeChanged(); + GLFW.onFramebufferSizeChanged(); + } + },onWindowSizeChanged:function () { + if (!GLFW.active) return; + + if (!GLFW.active.windowSizeFunc) return; + + + Module['dynCall_viii'](GLFW.active.windowSizeFunc, GLFW.active.id, GLFW.active.width, GLFW.active.height); + },onFramebufferSizeChanged:function () { + if (!GLFW.active) return; + + if (!GLFW.active.framebufferSizeFunc) return; + + Module['dynCall_viii'](GLFW.active.framebufferSizeFunc, GLFW.active.id, GLFW.active.width, GLFW.active.height); + },requestFullscreen:function () { + var RFS = Module["canvas"]['requestFullscreen'] || + Module["canvas"]['mozRequestFullScreen'] || + Module["canvas"]['webkitRequestFullScreen'] || + (function() {}); + RFS.apply(Module["canvas"], []); + },requestFullScreen:function () { + Module.printErr('GLFW.requestFullScreen() is deprecated. Please call GLFW.requestFullscreen instead.'); + GLFW.requestFullScreen = function() { + return GLFW.requestFullscreen(); + } + return GLFW.requestFullscreen(); + },exitFullscreen:function () { + var CFS = document['exitFullscreen'] || + document['cancelFullScreen'] || + document['mozCancelFullScreen'] || + document['webkitCancelFullScreen'] || + (function() {}); + CFS.apply(document, []); + },cancelFullScreen:function () { + Module.printErr('GLFW.cancelFullScreen() is deprecated. Please call GLFW.exitFullscreen instead.'); + GLFW.cancelFullScreen = function() { + return GLFW.exitFullscreen(); + } + return GLFW.exitFullscreen(); + },getTime:function () { + return _emscripten_get_now() / 1000; + },setWindowTitle:function (winid, title) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + + win.title = Pointer_stringify(title); + if (GLFW.active.id == win.id) { + document.title = win.title; + } + },setKeyCallback:function (winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.keyFunc = cbfun; + },setCharCallback:function (winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.charFunc = cbfun; + },setMouseButtonCallback:function (winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.mouseButtonFunc = cbfun; + },setCursorPosCallback:function (winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.cursorPosFunc = cbfun; + },setScrollCallback:function (winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.scrollFunc = cbfun; + },setWindowSizeCallback:function (winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.windowSizeFunc = cbfun; + + },setWindowCloseCallback:function (winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.windowCloseFunc = cbfun; + },setWindowRefreshCallback:function (winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.windowRefreshFunc = cbfun; + },onClickRequestPointerLock:function (e) { + if (!Browser.pointerLock && Module['canvas'].requestPointerLock) { + Module['canvas'].requestPointerLock(); + e.preventDefault(); + } + },setInputMode:function (winid, mode, value) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + + switch(mode) { + case 0x00033001: { // GLFW_CURSOR + switch(value) { + case 0x00034001: { // GLFW_CURSOR_NORMAL + win.inputModes[mode] = value; + Module['canvas'].removeEventListener('click', GLFW.onClickRequestPointerLock, true); + Module['canvas'].exitPointerLock(); + break; + } + case 0x00034002: { // GLFW_CURSOR_HIDDEN + console.log("glfwSetInputMode called with GLFW_CURSOR_HIDDEN value not implemented."); + break; + } + case 0x00034003: { // GLFW_CURSOR_DISABLED + win.inputModes[mode] = value; + Module['canvas'].addEventListener('click', GLFW.onClickRequestPointerLock, true); + Module['canvas'].requestPointerLock(); + break; + } + default: { + console.log("glfwSetInputMode called with unknown value parameter value: " + value + "."); + break; + } + } + break; + } + case 0x00033002: { // GLFW_STICKY_KEYS + console.log("glfwSetInputMode called with GLFW_STICKY_KEYS mode not implemented."); + break; + } + case 0x00033003: { // GLFW_STICKY_MOUSE_BUTTONS + console.log("glfwSetInputMode called with GLFW_STICKY_MOUSE_BUTTONS mode not implemented."); + break; + } + default: { + console.log("glfwSetInputMode called with unknown mode parameter value: " + mode + "."); + break; + } + } + },getKey:function (winid, key) { + var win = GLFW.WindowFromId(winid); + if (!win) return 0; + return win.keys[key]; + },getMouseButton:function (winid, button) { + var win = GLFW.WindowFromId(winid); + if (!win) return 0; + return (win.buttons & (1 << button)) > 0; + },getCursorPos:function (winid, x, y) { + setValue(x, Browser.mouseX, 'double'); + setValue(y, Browser.mouseY, 'double'); + },getMousePos:function (winid, x, y) { + setValue(x, Browser.mouseX, 'i32'); + setValue(y, Browser.mouseY, 'i32'); + },setCursorPos:function (winid, x, y) { + },getWindowPos:function (winid, x, y) { + var wx = 0; + var wy = 0; + + var win = GLFW.WindowFromId(winid); + if (win) { + wx = win.x; + wy = win.y; + } + + setValue(x, wx, 'i32'); + setValue(y, wy, 'i32'); + },setWindowPos:function (winid, x, y) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.x = x; + win.y = y; + },getWindowSize:function (winid, width, height) { + var ww = 0; + var wh = 0; + + var win = GLFW.WindowFromId(winid); + if (win) { + ww = win.width; + wh = win.height; + } + + setValue(width, ww, 'i32'); + setValue(height, wh, 'i32'); + },setWindowSize:function (winid, width, height) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + + if (GLFW.active.id == win.id) { + if (width == screen.width && height == screen.height) { + GLFW.requestFullscreen(); + } else { + GLFW.exitFullscreen(); + Browser.setCanvasSize(width, height); + win.width = width; + win.height = height; + } + } + + if (!win.windowSizeFunc) return; + + + Module['dynCall_viii'](win.windowSizeFunc, win.id, width, height); + },createWindow:function (width, height, title, monitor, share) { + var i, id; + for (i = 0; i < GLFW.windows.length && GLFW.windows[i] !== null; i++); + if (i > 0) throw "glfwCreateWindow only supports one window at time currently"; + + // id for window + id = i + 1; + + // not valid + if (width <= 0 || height <= 0) return 0; + + if (monitor) { + GLFW.requestFullscreen(); + } else { + Browser.setCanvasSize(width, height); + } + + // Create context when there are no existing alive windows + for (i = 0; i < GLFW.windows.length && GLFW.windows[i] == null; i++); + if (i == GLFW.windows.length) { + var contextAttributes = { + antialias: (GLFW.hints[0x0002100D] > 1), // GLFW_SAMPLES + depth: (GLFW.hints[0x00021005] > 0), // GLFW_DEPTH_BITS + stencil: (GLFW.hints[0x00021006] > 0), // GLFW_STENCIL_BITS + alpha: (GLFW.hints[0x00021004] > 0) // GLFW_ALPHA_BITS + } + Module.ctx = Browser.createContext(Module['canvas'], true, true, contextAttributes); + } + + // If context creation failed, do not return a valid window + if (!Module.ctx) return 0; + + // Get non alive id + var win = new GLFW.Window(id, width, height, title, monitor, share); + + // Set window to array + if (id - 1 == GLFW.windows.length) { + GLFW.windows.push(win); + } else { + GLFW.windows[id - 1] = win; + } + + GLFW.active = win; + return win.id; + },destroyWindow:function (winid) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + + if (win.windowCloseFunc) + Module['dynCall_vi'](win.windowCloseFunc, win.id); + + GLFW.windows[win.id - 1] = null; + if (GLFW.active.id == win.id) + GLFW.active = null; + + // Destroy context when no alive windows + for (var i = 0; i < GLFW.windows.length; i++) + if (GLFW.windows[i] !== null) return; + + Module.ctx = Browser.destroyContext(Module['canvas'], true, true); + },swapBuffers:function (winid) { + },GLFW2ParamToGLFW3Param:function (param) { + table = { + 0x00030001:0, // GLFW_MOUSE_CURSOR + 0x00030002:0, // GLFW_STICKY_KEYS + 0x00030003:0, // GLFW_STICKY_MOUSE_BUTTONS + 0x00030004:0, // GLFW_SYSTEM_KEYS + 0x00030005:0, // GLFW_KEY_REPEAT + 0x00030006:0, // GLFW_AUTO_POLL_EVENTS + 0x00020001:0, // GLFW_OPENED + 0x00020002:0, // GLFW_ACTIVE + 0x00020003:0, // GLFW_ICONIFIED + 0x00020004:0, // GLFW_ACCELERATED + 0x00020005:0x00021001, // GLFW_RED_BITS + 0x00020006:0x00021002, // GLFW_GREEN_BITS + 0x00020007:0x00021003, // GLFW_BLUE_BITS + 0x00020008:0x00021004, // GLFW_ALPHA_BITS + 0x00020009:0x00021005, // GLFW_DEPTH_BITS + 0x0002000A:0x00021006, // GLFW_STENCIL_BITS + 0x0002000B:0x0002100F, // GLFW_REFRESH_RATE + 0x0002000C:0x00021007, // GLFW_ACCUM_RED_BITS + 0x0002000D:0x00021008, // GLFW_ACCUM_GREEN_BITS + 0x0002000E:0x00021009, // GLFW_ACCUM_BLUE_BITS + 0x0002000F:0x0002100A, // GLFW_ACCUM_ALPHA_BITS + 0x00020010:0x0002100B, // GLFW_AUX_BUFFERS + 0x00020011:0x0002100C, // GLFW_STEREO + 0x00020012:0, // GLFW_WINDOW_NO_RESIZE + 0x00020013:0x0002100D, // GLFW_FSAA_SAMPLES + 0x00020014:0x00022002, // GLFW_OPENGL_VERSION_MAJOR + 0x00020015:0x00022003, // GLFW_OPENGL_VERSION_MINOR + 0x00020016:0x00022006, // GLFW_OPENGL_FORWARD_COMPAT + 0x00020017:0x00022007, // GLFW_OPENGL_DEBUG_CONTEXT + 0x00020018:0x00022008, // GLFW_OPENGL_PROFILE + }; + return table[param]; + }};function _glfwGetVideoModes(monitor, count) { + setValue(count, 0, 'i32'); + return 0; + } + + function _glLinkProgram(program) { + GLctx.linkProgram(GL.programs[program]); + GL.programInfos[program] = null; // uniforms no longer keep the same names after linking + GL.populateUniformTable(program); + } + + function _glBindTexture(target, texture) { + GLctx.bindTexture(target, texture ? GL.textures[texture] : null); + } + + function _emscripten_glStencilFunc(x0, x1, x2) { GLctx['stencilFunc'](x0, x1, x2) } + + function _glGetString(name_) { + if (GL.stringCache[name_]) return GL.stringCache[name_]; + var ret; + switch(name_) { + case 0x1F00 /* GL_VENDOR */: + case 0x1F01 /* GL_RENDERER */: + case 0x9245 /* UNMASKED_VENDOR_WEBGL */: + case 0x9246 /* UNMASKED_RENDERER_WEBGL */: + ret = allocate(intArrayFromString(GLctx.getParameter(name_)), 'i8', ALLOC_NORMAL); + break; + case 0x1F02 /* GL_VERSION */: + var glVersion = GLctx.getParameter(GLctx.VERSION); + // return GLES version string corresponding to the version of the WebGL context + { + glVersion = 'OpenGL ES 2.0 (' + glVersion + ')'; + } + ret = allocate(intArrayFromString(glVersion), 'i8', ALLOC_NORMAL); + break; + case 0x1F03 /* GL_EXTENSIONS */: + var exts = GLctx.getSupportedExtensions(); + var gl_exts = []; + for (var i = 0; i < exts.length; ++i) { + gl_exts.push(exts[i]); + gl_exts.push("GL_" + exts[i]); + } + ret = allocate(intArrayFromString(gl_exts.join(' ')), 'i8', ALLOC_NORMAL); + break; + case 0x8B8C /* GL_SHADING_LANGUAGE_VERSION */: + var glslVersion = GLctx.getParameter(GLctx.SHADING_LANGUAGE_VERSION); + // extract the version number 'N.M' from the string 'WebGL GLSL ES N.M ...' + var ver_re = /^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/; + var ver_num = glslVersion.match(ver_re); + if (ver_num !== null) { + if (ver_num[1].length == 3) ver_num[1] = ver_num[1] + '0'; // ensure minor version has 2 digits + glslVersion = 'OpenGL ES GLSL ES ' + ver_num[1] + ' (' + glslVersion + ')'; + } + ret = allocate(intArrayFromString(glslVersion), 'i8', ALLOC_NORMAL); + break; + default: + GL.recordError(0x0500/*GL_INVALID_ENUM*/); + return 0; + } + GL.stringCache[name_] = ret; + return ret; + } + + function _emscripten_glUniform3iv(location, count, value) { + + + GLctx.uniform3iv(GL.uniforms[location], HEAP32.subarray((value)>>2,(value+count*12)>>2)); + } + + function _emscripten_glShaderSource(shader, count, string, length) { + var source = GL.getSource(shader, count, string, length); + + + GLctx.shaderSource(GL.shaders[shader], source); + } + + function _emscripten_glReleaseShaderCompiler() { + // NOP (as allowed by GLES 2.0 spec) + } + + function _glfwSetScrollCallback(winid, cbfun) { + GLFW.setScrollCallback(winid, cbfun); + } + + function _emscripten_glTexParameterf(x0, x1, x2) { GLctx['texParameterf'](x0, x1, x2) } + + function _emscripten_glTexParameteri(x0, x1, x2) { GLctx['texParameteri'](x0, x1, x2) } + + function _glCompileShader(shader) { + GLctx.compileShader(GL.shaders[shader]); + } + + + + + var ERRNO_CODES={EPERM:1,ENOENT:2,ESRCH:3,EINTR:4,EIO:5,ENXIO:6,E2BIG:7,ENOEXEC:8,EBADF:9,ECHILD:10,EAGAIN:11,EWOULDBLOCK:11,ENOMEM:12,EACCES:13,EFAULT:14,ENOTBLK:15,EBUSY:16,EEXIST:17,EXDEV:18,ENODEV:19,ENOTDIR:20,EISDIR:21,EINVAL:22,ENFILE:23,EMFILE:24,ENOTTY:25,ETXTBSY:26,EFBIG:27,ENOSPC:28,ESPIPE:29,EROFS:30,EMLINK:31,EPIPE:32,EDOM:33,ERANGE:34,ENOMSG:42,EIDRM:43,ECHRNG:44,EL2NSYNC:45,EL3HLT:46,EL3RST:47,ELNRNG:48,EUNATCH:49,ENOCSI:50,EL2HLT:51,EDEADLK:35,ENOLCK:37,EBADE:52,EBADR:53,EXFULL:54,ENOANO:55,EBADRQC:56,EBADSLT:57,EDEADLOCK:35,EBFONT:59,ENOSTR:60,ENODATA:61,ETIME:62,ENOSR:63,ENONET:64,ENOPKG:65,EREMOTE:66,ENOLINK:67,EADV:68,ESRMNT:69,ECOMM:70,EPROTO:71,EMULTIHOP:72,EDOTDOT:73,EBADMSG:74,ENOTUNIQ:76,EBADFD:77,EREMCHG:78,ELIBACC:79,ELIBBAD:80,ELIBSCN:81,ELIBMAX:82,ELIBEXEC:83,ENOSYS:38,ENOTEMPTY:39,ENAMETOOLONG:36,ELOOP:40,EOPNOTSUPP:95,EPFNOSUPPORT:96,ECONNRESET:104,ENOBUFS:105,EAFNOSUPPORT:97,EPROTOTYPE:91,ENOTSOCK:88,ENOPROTOOPT:92,ESHUTDOWN:108,ECONNREFUSED:111,EADDRINUSE:98,ECONNABORTED:103,ENETUNREACH:101,ENETDOWN:100,ETIMEDOUT:110,EHOSTDOWN:112,EHOSTUNREACH:113,EINPROGRESS:115,EALREADY:114,EDESTADDRREQ:89,EMSGSIZE:90,EPROTONOSUPPORT:93,ESOCKTNOSUPPORT:94,EADDRNOTAVAIL:99,ENETRESET:102,EISCONN:106,ENOTCONN:107,ETOOMANYREFS:109,EUSERS:87,EDQUOT:122,ESTALE:116,ENOTSUP:95,ENOMEDIUM:123,EILSEQ:84,EOVERFLOW:75,ECANCELED:125,ENOTRECOVERABLE:131,EOWNERDEAD:130,ESTRPIPE:86}; + + var ERRNO_MESSAGES={0:"Success",1:"Not super-user",2:"No such file or directory",3:"No such process",4:"Interrupted system call",5:"I/O error",6:"No such device or address",7:"Arg list too long",8:"Exec format error",9:"Bad file number",10:"No children",11:"No more processes",12:"Not enough core",13:"Permission denied",14:"Bad address",15:"Block device required",16:"Mount device busy",17:"File exists",18:"Cross-device link",19:"No such device",20:"Not a directory",21:"Is a directory",22:"Invalid argument",23:"Too many open files in system",24:"Too many open files",25:"Not a typewriter",26:"Text file busy",27:"File too large",28:"No space left on device",29:"Illegal seek",30:"Read only file system",31:"Too many links",32:"Broken pipe",33:"Math arg out of domain of func",34:"Math result not representable",35:"File locking deadlock error",36:"File or path name too long",37:"No record locks available",38:"Function not implemented",39:"Directory not empty",40:"Too many symbolic links",42:"No message of desired type",43:"Identifier removed",44:"Channel number out of range",45:"Level 2 not synchronized",46:"Level 3 halted",47:"Level 3 reset",48:"Link number out of range",49:"Protocol driver not attached",50:"No CSI structure available",51:"Level 2 halted",52:"Invalid exchange",53:"Invalid request descriptor",54:"Exchange full",55:"No anode",56:"Invalid request code",57:"Invalid slot",59:"Bad font file fmt",60:"Device not a stream",61:"No data (for no delay io)",62:"Timer expired",63:"Out of streams resources",64:"Machine is not on the network",65:"Package not installed",66:"The object is remote",67:"The link has been severed",68:"Advertise error",69:"Srmount error",70:"Communication error on send",71:"Protocol error",72:"Multihop attempted",73:"Cross mount point (not really error)",74:"Trying to read unreadable message",75:"Value too large for defined data type",76:"Given log. name not unique",77:"f.d. invalid for this operation",78:"Remote address changed",79:"Can access a needed shared lib",80:"Accessing a corrupted shared lib",81:".lib section in a.out corrupted",82:"Attempting to link in too many libs",83:"Attempting to exec a shared library",84:"Illegal byte sequence",86:"Streams pipe error",87:"Too many users",88:"Socket operation on non-socket",89:"Destination address required",90:"Message too long",91:"Protocol wrong type for socket",92:"Protocol not available",93:"Unknown protocol",94:"Socket type not supported",95:"Not supported",96:"Protocol family not supported",97:"Address family not supported by protocol family",98:"Address already in use",99:"Address not available",100:"Network interface is not configured",101:"Network is unreachable",102:"Connection reset by network",103:"Connection aborted",104:"Connection reset by peer",105:"No buffer space available",106:"Socket is already connected",107:"Socket is not connected",108:"Can't send after socket shutdown",109:"Too many references",110:"Connection timed out",111:"Connection refused",112:"Host is down",113:"Host is unreachable",114:"Socket already connected",115:"Connection already in progress",116:"Stale file handle",122:"Quota exceeded",123:"No medium (in tape drive)",125:"Operation canceled",130:"Previous owner died",131:"State not recoverable"}; + + function ___setErrNo(value) { + if (Module['___errno_location']) HEAP32[((Module['___errno_location']())>>2)]=value; + else Module.printErr('failed to set errno from JS'); + return value; + } + + var PATH={splitPath:function (filename) { + var splitPathRe = /^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/; + return splitPathRe.exec(filename).slice(1); + },normalizeArray:function (parts, allowAboveRoot) { + // if the path tries to go above the root, `up` ends up > 0 + var up = 0; + for (var i = parts.length - 1; i >= 0; i--) { + var last = parts[i]; + if (last === '.') { + parts.splice(i, 1); + } else if (last === '..') { + parts.splice(i, 1); + up++; + } else if (up) { + parts.splice(i, 1); + up--; + } + } + // if the path is allowed to go above the root, restore leading ..s + if (allowAboveRoot) { + for (; up--; up) { + parts.unshift('..'); + } + } + return parts; + },normalize:function (path) { + var isAbsolute = path.charAt(0) === '/', + trailingSlash = path.substr(-1) === '/'; + // Normalize the path + path = PATH.normalizeArray(path.split('/').filter(function(p) { + return !!p; + }), !isAbsolute).join('/'); + if (!path && !isAbsolute) { + path = '.'; + } + if (path && trailingSlash) { + path += '/'; + } + return (isAbsolute ? '/' : '') + path; + },dirname:function (path) { + var result = PATH.splitPath(path), + root = result[0], + dir = result[1]; + if (!root && !dir) { + // No dirname whatsoever + return '.'; + } + if (dir) { + // It has a dirname, strip trailing slash + dir = dir.substr(0, dir.length - 1); + } + return root + dir; + },basename:function (path) { + // EMSCRIPTEN return '/'' for '/', not an empty string + if (path === '/') return '/'; + var lastSlash = path.lastIndexOf('/'); + if (lastSlash === -1) return path; + return path.substr(lastSlash+1); + },extname:function (path) { + return PATH.splitPath(path)[3]; + },join:function () { + var paths = Array.prototype.slice.call(arguments, 0); + return PATH.normalize(paths.join('/')); + },join2:function (l, r) { + return PATH.normalize(l + '/' + r); + },resolve:function () { + var resolvedPath = '', + resolvedAbsolute = false; + for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) { + var path = (i >= 0) ? arguments[i] : FS.cwd(); + // Skip empty and invalid entries + if (typeof path !== 'string') { + throw new TypeError('Arguments to path.resolve must be strings'); + } else if (!path) { + return ''; // an invalid portion invalidates the whole thing + } + resolvedPath = path + '/' + resolvedPath; + resolvedAbsolute = path.charAt(0) === '/'; + } + // At this point the path should be resolved to a full absolute path, but + // handle relative paths to be safe (might happen when process.cwd() fails) + resolvedPath = PATH.normalizeArray(resolvedPath.split('/').filter(function(p) { + return !!p; + }), !resolvedAbsolute).join('/'); + return ((resolvedAbsolute ? '/' : '') + resolvedPath) || '.'; + },relative:function (from, to) { + from = PATH.resolve(from).substr(1); + to = PATH.resolve(to).substr(1); + function trim(arr) { + var start = 0; + for (; start < arr.length; start++) { + if (arr[start] !== '') break; + } + var end = arr.length - 1; + for (; end >= 0; end--) { + if (arr[end] !== '') break; + } + if (start > end) return []; + return arr.slice(start, end - start + 1); + } + var fromParts = trim(from.split('/')); + var toParts = trim(to.split('/')); + var length = Math.min(fromParts.length, toParts.length); + var samePartsLength = length; + for (var i = 0; i < length; i++) { + if (fromParts[i] !== toParts[i]) { + samePartsLength = i; + break; + } + } + var outputParts = []; + for (var i = samePartsLength; i < fromParts.length; i++) { + outputParts.push('..'); + } + outputParts = outputParts.concat(toParts.slice(samePartsLength)); + return outputParts.join('/'); + }}; + + var TTY={ttys:[],init:function () { + // https://github.com/kripken/emscripten/pull/1555 + // if (ENVIRONMENT_IS_NODE) { + // // currently, FS.init does not distinguish if process.stdin is a file or TTY + // // device, it always assumes it's a TTY device. because of this, we're forcing + // // process.stdin to UTF8 encoding to at least make stdin reading compatible + // // with text files until FS.init can be refactored. + // process['stdin']['setEncoding']('utf8'); + // } + },shutdown:function () { + // https://github.com/kripken/emscripten/pull/1555 + // if (ENVIRONMENT_IS_NODE) { + // // inolen: any idea as to why node -e 'process.stdin.read()' wouldn't exit immediately (with process.stdin being a tty)? + // // isaacs: because now it's reading from the stream, you've expressed interest in it, so that read() kicks off a _read() which creates a ReadReq operation + // // inolen: I thought read() in that case was a synchronous operation that just grabbed some amount of buffered data if it exists? + // // isaacs: it is. but it also triggers a _read() call, which calls readStart() on the handle + // // isaacs: do process.stdin.pause() and i'd think it'd probably close the pending call + // process['stdin']['pause'](); + // } + },register:function (dev, ops) { + TTY.ttys[dev] = { input: [], output: [], ops: ops }; + FS.registerDevice(dev, TTY.stream_ops); + },stream_ops:{open:function (stream) { + var tty = TTY.ttys[stream.node.rdev]; + if (!tty) { + throw new FS.ErrnoError(ERRNO_CODES.ENODEV); + } + stream.tty = tty; + stream.seekable = false; + },close:function (stream) { + // flush any pending line data + stream.tty.ops.flush(stream.tty); + },flush:function (stream) { + stream.tty.ops.flush(stream.tty); + },read:function (stream, buffer, offset, length, pos /* ignored */) { + if (!stream.tty || !stream.tty.ops.get_char) { + throw new FS.ErrnoError(ERRNO_CODES.ENXIO); + } + var bytesRead = 0; + for (var i = 0; i < length; i++) { + var result; + try { + result = stream.tty.ops.get_char(stream.tty); + } catch (e) { + throw new FS.ErrnoError(ERRNO_CODES.EIO); + } + if (result === undefined && bytesRead === 0) { + throw new FS.ErrnoError(ERRNO_CODES.EAGAIN); + } + if (result === null || result === undefined) break; + bytesRead++; + buffer[offset+i] = result; + } + if (bytesRead) { + stream.node.timestamp = Date.now(); + } + return bytesRead; + },write:function (stream, buffer, offset, length, pos) { + if (!stream.tty || !stream.tty.ops.put_char) { + throw new FS.ErrnoError(ERRNO_CODES.ENXIO); + } + for (var i = 0; i < length; i++) { + try { + stream.tty.ops.put_char(stream.tty, buffer[offset+i]); + } catch (e) { + throw new FS.ErrnoError(ERRNO_CODES.EIO); + } + } + if (length) { + stream.node.timestamp = Date.now(); + } + return i; + }},default_tty_ops:{get_char:function (tty) { + if (!tty.input.length) { + var result = null; + if (ENVIRONMENT_IS_NODE) { + // we will read data by chunks of BUFSIZE + var BUFSIZE = 256; + var buf = new Buffer(BUFSIZE); + var bytesRead = 0; + + var isPosixPlatform = (process.platform != 'win32'); // Node doesn't offer a direct check, so test by exclusion + + var fd = process.stdin.fd; + if (isPosixPlatform) { + // Linux and Mac cannot use process.stdin.fd (which isn't set up as sync) + var usingDevice = false; + try { + fd = fs.openSync('/dev/stdin', 'r'); + usingDevice = true; + } catch (e) {} + } + + try { + bytesRead = fs.readSync(fd, buf, 0, BUFSIZE, null); + } catch(e) { + // Cross-platform differences: on Windows, reading EOF throws an exception, but on other OSes, + // reading EOF returns 0. Uniformize behavior by treating the EOF exception to return 0. + if (e.toString().indexOf('EOF') != -1) bytesRead = 0; + else throw e; + } + + if (usingDevice) { fs.closeSync(fd); } + if (bytesRead > 0) { + result = buf.slice(0, bytesRead).toString('utf-8'); + } else { + result = null; + } + + } else if (typeof window != 'undefined' && + typeof window.prompt == 'function') { + // Browser. + result = window.prompt('Input: '); // returns null on cancel + if (result !== null) { + result += '\n'; + } + } else if (typeof readline == 'function') { + // Command line. + result = readline(); + if (result !== null) { + result += '\n'; + } + } + if (!result) { + return null; + } + tty.input = intArrayFromString(result, true); + } + return tty.input.shift(); + },put_char:function (tty, val) { + if (val === null || val === 10) { + Module['print'](UTF8ArrayToString(tty.output, 0)); + tty.output = []; + } else { + if (val != 0) tty.output.push(val); // val == 0 would cut text output off in the middle. + } + },flush:function (tty) { + if (tty.output && tty.output.length > 0) { + Module['print'](UTF8ArrayToString(tty.output, 0)); + tty.output = []; + } + }},default_tty1_ops:{put_char:function (tty, val) { + if (val === null || val === 10) { + Module['printErr'](UTF8ArrayToString(tty.output, 0)); + tty.output = []; + } else { + if (val != 0) tty.output.push(val); + } + },flush:function (tty) { + if (tty.output && tty.output.length > 0) { + Module['printErr'](UTF8ArrayToString(tty.output, 0)); + tty.output = []; + } + }}}; + + var MEMFS={ops_table:null,mount:function (mount) { + return MEMFS.createNode(null, '/', 16384 | 511 /* 0777 */, 0); + },createNode:function (parent, name, mode, dev) { + if (FS.isBlkdev(mode) || FS.isFIFO(mode)) { + // no supported + throw new FS.ErrnoError(ERRNO_CODES.EPERM); + } + if (!MEMFS.ops_table) { + MEMFS.ops_table = { + dir: { + node: { + getattr: MEMFS.node_ops.getattr, + setattr: MEMFS.node_ops.setattr, + lookup: MEMFS.node_ops.lookup, + mknod: MEMFS.node_ops.mknod, + rename: MEMFS.node_ops.rename, + unlink: MEMFS.node_ops.unlink, + rmdir: MEMFS.node_ops.rmdir, + readdir: MEMFS.node_ops.readdir, + symlink: MEMFS.node_ops.symlink + }, + stream: { + llseek: MEMFS.stream_ops.llseek + } + }, + file: { + node: { + getattr: MEMFS.node_ops.getattr, + setattr: MEMFS.node_ops.setattr + }, + stream: { + llseek: MEMFS.stream_ops.llseek, + read: MEMFS.stream_ops.read, + write: MEMFS.stream_ops.write, + allocate: MEMFS.stream_ops.allocate, + mmap: MEMFS.stream_ops.mmap, + msync: MEMFS.stream_ops.msync + } + }, + link: { + node: { + getattr: MEMFS.node_ops.getattr, + setattr: MEMFS.node_ops.setattr, + readlink: MEMFS.node_ops.readlink + }, + stream: {} + }, + chrdev: { + node: { + getattr: MEMFS.node_ops.getattr, + setattr: MEMFS.node_ops.setattr + }, + stream: FS.chrdev_stream_ops + } + }; + } + var node = FS.createNode(parent, name, mode, dev); + if (FS.isDir(node.mode)) { + node.node_ops = MEMFS.ops_table.dir.node; + node.stream_ops = MEMFS.ops_table.dir.stream; + node.contents = {}; + } else if (FS.isFile(node.mode)) { + node.node_ops = MEMFS.ops_table.file.node; + node.stream_ops = MEMFS.ops_table.file.stream; + node.usedBytes = 0; // The actual number of bytes used in the typed array, as opposed to contents.length which gives the whole capacity. + // When the byte data of the file is populated, this will point to either a typed array, or a normal JS array. Typed arrays are preferred + // for performance, and used by default. However, typed arrays are not resizable like normal JS arrays are, so there is a small disk size + // penalty involved for appending file writes that continuously grow a file similar to std::vector capacity vs used -scheme. + node.contents = null; + } else if (FS.isLink(node.mode)) { + node.node_ops = MEMFS.ops_table.link.node; + node.stream_ops = MEMFS.ops_table.link.stream; + } else if (FS.isChrdev(node.mode)) { + node.node_ops = MEMFS.ops_table.chrdev.node; + node.stream_ops = MEMFS.ops_table.chrdev.stream; + } + node.timestamp = Date.now(); + // add the new node to the parent + if (parent) { + parent.contents[name] = node; + } + return node; + },getFileDataAsRegularArray:function (node) { + if (node.contents && node.contents.subarray) { + var arr = []; + for (var i = 0; i < node.usedBytes; ++i) arr.push(node.contents[i]); + return arr; // Returns a copy of the original data. + } + return node.contents; // No-op, the file contents are already in a JS array. Return as-is. + },getFileDataAsTypedArray:function (node) { + if (!node.contents) return new Uint8Array; + if (node.contents.subarray) return node.contents.subarray(0, node.usedBytes); // Make sure to not return excess unused bytes. + return new Uint8Array(node.contents); + },expandFileStorage:function (node, newCapacity) { + // If we are asked to expand the size of a file that already exists, revert to using a standard JS array to store the file + // instead of a typed array. This makes resizing the array more flexible because we can just .push() elements at the back to + // increase the size. + if (node.contents && node.contents.subarray && newCapacity > node.contents.length) { + node.contents = MEMFS.getFileDataAsRegularArray(node); + node.usedBytes = node.contents.length; // We might be writing to a lazy-loaded file which had overridden this property, so force-reset it. + } + + if (!node.contents || node.contents.subarray) { // Keep using a typed array if creating a new storage, or if old one was a typed array as well. + var prevCapacity = node.contents ? node.contents.length : 0; + if (prevCapacity >= newCapacity) return; // No need to expand, the storage was already large enough. + // Don't expand strictly to the given requested limit if it's only a very small increase, but instead geometrically grow capacity. + // For small filesizes (<1MB), perform size*2 geometric increase, but for large sizes, do a much more conservative size*1.125 increase to + // avoid overshooting the allocation cap by a very large margin. + var CAPACITY_DOUBLING_MAX = 1024 * 1024; + newCapacity = Math.max(newCapacity, (prevCapacity * (prevCapacity < CAPACITY_DOUBLING_MAX ? 2.0 : 1.125)) | 0); + if (prevCapacity != 0) newCapacity = Math.max(newCapacity, 256); // At minimum allocate 256b for each file when expanding. + var oldContents = node.contents; + node.contents = new Uint8Array(newCapacity); // Allocate new storage. + if (node.usedBytes > 0) node.contents.set(oldContents.subarray(0, node.usedBytes), 0); // Copy old data over to the new storage. + return; + } + // Not using a typed array to back the file storage. Use a standard JS array instead. + if (!node.contents && newCapacity > 0) node.contents = []; + while (node.contents.length < newCapacity) node.contents.push(0); + },resizeFileStorage:function (node, newSize) { + if (node.usedBytes == newSize) return; + if (newSize == 0) { + node.contents = null; // Fully decommit when requesting a resize to zero. + node.usedBytes = 0; + return; + } + if (!node.contents || node.contents.subarray) { // Resize a typed array if that is being used as the backing store. + var oldContents = node.contents; + node.contents = new Uint8Array(new ArrayBuffer(newSize)); // Allocate new storage. + if (oldContents) { + node.contents.set(oldContents.subarray(0, Math.min(newSize, node.usedBytes))); // Copy old data over to the new storage. + } + node.usedBytes = newSize; + return; + } + // Backing with a JS array. + if (!node.contents) node.contents = []; + if (node.contents.length > newSize) node.contents.length = newSize; + else while (node.contents.length < newSize) node.contents.push(0); + node.usedBytes = newSize; + },node_ops:{getattr:function (node) { + var attr = {}; + // device numbers reuse inode numbers. + attr.dev = FS.isChrdev(node.mode) ? node.id : 1; + attr.ino = node.id; + attr.mode = node.mode; + attr.nlink = 1; + attr.uid = 0; + attr.gid = 0; + attr.rdev = node.rdev; + if (FS.isDir(node.mode)) { + attr.size = 4096; + } else if (FS.isFile(node.mode)) { + attr.size = node.usedBytes; + } else if (FS.isLink(node.mode)) { + attr.size = node.link.length; + } else { + attr.size = 0; + } + attr.atime = new Date(node.timestamp); + attr.mtime = new Date(node.timestamp); + attr.ctime = new Date(node.timestamp); + // NOTE: In our implementation, st_blocks = Math.ceil(st_size/st_blksize), + // but this is not required by the standard. + attr.blksize = 4096; + attr.blocks = Math.ceil(attr.size / attr.blksize); + return attr; + },setattr:function (node, attr) { + if (attr.mode !== undefined) { + node.mode = attr.mode; + } + if (attr.timestamp !== undefined) { + node.timestamp = attr.timestamp; + } + if (attr.size !== undefined) { + MEMFS.resizeFileStorage(node, attr.size); + } + },lookup:function (parent, name) { + throw FS.genericErrors[ERRNO_CODES.ENOENT]; + },mknod:function (parent, name, mode, dev) { + return MEMFS.createNode(parent, name, mode, dev); + },rename:function (old_node, new_dir, new_name) { + // if we're overwriting a directory at new_name, make sure it's empty. + if (FS.isDir(old_node.mode)) { + var new_node; + try { + new_node = FS.lookupNode(new_dir, new_name); + } catch (e) { + } + if (new_node) { + for (var i in new_node.contents) { + throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY); + } + } + } + // do the internal rewiring + delete old_node.parent.contents[old_node.name]; + old_node.name = new_name; + new_dir.contents[new_name] = old_node; + old_node.parent = new_dir; + },unlink:function (parent, name) { + delete parent.contents[name]; + },rmdir:function (parent, name) { + var node = FS.lookupNode(parent, name); + for (var i in node.contents) { + throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY); + } + delete parent.contents[name]; + },readdir:function (node) { + var entries = ['.', '..'] + for (var key in node.contents) { + if (!node.contents.hasOwnProperty(key)) { + continue; + } + entries.push(key); + } + return entries; + },symlink:function (parent, newname, oldpath) { + var node = MEMFS.createNode(parent, newname, 511 /* 0777 */ | 40960, 0); + node.link = oldpath; + return node; + },readlink:function (node) { + if (!FS.isLink(node.mode)) { + throw new FS.ErrnoError(ERRNO_CODES.EINVAL); + } + return node.link; + }},stream_ops:{read:function (stream, buffer, offset, length, position) { + var contents = stream.node.contents; + if (position >= stream.node.usedBytes) return 0; + var size = Math.min(stream.node.usedBytes - position, length); + assert(size >= 0); + if (size > 8 && contents.subarray) { // non-trivial, and typed array + buffer.set(contents.subarray(position, position + size), offset); + } else { + for (var i = 0; i < size; i++) buffer[offset + i] = contents[position + i]; + } + return size; + },write:function (stream, buffer, offset, length, position, canOwn) { + if (!length) return 0; + var node = stream.node; + node.timestamp = Date.now(); + + if (buffer.subarray && (!node.contents || node.contents.subarray)) { // This write is from a typed array to a typed array? + if (canOwn) { + assert(position === 0, 'canOwn must imply no weird position inside the file'); + node.contents = buffer.subarray(offset, offset + length); + node.usedBytes = length; + return length; + } else if (node.usedBytes === 0 && position === 0) { // If this is a simple first write to an empty file, do a fast set since we don't need to care about old data. + node.contents = new Uint8Array(buffer.subarray(offset, offset + length)); + node.usedBytes = length; + return length; + } else if (position + length <= node.usedBytes) { // Writing to an already allocated and used subrange of the file? + node.contents.set(buffer.subarray(offset, offset + length), position); + return length; + } + } + + // Appending to an existing file and we need to reallocate, or source data did not come as a typed array. + MEMFS.expandFileStorage(node, position+length); + if (node.contents.subarray && buffer.subarray) node.contents.set(buffer.subarray(offset, offset + length), position); // Use typed array write if available. + else { + for (var i = 0; i < length; i++) { + node.contents[position + i] = buffer[offset + i]; // Or fall back to manual write if not. + } + } + node.usedBytes = Math.max(node.usedBytes, position+length); + return length; + },llseek:function (stream, offset, whence) { + var position = offset; + if (whence === 1) { // SEEK_CUR. + position += stream.position; + } else if (whence === 2) { // SEEK_END. + if (FS.isFile(stream.node.mode)) { + position += stream.node.usedBytes; + } + } + if (position < 0) { + throw new FS.ErrnoError(ERRNO_CODES.EINVAL); + } + return position; + },allocate:function (stream, offset, length) { + MEMFS.expandFileStorage(stream.node, offset + length); + stream.node.usedBytes = Math.max(stream.node.usedBytes, offset + length); + },mmap:function (stream, buffer, offset, length, position, prot, flags) { + if (!FS.isFile(stream.node.mode)) { + throw new FS.ErrnoError(ERRNO_CODES.ENODEV); + } + var ptr; + var allocated; + var contents = stream.node.contents; + // Only make a new copy when MAP_PRIVATE is specified. + if ( !(flags & 2) && + (contents.buffer === buffer || contents.buffer === buffer.buffer) ) { + // We can't emulate MAP_SHARED when the file is not backed by the buffer + // we're mapping to (e.g. the HEAP buffer). + allocated = false; + ptr = contents.byteOffset; + } else { + // Try to avoid unnecessary slices. + if (position > 0 || position + length < stream.node.usedBytes) { + if (contents.subarray) { + contents = contents.subarray(position, position + length); + } else { + contents = Array.prototype.slice.call(contents, position, position + length); + } + } + allocated = true; + ptr = _malloc(length); + if (!ptr) { + throw new FS.ErrnoError(ERRNO_CODES.ENOMEM); + } + buffer.set(contents, ptr); + } + return { ptr: ptr, allocated: allocated }; + },msync:function (stream, buffer, offset, length, mmapFlags) { + if (!FS.isFile(stream.node.mode)) { + throw new FS.ErrnoError(ERRNO_CODES.ENODEV); + } + if (mmapFlags & 2) { + // MAP_PRIVATE calls need not to be synced back to underlying fs + return 0; + } + + var bytesWritten = MEMFS.stream_ops.write(stream, buffer, 0, length, offset, false); + // should we check if bytesWritten and length are the same? + return 0; + }}}; + + var IDBFS={dbs:{},indexedDB:function () { + if (typeof indexedDB !== 'undefined') return indexedDB; + var ret = null; + if (typeof window === 'object') ret = window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB; + assert(ret, 'IDBFS used, but indexedDB not supported'); + return ret; + },DB_VERSION:21,DB_STORE_NAME:"FILE_DATA",mount:function (mount) { + // reuse all of the core MEMFS functionality + return MEMFS.mount.apply(null, arguments); + },syncfs:function (mount, populate, callback) { + IDBFS.getLocalSet(mount, function(err, local) { + if (err) return callback(err); + + IDBFS.getRemoteSet(mount, function(err, remote) { + if (err) return callback(err); + + var src = populate ? remote : local; + var dst = populate ? local : remote; + + IDBFS.reconcile(src, dst, callback); + }); + }); + },getDB:function (name, callback) { + // check the cache first + var db = IDBFS.dbs[name]; + if (db) { + return callback(null, db); + } + + var req; + try { + req = IDBFS.indexedDB().open(name, IDBFS.DB_VERSION); + } catch (e) { + return callback(e); + } + if (!req) { + return callback("Unable to connect to IndexedDB"); + } + req.onupgradeneeded = function(e) { + var db = e.target.result; + var transaction = e.target.transaction; + + var fileStore; + + if (db.objectStoreNames.contains(IDBFS.DB_STORE_NAME)) { + fileStore = transaction.objectStore(IDBFS.DB_STORE_NAME); + } else { + fileStore = db.createObjectStore(IDBFS.DB_STORE_NAME); + } + + if (!fileStore.indexNames.contains('timestamp')) { + fileStore.createIndex('timestamp', 'timestamp', { unique: false }); + } + }; + req.onsuccess = function() { + db = req.result; + + // add to the cache + IDBFS.dbs[name] = db; + callback(null, db); + }; + req.onerror = function(e) { + callback(this.error); + e.preventDefault(); + }; + },getLocalSet:function (mount, callback) { + var entries = {}; + + function isRealDir(p) { + return p !== '.' && p !== '..'; + }; + function toAbsolute(root) { + return function(p) { + return PATH.join2(root, p); + } + }; + + var check = FS.readdir(mount.mountpoint).filter(isRealDir).map(toAbsolute(mount.mountpoint)); + + while (check.length) { + var path = check.pop(); + var stat; + + try { + stat = FS.stat(path); + } catch (e) { + return callback(e); + } + + if (FS.isDir(stat.mode)) { + check.push.apply(check, FS.readdir(path).filter(isRealDir).map(toAbsolute(path))); + } + + entries[path] = { timestamp: stat.mtime }; + } + + return callback(null, { type: 'local', entries: entries }); + },getRemoteSet:function (mount, callback) { + var entries = {}; + + IDBFS.getDB(mount.mountpoint, function(err, db) { + if (err) return callback(err); + + var transaction = db.transaction([IDBFS.DB_STORE_NAME], 'readonly'); + transaction.onerror = function(e) { + callback(this.error); + e.preventDefault(); + }; + + var store = transaction.objectStore(IDBFS.DB_STORE_NAME); + var index = store.index('timestamp'); + + index.openKeyCursor().onsuccess = function(event) { + var cursor = event.target.result; + + if (!cursor) { + return callback(null, { type: 'remote', db: db, entries: entries }); + } + + entries[cursor.primaryKey] = { timestamp: cursor.key }; + + cursor.continue(); + }; + }); + },loadLocalEntry:function (path, callback) { + var stat, node; + + try { + var lookup = FS.lookupPath(path); + node = lookup.node; + stat = FS.stat(path); + } catch (e) { + return callback(e); + } + + if (FS.isDir(stat.mode)) { + return callback(null, { timestamp: stat.mtime, mode: stat.mode }); + } else if (FS.isFile(stat.mode)) { + // Performance consideration: storing a normal JavaScript array to a IndexedDB is much slower than storing a typed array. + // Therefore always convert the file contents to a typed array first before writing the data to IndexedDB. + node.contents = MEMFS.getFileDataAsTypedArray(node); + return callback(null, { timestamp: stat.mtime, mode: stat.mode, contents: node.contents }); + } else { + return callback(new Error('node type not supported')); + } + },storeLocalEntry:function (path, entry, callback) { + try { + if (FS.isDir(entry.mode)) { + FS.mkdir(path, entry.mode); + } else if (FS.isFile(entry.mode)) { + FS.writeFile(path, entry.contents, { encoding: 'binary', canOwn: true }); + } else { + return callback(new Error('node type not supported')); + } + + FS.chmod(path, entry.mode); + FS.utime(path, entry.timestamp, entry.timestamp); + } catch (e) { + return callback(e); + } + + callback(null); + },removeLocalEntry:function (path, callback) { + try { + var lookup = FS.lookupPath(path); + var stat = FS.stat(path); + + if (FS.isDir(stat.mode)) { + FS.rmdir(path); + } else if (FS.isFile(stat.mode)) { + FS.unlink(path); + } + } catch (e) { + return callback(e); + } + + callback(null); + },loadRemoteEntry:function (store, path, callback) { + var req = store.get(path); + req.onsuccess = function(event) { callback(null, event.target.result); }; + req.onerror = function(e) { + callback(this.error); + e.preventDefault(); + }; + },storeRemoteEntry:function (store, path, entry, callback) { + var req = store.put(entry, path); + req.onsuccess = function() { callback(null); }; + req.onerror = function(e) { + callback(this.error); + e.preventDefault(); + }; + },removeRemoteEntry:function (store, path, callback) { + var req = store.delete(path); + req.onsuccess = function() { callback(null); }; + req.onerror = function(e) { + callback(this.error); + e.preventDefault(); + }; + },reconcile:function (src, dst, callback) { + var total = 0; + + var create = []; + Object.keys(src.entries).forEach(function (key) { + var e = src.entries[key]; + var e2 = dst.entries[key]; + if (!e2 || e.timestamp > e2.timestamp) { + create.push(key); + total++; + } + }); + + var remove = []; + Object.keys(dst.entries).forEach(function (key) { + var e = dst.entries[key]; + var e2 = src.entries[key]; + if (!e2) { + remove.push(key); + total++; + } + }); + + if (!total) { + return callback(null); + } + + var errored = false; + var completed = 0; + var db = src.type === 'remote' ? src.db : dst.db; + var transaction = db.transaction([IDBFS.DB_STORE_NAME], 'readwrite'); + var store = transaction.objectStore(IDBFS.DB_STORE_NAME); + + function done(err) { + if (err) { + if (!done.errored) { + done.errored = true; + return callback(err); + } + return; + } + if (++completed >= total) { + return callback(null); + } + }; + + transaction.onerror = function(e) { + done(this.error); + e.preventDefault(); + }; + + // sort paths in ascending order so directory entries are created + // before the files inside them + create.sort().forEach(function (path) { + if (dst.type === 'local') { + IDBFS.loadRemoteEntry(store, path, function (err, entry) { + if (err) return done(err); + IDBFS.storeLocalEntry(path, entry, done); + }); + } else { + IDBFS.loadLocalEntry(path, function (err, entry) { + if (err) return done(err); + IDBFS.storeRemoteEntry(store, path, entry, done); + }); + } + }); + + // sort paths in descending order so files are deleted before their + // parent directories + remove.sort().reverse().forEach(function(path) { + if (dst.type === 'local') { + IDBFS.removeLocalEntry(path, done); + } else { + IDBFS.removeRemoteEntry(store, path, done); + } + }); + }}; + + var NODEFS={isWindows:false,staticInit:function () { + NODEFS.isWindows = !!process.platform.match(/^win/); + },mount:function (mount) { + assert(ENVIRONMENT_IS_NODE); + return NODEFS.createNode(null, '/', NODEFS.getMode(mount.opts.root), 0); + },createNode:function (parent, name, mode, dev) { + if (!FS.isDir(mode) && !FS.isFile(mode) && !FS.isLink(mode)) { + throw new FS.ErrnoError(ERRNO_CODES.EINVAL); + } + var node = FS.createNode(parent, name, mode); + node.node_ops = NODEFS.node_ops; + node.stream_ops = NODEFS.stream_ops; + return node; + },getMode:function (path) { + var stat; + try { + stat = fs.lstatSync(path); + if (NODEFS.isWindows) { + // On Windows, directories return permission bits 'rw-rw-rw-', even though they have 'rwxrwxrwx', so + // propagate write bits to execute bits. + stat.mode = stat.mode | ((stat.mode & 146) >> 1); + } + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(ERRNO_CODES[e.code]); + } + return stat.mode; + },realPath:function (node) { + var parts = []; + while (node.parent !== node) { + parts.push(node.name); + node = node.parent; + } + parts.push(node.mount.opts.root); + parts.reverse(); + return PATH.join.apply(null, parts); + },flagsToPermissionStringMap:{0:"r",1:"r+",2:"r+",64:"r",65:"r+",66:"r+",129:"rx+",193:"rx+",514:"w+",577:"w",578:"w+",705:"wx",706:"wx+",1024:"a",1025:"a",1026:"a+",1089:"a",1090:"a+",1153:"ax",1154:"ax+",1217:"ax",1218:"ax+",4096:"rs",4098:"rs+"},flagsToPermissionString:function (flags) { + flags &= ~0x200000 /*O_PATH*/; // Ignore this flag from musl, otherwise node.js fails to open the file. + flags &= ~0x800 /*O_NONBLOCK*/; // Ignore this flag from musl, otherwise node.js fails to open the file. + flags &= ~0x8000 /*O_LARGEFILE*/; // Ignore this flag from musl, otherwise node.js fails to open the file. + flags &= ~0x80000 /*O_CLOEXEC*/; // Some applications may pass it; it makes no sense for a single process. + if (flags in NODEFS.flagsToPermissionStringMap) { + return NODEFS.flagsToPermissionStringMap[flags]; + } else { + throw new FS.ErrnoError(ERRNO_CODES.EINVAL); + } + },node_ops:{getattr:function (node) { + var path = NODEFS.realPath(node); + var stat; + try { + stat = fs.lstatSync(path); + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(ERRNO_CODES[e.code]); + } + // node.js v0.10.20 doesn't report blksize and blocks on Windows. Fake them with default blksize of 4096. + // See http://support.microsoft.com/kb/140365 + if (NODEFS.isWindows && !stat.blksize) { + stat.blksize = 4096; + } + if (NODEFS.isWindows && !stat.blocks) { + stat.blocks = (stat.size+stat.blksize-1)/stat.blksize|0; + } + return { + dev: stat.dev, + ino: stat.ino, + mode: stat.mode, + nlink: stat.nlink, + uid: stat.uid, + gid: stat.gid, + rdev: stat.rdev, + size: stat.size, + atime: stat.atime, + mtime: stat.mtime, + ctime: stat.ctime, + blksize: stat.blksize, + blocks: stat.blocks + }; + },setattr:function (node, attr) { + var path = NODEFS.realPath(node); + try { + if (attr.mode !== undefined) { + fs.chmodSync(path, attr.mode); + // update the common node structure mode as well + node.mode = attr.mode; + } + if (attr.timestamp !== undefined) { + var date = new Date(attr.timestamp); + fs.utimesSync(path, date, date); + } + if (attr.size !== undefined) { + fs.truncateSync(path, attr.size); + } + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(ERRNO_CODES[e.code]); + } + },lookup:function (parent, name) { + var path = PATH.join2(NODEFS.realPath(parent), name); + var mode = NODEFS.getMode(path); + return NODEFS.createNode(parent, name, mode); + },mknod:function (parent, name, mode, dev) { + var node = NODEFS.createNode(parent, name, mode, dev); + // create the backing node for this in the fs root as well + var path = NODEFS.realPath(node); + try { + if (FS.isDir(node.mode)) { + fs.mkdirSync(path, node.mode); + } else { + fs.writeFileSync(path, '', { mode: node.mode }); + } + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(ERRNO_CODES[e.code]); + } + return node; + },rename:function (oldNode, newDir, newName) { + var oldPath = NODEFS.realPath(oldNode); + var newPath = PATH.join2(NODEFS.realPath(newDir), newName); + try { + fs.renameSync(oldPath, newPath); + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(ERRNO_CODES[e.code]); + } + },unlink:function (parent, name) { + var path = PATH.join2(NODEFS.realPath(parent), name); + try { + fs.unlinkSync(path); + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(ERRNO_CODES[e.code]); + } + },rmdir:function (parent, name) { + var path = PATH.join2(NODEFS.realPath(parent), name); + try { + fs.rmdirSync(path); + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(ERRNO_CODES[e.code]); + } + },readdir:function (node) { + var path = NODEFS.realPath(node); + try { + return fs.readdirSync(path); + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(ERRNO_CODES[e.code]); + } + },symlink:function (parent, newName, oldPath) { + var newPath = PATH.join2(NODEFS.realPath(parent), newName); + try { + fs.symlinkSync(oldPath, newPath); + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(ERRNO_CODES[e.code]); + } + },readlink:function (node) { + var path = NODEFS.realPath(node); + try { + path = fs.readlinkSync(path); + path = NODEJS_PATH.relative(NODEJS_PATH.resolve(node.mount.opts.root), path); + return path; + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(ERRNO_CODES[e.code]); + } + }},stream_ops:{open:function (stream) { + var path = NODEFS.realPath(stream.node); + try { + if (FS.isFile(stream.node.mode)) { + stream.nfd = fs.openSync(path, NODEFS.flagsToPermissionString(stream.flags)); + } + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(ERRNO_CODES[e.code]); + } + },close:function (stream) { + try { + if (FS.isFile(stream.node.mode) && stream.nfd) { + fs.closeSync(stream.nfd); + } + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(ERRNO_CODES[e.code]); + } + },read:function (stream, buffer, offset, length, position) { + if (length === 0) return 0; // node errors on 0 length reads + // FIXME this is terrible. + var nbuffer = new Buffer(length); + var res; + try { + res = fs.readSync(stream.nfd, nbuffer, 0, length, position); + } catch (e) { + throw new FS.ErrnoError(ERRNO_CODES[e.code]); + } + if (res > 0) { + for (var i = 0; i < res; i++) { + buffer[offset + i] = nbuffer[i]; + } + } + return res; + },write:function (stream, buffer, offset, length, position) { + // FIXME this is terrible. + var nbuffer = new Buffer(buffer.subarray(offset, offset + length)); + var res; + try { + res = fs.writeSync(stream.nfd, nbuffer, 0, length, position); + } catch (e) { + throw new FS.ErrnoError(ERRNO_CODES[e.code]); + } + return res; + },llseek:function (stream, offset, whence) { + var position = offset; + if (whence === 1) { // SEEK_CUR. + position += stream.position; + } else if (whence === 2) { // SEEK_END. + if (FS.isFile(stream.node.mode)) { + try { + var stat = fs.fstatSync(stream.nfd); + position += stat.size; + } catch (e) { + throw new FS.ErrnoError(ERRNO_CODES[e.code]); + } + } + } + + if (position < 0) { + throw new FS.ErrnoError(ERRNO_CODES.EINVAL); + } + + return position; + }}}; + + var WORKERFS={DIR_MODE:16895,FILE_MODE:33279,reader:null,mount:function (mount) { + assert(ENVIRONMENT_IS_WORKER); + if (!WORKERFS.reader) WORKERFS.reader = new FileReaderSync(); + var root = WORKERFS.createNode(null, '/', WORKERFS.DIR_MODE, 0); + var createdParents = {}; + function ensureParent(path) { + // return the parent node, creating subdirs as necessary + var parts = path.split('/'); + var parent = root; + for (var i = 0; i < parts.length-1; i++) { + var curr = parts.slice(0, i+1).join('/'); + // Issue 4254: Using curr as a node name will prevent the node + // from being found in FS.nameTable when FS.open is called on + // a path which holds a child of this node, + // given that all FS functions assume node names + // are just their corresponding parts within their given path, + // rather than incremental aggregates which include their parent's + // directories. + if (!createdParents[curr]) { + createdParents[curr] = WORKERFS.createNode(parent, parts[i], WORKERFS.DIR_MODE, 0); + } + parent = createdParents[curr]; + } + return parent; + } + function base(path) { + var parts = path.split('/'); + return parts[parts.length-1]; + } + // We also accept FileList here, by using Array.prototype + Array.prototype.forEach.call(mount.opts["files"] || [], function(file) { + WORKERFS.createNode(ensureParent(file.name), base(file.name), WORKERFS.FILE_MODE, 0, file, file.lastModifiedDate); + }); + (mount.opts["blobs"] || []).forEach(function(obj) { + WORKERFS.createNode(ensureParent(obj["name"]), base(obj["name"]), WORKERFS.FILE_MODE, 0, obj["data"]); + }); + (mount.opts["packages"] || []).forEach(function(pack) { + pack['metadata'].files.forEach(function(file) { + var name = file.filename.substr(1); // remove initial slash + WORKERFS.createNode(ensureParent(name), base(name), WORKERFS.FILE_MODE, 0, pack['blob'].slice(file.start, file.end)); + }); + }); + return root; + },createNode:function (parent, name, mode, dev, contents, mtime) { + var node = FS.createNode(parent, name, mode); + node.mode = mode; + node.node_ops = WORKERFS.node_ops; + node.stream_ops = WORKERFS.stream_ops; + node.timestamp = (mtime || new Date).getTime(); + assert(WORKERFS.FILE_MODE !== WORKERFS.DIR_MODE); + if (mode === WORKERFS.FILE_MODE) { + node.size = contents.size; + node.contents = contents; + } else { + node.size = 4096; + node.contents = {}; + } + if (parent) { + parent.contents[name] = node; + } + return node; + },node_ops:{getattr:function (node) { + return { + dev: 1, + ino: undefined, + mode: node.mode, + nlink: 1, + uid: 0, + gid: 0, + rdev: undefined, + size: node.size, + atime: new Date(node.timestamp), + mtime: new Date(node.timestamp), + ctime: new Date(node.timestamp), + blksize: 4096, + blocks: Math.ceil(node.size / 4096), + }; + },setattr:function (node, attr) { + if (attr.mode !== undefined) { + node.mode = attr.mode; + } + if (attr.timestamp !== undefined) { + node.timestamp = attr.timestamp; + } + },lookup:function (parent, name) { + throw new FS.ErrnoError(ERRNO_CODES.ENOENT); + },mknod:function (parent, name, mode, dev) { + throw new FS.ErrnoError(ERRNO_CODES.EPERM); + },rename:function (oldNode, newDir, newName) { + throw new FS.ErrnoError(ERRNO_CODES.EPERM); + },unlink:function (parent, name) { + throw new FS.ErrnoError(ERRNO_CODES.EPERM); + },rmdir:function (parent, name) { + throw new FS.ErrnoError(ERRNO_CODES.EPERM); + },readdir:function (node) { + var entries = ['.', '..']; + for (var key in node.contents) { + if (!node.contents.hasOwnProperty(key)) { + continue; + } + entries.push(key); + } + return entries; + },symlink:function (parent, newName, oldPath) { + throw new FS.ErrnoError(ERRNO_CODES.EPERM); + },readlink:function (node) { + throw new FS.ErrnoError(ERRNO_CODES.EPERM); + }},stream_ops:{read:function (stream, buffer, offset, length, position) { + if (position >= stream.node.size) return 0; + var chunk = stream.node.contents.slice(position, position + length); + var ab = WORKERFS.reader.readAsArrayBuffer(chunk); + buffer.set(new Uint8Array(ab), offset); + return chunk.size; + },write:function (stream, buffer, offset, length, position) { + throw new FS.ErrnoError(ERRNO_CODES.EIO); + },llseek:function (stream, offset, whence) { + var position = offset; + if (whence === 1) { // SEEK_CUR. + position += stream.position; + } else if (whence === 2) { // SEEK_END. + if (FS.isFile(stream.node.mode)) { + position += stream.node.size; + } + } + if (position < 0) { + throw new FS.ErrnoError(ERRNO_CODES.EINVAL); + } + return position; + }}}; + + var _stdin=STATICTOP; STATICTOP += 16;; + + var _stdout=STATICTOP; STATICTOP += 16;; + + var _stderr=STATICTOP; STATICTOP += 16;;var FS={root:null,mounts:[],devices:[null],streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,handleFSError:function (e) { + if (!(e instanceof FS.ErrnoError)) throw e + ' : ' + stackTrace(); + return ___setErrNo(e.errno); + },lookupPath:function (path, opts) { + path = PATH.resolve(FS.cwd(), path); + opts = opts || {}; + + if (!path) return { path: '', node: null }; + + var defaults = { + follow_mount: true, + recurse_count: 0 + }; + for (var key in defaults) { + if (opts[key] === undefined) { + opts[key] = defaults[key]; + } + } + + if (opts.recurse_count > 8) { // max recursive lookup of 8 + throw new FS.ErrnoError(ERRNO_CODES.ELOOP); + } + + // split the path + var parts = PATH.normalizeArray(path.split('/').filter(function(p) { + return !!p; + }), false); + + // start at the root + var current = FS.root; + var current_path = '/'; + + for (var i = 0; i < parts.length; i++) { + var islast = (i === parts.length-1); + if (islast && opts.parent) { + // stop resolving + break; + } + + current = FS.lookupNode(current, parts[i]); + current_path = PATH.join2(current_path, parts[i]); + + // jump to the mount's root node if this is a mountpoint + if (FS.isMountpoint(current)) { + if (!islast || (islast && opts.follow_mount)) { + current = current.mounted.root; + } + } + + // by default, lookupPath will not follow a symlink if it is the final path component. + // setting opts.follow = true will override this behavior. + if (!islast || opts.follow) { + var count = 0; + while (FS.isLink(current.mode)) { + var link = FS.readlink(current_path); + current_path = PATH.resolve(PATH.dirname(current_path), link); + + var lookup = FS.lookupPath(current_path, { recurse_count: opts.recurse_count }); + current = lookup.node; + + if (count++ > 40) { // limit max consecutive symlinks to 40 (SYMLOOP_MAX). + throw new FS.ErrnoError(ERRNO_CODES.ELOOP); + } + } + } + } + + return { path: current_path, node: current }; + },getPath:function (node) { + var path; + while (true) { + if (FS.isRoot(node)) { + var mount = node.mount.mountpoint; + if (!path) return mount; + return mount[mount.length-1] !== '/' ? mount + '/' + path : mount + path; + } + path = path ? node.name + '/' + path : node.name; + node = node.parent; + } + },hashName:function (parentid, name) { + var hash = 0; + + + for (var i = 0; i < name.length; i++) { + hash = ((hash << 5) - hash + name.charCodeAt(i)) | 0; + } + return ((parentid + hash) >>> 0) % FS.nameTable.length; + },hashAddNode:function (node) { + var hash = FS.hashName(node.parent.id, node.name); + node.name_next = FS.nameTable[hash]; + FS.nameTable[hash] = node; + },hashRemoveNode:function (node) { + var hash = FS.hashName(node.parent.id, node.name); + if (FS.nameTable[hash] === node) { + FS.nameTable[hash] = node.name_next; + } else { + var current = FS.nameTable[hash]; + while (current) { + if (current.name_next === node) { + current.name_next = node.name_next; + break; + } + current = current.name_next; + } + } + },lookupNode:function (parent, name) { + var err = FS.mayLookup(parent); + if (err) { + throw new FS.ErrnoError(err, parent); + } + var hash = FS.hashName(parent.id, name); + for (var node = FS.nameTable[hash]; node; node = node.name_next) { + var nodeName = node.name; + if (node.parent.id === parent.id && nodeName === name) { + return node; + } + } + // if we failed to find it in the cache, call into the VFS + return FS.lookup(parent, name); + },createNode:function (parent, name, mode, rdev) { + if (!FS.FSNode) { + FS.FSNode = function(parent, name, mode, rdev) { + if (!parent) { + parent = this; // root node sets parent to itself + } + this.parent = parent; + this.mount = parent.mount; + this.mounted = null; + this.id = FS.nextInode++; + this.name = name; + this.mode = mode; + this.node_ops = {}; + this.stream_ops = {}; + this.rdev = rdev; + }; + + FS.FSNode.prototype = {}; + + // compatibility + var readMode = 292 | 73; + var writeMode = 146; + + // NOTE we must use Object.defineProperties instead of individual calls to + // Object.defineProperty in order to make closure compiler happy + Object.defineProperties(FS.FSNode.prototype, { + read: { + get: function() { return (this.mode & readMode) === readMode; }, + set: function(val) { val ? this.mode |= readMode : this.mode &= ~readMode; } + }, + write: { + get: function() { return (this.mode & writeMode) === writeMode; }, + set: function(val) { val ? this.mode |= writeMode : this.mode &= ~writeMode; } + }, + isFolder: { + get: function() { return FS.isDir(this.mode); } + }, + isDevice: { + get: function() { return FS.isChrdev(this.mode); } + } + }); + } + + var node = new FS.FSNode(parent, name, mode, rdev); + + FS.hashAddNode(node); + + return node; + },destroyNode:function (node) { + FS.hashRemoveNode(node); + },isRoot:function (node) { + return node === node.parent; + },isMountpoint:function (node) { + return !!node.mounted; + },isFile:function (mode) { + return (mode & 61440) === 32768; + },isDir:function (mode) { + return (mode & 61440) === 16384; + },isLink:function (mode) { + return (mode & 61440) === 40960; + },isChrdev:function (mode) { + return (mode & 61440) === 8192; + },isBlkdev:function (mode) { + return (mode & 61440) === 24576; + },isFIFO:function (mode) { + return (mode & 61440) === 4096; + },isSocket:function (mode) { + return (mode & 49152) === 49152; + },flagModes:{"r":0,"rs":1052672,"r+":2,"w":577,"wx":705,"xw":705,"w+":578,"wx+":706,"xw+":706,"a":1089,"ax":1217,"xa":1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:function (str) { + var flags = FS.flagModes[str]; + if (typeof flags === 'undefined') { + throw new Error('Unknown file open mode: ' + str); + } + return flags; + },flagsToPermissionString:function (flag) { + var perms = ['r', 'w', 'rw'][flag & 3]; + if ((flag & 512)) { + perms += 'w'; + } + return perms; + },nodePermissions:function (node, perms) { + if (FS.ignorePermissions) { + return 0; + } + // return 0 if any user, group or owner bits are set. + if (perms.indexOf('r') !== -1 && !(node.mode & 292)) { + return ERRNO_CODES.EACCES; + } else if (perms.indexOf('w') !== -1 && !(node.mode & 146)) { + return ERRNO_CODES.EACCES; + } else if (perms.indexOf('x') !== -1 && !(node.mode & 73)) { + return ERRNO_CODES.EACCES; + } + return 0; + },mayLookup:function (dir) { + var err = FS.nodePermissions(dir, 'x'); + if (err) return err; + if (!dir.node_ops.lookup) return ERRNO_CODES.EACCES; + return 0; + },mayCreate:function (dir, name) { + try { + var node = FS.lookupNode(dir, name); + return ERRNO_CODES.EEXIST; + } catch (e) { + } + return FS.nodePermissions(dir, 'wx'); + },mayDelete:function (dir, name, isdir) { + var node; + try { + node = FS.lookupNode(dir, name); + } catch (e) { + return e.errno; + } + var err = FS.nodePermissions(dir, 'wx'); + if (err) { + return err; + } + if (isdir) { + if (!FS.isDir(node.mode)) { + return ERRNO_CODES.ENOTDIR; + } + if (FS.isRoot(node) || FS.getPath(node) === FS.cwd()) { + return ERRNO_CODES.EBUSY; + } + } else { + if (FS.isDir(node.mode)) { + return ERRNO_CODES.EISDIR; + } + } + return 0; + },mayOpen:function (node, flags) { + if (!node) { + return ERRNO_CODES.ENOENT; + } + if (FS.isLink(node.mode)) { + return ERRNO_CODES.ELOOP; + } else if (FS.isDir(node.mode)) { + if (FS.flagsToPermissionString(flags) !== 'r' || // opening for write + (flags & 512)) { // TODO: check for O_SEARCH? (== search for dir only) + return ERRNO_CODES.EISDIR; + } + } + return FS.nodePermissions(node, FS.flagsToPermissionString(flags)); + },MAX_OPEN_FDS:4096,nextfd:function (fd_start, fd_end) { + fd_start = fd_start || 0; + fd_end = fd_end || FS.MAX_OPEN_FDS; + for (var fd = fd_start; fd <= fd_end; fd++) { + if (!FS.streams[fd]) { + return fd; + } + } + throw new FS.ErrnoError(ERRNO_CODES.EMFILE); + },getStream:function (fd) { + return FS.streams[fd]; + },createStream:function (stream, fd_start, fd_end) { + if (!FS.FSStream) { + FS.FSStream = function(){}; + FS.FSStream.prototype = {}; + // compatibility + Object.defineProperties(FS.FSStream.prototype, { + object: { + get: function() { return this.node; }, + set: function(val) { this.node = val; } + }, + isRead: { + get: function() { return (this.flags & 2097155) !== 1; } + }, + isWrite: { + get: function() { return (this.flags & 2097155) !== 0; } + }, + isAppend: { + get: function() { return (this.flags & 1024); } + } + }); + } + // clone it, so we can return an instance of FSStream + var newStream = new FS.FSStream(); + for (var p in stream) { + newStream[p] = stream[p]; + } + stream = newStream; + var fd = FS.nextfd(fd_start, fd_end); + stream.fd = fd; + FS.streams[fd] = stream; + return stream; + },closeStream:function (fd) { + FS.streams[fd] = null; + },chrdev_stream_ops:{open:function (stream) { + var device = FS.getDevice(stream.node.rdev); + // override node's stream ops with the device's + stream.stream_ops = device.stream_ops; + // forward the open call + if (stream.stream_ops.open) { + stream.stream_ops.open(stream); + } + },llseek:function () { + throw new FS.ErrnoError(ERRNO_CODES.ESPIPE); + }},major:function (dev) { + return ((dev) >> 8); + },minor:function (dev) { + return ((dev) & 0xff); + },makedev:function (ma, mi) { + return ((ma) << 8 | (mi)); + },registerDevice:function (dev, ops) { + FS.devices[dev] = { stream_ops: ops }; + },getDevice:function (dev) { + return FS.devices[dev]; + },getMounts:function (mount) { + var mounts = []; + var check = [mount]; + + while (check.length) { + var m = check.pop(); + + mounts.push(m); + + check.push.apply(check, m.mounts); + } + + return mounts; + },syncfs:function (populate, callback) { + if (typeof(populate) === 'function') { + callback = populate; + populate = false; + } + + FS.syncFSRequests++; + + if (FS.syncFSRequests > 1) { + console.log('warning: ' + FS.syncFSRequests + ' FS.syncfs operations in flight at once, probably just doing extra work'); + } + + var mounts = FS.getMounts(FS.root.mount); + var completed = 0; + + function doCallback(err) { + assert(FS.syncFSRequests > 0); + FS.syncFSRequests--; + return callback(err); + } + + function done(err) { + if (err) { + if (!done.errored) { + done.errored = true; + return doCallback(err); + } + return; + } + if (++completed >= mounts.length) { + doCallback(null); + } + }; + + // sync all mounts + mounts.forEach(function (mount) { + if (!mount.type.syncfs) { + return done(null); + } + mount.type.syncfs(mount, populate, done); + }); + },mount:function (type, opts, mountpoint) { + var root = mountpoint === '/'; + var pseudo = !mountpoint; + var node; + + if (root && FS.root) { + throw new FS.ErrnoError(ERRNO_CODES.EBUSY); + } else if (!root && !pseudo) { + var lookup = FS.lookupPath(mountpoint, { follow_mount: false }); + + mountpoint = lookup.path; // use the absolute path + node = lookup.node; + + if (FS.isMountpoint(node)) { + throw new FS.ErrnoError(ERRNO_CODES.EBUSY); + } + + if (!FS.isDir(node.mode)) { + throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR); + } + } + + var mount = { + type: type, + opts: opts, + mountpoint: mountpoint, + mounts: [] + }; + + // create a root node for the fs + var mountRoot = type.mount(mount); + mountRoot.mount = mount; + mount.root = mountRoot; + + if (root) { + FS.root = mountRoot; + } else if (node) { + // set as a mountpoint + node.mounted = mount; + + // add the new mount to the current mount's children + if (node.mount) { + node.mount.mounts.push(mount); + } + } + + return mountRoot; + },unmount:function (mountpoint) { + var lookup = FS.lookupPath(mountpoint, { follow_mount: false }); + + if (!FS.isMountpoint(lookup.node)) { + throw new FS.ErrnoError(ERRNO_CODES.EINVAL); + } + + // destroy the nodes for this mount, and all its child mounts + var node = lookup.node; + var mount = node.mounted; + var mounts = FS.getMounts(mount); + + Object.keys(FS.nameTable).forEach(function (hash) { + var current = FS.nameTable[hash]; + + while (current) { + var next = current.name_next; + + if (mounts.indexOf(current.mount) !== -1) { + FS.destroyNode(current); + } + + current = next; + } + }); + + // no longer a mountpoint + node.mounted = null; + + // remove this mount from the child mounts + var idx = node.mount.mounts.indexOf(mount); + assert(idx !== -1); + node.mount.mounts.splice(idx, 1); + },lookup:function (parent, name) { + return parent.node_ops.lookup(parent, name); + },mknod:function (path, mode, dev) { + var lookup = FS.lookupPath(path, { parent: true }); + var parent = lookup.node; + var name = PATH.basename(path); + if (!name || name === '.' || name === '..') { + throw new FS.ErrnoError(ERRNO_CODES.EINVAL); + } + var err = FS.mayCreate(parent, name); + if (err) { + throw new FS.ErrnoError(err); + } + if (!parent.node_ops.mknod) { + throw new FS.ErrnoError(ERRNO_CODES.EPERM); + } + return parent.node_ops.mknod(parent, name, mode, dev); + },create:function (path, mode) { + mode = mode !== undefined ? mode : 438 /* 0666 */; + mode &= 4095; + mode |= 32768; + return FS.mknod(path, mode, 0); + },mkdir:function (path, mode) { + mode = mode !== undefined ? mode : 511 /* 0777 */; + mode &= 511 | 512; + mode |= 16384; + return FS.mknod(path, mode, 0); + },mkdirTree:function (path, mode) { + var dirs = path.split('/'); + var d = ''; + for (var i = 0; i < dirs.length; ++i) { + if (!dirs[i]) continue; + d += '/' + dirs[i]; + try { + FS.mkdir(d, mode); + } catch(e) { + if (e.errno != ERRNO_CODES.EEXIST) throw e; + } + } + },mkdev:function (path, mode, dev) { + if (typeof(dev) === 'undefined') { + dev = mode; + mode = 438 /* 0666 */; + } + mode |= 8192; + return FS.mknod(path, mode, dev); + },symlink:function (oldpath, newpath) { + if (!PATH.resolve(oldpath)) { + throw new FS.ErrnoError(ERRNO_CODES.ENOENT); + } + var lookup = FS.lookupPath(newpath, { parent: true }); + var parent = lookup.node; + if (!parent) { + throw new FS.ErrnoError(ERRNO_CODES.ENOENT); + } + var newname = PATH.basename(newpath); + var err = FS.mayCreate(parent, newname); + if (err) { + throw new FS.ErrnoError(err); + } + if (!parent.node_ops.symlink) { + throw new FS.ErrnoError(ERRNO_CODES.EPERM); + } + return parent.node_ops.symlink(parent, newname, oldpath); + },rename:function (old_path, new_path) { + var old_dirname = PATH.dirname(old_path); + var new_dirname = PATH.dirname(new_path); + var old_name = PATH.basename(old_path); + var new_name = PATH.basename(new_path); + // parents must exist + var lookup, old_dir, new_dir; + try { + lookup = FS.lookupPath(old_path, { parent: true }); + old_dir = lookup.node; + lookup = FS.lookupPath(new_path, { parent: true }); + new_dir = lookup.node; + } catch (e) { + throw new FS.ErrnoError(ERRNO_CODES.EBUSY); + } + if (!old_dir || !new_dir) throw new FS.ErrnoError(ERRNO_CODES.ENOENT); + // need to be part of the same mount + if (old_dir.mount !== new_dir.mount) { + throw new FS.ErrnoError(ERRNO_CODES.EXDEV); + } + // source must exist + var old_node = FS.lookupNode(old_dir, old_name); + // old path should not be an ancestor of the new path + var relative = PATH.relative(old_path, new_dirname); + if (relative.charAt(0) !== '.') { + throw new FS.ErrnoError(ERRNO_CODES.EINVAL); + } + // new path should not be an ancestor of the old path + relative = PATH.relative(new_path, old_dirname); + if (relative.charAt(0) !== '.') { + throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY); + } + // see if the new path already exists + var new_node; + try { + new_node = FS.lookupNode(new_dir, new_name); + } catch (e) { + // not fatal + } + // early out if nothing needs to change + if (old_node === new_node) { + return; + } + // we'll need to delete the old entry + var isdir = FS.isDir(old_node.mode); + var err = FS.mayDelete(old_dir, old_name, isdir); + if (err) { + throw new FS.ErrnoError(err); + } + // need delete permissions if we'll be overwriting. + // need create permissions if new doesn't already exist. + err = new_node ? + FS.mayDelete(new_dir, new_name, isdir) : + FS.mayCreate(new_dir, new_name); + if (err) { + throw new FS.ErrnoError(err); + } + if (!old_dir.node_ops.rename) { + throw new FS.ErrnoError(ERRNO_CODES.EPERM); + } + if (FS.isMountpoint(old_node) || (new_node && FS.isMountpoint(new_node))) { + throw new FS.ErrnoError(ERRNO_CODES.EBUSY); + } + // if we are going to change the parent, check write permissions + if (new_dir !== old_dir) { + err = FS.nodePermissions(old_dir, 'w'); + if (err) { + throw new FS.ErrnoError(err); + } + } + try { + if (FS.trackingDelegate['willMovePath']) { + FS.trackingDelegate['willMovePath'](old_path, new_path); + } + } catch(e) { + console.log("FS.trackingDelegate['willMovePath']('"+old_path+"', '"+new_path+"') threw an exception: " + e.message); + } + // remove the node from the lookup hash + FS.hashRemoveNode(old_node); + // do the underlying fs rename + try { + old_dir.node_ops.rename(old_node, new_dir, new_name); + } catch (e) { + throw e; + } finally { + // add the node back to the hash (in case node_ops.rename + // changed its name) + FS.hashAddNode(old_node); + } + try { + if (FS.trackingDelegate['onMovePath']) FS.trackingDelegate['onMovePath'](old_path, new_path); + } catch(e) { + console.log("FS.trackingDelegate['onMovePath']('"+old_path+"', '"+new_path+"') threw an exception: " + e.message); + } + },rmdir:function (path) { + var lookup = FS.lookupPath(path, { parent: true }); + var parent = lookup.node; + var name = PATH.basename(path); + var node = FS.lookupNode(parent, name); + var err = FS.mayDelete(parent, name, true); + if (err) { + throw new FS.ErrnoError(err); + } + if (!parent.node_ops.rmdir) { + throw new FS.ErrnoError(ERRNO_CODES.EPERM); + } + if (FS.isMountpoint(node)) { + throw new FS.ErrnoError(ERRNO_CODES.EBUSY); + } + try { + if (FS.trackingDelegate['willDeletePath']) { + FS.trackingDelegate['willDeletePath'](path); + } + } catch(e) { + console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: " + e.message); + } + parent.node_ops.rmdir(parent, name); + FS.destroyNode(node); + try { + if (FS.trackingDelegate['onDeletePath']) FS.trackingDelegate['onDeletePath'](path); + } catch(e) { + console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: " + e.message); + } + },readdir:function (path) { + var lookup = FS.lookupPath(path, { follow: true }); + var node = lookup.node; + if (!node.node_ops.readdir) { + throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR); + } + return node.node_ops.readdir(node); + },unlink:function (path) { + var lookup = FS.lookupPath(path, { parent: true }); + var parent = lookup.node; + var name = PATH.basename(path); + var node = FS.lookupNode(parent, name); + var err = FS.mayDelete(parent, name, false); + if (err) { + // According to POSIX, we should map EISDIR to EPERM, but + // we instead do what Linux does (and we must, as we use + // the musl linux libc). + throw new FS.ErrnoError(err); + } + if (!parent.node_ops.unlink) { + throw new FS.ErrnoError(ERRNO_CODES.EPERM); + } + if (FS.isMountpoint(node)) { + throw new FS.ErrnoError(ERRNO_CODES.EBUSY); + } + try { + if (FS.trackingDelegate['willDeletePath']) { + FS.trackingDelegate['willDeletePath'](path); + } + } catch(e) { + console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: " + e.message); + } + parent.node_ops.unlink(parent, name); + FS.destroyNode(node); + try { + if (FS.trackingDelegate['onDeletePath']) FS.trackingDelegate['onDeletePath'](path); + } catch(e) { + console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: " + e.message); + } + },readlink:function (path) { + var lookup = FS.lookupPath(path); + var link = lookup.node; + if (!link) { + throw new FS.ErrnoError(ERRNO_CODES.ENOENT); + } + if (!link.node_ops.readlink) { + throw new FS.ErrnoError(ERRNO_CODES.EINVAL); + } + return PATH.resolve(FS.getPath(link.parent), link.node_ops.readlink(link)); + },stat:function (path, dontFollow) { + var lookup = FS.lookupPath(path, { follow: !dontFollow }); + var node = lookup.node; + if (!node) { + throw new FS.ErrnoError(ERRNO_CODES.ENOENT); + } + if (!node.node_ops.getattr) { + throw new FS.ErrnoError(ERRNO_CODES.EPERM); + } + return node.node_ops.getattr(node); + },lstat:function (path) { + return FS.stat(path, true); + },chmod:function (path, mode, dontFollow) { + var node; + if (typeof path === 'string') { + var lookup = FS.lookupPath(path, { follow: !dontFollow }); + node = lookup.node; + } else { + node = path; + } + if (!node.node_ops.setattr) { + throw new FS.ErrnoError(ERRNO_CODES.EPERM); + } + node.node_ops.setattr(node, { + mode: (mode & 4095) | (node.mode & ~4095), + timestamp: Date.now() + }); + },lchmod:function (path, mode) { + FS.chmod(path, mode, true); + },fchmod:function (fd, mode) { + var stream = FS.getStream(fd); + if (!stream) { + throw new FS.ErrnoError(ERRNO_CODES.EBADF); + } + FS.chmod(stream.node, mode); + },chown:function (path, uid, gid, dontFollow) { + var node; + if (typeof path === 'string') { + var lookup = FS.lookupPath(path, { follow: !dontFollow }); + node = lookup.node; + } else { + node = path; + } + if (!node.node_ops.setattr) { + throw new FS.ErrnoError(ERRNO_CODES.EPERM); + } + node.node_ops.setattr(node, { + timestamp: Date.now() + // we ignore the uid / gid for now + }); + },lchown:function (path, uid, gid) { + FS.chown(path, uid, gid, true); + },fchown:function (fd, uid, gid) { + var stream = FS.getStream(fd); + if (!stream) { + throw new FS.ErrnoError(ERRNO_CODES.EBADF); + } + FS.chown(stream.node, uid, gid); + },truncate:function (path, len) { + if (len < 0) { + throw new FS.ErrnoError(ERRNO_CODES.EINVAL); + } + var node; + if (typeof path === 'string') { + var lookup = FS.lookupPath(path, { follow: true }); + node = lookup.node; + } else { + node = path; + } + if (!node.node_ops.setattr) { + throw new FS.ErrnoError(ERRNO_CODES.EPERM); + } + if (FS.isDir(node.mode)) { + throw new FS.ErrnoError(ERRNO_CODES.EISDIR); + } + if (!FS.isFile(node.mode)) { + throw new FS.ErrnoError(ERRNO_CODES.EINVAL); + } + var err = FS.nodePermissions(node, 'w'); + if (err) { + throw new FS.ErrnoError(err); + } + node.node_ops.setattr(node, { + size: len, + timestamp: Date.now() + }); + },ftruncate:function (fd, len) { + var stream = FS.getStream(fd); + if (!stream) { + throw new FS.ErrnoError(ERRNO_CODES.EBADF); + } + if ((stream.flags & 2097155) === 0) { + throw new FS.ErrnoError(ERRNO_CODES.EINVAL); + } + FS.truncate(stream.node, len); + },utime:function (path, atime, mtime) { + var lookup = FS.lookupPath(path, { follow: true }); + var node = lookup.node; + node.node_ops.setattr(node, { + timestamp: Math.max(atime, mtime) + }); + },open:function (path, flags, mode, fd_start, fd_end) { + if (path === "") { + throw new FS.ErrnoError(ERRNO_CODES.ENOENT); + } + flags = typeof flags === 'string' ? FS.modeStringToFlags(flags) : flags; + mode = typeof mode === 'undefined' ? 438 /* 0666 */ : mode; + if ((flags & 64)) { + mode = (mode & 4095) | 32768; + } else { + mode = 0; + } + var node; + if (typeof path === 'object') { + node = path; + } else { + path = PATH.normalize(path); + try { + var lookup = FS.lookupPath(path, { + follow: !(flags & 131072) + }); + node = lookup.node; + } catch (e) { + // ignore + } + } + // perhaps we need to create the node + var created = false; + if ((flags & 64)) { + if (node) { + // if O_CREAT and O_EXCL are set, error out if the node already exists + if ((flags & 128)) { + throw new FS.ErrnoError(ERRNO_CODES.EEXIST); + } + } else { + // node doesn't exist, try to create it + node = FS.mknod(path, mode, 0); + created = true; + } + } + if (!node) { + throw new FS.ErrnoError(ERRNO_CODES.ENOENT); + } + // can't truncate a device + if (FS.isChrdev(node.mode)) { + flags &= ~512; + } + // if asked only for a directory, then this must be one + if ((flags & 65536) && !FS.isDir(node.mode)) { + throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR); + } + // check permissions, if this is not a file we just created now (it is ok to + // create and write to a file with read-only permissions; it is read-only + // for later use) + if (!created) { + var err = FS.mayOpen(node, flags); + if (err) { + throw new FS.ErrnoError(err); + } + } + // do truncation if necessary + if ((flags & 512)) { + FS.truncate(node, 0); + } + // we've already handled these, don't pass down to the underlying vfs + flags &= ~(128 | 512); + + // register the stream with the filesystem + var stream = FS.createStream({ + node: node, + path: FS.getPath(node), // we want the absolute path to the node + flags: flags, + seekable: true, + position: 0, + stream_ops: node.stream_ops, + // used by the file family libc calls (fopen, fwrite, ferror, etc.) + ungotten: [], + error: false + }, fd_start, fd_end); + // call the new stream's open function + if (stream.stream_ops.open) { + stream.stream_ops.open(stream); + } + if (Module['logReadFiles'] && !(flags & 1)) { + if (!FS.readFiles) FS.readFiles = {}; + if (!(path in FS.readFiles)) { + FS.readFiles[path] = 1; + Module['printErr']('read file: ' + path); + } + } + try { + if (FS.trackingDelegate['onOpenFile']) { + var trackingFlags = 0; + if ((flags & 2097155) !== 1) { + trackingFlags |= FS.tracking.openFlags.READ; + } + if ((flags & 2097155) !== 0) { + trackingFlags |= FS.tracking.openFlags.WRITE; + } + FS.trackingDelegate['onOpenFile'](path, trackingFlags); + } + } catch(e) { + console.log("FS.trackingDelegate['onOpenFile']('"+path+"', flags) threw an exception: " + e.message); + } + return stream; + },close:function (stream) { + if (stream.getdents) stream.getdents = null; // free readdir state + try { + if (stream.stream_ops.close) { + stream.stream_ops.close(stream); + } + } catch (e) { + throw e; + } finally { + FS.closeStream(stream.fd); + } + },llseek:function (stream, offset, whence) { + if (!stream.seekable || !stream.stream_ops.llseek) { + throw new FS.ErrnoError(ERRNO_CODES.ESPIPE); + } + stream.position = stream.stream_ops.llseek(stream, offset, whence); + stream.ungotten = []; + return stream.position; + },read:function (stream, buffer, offset, length, position) { + if (length < 0 || position < 0) { + throw new FS.ErrnoError(ERRNO_CODES.EINVAL); + } + if ((stream.flags & 2097155) === 1) { + throw new FS.ErrnoError(ERRNO_CODES.EBADF); + } + if (FS.isDir(stream.node.mode)) { + throw new FS.ErrnoError(ERRNO_CODES.EISDIR); + } + if (!stream.stream_ops.read) { + throw new FS.ErrnoError(ERRNO_CODES.EINVAL); + } + var seeking = true; + if (typeof position === 'undefined') { + position = stream.position; + seeking = false; + } else if (!stream.seekable) { + throw new FS.ErrnoError(ERRNO_CODES.ESPIPE); + } + var bytesRead = stream.stream_ops.read(stream, buffer, offset, length, position); + if (!seeking) stream.position += bytesRead; + return bytesRead; + },write:function (stream, buffer, offset, length, position, canOwn) { + if (length < 0 || position < 0) { + throw new FS.ErrnoError(ERRNO_CODES.EINVAL); + } + if ((stream.flags & 2097155) === 0) { + throw new FS.ErrnoError(ERRNO_CODES.EBADF); + } + if (FS.isDir(stream.node.mode)) { + throw new FS.ErrnoError(ERRNO_CODES.EISDIR); + } + if (!stream.stream_ops.write) { + throw new FS.ErrnoError(ERRNO_CODES.EINVAL); + } + if (stream.flags & 1024) { + // seek to the end before writing in append mode + FS.llseek(stream, 0, 2); + } + var seeking = true; + if (typeof position === 'undefined') { + position = stream.position; + seeking = false; + } else if (!stream.seekable) { + throw new FS.ErrnoError(ERRNO_CODES.ESPIPE); + } + var bytesWritten = stream.stream_ops.write(stream, buffer, offset, length, position, canOwn); + if (!seeking) stream.position += bytesWritten; + try { + if (stream.path && FS.trackingDelegate['onWriteToFile']) FS.trackingDelegate['onWriteToFile'](stream.path); + } catch(e) { + console.log("FS.trackingDelegate['onWriteToFile']('"+path+"') threw an exception: " + e.message); + } + return bytesWritten; + },allocate:function (stream, offset, length) { + if (offset < 0 || length <= 0) { + throw new FS.ErrnoError(ERRNO_CODES.EINVAL); + } + if ((stream.flags & 2097155) === 0) { + throw new FS.ErrnoError(ERRNO_CODES.EBADF); + } + if (!FS.isFile(stream.node.mode) && !FS.isDir(node.mode)) { + throw new FS.ErrnoError(ERRNO_CODES.ENODEV); + } + if (!stream.stream_ops.allocate) { + throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP); + } + stream.stream_ops.allocate(stream, offset, length); + },mmap:function (stream, buffer, offset, length, position, prot, flags) { + // TODO if PROT is PROT_WRITE, make sure we have write access + if ((stream.flags & 2097155) === 1) { + throw new FS.ErrnoError(ERRNO_CODES.EACCES); + } + if (!stream.stream_ops.mmap) { + throw new FS.ErrnoError(ERRNO_CODES.ENODEV); + } + return stream.stream_ops.mmap(stream, buffer, offset, length, position, prot, flags); + },msync:function (stream, buffer, offset, length, mmapFlags) { + if (!stream || !stream.stream_ops.msync) { + return 0; + } + return stream.stream_ops.msync(stream, buffer, offset, length, mmapFlags); + },munmap:function (stream) { + return 0; + },ioctl:function (stream, cmd, arg) { + if (!stream.stream_ops.ioctl) { + throw new FS.ErrnoError(ERRNO_CODES.ENOTTY); + } + return stream.stream_ops.ioctl(stream, cmd, arg); + },readFile:function (path, opts) { + opts = opts || {}; + opts.flags = opts.flags || 'r'; + opts.encoding = opts.encoding || 'binary'; + if (opts.encoding !== 'utf8' && opts.encoding !== 'binary') { + throw new Error('Invalid encoding type "' + opts.encoding + '"'); + } + var ret; + var stream = FS.open(path, opts.flags); + var stat = FS.stat(path); + var length = stat.size; + var buf = new Uint8Array(length); + FS.read(stream, buf, 0, length, 0); + if (opts.encoding === 'utf8') { + ret = UTF8ArrayToString(buf, 0); + } else if (opts.encoding === 'binary') { + ret = buf; + } + FS.close(stream); + return ret; + },writeFile:function (path, data, opts) { + opts = opts || {}; + opts.flags = opts.flags || 'w'; + opts.encoding = opts.encoding || 'utf8'; + if (opts.encoding !== 'utf8' && opts.encoding !== 'binary') { + throw new Error('Invalid encoding type "' + opts.encoding + '"'); + } + var stream = FS.open(path, opts.flags, opts.mode); + if (opts.encoding === 'utf8') { + var buf = new Uint8Array(lengthBytesUTF8(data)+1); + var actualNumBytes = stringToUTF8Array(data, buf, 0, buf.length); + FS.write(stream, buf, 0, actualNumBytes, 0, opts.canOwn); + } else if (opts.encoding === 'binary') { + FS.write(stream, data, 0, data.length, 0, opts.canOwn); + } + FS.close(stream); + },cwd:function () { + return FS.currentPath; + },chdir:function (path) { + var lookup = FS.lookupPath(path, { follow: true }); + if (lookup.node === null) { + throw new FS.ErrnoError(ERRNO_CODES.ENOENT); + } + if (!FS.isDir(lookup.node.mode)) { + throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR); + } + var err = FS.nodePermissions(lookup.node, 'x'); + if (err) { + throw new FS.ErrnoError(err); + } + FS.currentPath = lookup.path; + },createDefaultDirectories:function () { + FS.mkdir('/tmp'); + FS.mkdir('/home'); + FS.mkdir('/home/web_user'); + },createDefaultDevices:function () { + // create /dev + FS.mkdir('/dev'); + // setup /dev/null + FS.registerDevice(FS.makedev(1, 3), { + read: function() { return 0; }, + write: function(stream, buffer, offset, length, pos) { return length; } + }); + FS.mkdev('/dev/null', FS.makedev(1, 3)); + // setup /dev/tty and /dev/tty1 + // stderr needs to print output using Module['printErr'] + // so we register a second tty just for it. + TTY.register(FS.makedev(5, 0), TTY.default_tty_ops); + TTY.register(FS.makedev(6, 0), TTY.default_tty1_ops); + FS.mkdev('/dev/tty', FS.makedev(5, 0)); + FS.mkdev('/dev/tty1', FS.makedev(6, 0)); + // setup /dev/[u]random + var random_device; + if (typeof crypto !== 'undefined') { + // for modern web browsers + var randomBuffer = new Uint8Array(1); + random_device = function() { crypto.getRandomValues(randomBuffer); return randomBuffer[0]; }; + } else if (ENVIRONMENT_IS_NODE) { + // for nodejs + random_device = function() { return require('crypto').randomBytes(1)[0]; }; + } else { + // default for ES5 platforms + random_device = function() { return (Math.random()*256)|0; }; + } + FS.createDevice('/dev', 'random', random_device); + FS.createDevice('/dev', 'urandom', random_device); + // we're not going to emulate the actual shm device, + // just create the tmp dirs that reside in it commonly + FS.mkdir('/dev/shm'); + FS.mkdir('/dev/shm/tmp'); + },createSpecialDirectories:function () { + // create /proc/self/fd which allows /proc/self/fd/6 => readlink gives the name of the stream for fd 6 (see test_unistd_ttyname) + FS.mkdir('/proc'); + FS.mkdir('/proc/self'); + FS.mkdir('/proc/self/fd'); + FS.mount({ + mount: function() { + var node = FS.createNode('/proc/self', 'fd', 16384 | 511 /* 0777 */, 73); + node.node_ops = { + lookup: function(parent, name) { + var fd = +name; + var stream = FS.getStream(fd); + if (!stream) throw new FS.ErrnoError(ERRNO_CODES.EBADF); + var ret = { + parent: null, + mount: { mountpoint: 'fake' }, + node_ops: { readlink: function() { return stream.path } } + }; + ret.parent = ret; // make it look like a simple root node + return ret; + } + }; + return node; + } + }, {}, '/proc/self/fd'); + },createStandardStreams:function () { + // TODO deprecate the old functionality of a single + // input / output callback and that utilizes FS.createDevice + // and instead require a unique set of stream ops + + // by default, we symlink the standard streams to the + // default tty devices. however, if the standard streams + // have been overwritten we create a unique device for + // them instead. + if (Module['stdin']) { + FS.createDevice('/dev', 'stdin', Module['stdin']); + } else { + FS.symlink('/dev/tty', '/dev/stdin'); + } + if (Module['stdout']) { + FS.createDevice('/dev', 'stdout', null, Module['stdout']); + } else { + FS.symlink('/dev/tty', '/dev/stdout'); + } + if (Module['stderr']) { + FS.createDevice('/dev', 'stderr', null, Module['stderr']); + } else { + FS.symlink('/dev/tty1', '/dev/stderr'); + } + + // open default streams for the stdin, stdout and stderr devices + var stdin = FS.open('/dev/stdin', 'r'); + assert(stdin.fd === 0, 'invalid handle for stdin (' + stdin.fd + ')'); + + var stdout = FS.open('/dev/stdout', 'w'); + assert(stdout.fd === 1, 'invalid handle for stdout (' + stdout.fd + ')'); + + var stderr = FS.open('/dev/stderr', 'w'); + assert(stderr.fd === 2, 'invalid handle for stderr (' + stderr.fd + ')'); + },ensureErrnoError:function () { + if (FS.ErrnoError) return; + FS.ErrnoError = function ErrnoError(errno, node) { + //Module.printErr(stackTrace()); // useful for debugging + this.node = node; + this.setErrno = function(errno) { + this.errno = errno; + for (var key in ERRNO_CODES) { + if (ERRNO_CODES[key] === errno) { + this.code = key; + break; + } + } + }; + this.setErrno(errno); + this.message = ERRNO_MESSAGES[errno]; + if (this.stack) this.stack = demangleAll(this.stack); + }; + FS.ErrnoError.prototype = new Error(); + FS.ErrnoError.prototype.constructor = FS.ErrnoError; + // Some errors may happen quite a bit, to avoid overhead we reuse them (and suffer a lack of stack info) + [ERRNO_CODES.ENOENT].forEach(function(code) { + FS.genericErrors[code] = new FS.ErrnoError(code); + FS.genericErrors[code].stack = ''; + }); + },staticInit:function () { + FS.ensureErrnoError(); + + FS.nameTable = new Array(4096); + + FS.mount(MEMFS, {}, '/'); + + FS.createDefaultDirectories(); + FS.createDefaultDevices(); + FS.createSpecialDirectories(); + + FS.filesystems = { + 'MEMFS': MEMFS, + 'IDBFS': IDBFS, + 'NODEFS': NODEFS, + 'WORKERFS': WORKERFS, + }; + },init:function (input, output, error) { + assert(!FS.init.initialized, 'FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)'); + FS.init.initialized = true; + + FS.ensureErrnoError(); + + // Allow Module.stdin etc. to provide defaults, if none explicitly passed to us here + Module['stdin'] = input || Module['stdin']; + Module['stdout'] = output || Module['stdout']; + Module['stderr'] = error || Module['stderr']; + + FS.createStandardStreams(); + },quit:function () { + FS.init.initialized = false; + // force-flush all streams, so we get musl std streams printed out + var fflush = Module['_fflush']; + if (fflush) fflush(0); + // close all of our streams + for (var i = 0; i < FS.streams.length; i++) { + var stream = FS.streams[i]; + if (!stream) { + continue; + } + FS.close(stream); + } + },getMode:function (canRead, canWrite) { + var mode = 0; + if (canRead) mode |= 292 | 73; + if (canWrite) mode |= 146; + return mode; + },joinPath:function (parts, forceRelative) { + var path = PATH.join.apply(null, parts); + if (forceRelative && path[0] == '/') path = path.substr(1); + return path; + },absolutePath:function (relative, base) { + return PATH.resolve(base, relative); + },standardizePath:function (path) { + return PATH.normalize(path); + },findObject:function (path, dontResolveLastLink) { + var ret = FS.analyzePath(path, dontResolveLastLink); + if (ret.exists) { + return ret.object; + } else { + ___setErrNo(ret.error); + return null; + } + },analyzePath:function (path, dontResolveLastLink) { + // operate from within the context of the symlink's target + try { + var lookup = FS.lookupPath(path, { follow: !dontResolveLastLink }); + path = lookup.path; + } catch (e) { + } + var ret = { + isRoot: false, exists: false, error: 0, name: null, path: null, object: null, + parentExists: false, parentPath: null, parentObject: null + }; + try { + var lookup = FS.lookupPath(path, { parent: true }); + ret.parentExists = true; + ret.parentPath = lookup.path; + ret.parentObject = lookup.node; + ret.name = PATH.basename(path); + lookup = FS.lookupPath(path, { follow: !dontResolveLastLink }); + ret.exists = true; + ret.path = lookup.path; + ret.object = lookup.node; + ret.name = lookup.node.name; + ret.isRoot = lookup.path === '/'; + } catch (e) { + ret.error = e.errno; + }; + return ret; + },createFolder:function (parent, name, canRead, canWrite) { + var path = PATH.join2(typeof parent === 'string' ? parent : FS.getPath(parent), name); + var mode = FS.getMode(canRead, canWrite); + return FS.mkdir(path, mode); + },createPath:function (parent, path, canRead, canWrite) { + parent = typeof parent === 'string' ? parent : FS.getPath(parent); + var parts = path.split('/').reverse(); + while (parts.length) { + var part = parts.pop(); + if (!part) continue; + var current = PATH.join2(parent, part); + try { + FS.mkdir(current); + } catch (e) { + // ignore EEXIST + } + parent = current; + } + return current; + },createFile:function (parent, name, properties, canRead, canWrite) { + var path = PATH.join2(typeof parent === 'string' ? parent : FS.getPath(parent), name); + var mode = FS.getMode(canRead, canWrite); + return FS.create(path, mode); + },createDataFile:function (parent, name, data, canRead, canWrite, canOwn) { + var path = name ? PATH.join2(typeof parent === 'string' ? parent : FS.getPath(parent), name) : parent; + var mode = FS.getMode(canRead, canWrite); + var node = FS.create(path, mode); + if (data) { + if (typeof data === 'string') { + var arr = new Array(data.length); + for (var i = 0, len = data.length; i < len; ++i) arr[i] = data.charCodeAt(i); + data = arr; + } + // make sure we can write to the file + FS.chmod(node, mode | 146); + var stream = FS.open(node, 'w'); + FS.write(stream, data, 0, data.length, 0, canOwn); + FS.close(stream); + FS.chmod(node, mode); + } + return node; + },createDevice:function (parent, name, input, output) { + var path = PATH.join2(typeof parent === 'string' ? parent : FS.getPath(parent), name); + var mode = FS.getMode(!!input, !!output); + if (!FS.createDevice.major) FS.createDevice.major = 64; + var dev = FS.makedev(FS.createDevice.major++, 0); + // Create a fake device that a set of stream ops to emulate + // the old behavior. + FS.registerDevice(dev, { + open: function(stream) { + stream.seekable = false; + }, + close: function(stream) { + // flush any pending line data + if (output && output.buffer && output.buffer.length) { + output(10); + } + }, + read: function(stream, buffer, offset, length, pos /* ignored */) { + var bytesRead = 0; + for (var i = 0; i < length; i++) { + var result; + try { + result = input(); + } catch (e) { + throw new FS.ErrnoError(ERRNO_CODES.EIO); + } + if (result === undefined && bytesRead === 0) { + throw new FS.ErrnoError(ERRNO_CODES.EAGAIN); + } + if (result === null || result === undefined) break; + bytesRead++; + buffer[offset+i] = result; + } + if (bytesRead) { + stream.node.timestamp = Date.now(); + } + return bytesRead; + }, + write: function(stream, buffer, offset, length, pos) { + for (var i = 0; i < length; i++) { + try { + output(buffer[offset+i]); + } catch (e) { + throw new FS.ErrnoError(ERRNO_CODES.EIO); + } + } + if (length) { + stream.node.timestamp = Date.now(); + } + return i; + } + }); + return FS.mkdev(path, mode, dev); + },createLink:function (parent, name, target, canRead, canWrite) { + var path = PATH.join2(typeof parent === 'string' ? parent : FS.getPath(parent), name); + return FS.symlink(target, path); + },forceLoadFile:function (obj) { + if (obj.isDevice || obj.isFolder || obj.link || obj.contents) return true; + var success = true; + if (typeof XMLHttpRequest !== 'undefined') { + throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread."); + } else if (Module['read']) { + // Command-line. + try { + // WARNING: Can't read binary files in V8's d8 or tracemonkey's js, as + // read() will try to parse UTF8. + obj.contents = intArrayFromString(Module['read'](obj.url), true); + obj.usedBytes = obj.contents.length; + } catch (e) { + success = false; + } + } else { + throw new Error('Cannot load without read() or XMLHttpRequest.'); + } + if (!success) ___setErrNo(ERRNO_CODES.EIO); + return success; + },createLazyFile:function (parent, name, url, canRead, canWrite) { + // Lazy chunked Uint8Array (implements get and length from Uint8Array). Actual getting is abstracted away for eventual reuse. + function LazyUint8Array() { + this.lengthKnown = false; + this.chunks = []; // Loaded chunks. Index is the chunk number + } + LazyUint8Array.prototype.get = function LazyUint8Array_get(idx) { + if (idx > this.length-1 || idx < 0) { + return undefined; + } + var chunkOffset = idx % this.chunkSize; + var chunkNum = (idx / this.chunkSize)|0; + return this.getter(chunkNum)[chunkOffset]; + } + LazyUint8Array.prototype.setDataGetter = function LazyUint8Array_setDataGetter(getter) { + this.getter = getter; + } + LazyUint8Array.prototype.cacheLength = function LazyUint8Array_cacheLength() { + // Find length + var xhr = new XMLHttpRequest(); + xhr.open('HEAD', url, false); + xhr.send(null); + if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error("Couldn't load " + url + ". Status: " + xhr.status); + var datalength = Number(xhr.getResponseHeader("Content-length")); + var header; + var hasByteServing = (header = xhr.getResponseHeader("Accept-Ranges")) && header === "bytes"; + var usesGzip = (header = xhr.getResponseHeader("Content-Encoding")) && header === "gzip"; + + var chunkSize = 1024*1024; // Chunk size in bytes + + if (!hasByteServing) chunkSize = datalength; + + // Function to get a range from the remote URL. + var doXHR = (function(from, to) { + if (from > to) throw new Error("invalid range (" + from + ", " + to + ") or no bytes requested!"); + if (to > datalength-1) throw new Error("only " + datalength + " bytes available! programmer error!"); + + // TODO: Use mozResponseArrayBuffer, responseStream, etc. if available. + var xhr = new XMLHttpRequest(); + xhr.open('GET', url, false); + if (datalength !== chunkSize) xhr.setRequestHeader("Range", "bytes=" + from + "-" + to); + + // Some hints to the browser that we want binary data. + if (typeof Uint8Array != 'undefined') xhr.responseType = 'arraybuffer'; + if (xhr.overrideMimeType) { + xhr.overrideMimeType('text/plain; charset=x-user-defined'); + } + + xhr.send(null); + if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error("Couldn't load " + url + ". Status: " + xhr.status); + if (xhr.response !== undefined) { + return new Uint8Array(xhr.response || []); + } else { + return intArrayFromString(xhr.responseText || '', true); + } + }); + var lazyArray = this; + lazyArray.setDataGetter(function(chunkNum) { + var start = chunkNum * chunkSize; + var end = (chunkNum+1) * chunkSize - 1; // including this byte + end = Math.min(end, datalength-1); // if datalength-1 is selected, this is the last block + if (typeof(lazyArray.chunks[chunkNum]) === "undefined") { + lazyArray.chunks[chunkNum] = doXHR(start, end); + } + if (typeof(lazyArray.chunks[chunkNum]) === "undefined") throw new Error("doXHR failed!"); + return lazyArray.chunks[chunkNum]; + }); + + if (usesGzip || !datalength) { + // if the server uses gzip or doesn't supply the length, we have to download the whole file to get the (uncompressed) length + chunkSize = datalength = 1; // this will force getter(0)/doXHR do download the whole file + datalength = this.getter(0).length; + chunkSize = datalength; + console.log("LazyFiles on gzip forces download of the whole file when length is accessed"); + } + + this._length = datalength; + this._chunkSize = chunkSize; + this.lengthKnown = true; + } + if (typeof XMLHttpRequest !== 'undefined') { + if (!ENVIRONMENT_IS_WORKER) throw 'Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc'; + var lazyArray = new LazyUint8Array(); + Object.defineProperties(lazyArray, { + length: { + get: function() { + if(!this.lengthKnown) { + this.cacheLength(); + } + return this._length; + } + }, + chunkSize: { + get: function() { + if(!this.lengthKnown) { + this.cacheLength(); + } + return this._chunkSize; + } + } + }); + + var properties = { isDevice: false, contents: lazyArray }; + } else { + var properties = { isDevice: false, url: url }; + } + + var node = FS.createFile(parent, name, properties, canRead, canWrite); + // This is a total hack, but I want to get this lazy file code out of the + // core of MEMFS. If we want to keep this lazy file concept I feel it should + // be its own thin LAZYFS proxying calls to MEMFS. + if (properties.contents) { + node.contents = properties.contents; + } else if (properties.url) { + node.contents = null; + node.url = properties.url; + } + // Add a function that defers querying the file size until it is asked the first time. + Object.defineProperties(node, { + usedBytes: { + get: function() { return this.contents.length; } + } + }); + // override each stream op with one that tries to force load the lazy file first + var stream_ops = {}; + var keys = Object.keys(node.stream_ops); + keys.forEach(function(key) { + var fn = node.stream_ops[key]; + stream_ops[key] = function forceLoadLazyFile() { + if (!FS.forceLoadFile(node)) { + throw new FS.ErrnoError(ERRNO_CODES.EIO); + } + return fn.apply(null, arguments); + }; + }); + // use a custom read function + stream_ops.read = function stream_ops_read(stream, buffer, offset, length, position) { + if (!FS.forceLoadFile(node)) { + throw new FS.ErrnoError(ERRNO_CODES.EIO); + } + var contents = stream.node.contents; + if (position >= contents.length) + return 0; + var size = Math.min(contents.length - position, length); + assert(size >= 0); + if (contents.slice) { // normal array + for (var i = 0; i < size; i++) { + buffer[offset + i] = contents[position + i]; + } + } else { + for (var i = 0; i < size; i++) { // LazyUint8Array from sync binary XHR + buffer[offset + i] = contents.get(position + i); + } + } + return size; + }; + node.stream_ops = stream_ops; + return node; + },createPreloadedFile:function (parent, name, url, canRead, canWrite, onload, onerror, dontCreateFile, canOwn, preFinish) { + Browser.init(); // XXX perhaps this method should move onto Browser? + // TODO we should allow people to just pass in a complete filename instead + // of parent and name being that we just join them anyways + var fullname = name ? PATH.resolve(PATH.join2(parent, name)) : parent; + var dep = getUniqueRunDependency('cp ' + fullname); // might have several active requests for the same fullname + function processData(byteArray) { + function finish(byteArray) { + if (preFinish) preFinish(); + if (!dontCreateFile) { + FS.createDataFile(parent, name, byteArray, canRead, canWrite, canOwn); + } + if (onload) onload(); + removeRunDependency(dep); + } + var handled = false; + Module['preloadPlugins'].forEach(function(plugin) { + if (handled) return; + if (plugin['canHandle'](fullname)) { + plugin['handle'](byteArray, fullname, finish, function() { + if (onerror) onerror(); + removeRunDependency(dep); + }); + handled = true; + } + }); + if (!handled) finish(byteArray); + } + addRunDependency(dep); + if (typeof url == 'string') { + Browser.asyncLoad(url, function(byteArray) { + processData(byteArray); + }, onerror); + } else { + processData(url); + } + },indexedDB:function () { + return window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB; + },DB_NAME:function () { + return 'EM_FS_' + window.location.pathname; + },DB_VERSION:20,DB_STORE_NAME:"FILE_DATA",saveFilesToDB:function (paths, onload, onerror) { + onload = onload || function(){}; + onerror = onerror || function(){}; + var indexedDB = FS.indexedDB(); + try { + var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION); + } catch (e) { + return onerror(e); + } + openRequest.onupgradeneeded = function openRequest_onupgradeneeded() { + console.log('creating db'); + var db = openRequest.result; + db.createObjectStore(FS.DB_STORE_NAME); + }; + openRequest.onsuccess = function openRequest_onsuccess() { + var db = openRequest.result; + var transaction = db.transaction([FS.DB_STORE_NAME], 'readwrite'); + var files = transaction.objectStore(FS.DB_STORE_NAME); + var ok = 0, fail = 0, total = paths.length; + function finish() { + if (fail == 0) onload(); else onerror(); + } + paths.forEach(function(path) { + var putRequest = files.put(FS.analyzePath(path).object.contents, path); + putRequest.onsuccess = function putRequest_onsuccess() { ok++; if (ok + fail == total) finish() }; + putRequest.onerror = function putRequest_onerror() { fail++; if (ok + fail == total) finish() }; + }); + transaction.onerror = onerror; + }; + openRequest.onerror = onerror; + },loadFilesFromDB:function (paths, onload, onerror) { + onload = onload || function(){}; + onerror = onerror || function(){}; + var indexedDB = FS.indexedDB(); + try { + var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION); + } catch (e) { + return onerror(e); + } + openRequest.onupgradeneeded = onerror; // no database to load from + openRequest.onsuccess = function openRequest_onsuccess() { + var db = openRequest.result; + try { + var transaction = db.transaction([FS.DB_STORE_NAME], 'readonly'); + } catch(e) { + onerror(e); + return; + } + var files = transaction.objectStore(FS.DB_STORE_NAME); + var ok = 0, fail = 0, total = paths.length; + function finish() { + if (fail == 0) onload(); else onerror(); + } + paths.forEach(function(path) { + var getRequest = files.get(path); + getRequest.onsuccess = function getRequest_onsuccess() { + if (FS.analyzePath(path).exists) { + FS.unlink(path); + } + FS.createDataFile(PATH.dirname(path), PATH.basename(path), getRequest.result, true, true, true); + ok++; + if (ok + fail == total) finish(); + }; + getRequest.onerror = function getRequest_onerror() { fail++; if (ok + fail == total) finish() }; + }); + transaction.onerror = onerror; + }; + openRequest.onerror = onerror; + }};var SYSCALLS={DEFAULT_POLLMASK:5,mappings:{},umask:511,calculateAt:function (dirfd, path) { + if (path[0] !== '/') { + // relative path + var dir; + if (dirfd === -100) { + dir = FS.cwd(); + } else { + var dirstream = FS.getStream(dirfd); + if (!dirstream) throw new FS.ErrnoError(ERRNO_CODES.EBADF); + dir = dirstream.path; + } + path = PATH.join2(dir, path); + } + return path; + },doStat:function (func, path, buf) { + try { + var stat = func(path); + } catch (e) { + if (e && e.node && PATH.normalize(path) !== PATH.normalize(FS.getPath(e.node))) { + // an error occurred while trying to look up the path; we should just report ENOTDIR + return -ERRNO_CODES.ENOTDIR; + } + throw e; + } + HEAP32[((buf)>>2)]=stat.dev; + HEAP32[(((buf)+(4))>>2)]=0; + HEAP32[(((buf)+(8))>>2)]=stat.ino; + HEAP32[(((buf)+(12))>>2)]=stat.mode; + HEAP32[(((buf)+(16))>>2)]=stat.nlink; + HEAP32[(((buf)+(20))>>2)]=stat.uid; + HEAP32[(((buf)+(24))>>2)]=stat.gid; + HEAP32[(((buf)+(28))>>2)]=stat.rdev; + HEAP32[(((buf)+(32))>>2)]=0; + HEAP32[(((buf)+(36))>>2)]=stat.size; + HEAP32[(((buf)+(40))>>2)]=4096; + HEAP32[(((buf)+(44))>>2)]=stat.blocks; + HEAP32[(((buf)+(48))>>2)]=(stat.atime.getTime() / 1000)|0; + HEAP32[(((buf)+(52))>>2)]=0; + HEAP32[(((buf)+(56))>>2)]=(stat.mtime.getTime() / 1000)|0; + HEAP32[(((buf)+(60))>>2)]=0; + HEAP32[(((buf)+(64))>>2)]=(stat.ctime.getTime() / 1000)|0; + HEAP32[(((buf)+(68))>>2)]=0; + HEAP32[(((buf)+(72))>>2)]=stat.ino; + return 0; + },doMsync:function (addr, stream, len, flags) { + var buffer = new Uint8Array(HEAPU8.subarray(addr, addr + len)); + FS.msync(stream, buffer, 0, len, flags); + },doMkdir:function (path, mode) { + // remove a trailing slash, if one - /a/b/ has basename of '', but + // we want to create b in the context of this function + path = PATH.normalize(path); + if (path[path.length-1] === '/') path = path.substr(0, path.length-1); + FS.mkdir(path, mode, 0); + return 0; + },doMknod:function (path, mode, dev) { + // we don't want this in the JS API as it uses mknod to create all nodes. + switch (mode & 61440) { + case 32768: + case 8192: + case 24576: + case 4096: + case 49152: + break; + default: return -ERRNO_CODES.EINVAL; + } + FS.mknod(path, mode, dev); + return 0; + },doReadlink:function (path, buf, bufsize) { + if (bufsize <= 0) return -ERRNO_CODES.EINVAL; + var ret = FS.readlink(path); + + var len = Math.min(bufsize, lengthBytesUTF8(ret)); + var endChar = HEAP8[buf+len]; + stringToUTF8(ret, buf, bufsize+1); + // readlink is one of the rare functions that write out a C string, but does never append a null to the output buffer(!) + // stringToUTF8() always appends a null byte, so restore the character under the null byte after the write. + HEAP8[buf+len] = endChar; + + return len; + },doAccess:function (path, amode) { + if (amode & ~7) { + // need a valid mode + return -ERRNO_CODES.EINVAL; + } + var node; + var lookup = FS.lookupPath(path, { follow: true }); + node = lookup.node; + var perms = ''; + if (amode & 4) perms += 'r'; + if (amode & 2) perms += 'w'; + if (amode & 1) perms += 'x'; + if (perms /* otherwise, they've just passed F_OK */ && FS.nodePermissions(node, perms)) { + return -ERRNO_CODES.EACCES; + } + return 0; + },doDup:function (path, flags, suggestFD) { + var suggest = FS.getStream(suggestFD); + if (suggest) FS.close(suggest); + return FS.open(path, flags, 0, suggestFD, suggestFD).fd; + },doReadv:function (stream, iov, iovcnt, offset) { + var ret = 0; + for (var i = 0; i < iovcnt; i++) { + var ptr = HEAP32[(((iov)+(i*8))>>2)]; + var len = HEAP32[(((iov)+(i*8 + 4))>>2)]; + var curr = FS.read(stream, HEAP8,ptr, len, offset); + if (curr < 0) return -1; + ret += curr; + if (curr < len) break; // nothing more to read + } + return ret; + },doWritev:function (stream, iov, iovcnt, offset) { + var ret = 0; + for (var i = 0; i < iovcnt; i++) { + var ptr = HEAP32[(((iov)+(i*8))>>2)]; + var len = HEAP32[(((iov)+(i*8 + 4))>>2)]; + var curr = FS.write(stream, HEAP8,ptr, len, offset); + if (curr < 0) return -1; + ret += curr; + } + return ret; + },varargs:0,get:function (varargs) { + SYSCALLS.varargs += 4; + var ret = HEAP32[(((SYSCALLS.varargs)-(4))>>2)]; + return ret; + },getStr:function () { + var ret = Pointer_stringify(SYSCALLS.get()); + return ret; + },getStreamFromFD:function () { + var stream = FS.getStream(SYSCALLS.get()); + if (!stream) throw new FS.ErrnoError(ERRNO_CODES.EBADF); + return stream; + },getSocketFromFD:function () { + var socket = SOCKFS.getSocket(SYSCALLS.get()); + if (!socket) throw new FS.ErrnoError(ERRNO_CODES.EBADF); + return socket; + },getSocketAddress:function (allowNull) { + var addrp = SYSCALLS.get(), addrlen = SYSCALLS.get(); + if (allowNull && addrp === 0) return null; + var info = __read_sockaddr(addrp, addrlen); + if (info.errno) throw new FS.ErrnoError(info.errno); + info.addr = DNS.lookup_addr(info.addr) || info.addr; + return info; + },get64:function () { + var low = SYSCALLS.get(), high = SYSCALLS.get(); + if (low >= 0) assert(high === 0); + else assert(high === -1); + return low; + },getZero:function () { + assert(SYSCALLS.get() === 0); + }};function ___syscall54(which, varargs) {SYSCALLS.varargs = varargs; + try { + // ioctl + var stream = SYSCALLS.getStreamFromFD(), op = SYSCALLS.get(); + switch (op) { + case 21505: { + if (!stream.tty) return -ERRNO_CODES.ENOTTY; + return 0; + } + case 21506: { + if (!stream.tty) return -ERRNO_CODES.ENOTTY; + return 0; // no-op, not actually adjusting terminal settings + } + case 21519: { + if (!stream.tty) return -ERRNO_CODES.ENOTTY; + var argp = SYSCALLS.get(); + HEAP32[((argp)>>2)]=0; + return 0; + } + case 21520: { + if (!stream.tty) return -ERRNO_CODES.ENOTTY; + return -ERRNO_CODES.EINVAL; // not supported + } + case 21531: { + var argp = SYSCALLS.get(); + return FS.ioctl(stream, op, argp); + } + case 21523: { + // TODO: in theory we should write to the winsize struct that gets + // passed in, but for now musl doesn't read anything on it + if (!stream.tty) return -ERRNO_CODES.ENOTTY; + return 0; + } + default: abort('bad ioctl syscall ' + op); + } + } catch (e) { + if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno; + } + } + + function _emscripten_glSampleCoverage(value, invert) { + GLctx.sampleCoverage(value, !!invert); + } + + function _glDeleteTextures(n, textures) { + for (var i = 0; i < n; i++) { + var id = HEAP32[(((textures)+(i*4))>>2)]; + var texture = GL.textures[id]; + if (!texture) continue; // GL spec: "glDeleteTextures silently ignores 0s and names that do not correspond to existing textures". + GLctx.deleteTexture(texture); + texture.name = 0; + GL.textures[id] = null; + } + } + + function _emscripten_glFrustum() { + Module['printErr']('missing function: emscripten_glFrustum'); abort(-1); + } + + function _glfwSetWindowSizeCallback(winid, cbfun) { + GLFW.setWindowSizeCallback(winid, cbfun); + } + + function _emscripten_glGetTexParameterfv(target, pname, params) { + if (!params) { + // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense + // if p == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + HEAPF32[((params)>>2)]=GLctx.getTexParameter(target, pname); + } + + function _emscripten_glUniform4i(location, v0, v1, v2, v3) { + GLctx.uniform4i(GL.uniforms[location], v0, v1, v2, v3); + } + + function _emscripten_glBindRenderbuffer(target, renderbuffer) { + GLctx.bindRenderbuffer(target, renderbuffer ? GL.renderbuffers[renderbuffer] : null); + } + + + var AL={contexts:[],currentContext:null,alcErr:0,stringCache:{},alcStringCache:{},QUEUE_INTERVAL:25,QUEUE_LOOKAHEAD:100,newSrcId:1,updateSources:function updateSources(context) { + // If we are animating using the requestAnimationFrame method, then the main loop does not run when in the background. + // To give a perfect glitch-free audio stop when switching from foreground to background, we need to avoid updating + // audio altogether when in the background, so detect that case and kill audio buffer streaming if so. + if (Browser.mainLoop.timingMode == 1/*EM_TIMING_RAF*/ && document['visibilityState'] != 'visible') return; + + for (var srcId in context.src) { + AL.updateSource(context.src[srcId]); + } + },updateSource:function updateSource(src) { + // See comment on updateSources above. + if (Browser.mainLoop.timingMode == 1/*EM_TIMING_RAF*/ && document['visibilityState'] != 'visible') return; + + if (src.state !== 0x1012 /* AL_PLAYING */) { + return; + } + + var currentTime = src.context.ctx.currentTime; + var startTime = src.bufferPosition; + + for (var i = src.buffersPlayed; i < src.queue.length; i++) { + var entry = src.queue[i]; + + var startOffset = (startTime - currentTime) / src.playbackRate; + var endTime; + if (entry.src) endTime = startTime + entry.src.duration; // n.b. entry.src.duration already factors in playbackRate, so no divide by src.playbackRate on it. + else endTime = startTime + entry.buffer.duration / src.playbackRate; + + // Clean up old buffers. + if (currentTime >= endTime) { + // Update our location in the queue. + src.bufferPosition = endTime; + src.buffersPlayed = i + 1; + + // Stop / restart the source when we hit the end. + if (src.buffersPlayed >= src.queue.length) { + if (src.loop) { + AL.setSourceState(src, 0x1012 /* AL_PLAYING */); + } else { + AL.setSourceState(src, 0x1014 /* AL_STOPPED */); + } + } + } + // Process all buffers that'll be played before the next tick. + else if (startOffset < (AL.QUEUE_LOOKAHEAD / 1000) && !entry.src) { + // If the start offset is negative, we need to offset the actual buffer. + var offset = Math.abs(Math.min(startOffset, 0)); + + entry.src = src.context.ctx.createBufferSource(); + entry.src.buffer = entry.buffer; + entry.src.connect(src.gain); + if (src.playbackRate != 1.0) entry.src.playbackRate.value = src.playbackRate; + entry.src.duration = entry.buffer.duration / src.playbackRate; + if (typeof(entry.src.start) !== 'undefined') { + entry.src.start(startTime, offset); + } else if (typeof(entry.src.noteOn) !== 'undefined') { + entry.src.noteOn(startTime); + } + } + + startTime = endTime; + } + },setSourceState:function setSourceState(src, state) { + if (state === 0x1012 /* AL_PLAYING */) { + if (src.state !== 0x1013 /* AL_PAUSED */) { + src.state = 0x1012 /* AL_PLAYING */; + // Reset our position. + src.bufferPosition = AL.currentContext.ctx.currentTime; + src.buffersPlayed = 0; + } else { + src.state = 0x1012 /* AL_PLAYING */; + // Use the current offset from src.bufferPosition to resume at the correct point. + src.bufferPosition = AL.currentContext.ctx.currentTime - src.bufferPosition; + } + AL.stopSourceQueue(src); + AL.updateSource(src); + } else if (state === 0x1013 /* AL_PAUSED */) { + if (src.state === 0x1012 /* AL_PLAYING */) { + src.state = 0x1013 /* AL_PAUSED */; + // Store off the current offset to restore with on resume. + src.bufferPosition = AL.currentContext.ctx.currentTime - src.bufferPosition; + AL.stopSourceQueue(src); + } + } else if (state === 0x1014 /* AL_STOPPED */) { + if (src.state !== 0x1011 /* AL_INITIAL */) { + src.state = 0x1014 /* AL_STOPPED */; + src.buffersPlayed = src.queue.length; + AL.stopSourceQueue(src); + } + } else if (state == 0x1011 /* AL_INITIAL */) { + if (src.state !== 0x1011 /* AL_INITIAL */) { + src.state = 0x1011 /* AL_INITIAL */; + src.bufferPosition = 0; + src.buffersPlayed = 0; + } + } + },stopSourceQueue:function stopSourceQueue(src) { + for (var i = 0; i < src.queue.length; i++) { + var entry = src.queue[i]; + if (entry.src) { + entry.src.stop(0); + entry.src = null; + } + } + }};function _alcGetCurrentContext() { + for (var i = 0; i < AL.contexts.length; ++i) { + if (AL.contexts[i] == AL.currentContext) { + return i + 1; + } + } + return 0; + } + + function _emscripten_glViewport(x0, x1, x2, x3) { GLctx['viewport'](x0, x1, x2, x3) } + + + + var JSEvents={keyEvent:0,mouseEvent:0,wheelEvent:0,uiEvent:0,focusEvent:0,deviceOrientationEvent:0,deviceMotionEvent:0,fullscreenChangeEvent:0,pointerlockChangeEvent:0,visibilityChangeEvent:0,touchEvent:0,lastGamepadState:null,lastGamepadStateFrame:null,numGamepadsConnected:0,previousFullscreenElement:null,previousScreenX:null,previousScreenY:null,removeEventListenersRegistered:false,staticInit:function () { + if (typeof window !== 'undefined') { + window.addEventListener("gamepadconnected", function() { ++JSEvents.numGamepadsConnected; }); + window.addEventListener("gamepaddisconnected", function() { --JSEvents.numGamepadsConnected; }); + } + },registerRemoveEventListeners:function () { + if (!JSEvents.removeEventListenersRegistered) { + __ATEXIT__.push(function() { + for(var i = JSEvents.eventHandlers.length-1; i >= 0; --i) { + JSEvents._removeHandler(i); + } + }); + JSEvents.removeEventListenersRegistered = true; + } + },findEventTarget:function (target) { + if (target) { + if (typeof target == "number") { + target = Pointer_stringify(target); + } + if (target == '#window') return window; + else if (target == '#document') return document; + else if (target == '#screen') return window.screen; + else if (target == '#canvas') return Module['canvas']; + + if (typeof target == 'string') return document.getElementById(target); + else return target; + } else { + // The sensible target varies between events, but use window as the default + // since DOM events mostly can default to that. Specific callback registrations + // override their own defaults. + return window; + } + },deferredCalls:[],deferCall:function (targetFunction, precedence, argsList) { + function arraysHaveEqualContent(arrA, arrB) { + if (arrA.length != arrB.length) return false; + + for(var i in arrA) { + if (arrA[i] != arrB[i]) return false; + } + return true; + } + // Test if the given call was already queued, and if so, don't add it again. + for(var i in JSEvents.deferredCalls) { + var call = JSEvents.deferredCalls[i]; + if (call.targetFunction == targetFunction && arraysHaveEqualContent(call.argsList, argsList)) { + return; + } + } + JSEvents.deferredCalls.push({ + targetFunction: targetFunction, + precedence: precedence, + argsList: argsList + }); + + JSEvents.deferredCalls.sort(function(x,y) { return x.precedence < y.precedence; }); + },removeDeferredCalls:function (targetFunction) { + for(var i = 0; i < JSEvents.deferredCalls.length; ++i) { + if (JSEvents.deferredCalls[i].targetFunction == targetFunction) { + JSEvents.deferredCalls.splice(i, 1); + --i; + } + } + },canPerformEventHandlerRequests:function () { + return JSEvents.inEventHandler && JSEvents.currentEventHandler.allowsDeferredCalls; + },runDeferredCalls:function () { + if (!JSEvents.canPerformEventHandlerRequests()) { + return; + } + for(var i = 0; i < JSEvents.deferredCalls.length; ++i) { + var call = JSEvents.deferredCalls[i]; + JSEvents.deferredCalls.splice(i, 1); + --i; + call.targetFunction.apply(this, call.argsList); + } + },inEventHandler:0,currentEventHandler:null,eventHandlers:[],isInternetExplorer:function () { return navigator.userAgent.indexOf('MSIE') !== -1 || navigator.appVersion.indexOf('Trident/') > 0; },removeAllHandlersOnTarget:function (target, eventTypeString) { + for(var i = 0; i < JSEvents.eventHandlers.length; ++i) { + if (JSEvents.eventHandlers[i].target == target && + (!eventTypeString || eventTypeString == JSEvents.eventHandlers[i].eventTypeString)) { + JSEvents._removeHandler(i--); + } + } + },_removeHandler:function (i) { + var h = JSEvents.eventHandlers[i]; + h.target.removeEventListener(h.eventTypeString, h.eventListenerFunc, h.useCapture); + JSEvents.eventHandlers.splice(i, 1); + },registerOrRemoveHandler:function (eventHandler) { + var jsEventHandler = function jsEventHandler(event) { + // Increment nesting count for the event handler. + ++JSEvents.inEventHandler; + JSEvents.currentEventHandler = eventHandler; + // Process any old deferred calls the user has placed. + JSEvents.runDeferredCalls(); + // Process the actual event, calls back to user C code handler. + eventHandler.handlerFunc(event); + // Process any new deferred calls that were placed right now from this event handler. + JSEvents.runDeferredCalls(); + // Out of event handler - restore nesting count. + --JSEvents.inEventHandler; + } + + if (eventHandler.callbackfunc) { + eventHandler.eventListenerFunc = jsEventHandler; + eventHandler.target.addEventListener(eventHandler.eventTypeString, jsEventHandler, eventHandler.useCapture); + JSEvents.eventHandlers.push(eventHandler); + JSEvents.registerRemoveEventListeners(); + } else { + for(var i = 0; i < JSEvents.eventHandlers.length; ++i) { + if (JSEvents.eventHandlers[i].target == eventHandler.target + && JSEvents.eventHandlers[i].eventTypeString == eventHandler.eventTypeString) { + JSEvents._removeHandler(i--); + } + } + } + },registerKeyEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.keyEvent) { + JSEvents.keyEvent = _malloc( 164 ); + } + var handlerFunc = function(event) { + var e = event || window.event; + stringToUTF8(e.key ? e.key : "", JSEvents.keyEvent + 0, 32); + stringToUTF8(e.code ? e.code : "", JSEvents.keyEvent + 32, 32); + HEAP32[(((JSEvents.keyEvent)+(64))>>2)]=e.location; + HEAP32[(((JSEvents.keyEvent)+(68))>>2)]=e.ctrlKey; + HEAP32[(((JSEvents.keyEvent)+(72))>>2)]=e.shiftKey; + HEAP32[(((JSEvents.keyEvent)+(76))>>2)]=e.altKey; + HEAP32[(((JSEvents.keyEvent)+(80))>>2)]=e.metaKey; + HEAP32[(((JSEvents.keyEvent)+(84))>>2)]=e.repeat; + stringToUTF8(e.locale ? e.locale : "", JSEvents.keyEvent + 88, 32); + stringToUTF8(e.char ? e.char : "", JSEvents.keyEvent + 120, 32); + HEAP32[(((JSEvents.keyEvent)+(152))>>2)]=e.charCode; + HEAP32[(((JSEvents.keyEvent)+(156))>>2)]=e.keyCode; + HEAP32[(((JSEvents.keyEvent)+(160))>>2)]=e.which; + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.keyEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: JSEvents.findEventTarget(target), + allowsDeferredCalls: JSEvents.isInternetExplorer() ? false : true, // MSIE doesn't allow fullscreen and pointerlock requests from key handlers, others do. + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },getBoundingClientRectOrZeros:function (target) { + return target.getBoundingClientRect ? target.getBoundingClientRect() : { left: 0, top: 0 }; + },fillMouseEventData:function (eventStruct, e, target) { + HEAPF64[((eventStruct)>>3)]=JSEvents.tick(); + HEAP32[(((eventStruct)+(8))>>2)]=e.screenX; + HEAP32[(((eventStruct)+(12))>>2)]=e.screenY; + HEAP32[(((eventStruct)+(16))>>2)]=e.clientX; + HEAP32[(((eventStruct)+(20))>>2)]=e.clientY; + HEAP32[(((eventStruct)+(24))>>2)]=e.ctrlKey; + HEAP32[(((eventStruct)+(28))>>2)]=e.shiftKey; + HEAP32[(((eventStruct)+(32))>>2)]=e.altKey; + HEAP32[(((eventStruct)+(36))>>2)]=e.metaKey; + HEAP16[(((eventStruct)+(40))>>1)]=e.button; + HEAP16[(((eventStruct)+(42))>>1)]=e.buttons; + HEAP32[(((eventStruct)+(44))>>2)]=e["movementX"] || e["mozMovementX"] || e["webkitMovementX"] || (e.screenX-JSEvents.previousScreenX); + HEAP32[(((eventStruct)+(48))>>2)]=e["movementY"] || e["mozMovementY"] || e["webkitMovementY"] || (e.screenY-JSEvents.previousScreenY); + + if (Module['canvas']) { + var rect = Module['canvas'].getBoundingClientRect(); + HEAP32[(((eventStruct)+(60))>>2)]=e.clientX - rect.left; + HEAP32[(((eventStruct)+(64))>>2)]=e.clientY - rect.top; + } else { // Canvas is not initialized, return 0. + HEAP32[(((eventStruct)+(60))>>2)]=0; + HEAP32[(((eventStruct)+(64))>>2)]=0; + } + if (target) { + var rect = JSEvents.getBoundingClientRectOrZeros(target); + HEAP32[(((eventStruct)+(52))>>2)]=e.clientX - rect.left; + HEAP32[(((eventStruct)+(56))>>2)]=e.clientY - rect.top; + } else { // No specific target passed, return 0. + HEAP32[(((eventStruct)+(52))>>2)]=0; + HEAP32[(((eventStruct)+(56))>>2)]=0; + } + // wheel and mousewheel events contain wrong screenX/screenY on chrome/opera + // https://github.com/kripken/emscripten/pull/4997 + // https://bugs.chromium.org/p/chromium/issues/detail?id=699956 + if (e.type !== 'wheel' && e.type !== 'mousewheel') { + JSEvents.previousScreenX = e.screenX; + JSEvents.previousScreenY = e.screenY; + } + },registerMouseEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.mouseEvent) { + JSEvents.mouseEvent = _malloc( 72 ); + } + target = JSEvents.findEventTarget(target); + var handlerFunc = function(event) { + var e = event || window.event; + JSEvents.fillMouseEventData(JSEvents.mouseEvent, e, target); + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.mouseEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: target, + allowsDeferredCalls: eventTypeString != 'mousemove' && eventTypeString != 'mouseenter' && eventTypeString != 'mouseleave', // Mouse move events do not allow fullscreen/pointer lock requests to be handled in them! + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + // In IE, mousedown events don't either allow deferred calls to be run! + if (JSEvents.isInternetExplorer() && eventTypeString == 'mousedown') eventHandler.allowsDeferredCalls = false; + JSEvents.registerOrRemoveHandler(eventHandler); + },registerWheelEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.wheelEvent) { + JSEvents.wheelEvent = _malloc( 104 ); + } + target = JSEvents.findEventTarget(target); + // The DOM Level 3 events spec event 'wheel' + var wheelHandlerFunc = function(event) { + var e = event || window.event; + JSEvents.fillMouseEventData(JSEvents.wheelEvent, e, target); + HEAPF64[(((JSEvents.wheelEvent)+(72))>>3)]=e["deltaX"]; + HEAPF64[(((JSEvents.wheelEvent)+(80))>>3)]=e["deltaY"]; + HEAPF64[(((JSEvents.wheelEvent)+(88))>>3)]=e["deltaZ"]; + HEAP32[(((JSEvents.wheelEvent)+(96))>>2)]=e["deltaMode"]; + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.wheelEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + // The 'mousewheel' event as implemented in Safari 6.0.5 + var mouseWheelHandlerFunc = function(event) { + var e = event || window.event; + JSEvents.fillMouseEventData(JSEvents.wheelEvent, e, target); + HEAPF64[(((JSEvents.wheelEvent)+(72))>>3)]=e["wheelDeltaX"] || 0; + HEAPF64[(((JSEvents.wheelEvent)+(80))>>3)]=-(e["wheelDeltaY"] ? e["wheelDeltaY"] : e["wheelDelta"]) /* 1. Invert to unify direction with the DOM Level 3 wheel event. 2. MSIE does not provide wheelDeltaY, so wheelDelta is used as a fallback. */; + HEAPF64[(((JSEvents.wheelEvent)+(88))>>3)]=0 /* Not available */; + HEAP32[(((JSEvents.wheelEvent)+(96))>>2)]=0 /* DOM_DELTA_PIXEL */; + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.wheelEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: target, + allowsDeferredCalls: true, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: (eventTypeString == 'wheel') ? wheelHandlerFunc : mouseWheelHandlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },pageScrollPos:function () { + if (window.pageXOffset > 0 || window.pageYOffset > 0) { + return [window.pageXOffset, window.pageYOffset]; + } + if (typeof document.documentElement.scrollLeft !== 'undefined' || typeof document.documentElement.scrollTop !== 'undefined') { + return [document.documentElement.scrollLeft, document.documentElement.scrollTop]; + } + return [document.body.scrollLeft|0, document.body.scrollTop|0]; + },registerUiEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.uiEvent) { + JSEvents.uiEvent = _malloc( 36 ); + } + + if (eventTypeString == "scroll" && !target) { + target = document; // By default read scroll events on document rather than window. + } else { + target = JSEvents.findEventTarget(target); + } + + var handlerFunc = function(event) { + var e = event || window.event; + if (e.target != target) { + // Never take ui events such as scroll via a 'bubbled' route, but always from the direct element that + // was targeted. Otherwise e.g. if app logs a message in response to a page scroll, the Emscripten log + // message box could cause to scroll, generating a new (bubbled) scroll message, causing a new log print, + // causing a new scroll, etc.. + return; + } + var scrollPos = JSEvents.pageScrollPos(); + HEAP32[((JSEvents.uiEvent)>>2)]=e.detail; + HEAP32[(((JSEvents.uiEvent)+(4))>>2)]=document.body.clientWidth; + HEAP32[(((JSEvents.uiEvent)+(8))>>2)]=document.body.clientHeight; + HEAP32[(((JSEvents.uiEvent)+(12))>>2)]=window.innerWidth; + HEAP32[(((JSEvents.uiEvent)+(16))>>2)]=window.innerHeight; + HEAP32[(((JSEvents.uiEvent)+(20))>>2)]=window.outerWidth; + HEAP32[(((JSEvents.uiEvent)+(24))>>2)]=window.outerHeight; + HEAP32[(((JSEvents.uiEvent)+(28))>>2)]=scrollPos[0]; + HEAP32[(((JSEvents.uiEvent)+(32))>>2)]=scrollPos[1]; + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.uiEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: target, + allowsDeferredCalls: false, // Neither scroll or resize events allow running requests inside them. + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },getNodeNameForTarget:function (target) { + if (!target) return ''; + if (target == window) return '#window'; + if (target == window.screen) return '#screen'; + return (target && target.nodeName) ? target.nodeName : ''; + },registerFocusEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.focusEvent) { + JSEvents.focusEvent = _malloc( 256 ); + } + var handlerFunc = function(event) { + var e = event || window.event; + + var nodeName = JSEvents.getNodeNameForTarget(e.target); + var id = e.target.id ? e.target.id : ''; + stringToUTF8(nodeName, JSEvents.focusEvent + 0, 128); + stringToUTF8(id, JSEvents.focusEvent + 128, 128); + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.focusEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: JSEvents.findEventTarget(target), + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },tick:function () { + if (window['performance'] && window['performance']['now']) return window['performance']['now'](); + else return Date.now(); + },registerDeviceOrientationEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.deviceOrientationEvent) { + JSEvents.deviceOrientationEvent = _malloc( 40 ); + } + var handlerFunc = function(event) { + var e = event || window.event; + + HEAPF64[((JSEvents.deviceOrientationEvent)>>3)]=JSEvents.tick(); + HEAPF64[(((JSEvents.deviceOrientationEvent)+(8))>>3)]=e.alpha; + HEAPF64[(((JSEvents.deviceOrientationEvent)+(16))>>3)]=e.beta; + HEAPF64[(((JSEvents.deviceOrientationEvent)+(24))>>3)]=e.gamma; + HEAP32[(((JSEvents.deviceOrientationEvent)+(32))>>2)]=e.absolute; + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.deviceOrientationEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: JSEvents.findEventTarget(target), + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },registerDeviceMotionEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.deviceMotionEvent) { + JSEvents.deviceMotionEvent = _malloc( 80 ); + } + var handlerFunc = function(event) { + var e = event || window.event; + + HEAPF64[((JSEvents.deviceOrientationEvent)>>3)]=JSEvents.tick(); + HEAPF64[(((JSEvents.deviceMotionEvent)+(8))>>3)]=e.acceleration.x; + HEAPF64[(((JSEvents.deviceMotionEvent)+(16))>>3)]=e.acceleration.y; + HEAPF64[(((JSEvents.deviceMotionEvent)+(24))>>3)]=e.acceleration.z; + HEAPF64[(((JSEvents.deviceMotionEvent)+(32))>>3)]=e.accelerationIncludingGravity.x; + HEAPF64[(((JSEvents.deviceMotionEvent)+(40))>>3)]=e.accelerationIncludingGravity.y; + HEAPF64[(((JSEvents.deviceMotionEvent)+(48))>>3)]=e.accelerationIncludingGravity.z; + HEAPF64[(((JSEvents.deviceMotionEvent)+(56))>>3)]=e.rotationRate.alpha; + HEAPF64[(((JSEvents.deviceMotionEvent)+(64))>>3)]=e.rotationRate.beta; + HEAPF64[(((JSEvents.deviceMotionEvent)+(72))>>3)]=e.rotationRate.gamma; + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.deviceMotionEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: JSEvents.findEventTarget(target), + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },screenOrientation:function () { + if (!window.screen) return undefined; + return window.screen.orientation || window.screen.mozOrientation || window.screen.webkitOrientation || window.screen.msOrientation; + },fillOrientationChangeEventData:function (eventStruct, e) { + var orientations = ["portrait-primary", "portrait-secondary", "landscape-primary", "landscape-secondary"]; + var orientations2 = ["portrait", "portrait", "landscape", "landscape"]; + + var orientationString = JSEvents.screenOrientation(); + var orientation = orientations.indexOf(orientationString); + if (orientation == -1) { + orientation = orientations2.indexOf(orientationString); + } + + HEAP32[((eventStruct)>>2)]=1 << orientation; + HEAP32[(((eventStruct)+(4))>>2)]=window.orientation; + },registerOrientationChangeEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.orientationChangeEvent) { + JSEvents.orientationChangeEvent = _malloc( 8 ); + } + + if (!target) { + target = window.screen; // Orientation events need to be captured from 'window.screen' instead of 'window' + } else { + target = JSEvents.findEventTarget(target); + } + + var handlerFunc = function(event) { + var e = event || window.event; + + JSEvents.fillOrientationChangeEventData(JSEvents.orientationChangeEvent, e); + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.orientationChangeEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + if (eventTypeString == "orientationchange" && window.screen.mozOrientation !== undefined) { + eventTypeString = "mozorientationchange"; + } + + var eventHandler = { + target: target, + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },fullscreenEnabled:function () { + return document.fullscreenEnabled || document.mozFullScreenEnabled || document.webkitFullscreenEnabled || document.msFullscreenEnabled; + },fillFullscreenChangeEventData:function (eventStruct, e) { + var fullscreenElement = document.fullscreenElement || document.mozFullScreenElement || document.webkitFullscreenElement || document.msFullscreenElement; + var isFullscreen = !!fullscreenElement; + HEAP32[((eventStruct)>>2)]=isFullscreen; + HEAP32[(((eventStruct)+(4))>>2)]=JSEvents.fullscreenEnabled(); + // If transitioning to fullscreen, report info about the element that is now fullscreen. + // If transitioning to windowed mode, report info about the element that just was fullscreen. + var reportedElement = isFullscreen ? fullscreenElement : JSEvents.previousFullscreenElement; + var nodeName = JSEvents.getNodeNameForTarget(reportedElement); + var id = (reportedElement && reportedElement.id) ? reportedElement.id : ''; + stringToUTF8(nodeName, eventStruct + 8, 128); + stringToUTF8(id, eventStruct + 136, 128); + HEAP32[(((eventStruct)+(264))>>2)]=reportedElement ? reportedElement.clientWidth : 0; + HEAP32[(((eventStruct)+(268))>>2)]=reportedElement ? reportedElement.clientHeight : 0; + HEAP32[(((eventStruct)+(272))>>2)]=screen.width; + HEAP32[(((eventStruct)+(276))>>2)]=screen.height; + if (isFullscreen) { + JSEvents.previousFullscreenElement = fullscreenElement; + } + },registerFullscreenChangeEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.fullscreenChangeEvent) { + JSEvents.fullscreenChangeEvent = _malloc( 280 ); + } + + if (!target) { + target = document; // Fullscreen change events need to be captured from 'document' by default instead of 'window' + } else { + target = JSEvents.findEventTarget(target); + } + + var handlerFunc = function(event) { + var e = event || window.event; + + JSEvents.fillFullscreenChangeEventData(JSEvents.fullscreenChangeEvent, e); + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.fullscreenChangeEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: target, + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },resizeCanvasForFullscreen:function (target, strategy) { + var restoreOldStyle = __registerRestoreOldStyle(target); + var cssWidth = strategy.softFullscreen ? window.innerWidth : screen.width; + var cssHeight = strategy.softFullscreen ? window.innerHeight : screen.height; + var rect = target.getBoundingClientRect(); + var windowedCssWidth = rect.right - rect.left; + var windowedCssHeight = rect.bottom - rect.top; + var windowedRttWidth = target.width; + var windowedRttHeight = target.height; + + if (strategy.scaleMode == 3) { + __setLetterbox(target, (cssHeight - windowedCssHeight) / 2, (cssWidth - windowedCssWidth) / 2); + cssWidth = windowedCssWidth; + cssHeight = windowedCssHeight; + } else if (strategy.scaleMode == 2) { + if (cssWidth*windowedRttHeight < windowedRttWidth*cssHeight) { + var desiredCssHeight = windowedRttHeight * cssWidth / windowedRttWidth; + __setLetterbox(target, (cssHeight - desiredCssHeight) / 2, 0); + cssHeight = desiredCssHeight; + } else { + var desiredCssWidth = windowedRttWidth * cssHeight / windowedRttHeight; + __setLetterbox(target, 0, (cssWidth - desiredCssWidth) / 2); + cssWidth = desiredCssWidth; + } + } + + // If we are adding padding, must choose a background color or otherwise Chrome will give the + // padding a default white color. Do it only if user has not customized their own background color. + if (!target.style.backgroundColor) target.style.backgroundColor = 'black'; + // IE11 does the same, but requires the color to be set in the document body. + if (!document.body.style.backgroundColor) document.body.style.backgroundColor = 'black'; // IE11 + // Firefox always shows black letterboxes independent of style color. + + target.style.width = cssWidth + 'px'; + target.style.height = cssHeight + 'px'; + + if (strategy.filteringMode == 1) { + target.style.imageRendering = 'optimizeSpeed'; + target.style.imageRendering = '-moz-crisp-edges'; + target.style.imageRendering = '-o-crisp-edges'; + target.style.imageRendering = '-webkit-optimize-contrast'; + target.style.imageRendering = 'optimize-contrast'; + target.style.imageRendering = 'crisp-edges'; + target.style.imageRendering = 'pixelated'; + } + + var dpiScale = (strategy.canvasResolutionScaleMode == 2) ? window.devicePixelRatio : 1; + if (strategy.canvasResolutionScaleMode != 0) { + target.width = cssWidth * dpiScale; + target.height = cssHeight * dpiScale; + if (target.GLctxObject) target.GLctxObject.GLctx.viewport(0, 0, target.width, target.height); + } + return restoreOldStyle; + },requestFullscreen:function (target, strategy) { + // EMSCRIPTEN_FULLSCREEN_SCALE_DEFAULT + EMSCRIPTEN_FULLSCREEN_CANVAS_SCALE_NONE is a mode where no extra logic is performed to the DOM elements. + if (strategy.scaleMode != 0 || strategy.canvasResolutionScaleMode != 0) { + JSEvents.resizeCanvasForFullscreen(target, strategy); + } + + if (target.requestFullscreen) { + target.requestFullscreen(); + } else if (target.msRequestFullscreen) { + target.msRequestFullscreen(); + } else if (target.mozRequestFullScreen) { + target.mozRequestFullScreen(); + } else if (target.mozRequestFullscreen) { + target.mozRequestFullscreen(); + } else if (target.webkitRequestFullscreen) { + target.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT); + } else { + if (typeof JSEvents.fullscreenEnabled() === 'undefined') { + return -1; + } else { + return -3; + } + } + + if (strategy.canvasResizedCallback) { + Module['dynCall_iiii'](strategy.canvasResizedCallback, 37, 0, strategy.canvasResizedCallbackUserData); + } + + return 0; + },fillPointerlockChangeEventData:function (eventStruct, e) { + var pointerLockElement = document.pointerLockElement || document.mozPointerLockElement || document.webkitPointerLockElement || document.msPointerLockElement; + var isPointerlocked = !!pointerLockElement; + HEAP32[((eventStruct)>>2)]=isPointerlocked; + var nodeName = JSEvents.getNodeNameForTarget(pointerLockElement); + var id = (pointerLockElement && pointerLockElement.id) ? pointerLockElement.id : ''; + stringToUTF8(nodeName, eventStruct + 4, 128); + stringToUTF8(id, eventStruct + 132, 128); + },registerPointerlockChangeEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.pointerlockChangeEvent) { + JSEvents.pointerlockChangeEvent = _malloc( 260 ); + } + + if (!target) { + target = document; // Pointer lock change events need to be captured from 'document' by default instead of 'window' + } else { + target = JSEvents.findEventTarget(target); + } + + var handlerFunc = function(event) { + var e = event || window.event; + + JSEvents.fillPointerlockChangeEventData(JSEvents.pointerlockChangeEvent, e); + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.pointerlockChangeEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: target, + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },registerPointerlockErrorEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!target) { + target = document; // Pointer lock events need to be captured from 'document' by default instead of 'window' + } else { + target = JSEvents.findEventTarget(target); + } + + var handlerFunc = function(event) { + var e = event || window.event; + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, 0, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: target, + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },requestPointerLock:function (target) { + if (target.requestPointerLock) { + target.requestPointerLock(); + } else if (target.mozRequestPointerLock) { + target.mozRequestPointerLock(); + } else if (target.webkitRequestPointerLock) { + target.webkitRequestPointerLock(); + } else if (target.msRequestPointerLock) { + target.msRequestPointerLock(); + } else { + // document.body is known to accept pointer lock, so use that to differentiate if the user passed a bad element, + // or if the whole browser just doesn't support the feature. + if (document.body.requestPointerLock || document.body.mozRequestPointerLock || document.body.webkitRequestPointerLock || document.body.msRequestPointerLock) { + return -3; + } else { + return -1; + } + } + return 0; + },fillVisibilityChangeEventData:function (eventStruct, e) { + var visibilityStates = [ "hidden", "visible", "prerender", "unloaded" ]; + var visibilityState = visibilityStates.indexOf(document.visibilityState); + + HEAP32[((eventStruct)>>2)]=document.hidden; + HEAP32[(((eventStruct)+(4))>>2)]=visibilityState; + },registerVisibilityChangeEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.visibilityChangeEvent) { + JSEvents.visibilityChangeEvent = _malloc( 8 ); + } + + if (!target) { + target = document; // Visibility change events need to be captured from 'document' by default instead of 'window' + } else { + target = JSEvents.findEventTarget(target); + } + + var handlerFunc = function(event) { + var e = event || window.event; + + JSEvents.fillVisibilityChangeEventData(JSEvents.visibilityChangeEvent, e); + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.visibilityChangeEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: target, + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },registerTouchEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.touchEvent) { + JSEvents.touchEvent = _malloc( 1684 ); + } + + target = JSEvents.findEventTarget(target); + + var handlerFunc = function(event) { + var e = event || window.event; + + var touches = {}; + for(var i = 0; i < e.touches.length; ++i) { + var touch = e.touches[i]; + touches[touch.identifier] = touch; + } + for(var i = 0; i < e.changedTouches.length; ++i) { + var touch = e.changedTouches[i]; + touches[touch.identifier] = touch; + touch.changed = true; + } + for(var i = 0; i < e.targetTouches.length; ++i) { + var touch = e.targetTouches[i]; + touches[touch.identifier].onTarget = true; + } + + var ptr = JSEvents.touchEvent; + HEAP32[(((ptr)+(4))>>2)]=e.ctrlKey; + HEAP32[(((ptr)+(8))>>2)]=e.shiftKey; + HEAP32[(((ptr)+(12))>>2)]=e.altKey; + HEAP32[(((ptr)+(16))>>2)]=e.metaKey; + ptr += 20; // Advance to the start of the touch array. + var canvasRect = Module['canvas'] ? Module['canvas'].getBoundingClientRect() : undefined; + var targetRect = JSEvents.getBoundingClientRectOrZeros(target); + var numTouches = 0; + for(var i in touches) { + var t = touches[i]; + HEAP32[((ptr)>>2)]=t.identifier; + HEAP32[(((ptr)+(4))>>2)]=t.screenX; + HEAP32[(((ptr)+(8))>>2)]=t.screenY; + HEAP32[(((ptr)+(12))>>2)]=t.clientX; + HEAP32[(((ptr)+(16))>>2)]=t.clientY; + HEAP32[(((ptr)+(20))>>2)]=t.pageX; + HEAP32[(((ptr)+(24))>>2)]=t.pageY; + HEAP32[(((ptr)+(28))>>2)]=t.changed; + HEAP32[(((ptr)+(32))>>2)]=t.onTarget; + if (canvasRect) { + HEAP32[(((ptr)+(44))>>2)]=t.clientX - canvasRect.left; + HEAP32[(((ptr)+(48))>>2)]=t.clientY - canvasRect.top; + } else { + HEAP32[(((ptr)+(44))>>2)]=0; + HEAP32[(((ptr)+(48))>>2)]=0; + } + HEAP32[(((ptr)+(36))>>2)]=t.clientX - targetRect.left; + HEAP32[(((ptr)+(40))>>2)]=t.clientY - targetRect.top; + + ptr += 52; + + if (++numTouches >= 32) { + break; + } + } + HEAP32[((JSEvents.touchEvent)>>2)]=numTouches; + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.touchEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: target, + allowsDeferredCalls: false, // XXX Currently disabled, see bug https://bugzilla.mozilla.org/show_bug.cgi?id=966493 + // Once the above bug is resolved, enable the following condition if possible: + // allowsDeferredCalls: eventTypeString == 'touchstart', + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },fillGamepadEventData:function (eventStruct, e) { + HEAPF64[((eventStruct)>>3)]=e.timestamp; + for(var i = 0; i < e.axes.length; ++i) { + HEAPF64[(((eventStruct+i*8)+(16))>>3)]=e.axes[i]; + } + for(var i = 0; i < e.buttons.length; ++i) { + if (typeof(e.buttons[i]) === 'object') { + HEAPF64[(((eventStruct+i*8)+(528))>>3)]=e.buttons[i].value; + } else { + HEAPF64[(((eventStruct+i*8)+(528))>>3)]=e.buttons[i]; + } + } + for(var i = 0; i < e.buttons.length; ++i) { + if (typeof(e.buttons[i]) === 'object') { + HEAP32[(((eventStruct+i*4)+(1040))>>2)]=e.buttons[i].pressed; + } else { + HEAP32[(((eventStruct+i*4)+(1040))>>2)]=e.buttons[i] == 1.0; + } + } + HEAP32[(((eventStruct)+(1296))>>2)]=e.connected; + HEAP32[(((eventStruct)+(1300))>>2)]=e.index; + HEAP32[(((eventStruct)+(8))>>2)]=e.axes.length; + HEAP32[(((eventStruct)+(12))>>2)]=e.buttons.length; + stringToUTF8(e.id, eventStruct + 1304, 64); + stringToUTF8(e.mapping, eventStruct + 1368, 64); + },registerGamepadEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.gamepadEvent) { + JSEvents.gamepadEvent = _malloc( 1432 ); + } + + var handlerFunc = function(event) { + var e = event || window.event; + + JSEvents.fillGamepadEventData(JSEvents.gamepadEvent, e.gamepad); + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.gamepadEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: JSEvents.findEventTarget(target), + allowsDeferredCalls: true, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },registerBeforeUnloadEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + var handlerFunc = function(event) { + var e = event || window.event; + + var confirmationMessage = Module['dynCall_iiii'](callbackfunc, eventTypeId, 0, userData); + + if (confirmationMessage) { + confirmationMessage = Pointer_stringify(confirmationMessage); + } + if (confirmationMessage) { + e.preventDefault(); + e.returnValue = confirmationMessage; + return confirmationMessage; + } + }; + + var eventHandler = { + target: JSEvents.findEventTarget(target), + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },battery:function () { return navigator.battery || navigator.mozBattery || navigator.webkitBattery; },fillBatteryEventData:function (eventStruct, e) { + HEAPF64[((eventStruct)>>3)]=e.chargingTime; + HEAPF64[(((eventStruct)+(8))>>3)]=e.dischargingTime; + HEAPF64[(((eventStruct)+(16))>>3)]=e.level; + HEAP32[(((eventStruct)+(24))>>2)]=e.charging; + },registerBatteryEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.batteryEvent) { + JSEvents.batteryEvent = _malloc( 32 ); + } + + var handlerFunc = function(event) { + var e = event || window.event; + + JSEvents.fillBatteryEventData(JSEvents.batteryEvent, JSEvents.battery()); + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.batteryEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: JSEvents.findEventTarget(target), + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },registerWebGlEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!target) { + target = Module['canvas']; + } + var handlerFunc = function(event) { + var e = event || window.event; + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, 0, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: JSEvents.findEventTarget(target), + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + }};function __emscripten_sample_gamepad_data() { + // Polling gamepads generates garbage, so don't do it when we know there are no gamepads connected. + if (!JSEvents.numGamepadsConnected) return; + + // Produce a new Gamepad API sample if we are ticking a new game frame, or if not using emscripten_set_main_loop() at all to drive animation. + if (Browser.mainLoop.currentFrameNumber !== JSEvents.lastGamepadStateFrame || !Browser.mainLoop.currentFrameNumber) { + JSEvents.lastGamepadState = navigator.getGamepads ? navigator.getGamepads() : (navigator.webkitGetGamepads ? navigator.webkitGetGamepads : null); + JSEvents.lastGamepadStateFrame = Browser.mainLoop.currentFrameNumber; + } + }function _emscripten_get_gamepad_status(index, gamepadState) { + __emscripten_sample_gamepad_data(); + if (!JSEvents.lastGamepadState) return -1; + + // INVALID_PARAM is returned on a Gamepad index that never was there. + if (index < 0 || index >= JSEvents.lastGamepadState.length) return -5; + + // NO_DATA is returned on a Gamepad index that was removed. + // For previously disconnected gamepads there should be an empty slot (null/undefined/false) at the index. + // This is because gamepads must keep their original position in the array. + // For example, removing the first of two gamepads produces [null/undefined/false, gamepad]. + if (!JSEvents.lastGamepadState[index]) return -7; + + JSEvents.fillGamepadEventData(gamepadState, JSEvents.lastGamepadState[index]); + return 0; + } + + var _llvm_pow_f64=Math_pow; + + function _emscripten_glCopyTexImage2D(x0, x1, x2, x3, x4, x5, x6, x7) { GLctx['copyTexImage2D'](x0, x1, x2, x3, x4, x5, x6, x7) } + + function _alcGetString(device, param) { + if (AL.alcStringCache[param]) return AL.alcStringCache[param]; + var ret; + switch (param) { + case 0 /* ALC_NO_ERROR */: + ret = 'No Error'; + break; + case 0xA001 /* ALC_INVALID_DEVICE */: + ret = 'Invalid Device'; + break; + case 0xA002 /* ALC_INVALID_CONTEXT */: + ret = 'Invalid Context'; + break; + case 0xA003 /* ALC_INVALID_ENUM */: + ret = 'Invalid Enum'; + break; + case 0xA004 /* ALC_INVALID_VALUE */: + ret = 'Invalid Value'; + break; + case 0xA005 /* ALC_OUT_OF_MEMORY */: + ret = 'Out of Memory'; + break; + case 0x1004 /* ALC_DEFAULT_DEVICE_SPECIFIER */: + if (typeof(AudioContext) !== "undefined" || + typeof(webkitAudioContext) !== "undefined") { + ret = 'Device'; + } else { + return 0; + } + break; + case 0x1005 /* ALC_DEVICE_SPECIFIER */: + if (typeof(AudioContext) !== "undefined" || + typeof(webkitAudioContext) !== "undefined") { + ret = 'Device\0'; + } else { + ret = '\0'; + } + break; + case 0x311 /* ALC_CAPTURE_DEFAULT_DEVICE_SPECIFIER */: + return 0; + break; + case 0x310 /* ALC_CAPTURE_DEVICE_SPECIFIER */: + ret = '\0' + break; + case 0x1006 /* ALC_EXTENSIONS */: + if (!device) { + AL.alcErr = 0xA001 /* ALC_INVALID_DEVICE */; + return 0; + } + ret = ''; + break; + default: + AL.alcErr = 0xA003 /* ALC_INVALID_ENUM */; + return 0; + } + + ret = allocate(intArrayFromString(ret), 'i8', ALLOC_NORMAL); + + AL.alcStringCache[param] = ret; + + return ret; + } + + function _emscripten_glTexParameterfv(target, pname, params) { + var param = HEAPF32[((params)>>2)]; + GLctx.texParameterf(target, pname, param); + } + + function _emscripten_glLinkProgram(program) { + GLctx.linkProgram(GL.programs[program]); + GL.programInfos[program] = null; // uniforms no longer keep the same names after linking + GL.populateUniformTable(program); + } + + function _emscripten_glUniform3f(location, v0, v1, v2) { + GLctx.uniform3f(GL.uniforms[location], v0, v1, v2); + } + + function _emscripten_glGetObjectParameterivARB() { + Module['printErr']('missing function: emscripten_glGetObjectParameterivARB'); abort(-1); + } + + function _emscripten_glBlendFunc(x0, x1) { GLctx['blendFunc'](x0, x1) } + + function _emscripten_glUniform3i(location, v0, v1, v2) { + GLctx.uniform3i(GL.uniforms[location], v0, v1, v2); + } + + function _emscripten_glStencilOp(x0, x1, x2) { GLctx['stencilOp'](x0, x1, x2) } + + function _glCreateShader(shaderType) { + var id = GL.getNewId(GL.shaders); + GL.shaders[id] = GLctx.createShader(shaderType); + return id; + } + + function _glUniform1i(location, v0) { + GLctx.uniform1i(GL.uniforms[location], v0); + } + + function _emscripten_glBindAttribLocation(program, index, name) { + name = Pointer_stringify(name); + GLctx.bindAttribLocation(GL.programs[program], index, name); + } + + function _glCompressedTexImage2D(target, level, internalFormat, width, height, border, imageSize, data) { + GLctx['compressedTexImage2D'](target, level, internalFormat, width, height, border, data ? HEAPU8.subarray((data),(data+imageSize)) : null); + } + + function _glDisable(x0) { GLctx['disable'](x0) } + + function _emscripten_glEnableVertexAttribArray(index) { + GLctx.enableVertexAttribArray(index); + } + + + Module["_memset"] = _memset; + + function _alDeleteBuffers(count, buffers) + { + if (!AL.currentContext) { + return; + } + if (count > AL.currentContext.buf.length) { + AL.currentContext.err = 0xA003 /* AL_INVALID_VALUE */; + return; + } + + for (var i = 0; i < count; ++i) { + var bufferIdx = HEAP32[(((buffers)+(i*4))>>2)] - 1; + + // Make sure the buffer index is valid. + if (bufferIdx >= AL.currentContext.buf.length || !AL.currentContext.buf[bufferIdx]) { + AL.currentContext.err = 0xA001 /* AL_INVALID_NAME */; + return; + } + + // Make sure the buffer is no longer in use. + var buffer = AL.currentContext.buf[bufferIdx]; + for (var srcId in AL.currentContext.src) { + var src = AL.currentContext.src[srcId]; + if (!src) { + continue; + } + for (var k = 0; k < src.queue.length; k++) { + if (buffer === src.queue[k].buffer) { + AL.currentContext.err = 0xA004 /* AL_INVALID_OPERATION */; + return; + } + } + } + } + + for (var i = 0; i < count; ++i) { + var bufferIdx = HEAP32[(((buffers)+(i*4))>>2)] - 1; + delete AL.currentContext.buf[bufferIdx]; + } + } + + function _alListener3f(param, v1, v2, v3) { + if (!AL.currentContext) { + return; + } + switch (param) { + case 0x1004 /* AL_POSITION */: + AL.currentContext.ctx.listener._position[0] = v1; + AL.currentContext.ctx.listener._position[1] = v2; + AL.currentContext.ctx.listener._position[2] = v3; + AL.currentContext.ctx.listener.setPosition(v1, v2, v3); + break; + case 0x1006 /* AL_VELOCITY */: + AL.currentContext.ctx.listener._velocity[0] = v1; + AL.currentContext.ctx.listener._velocity[1] = v2; + AL.currentContext.ctx.listener._velocity[2] = v3; + // TODO: The velocity values are not currently used to implement a doppler effect. + // If support for doppler effect is reintroduced, compute the doppler + // speed pitch factor and apply it here. + break; + default: + AL.currentContext.err = 0xA002 /* AL_INVALID_ENUM */; + break; + } + } + + function _glfwMakeContextCurrent(winid) {} + + function _emscripten_set_touchcancel_callback(target, userData, useCapture, callbackfunc) { + JSEvents.registerTouchEventCallback(target, userData, useCapture, callbackfunc, 25, "touchcancel"); + return 0; + } + + function ___lock() {} + + function _emscripten_glBlendFuncSeparate(x0, x1, x2, x3) { GLctx['blendFuncSeparate'](x0, x1, x2, x3) } + + function _glCullFace(x0) { GLctx['cullFace'](x0) } + + function _emscripten_glGetVertexAttribPointerv(index, pname, pointer) { + if (!pointer) { + // GLES2 specification does not specify how to behave if pointer is a null pointer. Since calling this function does not make sense + // if pointer == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + HEAP32[((pointer)>>2)]=GLctx.getVertexAttribOffset(index, pname); + } + + function _emscripten_glVertexAttrib3f(x0, x1, x2, x3) { GLctx['vertexAttrib3f'](x0, x1, x2, x3) } + + function _alSource3f(source, param, v1, v2, v3) { + if (!AL.currentContext) { + return; + } + var src = AL.currentContext.src[source]; + if (!src) { + AL.currentContext.err = 0xA001 /* AL_INVALID_NAME */; + return; + } + switch (param) { + case 0x1004 /* AL_POSITION */: + src.position[0] = v1; + src.position[1] = v2; + src.position[2] = v3; + break; + case 0x1005 /* AL_DIRECTION */: + src.direction[0] = v1; + src.direction[1] = v2; + src.direction[2] = v3; + break; + case 0x1006 /* AL_VELOCITY */: + src.velocity[0] = v1; + src.velocity[1] = v2; + src.velocity[2] = v3; + break; + default: + AL.currentContext.err = 0xA002 /* AL_INVALID_ENUM */; + break; + } + } + + function _emscripten_glEnable(x0) { GLctx['enable'](x0) } + + function _emscripten_glNormalPointer() { + Module['printErr']('missing function: emscripten_glNormalPointer'); abort(-1); + } + + + var _emscripten_GetProcAddress=undefined; + Module["_emscripten_GetProcAddress"] = _emscripten_GetProcAddress; + + var EGL={errorCode:12288,defaultDisplayInitialized:false,currentContext:0,currentReadSurface:0,currentDrawSurface:0,stringCache:{},setErrorCode:function (code) { + EGL.errorCode = code; + },chooseConfig:function (display, attribList, config, config_size, numConfigs) { + if (display != 62000 /* Magic ID for Emscripten 'default display' */) { + EGL.setErrorCode(0x3008 /* EGL_BAD_DISPLAY */); + return 0; + } + // TODO: read attribList. + if ((!config || !config_size) && !numConfigs) { + EGL.setErrorCode(0x300C /* EGL_BAD_PARAMETER */); + return 0; + } + if (numConfigs) { + HEAP32[((numConfigs)>>2)]=1; // Total number of supported configs: 1. + } + if (config && config_size > 0) { + HEAP32[((config)>>2)]=62002; + } + + EGL.setErrorCode(0x3000 /* EGL_SUCCESS */); + return 1; + }};function _eglGetProcAddress(name_) { + return _emscripten_GetProcAddress(name_); + } + + function _glDeleteProgram(id) { + if (!id) return; + var program = GL.programs[id]; + if (!program) { // glDeleteProgram actually signals an error when deleting a nonexisting object, unlike some other GL delete functions. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + GLctx.deleteProgram(program); + program.name = 0; + GL.programs[id] = null; + GL.programInfos[id] = null; + } + + function _alSourcePlay(source) { + if (!AL.currentContext) { + return; + } + var src = AL.currentContext.src[source]; + if (!src) { + AL.currentContext.err = 0xA001 /* AL_INVALID_NAME */; + return; + } + AL.setSourceState(src, 0x1012 /* AL_PLAYING */); + } + + function _glAttachShader(program, shader) { + GLctx.attachShader(GL.programs[program], + GL.shaders[shader]); + } + + function _glfwGetPrimaryMonitor() { + return 1; + } + + + function emscriptenWebGLGetVertexAttrib(index, pname, params, type) { + if (!params) { + // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense + // if params == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + var data = GLctx.getVertexAttrib(index, pname); + if (pname == 0x889F/*VERTEX_ATTRIB_ARRAY_BUFFER_BINDING*/) { + HEAP32[((params)>>2)]=data["name"]; + } else if (typeof data == 'number' || typeof data == 'boolean') { + switch (type) { + case 'Integer': HEAP32[((params)>>2)]=data; break; + case 'Float': HEAPF32[((params)>>2)]=data; break; + case 'FloatToInteger': HEAP32[((params)>>2)]=Math.fround(data); break; + default: throw 'internal emscriptenWebGLGetVertexAttrib() error, bad type: ' + type; + } + } else { + for (var i = 0; i < data.length; i++) { + switch (type) { + case 'Integer': HEAP32[(((params)+(i))>>2)]=data[i]; break; + case 'Float': HEAPF32[(((params)+(i))>>2)]=data[i]; break; + case 'FloatToInteger': HEAP32[(((params)+(i))>>2)]=Math.fround(data[i]); break; + default: throw 'internal emscriptenWebGLGetVertexAttrib() error, bad type: ' + type; + } + } + } + }function _emscripten_glGetVertexAttribfv(index, pname, params) { + // N.B. This function may only be called if the vertex attribute was specified using the function glVertexAttrib*f(), + // otherwise the results are undefined. (GLES3 spec 6.1.12) + emscriptenWebGLGetVertexAttrib(index, pname, params, 'Float'); + } + + function _emscripten_set_touchstart_callback(target, userData, useCapture, callbackfunc) { + JSEvents.registerTouchEventCallback(target, userData, useCapture, callbackfunc, 22, "touchstart"); + return 0; + } + + function _emscripten_glDeleteShader(id) { + if (!id) return; + var shader = GL.shaders[id]; + if (!shader) { // glDeleteShader actually signals an error when deleting a nonexisting object, unlike some other GL delete functions. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + GLctx.deleteShader(shader); + GL.shaders[id] = null; + } + + function _emscripten_glVertexPointer(){ throw 'Legacy GL function (glVertexPointer) called. If you want legacy GL emulation, you need to compile with -s LEGACY_GL_EMULATION=1 to enable legacy GL emulation.'; } + + function _emscripten_glDeleteBuffers(n, buffers) { + for (var i = 0; i < n; i++) { + var id = HEAP32[(((buffers)+(i*4))>>2)]; + var buffer = GL.buffers[id]; + + // From spec: "glDeleteBuffers silently ignores 0's and names that do not + // correspond to existing buffer objects." + if (!buffer) continue; + + GLctx.deleteBuffer(buffer); + buffer.name = 0; + GL.buffers[id] = null; + + if (id == GL.currArrayBuffer) GL.currArrayBuffer = 0; + if (id == GL.currElementArrayBuffer) GL.currElementArrayBuffer = 0; + } + } + + function _emscripten_glTexParameteriv(target, pname, params) { + var param = HEAP32[((params)>>2)]; + GLctx.texParameteri(target, pname, param); + } + + function _glDrawElements(mode, count, type, indices) { + + GLctx.drawElements(mode, count, type, indices); + + } + + function _glfwTerminate() { + window.removeEventListener("keydown", GLFW.onKeydown, true); + window.removeEventListener("keypress", GLFW.onKeyPress, true); + window.removeEventListener("keyup", GLFW.onKeyup, true); + Module["canvas"].removeEventListener("mousemove", GLFW.onMousemove, true); + Module["canvas"].removeEventListener("mousedown", GLFW.onMouseButtonDown, true); + Module["canvas"].removeEventListener("mouseup", GLFW.onMouseButtonUp, true); + Module["canvas"].removeEventListener('wheel', GLFW.onMouseWheel, true); + Module["canvas"].removeEventListener('mousewheel', GLFW.onMouseWheel, true); + Module["canvas"].removeEventListener('mouseenter', GLFW.onMouseenter, true); + Module["canvas"].removeEventListener('mouseleave', GLFW.onMouseleave, true); + Module["canvas"].width = Module["canvas"].height = 1; + GLFW.windows = null; + GLFW.active = null; + } + + function _emscripten_glUniformMatrix2fv(location, count, transpose, value) { + + + var view; + if (4*count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[4*count-1]; + for (var i = 0; i < 4*count; i += 4) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; + view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; + view[i+3] = HEAPF32[(((value)+(4*i+12))>>2)]; + } + } else { + view = HEAPF32.subarray((value)>>2,(value+count*16)>>2); + } + GLctx.uniformMatrix2fv(GL.uniforms[location], !!transpose, view); + } + + function ___syscall5(which, varargs) {SYSCALLS.varargs = varargs; + try { + // open + var pathname = SYSCALLS.getStr(), flags = SYSCALLS.get(), mode = SYSCALLS.get() // optional TODO + var stream = FS.open(pathname, flags, mode); + return stream.fd; + } catch (e) { + if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno; + } + } + + function ___syscall6(which, varargs) {SYSCALLS.varargs = varargs; + try { + // close + var stream = SYSCALLS.getStreamFromFD(); + FS.close(stream); + return 0; + } catch (e) { + if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno; + } + } + + function _llvm_stacksave() { + var self = _llvm_stacksave; + if (!self.LLVM_SAVEDSTACKS) { + self.LLVM_SAVEDSTACKS = []; + } + self.LLVM_SAVEDSTACKS.push(Runtime.stackSave()); + return self.LLVM_SAVEDSTACKS.length-1; + } + + function _emscripten_glGetVertexAttribiv(index, pname, params) { + // N.B. This function may only be called if the vertex attribute was specified using the function glVertexAttrib*f(), + // otherwise the results are undefined. (GLES3 spec 6.1.12) + emscriptenWebGLGetVertexAttrib(index, pname, params, 'FloatToInteger'); + } + + function _emscripten_glUniformMatrix4fv(location, count, transpose, value) { + + + var view; + if (16*count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[16*count-1]; + for (var i = 0; i < 16*count; i += 16) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; + view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; + view[i+3] = HEAPF32[(((value)+(4*i+12))>>2)]; + view[i+4] = HEAPF32[(((value)+(4*i+16))>>2)]; + view[i+5] = HEAPF32[(((value)+(4*i+20))>>2)]; + view[i+6] = HEAPF32[(((value)+(4*i+24))>>2)]; + view[i+7] = HEAPF32[(((value)+(4*i+28))>>2)]; + view[i+8] = HEAPF32[(((value)+(4*i+32))>>2)]; + view[i+9] = HEAPF32[(((value)+(4*i+36))>>2)]; + view[i+10] = HEAPF32[(((value)+(4*i+40))>>2)]; + view[i+11] = HEAPF32[(((value)+(4*i+44))>>2)]; + view[i+12] = HEAPF32[(((value)+(4*i+48))>>2)]; + view[i+13] = HEAPF32[(((value)+(4*i+52))>>2)]; + view[i+14] = HEAPF32[(((value)+(4*i+56))>>2)]; + view[i+15] = HEAPF32[(((value)+(4*i+60))>>2)]; + } + } else { + view = HEAPF32.subarray((value)>>2,(value+count*64)>>2); + } + GLctx.uniformMatrix4fv(GL.uniforms[location], !!transpose, view); + } + + function _emscripten_glDrawArraysInstanced(mode, first, count, primcount) { + GLctx['drawArraysInstanced'](mode, first, count, primcount); + } + + function _emscripten_glEnableClientState() { + Module['printErr']('missing function: emscripten_glEnableClientState'); abort(-1); + } + + function _emscripten_glGetPointerv() { + Module['printErr']('missing function: emscripten_glGetPointerv'); abort(-1); + } + + function ___syscall140(which, varargs) {SYSCALLS.varargs = varargs; + try { + // llseek + var stream = SYSCALLS.getStreamFromFD(), offset_high = SYSCALLS.get(), offset_low = SYSCALLS.get(), result = SYSCALLS.get(), whence = SYSCALLS.get(); + var offset = offset_low; + assert(offset_high === 0); + FS.llseek(stream, offset, whence); + HEAP32[((result)>>2)]=stream.position; + if (stream.getdents && offset === 0 && whence === 0) stream.getdents = null; // reset readdir state + return 0; + } catch (e) { + if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno; + } + } + + function ___syscall146(which, varargs) {SYSCALLS.varargs = varargs; + try { + // writev + var stream = SYSCALLS.getStreamFromFD(), iov = SYSCALLS.get(), iovcnt = SYSCALLS.get(); + return SYSCALLS.doWritev(stream, iov, iovcnt); + } catch (e) { + if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno; + } + } + + function _emscripten_glUniform1i(location, v0) { + GLctx.uniform1i(GL.uniforms[location], v0); + } + + function ___syscall145(which, varargs) {SYSCALLS.varargs = varargs; + try { + // readv + var stream = SYSCALLS.getStreamFromFD(), iov = SYSCALLS.get(), iovcnt = SYSCALLS.get(); + return SYSCALLS.doReadv(stream, iov, iovcnt); + } catch (e) { + if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno; + } + } + + function _emscripten_glStencilMask(x0) { GLctx['stencilMask'](x0) } + + function _emscripten_glStencilFuncSeparate(x0, x1, x2, x3) { GLctx['stencilFuncSeparate'](x0, x1, x2, x3) } + + + Module["_i64Subtract"] = _i64Subtract; + + + Module["_i64Add"] = _i64Add; + + function _emscripten_set_touchend_callback(target, userData, useCapture, callbackfunc) { + JSEvents.registerTouchEventCallback(target, userData, useCapture, callbackfunc, 23, "touchend"); + return 0; + } + + function _glUseProgram(program) { + GLctx.useProgram(program ? GL.programs[program] : null); + } + + function _emscripten_glDisableVertexAttribArray(index) { + GLctx.disableVertexAttribArray(index); + } + + function _emscripten_glVertexAttrib1f(x0, x1) { GLctx['vertexAttrib1f'](x0, x1) } + + function _emscripten_glFinish() { GLctx['finish']() } + + function _glDrawArrays(mode, first, count) { + + GLctx.drawArrays(mode, first, count); + + } + + function _emscripten_glDepthFunc(x0) { GLctx['depthFunc'](x0) } + + function _alcOpenDevice(deviceName) { + if (typeof(AudioContext) !== "undefined" || + typeof(webkitAudioContext) !== "undefined") { + return 1; // non-null pointer -- we just simulate one device + } else { + return 0; + } + } + + function _emscripten_get_num_gamepads() { + // Polling gamepads generates garbage, so don't do it when we know there are no gamepads connected. + if (!JSEvents.numGamepadsConnected) return 0; + + __emscripten_sample_gamepad_data(); + if (!JSEvents.lastGamepadState) return -1; + return JSEvents.lastGamepadState.length; + } + + function _glGetProgramInfoLog(program, maxLength, length, infoLog) { + var log = GLctx.getProgramInfoLog(GL.programs[program]); + if (log === null) log = '(unknown error)'; + + if (maxLength > 0 && infoLog) { + var numBytesWrittenExclNull = stringToUTF8(log, infoLog, maxLength); + if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; + } else { + if (length) HEAP32[((length)>>2)]=0; + } + } + + function _emscripten_glUniform4iv(location, count, value) { + + + GLctx.uniform4iv(GL.uniforms[location], HEAP32.subarray((value)>>2,(value+count*16)>>2)); + } + + function _glClear(x0) { GLctx['clear'](x0) } + + function _emscripten_glLoadIdentity(){ throw 'Legacy GL function (glLoadIdentity) called. If you want legacy GL emulation, you need to compile with -s LEGACY_GL_EMULATION=1 to enable legacy GL emulation.'; } + + function _emscripten_glUniform3fv(location, count, value) { + + + var view; + if (3*count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[3*count-1]; + for (var i = 0; i < 3*count; i += 3) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; + view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; + } + } else { + view = HEAPF32.subarray((value)>>2,(value+count*12)>>2); + } + GLctx.uniform3fv(GL.uniforms[location], view); + } + + function _emscripten_glIsTexture(texture) { + var texture = GL.textures[texture]; + if (!texture) return 0; + return GLctx.isTexture(texture); + } + + function _glEnableVertexAttribArray(index) { + GLctx.enableVertexAttribArray(index); + } + + function _emscripten_glAttachShader(program, shader) { + GLctx.attachShader(GL.programs[program], + GL.shaders[shader]); + } + + function _alSourceUnqueueBuffers(source, count, buffers) { + if (!AL.currentContext) { + return; + } + var src = AL.currentContext.src[source]; + if (!src) { + AL.currentContext.err = 0xA001 /* AL_INVALID_NAME */; + return; + } + + if (count > src.buffersPlayed) { + AL.currentContext.err = 0xA003 /* AL_INVALID_VALUE */; + return; + } + + for (var i = 0; i < count; i++) { + var entry = src.queue.shift(); + // Write the buffers index out to the return list. + for (var j = 0; j < AL.currentContext.buf.length; j++) { + var b = AL.currentContext.buf[j]; + if (b && b == entry.buffer) { + HEAP32[(((buffers)+(i*4))>>2)]=j+1; + break; + } + } + src.buffersPlayed--; + } + + AL.updateSource(src); + } + + function _glUniform4f(location, v0, v1, v2, v3) { + GLctx.uniform4f(GL.uniforms[location], v0, v1, v2, v3); + } + + function _emscripten_glVertexAttrib2f(x0, x1, x2) { GLctx['vertexAttrib2f'](x0, x1, x2) } + + function _glfwCreateWindow(width, height, title, monitor, share) { + return GLFW.createWindow(width, height, title, monitor, share); + } + + function _alGetSourcei(source, param, value) { + if (!AL.currentContext) { + return; + } + var src = AL.currentContext.src[source]; + if (!src) { + AL.currentContext.err = 0xA001 /* AL_INVALID_NAME */; + return; + } + + // Being that we have no way to receive end events from buffer nodes, + // we currently proccess and update a source's buffer queue every + // ~QUEUE_INTERVAL milliseconds. However, this interval is not precise, + // so we also forcefully update the source when alGetSourcei is queried + // to aid in the common scenario of application calling alGetSourcei(AL_BUFFERS_PROCESSED) + // to recycle buffers. + AL.updateSource(src); + + switch (param) { + case 0x202 /* AL_SOURCE_RELATIVE */: + HEAP32[((value)>>2)]=src.panner ? 1 : 0; + break; + case 0x1001 /* AL_CONE_INNER_ANGLE */: + HEAP32[((value)>>2)]=src.coneInnerAngle; + break; + case 0x1002 /* AL_CONE_OUTER_ANGLE */: + HEAP32[((value)>>2)]=src.coneOuterAngle; + break; + case 0x1007 /* AL_LOOPING */: + HEAP32[((value)>>2)]=src.loop; + break; + case 0x1009 /* AL_BUFFER */: + if (!src.queue.length) { + HEAP32[((value)>>2)]=0; + } else { + // Find the first unprocessed buffer. + var buffer = src.queue[src.buffersPlayed].buffer; + // Return its index. + for (var i = 0; i < AL.currentContext.buf.length; ++i) { + if (buffer == AL.currentContext.buf[i]) { + HEAP32[((value)>>2)]=i+1; + return; + } + } + HEAP32[((value)>>2)]=0; + } + break; + case 0x1010 /* AL_SOURCE_STATE */: + HEAP32[((value)>>2)]=src.state; + break; + case 0x1015 /* AL_BUFFERS_QUEUED */: + HEAP32[((value)>>2)]=src.queue.length + break; + case 0x1016 /* AL_BUFFERS_PROCESSED */: + if (src.loop) { + HEAP32[((value)>>2)]=0 + } else { + HEAP32[((value)>>2)]=src.buffersPlayed + } + break; + default: + AL.currentContext.err = 0xA002 /* AL_INVALID_ENUM */; + break; + } + } + + function _emscripten_glClearStencil(x0) { GLctx['clearStencil'](x0) } + + function _emscripten_glDetachShader(program, shader) { + GLctx.detachShader(GL.programs[program], + GL.shaders[shader]); + } + + function _emscripten_glDeleteVertexArrays(n, vaos) { + for (var i = 0; i < n; i++) { + var id = HEAP32[(((vaos)+(i*4))>>2)]; + GLctx['deleteVertexArray'](GL.vaos[id]); + GL.vaos[id] = null; + } + } + + function _alGenSources(count, sources) { + if (!AL.currentContext) { + return; + } + for (var i = 0; i < count; ++i) { + var gain = AL.currentContext.ctx.createGain(); + gain.connect(AL.currentContext.gain); + AL.currentContext.src[AL.newSrcId] = { + context: AL.currentContext, + state: 0x1011 /* AL_INITIAL */, + queue: [], + loop: false, + playbackRate: 1, + _position: [0, 0, 0], + _velocity: [0, 0, 0], + _direction: [0, 0, 0], + get refDistance() { + return this._refDistance || 1; + }, + set refDistance(val) { + this._refDistance = val; + if (this.panner) this.panner.refDistance = val; + }, + get maxDistance() { + return this._maxDistance || 10000; + }, + set maxDistance(val) { + this._maxDistance = val; + if (this.panner) this.panner.maxDistance = val; + }, + get rolloffFactor() { + return this._rolloffFactor || 1; + }, + set rolloffFactor(val) { + this._rolloffFactor = val; + if (this.panner) this.panner.rolloffFactor = val; + }, + get position() { + return this._position; + }, + set position(val) { + this._position[0] = val[0]; + this._position[1] = val[1]; + this._position[2] = val[2]; + if (this.panner) this.panner.setPosition(val[0], val[1], val[2]); + }, + get velocity() { + return this._velocity; + }, + set velocity(val) { + this._velocity[0] = val[0]; + this._velocity[1] = val[1]; + this._velocity[2] = val[2]; + // TODO: The velocity values are not currently used to implement a doppler effect. + // If support for doppler effect is reintroduced, compute the doppler + // speed pitch factor and apply it here. + }, + get direction() { + return this._direction; + }, + set direction(val) { + this._direction[0] = val[0]; + this._direction[1] = val[1]; + this._direction[2] = val[2]; + if (this.panner) this.panner.setOrientation(val[0], val[1], val[2]); + }, + get coneOuterGain() { + return this._coneOuterGain || 0.0; + }, + set coneOuterGain(val) { + this._coneOuterGain = val; + if (this.panner) this.panner.coneOuterGain = val; + }, + get coneInnerAngle() { + return this._coneInnerAngle || 360.0; + }, + set coneInnerAngle(val) { + this._coneInnerAngle = val; + if (this.panner) this.panner.coneInnerAngle = val; + }, + get coneOuterAngle() { + return this._coneOuterAngle || 360.0; + }, + set coneOuterAngle(val) { + this._coneOuterAngle = val; + if (this.panner) this.panner.coneOuterAngle = val; + }, + gain: gain, + panner: null, + buffersPlayed: 0, + bufferPosition: 0 + }; + HEAP32[(((sources)+(i*4))>>2)]=AL.newSrcId; + AL.newSrcId++; + } + } + + function _glfwInit() { + if (GLFW.windows) return 1; // GL_TRUE + + GLFW.initialTime = GLFW.getTime(); + GLFW.hints = GLFW.defaultHints; + GLFW.windows = new Array() + GLFW.active = null; + + window.addEventListener("keydown", GLFW.onKeydown, true); + window.addEventListener("keypress", GLFW.onKeyPress, true); + window.addEventListener("keyup", GLFW.onKeyup, true); + Module["canvas"].addEventListener("mousemove", GLFW.onMousemove, true); + Module["canvas"].addEventListener("mousedown", GLFW.onMouseButtonDown, true); + Module["canvas"].addEventListener("mouseup", GLFW.onMouseButtonUp, true); + Module["canvas"].addEventListener('wheel', GLFW.onMouseWheel, true); + Module["canvas"].addEventListener('mousewheel', GLFW.onMouseWheel, true); + Module["canvas"].addEventListener('mouseenter', GLFW.onMouseenter, true); + Module["canvas"].addEventListener('mouseleave', GLFW.onMouseleave, true); + + Browser.resizeListeners.push(function(width, height) { + GLFW.onCanvasResize(width, height); + }); + return 1; // GL_TRUE + } + + function _emscripten_glGetTexParameteriv(target, pname, params) { + if (!params) { + // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense + // if p == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + HEAP32[((params)>>2)]=GLctx.getTexParameter(target, pname); + } + + function _alDeleteSources(count, sources) { + if (!AL.currentContext) { + return; + } + for (var i = 0; i < count; ++i) { + var sourceIdx = HEAP32[(((sources)+(i*4))>>2)]; + delete AL.currentContext.src[sourceIdx]; + } + } + + function _glfwSwapBuffers(winid) { + GLFW.swapBuffers(winid); + } + + function _emscripten_glGenerateMipmap(x0) { GLctx['generateMipmap'](x0) } + + function _emscripten_glCullFace(x0) { GLctx['cullFace'](x0) } + + function _emscripten_glUniform4f(location, v0, v1, v2, v3) { + GLctx.uniform4f(GL.uniforms[location], v0, v1, v2, v3); + } + + function _glDisableVertexAttribArray(index) { + GLctx.disableVertexAttribArray(index); + } + + function _emscripten_glUseProgram(program) { + GLctx.useProgram(program ? GL.programs[program] : null); + } + + function _emscripten_glHint(x0, x1) { GLctx['hint'](x0, x1) } + + function _emscripten_glUniform2fv(location, count, value) { + + + var view; + if (2*count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[2*count-1]; + for (var i = 0; i < 2*count; i += 2) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; + } + } else { + view = HEAPF32.subarray((value)>>2,(value+count*8)>>2); + } + GLctx.uniform2fv(GL.uniforms[location], view); + } + + function _glfwSwapInterval(interval) { + interval = Math.abs(interval); // GLFW uses negative values to enable GLX_EXT_swap_control_tear, which we don't have, so just treat negative and positive the same. + if (interval == 0) _emscripten_set_main_loop_timing(0/*EM_TIMING_SETTIMEOUT*/, 0); + else _emscripten_set_main_loop_timing(1/*EM_TIMING_RAF*/, interval); + } + + function _glGetShaderInfoLog(shader, maxLength, length, infoLog) { + var log = GLctx.getShaderInfoLog(GL.shaders[shader]); + if (log === null) log = '(unknown error)'; + if (maxLength > 0 && infoLog) { + var numBytesWrittenExclNull = stringToUTF8(log, infoLog, maxLength); + if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; + } else { + if (length) HEAP32[((length)>>2)]=0; + } + } + + function _emscripten_glMatrixMode(){ throw 'Legacy GL function (glMatrixMode) called. If you want legacy GL emulation, you need to compile with -s LEGACY_GL_EMULATION=1 to enable legacy GL emulation.'; } + + function _abort() { + Module['abort'](); + } + + function _emscripten_glFramebufferRenderbuffer(target, attachment, renderbuffertarget, renderbuffer) { + GLctx.framebufferRenderbuffer(target, attachment, renderbuffertarget, + GL.renderbuffers[renderbuffer]); + } + + function _alGenBuffers(count, buffers) { + if (!AL.currentContext) { + return; + } + for (var i = 0; i < count; ++i) { + AL.currentContext.buf.push(null); + HEAP32[(((buffers)+(i*4))>>2)]=AL.currentContext.buf.length; + } + } + + function _emscripten_glDeleteFramebuffers(n, framebuffers) { + for (var i = 0; i < n; ++i) { + var id = HEAP32[(((framebuffers)+(i*4))>>2)]; + var framebuffer = GL.framebuffers[id]; + if (!framebuffer) continue; // GL spec: "glDeleteFramebuffers silently ignores 0s and names that do not correspond to existing framebuffer objects". + GLctx.deleteFramebuffer(framebuffer); + framebuffer.name = 0; + GL.framebuffers[id] = null; + } + } + + function _emscripten_glIsBuffer(buffer) { + var b = GL.buffers[buffer]; + if (!b) return 0; + return GLctx.isBuffer(b); + } + + function _emscripten_glUniform2iv(location, count, value) { + + + GLctx.uniform2iv(GL.uniforms[location], HEAP32.subarray((value)>>2,(value+count*8)>>2)); + } + + function _emscripten_glVertexAttrib1fv(index, v) { + + GLctx.vertexAttrib1f(index, HEAPF32[v>>2]); + } + + function _glEnable(x0) { GLctx['enable'](x0) } + + function _alBufferData(buffer, format, data, size, freq) { + if (!AL.currentContext) { + return; + } + if (buffer > AL.currentContext.buf.length) { + return; + } + + try { + switch (format) { + case 0x1100 /* AL_FORMAT_MONO8 */: + var buf = AL.currentContext.ctx.createBuffer(1, size, freq); + buf.bytesPerSample = 1; + var channel0 = buf.getChannelData(0); + for (var i = 0; i < size; ++i) channel0[i] = HEAPU8[data++] * 0.0078125 /* 1/128 */ - 1.0; + break; + case 0x1101 /* AL_FORMAT_MONO16 */: + var buf = AL.currentContext.ctx.createBuffer(1, size>>1, freq); + buf.bytesPerSample = 2; + var channel0 = buf.getChannelData(0); + data >>= 1; + for (var i = 0; i < size>>1; ++i) channel0[i] = HEAP16[data++] * 0.000030517578125 /* 1/32768 */; + break; + case 0x1102 /* AL_FORMAT_STEREO8 */: + var buf = AL.currentContext.ctx.createBuffer(2, size>>1, freq); + buf.bytesPerSample = 1; + var channel0 = buf.getChannelData(0); + var channel1 = buf.getChannelData(1); + for (var i = 0; i < size>>1; ++i) { + channel0[i] = HEAPU8[data++] * 0.0078125 /* 1/128 */ - 1.0; + channel1[i] = HEAPU8[data++] * 0.0078125 /* 1/128 */ - 1.0; + } + break; + case 0x1103 /* AL_FORMAT_STEREO16 */: + var buf = AL.currentContext.ctx.createBuffer(2, size>>2, freq); + buf.bytesPerSample = 2; + var channel0 = buf.getChannelData(0); + var channel1 = buf.getChannelData(1); + data >>= 1; + for (var i = 0; i < size>>2; ++i) { + channel0[i] = HEAP16[data++] * 0.000030517578125 /* 1/32768 */; + channel1[i] = HEAP16[data++] * 0.000030517578125 /* 1/32768 */; + } + break; + case 0x10010 /* AL_FORMAT_MONO_FLOAT32 */: + var buf = AL.currentContext.ctx.createBuffer(1, size>>2, freq); + buf.bytesPerSample = 4; + var channel0 = buf.getChannelData(0); + data >>= 2; + for (var i = 0; i < size>>2; ++i) channel0[i] = HEAPF32[data++]; + break; + case 0x10011 /* AL_FORMAT_STEREO_FLOAT32 */: + var buf = AL.currentContext.ctx.createBuffer(2, size>>3, freq); + buf.bytesPerSample = 4; + var channel0 = buf.getChannelData(0); + var channel1 = buf.getChannelData(1); + data >>= 2; + for (var i = 0; i < size>>2; ++i) { + channel0[i] = HEAPF32[data++]; + channel1[i] = HEAPF32[data++]; + } + break; + default: + AL.currentContext.err = 0xA003 /* AL_INVALID_VALUE */; + break; + } + AL.currentContext.buf[buffer - 1] = buf; + } catch (e) { + AL.currentContext.err = 0xA003 /* AL_INVALID_VALUE */; + } + } + + function _alSourceStop(source) { + if (!AL.currentContext) { + return; + } + var src = AL.currentContext.src[source]; + if (!src) { + AL.currentContext.err = 0xA001 /* AL_INVALID_NAME */; + return; + } + AL.setSourceState(src, 0x1014 /* AL_STOPPED */); + } + + function _emscripten_glGenFramebuffers(n, ids) { + for (var i = 0; i < n; ++i) { + var framebuffer = GLctx.createFramebuffer(); + if (!framebuffer) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); + while(i < n) HEAP32[(((ids)+(i++*4))>>2)]=0; + return; + } + var id = GL.getNewId(GL.framebuffers); + framebuffer.name = id; + GL.framebuffers[id] = framebuffer; + HEAP32[(((ids)+(i*4))>>2)]=id; + } + } + + + + function emscriptenWebGLComputeImageSize(width, height, sizePerPixel, alignment) { + function roundedToNextMultipleOf(x, y) { + return Math.floor((x + y - 1) / y) * y + } + var plainRowSize = width * sizePerPixel; + var alignedRowSize = roundedToNextMultipleOf(plainRowSize, alignment); + return (height <= 0) ? 0 : + ((height - 1) * alignedRowSize + plainRowSize); + }function emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, internalFormat) { + var sizePerPixel; + var numChannels; + switch(format) { + case 0x1906 /* GL_ALPHA */: + case 0x1909 /* GL_LUMINANCE */: + case 0x1902 /* GL_DEPTH_COMPONENT */: + numChannels = 1; + break; + case 0x190A /* GL_LUMINANCE_ALPHA */: + numChannels = 2; + break; + case 0x1907 /* GL_RGB */: + case 0x8C40 /* GL_SRGB_EXT */: + numChannels = 3; + break; + case 0x1908 /* GL_RGBA */: + case 0x8C42 /* GL_SRGB_ALPHA_EXT */: + numChannels = 4; + break; + default: + GL.recordError(0x0500); // GL_INVALID_ENUM + return null; + } + switch (type) { + case 0x1401 /* GL_UNSIGNED_BYTE */: + sizePerPixel = numChannels*1; + break; + case 0x1403 /* GL_UNSIGNED_SHORT */: + case 0x8D61 /* GL_HALF_FLOAT_OES */: + sizePerPixel = numChannels*2; + break; + case 0x1405 /* GL_UNSIGNED_INT */: + case 0x1406 /* GL_FLOAT */: + sizePerPixel = numChannels*4; + break; + case 0x84FA /* GL_UNSIGNED_INT_24_8_WEBGL/GL_UNSIGNED_INT_24_8 */: + sizePerPixel = 4; + break; + case 0x8363 /* GL_UNSIGNED_SHORT_5_6_5 */: + case 0x8033 /* GL_UNSIGNED_SHORT_4_4_4_4 */: + case 0x8034 /* GL_UNSIGNED_SHORT_5_5_5_1 */: + sizePerPixel = 2; + break; + default: + GL.recordError(0x0500); // GL_INVALID_ENUM + return null; + } + var bytes = emscriptenWebGLComputeImageSize(width, height, sizePerPixel, GL.unpackAlignment); + switch(type) { + case 0x1401 /* GL_UNSIGNED_BYTE */: + return HEAPU8.subarray((pixels),(pixels+bytes)); + case 0x1406 /* GL_FLOAT */: + return HEAPF32.subarray((pixels)>>2,(pixels+bytes)>>2); + case 0x1405 /* GL_UNSIGNED_INT */: + case 0x84FA /* GL_UNSIGNED_INT_24_8_WEBGL/GL_UNSIGNED_INT_24_8 */: + return HEAPU32.subarray((pixels)>>2,(pixels+bytes)>>2); + case 0x1403 /* GL_UNSIGNED_SHORT */: + case 0x8363 /* GL_UNSIGNED_SHORT_5_6_5 */: + case 0x8033 /* GL_UNSIGNED_SHORT_4_4_4_4 */: + case 0x8034 /* GL_UNSIGNED_SHORT_5_5_5_1 */: + case 0x8D61 /* GL_HALF_FLOAT_OES */: + return HEAPU16.subarray((pixels)>>1,(pixels+bytes)>>1); + default: + GL.recordError(0x0500); // GL_INVALID_ENUM + return null; + } + }function _emscripten_glTexSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixels) { + var pixelData = null; + if (pixels) pixelData = emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, 0); + GLctx.texSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixelData); + } + + function _emscripten_glPolygonOffset(x0, x1) { GLctx['polygonOffset'](x0, x1) } + + var _emscripten_asm_const_int=true; + + function _emscripten_glUniform2f(location, v0, v1) { + GLctx.uniform2f(GL.uniforms[location], v0, v1); + } + + function _glGetAttribLocation(program, name) { + program = GL.programs[program]; + name = Pointer_stringify(name); + return GLctx.getAttribLocation(program, name); + } + + function _glfwWindowHint(target, hint) { + GLFW.hints[target] = hint; + } + + function _emscripten_glUniform2i(location, v0, v1) { + GLctx.uniform2i(GL.uniforms[location], v0, v1); + } + + function _glBlendFunc(x0, x1) { GLctx['blendFunc'](x0, x1) } + + function _glCreateProgram() { + var id = GL.getNewId(GL.programs); + var program = GLctx.createProgram(); + program.name = id; + GL.programs[id] = program; + return id; + } + + function _emscripten_glDeleteRenderbuffers(n, renderbuffers) { + for (var i = 0; i < n; i++) { + var id = HEAP32[(((renderbuffers)+(i*4))>>2)]; + var renderbuffer = GL.renderbuffers[id]; + if (!renderbuffer) continue; // GL spec: "glDeleteRenderbuffers silently ignores 0s and names that do not correspond to existing renderbuffer objects". + GLctx.deleteRenderbuffer(renderbuffer); + renderbuffer.name = 0; + GL.renderbuffers[id] = null; + } + } + + function _emscripten_glGetBufferParameteriv(target, value, data) { + if (!data) { + // GLES2 specification does not specify how to behave if data is a null pointer. Since calling this function does not make sense + // if data == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + HEAP32[((data)>>2)]=GLctx.getBufferParameter(target, value); + } + + + function emscriptenWebGLGetUniform(program, location, params, type) { + if (!params) { + // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense + // if params == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + var data = GLctx.getUniform(GL.programs[program], GL.uniforms[location]); + if (typeof data == 'number' || typeof data == 'boolean') { + switch (type) { + case 'Integer': HEAP32[((params)>>2)]=data; break; + case 'Float': HEAPF32[((params)>>2)]=data; break; + default: throw 'internal emscriptenWebGLGetUniform() error, bad type: ' + type; + } + } else { + for (var i = 0; i < data.length; i++) { + switch (type) { + case 'Integer': HEAP32[(((params)+(i))>>2)]=data[i]; break; + case 'Float': HEAPF32[(((params)+(i))>>2)]=data[i]; break; + default: throw 'internal emscriptenWebGLGetUniform() error, bad type: ' + type; + } + } + } + }function _emscripten_glGetUniformiv(program, location, params) { + emscriptenWebGLGetUniform(program, location, params, 'Integer'); + } + + function _emscripten_glDepthMask(flag) { + GLctx.depthMask(!!flag); + } + + + function _emscripten_glDepthRangef(x0, x1) { GLctx['depthRange'](x0, x1) } + + function _emscripten_glDepthRange(x0, x1) { GLctx['depthRange'](x0, x1) } + + function _emscripten_set_fullscreenchange_callback(target, userData, useCapture, callbackfunc) { + if (typeof JSEvents.fullscreenEnabled() === 'undefined') return -1; + if (!target) target = document; + else { + target = JSEvents.findEventTarget(target); + if (!target) return -4; + } + JSEvents.registerFullscreenChangeEventCallback(target, userData, useCapture, callbackfunc, 19, "fullscreenchange"); + JSEvents.registerFullscreenChangeEventCallback(target, userData, useCapture, callbackfunc, 19, "mozfullscreenchange"); + JSEvents.registerFullscreenChangeEventCallback(target, userData, useCapture, callbackfunc, 19, "webkitfullscreenchange"); + JSEvents.registerFullscreenChangeEventCallback(target, userData, useCapture, callbackfunc, 19, "msfullscreenchange"); + return 0; + } + + + + Module["___muldsi3"] = ___muldsi3; + Module["___muldi3"] = ___muldi3; + + function _emscripten_glGetShaderPrecisionFormat(shaderType, precisionType, range, precision) { + var result = GLctx.getShaderPrecisionFormat(shaderType, precisionType); + HEAP32[((range)>>2)]=result.rangeMin; + HEAP32[(((range)+(4))>>2)]=result.rangeMax; + HEAP32[((precision)>>2)]=result.precision; + } + + function _emscripten_glUniform1fv(location, count, value) { + + + var view; + if (count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[count-1]; + for (var i = 0; i < count; ++i) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + } + } else { + view = HEAPF32.subarray((value)>>2,(value+count*4)>>2); + } + GLctx.uniform1fv(GL.uniforms[location], view); + } + + function _alSourceQueueBuffers(source, count, buffers) { + if (!AL.currentContext) { + return; + } + var src = AL.currentContext.src[source]; + if (!src) { + AL.currentContext.err = 0xA001 /* AL_INVALID_NAME */; + return; + } + for (var i = 0; i < count; ++i) { + var bufferIdx = HEAP32[(((buffers)+(i*4))>>2)]; + if (bufferIdx > AL.currentContext.buf.length) { + AL.currentContext.err = 0xA001 /* AL_INVALID_NAME */; + return; + } + } + + for (var i = 0; i < count; ++i) { + var bufferIdx = HEAP32[(((buffers)+(i*4))>>2)]; + var buffer = AL.currentContext.buf[bufferIdx - 1]; + src.queue.push({ buffer: buffer, src: null }); + } + + AL.updateSource(src); + } + + function _glDeleteBuffers(n, buffers) { + for (var i = 0; i < n; i++) { + var id = HEAP32[(((buffers)+(i*4))>>2)]; + var buffer = GL.buffers[id]; + + // From spec: "glDeleteBuffers silently ignores 0's and names that do not + // correspond to existing buffer objects." + if (!buffer) continue; + + GLctx.deleteBuffer(buffer); + buffer.name = 0; + GL.buffers[id] = null; + + if (id == GL.currArrayBuffer) GL.currArrayBuffer = 0; + if (id == GL.currElementArrayBuffer) GL.currElementArrayBuffer = 0; + } + } + + function _emscripten_set_gamepaddisconnected_callback(userData, useCapture, callbackfunc) { + if (!navigator.getGamepads && !navigator.webkitGetGamepads) return -1; + JSEvents.registerGamepadEventCallback(window, userData, useCapture, callbackfunc, 27, "gamepaddisconnected"); + return 0; + } + + function _emscripten_glBindProgramARB() { + Module['printErr']('missing function: emscripten_glBindProgramARB'); abort(-1); + } + + function _emscripten_glBindTexture(target, texture) { + GLctx.bindTexture(target, texture ? GL.textures[texture] : null); + } + + function _glfwDefaultWindowHints() { + GLFW.hints = GLFW.defaultHints; + } + + function _emscripten_glDeleteProgram(id) { + if (!id) return; + var program = GL.programs[id]; + if (!program) { // glDeleteProgram actually signals an error when deleting a nonexisting object, unlike some other GL delete functions. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + GLctx.deleteProgram(program); + program.name = 0; + GL.programs[id] = null; + GL.programInfos[id] = null; + } + + function _emscripten_glDisable(x0) { GLctx['disable'](x0) } + + function _emscripten_glVertexAttrib3fv(index, v) { + + GLctx.vertexAttrib3f(index, HEAPF32[v>>2], HEAPF32[v+4>>2], HEAPF32[v+8>>2]); + } + + function _glClearColor(x0, x1, x2, x3) { GLctx['clearColor'](x0, x1, x2, x3) } + + function _emscripten_glGetActiveAttrib(program, index, bufSize, length, size, type, name) { + program = GL.programs[program]; + var info = GLctx.getActiveAttrib(program, index); + if (!info) return; // If an error occurs, nothing will be written to length, size and type and name. + + if (bufSize > 0 && name) { + var numBytesWrittenExclNull = stringToUTF8(info.name, name, bufSize); + if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; + } else { + if (length) HEAP32[((length)>>2)]=0; + } + + if (size) HEAP32[((size)>>2)]=info.size; + if (type) HEAP32[((type)>>2)]=info.type; + } + + function _emscripten_glIsFramebuffer(framebuffer) { + var fb = GL.framebuffers[framebuffer]; + if (!fb) return 0; + return GLctx.isFramebuffer(fb); + } + + function _emscripten_glLineWidth(x0) { GLctx['lineWidth'](x0) } + + function _glfwGetCursorPos(winid, x, y) { + GLFW.getCursorPos(winid, x, y); + } + + function _emscripten_glGetString(name_) { + if (GL.stringCache[name_]) return GL.stringCache[name_]; + var ret; + switch(name_) { + case 0x1F00 /* GL_VENDOR */: + case 0x1F01 /* GL_RENDERER */: + case 0x9245 /* UNMASKED_VENDOR_WEBGL */: + case 0x9246 /* UNMASKED_RENDERER_WEBGL */: + ret = allocate(intArrayFromString(GLctx.getParameter(name_)), 'i8', ALLOC_NORMAL); + break; + case 0x1F02 /* GL_VERSION */: + var glVersion = GLctx.getParameter(GLctx.VERSION); + // return GLES version string corresponding to the version of the WebGL context + { + glVersion = 'OpenGL ES 2.0 (' + glVersion + ')'; + } + ret = allocate(intArrayFromString(glVersion), 'i8', ALLOC_NORMAL); + break; + case 0x1F03 /* GL_EXTENSIONS */: + var exts = GLctx.getSupportedExtensions(); + var gl_exts = []; + for (var i = 0; i < exts.length; ++i) { + gl_exts.push(exts[i]); + gl_exts.push("GL_" + exts[i]); + } + ret = allocate(intArrayFromString(gl_exts.join(' ')), 'i8', ALLOC_NORMAL); + break; + case 0x8B8C /* GL_SHADING_LANGUAGE_VERSION */: + var glslVersion = GLctx.getParameter(GLctx.SHADING_LANGUAGE_VERSION); + // extract the version number 'N.M' from the string 'WebGL GLSL ES N.M ...' + var ver_re = /^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/; + var ver_num = glslVersion.match(ver_re); + if (ver_num !== null) { + if (ver_num[1].length == 3) ver_num[1] = ver_num[1] + '0'; // ensure minor version has 2 digits + glslVersion = 'OpenGL ES GLSL ES ' + ver_num[1] + ' (' + glslVersion + ')'; + } + ret = allocate(intArrayFromString(glslVersion), 'i8', ALLOC_NORMAL); + break; + default: + GL.recordError(0x0500/*GL_INVALID_ENUM*/); + return 0; + } + GL.stringCache[name_] = ret; + return ret; + } + + function _emscripten_glGetAttribLocation(program, name) { + program = GL.programs[program]; + name = Pointer_stringify(name); + return GLctx.getAttribLocation(program, name); + } + + function _emscripten_glRotatef() { + Module['printErr']('missing function: emscripten_glRotatef'); abort(-1); + } + + + function emscriptenWebGLGet(name_, p, type) { + // Guard against user passing a null pointer. + // Note that GLES2 spec does not say anything about how passing a null pointer should be treated. + // Testing on desktop core GL 3, the application crashes on glGetIntegerv to a null pointer, but + // better to report an error instead of doing anything random. + if (!p) { + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + var ret = undefined; + switch(name_) { // Handle a few trivial GLES values + case 0x8DFA: // GL_SHADER_COMPILER + ret = 1; + break; + case 0x8DF8: // GL_SHADER_BINARY_FORMATS + if (type !== 'Integer' && type !== 'Integer64') { + GL.recordError(0x0500); // GL_INVALID_ENUM + } + return; // Do not write anything to the out pointer, since no binary formats are supported. + case 0x8DF9: // GL_NUM_SHADER_BINARY_FORMATS + ret = 0; + break; + case 0x86A2: // GL_NUM_COMPRESSED_TEXTURE_FORMATS + // WebGL doesn't have GL_NUM_COMPRESSED_TEXTURE_FORMATS (it's obsolete since GL_COMPRESSED_TEXTURE_FORMATS returns a JS array that can be queried for length), + // so implement it ourselves to allow C++ GLES2 code get the length. + var formats = GLctx.getParameter(0x86A3 /*GL_COMPRESSED_TEXTURE_FORMATS*/); + ret = formats.length; + break; + } + + if (ret === undefined) { + var result = GLctx.getParameter(name_); + switch (typeof(result)) { + case "number": + ret = result; + break; + case "boolean": + ret = result ? 1 : 0; + break; + case "string": + GL.recordError(0x0500); // GL_INVALID_ENUM + return; + case "object": + if (result === null) { + // null is a valid result for some (e.g., which buffer is bound - perhaps nothing is bound), but otherwise + // can mean an invalid name_, which we need to report as an error + switch(name_) { + case 0x8894: // ARRAY_BUFFER_BINDING + case 0x8B8D: // CURRENT_PROGRAM + case 0x8895: // ELEMENT_ARRAY_BUFFER_BINDING + case 0x8CA6: // FRAMEBUFFER_BINDING + case 0x8CA7: // RENDERBUFFER_BINDING + case 0x8069: // TEXTURE_BINDING_2D + case 0x8514: { // TEXTURE_BINDING_CUBE_MAP + ret = 0; + break; + } + default: { + GL.recordError(0x0500); // GL_INVALID_ENUM + return; + } + } + } else if (result instanceof Float32Array || + result instanceof Uint32Array || + result instanceof Int32Array || + result instanceof Array) { + for (var i = 0; i < result.length; ++i) { + switch (type) { + case 'Integer': HEAP32[(((p)+(i*4))>>2)]=result[i]; break; + case 'Float': HEAPF32[(((p)+(i*4))>>2)]=result[i]; break; + case 'Boolean': HEAP8[(((p)+(i))>>0)]=result[i] ? 1 : 0; break; + default: throw 'internal glGet error, bad type: ' + type; + } + } + return; + } else if (result instanceof WebGLBuffer || + result instanceof WebGLProgram || + result instanceof WebGLFramebuffer || + result instanceof WebGLRenderbuffer || + result instanceof WebGLTexture) { + ret = result.name | 0; + } else { + GL.recordError(0x0500); // GL_INVALID_ENUM + return; + } + break; + default: + GL.recordError(0x0500); // GL_INVALID_ENUM + return; + } + } + + switch (type) { + case 'Integer64': (tempI64 = [ret>>>0,(tempDouble=ret,(+(Math_abs(tempDouble))) >= 1.0 ? (tempDouble > 0.0 ? ((Math_min((+(Math_floor((tempDouble)/4294967296.0))), 4294967295.0))|0)>>>0 : (~~((+(Math_ceil((tempDouble - +(((~~(tempDouble)))>>>0))/4294967296.0)))))>>>0) : 0)],HEAP32[((p)>>2)]=tempI64[0],HEAP32[(((p)+(4))>>2)]=tempI64[1]); break; + case 'Integer': HEAP32[((p)>>2)]=ret; break; + case 'Float': HEAPF32[((p)>>2)]=ret; break; + case 'Boolean': HEAP8[((p)>>0)]=ret ? 1 : 0; break; + default: throw 'internal glGet error, bad type: ' + type; + } + }function _emscripten_glGetIntegerv(name_, p) { + emscriptenWebGLGet(name_, p, 'Integer'); + } + + function _emscripten_glGetFramebufferAttachmentParameteriv(target, attachment, pname, params) { + var result = GLctx.getFramebufferAttachmentParameter(target, attachment, pname); + HEAP32[((params)>>2)]=result; + } + + function _llvm_stackrestore(p) { + var self = _llvm_stacksave; + var ret = self.LLVM_SAVEDSTACKS[p]; + self.LLVM_SAVEDSTACKS.splice(p, 1); + Runtime.stackRestore(ret); + } + + function _glfwSetWindowShouldClose(winid, value) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.shouldClose = value; + } + + function _emscripten_glClientActiveTexture() { + Module['printErr']('missing function: emscripten_glClientActiveTexture'); abort(-1); + } + + function _glGenBuffers(n, buffers) { + for (var i = 0; i < n; i++) { + var buffer = GLctx.createBuffer(); + if (!buffer) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); + while(i < n) HEAP32[(((buffers)+(i++*4))>>2)]=0; + return; + } + var id = GL.getNewId(GL.buffers); + buffer.name = id; + GL.buffers[id] = buffer; + HEAP32[(((buffers)+(i*4))>>2)]=id; + } + } + + + function _emscripten_memcpy_big(dest, src, num) { + HEAPU8.set(HEAPU8.subarray(src, src+num), dest); + return dest; + } + Module["_memcpy"] = _memcpy; + + function _emscripten_glGetShaderInfoLog(shader, maxLength, length, infoLog) { + var log = GLctx.getShaderInfoLog(GL.shaders[shader]); + if (log === null) log = '(unknown error)'; + if (maxLength > 0 && infoLog) { + var numBytesWrittenExclNull = stringToUTF8(log, infoLog, maxLength); + if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; + } else { + if (length) HEAP32[((length)>>2)]=0; + } + } + + function _glfwGetTime() { + return GLFW.getTime() - GLFW.initialTime; + } + + function _emscripten_glGetRenderbufferParameteriv(target, pname, params) { + if (!params) { + // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense + // if params == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + HEAP32[((params)>>2)]=GLctx.getRenderbufferParameter(target, pname); + } + + function _emscripten_glStencilOpSeparate(x0, x1, x2, x3) { GLctx['stencilOpSeparate'](x0, x1, x2, x3) } + + function _emscripten_glReadPixels(x, y, width, height, format, type, pixels) { + var pixelData = emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, format); + if (!pixelData) { + GL.recordError(0x0500/*GL_INVALID_ENUM*/); + return; + } + GLctx.readPixels(x, y, width, height, format, type, pixelData); + } + + function _emscripten_glCompressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, imageSize, data) { + GLctx['compressedTexSubImage2D'](target, level, xoffset, yoffset, width, height, format, data ? HEAPU8.subarray((data),(data+imageSize)) : null); + } + + function _emscripten_glGetError() { + // First return any GL error generated by the emscripten library_gl.js interop layer. + if (GL.lastError) { + var error = GL.lastError; + GL.lastError = 0/*GL_NO_ERROR*/; + return error; + } else { // If there were none, return the GL error from the browser GL context. + return GLctx.getError(); + } + } + + function _emscripten_glFramebufferTexture2D(target, attachment, textarget, texture, level) { + GLctx.framebufferTexture2D(target, attachment, textarget, + GL.textures[texture], level); + } + + function _alSourcei(source, param, value) { + if (!AL.currentContext) { + return; + } + var src = AL.currentContext.src[source]; + if (!src) { + AL.currentContext.err = 0xA001 /* AL_INVALID_NAME */; + return; + } + switch (param) { + case 0x1001 /* AL_CONE_INNER_ANGLE */: + src.coneInnerAngle = value; + break; + case 0x1002 /* AL_CONE_OUTER_ANGLE */: + src.coneOuterAngle = value; + break; + case 0x1007 /* AL_LOOPING */: + src.loop = (value === 1 /* AL_TRUE */); + break; + case 0x1009 /* AL_BUFFER */: + var buffer = AL.currentContext.buf[value - 1]; + if (value == 0) { + src.queue = []; + } else { + src.queue = [{ buffer: buffer }]; + } + AL.updateSource(src); + break; + case 0x202 /* AL_SOURCE_RELATIVE */: + if (value === 1 /* AL_TRUE */) { + if (src.panner) { + src.panner = null; + + // Disconnect from the panner. + src.gain.disconnect(); + + src.gain.connect(AL.currentContext.gain); + } + } else if (value === 0 /* AL_FALSE */) { + if (!src.panner) { + var panner = src.panner = AL.currentContext.ctx.createPanner(); + panner.panningModel = "equalpower"; + panner.distanceModel = "linear"; + panner.refDistance = src.refDistance; + panner.maxDistance = src.maxDistance; + panner.rolloffFactor = src.rolloffFactor; + panner.setPosition(src.position[0], src.position[1], src.position[2]); + // TODO: If support for doppler effect is reintroduced, compute the doppler + // speed pitch factor and apply it here. + panner.connect(AL.currentContext.gain); + + // Disconnect from the default source. + src.gain.disconnect(); + + src.gain.connect(panner); + } + } else { + AL.currentContext.err = 0xA003 /* AL_INVALID_VALUE */; + } + break; + default: + AL.currentContext.err = 0xA002 /* AL_INVALID_ENUM */; + break; + } + } + + function _emscripten_glIsEnabled(x0) { return GLctx['isEnabled'](x0) } + + function _glClearDepthf(x0) { GLctx['clearDepth'](x0) } + + function _alSourcef(source, param, value) { + if (!AL.currentContext) { + return; + } + var src = AL.currentContext.src[source]; + if (!src) { + AL.currentContext.err = 0xA001 /* AL_INVALID_NAME */; + return; + } + switch (param) { + case 0x1003 /* AL_PITCH */: + if (value <= 0) { + AL.currentContext.err = 0xA003 /* AL_INVALID_VALUE */; + return; + } + src.playbackRate = value; + + if (src.state === 0x1012 /* AL_PLAYING */) { + // update currently playing entry + var entry = src.queue[src.buffersPlayed]; + if (!entry || !entry.src) return; // It is possible that AL.updateSources() has not yet fed the next buffer, if so, skip. + var currentTime = AL.currentContext.ctx.currentTime; + var oldrate = entry.src.playbackRate.value; + var offset = currentTime - src.bufferPosition; + // entry.src.duration is expressed after factoring in playbackRate, so when changing playback rate, need + // to recompute/rescale the rate to the new playback speed. + entry.src.duration = (entry.src.duration - offset) * oldrate / src.playbackRate; + if (entry.src.playbackRate.value != src.playbackRate) entry.src.playbackRate.value = src.playbackRate; + src.bufferPosition = currentTime; + + // stop other buffers + for (var k = src.buffersPlayed + 1; k < src.queue.length; k++) { + var entry = src.queue[k]; + if (entry.src) { + entry.src.stop(); + entry.src = null; + } + } + // update the source to reschedule buffers with the new playbackRate + AL.updateSource(src); + } + break; + case 0x100A /* AL_GAIN */: + if (src.gain.gain.value != value) src.gain.gain.value = value; + break; + // case 0x100D /* AL_MIN_GAIN */: + // break; + // case 0x100E /* AL_MAX_GAIN */: + // break; + case 0x1023 /* AL_MAX_DISTANCE */: + src.maxDistance = value; + break; + case 0x1021 /* AL_ROLLOFF_FACTOR */: + src.rolloffFactor = value; + break; + case 0x1022 /* AL_CONE_OUTER_GAIN */: + src.coneOuterGain = value; + break; + case 0x1001 /* AL_CONE_INNER_ANGLE */: + src.coneInnerAngle = value; + break; + case 0x1002 /* AL_CONE_OUTER_ANGLE */: + src.coneOuterAngle = value; + break; + case 0x1020 /* AL_REFERENCE_DISTANCE */: + src.refDistance = value; + break; + default: + AL.currentContext.err = 0xA002 /* AL_INVALID_ENUM */; + break; + } + } + + + Module["_memmove"] = _memmove; + + function _glGenTextures(n, textures) { + for (var i = 0; i < n; i++) { + var texture = GLctx.createTexture(); + if (!texture) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); // GLES + EGL specs don't specify what should happen here, so best to issue an error and create IDs with 0. + while(i < n) HEAP32[(((textures)+(i++*4))>>2)]=0; + return; + } + var id = GL.getNewId(GL.textures); + texture.name = id; + GL.textures[id] = texture; + HEAP32[(((textures)+(i*4))>>2)]=id; + } + } + + function _emscripten_glVertexAttrib4f(x0, x1, x2, x3, x4) { GLctx['vertexAttrib4f'](x0, x1, x2, x3, x4) } + + function _glDepthFunc(x0) { GLctx['depthFunc'](x0) } + + + + var cttz_i8 = allocate([8,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,7,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0], "i8", ALLOC_STATIC); + Module["_llvm_cttz_i32"] = _llvm_cttz_i32; + Module["___udivmoddi4"] = ___udivmoddi4; + Module["___uremdi3"] = ___uremdi3; + + function _emscripten_glClearDepthf(x0) { GLctx['clearDepth'](x0) } + + function _alListenerf(param, value) { + if (!AL.currentContext) { + return; + } + switch (param) { + case 0x100A /* AL_GAIN */: + if (AL.currentContext.gain.gain.value != value) AL.currentContext.gain.gain.value = value; + break; + default: + AL.currentContext.err = 0xA002 /* AL_INVALID_ENUM */; + break; + } + } + + function _emscripten_glClear(x0) { GLctx['clear'](x0) } + + function _alGetError() { + if (!AL.currentContext) { + return 0xA004 /* AL_INVALID_OPERATION */; + } else { + // Reset error on get. + var err = AL.currentContext.err; + AL.currentContext.err = 0 /* AL_NO_ERROR */; + return err; + } + } + + function _emscripten_glBindBuffer(target, buffer) { + var bufferObj = buffer ? GL.buffers[buffer] : null; + + + GLctx.bindBuffer(target, bufferObj); + } + + function _emscripten_glGetUniformfv(program, location, params) { + emscriptenWebGLGetUniform(program, location, params, 'Float'); + } + + function _glGetProgramiv(program, pname, p) { + if (!p) { + // GLES2 specification does not specify how to behave if p is a null pointer. Since calling this function does not make sense + // if p == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + + if (program >= GL.counter) { + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + + var ptable = GL.programInfos[program]; + if (!ptable) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); + return; + } + + if (pname == 0x8B84) { // GL_INFO_LOG_LENGTH + var log = GLctx.getProgramInfoLog(GL.programs[program]); + if (log === null) log = '(unknown error)'; + HEAP32[((p)>>2)]=log.length + 1; + } else if (pname == 0x8B87 /* GL_ACTIVE_UNIFORM_MAX_LENGTH */) { + HEAP32[((p)>>2)]=ptable.maxUniformLength; + } else if (pname == 0x8B8A /* GL_ACTIVE_ATTRIBUTE_MAX_LENGTH */) { + if (ptable.maxAttributeLength == -1) { + var program = GL.programs[program]; + var numAttribs = GLctx.getProgramParameter(program, GLctx.ACTIVE_ATTRIBUTES); + ptable.maxAttributeLength = 0; // Spec says if there are no active attribs, 0 must be returned. + for (var i = 0; i < numAttribs; ++i) { + var activeAttrib = GLctx.getActiveAttrib(program, i); + ptable.maxAttributeLength = Math.max(ptable.maxAttributeLength, activeAttrib.name.length+1); + } + } + HEAP32[((p)>>2)]=ptable.maxAttributeLength; + } else if (pname == 0x8A35 /* GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH */) { + if (ptable.maxUniformBlockNameLength == -1) { + var program = GL.programs[program]; + var numBlocks = GLctx.getProgramParameter(program, GLctx.ACTIVE_UNIFORM_BLOCKS); + ptable.maxUniformBlockNameLength = 0; + for (var i = 0; i < numBlocks; ++i) { + var activeBlockName = GLctx.getActiveUniformBlockName(program, i); + ptable.maxUniformBlockNameLength = Math.max(ptable.maxUniformBlockNameLength, activeBlockName.length+1); + } + } + HEAP32[((p)>>2)]=ptable.maxUniformBlockNameLength; + } else { + HEAP32[((p)>>2)]=GLctx.getProgramParameter(GL.programs[program], pname); + } + } + + function _glVertexAttribPointer(index, size, type, normalized, stride, ptr) { + GLctx.vertexAttribPointer(index, size, type, !!normalized, stride, ptr); + } + + function _emscripten_exit_pointerlock() { + // Make sure no queued up calls will fire after this. + JSEvents.removeDeferredCalls(JSEvents.requestPointerLock); + + if (document.exitPointerLock) { + document.exitPointerLock(); + } else if (document.msExitPointerLock) { + document.msExitPointerLock(); + } else if (document.mozExitPointerLock) { + document.mozExitPointerLock(); + } else if (document.webkitExitPointerLock) { + document.webkitExitPointerLock(); + } else { + return -1; + } + return 0; + } + + function _glGetUniformLocation(program, name) { + name = Pointer_stringify(name); + + var arrayOffset = 0; + // If user passed an array accessor "[index]", parse the array index off the accessor. + if (name.indexOf(']', name.length-1) !== -1) { + var ls = name.lastIndexOf('['); + var arrayIndex = name.slice(ls+1, -1); + if (arrayIndex.length > 0) { + arrayOffset = parseInt(arrayIndex); + if (arrayOffset < 0) { + return -1; + } + } + name = name.slice(0, ls); + } + + var ptable = GL.programInfos[program]; + if (!ptable) { + return -1; + } + var utable = ptable.uniforms; + var uniformInfo = utable[name]; // returns pair [ dimension_of_uniform_array, uniform_location ] + if (uniformInfo && arrayOffset < uniformInfo[0]) { // Check if user asked for an out-of-bounds element, i.e. for 'vec4 colors[3];' user could ask for 'colors[10]' which should return -1. + return uniformInfo[1]+arrayOffset; + } else { + return -1; + } + } + + function _emscripten_glGetAttachedShaders(program, maxCount, count, shaders) { + var result = GLctx.getAttachedShaders(GL.programs[program]); + var len = result.length; + if (len > maxCount) { + len = maxCount; + } + HEAP32[((count)>>2)]=len; + for (var i = 0; i < len; ++i) { + var id = GL.shaders.indexOf(result[i]); + assert(id !== -1, 'shader not bound to local id'); + HEAP32[(((shaders)+(i*4))>>2)]=id; + } + } + + function _emscripten_glGenRenderbuffers(n, renderbuffers) { + for (var i = 0; i < n; i++) { + var renderbuffer = GLctx.createRenderbuffer(); + if (!renderbuffer) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); + while(i < n) HEAP32[(((renderbuffers)+(i++*4))>>2)]=0; + return; + } + var id = GL.getNewId(GL.renderbuffers); + renderbuffer.name = id; + GL.renderbuffers[id] = renderbuffer; + HEAP32[(((renderbuffers)+(i*4))>>2)]=id; + } + } + + function _emscripten_glFrontFace(x0) { GLctx['frontFace'](x0) } + + function _emscripten_glActiveTexture(x0) { GLctx['activeTexture'](x0) } + + function _emscripten_glUniform1iv(location, count, value) { + + + GLctx.uniform1iv(GL.uniforms[location], HEAP32.subarray((value)>>2,(value+count*4)>>2)); + } + + function _emscripten_glTexCoordPointer() { + Module['printErr']('missing function: emscripten_glTexCoordPointer'); abort(-1); + } + + function _emscripten_glGetInfoLogARB() { + Module['printErr']('missing function: emscripten_glGetInfoLogARB'); abort(-1); + } + + + function __exit(status) { + // void _exit(int status); + // http://pubs.opengroup.org/onlinepubs/000095399/functions/exit.html + Module['exit'](status); + }function _exit(status) { + __exit(status); + } + + function _emscripten_glRenderbufferStorage(x0, x1, x2, x3) { GLctx['renderbufferStorage'](x0, x1, x2, x3) } + + function _emscripten_glCopyTexSubImage2D(x0, x1, x2, x3, x4, x5, x6, x7) { GLctx['copyTexSubImage2D'](x0, x1, x2, x3, x4, x5, x6, x7) } + + function _glfwSetCursorPosCallback(winid, cbfun) { + GLFW.setCursorPosCallback(winid, cbfun); + } + + + var ___tm_current=STATICTOP; STATICTOP += 48;; + + + var ___tm_timezone=allocate(intArrayFromString("GMT"), "i8", ALLOC_STATIC);function _gmtime_r(time, tmPtr) { + var date = new Date(HEAP32[((time)>>2)]*1000); + HEAP32[((tmPtr)>>2)]=date.getUTCSeconds(); + HEAP32[(((tmPtr)+(4))>>2)]=date.getUTCMinutes(); + HEAP32[(((tmPtr)+(8))>>2)]=date.getUTCHours(); + HEAP32[(((tmPtr)+(12))>>2)]=date.getUTCDate(); + HEAP32[(((tmPtr)+(16))>>2)]=date.getUTCMonth(); + HEAP32[(((tmPtr)+(20))>>2)]=date.getUTCFullYear()-1900; + HEAP32[(((tmPtr)+(24))>>2)]=date.getUTCDay(); + HEAP32[(((tmPtr)+(36))>>2)]=0; + HEAP32[(((tmPtr)+(32))>>2)]=0; + var start = Date.UTC(date.getUTCFullYear(), 0, 1, 0, 0, 0, 0); + var yday = ((date.getTime() - start) / (1000 * 60 * 60 * 24))|0; + HEAP32[(((tmPtr)+(28))>>2)]=yday; + HEAP32[(((tmPtr)+(40))>>2)]=___tm_timezone; + + return tmPtr; + }function _gmtime(time) { + return _gmtime_r(time, ___tm_current); + } + + function _glBindAttribLocation(program, index, name) { + name = Pointer_stringify(name); + GLctx.bindAttribLocation(GL.programs[program], index, name); + } + + function _emscripten_glShaderBinary() { + GL.recordError(0x0500/*GL_INVALID_ENUM*/); + } + + function _emscripten_glIsProgram(program) { + var program = GL.programs[program]; + if (!program) return 0; + return GLctx.isProgram(program); + } + + + Module["_bitshift64Shl"] = _bitshift64Shl; + + function _emscripten_glBlendColor(x0, x1, x2, x3) { GLctx['blendColor'](x0, x1, x2, x3) } + + function _emscripten_glGetShaderiv(shader, pname, p) { + if (!p) { + // GLES2 specification does not specify how to behave if p is a null pointer. Since calling this function does not make sense + // if p == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + if (pname == 0x8B84) { // GL_INFO_LOG_LENGTH + var log = GLctx.getShaderInfoLog(GL.shaders[shader]); + if (log === null) log = '(unknown error)'; + HEAP32[((p)>>2)]=log.length + 1; + } else { + HEAP32[((p)>>2)]=GLctx.getShaderParameter(GL.shaders[shader], pname); + } + } + + function _emscripten_glUniformMatrix3fv(location, count, transpose, value) { + + + var view; + if (9*count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[9*count-1]; + for (var i = 0; i < 9*count; i += 9) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; + view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; + view[i+3] = HEAPF32[(((value)+(4*i+12))>>2)]; + view[i+4] = HEAPF32[(((value)+(4*i+16))>>2)]; + view[i+5] = HEAPF32[(((value)+(4*i+20))>>2)]; + view[i+6] = HEAPF32[(((value)+(4*i+24))>>2)]; + view[i+7] = HEAPF32[(((value)+(4*i+28))>>2)]; + view[i+8] = HEAPF32[(((value)+(4*i+32))>>2)]; + } + } else { + view = HEAPF32.subarray((value)>>2,(value+count*36)>>2); + } + GLctx.uniformMatrix3fv(GL.uniforms[location], !!transpose, view); + } + + + Module["___udivdi3"] = ___udivdi3; + + function _emscripten_glUniform4fv(location, count, value) { + + + var view; + if (4*count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[4*count-1]; + for (var i = 0; i < 4*count; i += 4) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; + view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; + view[i+3] = HEAPF32[(((value)+(4*i+12))>>2)]; + } + } else { + view = HEAPF32.subarray((value)>>2,(value+count*16)>>2); + } + GLctx.uniform4fv(GL.uniforms[location], view); + } + + function _glBufferSubData(target, offset, size, data) { + GLctx.bufferSubData(target, offset, HEAPU8.subarray(data, data+size)); + } + + function _alcDestroyContext(context) { + // Stop playback, etc + clearInterval(AL.contexts[context - 1].interval); + } + + function _llvm_exp2_f32(x) { + return Math.pow(2, x); + } + + function _glGetShaderiv(shader, pname, p) { + if (!p) { + // GLES2 specification does not specify how to behave if p is a null pointer. Since calling this function does not make sense + // if p == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + if (pname == 0x8B84) { // GL_INFO_LOG_LENGTH + var log = GLctx.getShaderInfoLog(GL.shaders[shader]); + if (log === null) log = '(unknown error)'; + HEAP32[((p)>>2)]=log.length + 1; + } else { + HEAP32[((p)>>2)]=GLctx.getShaderParameter(GL.shaders[shader], pname); + } + } + + function _emscripten_glBlendEquationSeparate(x0, x1) { GLctx['blendEquationSeparate'](x0, x1) } + + function _glfwSetWindowIconifyCallback(winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.windowIconifyFunc = cbfun; + } + + function _emscripten_glDrawRangeElements() { + Module['printErr']('missing function: emscripten_glDrawRangeElements'); abort(-1); + } + + function _emscripten_glGenTextures(n, textures) { + for (var i = 0; i < n; i++) { + var texture = GLctx.createTexture(); + if (!texture) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); // GLES + EGL specs don't specify what should happen here, so best to issue an error and create IDs with 0. + while(i < n) HEAP32[(((textures)+(i++*4))>>2)]=0; + return; + } + var id = GL.getNewId(GL.textures); + texture.name = id; + GL.textures[id] = texture; + HEAP32[(((textures)+(i*4))>>2)]=id; + } + } + + function _emscripten_glVertexAttrib2fv(index, v) { + + GLctx.vertexAttrib2f(index, HEAPF32[v>>2], HEAPF32[v+4>>2]); + } + + function _emscripten_glGetActiveUniform(program, index, bufSize, length, size, type, name) { + program = GL.programs[program]; + var info = GLctx.getActiveUniform(program, index); + if (!info) return; // If an error occurs, nothing will be written to length, size, type and name. + + if (bufSize > 0 && name) { + var numBytesWrittenExclNull = stringToUTF8(info.name, name, bufSize); + if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; + } else { + if (length) HEAP32[((length)>>2)]=0; + } + + if (size) HEAP32[((size)>>2)]=info.size; + if (type) HEAP32[((type)>>2)]=info.type; + } + + + Module["_roundf"] = _roundf; + + function _emscripten_glDeleteObjectARB() { + Module['printErr']('missing function: emscripten_glDeleteObjectARB'); abort(-1); + } + + function _emscripten_set_touchmove_callback(target, userData, useCapture, callbackfunc) { + JSEvents.registerTouchEventCallback(target, userData, useCapture, callbackfunc, 24, "touchmove"); + return 0; + } + + function _emscripten_glUniform1f(location, v0) { + GLctx.uniform1f(GL.uniforms[location], v0); + } + + function _alcCreateContext(device, attrList) { + if (device != 1) { + return 0; + } + + if (attrList) { + return 0; + } + + var ctx; + try { + ctx = new AudioContext(); + } catch (e) { + try { + ctx = new webkitAudioContext(); + } catch (e) {} + } + + if (ctx) { + // Old Web Audio API (e.g. Safari 6.0.5) had an inconsistently named createGainNode function. + if (typeof(ctx.createGain) === 'undefined') ctx.createGain = ctx.createGainNode; + + var gain = ctx.createGain(); + gain.connect(ctx.destination); + // Extend the Web Audio API AudioListener object with a few tracking values of our own. + ctx.listener._position = [0, 0, 0]; + ctx.listener._velocity = [0, 0, 0]; + ctx.listener._orientation = [0, 0, 0, 0, 0, 0]; + var context = { + ctx: ctx, + err: 0, + src: {}, + buf: [], + interval: setInterval(function() { AL.updateSources(context); }, AL.QUEUE_INTERVAL), + gain: gain + }; + AL.contexts.push(context); + return AL.contexts.length; + } else { + return 0; + } + } + + function _emscripten_glVertexAttribPointer(index, size, type, normalized, stride, ptr) { + GLctx.vertexAttribPointer(index, size, type, !!normalized, stride, ptr); + } + + function _alcCloseDevice(device) { + // Stop playback, etc + } + + function _glShaderSource(shader, count, string, length) { + var source = GL.getSource(shader, count, string, length); + + + GLctx.shaderSource(GL.shaders[shader], source); + } + + function _emscripten_glDrawArrays(mode, first, count) { + + GLctx.drawArrays(mode, first, count); + + } + + function _emscripten_glGenBuffers(n, buffers) { + for (var i = 0; i < n; i++) { + var buffer = GLctx.createBuffer(); + if (!buffer) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); + while(i < n) HEAP32[(((buffers)+(i++*4))>>2)]=0; + return; + } + var id = GL.getNewId(GL.buffers); + buffer.name = id; + GL.buffers[id] = buffer; + HEAP32[(((buffers)+(i*4))>>2)]=id; + } + } + + function _emscripten_glClearDepth(x0) { GLctx['clearDepth'](x0) } + + function _emscripten_set_keypress_callback(target, userData, useCapture, callbackfunc) { + JSEvents.registerKeyEventCallback(target, userData, useCapture, callbackfunc, 1, "keypress"); + return 0; + } + + function _glfwSetCharCallback(winid, cbfun) { + GLFW.setCharCallback(winid, cbfun); + } + + function _emscripten_glGetUniformLocation(program, name) { + name = Pointer_stringify(name); + + var arrayOffset = 0; + // If user passed an array accessor "[index]", parse the array index off the accessor. + if (name.indexOf(']', name.length-1) !== -1) { + var ls = name.lastIndexOf('['); + var arrayIndex = name.slice(ls+1, -1); + if (arrayIndex.length > 0) { + arrayOffset = parseInt(arrayIndex); + if (arrayOffset < 0) { + return -1; + } + } + name = name.slice(0, ls); + } + + var ptable = GL.programInfos[program]; + if (!ptable) { + return -1; + } + var utable = ptable.uniforms; + var uniformInfo = utable[name]; // returns pair [ dimension_of_uniform_array, uniform_location ] + if (uniformInfo && arrayOffset < uniformInfo[0]) { // Check if user asked for an out-of-bounds element, i.e. for 'vec4 colors[3];' user could ask for 'colors[10]' which should return -1. + return uniformInfo[1]+arrayOffset; + } else { + return -1; + } + } + + function _glBindBuffer(target, buffer) { + var bufferObj = buffer ? GL.buffers[buffer] : null; + + + GLctx.bindBuffer(target, bufferObj); + } + + function _emscripten_glVertexAttrib4fv(index, v) { + + GLctx.vertexAttrib4f(index, HEAPF32[v>>2], HEAPF32[v+4>>2], HEAPF32[v+8>>2], HEAPF32[v+12>>2]); + } + + function _emscripten_glScissor(x0, x1, x2, x3) { GLctx['scissor'](x0, x1, x2, x3) } + + function _glfwSetCursorEnterCallback(winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.cursorEnterFunc = cbfun; + } + + + Module["_bitshift64Lshr"] = _bitshift64Lshr; + + function _glBufferData(target, size, data, usage) { + if (!data) { + GLctx.bufferData(target, size, usage); + } else { + GLctx.bufferData(target, HEAPU8.subarray(data, data+size), usage); + } + } + + function _emscripten_glIsShader(shader) { + var s = GL.shaders[shader]; + if (!s) return 0; + return GLctx.isShader(s); + } + + function _emscripten_glDrawBuffers(n, bufs) { + + var bufArray = GL.tempFixedLengthArray[n]; + for (var i = 0; i < n; i++) { + bufArray[i] = HEAP32[(((bufs)+(i*4))>>2)]; + } + + GLctx['drawBuffers'](bufArray); + } + + function _glGetFloatv(name_, p) { + emscriptenWebGLGet(name_, p, 'Float'); + } + + function _emscripten_glBindFramebuffer(target, framebuffer) { + GLctx.bindFramebuffer(target, framebuffer ? GL.framebuffers[framebuffer] : null); + } + + function _alcGetContextsDevice(context) { + if (context <= AL.contexts.length && context > 0) { + // Returns the only one audio device + return 1; + } + return 0; + } + + function _emscripten_glBlendEquation(x0) { GLctx['blendEquation'](x0) } + + function _emscripten_glBufferSubData(target, offset, size, data) { + GLctx.bufferSubData(target, offset, HEAPU8.subarray(data, data+size)); + } + + function _emscripten_glBufferData(target, size, data, usage) { + if (!data) { + GLctx.bufferData(target, size, usage); + } else { + GLctx.bufferData(target, HEAPU8.subarray(data, data+size), usage); + } + } + + + Module["_sbrk"] = _sbrk; + + function _alcMakeContextCurrent(context) { + if (context == 0) { + AL.currentContext = null; + return 0; + } else { + AL.currentContext = AL.contexts[context - 1]; + return 1; + } + } + + function _emscripten_glGetShaderSource(shader, bufSize, length, source) { + var result = GLctx.getShaderSource(GL.shaders[shader]); + if (!result) return; // If an error occurs, nothing will be written to length or source. + if (bufSize > 0 && source) { + var numBytesWrittenExclNull = stringToUTF8(result, source, bufSize); + if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; + } else { + if (length) HEAP32[((length)>>2)]=0; + } + } + + + Module["_llvm_bswap_i32"] = _llvm_bswap_i32; + + function _emscripten_set_click_callback(target, userData, useCapture, callbackfunc) { + JSEvents.registerMouseEventCallback(target, userData, useCapture, callbackfunc, 4, "click"); + return 0; + } + + function _glfwSetKeyCallback(winid, cbfun) { + GLFW.setKeyCallback(winid, cbfun); + } + + function _emscripten_set_gamepadconnected_callback(userData, useCapture, callbackfunc) { + if (!navigator.getGamepads && !navigator.webkitGetGamepads) return -1; + JSEvents.registerGamepadEventCallback(window, userData, useCapture, callbackfunc, 26, "gamepadconnected"); + return 0; + } + + function _emscripten_glGetFloatv(name_, p) { + emscriptenWebGLGet(name_, p, 'Float'); + } + + function _glTexImage2D(target, level, internalFormat, width, height, border, format, type, pixels) { + + var pixelData = null; + if (pixels) pixelData = emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, internalFormat); + GLctx.texImage2D(target, level, internalFormat, width, height, border, format, type, pixelData); + } + + function ___assert_fail(condition, filename, line, func) { + ABORT = true; + throw 'Assertion failed: ' + Pointer_stringify(condition) + ', at: ' + [filename ? Pointer_stringify(filename) : 'unknown filename', line, func ? Pointer_stringify(func) : 'unknown function'] + ' at ' + stackTrace(); + } + + function _emscripten_glVertexAttribDivisor(index, divisor) { + GLctx['vertexAttribDivisor'](index, divisor); + } + + function _emscripten_glDrawElementsInstanced(mode, count, type, indices, primcount) { + GLctx['drawElementsInstanced'](mode, count, type, indices, primcount); + } + + function _emscripten_glDrawElements(mode, count, type, indices) { + + GLctx.drawElements(mode, count, type, indices); + + } + + function _glfwSetMouseButtonCallback(winid, cbfun) { + GLFW.setMouseButtonCallback(winid, cbfun); + } + + function _emscripten_glCreateProgram() { + var id = GL.getNewId(GL.programs); + var program = GLctx.createProgram(); + program.name = id; + GL.programs[id] = program; + return id; + } + + function _emscripten_glCompressedTexImage2D(target, level, internalFormat, width, height, border, imageSize, data) { + GLctx['compressedTexImage2D'](target, level, internalFormat, width, height, border, data ? HEAPU8.subarray((data),(data+imageSize)) : null); + } + + function _emscripten_glClearColor(x0, x1, x2, x3) { GLctx['clearColor'](x0, x1, x2, x3) } + + function _emscripten_glBindVertexArray(vao) { + GLctx['bindVertexArray'](GL.vaos[vao]); + } + + function _emscripten_glLoadMatrixf() { + Module['printErr']('missing function: emscripten_glLoadMatrixf'); abort(-1); + } + + function _glDeleteShader(id) { + if (!id) return; + var shader = GL.shaders[id]; + if (!shader) { // glDeleteShader actually signals an error when deleting a nonexisting object, unlike some other GL delete functions. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + GLctx.deleteShader(shader); + GL.shaders[id] = null; + } + + function _emscripten_glGetProgramiv(program, pname, p) { + if (!p) { + // GLES2 specification does not specify how to behave if p is a null pointer. Since calling this function does not make sense + // if p == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + + if (program >= GL.counter) { + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + + var ptable = GL.programInfos[program]; + if (!ptable) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); + return; + } + + if (pname == 0x8B84) { // GL_INFO_LOG_LENGTH + var log = GLctx.getProgramInfoLog(GL.programs[program]); + if (log === null) log = '(unknown error)'; + HEAP32[((p)>>2)]=log.length + 1; + } else if (pname == 0x8B87 /* GL_ACTIVE_UNIFORM_MAX_LENGTH */) { + HEAP32[((p)>>2)]=ptable.maxUniformLength; + } else if (pname == 0x8B8A /* GL_ACTIVE_ATTRIBUTE_MAX_LENGTH */) { + if (ptable.maxAttributeLength == -1) { + var program = GL.programs[program]; + var numAttribs = GLctx.getProgramParameter(program, GLctx.ACTIVE_ATTRIBUTES); + ptable.maxAttributeLength = 0; // Spec says if there are no active attribs, 0 must be returned. + for (var i = 0; i < numAttribs; ++i) { + var activeAttrib = GLctx.getActiveAttrib(program, i); + ptable.maxAttributeLength = Math.max(ptable.maxAttributeLength, activeAttrib.name.length+1); + } + } + HEAP32[((p)>>2)]=ptable.maxAttributeLength; + } else if (pname == 0x8A35 /* GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH */) { + if (ptable.maxUniformBlockNameLength == -1) { + var program = GL.programs[program]; + var numBlocks = GLctx.getProgramParameter(program, GLctx.ACTIVE_UNIFORM_BLOCKS); + ptable.maxUniformBlockNameLength = 0; + for (var i = 0; i < numBlocks; ++i) { + var activeBlockName = GLctx.getActiveUniformBlockName(program, i); + ptable.maxUniformBlockNameLength = Math.max(ptable.maxUniformBlockNameLength, activeBlockName.length+1); + } + } + HEAP32[((p)>>2)]=ptable.maxUniformBlockNameLength; + } else { + HEAP32[((p)>>2)]=GLctx.getProgramParameter(GL.programs[program], pname); + } + } + + function _emscripten_glGetProgramInfoLog(program, maxLength, length, infoLog) { + var log = GLctx.getProgramInfoLog(GL.programs[program]); + if (log === null) log = '(unknown error)'; + + if (maxLength > 0 && infoLog) { + var numBytesWrittenExclNull = stringToUTF8(log, infoLog, maxLength); + if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; + } else { + if (length) HEAP32[((length)>>2)]=0; + } + } + + function _emscripten_glTexImage2D(target, level, internalFormat, width, height, border, format, type, pixels) { + + var pixelData = null; + if (pixels) pixelData = emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, internalFormat); + GLctx.texImage2D(target, level, internalFormat, width, height, border, format, type, pixelData); + } + + function _glPixelStorei(pname, param) { + if (pname == 0x0D05 /* GL_PACK_ALIGNMENT */) { + GL.packAlignment = param; + } else if (pname == 0x0cf5 /* GL_UNPACK_ALIGNMENT */) { + GL.unpackAlignment = param; + } + GLctx.pixelStorei(pname, param); + } + + function ___unlock() {} + + function _emscripten_glColorPointer() { + Module['printErr']('missing function: emscripten_glColorPointer'); abort(-1); + } + + function _glViewport(x0, x1, x2, x3) { GLctx['viewport'](x0, x1, x2, x3) } + + function _emscripten_glCheckFramebufferStatus(x0) { return GLctx['checkFramebufferStatus'](x0) } + + function _glfwDestroyWindow(winid) { + return GLFW.destroyWindow(winid); + } + + function _emscripten_glFlush() { GLctx['flush']() } + + function _glfwSetErrorCallback(cbfun) { + GLFW.errorFunc = cbfun; + } + + function _emscripten_glCreateShader(shaderType) { + var id = GL.getNewId(GL.shaders); + GL.shaders[id] = GLctx.createShader(shaderType); + return id; + } + + function _glUniformMatrix4fv(location, count, transpose, value) { + + + var view; + if (16*count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[16*count-1]; + for (var i = 0; i < 16*count; i += 16) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; + view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; + view[i+3] = HEAPF32[(((value)+(4*i+12))>>2)]; + view[i+4] = HEAPF32[(((value)+(4*i+16))>>2)]; + view[i+5] = HEAPF32[(((value)+(4*i+20))>>2)]; + view[i+6] = HEAPF32[(((value)+(4*i+24))>>2)]; + view[i+7] = HEAPF32[(((value)+(4*i+28))>>2)]; + view[i+8] = HEAPF32[(((value)+(4*i+32))>>2)]; + view[i+9] = HEAPF32[(((value)+(4*i+36))>>2)]; + view[i+10] = HEAPF32[(((value)+(4*i+40))>>2)]; + view[i+11] = HEAPF32[(((value)+(4*i+44))>>2)]; + view[i+12] = HEAPF32[(((value)+(4*i+48))>>2)]; + view[i+13] = HEAPF32[(((value)+(4*i+52))>>2)]; + view[i+14] = HEAPF32[(((value)+(4*i+56))>>2)]; + view[i+15] = HEAPF32[(((value)+(4*i+60))>>2)]; + } + } else { + view = HEAPF32.subarray((value)>>2,(value+count*64)>>2); + } + GLctx.uniformMatrix4fv(GL.uniforms[location], !!transpose, view); + } + + function _emscripten_glValidateProgram(program) { + GLctx.validateProgram(GL.programs[program]); + } + + function _glTexParameterf(x0, x1, x2) { GLctx['texParameterf'](x0, x1, x2) } + + function _glTexParameteri(x0, x1, x2) { GLctx['texParameteri'](x0, x1, x2) } + + function _glFrontFace(x0) { GLctx['frontFace'](x0) } + + function _emscripten_glColorMask(red, green, blue, alpha) { + GLctx.colorMask(!!red, !!green, !!blue, !!alpha); + } + + function _emscripten_glPixelStorei(pname, param) { + if (pname == 0x0D05 /* GL_PACK_ALIGNMENT */) { + GL.packAlignment = param; + } else if (pname == 0x0cf5 /* GL_UNPACK_ALIGNMENT */) { + GL.unpackAlignment = param; + } + GLctx.pixelStorei(pname, param); + } + + function _emscripten_glDeleteTextures(n, textures) { + for (var i = 0; i < n; i++) { + var id = HEAP32[(((textures)+(i*4))>>2)]; + var texture = GL.textures[id]; + if (!texture) continue; // GL spec: "glDeleteTextures silently ignores 0s and names that do not correspond to existing textures". + GLctx.deleteTexture(texture); + texture.name = 0; + GL.textures[id] = null; + } + } + + function _emscripten_glCompileShader(shader) { + GLctx.compileShader(GL.shaders[shader]); + } + + function _emscripten_glGenVertexArrays(n, arrays) { + + for (var i = 0; i < n; i++) { + var vao = GLctx['createVertexArray'](); + if (!vao) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); + while(i < n) HEAP32[(((arrays)+(i++*4))>>2)]=0; + return; + } + var id = GL.getNewId(GL.vaos); + vao.name = id; + GL.vaos[id] = vao; + HEAP32[(((arrays)+(i*4))>>2)]=id; + } + } + + function _time(ptr) { + var ret = (Date.now()/1000)|0; + if (ptr) { + HEAP32[((ptr)>>2)]=ret; + } + return ret; + } + + function _emscripten_glGetBooleanv(name_, p) { + emscriptenWebGLGet(name_, p, 'Boolean'); + } + + function ___syscall221(which, varargs) {SYSCALLS.varargs = varargs; + try { + // fcntl64 + var stream = SYSCALLS.getStreamFromFD(), cmd = SYSCALLS.get(); + switch (cmd) { + case 0: { + var arg = SYSCALLS.get(); + if (arg < 0) { + return -ERRNO_CODES.EINVAL; + } + var newStream; + newStream = FS.open(stream.path, stream.flags, 0, arg); + return newStream.fd; + } + case 1: + case 2: + return 0; // FD_CLOEXEC makes no sense for a single process. + case 3: + return stream.flags; + case 4: { + var arg = SYSCALLS.get(); + stream.flags |= arg; + return 0; + } + case 12: + case 12: { + var arg = SYSCALLS.get(); + var offset = 0; + // We're always unlocked. + HEAP16[(((arg)+(offset))>>1)]=2; + return 0; + } + case 13: + case 14: + case 13: + case 14: + return 0; // Pretend that the locking is successful. + case 16: + case 8: + return -ERRNO_CODES.EINVAL; // These are for sockets. We don't have them fully implemented yet. + case 9: + // musl trusts getown return values, due to a bug where they must be, as they overlap with errors. just return -1 here, so fnctl() returns that, and we set errno ourselves. + ___setErrNo(ERRNO_CODES.EINVAL); + return -1; + default: { + return -ERRNO_CODES.EINVAL; + } + } + } catch (e) { + if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno; + } + } +var GLctx; GL.init(); +if (ENVIRONMENT_IS_NODE) { + _emscripten_get_now = function _emscripten_get_now_actual() { + var t = process['hrtime'](); + return t[0] * 1e3 + t[1] / 1e6; + }; + } else if (typeof dateNow !== 'undefined') { + _emscripten_get_now = dateNow; + } else if (typeof self === 'object' && self['performance'] && typeof self['performance']['now'] === 'function') { + _emscripten_get_now = function() { return self['performance']['now'](); }; + } else if (typeof performance === 'object' && typeof performance['now'] === 'function') { + _emscripten_get_now = function() { return performance['now'](); }; + } else { + _emscripten_get_now = Date.now; + }; +Module["requestFullScreen"] = function Module_requestFullScreen(lockPointer, resizeCanvas, vrDevice) { Module.printErr("Module.requestFullScreen is deprecated. Please call Module.requestFullscreen instead."); Module["requestFullScreen"] = Module["requestFullscreen"]; Browser.requestFullScreen(lockPointer, resizeCanvas, vrDevice) }; + Module["requestFullscreen"] = function Module_requestFullscreen(lockPointer, resizeCanvas, vrDevice) { Browser.requestFullscreen(lockPointer, resizeCanvas, vrDevice) }; + Module["requestAnimationFrame"] = function Module_requestAnimationFrame(func) { Browser.requestAnimationFrame(func) }; + Module["setCanvasSize"] = function Module_setCanvasSize(width, height, noUpdates) { Browser.setCanvasSize(width, height, noUpdates) }; + Module["pauseMainLoop"] = function Module_pauseMainLoop() { Browser.mainLoop.pause() }; + Module["resumeMainLoop"] = function Module_resumeMainLoop() { Browser.mainLoop.resume() }; + Module["getUserMedia"] = function Module_getUserMedia() { Browser.getUserMedia() } + Module["createContext"] = function Module_createContext(canvas, useWebGL, setInModule, webGLContextAttributes) { return Browser.createContext(canvas, useWebGL, setInModule, webGLContextAttributes) }; +FS.staticInit();__ATINIT__.unshift(function() { if (!Module["noFSInit"] && !FS.init.initialized) FS.init() });__ATMAIN__.push(function() { FS.ignorePermissions = false });__ATEXIT__.push(function() { FS.quit() });Module["FS_createFolder"] = FS.createFolder;Module["FS_createPath"] = FS.createPath;Module["FS_createDataFile"] = FS.createDataFile;Module["FS_createPreloadedFile"] = FS.createPreloadedFile;Module["FS_createLazyFile"] = FS.createLazyFile;Module["FS_createLink"] = FS.createLink;Module["FS_createDevice"] = FS.createDevice;Module["FS_unlink"] = FS.unlink;; +__ATINIT__.unshift(function() { TTY.init() });__ATEXIT__.push(function() { TTY.shutdown() });; +if (ENVIRONMENT_IS_NODE) { var fs = require("fs"); var NODEJS_PATH = require("path"); NODEFS.staticInit(); }; +JSEvents.staticInit();; +DYNAMICTOP_PTR = allocate(1, "i32", ALLOC_STATIC); + +STACK_BASE = STACKTOP = Runtime.alignMemory(STATICTOP); + +STACK_MAX = STACK_BASE + TOTAL_STACK; + +DYNAMIC_BASE = Runtime.alignMemory(STACK_MAX); + +HEAP32[DYNAMICTOP_PTR>>2] = DYNAMIC_BASE; + +staticSealed = true; // seal the static portion of memory + +assert(DYNAMIC_BASE < TOTAL_MEMORY, "TOTAL_MEMORY not big enough for stack"); + + + +function nullFunc_viiiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_vd(x) { Module["printErr"]("Invalid function pointer called with signature 'vd'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_vid(x) { Module["printErr"]("Invalid function pointer called with signature 'vid'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_vi(x) { Module["printErr"]("Invalid function pointer called with signature 'vi'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_vii(x) { Module["printErr"]("Invalid function pointer called with signature 'vii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_ii(x) { Module["printErr"]("Invalid function pointer called with signature 'ii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_viddd(x) { Module["printErr"]("Invalid function pointer called with signature 'viddd'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_vidd(x) { Module["printErr"]("Invalid function pointer called with signature 'vidd'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_iiii(x) { Module["printErr"]("Invalid function pointer called with signature 'iiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_viiiiiiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiiiiiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_viiiiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiiiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_viii(x) { Module["printErr"]("Invalid function pointer called with signature 'viii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_vidddd(x) { Module["printErr"]("Invalid function pointer called with signature 'vidddd'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_vdi(x) { Module["printErr"]("Invalid function pointer called with signature 'vdi'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_viiiiiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiiiiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_viiiiiiiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiiiiiiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_iii(x) { Module["printErr"]("Invalid function pointer called with signature 'iii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_i(x) { Module["printErr"]("Invalid function pointer called with signature 'i'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_vdddddd(x) { Module["printErr"]("Invalid function pointer called with signature 'vdddddd'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_vdddd(x) { Module["printErr"]("Invalid function pointer called with signature 'vdddd'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_vdd(x) { Module["printErr"]("Invalid function pointer called with signature 'vdd'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_v(x) { Module["printErr"]("Invalid function pointer called with signature 'v'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_viid(x) { Module["printErr"]("Invalid function pointer called with signature 'viid'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_viiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function invoke_viiiii(index,a1,a2,a3,a4,a5) { + try { + Module["dynCall_viiiii"](index,a1,a2,a3,a4,a5); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vd(index,a1) { + try { + Module["dynCall_vd"](index,a1); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vid(index,a1,a2) { + try { + Module["dynCall_vid"](index,a1,a2); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vi(index,a1) { + try { + Module["dynCall_vi"](index,a1); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vii(index,a1,a2) { + try { + Module["dynCall_vii"](index,a1,a2); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_ii(index,a1) { + try { + return Module["dynCall_ii"](index,a1); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_viddd(index,a1,a2,a3,a4) { + try { + Module["dynCall_viddd"](index,a1,a2,a3,a4); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vidd(index,a1,a2,a3) { + try { + Module["dynCall_vidd"](index,a1,a2,a3); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_iiii(index,a1,a2,a3) { + try { + return Module["dynCall_iiii"](index,a1,a2,a3); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_viiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8) { + try { + Module["dynCall_viiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_viiiiii(index,a1,a2,a3,a4,a5,a6) { + try { + Module["dynCall_viiiiii"](index,a1,a2,a3,a4,a5,a6); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_viii(index,a1,a2,a3) { + try { + Module["dynCall_viii"](index,a1,a2,a3); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vidddd(index,a1,a2,a3,a4,a5) { + try { + Module["dynCall_vidddd"](index,a1,a2,a3,a4,a5); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vdi(index,a1,a2) { + try { + Module["dynCall_vdi"](index,a1,a2); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_viiiiiii(index,a1,a2,a3,a4,a5,a6,a7) { + try { + Module["dynCall_viiiiiii"](index,a1,a2,a3,a4,a5,a6,a7); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_viiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9) { + try { + Module["dynCall_viiiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_iii(index,a1,a2) { + try { + return Module["dynCall_iii"](index,a1,a2); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_i(index) { + try { + return Module["dynCall_i"](index); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vdddddd(index,a1,a2,a3,a4,a5,a6) { + try { + Module["dynCall_vdddddd"](index,a1,a2,a3,a4,a5,a6); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vdddd(index,a1,a2,a3,a4) { + try { + Module["dynCall_vdddd"](index,a1,a2,a3,a4); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vdd(index,a1,a2) { + try { + Module["dynCall_vdd"](index,a1,a2); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_v(index) { + try { + Module["dynCall_v"](index); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_viid(index,a1,a2,a3) { + try { + Module["dynCall_viid"](index,a1,a2,a3); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_viiii(index,a1,a2,a3,a4) { + try { + Module["dynCall_viiii"](index,a1,a2,a3,a4); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +Module.asmGlobalArg = { "Math": Math, "Int8Array": Int8Array, "Int16Array": Int16Array, "Int32Array": Int32Array, "Uint8Array": Uint8Array, "Uint16Array": Uint16Array, "Uint32Array": Uint32Array, "Float32Array": Float32Array, "Float64Array": Float64Array, "NaN": NaN, "Infinity": Infinity }; + +Module.asmLibraryArg = { "abort": abort, "assert": assert, "enlargeMemory": enlargeMemory, "getTotalMemory": getTotalMemory, "abortOnCannotGrowMemory": abortOnCannotGrowMemory, "abortStackOverflow": abortStackOverflow, "nullFunc_viiiii": nullFunc_viiiii, "nullFunc_vd": nullFunc_vd, "nullFunc_vid": nullFunc_vid, "nullFunc_vi": nullFunc_vi, "nullFunc_vii": nullFunc_vii, "nullFunc_ii": nullFunc_ii, "nullFunc_viddd": nullFunc_viddd, "nullFunc_vidd": nullFunc_vidd, "nullFunc_iiii": nullFunc_iiii, "nullFunc_viiiiiiii": nullFunc_viiiiiiii, "nullFunc_viiiiii": nullFunc_viiiiii, "nullFunc_viii": nullFunc_viii, "nullFunc_vidddd": nullFunc_vidddd, "nullFunc_vdi": nullFunc_vdi, "nullFunc_viiiiiii": nullFunc_viiiiiii, "nullFunc_viiiiiiiii": nullFunc_viiiiiiiii, "nullFunc_iii": nullFunc_iii, "nullFunc_i": nullFunc_i, "nullFunc_vdddddd": nullFunc_vdddddd, "nullFunc_vdddd": nullFunc_vdddd, "nullFunc_vdd": nullFunc_vdd, "nullFunc_v": nullFunc_v, "nullFunc_viid": nullFunc_viid, "nullFunc_viiii": nullFunc_viiii, "invoke_viiiii": invoke_viiiii, "invoke_vd": invoke_vd, "invoke_vid": invoke_vid, "invoke_vi": invoke_vi, "invoke_vii": invoke_vii, "invoke_ii": invoke_ii, "invoke_viddd": invoke_viddd, "invoke_vidd": invoke_vidd, "invoke_iiii": invoke_iiii, "invoke_viiiiiiii": invoke_viiiiiiii, "invoke_viiiiii": invoke_viiiiii, "invoke_viii": invoke_viii, "invoke_vidddd": invoke_vidddd, "invoke_vdi": invoke_vdi, "invoke_viiiiiii": invoke_viiiiiii, "invoke_viiiiiiiii": invoke_viiiiiiiii, "invoke_iii": invoke_iii, "invoke_i": invoke_i, "invoke_vdddddd": invoke_vdddddd, "invoke_vdddd": invoke_vdddd, "invoke_vdd": invoke_vdd, "invoke_v": invoke_v, "invoke_viid": invoke_viid, "invoke_viiii": invoke_viiii, "_emscripten_glGetTexParameterfv": _emscripten_glGetTexParameterfv, "_glUseProgram": _glUseProgram, "_emscripten_glShaderSource": _emscripten_glShaderSource, "_glfwCreateWindow": _glfwCreateWindow, "_emscripten_glReleaseShaderCompiler": _emscripten_glReleaseShaderCompiler, "_emscripten_glBlendFuncSeparate": _emscripten_glBlendFuncSeparate, "_emscripten_glUniform4iv": _emscripten_glUniform4iv, "_emscripten_glVertexAttribPointer": _emscripten_glVertexAttribPointer, "_emscripten_glGetIntegerv": _emscripten_glGetIntegerv, "_emscripten_glCullFace": _emscripten_glCullFace, "_emscripten_glIsProgram": _emscripten_glIsProgram, "_emscripten_glStencilMaskSeparate": _emscripten_glStencilMaskSeparate, "_emscripten_glViewport": _emscripten_glViewport, "_emscripten_glFrontFace": _emscripten_glFrontFace, "_alBufferData": _alBufferData, "___assert_fail": ___assert_fail, "_glDeleteProgram": _glDeleteProgram, "_emscripten_glUniform3fv": _emscripten_glUniform3fv, "_emscripten_glPolygonOffset": _emscripten_glPolygonOffset, "_emscripten_glUseProgram": _emscripten_glUseProgram, "_emscripten_glBlendColor": _emscripten_glBlendColor, "_glBindBuffer": _glBindBuffer, "_emscripten_glDepthFunc": _emscripten_glDepthFunc, "_glGetShaderInfoLog": _glGetShaderInfoLog, "_alSource3f": _alSource3f, "_emscripten_set_fullscreenchange_callback": _emscripten_set_fullscreenchange_callback, "_emscripten_set_touchmove_callback": _emscripten_set_touchmove_callback, "_emscripten_set_main_loop_timing": _emscripten_set_main_loop_timing, "_emscripten_set_gamepaddisconnected_callback": _emscripten_set_gamepaddisconnected_callback, "_glDisable": _glDisable, "_glBlendFunc": _glBlendFunc, "_emscripten_glDisableVertexAttribArray": _emscripten_glDisableVertexAttribArray, "_glGetAttribLocation": _glGetAttribLocation, "_glDisableVertexAttribArray": _glDisableVertexAttribArray, "_glCreateShader": _glCreateShader, "_alcGetString": _alcGetString, "_emscripten_glSampleCoverage": _emscripten_glSampleCoverage, "_emscripten_glVertexPointer": _emscripten_glVertexPointer, "_emscripten_set_touchstart_callback": _emscripten_set_touchstart_callback, "emscriptenWebGLComputeImageSize": emscriptenWebGLComputeImageSize, "_emscripten_glGetBooleanv": _emscripten_glGetBooleanv, "_emscripten_glGetShaderSource": _emscripten_glGetShaderSource, "_glUniform4f": _glUniform4f, "_llvm_stacksave": _llvm_stacksave, "_emscripten_glUniform1i": _emscripten_glUniform1i, "_emscripten_glStencilFuncSeparate": _emscripten_glStencilFuncSeparate, "_emscripten_glFrustum": _emscripten_glFrustum, "_emscripten_glGenBuffers": _emscripten_glGenBuffers, "_emscripten_glDeleteObjectARB": _emscripten_glDeleteObjectARB, "_glfwSetWindowSizeCallback": _glfwSetWindowSizeCallback, "_emscripten_glGetShaderPrecisionFormat": _emscripten_glGetShaderPrecisionFormat, "_glfwInit": _glfwInit, "_emscripten_glGetPointerv": _emscripten_glGetPointerv, "_glGenBuffers": _glGenBuffers, "_glShaderSource": _glShaderSource, "_emscripten_glGetString": _emscripten_glGetString, "_emscripten_glIsFramebuffer": _emscripten_glIsFramebuffer, "_gmtime_r": _gmtime_r, "_emscripten_glIsEnabled": _emscripten_glIsEnabled, "_emscripten_glScissor": _emscripten_glScissor, "_emscripten_glVertexAttrib4fv": _emscripten_glVertexAttrib4fv, "_emscripten_glFramebufferTexture2D": _emscripten_glFramebufferTexture2D, "_emscripten_glTexParameteriv": _emscripten_glTexParameteriv, "_emscripten_glBindProgramARB": _emscripten_glBindProgramARB, "_emscripten_glStencilOpSeparate": _emscripten_glStencilOpSeparate, "_alSourcePlay": _alSourcePlay, "_alSourcei": _alSourcei, "_emscripten_glFramebufferRenderbuffer": _emscripten_glFramebufferRenderbuffer, "___syscall140": ___syscall140, "_glfwSetErrorCallback": _glfwSetErrorCallback, "_glfwDefaultWindowHints": _glfwDefaultWindowHints, "_emscripten_glIsBuffer": _emscripten_glIsBuffer, "___syscall146": ___syscall146, "_glfwDestroyWindow": _glfwDestroyWindow, "_emscripten_glGetActiveAttrib": _emscripten_glGetActiveAttrib, "_emscripten_glAttachShader": _emscripten_glAttachShader, "_glVertexAttribPointer": _glVertexAttribPointer, "_emscripten_glUniform2i": _emscripten_glUniform2i, "_emscripten_glUniform2f": _emscripten_glUniform2f, "_alcCreateContext": _alcCreateContext, "_glfwTerminate": _glfwTerminate, "_emscripten_glTexParameterfv": _emscripten_glTexParameterfv, "_emscripten_glUniformMatrix2fv": _emscripten_glUniformMatrix2fv, "_glGetProgramInfoLog": _glGetProgramInfoLog, "_alcGetContextsDevice": _alcGetContextsDevice, "_emscripten_glTexParameterf": _emscripten_glTexParameterf, "_emscripten_glGetAttachedShaders": _emscripten_glGetAttachedShaders, "_emscripten_glGenTextures": _emscripten_glGenTextures, "_emscripten_glTexParameteri": _emscripten_glTexParameteri, "_llvm_stackrestore": _llvm_stackrestore, "_glfwMakeContextCurrent": _glfwMakeContextCurrent, "_emscripten_glClear": _emscripten_glClear, "_glDrawElements": _glDrawElements, "_alGetSourcei": _alGetSourcei, "_glBufferSubData": _glBufferSubData, "_alcMakeContextCurrent": _alcMakeContextCurrent, "_emscripten_glGenVertexArrays": _emscripten_glGenVertexArrays, "_emscripten_glVertexAttrib2fv": _emscripten_glVertexAttrib2fv, "_glViewport": _glViewport, "_alSourceQueueBuffers": _alSourceQueueBuffers, "_emscripten_glGetTexParameteriv": _emscripten_glGetTexParameteriv, "___setErrNo": ___setErrNo, "_eglGetProcAddress": _eglGetProcAddress, "_alcGetCurrentContext": _alcGetCurrentContext, "_emscripten_glBindAttribLocation": _emscripten_glBindAttribLocation, "_glDeleteTextures": _glDeleteTextures, "_glDepthFunc": _glDepthFunc, "_emscripten_glClientActiveTexture": _emscripten_glClientActiveTexture, "_emscripten_glVertexAttrib2f": _emscripten_glVertexAttrib2f, "_emscripten_glFlush": _emscripten_glFlush, "_emscripten_glCheckFramebufferStatus": _emscripten_glCheckFramebufferStatus, "_emscripten_glGenerateMipmap": _emscripten_glGenerateMipmap, "_emscripten_glGetError": _emscripten_glGetError, "_alGenBuffers": _alGenBuffers, "_emscripten_glClearDepthf": _emscripten_glClearDepthf, "_gmtime": _gmtime, "_emscripten_glUniform3i": _emscripten_glUniform3i, "_emscripten_glRotatef": _emscripten_glRotatef, "_emscripten_glDeleteShader": _emscripten_glDeleteShader, "_glEnable": _glEnable, "_emscripten_glReadPixels": _emscripten_glReadPixels, "_emscripten_glMatrixMode": _emscripten_glMatrixMode, "_alDeleteSources": _alDeleteSources, "_emscripten_glClearStencil": _emscripten_glClearStencil, "_emscripten_glGetUniformLocation": _emscripten_glGetUniformLocation, "emscriptenWebGLGet": emscriptenWebGLGet, "_alSourceUnqueueBuffers": _alSourceUnqueueBuffers, "_emscripten_glEnableVertexAttribArray": _emscripten_glEnableVertexAttribArray, "_alGetError": _alGetError, "_emscripten_get_now": _emscripten_get_now, "_emscripten_glNormalPointer": _emscripten_glNormalPointer, "_glAttachShader": _glAttachShader, "_emscripten_glTexCoordPointer": _emscripten_glTexCoordPointer, "_emscripten_glEnable": _emscripten_glEnable, "_glCreateProgram": _glCreateProgram, "_glUniformMatrix4fv": _glUniformMatrix4fv, "_emscripten_glClearDepth": _emscripten_glClearDepth, "___lock": ___lock, "emscriptenWebGLGetTexPixelData": emscriptenWebGLGetTexPixelData, "___syscall6": ___syscall6, "___syscall5": ___syscall5, "___syscall145": ___syscall145, "_emscripten_glVertexAttrib3f": _emscripten_glVertexAttrib3f, "_time": _time, "_emscripten_glVertexAttrib1f": _emscripten_glVertexAttrib1f, "_emscripten_glGetFramebufferAttachmentParameteriv": _emscripten_glGetFramebufferAttachmentParameteriv, "_emscripten_glBlendEquationSeparate": _emscripten_glBlendEquationSeparate, "_exit": _exit, "_emscripten_glBindFramebuffer": _emscripten_glBindFramebuffer, "_glGetString": _glGetString, "_emscripten_glUniform4i": _emscripten_glUniform4i, "_alSourcef": _alSourcef, "_emscripten_glDrawRangeElements": _emscripten_glDrawRangeElements, "_glCullFace": _glCullFace, "_llvm_pow_f64": _llvm_pow_f64, "_emscripten_set_keypress_callback": _emscripten_set_keypress_callback, "__emscripten_sample_gamepad_data": __emscripten_sample_gamepad_data, "_emscripten_get_gamepad_status": _emscripten_get_gamepad_status, "_emscripten_glUniform4f": _emscripten_glUniform4f, "_glfwSwapInterval": _glfwSwapInterval, "_glfwGetVideoModes": _glfwGetVideoModes, "_emscripten_set_click_callback": _emscripten_set_click_callback, "_emscripten_glShaderBinary": _emscripten_glShaderBinary, "_emscripten_glDrawElements": _emscripten_glDrawElements, "_emscripten_glBlendFunc": _emscripten_glBlendFunc, "_emscripten_get_num_gamepads": _emscripten_get_num_gamepads, "___syscall221": ___syscall221, "_glCompressedTexImage2D": _glCompressedTexImage2D, "_emscripten_glUniform1iv": _emscripten_glUniform1iv, "_emscripten_glGetVertexAttribPointerv": _emscripten_glGetVertexAttribPointerv, "_glClearDepthf": _glClearDepthf, "_emscripten_glCompressedTexSubImage2D": _emscripten_glCompressedTexSubImage2D, "emscriptenWebGLGetUniform": emscriptenWebGLGetUniform, "_emscripten_glGenRenderbuffers": _emscripten_glGenRenderbuffers, "_emscripten_glDeleteVertexArrays": _emscripten_glDeleteVertexArrays, "_glfwSetWindowShouldClose": _glfwSetWindowShouldClose, "_emscripten_glUniform1fv": _emscripten_glUniform1fv, "_emscripten_glGetActiveUniform": _emscripten_glGetActiveUniform, "_glBindTexture": _glBindTexture, "_emscripten_glUniform3iv": _emscripten_glUniform3iv, "_emscripten_glUniform2iv": _emscripten_glUniform2iv, "_emscripten_glHint": _emscripten_glHint, "_glfwSetCharCallback": _glfwSetCharCallback, "emscriptenWebGLGetVertexAttrib": emscriptenWebGLGetVertexAttrib, "_emscripten_glLoadMatrixf": _emscripten_glLoadMatrixf, "_emscripten_glDeleteProgram": _emscripten_glDeleteProgram, "_emscripten_glDeleteRenderbuffers": _emscripten_glDeleteRenderbuffers, "_glfwSetScrollCallback": _glfwSetScrollCallback, "_emscripten_glDrawElementsInstanced": _emscripten_glDrawElementsInstanced, "_emscripten_glVertexAttrib4f": _emscripten_glVertexAttrib4f, "_alcDestroyContext": _alcDestroyContext, "_glDrawArrays": _glDrawArrays, "_emscripten_glTexSubImage2D": _emscripten_glTexSubImage2D, "_emscripten_memcpy_big": _emscripten_memcpy_big, "_emscripten_glPixelStorei": _emscripten_glPixelStorei, "_glCompileShader": _glCompileShader, "_alListenerf": _alListenerf, "_emscripten_glUniformMatrix3fv": _emscripten_glUniformMatrix3fv, "_emscripten_glColorPointer": _emscripten_glColorPointer, "_emscripten_glGetBufferParameteriv": _emscripten_glGetBufferParameteriv, "_emscripten_glFinish": _emscripten_glFinish, "_glfwSwapBuffers": _glfwSwapBuffers, "_glGetFloatv": _glGetFloatv, "_emscripten_asm_const_iii": _emscripten_asm_const_iii, "_emscripten_glDepthMask": _emscripten_glDepthMask, "_glfwSetWindowIconifyCallback": _glfwSetWindowIconifyCallback, "_emscripten_glDrawBuffers": _emscripten_glDrawBuffers, "_alSourceStop": _alSourceStop, "_glFrontFace": _glFrontFace, "_emscripten_glGetObjectParameterivARB": _emscripten_glGetObjectParameterivARB, "_emscripten_exit_pointerlock": _emscripten_exit_pointerlock, "_alcCloseDevice": _alcCloseDevice, "_glUniform1i": _glUniform1i, "_glEnableVertexAttribArray": _glEnableVertexAttribArray, "_emscripten_glStencilFunc": _emscripten_glStencilFunc, "_abort": _abort, "_emscripten_glGetUniformiv": _emscripten_glGetUniformiv, "_emscripten_glUniform2fv": _emscripten_glUniform2fv, "_glDeleteBuffers": _glDeleteBuffers, "_glBufferData": _glBufferData, "_glTexImage2D": _glTexImage2D, "_emscripten_glGetShaderiv": _emscripten_glGetShaderiv, "_glfwSetKeyCallback": _glfwSetKeyCallback, "_emscripten_glGenFramebuffers": _emscripten_glGenFramebuffers, "_emscripten_glUniformMatrix4fv": _emscripten_glUniformMatrix4fv, "_emscripten_glLoadIdentity": _emscripten_glLoadIdentity, "_glDeleteShader": _glDeleteShader, "_emscripten_glUniform1f": _emscripten_glUniform1f, "_glGetProgramiv": _glGetProgramiv, "_llvm_exp2_f32": _llvm_exp2_f32, "_emscripten_glIsRenderbuffer": _emscripten_glIsRenderbuffer, "_glfwGetTime": _glfwGetTime, "_emscripten_glRenderbufferStorage": _emscripten_glRenderbufferStorage, "_emscripten_set_gamepadconnected_callback": _emscripten_set_gamepadconnected_callback, "_alListener3f": _alListener3f, "_emscripten_glGetVertexAttribiv": _emscripten_glGetVertexAttribiv, "_emscripten_glBindVertexArray": _emscripten_glBindVertexArray, "_emscripten_glDrawArraysInstanced": _emscripten_glDrawArraysInstanced, "_emscripten_set_touchcancel_callback": _emscripten_set_touchcancel_callback, "_emscripten_glCreateShader": _emscripten_glCreateShader, "_emscripten_glStencilMask": _emscripten_glStencilMask, "_emscripten_glDeleteTextures": _emscripten_glDeleteTextures, "_emscripten_glBindRenderbuffer": _emscripten_glBindRenderbuffer, "_glfwGetPrimaryMonitor": _glfwGetPrimaryMonitor, "_glLinkProgram": _glLinkProgram, "_emscripten_glVertexAttribDivisor": _emscripten_glVertexAttribDivisor, "_emscripten_set_touchend_callback": _emscripten_set_touchend_callback, "_emscripten_glGetUniformfv": _emscripten_glGetUniformfv, "_emscripten_glGetVertexAttribfv": _emscripten_glGetVertexAttribfv, "_emscripten_glGetRenderbufferParameteriv": _emscripten_glGetRenderbufferParameteriv, "_emscripten_glDeleteFramebuffers": _emscripten_glDeleteFramebuffers, "_glGetShaderiv": _glGetShaderiv, "_emscripten_glVertexAttrib3fv": _emscripten_glVertexAttrib3fv, "_glGetUniformLocation": _glGetUniformLocation, "_emscripten_glGetInfoLogARB": _emscripten_glGetInfoLogARB, "_emscripten_glCompileShader": _emscripten_glCompileShader, "_glClear": _glClear, "_glGenTextures": _glGenTextures, "_emscripten_glDisable": _emscripten_glDisable, "_emscripten_glDepthRangef": _emscripten_glDepthRangef, "__exit": __exit, "_emscripten_glLineWidth": _emscripten_glLineWidth, "_emscripten_glUniform3f": _emscripten_glUniform3f, "_emscripten_glGetShaderInfoLog": _emscripten_glGetShaderInfoLog, "_emscripten_glStencilOp": _emscripten_glStencilOp, "_glBindAttribLocation": _glBindAttribLocation, "_glPixelStorei": _glPixelStorei, "_emscripten_glColorMask": _emscripten_glColorMask, "_emscripten_glLinkProgram": _emscripten_glLinkProgram, "_emscripten_glBlendEquation": _emscripten_glBlendEquation, "_emscripten_glIsTexture": _emscripten_glIsTexture, "_alDeleteBuffers": _alDeleteBuffers, "_emscripten_glGetProgramiv": _emscripten_glGetProgramiv, "_emscripten_glVertexAttrib1fv": _emscripten_glVertexAttrib1fv, "_emscripten_glBindTexture": _emscripten_glBindTexture, "_glfwSetMouseButtonCallback": _glfwSetMouseButtonCallback, "_glfwGetCursorPos": _glfwGetCursorPos, "_emscripten_glActiveTexture": _emscripten_glActiveTexture, "_emscripten_glDeleteBuffers": _emscripten_glDeleteBuffers, "___syscall54": ___syscall54, "___unlock": ___unlock, "_emscripten_glBufferSubData": _emscripten_glBufferSubData, "_emscripten_glDepthRange": _emscripten_glDepthRange, "_emscripten_set_main_loop": _emscripten_set_main_loop, "_emscripten_glGetProgramInfoLog": _emscripten_glGetProgramInfoLog, "_glfwWindowHint": _glfwWindowHint, "_alGenSources": _alGenSources, "_glfwSetCursorPosCallback": _glfwSetCursorPosCallback, "_emscripten_glIsShader": _emscripten_glIsShader, "_emscripten_glUniform4fv": _emscripten_glUniform4fv, "_alcOpenDevice": _alcOpenDevice, "_emscripten_glDrawArrays": _emscripten_glDrawArrays, "_emscripten_glCompressedTexImage2D": _emscripten_glCompressedTexImage2D, "_emscripten_glClearColor": _emscripten_glClearColor, "_emscripten_glBufferData": _emscripten_glBufferData, "_emscripten_glCreateProgram": _emscripten_glCreateProgram, "_emscripten_glCopyTexSubImage2D": _emscripten_glCopyTexSubImage2D, "_emscripten_glGetAttribLocation": _emscripten_glGetAttribLocation, "_glTexParameteri": _glTexParameteri, "_emscripten_glValidateProgram": _emscripten_glValidateProgram, "_emscripten_glBindBuffer": _emscripten_glBindBuffer, "_emscripten_glGetFloatv": _emscripten_glGetFloatv, "_emscripten_glDetachShader": _emscripten_glDetachShader, "_glClearColor": _glClearColor, "_emscripten_glEnableClientState": _emscripten_glEnableClientState, "_glTexParameterf": _glTexParameterf, "_glfwSetCursorEnterCallback": _glfwSetCursorEnterCallback, "_emscripten_glCopyTexImage2D": _emscripten_glCopyTexImage2D, "_emscripten_glTexImage2D": _emscripten_glTexImage2D, "DYNAMICTOP_PTR": DYNAMICTOP_PTR, "tempDoublePtr": tempDoublePtr, "ABORT": ABORT, "STACKTOP": STACKTOP, "STACK_MAX": STACK_MAX, "cttz_i8": cttz_i8 }; +// EMSCRIPTEN_START_ASM +var asm = (function(global, env, buffer) { + 'use asm'; + + + var HEAP8 = new global.Int8Array(buffer); + var HEAP16 = new global.Int16Array(buffer); + var HEAP32 = new global.Int32Array(buffer); + var HEAPU8 = new global.Uint8Array(buffer); + var HEAPU16 = new global.Uint16Array(buffer); + var HEAPU32 = new global.Uint32Array(buffer); + var HEAPF32 = new global.Float32Array(buffer); + var HEAPF64 = new global.Float64Array(buffer); + + + var DYNAMICTOP_PTR=env.DYNAMICTOP_PTR|0; + var tempDoublePtr=env.tempDoublePtr|0; + var ABORT=env.ABORT|0; + var STACKTOP=env.STACKTOP|0; + var STACK_MAX=env.STACK_MAX|0; + var cttz_i8=env.cttz_i8|0; + + var __THREW__ = 0; + var threwValue = 0; + var setjmpId = 0; + var undef = 0; + var nan = global.NaN, inf = global.Infinity; + var tempInt = 0, tempBigInt = 0, tempBigIntP = 0, tempBigIntS = 0, tempBigIntR = 0.0, tempBigIntI = 0, tempBigIntD = 0, tempValue = 0, tempDouble = 0.0; + var tempRet0 = 0; + + var Math_floor=global.Math.floor; + var Math_abs=global.Math.abs; + var Math_sqrt=global.Math.sqrt; + var Math_pow=global.Math.pow; + var Math_cos=global.Math.cos; + var Math_sin=global.Math.sin; + var Math_tan=global.Math.tan; + var Math_acos=global.Math.acos; + var Math_asin=global.Math.asin; + var Math_atan=global.Math.atan; + var Math_atan2=global.Math.atan2; + var Math_exp=global.Math.exp; + var Math_log=global.Math.log; + var Math_ceil=global.Math.ceil; + var Math_imul=global.Math.imul; + var Math_min=global.Math.min; + var Math_max=global.Math.max; + var Math_clz32=global.Math.clz32; + var abort=env.abort; + var assert=env.assert; + var enlargeMemory=env.enlargeMemory; + var getTotalMemory=env.getTotalMemory; + var abortOnCannotGrowMemory=env.abortOnCannotGrowMemory; + var abortStackOverflow=env.abortStackOverflow; + var nullFunc_viiiii=env.nullFunc_viiiii; + var nullFunc_vd=env.nullFunc_vd; + var nullFunc_vid=env.nullFunc_vid; + var nullFunc_vi=env.nullFunc_vi; + var nullFunc_vii=env.nullFunc_vii; + var nullFunc_ii=env.nullFunc_ii; + var nullFunc_viddd=env.nullFunc_viddd; + var nullFunc_vidd=env.nullFunc_vidd; + var nullFunc_iiii=env.nullFunc_iiii; + var nullFunc_viiiiiiii=env.nullFunc_viiiiiiii; + var nullFunc_viiiiii=env.nullFunc_viiiiii; + var nullFunc_viii=env.nullFunc_viii; + var nullFunc_vidddd=env.nullFunc_vidddd; + var nullFunc_vdi=env.nullFunc_vdi; + var nullFunc_viiiiiii=env.nullFunc_viiiiiii; + var nullFunc_viiiiiiiii=env.nullFunc_viiiiiiiii; + var nullFunc_iii=env.nullFunc_iii; + var nullFunc_i=env.nullFunc_i; + var nullFunc_vdddddd=env.nullFunc_vdddddd; + var nullFunc_vdddd=env.nullFunc_vdddd; + var nullFunc_vdd=env.nullFunc_vdd; + var nullFunc_v=env.nullFunc_v; + var nullFunc_viid=env.nullFunc_viid; + var nullFunc_viiii=env.nullFunc_viiii; + var invoke_viiiii=env.invoke_viiiii; + var invoke_vd=env.invoke_vd; + var invoke_vid=env.invoke_vid; + var invoke_vi=env.invoke_vi; + var invoke_vii=env.invoke_vii; + var invoke_ii=env.invoke_ii; + var invoke_viddd=env.invoke_viddd; + var invoke_vidd=env.invoke_vidd; + var invoke_iiii=env.invoke_iiii; + var invoke_viiiiiiii=env.invoke_viiiiiiii; + var invoke_viiiiii=env.invoke_viiiiii; + var invoke_viii=env.invoke_viii; + var invoke_vidddd=env.invoke_vidddd; + var invoke_vdi=env.invoke_vdi; + var invoke_viiiiiii=env.invoke_viiiiiii; + var invoke_viiiiiiiii=env.invoke_viiiiiiiii; + var invoke_iii=env.invoke_iii; + var invoke_i=env.invoke_i; + var invoke_vdddddd=env.invoke_vdddddd; + var invoke_vdddd=env.invoke_vdddd; + var invoke_vdd=env.invoke_vdd; + var invoke_v=env.invoke_v; + var invoke_viid=env.invoke_viid; + var invoke_viiii=env.invoke_viiii; + var _emscripten_glGetTexParameterfv=env._emscripten_glGetTexParameterfv; + var _glUseProgram=env._glUseProgram; + var _emscripten_glShaderSource=env._emscripten_glShaderSource; + var _glfwCreateWindow=env._glfwCreateWindow; + var _emscripten_glReleaseShaderCompiler=env._emscripten_glReleaseShaderCompiler; + var _emscripten_glBlendFuncSeparate=env._emscripten_glBlendFuncSeparate; + var _emscripten_glUniform4iv=env._emscripten_glUniform4iv; + var _emscripten_glVertexAttribPointer=env._emscripten_glVertexAttribPointer; + var _emscripten_glGetIntegerv=env._emscripten_glGetIntegerv; + var _emscripten_glCullFace=env._emscripten_glCullFace; + var _emscripten_glIsProgram=env._emscripten_glIsProgram; + var _emscripten_glStencilMaskSeparate=env._emscripten_glStencilMaskSeparate; + var _emscripten_glViewport=env._emscripten_glViewport; + var _emscripten_glFrontFace=env._emscripten_glFrontFace; + var _alBufferData=env._alBufferData; + var ___assert_fail=env.___assert_fail; + var _glDeleteProgram=env._glDeleteProgram; + var _emscripten_glUniform3fv=env._emscripten_glUniform3fv; + var _emscripten_glPolygonOffset=env._emscripten_glPolygonOffset; + var _emscripten_glUseProgram=env._emscripten_glUseProgram; + var _emscripten_glBlendColor=env._emscripten_glBlendColor; + var _glBindBuffer=env._glBindBuffer; + var _emscripten_glDepthFunc=env._emscripten_glDepthFunc; + var _glGetShaderInfoLog=env._glGetShaderInfoLog; + var _alSource3f=env._alSource3f; + var _emscripten_set_fullscreenchange_callback=env._emscripten_set_fullscreenchange_callback; + var _emscripten_set_touchmove_callback=env._emscripten_set_touchmove_callback; + var _emscripten_set_main_loop_timing=env._emscripten_set_main_loop_timing; + var _emscripten_set_gamepaddisconnected_callback=env._emscripten_set_gamepaddisconnected_callback; + var _glDisable=env._glDisable; + var _glBlendFunc=env._glBlendFunc; + var _emscripten_glDisableVertexAttribArray=env._emscripten_glDisableVertexAttribArray; + var _glGetAttribLocation=env._glGetAttribLocation; + var _glDisableVertexAttribArray=env._glDisableVertexAttribArray; + var _glCreateShader=env._glCreateShader; + var _alcGetString=env._alcGetString; + var _emscripten_glSampleCoverage=env._emscripten_glSampleCoverage; + var _emscripten_glVertexPointer=env._emscripten_glVertexPointer; + var _emscripten_set_touchstart_callback=env._emscripten_set_touchstart_callback; + var emscriptenWebGLComputeImageSize=env.emscriptenWebGLComputeImageSize; + var _emscripten_glGetBooleanv=env._emscripten_glGetBooleanv; + var _emscripten_glGetShaderSource=env._emscripten_glGetShaderSource; + var _glUniform4f=env._glUniform4f; + var _llvm_stacksave=env._llvm_stacksave; + var _emscripten_glUniform1i=env._emscripten_glUniform1i; + var _emscripten_glStencilFuncSeparate=env._emscripten_glStencilFuncSeparate; + var _emscripten_glFrustum=env._emscripten_glFrustum; + var _emscripten_glGenBuffers=env._emscripten_glGenBuffers; + var _emscripten_glDeleteObjectARB=env._emscripten_glDeleteObjectARB; + var _glfwSetWindowSizeCallback=env._glfwSetWindowSizeCallback; + var _emscripten_glGetShaderPrecisionFormat=env._emscripten_glGetShaderPrecisionFormat; + var _glfwInit=env._glfwInit; + var _emscripten_glGetPointerv=env._emscripten_glGetPointerv; + var _glGenBuffers=env._glGenBuffers; + var _glShaderSource=env._glShaderSource; + var _emscripten_glGetString=env._emscripten_glGetString; + var _emscripten_glIsFramebuffer=env._emscripten_glIsFramebuffer; + var _gmtime_r=env._gmtime_r; + var _emscripten_glIsEnabled=env._emscripten_glIsEnabled; + var _emscripten_glScissor=env._emscripten_glScissor; + var _emscripten_glVertexAttrib4fv=env._emscripten_glVertexAttrib4fv; + var _emscripten_glFramebufferTexture2D=env._emscripten_glFramebufferTexture2D; + var _emscripten_glTexParameteriv=env._emscripten_glTexParameteriv; + var _emscripten_glBindProgramARB=env._emscripten_glBindProgramARB; + var _emscripten_glStencilOpSeparate=env._emscripten_glStencilOpSeparate; + var _alSourcePlay=env._alSourcePlay; + var _alSourcei=env._alSourcei; + var _emscripten_glFramebufferRenderbuffer=env._emscripten_glFramebufferRenderbuffer; + var ___syscall140=env.___syscall140; + var _glfwSetErrorCallback=env._glfwSetErrorCallback; + var _glfwDefaultWindowHints=env._glfwDefaultWindowHints; + var _emscripten_glIsBuffer=env._emscripten_glIsBuffer; + var ___syscall146=env.___syscall146; + var _glfwDestroyWindow=env._glfwDestroyWindow; + var _emscripten_glGetActiveAttrib=env._emscripten_glGetActiveAttrib; + var _emscripten_glAttachShader=env._emscripten_glAttachShader; + var _glVertexAttribPointer=env._glVertexAttribPointer; + var _emscripten_glUniform2i=env._emscripten_glUniform2i; + var _emscripten_glUniform2f=env._emscripten_glUniform2f; + var _alcCreateContext=env._alcCreateContext; + var _glfwTerminate=env._glfwTerminate; + var _emscripten_glTexParameterfv=env._emscripten_glTexParameterfv; + var _emscripten_glUniformMatrix2fv=env._emscripten_glUniformMatrix2fv; + var _glGetProgramInfoLog=env._glGetProgramInfoLog; + var _alcGetContextsDevice=env._alcGetContextsDevice; + var _emscripten_glTexParameterf=env._emscripten_glTexParameterf; + var _emscripten_glGetAttachedShaders=env._emscripten_glGetAttachedShaders; + var _emscripten_glGenTextures=env._emscripten_glGenTextures; + var _emscripten_glTexParameteri=env._emscripten_glTexParameteri; + var _llvm_stackrestore=env._llvm_stackrestore; + var _glfwMakeContextCurrent=env._glfwMakeContextCurrent; + var _emscripten_glClear=env._emscripten_glClear; + var _glDrawElements=env._glDrawElements; + var _alGetSourcei=env._alGetSourcei; + var _glBufferSubData=env._glBufferSubData; + var _alcMakeContextCurrent=env._alcMakeContextCurrent; + var _emscripten_glGenVertexArrays=env._emscripten_glGenVertexArrays; + var _emscripten_glVertexAttrib2fv=env._emscripten_glVertexAttrib2fv; + var _glViewport=env._glViewport; + var _alSourceQueueBuffers=env._alSourceQueueBuffers; + var _emscripten_glGetTexParameteriv=env._emscripten_glGetTexParameteriv; + var ___setErrNo=env.___setErrNo; + var _eglGetProcAddress=env._eglGetProcAddress; + var _alcGetCurrentContext=env._alcGetCurrentContext; + var _emscripten_glBindAttribLocation=env._emscripten_glBindAttribLocation; + var _glDeleteTextures=env._glDeleteTextures; + var _glDepthFunc=env._glDepthFunc; + var _emscripten_glClientActiveTexture=env._emscripten_glClientActiveTexture; + var _emscripten_glVertexAttrib2f=env._emscripten_glVertexAttrib2f; + var _emscripten_glFlush=env._emscripten_glFlush; + var _emscripten_glCheckFramebufferStatus=env._emscripten_glCheckFramebufferStatus; + var _emscripten_glGenerateMipmap=env._emscripten_glGenerateMipmap; + var _emscripten_glGetError=env._emscripten_glGetError; + var _alGenBuffers=env._alGenBuffers; + var _emscripten_glClearDepthf=env._emscripten_glClearDepthf; + var _gmtime=env._gmtime; + var _emscripten_glUniform3i=env._emscripten_glUniform3i; + var _emscripten_glRotatef=env._emscripten_glRotatef; + var _emscripten_glDeleteShader=env._emscripten_glDeleteShader; + var _glEnable=env._glEnable; + var _emscripten_glReadPixels=env._emscripten_glReadPixels; + var _emscripten_glMatrixMode=env._emscripten_glMatrixMode; + var _alDeleteSources=env._alDeleteSources; + var _emscripten_glClearStencil=env._emscripten_glClearStencil; + var _emscripten_glGetUniformLocation=env._emscripten_glGetUniformLocation; + var emscriptenWebGLGet=env.emscriptenWebGLGet; + var _alSourceUnqueueBuffers=env._alSourceUnqueueBuffers; + var _emscripten_glEnableVertexAttribArray=env._emscripten_glEnableVertexAttribArray; + var _alGetError=env._alGetError; + var _emscripten_get_now=env._emscripten_get_now; + var _emscripten_glNormalPointer=env._emscripten_glNormalPointer; + var _glAttachShader=env._glAttachShader; + var _emscripten_glTexCoordPointer=env._emscripten_glTexCoordPointer; + var _emscripten_glEnable=env._emscripten_glEnable; + var _glCreateProgram=env._glCreateProgram; + var _glUniformMatrix4fv=env._glUniformMatrix4fv; + var _emscripten_glClearDepth=env._emscripten_glClearDepth; + var ___lock=env.___lock; + var emscriptenWebGLGetTexPixelData=env.emscriptenWebGLGetTexPixelData; + var ___syscall6=env.___syscall6; + var ___syscall5=env.___syscall5; + var ___syscall145=env.___syscall145; + var _emscripten_glVertexAttrib3f=env._emscripten_glVertexAttrib3f; + var _time=env._time; + var _emscripten_glVertexAttrib1f=env._emscripten_glVertexAttrib1f; + var _emscripten_glGetFramebufferAttachmentParameteriv=env._emscripten_glGetFramebufferAttachmentParameteriv; + var _emscripten_glBlendEquationSeparate=env._emscripten_glBlendEquationSeparate; + var _exit=env._exit; + var _emscripten_glBindFramebuffer=env._emscripten_glBindFramebuffer; + var _glGetString=env._glGetString; + var _emscripten_glUniform4i=env._emscripten_glUniform4i; + var _alSourcef=env._alSourcef; + var _emscripten_glDrawRangeElements=env._emscripten_glDrawRangeElements; + var _glCullFace=env._glCullFace; + var _llvm_pow_f64=env._llvm_pow_f64; + var _emscripten_set_keypress_callback=env._emscripten_set_keypress_callback; + var __emscripten_sample_gamepad_data=env.__emscripten_sample_gamepad_data; + var _emscripten_get_gamepad_status=env._emscripten_get_gamepad_status; + var _emscripten_glUniform4f=env._emscripten_glUniform4f; + var _glfwSwapInterval=env._glfwSwapInterval; + var _glfwGetVideoModes=env._glfwGetVideoModes; + var _emscripten_set_click_callback=env._emscripten_set_click_callback; + var _emscripten_glShaderBinary=env._emscripten_glShaderBinary; + var _emscripten_glDrawElements=env._emscripten_glDrawElements; + var _emscripten_glBlendFunc=env._emscripten_glBlendFunc; + var _emscripten_get_num_gamepads=env._emscripten_get_num_gamepads; + var ___syscall221=env.___syscall221; + var _glCompressedTexImage2D=env._glCompressedTexImage2D; + var _emscripten_glUniform1iv=env._emscripten_glUniform1iv; + var _emscripten_glGetVertexAttribPointerv=env._emscripten_glGetVertexAttribPointerv; + var _glClearDepthf=env._glClearDepthf; + var _emscripten_glCompressedTexSubImage2D=env._emscripten_glCompressedTexSubImage2D; + var emscriptenWebGLGetUniform=env.emscriptenWebGLGetUniform; + var _emscripten_glGenRenderbuffers=env._emscripten_glGenRenderbuffers; + var _emscripten_glDeleteVertexArrays=env._emscripten_glDeleteVertexArrays; + var _glfwSetWindowShouldClose=env._glfwSetWindowShouldClose; + var _emscripten_glUniform1fv=env._emscripten_glUniform1fv; + var _emscripten_glGetActiveUniform=env._emscripten_glGetActiveUniform; + var _glBindTexture=env._glBindTexture; + var _emscripten_glUniform3iv=env._emscripten_glUniform3iv; + var _emscripten_glUniform2iv=env._emscripten_glUniform2iv; + var _emscripten_glHint=env._emscripten_glHint; + var _glfwSetCharCallback=env._glfwSetCharCallback; + var emscriptenWebGLGetVertexAttrib=env.emscriptenWebGLGetVertexAttrib; + var _emscripten_glLoadMatrixf=env._emscripten_glLoadMatrixf; + var _emscripten_glDeleteProgram=env._emscripten_glDeleteProgram; + var _emscripten_glDeleteRenderbuffers=env._emscripten_glDeleteRenderbuffers; + var _glfwSetScrollCallback=env._glfwSetScrollCallback; + var _emscripten_glDrawElementsInstanced=env._emscripten_glDrawElementsInstanced; + var _emscripten_glVertexAttrib4f=env._emscripten_glVertexAttrib4f; + var _alcDestroyContext=env._alcDestroyContext; + var _glDrawArrays=env._glDrawArrays; + var _emscripten_glTexSubImage2D=env._emscripten_glTexSubImage2D; + var _emscripten_memcpy_big=env._emscripten_memcpy_big; + var _emscripten_glPixelStorei=env._emscripten_glPixelStorei; + var _glCompileShader=env._glCompileShader; + var _alListenerf=env._alListenerf; + var _emscripten_glUniformMatrix3fv=env._emscripten_glUniformMatrix3fv; + var _emscripten_glColorPointer=env._emscripten_glColorPointer; + var _emscripten_glGetBufferParameteriv=env._emscripten_glGetBufferParameteriv; + var _emscripten_glFinish=env._emscripten_glFinish; + var _glfwSwapBuffers=env._glfwSwapBuffers; + var _glGetFloatv=env._glGetFloatv; + var _emscripten_asm_const_iii=env._emscripten_asm_const_iii; + var _emscripten_glDepthMask=env._emscripten_glDepthMask; + var _glfwSetWindowIconifyCallback=env._glfwSetWindowIconifyCallback; + var _emscripten_glDrawBuffers=env._emscripten_glDrawBuffers; + var _alSourceStop=env._alSourceStop; + var _glFrontFace=env._glFrontFace; + var _emscripten_glGetObjectParameterivARB=env._emscripten_glGetObjectParameterivARB; + var _emscripten_exit_pointerlock=env._emscripten_exit_pointerlock; + var _alcCloseDevice=env._alcCloseDevice; + var _glUniform1i=env._glUniform1i; + var _glEnableVertexAttribArray=env._glEnableVertexAttribArray; + var _emscripten_glStencilFunc=env._emscripten_glStencilFunc; + var _abort=env._abort; + var _emscripten_glGetUniformiv=env._emscripten_glGetUniformiv; + var _emscripten_glUniform2fv=env._emscripten_glUniform2fv; + var _glDeleteBuffers=env._glDeleteBuffers; + var _glBufferData=env._glBufferData; + var _glTexImage2D=env._glTexImage2D; + var _emscripten_glGetShaderiv=env._emscripten_glGetShaderiv; + var _glfwSetKeyCallback=env._glfwSetKeyCallback; + var _emscripten_glGenFramebuffers=env._emscripten_glGenFramebuffers; + var _emscripten_glUniformMatrix4fv=env._emscripten_glUniformMatrix4fv; + var _emscripten_glLoadIdentity=env._emscripten_glLoadIdentity; + var _glDeleteShader=env._glDeleteShader; + var _emscripten_glUniform1f=env._emscripten_glUniform1f; + var _glGetProgramiv=env._glGetProgramiv; + var _llvm_exp2_f32=env._llvm_exp2_f32; + var _emscripten_glIsRenderbuffer=env._emscripten_glIsRenderbuffer; + var _glfwGetTime=env._glfwGetTime; + var _emscripten_glRenderbufferStorage=env._emscripten_glRenderbufferStorage; + var _emscripten_set_gamepadconnected_callback=env._emscripten_set_gamepadconnected_callback; + var _alListener3f=env._alListener3f; + var _emscripten_glGetVertexAttribiv=env._emscripten_glGetVertexAttribiv; + var _emscripten_glBindVertexArray=env._emscripten_glBindVertexArray; + var _emscripten_glDrawArraysInstanced=env._emscripten_glDrawArraysInstanced; + var _emscripten_set_touchcancel_callback=env._emscripten_set_touchcancel_callback; + var _emscripten_glCreateShader=env._emscripten_glCreateShader; + var _emscripten_glStencilMask=env._emscripten_glStencilMask; + var _emscripten_glDeleteTextures=env._emscripten_glDeleteTextures; + var _emscripten_glBindRenderbuffer=env._emscripten_glBindRenderbuffer; + var _glfwGetPrimaryMonitor=env._glfwGetPrimaryMonitor; + var _glLinkProgram=env._glLinkProgram; + var _emscripten_glVertexAttribDivisor=env._emscripten_glVertexAttribDivisor; + var _emscripten_set_touchend_callback=env._emscripten_set_touchend_callback; + var _emscripten_glGetUniformfv=env._emscripten_glGetUniformfv; + var _emscripten_glGetVertexAttribfv=env._emscripten_glGetVertexAttribfv; + var _emscripten_glGetRenderbufferParameteriv=env._emscripten_glGetRenderbufferParameteriv; + var _emscripten_glDeleteFramebuffers=env._emscripten_glDeleteFramebuffers; + var _glGetShaderiv=env._glGetShaderiv; + var _emscripten_glVertexAttrib3fv=env._emscripten_glVertexAttrib3fv; + var _glGetUniformLocation=env._glGetUniformLocation; + var _emscripten_glGetInfoLogARB=env._emscripten_glGetInfoLogARB; + var _emscripten_glCompileShader=env._emscripten_glCompileShader; + var _glClear=env._glClear; + var _glGenTextures=env._glGenTextures; + var _emscripten_glDisable=env._emscripten_glDisable; + var _emscripten_glDepthRangef=env._emscripten_glDepthRangef; + var __exit=env.__exit; + var _emscripten_glLineWidth=env._emscripten_glLineWidth; + var _emscripten_glUniform3f=env._emscripten_glUniform3f; + var _emscripten_glGetShaderInfoLog=env._emscripten_glGetShaderInfoLog; + var _emscripten_glStencilOp=env._emscripten_glStencilOp; + var _glBindAttribLocation=env._glBindAttribLocation; + var _glPixelStorei=env._glPixelStorei; + var _emscripten_glColorMask=env._emscripten_glColorMask; + var _emscripten_glLinkProgram=env._emscripten_glLinkProgram; + var _emscripten_glBlendEquation=env._emscripten_glBlendEquation; + var _emscripten_glIsTexture=env._emscripten_glIsTexture; + var _alDeleteBuffers=env._alDeleteBuffers; + var _emscripten_glGetProgramiv=env._emscripten_glGetProgramiv; + var _emscripten_glVertexAttrib1fv=env._emscripten_glVertexAttrib1fv; + var _emscripten_glBindTexture=env._emscripten_glBindTexture; + var _glfwSetMouseButtonCallback=env._glfwSetMouseButtonCallback; + var _glfwGetCursorPos=env._glfwGetCursorPos; + var _emscripten_glActiveTexture=env._emscripten_glActiveTexture; + var _emscripten_glDeleteBuffers=env._emscripten_glDeleteBuffers; + var ___syscall54=env.___syscall54; + var ___unlock=env.___unlock; + var _emscripten_glBufferSubData=env._emscripten_glBufferSubData; + var _emscripten_glDepthRange=env._emscripten_glDepthRange; + var _emscripten_set_main_loop=env._emscripten_set_main_loop; + var _emscripten_glGetProgramInfoLog=env._emscripten_glGetProgramInfoLog; + var _glfwWindowHint=env._glfwWindowHint; + var _alGenSources=env._alGenSources; + var _glfwSetCursorPosCallback=env._glfwSetCursorPosCallback; + var _emscripten_glIsShader=env._emscripten_glIsShader; + var _emscripten_glUniform4fv=env._emscripten_glUniform4fv; + var _alcOpenDevice=env._alcOpenDevice; + var _emscripten_glDrawArrays=env._emscripten_glDrawArrays; + var _emscripten_glCompressedTexImage2D=env._emscripten_glCompressedTexImage2D; + var _emscripten_glClearColor=env._emscripten_glClearColor; + var _emscripten_glBufferData=env._emscripten_glBufferData; + var _emscripten_glCreateProgram=env._emscripten_glCreateProgram; + var _emscripten_glCopyTexSubImage2D=env._emscripten_glCopyTexSubImage2D; + var _emscripten_glGetAttribLocation=env._emscripten_glGetAttribLocation; + var _glTexParameteri=env._glTexParameteri; + var _emscripten_glValidateProgram=env._emscripten_glValidateProgram; + var _emscripten_glBindBuffer=env._emscripten_glBindBuffer; + var _emscripten_glGetFloatv=env._emscripten_glGetFloatv; + var _emscripten_glDetachShader=env._emscripten_glDetachShader; + var _glClearColor=env._glClearColor; + var _emscripten_glEnableClientState=env._emscripten_glEnableClientState; + var _glTexParameterf=env._glTexParameterf; + var _glfwSetCursorEnterCallback=env._glfwSetCursorEnterCallback; + var _emscripten_glCopyTexImage2D=env._emscripten_glCopyTexImage2D; + var _emscripten_glTexImage2D=env._emscripten_glTexImage2D; + var tempFloat = 0.0; + +// EMSCRIPTEN_START_FUNCS + +function stackAlloc(size) { + size = size|0; + var ret = 0; + ret = STACKTOP; + STACKTOP = (STACKTOP + size)|0; + STACKTOP = (STACKTOP + 15)&-16; + if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(size|0); + + return ret|0; +} +function stackSave() { + return STACKTOP|0; +} +function stackRestore(top) { + top = top|0; + STACKTOP = top; +} +function establishStackSpace(stackBase, stackMax) { + stackBase = stackBase|0; + stackMax = stackMax|0; + STACKTOP = stackBase; + STACK_MAX = stackMax; +} + +function setThrew(threw, value) { + threw = threw|0; + value = value|0; + if ((__THREW__|0) == 0) { + __THREW__ = threw; + threwValue = value; + } +} + +function setTempRet0(value) { + value = value|0; + tempRet0 = value; +} +function getTempRet0() { + return tempRet0|0; +} + +function _main() { + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $fxDieOwl$byval_copy = 0, dest = 0, label = 0, sp = 0, src = 0; + var stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 288|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(288|0); + $fxDieOwl$byval_copy = sp + 224|0; + $0 = sp + 192|0; + $1 = sp + 172|0; + $2 = sp + 152|0; + $3 = sp + 96|0; + $4 = sp + 84|0; + $5 = sp + 72|0; + $6 = sp + 60|0; + $7 = sp + 48|0; + $8 = sp + 36|0; + $9 = sp + 24|0; + $10 = sp + 12|0; + $11 = sp; + _InitWindow(1280,720,5746); + _LoadSpriteFont($0,5776); + ;HEAP32[25480>>2]=HEAP32[$0>>2]|0;HEAP32[25480+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[25480+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[25480+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[25480+16>>2]=HEAP32[$0+16>>2]|0;HEAP32[25480+20>>2]=HEAP32[$0+20>>2]|0;HEAP32[25480+24>>2]=HEAP32[$0+24>>2]|0;HEAP32[25480+28>>2]=HEAP32[$0+28>>2]|0; + _LoadTexture($1,5808); + ;HEAP32[25512>>2]=HEAP32[$1>>2]|0;HEAP32[25512+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[25512+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[25512+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[25512+16>>2]=HEAP32[$1+16>>2]|0; + _LoadTexture($2,5839); + ;HEAP32[25532>>2]=HEAP32[$2>>2]|0;HEAP32[25532+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[25532+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[25532+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[25532+16>>2]=HEAP32[$2+16>>2]|0; + _LoadShader($3,5870,5904); + dest=25552; src=$3; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _InitAudioDevice(); + _LoadSound($4,5945); + ;HEAP32[25608>>2]=HEAP32[$4>>2]|0;HEAP32[25608+4>>2]=HEAP32[$4+4>>2]|0;HEAP32[25608+8>>2]=HEAP32[$4+8>>2]|0; + _LoadSound($5,5970); + ;HEAP32[25620>>2]=HEAP32[$5>>2]|0;HEAP32[25620+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[25620+8>>2]=HEAP32[$5+8>>2]|0; + _LoadSound($6,5995); + ;HEAP32[25632>>2]=HEAP32[$6>>2]|0;HEAP32[25632+4>>2]=HEAP32[$6+4>>2]|0;HEAP32[25632+8>>2]=HEAP32[$6+8>>2]|0; + _LoadSound($7,6026); + ;HEAP32[25644>>2]=HEAP32[$7>>2]|0;HEAP32[25644+4>>2]=HEAP32[$7+4>>2]|0;HEAP32[25644+8>>2]=HEAP32[$7+8>>2]|0; + _LoadSound($8,6056); + ;HEAP32[25656>>2]=HEAP32[$8>>2]|0;HEAP32[25656+4>>2]=HEAP32[$8+4>>2]|0;HEAP32[25656+8>>2]=HEAP32[$8+8>>2]|0; + _LoadSound($9,6087); + ;HEAP32[25668>>2]=HEAP32[$9>>2]|0;HEAP32[25668+4>>2]=HEAP32[$9+4>>2]|0;HEAP32[25668+8>>2]=HEAP32[$9+8>>2]|0; + _LoadSound($10,6117); + ;HEAP32[25680>>2]=HEAP32[$10>>2]|0;HEAP32[25680+4>>2]=HEAP32[$10+4>>2]|0;HEAP32[25680+8>>2]=HEAP32[$10+8>>2]|0; + _LoadSound($11,6147); + ;HEAP32[25692>>2]=HEAP32[$11>>2]|0;HEAP32[25692+4>>2]=HEAP32[$11+4>>2]|0;HEAP32[25692+8>>2]=HEAP32[$11+8>>2]|0; + $12 = (_LoadMusicStream(6175)|0); + HEAP32[6426] = $12; + _PlayMusicStream($12); + $13 = HEAP32[6426]|0; + _SetMusicVolume($13,1.0); + HEAP32[6427] = 1; + _InitLogoScreen(); + _InitTitleScreen(); + _InitGameplayScreen(); + _InitEndingScreen(); + _emscripten_set_main_loop((1|0),0,1); + ;HEAP32[$fxDieOwl$byval_copy>>2]=HEAP32[25512>>2]|0;HEAP32[$fxDieOwl$byval_copy+4>>2]=HEAP32[25512+4>>2]|0;HEAP32[$fxDieOwl$byval_copy+8>>2]=HEAP32[25512+8>>2]|0;HEAP32[$fxDieOwl$byval_copy+12>>2]=HEAP32[25512+12>>2]|0;HEAP32[$fxDieOwl$byval_copy+16>>2]=HEAP32[25512+16>>2]|0; + _UnloadTexture($fxDieOwl$byval_copy); + ;HEAP32[$fxDieOwl$byval_copy>>2]=HEAP32[25532>>2]|0;HEAP32[$fxDieOwl$byval_copy+4>>2]=HEAP32[25532+4>>2]|0;HEAP32[$fxDieOwl$byval_copy+8>>2]=HEAP32[25532+8>>2]|0;HEAP32[$fxDieOwl$byval_copy+12>>2]=HEAP32[25532+12>>2]|0;HEAP32[$fxDieOwl$byval_copy+16>>2]=HEAP32[25532+16>>2]|0; + _UnloadTexture($fxDieOwl$byval_copy); + ;HEAP32[$fxDieOwl$byval_copy>>2]=HEAP32[25480>>2]|0;HEAP32[$fxDieOwl$byval_copy+4>>2]=HEAP32[25480+4>>2]|0;HEAP32[$fxDieOwl$byval_copy+8>>2]=HEAP32[25480+8>>2]|0;HEAP32[$fxDieOwl$byval_copy+12>>2]=HEAP32[25480+12>>2]|0;HEAP32[$fxDieOwl$byval_copy+16>>2]=HEAP32[25480+16>>2]|0;HEAP32[$fxDieOwl$byval_copy+20>>2]=HEAP32[25480+20>>2]|0;HEAP32[$fxDieOwl$byval_copy+24>>2]=HEAP32[25480+24>>2]|0;HEAP32[$fxDieOwl$byval_copy+28>>2]=HEAP32[25480+28>>2]|0; + _UnloadSpriteFont($fxDieOwl$byval_copy); + dest=$fxDieOwl$byval_copy; src=25552; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _UnloadShader($fxDieOwl$byval_copy); + ;HEAP32[$fxDieOwl$byval_copy>>2]=HEAP32[25608>>2]|0;HEAP32[$fxDieOwl$byval_copy+4>>2]=HEAP32[25608+4>>2]|0;HEAP32[$fxDieOwl$byval_copy+8>>2]=HEAP32[25608+8>>2]|0; + _UnloadSound($fxDieOwl$byval_copy); + ;HEAP32[$fxDieOwl$byval_copy>>2]=HEAP32[25620>>2]|0;HEAP32[$fxDieOwl$byval_copy+4>>2]=HEAP32[25620+4>>2]|0;HEAP32[$fxDieOwl$byval_copy+8>>2]=HEAP32[25620+8>>2]|0; + _UnloadSound($fxDieOwl$byval_copy); + ;HEAP32[$fxDieOwl$byval_copy>>2]=HEAP32[25632>>2]|0;HEAP32[$fxDieOwl$byval_copy+4>>2]=HEAP32[25632+4>>2]|0;HEAP32[$fxDieOwl$byval_copy+8>>2]=HEAP32[25632+8>>2]|0; + _UnloadSound($fxDieOwl$byval_copy); + ;HEAP32[$fxDieOwl$byval_copy>>2]=HEAP32[25644>>2]|0;HEAP32[$fxDieOwl$byval_copy+4>>2]=HEAP32[25644+4>>2]|0;HEAP32[$fxDieOwl$byval_copy+8>>2]=HEAP32[25644+8>>2]|0; + _UnloadSound($fxDieOwl$byval_copy); + ;HEAP32[$fxDieOwl$byval_copy>>2]=HEAP32[25656>>2]|0;HEAP32[$fxDieOwl$byval_copy+4>>2]=HEAP32[25656+4>>2]|0;HEAP32[$fxDieOwl$byval_copy+8>>2]=HEAP32[25656+8>>2]|0; + _UnloadSound($fxDieOwl$byval_copy); + ;HEAP32[$fxDieOwl$byval_copy>>2]=HEAP32[25668>>2]|0;HEAP32[$fxDieOwl$byval_copy+4>>2]=HEAP32[25668+4>>2]|0;HEAP32[$fxDieOwl$byval_copy+8>>2]=HEAP32[25668+8>>2]|0; + _UnloadSound($fxDieOwl$byval_copy); + ;HEAP32[$fxDieOwl$byval_copy>>2]=HEAP32[25680>>2]|0;HEAP32[$fxDieOwl$byval_copy+4>>2]=HEAP32[25680+4>>2]|0;HEAP32[$fxDieOwl$byval_copy+8>>2]=HEAP32[25680+8>>2]|0; + _UnloadSound($fxDieOwl$byval_copy); + ;HEAP32[$fxDieOwl$byval_copy>>2]=HEAP32[25692>>2]|0;HEAP32[$fxDieOwl$byval_copy+4>>2]=HEAP32[25692+4>>2]|0;HEAP32[$fxDieOwl$byval_copy+8>>2]=HEAP32[25692+8>>2]|0; + _UnloadSound($fxDieOwl$byval_copy); + $14 = HEAP32[6426]|0; + _UnloadMusicStream($14); + _CloseAudioDevice(); + _CloseWindow(); + STACKTOP = sp;return 0; +} +function _UpdateDrawFrame() { + var $$byval_copy1 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; + var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $$byval_copy1 = sp + 16|0; + $0 = sp + 4|0; + $1 = sp + 12|0; + $2 = sp; + $3 = sp + 8|0; + $4 = HEAP32[6428]|0; + $5 = ($4|0)==(0); + L1: do { + if ($5) { + $6 = HEAP32[6427]|0; + switch ($6|0) { + case 0: { + _UpdateLogoScreen(); + $7 = (_FinishLogoScreen()|0); + $8 = ($7|0)==(0); + if ($8) { + break L1; + } + _TransitionToScreen(1); + break L1; + break; + } + case 1: { + _UpdateTitleScreen(); + $9 = (_FinishTitleScreen()|0); + $10 = ($9|0)==(1); + if ($10) { + break L1; + } + $11 = (_FinishTitleScreen()|0); + $12 = ($11|0)==(2); + if (!($12)) { + break L1; + } + _InitGameplayScreen(); + _TransitionToScreen(3); + break L1; + break; + } + case 3: { + _UpdateGameplayScreen(); + $13 = (_FinishGameplayScreen()|0); + $14 = ($13|0)==(0); + if ($14) { + break L1; + } + _InitEndingScreen(); + _TransitionToScreen(4); + break L1; + break; + } + case 4: { + _UpdateEndingScreen(); + $15 = (_FinishEndingScreen()|0); + $16 = ($15|0)==(0); + if ($16) { + break L1; + } + _InitGameplayScreen(); + _TransitionToScreen(3); + break L1; + break; + } + default: { + break L1; + } + } + } else { + _UpdateTransition(); + } + } while(0); + $17 = HEAP32[6426]|0; + _UpdateMusicStream($17); + _BeginDrawing(); + HEAP32[$0>>2] = -1; + ;HEAP8[$$byval_copy1>>0]=HEAP8[$0>>0]|0;HEAP8[$$byval_copy1+1>>0]=HEAP8[$0+1>>0]|0;HEAP8[$$byval_copy1+2>>0]=HEAP8[$0+2>>0]|0;HEAP8[$$byval_copy1+3>>0]=HEAP8[$0+3>>0]|0; + _ClearBackground($$byval_copy1); + $18 = HEAP32[6427]|0; + switch ($18|0) { + case 0: { + _DrawLogoScreen(); + break; + } + case 1: { + _DrawTitleScreen(); + break; + } + case 3: { + _DrawGameplayScreen(); + break; + } + case 4: { + _DrawEndingScreen(); + break; + } + default: { + } + } + $19 = HEAP32[6428]|0; + $20 = ($19|0)==(0); + if (!($20)) { + _DrawTransition(); + } + $21 = (_GetScreenHeight()|0); + $22 = (($21) + -30)|0; + _DrawFPS(20,$22); + $23 = (_GetScreenWidth()|0); + $24 = (($23) + -200)|0; + $25 = (_GetScreenHeight()|0); + $26 = (($25) + -50)|0; + HEAP32[$2>>2] = -1; + ;HEAP8[$$byval_copy1>>0]=HEAP8[$2>>0]|0;HEAP8[$$byval_copy1+1>>0]=HEAP8[$2+1>>0]|0;HEAP8[$$byval_copy1+2>>0]=HEAP8[$2+2>>0]|0;HEAP8[$$byval_copy1+3>>0]=HEAP8[$2+3>>0]|0; + _Fade($1,$$byval_copy1,0.60000002384185791); + ;HEAP8[$$byval_copy1>>0]=HEAP8[$1>>0]|0;HEAP8[$$byval_copy1+1>>0]=HEAP8[$1+1>>0]|0;HEAP8[$$byval_copy1+2>>0]=HEAP8[$1+2>>0]|0;HEAP8[$$byval_copy1+3>>0]=HEAP8[$1+3>>0]|0; + _DrawRectangle($24,$26,200,40,$$byval_copy1); + $27 = (_GetScreenWidth()|0); + $28 = (($27) + -180)|0; + $29 = (_GetScreenHeight()|0); + $30 = (($29) + -40)|0; + HEAP8[$3>>0] = 80; + $31 = ((($3)) + 1|0); + HEAP8[$31>>0] = 80; + $32 = ((($3)) + 2|0); + HEAP8[$32>>0] = 80; + $33 = ((($3)) + 3|0); + HEAP8[$33>>0] = -1; + ;HEAP8[$$byval_copy1>>0]=HEAP8[$3>>0]|0;HEAP8[$$byval_copy1+1>>0]=HEAP8[$3+1>>0]|0;HEAP8[$$byval_copy1+2>>0]=HEAP8[$3+2>>0]|0;HEAP8[$$byval_copy1+3>>0]=HEAP8[$3+3>>0]|0; + _DrawText(6199,$28,$30,20,$$byval_copy1); + _EndDrawing(); + STACKTOP = sp;return; +} +function _TransitionToScreen($0) { + $0 = $0|0; + var label = 0, sp = 0; + sp = STACKTOP; + HEAP32[6428] = 1; + HEAP32[2] = $0; + return; +} +function _UpdateTransition() { + var $0 = 0, $1 = 0, $2 = 0.0, $3 = 0.0, $4 = 0, $5 = 0, $6 = 0.0, $7 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[6429]|0; + $1 = ($0|0)==(0); + $2 = +HEAPF32[6430]; + if ($1) { + $3 = $2 + 0.05000000074505806; + HEAPF32[6430] = $3; + $4 = !($3 >= 1.0); + if ($4) { + return; + } + HEAPF32[6430] = 1.0; + $5 = HEAP32[2]|0; + HEAP32[6427] = $5; + HEAP32[6429] = 1; + return; + } else { + $6 = $2 + -0.05000000074505806; + HEAPF32[6430] = $6; + $7 = !($6 <= 0.0); + if ($7) { + return; + } + HEAPF32[6430] = 0.0; + HEAP32[6429] = 0; + HEAP32[6428] = 0; + HEAP32[2] = -1; + return; + } +} +function _DrawTransition() { + var $$byval_copy1 = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $$byval_copy1 = sp + 8|0; + $0 = sp + 4|0; + $1 = sp; + $2 = (_GetScreenWidth()|0); + $3 = (_GetScreenHeight()|0); + HEAP8[$1>>0] = 0; + $4 = ((($1)) + 1|0); + HEAP8[$4>>0] = 0; + $5 = ((($1)) + 2|0); + HEAP8[$5>>0] = 0; + $6 = ((($1)) + 3|0); + HEAP8[$6>>0] = -1; + $7 = +HEAPF32[6430]; + ;HEAP8[$$byval_copy1>>0]=HEAP8[$1>>0]|0;HEAP8[$$byval_copy1+1>>0]=HEAP8[$1+1>>0]|0;HEAP8[$$byval_copy1+2>>0]=HEAP8[$1+2>>0]|0;HEAP8[$$byval_copy1+3>>0]=HEAP8[$1+3>>0]|0; + _Fade($0,$$byval_copy1,$7); + ;HEAP8[$$byval_copy1>>0]=HEAP8[$0>>0]|0;HEAP8[$$byval_copy1+1>>0]=HEAP8[$0+1>>0]|0;HEAP8[$$byval_copy1+2>>0]=HEAP8[$0+2>>0]|0;HEAP8[$$byval_copy1+3>>0]=HEAP8[$0+3>>0]|0; + _DrawRectangle(0,0,$2,$3,$$byval_copy1); + STACKTOP = sp;return; +} +function _InitLogoScreen() { + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAP32[6576] = 0; + HEAP32[6577] = 0; + $0 = (_GetScreenWidth()|0); + $1 = (($0|0) / 2)&-1; + $2 = (($1) + -128)|0; + HEAP32[6574] = $2; + $3 = (_GetScreenHeight()|0); + $4 = (($3|0) / 2)&-1; + $5 = (($4) + -128)|0; + HEAP32[6575] = $5; + return; +} +function _UpdateLogoScreen() { + var $$014 = 0, $$0913 = 0, $$pr11 = 0, $$pr12 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0; + var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0; + var $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[6576]|0; + $1 = (($0) + 1)|0; + HEAP32[6576] = $1; + $2 = HEAP32[6570]|0; + L1: do { + switch ($2|0) { + case 0: { + $3 = (($0) + 2)|0; + HEAP32[6576] = $3; + $4 = ($3|0)==(120); + if ($4) { + HEAP32[6570] = 1; + HEAP32[6576] = 0; + label = 32; + } else { + label = 32; + } + break; + } + case 1: { + $5 = HEAP32[3]|0; + $6 = (($5) + 4)|0; + HEAP32[3] = $6; + $7 = HEAP32[4]|0; + $8 = (($7) + 4)|0; + HEAP32[4] = $8; + $9 = ($6|0)==(256); + if ($9) { + HEAP32[6570] = 2; + label = 32; + } else { + label = 32; + } + break; + } + case 2: { + $10 = HEAP32[5]|0; + $11 = (($10) + 4)|0; + HEAP32[5] = $11; + $12 = HEAP32[6]|0; + $13 = (($12) + 4)|0; + HEAP32[6] = $13; + $14 = ($11|0)==(256); + if ($14) { + HEAP32[6573] = 0; + $15 = (_strlen(6349)|0); + $16 = ($15|0)>(0); + if ($16) { + $$0913 = 0; + while(1) { + $17 = (6349 + ($$0913)|0); + HEAP8[$17>>0] = 32; + $18 = (($$0913) + 1)|0; + $19 = (_strlen(6349)|0); + $20 = ($18|0)<($19|0); + if ($20) { + $$0913 = $18; + } else { + break; + } + } + } + HEAP32[6570] = 3; + label = 32; + } else { + label = 32; + } + break; + } + case 3: { + $21 = (($0) + 2)|0; + HEAP32[6576] = $21; + $22 = (($21|0) % 12)&-1; + $23 = ($22|0)==(0); + $24 = HEAP32[6569]|0; + if ($23) { + $25 = (($24) + 1)|0; + HEAP32[6569] = $25; + $26 = $25; + } else { + $26 = $24; + } + switch ($26|0) { + case 1: { + HEAP8[6341] = 114; + break; + } + case 2: { + HEAP8[(6342)>>0] = 97; + break; + } + case 3: { + HEAP8[(6343)>>0] = 121; + break; + } + case 4: { + HEAP8[(6344)>>0] = 108; + break; + } + case 5: { + HEAP8[(6345)>>0] = 105; + break; + } + case 6: { + HEAP8[(6346)>>0] = 98; + break; + } + default: { + } + } + $27 = HEAP32[6569]|0; + $28 = ($27|0)>(9); + if ($28) { + $29 = HEAP32[6576]|0; + $30 = $29 & 1; + $31 = ($30|0)==(0); + if ($31) { + $32 = HEAP32[6573]|0; + $33 = (($32) + 1)|0; + HEAP32[6573] = $33; + } + $34 = HEAP32[6571]|0; + $35 = ($34|0)==(0); + if ($35) { + $36 = HEAP32[6573]|0; + $37 = ($36|0)<(33); + if ($37) { + (_strncpy(6349,6213,$36)|0); + label = 32; + break L1; + } + $38 = (_strlen(6349)|0); + $39 = ($38|0)>(0); + if ($39) { + $$014 = 0; + while(1) { + $40 = (6349 + ($$014)|0); + HEAP8[$40>>0] = 32; + $41 = (($$014) + 1)|0; + $42 = (_strlen(6349)|0); + $43 = ($41|0)<($42|0); + if ($43) { + $$014 = $41; + } else { + break; + } + } + } + HEAP32[6573] = 0; + HEAP32[6571] = 1; + label = 32; + break L1; + } else { + $44 = HEAP32[6572]|0; + $45 = ($44|0)==(0); + if (!($45)) { + break L1; + } + $46 = HEAP32[6573]|0; + $47 = ($46|0)<(32); + if ($47) { + (_strncpy(6349,6277,$46)|0); + label = 32; + break L1; + } + HEAP32[6572] = 1; + HEAP32[6576] = 1; + return; + } + } else { + label = 32; + } + break; + } + default: { + label = 32; + } + } + } while(0); + if ((label|0) == 32) { + $$pr11 = HEAP32[6572]|0; + $48 = ($$pr11|0)==(0); + if ($48) { + return; + } + } + $$pr12 = HEAP32[6576]|0; + $49 = (($$pr12) + 1)|0; + HEAP32[6576] = $49; + $50 = ($$pr12|0)>(149); + if (!($50)) { + return; + } + HEAP32[6577] = 1; + return; +} +function _DrawLogoScreen() { + var $$byval_copy16 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0; + var $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0; + var $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0; + var $151 = 0, $152 = 0, $153 = 0, $154 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0; + var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0; + var $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0; + var $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0; + var $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0); + $$byval_copy16 = sp + 68|0; + $0 = sp + 64|0; + $1 = sp + 60|0; + $2 = sp + 56|0; + $3 = sp + 52|0; + $4 = sp + 48|0; + $5 = sp + 44|0; + $6 = sp + 40|0; + $7 = sp + 36|0; + $8 = sp + 32|0; + $9 = sp + 28|0; + $10 = sp + 24|0; + $11 = sp + 20|0; + $12 = sp + 16|0; + $13 = sp + 12|0; + $14 = sp + 8|0; + $15 = sp + 4|0; + $16 = sp; + $17 = HEAP32[6570]|0; + switch ($17|0) { + case 0: { + $18 = HEAP32[6576]|0; + $19 = (($18|0) / 15)&-1; + $20 = $19 & 1; + $21 = ($20|0)==(0); + if ($21) { + STACKTOP = sp;return; + } + $22 = HEAP32[6574]|0; + $23 = HEAP32[6575]|0; + $24 = (($23) + -60)|0; + HEAP8[$0>>0] = 0; + $25 = ((($0)) + 1|0); + HEAP8[$25>>0] = 0; + $26 = ((($0)) + 2|0); + HEAP8[$26>>0] = 0; + $27 = ((($0)) + 3|0); + HEAP8[$27>>0] = -1; + ;HEAP8[$$byval_copy16>>0]=HEAP8[$0>>0]|0;HEAP8[$$byval_copy16+1>>0]=HEAP8[$0+1>>0]|0;HEAP8[$$byval_copy16+2>>0]=HEAP8[$0+2>>0]|0;HEAP8[$$byval_copy16+3>>0]=HEAP8[$0+3>>0]|0; + _DrawRectangle($22,$24,16,16,$$byval_copy16); + STACKTOP = sp;return; + break; + } + case 1: { + $28 = HEAP32[6574]|0; + $29 = HEAP32[6575]|0; + $30 = (($29) + -60)|0; + $31 = HEAP32[3]|0; + HEAP8[$1>>0] = 0; + $32 = ((($1)) + 1|0); + HEAP8[$32>>0] = 0; + $33 = ((($1)) + 2|0); + HEAP8[$33>>0] = 0; + $34 = ((($1)) + 3|0); + HEAP8[$34>>0] = -1; + ;HEAP8[$$byval_copy16>>0]=HEAP8[$1>>0]|0;HEAP8[$$byval_copy16+1>>0]=HEAP8[$1+1>>0]|0;HEAP8[$$byval_copy16+2>>0]=HEAP8[$1+2>>0]|0;HEAP8[$$byval_copy16+3>>0]=HEAP8[$1+3>>0]|0; + _DrawRectangle($28,$30,$31,16,$$byval_copy16); + $35 = HEAP32[6574]|0; + $36 = HEAP32[6575]|0; + $37 = (($36) + -60)|0; + $38 = HEAP32[4]|0; + HEAP8[$2>>0] = 0; + $39 = ((($2)) + 1|0); + HEAP8[$39>>0] = 0; + $40 = ((($2)) + 2|0); + HEAP8[$40>>0] = 0; + $41 = ((($2)) + 3|0); + HEAP8[$41>>0] = -1; + ;HEAP8[$$byval_copy16>>0]=HEAP8[$2>>0]|0;HEAP8[$$byval_copy16+1>>0]=HEAP8[$2+1>>0]|0;HEAP8[$$byval_copy16+2>>0]=HEAP8[$2+2>>0]|0;HEAP8[$$byval_copy16+3>>0]=HEAP8[$2+3>>0]|0; + _DrawRectangle($35,$37,16,$38,$$byval_copy16); + STACKTOP = sp;return; + break; + } + case 2: { + $42 = HEAP32[6574]|0; + $43 = HEAP32[6575]|0; + $44 = (($43) + -60)|0; + $45 = HEAP32[3]|0; + HEAP8[$3>>0] = 0; + $46 = ((($3)) + 1|0); + HEAP8[$46>>0] = 0; + $47 = ((($3)) + 2|0); + HEAP8[$47>>0] = 0; + $48 = ((($3)) + 3|0); + HEAP8[$48>>0] = -1; + ;HEAP8[$$byval_copy16>>0]=HEAP8[$3>>0]|0;HEAP8[$$byval_copy16+1>>0]=HEAP8[$3+1>>0]|0;HEAP8[$$byval_copy16+2>>0]=HEAP8[$3+2>>0]|0;HEAP8[$$byval_copy16+3>>0]=HEAP8[$3+3>>0]|0; + _DrawRectangle($42,$44,$45,16,$$byval_copy16); + $49 = HEAP32[6574]|0; + $50 = HEAP32[6575]|0; + $51 = (($50) + -60)|0; + $52 = HEAP32[4]|0; + HEAP8[$4>>0] = 0; + $53 = ((($4)) + 1|0); + HEAP8[$53>>0] = 0; + $54 = ((($4)) + 2|0); + HEAP8[$54>>0] = 0; + $55 = ((($4)) + 3|0); + HEAP8[$55>>0] = -1; + ;HEAP8[$$byval_copy16>>0]=HEAP8[$4>>0]|0;HEAP8[$$byval_copy16+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$$byval_copy16+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$$byval_copy16+3>>0]=HEAP8[$4+3>>0]|0; + _DrawRectangle($49,$51,16,$52,$$byval_copy16); + $56 = HEAP32[6574]|0; + $57 = (($56) + 240)|0; + $58 = HEAP32[6575]|0; + $59 = (($58) + -60)|0; + $60 = HEAP32[6]|0; + HEAP8[$5>>0] = 0; + $61 = ((($5)) + 1|0); + HEAP8[$61>>0] = 0; + $62 = ((($5)) + 2|0); + HEAP8[$62>>0] = 0; + $63 = ((($5)) + 3|0); + HEAP8[$63>>0] = -1; + ;HEAP8[$$byval_copy16>>0]=HEAP8[$5>>0]|0;HEAP8[$$byval_copy16+1>>0]=HEAP8[$5+1>>0]|0;HEAP8[$$byval_copy16+2>>0]=HEAP8[$5+2>>0]|0;HEAP8[$$byval_copy16+3>>0]=HEAP8[$5+3>>0]|0; + _DrawRectangle($57,$59,16,$60,$$byval_copy16); + $64 = HEAP32[6574]|0; + $65 = HEAP32[6575]|0; + $66 = (($65) + 180)|0; + $67 = HEAP32[5]|0; + HEAP8[$6>>0] = 0; + $68 = ((($6)) + 1|0); + HEAP8[$68>>0] = 0; + $69 = ((($6)) + 2|0); + HEAP8[$69>>0] = 0; + $70 = ((($6)) + 3|0); + HEAP8[$70>>0] = -1; + ;HEAP8[$$byval_copy16>>0]=HEAP8[$6>>0]|0;HEAP8[$$byval_copy16+1>>0]=HEAP8[$6+1>>0]|0;HEAP8[$$byval_copy16+2>>0]=HEAP8[$6+2>>0]|0;HEAP8[$$byval_copy16+3>>0]=HEAP8[$6+3>>0]|0; + _DrawRectangle($64,$66,$67,16,$$byval_copy16); + STACKTOP = sp;return; + break; + } + case 3: { + $71 = HEAP32[6574]|0; + $72 = HEAP32[6575]|0; + $73 = (($72) + -60)|0; + $74 = HEAP32[3]|0; + HEAP8[$7>>0] = 0; + $75 = ((($7)) + 1|0); + HEAP8[$75>>0] = 0; + $76 = ((($7)) + 2|0); + HEAP8[$76>>0] = 0; + $77 = ((($7)) + 3|0); + HEAP8[$77>>0] = -1; + ;HEAP8[$$byval_copy16>>0]=HEAP8[$7>>0]|0;HEAP8[$$byval_copy16+1>>0]=HEAP8[$7+1>>0]|0;HEAP8[$$byval_copy16+2>>0]=HEAP8[$7+2>>0]|0;HEAP8[$$byval_copy16+3>>0]=HEAP8[$7+3>>0]|0; + _DrawRectangle($71,$73,$74,16,$$byval_copy16); + $78 = HEAP32[6574]|0; + $79 = HEAP32[6575]|0; + $80 = (($79) + -44)|0; + $81 = HEAP32[4]|0; + $82 = (($81) + -32)|0; + HEAP8[$8>>0] = 0; + $83 = ((($8)) + 1|0); + HEAP8[$83>>0] = 0; + $84 = ((($8)) + 2|0); + HEAP8[$84>>0] = 0; + $85 = ((($8)) + 3|0); + HEAP8[$85>>0] = -1; + ;HEAP8[$$byval_copy16>>0]=HEAP8[$8>>0]|0;HEAP8[$$byval_copy16+1>>0]=HEAP8[$8+1>>0]|0;HEAP8[$$byval_copy16+2>>0]=HEAP8[$8+2>>0]|0;HEAP8[$$byval_copy16+3>>0]=HEAP8[$8+3>>0]|0; + _DrawRectangle($78,$80,16,$82,$$byval_copy16); + $86 = HEAP32[6574]|0; + $87 = (($86) + 240)|0; + $88 = HEAP32[6575]|0; + $89 = (($88) + -44)|0; + $90 = HEAP32[6]|0; + $91 = (($90) + -32)|0; + HEAP8[$9>>0] = 0; + $92 = ((($9)) + 1|0); + HEAP8[$92>>0] = 0; + $93 = ((($9)) + 2|0); + HEAP8[$93>>0] = 0; + $94 = ((($9)) + 3|0); + HEAP8[$94>>0] = -1; + ;HEAP8[$$byval_copy16>>0]=HEAP8[$9>>0]|0;HEAP8[$$byval_copy16+1>>0]=HEAP8[$9+1>>0]|0;HEAP8[$$byval_copy16+2>>0]=HEAP8[$9+2>>0]|0;HEAP8[$$byval_copy16+3>>0]=HEAP8[$9+3>>0]|0; + _DrawRectangle($87,$89,16,$91,$$byval_copy16); + $95 = HEAP32[6574]|0; + $96 = HEAP32[6575]|0; + $97 = (($96) + 180)|0; + $98 = HEAP32[5]|0; + HEAP8[$10>>0] = 0; + $99 = ((($10)) + 1|0); + HEAP8[$99>>0] = 0; + $100 = ((($10)) + 2|0); + HEAP8[$100>>0] = 0; + $101 = ((($10)) + 3|0); + HEAP8[$101>>0] = -1; + ;HEAP8[$$byval_copy16>>0]=HEAP8[$10>>0]|0;HEAP8[$$byval_copy16+1>>0]=HEAP8[$10+1>>0]|0;HEAP8[$$byval_copy16+2>>0]=HEAP8[$10+2>>0]|0;HEAP8[$$byval_copy16+3>>0]=HEAP8[$10+3>>0]|0; + _DrawRectangle($95,$97,$98,16,$$byval_copy16); + $102 = (_GetScreenWidth()|0); + $103 = (($102|0) / 2)&-1; + $104 = (($103) + -112)|0; + $105 = (_GetScreenHeight()|0); + $106 = (($105|0) / 2)&-1; + $107 = (($106) + -172)|0; + HEAP8[$11>>0] = -11; + $108 = ((($11)) + 1|0); + HEAP8[$108>>0] = -11; + $109 = ((($11)) + 2|0); + HEAP8[$109>>0] = -11; + $110 = ((($11)) + 3|0); + HEAP8[$110>>0] = -1; + ;HEAP8[$$byval_copy16>>0]=HEAP8[$11>>0]|0;HEAP8[$$byval_copy16+1>>0]=HEAP8[$11+1>>0]|0;HEAP8[$$byval_copy16+2>>0]=HEAP8[$11+2>>0]|0;HEAP8[$$byval_copy16+3>>0]=HEAP8[$11+3>>0]|0; + _DrawRectangle($104,$107,224,224,$$byval_copy16); + $111 = (_GetScreenWidth()|0); + $112 = (($111|0) / 2)&-1; + $113 = (($112) + -44)|0; + $114 = (_GetScreenHeight()|0); + $115 = (($114|0) / 2)&-1; + $116 = (($115) + -12)|0; + HEAP8[$12>>0] = 0; + $117 = ((($12)) + 1|0); + HEAP8[$117>>0] = 0; + $118 = ((($12)) + 2|0); + HEAP8[$118>>0] = 0; + $119 = ((($12)) + 3|0); + HEAP8[$119>>0] = -1; + ;HEAP8[$$byval_copy16>>0]=HEAP8[$12>>0]|0;HEAP8[$$byval_copy16+1>>0]=HEAP8[$12+1>>0]|0;HEAP8[$$byval_copy16+2>>0]=HEAP8[$12+2>>0]|0;HEAP8[$$byval_copy16+3>>0]=HEAP8[$12+3>>0]|0; + _DrawText(6341,$113,$116,50,$$byval_copy16); + $120 = HEAP32[6571]|0; + $121 = ($120|0)==(0); + $122 = (_GetScreenWidth()|0); + $123 = (($122|0) / 2)&-1; + $124 = (_MeasureText(6213,30)|0); + $125 = (($124|0) / 2)&-1; + $126 = (($123) - ($125))|0; + $127 = HEAP32[6575]|0; + $128 = (($127) + 230)|0; + if ($121) { + HEAP8[$13>>0] = -126; + $129 = ((($13)) + 1|0); + HEAP8[$129>>0] = -126; + $130 = ((($13)) + 2|0); + HEAP8[$130>>0] = -126; + $131 = ((($13)) + 3|0); + HEAP8[$131>>0] = -1; + ;HEAP8[$$byval_copy16>>0]=HEAP8[$13>>0]|0;HEAP8[$$byval_copy16+1>>0]=HEAP8[$13+1>>0]|0;HEAP8[$$byval_copy16+2>>0]=HEAP8[$13+2>>0]|0;HEAP8[$$byval_copy16+3>>0]=HEAP8[$13+3>>0]|0; + _DrawText(6349,$126,$128,30,$$byval_copy16); + STACKTOP = sp;return; + } + HEAP8[$14>>0] = -126; + $132 = ((($14)) + 1|0); + HEAP8[$132>>0] = -126; + $133 = ((($14)) + 2|0); + HEAP8[$133>>0] = -126; + $134 = ((($14)) + 3|0); + HEAP8[$134>>0] = -1; + ;HEAP8[$$byval_copy16>>0]=HEAP8[$14>>0]|0;HEAP8[$$byval_copy16+1>>0]=HEAP8[$14+1>>0]|0;HEAP8[$$byval_copy16+2>>0]=HEAP8[$14+2>>0]|0;HEAP8[$$byval_copy16+3>>0]=HEAP8[$14+3>>0]|0; + _DrawText(6213,$126,$128,30,$$byval_copy16); + $135 = HEAP32[6572]|0; + $136 = ($135|0)==(0); + $137 = (_GetScreenWidth()|0); + $138 = (($137|0) / 2)&-1; + if ($136) { + $139 = (_MeasureText(6277,30)|0); + $140 = (($139|0) / 2)&-1; + $141 = (($138) - ($140))|0; + $142 = HEAP32[6575]|0; + $143 = (($142) + 280)|0; + HEAP8[$15>>0] = -126; + $144 = ((($15)) + 1|0); + HEAP8[$144>>0] = -126; + $145 = ((($15)) + 2|0); + HEAP8[$145>>0] = -126; + $146 = ((($15)) + 3|0); + HEAP8[$146>>0] = -1; + ;HEAP8[$$byval_copy16>>0]=HEAP8[$15>>0]|0;HEAP8[$$byval_copy16+1>>0]=HEAP8[$15+1>>0]|0;HEAP8[$$byval_copy16+2>>0]=HEAP8[$15+2>>0]|0;HEAP8[$$byval_copy16+3>>0]=HEAP8[$15+3>>0]|0; + _DrawText(6349,$141,$143,30,$$byval_copy16); + STACKTOP = sp;return; + } else { + $147 = (_MeasureText(6213,30)|0); + $148 = (($147|0) / 2)&-1; + $149 = (($138) - ($148))|0; + $150 = HEAP32[6575]|0; + $151 = (($150) + 280)|0; + HEAP8[$16>>0] = -126; + $152 = ((($16)) + 1|0); + HEAP8[$152>>0] = -126; + $153 = ((($16)) + 2|0); + HEAP8[$153>>0] = -126; + $154 = ((($16)) + 3|0); + HEAP8[$154>>0] = -1; + ;HEAP8[$$byval_copy16>>0]=HEAP8[$16>>0]|0;HEAP8[$$byval_copy16+1>>0]=HEAP8[$16+1>>0]|0;HEAP8[$$byval_copy16+2>>0]=HEAP8[$16+2>>0]|0;HEAP8[$$byval_copy16+3>>0]=HEAP8[$16+3>>0]|0; + _DrawText(6277,$149,$151,30,$$byval_copy16); + STACKTOP = sp;return; + } + break; + } + default: { + STACKTOP = sp;return; + } + } +} +function _UnloadLogoScreen() { + var label = 0, sp = 0; + sp = STACKTOP; + return; +} +function _FinishLogoScreen() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[6577]|0; + return ($0|0); +} +function _InitTitleScreen() { + var $$0267277 = 0, $$0268276 = 0, $$0269275 = 0, $$0278 = 0, $$sroa$0103$0$$sroa_idx = 0, $$sroa$0106$0$$sroa_idx = 0, $$sroa$0110$0$$sroa_idx = 0, $$sroa$0113$0$$sroa_idx = 0, $$sroa$0117$0$$sroa_idx = 0, $$sroa$0120$0$$sroa_idx = 0, $$sroa$0124$0$$sroa_idx = 0, $$sroa$0127$0$$sroa_idx = 0, $$sroa$0131$0$$sroa_idx = 0, $$sroa$0134$0$$sroa_idx = 0, $$sroa$0138$0$$sroa_idx = 0, $$sroa$0141$0$$sroa_idx = 0, $$sroa$0145$0$$sroa_idx = 0, $$sroa$0148$0$$sroa_idx = 0, $$sroa$0152$0$$sroa_idx = 0, $$sroa$020$0$$sroa_idx = 0; + var $$sroa$023$0$$sroa_idx = 0, $$sroa$052$0$$sroa_idx = 0, $$sroa$055$0$$sroa_idx = 0, $$sroa$068$0$$sroa_idx = 0, $$sroa$072$0$$sroa_idx = 0, $$sroa$085$0$$sroa_idx = 0, $$sroa$089$0$$sroa_idx = 0, $$sroa$092$0$$sroa_idx = 0, $$sroa$096$0$$sroa_idx = 0, $$sroa$099$0$$sroa_idx = 0, $$sroa$2104$0$$sroa_idx105 = 0, $$sroa$2111$0$$sroa_idx112 = 0, $$sroa$2118$0$$sroa_idx119 = 0, $$sroa$2125$0$$sroa_idx126 = 0, $$sroa$2132$0$$sroa_idx133 = 0, $$sroa$2139$0$$sroa_idx140 = 0, $$sroa$2146$0$$sroa_idx147 = 0, $$sroa$2153$0$$sroa_idx154 = 0, $$sroa$221$0$$sroa_idx22 = 0, $$sroa$224$0$$sroa_idx25 = 0; + var $$sroa$256$0$$sroa_idx57 = 0, $$sroa$273$0$$sroa_idx74 = 0, $$sroa$290$0$$sroa_idx91 = 0, $$sroa$297$0$$sroa_idx98 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0.0, $105 = 0.0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0.0, $110 = 0, $111 = 0; + var $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0.0, $117 = 0.0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0.0, $127 = 0.0, $128 = 0, $129 = 0, $13 = 0; + var $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0.0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $15 = 0; + var $16 = 0.0, $17 = 0.0, $18 = 0, $19 = 0, $2 = 0, $20 = 0.0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0.0, $26 = 0.0, $27 = 0, $28 = 0, $29 = 0.0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0; + var $34 = 0.0, $35 = 0.0, $36 = 0, $37 = 0, $38 = 0.0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0.0, $44 = 0.0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0.0, $5 = 0, $50 = 0, $51 = 0; + var $52 = 0, $53 = 0.0, $54 = 0.0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0.0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0.0, $64 = 0.0, $65 = 0, $66 = 0, $67 = 0.0, $68 = 0, $69 = 0, $7 = 0.0; + var $70 = 0, $71 = 0, $72 = 0.0, $73 = 0.0, $74 = 0, $75 = 0, $76 = 0.0, $77 = 0, $78 = 0, $79 = 0, $8 = 0.0, $80 = 0, $81 = 0.0, $82 = 0.0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0.0; + var $89 = 0.0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0.0, $97 = 0.0, $98 = 0, $99 = 0, $exitcond = 0, $exitcond279 = 0, $exitcond280 = 0, $exitcond281 = 0, $font$byval_copy = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0); + $font$byval_copy = sp + 8|0; + $0 = sp; + HEAP32[6578] = 0; + HEAP32[6579] = 0; + HEAPF32[6580] = -100.0; + HEAPF32[6581] = 100.0; + HEAPF32[6582] = 700.0; + HEAPF32[6583] = 320.0; + HEAPF32[6584] = 120.0; + $1 = (_GetRandomValue(0,3)|0); + HEAP32[6566] = $1; + $2 = (_GetRandomValue(10,100)|0); + HEAP32[6585] = $2; + $3 = (_GetRandomValue(100,200)|0); + HEAP32[6586] = $3; + $4 = (_GetRandomValue(0,100)|0); + HEAP32[6568] = $4; + HEAPF32[6587] = 0.0; + HEAPF32[(26352)>>2] = 0.0; + HEAP32[(26356)>>2] = 0; + HEAP32[7872] = 0; + HEAPF32[7873] = 0.0; + HEAPF32[(31496)>>2] = 0.0; + HEAP32[(31500)>>2] = 0; + HEAP32[(36640)>>2] = 0; + HEAPF32[10443] = 0.0; + HEAPF32[(41776)>>2] = 0.0; + HEAP32[(41780)>>2] = 0; + HEAPF32[11728] = 0.0; + HEAPF32[(46916)>>2] = 0.0; + HEAP32[(46920)>>2] = 0; + HEAPF32[11913] = 0.0; + HEAPF32[(47656)>>2] = 0.0; + HEAP32[(47660)>>2] = 0; + HEAPF32[22158] = 0.0; + HEAPF32[(88636)>>2] = 0.0; + HEAP32[(88640)>>2] = 0; + $$0278 = 0; + while(1) { + $5 = (((26368 + (($$0278*40)|0)|0)) + 36|0); + HEAP32[$5>>2] = 0; + $$sroa$0152$0$$sroa_idx = (26368 + (($$0278*40)|0)|0); + HEAPF32[$$sroa$0152$0$$sroa_idx>>2] = 0.0; + $$sroa$2153$0$$sroa_idx154 = (((26368 + (($$0278*40)|0)|0)) + 4|0); + HEAPF32[$$sroa$2153$0$$sroa_idx154>>2] = 0.0; + $6 = (_GetRandomValue(3,9)|0); + $7 = (+($6|0)); + $8 = $7 / 10.0; + $9 = (((26368 + (($$0278*40)|0)|0)) + 20|0); + HEAPF32[$9>>2] = $8; + $10 = (_GetRandomValue(0,360)|0); + $11 = (+($10|0)); + $12 = (((26368 + (($$0278*40)|0)|0)) + 16|0); + HEAPF32[$12>>2] = $11; + $$sroa$0148$0$$sroa_idx = (((26368 + (($$0278*40)|0)|0)) + 24|0); + $13 = (((26368 + (($$0278*40)|0)|0)) + 28|0); + HEAP32[$$sroa$0148$0$$sroa_idx>>2] = -1; + HEAPF32[$13>>2] = 1.0; + $14 = (((129612 + (($$0278*40)|0)|0)) + 36|0); + HEAP32[$14>>2] = 0; + $$sroa$0145$0$$sroa_idx = (129612 + (($$0278*40)|0)|0); + HEAPF32[$$sroa$0145$0$$sroa_idx>>2] = 0.0; + $$sroa$2146$0$$sroa_idx147 = (((129612 + (($$0278*40)|0)|0)) + 4|0); + HEAPF32[$$sroa$2146$0$$sroa_idx147>>2] = 0.0; + $15 = (_GetRandomValue(2,8)|0); + $16 = (+($15|0)); + $17 = $16 / 10.0; + $18 = (((129612 + (($$0278*40)|0)|0)) + 20|0); + HEAPF32[$18>>2] = $17; + $19 = (_GetRandomValue(0,360)|0); + $20 = (+($19|0)); + $21 = (((129612 + (($$0278*40)|0)|0)) + 16|0); + HEAPF32[$21>>2] = $20; + $$sroa$0141$0$$sroa_idx = (((129612 + (($$0278*40)|0)|0)) + 24|0); + $22 = (((129612 + (($$0278*40)|0)|0)) + 28|0); + HEAP32[$$sroa$0141$0$$sroa_idx>>2] = -1; + HEAPF32[$22>>2] = 0.69999998807907104; + $23 = (((31512 + (($$0278*40)|0)|0)) + 36|0); + HEAP32[$23>>2] = 0; + $$sroa$0138$0$$sroa_idx = (31512 + (($$0278*40)|0)|0); + HEAPF32[$$sroa$0138$0$$sroa_idx>>2] = 0.0; + $$sroa$2139$0$$sroa_idx140 = (((31512 + (($$0278*40)|0)|0)) + 4|0); + HEAPF32[$$sroa$2139$0$$sroa_idx140>>2] = 0.0; + $24 = (_GetRandomValue(3,9)|0); + $25 = (+($24|0)); + $26 = $25 / 10.0; + $27 = (((31512 + (($$0278*40)|0)|0)) + 20|0); + HEAPF32[$27>>2] = $26; + $28 = (_GetRandomValue(0,360)|0); + $29 = (+($28|0)); + $30 = (((31512 + (($$0278*40)|0)|0)) + 16|0); + HEAPF32[$30>>2] = $29; + $$sroa$0134$0$$sroa_idx = (((31512 + (($$0278*40)|0)|0)) + 24|0); + $31 = (((31512 + (($$0278*40)|0)|0)) + 28|0); + HEAP32[$$sroa$0134$0$$sroa_idx>>2] = -1; + HEAPF32[$31>>2] = 1.0; + $32 = (((134732 + (($$0278*40)|0)|0)) + 36|0); + HEAP32[$32>>2] = 0; + $$sroa$0131$0$$sroa_idx = (134732 + (($$0278*40)|0)|0); + HEAPF32[$$sroa$0131$0$$sroa_idx>>2] = 0.0; + $$sroa$2132$0$$sroa_idx133 = (((134732 + (($$0278*40)|0)|0)) + 4|0); + HEAPF32[$$sroa$2132$0$$sroa_idx133>>2] = 0.0; + $33 = (_GetRandomValue(2,8)|0); + $34 = (+($33|0)); + $35 = $34 / 10.0; + $36 = (((134732 + (($$0278*40)|0)|0)) + 20|0); + HEAPF32[$36>>2] = $35; + $37 = (_GetRandomValue(0,360)|0); + $38 = (+($37|0)); + $39 = (((134732 + (($$0278*40)|0)|0)) + 16|0); + HEAPF32[$39>>2] = $38; + $$sroa$0127$0$$sroa_idx = (((134732 + (($$0278*40)|0)|0)) + 24|0); + $40 = (((134732 + (($$0278*40)|0)|0)) + 28|0); + HEAP32[$$sroa$0127$0$$sroa_idx>>2] = -1; + HEAPF32[$40>>2] = 0.69999998807907104; + $41 = (((36652 + (($$0278*40)|0)|0)) + 36|0); + HEAP32[$41>>2] = 0; + $$sroa$0124$0$$sroa_idx = (36652 + (($$0278*40)|0)|0); + HEAPF32[$$sroa$0124$0$$sroa_idx>>2] = 0.0; + $$sroa$2125$0$$sroa_idx126 = (((36652 + (($$0278*40)|0)|0)) + 4|0); + HEAPF32[$$sroa$2125$0$$sroa_idx126>>2] = 0.0; + $42 = (_GetRandomValue(3,9)|0); + $43 = (+($42|0)); + $44 = $43 / 10.0; + $45 = (((36652 + (($$0278*40)|0)|0)) + 20|0); + HEAPF32[$45>>2] = $44; + $46 = (((36652 + (($$0278*40)|0)|0)) + 16|0); + HEAPF32[$46>>2] = 0.0; + $$sroa$0120$0$$sroa_idx = (((36652 + (($$0278*40)|0)|0)) + 24|0); + $47 = (((36652 + (($$0278*40)|0)|0)) + 28|0); + HEAP32[$$sroa$0120$0$$sroa_idx>>2] = -1; + HEAPF32[$47>>2] = 1.0; + $48 = (_GetRandomValue(0,180)|0); + $49 = (+($48|0)); + $50 = (((36652 + (($$0278*40)|0)|0)) + 32|0); + HEAPF32[$50>>2] = $49; + $51 = (((139852 + (($$0278*40)|0)|0)) + 36|0); + HEAP32[$51>>2] = 0; + $$sroa$0117$0$$sroa_idx = (139852 + (($$0278*40)|0)|0); + HEAPF32[$$sroa$0117$0$$sroa_idx>>2] = 0.0; + $$sroa$2118$0$$sroa_idx119 = (((139852 + (($$0278*40)|0)|0)) + 4|0); + HEAPF32[$$sroa$2118$0$$sroa_idx119>>2] = 0.0; + $52 = (_GetRandomValue(2,8)|0); + $53 = (+($52|0)); + $54 = $53 / 10.0; + $55 = (((139852 + (($$0278*40)|0)|0)) + 20|0); + HEAPF32[$55>>2] = $54; + $56 = (((139852 + (($$0278*40)|0)|0)) + 16|0); + HEAPF32[$56>>2] = 0.0; + $$sroa$0113$0$$sroa_idx = (((139852 + (($$0278*40)|0)|0)) + 24|0); + $57 = (((139852 + (($$0278*40)|0)|0)) + 28|0); + HEAP32[$$sroa$0113$0$$sroa_idx>>2] = -1; + HEAPF32[$57>>2] = 0.69999998807907104; + $58 = (_GetRandomValue(0,180)|0); + $59 = (+($58|0)); + $60 = (((139852 + (($$0278*40)|0)|0)) + 32|0); + HEAPF32[$60>>2] = $59; + $61 = (((41792 + (($$0278*40)|0)|0)) + 36|0); + HEAP32[$61>>2] = 0; + $$sroa$0110$0$$sroa_idx = (41792 + (($$0278*40)|0)|0); + HEAPF32[$$sroa$0110$0$$sroa_idx>>2] = 0.0; + $$sroa$2111$0$$sroa_idx112 = (((41792 + (($$0278*40)|0)|0)) + 4|0); + HEAPF32[$$sroa$2111$0$$sroa_idx112>>2] = 0.0; + $62 = (_GetRandomValue(3,9)|0); + $63 = (+($62|0)); + $64 = $63 / 10.0; + $65 = (((41792 + (($$0278*40)|0)|0)) + 20|0); + HEAPF32[$65>>2] = $64; + $66 = (_GetRandomValue(0,360)|0); + $67 = (+($66|0)); + $68 = (((41792 + (($$0278*40)|0)|0)) + 16|0); + HEAPF32[$68>>2] = $67; + $$sroa$0106$0$$sroa_idx = (((41792 + (($$0278*40)|0)|0)) + 24|0); + $69 = (((41792 + (($$0278*40)|0)|0)) + 28|0); + HEAP32[$$sroa$0106$0$$sroa_idx>>2] = -1; + HEAPF32[$69>>2] = 1.0; + $70 = (((144972 + (($$0278*40)|0)|0)) + 36|0); + HEAP32[$70>>2] = 0; + $$sroa$0103$0$$sroa_idx = (144972 + (($$0278*40)|0)|0); + HEAPF32[$$sroa$0103$0$$sroa_idx>>2] = 0.0; + $$sroa$2104$0$$sroa_idx105 = (((144972 + (($$0278*40)|0)|0)) + 4|0); + HEAPF32[$$sroa$2104$0$$sroa_idx105>>2] = 0.0; + $71 = (_GetRandomValue(2,8)|0); + $72 = (+($71|0)); + $73 = $72 / 10.0; + $74 = (((144972 + (($$0278*40)|0)|0)) + 20|0); + HEAPF32[$74>>2] = $73; + $75 = (_GetRandomValue(0,360)|0); + $76 = (+($75|0)); + $77 = (((144972 + (($$0278*40)|0)|0)) + 16|0); + HEAPF32[$77>>2] = $76; + $$sroa$099$0$$sroa_idx = (((144972 + (($$0278*40)|0)|0)) + 24|0); + $78 = (((144972 + (($$0278*40)|0)|0)) + 28|0); + HEAP32[$$sroa$099$0$$sroa_idx>>2] = -1; + HEAPF32[$78>>2] = 0.69999998807907104; + $79 = (((150112 + (($$0278*40)|0)|0)) + 36|0); + HEAP32[$79>>2] = 0; + $$sroa$096$0$$sroa_idx = (150112 + (($$0278*40)|0)|0); + HEAPF32[$$sroa$096$0$$sroa_idx>>2] = 0.0; + $$sroa$297$0$$sroa_idx98 = (((150112 + (($$0278*40)|0)|0)) + 4|0); + HEAPF32[$$sroa$297$0$$sroa_idx98>>2] = 0.0; + $80 = (_GetRandomValue(3,9)|0); + $81 = (+($80|0)); + $82 = $81 / 10.0; + $83 = (((150112 + (($$0278*40)|0)|0)) + 20|0); + HEAPF32[$83>>2] = $82; + $84 = (((150112 + (($$0278*40)|0)|0)) + 16|0); + HEAPF32[$84>>2] = -20.0; + $$sroa$092$0$$sroa_idx = (((150112 + (($$0278*40)|0)|0)) + 24|0); + $85 = (((150112 + (($$0278*40)|0)|0)) + 28|0); + HEAP32[$$sroa$092$0$$sroa_idx>>2] = -1; + HEAPF32[$85>>2] = 1.0; + $86 = (((155232 + (($$0278*40)|0)|0)) + 36|0); + HEAP32[$86>>2] = 0; + $$sroa$089$0$$sroa_idx = (155232 + (($$0278*40)|0)|0); + HEAPF32[$$sroa$089$0$$sroa_idx>>2] = 0.0; + $$sroa$290$0$$sroa_idx91 = (((155232 + (($$0278*40)|0)|0)) + 4|0); + HEAPF32[$$sroa$290$0$$sroa_idx91>>2] = 0.0; + $87 = (_GetRandomValue(2,8)|0); + $88 = (+($87|0)); + $89 = $88 / 10.0; + $90 = (((155232 + (($$0278*40)|0)|0)) + 20|0); + HEAPF32[$90>>2] = $89; + $91 = (((155232 + (($$0278*40)|0)|0)) + 16|0); + HEAPF32[$91>>2] = -20.0; + $$sroa$085$0$$sroa_idx = (((155232 + (($$0278*40)|0)|0)) + 24|0); + $92 = (((155232 + (($$0278*40)|0)|0)) + 28|0); + HEAP32[$$sroa$085$0$$sroa_idx>>2] = -1; + HEAPF32[$92>>2] = 0.69999998807907104; + $93 = (($$0278) + 1)|0; + $exitcond281 = ($93|0)==(128); + if ($exitcond281) { + break; + } else { + $$0278 = $93; + } + } + $$0267277 = 0; + while(1) { + $94 = (((47672 + (($$0267277*40)|0)|0)) + 36|0); + HEAP32[$94>>2] = 0; + $$sroa$072$0$$sroa_idx = (47672 + (($$0267277*40)|0)|0); + HEAPF32[$$sroa$072$0$$sroa_idx>>2] = 0.0; + $$sroa$273$0$$sroa_idx74 = (((47672 + (($$0267277*40)|0)|0)) + 4|0); + HEAPF32[$$sroa$273$0$$sroa_idx74>>2] = 0.0; + $95 = (_GetRandomValue(3,9)|0); + $96 = (+($95|0)); + $97 = $96 / 10.0; + $98 = (((47672 + (($$0267277*40)|0)|0)) + 20|0); + HEAPF32[$98>>2] = $97; + $99 = (((47672 + (($$0267277*40)|0)|0)) + 16|0); + HEAPF32[$99>>2] = -40.0; + $$sroa$068$0$$sroa_idx = (((47672 + (($$0267277*40)|0)|0)) + 24|0); + $100 = (((47672 + (($$0267277*40)|0)|0)) + 28|0); + HEAP32[$$sroa$068$0$$sroa_idx>>2] = -1; + HEAPF32[$100>>2] = 1.0; + $101 = (($$0267277) + 1)|0; + $exitcond280 = ($101|0)==(1024); + if ($exitcond280) { + $$0268276 = 0; + break; + } else { + $$0267277 = $101; + } + } + while(1) { + $102 = (((88652 + (($$0268276*40)|0)|0)) + 36|0); + HEAP32[$102>>2] = 0; + $$sroa$055$0$$sroa_idx = (88652 + (($$0268276*40)|0)|0); + HEAPF32[$$sroa$055$0$$sroa_idx>>2] = 0.0; + $$sroa$256$0$$sroa_idx57 = (((88652 + (($$0268276*40)|0)|0)) + 4|0); + HEAPF32[$$sroa$256$0$$sroa_idx57>>2] = 0.0; + $103 = (_GetRandomValue(4,8)|0); + $104 = (+($103|0)); + $105 = $104 / 10.0; + $106 = (((88652 + (($$0268276*40)|0)|0)) + 20|0); + HEAPF32[$106>>2] = $105; + $107 = (((88652 + (($$0268276*40)|0)|0)) + 16|0); + HEAPF32[$107>>2] = 40.0; + $$sroa$052$0$$sroa_idx = (((88652 + (($$0268276*40)|0)|0)) + 24|0); + $108 = (((88652 + (($$0268276*40)|0)|0)) + 28|0); + HEAP32[$$sroa$052$0$$sroa_idx>>2] = -1; + HEAPF32[$108>>2] = 1.0; + $109 = (($$0268276) + 1)|0; + $exitcond279 = ($109|0)==(256); + if ($exitcond279) { + $$0269275 = 0; + break; + } else { + $$0268276 = $109; + } + } + while(1) { + $$sroa$023$0$$sroa_idx = (46932 + (($$0269275*36)|0)|0); + HEAPF32[$$sroa$023$0$$sroa_idx>>2] = 0.0; + $$sroa$224$0$$sroa_idx25 = (((46932 + (($$0269275*36)|0)|0)) + 4|0); + HEAPF32[$$sroa$224$0$$sroa_idx25>>2] = 0.0; + $110 = (((46932 + (($$0269275*36)|0)|0)) + 8|0); + HEAP8[$110>>0] = -1; + $111 = (((46932 + (($$0269275*36)|0)|0)) + 9|0); + HEAP8[$111>>0] = -1; + $112 = (((46932 + (($$0269275*36)|0)|0)) + 10|0); + HEAP8[$112>>0] = -74; + $113 = (((46932 + (($$0269275*36)|0)|0)) + 11|0); + HEAP8[$113>>0] = -1; + $114 = (((46932 + (($$0269275*36)|0)|0)) + 12|0); + HEAPF32[$114>>2] = 0.0; + $115 = (_GetRandomValue(15,20)|0); + $116 = (+($115|0)); + $117 = $116 / 10.0; + $118 = (((46932 + (($$0269275*36)|0)|0)) + 16|0); + HEAPF32[$118>>2] = $117; + $119 = (((46932 + (($$0269275*36)|0)|0)) + 20|0); + $$sroa$020$0$$sroa_idx = (160352 + (($$0269275*36)|0)|0); + ;HEAP32[$119>>2]=0|0;HEAP32[$119+4>>2]=0|0;HEAP32[$119+8>>2]=0|0;HEAP32[$119+12>>2]=0|0; + HEAPF32[$$sroa$020$0$$sroa_idx>>2] = 0.0; + $$sroa$221$0$$sroa_idx22 = (((160352 + (($$0269275*36)|0)|0)) + 4|0); + HEAPF32[$$sroa$221$0$$sroa_idx22>>2] = 0.0; + $120 = (((160352 + (($$0269275*36)|0)|0)) + 8|0); + HEAP8[$120>>0] = -1; + $121 = (((160352 + (($$0269275*36)|0)|0)) + 9|0); + HEAP8[$121>>0] = -1; + $122 = (((160352 + (($$0269275*36)|0)|0)) + 10|0); + HEAP8[$122>>0] = -74; + $123 = (((160352 + (($$0269275*36)|0)|0)) + 11|0); + HEAP8[$123>>0] = -1; + $124 = (((160352 + (($$0269275*36)|0)|0)) + 12|0); + HEAPF32[$124>>2] = 0.0; + $125 = (_GetRandomValue(5,10)|0); + $126 = (+($125|0)); + $127 = $126 / 10.0; + $128 = (((160352 + (($$0269275*36)|0)|0)) + 16|0); + HEAPF32[$128>>2] = $127; + $129 = (((160352 + (($$0269275*36)|0)|0)) + 20|0); + $130 = (($$0269275) + 1)|0; + $exitcond = ($130|0)==(20); + ;HEAP32[$129>>2]=0|0;HEAP32[$129+4>>2]=0|0;HEAP32[$129+8>>2]=0|0;HEAP32[$129+12>>2]=0|0; + if ($exitcond) { + break; + } else { + $$0269275 = $130; + } + } + HEAP32[40268] = 150; + HEAP32[(161076)>>2] = 0; + HEAP32[(161080)>>2] = 30; + $131 = (_GetScreenHeight()|0); + HEAP32[(161084)>>2] = $131; + HEAP32[(161088)>>2] = 350; + HEAP32[(161092)>>2] = 0; + HEAP32[(161096)>>2] = 30; + $132 = (_GetScreenHeight()|0); + HEAP32[(161100)>>2] = $132; + HEAP32[(161104)>>2] = 550; + HEAP32[(161108)>>2] = 0; + HEAP32[(161112)>>2] = 30; + $133 = (_GetScreenHeight()|0); + HEAP32[(161116)>>2] = $133; + HEAP32[(161120)>>2] = 750; + HEAP32[(161124)>>2] = 0; + HEAP32[(161128)>>2] = 30; + $134 = (_GetScreenHeight()|0); + HEAP32[(161132)>>2] = $134; + HEAP32[(161136)>>2] = 950; + HEAP32[(161140)>>2] = 0; + HEAP32[(161144)>>2] = 30; + $135 = (_GetScreenHeight()|0); + HEAP32[(161148)>>2] = $135; + HEAP32[40288] = 350; + HEAP32[40289] = 100; + HEAP32[40290] = 35; + HEAP32[40291] = 806; + HEAP32[(161168)>>2] = 1667; + HEAP32[(161172)>>2] = 75; + HEAP32[(161176)>>2] = 100; + $136 = HEAP32[(25500)>>2]|0; + $137 = (+($136|0)); + ;HEAP32[$font$byval_copy>>2]=HEAP32[25480>>2]|0;HEAP32[$font$byval_copy+4>>2]=HEAP32[25480+4>>2]|0;HEAP32[$font$byval_copy+8>>2]=HEAP32[25480+8>>2]|0;HEAP32[$font$byval_copy+12>>2]=HEAP32[25480+12>>2]|0;HEAP32[$font$byval_copy+16>>2]=HEAP32[25480+16>>2]|0;HEAP32[$font$byval_copy+20>>2]=HEAP32[25480+20>>2]|0;HEAP32[$font$byval_copy+24>>2]=HEAP32[25480+24>>2]|0;HEAP32[$font$byval_copy+28>>2]=HEAP32[25480+28>>2]|0; + _MeasureTextEx($0,$font$byval_copy,6493,$137,2); + $138 = $0; + $139 = $138; + $140 = HEAP32[$139>>2]|0; + $141 = (($138) + 4)|0; + $142 = $141; + $143 = HEAP32[$142>>2]|0; + $144 = 25176; + $145 = $144; + HEAP32[$145>>2] = $140; + $146 = (($144) + 4)|0; + $147 = $146; + HEAP32[$147>>2] = $143; + STACKTOP = sp;return; +} +function _UpdateTitleScreen() { + var $$0323362 = 0, $$0324363 = 0, $$0325365 = 0, $$0326376 = 0, $$0327375 = 0, $$0329374 = 0, $$0330373 = 0, $$0331366 = 0, $$0332372 = 0, $$0333370 = 0, $$0334369 = 0, $$0335367 = 0, $$0336368 = 0, $$0361 = 0, $$sink = 0, $$sink338 = 0, $$sink339 = 0, $$sink340 = 0, $$sink341 = 0, $$sink342 = 0; + var $$sink343 = 0, $$sink344 = 0, $$sink345 = 0, $$sink346 = 0, $$sink347 = 0, $$sink348 = 0, $$sink349 = 0, $$sroa$0130$0$$sroa_idx = 0, $$sroa$0140$0$$sroa_idx = 0, $$sroa$0143$0$$sroa_idx = 0, $$sroa$0164$0$$sroa_idx = 0, $$sroa$0174$0$$sroa_idx = 0, $$sroa$0190$0$$sroa_idx = 0, $$sroa$0193$0$$sroa_idx = 0, $$sroa$0206$0$$sroa_idx = 0, $$sroa$0209$0$$sroa_idx = 0, $$sroa$0222$0$$sroa_idx = 0, $$sroa$0225$0$$sroa_idx = 0, $$sroa$0238$0$$sroa_idx = 0, $$sroa$0248$0$$sroa_idx = 0; + var $$sroa$2131$0$$sroa_idx132 = 0, $$sroa$2141$0$$sroa_idx142 = 0, $$sroa$2144$0$$sroa_idx145 = 0, $$sroa$2165$0$$sroa_idx166 = 0, $$sroa$2175$0$$sroa_idx176 = 0, $$sroa$2191$0$$sroa_idx192 = 0, $$sroa$2194$0$$sroa_idx195 = 0, $$sroa$2207$0$$sroa_idx208 = 0, $$sroa$2210$0$$sroa_idx211 = 0, $$sroa$2223$0$$sroa_idx224 = 0, $$sroa$2226$0$$sroa_idx227 = 0, $$sroa$2239$0$$sroa_idx240 = 0, $$sroa$2249$0$$sroa_idx250 = 0, $0 = 0, $1 = 0, $10 = 0.0, $100 = 0, $101 = 0, $102 = 0, $103 = 0; + var $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0.0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0.0, $120 = 0, $121 = 0.0; + var $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0.0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0.0, $14 = 0.0; + var $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0.0, $150 = 0.0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0; + var $159 = 0, $16 = 0.0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0.0, $169 = 0, $17 = 0.0, $170 = 0.0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0; + var $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0.0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0; + var $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0.0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0.0, $21 = 0, $210 = 0, $211 = 0; + var $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0.0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0.0, $228 = 0, $229 = 0, $23 = 0; + var $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0.0, $246 = 0, $247 = 0, $248 = 0; + var $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0.0, $253 = 0.0, $254 = 0, $255 = 0.0, $256 = 0.0, $257 = 0, $258 = 0.0, $259 = 0.0, $26 = 0, $260 = 0.0, $261 = 0, $262 = 0.0, $263 = 0, $264 = 0, $265 = 0, $266 = 0; + var $267 = 0, $268 = 0.0, $269 = 0.0, $27 = 0, $270 = 0, $271 = 0.0, $272 = 0.0, $273 = 0, $274 = 0.0, $275 = 0.0, $276 = 0.0, $277 = 0, $278 = 0.0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0.0; + var $285 = 0.0, $286 = 0, $287 = 0.0, $288 = 0.0, $289 = 0, $29 = 0, $290 = 0.0, $291 = 0.0, $292 = 0.0, $293 = 0, $294 = 0.0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0.0, $301 = 0.0; + var $302 = 0, $303 = 0.0, $304 = 0.0, $305 = 0, $306 = 0.0, $307 = 0.0, $308 = 0.0, $309 = 0, $31 = 0, $310 = 0.0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0.0, $317 = 0.0, $318 = 0, $319 = 0.0, $32 = 0; + var $320 = 0.0, $321 = 0, $322 = 0.0, $323 = 0.0, $324 = 0, $325 = 0.0, $326 = 0.0, $327 = 0.0, $328 = 0.0, $329 = 0.0, $33 = 0, $330 = 0.0, $331 = 0.0, $332 = 0.0, $333 = 0, $334 = 0.0, $335 = 0, $336 = 0.0, $337 = 0, $338 = 0; + var $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0.0, $343 = 0.0, $344 = 0, $345 = 0.0, $346 = 0.0, $347 = 0, $348 = 0.0, $349 = 0.0, $35 = 0, $350 = 0, $351 = 0.0, $352 = 0.0, $353 = 0.0, $354 = 0.0, $355 = 0.0, $356 = 0.0; + var $357 = 0.0, $358 = 0.0, $359 = 0, $36 = 0, $360 = 0.0, $361 = 0, $362 = 0.0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0.0, $369 = 0.0, $37 = 0, $370 = 0, $371 = 0.0, $372 = 0.0, $373 = 0, $374 = 0.0; + var $375 = 0.0, $376 = 0.0, $377 = 0, $378 = 0.0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0.0, $385 = 0.0, $386 = 0, $387 = 0.0, $388 = 0.0, $389 = 0, $39 = 0, $390 = 0.0, $391 = 0.0, $392 = 0.0; + var $393 = 0, $394 = 0.0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0.0, $40 = 0, $400 = 0.0, $401 = 0.0, $402 = 0, $403 = 0.0, $404 = 0.0, $405 = 0, $406 = 0.0, $407 = 0, $408 = 0, $409 = 0, $41 = 0; + var $410 = 0, $411 = 0, $412 = 0.0, $413 = 0.0, $414 = 0, $415 = 0.0, $416 = 0.0, $417 = 0, $418 = 0.0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0, $424 = 0, $425 = 0.0, $426 = 0.0, $427 = 0, $428 = 0.0; + var $429 = 0.0, $43 = 0, $430 = 0, $431 = 0.0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0.0, $437 = 0.0, $438 = 0.0, $439 = 0.0, $44 = 0, $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0.0, $446 = 0.0; + var $447 = 0, $448 = 0.0, $449 = 0.0, $45 = 0, $450 = 0, $451 = 0.0, $452 = 0.0, $453 = 0.0, $454 = 0, $455 = 0.0, $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0.0; + var $465 = 0.0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0.0, $470 = 0.0, $471 = 0.0, $472 = 0, $473 = 0, $474 = 0.0, $475 = 0.0, $476 = 0, $477 = 0.0, $478 = 0, $479 = 0, $48 = 0, $480 = 0.0, $481 = 0.0, $482 = 0; + var $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0.0, $488 = 0.0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0.0, $494 = 0.0, $495 = 0, $496 = 0, $497 = 0.0, $498 = 0.0, $499 = 0, $5 = 0.0, $50 = 0; + var $500 = 0.0, $501 = 0, $502 = 0, $503 = 0.0, $504 = 0.0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0.0, $511 = 0.0, $512 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0; + var $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0.0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0.0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0; + var $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0.0, $80 = 0, $81 = 0.0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0.0, $90 = 0, $91 = 0, $92 = 0.0, $93 = 0; + var $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond = 0, $exitcond377 = 0, $exitcond378 = 0, $exitcond379 = 0, $exitcond380 = 0, $exitcond381 = 0, $exitcond382 = 0, $exitcond383 = 0, $exitcond384 = 0, $exitcond385 = 0, $exitcond386 = 0, $exitcond387 = 0, $exitcond388 = 0, $exitcond389 = 0; + var label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[6578]|0; + $1 = (($0) + 1)|0; + HEAP32[6578] = $1; + $2 = HEAP32[40295]|0; + $3 = (($2) + 1)|0; + HEAP32[40295] = $3; + $4 = (+($1|0)); + $5 = +HEAPF32[6584]; + $6 = $4 < $5; + if ($6) { + $7 = +HEAPF32[6580]; + $8 = +HEAPF32[6581]; + $9 = $8 - $7; + $10 = (+_BounceEaseOut($4,$7,$9,$5)); + HEAPF32[40296] = $10; + $11 = HEAP32[6578]|0; + $12 = (+($11|0)); + $13 = +HEAPF32[6582]; + $14 = +HEAPF32[6583]; + $15 = $14 - $13; + $16 = +HEAPF32[6584]; + $17 = (+_BounceEaseOut($12,$13,$15,$16)); + HEAPF32[40297] = $17; + } + $18 = HEAP32[40298]|0; + $19 = (($18) + 1)|0; + HEAP32[40298] = $19; + $20 = ($19|0)>(39); + $21 = HEAP32[40299]|0; + if ($20) { + $22 = (($21) + 1)|0; + HEAP32[40299] = $22; + HEAP32[40298] = 0; + $24 = $22; + } else { + $24 = $21; + } + $23 = ($24|0)>(1); + if ($23) { + HEAP32[40299] = 0; + } + $25 = HEAP32[(161172)>>2]|0; + $26 = HEAP32[40299]|0; + $27 = Math_imul($26, $25)|0; + $28 = (($27) + 806)|0; + HEAP32[40291] = $28; + $29 = HEAP32[6566]|0; + L10: do { + switch ($29|0) { + case 0: { + HEAP32[(36640)>>2] = 1; + HEAP32[(46920)>>2] = 1; + HEAP32[(150100)>>2] = 0; + HEAP32[(47660)>>2] = 0; + $$sink338 = 51;$$sink339 = 103;$$sink340 = -58;$$sink341 = 73;$$sink342 = -126;$$sink343 = -95;$$sink344 = 125;$$sink345 = -91;$$sink346 = -111;$$sink347 = 86;$$sink348 = -84;$$sink349 = -127; + label = 14; + break; + } + case 1: { + $30 = HEAP32[6568]|0; + $31 = ($30|0)>(40); + if ($31) { + HEAP32[(31500)>>2] = 1; + HEAP32[(150100)>>2] = 0; + $$sink338 = 58;$$sink339 = -123;$$sink340 = -42;$$sink341 = 101;$$sink342 = -126;$$sink343 = -112;$$sink344 = 114;$$sink345 = -121;$$sink346 = -66;$$sink347 = 62;$$sink348 = 113;$$sink349 = -14; + label = 14; + break L10; + } else { + HEAP32[(47660)>>2] = 1; + $$sink338 = 58;$$sink339 = -123;$$sink340 = -42;$$sink341 = 101;$$sink342 = -126;$$sink343 = -112;$$sink344 = 114;$$sink345 = -121;$$sink346 = -66;$$sink347 = 62;$$sink348 = 113;$$sink349 = -14; + label = 14; + break L10; + } + break; + } + case 2: { + $32 = HEAP32[6568]|0; + $33 = ($32|0)>(40); + $$sink = $33 ? (26356) : (88640); + HEAP32[$$sink>>2] = 1; + HEAP32[7872] = 1; + HEAP32[(150100)>>2] = 0; + HEAP32[(47660)>>2] = 0; + $$sink338 = -83;$$sink339 = -116;$$sink340 = 57;$$sink341 = -112;$$sink342 = -114;$$sink343 = 104;$$sink344 = -90;$$sink345 = -111;$$sink346 = -111;$$sink347 = -75;$$sink348 = -126;$$sink349 = -126; + label = 14; + break; + } + case 3: { + HEAP32[(41780)>>2] = 1; + HEAP32[(150100)>>2] = 0; + HEAP32[(47660)>>2] = 0; + $$sink338 = 42;$$sink339 = -100;$$sink340 = -123;$$sink341 = 90;$$sink342 = -113;$$sink343 = -123;$$sink344 = 67;$$sink345 = -93;$$sink346 = -78;$$sink347 = 49;$$sink348 = -80;$$sink349 = -60; + label = 14; + break; + } + default: { + } + } + } while(0); + if ((label|0) == 14) { + HEAP8[339104] = $$sink349; + HEAP8[(339105)>>0] = $$sink348; + HEAP8[(339106)>>0] = $$sink347; + HEAP8[(339107)>>0] = -1; + HEAP8[339108] = $$sink346; + HEAP8[(339109)>>0] = $$sink345; + HEAP8[(339110)>>0] = $$sink344; + HEAP8[(339111)>>0] = -1; + HEAP8[339112] = $$sink343; + HEAP8[(339113)>>0] = $$sink342; + HEAP8[(339114)>>0] = $$sink341; + HEAP8[(339115)>>0] = -1; + HEAP8[339116] = $$sink340; + HEAP8[(339117)>>0] = $$sink339; + HEAP8[(339118)>>0] = $$sink338; + HEAP8[(339119)>>0] = -1; + } + $34 = HEAP32[(26356)>>2]|0; + $35 = ($34|0)==(0); + if (!($35)) { + $36 = HEAP32[(26360)>>2]|0; + $37 = (($36) + 1)|0; + HEAP32[(26360)>>2] = $37; + $$0326376 = 0; + while(1) { + $38 = (((26368 + (($$0326376*40)|0)|0)) + 36|0); + $39 = HEAP32[$38>>2]|0; + $40 = ($39|0)==(0); + if ($40) { + $41 = HEAP32[(26360)>>2]|0; + $42 = HEAP32[(26364)>>2]|0; + $43 = ($41|0)<($42|0); + if (!($43)) { + HEAP32[$38>>2] = 1; + $44 = (_GetScreenWidth()|0); + $45 = (($44) + 200)|0; + $46 = (_GetRandomValue(0,$45)|0); + $47 = (+($46|0)); + $$sroa$0248$0$$sroa_idx = (26368 + (($$0326376*40)|0)|0); + HEAPF32[$$sroa$0248$0$$sroa_idx>>2] = $47; + $$sroa$2249$0$$sroa_idx250 = (((26368 + (($$0326376*40)|0)|0)) + 4|0); + HEAPF32[$$sroa$2249$0$$sroa_idx250>>2] = -10.0; + HEAP32[(26360)>>2] = 0; + $48 = (_GetRandomValue(5,20)|0); + HEAP32[(26364)>>2] = $48; + } + } + $49 = (($$0326376) + 1)|0; + $exitcond389 = ($49|0)==(128); + if ($exitcond389) { + break; + } else { + $$0326376 = $49; + } + } + } + $50 = HEAP32[7872]|0; + $51 = ($50|0)==(0); + if (!($51)) { + $52 = HEAP32[40300]|0; + $53 = (($52) + 1)|0; + HEAP32[40300] = $53; + $$0327375 = 0; + while(1) { + $54 = (((129612 + (($$0327375*40)|0)|0)) + 36|0); + $55 = HEAP32[$54>>2]|0; + $56 = ($55|0)==(0); + if ($56) { + $57 = HEAP32[40300]|0; + $58 = HEAP32[40301]|0; + $59 = ($57|0)<($58|0); + if (!($59)) { + HEAP32[$54>>2] = 1; + $60 = (_GetScreenWidth()|0); + $61 = (($60) + 200)|0; + $62 = (_GetRandomValue(0,$61)|0); + $63 = (+($62|0)); + $$sroa$0238$0$$sroa_idx = (129612 + (($$0327375*40)|0)|0); + HEAPF32[$$sroa$0238$0$$sroa_idx>>2] = $63; + $$sroa$2239$0$$sroa_idx240 = (((129612 + (($$0327375*40)|0)|0)) + 4|0); + HEAPF32[$$sroa$2239$0$$sroa_idx240>>2] = -10.0; + HEAP32[40300] = 0; + $64 = (_GetRandomValue(3,10)|0); + HEAP32[40301] = $64; + } + } + $65 = (($$0327375) + 1)|0; + $exitcond388 = ($65|0)==(128); + if ($exitcond388) { + break; + } else { + $$0327375 = $65; + } + } + } + $66 = HEAP32[(31500)>>2]|0; + $67 = ($66|0)==(0); + if (!($67)) { + $68 = HEAP32[(31504)>>2]|0; + $69 = (($68) + 1)|0; + HEAP32[(31504)>>2] = $69; + $70 = HEAP32[40302]|0; + $71 = (($70) + 1)|0; + HEAP32[40302] = $71; + $$0329374 = 0; + while(1) { + $72 = (((31512 + (($$0329374*40)|0)|0)) + 36|0); + $73 = HEAP32[$72>>2]|0; + $74 = ($73|0)==(0); + if ($74) { + $75 = HEAP32[(31504)>>2]|0; + $76 = HEAP32[(31508)>>2]|0; + $77 = ($75|0)<($76|0); + if (!($77)) { + HEAP32[$72>>2] = 1; + $78 = (_GetScreenWidth()|0); + $79 = (($78) + 200)|0; + $80 = (_GetRandomValue(0,$79)|0); + $81 = (+($80|0)); + $$sroa$0225$0$$sroa_idx = (31512 + (($$0329374*40)|0)|0); + HEAPF32[$$sroa$0225$0$$sroa_idx>>2] = $81; + $$sroa$2226$0$$sroa_idx227 = (((31512 + (($$0329374*40)|0)|0)) + 4|0); + HEAPF32[$$sroa$2226$0$$sroa_idx227>>2] = -10.0; + HEAP32[(31504)>>2] = 0; + $82 = (_GetRandomValue(5,20)|0); + HEAP32[(31508)>>2] = $82; + } + } + $83 = (((134732 + (($$0329374*40)|0)|0)) + 36|0); + $84 = HEAP32[$83>>2]|0; + $85 = ($84|0)==(0); + if ($85) { + $86 = HEAP32[40302]|0; + $87 = HEAP32[40303]|0; + $88 = ($86|0)<($87|0); + if (!($88)) { + HEAP32[$83>>2] = 1; + $89 = (_GetScreenWidth()|0); + $90 = (($89) + 200)|0; + $91 = (_GetRandomValue(0,$90)|0); + $92 = (+($91|0)); + $$sroa$0222$0$$sroa_idx = (134732 + (($$0329374*40)|0)|0); + HEAPF32[$$sroa$0222$0$$sroa_idx>>2] = $92; + $$sroa$2223$0$$sroa_idx224 = (((134732 + (($$0329374*40)|0)|0)) + 4|0); + HEAPF32[$$sroa$2223$0$$sroa_idx224>>2] = -10.0; + HEAP32[40302] = 0; + $93 = (_GetRandomValue(3,10)|0); + HEAP32[40303] = $93; + } + } + $94 = (($$0329374) + 1)|0; + $exitcond387 = ($94|0)==(128); + if ($exitcond387) { + break; + } else { + $$0329374 = $94; + } + } + } + $95 = HEAP32[(36640)>>2]|0; + $96 = ($95|0)==(0); + if (!($96)) { + $97 = HEAP32[(36644)>>2]|0; + $98 = (($97) + 1)|0; + HEAP32[(36644)>>2] = $98; + $99 = HEAP32[40304]|0; + $100 = (($99) + 1)|0; + HEAP32[40304] = $100; + $$0330373 = 0; + while(1) { + $101 = (((36652 + (($$0330373*40)|0)|0)) + 36|0); + $102 = HEAP32[$101>>2]|0; + $103 = ($102|0)==(0); + if ($103) { + $104 = HEAP32[(36644)>>2]|0; + $105 = HEAP32[(36648)>>2]|0; + $106 = ($104|0)<($105|0); + if (!($106)) { + HEAP32[$101>>2] = 1; + $107 = (_GetScreenWidth()|0); + $108 = (($107) + 200)|0; + $109 = (_GetRandomValue(0,$108)|0); + $110 = (+($109|0)); + $$sroa$0209$0$$sroa_idx = (36652 + (($$0330373*40)|0)|0); + HEAPF32[$$sroa$0209$0$$sroa_idx>>2] = $110; + $$sroa$2210$0$$sroa_idx211 = (((36652 + (($$0330373*40)|0)|0)) + 4|0); + HEAPF32[$$sroa$2210$0$$sroa_idx211>>2] = -10.0; + HEAP32[(36644)>>2] = 0; + $111 = (_GetRandomValue(5,20)|0); + HEAP32[(36648)>>2] = $111; + } + } + $112 = (((139852 + (($$0330373*40)|0)|0)) + 36|0); + $113 = HEAP32[$112>>2]|0; + $114 = ($113|0)==(0); + if ($114) { + $115 = HEAP32[40304]|0; + $116 = HEAP32[40305]|0; + $117 = ($115|0)<($116|0); + if (!($117)) { + HEAP32[$112>>2] = 1; + $118 = (_GetScreenWidth()|0); + $119 = (($118) + 200)|0; + $120 = (_GetRandomValue(0,$119)|0); + $121 = (+($120|0)); + $$sroa$0206$0$$sroa_idx = (139852 + (($$0330373*40)|0)|0); + HEAPF32[$$sroa$0206$0$$sroa_idx>>2] = $121; + $$sroa$2207$0$$sroa_idx208 = (((139852 + (($$0330373*40)|0)|0)) + 4|0); + HEAPF32[$$sroa$2207$0$$sroa_idx208>>2] = -10.0; + HEAP32[40304] = 0; + $122 = (_GetRandomValue(3,10)|0); + HEAP32[40305] = $122; + } + } + $123 = (($$0330373) + 1)|0; + $exitcond386 = ($123|0)==(128); + if ($exitcond386) { + break; + } else { + $$0330373 = $123; + } + } + } + $124 = HEAP32[(41780)>>2]|0; + $125 = ($124|0)==(0); + if (!($125)) { + $126 = HEAP32[(41784)>>2]|0; + $127 = (($126) + 1)|0; + HEAP32[(41784)>>2] = $127; + $128 = HEAP32[40306]|0; + $129 = (($128) + 1)|0; + HEAP32[40306] = $129; + $$0332372 = 0; + while(1) { + $130 = (((41792 + (($$0332372*40)|0)|0)) + 36|0); + $131 = HEAP32[$130>>2]|0; + $132 = ($131|0)==(0); + if ($132) { + $133 = HEAP32[(41784)>>2]|0; + $134 = HEAP32[(41788)>>2]|0; + $135 = ($133|0)<($134|0); + if (!($135)) { + HEAP32[$130>>2] = 1; + $136 = (_GetScreenWidth()|0); + $137 = (($136) + 200)|0; + $138 = (_GetRandomValue(0,$137)|0); + $139 = (+($138|0)); + $$sroa$0193$0$$sroa_idx = (41792 + (($$0332372*40)|0)|0); + HEAPF32[$$sroa$0193$0$$sroa_idx>>2] = $139; + $$sroa$2194$0$$sroa_idx195 = (((41792 + (($$0332372*40)|0)|0)) + 4|0); + HEAPF32[$$sroa$2194$0$$sroa_idx195>>2] = -10.0; + HEAP32[(41784)>>2] = 0; + $140 = (_GetRandomValue(5,20)|0); + HEAP32[(41788)>>2] = $140; + } + } + $141 = (((144972 + (($$0332372*40)|0)|0)) + 36|0); + $142 = HEAP32[$141>>2]|0; + $143 = ($142|0)==(0); + if ($143) { + $144 = HEAP32[40306]|0; + $145 = HEAP32[40307]|0; + $146 = ($144|0)<($145|0); + if (!($146)) { + HEAP32[$141>>2] = 1; + $147 = (_GetScreenWidth()|0); + $148 = (($147) + 200)|0; + $149 = (_GetRandomValue(0,$148)|0); + $150 = (+($149|0)); + $$sroa$0190$0$$sroa_idx = (144972 + (($$0332372*40)|0)|0); + HEAPF32[$$sroa$0190$0$$sroa_idx>>2] = $150; + $$sroa$2191$0$$sroa_idx192 = (((144972 + (($$0332372*40)|0)|0)) + 4|0); + HEAPF32[$$sroa$2191$0$$sroa_idx192>>2] = -10.0; + HEAP32[40306] = 0; + $151 = (_GetRandomValue(3,10)|0); + HEAP32[40307] = $151; + } + } + $152 = (($$0332372) + 1)|0; + $exitcond385 = ($152|0)==(128); + if ($exitcond385) { + break; + } else { + $$0332372 = $152; + } + } + } + $153 = HEAP32[(47660)>>2]|0; + $154 = ($153|0)==(0); + if (!($154)) { + $155 = HEAP32[(47664)>>2]|0; + $156 = (($155) + 1)|0; + HEAP32[(47664)>>2] = $156; + $$0333370 = 0; + while(1) { + $157 = (((47672 + (($$0333370*40)|0)|0)) + 36|0); + $158 = HEAP32[$157>>2]|0; + $159 = ($158|0)==(0); + if ($159) { + $160 = HEAP32[(47664)>>2]|0; + $161 = HEAP32[(47668)>>2]|0; + $162 = ($160|0)<($161|0); + if (!($162)) { + $$0334369 = 0; + while(1) { + $163 = (($$0334369) + ($$0333370))|0; + $164 = (((47672 + (($163*40)|0)|0)) + 36|0); + HEAP32[$164>>2] = 1; + $165 = (_GetScreenWidth()|0); + $166 = (($165) + 1000)|0; + $167 = (_GetRandomValue(100,$166)|0); + $168 = (+($167|0)); + $169 = (_GetRandomValue(-10,-20)|0); + $170 = (+($169|0)); + $$sroa$0174$0$$sroa_idx = (47672 + (($163*40)|0)|0); + HEAPF32[$$sroa$0174$0$$sroa_idx>>2] = $168; + $$sroa$2175$0$$sroa_idx176 = (((47672 + (($163*40)|0)|0)) + 4|0); + HEAPF32[$$sroa$2175$0$$sroa_idx176>>2] = $170; + $171 = (($$0334369) + 1)|0; + $exitcond383 = ($171|0)==(16); + if ($exitcond383) { + break; + } else { + $$0334369 = $171; + } + } + HEAP32[(47664)>>2] = 0; + HEAP32[(47668)>>2] = 4; + } + } + $172 = (($$0333370) + 1)|0; + $exitcond384 = ($172|0)==(1024); + if ($exitcond384) { + break; + } else { + $$0333370 = $172; + } + } + } + $173 = HEAP32[(88640)>>2]|0; + $174 = ($173|0)==(0); + if (!($174)) { + $175 = HEAP32[(88644)>>2]|0; + $176 = (($175) + 1)|0; + HEAP32[(88644)>>2] = $176; + $$0336368 = 0; + while(1) { + $177 = (((88652 + (($$0336368*40)|0)|0)) + 36|0); + $178 = HEAP32[$177>>2]|0; + $179 = ($178|0)==(0); + if ($179) { + $180 = HEAP32[(88644)>>2]|0; + $181 = HEAP32[(88648)>>2]|0; + $182 = ($180|0)<($181|0); + if (!($182)) { + HEAP32[$177>>2] = 1; + $183 = (_GetScreenWidth()|0); + $184 = (($183) + 800)|0; + $185 = (_GetRandomValue(100,$184)|0); + $186 = (+($185|0)); + $$sroa$0164$0$$sroa_idx = (88652 + (($$0336368*40)|0)|0); + HEAPF32[$$sroa$0164$0$$sroa_idx>>2] = $186; + $$sroa$2165$0$$sroa_idx166 = (((88652 + (($$0336368*40)|0)|0)) + 4|0); + HEAPF32[$$sroa$2165$0$$sroa_idx166>>2] = -10.0; + HEAP32[(88644)>>2] = 0; + $187 = (_GetRandomValue(1,2)|0); + HEAP32[(88648)>>2] = $187; + } + } + $188 = (($$0336368) + 1)|0; + $exitcond382 = ($188|0)==(256); + if ($exitcond382) { + break; + } else { + $$0336368 = $188; + } + } + } + $189 = HEAP32[(46920)>>2]|0; + $190 = ($189|0)==(0); + if (!($190)) { + $191 = HEAP32[(46924)>>2]|0; + $192 = (($191) + 1)|0; + HEAP32[(46924)>>2] = $192; + $193 = HEAP32[40308]|0; + $194 = (($193) + 1)|0; + HEAP32[40308] = $194; + $$0335367 = 0; + while(1) { + $195 = (((46932 + (($$0335367*36)|0)|0)) + 24|0); + $196 = HEAP32[$195>>2]|0; + $197 = ($196|0)==(0); + if ($197) { + $198 = HEAP32[(46924)>>2]|0; + $199 = HEAP32[(46928)>>2]|0; + $200 = ($198|0)<($199|0); + if (!($200)) { + HEAP32[$195>>2] = 1; + $201 = (((46932 + (($$0335367*36)|0)|0)) + 12|0); + HEAPF32[$201>>2] = 0.0; + $202 = (_GetRandomValue(10,20)|0); + $203 = (($202|0) / 10)&-1; + $204 = (+($203|0)); + $205 = (((46932 + (($$0335367*36)|0)|0)) + 16|0); + HEAPF32[$205>>2] = $204; + $206 = (_GetScreenWidth()|0); + $207 = (($206) + 200)|0; + $208 = (_GetRandomValue(300,$207)|0); + $209 = (+($208|0)); + $$sroa$0143$0$$sroa_idx = (46932 + (($$0335367*36)|0)|0); + HEAPF32[$$sroa$0143$0$$sroa_idx>>2] = $209; + $$sroa$2144$0$$sroa_idx145 = (((46932 + (($$0335367*36)|0)|0)) + 4|0); + HEAPF32[$$sroa$2144$0$$sroa_idx145>>2] = 0.0; + $210 = (((46932 + (($$0335367*36)|0)|0)) + 20|0); + HEAPF32[$210>>2] = -35.0; + HEAP32[(46924)>>2] = 0; + $211 = (((46932 + (($$0335367*36)|0)|0)) + 32|0); + HEAPF32[$211>>2] = 0.0; + $212 = (_GetRandomValue(20,50)|0); + HEAP32[(46928)>>2] = $212; + } + } + $213 = (((160352 + (($$0335367*36)|0)|0)) + 24|0); + $214 = HEAP32[$213>>2]|0; + $215 = ($214|0)==(0); + if ($215) { + $216 = HEAP32[40308]|0; + $217 = HEAP32[40309]|0; + $218 = ($216|0)<($217|0); + if (!($218)) { + HEAP32[$213>>2] = 1; + $219 = (((160352 + (($$0335367*36)|0)|0)) + 12|0); + HEAPF32[$219>>2] = 0.0; + $220 = (_GetRandomValue(5,15)|0); + $221 = (($220|0) / 10)&-1; + $222 = (+($221|0)); + $223 = (((160352 + (($$0335367*36)|0)|0)) + 16|0); + HEAPF32[$223>>2] = $222; + $224 = (_GetScreenWidth()|0); + $225 = (($224) + 200)|0; + $226 = (_GetRandomValue(300,$225)|0); + $227 = (+($226|0)); + $$sroa$0140$0$$sroa_idx = (160352 + (($$0335367*36)|0)|0); + HEAPF32[$$sroa$0140$0$$sroa_idx>>2] = $227; + $$sroa$2141$0$$sroa_idx142 = (((160352 + (($$0335367*36)|0)|0)) + 4|0); + HEAPF32[$$sroa$2141$0$$sroa_idx142>>2] = 0.0; + $228 = (((160352 + (($$0335367*36)|0)|0)) + 20|0); + HEAPF32[$228>>2] = -35.0; + HEAP32[40308] = 0; + $229 = (((160352 + (($$0335367*36)|0)|0)) + 32|0); + HEAPF32[$229>>2] = 0.0; + $230 = (_GetRandomValue(20,50)|0); + HEAP32[40309] = $230; + } + } + $231 = (($$0335367) + 1)|0; + $exitcond381 = ($231|0)==(20); + if ($exitcond381) { + break; + } else { + $$0335367 = $231; + } + } + } + $232 = HEAP32[(150100)>>2]|0; + $233 = ($232|0)==(0); + if ($233) { + $$0325365 = 0; + } else { + $234 = HEAP32[(150104)>>2]|0; + $235 = (($234) + 1)|0; + HEAP32[(150104)>>2] = $235; + $$0331366 = 0; + while(1) { + $236 = (((150112 + (($$0331366*40)|0)|0)) + 36|0); + $237 = HEAP32[$236>>2]|0; + $238 = ($237|0)==(0); + if ($238) { + $239 = HEAP32[(150104)>>2]|0; + $240 = HEAP32[(150108)>>2]|0; + $241 = ($239|0)<($240|0); + if (!($241)) { + HEAP32[$236>>2] = 1; + $242 = (_GetScreenWidth()|0); + $243 = (($242) + 200)|0; + $244 = (_GetRandomValue(0,$243)|0); + $245 = (+($244|0)); + $$sroa$0130$0$$sroa_idx = (150112 + (($$0331366*40)|0)|0); + HEAPF32[$$sroa$0130$0$$sroa_idx>>2] = $245; + $$sroa$2131$0$$sroa_idx132 = (((150112 + (($$0331366*40)|0)|0)) + 4|0); + HEAPF32[$$sroa$2131$0$$sroa_idx132>>2] = -10.0; + HEAP32[(150104)>>2] = 0; + $246 = (_GetRandomValue(1,8)|0); + HEAP32[(150108)>>2] = $246; + } + } + $247 = (($$0331366) + 1)|0; + $exitcond380 = ($247|0)==(128); + if ($exitcond380) { + $$0325365 = 0; + break; + } else { + $$0331366 = $247; + } + } + } + while(1) { + $248 = (((26368 + (($$0325365*40)|0)|0)) + 36|0); + $249 = HEAP32[$248>>2]|0; + $250 = ($249|0)==(0); + if (!($250)) { + $251 = (((26368 + (($$0325365*40)|0)|0)) + 4|0); + $252 = +HEAPF32[$251>>2]; + $253 = $252 + 2.0; + HEAPF32[$251>>2] = $253; + $254 = (26368 + (($$0325365*40)|0)|0); + $255 = +HEAPF32[$254>>2]; + $256 = $255 + -2.0; + HEAPF32[$254>>2] = $256; + $257 = (((26368 + (($$0325365*40)|0)|0)) + 16|0); + $258 = +HEAPF32[$257>>2]; + $259 = $258 + 0.5; + HEAPF32[$257>>2] = $259; + $260 = +HEAPF32[$251>>2]; + $261 = (_GetScreenHeight()|0); + $262 = (+($261|0)); + $263 = !($260 >= $262); + if (!($263)) { + HEAP32[$248>>2] = 0; + } + } + $264 = (((129612 + (($$0325365*40)|0)|0)) + 36|0); + $265 = HEAP32[$264>>2]|0; + $266 = ($265|0)==(0); + if (!($266)) { + $267 = (((129612 + (($$0325365*40)|0)|0)) + 4|0); + $268 = +HEAPF32[$267>>2]; + $269 = $268 + 4.0; + HEAPF32[$267>>2] = $269; + $270 = (129612 + (($$0325365*40)|0)|0); + $271 = +HEAPF32[$270>>2]; + $272 = $271 + -3.0; + HEAPF32[$270>>2] = $272; + $273 = (((129612 + (($$0325365*40)|0)|0)) + 16|0); + $274 = +HEAPF32[$273>>2]; + $275 = $274 + 0.5; + HEAPF32[$273>>2] = $275; + $276 = +HEAPF32[$267>>2]; + $277 = (_GetScreenHeight()|0); + $278 = (+($277|0)); + $279 = !($276 >= $278); + if (!($279)) { + HEAP32[$264>>2] = 0; + } + } + $280 = (((31512 + (($$0325365*40)|0)|0)) + 36|0); + $281 = HEAP32[$280>>2]|0; + $282 = ($281|0)==(0); + if (!($282)) { + $283 = (((31512 + (($$0325365*40)|0)|0)) + 4|0); + $284 = +HEAPF32[$283>>2]; + $285 = $284 + 4.0; + HEAPF32[$283>>2] = $285; + $286 = (31512 + (($$0325365*40)|0)|0); + $287 = +HEAPF32[$286>>2]; + $288 = $287 + -2.0; + HEAPF32[$286>>2] = $288; + $289 = (((31512 + (($$0325365*40)|0)|0)) + 16|0); + $290 = +HEAPF32[$289>>2]; + $291 = $290 + 0.5; + HEAPF32[$289>>2] = $291; + $292 = +HEAPF32[$283>>2]; + $293 = (_GetScreenHeight()|0); + $294 = (+($293|0)); + $295 = !($292 >= $294); + if (!($295)) { + HEAP32[$280>>2] = 0; + } + } + $296 = (((134732 + (($$0325365*40)|0)|0)) + 36|0); + $297 = HEAP32[$296>>2]|0; + $298 = ($297|0)==(0); + if (!($298)) { + $299 = (((134732 + (($$0325365*40)|0)|0)) + 4|0); + $300 = +HEAPF32[$299>>2]; + $301 = $300 + 4.0; + HEAPF32[$299>>2] = $301; + $302 = (134732 + (($$0325365*40)|0)|0); + $303 = +HEAPF32[$302>>2]; + $304 = $303 + -3.0; + HEAPF32[$302>>2] = $304; + $305 = (((134732 + (($$0325365*40)|0)|0)) + 16|0); + $306 = +HEAPF32[$305>>2]; + $307 = $306 + 0.5; + HEAPF32[$305>>2] = $307; + $308 = +HEAPF32[$299>>2]; + $309 = (_GetScreenHeight()|0); + $310 = (+($309|0)); + $311 = !($308 >= $310); + if (!($311)) { + HEAP32[$296>>2] = 0; + } + } + $312 = (((36652 + (($$0325365*40)|0)|0)) + 36|0); + $313 = HEAP32[$312>>2]|0; + $314 = ($313|0)==(0); + if (!($314)) { + $315 = (((36652 + (($$0325365*40)|0)|0)) + 4|0); + $316 = +HEAPF32[$315>>2]; + $317 = $316 + 2.5; + HEAPF32[$315>>2] = $317; + $318 = (36652 + (($$0325365*40)|0)|0); + $319 = +HEAPF32[$318>>2]; + $320 = $319 + -2.0; + HEAPF32[$318>>2] = $320; + $321 = HEAP32[40295]|0; + $322 = (+($321|0)); + $323 = $322 * 0.052359879016876221; + $324 = (((36652 + (($$0325365*40)|0)|0)) + 32|0); + $325 = +HEAPF32[$324>>2]; + $326 = $325 + $323; + $327 = $326; + $328 = (+Math_sin((+$327))); + $329 = $328 * 30.0; + $330 = $329 + 30.0; + $331 = $330; + $332 = -$331; + $333 = (((36652 + (($$0325365*40)|0)|0)) + 16|0); + HEAPF32[$333>>2] = $332; + $334 = +HEAPF32[$315>>2]; + $335 = (_GetScreenHeight()|0); + $336 = (+($335|0)); + $337 = !($334 >= $336); + if (!($337)) { + HEAP32[$312>>2] = 0; + } + } + $338 = (((139852 + (($$0325365*40)|0)|0)) + 36|0); + $339 = HEAP32[$338>>2]|0; + $340 = ($339|0)==(0); + do { + if (!($340)) { + $341 = (((139852 + (($$0325365*40)|0)|0)) + 4|0); + $342 = +HEAPF32[$341>>2]; + $343 = $342 + 2.0; + HEAPF32[$341>>2] = $343; + $344 = (139852 + (($$0325365*40)|0)|0); + $345 = +HEAPF32[$344>>2]; + $346 = $345 + -3.0; + HEAPF32[$344>>2] = $346; + $347 = HEAP32[40295]|0; + $348 = (+($347|0)); + $349 = $348 * 0.052359879016876221; + $350 = (((36652 + (($$0325365*40)|0)|0)) + 32|0); + $351 = +HEAPF32[$350>>2]; + $352 = $351 + $349; + $353 = $352; + $354 = (+Math_sin((+$353))); + $355 = $354 * 30.0; + $356 = $355 + 30.0; + $357 = $356; + $358 = -$357; + $359 = (((139852 + (($$0325365*40)|0)|0)) + 16|0); + HEAPF32[$359>>2] = $358; + $360 = +HEAPF32[$341>>2]; + $361 = (_GetScreenHeight()|0); + $362 = (+($361|0)); + $363 = !($360 >= $362); + if ($363) { + break; + } + HEAP32[$338>>2] = 0; + } + } while(0); + $364 = (((41792 + (($$0325365*40)|0)|0)) + 36|0); + $365 = HEAP32[$364>>2]|0; + $366 = ($365|0)==(0); + do { + if (!($366)) { + $367 = (((41792 + (($$0325365*40)|0)|0)) + 4|0); + $368 = +HEAPF32[$367>>2]; + $369 = $368 + 2.5; + HEAPF32[$367>>2] = $369; + $370 = (41792 + (($$0325365*40)|0)|0); + $371 = +HEAPF32[$370>>2]; + $372 = $371 + -2.0; + HEAPF32[$370>>2] = $372; + $373 = (((41792 + (($$0325365*40)|0)|0)) + 16|0); + $374 = +HEAPF32[$373>>2]; + $375 = $374 + 0.5; + HEAPF32[$373>>2] = $375; + $376 = +HEAPF32[$367>>2]; + $377 = (_GetScreenHeight()|0); + $378 = (+($377|0)); + $379 = !($376 >= $378); + if ($379) { + break; + } + HEAP32[$364>>2] = 0; + } + } while(0); + $380 = (((144972 + (($$0325365*40)|0)|0)) + 36|0); + $381 = HEAP32[$380>>2]|0; + $382 = ($381|0)==(0); + do { + if (!($382)) { + $383 = (((144972 + (($$0325365*40)|0)|0)) + 4|0); + $384 = +HEAPF32[$383>>2]; + $385 = $384 + 2.0; + HEAPF32[$383>>2] = $385; + $386 = (144972 + (($$0325365*40)|0)|0); + $387 = +HEAPF32[$386>>2]; + $388 = $387 + -3.0; + HEAPF32[$386>>2] = $388; + $389 = (((144972 + (($$0325365*40)|0)|0)) + 16|0); + $390 = +HEAPF32[$389>>2]; + $391 = $390 + 0.5; + HEAPF32[$389>>2] = $391; + $392 = +HEAPF32[$383>>2]; + $393 = (_GetScreenHeight()|0); + $394 = (+($393|0)); + $395 = !($392 >= $394); + if ($395) { + break; + } + HEAP32[$380>>2] = 0; + } + } while(0); + $396 = (((150112 + (($$0325365*40)|0)|0)) + 36|0); + $397 = HEAP32[$396>>2]|0; + $398 = ($397|0)==(0); + do { + if (!($398)) { + $399 = (((150112 + (($$0325365*40)|0)|0)) + 4|0); + $400 = +HEAPF32[$399>>2]; + $401 = $400 + 4.0; + HEAPF32[$399>>2] = $401; + $402 = (150112 + (($$0325365*40)|0)|0); + $403 = +HEAPF32[$402>>2]; + $404 = $403 + -5.0; + HEAPF32[$402>>2] = $404; + $405 = (_GetScreenHeight()|0); + $406 = (+($405|0)); + $407 = !($401 >= $406); + if ($407) { + break; + } + HEAP32[$396>>2] = 0; + } + } while(0); + $408 = (((155232 + (($$0325365*40)|0)|0)) + 36|0); + $409 = HEAP32[$408>>2]|0; + $410 = ($409|0)==(0); + do { + if (!($410)) { + $411 = (((155232 + (($$0325365*40)|0)|0)) + 4|0); + $412 = +HEAPF32[$411>>2]; + $413 = $412 + 3.0; + HEAPF32[$411>>2] = $413; + $414 = (155232 + (($$0325365*40)|0)|0); + $415 = +HEAPF32[$414>>2]; + $416 = $415 + -3.0; + HEAPF32[$414>>2] = $416; + $417 = (_GetScreenHeight()|0); + $418 = (+($417|0)); + $419 = !($413 >= $418); + if ($419) { + break; + } + HEAP32[$408>>2] = 0; + } + } while(0); + $420 = (($$0325365) + 1)|0; + $exitcond379 = ($420|0)==(128); + if ($exitcond379) { + $$0324363 = 0; + break; + } else { + $$0325365 = $420; + } + } + while(1) { + $421 = (((47672 + (($$0324363*40)|0)|0)) + 36|0); + $422 = HEAP32[$421>>2]|0; + $423 = ($422|0)==(0); + if (!($423)) { + $424 = (((47672 + (($$0324363*40)|0)|0)) + 4|0); + $425 = +HEAPF32[$424>>2]; + $426 = $425 + 12.0; + HEAPF32[$424>>2] = $426; + $427 = (47672 + (($$0324363*40)|0)|0); + $428 = +HEAPF32[$427>>2]; + $429 = $428 + -15.0; + HEAPF32[$427>>2] = $429; + $430 = (_GetScreenHeight()|0); + $431 = (+($430|0)); + $432 = !($426 >= $431); + if (!($432)) { + HEAP32[$421>>2] = 0; + } + $433 = HEAP32[(47660)>>2]|0; + $434 = ($433|0)==(0); + if ($434) { + $435 = (((47672 + (($$0324363*40)|0)|0)) + 28|0); + $436 = +HEAPF32[$435>>2]; + $437 = $436; + $438 = $437 + -0.01; + $439 = $438; + HEAPF32[$435>>2] = $439; + } + } + $440 = (($$0324363) + 1)|0; + $exitcond378 = ($440|0)==(1024); + if ($exitcond378) { + $$0323362 = 0; + break; + } else { + $$0324363 = $440; + } + } + while(1) { + $441 = (((88652 + (($$0323362*40)|0)|0)) + 36|0); + $442 = HEAP32[$441>>2]|0; + $443 = ($442|0)==(0); + if (!($443)) { + $444 = (((88652 + (($$0323362*40)|0)|0)) + 4|0); + $445 = +HEAPF32[$444>>2]; + $446 = $445 + 12.0; + HEAPF32[$444>>2] = $446; + $447 = (88652 + (($$0323362*40)|0)|0); + $448 = +HEAPF32[$447>>2]; + $449 = $448 + -15.0; + HEAPF32[$447>>2] = $449; + $450 = (((88652 + (($$0323362*40)|0)|0)) + 16|0); + $451 = +HEAPF32[$450>>2]; + $452 = $451 + 0.5; + HEAPF32[$450>>2] = $452; + $453 = +HEAPF32[$444>>2]; + $454 = (_GetScreenHeight()|0); + $455 = (+($454|0)); + $456 = !($453 >= $455); + if (!($456)) { + HEAP32[$441>>2] = 0; + } + } + $457 = (($$0323362) + 1)|0; + $exitcond377 = ($457|0)==(256); + if ($exitcond377) { + $$0361 = 0; + break; + } else { + $$0323362 = $457; + } + } + while(1) { + $460 = (((46932 + (($$0361*36)|0)|0)) + 24|0); + $461 = HEAP32[$460>>2]|0; + $462 = ($461|0)==(0); + do { + if (!($462)) { + $463 = (46932 + (($$0361*36)|0)|0); + $464 = +HEAPF32[$463>>2]; + $465 = $464 + -0.5; + HEAPF32[$463>>2] = $465; + $466 = (((46932 + (($$0361*36)|0)|0)) + 28|0); + $467 = HEAP32[$466>>2]|0; + $468 = ($467|0)==(0); + $469 = (((46932 + (($$0361*36)|0)|0)) + 12|0); + $470 = +HEAPF32[$469>>2]; + if ($468) { + $477 = $470 + 0.0099999997764825821; + HEAPF32[$469>>2] = $477; + $478 = !($477 >= 0.5); + if ($478) { + break; + } + HEAPF32[$469>>2] = 0.5; + $479 = (((46932 + (($$0361*36)|0)|0)) + 32|0); + $480 = +HEAPF32[$479>>2]; + $481 = $480 + 1.0; + HEAPF32[$479>>2] = $481; + $482 = !($481 >= 30.0); + if ($482) { + break; + } + HEAPF32[$479>>2] = 0.0; + HEAP32[$466>>2] = 1; + break; + } else { + $471 = $470 + -0.0099999997764825821; + HEAPF32[$469>>2] = $471; + $472 = !($471 <= 0.0); + if ($472) { + break; + } + HEAPF32[$469>>2] = 0.0; + $473 = (((46932 + (($$0361*36)|0)|0)) + 32|0); + $474 = +HEAPF32[$473>>2]; + $475 = $474 + 1.0; + HEAPF32[$473>>2] = $475; + $476 = !($475 >= 30.0); + if ($476) { + break; + } + HEAP32[$460>>2] = 0; + HEAPF32[$473>>2] = 0.0; + HEAP32[$466>>2] = 0; + break; + } + } + } while(0); + $483 = (((160352 + (($$0361*36)|0)|0)) + 24|0); + $484 = HEAP32[$483>>2]|0; + $485 = ($484|0)==(0); + do { + if (!($485)) { + $486 = (160352 + (($$0361*36)|0)|0); + $487 = +HEAPF32[$486>>2]; + $488 = $487 + -0.5; + HEAPF32[$486>>2] = $488; + $489 = (((160352 + (($$0361*36)|0)|0)) + 28|0); + $490 = HEAP32[$489>>2]|0; + $491 = ($490|0)==(0); + $492 = (((160352 + (($$0361*36)|0)|0)) + 12|0); + $493 = +HEAPF32[$492>>2]; + if ($491) { + $500 = $493 + 0.0099999997764825821; + HEAPF32[$492>>2] = $500; + $501 = !($500 >= 0.5); + if ($501) { + break; + } + HEAPF32[$492>>2] = 0.5; + $502 = (((160352 + (($$0361*36)|0)|0)) + 32|0); + $503 = +HEAPF32[$502>>2]; + $504 = $503 + 1.0; + HEAPF32[$502>>2] = $504; + $505 = !($504 >= 30.0); + if ($505) { + break; + } + HEAPF32[$502>>2] = 0.0; + HEAP32[$489>>2] = 1; + break; + } else { + $494 = $493 + -0.0099999997764825821; + HEAPF32[$492>>2] = $494; + $495 = !($494 <= 0.0); + if ($495) { + break; + } + HEAPF32[$492>>2] = 0.0; + $496 = (((160352 + (($$0361*36)|0)|0)) + 32|0); + $497 = +HEAPF32[$496>>2]; + $498 = $497 + 1.0; + HEAPF32[$496>>2] = $498; + $499 = !($498 >= 30.0); + if ($499) { + break; + } + HEAP32[$483>>2] = 0; + HEAPF32[$496>>2] = 0.0; + HEAP32[$489>>2] = 0; + break; + } + } + } while(0); + $506 = (($$0361) + 1)|0; + $exitcond = ($506|0)==(20); + if ($exitcond) { + break; + } else { + $$0361 = $506; + } + } + $458 = (_IsGestureDetected(1)|0); + $459 = ($458|0)==(0); + if ($459) { + $507 = (_GetGestureDetected()|0); + $508 = ($507|0)==(2); + if (!($508)) { + return; + } + } + $509 = HEAP32[6578]|0; + $510 = (+($509|0)); + $511 = +HEAPF32[6584]; + $512 = !($510 >= $511); + if ($512) { + return; + } + HEAP32[6579] = 2; + return; +} +function _BounceEaseOut($0,$1,$2,$3) { + $0 = +$0; + $1 = +$1; + $2 = +$2; + $3 = +$3; + var $$0 = 0.0, $$pn = 0.0, $$pn29 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0.0; + var $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $4 = $0 / $3; + $5 = $4 < 0.36363637447357178; + do { + if ($5) { + $6 = $4 * 7.5625; + $7 = $4 * $6; + $$pn29 = $7; + } else { + $8 = $4 < 0.72727274894714355; + if ($8) { + $9 = $4 + -0.54545456171035767; + $10 = $9 * 7.5625; + $11 = $9 * $10; + $12 = $11 + 0.75; + $$pn29 = $12; + break; + } + $13 = $4; + $14 = $13 < 0.90909090909090906; + if ($14) { + $15 = $4 + -0.81818181276321411; + $16 = $15 * 7.5625; + $17 = $15 * $16; + $18 = $17 + 0.9375; + $$pn29 = $18; + break; + } else { + $19 = $4 + -0.95454543828964233; + $20 = $19 * 7.5625; + $21 = $19 * $20; + $22 = $21 + 0.984375; + $$pn29 = $22; + break; + } + } + } while(0); + $$pn = $$pn29 * $2; + $$0 = $$pn + $1; + return (+$$0); +} +function _DrawTitleScreen() { + var $$0439454 = 0, $$0441452 = 0, $$0442451 = 0, $$0443450 = 0, $$0444449 = 0, $$0455 = 0, $$byval_copy123 = 0, $$byval_copy124 = 0, $$byval_copy125 = 0, $$byval_copy126 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0; + var $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0; + var $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0; + var $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0.0, $155 = 0, $156 = 0, $157 = 0.0, $158 = 0, $159 = 0, $16 = 0, $160 = 0.0; + var $161 = 0.0, $162 = 0, $163 = 0.0, $164 = 0, $165 = 0.0, $166 = 0, $167 = 0.0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0.0, $173 = 0, $174 = 0, $175 = 0.0, $176 = 0, $177 = 0, $178 = 0.0, $179 = 0.0; + var $18 = 0, $180 = 0, $181 = 0.0, $182 = 0, $183 = 0.0, $184 = 0, $185 = 0.0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0.0, $191 = 0, $192 = 0, $193 = 0.0, $194 = 0, $195 = 0, $196 = 0.0, $197 = 0.0; + var $198 = 0, $199 = 0.0, $2 = 0, $20 = 0, $200 = 0, $201 = 0.0, $202 = 0, $203 = 0.0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0.0, $209 = 0, $21 = 0, $210 = 0, $211 = 0.0, $212 = 0, $213 = 0, $214 = 0.0; + var $215 = 0.0, $216 = 0, $217 = 0.0, $218 = 0, $219 = 0.0, $22 = 0, $220 = 0, $221 = 0.0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0.0, $227 = 0, $228 = 0, $229 = 0.0, $23 = 0, $230 = 0, $231 = 0, $232 = 0.0; + var $233 = 0.0, $234 = 0, $235 = 0.0, $236 = 0, $237 = 0.0, $238 = 0, $239 = 0.0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0.0, $246 = 0, $247 = 0, $248 = 0.0, $249 = 0, $25 = 0, $250 = 0; + var $251 = 0.0, $252 = 0.0, $253 = 0, $254 = 0.0, $255 = 0, $256 = 0.0, $257 = 0.0, $258 = 0, $259 = 0.0, $26 = 0, $260 = 0, $261 = 0.0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0; + var $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0.0, $284 = 0, $285 = 0, $286 = 0, $287 = 0.0; + var $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0.0, $3 = 0, $30 = 0, $300 = 0.0, $301 = 0.0, $302 = 0, $303 = 0, $304 = 0.0; + var $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0.0, $314 = 0.0, $315 = 0.0, $316 = 0, $317 = 0, $318 = 0.0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0; + var $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0.0, $328 = 0.0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0.0, $333 = 0.0, $334 = 0.0, $335 = 0.0, $336 = 0, $337 = 0, $338 = 0, $339 = 0.0, $34 = 0, $340 = 0.0; + var $341 = 0.0, $342 = 0.0, $343 = 0, $344 = 0.0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0; + var $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0; + var $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0.0, $395 = 0; + var $396 = 0, $397 = 0.0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0.0, $401 = 0.0, $402 = 0, $403 = 0.0, $404 = 0, $405 = 0.0, $406 = 0, $407 = 0, $408 = 0.0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0; + var $413 = 0.0, $414 = 0, $415 = 0, $416 = 0.0, $417 = 0, $418 = 0, $419 = 0.0, $42 = 0, $420 = 0.0, $421 = 0, $422 = 0.0, $423 = 0, $424 = 0.0, $425 = 0, $426 = 0, $427 = 0.0, $428 = 0, $429 = 0, $43 = 0, $430 = 0; + var $431 = 0, $432 = 0.0, $433 = 0, $434 = 0, $435 = 0.0, $436 = 0, $437 = 0, $438 = 0.0, $439 = 0.0, $44 = 0, $440 = 0, $441 = 0.0, $442 = 0, $443 = 0.0, $444 = 0, $445 = 0, $446 = 0.0, $447 = 0, $448 = 0, $449 = 0; + var $45 = 0, $450 = 0, $451 = 0.0, $452 = 0, $453 = 0, $454 = 0.0, $455 = 0, $456 = 0, $457 = 0.0, $458 = 0.0, $459 = 0, $46 = 0, $460 = 0.0, $461 = 0, $462 = 0.0, $463 = 0, $464 = 0, $465 = 0.0, $466 = 0, $467 = 0; + var $468 = 0, $469 = 0, $47 = 0, $470 = 0.0, $471 = 0, $472 = 0, $473 = 0.0, $474 = 0, $475 = 0, $476 = 0.0, $477 = 0.0, $478 = 0, $479 = 0.0, $48 = 0, $480 = 0, $481 = 0.0, $482 = 0, $483 = 0, $484 = 0.0, $485 = 0; + var $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0, $496 = 0, $497 = 0.0, $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0.0, $501 = 0, $502 = 0; + var $503 = 0.0, $504 = 0.0, $505 = 0, $506 = 0.0, $507 = 0, $508 = 0.0, $509 = 0, $51 = 0, $510 = 0, $511 = 0.0, $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0; + var $521 = 0, $522 = 0, $523 = 0, $524 = 0.0, $525 = 0, $526 = 0, $527 = 0.0, $528 = 0, $529 = 0, $53 = 0, $530 = 0.0, $531 = 0.0, $532 = 0, $533 = 0.0, $534 = 0, $535 = 0.0, $536 = 0, $537 = 0, $538 = 0.0, $539 = 0; + var $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0.0, $545 = 0, $546 = 0, $547 = 0.0, $548 = 0, $549 = 0, $55 = 0, $550 = 0.0, $551 = 0.0, $552 = 0, $553 = 0.0, $554 = 0, $555 = 0.0, $556 = 0.0, $557 = 0; + var $558 = 0.0, $559 = 0, $56 = 0, $560 = 0, $561 = 0.0, $562 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0; + var $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0; + var $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $atlas01$byval_copy122 = 0, $exitcond = 0, $exitcond456 = 0, $exitcond457 = 0, $exitcond458 = 0, $exitcond460 = 0, $exitcond461 = 0; + var dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 1024|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1024|0); + $$byval_copy126 = sp + 880|0; + $$byval_copy125 = sp + 872|0; + $$byval_copy124 = sp + 840|0; + $$byval_copy123 = sp + 820|0; + $atlas01$byval_copy122 = sp + 800|0; + $0 = sp + 784|0; + $1 = sp + 768|0; + $2 = sp + 760|0; + $3 = sp + 744|0; + $4 = sp + 728|0; + $5 = sp + 720|0; + $6 = sp + 1016|0; + $7 = sp + 1012|0; + $8 = sp + 704|0; + $9 = sp + 688|0; + $10 = sp + 680|0; + $11 = sp + 1008|0; + $12 = sp + 1004|0; + $13 = sp + 664|0; + $14 = sp + 648|0; + $15 = sp + 640|0; + $16 = sp + 1000|0; + $17 = sp + 996|0; + $18 = sp + 624|0; + $19 = sp + 608|0; + $20 = sp + 600|0; + $21 = sp + 992|0; + $22 = sp + 988|0; + $23 = sp + 584|0; + $24 = sp + 568|0; + $25 = sp + 560|0; + $26 = sp + 984|0; + $27 = sp + 980|0; + $28 = sp + 544|0; + $29 = sp + 528|0; + $30 = sp + 520|0; + $31 = sp + 976|0; + $32 = sp + 972|0; + $33 = sp + 504|0; + $34 = sp + 488|0; + $35 = sp + 480|0; + $36 = sp + 472|0; + $37 = sp + 464|0; + $38 = sp + 448|0; + $39 = sp + 432|0; + $40 = sp + 424|0; + $41 = sp + 408|0; + $42 = sp + 392|0; + $43 = sp + 384|0; + $44 = sp + 376|0; + $45 = sp + 360|0; + $46 = sp + 344|0; + $47 = sp + 336|0; + $48 = sp + 328|0; + $49 = sp + 320|0; + $50 = sp + 968|0; + $51 = sp + 304|0; + $52 = sp + 288|0; + $53 = sp + 280|0; + $54 = sp + 964|0; + $55 = sp + 264|0; + $56 = sp + 248|0; + $57 = sp + 240|0; + $58 = sp + 960|0; + $59 = sp + 224|0; + $60 = sp + 208|0; + $61 = sp + 200|0; + $62 = sp + 956|0; + $63 = sp + 184|0; + $64 = sp + 168|0; + $65 = sp + 160|0; + $66 = sp + 952|0; + $67 = sp + 144|0; + $68 = sp + 128|0; + $69 = sp + 120|0; + $70 = sp + 948|0; + $71 = sp + 104|0; + $72 = sp + 88|0; + $73 = sp + 80|0; + $74 = sp + 944|0; + $75 = sp + 64|0; + $76 = sp + 48|0; + $77 = sp + 40|0; + $78 = sp + 940|0; + $79 = sp + 24|0; + $80 = sp + 8|0; + $81 = sp; + $82 = sp + 936|0; + dest=$$byval_copy126; src=25552; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _BeginShaderMode($$byval_copy126); + HEAP32[$0>>2] = 2; + $83 = ((($0)) + 4|0); + HEAP32[$83>>2] = 2; + $84 = ((($0)) + 8|0); + HEAP32[$84>>2] = 640; + $85 = ((($0)) + 12|0); + HEAP32[$85>>2] = 360; + HEAP32[$1>>2] = 0; + $86 = ((($1)) + 4|0); + HEAP32[$86>>2] = 0; + $87 = ((($1)) + 8|0); + HEAP32[$87>>2] = 1280; + $88 = ((($1)) + 12|0); + HEAP32[$88>>2] = 720; + HEAPF32[$2>>2] = 0.0; + $89 = ((($2)) + 4|0); + HEAPF32[$89>>2] = 0.0; + ;HEAP32[$atlas01$byval_copy122>>2]=HEAP32[25532>>2]|0;HEAP32[$atlas01$byval_copy122+4>>2]=HEAP32[25532+4>>2]|0;HEAP32[$atlas01$byval_copy122+8>>2]=HEAP32[25532+8>>2]|0;HEAP32[$atlas01$byval_copy122+12>>2]=HEAP32[25532+12>>2]|0;HEAP32[$atlas01$byval_copy122+16>>2]=HEAP32[25532+16>>2]|0; + ;HEAP32[$$byval_copy123>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy123+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy123+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy123+12>>2]=HEAP32[$0+12>>2]|0; + ;HEAP32[$$byval_copy124>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy124+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$$byval_copy124+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[$$byval_copy124+12>>2]=HEAP32[$1+12>>2]|0; + ;HEAP32[$$byval_copy125>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy125+4>>2]=HEAP32[$2+4>>2]|0; + ;HEAP8[$$byval_copy126>>0]=HEAP8[339112>>0]|0;HEAP8[$$byval_copy126+1>>0]=HEAP8[339112+1>>0]|0;HEAP8[$$byval_copy126+2>>0]=HEAP8[339112+2>>0]|0;HEAP8[$$byval_copy126+3>>0]=HEAP8[339112+3>>0]|0; + _DrawTexturePro($atlas01$byval_copy122,$$byval_copy123,$$byval_copy124,$$byval_copy125,0.0,$$byval_copy126); + _DrawParallaxBack(); + _DrawParallaxMiddle(); + $90 = ((($23)) + 4|0); + $91 = ((($23)) + 8|0); + $92 = ((($23)) + 12|0); + $93 = ((($24)) + 4|0); + $94 = ((($24)) + 8|0); + $95 = ((($24)) + 12|0); + $96 = ((($25)) + 4|0); + $97 = ((($27)) + 1|0); + $98 = ((($27)) + 2|0); + $99 = ((($27)) + 3|0); + $100 = ((($18)) + 4|0); + $101 = ((($18)) + 8|0); + $102 = ((($18)) + 12|0); + $103 = ((($19)) + 4|0); + $104 = ((($19)) + 8|0); + $105 = ((($19)) + 12|0); + $106 = ((($20)) + 4|0); + $107 = ((($22)) + 1|0); + $108 = ((($22)) + 2|0); + $109 = ((($22)) + 3|0); + $110 = ((($13)) + 4|0); + $111 = ((($13)) + 8|0); + $112 = ((($13)) + 12|0); + $113 = ((($14)) + 4|0); + $114 = ((($14)) + 8|0); + $115 = ((($14)) + 12|0); + $116 = ((($15)) + 4|0); + $117 = ((($17)) + 1|0); + $118 = ((($17)) + 2|0); + $119 = ((($17)) + 3|0); + $120 = ((($8)) + 4|0); + $121 = ((($8)) + 8|0); + $122 = ((($8)) + 12|0); + $123 = ((($9)) + 4|0); + $124 = ((($9)) + 8|0); + $125 = ((($9)) + 12|0); + $126 = ((($10)) + 4|0); + $127 = ((($12)) + 1|0); + $128 = ((($12)) + 2|0); + $129 = ((($12)) + 3|0); + $130 = ((($3)) + 4|0); + $131 = ((($3)) + 8|0); + $132 = ((($3)) + 12|0); + $133 = ((($4)) + 4|0); + $134 = ((($4)) + 8|0); + $135 = ((($4)) + 12|0); + $136 = ((($5)) + 4|0); + $137 = ((($7)) + 1|0); + $138 = ((($7)) + 2|0); + $139 = ((($7)) + 3|0); + $$0455 = 0; + while(1) { + $150 = (((129612 + (($$0455*40)|0)|0)) + 36|0); + $151 = HEAP32[$150>>2]|0; + $152 = ($151|0)==(0); + if (!($152)) { + HEAP32[$3>>2] = 276; + HEAP32[$130>>2] = 766; + HEAP32[$131>>2] = 32; + HEAP32[$132>>2] = 32; + $153 = (129612 + (($$0455*40)|0)|0); + $154 = +HEAPF32[$153>>2]; + $155 = (~~(($154))); + HEAP32[$4>>2] = $155; + $156 = (((129612 + (($$0455*40)|0)|0)) + 4|0); + $157 = +HEAPF32[$156>>2]; + $158 = (~~(($157))); + HEAP32[$133>>2] = $158; + $159 = (((129612 + (($$0455*40)|0)|0)) + 20|0); + $160 = +HEAPF32[$159>>2]; + $161 = $160 * 32.0; + $162 = (~~(($161))); + HEAP32[$134>>2] = $162; + HEAP32[$135>>2] = $162; + $163 = $161 * 0.5; + HEAPF32[$5>>2] = $163; + HEAPF32[$136>>2] = $163; + $164 = (((129612 + (($$0455*40)|0)|0)) + 16|0); + $165 = +HEAPF32[$164>>2]; + HEAP8[$7>>0] = -112; + HEAP8[$137>>0] = -42; + HEAP8[$138>>0] = -1; + HEAP8[$139>>0] = -1; + $166 = (((129612 + (($$0455*40)|0)|0)) + 28|0); + $167 = +HEAPF32[$166>>2]; + ;HEAP8[$$byval_copy126>>0]=HEAP8[$7>>0]|0;HEAP8[$$byval_copy126+1>>0]=HEAP8[$7+1>>0]|0;HEAP8[$$byval_copy126+2>>0]=HEAP8[$7+2>>0]|0;HEAP8[$$byval_copy126+3>>0]=HEAP8[$7+3>>0]|0; + _Fade($6,$$byval_copy126,$167); + ;HEAP32[$atlas01$byval_copy122>>2]=HEAP32[25532>>2]|0;HEAP32[$atlas01$byval_copy122+4>>2]=HEAP32[25532+4>>2]|0;HEAP32[$atlas01$byval_copy122+8>>2]=HEAP32[25532+8>>2]|0;HEAP32[$atlas01$byval_copy122+12>>2]=HEAP32[25532+12>>2]|0;HEAP32[$atlas01$byval_copy122+16>>2]=HEAP32[25532+16>>2]|0; + ;HEAP32[$$byval_copy123>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy123+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$$byval_copy123+8>>2]=HEAP32[$3+8>>2]|0;HEAP32[$$byval_copy123+12>>2]=HEAP32[$3+12>>2]|0; + ;HEAP32[$$byval_copy124>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy124+4>>2]=HEAP32[$4+4>>2]|0;HEAP32[$$byval_copy124+8>>2]=HEAP32[$4+8>>2]|0;HEAP32[$$byval_copy124+12>>2]=HEAP32[$4+12>>2]|0; + ;HEAP32[$$byval_copy125>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy125+4>>2]=HEAP32[$5+4>>2]|0; + ;HEAP8[$$byval_copy126>>0]=HEAP8[$6>>0]|0;HEAP8[$$byval_copy126+1>>0]=HEAP8[$6+1>>0]|0;HEAP8[$$byval_copy126+2>>0]=HEAP8[$6+2>>0]|0;HEAP8[$$byval_copy126+3>>0]=HEAP8[$6+3>>0]|0; + _DrawTexturePro($atlas01$byval_copy122,$$byval_copy123,$$byval_copy124,$$byval_copy125,$165,$$byval_copy126); + } + $168 = (((134732 + (($$0455*40)|0)|0)) + 36|0); + $169 = HEAP32[$168>>2]|0; + $170 = ($169|0)==(0); + if (!($170)) { + HEAP32[$8>>2] = 538; + HEAP32[$120>>2] = 715; + HEAP32[$121>>2] = 32; + HEAP32[$122>>2] = 32; + $171 = (134732 + (($$0455*40)|0)|0); + $172 = +HEAPF32[$171>>2]; + $173 = (~~(($172))); + HEAP32[$9>>2] = $173; + $174 = (((134732 + (($$0455*40)|0)|0)) + 4|0); + $175 = +HEAPF32[$174>>2]; + $176 = (~~(($175))); + HEAP32[$123>>2] = $176; + $177 = (((134732 + (($$0455*40)|0)|0)) + 20|0); + $178 = +HEAPF32[$177>>2]; + $179 = $178 * 32.0; + $180 = (~~(($179))); + HEAP32[$124>>2] = $180; + HEAP32[$125>>2] = $180; + $181 = $179 * 0.5; + HEAPF32[$10>>2] = $181; + HEAPF32[$126>>2] = $181; + $182 = (((134732 + (($$0455*40)|0)|0)) + 16|0); + $183 = +HEAPF32[$182>>2]; + HEAP8[$12>>0] = -77; + HEAP8[$127>>0] = 86; + HEAP8[$128>>0] = 6; + HEAP8[$129>>0] = -1; + $184 = (((134732 + (($$0455*40)|0)|0)) + 28|0); + $185 = +HEAPF32[$184>>2]; + ;HEAP8[$$byval_copy126>>0]=HEAP8[$12>>0]|0;HEAP8[$$byval_copy126+1>>0]=HEAP8[$12+1>>0]|0;HEAP8[$$byval_copy126+2>>0]=HEAP8[$12+2>>0]|0;HEAP8[$$byval_copy126+3>>0]=HEAP8[$12+3>>0]|0; + _Fade($11,$$byval_copy126,$185); + ;HEAP32[$atlas01$byval_copy122>>2]=HEAP32[25532>>2]|0;HEAP32[$atlas01$byval_copy122+4>>2]=HEAP32[25532+4>>2]|0;HEAP32[$atlas01$byval_copy122+8>>2]=HEAP32[25532+8>>2]|0;HEAP32[$atlas01$byval_copy122+12>>2]=HEAP32[25532+12>>2]|0;HEAP32[$atlas01$byval_copy122+16>>2]=HEAP32[25532+16>>2]|0; + ;HEAP32[$$byval_copy123>>2]=HEAP32[$8>>2]|0;HEAP32[$$byval_copy123+4>>2]=HEAP32[$8+4>>2]|0;HEAP32[$$byval_copy123+8>>2]=HEAP32[$8+8>>2]|0;HEAP32[$$byval_copy123+12>>2]=HEAP32[$8+12>>2]|0; + ;HEAP32[$$byval_copy124>>2]=HEAP32[$9>>2]|0;HEAP32[$$byval_copy124+4>>2]=HEAP32[$9+4>>2]|0;HEAP32[$$byval_copy124+8>>2]=HEAP32[$9+8>>2]|0;HEAP32[$$byval_copy124+12>>2]=HEAP32[$9+12>>2]|0; + ;HEAP32[$$byval_copy125>>2]=HEAP32[$10>>2]|0;HEAP32[$$byval_copy125+4>>2]=HEAP32[$10+4>>2]|0; + ;HEAP8[$$byval_copy126>>0]=HEAP8[$11>>0]|0;HEAP8[$$byval_copy126+1>>0]=HEAP8[$11+1>>0]|0;HEAP8[$$byval_copy126+2>>0]=HEAP8[$11+2>>0]|0;HEAP8[$$byval_copy126+3>>0]=HEAP8[$11+3>>0]|0; + _DrawTexturePro($atlas01$byval_copy122,$$byval_copy123,$$byval_copy124,$$byval_copy125,$183,$$byval_copy126); + } + $186 = (((139852 + (($$0455*40)|0)|0)) + 36|0); + $187 = HEAP32[$186>>2]|0; + $188 = ($187|0)==(0); + if (!($188)) { + HEAP32[$13>>2] = 504; + HEAP32[$110>>2] = 715; + HEAP32[$111>>2] = 32; + HEAP32[$112>>2] = 32; + $189 = (139852 + (($$0455*40)|0)|0); + $190 = +HEAPF32[$189>>2]; + $191 = (~~(($190))); + HEAP32[$14>>2] = $191; + $192 = (((139852 + (($$0455*40)|0)|0)) + 4|0); + $193 = +HEAPF32[$192>>2]; + $194 = (~~(($193))); + HEAP32[$113>>2] = $194; + $195 = (((139852 + (($$0455*40)|0)|0)) + 20|0); + $196 = +HEAPF32[$195>>2]; + $197 = $196 * 32.0; + $198 = (~~(($197))); + HEAP32[$114>>2] = $198; + HEAP32[$115>>2] = $198; + $199 = $197 * 0.5; + HEAPF32[$15>>2] = $199; + HEAPF32[$116>>2] = $199; + $200 = (((139852 + (($$0455*40)|0)|0)) + 16|0); + $201 = +HEAPF32[$200>>2]; + HEAP8[$17>>0] = -54; + HEAP8[$117>>0] = -89; + HEAP8[$118>>0] = 126; + HEAP8[$119>>0] = -1; + $202 = (((139852 + (($$0455*40)|0)|0)) + 28|0); + $203 = +HEAPF32[$202>>2]; + ;HEAP8[$$byval_copy126>>0]=HEAP8[$17>>0]|0;HEAP8[$$byval_copy126+1>>0]=HEAP8[$17+1>>0]|0;HEAP8[$$byval_copy126+2>>0]=HEAP8[$17+2>>0]|0;HEAP8[$$byval_copy126+3>>0]=HEAP8[$17+3>>0]|0; + _Fade($16,$$byval_copy126,$203); + ;HEAP32[$atlas01$byval_copy122>>2]=HEAP32[25532>>2]|0;HEAP32[$atlas01$byval_copy122+4>>2]=HEAP32[25532+4>>2]|0;HEAP32[$atlas01$byval_copy122+8>>2]=HEAP32[25532+8>>2]|0;HEAP32[$atlas01$byval_copy122+12>>2]=HEAP32[25532+12>>2]|0;HEAP32[$atlas01$byval_copy122+16>>2]=HEAP32[25532+16>>2]|0; + ;HEAP32[$$byval_copy123>>2]=HEAP32[$13>>2]|0;HEAP32[$$byval_copy123+4>>2]=HEAP32[$13+4>>2]|0;HEAP32[$$byval_copy123+8>>2]=HEAP32[$13+8>>2]|0;HEAP32[$$byval_copy123+12>>2]=HEAP32[$13+12>>2]|0; + ;HEAP32[$$byval_copy124>>2]=HEAP32[$14>>2]|0;HEAP32[$$byval_copy124+4>>2]=HEAP32[$14+4>>2]|0;HEAP32[$$byval_copy124+8>>2]=HEAP32[$14+8>>2]|0;HEAP32[$$byval_copy124+12>>2]=HEAP32[$14+12>>2]|0; + ;HEAP32[$$byval_copy125>>2]=HEAP32[$15>>2]|0;HEAP32[$$byval_copy125+4>>2]=HEAP32[$15+4>>2]|0; + ;HEAP8[$$byval_copy126>>0]=HEAP8[$16>>0]|0;HEAP8[$$byval_copy126+1>>0]=HEAP8[$16+1>>0]|0;HEAP8[$$byval_copy126+2>>0]=HEAP8[$16+2>>0]|0;HEAP8[$$byval_copy126+3>>0]=HEAP8[$16+3>>0]|0; + _DrawTexturePro($atlas01$byval_copy122,$$byval_copy123,$$byval_copy124,$$byval_copy125,$201,$$byval_copy126); + } + $204 = (((144972 + (($$0455*40)|0)|0)) + 36|0); + $205 = HEAP32[$204>>2]|0; + $206 = ($205|0)==(0); + if (!($206)) { + HEAP32[$18>>2] = 808; + HEAP32[$100>>2] = 315; + HEAP32[$101>>2] = 32; + HEAP32[$102>>2] = 32; + $207 = (144972 + (($$0455*40)|0)|0); + $208 = +HEAPF32[$207>>2]; + $209 = (~~(($208))); + HEAP32[$19>>2] = $209; + $210 = (((144972 + (($$0455*40)|0)|0)) + 4|0); + $211 = +HEAPF32[$210>>2]; + $212 = (~~(($211))); + HEAP32[$103>>2] = $212; + $213 = (((144972 + (($$0455*40)|0)|0)) + 20|0); + $214 = +HEAPF32[$213>>2]; + $215 = $214 * 32.0; + $216 = (~~(($215))); + HEAP32[$104>>2] = $216; + HEAP32[$105>>2] = $216; + $217 = $215 * 0.5; + HEAPF32[$20>>2] = $217; + HEAPF32[$106>>2] = $217; + $218 = (((144972 + (($$0455*40)|0)|0)) + 16|0); + $219 = +HEAPF32[$218>>2]; + HEAP8[$22>>0] = -38; + HEAP8[$107>>0] = 84; + HEAP8[$108>>0] = 108; + HEAP8[$109>>0] = -1; + $220 = (((144972 + (($$0455*40)|0)|0)) + 28|0); + $221 = +HEAPF32[$220>>2]; + ;HEAP8[$$byval_copy126>>0]=HEAP8[$22>>0]|0;HEAP8[$$byval_copy126+1>>0]=HEAP8[$22+1>>0]|0;HEAP8[$$byval_copy126+2>>0]=HEAP8[$22+2>>0]|0;HEAP8[$$byval_copy126+3>>0]=HEAP8[$22+3>>0]|0; + _Fade($21,$$byval_copy126,$221); + ;HEAP32[$atlas01$byval_copy122>>2]=HEAP32[25532>>2]|0;HEAP32[$atlas01$byval_copy122+4>>2]=HEAP32[25532+4>>2]|0;HEAP32[$atlas01$byval_copy122+8>>2]=HEAP32[25532+8>>2]|0;HEAP32[$atlas01$byval_copy122+12>>2]=HEAP32[25532+12>>2]|0;HEAP32[$atlas01$byval_copy122+16>>2]=HEAP32[25532+16>>2]|0; + ;HEAP32[$$byval_copy123>>2]=HEAP32[$18>>2]|0;HEAP32[$$byval_copy123+4>>2]=HEAP32[$18+4>>2]|0;HEAP32[$$byval_copy123+8>>2]=HEAP32[$18+8>>2]|0;HEAP32[$$byval_copy123+12>>2]=HEAP32[$18+12>>2]|0; + ;HEAP32[$$byval_copy124>>2]=HEAP32[$19>>2]|0;HEAP32[$$byval_copy124+4>>2]=HEAP32[$19+4>>2]|0;HEAP32[$$byval_copy124+8>>2]=HEAP32[$19+8>>2]|0;HEAP32[$$byval_copy124+12>>2]=HEAP32[$19+12>>2]|0; + ;HEAP32[$$byval_copy125>>2]=HEAP32[$20>>2]|0;HEAP32[$$byval_copy125+4>>2]=HEAP32[$20+4>>2]|0; + ;HEAP8[$$byval_copy126>>0]=HEAP8[$21>>0]|0;HEAP8[$$byval_copy126+1>>0]=HEAP8[$21+1>>0]|0;HEAP8[$$byval_copy126+2>>0]=HEAP8[$21+2>>0]|0;HEAP8[$$byval_copy126+3>>0]=HEAP8[$21+3>>0]|0; + _DrawTexturePro($atlas01$byval_copy122,$$byval_copy123,$$byval_copy124,$$byval_copy125,$219,$$byval_copy126); + } + $222 = (((155232 + (($$0455*40)|0)|0)) + 36|0); + $223 = HEAP32[$222>>2]|0; + $224 = ($223|0)==(0); + if (!($224)) { + HEAP32[$23>>2] = 842; + HEAP32[$90>>2] = 315; + HEAP32[$91>>2] = 32; + HEAP32[$92>>2] = 32; + $225 = (155232 + (($$0455*40)|0)|0); + $226 = +HEAPF32[$225>>2]; + $227 = (~~(($226))); + HEAP32[$24>>2] = $227; + $228 = (((155232 + (($$0455*40)|0)|0)) + 4|0); + $229 = +HEAPF32[$228>>2]; + $230 = (~~(($229))); + HEAP32[$93>>2] = $230; + $231 = (((155232 + (($$0455*40)|0)|0)) + 20|0); + $232 = +HEAPF32[$231>>2]; + $233 = $232 * 32.0; + $234 = (~~(($233))); + HEAP32[$94>>2] = $234; + HEAP32[$95>>2] = $234; + $235 = $233 * 0.5; + HEAPF32[$25>>2] = $235; + HEAPF32[$96>>2] = $235; + $236 = (((155232 + (($$0455*40)|0)|0)) + 16|0); + $237 = +HEAPF32[$236>>2]; + HEAP8[$27>>0] = -112; + HEAP8[$97>>0] = -73; + HEAP8[$98>>0] = -69; + HEAP8[$99>>0] = -1; + $238 = (((155232 + (($$0455*40)|0)|0)) + 28|0); + $239 = +HEAPF32[$238>>2]; + ;HEAP8[$$byval_copy126>>0]=HEAP8[$27>>0]|0;HEAP8[$$byval_copy126+1>>0]=HEAP8[$27+1>>0]|0;HEAP8[$$byval_copy126+2>>0]=HEAP8[$27+2>>0]|0;HEAP8[$$byval_copy126+3>>0]=HEAP8[$27+3>>0]|0; + _Fade($26,$$byval_copy126,$239); + ;HEAP32[$atlas01$byval_copy122>>2]=HEAP32[25532>>2]|0;HEAP32[$atlas01$byval_copy122+4>>2]=HEAP32[25532+4>>2]|0;HEAP32[$atlas01$byval_copy122+8>>2]=HEAP32[25532+8>>2]|0;HEAP32[$atlas01$byval_copy122+12>>2]=HEAP32[25532+12>>2]|0;HEAP32[$atlas01$byval_copy122+16>>2]=HEAP32[25532+16>>2]|0; + ;HEAP32[$$byval_copy123>>2]=HEAP32[$23>>2]|0;HEAP32[$$byval_copy123+4>>2]=HEAP32[$23+4>>2]|0;HEAP32[$$byval_copy123+8>>2]=HEAP32[$23+8>>2]|0;HEAP32[$$byval_copy123+12>>2]=HEAP32[$23+12>>2]|0; + ;HEAP32[$$byval_copy124>>2]=HEAP32[$24>>2]|0;HEAP32[$$byval_copy124+4>>2]=HEAP32[$24+4>>2]|0;HEAP32[$$byval_copy124+8>>2]=HEAP32[$24+8>>2]|0;HEAP32[$$byval_copy124+12>>2]=HEAP32[$24+12>>2]|0; + ;HEAP32[$$byval_copy125>>2]=HEAP32[$25>>2]|0;HEAP32[$$byval_copy125+4>>2]=HEAP32[$25+4>>2]|0; + ;HEAP8[$$byval_copy126>>0]=HEAP8[$26>>0]|0;HEAP8[$$byval_copy126+1>>0]=HEAP8[$26+1>>0]|0;HEAP8[$$byval_copy126+2>>0]=HEAP8[$26+2>>0]|0;HEAP8[$$byval_copy126+3>>0]=HEAP8[$26+3>>0]|0; + _DrawTexturePro($atlas01$byval_copy122,$$byval_copy123,$$byval_copy124,$$byval_copy125,$237,$$byval_copy126); + } + $240 = (($$0455) + 1)|0; + $exitcond461 = ($240|0)==(128); + if ($exitcond461) { + break; + } else { + $$0455 = $240; + } + } + $140 = ((($28)) + 4|0); + $141 = ((($28)) + 8|0); + $142 = ((($28)) + 12|0); + $143 = ((($29)) + 4|0); + $144 = ((($29)) + 8|0); + $145 = ((($29)) + 12|0); + $146 = ((($30)) + 4|0); + $147 = ((($32)) + 1|0); + $148 = ((($32)) + 2|0); + $149 = ((($32)) + 3|0); + $$0439454 = 0; + while(1) { + $241 = (((160352 + (($$0439454*36)|0)|0)) + 24|0); + $242 = HEAP32[$241>>2]|0; + $243 = ($242|0)==(0); + if (!($243)) { + HEAP32[$28>>2] = 260; + HEAP32[$140>>2] = 766; + HEAP32[$141>>2] = 14; + HEAP32[$142>>2] = 216; + $244 = (160352 + (($$0439454*36)|0)|0); + $245 = +HEAPF32[$244>>2]; + $246 = (~~(($245))); + HEAP32[$29>>2] = $246; + $247 = (((160352 + (($$0439454*36)|0)|0)) + 4|0); + $248 = +HEAPF32[$247>>2]; + $249 = (~~(($248))); + HEAP32[$143>>2] = $249; + $250 = (((160352 + (($$0439454*36)|0)|0)) + 16|0); + $251 = +HEAPF32[$250>>2]; + $252 = $251 * 14.0; + $253 = (~~(($252))); + HEAP32[$144>>2] = $253; + $254 = $251 * 216.0; + $255 = (~~(($254))); + HEAP32[$145>>2] = $255; + $256 = $252 * 0.5; + HEAPF32[$30>>2] = $256; + $257 = $254 * 0.5; + HEAPF32[$146>>2] = $257; + $258 = (((160352 + (($$0439454*36)|0)|0)) + 20|0); + $259 = +HEAPF32[$258>>2]; + HEAP8[$32>>0] = -1; + HEAP8[$147>>0] = -53; + HEAP8[$148>>0] = 0; + HEAP8[$149>>0] = -1; + $260 = (((160352 + (($$0439454*36)|0)|0)) + 12|0); + $261 = +HEAPF32[$260>>2]; + ;HEAP8[$$byval_copy126>>0]=HEAP8[$32>>0]|0;HEAP8[$$byval_copy126+1>>0]=HEAP8[$32+1>>0]|0;HEAP8[$$byval_copy126+2>>0]=HEAP8[$32+2>>0]|0;HEAP8[$$byval_copy126+3>>0]=HEAP8[$32+3>>0]|0; + _Fade($31,$$byval_copy126,$261); + ;HEAP32[$atlas01$byval_copy122>>2]=HEAP32[25532>>2]|0;HEAP32[$atlas01$byval_copy122+4>>2]=HEAP32[25532+4>>2]|0;HEAP32[$atlas01$byval_copy122+8>>2]=HEAP32[25532+8>>2]|0;HEAP32[$atlas01$byval_copy122+12>>2]=HEAP32[25532+12>>2]|0;HEAP32[$atlas01$byval_copy122+16>>2]=HEAP32[25532+16>>2]|0; + ;HEAP32[$$byval_copy123>>2]=HEAP32[$28>>2]|0;HEAP32[$$byval_copy123+4>>2]=HEAP32[$28+4>>2]|0;HEAP32[$$byval_copy123+8>>2]=HEAP32[$28+8>>2]|0;HEAP32[$$byval_copy123+12>>2]=HEAP32[$28+12>>2]|0; + ;HEAP32[$$byval_copy124>>2]=HEAP32[$29>>2]|0;HEAP32[$$byval_copy124+4>>2]=HEAP32[$29+4>>2]|0;HEAP32[$$byval_copy124+8>>2]=HEAP32[$29+8>>2]|0;HEAP32[$$byval_copy124+12>>2]=HEAP32[$29+12>>2]|0; + ;HEAP32[$$byval_copy125>>2]=HEAP32[$30>>2]|0;HEAP32[$$byval_copy125+4>>2]=HEAP32[$30+4>>2]|0; + ;HEAP8[$$byval_copy126>>0]=HEAP8[$31>>0]|0;HEAP8[$$byval_copy126+1>>0]=HEAP8[$31+1>>0]|0;HEAP8[$$byval_copy126+2>>0]=HEAP8[$31+2>>0]|0;HEAP8[$$byval_copy126+3>>0]=HEAP8[$31+3>>0]|0; + _DrawTexturePro($atlas01$byval_copy122,$$byval_copy123,$$byval_copy124,$$byval_copy125,$259,$$byval_copy126); + } + $262 = (($$0439454) + 1)|0; + $exitcond460 = ($262|0)==(20); + if ($exitcond460) { + break; + } else { + $$0439454 = $262; + } + } + _DrawParallaxFront(); + $263 = ((($33)) + 4|0); + $264 = ((($33)) + 8|0); + $265 = ((($33)) + 12|0); + $266 = ((($34)) + 4|0); + $267 = ((($34)) + 8|0); + $268 = ((($34)) + 12|0); + $269 = ((($35)) + 4|0); + HEAP32[$33>>2] = 1788; + HEAP32[$263>>2] = 2; + HEAP32[$264>>2] = 43; + HEAP32[$265>>2] = 720; + $270 = HEAP32[40268]|0; + HEAP32[$34>>2] = $270; + $271 = HEAP32[(161076)>>2]|0; + HEAP32[$266>>2] = $271; + HEAP32[$267>>2] = 43; + HEAP32[$268>>2] = 720; + HEAPF32[$35>>2] = 0.0; + HEAPF32[$269>>2] = 0.0; + ;HEAP32[$atlas01$byval_copy122>>2]=HEAP32[25532>>2]|0;HEAP32[$atlas01$byval_copy122+4>>2]=HEAP32[25532+4>>2]|0;HEAP32[$atlas01$byval_copy122+8>>2]=HEAP32[25532+8>>2]|0;HEAP32[$atlas01$byval_copy122+12>>2]=HEAP32[25532+12>>2]|0;HEAP32[$atlas01$byval_copy122+16>>2]=HEAP32[25532+16>>2]|0; + ;HEAP32[$$byval_copy123>>2]=HEAP32[$33>>2]|0;HEAP32[$$byval_copy123+4>>2]=HEAP32[$33+4>>2]|0;HEAP32[$$byval_copy123+8>>2]=HEAP32[$33+8>>2]|0;HEAP32[$$byval_copy123+12>>2]=HEAP32[$33+12>>2]|0; + ;HEAP32[$$byval_copy124>>2]=HEAP32[$34>>2]|0;HEAP32[$$byval_copy124+4>>2]=HEAP32[$34+4>>2]|0;HEAP32[$$byval_copy124+8>>2]=HEAP32[$34+8>>2]|0;HEAP32[$$byval_copy124+12>>2]=HEAP32[$34+12>>2]|0; + ;HEAP32[$$byval_copy125>>2]=HEAP32[$35>>2]|0;HEAP32[$$byval_copy125+4>>2]=HEAP32[$35+4>>2]|0; + ;HEAP8[$$byval_copy126>>0]=HEAP8[339116>>0]|0;HEAP8[$$byval_copy126+1>>0]=HEAP8[339116+1>>0]|0;HEAP8[$$byval_copy126+2>>0]=HEAP8[339116+2>>0]|0;HEAP8[$$byval_copy126+3>>0]=HEAP8[339116+3>>0]|0; + _DrawTexturePro($atlas01$byval_copy122,$$byval_copy123,$$byval_copy124,$$byval_copy125,0.0,$$byval_copy126); + HEAP32[$33>>2] = 1788; + HEAP32[$263>>2] = 2; + HEAP32[$264>>2] = 43; + HEAP32[$265>>2] = 720; + $272 = HEAP32[(161088)>>2]|0; + HEAP32[$34>>2] = $272; + $273 = HEAP32[(161092)>>2]|0; + HEAP32[$266>>2] = $273; + HEAP32[$267>>2] = 43; + HEAP32[$268>>2] = 720; + HEAPF32[$35>>2] = 0.0; + HEAPF32[$269>>2] = 0.0; + ;HEAP32[$atlas01$byval_copy122>>2]=HEAP32[25532>>2]|0;HEAP32[$atlas01$byval_copy122+4>>2]=HEAP32[25532+4>>2]|0;HEAP32[$atlas01$byval_copy122+8>>2]=HEAP32[25532+8>>2]|0;HEAP32[$atlas01$byval_copy122+12>>2]=HEAP32[25532+12>>2]|0;HEAP32[$atlas01$byval_copy122+16>>2]=HEAP32[25532+16>>2]|0; + ;HEAP32[$$byval_copy123>>2]=HEAP32[$33>>2]|0;HEAP32[$$byval_copy123+4>>2]=HEAP32[$33+4>>2]|0;HEAP32[$$byval_copy123+8>>2]=HEAP32[$33+8>>2]|0;HEAP32[$$byval_copy123+12>>2]=HEAP32[$33+12>>2]|0; + ;HEAP32[$$byval_copy124>>2]=HEAP32[$34>>2]|0;HEAP32[$$byval_copy124+4>>2]=HEAP32[$34+4>>2]|0;HEAP32[$$byval_copy124+8>>2]=HEAP32[$34+8>>2]|0;HEAP32[$$byval_copy124+12>>2]=HEAP32[$34+12>>2]|0; + ;HEAP32[$$byval_copy125>>2]=HEAP32[$35>>2]|0;HEAP32[$$byval_copy125+4>>2]=HEAP32[$35+4>>2]|0; + ;HEAP8[$$byval_copy126>>0]=HEAP8[339116>>0]|0;HEAP8[$$byval_copy126+1>>0]=HEAP8[339116+1>>0]|0;HEAP8[$$byval_copy126+2>>0]=HEAP8[339116+2>>0]|0;HEAP8[$$byval_copy126+3>>0]=HEAP8[339116+3>>0]|0; + _DrawTexturePro($atlas01$byval_copy122,$$byval_copy123,$$byval_copy124,$$byval_copy125,0.0,$$byval_copy126); + HEAP32[$33>>2] = 1788; + HEAP32[$263>>2] = 2; + HEAP32[$264>>2] = 43; + HEAP32[$265>>2] = 720; + $274 = HEAP32[(161104)>>2]|0; + HEAP32[$34>>2] = $274; + $275 = HEAP32[(161108)>>2]|0; + HEAP32[$266>>2] = $275; + HEAP32[$267>>2] = 43; + HEAP32[$268>>2] = 720; + HEAPF32[$35>>2] = 0.0; + HEAPF32[$269>>2] = 0.0; + ;HEAP32[$atlas01$byval_copy122>>2]=HEAP32[25532>>2]|0;HEAP32[$atlas01$byval_copy122+4>>2]=HEAP32[25532+4>>2]|0;HEAP32[$atlas01$byval_copy122+8>>2]=HEAP32[25532+8>>2]|0;HEAP32[$atlas01$byval_copy122+12>>2]=HEAP32[25532+12>>2]|0;HEAP32[$atlas01$byval_copy122+16>>2]=HEAP32[25532+16>>2]|0; + ;HEAP32[$$byval_copy123>>2]=HEAP32[$33>>2]|0;HEAP32[$$byval_copy123+4>>2]=HEAP32[$33+4>>2]|0;HEAP32[$$byval_copy123+8>>2]=HEAP32[$33+8>>2]|0;HEAP32[$$byval_copy123+12>>2]=HEAP32[$33+12>>2]|0; + ;HEAP32[$$byval_copy124>>2]=HEAP32[$34>>2]|0;HEAP32[$$byval_copy124+4>>2]=HEAP32[$34+4>>2]|0;HEAP32[$$byval_copy124+8>>2]=HEAP32[$34+8>>2]|0;HEAP32[$$byval_copy124+12>>2]=HEAP32[$34+12>>2]|0; + ;HEAP32[$$byval_copy125>>2]=HEAP32[$35>>2]|0;HEAP32[$$byval_copy125+4>>2]=HEAP32[$35+4>>2]|0; + ;HEAP8[$$byval_copy126>>0]=HEAP8[339116>>0]|0;HEAP8[$$byval_copy126+1>>0]=HEAP8[339116+1>>0]|0;HEAP8[$$byval_copy126+2>>0]=HEAP8[339116+2>>0]|0;HEAP8[$$byval_copy126+3>>0]=HEAP8[339116+3>>0]|0; + _DrawTexturePro($atlas01$byval_copy122,$$byval_copy123,$$byval_copy124,$$byval_copy125,0.0,$$byval_copy126); + HEAP32[$33>>2] = 1788; + HEAP32[$263>>2] = 2; + HEAP32[$264>>2] = 43; + HEAP32[$265>>2] = 720; + $276 = HEAP32[(161120)>>2]|0; + HEAP32[$34>>2] = $276; + $277 = HEAP32[(161124)>>2]|0; + HEAP32[$266>>2] = $277; + HEAP32[$267>>2] = 43; + HEAP32[$268>>2] = 720; + HEAPF32[$35>>2] = 0.0; + HEAPF32[$269>>2] = 0.0; + ;HEAP32[$atlas01$byval_copy122>>2]=HEAP32[25532>>2]|0;HEAP32[$atlas01$byval_copy122+4>>2]=HEAP32[25532+4>>2]|0;HEAP32[$atlas01$byval_copy122+8>>2]=HEAP32[25532+8>>2]|0;HEAP32[$atlas01$byval_copy122+12>>2]=HEAP32[25532+12>>2]|0;HEAP32[$atlas01$byval_copy122+16>>2]=HEAP32[25532+16>>2]|0; + ;HEAP32[$$byval_copy123>>2]=HEAP32[$33>>2]|0;HEAP32[$$byval_copy123+4>>2]=HEAP32[$33+4>>2]|0;HEAP32[$$byval_copy123+8>>2]=HEAP32[$33+8>>2]|0;HEAP32[$$byval_copy123+12>>2]=HEAP32[$33+12>>2]|0; + ;HEAP32[$$byval_copy124>>2]=HEAP32[$34>>2]|0;HEAP32[$$byval_copy124+4>>2]=HEAP32[$34+4>>2]|0;HEAP32[$$byval_copy124+8>>2]=HEAP32[$34+8>>2]|0;HEAP32[$$byval_copy124+12>>2]=HEAP32[$34+12>>2]|0; + ;HEAP32[$$byval_copy125>>2]=HEAP32[$35>>2]|0;HEAP32[$$byval_copy125+4>>2]=HEAP32[$35+4>>2]|0; + ;HEAP8[$$byval_copy126>>0]=HEAP8[339116>>0]|0;HEAP8[$$byval_copy126+1>>0]=HEAP8[339116+1>>0]|0;HEAP8[$$byval_copy126+2>>0]=HEAP8[339116+2>>0]|0;HEAP8[$$byval_copy126+3>>0]=HEAP8[339116+3>>0]|0; + _DrawTexturePro($atlas01$byval_copy122,$$byval_copy123,$$byval_copy124,$$byval_copy125,0.0,$$byval_copy126); + HEAP32[$33>>2] = 1788; + HEAP32[$263>>2] = 2; + HEAP32[$264>>2] = 43; + HEAP32[$265>>2] = 720; + $278 = HEAP32[(161136)>>2]|0; + HEAP32[$34>>2] = $278; + $279 = HEAP32[(161140)>>2]|0; + HEAP32[$266>>2] = $279; + HEAP32[$267>>2] = 43; + HEAP32[$268>>2] = 720; + HEAPF32[$35>>2] = 0.0; + HEAPF32[$269>>2] = 0.0; + ;HEAP32[$atlas01$byval_copy122>>2]=HEAP32[25532>>2]|0;HEAP32[$atlas01$byval_copy122+4>>2]=HEAP32[25532+4>>2]|0;HEAP32[$atlas01$byval_copy122+8>>2]=HEAP32[25532+8>>2]|0;HEAP32[$atlas01$byval_copy122+12>>2]=HEAP32[25532+12>>2]|0;HEAP32[$atlas01$byval_copy122+16>>2]=HEAP32[25532+16>>2]|0; + ;HEAP32[$$byval_copy123>>2]=HEAP32[$33>>2]|0;HEAP32[$$byval_copy123+4>>2]=HEAP32[$33+4>>2]|0;HEAP32[$$byval_copy123+8>>2]=HEAP32[$33+8>>2]|0;HEAP32[$$byval_copy123+12>>2]=HEAP32[$33+12>>2]|0; + ;HEAP32[$$byval_copy124>>2]=HEAP32[$34>>2]|0;HEAP32[$$byval_copy124+4>>2]=HEAP32[$34+4>>2]|0;HEAP32[$$byval_copy124+8>>2]=HEAP32[$34+8>>2]|0;HEAP32[$$byval_copy124+12>>2]=HEAP32[$34+12>>2]|0; + ;HEAP32[$$byval_copy125>>2]=HEAP32[$35>>2]|0;HEAP32[$$byval_copy125+4>>2]=HEAP32[$35+4>>2]|0; + ;HEAP8[$$byval_copy126>>0]=HEAP8[339116>>0]|0;HEAP8[$$byval_copy126+1>>0]=HEAP8[339116+1>>0]|0;HEAP8[$$byval_copy126+2>>0]=HEAP8[339116+2>>0]|0;HEAP8[$$byval_copy126+3>>0]=HEAP8[339116+3>>0]|0; + _DrawTexturePro($atlas01$byval_copy122,$$byval_copy123,$$byval_copy124,$$byval_copy125,0.0,$$byval_copy126); + _EndShaderMode(); + $280 = HEAP32[40288]|0; + $281 = HEAP32[40290]|0; + $282 = (($280) - ($281))|0; + $283 = (+($282|0)); + HEAPF32[$36>>2] = $283; + $284 = ((($36)) + 4|0); + $285 = HEAP32[40289]|0; + $286 = (($285) + -40)|0; + $287 = (+($286|0)); + HEAPF32[$284>>2] = $287; + HEAP32[$37>>2] = -1; + ;HEAP32[$$byval_copy123>>2]=HEAP32[25512>>2]|0;HEAP32[$$byval_copy123+4>>2]=HEAP32[25512+4>>2]|0;HEAP32[$$byval_copy123+8>>2]=HEAP32[25512+8>>2]|0;HEAP32[$$byval_copy123+12>>2]=HEAP32[25512+12>>2]|0;HEAP32[$$byval_copy123+16>>2]=HEAP32[25512+16>>2]|0; + ;HEAP32[$$byval_copy124>>2]=HEAP32[161164>>2]|0;HEAP32[$$byval_copy124+4>>2]=HEAP32[161164+4>>2]|0;HEAP32[$$byval_copy124+8>>2]=HEAP32[161164+8>>2]|0;HEAP32[$$byval_copy124+12>>2]=HEAP32[161164+12>>2]|0; + ;HEAP32[$$byval_copy125>>2]=HEAP32[$36>>2]|0;HEAP32[$$byval_copy125+4>>2]=HEAP32[$36+4>>2]|0; + ;HEAP8[$$byval_copy126>>0]=HEAP8[$37>>0]|0;HEAP8[$$byval_copy126+1>>0]=HEAP8[$37+1>>0]|0;HEAP8[$$byval_copy126+2>>0]=HEAP8[$37+2>>0]|0;HEAP8[$$byval_copy126+3>>0]=HEAP8[$37+3>>0]|0; + _DrawTextureRec($$byval_copy123,$$byval_copy124,$$byval_copy125,$$byval_copy126); + dest=$$byval_copy126; src=25552; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _BeginShaderMode($$byval_copy126); + HEAP32[$38>>2] = 1146; + $288 = ((($38)) + 4|0); + HEAP32[$288>>2] = 2; + $289 = ((($38)) + 8|0); + HEAP32[$289>>2] = 640; + $290 = ((($38)) + 12|0); + HEAP32[$290>>2] = 77; + HEAP32[$39>>2] = 0; + $291 = ((($39)) + 4|0); + HEAP32[$291>>2] = 637; + $292 = ((($39)) + 8|0); + HEAP32[$292>>2] = 1280; + $293 = ((($39)) + 12|0); + HEAP32[$293>>2] = 154; + HEAPF32[$40>>2] = 0.0; + $294 = ((($40)) + 4|0); + HEAPF32[$294>>2] = 0.0; + ;HEAP32[$atlas01$byval_copy122>>2]=HEAP32[25532>>2]|0;HEAP32[$atlas01$byval_copy122+4>>2]=HEAP32[25532+4>>2]|0;HEAP32[$atlas01$byval_copy122+8>>2]=HEAP32[25532+8>>2]|0;HEAP32[$atlas01$byval_copy122+12>>2]=HEAP32[25532+12>>2]|0;HEAP32[$atlas01$byval_copy122+16>>2]=HEAP32[25532+16>>2]|0; + ;HEAP32[$$byval_copy123>>2]=HEAP32[$38>>2]|0;HEAP32[$$byval_copy123+4>>2]=HEAP32[$38+4>>2]|0;HEAP32[$$byval_copy123+8>>2]=HEAP32[$38+8>>2]|0;HEAP32[$$byval_copy123+12>>2]=HEAP32[$38+12>>2]|0; + ;HEAP32[$$byval_copy124>>2]=HEAP32[$39>>2]|0;HEAP32[$$byval_copy124+4>>2]=HEAP32[$39+4>>2]|0;HEAP32[$$byval_copy124+8>>2]=HEAP32[$39+8>>2]|0;HEAP32[$$byval_copy124+12>>2]=HEAP32[$39+12>>2]|0; + ;HEAP32[$$byval_copy125>>2]=HEAP32[$40>>2]|0;HEAP32[$$byval_copy125+4>>2]=HEAP32[$40+4>>2]|0; + ;HEAP8[$$byval_copy126>>0]=HEAP8[339104>>0]|0;HEAP8[$$byval_copy126+1>>0]=HEAP8[339104+1>>0]|0;HEAP8[$$byval_copy126+2>>0]=HEAP8[339104+2>>0]|0;HEAP8[$$byval_copy126+3>>0]=HEAP8[339104+3>>0]|0; + _DrawTexturePro($atlas01$byval_copy122,$$byval_copy123,$$byval_copy124,$$byval_copy125,0.0,$$byval_copy126); + _EndShaderMode(); + HEAP32[$41>>2] = 2; + $295 = ((($41)) + 4|0); + HEAP32[$295>>2] = 678; + $296 = ((($41)) + 8|0); + HEAP32[$296>>2] = 512; + $297 = ((($41)) + 12|0); + HEAP32[$297>>2] = 230; + $298 = (_GetScreenWidth()|0); + $299 = (+($298|0)); + $300 = $299 * 0.49000000953674316; + $301 = $300 + -256.0; + $302 = (~~(($301))); + HEAP32[$42>>2] = $302; + $303 = ((($42)) + 4|0); + $304 = +HEAPF32[40296]; + $305 = (~~(($304))); + HEAP32[$303>>2] = $305; + $306 = ((($42)) + 8|0); + HEAP32[$306>>2] = 512; + $307 = ((($42)) + 12|0); + HEAP32[$307>>2] = 235; + HEAPF32[$43>>2] = 0.0; + $308 = ((($43)) + 4|0); + HEAPF32[$308>>2] = 0.0; + HEAP32[$44>>2] = -1; + ;HEAP32[$atlas01$byval_copy122>>2]=HEAP32[25512>>2]|0;HEAP32[$atlas01$byval_copy122+4>>2]=HEAP32[25512+4>>2]|0;HEAP32[$atlas01$byval_copy122+8>>2]=HEAP32[25512+8>>2]|0;HEAP32[$atlas01$byval_copy122+12>>2]=HEAP32[25512+12>>2]|0;HEAP32[$atlas01$byval_copy122+16>>2]=HEAP32[25512+16>>2]|0; + ;HEAP32[$$byval_copy123>>2]=HEAP32[$41>>2]|0;HEAP32[$$byval_copy123+4>>2]=HEAP32[$41+4>>2]|0;HEAP32[$$byval_copy123+8>>2]=HEAP32[$41+8>>2]|0;HEAP32[$$byval_copy123+12>>2]=HEAP32[$41+12>>2]|0; + ;HEAP32[$$byval_copy124>>2]=HEAP32[$42>>2]|0;HEAP32[$$byval_copy124+4>>2]=HEAP32[$42+4>>2]|0;HEAP32[$$byval_copy124+8>>2]=HEAP32[$42+8>>2]|0;HEAP32[$$byval_copy124+12>>2]=HEAP32[$42+12>>2]|0; + ;HEAP32[$$byval_copy125>>2]=HEAP32[$43>>2]|0;HEAP32[$$byval_copy125+4>>2]=HEAP32[$43+4>>2]|0; + ;HEAP8[$$byval_copy126>>0]=HEAP8[$44>>0]|0;HEAP8[$$byval_copy126+1>>0]=HEAP8[$44+1>>0]|0;HEAP8[$$byval_copy126+2>>0]=HEAP8[$44+2>>0]|0;HEAP8[$$byval_copy126+3>>0]=HEAP8[$44+3>>0]|0; + _DrawTexturePro($atlas01$byval_copy122,$$byval_copy123,$$byval_copy124,$$byval_copy125,0.0,$$byval_copy126); + HEAP32[$45>>2] = 2; + $309 = ((($45)) + 4|0); + HEAP32[$309>>2] = 910; + $310 = ((($45)) + 8|0); + HEAP32[$310>>2] = 512; + $311 = ((($45)) + 12|0); + HEAP32[$311>>2] = 116; + $312 = (_GetScreenWidth()|0); + $313 = (+($312|0)); + $314 = $313 * 0.49000000953674316; + $315 = $314 + -256.0; + $316 = (~~(($315))); + HEAP32[$46>>2] = $316; + $317 = ((($46)) + 4|0); + $318 = +HEAPF32[40297]; + $319 = (~~(($318))); + HEAP32[$317>>2] = $319; + $320 = ((($46)) + 8|0); + HEAP32[$320>>2] = 512; + $321 = ((($46)) + 12|0); + HEAP32[$321>>2] = 116; + HEAPF32[$47>>2] = 0.0; + $322 = ((($47)) + 4|0); + HEAPF32[$322>>2] = 0.0; + HEAP32[$48>>2] = -1; + ;HEAP32[$atlas01$byval_copy122>>2]=HEAP32[25512>>2]|0;HEAP32[$atlas01$byval_copy122+4>>2]=HEAP32[25512+4>>2]|0;HEAP32[$atlas01$byval_copy122+8>>2]=HEAP32[25512+8>>2]|0;HEAP32[$atlas01$byval_copy122+12>>2]=HEAP32[25512+12>>2]|0;HEAP32[$atlas01$byval_copy122+16>>2]=HEAP32[25512+16>>2]|0; + ;HEAP32[$$byval_copy123>>2]=HEAP32[$45>>2]|0;HEAP32[$$byval_copy123+4>>2]=HEAP32[$45+4>>2]|0;HEAP32[$$byval_copy123+8>>2]=HEAP32[$45+8>>2]|0;HEAP32[$$byval_copy123+12>>2]=HEAP32[$45+12>>2]|0; + ;HEAP32[$$byval_copy124>>2]=HEAP32[$46>>2]|0;HEAP32[$$byval_copy124+4>>2]=HEAP32[$46+4>>2]|0;HEAP32[$$byval_copy124+8>>2]=HEAP32[$46+8>>2]|0;HEAP32[$$byval_copy124+12>>2]=HEAP32[$46+12>>2]|0; + ;HEAP32[$$byval_copy125>>2]=HEAP32[$47>>2]|0;HEAP32[$$byval_copy125+4>>2]=HEAP32[$47+4>>2]|0; + ;HEAP8[$$byval_copy126>>0]=HEAP8[$48>>0]|0;HEAP8[$$byval_copy126+1>>0]=HEAP8[$48+1>>0]|0;HEAP8[$$byval_copy126+2>>0]=HEAP8[$48+2>>0]|0;HEAP8[$$byval_copy126+3>>0]=HEAP8[$48+3>>0]|0; + _DrawTexturePro($atlas01$byval_copy122,$$byval_copy123,$$byval_copy124,$$byval_copy125,0.0,$$byval_copy126); + $323 = HEAP32[6578]|0; + $324 = (($323|0) / 60)&-1; + $325 = $324 & 1; + $326 = ($325|0)==(0); + if (!($326)) { + $327 = (+($323|0)); + $328 = +HEAPF32[6584]; + $329 = !($327 >= $328); + if (!($329)) { + $330 = (_GetScreenWidth()|0); + $331 = (($330|0) / 2)&-1; + $332 = (+($331|0)); + $333 = +HEAPF32[6294]; + $334 = $333 * 0.5; + $335 = $332 - $334; + HEAPF32[$49>>2] = $335; + $336 = ((($49)) + 4|0); + $337 = (_GetScreenHeight()|0); + $338 = (($337|0) / 2)&-1; + $339 = (+($338|0)); + $340 = +HEAPF32[(25180)>>2]; + $341 = $340 * 2.0; + $342 = $339 + $341; + HEAPF32[$336>>2] = $342; + $343 = HEAP32[(25500)>>2]|0; + $344 = (+($343|0)); + HEAP8[$50>>0] = -9; + $345 = ((($50)) + 1|0); + HEAP8[$345>>0] = -17; + $346 = ((($50)) + 2|0); + HEAP8[$346>>0] = -47; + $347 = ((($50)) + 3|0); + HEAP8[$347>>0] = -1; + ;HEAP32[$$byval_copy124>>2]=HEAP32[25480>>2]|0;HEAP32[$$byval_copy124+4>>2]=HEAP32[25480+4>>2]|0;HEAP32[$$byval_copy124+8>>2]=HEAP32[25480+8>>2]|0;HEAP32[$$byval_copy124+12>>2]=HEAP32[25480+12>>2]|0;HEAP32[$$byval_copy124+16>>2]=HEAP32[25480+16>>2]|0;HEAP32[$$byval_copy124+20>>2]=HEAP32[25480+20>>2]|0;HEAP32[$$byval_copy124+24>>2]=HEAP32[25480+24>>2]|0;HEAP32[$$byval_copy124+28>>2]=HEAP32[25480+28>>2]|0; + ;HEAP32[$$byval_copy125>>2]=HEAP32[$49>>2]|0;HEAP32[$$byval_copy125+4>>2]=HEAP32[$49+4>>2]|0; + ;HEAP8[$$byval_copy126>>0]=HEAP8[$50>>0]|0;HEAP8[$$byval_copy126+1>>0]=HEAP8[$50+1>>0]|0;HEAP8[$$byval_copy126+2>>0]=HEAP8[$50+2>>0]|0;HEAP8[$$byval_copy126+3>>0]=HEAP8[$50+3>>0]|0; + _DrawTextEx($$byval_copy124,6477,$$byval_copy125,$344,2,$$byval_copy126); + } + } + $348 = ((($67)) + 4|0); + $349 = ((($67)) + 8|0); + $350 = ((($67)) + 12|0); + $351 = ((($68)) + 4|0); + $352 = ((($68)) + 8|0); + $353 = ((($68)) + 12|0); + $354 = ((($69)) + 4|0); + $355 = ((($63)) + 4|0); + $356 = ((($63)) + 8|0); + $357 = ((($63)) + 12|0); + $358 = ((($64)) + 4|0); + $359 = ((($64)) + 8|0); + $360 = ((($64)) + 12|0); + $361 = ((($65)) + 4|0); + $362 = ((($59)) + 4|0); + $363 = ((($59)) + 8|0); + $364 = ((($59)) + 12|0); + $365 = ((($60)) + 4|0); + $366 = ((($60)) + 8|0); + $367 = ((($60)) + 12|0); + $368 = ((($61)) + 4|0); + $369 = ((($55)) + 4|0); + $370 = ((($55)) + 8|0); + $371 = ((($55)) + 12|0); + $372 = ((($56)) + 4|0); + $373 = ((($56)) + 8|0); + $374 = ((($56)) + 12|0); + $375 = ((($57)) + 4|0); + $376 = ((($51)) + 4|0); + $377 = ((($51)) + 8|0); + $378 = ((($51)) + 12|0); + $379 = ((($52)) + 4|0); + $380 = ((($52)) + 8|0); + $381 = ((($52)) + 12|0); + $382 = ((($53)) + 4|0); + $$0441452 = 0; + while(1) { + $390 = (((26368 + (($$0441452*40)|0)|0)) + 36|0); + $391 = HEAP32[$390>>2]|0; + $392 = ($391|0)==(0); + if (!($392)) { + HEAP32[$51>>2] = 419; + HEAP32[$376>>2] = 1839; + HEAP32[$377>>2] = 32; + HEAP32[$378>>2] = 32; + $393 = (26368 + (($$0441452*40)|0)|0); + $394 = +HEAPF32[$393>>2]; + $395 = (~~(($394))); + HEAP32[$52>>2] = $395; + $396 = (((26368 + (($$0441452*40)|0)|0)) + 4|0); + $397 = +HEAPF32[$396>>2]; + $398 = (~~(($397))); + HEAP32[$379>>2] = $398; + $399 = (((26368 + (($$0441452*40)|0)|0)) + 20|0); + $400 = +HEAPF32[$399>>2]; + $401 = $400 * 32.0; + $402 = (~~(($401))); + HEAP32[$380>>2] = $402; + HEAP32[$381>>2] = $402; + $403 = $401 * 0.5; + HEAPF32[$53>>2] = $403; + HEAPF32[$382>>2] = $403; + $404 = (((26368 + (($$0441452*40)|0)|0)) + 16|0); + $405 = +HEAPF32[$404>>2]; + $406 = (((26368 + (($$0441452*40)|0)|0)) + 24|0); + $407 = (((26368 + (($$0441452*40)|0)|0)) + 28|0); + $408 = +HEAPF32[$407>>2]; + ;HEAP8[$$byval_copy126>>0]=HEAP8[$406>>0]|0;HEAP8[$$byval_copy126+1>>0]=HEAP8[$406+1>>0]|0;HEAP8[$$byval_copy126+2>>0]=HEAP8[$406+2>>0]|0;HEAP8[$$byval_copy126+3>>0]=HEAP8[$406+3>>0]|0; + _Fade($54,$$byval_copy126,$408); + ;HEAP32[$atlas01$byval_copy122>>2]=HEAP32[25512>>2]|0;HEAP32[$atlas01$byval_copy122+4>>2]=HEAP32[25512+4>>2]|0;HEAP32[$atlas01$byval_copy122+8>>2]=HEAP32[25512+8>>2]|0;HEAP32[$atlas01$byval_copy122+12>>2]=HEAP32[25512+12>>2]|0;HEAP32[$atlas01$byval_copy122+16>>2]=HEAP32[25512+16>>2]|0; + ;HEAP32[$$byval_copy123>>2]=HEAP32[$51>>2]|0;HEAP32[$$byval_copy123+4>>2]=HEAP32[$51+4>>2]|0;HEAP32[$$byval_copy123+8>>2]=HEAP32[$51+8>>2]|0;HEAP32[$$byval_copy123+12>>2]=HEAP32[$51+12>>2]|0; + ;HEAP32[$$byval_copy124>>2]=HEAP32[$52>>2]|0;HEAP32[$$byval_copy124+4>>2]=HEAP32[$52+4>>2]|0;HEAP32[$$byval_copy124+8>>2]=HEAP32[$52+8>>2]|0;HEAP32[$$byval_copy124+12>>2]=HEAP32[$52+12>>2]|0; + ;HEAP32[$$byval_copy125>>2]=HEAP32[$53>>2]|0;HEAP32[$$byval_copy125+4>>2]=HEAP32[$53+4>>2]|0; + ;HEAP8[$$byval_copy126>>0]=HEAP8[$54>>0]|0;HEAP8[$$byval_copy126+1>>0]=HEAP8[$54+1>>0]|0;HEAP8[$$byval_copy126+2>>0]=HEAP8[$54+2>>0]|0;HEAP8[$$byval_copy126+3>>0]=HEAP8[$54+3>>0]|0; + _DrawTexturePro($atlas01$byval_copy122,$$byval_copy123,$$byval_copy124,$$byval_copy125,$405,$$byval_copy126); + } + $409 = (((31512 + (($$0441452*40)|0)|0)) + 36|0); + $410 = HEAP32[$409>>2]|0; + $411 = ($410|0)==(0); + if (!($411)) { + HEAP32[$55>>2] = 453; + HEAP32[$369>>2] = 1839; + HEAP32[$370>>2] = 32; + HEAP32[$371>>2] = 32; + $412 = (31512 + (($$0441452*40)|0)|0); + $413 = +HEAPF32[$412>>2]; + $414 = (~~(($413))); + HEAP32[$56>>2] = $414; + $415 = (((31512 + (($$0441452*40)|0)|0)) + 4|0); + $416 = +HEAPF32[$415>>2]; + $417 = (~~(($416))); + HEAP32[$372>>2] = $417; + $418 = (((31512 + (($$0441452*40)|0)|0)) + 20|0); + $419 = +HEAPF32[$418>>2]; + $420 = $419 * 32.0; + $421 = (~~(($420))); + HEAP32[$373>>2] = $421; + HEAP32[$374>>2] = $421; + $422 = $420 * 0.5; + HEAPF32[$57>>2] = $422; + HEAPF32[$375>>2] = $422; + $423 = (((31512 + (($$0441452*40)|0)|0)) + 16|0); + $424 = +HEAPF32[$423>>2]; + $425 = (((31512 + (($$0441452*40)|0)|0)) + 24|0); + $426 = (((31512 + (($$0441452*40)|0)|0)) + 28|0); + $427 = +HEAPF32[$426>>2]; + ;HEAP8[$$byval_copy126>>0]=HEAP8[$425>>0]|0;HEAP8[$$byval_copy126+1>>0]=HEAP8[$425+1>>0]|0;HEAP8[$$byval_copy126+2>>0]=HEAP8[$425+2>>0]|0;HEAP8[$$byval_copy126+3>>0]=HEAP8[$425+3>>0]|0; + _Fade($58,$$byval_copy126,$427); + ;HEAP32[$atlas01$byval_copy122>>2]=HEAP32[25512>>2]|0;HEAP32[$atlas01$byval_copy122+4>>2]=HEAP32[25512+4>>2]|0;HEAP32[$atlas01$byval_copy122+8>>2]=HEAP32[25512+8>>2]|0;HEAP32[$atlas01$byval_copy122+12>>2]=HEAP32[25512+12>>2]|0;HEAP32[$atlas01$byval_copy122+16>>2]=HEAP32[25512+16>>2]|0; + ;HEAP32[$$byval_copy123>>2]=HEAP32[$55>>2]|0;HEAP32[$$byval_copy123+4>>2]=HEAP32[$55+4>>2]|0;HEAP32[$$byval_copy123+8>>2]=HEAP32[$55+8>>2]|0;HEAP32[$$byval_copy123+12>>2]=HEAP32[$55+12>>2]|0; + ;HEAP32[$$byval_copy124>>2]=HEAP32[$56>>2]|0;HEAP32[$$byval_copy124+4>>2]=HEAP32[$56+4>>2]|0;HEAP32[$$byval_copy124+8>>2]=HEAP32[$56+8>>2]|0;HEAP32[$$byval_copy124+12>>2]=HEAP32[$56+12>>2]|0; + ;HEAP32[$$byval_copy125>>2]=HEAP32[$57>>2]|0;HEAP32[$$byval_copy125+4>>2]=HEAP32[$57+4>>2]|0; + ;HEAP8[$$byval_copy126>>0]=HEAP8[$58>>0]|0;HEAP8[$$byval_copy126+1>>0]=HEAP8[$58+1>>0]|0;HEAP8[$$byval_copy126+2>>0]=HEAP8[$58+2>>0]|0;HEAP8[$$byval_copy126+3>>0]=HEAP8[$58+3>>0]|0; + _DrawTexturePro($atlas01$byval_copy122,$$byval_copy123,$$byval_copy124,$$byval_copy125,$424,$$byval_copy126); + } + $428 = (((36652 + (($$0441452*40)|0)|0)) + 36|0); + $429 = HEAP32[$428>>2]|0; + $430 = ($429|0)==(0); + if (!($430)) { + HEAP32[$59>>2] = 354; + HEAP32[$362>>2] = 2006; + HEAP32[$363>>2] = 32; + HEAP32[$364>>2] = 32; + $431 = (36652 + (($$0441452*40)|0)|0); + $432 = +HEAPF32[$431>>2]; + $433 = (~~(($432))); + HEAP32[$60>>2] = $433; + $434 = (((36652 + (($$0441452*40)|0)|0)) + 4|0); + $435 = +HEAPF32[$434>>2]; + $436 = (~~(($435))); + HEAP32[$365>>2] = $436; + $437 = (((36652 + (($$0441452*40)|0)|0)) + 20|0); + $438 = +HEAPF32[$437>>2]; + $439 = $438 * 32.0; + $440 = (~~(($439))); + HEAP32[$366>>2] = $440; + HEAP32[$367>>2] = $440; + $441 = $439 * 0.5; + HEAPF32[$61>>2] = $441; + HEAPF32[$368>>2] = $441; + $442 = (((36652 + (($$0441452*40)|0)|0)) + 16|0); + $443 = +HEAPF32[$442>>2]; + $444 = (((36652 + (($$0441452*40)|0)|0)) + 24|0); + $445 = (((36652 + (($$0441452*40)|0)|0)) + 28|0); + $446 = +HEAPF32[$445>>2]; + ;HEAP8[$$byval_copy126>>0]=HEAP8[$444>>0]|0;HEAP8[$$byval_copy126+1>>0]=HEAP8[$444+1>>0]|0;HEAP8[$$byval_copy126+2>>0]=HEAP8[$444+2>>0]|0;HEAP8[$$byval_copy126+3>>0]=HEAP8[$444+3>>0]|0; + _Fade($62,$$byval_copy126,$446); + ;HEAP32[$atlas01$byval_copy122>>2]=HEAP32[25512>>2]|0;HEAP32[$atlas01$byval_copy122+4>>2]=HEAP32[25512+4>>2]|0;HEAP32[$atlas01$byval_copy122+8>>2]=HEAP32[25512+8>>2]|0;HEAP32[$atlas01$byval_copy122+12>>2]=HEAP32[25512+12>>2]|0;HEAP32[$atlas01$byval_copy122+16>>2]=HEAP32[25512+16>>2]|0; + ;HEAP32[$$byval_copy123>>2]=HEAP32[$59>>2]|0;HEAP32[$$byval_copy123+4>>2]=HEAP32[$59+4>>2]|0;HEAP32[$$byval_copy123+8>>2]=HEAP32[$59+8>>2]|0;HEAP32[$$byval_copy123+12>>2]=HEAP32[$59+12>>2]|0; + ;HEAP32[$$byval_copy124>>2]=HEAP32[$60>>2]|0;HEAP32[$$byval_copy124+4>>2]=HEAP32[$60+4>>2]|0;HEAP32[$$byval_copy124+8>>2]=HEAP32[$60+8>>2]|0;HEAP32[$$byval_copy124+12>>2]=HEAP32[$60+12>>2]|0; + ;HEAP32[$$byval_copy125>>2]=HEAP32[$61>>2]|0;HEAP32[$$byval_copy125+4>>2]=HEAP32[$61+4>>2]|0; + ;HEAP8[$$byval_copy126>>0]=HEAP8[$62>>0]|0;HEAP8[$$byval_copy126+1>>0]=HEAP8[$62+1>>0]|0;HEAP8[$$byval_copy126+2>>0]=HEAP8[$62+2>>0]|0;HEAP8[$$byval_copy126+3>>0]=HEAP8[$62+3>>0]|0; + _DrawTexturePro($atlas01$byval_copy122,$$byval_copy123,$$byval_copy124,$$byval_copy125,$443,$$byval_copy126); + } + $447 = (((41792 + (($$0441452*40)|0)|0)) + 36|0); + $448 = HEAP32[$447>>2]|0; + $449 = ($448|0)==(0); + if (!($449)) { + HEAP32[$63>>2] = 1989; + HEAP32[$355>>2] = 166; + HEAP32[$356>>2] = 32; + HEAP32[$357>>2] = 32; + $450 = (41792 + (($$0441452*40)|0)|0); + $451 = +HEAPF32[$450>>2]; + $452 = (~~(($451))); + HEAP32[$64>>2] = $452; + $453 = (((41792 + (($$0441452*40)|0)|0)) + 4|0); + $454 = +HEAPF32[$453>>2]; + $455 = (~~(($454))); + HEAP32[$358>>2] = $455; + $456 = (((41792 + (($$0441452*40)|0)|0)) + 20|0); + $457 = +HEAPF32[$456>>2]; + $458 = $457 * 32.0; + $459 = (~~(($458))); + HEAP32[$359>>2] = $459; + HEAP32[$360>>2] = $459; + $460 = $458 * 0.5; + HEAPF32[$65>>2] = $460; + HEAPF32[$361>>2] = $460; + $461 = (((41792 + (($$0441452*40)|0)|0)) + 16|0); + $462 = +HEAPF32[$461>>2]; + $463 = (((41792 + (($$0441452*40)|0)|0)) + 24|0); + $464 = (((41792 + (($$0441452*40)|0)|0)) + 28|0); + $465 = +HEAPF32[$464>>2]; + ;HEAP8[$$byval_copy126>>0]=HEAP8[$463>>0]|0;HEAP8[$$byval_copy126+1>>0]=HEAP8[$463+1>>0]|0;HEAP8[$$byval_copy126+2>>0]=HEAP8[$463+2>>0]|0;HEAP8[$$byval_copy126+3>>0]=HEAP8[$463+3>>0]|0; + _Fade($66,$$byval_copy126,$465); + ;HEAP32[$atlas01$byval_copy122>>2]=HEAP32[25512>>2]|0;HEAP32[$atlas01$byval_copy122+4>>2]=HEAP32[25512+4>>2]|0;HEAP32[$atlas01$byval_copy122+8>>2]=HEAP32[25512+8>>2]|0;HEAP32[$atlas01$byval_copy122+12>>2]=HEAP32[25512+12>>2]|0;HEAP32[$atlas01$byval_copy122+16>>2]=HEAP32[25512+16>>2]|0; + ;HEAP32[$$byval_copy123>>2]=HEAP32[$63>>2]|0;HEAP32[$$byval_copy123+4>>2]=HEAP32[$63+4>>2]|0;HEAP32[$$byval_copy123+8>>2]=HEAP32[$63+8>>2]|0;HEAP32[$$byval_copy123+12>>2]=HEAP32[$63+12>>2]|0; + ;HEAP32[$$byval_copy124>>2]=HEAP32[$64>>2]|0;HEAP32[$$byval_copy124+4>>2]=HEAP32[$64+4>>2]|0;HEAP32[$$byval_copy124+8>>2]=HEAP32[$64+8>>2]|0;HEAP32[$$byval_copy124+12>>2]=HEAP32[$64+12>>2]|0; + ;HEAP32[$$byval_copy125>>2]=HEAP32[$65>>2]|0;HEAP32[$$byval_copy125+4>>2]=HEAP32[$65+4>>2]|0; + ;HEAP8[$$byval_copy126>>0]=HEAP8[$66>>0]|0;HEAP8[$$byval_copy126+1>>0]=HEAP8[$66+1>>0]|0;HEAP8[$$byval_copy126+2>>0]=HEAP8[$66+2>>0]|0;HEAP8[$$byval_copy126+3>>0]=HEAP8[$66+3>>0]|0; + _DrawTexturePro($atlas01$byval_copy122,$$byval_copy123,$$byval_copy124,$$byval_copy125,$462,$$byval_copy126); + } + $466 = (((150112 + (($$0441452*40)|0)|0)) + 36|0); + $467 = HEAP32[$466>>2]|0; + $468 = ($467|0)==(0); + if (!($468)) { + HEAP32[$67>>2] = 487; + HEAP32[$348>>2] = 1839; + HEAP32[$349>>2] = 32; + HEAP32[$350>>2] = 32; + $469 = (150112 + (($$0441452*40)|0)|0); + $470 = +HEAPF32[$469>>2]; + $471 = (~~(($470))); + HEAP32[$68>>2] = $471; + $472 = (((150112 + (($$0441452*40)|0)|0)) + 4|0); + $473 = +HEAPF32[$472>>2]; + $474 = (~~(($473))); + HEAP32[$351>>2] = $474; + $475 = (((150112 + (($$0441452*40)|0)|0)) + 20|0); + $476 = +HEAPF32[$475>>2]; + $477 = $476 * 32.0; + $478 = (~~(($477))); + HEAP32[$352>>2] = $478; + HEAP32[$353>>2] = $478; + $479 = $477 * 0.5; + HEAPF32[$69>>2] = $479; + HEAPF32[$354>>2] = $479; + $480 = (((150112 + (($$0441452*40)|0)|0)) + 16|0); + $481 = +HEAPF32[$480>>2]; + $482 = (((150112 + (($$0441452*40)|0)|0)) + 24|0); + $483 = (((150112 + (($$0441452*40)|0)|0)) + 28|0); + $484 = +HEAPF32[$483>>2]; + ;HEAP8[$$byval_copy126>>0]=HEAP8[$482>>0]|0;HEAP8[$$byval_copy126+1>>0]=HEAP8[$482+1>>0]|0;HEAP8[$$byval_copy126+2>>0]=HEAP8[$482+2>>0]|0;HEAP8[$$byval_copy126+3>>0]=HEAP8[$482+3>>0]|0; + _Fade($70,$$byval_copy126,$484); + ;HEAP32[$atlas01$byval_copy122>>2]=HEAP32[25512>>2]|0;HEAP32[$atlas01$byval_copy122+4>>2]=HEAP32[25512+4>>2]|0;HEAP32[$atlas01$byval_copy122+8>>2]=HEAP32[25512+8>>2]|0;HEAP32[$atlas01$byval_copy122+12>>2]=HEAP32[25512+12>>2]|0;HEAP32[$atlas01$byval_copy122+16>>2]=HEAP32[25512+16>>2]|0; + ;HEAP32[$$byval_copy123>>2]=HEAP32[$67>>2]|0;HEAP32[$$byval_copy123+4>>2]=HEAP32[$67+4>>2]|0;HEAP32[$$byval_copy123+8>>2]=HEAP32[$67+8>>2]|0;HEAP32[$$byval_copy123+12>>2]=HEAP32[$67+12>>2]|0; + ;HEAP32[$$byval_copy124>>2]=HEAP32[$68>>2]|0;HEAP32[$$byval_copy124+4>>2]=HEAP32[$68+4>>2]|0;HEAP32[$$byval_copy124+8>>2]=HEAP32[$68+8>>2]|0;HEAP32[$$byval_copy124+12>>2]=HEAP32[$68+12>>2]|0; + ;HEAP32[$$byval_copy125>>2]=HEAP32[$69>>2]|0;HEAP32[$$byval_copy125+4>>2]=HEAP32[$69+4>>2]|0; + ;HEAP8[$$byval_copy126>>0]=HEAP8[$70>>0]|0;HEAP8[$$byval_copy126+1>>0]=HEAP8[$70+1>>0]|0;HEAP8[$$byval_copy126+2>>0]=HEAP8[$70+2>>0]|0;HEAP8[$$byval_copy126+3>>0]=HEAP8[$70+3>>0]|0; + _DrawTexturePro($atlas01$byval_copy122,$$byval_copy123,$$byval_copy124,$$byval_copy125,$481,$$byval_copy126); + } + $485 = (($$0441452) + 1)|0; + $exitcond458 = ($485|0)==(128); + if ($exitcond458) { + break; + } else { + $$0441452 = $485; + } + } + $383 = ((($71)) + 4|0); + $384 = ((($71)) + 8|0); + $385 = ((($71)) + 12|0); + $386 = ((($72)) + 4|0); + $387 = ((($72)) + 8|0); + $388 = ((($72)) + 12|0); + $389 = ((($73)) + 4|0); + $$0442451 = 0; + while(1) { + $493 = (((47672 + (($$0442451*40)|0)|0)) + 36|0); + $494 = HEAP32[$493>>2]|0; + $495 = ($494|0)==(0); + if (!($495)) { + HEAP32[$71>>2] = 487; + HEAP32[$383>>2] = 1839; + HEAP32[$384>>2] = 32; + HEAP32[$385>>2] = 32; + $496 = (47672 + (($$0442451*40)|0)|0); + $497 = +HEAPF32[$496>>2]; + $498 = (~~(($497))); + HEAP32[$72>>2] = $498; + $499 = (((47672 + (($$0442451*40)|0)|0)) + 4|0); + $500 = +HEAPF32[$499>>2]; + $501 = (~~(($500))); + HEAP32[$386>>2] = $501; + $502 = (((47672 + (($$0442451*40)|0)|0)) + 20|0); + $503 = +HEAPF32[$502>>2]; + $504 = $503 * 32.0; + $505 = (~~(($504))); + HEAP32[$387>>2] = $505; + HEAP32[$388>>2] = $505; + $506 = $504 * 0.5; + HEAPF32[$73>>2] = $506; + HEAPF32[$389>>2] = $506; + $507 = (((47672 + (($$0442451*40)|0)|0)) + 16|0); + $508 = +HEAPF32[$507>>2]; + $509 = (((47672 + (($$0442451*40)|0)|0)) + 24|0); + $510 = (((47672 + (($$0442451*40)|0)|0)) + 28|0); + $511 = +HEAPF32[$510>>2]; + ;HEAP8[$$byval_copy126>>0]=HEAP8[$509>>0]|0;HEAP8[$$byval_copy126+1>>0]=HEAP8[$509+1>>0]|0;HEAP8[$$byval_copy126+2>>0]=HEAP8[$509+2>>0]|0;HEAP8[$$byval_copy126+3>>0]=HEAP8[$509+3>>0]|0; + _Fade($74,$$byval_copy126,$511); + ;HEAP32[$atlas01$byval_copy122>>2]=HEAP32[25512>>2]|0;HEAP32[$atlas01$byval_copy122+4>>2]=HEAP32[25512+4>>2]|0;HEAP32[$atlas01$byval_copy122+8>>2]=HEAP32[25512+8>>2]|0;HEAP32[$atlas01$byval_copy122+12>>2]=HEAP32[25512+12>>2]|0;HEAP32[$atlas01$byval_copy122+16>>2]=HEAP32[25512+16>>2]|0; + ;HEAP32[$$byval_copy123>>2]=HEAP32[$71>>2]|0;HEAP32[$$byval_copy123+4>>2]=HEAP32[$71+4>>2]|0;HEAP32[$$byval_copy123+8>>2]=HEAP32[$71+8>>2]|0;HEAP32[$$byval_copy123+12>>2]=HEAP32[$71+12>>2]|0; + ;HEAP32[$$byval_copy124>>2]=HEAP32[$72>>2]|0;HEAP32[$$byval_copy124+4>>2]=HEAP32[$72+4>>2]|0;HEAP32[$$byval_copy124+8>>2]=HEAP32[$72+8>>2]|0;HEAP32[$$byval_copy124+12>>2]=HEAP32[$72+12>>2]|0; + ;HEAP32[$$byval_copy125>>2]=HEAP32[$73>>2]|0;HEAP32[$$byval_copy125+4>>2]=HEAP32[$73+4>>2]|0; + ;HEAP8[$$byval_copy126>>0]=HEAP8[$74>>0]|0;HEAP8[$$byval_copy126+1>>0]=HEAP8[$74+1>>0]|0;HEAP8[$$byval_copy126+2>>0]=HEAP8[$74+2>>0]|0;HEAP8[$$byval_copy126+3>>0]=HEAP8[$74+3>>0]|0; + _DrawTexturePro($atlas01$byval_copy122,$$byval_copy123,$$byval_copy124,$$byval_copy125,$508,$$byval_copy126); + } + $512 = (($$0442451) + 1)|0; + $exitcond457 = ($512|0)==(1024); + if ($exitcond457) { + break; + } else { + $$0442451 = $512; + } + } + $486 = ((($75)) + 4|0); + $487 = ((($75)) + 8|0); + $488 = ((($75)) + 12|0); + $489 = ((($76)) + 4|0); + $490 = ((($76)) + 8|0); + $491 = ((($76)) + 12|0); + $492 = ((($77)) + 4|0); + $$0443450 = 0; + while(1) { + $520 = (((88652 + (($$0443450*40)|0)|0)) + 36|0); + $521 = HEAP32[$520>>2]|0; + $522 = ($521|0)==(0); + if (!($522)) { + HEAP32[$75>>2] = 419; + HEAP32[$486>>2] = 1839; + HEAP32[$487>>2] = 32; + HEAP32[$488>>2] = 32; + $523 = (88652 + (($$0443450*40)|0)|0); + $524 = +HEAPF32[$523>>2]; + $525 = (~~(($524))); + HEAP32[$76>>2] = $525; + $526 = (((88652 + (($$0443450*40)|0)|0)) + 4|0); + $527 = +HEAPF32[$526>>2]; + $528 = (~~(($527))); + HEAP32[$489>>2] = $528; + $529 = (((88652 + (($$0443450*40)|0)|0)) + 20|0); + $530 = +HEAPF32[$529>>2]; + $531 = $530 * 32.0; + $532 = (~~(($531))); + HEAP32[$490>>2] = $532; + HEAP32[$491>>2] = $532; + $533 = $531 * 0.5; + HEAPF32[$77>>2] = $533; + HEAPF32[$492>>2] = $533; + $534 = (((88652 + (($$0443450*40)|0)|0)) + 16|0); + $535 = +HEAPF32[$534>>2]; + $536 = (((88652 + (($$0443450*40)|0)|0)) + 24|0); + $537 = (((88652 + (($$0443450*40)|0)|0)) + 28|0); + $538 = +HEAPF32[$537>>2]; + ;HEAP8[$$byval_copy126>>0]=HEAP8[$536>>0]|0;HEAP8[$$byval_copy126+1>>0]=HEAP8[$536+1>>0]|0;HEAP8[$$byval_copy126+2>>0]=HEAP8[$536+2>>0]|0;HEAP8[$$byval_copy126+3>>0]=HEAP8[$536+3>>0]|0; + _Fade($78,$$byval_copy126,$538); + ;HEAP32[$atlas01$byval_copy122>>2]=HEAP32[25512>>2]|0;HEAP32[$atlas01$byval_copy122+4>>2]=HEAP32[25512+4>>2]|0;HEAP32[$atlas01$byval_copy122+8>>2]=HEAP32[25512+8>>2]|0;HEAP32[$atlas01$byval_copy122+12>>2]=HEAP32[25512+12>>2]|0;HEAP32[$atlas01$byval_copy122+16>>2]=HEAP32[25512+16>>2]|0; + ;HEAP32[$$byval_copy123>>2]=HEAP32[$75>>2]|0;HEAP32[$$byval_copy123+4>>2]=HEAP32[$75+4>>2]|0;HEAP32[$$byval_copy123+8>>2]=HEAP32[$75+8>>2]|0;HEAP32[$$byval_copy123+12>>2]=HEAP32[$75+12>>2]|0; + ;HEAP32[$$byval_copy124>>2]=HEAP32[$76>>2]|0;HEAP32[$$byval_copy124+4>>2]=HEAP32[$76+4>>2]|0;HEAP32[$$byval_copy124+8>>2]=HEAP32[$76+8>>2]|0;HEAP32[$$byval_copy124+12>>2]=HEAP32[$76+12>>2]|0; + ;HEAP32[$$byval_copy125>>2]=HEAP32[$77>>2]|0;HEAP32[$$byval_copy125+4>>2]=HEAP32[$77+4>>2]|0; + ;HEAP8[$$byval_copy126>>0]=HEAP8[$78>>0]|0;HEAP8[$$byval_copy126+1>>0]=HEAP8[$78+1>>0]|0;HEAP8[$$byval_copy126+2>>0]=HEAP8[$78+2>>0]|0;HEAP8[$$byval_copy126+3>>0]=HEAP8[$78+3>>0]|0; + _DrawTexturePro($atlas01$byval_copy122,$$byval_copy123,$$byval_copy124,$$byval_copy125,$535,$$byval_copy126); + } + $539 = (($$0443450) + 1)|0; + $exitcond456 = ($539|0)==(256); + if ($exitcond456) { + break; + } else { + $$0443450 = $539; + } + } + $513 = ((($79)) + 4|0); + $514 = ((($79)) + 8|0); + $515 = ((($79)) + 12|0); + $516 = ((($80)) + 4|0); + $517 = ((($80)) + 8|0); + $518 = ((($80)) + 12|0); + $519 = ((($81)) + 4|0); + $$0444449 = 0; + while(1) { + $540 = (((46932 + (($$0444449*36)|0)|0)) + 24|0); + $541 = HEAP32[$540>>2]|0; + $542 = ($541|0)==(0); + if (!($542)) { + HEAP32[$79>>2] = 2; + HEAP32[$513>>2] = 1028; + HEAP32[$514>>2] = 54; + HEAP32[$515>>2] = 710; + $543 = (46932 + (($$0444449*36)|0)|0); + $544 = +HEAPF32[$543>>2]; + $545 = (~~(($544))); + HEAP32[$80>>2] = $545; + $546 = (((46932 + (($$0444449*36)|0)|0)) + 4|0); + $547 = +HEAPF32[$546>>2]; + $548 = (~~(($547))); + HEAP32[$516>>2] = $548; + $549 = (((46932 + (($$0444449*36)|0)|0)) + 16|0); + $550 = +HEAPF32[$549>>2]; + $551 = $550 * 54.0; + $552 = (~~(($551))); + HEAP32[$517>>2] = $552; + $553 = $550 * 710.0; + $554 = (~~(($553))); + HEAP32[$518>>2] = $554; + $555 = $551 * 0.5; + HEAPF32[$81>>2] = $555; + $556 = $553 * 0.5; + HEAPF32[$519>>2] = $556; + $557 = (((46932 + (($$0444449*36)|0)|0)) + 20|0); + $558 = +HEAPF32[$557>>2]; + $559 = (((46932 + (($$0444449*36)|0)|0)) + 8|0); + $560 = (((46932 + (($$0444449*36)|0)|0)) + 12|0); + $561 = +HEAPF32[$560>>2]; + ;HEAP8[$$byval_copy126>>0]=HEAP8[$559>>0]|0;HEAP8[$$byval_copy126+1>>0]=HEAP8[$559+1>>0]|0;HEAP8[$$byval_copy126+2>>0]=HEAP8[$559+2>>0]|0;HEAP8[$$byval_copy126+3>>0]=HEAP8[$559+3>>0]|0; + _Fade($82,$$byval_copy126,$561); + ;HEAP32[$atlas01$byval_copy122>>2]=HEAP32[25512>>2]|0;HEAP32[$atlas01$byval_copy122+4>>2]=HEAP32[25512+4>>2]|0;HEAP32[$atlas01$byval_copy122+8>>2]=HEAP32[25512+8>>2]|0;HEAP32[$atlas01$byval_copy122+12>>2]=HEAP32[25512+12>>2]|0;HEAP32[$atlas01$byval_copy122+16>>2]=HEAP32[25512+16>>2]|0; + ;HEAP32[$$byval_copy123>>2]=HEAP32[$79>>2]|0;HEAP32[$$byval_copy123+4>>2]=HEAP32[$79+4>>2]|0;HEAP32[$$byval_copy123+8>>2]=HEAP32[$79+8>>2]|0;HEAP32[$$byval_copy123+12>>2]=HEAP32[$79+12>>2]|0; + ;HEAP32[$$byval_copy124>>2]=HEAP32[$80>>2]|0;HEAP32[$$byval_copy124+4>>2]=HEAP32[$80+4>>2]|0;HEAP32[$$byval_copy124+8>>2]=HEAP32[$80+8>>2]|0;HEAP32[$$byval_copy124+12>>2]=HEAP32[$80+12>>2]|0; + ;HEAP32[$$byval_copy125>>2]=HEAP32[$81>>2]|0;HEAP32[$$byval_copy125+4>>2]=HEAP32[$81+4>>2]|0; + ;HEAP8[$$byval_copy126>>0]=HEAP8[$82>>0]|0;HEAP8[$$byval_copy126+1>>0]=HEAP8[$82+1>>0]|0;HEAP8[$$byval_copy126+2>>0]=HEAP8[$82+2>>0]|0;HEAP8[$$byval_copy126+3>>0]=HEAP8[$82+3>>0]|0; + _DrawTexturePro($atlas01$byval_copy122,$$byval_copy123,$$byval_copy124,$$byval_copy125,$558,$$byval_copy126); + } + $562 = (($$0444449) + 1)|0; + $exitcond = ($562|0)==(20); + if ($exitcond) { + break; + } else { + $$0444449 = $562; + } + } + STACKTOP = sp;return; +} +function _DrawParallaxBack() { + var $$byval_copy43 = 0, $$byval_copy44 = 0, $$byval_copy45 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0; + var $113 = 0, $114 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0; + var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0; + var $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $atlas02$byval_copy42 = 0, $color01$byval_copy46 = 0; + var label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 480|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(480|0); + $color01$byval_copy46 = sp + 464|0; + $$byval_copy45 = sp + 456|0; + $$byval_copy44 = sp + 440|0; + $$byval_copy43 = sp + 424|0; + $atlas02$byval_copy42 = sp + 400|0; + $0 = sp + 384|0; + $1 = sp + 368|0; + $2 = sp + 360|0; + $3 = sp + 344|0; + $4 = sp + 328|0; + $5 = sp + 320|0; + $6 = sp + 304|0; + $7 = sp + 288|0; + $8 = sp + 280|0; + $9 = sp + 264|0; + $10 = sp + 248|0; + $11 = sp + 240|0; + $12 = sp + 224|0; + $13 = sp + 208|0; + $14 = sp + 200|0; + $15 = sp + 184|0; + $16 = sp + 168|0; + $17 = sp + 160|0; + $18 = sp + 144|0; + $19 = sp + 128|0; + $20 = sp + 120|0; + $21 = sp + 104|0; + $22 = sp + 88|0; + $23 = sp + 80|0; + $24 = sp + 64|0; + $25 = sp + 48|0; + $26 = sp + 40|0; + $27 = sp + 24|0; + $28 = sp + 8|0; + $29 = sp; + HEAP32[$0>>2] = 660; + $30 = ((($0)) + 4|0); + HEAP32[$30>>2] = 315; + $31 = ((($0)) + 8|0); + HEAP32[$31>>2] = 28; + $32 = ((($0)) + 12|0); + HEAP32[$32>>2] = 335; + $33 = HEAP32[6585]|0; + HEAP32[$1>>2] = $33; + $34 = ((($1)) + 4|0); + HEAP32[$34>>2] = 67; + $35 = ((($1)) + 8|0); + HEAP32[$35>>2] = 56; + $36 = ((($1)) + 12|0); + HEAP32[$36>>2] = 670; + HEAPF32[$2>>2] = 0.0; + $37 = ((($2)) + 4|0); + HEAPF32[$37>>2] = 0.0; + ;HEAP32[$atlas02$byval_copy42>>2]=HEAP32[25532>>2]|0;HEAP32[$atlas02$byval_copy42+4>>2]=HEAP32[25532+4>>2]|0;HEAP32[$atlas02$byval_copy42+8>>2]=HEAP32[25532+8>>2]|0;HEAP32[$atlas02$byval_copy42+12>>2]=HEAP32[25532+12>>2]|0;HEAP32[$atlas02$byval_copy42+16>>2]=HEAP32[25532+16>>2]|0; + ;HEAP32[$$byval_copy43>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy43+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy43+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy43+12>>2]=HEAP32[$0+12>>2]|0; + ;HEAP32[$$byval_copy44>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy44+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$$byval_copy44+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[$$byval_copy44+12>>2]=HEAP32[$1+12>>2]|0; + ;HEAP32[$$byval_copy45>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy45+4>>2]=HEAP32[$2+4>>2]|0; + ;HEAP8[$color01$byval_copy46>>0]=HEAP8[339112>>0]|0;HEAP8[$color01$byval_copy46+1>>0]=HEAP8[339112+1>>0]|0;HEAP8[$color01$byval_copy46+2>>0]=HEAP8[339112+2>>0]|0;HEAP8[$color01$byval_copy46+3>>0]=HEAP8[339112+3>>0]|0; + _DrawTexturePro($atlas02$byval_copy42,$$byval_copy43,$$byval_copy44,$$byval_copy45,0.0,$color01$byval_copy46); + HEAP32[$3>>2] = 746; + $38 = ((($3)) + 4|0); + HEAP32[$38>>2] = 315; + $39 = ((($3)) + 8|0); + HEAP32[$39>>2] = 26; + $40 = ((($3)) + 12|0); + HEAP32[$40>>2] = 332; + $41 = HEAP32[6585]|0; + $42 = (($41) + 140)|0; + HEAP32[$4>>2] = $42; + $43 = ((($4)) + 4|0); + HEAP32[$43>>2] = 67; + $44 = ((($4)) + 8|0); + HEAP32[$44>>2] = 52; + $45 = ((($4)) + 12|0); + HEAP32[$45>>2] = 664; + HEAPF32[$5>>2] = 0.0; + $46 = ((($5)) + 4|0); + HEAPF32[$46>>2] = 0.0; + ;HEAP32[$atlas02$byval_copy42>>2]=HEAP32[25532>>2]|0;HEAP32[$atlas02$byval_copy42+4>>2]=HEAP32[25532+4>>2]|0;HEAP32[$atlas02$byval_copy42+8>>2]=HEAP32[25532+8>>2]|0;HEAP32[$atlas02$byval_copy42+12>>2]=HEAP32[25532+12>>2]|0;HEAP32[$atlas02$byval_copy42+16>>2]=HEAP32[25532+16>>2]|0; + ;HEAP32[$$byval_copy43>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy43+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$$byval_copy43+8>>2]=HEAP32[$3+8>>2]|0;HEAP32[$$byval_copy43+12>>2]=HEAP32[$3+12>>2]|0; + ;HEAP32[$$byval_copy44>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy44+4>>2]=HEAP32[$4+4>>2]|0;HEAP32[$$byval_copy44+8>>2]=HEAP32[$4+8>>2]|0;HEAP32[$$byval_copy44+12>>2]=HEAP32[$4+12>>2]|0; + ;HEAP32[$$byval_copy45>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy45+4>>2]=HEAP32[$5+4>>2]|0; + ;HEAP8[$color01$byval_copy46>>0]=HEAP8[339112>>0]|0;HEAP8[$color01$byval_copy46+1>>0]=HEAP8[339112+1>>0]|0;HEAP8[$color01$byval_copy46+2>>0]=HEAP8[339112+2>>0]|0;HEAP8[$color01$byval_copy46+3>>0]=HEAP8[339112+3>>0]|0; + _DrawTexturePro($atlas02$byval_copy42,$$byval_copy43,$$byval_copy44,$$byval_copy45,0.0,$color01$byval_copy46); + HEAP32[$6>>2] = 791; + $47 = ((($6)) + 4|0); + HEAP32[$47>>2] = 315; + $48 = ((($6)) + 8|0); + HEAP32[$48>>2] = 15; + $49 = ((($6)) + 12|0); + HEAP32[$49>>2] = 329; + $50 = HEAP32[6585]|0; + $51 = (($50) + 280)|0; + HEAP32[$7>>2] = $51; + $52 = ((($7)) + 4|0); + HEAP32[$52>>2] = 67; + $53 = ((($7)) + 8|0); + HEAP32[$53>>2] = 30; + $54 = ((($7)) + 12|0); + HEAP32[$54>>2] = 658; + HEAPF32[$8>>2] = 0.0; + $55 = ((($8)) + 4|0); + HEAPF32[$55>>2] = 0.0; + ;HEAP32[$atlas02$byval_copy42>>2]=HEAP32[25532>>2]|0;HEAP32[$atlas02$byval_copy42+4>>2]=HEAP32[25532+4>>2]|0;HEAP32[$atlas02$byval_copy42+8>>2]=HEAP32[25532+8>>2]|0;HEAP32[$atlas02$byval_copy42+12>>2]=HEAP32[25532+12>>2]|0;HEAP32[$atlas02$byval_copy42+16>>2]=HEAP32[25532+16>>2]|0; + ;HEAP32[$$byval_copy43>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy43+4>>2]=HEAP32[$6+4>>2]|0;HEAP32[$$byval_copy43+8>>2]=HEAP32[$6+8>>2]|0;HEAP32[$$byval_copy43+12>>2]=HEAP32[$6+12>>2]|0; + ;HEAP32[$$byval_copy44>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy44+4>>2]=HEAP32[$7+4>>2]|0;HEAP32[$$byval_copy44+8>>2]=HEAP32[$7+8>>2]|0;HEAP32[$$byval_copy44+12>>2]=HEAP32[$7+12>>2]|0; + ;HEAP32[$$byval_copy45>>2]=HEAP32[$8>>2]|0;HEAP32[$$byval_copy45+4>>2]=HEAP32[$8+4>>2]|0; + ;HEAP8[$color01$byval_copy46>>0]=HEAP8[339112>>0]|0;HEAP8[$color01$byval_copy46+1>>0]=HEAP8[339112+1>>0]|0;HEAP8[$color01$byval_copy46+2>>0]=HEAP8[339112+2>>0]|0;HEAP8[$color01$byval_copy46+3>>0]=HEAP8[339112+3>>0]|0; + _DrawTexturePro($atlas02$byval_copy42,$$byval_copy43,$$byval_copy44,$$byval_copy45,0.0,$color01$byval_copy46); + HEAP32[$9>>2] = 1940; + $56 = ((($9)) + 4|0); + HEAP32[$56>>2] = 2; + $57 = ((($9)) + 8|0); + HEAP32[$57>>2] = 38; + $58 = ((($9)) + 12|0); + HEAP32[$58>>2] = 334; + $59 = HEAP32[6585]|0; + $60 = (($59) + 420)|0; + HEAP32[$10>>2] = $60; + $61 = ((($10)) + 4|0); + HEAP32[$61>>2] = 67; + $62 = ((($10)) + 8|0); + HEAP32[$62>>2] = 76; + $63 = ((($10)) + 12|0); + HEAP32[$63>>2] = 668; + HEAPF32[$11>>2] = 0.0; + $64 = ((($11)) + 4|0); + HEAPF32[$64>>2] = 0.0; + ;HEAP32[$atlas02$byval_copy42>>2]=HEAP32[25532>>2]|0;HEAP32[$atlas02$byval_copy42+4>>2]=HEAP32[25532+4>>2]|0;HEAP32[$atlas02$byval_copy42+8>>2]=HEAP32[25532+8>>2]|0;HEAP32[$atlas02$byval_copy42+12>>2]=HEAP32[25532+12>>2]|0;HEAP32[$atlas02$byval_copy42+16>>2]=HEAP32[25532+16>>2]|0; + ;HEAP32[$$byval_copy43>>2]=HEAP32[$9>>2]|0;HEAP32[$$byval_copy43+4>>2]=HEAP32[$9+4>>2]|0;HEAP32[$$byval_copy43+8>>2]=HEAP32[$9+8>>2]|0;HEAP32[$$byval_copy43+12>>2]=HEAP32[$9+12>>2]|0; + ;HEAP32[$$byval_copy44>>2]=HEAP32[$10>>2]|0;HEAP32[$$byval_copy44+4>>2]=HEAP32[$10+4>>2]|0;HEAP32[$$byval_copy44+8>>2]=HEAP32[$10+8>>2]|0;HEAP32[$$byval_copy44+12>>2]=HEAP32[$10+12>>2]|0; + ;HEAP32[$$byval_copy45>>2]=HEAP32[$11>>2]|0;HEAP32[$$byval_copy45+4>>2]=HEAP32[$11+4>>2]|0; + ;HEAP8[$color01$byval_copy46>>0]=HEAP8[339112>>0]|0;HEAP8[$color01$byval_copy46+1>>0]=HEAP8[339112+1>>0]|0;HEAP8[$color01$byval_copy46+2>>0]=HEAP8[339112+2>>0]|0;HEAP8[$color01$byval_copy46+3>>0]=HEAP8[339112+3>>0]|0; + _DrawTexturePro($atlas02$byval_copy42,$$byval_copy43,$$byval_copy44,$$byval_copy45,0.0,$color01$byval_copy46); + HEAP32[$12>>2] = 572; + $65 = ((($12)) + 4|0); + HEAP32[$65>>2] = 364; + $66 = ((($12)) + 8|0); + HEAP32[$66>>2] = 32; + $67 = ((($12)) + 12|0); + HEAP32[$67>>2] = 349; + $68 = HEAP32[6585]|0; + $69 = (($68) + 560)|0; + HEAP32[$13>>2] = $69; + $70 = ((($13)) + 4|0); + HEAP32[$70>>2] = 67; + $71 = ((($13)) + 8|0); + HEAP32[$71>>2] = 64; + $72 = ((($13)) + 12|0); + HEAP32[$72>>2] = 698; + HEAPF32[$14>>2] = 0.0; + $73 = ((($14)) + 4|0); + HEAPF32[$73>>2] = 0.0; + ;HEAP32[$atlas02$byval_copy42>>2]=HEAP32[25532>>2]|0;HEAP32[$atlas02$byval_copy42+4>>2]=HEAP32[25532+4>>2]|0;HEAP32[$atlas02$byval_copy42+8>>2]=HEAP32[25532+8>>2]|0;HEAP32[$atlas02$byval_copy42+12>>2]=HEAP32[25532+12>>2]|0;HEAP32[$atlas02$byval_copy42+16>>2]=HEAP32[25532+16>>2]|0; + ;HEAP32[$$byval_copy43>>2]=HEAP32[$12>>2]|0;HEAP32[$$byval_copy43+4>>2]=HEAP32[$12+4>>2]|0;HEAP32[$$byval_copy43+8>>2]=HEAP32[$12+8>>2]|0;HEAP32[$$byval_copy43+12>>2]=HEAP32[$12+12>>2]|0; + ;HEAP32[$$byval_copy44>>2]=HEAP32[$13>>2]|0;HEAP32[$$byval_copy44+4>>2]=HEAP32[$13+4>>2]|0;HEAP32[$$byval_copy44+8>>2]=HEAP32[$13+8>>2]|0;HEAP32[$$byval_copy44+12>>2]=HEAP32[$13+12>>2]|0; + ;HEAP32[$$byval_copy45>>2]=HEAP32[$14>>2]|0;HEAP32[$$byval_copy45+4>>2]=HEAP32[$14+4>>2]|0; + ;HEAP8[$color01$byval_copy46>>0]=HEAP8[339112>>0]|0;HEAP8[$color01$byval_copy46+1>>0]=HEAP8[339112+1>>0]|0;HEAP8[$color01$byval_copy46+2>>0]=HEAP8[339112+2>>0]|0;HEAP8[$color01$byval_copy46+3>>0]=HEAP8[339112+3>>0]|0; + _DrawTexturePro($atlas02$byval_copy42,$$byval_copy43,$$byval_copy44,$$byval_copy45,0.0,$color01$byval_copy46); + HEAP32[$15>>2] = 1863; + $74 = ((($15)) + 4|0); + HEAP32[$74>>2] = 338; + $75 = ((($15)) + 8|0); + HEAP32[$75>>2] = 31; + $76 = ((($15)) + 12|0); + HEAP32[$76>>2] = 334; + $77 = HEAP32[6585]|0; + $78 = (($77) + 700)|0; + HEAP32[$16>>2] = $78; + $79 = ((($16)) + 4|0); + HEAP32[$79>>2] = 67; + $80 = ((($16)) + 8|0); + HEAP32[$80>>2] = 62; + $81 = ((($16)) + 12|0); + HEAP32[$81>>2] = 668; + HEAPF32[$17>>2] = 0.0; + $82 = ((($17)) + 4|0); + HEAPF32[$82>>2] = 0.0; + ;HEAP32[$atlas02$byval_copy42>>2]=HEAP32[25532>>2]|0;HEAP32[$atlas02$byval_copy42+4>>2]=HEAP32[25532+4>>2]|0;HEAP32[$atlas02$byval_copy42+8>>2]=HEAP32[25532+8>>2]|0;HEAP32[$atlas02$byval_copy42+12>>2]=HEAP32[25532+12>>2]|0;HEAP32[$atlas02$byval_copy42+16>>2]=HEAP32[25532+16>>2]|0; + ;HEAP32[$$byval_copy43>>2]=HEAP32[$15>>2]|0;HEAP32[$$byval_copy43+4>>2]=HEAP32[$15+4>>2]|0;HEAP32[$$byval_copy43+8>>2]=HEAP32[$15+8>>2]|0;HEAP32[$$byval_copy43+12>>2]=HEAP32[$15+12>>2]|0; + ;HEAP32[$$byval_copy44>>2]=HEAP32[$16>>2]|0;HEAP32[$$byval_copy44+4>>2]=HEAP32[$16+4>>2]|0;HEAP32[$$byval_copy44+8>>2]=HEAP32[$16+8>>2]|0;HEAP32[$$byval_copy44+12>>2]=HEAP32[$16+12>>2]|0; + ;HEAP32[$$byval_copy45>>2]=HEAP32[$17>>2]|0;HEAP32[$$byval_copy45+4>>2]=HEAP32[$17+4>>2]|0; + ;HEAP8[$color01$byval_copy46>>0]=HEAP8[339112>>0]|0;HEAP8[$color01$byval_copy46+1>>0]=HEAP8[339112+1>>0]|0;HEAP8[$color01$byval_copy46+2>>0]=HEAP8[339112+2>>0]|0;HEAP8[$color01$byval_copy46+3>>0]=HEAP8[339112+3>>0]|0; + _DrawTexturePro($atlas02$byval_copy42,$$byval_copy43,$$byval_copy44,$$byval_copy45,0.0,$color01$byval_copy46); + HEAP32[$18>>2] = 1833; + $83 = ((($18)) + 4|0); + HEAP32[$83>>2] = 2; + $84 = ((($18)) + 8|0); + HEAP32[$84>>2] = 25; + $85 = ((($18)) + 12|0); + HEAP32[$85>>2] = 349; + $86 = HEAP32[6585]|0; + $87 = (($86) + 840)|0; + HEAP32[$19>>2] = $87; + $88 = ((($19)) + 4|0); + HEAP32[$88>>2] = 67; + $89 = ((($19)) + 8|0); + HEAP32[$89>>2] = 50; + $90 = ((($19)) + 12|0); + HEAP32[$90>>2] = 698; + HEAPF32[$20>>2] = 0.0; + $91 = ((($20)) + 4|0); + HEAPF32[$91>>2] = 0.0; + ;HEAP32[$atlas02$byval_copy42>>2]=HEAP32[25532>>2]|0;HEAP32[$atlas02$byval_copy42+4>>2]=HEAP32[25532+4>>2]|0;HEAP32[$atlas02$byval_copy42+8>>2]=HEAP32[25532+8>>2]|0;HEAP32[$atlas02$byval_copy42+12>>2]=HEAP32[25532+12>>2]|0;HEAP32[$atlas02$byval_copy42+16>>2]=HEAP32[25532+16>>2]|0; + ;HEAP32[$$byval_copy43>>2]=HEAP32[$18>>2]|0;HEAP32[$$byval_copy43+4>>2]=HEAP32[$18+4>>2]|0;HEAP32[$$byval_copy43+8>>2]=HEAP32[$18+8>>2]|0;HEAP32[$$byval_copy43+12>>2]=HEAP32[$18+12>>2]|0; + ;HEAP32[$$byval_copy44>>2]=HEAP32[$19>>2]|0;HEAP32[$$byval_copy44+4>>2]=HEAP32[$19+4>>2]|0;HEAP32[$$byval_copy44+8>>2]=HEAP32[$19+8>>2]|0;HEAP32[$$byval_copy44+12>>2]=HEAP32[$19+12>>2]|0; + ;HEAP32[$$byval_copy45>>2]=HEAP32[$20>>2]|0;HEAP32[$$byval_copy45+4>>2]=HEAP32[$20+4>>2]|0; + ;HEAP8[$color01$byval_copy46>>0]=HEAP8[339112>>0]|0;HEAP8[$color01$byval_copy46+1>>0]=HEAP8[339112+1>>0]|0;HEAP8[$color01$byval_copy46+2>>0]=HEAP8[339112+2>>0]|0;HEAP8[$color01$byval_copy46+3>>0]=HEAP8[339112+3>>0]|0; + _DrawTexturePro($atlas02$byval_copy42,$$byval_copy43,$$byval_copy44,$$byval_copy45,0.0,$color01$byval_copy46); + HEAP32[$21>>2] = 1964; + $92 = ((($21)) + 4|0); + HEAP32[$92>>2] = 338; + $93 = ((($21)) + 8|0); + HEAP32[$93>>2] = 32; + $94 = ((($21)) + 12|0); + HEAP32[$94>>2] = 331; + $95 = HEAP32[6585]|0; + $96 = (($95) + 980)|0; + HEAP32[$22>>2] = $96; + $97 = ((($22)) + 4|0); + HEAP32[$97>>2] = 67; + $98 = ((($22)) + 8|0); + HEAP32[$98>>2] = 64; + $99 = ((($22)) + 12|0); + HEAP32[$99>>2] = 662; + HEAPF32[$23>>2] = 0.0; + $100 = ((($23)) + 4|0); + HEAPF32[$100>>2] = 0.0; + ;HEAP32[$atlas02$byval_copy42>>2]=HEAP32[25532>>2]|0;HEAP32[$atlas02$byval_copy42+4>>2]=HEAP32[25532+4>>2]|0;HEAP32[$atlas02$byval_copy42+8>>2]=HEAP32[25532+8>>2]|0;HEAP32[$atlas02$byval_copy42+12>>2]=HEAP32[25532+12>>2]|0;HEAP32[$atlas02$byval_copy42+16>>2]=HEAP32[25532+16>>2]|0; + ;HEAP32[$$byval_copy43>>2]=HEAP32[$21>>2]|0;HEAP32[$$byval_copy43+4>>2]=HEAP32[$21+4>>2]|0;HEAP32[$$byval_copy43+8>>2]=HEAP32[$21+8>>2]|0;HEAP32[$$byval_copy43+12>>2]=HEAP32[$21+12>>2]|0; + ;HEAP32[$$byval_copy44>>2]=HEAP32[$22>>2]|0;HEAP32[$$byval_copy44+4>>2]=HEAP32[$22+4>>2]|0;HEAP32[$$byval_copy44+8>>2]=HEAP32[$22+8>>2]|0;HEAP32[$$byval_copy44+12>>2]=HEAP32[$22+12>>2]|0; + ;HEAP32[$$byval_copy45>>2]=HEAP32[$23>>2]|0;HEAP32[$$byval_copy45+4>>2]=HEAP32[$23+4>>2]|0; + ;HEAP8[$color01$byval_copy46>>0]=HEAP8[339112>>0]|0;HEAP8[$color01$byval_copy46+1>>0]=HEAP8[339112+1>>0]|0;HEAP8[$color01$byval_copy46+2>>0]=HEAP8[339112+2>>0]|0;HEAP8[$color01$byval_copy46+3>>0]=HEAP8[339112+3>>0]|0; + _DrawTexturePro($atlas02$byval_copy42,$$byval_copy43,$$byval_copy44,$$byval_copy45,0.0,$color01$byval_copy46); + HEAP32[$24>>2] = 1146; + $101 = ((($24)) + 4|0); + HEAP32[$101>>2] = 239; + $102 = ((($24)) + 8|0); + HEAP32[$102>>2] = 640; + $103 = ((($24)) + 12|0); + HEAP32[$103>>2] = 77; + HEAP32[$25>>2] = 0; + $104 = ((($25)) + 4|0); + HEAP32[$104>>2] = 469; + $105 = ((($25)) + 8|0); + HEAP32[$105>>2] = 1280; + $106 = ((($25)) + 12|0); + HEAP32[$106>>2] = 154; + HEAPF32[$26>>2] = 0.0; + $107 = ((($26)) + 4|0); + HEAPF32[$107>>2] = 0.0; + ;HEAP32[$atlas02$byval_copy42>>2]=HEAP32[25532>>2]|0;HEAP32[$atlas02$byval_copy42+4>>2]=HEAP32[25532+4>>2]|0;HEAP32[$atlas02$byval_copy42+8>>2]=HEAP32[25532+8>>2]|0;HEAP32[$atlas02$byval_copy42+12>>2]=HEAP32[25532+12>>2]|0;HEAP32[$atlas02$byval_copy42+16>>2]=HEAP32[25532+16>>2]|0; + ;HEAP32[$$byval_copy43>>2]=HEAP32[$24>>2]|0;HEAP32[$$byval_copy43+4>>2]=HEAP32[$24+4>>2]|0;HEAP32[$$byval_copy43+8>>2]=HEAP32[$24+8>>2]|0;HEAP32[$$byval_copy43+12>>2]=HEAP32[$24+12>>2]|0; + ;HEAP32[$$byval_copy44>>2]=HEAP32[$25>>2]|0;HEAP32[$$byval_copy44+4>>2]=HEAP32[$25+4>>2]|0;HEAP32[$$byval_copy44+8>>2]=HEAP32[$25+8>>2]|0;HEAP32[$$byval_copy44+12>>2]=HEAP32[$25+12>>2]|0; + ;HEAP32[$$byval_copy45>>2]=HEAP32[$26>>2]|0;HEAP32[$$byval_copy45+4>>2]=HEAP32[$26+4>>2]|0; + ;HEAP8[$color01$byval_copy46>>0]=HEAP8[339108>>0]|0;HEAP8[$color01$byval_copy46+1>>0]=HEAP8[339108+1>>0]|0;HEAP8[$color01$byval_copy46+2>>0]=HEAP8[339108+2>>0]|0;HEAP8[$color01$byval_copy46+3>>0]=HEAP8[339108+3>>0]|0; + _DrawTexturePro($atlas02$byval_copy42,$$byval_copy43,$$byval_copy44,$$byval_copy45,0.0,$color01$byval_copy46); + HEAP32[$27>>2] = 1146; + $108 = ((($27)) + 4|0); + HEAP32[$108>>2] = 316; + $109 = ((($27)) + 8|0); + HEAP32[$109>>2] = 640; + $110 = ((($27)) + 12|0); + HEAP32[$110>>2] = -77; + HEAP32[$28>>2] = 0; + $111 = ((($28)) + 4|0); + HEAP32[$111>>2] = 67; + $112 = ((($28)) + 8|0); + HEAP32[$112>>2] = 1280; + $113 = ((($28)) + 12|0); + HEAP32[$113>>2] = 154; + HEAPF32[$29>>2] = 0.0; + $114 = ((($29)) + 4|0); + HEAPF32[$114>>2] = 0.0; + ;HEAP32[$atlas02$byval_copy42>>2]=HEAP32[25532>>2]|0;HEAP32[$atlas02$byval_copy42+4>>2]=HEAP32[25532+4>>2]|0;HEAP32[$atlas02$byval_copy42+8>>2]=HEAP32[25532+8>>2]|0;HEAP32[$atlas02$byval_copy42+12>>2]=HEAP32[25532+12>>2]|0;HEAP32[$atlas02$byval_copy42+16>>2]=HEAP32[25532+16>>2]|0; + ;HEAP32[$$byval_copy43>>2]=HEAP32[$27>>2]|0;HEAP32[$$byval_copy43+4>>2]=HEAP32[$27+4>>2]|0;HEAP32[$$byval_copy43+8>>2]=HEAP32[$27+8>>2]|0;HEAP32[$$byval_copy43+12>>2]=HEAP32[$27+12>>2]|0; + ;HEAP32[$$byval_copy44>>2]=HEAP32[$28>>2]|0;HEAP32[$$byval_copy44+4>>2]=HEAP32[$28+4>>2]|0;HEAP32[$$byval_copy44+8>>2]=HEAP32[$28+8>>2]|0;HEAP32[$$byval_copy44+12>>2]=HEAP32[$28+12>>2]|0; + ;HEAP32[$$byval_copy45>>2]=HEAP32[$29>>2]|0;HEAP32[$$byval_copy45+4>>2]=HEAP32[$29+4>>2]|0; + ;HEAP8[$color01$byval_copy46>>0]=HEAP8[339108>>0]|0;HEAP8[$color01$byval_copy46+1>>0]=HEAP8[339108+1>>0]|0;HEAP8[$color01$byval_copy46+2>>0]=HEAP8[339108+2>>0]|0;HEAP8[$color01$byval_copy46+3>>0]=HEAP8[339108+3>>0]|0; + _DrawTexturePro($atlas02$byval_copy42,$$byval_copy43,$$byval_copy44,$$byval_copy45,0.0,$color01$byval_copy46); + STACKTOP = sp;return; +} +function _DrawParallaxMiddle() { + var $$byval_copy43 = 0, $$byval_copy44 = 0, $$byval_copy45 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; + var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; + var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0; + var $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0; + var $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0; + var $97 = 0, $98 = 0, $99 = 0, $atlas02$byval_copy42 = 0, $color01$byval_copy46 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 480|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(480|0); + $color01$byval_copy46 = sp + 464|0; + $$byval_copy45 = sp + 456|0; + $$byval_copy44 = sp + 440|0; + $$byval_copy43 = sp + 424|0; + $atlas02$byval_copy42 = sp + 400|0; + $0 = sp + 384|0; + $1 = sp + 368|0; + $2 = sp + 360|0; + $3 = sp + 344|0; + $4 = sp + 328|0; + $5 = sp + 320|0; + $6 = sp + 304|0; + $7 = sp + 288|0; + $8 = sp + 280|0; + $9 = sp + 264|0; + $10 = sp + 248|0; + $11 = sp + 240|0; + $12 = sp + 224|0; + $13 = sp + 208|0; + $14 = sp + 200|0; + $15 = sp + 184|0; + $16 = sp + 168|0; + $17 = sp + 160|0; + $18 = sp + 144|0; + $19 = sp + 128|0; + $20 = sp + 120|0; + $21 = sp + 104|0; + $22 = sp + 88|0; + $23 = sp + 80|0; + $24 = sp + 64|0; + $25 = sp + 48|0; + $26 = sp + 40|0; + $27 = sp + 24|0; + $28 = sp + 8|0; + $29 = sp; + HEAP32[$0>>2] = 1998; + $30 = ((($0)) + 4|0); + HEAP32[$30>>2] = 338; + $31 = ((($0)) + 8|0); + HEAP32[$31>>2] = 28; + $32 = ((($0)) + 12|0); + HEAP32[$32>>2] = 335; + HEAP32[$1>>2] = 0; + $33 = ((($1)) + 4|0); + HEAP32[$33>>2] = 67; + $34 = ((($1)) + 8|0); + HEAP32[$34>>2] = 56; + $35 = ((($1)) + 12|0); + HEAP32[$35>>2] = 670; + HEAPF32[$2>>2] = 0.0; + $36 = ((($2)) + 4|0); + HEAPF32[$36>>2] = 0.0; + ;HEAP32[$atlas02$byval_copy42>>2]=HEAP32[25532>>2]|0;HEAP32[$atlas02$byval_copy42+4>>2]=HEAP32[25532+4>>2]|0;HEAP32[$atlas02$byval_copy42+8>>2]=HEAP32[25532+8>>2]|0;HEAP32[$atlas02$byval_copy42+12>>2]=HEAP32[25532+12>>2]|0;HEAP32[$atlas02$byval_copy42+16>>2]=HEAP32[25532+16>>2]|0; + ;HEAP32[$$byval_copy43>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy43+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy43+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy43+12>>2]=HEAP32[$0+12>>2]|0; + ;HEAP32[$$byval_copy44>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy44+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$$byval_copy44+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[$$byval_copy44+12>>2]=HEAP32[$1+12>>2]|0; + ;HEAP32[$$byval_copy45>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy45+4>>2]=HEAP32[$2+4>>2]|0; + ;HEAP8[$color01$byval_copy46>>0]=HEAP8[339112>>0]|0;HEAP8[$color01$byval_copy46+1>>0]=HEAP8[339112+1>>0]|0;HEAP8[$color01$byval_copy46+2>>0]=HEAP8[339112+2>>0]|0;HEAP8[$color01$byval_copy46+3>>0]=HEAP8[339112+3>>0]|0; + _DrawTexturePro($atlas02$byval_copy42,$$byval_copy43,$$byval_copy44,$$byval_copy45,0.0,$color01$byval_copy46); + HEAP32[$3>>2] = 718; + $37 = ((($3)) + 4|0); + HEAP32[$37>>2] = 315; + $38 = ((($3)) + 8|0); + HEAP32[$38>>2] = 26; + $39 = ((($3)) + 12|0); + HEAP32[$39>>2] = 332; + HEAP32[$4>>2] = 140; + $40 = ((($4)) + 4|0); + HEAP32[$40>>2] = 67; + $41 = ((($4)) + 8|0); + HEAP32[$41>>2] = 52; + $42 = ((($4)) + 12|0); + HEAP32[$42>>2] = 664; + HEAPF32[$5>>2] = 0.0; + $43 = ((($5)) + 4|0); + HEAPF32[$43>>2] = 0.0; + ;HEAP32[$atlas02$byval_copy42>>2]=HEAP32[25532>>2]|0;HEAP32[$atlas02$byval_copy42+4>>2]=HEAP32[25532+4>>2]|0;HEAP32[$atlas02$byval_copy42+8>>2]=HEAP32[25532+8>>2]|0;HEAP32[$atlas02$byval_copy42+12>>2]=HEAP32[25532+12>>2]|0;HEAP32[$atlas02$byval_copy42+16>>2]=HEAP32[25532+16>>2]|0; + ;HEAP32[$$byval_copy43>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy43+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$$byval_copy43+8>>2]=HEAP32[$3+8>>2]|0;HEAP32[$$byval_copy43+12>>2]=HEAP32[$3+12>>2]|0; + ;HEAP32[$$byval_copy44>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy44+4>>2]=HEAP32[$4+4>>2]|0;HEAP32[$$byval_copy44+8>>2]=HEAP32[$4+8>>2]|0;HEAP32[$$byval_copy44+12>>2]=HEAP32[$4+12>>2]|0; + ;HEAP32[$$byval_copy45>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy45+4>>2]=HEAP32[$5+4>>2]|0; + ;HEAP8[$color01$byval_copy46>>0]=HEAP8[339112>>0]|0;HEAP8[$color01$byval_copy46+1>>0]=HEAP8[339112+1>>0]|0;HEAP8[$color01$byval_copy46+2>>0]=HEAP8[339112+2>>0]|0;HEAP8[$color01$byval_copy46+3>>0]=HEAP8[339112+3>>0]|0; + _DrawTexturePro($atlas02$byval_copy42,$$byval_copy43,$$byval_copy44,$$byval_copy45,0.0,$color01$byval_copy46); + HEAP32[$6>>2] = 774; + $44 = ((($6)) + 4|0); + HEAP32[$44>>2] = 315; + $45 = ((($6)) + 8|0); + HEAP32[$45>>2] = 15; + $46 = ((($6)) + 12|0); + HEAP32[$46>>2] = 329; + HEAP32[$7>>2] = 280; + $47 = ((($7)) + 4|0); + HEAP32[$47>>2] = 67; + $48 = ((($7)) + 8|0); + HEAP32[$48>>2] = 30; + $49 = ((($7)) + 12|0); + HEAP32[$49>>2] = 658; + HEAPF32[$8>>2] = 0.0; + $50 = ((($8)) + 4|0); + HEAPF32[$50>>2] = 0.0; + ;HEAP32[$atlas02$byval_copy42>>2]=HEAP32[25532>>2]|0;HEAP32[$atlas02$byval_copy42+4>>2]=HEAP32[25532+4>>2]|0;HEAP32[$atlas02$byval_copy42+8>>2]=HEAP32[25532+8>>2]|0;HEAP32[$atlas02$byval_copy42+12>>2]=HEAP32[25532+12>>2]|0;HEAP32[$atlas02$byval_copy42+16>>2]=HEAP32[25532+16>>2]|0; + ;HEAP32[$$byval_copy43>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy43+4>>2]=HEAP32[$6+4>>2]|0;HEAP32[$$byval_copy43+8>>2]=HEAP32[$6+8>>2]|0;HEAP32[$$byval_copy43+12>>2]=HEAP32[$6+12>>2]|0; + ;HEAP32[$$byval_copy44>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy44+4>>2]=HEAP32[$7+4>>2]|0;HEAP32[$$byval_copy44+8>>2]=HEAP32[$7+8>>2]|0;HEAP32[$$byval_copy44+12>>2]=HEAP32[$7+12>>2]|0; + ;HEAP32[$$byval_copy45>>2]=HEAP32[$8>>2]|0;HEAP32[$$byval_copy45+4>>2]=HEAP32[$8+4>>2]|0; + ;HEAP8[$color01$byval_copy46>>0]=HEAP8[339112>>0]|0;HEAP8[$color01$byval_copy46+1>>0]=HEAP8[339112+1>>0]|0;HEAP8[$color01$byval_copy46+2>>0]=HEAP8[339112+2>>0]|0;HEAP8[$color01$byval_copy46+3>>0]=HEAP8[339112+3>>0]|0; + _DrawTexturePro($atlas02$byval_copy42,$$byval_copy43,$$byval_copy44,$$byval_copy45,0.0,$color01$byval_copy46); + HEAP32[$9>>2] = 1900; + $51 = ((($9)) + 4|0); + HEAP32[$51>>2] = 2; + $52 = ((($9)) + 8|0); + HEAP32[$52>>2] = 38; + $53 = ((($9)) + 12|0); + HEAP32[$53>>2] = 334; + HEAP32[$10>>2] = 420; + $54 = ((($10)) + 4|0); + HEAP32[$54>>2] = 67; + $55 = ((($10)) + 8|0); + HEAP32[$55>>2] = 76; + $56 = ((($10)) + 12|0); + HEAP32[$56>>2] = 668; + HEAPF32[$11>>2] = 0.0; + $57 = ((($11)) + 4|0); + HEAPF32[$57>>2] = 0.0; + ;HEAP32[$atlas02$byval_copy42>>2]=HEAP32[25532>>2]|0;HEAP32[$atlas02$byval_copy42+4>>2]=HEAP32[25532+4>>2]|0;HEAP32[$atlas02$byval_copy42+8>>2]=HEAP32[25532+8>>2]|0;HEAP32[$atlas02$byval_copy42+12>>2]=HEAP32[25532+12>>2]|0;HEAP32[$atlas02$byval_copy42+16>>2]=HEAP32[25532+16>>2]|0; + ;HEAP32[$$byval_copy43>>2]=HEAP32[$9>>2]|0;HEAP32[$$byval_copy43+4>>2]=HEAP32[$9+4>>2]|0;HEAP32[$$byval_copy43+8>>2]=HEAP32[$9+8>>2]|0;HEAP32[$$byval_copy43+12>>2]=HEAP32[$9+12>>2]|0; + ;HEAP32[$$byval_copy44>>2]=HEAP32[$10>>2]|0;HEAP32[$$byval_copy44+4>>2]=HEAP32[$10+4>>2]|0;HEAP32[$$byval_copy44+8>>2]=HEAP32[$10+8>>2]|0;HEAP32[$$byval_copy44+12>>2]=HEAP32[$10+12>>2]|0; + ;HEAP32[$$byval_copy45>>2]=HEAP32[$11>>2]|0;HEAP32[$$byval_copy45+4>>2]=HEAP32[$11+4>>2]|0; + ;HEAP8[$color01$byval_copy46>>0]=HEAP8[339112>>0]|0;HEAP8[$color01$byval_copy46+1>>0]=HEAP8[339112+1>>0]|0;HEAP8[$color01$byval_copy46+2>>0]=HEAP8[339112+2>>0]|0;HEAP8[$color01$byval_copy46+3>>0]=HEAP8[339112+3>>0]|0; + _DrawTexturePro($atlas02$byval_copy42,$$byval_copy43,$$byval_copy44,$$byval_copy45,0.0,$color01$byval_copy46); + HEAP32[$12>>2] = 538; + $58 = ((($12)) + 4|0); + HEAP32[$58>>2] = 364; + $59 = ((($12)) + 8|0); + HEAP32[$59>>2] = 32; + $60 = ((($12)) + 12|0); + HEAP32[$60>>2] = 349; + HEAP32[$13>>2] = 560; + $61 = ((($13)) + 4|0); + HEAP32[$61>>2] = 67; + $62 = ((($13)) + 8|0); + HEAP32[$62>>2] = 64; + $63 = ((($13)) + 12|0); + HEAP32[$63>>2] = 698; + HEAPF32[$14>>2] = 0.0; + $64 = ((($14)) + 4|0); + HEAPF32[$64>>2] = 0.0; + ;HEAP32[$atlas02$byval_copy42>>2]=HEAP32[25532>>2]|0;HEAP32[$atlas02$byval_copy42+4>>2]=HEAP32[25532+4>>2]|0;HEAP32[$atlas02$byval_copy42+8>>2]=HEAP32[25532+8>>2]|0;HEAP32[$atlas02$byval_copy42+12>>2]=HEAP32[25532+12>>2]|0;HEAP32[$atlas02$byval_copy42+16>>2]=HEAP32[25532+16>>2]|0; + ;HEAP32[$$byval_copy43>>2]=HEAP32[$12>>2]|0;HEAP32[$$byval_copy43+4>>2]=HEAP32[$12+4>>2]|0;HEAP32[$$byval_copy43+8>>2]=HEAP32[$12+8>>2]|0;HEAP32[$$byval_copy43+12>>2]=HEAP32[$12+12>>2]|0; + ;HEAP32[$$byval_copy44>>2]=HEAP32[$13>>2]|0;HEAP32[$$byval_copy44+4>>2]=HEAP32[$13+4>>2]|0;HEAP32[$$byval_copy44+8>>2]=HEAP32[$13+8>>2]|0;HEAP32[$$byval_copy44+12>>2]=HEAP32[$13+12>>2]|0; + ;HEAP32[$$byval_copy45>>2]=HEAP32[$14>>2]|0;HEAP32[$$byval_copy45+4>>2]=HEAP32[$14+4>>2]|0; + ;HEAP8[$color01$byval_copy46>>0]=HEAP8[339112>>0]|0;HEAP8[$color01$byval_copy46+1>>0]=HEAP8[339112+1>>0]|0;HEAP8[$color01$byval_copy46+2>>0]=HEAP8[339112+2>>0]|0;HEAP8[$color01$byval_copy46+3>>0]=HEAP8[339112+3>>0]|0; + _DrawTexturePro($atlas02$byval_copy42,$$byval_copy43,$$byval_copy44,$$byval_copy45,0.0,$color01$byval_copy46); + HEAP32[$15>>2] = 2013; + $65 = ((($15)) + 4|0); + HEAP32[$65>>2] = 2; + $66 = ((($15)) + 8|0); + HEAP32[$66>>2] = 31; + $67 = ((($15)) + 12|0); + HEAP32[$67>>2] = 334; + HEAP32[$16>>2] = 700; + $68 = ((($16)) + 4|0); + HEAP32[$68>>2] = 67; + $69 = ((($16)) + 8|0); + HEAP32[$69>>2] = 62; + $70 = ((($16)) + 12|0); + HEAP32[$70>>2] = 668; + HEAPF32[$17>>2] = 0.0; + $71 = ((($17)) + 4|0); + HEAPF32[$71>>2] = 0.0; + ;HEAP32[$atlas02$byval_copy42>>2]=HEAP32[25532>>2]|0;HEAP32[$atlas02$byval_copy42+4>>2]=HEAP32[25532+4>>2]|0;HEAP32[$atlas02$byval_copy42+8>>2]=HEAP32[25532+8>>2]|0;HEAP32[$atlas02$byval_copy42+12>>2]=HEAP32[25532+12>>2]|0;HEAP32[$atlas02$byval_copy42+16>>2]=HEAP32[25532+16>>2]|0; + ;HEAP32[$$byval_copy43>>2]=HEAP32[$15>>2]|0;HEAP32[$$byval_copy43+4>>2]=HEAP32[$15+4>>2]|0;HEAP32[$$byval_copy43+8>>2]=HEAP32[$15+8>>2]|0;HEAP32[$$byval_copy43+12>>2]=HEAP32[$15+12>>2]|0; + ;HEAP32[$$byval_copy44>>2]=HEAP32[$16>>2]|0;HEAP32[$$byval_copy44+4>>2]=HEAP32[$16+4>>2]|0;HEAP32[$$byval_copy44+8>>2]=HEAP32[$16+8>>2]|0;HEAP32[$$byval_copy44+12>>2]=HEAP32[$16+12>>2]|0; + ;HEAP32[$$byval_copy45>>2]=HEAP32[$17>>2]|0;HEAP32[$$byval_copy45+4>>2]=HEAP32[$17+4>>2]|0; + ;HEAP8[$color01$byval_copy46>>0]=HEAP8[339112>>0]|0;HEAP8[$color01$byval_copy46+1>>0]=HEAP8[339112+1>>0]|0;HEAP8[$color01$byval_copy46+2>>0]=HEAP8[339112+2>>0]|0;HEAP8[$color01$byval_copy46+3>>0]=HEAP8[339112+3>>0]|0; + _DrawTexturePro($atlas02$byval_copy42,$$byval_copy43,$$byval_copy44,$$byval_copy45,0.0,$color01$byval_copy46); + HEAP32[$18>>2] = 633; + $72 = ((($18)) + 4|0); + HEAP32[$72>>2] = 364; + $73 = ((($18)) + 8|0); + HEAP32[$73>>2] = 25; + $74 = ((($18)) + 12|0); + HEAP32[$74>>2] = 349; + HEAP32[$19>>2] = 840; + $75 = ((($19)) + 4|0); + HEAP32[$75>>2] = 67; + $76 = ((($19)) + 8|0); + HEAP32[$76>>2] = 50; + $77 = ((($19)) + 12|0); + HEAP32[$77>>2] = 698; + HEAPF32[$20>>2] = 0.0; + $78 = ((($20)) + 4|0); + HEAPF32[$78>>2] = 0.0; + ;HEAP32[$atlas02$byval_copy42>>2]=HEAP32[25532>>2]|0;HEAP32[$atlas02$byval_copy42+4>>2]=HEAP32[25532+4>>2]|0;HEAP32[$atlas02$byval_copy42+8>>2]=HEAP32[25532+8>>2]|0;HEAP32[$atlas02$byval_copy42+12>>2]=HEAP32[25532+12>>2]|0;HEAP32[$atlas02$byval_copy42+16>>2]=HEAP32[25532+16>>2]|0; + ;HEAP32[$$byval_copy43>>2]=HEAP32[$18>>2]|0;HEAP32[$$byval_copy43+4>>2]=HEAP32[$18+4>>2]|0;HEAP32[$$byval_copy43+8>>2]=HEAP32[$18+8>>2]|0;HEAP32[$$byval_copy43+12>>2]=HEAP32[$18+12>>2]|0; + ;HEAP32[$$byval_copy44>>2]=HEAP32[$19>>2]|0;HEAP32[$$byval_copy44+4>>2]=HEAP32[$19+4>>2]|0;HEAP32[$$byval_copy44+8>>2]=HEAP32[$19+8>>2]|0;HEAP32[$$byval_copy44+12>>2]=HEAP32[$19+12>>2]|0; + ;HEAP32[$$byval_copy45>>2]=HEAP32[$20>>2]|0;HEAP32[$$byval_copy45+4>>2]=HEAP32[$20+4>>2]|0; + ;HEAP8[$color01$byval_copy46>>0]=HEAP8[339112>>0]|0;HEAP8[$color01$byval_copy46+1>>0]=HEAP8[339112+1>>0]|0;HEAP8[$color01$byval_copy46+2>>0]=HEAP8[339112+2>>0]|0;HEAP8[$color01$byval_copy46+3>>0]=HEAP8[339112+3>>0]|0; + _DrawTexturePro($atlas02$byval_copy42,$$byval_copy43,$$byval_copy44,$$byval_copy45,0.0,$color01$byval_copy46); + HEAP32[$21>>2] = 1930; + $79 = ((($21)) + 4|0); + HEAP32[$79>>2] = 338; + $80 = ((($21)) + 8|0); + HEAP32[$80>>2] = 32; + $81 = ((($21)) + 12|0); + HEAP32[$81>>2] = 331; + HEAP32[$22>>2] = 980; + $82 = ((($22)) + 4|0); + HEAP32[$82>>2] = 67; + $83 = ((($22)) + 8|0); + HEAP32[$83>>2] = 64; + $84 = ((($22)) + 12|0); + HEAP32[$84>>2] = 662; + HEAPF32[$23>>2] = 0.0; + $85 = ((($23)) + 4|0); + HEAPF32[$85>>2] = 0.0; + ;HEAP32[$atlas02$byval_copy42>>2]=HEAP32[25532>>2]|0;HEAP32[$atlas02$byval_copy42+4>>2]=HEAP32[25532+4>>2]|0;HEAP32[$atlas02$byval_copy42+8>>2]=HEAP32[25532+8>>2]|0;HEAP32[$atlas02$byval_copy42+12>>2]=HEAP32[25532+12>>2]|0;HEAP32[$atlas02$byval_copy42+16>>2]=HEAP32[25532+16>>2]|0; + ;HEAP32[$$byval_copy43>>2]=HEAP32[$21>>2]|0;HEAP32[$$byval_copy43+4>>2]=HEAP32[$21+4>>2]|0;HEAP32[$$byval_copy43+8>>2]=HEAP32[$21+8>>2]|0;HEAP32[$$byval_copy43+12>>2]=HEAP32[$21+12>>2]|0; + ;HEAP32[$$byval_copy44>>2]=HEAP32[$22>>2]|0;HEAP32[$$byval_copy44+4>>2]=HEAP32[$22+4>>2]|0;HEAP32[$$byval_copy44+8>>2]=HEAP32[$22+8>>2]|0;HEAP32[$$byval_copy44+12>>2]=HEAP32[$22+12>>2]|0; + ;HEAP32[$$byval_copy45>>2]=HEAP32[$23>>2]|0;HEAP32[$$byval_copy45+4>>2]=HEAP32[$23+4>>2]|0; + ;HEAP8[$color01$byval_copy46>>0]=HEAP8[339112>>0]|0;HEAP8[$color01$byval_copy46+1>>0]=HEAP8[339112+1>>0]|0;HEAP8[$color01$byval_copy46+2>>0]=HEAP8[339112+2>>0]|0;HEAP8[$color01$byval_copy46+3>>0]=HEAP8[339112+3>>0]|0; + _DrawTexturePro($atlas02$byval_copy42,$$byval_copy43,$$byval_copy44,$$byval_copy45,0.0,$color01$byval_copy46); + HEAP32[$24>>2] = 1146; + $86 = ((($24)) + 4|0); + HEAP32[$86>>2] = 160; + $87 = ((($24)) + 8|0); + HEAP32[$87>>2] = 640; + $88 = ((($24)) + 12|0); + HEAP32[$88>>2] = 77; + HEAP32[$25>>2] = 0; + $89 = ((($25)) + 4|0); + HEAP32[$89>>2] = 509; + $90 = ((($25)) + 8|0); + HEAP32[$90>>2] = 1280; + $91 = ((($25)) + 12|0); + HEAP32[$91>>2] = 154; + HEAPF32[$26>>2] = 0.0; + $92 = ((($26)) + 4|0); + HEAPF32[$92>>2] = 0.0; + ;HEAP32[$atlas02$byval_copy42>>2]=HEAP32[25532>>2]|0;HEAP32[$atlas02$byval_copy42+4>>2]=HEAP32[25532+4>>2]|0;HEAP32[$atlas02$byval_copy42+8>>2]=HEAP32[25532+8>>2]|0;HEAP32[$atlas02$byval_copy42+12>>2]=HEAP32[25532+12>>2]|0;HEAP32[$atlas02$byval_copy42+16>>2]=HEAP32[25532+16>>2]|0; + ;HEAP32[$$byval_copy43>>2]=HEAP32[$24>>2]|0;HEAP32[$$byval_copy43+4>>2]=HEAP32[$24+4>>2]|0;HEAP32[$$byval_copy43+8>>2]=HEAP32[$24+8>>2]|0;HEAP32[$$byval_copy43+12>>2]=HEAP32[$24+12>>2]|0; + ;HEAP32[$$byval_copy44>>2]=HEAP32[$25>>2]|0;HEAP32[$$byval_copy44+4>>2]=HEAP32[$25+4>>2]|0;HEAP32[$$byval_copy44+8>>2]=HEAP32[$25+8>>2]|0;HEAP32[$$byval_copy44+12>>2]=HEAP32[$25+12>>2]|0; + ;HEAP32[$$byval_copy45>>2]=HEAP32[$26>>2]|0;HEAP32[$$byval_copy45+4>>2]=HEAP32[$26+4>>2]|0; + ;HEAP8[$color01$byval_copy46>>0]=HEAP8[339108>>0]|0;HEAP8[$color01$byval_copy46+1>>0]=HEAP8[339108+1>>0]|0;HEAP8[$color01$byval_copy46+2>>0]=HEAP8[339108+2>>0]|0;HEAP8[$color01$byval_copy46+3>>0]=HEAP8[339108+3>>0]|0; + _DrawTexturePro($atlas02$byval_copy42,$$byval_copy43,$$byval_copy44,$$byval_copy45,0.0,$color01$byval_copy46); + HEAP32[$27>>2] = 1146; + $93 = ((($27)) + 4|0); + HEAP32[$93>>2] = 237; + $94 = ((($27)) + 8|0); + HEAP32[$94>>2] = 640; + $95 = ((($27)) + 12|0); + HEAP32[$95>>2] = -77; + HEAP32[$28>>2] = 0; + $96 = ((($28)) + 4|0); + HEAP32[$96>>2] = 19; + $97 = ((($28)) + 8|0); + HEAP32[$97>>2] = 1280; + $98 = ((($28)) + 12|0); + HEAP32[$98>>2] = 154; + HEAPF32[$29>>2] = 0.0; + $99 = ((($29)) + 4|0); + HEAPF32[$99>>2] = 0.0; + ;HEAP32[$atlas02$byval_copy42>>2]=HEAP32[25532>>2]|0;HEAP32[$atlas02$byval_copy42+4>>2]=HEAP32[25532+4>>2]|0;HEAP32[$atlas02$byval_copy42+8>>2]=HEAP32[25532+8>>2]|0;HEAP32[$atlas02$byval_copy42+12>>2]=HEAP32[25532+12>>2]|0;HEAP32[$atlas02$byval_copy42+16>>2]=HEAP32[25532+16>>2]|0; + ;HEAP32[$$byval_copy43>>2]=HEAP32[$27>>2]|0;HEAP32[$$byval_copy43+4>>2]=HEAP32[$27+4>>2]|0;HEAP32[$$byval_copy43+8>>2]=HEAP32[$27+8>>2]|0;HEAP32[$$byval_copy43+12>>2]=HEAP32[$27+12>>2]|0; + ;HEAP32[$$byval_copy44>>2]=HEAP32[$28>>2]|0;HEAP32[$$byval_copy44+4>>2]=HEAP32[$28+4>>2]|0;HEAP32[$$byval_copy44+8>>2]=HEAP32[$28+8>>2]|0;HEAP32[$$byval_copy44+12>>2]=HEAP32[$28+12>>2]|0; + ;HEAP32[$$byval_copy45>>2]=HEAP32[$29>>2]|0;HEAP32[$$byval_copy45+4>>2]=HEAP32[$29+4>>2]|0; + ;HEAP8[$color01$byval_copy46>>0]=HEAP8[339108>>0]|0;HEAP8[$color01$byval_copy46+1>>0]=HEAP8[339108+1>>0]|0;HEAP8[$color01$byval_copy46+2>>0]=HEAP8[339108+2>>0]|0;HEAP8[$color01$byval_copy46+3>>0]=HEAP8[339108+3>>0]|0; + _DrawTexturePro($atlas02$byval_copy42,$$byval_copy43,$$byval_copy44,$$byval_copy45,0.0,$color01$byval_copy46); + STACKTOP = sp;return; +} +function _DrawParallaxFront() { + var $$byval_copy43 = 0, $$byval_copy44 = 0, $$byval_copy45 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0; + var $113 = 0, $114 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0; + var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0; + var $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $atlas02$byval_copy42 = 0, $color01$byval_copy46 = 0; + var label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 480|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(480|0); + $color01$byval_copy46 = sp + 464|0; + $$byval_copy45 = sp + 456|0; + $$byval_copy44 = sp + 440|0; + $$byval_copy43 = sp + 424|0; + $atlas02$byval_copy42 = sp + 400|0; + $0 = sp + 384|0; + $1 = sp + 368|0; + $2 = sp + 360|0; + $3 = sp + 344|0; + $4 = sp + 328|0; + $5 = sp + 320|0; + $6 = sp + 304|0; + $7 = sp + 288|0; + $8 = sp + 280|0; + $9 = sp + 264|0; + $10 = sp + 248|0; + $11 = sp + 240|0; + $12 = sp + 224|0; + $13 = sp + 208|0; + $14 = sp + 200|0; + $15 = sp + 184|0; + $16 = sp + 168|0; + $17 = sp + 160|0; + $18 = sp + 144|0; + $19 = sp + 128|0; + $20 = sp + 120|0; + $21 = sp + 104|0; + $22 = sp + 88|0; + $23 = sp + 80|0; + $24 = sp + 64|0; + $25 = sp + 48|0; + $26 = sp + 40|0; + $27 = sp + 24|0; + $28 = sp + 8|0; + $29 = sp; + HEAP32[$0>>2] = 1833; + $30 = ((($0)) + 4|0); + HEAP32[$30>>2] = 353; + $31 = ((($0)) + 8|0); + HEAP32[$31>>2] = 28; + $32 = ((($0)) + 12|0); + HEAP32[$32>>2] = 335; + $33 = HEAP32[6586]|0; + HEAP32[$1>>2] = $33; + $34 = ((($1)) + 4|0); + HEAP32[$34>>2] = 60; + $35 = ((($1)) + 8|0); + HEAP32[$35>>2] = 56; + $36 = ((($1)) + 12|0); + HEAP32[$36>>2] = 670; + HEAPF32[$2>>2] = 0.0; + $37 = ((($2)) + 4|0); + HEAPF32[$37>>2] = 0.0; + ;HEAP32[$atlas02$byval_copy42>>2]=HEAP32[25532>>2]|0;HEAP32[$atlas02$byval_copy42+4>>2]=HEAP32[25532+4>>2]|0;HEAP32[$atlas02$byval_copy42+8>>2]=HEAP32[25532+8>>2]|0;HEAP32[$atlas02$byval_copy42+12>>2]=HEAP32[25532+12>>2]|0;HEAP32[$atlas02$byval_copy42+16>>2]=HEAP32[25532+16>>2]|0; + ;HEAP32[$$byval_copy43>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy43+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy43+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy43+12>>2]=HEAP32[$0+12>>2]|0; + ;HEAP32[$$byval_copy44>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy44+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$$byval_copy44+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[$$byval_copy44+12>>2]=HEAP32[$1+12>>2]|0; + ;HEAP32[$$byval_copy45>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy45+4>>2]=HEAP32[$2+4>>2]|0; + ;HEAP8[$color01$byval_copy46>>0]=HEAP8[339112>>0]|0;HEAP8[$color01$byval_copy46+1>>0]=HEAP8[339112+1>>0]|0;HEAP8[$color01$byval_copy46+2>>0]=HEAP8[339112+2>>0]|0;HEAP8[$color01$byval_copy46+3>>0]=HEAP8[339112+3>>0]|0; + _DrawTexturePro($atlas02$byval_copy42,$$byval_copy43,$$byval_copy44,$$byval_copy45,0.0,$color01$byval_copy46); + HEAP32[$3>>2] = 690; + $38 = ((($3)) + 4|0); + HEAP32[$38>>2] = 315; + $39 = ((($3)) + 8|0); + HEAP32[$39>>2] = 26; + $40 = ((($3)) + 12|0); + HEAP32[$40>>2] = 332; + $41 = HEAP32[6586]|0; + $42 = (($41) + 140)|0; + HEAP32[$4>>2] = $42; + $43 = ((($4)) + 4|0); + HEAP32[$43>>2] = 60; + $44 = ((($4)) + 8|0); + HEAP32[$44>>2] = 52; + $45 = ((($4)) + 12|0); + HEAP32[$45>>2] = 664; + HEAPF32[$5>>2] = 0.0; + $46 = ((($5)) + 4|0); + HEAPF32[$46>>2] = 0.0; + ;HEAP32[$atlas02$byval_copy42>>2]=HEAP32[25532>>2]|0;HEAP32[$atlas02$byval_copy42+4>>2]=HEAP32[25532+4>>2]|0;HEAP32[$atlas02$byval_copy42+8>>2]=HEAP32[25532+8>>2]|0;HEAP32[$atlas02$byval_copy42+12>>2]=HEAP32[25532+12>>2]|0;HEAP32[$atlas02$byval_copy42+16>>2]=HEAP32[25532+16>>2]|0; + ;HEAP32[$$byval_copy43>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy43+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$$byval_copy43+8>>2]=HEAP32[$3+8>>2]|0;HEAP32[$$byval_copy43+12>>2]=HEAP32[$3+12>>2]|0; + ;HEAP32[$$byval_copy44>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy44+4>>2]=HEAP32[$4+4>>2]|0;HEAP32[$$byval_copy44+8>>2]=HEAP32[$4+8>>2]|0;HEAP32[$$byval_copy44+12>>2]=HEAP32[$4+12>>2]|0; + ;HEAP32[$$byval_copy45>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy45+4>>2]=HEAP32[$5+4>>2]|0; + ;HEAP8[$color01$byval_copy46>>0]=HEAP8[339112>>0]|0;HEAP8[$color01$byval_copy46+1>>0]=HEAP8[339112+1>>0]|0;HEAP8[$color01$byval_copy46+2>>0]=HEAP8[339112+2>>0]|0;HEAP8[$color01$byval_copy46+3>>0]=HEAP8[339112+3>>0]|0; + _DrawTexturePro($atlas02$byval_copy42,$$byval_copy43,$$byval_copy44,$$byval_copy45,0.0,$color01$byval_copy46); + HEAP32[$6>>2] = 2028; + $47 = ((($6)) + 4|0); + HEAP32[$47>>2] = 338; + $48 = ((($6)) + 8|0); + HEAP32[$48>>2] = 15; + $49 = ((($6)) + 12|0); + HEAP32[$49>>2] = 329; + $50 = HEAP32[6586]|0; + $51 = (($50) + 280)|0; + HEAP32[$7>>2] = $51; + $52 = ((($7)) + 4|0); + HEAP32[$52>>2] = 55; + $53 = ((($7)) + 8|0); + HEAP32[$53>>2] = 52; + $54 = ((($7)) + 12|0); + HEAP32[$54>>2] = 664; + HEAPF32[$8>>2] = 0.0; + $55 = ((($8)) + 4|0); + HEAPF32[$55>>2] = 0.0; + ;HEAP32[$atlas02$byval_copy42>>2]=HEAP32[25532>>2]|0;HEAP32[$atlas02$byval_copy42+4>>2]=HEAP32[25532+4>>2]|0;HEAP32[$atlas02$byval_copy42+8>>2]=HEAP32[25532+8>>2]|0;HEAP32[$atlas02$byval_copy42+12>>2]=HEAP32[25532+12>>2]|0;HEAP32[$atlas02$byval_copy42+16>>2]=HEAP32[25532+16>>2]|0; + ;HEAP32[$$byval_copy43>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy43+4>>2]=HEAP32[$6+4>>2]|0;HEAP32[$$byval_copy43+8>>2]=HEAP32[$6+8>>2]|0;HEAP32[$$byval_copy43+12>>2]=HEAP32[$6+12>>2]|0; + ;HEAP32[$$byval_copy44>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy44+4>>2]=HEAP32[$7+4>>2]|0;HEAP32[$$byval_copy44+8>>2]=HEAP32[$7+8>>2]|0;HEAP32[$$byval_copy44+12>>2]=HEAP32[$7+12>>2]|0; + ;HEAP32[$$byval_copy45>>2]=HEAP32[$8>>2]|0;HEAP32[$$byval_copy45+4>>2]=HEAP32[$8+4>>2]|0; + ;HEAP8[$color01$byval_copy46>>0]=HEAP8[339112>>0]|0;HEAP8[$color01$byval_copy46+1>>0]=HEAP8[339112+1>>0]|0;HEAP8[$color01$byval_copy46+2>>0]=HEAP8[339112+2>>0]|0;HEAP8[$color01$byval_copy46+3>>0]=HEAP8[339112+3>>0]|0; + _DrawTexturePro($atlas02$byval_copy42,$$byval_copy43,$$byval_copy44,$$byval_copy45,0.0,$color01$byval_copy46); + HEAP32[$9>>2] = 1860; + $56 = ((($9)) + 4|0); + HEAP32[$56>>2] = 2; + $57 = ((($9)) + 8|0); + HEAP32[$57>>2] = 38; + $58 = ((($9)) + 12|0); + HEAP32[$58>>2] = 334; + $59 = HEAP32[6586]|0; + $60 = (($59) + 420)|0; + HEAP32[$10>>2] = $60; + $61 = ((($10)) + 4|0); + HEAP32[$61>>2] = 60; + $62 = ((($10)) + 8|0); + HEAP32[$62>>2] = 76; + $63 = ((($10)) + 12|0); + HEAP32[$63>>2] = 668; + HEAPF32[$11>>2] = 0.0; + $64 = ((($11)) + 4|0); + HEAPF32[$64>>2] = 0.0; + ;HEAP32[$atlas02$byval_copy42>>2]=HEAP32[25532>>2]|0;HEAP32[$atlas02$byval_copy42+4>>2]=HEAP32[25532+4>>2]|0;HEAP32[$atlas02$byval_copy42+8>>2]=HEAP32[25532+8>>2]|0;HEAP32[$atlas02$byval_copy42+12>>2]=HEAP32[25532+12>>2]|0;HEAP32[$atlas02$byval_copy42+16>>2]=HEAP32[25532+16>>2]|0; + ;HEAP32[$$byval_copy43>>2]=HEAP32[$9>>2]|0;HEAP32[$$byval_copy43+4>>2]=HEAP32[$9+4>>2]|0;HEAP32[$$byval_copy43+8>>2]=HEAP32[$9+8>>2]|0;HEAP32[$$byval_copy43+12>>2]=HEAP32[$9+12>>2]|0; + ;HEAP32[$$byval_copy44>>2]=HEAP32[$10>>2]|0;HEAP32[$$byval_copy44+4>>2]=HEAP32[$10+4>>2]|0;HEAP32[$$byval_copy44+8>>2]=HEAP32[$10+8>>2]|0;HEAP32[$$byval_copy44+12>>2]=HEAP32[$10+12>>2]|0; + ;HEAP32[$$byval_copy45>>2]=HEAP32[$11>>2]|0;HEAP32[$$byval_copy45+4>>2]=HEAP32[$11+4>>2]|0; + ;HEAP8[$color01$byval_copy46>>0]=HEAP8[339112>>0]|0;HEAP8[$color01$byval_copy46+1>>0]=HEAP8[339112+1>>0]|0;HEAP8[$color01$byval_copy46+2>>0]=HEAP8[339112+2>>0]|0;HEAP8[$color01$byval_copy46+3>>0]=HEAP8[339112+3>>0]|0; + _DrawTexturePro($atlas02$byval_copy42,$$byval_copy43,$$byval_copy44,$$byval_copy45,0.0,$color01$byval_copy46); + HEAP32[$12>>2] = 504; + $65 = ((($12)) + 4|0); + HEAP32[$65>>2] = 364; + $66 = ((($12)) + 8|0); + HEAP32[$66>>2] = 32; + $67 = ((($12)) + 12|0); + HEAP32[$67>>2] = 349; + $68 = HEAP32[6586]|0; + $69 = (($68) + 560)|0; + HEAP32[$13>>2] = $69; + $70 = ((($13)) + 4|0); + HEAP32[$70>>2] = 60; + $71 = ((($13)) + 8|0); + HEAP32[$71>>2] = 64; + $72 = ((($13)) + 12|0); + HEAP32[$72>>2] = 698; + HEAPF32[$14>>2] = 0.0; + $73 = ((($14)) + 4|0); + HEAPF32[$73>>2] = 0.0; + ;HEAP32[$atlas02$byval_copy42>>2]=HEAP32[25532>>2]|0;HEAP32[$atlas02$byval_copy42+4>>2]=HEAP32[25532+4>>2]|0;HEAP32[$atlas02$byval_copy42+8>>2]=HEAP32[25532+8>>2]|0;HEAP32[$atlas02$byval_copy42+12>>2]=HEAP32[25532+12>>2]|0;HEAP32[$atlas02$byval_copy42+16>>2]=HEAP32[25532+16>>2]|0; + ;HEAP32[$$byval_copy43>>2]=HEAP32[$12>>2]|0;HEAP32[$$byval_copy43+4>>2]=HEAP32[$12+4>>2]|0;HEAP32[$$byval_copy43+8>>2]=HEAP32[$12+8>>2]|0;HEAP32[$$byval_copy43+12>>2]=HEAP32[$12+12>>2]|0; + ;HEAP32[$$byval_copy44>>2]=HEAP32[$13>>2]|0;HEAP32[$$byval_copy44+4>>2]=HEAP32[$13+4>>2]|0;HEAP32[$$byval_copy44+8>>2]=HEAP32[$13+8>>2]|0;HEAP32[$$byval_copy44+12>>2]=HEAP32[$13+12>>2]|0; + ;HEAP32[$$byval_copy45>>2]=HEAP32[$14>>2]|0;HEAP32[$$byval_copy45+4>>2]=HEAP32[$14+4>>2]|0; + ;HEAP8[$color01$byval_copy46>>0]=HEAP8[339112>>0]|0;HEAP8[$color01$byval_copy46+1>>0]=HEAP8[339112+1>>0]|0;HEAP8[$color01$byval_copy46+2>>0]=HEAP8[339112+2>>0]|0;HEAP8[$color01$byval_copy46+3>>0]=HEAP8[339112+3>>0]|0; + _DrawTexturePro($atlas02$byval_copy42,$$byval_copy43,$$byval_copy44,$$byval_copy45,0.0,$color01$byval_copy46); + HEAP32[$15>>2] = 1980; + $74 = ((($15)) + 4|0); + HEAP32[$74>>2] = 2; + $75 = ((($15)) + 8|0); + HEAP32[$75>>2] = 31; + $76 = ((($15)) + 12|0); + HEAP32[$76>>2] = 334; + $77 = HEAP32[6586]|0; + $78 = (($77) + 700)|0; + HEAP32[$16>>2] = $78; + $79 = ((($16)) + 4|0); + HEAP32[$79>>2] = 55; + $80 = ((($16)) + 8|0); + HEAP32[$80>>2] = 62; + $81 = ((($16)) + 12|0); + HEAP32[$81>>2] = 668; + HEAPF32[$17>>2] = 0.0; + $82 = ((($17)) + 4|0); + HEAPF32[$82>>2] = 0.0; + ;HEAP32[$atlas02$byval_copy42>>2]=HEAP32[25532>>2]|0;HEAP32[$atlas02$byval_copy42+4>>2]=HEAP32[25532+4>>2]|0;HEAP32[$atlas02$byval_copy42+8>>2]=HEAP32[25532+8>>2]|0;HEAP32[$atlas02$byval_copy42+12>>2]=HEAP32[25532+12>>2]|0;HEAP32[$atlas02$byval_copy42+16>>2]=HEAP32[25532+16>>2]|0; + ;HEAP32[$$byval_copy43>>2]=HEAP32[$15>>2]|0;HEAP32[$$byval_copy43+4>>2]=HEAP32[$15+4>>2]|0;HEAP32[$$byval_copy43+8>>2]=HEAP32[$15+8>>2]|0;HEAP32[$$byval_copy43+12>>2]=HEAP32[$15+12>>2]|0; + ;HEAP32[$$byval_copy44>>2]=HEAP32[$16>>2]|0;HEAP32[$$byval_copy44+4>>2]=HEAP32[$16+4>>2]|0;HEAP32[$$byval_copy44+8>>2]=HEAP32[$16+8>>2]|0;HEAP32[$$byval_copy44+12>>2]=HEAP32[$16+12>>2]|0; + ;HEAP32[$$byval_copy45>>2]=HEAP32[$17>>2]|0;HEAP32[$$byval_copy45+4>>2]=HEAP32[$17+4>>2]|0; + ;HEAP8[$color01$byval_copy46>>0]=HEAP8[339112>>0]|0;HEAP8[$color01$byval_copy46+1>>0]=HEAP8[339112+1>>0]|0;HEAP8[$color01$byval_copy46+2>>0]=HEAP8[339112+2>>0]|0;HEAP8[$color01$byval_copy46+3>>0]=HEAP8[339112+3>>0]|0; + _DrawTexturePro($atlas02$byval_copy42,$$byval_copy43,$$byval_copy44,$$byval_copy45,0.0,$color01$byval_copy46); + HEAP32[$18>>2] = 606; + $83 = ((($18)) + 4|0); + HEAP32[$83>>2] = 364; + $84 = ((($18)) + 8|0); + HEAP32[$84>>2] = 25; + $85 = ((($18)) + 12|0); + HEAP32[$85>>2] = 349; + $86 = HEAP32[6586]|0; + $87 = (($86) + 840)|0; + HEAP32[$19>>2] = $87; + $88 = ((($19)) + 4|0); + HEAP32[$88>>2] = 60; + $89 = ((($19)) + 8|0); + HEAP32[$89>>2] = 50; + $90 = ((($19)) + 12|0); + HEAP32[$90>>2] = 698; + HEAPF32[$20>>2] = 0.0; + $91 = ((($20)) + 4|0); + HEAPF32[$91>>2] = 0.0; + ;HEAP32[$atlas02$byval_copy42>>2]=HEAP32[25532>>2]|0;HEAP32[$atlas02$byval_copy42+4>>2]=HEAP32[25532+4>>2]|0;HEAP32[$atlas02$byval_copy42+8>>2]=HEAP32[25532+8>>2]|0;HEAP32[$atlas02$byval_copy42+12>>2]=HEAP32[25532+12>>2]|0;HEAP32[$atlas02$byval_copy42+16>>2]=HEAP32[25532+16>>2]|0; + ;HEAP32[$$byval_copy43>>2]=HEAP32[$18>>2]|0;HEAP32[$$byval_copy43+4>>2]=HEAP32[$18+4>>2]|0;HEAP32[$$byval_copy43+8>>2]=HEAP32[$18+8>>2]|0;HEAP32[$$byval_copy43+12>>2]=HEAP32[$18+12>>2]|0; + ;HEAP32[$$byval_copy44>>2]=HEAP32[$19>>2]|0;HEAP32[$$byval_copy44+4>>2]=HEAP32[$19+4>>2]|0;HEAP32[$$byval_copy44+8>>2]=HEAP32[$19+8>>2]|0;HEAP32[$$byval_copy44+12>>2]=HEAP32[$19+12>>2]|0; + ;HEAP32[$$byval_copy45>>2]=HEAP32[$20>>2]|0;HEAP32[$$byval_copy45+4>>2]=HEAP32[$20+4>>2]|0; + ;HEAP8[$color01$byval_copy46>>0]=HEAP8[339112>>0]|0;HEAP8[$color01$byval_copy46+1>>0]=HEAP8[339112+1>>0]|0;HEAP8[$color01$byval_copy46+2>>0]=HEAP8[339112+2>>0]|0;HEAP8[$color01$byval_copy46+3>>0]=HEAP8[339112+3>>0]|0; + _DrawTexturePro($atlas02$byval_copy42,$$byval_copy43,$$byval_copy44,$$byval_copy45,0.0,$color01$byval_copy46); + HEAP32[$21>>2] = 1896; + $92 = ((($21)) + 4|0); + HEAP32[$92>>2] = 338; + $93 = ((($21)) + 8|0); + HEAP32[$93>>2] = 32; + $94 = ((($21)) + 12|0); + HEAP32[$94>>2] = 331; + $95 = HEAP32[6586]|0; + $96 = (($95) + 980)|0; + HEAP32[$22>>2] = $96; + $97 = ((($22)) + 4|0); + HEAP32[$97>>2] = 60; + $98 = ((($22)) + 8|0); + HEAP32[$98>>2] = 64; + $99 = ((($22)) + 12|0); + HEAP32[$99>>2] = 662; + HEAPF32[$23>>2] = 0.0; + $100 = ((($23)) + 4|0); + HEAPF32[$100>>2] = 0.0; + ;HEAP32[$atlas02$byval_copy42>>2]=HEAP32[25532>>2]|0;HEAP32[$atlas02$byval_copy42+4>>2]=HEAP32[25532+4>>2]|0;HEAP32[$atlas02$byval_copy42+8>>2]=HEAP32[25532+8>>2]|0;HEAP32[$atlas02$byval_copy42+12>>2]=HEAP32[25532+12>>2]|0;HEAP32[$atlas02$byval_copy42+16>>2]=HEAP32[25532+16>>2]|0; + ;HEAP32[$$byval_copy43>>2]=HEAP32[$21>>2]|0;HEAP32[$$byval_copy43+4>>2]=HEAP32[$21+4>>2]|0;HEAP32[$$byval_copy43+8>>2]=HEAP32[$21+8>>2]|0;HEAP32[$$byval_copy43+12>>2]=HEAP32[$21+12>>2]|0; + ;HEAP32[$$byval_copy44>>2]=HEAP32[$22>>2]|0;HEAP32[$$byval_copy44+4>>2]=HEAP32[$22+4>>2]|0;HEAP32[$$byval_copy44+8>>2]=HEAP32[$22+8>>2]|0;HEAP32[$$byval_copy44+12>>2]=HEAP32[$22+12>>2]|0; + ;HEAP32[$$byval_copy45>>2]=HEAP32[$23>>2]|0;HEAP32[$$byval_copy45+4>>2]=HEAP32[$23+4>>2]|0; + ;HEAP8[$color01$byval_copy46>>0]=HEAP8[339112>>0]|0;HEAP8[$color01$byval_copy46+1>>0]=HEAP8[339112+1>>0]|0;HEAP8[$color01$byval_copy46+2>>0]=HEAP8[339112+2>>0]|0;HEAP8[$color01$byval_copy46+3>>0]=HEAP8[339112+3>>0]|0; + _DrawTexturePro($atlas02$byval_copy42,$$byval_copy43,$$byval_copy44,$$byval_copy45,0.0,$color01$byval_copy46); + HEAP32[$24>>2] = 1146; + $101 = ((($24)) + 4|0); + HEAP32[$101>>2] = 81; + $102 = ((($24)) + 8|0); + HEAP32[$102>>2] = 640; + $103 = ((($24)) + 12|0); + HEAP32[$103>>2] = 77; + HEAP32[$25>>2] = 0; + $104 = ((($25)) + 4|0); + HEAP32[$104>>2] = 559; + $105 = ((($25)) + 8|0); + HEAP32[$105>>2] = 1280; + $106 = ((($25)) + 12|0); + HEAP32[$106>>2] = 154; + HEAPF32[$26>>2] = 0.0; + $107 = ((($26)) + 4|0); + HEAPF32[$107>>2] = 0.0; + ;HEAP32[$atlas02$byval_copy42>>2]=HEAP32[25532>>2]|0;HEAP32[$atlas02$byval_copy42+4>>2]=HEAP32[25532+4>>2]|0;HEAP32[$atlas02$byval_copy42+8>>2]=HEAP32[25532+8>>2]|0;HEAP32[$atlas02$byval_copy42+12>>2]=HEAP32[25532+12>>2]|0;HEAP32[$atlas02$byval_copy42+16>>2]=HEAP32[25532+16>>2]|0; + ;HEAP32[$$byval_copy43>>2]=HEAP32[$24>>2]|0;HEAP32[$$byval_copy43+4>>2]=HEAP32[$24+4>>2]|0;HEAP32[$$byval_copy43+8>>2]=HEAP32[$24+8>>2]|0;HEAP32[$$byval_copy43+12>>2]=HEAP32[$24+12>>2]|0; + ;HEAP32[$$byval_copy44>>2]=HEAP32[$25>>2]|0;HEAP32[$$byval_copy44+4>>2]=HEAP32[$25+4>>2]|0;HEAP32[$$byval_copy44+8>>2]=HEAP32[$25+8>>2]|0;HEAP32[$$byval_copy44+12>>2]=HEAP32[$25+12>>2]|0; + ;HEAP32[$$byval_copy45>>2]=HEAP32[$26>>2]|0;HEAP32[$$byval_copy45+4>>2]=HEAP32[$26+4>>2]|0; + ;HEAP8[$color01$byval_copy46>>0]=HEAP8[339108>>0]|0;HEAP8[$color01$byval_copy46+1>>0]=HEAP8[339108+1>>0]|0;HEAP8[$color01$byval_copy46+2>>0]=HEAP8[339108+2>>0]|0;HEAP8[$color01$byval_copy46+3>>0]=HEAP8[339108+3>>0]|0; + _DrawTexturePro($atlas02$byval_copy42,$$byval_copy43,$$byval_copy44,$$byval_copy45,0.0,$color01$byval_copy46); + HEAP32[$27>>2] = 1146; + $108 = ((($27)) + 4|0); + HEAP32[$108>>2] = 158; + $109 = ((($27)) + 8|0); + HEAP32[$109>>2] = 640; + $110 = ((($27)) + 12|0); + HEAP32[$110>>2] = -77; + HEAP32[$28>>2] = 0; + $111 = ((($28)) + 4|0); + HEAP32[$111>>2] = -33; + $112 = ((($28)) + 8|0); + HEAP32[$112>>2] = 1280; + $113 = ((($28)) + 12|0); + HEAP32[$113>>2] = 154; + HEAPF32[$29>>2] = 0.0; + $114 = ((($29)) + 4|0); + HEAPF32[$114>>2] = 0.0; + ;HEAP32[$atlas02$byval_copy42>>2]=HEAP32[25532>>2]|0;HEAP32[$atlas02$byval_copy42+4>>2]=HEAP32[25532+4>>2]|0;HEAP32[$atlas02$byval_copy42+8>>2]=HEAP32[25532+8>>2]|0;HEAP32[$atlas02$byval_copy42+12>>2]=HEAP32[25532+12>>2]|0;HEAP32[$atlas02$byval_copy42+16>>2]=HEAP32[25532+16>>2]|0; + ;HEAP32[$$byval_copy43>>2]=HEAP32[$27>>2]|0;HEAP32[$$byval_copy43+4>>2]=HEAP32[$27+4>>2]|0;HEAP32[$$byval_copy43+8>>2]=HEAP32[$27+8>>2]|0;HEAP32[$$byval_copy43+12>>2]=HEAP32[$27+12>>2]|0; + ;HEAP32[$$byval_copy44>>2]=HEAP32[$28>>2]|0;HEAP32[$$byval_copy44+4>>2]=HEAP32[$28+4>>2]|0;HEAP32[$$byval_copy44+8>>2]=HEAP32[$28+8>>2]|0;HEAP32[$$byval_copy44+12>>2]=HEAP32[$28+12>>2]|0; + ;HEAP32[$$byval_copy45>>2]=HEAP32[$29>>2]|0;HEAP32[$$byval_copy45+4>>2]=HEAP32[$29+4>>2]|0; + ;HEAP8[$color01$byval_copy46>>0]=HEAP8[339108>>0]|0;HEAP8[$color01$byval_copy46+1>>0]=HEAP8[339108+1>>0]|0;HEAP8[$color01$byval_copy46+2>>0]=HEAP8[339108+2>>0]|0;HEAP8[$color01$byval_copy46+3>>0]=HEAP8[339108+3>>0]|0; + _DrawTexturePro($atlas02$byval_copy42,$$byval_copy43,$$byval_copy44,$$byval_copy45,0.0,$color01$byval_copy46); + STACKTOP = sp;return; +} +function _UnloadTitleScreen() { + var label = 0, sp = 0; + sp = STACKTOP; + return; +} +function _FinishTitleScreen() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[6579]|0; + return ($0|0); +} +function _InitGameplayScreen() { + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; + sp = STACKTOP; + (_time((161240|0))|0); + $0 = (_gmtime((161240|0))|0); + HEAP32[40311] = $0; + $1 = ((($0)) + 16|0); + $2 = HEAP32[$1>>2]|0; + HEAP32[40312] = $2; + HEAP32[40313] = $2; + $3 = ((($0)) + 20|0); + $4 = HEAP32[$3>>2]|0; + $5 = (($4) + 1900)|0; + HEAP32[6563] = $5; + _Reset(); + return; +} +function _Reset() { + var $$0612664 = 0, $$0613663 = 0, $$0614662 = 0, $$0615661 = 0, $$0617659 = 0, $$0618658 = 0, $$0622654 = 0, $$0623652 = 0, $$0624653 = 0, $$0665 = 0, $$sink = 0, $$sink625 = 0, $$sink626 = 0, $$sink627 = 0, $$sink628 = 0, $$sink629 = 0, $$sink630 = 0, $$sink631 = 0, $$sink632 = 0, $$sink633 = 0; + var $$sink634 = 0, $$sink635 = 0, $$sink636 = 0, $$sink637 = 0.0, $$sink639 = 0.0, $$sink640 = 0, $$sroa$0155$0$$sroa_idx = 0, $$sroa$0158$0$$sroa_idx = 0, $$sroa$0187$0$$sroa_idx = 0, $$sroa$0191$0$$sroa_idx = 0, $$sroa$020$0$$sroa_idx = 0, $$sroa$0204$0$$sroa_idx = 0, $$sroa$0208$0$$sroa_idx = 0, $$sroa$0221$0$$sroa_idx = 0, $$sroa$0224$0$$sroa_idx = 0, $$sroa$0228$0$$sroa_idx = 0, $$sroa$023$0$$sroa_idx = 0, $$sroa$0241$0$$sroa_idx = 0, $$sroa$0245$0$$sroa_idx = 0, $$sroa$0248$0$$sroa_idx = 0; + var $$sroa$0252$0$$sroa_idx = 0, $$sroa$0255$0$$sroa_idx = 0, $$sroa$0259$0$$sroa_idx = 0, $$sroa$0262$0$$sroa_idx = 0, $$sroa$0266$0$$sroa_idx = 0, $$sroa$0269$0$$sroa_idx = 0, $$sroa$0273$0$$sroa_idx = 0, $$sroa$0276$0$$sroa_idx = 0, $$sroa$0280$0$$sroa_idx = 0, $$sroa$0283$0$$sroa_idx = 0, $$sroa$0287$0$$sroa_idx = 0, $$sroa$0290$0$$sroa_idx = 0, $$sroa$0294$0$$sroa_idx = 0, $$sroa$0297$0$$sroa_idx = 0, $$sroa$03$0$$sroa_idx = 0, $$sroa$0301$0$$sroa_idx = 0, $$sroa$0304$0$$sroa_idx = 0, $$sroa$0308$0$$sroa_idx = 0, $$sroa$05$0$$sroa_idx = 0, $$sroa$050$0$$sroa_idx = 0; + var $$sroa$053$0$$sroa_idx = 0, $$sroa$057$0$$sroa_idx = 0, $$sroa$060$0$$sroa_idx = 0, $$sroa$08$0$$sroa_idx = 0, $$sroa$2156$0$$sroa_idx157 = 0, $$sroa$2159$0$$sroa_idx160 = 0, $$sroa$2192$0$$sroa_idx193 = 0, $$sroa$2209$0$$sroa_idx210 = 0, $$sroa$221$0$$sroa_idx22 = 0, $$sroa$2222$0$$sroa_idx223 = 0, $$sroa$2229$0$$sroa_idx230 = 0, $$sroa$224$0$$sroa_idx25 = 0, $$sroa$2246$0$$sroa_idx247 = 0, $$sroa$2253$0$$sroa_idx254 = 0, $$sroa$2260$0$$sroa_idx261 = 0, $$sroa$2267$0$$sroa_idx268 = 0, $$sroa$2274$0$$sroa_idx275 = 0, $$sroa$2281$0$$sroa_idx282 = 0, $$sroa$2288$0$$sroa_idx289 = 0, $$sroa$2295$0$$sroa_idx296 = 0; + var $$sroa$2302$0$$sroa_idx303 = 0, $$sroa$2309$0$$sroa_idx310 = 0, $$sroa$251$0$$sroa_idx52 = 0, $$sroa$254$0$$sroa_idx = 0, $$sroa$258$0$$sroa_idx59 = 0, $$sroa$26$0$$sroa_idx7 = 0, $$sroa$261$0$$sroa_idx62 = 0, $$sroa$29$0$$sroa_idx10 = 0, $$sroa$355$0$$sroa_idx = 0, $$sroa$456$0$$sroa_idx = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0.0, $104 = 0.0, $105 = 0, $106 = 0; + var $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0.0, $111 = 0.0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0.0, $119 = 0, $12 = 0, $120 = 0, $121 = 0.0, $122 = 0, $123 = 0, $124 = 0; + var $125 = 0, $126 = 0, $127 = 0.0, $128 = 0.0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0.0, $136 = 0.0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0; + var $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0.0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0.0, $159 = 0, $16 = 0, $160 = 0; + var $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0; + var $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0; + var $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0.0, $212 = 0, $213 = 0, $214 = 0.0; + var $215 = 0, $216 = 0, $217 = 0.0, $218 = 0, $219 = 0.0, $22 = 0, $220 = 0, $221 = 0.0, $222 = 0.0, $223 = 0, $224 = 0.0, $225 = 0.0, $226 = 0, $227 = 0.0, $228 = 0.0, $229 = 0, $23 = 0, $230 = 0, $231 = 0.0, $232 = 0; + var $233 = 0, $234 = 0, $235 = 0, $236 = 0.0, $237 = 0, $238 = 0.0, $239 = 0, $24 = 0, $240 = 0.0, $241 = 0.0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0.0, $248 = 0.0, $249 = 0, $25 = 0, $250 = 0; + var $251 = 0.0, $252 = 0, $253 = 0.0, $254 = 0, $255 = 0.0, $256 = 0.0, $257 = 0, $258 = 0.0, $259 = 0, $26 = 0.0, $260 = 0.0, $261 = 0, $262 = 0.0, $263 = 0.0, $264 = 0, $265 = 0, $266 = 0.0, $267 = 0, $268 = 0, $269 = 0; + var $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0.0, $276 = 0, $277 = 0.0, $278 = 0, $279 = 0.0, $28 = 0, $280 = 0.0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0; + var $288 = 0.0, $289 = 0, $29 = 0.0, $290 = 0.0, $291 = 0, $292 = 0.0, $293 = 0.0, $294 = 0, $295 = 0.0, $296 = 0.0, $297 = 0, $298 = 0.0, $299 = 0.0, $3 = 0, $30 = 0.0, $300 = 0, $301 = 0, $302 = 0.0, $303 = 0, $304 = 0; + var $305 = 0, $31 = 0, $32 = 0, $33 = 0.0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0.0, $39 = 0.0, $4 = 0, $40 = 0, $41 = 0, $42 = 0.0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0.0, $48 = 0.0; + var $49 = 0, $5 = 0, $50 = 0, $51 = 0.0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0.0, $57 = 0.0, $58 = 0, $59 = 0, $6 = 0, $60 = 0.0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0.0, $66 = 0.0; + var $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0.0, $72 = 0, $73 = 0, $74 = 0, $75 = 0.0, $76 = 0.0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0.0, $82 = 0, $83 = 0, $84 = 0; + var $85 = 0.0, $86 = 0.0, $87 = 0, $88 = 0, $89 = 0.0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0.0, $95 = 0.0, $96 = 0, $97 = 0, $98 = 0.0, $99 = 0, $exitcond = 0, $exitcond666 = 0, $exitcond667 = 0, $exitcond671 = 0; + var $exitcond672 = 0, $exitcond674 = 0, $exitcond675 = 0, $exitcond676 = 0, $exitcond677 = 0, $exitcond678 = 0, $font$byval_copy = 0, $not$ = 0, dest = 0, label = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0); + $font$byval_copy = sp + 8|0; + $0 = sp; + HEAP32[40314] = 0; + HEAP32[40315] = 0; + HEAP32[40316] = 10; + HEAP32[40317] = 0; + HEAP32[40318] = 0; + HEAPF32[40319] = 5.0; + HEAP32[40320] = 3; + HEAP32[6431] = 0; + HEAP32[6432] = 0; + HEAP32[40321] = 360; + HEAP32[40322] = 0; + HEAPF32[40323] = 1.2000000476837158; + HEAP32[40324] = 0; + HEAP32[40325] = 0; + HEAP32[40326] = 360; + HEAP32[40327] = 1; + HEAPF32[40328] = 0.0; + HEAPF32[40329] = 0.0; + HEAPF32[40330] = 0.0; + HEAPF32[40331] = 1.6000000238418579; + HEAPF32[40332] = 0.0; + HEAP32[40333] = 0; + HEAP32[40334] = 0; + HEAP32[40335] = 0; + HEAP32[40336] = 0; + HEAP32[40337] = 0; + HEAP32[40338] = 0; + HEAP32[40339] = 6; + HEAP32[40340] = 0; + HEAP32[40341] = 0; + HEAP32[40342] = 0; + HEAP32[40343] = 4; + HEAP32[40344] = 0; + HEAP32[40345] = 400; + HEAP32[40346] = 0; + HEAP32[40347] = 1; + HEAP32[40348] = 2; + HEAP32[40349] = 3; + HEAP32[40350] = 0; + HEAP32[40351] = 20; + HEAP32[40352] = 0; + HEAP32[6564] = 0; + HEAPF32[40353] = 0.0; + HEAP32[40354] = 0; + HEAP32[40355] = 0; + HEAPF32[40356] = 1.0; + HEAPF32[40357] = 2.5; + HEAP32[7] = 3; + HEAP32[40358] = 0; + HEAP32[40359] = 0; + HEAP32[40360] = 0; + HEAP32[6563] = 0; + HEAPF32[40361] = 1.0; + HEAPF32[40362] = 0.0; + HEAP32[6562] = 0; + HEAP32[40363] = 0; + HEAPF32[40364] = 0.0; + HEAP32[40365] = 0; + $1 = (_GetRandomValue(10,100)|0); + HEAP32[40366] = $1; + $2 = (_GetRandomValue(100,200)|0); + HEAP32[40367] = $2; + HEAP32[40368] = 0; + HEAP32[40369] = 0; + HEAPF32[40370] = 0.0; + HEAP32[40371] = 0; + HEAP32[40372] = 0; + HEAP32[40373] = 0; + HEAP32[40374] = 0; + HEAP32[40375] = 0; + HEAP32[40376] = 2; + HEAP32[40377] = 1; + HEAPF32[40378] = 0.0; + HEAPF32[40379] = 1.0; + HEAPF32[40380] = 1.0; + $3 = HEAP32[40311]|0; + $4 = ((($3)) + 20|0); + $5 = HEAP32[$4>>2]|0; + $6 = (($5) + 1900)|0; + HEAP32[6567] = $6; + $7 = HEAP32[6566]|0; + switch ($7|0) { + case 0: { + $$sink625 = 51;$$sink626 = 103;$$sink627 = -58;$$sink628 = 73;$$sink629 = -126;$$sink630 = -95;$$sink631 = 125;$$sink632 = -91;$$sink633 = -111;$$sink634 = 86;$$sink635 = -84;$$sink636 = -127;$$sink637 = 315.0;$$sink639 = 225.0;$$sink640 = 11; + label = 5; + break; + } + case 1: { + $$sink625 = 58;$$sink626 = -123;$$sink627 = -42;$$sink628 = 101;$$sink629 = -126;$$sink630 = -112;$$sink631 = 114;$$sink632 = -121;$$sink633 = -66;$$sink634 = 62;$$sink635 = 113;$$sink636 = -14;$$sink637 = 405.0;$$sink639 = 315.0;$$sink640 = 2; + label = 5; + break; + } + case 2: { + $$sink625 = -83;$$sink626 = -116;$$sink627 = 57;$$sink628 = -112;$$sink629 = -114;$$sink630 = 104;$$sink631 = -90;$$sink632 = -111;$$sink633 = -111;$$sink634 = -75;$$sink635 = -126;$$sink636 = -126;$$sink637 = 135.0;$$sink639 = 45.0;$$sink640 = 5; + label = 5; + break; + } + case 3: { + $$sink625 = 42;$$sink626 = -100;$$sink627 = -123;$$sink628 = 90;$$sink629 = -113;$$sink630 = -123;$$sink631 = 67;$$sink632 = -93;$$sink633 = -78;$$sink634 = 49;$$sink635 = -80;$$sink636 = -60;$$sink637 = 225.0;$$sink639 = 135.0;$$sink640 = 8; + label = 5; + break; + } + default: { + } + } + if ((label|0) == 5) { + HEAP32[40313] = $$sink640; + HEAPF32[40353] = $$sink639; + HEAPF32[40381] = $$sink639; + HEAPF32[40382] = $$sink637; + HEAP8[161532] = $$sink636; + HEAP8[(161533)>>0] = $$sink635; + HEAP8[(161534)>>0] = $$sink634; + HEAP8[(161535)>>0] = -1; + HEAP8[161536] = $$sink633; + HEAP8[(161537)>>0] = $$sink632; + HEAP8[(161538)>>0] = $$sink631; + HEAP8[(161539)>>0] = -1; + HEAP8[161540] = $$sink630; + HEAP8[(161541)>>0] = $$sink629; + HEAP8[(161542)>>0] = $$sink628; + HEAP8[(161543)>>0] = -1; + HEAP8[161544] = $$sink627; + HEAP8[(161545)>>0] = $$sink626; + HEAP8[(161546)>>0] = $$sink625; + HEAP8[(161547)>>0] = -1; + } + $8 = HEAP32[40313]|0; + HEAP32[40312] = $8; + HEAP32[40387] = 0; + HEAP32[(161552)>>2] = 200; + $9 = (_GetScreenWidth()|0); + $10 = (($9|0) / 2)&-1; + HEAP32[(161556)>>2] = $10; + $11 = (_GetScreenHeight()|0); + HEAP32[(161560)>>2] = $11; + $12 = (_GetScreenWidth()|0); + $13 = (($12|0) / 2)&-1; + HEAP32[40391] = $13; + HEAP32[(161568)>>2] = 200; + $14 = (_GetScreenWidth()|0); + $15 = (($14|0) / 2)&-1; + HEAP32[(161572)>>2] = $15; + $16 = (_GetScreenHeight()|0); + HEAP32[(161576)>>2] = $16; + HEAP32[40395] = 0; + HEAP32[(161584)>>2] = 0; + $17 = (_GetScreenWidth()|0); + $18 = (($17|0) / 2)&-1; + HEAP32[(161588)>>2] = $18; + HEAP32[(161592)>>2] = 200; + $19 = (_GetRandomValue(0,255)|0); + $20 = $19&255; + HEAP8[339120] = $20; + $21 = (_GetRandomValue(0,255)|0); + $22 = $21&255; + HEAP8[(339121)>>0] = $22; + $23 = (_GetRandomValue(0,255)|0); + $24 = $23&255; + HEAP8[(339122)>>0] = $24; + HEAP8[(339123)>>0] = -1; + HEAP32[40399] = 516; + HEAP32[(161600)>>2] = 930; + HEAP32[(161604)>>2] = 64; + HEAP32[(161608)>>2] = 128; + HEAP32[40403] = 1056; + HEAP32[(161616)>>2] = 2; + HEAP32[(161620)>>2] = 128; + HEAP32[(161624)>>2] = 128; + HEAP32[40407] = 1025; + HEAP32[(161632)>>2] = 486; + HEAP32[(161636)>>2] = 50; + HEAP32[(161640)>>2] = 60; + HEAP32[40411] = 1570; + HEAP32[(161648)>>2] = 2; + HEAP32[(161652)>>2] = 230; + HEAP32[(161656)>>2] = 80; + HEAP32[40415] = 1025; + HEAP32[(161664)>>2] = 254; + HEAP32[(161668)>>2] = 120; + HEAP32[(161672)>>2] = 128; + HEAP32[40419] = 755; + HEAP32[(161680)>>2] = 1079; + HEAP32[(161684)>>2] = 80; + HEAP32[(161688)>>2] = 150; + HEAP32[40423] = 765; + HEAP32[(161696)>>2] = 561; + HEAP32[(161700)>>2] = 80; + HEAP32[(161704)>>2] = 80; + HEAP32[40427] = 1025; + HEAP32[(161712)>>2] = 384; + HEAP32[(161720)>>2] = 100; + HEAP32[(161716)>>2] = 100; + HEAP32[40431] = 114; + HEAP32[(161728)>>2] = 1946; + HEAP32[(161736)>>2] = 100; + HEAP32[(161732)>>2] = 100; + HEAP32[40435] = 772; + HEAP32[(161744)>>2] = 1417; + HEAP32[(161752)>>2] = 100; + HEAP32[(161748)>>2] = 100; + HEAPF32[40439] = 0.0; + HEAPF32[(161760)>>2] = 0.0; + HEAP32[(161764)>>2] = 0; + HEAPF32[41724] = 0.0; + HEAPF32[(166900)>>2] = 0.0; + HEAP32[(166904)>>2] = 0; + HEAP32[46849] = 0; + HEAPF32[46850] = 0.0; + HEAPF32[(187404)>>2] = 0.0; + HEAP32[(187408)>>2] = 0; + HEAP32[(192548)>>2] = 0; + HEAPF32[49420] = 0.0; + HEAPF32[(197684)>>2] = 0.0; + HEAP32[(197688)>>2] = 0; + HEAPF32[50705] = 0.0; + HEAPF32[(202824)>>2] = 0.0; + HEAP32[(202828)>>2] = 0; + HEAPF32[51990] = 0.0; + HEAPF32[(207964)>>2] = 0.0; + HEAP32[(207968)>>2] = 0; + HEAPF32[57115] = 0.0; + HEAPF32[(228464)>>2] = 0.0; + HEAP32[(228468)>>2] = 0; + HEAPF32[57192] = 0.0; + HEAPF32[(228772)>>2] = 0.0; + HEAP32[(228776)>>2] = 0; + HEAP32[57269] = 0; + $25 = (_GetScreenWidth()|0); + $26 = (+($25|0)); + HEAPF32[57270] = $26; + HEAPF32[(229084)>>2] = 0.0; + $$0665 = 0; + while(1) { + $27 = (((161776 + (($$0665*40)|0)|0)) + 36|0); + HEAP32[$27>>2] = 0; + $$sroa$0308$0$$sroa_idx = (161776 + (($$0665*40)|0)|0); + HEAPF32[$$sroa$0308$0$$sroa_idx>>2] = 0.0; + $$sroa$2309$0$$sroa_idx310 = (((161776 + (($$0665*40)|0)|0)) + 4|0); + HEAPF32[$$sroa$2309$0$$sroa_idx310>>2] = 0.0; + $28 = (_GetRandomValue(3,9)|0); + $29 = (+($28|0)); + $30 = $29 / 10.0; + $31 = (((161776 + (($$0665*40)|0)|0)) + 20|0); + HEAPF32[$31>>2] = $30; + $32 = (_GetRandomValue(0,360)|0); + $33 = (+($32|0)); + $34 = (((161776 + (($$0665*40)|0)|0)) + 16|0); + HEAPF32[$34>>2] = $33; + $$sroa$0304$0$$sroa_idx = (((161776 + (($$0665*40)|0)|0)) + 24|0); + $35 = (((161776 + (($$0665*40)|0)|0)) + 28|0); + HEAP32[$$sroa$0304$0$$sroa_idx>>2] = -1; + HEAPF32[$35>>2] = 1.0; + $36 = (((229088 + (($$0665*40)|0)|0)) + 36|0); + HEAP32[$36>>2] = 0; + $$sroa$0301$0$$sroa_idx = (229088 + (($$0665*40)|0)|0); + HEAPF32[$$sroa$0301$0$$sroa_idx>>2] = 0.0; + $$sroa$2302$0$$sroa_idx303 = (((229088 + (($$0665*40)|0)|0)) + 4|0); + HEAPF32[$$sroa$2302$0$$sroa_idx303>>2] = 0.0; + $37 = (_GetRandomValue(2,8)|0); + $38 = (+($37|0)); + $39 = $38 / 10.0; + $40 = (((229088 + (($$0665*40)|0)|0)) + 20|0); + HEAPF32[$40>>2] = $39; + $41 = (_GetRandomValue(0,360)|0); + $42 = (+($41|0)); + $43 = (((229088 + (($$0665*40)|0)|0)) + 16|0); + HEAPF32[$43>>2] = $42; + $$sroa$0297$0$$sroa_idx = (((229088 + (($$0665*40)|0)|0)) + 24|0); + $44 = (((229088 + (($$0665*40)|0)|0)) + 28|0); + HEAP32[$$sroa$0297$0$$sroa_idx>>2] = -1; + HEAPF32[$44>>2] = 0.69999998807907104; + $45 = (((187420 + (($$0665*40)|0)|0)) + 36|0); + HEAP32[$45>>2] = 0; + $$sroa$0294$0$$sroa_idx = (187420 + (($$0665*40)|0)|0); + HEAPF32[$$sroa$0294$0$$sroa_idx>>2] = 0.0; + $$sroa$2295$0$$sroa_idx296 = (((187420 + (($$0665*40)|0)|0)) + 4|0); + HEAPF32[$$sroa$2295$0$$sroa_idx296>>2] = 0.0; + $46 = (_GetRandomValue(3,9)|0); + $47 = (+($46|0)); + $48 = $47 / 10.0; + $49 = (((187420 + (($$0665*40)|0)|0)) + 20|0); + HEAPF32[$49>>2] = $48; + $50 = (_GetRandomValue(0,360)|0); + $51 = (+($50|0)); + $52 = (((187420 + (($$0665*40)|0)|0)) + 16|0); + HEAPF32[$52>>2] = $51; + $$sroa$0290$0$$sroa_idx = (((187420 + (($$0665*40)|0)|0)) + 24|0); + $53 = (((187420 + (($$0665*40)|0)|0)) + 28|0); + HEAP32[$$sroa$0290$0$$sroa_idx>>2] = -1; + HEAPF32[$53>>2] = 1.0; + $54 = (((234208 + (($$0665*40)|0)|0)) + 36|0); + HEAP32[$54>>2] = 0; + $$sroa$0287$0$$sroa_idx = (234208 + (($$0665*40)|0)|0); + HEAPF32[$$sroa$0287$0$$sroa_idx>>2] = 0.0; + $$sroa$2288$0$$sroa_idx289 = (((234208 + (($$0665*40)|0)|0)) + 4|0); + HEAPF32[$$sroa$2288$0$$sroa_idx289>>2] = 0.0; + $55 = (_GetRandomValue(2,8)|0); + $56 = (+($55|0)); + $57 = $56 / 10.0; + $58 = (((234208 + (($$0665*40)|0)|0)) + 20|0); + HEAPF32[$58>>2] = $57; + $59 = (_GetRandomValue(0,360)|0); + $60 = (+($59|0)); + $61 = (((234208 + (($$0665*40)|0)|0)) + 16|0); + HEAPF32[$61>>2] = $60; + $$sroa$0283$0$$sroa_idx = (((234208 + (($$0665*40)|0)|0)) + 24|0); + $62 = (((234208 + (($$0665*40)|0)|0)) + 28|0); + HEAP32[$$sroa$0283$0$$sroa_idx>>2] = -1; + HEAPF32[$62>>2] = 0.69999998807907104; + $63 = (((192560 + (($$0665*40)|0)|0)) + 36|0); + HEAP32[$63>>2] = 0; + $$sroa$0280$0$$sroa_idx = (192560 + (($$0665*40)|0)|0); + HEAPF32[$$sroa$0280$0$$sroa_idx>>2] = 0.0; + $$sroa$2281$0$$sroa_idx282 = (((192560 + (($$0665*40)|0)|0)) + 4|0); + HEAPF32[$$sroa$2281$0$$sroa_idx282>>2] = 0.0; + $64 = (_GetRandomValue(3,9)|0); + $65 = (+($64|0)); + $66 = $65 / 10.0; + $67 = (((192560 + (($$0665*40)|0)|0)) + 20|0); + HEAPF32[$67>>2] = $66; + $68 = (((192560 + (($$0665*40)|0)|0)) + 16|0); + HEAPF32[$68>>2] = 0.0; + $$sroa$0276$0$$sroa_idx = (((192560 + (($$0665*40)|0)|0)) + 24|0); + $69 = (((192560 + (($$0665*40)|0)|0)) + 28|0); + HEAP32[$$sroa$0276$0$$sroa_idx>>2] = -1; + HEAPF32[$69>>2] = 1.0; + $70 = (_GetRandomValue(0,180)|0); + $71 = (+($70|0)); + $72 = (((192560 + (($$0665*40)|0)|0)) + 32|0); + HEAPF32[$72>>2] = $71; + $73 = (((239328 + (($$0665*40)|0)|0)) + 36|0); + HEAP32[$73>>2] = 0; + $$sroa$0273$0$$sroa_idx = (239328 + (($$0665*40)|0)|0); + HEAPF32[$$sroa$0273$0$$sroa_idx>>2] = 0.0; + $$sroa$2274$0$$sroa_idx275 = (((239328 + (($$0665*40)|0)|0)) + 4|0); + HEAPF32[$$sroa$2274$0$$sroa_idx275>>2] = 0.0; + $74 = (_GetRandomValue(2,8)|0); + $75 = (+($74|0)); + $76 = $75 / 10.0; + $77 = (((239328 + (($$0665*40)|0)|0)) + 20|0); + HEAPF32[$77>>2] = $76; + $78 = (((239328 + (($$0665*40)|0)|0)) + 16|0); + HEAPF32[$78>>2] = 0.0; + $$sroa$0269$0$$sroa_idx = (((239328 + (($$0665*40)|0)|0)) + 24|0); + $79 = (((239328 + (($$0665*40)|0)|0)) + 28|0); + HEAP32[$$sroa$0269$0$$sroa_idx>>2] = -1; + HEAPF32[$79>>2] = 0.69999998807907104; + $80 = (_GetRandomValue(0,180)|0); + $81 = (+($80|0)); + $82 = (((239328 + (($$0665*40)|0)|0)) + 32|0); + HEAPF32[$82>>2] = $81; + $83 = (((197700 + (($$0665*40)|0)|0)) + 36|0); + HEAP32[$83>>2] = 0; + $$sroa$0266$0$$sroa_idx = (197700 + (($$0665*40)|0)|0); + HEAPF32[$$sroa$0266$0$$sroa_idx>>2] = 0.0; + $$sroa$2267$0$$sroa_idx268 = (((197700 + (($$0665*40)|0)|0)) + 4|0); + HEAPF32[$$sroa$2267$0$$sroa_idx268>>2] = 0.0; + $84 = (_GetRandomValue(3,9)|0); + $85 = (+($84|0)); + $86 = $85 / 10.0; + $87 = (((197700 + (($$0665*40)|0)|0)) + 20|0); + HEAPF32[$87>>2] = $86; + $88 = (_GetRandomValue(0,360)|0); + $89 = (+($88|0)); + $90 = (((197700 + (($$0665*40)|0)|0)) + 16|0); + HEAPF32[$90>>2] = $89; + $$sroa$0262$0$$sroa_idx = (((197700 + (($$0665*40)|0)|0)) + 24|0); + $91 = (((197700 + (($$0665*40)|0)|0)) + 28|0); + HEAP32[$$sroa$0262$0$$sroa_idx>>2] = -1; + HEAPF32[$91>>2] = 1.0; + $92 = (((244448 + (($$0665*40)|0)|0)) + 36|0); + HEAP32[$92>>2] = 0; + $$sroa$0259$0$$sroa_idx = (244448 + (($$0665*40)|0)|0); + HEAPF32[$$sroa$0259$0$$sroa_idx>>2] = 0.0; + $$sroa$2260$0$$sroa_idx261 = (((244448 + (($$0665*40)|0)|0)) + 4|0); + HEAPF32[$$sroa$2260$0$$sroa_idx261>>2] = 0.0; + $93 = (_GetRandomValue(2,8)|0); + $94 = (+($93|0)); + $95 = $94 / 10.0; + $96 = (((244448 + (($$0665*40)|0)|0)) + 20|0); + HEAPF32[$96>>2] = $95; + $97 = (_GetRandomValue(0,360)|0); + $98 = (+($97|0)); + $99 = (((244448 + (($$0665*40)|0)|0)) + 16|0); + HEAPF32[$99>>2] = $98; + $$sroa$0255$0$$sroa_idx = (((244448 + (($$0665*40)|0)|0)) + 24|0); + $100 = (((244448 + (($$0665*40)|0)|0)) + 28|0); + HEAP32[$$sroa$0255$0$$sroa_idx>>2] = -1; + HEAPF32[$100>>2] = 0.69999998807907104; + $101 = (((202840 + (($$0665*40)|0)|0)) + 36|0); + HEAP32[$101>>2] = 0; + $$sroa$0252$0$$sroa_idx = (202840 + (($$0665*40)|0)|0); + HEAPF32[$$sroa$0252$0$$sroa_idx>>2] = 0.0; + $$sroa$2253$0$$sroa_idx254 = (((202840 + (($$0665*40)|0)|0)) + 4|0); + HEAPF32[$$sroa$2253$0$$sroa_idx254>>2] = 0.0; + $102 = (_GetRandomValue(3,9)|0); + $103 = (+($102|0)); + $104 = $103 / 10.0; + $105 = (((202840 + (($$0665*40)|0)|0)) + 20|0); + HEAPF32[$105>>2] = $104; + $106 = (((202840 + (($$0665*40)|0)|0)) + 16|0); + HEAPF32[$106>>2] = -20.0; + $$sroa$0248$0$$sroa_idx = (((202840 + (($$0665*40)|0)|0)) + 24|0); + $107 = (((202840 + (($$0665*40)|0)|0)) + 28|0); + HEAP32[$$sroa$0248$0$$sroa_idx>>2] = -1; + HEAPF32[$107>>2] = 1.0; + $108 = (((249568 + (($$0665*40)|0)|0)) + 36|0); + HEAP32[$108>>2] = 0; + $$sroa$0245$0$$sroa_idx = (249568 + (($$0665*40)|0)|0); + HEAPF32[$$sroa$0245$0$$sroa_idx>>2] = 0.0; + $$sroa$2246$0$$sroa_idx247 = (((249568 + (($$0665*40)|0)|0)) + 4|0); + HEAPF32[$$sroa$2246$0$$sroa_idx247>>2] = 0.0; + $109 = (_GetRandomValue(2,8)|0); + $110 = (+($109|0)); + $111 = $110 / 10.0; + $112 = (((249568 + (($$0665*40)|0)|0)) + 20|0); + HEAPF32[$112>>2] = $111; + $113 = (((249568 + (($$0665*40)|0)|0)) + 16|0); + HEAPF32[$113>>2] = -20.0; + $$sroa$0241$0$$sroa_idx = (((249568 + (($$0665*40)|0)|0)) + 24|0); + $114 = (((249568 + (($$0665*40)|0)|0)) + 28|0); + HEAP32[$$sroa$0241$0$$sroa_idx>>2] = -1; + HEAPF32[$114>>2] = 0.69999998807907104; + $115 = (($$0665) + 1)|0; + $exitcond678 = ($115|0)==(128); + if ($exitcond678) { + $$0612664 = 0; + break; + } else { + $$0665 = $115; + } + } + while(1) { + $$sroa$0228$0$$sroa_idx = (254688 + (($$0612664*40)|0)|0); + HEAPF32[$$sroa$0228$0$$sroa_idx>>2] = 0.0; + $$sroa$2229$0$$sroa_idx230 = (((254688 + (($$0612664*40)|0)|0)) + 4|0); + HEAPF32[$$sroa$2229$0$$sroa_idx230>>2] = 0.0; + $$sroa$0224$0$$sroa_idx = (((254688 + (($$0612664*40)|0)|0)) + 28|0); + $116 = (((254688 + (($$0612664*40)|0)|0)) + 32|0); + HEAP32[$$sroa$0224$0$$sroa_idx>>2] = -1; + HEAPF32[$116>>2] = 1.0; + $117 = (_GetScreenWidth()|0); + $118 = (+($117|0)); + $119 = (_GetRandomValue(10,50)|0); + $120 = (($119|0) / 10)&-1; + $121 = (+($120|0)); + $$sroa$0221$0$$sroa_idx = (((254688 + (($$0612664*40)|0)|0)) + 20|0); + HEAPF32[$$sroa$0221$0$$sroa_idx>>2] = $118; + $$sroa$2222$0$$sroa_idx223 = (((254688 + (($$0612664*40)|0)|0)) + 24|0); + HEAPF32[$$sroa$2222$0$$sroa_idx223>>2] = $121; + $122 = (((254688 + (($$0612664*40)|0)|0)) + 16|0); + HEAPF32[$122>>2] = 0.0; + $123 = (((254688 + (($$0612664*40)|0)|0)) + 36|0); + HEAP32[$123>>2] = 0; + $124 = (($$0612664) + 1)|0; + $exitcond677 = ($124|0)==(64); + if ($exitcond677) { + $$0613663 = 0; + break; + } else { + $$0612664 = $124; + } + } + while(1) { + $125 = (((207980 + (($$0613663*40)|0)|0)) + 36|0); + HEAP32[$125>>2] = 0; + $$sroa$0208$0$$sroa_idx = (207980 + (($$0613663*40)|0)|0); + HEAPF32[$$sroa$0208$0$$sroa_idx>>2] = 0.0; + $$sroa$2209$0$$sroa_idx210 = (((207980 + (($$0613663*40)|0)|0)) + 4|0); + HEAPF32[$$sroa$2209$0$$sroa_idx210>>2] = 0.0; + $126 = (_GetRandomValue(3,9)|0); + $127 = (+($126|0)); + $128 = $127 / 10.0; + $129 = (((207980 + (($$0613663*40)|0)|0)) + 20|0); + HEAPF32[$129>>2] = $128; + $130 = (((207980 + (($$0613663*40)|0)|0)) + 16|0); + HEAPF32[$130>>2] = -40.0; + $$sroa$0204$0$$sroa_idx = (((207980 + (($$0613663*40)|0)|0)) + 24|0); + $131 = (((207980 + (($$0613663*40)|0)|0)) + 28|0); + HEAP32[$$sroa$0204$0$$sroa_idx>>2] = -1; + HEAPF32[$131>>2] = 1.0; + $132 = (($$0613663) + 1)|0; + $exitcond676 = ($132|0)==(512); + if ($exitcond676) { + $$0614662 = 0; + break; + } else { + $$0613663 = $132; + } + } + while(1) { + $133 = (((166916 + (($$0614662*40)|0)|0)) + 36|0); + HEAP32[$133>>2] = 0; + $$sroa$0191$0$$sroa_idx = (166916 + (($$0614662*40)|0)|0); + HEAPF32[$$sroa$0191$0$$sroa_idx>>2] = 0.0; + $$sroa$2192$0$$sroa_idx193 = (((166916 + (($$0614662*40)|0)|0)) + 4|0); + HEAPF32[$$sroa$2192$0$$sroa_idx193>>2] = 0.0; + $134 = (_GetRandomValue(2,8)|0); + $135 = (+($134|0)); + $136 = $135 / 10.0; + $137 = (((166916 + (($$0614662*40)|0)|0)) + 20|0); + HEAPF32[$137>>2] = $136; + $138 = (((166916 + (($$0614662*40)|0)|0)) + 16|0); + HEAPF32[$138>>2] = 40.0; + $$sroa$0187$0$$sroa_idx = (((166916 + (($$0614662*40)|0)|0)) + 24|0); + $139 = (((166916 + (($$0614662*40)|0)|0)) + 28|0); + HEAP32[$$sroa$0187$0$$sroa_idx>>2] = -1; + HEAPF32[$139>>2] = 1.0; + $140 = (($$0614662) + 1)|0; + $exitcond675 = ($140|0)==(512); + if ($exitcond675) { + $$0615661 = 0; + break; + } else { + $$0614662 = $140; + } + } + while(1) { + $$sroa$0158$0$$sroa_idx = (228480 + (($$0615661*36)|0)|0); + HEAPF32[$$sroa$0158$0$$sroa_idx>>2] = 0.0; + $$sroa$2159$0$$sroa_idx160 = (((228480 + (($$0615661*36)|0)|0)) + 4|0); + HEAPF32[$$sroa$2159$0$$sroa_idx160>>2] = 0.0; + $141 = (((228480 + (($$0615661*36)|0)|0)) + 8|0); + HEAP8[$141>>0] = -1; + $142 = (((228480 + (($$0615661*36)|0)|0)) + 9|0); + HEAP8[$142>>0] = -1; + $143 = (((228480 + (($$0615661*36)|0)|0)) + 10|0); + HEAP8[$143>>0] = -74; + $144 = (((228480 + (($$0615661*36)|0)|0)) + 11|0); + HEAP8[$144>>0] = -1; + $145 = (((228480 + (($$0615661*36)|0)|0)) + 12|0); + HEAPF32[$145>>2] = 0.0; + $146 = (_GetRandomValue(30,70)|0); + $147 = (($146|0) / 10)&-1; + $148 = (+($147|0)); + $149 = (((228480 + (($$0615661*36)|0)|0)) + 16|0); + HEAPF32[$149>>2] = $148; + $150 = (((228480 + (($$0615661*36)|0)|0)) + 20|0); + $$sroa$0155$0$$sroa_idx = (228788 + (($$0615661*36)|0)|0); + ;HEAP32[$150>>2]=0|0;HEAP32[$150+4>>2]=0|0;HEAP32[$150+8>>2]=0|0;HEAP32[$150+12>>2]=0|0; + HEAPF32[$$sroa$0155$0$$sroa_idx>>2] = 0.0; + $$sroa$2156$0$$sroa_idx157 = (((228788 + (($$0615661*36)|0)|0)) + 4|0); + HEAPF32[$$sroa$2156$0$$sroa_idx157>>2] = 0.0; + $151 = (((228788 + (($$0615661*36)|0)|0)) + 8|0); + HEAP8[$151>>0] = -1; + $152 = (((228788 + (($$0615661*36)|0)|0)) + 9|0); + HEAP8[$152>>0] = -1; + $153 = (((228788 + (($$0615661*36)|0)|0)) + 10|0); + HEAP8[$153>>0] = -74; + $154 = (((228788 + (($$0615661*36)|0)|0)) + 11|0); + HEAP8[$154>>0] = -1; + $155 = (((228788 + (($$0615661*36)|0)|0)) + 12|0); + HEAPF32[$155>>2] = 0.0; + $156 = (_GetRandomValue(10,20)|0); + $157 = (($156|0) / 10)&-1; + $158 = (+($157|0)); + $159 = (((228788 + (($$0615661*36)|0)|0)) + 16|0); + HEAPF32[$159>>2] = $158; + $160 = (((228788 + (($$0615661*36)|0)|0)) + 20|0); + $161 = (($$0615661) + 1)|0; + $exitcond674 = ($161|0)==(8); + ;HEAP32[$160>>2]=0|0;HEAP32[$160+4>>2]=0|0;HEAP32[$160+8>>2]=0|0;HEAP32[$160+12>>2]=0|0; + if ($exitcond674) { + break; + } else { + $$0615661 = $161; + } + } + _memset((25732|0),0,512)|0; + $$0617659 = 0; + while(1) { + $162 = ($$0617659*200)|0; + $163 = (($162) + 150)|0; + $164 = (257248 + ($$0617659<<4)|0); + HEAP32[$164>>2] = $163; + $165 = (((257248 + ($$0617659<<4)|0)) + 4|0); + HEAP32[$165>>2] = 0; + $166 = (((257248 + ($$0617659<<4)|0)) + 8|0); + HEAP32[$166>>2] = 50; + $167 = (_GetScreenHeight()|0); + $168 = (((257248 + ($$0617659<<4)|0)) + 12|0); + HEAP32[$168>>2] = $167; + $169 = (257504 + ($$0617659<<2)|0); + $not$ = ($$0617659|0)<(6); + $$sink = $not$&1; + HEAP32[$169>>2] = $$sink; + $170 = (($$0617659) + 1)|0; + $exitcond672 = ($170|0)==(16); + if ($exitcond672) { + $$0618658 = 0; + break; + } else { + $$0617659 = $170; + } + } + while(1) { + $171 = (257568 + ($$0618658<<4)|0); + HEAP32[$171>>2] = -200; + $172 = (_GetScreenHeight()|0); + $173 = (($172) + -30)|0; + $174 = (((257568 + ($$0618658<<4)|0)) + 4|0); + HEAP32[$174>>2] = $173; + $175 = (((257568 + ($$0618658<<4)|0)) + 8|0); + HEAP32[$175>>2] = 30; + $176 = (((257568 + ($$0618658<<4)|0)) + 12|0); + HEAP32[$176>>2] = 720; + $177 = (257728 + ($$0618658<<2)|0); + HEAP32[$177>>2] = 0; + $178 = (257768 + ($$0618658<<2)|0); + HEAP32[$178>>2] = 0; + $179 = (257808 + ($$0618658<<2)|0); + HEAP32[$179>>2] = 0; + $180 = (($$0618658) + 1)|0; + $exitcond671 = ($180|0)==(10); + if ($exitcond671) { + break; + } else { + $$0618658 = $180; + } + } + HEAP32[64462] = -100; + HEAP32[(257852)>>2] = 0; + HEAP32[(257856)>>2] = 10; + $181 = (_GetScreenHeight()|0); + HEAP32[(257860)>>2] = $181; + HEAP32[64502] = 0; + HEAP32[(257864)>>2] = -100; + HEAP32[(257868)>>2] = 0; + HEAP32[(257872)>>2] = 10; + $182 = (_GetScreenHeight()|0); + HEAP32[(257876)>>2] = $182; + HEAP32[(258012)>>2] = 0; + HEAP32[(257880)>>2] = -100; + HEAP32[(257884)>>2] = 0; + HEAP32[(257888)>>2] = 10; + $183 = (_GetScreenHeight()|0); + HEAP32[(257892)>>2] = $183; + HEAP32[(258016)>>2] = 0; + HEAP32[(257896)>>2] = -100; + HEAP32[(257900)>>2] = 0; + HEAP32[(257904)>>2] = 10; + $184 = (_GetScreenHeight()|0); + HEAP32[(257908)>>2] = $184; + HEAP32[(258020)>>2] = 0; + HEAP32[(257912)>>2] = -100; + HEAP32[(257916)>>2] = 0; + HEAP32[(257920)>>2] = 10; + $185 = (_GetScreenHeight()|0); + HEAP32[(257924)>>2] = $185; + HEAP32[(258024)>>2] = 0; + HEAP32[(257928)>>2] = -100; + HEAP32[(257932)>>2] = 0; + HEAP32[(257936)>>2] = 10; + $186 = (_GetScreenHeight()|0); + HEAP32[(257940)>>2] = $186; + HEAP32[(258028)>>2] = 0; + HEAP32[(257944)>>2] = -100; + HEAP32[(257948)>>2] = 0; + HEAP32[(257952)>>2] = 10; + $187 = (_GetScreenHeight()|0); + HEAP32[(257956)>>2] = $187; + HEAP32[(258032)>>2] = 0; + HEAP32[(257960)>>2] = -100; + HEAP32[(257964)>>2] = 0; + HEAP32[(257968)>>2] = 10; + $188 = (_GetScreenHeight()|0); + HEAP32[(257972)>>2] = $188; + HEAP32[(258036)>>2] = 0; + HEAP32[(257976)>>2] = -100; + HEAP32[(257980)>>2] = 0; + HEAP32[(257984)>>2] = 10; + $189 = (_GetScreenHeight()|0); + HEAP32[(257988)>>2] = $189; + HEAP32[(258040)>>2] = 0; + HEAP32[(257992)>>2] = -100; + HEAP32[(257996)>>2] = 0; + HEAP32[(258000)>>2] = 10; + $190 = (_GetScreenHeight()|0); + HEAP32[(258004)>>2] = $190; + HEAP32[(258044)>>2] = 0; + dest=258048; stop=dest+40|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + HEAP32[64522] = -100; + HEAP32[(258092)>>2] = 0; + HEAP32[(258096)>>2] = 32; + HEAP32[(258100)>>2] = 50; + HEAP32[(258104)>>2] = -100; + HEAP32[(258108)>>2] = 0; + HEAP32[(258112)>>2] = 32; + HEAP32[(258116)>>2] = 50; + HEAP32[(258120)>>2] = -100; + HEAP32[(258124)>>2] = 0; + HEAP32[(258128)>>2] = 32; + HEAP32[(258132)>>2] = 50; + HEAP32[(258136)>>2] = -100; + HEAP32[(258140)>>2] = 0; + HEAP32[(258144)>>2] = 32; + HEAP32[(258148)>>2] = 50; + HEAP32[(258152)>>2] = -100; + HEAP32[(258156)>>2] = 0; + HEAP32[(258160)>>2] = 32; + HEAP32[(258164)>>2] = 50; + HEAP32[(258168)>>2] = -100; + HEAP32[(258172)>>2] = 0; + HEAP32[(258176)>>2] = 32; + HEAP32[(258180)>>2] = 50; + HEAP32[(258184)>>2] = -100; + HEAP32[(258188)>>2] = 0; + HEAP32[(258192)>>2] = 32; + HEAP32[(258196)>>2] = 50; + HEAP32[(258200)>>2] = -100; + HEAP32[(258204)>>2] = 0; + HEAP32[(258208)>>2] = 32; + HEAP32[(258212)>>2] = 50; + HEAP32[(258216)>>2] = -100; + HEAP32[(258220)>>2] = 0; + HEAP32[(258224)>>2] = 32; + HEAP32[(258228)>>2] = 50; + HEAP32[(258232)>>2] = -100; + HEAP32[(258236)>>2] = 0; + HEAP32[(258240)>>2] = 32; + HEAP32[(258244)>>2] = 50; + dest=258248; stop=dest+40|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + HEAP32[64572] = -100; + HEAP32[(258292)>>2] = 0; + HEAP32[(258296)>>2] = 70; + HEAP32[(258300)>>2] = 100; + HEAP32[(258304)>>2] = -100; + HEAP32[(258308)>>2] = 0; + HEAP32[(258312)>>2] = 70; + HEAP32[(258316)>>2] = 100; + HEAP32[(258320)>>2] = -100; + HEAP32[(258324)>>2] = 0; + HEAP32[(258328)>>2] = 70; + HEAP32[(258332)>>2] = 100; + HEAP32[(258336)>>2] = -100; + HEAP32[(258340)>>2] = 0; + HEAP32[(258344)>>2] = 70; + HEAP32[(258348)>>2] = 100; + HEAP32[(258352)>>2] = -100; + HEAP32[(258356)>>2] = 0; + HEAP32[(258360)>>2] = 70; + HEAP32[(258364)>>2] = 100; + HEAP32[(258368)>>2] = -100; + HEAP32[(258372)>>2] = 0; + HEAP32[(258376)>>2] = 70; + HEAP32[(258380)>>2] = 100; + HEAP32[(258384)>>2] = -100; + HEAP32[(258388)>>2] = 0; + HEAP32[(258392)>>2] = 70; + HEAP32[(258396)>>2] = 100; + HEAP32[(258400)>>2] = -100; + HEAP32[(258404)>>2] = 0; + HEAP32[(258408)>>2] = 70; + HEAP32[(258412)>>2] = 100; + HEAP32[(258416)>>2] = -100; + HEAP32[(258420)>>2] = 0; + HEAP32[(258424)>>2] = 70; + HEAP32[(258428)>>2] = 100; + HEAP32[(258432)>>2] = -100; + HEAP32[(258436)>>2] = 0; + HEAP32[(258440)>>2] = 70; + HEAP32[(258444)>>2] = 100; + $$0622654 = 0; + while(1) { + $191 = (258448 + ($$0622654<<4)|0); + HEAP32[$191>>2] = 0; + $192 = (((258448 + ($$0622654<<4)|0)) + 4|0); + HEAP32[$192>>2] = 0; + $193 = (((258448 + ($$0622654<<4)|0)) + 8|0); + HEAP32[$193>>2] = 50; + $194 = (((258448 + ($$0622654<<4)|0)) + 12|0); + HEAP32[$194>>2] = 60; + $195 = (258704 + ($$0622654<<2)|0); + HEAP32[$195>>2] = 0; + $196 = (258768 + ($$0622654<<2)|0); + HEAP32[$196>>2] = 0; + $197 = (258832 + ($$0622654<<4)|0); + HEAP32[$197>>2] = -100; + $198 = (((258832 + ($$0622654<<4)|0)) + 4|0); + HEAP32[$198>>2] = 0; + $199 = (((258832 + ($$0622654<<4)|0)) + 8|0); + HEAP32[$199>>2] = 64; + $200 = (((258832 + ($$0622654<<4)|0)) + 12|0); + HEAP32[$200>>2] = 90; + $201 = (259088 + ($$0622654<<2)|0); + HEAP32[$201>>2] = 0; + $202 = (259152 + ($$0622654<<2)|0); + HEAP32[$202>>2] = 0; + $203 = (259216 + ($$0622654<<4)|0); + HEAP32[$203>>2] = -100; + $204 = (((259216 + ($$0622654<<4)|0)) + 4|0); + HEAP32[$204>>2] = 0; + $205 = (((259216 + ($$0622654<<4)|0)) + 8|0); + HEAP32[$205>>2] = 40; + $206 = (((259216 + ($$0622654<<4)|0)) + 12|0); + HEAP32[$206>>2] = 60; + $207 = (259472 + ($$0622654<<2)|0); + HEAP32[$207>>2] = 0; + $208 = (259536 + ($$0622654<<2)|0); + HEAP32[$208>>2] = 0; + $209 = (259600 + ($$0622654<<2)|0); + HEAP32[$209>>2] = 0; + $210 = HEAP32[$203>>2]|0; + $211 = (+($210|0)); + $212 = (259664 + ($$0622654<<3)|0); + HEAPF32[$212>>2] = $211; + $213 = HEAP32[$204>>2]|0; + $214 = (+($213|0)); + $215 = (((259664 + ($$0622654<<3)|0)) + 4|0); + HEAPF32[$215>>2] = $214; + $216 = (_GetRandomValue(-20,20)|0); + $217 = (+($216|0)); + $218 = (_GetRandomValue(-20,20)|0); + $219 = (+($218|0)); + $$sroa$060$0$$sroa_idx = (259792 + (($$0622654*40)|0)|0); + HEAPF32[$$sroa$060$0$$sroa_idx>>2] = $217; + $$sroa$261$0$$sroa_idx62 = (((259792 + (($$0622654*40)|0)|0)) + 4|0); + HEAPF32[$$sroa$261$0$$sroa_idx62>>2] = $219; + $220 = (_GetRandomValue(-500,500)|0); + $221 = (+($220|0)); + $222 = $221 / 100.0; + $223 = (_GetRandomValue(-500,500)|0); + $224 = (+($223|0)); + $225 = $224 / 100.0; + $$sroa$057$0$$sroa_idx = (((259792 + (($$0622654*40)|0)|0)) + 8|0); + HEAPF32[$$sroa$057$0$$sroa_idx>>2] = $222; + $$sroa$258$0$$sroa_idx59 = (((259792 + (($$0622654*40)|0)|0)) + 12|0); + HEAPF32[$$sroa$258$0$$sroa_idx59>>2] = $225; + $226 = (_GetRandomValue(1,45)|0); + $227 = (+($226|0)); + $228 = $227 / 30.0; + $229 = (((259792 + (($$0622654*40)|0)|0)) + 20|0); + HEAPF32[$229>>2] = $228; + $230 = (_GetRandomValue(0,360)|0); + $231 = (+($230|0)); + $232 = (((259792 + (($$0622654*40)|0)|0)) + 16|0); + HEAPF32[$232>>2] = $231; + $$sroa$053$0$$sroa_idx = (((259792 + (($$0622654*40)|0)|0)) + 24|0); + HEAP8[$$sroa$053$0$$sroa_idx>>0] = -26; + $$sroa$254$0$$sroa_idx = (((259792 + (($$0622654*40)|0)|0)) + 25|0); + HEAP8[$$sroa$254$0$$sroa_idx>>0] = 41; + $$sroa$355$0$$sroa_idx = (((259792 + (($$0622654*40)|0)|0)) + 26|0); + HEAP8[$$sroa$355$0$$sroa_idx>>0] = 55; + $$sroa$456$0$$sroa_idx = (((259792 + (($$0622654*40)|0)|0)) + 27|0); + HEAP8[$$sroa$456$0$$sroa_idx>>0] = -1; + $233 = (((259792 + (($$0622654*40)|0)|0)) + 28|0); + HEAPF32[$233>>2] = 1.0; + $234 = (((259792 + (($$0622654*40)|0)|0)) + 36|0); + HEAP32[$234>>2] = 0; + $235 = (_GetRandomValue(-20,20)|0); + $236 = (+($235|0)); + $237 = (_GetRandomValue(-20,20)|0); + $238 = (+($237|0)); + $$sroa$050$0$$sroa_idx = (260432 + (($$0622654*24)|0)|0); + HEAPF32[$$sroa$050$0$$sroa_idx>>2] = $236; + $$sroa$251$0$$sroa_idx52 = (((260432 + (($$0622654*24)|0)|0)) + 4|0); + HEAPF32[$$sroa$251$0$$sroa_idx52>>2] = $238; + $239 = (_GetRandomValue(1,45)|0); + $240 = (+($239|0)); + $241 = $240 / 30.0; + $242 = (((260432 + (($$0622654*24)|0)|0)) + 16|0); + HEAPF32[$242>>2] = $241; + $243 = (((260432 + (($$0622654*24)|0)|0)) + 12|0); + HEAPF32[$243>>2] = 1.0; + $244 = (((260432 + (($$0622654*24)|0)|0)) + 8|0); + HEAP32[$244>>2] = 0; + $245 = (($$0622654) + 1)|0; + $exitcond667 = ($245|0)==(16); + if ($exitcond667) { + $$0624653 = 0; + break; + } else { + $$0622654 = $245; + } + } + while(1) { + $267 = (260920 + ($$0624653<<4)|0); + HEAP32[$267>>2] = 0; + $268 = (((260920 + ($$0624653<<4)|0)) + 4|0); + HEAP32[$268>>2] = 0; + $269 = (((260920 + ($$0624653<<4)|0)) + 8|0); + HEAP32[$269>>2] = 30; + $270 = (((260920 + ($$0624653<<4)|0)) + 12|0); + HEAP32[$270>>2] = 30; + $271 = (261144 + ($$0624653<<2)|0); + HEAP32[$271>>2] = 0; + $272 = (261200 + ($$0624653<<2)|0); + HEAP32[$272>>2] = -1; + $$sroa$023$0$$sroa_idx = (261256 + (($$0624653*5140)|0)|0); + HEAPF32[$$sroa$023$0$$sroa_idx>>2] = 0.0; + $$sroa$224$0$$sroa_idx25 = (((261256 + (($$0624653*5140)|0)|0)) + 4|0); + HEAPF32[$$sroa$224$0$$sroa_idx25>>2] = 0.0; + $273 = (((261256 + (($$0624653*5140)|0)|0)) + 8|0); + HEAP32[$273>>2] = 0; + $274 = (_GetRandomValue(-20,20)|0); + $275 = (+($274|0)); + $276 = (_GetRandomValue(-20,20)|0); + $277 = (+($276|0)); + $$sroa$020$0$$sroa_idx = (333216 + (($$0624653*24)|0)|0); + HEAPF32[$$sroa$020$0$$sroa_idx>>2] = $275; + $$sroa$221$0$$sroa_idx22 = (((333216 + (($$0624653*24)|0)|0)) + 4|0); + HEAPF32[$$sroa$221$0$$sroa_idx22>>2] = $277; + $278 = (_GetRandomValue(1,45)|0); + $279 = (+($278|0)); + $280 = $279 / 30.0; + $281 = (((333216 + (($$0624653*24)|0)|0)) + 16|0); + HEAPF32[$281>>2] = $280; + $282 = (((333216 + (($$0624653*24)|0)|0)) + 12|0); + HEAPF32[$282>>2] = 1.0; + $283 = (((333216 + (($$0624653*24)|0)|0)) + 20|0); + HEAP32[$283>>2] = 0; + $284 = (((333216 + (($$0624653*24)|0)|0)) + 8|0); + HEAP32[$284>>2] = 0; + $$0623652 = 0; + while(1) { + $286 = ((((((261256 + (($$0624653*5140)|0)|0)) + 20|0) + (($$0623652*40)|0)|0)) + 36|0); + HEAP32[$286>>2] = 0; + $287 = (_GetRandomValue(-20,20)|0); + $288 = (+($287|0)); + $289 = (_GetRandomValue(-20,20)|0); + $290 = (+($289|0)); + $$sroa$08$0$$sroa_idx = ((((261256 + (($$0624653*5140)|0)|0)) + 20|0) + (($$0623652*40)|0)|0); + HEAPF32[$$sroa$08$0$$sroa_idx>>2] = $288; + $$sroa$29$0$$sroa_idx10 = ((((((261256 + (($$0624653*5140)|0)|0)) + 20|0) + (($$0623652*40)|0)|0)) + 4|0); + HEAPF32[$$sroa$29$0$$sroa_idx10>>2] = $290; + $291 = (_GetRandomValue(-500,500)|0); + $292 = (+($291|0)); + $293 = $292 / 100.0; + $294 = (_GetRandomValue(-500,500)|0); + $295 = (+($294|0)); + $296 = $295 / 100.0; + $$sroa$05$0$$sroa_idx = ((((((261256 + (($$0624653*5140)|0)|0)) + 20|0) + (($$0623652*40)|0)|0)) + 8|0); + HEAPF32[$$sroa$05$0$$sroa_idx>>2] = $293; + $$sroa$26$0$$sroa_idx7 = ((((((261256 + (($$0624653*5140)|0)|0)) + 20|0) + (($$0623652*40)|0)|0)) + 12|0); + HEAPF32[$$sroa$26$0$$sroa_idx7>>2] = $296; + $297 = (_GetRandomValue(3,10)|0); + $298 = (+($297|0)); + $299 = $298 / 5.0; + $300 = ((((((261256 + (($$0624653*5140)|0)|0)) + 20|0) + (($$0623652*40)|0)|0)) + 20|0); + HEAPF32[$300>>2] = $299; + $301 = (_GetRandomValue(0,360)|0); + $302 = (+($301|0)); + $303 = ((((((261256 + (($$0624653*5140)|0)|0)) + 20|0) + (($$0623652*40)|0)|0)) + 16|0); + HEAPF32[$303>>2] = $302; + $$sroa$03$0$$sroa_idx = ((((((261256 + (($$0624653*5140)|0)|0)) + 20|0) + (($$0623652*40)|0)|0)) + 24|0); + $304 = ((((((261256 + (($$0624653*5140)|0)|0)) + 20|0) + (($$0623652*40)|0)|0)) + 28|0); + HEAP32[$$sroa$03$0$$sroa_idx>>2] = -1; + HEAPF32[$304>>2] = 1.0; + $305 = (($$0623652) + 1)|0; + $exitcond = ($305|0)==(32); + if ($exitcond) { + break; + } else { + $$0623652 = $305; + } + } + $285 = (($$0624653) + 1)|0; + $exitcond666 = ($285|0)==(14); + if ($exitcond666) { + break; + } else { + $$0624653 = $285; + } + } + $246 = (_GetScreenWidth()|0); + $247 = (+($246|0)); + $248 = $247 * 0.25999999046325684; + $249 = (~~(($248))); + HEAP32[65204] = $249; + HEAP32[(260820)>>2] = 100; + HEAP32[(260824)>>2] = 35; + HEAP32[(260828)>>2] = 60; + HEAP32[65208] = -200; + HEAP32[(260836)>>2] = 0; + HEAP32[(260840)>>2] = 50; + HEAP32[(260844)>>2] = 32; + HEAP32[65212] = 0; + $250 = (_GetRandomValue(-20,20)|0); + $251 = (+($250|0)); + $252 = (_GetRandomValue(-20,20)|0); + $253 = (+($252|0)); + HEAPF32[65213] = $251; + HEAPF32[(260856)>>2] = $253; + $254 = (_GetRandomValue(1,45)|0); + $255 = (+($254|0)); + $256 = $255 / 30.0; + HEAPF32[(260868)>>2] = $256; + HEAPF32[(260864)>>2] = 1.0; + HEAP32[(260860)>>2] = 0; + HEAP32[65219] = -128; + HEAP32[(260880)>>2] = 0; + HEAP32[(260884)>>2] = 200; + HEAP32[(260888)>>2] = 80; + HEAP32[65223] = 0; + $257 = (_GetRandomValue(-20,20)|0); + $258 = (+($257|0)); + $259 = (_GetRandomValue(-20,20)|0); + $260 = (+($259|0)); + HEAPF32[65224] = $258; + HEAPF32[(260900)>>2] = $260; + $261 = (_GetRandomValue(1,45)|0); + $262 = (+($261|0)); + $263 = $262 / 30.0; + HEAPF32[(260912)>>2] = $263; + HEAPF32[(260908)>>2] = 1.0; + HEAP32[(260904)>>2] = 0; + HEAP8[339124] = -1; + HEAP8[(339125)>>0] = -32; + HEAP8[(339126)>>0] = -71; + HEAP8[(339127)>>0] = -1; + $264 = HEAP32[(25500)>>2]|0; + $265 = ($264*5)|0; + $266 = (+($265|0)); + ;HEAP32[$font$byval_copy>>2]=HEAP32[25480>>2]|0;HEAP32[$font$byval_copy+4>>2]=HEAP32[25480+4>>2]|0;HEAP32[$font$byval_copy+8>>2]=HEAP32[25480+8>>2]|0;HEAP32[$font$byval_copy+12>>2]=HEAP32[25480+12>>2]|0;HEAP32[$font$byval_copy+16>>2]=HEAP32[25480+16>>2]|0;HEAP32[$font$byval_copy+20>>2]=HEAP32[25480+20>>2]|0;HEAP32[$font$byval_copy+24>>2]=HEAP32[25480+24>>2]|0;HEAP32[$font$byval_copy+28>>2]=HEAP32[25480+28>>2]|0; + _MeasureTextEx($0,$font$byval_copy,6795,$266,2); + STACKTOP = sp;return; +} +function _UpdateGameplayScreen() { + var $$$ = 0, $$$1098 = 0, $$010501223 = 0, $$010511222 = 0, $$010521221 = 0, $$010531220 = 0, $$010541218 = 0, $$010551213 = 0, $$010561214 = 0, $$010571215 = 0, $$010601212 = 0, $$010611209 = 0, $$010621208 = 0, $$010631206 = 0, $$010641205 = 0, $$010651204 = 0, $$010661203 = 0, $$010671202 = 0, $$010681201 = 0, $$010691200 = 0; + var $$010701199 = 0, $$010711198 = 0, $$010731196 = 0, $$010741195 = 0, $$010751194 = 0, $$010761193 = 0, $$010771192 = 0, $$010781191 = 0, $$010791190 = 0, $$010801188 = 0, $$010811187 = 0, $$010821186 = 0, $$010831185 = 0, $$01224 = 0, $$1117 = 0, $$1118 = 0, $$1119 = 0, $$1120 = 0, $$1121 = 0, $$1122 = 0; + var $$1123 = 0, $$1124 = 0, $$1125 = 0, $$byval_copy100 = 0, $$byval_copy101 = 0, $$cmp = 0, $$cmp1086 = 0, $$inv = 0, $$off = 0, $$off1084 = 0, $$off1085 = 0, $$off1092 = 0, $$off1093 = 0, $$pr = 0, $$pr1127 = 0, $$pr1129 = 0, $$pr1131 = 0, $$pr1145 = 0, $$pr1153 = 0, $$sink = 0; + var $$sink$sink = 0, $$sink1103 = 0, $$sink1114 = 0, $$sink1115 = 0, $$sink1116 = 0, $$sink113 = 0.0, $$sink115 = 0.0, $$sink117 = 0.0, $$sink119 = 0.0, $$sink23 = 0, $$sink24 = 0, $$sink41 = 0.0, $$sink82 = 0, $$sink82$v = 0, $$sink92 = 0.0, $$sink93 = 0.0, $$sroa$0166$0$$sroa_idx = 0, $$sroa$0169$0$$sroa_idx = 0, $$sroa$0172$0$$sroa_idx = 0, $$sroa$0175$0$$sroa_idx = 0; + var $$sroa$0178$0$$sroa_idx = 0, $$sroa$0181$0$$sroa_idx = 0, $$sroa$0184$0$$sroa_idx = 0, $$sroa$0187$0$$sroa_idx = 0, $$sroa$0190$0$$sroa_idx = 0, $$sroa$0387$0$$sroa_idx = 0, $$sroa$0390$0$$sroa_idx = 0, $$sroa$0421$0$$sroa_idx = 0, $$sroa$0424$0$$sroa_idx = 0, $$sroa$0436$0$$sroa_idx = 0, $$sroa$0446$0$$sroa_idx = 0, $$sroa$0472$0$$sroa_idx = 0, $$sroa$0482$0$$sroa_idx = 0, $$sroa$0485$0$$sroa_idx = 0, $$sroa$0498$0$$sroa_idx = 0, $$sroa$0501$0$$sroa_idx = 0, $$sroa$0514$0$$sroa_idx = 0, $$sroa$0517$0$$sroa_idx = 0, $$sroa$0530$0$$sroa_idx = 0, $$sroa$0540$0$$sroa_idx = 0; + var $$sroa$0607$0$$sroa_idx = 0, $$sroa$0623$0$$sroa_idx = 0, $$sroa$0665$0$$sroa_idx = 0, $$sroa$0668$0$$sroa_idx = 0, $$sroa$0671$0$$sroa_idx = 0, $$sroa$0674$0$$sroa_idx = 0, $$sroa$0677$0$$sroa_idx = 0, $$sroa$0680$0$$sroa_idx = 0, $$sroa$0683$0$$sroa_idx = 0, $$sroa$0686$0$$sroa_idx = 0, $$sroa$0689$0$$sroa_idx = 0, $$sroa$2167$0$$sroa_idx168 = 0, $$sroa$2170$0$$sroa_idx171 = 0, $$sroa$2173$0$$sroa_idx174 = 0, $$sroa$2176$0$$sroa_idx177 = 0, $$sroa$2179$0$$sroa_idx180 = 0, $$sroa$2182$0$$sroa_idx183 = 0, $$sroa$2185$0$$sroa_idx186 = 0, $$sroa$2188$0$$sroa_idx189 = 0, $$sroa$2191$0$$sroa_idx192 = 0; + var $$sroa$2388$0$$sroa_idx389 = 0, $$sroa$2391$0$$sroa_idx392 = 0, $$sroa$2422$0$$sroa_idx423 = 0, $$sroa$2425$0$$sroa_idx426 = 0, $$sroa$2437$0$$sroa_idx438 = 0, $$sroa$2447$0$$sroa_idx448 = 0, $$sroa$2473$0$$sroa_idx474 = 0, $$sroa$2483$0$$sroa_idx484 = 0, $$sroa$2486$0$$sroa_idx487 = 0, $$sroa$2499$0$$sroa_idx500 = 0, $$sroa$2502$0$$sroa_idx503 = 0, $$sroa$2515$0$$sroa_idx516 = 0, $$sroa$2518$0$$sroa_idx519 = 0, $$sroa$2531$0$$sroa_idx532 = 0, $$sroa$2541$0$$sroa_idx542 = 0, $$sroa$2608$0$$sroa_idx609 = 0, $$sroa$2611$0$$sroa_idx612 = 0, $$sroa$2624$0$$sroa_idx625 = 0, $$sroa$2627$0$$sroa_idx628 = 0, $$sroa$2666$0$$sroa_idx667 = 0; + var $$sroa$2669$0$$sroa_idx670 = 0, $$sroa$2672$0$$sroa_idx673 = 0, $$sroa$2675$0$$sroa_idx676 = 0, $$sroa$2678$0$$sroa_idx679 = 0, $$sroa$2681$0$$sroa_idx682 = 0, $$sroa$2684$0$$sroa_idx685 = 0, $$sroa$2687$0$$sroa_idx688 = 0, $$sroa$2690$0$$sroa_idx691 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $1000 = 0, $1001 = 0, $1002 = 0, $1003 = 0, $1004 = 0.0, $1005 = 0, $1006 = 0.0, $1007 = 0; + var $1008 = 0, $1009 = 0, $101 = 0, $1010 = 0, $1011 = 0, $1012 = 0, $1013 = 0, $1014 = 0, $1015 = 0, $1016 = 0, $1017 = 0, $1018 = 0, $1019 = 0, $102 = 0, $1020 = 0, $1021 = 0.0, $1022 = 0.0, $1023 = 0, $1024 = 0.0, $1025 = 0.0; + var $1026 = 0, $1027 = 0.0, $1028 = 0.0, $1029 = 0, $103 = 0, $1030 = 0, $1031 = 0.0, $1032 = 0, $1033 = 0, $1034 = 0, $1035 = 0, $1036 = 0, $1037 = 0.0, $1038 = 0, $1039 = 0, $104 = 0, $1040 = 0, $1041 = 0, $1042 = 0.0, $1043 = 0.0; + var $1044 = 0.0, $1045 = 0.0, $1046 = 0, $1047 = 0.0, $1048 = 0.0, $1049 = 0.0, $105 = 0, $1050 = 0.0, $1051 = 0, $1052 = 0.0, $1053 = 0, $1054 = 0.0, $1055 = 0.0, $1056 = 0, $1057 = 0.0, $1058 = 0.0, $1059 = 0, $106 = 0, $1060 = 0.0, $1061 = 0.0; + var $1062 = 0, $1063 = 0.0, $1064 = 0.0, $1065 = 0.0, $1066 = 0.0, $1067 = 0.0, $1068 = 0, $1069 = 0, $107 = 0, $1070 = 0, $1071 = 0, $1072 = 0, $1073 = 0, $1074 = 0, $1075 = 0.0, $1076 = 0.0, $1077 = 0, $1078 = 0.0, $1079 = 0.0, $108 = 0; + var $1080 = 0, $1081 = 0.0, $1082 = 0.0, $1083 = 0, $1084 = 0.0, $1085 = 0.0, $1086 = 0.0, $1087 = 0, $1088 = 0, $1089 = 0, $109 = 0, $1090 = 0, $1091 = 0, $1092 = 0, $1093 = 0, $1094 = 0, $1095 = 0.0, $1096 = 0.0, $1097 = 0, $1098 = 0.0; + var $1099 = 0.0, $11 = 0, $110 = 0, $1100 = 0, $1101 = 0, $1102 = 0, $1103 = 0, $1104 = 0, $1105 = 0.0, $1106 = 0.0, $1107 = 0, $1108 = 0.0, $1109 = 0.0, $111 = 0, $1110 = 0, $1111 = 0.0, $1112 = 0.0, $1113 = 0, $1114 = 0.0, $1115 = 0.0; + var $1116 = 0.0, $1117 = 0, $1118 = 0, $1119 = 0.0, $112 = 0.0, $1120 = 0.0, $1121 = 0.0, $1122 = 0.0, $1123 = 0.0, $1124 = 0.0, $1125 = 0, $1126 = 0.0, $1127 = 0.0, $1128 = 0.0, $1129 = 0.0, $113 = 0.0, $1130 = 0, $1131 = 0, $1132 = 0, $1133 = 0.0; + var $1134 = 0.0, $1135 = 0.0, $1136 = 0.0, $1137 = 0.0, $1138 = 0.0, $1139 = 0, $114 = 0.0, $1140 = 0.0, $1141 = 0.0, $1142 = 0.0, $1143 = 0.0, $1144 = 0, $1145 = 0, $1146 = 0, $1147 = 0, $1148 = 0, $1149 = 0, $115 = 0.0, $1150 = 0, $1151 = 0; + var $1152 = 0, $1153 = 0, $1154 = 0, $1155 = 0, $1156 = 0, $1157 = 0, $1158 = 0, $1159 = 0, $116 = 0, $1160 = 0.0, $1161 = 0, $1162 = 0, $1163 = 0, $1164 = 0, $1165 = 0, $1166 = 0, $1167 = 0, $1168 = 0, $1169 = 0, $117 = 0.0; + var $1170 = 0, $1171 = 0, $1172 = 0, $1173 = 0, $1174 = 0, $1175 = 0.0, $1176 = 0, $1177 = 0, $1178 = 0, $1179 = 0, $118 = 0.0, $1180 = 0, $1181 = 0, $1182 = 0, $1183 = 0, $1184 = 0, $1185 = 0, $1186 = 0, $1187 = 0, $1188 = 0; + var $1189 = 0, $119 = 0, $1190 = 0, $1191 = 0, $1192 = 0, $1193 = 0.0, $1194 = 0, $1195 = 0, $1196 = 0, $1197 = 0, $1198 = 0, $1199 = 0, $12 = 0, $120 = 0, $1200 = 0, $1201 = 0, $1202 = 0, $1203 = 0, $1204 = 0.0, $1205 = 0; + var $1206 = 0, $1207 = 0, $1208 = 0, $1209 = 0, $121 = 0, $1210 = 0, $1211 = 0, $1212 = 0, $1213 = 0, $1214 = 0, $1215 = 0, $1216 = 0, $1217 = 0, $1218 = 0, $1219 = 0, $122 = 0, $1220 = 0, $1221 = 0, $1222 = 0.0, $1223 = 0; + var $1224 = 0, $1225 = 0, $1226 = 0, $1227 = 0, $1228 = 0, $1229 = 0, $123 = 0, $1230 = 0, $1231 = 0, $1232 = 0, $1233 = 0.0, $1234 = 0, $1235 = 0, $1236 = 0, $1237 = 0, $1238 = 0, $1239 = 0, $124 = 0, $1240 = 0, $1241 = 0; + var $1242 = 0, $1243 = 0, $1244 = 0, $1245 = 0, $1246 = 0, $1247 = 0, $1248 = 0, $1249 = 0, $125 = 0, $1250 = 0, $1251 = 0.0, $1252 = 0, $1253 = 0, $1254 = 0, $1255 = 0, $1256 = 0, $1257 = 0, $1258 = 0, $1259 = 0, $126 = 0; + var $1260 = 0, $1261 = 0, $1262 = 0.0, $1263 = 0, $1264 = 0, $1265 = 0, $1266 = 0, $1267 = 0, $1268 = 0, $1269 = 0, $127 = 0, $1270 = 0, $1271 = 0, $1272 = 0, $1273 = 0, $1274 = 0, $1275 = 0, $1276 = 0, $1277 = 0, $1278 = 0.0; + var $1279 = 0, $128 = 0, $1280 = 0, $1281 = 0, $1282 = 0, $1283 = 0, $1284 = 0, $1285 = 0, $1286 = 0, $1287 = 0, $1288 = 0, $1289 = 0, $129 = 0.0, $1290 = 0, $1291 = 0, $1292 = 0, $1293 = 0, $1294 = 0, $1295 = 0, $1296 = 0.0; + var $1297 = 0, $1298 = 0.0, $1299 = 0, $13 = 0, $130 = 0.0, $1300 = 0, $1301 = 0, $1302 = 0, $1303 = 0, $1304 = 0, $1305 = 0, $1306 = 0, $1307 = 0, $1308 = 0, $1309 = 0, $131 = 0.0, $1310 = 0, $1311 = 0, $1312 = 0, $1313 = 0; + var $1314 = 0.0, $1315 = 0, $1316 = 0, $1317 = 0, $1318 = 0, $1319 = 0, $132 = 0.0, $1320 = 0, $1321 = 0, $1322 = 0, $1323 = 0, $1324 = 0, $1325 = 0, $1326 = 0, $1327 = 0, $1328 = 0, $1329 = 0.0, $133 = 0.0, $1330 = 0, $1331 = 0.0; + var $1332 = 0, $1333 = 0.0, $1334 = 0, $1335 = 0, $1336 = 0, $1337 = 0.0, $1338 = 0, $1339 = 0, $134 = 0.0, $1340 = 0, $1341 = 0, $1342 = 0, $1343 = 0, $1344 = 0, $1345 = 0, $1346 = 0.0, $1347 = 0.0, $1348 = 0, $1349 = 0.0, $135 = 0.0; + var $1350 = 0.0, $1351 = 0, $1352 = 0.0, $1353 = 0.0, $1354 = 0, $1355 = 0, $1356 = 0, $1357 = 0, $1358 = 0, $1359 = 0, $136 = 0.0, $1360 = 0, $1361 = 0, $1362 = 0, $1363 = 0, $1364 = 0, $1365 = 0, $1366 = 0, $1367 = 0, $1368 = 0; + var $1369 = 0.0, $137 = 0.0, $1370 = 0, $1371 = 0, $1372 = 0, $1373 = 0, $1374 = 0.0, $1375 = 0, $1376 = 0, $1377 = 0, $1378 = 0, $1379 = 0, $138 = 0, $1380 = 0, $1381 = 0, $1382 = 0, $1383 = 0, $1384 = 0, $1385 = 0, $1386 = 0; + var $1387 = 0.0, $1388 = 0, $1389 = 0, $139 = 0, $1390 = 0, $1391 = 0, $1392 = 0.0, $1393 = 0, $1394 = 0, $1395 = 0, $1396 = 0, $1397 = 0, $1398 = 0, $1399 = 0, $14 = 0, $140 = 0, $1400 = 0.0, $1401 = 0.0, $1402 = 0.0, $1403 = 0.0; + var $1404 = 0.0, $1405 = 0, $1406 = 0.0, $1407 = 0.0, $1408 = 0.0, $1409 = 0.0, $141 = 0, $1410 = 0.0, $1411 = 0.0, $1412 = 0.0, $1413 = 0.0, $1414 = 0, $1415 = 0.0, $1416 = 0.0, $1417 = 0.0, $1418 = 0.0, $1419 = 0, $142 = 0.0, $1420 = 0.0, $1421 = 0.0; + var $1422 = 0.0, $1423 = 0, $1424 = 0.0, $1425 = 0, $1426 = 0, $1427 = 0, $1428 = 0, $1429 = 0.0, $143 = 0.0, $1430 = 0.0, $1431 = 0.0, $1432 = 0.0, $1433 = 0, $1434 = 0.0, $1435 = 0.0, $1436 = 0.0, $1437 = 0.0, $1438 = 0.0, $1439 = 0.0, $144 = 0.0; + var $1440 = 0.0, $1441 = 0.0, $1442 = 0, $1443 = 0.0, $1444 = 0.0, $1445 = 0.0, $1446 = 0.0, $1447 = 0, $1448 = 0.0, $1449 = 0.0, $145 = 0.0, $1450 = 0.0, $1451 = 0, $1452 = 0.0, $1453 = 0, $1454 = 0, $1455 = 0, $1456 = 0, $1457 = 0.0, $1458 = 0.0; + var $1459 = 0.0, $146 = 0.0, $1460 = 0.0, $1461 = 0.0, $1462 = 0, $1463 = 0.0, $1464 = 0.0, $1465 = 0.0, $1466 = 0.0, $1467 = 0.0, $1468 = 0.0, $1469 = 0.0, $147 = 0.0, $1470 = 0.0, $1471 = 0, $1472 = 0.0, $1473 = 0.0, $1474 = 0.0, $1475 = 0.0, $1476 = 0; + var $1477 = 0.0, $1478 = 0.0, $1479 = 0.0, $148 = 0.0, $1480 = 0, $1481 = 0.0, $1482 = 0, $1483 = 0, $1484 = 0, $1485 = 0, $1486 = 0.0, $1487 = 0.0, $1488 = 0.0, $1489 = 0.0, $149 = 0, $1490 = 0.0, $1491 = 0, $1492 = 0.0, $1493 = 0.0, $1494 = 0.0; + var $1495 = 0.0, $1496 = 0.0, $1497 = 0.0, $1498 = 0.0, $1499 = 0.0, $15 = 0, $150 = 0.0, $1500 = 0, $1501 = 0.0, $1502 = 0.0, $1503 = 0.0, $1504 = 0.0, $1505 = 0, $1506 = 0.0, $1507 = 0.0, $1508 = 0.0, $1509 = 0, $151 = 0.0, $1510 = 0.0, $1511 = 0; + var $1512 = 0, $1513 = 0, $1514 = 0, $1515 = 0.0, $1516 = 0.0, $1517 = 0.0, $1518 = 0.0, $1519 = 0.0, $152 = 0, $1520 = 0, $1521 = 0.0, $1522 = 0.0, $1523 = 0.0, $1524 = 0.0, $1525 = 0.0, $1526 = 0.0, $1527 = 0.0, $1528 = 0.0, $1529 = 0, $153 = 0.0; + var $1530 = 0.0, $1531 = 0.0, $1532 = 0.0, $1533 = 0.0, $1534 = 0, $1535 = 0.0, $1536 = 0.0, $1537 = 0, $1538 = 0.0, $1539 = 0.0, $154 = 0.0, $1540 = 0.0, $1541 = 0.0, $1542 = 0.0, $1543 = 0.0, $1544 = 0.0, $1545 = 0.0, $1546 = 0, $1547 = 0.0, $1548 = 0; + var $1549 = 0.0, $155 = 0.0, $1550 = 0, $1551 = 0, $1552 = 0, $1553 = 0, $1554 = 0.0, $1555 = 0.0, $1556 = 0.0, $1557 = 0.0, $1558 = 0, $1559 = 0.0, $156 = 0.0, $1560 = 0.0, $1561 = 0.0, $1562 = 0.0, $1563 = 0.0, $1564 = 0.0, $1565 = 0.0, $1566 = 0.0; + var $1567 = 0, $1568 = 0.0, $1569 = 0.0, $157 = 0, $1570 = 0.0, $1571 = 0.0, $1572 = 0, $1573 = 0.0, $1574 = 0.0, $1575 = 0, $1576 = 0.0, $1577 = 0.0, $1578 = 0.0, $1579 = 0.0, $158 = 0.0, $1580 = 0.0, $1581 = 0.0, $1582 = 0.0, $1583 = 0, $1584 = 0.0; + var $1585 = 0, $1586 = 0.0, $1587 = 0, $1588 = 0, $1589 = 0, $159 = 0.0, $1590 = 0, $1591 = 0.0, $1592 = 0.0, $1593 = 0.0, $1594 = 0.0, $1595 = 0.0, $1596 = 0, $1597 = 0.0, $1598 = 0.0, $1599 = 0.0, $16 = 0, $160 = 0, $1600 = 0.0, $1601 = 0.0; + var $1602 = 0.0, $1603 = 0.0, $1604 = 0.0, $1605 = 0, $1606 = 0.0, $1607 = 0.0, $1608 = 0.0, $1609 = 0.0, $161 = 0.0, $1610 = 0, $1611 = 0.0, $1612 = 0.0, $1613 = 0.0, $1614 = 0, $1615 = 0.0, $1616 = 0, $1617 = 0, $1618 = 0, $1619 = 0, $162 = 0; + var $1620 = 0.0, $1621 = 0.0, $1622 = 0.0, $1623 = 0.0, $1624 = 0.0, $1625 = 0, $1626 = 0.0, $1627 = 0.0, $1628 = 0.0, $1629 = 0.0, $163 = 0, $1630 = 0.0, $1631 = 0.0, $1632 = 0.0, $1633 = 0.0, $1634 = 0, $1635 = 0.0, $1636 = 0.0, $1637 = 0.0, $1638 = 0.0; + var $1639 = 0, $164 = 0.0, $1640 = 0.0, $1641 = 0.0, $1642 = 0.0, $1643 = 0, $1644 = 0.0, $1645 = 0, $1646 = 0, $1647 = 0, $1648 = 0, $1649 = 0.0, $165 = 0, $1650 = 0.0, $1651 = 0.0, $1652 = 0.0, $1653 = 0.0, $1654 = 0, $1655 = 0.0, $1656 = 0.0; + var $1657 = 0.0, $1658 = 0.0, $1659 = 0.0, $166 = 0.0, $1660 = 0.0, $1661 = 0.0, $1662 = 0.0, $1663 = 0, $1664 = 0.0, $1665 = 0.0, $1666 = 0.0, $1667 = 0.0, $1668 = 0.0, $1669 = 0, $167 = 0.0, $1670 = 0.0, $1671 = 0, $1672 = 0, $1673 = 0, $1674 = 0; + var $1675 = 0.0, $1676 = 0.0, $1677 = 0.0, $1678 = 0.0, $1679 = 0.0, $168 = 0, $1680 = 0, $1681 = 0.0, $1682 = 0.0, $1683 = 0.0, $1684 = 0.0, $1685 = 0, $1686 = 0.0, $1687 = 0.0, $1688 = 0.0, $1689 = 0.0, $169 = 0, $1690 = 0.0, $1691 = 0, $1692 = 0.0; + var $1693 = 0, $1694 = 0, $1695 = 0, $1696 = 0, $1697 = 0, $1698 = 0.0, $1699 = 0.0, $17 = 0, $170 = 0, $1700 = 0.0, $1701 = 0.0, $1702 = 0.0, $1703 = 0, $1704 = 0.0, $1705 = 0.0, $1706 = 0.0, $1707 = 0.0, $1708 = 0.0, $1709 = 0.0, $171 = 0; + var $1710 = 0.0, $1711 = 0.0, $1712 = 0, $1713 = 0.0, $1714 = 0.0, $1715 = 0.0, $1716 = 0.0, $1717 = 0.0, $1718 = 0, $1719 = 0.0, $172 = 0.0, $1720 = 0, $1721 = 0, $1722 = 0, $1723 = 0, $1724 = 0.0, $1725 = 0.0, $1726 = 0.0, $1727 = 0.0, $1728 = 0; + var $1729 = 0.0, $173 = 0, $1730 = 0.0, $1731 = 0.0, $1732 = 0.0, $1733 = 0.0, $1734 = 0.0, $1735 = 0.0, $1736 = 0.0, $1737 = 0.0, $1738 = 0, $1739 = 0, $174 = 0.0, $1740 = 0, $1741 = 0.0, $1742 = 0.0, $1743 = 0.0, $1744 = 0.0, $1745 = 0.0, $1746 = 0; + var $1747 = 0.0, $1748 = 0.0, $1749 = 0.0, $175 = 0.0, $1750 = 0.0, $1751 = 0.0, $1752 = 0.0, $1753 = 0.0, $1754 = 0.0, $1755 = 0, $1756 = 0.0, $1757 = 0.0, $1758 = 0.0, $1759 = 0.0, $176 = 0.0, $1760 = 0, $1761 = 0.0, $1762 = 0.0, $1763 = 0.0, $1764 = 0; + var $1765 = 0.0, $1766 = 0, $1767 = 0, $1768 = 0, $1769 = 0, $177 = 0, $1770 = 0, $1771 = 0, $1772 = 0, $1773 = 0.0, $1774 = 0.0, $1775 = 0.0, $1776 = 0.0, $1777 = 0, $1778 = 0, $1779 = 0, $178 = 0.0, $1780 = 0, $1781 = 0.0, $1782 = 0.0; + var $1783 = 0, $1784 = 0, $1785 = 0.0, $1786 = 0.0, $1787 = 0, $1788 = 0.0, $1789 = 0, $179 = 0.0, $1790 = 0, $1791 = 0.0, $1792 = 0.0, $1793 = 0, $1794 = 0, $1795 = 0, $1796 = 0, $1797 = 0, $1798 = 0.0, $1799 = 0.0, $18 = 0, $180 = 0.0; + var $1800 = 0.0, $1801 = 0.0, $1802 = 0, $1803 = 0, $1804 = 0, $1805 = 0, $1806 = 0.0, $1807 = 0.0, $1808 = 0, $1809 = 0, $181 = 0, $1810 = 0.0, $1811 = 0.0, $1812 = 0, $1813 = 0.0, $1814 = 0, $1815 = 0, $1816 = 0.0, $1817 = 0.0, $1818 = 0; + var $1819 = 0, $182 = 0.0, $1820 = 0, $1821 = 0, $1822 = 0, $1823 = 0, $1824 = 0, $1825 = 0, $1826 = 0, $1827 = 0, $1828 = 0, $1829 = 0, $183 = 0.0, $1830 = 0, $1831 = 0, $1832 = 0, $1833 = 0, $1834 = 0, $1835 = 0, $1836 = 0; + var $1837 = 0, $1838 = 0, $1839 = 0, $184 = 0, $1840 = 0, $1841 = 0, $1842 = 0, $1843 = 0, $1844 = 0, $1845 = 0, $1846 = 0, $1847 = 0, $1848 = 0, $1849 = 0, $185 = 0, $1850 = 0, $1851 = 0, $1852 = 0, $1853 = 0, $1854 = 0; + var $1855 = 0, $1856 = 0, $1857 = 0, $1858 = 0, $1859 = 0, $186 = 0, $1860 = 0, $1861 = 0, $1862 = 0, $1863 = 0, $1864 = 0, $1865 = 0, $1866 = 0, $1867 = 0, $1868 = 0, $1869 = 0, $187 = 0, $1870 = 0, $1871 = 0, $1872 = 0; + var $1873 = 0, $1874 = 0, $1875 = 0, $1876 = 0, $1877 = 0, $1878 = 0.0, $1879 = 0.0, $188 = 0, $1880 = 0.0, $1881 = 0, $1882 = 0.0, $1883 = 0.0, $1884 = 0, $1885 = 0, $1886 = 0, $1887 = 0, $1888 = 0, $1889 = 0, $189 = 0.0, $1890 = 0; + var $1891 = 0, $1892 = 0, $1893 = 0.0, $1894 = 0.0, $1895 = 0, $1896 = 0.0, $1897 = 0.0, $1898 = 0, $1899 = 0, $19 = 0, $190 = 0.0, $1900 = 0, $1901 = 0, $1902 = 0, $1903 = 0, $1904 = 0, $1905 = 0, $1906 = 0, $1907 = 0, $1908 = 0; + var $1909 = 0, $191 = 0.0, $1910 = 0, $1911 = 0, $1912 = 0, $1913 = 0, $1914 = 0, $1915 = 0, $1916 = 0, $1917 = 0, $1918 = 0, $1919 = 0, $192 = 0.0, $1920 = 0, $1921 = 0, $1922 = 0, $1923 = 0, $1924 = 0, $1925 = 0, $1926 = 0; + var $1927 = 0, $1928 = 0.0, $1929 = 0, $193 = 0.0, $1930 = 0, $1931 = 0.0, $1932 = 0, $1933 = 0.0, $1934 = 0, $1935 = 0.0, $1936 = 0, $1937 = 0.0, $1938 = 0.0, $1939 = 0, $194 = 0.0, $1940 = 0, $1941 = 0, $1942 = 0, $1943 = 0, $1944 = 0.0; + var $1945 = 0, $1946 = 0.0, $1947 = 0, $1948 = 0, $1949 = 0, $195 = 0.0, $1950 = 0, $1951 = 0, $1952 = 0, $1953 = 0, $1954 = 0, $1955 = 0, $1956 = 0, $1957 = 0, $1958 = 0, $1959 = 0, $196 = 0, $1960 = 0, $1961 = 0, $1962 = 0; + var $1963 = 0, $1964 = 0, $1965 = 0, $1966 = 0, $1967 = 0, $1968 = 0, $1969 = 0, $197 = 0, $1970 = 0, $1971 = 0.0, $1972 = 0, $1973 = 0, $1974 = 0.0, $1975 = 0, $1976 = 0.0, $1977 = 0, $1978 = 0.0, $1979 = 0, $198 = 0, $1980 = 0.0; + var $1981 = 0.0, $1982 = 0, $1983 = 0, $1984 = 0, $1985 = 0, $1986 = 0, $1987 = 0.0, $1988 = 0, $1989 = 0.0, $199 = 0, $1990 = 0, $1991 = 0, $1992 = 0, $1993 = 0, $1994 = 0, $1995 = 0, $1996 = 0, $1997 = 0, $1998 = 0, $1999 = 0; + var $2 = 0, $20 = 0, $200 = 0, $2000 = 0, $2001 = 0, $2002 = 0, $2003 = 0, $2004 = 0, $2005 = 0, $2006 = 0, $2007 = 0, $2008 = 0, $2009 = 0, $201 = 0, $2010 = 0, $2011 = 0, $2012 = 0, $2013 = 0, $2014 = 0.0, $2015 = 0; + var $2016 = 0, $2017 = 0.0, $2018 = 0, $2019 = 0.0, $202 = 0.0, $2020 = 0, $2021 = 0.0, $2022 = 0, $2023 = 0.0, $2024 = 0.0, $2025 = 0, $2026 = 0, $2027 = 0, $2028 = 0, $2029 = 0, $203 = 0.0, $2030 = 0.0, $2031 = 0, $2032 = 0.0, $2033 = 0; + var $2034 = 0, $2035 = 0, $2036 = 0, $2037 = 0, $2038 = 0, $2039 = 0, $204 = 0, $2040 = 0, $2041 = 0, $2042 = 0, $2043 = 0, $2044 = 0, $2045 = 0, $2046 = 0, $2047 = 0, $2048 = 0.0, $2049 = 0, $205 = 0.0, $2050 = 0.0, $2051 = 0; + var $2052 = 0, $2053 = 0, $2054 = 0, $2055 = 0, $2056 = 0, $2057 = 0, $2058 = 0, $2059 = 0, $206 = 0.0, $2060 = 0, $2061 = 0, $2062 = 0, $2063 = 0, $2064 = 0, $2065 = 0.0, $2066 = 0, $2067 = 0.0, $2068 = 0, $2069 = 0, $207 = 0.0; + var $2070 = 0, $2071 = 0, $2072 = 0.0, $2073 = 0.0, $2074 = 0, $2075 = 0, $2076 = 0, $2077 = 0, $2078 = 0, $2079 = 0.0, $208 = 0, $2080 = 0, $2081 = 0.0, $2082 = 0.0, $2083 = 0, $2084 = 0, $2085 = 0, $2086 = 0, $2087 = 0, $2088 = 0; + var $2089 = 0, $209 = 0, $2090 = 0, $2091 = 0, $2092 = 0, $2093 = 0, $2094 = 0, $2095 = 0, $2096 = 0, $2097 = 0, $2098 = 0, $2099 = 0, $21 = 0, $210 = 0.0, $2100 = 0, $2101 = 0, $2102 = 0, $2103 = 0, $2104 = 0, $2105 = 0; + var $2106 = 0, $2107 = 0, $2108 = 0, $2109 = 0, $211 = 0, $2110 = 0, $2111 = 0, $2112 = 0, $2113 = 0, $2114 = 0, $2115 = 0, $2116 = 0, $2117 = 0, $2118 = 0, $2119 = 0, $212 = 0.0, $2120 = 0, $2121 = 0, $2122 = 0, $2123 = 0; + var $2124 = 0, $2125 = 0, $2126 = 0, $2127 = 0, $2128 = 0, $2129 = 0, $213 = 0, $2130 = 0, $2131 = 0, $2132 = 0, $2133 = 0, $2134 = 0, $2135 = 0, $2136 = 0, $2137 = 0, $2138 = 0, $2139 = 0, $214 = 0, $2140 = 0, $2141 = 0; + var $2142 = 0, $2143 = 0, $2144 = 0, $2145 = 0, $2146 = 0, $2147 = 0, $2148 = 0, $2149 = 0, $215 = 0.0, $2150 = 0, $2151 = 0, $2152 = 0, $2153 = 0, $2154 = 0, $2155 = 0, $2156 = 0, $2157 = 0, $2158 = 0, $2159 = 0, $216 = 0; + var $2160 = 0, $2161 = 0.0, $2162 = 0.0, $2163 = 0.0, $2164 = 0, $2165 = 0.0, $2166 = 0.0, $2167 = 0, $2168 = 0, $2169 = 0, $217 = 0.0, $2170 = 0, $2171 = 0, $2172 = 0, $2173 = 0, $2174 = 0, $2175 = 0, $2176 = 0, $2177 = 0, $2178 = 0; + var $2179 = 0, $218 = 0, $2180 = 0, $2181 = 0, $2182 = 0, $2183 = 0, $2184 = 0, $2185 = 0, $2186 = 0, $2187 = 0, $2188 = 0, $2189 = 0, $219 = 0, $2190 = 0, $2191 = 0, $2192 = 0, $2193 = 0, $2194 = 0, $2195 = 0, $2196 = 0; + var $2197 = 0, $2198 = 0, $2199 = 0, $22 = 0.0, $220 = 0.0, $2200 = 0, $2201 = 0, $2202 = 0, $2203 = 0, $2204 = 0, $2205 = 0, $2206 = 0, $2207 = 0, $2208 = 0, $2209 = 0, $221 = 0, $2210 = 0, $2211 = 0, $2212 = 0, $2213 = 0; + var $2214 = 0.0, $2215 = 0, $2216 = 0, $2217 = 0, $2218 = 0, $2219 = 0.0, $222 = 0.0, $2220 = 0, $2221 = 0, $2222 = 0.0, $2223 = 0, $2224 = 0, $2225 = 0.0, $2226 = 0, $2227 = 0, $2228 = 0, $2229 = 0, $223 = 0, $2230 = 0, $2231 = 0; + var $2232 = 0, $2233 = 0, $2234 = 0, $2235 = 0, $2236 = 0, $2237 = 0, $2238 = 0, $2239 = 0, $224 = 0, $2240 = 0, $2241 = 0, $2242 = 0, $2243 = 0, $2244 = 0, $2245 = 0, $2246 = 0, $2247 = 0, $2248 = 0, $2249 = 0, $225 = 0.0; + var $2250 = 0, $2251 = 0, $2252 = 0, $2253 = 0, $2254 = 0, $2255 = 0, $2256 = 0, $2257 = 0, $2258 = 0, $2259 = 0, $226 = 0, $2260 = 0, $2261 = 0, $2262 = 0, $2263 = 0, $2264 = 0, $2265 = 0, $2266 = 0, $2267 = 0, $2268 = 0; + var $2269 = 0, $227 = 0, $2270 = 0, $2271 = 0, $2272 = 0, $2273 = 0, $2274 = 0, $2275 = 0, $2276 = 0, $2277 = 0, $2278 = 0, $2279 = 0, $228 = 0, $2280 = 0, $2281 = 0, $2282 = 0, $2283 = 0, $2284 = 0, $2285 = 0, $2286 = 0; + var $2287 = 0, $2288 = 0, $2289 = 0, $229 = 0, $2290 = 0, $2291 = 0, $2292 = 0, $2293 = 0, $2294 = 0, $2295 = 0, $2296 = 0, $2297 = 0, $2298 = 0, $2299 = 0, $23 = 0.0, $230 = 0, $2300 = 0, $2301 = 0, $2302 = 0, $2303 = 0; + var $2304 = 0, $2305 = 0, $2306 = 0, $2307 = 0, $2308 = 0, $2309 = 0, $231 = 0.0, $2310 = 0, $2311 = 0, $2312 = 0, $2313 = 0, $2314 = 0, $2315 = 0, $2316 = 0, $2317 = 0, $2318 = 0, $2319 = 0, $232 = 0, $2320 = 0, $2321 = 0; + var $2322 = 0, $2323 = 0, $2324 = 0, $2325 = 0, $2326 = 0, $2327 = 0, $2328 = 0, $2329 = 0, $233 = 0, $2330 = 0, $2331 = 0, $2332 = 0, $234 = 0, $235 = 0.0, $236 = 0.0, $237 = 0.0, $238 = 0, $239 = 0.0, $24 = 0.0, $240 = 0.0; + var $241 = 0.0, $242 = 0.0, $243 = 0, $244 = 0, $245 = 0, $246 = 0.0, $247 = 0.0, $248 = 0.0, $249 = 0, $25 = 0.0, $250 = 0.0, $251 = 0.0, $252 = 0.0, $253 = 0.0, $254 = 0.0, $255 = 0.0, $256 = 0.0, $257 = 0.0, $258 = 0.0, $259 = 0.0; + var $26 = 0, $260 = 0.0, $261 = 0, $262 = 0.0, $263 = 0.0, $264 = 0.0, $265 = 0, $266 = 0, $267 = 0.0, $268 = 0, $269 = 0.0, $27 = 0, $270 = 0, $271 = 0.0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0; + var $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0; + var $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0.0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0; + var $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0.0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0; + var $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0; + var $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0; + var $368 = 0, $369 = 0, $37 = 0.0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0.0, $380 = 0, $381 = 0, $382 = 0.0, $383 = 0.0, $384 = 0.0, $385 = 0; + var $386 = 0.0, $387 = 0.0, $388 = 0, $389 = 0, $39 = 0.0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0; + var $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0.0, $409 = 0, $41 = 0, $410 = 0.0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0.0; + var $421 = 0.0, $422 = 0.0, $423 = 0, $424 = 0.0, $425 = 0.0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0.0, $439 = 0.0; + var $44 = 0, $440 = 0, $441 = 0, $442 = 0.0, $443 = 0.0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0.0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0.0, $455 = 0.0, $456 = 0.0, $457 = 0.0; + var $458 = 0.0, $459 = 0, $46 = 0.0, $460 = 0.0, $461 = 0.0, $462 = 0.0, $463 = 0, $464 = 0.0, $465 = 0.0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0.0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0; + var $476 = 0, $477 = 0, $478 = 0, $479 = 0, $48 = 0.0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0.0, $487 = 0, $488 = 0.0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0; + var $494 = 0, $495 = 0, $496 = 0, $497 = 0, $498 = 0.0, $499 = 0.0, $5 = 0, $50 = 0.0, $500 = 0.0, $501 = 0, $502 = 0.0, $503 = 0.0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0.0, $510 = 0; + var $511 = 0, $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0.0, $519 = 0.0, $52 = 0, $520 = 0, $521 = 0.0, $522 = 0, $523 = 0.0, $524 = 0.0, $525 = 0.0, $526 = 0.0, $527 = 0, $528 = 0, $529 = 0; + var $53 = 0, $530 = 0, $531 = 0, $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0.0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0, $547 = 0; + var $548 = 0, $549 = 0, $55 = 0.0, $550 = 0, $551 = 0, $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0, $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0, $562 = 0, $563 = 0, $564 = 0, $565 = 0; + var $566 = 0, $567 = 0, $568 = 0, $569 = 0, $57 = 0, $570 = 0, $571 = 0, $572 = 0, $573 = 0, $574 = 0, $575 = 0, $576 = 0, $577 = 0, $578 = 0, $579 = 0, $58 = 0.0, $580 = 0, $581 = 0, $582 = 0, $583 = 0; + var $584 = 0, $585 = 0, $586 = 0, $587 = 0, $588 = 0, $589 = 0, $59 = 0.0, $590 = 0, $591 = 0, $592 = 0.0, $593 = 0.0, $594 = 0.0, $595 = 0.0, $596 = 0.0, $597 = 0, $598 = 0, $599 = 0.0, $6 = 0, $60 = 0, $600 = 0.0; + var $601 = 0, $602 = 0, $603 = 0, $604 = 0, $605 = 0, $606 = 0, $607 = 0, $608 = 0, $609 = 0, $61 = 0, $610 = 0, $611 = 0, $612 = 0, $613 = 0, $614 = 0, $615 = 0, $616 = 0, $617 = 0, $618 = 0, $619 = 0; + var $62 = 0, $620 = 0, $621 = 0, $622 = 0, $623 = 0, $624 = 0, $625 = 0, $626 = 0, $627 = 0, $628 = 0, $629 = 0, $63 = 0, $630 = 0, $631 = 0, $632 = 0, $633 = 0, $634 = 0, $635 = 0, $636 = 0, $637 = 0; + var $638 = 0, $639 = 0, $64 = 0, $640 = 0, $641 = 0, $642 = 0, $643 = 0, $644 = 0.0, $645 = 0.0, $646 = 0.0, $647 = 0.0, $648 = 0.0, $649 = 0, $65 = 0, $650 = 0, $651 = 0, $652 = 0, $653 = 0, $654 = 0, $655 = 0; + var $656 = 0, $657 = 0, $658 = 0, $659 = 0, $66 = 0.0, $660 = 0, $661 = 0, $662 = 0, $663 = 0, $664 = 0, $665 = 0, $666 = 0, $667 = 0, $668 = 0, $669 = 0, $67 = 0, $670 = 0, $671 = 0, $672 = 0, $673 = 0; + var $674 = 0, $675 = 0, $676 = 0, $677 = 0, $678 = 0, $679 = 0, $68 = 0, $680 = 0, $681 = 0, $682 = 0, $683 = 0, $684 = 0, $685 = 0, $686 = 0, $687 = 0, $688 = 0, $689 = 0, $69 = 0, $690 = 0, $691 = 0; + var $692 = 0, $693 = 0, $694 = 0, $695 = 0, $696 = 0, $697 = 0, $698 = 0, $699 = 0, $7 = 0, $70 = 0, $700 = 0, $701 = 0, $702 = 0, $703 = 0, $704 = 0, $705 = 0, $706 = 0, $707 = 0, $708 = 0, $709 = 0; + var $71 = 0, $710 = 0, $711 = 0, $712 = 0, $713 = 0, $714 = 0, $715 = 0, $716 = 0, $717 = 0, $718 = 0, $719 = 0, $72 = 0, $720 = 0, $721 = 0, $722 = 0, $723 = 0.0, $724 = 0, $725 = 0, $726 = 0.0, $727 = 0; + var $728 = 0, $729 = 0, $73 = 0, $730 = 0, $731 = 0, $732 = 0, $733 = 0, $734 = 0, $735 = 0.0, $736 = 0, $737 = 0, $738 = 0, $739 = 0, $74 = 0, $740 = 0, $741 = 0, $742 = 0, $743 = 0, $744 = 0, $745 = 0; + var $746 = 0, $747 = 0, $748 = 0, $749 = 0, $75 = 0, $750 = 0, $751 = 0, $752 = 0, $753 = 0, $754 = 0, $755 = 0, $756 = 0, $757 = 0, $758 = 0, $759 = 0, $76 = 0, $760 = 0, $761 = 0, $762 = 0, $763 = 0; + var $764 = 0, $765 = 0, $766 = 0, $767 = 0, $768 = 0, $769 = 0, $77 = 0, $770 = 0, $771 = 0, $772 = 0, $773 = 0, $774 = 0, $775 = 0, $776 = 0, $777 = 0, $778 = 0, $779 = 0, $78 = 0, $780 = 0, $781 = 0; + var $782 = 0, $783 = 0, $784 = 0, $785 = 0, $786 = 0, $787 = 0, $788 = 0, $789 = 0, $79 = 0, $790 = 0, $791 = 0, $792 = 0, $793 = 0, $794 = 0, $795 = 0, $796 = 0, $797 = 0, $798 = 0.0, $799 = 0.0, $8 = 0; + var $80 = 0, $800 = 0, $801 = 0, $802 = 0, $803 = 0, $804 = 0, $805 = 0, $806 = 0, $807 = 0, $808 = 0, $809 = 0, $81 = 0, $810 = 0, $811 = 0, $812 = 0, $813 = 0, $814 = 0, $815 = 0, $816 = 0, $817 = 0; + var $818 = 0, $819 = 0, $82 = 0, $820 = 0, $821 = 0, $822 = 0, $823 = 0, $824 = 0, $825 = 0, $826 = 0, $827 = 0, $828 = 0, $829 = 0, $83 = 0, $830 = 0, $831 = 0.0, $832 = 0, $833 = 0, $834 = 0.0, $835 = 0; + var $836 = 0.0, $837 = 0.0, $838 = 0, $839 = 0, $84 = 0, $840 = 0, $841 = 0, $842 = 0, $843 = 0.0, $844 = 0, $845 = 0.0, $846 = 0, $847 = 0, $848 = 0, $849 = 0, $85 = 0, $850 = 0, $851 = 0, $852 = 0, $853 = 0; + var $854 = 0, $855 = 0, $856 = 0, $857 = 0, $858 = 0, $859 = 0, $86 = 0, $860 = 0, $861 = 0, $862 = 0, $863 = 0, $864 = 0, $865 = 0, $866 = 0, $867 = 0, $868 = 0, $869 = 0, $87 = 0, $870 = 0.0, $871 = 0; + var $872 = 0, $873 = 0.0, $874 = 0, $875 = 0.0, $876 = 0.0, $877 = 0, $878 = 0, $879 = 0, $88 = 0, $880 = 0, $881 = 0, $882 = 0.0, $883 = 0, $884 = 0.0, $885 = 0, $886 = 0, $887 = 0, $888 = 0, $889 = 0, $89 = 0; + var $890 = 0, $891 = 0, $892 = 0, $893 = 0, $894 = 0, $895 = 0, $896 = 0, $897 = 0, $898 = 0, $899 = 0, $9 = 0, $90 = 0, $900 = 0, $901 = 0, $902 = 0, $903 = 0, $904 = 0, $905 = 0, $906 = 0, $907 = 0; + var $908 = 0, $909 = 0.0, $91 = 0, $910 = 0, $911 = 0, $912 = 0.0, $913 = 0, $914 = 0.0, $915 = 0.0, $916 = 0, $917 = 0, $918 = 0, $919 = 0, $92 = 0, $920 = 0, $921 = 0.0, $922 = 0, $923 = 0.0, $924 = 0, $925 = 0; + var $926 = 0, $927 = 0, $928 = 0, $929 = 0, $93 = 0, $930 = 0, $931 = 0, $932 = 0, $933 = 0, $934 = 0, $935 = 0, $936 = 0, $937 = 0, $938 = 0, $939 = 0, $94 = 0, $940 = 0, $941 = 0, $942 = 0, $943 = 0.0; + var $944 = 0.0, $945 = 0.0, $946 = 0, $947 = 0.0, $948 = 0.0, $949 = 0, $95 = 0, $950 = 0, $951 = 0, $952 = 0, $953 = 0, $954 = 0, $955 = 0, $956 = 0, $957 = 0, $958 = 0, $959 = 0, $96 = 0, $960 = 0, $961 = 0; + var $962 = 0.0, $963 = 0.0, $964 = 0.0, $965 = 0, $966 = 0.0, $967 = 0.0, $968 = 0, $969 = 0, $97 = 0, $970 = 0, $971 = 0, $972 = 0, $973 = 0, $974 = 0, $975 = 0, $976 = 0, $977 = 0, $978 = 0, $979 = 0, $98 = 0; + var $980 = 0, $981 = 0, $982 = 0, $983 = 0, $984 = 0, $985 = 0.0, $986 = 0, $987 = 0, $988 = 0, $989 = 0.0, $99 = 0, $990 = 0, $991 = 0, $992 = 0.0, $993 = 0, $994 = 0, $995 = 0, $996 = 0, $997 = 0, $998 = 0; + var $999 = 0, $exitcond = 0, $exitcond1225 = 0, $exitcond1226 = 0, $exitcond1227 = 0, $exitcond1228 = 0, $exitcond1229 = 0, $exitcond1230 = 0, $exitcond1231 = 0, $exitcond1232 = 0, $exitcond1233 = 0, $exitcond1234 = 0, $exitcond1235 = 0, $exitcond1236 = 0, $exitcond1237 = 0, $exitcond1238 = 0, $exitcond1239 = 0, $exitcond1240 = 0, $exitcond1241 = 0, $exitcond1242 = 0; + var $exitcond1243 = 0, $exitcond1244 = 0, $exitcond1245 = 0, $exitcond1246 = 0, $exitcond1247 = 0, $exitcond1248 = 0, $exitcond1249 = 0, $exitcond1271 = 0, $exitcond1272 = 0, $exitcond1273 = 0, $exitcond1274 = 0, $exitcond1275 = 0, $exitcond1276 = 0, $narrow = 0, $notlhs = 0, $notlhs1087 = 0, $notrhs = 0, $notrhs1088 = 0, $or$cond = 0, $or$cond101 = 0; + var $or$cond103 = 0, $or$cond105 = 0, $or$cond1096 = 0, $or$cond1099 = 0, $or$cond11 = 0, $or$cond1100 = 0, $or$cond1105 = 0, $or$cond121 = 0, $or$cond123 = 0, $or$cond125 = 0, $or$cond1278 = 0, $or$cond1280 = 0, $or$cond1282 = 0, $or$cond1284 = 0, $or$cond1286 = 0, $or$cond1288 = 0, $or$cond1290 = 0, $or$cond1292 = 0, $or$cond1294 = 0, $or$cond1296 = 0; + var $or$cond1298 = 0, $or$cond1300 = 0, $or$cond1302 = 0, $or$cond1304 = 0, $or$cond1306 = 0, $or$cond1308 = 0, $or$cond1310 = 0, $or$cond1312 = 0, $or$cond1314 = 0, $or$cond1316 = 0, $or$cond15 = 0, $or$cond22 = 0, $or$cond28 = 0, $or$cond30 = 0, $or$cond32 = 0, $or$cond34 = 0, $or$cond36 = 0, $or$cond38 = 0, $or$cond40 = 0, $or$cond43 = 0; + var $or$cond53 = 0, $or$cond63 = 0, $or$cond65 = 0, $or$cond67 = 0, $or$cond69 = 0, $or$cond7 = 0, $or$cond71 = 0, $or$cond73 = 0, $or$cond75 = 0, $or$cond77 = 0, $or$cond79 = 0, $or$cond81 = 0, $or$cond87 = 0, $or$cond89 = 0, $or$cond91 = 0, $or$cond95$not = 0, $or$cond97 = 0, $or$cond99$not = 0, $storemerge = 0.0, $vararg_buffer = 0; + var label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 160|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(160|0); + $$byval_copy101 = sp + 120|0; + $$byval_copy100 = sp + 104|0; + $vararg_buffer = sp; + $0 = sp + 96|0; + $1 = sp + 92|0; + $2 = sp + 88|0; + $3 = sp + 84|0; + $4 = sp + 80|0; + $5 = sp + 72|0; + $6 = sp + 56|0; + $7 = sp + 48|0; + $8 = sp + 40|0; + $9 = sp + 32|0; + $10 = sp + 24|0; + $11 = sp + 16|0; + $12 = sp + 8|0; + $13 = HEAP32[40336]|0; + $14 = ($13|0)==(0); + $15 = HEAP32[40327]|0; + $16 = ($15|0)!=(0); + $or$cond = $14 & $16; + if ($or$cond) { + $17 = HEAP32[40355]|0; + $18 = (($17) + 1)|0; + HEAP32[40355] = $18; + $$off1093 = (($17) + -20)|0; + $19 = ($$off1093>>>0)<(89); + if ($19) { + $20 = HEAP32[40358]|0; + $21 = (($20) + 1)|0; + HEAP32[40358] = $21; + $22 = +HEAPF32[40356]; + $23 = $22 + -0.032999999821186066; + HEAPF32[40356] = $23; + $24 = +HEAPF32[40357]; + $25 = $24 + -0.082500003278255462; + HEAPF32[40357] = $25; + $26 = HEAP32[40358]|0; + $27 = ($26|0)<(31); + $28 = ($26|0)<(61); + $$sink = $28 ? 2 : 1; + $$sink$sink = $27 ? 3 : $$sink; + HEAP32[7] = $$sink$sink; + } else { + $29 = ($18|0)>(109); + if ($29) { + HEAP32[40336] = 1; + } + } + $30 = +HEAPF32[40356]; + $31 = !($30 <= 0.0); + if (!($31)) { + HEAPF32[40356] = 1.0; + } + $32 = +HEAPF32[40357]; + $33 = !($32 <= 0.0); + if (!($33)) { + HEAPF32[40357] = 2.5; + } + $34 = HEAP32[7]|0; + HEAP32[$vararg_buffer>>2] = $34; + $35 = (_FormatText(6797,$vararg_buffer)|0); + $36 = HEAP32[(25500)>>2]|0; + $37 = (+($36|0)); + $38 = +HEAPF32[40357]; + $39 = $37 * $38; + ;HEAP32[$$byval_copy101>>2]=HEAP32[25480>>2]|0;HEAP32[$$byval_copy101+4>>2]=HEAP32[25480+4>>2]|0;HEAP32[$$byval_copy101+8>>2]=HEAP32[25480+8>>2]|0;HEAP32[$$byval_copy101+12>>2]=HEAP32[25480+12>>2]|0;HEAP32[$$byval_copy101+16>>2]=HEAP32[25480+16>>2]|0;HEAP32[$$byval_copy101+20>>2]=HEAP32[25480+20>>2]|0;HEAP32[$$byval_copy101+24>>2]=HEAP32[25480+24>>2]|0;HEAP32[$$byval_copy101+28>>2]=HEAP32[25480+28>>2]|0; + _MeasureTextEx($0,$$byval_copy101,$35,$39,2); + $$pr = HEAP32[40327]|0; + $41 = $$pr; + } else { + $41 = $15; + } + $40 = ($41|0)!=(0); + if ($40) { + HEAP32[40315] = 0; + $43 = HEAP32[40336]|0; + $44 = ($43|0)!=(0); + $or$cond7 = $40 & $44; + if ($or$cond7) { + $45 = +HEAPF32[40323]; + $46 = $45; + $47 = $46 * 60.0; + $48 = $47 / 60.0; + $49 = HEAP32[40344]|0; + $50 = (+($49|0)); + $51 = $50 + $48; + $52 = (~~(($51))); + HEAP32[40344] = $52; + $53 = HEAP32[83388]|0; + $54 = (+($53|0)); + $55 = $48 + $54; + $56 = (~~(($55))); + HEAP32[83388] = $56; + $57 = HEAP32[40365]|0; + $58 = (+($57|0)); + $59 = $48 + $58; + $60 = (~~(($59))); + HEAP32[40365] = $60; + $61 = HEAP32[40354]|0; + $62 = (($61) + 1)|0; + HEAP32[40354] = $62; + $63 = HEAP32[83388]|0; + $64 = HEAP32[40345]|0; + $65 = ($63|0)<($64|0); + $$pr1127 = HEAP32[40312]|0; + if ($65) { + $73 = $$pr1127; + } else { + switch ($$pr1127|0) { + case 10: { + $$sink113 = 225.0; + label = 19; + break; + } + case 1: { + $$sink113 = 315.0; + label = 19; + break; + } + case 4: { + $$sink113 = 45.0; + label = 19; + break; + } + case 7: { + $$sink113 = 135.0; + label = 19; + break; + } + default: { + } + } + if ((label|0) == 19) { + HEAPF32[40381] = $$sink113; + $66 = $$sink113 + 90.0; + HEAPF32[40382] = $66; + $67 = (_GetRandomValue(0,100)|0); + HEAP32[6568] = $67; + HEAPF32[40364] = 0.0; + $68 = HEAP32[6562]|0; + $69 = (($68) + 1)|0; + HEAP32[6562] = $69; + } + $70 = HEAP32[40312]|0; + $71 = (($70) + 1)|0; + HEAP32[40312] = $71; + HEAP32[83388] = 0; + $73 = $71; + } + $72 = ($73|0)>(11); + L28: do { + if ($72) { + HEAP32[40312] = 0; + $74 = HEAP32[6563]|0; + $75 = (($74) + 1)|0; + HEAP32[6563] = $75; + label = 25; + } else { + $$pr1129 = HEAP32[40312]|0; + switch ($$pr1129|0) { + case 0: case 11: { + label = 25; + break L28; + break; + } + default: { + } + } + $76 = ($$pr1129|0)==(1); + $77 = HEAP32[83388]|0; + $78 = ($77|0)<(201); + $or$cond11 = $76 & $78; + if ($or$cond11) { + label = 25; + } else { + $84 = $$pr1129 | 1; + $85 = ($84|0)==(3); + $86 = ($$pr1129|0)==(4); + $or$cond15 = $86 & $78; + $or$cond1096 = $85 | $or$cond15; + if ($or$cond1096) { + $87 = HEAP32[6568]|0; + $$off1092 = (($87) + -25)|0; + $88 = ($$off1092>>>0)<(16); + $89 = ($87|0)<(25); + $90 = $89 | $88; + $$$ = $90 ? (207968) : (187408); + $narrow = $89 | $88; + $$$1098 = $narrow&1; + HEAP32[$$$>>2] = 1; + HEAP32[40363] = $$$1098; + HEAP32[83389] = 0; + $91 = (_GetRandomValue(0,10)|0); + HEAP32[40360] = $91; + $92 = HEAP32[40383]|0; + HEAP32[83390] = $92; + $93 = HEAP32[40384]|0; + HEAP32[83391] = $93; + $94 = HEAP32[40385]|0; + HEAP32[83392] = $94; + $95 = HEAP32[40386]|0; + HEAP32[83393] = $95; + HEAP8[339128] = -126; + HEAP8[(339129)>>0] = -126; + HEAP8[(339130)>>0] = -75; + HEAP8[(339131)>>0] = -1; + HEAP8[339132] = -111; + HEAP8[(339133)>>0] = -111; + HEAP8[(339134)>>0] = -90; + HEAP8[(339135)>>0] = -1; + HEAP8[339136] = 104; + HEAP8[(339137)>>0] = -114; + HEAP8[(339138)>>0] = -112; + HEAP8[(339139)>>0] = -1; + HEAP8[339140] = 57; + HEAP8[(339141)>>0] = -116; + HEAP8[(339142)>>0] = -83; + HEAP8[(339143)>>0] = -1; + HEAP32[83394] = 3; + HEAP32[6565] = 1; + break; + } + $$off = (($$pr1129) + -5)|0; + $96 = ($$off>>>0)<(2); + $97 = ($$pr1129|0)==(7); + $or$cond22 = $97 & $78; + $or$cond1099 = $96 | $or$cond22; + if ($or$cond1099) { + $98 = HEAP32[6568]|0; + $99 = ($98|0)<(41); + $$sink24 = $99 ? (166904) : (161764); + $$sink23 = $99&1; + HEAP32[$$sink24>>2] = 1; + HEAP32[46849] = 1; + HEAP32[40363] = $$sink23; + HEAP32[83389] = 0; + $100 = (_GetRandomValue(0,10)|0); + HEAP32[40360] = $100; + $101 = HEAP32[40383]|0; + HEAP32[83390] = $101; + $102 = HEAP32[40384]|0; + HEAP32[83391] = $102; + $103 = HEAP32[40385]|0; + HEAP32[83392] = $103; + $104 = HEAP32[40386]|0; + HEAP32[83393] = $104; + HEAP8[339128] = -60; + HEAP8[(339129)>>0] = -80; + HEAP8[(339130)>>0] = 49; + HEAP8[(339131)>>0] = -1; + HEAP8[339132] = -78; + HEAP8[(339133)>>0] = -93; + HEAP8[(339134)>>0] = 67; + HEAP8[(339135)>>0] = -1; + HEAP8[339136] = -123; + HEAP8[(339137)>>0] = -113; + HEAP8[(339138)>>0] = 90; + HEAP8[(339139)>>0] = -1; + HEAP8[339140] = -123; + HEAP8[(339141)>>0] = -100; + HEAP8[(339142)>>0] = 42; + HEAP8[(339143)>>0] = -1; + HEAP32[83394] = 0; + HEAP32[6565] = 2; + break; + } + $105 = ($84|0)==(9); + $106 = ($$pr1129|0)==(10); + $or$cond28 = $106 & $78; + $or$cond1100 = $105 | $or$cond28; + if ($or$cond1100) { + HEAP32[(197688)>>2] = 1; + HEAP32[83389] = 0; + $107 = (_GetRandomValue(0,9)|0); + HEAP32[40360] = $107; + HEAP32[40363] = 0; + $108 = HEAP32[40383]|0; + HEAP32[83390] = $108; + $109 = HEAP32[40384]|0; + HEAP32[83391] = $109; + $110 = HEAP32[40385]|0; + HEAP32[83392] = $110; + $111 = HEAP32[40386]|0; + HEAP32[83393] = $111; + HEAP8[339128] = -127; + HEAP8[(339129)>>0] = -84; + HEAP8[(339130)>>0] = 86; + HEAP8[(339131)>>0] = -1; + HEAP8[339132] = -111; + HEAP8[(339133)>>0] = -91; + HEAP8[(339134)>>0] = 125; + HEAP8[(339135)>>0] = -1; + HEAP8[339136] = -95; + HEAP8[(339137)>>0] = -126; + HEAP8[(339138)>>0] = 73; + HEAP8[(339139)>>0] = -1; + HEAP8[339140] = -58; + HEAP8[(339141)>>0] = 103; + HEAP8[(339142)>>0] = 51; + HEAP8[(339143)>>0] = -1; + HEAP32[83394] = 1; + HEAP32[6565] = 3; + break; + } + HEAP32[(197688)>>2] = 0; + HEAP32[(161764)>>2] = 0; + HEAP32[46849] = 0; + HEAP32[(187408)>>2] = 0; + HEAP32[(192548)>>2] = 0; + HEAP32[(202828)>>2] = 0; + HEAP32[(207968)>>2] = 0; + HEAP32[(228468)>>2] = 0; + HEAP32[(228776)>>2] = 0; + HEAP32[(166904)>>2] = 0; + HEAP32[40363] = 0; + $112 = +HEAPF32[40323]; + $113 = $112; + $114 = $113 * 60.0; + $115 = $114 / 60.0; + $116 = HEAP32[83389]|0; + $117 = (+($116|0)); + $118 = $117 + $115; + $119 = (~~(($118))); + HEAP32[83389] = $119; + $120 = ($119|0)<(201); + if ($120) { + ;HEAP8[$$byval_copy100>>0]=HEAP8[333560>>0]|0;HEAP8[$$byval_copy100+1>>0]=HEAP8[333560+1>>0]|0;HEAP8[$$byval_copy100+2>>0]=HEAP8[333560+2>>0]|0;HEAP8[$$byval_copy100+3>>0]=HEAP8[333560+3>>0]|0; + ;HEAP8[$$byval_copy101>>0]=HEAP8[339128>>0]|0;HEAP8[$$byval_copy101+1>>0]=HEAP8[339128+1>>0]|0;HEAP8[$$byval_copy101+2>>0]=HEAP8[339128+2>>0]|0;HEAP8[$$byval_copy101+3>>0]=HEAP8[339128+3>>0]|0; + _ColorTransition($1,$$byval_copy100,$$byval_copy101,$119); + $121 = HEAP32[$1>>2]|0; + HEAP32[40383] = $121; + $122 = HEAP32[83389]|0; + ;HEAP8[$$byval_copy100>>0]=HEAP8[333564>>0]|0;HEAP8[$$byval_copy100+1>>0]=HEAP8[333564+1>>0]|0;HEAP8[$$byval_copy100+2>>0]=HEAP8[333564+2>>0]|0;HEAP8[$$byval_copy100+3>>0]=HEAP8[333564+3>>0]|0; + ;HEAP8[$$byval_copy101>>0]=HEAP8[339132>>0]|0;HEAP8[$$byval_copy101+1>>0]=HEAP8[339132+1>>0]|0;HEAP8[$$byval_copy101+2>>0]=HEAP8[339132+2>>0]|0;HEAP8[$$byval_copy101+3>>0]=HEAP8[339132+3>>0]|0; + _ColorTransition($2,$$byval_copy100,$$byval_copy101,$122); + $123 = HEAP32[$2>>2]|0; + HEAP32[40384] = $123; + ;HEAP8[$$byval_copy100>>0]=HEAP8[333568>>0]|0;HEAP8[$$byval_copy100+1>>0]=HEAP8[333568+1>>0]|0;HEAP8[$$byval_copy100+2>>0]=HEAP8[333568+2>>0]|0;HEAP8[$$byval_copy100+3>>0]=HEAP8[333568+3>>0]|0; + ;HEAP8[$$byval_copy101>>0]=HEAP8[339136>>0]|0;HEAP8[$$byval_copy101+1>>0]=HEAP8[339136+1>>0]|0;HEAP8[$$byval_copy101+2>>0]=HEAP8[339136+2>>0]|0;HEAP8[$$byval_copy101+3>>0]=HEAP8[339136+3>>0]|0; + _ColorTransition($3,$$byval_copy100,$$byval_copy101,$122); + $124 = HEAP32[$3>>2]|0; + HEAP32[40385] = $124; + $125 = HEAP32[83389]|0; + ;HEAP8[$$byval_copy100>>0]=HEAP8[333572>>0]|0;HEAP8[$$byval_copy100+1>>0]=HEAP8[333572+1>>0]|0;HEAP8[$$byval_copy100+2>>0]=HEAP8[333572+2>>0]|0;HEAP8[$$byval_copy100+3>>0]=HEAP8[333572+3>>0]|0; + ;HEAP8[$$byval_copy101>>0]=HEAP8[339140>>0]|0;HEAP8[$$byval_copy101+1>>0]=HEAP8[339140+1>>0]|0;HEAP8[$$byval_copy101+2>>0]=HEAP8[339140+2>>0]|0;HEAP8[$$byval_copy101+3>>0]=HEAP8[339140+3>>0]|0; + _ColorTransition($4,$$byval_copy100,$$byval_copy101,$125); + $126 = HEAP32[$4>>2]|0; + HEAP32[40386] = $126; + } + HEAP32[83394] = 4; + } + } + } while(0); + if ((label|0) == 25) { + HEAP32[(192548)>>2] = 1; + HEAP32[(228468)>>2] = 1; + HEAP32[(228776)>>2] = 1; + HEAP32[83389] = 0; + $79 = (_GetRandomValue(0,10)|0); + HEAP32[40360] = $79; + HEAP32[40363] = 0; + $80 = HEAP32[40383]|0; + HEAP32[83390] = $80; + $81 = HEAP32[40384]|0; + HEAP32[83391] = $81; + $82 = HEAP32[40385]|0; + HEAP32[83392] = $82; + $83 = HEAP32[40386]|0; + HEAP32[83393] = $83; + HEAP8[339128] = -14; + HEAP8[(339129)>>0] = 113; + HEAP8[(339130)>>0] = 62; + HEAP8[(339131)>>0] = -1; + HEAP8[339132] = -66; + HEAP8[(339133)>>0] = -121; + HEAP8[(339134)>>0] = 114; + HEAP8[(339135)>>0] = -1; + HEAP8[339136] = -112; + HEAP8[(339137)>>0] = -126; + HEAP8[(339138)>>0] = 101; + HEAP8[(339139)>>0] = -1; + HEAP8[339140] = -42; + HEAP8[(339141)>>0] = -123; + HEAP8[(339142)>>0] = 58; + HEAP8[(339143)>>0] = -1; + HEAP32[83394] = 2; + HEAP32[6565] = 0; + } + $127 = HEAP32[40340]|0; + $128 = ($127|0)==(0); + if ($128) { + $129 = +HEAPF32[40331]; + $130 = +HEAPF32[40328]; + $131 = $130 - $129; + HEAPF32[40328] = $131; + $132 = $129 * 0.75; + $133 = +HEAPF32[40329]; + $134 = $133 - $132; + HEAPF32[40329] = $134; + $135 = $129 * 0.5; + $136 = +HEAPF32[40330]; + $137 = $136 - $135; + HEAPF32[40330] = $137; + $138 = HEAP32[40376]|0; + $139 = HEAP32[83395]|0; + $140 = (($139) - ($138))|0; + HEAP32[83395] = $140; + $141 = HEAP32[40320]|0; + $142 = (+($141|0)); + $143 = +HEAPF32[40332]; + $144 = $143 - $142; + HEAPF32[40332] = $144; + $145 = +HEAPF32[40364]; + $146 = +HEAPF32[40353]; + $147 = $145 + $146; + HEAPF32[40353] = $147; + } + $148 = +HEAPF32[40319]; + $149 = HEAP32[(260820)>>2]|0; + $150 = (+($149|0)); + $151 = $148 + $150; + $152 = (~~(($151))); + HEAP32[(260820)>>2] = $152; + $153 = +HEAPF32[40323]; + $154 = $153; + $155 = $154 * 60.0; + $156 = $155 / 60.0; + $157 = HEAP32[40317]|0; + $158 = (+($157|0)); + $159 = $158 + $156; + $160 = (~~(($159))); + HEAP32[40317] = $160; + $161 = $154 * 3.0; + $162 = (~~(($161))); + HEAP32[40320] = $162; + $163 = HEAP32[65204]|0; + $164 = (+($163|0)); + $165 = (_GetScreenWidth()|0); + $166 = (+($165|0)); + $167 = $166 * 0.59999999999999998; + $168 = $164 >= $167; + $169 = HEAP32[83396]|0; + $170 = ($169|0)!=(2); + $or$cond30 = $170 & $168; + $171 = HEAP32[65204]|0; + if ($or$cond30) { + $172 = (+($171|0)); + $173 = (_GetScreenWidth()|0); + $174 = (+($173|0)); + $175 = $174 * 0.60000002384185791; + $176 = $172 - $175; + $177 = (_GetScreenWidth()|0); + $178 = (+($177|0)); + $179 = $176 / $178; + $$sink115 = $179; + label = 40; + } else { + $180 = (+($171|0)); + $181 = (_GetScreenWidth()|0); + $182 = (+($181|0)); + $183 = $182 * 0.59999999999999998; + $184 = $180 < $183; + $185 = HEAP32[83396]|0; + $186 = ($185|0)!=(2); + $or$cond32 = $186 & $184; + if ($or$cond32) { + $$sink115 = 0.0; + label = 40; + } else { + $188 = $185; + } + } + if ((label|0) == 40) { + HEAPF32[83397] = $$sink115; + $$pr1131 = HEAP32[83396]|0; + $188 = $$pr1131; + } + $187 = ($188|0)==(2); + if (!($187)) { + $189 = +HEAPF32[83397]; + $190 = $189; + $191 = $190 + 1.2; + $192 = +HEAPF32[40370]; + $193 = $192; + $194 = $191 + $193; + $195 = $194; + HEAPF32[40323] = $195; + } + $196 = HEAP32[40368]|0; + $197 = (($196) + 1)|0; + HEAP32[40368] = $197; + $198 = ($196|0)>(3598); + if ($198) { + $199 = HEAP32[40369]|0; + $200 = (($199) + 1)|0; + HEAP32[40369] = $200; + $201 = ($200|0)<(12000); + if ($201) { + $202 = (+($200|0)); + $203 = (+_LinearEaseIn($202,0.0,0.5,12000.0)); + HEAPF32[40370] = $203; + $204 = HEAP32[40369]|0; + $205 = (+($204|0)); + $206 = (+_LinearEaseIn($205,0.0,30.0,12000.0)); + HEAPF32[83398] = $206; + } + } + $207 = +HEAPF32[40328]; + $208 = (_GetScreenWidth()|0); + $209 = (0 - ($208))|0; + $210 = (+($209|0)); + $211 = !($207 <= $210); + if (!($211)) { + HEAPF32[40328] = 0.0; + } + $212 = +HEAPF32[40329]; + $213 = (_GetScreenWidth()|0); + $214 = (0 - ($213))|0; + $215 = (+($214|0)); + $216 = !($212 <= $215); + if (!($216)) { + HEAPF32[40329] = 0.0; + } + $217 = +HEAPF32[40330]; + $218 = (_GetScreenWidth()|0); + $219 = (0 - ($218))|0; + $220 = (+($219|0)); + $221 = !($217 <= $220); + if (!($221)) { + HEAPF32[40330] = 0.0; + } + $222 = +HEAPF32[40332]; + $223 = (_GetScreenWidth()|0); + $224 = (0 - ($223))|0; + $225 = (+($224|0)); + $226 = !($222 <= $225); + if (!($226)) { + HEAPF32[40332] = 0.0; + } + $227 = HEAP32[83395]|0; + $228 = (_GetScreenWidth()|0); + $229 = (0 - ($228))|0; + $230 = ($227|0)>($229|0); + if (!($230)) { + HEAP32[83395] = 0; + } + $231 = +HEAPF32[40362]; + $232 = !($231 > 0.0); + $233 = HEAP32[40363]|0; + $234 = ($233|0)!=(0); + $or$cond34 = $232 | $234; + if ($or$cond34) { + $238 = $231 < 1.0; + $or$cond36 = $238 & $234; + if ($or$cond36) { + $239 = +HEAPF32[40323]; + $240 = $239 * 0.029999999329447746; + $241 = $231 + $240; + $$sink117 = $241; + label = 60; + } + } else { + $235 = +HEAPF32[40323]; + $236 = $235 * 0.029999999329447746; + $237 = $231 - $236; + $$sink117 = $237; + label = 60; + } + if ((label|0) == 60) { + HEAPF32[40362] = $$sink117; + } + $242 = +HEAPF32[83399]; + $243 = !($242 > 0.0); + $244 = HEAP32[40363]|0; + $245 = ($244|0)!=(0); + $or$cond38 = $243 | $245; + if ($or$cond38) { + $249 = $242 < 0.15000000596046448; + $or$cond40 = $249 & $245; + if ($or$cond40) { + $250 = +HEAPF32[40323]; + $251 = $250 * 0.019999999552965164; + $252 = $242 + $251; + $$sink119 = $252; + label = 65; + } + } else { + $246 = +HEAPF32[40323]; + $247 = $246 * 0.019999999552965164; + $248 = $242 - $247; + $$sink119 = $248; + label = 65; + } + if ((label|0) == 65) { + HEAPF32[83399] = $$sink119; + } + $253 = +HEAPF32[40323]; + $254 = $253; + $255 = $254 * 60.0; + $256 = $255 / 60.0; + $257 = +HEAPF32[40364]; + $258 = $257; + $259 = $258 + $256; + $260 = $259; + HEAPF32[40364] = $260; + $261 = !($260 <= 1200.0); + if ($261) { + $264 = +HEAPF32[40382]; + $$sink41 = $264; + } else { + $262 = +HEAPF32[40381]; + $263 = (+_LinearEaseIn($260,$262,90.0,1200.0)); + $$sink41 = $263; + } + HEAPF32[40353] = $$sink41; + ;HEAP32[$$byval_copy100>>2]=HEAP32[229080>>2]|0;HEAP32[$$byval_copy100+4>>2]=HEAP32[229080+4>>2]|0; + ;HEAP32[$$byval_copy101>>2]=HEAP32[260816>>2]|0;HEAP32[$$byval_copy101+4>>2]=HEAP32[260816+4>>2]|0;HEAP32[$$byval_copy101+8>>2]=HEAP32[260816+8>>2]|0;HEAP32[$$byval_copy101+12>>2]=HEAP32[260816+12>>2]|0; + $265 = (_CheckCollisionCircleRec($$byval_copy100,300.0,$$byval_copy101)|0); + $266 = ($265|0)==(0); + $267 = +HEAPF32[40361]; + do { + if ($266) { + $270 = $267 < 1.0; + if (!($270)) { + break; + } + $271 = $267 + 0.0099999997764825821; + HEAPF32[40361] = $271; + } else { + $268 = $267 > 0.40000000596046448; + if (!($268)) { + break; + } + $269 = $267 + -0.0099999997764825821; + HEAPF32[40361] = $269; + } + } while(0); + $272 = HEAP32[8]|0; + $273 = (($272) + 1)|0; + HEAP32[8] = $273; + $274 = ($273|0)>(11); + $275 = HEAP32[83400]|0; + if ($274) { + $276 = (($275) + 1)|0; + HEAP32[83400] = $276; + HEAP32[8] = 0; + $278 = $276; + } else { + $278 = $275; + } + $277 = ($278|0)>(3); + if ($277) { + HEAP32[83400] = 0; + } + $279 = HEAP32[(161620)>>2]|0; + $280 = HEAP32[83400]|0; + $281 = Math_imul($280, $279)|0; + $282 = (($281) + 1056)|0; + HEAP32[40403] = $282; + $283 = HEAP32[9]|0; + $284 = (($283) + 1)|0; + HEAP32[9] = $284; + $285 = ($284|0)>(7); + if ($285) { + $286 = HEAP32[40346]|0; + $287 = (($286) + 1)|0; + HEAP32[40346] = $287; + $288 = HEAP32[40347]|0; + $289 = (($288) + 1)|0; + HEAP32[40347] = $289; + $290 = HEAP32[40348]|0; + $291 = (($290) + 1)|0; + HEAP32[40348] = $291; + $292 = HEAP32[40349]|0; + $293 = (($292) + 1)|0; + HEAP32[40349] = $293; + HEAP32[9] = 0; + } + $294 = HEAP32[40346]|0; + $295 = ($294|0)>(3); + if ($295) { + HEAP32[40346] = 0; + } + $296 = HEAP32[40347]|0; + $297 = ($296|0)>(3); + if ($297) { + HEAP32[40347] = 0; + } + $298 = HEAP32[40348]|0; + $299 = ($298|0)>(3); + if ($299) { + HEAP32[40348] = 0; + } + $300 = HEAP32[40349]|0; + $301 = ($300|0)>(3); + if ($301) { + HEAP32[40349] = 0; + } + $302 = HEAP32[40340]|0; + $303 = ($302|0)==(0); + do { + if ($303) { + $304 = HEAP32[83401]|0; + $305 = (($304) + 1)|0; + HEAP32[83401] = $305; + $306 = ($305|0)>(5); + $307 = HEAP32[10]|0; + if ($306) { + $308 = (($307) + 1)|0; + HEAP32[10] = $308; + HEAP32[83401] = 0; + $310 = $308; + } else { + $310 = $307; + } + $309 = ($310|0)>(1); + if ($309) { + HEAP32[10] = 0; + } + $311 = HEAP32[(161652)>>2]|0; + $312 = HEAP32[10]|0; + $313 = Math_imul($312, $311)|0; + $314 = (($313) + 1570)|0; + HEAP32[40411] = $314; + $315 = HEAP32[40350]|0; + $316 = (($315) + 1)|0; + HEAP32[40350] = $316; + $317 = ($316|0)>(2); + $318 = HEAP32[11]|0; + if ($317) { + $319 = (($318) + 1)|0; + HEAP32[11] = $319; + HEAP32[40350] = 0; + $321 = $319; + } else { + $321 = $318; + } + $320 = ($321|0)>(3); + if ($320) { + HEAP32[11] = 0; + } + $322 = HEAP32[(161636)>>2]|0; + $323 = HEAP32[11]|0; + $324 = Math_imul($323, $322)|0; + $325 = (($324) + 1025)|0; + HEAP32[40407] = $325; + $326 = HEAP32[12]|0; + $327 = (($326) + 1)|0; + HEAP32[12] = $327; + $328 = ($327|0)>(23); + $329 = HEAP32[83402]|0; + if ($328) { + $330 = (($329) + 1)|0; + HEAP32[83402] = $330; + HEAP32[12] = 0; + $332 = $330; + } else { + $332 = $329; + } + $331 = ($332|0)>(1); + if ($331) { + HEAP32[83402] = 0; + } + $333 = HEAP32[(161668)>>2]|0; + $334 = HEAP32[83402]|0; + $335 = Math_imul($334, $333)|0; + $336 = (($335) + 1025)|0; + HEAP32[40415] = $336; + $337 = HEAP32[83403]|0; + $338 = (($337) + 1)|0; + HEAP32[83403] = $338; + $339 = ($338|0)>(23); + $340 = HEAP32[13]|0; + if ($339) { + $341 = (($340) + 1)|0; + HEAP32[13] = $341; + HEAP32[83403] = 0; + $343 = $341; + } else { + $343 = $340; + } + $342 = ($343|0)>(1); + if ($342) { + HEAP32[13] = 0; + } + $344 = HEAP32[(161684)>>2]|0; + $345 = HEAP32[13]|0; + $346 = Math_imul($345, $344)|0; + $347 = (($346) + 755)|0; + HEAP32[40419] = $347; + $348 = HEAP32[83404]|0; + $349 = (($348) + 1)|0; + HEAP32[83404] = $349; + $350 = ($349|0)>(23); + $351 = HEAP32[14]|0; + if ($350) { + $352 = (($351) + 1)|0; + HEAP32[14] = $352; + HEAP32[83404] = 0; + $354 = $352; + } else { + $354 = $351; + } + $353 = ($354|0)>(1); + if ($353) { + HEAP32[14] = 0; + } + $355 = HEAP32[(161700)>>2]|0; + $356 = HEAP32[14]|0; + $357 = Math_imul($356, $355)|0; + $358 = (($357) + 765)|0; + HEAP32[40423] = $358; + $359 = HEAP32[40342]|0; + $360 = ($359|0)==(0); + do { + if (!($360)) { + $361 = HEAP32[40341]|0; + $362 = ($361|0)==(0); + $363 = HEAP32[(333624)>>2]|0; + if ($362) { + $372 = HEAP32[(333632)>>2]|0; + $373 = (($372) + -1)|0; + HEAP32[(333632)>>2] = $373; + $374 = (($363) + 1)|0; + HEAP32[(333624)>>2] = $374; + $375 = ($373|0)<(1); + if (!($375)) { + break; + } + HEAP32[40341] = 1; + HEAP32[65223] = 1; + HEAP32[40342] = 0; + break; + } else { + $364 = HEAP32[83405]|0; + $365 = (($364) + -100)|0; + HEAP32[83405] = $365; + $366 = HEAP32[(333628)>>2]|0; + $367 = (($366) + 100)|0; + HEAP32[(333628)>>2] = $367; + $368 = HEAP32[(333632)>>2]|0; + $369 = (($368) + 5)|0; + HEAP32[(333632)>>2] = $369; + $370 = (($363) + -5)|0; + HEAP32[(333624)>>2] = $370; + $371 = ($369|0)>(99); + if (!($371)) { + break; + } + HEAP32[40341] = 0; + break; + } + } + } while(0); + $376 = HEAP32[65223]|0; + $377 = ($376|0)!=(1); + $378 = HEAP32[83409]|0; + $379 = ($378|0)!=(0); + $or$cond43 = $377 | $379; + do { + if ($or$cond43) { + if (!($379)) { + break; + } + $411 = HEAP32[(260880)>>2]|0; + $412 = HEAP32[(260888)>>2]|0; + $413 = (($412) + ($411))|0; + $414 = (_GetScreenHeight()|0); + $415 = ($413|0)>($414|0); + if ($415) { + HEAP32[65223] = 0; + HEAP32[83409] = 0; + } + $416 = HEAP32[65219]|0; + $417 = (($416) + 2)|0; + HEAP32[65219] = $417; + $418 = HEAP32[83411]|0; + $419 = (($418) + -1)|0; + HEAP32[83411] = $419; + $420 = (+($419|0)); + $421 = $420 * 60.0; + $422 = $421 / 60.0; + $423 = HEAP32[(260880)>>2]|0; + $424 = (+($423|0)); + $425 = $424 - $422; + $426 = (~~(($425))); + HEAP32[(260880)>>2] = $426; + } else { + $380 = HEAP32[40320]|0; + $381 = ($380*10)|0; + $382 = (+($381|0)); + $383 = $382 * 60.0; + $384 = $383 / 60.0; + $385 = HEAP32[65219]|0; + $386 = (+($385|0)); + $387 = $386 - $384; + $388 = (~~(($387))); + HEAP32[65219] = $388; + ;HEAP32[$$byval_copy100>>2]=HEAP32[260876>>2]|0;HEAP32[$$byval_copy100+4>>2]=HEAP32[260876+4>>2]|0;HEAP32[$$byval_copy100+8>>2]=HEAP32[260876+8>>2]|0;HEAP32[$$byval_copy100+12>>2]=HEAP32[260876+12>>2]|0; + ;HEAP32[$$byval_copy101>>2]=HEAP32[260816>>2]|0;HEAP32[$$byval_copy101+4>>2]=HEAP32[260816+4>>2]|0;HEAP32[$$byval_copy101+8>>2]=HEAP32[260816+8>>2]|0;HEAP32[$$byval_copy101+12>>2]=HEAP32[260816+12>>2]|0; + $389 = (_CheckCollisionRecs($$byval_copy100,$$byval_copy101)|0); + $390 = ($389|0)!=(0); + $391 = HEAP32[83396]|0; + $$off1084 = (($391) + -1)|0; + $$cmp = ($$off1084>>>0)>(1); + $392 = $390 & $$cmp; + if ($392) { + HEAP32[83410] = 8; + HEAP32[40339] = 2; + HEAP32[40336] = 0; + HEAP32[40327] = 0; + HEAP32[6561] = 6; + break; + } + ;HEAP32[$$byval_copy100>>2]=HEAP32[260876>>2]|0;HEAP32[$$byval_copy100+4>>2]=HEAP32[260876+4>>2]|0;HEAP32[$$byval_copy100+8>>2]=HEAP32[260876+8>>2]|0;HEAP32[$$byval_copy100+12>>2]=HEAP32[260876+12>>2]|0; + ;HEAP32[$$byval_copy101>>2]=HEAP32[260816>>2]|0;HEAP32[$$byval_copy101+4>>2]=HEAP32[260816+4>>2]|0;HEAP32[$$byval_copy101+8>>2]=HEAP32[260816+8>>2]|0;HEAP32[$$byval_copy101+12>>2]=HEAP32[260816+12>>2]|0; + $393 = (_CheckCollisionRecs($$byval_copy100,$$byval_copy101)|0); + $394 = ($393|0)!=(0); + $395 = HEAP32[83396]|0; + $396 = ($395|0)==(2); + $397 = $394 & $396; + if (!($397)) { + break; + } + HEAP32[83409] = 1; + HEAP32[83411] = 8; + $398 = HEAP32[40352]|0; + $399 = (25732 + ($398<<2)|0); + HEAP32[$399>>2] = 5; + $400 = (($398) + 1)|0; + HEAP32[40352] = $400; + $401 = HEAP32[6431]|0; + $402 = (($401) + 300)|0; + HEAP32[6431] = $402; + $403 = HEAP32[83412]|0; + $404 = (($403) + 1)|0; + HEAP32[83412] = $404; + $405 = HEAP32[83413]|0; + $406 = (($405) + 1)|0; + HEAP32[83413] = $406; + $407 = HEAP32[65219]|0; + $408 = (+($407|0)); + $409 = HEAP32[(260880)>>2]|0; + $410 = (+($409|0)); + HEAPF32[65224] = $408; + HEAPF32[(260900)>>2] = $410; + HEAPF32[(260912)>>2] = 1.0; + HEAPF32[(260908)>>2] = 1.0; + HEAP32[(260916)>>2] = 300; + HEAP32[(260904)>>2] = 1; + } + } while(0); + $427 = HEAP32[65219]|0; + $428 = HEAP32[(260884)>>2]|0; + $429 = (($428) + ($427))|0; + $430 = ($429|0)<(1); + if ($430) { + HEAP32[65223] = 0; + } + $431 = HEAP32[83414]|0; + $432 = ($431|0)==(0); + do { + if (!($432)) { + $433 = HEAP32[83415]|0; + $434 = (($433) + -100)|0; + HEAP32[83415] = $434; + $435 = HEAP32[(333668)>>2]|0; + $436 = (($435) + 100)|0; + HEAP32[(333668)>>2] = $436; + $437 = HEAP32[(333672)>>2]|0; + $438 = (+($437|0)); + $439 = $438 + 2.5; + $440 = (~~(($439))); + HEAP32[(333672)>>2] = $440; + $441 = HEAP32[(333664)>>2]|0; + $442 = (+($441|0)); + $443 = $442 + 1.25; + $444 = (~~(($443))); + HEAP32[(333664)>>2] = $444; + $445 = ($440|0)>(99); + if (!($445)) { + break; + } + HEAP32[65212] = 1; + HEAP32[83414] = 0; + } + } while(0); + $446 = HEAP32[65212]|0; + $447 = ($446|0)!=(1); + $448 = HEAP32[83419]|0; + $449 = ($448|0)!=(0); + $or$cond53 = $447 | $449; + do { + if ($or$cond53) { + if (!($449)) { + break; + } + $489 = HEAP32[(260836)>>2]|0; + $490 = HEAP32[(260844)>>2]|0; + $491 = (($490) + ($489))|0; + $492 = (_GetScreenHeight()|0); + $493 = ($491|0)>($492|0); + if ($493) { + HEAP32[65212] = 0; + HEAP32[83419] = 0; + } + $494 = HEAP32[65208]|0; + $495 = (($494) + 2)|0; + HEAP32[65208] = $495; + $496 = HEAP32[83411]|0; + $497 = (($496) + -1)|0; + HEAP32[83411] = $497; + $498 = (+($497|0)); + $499 = $498 * 60.0; + $500 = $499 / 60.0; + $501 = HEAP32[(260836)>>2]|0; + $502 = (+($501|0)); + $503 = $502 - $500; + $504 = (~~(($503))); + HEAP32[(260836)>>2] = $504; + } else { + $450 = HEAP32[40320]|0; + $451 = HEAP32[65208]|0; + $452 = Math_imul($450, -3)|0; + $453 = (($451) + ($452))|0; + HEAP32[65208] = $453; + $454 = (+($453|0)); + $455 = $454 * 0.015707964077591896; + $456 = $455; + $457 = (+Math_sin((+$456))); + $458 = $457 * 5.0; + $459 = (~~(($458))); + $460 = (+($459|0)); + $461 = $460 * 60.0; + $462 = $461 / 60.0; + $463 = HEAP32[(260836)>>2]|0; + $464 = (+($463|0)); + $465 = $464 + $462; + $466 = (~~(($465))); + HEAP32[(260836)>>2] = $466; + ;HEAP32[$$byval_copy100>>2]=HEAP32[260832>>2]|0;HEAP32[$$byval_copy100+4>>2]=HEAP32[260832+4>>2]|0;HEAP32[$$byval_copy100+8>>2]=HEAP32[260832+8>>2]|0;HEAP32[$$byval_copy100+12>>2]=HEAP32[260832+12>>2]|0; + ;HEAP32[$$byval_copy101>>2]=HEAP32[260816>>2]|0;HEAP32[$$byval_copy101+4>>2]=HEAP32[260816+4>>2]|0;HEAP32[$$byval_copy101+8>>2]=HEAP32[260816+8>>2]|0;HEAP32[$$byval_copy101+12>>2]=HEAP32[260816+12>>2]|0; + $467 = (_CheckCollisionRecs($$byval_copy100,$$byval_copy101)|0); + $468 = ($467|0)!=(0); + $469 = HEAP32[83396]|0; + $$off1085 = (($469) + -1)|0; + $$cmp1086 = ($$off1085>>>0)>(1); + $470 = $468 & $$cmp1086; + if ($470) { + HEAP32[83410] = 8; + HEAP32[40339] = 2; + HEAP32[40336] = 0; + HEAP32[40327] = 0; + HEAP32[6561] = 5; + break; + } + ;HEAP32[$$byval_copy100>>2]=HEAP32[260832>>2]|0;HEAP32[$$byval_copy100+4>>2]=HEAP32[260832+4>>2]|0;HEAP32[$$byval_copy100+8>>2]=HEAP32[260832+8>>2]|0;HEAP32[$$byval_copy100+12>>2]=HEAP32[260832+12>>2]|0; + ;HEAP32[$$byval_copy101>>2]=HEAP32[260816>>2]|0;HEAP32[$$byval_copy101+4>>2]=HEAP32[260816+4>>2]|0;HEAP32[$$byval_copy101+8>>2]=HEAP32[260816+8>>2]|0;HEAP32[$$byval_copy101+12>>2]=HEAP32[260816+12>>2]|0; + $471 = (_CheckCollisionRecs($$byval_copy100,$$byval_copy101)|0); + $472 = ($471|0)!=(0); + $473 = HEAP32[83396]|0; + $474 = ($473|0)==(2); + $475 = $472 & $474; + if (!($475)) { + break; + } + HEAP32[83419] = 1; + HEAP32[83411] = 8; + $476 = HEAP32[40352]|0; + $477 = (25732 + ($476<<2)|0); + HEAP32[$477>>2] = 4; + $478 = (($476) + 1)|0; + HEAP32[40352] = $478; + $479 = HEAP32[6431]|0; + $480 = (($479) + 300)|0; + HEAP32[6431] = $480; + $481 = HEAP32[83420]|0; + $482 = (($481) + 1)|0; + HEAP32[83420] = $482; + $483 = HEAP32[83413]|0; + $484 = (($483) + 1)|0; + HEAP32[83413] = $484; + $485 = HEAP32[65208]|0; + $486 = (+($485|0)); + $487 = HEAP32[(260836)>>2]|0; + $488 = (+($487|0)); + HEAPF32[65213] = $486; + HEAPF32[(260856)>>2] = $488; + HEAPF32[(260868)>>2] = 1.0; + HEAPF32[(260864)>>2] = 1.0; + HEAP32[(260872)>>2] = 300; + HEAP32[(260860)>>2] = 1; + } + } while(0); + $505 = HEAP32[65208]|0; + $506 = HEAP32[(260840)>>2]|0; + $507 = (($506) + ($505))|0; + $508 = ($507|0)<(1); + if (!($508)) { + break; + } + HEAP32[65212] = 0; + } + } while(0); + $509 = HEAP32[40321]|0; + $510 = HEAP32[40326]|0; + $511 = ($509|0)<($510|0); + if (!($511)) { + HEAP32[40321] = $510; + } + $512 = HEAP32[6564]|0; + $513 = ($512|0)<(100); + $514 = HEAP32[83421]|0; + $515 = ($514|0)!=(0); + $or$cond63 = $513 | $515; + if ($or$cond63) { + $538 = $514; + } else { + $516 = HEAP32[40377]|0; + $517 = ($516|0)==(0); + $518 = +HEAPF32[40378]; + do { + if ($517) { + $521 = $518 + -0.0099999997764825821; + HEAPF32[40378] = $521; + $522 = !($521 <= 0.0); + if ($522) { + break; + } + HEAP32[40377] = 1; + } else { + $519 = $518 + 0.0099999997764825821; + HEAPF32[40378] = $519; + $520 = !($519 >= 1.0); + if ($520) { + break; + } + HEAP32[40377] = 0; + } + } while(0); + $523 = +HEAPF32[40379]; + $524 = $523 + -0.0099999997764825821; + HEAPF32[40379] = $524; + $525 = +HEAPF32[40380]; + $526 = $525 + 0.004999999888241291; + HEAPF32[40380] = $526; + $527 = !($524 <= 0.0); + if (!($527)) { + HEAPF32[40379] = 1.0; + HEAPF32[40380] = 1.0; + } + $528 = (_IsGestureDetected(1)|0); + $529 = ($528|0)==(0); + do { + if (!($529)) { + _GetTouchPosition($5,0); + ;HEAP32[$$byval_copy100>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy100+4>>2]=HEAP32[$5+4>>2]|0; + ;HEAP32[$$byval_copy101>>2]=HEAP32[161580>>2]|0;HEAP32[$$byval_copy101+4>>2]=HEAP32[161580+4>>2]|0;HEAP32[$$byval_copy101+8>>2]=HEAP32[161580+8>>2]|0;HEAP32[$$byval_copy101+12>>2]=HEAP32[161580+12>>2]|0; + $530 = (_CheckCollisionPointRec($$byval_copy100,$$byval_copy101)|0); + $531 = ($530|0)!=(0); + $532 = HEAP32[83396]|0; + $533 = ($532|0)!=(2); + $or$cond65 = $531 & $533; + if (!($or$cond65)) { + break; + } + HEAP32[83396] = 2; + HEAP32[40340] = 1; + $534 = HEAP32[6564]|0; + HEAP32[83422] = $534; + HEAP32[83423] = 0; + HEAP32[83424] = 0; + $535 = HEAP32[40375]|0; + $536 = (($535) + 1)|0; + HEAP32[40375] = $536; + } + } while(0); + $$pr1145 = HEAP32[83421]|0; + $538 = $$pr1145; + } + $537 = ($538|0)==(0); + do { + if (!($537)) { + $539 = HEAP32[40321]|0; + $540 = (($539) + 20)|0; + HEAP32[40321] = $540; + $541 = HEAP32[40326]|0; + $542 = ($540|0)<($541|0); + if ($542) { + break; + } + HEAP32[83421] = 0; + } + } while(0); + $543 = HEAP32[40335]|0; + $544 = (($543) + 1)|0; + HEAP32[40335] = $544; + $545 = ($544|0)>(10); + if ($545) { + $546 = (_GetRandomValue(0,255)|0); + $547 = $546&255; + HEAP8[339120] = $547; + $548 = (_GetRandomValue(0,255)|0); + $549 = $548&255; + HEAP8[(339121)>>0] = $549; + $550 = (_GetRandomValue(0,255)|0); + $551 = $550&255; + HEAP8[(339122)>>0] = $551; + HEAP32[40335] = 0; + $$01224 = 0; + } else { + $$01224 = 0; + } + while(1) { + $552 = (258008 + ($$01224<<2)|0); + $553 = HEAP32[$552>>2]|0; + $554 = ($553|0)==(0); + if ($554) { + $555 = (257848 + ($$01224<<4)|0); + HEAP32[$555>>2] = -100; + } + $556 = (257848 + ($$01224<<4)|0); + $557 = HEAP32[$556>>2]|0; + $558 = (((257848 + ($$01224<<4)|0)) + 8|0); + $559 = HEAP32[$558>>2]|0; + $560 = (0 - ($559))|0; + $561 = ($557|0)>($560|0); + if (!($561)) { + HEAP32[$552>>2] = 0; + } + ;HEAP32[$$byval_copy100>>2]=HEAP32[$556>>2]|0;HEAP32[$$byval_copy100+4>>2]=HEAP32[$556+4>>2]|0;HEAP32[$$byval_copy100+8>>2]=HEAP32[$556+8>>2]|0;HEAP32[$$byval_copy100+12>>2]=HEAP32[$556+12>>2]|0; + ;HEAP32[$$byval_copy101>>2]=HEAP32[260816>>2]|0;HEAP32[$$byval_copy101+4>>2]=HEAP32[260816+4>>2]|0;HEAP32[$$byval_copy101+8>>2]=HEAP32[260816+8>>2]|0;HEAP32[$$byval_copy101+12>>2]=HEAP32[260816+12>>2]|0; + $562 = (_CheckCollisionRecs($$byval_copy100,$$byval_copy101)|0); + $563 = ($562|0)!=(0); + $564 = HEAP32[83396]|0; + $565 = ($564|0)==(3); + $or$cond67 = $563 & $565; + if ($or$cond67) { + HEAP32[40337] = 1; + } + $566 = (($$01224) + 1)|0; + $exitcond1276 = ($566|0)==(10); + if ($exitcond1276) { + $$010501223 = 0; + break; + } else { + $$01224 = $566; + } + } + while(1) { + $567 = (258048 + ($$010501223<<2)|0); + $568 = HEAP32[$567>>2]|0; + $569 = ($568|0)==(0); + if ($569) { + $570 = (258088 + ($$010501223<<4)|0); + HEAP32[$570>>2] = -100; + } + $571 = (258088 + ($$010501223<<4)|0); + $572 = HEAP32[$571>>2]|0; + $573 = (((258088 + ($$010501223<<4)|0)) + 8|0); + $574 = HEAP32[$573>>2]|0; + $575 = (0 - ($574))|0; + $576 = ($572|0)>($575|0); + if (!($576)) { + HEAP32[$567>>2] = 0; + } + ;HEAP32[$$byval_copy100>>2]=HEAP32[$571>>2]|0;HEAP32[$$byval_copy100+4>>2]=HEAP32[$571+4>>2]|0;HEAP32[$$byval_copy100+8>>2]=HEAP32[$571+8>>2]|0;HEAP32[$$byval_copy100+12>>2]=HEAP32[$571+12>>2]|0; + ;HEAP32[$$byval_copy101>>2]=HEAP32[260816>>2]|0;HEAP32[$$byval_copy101+4>>2]=HEAP32[260816+4>>2]|0;HEAP32[$$byval_copy101+8>>2]=HEAP32[260816+8>>2]|0;HEAP32[$$byval_copy101+12>>2]=HEAP32[260816+12>>2]|0; + $577 = (_CheckCollisionRecs($$byval_copy100,$$byval_copy101)|0); + $578 = ($577|0)==(0); + do { + if (!($578)) { + $579 = HEAP32[40322]|0; + $580 = ($579|0)>(29); + $581 = HEAP32[83396]|0; + $582 = ($581|0)!=(2); + $or$cond69 = $580 & $582; + if (!($or$cond69)) { + break; + } + $583 = HEAP32[40338]|0; + $584 = ($583|0)==(0); + if ($584) { + ;HEAP32[$$byval_copy101>>2]=HEAP32[25644>>2]|0;HEAP32[$$byval_copy101+4>>2]=HEAP32[25644+4>>2]|0;HEAP32[$$byval_copy101+8>>2]=HEAP32[25644+8>>2]|0; + _PlaySound($$byval_copy101); + $585 = HEAP32[40372]|0; + $586 = (($585) + 1)|0; + HEAP32[40372] = $586; + } + HEAP32[40338] = 1; + HEAP32[40316] = 10; + HEAP32[83396] = 3; + } + } while(0); + $587 = (($$010501223) + 1)|0; + $exitcond1275 = ($587|0)==(10); + if ($exitcond1275) { + $$010511222 = 0; + break; + } else { + $$010501223 = $587; + } + } + while(1) { + $588 = (258248 + ($$010511222<<2)|0); + $589 = HEAP32[$588>>2]|0; + $590 = ($589|0)==(0); + if ($590) { + $591 = (258288 + ($$010511222<<4)|0); + HEAP32[$591>>2] = -500; + } else { + $592 = +HEAPF32[40323]; + $593 = $592 * 9.0; + $594 = $593; + $595 = $594 * 60.0; + $596 = $595 / 60.0; + $597 = (258288 + ($$010511222<<4)|0); + $598 = HEAP32[$597>>2]|0; + $599 = (+($598|0)); + $600 = $599 - $596; + $601 = (~~(($600))); + HEAP32[$597>>2] = $601; + } + $602 = (258288 + ($$010511222<<4)|0); + $603 = HEAP32[$602>>2]|0; + $604 = (((258288 + ($$010511222<<4)|0)) + 8|0); + $605 = HEAP32[$604>>2]|0; + $606 = (0 - ($605))|0; + $607 = ($603|0)>($606|0); + if (!($607)) { + HEAP32[$588>>2] = 0; + } + ;HEAP32[$$byval_copy100>>2]=HEAP32[$602>>2]|0;HEAP32[$$byval_copy100+4>>2]=HEAP32[$602+4>>2]|0;HEAP32[$$byval_copy100+8>>2]=HEAP32[$602+8>>2]|0;HEAP32[$$byval_copy100+12>>2]=HEAP32[$602+12>>2]|0; + ;HEAP32[$$byval_copy101>>2]=HEAP32[260816>>2]|0;HEAP32[$$byval_copy101+4>>2]=HEAP32[260816+4>>2]|0;HEAP32[$$byval_copy101+8>>2]=HEAP32[260816+8>>2]|0;HEAP32[$$byval_copy101+12>>2]=HEAP32[260816+12>>2]|0; + $608 = (_CheckCollisionRecs($$byval_copy100,$$byval_copy101)|0); + $609 = ($608|0)!=(0); + $610 = HEAP32[83396]|0; + $611 = ($610|0)!=(4); + $or$cond71 = $609 & $611; + $612 = HEAP32[40325]|0; + $613 = ($612|0)>(34); + $or$cond73 = $or$cond71 & $613; + $614 = ($610|0)!=(2); + $or$cond75 = $614 & $or$cond73; + if ($or$cond75) { + HEAP32[83396] = 4; + HEAP32[40325] = 0; + HEAP32[83410] = 15; + HEAP32[40316] = 0; + HEAP32[40339] = 10; + HEAP32[40337] = 0; + HEAP32[40338] = 0; + HEAP32[40333] = 0; + HEAP32[40334] = 0; + $615 = HEAP32[40373]|0; + $616 = (($615) + 1)|0; + HEAP32[40373] = $616; + } + $617 = (($$010511222) + 1)|0; + $exitcond1274 = ($617|0)==(10); + if ($exitcond1274) { + $$010521221 = 0; + break; + } else { + $$010511222 = $617; + } + } + while(1) { + $621 = (257728 + ($$010521221<<2)|0); + $622 = HEAP32[$621>>2]|0; + $623 = ($622|0)==(0); + if ($623) { + $624 = (257568 + ($$010521221<<4)|0); + HEAP32[$624>>2] = -200; + } + $625 = (257568 + ($$010521221<<4)|0); + $626 = HEAP32[$625>>2]|0; + $627 = HEAP32[65204]|0; + $628 = HEAP32[(260824)>>2]|0; + $629 = (($628) + ($627))|0; + $630 = ($626|0)>($629|0); + do { + if (!($630)) { + $631 = (257768 + ($$010521221<<2)|0); + $632 = HEAP32[$631>>2]|0; + $633 = ($632|0)==(0); + if (!($633)) { + break; + } + HEAP32[$631>>2] = 1; + } + } while(0); + $634 = (257768 + ($$010521221<<2)|0); + $635 = HEAP32[$634>>2]|0; + $636 = ($635|0)==(0); + do { + if (!($636)) { + $637 = (((257568 + ($$010521221<<4)|0)) + 4|0); + $638 = HEAP32[$637>>2]|0; + $639 = ($638|0)<(-49); + $640 = HEAP32[40340]|0; + $641 = ($640|0)!=(0); + $or$cond77 = $639 | $641; + if ($or$cond77) { + break; + } + $642 = (257808 + ($$010521221<<2)|0); + $643 = HEAP32[40343]|0; + $644 = (+($643|0)); + $645 = $644 * 60.0; + $646 = $645 / 60.0; + $647 = (+($638|0)); + $648 = $647 - $646; + $649 = (~~(($648))); + HEAP32[$637>>2] = $649; + HEAP32[$642>>2] = 0; + } + } while(0); + $650 = HEAP32[$625>>2]|0; + $651 = (((257568 + ($$010521221<<4)|0)) + 8|0); + $652 = HEAP32[$651>>2]|0; + $653 = (0 - ($652))|0; + $654 = ($650|0)>($653|0); + if (!($654)) { + HEAP32[$621>>2] = 0; + HEAP32[$634>>2] = 0; + } + ;HEAP32[$$byval_copy100>>2]=HEAP32[260816>>2]|0;HEAP32[$$byval_copy100+4>>2]=HEAP32[260816+4>>2]|0;HEAP32[$$byval_copy100+8>>2]=HEAP32[260816+8>>2]|0;HEAP32[$$byval_copy100+12>>2]=HEAP32[260816+12>>2]|0; + ;HEAP32[$$byval_copy101>>2]=HEAP32[$625>>2]|0;HEAP32[$$byval_copy101+4>>2]=HEAP32[$625+4>>2]|0;HEAP32[$$byval_copy101+8>>2]=HEAP32[$625+8>>2]|0;HEAP32[$$byval_copy101+12>>2]=HEAP32[$625+12>>2]|0; + $655 = (_CheckCollisionRecs($$byval_copy100,$$byval_copy101)|0); + $656 = ($655|0)!=(0); + $657 = HEAP32[83396]|0; + $658 = ($657|0)!=(2); + $or$cond121 = $656 & $658; + if ($or$cond121) { + HEAP32[83410] = 8; + HEAP32[40339] = 2; + HEAP32[40336] = 0; + HEAP32[40327] = 0; + HEAP32[6561] = 0; + $$010531220 = 0; + } else { + $$010531220 = 0; + } + while(1) { + $660 = (258448 + ($$010531220<<4)|0); + ;HEAP32[$$byval_copy100>>2]=HEAP32[$625>>2]|0;HEAP32[$$byval_copy100+4>>2]=HEAP32[$625+4>>2]|0;HEAP32[$$byval_copy100+8>>2]=HEAP32[$625+8>>2]|0;HEAP32[$$byval_copy100+12>>2]=HEAP32[$625+12>>2]|0; + ;HEAP32[$$byval_copy101>>2]=HEAP32[$660>>2]|0;HEAP32[$$byval_copy101+4>>2]=HEAP32[$660+4>>2]|0;HEAP32[$$byval_copy101+8>>2]=HEAP32[$660+8>>2]|0;HEAP32[$$byval_copy101+12>>2]=HEAP32[$660+12>>2]|0; + $661 = (_CheckCollisionRecs($$byval_copy100,$$byval_copy101)|0); + $662 = ($661|0)==(0); + do { + if (!($662)) { + $663 = (258768 + ($$010531220<<2)|0); + $664 = HEAP32[$663>>2]|0; + $665 = ($664|0)==(0); + if (!($665)) { + break; + } + $666 = (333700 + ($$010531220<<2)|0); + HEAP32[$663>>2] = 1; + HEAP32[$666>>2] = 8; + } + } while(0); + $667 = (($$010531220) + 1)|0; + $exitcond1272 = ($667|0)==(16); + if ($exitcond1272) { + break; + } else { + $$010531220 = $667; + } + } + $659 = (($$010521221) + 1)|0; + $exitcond1273 = ($659|0)==(10); + if ($exitcond1273) { + break; + } else { + $$010521221 = $659; + } + } + $618 = ((($6)) + 4|0); + $619 = ((($6)) + 8|0); + $620 = ((($6)) + 12|0); + $$010541218 = 0; + while(1) { + $668 = (257504 + ($$010541218<<2)|0); + $669 = HEAP32[$668>>2]|0; + $670 = ($669|0)==(0); + do { + if (!($670)) { + $671 = HEAP32[40320]|0; + $672 = (257248 + ($$010541218<<4)|0); + $673 = HEAP32[$672>>2]|0; + $674 = (($673) - ($671))|0; + HEAP32[$672>>2] = $674; + ;HEAP32[$$byval_copy100>>2]=HEAP32[260816>>2]|0;HEAP32[$$byval_copy100+4>>2]=HEAP32[260816+4>>2]|0;HEAP32[$$byval_copy100+8>>2]=HEAP32[260816+8>>2]|0;HEAP32[$$byval_copy100+12>>2]=HEAP32[260816+12>>2]|0; + ;HEAP32[$$byval_copy101>>2]=HEAP32[$672>>2]|0;HEAP32[$$byval_copy101+4>>2]=HEAP32[$672+4>>2]|0;HEAP32[$$byval_copy101+8>>2]=HEAP32[$672+8>>2]|0;HEAP32[$$byval_copy101+12>>2]=HEAP32[$672+12>>2]|0; + $675 = (_CheckCollisionRecs($$byval_copy100,$$byval_copy101)|0); + $676 = ($675|0)!=(0); + $677 = HEAP32[83396]|0; + $678 = ($677|0)!=(2); + $or$cond79 = $676 & $678; + $679 = HEAP32[40316]|0; + $680 = ($679|0)>(9); + $or$cond123 = $or$cond79 & $680; + if ($or$cond123) { + $681 = HEAP32[$672>>2]|0; + $682 = (($681) + -25)|0; + HEAP32[65204] = $682; + HEAP32[83396] = 3; + } + ;HEAP32[$$byval_copy100>>2]=HEAP32[260816>>2]|0;HEAP32[$$byval_copy100+4>>2]=HEAP32[260816+4>>2]|0;HEAP32[$$byval_copy100+8>>2]=HEAP32[260816+8>>2]|0;HEAP32[$$byval_copy100+12>>2]=HEAP32[260816+12>>2]|0; + ;HEAP32[$$byval_copy101>>2]=HEAP32[$672>>2]|0;HEAP32[$$byval_copy101+4>>2]=HEAP32[$672+4>>2]|0;HEAP32[$$byval_copy101+8>>2]=HEAP32[$672+8>>2]|0;HEAP32[$$byval_copy101+12>>2]=HEAP32[$672+12>>2]|0; + $683 = (_CheckCollisionRecs($$byval_copy100,$$byval_copy101)|0); + $684 = ($683|0)!=(0); + $685 = HEAP32[83396]|0; + $686 = ($685|0)==(2); + $or$cond81 = $684 & $686; + $687 = HEAP32[40321]|0; + $688 = ($687|0)<(2); + $or$cond125 = $or$cond81 & $688; + if ($or$cond125) { + HEAP32[83396] = 0; + HEAP32[83410] = 15; + HEAP32[40339] = 6; + HEAPF32[40331] = 1.6000000238418579; + HEAPF32[40323] = 1.2000000476837158; + HEAP32[83421] = 1; + HEAP32[57269] = 0; + $$010551213 = 0; + } else { + $$010551213 = 0; + } + while(1) { + $689 = (258448 + ($$010551213<<4)|0); + ;HEAP32[$$byval_copy100>>2]=HEAP32[$689>>2]|0;HEAP32[$$byval_copy100+4>>2]=HEAP32[$689+4>>2]|0;HEAP32[$$byval_copy100+8>>2]=HEAP32[$689+8>>2]|0;HEAP32[$$byval_copy100+12>>2]=HEAP32[$689+12>>2]|0; + ;HEAP32[$$byval_copy101>>2]=HEAP32[$672>>2]|0;HEAP32[$$byval_copy101+4>>2]=HEAP32[$672+4>>2]|0;HEAP32[$$byval_copy101+8>>2]=HEAP32[$672+8>>2]|0;HEAP32[$$byval_copy101+12>>2]=HEAP32[$672+12>>2]|0; + $690 = (_CheckCollisionRecs($$byval_copy100,$$byval_copy101)|0); + $691 = ($690|0)==(0); + do { + if (!($691)) { + $692 = (258704 + ($$010551213<<2)|0); + $693 = HEAP32[$692>>2]|0; + $694 = ($693|0)==(0); + if ($694) { + break; + } + $695 = (258768 + ($$010551213<<2)|0); + $696 = HEAP32[$695>>2]|0; + $697 = ($696|0)==(0); + if (!($697)) { + break; + } + $698 = HEAP32[$672>>2]|0; + $699 = (($698) + -15)|0; + HEAP32[$689>>2] = $699; + } + } while(0); + $700 = (258832 + ($$010551213<<4)|0); + ;HEAP32[$$byval_copy100>>2]=HEAP32[$700>>2]|0;HEAP32[$$byval_copy100+4>>2]=HEAP32[$700+4>>2]|0;HEAP32[$$byval_copy100+8>>2]=HEAP32[$700+8>>2]|0;HEAP32[$$byval_copy100+12>>2]=HEAP32[$700+12>>2]|0; + ;HEAP32[$$byval_copy101>>2]=HEAP32[$672>>2]|0;HEAP32[$$byval_copy101+4>>2]=HEAP32[$672+4>>2]|0;HEAP32[$$byval_copy101+8>>2]=HEAP32[$672+8>>2]|0;HEAP32[$$byval_copy101+12>>2]=HEAP32[$672+12>>2]|0; + $701 = (_CheckCollisionRecs($$byval_copy100,$$byval_copy101)|0); + $702 = ($701|0)==(0); + do { + if (!($702)) { + $703 = (259088 + ($$010551213<<2)|0); + $704 = HEAP32[$703>>2]|0; + $705 = ($704|0)==(0); + if ($705) { + break; + } + $706 = (259152 + ($$010551213<<2)|0); + $707 = HEAP32[$706>>2]|0; + $708 = ($707|0)==(0); + if (!($708)) { + break; + } + $709 = HEAP32[$672>>2]|0; + $710 = (($709) + -15)|0; + HEAP32[$700>>2] = $710; + } + } while(0); + $711 = (259216 + ($$010551213<<4)|0); + ;HEAP32[$$byval_copy100>>2]=HEAP32[$711>>2]|0;HEAP32[$$byval_copy100+4>>2]=HEAP32[$711+4>>2]|0;HEAP32[$$byval_copy100+8>>2]=HEAP32[$711+8>>2]|0;HEAP32[$$byval_copy100+12>>2]=HEAP32[$711+12>>2]|0; + ;HEAP32[$$byval_copy101>>2]=HEAP32[$672>>2]|0;HEAP32[$$byval_copy101+4>>2]=HEAP32[$672+4>>2]|0;HEAP32[$$byval_copy101+8>>2]=HEAP32[$672+8>>2]|0;HEAP32[$$byval_copy101+12>>2]=HEAP32[$672+12>>2]|0; + $712 = (_CheckCollisionRecs($$byval_copy100,$$byval_copy101)|0); + $713 = ($712|0)==(0); + do { + if (!($713)) { + $714 = (259472 + ($$010551213<<2)|0); + $715 = HEAP32[$714>>2]|0; + $716 = ($715|0)==(0); + if ($716) { + break; + } + $717 = (259600 + ($$010551213<<2)|0); + $718 = HEAP32[$717>>2]|0; + $719 = ($718|0)==(0); + if (!($719)) { + break; + } + $720 = HEAP32[$672>>2]|0; + $721 = (($720) + -22)|0; + HEAP32[$711>>2] = $721; + } + } while(0); + $722 = (259664 + ($$010551213<<3)|0); + $723 = +HEAPF32[$722>>2]; + $724 = (~~(($723))); + HEAP32[$6>>2] = $724; + $725 = (((259664 + ($$010551213<<3)|0)) + 4|0); + $726 = +HEAPF32[$725>>2]; + $727 = (~~(($726))); + HEAP32[$618>>2] = $727; + HEAP32[$619>>2] = 36; + HEAP32[$620>>2] = 24; + ;HEAP32[$$byval_copy100>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy100+4>>2]=HEAP32[$6+4>>2]|0;HEAP32[$$byval_copy100+8>>2]=HEAP32[$6+8>>2]|0;HEAP32[$$byval_copy100+12>>2]=HEAP32[$6+12>>2]|0; + ;HEAP32[$$byval_copy101>>2]=HEAP32[$672>>2]|0;HEAP32[$$byval_copy101+4>>2]=HEAP32[$672+4>>2]|0;HEAP32[$$byval_copy101+8>>2]=HEAP32[$672+8>>2]|0;HEAP32[$$byval_copy101+12>>2]=HEAP32[$672+12>>2]|0; + $728 = (_CheckCollisionRecs($$byval_copy100,$$byval_copy101)|0); + $729 = ($728|0)==(0); + do { + if (!($729)) { + $730 = (259536 + ($$010551213<<2)|0); + $731 = HEAP32[$730>>2]|0; + $732 = ($731|0)==(0); + if ($732) { + break; + } + $733 = HEAP32[$672>>2]|0; + $734 = (($733) + -24)|0; + $735 = (+($734|0)); + HEAPF32[$722>>2] = $735; + } + } while(0); + $736 = (($$010551213) + 1)|0; + $exitcond1247 = ($736|0)==(16); + if ($exitcond1247) { + $$010561214 = 0; + break; + } else { + $$010551213 = $736; + } + } + while(1) { + $737 = (260920 + ($$010561214<<4)|0); + ;HEAP32[$$byval_copy100>>2]=HEAP32[$737>>2]|0;HEAP32[$$byval_copy100+4>>2]=HEAP32[$737+4>>2]|0;HEAP32[$$byval_copy100+8>>2]=HEAP32[$737+8>>2]|0;HEAP32[$$byval_copy100+12>>2]=HEAP32[$737+12>>2]|0; + ;HEAP32[$$byval_copy101>>2]=HEAP32[$672>>2]|0;HEAP32[$$byval_copy101+4>>2]=HEAP32[$672+4>>2]|0;HEAP32[$$byval_copy101+8>>2]=HEAP32[$672+8>>2]|0;HEAP32[$$byval_copy101+12>>2]=HEAP32[$672+12>>2]|0; + $738 = (_CheckCollisionRecs($$byval_copy100,$$byval_copy101)|0); + $739 = ($738|0)==(0); + do { + if (!($739)) { + $740 = (261144 + ($$010561214<<2)|0); + $741 = HEAP32[$740>>2]|0; + $742 = ($741|0)==(0); + if ($742) { + break; + } + $743 = (333764 + ($$010561214<<2)|0); + $744 = HEAP32[$743>>2]|0; + $745 = ($744|0)!=(0); + $746 = HEAP32[$672>>2]|0; + $$sink82$v = $745 ? 18 : -18; + $$sink82 = (($$sink82$v) + ($746))|0; + HEAP32[$737>>2] = $$sink82; + } + } while(0); + $747 = (($$010561214) + 1)|0; + $exitcond1248 = ($747|0)==(14); + if ($exitcond1248) { + $$010571215 = 0; + break; + } else { + $$010561214 = $747; + } + } + while(1) { + $748 = (257568 + ($$010571215<<4)|0); + ;HEAP32[$$byval_copy100>>2]=HEAP32[$748>>2]|0;HEAP32[$$byval_copy100+4>>2]=HEAP32[$748+4>>2]|0;HEAP32[$$byval_copy100+8>>2]=HEAP32[$748+8>>2]|0;HEAP32[$$byval_copy100+12>>2]=HEAP32[$748+12>>2]|0; + ;HEAP32[$$byval_copy101>>2]=HEAP32[$672>>2]|0;HEAP32[$$byval_copy101+4>>2]=HEAP32[$672+4>>2]|0;HEAP32[$$byval_copy101+8>>2]=HEAP32[$672+8>>2]|0;HEAP32[$$byval_copy101+12>>2]=HEAP32[$672+12>>2]|0; + $749 = (_CheckCollisionRecs($$byval_copy100,$$byval_copy101)|0); + $750 = ($749|0)==(0); + do { + if (!($750)) { + $751 = (257728 + ($$010571215<<2)|0); + $752 = HEAP32[$751>>2]|0; + $753 = ($752|0)==(0); + if ($753) { + break; + } + $754 = HEAP32[$672>>2]|0; + $755 = (($754) + -5)|0; + HEAP32[$748>>2] = $755; + } + } while(0); + $756 = (($$010571215) + 1)|0; + $exitcond1249 = ($756|0)==(10); + if ($exitcond1249) { + break; + } else { + $$010571215 = $756; + } + } + ;HEAP32[$$byval_copy100>>2]=HEAP32[257848>>2]|0;HEAP32[$$byval_copy100+4>>2]=HEAP32[257848+4>>2]|0;HEAP32[$$byval_copy100+8>>2]=HEAP32[257848+8>>2]|0;HEAP32[$$byval_copy100+12>>2]=HEAP32[257848+12>>2]|0; + ;HEAP32[$$byval_copy101>>2]=HEAP32[$672>>2]|0;HEAP32[$$byval_copy101+4>>2]=HEAP32[$672+4>>2]|0;HEAP32[$$byval_copy101+8>>2]=HEAP32[$672+8>>2]|0;HEAP32[$$byval_copy101+12>>2]=HEAP32[$672+12>>2]|0; + $757 = (_CheckCollisionRecs($$byval_copy100,$$byval_copy101)|0); + $758 = ($757|0)==(0); + $759 = HEAP32[64502]|0; + $760 = ($759|0)==(0); + $or$cond1278 = $758 | $760; + if (!($or$cond1278)) { + $761 = HEAP32[$672>>2]|0; + HEAP32[64462] = $761; + } + ;HEAP32[$$byval_copy100>>2]=HEAP32[(257864)>>2]|0;HEAP32[$$byval_copy100+4>>2]=HEAP32[(257864)+4>>2]|0;HEAP32[$$byval_copy100+8>>2]=HEAP32[(257864)+8>>2]|0;HEAP32[$$byval_copy100+12>>2]=HEAP32[(257864)+12>>2]|0; + ;HEAP32[$$byval_copy101>>2]=HEAP32[$672>>2]|0;HEAP32[$$byval_copy101+4>>2]=HEAP32[$672+4>>2]|0;HEAP32[$$byval_copy101+8>>2]=HEAP32[$672+8>>2]|0;HEAP32[$$byval_copy101+12>>2]=HEAP32[$672+12>>2]|0; + $762 = (_CheckCollisionRecs($$byval_copy100,$$byval_copy101)|0); + $763 = ($762|0)==(0); + $764 = HEAP32[(258012)>>2]|0; + $765 = ($764|0)==(0); + $or$cond1282 = $763 | $765; + if (!($or$cond1282)) { + $2246 = HEAP32[$672>>2]|0; + HEAP32[(257864)>>2] = $2246; + } + ;HEAP32[$$byval_copy100>>2]=HEAP32[(257880)>>2]|0;HEAP32[$$byval_copy100+4>>2]=HEAP32[(257880)+4>>2]|0;HEAP32[$$byval_copy100+8>>2]=HEAP32[(257880)+8>>2]|0;HEAP32[$$byval_copy100+12>>2]=HEAP32[(257880)+12>>2]|0; + ;HEAP32[$$byval_copy101>>2]=HEAP32[$672>>2]|0;HEAP32[$$byval_copy101+4>>2]=HEAP32[$672+4>>2]|0;HEAP32[$$byval_copy101+8>>2]=HEAP32[$672+8>>2]|0;HEAP32[$$byval_copy101+12>>2]=HEAP32[$672+12>>2]|0; + $2247 = (_CheckCollisionRecs($$byval_copy100,$$byval_copy101)|0); + $2248 = ($2247|0)==(0); + $2249 = HEAP32[(258016)>>2]|0; + $2250 = ($2249|0)==(0); + $or$cond1284 = $2248 | $2250; + if (!($or$cond1284)) { + $2251 = HEAP32[$672>>2]|0; + HEAP32[(257880)>>2] = $2251; + } + ;HEAP32[$$byval_copy100>>2]=HEAP32[(257896)>>2]|0;HEAP32[$$byval_copy100+4>>2]=HEAP32[(257896)+4>>2]|0;HEAP32[$$byval_copy100+8>>2]=HEAP32[(257896)+8>>2]|0;HEAP32[$$byval_copy100+12>>2]=HEAP32[(257896)+12>>2]|0; + ;HEAP32[$$byval_copy101>>2]=HEAP32[$672>>2]|0;HEAP32[$$byval_copy101+4>>2]=HEAP32[$672+4>>2]|0;HEAP32[$$byval_copy101+8>>2]=HEAP32[$672+8>>2]|0;HEAP32[$$byval_copy101+12>>2]=HEAP32[$672+12>>2]|0; + $2252 = (_CheckCollisionRecs($$byval_copy100,$$byval_copy101)|0); + $2253 = ($2252|0)==(0); + $2254 = HEAP32[(258020)>>2]|0; + $2255 = ($2254|0)==(0); + $or$cond1286 = $2253 | $2255; + if (!($or$cond1286)) { + $2256 = HEAP32[$672>>2]|0; + HEAP32[(257896)>>2] = $2256; + } + ;HEAP32[$$byval_copy100>>2]=HEAP32[(257912)>>2]|0;HEAP32[$$byval_copy100+4>>2]=HEAP32[(257912)+4>>2]|0;HEAP32[$$byval_copy100+8>>2]=HEAP32[(257912)+8>>2]|0;HEAP32[$$byval_copy100+12>>2]=HEAP32[(257912)+12>>2]|0; + ;HEAP32[$$byval_copy101>>2]=HEAP32[$672>>2]|0;HEAP32[$$byval_copy101+4>>2]=HEAP32[$672+4>>2]|0;HEAP32[$$byval_copy101+8>>2]=HEAP32[$672+8>>2]|0;HEAP32[$$byval_copy101+12>>2]=HEAP32[$672+12>>2]|0; + $2257 = (_CheckCollisionRecs($$byval_copy100,$$byval_copy101)|0); + $2258 = ($2257|0)==(0); + $2259 = HEAP32[(258024)>>2]|0; + $2260 = ($2259|0)==(0); + $or$cond1288 = $2258 | $2260; + if (!($or$cond1288)) { + $2261 = HEAP32[$672>>2]|0; + HEAP32[(257912)>>2] = $2261; + } + ;HEAP32[$$byval_copy100>>2]=HEAP32[(257928)>>2]|0;HEAP32[$$byval_copy100+4>>2]=HEAP32[(257928)+4>>2]|0;HEAP32[$$byval_copy100+8>>2]=HEAP32[(257928)+8>>2]|0;HEAP32[$$byval_copy100+12>>2]=HEAP32[(257928)+12>>2]|0; + ;HEAP32[$$byval_copy101>>2]=HEAP32[$672>>2]|0;HEAP32[$$byval_copy101+4>>2]=HEAP32[$672+4>>2]|0;HEAP32[$$byval_copy101+8>>2]=HEAP32[$672+8>>2]|0;HEAP32[$$byval_copy101+12>>2]=HEAP32[$672+12>>2]|0; + $2262 = (_CheckCollisionRecs($$byval_copy100,$$byval_copy101)|0); + $2263 = ($2262|0)==(0); + $2264 = HEAP32[(258028)>>2]|0; + $2265 = ($2264|0)==(0); + $or$cond1290 = $2263 | $2265; + if (!($or$cond1290)) { + $2266 = HEAP32[$672>>2]|0; + HEAP32[(257928)>>2] = $2266; + } + ;HEAP32[$$byval_copy100>>2]=HEAP32[(257944)>>2]|0;HEAP32[$$byval_copy100+4>>2]=HEAP32[(257944)+4>>2]|0;HEAP32[$$byval_copy100+8>>2]=HEAP32[(257944)+8>>2]|0;HEAP32[$$byval_copy100+12>>2]=HEAP32[(257944)+12>>2]|0; + ;HEAP32[$$byval_copy101>>2]=HEAP32[$672>>2]|0;HEAP32[$$byval_copy101+4>>2]=HEAP32[$672+4>>2]|0;HEAP32[$$byval_copy101+8>>2]=HEAP32[$672+8>>2]|0;HEAP32[$$byval_copy101+12>>2]=HEAP32[$672+12>>2]|0; + $2267 = (_CheckCollisionRecs($$byval_copy100,$$byval_copy101)|0); + $2268 = ($2267|0)==(0); + $2269 = HEAP32[(258032)>>2]|0; + $2270 = ($2269|0)==(0); + $or$cond1292 = $2268 | $2270; + if (!($or$cond1292)) { + $2271 = HEAP32[$672>>2]|0; + HEAP32[(257944)>>2] = $2271; + } + ;HEAP32[$$byval_copy100>>2]=HEAP32[(257960)>>2]|0;HEAP32[$$byval_copy100+4>>2]=HEAP32[(257960)+4>>2]|0;HEAP32[$$byval_copy100+8>>2]=HEAP32[(257960)+8>>2]|0;HEAP32[$$byval_copy100+12>>2]=HEAP32[(257960)+12>>2]|0; + ;HEAP32[$$byval_copy101>>2]=HEAP32[$672>>2]|0;HEAP32[$$byval_copy101+4>>2]=HEAP32[$672+4>>2]|0;HEAP32[$$byval_copy101+8>>2]=HEAP32[$672+8>>2]|0;HEAP32[$$byval_copy101+12>>2]=HEAP32[$672+12>>2]|0; + $2272 = (_CheckCollisionRecs($$byval_copy100,$$byval_copy101)|0); + $2273 = ($2272|0)==(0); + $2274 = HEAP32[(258036)>>2]|0; + $2275 = ($2274|0)==(0); + $or$cond1294 = $2273 | $2275; + if (!($or$cond1294)) { + $2276 = HEAP32[$672>>2]|0; + HEAP32[(257960)>>2] = $2276; + } + ;HEAP32[$$byval_copy100>>2]=HEAP32[(257976)>>2]|0;HEAP32[$$byval_copy100+4>>2]=HEAP32[(257976)+4>>2]|0;HEAP32[$$byval_copy100+8>>2]=HEAP32[(257976)+8>>2]|0;HEAP32[$$byval_copy100+12>>2]=HEAP32[(257976)+12>>2]|0; + ;HEAP32[$$byval_copy101>>2]=HEAP32[$672>>2]|0;HEAP32[$$byval_copy101+4>>2]=HEAP32[$672+4>>2]|0;HEAP32[$$byval_copy101+8>>2]=HEAP32[$672+8>>2]|0;HEAP32[$$byval_copy101+12>>2]=HEAP32[$672+12>>2]|0; + $2277 = (_CheckCollisionRecs($$byval_copy100,$$byval_copy101)|0); + $2278 = ($2277|0)==(0); + $2279 = HEAP32[(258040)>>2]|0; + $2280 = ($2279|0)==(0); + $or$cond1296 = $2278 | $2280; + if (!($or$cond1296)) { + $2281 = HEAP32[$672>>2]|0; + HEAP32[(257976)>>2] = $2281; + } + ;HEAP32[$$byval_copy100>>2]=HEAP32[(257992)>>2]|0;HEAP32[$$byval_copy100+4>>2]=HEAP32[(257992)+4>>2]|0;HEAP32[$$byval_copy100+8>>2]=HEAP32[(257992)+8>>2]|0;HEAP32[$$byval_copy100+12>>2]=HEAP32[(257992)+12>>2]|0; + ;HEAP32[$$byval_copy101>>2]=HEAP32[$672>>2]|0;HEAP32[$$byval_copy101+4>>2]=HEAP32[$672+4>>2]|0;HEAP32[$$byval_copy101+8>>2]=HEAP32[$672+8>>2]|0;HEAP32[$$byval_copy101+12>>2]=HEAP32[$672+12>>2]|0; + $2282 = (_CheckCollisionRecs($$byval_copy100,$$byval_copy101)|0); + $2283 = ($2282|0)==(0); + $2284 = HEAP32[(258044)>>2]|0; + $2285 = ($2284|0)==(0); + $or$cond1298 = $2283 | $2285; + if (!($or$cond1298)) { + $2286 = HEAP32[$672>>2]|0; + HEAP32[(257992)>>2] = $2286; + } + ;HEAP32[$$byval_copy100>>2]=HEAP32[258088>>2]|0;HEAP32[$$byval_copy100+4>>2]=HEAP32[258088+4>>2]|0;HEAP32[$$byval_copy100+8>>2]=HEAP32[258088+8>>2]|0;HEAP32[$$byval_copy100+12>>2]=HEAP32[258088+12>>2]|0; + ;HEAP32[$$byval_copy101>>2]=HEAP32[$672>>2]|0;HEAP32[$$byval_copy101+4>>2]=HEAP32[$672+4>>2]|0;HEAP32[$$byval_copy101+8>>2]=HEAP32[$672+8>>2]|0;HEAP32[$$byval_copy101+12>>2]=HEAP32[$672+12>>2]|0; + $766 = (_CheckCollisionRecs($$byval_copy100,$$byval_copy101)|0); + $767 = ($766|0)==(0); + $768 = HEAP32[64512]|0; + $769 = ($768|0)==(0); + $or$cond1280 = $767 | $769; + if (!($or$cond1280)) { + $770 = HEAP32[$672>>2]|0; + HEAP32[64522] = $770; + } + ;HEAP32[$$byval_copy100>>2]=HEAP32[(258104)>>2]|0;HEAP32[$$byval_copy100+4>>2]=HEAP32[(258104)+4>>2]|0;HEAP32[$$byval_copy100+8>>2]=HEAP32[(258104)+8>>2]|0;HEAP32[$$byval_copy100+12>>2]=HEAP32[(258104)+12>>2]|0; + ;HEAP32[$$byval_copy101>>2]=HEAP32[$672>>2]|0;HEAP32[$$byval_copy101+4>>2]=HEAP32[$672+4>>2]|0;HEAP32[$$byval_copy101+8>>2]=HEAP32[$672+8>>2]|0;HEAP32[$$byval_copy101+12>>2]=HEAP32[$672+12>>2]|0; + $771 = (_CheckCollisionRecs($$byval_copy100,$$byval_copy101)|0); + $772 = ($771|0)==(0); + $773 = HEAP32[(258052)>>2]|0; + $774 = ($773|0)==(0); + $or$cond1300 = $772 | $774; + if (!($or$cond1300)) { + $2287 = HEAP32[$672>>2]|0; + HEAP32[(258104)>>2] = $2287; + } + ;HEAP32[$$byval_copy100>>2]=HEAP32[(258120)>>2]|0;HEAP32[$$byval_copy100+4>>2]=HEAP32[(258120)+4>>2]|0;HEAP32[$$byval_copy100+8>>2]=HEAP32[(258120)+8>>2]|0;HEAP32[$$byval_copy100+12>>2]=HEAP32[(258120)+12>>2]|0; + ;HEAP32[$$byval_copy101>>2]=HEAP32[$672>>2]|0;HEAP32[$$byval_copy101+4>>2]=HEAP32[$672+4>>2]|0;HEAP32[$$byval_copy101+8>>2]=HEAP32[$672+8>>2]|0;HEAP32[$$byval_copy101+12>>2]=HEAP32[$672+12>>2]|0; + $2288 = (_CheckCollisionRecs($$byval_copy100,$$byval_copy101)|0); + $2289 = ($2288|0)==(0); + $2290 = HEAP32[(258056)>>2]|0; + $2291 = ($2290|0)==(0); + $or$cond1302 = $2289 | $2291; + if (!($or$cond1302)) { + $2292 = HEAP32[$672>>2]|0; + HEAP32[(258120)>>2] = $2292; + } + ;HEAP32[$$byval_copy100>>2]=HEAP32[(258136)>>2]|0;HEAP32[$$byval_copy100+4>>2]=HEAP32[(258136)+4>>2]|0;HEAP32[$$byval_copy100+8>>2]=HEAP32[(258136)+8>>2]|0;HEAP32[$$byval_copy100+12>>2]=HEAP32[(258136)+12>>2]|0; + ;HEAP32[$$byval_copy101>>2]=HEAP32[$672>>2]|0;HEAP32[$$byval_copy101+4>>2]=HEAP32[$672+4>>2]|0;HEAP32[$$byval_copy101+8>>2]=HEAP32[$672+8>>2]|0;HEAP32[$$byval_copy101+12>>2]=HEAP32[$672+12>>2]|0; + $2293 = (_CheckCollisionRecs($$byval_copy100,$$byval_copy101)|0); + $2294 = ($2293|0)==(0); + $2295 = HEAP32[(258060)>>2]|0; + $2296 = ($2295|0)==(0); + $or$cond1304 = $2294 | $2296; + if (!($or$cond1304)) { + $2297 = HEAP32[$672>>2]|0; + HEAP32[(258136)>>2] = $2297; + } + ;HEAP32[$$byval_copy100>>2]=HEAP32[(258152)>>2]|0;HEAP32[$$byval_copy100+4>>2]=HEAP32[(258152)+4>>2]|0;HEAP32[$$byval_copy100+8>>2]=HEAP32[(258152)+8>>2]|0;HEAP32[$$byval_copy100+12>>2]=HEAP32[(258152)+12>>2]|0; + ;HEAP32[$$byval_copy101>>2]=HEAP32[$672>>2]|0;HEAP32[$$byval_copy101+4>>2]=HEAP32[$672+4>>2]|0;HEAP32[$$byval_copy101+8>>2]=HEAP32[$672+8>>2]|0;HEAP32[$$byval_copy101+12>>2]=HEAP32[$672+12>>2]|0; + $2298 = (_CheckCollisionRecs($$byval_copy100,$$byval_copy101)|0); + $2299 = ($2298|0)==(0); + $2300 = HEAP32[(258064)>>2]|0; + $2301 = ($2300|0)==(0); + $or$cond1306 = $2299 | $2301; + if (!($or$cond1306)) { + $2302 = HEAP32[$672>>2]|0; + HEAP32[(258152)>>2] = $2302; + } + ;HEAP32[$$byval_copy100>>2]=HEAP32[(258168)>>2]|0;HEAP32[$$byval_copy100+4>>2]=HEAP32[(258168)+4>>2]|0;HEAP32[$$byval_copy100+8>>2]=HEAP32[(258168)+8>>2]|0;HEAP32[$$byval_copy100+12>>2]=HEAP32[(258168)+12>>2]|0; + ;HEAP32[$$byval_copy101>>2]=HEAP32[$672>>2]|0;HEAP32[$$byval_copy101+4>>2]=HEAP32[$672+4>>2]|0;HEAP32[$$byval_copy101+8>>2]=HEAP32[$672+8>>2]|0;HEAP32[$$byval_copy101+12>>2]=HEAP32[$672+12>>2]|0; + $2303 = (_CheckCollisionRecs($$byval_copy100,$$byval_copy101)|0); + $2304 = ($2303|0)==(0); + $2305 = HEAP32[(258068)>>2]|0; + $2306 = ($2305|0)==(0); + $or$cond1308 = $2304 | $2306; + if (!($or$cond1308)) { + $2307 = HEAP32[$672>>2]|0; + HEAP32[(258168)>>2] = $2307; + } + ;HEAP32[$$byval_copy100>>2]=HEAP32[(258184)>>2]|0;HEAP32[$$byval_copy100+4>>2]=HEAP32[(258184)+4>>2]|0;HEAP32[$$byval_copy100+8>>2]=HEAP32[(258184)+8>>2]|0;HEAP32[$$byval_copy100+12>>2]=HEAP32[(258184)+12>>2]|0; + ;HEAP32[$$byval_copy101>>2]=HEAP32[$672>>2]|0;HEAP32[$$byval_copy101+4>>2]=HEAP32[$672+4>>2]|0;HEAP32[$$byval_copy101+8>>2]=HEAP32[$672+8>>2]|0;HEAP32[$$byval_copy101+12>>2]=HEAP32[$672+12>>2]|0; + $2308 = (_CheckCollisionRecs($$byval_copy100,$$byval_copy101)|0); + $2309 = ($2308|0)==(0); + $2310 = HEAP32[(258072)>>2]|0; + $2311 = ($2310|0)==(0); + $or$cond1310 = $2309 | $2311; + if (!($or$cond1310)) { + $2312 = HEAP32[$672>>2]|0; + HEAP32[(258184)>>2] = $2312; + } + ;HEAP32[$$byval_copy100>>2]=HEAP32[(258200)>>2]|0;HEAP32[$$byval_copy100+4>>2]=HEAP32[(258200)+4>>2]|0;HEAP32[$$byval_copy100+8>>2]=HEAP32[(258200)+8>>2]|0;HEAP32[$$byval_copy100+12>>2]=HEAP32[(258200)+12>>2]|0; + ;HEAP32[$$byval_copy101>>2]=HEAP32[$672>>2]|0;HEAP32[$$byval_copy101+4>>2]=HEAP32[$672+4>>2]|0;HEAP32[$$byval_copy101+8>>2]=HEAP32[$672+8>>2]|0;HEAP32[$$byval_copy101+12>>2]=HEAP32[$672+12>>2]|0; + $2313 = (_CheckCollisionRecs($$byval_copy100,$$byval_copy101)|0); + $2314 = ($2313|0)==(0); + $2315 = HEAP32[(258076)>>2]|0; + $2316 = ($2315|0)==(0); + $or$cond1312 = $2314 | $2316; + if (!($or$cond1312)) { + $2317 = HEAP32[$672>>2]|0; + HEAP32[(258200)>>2] = $2317; + } + ;HEAP32[$$byval_copy100>>2]=HEAP32[(258216)>>2]|0;HEAP32[$$byval_copy100+4>>2]=HEAP32[(258216)+4>>2]|0;HEAP32[$$byval_copy100+8>>2]=HEAP32[(258216)+8>>2]|0;HEAP32[$$byval_copy100+12>>2]=HEAP32[(258216)+12>>2]|0; + ;HEAP32[$$byval_copy101>>2]=HEAP32[$672>>2]|0;HEAP32[$$byval_copy101+4>>2]=HEAP32[$672+4>>2]|0;HEAP32[$$byval_copy101+8>>2]=HEAP32[$672+8>>2]|0;HEAP32[$$byval_copy101+12>>2]=HEAP32[$672+12>>2]|0; + $2318 = (_CheckCollisionRecs($$byval_copy100,$$byval_copy101)|0); + $2319 = ($2318|0)==(0); + $2320 = HEAP32[(258080)>>2]|0; + $2321 = ($2320|0)==(0); + $or$cond1314 = $2319 | $2321; + if (!($or$cond1314)) { + $2322 = HEAP32[$672>>2]|0; + HEAP32[(258216)>>2] = $2322; + } + ;HEAP32[$$byval_copy100>>2]=HEAP32[(258232)>>2]|0;HEAP32[$$byval_copy100+4>>2]=HEAP32[(258232)+4>>2]|0;HEAP32[$$byval_copy100+8>>2]=HEAP32[(258232)+8>>2]|0;HEAP32[$$byval_copy100+12>>2]=HEAP32[(258232)+12>>2]|0; + ;HEAP32[$$byval_copy101>>2]=HEAP32[$672>>2]|0;HEAP32[$$byval_copy101+4>>2]=HEAP32[$672+4>>2]|0;HEAP32[$$byval_copy101+8>>2]=HEAP32[$672+8>>2]|0;HEAP32[$$byval_copy101+12>>2]=HEAP32[$672+12>>2]|0; + $2323 = (_CheckCollisionRecs($$byval_copy100,$$byval_copy101)|0); + $2324 = ($2323|0)==(0); + $2325 = HEAP32[(258084)>>2]|0; + $2326 = ($2325|0)==(0); + $or$cond1316 = $2324 | $2326; + if (!($or$cond1316)) { + $2327 = HEAP32[$672>>2]|0; + HEAP32[(258232)>>2] = $2327; + } + $2328 = HEAP32[$672>>2]|0; + $2329 = (((257248 + ($$010541218<<4)|0)) + 8|0); + $2330 = HEAP32[$2329>>2]|0; + $2331 = (-30 - ($2330))|0; + $2332 = ($2328|0)>($2331|0); + if ($2332) { + break; + } + HEAP32[$668>>2] = 0; + } + } while(0); + $775 = (($$010541218) + 1)|0; + $exitcond1271 = ($775|0)==(16); + if ($exitcond1271) { + $$010601212 = 0; + break; + } else { + $$010541218 = $775; + } + } + while(1) { + $776 = (258448 + ($$010601212<<4)|0); + $777 = HEAP32[$776>>2]|0; + $778 = (((258448 + ($$010601212<<4)|0)) + 8|0); + $779 = HEAP32[$778>>2]|0; + $780 = (0 - ($779))|0; + $781 = ($777|0)>($780|0); + if (!($781)) { + $782 = (258704 + ($$010601212<<2)|0); + HEAP32[$782>>2] = 0; + } + $783 = (258832 + ($$010601212<<4)|0); + $784 = HEAP32[$783>>2]|0; + $785 = (((258832 + ($$010601212<<4)|0)) + 8|0); + $786 = HEAP32[$785>>2]|0; + $787 = (0 - ($786))|0; + $788 = ($784|0)>($787|0); + if (!($788)) { + $789 = (259088 + ($$010601212<<2)|0); + HEAP32[$789>>2] = 0; + } + $790 = (259216 + ($$010601212<<4)|0); + $791 = HEAP32[$790>>2]|0; + $792 = (((259216 + ($$010601212<<4)|0)) + 8|0); + $793 = HEAP32[$792>>2]|0; + $794 = (0 - ($793))|0; + $795 = ($791|0)>($794|0); + if (!($795)) { + $796 = (259472 + ($$010601212<<2)|0); + HEAP32[$796>>2] = 0; + } + $797 = (259664 + ($$010601212<<3)|0); + $798 = +HEAPF32[$797>>2]; + $799 = (+($794|0)); + $800 = !($798 <= $799); + if (!($800)) { + $801 = (259536 + ($$010601212<<2)|0); + HEAP32[$801>>2] = 0; + } + $802 = (258704 + ($$010601212<<2)|0); + $803 = HEAP32[$802>>2]|0; + $804 = ($803|0)==(0); + if ($804) { + HEAP32[$776>>2] = -500; + } + $805 = (259088 + ($$010601212<<2)|0); + $806 = HEAP32[$805>>2]|0; + $807 = ($806|0)==(0); + if ($807) { + HEAP32[$783>>2] = -500; + } + $808 = (259472 + ($$010601212<<2)|0); + $809 = HEAP32[$808>>2]|0; + $810 = ($809|0)==(0); + if ($810) { + HEAP32[$790>>2] = -500; + } + ;HEAP32[$$byval_copy100>>2]=HEAP32[260816>>2]|0;HEAP32[$$byval_copy100+4>>2]=HEAP32[260816+4>>2]|0;HEAP32[$$byval_copy100+8>>2]=HEAP32[260816+8>>2]|0;HEAP32[$$byval_copy100+12>>2]=HEAP32[260816+12>>2]|0; + ;HEAP32[$$byval_copy101>>2]=HEAP32[$776>>2]|0;HEAP32[$$byval_copy101+4>>2]=HEAP32[$776+4>>2]|0;HEAP32[$$byval_copy101+8>>2]=HEAP32[$776+8>>2]|0;HEAP32[$$byval_copy101+12>>2]=HEAP32[$776+12>>2]|0; + $811 = (_CheckCollisionRecs($$byval_copy100,$$byval_copy101)|0); + $812 = ($811|0)!=(0); + $813 = HEAP32[83396]|0; + $814 = ($813|0)!=(1); + $or$cond87 = $812 & $814; + do { + if ($or$cond87) { + $815 = (258768 + ($$010601212<<2)|0); + $816 = HEAP32[$815>>2]|0; + $817 = ($816|0)==(0); + if (!($817)) { + break; + } + $818 = ($813|0)==(2); + if ($818) { + HEAP32[$815>>2] = 1; + $820 = (333700 + ($$010601212<<2)|0); + HEAP32[$820>>2] = 8; + $821 = HEAP32[40352]|0; + $822 = (25732 + ($821<<2)|0); + HEAP32[$822>>2] = 1; + $823 = (($821) + 1)|0; + HEAP32[40352] = $823; + $824 = HEAP32[83455]|0; + $825 = (($824) + 1)|0; + HEAP32[83455] = $825; + $826 = HEAP32[83413]|0; + $827 = (($826) + 1)|0; + HEAP32[83413] = $827; + $828 = HEAP32[6431]|0; + $829 = (($828) + 100)|0; + HEAP32[6431] = $829; + ;HEAP32[$$byval_copy101>>2]=HEAP32[25668>>2]|0;HEAP32[$$byval_copy101+4>>2]=HEAP32[25668+4>>2]|0;HEAP32[$$byval_copy101+8>>2]=HEAP32[25668+8>>2]|0; + _PlaySound($$byval_copy101); + $830 = HEAP32[$776>>2]|0; + $831 = (+($830|0)); + $832 = (((258448 + ($$010601212<<4)|0)) + 4|0); + $833 = HEAP32[$832>>2]|0; + $834 = (+($833|0)); + $$sroa$0689$0$$sroa_idx = (259792 + (($$010601212*40)|0)|0); + HEAPF32[$$sroa$0689$0$$sroa_idx>>2] = $831; + $$sroa$2690$0$$sroa_idx691 = (((259792 + (($$010601212*40)|0)|0)) + 4|0); + HEAPF32[$$sroa$2690$0$$sroa_idx691>>2] = $834; + $$sroa$0686$0$$sroa_idx = (((259792 + (($$010601212*40)|0)|0)) + 8|0); + HEAPF32[$$sroa$0686$0$$sroa_idx>>2] = 0.0; + $$sroa$2687$0$$sroa_idx688 = (((259792 + (($$010601212*40)|0)|0)) + 12|0); + HEAPF32[$$sroa$2687$0$$sroa_idx688>>2] = 0.0; + $835 = (_GetRandomValue(0,10)|0); + $836 = (+($835|0)); + $837 = $836 / 30.0; + $838 = (((259792 + (($$010601212*40)|0)|0)) + 20|0); + HEAPF32[$838>>2] = $837; + $839 = (((259792 + (($$010601212*40)|0)|0)) + 16|0); + HEAPF32[$839>>2] = 0.0; + $840 = (((259792 + (($$010601212*40)|0)|0)) + 28|0); + HEAPF32[$840>>2] = 1.0; + $841 = (((259792 + (($$010601212*40)|0)|0)) + 36|0); + HEAP32[$841>>2] = 1; + $842 = HEAP32[$776>>2]|0; + $843 = (+($842|0)); + $844 = HEAP32[$832>>2]|0; + $845 = (+($844|0)); + $$sroa$0683$0$$sroa_idx = (260432 + (($$010601212*24)|0)|0); + HEAPF32[$$sroa$0683$0$$sroa_idx>>2] = $843; + $$sroa$2684$0$$sroa_idx685 = (((260432 + (($$010601212*24)|0)|0)) + 4|0); + HEAPF32[$$sroa$2684$0$$sroa_idx685>>2] = $845; + $846 = (((260432 + (($$010601212*24)|0)|0)) + 16|0); + HEAPF32[$846>>2] = 1.0; + $847 = (((260432 + (($$010601212*24)|0)|0)) + 12|0); + HEAPF32[$847>>2] = 1.0; + $848 = (((260432 + (($$010601212*24)|0)|0)) + 20|0); + HEAP32[$848>>2] = 100; + $849 = (((260432 + (($$010601212*24)|0)|0)) + 8|0); + HEAP32[$849>>2] = 1; + break; + } else { + HEAP32[83410] = 8; + HEAP32[40339] = 2; + $819 = (333700 + ($$010601212<<2)|0); + HEAP32[$819>>2] = 8; + HEAP32[40336] = 0; + HEAP32[40327] = 0; + HEAP32[6561] = 1; + break; + } + } + } while(0); + ;HEAP32[$$byval_copy100>>2]=HEAP32[260816>>2]|0;HEAP32[$$byval_copy100+4>>2]=HEAP32[260816+4>>2]|0;HEAP32[$$byval_copy100+8>>2]=HEAP32[260816+8>>2]|0;HEAP32[$$byval_copy100+12>>2]=HEAP32[260816+12>>2]|0; + ;HEAP32[$$byval_copy101>>2]=HEAP32[$783>>2]|0;HEAP32[$$byval_copy101+4>>2]=HEAP32[$783+4>>2]|0;HEAP32[$$byval_copy101+8>>2]=HEAP32[$783+8>>2]|0;HEAP32[$$byval_copy101+12>>2]=HEAP32[$783+12>>2]|0; + $850 = (_CheckCollisionRecs($$byval_copy100,$$byval_copy101)|0); + $851 = ($850|0)!=(0); + $852 = HEAP32[83396]|0; + $853 = ($852|0)!=(1); + $or$cond89 = $851 & $853; + do { + if ($or$cond89) { + $854 = (259152 + ($$010601212<<2)|0); + $855 = HEAP32[$854>>2]|0; + $856 = ($855|0)==(0); + if (!($856)) { + break; + } + $857 = ($852|0)==(2); + if ($857) { + HEAP32[$854>>2] = 1; + $859 = (333700 + ($$010601212<<2)|0); + HEAP32[$859>>2] = 8; + $860 = HEAP32[40352]|0; + $861 = (25732 + ($860<<2)|0); + HEAP32[$861>>2] = 2; + $862 = (($860) + 1)|0; + HEAP32[40352] = $862; + $863 = HEAP32[6431]|0; + $864 = (($863) + 100)|0; + HEAP32[6431] = $864; + $865 = HEAP32[83456]|0; + $866 = (($865) + 1)|0; + HEAP32[83456] = $866; + $867 = HEAP32[83413]|0; + $868 = (($867) + 1)|0; + HEAP32[83413] = $868; + $869 = HEAP32[$783>>2]|0; + $870 = (+($869|0)); + $871 = (((258832 + ($$010601212<<4)|0)) + 4|0); + $872 = HEAP32[$871>>2]|0; + $873 = (+($872|0)); + $$sroa$0680$0$$sroa_idx = (259792 + (($$010601212*40)|0)|0); + HEAPF32[$$sroa$0680$0$$sroa_idx>>2] = $870; + $$sroa$2681$0$$sroa_idx682 = (((259792 + (($$010601212*40)|0)|0)) + 4|0); + HEAPF32[$$sroa$2681$0$$sroa_idx682>>2] = $873; + $$sroa$0677$0$$sroa_idx = (((259792 + (($$010601212*40)|0)|0)) + 8|0); + HEAPF32[$$sroa$0677$0$$sroa_idx>>2] = 0.0; + $$sroa$2678$0$$sroa_idx679 = (((259792 + (($$010601212*40)|0)|0)) + 12|0); + HEAPF32[$$sroa$2678$0$$sroa_idx679>>2] = 0.0; + $874 = (_GetRandomValue(5,10)|0); + $875 = (+($874|0)); + $876 = $875 / 30.0; + $877 = (((259792 + (($$010601212*40)|0)|0)) + 20|0); + HEAPF32[$877>>2] = $876; + $878 = (((259792 + (($$010601212*40)|0)|0)) + 16|0); + HEAPF32[$878>>2] = 0.0; + $879 = (((259792 + (($$010601212*40)|0)|0)) + 28|0); + HEAPF32[$879>>2] = 1.0; + $880 = (((259792 + (($$010601212*40)|0)|0)) + 36|0); + HEAP32[$880>>2] = 1; + $881 = HEAP32[$783>>2]|0; + $882 = (+($881|0)); + $883 = HEAP32[$871>>2]|0; + $884 = (+($883|0)); + $$sroa$0674$0$$sroa_idx = (260432 + (($$010601212*24)|0)|0); + HEAPF32[$$sroa$0674$0$$sroa_idx>>2] = $882; + $$sroa$2675$0$$sroa_idx676 = (((260432 + (($$010601212*24)|0)|0)) + 4|0); + HEAPF32[$$sroa$2675$0$$sroa_idx676>>2] = $884; + $885 = (((260432 + (($$010601212*24)|0)|0)) + 16|0); + HEAPF32[$885>>2] = 1.0; + $886 = (((260432 + (($$010601212*24)|0)|0)) + 12|0); + HEAPF32[$886>>2] = 1.0; + $887 = (((260432 + (($$010601212*24)|0)|0)) + 20|0); + HEAP32[$887>>2] = 100; + $888 = (((260432 + (($$010601212*24)|0)|0)) + 8|0); + HEAP32[$888>>2] = 1; + break; + } else { + HEAP32[83410] = 8; + HEAP32[40339] = 2; + HEAP32[40336] = 0; + $858 = (333700 + ($$010601212<<2)|0); + HEAP32[$858>>2] = 8; + HEAP32[40327] = 0; + HEAP32[6561] = 2; + break; + } + } + } while(0); + ;HEAP32[$$byval_copy100>>2]=HEAP32[260816>>2]|0;HEAP32[$$byval_copy100+4>>2]=HEAP32[260816+4>>2]|0;HEAP32[$$byval_copy100+8>>2]=HEAP32[260816+8>>2]|0;HEAP32[$$byval_copy100+12>>2]=HEAP32[260816+12>>2]|0; + ;HEAP32[$$byval_copy101>>2]=HEAP32[$790>>2]|0;HEAP32[$$byval_copy101+4>>2]=HEAP32[$790+4>>2]|0;HEAP32[$$byval_copy101+8>>2]=HEAP32[$790+8>>2]|0;HEAP32[$$byval_copy101+12>>2]=HEAP32[$790+12>>2]|0; + $889 = (_CheckCollisionRecs($$byval_copy100,$$byval_copy101)|0); + $890 = ($889|0)!=(0); + $891 = HEAP32[83396]|0; + $892 = ($891|0)!=(1); + $or$cond91 = $890 & $892; + do { + if ($or$cond91) { + $893 = (259600 + ($$010601212<<2)|0); + $894 = HEAP32[$893>>2]|0; + $895 = ($894|0)==(0); + if (!($895)) { + break; + } + $896 = ($891|0)==(2); + if ($896) { + HEAP32[$893>>2] = 1; + $898 = (333700 + ($$010601212<<2)|0); + HEAP32[$898>>2] = 8; + $899 = HEAP32[40352]|0; + $900 = (25732 + ($899<<2)|0); + HEAP32[$900>>2] = 3; + $901 = (($899) + 1)|0; + HEAP32[40352] = $901; + $902 = HEAP32[6431]|0; + $903 = (($902) + 100)|0; + HEAP32[6431] = $903; + $904 = HEAP32[83457]|0; + $905 = (($904) + 1)|0; + HEAP32[83457] = $905; + $906 = HEAP32[83413]|0; + $907 = (($906) + 1)|0; + HEAP32[83413] = $907; + $908 = HEAP32[$790>>2]|0; + $909 = (+($908|0)); + $910 = (((259216 + ($$010601212<<4)|0)) + 4|0); + $911 = HEAP32[$910>>2]|0; + $912 = (+($911|0)); + $$sroa$0671$0$$sroa_idx = (259792 + (($$010601212*40)|0)|0); + HEAPF32[$$sroa$0671$0$$sroa_idx>>2] = $909; + $$sroa$2672$0$$sroa_idx673 = (((259792 + (($$010601212*40)|0)|0)) + 4|0); + HEAPF32[$$sroa$2672$0$$sroa_idx673>>2] = $912; + $$sroa$0668$0$$sroa_idx = (((259792 + (($$010601212*40)|0)|0)) + 8|0); + HEAPF32[$$sroa$0668$0$$sroa_idx>>2] = $909; + $$sroa$2669$0$$sroa_idx670 = (((259792 + (($$010601212*40)|0)|0)) + 12|0); + HEAPF32[$$sroa$2669$0$$sroa_idx670>>2] = $912; + $913 = (_GetRandomValue(5,10)|0); + $914 = (+($913|0)); + $915 = $914 / 30.0; + $916 = (((259792 + (($$010601212*40)|0)|0)) + 20|0); + HEAPF32[$916>>2] = $915; + $917 = (((259792 + (($$010601212*40)|0)|0)) + 16|0); + HEAPF32[$917>>2] = 0.0; + $918 = (((259792 + (($$010601212*40)|0)|0)) + 28|0); + HEAPF32[$918>>2] = 1.0; + $919 = (((259792 + (($$010601212*40)|0)|0)) + 36|0); + HEAP32[$919>>2] = 1; + $920 = HEAP32[$790>>2]|0; + $921 = (+($920|0)); + $922 = HEAP32[$910>>2]|0; + $923 = (+($922|0)); + $$sroa$0665$0$$sroa_idx = (260432 + (($$010601212*24)|0)|0); + HEAPF32[$$sroa$0665$0$$sroa_idx>>2] = $921; + $$sroa$2666$0$$sroa_idx667 = (((260432 + (($$010601212*24)|0)|0)) + 4|0); + HEAPF32[$$sroa$2666$0$$sroa_idx667>>2] = $923; + $924 = (((260432 + (($$010601212*24)|0)|0)) + 16|0); + HEAPF32[$924>>2] = 1.0; + $925 = (((260432 + (($$010601212*24)|0)|0)) + 12|0); + HEAPF32[$925>>2] = 1.0; + $926 = (((260432 + (($$010601212*24)|0)|0)) + 20|0); + HEAP32[$926>>2] = 100; + $927 = (((260432 + (($$010601212*24)|0)|0)) + 8|0); + HEAP32[$927>>2] = 1; + break; + } else { + HEAP32[83410] = 8; + $897 = (333700 + ($$010601212<<2)|0); + HEAP32[$897>>2] = 8; + HEAP32[40339] = 2; + HEAP32[40336] = 0; + HEAP32[40327] = 0; + HEAP32[6561] = 3; + break; + } + } + } while(0); + $928 = (258768 + ($$010601212<<2)|0); + $929 = HEAP32[$928>>2]|0; + $930 = ($929|0)==(0); + if (!($930)) { + $931 = (((258448 + ($$010601212<<4)|0)) + 4|0); + $932 = HEAP32[$931>>2]|0; + $933 = (((258448 + ($$010601212<<4)|0)) + 12|0); + $934 = HEAP32[$933>>2]|0; + $935 = (($934) + ($932))|0; + $936 = (_GetScreenHeight()|0); + $937 = ($935|0)>($936|0); + if ($937) { + HEAP32[$802>>2] = 0; + HEAP32[$928>>2] = 0; + } + $938 = HEAP32[$776>>2]|0; + $939 = (($938) + 2)|0; + HEAP32[$776>>2] = $939; + $940 = (333700 + ($$010601212<<2)|0); + $941 = HEAP32[$940>>2]|0; + $942 = (($941) + -1)|0; + HEAP32[$940>>2] = $942; + $943 = (+($942|0)); + $944 = $943 * 60.0; + $945 = $944 / 60.0; + $946 = HEAP32[$931>>2]|0; + $947 = (+($946|0)); + $948 = $947 - $945; + $949 = (~~(($948))); + HEAP32[$931>>2] = $949; + } + $950 = (259152 + ($$010601212<<2)|0); + $951 = HEAP32[$950>>2]|0; + $952 = ($951|0)==(0); + if (!($952)) { + $953 = (((258832 + ($$010601212<<4)|0)) + 4|0); + $954 = HEAP32[$953>>2]|0; + $955 = (_GetScreenHeight()|0); + $956 = ($954|0)>($955|0); + if ($956) { + HEAP32[$805>>2] = 0; + HEAP32[$950>>2] = 0; + } + $957 = HEAP32[$783>>2]|0; + $958 = (($957) + 2)|0; + HEAP32[$783>>2] = $958; + $959 = (333700 + ($$010601212<<2)|0); + $960 = HEAP32[$959>>2]|0; + $961 = (($960) + -1)|0; + HEAP32[$959>>2] = $961; + $962 = (+($961|0)); + $963 = $962 * 60.0; + $964 = $963 / 60.0; + $965 = HEAP32[$953>>2]|0; + $966 = (+($965|0)); + $967 = $966 - $964; + $968 = (~~(($967))); + HEAP32[$953>>2] = $968; + } + $969 = (259600 + ($$010601212<<2)|0); + $970 = HEAP32[$969>>2]|0; + $971 = ($970|0)==(0); + if (!($971)) { + $972 = (((259216 + ($$010601212<<4)|0)) + 4|0); + $973 = HEAP32[$972>>2]|0; + $974 = (_GetScreenHeight()|0); + $975 = ($973|0)>($974|0); + if ($975) { + HEAP32[$808>>2] = 0; + HEAP32[$969>>2] = 0; + } + $976 = HEAP32[$790>>2]|0; + $977 = (($976) + 2)|0; + HEAP32[$790>>2] = $977; + $978 = (333700 + ($$010601212<<2)|0); + $979 = HEAP32[$978>>2]|0; + $980 = (($979) + -1)|0; + HEAP32[$978>>2] = $980; + $981 = HEAP32[$972>>2]|0; + $982 = (($981) - ($980))|0; + HEAP32[$972>>2] = $982; + } + $983 = (($$010601212) + 1)|0; + $exitcond1246 = ($983|0)==(16); + if ($exitcond1246) { + $$010611209 = 0; + break; + } else { + $$010601212 = $983; + } + } + while(1) { + $986 = (261256 + (($$010611209*5140)|0)|0); + $987 = (260920 + ($$010611209<<4)|0); + $988 = HEAP32[$987>>2]|0; + $989 = (+($988|0)); + $990 = (((260920 + ($$010611209<<4)|0)) + 4|0); + $991 = HEAP32[$990>>2]|0; + $992 = (+($991|0)); + HEAPF32[$986>>2] = $989; + $$sroa$2627$0$$sroa_idx628 = (((261256 + (($$010611209*5140)|0)|0)) + 4|0); + HEAPF32[$$sroa$2627$0$$sroa_idx628>>2] = $992; + $993 = (((260920 + ($$010611209<<4)|0)) + 8|0); + $994 = HEAP32[$993>>2]|0; + $995 = (0 - ($994))|0; + $996 = ($988|0)>($995|0); + if (!($996)) { + $997 = (261144 + ($$010611209<<2)|0); + HEAP32[$997>>2] = 0; + } + ;HEAP32[$$byval_copy100>>2]=HEAP32[260816>>2]|0;HEAP32[$$byval_copy100+4>>2]=HEAP32[260816+4>>2]|0;HEAP32[$$byval_copy100+8>>2]=HEAP32[260816+8>>2]|0;HEAP32[$$byval_copy100+12>>2]=HEAP32[260816+12>>2]|0; + ;HEAP32[$$byval_copy101>>2]=HEAP32[$987>>2]|0;HEAP32[$$byval_copy101+4>>2]=HEAP32[$987+4>>2]|0;HEAP32[$$byval_copy101+8>>2]=HEAP32[$987+8>>2]|0;HEAP32[$$byval_copy101+12>>2]=HEAP32[$987+12>>2]|0; + $998 = (_CheckCollisionRecs($$byval_copy100,$$byval_copy101)|0); + $999 = ($998|0)==(0); + do { + if (!($999)) { + $1000 = (261144 + ($$010611209<<2)|0); + $1001 = HEAP32[$1000>>2]|0; + $1002 = ($1001|0)==(0); + if ($1002) { + break; + } + $1003 = HEAP32[$987>>2]|0; + $1004 = (+($1003|0)); + $1005 = HEAP32[$990>>2]|0; + $1006 = (+($1005|0)); + $$sroa$0623$0$$sroa_idx = (333216 + (($$010611209*24)|0)|0); + HEAPF32[$$sroa$0623$0$$sroa_idx>>2] = $1004; + $$sroa$2624$0$$sroa_idx625 = (((333216 + (($$010611209*24)|0)|0)) + 4|0); + HEAPF32[$$sroa$2624$0$$sroa_idx625>>2] = $1006; + $1007 = (((333216 + (($$010611209*24)|0)|0)) + 16|0); + HEAPF32[$1007>>2] = 1.0; + $1008 = (((333216 + (($$010611209*24)|0)|0)) + 12|0); + HEAPF32[$1008>>2] = 1.0; + $1009 = (((333216 + (($$010611209*24)|0)|0)) + 8|0); + HEAP32[$1009>>2] = 1; + ;HEAP32[$$byval_copy101>>2]=HEAP32[25632>>2]|0;HEAP32[$$byval_copy101+4>>2]=HEAP32[25632+4>>2]|0;HEAP32[$$byval_copy101+8>>2]=HEAP32[25632+8>>2]|0; + _PlaySound($$byval_copy101); + $1010 = (261200 + ($$010611209<<2)|0); + $1011 = HEAP32[$1010>>2]|0; + switch ($1011|0) { + case 0: { + $$sink1103 = 1; + label = 290; + break; + } + case 1: { + $$sink1103 = 2; + label = 290; + break; + } + case 2: { + $$sink1103 = 3; + label = 290; + break; + } + case 3: { + $$sink1103 = 4; + label = 290; + break; + } + default: { + } + } + if ((label|0) == 290) { + label = 0; + $1012 = HEAP32[6564]|0; + $1013 = (($1012) + ($$sink1103))|0; + HEAP32[6564] = $1013; + $1014 = (((333216 + (($$010611209*24)|0)|0)) + 20|0); + HEAP32[$1014>>2] = $$sink1103; + } + HEAP32[$1000>>2] = 0; + $1015 = (((261256 + (($$010611209*5140)|0)|0)) + 8|0); + HEAP32[$1015>>2] = 1; + $$010621208 = 0; + while(1) { + $1016 = ((((261256 + (($$010611209*5140)|0)|0)) + 20|0) + (($$010621208*40)|0)|0); + $1017 = ((((((261256 + (($$010611209*5140)|0)|0)) + 20|0) + (($$010621208*40)|0)|0)) + 36|0); + HEAP32[$1017>>2] = 1; + $1018 = HEAP32[$986>>2]|0; + $1019 = HEAP32[$$sroa$2627$0$$sroa_idx628>>2]|0; + HEAP32[$1016>>2] = $1018; + $$sroa$2611$0$$sroa_idx612 = ((((((261256 + (($$010611209*5140)|0)|0)) + 20|0) + (($$010621208*40)|0)|0)) + 4|0); + HEAP32[$$sroa$2611$0$$sroa_idx612>>2] = $1019; + $1020 = (_GetRandomValue(-400,400)|0); + $1021 = (+($1020|0)); + $1022 = $1021 / 100.0; + $1023 = (_GetRandomValue(-400,400)|0); + $1024 = (+($1023|0)); + $1025 = $1024 / 100.0; + $$sroa$0607$0$$sroa_idx = ((((((261256 + (($$010611209*5140)|0)|0)) + 20|0) + (($$010621208*40)|0)|0)) + 8|0); + HEAPF32[$$sroa$0607$0$$sroa_idx>>2] = $1022; + $$sroa$2608$0$$sroa_idx609 = ((((((261256 + (($$010611209*5140)|0)|0)) + 20|0) + (($$010621208*40)|0)|0)) + 12|0); + HEAPF32[$$sroa$2608$0$$sroa_idx609>>2] = $1025; + $1026 = (_GetRandomValue(4,8)|0); + $1027 = (+($1026|0)); + $1028 = $1027 / 10.0; + $1029 = ((((((261256 + (($$010611209*5140)|0)|0)) + 20|0) + (($$010621208*40)|0)|0)) + 20|0); + HEAPF32[$1029>>2] = $1028; + $1030 = (_GetRandomValue(-180,180)|0); + $1031 = (+($1030|0)); + $1032 = ((((((261256 + (($$010611209*5140)|0)|0)) + 20|0) + (($$010621208*40)|0)|0)) + 16|0); + HEAPF32[$1032>>2] = $1031; + $1033 = ((((((261256 + (($$010611209*5140)|0)|0)) + 20|0) + (($$010621208*40)|0)|0)) + 28|0); + HEAPF32[$1033>>2] = 1.0; + $1034 = (($$010621208) + 1)|0; + $exitcond1244 = ($1034|0)==(32); + if ($exitcond1244) { + break; + } else { + $$010621208 = $1034; + } + } + } + } while(0); + $1035 = (($$010611209) + 1)|0; + $exitcond1245 = ($1035|0)==(14); + if ($exitcond1245) { + break; + } else { + $$010611209 = $1035; + } + } + $984 = HEAP32[40320]|0; + $985 = (+($984|0)); + $$010631206 = 0; + while(1) { + $1038 = (((261256 + (($$010631206*5140)|0)|0)) + 8|0); + $1039 = HEAP32[$1038>>2]|0; + $1040 = ($1039|0)==(1); + if ($1040) { + $$010641205 = 0; + while(1) { + $1041 = ((((((261256 + (($$010631206*5140)|0)|0)) + 20|0) + (($$010641205*40)|0)|0)) + 8|0); + $1042 = +HEAPF32[$1041>>2]; + $1043 = $1042; + $1044 = $1043 * 60.0; + $1045 = $1044 / 60.0; + $1046 = ((((261256 + (($$010631206*5140)|0)|0)) + 20|0) + (($$010641205*40)|0)|0); + $1047 = +HEAPF32[$1046>>2]; + $1048 = $1047; + $1049 = $1048 + $1045; + $1050 = $1049; + HEAPF32[$1046>>2] = $1050; + $1051 = ((((((261256 + (($$010631206*5140)|0)|0)) + 20|0) + (($$010641205*40)|0)|0)) + 12|0); + $1052 = +HEAPF32[$1051>>2]; + $1053 = ((((((261256 + (($$010631206*5140)|0)|0)) + 20|0) + (($$010641205*40)|0)|0)) + 4|0); + $1054 = +HEAPF32[$1053>>2]; + $1055 = $1052 + $1054; + HEAPF32[$1053>>2] = $1055; + $1056 = ((((((261256 + (($$010631206*5140)|0)|0)) + 20|0) + (($$010641205*40)|0)|0)) + 16|0); + $1057 = +HEAPF32[$1056>>2]; + $1058 = $1057 + 6.0; + HEAPF32[$1056>>2] = $1058; + $1059 = ((((((261256 + (($$010631206*5140)|0)|0)) + 20|0) + (($$010641205*40)|0)|0)) + 28|0); + $1060 = +HEAPF32[$1059>>2]; + $1061 = $1060 + -0.029999999329447746; + HEAPF32[$1059>>2] = $1061; + $1062 = ((((((261256 + (($$010631206*5140)|0)|0)) + 20|0) + (($$010641205*40)|0)|0)) + 20|0); + $1063 = +HEAPF32[$1062>>2]; + $1064 = $1063; + $1065 = $1064 + -0.0040000000000000001; + $1066 = $1065; + $$inv = $1066 <= 0.0; + $storemerge = $$inv ? 0.0 : $1066; + HEAPF32[$1062>>2] = $storemerge; + $1067 = +HEAPF32[$1059>>2]; + $1068 = !($1067 <= 0.0); + if (!($1068)) { + $1069 = ((((((261256 + (($$010631206*5140)|0)|0)) + 20|0) + (($$010641205*40)|0)|0)) + 36|0); + HEAPF32[$1059>>2] = 0.0; + HEAP32[$1069>>2] = 0; + HEAP32[$1038>>2] = 0; + } + $1070 = (($$010641205) + 1)|0; + $exitcond1242 = ($1070|0)==(32); + if ($exitcond1242) { + break; + } else { + $$010641205 = $1070; + } + } + } + $1071 = (((333216 + (($$010631206*24)|0)|0)) + 8|0); + $1072 = HEAP32[$1071>>2]|0; + $1073 = ($1072|0)==(0); + do { + if (!($1073)) { + $1074 = (((333216 + (($$010631206*24)|0)|0)) + 12|0); + $1075 = +HEAPF32[$1074>>2]; + $1076 = $1075 + -0.019999999552965164; + HEAPF32[$1074>>2] = $1076; + $1077 = (((333216 + (($$010631206*24)|0)|0)) + 16|0); + $1078 = +HEAPF32[$1077>>2]; + $1079 = $1078 + 0.10000000149011612; + HEAPF32[$1077>>2] = $1079; + $1080 = (((333216 + (($$010631206*24)|0)|0)) + 4|0); + $1081 = +HEAPF32[$1080>>2]; + $1082 = $1081 + -3.0; + HEAPF32[$1080>>2] = $1082; + $1083 = (333216 + (($$010631206*24)|0)|0); + $1084 = +HEAPF32[$1083>>2]; + $1085 = $1084 - $985; + HEAPF32[$1083>>2] = $1085; + $1086 = +HEAPF32[$1074>>2]; + $1087 = !($1086 <= 0.0); + if ($1087) { + break; + } + HEAP32[$1071>>2] = 0; + } + } while(0); + $1088 = (($$010631206) + 1)|0; + $exitcond1243 = ($1088|0)==(14); + if ($exitcond1243) { + break; + } else { + $$010631206 = $1088; + } + } + $1036 = HEAP32[40320]|0; + $1037 = (+($1036|0)); + $$010651204 = 0; + while(1) { + $1091 = (((259792 + (($$010651204*40)|0)|0)) + 36|0); + $1092 = HEAP32[$1091>>2]|0; + $1093 = ($1092|0)==(0); + do { + if (!($1093)) { + $1094 = (((259792 + (($$010651204*40)|0)|0)) + 28|0); + $1095 = +HEAPF32[$1094>>2]; + $1096 = $1095 + -0.10000000149011612; + HEAPF32[$1094>>2] = $1096; + $1097 = (((259792 + (($$010651204*40)|0)|0)) + 20|0); + $1098 = +HEAPF32[$1097>>2]; + $1099 = $1098 + 0.10000000149011612; + HEAPF32[$1097>>2] = $1099; + $1100 = !($1096 <= 0.0); + if ($1100) { + break; + } + HEAP32[$1091>>2] = 0; + } + } while(0); + $1101 = (((260432 + (($$010651204*24)|0)|0)) + 8|0); + $1102 = HEAP32[$1101>>2]|0; + $1103 = ($1102|0)==(0); + do { + if (!($1103)) { + $1104 = (((260432 + (($$010651204*24)|0)|0)) + 12|0); + $1105 = +HEAPF32[$1104>>2]; + $1106 = $1105 + -0.019999999552965164; + HEAPF32[$1104>>2] = $1106; + $1107 = (((260432 + (($$010651204*24)|0)|0)) + 16|0); + $1108 = +HEAPF32[$1107>>2]; + $1109 = $1108 + 0.20000000298023224; + HEAPF32[$1107>>2] = $1109; + $1110 = (((260432 + (($$010651204*24)|0)|0)) + 4|0); + $1111 = +HEAPF32[$1110>>2]; + $1112 = $1111 + -4.0; + HEAPF32[$1110>>2] = $1112; + $1113 = (260432 + (($$010651204*24)|0)|0); + $1114 = +HEAPF32[$1113>>2]; + $1115 = $1114 - $1037; + HEAPF32[$1113>>2] = $1115; + $1116 = +HEAPF32[$1104>>2]; + $1117 = !($1116 <= 0.0); + if ($1117) { + break; + } + HEAP32[$1101>>2] = 0; + } + } while(0); + $1118 = (($$010651204) + 1)|0; + $exitcond1241 = ($1118|0)==(16); + if ($exitcond1241) { + break; + } else { + $$010651204 = $1118; + } + } + $1089 = HEAP32[(260860)>>2]|0; + $1090 = ($1089|0)==(0); + do { + if (!($1090)) { + $1119 = +HEAPF32[(260864)>>2]; + $1120 = $1119 + -0.019999999552965164; + HEAPF32[(260864)>>2] = $1120; + $1121 = +HEAPF32[(260868)>>2]; + $1122 = $1121 + 0.20000000298023224; + HEAPF32[(260868)>>2] = $1122; + $1123 = +HEAPF32[(260856)>>2]; + $1124 = $1123 + -4.0; + HEAPF32[(260856)>>2] = $1124; + $1125 = HEAP32[40320]|0; + $1126 = (+($1125|0)); + $1127 = +HEAPF32[65213]; + $1128 = $1127 - $1126; + HEAPF32[65213] = $1128; + $1129 = +HEAPF32[(260864)>>2]; + $1130 = !($1129 <= 0.0); + if ($1130) { + break; + } + HEAP32[(260860)>>2] = 0; + } + } while(0); + $1131 = HEAP32[(260904)>>2]|0; + $1132 = ($1131|0)==(0); + do { + if (!($1132)) { + $1133 = +HEAPF32[(260908)>>2]; + $1134 = $1133 + -0.019999999552965164; + HEAPF32[(260908)>>2] = $1134; + $1135 = +HEAPF32[(260912)>>2]; + $1136 = $1135 + 0.20000000298023224; + HEAPF32[(260912)>>2] = $1136; + $1137 = +HEAPF32[(260900)>>2]; + $1138 = $1137 + -4.0; + HEAPF32[(260900)>>2] = $1138; + $1139 = HEAP32[40320]|0; + $1140 = (+($1139|0)); + $1141 = +HEAPF32[65224]; + $1142 = $1141 - $1140; + HEAPF32[65224] = $1142; + $1143 = +HEAPF32[(260908)>>2]; + $1144 = !($1143 <= 0.0); + if ($1144) { + break; + } + HEAP32[(260904)>>2] = 0; + } + } while(0); + $1145 = HEAP32[83396]|0; + $1146 = ($1145|0)==(2); + do { + if (!($1146)) { + $1147 = HEAP32[(161764)>>2]|0; + $1148 = ($1147|0)==(0); + if (!($1148)) { + $1149 = HEAP32[(161768)>>2]|0; + $1150 = (($1149) + 1)|0; + HEAP32[(161768)>>2] = $1150; + $$010661203 = 0; + while(1) { + $1151 = (((161776 + (($$010661203*40)|0)|0)) + 36|0); + $1152 = HEAP32[$1151>>2]|0; + $1153 = ($1152|0)==(0); + do { + if ($1153) { + $1154 = HEAP32[(161768)>>2]|0; + $1155 = HEAP32[(161772)>>2]|0; + $1156 = ($1154|0)<($1155|0); + if ($1156) { + break; + } + HEAP32[$1151>>2] = 1; + $1157 = (_GetScreenWidth()|0); + $1158 = (($1157) + 200)|0; + $1159 = (_GetRandomValue(0,$1158)|0); + $1160 = (+($1159|0)); + $$sroa$0540$0$$sroa_idx = (161776 + (($$010661203*40)|0)|0); + HEAPF32[$$sroa$0540$0$$sroa_idx>>2] = $1160; + $$sroa$2541$0$$sroa_idx542 = (((161776 + (($$010661203*40)|0)|0)) + 4|0); + HEAPF32[$$sroa$2541$0$$sroa_idx542>>2] = -10.0; + HEAP32[(161768)>>2] = 0; + $1161 = (_GetRandomValue(5,20)|0); + HEAP32[(161772)>>2] = $1161; + } + } while(0); + $1162 = (($$010661203) + 1)|0; + $exitcond1240 = ($1162|0)==(128); + if ($exitcond1240) { + break; + } else { + $$010661203 = $1162; + } + } + } + $1163 = HEAP32[46849]|0; + $1164 = ($1163|0)==(0); + if (!($1164)) { + $1165 = HEAP32[(161768)>>2]|0; + $1166 = (($1165) + 1)|0; + HEAP32[(161768)>>2] = $1166; + $$010671202 = 0; + while(1) { + $1167 = (((229088 + (($$010671202*40)|0)|0)) + 36|0); + $1168 = HEAP32[$1167>>2]|0; + $1169 = ($1168|0)==(0); + $1170 = HEAP32[83458]|0; + $1171 = ($1170|0)<(1); + $or$cond1105 = $1169 & $1171; + if ($or$cond1105) { + HEAP32[$1167>>2] = 1; + $1172 = (_GetScreenWidth()|0); + $1173 = (($1172) + 200)|0; + $1174 = (_GetRandomValue(0,$1173)|0); + $1175 = (+($1174|0)); + $$sroa$0530$0$$sroa_idx = (229088 + (($$010671202*40)|0)|0); + HEAPF32[$$sroa$0530$0$$sroa_idx>>2] = $1175; + $$sroa$2531$0$$sroa_idx532 = (((229088 + (($$010671202*40)|0)|0)) + 4|0); + HEAPF32[$$sroa$2531$0$$sroa_idx532>>2] = -10.0; + $1176 = (_GetRandomValue(3,10)|0); + HEAP32[83458] = $1176; + } + $1177 = (($$010671202) + 1)|0; + $exitcond1239 = ($1177|0)==(128); + if ($exitcond1239) { + break; + } else { + $$010671202 = $1177; + } + } + } + $1178 = HEAP32[(187408)>>2]|0; + $1179 = ($1178|0)==(0); + if (!($1179)) { + $1180 = HEAP32[(187412)>>2]|0; + $1181 = (($1180) + 1)|0; + HEAP32[(187412)>>2] = $1181; + $1182 = HEAP32[83459]|0; + $1183 = (($1182) + 1)|0; + HEAP32[83459] = $1183; + $$010681201 = 0; + while(1) { + $1184 = (((187420 + (($$010681201*40)|0)|0)) + 36|0); + $1185 = HEAP32[$1184>>2]|0; + $1186 = ($1185|0)==(0); + do { + if ($1186) { + $1187 = HEAP32[(187412)>>2]|0; + $1188 = HEAP32[(187416)>>2]|0; + $1189 = ($1187|0)<($1188|0); + if ($1189) { + break; + } + HEAP32[$1184>>2] = 1; + $1190 = (_GetScreenWidth()|0); + $1191 = (($1190) + 200)|0; + $1192 = (_GetRandomValue(0,$1191)|0); + $1193 = (+($1192|0)); + $$sroa$0517$0$$sroa_idx = (187420 + (($$010681201*40)|0)|0); + HEAPF32[$$sroa$0517$0$$sroa_idx>>2] = $1193; + $$sroa$2518$0$$sroa_idx519 = (((187420 + (($$010681201*40)|0)|0)) + 4|0); + HEAPF32[$$sroa$2518$0$$sroa_idx519>>2] = -10.0; + HEAP32[(187412)>>2] = 0; + $1194 = (_GetRandomValue(5,20)|0); + HEAP32[(187416)>>2] = $1194; + } + } while(0); + $1195 = (((234208 + (($$010681201*40)|0)|0)) + 36|0); + $1196 = HEAP32[$1195>>2]|0; + $1197 = ($1196|0)==(0); + do { + if ($1197) { + $1198 = HEAP32[83459]|0; + $1199 = HEAP32[83460]|0; + $1200 = ($1198|0)<($1199|0); + if ($1200) { + break; + } + HEAP32[$1195>>2] = 1; + $1201 = (_GetScreenWidth()|0); + $1202 = (($1201) + 200)|0; + $1203 = (_GetRandomValue(0,$1202)|0); + $1204 = (+($1203|0)); + $$sroa$0514$0$$sroa_idx = (234208 + (($$010681201*40)|0)|0); + HEAPF32[$$sroa$0514$0$$sroa_idx>>2] = $1204; + $$sroa$2515$0$$sroa_idx516 = (((234208 + (($$010681201*40)|0)|0)) + 4|0); + HEAPF32[$$sroa$2515$0$$sroa_idx516>>2] = -10.0; + HEAP32[83459] = 0; + $1205 = (_GetRandomValue(3,10)|0); + HEAP32[83460] = $1205; + } + } while(0); + $1206 = (($$010681201) + 1)|0; + $exitcond1238 = ($1206|0)==(128); + if ($exitcond1238) { + break; + } else { + $$010681201 = $1206; + } + } + } + $1207 = HEAP32[(192548)>>2]|0; + $1208 = ($1207|0)==(0); + if (!($1208)) { + $1209 = HEAP32[(192552)>>2]|0; + $1210 = (($1209) + 1)|0; + HEAP32[(192552)>>2] = $1210; + $1211 = HEAP32[83461]|0; + $1212 = (($1211) + 1)|0; + HEAP32[83461] = $1212; + $$010691200 = 0; + while(1) { + $1213 = (((192560 + (($$010691200*40)|0)|0)) + 36|0); + $1214 = HEAP32[$1213>>2]|0; + $1215 = ($1214|0)==(0); + do { + if ($1215) { + $1216 = HEAP32[(192552)>>2]|0; + $1217 = HEAP32[(192556)>>2]|0; + $1218 = ($1216|0)<($1217|0); + if ($1218) { + break; + } + HEAP32[$1213>>2] = 1; + $1219 = (_GetScreenWidth()|0); + $1220 = (($1219) + 200)|0; + $1221 = (_GetRandomValue(0,$1220)|0); + $1222 = (+($1221|0)); + $$sroa$0501$0$$sroa_idx = (192560 + (($$010691200*40)|0)|0); + HEAPF32[$$sroa$0501$0$$sroa_idx>>2] = $1222; + $$sroa$2502$0$$sroa_idx503 = (((192560 + (($$010691200*40)|0)|0)) + 4|0); + HEAPF32[$$sroa$2502$0$$sroa_idx503>>2] = -10.0; + HEAP32[(192552)>>2] = 0; + $1223 = (_GetRandomValue(5,20)|0); + HEAP32[(192556)>>2] = $1223; + } + } while(0); + $1224 = (((239328 + (($$010691200*40)|0)|0)) + 36|0); + $1225 = HEAP32[$1224>>2]|0; + $1226 = ($1225|0)==(0); + do { + if ($1226) { + $1227 = HEAP32[83461]|0; + $1228 = HEAP32[83462]|0; + $1229 = ($1227|0)<($1228|0); + if ($1229) { + break; + } + HEAP32[$1224>>2] = 1; + $1230 = (_GetScreenWidth()|0); + $1231 = (($1230) + 200)|0; + $1232 = (_GetRandomValue(0,$1231)|0); + $1233 = (+($1232|0)); + $$sroa$0498$0$$sroa_idx = (239328 + (($$010691200*40)|0)|0); + HEAPF32[$$sroa$0498$0$$sroa_idx>>2] = $1233; + $$sroa$2499$0$$sroa_idx500 = (((239328 + (($$010691200*40)|0)|0)) + 4|0); + HEAPF32[$$sroa$2499$0$$sroa_idx500>>2] = -10.0; + HEAP32[83461] = 0; + $1234 = (_GetRandomValue(3,10)|0); + HEAP32[83462] = $1234; + } + } while(0); + $1235 = (($$010691200) + 1)|0; + $exitcond1237 = ($1235|0)==(128); + if ($exitcond1237) { + break; + } else { + $$010691200 = $1235; + } + } + } + $1236 = HEAP32[(197688)>>2]|0; + $1237 = ($1236|0)==(0); + if (!($1237)) { + $1238 = HEAP32[(197692)>>2]|0; + $1239 = (($1238) + 1)|0; + HEAP32[(197692)>>2] = $1239; + $1240 = HEAP32[83463]|0; + $1241 = (($1240) + 1)|0; + HEAP32[83463] = $1241; + $$010701199 = 0; + while(1) { + $1242 = (((197700 + (($$010701199*40)|0)|0)) + 36|0); + $1243 = HEAP32[$1242>>2]|0; + $1244 = ($1243|0)==(0); + do { + if ($1244) { + $1245 = HEAP32[(197692)>>2]|0; + $1246 = HEAP32[(197696)>>2]|0; + $1247 = ($1245|0)<($1246|0); + if ($1247) { + break; + } + HEAP32[$1242>>2] = 1; + $1248 = (_GetScreenWidth()|0); + $1249 = (($1248) + 200)|0; + $1250 = (_GetRandomValue(0,$1249)|0); + $1251 = (+($1250|0)); + $$sroa$0485$0$$sroa_idx = (197700 + (($$010701199*40)|0)|0); + HEAPF32[$$sroa$0485$0$$sroa_idx>>2] = $1251; + $$sroa$2486$0$$sroa_idx487 = (((197700 + (($$010701199*40)|0)|0)) + 4|0); + HEAPF32[$$sroa$2486$0$$sroa_idx487>>2] = -10.0; + HEAP32[(197692)>>2] = 0; + $1252 = (_GetRandomValue(5,20)|0); + HEAP32[(197696)>>2] = $1252; + } + } while(0); + $1253 = (((244448 + (($$010701199*40)|0)|0)) + 36|0); + $1254 = HEAP32[$1253>>2]|0; + $1255 = ($1254|0)==(0); + do { + if ($1255) { + $1256 = HEAP32[83463]|0; + $1257 = HEAP32[83464]|0; + $1258 = ($1256|0)<($1257|0); + if ($1258) { + break; + } + HEAP32[$1253>>2] = 1; + $1259 = (_GetScreenWidth()|0); + $1260 = (($1259) + 200)|0; + $1261 = (_GetRandomValue(0,$1260)|0); + $1262 = (+($1261|0)); + $$sroa$0482$0$$sroa_idx = (244448 + (($$010701199*40)|0)|0); + HEAPF32[$$sroa$0482$0$$sroa_idx>>2] = $1262; + $$sroa$2483$0$$sroa_idx484 = (((244448 + (($$010701199*40)|0)|0)) + 4|0); + HEAPF32[$$sroa$2483$0$$sroa_idx484>>2] = -10.0; + HEAP32[83463] = 0; + $1263 = (_GetRandomValue(3,10)|0); + HEAP32[83464] = $1263; + } + } while(0); + $1264 = (($$010701199) + 1)|0; + $exitcond1236 = ($1264|0)==(128); + if ($exitcond1236) { + break; + } else { + $$010701199 = $1264; + } + } + } + $1265 = HEAP32[(202828)>>2]|0; + $1266 = ($1265|0)==(0); + if (!($1266)) { + $1267 = HEAP32[(202832)>>2]|0; + $1268 = (($1267) + 1)|0; + HEAP32[(202832)>>2] = $1268; + $$010711198 = 0; + while(1) { + $1269 = (((202840 + (($$010711198*40)|0)|0)) + 36|0); + $1270 = HEAP32[$1269>>2]|0; + $1271 = ($1270|0)==(0); + do { + if ($1271) { + $1272 = HEAP32[(202832)>>2]|0; + $1273 = HEAP32[(202836)>>2]|0; + $1274 = ($1272|0)<($1273|0); + if ($1274) { + break; + } + HEAP32[$1269>>2] = 1; + $1275 = (_GetScreenWidth()|0); + $1276 = (($1275) + 200)|0; + $1277 = (_GetRandomValue(0,$1276)|0); + $1278 = (+($1277|0)); + $$sroa$0472$0$$sroa_idx = (202840 + (($$010711198*40)|0)|0); + HEAPF32[$$sroa$0472$0$$sroa_idx>>2] = $1278; + $$sroa$2473$0$$sroa_idx474 = (((202840 + (($$010711198*40)|0)|0)) + 4|0); + HEAPF32[$$sroa$2473$0$$sroa_idx474>>2] = -10.0; + HEAP32[(202832)>>2] = 0; + $1279 = (_GetRandomValue(1,8)|0); + HEAP32[(202836)>>2] = $1279; + } + } while(0); + $1280 = (($$010711198) + 1)|0; + $exitcond1235 = ($1280|0)==(128); + if ($exitcond1235) { + break; + } else { + $$010711198 = $1280; + } + } + } + $1281 = HEAP32[(207968)>>2]|0; + $1282 = ($1281|0)==(0); + if (!($1282)) { + $1283 = HEAP32[(207972)>>2]|0; + $1284 = (($1283) + 1)|0; + HEAP32[(207972)>>2] = $1284; + $$010731196 = 0; + while(1) { + $1285 = (((207980 + (($$010731196*40)|0)|0)) + 36|0); + $1286 = HEAP32[$1285>>2]|0; + $1287 = ($1286|0)==(0); + do { + if ($1287) { + $1288 = HEAP32[(207972)>>2]|0; + $1289 = HEAP32[(207976)>>2]|0; + $1290 = ($1288|0)<($1289|0); + if ($1290) { + break; + } else { + $$010741195 = 0; + } + while(1) { + $1291 = (($$010741195) + ($$010731196))|0; + $1292 = (((207980 + (($1291*40)|0)|0)) + 36|0); + HEAP32[$1292>>2] = 1; + $1293 = (_GetScreenWidth()|0); + $1294 = (($1293) + 1000)|0; + $1295 = (_GetRandomValue(100,$1294)|0); + $1296 = (+($1295|0)); + $1297 = (_GetRandomValue(-10,-20)|0); + $1298 = (+($1297|0)); + $$sroa$0446$0$$sroa_idx = (207980 + (($1291*40)|0)|0); + HEAPF32[$$sroa$0446$0$$sroa_idx>>2] = $1296; + $$sroa$2447$0$$sroa_idx448 = (((207980 + (($1291*40)|0)|0)) + 4|0); + HEAPF32[$$sroa$2447$0$$sroa_idx448>>2] = $1298; + $1299 = (($$010741195) + 1)|0; + $exitcond1233 = ($1299|0)==(16); + if ($exitcond1233) { + break; + } else { + $$010741195 = $1299; + } + } + HEAP32[(207972)>>2] = 0; + HEAP32[(207976)>>2] = 4; + } + } while(0); + $1300 = (($$010731196) + 1)|0; + $exitcond1234 = ($1300|0)==(512); + if ($exitcond1234) { + break; + } else { + $$010731196 = $1300; + } + } + } + $1301 = HEAP32[(166904)>>2]|0; + $1302 = ($1301|0)==(0); + if ($1302) { + break; + } + $1303 = HEAP32[(166908)>>2]|0; + $1304 = (($1303) + 1)|0; + HEAP32[(166908)>>2] = $1304; + $$010751194 = 0; + while(1) { + $1305 = (((166916 + (($$010751194*40)|0)|0)) + 36|0); + $1306 = HEAP32[$1305>>2]|0; + $1307 = ($1306|0)==(0); + do { + if ($1307) { + $1308 = HEAP32[(166908)>>2]|0; + $1309 = HEAP32[(166912)>>2]|0; + $1310 = ($1308|0)<($1309|0); + if ($1310) { + break; + } + HEAP32[$1305>>2] = 1; + $1311 = (_GetScreenWidth()|0); + $1312 = (($1311) + 800)|0; + $1313 = (_GetRandomValue(100,$1312)|0); + $1314 = (+($1313|0)); + $$sroa$0436$0$$sroa_idx = (166916 + (($$010751194*40)|0)|0); + HEAPF32[$$sroa$0436$0$$sroa_idx>>2] = $1314; + $$sroa$2437$0$$sroa_idx438 = (((166916 + (($$010751194*40)|0)|0)) + 4|0); + HEAPF32[$$sroa$2437$0$$sroa_idx438>>2] = -10.0; + HEAP32[(166908)>>2] = 0; + $1315 = (_GetRandomValue(1,2)|0); + HEAP32[(166912)>>2] = $1315; + } + } while(0); + $1316 = (($$010751194) + 1)|0; + $exitcond1232 = ($1316|0)==(512); + if ($exitcond1232) { + break; + } else { + $$010751194 = $1316; + } + } + } + } while(0); + $1317 = HEAP32[57269]|0; + $1318 = ($1317|0)==(0); + if ($1318) { + $$010771192 = 0; + } else { + $1319 = HEAP32[83465]|0; + $1320 = (($1319) + 1)|0; + HEAP32[83465] = $1320; + $$010761193 = 0; + while(1) { + $1321 = (((254688 + (($$010761193*40)|0)|0)) + 36|0); + $1322 = HEAP32[$1321>>2]|0; + $1323 = ($1322|0)==(0); + do { + if ($1323) { + $1324 = HEAP32[83465]|0; + $1325 = HEAP32[83466]|0; + $1326 = ($1324|0)<($1325|0); + if ($1326) { + break; + } + HEAP32[$1321>>2] = 1; + $1327 = (((254688 + (($$010761193*40)|0)|0)) + 32|0); + HEAPF32[$1327>>2] = 0.69999998807907104; + $1328 = (_GetScreenWidth()|0); + $1329 = (+($1328|0)); + $1330 = (_GetRandomValue(5,30)|0); + $1331 = (+($1330|0)); + $$sroa$0424$0$$sroa_idx = (((254688 + (($$010761193*40)|0)|0)) + 20|0); + HEAPF32[$$sroa$0424$0$$sroa_idx>>2] = $1329; + $$sroa$2425$0$$sroa_idx426 = (((254688 + (($$010761193*40)|0)|0)) + 24|0); + HEAPF32[$$sroa$2425$0$$sroa_idx426>>2] = $1331; + $1332 = (_GetScreenWidth()|0); + $1333 = (+($1332|0)); + $1334 = (_GetScreenHeight()|0); + $1335 = (($1334) + -10)|0; + $1336 = (_GetRandomValue(0,$1335)|0); + $1337 = (+($1336|0)); + $$sroa$0421$0$$sroa_idx = (254688 + (($$010761193*40)|0)|0); + HEAPF32[$$sroa$0421$0$$sroa_idx>>2] = $1333; + $$sroa$2422$0$$sroa_idx423 = (((254688 + (($$010761193*40)|0)|0)) + 4|0); + HEAPF32[$$sroa$2422$0$$sroa_idx423>>2] = $1337; + HEAP32[83465] = 0; + $1338 = (_GetRandomValue(1,10)|0); + HEAP32[83466] = $1338; + } + } while(0); + $1339 = (($$010761193) + 1)|0; + $exitcond1231 = ($1339|0)==(64); + if ($exitcond1231) { + $$010771192 = 0; + break; + } else { + $$010761193 = $1339; + } + } + } + while(1) { + $1342 = (((254688 + (($$010771192*40)|0)|0)) + 36|0); + $1343 = HEAP32[$1342>>2]|0; + $1344 = ($1343|0)==(0); + do { + if (!($1344)) { + $1345 = (254688 + (($$010771192*40)|0)|0); + $1346 = +HEAPF32[$1345>>2]; + $1347 = $1346 + -40.0; + HEAPF32[$1345>>2] = $1347; + $1348 = (((254688 + (($$010771192*40)|0)|0)) + 32|0); + $1349 = +HEAPF32[$1348>>2]; + $1350 = $1349 + -0.014999999664723873; + HEAPF32[$1348>>2] = $1350; + $1351 = (((254688 + (($$010771192*40)|0)|0)) + 24|0); + $1352 = +HEAPF32[$1351>>2]; + $1353 = $1352 + -0.10000000149011612; + HEAPF32[$1351>>2] = $1353; + $1354 = !($1353 <= 0.0); + if ($1354) { + break; + } + HEAP32[$1342>>2] = 0; + } + } while(0); + $1355 = (($$010771192) + 1)|0; + $exitcond1230 = ($1355|0)==(64); + if ($exitcond1230) { + break; + } else { + $$010771192 = $1355; + } + } + $1340 = HEAP32[(228468)>>2]|0; + $1341 = ($1340|0)==(0); + if ($1341) { + $$010791190 = 0; + } else { + $1356 = HEAP32[(228472)>>2]|0; + $1357 = (($1356) + 1)|0; + HEAP32[(228472)>>2] = $1357; + $1358 = HEAP32[(228780)>>2]|0; + $1359 = (($1358) + 1)|0; + HEAP32[(228780)>>2] = $1359; + $$010781191 = 0; + while(1) { + $1360 = (((228480 + (($$010781191*36)|0)|0)) + 24|0); + $1361 = HEAP32[$1360>>2]|0; + $1362 = ($1361|0)==(0); + do { + if ($1362) { + $1363 = HEAP32[(228472)>>2]|0; + $1364 = HEAP32[(228476)>>2]|0; + $1365 = ($1363|0)<($1364|0); + if ($1365) { + break; + } + HEAP32[$1360>>2] = 1; + $1366 = (((228480 + (($$010781191*36)|0)|0)) + 12|0); + HEAPF32[$1366>>2] = 0.0; + $1367 = (_GetRandomValue(10,20)|0); + $1368 = (($1367|0) / 10)&-1; + $1369 = (+($1368|0)); + $1370 = (((228480 + (($$010781191*36)|0)|0)) + 16|0); + HEAPF32[$1370>>2] = $1369; + $1371 = (_GetScreenWidth()|0); + $1372 = (($1371) + 200)|0; + $1373 = (_GetRandomValue(300,$1372)|0); + $1374 = (+($1373|0)); + $$sroa$0390$0$$sroa_idx = (228480 + (($$010781191*36)|0)|0); + HEAPF32[$$sroa$0390$0$$sroa_idx>>2] = $1374; + $$sroa$2391$0$$sroa_idx392 = (((228480 + (($$010781191*36)|0)|0)) + 4|0); + HEAPF32[$$sroa$2391$0$$sroa_idx392>>2] = 0.0; + $1375 = (((228480 + (($$010781191*36)|0)|0)) + 20|0); + HEAPF32[$1375>>2] = -35.0; + HEAP32[(228472)>>2] = 0; + $1376 = (((228480 + (($$010781191*36)|0)|0)) + 32|0); + HEAPF32[$1376>>2] = 0.0; + $1377 = (_GetRandomValue(20,50)|0); + HEAP32[(228476)>>2] = $1377; + } + } while(0); + $1378 = (((228788 + (($$010781191*36)|0)|0)) + 24|0); + $1379 = HEAP32[$1378>>2]|0; + $1380 = ($1379|0)==(0); + do { + if ($1380) { + $1381 = HEAP32[(228780)>>2]|0; + $1382 = HEAP32[(228784)>>2]|0; + $1383 = ($1381|0)<($1382|0); + if ($1383) { + break; + } + HEAP32[$1378>>2] = 1; + $1384 = (((228788 + (($$010781191*36)|0)|0)) + 12|0); + HEAPF32[$1384>>2] = 0.0; + $1385 = (_GetRandomValue(5,15)|0); + $1386 = (($1385|0) / 10)&-1; + $1387 = (+($1386|0)); + $1388 = (((228788 + (($$010781191*36)|0)|0)) + 16|0); + HEAPF32[$1388>>2] = $1387; + $1389 = (_GetScreenWidth()|0); + $1390 = (($1389) + 200)|0; + $1391 = (_GetRandomValue(300,$1390)|0); + $1392 = (+($1391|0)); + $$sroa$0387$0$$sroa_idx = (228788 + (($$010781191*36)|0)|0); + HEAPF32[$$sroa$0387$0$$sroa_idx>>2] = $1392; + $$sroa$2388$0$$sroa_idx389 = (((228788 + (($$010781191*36)|0)|0)) + 4|0); + HEAPF32[$$sroa$2388$0$$sroa_idx389>>2] = 0.0; + $1393 = (((228788 + (($$010781191*36)|0)|0)) + 20|0); + HEAPF32[$1393>>2] = -35.0; + HEAP32[(228780)>>2] = 0; + $1394 = (((228788 + (($$010781191*36)|0)|0)) + 32|0); + HEAPF32[$1394>>2] = 0.0; + $1395 = (_GetRandomValue(20,50)|0); + HEAP32[(228784)>>2] = $1395; + } + } while(0); + $1396 = (($$010781191) + 1)|0; + $exitcond1229 = ($1396|0)==(8); + if ($exitcond1229) { + $$010791190 = 0; + break; + } else { + $$010781191 = $1396; + } + } + } + while(1) { + $1397 = (((161776 + (($$010791190*40)|0)|0)) + 36|0); + $1398 = HEAP32[$1397>>2]|0; + $1399 = ($1398|0)==(0); + do { + if (!($1399)) { + $1400 = +HEAPF32[40323]; + $1401 = $1400 * 2.0; + $1402 = $1401; + $1403 = $1402 * 60.0; + $1404 = $1403 / 60.0; + $1405 = (((161776 + (($$010791190*40)|0)|0)) + 4|0); + $1406 = +HEAPF32[$1405>>2]; + $1407 = $1406; + $1408 = $1407 + $1404; + $1409 = $1408; + HEAPF32[$1405>>2] = $1409; + $1410 = $1400 * 4.0; + $1411 = $1410; + $1412 = $1411 * 60.0; + $1413 = $1412 / 60.0; + $1414 = (161776 + (($$010791190*40)|0)|0); + $1415 = +HEAPF32[$1414>>2]; + $1416 = $1415; + $1417 = $1416 - $1413; + $1418 = $1417; + HEAPF32[$1414>>2] = $1418; + $1419 = (((161776 + (($$010791190*40)|0)|0)) + 16|0); + $1420 = +HEAPF32[$1419>>2]; + $1421 = $1420 + 0.5; + HEAPF32[$1419>>2] = $1421; + $1422 = +HEAPF32[$1405>>2]; + $1423 = (_GetScreenHeight()|0); + $1424 = (+($1423|0)); + $1425 = !($1422 >= $1424); + if ($1425) { + break; + } + HEAP32[$1397>>2] = 0; + } + } while(0); + $1426 = (((229088 + (($$010791190*40)|0)|0)) + 36|0); + $1427 = HEAP32[$1426>>2]|0; + $1428 = ($1427|0)==(0); + do { + if (!($1428)) { + $1429 = +HEAPF32[40323]; + $1430 = $1429; + $1431 = $1430 * 60.0; + $1432 = $1431 / 60.0; + $1433 = (((229088 + (($$010791190*40)|0)|0)) + 4|0); + $1434 = +HEAPF32[$1433>>2]; + $1435 = $1434; + $1436 = $1435 + $1432; + $1437 = $1436; + HEAPF32[$1433>>2] = $1437; + $1438 = $1429 * 5.0; + $1439 = $1438; + $1440 = $1439 * 60.0; + $1441 = $1440 / 60.0; + $1442 = (229088 + (($$010791190*40)|0)|0); + $1443 = +HEAPF32[$1442>>2]; + $1444 = $1443; + $1445 = $1444 - $1441; + $1446 = $1445; + HEAPF32[$1442>>2] = $1446; + $1447 = (((229088 + (($$010791190*40)|0)|0)) + 16|0); + $1448 = +HEAPF32[$1447>>2]; + $1449 = $1448 + 0.5; + HEAPF32[$1447>>2] = $1449; + $1450 = +HEAPF32[$1433>>2]; + $1451 = (_GetScreenHeight()|0); + $1452 = (+($1451|0)); + $1453 = !($1450 >= $1452); + if ($1453) { + break; + } + HEAP32[$1426>>2] = 0; + } + } while(0); + $1454 = (((187420 + (($$010791190*40)|0)|0)) + 36|0); + $1455 = HEAP32[$1454>>2]|0; + $1456 = ($1455|0)==(0); + do { + if (!($1456)) { + $1457 = +HEAPF32[40323]; + $1458 = $1457 * 4.0; + $1459 = $1458; + $1460 = $1459 * 60.0; + $1461 = $1460 / 60.0; + $1462 = (((187420 + (($$010791190*40)|0)|0)) + 4|0); + $1463 = +HEAPF32[$1462>>2]; + $1464 = $1463; + $1465 = $1464 + $1461; + $1466 = $1465; + HEAPF32[$1462>>2] = $1466; + $1467 = $1457 * 5.0; + $1468 = $1467; + $1469 = $1468 * 60.0; + $1470 = $1469 / 60.0; + $1471 = (187420 + (($$010791190*40)|0)|0); + $1472 = +HEAPF32[$1471>>2]; + $1473 = $1472; + $1474 = $1473 - $1470; + $1475 = $1474; + HEAPF32[$1471>>2] = $1475; + $1476 = (((187420 + (($$010791190*40)|0)|0)) + 16|0); + $1477 = +HEAPF32[$1476>>2]; + $1478 = $1477 + 0.5; + HEAPF32[$1476>>2] = $1478; + $1479 = +HEAPF32[$1462>>2]; + $1480 = (_GetScreenHeight()|0); + $1481 = (+($1480|0)); + $1482 = !($1479 >= $1481); + if ($1482) { + break; + } + HEAP32[$1454>>2] = 0; + } + } while(0); + $1483 = (((234208 + (($$010791190*40)|0)|0)) + 36|0); + $1484 = HEAP32[$1483>>2]|0; + $1485 = ($1484|0)==(0); + do { + if (!($1485)) { + $1486 = +HEAPF32[40323]; + $1487 = $1486 * 3.0; + $1488 = $1487; + $1489 = $1488 * 60.0; + $1490 = $1489 / 60.0; + $1491 = (((234208 + (($$010791190*40)|0)|0)) + 4|0); + $1492 = +HEAPF32[$1491>>2]; + $1493 = $1492; + $1494 = $1493 + $1490; + $1495 = $1494; + HEAPF32[$1491>>2] = $1495; + $1496 = $1486 * 5.0; + $1497 = $1496; + $1498 = $1497 * 60.0; + $1499 = $1498 / 60.0; + $1500 = (234208 + (($$010791190*40)|0)|0); + $1501 = +HEAPF32[$1500>>2]; + $1502 = $1501; + $1503 = $1502 - $1499; + $1504 = $1503; + HEAPF32[$1500>>2] = $1504; + $1505 = (((234208 + (($$010791190*40)|0)|0)) + 16|0); + $1506 = +HEAPF32[$1505>>2]; + $1507 = $1506 + 0.5; + HEAPF32[$1505>>2] = $1507; + $1508 = +HEAPF32[$1491>>2]; + $1509 = (_GetScreenHeight()|0); + $1510 = (+($1509|0)); + $1511 = !($1508 >= $1510); + if ($1511) { + break; + } + HEAP32[$1483>>2] = 0; + } + } while(0); + $1512 = (((192560 + (($$010791190*40)|0)|0)) + 36|0); + $1513 = HEAP32[$1512>>2]|0; + $1514 = ($1513|0)==(0); + do { + if (!($1514)) { + $1515 = +HEAPF32[40323]; + $1516 = $1515 * 3.0; + $1517 = $1516; + $1518 = $1517 * 60.0; + $1519 = $1518 / 60.0; + $1520 = (((192560 + (($$010791190*40)|0)|0)) + 4|0); + $1521 = +HEAPF32[$1520>>2]; + $1522 = $1521; + $1523 = $1522 + $1519; + $1524 = $1523; + HEAPF32[$1520>>2] = $1524; + $1525 = $1515 * 5.0; + $1526 = $1525; + $1527 = $1526 * 60.0; + $1528 = $1527 / 60.0; + $1529 = (192560 + (($$010791190*40)|0)|0); + $1530 = +HEAPF32[$1529>>2]; + $1531 = $1530; + $1532 = $1531 - $1528; + $1533 = $1532; + HEAPF32[$1529>>2] = $1533; + $1534 = HEAP32[40354]|0; + $1535 = (+($1534|0)); + $1536 = $1535 * 0.052359879016876221; + $1537 = (((192560 + (($$010791190*40)|0)|0)) + 32|0); + $1538 = +HEAPF32[$1537>>2]; + $1539 = $1538 + $1536; + $1540 = $1539; + $1541 = (+Math_sin((+$1540))); + $1542 = $1541 * 30.0; + $1543 = $1542 + 30.0; + $1544 = $1543; + $1545 = -$1544; + $1546 = (((192560 + (($$010791190*40)|0)|0)) + 16|0); + HEAPF32[$1546>>2] = $1545; + $1547 = +HEAPF32[$1520>>2]; + $1548 = (_GetScreenHeight()|0); + $1549 = (+($1548|0)); + $1550 = !($1547 >= $1549); + if ($1550) { + break; + } + HEAP32[$1512>>2] = 0; + } + } while(0); + $1551 = (((239328 + (($$010791190*40)|0)|0)) + 36|0); + $1552 = HEAP32[$1551>>2]|0; + $1553 = ($1552|0)==(0); + do { + if (!($1553)) { + $1554 = +HEAPF32[40323]; + $1555 = $1554; + $1556 = $1555 * 60.0; + $1557 = $1556 / 60.0; + $1558 = (((239328 + (($$010791190*40)|0)|0)) + 4|0); + $1559 = +HEAPF32[$1558>>2]; + $1560 = $1559; + $1561 = $1560 + $1557; + $1562 = $1561; + HEAPF32[$1558>>2] = $1562; + $1563 = $1554 * 5.0; + $1564 = $1563; + $1565 = $1564 * 60.0; + $1566 = $1565 / 60.0; + $1567 = (239328 + (($$010791190*40)|0)|0); + $1568 = +HEAPF32[$1567>>2]; + $1569 = $1568; + $1570 = $1569 - $1566; + $1571 = $1570; + HEAPF32[$1567>>2] = $1571; + $1572 = HEAP32[40354]|0; + $1573 = (+($1572|0)); + $1574 = $1573 * 0.052359879016876221; + $1575 = (((192560 + (($$010791190*40)|0)|0)) + 32|0); + $1576 = +HEAPF32[$1575>>2]; + $1577 = $1576 + $1574; + $1578 = $1577; + $1579 = (+Math_sin((+$1578))); + $1580 = $1579 * 30.0; + $1581 = $1580 + 30.0; + $1582 = $1581; + $1583 = (((239328 + (($$010791190*40)|0)|0)) + 16|0); + HEAPF32[$1583>>2] = $1582; + $1584 = +HEAPF32[$1558>>2]; + $1585 = (_GetScreenHeight()|0); + $1586 = (+($1585|0)); + $1587 = !($1584 >= $1586); + if ($1587) { + break; + } + HEAP32[$1551>>2] = 0; + } + } while(0); + $1588 = (((197700 + (($$010791190*40)|0)|0)) + 36|0); + $1589 = HEAP32[$1588>>2]|0; + $1590 = ($1589|0)==(0); + do { + if (!($1590)) { + $1591 = +HEAPF32[40323]; + $1592 = $1591 * 2.5; + $1593 = $1592; + $1594 = $1593 * 60.0; + $1595 = $1594 / 60.0; + $1596 = (((197700 + (($$010791190*40)|0)|0)) + 4|0); + $1597 = +HEAPF32[$1596>>2]; + $1598 = $1597; + $1599 = $1598 + $1595; + $1600 = $1599; + HEAPF32[$1596>>2] = $1600; + $1601 = $1591 * 4.0; + $1602 = $1601; + $1603 = $1602 * 60.0; + $1604 = $1603 / 60.0; + $1605 = (197700 + (($$010791190*40)|0)|0); + $1606 = +HEAPF32[$1605>>2]; + $1607 = $1606; + $1608 = $1607 - $1604; + $1609 = $1608; + HEAPF32[$1605>>2] = $1609; + $1610 = (((197700 + (($$010791190*40)|0)|0)) + 16|0); + $1611 = +HEAPF32[$1610>>2]; + $1612 = $1611 + 0.5; + HEAPF32[$1610>>2] = $1612; + $1613 = +HEAPF32[$1596>>2]; + $1614 = (_GetScreenHeight()|0); + $1615 = (+($1614|0)); + $1616 = !($1613 >= $1615); + if ($1616) { + break; + } + HEAP32[$1588>>2] = 0; + } + } while(0); + $1617 = (((244448 + (($$010791190*40)|0)|0)) + 36|0); + $1618 = HEAP32[$1617>>2]|0; + $1619 = ($1618|0)==(0); + do { + if (!($1619)) { + $1620 = +HEAPF32[40323]; + $1621 = $1620 * 2.5; + $1622 = $1621; + $1623 = $1622 * 60.0; + $1624 = $1623 / 60.0; + $1625 = (((244448 + (($$010791190*40)|0)|0)) + 4|0); + $1626 = +HEAPF32[$1625>>2]; + $1627 = $1626; + $1628 = $1627 + $1624; + $1629 = $1628; + HEAPF32[$1625>>2] = $1629; + $1630 = $1620 * 5.0; + $1631 = $1630; + $1632 = $1631 * 60.0; + $1633 = $1632 / 60.0; + $1634 = (244448 + (($$010791190*40)|0)|0); + $1635 = +HEAPF32[$1634>>2]; + $1636 = $1635; + $1637 = $1636 - $1633; + $1638 = $1637; + HEAPF32[$1634>>2] = $1638; + $1639 = (((244448 + (($$010791190*40)|0)|0)) + 16|0); + $1640 = +HEAPF32[$1639>>2]; + $1641 = $1640 + 0.5; + HEAPF32[$1639>>2] = $1641; + $1642 = +HEAPF32[$1625>>2]; + $1643 = (_GetScreenHeight()|0); + $1644 = (+($1643|0)); + $1645 = !($1642 >= $1644); + if ($1645) { + break; + } + HEAP32[$1617>>2] = 0; + } + } while(0); + $1646 = (((202840 + (($$010791190*40)|0)|0)) + 36|0); + $1647 = HEAP32[$1646>>2]|0; + $1648 = ($1647|0)==(0); + do { + if (!($1648)) { + $1649 = +HEAPF32[40323]; + $1650 = $1649 * 8.0; + $1651 = $1650; + $1652 = $1651 * 60.0; + $1653 = $1652 / 60.0; + $1654 = (((202840 + (($$010791190*40)|0)|0)) + 4|0); + $1655 = +HEAPF32[$1654>>2]; + $1656 = $1655; + $1657 = $1656 + $1653; + $1658 = $1657; + HEAPF32[$1654>>2] = $1658; + $1659 = $1649 * 10.0; + $1660 = $1659; + $1661 = $1660 * 60.0; + $1662 = $1661 / 60.0; + $1663 = (202840 + (($$010791190*40)|0)|0); + $1664 = +HEAPF32[$1663>>2]; + $1665 = $1664; + $1666 = $1665 - $1662; + $1667 = $1666; + HEAPF32[$1663>>2] = $1667; + $1668 = +HEAPF32[$1654>>2]; + $1669 = (_GetScreenHeight()|0); + $1670 = (+($1669|0)); + $1671 = !($1668 >= $1670); + if ($1671) { + break; + } + HEAP32[$1646>>2] = 0; + } + } while(0); + $1672 = (((249568 + (($$010791190*40)|0)|0)) + 36|0); + $1673 = HEAP32[$1672>>2]|0; + $1674 = ($1673|0)==(0); + do { + if (!($1674)) { + $1675 = +HEAPF32[40323]; + $1676 = $1675 * 6.0; + $1677 = $1676; + $1678 = $1677 * 60.0; + $1679 = $1678 / 60.0; + $1680 = (((249568 + (($$010791190*40)|0)|0)) + 4|0); + $1681 = +HEAPF32[$1680>>2]; + $1682 = $1681; + $1683 = $1682 + $1679; + $1684 = $1683; + HEAPF32[$1680>>2] = $1684; + $1685 = (249568 + (($$010791190*40)|0)|0); + $1686 = +HEAPF32[$1685>>2]; + $1687 = $1686; + $1688 = $1687 - $1679; + $1689 = $1688; + HEAPF32[$1685>>2] = $1689; + $1690 = +HEAPF32[$1680>>2]; + $1691 = (_GetScreenHeight()|0); + $1692 = (+($1691|0)); + $1693 = !($1690 >= $1692); + if ($1693) { + break; + } + HEAP32[$1672>>2] = 0; + } + } while(0); + $1694 = (($$010791190) + 1)|0; + $exitcond1228 = ($1694|0)==(128); + if ($exitcond1228) { + $$010801188 = 0; + break; + } else { + $$010791190 = $1694; + } + } + while(1) { + $1695 = (((207980 + (($$010801188*40)|0)|0)) + 36|0); + $1696 = HEAP32[$1695>>2]|0; + $1697 = ($1696|0)==(0); + do { + if (!($1697)) { + $1698 = +HEAPF32[40323]; + $1699 = $1698 * 12.0; + $1700 = $1699; + $1701 = $1700 * 60.0; + $1702 = $1701 / 60.0; + $1703 = (((207980 + (($$010801188*40)|0)|0)) + 4|0); + $1704 = +HEAPF32[$1703>>2]; + $1705 = $1704; + $1706 = $1705 + $1702; + $1707 = $1706; + HEAPF32[$1703>>2] = $1707; + $1708 = $1698 * 15.0; + $1709 = $1708; + $1710 = $1709 * 60.0; + $1711 = $1710 / 60.0; + $1712 = (207980 + (($$010801188*40)|0)|0); + $1713 = +HEAPF32[$1712>>2]; + $1714 = $1713; + $1715 = $1714 - $1711; + $1716 = $1715; + HEAPF32[$1712>>2] = $1716; + $1717 = +HEAPF32[$1703>>2]; + $1718 = (_GetScreenHeight()|0); + $1719 = (+($1718|0)); + $1720 = !($1717 >= $1719); + if (!($1720)) { + HEAP32[$1695>>2] = 0; + } + $1721 = HEAP32[(207968)>>2]|0; + $1722 = ($1721|0)==(0); + if (!($1722)) { + break; + } + $1723 = (((207980 + (($$010801188*40)|0)|0)) + 28|0); + $1724 = +HEAPF32[$1723>>2]; + $1725 = $1724; + $1726 = $1725 + -0.01; + $1727 = $1726; + HEAPF32[$1723>>2] = $1727; + } + } while(0); + $1728 = (($$010801188) + 1)|0; + $exitcond1227 = ($1728|0)==(512); + if ($exitcond1227) { + $$010811187 = 0; + break; + } else { + $$010801188 = $1728; + } + } + while(1) { + $1738 = (((166916 + (($$010811187*40)|0)|0)) + 36|0); + $1739 = HEAP32[$1738>>2]|0; + $1740 = ($1739|0)==(0); + do { + if (!($1740)) { + $1741 = +HEAPF32[40323]; + $1742 = $1741 * 12.0; + $1743 = $1742; + $1744 = $1743 * 60.0; + $1745 = $1744 / 60.0; + $1746 = (((166916 + (($$010811187*40)|0)|0)) + 4|0); + $1747 = +HEAPF32[$1746>>2]; + $1748 = $1747; + $1749 = $1748 + $1745; + $1750 = $1749; + HEAPF32[$1746>>2] = $1750; + $1751 = $1741 * 15.0; + $1752 = $1751; + $1753 = $1752 * 60.0; + $1754 = $1753 / 60.0; + $1755 = (166916 + (($$010811187*40)|0)|0); + $1756 = +HEAPF32[$1755>>2]; + $1757 = $1756; + $1758 = $1757 - $1754; + $1759 = $1758; + HEAPF32[$1755>>2] = $1759; + $1760 = (((166916 + (($$010811187*40)|0)|0)) + 16|0); + $1761 = +HEAPF32[$1760>>2]; + $1762 = $1761 + 0.5; + HEAPF32[$1760>>2] = $1762; + $1763 = +HEAPF32[$1746>>2]; + $1764 = (_GetScreenHeight()|0); + $1765 = (+($1764|0)); + $1766 = !($1763 >= $1765); + if ($1766) { + break; + } + HEAP32[$1738>>2] = 0; + } + } while(0); + $1767 = (($$010811187) + 1)|0; + $exitcond1226 = ($1767|0)==(512); + if ($exitcond1226) { + break; + } else { + $$010811187 = $1767; + } + } + $1729 = +HEAPF32[40323]; + $1730 = $1729; + $1731 = $1730 * 0.5; + $1732 = $1731 * 60.0; + $1733 = $1732 / 60.0; + $1734 = $1729; + $1735 = $1734 * 0.5; + $1736 = $1735 * 60.0; + $1737 = $1736 / 60.0; + $$010821186 = 0; + while(1) { + $1769 = (((228480 + (($$010821186*36)|0)|0)) + 24|0); + $1770 = HEAP32[$1769>>2]|0; + $1771 = ($1770|0)==(0); + do { + if (!($1771)) { + $1772 = (228480 + (($$010821186*36)|0)|0); + $1773 = +HEAPF32[$1772>>2]; + $1774 = $1773; + $1775 = $1774 - $1737; + $1776 = $1775; + HEAPF32[$1772>>2] = $1776; + $1777 = (((228480 + (($$010821186*36)|0)|0)) + 28|0); + $1778 = HEAP32[$1777>>2]|0; + $1779 = ($1778|0)==(0); + $1780 = (((228480 + (($$010821186*36)|0)|0)) + 12|0); + $1781 = +HEAPF32[$1780>>2]; + if ($1779) { + $1788 = $1781 + 0.0099999997764825821; + HEAPF32[$1780>>2] = $1788; + $1789 = !($1788 >= 0.5); + if ($1789) { + break; + } + HEAPF32[$1780>>2] = 0.5; + $1790 = (((228480 + (($$010821186*36)|0)|0)) + 32|0); + $1791 = +HEAPF32[$1790>>2]; + $1792 = $1791 + 1.0; + HEAPF32[$1790>>2] = $1792; + $1793 = !($1792 >= 30.0); + if ($1793) { + break; + } + HEAPF32[$1790>>2] = 0.0; + HEAP32[$1777>>2] = 1; + break; + } else { + $1782 = $1781 + -0.0099999997764825821; + HEAPF32[$1780>>2] = $1782; + $1783 = !($1782 <= 0.0); + if ($1783) { + break; + } + HEAPF32[$1780>>2] = 0.0; + $1784 = (((228480 + (($$010821186*36)|0)|0)) + 32|0); + $1785 = +HEAPF32[$1784>>2]; + $1786 = $1785 + 1.0; + HEAPF32[$1784>>2] = $1786; + $1787 = !($1786 >= 30.0); + if ($1787) { + break; + } + HEAP32[$1769>>2] = 0; + HEAPF32[$1784>>2] = 0.0; + HEAP32[$1777>>2] = 0; + break; + } + } + } while(0); + $1794 = (((228788 + (($$010821186*36)|0)|0)) + 24|0); + $1795 = HEAP32[$1794>>2]|0; + $1796 = ($1795|0)==(0); + do { + if (!($1796)) { + $1797 = (228788 + (($$010821186*36)|0)|0); + $1798 = +HEAPF32[$1797>>2]; + $1799 = $1798; + $1800 = $1799 - $1733; + $1801 = $1800; + HEAPF32[$1797>>2] = $1801; + $1802 = (((228788 + (($$010821186*36)|0)|0)) + 28|0); + $1803 = HEAP32[$1802>>2]|0; + $1804 = ($1803|0)==(0); + $1805 = (((228788 + (($$010821186*36)|0)|0)) + 12|0); + $1806 = +HEAPF32[$1805>>2]; + if ($1804) { + $1813 = $1806 + 0.0099999997764825821; + HEAPF32[$1805>>2] = $1813; + $1814 = !($1813 >= 0.5); + if ($1814) { + break; + } + HEAPF32[$1805>>2] = 0.5; + $1815 = (((228788 + (($$010821186*36)|0)|0)) + 32|0); + $1816 = +HEAPF32[$1815>>2]; + $1817 = $1816 + 1.0; + HEAPF32[$1815>>2] = $1817; + $1818 = !($1817 >= 30.0); + if ($1818) { + break; + } + HEAPF32[$1815>>2] = 0.0; + HEAP32[$1802>>2] = 1; + break; + } else { + $1807 = $1806 + -0.0099999997764825821; + HEAPF32[$1805>>2] = $1807; + $1808 = !($1807 <= 0.0); + if ($1808) { + break; + } + HEAPF32[$1805>>2] = 0.0; + $1809 = (((228788 + (($$010821186*36)|0)|0)) + 32|0); + $1810 = +HEAPF32[$1809>>2]; + $1811 = $1810 + 1.0; + HEAPF32[$1809>>2] = $1811; + $1812 = !($1811 >= 30.0); + if ($1812) { + break; + } + HEAP32[$1794>>2] = 0; + HEAPF32[$1809>>2] = 0.0; + HEAP32[$1802>>2] = 0; + break; + } + } + } while(0); + $1819 = (($$010821186) + 1)|0; + $exitcond1225 = ($1819|0)==(8); + if ($exitcond1225) { + break; + } else { + $$010821186 = $1819; + } + } + $1768 = HEAP32[83396]|0; + L699: do { + switch ($1768|0) { + case 3: { + $1820 = HEAP32[40325]|0; + $1821 = (($1820) + 1)|0; + HEAP32[40325] = $1821; + $1822 = HEAP32[40322]|0; + $1823 = (($1822) + 1)|0; + HEAP32[40322] = $1823; + $1824 = HEAP32[83424]|0; + $1825 = (($1824) + 1)|0; + HEAP32[83424] = $1825; + $1826 = ($1825|0)>(23); + $1827 = HEAP32[83423]|0; + if ($1826) { + $1828 = (($1827) + 1)|0; + HEAP32[83423] = $1828; + HEAP32[83424] = 0; + $1830 = $1828; + } else { + $1830 = $1827; + } + $1829 = ($1830|0)>(2); + if ($1829) { + HEAP32[83423] = 0; + } + $1831 = HEAP32[(161716)>>2]|0; + $1832 = HEAP32[83423]|0; + $1833 = Math_imul($1832, $1831)|0; + $1834 = (($1833) + 1025)|0; + HEAP32[40427] = $1834; + $1835 = HEAP32[40338]|0; + $1836 = ($1835|0)==(0); + $1837 = (_IsGestureDetected(1)|0); + $1838 = ($1837|0)!=(0); + if ($1836) { + if ($1838) { + label = 460; + } else { + $1839 = (_GetGestureDetected()|0); + $1840 = ($1839|0)==(2); + if ($1840) { + label = 460; + } + } + do { + if ((label|0) == 460) { + _GetTouchPosition($7,0); + ;HEAP32[$$byval_copy100>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy100+4>>2]=HEAP32[$7+4>>2]|0; + ;HEAP32[$$byval_copy101>>2]=HEAP32[161564>>2]|0;HEAP32[$$byval_copy101+4>>2]=HEAP32[161564+4>>2]|0;HEAP32[$$byval_copy101+8>>2]=HEAP32[161564+8>>2]|0;HEAP32[$$byval_copy101+12>>2]=HEAP32[161564+12>>2]|0; + $1841 = (_CheckCollisionPointRec($$byval_copy100,$$byval_copy101)|0); + $1842 = ($1841|0)==(0); + if ($1842) { + break; + } + HEAP32[83396] = 0; + HEAP32[83410] = 15; + HEAP32[40316] = 0; + HEAP32[40339] = 6; + HEAP32[40337] = 0; + HEAP32[40338] = 0; + HEAP32[83424] = 0; + ;HEAP32[$$byval_copy101>>2]=HEAP32[25608>>2]|0;HEAP32[$$byval_copy101+4>>2]=HEAP32[25608+4>>2]|0;HEAP32[$$byval_copy101+8>>2]=HEAP32[25608+8>>2]|0; + _PlaySound($$byval_copy101); + $1843 = HEAP32[40371]|0; + $1844 = (($1843) + 1)|0; + HEAP32[40371] = $1844; + } + } while(0); + $1845 = (_IsGestureDetected(1)|0); + $1846 = ($1845|0)==(0); + if ($1846) { + $1847 = (_GetGestureDetected()|0); + $1848 = ($1847|0)==(2); + if ($1848) { + label = 464; + } + } else { + label = 464; + } + do { + if ((label|0) == 464) { + _GetTouchPosition($8,0); + ;HEAP32[$$byval_copy100>>2]=HEAP32[$8>>2]|0;HEAP32[$$byval_copy100+4>>2]=HEAP32[$8+4>>2]|0; + ;HEAP32[$$byval_copy101>>2]=HEAP32[161548>>2]|0;HEAP32[$$byval_copy101+4>>2]=HEAP32[161548+4>>2]|0;HEAP32[$$byval_copy101+8>>2]=HEAP32[161548+8>>2]|0;HEAP32[$$byval_copy101+12>>2]=HEAP32[161548+12>>2]|0; + $1849 = (_CheckCollisionPointRec($$byval_copy100,$$byval_copy101)|0); + $1850 = ($1849|0)==(0); + if ($1850) { + break; + } + $1851 = HEAP32[40337]|0; + $1852 = ($1851|0)!=(0); + $$sink92 = $1852 ? 4.0 : 3.0; + HEAPF32[40319] = $$sink92; + ;HEAP32[$$byval_copy101>>2]=HEAP32[25620>>2]|0;HEAP32[$$byval_copy101+4>>2]=HEAP32[25620+4>>2]|0;HEAP32[$$byval_copy101+8>>2]=HEAP32[25620+8>>2]|0; + _PlaySound($$byval_copy101); + HEAP32[83396] = 1; + HEAP32[40316] = 0; + HEAP32[40338] = 0; + $1853 = HEAP32[40374]|0; + $1854 = (($1853) + 1)|0; + HEAP32[40374] = $1854; + break L699; + } + } while(0); + $1855 = HEAP32[40337]|0; + $1856 = ($1855|0)!=(0); + $$sink93 = $1856 ? 4.0 : 1.0; + HEAPF32[40319] = $$sink93; + break L699; + } + if ($1838) { + label = 469; + } else { + $1857 = (_GetGestureDetected()|0); + $1858 = ($1857|0)==(2); + if ($1858) { + label = 469; + } + } + do { + if ((label|0) == 469) { + _GetTouchPosition($9,0); + ;HEAP32[$$byval_copy100>>2]=HEAP32[$9>>2]|0;HEAP32[$$byval_copy100+4>>2]=HEAP32[$9+4>>2]|0; + ;HEAP32[$$byval_copy101>>2]=HEAP32[161564>>2]|0;HEAP32[$$byval_copy101+4>>2]=HEAP32[161564+4>>2]|0;HEAP32[$$byval_copy101+8>>2]=HEAP32[161564+8>>2]|0;HEAP32[$$byval_copy101+12>>2]=HEAP32[161564+12>>2]|0; + $1859 = (_CheckCollisionPointRec($$byval_copy100,$$byval_copy101)|0); + $1860 = ($1859|0)==(0); + if ($1860) { + break; + } + $1861 = HEAP32[40333]|0; + $1862 = (($1861) + 1)|0; + HEAP32[40333] = $1862; + $1863 = ($1861|0)>(0); + if (!($1863)) { + break; + } + HEAP32[83396] = 0; + HEAP32[83410] = 15; + HEAP32[40316] = 0; + HEAP32[40339] = 6; + HEAP32[40337] = 0; + HEAP32[40338] = 0; + HEAP32[40333] = 0; + HEAP32[40334] = 0; + HEAP32[40322] = 0; + $1864 = HEAP32[40371]|0; + $1865 = (($1864) + 1)|0; + HEAP32[40371] = $1865; + } + } while(0); + $1866 = (_IsGestureDetected(1)|0); + $1867 = ($1866|0)==(0); + if ($1867) { + $1868 = (_GetGestureDetected()|0); + $1869 = ($1868|0)==(2); + if ($1869) { + label = 474; + } + } else { + label = 474; + } + do { + if ((label|0) == 474) { + _GetTouchPosition($10,0); + ;HEAP32[$$byval_copy100>>2]=HEAP32[$10>>2]|0;HEAP32[$$byval_copy100+4>>2]=HEAP32[$10+4>>2]|0; + ;HEAP32[$$byval_copy101>>2]=HEAP32[161548>>2]|0;HEAP32[$$byval_copy101+4>>2]=HEAP32[161548+4>>2]|0;HEAP32[$$byval_copy101+8>>2]=HEAP32[161548+8>>2]|0;HEAP32[$$byval_copy101+12>>2]=HEAP32[161548+12>>2]|0; + $1870 = (_CheckCollisionPointRec($$byval_copy100,$$byval_copy101)|0); + $1871 = ($1870|0)==(0); + if ($1871) { + break; + } + $1872 = HEAP32[40334]|0; + $1873 = (($1872) + 1)|0; + HEAP32[40334] = $1873; + $1874 = ($1872|0)>(0); + if (!($1874)) { + break L699; + } + HEAPF32[40319] = 3.0; + HEAP32[83396] = 1; + HEAP32[40316] = 0; + HEAP32[40338] = 0; + HEAP32[40333] = 0; + HEAP32[40334] = 0; + HEAP32[40322] = 0; + $1875 = HEAP32[40374]|0; + $1876 = (($1875) + 1)|0; + HEAP32[40374] = $1876; + break L699; + } + } while(0); + HEAPF32[40319] = 0.0; + break; + } + case 0: { + $1877 = HEAP32[40339]|0; + $1878 = (+($1877|0)); + $1879 = $1878 * 60.0; + $1880 = $1879 / 60.0; + $1881 = HEAP32[65204]|0; + $1882 = (+($1881|0)); + $1883 = $1882 + $1880; + $1884 = (~~(($1883))); + HEAP32[65204] = $1884; + $1885 = HEAP32[83410]|0; + $1886 = (($1885) + -1)|0; + HEAP32[83410] = $1886; + $1887 = HEAP32[(260820)>>2]|0; + $1888 = (($1887) - ($1886))|0; + HEAP32[(260820)>>2] = $1888; + $1889 = HEAP32[40314]|0; + $1890 = (($1889) + 1)|0; + HEAP32[40314] = $1890; + $1891 = HEAP32[40316]|0; + $1892 = (($1891) + 1)|0; + HEAP32[40316] = $1892; + break; + } + case 1: { + $1893 = +HEAPF32[40319]; + $1894 = $1893 + 1.0; + HEAPF32[40319] = $1894; + $1895 = HEAP32[(260820)>>2]|0; + $1896 = (+($1895|0)); + $1897 = $1894 + $1896; + $1898 = (~~(($1897))); + HEAP32[(260820)>>2] = $1898; + $1899 = HEAP32[40320]|0; + $1900 = HEAP32[65204]|0; + $1901 = (($1900) - ($1899))|0; + HEAP32[65204] = $1901; + $1902 = HEAP32[40316]|0; + $1903 = (($1902) + 1)|0; + HEAP32[40316] = $1903; + $$010831185 = 0; + while(1) { + $1908 = (258448 + ($$010831185<<4)|0); + ;HEAP32[$$byval_copy100>>2]=HEAP32[260816>>2]|0;HEAP32[$$byval_copy100+4>>2]=HEAP32[260816+4>>2]|0;HEAP32[$$byval_copy100+8>>2]=HEAP32[260816+8>>2]|0;HEAP32[$$byval_copy100+12>>2]=HEAP32[260816+12>>2]|0; + ;HEAP32[$$byval_copy101>>2]=HEAP32[$1908>>2]|0;HEAP32[$$byval_copy101+4>>2]=HEAP32[$1908+4>>2]|0;HEAP32[$$byval_copy101+8>>2]=HEAP32[$1908+8>>2]|0;HEAP32[$$byval_copy101+12>>2]=HEAP32[$1908+12>>2]|0; + $1909 = (_CheckCollisionRecs($$byval_copy100,$$byval_copy101)|0); + $1910 = ($1909|0)==(0); + do { + if (!($1910)) { + $1911 = (258768 + ($$010831185<<2)|0); + $1912 = HEAP32[$1911>>2]|0; + $1913 = ($1912|0)==(0); + if (!($1913)) { + break; + } + $1914 = (258704 + ($$010831185<<2)|0); + $1915 = HEAP32[$1914>>2]|0; + $1916 = ($1915|0)==(0); + if ($1916) { + break; + } + HEAP32[83396] = 0; + HEAP32[83410] = 15; + $1917 = (333700 + ($$010831185<<2)|0); + HEAP32[$1917>>2] = 8; + HEAP32[40316] = 3; + HEAPF32[40319] = 3.0; + HEAP32[$1911>>2] = 1; + HEAP32[40339] = -3; + $1918 = HEAP32[6431]|0; + $1919 = (($1918) + 100)|0; + HEAP32[6431] = $1919; + $1920 = HEAP32[40352]|0; + $1921 = (25732 + ($1920<<2)|0); + HEAP32[$1921>>2] = 1; + $1922 = (($1920) + 1)|0; + HEAP32[40352] = $1922; + ;HEAP32[$$byval_copy101>>2]=HEAP32[25668>>2]|0;HEAP32[$$byval_copy101+4>>2]=HEAP32[25668+4>>2]|0;HEAP32[$$byval_copy101+8>>2]=HEAP32[25668+8>>2]|0; + _PlaySound($$byval_copy101); + $1923 = HEAP32[83455]|0; + $1924 = (($1923) + 1)|0; + HEAP32[83455] = $1924; + $1925 = HEAP32[83413]|0; + $1926 = (($1925) + 1)|0; + HEAP32[83413] = $1926; + $1927 = HEAP32[$1908>>2]|0; + $1928 = (+($1927|0)); + $1929 = (((258448 + ($$010831185<<4)|0)) + 4|0); + $1930 = HEAP32[$1929>>2]|0; + $1931 = (+($1930|0)); + $$sroa$0190$0$$sroa_idx = (259792 + (($$010831185*40)|0)|0); + HEAPF32[$$sroa$0190$0$$sroa_idx>>2] = $1928; + $$sroa$2191$0$$sroa_idx192 = (((259792 + (($$010831185*40)|0)|0)) + 4|0); + HEAPF32[$$sroa$2191$0$$sroa_idx192>>2] = $1931; + $1932 = HEAP32[$1908>>2]|0; + $1933 = (+($1932|0)); + $1934 = HEAP32[$1929>>2]|0; + $1935 = (+($1934|0)); + $$sroa$0187$0$$sroa_idx = (((259792 + (($$010831185*40)|0)|0)) + 8|0); + HEAPF32[$$sroa$0187$0$$sroa_idx>>2] = $1933; + $$sroa$2188$0$$sroa_idx189 = (((259792 + (($$010831185*40)|0)|0)) + 12|0); + HEAPF32[$$sroa$2188$0$$sroa_idx189>>2] = $1935; + $1936 = (_GetRandomValue(5,10)|0); + $1937 = (+($1936|0)); + $1938 = $1937 / 30.0; + $1939 = (((259792 + (($$010831185*40)|0)|0)) + 20|0); + HEAPF32[$1939>>2] = $1938; + $1940 = (((259792 + (($$010831185*40)|0)|0)) + 16|0); + HEAPF32[$1940>>2] = 0.0; + $1941 = (((259792 + (($$010831185*40)|0)|0)) + 28|0); + HEAPF32[$1941>>2] = 1.0; + $1942 = (((259792 + (($$010831185*40)|0)|0)) + 36|0); + HEAP32[$1942>>2] = 1; + $1943 = HEAP32[$1908>>2]|0; + $1944 = (+($1943|0)); + $1945 = HEAP32[$1929>>2]|0; + $1946 = (+($1945|0)); + $$sroa$0184$0$$sroa_idx = (260432 + (($$010831185*24)|0)|0); + HEAPF32[$$sroa$0184$0$$sroa_idx>>2] = $1944; + $$sroa$2185$0$$sroa_idx186 = (((260432 + (($$010831185*24)|0)|0)) + 4|0); + HEAPF32[$$sroa$2185$0$$sroa_idx186>>2] = $1946; + $1947 = (((260432 + (($$010831185*24)|0)|0)) + 16|0); + HEAPF32[$1947>>2] = 1.0; + $1948 = (((260432 + (($$010831185*24)|0)|0)) + 12|0); + HEAPF32[$1948>>2] = 1.0; + $1949 = (((260432 + (($$010831185*24)|0)|0)) + 20|0); + HEAP32[$1949>>2] = 100; + $1950 = (((260432 + (($$010831185*24)|0)|0)) + 8|0); + HEAP32[$1950>>2] = 1; + } + } while(0); + $1951 = (258832 + ($$010831185<<4)|0); + ;HEAP32[$$byval_copy100>>2]=HEAP32[260816>>2]|0;HEAP32[$$byval_copy100+4>>2]=HEAP32[260816+4>>2]|0;HEAP32[$$byval_copy100+8>>2]=HEAP32[260816+8>>2]|0;HEAP32[$$byval_copy100+12>>2]=HEAP32[260816+12>>2]|0; + ;HEAP32[$$byval_copy101>>2]=HEAP32[$1951>>2]|0;HEAP32[$$byval_copy101+4>>2]=HEAP32[$1951+4>>2]|0;HEAP32[$$byval_copy101+8>>2]=HEAP32[$1951+8>>2]|0;HEAP32[$$byval_copy101+12>>2]=HEAP32[$1951+12>>2]|0; + $1952 = (_CheckCollisionRecs($$byval_copy100,$$byval_copy101)|0); + $1953 = ($1952|0)==(0); + do { + if (!($1953)) { + $1954 = (259152 + ($$010831185<<2)|0); + $1955 = HEAP32[$1954>>2]|0; + $1956 = ($1955|0)==(0); + if (!($1956)) { + break; + } + $1957 = (259088 + ($$010831185<<2)|0); + $1958 = HEAP32[$1957>>2]|0; + $1959 = ($1958|0)==(0); + if ($1959) { + break; + } + HEAP32[83396] = 0; + HEAP32[83410] = 15; + $1960 = (333700 + ($$010831185<<2)|0); + HEAP32[$1960>>2] = 8; + HEAP32[40316] = 3; + HEAPF32[40319] = 3.0; + HEAP32[$1954>>2] = 1; + HEAP32[40339] = -3; + $1961 = HEAP32[6431]|0; + $1962 = (($1961) + 100)|0; + HEAP32[6431] = $1962; + $1963 = HEAP32[40352]|0; + $1964 = (25732 + ($1963<<2)|0); + HEAP32[$1964>>2] = 2; + $1965 = (($1963) + 1)|0; + HEAP32[40352] = $1965; + ;HEAP32[$$byval_copy101>>2]=HEAP32[25680>>2]|0;HEAP32[$$byval_copy101+4>>2]=HEAP32[25680+4>>2]|0;HEAP32[$$byval_copy101+8>>2]=HEAP32[25680+8>>2]|0; + _PlaySound($$byval_copy101); + $1966 = HEAP32[83456]|0; + $1967 = (($1966) + 1)|0; + HEAP32[83456] = $1967; + $1968 = HEAP32[83413]|0; + $1969 = (($1968) + 1)|0; + HEAP32[83413] = $1969; + $1970 = HEAP32[$1951>>2]|0; + $1971 = (+($1970|0)); + $1972 = (((258832 + ($$010831185<<4)|0)) + 4|0); + $1973 = HEAP32[$1972>>2]|0; + $1974 = (+($1973|0)); + $$sroa$0181$0$$sroa_idx = (259792 + (($$010831185*40)|0)|0); + HEAPF32[$$sroa$0181$0$$sroa_idx>>2] = $1971; + $$sroa$2182$0$$sroa_idx183 = (((259792 + (($$010831185*40)|0)|0)) + 4|0); + HEAPF32[$$sroa$2182$0$$sroa_idx183>>2] = $1974; + $1975 = HEAP32[$1951>>2]|0; + $1976 = (+($1975|0)); + $1977 = HEAP32[$1972>>2]|0; + $1978 = (+($1977|0)); + $$sroa$0178$0$$sroa_idx = (((259792 + (($$010831185*40)|0)|0)) + 8|0); + HEAPF32[$$sroa$0178$0$$sroa_idx>>2] = $1976; + $$sroa$2179$0$$sroa_idx180 = (((259792 + (($$010831185*40)|0)|0)) + 12|0); + HEAPF32[$$sroa$2179$0$$sroa_idx180>>2] = $1978; + $1979 = (_GetRandomValue(5,10)|0); + $1980 = (+($1979|0)); + $1981 = $1980 / 30.0; + $1982 = (((259792 + (($$010831185*40)|0)|0)) + 20|0); + HEAPF32[$1982>>2] = $1981; + $1983 = (((259792 + (($$010831185*40)|0)|0)) + 16|0); + HEAPF32[$1983>>2] = 0.0; + $1984 = (((259792 + (($$010831185*40)|0)|0)) + 28|0); + HEAPF32[$1984>>2] = 1.0; + $1985 = (((259792 + (($$010831185*40)|0)|0)) + 36|0); + HEAP32[$1985>>2] = 1; + $1986 = HEAP32[$1951>>2]|0; + $1987 = (+($1986|0)); + $1988 = HEAP32[$1972>>2]|0; + $1989 = (+($1988|0)); + $$sroa$0175$0$$sroa_idx = (260432 + (($$010831185*24)|0)|0); + HEAPF32[$$sroa$0175$0$$sroa_idx>>2] = $1987; + $$sroa$2176$0$$sroa_idx177 = (((260432 + (($$010831185*24)|0)|0)) + 4|0); + HEAPF32[$$sroa$2176$0$$sroa_idx177>>2] = $1989; + $1990 = (((260432 + (($$010831185*24)|0)|0)) + 16|0); + HEAPF32[$1990>>2] = 1.0; + $1991 = (((260432 + (($$010831185*24)|0)|0)) + 12|0); + HEAPF32[$1991>>2] = 1.0; + $1992 = (((260432 + (($$010831185*24)|0)|0)) + 20|0); + HEAP32[$1992>>2] = 100; + $1993 = (((260432 + (($$010831185*24)|0)|0)) + 8|0); + HEAP32[$1993>>2] = 1; + } + } while(0); + $1994 = (259216 + ($$010831185<<4)|0); + ;HEAP32[$$byval_copy100>>2]=HEAP32[260816>>2]|0;HEAP32[$$byval_copy100+4>>2]=HEAP32[260816+4>>2]|0;HEAP32[$$byval_copy100+8>>2]=HEAP32[260816+8>>2]|0;HEAP32[$$byval_copy100+12>>2]=HEAP32[260816+12>>2]|0; + ;HEAP32[$$byval_copy101>>2]=HEAP32[$1994>>2]|0;HEAP32[$$byval_copy101+4>>2]=HEAP32[$1994+4>>2]|0;HEAP32[$$byval_copy101+8>>2]=HEAP32[$1994+8>>2]|0;HEAP32[$$byval_copy101+12>>2]=HEAP32[$1994+12>>2]|0; + $1995 = (_CheckCollisionRecs($$byval_copy100,$$byval_copy101)|0); + $1996 = ($1995|0)==(0); + do { + if (!($1996)) { + $1997 = (259600 + ($$010831185<<2)|0); + $1998 = HEAP32[$1997>>2]|0; + $1999 = ($1998|0)==(0); + if (!($1999)) { + break; + } + $2000 = (259472 + ($$010831185<<2)|0); + $2001 = HEAP32[$2000>>2]|0; + $2002 = ($2001|0)==(0); + if ($2002) { + break; + } + HEAP32[83396] = 0; + HEAP32[83410] = 15; + $2003 = (333700 + ($$010831185<<2)|0); + HEAP32[$2003>>2] = 8; + HEAP32[40316] = 3; + HEAPF32[40319] = 3.0; + HEAP32[$1997>>2] = 1; + HEAP32[40339] = -3; + $2004 = HEAP32[6431]|0; + $2005 = (($2004) + 100)|0; + HEAP32[6431] = $2005; + $2006 = HEAP32[40352]|0; + $2007 = (25732 + ($2006<<2)|0); + HEAP32[$2007>>2] = 3; + $2008 = (($2006) + 1)|0; + HEAP32[40352] = $2008; + ;HEAP32[$$byval_copy101>>2]=HEAP32[25692>>2]|0;HEAP32[$$byval_copy101+4>>2]=HEAP32[25692+4>>2]|0;HEAP32[$$byval_copy101+8>>2]=HEAP32[25692+8>>2]|0; + _PlaySound($$byval_copy101); + $2009 = HEAP32[83457]|0; + $2010 = (($2009) + 1)|0; + HEAP32[83457] = $2010; + $2011 = HEAP32[83413]|0; + $2012 = (($2011) + 1)|0; + HEAP32[83413] = $2012; + $2013 = HEAP32[$1994>>2]|0; + $2014 = (+($2013|0)); + $2015 = (((259216 + ($$010831185<<4)|0)) + 4|0); + $2016 = HEAP32[$2015>>2]|0; + $2017 = (+($2016|0)); + $$sroa$0172$0$$sroa_idx = (259792 + (($$010831185*40)|0)|0); + HEAPF32[$$sroa$0172$0$$sroa_idx>>2] = $2014; + $$sroa$2173$0$$sroa_idx174 = (((259792 + (($$010831185*40)|0)|0)) + 4|0); + HEAPF32[$$sroa$2173$0$$sroa_idx174>>2] = $2017; + $2018 = HEAP32[$1994>>2]|0; + $2019 = (+($2018|0)); + $2020 = HEAP32[$2015>>2]|0; + $2021 = (+($2020|0)); + $$sroa$0169$0$$sroa_idx = (((259792 + (($$010831185*40)|0)|0)) + 8|0); + HEAPF32[$$sroa$0169$0$$sroa_idx>>2] = $2019; + $$sroa$2170$0$$sroa_idx171 = (((259792 + (($$010831185*40)|0)|0)) + 12|0); + HEAPF32[$$sroa$2170$0$$sroa_idx171>>2] = $2021; + $2022 = (_GetRandomValue(5,10)|0); + $2023 = (+($2022|0)); + $2024 = $2023 / 30.0; + $2025 = (((259792 + (($$010831185*40)|0)|0)) + 20|0); + HEAPF32[$2025>>2] = $2024; + $2026 = (((259792 + (($$010831185*40)|0)|0)) + 16|0); + HEAPF32[$2026>>2] = 0.0; + $2027 = (((259792 + (($$010831185*40)|0)|0)) + 28|0); + HEAPF32[$2027>>2] = 1.0; + $2028 = (((259792 + (($$010831185*40)|0)|0)) + 36|0); + HEAP32[$2028>>2] = 1; + $2029 = HEAP32[$1994>>2]|0; + $2030 = (+($2029|0)); + $2031 = HEAP32[$2015>>2]|0; + $2032 = (+($2031|0)); + $$sroa$0166$0$$sroa_idx = (260432 + (($$010831185*24)|0)|0); + HEAPF32[$$sroa$0166$0$$sroa_idx>>2] = $2030; + $$sroa$2167$0$$sroa_idx168 = (((260432 + (($$010831185*24)|0)|0)) + 4|0); + HEAPF32[$$sroa$2167$0$$sroa_idx168>>2] = $2032; + $2033 = (((260432 + (($$010831185*24)|0)|0)) + 16|0); + HEAPF32[$2033>>2] = 1.0; + $2034 = (((260432 + (($$010831185*24)|0)|0)) + 12|0); + HEAPF32[$2034>>2] = 1.0; + $2035 = (((260432 + (($$010831185*24)|0)|0)) + 20|0); + HEAP32[$2035>>2] = 100; + $2036 = (((260432 + (($$010831185*24)|0)|0)) + 8|0); + HEAP32[$2036>>2] = 1; + } + } while(0); + $2037 = (($$010831185) + 1)|0; + $exitcond = ($2037|0)==(16); + if ($exitcond) { + break; + } else { + $$010831185 = $2037; + } + } + ;HEAP32[$$byval_copy100>>2]=HEAP32[260816>>2]|0;HEAP32[$$byval_copy100+4>>2]=HEAP32[260816+4>>2]|0;HEAP32[$$byval_copy100+8>>2]=HEAP32[260816+8>>2]|0;HEAP32[$$byval_copy100+12>>2]=HEAP32[260816+12>>2]|0; + ;HEAP32[$$byval_copy101>>2]=HEAP32[260832>>2]|0;HEAP32[$$byval_copy101+4>>2]=HEAP32[260832+4>>2]|0;HEAP32[$$byval_copy101+8>>2]=HEAP32[260832+8>>2]|0;HEAP32[$$byval_copy101+12>>2]=HEAP32[260832+12>>2]|0; + $1904 = (_CheckCollisionRecs($$byval_copy100,$$byval_copy101)|0); + $1905 = HEAP32[83419]|0; + $notlhs = ($1904|0)!=(0); + $notrhs = ($1905|0)==(0); + $or$cond95$not = $notlhs & $notrhs; + $1906 = HEAP32[65212]|0; + $1907 = ($1906|0)!=(0); + $or$cond97 = $or$cond95$not & $1907; + if ($or$cond97) { + HEAP32[83396] = 0; + HEAP32[83410] = 15; + HEAP32[83411] = 8; + HEAP32[40316] = 3; + HEAPF32[40319] = 3.0; + HEAP32[83419] = 1; + HEAP32[40339] = -3; + $2038 = HEAP32[6431]|0; + $2039 = (($2038) + 300)|0; + HEAP32[6431] = $2039; + $2040 = HEAP32[40352]|0; + $2041 = (25732 + ($2040<<2)|0); + HEAP32[$2041>>2] = 4; + $2042 = (($2040) + 1)|0; + HEAP32[40352] = $2042; + $2043 = HEAP32[83420]|0; + $2044 = (($2043) + 1)|0; + HEAP32[83420] = $2044; + $2045 = HEAP32[83413]|0; + $2046 = (($2045) + 1)|0; + HEAP32[83413] = $2046; + $2047 = HEAP32[65208]|0; + $2048 = (+($2047|0)); + $2049 = HEAP32[(260836)>>2]|0; + $2050 = (+($2049|0)); + HEAPF32[65213] = $2048; + HEAPF32[(260856)>>2] = $2050; + HEAPF32[(260868)>>2] = 1.0; + HEAPF32[(260864)>>2] = 1.0; + HEAP32[(260872)>>2] = 300; + HEAP32[(260860)>>2] = 1; + } + ;HEAP32[$$byval_copy100>>2]=HEAP32[260816>>2]|0;HEAP32[$$byval_copy100+4>>2]=HEAP32[260816+4>>2]|0;HEAP32[$$byval_copy100+8>>2]=HEAP32[260816+8>>2]|0;HEAP32[$$byval_copy100+12>>2]=HEAP32[260816+12>>2]|0; + ;HEAP32[$$byval_copy101>>2]=HEAP32[260876>>2]|0;HEAP32[$$byval_copy101+4>>2]=HEAP32[260876+4>>2]|0;HEAP32[$$byval_copy101+8>>2]=HEAP32[260876+8>>2]|0;HEAP32[$$byval_copy101+12>>2]=HEAP32[260876+12>>2]|0; + $2051 = (_CheckCollisionRecs($$byval_copy100,$$byval_copy101)|0); + $2052 = HEAP32[83409]|0; + $notlhs1087 = ($2051|0)!=(0); + $notrhs1088 = ($2052|0)==(0); + $or$cond99$not = $notlhs1087 & $notrhs1088; + $2053 = HEAP32[65223]|0; + $2054 = ($2053|0)!=(0); + $or$cond101 = $or$cond99$not & $2054; + if (!($or$cond101)) { + break L699; + } + HEAP32[83396] = 0; + HEAP32[83410] = 15; + HEAP32[83411] = 8; + HEAP32[40316] = 3; + HEAPF32[40319] = 3.0; + HEAP32[83409] = 1; + HEAP32[40339] = -3; + $2055 = HEAP32[6431]|0; + $2056 = (($2055) + 300)|0; + HEAP32[6431] = $2056; + $2057 = HEAP32[40352]|0; + $2058 = (25732 + ($2057<<2)|0); + HEAP32[$2058>>2] = 5; + $2059 = (($2057) + 1)|0; + HEAP32[40352] = $2059; + $2060 = HEAP32[83412]|0; + $2061 = (($2060) + 1)|0; + HEAP32[83412] = $2061; + $2062 = HEAP32[83413]|0; + $2063 = (($2062) + 1)|0; + HEAP32[83413] = $2063; + $2064 = HEAP32[65219]|0; + $2065 = (+($2064|0)); + $2066 = HEAP32[(260880)>>2]|0; + $2067 = (+($2066|0)); + HEAPF32[65224] = $2065; + HEAPF32[(260900)>>2] = $2067; + HEAPF32[(260912)>>2] = 1.0; + HEAPF32[(260908)>>2] = 1.0; + HEAP32[(260916)>>2] = 300; + HEAP32[(260904)>>2] = 1; + break; + } + case 2: { + $2068 = HEAP32[40340]|0; + $2069 = ($2068|0)==(0); + do { + if ($2069) { + HEAPF32[40323] = 5.0; + HEAPF32[40331] = 3.2000000476837158; + $2104 = HEAP32[40321]|0; + $2105 = (($2104) + -1)|0; + HEAP32[40321] = $2105; + $2106 = HEAP32[83424]|0; + $2107 = (($2106) + 1)|0; + HEAP32[83424] = $2107; + $2108 = ($2107|0)>(11); + $2109 = HEAP32[83423]|0; + if ($2108) { + $2110 = (($2109) + 1)|0; + HEAP32[83423] = $2110; + HEAP32[83424] = 0; + $2112 = $2110; + } else { + $2112 = $2109; + } + $2111 = ($2112|0)>(1); + if ($2111) { + HEAP32[83423] = 0; + $2116 = 0; + label = 511; + } else { + $$pr1153 = HEAP32[83423]|0; + $2113 = ($$pr1153|0)<(2); + if ($2113) { + $2116 = $$pr1153; + label = 511; + } + } + if ((label|0) == 511) { + $2114 = HEAP32[(161732)>>2]|0; + $2115 = Math_imul($2114, $2116)|0; + $2117 = (($2115) + 114)|0; + HEAP32[40431] = $2117; + } + $2118 = HEAP32[65204]|0; + $2119 = (_GetScreenWidth()|0); + $2120 = (($2119|0) / 3)&-1; + $2121 = ($2118|0)>($2120|0); + if ($2121) { + $2122 = HEAP32[65204]|0; + $2123 = (($2122) + -2)|0; + HEAP32[65204] = $2123; + } + $2124 = HEAP32[65204]|0; + $2125 = (_GetScreenWidth()|0); + $2126 = (($2125|0) / 3)&-1; + $2127 = ($2124|0)<($2126|0); + if ($2127) { + $2128 = HEAP32[65204]|0; + $2129 = (($2128) + 1)|0; + HEAP32[65204] = $2129; + } + $2130 = HEAP32[40321]|0; + $2131 = HEAP32[40326]|0; + $2132 = (($2131>>>0) / 5)&-1; + $2133 = ($2130|0)>($2132|0); + if ($2133) { + $$sink1114 = -1;$$sink1115 = -1;$$sink1116 = -1; + } else { + $2134 = HEAP32[40359]|0; + $2135 = (($2134) + 1)|0; + HEAP32[40359] = $2135; + $2136 = ($2135|0)>(4); + if ($2136) { + $2137 = HEAP32[83469]|0; + $2138 = ($2137|0)==(0); + $2139 = $2138&1; + HEAP32[83469] = $2139; + HEAP32[40359] = 0; + } + $2140 = HEAP32[83469]|0; + $2141 = ($2140|0)!=(0); + $$1123 = $2141 ? -26 : -1; + $$1124 = $2141 ? 41 : -1; + $$1125 = $2141 ? 55 : -1; + $$sink1114 = $$1125;$$sink1115 = $$1124;$$sink1116 = $$1123; + } + HEAP8[339120] = $$sink1116; + HEAP8[(339121)>>0] = $$sink1115; + HEAP8[(339122)>>0] = $$sink1114; + HEAP8[(339123)>>0] = -1; + $2142 = (_IsGestureDetected(4)|0); + $2143 = ($2142|0)==(0); + if ($2143) { + $2144 = (_GetGestureDetected()|0); + $2145 = ($2144|0)==(8); + if ($2145) { + label = 522; + } + } else { + label = 522; + } + do { + if ((label|0) == 522) { + _GetTouchPosition($11,0); + ;HEAP32[$$byval_copy100>>2]=HEAP32[$11>>2]|0;HEAP32[$$byval_copy100+4>>2]=HEAP32[$11+4>>2]|0; + ;HEAP32[$$byval_copy101>>2]=HEAP32[161548>>2]|0;HEAP32[$$byval_copy101+4>>2]=HEAP32[161548+4>>2]|0;HEAP32[$$byval_copy101+8>>2]=HEAP32[161548+8>>2]|0;HEAP32[$$byval_copy101+12>>2]=HEAP32[161548+12>>2]|0; + $2146 = (_CheckCollisionPointRec($$byval_copy100,$$byval_copy101)|0); + $2147 = ($2146|0)==(0); + if ($2147) { + break; + } + $2148 = HEAP32[(260820)>>2]|0; + $2149 = (($2148) + 10)|0; + HEAP32[(260820)>>2] = $2149; + } + } while(0); + $2150 = (_IsGestureDetected(4)|0); + $2151 = ($2150|0)==(0); + if ($2151) { + $2152 = (_GetGestureDetected()|0); + $2153 = ($2152|0)==(8); + if (!($2153)) { + break; + } + } + _GetTouchPosition($12,0); + ;HEAP32[$$byval_copy100>>2]=HEAP32[$12>>2]|0;HEAP32[$$byval_copy100+4>>2]=HEAP32[$12+4>>2]|0; + ;HEAP32[$$byval_copy101>>2]=HEAP32[161564>>2]|0;HEAP32[$$byval_copy101+4>>2]=HEAP32[161564+4>>2]|0;HEAP32[$$byval_copy101+8>>2]=HEAP32[161564+8>>2]|0;HEAP32[$$byval_copy101+12>>2]=HEAP32[161564+12>>2]|0; + $2154 = (_CheckCollisionPointRec($$byval_copy100,$$byval_copy101)|0); + $2155 = ($2154|0)==(0); + if ($2155) { + break; + } + $2156 = HEAP32[(260820)>>2]|0; + $2157 = (($2156) + -10)|0; + HEAP32[(260820)>>2] = $2157; + } else { + HEAPF32[40323] = 0.0; + $2070 = HEAP32[40324]|0; + $2071 = (($2070) + 1)|0; + HEAP32[40324] = $2071; + $2072 = +HEAPF32[83467]; + $2073 = $2072 + 1.0; + HEAPF32[83467] = $2073; + $2074 = HEAP32[83468]|0; + $2075 = (($2074) + 1)|0; + HEAP32[83468] = $2075; + $2076 = HEAP32[83424]|0; + $2077 = (($2076) + 1)|0; + HEAP32[83424] = $2077; + $2078 = HEAP32[40324]|0; + $2079 = (+($2078|0)); + $2080 = HEAP32[83422]|0; + $2081 = (+($2080|0)); + $2082 = (+_LinearEaseIn($2079,$2081,-100.0,120.0)); + $2083 = (~~(($2082))); + HEAP32[6564] = $2083; + $2084 = HEAP32[83424]|0; + $2085 = ($2084|0)>(23); + $2086 = HEAP32[83423]|0; + if ($2085) { + $2087 = (($2086) + 1)|0; + HEAP32[83423] = $2087; + HEAP32[83424] = 0; + $2089 = $2087; + } else { + $2089 = $2086; + } + $2088 = ($2089|0)<(2); + if ($2088) { + $2090 = HEAP32[(161748)>>2]|0; + $2091 = Math_imul($2090, $2089)|0; + $2092 = (($2091) + 772)|0; + HEAP32[40435] = $2092; + } + $2093 = HEAP32[83468]|0; + $2094 = ($2093|0)>(4); + if ($2094) { + $2095 = HEAP32[83469]|0; + $2096 = ($2095|0)==(0); + $2097 = $2096&1; + HEAP32[83469] = $2097; + HEAP32[83468] = 0; + } + $2098 = HEAP32[83469]|0; + $2099 = ($2098|0)!=(0); + $$1117 = $2099 ? -26 : -1; + $$1118 = $2099 ? 41 : -1; + $$1119 = $2099 ? 55 : -1; + $$1120 = $2099 ? -1 : -26; + $$1121 = $2099 ? -1 : 41; + $$1122 = $2099 ? -1 : 55; + HEAP8[339120] = $$1117; + HEAP8[(339121)>>0] = $$1118; + HEAP8[(339122)>>0] = $$1119; + HEAP8[(339123)>>0] = -1; + HEAP8[339144] = $$1120; + HEAP8[(339145)>>0] = $$1121; + HEAP8[(339146)>>0] = $$1122; + HEAP8[(339147)>>0] = -1; + $2100 = HEAP32[40324]|0; + $2101 = ($2100|0)>(119); + if (!($2101)) { + break; + } + HEAP32[40340] = 0; + HEAP32[83424] = 0; + HEAP32[83423] = 0; + HEAP32[57269] = 1; + HEAP32[40324] = 0; + $2102 = HEAP32[40317]|0; + $2103 = (($2102) + 15)|0; + HEAP32[40317] = $2103; + } + } while(0); + HEAPF32[40319] = 0.0; + $2158 = HEAP32[40316]|0; + $2159 = (($2158) + 1)|0; + HEAP32[40316] = $2159; + break; + } + case 4: { + $2160 = HEAP32[40339]|0; + $2161 = (+($2160|0)); + $2162 = $2161 * 60.0; + $2163 = $2162 / 60.0; + $2164 = HEAP32[65204]|0; + $2165 = (+($2164|0)); + $2166 = $2165 - $2163; + $2167 = (~~(($2166))); + HEAP32[65204] = $2167; + $2168 = HEAP32[83410]|0; + $2169 = (($2168) + -2)|0; + HEAP32[83410] = $2169; + $2170 = HEAP32[(260820)>>2]|0; + $2171 = (($2170) - ($2169))|0; + HEAP32[(260820)>>2] = $2171; + $2172 = HEAP32[40314]|0; + $2173 = (($2172) + 1)|0; + HEAP32[40314] = $2173; + $2174 = HEAP32[40316]|0; + $2175 = (($2174) + 1)|0; + HEAP32[40316] = $2175; + break; + } + default: { + } + } + } while(0); + $2176 = HEAP32[65204]|0; + $2177 = HEAP32[(260824)>>2]|0; + $2178 = (0 - ($2177))|0; + $2179 = ($2176|0)>($2178|0); + if (!($2179)) { + HEAP32[40336] = 0; + HEAP32[40327] = 0; + HEAP32[6561] = 4; + } + $2180 = HEAP32[(260820)>>2]|0; + $2181 = HEAP32[(260828)>>2]|0; + $2182 = (($2181) + ($2180))|0; + $2183 = (_GetScreenHeight()|0); + $2184 = ($2182|0)<($2183|0); + do { + if (!($2184)) { + $2185 = HEAP32[83396]|0; + $2186 = ($2185|0)==(2); + if ($2186) { + $2187 = (_GetScreenHeight()|0); + $2188 = HEAP32[(260828)>>2]|0; + $2189 = (($2187) - ($2188))|0; + HEAP32[(260820)>>2] = $2189; + break; + } else { + HEAP32[40336] = 0; + HEAP32[40327] = 0; + HEAP32[6561] = 4; + break; + } + } + } while(0); + $2190 = HEAP32[(260820)>>2]|0; + $2191 = ($2190|0)<(1); + $2192 = HEAP32[83396]|0; + $2193 = ($2192|0)==(2); + $or$cond103 = $2191 & $2193; + if ($or$cond103) { + HEAP32[(260820)>>2] = 0; + } + $2194 = HEAP32[65204]|0; + $2195 = (_GetScreenWidth()|0); + $2196 = HEAP32[(260824)>>2]|0; + $2197 = (($2195) - ($2196))|0; + $2198 = ($2194|0)<($2197|0); + if (!($2198)) { + $2199 = (_GetScreenWidth()|0); + $2200 = HEAP32[(260824)>>2]|0; + $2201 = (($2199) - ($2200))|0; + HEAP32[65204] = $2201; + } + $2202 = HEAP32[(260820)>>2]|0; + $2203 = ($2202|0)<(-31); + if ($2203) { + HEAP32[(260820)>>2] = -32; + } + $2204 = HEAP32[40317]|0; + $2205 = HEAP32[40318]|0; + $2206 = ($2204|0)>($2205|0); + if (!($2206)) { + STACKTOP = sp;return; + } + $2207 = HEAP32[40340]|0; + $2208 = ($2207|0)==(0); + if ($2208) { + _BambooSpawn(); + $2209 = HEAP32[83396]|0; + $2210 = ($2209|0)!=(2); + $2211 = HEAP32[40365]|0; + $2212 = ($2211|0)>(599); + $or$cond105 = $2210 & $2212; + if ($or$cond105) { + _EagleSpawn(); + } + $2213 = HEAP32[83394]|0; + switch ($2213|0) { + case 0: { + _IceSpawn(); + $2214 = +HEAPF32[83398]; + $2215 = (~~(($2214))); + $2216 = (($2215) + 30)|0; + _OwlSpawn($2216); + break; + } + case 1: { + _ResinSpawn(); + $2217 = HEAP32[83396]|0; + $2218 = ($2217|0)==(2); + if (!($2218)) { + _BeeSpawn(); + } + $2219 = +HEAPF32[83398]; + $2220 = (~~(($2219))); + $2221 = (($2220) + 30)|0; + _DingoSpawn($2221); + break; + } + case 2: { + _FireSpawn(); + $2222 = +HEAPF32[83398]; + $2223 = (~~(($2222))); + $2224 = (($2223) + 30)|0; + _SnakeSpawn($2224); + break; + } + case 3: { + _WindSpawn(); + $2225 = +HEAPF32[83398]; + $2226 = (~~(($2225))); + $2227 = (($2226) + 30)|0; + _SnakeSpawn($2227); + break; + } + default: { + } + } + _LeafSpawn(); + } + HEAP32[40317] = 0; + $2228 = (_GetRandomValue(35,85)|0); + HEAP32[40318] = $2228; + STACKTOP = sp;return; + } else { + $2230 = $43; + } + } else { + $42 = HEAP32[40336]|0; + $2230 = $42; + } + $2229 = $2230 | $41; + $2231 = ($2229|0)==(0); + if (!($2231)) { + STACKTOP = sp;return; + } + $2232 = HEAP32[6431]|0; + $2233 = HEAP32[6432]|0; + $2234 = ($2232|0)>($2233|0); + if ($2234) { + HEAP32[6432] = $2232; + } + $2235 = HEAP32[40339]|0; + $2236 = HEAP32[65204]|0; + $2237 = (($2236) - ($2235))|0; + HEAP32[65204] = $2237; + $2238 = HEAP32[83410]|0; + $2239 = (($2238) + -1)|0; + HEAP32[83410] = $2239; + $2240 = HEAP32[(260820)>>2]|0; + $2241 = (($2240) - ($2239))|0; + HEAP32[(260820)>>2] = $2241; + $2242 = (_GetScreenHeight()|0); + $2243 = ($2241|0)<($2242|0); + if ($2243) { + STACKTOP = sp;return; + } + $2244 = HEAP32[83470]|0; + $2245 = (($2244) + 1)|0; + HEAP32[83470] = $2245; + HEAP32[40315] = 1; + STACKTOP = sp;return; +} +function _ColorTransition($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$sroa$4$0$$sroa_idx = 0, $$sroa$5$0$$sroa_idx = 0, $$sroa$6$0$$sroa_idx = 0, $10 = 0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0, $16 = 0.0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0.0, $23 = 0.0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0.0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0.0, $34 = 0.0, $35 = 0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $4 = (+($3|0)); + $5 = HEAP8[$1>>0]|0; + $6 = (+($5&255)); + $7 = HEAP8[$2>>0]|0; + $8 = $7&255; + $9 = $5&255; + $10 = (($8) - ($9))|0; + $11 = (+($10|0)); + $12 = (+_LinearEaseIn($4,$6,$11,200.0)); + $13 = (~~(($12))&255); + $14 = ((($1)) + 1|0); + $15 = HEAP8[$14>>0]|0; + $16 = (+($15&255)); + $17 = ((($2)) + 1|0); + $18 = HEAP8[$17>>0]|0; + $19 = $18&255; + $20 = $15&255; + $21 = (($19) - ($20))|0; + $22 = (+($21|0)); + $23 = (+_LinearEaseIn($4,$16,$22,200.0)); + $24 = (~~(($23))&255); + $25 = ((($1)) + 2|0); + $26 = HEAP8[$25>>0]|0; + $27 = (+($26&255)); + $28 = ((($2)) + 2|0); + $29 = HEAP8[$28>>0]|0; + $30 = $29&255; + $31 = $26&255; + $32 = (($30) - ($31))|0; + $33 = (+($32|0)); + $34 = (+_LinearEaseIn($4,$27,$33,200.0)); + $35 = (~~(($34))&255); + HEAP8[$0>>0] = $13; + $$sroa$4$0$$sroa_idx = ((($0)) + 1|0); + HEAP8[$$sroa$4$0$$sroa_idx>>0] = $24; + $$sroa$5$0$$sroa_idx = ((($0)) + 2|0); + HEAP8[$$sroa$5$0$$sroa_idx>>0] = $35; + $$sroa$6$0$$sroa_idx = ((($0)) + 3|0); + HEAP8[$$sroa$6$0$$sroa_idx>>0] = -1; + return; +} +function _LinearEaseIn($0,$1,$2,$3) { + $0 = +$0; + $1 = +$1; + $2 = +$2; + $3 = +$3; + var $4 = 0.0, $5 = 0.0, $6 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $4 = $0 * $2; + $5 = $4 / $3; + $6 = $5 + $1; + return (+$6); +} +function _BambooSpawn() { + var $$01213 = 0, $$014 = 0, $$1 = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $exitcond = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $$01213 = 0;$$014 = 0; + while(1) { + $0 = (257504 + ($$014<<2)|0); + $1 = HEAP32[$0>>2]|0; + $2 = ($1|0)==(0); + $3 = ($$01213|0)<(1); + $or$cond = $3 & $2; + if ($or$cond) { + $4 = (($$01213) + 1)|0; + $5 = (257248 + ($$014<<4)|0); + $6 = (((257248 + ($$014<<4)|0)) + 4|0); + HEAP32[$6>>2] = 0; + $7 = (_GetScreenWidth()|0); + HEAP32[$5>>2] = $7; + HEAP32[$0>>2] = 1; + $$1 = $4; + } else { + $$1 = $$01213; + } + $8 = (($$014) + 1)|0; + $exitcond = ($8|0)==(16); + if ($exitcond) { + break; + } else { + $$01213 = $$1;$$014 = $8; + } + } + return; +} +function _EagleSpawn() { + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (_GetRandomValue(0,100)|0); + $1 = ($0|0)>(5); + $2 = HEAP32[65223]|0; + $3 = HEAP32[40342]|0; + $4 = $3 | $2; + $5 = ($4|0)!=(0); + $6 = $1 | $5; + if ($6) { + return; + } + HEAP32[40365] = 0; + $7 = (_GetScreenWidth()|0); + HEAP32[65219] = $7; + $8 = HEAP32[(260820)>>2]|0; + HEAP32[(260880)>>2] = $8; + $9 = (_GetScreenWidth()|0); + $10 = HEAP32[(260880)>>2]|0; + $11 = (($10) + 40)|0; + HEAP32[83405] = $9; + HEAP32[(333624)>>2] = $11; + HEAP32[(333628)>>2] = 0; + HEAP32[(333632)>>2] = 0; + HEAP32[65223] = 0; + HEAP32[40341] = 1; + HEAP32[40342] = 1; + return; +} +function _IceSpawn() { + var $$0131 = 0, $$02 = 0, $$1 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (_GetRandomValue(0,100)|0); + $1 = ($0|0)<(31); + if ($1) { + $$0131 = 0;$$02 = 0; + } else { + return; + } + while(1) { + $2 = (258008 + ($$02<<2)|0); + $3 = HEAP32[$2>>2]|0; + $4 = ($3|0)==(0); + $5 = ($$0131|0)<(1); + $or$cond = $5 & $4; + if ($or$cond) { + $6 = (((257848 + ($$02<<4)|0)) + 4|0); + HEAP32[$6>>2] = 0; + $7 = (_GetScreenWidth()|0); + $8 = (($7) + 5)|0; + $9 = (257848 + ($$02<<4)|0); + HEAP32[$9>>2] = $8; + HEAP32[$2>>2] = 1; + $10 = (($$0131) + 1)|0; + $$1 = $10; + } else { + $$1 = $$0131; + } + $11 = (($$02) + 1)|0; + $exitcond = ($11|0)==(10); + if ($exitcond) { + break; + } else { + $$0131 = $$1;$$02 = $11; + } + } + return; +} +function _OwlSpawn($0) { + $0 = $0|0; + var $$03132 = 0, $$033 = 0, $$1 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; + var $25 = 0, $26 = 0.0, $27 = 0, $28 = 0, $29 = 0.0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = 25200; + $2 = $1; + HEAP32[$2>>2] = -1; + $3 = (($1) + 4)|0; + $4 = $3; + HEAP32[$4>>2] = -1; + $5 = (_GetRandomValue(0,100)|0); + $6 = ($5|0)>($0|0); + if ($6) { + return; + } else { + $$03132 = 0;$$033 = 0; + } + while(1) { + $7 = (259472 + ($$033<<2)|0); + $8 = HEAP32[$7>>2]|0; + $9 = ($8|0)==(0); + if ($9) { + $10 = (259536 + ($$033<<2)|0); + $11 = HEAP32[$10>>2]|0; + $12 = ($11|0)==(0); + $13 = ($$03132|0)<(1); + $or$cond = $13 & $12; + if ($or$cond) { + $14 = (_GetRandomValue(1,3)|0); + $15 = ($$03132|0)==(0); + if ($15) { + $16 = (25200 + ($$03132<<2)|0); + HEAP32[$16>>2] = $14; + } + $17 = (_GetScreenWidth()|0); + $18 = (($17) + -15)|0; + $19 = (259216 + ($$033<<4)|0); + HEAP32[$19>>2] = $18; + $20 = (_GetScreenHeight()|0); + $21 = (($20|0) / 5)&-1; + $22 = Math_imul($21, $14)|0; + $23 = (($22) + 25)|0; + $24 = (((259216 + ($$033<<4)|0)) + 4|0); + HEAP32[$24>>2] = $23; + HEAP32[$7>>2] = 1; + $25 = HEAP32[$19>>2]|0; + $26 = (+($25|0)); + $27 = (259664 + ($$033<<3)|0); + HEAPF32[$27>>2] = $26; + $28 = (($22) + 89)|0; + $29 = (+($28|0)); + $30 = (((259664 + ($$033<<3)|0)) + 4|0); + HEAPF32[$30>>2] = $29; + HEAP32[$10>>2] = 1; + $31 = (($$03132) + 1)|0; + $$1 = $31; + } else { + $$1 = $$03132; + } + } else { + $$1 = $$03132; + } + $32 = (($$033) + 1)|0; + $exitcond = ($32|0)==(16); + if ($exitcond) { + break; + } else { + $$03132 = $$1;$$033 = $32; + } + } + return; +} +function _ResinSpawn() { + var $$0173 = 0, $$0182 = 0, $$1 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; + var $8 = 0, $9 = 0, $exitcond = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (_GetRandomValue(0,100)|0); + $1 = ($0|0)<(31); + if ($1) { + $$0173 = 0;$$0182 = 0; + } else { + return; + } + while(1) { + $2 = (258048 + ($$0173<<2)|0); + $3 = HEAP32[$2>>2]|0; + $4 = ($3|0)==(0); + $5 = ($$0182|0)<(1); + $or$cond = $5 & $4; + if ($or$cond) { + while(1) { + $6 = (_GetRandomValue(0,4)|0); + $7 = (_CheckArrayValue($6)|0); + $8 = ($7|0)==(0); + if ($8) { + break; + } + } + $9 = (_GetScreenHeight()|0); + $10 = (($9|0) / 5)&-1; + $11 = Math_imul($10, $6)|0; + $12 = (($11) + 25)|0; + $13 = (((258088 + ($$0173<<4)|0)) + 4|0); + HEAP32[$13>>2] = $12; + $14 = (_GetScreenWidth()|0); + $15 = (($14) + 5)|0; + $16 = (258088 + ($$0173<<4)|0); + HEAP32[$16>>2] = $15; + HEAP32[$2>>2] = 1; + $17 = (($$0182) + 1)|0; + $$1 = $17; + } else { + $$1 = $$0182; + } + $18 = (($$0173) + 1)|0; + $exitcond = ($18|0)==(10); + if ($exitcond) { + break; + } else { + $$0173 = $18;$$0182 = $$1; + } + } + return; +} +function _BeeSpawn() { + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (_GetRandomValue(0,100)|0); + $1 = ($0|0)>(10); + $2 = HEAP32[65212]|0; + $3 = HEAP32[83414]|0; + $4 = $3 | $2; + $5 = ($4|0)!=(0); + $6 = $1 | $5; + if ($6) { + return; + } + $7 = (_GetScreenWidth()|0); + HEAP32[65208] = $7; + $8 = (_GetScreenHeight()|0); + $9 = HEAP32[(260844)>>2]|0; + $10 = (($8) + -40)|0; + $11 = (($10) - ($9))|0; + $12 = (_GetRandomValue(40,$11)|0); + HEAP32[(260836)>>2] = $12; + $13 = (_GetScreenWidth()|0); + $14 = HEAP32[(260836)>>2]|0; + $15 = (($14) + 30)|0; + HEAP32[83415] = $13; + HEAP32[(333664)>>2] = $15; + HEAP32[(333668)>>2] = 0; + HEAP32[(333672)>>2] = 0; + HEAP32[65212] = 0; + HEAP32[83414] = 1; + return; +} +function _DingoSpawn($0) { + $0 = $0|0; + var $$02627 = 0, $$028 = 0, $$1 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0; + var $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (_GetRandomValue(0,100)|0); + $2 = ($1|0)>($0|0); + if ($2) { + return; + } else { + $$02627 = 0;$$028 = 0; + } + while(1) { + $3 = (259088 + ($$028<<2)|0); + $4 = HEAP32[$3>>2]|0; + $5 = ($4|0)==(0); + $6 = ($$02627|0)<(1); + $or$cond = $6 & $5; + if ($or$cond) { + $7 = (_GetRandomValue(1,3)|0); + $8 = ($$02627|0)==(0); + if ($8) { + $9 = (25200 + ($$02627<<2)|0); + HEAP32[$9>>2] = $7; + } + $10 = (_GetScreenWidth()|0); + $11 = (($10) + -15)|0; + $12 = (258832 + ($$028<<4)|0); + HEAP32[$12>>2] = $11; + $13 = (_GetScreenHeight()|0); + $14 = (($13|0) / 5)&-1; + $15 = Math_imul($14, $7)|0; + $16 = (($15) + 25)|0; + $17 = (((258832 + ($$028<<4)|0)) + 4|0); + HEAP32[$17>>2] = $16; + HEAP32[$3>>2] = 1; + $18 = (259152 + ($$028<<2)|0); + HEAP32[$18>>2] = 0; + $19 = (($$02627) + 1)|0; + $$1 = $19; + } else { + $$1 = $$02627; + } + $20 = (($$028) + 1)|0; + $exitcond = ($20|0)==(16); + if ($exitcond) { + break; + } else { + $$02627 = $$1;$$028 = $20; + } + } + return; +} +function _FireSpawn() { + var $$0141 = 0, $$02 = 0, $$1 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $or$cond = 0; + var label = 0, sp = 0; + sp = STACKTOP; + $0 = (_GetRandomValue(0,100)|0); + $1 = ($0|0)<(31); + if ($1) { + $$0141 = 0;$$02 = 0; + } else { + return; + } + while(1) { + $2 = (257728 + ($$02<<2)|0); + $3 = HEAP32[$2>>2]|0; + $4 = ($3|0)==(0); + $5 = ($$0141|0)<(1); + $or$cond = $5 & $4; + if ($or$cond) { + $6 = (_GetScreenHeight()|0); + $7 = (($6) + -30)|0; + $8 = (((257568 + ($$02<<4)|0)) + 4|0); + HEAP32[$8>>2] = $7; + $9 = (_GetScreenWidth()|0); + $10 = (($9) + -5)|0; + $11 = (257568 + ($$02<<4)|0); + HEAP32[$11>>2] = $10; + HEAP32[$2>>2] = 1; + $12 = (257768 + ($$02<<2)|0); + HEAP32[$12>>2] = 0; + $13 = (($$0141) + 1)|0; + $$1 = $13; + } else { + $$1 = $$0141; + } + $14 = (($$02) + 1)|0; + $exitcond = ($14|0)==(10); + if ($exitcond) { + break; + } else { + $$0141 = $$1;$$02 = $14; + } + } + return; +} +function _SnakeSpawn($0) { + $0 = $0|0; + var $$02627 = 0, $$028 = 0, $$1 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = 25200; + $2 = $1; + HEAP32[$2>>2] = -1; + $3 = (($1) + 4)|0; + $4 = $3; + HEAP32[$4>>2] = -1; + $5 = (_GetRandomValue(0,100)|0); + $6 = ($5|0)>($0|0); + if ($6) { + return; + } else { + $$02627 = 0;$$028 = 0; + } + while(1) { + $7 = (258704 + ($$028<<2)|0); + $8 = HEAP32[$7>>2]|0; + $9 = ($8|0)==(0); + $10 = ($$02627|0)<(1); + $or$cond = $10 & $9; + if ($or$cond) { + $11 = (_GetRandomValue(0,4)|0); + $12 = ($$02627|0)==(0); + if ($12) { + $13 = (25200 + ($$02627<<2)|0); + HEAP32[$13>>2] = $11; + } + $14 = (_GetScreenWidth()|0); + $15 = (($14) + -15)|0; + $16 = (258448 + ($$028<<4)|0); + HEAP32[$16>>2] = $15; + $17 = (_GetScreenHeight()|0); + $18 = (($17|0) / 5)&-1; + $19 = Math_imul($18, $11)|0; + $20 = (($19) + 25)|0; + $21 = (((258448 + ($$028<<4)|0)) + 4|0); + HEAP32[$21>>2] = $20; + HEAP32[$7>>2] = 1; + $22 = (258768 + ($$028<<2)|0); + HEAP32[$22>>2] = 0; + $23 = (($$02627) + 1)|0; + $$1 = $23; + } else { + $$1 = $$02627; + } + $24 = (($$028) + 1)|0; + $exitcond = ($24|0)==(16); + if ($exitcond) { + break; + } else { + $$02627 = $$1;$$028 = $24; + } + } + return; +} +function _WindSpawn() { + var $$0173 = 0, $$0182 = 0, $$1 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; + var $8 = 0, $9 = 0, $exitcond = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (_GetRandomValue(0,100)|0); + $1 = ($0|0)<(31); + if ($1) { + $$0173 = 0;$$0182 = 0; + } else { + return; + } + while(1) { + $2 = (258248 + ($$0173<<2)|0); + $3 = HEAP32[$2>>2]|0; + $4 = ($3|0)==(0); + $5 = ($$0182|0)<(1); + $or$cond = $5 & $4; + if ($or$cond) { + while(1) { + $6 = (_GetRandomValue(0,4)|0); + $7 = (_CheckArrayValue($6)|0); + $8 = ($7|0)==(0); + if ($8) { + break; + } + } + $9 = (_GetScreenHeight()|0); + $10 = (($9|0) / 5)&-1; + $11 = Math_imul($10, $6)|0; + $12 = (($11) + 25)|0; + $13 = (((258288 + ($$0173<<4)|0)) + 4|0); + HEAP32[$13>>2] = $12; + $14 = (_GetScreenWidth()|0); + $15 = (($14) + 5)|0; + $16 = (258288 + ($$0173<<4)|0); + HEAP32[$16>>2] = $15; + HEAP32[$2>>2] = 1; + $17 = (($$0182) + 1)|0; + $$1 = $17; + } else { + $$1 = $$0182; + } + $18 = (($$0173) + 1)|0; + $exitcond = ($18|0)==(10); + if ($exitcond) { + break; + } else { + $$0173 = $18;$$0182 = $$1; + } + } + return; +} +function _LeafSpawn() { + var $$$sink = 0, $$07076 = 0, $$078 = 0, $$1 = 0, $$169 = 0, $$2 = 0, $$3 = 0, $$4 = 0, $$sink = 0, $$sink$sink$sink = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0; + var $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0; + var $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, $exitcond = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (_GetRandomValue(0,2)|0); + $1 = 25184; + $2 = $1; + HEAP32[$2>>2] = -1; + $3 = (($1) + 4)|0; + $4 = $3; + HEAP32[$4>>2] = -1; + $$07076 = 0;$$078 = 0; + while(1) { + $5 = (261144 + ($$07076<<2)|0); + $6 = HEAP32[$5>>2]|0; + $7 = ($6|0)!=(0); + $8 = ($$078|0)>($0|0); + $or$cond = $8 | $7; + if ($or$cond) { + $$1 = $$078; + } else { + $9 = (_GetRandomValue(0,4)|0); + $10 = (_GetRandomValue(0,99)|0); + $11 = (_GetRandomValue(0,1)|0); + $12 = (333764 + ($$07076<<2)|0); + HEAP32[$12>>2] = $11; + L5: do { + switch ($$078|0) { + case 0: { + $19 = (_CheckArrayValue($9)|0); + $20 = ($19|0)==(0); + if ($20) { + $$3 = $9; + label = 16; + } else { + while(1) { + $21 = (_GetRandomValue(0,4)|0); + $22 = (_CheckArrayValue($21)|0); + $23 = ($22|0)==(0); + if ($23) { + $$3 = $21; + label = 16; + break; + } + } + } + break; + } + case 1: { + $17 = (($$078) + -1)|0; + $18 = (25184 + ($17<<2)|0); + $$169 = $9; + while(1) { + $24 = HEAP32[$18>>2]|0; + $25 = ($$169|0)==($24|0); + if (!($25)) { + $26 = (_CheckArrayValue($$169)|0); + $27 = ($26|0)==(0); + if ($27) { + $$3 = $$169; + label = 16; + break L5; + } + } + $28 = (_GetRandomValue(0,4)|0); + $$169 = $28; + } + break; + } + case 2: { + $13 = (($$078) + -1)|0; + $14 = (25184 + ($13<<2)|0); + $15 = (($$078) + -2)|0; + $16 = (25184 + ($15<<2)|0); + $$2 = $9; + while(1) { + $29 = HEAP32[$14>>2]|0; + $30 = ($$2|0)==($29|0); + if (!($30)) { + $31 = HEAP32[$16>>2]|0; + $32 = ($$2|0)==($31|0); + if (!($32)) { + $33 = (_CheckArrayValue($$2)|0); + $34 = ($33|0)==(0); + if ($34) { + $$3 = $$2; + label = 16; + break L5; + } + } + } + $35 = (_GetRandomValue(0,4)|0); + $$2 = $35; + } + break; + } + default: { + $$4 = $9; + } + } + } while(0); + if ((label|0) == 16) { + label = 0; + $36 = (25184 + ($$078<<2)|0); + HEAP32[$36>>2] = $$3; + $$4 = $$3; + } + $37 = (_GetScreenHeight()|0); + $38 = (($37|0) / 5)&-1; + $39 = Math_imul($38, $$4)|0; + $40 = (($39) + 30)|0; + $41 = (((260920 + ($$07076<<4)|0)) + 4|0); + HEAP32[$41>>2] = $40; + $42 = (_GetScreenWidth()|0); + $43 = (($42) + -18)|0; + $44 = (260920 + ($$07076<<4)|0); + HEAP32[$44>>2] = $43; + HEAP32[$5>>2] = 1; + $45 = ($10|0)<(25); + if ($45) { + $$sink$sink$sink = 0; + } else { + $46 = ($10|0)<(51); + $47 = ($10|0)<(76); + $$sink = $47 ? 2 : 3; + $$$sink = $46 ? 1 : $$sink; + $$sink$sink$sink = $$$sink; + } + $48 = (261200 + ($$07076<<2)|0); + HEAP32[$48>>2] = $$sink$sink$sink; + $49 = (($$078) + 1)|0; + $$1 = $49; + } + $50 = (($$07076) + 1)|0; + $exitcond = ($50|0)==(14); + if ($exitcond) { + break; + } else { + $$07076 = $50;$$078 = $$1; + } + } + return; +} +function _CheckArrayValue($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP32[6300]|0; + $2 = ($1|0)==($0|0); + $3 = HEAP32[(25204)>>2]|0; + $4 = ($3|0)==($0|0); + $or$cond = $2 | $4; + $5 = $or$cond&1; + return ($5|0); +} +function _DrawGameplayScreen() { + var $$011051147 = 0, $$011061169 = 0, $$011071168 = 0, $$011081167 = 0, $$011091166 = 0, $$011101165 = 0, $$011111164 = 0, $$011121163 = 0, $$011131162 = 0, $$011141161 = 0, $$011151160 = 0, $$011161158 = 0, $$011171157 = 0, $$011181156 = 0, $$011191155 = 0, $$011201154 = 0, $$011211153 = 0, $$011221152 = 0, $$011231151 = 0, $$011241150 = 0; + var $$011251149 = 0, $$011261148 = 0, $$01146 = 0, $$byval_copy319 = 0, $$byval_copy365 = 0, $$byval_copy366 = 0, $$sink6$sink11 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $1000 = 0, $1001 = 0, $1002 = 0, $1003 = 0, $1004 = 0, $1005 = 0, $1006 = 0, $1007 = 0, $1008 = 0; + var $1009 = 0, $101 = 0, $1010 = 0, $1011 = 0, $1012 = 0, $1013 = 0, $1014 = 0, $1015 = 0, $1016 = 0, $1017 = 0, $1018 = 0, $1019 = 0, $102 = 0, $1020 = 0, $1021 = 0, $1022 = 0, $1023 = 0, $1024 = 0, $1025 = 0, $1026 = 0; + var $1027 = 0, $1028 = 0, $1029 = 0, $103 = 0, $1030 = 0, $1031 = 0, $1032 = 0, $1033 = 0, $1034 = 0, $1035 = 0, $1036 = 0, $1037 = 0, $1038 = 0, $1039 = 0, $104 = 0, $1040 = 0, $1041 = 0, $1042 = 0, $1043 = 0, $1044 = 0; + var $1045 = 0, $1046 = 0, $1047 = 0, $1048 = 0, $1049 = 0, $105 = 0, $1050 = 0, $1051 = 0, $1052 = 0, $1053 = 0, $1054 = 0.0, $1055 = 0, $1056 = 0.0, $1057 = 0, $1058 = 0, $1059 = 0, $106 = 0, $1060 = 0, $1061 = 0, $1062 = 0; + var $1063 = 0, $1064 = 0, $1065 = 0, $1066 = 0, $1067 = 0, $1068 = 0, $1069 = 0, $107 = 0, $1070 = 0, $1071 = 0, $1072 = 0, $1073 = 0, $1074 = 0, $1075 = 0.0, $1076 = 0, $1077 = 0, $1078 = 0, $1079 = 0.0, $108 = 0, $1080 = 0; + var $1081 = 0, $1082 = 0, $1083 = 0, $1084 = 0, $1085 = 0, $1086 = 0, $1087 = 0, $1088 = 0, $1089 = 0, $109 = 0, $1090 = 0, $1091 = 0, $1092 = 0, $1093 = 0, $1094 = 0, $1095 = 0, $1096 = 0, $1097 = 0, $1098 = 0, $1099 = 0; + var $11 = 0, $110 = 0, $1100 = 0, $1101 = 0, $1102 = 0, $1103 = 0, $1104 = 0, $1105 = 0, $1106 = 0, $1107 = 0, $1108 = 0, $1109 = 0, $111 = 0, $1110 = 0, $1111 = 0, $1112 = 0, $1113 = 0, $1114 = 0, $1115 = 0, $1116 = 0; + var $1117 = 0, $1118 = 0, $1119 = 0, $112 = 0, $1120 = 0, $1121 = 0, $1122 = 0, $1123 = 0, $1124 = 0, $1125 = 0, $1126 = 0, $1127 = 0, $1128 = 0, $1129 = 0, $113 = 0, $1130 = 0, $1131 = 0, $1132 = 0, $1133 = 0, $1134 = 0; + var $1135 = 0, $1136 = 0, $1137 = 0, $1138 = 0, $1139 = 0, $114 = 0, $1140 = 0.0, $1141 = 0, $1142 = 0, $1143 = 0.0, $1144 = 0, $1145 = 0, $1146 = 0.0, $1147 = 0.0, $1148 = 0, $1149 = 0.0, $115 = 0, $1150 = 0, $1151 = 0.0, $1152 = 0; + var $1153 = 0, $1154 = 0.0, $1155 = 0, $1156 = 0, $1157 = 0, $1158 = 0, $1159 = 0.0, $116 = 0, $1160 = 0, $1161 = 0, $1162 = 0.0, $1163 = 0, $1164 = 0, $1165 = 0.0, $1166 = 0.0, $1167 = 0, $1168 = 0.0, $1169 = 0, $117 = 0, $1170 = 0.0; + var $1171 = 0, $1172 = 0, $1173 = 0.0, $1174 = 0, $1175 = 0, $1176 = 0, $1177 = 0, $1178 = 0.0, $1179 = 0, $118 = 0, $1180 = 0, $1181 = 0.0, $1182 = 0, $1183 = 0, $1184 = 0.0, $1185 = 0.0, $1186 = 0, $1187 = 0.0, $1188 = 0, $1189 = 0.0; + var $119 = 0, $1190 = 0, $1191 = 0, $1192 = 0.0, $1193 = 0, $1194 = 0, $1195 = 0, $1196 = 0, $1197 = 0.0, $1198 = 0, $1199 = 0, $12 = 0, $120 = 0, $1200 = 0.0, $1201 = 0, $1202 = 0, $1203 = 0.0, $1204 = 0.0, $1205 = 0, $1206 = 0.0; + var $1207 = 0, $1208 = 0.0, $1209 = 0, $121 = 0, $1210 = 0, $1211 = 0.0, $1212 = 0, $1213 = 0, $1214 = 0, $1215 = 0, $1216 = 0.0, $1217 = 0, $1218 = 0, $1219 = 0.0, $122 = 0, $1220 = 0, $1221 = 0, $1222 = 0.0, $1223 = 0.0, $1224 = 0; + var $1225 = 0.0, $1226 = 0, $1227 = 0.0, $1228 = 0, $1229 = 0, $123 = 0, $1230 = 0.0, $1231 = 0, $1232 = 0, $1233 = 0, $1234 = 0, $1235 = 0, $1236 = 0, $1237 = 0, $1238 = 0, $1239 = 0, $124 = 0, $1240 = 0, $1241 = 0, $1242 = 0; + var $1243 = 0.0, $1244 = 0, $1245 = 0, $1246 = 0.0, $1247 = 0, $1248 = 0, $1249 = 0.0, $125 = 0, $1250 = 0, $1251 = 0, $1252 = 0.0, $1253 = 0, $1254 = 0, $1255 = 0.0, $1256 = 0, $1257 = 0, $1258 = 0, $1259 = 0, $126 = 0, $1260 = 0; + var $1261 = 0, $1262 = 0, $1263 = 0, $1264 = 0, $1265 = 0, $1266 = 0, $1267 = 0, $1268 = 0.0, $1269 = 0, $127 = 0, $1270 = 0, $1271 = 0.0, $1272 = 0, $1273 = 0, $1274 = 0.0, $1275 = 0.0, $1276 = 0, $1277 = 0.0, $1278 = 0, $1279 = 0.0; + var $128 = 0, $1280 = 0, $1281 = 0, $1282 = 0.0, $1283 = 0, $1284 = 0, $1285 = 0, $1286 = 0, $1287 = 0, $1288 = 0, $1289 = 0, $129 = 0, $1290 = 0, $1291 = 0, $1292 = 0, $1293 = 0, $1294 = 0, $1295 = 0.0, $1296 = 0, $1297 = 0; + var $1298 = 0.0, $1299 = 0, $13 = 0, $130 = 0, $1300 = 0, $1301 = 0.0, $1302 = 0.0, $1303 = 0, $1304 = 0.0, $1305 = 0, $1306 = 0.0, $1307 = 0, $1308 = 0, $1309 = 0.0, $131 = 0, $1310 = 0, $1311 = 0.0, $1312 = 0, $1313 = 0, $1314 = 0; + var $1315 = 0, $1316 = 0, $1317 = 0.0, $1318 = 0, $1319 = 0, $132 = 0, $1320 = 0.0, $1321 = 0, $1322 = 0, $1323 = 0.0, $1324 = 0.0, $1325 = 0, $1326 = 0.0, $1327 = 0, $1328 = 0.0, $1329 = 0.0, $133 = 0, $1330 = 0, $1331 = 0.0, $1332 = 0; + var $1333 = 0, $1334 = 0.0, $1335 = 0, $1336 = 0, $1337 = 0, $1338 = 0, $1339 = 0, $134 = 0, $1340 = 0, $1341 = 0, $1342 = 0.0, $1343 = 0.0, $1344 = 0, $1345 = 0, $1346 = 0, $1347 = 0, $1348 = 0, $1349 = 0.0, $135 = 0, $1350 = 0; + var $1351 = 0, $1352 = 0, $1353 = 0, $1354 = 0, $1355 = 0, $1356 = 0, $1357 = 0, $1358 = 0.0, $1359 = 0.0, $136 = 0, $1360 = 0, $1361 = 0, $1362 = 0, $1363 = 0, $1364 = 0, $1365 = 0.0, $1366 = 0.0, $1367 = 0, $1368 = 0, $1369 = 0; + var $137 = 0, $1370 = 0, $1371 = 0, $1372 = 0, $1373 = 0, $1374 = 0, $1375 = 0.0, $1376 = 0, $1377 = 0, $1378 = 0, $1379 = 0, $138 = 0, $1380 = 0, $1381 = 0, $1382 = 0, $1383 = 0, $1384 = 0, $1385 = 0, $1386 = 0, $1387 = 0; + var $1388 = 0, $1389 = 0, $139 = 0, $1390 = 0, $1391 = 0.0, $1392 = 0.0, $1393 = 0, $1394 = 0, $1395 = 0, $1396 = 0, $1397 = 0, $1398 = 0, $1399 = 0, $14 = 0, $140 = 0, $1400 = 0, $1401 = 0, $1402 = 0.0, $1403 = 0, $1404 = 0; + var $1405 = 0, $1406 = 0, $1407 = 0, $1408 = 0, $1409 = 0, $141 = 0, $1410 = 0, $1411 = 0, $1412 = 0, $1413 = 0, $1414 = 0, $1415 = 0, $1416 = 0, $1417 = 0, $1418 = 0, $1419 = 0, $142 = 0, $1420 = 0, $1421 = 0, $1422 = 0; + var $1423 = 0, $1424 = 0, $1425 = 0, $1426 = 0, $1427 = 0, $1428 = 0.0, $1429 = 0, $143 = 0, $1430 = 0, $1431 = 0, $1432 = 0, $1433 = 0, $1434 = 0, $1435 = 0.0, $1436 = 0, $1437 = 0, $1438 = 0, $1439 = 0, $144 = 0, $1440 = 0; + var $1441 = 0, $1442 = 0, $1443 = 0.0, $1444 = 0.0, $1445 = 0, $1446 = 0, $1447 = 0.0, $1448 = 0, $1449 = 0.0, $145 = 0, $1450 = 0.0, $1451 = 0.0, $1452 = 0, $1453 = 0.0, $1454 = 0.0, $1455 = 0, $1456 = 0, $1457 = 0, $1458 = 0.0, $1459 = 0; + var $146 = 0, $1460 = 0, $1461 = 0, $1462 = 0, $1463 = 0, $1464 = 0, $1465 = 0, $1466 = 0.0, $1467 = 0, $1468 = 0, $1469 = 0, $147 = 0, $1470 = 0, $1471 = 0, $1472 = 0, $1473 = 0, $1474 = 0, $1475 = 0, $1476 = 0, $1477 = 0; + var $1478 = 0, $1479 = 0, $148 = 0, $1480 = 0, $1481 = 0.0, $1482 = 0.0, $1483 = 0, $1484 = 0, $1485 = 0.0, $1486 = 0, $1487 = 0.0, $1488 = 0.0, $1489 = 0.0, $149 = 0, $1490 = 0, $1491 = 0.0, $1492 = 0.0, $1493 = 0, $1494 = 0, $1495 = 0; + var $1496 = 0.0, $1497 = 0, $1498 = 0, $1499 = 0, $15 = 0, $150 = 0, $1500 = 0, $1501 = 0, $1502 = 0, $1503 = 0, $1504 = 0, $1505 = 0, $1506 = 0.0, $1507 = 0.0, $1508 = 0, $1509 = 0, $151 = 0, $1510 = 0.0, $1511 = 0, $1512 = 0.0; + var $1513 = 0.0, $1514 = 0.0, $1515 = 0, $1516 = 0.0, $1517 = 0.0, $1518 = 0, $1519 = 0, $152 = 0, $1520 = 0, $1521 = 0.0, $1522 = 0, $1523 = 0, $1524 = 0, $1525 = 0, $1526 = 0, $1527 = 0, $1528 = 0, $1529 = 0, $153 = 0, $1530 = 0; + var $1531 = 0.0, $1532 = 0.0, $1533 = 0, $1534 = 0, $1535 = 0.0, $1536 = 0, $1537 = 0.0, $1538 = 0.0, $1539 = 0.0, $154 = 0, $1540 = 0, $1541 = 0.0, $1542 = 0.0, $1543 = 0, $1544 = 0, $1545 = 0, $1546 = 0.0, $1547 = 0, $1548 = 0, $1549 = 0; + var $155 = 0, $1550 = 0, $1551 = 0, $1552 = 0, $1553 = 0, $1554 = 0, $1555 = 0, $1556 = 0, $1557 = 0, $1558 = 0, $1559 = 0, $156 = 0, $1560 = 0, $1561 = 0.0, $1562 = 0, $1563 = 0.0, $1564 = 0.0, $1565 = 0, $1566 = 0.0, $1567 = 0; + var $1568 = 0, $1569 = 0, $157 = 0, $1570 = 0, $1571 = 0, $1572 = 0.0, $1573 = 0.0, $1574 = 0.0, $1575 = 0, $1576 = 0, $1577 = 0, $1578 = 0.0, $1579 = 0, $158 = 0, $1580 = 0, $1581 = 0, $1582 = 0, $1583 = 0, $1584 = 0, $1585 = 0.0; + var $1586 = 0.0, $1587 = 0.0, $1588 = 0, $1589 = 0, $159 = 0, $1590 = 0, $1591 = 0.0, $1592 = 0, $1593 = 0, $1594 = 0, $1595 = 0, $1596 = 0, $1597 = 0, $1598 = 0, $1599 = 0.0, $16 = 0, $160 = 0, $1600 = 0, $1601 = 0, $1602 = 0; + var $1603 = 0, $1604 = 0, $1605 = 0, $1606 = 0, $1607 = 0, $1608 = 0, $1609 = 0, $161 = 0, $1610 = 0, $1611 = 0.0, $1612 = 0, $1613 = 0.0, $1614 = 0.0, $1615 = 0, $1616 = 0.0, $1617 = 0, $1618 = 0, $1619 = 0, $162 = 0, $1620 = 0; + var $1621 = 0, $1622 = 0, $1623 = 0.0, $1624 = 0, $1625 = 0, $1626 = 0, $1627 = 0.0, $1628 = 0, $1629 = 0.0, $163 = 0, $1630 = 0, $1631 = 0, $1632 = 0, $1633 = 0, $1634 = 0, $1635 = 0, $1636 = 0, $1637 = 0, $1638 = 0, $1639 = 0; + var $164 = 0, $1640 = 0, $1641 = 0, $1642 = 0, $1643 = 0, $1644 = 0.0, $1645 = 0, $1646 = 0, $1647 = 0, $1648 = 0.0, $1649 = 0, $165 = 0, $1650 = 0.0, $1651 = 0, $1652 = 0, $1653 = 0, $1654 = 0, $1655 = 0, $1656 = 0, $1657 = 0; + var $1658 = 0, $1659 = 0.0, $166 = 0, $1660 = 0, $1661 = 0, $1662 = 0, $1663 = 0.0, $1664 = 0, $1665 = 0.0, $1666 = 0, $1667 = 0, $1668 = 0, $1669 = 0, $167 = 0, $1670 = 0, $1671 = 0, $1672 = 0, $1673 = 0, $1674 = 0, $1675 = 0; + var $1676 = 0, $1677 = 0.0, $1678 = 0, $1679 = 0, $168 = 0, $1680 = 0, $1681 = 0.0, $1682 = 0, $1683 = 0.0, $1684 = 0, $1685 = 0, $1686 = 0, $1687 = 0, $1688 = 0, $1689 = 0, $169 = 0, $1690 = 0, $1691 = 0, $1692 = 0.0, $1693 = 0; + var $1694 = 0, $1695 = 0, $1696 = 0.0, $1697 = 0, $1698 = 0.0, $1699 = 0, $17 = 0, $170 = 0, $1700 = 0, $1701 = 0, $1702 = 0, $1703 = 0, $1704 = 0, $1705 = 0, $1706 = 0, $1707 = 0, $1708 = 0, $1709 = 0, $171 = 0, $1710 = 0.0; + var $1711 = 0, $1712 = 0, $1713 = 0, $1714 = 0.0, $1715 = 0, $1716 = 0.0, $1717 = 0, $1718 = 0, $1719 = 0, $172 = 0, $1720 = 0, $1721 = 0, $1722 = 0, $1723 = 0, $1724 = 0, $1725 = 0.0, $1726 = 0, $1727 = 0, $1728 = 0, $1729 = 0.0; + var $173 = 0, $1730 = 0, $1731 = 0.0, $1732 = 0, $1733 = 0, $1734 = 0, $1735 = 0, $1736 = 0, $1737 = 0, $1738 = 0, $1739 = 0, $174 = 0, $1740 = 0, $1741 = 0, $1742 = 0, $1743 = 0.0, $1744 = 0, $1745 = 0, $1746 = 0, $1747 = 0.0; + var $1748 = 0, $1749 = 0.0, $175 = 0, $1750 = 0, $1751 = 0, $1752 = 0, $1753 = 0, $1754 = 0, $1755 = 0, $1756 = 0, $1757 = 0, $1758 = 0.0, $1759 = 0, $176 = 0, $1760 = 0, $1761 = 0, $1762 = 0.0, $1763 = 0, $1764 = 0.0, $1765 = 0; + var $1766 = 0, $1767 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0; + var $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0; + var $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0; + var $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0; + var $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0; + var $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0; + var $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0; + var $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0; + var $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0; + var $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0; + var $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0.0, $365 = 0, $366 = 0, $367 = 0.0, $368 = 0, $369 = 0, $37 = 0, $370 = 0.0, $371 = 0.0, $372 = 0; + var $373 = 0.0, $374 = 0, $375 = 0.0, $376 = 0, $377 = 0.0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0.0, $383 = 0, $384 = 0, $385 = 0.0, $386 = 0, $387 = 0, $388 = 0.0, $389 = 0.0, $39 = 0, $390 = 0; + var $391 = 0.0, $392 = 0, $393 = 0.0, $394 = 0, $395 = 0.0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0.0, $401 = 0, $402 = 0, $403 = 0.0, $404 = 0, $405 = 0, $406 = 0.0, $407 = 0.0, $408 = 0; + var $409 = 0.0, $41 = 0, $410 = 0, $411 = 0.0, $412 = 0, $413 = 0.0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0.0, $419 = 0, $42 = 0, $420 = 0, $421 = 0.0, $422 = 0, $423 = 0, $424 = 0.0, $425 = 0.0, $426 = 0; + var $427 = 0.0, $428 = 0, $429 = 0.0, $43 = 0, $430 = 0, $431 = 0.0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0.0, $437 = 0, $438 = 0, $439 = 0.0, $44 = 0, $440 = 0, $441 = 0, $442 = 0.0, $443 = 0.0, $444 = 0; + var $445 = 0.0, $446 = 0, $447 = 0.0, $448 = 0, $449 = 0.0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0.0; + var $463 = 0, $464 = 0, $465 = 0.0, $466 = 0, $467 = 0, $468 = 0.0, $469 = 0.0, $47 = 0, $470 = 0, $471 = 0.0, $472 = 0, $473 = 0.0, $474 = 0.0, $475 = 0, $476 = 0.0, $477 = 0, $478 = 0, $479 = 0.0, $48 = 0, $480 = 0; + var $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0; + var $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0.0, $512 = 0, $513 = 0, $514 = 0.0, $515 = 0, $516 = 0; + var $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0, $531 = 0, $532 = 0.0, $533 = 0, $534 = 0; + var $535 = 0.0, $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0, $549 = 0.0, $55 = 0, $550 = 0, $551 = 0, $552 = 0.0; + var $553 = 0, $554 = 0, $555 = 0.0, $556 = 0, $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0, $562 = 0, $563 = 0, $564 = 0, $565 = 0, $566 = 0, $567 = 0, $568 = 0.0, $569 = 0, $57 = 0, $570 = 0; + var $571 = 0, $572 = 0, $573 = 0, $574 = 0, $575 = 0, $576 = 0, $577 = 0, $578 = 0, $579 = 0.0, $58 = 0, $580 = 0, $581 = 0, $582 = 0, $583 = 0, $584 = 0, $585 = 0, $586 = 0, $587 = 0, $588 = 0, $589 = 0; + var $59 = 0, $590 = 0, $591 = 0, $592 = 0, $593 = 0, $594 = 0, $595 = 0, $596 = 0, $597 = 0, $598 = 0, $599 = 0, $6 = 0, $60 = 0, $600 = 0, $601 = 0, $602 = 0, $603 = 0, $604 = 0, $605 = 0, $606 = 0; + var $607 = 0, $608 = 0, $609 = 0, $61 = 0, $610 = 0, $611 = 0, $612 = 0, $613 = 0, $614 = 0, $615 = 0, $616 = 0, $617 = 0, $618 = 0, $619 = 0, $62 = 0, $620 = 0, $621 = 0, $622 = 0, $623 = 0, $624 = 0; + var $625 = 0, $626 = 0, $627 = 0, $628 = 0, $629 = 0, $63 = 0, $630 = 0, $631 = 0, $632 = 0, $633 = 0, $634 = 0, $635 = 0, $636 = 0, $637 = 0.0, $638 = 0, $639 = 0, $64 = 0, $640 = 0, $641 = 0, $642 = 0; + var $643 = 0, $644 = 0.0, $645 = 0, $646 = 0, $647 = 0, $648 = 0, $649 = 0, $65 = 0, $650 = 0, $651 = 0, $652 = 0, $653 = 0, $654 = 0, $655 = 0, $656 = 0, $657 = 0, $658 = 0, $659 = 0, $66 = 0, $660 = 0; + var $661 = 0, $662 = 0, $663 = 0, $664 = 0, $665 = 0, $666 = 0, $667 = 0, $668 = 0, $669 = 0, $67 = 0, $670 = 0, $671 = 0, $672 = 0, $673 = 0, $674 = 0, $675 = 0, $676 = 0, $677 = 0, $678 = 0, $679 = 0; + var $68 = 0, $680 = 0, $681 = 0, $682 = 0, $683 = 0, $684 = 0, $685 = 0, $686 = 0, $687 = 0, $688 = 0, $689 = 0, $69 = 0, $690 = 0, $691 = 0, $692 = 0, $693 = 0, $694 = 0, $695 = 0, $696 = 0, $697 = 0; + var $698 = 0, $699 = 0, $7 = 0, $70 = 0, $700 = 0, $701 = 0.0, $702 = 0, $703 = 0.0, $704 = 0, $705 = 0, $706 = 0, $707 = 0, $708 = 0, $709 = 0, $71 = 0, $710 = 0.0, $711 = 0, $712 = 0, $713 = 0, $714 = 0; + var $715 = 0, $716 = 0, $717 = 0, $718 = 0, $719 = 0, $72 = 0, $720 = 0, $721 = 0, $722 = 0, $723 = 0, $724 = 0, $725 = 0, $726 = 0, $727 = 0, $728 = 0.0, $729 = 0, $73 = 0, $730 = 0.0, $731 = 0, $732 = 0; + var $733 = 0, $734 = 0, $735 = 0, $736 = 0, $737 = 0, $738 = 0, $739 = 0, $74 = 0, $740 = 0, $741 = 0, $742 = 0, $743 = 0, $744 = 0, $745 = 0, $746 = 0, $747 = 0, $748 = 0, $749 = 0.0, $75 = 0, $750 = 0.0; + var $751 = 0.0, $752 = 0.0, $753 = 0.0, $754 = 0.0, $755 = 0.0, $756 = 0.0, $757 = 0.0, $758 = 0.0, $759 = 0, $76 = 0, $760 = 0, $761 = 0, $762 = 0, $763 = 0, $764 = 0, $765 = 0.0, $766 = 0, $767 = 0, $768 = 0.0, $769 = 0; + var $77 = 0, $770 = 0, $771 = 0, $772 = 0, $773 = 0.0, $774 = 0, $775 = 0, $776 = 0.0, $777 = 0, $778 = 0, $779 = 0.0, $78 = 0, $780 = 0.0, $781 = 0, $782 = 0.0, $783 = 0, $784 = 0.0, $785 = 0.0, $786 = 0, $787 = 0.0; + var $788 = 0, $789 = 0, $79 = 0, $790 = 0.0, $791 = 0, $792 = 0, $793 = 0, $794 = 0, $795 = 0, $796 = 0, $797 = 0, $798 = 0, $799 = 0, $8 = 0, $80 = 0, $800 = 0, $801 = 0, $802 = 0, $803 = 0, $804 = 0; + var $805 = 0, $806 = 0, $807 = 0.0, $808 = 0, $809 = 0, $81 = 0, $810 = 0, $811 = 0.0, $812 = 0, $813 = 0, $814 = 0.0, $815 = 0, $816 = 0, $817 = 0, $818 = 0.0, $819 = 0, $82 = 0, $820 = 0, $821 = 0.0, $822 = 0; + var $823 = 0, $824 = 0, $825 = 0.0, $826 = 0, $827 = 0, $828 = 0.0, $829 = 0, $83 = 0, $830 = 0, $831 = 0, $832 = 0.0, $833 = 0, $834 = 0, $835 = 0, $836 = 0.0, $837 = 0, $838 = 0, $839 = 0, $84 = 0, $840 = 0.0; + var $841 = 0, $842 = 0, $843 = 0, $844 = 0.0, $845 = 0, $846 = 0, $847 = 0, $848 = 0.0, $849 = 0, $85 = 0, $850 = 0, $851 = 0, $852 = 0.0, $853 = 0, $854 = 0, $855 = 0, $856 = 0.0, $857 = 0, $858 = 0, $859 = 0; + var $86 = 0, $860 = 0.0, $861 = 0, $862 = 0, $863 = 0, $864 = 0.0, $865 = 0, $866 = 0, $867 = 0, $868 = 0, $869 = 0.0, $87 = 0, $870 = 0, $871 = 0, $872 = 0.0, $873 = 0, $874 = 0, $875 = 0.0, $876 = 0.0, $877 = 0; + var $878 = 0.0, $879 = 0, $88 = 0, $880 = 0.0, $881 = 0, $882 = 0.0, $883 = 0, $884 = 0, $885 = 0, $886 = 0.0, $887 = 0, $888 = 0, $889 = 0, $89 = 0, $890 = 0.0, $891 = 0, $892 = 0, $893 = 0, $894 = 0, $895 = 0; + var $896 = 0, $897 = 0, $898 = 0, $899 = 0, $9 = 0, $90 = 0, $900 = 0, $901 = 0, $902 = 0, $903 = 0, $904 = 0, $905 = 0, $906 = 0, $907 = 0, $908 = 0, $909 = 0.0, $91 = 0, $910 = 0, $911 = 0, $912 = 0.0; + var $913 = 0, $914 = 0, $915 = 0, $916 = 0, $917 = 0, $918 = 0.0, $919 = 0, $92 = 0, $920 = 0, $921 = 0.0, $922 = 0, $923 = 0, $924 = 0, $925 = 0, $926 = 0, $927 = 0, $928 = 0, $929 = 0, $93 = 0, $930 = 0; + var $931 = 0, $932 = 0, $933 = 0, $934 = 0, $935 = 0, $936 = 0, $937 = 0, $938 = 0, $939 = 0, $94 = 0, $940 = 0, $941 = 0, $942 = 0, $943 = 0, $944 = 0, $945 = 0, $946 = 0, $947 = 0, $948 = 0, $949 = 0; + var $95 = 0, $950 = 0, $951 = 0, $952 = 0, $953 = 0, $954 = 0, $955 = 0, $956 = 0, $957 = 0, $958 = 0, $959 = 0, $96 = 0, $960 = 0, $961 = 0, $962 = 0, $963 = 0, $964 = 0, $965 = 0.0, $966 = 0, $967 = 0; + var $968 = 0, $969 = 0, $97 = 0, $970 = 0, $971 = 0, $972 = 0, $973 = 0, $974 = 0, $975 = 0, $976 = 0.0, $977 = 0.0, $978 = 0.0, $979 = 0, $98 = 0, $980 = 0, $981 = 0, $982 = 0, $983 = 0, $984 = 0, $985 = 0; + var $986 = 0, $987 = 0, $988 = 0.0, $989 = 0, $99 = 0, $990 = 0, $991 = 0, $992 = 0.0, $993 = 0, $994 = 0, $995 = 0, $996 = 0, $997 = 0, $998 = 0, $999 = 0, $atlas01$byval_copy318 = 0, $curFrame3$sink$sink = 0, $exitcond = 0, $exitcond1171 = 0, $exitcond1172 = 0; + var $exitcond1173 = 0, $exitcond1174 = 0, $exitcond1175 = 0, $exitcond1176 = 0, $exitcond1177 = 0, $exitcond1178 = 0, $exitcond1179 = 0, $exitcond1180 = 0, $exitcond1181 = 0, $exitcond1182 = 0, $exitcond1183 = 0, $exitcond1184 = 0, $exitcond1185 = 0, $exitcond1186 = 0, $exitcond1187 = 0, $exitcond1188 = 0, $exitcond1189 = 0, $exitcond1190 = 0, $font$byval_copy364 = 0, $or$cond = 0; + var $or$cond14 = 0, $or$cond16 = 0, $or$cond18 = 0, $or$cond20 = 0, $or$cond22 = 0, $or$cond24 = 0, $or$cond26 = 0, $or$cond28 = 0, $or$cond30 = 0, $or$cond32 = 0, $or$cond34 = 0, $or$cond36 = 0, $or$cond38 = 0, $or$cond40 = 0, $or$cond42 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer4 = 0, $vararg_buffer7 = 0; + var dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 3120|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(3120|0); + $$byval_copy366 = sp + 2784|0; + $$byval_copy365 = sp + 2776|0; + $font$byval_copy364 = sp + 2744|0; + $$byval_copy319 = sp + 2328|0; + $atlas01$byval_copy318 = sp + 2300|0; + $vararg_buffer10 = sp + 32|0; + $vararg_buffer7 = sp + 24|0; + $vararg_buffer4 = sp + 16|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $0 = sp + 2728|0; + $1 = sp + 2712|0; + $2 = sp + 2704|0; + $3 = sp + 2688|0; + $4 = sp + 2672|0; + $5 = sp + 2664|0; + $6 = sp + 3108|0; + $7 = sp + 3104|0; + $8 = sp + 2648|0; + $9 = sp + 2632|0; + $10 = sp + 2624|0; + $11 = sp + 3100|0; + $12 = sp + 3096|0; + $13 = sp + 2608|0; + $14 = sp + 2592|0; + $15 = sp + 2584|0; + $16 = sp + 3092|0; + $17 = sp + 3088|0; + $18 = sp + 2568|0; + $19 = sp + 2552|0; + $20 = sp + 2544|0; + $21 = sp + 3084|0; + $22 = sp + 3080|0; + $23 = sp + 2528|0; + $24 = sp + 2512|0; + $25 = sp + 2504|0; + $26 = sp + 3076|0; + $27 = sp + 3072|0; + $28 = sp + 2488|0; + $29 = sp + 2472|0; + $30 = sp + 2464|0; + $31 = sp + 3068|0; + $32 = sp + 2448|0; + $33 = sp + 2432|0; + $34 = sp + 2424|0; + $35 = sp + 2408|0; + $36 = sp + 2392|0; + $37 = sp + 2384|0; + $38 = sp + 2368|0; + $39 = sp + 2352|0; + $40 = sp + 2320|0; + $41 = sp + 2296|0; + $42 = sp + 2288|0; + $43 = sp + 2280|0; + $44 = sp + 2272|0; + $45 = sp + 2264|0; + $46 = sp + 2248|0; + $47 = sp + 2240|0; + $48 = sp + 2232|0; + $49 = sp + 2216|0; + $50 = sp + 2208|0; + $51 = sp + 2200|0; + $52 = sp + 2184|0; + $53 = sp + 2168|0; + $54 = sp + 2152|0; + $55 = sp + 2144|0; + $56 = sp + 2136|0; + $57 = sp + 2120|0; + $58 = sp + 2104|0; + $59 = sp + 2096|0; + $60 = sp + 2080|0; + $61 = sp + 2064|0; + $62 = sp + 2056|0; + $63 = sp + 2040|0; + $64 = sp + 2032|0; + $65 = sp + 2024|0; + $66 = sp + 2016|0; + $67 = sp + 2008|0; + $68 = sp + 1992|0; + $69 = sp + 1984|0; + $70 = sp + 1976|0; + $71 = sp + 1968|0; + $72 = sp + 1960|0; + $73 = sp + 1944|0; + $74 = sp + 1936|0; + $75 = sp + 1928|0; + $76 = sp + 1920|0; + $77 = sp + 1912|0; + $78 = sp + 1896|0; + $79 = sp + 1888|0; + $80 = sp + 1880|0; + $81 = sp + 1864|0; + $82 = sp + 1848|0; + $83 = sp + 1840|0; + $84 = sp + 3064|0; + $85 = sp + 1824|0; + $86 = sp + 1816|0; + $87 = sp + 1808|0; + $88 = sp + 1792|0; + $89 = sp + 1784|0; + $90 = sp + 1776|0; + $91 = sp + 1760|0; + $92 = sp + 1752|0; + $93 = sp + 1744|0; + $94 = sp + 1728|0; + $95 = sp + 1720|0; + $96 = sp + 1712|0; + $97 = sp + 1696|0; + $98 = sp + 1688|0; + $99 = sp + 1680|0; + $100 = sp + 1664|0; + $101 = sp + 1656|0; + $102 = sp + 1648|0; + $103 = sp + 1632|0; + $104 = sp + 1624|0; + $105 = sp + 1616|0; + $106 = sp + 1600|0; + $107 = sp + 1592|0; + $108 = sp + 1584|0; + $109 = sp + 1568|0; + $110 = sp + 1552|0; + $111 = sp + 1544|0; + $112 = sp + 3060|0; + $113 = sp + 1536|0; + $114 = sp + 1528|0; + $115 = sp + 1520|0; + $116 = sp + 1504|0; + $117 = sp + 1488|0; + $118 = sp + 1480|0; + $119 = sp + 1472|0; + $120 = sp + 1464|0; + $121 = sp + 1456|0; + $122 = sp + 1440|0; + $123 = sp + 1432|0; + $124 = sp + 1424|0; + $125 = sp + 1408|0; + $126 = sp + 1400|0; + $127 = sp + 3056|0; + $128 = sp + 3052|0; + $129 = sp + 1384|0; + $130 = sp + 1376|0; + $131 = sp + 3048|0; + $132 = sp + 3044|0; + $133 = sp + 1360|0; + $134 = sp + 1344|0; + $135 = sp + 1336|0; + $136 = sp + 3040|0; + $137 = sp + 1320|0; + $138 = sp + 1304|0; + $139 = sp + 1296|0; + $140 = sp + 3036|0; + $141 = sp + 1288|0; + $142 = sp + 1280|0; + $143 = sp + 1264|0; + $144 = sp + 1248|0; + $145 = sp + 1240|0; + $146 = sp + 1232|0; + $147 = sp + 1216|0; + $148 = sp + 1200|0; + $149 = sp + 1192|0; + $150 = sp + 1184|0; + $151 = sp + 1168|0; + $152 = sp + 1160|0; + $153 = sp + 1144|0; + $154 = sp + 1136|0; + $155 = sp + 1120|0; + $156 = sp + 1104|0; + $157 = sp + 1096|0; + $158 = sp + 1088|0; + $159 = sp + 1072|0; + $160 = sp + 1064|0; + $161 = sp + 1056|0; + $162 = sp + 1040|0; + $163 = sp + 1024|0; + $164 = sp + 1016|0; + $165 = sp + 1008|0; + $166 = sp + 1000|0; + $167 = sp + 992|0; + $168 = sp + 3032|0; + $169 = sp + 3028|0; + $170 = sp + 3024|0; + $171 = sp + 3020|0; + $172 = sp + 3016|0; + $173 = sp + 3012|0; + $174 = sp + 3008|0; + $175 = sp + 3004|0; + $176 = sp + 976|0; + $177 = sp + 960|0; + $178 = sp + 952|0; + $179 = sp + 3000|0; + $180 = sp + 936|0; + $181 = sp + 920|0; + $182 = sp + 912|0; + $183 = sp + 2996|0; + $184 = sp + 896|0; + $185 = sp + 880|0; + $186 = sp + 872|0; + $187 = sp + 2992|0; + $188 = sp + 856|0; + $189 = sp + 840|0; + $190 = sp + 832|0; + $191 = sp + 2988|0; + $192 = sp + 816|0; + $193 = sp + 800|0; + $194 = sp + 792|0; + $195 = sp + 2984|0; + $196 = sp + 2980|0; + $197 = sp + 784|0; + $198 = sp + 768|0; + $199 = sp + 752|0; + $200 = sp + 744|0; + $201 = sp + 2976|0; + $202 = sp + 728|0; + $203 = sp + 712|0; + $204 = sp + 704|0; + $205 = sp + 2972|0; + $206 = sp + 688|0; + $207 = sp + 672|0; + $208 = sp + 664|0; + $209 = sp + 2968|0; + $210 = sp + 648|0; + $211 = sp + 632|0; + $212 = sp + 624|0; + $213 = sp + 2964|0; + $214 = sp + 616|0; + $215 = sp + 600|0; + $216 = sp + 584|0; + $217 = sp + 576|0; + $218 = sp + 2960|0; + $219 = sp + 568|0; + $220 = sp + 2956|0; + $221 = sp + 2952|0; + $222 = sp + 552|0; + $223 = sp + 536|0; + $224 = sp + 528|0; + $225 = sp + 520|0; + $226 = sp + 504|0; + $227 = sp + 488|0; + $228 = sp + 480|0; + $229 = sp + 2948|0; + $230 = sp + 472|0; + $231 = sp + 456|0; + $232 = sp + 440|0; + $233 = sp + 432|0; + $234 = sp + 2944|0; + $235 = sp + 424|0; + $236 = sp + 408|0; + $237 = sp + 392|0; + $238 = sp + 384|0; + $239 = sp + 376|0; + $240 = sp + 360|0; + $241 = sp + 344|0; + $242 = sp + 336|0; + $243 = sp + 328|0; + $244 = sp + 312|0; + $245 = sp + 296|0; + $246 = sp + 288|0; + $247 = sp + 2940|0; + $248 = sp + 2936|0; + $249 = sp + 272|0; + $250 = sp + 256|0; + $251 = sp + 248|0; + $252 = sp + 2932|0; + $253 = sp + 240|0; + $254 = sp + 224|0; + $255 = sp + 208|0; + $256 = sp + 200|0; + $257 = sp + 2928|0; + $258 = sp + 2924|0; + $259 = sp + 184|0; + $260 = sp + 168|0; + $261 = sp + 160|0; + $262 = sp + 2920|0; + $263 = sp + 2916|0; + $264 = sp + 144|0; + $265 = sp + 128|0; + $266 = sp + 120|0; + $267 = sp + 2912|0; + $268 = sp + 2908|0; + $269 = sp + 2904|0; + $270 = sp + 2900|0; + $271 = sp + 2896|0; + $272 = sp + 2892|0; + $273 = sp + 2888|0; + $274 = sp + 2884|0; + $275 = sp + 2880|0; + $276 = sp + 2876|0; + $277 = sp + 112|0; + $278 = sp + 104|0; + $279 = sp + 2872|0; + $280 = sp + 96|0; + $281 = sp + 2868|0; + $282 = sp + 88|0; + $283 = sp + 2864|0; + $284 = sp + 80|0; + $285 = sp + 2860|0; + $286 = sp + 72|0; + $287 = sp + 2856|0; + $288 = sp + 64|0; + $289 = sp + 2852|0; + $290 = sp + 56|0; + $291 = sp + 2848|0; + $292 = sp + 48|0; + $293 = sp + 2844|0; + $294 = sp + 40|0; + $295 = sp + 2840|0; + dest=$$byval_copy366; src=25552; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _BeginShaderMode($$byval_copy366); + HEAP32[$0>>2] = 2; + $296 = ((($0)) + 4|0); + HEAP32[$296>>2] = 2; + $297 = ((($0)) + 8|0); + HEAP32[$297>>2] = 640; + $298 = ((($0)) + 12|0); + HEAP32[$298>>2] = 360; + HEAP32[$1>>2] = 0; + $299 = ((($1)) + 4|0); + HEAP32[$299>>2] = 0; + $300 = ((($1)) + 8|0); + HEAP32[$300>>2] = 1280; + $301 = ((($1)) + 12|0); + HEAP32[$301>>2] = 720; + HEAPF32[$2>>2] = 0.0; + $302 = ((($2)) + 4|0); + HEAPF32[$302>>2] = 0.0; + ;HEAP32[$atlas01$byval_copy318>>2]=HEAP32[25532>>2]|0;HEAP32[$atlas01$byval_copy318+4>>2]=HEAP32[25532+4>>2]|0;HEAP32[$atlas01$byval_copy318+8>>2]=HEAP32[25532+8>>2]|0;HEAP32[$atlas01$byval_copy318+12>>2]=HEAP32[25532+12>>2]|0;HEAP32[$atlas01$byval_copy318+16>>2]=HEAP32[25532+16>>2]|0; + ;HEAP32[$$byval_copy319>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy319+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy319+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy319+12>>2]=HEAP32[$0+12>>2]|0; + ;HEAP32[$font$byval_copy364>>2]=HEAP32[$1>>2]|0;HEAP32[$font$byval_copy364+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$font$byval_copy364+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[$font$byval_copy364+12>>2]=HEAP32[$1+12>>2]|0; + ;HEAP32[$$byval_copy365>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy365+4>>2]=HEAP32[$2+4>>2]|0; + ;HEAP8[$$byval_copy366>>0]=HEAP8[161540>>0]|0;HEAP8[$$byval_copy366+1>>0]=HEAP8[161540+1>>0]|0;HEAP8[$$byval_copy366+2>>0]=HEAP8[161540+2>>0]|0;HEAP8[$$byval_copy366+3>>0]=HEAP8[161540+3>>0]|0; + _DrawTexturePro($atlas01$byval_copy318,$$byval_copy319,$font$byval_copy364,$$byval_copy365,0.0,$$byval_copy366); + _DrawParallaxBack_63(); + _DrawParallaxMiddle_64(); + $303 = ((($23)) + 4|0); + $304 = ((($23)) + 8|0); + $305 = ((($23)) + 12|0); + $306 = ((($24)) + 4|0); + $307 = ((($24)) + 8|0); + $308 = ((($24)) + 12|0); + $309 = ((($25)) + 4|0); + $310 = ((($27)) + 1|0); + $311 = ((($27)) + 2|0); + $312 = ((($27)) + 3|0); + $313 = ((($18)) + 4|0); + $314 = ((($18)) + 8|0); + $315 = ((($18)) + 12|0); + $316 = ((($19)) + 4|0); + $317 = ((($19)) + 8|0); + $318 = ((($19)) + 12|0); + $319 = ((($20)) + 4|0); + $320 = ((($22)) + 1|0); + $321 = ((($22)) + 2|0); + $322 = ((($22)) + 3|0); + $323 = ((($13)) + 4|0); + $324 = ((($13)) + 8|0); + $325 = ((($13)) + 12|0); + $326 = ((($14)) + 4|0); + $327 = ((($14)) + 8|0); + $328 = ((($14)) + 12|0); + $329 = ((($15)) + 4|0); + $330 = ((($17)) + 1|0); + $331 = ((($17)) + 2|0); + $332 = ((($17)) + 3|0); + $333 = ((($8)) + 4|0); + $334 = ((($8)) + 8|0); + $335 = ((($8)) + 12|0); + $336 = ((($9)) + 4|0); + $337 = ((($9)) + 8|0); + $338 = ((($9)) + 12|0); + $339 = ((($10)) + 4|0); + $340 = ((($12)) + 1|0); + $341 = ((($12)) + 2|0); + $342 = ((($12)) + 3|0); + $343 = ((($3)) + 4|0); + $344 = ((($3)) + 8|0); + $345 = ((($3)) + 12|0); + $346 = ((($4)) + 4|0); + $347 = ((($4)) + 8|0); + $348 = ((($4)) + 12|0); + $349 = ((($5)) + 4|0); + $350 = ((($7)) + 1|0); + $351 = ((($7)) + 2|0); + $352 = ((($7)) + 3|0); + $$011061169 = 0; + while(1) { + $360 = (((229088 + (($$011061169*40)|0)|0)) + 36|0); + $361 = HEAP32[$360>>2]|0; + $362 = ($361|0)==(0); + if (!($362)) { + HEAP32[$3>>2] = 276; + HEAP32[$343>>2] = 766; + HEAP32[$344>>2] = 32; + HEAP32[$345>>2] = 32; + $363 = (229088 + (($$011061169*40)|0)|0); + $364 = +HEAPF32[$363>>2]; + $365 = (~~(($364))); + HEAP32[$4>>2] = $365; + $366 = (((229088 + (($$011061169*40)|0)|0)) + 4|0); + $367 = +HEAPF32[$366>>2]; + $368 = (~~(($367))); + HEAP32[$346>>2] = $368; + $369 = (((229088 + (($$011061169*40)|0)|0)) + 20|0); + $370 = +HEAPF32[$369>>2]; + $371 = $370 * 32.0; + $372 = (~~(($371))); + HEAP32[$347>>2] = $372; + HEAP32[$348>>2] = $372; + $373 = $371 * 0.5; + HEAPF32[$5>>2] = $373; + HEAPF32[$349>>2] = $373; + $374 = (((229088 + (($$011061169*40)|0)|0)) + 16|0); + $375 = +HEAPF32[$374>>2]; + HEAP8[$7>>0] = -112; + HEAP8[$350>>0] = -42; + HEAP8[$351>>0] = -1; + HEAP8[$352>>0] = -1; + $376 = (((229088 + (($$011061169*40)|0)|0)) + 28|0); + $377 = +HEAPF32[$376>>2]; + ;HEAP8[$$byval_copy366>>0]=HEAP8[$7>>0]|0;HEAP8[$$byval_copy366+1>>0]=HEAP8[$7+1>>0]|0;HEAP8[$$byval_copy366+2>>0]=HEAP8[$7+2>>0]|0;HEAP8[$$byval_copy366+3>>0]=HEAP8[$7+3>>0]|0; + _Fade($6,$$byval_copy366,$377); + ;HEAP32[$atlas01$byval_copy318>>2]=HEAP32[25532>>2]|0;HEAP32[$atlas01$byval_copy318+4>>2]=HEAP32[25532+4>>2]|0;HEAP32[$atlas01$byval_copy318+8>>2]=HEAP32[25532+8>>2]|0;HEAP32[$atlas01$byval_copy318+12>>2]=HEAP32[25532+12>>2]|0;HEAP32[$atlas01$byval_copy318+16>>2]=HEAP32[25532+16>>2]|0; + ;HEAP32[$$byval_copy319>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy319+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$$byval_copy319+8>>2]=HEAP32[$3+8>>2]|0;HEAP32[$$byval_copy319+12>>2]=HEAP32[$3+12>>2]|0; + ;HEAP32[$font$byval_copy364>>2]=HEAP32[$4>>2]|0;HEAP32[$font$byval_copy364+4>>2]=HEAP32[$4+4>>2]|0;HEAP32[$font$byval_copy364+8>>2]=HEAP32[$4+8>>2]|0;HEAP32[$font$byval_copy364+12>>2]=HEAP32[$4+12>>2]|0; + ;HEAP32[$$byval_copy365>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy365+4>>2]=HEAP32[$5+4>>2]|0; + ;HEAP8[$$byval_copy366>>0]=HEAP8[$6>>0]|0;HEAP8[$$byval_copy366+1>>0]=HEAP8[$6+1>>0]|0;HEAP8[$$byval_copy366+2>>0]=HEAP8[$6+2>>0]|0;HEAP8[$$byval_copy366+3>>0]=HEAP8[$6+3>>0]|0; + _DrawTexturePro($atlas01$byval_copy318,$$byval_copy319,$font$byval_copy364,$$byval_copy365,$375,$$byval_copy366); + } + $378 = (((234208 + (($$011061169*40)|0)|0)) + 36|0); + $379 = HEAP32[$378>>2]|0; + $380 = ($379|0)==(0); + if (!($380)) { + HEAP32[$8>>2] = 538; + HEAP32[$333>>2] = 715; + HEAP32[$334>>2] = 32; + HEAP32[$335>>2] = 32; + $381 = (234208 + (($$011061169*40)|0)|0); + $382 = +HEAPF32[$381>>2]; + $383 = (~~(($382))); + HEAP32[$9>>2] = $383; + $384 = (((234208 + (($$011061169*40)|0)|0)) + 4|0); + $385 = +HEAPF32[$384>>2]; + $386 = (~~(($385))); + HEAP32[$336>>2] = $386; + $387 = (((234208 + (($$011061169*40)|0)|0)) + 20|0); + $388 = +HEAPF32[$387>>2]; + $389 = $388 * 32.0; + $390 = (~~(($389))); + HEAP32[$337>>2] = $390; + HEAP32[$338>>2] = $390; + $391 = $389 * 0.5; + HEAPF32[$10>>2] = $391; + HEAPF32[$339>>2] = $391; + $392 = (((234208 + (($$011061169*40)|0)|0)) + 16|0); + $393 = +HEAPF32[$392>>2]; + HEAP8[$12>>0] = -77; + HEAP8[$340>>0] = 86; + HEAP8[$341>>0] = 6; + HEAP8[$342>>0] = -1; + $394 = (((234208 + (($$011061169*40)|0)|0)) + 28|0); + $395 = +HEAPF32[$394>>2]; + ;HEAP8[$$byval_copy366>>0]=HEAP8[$12>>0]|0;HEAP8[$$byval_copy366+1>>0]=HEAP8[$12+1>>0]|0;HEAP8[$$byval_copy366+2>>0]=HEAP8[$12+2>>0]|0;HEAP8[$$byval_copy366+3>>0]=HEAP8[$12+3>>0]|0; + _Fade($11,$$byval_copy366,$395); + ;HEAP32[$atlas01$byval_copy318>>2]=HEAP32[25532>>2]|0;HEAP32[$atlas01$byval_copy318+4>>2]=HEAP32[25532+4>>2]|0;HEAP32[$atlas01$byval_copy318+8>>2]=HEAP32[25532+8>>2]|0;HEAP32[$atlas01$byval_copy318+12>>2]=HEAP32[25532+12>>2]|0;HEAP32[$atlas01$byval_copy318+16>>2]=HEAP32[25532+16>>2]|0; + ;HEAP32[$$byval_copy319>>2]=HEAP32[$8>>2]|0;HEAP32[$$byval_copy319+4>>2]=HEAP32[$8+4>>2]|0;HEAP32[$$byval_copy319+8>>2]=HEAP32[$8+8>>2]|0;HEAP32[$$byval_copy319+12>>2]=HEAP32[$8+12>>2]|0; + ;HEAP32[$font$byval_copy364>>2]=HEAP32[$9>>2]|0;HEAP32[$font$byval_copy364+4>>2]=HEAP32[$9+4>>2]|0;HEAP32[$font$byval_copy364+8>>2]=HEAP32[$9+8>>2]|0;HEAP32[$font$byval_copy364+12>>2]=HEAP32[$9+12>>2]|0; + ;HEAP32[$$byval_copy365>>2]=HEAP32[$10>>2]|0;HEAP32[$$byval_copy365+4>>2]=HEAP32[$10+4>>2]|0; + ;HEAP8[$$byval_copy366>>0]=HEAP8[$11>>0]|0;HEAP8[$$byval_copy366+1>>0]=HEAP8[$11+1>>0]|0;HEAP8[$$byval_copy366+2>>0]=HEAP8[$11+2>>0]|0;HEAP8[$$byval_copy366+3>>0]=HEAP8[$11+3>>0]|0; + _DrawTexturePro($atlas01$byval_copy318,$$byval_copy319,$font$byval_copy364,$$byval_copy365,$393,$$byval_copy366); + } + $396 = (((239328 + (($$011061169*40)|0)|0)) + 36|0); + $397 = HEAP32[$396>>2]|0; + $398 = ($397|0)==(0); + if (!($398)) { + HEAP32[$13>>2] = 504; + HEAP32[$323>>2] = 715; + HEAP32[$324>>2] = 32; + HEAP32[$325>>2] = 32; + $399 = (239328 + (($$011061169*40)|0)|0); + $400 = +HEAPF32[$399>>2]; + $401 = (~~(($400))); + HEAP32[$14>>2] = $401; + $402 = (((239328 + (($$011061169*40)|0)|0)) + 4|0); + $403 = +HEAPF32[$402>>2]; + $404 = (~~(($403))); + HEAP32[$326>>2] = $404; + $405 = (((239328 + (($$011061169*40)|0)|0)) + 20|0); + $406 = +HEAPF32[$405>>2]; + $407 = $406 * 32.0; + $408 = (~~(($407))); + HEAP32[$327>>2] = $408; + HEAP32[$328>>2] = $408; + $409 = $407 * 0.5; + HEAPF32[$15>>2] = $409; + HEAPF32[$329>>2] = $409; + $410 = (((239328 + (($$011061169*40)|0)|0)) + 16|0); + $411 = +HEAPF32[$410>>2]; + HEAP8[$17>>0] = -54; + HEAP8[$330>>0] = -89; + HEAP8[$331>>0] = 126; + HEAP8[$332>>0] = -1; + $412 = (((239328 + (($$011061169*40)|0)|0)) + 28|0); + $413 = +HEAPF32[$412>>2]; + ;HEAP8[$$byval_copy366>>0]=HEAP8[$17>>0]|0;HEAP8[$$byval_copy366+1>>0]=HEAP8[$17+1>>0]|0;HEAP8[$$byval_copy366+2>>0]=HEAP8[$17+2>>0]|0;HEAP8[$$byval_copy366+3>>0]=HEAP8[$17+3>>0]|0; + _Fade($16,$$byval_copy366,$413); + ;HEAP32[$atlas01$byval_copy318>>2]=HEAP32[25532>>2]|0;HEAP32[$atlas01$byval_copy318+4>>2]=HEAP32[25532+4>>2]|0;HEAP32[$atlas01$byval_copy318+8>>2]=HEAP32[25532+8>>2]|0;HEAP32[$atlas01$byval_copy318+12>>2]=HEAP32[25532+12>>2]|0;HEAP32[$atlas01$byval_copy318+16>>2]=HEAP32[25532+16>>2]|0; + ;HEAP32[$$byval_copy319>>2]=HEAP32[$13>>2]|0;HEAP32[$$byval_copy319+4>>2]=HEAP32[$13+4>>2]|0;HEAP32[$$byval_copy319+8>>2]=HEAP32[$13+8>>2]|0;HEAP32[$$byval_copy319+12>>2]=HEAP32[$13+12>>2]|0; + ;HEAP32[$font$byval_copy364>>2]=HEAP32[$14>>2]|0;HEAP32[$font$byval_copy364+4>>2]=HEAP32[$14+4>>2]|0;HEAP32[$font$byval_copy364+8>>2]=HEAP32[$14+8>>2]|0;HEAP32[$font$byval_copy364+12>>2]=HEAP32[$14+12>>2]|0; + ;HEAP32[$$byval_copy365>>2]=HEAP32[$15>>2]|0;HEAP32[$$byval_copy365+4>>2]=HEAP32[$15+4>>2]|0; + ;HEAP8[$$byval_copy366>>0]=HEAP8[$16>>0]|0;HEAP8[$$byval_copy366+1>>0]=HEAP8[$16+1>>0]|0;HEAP8[$$byval_copy366+2>>0]=HEAP8[$16+2>>0]|0;HEAP8[$$byval_copy366+3>>0]=HEAP8[$16+3>>0]|0; + _DrawTexturePro($atlas01$byval_copy318,$$byval_copy319,$font$byval_copy364,$$byval_copy365,$411,$$byval_copy366); + } + $414 = (((244448 + (($$011061169*40)|0)|0)) + 36|0); + $415 = HEAP32[$414>>2]|0; + $416 = ($415|0)==(0); + if (!($416)) { + HEAP32[$18>>2] = 808; + HEAP32[$313>>2] = 315; + HEAP32[$314>>2] = 32; + HEAP32[$315>>2] = 32; + $417 = (244448 + (($$011061169*40)|0)|0); + $418 = +HEAPF32[$417>>2]; + $419 = (~~(($418))); + HEAP32[$19>>2] = $419; + $420 = (((244448 + (($$011061169*40)|0)|0)) + 4|0); + $421 = +HEAPF32[$420>>2]; + $422 = (~~(($421))); + HEAP32[$316>>2] = $422; + $423 = (((244448 + (($$011061169*40)|0)|0)) + 20|0); + $424 = +HEAPF32[$423>>2]; + $425 = $424 * 32.0; + $426 = (~~(($425))); + HEAP32[$317>>2] = $426; + HEAP32[$318>>2] = $426; + $427 = $425 * 0.5; + HEAPF32[$20>>2] = $427; + HEAPF32[$319>>2] = $427; + $428 = (((244448 + (($$011061169*40)|0)|0)) + 16|0); + $429 = +HEAPF32[$428>>2]; + HEAP8[$22>>0] = -38; + HEAP8[$320>>0] = 84; + HEAP8[$321>>0] = 108; + HEAP8[$322>>0] = -1; + $430 = (((244448 + (($$011061169*40)|0)|0)) + 28|0); + $431 = +HEAPF32[$430>>2]; + ;HEAP8[$$byval_copy366>>0]=HEAP8[$22>>0]|0;HEAP8[$$byval_copy366+1>>0]=HEAP8[$22+1>>0]|0;HEAP8[$$byval_copy366+2>>0]=HEAP8[$22+2>>0]|0;HEAP8[$$byval_copy366+3>>0]=HEAP8[$22+3>>0]|0; + _Fade($21,$$byval_copy366,$431); + ;HEAP32[$atlas01$byval_copy318>>2]=HEAP32[25532>>2]|0;HEAP32[$atlas01$byval_copy318+4>>2]=HEAP32[25532+4>>2]|0;HEAP32[$atlas01$byval_copy318+8>>2]=HEAP32[25532+8>>2]|0;HEAP32[$atlas01$byval_copy318+12>>2]=HEAP32[25532+12>>2]|0;HEAP32[$atlas01$byval_copy318+16>>2]=HEAP32[25532+16>>2]|0; + ;HEAP32[$$byval_copy319>>2]=HEAP32[$18>>2]|0;HEAP32[$$byval_copy319+4>>2]=HEAP32[$18+4>>2]|0;HEAP32[$$byval_copy319+8>>2]=HEAP32[$18+8>>2]|0;HEAP32[$$byval_copy319+12>>2]=HEAP32[$18+12>>2]|0; + ;HEAP32[$font$byval_copy364>>2]=HEAP32[$19>>2]|0;HEAP32[$font$byval_copy364+4>>2]=HEAP32[$19+4>>2]|0;HEAP32[$font$byval_copy364+8>>2]=HEAP32[$19+8>>2]|0;HEAP32[$font$byval_copy364+12>>2]=HEAP32[$19+12>>2]|0; + ;HEAP32[$$byval_copy365>>2]=HEAP32[$20>>2]|0;HEAP32[$$byval_copy365+4>>2]=HEAP32[$20+4>>2]|0; + ;HEAP8[$$byval_copy366>>0]=HEAP8[$21>>0]|0;HEAP8[$$byval_copy366+1>>0]=HEAP8[$21+1>>0]|0;HEAP8[$$byval_copy366+2>>0]=HEAP8[$21+2>>0]|0;HEAP8[$$byval_copy366+3>>0]=HEAP8[$21+3>>0]|0; + _DrawTexturePro($atlas01$byval_copy318,$$byval_copy319,$font$byval_copy364,$$byval_copy365,$429,$$byval_copy366); + } + $432 = (((249568 + (($$011061169*40)|0)|0)) + 36|0); + $433 = HEAP32[$432>>2]|0; + $434 = ($433|0)==(0); + if (!($434)) { + HEAP32[$23>>2] = 842; + HEAP32[$303>>2] = 315; + HEAP32[$304>>2] = 32; + HEAP32[$305>>2] = 32; + $435 = (249568 + (($$011061169*40)|0)|0); + $436 = +HEAPF32[$435>>2]; + $437 = (~~(($436))); + HEAP32[$24>>2] = $437; + $438 = (((249568 + (($$011061169*40)|0)|0)) + 4|0); + $439 = +HEAPF32[$438>>2]; + $440 = (~~(($439))); + HEAP32[$306>>2] = $440; + $441 = (((249568 + (($$011061169*40)|0)|0)) + 20|0); + $442 = +HEAPF32[$441>>2]; + $443 = $442 * 32.0; + $444 = (~~(($443))); + HEAP32[$307>>2] = $444; + HEAP32[$308>>2] = $444; + $445 = $443 * 0.5; + HEAPF32[$25>>2] = $445; + HEAPF32[$309>>2] = $445; + $446 = (((249568 + (($$011061169*40)|0)|0)) + 16|0); + $447 = +HEAPF32[$446>>2]; + HEAP8[$27>>0] = -112; + HEAP8[$310>>0] = -73; + HEAP8[$311>>0] = -69; + HEAP8[$312>>0] = -1; + $448 = (((249568 + (($$011061169*40)|0)|0)) + 28|0); + $449 = +HEAPF32[$448>>2]; + ;HEAP8[$$byval_copy366>>0]=HEAP8[$27>>0]|0;HEAP8[$$byval_copy366+1>>0]=HEAP8[$27+1>>0]|0;HEAP8[$$byval_copy366+2>>0]=HEAP8[$27+2>>0]|0;HEAP8[$$byval_copy366+3>>0]=HEAP8[$27+3>>0]|0; + _Fade($26,$$byval_copy366,$449); + ;HEAP32[$atlas01$byval_copy318>>2]=HEAP32[25532>>2]|0;HEAP32[$atlas01$byval_copy318+4>>2]=HEAP32[25532+4>>2]|0;HEAP32[$atlas01$byval_copy318+8>>2]=HEAP32[25532+8>>2]|0;HEAP32[$atlas01$byval_copy318+12>>2]=HEAP32[25532+12>>2]|0;HEAP32[$atlas01$byval_copy318+16>>2]=HEAP32[25532+16>>2]|0; + ;HEAP32[$$byval_copy319>>2]=HEAP32[$23>>2]|0;HEAP32[$$byval_copy319+4>>2]=HEAP32[$23+4>>2]|0;HEAP32[$$byval_copy319+8>>2]=HEAP32[$23+8>>2]|0;HEAP32[$$byval_copy319+12>>2]=HEAP32[$23+12>>2]|0; + ;HEAP32[$font$byval_copy364>>2]=HEAP32[$24>>2]|0;HEAP32[$font$byval_copy364+4>>2]=HEAP32[$24+4>>2]|0;HEAP32[$font$byval_copy364+8>>2]=HEAP32[$24+8>>2]|0;HEAP32[$font$byval_copy364+12>>2]=HEAP32[$24+12>>2]|0; + ;HEAP32[$$byval_copy365>>2]=HEAP32[$25>>2]|0;HEAP32[$$byval_copy365+4>>2]=HEAP32[$25+4>>2]|0; + ;HEAP8[$$byval_copy366>>0]=HEAP8[$26>>0]|0;HEAP8[$$byval_copy366+1>>0]=HEAP8[$26+1>>0]|0;HEAP8[$$byval_copy366+2>>0]=HEAP8[$26+2>>0]|0;HEAP8[$$byval_copy366+3>>0]=HEAP8[$26+3>>0]|0; + _DrawTexturePro($atlas01$byval_copy318,$$byval_copy319,$font$byval_copy364,$$byval_copy365,$447,$$byval_copy366); + } + $450 = (($$011061169) + 1)|0; + $exitcond1190 = ($450|0)==(128); + if ($exitcond1190) { + break; + } else { + $$011061169 = $450; + } + } + $353 = ((($28)) + 4|0); + $354 = ((($28)) + 8|0); + $355 = ((($28)) + 12|0); + $356 = ((($29)) + 4|0); + $357 = ((($29)) + 8|0); + $358 = ((($29)) + 12|0); + $359 = ((($30)) + 4|0); + $$011071168 = 0; + while(1) { + $458 = (((228788 + (($$011071168*36)|0)|0)) + 24|0); + $459 = HEAP32[$458>>2]|0; + $460 = ($459|0)==(0); + if (!($460)) { + HEAP32[$28>>2] = 260; + HEAP32[$353>>2] = 766; + HEAP32[$354>>2] = 14; + HEAP32[$355>>2] = 216; + $461 = (228788 + (($$011071168*36)|0)|0); + $462 = +HEAPF32[$461>>2]; + $463 = (~~(($462))); + HEAP32[$29>>2] = $463; + $464 = (((228788 + (($$011071168*36)|0)|0)) + 4|0); + $465 = +HEAPF32[$464>>2]; + $466 = (~~(($465))); + HEAP32[$356>>2] = $466; + $467 = (((228788 + (($$011071168*36)|0)|0)) + 16|0); + $468 = +HEAPF32[$467>>2]; + $469 = $468 * 14.0; + $470 = (~~(($469))); + HEAP32[$357>>2] = $470; + $471 = $468 * 216.0; + $472 = (~~(($471))); + HEAP32[$358>>2] = $472; + $473 = $469 * 0.5; + HEAPF32[$30>>2] = $473; + $474 = $471 * 0.5; + HEAPF32[$359>>2] = $474; + $475 = (((228788 + (($$011071168*36)|0)|0)) + 20|0); + $476 = +HEAPF32[$475>>2]; + $477 = (((228788 + (($$011071168*36)|0)|0)) + 8|0); + $478 = (((228788 + (($$011071168*36)|0)|0)) + 12|0); + $479 = +HEAPF32[$478>>2]; + ;HEAP8[$$byval_copy366>>0]=HEAP8[$477>>0]|0;HEAP8[$$byval_copy366+1>>0]=HEAP8[$477+1>>0]|0;HEAP8[$$byval_copy366+2>>0]=HEAP8[$477+2>>0]|0;HEAP8[$$byval_copy366+3>>0]=HEAP8[$477+3>>0]|0; + _Fade($31,$$byval_copy366,$479); + ;HEAP32[$atlas01$byval_copy318>>2]=HEAP32[25532>>2]|0;HEAP32[$atlas01$byval_copy318+4>>2]=HEAP32[25532+4>>2]|0;HEAP32[$atlas01$byval_copy318+8>>2]=HEAP32[25532+8>>2]|0;HEAP32[$atlas01$byval_copy318+12>>2]=HEAP32[25532+12>>2]|0;HEAP32[$atlas01$byval_copy318+16>>2]=HEAP32[25532+16>>2]|0; + ;HEAP32[$$byval_copy319>>2]=HEAP32[$28>>2]|0;HEAP32[$$byval_copy319+4>>2]=HEAP32[$28+4>>2]|0;HEAP32[$$byval_copy319+8>>2]=HEAP32[$28+8>>2]|0;HEAP32[$$byval_copy319+12>>2]=HEAP32[$28+12>>2]|0; + ;HEAP32[$font$byval_copy364>>2]=HEAP32[$29>>2]|0;HEAP32[$font$byval_copy364+4>>2]=HEAP32[$29+4>>2]|0;HEAP32[$font$byval_copy364+8>>2]=HEAP32[$29+8>>2]|0;HEAP32[$font$byval_copy364+12>>2]=HEAP32[$29+12>>2]|0; + ;HEAP32[$$byval_copy365>>2]=HEAP32[$30>>2]|0;HEAP32[$$byval_copy365+4>>2]=HEAP32[$30+4>>2]|0; + ;HEAP8[$$byval_copy366>>0]=HEAP8[$31>>0]|0;HEAP8[$$byval_copy366+1>>0]=HEAP8[$31+1>>0]|0;HEAP8[$$byval_copy366+2>>0]=HEAP8[$31+2>>0]|0;HEAP8[$$byval_copy366+3>>0]=HEAP8[$31+3>>0]|0; + _DrawTexturePro($atlas01$byval_copy318,$$byval_copy319,$font$byval_copy364,$$byval_copy365,$476,$$byval_copy366); + } + $480 = (($$011071168) + 1)|0; + $exitcond1189 = ($480|0)==(8); + if ($exitcond1189) { + break; + } else { + $$011071168 = $480; + } + } + _DrawParallaxFront_65(); + $451 = ((($32)) + 4|0); + $452 = ((($32)) + 8|0); + $453 = ((($32)) + 12|0); + $454 = ((($33)) + 4|0); + $455 = ((($33)) + 8|0); + $456 = ((($33)) + 12|0); + $457 = ((($34)) + 4|0); + $$011081167 = 0; + while(1) { + $488 = (257504 + ($$011081167<<2)|0); + $489 = HEAP32[$488>>2]|0; + $490 = ($489|0)==(0); + if (!($490)) { + HEAP32[$32>>2] = 1788; + HEAP32[$451>>2] = 2; + HEAP32[$452>>2] = 43; + HEAP32[$453>>2] = 720; + $491 = (257248 + ($$011081167<<4)|0); + $492 = HEAP32[$491>>2]|0; + HEAP32[$33>>2] = $492; + $493 = (((257248 + ($$011081167<<4)|0)) + 4|0); + $494 = HEAP32[$493>>2]|0; + HEAP32[$454>>2] = $494; + HEAP32[$455>>2] = 43; + HEAP32[$456>>2] = 720; + HEAPF32[$34>>2] = 0.0; + HEAPF32[$457>>2] = 0.0; + ;HEAP32[$atlas01$byval_copy318>>2]=HEAP32[25532>>2]|0;HEAP32[$atlas01$byval_copy318+4>>2]=HEAP32[25532+4>>2]|0;HEAP32[$atlas01$byval_copy318+8>>2]=HEAP32[25532+8>>2]|0;HEAP32[$atlas01$byval_copy318+12>>2]=HEAP32[25532+12>>2]|0;HEAP32[$atlas01$byval_copy318+16>>2]=HEAP32[25532+16>>2]|0; + ;HEAP32[$$byval_copy319>>2]=HEAP32[$32>>2]|0;HEAP32[$$byval_copy319+4>>2]=HEAP32[$32+4>>2]|0;HEAP32[$$byval_copy319+8>>2]=HEAP32[$32+8>>2]|0;HEAP32[$$byval_copy319+12>>2]=HEAP32[$32+12>>2]|0; + ;HEAP32[$font$byval_copy364>>2]=HEAP32[$33>>2]|0;HEAP32[$font$byval_copy364+4>>2]=HEAP32[$33+4>>2]|0;HEAP32[$font$byval_copy364+8>>2]=HEAP32[$33+8>>2]|0;HEAP32[$font$byval_copy364+12>>2]=HEAP32[$33+12>>2]|0; + ;HEAP32[$$byval_copy365>>2]=HEAP32[$34>>2]|0;HEAP32[$$byval_copy365+4>>2]=HEAP32[$34+4>>2]|0; + ;HEAP8[$$byval_copy366>>0]=HEAP8[161544>>0]|0;HEAP8[$$byval_copy366+1>>0]=HEAP8[161544+1>>0]|0;HEAP8[$$byval_copy366+2>>0]=HEAP8[161544+2>>0]|0;HEAP8[$$byval_copy366+3>>0]=HEAP8[161544+3>>0]|0; + _DrawTexturePro($atlas01$byval_copy318,$$byval_copy319,$font$byval_copy364,$$byval_copy365,0.0,$$byval_copy366); + } + $495 = (($$011081167) + 1)|0; + $exitcond1188 = ($495|0)==(16); + if ($exitcond1188) { + break; + } else { + $$011081167 = $495; + } + } + $481 = ((($35)) + 4|0); + $482 = ((($35)) + 8|0); + $483 = ((($35)) + 12|0); + $484 = ((($36)) + 4|0); + $485 = ((($36)) + 8|0); + $486 = ((($36)) + 12|0); + $487 = ((($37)) + 4|0); + $$011091166 = 0; + while(1) { + $507 = (259536 + ($$011091166<<2)|0); + $508 = HEAP32[$507>>2]|0; + $509 = ($508|0)==(0); + if (!($509)) { + HEAP32[$35>>2] = 808; + HEAP32[$481>>2] = 349; + HEAP32[$482>>2] = 36; + HEAP32[$483>>2] = 24; + $510 = (259664 + ($$011091166<<3)|0); + $511 = +HEAPF32[$510>>2]; + $512 = (~~(($511))); + HEAP32[$36>>2] = $512; + $513 = (((259664 + ($$011091166<<3)|0)) + 4|0); + $514 = +HEAPF32[$513>>2]; + $515 = (~~(($514))); + HEAP32[$484>>2] = $515; + HEAP32[$485>>2] = 36; + HEAP32[$486>>2] = 20; + HEAPF32[$37>>2] = 0.0; + HEAPF32[$487>>2] = 0.0; + ;HEAP32[$atlas01$byval_copy318>>2]=HEAP32[25532>>2]|0;HEAP32[$atlas01$byval_copy318+4>>2]=HEAP32[25532+4>>2]|0;HEAP32[$atlas01$byval_copy318+8>>2]=HEAP32[25532+8>>2]|0;HEAP32[$atlas01$byval_copy318+12>>2]=HEAP32[25532+12>>2]|0;HEAP32[$atlas01$byval_copy318+16>>2]=HEAP32[25532+16>>2]|0; + ;HEAP32[$$byval_copy319>>2]=HEAP32[$35>>2]|0;HEAP32[$$byval_copy319+4>>2]=HEAP32[$35+4>>2]|0;HEAP32[$$byval_copy319+8>>2]=HEAP32[$35+8>>2]|0;HEAP32[$$byval_copy319+12>>2]=HEAP32[$35+12>>2]|0; + ;HEAP32[$font$byval_copy364>>2]=HEAP32[$36>>2]|0;HEAP32[$font$byval_copy364+4>>2]=HEAP32[$36+4>>2]|0;HEAP32[$font$byval_copy364+8>>2]=HEAP32[$36+8>>2]|0;HEAP32[$font$byval_copy364+12>>2]=HEAP32[$36+12>>2]|0; + ;HEAP32[$$byval_copy365>>2]=HEAP32[$37>>2]|0;HEAP32[$$byval_copy365+4>>2]=HEAP32[$37+4>>2]|0; + ;HEAP8[$$byval_copy366>>0]=HEAP8[161544>>0]|0;HEAP8[$$byval_copy366+1>>0]=HEAP8[161544+1>>0]|0;HEAP8[$$byval_copy366+2>>0]=HEAP8[161544+2>>0]|0;HEAP8[$$byval_copy366+3>>0]=HEAP8[161544+3>>0]|0; + _DrawTexturePro($atlas01$byval_copy318,$$byval_copy319,$font$byval_copy364,$$byval_copy365,0.0,$$byval_copy366); + } + $516 = (($$011091166) + 1)|0; + $exitcond1187 = ($516|0)==(16); + if ($exitcond1187) { + break; + } else { + $$011091166 = $516; + } + } + _EndShaderMode(); + $496 = ((($38)) + 4|0); + $497 = ((($38)) + 8|0); + $498 = ((($38)) + 12|0); + $499 = ((($39)) + 4|0); + $500 = ((($39)) + 8|0); + $501 = ((($39)) + 12|0); + $502 = ((($40)) + 4|0); + $503 = ((($42)) + 4|0); + $504 = ((($44)) + 4|0); + $505 = ((($47)) + 4|0); + $506 = ((($50)) + 4|0); + $$011101165 = 0; + while(1) { + HEAP32[$38>>2] = 58; + $524 = (((257568 + ($$011101165<<4)|0)) + 4|0); + $525 = HEAP32[$524>>2]|0; + $526 = (($525) + 1079)|0; + HEAP32[$496>>2] = $526; + HEAP32[$497>>2] = 43; + HEAP32[$498>>2] = 720; + $527 = (257568 + ($$011101165<<4)|0); + $528 = HEAP32[$527>>2]|0; + $529 = (($528) + 5)|0; + HEAP32[$39>>2] = $529; + $530 = (($525) + 51)|0; + HEAP32[$499>>2] = $530; + HEAP32[$500>>2] = 43; + HEAP32[$501>>2] = 720; + HEAPF32[$40>>2] = 0.0; + HEAPF32[$502>>2] = 0.0; + HEAP32[$41>>2] = -1; + ;HEAP32[$atlas01$byval_copy318>>2]=HEAP32[25512>>2]|0;HEAP32[$atlas01$byval_copy318+4>>2]=HEAP32[25512+4>>2]|0;HEAP32[$atlas01$byval_copy318+8>>2]=HEAP32[25512+8>>2]|0;HEAP32[$atlas01$byval_copy318+12>>2]=HEAP32[25512+12>>2]|0;HEAP32[$atlas01$byval_copy318+16>>2]=HEAP32[25512+16>>2]|0; + ;HEAP32[$$byval_copy319>>2]=HEAP32[$38>>2]|0;HEAP32[$$byval_copy319+4>>2]=HEAP32[$38+4>>2]|0;HEAP32[$$byval_copy319+8>>2]=HEAP32[$38+8>>2]|0;HEAP32[$$byval_copy319+12>>2]=HEAP32[$38+12>>2]|0; + ;HEAP32[$font$byval_copy364>>2]=HEAP32[$39>>2]|0;HEAP32[$font$byval_copy364+4>>2]=HEAP32[$39+4>>2]|0;HEAP32[$font$byval_copy364+8>>2]=HEAP32[$39+8>>2]|0;HEAP32[$font$byval_copy364+12>>2]=HEAP32[$39+12>>2]|0; + ;HEAP32[$$byval_copy365>>2]=HEAP32[$40>>2]|0;HEAP32[$$byval_copy365+4>>2]=HEAP32[$40+4>>2]|0; + ;HEAP8[$$byval_copy366>>0]=HEAP8[$41>>0]|0;HEAP8[$$byval_copy366+1>>0]=HEAP8[$41+1>>0]|0;HEAP8[$$byval_copy366+2>>0]=HEAP8[$41+2>>0]|0;HEAP8[$$byval_copy366+3>>0]=HEAP8[$41+3>>0]|0; + _DrawTexturePro($atlas01$byval_copy318,$$byval_copy319,$font$byval_copy364,$$byval_copy365,0.0,$$byval_copy366); + $531 = HEAP32[$527>>2]|0; + $532 = (+($531|0)); + HEAPF32[$42>>2] = $532; + $533 = (_GetScreenHeight()|0); + $534 = (($533) + -102)|0; + $535 = (+($534|0)); + HEAPF32[$503>>2] = $535; + HEAP32[$43>>2] = -1; + ;HEAP32[$$byval_copy319>>2]=HEAP32[25512>>2]|0;HEAP32[$$byval_copy319+4>>2]=HEAP32[25512+4>>2]|0;HEAP32[$$byval_copy319+8>>2]=HEAP32[25512+8>>2]|0;HEAP32[$$byval_copy319+12>>2]=HEAP32[25512+12>>2]|0;HEAP32[$$byval_copy319+16>>2]=HEAP32[25512+16>>2]|0; + ;HEAP32[$font$byval_copy364>>2]=HEAP32[161596>>2]|0;HEAP32[$font$byval_copy364+4>>2]=HEAP32[161596+4>>2]|0;HEAP32[$font$byval_copy364+8>>2]=HEAP32[161596+8>>2]|0;HEAP32[$font$byval_copy364+12>>2]=HEAP32[161596+12>>2]|0; + ;HEAP32[$$byval_copy365>>2]=HEAP32[$42>>2]|0;HEAP32[$$byval_copy365+4>>2]=HEAP32[$42+4>>2]|0; + ;HEAP8[$$byval_copy366>>0]=HEAP8[$43>>0]|0;HEAP8[$$byval_copy366+1>>0]=HEAP8[$43+1>>0]|0;HEAP8[$$byval_copy366+2>>0]=HEAP8[$43+2>>0]|0;HEAP8[$$byval_copy366+3>>0]=HEAP8[$43+3>>0]|0; + _DrawTextureRec($$byval_copy319,$font$byval_copy364,$$byval_copy365,$$byval_copy366); + $536 = (257728 + ($$011101165<<2)|0); + $$011111164 = 20; + while(1) { + $538 = HEAP32[$524>>2]|0; + $539 = (($538) + -25)|0; + $540 = ($$011111164*43)|0; + $541 = ($539|0)>($540|0); + if (!($541)) { + $542 = HEAP32[$536>>2]|0; + $543 = ($542|0)==(0); + if (!($543)) { + $544 = (($$011111164|0) % 2)&-1; + $545 = ($544|0)>(0); + $546 = ($$011111164*40)|0; + $547 = HEAP32[40351]|0; + $548 = HEAP32[$527>>2]|0; + $549 = (+($546|0)); + do { + if ($545) { + $550 = (($547) + -10)|0; + $551 = (($550) + ($548))|0; + $552 = (+($551|0)); + HEAPF32[$44>>2] = $552; + HEAPF32[$504>>2] = $549; + HEAP32[$45>>2] = -1; + ;HEAP32[$$byval_copy319>>2]=HEAP32[25512>>2]|0;HEAP32[$$byval_copy319+4>>2]=HEAP32[25512+4>>2]|0;HEAP32[$$byval_copy319+8>>2]=HEAP32[25512+8>>2]|0;HEAP32[$$byval_copy319+12>>2]=HEAP32[25512+12>>2]|0;HEAP32[$$byval_copy319+16>>2]=HEAP32[25512+16>>2]|0; + ;HEAP32[$font$byval_copy364>>2]=HEAP32[161596>>2]|0;HEAP32[$font$byval_copy364+4>>2]=HEAP32[161596+4>>2]|0;HEAP32[$font$byval_copy364+8>>2]=HEAP32[161596+8>>2]|0;HEAP32[$font$byval_copy364+12>>2]=HEAP32[161596+12>>2]|0; + ;HEAP32[$$byval_copy365>>2]=HEAP32[$44>>2]|0;HEAP32[$$byval_copy365+4>>2]=HEAP32[$44+4>>2]|0; + ;HEAP8[$$byval_copy366>>0]=HEAP8[$45>>0]|0;HEAP8[$$byval_copy366+1>>0]=HEAP8[$45+1>>0]|0;HEAP8[$$byval_copy366+2>>0]=HEAP8[$45+2>>0]|0;HEAP8[$$byval_copy366+3>>0]=HEAP8[$45+3>>0]|0; + _DrawTextureRec($$byval_copy319,$font$byval_copy364,$$byval_copy365,$$byval_copy366); + $$sink6$sink11 = $46;$curFrame3$sink$sink = 161388; + } else { + $553 = ($544|0)==(0); + $554 = (($548) - ($547))|0; + $555 = (+($554|0)); + if ($553) { + HEAPF32[$47>>2] = $555; + HEAPF32[$505>>2] = $549; + HEAP32[$48>>2] = -1; + ;HEAP32[$$byval_copy319>>2]=HEAP32[25512>>2]|0;HEAP32[$$byval_copy319+4>>2]=HEAP32[25512+4>>2]|0;HEAP32[$$byval_copy319+8>>2]=HEAP32[25512+8>>2]|0;HEAP32[$$byval_copy319+12>>2]=HEAP32[25512+12>>2]|0;HEAP32[$$byval_copy319+16>>2]=HEAP32[25512+16>>2]|0; + ;HEAP32[$font$byval_copy364>>2]=HEAP32[161596>>2]|0;HEAP32[$font$byval_copy364+4>>2]=HEAP32[161596+4>>2]|0;HEAP32[$font$byval_copy364+8>>2]=HEAP32[161596+8>>2]|0;HEAP32[$font$byval_copy364+12>>2]=HEAP32[161596+12>>2]|0; + ;HEAP32[$$byval_copy365>>2]=HEAP32[$47>>2]|0;HEAP32[$$byval_copy365+4>>2]=HEAP32[$47+4>>2]|0; + ;HEAP8[$$byval_copy366>>0]=HEAP8[$48>>0]|0;HEAP8[$$byval_copy366+1>>0]=HEAP8[$48+1>>0]|0;HEAP8[$$byval_copy366+2>>0]=HEAP8[$48+2>>0]|0;HEAP8[$$byval_copy366+3>>0]=HEAP8[$48+3>>0]|0; + _DrawTextureRec($$byval_copy319,$font$byval_copy364,$$byval_copy365,$$byval_copy366); + $$sink6$sink11 = $49;$curFrame3$sink$sink = 161392; + break; + } else { + HEAPF32[$50>>2] = $555; + HEAPF32[$506>>2] = $549; + HEAP32[$51>>2] = -1; + ;HEAP32[$$byval_copy319>>2]=HEAP32[25512>>2]|0;HEAP32[$$byval_copy319+4>>2]=HEAP32[25512+4>>2]|0;HEAP32[$$byval_copy319+8>>2]=HEAP32[25512+8>>2]|0;HEAP32[$$byval_copy319+12>>2]=HEAP32[25512+12>>2]|0;HEAP32[$$byval_copy319+16>>2]=HEAP32[25512+16>>2]|0; + ;HEAP32[$font$byval_copy364>>2]=HEAP32[161596>>2]|0;HEAP32[$font$byval_copy364+4>>2]=HEAP32[161596+4>>2]|0;HEAP32[$font$byval_copy364+8>>2]=HEAP32[161596+8>>2]|0;HEAP32[$font$byval_copy364+12>>2]=HEAP32[161596+12>>2]|0; + ;HEAP32[$$byval_copy365>>2]=HEAP32[$50>>2]|0;HEAP32[$$byval_copy365+4>>2]=HEAP32[$50+4>>2]|0; + ;HEAP8[$$byval_copy366>>0]=HEAP8[$51>>0]|0;HEAP8[$$byval_copy366+1>>0]=HEAP8[$51+1>>0]|0;HEAP8[$$byval_copy366+2>>0]=HEAP8[$51+2>>0]|0;HEAP8[$$byval_copy366+3>>0]=HEAP8[$51+3>>0]|0; + _DrawTextureRec($$byval_copy319,$font$byval_copy364,$$byval_copy365,$$byval_copy366); + $$sink6$sink11 = $52;$curFrame3$sink$sink = 161396; + break; + } + } + } while(0); + HEAP32[$$sink6$sink11>>2] = 516; + $556 = ((($$sink6$sink11)) + 4|0); + HEAP32[$556>>2] = 930; + $557 = ((($$sink6$sink11)) + 8|0); + HEAP32[$557>>2] = 256; + $558 = ((($$sink6$sink11)) + 12|0); + HEAP32[$558>>2] = 128; + $559 = HEAP32[(161604)>>2]|0; + $560 = HEAP32[$curFrame3$sink$sink>>2]|0; + $561 = Math_imul($560, $559)|0; + $562 = (($561) + 516)|0; + HEAP32[40399] = $562; + } + } + $563 = (($$011111164) + -1)|0; + $564 = ($563|0)>(-2); + if ($564) { + $$011111164 = $563; + } else { + break; + } + } + $537 = (($$011101165) + 1)|0; + $exitcond1186 = ($537|0)==(10); + if ($exitcond1186) { + break; + } else { + $$011101165 = $537; + } + } + $517 = ((($53)) + 4|0); + $518 = ((($53)) + 8|0); + $519 = ((($53)) + 12|0); + $520 = ((($54)) + 4|0); + $521 = ((($54)) + 8|0); + $522 = ((($54)) + 12|0); + $523 = ((($55)) + 4|0); + $$011121163 = 0; + while(1) { + $589 = (258008 + ($$011121163<<2)|0); + $590 = HEAP32[$589>>2]|0; + $591 = ($590|0)==(0); + if (!($591)) { + $592 = (_GetScreenHeight()|0); + $593 = ($592|0)>(0); + if ($593) { + $594 = (257848 + ($$011121163<<4)|0); + $595 = (((257848 + ($$011121163<<4)|0)) + 4|0); + $$011131162 = 0; + while(1) { + HEAP32[$53>>2] = 385; + HEAP32[$517>>2] = 1728; + HEAP32[$518>>2] = 32; + HEAP32[$519>>2] = 128; + $596 = HEAP32[$594>>2]|0; + $597 = (($596) + -5)|0; + HEAP32[$54>>2] = $597; + $598 = HEAP32[$595>>2]|0; + $599 = (($598) + ($$011131162))|0; + HEAP32[$520>>2] = $599; + HEAP32[$521>>2] = 32; + HEAP32[$522>>2] = 128; + HEAPF32[$55>>2] = 0.0; + HEAPF32[$523>>2] = 0.0; + HEAP32[$56>>2] = -1; + ;HEAP32[$atlas01$byval_copy318>>2]=HEAP32[25512>>2]|0;HEAP32[$atlas01$byval_copy318+4>>2]=HEAP32[25512+4>>2]|0;HEAP32[$atlas01$byval_copy318+8>>2]=HEAP32[25512+8>>2]|0;HEAP32[$atlas01$byval_copy318+12>>2]=HEAP32[25512+12>>2]|0;HEAP32[$atlas01$byval_copy318+16>>2]=HEAP32[25512+16>>2]|0; + ;HEAP32[$$byval_copy319>>2]=HEAP32[$53>>2]|0;HEAP32[$$byval_copy319+4>>2]=HEAP32[$53+4>>2]|0;HEAP32[$$byval_copy319+8>>2]=HEAP32[$53+8>>2]|0;HEAP32[$$byval_copy319+12>>2]=HEAP32[$53+12>>2]|0; + ;HEAP32[$font$byval_copy364>>2]=HEAP32[$54>>2]|0;HEAP32[$font$byval_copy364+4>>2]=HEAP32[$54+4>>2]|0;HEAP32[$font$byval_copy364+8>>2]=HEAP32[$54+8>>2]|0;HEAP32[$font$byval_copy364+12>>2]=HEAP32[$54+12>>2]|0; + ;HEAP32[$$byval_copy365>>2]=HEAP32[$55>>2]|0;HEAP32[$$byval_copy365+4>>2]=HEAP32[$55+4>>2]|0; + ;HEAP8[$$byval_copy366>>0]=HEAP8[$56>>0]|0;HEAP8[$$byval_copy366+1>>0]=HEAP8[$56+1>>0]|0;HEAP8[$$byval_copy366+2>>0]=HEAP8[$56+2>>0]|0;HEAP8[$$byval_copy366+3>>0]=HEAP8[$56+3>>0]|0; + _DrawTexturePro($atlas01$byval_copy318,$$byval_copy319,$font$byval_copy364,$$byval_copy365,0.0,$$byval_copy366); + $600 = (_GetScreenHeight()|0); + $601 = (($600|0) / 6)&-1; + $602 = (($601) + ($$011131162))|0; + $603 = (_GetScreenHeight()|0); + $604 = ($602|0)<($603|0); + if ($604) { + $$011131162 = $602; + } else { + break; + } + } + } + } + $605 = (($$011121163) + 1)|0; + $exitcond1185 = ($605|0)==(10); + if ($exitcond1185) { + break; + } else { + $$011121163 = $605; + } + } + dest=$$byval_copy366; src=25552; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _BeginShaderMode($$byval_copy366); + HEAP32[$57>>2] = 1146; + $565 = ((($57)) + 4|0); + HEAP32[$565>>2] = 2; + $566 = ((($57)) + 8|0); + HEAP32[$566>>2] = 640; + $567 = ((($57)) + 12|0); + HEAP32[$567>>2] = 77; + $568 = +HEAPF32[40332]; + $569 = (~~(($568))); + $570 = (_GetScreenWidth()|0); + $571 = (($569) + ($570))|0; + HEAP32[$58>>2] = $571; + $572 = ((($58)) + 4|0); + HEAP32[$572>>2] = 637; + $573 = ((($58)) + 8|0); + HEAP32[$573>>2] = 1280; + $574 = ((($58)) + 12|0); + HEAP32[$574>>2] = 154; + HEAPF32[$59>>2] = 0.0; + $575 = ((($59)) + 4|0); + HEAPF32[$575>>2] = 0.0; + ;HEAP32[$atlas01$byval_copy318>>2]=HEAP32[25532>>2]|0;HEAP32[$atlas01$byval_copy318+4>>2]=HEAP32[25532+4>>2]|0;HEAP32[$atlas01$byval_copy318+8>>2]=HEAP32[25532+8>>2]|0;HEAP32[$atlas01$byval_copy318+12>>2]=HEAP32[25532+12>>2]|0;HEAP32[$atlas01$byval_copy318+16>>2]=HEAP32[25532+16>>2]|0; + ;HEAP32[$$byval_copy319>>2]=HEAP32[$57>>2]|0;HEAP32[$$byval_copy319+4>>2]=HEAP32[$57+4>>2]|0;HEAP32[$$byval_copy319+8>>2]=HEAP32[$57+8>>2]|0;HEAP32[$$byval_copy319+12>>2]=HEAP32[$57+12>>2]|0; + ;HEAP32[$font$byval_copy364>>2]=HEAP32[$58>>2]|0;HEAP32[$font$byval_copy364+4>>2]=HEAP32[$58+4>>2]|0;HEAP32[$font$byval_copy364+8>>2]=HEAP32[$58+8>>2]|0;HEAP32[$font$byval_copy364+12>>2]=HEAP32[$58+12>>2]|0; + ;HEAP32[$$byval_copy365>>2]=HEAP32[$59>>2]|0;HEAP32[$$byval_copy365+4>>2]=HEAP32[$59+4>>2]|0; + ;HEAP8[$$byval_copy366>>0]=HEAP8[161532>>0]|0;HEAP8[$$byval_copy366+1>>0]=HEAP8[161532+1>>0]|0;HEAP8[$$byval_copy366+2>>0]=HEAP8[161532+2>>0]|0;HEAP8[$$byval_copy366+3>>0]=HEAP8[161532+3>>0]|0; + _DrawTexturePro($atlas01$byval_copy318,$$byval_copy319,$font$byval_copy364,$$byval_copy365,0.0,$$byval_copy366); + HEAP32[$60>>2] = 1146; + $576 = ((($60)) + 4|0); + HEAP32[$576>>2] = 2; + $577 = ((($60)) + 8|0); + HEAP32[$577>>2] = 640; + $578 = ((($60)) + 12|0); + HEAP32[$578>>2] = 77; + $579 = +HEAPF32[40332]; + $580 = (~~(($579))); + HEAP32[$61>>2] = $580; + $581 = ((($61)) + 4|0); + HEAP32[$581>>2] = 637; + $582 = ((($61)) + 8|0); + HEAP32[$582>>2] = 1280; + $583 = ((($61)) + 12|0); + HEAP32[$583>>2] = 154; + HEAPF32[$62>>2] = 0.0; + $584 = ((($62)) + 4|0); + HEAPF32[$584>>2] = 0.0; + ;HEAP32[$atlas01$byval_copy318>>2]=HEAP32[25532>>2]|0;HEAP32[$atlas01$byval_copy318+4>>2]=HEAP32[25532+4>>2]|0;HEAP32[$atlas01$byval_copy318+8>>2]=HEAP32[25532+8>>2]|0;HEAP32[$atlas01$byval_copy318+12>>2]=HEAP32[25532+12>>2]|0;HEAP32[$atlas01$byval_copy318+16>>2]=HEAP32[25532+16>>2]|0; + ;HEAP32[$$byval_copy319>>2]=HEAP32[$60>>2]|0;HEAP32[$$byval_copy319+4>>2]=HEAP32[$60+4>>2]|0;HEAP32[$$byval_copy319+8>>2]=HEAP32[$60+8>>2]|0;HEAP32[$$byval_copy319+12>>2]=HEAP32[$60+12>>2]|0; + ;HEAP32[$font$byval_copy364>>2]=HEAP32[$61>>2]|0;HEAP32[$font$byval_copy364+4>>2]=HEAP32[$61+4>>2]|0;HEAP32[$font$byval_copy364+8>>2]=HEAP32[$61+8>>2]|0;HEAP32[$font$byval_copy364+12>>2]=HEAP32[$61+12>>2]|0; + ;HEAP32[$$byval_copy365>>2]=HEAP32[$62>>2]|0;HEAP32[$$byval_copy365+4>>2]=HEAP32[$62+4>>2]|0; + ;HEAP8[$$byval_copy366>>0]=HEAP8[161532>>0]|0;HEAP8[$$byval_copy366+1>>0]=HEAP8[161532+1>>0]|0;HEAP8[$$byval_copy366+2>>0]=HEAP8[161532+2>>0]|0;HEAP8[$$byval_copy366+3>>0]=HEAP8[161532+3>>0]|0; + _DrawTexturePro($atlas01$byval_copy318,$$byval_copy319,$font$byval_copy364,$$byval_copy365,0.0,$$byval_copy366); + _EndShaderMode(); + $585 = ((($63)) + 4|0); + $586 = ((($63)) + 8|0); + $587 = ((($63)) + 12|0); + $588 = ((($64)) + 4|0); + $$011141161 = 0; + while(1) { + $628 = (258048 + ($$011141161<<2)|0); + $629 = HEAP32[$628>>2]|0; + $630 = ($629|0)==(0); + if (!($630)) { + HEAP32[$63>>2] = 405; + HEAP32[$585>>2] = 1423; + HEAP32[$586>>2] = 32; + HEAP32[$587>>2] = 64; + $631 = (258088 + ($$011141161<<4)|0); + $632 = HEAP32[$631>>2]|0; + $633 = (((258088 + ($$011141161<<4)|0)) + 8|0); + $634 = HEAP32[$633>>2]|0; + $635 = (($634|0) / 3)&-1; + $636 = (($632) - ($635))|0; + $637 = (+($636|0)); + HEAPF32[$64>>2] = $637; + $638 = (((258088 + ($$011141161<<4)|0)) + 4|0); + $639 = HEAP32[$638>>2]|0; + $640 = (((258088 + ($$011141161<<4)|0)) + 12|0); + $641 = HEAP32[$640>>2]|0; + $642 = (($641|0) / 5)&-1; + $643 = (($639) - ($642))|0; + $644 = (+($643|0)); + HEAPF32[$588>>2] = $644; + HEAP32[$65>>2] = -1; + ;HEAP32[$$byval_copy319>>2]=HEAP32[25512>>2]|0;HEAP32[$$byval_copy319+4>>2]=HEAP32[25512+4>>2]|0;HEAP32[$$byval_copy319+8>>2]=HEAP32[25512+8>>2]|0;HEAP32[$$byval_copy319+12>>2]=HEAP32[25512+12>>2]|0;HEAP32[$$byval_copy319+16>>2]=HEAP32[25512+16>>2]|0; + ;HEAP32[$font$byval_copy364>>2]=HEAP32[$63>>2]|0;HEAP32[$font$byval_copy364+4>>2]=HEAP32[$63+4>>2]|0;HEAP32[$font$byval_copy364+8>>2]=HEAP32[$63+8>>2]|0;HEAP32[$font$byval_copy364+12>>2]=HEAP32[$63+12>>2]|0; + ;HEAP32[$$byval_copy365>>2]=HEAP32[$64>>2]|0;HEAP32[$$byval_copy365+4>>2]=HEAP32[$64+4>>2]|0; + ;HEAP8[$$byval_copy366>>0]=HEAP8[$65>>0]|0;HEAP8[$$byval_copy366+1>>0]=HEAP8[$65+1>>0]|0;HEAP8[$$byval_copy366+2>>0]=HEAP8[$65+2>>0]|0;HEAP8[$$byval_copy366+3>>0]=HEAP8[$65+3>>0]|0; + _DrawTextureRec($$byval_copy319,$font$byval_copy364,$$byval_copy365,$$byval_copy366); + } + $645 = (($$011141161) + 1)|0; + $exitcond1184 = ($645|0)==(10); + if ($exitcond1184) { + break; + } else { + $$011141161 = $645; + } + } + $606 = ((($81)) + 4|0); + $607 = ((($81)) + 8|0); + $608 = ((($81)) + 12|0); + $609 = ((($82)) + 4|0); + $610 = ((($82)) + 8|0); + $611 = ((($82)) + 12|0); + $612 = ((($83)) + 4|0); + $613 = ((($76)) + 4|0); + $614 = ((($78)) + 4|0); + $615 = ((($78)) + 8|0); + $616 = ((($78)) + 12|0); + $617 = ((($79)) + 4|0); + $618 = ((($71)) + 4|0); + $619 = ((($73)) + 4|0); + $620 = ((($73)) + 8|0); + $621 = ((($73)) + 12|0); + $622 = ((($74)) + 4|0); + $623 = ((($66)) + 4|0); + $624 = ((($68)) + 4|0); + $625 = ((($68)) + 8|0); + $626 = ((($68)) + 12|0); + $627 = ((($69)) + 4|0); + $$011151160 = 0; + while(1) { + $685 = (258704 + ($$011151160<<2)|0); + $686 = HEAP32[$685>>2]|0; + $687 = ($686|0)==(0); + do { + if (!($687)) { + $688 = (258768 + ($$011151160<<2)|0); + $689 = HEAP32[$688>>2]|0; + $690 = ($689|0)==(0); + $691 = (258448 + ($$011151160<<4)|0); + $692 = HEAP32[$691>>2]|0; + $693 = (((258448 + ($$011151160<<4)|0)) + 8|0); + $694 = HEAP32[$693>>2]|0; + $695 = (((258448 + ($$011151160<<4)|0)) + 4|0); + $696 = HEAP32[$695>>2]|0; + $697 = (((258448 + ($$011151160<<4)|0)) + 12|0); + $698 = HEAP32[$697>>2]|0; + $699 = (($698|0) / 2)&-1; + $700 = (($696) - ($699))|0; + $701 = (+($700|0)); + if ($690) { + $702 = (($692) - ($694))|0; + $703 = (+($702|0)); + HEAPF32[$66>>2] = $703; + HEAPF32[$623>>2] = $701; + HEAP32[$67>>2] = -1; + ;HEAP32[$$byval_copy319>>2]=HEAP32[25512>>2]|0;HEAP32[$$byval_copy319+4>>2]=HEAP32[25512+4>>2]|0;HEAP32[$$byval_copy319+8>>2]=HEAP32[25512+8>>2]|0;HEAP32[$$byval_copy319+12>>2]=HEAP32[25512+12>>2]|0;HEAP32[$$byval_copy319+16>>2]=HEAP32[25512+16>>2]|0; + ;HEAP32[$font$byval_copy364>>2]=HEAP32[161660>>2]|0;HEAP32[$font$byval_copy364+4>>2]=HEAP32[161660+4>>2]|0;HEAP32[$font$byval_copy364+8>>2]=HEAP32[161660+8>>2]|0;HEAP32[$font$byval_copy364+12>>2]=HEAP32[161660+12>>2]|0; + ;HEAP32[$$byval_copy365>>2]=HEAP32[$66>>2]|0;HEAP32[$$byval_copy365+4>>2]=HEAP32[$66+4>>2]|0; + ;HEAP8[$$byval_copy366>>0]=HEAP8[$67>>0]|0;HEAP8[$$byval_copy366+1>>0]=HEAP8[$67+1>>0]|0;HEAP8[$$byval_copy366+2>>0]=HEAP8[$67+2>>0]|0;HEAP8[$$byval_copy366+3>>0]=HEAP8[$67+3>>0]|0; + _DrawTextureRec($$byval_copy319,$font$byval_copy364,$$byval_copy365,$$byval_copy366); + break; + } else { + $704 = HEAP32[(161668)>>2]|0; + $705 = $704 << 1; + $706 = (($705) + 1025)|0; + HEAP32[$68>>2] = $706; + HEAP32[$624>>2] = 254; + HEAP32[$625>>2] = $704; + $707 = HEAP32[(161672)>>2]|0; + HEAP32[$626>>2] = $707; + $708 = (($694|0) / 2)&-1; + $709 = (($692) - ($708))|0; + $710 = (+($709|0)); + HEAPF32[$69>>2] = $710; + HEAPF32[$627>>2] = $701; + HEAP32[$70>>2] = -1; + ;HEAP32[$$byval_copy319>>2]=HEAP32[25512>>2]|0;HEAP32[$$byval_copy319+4>>2]=HEAP32[25512+4>>2]|0;HEAP32[$$byval_copy319+8>>2]=HEAP32[25512+8>>2]|0;HEAP32[$$byval_copy319+12>>2]=HEAP32[25512+12>>2]|0;HEAP32[$$byval_copy319+16>>2]=HEAP32[25512+16>>2]|0; + ;HEAP32[$font$byval_copy364>>2]=HEAP32[$68>>2]|0;HEAP32[$font$byval_copy364+4>>2]=HEAP32[$68+4>>2]|0;HEAP32[$font$byval_copy364+8>>2]=HEAP32[$68+8>>2]|0;HEAP32[$font$byval_copy364+12>>2]=HEAP32[$68+12>>2]|0; + ;HEAP32[$$byval_copy365>>2]=HEAP32[$69>>2]|0;HEAP32[$$byval_copy365+4>>2]=HEAP32[$69+4>>2]|0; + ;HEAP8[$$byval_copy366>>0]=HEAP8[$70>>0]|0;HEAP8[$$byval_copy366+1>>0]=HEAP8[$70+1>>0]|0;HEAP8[$$byval_copy366+2>>0]=HEAP8[$70+2>>0]|0;HEAP8[$$byval_copy366+3>>0]=HEAP8[$70+3>>0]|0; + _DrawTextureRec($$byval_copy319,$font$byval_copy364,$$byval_copy365,$$byval_copy366); + break; + } + } + } while(0); + $711 = (259088 + ($$011151160<<2)|0); + $712 = HEAP32[$711>>2]|0; + $713 = ($712|0)==(0); + do { + if (!($713)) { + $714 = (259152 + ($$011151160<<2)|0); + $715 = HEAP32[$714>>2]|0; + $716 = ($715|0)==(0); + $717 = (258832 + ($$011151160<<4)|0); + $718 = HEAP32[$717>>2]|0; + $719 = (((258832 + ($$011151160<<4)|0)) + 12|0); + $720 = HEAP32[$719>>2]|0; + $721 = (((258832 + ($$011151160<<4)|0)) + 8|0); + $722 = HEAP32[$721>>2]|0; + $723 = (((258832 + ($$011151160<<4)|0)) + 4|0); + $724 = HEAP32[$723>>2]|0; + $725 = (($722|0) / 2)&-1; + $726 = (($720|0) / 4)&-1; + $727 = (($718) - ($725))|0; + $728 = (+($727|0)); + $729 = (($724) - ($726))|0; + $730 = (+($729|0)); + if ($716) { + HEAPF32[$71>>2] = $728; + HEAPF32[$618>>2] = $730; + HEAP32[$72>>2] = -1; + ;HEAP32[$$byval_copy319>>2]=HEAP32[25512>>2]|0;HEAP32[$$byval_copy319+4>>2]=HEAP32[25512+4>>2]|0;HEAP32[$$byval_copy319+8>>2]=HEAP32[25512+8>>2]|0;HEAP32[$$byval_copy319+12>>2]=HEAP32[25512+12>>2]|0;HEAP32[$$byval_copy319+16>>2]=HEAP32[25512+16>>2]|0; + ;HEAP32[$font$byval_copy364>>2]=HEAP32[161676>>2]|0;HEAP32[$font$byval_copy364+4>>2]=HEAP32[161676+4>>2]|0;HEAP32[$font$byval_copy364+8>>2]=HEAP32[161676+8>>2]|0;HEAP32[$font$byval_copy364+12>>2]=HEAP32[161676+12>>2]|0; + ;HEAP32[$$byval_copy365>>2]=HEAP32[$71>>2]|0;HEAP32[$$byval_copy365+4>>2]=HEAP32[$71+4>>2]|0; + ;HEAP8[$$byval_copy366>>0]=HEAP8[$72>>0]|0;HEAP8[$$byval_copy366+1>>0]=HEAP8[$72+1>>0]|0;HEAP8[$$byval_copy366+2>>0]=HEAP8[$72+2>>0]|0;HEAP8[$$byval_copy366+3>>0]=HEAP8[$72+3>>0]|0; + _DrawTextureRec($$byval_copy319,$font$byval_copy364,$$byval_copy365,$$byval_copy366); + break; + } else { + $731 = HEAP32[(161684)>>2]|0; + $732 = $731 << 1; + $733 = (($732) + 755)|0; + HEAP32[$73>>2] = $733; + HEAP32[$619>>2] = 1079; + HEAP32[$620>>2] = $731; + $734 = HEAP32[(161688)>>2]|0; + HEAP32[$621>>2] = $734; + HEAPF32[$74>>2] = $728; + HEAPF32[$622>>2] = $730; + HEAP32[$75>>2] = -1; + ;HEAP32[$$byval_copy319>>2]=HEAP32[25512>>2]|0;HEAP32[$$byval_copy319+4>>2]=HEAP32[25512+4>>2]|0;HEAP32[$$byval_copy319+8>>2]=HEAP32[25512+8>>2]|0;HEAP32[$$byval_copy319+12>>2]=HEAP32[25512+12>>2]|0;HEAP32[$$byval_copy319+16>>2]=HEAP32[25512+16>>2]|0; + ;HEAP32[$font$byval_copy364>>2]=HEAP32[$73>>2]|0;HEAP32[$font$byval_copy364+4>>2]=HEAP32[$73+4>>2]|0;HEAP32[$font$byval_copy364+8>>2]=HEAP32[$73+8>>2]|0;HEAP32[$font$byval_copy364+12>>2]=HEAP32[$73+12>>2]|0; + ;HEAP32[$$byval_copy365>>2]=HEAP32[$74>>2]|0;HEAP32[$$byval_copy365+4>>2]=HEAP32[$74+4>>2]|0; + ;HEAP8[$$byval_copy366>>0]=HEAP8[$75>>0]|0;HEAP8[$$byval_copy366+1>>0]=HEAP8[$75+1>>0]|0;HEAP8[$$byval_copy366+2>>0]=HEAP8[$75+2>>0]|0;HEAP8[$$byval_copy366+3>>0]=HEAP8[$75+3>>0]|0; + _DrawTextureRec($$byval_copy319,$font$byval_copy364,$$byval_copy365,$$byval_copy366); + break; + } + } + } while(0); + $735 = (259472 + ($$011151160<<2)|0); + $736 = HEAP32[$735>>2]|0; + $737 = ($736|0)==(0); + do { + if (!($737)) { + $738 = (259600 + ($$011151160<<2)|0); + $739 = HEAP32[$738>>2]|0; + $740 = ($739|0)==(0); + $741 = (((259216 + ($$011151160<<4)|0)) + 12|0); + $742 = HEAP32[$741>>2]|0; + $743 = (((259216 + ($$011151160<<4)|0)) + 4|0); + $744 = HEAP32[$743>>2]|0; + $745 = (((259216 + ($$011151160<<4)|0)) + 8|0); + $746 = HEAP32[$745>>2]|0; + $747 = (259216 + ($$011151160<<4)|0); + $748 = HEAP32[$747>>2]|0; + if ($740) { + $749 = (+($748|0)); + $750 = (+($746|0)); + $751 = $750 * 0.69999999999999996; + $752 = $749 - $751; + $753 = $752; + HEAPF32[$76>>2] = $753; + $754 = (+($744|0)); + $755 = (+($742|0)); + $756 = $755 * 0.10000000000000001; + $757 = $754 - $756; + $758 = $757; + HEAPF32[$613>>2] = $758; + HEAP32[$77>>2] = -1; + ;HEAP32[$$byval_copy319>>2]=HEAP32[25512>>2]|0;HEAP32[$$byval_copy319+4>>2]=HEAP32[25512+4>>2]|0;HEAP32[$$byval_copy319+8>>2]=HEAP32[25512+8>>2]|0;HEAP32[$$byval_copy319+12>>2]=HEAP32[25512+12>>2]|0;HEAP32[$$byval_copy319+16>>2]=HEAP32[25512+16>>2]|0; + ;HEAP32[$font$byval_copy364>>2]=HEAP32[161692>>2]|0;HEAP32[$font$byval_copy364+4>>2]=HEAP32[161692+4>>2]|0;HEAP32[$font$byval_copy364+8>>2]=HEAP32[161692+8>>2]|0;HEAP32[$font$byval_copy364+12>>2]=HEAP32[161692+12>>2]|0; + ;HEAP32[$$byval_copy365>>2]=HEAP32[$76>>2]|0;HEAP32[$$byval_copy365+4>>2]=HEAP32[$76+4>>2]|0; + ;HEAP8[$$byval_copy366>>0]=HEAP8[$77>>0]|0;HEAP8[$$byval_copy366+1>>0]=HEAP8[$77+1>>0]|0;HEAP8[$$byval_copy366+2>>0]=HEAP8[$77+2>>0]|0;HEAP8[$$byval_copy366+3>>0]=HEAP8[$77+3>>0]|0; + _DrawTextureRec($$byval_copy319,$font$byval_copy364,$$byval_copy365,$$byval_copy366); + break; + } else { + $759 = HEAP32[(161700)>>2]|0; + $760 = $759 << 1; + $761 = (($760) + 765)|0; + HEAP32[$78>>2] = $761; + HEAP32[$614>>2] = 561; + HEAP32[$615>>2] = $759; + $762 = HEAP32[(161704)>>2]|0; + HEAP32[$616>>2] = $762; + $763 = (($746|0) / 2)&-1; + $764 = (($748) - ($763))|0; + $765 = (+($764|0)); + HEAPF32[$79>>2] = $765; + $766 = (($742|0) / 6)&-1; + $767 = (($744) - ($766))|0; + $768 = (+($767|0)); + HEAPF32[$617>>2] = $768; + HEAP32[$80>>2] = -1; + ;HEAP32[$$byval_copy319>>2]=HEAP32[25512>>2]|0;HEAP32[$$byval_copy319+4>>2]=HEAP32[25512+4>>2]|0;HEAP32[$$byval_copy319+8>>2]=HEAP32[25512+8>>2]|0;HEAP32[$$byval_copy319+12>>2]=HEAP32[25512+12>>2]|0;HEAP32[$$byval_copy319+16>>2]=HEAP32[25512+16>>2]|0; + ;HEAP32[$font$byval_copy364>>2]=HEAP32[$78>>2]|0;HEAP32[$font$byval_copy364+4>>2]=HEAP32[$78+4>>2]|0;HEAP32[$font$byval_copy364+8>>2]=HEAP32[$78+8>>2]|0;HEAP32[$font$byval_copy364+12>>2]=HEAP32[$78+12>>2]|0; + ;HEAP32[$$byval_copy365>>2]=HEAP32[$79>>2]|0;HEAP32[$$byval_copy365+4>>2]=HEAP32[$79+4>>2]|0; + ;HEAP8[$$byval_copy366>>0]=HEAP8[$80>>0]|0;HEAP8[$$byval_copy366+1>>0]=HEAP8[$80+1>>0]|0;HEAP8[$$byval_copy366+2>>0]=HEAP8[$80+2>>0]|0;HEAP8[$$byval_copy366+3>>0]=HEAP8[$80+3>>0]|0; + _DrawTextureRec($$byval_copy319,$font$byval_copy364,$$byval_copy365,$$byval_copy366); + break; + } + } + } while(0); + $769 = (((259792 + (($$011151160*40)|0)|0)) + 36|0); + $770 = HEAP32[$769>>2]|0; + $771 = ($770|0)==(0); + if (!($771)) { + HEAP32[$81>>2] = 296; + HEAP32[$606>>2] = 1885; + HEAP32[$607>>2] = 56; + HEAP32[$608>>2] = 53; + $772 = (259792 + (($$011151160*40)|0)|0); + $773 = +HEAPF32[$772>>2]; + $774 = (~~(($773))); + HEAP32[$82>>2] = $774; + $775 = (((259792 + (($$011151160*40)|0)|0)) + 4|0); + $776 = +HEAPF32[$775>>2]; + $777 = (~~(($776))); + HEAP32[$609>>2] = $777; + $778 = (((259792 + (($$011151160*40)|0)|0)) + 20|0); + $779 = +HEAPF32[$778>>2]; + $780 = $779 * 56.0; + $781 = (~~(($780))); + HEAP32[$610>>2] = $781; + $782 = $779 * 53.0; + $783 = (~~(($782))); + HEAP32[$611>>2] = $783; + $784 = $780 * 0.5; + HEAPF32[$83>>2] = $784; + $785 = $782 * 0.5; + HEAPF32[$612>>2] = $785; + $786 = (((259792 + (($$011151160*40)|0)|0)) + 16|0); + $787 = +HEAPF32[$786>>2]; + $788 = (((259792 + (($$011151160*40)|0)|0)) + 24|0); + $789 = (((259792 + (($$011151160*40)|0)|0)) + 28|0); + $790 = +HEAPF32[$789>>2]; + ;HEAP8[$$byval_copy366>>0]=HEAP8[$788>>0]|0;HEAP8[$$byval_copy366+1>>0]=HEAP8[$788+1>>0]|0;HEAP8[$$byval_copy366+2>>0]=HEAP8[$788+2>>0]|0;HEAP8[$$byval_copy366+3>>0]=HEAP8[$788+3>>0]|0; + _Fade($84,$$byval_copy366,$790); + ;HEAP32[$atlas01$byval_copy318>>2]=HEAP32[25512>>2]|0;HEAP32[$atlas01$byval_copy318+4>>2]=HEAP32[25512+4>>2]|0;HEAP32[$atlas01$byval_copy318+8>>2]=HEAP32[25512+8>>2]|0;HEAP32[$atlas01$byval_copy318+12>>2]=HEAP32[25512+12>>2]|0;HEAP32[$atlas01$byval_copy318+16>>2]=HEAP32[25512+16>>2]|0; + ;HEAP32[$$byval_copy319>>2]=HEAP32[$81>>2]|0;HEAP32[$$byval_copy319+4>>2]=HEAP32[$81+4>>2]|0;HEAP32[$$byval_copy319+8>>2]=HEAP32[$81+8>>2]|0;HEAP32[$$byval_copy319+12>>2]=HEAP32[$81+12>>2]|0; + ;HEAP32[$font$byval_copy364>>2]=HEAP32[$82>>2]|0;HEAP32[$font$byval_copy364+4>>2]=HEAP32[$82+4>>2]|0;HEAP32[$font$byval_copy364+8>>2]=HEAP32[$82+8>>2]|0;HEAP32[$font$byval_copy364+12>>2]=HEAP32[$82+12>>2]|0; + ;HEAP32[$$byval_copy365>>2]=HEAP32[$83>>2]|0;HEAP32[$$byval_copy365+4>>2]=HEAP32[$83+4>>2]|0; + ;HEAP8[$$byval_copy366>>0]=HEAP8[$84>>0]|0;HEAP8[$$byval_copy366+1>>0]=HEAP8[$84+1>>0]|0;HEAP8[$$byval_copy366+2>>0]=HEAP8[$84+2>>0]|0;HEAP8[$$byval_copy366+3>>0]=HEAP8[$84+3>>0]|0; + _DrawTexturePro($atlas01$byval_copy318,$$byval_copy319,$font$byval_copy364,$$byval_copy365,$787,$$byval_copy366); + } + $791 = (($$011151160) + 1)|0; + $exitcond1183 = ($791|0)==(16); + if ($exitcond1183) { + break; + } else { + $$011151160 = $791; + } + } + $646 = ((($109)) + 4|0); + $647 = ((($109)) + 8|0); + $648 = ((($109)) + 12|0); + $649 = ((($110)) + 4|0); + $650 = ((($110)) + 8|0); + $651 = ((($110)) + 12|0); + $652 = ((($111)) + 4|0); + $653 = ((($97)) + 4|0); + $654 = ((($97)) + 8|0); + $655 = ((($97)) + 12|0); + $656 = ((($98)) + 4|0); + $657 = ((($100)) + 4|0); + $658 = ((($100)) + 8|0); + $659 = ((($100)) + 12|0); + $660 = ((($101)) + 4|0); + $661 = ((($103)) + 4|0); + $662 = ((($103)) + 8|0); + $663 = ((($103)) + 12|0); + $664 = ((($104)) + 4|0); + $665 = ((($106)) + 4|0); + $666 = ((($106)) + 8|0); + $667 = ((($106)) + 12|0); + $668 = ((($107)) + 4|0); + $669 = ((($85)) + 4|0); + $670 = ((($85)) + 8|0); + $671 = ((($85)) + 12|0); + $672 = ((($86)) + 4|0); + $673 = ((($88)) + 4|0); + $674 = ((($88)) + 8|0); + $675 = ((($88)) + 12|0); + $676 = ((($89)) + 4|0); + $677 = ((($91)) + 4|0); + $678 = ((($91)) + 8|0); + $679 = ((($91)) + 12|0); + $680 = ((($92)) + 4|0); + $681 = ((($94)) + 4|0); + $682 = ((($94)) + 8|0); + $683 = ((($94)) + 12|0); + $684 = ((($95)) + 4|0); + $$011161158 = 0; + while(1) { + $796 = (261144 + ($$011161158<<2)|0); + $797 = HEAP32[$796>>2]|0; + $798 = ($797|0)==(0); + L95: do { + if (!($798)) { + $799 = (333764 + ($$011161158<<2)|0); + $800 = HEAP32[$799>>2]|0; + $801 = ($800|0)==(0); + $802 = (261200 + ($$011161158<<2)|0); + $803 = HEAP32[$802>>2]|0; + $804 = ($803|0)==(0); + if ($801) { + if ($804) { + HEAP32[$97>>2] = 1923; + HEAP32[$653>>2] = 166; + HEAP32[$654>>2] = 64; + HEAP32[$655>>2] = 64; + $833 = (260920 + ($$011161158<<4)|0); + $834 = HEAP32[$833>>2]|0; + $835 = (($834) + -25)|0; + $836 = (+($835|0)); + HEAPF32[$98>>2] = $836; + $837 = (((260920 + ($$011161158<<4)|0)) + 4|0); + $838 = HEAP32[$837>>2]|0; + $839 = (($838) + -15)|0; + $840 = (+($839|0)); + HEAPF32[$656>>2] = $840; + HEAP32[$99>>2] = -1; + ;HEAP32[$$byval_copy319>>2]=HEAP32[25512>>2]|0;HEAP32[$$byval_copy319+4>>2]=HEAP32[25512+4>>2]|0;HEAP32[$$byval_copy319+8>>2]=HEAP32[25512+8>>2]|0;HEAP32[$$byval_copy319+12>>2]=HEAP32[25512+12>>2]|0;HEAP32[$$byval_copy319+16>>2]=HEAP32[25512+16>>2]|0; + ;HEAP32[$font$byval_copy364>>2]=HEAP32[$97>>2]|0;HEAP32[$font$byval_copy364+4>>2]=HEAP32[$97+4>>2]|0;HEAP32[$font$byval_copy364+8>>2]=HEAP32[$97+8>>2]|0;HEAP32[$font$byval_copy364+12>>2]=HEAP32[$97+12>>2]|0; + ;HEAP32[$$byval_copy365>>2]=HEAP32[$98>>2]|0;HEAP32[$$byval_copy365+4>>2]=HEAP32[$98+4>>2]|0; + ;HEAP8[$$byval_copy366>>0]=HEAP8[$99>>0]|0;HEAP8[$$byval_copy366+1>>0]=HEAP8[$99+1>>0]|0;HEAP8[$$byval_copy366+2>>0]=HEAP8[$99+2>>0]|0;HEAP8[$$byval_copy366+3>>0]=HEAP8[$99+3>>0]|0; + _DrawTextureRec($$byval_copy319,$font$byval_copy364,$$byval_copy365,$$byval_copy366); + break; + } + switch ($803|0) { + case 1: { + HEAP32[$100>>2] = 1923; + HEAP32[$657>>2] = 166; + HEAP32[$658>>2] = 64; + HEAP32[$659>>2] = 64; + $841 = (260920 + ($$011161158<<4)|0); + $842 = HEAP32[$841>>2]|0; + $843 = (($842) + -25)|0; + $844 = (+($843|0)); + HEAPF32[$101>>2] = $844; + $845 = (((260920 + ($$011161158<<4)|0)) + 4|0); + $846 = HEAP32[$845>>2]|0; + $847 = (($846) + 10)|0; + $848 = (+($847|0)); + HEAPF32[$660>>2] = $848; + HEAP32[$102>>2] = -1; + ;HEAP32[$$byval_copy319>>2]=HEAP32[25512>>2]|0;HEAP32[$$byval_copy319+4>>2]=HEAP32[25512+4>>2]|0;HEAP32[$$byval_copy319+8>>2]=HEAP32[25512+8>>2]|0;HEAP32[$$byval_copy319+12>>2]=HEAP32[25512+12>>2]|0;HEAP32[$$byval_copy319+16>>2]=HEAP32[25512+16>>2]|0; + ;HEAP32[$font$byval_copy364>>2]=HEAP32[$100>>2]|0;HEAP32[$font$byval_copy364+4>>2]=HEAP32[$100+4>>2]|0;HEAP32[$font$byval_copy364+8>>2]=HEAP32[$100+8>>2]|0;HEAP32[$font$byval_copy364+12>>2]=HEAP32[$100+12>>2]|0; + ;HEAP32[$$byval_copy365>>2]=HEAP32[$101>>2]|0;HEAP32[$$byval_copy365+4>>2]=HEAP32[$101+4>>2]|0; + ;HEAP8[$$byval_copy366>>0]=HEAP8[$102>>0]|0;HEAP8[$$byval_copy366+1>>0]=HEAP8[$102+1>>0]|0;HEAP8[$$byval_copy366+2>>0]=HEAP8[$102+2>>0]|0;HEAP8[$$byval_copy366+3>>0]=HEAP8[$102+3>>0]|0; + _DrawTextureRec($$byval_copy319,$font$byval_copy364,$$byval_copy365,$$byval_copy366); + break L95; + break; + } + case 2: { + HEAP32[$103>>2] = 316; + HEAP32[$661>>2] = 1940; + HEAP32[$662>>2] = 64; + HEAP32[$663>>2] = 64; + $849 = (260920 + ($$011161158<<4)|0); + $850 = HEAP32[$849>>2]|0; + $851 = (($850) + -25)|0; + $852 = (+($851|0)); + HEAPF32[$104>>2] = $852; + $853 = (((260920 + ($$011161158<<4)|0)) + 4|0); + $854 = HEAP32[$853>>2]|0; + $855 = (($854) + -15)|0; + $856 = (+($855|0)); + HEAPF32[$664>>2] = $856; + HEAP32[$105>>2] = -1; + ;HEAP32[$$byval_copy319>>2]=HEAP32[25512>>2]|0;HEAP32[$$byval_copy319+4>>2]=HEAP32[25512+4>>2]|0;HEAP32[$$byval_copy319+8>>2]=HEAP32[25512+8>>2]|0;HEAP32[$$byval_copy319+12>>2]=HEAP32[25512+12>>2]|0;HEAP32[$$byval_copy319+16>>2]=HEAP32[25512+16>>2]|0; + ;HEAP32[$font$byval_copy364>>2]=HEAP32[$103>>2]|0;HEAP32[$font$byval_copy364+4>>2]=HEAP32[$103+4>>2]|0;HEAP32[$font$byval_copy364+8>>2]=HEAP32[$103+8>>2]|0;HEAP32[$font$byval_copy364+12>>2]=HEAP32[$103+12>>2]|0; + ;HEAP32[$$byval_copy365>>2]=HEAP32[$104>>2]|0;HEAP32[$$byval_copy365+4>>2]=HEAP32[$104+4>>2]|0; + ;HEAP8[$$byval_copy366>>0]=HEAP8[$105>>0]|0;HEAP8[$$byval_copy366+1>>0]=HEAP8[$105+1>>0]|0;HEAP8[$$byval_copy366+2>>0]=HEAP8[$105+2>>0]|0;HEAP8[$$byval_copy366+3>>0]=HEAP8[$105+3>>0]|0; + _DrawTextureRec($$byval_copy319,$font$byval_copy364,$$byval_copy365,$$byval_copy366); + break L95; + break; + } + case 3: { + HEAP32[$106>>2] = 1857; + HEAP32[$665>>2] = 166; + HEAP32[$666>>2] = 64; + HEAP32[$667>>2] = 64; + $857 = (260920 + ($$011161158<<4)|0); + $858 = HEAP32[$857>>2]|0; + $859 = (($858) + -25)|0; + $860 = (+($859|0)); + HEAPF32[$107>>2] = $860; + $861 = (((260920 + ($$011161158<<4)|0)) + 4|0); + $862 = HEAP32[$861>>2]|0; + $863 = (($862) + -15)|0; + $864 = (+($863|0)); + HEAPF32[$668>>2] = $864; + HEAP32[$108>>2] = -1; + ;HEAP32[$$byval_copy319>>2]=HEAP32[25512>>2]|0;HEAP32[$$byval_copy319+4>>2]=HEAP32[25512+4>>2]|0;HEAP32[$$byval_copy319+8>>2]=HEAP32[25512+8>>2]|0;HEAP32[$$byval_copy319+12>>2]=HEAP32[25512+12>>2]|0;HEAP32[$$byval_copy319+16>>2]=HEAP32[25512+16>>2]|0; + ;HEAP32[$font$byval_copy364>>2]=HEAP32[$106>>2]|0;HEAP32[$font$byval_copy364+4>>2]=HEAP32[$106+4>>2]|0;HEAP32[$font$byval_copy364+8>>2]=HEAP32[$106+8>>2]|0;HEAP32[$font$byval_copy364+12>>2]=HEAP32[$106+12>>2]|0; + ;HEAP32[$$byval_copy365>>2]=HEAP32[$107>>2]|0;HEAP32[$$byval_copy365+4>>2]=HEAP32[$107+4>>2]|0; + ;HEAP8[$$byval_copy366>>0]=HEAP8[$108>>0]|0;HEAP8[$$byval_copy366+1>>0]=HEAP8[$108+1>>0]|0;HEAP8[$$byval_copy366+2>>0]=HEAP8[$108+2>>0]|0;HEAP8[$$byval_copy366+3>>0]=HEAP8[$108+3>>0]|0; + _DrawTextureRec($$byval_copy319,$font$byval_copy364,$$byval_copy365,$$byval_copy366); + break L95; + break; + } + default: { + break L95; + } + } + } else { + if ($804) { + HEAP32[$85>>2] = 1923; + HEAP32[$669>>2] = 166; + HEAP32[$670>>2] = -64; + HEAP32[$671>>2] = 64; + $805 = (260920 + ($$011161158<<4)|0); + $806 = HEAP32[$805>>2]|0; + $807 = (+($806|0)); + HEAPF32[$86>>2] = $807; + $808 = (((260920 + ($$011161158<<4)|0)) + 4|0); + $809 = HEAP32[$808>>2]|0; + $810 = (($809) + -15)|0; + $811 = (+($810|0)); + HEAPF32[$672>>2] = $811; + HEAP32[$87>>2] = -1; + ;HEAP32[$$byval_copy319>>2]=HEAP32[25512>>2]|0;HEAP32[$$byval_copy319+4>>2]=HEAP32[25512+4>>2]|0;HEAP32[$$byval_copy319+8>>2]=HEAP32[25512+8>>2]|0;HEAP32[$$byval_copy319+12>>2]=HEAP32[25512+12>>2]|0;HEAP32[$$byval_copy319+16>>2]=HEAP32[25512+16>>2]|0; + ;HEAP32[$font$byval_copy364>>2]=HEAP32[$85>>2]|0;HEAP32[$font$byval_copy364+4>>2]=HEAP32[$85+4>>2]|0;HEAP32[$font$byval_copy364+8>>2]=HEAP32[$85+8>>2]|0;HEAP32[$font$byval_copy364+12>>2]=HEAP32[$85+12>>2]|0; + ;HEAP32[$$byval_copy365>>2]=HEAP32[$86>>2]|0;HEAP32[$$byval_copy365+4>>2]=HEAP32[$86+4>>2]|0; + ;HEAP8[$$byval_copy366>>0]=HEAP8[$87>>0]|0;HEAP8[$$byval_copy366+1>>0]=HEAP8[$87+1>>0]|0;HEAP8[$$byval_copy366+2>>0]=HEAP8[$87+2>>0]|0;HEAP8[$$byval_copy366+3>>0]=HEAP8[$87+3>>0]|0; + _DrawTextureRec($$byval_copy319,$font$byval_copy364,$$byval_copy365,$$byval_copy366); + break; + } + switch ($803|0) { + case 1: { + HEAP32[$88>>2] = 1923; + HEAP32[$673>>2] = 166; + HEAP32[$674>>2] = -64; + HEAP32[$675>>2] = 64; + $812 = (260920 + ($$011161158<<4)|0); + $813 = HEAP32[$812>>2]|0; + $814 = (+($813|0)); + HEAPF32[$89>>2] = $814; + $815 = (((260920 + ($$011161158<<4)|0)) + 4|0); + $816 = HEAP32[$815>>2]|0; + $817 = (($816) + 10)|0; + $818 = (+($817|0)); + HEAPF32[$676>>2] = $818; + HEAP32[$90>>2] = -1; + ;HEAP32[$$byval_copy319>>2]=HEAP32[25512>>2]|0;HEAP32[$$byval_copy319+4>>2]=HEAP32[25512+4>>2]|0;HEAP32[$$byval_copy319+8>>2]=HEAP32[25512+8>>2]|0;HEAP32[$$byval_copy319+12>>2]=HEAP32[25512+12>>2]|0;HEAP32[$$byval_copy319+16>>2]=HEAP32[25512+16>>2]|0; + ;HEAP32[$font$byval_copy364>>2]=HEAP32[$88>>2]|0;HEAP32[$font$byval_copy364+4>>2]=HEAP32[$88+4>>2]|0;HEAP32[$font$byval_copy364+8>>2]=HEAP32[$88+8>>2]|0;HEAP32[$font$byval_copy364+12>>2]=HEAP32[$88+12>>2]|0; + ;HEAP32[$$byval_copy365>>2]=HEAP32[$89>>2]|0;HEAP32[$$byval_copy365+4>>2]=HEAP32[$89+4>>2]|0; + ;HEAP8[$$byval_copy366>>0]=HEAP8[$90>>0]|0;HEAP8[$$byval_copy366+1>>0]=HEAP8[$90+1>>0]|0;HEAP8[$$byval_copy366+2>>0]=HEAP8[$90+2>>0]|0;HEAP8[$$byval_copy366+3>>0]=HEAP8[$90+3>>0]|0; + _DrawTextureRec($$byval_copy319,$font$byval_copy364,$$byval_copy365,$$byval_copy366); + break L95; + break; + } + case 2: { + HEAP32[$91>>2] = 316; + HEAP32[$677>>2] = 1940; + HEAP32[$678>>2] = -64; + HEAP32[$679>>2] = 64; + $819 = (260920 + ($$011161158<<4)|0); + $820 = HEAP32[$819>>2]|0; + $821 = (+($820|0)); + HEAPF32[$92>>2] = $821; + $822 = (((260920 + ($$011161158<<4)|0)) + 4|0); + $823 = HEAP32[$822>>2]|0; + $824 = (($823) + -15)|0; + $825 = (+($824|0)); + HEAPF32[$680>>2] = $825; + HEAP32[$93>>2] = -1; + ;HEAP32[$$byval_copy319>>2]=HEAP32[25512>>2]|0;HEAP32[$$byval_copy319+4>>2]=HEAP32[25512+4>>2]|0;HEAP32[$$byval_copy319+8>>2]=HEAP32[25512+8>>2]|0;HEAP32[$$byval_copy319+12>>2]=HEAP32[25512+12>>2]|0;HEAP32[$$byval_copy319+16>>2]=HEAP32[25512+16>>2]|0; + ;HEAP32[$font$byval_copy364>>2]=HEAP32[$91>>2]|0;HEAP32[$font$byval_copy364+4>>2]=HEAP32[$91+4>>2]|0;HEAP32[$font$byval_copy364+8>>2]=HEAP32[$91+8>>2]|0;HEAP32[$font$byval_copy364+12>>2]=HEAP32[$91+12>>2]|0; + ;HEAP32[$$byval_copy365>>2]=HEAP32[$92>>2]|0;HEAP32[$$byval_copy365+4>>2]=HEAP32[$92+4>>2]|0; + ;HEAP8[$$byval_copy366>>0]=HEAP8[$93>>0]|0;HEAP8[$$byval_copy366+1>>0]=HEAP8[$93+1>>0]|0;HEAP8[$$byval_copy366+2>>0]=HEAP8[$93+2>>0]|0;HEAP8[$$byval_copy366+3>>0]=HEAP8[$93+3>>0]|0; + _DrawTextureRec($$byval_copy319,$font$byval_copy364,$$byval_copy365,$$byval_copy366); + break L95; + break; + } + case 3: { + HEAP32[$94>>2] = 1857; + HEAP32[$681>>2] = 166; + HEAP32[$682>>2] = -64; + HEAP32[$683>>2] = 64; + $826 = (260920 + ($$011161158<<4)|0); + $827 = HEAP32[$826>>2]|0; + $828 = (+($827|0)); + HEAPF32[$95>>2] = $828; + $829 = (((260920 + ($$011161158<<4)|0)) + 4|0); + $830 = HEAP32[$829>>2]|0; + $831 = (($830) + -15)|0; + $832 = (+($831|0)); + HEAPF32[$684>>2] = $832; + HEAP32[$96>>2] = -1; + ;HEAP32[$$byval_copy319>>2]=HEAP32[25512>>2]|0;HEAP32[$$byval_copy319+4>>2]=HEAP32[25512+4>>2]|0;HEAP32[$$byval_copy319+8>>2]=HEAP32[25512+8>>2]|0;HEAP32[$$byval_copy319+12>>2]=HEAP32[25512+12>>2]|0;HEAP32[$$byval_copy319+16>>2]=HEAP32[25512+16>>2]|0; + ;HEAP32[$font$byval_copy364>>2]=HEAP32[$94>>2]|0;HEAP32[$font$byval_copy364+4>>2]=HEAP32[$94+4>>2]|0;HEAP32[$font$byval_copy364+8>>2]=HEAP32[$94+8>>2]|0;HEAP32[$font$byval_copy364+12>>2]=HEAP32[$94+12>>2]|0; + ;HEAP32[$$byval_copy365>>2]=HEAP32[$95>>2]|0;HEAP32[$$byval_copy365+4>>2]=HEAP32[$95+4>>2]|0; + ;HEAP8[$$byval_copy366>>0]=HEAP8[$96>>0]|0;HEAP8[$$byval_copy366+1>>0]=HEAP8[$96+1>>0]|0;HEAP8[$$byval_copy366+2>>0]=HEAP8[$96+2>>0]|0;HEAP8[$$byval_copy366+3>>0]=HEAP8[$96+3>>0]|0; + _DrawTextureRec($$byval_copy319,$font$byval_copy364,$$byval_copy365,$$byval_copy366); + break L95; + break; + } + default: { + break L95; + } + } + } + } + } while(0); + $865 = (((261256 + (($$011161158*5140)|0)|0)) + 8|0); + $866 = HEAP32[$865>>2]|0; + $867 = ($866|0)==(0); + if (!($867)) { + $$011171157 = 0; + while(1) { + HEAP32[$109>>2] = 1989; + HEAP32[$646>>2] = 200; + HEAP32[$647>>2] = 32; + HEAP32[$648>>2] = 32; + $868 = ((((261256 + (($$011161158*5140)|0)|0)) + 20|0) + (($$011171157*40)|0)|0); + $869 = +HEAPF32[$868>>2]; + $870 = (~~(($869))); + HEAP32[$110>>2] = $870; + $871 = ((((((261256 + (($$011161158*5140)|0)|0)) + 20|0) + (($$011171157*40)|0)|0)) + 4|0); + $872 = +HEAPF32[$871>>2]; + $873 = (~~(($872))); + HEAP32[$649>>2] = $873; + $874 = ((((((261256 + (($$011161158*5140)|0)|0)) + 20|0) + (($$011171157*40)|0)|0)) + 20|0); + $875 = +HEAPF32[$874>>2]; + $876 = $875 * 32.0; + $877 = (~~(($876))); + HEAP32[$650>>2] = $877; + HEAP32[$651>>2] = $877; + $878 = $875 * 16.0; + HEAPF32[$111>>2] = $878; + HEAPF32[$652>>2] = $878; + $879 = ((((((261256 + (($$011161158*5140)|0)|0)) + 20|0) + (($$011171157*40)|0)|0)) + 16|0); + $880 = +HEAPF32[$879>>2]; + $881 = ((((((261256 + (($$011161158*5140)|0)|0)) + 20|0) + (($$011171157*40)|0)|0)) + 28|0); + HEAP32[$113>>2] = -1; + $882 = +HEAPF32[$881>>2]; + ;HEAP8[$$byval_copy366>>0]=HEAP8[$113>>0]|0;HEAP8[$$byval_copy366+1>>0]=HEAP8[$113+1>>0]|0;HEAP8[$$byval_copy366+2>>0]=HEAP8[$113+2>>0]|0;HEAP8[$$byval_copy366+3>>0]=HEAP8[$113+3>>0]|0; + _Fade($112,$$byval_copy366,$882); + ;HEAP32[$atlas01$byval_copy318>>2]=HEAP32[25512>>2]|0;HEAP32[$atlas01$byval_copy318+4>>2]=HEAP32[25512+4>>2]|0;HEAP32[$atlas01$byval_copy318+8>>2]=HEAP32[25512+8>>2]|0;HEAP32[$atlas01$byval_copy318+12>>2]=HEAP32[25512+12>>2]|0;HEAP32[$atlas01$byval_copy318+16>>2]=HEAP32[25512+16>>2]|0; + ;HEAP32[$$byval_copy319>>2]=HEAP32[$109>>2]|0;HEAP32[$$byval_copy319+4>>2]=HEAP32[$109+4>>2]|0;HEAP32[$$byval_copy319+8>>2]=HEAP32[$109+8>>2]|0;HEAP32[$$byval_copy319+12>>2]=HEAP32[$109+12>>2]|0; + ;HEAP32[$font$byval_copy364>>2]=HEAP32[$110>>2]|0;HEAP32[$font$byval_copy364+4>>2]=HEAP32[$110+4>>2]|0;HEAP32[$font$byval_copy364+8>>2]=HEAP32[$110+8>>2]|0;HEAP32[$font$byval_copy364+12>>2]=HEAP32[$110+12>>2]|0; + ;HEAP32[$$byval_copy365>>2]=HEAP32[$111>>2]|0;HEAP32[$$byval_copy365+4>>2]=HEAP32[$111+4>>2]|0; + ;HEAP8[$$byval_copy366>>0]=HEAP8[$112>>0]|0;HEAP8[$$byval_copy366+1>>0]=HEAP8[$112+1>>0]|0;HEAP8[$$byval_copy366+2>>0]=HEAP8[$112+2>>0]|0;HEAP8[$$byval_copy366+3>>0]=HEAP8[$112+3>>0]|0; + _DrawTexturePro($atlas01$byval_copy318,$$byval_copy319,$font$byval_copy364,$$byval_copy365,$880,$$byval_copy366); + $883 = (($$011171157) + 1)|0; + $exitcond1181 = ($883|0)==(32); + if ($exitcond1181) { + break; + } else { + $$011171157 = $883; + } + } + } + $884 = (($$011161158) + 1)|0; + $exitcond1182 = ($884|0)==(14); + if ($exitcond1182) { + break; + } else { + $$011161158 = $884; + } + } + $792 = HEAP32[65212]|0; + $793 = ($792|0)==(0); + $794 = HEAP32[83419]|0; + $795 = ($794|0)!=(0); + $or$cond = $793 | $795; + if ($or$cond) { + $891 = ($792|0)!=(0); + $or$cond14 = $891 & $795; + if ($or$cond14) { + $892 = HEAP32[(161636)>>2]|0; + $893 = $892 << 2; + $894 = (($893) + 1025)|0; + HEAP32[$116>>2] = $894; + $895 = ((($116)) + 4|0); + HEAP32[$895>>2] = 486; + $896 = ((($116)) + 8|0); + HEAP32[$896>>2] = $892; + $897 = ((($116)) + 12|0); + HEAP32[$897>>2] = 60; + $898 = HEAP32[65208]|0; + HEAP32[$117>>2] = $898; + $899 = ((($117)) + 4|0); + $900 = HEAP32[(260836)>>2]|0; + HEAP32[$899>>2] = $900; + $901 = ((($117)) + 8|0); + HEAP32[$901>>2] = $892; + $902 = ((($117)) + 12|0); + HEAP32[$902>>2] = 60; + HEAPF32[$118>>2] = 0.0; + $903 = ((($118)) + 4|0); + HEAPF32[$903>>2] = 0.0; + HEAP32[$119>>2] = -1; + ;HEAP32[$atlas01$byval_copy318>>2]=HEAP32[25512>>2]|0;HEAP32[$atlas01$byval_copy318+4>>2]=HEAP32[25512+4>>2]|0;HEAP32[$atlas01$byval_copy318+8>>2]=HEAP32[25512+8>>2]|0;HEAP32[$atlas01$byval_copy318+12>>2]=HEAP32[25512+12>>2]|0;HEAP32[$atlas01$byval_copy318+16>>2]=HEAP32[25512+16>>2]|0; + ;HEAP32[$$byval_copy319>>2]=HEAP32[$116>>2]|0;HEAP32[$$byval_copy319+4>>2]=HEAP32[$116+4>>2]|0;HEAP32[$$byval_copy319+8>>2]=HEAP32[$116+8>>2]|0;HEAP32[$$byval_copy319+12>>2]=HEAP32[$116+12>>2]|0; + ;HEAP32[$font$byval_copy364>>2]=HEAP32[$117>>2]|0;HEAP32[$font$byval_copy364+4>>2]=HEAP32[$117+4>>2]|0;HEAP32[$font$byval_copy364+8>>2]=HEAP32[$117+8>>2]|0;HEAP32[$font$byval_copy364+12>>2]=HEAP32[$117+12>>2]|0; + ;HEAP32[$$byval_copy365>>2]=HEAP32[$118>>2]|0;HEAP32[$$byval_copy365+4>>2]=HEAP32[$118+4>>2]|0; + ;HEAP8[$$byval_copy366>>0]=HEAP8[$119>>0]|0;HEAP8[$$byval_copy366+1>>0]=HEAP8[$119+1>>0]|0;HEAP8[$$byval_copy366+2>>0]=HEAP8[$119+2>>0]|0;HEAP8[$$byval_copy366+3>>0]=HEAP8[$119+3>>0]|0; + _DrawTexturePro($atlas01$byval_copy318,$$byval_copy319,$font$byval_copy364,$$byval_copy365,0.0,$$byval_copy366); + } + } else { + $885 = HEAP32[65208]|0; + $886 = (+($885|0)); + HEAPF32[$114>>2] = $886; + $887 = ((($114)) + 4|0); + $888 = HEAP32[(260836)>>2]|0; + $889 = (($888) + -30)|0; + $890 = (+($889|0)); + HEAPF32[$887>>2] = $890; + HEAP32[$115>>2] = -1; + ;HEAP32[$$byval_copy319>>2]=HEAP32[25512>>2]|0;HEAP32[$$byval_copy319+4>>2]=HEAP32[25512+4>>2]|0;HEAP32[$$byval_copy319+8>>2]=HEAP32[25512+8>>2]|0;HEAP32[$$byval_copy319+12>>2]=HEAP32[25512+12>>2]|0;HEAP32[$$byval_copy319+16>>2]=HEAP32[25512+16>>2]|0; + ;HEAP32[$font$byval_copy364>>2]=HEAP32[161628>>2]|0;HEAP32[$font$byval_copy364+4>>2]=HEAP32[161628+4>>2]|0;HEAP32[$font$byval_copy364+8>>2]=HEAP32[161628+8>>2]|0;HEAP32[$font$byval_copy364+12>>2]=HEAP32[161628+12>>2]|0; + ;HEAP32[$$byval_copy365>>2]=HEAP32[$114>>2]|0;HEAP32[$$byval_copy365+4>>2]=HEAP32[$114+4>>2]|0; + ;HEAP8[$$byval_copy366>>0]=HEAP8[$115>>0]|0;HEAP8[$$byval_copy366+1>>0]=HEAP8[$115+1>>0]|0;HEAP8[$$byval_copy366+2>>0]=HEAP8[$115+2>>0]|0;HEAP8[$$byval_copy366+3>>0]=HEAP8[$115+3>>0]|0; + _DrawTextureRec($$byval_copy319,$font$byval_copy364,$$byval_copy365,$$byval_copy366); + } + $904 = HEAP32[65223]|0; + $905 = ($904|0)==(0); + $906 = HEAP32[83409]|0; + $907 = ($906|0)!=(0); + $or$cond16 = $905 | $907; + if ($or$cond16) { + $913 = ($904|0)!=(0); + $or$cond18 = $913 & $907; + if ($or$cond18) { + HEAP32[$122>>2] = 1327; + $914 = ((($122)) + 4|0); + HEAP32[$914>>2] = 386; + $915 = ((($122)) + 8|0); + HEAP32[$915>>2] = 150; + $916 = ((($122)) + 12|0); + HEAP32[$916>>2] = 128; + $917 = HEAP32[65219]|0; + $918 = (+($917|0)); + HEAPF32[$123>>2] = $918; + $919 = ((($123)) + 4|0); + $920 = HEAP32[(260880)>>2]|0; + $921 = (+($920|0)); + HEAPF32[$919>>2] = $921; + HEAP32[$124>>2] = -1; + ;HEAP32[$$byval_copy319>>2]=HEAP32[25512>>2]|0;HEAP32[$$byval_copy319+4>>2]=HEAP32[25512+4>>2]|0;HEAP32[$$byval_copy319+8>>2]=HEAP32[25512+8>>2]|0;HEAP32[$$byval_copy319+12>>2]=HEAP32[25512+12>>2]|0;HEAP32[$$byval_copy319+16>>2]=HEAP32[25512+16>>2]|0; + ;HEAP32[$font$byval_copy364>>2]=HEAP32[$122>>2]|0;HEAP32[$font$byval_copy364+4>>2]=HEAP32[$122+4>>2]|0;HEAP32[$font$byval_copy364+8>>2]=HEAP32[$122+8>>2]|0;HEAP32[$font$byval_copy364+12>>2]=HEAP32[$122+12>>2]|0; + ;HEAP32[$$byval_copy365>>2]=HEAP32[$123>>2]|0;HEAP32[$$byval_copy365+4>>2]=HEAP32[$123+4>>2]|0; + ;HEAP8[$$byval_copy366>>0]=HEAP8[$124>>0]|0;HEAP8[$$byval_copy366+1>>0]=HEAP8[$124+1>>0]|0;HEAP8[$$byval_copy366+2>>0]=HEAP8[$124+2>>0]|0;HEAP8[$$byval_copy366+3>>0]=HEAP8[$124+3>>0]|0; + _DrawTextureRec($$byval_copy319,$font$byval_copy364,$$byval_copy365,$$byval_copy366); + } + } else { + $908 = HEAP32[65219]|0; + $909 = (+($908|0)); + HEAPF32[$120>>2] = $909; + $910 = ((($120)) + 4|0); + $911 = HEAP32[(260880)>>2]|0; + $912 = (+($911|0)); + HEAPF32[$910>>2] = $912; + HEAP32[$121>>2] = -1; + ;HEAP32[$$byval_copy319>>2]=HEAP32[25512>>2]|0;HEAP32[$$byval_copy319+4>>2]=HEAP32[25512+4>>2]|0;HEAP32[$$byval_copy319+8>>2]=HEAP32[25512+8>>2]|0;HEAP32[$$byval_copy319+12>>2]=HEAP32[25512+12>>2]|0;HEAP32[$$byval_copy319+16>>2]=HEAP32[25512+16>>2]|0; + ;HEAP32[$font$byval_copy364>>2]=HEAP32[161644>>2]|0;HEAP32[$font$byval_copy364+4>>2]=HEAP32[161644+4>>2]|0;HEAP32[$font$byval_copy364+8>>2]=HEAP32[161644+8>>2]|0;HEAP32[$font$byval_copy364+12>>2]=HEAP32[161644+12>>2]|0; + ;HEAP32[$$byval_copy365>>2]=HEAP32[$120>>2]|0;HEAP32[$$byval_copy365+4>>2]=HEAP32[$120+4>>2]|0; + ;HEAP8[$$byval_copy366>>0]=HEAP8[$121>>0]|0;HEAP8[$$byval_copy366+1>>0]=HEAP8[$121+1>>0]|0;HEAP8[$$byval_copy366+2>>0]=HEAP8[$121+2>>0]|0;HEAP8[$$byval_copy366+3>>0]=HEAP8[$121+3>>0]|0; + _DrawTextureRec($$byval_copy319,$font$byval_copy364,$$byval_copy365,$$byval_copy366); + } + $922 = HEAP32[40342]|0; + $923 = ($922|0)==(0); + if (!($923)) { + HEAP32[$125>>2] = 660; + $924 = ((($125)) + 4|0); + HEAP32[$924>>2] = 1060; + $925 = ((($125)) + 8|0); + HEAP32[$925>>2] = 93; + $926 = ((($125)) + 12|0); + HEAP32[$926>>2] = 240; + HEAPF32[$126>>2] = 0.0; + $927 = ((($126)) + 4|0); + HEAPF32[$927>>2] = 0.0; + HEAP8[$128>>0] = -26; + $928 = ((($128)) + 1|0); + HEAP8[$928>>0] = 41; + $929 = ((($128)) + 2|0); + HEAP8[$929>>0] = 55; + $930 = ((($128)) + 3|0); + HEAP8[$930>>0] = -1; + ;HEAP8[$$byval_copy366>>0]=HEAP8[$128>>0]|0;HEAP8[$$byval_copy366+1>>0]=HEAP8[$128+1>>0]|0;HEAP8[$$byval_copy366+2>>0]=HEAP8[$128+2>>0]|0;HEAP8[$$byval_copy366+3>>0]=HEAP8[$128+3>>0]|0; + _Fade($127,$$byval_copy366,0.69999998807907104); + ;HEAP32[$atlas01$byval_copy318>>2]=HEAP32[25512>>2]|0;HEAP32[$atlas01$byval_copy318+4>>2]=HEAP32[25512+4>>2]|0;HEAP32[$atlas01$byval_copy318+8>>2]=HEAP32[25512+8>>2]|0;HEAP32[$atlas01$byval_copy318+12>>2]=HEAP32[25512+12>>2]|0;HEAP32[$atlas01$byval_copy318+16>>2]=HEAP32[25512+16>>2]|0; + ;HEAP32[$$byval_copy319>>2]=HEAP32[$125>>2]|0;HEAP32[$$byval_copy319+4>>2]=HEAP32[$125+4>>2]|0;HEAP32[$$byval_copy319+8>>2]=HEAP32[$125+8>>2]|0;HEAP32[$$byval_copy319+12>>2]=HEAP32[$125+12>>2]|0; + ;HEAP32[$font$byval_copy364>>2]=HEAP32[333620>>2]|0;HEAP32[$font$byval_copy364+4>>2]=HEAP32[333620+4>>2]|0;HEAP32[$font$byval_copy364+8>>2]=HEAP32[333620+8>>2]|0;HEAP32[$font$byval_copy364+12>>2]=HEAP32[333620+12>>2]|0; + ;HEAP32[$$byval_copy365>>2]=HEAP32[$126>>2]|0;HEAP32[$$byval_copy365+4>>2]=HEAP32[$126+4>>2]|0; + ;HEAP8[$$byval_copy366>>0]=HEAP8[$127>>0]|0;HEAP8[$$byval_copy366+1>>0]=HEAP8[$127+1>>0]|0;HEAP8[$$byval_copy366+2>>0]=HEAP8[$127+2>>0]|0;HEAP8[$$byval_copy366+3>>0]=HEAP8[$127+3>>0]|0; + _DrawTexturePro($atlas01$byval_copy318,$$byval_copy319,$font$byval_copy364,$$byval_copy365,0.0,$$byval_copy366); + } + $931 = HEAP32[83414]|0; + $932 = ($931|0)==(0); + if (!($932)) { + HEAP32[$129>>2] = 660; + $933 = ((($129)) + 4|0); + HEAP32[$933>>2] = 1060; + $934 = ((($129)) + 8|0); + HEAP32[$934>>2] = 93; + $935 = ((($129)) + 12|0); + HEAP32[$935>>2] = 240; + HEAPF32[$130>>2] = 0.0; + $936 = ((($130)) + 4|0); + HEAPF32[$936>>2] = 0.0; + HEAP8[$132>>0] = -1; + $937 = ((($132)) + 1|0); + HEAP8[$937>>0] = -95; + $938 = ((($132)) + 2|0); + HEAP8[$938>>0] = 0; + $939 = ((($132)) + 3|0); + HEAP8[$939>>0] = -1; + ;HEAP8[$$byval_copy366>>0]=HEAP8[$132>>0]|0;HEAP8[$$byval_copy366+1>>0]=HEAP8[$132+1>>0]|0;HEAP8[$$byval_copy366+2>>0]=HEAP8[$132+2>>0]|0;HEAP8[$$byval_copy366+3>>0]=HEAP8[$132+3>>0]|0; + _Fade($131,$$byval_copy366,0.69999998807907104); + ;HEAP32[$atlas01$byval_copy318>>2]=HEAP32[25512>>2]|0;HEAP32[$atlas01$byval_copy318+4>>2]=HEAP32[25512+4>>2]|0;HEAP32[$atlas01$byval_copy318+8>>2]=HEAP32[25512+8>>2]|0;HEAP32[$atlas01$byval_copy318+12>>2]=HEAP32[25512+12>>2]|0;HEAP32[$atlas01$byval_copy318+16>>2]=HEAP32[25512+16>>2]|0; + ;HEAP32[$$byval_copy319>>2]=HEAP32[$129>>2]|0;HEAP32[$$byval_copy319+4>>2]=HEAP32[$129+4>>2]|0;HEAP32[$$byval_copy319+8>>2]=HEAP32[$129+8>>2]|0;HEAP32[$$byval_copy319+12>>2]=HEAP32[$129+12>>2]|0; + ;HEAP32[$font$byval_copy364>>2]=HEAP32[333660>>2]|0;HEAP32[$font$byval_copy364+4>>2]=HEAP32[333660+4>>2]|0;HEAP32[$font$byval_copy364+8>>2]=HEAP32[333660+8>>2]|0;HEAP32[$font$byval_copy364+12>>2]=HEAP32[333660+12>>2]|0; + ;HEAP32[$$byval_copy365>>2]=HEAP32[$130>>2]|0;HEAP32[$$byval_copy365+4>>2]=HEAP32[$130+4>>2]|0; + ;HEAP8[$$byval_copy366>>0]=HEAP8[$131>>0]|0;HEAP8[$$byval_copy366+1>>0]=HEAP8[$131+1>>0]|0;HEAP8[$$byval_copy366+2>>0]=HEAP8[$131+2>>0]|0;HEAP8[$$byval_copy366+3>>0]=HEAP8[$131+3>>0]|0; + _DrawTexturePro($atlas01$byval_copy318,$$byval_copy319,$font$byval_copy364,$$byval_copy365,0.0,$$byval_copy366); + } + $940 = HEAP32[40340]|0; + $941 = ($940|0)==(0); + if (!($941)) { + $942 = ((($133)) + 4|0); + $943 = ((($133)) + 8|0); + $944 = ((($133)) + 12|0); + $945 = ((($134)) + 4|0); + $946 = ((($134)) + 8|0); + $947 = ((($134)) + 12|0); + $948 = ((($135)) + 4|0); + $$011181156 = 0; + while(1) { + HEAP32[$133>>2] = 2; + HEAP32[$942>>2] = 364; + HEAP32[$943>>2] = 500; + HEAP32[$944>>2] = 400; + $956 = HEAP32[65204]|0; + $957 = HEAP32[(260824)>>2]|0; + $958 = (($957|0) / 2)&-1; + $959 = (($958) + ($956))|0; + HEAP32[$134>>2] = $959; + $960 = HEAP32[(260820)>>2]|0; + $961 = HEAP32[(260828)>>2]|0; + $962 = (($961|0) / 2)&-1; + $963 = (($962) + ($960))|0; + HEAP32[$945>>2] = $963; + HEAP32[$946>>2] = 2000; + HEAP32[$947>>2] = 1600; + HEAPF32[$135>>2] = 0.0; + HEAPF32[$948>>2] = 800.0; + $964 = ($$011181156*45)|0; + $965 = (+($964|0)); + ;HEAP8[$$byval_copy366>>0]=HEAP8[339120>>0]|0;HEAP8[$$byval_copy366+1>>0]=HEAP8[339120+1>>0]|0;HEAP8[$$byval_copy366+2>>0]=HEAP8[339120+2>>0]|0;HEAP8[$$byval_copy366+3>>0]=HEAP8[339120+3>>0]|0; + _Fade($136,$$byval_copy366,0.69999998807907104); + ;HEAP32[$atlas01$byval_copy318>>2]=HEAP32[25532>>2]|0;HEAP32[$atlas01$byval_copy318+4>>2]=HEAP32[25532+4>>2]|0;HEAP32[$atlas01$byval_copy318+8>>2]=HEAP32[25532+8>>2]|0;HEAP32[$atlas01$byval_copy318+12>>2]=HEAP32[25532+12>>2]|0;HEAP32[$atlas01$byval_copy318+16>>2]=HEAP32[25532+16>>2]|0; + ;HEAP32[$$byval_copy319>>2]=HEAP32[$133>>2]|0;HEAP32[$$byval_copy319+4>>2]=HEAP32[$133+4>>2]|0;HEAP32[$$byval_copy319+8>>2]=HEAP32[$133+8>>2]|0;HEAP32[$$byval_copy319+12>>2]=HEAP32[$133+12>>2]|0; + ;HEAP32[$font$byval_copy364>>2]=HEAP32[$134>>2]|0;HEAP32[$font$byval_copy364+4>>2]=HEAP32[$134+4>>2]|0;HEAP32[$font$byval_copy364+8>>2]=HEAP32[$134+8>>2]|0;HEAP32[$font$byval_copy364+12>>2]=HEAP32[$134+12>>2]|0; + ;HEAP32[$$byval_copy365>>2]=HEAP32[$135>>2]|0;HEAP32[$$byval_copy365+4>>2]=HEAP32[$135+4>>2]|0; + ;HEAP8[$$byval_copy366>>0]=HEAP8[$136>>0]|0;HEAP8[$$byval_copy366+1>>0]=HEAP8[$136+1>>0]|0;HEAP8[$$byval_copy366+2>>0]=HEAP8[$136+2>>0]|0;HEAP8[$$byval_copy366+3>>0]=HEAP8[$136+3>>0]|0; + _DrawTexturePro($atlas01$byval_copy318,$$byval_copy319,$font$byval_copy364,$$byval_copy365,$965,$$byval_copy366); + $966 = (($$011181156) + 1)|0; + $exitcond1180 = ($966|0)==(8); + if ($exitcond1180) { + break; + } else { + $$011181156 = $966; + } + } + $949 = ((($137)) + 4|0); + $950 = ((($137)) + 8|0); + $951 = ((($137)) + 12|0); + $952 = ((($138)) + 4|0); + $953 = ((($138)) + 8|0); + $954 = ((($138)) + 12|0); + $955 = ((($139)) + 4|0); + $$011191155 = 0; + while(1) { + HEAP32[$137>>2] = 2; + HEAP32[$949>>2] = 364; + HEAP32[$950>>2] = 500; + HEAP32[$951>>2] = 400; + $967 = HEAP32[65204]|0; + $968 = HEAP32[(260824)>>2]|0; + $969 = (($968|0) / 2)&-1; + $970 = (($969) + ($967))|0; + HEAP32[$138>>2] = $970; + $971 = HEAP32[(260820)>>2]|0; + $972 = HEAP32[(260828)>>2]|0; + $973 = (($972|0) / 2)&-1; + $974 = (($973) + ($971))|0; + HEAP32[$952>>2] = $974; + HEAP32[$953>>2] = 2000; + HEAP32[$954>>2] = 400; + HEAPF32[$139>>2] = 0.0; + HEAPF32[$955>>2] = 200.0; + $975 = ($$011191155*45)|0; + $976 = (+($975|0)); + $977 = $976 + 22.5; + $978 = $977; + ;HEAP8[$$byval_copy366>>0]=HEAP8[339144>>0]|0;HEAP8[$$byval_copy366+1>>0]=HEAP8[339144+1>>0]|0;HEAP8[$$byval_copy366+2>>0]=HEAP8[339144+2>>0]|0;HEAP8[$$byval_copy366+3>>0]=HEAP8[339144+3>>0]|0; + _Fade($140,$$byval_copy366,0.69999998807907104); + ;HEAP32[$atlas01$byval_copy318>>2]=HEAP32[25532>>2]|0;HEAP32[$atlas01$byval_copy318+4>>2]=HEAP32[25532+4>>2]|0;HEAP32[$atlas01$byval_copy318+8>>2]=HEAP32[25532+8>>2]|0;HEAP32[$atlas01$byval_copy318+12>>2]=HEAP32[25532+12>>2]|0;HEAP32[$atlas01$byval_copy318+16>>2]=HEAP32[25532+16>>2]|0; + ;HEAP32[$$byval_copy319>>2]=HEAP32[$137>>2]|0;HEAP32[$$byval_copy319+4>>2]=HEAP32[$137+4>>2]|0;HEAP32[$$byval_copy319+8>>2]=HEAP32[$137+8>>2]|0;HEAP32[$$byval_copy319+12>>2]=HEAP32[$137+12>>2]|0; + ;HEAP32[$font$byval_copy364>>2]=HEAP32[$138>>2]|0;HEAP32[$font$byval_copy364+4>>2]=HEAP32[$138+4>>2]|0;HEAP32[$font$byval_copy364+8>>2]=HEAP32[$138+8>>2]|0;HEAP32[$font$byval_copy364+12>>2]=HEAP32[$138+12>>2]|0; + ;HEAP32[$$byval_copy365>>2]=HEAP32[$139>>2]|0;HEAP32[$$byval_copy365+4>>2]=HEAP32[$139+4>>2]|0; + ;HEAP8[$$byval_copy366>>0]=HEAP8[$140>>0]|0;HEAP8[$$byval_copy366+1>>0]=HEAP8[$140+1>>0]|0;HEAP8[$$byval_copy366+2>>0]=HEAP8[$140+2>>0]|0;HEAP8[$$byval_copy366+3>>0]=HEAP8[$140+3>>0]|0; + _DrawTexturePro($atlas01$byval_copy318,$$byval_copy319,$font$byval_copy364,$$byval_copy365,$978,$$byval_copy366); + $979 = (($$011191155) + 1)|0; + $exitcond1179 = ($979|0)==(8); + if ($exitcond1179) { + break; + } else { + $$011191155 = $979; + } + } + } + $980 = HEAP32[40327]|0; + $981 = ($980|0)!=(0); + $982 = HEAP32[40336]|0; + $983 = ($982|0)!=(0); + $or$cond20 = $981 & $983; + L144: do { + if ($or$cond20) { + $984 = HEAP32[83396]|0; + switch ($984|0) { + case 3: { + $985 = HEAP32[65204]|0; + $986 = HEAP32[(260824)>>2]|0; + $987 = (($985) - ($986))|0; + $988 = (+($987|0)); + HEAPF32[$141>>2] = $988; + $989 = ((($141)) + 4|0); + $990 = HEAP32[(260820)>>2]|0; + $991 = (($990) + -25)|0; + $992 = (+($991|0)); + HEAPF32[$989>>2] = $992; + HEAP32[$142>>2] = -1; + ;HEAP32[$$byval_copy319>>2]=HEAP32[25512>>2]|0;HEAP32[$$byval_copy319+4>>2]=HEAP32[25512+4>>2]|0;HEAP32[$$byval_copy319+8>>2]=HEAP32[25512+8>>2]|0;HEAP32[$$byval_copy319+12>>2]=HEAP32[25512+12>>2]|0;HEAP32[$$byval_copy319+16>>2]=HEAP32[25512+16>>2]|0; + ;HEAP32[$font$byval_copy364>>2]=HEAP32[161708>>2]|0;HEAP32[$font$byval_copy364+4>>2]=HEAP32[161708+4>>2]|0;HEAP32[$font$byval_copy364+8>>2]=HEAP32[161708+8>>2]|0;HEAP32[$font$byval_copy364+12>>2]=HEAP32[161708+12>>2]|0; + ;HEAP32[$$byval_copy365>>2]=HEAP32[$141>>2]|0;HEAP32[$$byval_copy365+4>>2]=HEAP32[$141+4>>2]|0; + ;HEAP8[$$byval_copy366>>0]=HEAP8[$142>>0]|0;HEAP8[$$byval_copy366+1>>0]=HEAP8[$142+1>>0]|0;HEAP8[$$byval_copy366+2>>0]=HEAP8[$142+2>>0]|0;HEAP8[$$byval_copy366+3>>0]=HEAP8[$142+3>>0]|0; + _DrawTextureRec($$byval_copy319,$font$byval_copy364,$$byval_copy365,$$byval_copy366); + break L144; + break; + } + case 0: { + HEAP32[$143>>2] = 1083; + $993 = ((($143)) + 4|0); + HEAP32[$993>>2] = 1732; + $994 = ((($143)) + 8|0); + HEAP32[$994>>2] = 100; + $995 = ((($143)) + 12|0); + HEAP32[$995>>2] = 100; + $996 = HEAP32[65204]|0; + $997 = HEAP32[(260824)>>2]|0; + $998 = (($996) - ($997))|0; + HEAP32[$144>>2] = $998; + $999 = ((($144)) + 4|0); + $1000 = HEAP32[(260820)>>2]|0; + $1001 = (($1000) + -25)|0; + HEAP32[$999>>2] = $1001; + $1002 = ((($144)) + 8|0); + HEAP32[$1002>>2] = 100; + $1003 = ((($144)) + 12|0); + HEAP32[$1003>>2] = 100; + HEAPF32[$145>>2] = 0.0; + $1004 = ((($145)) + 4|0); + HEAPF32[$1004>>2] = 0.0; + HEAP32[$146>>2] = -1; + ;HEAP32[$atlas01$byval_copy318>>2]=HEAP32[25512>>2]|0;HEAP32[$atlas01$byval_copy318+4>>2]=HEAP32[25512+4>>2]|0;HEAP32[$atlas01$byval_copy318+8>>2]=HEAP32[25512+8>>2]|0;HEAP32[$atlas01$byval_copy318+12>>2]=HEAP32[25512+12>>2]|0;HEAP32[$atlas01$byval_copy318+16>>2]=HEAP32[25512+16>>2]|0; + ;HEAP32[$$byval_copy319>>2]=HEAP32[$143>>2]|0;HEAP32[$$byval_copy319+4>>2]=HEAP32[$143+4>>2]|0;HEAP32[$$byval_copy319+8>>2]=HEAP32[$143+8>>2]|0;HEAP32[$$byval_copy319+12>>2]=HEAP32[$143+12>>2]|0; + ;HEAP32[$font$byval_copy364>>2]=HEAP32[$144>>2]|0;HEAP32[$font$byval_copy364+4>>2]=HEAP32[$144+4>>2]|0;HEAP32[$font$byval_copy364+8>>2]=HEAP32[$144+8>>2]|0;HEAP32[$font$byval_copy364+12>>2]=HEAP32[$144+12>>2]|0; + ;HEAP32[$$byval_copy365>>2]=HEAP32[$145>>2]|0;HEAP32[$$byval_copy365+4>>2]=HEAP32[$145+4>>2]|0; + ;HEAP8[$$byval_copy366>>0]=HEAP8[$146>>0]|0;HEAP8[$$byval_copy366+1>>0]=HEAP8[$146+1>>0]|0;HEAP8[$$byval_copy366+2>>0]=HEAP8[$146+2>>0]|0;HEAP8[$$byval_copy366+3>>0]=HEAP8[$146+3>>0]|0; + _DrawTexturePro($atlas01$byval_copy318,$$byval_copy319,$font$byval_copy364,$$byval_copy365,0.0,$$byval_copy366); + break L144; + break; + } + case 1: { + HEAP32[$147>>2] = 1079; + $1005 = ((($147)) + 4|0); + HEAP32[$1005>>2] = 1528; + $1006 = ((($147)) + 8|0); + HEAP32[$1006>>2] = 100; + $1007 = ((($147)) + 12|0); + HEAP32[$1007>>2] = 100; + $1008 = HEAP32[65204]|0; + $1009 = HEAP32[(260824)>>2]|0; + $1010 = (($1008) - ($1009))|0; + HEAP32[$148>>2] = $1010; + $1011 = ((($148)) + 4|0); + $1012 = HEAP32[(260820)>>2]|0; + $1013 = (($1012) + -25)|0; + HEAP32[$1011>>2] = $1013; + $1014 = ((($148)) + 8|0); + HEAP32[$1014>>2] = 100; + $1015 = ((($148)) + 12|0); + HEAP32[$1015>>2] = 100; + HEAPF32[$149>>2] = 0.0; + $1016 = ((($149)) + 4|0); + HEAPF32[$1016>>2] = 0.0; + HEAP32[$150>>2] = -1; + ;HEAP32[$atlas01$byval_copy318>>2]=HEAP32[25512>>2]|0;HEAP32[$atlas01$byval_copy318+4>>2]=HEAP32[25512+4>>2]|0;HEAP32[$atlas01$byval_copy318+8>>2]=HEAP32[25512+8>>2]|0;HEAP32[$atlas01$byval_copy318+12>>2]=HEAP32[25512+12>>2]|0;HEAP32[$atlas01$byval_copy318+16>>2]=HEAP32[25512+16>>2]|0; + ;HEAP32[$$byval_copy319>>2]=HEAP32[$147>>2]|0;HEAP32[$$byval_copy319+4>>2]=HEAP32[$147+4>>2]|0;HEAP32[$$byval_copy319+8>>2]=HEAP32[$147+8>>2]|0;HEAP32[$$byval_copy319+12>>2]=HEAP32[$147+12>>2]|0; + ;HEAP32[$font$byval_copy364>>2]=HEAP32[$148>>2]|0;HEAP32[$font$byval_copy364+4>>2]=HEAP32[$148+4>>2]|0;HEAP32[$font$byval_copy364+8>>2]=HEAP32[$148+8>>2]|0;HEAP32[$font$byval_copy364+12>>2]=HEAP32[$148+12>>2]|0; + ;HEAP32[$$byval_copy365>>2]=HEAP32[$149>>2]|0;HEAP32[$$byval_copy365+4>>2]=HEAP32[$149+4>>2]|0; + ;HEAP8[$$byval_copy366>>0]=HEAP8[$150>>0]|0;HEAP8[$$byval_copy366+1>>0]=HEAP8[$150+1>>0]|0;HEAP8[$$byval_copy366+2>>0]=HEAP8[$150+2>>0]|0;HEAP8[$$byval_copy366+3>>0]=HEAP8[$150+3>>0]|0; + _DrawTexturePro($atlas01$byval_copy318,$$byval_copy319,$font$byval_copy364,$$byval_copy365,0.0,$$byval_copy366); + break L144; + break; + } + case 2: { + $1017 = HEAP32[40340]|0; + $1018 = ($1017|0)==(0); + $1019 = HEAP32[65204]|0; + $1020 = HEAP32[(260820)>>2]|0; + $1021 = (($1020) + -25)|0; + if ($1018) { + $1028 = (($1019) + -66)|0; + HEAP32[$153>>2] = $1028; + $1029 = ((($153)) + 4|0); + HEAP32[$1029>>2] = $1021; + $1030 = ((($153)) + 8|0); + HEAP32[$1030>>2] = 100; + $1031 = ((($153)) + 12|0); + HEAP32[$1031>>2] = 100; + HEAPF32[$154>>2] = 0.0; + $1032 = ((($154)) + 4|0); + HEAPF32[$1032>>2] = 0.0; + ;HEAP32[$atlas01$byval_copy318>>2]=HEAP32[25512>>2]|0;HEAP32[$atlas01$byval_copy318+4>>2]=HEAP32[25512+4>>2]|0;HEAP32[$atlas01$byval_copy318+8>>2]=HEAP32[25512+8>>2]|0;HEAP32[$atlas01$byval_copy318+12>>2]=HEAP32[25512+12>>2]|0;HEAP32[$atlas01$byval_copy318+16>>2]=HEAP32[25512+16>>2]|0; + ;HEAP32[$$byval_copy319>>2]=HEAP32[161724>>2]|0;HEAP32[$$byval_copy319+4>>2]=HEAP32[161724+4>>2]|0;HEAP32[$$byval_copy319+8>>2]=HEAP32[161724+8>>2]|0;HEAP32[$$byval_copy319+12>>2]=HEAP32[161724+12>>2]|0; + ;HEAP32[$font$byval_copy364>>2]=HEAP32[$153>>2]|0;HEAP32[$font$byval_copy364+4>>2]=HEAP32[$153+4>>2]|0;HEAP32[$font$byval_copy364+8>>2]=HEAP32[$153+8>>2]|0;HEAP32[$font$byval_copy364+12>>2]=HEAP32[$153+12>>2]|0; + ;HEAP32[$$byval_copy365>>2]=HEAP32[$154>>2]|0;HEAP32[$$byval_copy365+4>>2]=HEAP32[$154+4>>2]|0; + ;HEAP8[$$byval_copy366>>0]=HEAP8[339120>>0]|0;HEAP8[$$byval_copy366+1>>0]=HEAP8[339120+1>>0]|0;HEAP8[$$byval_copy366+2>>0]=HEAP8[339120+2>>0]|0;HEAP8[$$byval_copy366+3>>0]=HEAP8[339120+3>>0]|0; + _DrawTexturePro($atlas01$byval_copy318,$$byval_copy319,$font$byval_copy364,$$byval_copy365,0.0,$$byval_copy366); + break L144; + } else { + $1022 = HEAP32[(260824)>>2]|0; + $1023 = (($1019) - ($1022))|0; + HEAP32[$151>>2] = $1023; + $1024 = ((($151)) + 4|0); + HEAP32[$1024>>2] = $1021; + $1025 = ((($151)) + 8|0); + HEAP32[$1025>>2] = 100; + $1026 = ((($151)) + 12|0); + HEAP32[$1026>>2] = 100; + HEAPF32[$152>>2] = 0.0; + $1027 = ((($152)) + 4|0); + HEAPF32[$1027>>2] = 0.0; + ;HEAP32[$atlas01$byval_copy318>>2]=HEAP32[25512>>2]|0;HEAP32[$atlas01$byval_copy318+4>>2]=HEAP32[25512+4>>2]|0;HEAP32[$atlas01$byval_copy318+8>>2]=HEAP32[25512+8>>2]|0;HEAP32[$atlas01$byval_copy318+12>>2]=HEAP32[25512+12>>2]|0;HEAP32[$atlas01$byval_copy318+16>>2]=HEAP32[25512+16>>2]|0; + ;HEAP32[$$byval_copy319>>2]=HEAP32[161740>>2]|0;HEAP32[$$byval_copy319+4>>2]=HEAP32[161740+4>>2]|0;HEAP32[$$byval_copy319+8>>2]=HEAP32[161740+8>>2]|0;HEAP32[$$byval_copy319+12>>2]=HEAP32[161740+12>>2]|0; + ;HEAP32[$font$byval_copy364>>2]=HEAP32[$151>>2]|0;HEAP32[$font$byval_copy364+4>>2]=HEAP32[$151+4>>2]|0;HEAP32[$font$byval_copy364+8>>2]=HEAP32[$151+8>>2]|0;HEAP32[$font$byval_copy364+12>>2]=HEAP32[$151+12>>2]|0; + ;HEAP32[$$byval_copy365>>2]=HEAP32[$152>>2]|0;HEAP32[$$byval_copy365+4>>2]=HEAP32[$152+4>>2]|0; + ;HEAP8[$$byval_copy366>>0]=HEAP8[339120>>0]|0;HEAP8[$$byval_copy366+1>>0]=HEAP8[339120+1>>0]|0;HEAP8[$$byval_copy366+2>>0]=HEAP8[339120+2>>0]|0;HEAP8[$$byval_copy366+3>>0]=HEAP8[339120+3>>0]|0; + _DrawTexturePro($atlas01$byval_copy318,$$byval_copy319,$font$byval_copy364,$$byval_copy365,0.0,$$byval_copy366); + break L144; + } + break; + } + case 4: { + HEAP32[$155>>2] = 1083; + $1033 = ((($155)) + 4|0); + HEAP32[$1033>>2] = 1732; + $1034 = ((($155)) + 8|0); + HEAP32[$1034>>2] = 100; + $1035 = ((($155)) + 12|0); + HEAP32[$1035>>2] = 100; + $1036 = HEAP32[65204]|0; + $1037 = HEAP32[(260824)>>2]|0; + $1038 = (($1036) - ($1037))|0; + HEAP32[$156>>2] = $1038; + $1039 = ((($156)) + 4|0); + $1040 = HEAP32[(260820)>>2]|0; + $1041 = (($1040) + -25)|0; + HEAP32[$1039>>2] = $1041; + $1042 = ((($156)) + 8|0); + HEAP32[$1042>>2] = 100; + $1043 = ((($156)) + 12|0); + HEAP32[$1043>>2] = 100; + HEAPF32[$157>>2] = 0.0; + $1044 = ((($157)) + 4|0); + HEAPF32[$1044>>2] = 0.0; + HEAP32[$158>>2] = -1; + ;HEAP32[$atlas01$byval_copy318>>2]=HEAP32[25512>>2]|0;HEAP32[$atlas01$byval_copy318+4>>2]=HEAP32[25512+4>>2]|0;HEAP32[$atlas01$byval_copy318+8>>2]=HEAP32[25512+8>>2]|0;HEAP32[$atlas01$byval_copy318+12>>2]=HEAP32[25512+12>>2]|0;HEAP32[$atlas01$byval_copy318+16>>2]=HEAP32[25512+16>>2]|0; + ;HEAP32[$$byval_copy319>>2]=HEAP32[$155>>2]|0;HEAP32[$$byval_copy319+4>>2]=HEAP32[$155+4>>2]|0;HEAP32[$$byval_copy319+8>>2]=HEAP32[$155+8>>2]|0;HEAP32[$$byval_copy319+12>>2]=HEAP32[$155+12>>2]|0; + ;HEAP32[$font$byval_copy364>>2]=HEAP32[$156>>2]|0;HEAP32[$font$byval_copy364+4>>2]=HEAP32[$156+4>>2]|0;HEAP32[$font$byval_copy364+8>>2]=HEAP32[$156+8>>2]|0;HEAP32[$font$byval_copy364+12>>2]=HEAP32[$156+12>>2]|0; + ;HEAP32[$$byval_copy365>>2]=HEAP32[$157>>2]|0;HEAP32[$$byval_copy365+4>>2]=HEAP32[$157+4>>2]|0; + ;HEAP8[$$byval_copy366>>0]=HEAP8[$158>>0]|0;HEAP8[$$byval_copy366+1>>0]=HEAP8[$158+1>>0]|0;HEAP8[$$byval_copy366+2>>0]=HEAP8[$158+2>>0]|0;HEAP8[$$byval_copy366+3>>0]=HEAP8[$158+3>>0]|0; + _DrawTexturePro($atlas01$byval_copy318,$$byval_copy319,$font$byval_copy364,$$byval_copy365,0.0,$$byval_copy366); + break L144; + break; + } + default: { + break L144; + } + } + } else { + $1045 = ($982|0)==(0); + $or$cond22 = $981 & $1045; + $1046 = HEAP32[65204]|0; + $1047 = HEAP32[(260820)>>2]|0; + $1048 = HEAP32[(260824)>>2]|0; + $1049 = (($1047) + -25)|0; + $1050 = (($1046) - ($1048))|0; + if ($or$cond22) { + HEAP32[$159>>2] = 1025; + $1051 = ((($159)) + 4|0); + HEAP32[$1051>>2] = 384; + $1052 = ((($159)) + 8|0); + HEAP32[$1052>>2] = 100; + $1053 = ((($159)) + 12|0); + HEAP32[$1053>>2] = 100; + $1054 = (+($1050|0)); + HEAPF32[$160>>2] = $1054; + $1055 = ((($160)) + 4|0); + $1056 = (+($1049|0)); + HEAPF32[$1055>>2] = $1056; + HEAP32[$161>>2] = -1; + ;HEAP32[$$byval_copy319>>2]=HEAP32[25512>>2]|0;HEAP32[$$byval_copy319+4>>2]=HEAP32[25512+4>>2]|0;HEAP32[$$byval_copy319+8>>2]=HEAP32[25512+8>>2]|0;HEAP32[$$byval_copy319+12>>2]=HEAP32[25512+12>>2]|0;HEAP32[$$byval_copy319+16>>2]=HEAP32[25512+16>>2]|0; + ;HEAP32[$font$byval_copy364>>2]=HEAP32[$159>>2]|0;HEAP32[$font$byval_copy364+4>>2]=HEAP32[$159+4>>2]|0;HEAP32[$font$byval_copy364+8>>2]=HEAP32[$159+8>>2]|0;HEAP32[$font$byval_copy364+12>>2]=HEAP32[$159+12>>2]|0; + ;HEAP32[$$byval_copy365>>2]=HEAP32[$160>>2]|0;HEAP32[$$byval_copy365+4>>2]=HEAP32[$160+4>>2]|0; + ;HEAP8[$$byval_copy366>>0]=HEAP8[$161>>0]|0;HEAP8[$$byval_copy366+1>>0]=HEAP8[$161+1>>0]|0;HEAP8[$$byval_copy366+2>>0]=HEAP8[$161+2>>0]|0;HEAP8[$$byval_copy366+3>>0]=HEAP8[$161+3>>0]|0; + _DrawTextureRec($$byval_copy319,$font$byval_copy364,$$byval_copy365,$$byval_copy366); + break; + } else { + HEAP32[$162>>2] = 1083; + $1057 = ((($162)) + 4|0); + HEAP32[$1057>>2] = 1630; + $1058 = ((($162)) + 8|0); + HEAP32[$1058>>2] = 100; + $1059 = ((($162)) + 12|0); + HEAP32[$1059>>2] = 100; + HEAP32[$163>>2] = $1050; + $1060 = ((($163)) + 4|0); + HEAP32[$1060>>2] = $1049; + $1061 = ((($163)) + 8|0); + HEAP32[$1061>>2] = 100; + $1062 = ((($163)) + 12|0); + HEAP32[$1062>>2] = 100; + HEAPF32[$164>>2] = 0.0; + $1063 = ((($164)) + 4|0); + HEAPF32[$1063>>2] = 0.0; + HEAP32[$165>>2] = -1; + ;HEAP32[$atlas01$byval_copy318>>2]=HEAP32[25512>>2]|0;HEAP32[$atlas01$byval_copy318+4>>2]=HEAP32[25512+4>>2]|0;HEAP32[$atlas01$byval_copy318+8>>2]=HEAP32[25512+8>>2]|0;HEAP32[$atlas01$byval_copy318+12>>2]=HEAP32[25512+12>>2]|0;HEAP32[$atlas01$byval_copy318+16>>2]=HEAP32[25512+16>>2]|0; + ;HEAP32[$$byval_copy319>>2]=HEAP32[$162>>2]|0;HEAP32[$$byval_copy319+4>>2]=HEAP32[$162+4>>2]|0;HEAP32[$$byval_copy319+8>>2]=HEAP32[$162+8>>2]|0;HEAP32[$$byval_copy319+12>>2]=HEAP32[$162+12>>2]|0; + ;HEAP32[$font$byval_copy364>>2]=HEAP32[$163>>2]|0;HEAP32[$font$byval_copy364+4>>2]=HEAP32[$163+4>>2]|0;HEAP32[$font$byval_copy364+8>>2]=HEAP32[$163+8>>2]|0;HEAP32[$font$byval_copy364+12>>2]=HEAP32[$163+12>>2]|0; + ;HEAP32[$$byval_copy365>>2]=HEAP32[$164>>2]|0;HEAP32[$$byval_copy365+4>>2]=HEAP32[$164+4>>2]|0; + ;HEAP8[$$byval_copy366>>0]=HEAP8[$165>>0]|0;HEAP8[$$byval_copy366+1>>0]=HEAP8[$165+1>>0]|0;HEAP8[$$byval_copy366+2>>0]=HEAP8[$165+2>>0]|0;HEAP8[$$byval_copy366+3>>0]=HEAP8[$165+3>>0]|0; + _DrawTexturePro($atlas01$byval_copy318,$$byval_copy319,$font$byval_copy364,$$byval_copy365,0.0,$$byval_copy366); + break; + } + } + } while(0); + $1064 = ((($166)) + 4|0); + $$011201154 = 0; + while(1) { + $1069 = (258248 + ($$011201154<<2)|0); + $1070 = HEAP32[$1069>>2]|0; + $1071 = ($1070|0)==(0); + if (!($1071)) { + $1072 = (258288 + ($$011201154<<4)|0); + $1073 = HEAP32[$1072>>2]|0; + $1074 = (($1073) + -14)|0; + $1075 = (+($1074|0)); + HEAPF32[$166>>2] = $1075; + $1076 = (((258288 + ($$011201154<<4)|0)) + 4|0); + $1077 = HEAP32[$1076>>2]|0; + $1078 = (($1077) + -14)|0; + $1079 = (+($1078|0)); + HEAPF32[$1064>>2] = $1079; + HEAP32[$167>>2] = -1; + ;HEAP32[$$byval_copy319>>2]=HEAP32[25512>>2]|0;HEAP32[$$byval_copy319+4>>2]=HEAP32[25512+4>>2]|0;HEAP32[$$byval_copy319+8>>2]=HEAP32[25512+8>>2]|0;HEAP32[$$byval_copy319+12>>2]=HEAP32[25512+12>>2]|0;HEAP32[$$byval_copy319+16>>2]=HEAP32[25512+16>>2]|0; + ;HEAP32[$font$byval_copy364>>2]=HEAP32[161612>>2]|0;HEAP32[$font$byval_copy364+4>>2]=HEAP32[161612+4>>2]|0;HEAP32[$font$byval_copy364+8>>2]=HEAP32[161612+8>>2]|0;HEAP32[$font$byval_copy364+12>>2]=HEAP32[161612+12>>2]|0; + ;HEAP32[$$byval_copy365>>2]=HEAP32[$166>>2]|0;HEAP32[$$byval_copy365+4>>2]=HEAP32[$166+4>>2]|0; + ;HEAP8[$$byval_copy366>>0]=HEAP8[$167>>0]|0;HEAP8[$$byval_copy366+1>>0]=HEAP8[$167+1>>0]|0;HEAP8[$$byval_copy366+2>>0]=HEAP8[$167+2>>0]|0;HEAP8[$$byval_copy366+3>>0]=HEAP8[$167+3>>0]|0; + _DrawTextureRec($$byval_copy319,$font$byval_copy364,$$byval_copy365,$$byval_copy366); + } + $1080 = (($$011201154) + 1)|0; + $exitcond1178 = ($1080|0)==(10); + if ($exitcond1178) { + break; + } else { + $$011201154 = $1080; + } + } + $1065 = HEAP32[40327]|0; + $1066 = ($1065|0)==(0); + $1067 = HEAP32[40336]|0; + $1068 = ($1067|0)!=(0); + $or$cond24 = $1066 | $1068; + L166: do { + if (!($or$cond24)) { + $1081 = HEAP32[6566]|0; + switch ($1081|0) { + case 0: { + $1082 = (_GetScreenWidth()|0); + $1083 = (_GetScreenHeight()|0); + HEAP8[$169>>0] = -40; + $1084 = ((($169)) + 1|0); + HEAP8[$1084>>0] = -56; + $1085 = ((($169)) + 2|0); + HEAP8[$1085>>0] = 39; + $1086 = ((($169)) + 3|0); + HEAP8[$1086>>0] = -1; + ;HEAP8[$$byval_copy366>>0]=HEAP8[$169>>0]|0;HEAP8[$$byval_copy366+1>>0]=HEAP8[$169+1>>0]|0;HEAP8[$$byval_copy366+2>>0]=HEAP8[$169+2>>0]|0;HEAP8[$$byval_copy366+3>>0]=HEAP8[$169+3>>0]|0; + _Fade($168,$$byval_copy366,0.40000000596046448); + ;HEAP8[$$byval_copy366>>0]=HEAP8[$168>>0]|0;HEAP8[$$byval_copy366+1>>0]=HEAP8[$168+1>>0]|0;HEAP8[$$byval_copy366+2>>0]=HEAP8[$168+2>>0]|0;HEAP8[$$byval_copy366+3>>0]=HEAP8[$168+3>>0]|0; + _DrawRectangle(0,0,$1082,$1083,$$byval_copy366); + break L166; + break; + } + case 1: { + $1087 = (_GetScreenWidth()|0); + $1088 = (_GetScreenHeight()|0); + HEAP8[$171>>0] = -101; + $1089 = ((($171)) + 1|0); + HEAP8[$1089>>0] = 70; + $1090 = ((($171)) + 2|0); + HEAP8[$1090>>0] = 22; + $1091 = ((($171)) + 3|0); + HEAP8[$1091>>0] = -1; + ;HEAP8[$$byval_copy366>>0]=HEAP8[$171>>0]|0;HEAP8[$$byval_copy366+1>>0]=HEAP8[$171+1>>0]|0;HEAP8[$$byval_copy366+2>>0]=HEAP8[$171+2>>0]|0;HEAP8[$$byval_copy366+3>>0]=HEAP8[$171+3>>0]|0; + _Fade($170,$$byval_copy366,0.40000000596046448); + ;HEAP8[$$byval_copy366>>0]=HEAP8[$170>>0]|0;HEAP8[$$byval_copy366+1>>0]=HEAP8[$170+1>>0]|0;HEAP8[$$byval_copy366+2>>0]=HEAP8[$170+2>>0]|0;HEAP8[$$byval_copy366+3>>0]=HEAP8[$170+3>>0]|0; + _DrawRectangle(0,0,$1087,$1088,$$byval_copy366); + break L166; + break; + } + default: { + $1092 = ($1081|0)==(2); + $1093 = (_GetScreenWidth()|0); + $1094 = (_GetScreenHeight()|0); + if ($1092) { + HEAP8[$173>>0] = 17; + $1095 = ((($173)) + 1|0); + HEAP8[$1095>>0] = -127; + $1096 = ((($173)) + 2|0); + HEAP8[$1096>>0] = -94; + $1097 = ((($173)) + 3|0); + HEAP8[$1097>>0] = -1; + ;HEAP8[$$byval_copy366>>0]=HEAP8[$173>>0]|0;HEAP8[$$byval_copy366+1>>0]=HEAP8[$173+1>>0]|0;HEAP8[$$byval_copy366+2>>0]=HEAP8[$173+2>>0]|0;HEAP8[$$byval_copy366+3>>0]=HEAP8[$173+3>>0]|0; + _Fade($172,$$byval_copy366,0.40000000596046448); + ;HEAP8[$$byval_copy366>>0]=HEAP8[$172>>0]|0;HEAP8[$$byval_copy366+1>>0]=HEAP8[$172+1>>0]|0;HEAP8[$$byval_copy366+2>>0]=HEAP8[$172+2>>0]|0;HEAP8[$$byval_copy366+3>>0]=HEAP8[$172+3>>0]|0; + _DrawRectangle(0,0,$1093,$1094,$$byval_copy366); + break L166; + } else { + HEAP8[$175>>0] = 82; + $1098 = ((($175)) + 1|0); + HEAP8[$1098>>0] = -82; + $1099 = ((($175)) + 2|0); + HEAP8[$1099>>0] = 7; + $1100 = ((($175)) + 3|0); + HEAP8[$1100>>0] = -1; + ;HEAP8[$$byval_copy366>>0]=HEAP8[$175>>0]|0;HEAP8[$$byval_copy366+1>>0]=HEAP8[$175+1>>0]|0;HEAP8[$$byval_copy366+2>>0]=HEAP8[$175+2>>0]|0;HEAP8[$$byval_copy366+3>>0]=HEAP8[$175+3>>0]|0; + _Fade($174,$$byval_copy366,0.40000000596046448); + ;HEAP8[$$byval_copy366>>0]=HEAP8[$174>>0]|0;HEAP8[$$byval_copy366+1>>0]=HEAP8[$174+1>>0]|0;HEAP8[$$byval_copy366+2>>0]=HEAP8[$174+2>>0]|0;HEAP8[$$byval_copy366+3>>0]=HEAP8[$174+3>>0]|0; + _DrawRectangle(0,0,$1093,$1094,$$byval_copy366); + break L166; + } + } + } + } + } while(0); + $1101 = ((($192)) + 4|0); + $1102 = ((($192)) + 8|0); + $1103 = ((($192)) + 12|0); + $1104 = ((($193)) + 4|0); + $1105 = ((($193)) + 8|0); + $1106 = ((($193)) + 12|0); + $1107 = ((($194)) + 4|0); + $1108 = ((($188)) + 4|0); + $1109 = ((($188)) + 8|0); + $1110 = ((($188)) + 12|0); + $1111 = ((($189)) + 4|0); + $1112 = ((($189)) + 8|0); + $1113 = ((($189)) + 12|0); + $1114 = ((($190)) + 4|0); + $1115 = ((($184)) + 4|0); + $1116 = ((($184)) + 8|0); + $1117 = ((($184)) + 12|0); + $1118 = ((($185)) + 4|0); + $1119 = ((($185)) + 8|0); + $1120 = ((($185)) + 12|0); + $1121 = ((($186)) + 4|0); + $1122 = ((($180)) + 4|0); + $1123 = ((($180)) + 8|0); + $1124 = ((($180)) + 12|0); + $1125 = ((($181)) + 4|0); + $1126 = ((($181)) + 8|0); + $1127 = ((($181)) + 12|0); + $1128 = ((($182)) + 4|0); + $1129 = ((($176)) + 4|0); + $1130 = ((($176)) + 8|0); + $1131 = ((($176)) + 12|0); + $1132 = ((($177)) + 4|0); + $1133 = ((($177)) + 8|0); + $1134 = ((($177)) + 12|0); + $1135 = ((($178)) + 4|0); + $$011211153 = 0; + while(1) { + $1136 = (((161776 + (($$011211153*40)|0)|0)) + 36|0); + $1137 = HEAP32[$1136>>2]|0; + $1138 = ($1137|0)==(0); + if (!($1138)) { + HEAP32[$176>>2] = 419; + HEAP32[$1129>>2] = 1839; + HEAP32[$1130>>2] = 32; + HEAP32[$1131>>2] = 32; + $1139 = (161776 + (($$011211153*40)|0)|0); + $1140 = +HEAPF32[$1139>>2]; + $1141 = (~~(($1140))); + HEAP32[$177>>2] = $1141; + $1142 = (((161776 + (($$011211153*40)|0)|0)) + 4|0); + $1143 = +HEAPF32[$1142>>2]; + $1144 = (~~(($1143))); + HEAP32[$1132>>2] = $1144; + $1145 = (((161776 + (($$011211153*40)|0)|0)) + 20|0); + $1146 = +HEAPF32[$1145>>2]; + $1147 = $1146 * 32.0; + $1148 = (~~(($1147))); + HEAP32[$1133>>2] = $1148; + HEAP32[$1134>>2] = $1148; + $1149 = $1147 * 0.5; + HEAPF32[$178>>2] = $1149; + HEAPF32[$1135>>2] = $1149; + $1150 = (((161776 + (($$011211153*40)|0)|0)) + 16|0); + $1151 = +HEAPF32[$1150>>2]; + $1152 = (((161776 + (($$011211153*40)|0)|0)) + 24|0); + $1153 = (((161776 + (($$011211153*40)|0)|0)) + 28|0); + $1154 = +HEAPF32[$1153>>2]; + ;HEAP8[$$byval_copy366>>0]=HEAP8[$1152>>0]|0;HEAP8[$$byval_copy366+1>>0]=HEAP8[$1152+1>>0]|0;HEAP8[$$byval_copy366+2>>0]=HEAP8[$1152+2>>0]|0;HEAP8[$$byval_copy366+3>>0]=HEAP8[$1152+3>>0]|0; + _Fade($179,$$byval_copy366,$1154); + ;HEAP32[$atlas01$byval_copy318>>2]=HEAP32[25512>>2]|0;HEAP32[$atlas01$byval_copy318+4>>2]=HEAP32[25512+4>>2]|0;HEAP32[$atlas01$byval_copy318+8>>2]=HEAP32[25512+8>>2]|0;HEAP32[$atlas01$byval_copy318+12>>2]=HEAP32[25512+12>>2]|0;HEAP32[$atlas01$byval_copy318+16>>2]=HEAP32[25512+16>>2]|0; + ;HEAP32[$$byval_copy319>>2]=HEAP32[$176>>2]|0;HEAP32[$$byval_copy319+4>>2]=HEAP32[$176+4>>2]|0;HEAP32[$$byval_copy319+8>>2]=HEAP32[$176+8>>2]|0;HEAP32[$$byval_copy319+12>>2]=HEAP32[$176+12>>2]|0; + ;HEAP32[$font$byval_copy364>>2]=HEAP32[$177>>2]|0;HEAP32[$font$byval_copy364+4>>2]=HEAP32[$177+4>>2]|0;HEAP32[$font$byval_copy364+8>>2]=HEAP32[$177+8>>2]|0;HEAP32[$font$byval_copy364+12>>2]=HEAP32[$177+12>>2]|0; + ;HEAP32[$$byval_copy365>>2]=HEAP32[$178>>2]|0;HEAP32[$$byval_copy365+4>>2]=HEAP32[$178+4>>2]|0; + ;HEAP8[$$byval_copy366>>0]=HEAP8[$179>>0]|0;HEAP8[$$byval_copy366+1>>0]=HEAP8[$179+1>>0]|0;HEAP8[$$byval_copy366+2>>0]=HEAP8[$179+2>>0]|0;HEAP8[$$byval_copy366+3>>0]=HEAP8[$179+3>>0]|0; + _DrawTexturePro($atlas01$byval_copy318,$$byval_copy319,$font$byval_copy364,$$byval_copy365,$1151,$$byval_copy366); + } + $1155 = (((187420 + (($$011211153*40)|0)|0)) + 36|0); + $1156 = HEAP32[$1155>>2]|0; + $1157 = ($1156|0)==(0); + if (!($1157)) { + HEAP32[$180>>2] = 453; + HEAP32[$1122>>2] = 1839; + HEAP32[$1123>>2] = 32; + HEAP32[$1124>>2] = 32; + $1158 = (187420 + (($$011211153*40)|0)|0); + $1159 = +HEAPF32[$1158>>2]; + $1160 = (~~(($1159))); + HEAP32[$181>>2] = $1160; + $1161 = (((187420 + (($$011211153*40)|0)|0)) + 4|0); + $1162 = +HEAPF32[$1161>>2]; + $1163 = (~~(($1162))); + HEAP32[$1125>>2] = $1163; + $1164 = (((187420 + (($$011211153*40)|0)|0)) + 20|0); + $1165 = +HEAPF32[$1164>>2]; + $1166 = $1165 * 32.0; + $1167 = (~~(($1166))); + HEAP32[$1126>>2] = $1167; + HEAP32[$1127>>2] = $1167; + $1168 = $1166 * 0.5; + HEAPF32[$182>>2] = $1168; + HEAPF32[$1128>>2] = $1168; + $1169 = (((187420 + (($$011211153*40)|0)|0)) + 16|0); + $1170 = +HEAPF32[$1169>>2]; + $1171 = (((187420 + (($$011211153*40)|0)|0)) + 24|0); + $1172 = (((187420 + (($$011211153*40)|0)|0)) + 28|0); + $1173 = +HEAPF32[$1172>>2]; + ;HEAP8[$$byval_copy366>>0]=HEAP8[$1171>>0]|0;HEAP8[$$byval_copy366+1>>0]=HEAP8[$1171+1>>0]|0;HEAP8[$$byval_copy366+2>>0]=HEAP8[$1171+2>>0]|0;HEAP8[$$byval_copy366+3>>0]=HEAP8[$1171+3>>0]|0; + _Fade($183,$$byval_copy366,$1173); + ;HEAP32[$atlas01$byval_copy318>>2]=HEAP32[25512>>2]|0;HEAP32[$atlas01$byval_copy318+4>>2]=HEAP32[25512+4>>2]|0;HEAP32[$atlas01$byval_copy318+8>>2]=HEAP32[25512+8>>2]|0;HEAP32[$atlas01$byval_copy318+12>>2]=HEAP32[25512+12>>2]|0;HEAP32[$atlas01$byval_copy318+16>>2]=HEAP32[25512+16>>2]|0; + ;HEAP32[$$byval_copy319>>2]=HEAP32[$180>>2]|0;HEAP32[$$byval_copy319+4>>2]=HEAP32[$180+4>>2]|0;HEAP32[$$byval_copy319+8>>2]=HEAP32[$180+8>>2]|0;HEAP32[$$byval_copy319+12>>2]=HEAP32[$180+12>>2]|0; + ;HEAP32[$font$byval_copy364>>2]=HEAP32[$181>>2]|0;HEAP32[$font$byval_copy364+4>>2]=HEAP32[$181+4>>2]|0;HEAP32[$font$byval_copy364+8>>2]=HEAP32[$181+8>>2]|0;HEAP32[$font$byval_copy364+12>>2]=HEAP32[$181+12>>2]|0; + ;HEAP32[$$byval_copy365>>2]=HEAP32[$182>>2]|0;HEAP32[$$byval_copy365+4>>2]=HEAP32[$182+4>>2]|0; + ;HEAP8[$$byval_copy366>>0]=HEAP8[$183>>0]|0;HEAP8[$$byval_copy366+1>>0]=HEAP8[$183+1>>0]|0;HEAP8[$$byval_copy366+2>>0]=HEAP8[$183+2>>0]|0;HEAP8[$$byval_copy366+3>>0]=HEAP8[$183+3>>0]|0; + _DrawTexturePro($atlas01$byval_copy318,$$byval_copy319,$font$byval_copy364,$$byval_copy365,$1170,$$byval_copy366); + } + $1174 = (((192560 + (($$011211153*40)|0)|0)) + 36|0); + $1175 = HEAP32[$1174>>2]|0; + $1176 = ($1175|0)==(0); + if (!($1176)) { + HEAP32[$184>>2] = 354; + HEAP32[$1115>>2] = 2006; + HEAP32[$1116>>2] = 32; + HEAP32[$1117>>2] = 32; + $1177 = (192560 + (($$011211153*40)|0)|0); + $1178 = +HEAPF32[$1177>>2]; + $1179 = (~~(($1178))); + HEAP32[$185>>2] = $1179; + $1180 = (((192560 + (($$011211153*40)|0)|0)) + 4|0); + $1181 = +HEAPF32[$1180>>2]; + $1182 = (~~(($1181))); + HEAP32[$1118>>2] = $1182; + $1183 = (((192560 + (($$011211153*40)|0)|0)) + 20|0); + $1184 = +HEAPF32[$1183>>2]; + $1185 = $1184 * 32.0; + $1186 = (~~(($1185))); + HEAP32[$1119>>2] = $1186; + HEAP32[$1120>>2] = $1186; + $1187 = $1185 * 0.5; + HEAPF32[$186>>2] = $1187; + HEAPF32[$1121>>2] = $1187; + $1188 = (((192560 + (($$011211153*40)|0)|0)) + 16|0); + $1189 = +HEAPF32[$1188>>2]; + $1190 = (((192560 + (($$011211153*40)|0)|0)) + 24|0); + $1191 = (((192560 + (($$011211153*40)|0)|0)) + 28|0); + $1192 = +HEAPF32[$1191>>2]; + ;HEAP8[$$byval_copy366>>0]=HEAP8[$1190>>0]|0;HEAP8[$$byval_copy366+1>>0]=HEAP8[$1190+1>>0]|0;HEAP8[$$byval_copy366+2>>0]=HEAP8[$1190+2>>0]|0;HEAP8[$$byval_copy366+3>>0]=HEAP8[$1190+3>>0]|0; + _Fade($187,$$byval_copy366,$1192); + ;HEAP32[$atlas01$byval_copy318>>2]=HEAP32[25512>>2]|0;HEAP32[$atlas01$byval_copy318+4>>2]=HEAP32[25512+4>>2]|0;HEAP32[$atlas01$byval_copy318+8>>2]=HEAP32[25512+8>>2]|0;HEAP32[$atlas01$byval_copy318+12>>2]=HEAP32[25512+12>>2]|0;HEAP32[$atlas01$byval_copy318+16>>2]=HEAP32[25512+16>>2]|0; + ;HEAP32[$$byval_copy319>>2]=HEAP32[$184>>2]|0;HEAP32[$$byval_copy319+4>>2]=HEAP32[$184+4>>2]|0;HEAP32[$$byval_copy319+8>>2]=HEAP32[$184+8>>2]|0;HEAP32[$$byval_copy319+12>>2]=HEAP32[$184+12>>2]|0; + ;HEAP32[$font$byval_copy364>>2]=HEAP32[$185>>2]|0;HEAP32[$font$byval_copy364+4>>2]=HEAP32[$185+4>>2]|0;HEAP32[$font$byval_copy364+8>>2]=HEAP32[$185+8>>2]|0;HEAP32[$font$byval_copy364+12>>2]=HEAP32[$185+12>>2]|0; + ;HEAP32[$$byval_copy365>>2]=HEAP32[$186>>2]|0;HEAP32[$$byval_copy365+4>>2]=HEAP32[$186+4>>2]|0; + ;HEAP8[$$byval_copy366>>0]=HEAP8[$187>>0]|0;HEAP8[$$byval_copy366+1>>0]=HEAP8[$187+1>>0]|0;HEAP8[$$byval_copy366+2>>0]=HEAP8[$187+2>>0]|0;HEAP8[$$byval_copy366+3>>0]=HEAP8[$187+3>>0]|0; + _DrawTexturePro($atlas01$byval_copy318,$$byval_copy319,$font$byval_copy364,$$byval_copy365,$1189,$$byval_copy366); + } + $1193 = (((197700 + (($$011211153*40)|0)|0)) + 36|0); + $1194 = HEAP32[$1193>>2]|0; + $1195 = ($1194|0)==(0); + if (!($1195)) { + HEAP32[$188>>2] = 1989; + HEAP32[$1108>>2] = 166; + HEAP32[$1109>>2] = 32; + HEAP32[$1110>>2] = 32; + $1196 = (197700 + (($$011211153*40)|0)|0); + $1197 = +HEAPF32[$1196>>2]; + $1198 = (~~(($1197))); + HEAP32[$189>>2] = $1198; + $1199 = (((197700 + (($$011211153*40)|0)|0)) + 4|0); + $1200 = +HEAPF32[$1199>>2]; + $1201 = (~~(($1200))); + HEAP32[$1111>>2] = $1201; + $1202 = (((197700 + (($$011211153*40)|0)|0)) + 20|0); + $1203 = +HEAPF32[$1202>>2]; + $1204 = $1203 * 32.0; + $1205 = (~~(($1204))); + HEAP32[$1112>>2] = $1205; + HEAP32[$1113>>2] = $1205; + $1206 = $1204 * 0.5; + HEAPF32[$190>>2] = $1206; + HEAPF32[$1114>>2] = $1206; + $1207 = (((197700 + (($$011211153*40)|0)|0)) + 16|0); + $1208 = +HEAPF32[$1207>>2]; + $1209 = (((197700 + (($$011211153*40)|0)|0)) + 24|0); + $1210 = (((197700 + (($$011211153*40)|0)|0)) + 28|0); + $1211 = +HEAPF32[$1210>>2]; + ;HEAP8[$$byval_copy366>>0]=HEAP8[$1209>>0]|0;HEAP8[$$byval_copy366+1>>0]=HEAP8[$1209+1>>0]|0;HEAP8[$$byval_copy366+2>>0]=HEAP8[$1209+2>>0]|0;HEAP8[$$byval_copy366+3>>0]=HEAP8[$1209+3>>0]|0; + _Fade($191,$$byval_copy366,$1211); + ;HEAP32[$atlas01$byval_copy318>>2]=HEAP32[25512>>2]|0;HEAP32[$atlas01$byval_copy318+4>>2]=HEAP32[25512+4>>2]|0;HEAP32[$atlas01$byval_copy318+8>>2]=HEAP32[25512+8>>2]|0;HEAP32[$atlas01$byval_copy318+12>>2]=HEAP32[25512+12>>2]|0;HEAP32[$atlas01$byval_copy318+16>>2]=HEAP32[25512+16>>2]|0; + ;HEAP32[$$byval_copy319>>2]=HEAP32[$188>>2]|0;HEAP32[$$byval_copy319+4>>2]=HEAP32[$188+4>>2]|0;HEAP32[$$byval_copy319+8>>2]=HEAP32[$188+8>>2]|0;HEAP32[$$byval_copy319+12>>2]=HEAP32[$188+12>>2]|0; + ;HEAP32[$font$byval_copy364>>2]=HEAP32[$189>>2]|0;HEAP32[$font$byval_copy364+4>>2]=HEAP32[$189+4>>2]|0;HEAP32[$font$byval_copy364+8>>2]=HEAP32[$189+8>>2]|0;HEAP32[$font$byval_copy364+12>>2]=HEAP32[$189+12>>2]|0; + ;HEAP32[$$byval_copy365>>2]=HEAP32[$190>>2]|0;HEAP32[$$byval_copy365+4>>2]=HEAP32[$190+4>>2]|0; + ;HEAP8[$$byval_copy366>>0]=HEAP8[$191>>0]|0;HEAP8[$$byval_copy366+1>>0]=HEAP8[$191+1>>0]|0;HEAP8[$$byval_copy366+2>>0]=HEAP8[$191+2>>0]|0;HEAP8[$$byval_copy366+3>>0]=HEAP8[$191+3>>0]|0; + _DrawTexturePro($atlas01$byval_copy318,$$byval_copy319,$font$byval_copy364,$$byval_copy365,$1208,$$byval_copy366); + } + $1212 = (((202840 + (($$011211153*40)|0)|0)) + 36|0); + $1213 = HEAP32[$1212>>2]|0; + $1214 = ($1213|0)==(0); + if (!($1214)) { + HEAP32[$192>>2] = 487; + HEAP32[$1101>>2] = 1839; + HEAP32[$1102>>2] = 32; + HEAP32[$1103>>2] = 32; + $1215 = (202840 + (($$011211153*40)|0)|0); + $1216 = +HEAPF32[$1215>>2]; + $1217 = (~~(($1216))); + HEAP32[$193>>2] = $1217; + $1218 = (((202840 + (($$011211153*40)|0)|0)) + 4|0); + $1219 = +HEAPF32[$1218>>2]; + $1220 = (~~(($1219))); + HEAP32[$1104>>2] = $1220; + $1221 = (((202840 + (($$011211153*40)|0)|0)) + 20|0); + $1222 = +HEAPF32[$1221>>2]; + $1223 = $1222 * 32.0; + $1224 = (~~(($1223))); + HEAP32[$1105>>2] = $1224; + HEAP32[$1106>>2] = $1224; + $1225 = $1223 * 0.5; + HEAPF32[$194>>2] = $1225; + HEAPF32[$1107>>2] = $1225; + $1226 = (((202840 + (($$011211153*40)|0)|0)) + 16|0); + $1227 = +HEAPF32[$1226>>2]; + $1228 = (((202840 + (($$011211153*40)|0)|0)) + 24|0); + $1229 = (((202840 + (($$011211153*40)|0)|0)) + 28|0); + $1230 = +HEAPF32[$1229>>2]; + ;HEAP8[$$byval_copy366>>0]=HEAP8[$1228>>0]|0;HEAP8[$$byval_copy366+1>>0]=HEAP8[$1228+1>>0]|0;HEAP8[$$byval_copy366+2>>0]=HEAP8[$1228+2>>0]|0;HEAP8[$$byval_copy366+3>>0]=HEAP8[$1228+3>>0]|0; + _Fade($195,$$byval_copy366,$1230); + ;HEAP32[$atlas01$byval_copy318>>2]=HEAP32[25512>>2]|0;HEAP32[$atlas01$byval_copy318+4>>2]=HEAP32[25512+4>>2]|0;HEAP32[$atlas01$byval_copy318+8>>2]=HEAP32[25512+8>>2]|0;HEAP32[$atlas01$byval_copy318+12>>2]=HEAP32[25512+12>>2]|0;HEAP32[$atlas01$byval_copy318+16>>2]=HEAP32[25512+16>>2]|0; + ;HEAP32[$$byval_copy319>>2]=HEAP32[$192>>2]|0;HEAP32[$$byval_copy319+4>>2]=HEAP32[$192+4>>2]|0;HEAP32[$$byval_copy319+8>>2]=HEAP32[$192+8>>2]|0;HEAP32[$$byval_copy319+12>>2]=HEAP32[$192+12>>2]|0; + ;HEAP32[$font$byval_copy364>>2]=HEAP32[$193>>2]|0;HEAP32[$font$byval_copy364+4>>2]=HEAP32[$193+4>>2]|0;HEAP32[$font$byval_copy364+8>>2]=HEAP32[$193+8>>2]|0;HEAP32[$font$byval_copy364+12>>2]=HEAP32[$193+12>>2]|0; + ;HEAP32[$$byval_copy365>>2]=HEAP32[$194>>2]|0;HEAP32[$$byval_copy365+4>>2]=HEAP32[$194+4>>2]|0; + ;HEAP8[$$byval_copy366>>0]=HEAP8[$195>>0]|0;HEAP8[$$byval_copy366+1>>0]=HEAP8[$195+1>>0]|0;HEAP8[$$byval_copy366+2>>0]=HEAP8[$195+2>>0]|0;HEAP8[$$byval_copy366+3>>0]=HEAP8[$195+3>>0]|0; + _DrawTexturePro($atlas01$byval_copy318,$$byval_copy319,$font$byval_copy364,$$byval_copy365,$1227,$$byval_copy366); + } + $1231 = (($$011211153) + 1)|0; + $exitcond1177 = ($1231|0)==(128); + if ($exitcond1177) { + $$011221152 = 0; + break; + } else { + $$011211153 = $1231; + } + } + while(1) { + $1239 = (((254688 + (($$011221152*40)|0)|0)) + 36|0); + $1240 = HEAP32[$1239>>2]|0; + $1241 = ($1240|0)==(0); + if (!($1241)) { + $1242 = (254688 + (($$011221152*40)|0)|0); + $1243 = +HEAPF32[$1242>>2]; + $1244 = (~~(($1243))); + $1245 = (((254688 + (($$011221152*40)|0)|0)) + 4|0); + $1246 = +HEAPF32[$1245>>2]; + $1247 = (~~(($1246))); + $1248 = (((254688 + (($$011221152*40)|0)|0)) + 20|0); + $1249 = +HEAPF32[$1248>>2]; + $1250 = (~~(($1249))); + $1251 = (((254688 + (($$011221152*40)|0)|0)) + 24|0); + $1252 = +HEAPF32[$1251>>2]; + $1253 = (~~(($1252))); + $1254 = (((254688 + (($$011221152*40)|0)|0)) + 32|0); + HEAP32[$197>>2] = -1; + $1255 = +HEAPF32[$1254>>2]; + ;HEAP8[$$byval_copy366>>0]=HEAP8[$197>>0]|0;HEAP8[$$byval_copy366+1>>0]=HEAP8[$197+1>>0]|0;HEAP8[$$byval_copy366+2>>0]=HEAP8[$197+2>>0]|0;HEAP8[$$byval_copy366+3>>0]=HEAP8[$197+3>>0]|0; + _Fade($196,$$byval_copy366,$1255); + ;HEAP8[$$byval_copy366>>0]=HEAP8[$196>>0]|0;HEAP8[$$byval_copy366+1>>0]=HEAP8[$196+1>>0]|0;HEAP8[$$byval_copy366+2>>0]=HEAP8[$196+2>>0]|0;HEAP8[$$byval_copy366+3>>0]=HEAP8[$196+3>>0]|0; + _DrawRectangle($1244,$1247,$1250,$1253,$$byval_copy366); + } + $1256 = (($$011221152) + 1)|0; + $exitcond1176 = ($1256|0)==(64); + if ($exitcond1176) { + break; + } else { + $$011221152 = $1256; + } + } + $1232 = ((($198)) + 4|0); + $1233 = ((($198)) + 8|0); + $1234 = ((($198)) + 12|0); + $1235 = ((($199)) + 4|0); + $1236 = ((($199)) + 8|0); + $1237 = ((($199)) + 12|0); + $1238 = ((($200)) + 4|0); + $$011231151 = 0; + while(1) { + $1264 = (((207980 + (($$011231151*40)|0)|0)) + 36|0); + $1265 = HEAP32[$1264>>2]|0; + $1266 = ($1265|0)==(0); + if (!($1266)) { + HEAP32[$198>>2] = 487; + HEAP32[$1232>>2] = 1839; + HEAP32[$1233>>2] = 32; + HEAP32[$1234>>2] = 32; + $1267 = (207980 + (($$011231151*40)|0)|0); + $1268 = +HEAPF32[$1267>>2]; + $1269 = (~~(($1268))); + HEAP32[$199>>2] = $1269; + $1270 = (((207980 + (($$011231151*40)|0)|0)) + 4|0); + $1271 = +HEAPF32[$1270>>2]; + $1272 = (~~(($1271))); + HEAP32[$1235>>2] = $1272; + $1273 = (((207980 + (($$011231151*40)|0)|0)) + 20|0); + $1274 = +HEAPF32[$1273>>2]; + $1275 = $1274 * 32.0; + $1276 = (~~(($1275))); + HEAP32[$1236>>2] = $1276; + HEAP32[$1237>>2] = $1276; + $1277 = $1275 * 0.5; + HEAPF32[$200>>2] = $1277; + HEAPF32[$1238>>2] = $1277; + $1278 = (((207980 + (($$011231151*40)|0)|0)) + 16|0); + $1279 = +HEAPF32[$1278>>2]; + $1280 = (((207980 + (($$011231151*40)|0)|0)) + 24|0); + $1281 = (((207980 + (($$011231151*40)|0)|0)) + 28|0); + $1282 = +HEAPF32[$1281>>2]; + ;HEAP8[$$byval_copy366>>0]=HEAP8[$1280>>0]|0;HEAP8[$$byval_copy366+1>>0]=HEAP8[$1280+1>>0]|0;HEAP8[$$byval_copy366+2>>0]=HEAP8[$1280+2>>0]|0;HEAP8[$$byval_copy366+3>>0]=HEAP8[$1280+3>>0]|0; + _Fade($201,$$byval_copy366,$1282); + ;HEAP32[$atlas01$byval_copy318>>2]=HEAP32[25512>>2]|0;HEAP32[$atlas01$byval_copy318+4>>2]=HEAP32[25512+4>>2]|0;HEAP32[$atlas01$byval_copy318+8>>2]=HEAP32[25512+8>>2]|0;HEAP32[$atlas01$byval_copy318+12>>2]=HEAP32[25512+12>>2]|0;HEAP32[$atlas01$byval_copy318+16>>2]=HEAP32[25512+16>>2]|0; + ;HEAP32[$$byval_copy319>>2]=HEAP32[$198>>2]|0;HEAP32[$$byval_copy319+4>>2]=HEAP32[$198+4>>2]|0;HEAP32[$$byval_copy319+8>>2]=HEAP32[$198+8>>2]|0;HEAP32[$$byval_copy319+12>>2]=HEAP32[$198+12>>2]|0; + ;HEAP32[$font$byval_copy364>>2]=HEAP32[$199>>2]|0;HEAP32[$font$byval_copy364+4>>2]=HEAP32[$199+4>>2]|0;HEAP32[$font$byval_copy364+8>>2]=HEAP32[$199+8>>2]|0;HEAP32[$font$byval_copy364+12>>2]=HEAP32[$199+12>>2]|0; + ;HEAP32[$$byval_copy365>>2]=HEAP32[$200>>2]|0;HEAP32[$$byval_copy365+4>>2]=HEAP32[$200+4>>2]|0; + ;HEAP8[$$byval_copy366>>0]=HEAP8[$201>>0]|0;HEAP8[$$byval_copy366+1>>0]=HEAP8[$201+1>>0]|0;HEAP8[$$byval_copy366+2>>0]=HEAP8[$201+2>>0]|0;HEAP8[$$byval_copy366+3>>0]=HEAP8[$201+3>>0]|0; + _DrawTexturePro($atlas01$byval_copy318,$$byval_copy319,$font$byval_copy364,$$byval_copy365,$1279,$$byval_copy366); + } + $1283 = (($$011231151) + 1)|0; + $exitcond1175 = ($1283|0)==(512); + if ($exitcond1175) { + break; + } else { + $$011231151 = $1283; + } + } + $1257 = ((($202)) + 4|0); + $1258 = ((($202)) + 8|0); + $1259 = ((($202)) + 12|0); + $1260 = ((($203)) + 4|0); + $1261 = ((($203)) + 8|0); + $1262 = ((($203)) + 12|0); + $1263 = ((($204)) + 4|0); + $$011241150 = 0; + while(1) { + $1291 = (((166916 + (($$011241150*40)|0)|0)) + 36|0); + $1292 = HEAP32[$1291>>2]|0; + $1293 = ($1292|0)==(0); + if (!($1293)) { + HEAP32[$202>>2] = 419; + HEAP32[$1257>>2] = 1839; + HEAP32[$1258>>2] = 32; + HEAP32[$1259>>2] = 32; + $1294 = (166916 + (($$011241150*40)|0)|0); + $1295 = +HEAPF32[$1294>>2]; + $1296 = (~~(($1295))); + HEAP32[$203>>2] = $1296; + $1297 = (((166916 + (($$011241150*40)|0)|0)) + 4|0); + $1298 = +HEAPF32[$1297>>2]; + $1299 = (~~(($1298))); + HEAP32[$1260>>2] = $1299; + $1300 = (((166916 + (($$011241150*40)|0)|0)) + 20|0); + $1301 = +HEAPF32[$1300>>2]; + $1302 = $1301 * 32.0; + $1303 = (~~(($1302))); + HEAP32[$1261>>2] = $1303; + HEAP32[$1262>>2] = $1303; + $1304 = $1302 * 0.5; + HEAPF32[$204>>2] = $1304; + HEAPF32[$1263>>2] = $1304; + $1305 = (((166916 + (($$011241150*40)|0)|0)) + 16|0); + $1306 = +HEAPF32[$1305>>2]; + $1307 = (((166916 + (($$011241150*40)|0)|0)) + 24|0); + $1308 = (((166916 + (($$011241150*40)|0)|0)) + 28|0); + $1309 = +HEAPF32[$1308>>2]; + ;HEAP8[$$byval_copy366>>0]=HEAP8[$1307>>0]|0;HEAP8[$$byval_copy366+1>>0]=HEAP8[$1307+1>>0]|0;HEAP8[$$byval_copy366+2>>0]=HEAP8[$1307+2>>0]|0;HEAP8[$$byval_copy366+3>>0]=HEAP8[$1307+3>>0]|0; + _Fade($205,$$byval_copy366,$1309); + ;HEAP32[$atlas01$byval_copy318>>2]=HEAP32[25512>>2]|0;HEAP32[$atlas01$byval_copy318+4>>2]=HEAP32[25512+4>>2]|0;HEAP32[$atlas01$byval_copy318+8>>2]=HEAP32[25512+8>>2]|0;HEAP32[$atlas01$byval_copy318+12>>2]=HEAP32[25512+12>>2]|0;HEAP32[$atlas01$byval_copy318+16>>2]=HEAP32[25512+16>>2]|0; + ;HEAP32[$$byval_copy319>>2]=HEAP32[$202>>2]|0;HEAP32[$$byval_copy319+4>>2]=HEAP32[$202+4>>2]|0;HEAP32[$$byval_copy319+8>>2]=HEAP32[$202+8>>2]|0;HEAP32[$$byval_copy319+12>>2]=HEAP32[$202+12>>2]|0; + ;HEAP32[$font$byval_copy364>>2]=HEAP32[$203>>2]|0;HEAP32[$font$byval_copy364+4>>2]=HEAP32[$203+4>>2]|0;HEAP32[$font$byval_copy364+8>>2]=HEAP32[$203+8>>2]|0;HEAP32[$font$byval_copy364+12>>2]=HEAP32[$203+12>>2]|0; + ;HEAP32[$$byval_copy365>>2]=HEAP32[$204>>2]|0;HEAP32[$$byval_copy365+4>>2]=HEAP32[$204+4>>2]|0; + ;HEAP8[$$byval_copy366>>0]=HEAP8[$205>>0]|0;HEAP8[$$byval_copy366+1>>0]=HEAP8[$205+1>>0]|0;HEAP8[$$byval_copy366+2>>0]=HEAP8[$205+2>>0]|0;HEAP8[$$byval_copy366+3>>0]=HEAP8[$205+3>>0]|0; + _DrawTexturePro($atlas01$byval_copy318,$$byval_copy319,$font$byval_copy364,$$byval_copy365,$1306,$$byval_copy366); + } + $1310 = (($$011241150) + 1)|0; + $exitcond1174 = ($1310|0)==(512); + if ($exitcond1174) { + break; + } else { + $$011241150 = $1310; + } + } + $1284 = ((($206)) + 4|0); + $1285 = ((($206)) + 8|0); + $1286 = ((($206)) + 12|0); + $1287 = ((($207)) + 4|0); + $1288 = ((($207)) + 8|0); + $1289 = ((($207)) + 12|0); + $1290 = ((($208)) + 4|0); + $$011251149 = 0; + while(1) { + $1313 = (((228480 + (($$011251149*36)|0)|0)) + 24|0); + $1314 = HEAP32[$1313>>2]|0; + $1315 = ($1314|0)==(0); + if (!($1315)) { + HEAP32[$206>>2] = 2; + HEAP32[$1284>>2] = 1028; + HEAP32[$1285>>2] = 54; + HEAP32[$1286>>2] = 710; + $1316 = (228480 + (($$011251149*36)|0)|0); + $1317 = +HEAPF32[$1316>>2]; + $1318 = (~~(($1317))); + HEAP32[$207>>2] = $1318; + $1319 = (((228480 + (($$011251149*36)|0)|0)) + 4|0); + $1320 = +HEAPF32[$1319>>2]; + $1321 = (~~(($1320))); + HEAP32[$1287>>2] = $1321; + $1322 = (((228480 + (($$011251149*36)|0)|0)) + 16|0); + $1323 = +HEAPF32[$1322>>2]; + $1324 = $1323 * 54.0; + $1325 = (~~(($1324))); + HEAP32[$1288>>2] = $1325; + $1326 = $1323 * 710.0; + $1327 = (~~(($1326))); + HEAP32[$1289>>2] = $1327; + $1328 = $1324 * 0.5; + HEAPF32[$208>>2] = $1328; + $1329 = $1326 * 0.5; + HEAPF32[$1290>>2] = $1329; + $1330 = (((228480 + (($$011251149*36)|0)|0)) + 20|0); + $1331 = +HEAPF32[$1330>>2]; + $1332 = (((228480 + (($$011251149*36)|0)|0)) + 8|0); + $1333 = (((228480 + (($$011251149*36)|0)|0)) + 12|0); + $1334 = +HEAPF32[$1333>>2]; + ;HEAP8[$$byval_copy366>>0]=HEAP8[$1332>>0]|0;HEAP8[$$byval_copy366+1>>0]=HEAP8[$1332+1>>0]|0;HEAP8[$$byval_copy366+2>>0]=HEAP8[$1332+2>>0]|0;HEAP8[$$byval_copy366+3>>0]=HEAP8[$1332+3>>0]|0; + _Fade($209,$$byval_copy366,$1334); + ;HEAP32[$atlas01$byval_copy318>>2]=HEAP32[25512>>2]|0;HEAP32[$atlas01$byval_copy318+4>>2]=HEAP32[25512+4>>2]|0;HEAP32[$atlas01$byval_copy318+8>>2]=HEAP32[25512+8>>2]|0;HEAP32[$atlas01$byval_copy318+12>>2]=HEAP32[25512+12>>2]|0;HEAP32[$atlas01$byval_copy318+16>>2]=HEAP32[25512+16>>2]|0; + ;HEAP32[$$byval_copy319>>2]=HEAP32[$206>>2]|0;HEAP32[$$byval_copy319+4>>2]=HEAP32[$206+4>>2]|0;HEAP32[$$byval_copy319+8>>2]=HEAP32[$206+8>>2]|0;HEAP32[$$byval_copy319+12>>2]=HEAP32[$206+12>>2]|0; + ;HEAP32[$font$byval_copy364>>2]=HEAP32[$207>>2]|0;HEAP32[$font$byval_copy364+4>>2]=HEAP32[$207+4>>2]|0;HEAP32[$font$byval_copy364+8>>2]=HEAP32[$207+8>>2]|0;HEAP32[$font$byval_copy364+12>>2]=HEAP32[$207+12>>2]|0; + ;HEAP32[$$byval_copy365>>2]=HEAP32[$208>>2]|0;HEAP32[$$byval_copy365+4>>2]=HEAP32[$208+4>>2]|0; + ;HEAP8[$$byval_copy366>>0]=HEAP8[$209>>0]|0;HEAP8[$$byval_copy366+1>>0]=HEAP8[$209+1>>0]|0;HEAP8[$$byval_copy366+2>>0]=HEAP8[$209+2>>0]|0;HEAP8[$$byval_copy366+3>>0]=HEAP8[$209+3>>0]|0; + _DrawTexturePro($atlas01$byval_copy318,$$byval_copy319,$font$byval_copy364,$$byval_copy365,$1331,$$byval_copy366); + } + $1335 = (($$011251149) + 1)|0; + $exitcond1173 = ($1335|0)==(8); + if ($exitcond1173) { + break; + } else { + $$011251149 = $1335; + } + } + $1311 = +HEAPF32[40362]; + $1312 = $1311 != 0.0; + if ($1312) { + HEAP32[$210>>2] = 644; + $1336 = ((($210)) + 4|0); + HEAP32[$1336>>2] = 2; + $1337 = ((($210)) + 8|0); + HEAP32[$1337>>2] = 500; + $1338 = ((($210)) + 12|0); + HEAP32[$1338>>2] = 311; + $1339 = HEAP32[83395]|0; + HEAP32[$211>>2] = $1339; + $1340 = ((($211)) + 4|0); + $1341 = (_GetScreenHeight()|0); + $1342 = (+($1341|0)); + $1343 = $1342 * 0.59999999999999998; + $1344 = (~~(($1343))); + HEAP32[$1340>>2] = $1344; + $1345 = ((($211)) + 8|0); + $1346 = (_GetScreenWidth()|0); + HEAP32[$1345>>2] = $1346; + $1347 = ((($211)) + 12|0); + HEAP32[$1347>>2] = 311; + HEAPF32[$212>>2] = 0.0; + $1348 = ((($212)) + 4|0); + HEAPF32[$1348>>2] = 0.0; + HEAP32[$214>>2] = -1; + $1349 = +HEAPF32[40362]; + ;HEAP8[$$byval_copy366>>0]=HEAP8[$214>>0]|0;HEAP8[$$byval_copy366+1>>0]=HEAP8[$214+1>>0]|0;HEAP8[$$byval_copy366+2>>0]=HEAP8[$214+2>>0]|0;HEAP8[$$byval_copy366+3>>0]=HEAP8[$214+3>>0]|0; + _Fade($213,$$byval_copy366,$1349); + ;HEAP32[$atlas01$byval_copy318>>2]=HEAP32[25532>>2]|0;HEAP32[$atlas01$byval_copy318+4>>2]=HEAP32[25532+4>>2]|0;HEAP32[$atlas01$byval_copy318+8>>2]=HEAP32[25532+8>>2]|0;HEAP32[$atlas01$byval_copy318+12>>2]=HEAP32[25532+12>>2]|0;HEAP32[$atlas01$byval_copy318+16>>2]=HEAP32[25532+16>>2]|0; + ;HEAP32[$$byval_copy319>>2]=HEAP32[$210>>2]|0;HEAP32[$$byval_copy319+4>>2]=HEAP32[$210+4>>2]|0;HEAP32[$$byval_copy319+8>>2]=HEAP32[$210+8>>2]|0;HEAP32[$$byval_copy319+12>>2]=HEAP32[$210+12>>2]|0; + ;HEAP32[$font$byval_copy364>>2]=HEAP32[$211>>2]|0;HEAP32[$font$byval_copy364+4>>2]=HEAP32[$211+4>>2]|0;HEAP32[$font$byval_copy364+8>>2]=HEAP32[$211+8>>2]|0;HEAP32[$font$byval_copy364+12>>2]=HEAP32[$211+12>>2]|0; + ;HEAP32[$$byval_copy365>>2]=HEAP32[$212>>2]|0;HEAP32[$$byval_copy365+4>>2]=HEAP32[$212+4>>2]|0; + ;HEAP8[$$byval_copy366>>0]=HEAP8[$213>>0]|0;HEAP8[$$byval_copy366+1>>0]=HEAP8[$213+1>>0]|0;HEAP8[$$byval_copy366+2>>0]=HEAP8[$213+2>>0]|0;HEAP8[$$byval_copy366+3>>0]=HEAP8[$213+3>>0]|0; + _DrawTexturePro($atlas01$byval_copy318,$$byval_copy319,$font$byval_copy364,$$byval_copy365,0.0,$$byval_copy366); + HEAP32[$215>>2] = 644; + $1350 = ((($215)) + 4|0); + HEAP32[$1350>>2] = 2; + $1351 = ((($215)) + 8|0); + HEAP32[$1351>>2] = 500; + $1352 = ((($215)) + 12|0); + HEAP32[$1352>>2] = 311; + $1353 = HEAP32[83395]|0; + $1354 = (_GetScreenWidth()|0); + $1355 = (($1354) + ($1353))|0; + HEAP32[$216>>2] = $1355; + $1356 = ((($216)) + 4|0); + $1357 = (_GetScreenHeight()|0); + $1358 = (+($1357|0)); + $1359 = $1358 * 0.59999999999999998; + $1360 = (~~(($1359))); + HEAP32[$1356>>2] = $1360; + $1361 = ((($216)) + 8|0); + $1362 = (_GetScreenWidth()|0); + HEAP32[$1361>>2] = $1362; + $1363 = ((($216)) + 12|0); + HEAP32[$1363>>2] = 311; + HEAPF32[$217>>2] = 0.0; + $1364 = ((($217)) + 4|0); + HEAPF32[$1364>>2] = 0.0; + HEAP32[$219>>2] = -1; + $1365 = +HEAPF32[40362]; + ;HEAP8[$$byval_copy366>>0]=HEAP8[$219>>0]|0;HEAP8[$$byval_copy366+1>>0]=HEAP8[$219+1>>0]|0;HEAP8[$$byval_copy366+2>>0]=HEAP8[$219+2>>0]|0;HEAP8[$$byval_copy366+3>>0]=HEAP8[$219+3>>0]|0; + _Fade($218,$$byval_copy366,$1365); + ;HEAP32[$atlas01$byval_copy318>>2]=HEAP32[25532>>2]|0;HEAP32[$atlas01$byval_copy318+4>>2]=HEAP32[25532+4>>2]|0;HEAP32[$atlas01$byval_copy318+8>>2]=HEAP32[25532+8>>2]|0;HEAP32[$atlas01$byval_copy318+12>>2]=HEAP32[25532+12>>2]|0;HEAP32[$atlas01$byval_copy318+16>>2]=HEAP32[25532+16>>2]|0; + ;HEAP32[$$byval_copy319>>2]=HEAP32[$215>>2]|0;HEAP32[$$byval_copy319+4>>2]=HEAP32[$215+4>>2]|0;HEAP32[$$byval_copy319+8>>2]=HEAP32[$215+8>>2]|0;HEAP32[$$byval_copy319+12>>2]=HEAP32[$215+12>>2]|0; + ;HEAP32[$font$byval_copy364>>2]=HEAP32[$216>>2]|0;HEAP32[$font$byval_copy364+4>>2]=HEAP32[$216+4>>2]|0;HEAP32[$font$byval_copy364+8>>2]=HEAP32[$216+8>>2]|0;HEAP32[$font$byval_copy364+12>>2]=HEAP32[$216+12>>2]|0; + ;HEAP32[$$byval_copy365>>2]=HEAP32[$217>>2]|0;HEAP32[$$byval_copy365+4>>2]=HEAP32[$217+4>>2]|0; + ;HEAP8[$$byval_copy366>>0]=HEAP8[$218>>0]|0;HEAP8[$$byval_copy366+1>>0]=HEAP8[$218+1>>0]|0;HEAP8[$$byval_copy366+2>>0]=HEAP8[$218+2>>0]|0;HEAP8[$$byval_copy366+3>>0]=HEAP8[$218+3>>0]|0; + _DrawTexturePro($atlas01$byval_copy318,$$byval_copy319,$font$byval_copy364,$$byval_copy365,0.0,$$byval_copy366); + } + $1366 = +HEAPF32[83399]; + $1367 = $1366 != 0.0; + $1368 = HEAP32[83396]|0; + $1369 = ($1368|0)!=(2); + $or$cond26 = $1367 & $1369; + if ($or$cond26) { + $1370 = (_GetScreenWidth()|0); + $1371 = (_GetScreenHeight()|0); + HEAP8[$221>>0] = 102; + $1372 = ((($221)) + 1|0); + HEAP8[$1372>>0] = -65; + $1373 = ((($221)) + 2|0); + HEAP8[$1373>>0] = -1; + $1374 = ((($221)) + 3|0); + HEAP8[$1374>>0] = -1; + $1375 = +HEAPF32[83399]; + ;HEAP8[$$byval_copy366>>0]=HEAP8[$221>>0]|0;HEAP8[$$byval_copy366+1>>0]=HEAP8[$221+1>>0]|0;HEAP8[$$byval_copy366+2>>0]=HEAP8[$221+2>>0]|0;HEAP8[$$byval_copy366+3>>0]=HEAP8[$221+3>>0]|0; + _Fade($220,$$byval_copy366,$1375); + ;HEAP8[$$byval_copy366>>0]=HEAP8[$220>>0]|0;HEAP8[$$byval_copy366+1>>0]=HEAP8[$220+1>>0]|0;HEAP8[$$byval_copy366+2>>0]=HEAP8[$220+2>>0]|0;HEAP8[$$byval_copy366+3>>0]=HEAP8[$220+3>>0]|0; + _DrawRectangle(0,0,$1370,$1371,$$byval_copy366); + } + HEAP32[$222>>2] = 626; + $1376 = ((($222)) + 4|0); + HEAP32[$1376>>2] = 1520; + $1377 = ((($222)) + 8|0); + HEAP32[$1377>>2] = 178; + $1378 = ((($222)) + 12|0); + HEAP32[$1378>>2] = 175; + HEAP32[$223>>2] = 0; + $1379 = ((($223)) + 4|0); + HEAP32[$1379>>2] = 0; + $1380 = ((($223)) + 8|0); + HEAP32[$1380>>2] = 178; + $1381 = ((($223)) + 12|0); + HEAP32[$1381>>2] = 175; + HEAPF32[$224>>2] = 0.0; + $1382 = ((($224)) + 4|0); + HEAPF32[$1382>>2] = 0.0; + HEAP32[$225>>2] = -1; + ;HEAP32[$atlas01$byval_copy318>>2]=HEAP32[25512>>2]|0;HEAP32[$atlas01$byval_copy318+4>>2]=HEAP32[25512+4>>2]|0;HEAP32[$atlas01$byval_copy318+8>>2]=HEAP32[25512+8>>2]|0;HEAP32[$atlas01$byval_copy318+12>>2]=HEAP32[25512+12>>2]|0;HEAP32[$atlas01$byval_copy318+16>>2]=HEAP32[25512+16>>2]|0; + ;HEAP32[$$byval_copy319>>2]=HEAP32[$222>>2]|0;HEAP32[$$byval_copy319+4>>2]=HEAP32[$222+4>>2]|0;HEAP32[$$byval_copy319+8>>2]=HEAP32[$222+8>>2]|0;HEAP32[$$byval_copy319+12>>2]=HEAP32[$222+12>>2]|0; + ;HEAP32[$font$byval_copy364>>2]=HEAP32[$223>>2]|0;HEAP32[$font$byval_copy364+4>>2]=HEAP32[$223+4>>2]|0;HEAP32[$font$byval_copy364+8>>2]=HEAP32[$223+8>>2]|0;HEAP32[$font$byval_copy364+12>>2]=HEAP32[$223+12>>2]|0; + ;HEAP32[$$byval_copy365>>2]=HEAP32[$224>>2]|0;HEAP32[$$byval_copy365+4>>2]=HEAP32[$224+4>>2]|0; + ;HEAP8[$$byval_copy366>>0]=HEAP8[$225>>0]|0;HEAP8[$$byval_copy366+1>>0]=HEAP8[$225+1>>0]|0;HEAP8[$$byval_copy366+2>>0]=HEAP8[$225+2>>0]|0;HEAP8[$$byval_copy366+3>>0]=HEAP8[$225+3>>0]|0; + _DrawTexturePro($atlas01$byval_copy318,$$byval_copy319,$font$byval_copy364,$$byval_copy365,0.0,$$byval_copy366); + HEAP32[$226>>2] = 103; + $1383 = ((($226)) + 4|0); + HEAP32[$1383>>2] = 1423; + $1384 = ((($226)) + 8|0); + HEAP32[$1384>>2] = 300; + $1385 = ((($226)) + 12|0); + HEAP32[$1385>>2] = 303; + $1386 = (_GetScreenWidth()|0); + HEAP32[$227>>2] = $1386; + $1387 = ((($227)) + 4|0); + HEAP32[$1387>>2] = 0; + $1388 = ((($227)) + 8|0); + HEAP32[$1388>>2] = 300; + $1389 = ((($227)) + 12|0); + HEAP32[$1389>>2] = 303; + HEAPF32[$228>>2] = 150.0; + $1390 = ((($228)) + 4|0); + HEAPF32[$1390>>2] = 151.0; + $1391 = +HEAPF32[40353]; + HEAP32[$230>>2] = -1; + $1392 = +HEAPF32[40361]; + ;HEAP8[$$byval_copy366>>0]=HEAP8[$230>>0]|0;HEAP8[$$byval_copy366+1>>0]=HEAP8[$230+1>>0]|0;HEAP8[$$byval_copy366+2>>0]=HEAP8[$230+2>>0]|0;HEAP8[$$byval_copy366+3>>0]=HEAP8[$230+3>>0]|0; + _Fade($229,$$byval_copy366,$1392); + ;HEAP32[$atlas01$byval_copy318>>2]=HEAP32[25512>>2]|0;HEAP32[$atlas01$byval_copy318+4>>2]=HEAP32[25512+4>>2]|0;HEAP32[$atlas01$byval_copy318+8>>2]=HEAP32[25512+8>>2]|0;HEAP32[$atlas01$byval_copy318+12>>2]=HEAP32[25512+12>>2]|0;HEAP32[$atlas01$byval_copy318+16>>2]=HEAP32[25512+16>>2]|0; + ;HEAP32[$$byval_copy319>>2]=HEAP32[$226>>2]|0;HEAP32[$$byval_copy319+4>>2]=HEAP32[$226+4>>2]|0;HEAP32[$$byval_copy319+8>>2]=HEAP32[$226+8>>2]|0;HEAP32[$$byval_copy319+12>>2]=HEAP32[$226+12>>2]|0; + ;HEAP32[$font$byval_copy364>>2]=HEAP32[$227>>2]|0;HEAP32[$font$byval_copy364+4>>2]=HEAP32[$227+4>>2]|0;HEAP32[$font$byval_copy364+8>>2]=HEAP32[$227+8>>2]|0;HEAP32[$font$byval_copy364+12>>2]=HEAP32[$227+12>>2]|0; + ;HEAP32[$$byval_copy365>>2]=HEAP32[$228>>2]|0;HEAP32[$$byval_copy365+4>>2]=HEAP32[$228+4>>2]|0; + ;HEAP8[$$byval_copy366>>0]=HEAP8[$229>>0]|0;HEAP8[$$byval_copy366+1>>0]=HEAP8[$229+1>>0]|0;HEAP8[$$byval_copy366+2>>0]=HEAP8[$229+2>>0]|0;HEAP8[$$byval_copy366+3>>0]=HEAP8[$229+3>>0]|0; + _DrawTexturePro($atlas01$byval_copy318,$$byval_copy319,$font$byval_copy364,$$byval_copy365,$1391,$$byval_copy366); + HEAP32[$231>>2] = 772; + $1393 = ((($231)) + 4|0); + HEAP32[$1393>>2] = 1265; + $1394 = ((($231)) + 8|0); + HEAP32[$1394>>2] = 151; + $1395 = ((($231)) + 12|0); + HEAP32[$1395>>2] = 150; + $1396 = (_GetScreenWidth()|0); + $1397 = (($1396) + -151)|0; + HEAP32[$232>>2] = $1397; + $1398 = ((($232)) + 4|0); + HEAP32[$1398>>2] = 0; + $1399 = ((($232)) + 8|0); + HEAP32[$1399>>2] = 151; + $1400 = ((($232)) + 12|0); + HEAP32[$1400>>2] = 150; + HEAPF32[$233>>2] = 0.0; + $1401 = ((($233)) + 4|0); + HEAPF32[$1401>>2] = 0.0; + HEAP32[$235>>2] = -1; + $1402 = +HEAPF32[40361]; + ;HEAP8[$$byval_copy366>>0]=HEAP8[$235>>0]|0;HEAP8[$$byval_copy366+1>>0]=HEAP8[$235+1>>0]|0;HEAP8[$$byval_copy366+2>>0]=HEAP8[$235+2>>0]|0;HEAP8[$$byval_copy366+3>>0]=HEAP8[$235+3>>0]|0; + _Fade($234,$$byval_copy366,$1402); + ;HEAP32[$atlas01$byval_copy318>>2]=HEAP32[25512>>2]|0;HEAP32[$atlas01$byval_copy318+4>>2]=HEAP32[25512+4>>2]|0;HEAP32[$atlas01$byval_copy318+8>>2]=HEAP32[25512+8>>2]|0;HEAP32[$atlas01$byval_copy318+12>>2]=HEAP32[25512+12>>2]|0;HEAP32[$atlas01$byval_copy318+16>>2]=HEAP32[25512+16>>2]|0; + ;HEAP32[$$byval_copy319>>2]=HEAP32[$231>>2]|0;HEAP32[$$byval_copy319+4>>2]=HEAP32[$231+4>>2]|0;HEAP32[$$byval_copy319+8>>2]=HEAP32[$231+8>>2]|0;HEAP32[$$byval_copy319+12>>2]=HEAP32[$231+12>>2]|0; + ;HEAP32[$font$byval_copy364>>2]=HEAP32[$232>>2]|0;HEAP32[$font$byval_copy364+4>>2]=HEAP32[$232+4>>2]|0;HEAP32[$font$byval_copy364+8>>2]=HEAP32[$232+8>>2]|0;HEAP32[$font$byval_copy364+12>>2]=HEAP32[$232+12>>2]|0; + ;HEAP32[$$byval_copy365>>2]=HEAP32[$233>>2]|0;HEAP32[$$byval_copy365+4>>2]=HEAP32[$233+4>>2]|0; + ;HEAP8[$$byval_copy366>>0]=HEAP8[$234>>0]|0;HEAP8[$$byval_copy366+1>>0]=HEAP8[$234+1>>0]|0;HEAP8[$$byval_copy366+2>>0]=HEAP8[$234+2>>0]|0;HEAP8[$$byval_copy366+3>>0]=HEAP8[$234+3>>0]|0; + _DrawTexturePro($atlas01$byval_copy318,$$byval_copy319,$font$byval_copy364,$$byval_copy365,0.0,$$byval_copy366); + $1403 = HEAP32[83396]|0; + $1404 = HEAP32[6564]|0; + $1405 = ($1403|0)!=(2); + $1406 = ((($236)) + 4|0); + $1407 = ((($236)) + 8|0); + $1408 = ((($236)) + 12|0); + $1409 = ((($237)) + 4|0); + $1410 = ((($237)) + 8|0); + $1411 = ((($237)) + 12|0); + $1412 = ((($238)) + 4|0); + $1413 = ((($240)) + 4|0); + $1414 = ((($240)) + 8|0); + $1415 = ((($240)) + 12|0); + $1416 = ((($241)) + 4|0); + $1417 = ((($241)) + 8|0); + $1418 = ((($241)) + 12|0); + $1419 = ((($242)) + 4|0); + $$011261148 = 0;$1424 = $1404;$1426 = $1405;$1433 = $1403; + while(1) { + $1423 = (($1424|0) / 5)&-1; + $1425 = ($1423|0)>($$011261148|0); + $or$cond28 = $1426 & $1425; + if ($or$cond28) { + HEAP32[$236>>2] = 972; + HEAP32[$1406>>2] = 1231; + HEAP32[$1407>>2] = 32; + HEAP32[$1408>>2] = 32; + HEAP32[$237>>2] = 87; + HEAP32[$1409>>2] = 83; + HEAP32[$1410>>2] = 32; + HEAP32[$1411>>2] = 32; + HEAPF32[$238>>2] = 8.0; + HEAPF32[$1412>>2] = 69.0; + $1427 = Math_imul($$011261148, -18)|0; + $1428 = (+($1427|0)); + HEAP32[$239>>2] = -1; + ;HEAP32[$atlas01$byval_copy318>>2]=HEAP32[25512>>2]|0;HEAP32[$atlas01$byval_copy318+4>>2]=HEAP32[25512+4>>2]|0;HEAP32[$atlas01$byval_copy318+8>>2]=HEAP32[25512+8>>2]|0;HEAP32[$atlas01$byval_copy318+12>>2]=HEAP32[25512+12>>2]|0;HEAP32[$atlas01$byval_copy318+16>>2]=HEAP32[25512+16>>2]|0; + ;HEAP32[$$byval_copy319>>2]=HEAP32[$236>>2]|0;HEAP32[$$byval_copy319+4>>2]=HEAP32[$236+4>>2]|0;HEAP32[$$byval_copy319+8>>2]=HEAP32[$236+8>>2]|0;HEAP32[$$byval_copy319+12>>2]=HEAP32[$236+12>>2]|0; + ;HEAP32[$font$byval_copy364>>2]=HEAP32[$237>>2]|0;HEAP32[$font$byval_copy364+4>>2]=HEAP32[$237+4>>2]|0;HEAP32[$font$byval_copy364+8>>2]=HEAP32[$237+8>>2]|0;HEAP32[$font$byval_copy364+12>>2]=HEAP32[$237+12>>2]|0; + ;HEAP32[$$byval_copy365>>2]=HEAP32[$238>>2]|0;HEAP32[$$byval_copy365+4>>2]=HEAP32[$238+4>>2]|0; + ;HEAP8[$$byval_copy366>>0]=HEAP8[$239>>0]|0;HEAP8[$$byval_copy366+1>>0]=HEAP8[$239+1>>0]|0;HEAP8[$$byval_copy366+2>>0]=HEAP8[$239+2>>0]|0;HEAP8[$$byval_copy366+3>>0]=HEAP8[$239+3>>0]|0; + _DrawTexturePro($atlas01$byval_copy318,$$byval_copy319,$font$byval_copy364,$$byval_copy365,$1428,$$byval_copy366); + } else { + $1429 = HEAP32[40321]|0; + $1430 = (($1429|0) / 18)&-1; + $1431 = ($1430|0)>=($$011261148|0); + $1432 = ($1433|0)==(2); + $or$cond30 = $1432 & $1431; + if ($or$cond30) { + HEAP32[$240>>2] = 972; + HEAP32[$1413>>2] = 1231; + HEAP32[$1414>>2] = 32; + HEAP32[$1415>>2] = 32; + HEAP32[$241>>2] = 87; + HEAP32[$1416>>2] = 83; + HEAP32[$1417>>2] = 32; + HEAP32[$1418>>2] = 32; + HEAPF32[$242>>2] = 8.0; + HEAPF32[$1419>>2] = 69.0; + $1434 = Math_imul($$011261148, -18)|0; + $1435 = (+($1434|0)); + HEAP32[$243>>2] = -1; + ;HEAP32[$atlas01$byval_copy318>>2]=HEAP32[25512>>2]|0;HEAP32[$atlas01$byval_copy318+4>>2]=HEAP32[25512+4>>2]|0;HEAP32[$atlas01$byval_copy318+8>>2]=HEAP32[25512+8>>2]|0;HEAP32[$atlas01$byval_copy318+12>>2]=HEAP32[25512+12>>2]|0;HEAP32[$atlas01$byval_copy318+16>>2]=HEAP32[25512+16>>2]|0; + ;HEAP32[$$byval_copy319>>2]=HEAP32[$240>>2]|0;HEAP32[$$byval_copy319+4>>2]=HEAP32[$240+4>>2]|0;HEAP32[$$byval_copy319+8>>2]=HEAP32[$240+8>>2]|0;HEAP32[$$byval_copy319+12>>2]=HEAP32[$240+12>>2]|0; + ;HEAP32[$font$byval_copy364>>2]=HEAP32[$241>>2]|0;HEAP32[$font$byval_copy364+4>>2]=HEAP32[$241+4>>2]|0;HEAP32[$font$byval_copy364+8>>2]=HEAP32[$241+8>>2]|0;HEAP32[$font$byval_copy364+12>>2]=HEAP32[$241+12>>2]|0; + ;HEAP32[$$byval_copy365>>2]=HEAP32[$242>>2]|0;HEAP32[$$byval_copy365+4>>2]=HEAP32[$242+4>>2]|0; + ;HEAP8[$$byval_copy366>>0]=HEAP8[$243>>0]|0;HEAP8[$$byval_copy366+1>>0]=HEAP8[$243+1>>0]|0;HEAP8[$$byval_copy366+2>>0]=HEAP8[$243+2>>0]|0;HEAP8[$$byval_copy366+3>>0]=HEAP8[$243+3>>0]|0; + _DrawTexturePro($atlas01$byval_copy318,$$byval_copy319,$font$byval_copy364,$$byval_copy365,$1435,$$byval_copy366); + } + } + $1436 = (($$011261148) + 1)|0; + $1437 = HEAP32[83396]|0; + $1421 = HEAP32[6564]|0; + $1422 = ($1437|0)!=(2); + $exitcond1172 = ($1436|0)==(20); + if ($exitcond1172) { + break; + } else { + $$011261148 = $1436;$1424 = $1421;$1426 = $1422;$1433 = $1437; + } + } + $1420 = ($1421|0)>(99); + $or$cond32 = $1422 & $1420; + if ($or$cond32) { + HEAP32[$244>>2] = 226; + $1438 = ((($244)) + 4|0); + HEAP32[$1438>>2] = 1728; + $1439 = ((($244)) + 8|0); + HEAP32[$1439>>2] = 157; + $1440 = ((($244)) + 12|0); + HEAP32[$1440>>2] = 155; + HEAP32[$245>>2] = 85; + $1441 = ((($245)) + 4|0); + HEAP32[$1441>>2] = 84; + $1442 = ((($245)) + 8|0); + $1443 = +HEAPF32[40380]; + $1444 = $1443 * 157.0; + $1445 = (~~(($1444))); + HEAP32[$1442>>2] = $1445; + $1446 = ((($245)) + 12|0); + $1447 = $1443 * 155.0; + $1448 = (~~(($1447))); + HEAP32[$1446>>2] = $1448; + $1449 = +HEAPF32[40380]; + $1450 = $1449 * 157.0; + $1451 = $1450 * 0.5; + HEAPF32[$246>>2] = $1451; + $1452 = ((($246)) + 4|0); + $1453 = $1449 * 155.0; + $1454 = $1453 * 0.5; + HEAPF32[$1452>>2] = $1454; + HEAP8[$248>>0] = 126; + $1455 = ((($248)) + 1|0); + HEAP8[$1455>>0] = -8; + $1456 = ((($248)) + 2|0); + HEAP8[$1456>>0] = 25; + $1457 = ((($248)) + 3|0); + HEAP8[$1457>>0] = -1; + $1458 = +HEAPF32[40379]; + ;HEAP8[$$byval_copy366>>0]=HEAP8[$248>>0]|0;HEAP8[$$byval_copy366+1>>0]=HEAP8[$248+1>>0]|0;HEAP8[$$byval_copy366+2>>0]=HEAP8[$248+2>>0]|0;HEAP8[$$byval_copy366+3>>0]=HEAP8[$248+3>>0]|0; + _Fade($247,$$byval_copy366,$1458); + ;HEAP32[$atlas01$byval_copy318>>2]=HEAP32[25512>>2]|0;HEAP32[$atlas01$byval_copy318+4>>2]=HEAP32[25512+4>>2]|0;HEAP32[$atlas01$byval_copy318+8>>2]=HEAP32[25512+8>>2]|0;HEAP32[$atlas01$byval_copy318+12>>2]=HEAP32[25512+12>>2]|0;HEAP32[$atlas01$byval_copy318+16>>2]=HEAP32[25512+16>>2]|0; + ;HEAP32[$$byval_copy319>>2]=HEAP32[$244>>2]|0;HEAP32[$$byval_copy319+4>>2]=HEAP32[$244+4>>2]|0;HEAP32[$$byval_copy319+8>>2]=HEAP32[$244+8>>2]|0;HEAP32[$$byval_copy319+12>>2]=HEAP32[$244+12>>2]|0; + ;HEAP32[$font$byval_copy364>>2]=HEAP32[$245>>2]|0;HEAP32[$font$byval_copy364+4>>2]=HEAP32[$245+4>>2]|0;HEAP32[$font$byval_copy364+8>>2]=HEAP32[$245+8>>2]|0;HEAP32[$font$byval_copy364+12>>2]=HEAP32[$245+12>>2]|0; + ;HEAP32[$$byval_copy365>>2]=HEAP32[$246>>2]|0;HEAP32[$$byval_copy365+4>>2]=HEAP32[$246+4>>2]|0; + ;HEAP8[$$byval_copy366>>0]=HEAP8[$247>>0]|0;HEAP8[$$byval_copy366+1>>0]=HEAP8[$247+1>>0]|0;HEAP8[$$byval_copy366+2>>0]=HEAP8[$247+2>>0]|0;HEAP8[$$byval_copy366+3>>0]=HEAP8[$247+3>>0]|0; + _DrawTexturePro($atlas01$byval_copy318,$$byval_copy319,$font$byval_copy364,$$byval_copy365,0.0,$$byval_copy366); + HEAP32[$249>>2] = 806; + $1459 = ((($249)) + 4|0); + HEAP32[$1459>>2] = 1519; + $1460 = ((($249)) + 8|0); + HEAP32[$1460>>2] = 146; + $1461 = ((($249)) + 12|0); + HEAP32[$1461>>2] = 146; + HEAP32[$250>>2] = 84; + $1462 = ((($250)) + 4|0); + HEAP32[$1462>>2] = 83; + $1463 = ((($250)) + 8|0); + HEAP32[$1463>>2] = 146; + $1464 = ((($250)) + 12|0); + HEAP32[$1464>>2] = 146; + HEAPF32[$251>>2] = 73.0; + $1465 = ((($251)) + 4|0); + HEAPF32[$1465>>2] = 73.0; + HEAP32[$253>>2] = -1; + $1466 = +HEAPF32[40378]; + ;HEAP8[$$byval_copy366>>0]=HEAP8[$253>>0]|0;HEAP8[$$byval_copy366+1>>0]=HEAP8[$253+1>>0]|0;HEAP8[$$byval_copy366+2>>0]=HEAP8[$253+2>>0]|0;HEAP8[$$byval_copy366+3>>0]=HEAP8[$253+3>>0]|0; + _Fade($252,$$byval_copy366,$1466); + ;HEAP32[$atlas01$byval_copy318>>2]=HEAP32[25512>>2]|0;HEAP32[$atlas01$byval_copy318+4>>2]=HEAP32[25512+4>>2]|0;HEAP32[$atlas01$byval_copy318+8>>2]=HEAP32[25512+8>>2]|0;HEAP32[$atlas01$byval_copy318+12>>2]=HEAP32[25512+12>>2]|0;HEAP32[$atlas01$byval_copy318+16>>2]=HEAP32[25512+16>>2]|0; + ;HEAP32[$$byval_copy319>>2]=HEAP32[$249>>2]|0;HEAP32[$$byval_copy319+4>>2]=HEAP32[$249+4>>2]|0;HEAP32[$$byval_copy319+8>>2]=HEAP32[$249+8>>2]|0;HEAP32[$$byval_copy319+12>>2]=HEAP32[$249+12>>2]|0; + ;HEAP32[$font$byval_copy364>>2]=HEAP32[$250>>2]|0;HEAP32[$font$byval_copy364+4>>2]=HEAP32[$250+4>>2]|0;HEAP32[$font$byval_copy364+8>>2]=HEAP32[$250+8>>2]|0;HEAP32[$font$byval_copy364+12>>2]=HEAP32[$250+12>>2]|0; + ;HEAP32[$$byval_copy365>>2]=HEAP32[$251>>2]|0;HEAP32[$$byval_copy365+4>>2]=HEAP32[$251+4>>2]|0; + ;HEAP8[$$byval_copy366>>0]=HEAP8[$252>>0]|0;HEAP8[$$byval_copy366+1>>0]=HEAP8[$252+1>>0]|0;HEAP8[$$byval_copy366+2>>0]=HEAP8[$252+2>>0]|0;HEAP8[$$byval_copy366+3>>0]=HEAP8[$252+3>>0]|0; + _DrawTexturePro($atlas01$byval_copy318,$$byval_copy319,$font$byval_copy364,$$byval_copy365,0.0,$$byval_copy366); + } + $1467 = HEAP32[40336]|0; + $1468 = ($1467|0)==(0); + $1469 = HEAP32[40327]|0; + $1470 = ($1469|0)!=(0); + $or$cond34 = $1468 & $1470; + L234: do { + if ($or$cond34) { + $1471 = HEAP32[7]|0; + switch ($1471|0) { + case 3: { + HEAP32[$254>>2] = 114; + $1472 = ((($254)) + 4|0); + HEAP32[$1472>>2] = 1728; + $1473 = ((($254)) + 8|0); + HEAP32[$1473>>2] = 110; + $1474 = ((($254)) + 12|0); + HEAP32[$1474>>2] = 216; + $1475 = (_GetScreenWidth()|0); + $1476 = (($1475|0) / 2)&-1; + HEAP32[$255>>2] = $1476; + $1477 = ((($255)) + 4|0); + $1478 = (_GetScreenHeight()|0); + $1479 = (($1478|0) / 2)&-1; + HEAP32[$1477>>2] = $1479; + $1480 = ((($255)) + 8|0); + $1481 = +HEAPF32[40357]; + $1482 = $1481 * 110.0; + $1483 = (~~(($1482))); + HEAP32[$1480>>2] = $1483; + $1484 = ((($255)) + 12|0); + $1485 = $1481 * 216.0; + $1486 = (~~(($1485))); + HEAP32[$1484>>2] = $1486; + $1487 = +HEAPF32[40357]; + $1488 = $1487 * 110.0; + $1489 = $1488 * 0.5; + HEAPF32[$256>>2] = $1489; + $1490 = ((($256)) + 4|0); + $1491 = $1487 * 216.0; + $1492 = $1491 * 0.5; + HEAPF32[$1490>>2] = $1492; + HEAP8[$258>>0] = -26; + $1493 = ((($258)) + 1|0); + HEAP8[$1493>>0] = 41; + $1494 = ((($258)) + 2|0); + HEAP8[$1494>>0] = 55; + $1495 = ((($258)) + 3|0); + HEAP8[$1495>>0] = -1; + $1496 = +HEAPF32[40356]; + ;HEAP8[$$byval_copy366>>0]=HEAP8[$258>>0]|0;HEAP8[$$byval_copy366+1>>0]=HEAP8[$258+1>>0]|0;HEAP8[$$byval_copy366+2>>0]=HEAP8[$258+2>>0]|0;HEAP8[$$byval_copy366+3>>0]=HEAP8[$258+3>>0]|0; + _Fade($257,$$byval_copy366,$1496); + ;HEAP32[$atlas01$byval_copy318>>2]=HEAP32[25512>>2]|0;HEAP32[$atlas01$byval_copy318+4>>2]=HEAP32[25512+4>>2]|0;HEAP32[$atlas01$byval_copy318+8>>2]=HEAP32[25512+8>>2]|0;HEAP32[$atlas01$byval_copy318+12>>2]=HEAP32[25512+12>>2]|0;HEAP32[$atlas01$byval_copy318+16>>2]=HEAP32[25512+16>>2]|0; + ;HEAP32[$$byval_copy319>>2]=HEAP32[$254>>2]|0;HEAP32[$$byval_copy319+4>>2]=HEAP32[$254+4>>2]|0;HEAP32[$$byval_copy319+8>>2]=HEAP32[$254+8>>2]|0;HEAP32[$$byval_copy319+12>>2]=HEAP32[$254+12>>2]|0; + ;HEAP32[$font$byval_copy364>>2]=HEAP32[$255>>2]|0;HEAP32[$font$byval_copy364+4>>2]=HEAP32[$255+4>>2]|0;HEAP32[$font$byval_copy364+8>>2]=HEAP32[$255+8>>2]|0;HEAP32[$font$byval_copy364+12>>2]=HEAP32[$255+12>>2]|0; + ;HEAP32[$$byval_copy365>>2]=HEAP32[$256>>2]|0;HEAP32[$$byval_copy365+4>>2]=HEAP32[$256+4>>2]|0; + ;HEAP8[$$byval_copy366>>0]=HEAP8[$257>>0]|0;HEAP8[$$byval_copy366+1>>0]=HEAP8[$257+1>>0]|0;HEAP8[$$byval_copy366+2>>0]=HEAP8[$257+2>>0]|0;HEAP8[$$byval_copy366+3>>0]=HEAP8[$257+3>>0]|0; + _DrawTexturePro($atlas01$byval_copy318,$$byval_copy319,$font$byval_copy364,$$byval_copy365,0.0,$$byval_copy366); + break L234; + break; + } + case 2: { + HEAP32[$259>>2] = 2; + $1497 = ((($259)) + 4|0); + HEAP32[$1497>>2] = 1750; + $1498 = ((($259)) + 8|0); + HEAP32[$1498>>2] = 110; + $1499 = ((($259)) + 12|0); + HEAP32[$1499>>2] = 216; + $1500 = (_GetScreenWidth()|0); + $1501 = (($1500|0) / 2)&-1; + HEAP32[$260>>2] = $1501; + $1502 = ((($260)) + 4|0); + $1503 = (_GetScreenHeight()|0); + $1504 = (($1503|0) / 2)&-1; + HEAP32[$1502>>2] = $1504; + $1505 = ((($260)) + 8|0); + $1506 = +HEAPF32[40357]; + $1507 = $1506 * 110.0; + $1508 = (~~(($1507))); + HEAP32[$1505>>2] = $1508; + $1509 = ((($260)) + 12|0); + $1510 = $1506 * 216.0; + $1511 = (~~(($1510))); + HEAP32[$1509>>2] = $1511; + $1512 = +HEAPF32[40357]; + $1513 = $1512 * 110.0; + $1514 = $1513 * 0.5; + HEAPF32[$261>>2] = $1514; + $1515 = ((($261)) + 4|0); + $1516 = $1512 * 216.0; + $1517 = $1516 * 0.5; + HEAPF32[$1515>>2] = $1517; + HEAP8[$263>>0] = -26; + $1518 = ((($263)) + 1|0); + HEAP8[$1518>>0] = 41; + $1519 = ((($263)) + 2|0); + HEAP8[$1519>>0] = 55; + $1520 = ((($263)) + 3|0); + HEAP8[$1520>>0] = -1; + $1521 = +HEAPF32[40379]; + ;HEAP8[$$byval_copy366>>0]=HEAP8[$263>>0]|0;HEAP8[$$byval_copy366+1>>0]=HEAP8[$263+1>>0]|0;HEAP8[$$byval_copy366+2>>0]=HEAP8[$263+2>>0]|0;HEAP8[$$byval_copy366+3>>0]=HEAP8[$263+3>>0]|0; + _Fade($262,$$byval_copy366,$1521); + ;HEAP32[$atlas01$byval_copy318>>2]=HEAP32[25512>>2]|0;HEAP32[$atlas01$byval_copy318+4>>2]=HEAP32[25512+4>>2]|0;HEAP32[$atlas01$byval_copy318+8>>2]=HEAP32[25512+8>>2]|0;HEAP32[$atlas01$byval_copy318+12>>2]=HEAP32[25512+12>>2]|0;HEAP32[$atlas01$byval_copy318+16>>2]=HEAP32[25512+16>>2]|0; + ;HEAP32[$$byval_copy319>>2]=HEAP32[$259>>2]|0;HEAP32[$$byval_copy319+4>>2]=HEAP32[$259+4>>2]|0;HEAP32[$$byval_copy319+8>>2]=HEAP32[$259+8>>2]|0;HEAP32[$$byval_copy319+12>>2]=HEAP32[$259+12>>2]|0; + ;HEAP32[$font$byval_copy364>>2]=HEAP32[$260>>2]|0;HEAP32[$font$byval_copy364+4>>2]=HEAP32[$260+4>>2]|0;HEAP32[$font$byval_copy364+8>>2]=HEAP32[$260+8>>2]|0;HEAP32[$font$byval_copy364+12>>2]=HEAP32[$260+12>>2]|0; + ;HEAP32[$$byval_copy365>>2]=HEAP32[$261>>2]|0;HEAP32[$$byval_copy365+4>>2]=HEAP32[$261+4>>2]|0; + ;HEAP8[$$byval_copy366>>0]=HEAP8[$262>>0]|0;HEAP8[$$byval_copy366+1>>0]=HEAP8[$262+1>>0]|0;HEAP8[$$byval_copy366+2>>0]=HEAP8[$262+2>>0]|0;HEAP8[$$byval_copy366+3>>0]=HEAP8[$262+3>>0]|0; + _DrawTexturePro($atlas01$byval_copy318,$$byval_copy319,$font$byval_copy364,$$byval_copy365,0.0,$$byval_copy366); + break L234; + break; + } + case 1: { + HEAP32[$264>>2] = 660; + $1522 = ((($264)) + 4|0); + HEAP32[$1522>>2] = 1302; + $1523 = ((($264)) + 8|0); + HEAP32[$1523>>2] = 110; + $1524 = ((($264)) + 12|0); + HEAP32[$1524>>2] = 216; + $1525 = (_GetScreenWidth()|0); + $1526 = (($1525|0) / 2)&-1; + HEAP32[$265>>2] = $1526; + $1527 = ((($265)) + 4|0); + $1528 = (_GetScreenHeight()|0); + $1529 = (($1528|0) / 2)&-1; + HEAP32[$1527>>2] = $1529; + $1530 = ((($265)) + 8|0); + $1531 = +HEAPF32[40357]; + $1532 = $1531 * 110.0; + $1533 = (~~(($1532))); + HEAP32[$1530>>2] = $1533; + $1534 = ((($265)) + 12|0); + $1535 = $1531 * 216.0; + $1536 = (~~(($1535))); + HEAP32[$1534>>2] = $1536; + $1537 = +HEAPF32[40357]; + $1538 = $1537 * 110.0; + $1539 = $1538 * 0.5; + HEAPF32[$266>>2] = $1539; + $1540 = ((($266)) + 4|0); + $1541 = $1537 * 216.0; + $1542 = $1541 * 0.5; + HEAPF32[$1540>>2] = $1542; + HEAP8[$268>>0] = -26; + $1543 = ((($268)) + 1|0); + HEAP8[$1543>>0] = 41; + $1544 = ((($268)) + 2|0); + HEAP8[$1544>>0] = 55; + $1545 = ((($268)) + 3|0); + HEAP8[$1545>>0] = -1; + $1546 = +HEAPF32[40379]; + ;HEAP8[$$byval_copy366>>0]=HEAP8[$268>>0]|0;HEAP8[$$byval_copy366+1>>0]=HEAP8[$268+1>>0]|0;HEAP8[$$byval_copy366+2>>0]=HEAP8[$268+2>>0]|0;HEAP8[$$byval_copy366+3>>0]=HEAP8[$268+3>>0]|0; + _Fade($267,$$byval_copy366,$1546); + ;HEAP32[$atlas01$byval_copy318>>2]=HEAP32[25512>>2]|0;HEAP32[$atlas01$byval_copy318+4>>2]=HEAP32[25512+4>>2]|0;HEAP32[$atlas01$byval_copy318+8>>2]=HEAP32[25512+8>>2]|0;HEAP32[$atlas01$byval_copy318+12>>2]=HEAP32[25512+12>>2]|0;HEAP32[$atlas01$byval_copy318+16>>2]=HEAP32[25512+16>>2]|0; + ;HEAP32[$$byval_copy319>>2]=HEAP32[$264>>2]|0;HEAP32[$$byval_copy319+4>>2]=HEAP32[$264+4>>2]|0;HEAP32[$$byval_copy319+8>>2]=HEAP32[$264+8>>2]|0;HEAP32[$$byval_copy319+12>>2]=HEAP32[$264+12>>2]|0; + ;HEAP32[$font$byval_copy364>>2]=HEAP32[$265>>2]|0;HEAP32[$font$byval_copy364+4>>2]=HEAP32[$265+4>>2]|0;HEAP32[$font$byval_copy364+8>>2]=HEAP32[$265+8>>2]|0;HEAP32[$font$byval_copy364+12>>2]=HEAP32[$265+12>>2]|0; + ;HEAP32[$$byval_copy365>>2]=HEAP32[$266>>2]|0;HEAP32[$$byval_copy365+4>>2]=HEAP32[$266+4>>2]|0; + ;HEAP8[$$byval_copy366>>0]=HEAP8[$267>>0]|0;HEAP8[$$byval_copy366+1>>0]=HEAP8[$267+1>>0]|0;HEAP8[$$byval_copy366+2>>0]=HEAP8[$267+2>>0]|0;HEAP8[$$byval_copy366+3>>0]=HEAP8[$267+3>>0]|0; + _DrawTexturePro($atlas01$byval_copy318,$$byval_copy319,$font$byval_copy364,$$byval_copy365,0.0,$$byval_copy366); + break L234; + break; + } + default: { + break L234; + } + } + } + } while(0); + $1547 = ((($270)) + 1|0); + $1548 = ((($270)) + 2|0); + $1549 = ((($270)) + 3|0); + $$011051147 = 0; + while(1) { + $1552 = (((260432 + (($$011051147*24)|0)|0)) + 8|0); + $1553 = HEAP32[$1552>>2]|0; + $1554 = ($1553|0)==(0); + if (!($1554)) { + $1555 = (((260432 + (($$011051147*24)|0)|0)) + 20|0); + $1556 = HEAP32[$1555>>2]|0; + HEAP32[$vararg_buffer>>2] = $1556; + $1557 = (_FormatText(6802,$vararg_buffer)|0); + $1558 = (260432 + (($$011051147*24)|0)|0); + $1559 = HEAP32[(25500)>>2]|0; + $1560 = (($1559|0) / 4)&-1; + $1561 = (+($1560|0)); + $1562 = (((260432 + (($$011051147*24)|0)|0)) + 16|0); + $1563 = +HEAPF32[$1562>>2]; + $1564 = $1563 * $1561; + HEAP8[$270>>0] = -1; + HEAP8[$1547>>0] = 73; + HEAP8[$1548>>0] = 73; + HEAP8[$1549>>0] = -1; + $1565 = (((260432 + (($$011051147*24)|0)|0)) + 12|0); + $1566 = +HEAPF32[$1565>>2]; + ;HEAP8[$$byval_copy366>>0]=HEAP8[$270>>0]|0;HEAP8[$$byval_copy366+1>>0]=HEAP8[$270+1>>0]|0;HEAP8[$$byval_copy366+2>>0]=HEAP8[$270+2>>0]|0;HEAP8[$$byval_copy366+3>>0]=HEAP8[$270+3>>0]|0; + _Fade($269,$$byval_copy366,$1566); + ;HEAP32[$font$byval_copy364>>2]=HEAP32[25480>>2]|0;HEAP32[$font$byval_copy364+4>>2]=HEAP32[25480+4>>2]|0;HEAP32[$font$byval_copy364+8>>2]=HEAP32[25480+8>>2]|0;HEAP32[$font$byval_copy364+12>>2]=HEAP32[25480+12>>2]|0;HEAP32[$font$byval_copy364+16>>2]=HEAP32[25480+16>>2]|0;HEAP32[$font$byval_copy364+20>>2]=HEAP32[25480+20>>2]|0;HEAP32[$font$byval_copy364+24>>2]=HEAP32[25480+24>>2]|0;HEAP32[$font$byval_copy364+28>>2]=HEAP32[25480+28>>2]|0; + ;HEAP32[$$byval_copy365>>2]=HEAP32[$1558>>2]|0;HEAP32[$$byval_copy365+4>>2]=HEAP32[$1558+4>>2]|0; + ;HEAP8[$$byval_copy366>>0]=HEAP8[$269>>0]|0;HEAP8[$$byval_copy366+1>>0]=HEAP8[$269+1>>0]|0;HEAP8[$$byval_copy366+2>>0]=HEAP8[$269+2>>0]|0;HEAP8[$$byval_copy366+3>>0]=HEAP8[$269+3>>0]|0; + _DrawTextEx($font$byval_copy364,$1557,$$byval_copy365,$1564,-5,$$byval_copy366); + } + $1567 = (($$011051147) + 1)|0; + $exitcond1171 = ($1567|0)==(16); + if ($exitcond1171) { + break; + } else { + $$011051147 = $1567; + } + } + $1550 = HEAP32[(260860)>>2]|0; + $1551 = ($1550|0)==(0); + if (!($1551)) { + $1568 = HEAP32[(260872)>>2]|0; + HEAP32[$vararg_buffer1>>2] = $1568; + $1569 = (_FormatText(6802,$vararg_buffer1)|0); + $1570 = HEAP32[(25500)>>2]|0; + $1571 = (($1570|0) / 4)&-1; + $1572 = (+($1571|0)); + $1573 = +HEAPF32[(260868)>>2]; + $1574 = $1573 * $1572; + HEAP8[$272>>0] = -1; + $1575 = ((($272)) + 1|0); + HEAP8[$1575>>0] = 73; + $1576 = ((($272)) + 2|0); + HEAP8[$1576>>0] = 73; + $1577 = ((($272)) + 3|0); + HEAP8[$1577>>0] = -1; + $1578 = +HEAPF32[(260864)>>2]; + ;HEAP8[$$byval_copy366>>0]=HEAP8[$272>>0]|0;HEAP8[$$byval_copy366+1>>0]=HEAP8[$272+1>>0]|0;HEAP8[$$byval_copy366+2>>0]=HEAP8[$272+2>>0]|0;HEAP8[$$byval_copy366+3>>0]=HEAP8[$272+3>>0]|0; + _Fade($271,$$byval_copy366,$1578); + ;HEAP32[$font$byval_copy364>>2]=HEAP32[25480>>2]|0;HEAP32[$font$byval_copy364+4>>2]=HEAP32[25480+4>>2]|0;HEAP32[$font$byval_copy364+8>>2]=HEAP32[25480+8>>2]|0;HEAP32[$font$byval_copy364+12>>2]=HEAP32[25480+12>>2]|0;HEAP32[$font$byval_copy364+16>>2]=HEAP32[25480+16>>2]|0;HEAP32[$font$byval_copy364+20>>2]=HEAP32[25480+20>>2]|0;HEAP32[$font$byval_copy364+24>>2]=HEAP32[25480+24>>2]|0;HEAP32[$font$byval_copy364+28>>2]=HEAP32[25480+28>>2]|0; + ;HEAP32[$$byval_copy365>>2]=HEAP32[260852>>2]|0;HEAP32[$$byval_copy365+4>>2]=HEAP32[260852+4>>2]|0; + ;HEAP8[$$byval_copy366>>0]=HEAP8[$271>>0]|0;HEAP8[$$byval_copy366+1>>0]=HEAP8[$271+1>>0]|0;HEAP8[$$byval_copy366+2>>0]=HEAP8[$271+2>>0]|0;HEAP8[$$byval_copy366+3>>0]=HEAP8[$271+3>>0]|0; + _DrawTextEx($font$byval_copy364,$1569,$$byval_copy365,$1574,-5,$$byval_copy366); + } + $1579 = HEAP32[(260904)>>2]|0; + $1580 = ($1579|0)==(0); + if (!($1580)) { + $1581 = HEAP32[(260916)>>2]|0; + HEAP32[$vararg_buffer4>>2] = $1581; + $1582 = (_FormatText(6802,$vararg_buffer4)|0); + $1583 = HEAP32[(25500)>>2]|0; + $1584 = (($1583|0) / 4)&-1; + $1585 = (+($1584|0)); + $1586 = +HEAPF32[(260912)>>2]; + $1587 = $1586 * $1585; + HEAP8[$274>>0] = -1; + $1588 = ((($274)) + 1|0); + HEAP8[$1588>>0] = 73; + $1589 = ((($274)) + 2|0); + HEAP8[$1589>>0] = 73; + $1590 = ((($274)) + 3|0); + HEAP8[$1590>>0] = -1; + $1591 = +HEAPF32[(260908)>>2]; + ;HEAP8[$$byval_copy366>>0]=HEAP8[$274>>0]|0;HEAP8[$$byval_copy366+1>>0]=HEAP8[$274+1>>0]|0;HEAP8[$$byval_copy366+2>>0]=HEAP8[$274+2>>0]|0;HEAP8[$$byval_copy366+3>>0]=HEAP8[$274+3>>0]|0; + _Fade($273,$$byval_copy366,$1591); + ;HEAP32[$font$byval_copy364>>2]=HEAP32[25480>>2]|0;HEAP32[$font$byval_copy364+4>>2]=HEAP32[25480+4>>2]|0;HEAP32[$font$byval_copy364+8>>2]=HEAP32[25480+8>>2]|0;HEAP32[$font$byval_copy364+12>>2]=HEAP32[25480+12>>2]|0;HEAP32[$font$byval_copy364+16>>2]=HEAP32[25480+16>>2]|0;HEAP32[$font$byval_copy364+20>>2]=HEAP32[25480+20>>2]|0;HEAP32[$font$byval_copy364+24>>2]=HEAP32[25480+24>>2]|0;HEAP32[$font$byval_copy364+28>>2]=HEAP32[25480+28>>2]|0; + ;HEAP32[$$byval_copy365>>2]=HEAP32[260896>>2]|0;HEAP32[$$byval_copy365+4>>2]=HEAP32[260896+4>>2]|0; + ;HEAP8[$$byval_copy366>>0]=HEAP8[$273>>0]|0;HEAP8[$$byval_copy366+1>>0]=HEAP8[$273+1>>0]|0;HEAP8[$$byval_copy366+2>>0]=HEAP8[$273+2>>0]|0;HEAP8[$$byval_copy366+3>>0]=HEAP8[$273+3>>0]|0; + _DrawTextEx($font$byval_copy364,$1582,$$byval_copy365,$1587,-5,$$byval_copy366); + } + $1592 = ((($276)) + 1|0); + $1593 = ((($276)) + 2|0); + $1594 = ((($276)) + 3|0); + $$01146 = 0; + while(1) { + $1602 = (((333216 + (($$01146*24)|0)|0)) + 8|0); + $1603 = HEAP32[$1602>>2]|0; + $1604 = ($1603|0)==(0); + if (!($1604)) { + $1605 = (((333216 + (($$01146*24)|0)|0)) + 20|0); + $1606 = HEAP32[$1605>>2]|0; + HEAP32[$vararg_buffer10>>2] = $1606; + $1607 = (_FormatText(6805,$vararg_buffer10)|0); + $1608 = (333216 + (($$01146*24)|0)|0); + $1609 = HEAP32[(25500)>>2]|0; + $1610 = (($1609|0) / 4)&-1; + $1611 = (+($1610|0)); + $1612 = (((333216 + (($$01146*24)|0)|0)) + 16|0); + $1613 = +HEAPF32[$1612>>2]; + $1614 = $1613 * $1611; + HEAP8[$276>>0] = -117; + HEAP8[$1592>>0] = -77; + HEAP8[$1593>>0] = 0; + HEAP8[$1594>>0] = -1; + $1615 = (((333216 + (($$01146*24)|0)|0)) + 12|0); + $1616 = +HEAPF32[$1615>>2]; + ;HEAP8[$$byval_copy366>>0]=HEAP8[$276>>0]|0;HEAP8[$$byval_copy366+1>>0]=HEAP8[$276+1>>0]|0;HEAP8[$$byval_copy366+2>>0]=HEAP8[$276+2>>0]|0;HEAP8[$$byval_copy366+3>>0]=HEAP8[$276+3>>0]|0; + _Fade($275,$$byval_copy366,$1616); + ;HEAP32[$font$byval_copy364>>2]=HEAP32[25480>>2]|0;HEAP32[$font$byval_copy364+4>>2]=HEAP32[25480+4>>2]|0;HEAP32[$font$byval_copy364+8>>2]=HEAP32[25480+8>>2]|0;HEAP32[$font$byval_copy364+12>>2]=HEAP32[25480+12>>2]|0;HEAP32[$font$byval_copy364+16>>2]=HEAP32[25480+16>>2]|0;HEAP32[$font$byval_copy364+20>>2]=HEAP32[25480+20>>2]|0;HEAP32[$font$byval_copy364+24>>2]=HEAP32[25480+24>>2]|0;HEAP32[$font$byval_copy364+28>>2]=HEAP32[25480+28>>2]|0; + ;HEAP32[$$byval_copy365>>2]=HEAP32[$1608>>2]|0;HEAP32[$$byval_copy365+4>>2]=HEAP32[$1608+4>>2]|0; + ;HEAP8[$$byval_copy366>>0]=HEAP8[$275>>0]|0;HEAP8[$$byval_copy366+1>>0]=HEAP8[$275+1>>0]|0;HEAP8[$$byval_copy366+2>>0]=HEAP8[$275+2>>0]|0;HEAP8[$$byval_copy366+3>>0]=HEAP8[$275+3>>0]|0; + _DrawTextEx($font$byval_copy364,$1607,$$byval_copy365,$1614,-5,$$byval_copy366); + } + $1617 = (($$01146) + 1)|0; + $exitcond = ($1617|0)==(14); + if ($exitcond) { + break; + } else { + $$01146 = $1617; + } + } + $1595 = HEAP32[6564]|0; + HEAP32[$vararg_buffer7>>2] = $1595; + $1596 = (_FormatText(7158,$vararg_buffer7)|0); + HEAPF32[$277>>2] = 47.0; + $1597 = ((($277)) + 4|0); + HEAPF32[$1597>>2] = 50.0; + $1598 = HEAP32[(25500)>>2]|0; + $1599 = (+($1598|0)); + ;HEAP32[$font$byval_copy364>>2]=HEAP32[25480>>2]|0;HEAP32[$font$byval_copy364+4>>2]=HEAP32[25480+4>>2]|0;HEAP32[$font$byval_copy364+8>>2]=HEAP32[25480+8>>2]|0;HEAP32[$font$byval_copy364+12>>2]=HEAP32[25480+12>>2]|0;HEAP32[$font$byval_copy364+16>>2]=HEAP32[25480+16>>2]|0;HEAP32[$font$byval_copy364+20>>2]=HEAP32[25480+20>>2]|0;HEAP32[$font$byval_copy364+24>>2]=HEAP32[25480+24>>2]|0;HEAP32[$font$byval_copy364+28>>2]=HEAP32[25480+28>>2]|0; + ;HEAP32[$$byval_copy365>>2]=HEAP32[$277>>2]|0;HEAP32[$$byval_copy365+4>>2]=HEAP32[$277+4>>2]|0; + ;HEAP8[$$byval_copy366>>0]=HEAP8[339124>>0]|0;HEAP8[$$byval_copy366+1>>0]=HEAP8[339124+1>>0]|0;HEAP8[$$byval_copy366+2>>0]=HEAP8[339124+2>>0]|0;HEAP8[$$byval_copy366+3>>0]=HEAP8[339124+3>>0]|0; + _DrawTextEx($font$byval_copy364,$1596,$$byval_copy365,$1599,-8,$$byval_copy366); + $1600 = HEAP32[40340]|0; + $1601 = ($1600|0)==(0); + if (!($1601)) { + $1618 = (_GetScreenWidth()|0); + $1619 = (($1618|0) / 2)&-1; + $1620 = (_MeasureText(6507,40)|0); + $1621 = (($1620|0) / 2)&-1; + $1622 = (($1619) - ($1621))|0; + $1623 = (+($1622|0)); + HEAPF32[$278>>2] = $1623; + $1624 = ((($278)) + 4|0); + $1625 = (_GetScreenHeight()|0); + $1626 = (($1625|0) / 4)&-1; + $1627 = (+($1626|0)); + HEAPF32[$1624>>2] = $1627; + $1628 = HEAP32[(25500)>>2]|0; + $1629 = (+($1628|0)); + HEAP8[$279>>0] = -10; + $1630 = ((($279)) + 1|0); + HEAP8[$1630>>0] = -123; + $1631 = ((($279)) + 2|0); + HEAP8[$1631>>0] = -123; + $1632 = ((($279)) + 3|0); + HEAP8[$1632>>0] = -1; + ;HEAP32[$font$byval_copy364>>2]=HEAP32[25480>>2]|0;HEAP32[$font$byval_copy364+4>>2]=HEAP32[25480+4>>2]|0;HEAP32[$font$byval_copy364+8>>2]=HEAP32[25480+8>>2]|0;HEAP32[$font$byval_copy364+12>>2]=HEAP32[25480+12>>2]|0;HEAP32[$font$byval_copy364+16>>2]=HEAP32[25480+16>>2]|0;HEAP32[$font$byval_copy364+20>>2]=HEAP32[25480+20>>2]|0;HEAP32[$font$byval_copy364+24>>2]=HEAP32[25480+24>>2]|0;HEAP32[$font$byval_copy364+28>>2]=HEAP32[25480+28>>2]|0; + ;HEAP32[$$byval_copy365>>2]=HEAP32[$278>>2]|0;HEAP32[$$byval_copy365+4>>2]=HEAP32[$278+4>>2]|0; + ;HEAP8[$$byval_copy366>>0]=HEAP8[$279>>0]|0;HEAP8[$$byval_copy366+1>>0]=HEAP8[$279+1>>0]|0;HEAP8[$$byval_copy366+2>>0]=HEAP8[$279+2>>0]|0;HEAP8[$$byval_copy366+3>>0]=HEAP8[$279+3>>0]|0; + _DrawTextEx($font$byval_copy364,6507,$$byval_copy365,$1629,-5,$$byval_copy366); + } + $1633 = HEAP32[40312]|0; + $1634 = ($1633|0)==(7); + $1635 = HEAP32[83389]|0; + $1636 = ($1635|0)>(99); + $or$cond36 = $1634 & $1636; + if ($or$cond36) { + $1637 = HEAP32[40360]|0; + $1638 = ($1637|0)<(5); + if ($1638) { + $1639 = (_GetScreenWidth()|0); + $1640 = (($1639|0) / 2)&-1; + $1641 = (_MeasureText(6539,40)|0); + $1642 = (($1641|0) / 2)&-1; + $1643 = (($1640) - ($1642))|0; + $1644 = (+($1643|0)); + HEAPF32[$280>>2] = $1644; + $1645 = ((($280)) + 4|0); + $1646 = (_GetScreenHeight()|0); + $1647 = (($1646|0) / 3)&-1; + $1648 = (+($1647|0)); + HEAPF32[$1645>>2] = $1648; + $1649 = HEAP32[(25500)>>2]|0; + $1650 = (+($1649|0)); + HEAP8[$281>>0] = -71; + $1651 = ((($281)) + 1|0); + HEAP8[$1651>>0] = -34; + $1652 = ((($281)) + 2|0); + HEAP8[$1652>>0] = 105; + $1653 = ((($281)) + 3|0); + HEAP8[$1653>>0] = -1; + ;HEAP32[$font$byval_copy364>>2]=HEAP32[25480>>2]|0;HEAP32[$font$byval_copy364+4>>2]=HEAP32[25480+4>>2]|0;HEAP32[$font$byval_copy364+8>>2]=HEAP32[25480+8>>2]|0;HEAP32[$font$byval_copy364+12>>2]=HEAP32[25480+12>>2]|0;HEAP32[$font$byval_copy364+16>>2]=HEAP32[25480+16>>2]|0;HEAP32[$font$byval_copy364+20>>2]=HEAP32[25480+20>>2]|0;HEAP32[$font$byval_copy364+24>>2]=HEAP32[25480+24>>2]|0;HEAP32[$font$byval_copy364+28>>2]=HEAP32[25480+28>>2]|0; + ;HEAP32[$$byval_copy365>>2]=HEAP32[$280>>2]|0;HEAP32[$$byval_copy365+4>>2]=HEAP32[$280+4>>2]|0; + ;HEAP8[$$byval_copy366>>0]=HEAP8[$281>>0]|0;HEAP8[$$byval_copy366+1>>0]=HEAP8[$281+1>>0]|0;HEAP8[$$byval_copy366+2>>0]=HEAP8[$281+2>>0]|0;HEAP8[$$byval_copy366+3>>0]=HEAP8[$281+3>>0]|0; + _DrawTextEx($font$byval_copy364,6539,$$byval_copy365,$1650,-5,$$byval_copy366); + STACKTOP = sp;return; + } else { + $1654 = (_GetScreenWidth()|0); + $1655 = (($1654|0) / 2)&-1; + $1656 = (_MeasureText(6667,40)|0); + $1657 = (($1656|0) / 2)&-1; + $1658 = (($1655) - ($1657))|0; + $1659 = (+($1658|0)); + HEAPF32[$282>>2] = $1659; + $1660 = ((($282)) + 4|0); + $1661 = (_GetScreenHeight()|0); + $1662 = (($1661|0) / 3)&-1; + $1663 = (+($1662|0)); + HEAPF32[$1660>>2] = $1663; + $1664 = HEAP32[(25500)>>2]|0; + $1665 = (+($1664|0)); + HEAP8[$283>>0] = -71; + $1666 = ((($283)) + 1|0); + HEAP8[$1666>>0] = -34; + $1667 = ((($283)) + 2|0); + HEAP8[$1667>>0] = 105; + $1668 = ((($283)) + 3|0); + HEAP8[$1668>>0] = -1; + ;HEAP32[$font$byval_copy364>>2]=HEAP32[25480>>2]|0;HEAP32[$font$byval_copy364+4>>2]=HEAP32[25480+4>>2]|0;HEAP32[$font$byval_copy364+8>>2]=HEAP32[25480+8>>2]|0;HEAP32[$font$byval_copy364+12>>2]=HEAP32[25480+12>>2]|0;HEAP32[$font$byval_copy364+16>>2]=HEAP32[25480+16>>2]|0;HEAP32[$font$byval_copy364+20>>2]=HEAP32[25480+20>>2]|0;HEAP32[$font$byval_copy364+24>>2]=HEAP32[25480+24>>2]|0;HEAP32[$font$byval_copy364+28>>2]=HEAP32[25480+28>>2]|0; + ;HEAP32[$$byval_copy365>>2]=HEAP32[$282>>2]|0;HEAP32[$$byval_copy365+4>>2]=HEAP32[$282+4>>2]|0; + ;HEAP8[$$byval_copy366>>0]=HEAP8[$283>>0]|0;HEAP8[$$byval_copy366+1>>0]=HEAP8[$283+1>>0]|0;HEAP8[$$byval_copy366+2>>0]=HEAP8[$283+2>>0]|0;HEAP8[$$byval_copy366+3>>0]=HEAP8[$283+3>>0]|0; + _DrawTextEx($font$byval_copy364,6667,$$byval_copy365,$1665,-5,$$byval_copy366); + STACKTOP = sp;return; + } + } + $1669 = ($1633|0)==(10); + $or$cond38 = $1669 & $1636; + if ($or$cond38) { + $1670 = HEAP32[40360]|0; + $1671 = ($1670|0)<(5); + if ($1671) { + $1672 = (_GetScreenWidth()|0); + $1673 = (($1672|0) / 2)&-1; + $1674 = (_MeasureText(6571,40)|0); + $1675 = (($1674|0) / 2)&-1; + $1676 = (($1673) - ($1675))|0; + $1677 = (+($1676|0)); + HEAPF32[$284>>2] = $1677; + $1678 = ((($284)) + 4|0); + $1679 = (_GetScreenHeight()|0); + $1680 = (($1679|0) / 3)&-1; + $1681 = (+($1680|0)); + HEAPF32[$1678>>2] = $1681; + $1682 = HEAP32[(25500)>>2]|0; + $1683 = (+($1682|0)); + HEAP8[$285>>0] = -3; + $1684 = ((($285)) + 1|0); + HEAP8[$1684>>0] = -56; + $1685 = ((($285)) + 2|0); + HEAP8[$1685>>0] = 108; + $1686 = ((($285)) + 3|0); + HEAP8[$1686>>0] = -1; + ;HEAP32[$font$byval_copy364>>2]=HEAP32[25480>>2]|0;HEAP32[$font$byval_copy364+4>>2]=HEAP32[25480+4>>2]|0;HEAP32[$font$byval_copy364+8>>2]=HEAP32[25480+8>>2]|0;HEAP32[$font$byval_copy364+12>>2]=HEAP32[25480+12>>2]|0;HEAP32[$font$byval_copy364+16>>2]=HEAP32[25480+16>>2]|0;HEAP32[$font$byval_copy364+20>>2]=HEAP32[25480+20>>2]|0;HEAP32[$font$byval_copy364+24>>2]=HEAP32[25480+24>>2]|0;HEAP32[$font$byval_copy364+28>>2]=HEAP32[25480+28>>2]|0; + ;HEAP32[$$byval_copy365>>2]=HEAP32[$284>>2]|0;HEAP32[$$byval_copy365+4>>2]=HEAP32[$284+4>>2]|0; + ;HEAP8[$$byval_copy366>>0]=HEAP8[$285>>0]|0;HEAP8[$$byval_copy366+1>>0]=HEAP8[$285+1>>0]|0;HEAP8[$$byval_copy366+2>>0]=HEAP8[$285+2>>0]|0;HEAP8[$$byval_copy366+3>>0]=HEAP8[$285+3>>0]|0; + _DrawTextEx($font$byval_copy364,6571,$$byval_copy365,$1683,-5,$$byval_copy366); + STACKTOP = sp;return; + } else { + $1687 = (_GetScreenWidth()|0); + $1688 = (($1687|0) / 2)&-1; + $1689 = (_MeasureText(6699,40)|0); + $1690 = (($1689|0) / 2)&-1; + $1691 = (($1688) - ($1690))|0; + $1692 = (+($1691|0)); + HEAPF32[$286>>2] = $1692; + $1693 = ((($286)) + 4|0); + $1694 = (_GetScreenHeight()|0); + $1695 = (($1694|0) / 3)&-1; + $1696 = (+($1695|0)); + HEAPF32[$1693>>2] = $1696; + $1697 = HEAP32[(25500)>>2]|0; + $1698 = (+($1697|0)); + HEAP8[$287>>0] = -3; + $1699 = ((($287)) + 1|0); + HEAP8[$1699>>0] = -56; + $1700 = ((($287)) + 2|0); + HEAP8[$1700>>0] = 108; + $1701 = ((($287)) + 3|0); + HEAP8[$1701>>0] = -1; + ;HEAP32[$font$byval_copy364>>2]=HEAP32[25480>>2]|0;HEAP32[$font$byval_copy364+4>>2]=HEAP32[25480+4>>2]|0;HEAP32[$font$byval_copy364+8>>2]=HEAP32[25480+8>>2]|0;HEAP32[$font$byval_copy364+12>>2]=HEAP32[25480+12>>2]|0;HEAP32[$font$byval_copy364+16>>2]=HEAP32[25480+16>>2]|0;HEAP32[$font$byval_copy364+20>>2]=HEAP32[25480+20>>2]|0;HEAP32[$font$byval_copy364+24>>2]=HEAP32[25480+24>>2]|0;HEAP32[$font$byval_copy364+28>>2]=HEAP32[25480+28>>2]|0; + ;HEAP32[$$byval_copy365>>2]=HEAP32[$286>>2]|0;HEAP32[$$byval_copy365+4>>2]=HEAP32[$286+4>>2]|0; + ;HEAP8[$$byval_copy366>>0]=HEAP8[$287>>0]|0;HEAP8[$$byval_copy366+1>>0]=HEAP8[$287+1>>0]|0;HEAP8[$$byval_copy366+2>>0]=HEAP8[$287+2>>0]|0;HEAP8[$$byval_copy366+3>>0]=HEAP8[$287+3>>0]|0; + _DrawTextEx($font$byval_copy364,6699,$$byval_copy365,$1698,-5,$$byval_copy366); + STACKTOP = sp;return; + } + } + $1702 = ($1633|0)==(1); + $or$cond40 = $1702 & $1636; + if ($or$cond40) { + $1703 = HEAP32[40360]|0; + $1704 = ($1703|0)<(5); + if ($1704) { + $1705 = (_GetScreenWidth()|0); + $1706 = (($1705|0) / 2)&-1; + $1707 = (_MeasureText(6603,40)|0); + $1708 = (($1707|0) / 2)&-1; + $1709 = (($1706) - ($1708))|0; + $1710 = (+($1709|0)); + HEAPF32[$288>>2] = $1710; + $1711 = ((($288)) + 4|0); + $1712 = (_GetScreenHeight()|0); + $1713 = (($1712|0) / 3)&-1; + $1714 = (+($1713|0)); + HEAPF32[$1711>>2] = $1714; + $1715 = HEAP32[(25500)>>2]|0; + $1716 = (+($1715|0)); + HEAP8[$289>>0] = -1; + $1717 = ((($289)) + 1|0); + HEAP8[$1717>>0] = -107; + $1718 = ((($289)) + 2|0); + HEAP8[$1718>>0] = 107; + $1719 = ((($289)) + 3|0); + HEAP8[$1719>>0] = -1; + ;HEAP32[$font$byval_copy364>>2]=HEAP32[25480>>2]|0;HEAP32[$font$byval_copy364+4>>2]=HEAP32[25480+4>>2]|0;HEAP32[$font$byval_copy364+8>>2]=HEAP32[25480+8>>2]|0;HEAP32[$font$byval_copy364+12>>2]=HEAP32[25480+12>>2]|0;HEAP32[$font$byval_copy364+16>>2]=HEAP32[25480+16>>2]|0;HEAP32[$font$byval_copy364+20>>2]=HEAP32[25480+20>>2]|0;HEAP32[$font$byval_copy364+24>>2]=HEAP32[25480+24>>2]|0;HEAP32[$font$byval_copy364+28>>2]=HEAP32[25480+28>>2]|0; + ;HEAP32[$$byval_copy365>>2]=HEAP32[$288>>2]|0;HEAP32[$$byval_copy365+4>>2]=HEAP32[$288+4>>2]|0; + ;HEAP8[$$byval_copy366>>0]=HEAP8[$289>>0]|0;HEAP8[$$byval_copy366+1>>0]=HEAP8[$289+1>>0]|0;HEAP8[$$byval_copy366+2>>0]=HEAP8[$289+2>>0]|0;HEAP8[$$byval_copy366+3>>0]=HEAP8[$289+3>>0]|0; + _DrawTextEx($font$byval_copy364,6603,$$byval_copy365,$1716,-5,$$byval_copy366); + STACKTOP = sp;return; + } else { + $1720 = (_GetScreenWidth()|0); + $1721 = (($1720|0) / 2)&-1; + $1722 = (_MeasureText(6731,40)|0); + $1723 = (($1722|0) / 2)&-1; + $1724 = (($1721) - ($1723))|0; + $1725 = (+($1724|0)); + HEAPF32[$290>>2] = $1725; + $1726 = ((($290)) + 4|0); + $1727 = (_GetScreenHeight()|0); + $1728 = (($1727|0) / 3)&-1; + $1729 = (+($1728|0)); + HEAPF32[$1726>>2] = $1729; + $1730 = HEAP32[(25500)>>2]|0; + $1731 = (+($1730|0)); + HEAP8[$291>>0] = -1; + $1732 = ((($291)) + 1|0); + HEAP8[$1732>>0] = -107; + $1733 = ((($291)) + 2|0); + HEAP8[$1733>>0] = 107; + $1734 = ((($291)) + 3|0); + HEAP8[$1734>>0] = -1; + ;HEAP32[$font$byval_copy364>>2]=HEAP32[25480>>2]|0;HEAP32[$font$byval_copy364+4>>2]=HEAP32[25480+4>>2]|0;HEAP32[$font$byval_copy364+8>>2]=HEAP32[25480+8>>2]|0;HEAP32[$font$byval_copy364+12>>2]=HEAP32[25480+12>>2]|0;HEAP32[$font$byval_copy364+16>>2]=HEAP32[25480+16>>2]|0;HEAP32[$font$byval_copy364+20>>2]=HEAP32[25480+20>>2]|0;HEAP32[$font$byval_copy364+24>>2]=HEAP32[25480+24>>2]|0;HEAP32[$font$byval_copy364+28>>2]=HEAP32[25480+28>>2]|0; + ;HEAP32[$$byval_copy365>>2]=HEAP32[$290>>2]|0;HEAP32[$$byval_copy365+4>>2]=HEAP32[$290+4>>2]|0; + ;HEAP8[$$byval_copy366>>0]=HEAP8[$291>>0]|0;HEAP8[$$byval_copy366+1>>0]=HEAP8[$291+1>>0]|0;HEAP8[$$byval_copy366+2>>0]=HEAP8[$291+2>>0]|0;HEAP8[$$byval_copy366+3>>0]=HEAP8[$291+3>>0]|0; + _DrawTextEx($font$byval_copy364,6731,$$byval_copy365,$1731,-5,$$byval_copy366); + STACKTOP = sp;return; + } + } + $1735 = ($1633|0)==(4); + $or$cond42 = $1735 & $1636; + if (!($or$cond42)) { + STACKTOP = sp;return; + } + $1736 = HEAP32[40360]|0; + $1737 = ($1736|0)<(5); + if ($1737) { + $1738 = (_GetScreenWidth()|0); + $1739 = (($1738|0) / 2)&-1; + $1740 = (_MeasureText(6635,40)|0); + $1741 = (($1740|0) / 2)&-1; + $1742 = (($1739) - ($1741))|0; + $1743 = (+($1742|0)); + HEAPF32[$292>>2] = $1743; + $1744 = ((($292)) + 4|0); + $1745 = (_GetScreenHeight()|0); + $1746 = (($1745|0) / 3)&-1; + $1747 = (+($1746|0)); + HEAPF32[$1744>>2] = $1747; + $1748 = HEAP32[(25500)>>2]|0; + $1749 = (+($1748|0)); + HEAP8[$293>>0] = -123; + $1750 = ((($293)) + 1|0); + HEAP8[$1750>>0] = -7; + $1751 = ((($293)) + 2|0); + HEAP8[$1751>>0] = -3; + $1752 = ((($293)) + 3|0); + HEAP8[$1752>>0] = -1; + ;HEAP32[$font$byval_copy364>>2]=HEAP32[25480>>2]|0;HEAP32[$font$byval_copy364+4>>2]=HEAP32[25480+4>>2]|0;HEAP32[$font$byval_copy364+8>>2]=HEAP32[25480+8>>2]|0;HEAP32[$font$byval_copy364+12>>2]=HEAP32[25480+12>>2]|0;HEAP32[$font$byval_copy364+16>>2]=HEAP32[25480+16>>2]|0;HEAP32[$font$byval_copy364+20>>2]=HEAP32[25480+20>>2]|0;HEAP32[$font$byval_copy364+24>>2]=HEAP32[25480+24>>2]|0;HEAP32[$font$byval_copy364+28>>2]=HEAP32[25480+28>>2]|0; + ;HEAP32[$$byval_copy365>>2]=HEAP32[$292>>2]|0;HEAP32[$$byval_copy365+4>>2]=HEAP32[$292+4>>2]|0; + ;HEAP8[$$byval_copy366>>0]=HEAP8[$293>>0]|0;HEAP8[$$byval_copy366+1>>0]=HEAP8[$293+1>>0]|0;HEAP8[$$byval_copy366+2>>0]=HEAP8[$293+2>>0]|0;HEAP8[$$byval_copy366+3>>0]=HEAP8[$293+3>>0]|0; + _DrawTextEx($font$byval_copy364,6635,$$byval_copy365,$1749,-5,$$byval_copy366); + STACKTOP = sp;return; + } else { + $1753 = (_GetScreenWidth()|0); + $1754 = (($1753|0) / 2)&-1; + $1755 = (_MeasureText(6763,40)|0); + $1756 = (($1755|0) / 2)&-1; + $1757 = (($1754) - ($1756))|0; + $1758 = (+($1757|0)); + HEAPF32[$294>>2] = $1758; + $1759 = ((($294)) + 4|0); + $1760 = (_GetScreenHeight()|0); + $1761 = (($1760|0) / 3)&-1; + $1762 = (+($1761|0)); + HEAPF32[$1759>>2] = $1762; + $1763 = HEAP32[(25500)>>2]|0; + $1764 = (+($1763|0)); + HEAP8[$295>>0] = -123; + $1765 = ((($295)) + 1|0); + HEAP8[$1765>>0] = -7; + $1766 = ((($295)) + 2|0); + HEAP8[$1766>>0] = -3; + $1767 = ((($295)) + 3|0); + HEAP8[$1767>>0] = -1; + ;HEAP32[$font$byval_copy364>>2]=HEAP32[25480>>2]|0;HEAP32[$font$byval_copy364+4>>2]=HEAP32[25480+4>>2]|0;HEAP32[$font$byval_copy364+8>>2]=HEAP32[25480+8>>2]|0;HEAP32[$font$byval_copy364+12>>2]=HEAP32[25480+12>>2]|0;HEAP32[$font$byval_copy364+16>>2]=HEAP32[25480+16>>2]|0;HEAP32[$font$byval_copy364+20>>2]=HEAP32[25480+20>>2]|0;HEAP32[$font$byval_copy364+24>>2]=HEAP32[25480+24>>2]|0;HEAP32[$font$byval_copy364+28>>2]=HEAP32[25480+28>>2]|0; + ;HEAP32[$$byval_copy365>>2]=HEAP32[$294>>2]|0;HEAP32[$$byval_copy365+4>>2]=HEAP32[$294+4>>2]|0; + ;HEAP8[$$byval_copy366>>0]=HEAP8[$295>>0]|0;HEAP8[$$byval_copy366+1>>0]=HEAP8[$295+1>>0]|0;HEAP8[$$byval_copy366+2>>0]=HEAP8[$295+2>>0]|0;HEAP8[$$byval_copy366+3>>0]=HEAP8[$295+3>>0]|0; + _DrawTextEx($font$byval_copy364,6763,$$byval_copy365,$1764,-5,$$byval_copy366); + STACKTOP = sp;return; + } +} +function _DrawParallaxBack_63() { + var $$byval_copy93 = 0, $$byval_copy94 = 0, $$byval_copy95 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0.0, $111 = 0, $112 = 0; + var $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0.0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0; + var $131 = 0, $132 = 0, $133 = 0, $134 = 0.0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0.0, $147 = 0, $148 = 0, $149 = 0; + var $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0.0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0.0; + var $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0.0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0; + var $186 = 0, $187 = 0, $188 = 0, $189 = 0.0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0; + var $203 = 0.0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0.0, $218 = 0, $219 = 0, $22 = 0, $220 = 0; + var $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0.0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0; + var $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0.0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0; + var $258 = 0, $259 = 0.0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0.0, $274 = 0, $275 = 0; + var $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0.0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0; + var $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0.0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0; + var $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0; + var $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0.0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0; + var $73 = 0, $74 = 0.0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0.0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0; + var $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0.0, $99 = 0, $atlas02$byval_copy92 = 0, $color01$32$byval_copy96 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 880|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(880|0); + $color01$32$byval_copy96 = sp + 864|0; + $$byval_copy95 = sp + 856|0; + $$byval_copy94 = sp + 840|0; + $$byval_copy93 = sp + 824|0; + $atlas02$byval_copy92 = sp + 800|0; + $0 = sp + 784|0; + $1 = sp + 768|0; + $2 = sp + 760|0; + $3 = sp + 744|0; + $4 = sp + 728|0; + $5 = sp + 720|0; + $6 = sp + 704|0; + $7 = sp + 688|0; + $8 = sp + 680|0; + $9 = sp + 664|0; + $10 = sp + 648|0; + $11 = sp + 640|0; + $12 = sp + 624|0; + $13 = sp + 608|0; + $14 = sp + 600|0; + $15 = sp + 584|0; + $16 = sp + 568|0; + $17 = sp + 560|0; + $18 = sp + 544|0; + $19 = sp + 528|0; + $20 = sp + 520|0; + $21 = sp + 504|0; + $22 = sp + 488|0; + $23 = sp + 480|0; + $24 = sp + 464|0; + $25 = sp + 448|0; + $26 = sp + 440|0; + $27 = sp + 424|0; + $28 = sp + 408|0; + $29 = sp + 400|0; + $30 = sp + 384|0; + $31 = sp + 368|0; + $32 = sp + 360|0; + $33 = sp + 344|0; + $34 = sp + 328|0; + $35 = sp + 320|0; + $36 = sp + 304|0; + $37 = sp + 288|0; + $38 = sp + 280|0; + $39 = sp + 264|0; + $40 = sp + 248|0; + $41 = sp + 240|0; + $42 = sp + 224|0; + $43 = sp + 208|0; + $44 = sp + 200|0; + $45 = sp + 184|0; + $46 = sp + 168|0; + $47 = sp + 160|0; + $48 = sp + 144|0; + $49 = sp + 128|0; + $50 = sp + 120|0; + $51 = sp + 104|0; + $52 = sp + 88|0; + $53 = sp + 80|0; + $54 = sp + 64|0; + $55 = sp + 48|0; + $56 = sp + 40|0; + $57 = sp + 24|0; + $58 = sp + 8|0; + $59 = sp; + HEAP32[$0>>2] = 660; + $60 = ((($0)) + 4|0); + HEAP32[$60>>2] = 315; + $61 = ((($0)) + 8|0); + HEAP32[$61>>2] = 28; + $62 = ((($0)) + 12|0); + HEAP32[$62>>2] = 335; + $63 = +HEAPF32[40330]; + $64 = (~~(($63))); + $65 = HEAP32[40366]|0; + $66 = (($64) + ($65))|0; + HEAP32[$1>>2] = $66; + $67 = ((($1)) + 4|0); + HEAP32[$67>>2] = 67; + $68 = ((($1)) + 8|0); + HEAP32[$68>>2] = 56; + $69 = ((($1)) + 12|0); + HEAP32[$69>>2] = 670; + HEAPF32[$2>>2] = 0.0; + $70 = ((($2)) + 4|0); + HEAPF32[$70>>2] = 0.0; + ;HEAP32[$atlas02$byval_copy92>>2]=HEAP32[25532>>2]|0;HEAP32[$atlas02$byval_copy92+4>>2]=HEAP32[25532+4>>2]|0;HEAP32[$atlas02$byval_copy92+8>>2]=HEAP32[25532+8>>2]|0;HEAP32[$atlas02$byval_copy92+12>>2]=HEAP32[25532+12>>2]|0;HEAP32[$atlas02$byval_copy92+16>>2]=HEAP32[25532+16>>2]|0; + ;HEAP32[$$byval_copy93>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy93+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy93+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy93+12>>2]=HEAP32[$0+12>>2]|0; + ;HEAP32[$$byval_copy94>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy94+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$$byval_copy94+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[$$byval_copy94+12>>2]=HEAP32[$1+12>>2]|0; + ;HEAP32[$$byval_copy95>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy95+4>>2]=HEAP32[$2+4>>2]|0; + ;HEAP8[$color01$32$byval_copy96>>0]=HEAP8[161540>>0]|0;HEAP8[$color01$32$byval_copy96+1>>0]=HEAP8[161540+1>>0]|0;HEAP8[$color01$32$byval_copy96+2>>0]=HEAP8[161540+2>>0]|0;HEAP8[$color01$32$byval_copy96+3>>0]=HEAP8[161540+3>>0]|0; + _DrawTexturePro($atlas02$byval_copy92,$$byval_copy93,$$byval_copy94,$$byval_copy95,0.0,$color01$32$byval_copy96); + HEAP32[$3>>2] = 746; + $71 = ((($3)) + 4|0); + HEAP32[$71>>2] = 315; + $72 = ((($3)) + 8|0); + HEAP32[$72>>2] = 26; + $73 = ((($3)) + 12|0); + HEAP32[$73>>2] = 332; + $74 = +HEAPF32[40330]; + $75 = (~~(($74))); + $76 = HEAP32[40366]|0; + $77 = (($76) + 140)|0; + $78 = (($77) + ($75))|0; + HEAP32[$4>>2] = $78; + $79 = ((($4)) + 4|0); + HEAP32[$79>>2] = 67; + $80 = ((($4)) + 8|0); + HEAP32[$80>>2] = 52; + $81 = ((($4)) + 12|0); + HEAP32[$81>>2] = 664; + HEAPF32[$5>>2] = 0.0; + $82 = ((($5)) + 4|0); + HEAPF32[$82>>2] = 0.0; + ;HEAP32[$atlas02$byval_copy92>>2]=HEAP32[25532>>2]|0;HEAP32[$atlas02$byval_copy92+4>>2]=HEAP32[25532+4>>2]|0;HEAP32[$atlas02$byval_copy92+8>>2]=HEAP32[25532+8>>2]|0;HEAP32[$atlas02$byval_copy92+12>>2]=HEAP32[25532+12>>2]|0;HEAP32[$atlas02$byval_copy92+16>>2]=HEAP32[25532+16>>2]|0; + ;HEAP32[$$byval_copy93>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy93+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$$byval_copy93+8>>2]=HEAP32[$3+8>>2]|0;HEAP32[$$byval_copy93+12>>2]=HEAP32[$3+12>>2]|0; + ;HEAP32[$$byval_copy94>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy94+4>>2]=HEAP32[$4+4>>2]|0;HEAP32[$$byval_copy94+8>>2]=HEAP32[$4+8>>2]|0;HEAP32[$$byval_copy94+12>>2]=HEAP32[$4+12>>2]|0; + ;HEAP32[$$byval_copy95>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy95+4>>2]=HEAP32[$5+4>>2]|0; + ;HEAP8[$color01$32$byval_copy96>>0]=HEAP8[161540>>0]|0;HEAP8[$color01$32$byval_copy96+1>>0]=HEAP8[161540+1>>0]|0;HEAP8[$color01$32$byval_copy96+2>>0]=HEAP8[161540+2>>0]|0;HEAP8[$color01$32$byval_copy96+3>>0]=HEAP8[161540+3>>0]|0; + _DrawTexturePro($atlas02$byval_copy92,$$byval_copy93,$$byval_copy94,$$byval_copy95,0.0,$color01$32$byval_copy96); + HEAP32[$6>>2] = 791; + $83 = ((($6)) + 4|0); + HEAP32[$83>>2] = 315; + $84 = ((($6)) + 8|0); + HEAP32[$84>>2] = 15; + $85 = ((($6)) + 12|0); + HEAP32[$85>>2] = 329; + $86 = +HEAPF32[40330]; + $87 = (~~(($86))); + $88 = HEAP32[40366]|0; + $89 = (($88) + 280)|0; + $90 = (($89) + ($87))|0; + HEAP32[$7>>2] = $90; + $91 = ((($7)) + 4|0); + HEAP32[$91>>2] = 67; + $92 = ((($7)) + 8|0); + HEAP32[$92>>2] = 30; + $93 = ((($7)) + 12|0); + HEAP32[$93>>2] = 658; + HEAPF32[$8>>2] = 0.0; + $94 = ((($8)) + 4|0); + HEAPF32[$94>>2] = 0.0; + ;HEAP32[$atlas02$byval_copy92>>2]=HEAP32[25532>>2]|0;HEAP32[$atlas02$byval_copy92+4>>2]=HEAP32[25532+4>>2]|0;HEAP32[$atlas02$byval_copy92+8>>2]=HEAP32[25532+8>>2]|0;HEAP32[$atlas02$byval_copy92+12>>2]=HEAP32[25532+12>>2]|0;HEAP32[$atlas02$byval_copy92+16>>2]=HEAP32[25532+16>>2]|0; + ;HEAP32[$$byval_copy93>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy93+4>>2]=HEAP32[$6+4>>2]|0;HEAP32[$$byval_copy93+8>>2]=HEAP32[$6+8>>2]|0;HEAP32[$$byval_copy93+12>>2]=HEAP32[$6+12>>2]|0; + ;HEAP32[$$byval_copy94>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy94+4>>2]=HEAP32[$7+4>>2]|0;HEAP32[$$byval_copy94+8>>2]=HEAP32[$7+8>>2]|0;HEAP32[$$byval_copy94+12>>2]=HEAP32[$7+12>>2]|0; + ;HEAP32[$$byval_copy95>>2]=HEAP32[$8>>2]|0;HEAP32[$$byval_copy95+4>>2]=HEAP32[$8+4>>2]|0; + ;HEAP8[$color01$32$byval_copy96>>0]=HEAP8[161540>>0]|0;HEAP8[$color01$32$byval_copy96+1>>0]=HEAP8[161540+1>>0]|0;HEAP8[$color01$32$byval_copy96+2>>0]=HEAP8[161540+2>>0]|0;HEAP8[$color01$32$byval_copy96+3>>0]=HEAP8[161540+3>>0]|0; + _DrawTexturePro($atlas02$byval_copy92,$$byval_copy93,$$byval_copy94,$$byval_copy95,0.0,$color01$32$byval_copy96); + HEAP32[$9>>2] = 1940; + $95 = ((($9)) + 4|0); + HEAP32[$95>>2] = 2; + $96 = ((($9)) + 8|0); + HEAP32[$96>>2] = 38; + $97 = ((($9)) + 12|0); + HEAP32[$97>>2] = 334; + $98 = +HEAPF32[40330]; + $99 = (~~(($98))); + $100 = HEAP32[40366]|0; + $101 = (($100) + 420)|0; + $102 = (($101) + ($99))|0; + HEAP32[$10>>2] = $102; + $103 = ((($10)) + 4|0); + HEAP32[$103>>2] = 67; + $104 = ((($10)) + 8|0); + HEAP32[$104>>2] = 76; + $105 = ((($10)) + 12|0); + HEAP32[$105>>2] = 668; + HEAPF32[$11>>2] = 0.0; + $106 = ((($11)) + 4|0); + HEAPF32[$106>>2] = 0.0; + ;HEAP32[$atlas02$byval_copy92>>2]=HEAP32[25532>>2]|0;HEAP32[$atlas02$byval_copy92+4>>2]=HEAP32[25532+4>>2]|0;HEAP32[$atlas02$byval_copy92+8>>2]=HEAP32[25532+8>>2]|0;HEAP32[$atlas02$byval_copy92+12>>2]=HEAP32[25532+12>>2]|0;HEAP32[$atlas02$byval_copy92+16>>2]=HEAP32[25532+16>>2]|0; + ;HEAP32[$$byval_copy93>>2]=HEAP32[$9>>2]|0;HEAP32[$$byval_copy93+4>>2]=HEAP32[$9+4>>2]|0;HEAP32[$$byval_copy93+8>>2]=HEAP32[$9+8>>2]|0;HEAP32[$$byval_copy93+12>>2]=HEAP32[$9+12>>2]|0; + ;HEAP32[$$byval_copy94>>2]=HEAP32[$10>>2]|0;HEAP32[$$byval_copy94+4>>2]=HEAP32[$10+4>>2]|0;HEAP32[$$byval_copy94+8>>2]=HEAP32[$10+8>>2]|0;HEAP32[$$byval_copy94+12>>2]=HEAP32[$10+12>>2]|0; + ;HEAP32[$$byval_copy95>>2]=HEAP32[$11>>2]|0;HEAP32[$$byval_copy95+4>>2]=HEAP32[$11+4>>2]|0; + ;HEAP8[$color01$32$byval_copy96>>0]=HEAP8[161540>>0]|0;HEAP8[$color01$32$byval_copy96+1>>0]=HEAP8[161540+1>>0]|0;HEAP8[$color01$32$byval_copy96+2>>0]=HEAP8[161540+2>>0]|0;HEAP8[$color01$32$byval_copy96+3>>0]=HEAP8[161540+3>>0]|0; + _DrawTexturePro($atlas02$byval_copy92,$$byval_copy93,$$byval_copy94,$$byval_copy95,0.0,$color01$32$byval_copy96); + HEAP32[$12>>2] = 572; + $107 = ((($12)) + 4|0); + HEAP32[$107>>2] = 364; + $108 = ((($12)) + 8|0); + HEAP32[$108>>2] = 32; + $109 = ((($12)) + 12|0); + HEAP32[$109>>2] = 349; + $110 = +HEAPF32[40330]; + $111 = (~~(($110))); + $112 = HEAP32[40366]|0; + $113 = (($112) + 560)|0; + $114 = (($113) + ($111))|0; + HEAP32[$13>>2] = $114; + $115 = ((($13)) + 4|0); + HEAP32[$115>>2] = 67; + $116 = ((($13)) + 8|0); + HEAP32[$116>>2] = 64; + $117 = ((($13)) + 12|0); + HEAP32[$117>>2] = 698; + HEAPF32[$14>>2] = 0.0; + $118 = ((($14)) + 4|0); + HEAPF32[$118>>2] = 0.0; + ;HEAP32[$atlas02$byval_copy92>>2]=HEAP32[25532>>2]|0;HEAP32[$atlas02$byval_copy92+4>>2]=HEAP32[25532+4>>2]|0;HEAP32[$atlas02$byval_copy92+8>>2]=HEAP32[25532+8>>2]|0;HEAP32[$atlas02$byval_copy92+12>>2]=HEAP32[25532+12>>2]|0;HEAP32[$atlas02$byval_copy92+16>>2]=HEAP32[25532+16>>2]|0; + ;HEAP32[$$byval_copy93>>2]=HEAP32[$12>>2]|0;HEAP32[$$byval_copy93+4>>2]=HEAP32[$12+4>>2]|0;HEAP32[$$byval_copy93+8>>2]=HEAP32[$12+8>>2]|0;HEAP32[$$byval_copy93+12>>2]=HEAP32[$12+12>>2]|0; + ;HEAP32[$$byval_copy94>>2]=HEAP32[$13>>2]|0;HEAP32[$$byval_copy94+4>>2]=HEAP32[$13+4>>2]|0;HEAP32[$$byval_copy94+8>>2]=HEAP32[$13+8>>2]|0;HEAP32[$$byval_copy94+12>>2]=HEAP32[$13+12>>2]|0; + ;HEAP32[$$byval_copy95>>2]=HEAP32[$14>>2]|0;HEAP32[$$byval_copy95+4>>2]=HEAP32[$14+4>>2]|0; + ;HEAP8[$color01$32$byval_copy96>>0]=HEAP8[161540>>0]|0;HEAP8[$color01$32$byval_copy96+1>>0]=HEAP8[161540+1>>0]|0;HEAP8[$color01$32$byval_copy96+2>>0]=HEAP8[161540+2>>0]|0;HEAP8[$color01$32$byval_copy96+3>>0]=HEAP8[161540+3>>0]|0; + _DrawTexturePro($atlas02$byval_copy92,$$byval_copy93,$$byval_copy94,$$byval_copy95,0.0,$color01$32$byval_copy96); + HEAP32[$15>>2] = 1863; + $119 = ((($15)) + 4|0); + HEAP32[$119>>2] = 338; + $120 = ((($15)) + 8|0); + HEAP32[$120>>2] = 31; + $121 = ((($15)) + 12|0); + HEAP32[$121>>2] = 334; + $122 = +HEAPF32[40330]; + $123 = (~~(($122))); + $124 = HEAP32[40366]|0; + $125 = (($124) + 700)|0; + $126 = (($125) + ($123))|0; + HEAP32[$16>>2] = $126; + $127 = ((($16)) + 4|0); + HEAP32[$127>>2] = 67; + $128 = ((($16)) + 8|0); + HEAP32[$128>>2] = 62; + $129 = ((($16)) + 12|0); + HEAP32[$129>>2] = 668; + HEAPF32[$17>>2] = 0.0; + $130 = ((($17)) + 4|0); + HEAPF32[$130>>2] = 0.0; + ;HEAP32[$atlas02$byval_copy92>>2]=HEAP32[25532>>2]|0;HEAP32[$atlas02$byval_copy92+4>>2]=HEAP32[25532+4>>2]|0;HEAP32[$atlas02$byval_copy92+8>>2]=HEAP32[25532+8>>2]|0;HEAP32[$atlas02$byval_copy92+12>>2]=HEAP32[25532+12>>2]|0;HEAP32[$atlas02$byval_copy92+16>>2]=HEAP32[25532+16>>2]|0; + ;HEAP32[$$byval_copy93>>2]=HEAP32[$15>>2]|0;HEAP32[$$byval_copy93+4>>2]=HEAP32[$15+4>>2]|0;HEAP32[$$byval_copy93+8>>2]=HEAP32[$15+8>>2]|0;HEAP32[$$byval_copy93+12>>2]=HEAP32[$15+12>>2]|0; + ;HEAP32[$$byval_copy94>>2]=HEAP32[$16>>2]|0;HEAP32[$$byval_copy94+4>>2]=HEAP32[$16+4>>2]|0;HEAP32[$$byval_copy94+8>>2]=HEAP32[$16+8>>2]|0;HEAP32[$$byval_copy94+12>>2]=HEAP32[$16+12>>2]|0; + ;HEAP32[$$byval_copy95>>2]=HEAP32[$17>>2]|0;HEAP32[$$byval_copy95+4>>2]=HEAP32[$17+4>>2]|0; + ;HEAP8[$color01$32$byval_copy96>>0]=HEAP8[161540>>0]|0;HEAP8[$color01$32$byval_copy96+1>>0]=HEAP8[161540+1>>0]|0;HEAP8[$color01$32$byval_copy96+2>>0]=HEAP8[161540+2>>0]|0;HEAP8[$color01$32$byval_copy96+3>>0]=HEAP8[161540+3>>0]|0; + _DrawTexturePro($atlas02$byval_copy92,$$byval_copy93,$$byval_copy94,$$byval_copy95,0.0,$color01$32$byval_copy96); + HEAP32[$18>>2] = 1833; + $131 = ((($18)) + 4|0); + HEAP32[$131>>2] = 2; + $132 = ((($18)) + 8|0); + HEAP32[$132>>2] = 25; + $133 = ((($18)) + 12|0); + HEAP32[$133>>2] = 349; + $134 = +HEAPF32[40330]; + $135 = (~~(($134))); + $136 = HEAP32[40366]|0; + $137 = (($136) + 840)|0; + $138 = (($137) + ($135))|0; + HEAP32[$19>>2] = $138; + $139 = ((($19)) + 4|0); + HEAP32[$139>>2] = 67; + $140 = ((($19)) + 8|0); + HEAP32[$140>>2] = 50; + $141 = ((($19)) + 12|0); + HEAP32[$141>>2] = 698; + HEAPF32[$20>>2] = 0.0; + $142 = ((($20)) + 4|0); + HEAPF32[$142>>2] = 0.0; + ;HEAP32[$atlas02$byval_copy92>>2]=HEAP32[25532>>2]|0;HEAP32[$atlas02$byval_copy92+4>>2]=HEAP32[25532+4>>2]|0;HEAP32[$atlas02$byval_copy92+8>>2]=HEAP32[25532+8>>2]|0;HEAP32[$atlas02$byval_copy92+12>>2]=HEAP32[25532+12>>2]|0;HEAP32[$atlas02$byval_copy92+16>>2]=HEAP32[25532+16>>2]|0; + ;HEAP32[$$byval_copy93>>2]=HEAP32[$18>>2]|0;HEAP32[$$byval_copy93+4>>2]=HEAP32[$18+4>>2]|0;HEAP32[$$byval_copy93+8>>2]=HEAP32[$18+8>>2]|0;HEAP32[$$byval_copy93+12>>2]=HEAP32[$18+12>>2]|0; + ;HEAP32[$$byval_copy94>>2]=HEAP32[$19>>2]|0;HEAP32[$$byval_copy94+4>>2]=HEAP32[$19+4>>2]|0;HEAP32[$$byval_copy94+8>>2]=HEAP32[$19+8>>2]|0;HEAP32[$$byval_copy94+12>>2]=HEAP32[$19+12>>2]|0; + ;HEAP32[$$byval_copy95>>2]=HEAP32[$20>>2]|0;HEAP32[$$byval_copy95+4>>2]=HEAP32[$20+4>>2]|0; + ;HEAP8[$color01$32$byval_copy96>>0]=HEAP8[161540>>0]|0;HEAP8[$color01$32$byval_copy96+1>>0]=HEAP8[161540+1>>0]|0;HEAP8[$color01$32$byval_copy96+2>>0]=HEAP8[161540+2>>0]|0;HEAP8[$color01$32$byval_copy96+3>>0]=HEAP8[161540+3>>0]|0; + _DrawTexturePro($atlas02$byval_copy92,$$byval_copy93,$$byval_copy94,$$byval_copy95,0.0,$color01$32$byval_copy96); + HEAP32[$21>>2] = 1964; + $143 = ((($21)) + 4|0); + HEAP32[$143>>2] = 338; + $144 = ((($21)) + 8|0); + HEAP32[$144>>2] = 32; + $145 = ((($21)) + 12|0); + HEAP32[$145>>2] = 331; + $146 = +HEAPF32[40330]; + $147 = (~~(($146))); + $148 = HEAP32[40366]|0; + $149 = (($148) + 980)|0; + $150 = (($149) + ($147))|0; + HEAP32[$22>>2] = $150; + $151 = ((($22)) + 4|0); + HEAP32[$151>>2] = 67; + $152 = ((($22)) + 8|0); + HEAP32[$152>>2] = 64; + $153 = ((($22)) + 12|0); + HEAP32[$153>>2] = 662; + HEAPF32[$23>>2] = 0.0; + $154 = ((($23)) + 4|0); + HEAPF32[$154>>2] = 0.0; + ;HEAP32[$atlas02$byval_copy92>>2]=HEAP32[25532>>2]|0;HEAP32[$atlas02$byval_copy92+4>>2]=HEAP32[25532+4>>2]|0;HEAP32[$atlas02$byval_copy92+8>>2]=HEAP32[25532+8>>2]|0;HEAP32[$atlas02$byval_copy92+12>>2]=HEAP32[25532+12>>2]|0;HEAP32[$atlas02$byval_copy92+16>>2]=HEAP32[25532+16>>2]|0; + ;HEAP32[$$byval_copy93>>2]=HEAP32[$21>>2]|0;HEAP32[$$byval_copy93+4>>2]=HEAP32[$21+4>>2]|0;HEAP32[$$byval_copy93+8>>2]=HEAP32[$21+8>>2]|0;HEAP32[$$byval_copy93+12>>2]=HEAP32[$21+12>>2]|0; + ;HEAP32[$$byval_copy94>>2]=HEAP32[$22>>2]|0;HEAP32[$$byval_copy94+4>>2]=HEAP32[$22+4>>2]|0;HEAP32[$$byval_copy94+8>>2]=HEAP32[$22+8>>2]|0;HEAP32[$$byval_copy94+12>>2]=HEAP32[$22+12>>2]|0; + ;HEAP32[$$byval_copy95>>2]=HEAP32[$23>>2]|0;HEAP32[$$byval_copy95+4>>2]=HEAP32[$23+4>>2]|0; + ;HEAP8[$color01$32$byval_copy96>>0]=HEAP8[161540>>0]|0;HEAP8[$color01$32$byval_copy96+1>>0]=HEAP8[161540+1>>0]|0;HEAP8[$color01$32$byval_copy96+2>>0]=HEAP8[161540+2>>0]|0;HEAP8[$color01$32$byval_copy96+3>>0]=HEAP8[161540+3>>0]|0; + _DrawTexturePro($atlas02$byval_copy92,$$byval_copy93,$$byval_copy94,$$byval_copy95,0.0,$color01$32$byval_copy96); + HEAP32[$24>>2] = 1146; + $155 = ((($24)) + 4|0); + HEAP32[$155>>2] = 239; + $156 = ((($24)) + 8|0); + HEAP32[$156>>2] = 640; + $157 = ((($24)) + 12|0); + HEAP32[$157>>2] = 77; + $158 = +HEAPF32[40330]; + $159 = (~~(($158))); + HEAP32[$25>>2] = $159; + $160 = ((($25)) + 4|0); + HEAP32[$160>>2] = 469; + $161 = ((($25)) + 8|0); + HEAP32[$161>>2] = 1280; + $162 = ((($25)) + 12|0); + HEAP32[$162>>2] = 154; + HEAPF32[$26>>2] = 0.0; + $163 = ((($26)) + 4|0); + HEAPF32[$163>>2] = 0.0; + ;HEAP32[$atlas02$byval_copy92>>2]=HEAP32[25532>>2]|0;HEAP32[$atlas02$byval_copy92+4>>2]=HEAP32[25532+4>>2]|0;HEAP32[$atlas02$byval_copy92+8>>2]=HEAP32[25532+8>>2]|0;HEAP32[$atlas02$byval_copy92+12>>2]=HEAP32[25532+12>>2]|0;HEAP32[$atlas02$byval_copy92+16>>2]=HEAP32[25532+16>>2]|0; + ;HEAP32[$$byval_copy93>>2]=HEAP32[$24>>2]|0;HEAP32[$$byval_copy93+4>>2]=HEAP32[$24+4>>2]|0;HEAP32[$$byval_copy93+8>>2]=HEAP32[$24+8>>2]|0;HEAP32[$$byval_copy93+12>>2]=HEAP32[$24+12>>2]|0; + ;HEAP32[$$byval_copy94>>2]=HEAP32[$25>>2]|0;HEAP32[$$byval_copy94+4>>2]=HEAP32[$25+4>>2]|0;HEAP32[$$byval_copy94+8>>2]=HEAP32[$25+8>>2]|0;HEAP32[$$byval_copy94+12>>2]=HEAP32[$25+12>>2]|0; + ;HEAP32[$$byval_copy95>>2]=HEAP32[$26>>2]|0;HEAP32[$$byval_copy95+4>>2]=HEAP32[$26+4>>2]|0; + ;HEAP8[$color01$32$byval_copy96>>0]=HEAP8[161536>>0]|0;HEAP8[$color01$32$byval_copy96+1>>0]=HEAP8[161536+1>>0]|0;HEAP8[$color01$32$byval_copy96+2>>0]=HEAP8[161536+2>>0]|0;HEAP8[$color01$32$byval_copy96+3>>0]=HEAP8[161536+3>>0]|0; + _DrawTexturePro($atlas02$byval_copy92,$$byval_copy93,$$byval_copy94,$$byval_copy95,0.0,$color01$32$byval_copy96); + HEAP32[$27>>2] = 1146; + $164 = ((($27)) + 4|0); + HEAP32[$164>>2] = 316; + $165 = ((($27)) + 8|0); + HEAP32[$165>>2] = 640; + $166 = ((($27)) + 12|0); + HEAP32[$166>>2] = -77; + $167 = +HEAPF32[40330]; + $168 = (~~(($167))); + HEAP32[$28>>2] = $168; + $169 = ((($28)) + 4|0); + HEAP32[$169>>2] = 67; + $170 = ((($28)) + 8|0); + HEAP32[$170>>2] = 1280; + $171 = ((($28)) + 12|0); + HEAP32[$171>>2] = 154; + HEAPF32[$29>>2] = 0.0; + $172 = ((($29)) + 4|0); + HEAPF32[$172>>2] = 0.0; + ;HEAP32[$atlas02$byval_copy92>>2]=HEAP32[25532>>2]|0;HEAP32[$atlas02$byval_copy92+4>>2]=HEAP32[25532+4>>2]|0;HEAP32[$atlas02$byval_copy92+8>>2]=HEAP32[25532+8>>2]|0;HEAP32[$atlas02$byval_copy92+12>>2]=HEAP32[25532+12>>2]|0;HEAP32[$atlas02$byval_copy92+16>>2]=HEAP32[25532+16>>2]|0; + ;HEAP32[$$byval_copy93>>2]=HEAP32[$27>>2]|0;HEAP32[$$byval_copy93+4>>2]=HEAP32[$27+4>>2]|0;HEAP32[$$byval_copy93+8>>2]=HEAP32[$27+8>>2]|0;HEAP32[$$byval_copy93+12>>2]=HEAP32[$27+12>>2]|0; + ;HEAP32[$$byval_copy94>>2]=HEAP32[$28>>2]|0;HEAP32[$$byval_copy94+4>>2]=HEAP32[$28+4>>2]|0;HEAP32[$$byval_copy94+8>>2]=HEAP32[$28+8>>2]|0;HEAP32[$$byval_copy94+12>>2]=HEAP32[$28+12>>2]|0; + ;HEAP32[$$byval_copy95>>2]=HEAP32[$29>>2]|0;HEAP32[$$byval_copy95+4>>2]=HEAP32[$29+4>>2]|0; + ;HEAP8[$color01$32$byval_copy96>>0]=HEAP8[161536>>0]|0;HEAP8[$color01$32$byval_copy96+1>>0]=HEAP8[161536+1>>0]|0;HEAP8[$color01$32$byval_copy96+2>>0]=HEAP8[161536+2>>0]|0;HEAP8[$color01$32$byval_copy96+3>>0]=HEAP8[161536+3>>0]|0; + _DrawTexturePro($atlas02$byval_copy92,$$byval_copy93,$$byval_copy94,$$byval_copy95,0.0,$color01$32$byval_copy96); + HEAP32[$30>>2] = 660; + $173 = ((($30)) + 4|0); + HEAP32[$173>>2] = 315; + $174 = ((($30)) + 8|0); + HEAP32[$174>>2] = 28; + $175 = ((($30)) + 12|0); + HEAP32[$175>>2] = 335; + $176 = +HEAPF32[40330]; + $177 = (~~(($176))); + $178 = HEAP32[40366]|0; + $179 = (($177) + ($178))|0; + $180 = (_GetScreenWidth()|0); + $181 = (($179) + ($180))|0; + HEAP32[$31>>2] = $181; + $182 = ((($31)) + 4|0); + HEAP32[$182>>2] = 67; + $183 = ((($31)) + 8|0); + HEAP32[$183>>2] = 56; + $184 = ((($31)) + 12|0); + HEAP32[$184>>2] = 670; + HEAPF32[$32>>2] = 0.0; + $185 = ((($32)) + 4|0); + HEAPF32[$185>>2] = 0.0; + ;HEAP32[$atlas02$byval_copy92>>2]=HEAP32[25532>>2]|0;HEAP32[$atlas02$byval_copy92+4>>2]=HEAP32[25532+4>>2]|0;HEAP32[$atlas02$byval_copy92+8>>2]=HEAP32[25532+8>>2]|0;HEAP32[$atlas02$byval_copy92+12>>2]=HEAP32[25532+12>>2]|0;HEAP32[$atlas02$byval_copy92+16>>2]=HEAP32[25532+16>>2]|0; + ;HEAP32[$$byval_copy93>>2]=HEAP32[$30>>2]|0;HEAP32[$$byval_copy93+4>>2]=HEAP32[$30+4>>2]|0;HEAP32[$$byval_copy93+8>>2]=HEAP32[$30+8>>2]|0;HEAP32[$$byval_copy93+12>>2]=HEAP32[$30+12>>2]|0; + ;HEAP32[$$byval_copy94>>2]=HEAP32[$31>>2]|0;HEAP32[$$byval_copy94+4>>2]=HEAP32[$31+4>>2]|0;HEAP32[$$byval_copy94+8>>2]=HEAP32[$31+8>>2]|0;HEAP32[$$byval_copy94+12>>2]=HEAP32[$31+12>>2]|0; + ;HEAP32[$$byval_copy95>>2]=HEAP32[$32>>2]|0;HEAP32[$$byval_copy95+4>>2]=HEAP32[$32+4>>2]|0; + ;HEAP8[$color01$32$byval_copy96>>0]=HEAP8[161540>>0]|0;HEAP8[$color01$32$byval_copy96+1>>0]=HEAP8[161540+1>>0]|0;HEAP8[$color01$32$byval_copy96+2>>0]=HEAP8[161540+2>>0]|0;HEAP8[$color01$32$byval_copy96+3>>0]=HEAP8[161540+3>>0]|0; + _DrawTexturePro($atlas02$byval_copy92,$$byval_copy93,$$byval_copy94,$$byval_copy95,0.0,$color01$32$byval_copy96); + HEAP32[$33>>2] = 746; + $186 = ((($33)) + 4|0); + HEAP32[$186>>2] = 315; + $187 = ((($33)) + 8|0); + HEAP32[$187>>2] = 26; + $188 = ((($33)) + 12|0); + HEAP32[$188>>2] = 332; + $189 = +HEAPF32[40330]; + $190 = (~~(($189))); + $191 = HEAP32[40366]|0; + $192 = (_GetScreenWidth()|0); + $193 = (($191) + 140)|0; + $194 = (($193) + ($190))|0; + $195 = (($194) + ($192))|0; + HEAP32[$34>>2] = $195; + $196 = ((($34)) + 4|0); + HEAP32[$196>>2] = 67; + $197 = ((($34)) + 8|0); + HEAP32[$197>>2] = 52; + $198 = ((($34)) + 12|0); + HEAP32[$198>>2] = 664; + HEAPF32[$35>>2] = 0.0; + $199 = ((($35)) + 4|0); + HEAPF32[$199>>2] = 0.0; + ;HEAP32[$atlas02$byval_copy92>>2]=HEAP32[25532>>2]|0;HEAP32[$atlas02$byval_copy92+4>>2]=HEAP32[25532+4>>2]|0;HEAP32[$atlas02$byval_copy92+8>>2]=HEAP32[25532+8>>2]|0;HEAP32[$atlas02$byval_copy92+12>>2]=HEAP32[25532+12>>2]|0;HEAP32[$atlas02$byval_copy92+16>>2]=HEAP32[25532+16>>2]|0; + ;HEAP32[$$byval_copy93>>2]=HEAP32[$33>>2]|0;HEAP32[$$byval_copy93+4>>2]=HEAP32[$33+4>>2]|0;HEAP32[$$byval_copy93+8>>2]=HEAP32[$33+8>>2]|0;HEAP32[$$byval_copy93+12>>2]=HEAP32[$33+12>>2]|0; + ;HEAP32[$$byval_copy94>>2]=HEAP32[$34>>2]|0;HEAP32[$$byval_copy94+4>>2]=HEAP32[$34+4>>2]|0;HEAP32[$$byval_copy94+8>>2]=HEAP32[$34+8>>2]|0;HEAP32[$$byval_copy94+12>>2]=HEAP32[$34+12>>2]|0; + ;HEAP32[$$byval_copy95>>2]=HEAP32[$35>>2]|0;HEAP32[$$byval_copy95+4>>2]=HEAP32[$35+4>>2]|0; + ;HEAP8[$color01$32$byval_copy96>>0]=HEAP8[161540>>0]|0;HEAP8[$color01$32$byval_copy96+1>>0]=HEAP8[161540+1>>0]|0;HEAP8[$color01$32$byval_copy96+2>>0]=HEAP8[161540+2>>0]|0;HEAP8[$color01$32$byval_copy96+3>>0]=HEAP8[161540+3>>0]|0; + _DrawTexturePro($atlas02$byval_copy92,$$byval_copy93,$$byval_copy94,$$byval_copy95,0.0,$color01$32$byval_copy96); + HEAP32[$36>>2] = 791; + $200 = ((($36)) + 4|0); + HEAP32[$200>>2] = 315; + $201 = ((($36)) + 8|0); + HEAP32[$201>>2] = 15; + $202 = ((($36)) + 12|0); + HEAP32[$202>>2] = 329; + $203 = +HEAPF32[40330]; + $204 = (~~(($203))); + $205 = HEAP32[40366]|0; + $206 = (_GetScreenWidth()|0); + $207 = (($205) + 280)|0; + $208 = (($207) + ($204))|0; + $209 = (($208) + ($206))|0; + HEAP32[$37>>2] = $209; + $210 = ((($37)) + 4|0); + HEAP32[$210>>2] = 67; + $211 = ((($37)) + 8|0); + HEAP32[$211>>2] = 30; + $212 = ((($37)) + 12|0); + HEAP32[$212>>2] = 658; + HEAPF32[$38>>2] = 0.0; + $213 = ((($38)) + 4|0); + HEAPF32[$213>>2] = 0.0; + ;HEAP32[$atlas02$byval_copy92>>2]=HEAP32[25532>>2]|0;HEAP32[$atlas02$byval_copy92+4>>2]=HEAP32[25532+4>>2]|0;HEAP32[$atlas02$byval_copy92+8>>2]=HEAP32[25532+8>>2]|0;HEAP32[$atlas02$byval_copy92+12>>2]=HEAP32[25532+12>>2]|0;HEAP32[$atlas02$byval_copy92+16>>2]=HEAP32[25532+16>>2]|0; + ;HEAP32[$$byval_copy93>>2]=HEAP32[$36>>2]|0;HEAP32[$$byval_copy93+4>>2]=HEAP32[$36+4>>2]|0;HEAP32[$$byval_copy93+8>>2]=HEAP32[$36+8>>2]|0;HEAP32[$$byval_copy93+12>>2]=HEAP32[$36+12>>2]|0; + ;HEAP32[$$byval_copy94>>2]=HEAP32[$37>>2]|0;HEAP32[$$byval_copy94+4>>2]=HEAP32[$37+4>>2]|0;HEAP32[$$byval_copy94+8>>2]=HEAP32[$37+8>>2]|0;HEAP32[$$byval_copy94+12>>2]=HEAP32[$37+12>>2]|0; + ;HEAP32[$$byval_copy95>>2]=HEAP32[$38>>2]|0;HEAP32[$$byval_copy95+4>>2]=HEAP32[$38+4>>2]|0; + ;HEAP8[$color01$32$byval_copy96>>0]=HEAP8[161540>>0]|0;HEAP8[$color01$32$byval_copy96+1>>0]=HEAP8[161540+1>>0]|0;HEAP8[$color01$32$byval_copy96+2>>0]=HEAP8[161540+2>>0]|0;HEAP8[$color01$32$byval_copy96+3>>0]=HEAP8[161540+3>>0]|0; + _DrawTexturePro($atlas02$byval_copy92,$$byval_copy93,$$byval_copy94,$$byval_copy95,0.0,$color01$32$byval_copy96); + HEAP32[$39>>2] = 1940; + $214 = ((($39)) + 4|0); + HEAP32[$214>>2] = 2; + $215 = ((($39)) + 8|0); + HEAP32[$215>>2] = 38; + $216 = ((($39)) + 12|0); + HEAP32[$216>>2] = 334; + $217 = +HEAPF32[40330]; + $218 = (~~(($217))); + $219 = HEAP32[40366]|0; + $220 = (_GetScreenWidth()|0); + $221 = (($219) + 420)|0; + $222 = (($221) + ($218))|0; + $223 = (($222) + ($220))|0; + HEAP32[$40>>2] = $223; + $224 = ((($40)) + 4|0); + HEAP32[$224>>2] = 67; + $225 = ((($40)) + 8|0); + HEAP32[$225>>2] = 76; + $226 = ((($40)) + 12|0); + HEAP32[$226>>2] = 668; + HEAPF32[$41>>2] = 0.0; + $227 = ((($41)) + 4|0); + HEAPF32[$227>>2] = 0.0; + ;HEAP32[$atlas02$byval_copy92>>2]=HEAP32[25532>>2]|0;HEAP32[$atlas02$byval_copy92+4>>2]=HEAP32[25532+4>>2]|0;HEAP32[$atlas02$byval_copy92+8>>2]=HEAP32[25532+8>>2]|0;HEAP32[$atlas02$byval_copy92+12>>2]=HEAP32[25532+12>>2]|0;HEAP32[$atlas02$byval_copy92+16>>2]=HEAP32[25532+16>>2]|0; + ;HEAP32[$$byval_copy93>>2]=HEAP32[$39>>2]|0;HEAP32[$$byval_copy93+4>>2]=HEAP32[$39+4>>2]|0;HEAP32[$$byval_copy93+8>>2]=HEAP32[$39+8>>2]|0;HEAP32[$$byval_copy93+12>>2]=HEAP32[$39+12>>2]|0; + ;HEAP32[$$byval_copy94>>2]=HEAP32[$40>>2]|0;HEAP32[$$byval_copy94+4>>2]=HEAP32[$40+4>>2]|0;HEAP32[$$byval_copy94+8>>2]=HEAP32[$40+8>>2]|0;HEAP32[$$byval_copy94+12>>2]=HEAP32[$40+12>>2]|0; + ;HEAP32[$$byval_copy95>>2]=HEAP32[$41>>2]|0;HEAP32[$$byval_copy95+4>>2]=HEAP32[$41+4>>2]|0; + ;HEAP8[$color01$32$byval_copy96>>0]=HEAP8[161540>>0]|0;HEAP8[$color01$32$byval_copy96+1>>0]=HEAP8[161540+1>>0]|0;HEAP8[$color01$32$byval_copy96+2>>0]=HEAP8[161540+2>>0]|0;HEAP8[$color01$32$byval_copy96+3>>0]=HEAP8[161540+3>>0]|0; + _DrawTexturePro($atlas02$byval_copy92,$$byval_copy93,$$byval_copy94,$$byval_copy95,0.0,$color01$32$byval_copy96); + HEAP32[$42>>2] = 572; + $228 = ((($42)) + 4|0); + HEAP32[$228>>2] = 364; + $229 = ((($42)) + 8|0); + HEAP32[$229>>2] = 32; + $230 = ((($42)) + 12|0); + HEAP32[$230>>2] = 349; + $231 = +HEAPF32[40330]; + $232 = (~~(($231))); + $233 = HEAP32[40366]|0; + $234 = (_GetScreenWidth()|0); + $235 = (($233) + 560)|0; + $236 = (($235) + ($232))|0; + $237 = (($236) + ($234))|0; + HEAP32[$43>>2] = $237; + $238 = ((($43)) + 4|0); + HEAP32[$238>>2] = 67; + $239 = ((($43)) + 8|0); + HEAP32[$239>>2] = 64; + $240 = ((($43)) + 12|0); + HEAP32[$240>>2] = 698; + HEAPF32[$44>>2] = 0.0; + $241 = ((($44)) + 4|0); + HEAPF32[$241>>2] = 0.0; + ;HEAP32[$atlas02$byval_copy92>>2]=HEAP32[25532>>2]|0;HEAP32[$atlas02$byval_copy92+4>>2]=HEAP32[25532+4>>2]|0;HEAP32[$atlas02$byval_copy92+8>>2]=HEAP32[25532+8>>2]|0;HEAP32[$atlas02$byval_copy92+12>>2]=HEAP32[25532+12>>2]|0;HEAP32[$atlas02$byval_copy92+16>>2]=HEAP32[25532+16>>2]|0; + ;HEAP32[$$byval_copy93>>2]=HEAP32[$42>>2]|0;HEAP32[$$byval_copy93+4>>2]=HEAP32[$42+4>>2]|0;HEAP32[$$byval_copy93+8>>2]=HEAP32[$42+8>>2]|0;HEAP32[$$byval_copy93+12>>2]=HEAP32[$42+12>>2]|0; + ;HEAP32[$$byval_copy94>>2]=HEAP32[$43>>2]|0;HEAP32[$$byval_copy94+4>>2]=HEAP32[$43+4>>2]|0;HEAP32[$$byval_copy94+8>>2]=HEAP32[$43+8>>2]|0;HEAP32[$$byval_copy94+12>>2]=HEAP32[$43+12>>2]|0; + ;HEAP32[$$byval_copy95>>2]=HEAP32[$44>>2]|0;HEAP32[$$byval_copy95+4>>2]=HEAP32[$44+4>>2]|0; + ;HEAP8[$color01$32$byval_copy96>>0]=HEAP8[161540>>0]|0;HEAP8[$color01$32$byval_copy96+1>>0]=HEAP8[161540+1>>0]|0;HEAP8[$color01$32$byval_copy96+2>>0]=HEAP8[161540+2>>0]|0;HEAP8[$color01$32$byval_copy96+3>>0]=HEAP8[161540+3>>0]|0; + _DrawTexturePro($atlas02$byval_copy92,$$byval_copy93,$$byval_copy94,$$byval_copy95,0.0,$color01$32$byval_copy96); + HEAP32[$45>>2] = 1863; + $242 = ((($45)) + 4|0); + HEAP32[$242>>2] = 338; + $243 = ((($45)) + 8|0); + HEAP32[$243>>2] = 31; + $244 = ((($45)) + 12|0); + HEAP32[$244>>2] = 334; + $245 = +HEAPF32[40330]; + $246 = (~~(($245))); + $247 = HEAP32[40366]|0; + $248 = (_GetScreenWidth()|0); + $249 = (($247) + 700)|0; + $250 = (($249) + ($246))|0; + $251 = (($250) + ($248))|0; + HEAP32[$46>>2] = $251; + $252 = ((($46)) + 4|0); + HEAP32[$252>>2] = 67; + $253 = ((($46)) + 8|0); + HEAP32[$253>>2] = 62; + $254 = ((($46)) + 12|0); + HEAP32[$254>>2] = 668; + HEAPF32[$47>>2] = 0.0; + $255 = ((($47)) + 4|0); + HEAPF32[$255>>2] = 0.0; + ;HEAP32[$atlas02$byval_copy92>>2]=HEAP32[25532>>2]|0;HEAP32[$atlas02$byval_copy92+4>>2]=HEAP32[25532+4>>2]|0;HEAP32[$atlas02$byval_copy92+8>>2]=HEAP32[25532+8>>2]|0;HEAP32[$atlas02$byval_copy92+12>>2]=HEAP32[25532+12>>2]|0;HEAP32[$atlas02$byval_copy92+16>>2]=HEAP32[25532+16>>2]|0; + ;HEAP32[$$byval_copy93>>2]=HEAP32[$45>>2]|0;HEAP32[$$byval_copy93+4>>2]=HEAP32[$45+4>>2]|0;HEAP32[$$byval_copy93+8>>2]=HEAP32[$45+8>>2]|0;HEAP32[$$byval_copy93+12>>2]=HEAP32[$45+12>>2]|0; + ;HEAP32[$$byval_copy94>>2]=HEAP32[$46>>2]|0;HEAP32[$$byval_copy94+4>>2]=HEAP32[$46+4>>2]|0;HEAP32[$$byval_copy94+8>>2]=HEAP32[$46+8>>2]|0;HEAP32[$$byval_copy94+12>>2]=HEAP32[$46+12>>2]|0; + ;HEAP32[$$byval_copy95>>2]=HEAP32[$47>>2]|0;HEAP32[$$byval_copy95+4>>2]=HEAP32[$47+4>>2]|0; + ;HEAP8[$color01$32$byval_copy96>>0]=HEAP8[161540>>0]|0;HEAP8[$color01$32$byval_copy96+1>>0]=HEAP8[161540+1>>0]|0;HEAP8[$color01$32$byval_copy96+2>>0]=HEAP8[161540+2>>0]|0;HEAP8[$color01$32$byval_copy96+3>>0]=HEAP8[161540+3>>0]|0; + _DrawTexturePro($atlas02$byval_copy92,$$byval_copy93,$$byval_copy94,$$byval_copy95,0.0,$color01$32$byval_copy96); + HEAP32[$48>>2] = 1833; + $256 = ((($48)) + 4|0); + HEAP32[$256>>2] = 2; + $257 = ((($48)) + 8|0); + HEAP32[$257>>2] = 25; + $258 = ((($48)) + 12|0); + HEAP32[$258>>2] = 349; + $259 = +HEAPF32[40330]; + $260 = (~~(($259))); + $261 = HEAP32[40366]|0; + $262 = (_GetScreenWidth()|0); + $263 = (($261) + 840)|0; + $264 = (($263) + ($260))|0; + $265 = (($264) + ($262))|0; + HEAP32[$49>>2] = $265; + $266 = ((($49)) + 4|0); + HEAP32[$266>>2] = 67; + $267 = ((($49)) + 8|0); + HEAP32[$267>>2] = 50; + $268 = ((($49)) + 12|0); + HEAP32[$268>>2] = 698; + HEAPF32[$50>>2] = 0.0; + $269 = ((($50)) + 4|0); + HEAPF32[$269>>2] = 0.0; + ;HEAP32[$atlas02$byval_copy92>>2]=HEAP32[25532>>2]|0;HEAP32[$atlas02$byval_copy92+4>>2]=HEAP32[25532+4>>2]|0;HEAP32[$atlas02$byval_copy92+8>>2]=HEAP32[25532+8>>2]|0;HEAP32[$atlas02$byval_copy92+12>>2]=HEAP32[25532+12>>2]|0;HEAP32[$atlas02$byval_copy92+16>>2]=HEAP32[25532+16>>2]|0; + ;HEAP32[$$byval_copy93>>2]=HEAP32[$48>>2]|0;HEAP32[$$byval_copy93+4>>2]=HEAP32[$48+4>>2]|0;HEAP32[$$byval_copy93+8>>2]=HEAP32[$48+8>>2]|0;HEAP32[$$byval_copy93+12>>2]=HEAP32[$48+12>>2]|0; + ;HEAP32[$$byval_copy94>>2]=HEAP32[$49>>2]|0;HEAP32[$$byval_copy94+4>>2]=HEAP32[$49+4>>2]|0;HEAP32[$$byval_copy94+8>>2]=HEAP32[$49+8>>2]|0;HEAP32[$$byval_copy94+12>>2]=HEAP32[$49+12>>2]|0; + ;HEAP32[$$byval_copy95>>2]=HEAP32[$50>>2]|0;HEAP32[$$byval_copy95+4>>2]=HEAP32[$50+4>>2]|0; + ;HEAP8[$color01$32$byval_copy96>>0]=HEAP8[161540>>0]|0;HEAP8[$color01$32$byval_copy96+1>>0]=HEAP8[161540+1>>0]|0;HEAP8[$color01$32$byval_copy96+2>>0]=HEAP8[161540+2>>0]|0;HEAP8[$color01$32$byval_copy96+3>>0]=HEAP8[161540+3>>0]|0; + _DrawTexturePro($atlas02$byval_copy92,$$byval_copy93,$$byval_copy94,$$byval_copy95,0.0,$color01$32$byval_copy96); + HEAP32[$51>>2] = 1964; + $270 = ((($51)) + 4|0); + HEAP32[$270>>2] = 338; + $271 = ((($51)) + 8|0); + HEAP32[$271>>2] = 32; + $272 = ((($51)) + 12|0); + HEAP32[$272>>2] = 331; + $273 = +HEAPF32[40330]; + $274 = (~~(($273))); + $275 = HEAP32[40366]|0; + $276 = (_GetScreenWidth()|0); + $277 = (($275) + 980)|0; + $278 = (($277) + ($274))|0; + $279 = (($278) + ($276))|0; + HEAP32[$52>>2] = $279; + $280 = ((($52)) + 4|0); + HEAP32[$280>>2] = 67; + $281 = ((($52)) + 8|0); + HEAP32[$281>>2] = 64; + $282 = ((($52)) + 12|0); + HEAP32[$282>>2] = 662; + HEAPF32[$53>>2] = 0.0; + $283 = ((($53)) + 4|0); + HEAPF32[$283>>2] = 0.0; + ;HEAP32[$atlas02$byval_copy92>>2]=HEAP32[25532>>2]|0;HEAP32[$atlas02$byval_copy92+4>>2]=HEAP32[25532+4>>2]|0;HEAP32[$atlas02$byval_copy92+8>>2]=HEAP32[25532+8>>2]|0;HEAP32[$atlas02$byval_copy92+12>>2]=HEAP32[25532+12>>2]|0;HEAP32[$atlas02$byval_copy92+16>>2]=HEAP32[25532+16>>2]|0; + ;HEAP32[$$byval_copy93>>2]=HEAP32[$51>>2]|0;HEAP32[$$byval_copy93+4>>2]=HEAP32[$51+4>>2]|0;HEAP32[$$byval_copy93+8>>2]=HEAP32[$51+8>>2]|0;HEAP32[$$byval_copy93+12>>2]=HEAP32[$51+12>>2]|0; + ;HEAP32[$$byval_copy94>>2]=HEAP32[$52>>2]|0;HEAP32[$$byval_copy94+4>>2]=HEAP32[$52+4>>2]|0;HEAP32[$$byval_copy94+8>>2]=HEAP32[$52+8>>2]|0;HEAP32[$$byval_copy94+12>>2]=HEAP32[$52+12>>2]|0; + ;HEAP32[$$byval_copy95>>2]=HEAP32[$53>>2]|0;HEAP32[$$byval_copy95+4>>2]=HEAP32[$53+4>>2]|0; + ;HEAP8[$color01$32$byval_copy96>>0]=HEAP8[161540>>0]|0;HEAP8[$color01$32$byval_copy96+1>>0]=HEAP8[161540+1>>0]|0;HEAP8[$color01$32$byval_copy96+2>>0]=HEAP8[161540+2>>0]|0;HEAP8[$color01$32$byval_copy96+3>>0]=HEAP8[161540+3>>0]|0; + _DrawTexturePro($atlas02$byval_copy92,$$byval_copy93,$$byval_copy94,$$byval_copy95,0.0,$color01$32$byval_copy96); + HEAP32[$54>>2] = 1146; + $284 = ((($54)) + 4|0); + HEAP32[$284>>2] = 239; + $285 = ((($54)) + 8|0); + HEAP32[$285>>2] = 640; + $286 = ((($54)) + 12|0); + HEAP32[$286>>2] = 77; + $287 = +HEAPF32[40330]; + $288 = (~~(($287))); + $289 = (_GetScreenWidth()|0); + $290 = (($288) + ($289))|0; + HEAP32[$55>>2] = $290; + $291 = ((($55)) + 4|0); + HEAP32[$291>>2] = 469; + $292 = ((($55)) + 8|0); + HEAP32[$292>>2] = 1280; + $293 = ((($55)) + 12|0); + HEAP32[$293>>2] = 154; + HEAPF32[$56>>2] = 0.0; + $294 = ((($56)) + 4|0); + HEAPF32[$294>>2] = 0.0; + ;HEAP32[$atlas02$byval_copy92>>2]=HEAP32[25532>>2]|0;HEAP32[$atlas02$byval_copy92+4>>2]=HEAP32[25532+4>>2]|0;HEAP32[$atlas02$byval_copy92+8>>2]=HEAP32[25532+8>>2]|0;HEAP32[$atlas02$byval_copy92+12>>2]=HEAP32[25532+12>>2]|0;HEAP32[$atlas02$byval_copy92+16>>2]=HEAP32[25532+16>>2]|0; + ;HEAP32[$$byval_copy93>>2]=HEAP32[$54>>2]|0;HEAP32[$$byval_copy93+4>>2]=HEAP32[$54+4>>2]|0;HEAP32[$$byval_copy93+8>>2]=HEAP32[$54+8>>2]|0;HEAP32[$$byval_copy93+12>>2]=HEAP32[$54+12>>2]|0; + ;HEAP32[$$byval_copy94>>2]=HEAP32[$55>>2]|0;HEAP32[$$byval_copy94+4>>2]=HEAP32[$55+4>>2]|0;HEAP32[$$byval_copy94+8>>2]=HEAP32[$55+8>>2]|0;HEAP32[$$byval_copy94+12>>2]=HEAP32[$55+12>>2]|0; + ;HEAP32[$$byval_copy95>>2]=HEAP32[$56>>2]|0;HEAP32[$$byval_copy95+4>>2]=HEAP32[$56+4>>2]|0; + ;HEAP8[$color01$32$byval_copy96>>0]=HEAP8[161536>>0]|0;HEAP8[$color01$32$byval_copy96+1>>0]=HEAP8[161536+1>>0]|0;HEAP8[$color01$32$byval_copy96+2>>0]=HEAP8[161536+2>>0]|0;HEAP8[$color01$32$byval_copy96+3>>0]=HEAP8[161536+3>>0]|0; + _DrawTexturePro($atlas02$byval_copy92,$$byval_copy93,$$byval_copy94,$$byval_copy95,0.0,$color01$32$byval_copy96); + HEAP32[$57>>2] = 1146; + $295 = ((($57)) + 4|0); + HEAP32[$295>>2] = 316; + $296 = ((($57)) + 8|0); + HEAP32[$296>>2] = 640; + $297 = ((($57)) + 12|0); + HEAP32[$297>>2] = -77; + $298 = +HEAPF32[40330]; + $299 = (~~(($298))); + $300 = (_GetScreenWidth()|0); + $301 = (($299) + ($300))|0; + HEAP32[$58>>2] = $301; + $302 = ((($58)) + 4|0); + HEAP32[$302>>2] = 67; + $303 = ((($58)) + 8|0); + HEAP32[$303>>2] = 1280; + $304 = ((($58)) + 12|0); + HEAP32[$304>>2] = 154; + HEAPF32[$59>>2] = 0.0; + $305 = ((($59)) + 4|0); + HEAPF32[$305>>2] = 0.0; + ;HEAP32[$atlas02$byval_copy92>>2]=HEAP32[25532>>2]|0;HEAP32[$atlas02$byval_copy92+4>>2]=HEAP32[25532+4>>2]|0;HEAP32[$atlas02$byval_copy92+8>>2]=HEAP32[25532+8>>2]|0;HEAP32[$atlas02$byval_copy92+12>>2]=HEAP32[25532+12>>2]|0;HEAP32[$atlas02$byval_copy92+16>>2]=HEAP32[25532+16>>2]|0; + ;HEAP32[$$byval_copy93>>2]=HEAP32[$57>>2]|0;HEAP32[$$byval_copy93+4>>2]=HEAP32[$57+4>>2]|0;HEAP32[$$byval_copy93+8>>2]=HEAP32[$57+8>>2]|0;HEAP32[$$byval_copy93+12>>2]=HEAP32[$57+12>>2]|0; + ;HEAP32[$$byval_copy94>>2]=HEAP32[$58>>2]|0;HEAP32[$$byval_copy94+4>>2]=HEAP32[$58+4>>2]|0;HEAP32[$$byval_copy94+8>>2]=HEAP32[$58+8>>2]|0;HEAP32[$$byval_copy94+12>>2]=HEAP32[$58+12>>2]|0; + ;HEAP32[$$byval_copy95>>2]=HEAP32[$59>>2]|0;HEAP32[$$byval_copy95+4>>2]=HEAP32[$59+4>>2]|0; + ;HEAP8[$color01$32$byval_copy96>>0]=HEAP8[161536>>0]|0;HEAP8[$color01$32$byval_copy96+1>>0]=HEAP8[161536+1>>0]|0;HEAP8[$color01$32$byval_copy96+2>>0]=HEAP8[161536+2>>0]|0;HEAP8[$color01$32$byval_copy96+3>>0]=HEAP8[161536+3>>0]|0; + _DrawTexturePro($atlas02$byval_copy92,$$byval_copy93,$$byval_copy94,$$byval_copy95,0.0,$color01$32$byval_copy96); + STACKTOP = sp;return; +} +function _DrawParallaxMiddle_64() { + var $$byval_copy93 = 0, $$byval_copy94 = 0, $$byval_copy95 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0.0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0.0; + var $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0.0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0; + var $131 = 0, $132 = 0.0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0.0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0; + var $15 = 0, $150 = 0, $151 = 0.0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0.0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0; + var $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0.0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0.0, $185 = 0; + var $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0.0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0; + var $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0.0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0.0; + var $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0.0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0; + var $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0.0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0.0, $256 = 0, $257 = 0; + var $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0.0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0.0, $64 = 0, $65 = 0; + var $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0.0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0.0, $83 = 0; + var $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0.0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $atlas02$byval_copy92 = 0, $color01$32$byval_copy96 = 0, label = 0; + var sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 880|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(880|0); + $color01$32$byval_copy96 = sp + 864|0; + $$byval_copy95 = sp + 856|0; + $$byval_copy94 = sp + 840|0; + $$byval_copy93 = sp + 824|0; + $atlas02$byval_copy92 = sp + 800|0; + $0 = sp + 784|0; + $1 = sp + 768|0; + $2 = sp + 760|0; + $3 = sp + 744|0; + $4 = sp + 728|0; + $5 = sp + 720|0; + $6 = sp + 704|0; + $7 = sp + 688|0; + $8 = sp + 680|0; + $9 = sp + 664|0; + $10 = sp + 648|0; + $11 = sp + 640|0; + $12 = sp + 624|0; + $13 = sp + 608|0; + $14 = sp + 600|0; + $15 = sp + 584|0; + $16 = sp + 568|0; + $17 = sp + 560|0; + $18 = sp + 544|0; + $19 = sp + 528|0; + $20 = sp + 520|0; + $21 = sp + 504|0; + $22 = sp + 488|0; + $23 = sp + 480|0; + $24 = sp + 464|0; + $25 = sp + 448|0; + $26 = sp + 440|0; + $27 = sp + 424|0; + $28 = sp + 408|0; + $29 = sp + 400|0; + $30 = sp + 384|0; + $31 = sp + 368|0; + $32 = sp + 360|0; + $33 = sp + 344|0; + $34 = sp + 328|0; + $35 = sp + 320|0; + $36 = sp + 304|0; + $37 = sp + 288|0; + $38 = sp + 280|0; + $39 = sp + 264|0; + $40 = sp + 248|0; + $41 = sp + 240|0; + $42 = sp + 224|0; + $43 = sp + 208|0; + $44 = sp + 200|0; + $45 = sp + 184|0; + $46 = sp + 168|0; + $47 = sp + 160|0; + $48 = sp + 144|0; + $49 = sp + 128|0; + $50 = sp + 120|0; + $51 = sp + 104|0; + $52 = sp + 88|0; + $53 = sp + 80|0; + $54 = sp + 64|0; + $55 = sp + 48|0; + $56 = sp + 40|0; + $57 = sp + 24|0; + $58 = sp + 8|0; + $59 = sp; + HEAP32[$0>>2] = 1998; + $60 = ((($0)) + 4|0); + HEAP32[$60>>2] = 338; + $61 = ((($0)) + 8|0); + HEAP32[$61>>2] = 28; + $62 = ((($0)) + 12|0); + HEAP32[$62>>2] = 335; + $63 = +HEAPF32[40329]; + $64 = (~~(($63))); + HEAP32[$1>>2] = $64; + $65 = ((($1)) + 4|0); + HEAP32[$65>>2] = 67; + $66 = ((($1)) + 8|0); + HEAP32[$66>>2] = 56; + $67 = ((($1)) + 12|0); + HEAP32[$67>>2] = 670; + HEAPF32[$2>>2] = 0.0; + $68 = ((($2)) + 4|0); + HEAPF32[$68>>2] = 0.0; + ;HEAP32[$atlas02$byval_copy92>>2]=HEAP32[25532>>2]|0;HEAP32[$atlas02$byval_copy92+4>>2]=HEAP32[25532+4>>2]|0;HEAP32[$atlas02$byval_copy92+8>>2]=HEAP32[25532+8>>2]|0;HEAP32[$atlas02$byval_copy92+12>>2]=HEAP32[25532+12>>2]|0;HEAP32[$atlas02$byval_copy92+16>>2]=HEAP32[25532+16>>2]|0; + ;HEAP32[$$byval_copy93>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy93+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy93+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy93+12>>2]=HEAP32[$0+12>>2]|0; + ;HEAP32[$$byval_copy94>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy94+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$$byval_copy94+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[$$byval_copy94+12>>2]=HEAP32[$1+12>>2]|0; + ;HEAP32[$$byval_copy95>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy95+4>>2]=HEAP32[$2+4>>2]|0; + ;HEAP8[$color01$32$byval_copy96>>0]=HEAP8[161540>>0]|0;HEAP8[$color01$32$byval_copy96+1>>0]=HEAP8[161540+1>>0]|0;HEAP8[$color01$32$byval_copy96+2>>0]=HEAP8[161540+2>>0]|0;HEAP8[$color01$32$byval_copy96+3>>0]=HEAP8[161540+3>>0]|0; + _DrawTexturePro($atlas02$byval_copy92,$$byval_copy93,$$byval_copy94,$$byval_copy95,0.0,$color01$32$byval_copy96); + HEAP32[$3>>2] = 718; + $69 = ((($3)) + 4|0); + HEAP32[$69>>2] = 315; + $70 = ((($3)) + 8|0); + HEAP32[$70>>2] = 26; + $71 = ((($3)) + 12|0); + HEAP32[$71>>2] = 332; + $72 = +HEAPF32[40329]; + $73 = (~~(($72))); + $74 = (($73) + 140)|0; + HEAP32[$4>>2] = $74; + $75 = ((($4)) + 4|0); + HEAP32[$75>>2] = 67; + $76 = ((($4)) + 8|0); + HEAP32[$76>>2] = 52; + $77 = ((($4)) + 12|0); + HEAP32[$77>>2] = 664; + HEAPF32[$5>>2] = 0.0; + $78 = ((($5)) + 4|0); + HEAPF32[$78>>2] = 0.0; + ;HEAP32[$atlas02$byval_copy92>>2]=HEAP32[25532>>2]|0;HEAP32[$atlas02$byval_copy92+4>>2]=HEAP32[25532+4>>2]|0;HEAP32[$atlas02$byval_copy92+8>>2]=HEAP32[25532+8>>2]|0;HEAP32[$atlas02$byval_copy92+12>>2]=HEAP32[25532+12>>2]|0;HEAP32[$atlas02$byval_copy92+16>>2]=HEAP32[25532+16>>2]|0; + ;HEAP32[$$byval_copy93>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy93+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$$byval_copy93+8>>2]=HEAP32[$3+8>>2]|0;HEAP32[$$byval_copy93+12>>2]=HEAP32[$3+12>>2]|0; + ;HEAP32[$$byval_copy94>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy94+4>>2]=HEAP32[$4+4>>2]|0;HEAP32[$$byval_copy94+8>>2]=HEAP32[$4+8>>2]|0;HEAP32[$$byval_copy94+12>>2]=HEAP32[$4+12>>2]|0; + ;HEAP32[$$byval_copy95>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy95+4>>2]=HEAP32[$5+4>>2]|0; + ;HEAP8[$color01$32$byval_copy96>>0]=HEAP8[161540>>0]|0;HEAP8[$color01$32$byval_copy96+1>>0]=HEAP8[161540+1>>0]|0;HEAP8[$color01$32$byval_copy96+2>>0]=HEAP8[161540+2>>0]|0;HEAP8[$color01$32$byval_copy96+3>>0]=HEAP8[161540+3>>0]|0; + _DrawTexturePro($atlas02$byval_copy92,$$byval_copy93,$$byval_copy94,$$byval_copy95,0.0,$color01$32$byval_copy96); + HEAP32[$6>>2] = 774; + $79 = ((($6)) + 4|0); + HEAP32[$79>>2] = 315; + $80 = ((($6)) + 8|0); + HEAP32[$80>>2] = 15; + $81 = ((($6)) + 12|0); + HEAP32[$81>>2] = 329; + $82 = +HEAPF32[40329]; + $83 = (~~(($82))); + $84 = (($83) + 280)|0; + HEAP32[$7>>2] = $84; + $85 = ((($7)) + 4|0); + HEAP32[$85>>2] = 67; + $86 = ((($7)) + 8|0); + HEAP32[$86>>2] = 30; + $87 = ((($7)) + 12|0); + HEAP32[$87>>2] = 658; + HEAPF32[$8>>2] = 0.0; + $88 = ((($8)) + 4|0); + HEAPF32[$88>>2] = 0.0; + ;HEAP32[$atlas02$byval_copy92>>2]=HEAP32[25532>>2]|0;HEAP32[$atlas02$byval_copy92+4>>2]=HEAP32[25532+4>>2]|0;HEAP32[$atlas02$byval_copy92+8>>2]=HEAP32[25532+8>>2]|0;HEAP32[$atlas02$byval_copy92+12>>2]=HEAP32[25532+12>>2]|0;HEAP32[$atlas02$byval_copy92+16>>2]=HEAP32[25532+16>>2]|0; + ;HEAP32[$$byval_copy93>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy93+4>>2]=HEAP32[$6+4>>2]|0;HEAP32[$$byval_copy93+8>>2]=HEAP32[$6+8>>2]|0;HEAP32[$$byval_copy93+12>>2]=HEAP32[$6+12>>2]|0; + ;HEAP32[$$byval_copy94>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy94+4>>2]=HEAP32[$7+4>>2]|0;HEAP32[$$byval_copy94+8>>2]=HEAP32[$7+8>>2]|0;HEAP32[$$byval_copy94+12>>2]=HEAP32[$7+12>>2]|0; + ;HEAP32[$$byval_copy95>>2]=HEAP32[$8>>2]|0;HEAP32[$$byval_copy95+4>>2]=HEAP32[$8+4>>2]|0; + ;HEAP8[$color01$32$byval_copy96>>0]=HEAP8[161540>>0]|0;HEAP8[$color01$32$byval_copy96+1>>0]=HEAP8[161540+1>>0]|0;HEAP8[$color01$32$byval_copy96+2>>0]=HEAP8[161540+2>>0]|0;HEAP8[$color01$32$byval_copy96+3>>0]=HEAP8[161540+3>>0]|0; + _DrawTexturePro($atlas02$byval_copy92,$$byval_copy93,$$byval_copy94,$$byval_copy95,0.0,$color01$32$byval_copy96); + HEAP32[$9>>2] = 1900; + $89 = ((($9)) + 4|0); + HEAP32[$89>>2] = 2; + $90 = ((($9)) + 8|0); + HEAP32[$90>>2] = 38; + $91 = ((($9)) + 12|0); + HEAP32[$91>>2] = 334; + $92 = +HEAPF32[40329]; + $93 = (~~(($92))); + $94 = (($93) + 420)|0; + HEAP32[$10>>2] = $94; + $95 = ((($10)) + 4|0); + HEAP32[$95>>2] = 67; + $96 = ((($10)) + 8|0); + HEAP32[$96>>2] = 76; + $97 = ((($10)) + 12|0); + HEAP32[$97>>2] = 668; + HEAPF32[$11>>2] = 0.0; + $98 = ((($11)) + 4|0); + HEAPF32[$98>>2] = 0.0; + ;HEAP32[$atlas02$byval_copy92>>2]=HEAP32[25532>>2]|0;HEAP32[$atlas02$byval_copy92+4>>2]=HEAP32[25532+4>>2]|0;HEAP32[$atlas02$byval_copy92+8>>2]=HEAP32[25532+8>>2]|0;HEAP32[$atlas02$byval_copy92+12>>2]=HEAP32[25532+12>>2]|0;HEAP32[$atlas02$byval_copy92+16>>2]=HEAP32[25532+16>>2]|0; + ;HEAP32[$$byval_copy93>>2]=HEAP32[$9>>2]|0;HEAP32[$$byval_copy93+4>>2]=HEAP32[$9+4>>2]|0;HEAP32[$$byval_copy93+8>>2]=HEAP32[$9+8>>2]|0;HEAP32[$$byval_copy93+12>>2]=HEAP32[$9+12>>2]|0; + ;HEAP32[$$byval_copy94>>2]=HEAP32[$10>>2]|0;HEAP32[$$byval_copy94+4>>2]=HEAP32[$10+4>>2]|0;HEAP32[$$byval_copy94+8>>2]=HEAP32[$10+8>>2]|0;HEAP32[$$byval_copy94+12>>2]=HEAP32[$10+12>>2]|0; + ;HEAP32[$$byval_copy95>>2]=HEAP32[$11>>2]|0;HEAP32[$$byval_copy95+4>>2]=HEAP32[$11+4>>2]|0; + ;HEAP8[$color01$32$byval_copy96>>0]=HEAP8[161540>>0]|0;HEAP8[$color01$32$byval_copy96+1>>0]=HEAP8[161540+1>>0]|0;HEAP8[$color01$32$byval_copy96+2>>0]=HEAP8[161540+2>>0]|0;HEAP8[$color01$32$byval_copy96+3>>0]=HEAP8[161540+3>>0]|0; + _DrawTexturePro($atlas02$byval_copy92,$$byval_copy93,$$byval_copy94,$$byval_copy95,0.0,$color01$32$byval_copy96); + HEAP32[$12>>2] = 538; + $99 = ((($12)) + 4|0); + HEAP32[$99>>2] = 364; + $100 = ((($12)) + 8|0); + HEAP32[$100>>2] = 32; + $101 = ((($12)) + 12|0); + HEAP32[$101>>2] = 349; + $102 = +HEAPF32[40329]; + $103 = (~~(($102))); + $104 = (($103) + 560)|0; + HEAP32[$13>>2] = $104; + $105 = ((($13)) + 4|0); + HEAP32[$105>>2] = 67; + $106 = ((($13)) + 8|0); + HEAP32[$106>>2] = 64; + $107 = ((($13)) + 12|0); + HEAP32[$107>>2] = 698; + HEAPF32[$14>>2] = 0.0; + $108 = ((($14)) + 4|0); + HEAPF32[$108>>2] = 0.0; + ;HEAP32[$atlas02$byval_copy92>>2]=HEAP32[25532>>2]|0;HEAP32[$atlas02$byval_copy92+4>>2]=HEAP32[25532+4>>2]|0;HEAP32[$atlas02$byval_copy92+8>>2]=HEAP32[25532+8>>2]|0;HEAP32[$atlas02$byval_copy92+12>>2]=HEAP32[25532+12>>2]|0;HEAP32[$atlas02$byval_copy92+16>>2]=HEAP32[25532+16>>2]|0; + ;HEAP32[$$byval_copy93>>2]=HEAP32[$12>>2]|0;HEAP32[$$byval_copy93+4>>2]=HEAP32[$12+4>>2]|0;HEAP32[$$byval_copy93+8>>2]=HEAP32[$12+8>>2]|0;HEAP32[$$byval_copy93+12>>2]=HEAP32[$12+12>>2]|0; + ;HEAP32[$$byval_copy94>>2]=HEAP32[$13>>2]|0;HEAP32[$$byval_copy94+4>>2]=HEAP32[$13+4>>2]|0;HEAP32[$$byval_copy94+8>>2]=HEAP32[$13+8>>2]|0;HEAP32[$$byval_copy94+12>>2]=HEAP32[$13+12>>2]|0; + ;HEAP32[$$byval_copy95>>2]=HEAP32[$14>>2]|0;HEAP32[$$byval_copy95+4>>2]=HEAP32[$14+4>>2]|0; + ;HEAP8[$color01$32$byval_copy96>>0]=HEAP8[161540>>0]|0;HEAP8[$color01$32$byval_copy96+1>>0]=HEAP8[161540+1>>0]|0;HEAP8[$color01$32$byval_copy96+2>>0]=HEAP8[161540+2>>0]|0;HEAP8[$color01$32$byval_copy96+3>>0]=HEAP8[161540+3>>0]|0; + _DrawTexturePro($atlas02$byval_copy92,$$byval_copy93,$$byval_copy94,$$byval_copy95,0.0,$color01$32$byval_copy96); + HEAP32[$15>>2] = 2013; + $109 = ((($15)) + 4|0); + HEAP32[$109>>2] = 2; + $110 = ((($15)) + 8|0); + HEAP32[$110>>2] = 31; + $111 = ((($15)) + 12|0); + HEAP32[$111>>2] = 334; + $112 = +HEAPF32[40329]; + $113 = (~~(($112))); + $114 = (($113) + 700)|0; + HEAP32[$16>>2] = $114; + $115 = ((($16)) + 4|0); + HEAP32[$115>>2] = 67; + $116 = ((($16)) + 8|0); + HEAP32[$116>>2] = 62; + $117 = ((($16)) + 12|0); + HEAP32[$117>>2] = 668; + HEAPF32[$17>>2] = 0.0; + $118 = ((($17)) + 4|0); + HEAPF32[$118>>2] = 0.0; + ;HEAP32[$atlas02$byval_copy92>>2]=HEAP32[25532>>2]|0;HEAP32[$atlas02$byval_copy92+4>>2]=HEAP32[25532+4>>2]|0;HEAP32[$atlas02$byval_copy92+8>>2]=HEAP32[25532+8>>2]|0;HEAP32[$atlas02$byval_copy92+12>>2]=HEAP32[25532+12>>2]|0;HEAP32[$atlas02$byval_copy92+16>>2]=HEAP32[25532+16>>2]|0; + ;HEAP32[$$byval_copy93>>2]=HEAP32[$15>>2]|0;HEAP32[$$byval_copy93+4>>2]=HEAP32[$15+4>>2]|0;HEAP32[$$byval_copy93+8>>2]=HEAP32[$15+8>>2]|0;HEAP32[$$byval_copy93+12>>2]=HEAP32[$15+12>>2]|0; + ;HEAP32[$$byval_copy94>>2]=HEAP32[$16>>2]|0;HEAP32[$$byval_copy94+4>>2]=HEAP32[$16+4>>2]|0;HEAP32[$$byval_copy94+8>>2]=HEAP32[$16+8>>2]|0;HEAP32[$$byval_copy94+12>>2]=HEAP32[$16+12>>2]|0; + ;HEAP32[$$byval_copy95>>2]=HEAP32[$17>>2]|0;HEAP32[$$byval_copy95+4>>2]=HEAP32[$17+4>>2]|0; + ;HEAP8[$color01$32$byval_copy96>>0]=HEAP8[161540>>0]|0;HEAP8[$color01$32$byval_copy96+1>>0]=HEAP8[161540+1>>0]|0;HEAP8[$color01$32$byval_copy96+2>>0]=HEAP8[161540+2>>0]|0;HEAP8[$color01$32$byval_copy96+3>>0]=HEAP8[161540+3>>0]|0; + _DrawTexturePro($atlas02$byval_copy92,$$byval_copy93,$$byval_copy94,$$byval_copy95,0.0,$color01$32$byval_copy96); + HEAP32[$18>>2] = 633; + $119 = ((($18)) + 4|0); + HEAP32[$119>>2] = 364; + $120 = ((($18)) + 8|0); + HEAP32[$120>>2] = 25; + $121 = ((($18)) + 12|0); + HEAP32[$121>>2] = 349; + $122 = +HEAPF32[40329]; + $123 = (~~(($122))); + $124 = (($123) + 840)|0; + HEAP32[$19>>2] = $124; + $125 = ((($19)) + 4|0); + HEAP32[$125>>2] = 67; + $126 = ((($19)) + 8|0); + HEAP32[$126>>2] = 50; + $127 = ((($19)) + 12|0); + HEAP32[$127>>2] = 698; + HEAPF32[$20>>2] = 0.0; + $128 = ((($20)) + 4|0); + HEAPF32[$128>>2] = 0.0; + ;HEAP32[$atlas02$byval_copy92>>2]=HEAP32[25532>>2]|0;HEAP32[$atlas02$byval_copy92+4>>2]=HEAP32[25532+4>>2]|0;HEAP32[$atlas02$byval_copy92+8>>2]=HEAP32[25532+8>>2]|0;HEAP32[$atlas02$byval_copy92+12>>2]=HEAP32[25532+12>>2]|0;HEAP32[$atlas02$byval_copy92+16>>2]=HEAP32[25532+16>>2]|0; + ;HEAP32[$$byval_copy93>>2]=HEAP32[$18>>2]|0;HEAP32[$$byval_copy93+4>>2]=HEAP32[$18+4>>2]|0;HEAP32[$$byval_copy93+8>>2]=HEAP32[$18+8>>2]|0;HEAP32[$$byval_copy93+12>>2]=HEAP32[$18+12>>2]|0; + ;HEAP32[$$byval_copy94>>2]=HEAP32[$19>>2]|0;HEAP32[$$byval_copy94+4>>2]=HEAP32[$19+4>>2]|0;HEAP32[$$byval_copy94+8>>2]=HEAP32[$19+8>>2]|0;HEAP32[$$byval_copy94+12>>2]=HEAP32[$19+12>>2]|0; + ;HEAP32[$$byval_copy95>>2]=HEAP32[$20>>2]|0;HEAP32[$$byval_copy95+4>>2]=HEAP32[$20+4>>2]|0; + ;HEAP8[$color01$32$byval_copy96>>0]=HEAP8[161540>>0]|0;HEAP8[$color01$32$byval_copy96+1>>0]=HEAP8[161540+1>>0]|0;HEAP8[$color01$32$byval_copy96+2>>0]=HEAP8[161540+2>>0]|0;HEAP8[$color01$32$byval_copy96+3>>0]=HEAP8[161540+3>>0]|0; + _DrawTexturePro($atlas02$byval_copy92,$$byval_copy93,$$byval_copy94,$$byval_copy95,0.0,$color01$32$byval_copy96); + HEAP32[$21>>2] = 1930; + $129 = ((($21)) + 4|0); + HEAP32[$129>>2] = 338; + $130 = ((($21)) + 8|0); + HEAP32[$130>>2] = 32; + $131 = ((($21)) + 12|0); + HEAP32[$131>>2] = 331; + $132 = +HEAPF32[40329]; + $133 = (~~(($132))); + $134 = (($133) + 980)|0; + HEAP32[$22>>2] = $134; + $135 = ((($22)) + 4|0); + HEAP32[$135>>2] = 67; + $136 = ((($22)) + 8|0); + HEAP32[$136>>2] = 64; + $137 = ((($22)) + 12|0); + HEAP32[$137>>2] = 662; + HEAPF32[$23>>2] = 0.0; + $138 = ((($23)) + 4|0); + HEAPF32[$138>>2] = 0.0; + ;HEAP32[$atlas02$byval_copy92>>2]=HEAP32[25532>>2]|0;HEAP32[$atlas02$byval_copy92+4>>2]=HEAP32[25532+4>>2]|0;HEAP32[$atlas02$byval_copy92+8>>2]=HEAP32[25532+8>>2]|0;HEAP32[$atlas02$byval_copy92+12>>2]=HEAP32[25532+12>>2]|0;HEAP32[$atlas02$byval_copy92+16>>2]=HEAP32[25532+16>>2]|0; + ;HEAP32[$$byval_copy93>>2]=HEAP32[$21>>2]|0;HEAP32[$$byval_copy93+4>>2]=HEAP32[$21+4>>2]|0;HEAP32[$$byval_copy93+8>>2]=HEAP32[$21+8>>2]|0;HEAP32[$$byval_copy93+12>>2]=HEAP32[$21+12>>2]|0; + ;HEAP32[$$byval_copy94>>2]=HEAP32[$22>>2]|0;HEAP32[$$byval_copy94+4>>2]=HEAP32[$22+4>>2]|0;HEAP32[$$byval_copy94+8>>2]=HEAP32[$22+8>>2]|0;HEAP32[$$byval_copy94+12>>2]=HEAP32[$22+12>>2]|0; + ;HEAP32[$$byval_copy95>>2]=HEAP32[$23>>2]|0;HEAP32[$$byval_copy95+4>>2]=HEAP32[$23+4>>2]|0; + ;HEAP8[$color01$32$byval_copy96>>0]=HEAP8[161540>>0]|0;HEAP8[$color01$32$byval_copy96+1>>0]=HEAP8[161540+1>>0]|0;HEAP8[$color01$32$byval_copy96+2>>0]=HEAP8[161540+2>>0]|0;HEAP8[$color01$32$byval_copy96+3>>0]=HEAP8[161540+3>>0]|0; + _DrawTexturePro($atlas02$byval_copy92,$$byval_copy93,$$byval_copy94,$$byval_copy95,0.0,$color01$32$byval_copy96); + HEAP32[$24>>2] = 1146; + $139 = ((($24)) + 4|0); + HEAP32[$139>>2] = 160; + $140 = ((($24)) + 8|0); + HEAP32[$140>>2] = 640; + $141 = ((($24)) + 12|0); + HEAP32[$141>>2] = 77; + $142 = +HEAPF32[40329]; + $143 = (~~(($142))); + HEAP32[$25>>2] = $143; + $144 = ((($25)) + 4|0); + HEAP32[$144>>2] = 509; + $145 = ((($25)) + 8|0); + HEAP32[$145>>2] = 1280; + $146 = ((($25)) + 12|0); + HEAP32[$146>>2] = 154; + HEAPF32[$26>>2] = 0.0; + $147 = ((($26)) + 4|0); + HEAPF32[$147>>2] = 0.0; + ;HEAP32[$atlas02$byval_copy92>>2]=HEAP32[25532>>2]|0;HEAP32[$atlas02$byval_copy92+4>>2]=HEAP32[25532+4>>2]|0;HEAP32[$atlas02$byval_copy92+8>>2]=HEAP32[25532+8>>2]|0;HEAP32[$atlas02$byval_copy92+12>>2]=HEAP32[25532+12>>2]|0;HEAP32[$atlas02$byval_copy92+16>>2]=HEAP32[25532+16>>2]|0; + ;HEAP32[$$byval_copy93>>2]=HEAP32[$24>>2]|0;HEAP32[$$byval_copy93+4>>2]=HEAP32[$24+4>>2]|0;HEAP32[$$byval_copy93+8>>2]=HEAP32[$24+8>>2]|0;HEAP32[$$byval_copy93+12>>2]=HEAP32[$24+12>>2]|0; + ;HEAP32[$$byval_copy94>>2]=HEAP32[$25>>2]|0;HEAP32[$$byval_copy94+4>>2]=HEAP32[$25+4>>2]|0;HEAP32[$$byval_copy94+8>>2]=HEAP32[$25+8>>2]|0;HEAP32[$$byval_copy94+12>>2]=HEAP32[$25+12>>2]|0; + ;HEAP32[$$byval_copy95>>2]=HEAP32[$26>>2]|0;HEAP32[$$byval_copy95+4>>2]=HEAP32[$26+4>>2]|0; + ;HEAP8[$color01$32$byval_copy96>>0]=HEAP8[161536>>0]|0;HEAP8[$color01$32$byval_copy96+1>>0]=HEAP8[161536+1>>0]|0;HEAP8[$color01$32$byval_copy96+2>>0]=HEAP8[161536+2>>0]|0;HEAP8[$color01$32$byval_copy96+3>>0]=HEAP8[161536+3>>0]|0; + _DrawTexturePro($atlas02$byval_copy92,$$byval_copy93,$$byval_copy94,$$byval_copy95,0.0,$color01$32$byval_copy96); + HEAP32[$27>>2] = 1146; + $148 = ((($27)) + 4|0); + HEAP32[$148>>2] = 237; + $149 = ((($27)) + 8|0); + HEAP32[$149>>2] = 640; + $150 = ((($27)) + 12|0); + HEAP32[$150>>2] = -77; + $151 = +HEAPF32[40329]; + $152 = (~~(($151))); + HEAP32[$28>>2] = $152; + $153 = ((($28)) + 4|0); + HEAP32[$153>>2] = 19; + $154 = ((($28)) + 8|0); + HEAP32[$154>>2] = 1280; + $155 = ((($28)) + 12|0); + HEAP32[$155>>2] = 154; + HEAPF32[$29>>2] = 0.0; + $156 = ((($29)) + 4|0); + HEAPF32[$156>>2] = 0.0; + ;HEAP32[$atlas02$byval_copy92>>2]=HEAP32[25532>>2]|0;HEAP32[$atlas02$byval_copy92+4>>2]=HEAP32[25532+4>>2]|0;HEAP32[$atlas02$byval_copy92+8>>2]=HEAP32[25532+8>>2]|0;HEAP32[$atlas02$byval_copy92+12>>2]=HEAP32[25532+12>>2]|0;HEAP32[$atlas02$byval_copy92+16>>2]=HEAP32[25532+16>>2]|0; + ;HEAP32[$$byval_copy93>>2]=HEAP32[$27>>2]|0;HEAP32[$$byval_copy93+4>>2]=HEAP32[$27+4>>2]|0;HEAP32[$$byval_copy93+8>>2]=HEAP32[$27+8>>2]|0;HEAP32[$$byval_copy93+12>>2]=HEAP32[$27+12>>2]|0; + ;HEAP32[$$byval_copy94>>2]=HEAP32[$28>>2]|0;HEAP32[$$byval_copy94+4>>2]=HEAP32[$28+4>>2]|0;HEAP32[$$byval_copy94+8>>2]=HEAP32[$28+8>>2]|0;HEAP32[$$byval_copy94+12>>2]=HEAP32[$28+12>>2]|0; + ;HEAP32[$$byval_copy95>>2]=HEAP32[$29>>2]|0;HEAP32[$$byval_copy95+4>>2]=HEAP32[$29+4>>2]|0; + ;HEAP8[$color01$32$byval_copy96>>0]=HEAP8[161536>>0]|0;HEAP8[$color01$32$byval_copy96+1>>0]=HEAP8[161536+1>>0]|0;HEAP8[$color01$32$byval_copy96+2>>0]=HEAP8[161536+2>>0]|0;HEAP8[$color01$32$byval_copy96+3>>0]=HEAP8[161536+3>>0]|0; + _DrawTexturePro($atlas02$byval_copy92,$$byval_copy93,$$byval_copy94,$$byval_copy95,0.0,$color01$32$byval_copy96); + HEAP32[$30>>2] = 718; + $157 = ((($30)) + 4|0); + HEAP32[$157>>2] = 315; + $158 = ((($30)) + 8|0); + HEAP32[$158>>2] = 26; + $159 = ((($30)) + 12|0); + HEAP32[$159>>2] = 332; + $160 = +HEAPF32[40329]; + $161 = (~~(($160))); + $162 = (_GetScreenWidth()|0); + $163 = (($162) + 140)|0; + $164 = (($163) + ($161))|0; + HEAP32[$31>>2] = $164; + $165 = ((($31)) + 4|0); + HEAP32[$165>>2] = 67; + $166 = ((($31)) + 8|0); + HEAP32[$166>>2] = 52; + $167 = ((($31)) + 12|0); + HEAP32[$167>>2] = 664; + HEAPF32[$32>>2] = 0.0; + $168 = ((($32)) + 4|0); + HEAPF32[$168>>2] = 0.0; + ;HEAP32[$atlas02$byval_copy92>>2]=HEAP32[25532>>2]|0;HEAP32[$atlas02$byval_copy92+4>>2]=HEAP32[25532+4>>2]|0;HEAP32[$atlas02$byval_copy92+8>>2]=HEAP32[25532+8>>2]|0;HEAP32[$atlas02$byval_copy92+12>>2]=HEAP32[25532+12>>2]|0;HEAP32[$atlas02$byval_copy92+16>>2]=HEAP32[25532+16>>2]|0; + ;HEAP32[$$byval_copy93>>2]=HEAP32[$30>>2]|0;HEAP32[$$byval_copy93+4>>2]=HEAP32[$30+4>>2]|0;HEAP32[$$byval_copy93+8>>2]=HEAP32[$30+8>>2]|0;HEAP32[$$byval_copy93+12>>2]=HEAP32[$30+12>>2]|0; + ;HEAP32[$$byval_copy94>>2]=HEAP32[$31>>2]|0;HEAP32[$$byval_copy94+4>>2]=HEAP32[$31+4>>2]|0;HEAP32[$$byval_copy94+8>>2]=HEAP32[$31+8>>2]|0;HEAP32[$$byval_copy94+12>>2]=HEAP32[$31+12>>2]|0; + ;HEAP32[$$byval_copy95>>2]=HEAP32[$32>>2]|0;HEAP32[$$byval_copy95+4>>2]=HEAP32[$32+4>>2]|0; + ;HEAP8[$color01$32$byval_copy96>>0]=HEAP8[161540>>0]|0;HEAP8[$color01$32$byval_copy96+1>>0]=HEAP8[161540+1>>0]|0;HEAP8[$color01$32$byval_copy96+2>>0]=HEAP8[161540+2>>0]|0;HEAP8[$color01$32$byval_copy96+3>>0]=HEAP8[161540+3>>0]|0; + _DrawTexturePro($atlas02$byval_copy92,$$byval_copy93,$$byval_copy94,$$byval_copy95,0.0,$color01$32$byval_copy96); + HEAP32[$33>>2] = 774; + $169 = ((($33)) + 4|0); + HEAP32[$169>>2] = 315; + $170 = ((($33)) + 8|0); + HEAP32[$170>>2] = 15; + $171 = ((($33)) + 12|0); + HEAP32[$171>>2] = 329; + $172 = +HEAPF32[40329]; + $173 = (~~(($172))); + $174 = (_GetScreenWidth()|0); + $175 = (($174) + 280)|0; + $176 = (($175) + ($173))|0; + HEAP32[$34>>2] = $176; + $177 = ((($34)) + 4|0); + HEAP32[$177>>2] = 67; + $178 = ((($34)) + 8|0); + HEAP32[$178>>2] = 30; + $179 = ((($34)) + 12|0); + HEAP32[$179>>2] = 658; + HEAPF32[$35>>2] = 0.0; + $180 = ((($35)) + 4|0); + HEAPF32[$180>>2] = 0.0; + ;HEAP32[$atlas02$byval_copy92>>2]=HEAP32[25532>>2]|0;HEAP32[$atlas02$byval_copy92+4>>2]=HEAP32[25532+4>>2]|0;HEAP32[$atlas02$byval_copy92+8>>2]=HEAP32[25532+8>>2]|0;HEAP32[$atlas02$byval_copy92+12>>2]=HEAP32[25532+12>>2]|0;HEAP32[$atlas02$byval_copy92+16>>2]=HEAP32[25532+16>>2]|0; + ;HEAP32[$$byval_copy93>>2]=HEAP32[$33>>2]|0;HEAP32[$$byval_copy93+4>>2]=HEAP32[$33+4>>2]|0;HEAP32[$$byval_copy93+8>>2]=HEAP32[$33+8>>2]|0;HEAP32[$$byval_copy93+12>>2]=HEAP32[$33+12>>2]|0; + ;HEAP32[$$byval_copy94>>2]=HEAP32[$34>>2]|0;HEAP32[$$byval_copy94+4>>2]=HEAP32[$34+4>>2]|0;HEAP32[$$byval_copy94+8>>2]=HEAP32[$34+8>>2]|0;HEAP32[$$byval_copy94+12>>2]=HEAP32[$34+12>>2]|0; + ;HEAP32[$$byval_copy95>>2]=HEAP32[$35>>2]|0;HEAP32[$$byval_copy95+4>>2]=HEAP32[$35+4>>2]|0; + ;HEAP8[$color01$32$byval_copy96>>0]=HEAP8[161540>>0]|0;HEAP8[$color01$32$byval_copy96+1>>0]=HEAP8[161540+1>>0]|0;HEAP8[$color01$32$byval_copy96+2>>0]=HEAP8[161540+2>>0]|0;HEAP8[$color01$32$byval_copy96+3>>0]=HEAP8[161540+3>>0]|0; + _DrawTexturePro($atlas02$byval_copy92,$$byval_copy93,$$byval_copy94,$$byval_copy95,0.0,$color01$32$byval_copy96); + HEAP32[$36>>2] = 1900; + $181 = ((($36)) + 4|0); + HEAP32[$181>>2] = 2; + $182 = ((($36)) + 8|0); + HEAP32[$182>>2] = 38; + $183 = ((($36)) + 12|0); + HEAP32[$183>>2] = 334; + $184 = +HEAPF32[40329]; + $185 = (~~(($184))); + $186 = (_GetScreenWidth()|0); + $187 = (($186) + 420)|0; + $188 = (($187) + ($185))|0; + HEAP32[$37>>2] = $188; + $189 = ((($37)) + 4|0); + HEAP32[$189>>2] = 67; + $190 = ((($37)) + 8|0); + HEAP32[$190>>2] = 76; + $191 = ((($37)) + 12|0); + HEAP32[$191>>2] = 668; + HEAPF32[$38>>2] = 0.0; + $192 = ((($38)) + 4|0); + HEAPF32[$192>>2] = 0.0; + ;HEAP32[$atlas02$byval_copy92>>2]=HEAP32[25532>>2]|0;HEAP32[$atlas02$byval_copy92+4>>2]=HEAP32[25532+4>>2]|0;HEAP32[$atlas02$byval_copy92+8>>2]=HEAP32[25532+8>>2]|0;HEAP32[$atlas02$byval_copy92+12>>2]=HEAP32[25532+12>>2]|0;HEAP32[$atlas02$byval_copy92+16>>2]=HEAP32[25532+16>>2]|0; + ;HEAP32[$$byval_copy93>>2]=HEAP32[$36>>2]|0;HEAP32[$$byval_copy93+4>>2]=HEAP32[$36+4>>2]|0;HEAP32[$$byval_copy93+8>>2]=HEAP32[$36+8>>2]|0;HEAP32[$$byval_copy93+12>>2]=HEAP32[$36+12>>2]|0; + ;HEAP32[$$byval_copy94>>2]=HEAP32[$37>>2]|0;HEAP32[$$byval_copy94+4>>2]=HEAP32[$37+4>>2]|0;HEAP32[$$byval_copy94+8>>2]=HEAP32[$37+8>>2]|0;HEAP32[$$byval_copy94+12>>2]=HEAP32[$37+12>>2]|0; + ;HEAP32[$$byval_copy95>>2]=HEAP32[$38>>2]|0;HEAP32[$$byval_copy95+4>>2]=HEAP32[$38+4>>2]|0; + ;HEAP8[$color01$32$byval_copy96>>0]=HEAP8[161540>>0]|0;HEAP8[$color01$32$byval_copy96+1>>0]=HEAP8[161540+1>>0]|0;HEAP8[$color01$32$byval_copy96+2>>0]=HEAP8[161540+2>>0]|0;HEAP8[$color01$32$byval_copy96+3>>0]=HEAP8[161540+3>>0]|0; + _DrawTexturePro($atlas02$byval_copy92,$$byval_copy93,$$byval_copy94,$$byval_copy95,0.0,$color01$32$byval_copy96); + HEAP32[$39>>2] = 538; + $193 = ((($39)) + 4|0); + HEAP32[$193>>2] = 364; + $194 = ((($39)) + 8|0); + HEAP32[$194>>2] = 32; + $195 = ((($39)) + 12|0); + HEAP32[$195>>2] = 349; + $196 = +HEAPF32[40329]; + $197 = (~~(($196))); + $198 = (_GetScreenWidth()|0); + $199 = (($198) + 560)|0; + $200 = (($199) + ($197))|0; + HEAP32[$40>>2] = $200; + $201 = ((($40)) + 4|0); + HEAP32[$201>>2] = 67; + $202 = ((($40)) + 8|0); + HEAP32[$202>>2] = 64; + $203 = ((($40)) + 12|0); + HEAP32[$203>>2] = 698; + HEAPF32[$41>>2] = 0.0; + $204 = ((($41)) + 4|0); + HEAPF32[$204>>2] = 0.0; + ;HEAP32[$atlas02$byval_copy92>>2]=HEAP32[25532>>2]|0;HEAP32[$atlas02$byval_copy92+4>>2]=HEAP32[25532+4>>2]|0;HEAP32[$atlas02$byval_copy92+8>>2]=HEAP32[25532+8>>2]|0;HEAP32[$atlas02$byval_copy92+12>>2]=HEAP32[25532+12>>2]|0;HEAP32[$atlas02$byval_copy92+16>>2]=HEAP32[25532+16>>2]|0; + ;HEAP32[$$byval_copy93>>2]=HEAP32[$39>>2]|0;HEAP32[$$byval_copy93+4>>2]=HEAP32[$39+4>>2]|0;HEAP32[$$byval_copy93+8>>2]=HEAP32[$39+8>>2]|0;HEAP32[$$byval_copy93+12>>2]=HEAP32[$39+12>>2]|0; + ;HEAP32[$$byval_copy94>>2]=HEAP32[$40>>2]|0;HEAP32[$$byval_copy94+4>>2]=HEAP32[$40+4>>2]|0;HEAP32[$$byval_copy94+8>>2]=HEAP32[$40+8>>2]|0;HEAP32[$$byval_copy94+12>>2]=HEAP32[$40+12>>2]|0; + ;HEAP32[$$byval_copy95>>2]=HEAP32[$41>>2]|0;HEAP32[$$byval_copy95+4>>2]=HEAP32[$41+4>>2]|0; + ;HEAP8[$color01$32$byval_copy96>>0]=HEAP8[161540>>0]|0;HEAP8[$color01$32$byval_copy96+1>>0]=HEAP8[161540+1>>0]|0;HEAP8[$color01$32$byval_copy96+2>>0]=HEAP8[161540+2>>0]|0;HEAP8[$color01$32$byval_copy96+3>>0]=HEAP8[161540+3>>0]|0; + _DrawTexturePro($atlas02$byval_copy92,$$byval_copy93,$$byval_copy94,$$byval_copy95,0.0,$color01$32$byval_copy96); + HEAP32[$42>>2] = 2013; + $205 = ((($42)) + 4|0); + HEAP32[$205>>2] = 2; + $206 = ((($42)) + 8|0); + HEAP32[$206>>2] = 31; + $207 = ((($42)) + 12|0); + HEAP32[$207>>2] = 334; + $208 = +HEAPF32[40329]; + $209 = (~~(($208))); + $210 = (_GetScreenWidth()|0); + $211 = (($210) + 700)|0; + $212 = (($211) + ($209))|0; + HEAP32[$43>>2] = $212; + $213 = ((($43)) + 4|0); + HEAP32[$213>>2] = 67; + $214 = ((($43)) + 8|0); + HEAP32[$214>>2] = 62; + $215 = ((($43)) + 12|0); + HEAP32[$215>>2] = 668; + HEAPF32[$44>>2] = 0.0; + $216 = ((($44)) + 4|0); + HEAPF32[$216>>2] = 0.0; + ;HEAP32[$atlas02$byval_copy92>>2]=HEAP32[25532>>2]|0;HEAP32[$atlas02$byval_copy92+4>>2]=HEAP32[25532+4>>2]|0;HEAP32[$atlas02$byval_copy92+8>>2]=HEAP32[25532+8>>2]|0;HEAP32[$atlas02$byval_copy92+12>>2]=HEAP32[25532+12>>2]|0;HEAP32[$atlas02$byval_copy92+16>>2]=HEAP32[25532+16>>2]|0; + ;HEAP32[$$byval_copy93>>2]=HEAP32[$42>>2]|0;HEAP32[$$byval_copy93+4>>2]=HEAP32[$42+4>>2]|0;HEAP32[$$byval_copy93+8>>2]=HEAP32[$42+8>>2]|0;HEAP32[$$byval_copy93+12>>2]=HEAP32[$42+12>>2]|0; + ;HEAP32[$$byval_copy94>>2]=HEAP32[$43>>2]|0;HEAP32[$$byval_copy94+4>>2]=HEAP32[$43+4>>2]|0;HEAP32[$$byval_copy94+8>>2]=HEAP32[$43+8>>2]|0;HEAP32[$$byval_copy94+12>>2]=HEAP32[$43+12>>2]|0; + ;HEAP32[$$byval_copy95>>2]=HEAP32[$44>>2]|0;HEAP32[$$byval_copy95+4>>2]=HEAP32[$44+4>>2]|0; + ;HEAP8[$color01$32$byval_copy96>>0]=HEAP8[161540>>0]|0;HEAP8[$color01$32$byval_copy96+1>>0]=HEAP8[161540+1>>0]|0;HEAP8[$color01$32$byval_copy96+2>>0]=HEAP8[161540+2>>0]|0;HEAP8[$color01$32$byval_copy96+3>>0]=HEAP8[161540+3>>0]|0; + _DrawTexturePro($atlas02$byval_copy92,$$byval_copy93,$$byval_copy94,$$byval_copy95,0.0,$color01$32$byval_copy96); + HEAP32[$45>>2] = 633; + $217 = ((($45)) + 4|0); + HEAP32[$217>>2] = 364; + $218 = ((($45)) + 8|0); + HEAP32[$218>>2] = 25; + $219 = ((($45)) + 12|0); + HEAP32[$219>>2] = 349; + $220 = +HEAPF32[40329]; + $221 = (~~(($220))); + $222 = (_GetScreenWidth()|0); + $223 = (($222) + 840)|0; + $224 = (($223) + ($221))|0; + HEAP32[$46>>2] = $224; + $225 = ((($46)) + 4|0); + HEAP32[$225>>2] = 67; + $226 = ((($46)) + 8|0); + HEAP32[$226>>2] = 50; + $227 = ((($46)) + 12|0); + HEAP32[$227>>2] = 698; + HEAPF32[$47>>2] = 0.0; + $228 = ((($47)) + 4|0); + HEAPF32[$228>>2] = 0.0; + ;HEAP32[$atlas02$byval_copy92>>2]=HEAP32[25532>>2]|0;HEAP32[$atlas02$byval_copy92+4>>2]=HEAP32[25532+4>>2]|0;HEAP32[$atlas02$byval_copy92+8>>2]=HEAP32[25532+8>>2]|0;HEAP32[$atlas02$byval_copy92+12>>2]=HEAP32[25532+12>>2]|0;HEAP32[$atlas02$byval_copy92+16>>2]=HEAP32[25532+16>>2]|0; + ;HEAP32[$$byval_copy93>>2]=HEAP32[$45>>2]|0;HEAP32[$$byval_copy93+4>>2]=HEAP32[$45+4>>2]|0;HEAP32[$$byval_copy93+8>>2]=HEAP32[$45+8>>2]|0;HEAP32[$$byval_copy93+12>>2]=HEAP32[$45+12>>2]|0; + ;HEAP32[$$byval_copy94>>2]=HEAP32[$46>>2]|0;HEAP32[$$byval_copy94+4>>2]=HEAP32[$46+4>>2]|0;HEAP32[$$byval_copy94+8>>2]=HEAP32[$46+8>>2]|0;HEAP32[$$byval_copy94+12>>2]=HEAP32[$46+12>>2]|0; + ;HEAP32[$$byval_copy95>>2]=HEAP32[$47>>2]|0;HEAP32[$$byval_copy95+4>>2]=HEAP32[$47+4>>2]|0; + ;HEAP8[$color01$32$byval_copy96>>0]=HEAP8[161540>>0]|0;HEAP8[$color01$32$byval_copy96+1>>0]=HEAP8[161540+1>>0]|0;HEAP8[$color01$32$byval_copy96+2>>0]=HEAP8[161540+2>>0]|0;HEAP8[$color01$32$byval_copy96+3>>0]=HEAP8[161540+3>>0]|0; + _DrawTexturePro($atlas02$byval_copy92,$$byval_copy93,$$byval_copy94,$$byval_copy95,0.0,$color01$32$byval_copy96); + HEAP32[$48>>2] = 1930; + $229 = ((($48)) + 4|0); + HEAP32[$229>>2] = 338; + $230 = ((($48)) + 8|0); + HEAP32[$230>>2] = 32; + $231 = ((($48)) + 12|0); + HEAP32[$231>>2] = 331; + $232 = +HEAPF32[40329]; + $233 = (~~(($232))); + $234 = (_GetScreenWidth()|0); + $235 = (($234) + 980)|0; + $236 = (($235) + ($233))|0; + HEAP32[$49>>2] = $236; + $237 = ((($49)) + 4|0); + HEAP32[$237>>2] = 67; + $238 = ((($49)) + 8|0); + HEAP32[$238>>2] = 64; + $239 = ((($49)) + 12|0); + HEAP32[$239>>2] = 662; + HEAPF32[$50>>2] = 0.0; + $240 = ((($50)) + 4|0); + HEAPF32[$240>>2] = 0.0; + ;HEAP32[$atlas02$byval_copy92>>2]=HEAP32[25532>>2]|0;HEAP32[$atlas02$byval_copy92+4>>2]=HEAP32[25532+4>>2]|0;HEAP32[$atlas02$byval_copy92+8>>2]=HEAP32[25532+8>>2]|0;HEAP32[$atlas02$byval_copy92+12>>2]=HEAP32[25532+12>>2]|0;HEAP32[$atlas02$byval_copy92+16>>2]=HEAP32[25532+16>>2]|0; + ;HEAP32[$$byval_copy93>>2]=HEAP32[$48>>2]|0;HEAP32[$$byval_copy93+4>>2]=HEAP32[$48+4>>2]|0;HEAP32[$$byval_copy93+8>>2]=HEAP32[$48+8>>2]|0;HEAP32[$$byval_copy93+12>>2]=HEAP32[$48+12>>2]|0; + ;HEAP32[$$byval_copy94>>2]=HEAP32[$49>>2]|0;HEAP32[$$byval_copy94+4>>2]=HEAP32[$49+4>>2]|0;HEAP32[$$byval_copy94+8>>2]=HEAP32[$49+8>>2]|0;HEAP32[$$byval_copy94+12>>2]=HEAP32[$49+12>>2]|0; + ;HEAP32[$$byval_copy95>>2]=HEAP32[$50>>2]|0;HEAP32[$$byval_copy95+4>>2]=HEAP32[$50+4>>2]|0; + ;HEAP8[$color01$32$byval_copy96>>0]=HEAP8[161540>>0]|0;HEAP8[$color01$32$byval_copy96+1>>0]=HEAP8[161540+1>>0]|0;HEAP8[$color01$32$byval_copy96+2>>0]=HEAP8[161540+2>>0]|0;HEAP8[$color01$32$byval_copy96+3>>0]=HEAP8[161540+3>>0]|0; + _DrawTexturePro($atlas02$byval_copy92,$$byval_copy93,$$byval_copy94,$$byval_copy95,0.0,$color01$32$byval_copy96); + HEAP32[$51>>2] = 1998; + $241 = ((($51)) + 4|0); + HEAP32[$241>>2] = 338; + $242 = ((($51)) + 8|0); + HEAP32[$242>>2] = 28; + $243 = ((($51)) + 12|0); + HEAP32[$243>>2] = 335; + $244 = +HEAPF32[40329]; + $245 = (~~(($244))); + $246 = (_GetScreenWidth()|0); + $247 = (($245) + ($246))|0; + HEAP32[$52>>2] = $247; + $248 = ((($52)) + 4|0); + HEAP32[$248>>2] = 67; + $249 = ((($52)) + 8|0); + HEAP32[$249>>2] = 56; + $250 = ((($52)) + 12|0); + HEAP32[$250>>2] = 670; + HEAPF32[$53>>2] = 0.0; + $251 = ((($53)) + 4|0); + HEAPF32[$251>>2] = 0.0; + ;HEAP32[$atlas02$byval_copy92>>2]=HEAP32[25532>>2]|0;HEAP32[$atlas02$byval_copy92+4>>2]=HEAP32[25532+4>>2]|0;HEAP32[$atlas02$byval_copy92+8>>2]=HEAP32[25532+8>>2]|0;HEAP32[$atlas02$byval_copy92+12>>2]=HEAP32[25532+12>>2]|0;HEAP32[$atlas02$byval_copy92+16>>2]=HEAP32[25532+16>>2]|0; + ;HEAP32[$$byval_copy93>>2]=HEAP32[$51>>2]|0;HEAP32[$$byval_copy93+4>>2]=HEAP32[$51+4>>2]|0;HEAP32[$$byval_copy93+8>>2]=HEAP32[$51+8>>2]|0;HEAP32[$$byval_copy93+12>>2]=HEAP32[$51+12>>2]|0; + ;HEAP32[$$byval_copy94>>2]=HEAP32[$52>>2]|0;HEAP32[$$byval_copy94+4>>2]=HEAP32[$52+4>>2]|0;HEAP32[$$byval_copy94+8>>2]=HEAP32[$52+8>>2]|0;HEAP32[$$byval_copy94+12>>2]=HEAP32[$52+12>>2]|0; + ;HEAP32[$$byval_copy95>>2]=HEAP32[$53>>2]|0;HEAP32[$$byval_copy95+4>>2]=HEAP32[$53+4>>2]|0; + ;HEAP8[$color01$32$byval_copy96>>0]=HEAP8[161540>>0]|0;HEAP8[$color01$32$byval_copy96+1>>0]=HEAP8[161540+1>>0]|0;HEAP8[$color01$32$byval_copy96+2>>0]=HEAP8[161540+2>>0]|0;HEAP8[$color01$32$byval_copy96+3>>0]=HEAP8[161540+3>>0]|0; + _DrawTexturePro($atlas02$byval_copy92,$$byval_copy93,$$byval_copy94,$$byval_copy95,0.0,$color01$32$byval_copy96); + HEAP32[$54>>2] = 1146; + $252 = ((($54)) + 4|0); + HEAP32[$252>>2] = 160; + $253 = ((($54)) + 8|0); + HEAP32[$253>>2] = 640; + $254 = ((($54)) + 12|0); + HEAP32[$254>>2] = 77; + $255 = +HEAPF32[40329]; + $256 = (~~(($255))); + $257 = (_GetScreenWidth()|0); + $258 = (($256) + ($257))|0; + HEAP32[$55>>2] = $258; + $259 = ((($55)) + 4|0); + HEAP32[$259>>2] = 509; + $260 = ((($55)) + 8|0); + HEAP32[$260>>2] = 1280; + $261 = ((($55)) + 12|0); + HEAP32[$261>>2] = 154; + HEAPF32[$56>>2] = 0.0; + $262 = ((($56)) + 4|0); + HEAPF32[$262>>2] = 0.0; + ;HEAP32[$atlas02$byval_copy92>>2]=HEAP32[25532>>2]|0;HEAP32[$atlas02$byval_copy92+4>>2]=HEAP32[25532+4>>2]|0;HEAP32[$atlas02$byval_copy92+8>>2]=HEAP32[25532+8>>2]|0;HEAP32[$atlas02$byval_copy92+12>>2]=HEAP32[25532+12>>2]|0;HEAP32[$atlas02$byval_copy92+16>>2]=HEAP32[25532+16>>2]|0; + ;HEAP32[$$byval_copy93>>2]=HEAP32[$54>>2]|0;HEAP32[$$byval_copy93+4>>2]=HEAP32[$54+4>>2]|0;HEAP32[$$byval_copy93+8>>2]=HEAP32[$54+8>>2]|0;HEAP32[$$byval_copy93+12>>2]=HEAP32[$54+12>>2]|0; + ;HEAP32[$$byval_copy94>>2]=HEAP32[$55>>2]|0;HEAP32[$$byval_copy94+4>>2]=HEAP32[$55+4>>2]|0;HEAP32[$$byval_copy94+8>>2]=HEAP32[$55+8>>2]|0;HEAP32[$$byval_copy94+12>>2]=HEAP32[$55+12>>2]|0; + ;HEAP32[$$byval_copy95>>2]=HEAP32[$56>>2]|0;HEAP32[$$byval_copy95+4>>2]=HEAP32[$56+4>>2]|0; + ;HEAP8[$color01$32$byval_copy96>>0]=HEAP8[161536>>0]|0;HEAP8[$color01$32$byval_copy96+1>>0]=HEAP8[161536+1>>0]|0;HEAP8[$color01$32$byval_copy96+2>>0]=HEAP8[161536+2>>0]|0;HEAP8[$color01$32$byval_copy96+3>>0]=HEAP8[161536+3>>0]|0; + _DrawTexturePro($atlas02$byval_copy92,$$byval_copy93,$$byval_copy94,$$byval_copy95,0.0,$color01$32$byval_copy96); + HEAP32[$57>>2] = 1146; + $263 = ((($57)) + 4|0); + HEAP32[$263>>2] = 237; + $264 = ((($57)) + 8|0); + HEAP32[$264>>2] = 640; + $265 = ((($57)) + 12|0); + HEAP32[$265>>2] = -77; + $266 = +HEAPF32[40329]; + $267 = (~~(($266))); + $268 = (_GetScreenWidth()|0); + $269 = (($267) + ($268))|0; + HEAP32[$58>>2] = $269; + $270 = ((($58)) + 4|0); + HEAP32[$270>>2] = 19; + $271 = ((($58)) + 8|0); + HEAP32[$271>>2] = 1280; + $272 = ((($58)) + 12|0); + HEAP32[$272>>2] = 154; + HEAPF32[$59>>2] = 0.0; + $273 = ((($59)) + 4|0); + HEAPF32[$273>>2] = 0.0; + ;HEAP32[$atlas02$byval_copy92>>2]=HEAP32[25532>>2]|0;HEAP32[$atlas02$byval_copy92+4>>2]=HEAP32[25532+4>>2]|0;HEAP32[$atlas02$byval_copy92+8>>2]=HEAP32[25532+8>>2]|0;HEAP32[$atlas02$byval_copy92+12>>2]=HEAP32[25532+12>>2]|0;HEAP32[$atlas02$byval_copy92+16>>2]=HEAP32[25532+16>>2]|0; + ;HEAP32[$$byval_copy93>>2]=HEAP32[$57>>2]|0;HEAP32[$$byval_copy93+4>>2]=HEAP32[$57+4>>2]|0;HEAP32[$$byval_copy93+8>>2]=HEAP32[$57+8>>2]|0;HEAP32[$$byval_copy93+12>>2]=HEAP32[$57+12>>2]|0; + ;HEAP32[$$byval_copy94>>2]=HEAP32[$58>>2]|0;HEAP32[$$byval_copy94+4>>2]=HEAP32[$58+4>>2]|0;HEAP32[$$byval_copy94+8>>2]=HEAP32[$58+8>>2]|0;HEAP32[$$byval_copy94+12>>2]=HEAP32[$58+12>>2]|0; + ;HEAP32[$$byval_copy95>>2]=HEAP32[$59>>2]|0;HEAP32[$$byval_copy95+4>>2]=HEAP32[$59+4>>2]|0; + ;HEAP8[$color01$32$byval_copy96>>0]=HEAP8[161536>>0]|0;HEAP8[$color01$32$byval_copy96+1>>0]=HEAP8[161536+1>>0]|0;HEAP8[$color01$32$byval_copy96+2>>0]=HEAP8[161536+2>>0]|0;HEAP8[$color01$32$byval_copy96+3>>0]=HEAP8[161536+3>>0]|0; + _DrawTexturePro($atlas02$byval_copy92,$$byval_copy93,$$byval_copy94,$$byval_copy95,0.0,$color01$32$byval_copy96); + STACKTOP = sp;return; +} +function _DrawParallaxFront_65() { + var $$byval_copy93 = 0, $$byval_copy94 = 0, $$byval_copy95 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0.0, $111 = 0, $112 = 0; + var $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0.0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0; + var $131 = 0, $132 = 0, $133 = 0, $134 = 0.0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0.0, $147 = 0, $148 = 0, $149 = 0; + var $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0.0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0.0; + var $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0.0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0; + var $186 = 0, $187 = 0, $188 = 0, $189 = 0.0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0; + var $203 = 0.0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0.0, $218 = 0, $219 = 0, $22 = 0, $220 = 0; + var $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0.0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0; + var $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0.0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0; + var $258 = 0, $259 = 0.0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0.0, $274 = 0, $275 = 0; + var $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0.0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0; + var $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0.0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0; + var $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0; + var $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0.0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0; + var $73 = 0, $74 = 0.0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0.0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0; + var $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0.0, $99 = 0, $atlas02$byval_copy92 = 0, $color01$32$byval_copy96 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 880|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(880|0); + $color01$32$byval_copy96 = sp + 864|0; + $$byval_copy95 = sp + 856|0; + $$byval_copy94 = sp + 840|0; + $$byval_copy93 = sp + 824|0; + $atlas02$byval_copy92 = sp + 800|0; + $0 = sp + 784|0; + $1 = sp + 768|0; + $2 = sp + 760|0; + $3 = sp + 744|0; + $4 = sp + 728|0; + $5 = sp + 720|0; + $6 = sp + 704|0; + $7 = sp + 688|0; + $8 = sp + 680|0; + $9 = sp + 664|0; + $10 = sp + 648|0; + $11 = sp + 640|0; + $12 = sp + 624|0; + $13 = sp + 608|0; + $14 = sp + 600|0; + $15 = sp + 584|0; + $16 = sp + 568|0; + $17 = sp + 560|0; + $18 = sp + 544|0; + $19 = sp + 528|0; + $20 = sp + 520|0; + $21 = sp + 504|0; + $22 = sp + 488|0; + $23 = sp + 480|0; + $24 = sp + 464|0; + $25 = sp + 448|0; + $26 = sp + 440|0; + $27 = sp + 424|0; + $28 = sp + 408|0; + $29 = sp + 400|0; + $30 = sp + 384|0; + $31 = sp + 368|0; + $32 = sp + 360|0; + $33 = sp + 344|0; + $34 = sp + 328|0; + $35 = sp + 320|0; + $36 = sp + 304|0; + $37 = sp + 288|0; + $38 = sp + 280|0; + $39 = sp + 264|0; + $40 = sp + 248|0; + $41 = sp + 240|0; + $42 = sp + 224|0; + $43 = sp + 208|0; + $44 = sp + 200|0; + $45 = sp + 184|0; + $46 = sp + 168|0; + $47 = sp + 160|0; + $48 = sp + 144|0; + $49 = sp + 128|0; + $50 = sp + 120|0; + $51 = sp + 104|0; + $52 = sp + 88|0; + $53 = sp + 80|0; + $54 = sp + 64|0; + $55 = sp + 48|0; + $56 = sp + 40|0; + $57 = sp + 24|0; + $58 = sp + 8|0; + $59 = sp; + HEAP32[$0>>2] = 1833; + $60 = ((($0)) + 4|0); + HEAP32[$60>>2] = 353; + $61 = ((($0)) + 8|0); + HEAP32[$61>>2] = 28; + $62 = ((($0)) + 12|0); + HEAP32[$62>>2] = 335; + $63 = +HEAPF32[40328]; + $64 = (~~(($63))); + $65 = HEAP32[40367]|0; + $66 = (($64) + ($65))|0; + HEAP32[$1>>2] = $66; + $67 = ((($1)) + 4|0); + HEAP32[$67>>2] = 60; + $68 = ((($1)) + 8|0); + HEAP32[$68>>2] = 56; + $69 = ((($1)) + 12|0); + HEAP32[$69>>2] = 670; + HEAPF32[$2>>2] = 0.0; + $70 = ((($2)) + 4|0); + HEAPF32[$70>>2] = 0.0; + ;HEAP32[$atlas02$byval_copy92>>2]=HEAP32[25532>>2]|0;HEAP32[$atlas02$byval_copy92+4>>2]=HEAP32[25532+4>>2]|0;HEAP32[$atlas02$byval_copy92+8>>2]=HEAP32[25532+8>>2]|0;HEAP32[$atlas02$byval_copy92+12>>2]=HEAP32[25532+12>>2]|0;HEAP32[$atlas02$byval_copy92+16>>2]=HEAP32[25532+16>>2]|0; + ;HEAP32[$$byval_copy93>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy93+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy93+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy93+12>>2]=HEAP32[$0+12>>2]|0; + ;HEAP32[$$byval_copy94>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy94+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$$byval_copy94+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[$$byval_copy94+12>>2]=HEAP32[$1+12>>2]|0; + ;HEAP32[$$byval_copy95>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy95+4>>2]=HEAP32[$2+4>>2]|0; + ;HEAP8[$color01$32$byval_copy96>>0]=HEAP8[161540>>0]|0;HEAP8[$color01$32$byval_copy96+1>>0]=HEAP8[161540+1>>0]|0;HEAP8[$color01$32$byval_copy96+2>>0]=HEAP8[161540+2>>0]|0;HEAP8[$color01$32$byval_copy96+3>>0]=HEAP8[161540+3>>0]|0; + _DrawTexturePro($atlas02$byval_copy92,$$byval_copy93,$$byval_copy94,$$byval_copy95,0.0,$color01$32$byval_copy96); + HEAP32[$3>>2] = 690; + $71 = ((($3)) + 4|0); + HEAP32[$71>>2] = 315; + $72 = ((($3)) + 8|0); + HEAP32[$72>>2] = 26; + $73 = ((($3)) + 12|0); + HEAP32[$73>>2] = 332; + $74 = +HEAPF32[40328]; + $75 = (~~(($74))); + $76 = HEAP32[40367]|0; + $77 = (($76) + 140)|0; + $78 = (($77) + ($75))|0; + HEAP32[$4>>2] = $78; + $79 = ((($4)) + 4|0); + HEAP32[$79>>2] = 60; + $80 = ((($4)) + 8|0); + HEAP32[$80>>2] = 52; + $81 = ((($4)) + 12|0); + HEAP32[$81>>2] = 664; + HEAPF32[$5>>2] = 0.0; + $82 = ((($5)) + 4|0); + HEAPF32[$82>>2] = 0.0; + ;HEAP32[$atlas02$byval_copy92>>2]=HEAP32[25532>>2]|0;HEAP32[$atlas02$byval_copy92+4>>2]=HEAP32[25532+4>>2]|0;HEAP32[$atlas02$byval_copy92+8>>2]=HEAP32[25532+8>>2]|0;HEAP32[$atlas02$byval_copy92+12>>2]=HEAP32[25532+12>>2]|0;HEAP32[$atlas02$byval_copy92+16>>2]=HEAP32[25532+16>>2]|0; + ;HEAP32[$$byval_copy93>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy93+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$$byval_copy93+8>>2]=HEAP32[$3+8>>2]|0;HEAP32[$$byval_copy93+12>>2]=HEAP32[$3+12>>2]|0; + ;HEAP32[$$byval_copy94>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy94+4>>2]=HEAP32[$4+4>>2]|0;HEAP32[$$byval_copy94+8>>2]=HEAP32[$4+8>>2]|0;HEAP32[$$byval_copy94+12>>2]=HEAP32[$4+12>>2]|0; + ;HEAP32[$$byval_copy95>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy95+4>>2]=HEAP32[$5+4>>2]|0; + ;HEAP8[$color01$32$byval_copy96>>0]=HEAP8[161540>>0]|0;HEAP8[$color01$32$byval_copy96+1>>0]=HEAP8[161540+1>>0]|0;HEAP8[$color01$32$byval_copy96+2>>0]=HEAP8[161540+2>>0]|0;HEAP8[$color01$32$byval_copy96+3>>0]=HEAP8[161540+3>>0]|0; + _DrawTexturePro($atlas02$byval_copy92,$$byval_copy93,$$byval_copy94,$$byval_copy95,0.0,$color01$32$byval_copy96); + HEAP32[$6>>2] = 2028; + $83 = ((($6)) + 4|0); + HEAP32[$83>>2] = 338; + $84 = ((($6)) + 8|0); + HEAP32[$84>>2] = 15; + $85 = ((($6)) + 12|0); + HEAP32[$85>>2] = 329; + $86 = +HEAPF32[40328]; + $87 = (~~(($86))); + $88 = HEAP32[40367]|0; + $89 = (($88) + 280)|0; + $90 = (($89) + ($87))|0; + HEAP32[$7>>2] = $90; + $91 = ((($7)) + 4|0); + HEAP32[$91>>2] = 55; + $92 = ((($7)) + 8|0); + HEAP32[$92>>2] = 52; + $93 = ((($7)) + 12|0); + HEAP32[$93>>2] = 664; + HEAPF32[$8>>2] = 0.0; + $94 = ((($8)) + 4|0); + HEAPF32[$94>>2] = 0.0; + ;HEAP32[$atlas02$byval_copy92>>2]=HEAP32[25532>>2]|0;HEAP32[$atlas02$byval_copy92+4>>2]=HEAP32[25532+4>>2]|0;HEAP32[$atlas02$byval_copy92+8>>2]=HEAP32[25532+8>>2]|0;HEAP32[$atlas02$byval_copy92+12>>2]=HEAP32[25532+12>>2]|0;HEAP32[$atlas02$byval_copy92+16>>2]=HEAP32[25532+16>>2]|0; + ;HEAP32[$$byval_copy93>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy93+4>>2]=HEAP32[$6+4>>2]|0;HEAP32[$$byval_copy93+8>>2]=HEAP32[$6+8>>2]|0;HEAP32[$$byval_copy93+12>>2]=HEAP32[$6+12>>2]|0; + ;HEAP32[$$byval_copy94>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy94+4>>2]=HEAP32[$7+4>>2]|0;HEAP32[$$byval_copy94+8>>2]=HEAP32[$7+8>>2]|0;HEAP32[$$byval_copy94+12>>2]=HEAP32[$7+12>>2]|0; + ;HEAP32[$$byval_copy95>>2]=HEAP32[$8>>2]|0;HEAP32[$$byval_copy95+4>>2]=HEAP32[$8+4>>2]|0; + ;HEAP8[$color01$32$byval_copy96>>0]=HEAP8[161540>>0]|0;HEAP8[$color01$32$byval_copy96+1>>0]=HEAP8[161540+1>>0]|0;HEAP8[$color01$32$byval_copy96+2>>0]=HEAP8[161540+2>>0]|0;HEAP8[$color01$32$byval_copy96+3>>0]=HEAP8[161540+3>>0]|0; + _DrawTexturePro($atlas02$byval_copy92,$$byval_copy93,$$byval_copy94,$$byval_copy95,0.0,$color01$32$byval_copy96); + HEAP32[$9>>2] = 1860; + $95 = ((($9)) + 4|0); + HEAP32[$95>>2] = 2; + $96 = ((($9)) + 8|0); + HEAP32[$96>>2] = 38; + $97 = ((($9)) + 12|0); + HEAP32[$97>>2] = 334; + $98 = +HEAPF32[40328]; + $99 = (~~(($98))); + $100 = HEAP32[40367]|0; + $101 = (($100) + 420)|0; + $102 = (($101) + ($99))|0; + HEAP32[$10>>2] = $102; + $103 = ((($10)) + 4|0); + HEAP32[$103>>2] = 60; + $104 = ((($10)) + 8|0); + HEAP32[$104>>2] = 76; + $105 = ((($10)) + 12|0); + HEAP32[$105>>2] = 668; + HEAPF32[$11>>2] = 0.0; + $106 = ((($11)) + 4|0); + HEAPF32[$106>>2] = 0.0; + ;HEAP32[$atlas02$byval_copy92>>2]=HEAP32[25532>>2]|0;HEAP32[$atlas02$byval_copy92+4>>2]=HEAP32[25532+4>>2]|0;HEAP32[$atlas02$byval_copy92+8>>2]=HEAP32[25532+8>>2]|0;HEAP32[$atlas02$byval_copy92+12>>2]=HEAP32[25532+12>>2]|0;HEAP32[$atlas02$byval_copy92+16>>2]=HEAP32[25532+16>>2]|0; + ;HEAP32[$$byval_copy93>>2]=HEAP32[$9>>2]|0;HEAP32[$$byval_copy93+4>>2]=HEAP32[$9+4>>2]|0;HEAP32[$$byval_copy93+8>>2]=HEAP32[$9+8>>2]|0;HEAP32[$$byval_copy93+12>>2]=HEAP32[$9+12>>2]|0; + ;HEAP32[$$byval_copy94>>2]=HEAP32[$10>>2]|0;HEAP32[$$byval_copy94+4>>2]=HEAP32[$10+4>>2]|0;HEAP32[$$byval_copy94+8>>2]=HEAP32[$10+8>>2]|0;HEAP32[$$byval_copy94+12>>2]=HEAP32[$10+12>>2]|0; + ;HEAP32[$$byval_copy95>>2]=HEAP32[$11>>2]|0;HEAP32[$$byval_copy95+4>>2]=HEAP32[$11+4>>2]|0; + ;HEAP8[$color01$32$byval_copy96>>0]=HEAP8[161540>>0]|0;HEAP8[$color01$32$byval_copy96+1>>0]=HEAP8[161540+1>>0]|0;HEAP8[$color01$32$byval_copy96+2>>0]=HEAP8[161540+2>>0]|0;HEAP8[$color01$32$byval_copy96+3>>0]=HEAP8[161540+3>>0]|0; + _DrawTexturePro($atlas02$byval_copy92,$$byval_copy93,$$byval_copy94,$$byval_copy95,0.0,$color01$32$byval_copy96); + HEAP32[$12>>2] = 504; + $107 = ((($12)) + 4|0); + HEAP32[$107>>2] = 364; + $108 = ((($12)) + 8|0); + HEAP32[$108>>2] = 32; + $109 = ((($12)) + 12|0); + HEAP32[$109>>2] = 349; + $110 = +HEAPF32[40328]; + $111 = (~~(($110))); + $112 = HEAP32[40367]|0; + $113 = (($112) + 560)|0; + $114 = (($113) + ($111))|0; + HEAP32[$13>>2] = $114; + $115 = ((($13)) + 4|0); + HEAP32[$115>>2] = 60; + $116 = ((($13)) + 8|0); + HEAP32[$116>>2] = 64; + $117 = ((($13)) + 12|0); + HEAP32[$117>>2] = 698; + HEAPF32[$14>>2] = 0.0; + $118 = ((($14)) + 4|0); + HEAPF32[$118>>2] = 0.0; + ;HEAP32[$atlas02$byval_copy92>>2]=HEAP32[25532>>2]|0;HEAP32[$atlas02$byval_copy92+4>>2]=HEAP32[25532+4>>2]|0;HEAP32[$atlas02$byval_copy92+8>>2]=HEAP32[25532+8>>2]|0;HEAP32[$atlas02$byval_copy92+12>>2]=HEAP32[25532+12>>2]|0;HEAP32[$atlas02$byval_copy92+16>>2]=HEAP32[25532+16>>2]|0; + ;HEAP32[$$byval_copy93>>2]=HEAP32[$12>>2]|0;HEAP32[$$byval_copy93+4>>2]=HEAP32[$12+4>>2]|0;HEAP32[$$byval_copy93+8>>2]=HEAP32[$12+8>>2]|0;HEAP32[$$byval_copy93+12>>2]=HEAP32[$12+12>>2]|0; + ;HEAP32[$$byval_copy94>>2]=HEAP32[$13>>2]|0;HEAP32[$$byval_copy94+4>>2]=HEAP32[$13+4>>2]|0;HEAP32[$$byval_copy94+8>>2]=HEAP32[$13+8>>2]|0;HEAP32[$$byval_copy94+12>>2]=HEAP32[$13+12>>2]|0; + ;HEAP32[$$byval_copy95>>2]=HEAP32[$14>>2]|0;HEAP32[$$byval_copy95+4>>2]=HEAP32[$14+4>>2]|0; + ;HEAP8[$color01$32$byval_copy96>>0]=HEAP8[161540>>0]|0;HEAP8[$color01$32$byval_copy96+1>>0]=HEAP8[161540+1>>0]|0;HEAP8[$color01$32$byval_copy96+2>>0]=HEAP8[161540+2>>0]|0;HEAP8[$color01$32$byval_copy96+3>>0]=HEAP8[161540+3>>0]|0; + _DrawTexturePro($atlas02$byval_copy92,$$byval_copy93,$$byval_copy94,$$byval_copy95,0.0,$color01$32$byval_copy96); + HEAP32[$15>>2] = 1980; + $119 = ((($15)) + 4|0); + HEAP32[$119>>2] = 2; + $120 = ((($15)) + 8|0); + HEAP32[$120>>2] = 31; + $121 = ((($15)) + 12|0); + HEAP32[$121>>2] = 334; + $122 = +HEAPF32[40328]; + $123 = (~~(($122))); + $124 = HEAP32[40367]|0; + $125 = (($124) + 700)|0; + $126 = (($125) + ($123))|0; + HEAP32[$16>>2] = $126; + $127 = ((($16)) + 4|0); + HEAP32[$127>>2] = 55; + $128 = ((($16)) + 8|0); + HEAP32[$128>>2] = 62; + $129 = ((($16)) + 12|0); + HEAP32[$129>>2] = 668; + HEAPF32[$17>>2] = 0.0; + $130 = ((($17)) + 4|0); + HEAPF32[$130>>2] = 0.0; + ;HEAP32[$atlas02$byval_copy92>>2]=HEAP32[25532>>2]|0;HEAP32[$atlas02$byval_copy92+4>>2]=HEAP32[25532+4>>2]|0;HEAP32[$atlas02$byval_copy92+8>>2]=HEAP32[25532+8>>2]|0;HEAP32[$atlas02$byval_copy92+12>>2]=HEAP32[25532+12>>2]|0;HEAP32[$atlas02$byval_copy92+16>>2]=HEAP32[25532+16>>2]|0; + ;HEAP32[$$byval_copy93>>2]=HEAP32[$15>>2]|0;HEAP32[$$byval_copy93+4>>2]=HEAP32[$15+4>>2]|0;HEAP32[$$byval_copy93+8>>2]=HEAP32[$15+8>>2]|0;HEAP32[$$byval_copy93+12>>2]=HEAP32[$15+12>>2]|0; + ;HEAP32[$$byval_copy94>>2]=HEAP32[$16>>2]|0;HEAP32[$$byval_copy94+4>>2]=HEAP32[$16+4>>2]|0;HEAP32[$$byval_copy94+8>>2]=HEAP32[$16+8>>2]|0;HEAP32[$$byval_copy94+12>>2]=HEAP32[$16+12>>2]|0; + ;HEAP32[$$byval_copy95>>2]=HEAP32[$17>>2]|0;HEAP32[$$byval_copy95+4>>2]=HEAP32[$17+4>>2]|0; + ;HEAP8[$color01$32$byval_copy96>>0]=HEAP8[161540>>0]|0;HEAP8[$color01$32$byval_copy96+1>>0]=HEAP8[161540+1>>0]|0;HEAP8[$color01$32$byval_copy96+2>>0]=HEAP8[161540+2>>0]|0;HEAP8[$color01$32$byval_copy96+3>>0]=HEAP8[161540+3>>0]|0; + _DrawTexturePro($atlas02$byval_copy92,$$byval_copy93,$$byval_copy94,$$byval_copy95,0.0,$color01$32$byval_copy96); + HEAP32[$18>>2] = 606; + $131 = ((($18)) + 4|0); + HEAP32[$131>>2] = 364; + $132 = ((($18)) + 8|0); + HEAP32[$132>>2] = 25; + $133 = ((($18)) + 12|0); + HEAP32[$133>>2] = 349; + $134 = +HEAPF32[40328]; + $135 = (~~(($134))); + $136 = HEAP32[40367]|0; + $137 = (($136) + 840)|0; + $138 = (($137) + ($135))|0; + HEAP32[$19>>2] = $138; + $139 = ((($19)) + 4|0); + HEAP32[$139>>2] = 60; + $140 = ((($19)) + 8|0); + HEAP32[$140>>2] = 50; + $141 = ((($19)) + 12|0); + HEAP32[$141>>2] = 698; + HEAPF32[$20>>2] = 0.0; + $142 = ((($20)) + 4|0); + HEAPF32[$142>>2] = 0.0; + ;HEAP32[$atlas02$byval_copy92>>2]=HEAP32[25532>>2]|0;HEAP32[$atlas02$byval_copy92+4>>2]=HEAP32[25532+4>>2]|0;HEAP32[$atlas02$byval_copy92+8>>2]=HEAP32[25532+8>>2]|0;HEAP32[$atlas02$byval_copy92+12>>2]=HEAP32[25532+12>>2]|0;HEAP32[$atlas02$byval_copy92+16>>2]=HEAP32[25532+16>>2]|0; + ;HEAP32[$$byval_copy93>>2]=HEAP32[$18>>2]|0;HEAP32[$$byval_copy93+4>>2]=HEAP32[$18+4>>2]|0;HEAP32[$$byval_copy93+8>>2]=HEAP32[$18+8>>2]|0;HEAP32[$$byval_copy93+12>>2]=HEAP32[$18+12>>2]|0; + ;HEAP32[$$byval_copy94>>2]=HEAP32[$19>>2]|0;HEAP32[$$byval_copy94+4>>2]=HEAP32[$19+4>>2]|0;HEAP32[$$byval_copy94+8>>2]=HEAP32[$19+8>>2]|0;HEAP32[$$byval_copy94+12>>2]=HEAP32[$19+12>>2]|0; + ;HEAP32[$$byval_copy95>>2]=HEAP32[$20>>2]|0;HEAP32[$$byval_copy95+4>>2]=HEAP32[$20+4>>2]|0; + ;HEAP8[$color01$32$byval_copy96>>0]=HEAP8[161540>>0]|0;HEAP8[$color01$32$byval_copy96+1>>0]=HEAP8[161540+1>>0]|0;HEAP8[$color01$32$byval_copy96+2>>0]=HEAP8[161540+2>>0]|0;HEAP8[$color01$32$byval_copy96+3>>0]=HEAP8[161540+3>>0]|0; + _DrawTexturePro($atlas02$byval_copy92,$$byval_copy93,$$byval_copy94,$$byval_copy95,0.0,$color01$32$byval_copy96); + HEAP32[$21>>2] = 1896; + $143 = ((($21)) + 4|0); + HEAP32[$143>>2] = 338; + $144 = ((($21)) + 8|0); + HEAP32[$144>>2] = 32; + $145 = ((($21)) + 12|0); + HEAP32[$145>>2] = 331; + $146 = +HEAPF32[40328]; + $147 = (~~(($146))); + $148 = HEAP32[40367]|0; + $149 = (($148) + 980)|0; + $150 = (($149) + ($147))|0; + HEAP32[$22>>2] = $150; + $151 = ((($22)) + 4|0); + HEAP32[$151>>2] = 60; + $152 = ((($22)) + 8|0); + HEAP32[$152>>2] = 64; + $153 = ((($22)) + 12|0); + HEAP32[$153>>2] = 662; + HEAPF32[$23>>2] = 0.0; + $154 = ((($23)) + 4|0); + HEAPF32[$154>>2] = 0.0; + ;HEAP32[$atlas02$byval_copy92>>2]=HEAP32[25532>>2]|0;HEAP32[$atlas02$byval_copy92+4>>2]=HEAP32[25532+4>>2]|0;HEAP32[$atlas02$byval_copy92+8>>2]=HEAP32[25532+8>>2]|0;HEAP32[$atlas02$byval_copy92+12>>2]=HEAP32[25532+12>>2]|0;HEAP32[$atlas02$byval_copy92+16>>2]=HEAP32[25532+16>>2]|0; + ;HEAP32[$$byval_copy93>>2]=HEAP32[$21>>2]|0;HEAP32[$$byval_copy93+4>>2]=HEAP32[$21+4>>2]|0;HEAP32[$$byval_copy93+8>>2]=HEAP32[$21+8>>2]|0;HEAP32[$$byval_copy93+12>>2]=HEAP32[$21+12>>2]|0; + ;HEAP32[$$byval_copy94>>2]=HEAP32[$22>>2]|0;HEAP32[$$byval_copy94+4>>2]=HEAP32[$22+4>>2]|0;HEAP32[$$byval_copy94+8>>2]=HEAP32[$22+8>>2]|0;HEAP32[$$byval_copy94+12>>2]=HEAP32[$22+12>>2]|0; + ;HEAP32[$$byval_copy95>>2]=HEAP32[$23>>2]|0;HEAP32[$$byval_copy95+4>>2]=HEAP32[$23+4>>2]|0; + ;HEAP8[$color01$32$byval_copy96>>0]=HEAP8[161540>>0]|0;HEAP8[$color01$32$byval_copy96+1>>0]=HEAP8[161540+1>>0]|0;HEAP8[$color01$32$byval_copy96+2>>0]=HEAP8[161540+2>>0]|0;HEAP8[$color01$32$byval_copy96+3>>0]=HEAP8[161540+3>>0]|0; + _DrawTexturePro($atlas02$byval_copy92,$$byval_copy93,$$byval_copy94,$$byval_copy95,0.0,$color01$32$byval_copy96); + HEAP32[$24>>2] = 1146; + $155 = ((($24)) + 4|0); + HEAP32[$155>>2] = 81; + $156 = ((($24)) + 8|0); + HEAP32[$156>>2] = 640; + $157 = ((($24)) + 12|0); + HEAP32[$157>>2] = 77; + $158 = +HEAPF32[40328]; + $159 = (~~(($158))); + HEAP32[$25>>2] = $159; + $160 = ((($25)) + 4|0); + HEAP32[$160>>2] = 559; + $161 = ((($25)) + 8|0); + HEAP32[$161>>2] = 1280; + $162 = ((($25)) + 12|0); + HEAP32[$162>>2] = 154; + HEAPF32[$26>>2] = 0.0; + $163 = ((($26)) + 4|0); + HEAPF32[$163>>2] = 0.0; + ;HEAP32[$atlas02$byval_copy92>>2]=HEAP32[25532>>2]|0;HEAP32[$atlas02$byval_copy92+4>>2]=HEAP32[25532+4>>2]|0;HEAP32[$atlas02$byval_copy92+8>>2]=HEAP32[25532+8>>2]|0;HEAP32[$atlas02$byval_copy92+12>>2]=HEAP32[25532+12>>2]|0;HEAP32[$atlas02$byval_copy92+16>>2]=HEAP32[25532+16>>2]|0; + ;HEAP32[$$byval_copy93>>2]=HEAP32[$24>>2]|0;HEAP32[$$byval_copy93+4>>2]=HEAP32[$24+4>>2]|0;HEAP32[$$byval_copy93+8>>2]=HEAP32[$24+8>>2]|0;HEAP32[$$byval_copy93+12>>2]=HEAP32[$24+12>>2]|0; + ;HEAP32[$$byval_copy94>>2]=HEAP32[$25>>2]|0;HEAP32[$$byval_copy94+4>>2]=HEAP32[$25+4>>2]|0;HEAP32[$$byval_copy94+8>>2]=HEAP32[$25+8>>2]|0;HEAP32[$$byval_copy94+12>>2]=HEAP32[$25+12>>2]|0; + ;HEAP32[$$byval_copy95>>2]=HEAP32[$26>>2]|0;HEAP32[$$byval_copy95+4>>2]=HEAP32[$26+4>>2]|0; + ;HEAP8[$color01$32$byval_copy96>>0]=HEAP8[161536>>0]|0;HEAP8[$color01$32$byval_copy96+1>>0]=HEAP8[161536+1>>0]|0;HEAP8[$color01$32$byval_copy96+2>>0]=HEAP8[161536+2>>0]|0;HEAP8[$color01$32$byval_copy96+3>>0]=HEAP8[161536+3>>0]|0; + _DrawTexturePro($atlas02$byval_copy92,$$byval_copy93,$$byval_copy94,$$byval_copy95,0.0,$color01$32$byval_copy96); + HEAP32[$27>>2] = 1146; + $164 = ((($27)) + 4|0); + HEAP32[$164>>2] = 158; + $165 = ((($27)) + 8|0); + HEAP32[$165>>2] = 640; + $166 = ((($27)) + 12|0); + HEAP32[$166>>2] = -77; + $167 = +HEAPF32[40328]; + $168 = (~~(($167))); + HEAP32[$28>>2] = $168; + $169 = ((($28)) + 4|0); + HEAP32[$169>>2] = -33; + $170 = ((($28)) + 8|0); + HEAP32[$170>>2] = 1280; + $171 = ((($28)) + 12|0); + HEAP32[$171>>2] = 154; + HEAPF32[$29>>2] = 0.0; + $172 = ((($29)) + 4|0); + HEAPF32[$172>>2] = 0.0; + ;HEAP32[$atlas02$byval_copy92>>2]=HEAP32[25532>>2]|0;HEAP32[$atlas02$byval_copy92+4>>2]=HEAP32[25532+4>>2]|0;HEAP32[$atlas02$byval_copy92+8>>2]=HEAP32[25532+8>>2]|0;HEAP32[$atlas02$byval_copy92+12>>2]=HEAP32[25532+12>>2]|0;HEAP32[$atlas02$byval_copy92+16>>2]=HEAP32[25532+16>>2]|0; + ;HEAP32[$$byval_copy93>>2]=HEAP32[$27>>2]|0;HEAP32[$$byval_copy93+4>>2]=HEAP32[$27+4>>2]|0;HEAP32[$$byval_copy93+8>>2]=HEAP32[$27+8>>2]|0;HEAP32[$$byval_copy93+12>>2]=HEAP32[$27+12>>2]|0; + ;HEAP32[$$byval_copy94>>2]=HEAP32[$28>>2]|0;HEAP32[$$byval_copy94+4>>2]=HEAP32[$28+4>>2]|0;HEAP32[$$byval_copy94+8>>2]=HEAP32[$28+8>>2]|0;HEAP32[$$byval_copy94+12>>2]=HEAP32[$28+12>>2]|0; + ;HEAP32[$$byval_copy95>>2]=HEAP32[$29>>2]|0;HEAP32[$$byval_copy95+4>>2]=HEAP32[$29+4>>2]|0; + ;HEAP8[$color01$32$byval_copy96>>0]=HEAP8[161536>>0]|0;HEAP8[$color01$32$byval_copy96+1>>0]=HEAP8[161536+1>>0]|0;HEAP8[$color01$32$byval_copy96+2>>0]=HEAP8[161536+2>>0]|0;HEAP8[$color01$32$byval_copy96+3>>0]=HEAP8[161536+3>>0]|0; + _DrawTexturePro($atlas02$byval_copy92,$$byval_copy93,$$byval_copy94,$$byval_copy95,0.0,$color01$32$byval_copy96); + HEAP32[$30>>2] = 1833; + $173 = ((($30)) + 4|0); + HEAP32[$173>>2] = 353; + $174 = ((($30)) + 8|0); + HEAP32[$174>>2] = 28; + $175 = ((($30)) + 12|0); + HEAP32[$175>>2] = 335; + $176 = +HEAPF32[40328]; + $177 = (~~(($176))); + $178 = HEAP32[40367]|0; + $179 = (($177) + ($178))|0; + $180 = (_GetScreenWidth()|0); + $181 = (($179) + ($180))|0; + HEAP32[$31>>2] = $181; + $182 = ((($31)) + 4|0); + HEAP32[$182>>2] = 60; + $183 = ((($31)) + 8|0); + HEAP32[$183>>2] = 56; + $184 = ((($31)) + 12|0); + HEAP32[$184>>2] = 670; + HEAPF32[$32>>2] = 0.0; + $185 = ((($32)) + 4|0); + HEAPF32[$185>>2] = 0.0; + ;HEAP32[$atlas02$byval_copy92>>2]=HEAP32[25532>>2]|0;HEAP32[$atlas02$byval_copy92+4>>2]=HEAP32[25532+4>>2]|0;HEAP32[$atlas02$byval_copy92+8>>2]=HEAP32[25532+8>>2]|0;HEAP32[$atlas02$byval_copy92+12>>2]=HEAP32[25532+12>>2]|0;HEAP32[$atlas02$byval_copy92+16>>2]=HEAP32[25532+16>>2]|0; + ;HEAP32[$$byval_copy93>>2]=HEAP32[$30>>2]|0;HEAP32[$$byval_copy93+4>>2]=HEAP32[$30+4>>2]|0;HEAP32[$$byval_copy93+8>>2]=HEAP32[$30+8>>2]|0;HEAP32[$$byval_copy93+12>>2]=HEAP32[$30+12>>2]|0; + ;HEAP32[$$byval_copy94>>2]=HEAP32[$31>>2]|0;HEAP32[$$byval_copy94+4>>2]=HEAP32[$31+4>>2]|0;HEAP32[$$byval_copy94+8>>2]=HEAP32[$31+8>>2]|0;HEAP32[$$byval_copy94+12>>2]=HEAP32[$31+12>>2]|0; + ;HEAP32[$$byval_copy95>>2]=HEAP32[$32>>2]|0;HEAP32[$$byval_copy95+4>>2]=HEAP32[$32+4>>2]|0; + ;HEAP8[$color01$32$byval_copy96>>0]=HEAP8[161540>>0]|0;HEAP8[$color01$32$byval_copy96+1>>0]=HEAP8[161540+1>>0]|0;HEAP8[$color01$32$byval_copy96+2>>0]=HEAP8[161540+2>>0]|0;HEAP8[$color01$32$byval_copy96+3>>0]=HEAP8[161540+3>>0]|0; + _DrawTexturePro($atlas02$byval_copy92,$$byval_copy93,$$byval_copy94,$$byval_copy95,0.0,$color01$32$byval_copy96); + HEAP32[$33>>2] = 690; + $186 = ((($33)) + 4|0); + HEAP32[$186>>2] = 315; + $187 = ((($33)) + 8|0); + HEAP32[$187>>2] = 26; + $188 = ((($33)) + 12|0); + HEAP32[$188>>2] = 332; + $189 = +HEAPF32[40328]; + $190 = (~~(($189))); + $191 = HEAP32[40367]|0; + $192 = (_GetScreenWidth()|0); + $193 = (($191) + 140)|0; + $194 = (($193) + ($190))|0; + $195 = (($194) + ($192))|0; + HEAP32[$34>>2] = $195; + $196 = ((($34)) + 4|0); + HEAP32[$196>>2] = 60; + $197 = ((($34)) + 8|0); + HEAP32[$197>>2] = 52; + $198 = ((($34)) + 12|0); + HEAP32[$198>>2] = 664; + HEAPF32[$35>>2] = 0.0; + $199 = ((($35)) + 4|0); + HEAPF32[$199>>2] = 0.0; + ;HEAP32[$atlas02$byval_copy92>>2]=HEAP32[25532>>2]|0;HEAP32[$atlas02$byval_copy92+4>>2]=HEAP32[25532+4>>2]|0;HEAP32[$atlas02$byval_copy92+8>>2]=HEAP32[25532+8>>2]|0;HEAP32[$atlas02$byval_copy92+12>>2]=HEAP32[25532+12>>2]|0;HEAP32[$atlas02$byval_copy92+16>>2]=HEAP32[25532+16>>2]|0; + ;HEAP32[$$byval_copy93>>2]=HEAP32[$33>>2]|0;HEAP32[$$byval_copy93+4>>2]=HEAP32[$33+4>>2]|0;HEAP32[$$byval_copy93+8>>2]=HEAP32[$33+8>>2]|0;HEAP32[$$byval_copy93+12>>2]=HEAP32[$33+12>>2]|0; + ;HEAP32[$$byval_copy94>>2]=HEAP32[$34>>2]|0;HEAP32[$$byval_copy94+4>>2]=HEAP32[$34+4>>2]|0;HEAP32[$$byval_copy94+8>>2]=HEAP32[$34+8>>2]|0;HEAP32[$$byval_copy94+12>>2]=HEAP32[$34+12>>2]|0; + ;HEAP32[$$byval_copy95>>2]=HEAP32[$35>>2]|0;HEAP32[$$byval_copy95+4>>2]=HEAP32[$35+4>>2]|0; + ;HEAP8[$color01$32$byval_copy96>>0]=HEAP8[161540>>0]|0;HEAP8[$color01$32$byval_copy96+1>>0]=HEAP8[161540+1>>0]|0;HEAP8[$color01$32$byval_copy96+2>>0]=HEAP8[161540+2>>0]|0;HEAP8[$color01$32$byval_copy96+3>>0]=HEAP8[161540+3>>0]|0; + _DrawTexturePro($atlas02$byval_copy92,$$byval_copy93,$$byval_copy94,$$byval_copy95,0.0,$color01$32$byval_copy96); + HEAP32[$36>>2] = 2028; + $200 = ((($36)) + 4|0); + HEAP32[$200>>2] = 338; + $201 = ((($36)) + 8|0); + HEAP32[$201>>2] = 15; + $202 = ((($36)) + 12|0); + HEAP32[$202>>2] = 329; + $203 = +HEAPF32[40328]; + $204 = (~~(($203))); + $205 = HEAP32[40367]|0; + $206 = (_GetScreenWidth()|0); + $207 = (($205) + 280)|0; + $208 = (($207) + ($204))|0; + $209 = (($208) + ($206))|0; + HEAP32[$37>>2] = $209; + $210 = ((($37)) + 4|0); + HEAP32[$210>>2] = 55; + $211 = ((($37)) + 8|0); + HEAP32[$211>>2] = 30; + $212 = ((($37)) + 12|0); + HEAP32[$212>>2] = 658; + HEAPF32[$38>>2] = 0.0; + $213 = ((($38)) + 4|0); + HEAPF32[$213>>2] = 0.0; + ;HEAP32[$atlas02$byval_copy92>>2]=HEAP32[25532>>2]|0;HEAP32[$atlas02$byval_copy92+4>>2]=HEAP32[25532+4>>2]|0;HEAP32[$atlas02$byval_copy92+8>>2]=HEAP32[25532+8>>2]|0;HEAP32[$atlas02$byval_copy92+12>>2]=HEAP32[25532+12>>2]|0;HEAP32[$atlas02$byval_copy92+16>>2]=HEAP32[25532+16>>2]|0; + ;HEAP32[$$byval_copy93>>2]=HEAP32[$36>>2]|0;HEAP32[$$byval_copy93+4>>2]=HEAP32[$36+4>>2]|0;HEAP32[$$byval_copy93+8>>2]=HEAP32[$36+8>>2]|0;HEAP32[$$byval_copy93+12>>2]=HEAP32[$36+12>>2]|0; + ;HEAP32[$$byval_copy94>>2]=HEAP32[$37>>2]|0;HEAP32[$$byval_copy94+4>>2]=HEAP32[$37+4>>2]|0;HEAP32[$$byval_copy94+8>>2]=HEAP32[$37+8>>2]|0;HEAP32[$$byval_copy94+12>>2]=HEAP32[$37+12>>2]|0; + ;HEAP32[$$byval_copy95>>2]=HEAP32[$38>>2]|0;HEAP32[$$byval_copy95+4>>2]=HEAP32[$38+4>>2]|0; + ;HEAP8[$color01$32$byval_copy96>>0]=HEAP8[161540>>0]|0;HEAP8[$color01$32$byval_copy96+1>>0]=HEAP8[161540+1>>0]|0;HEAP8[$color01$32$byval_copy96+2>>0]=HEAP8[161540+2>>0]|0;HEAP8[$color01$32$byval_copy96+3>>0]=HEAP8[161540+3>>0]|0; + _DrawTexturePro($atlas02$byval_copy92,$$byval_copy93,$$byval_copy94,$$byval_copy95,0.0,$color01$32$byval_copy96); + HEAP32[$39>>2] = 1860; + $214 = ((($39)) + 4|0); + HEAP32[$214>>2] = 2; + $215 = ((($39)) + 8|0); + HEAP32[$215>>2] = 38; + $216 = ((($39)) + 12|0); + HEAP32[$216>>2] = 334; + $217 = +HEAPF32[40328]; + $218 = (~~(($217))); + $219 = HEAP32[40367]|0; + $220 = (_GetScreenWidth()|0); + $221 = (($219) + 420)|0; + $222 = (($221) + ($218))|0; + $223 = (($222) + ($220))|0; + HEAP32[$40>>2] = $223; + $224 = ((($40)) + 4|0); + HEAP32[$224>>2] = 60; + $225 = ((($40)) + 8|0); + HEAP32[$225>>2] = 76; + $226 = ((($40)) + 12|0); + HEAP32[$226>>2] = 668; + HEAPF32[$41>>2] = 0.0; + $227 = ((($41)) + 4|0); + HEAPF32[$227>>2] = 0.0; + ;HEAP32[$atlas02$byval_copy92>>2]=HEAP32[25532>>2]|0;HEAP32[$atlas02$byval_copy92+4>>2]=HEAP32[25532+4>>2]|0;HEAP32[$atlas02$byval_copy92+8>>2]=HEAP32[25532+8>>2]|0;HEAP32[$atlas02$byval_copy92+12>>2]=HEAP32[25532+12>>2]|0;HEAP32[$atlas02$byval_copy92+16>>2]=HEAP32[25532+16>>2]|0; + ;HEAP32[$$byval_copy93>>2]=HEAP32[$39>>2]|0;HEAP32[$$byval_copy93+4>>2]=HEAP32[$39+4>>2]|0;HEAP32[$$byval_copy93+8>>2]=HEAP32[$39+8>>2]|0;HEAP32[$$byval_copy93+12>>2]=HEAP32[$39+12>>2]|0; + ;HEAP32[$$byval_copy94>>2]=HEAP32[$40>>2]|0;HEAP32[$$byval_copy94+4>>2]=HEAP32[$40+4>>2]|0;HEAP32[$$byval_copy94+8>>2]=HEAP32[$40+8>>2]|0;HEAP32[$$byval_copy94+12>>2]=HEAP32[$40+12>>2]|0; + ;HEAP32[$$byval_copy95>>2]=HEAP32[$41>>2]|0;HEAP32[$$byval_copy95+4>>2]=HEAP32[$41+4>>2]|0; + ;HEAP8[$color01$32$byval_copy96>>0]=HEAP8[161540>>0]|0;HEAP8[$color01$32$byval_copy96+1>>0]=HEAP8[161540+1>>0]|0;HEAP8[$color01$32$byval_copy96+2>>0]=HEAP8[161540+2>>0]|0;HEAP8[$color01$32$byval_copy96+3>>0]=HEAP8[161540+3>>0]|0; + _DrawTexturePro($atlas02$byval_copy92,$$byval_copy93,$$byval_copy94,$$byval_copy95,0.0,$color01$32$byval_copy96); + HEAP32[$42>>2] = 504; + $228 = ((($42)) + 4|0); + HEAP32[$228>>2] = 364; + $229 = ((($42)) + 8|0); + HEAP32[$229>>2] = 32; + $230 = ((($42)) + 12|0); + HEAP32[$230>>2] = 349; + $231 = +HEAPF32[40328]; + $232 = (~~(($231))); + $233 = HEAP32[40367]|0; + $234 = (_GetScreenWidth()|0); + $235 = (($233) + 560)|0; + $236 = (($235) + ($232))|0; + $237 = (($236) + ($234))|0; + HEAP32[$43>>2] = $237; + $238 = ((($43)) + 4|0); + HEAP32[$238>>2] = 60; + $239 = ((($43)) + 8|0); + HEAP32[$239>>2] = 64; + $240 = ((($43)) + 12|0); + HEAP32[$240>>2] = 698; + HEAPF32[$44>>2] = 0.0; + $241 = ((($44)) + 4|0); + HEAPF32[$241>>2] = 0.0; + ;HEAP32[$atlas02$byval_copy92>>2]=HEAP32[25532>>2]|0;HEAP32[$atlas02$byval_copy92+4>>2]=HEAP32[25532+4>>2]|0;HEAP32[$atlas02$byval_copy92+8>>2]=HEAP32[25532+8>>2]|0;HEAP32[$atlas02$byval_copy92+12>>2]=HEAP32[25532+12>>2]|0;HEAP32[$atlas02$byval_copy92+16>>2]=HEAP32[25532+16>>2]|0; + ;HEAP32[$$byval_copy93>>2]=HEAP32[$42>>2]|0;HEAP32[$$byval_copy93+4>>2]=HEAP32[$42+4>>2]|0;HEAP32[$$byval_copy93+8>>2]=HEAP32[$42+8>>2]|0;HEAP32[$$byval_copy93+12>>2]=HEAP32[$42+12>>2]|0; + ;HEAP32[$$byval_copy94>>2]=HEAP32[$43>>2]|0;HEAP32[$$byval_copy94+4>>2]=HEAP32[$43+4>>2]|0;HEAP32[$$byval_copy94+8>>2]=HEAP32[$43+8>>2]|0;HEAP32[$$byval_copy94+12>>2]=HEAP32[$43+12>>2]|0; + ;HEAP32[$$byval_copy95>>2]=HEAP32[$44>>2]|0;HEAP32[$$byval_copy95+4>>2]=HEAP32[$44+4>>2]|0; + ;HEAP8[$color01$32$byval_copy96>>0]=HEAP8[161540>>0]|0;HEAP8[$color01$32$byval_copy96+1>>0]=HEAP8[161540+1>>0]|0;HEAP8[$color01$32$byval_copy96+2>>0]=HEAP8[161540+2>>0]|0;HEAP8[$color01$32$byval_copy96+3>>0]=HEAP8[161540+3>>0]|0; + _DrawTexturePro($atlas02$byval_copy92,$$byval_copy93,$$byval_copy94,$$byval_copy95,0.0,$color01$32$byval_copy96); + HEAP32[$45>>2] = 1980; + $242 = ((($45)) + 4|0); + HEAP32[$242>>2] = 2; + $243 = ((($45)) + 8|0); + HEAP32[$243>>2] = 31; + $244 = ((($45)) + 12|0); + HEAP32[$244>>2] = 334; + $245 = +HEAPF32[40328]; + $246 = (~~(($245))); + $247 = HEAP32[40367]|0; + $248 = (_GetScreenWidth()|0); + $249 = (($247) + 700)|0; + $250 = (($249) + ($246))|0; + $251 = (($250) + ($248))|0; + HEAP32[$46>>2] = $251; + $252 = ((($46)) + 4|0); + HEAP32[$252>>2] = 55; + $253 = ((($46)) + 8|0); + HEAP32[$253>>2] = 62; + $254 = ((($46)) + 12|0); + HEAP32[$254>>2] = 668; + HEAPF32[$47>>2] = 0.0; + $255 = ((($47)) + 4|0); + HEAPF32[$255>>2] = 0.0; + ;HEAP32[$atlas02$byval_copy92>>2]=HEAP32[25532>>2]|0;HEAP32[$atlas02$byval_copy92+4>>2]=HEAP32[25532+4>>2]|0;HEAP32[$atlas02$byval_copy92+8>>2]=HEAP32[25532+8>>2]|0;HEAP32[$atlas02$byval_copy92+12>>2]=HEAP32[25532+12>>2]|0;HEAP32[$atlas02$byval_copy92+16>>2]=HEAP32[25532+16>>2]|0; + ;HEAP32[$$byval_copy93>>2]=HEAP32[$45>>2]|0;HEAP32[$$byval_copy93+4>>2]=HEAP32[$45+4>>2]|0;HEAP32[$$byval_copy93+8>>2]=HEAP32[$45+8>>2]|0;HEAP32[$$byval_copy93+12>>2]=HEAP32[$45+12>>2]|0; + ;HEAP32[$$byval_copy94>>2]=HEAP32[$46>>2]|0;HEAP32[$$byval_copy94+4>>2]=HEAP32[$46+4>>2]|0;HEAP32[$$byval_copy94+8>>2]=HEAP32[$46+8>>2]|0;HEAP32[$$byval_copy94+12>>2]=HEAP32[$46+12>>2]|0; + ;HEAP32[$$byval_copy95>>2]=HEAP32[$47>>2]|0;HEAP32[$$byval_copy95+4>>2]=HEAP32[$47+4>>2]|0; + ;HEAP8[$color01$32$byval_copy96>>0]=HEAP8[161540>>0]|0;HEAP8[$color01$32$byval_copy96+1>>0]=HEAP8[161540+1>>0]|0;HEAP8[$color01$32$byval_copy96+2>>0]=HEAP8[161540+2>>0]|0;HEAP8[$color01$32$byval_copy96+3>>0]=HEAP8[161540+3>>0]|0; + _DrawTexturePro($atlas02$byval_copy92,$$byval_copy93,$$byval_copy94,$$byval_copy95,0.0,$color01$32$byval_copy96); + HEAP32[$48>>2] = 606; + $256 = ((($48)) + 4|0); + HEAP32[$256>>2] = 364; + $257 = ((($48)) + 8|0); + HEAP32[$257>>2] = 25; + $258 = ((($48)) + 12|0); + HEAP32[$258>>2] = 349; + $259 = +HEAPF32[40328]; + $260 = (~~(($259))); + $261 = HEAP32[40367]|0; + $262 = (_GetScreenWidth()|0); + $263 = (($261) + 840)|0; + $264 = (($263) + ($260))|0; + $265 = (($264) + ($262))|0; + HEAP32[$49>>2] = $265; + $266 = ((($49)) + 4|0); + HEAP32[$266>>2] = 60; + $267 = ((($49)) + 8|0); + HEAP32[$267>>2] = 50; + $268 = ((($49)) + 12|0); + HEAP32[$268>>2] = 698; + HEAPF32[$50>>2] = 0.0; + $269 = ((($50)) + 4|0); + HEAPF32[$269>>2] = 0.0; + ;HEAP32[$atlas02$byval_copy92>>2]=HEAP32[25532>>2]|0;HEAP32[$atlas02$byval_copy92+4>>2]=HEAP32[25532+4>>2]|0;HEAP32[$atlas02$byval_copy92+8>>2]=HEAP32[25532+8>>2]|0;HEAP32[$atlas02$byval_copy92+12>>2]=HEAP32[25532+12>>2]|0;HEAP32[$atlas02$byval_copy92+16>>2]=HEAP32[25532+16>>2]|0; + ;HEAP32[$$byval_copy93>>2]=HEAP32[$48>>2]|0;HEAP32[$$byval_copy93+4>>2]=HEAP32[$48+4>>2]|0;HEAP32[$$byval_copy93+8>>2]=HEAP32[$48+8>>2]|0;HEAP32[$$byval_copy93+12>>2]=HEAP32[$48+12>>2]|0; + ;HEAP32[$$byval_copy94>>2]=HEAP32[$49>>2]|0;HEAP32[$$byval_copy94+4>>2]=HEAP32[$49+4>>2]|0;HEAP32[$$byval_copy94+8>>2]=HEAP32[$49+8>>2]|0;HEAP32[$$byval_copy94+12>>2]=HEAP32[$49+12>>2]|0; + ;HEAP32[$$byval_copy95>>2]=HEAP32[$50>>2]|0;HEAP32[$$byval_copy95+4>>2]=HEAP32[$50+4>>2]|0; + ;HEAP8[$color01$32$byval_copy96>>0]=HEAP8[161540>>0]|0;HEAP8[$color01$32$byval_copy96+1>>0]=HEAP8[161540+1>>0]|0;HEAP8[$color01$32$byval_copy96+2>>0]=HEAP8[161540+2>>0]|0;HEAP8[$color01$32$byval_copy96+3>>0]=HEAP8[161540+3>>0]|0; + _DrawTexturePro($atlas02$byval_copy92,$$byval_copy93,$$byval_copy94,$$byval_copy95,0.0,$color01$32$byval_copy96); + HEAP32[$51>>2] = 1896; + $270 = ((($51)) + 4|0); + HEAP32[$270>>2] = 338; + $271 = ((($51)) + 8|0); + HEAP32[$271>>2] = 32; + $272 = ((($51)) + 12|0); + HEAP32[$272>>2] = 331; + $273 = +HEAPF32[40328]; + $274 = (~~(($273))); + $275 = HEAP32[40367]|0; + $276 = (_GetScreenWidth()|0); + $277 = (($275) + 980)|0; + $278 = (($277) + ($274))|0; + $279 = (($278) + ($276))|0; + HEAP32[$52>>2] = $279; + $280 = ((($52)) + 4|0); + HEAP32[$280>>2] = 60; + $281 = ((($52)) + 8|0); + HEAP32[$281>>2] = 64; + $282 = ((($52)) + 12|0); + HEAP32[$282>>2] = 662; + HEAPF32[$53>>2] = 0.0; + $283 = ((($53)) + 4|0); + HEAPF32[$283>>2] = 0.0; + ;HEAP32[$atlas02$byval_copy92>>2]=HEAP32[25532>>2]|0;HEAP32[$atlas02$byval_copy92+4>>2]=HEAP32[25532+4>>2]|0;HEAP32[$atlas02$byval_copy92+8>>2]=HEAP32[25532+8>>2]|0;HEAP32[$atlas02$byval_copy92+12>>2]=HEAP32[25532+12>>2]|0;HEAP32[$atlas02$byval_copy92+16>>2]=HEAP32[25532+16>>2]|0; + ;HEAP32[$$byval_copy93>>2]=HEAP32[$51>>2]|0;HEAP32[$$byval_copy93+4>>2]=HEAP32[$51+4>>2]|0;HEAP32[$$byval_copy93+8>>2]=HEAP32[$51+8>>2]|0;HEAP32[$$byval_copy93+12>>2]=HEAP32[$51+12>>2]|0; + ;HEAP32[$$byval_copy94>>2]=HEAP32[$52>>2]|0;HEAP32[$$byval_copy94+4>>2]=HEAP32[$52+4>>2]|0;HEAP32[$$byval_copy94+8>>2]=HEAP32[$52+8>>2]|0;HEAP32[$$byval_copy94+12>>2]=HEAP32[$52+12>>2]|0; + ;HEAP32[$$byval_copy95>>2]=HEAP32[$53>>2]|0;HEAP32[$$byval_copy95+4>>2]=HEAP32[$53+4>>2]|0; + ;HEAP8[$color01$32$byval_copy96>>0]=HEAP8[161540>>0]|0;HEAP8[$color01$32$byval_copy96+1>>0]=HEAP8[161540+1>>0]|0;HEAP8[$color01$32$byval_copy96+2>>0]=HEAP8[161540+2>>0]|0;HEAP8[$color01$32$byval_copy96+3>>0]=HEAP8[161540+3>>0]|0; + _DrawTexturePro($atlas02$byval_copy92,$$byval_copy93,$$byval_copy94,$$byval_copy95,0.0,$color01$32$byval_copy96); + HEAP32[$54>>2] = 1146; + $284 = ((($54)) + 4|0); + HEAP32[$284>>2] = 81; + $285 = ((($54)) + 8|0); + HEAP32[$285>>2] = 640; + $286 = ((($54)) + 12|0); + HEAP32[$286>>2] = 77; + $287 = +HEAPF32[40328]; + $288 = (~~(($287))); + $289 = (_GetScreenWidth()|0); + $290 = (($288) + ($289))|0; + HEAP32[$55>>2] = $290; + $291 = ((($55)) + 4|0); + HEAP32[$291>>2] = 559; + $292 = ((($55)) + 8|0); + HEAP32[$292>>2] = 1280; + $293 = ((($55)) + 12|0); + HEAP32[$293>>2] = 154; + HEAPF32[$56>>2] = 0.0; + $294 = ((($56)) + 4|0); + HEAPF32[$294>>2] = 0.0; + ;HEAP32[$atlas02$byval_copy92>>2]=HEAP32[25532>>2]|0;HEAP32[$atlas02$byval_copy92+4>>2]=HEAP32[25532+4>>2]|0;HEAP32[$atlas02$byval_copy92+8>>2]=HEAP32[25532+8>>2]|0;HEAP32[$atlas02$byval_copy92+12>>2]=HEAP32[25532+12>>2]|0;HEAP32[$atlas02$byval_copy92+16>>2]=HEAP32[25532+16>>2]|0; + ;HEAP32[$$byval_copy93>>2]=HEAP32[$54>>2]|0;HEAP32[$$byval_copy93+4>>2]=HEAP32[$54+4>>2]|0;HEAP32[$$byval_copy93+8>>2]=HEAP32[$54+8>>2]|0;HEAP32[$$byval_copy93+12>>2]=HEAP32[$54+12>>2]|0; + ;HEAP32[$$byval_copy94>>2]=HEAP32[$55>>2]|0;HEAP32[$$byval_copy94+4>>2]=HEAP32[$55+4>>2]|0;HEAP32[$$byval_copy94+8>>2]=HEAP32[$55+8>>2]|0;HEAP32[$$byval_copy94+12>>2]=HEAP32[$55+12>>2]|0; + ;HEAP32[$$byval_copy95>>2]=HEAP32[$56>>2]|0;HEAP32[$$byval_copy95+4>>2]=HEAP32[$56+4>>2]|0; + ;HEAP8[$color01$32$byval_copy96>>0]=HEAP8[161536>>0]|0;HEAP8[$color01$32$byval_copy96+1>>0]=HEAP8[161536+1>>0]|0;HEAP8[$color01$32$byval_copy96+2>>0]=HEAP8[161536+2>>0]|0;HEAP8[$color01$32$byval_copy96+3>>0]=HEAP8[161536+3>>0]|0; + _DrawTexturePro($atlas02$byval_copy92,$$byval_copy93,$$byval_copy94,$$byval_copy95,0.0,$color01$32$byval_copy96); + HEAP32[$57>>2] = 1146; + $295 = ((($57)) + 4|0); + HEAP32[$295>>2] = 158; + $296 = ((($57)) + 8|0); + HEAP32[$296>>2] = 640; + $297 = ((($57)) + 12|0); + HEAP32[$297>>2] = -77; + $298 = +HEAPF32[40328]; + $299 = (~~(($298))); + $300 = (_GetScreenWidth()|0); + $301 = (($299) + ($300))|0; + HEAP32[$58>>2] = $301; + $302 = ((($58)) + 4|0); + HEAP32[$302>>2] = -33; + $303 = ((($58)) + 8|0); + HEAP32[$303>>2] = 1280; + $304 = ((($58)) + 12|0); + HEAP32[$304>>2] = 154; + HEAPF32[$59>>2] = 0.0; + $305 = ((($59)) + 4|0); + HEAPF32[$305>>2] = 0.0; + ;HEAP32[$atlas02$byval_copy92>>2]=HEAP32[25532>>2]|0;HEAP32[$atlas02$byval_copy92+4>>2]=HEAP32[25532+4>>2]|0;HEAP32[$atlas02$byval_copy92+8>>2]=HEAP32[25532+8>>2]|0;HEAP32[$atlas02$byval_copy92+12>>2]=HEAP32[25532+12>>2]|0;HEAP32[$atlas02$byval_copy92+16>>2]=HEAP32[25532+16>>2]|0; + ;HEAP32[$$byval_copy93>>2]=HEAP32[$57>>2]|0;HEAP32[$$byval_copy93+4>>2]=HEAP32[$57+4>>2]|0;HEAP32[$$byval_copy93+8>>2]=HEAP32[$57+8>>2]|0;HEAP32[$$byval_copy93+12>>2]=HEAP32[$57+12>>2]|0; + ;HEAP32[$$byval_copy94>>2]=HEAP32[$58>>2]|0;HEAP32[$$byval_copy94+4>>2]=HEAP32[$58+4>>2]|0;HEAP32[$$byval_copy94+8>>2]=HEAP32[$58+8>>2]|0;HEAP32[$$byval_copy94+12>>2]=HEAP32[$58+12>>2]|0; + ;HEAP32[$$byval_copy95>>2]=HEAP32[$59>>2]|0;HEAP32[$$byval_copy95+4>>2]=HEAP32[$59+4>>2]|0; + ;HEAP8[$color01$32$byval_copy96>>0]=HEAP8[161536>>0]|0;HEAP8[$color01$32$byval_copy96+1>>0]=HEAP8[161536+1>>0]|0;HEAP8[$color01$32$byval_copy96+2>>0]=HEAP8[161536+2>>0]|0;HEAP8[$color01$32$byval_copy96+3>>0]=HEAP8[161536+3>>0]|0; + _DrawTexturePro($atlas02$byval_copy92,$$byval_copy93,$$byval_copy94,$$byval_copy95,0.0,$color01$32$byval_copy96); + STACKTOP = sp;return; +} +function _UnloadGameplayScreen() { + var label = 0, sp = 0; + sp = STACKTOP; + return; +} +function _FinishGameplayScreen() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[40315]|0; + return ($0|0); +} +function _InitEndingScreen() { + var $$06466 = 0, $$sink = 0, $$sink1 = 0.0, $$sink5 = 0, $$sroa$0$0$$sroa_idx = 0, $$sroa$011$0$$sroa_idx = 0, $$sroa$014$0$$sroa_idx = 0, $$sroa$212$0$$sroa_idx13 = 0, $$sroa$215$0$$sroa_idx16 = 0, $0 = 0, $1 = 0, $10 = 0.0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0.0, $16 = 0, $17 = 0.0, $18 = 0; + var $19 = 0.0, $2 = 0, $20 = 0.0, $21 = 0, $22 = 0.0, $23 = 0.0, $24 = 0, $25 = 0.0, $26 = 0.0, $27 = 0, $28 = 0, $29 = 0.0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0; + var $37 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0, $8 = 0, $9 = 0.0, $exitcond = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAP32[83471] = -10; + HEAP32[83472] = 0; + HEAP32[83473] = 15; + HEAP32[83474] = 0; + HEAP32[83475] = 0; + $0 = HEAP32[6567]|0; + $1 = HEAP32[6562]|0; + $2 = (($1|0) / 4)&-1; + $3 = (($2) + ($0))|0; + HEAP32[83476] = $3; + HEAP32[83477] = $2; + $4 = (_GetScreenWidth()|0); + $5 = (+($4|0)); + $6 = $5 * 0.87099999999999999; + $7 = (~~(($6))); + $8 = (_GetScreenHeight()|0); + $9 = (+($8|0)); + $10 = $9 * 0.096000000000000001; + $11 = (~~(($10))); + HEAP32[83478] = $7; + HEAP32[(333916)>>2] = $11; + HEAP32[(333920)>>2] = 123; + HEAP32[(333924)>>2] = 123; + HEAP32[83482] = -1; + HEAP32[83483] = -1; + HEAP32[83484] = -1; + HEAP32[83485] = -1; + HEAP32[83486] = 0; + HEAP32[83487] = 0; + HEAP32[83488] = 0; + HEAP32[83489] = 0; + HEAP8[339148] = -80; + HEAP8[(339149)>>0] = -89; + HEAP8[(339150)>>0] = -105; + HEAP8[(339151)>>0] = -1; + $$06466 = 0; + while(1) { + $13 = (((333960 + (($$06466*36)|0)|0)) + 32|0); + HEAP32[$13>>2] = 0; + $14 = (_GetRandomValue(-20,20)|0); + $15 = (+($14|0)); + $16 = (_GetRandomValue(-20,20)|0); + $17 = (+($16|0)); + $$sroa$014$0$$sroa_idx = (333960 + (($$06466*36)|0)|0); + HEAPF32[$$sroa$014$0$$sroa_idx>>2] = $15; + $$sroa$215$0$$sroa_idx16 = (((333960 + (($$06466*36)|0)|0)) + 4|0); + HEAPF32[$$sroa$215$0$$sroa_idx16>>2] = $17; + $18 = (_GetRandomValue(-500,500)|0); + $19 = (+($18|0)); + $20 = $19 / 100.0; + $21 = (_GetRandomValue(-500,500)|0); + $22 = (+($21|0)); + $23 = $22 / 100.0; + $$sroa$011$0$$sroa_idx = (((333960 + (($$06466*36)|0)|0)) + 8|0); + HEAPF32[$$sroa$011$0$$sroa_idx>>2] = $20; + $$sroa$212$0$$sroa_idx13 = (((333960 + (($$06466*36)|0)|0)) + 12|0); + HEAPF32[$$sroa$212$0$$sroa_idx13>>2] = $23; + $24 = (_GetRandomValue(3,10)|0); + $25 = (+($24|0)); + $26 = $25 / 5.0; + $27 = (((333960 + (($$06466*36)|0)|0)) + 20|0); + HEAPF32[$27>>2] = $26; + $28 = (_GetRandomValue(0,360)|0); + $29 = (+($28|0)); + $30 = (((333960 + (($$06466*36)|0)|0)) + 16|0); + HEAPF32[$30>>2] = $29; + $$sroa$0$0$$sroa_idx = (((333960 + (($$06466*36)|0)|0)) + 24|0); + $31 = (((333960 + (($$06466*36)|0)|0)) + 28|0); + HEAP32[$$sroa$0$0$$sroa_idx>>2] = -1; + HEAPF32[$31>>2] = 1.0; + $32 = (($$06466) + 1)|0; + $exitcond = ($32|0)==(20); + if ($exitcond) { + break; + } else { + $$06466 = $32; + } + } + $12 = HEAP32[6566]|0; + switch ($12|0) { + case 0: { + ;HEAP8[339152>>0]=HEAP8[7130>>0]|0;HEAP8[339152+1>>0]=HEAP8[7130+1>>0]|0;HEAP8[339152+2>>0]=HEAP8[7130+2>>0]|0;HEAP8[339152+3>>0]=HEAP8[7130+3>>0]|0;HEAP8[339152+4>>0]=HEAP8[7130+4>>0]|0;HEAP8[339152+5>>0]=HEAP8[7130+5>>0]|0;HEAP8[339152+6>>0]=HEAP8[7130+6>>0]|0; + $$sink = 225;$$sink1 = 225.0; + label = 8; + break; + } + case 1: { + ;HEAP8[339152>>0]=HEAP8[7137>>0]|0;HEAP8[339152+1>>0]=HEAP8[7137+1>>0]|0;HEAP8[339152+2>>0]=HEAP8[7137+2>>0]|0;HEAP8[339152+3>>0]=HEAP8[7137+3>>0]|0;HEAP8[339152+4>>0]=HEAP8[7137+4>>0]|0;HEAP8[339152+5>>0]=HEAP8[7137+5>>0]|0;HEAP8[339152+6>>0]=HEAP8[7137+6>>0]|0; + $$sink = 135;$$sink1 = 135.0; + label = 8; + break; + } + case 2: { + ;HEAP8[339152>>0]=HEAP8[7144>>0]|0;HEAP8[339152+1>>0]=HEAP8[7144+1>>0]|0;HEAP8[339152+2>>0]=HEAP8[7144+2>>0]|0;HEAP8[339152+3>>0]=HEAP8[7144+3>>0]|0;HEAP8[339152+4>>0]=HEAP8[7144+4>>0]|0;HEAP8[339152+5>>0]=HEAP8[7144+5>>0]|0;HEAP8[339152+6>>0]=HEAP8[7144+6>>0]|0; + $$sink = 45;$$sink1 = 45.0; + label = 8; + break; + } + case 3: { + ;HEAP8[339152>>0]=HEAP8[7151>>0]|0;HEAP8[339152+1>>0]=HEAP8[7151+1>>0]|0;HEAP8[339152+2>>0]=HEAP8[7151+2>>0]|0;HEAP8[339152+3>>0]=HEAP8[7151+3>>0]|0;HEAP8[339152+4>>0]=HEAP8[7151+4>>0]|0;HEAP8[339152+5>>0]=HEAP8[7151+5>>0]|0;HEAP8[339152+6>>0]=HEAP8[7151+6>>0]|0; + $$sink = 315;$$sink1 = 315.0; + label = 8; + break; + } + default: { + } + } + if ((label|0) == 8) { + HEAPF32[83670] = $$sink1; + HEAP32[83671] = $$sink; + } + $33 = HEAP32[6565]|0; + switch ($33|0) { + case 0: { + ;HEAP8[339184>>0]=HEAP8[7130>>0]|0;HEAP8[339184+1>>0]=HEAP8[7130+1>>0]|0;HEAP8[339184+2>>0]=HEAP8[7130+2>>0]|0;HEAP8[339184+3>>0]=HEAP8[7130+3>>0]|0;HEAP8[339184+4>>0]=HEAP8[7130+4>>0]|0;HEAP8[339184+5>>0]=HEAP8[7130+5>>0]|0;HEAP8[339184+6>>0]=HEAP8[7130+6>>0]|0; + $$sink5 = 225; + break; + } + case 1: { + ;HEAP8[339184>>0]=HEAP8[7137>>0]|0;HEAP8[339184+1>>0]=HEAP8[7137+1>>0]|0;HEAP8[339184+2>>0]=HEAP8[7137+2>>0]|0;HEAP8[339184+3>>0]=HEAP8[7137+3>>0]|0;HEAP8[339184+4>>0]=HEAP8[7137+4>>0]|0;HEAP8[339184+5>>0]=HEAP8[7137+5>>0]|0;HEAP8[339184+6>>0]=HEAP8[7137+6>>0]|0; + $$sink5 = 135; + break; + } + case 2: { + ;HEAP8[339184>>0]=HEAP8[7144>>0]|0;HEAP8[339184+1>>0]=HEAP8[7144+1>>0]|0;HEAP8[339184+2>>0]=HEAP8[7144+2>>0]|0;HEAP8[339184+3>>0]=HEAP8[7144+3>>0]|0;HEAP8[339184+4>>0]=HEAP8[7144+4>>0]|0;HEAP8[339184+5>>0]=HEAP8[7144+5>>0]|0;HEAP8[339184+6>>0]=HEAP8[7144+6>>0]|0; + $$sink5 = 45; + break; + } + case 3: { + ;HEAP8[339184>>0]=HEAP8[7151>>0]|0;HEAP8[339184+1>>0]=HEAP8[7151+1>>0]|0;HEAP8[339184+2>>0]=HEAP8[7151+2>>0]|0;HEAP8[339184+3>>0]=HEAP8[7151+3>>0]|0;HEAP8[339184+4>>0]=HEAP8[7151+4>>0]|0;HEAP8[339184+5>>0]=HEAP8[7151+5>>0]|0;HEAP8[339184+6>>0]=HEAP8[7151+6>>0]|0; + $$sink5 = 315; + break; + } + default: { + _memset((334692|0),0,512)|0; + return; + } + } + $34 = HEAP32[83477]|0; + $35 = ($34*360)|0; + $36 = (($35) + ($$sink5))|0; + $37 = (+($36|0)); + HEAPF32[83672] = $37; + _memset((334692|0),0,512)|0; + return; +} +function _UpdateEndingScreen() { + var $$03944 = 0, $$04046 = 0, $$04145 = 0, $$043 = 0, $$byval_copy = 0, $$inv = 0, $$pr = 0, $$sroa$028$0$$sroa_idx = 0, $$sroa$229$0$$sroa_idx30 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0.0, $101 = 0, $102 = 0.0, $103 = 0.0, $104 = 0.0, $105 = 0.0, $106 = 0.0, $107 = 0; + var $108 = 0, $109 = 0, $11 = 0, $110 = 0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0.0, $37 = 0.0, $38 = 0.0, $39 = 0, $4 = 0, $40 = 0.0, $41 = 0.0, $42 = 0.0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0.0, $54 = 0.0, $55 = 0.0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; + var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0.0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0.0, $80 = 0; + var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0.0, $87 = 0, $88 = 0.0, $89 = 0.0, $9 = 0.0, $90 = 0, $91 = 0.0, $92 = 0, $93 = 0.0, $94 = 0.0, $95 = 0, $96 = 0.0, $97 = 0.0, $98 = 0, $99 = 0.0; + var $exitcond = 0, $exitcond47 = 0, $exitcond48 = 0, $exitcond49 = 0, $or$cond = 0, $playButton$byval_copy = 0, $storemerge = 0.0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $playButton$byval_copy = sp + 16|0; + $$byval_copy = sp + 8|0; + $0 = sp; + $1 = HEAP32[83471]|0; + $2 = (($1) + 1)|0; + HEAP32[83471] = $2; + $3 = HEAP32[83489]|0; + L1: do { + switch ($3|0) { + case 0: { + $4 = ($2|0)>(9); + if ($4) { + HEAP32[83489] = 1; + HEAP32[83471] = 0; + $$043 = 0; + } else { + $$043 = 0; + } + break; + } + case 1: { + $5 = HEAP32[6562]|0; + $6 = ($5|0)>(0); + if ($6) { + $7 = (+($2|0)); + $8 = (+($5|0)); + $9 = (+_LinearEaseIn_85($7,0.0,$8)); + $10 = (~~(($9))); + HEAP32[83487] = $10; + $11 = HEAP32[83471]|0; + $12 = (+($11|0)); + $13 = HEAP32[83671]|0; + $14 = (+($13|0)); + $15 = +HEAPF32[83672]; + $16 = $15 - $14; + $17 = -$16; + $18 = (+_LinearEaseIn_85($12,$14,$17)); + HEAPF32[83670] = $18; + $19 = HEAP32[83471]|0; + $20 = ($19|0)>(89); + if ($20) { + HEAP32[83489] = 2; + HEAP32[83471] = 0; + } + } else { + HEAP32[83489] = 2; + } + $21 = (_IsGestureDetected(1)|0); + $22 = ($21|0)==(0); + if ($22) { + $$043 = 0; + } else { + $23 = HEAP32[6562]|0; + HEAP32[83487] = $23; + $24 = HEAP32[83672]|0; + HEAP32[83670] = $24; + HEAP32[83471] = 0; + HEAP32[83489] = 2; + $$043 = 0; + } + break; + } + case 2: { + $25 = HEAP32[6564]|0; + $26 = ($25|0)>(0); + do { + if ($26) { + $27 = HEAP32[83488]|0; + $28 = ($27|0)==($25|0); + if ($28) { + HEAP32[83489] = 3; + HEAP32[83471] = 0; + break; + } + $29 = ($27|0)<($25|0); + if ($29) { + $30 = ($2|0)>(3); + if ($30) { + $31 = (($27) + 1)|0; + HEAP32[83488] = $31; + HEAP32[83471] = 0; + $$03944 = 0; + } else { + $$03944 = 0; + } + while(1) { + $32 = (((333960 + (($$03944*36)|0)|0)) + 32|0); + $33 = HEAP32[$32>>2]|0; + $34 = ($33|0)==(0); + if ($34) { + $35 = (_GetScreenWidth()|0); + $36 = (+($35|0)); + $37 = $36 * 0.46000000000000002; + $38 = $37; + $39 = (_GetScreenHeight()|0); + $40 = (+($39|0)); + $41 = $40 * 0.32000000000000001; + $42 = $41; + $$sroa$028$0$$sroa_idx = (333960 + (($$03944*36)|0)|0); + HEAPF32[$$sroa$028$0$$sroa_idx>>2] = $38; + $$sroa$229$0$$sroa_idx30 = (((333960 + (($$03944*36)|0)|0)) + 4|0); + HEAPF32[$$sroa$229$0$$sroa_idx30>>2] = $42; + $43 = (((333960 + (($$03944*36)|0)|0)) + 28|0); + HEAPF32[$43>>2] = 1.0; + HEAP32[$32>>2] = 1; + } + $44 = (($$03944) + 1)|0; + $exitcond47 = ($44|0)==(20); + if ($exitcond47) { + break; + } else { + $$03944 = $44; + } + } + } + } else { + HEAP32[83489] = 3; + } + } while(0); + $45 = (_IsGestureDetected(1)|0); + $46 = ($45|0)==(0); + if ($46) { + $$043 = 0; + } else { + $47 = HEAP32[6564]|0; + HEAP32[83488] = $47; + HEAP32[83471] = 0; + HEAP32[83489] = 3; + $$043 = 0; + } + break; + } + case 3: { + $48 = HEAP32[6431]|0; + $49 = ($48|0)>(0); + if ($49) { + $50 = ($2|0)>(90); + $51 = HEAP32[83475]|0; + $52 = ($51|0)!=(0); + $or$cond = $50 | $52; + if (!($or$cond)) { + $53 = (+($48|0)); + $54 = (+($2|0)); + $55 = (+_LinearEaseIn_85($54,0.0,$53)); + $56 = (~~(($55))); + HEAP32[83486] = $56; + } + $57 = HEAP32[83801]|0; + $58 = (($57) + 1)|0; + HEAP32[83801] = $58; + $59 = HEAP32[83473]|0; + $$04046 = 0; + while(1) { + $62 = HEAP32[83801]|0; + $63 = ($62|0)<($59|0); + if (!($63)) { + $64 = (334692 + ($$04046<<2)|0); + $65 = HEAP32[$64>>2]|0; + $66 = ($65|0)==(0); + if ($66) { + HEAP32[$64>>2] = 1; + HEAP32[83801] = 0; + } + } + $67 = (($$04046) + 1)|0; + $exitcond49 = ($67|0)==(128); + if ($exitcond49) { + break; + } else { + $$04046 = $67; + } + } + $60 = HEAP32[83471]|0; + $61 = ($60|0)>(89); + if ($61) { + HEAP32[83489] = 4; + HEAP32[83471] = 0; + } + } else { + HEAP32[83489] = 4; + } + $68 = (_IsGestureDetected(1)|0); + $69 = ($68|0)==(0); + if ($69) { + $$043 = 0; + } else { + $70 = HEAP32[6431]|0; + HEAP32[83486] = $70; + HEAP32[83471] = 0; + $$04145 = 0; + while(1) { + $71 = (334692 + ($$04145<<2)|0); + HEAP32[$71>>2] = 1; + $72 = (($$04145) + 1)|0; + $exitcond48 = ($72|0)==(128); + if ($exitcond48) { + break; + } else { + $$04145 = $72; + } + } + HEAP32[83489] = 4; + $$043 = 0; + } + break; + } + case 4: { + $73 = (_IsGestureDetected(1)|0); + $74 = ($73|0)==(0); + if ($74) { + $$pr = HEAP32[83475]|0; + $75 = ($$pr|0)==(0); + if ($75) { + $$043 = 0; + break L1; + } + } else { + HEAP32[83475] = 1; + } + $76 = HEAP32[83474]|0; + $77 = (($76) + 1)|0; + HEAP32[83474] = $77; + $78 = ($77|0)>(29); + if ($78) { + HEAP32[83472] = 1; + $79 = (_GetRandomValue(0,3)|0); + HEAP32[6566] = $79; + } + HEAP8[333928] = -1; + HEAP8[(333929)>>0] = -53; + HEAP8[(333930)>>0] = 0; + HEAP8[(333931)>>0] = -1; + $$043 = 0; + break; + } + default: { + $$043 = 0; + } + } + } while(0); + while(1) { + $82 = (((333960 + (($$043*36)|0)|0)) + 32|0); + $83 = HEAP32[$82>>2]|0; + $84 = ($83|0)==(1); + if ($84) { + $85 = (((333960 + (($$043*36)|0)|0)) + 8|0); + $86 = +HEAPF32[$85>>2]; + $87 = (333960 + (($$043*36)|0)|0); + $88 = +HEAPF32[$87>>2]; + $89 = $86 + $88; + HEAPF32[$87>>2] = $89; + $90 = (((333960 + (($$043*36)|0)|0)) + 12|0); + $91 = +HEAPF32[$90>>2]; + $92 = (((333960 + (($$043*36)|0)|0)) + 4|0); + $93 = +HEAPF32[$92>>2]; + $94 = $91 + $93; + HEAPF32[$92>>2] = $94; + $95 = (((333960 + (($$043*36)|0)|0)) + 16|0); + $96 = +HEAPF32[$95>>2]; + $97 = $96 + 6.0; + HEAPF32[$95>>2] = $97; + $98 = (((333960 + (($$043*36)|0)|0)) + 28|0); + $99 = +HEAPF32[$98>>2]; + $100 = $99 + -0.029999999329447746; + HEAPF32[$98>>2] = $100; + $101 = (((333960 + (($$043*36)|0)|0)) + 20|0); + $102 = +HEAPF32[$101>>2]; + $103 = $102; + $104 = $103 + -0.0040000000000000001; + $105 = $104; + $$inv = $105 <= 0.0; + $storemerge = $$inv ? 0.0 : $105; + HEAPF32[$101>>2] = $storemerge; + $106 = +HEAPF32[$98>>2]; + $107 = !($106 <= 0.0); + if (!($107)) { + HEAPF32[$98>>2] = 0.0; + HEAP32[$82>>2] = 0; + } + } + $108 = (($$043) + 1)|0; + $exitcond = ($108|0)==(20); + if ($exitcond) { + break; + } else { + $$043 = $108; + } + } + $80 = (_IsGestureDetected(1)|0); + $81 = ($80|0)==(0); + if ($81) { + STACKTOP = sp;return; + } + _GetTouchPosition($0,0); + ;HEAP32[$$byval_copy>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$0+4>>2]|0; + ;HEAP32[$playButton$byval_copy>>2]=HEAP32[333912>>2]|0;HEAP32[$playButton$byval_copy+4>>2]=HEAP32[333912+4>>2]|0;HEAP32[$playButton$byval_copy+8>>2]=HEAP32[333912+8>>2]|0;HEAP32[$playButton$byval_copy+12>>2]=HEAP32[333912+12>>2]|0; + $109 = (_CheckCollisionPointRec($$byval_copy,$playButton$byval_copy)|0); + $110 = ($109|0)==(0); + if ($110) { + STACKTOP = sp;return; + } + HEAP32[83489] = 4; + HEAP32[83475] = 1; + STACKTOP = sp;return; +} +function _LinearEaseIn_85($0,$1,$2) { + $0 = +$0; + $1 = +$1; + $2 = +$2; + var $3 = 0.0, $4 = 0.0, $5 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $3 = $0 * $2; + $4 = $3 / 90.0; + $5 = $4 + $1; + return (+$5); +} +function _DrawEndingScreen() { + var $$0290293 = 0, $$0291292 = 0, $$0294 = 0, $$byval_copy163 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0; + var $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0; + var $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0; + var $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0.0, $159 = 0.0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0.0, $164 = 0.0, $165 = 0, $166 = 0; + var $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0.0, $174 = 0.0, $175 = 0, $176 = 0, $177 = 0, $178 = 0.0, $179 = 0.0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0; + var $185 = 0, $186 = 0, $187 = 0.0, $188 = 0, $189 = 0, $19 = 0, $190 = 0.0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0.0, $197 = 0.0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0.0; + var $202 = 0.0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0.0, $212 = 0.0, $213 = 0, $214 = 0, $215 = 0, $216 = 0.0, $217 = 0.0, $218 = 0, $219 = 0, $22 = 0; + var $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0.0, $227 = 0.0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0.0, $232 = 0.0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0; + var $239 = 0, $24 = 0, $240 = 0, $241 = 0.0, $242 = 0.0, $243 = 0, $244 = 0, $245 = 0, $246 = 0.0, $247 = 0.0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0.0; + var $257 = 0.0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0.0, $262 = 0.0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0.0, $272 = 0.0, $273 = 0, $274 = 0; + var $275 = 0, $276 = 0.0, $277 = 0.0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0.0, $287 = 0.0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0.0, $292 = 0.0; + var $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0.0, $302 = 0.0, $303 = 0, $304 = 0, $305 = 0, $306 = 0.0, $307 = 0.0, $308 = 0, $309 = 0, $31 = 0; + var $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0.0, $317 = 0.0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0.0, $322 = 0.0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0; + var $329 = 0, $33 = 0, $330 = 0, $331 = 0.0, $332 = 0.0, $333 = 0, $334 = 0, $335 = 0, $336 = 0.0, $337 = 0.0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0.0; + var $347 = 0.0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0.0, $352 = 0.0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0.0, $362 = 0.0, $363 = 0, $364 = 0; + var $365 = 0, $366 = 0.0, $367 = 0.0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0.0, $377 = 0.0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0.0, $382 = 0.0; + var $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0.0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0.0, $393 = 0.0, $394 = 0, $395 = 0, $396 = 0, $397 = 0.0, $398 = 0.0, $399 = 0, $4 = 0, $40 = 0; + var $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0.0, $408 = 0.0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0.0, $413 = 0.0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0; + var $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0.0, $423 = 0.0, $424 = 0, $425 = 0, $426 = 0, $427 = 0.0, $428 = 0.0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0; + var $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0.0, $445 = 0.0, $446 = 0, $447 = 0, $448 = 0, $449 = 0.0, $45 = 0, $450 = 0.0, $451 = 0, $452 = 0, $453 = 0, $454 = 0; + var $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0.0, $46 = 0, $460 = 0.0, $461 = 0, $462 = 0, $463 = 0, $464 = 0.0, $465 = 0.0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0; + var $473 = 0, $474 = 0.0, $475 = 0.0, $476 = 0, $477 = 0, $478 = 0, $479 = 0.0, $48 = 0, $480 = 0.0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0.0, $49 = 0, $490 = 0.0; + var $491 = 0, $492 = 0, $493 = 0, $494 = 0.0, $495 = 0.0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0.0, $505 = 0.0, $506 = 0, $507 = 0, $508 = 0; + var $509 = 0.0, $51 = 0, $510 = 0.0, $511 = 0, $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0.0, $52 = 0, $520 = 0.0, $521 = 0, $522 = 0, $523 = 0, $524 = 0.0, $525 = 0.0, $526 = 0; + var $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0, $531 = 0, $532 = 0, $533 = 0, $534 = 0.0, $535 = 0.0, $536 = 0, $537 = 0, $538 = 0, $539 = 0.0, $54 = 0, $540 = 0.0, $541 = 0, $542 = 0, $543 = 0, $544 = 0; + var $545 = 0, $546 = 0, $547 = 0, $548 = 0, $549 = 0.0, $55 = 0, $550 = 0.0, $551 = 0, $552 = 0, $553 = 0, $554 = 0.0, $555 = 0.0, $556 = 0, $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0, $562 = 0; + var $563 = 0.0, $564 = 0.0, $565 = 0, $566 = 0, $567 = 0.0, $568 = 0.0, $569 = 0, $57 = 0, $570 = 0.0, $571 = 0, $572 = 0, $573 = 0, $574 = 0.0, $575 = 0.0, $576 = 0, $577 = 0, $578 = 0.0, $579 = 0.0, $58 = 0, $580 = 0; + var $581 = 0.0, $582 = 0, $583 = 0, $584 = 0, $585 = 0.0, $586 = 0.0, $587 = 0, $588 = 0, $589 = 0.0, $59 = 0, $590 = 0.0, $591 = 0, $592 = 0.0, $593 = 0, $594 = 0, $595 = 0, $596 = 0, $597 = 0.0, $598 = 0.0, $599 = 0; + var $6 = 0, $60 = 0, $600 = 0, $601 = 0.0, $602 = 0.0, $603 = 0, $604 = 0.0, $605 = 0.0, $606 = 0, $607 = 0, $608 = 0, $609 = 0, $61 = 0, $610 = 0, $611 = 0, $612 = 0, $613 = 0, $614 = 0, $615 = 0, $616 = 0; + var $617 = 0, $618 = 0, $619 = 0, $62 = 0, $620 = 0, $621 = 0, $622 = 0, $623 = 0, $624 = 0, $625 = 0, $626 = 0, $627 = 0, $628 = 0, $629 = 0, $63 = 0, $630 = 0.0, $631 = 0, $632 = 0, $633 = 0.0, $634 = 0; + var $635 = 0, $636 = 0.0, $637 = 0.0, $638 = 0, $639 = 0.0, $64 = 0, $640 = 0, $641 = 0.0, $642 = 0, $643 = 0.0, $644 = 0, $645 = 0, $646 = 0, $647 = 0, $648 = 0, $649 = 0, $65 = 0, $650 = 0, $651 = 0, $652 = 0.0; + var $653 = 0.0, $654 = 0, $655 = 0, $656 = 0.0, $657 = 0.0, $658 = 0.0, $659 = 0, $66 = 0, $660 = 0.0, $661 = 0.0, $662 = 0, $663 = 0.0, $664 = 0.0, $665 = 0, $666 = 0.0, $667 = 0.0, $668 = 0.0, $669 = 0.0, $67 = 0, $670 = 0; + var $671 = 0.0, $672 = 0.0, $673 = 0, $674 = 0, $675 = 0.0, $676 = 0.0, $677 = 0.0, $678 = 0, $679 = 0.0, $68 = 0, $680 = 0.0, $681 = 0, $682 = 0.0, $683 = 0.0, $684 = 0, $685 = 0.0, $686 = 0.0, $687 = 0.0, $688 = 0.0, $689 = 0; + var $69 = 0, $690 = 0.0, $691 = 0.0, $692 = 0, $693 = 0, $694 = 0.0, $695 = 0.0, $696 = 0.0, $697 = 0, $698 = 0.0, $699 = 0.0, $7 = 0, $70 = 0, $700 = 0, $701 = 0.0, $702 = 0.0, $703 = 0, $704 = 0.0, $705 = 0.0, $706 = 0.0; + var $707 = 0.0, $708 = 0, $709 = 0.0, $71 = 0, $710 = 0.0, $711 = 0, $712 = 0, $713 = 0.0, $714 = 0.0, $715 = 0.0, $716 = 0, $717 = 0.0, $718 = 0.0, $719 = 0, $72 = 0, $720 = 0.0, $721 = 0.0, $722 = 0, $723 = 0.0, $724 = 0.0; + var $725 = 0.0, $726 = 0.0, $727 = 0, $728 = 0.0, $729 = 0.0, $73 = 0, $730 = 0, $731 = 0, $732 = 0.0, $733 = 0.0, $734 = 0.0, $735 = 0, $736 = 0.0, $737 = 0.0, $738 = 0, $739 = 0.0, $74 = 0, $740 = 0.0, $741 = 0, $742 = 0.0; + var $743 = 0.0, $744 = 0.0, $745 = 0.0, $746 = 0, $747 = 0, $748 = 0.0, $749 = 0.0, $75 = 0, $750 = 0, $751 = 0, $752 = 0.0, $753 = 0.0, $754 = 0, $755 = 0.0, $756 = 0.0, $757 = 0, $758 = 0.0, $759 = 0.0, $76 = 0, $760 = 0; + var $761 = 0, $762 = 0.0, $763 = 0.0, $764 = 0, $765 = 0.0, $766 = 0.0, $767 = 0, $768 = 0.0, $769 = 0.0, $77 = 0, $770 = 0, $771 = 0, $772 = 0.0, $773 = 0.0, $774 = 0, $775 = 0.0, $776 = 0.0, $777 = 0, $778 = 0.0, $779 = 0.0; + var $78 = 0, $780 = 0, $781 = 0, $782 = 0.0, $783 = 0.0, $784 = 0, $785 = 0.0, $786 = 0.0, $787 = 0, $788 = 0.0, $789 = 0.0, $79 = 0, $790 = 0, $791 = 0, $792 = 0.0, $793 = 0.0, $794 = 0, $795 = 0.0, $796 = 0.0, $797 = 0; + var $798 = 0.0, $799 = 0.0, $8 = 0, $80 = 0, $800 = 0, $801 = 0, $802 = 0.0, $803 = 0.0, $804 = 0, $805 = 0.0, $806 = 0.0, $807 = 0, $808 = 0.0, $809 = 0.0, $81 = 0, $810 = 0, $811 = 0, $812 = 0.0, $813 = 0.0, $814 = 0; + var $815 = 0.0, $816 = 0.0, $817 = 0, $818 = 0.0, $819 = 0.0, $82 = 0, $820 = 0, $821 = 0, $822 = 0.0, $823 = 0.0, $824 = 0, $825 = 0.0, $826 = 0.0, $827 = 0, $828 = 0.0, $829 = 0.0, $83 = 0, $830 = 0, $831 = 0, $832 = 0.0; + var $833 = 0.0, $834 = 0, $835 = 0.0, $836 = 0.0, $837 = 0, $838 = 0.0, $839 = 0.0, $84 = 0, $840 = 0, $841 = 0, $842 = 0.0, $843 = 0.0, $844 = 0, $845 = 0.0, $846 = 0.0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0; + var $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $atlas01$byval_copy124 = 0, $atlas01$byval_copy141 = 0, $exitcond = 0, $exitcond295 = 0, $exitcond296 = 0, $font$byval_copy162 = 0, $tmpcast318$byval_copy = 0, $vararg_buffer = 0, $vararg_buffer1 = 0; + var $vararg_buffer4 = 0, $vararg_buffer7 = 0, $vararg_ptr10 = 0, $vararg_ptr11 = 0, $vararg_ptr12 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 1808|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1808|0); + $tmpcast318$byval_copy = sp + 1796|0; + $$byval_copy163 = sp + 1784|0; + $font$byval_copy162 = sp + 1752|0; + $atlas01$byval_copy141 = sp + 1432|0; + $atlas01$byval_copy124 = sp + 1160|0; + $vararg_buffer7 = sp + 24|0; + $vararg_buffer4 = sp + 16|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $0 = sp + 1736|0; + $1 = sp + 1728|0; + $2 = sp + 1712|0; + $3 = sp + 1696|0; + $4 = sp + 1688|0; + $5 = sp + 1680|0; + $6 = sp + 1664|0; + $7 = sp + 1648|0; + $8 = sp + 1640|0; + $9 = sp + 1632|0; + $10 = sp + 1616|0; + $11 = sp + 1600|0; + $12 = sp + 1592|0; + $13 = sp + 1584|0; + $14 = sp + 1568|0; + $15 = sp + 1552|0; + $16 = sp + 1544|0; + $17 = sp + 1536|0; + $18 = sp + 1520|0; + $19 = sp + 1504|0; + $20 = sp + 1496|0; + $21 = sp + 1488|0; + $22 = sp + 1472|0; + $23 = sp + 1456|0; + $24 = sp + 1424|0; + $25 = sp + 1416|0; + $26 = sp + 1400|0; + $27 = sp + 1384|0; + $28 = sp + 1376|0; + $29 = sp + 1368|0; + $30 = sp + 1352|0; + $31 = sp + 1336|0; + $32 = sp + 1328|0; + $33 = sp + 1320|0; + $34 = sp + 1304|0; + $35 = sp + 1288|0; + $36 = sp + 1280|0; + $37 = sp + 1272|0; + $38 = sp + 1256|0; + $39 = sp + 1240|0; + $40 = sp + 1232|0; + $41 = sp + 1224|0; + $42 = sp + 1208|0; + $43 = sp + 1192|0; + $44 = sp + 1184|0; + $45 = sp + 1180|0; + $46 = sp + 1144|0; + $47 = sp + 1128|0; + $48 = sp + 1120|0; + $49 = sp + 1112|0; + $50 = sp + 1096|0; + $51 = sp + 1080|0; + $52 = sp + 1072|0; + $53 = sp + 1064|0; + $54 = sp + 1048|0; + $55 = sp + 1032|0; + $56 = sp + 1024|0; + $57 = sp + 1016|0; + $58 = sp + 1000|0; + $59 = sp + 984|0; + $60 = sp + 976|0; + $61 = sp + 968|0; + $62 = sp + 952|0; + $63 = sp + 936|0; + $64 = sp + 928|0; + $65 = sp + 920|0; + $66 = sp + 904|0; + $67 = sp + 888|0; + $68 = sp + 880|0; + $69 = sp + 872|0; + $70 = sp + 856|0; + $71 = sp + 840|0; + $72 = sp + 832|0; + $73 = sp + 824|0; + $74 = sp + 808|0; + $75 = sp + 792|0; + $76 = sp + 784|0; + $77 = sp + 1792|0; + $78 = sp + 776|0; + $79 = sp + 760|0; + $80 = sp + 744|0; + $81 = sp + 736|0; + $82 = sp + 728|0; + $83 = sp + 712|0; + $84 = sp + 696|0; + $85 = sp + 688|0; + $86 = sp + 680|0; + $87 = sp + 664|0; + $88 = sp + 648|0; + $89 = sp + 640|0; + $90 = sp + 632|0; + $91 = sp + 616|0; + $92 = sp + 600|0; + $93 = sp + 592|0; + $94 = sp + 584|0; + $95 = sp + 568|0; + $96 = sp + 552|0; + $97 = sp + 544|0; + $98 = sp + 528|0; + $99 = sp + 512|0; + $100 = sp + 504|0; + $101 = sp + 488|0; + $102 = sp + 472|0; + $103 = sp + 464|0; + $104 = sp + 448|0; + $105 = sp + 432|0; + $106 = sp + 424|0; + $107 = sp + 416|0; + $108 = sp + 408|0; + $109 = sp + 400|0; + $110 = sp + 392|0; + $111 = sp + 384|0; + $112 = sp + 376|0; + $113 = sp + 368|0; + $114 = sp + 360|0; + $115 = sp + 344|0; + $116 = sp + 336|0; + $117 = sp + 328|0; + $118 = sp + 312|0; + $119 = sp + 304|0; + $120 = sp + 296|0; + $121 = sp + 280|0; + $122 = sp + 272|0; + $123 = sp + 264|0; + $124 = sp + 248|0; + $125 = sp + 240|0; + $126 = sp + 232|0; + $127 = sp + 216|0; + $128 = sp + 208|0; + $129 = sp + 200|0; + $130 = sp + 192|0; + $131 = sp + 184|0; + $132 = sp + 176|0; + $133 = sp + 168|0; + $134 = sp + 160|0; + $135 = sp + 152|0; + $136 = sp + 144|0; + $137 = sp + 136|0; + $138 = sp + 128|0; + $139 = sp + 120|0; + $140 = sp + 112|0; + $141 = sp + 104|0; + $142 = sp + 96|0; + $143 = sp + 88|0; + $144 = sp + 80|0; + $145 = sp + 72|0; + $146 = sp + 64|0; + $147 = sp + 56|0; + $148 = sp + 48|0; + $149 = sp + 40|0; + $150 = ((($0)) + 4|0); + $151 = ((($0)) + 8|0); + $152 = ((($0)) + 12|0); + $153 = ((($1)) + 4|0); + $$0294 = 0; + while(1) { + HEAP32[$0>>2] = 2; + HEAP32[$150>>2] = 766; + HEAP32[$151>>2] = 256; + HEAP32[$152>>2] = 256; + $185 = (($$0294|0) % 5)&-1; + $186 = $185 << 8; + $187 = (+($186|0)); + HEAPF32[$1>>2] = $187; + $188 = (($$0294|0) / 5)&-1; + $189 = $188 << 8; + $190 = (+($189|0)); + HEAPF32[$153>>2] = $190; + ;HEAP32[$atlas01$byval_copy141>>2]=HEAP32[25532>>2]|0;HEAP32[$atlas01$byval_copy141+4>>2]=HEAP32[25532+4>>2]|0;HEAP32[$atlas01$byval_copy141+8>>2]=HEAP32[25532+8>>2]|0;HEAP32[$atlas01$byval_copy141+12>>2]=HEAP32[25532+12>>2]|0;HEAP32[$atlas01$byval_copy141+16>>2]=HEAP32[25532+16>>2]|0; + ;HEAP32[$font$byval_copy162>>2]=HEAP32[$0>>2]|0;HEAP32[$font$byval_copy162+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$font$byval_copy162+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$font$byval_copy162+12>>2]=HEAP32[$0+12>>2]|0; + ;HEAP32[$$byval_copy163>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy163+4>>2]=HEAP32[$1+4>>2]|0; + ;HEAP8[$tmpcast318$byval_copy>>0]=HEAP8[339148>>0]|0;HEAP8[$tmpcast318$byval_copy+1>>0]=HEAP8[339148+1>>0]|0;HEAP8[$tmpcast318$byval_copy+2>>0]=HEAP8[339148+2>>0]|0;HEAP8[$tmpcast318$byval_copy+3>>0]=HEAP8[339148+3>>0]|0; + _DrawTextureRec($atlas01$byval_copy141,$font$byval_copy162,$$byval_copy163,$tmpcast318$byval_copy); + $191 = (($$0294) + 1)|0; + $exitcond296 = ($191|0)==(15); + if ($exitcond296) { + break; + } else { + $$0294 = $191; + } + } + HEAP32[$2>>2] = 2; + $154 = ((($2)) + 4|0); + HEAP32[$154>>2] = 2; + $155 = ((($2)) + 8|0); + HEAP32[$155>>2] = 1052; + $156 = ((($2)) + 12|0); + HEAP32[$156>>2] = 250; + $157 = (_GetScreenWidth()|0); + $158 = (+($157|0)); + $159 = $158 * 0.042000000000000003; + $160 = (~~(($159))); + HEAP32[$3>>2] = $160; + $161 = ((($3)) + 4|0); + $162 = (_GetScreenHeight()|0); + $163 = (+($162|0)); + $164 = $163 * 0.60599999999999998; + $165 = (~~(($164))); + HEAP32[$161>>2] = $165; + $166 = ((($3)) + 8|0); + HEAP32[$166>>2] = 1052; + $167 = ((($3)) + 12|0); + HEAP32[$167>>2] = 250; + HEAPF32[$4>>2] = 0.0; + $168 = ((($4)) + 4|0); + HEAPF32[$168>>2] = 0.0; + HEAP32[$5>>2] = -1; + ;HEAP32[$atlas01$byval_copy124>>2]=HEAP32[25512>>2]|0;HEAP32[$atlas01$byval_copy124+4>>2]=HEAP32[25512+4>>2]|0;HEAP32[$atlas01$byval_copy124+8>>2]=HEAP32[25512+8>>2]|0;HEAP32[$atlas01$byval_copy124+12>>2]=HEAP32[25512+12>>2]|0;HEAP32[$atlas01$byval_copy124+16>>2]=HEAP32[25512+16>>2]|0; + ;HEAP32[$atlas01$byval_copy141>>2]=HEAP32[$2>>2]|0;HEAP32[$atlas01$byval_copy141+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$atlas01$byval_copy141+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$atlas01$byval_copy141+12>>2]=HEAP32[$2+12>>2]|0; + ;HEAP32[$font$byval_copy162>>2]=HEAP32[$3>>2]|0;HEAP32[$font$byval_copy162+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$font$byval_copy162+8>>2]=HEAP32[$3+8>>2]|0;HEAP32[$font$byval_copy162+12>>2]=HEAP32[$3+12>>2]|0; + ;HEAP32[$$byval_copy163>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy163+4>>2]=HEAP32[$4+4>>2]|0; + ;HEAP8[$tmpcast318$byval_copy>>0]=HEAP8[$5>>0]|0;HEAP8[$tmpcast318$byval_copy+1>>0]=HEAP8[$5+1>>0]|0;HEAP8[$tmpcast318$byval_copy+2>>0]=HEAP8[$5+2>>0]|0;HEAP8[$tmpcast318$byval_copy+3>>0]=HEAP8[$5+3>>0]|0; + _DrawTexturePro($atlas01$byval_copy124,$atlas01$byval_copy141,$font$byval_copy162,$$byval_copy163,0.0,$tmpcast318$byval_copy); + HEAP32[$6>>2] = 765; + $169 = ((($6)) + 4|0); + HEAP32[$169>>2] = 254; + $170 = ((($6)) + 8|0); + HEAP32[$170>>2] = 258; + $171 = ((($6)) + 12|0); + HEAP32[$171>>2] = 305; + $172 = (_GetScreenWidth()|0); + $173 = (+($172|0)); + $174 = $173 * 0.13300000000000001; + $175 = (~~(($174))); + HEAP32[$7>>2] = $175; + $176 = ((($7)) + 4|0); + $177 = (_GetScreenHeight()|0); + $178 = (+($177|0)); + $179 = $178 * 0.097000000000000002; + $180 = (~~(($179))); + HEAP32[$176>>2] = $180; + $181 = ((($7)) + 8|0); + HEAP32[$181>>2] = 258; + $182 = ((($7)) + 12|0); + HEAP32[$182>>2] = 305; + HEAPF32[$8>>2] = 0.0; + $183 = ((($8)) + 4|0); + HEAPF32[$183>>2] = 0.0; + HEAP32[$9>>2] = -1; + ;HEAP32[$atlas01$byval_copy124>>2]=HEAP32[25512>>2]|0;HEAP32[$atlas01$byval_copy124+4>>2]=HEAP32[25512+4>>2]|0;HEAP32[$atlas01$byval_copy124+8>>2]=HEAP32[25512+8>>2]|0;HEAP32[$atlas01$byval_copy124+12>>2]=HEAP32[25512+12>>2]|0;HEAP32[$atlas01$byval_copy124+16>>2]=HEAP32[25512+16>>2]|0; + ;HEAP32[$atlas01$byval_copy141>>2]=HEAP32[$6>>2]|0;HEAP32[$atlas01$byval_copy141+4>>2]=HEAP32[$6+4>>2]|0;HEAP32[$atlas01$byval_copy141+8>>2]=HEAP32[$6+8>>2]|0;HEAP32[$atlas01$byval_copy141+12>>2]=HEAP32[$6+12>>2]|0; + ;HEAP32[$font$byval_copy162>>2]=HEAP32[$7>>2]|0;HEAP32[$font$byval_copy162+4>>2]=HEAP32[$7+4>>2]|0;HEAP32[$font$byval_copy162+8>>2]=HEAP32[$7+8>>2]|0;HEAP32[$font$byval_copy162+12>>2]=HEAP32[$7+12>>2]|0; + ;HEAP32[$$byval_copy163>>2]=HEAP32[$8>>2]|0;HEAP32[$$byval_copy163+4>>2]=HEAP32[$8+4>>2]|0; + ;HEAP8[$tmpcast318$byval_copy>>0]=HEAP8[$9>>0]|0;HEAP8[$tmpcast318$byval_copy+1>>0]=HEAP8[$9+1>>0]|0;HEAP8[$tmpcast318$byval_copy+2>>0]=HEAP8[$9+2>>0]|0;HEAP8[$tmpcast318$byval_copy+3>>0]=HEAP8[$9+3>>0]|0; + _DrawTexturePro($atlas01$byval_copy124,$atlas01$byval_copy141,$font$byval_copy162,$$byval_copy163,0.0,$tmpcast318$byval_copy); + $184 = HEAP32[6561]|0; + switch ($184|0) { + case 0: { + HEAP32[$10>>2] = 771; + $192 = ((($10)) + 4|0); + HEAP32[$192>>2] = 643; + $193 = ((($10)) + 8|0); + HEAP32[$193>>2] = 219; + $194 = ((($10)) + 12|0); + HEAP32[$194>>2] = 216; + $195 = (_GetScreenWidth()|0); + $196 = (+($195|0)); + $197 = $196 * 0.14499999999999999; + $198 = (~~(($197))); + HEAP32[$11>>2] = $198; + $199 = ((($11)) + 4|0); + $200 = (_GetScreenHeight()|0); + $201 = (+($200|0)); + $202 = $201 * 0.17100000000000001; + $203 = (~~(($202))); + HEAP32[$199>>2] = $203; + $204 = ((($11)) + 8|0); + HEAP32[$204>>2] = 219; + $205 = ((($11)) + 12|0); + HEAP32[$205>>2] = 216; + HEAPF32[$12>>2] = 0.0; + $206 = ((($12)) + 4|0); + HEAPF32[$206>>2] = 0.0; + HEAP32[$13>>2] = -1; + ;HEAP32[$atlas01$byval_copy124>>2]=HEAP32[25512>>2]|0;HEAP32[$atlas01$byval_copy124+4>>2]=HEAP32[25512+4>>2]|0;HEAP32[$atlas01$byval_copy124+8>>2]=HEAP32[25512+8>>2]|0;HEAP32[$atlas01$byval_copy124+12>>2]=HEAP32[25512+12>>2]|0;HEAP32[$atlas01$byval_copy124+16>>2]=HEAP32[25512+16>>2]|0; + ;HEAP32[$atlas01$byval_copy141>>2]=HEAP32[$10>>2]|0;HEAP32[$atlas01$byval_copy141+4>>2]=HEAP32[$10+4>>2]|0;HEAP32[$atlas01$byval_copy141+8>>2]=HEAP32[$10+8>>2]|0;HEAP32[$atlas01$byval_copy141+12>>2]=HEAP32[$10+12>>2]|0; + ;HEAP32[$font$byval_copy162>>2]=HEAP32[$11>>2]|0;HEAP32[$font$byval_copy162+4>>2]=HEAP32[$11+4>>2]|0;HEAP32[$font$byval_copy162+8>>2]=HEAP32[$11+8>>2]|0;HEAP32[$font$byval_copy162+12>>2]=HEAP32[$11+12>>2]|0; + ;HEAP32[$$byval_copy163>>2]=HEAP32[$12>>2]|0;HEAP32[$$byval_copy163+4>>2]=HEAP32[$12+4>>2]|0; + ;HEAP8[$tmpcast318$byval_copy>>0]=HEAP8[$13>>0]|0;HEAP8[$tmpcast318$byval_copy+1>>0]=HEAP8[$13+1>>0]|0;HEAP8[$tmpcast318$byval_copy+2>>0]=HEAP8[$13+2>>0]|0;HEAP8[$tmpcast318$byval_copy+3>>0]=HEAP8[$13+3>>0]|0; + _DrawTexturePro($atlas01$byval_copy124,$atlas01$byval_copy141,$font$byval_copy162,$$byval_copy163,0.0,$tmpcast318$byval_copy); + break; + } + case 1: { + HEAP32[$14>>2] = 774; + $207 = ((($14)) + 4|0); + HEAP32[$207>>2] = 861; + $208 = ((($14)) + 8|0); + HEAP32[$208>>2] = 219; + $209 = ((($14)) + 12|0); + HEAP32[$209>>2] = 216; + $210 = (_GetScreenWidth()|0); + $211 = (+($210|0)); + $212 = $211 * 0.14499999999999999; + $213 = (~~(($212))); + HEAP32[$15>>2] = $213; + $214 = ((($15)) + 4|0); + $215 = (_GetScreenHeight()|0); + $216 = (+($215|0)); + $217 = $216 * 0.17100000000000001; + $218 = (~~(($217))); + HEAP32[$214>>2] = $218; + $219 = ((($15)) + 8|0); + HEAP32[$219>>2] = 219; + $220 = ((($15)) + 12|0); + HEAP32[$220>>2] = 216; + HEAPF32[$16>>2] = 0.0; + $221 = ((($16)) + 4|0); + HEAPF32[$221>>2] = 0.0; + HEAP32[$17>>2] = -1; + ;HEAP32[$atlas01$byval_copy124>>2]=HEAP32[25512>>2]|0;HEAP32[$atlas01$byval_copy124+4>>2]=HEAP32[25512+4>>2]|0;HEAP32[$atlas01$byval_copy124+8>>2]=HEAP32[25512+8>>2]|0;HEAP32[$atlas01$byval_copy124+12>>2]=HEAP32[25512+12>>2]|0;HEAP32[$atlas01$byval_copy124+16>>2]=HEAP32[25512+16>>2]|0; + ;HEAP32[$atlas01$byval_copy141>>2]=HEAP32[$14>>2]|0;HEAP32[$atlas01$byval_copy141+4>>2]=HEAP32[$14+4>>2]|0;HEAP32[$atlas01$byval_copy141+8>>2]=HEAP32[$14+8>>2]|0;HEAP32[$atlas01$byval_copy141+12>>2]=HEAP32[$14+12>>2]|0; + ;HEAP32[$font$byval_copy162>>2]=HEAP32[$15>>2]|0;HEAP32[$font$byval_copy162+4>>2]=HEAP32[$15+4>>2]|0;HEAP32[$font$byval_copy162+8>>2]=HEAP32[$15+8>>2]|0;HEAP32[$font$byval_copy162+12>>2]=HEAP32[$15+12>>2]|0; + ;HEAP32[$$byval_copy163>>2]=HEAP32[$16>>2]|0;HEAP32[$$byval_copy163+4>>2]=HEAP32[$16+4>>2]|0; + ;HEAP8[$tmpcast318$byval_copy>>0]=HEAP8[$17>>0]|0;HEAP8[$tmpcast318$byval_copy+1>>0]=HEAP8[$17+1>>0]|0;HEAP8[$tmpcast318$byval_copy+2>>0]=HEAP8[$17+2>>0]|0;HEAP8[$tmpcast318$byval_copy+3>>0]=HEAP8[$17+3>>0]|0; + _DrawTexturePro($atlas01$byval_copy124,$atlas01$byval_copy141,$font$byval_copy162,$$byval_copy163,0.0,$tmpcast318$byval_copy); + break; + } + case 2: { + HEAP32[$18>>2] = 439; + $222 = ((($18)) + 4|0); + HEAP32[$222>>2] = 1278; + $223 = ((($18)) + 8|0); + HEAP32[$223>>2] = 219; + $224 = ((($18)) + 12|0); + HEAP32[$224>>2] = 216; + $225 = (_GetScreenWidth()|0); + $226 = (+($225|0)); + $227 = $226 * 0.14499999999999999; + $228 = (~~(($227))); + HEAP32[$19>>2] = $228; + $229 = ((($19)) + 4|0); + $230 = (_GetScreenHeight()|0); + $231 = (+($230|0)); + $232 = $231 * 0.17100000000000001; + $233 = (~~(($232))); + HEAP32[$229>>2] = $233; + $234 = ((($19)) + 8|0); + HEAP32[$234>>2] = 219; + $235 = ((($19)) + 12|0); + HEAP32[$235>>2] = 216; + HEAPF32[$20>>2] = 0.0; + $236 = ((($20)) + 4|0); + HEAPF32[$236>>2] = 0.0; + HEAP32[$21>>2] = -1; + ;HEAP32[$atlas01$byval_copy124>>2]=HEAP32[25512>>2]|0;HEAP32[$atlas01$byval_copy124+4>>2]=HEAP32[25512+4>>2]|0;HEAP32[$atlas01$byval_copy124+8>>2]=HEAP32[25512+8>>2]|0;HEAP32[$atlas01$byval_copy124+12>>2]=HEAP32[25512+12>>2]|0;HEAP32[$atlas01$byval_copy124+16>>2]=HEAP32[25512+16>>2]|0; + ;HEAP32[$atlas01$byval_copy141>>2]=HEAP32[$18>>2]|0;HEAP32[$atlas01$byval_copy141+4>>2]=HEAP32[$18+4>>2]|0;HEAP32[$atlas01$byval_copy141+8>>2]=HEAP32[$18+8>>2]|0;HEAP32[$atlas01$byval_copy141+12>>2]=HEAP32[$18+12>>2]|0; + ;HEAP32[$font$byval_copy162>>2]=HEAP32[$19>>2]|0;HEAP32[$font$byval_copy162+4>>2]=HEAP32[$19+4>>2]|0;HEAP32[$font$byval_copy162+8>>2]=HEAP32[$19+8>>2]|0;HEAP32[$font$byval_copy162+12>>2]=HEAP32[$19+12>>2]|0; + ;HEAP32[$$byval_copy163>>2]=HEAP32[$20>>2]|0;HEAP32[$$byval_copy163+4>>2]=HEAP32[$20+4>>2]|0; + ;HEAP8[$tmpcast318$byval_copy>>0]=HEAP8[$21>>0]|0;HEAP8[$tmpcast318$byval_copy+1>>0]=HEAP8[$21+1>>0]|0;HEAP8[$tmpcast318$byval_copy+2>>0]=HEAP8[$21+2>>0]|0;HEAP8[$tmpcast318$byval_copy+3>>0]=HEAP8[$21+3>>0]|0; + _DrawTexturePro($atlas01$byval_copy124,$atlas01$byval_copy141,$font$byval_copy162,$$byval_copy163,0.0,$tmpcast318$byval_copy); + break; + } + case 3: { + HEAP32[$22>>2] = 661; + $237 = ((($22)) + 4|0); + HEAP32[$237>>2] = 1790; + $238 = ((($22)) + 8|0); + HEAP32[$238>>2] = 100; + $239 = ((($22)) + 12|0); + HEAP32[$239>>2] = 81; + $240 = (_GetScreenWidth()|0); + $241 = (+($240|0)); + $242 = $241 * 0.20000000000000001; + $243 = (~~(($242))); + HEAP32[$23>>2] = $243; + $244 = ((($23)) + 4|0); + $245 = (_GetScreenHeight()|0); + $246 = (+($245|0)); + $247 = $246 * 0.29999999999999999; + $248 = (~~(($247))); + HEAP32[$244>>2] = $248; + $249 = ((($23)) + 8|0); + HEAP32[$249>>2] = 100; + $250 = ((($23)) + 12|0); + HEAP32[$250>>2] = 81; + HEAPF32[$24>>2] = 0.0; + $251 = ((($24)) + 4|0); + HEAPF32[$251>>2] = 0.0; + HEAP32[$25>>2] = -1; + ;HEAP32[$atlas01$byval_copy124>>2]=HEAP32[25512>>2]|0;HEAP32[$atlas01$byval_copy124+4>>2]=HEAP32[25512+4>>2]|0;HEAP32[$atlas01$byval_copy124+8>>2]=HEAP32[25512+8>>2]|0;HEAP32[$atlas01$byval_copy124+12>>2]=HEAP32[25512+12>>2]|0;HEAP32[$atlas01$byval_copy124+16>>2]=HEAP32[25512+16>>2]|0; + ;HEAP32[$atlas01$byval_copy141>>2]=HEAP32[$22>>2]|0;HEAP32[$atlas01$byval_copy141+4>>2]=HEAP32[$22+4>>2]|0;HEAP32[$atlas01$byval_copy141+8>>2]=HEAP32[$22+8>>2]|0;HEAP32[$atlas01$byval_copy141+12>>2]=HEAP32[$22+12>>2]|0; + ;HEAP32[$font$byval_copy162>>2]=HEAP32[$23>>2]|0;HEAP32[$font$byval_copy162+4>>2]=HEAP32[$23+4>>2]|0;HEAP32[$font$byval_copy162+8>>2]=HEAP32[$23+8>>2]|0;HEAP32[$font$byval_copy162+12>>2]=HEAP32[$23+12>>2]|0; + ;HEAP32[$$byval_copy163>>2]=HEAP32[$24>>2]|0;HEAP32[$$byval_copy163+4>>2]=HEAP32[$24+4>>2]|0; + ;HEAP8[$tmpcast318$byval_copy>>0]=HEAP8[$25>>0]|0;HEAP8[$tmpcast318$byval_copy+1>>0]=HEAP8[$25+1>>0]|0;HEAP8[$tmpcast318$byval_copy+2>>0]=HEAP8[$25+2>>0]|0;HEAP8[$tmpcast318$byval_copy+3>>0]=HEAP8[$25+3>>0]|0; + _DrawTexturePro($atlas01$byval_copy124,$atlas01$byval_copy141,$font$byval_copy162,$$byval_copy163,0.0,$tmpcast318$byval_copy); + break; + } + case 4: { + HEAP32[$26>>2] = 516; + $252 = ((($26)) + 4|0); + HEAP32[$252>>2] = 678; + $253 = ((($26)) + 8|0); + HEAP32[$253>>2] = 253; + $254 = ((($26)) + 12|0); + HEAP32[$254>>2] = 250; + $255 = (_GetScreenWidth()|0); + $256 = (+($255|0)); + $257 = $256 * 0.13300000000000001; + $258 = (~~(($257))); + HEAP32[$27>>2] = $258; + $259 = ((($27)) + 4|0); + $260 = (_GetScreenHeight()|0); + $261 = (+($260|0)); + $262 = $261 * 0.17100000000000001; + $263 = (~~(($262))); + HEAP32[$259>>2] = $263; + $264 = ((($27)) + 8|0); + HEAP32[$264>>2] = 253; + $265 = ((($27)) + 12|0); + HEAP32[$265>>2] = 250; + HEAPF32[$28>>2] = 0.0; + $266 = ((($28)) + 4|0); + HEAPF32[$266>>2] = 0.0; + HEAP32[$29>>2] = -1; + ;HEAP32[$atlas01$byval_copy124>>2]=HEAP32[25512>>2]|0;HEAP32[$atlas01$byval_copy124+4>>2]=HEAP32[25512+4>>2]|0;HEAP32[$atlas01$byval_copy124+8>>2]=HEAP32[25512+8>>2]|0;HEAP32[$atlas01$byval_copy124+12>>2]=HEAP32[25512+12>>2]|0;HEAP32[$atlas01$byval_copy124+16>>2]=HEAP32[25512+16>>2]|0; + ;HEAP32[$atlas01$byval_copy141>>2]=HEAP32[$26>>2]|0;HEAP32[$atlas01$byval_copy141+4>>2]=HEAP32[$26+4>>2]|0;HEAP32[$atlas01$byval_copy141+8>>2]=HEAP32[$26+8>>2]|0;HEAP32[$atlas01$byval_copy141+12>>2]=HEAP32[$26+12>>2]|0; + ;HEAP32[$font$byval_copy162>>2]=HEAP32[$27>>2]|0;HEAP32[$font$byval_copy162+4>>2]=HEAP32[$27+4>>2]|0;HEAP32[$font$byval_copy162+8>>2]=HEAP32[$27+8>>2]|0;HEAP32[$font$byval_copy162+12>>2]=HEAP32[$27+12>>2]|0; + ;HEAP32[$$byval_copy163>>2]=HEAP32[$28>>2]|0;HEAP32[$$byval_copy163+4>>2]=HEAP32[$28+4>>2]|0; + ;HEAP8[$tmpcast318$byval_copy>>0]=HEAP8[$29>>0]|0;HEAP8[$tmpcast318$byval_copy+1>>0]=HEAP8[$29+1>>0]|0;HEAP8[$tmpcast318$byval_copy+2>>0]=HEAP8[$29+2>>0]|0;HEAP8[$tmpcast318$byval_copy+3>>0]=HEAP8[$29+3>>0]|0; + _DrawTexturePro($atlas01$byval_copy124,$atlas01$byval_copy141,$font$byval_copy162,$$byval_copy163,0.0,$tmpcast318$byval_copy); + break; + } + case 5: { + HEAP32[$30>>2] = 439; + $267 = ((($30)) + 4|0); + HEAP32[$267>>2] = 1060; + $268 = ((($30)) + 8|0); + HEAP32[$268>>2] = 219; + $269 = ((($30)) + 12|0); + HEAP32[$269>>2] = 216; + $270 = (_GetScreenWidth()|0); + $271 = (+($270|0)); + $272 = $271 * 0.14499999999999999; + $273 = (~~(($272))); + HEAP32[$31>>2] = $273; + $274 = ((($31)) + 4|0); + $275 = (_GetScreenHeight()|0); + $276 = (+($275|0)); + $277 = $276 * 0.17100000000000001; + $278 = (~~(($277))); + HEAP32[$274>>2] = $278; + $279 = ((($31)) + 8|0); + HEAP32[$279>>2] = 219; + $280 = ((($31)) + 12|0); + HEAP32[$280>>2] = 216; + HEAPF32[$32>>2] = 0.0; + $281 = ((($32)) + 4|0); + HEAPF32[$281>>2] = 0.0; + HEAP32[$33>>2] = -1; + ;HEAP32[$atlas01$byval_copy124>>2]=HEAP32[25512>>2]|0;HEAP32[$atlas01$byval_copy124+4>>2]=HEAP32[25512+4>>2]|0;HEAP32[$atlas01$byval_copy124+8>>2]=HEAP32[25512+8>>2]|0;HEAP32[$atlas01$byval_copy124+12>>2]=HEAP32[25512+12>>2]|0;HEAP32[$atlas01$byval_copy124+16>>2]=HEAP32[25512+16>>2]|0; + ;HEAP32[$atlas01$byval_copy141>>2]=HEAP32[$30>>2]|0;HEAP32[$atlas01$byval_copy141+4>>2]=HEAP32[$30+4>>2]|0;HEAP32[$atlas01$byval_copy141+8>>2]=HEAP32[$30+8>>2]|0;HEAP32[$atlas01$byval_copy141+12>>2]=HEAP32[$30+12>>2]|0; + ;HEAP32[$font$byval_copy162>>2]=HEAP32[$31>>2]|0;HEAP32[$font$byval_copy162+4>>2]=HEAP32[$31+4>>2]|0;HEAP32[$font$byval_copy162+8>>2]=HEAP32[$31+8>>2]|0;HEAP32[$font$byval_copy162+12>>2]=HEAP32[$31+12>>2]|0; + ;HEAP32[$$byval_copy163>>2]=HEAP32[$32>>2]|0;HEAP32[$$byval_copy163+4>>2]=HEAP32[$32+4>>2]|0; + ;HEAP8[$tmpcast318$byval_copy>>0]=HEAP8[$33>>0]|0;HEAP8[$tmpcast318$byval_copy+1>>0]=HEAP8[$33+1>>0]|0;HEAP8[$tmpcast318$byval_copy+2>>0]=HEAP8[$33+2>>0]|0;HEAP8[$tmpcast318$byval_copy+3>>0]=HEAP8[$33+3>>0]|0; + _DrawTexturePro($atlas01$byval_copy124,$atlas01$byval_copy141,$font$byval_copy162,$$byval_copy163,0.0,$tmpcast318$byval_copy); + break; + } + case 6: { + HEAP32[$34>>2] = 405; + $282 = ((($34)) + 4|0); + HEAP32[$282>>2] = 1496; + $283 = ((($34)) + 8|0); + HEAP32[$283>>2] = 219; + $284 = ((($34)) + 12|0); + HEAP32[$284>>2] = 216; + $285 = (_GetScreenWidth()|0); + $286 = (+($285|0)); + $287 = $286 * 0.14499999999999999; + $288 = (~~(($287))); + HEAP32[$35>>2] = $288; + $289 = ((($35)) + 4|0); + $290 = (_GetScreenHeight()|0); + $291 = (+($290|0)); + $292 = $291 * 0.17100000000000001; + $293 = (~~(($292))); + HEAP32[$289>>2] = $293; + $294 = ((($35)) + 8|0); + HEAP32[$294>>2] = 219; + $295 = ((($35)) + 12|0); + HEAP32[$295>>2] = 216; + HEAPF32[$36>>2] = 0.0; + $296 = ((($36)) + 4|0); + HEAPF32[$296>>2] = 0.0; + HEAP32[$37>>2] = -1; + ;HEAP32[$atlas01$byval_copy124>>2]=HEAP32[25512>>2]|0;HEAP32[$atlas01$byval_copy124+4>>2]=HEAP32[25512+4>>2]|0;HEAP32[$atlas01$byval_copy124+8>>2]=HEAP32[25512+8>>2]|0;HEAP32[$atlas01$byval_copy124+12>>2]=HEAP32[25512+12>>2]|0;HEAP32[$atlas01$byval_copy124+16>>2]=HEAP32[25512+16>>2]|0; + ;HEAP32[$atlas01$byval_copy141>>2]=HEAP32[$34>>2]|0;HEAP32[$atlas01$byval_copy141+4>>2]=HEAP32[$34+4>>2]|0;HEAP32[$atlas01$byval_copy141+8>>2]=HEAP32[$34+8>>2]|0;HEAP32[$atlas01$byval_copy141+12>>2]=HEAP32[$34+12>>2]|0; + ;HEAP32[$font$byval_copy162>>2]=HEAP32[$35>>2]|0;HEAP32[$font$byval_copy162+4>>2]=HEAP32[$35+4>>2]|0;HEAP32[$font$byval_copy162+8>>2]=HEAP32[$35+8>>2]|0;HEAP32[$font$byval_copy162+12>>2]=HEAP32[$35+12>>2]|0; + ;HEAP32[$$byval_copy163>>2]=HEAP32[$36>>2]|0;HEAP32[$$byval_copy163+4>>2]=HEAP32[$36+4>>2]|0; + ;HEAP8[$tmpcast318$byval_copy>>0]=HEAP8[$37>>0]|0;HEAP8[$tmpcast318$byval_copy+1>>0]=HEAP8[$37+1>>0]|0;HEAP8[$tmpcast318$byval_copy+2>>0]=HEAP8[$37+2>>0]|0;HEAP8[$tmpcast318$byval_copy+3>>0]=HEAP8[$37+3>>0]|0; + _DrawTexturePro($atlas01$byval_copy124,$atlas01$byval_copy141,$font$byval_copy162,$$byval_copy163,0.0,$tmpcast318$byval_copy); + break; + } + default: { + } + } + HEAP32[$38>>2] = 103; + $297 = ((($38)) + 4|0); + HEAP32[$297>>2] = 1028; + $298 = ((($38)) + 8|0); + HEAP32[$298>>2] = 334; + $299 = ((($38)) + 12|0); + HEAP32[$299>>2] = 393; + $300 = (_GetScreenWidth()|0); + $301 = (+($300|0)); + $302 = $301 * 0.10199999999999999; + $303 = (~~(($302))); + HEAP32[$39>>2] = $303; + $304 = ((($39)) + 4|0); + $305 = (_GetScreenHeight()|0); + $306 = (+($305|0)); + $307 = $306 * 0.035000000000000003; + $308 = (~~(($307))); + HEAP32[$304>>2] = $308; + $309 = ((($39)) + 8|0); + HEAP32[$309>>2] = 334; + $310 = ((($39)) + 12|0); + HEAP32[$310>>2] = 393; + HEAPF32[$40>>2] = 0.0; + $311 = ((($40)) + 4|0); + HEAPF32[$311>>2] = 0.0; + HEAP32[$41>>2] = -1; + ;HEAP32[$atlas01$byval_copy124>>2]=HEAP32[25512>>2]|0;HEAP32[$atlas01$byval_copy124+4>>2]=HEAP32[25512+4>>2]|0;HEAP32[$atlas01$byval_copy124+8>>2]=HEAP32[25512+8>>2]|0;HEAP32[$atlas01$byval_copy124+12>>2]=HEAP32[25512+12>>2]|0;HEAP32[$atlas01$byval_copy124+16>>2]=HEAP32[25512+16>>2]|0; + ;HEAP32[$atlas01$byval_copy141>>2]=HEAP32[$38>>2]|0;HEAP32[$atlas01$byval_copy141+4>>2]=HEAP32[$38+4>>2]|0;HEAP32[$atlas01$byval_copy141+8>>2]=HEAP32[$38+8>>2]|0;HEAP32[$atlas01$byval_copy141+12>>2]=HEAP32[$38+12>>2]|0; + ;HEAP32[$font$byval_copy162>>2]=HEAP32[$39>>2]|0;HEAP32[$font$byval_copy162+4>>2]=HEAP32[$39+4>>2]|0;HEAP32[$font$byval_copy162+8>>2]=HEAP32[$39+8>>2]|0;HEAP32[$font$byval_copy162+12>>2]=HEAP32[$39+12>>2]|0; + ;HEAP32[$$byval_copy163>>2]=HEAP32[$40>>2]|0;HEAP32[$$byval_copy163+4>>2]=HEAP32[$40+4>>2]|0; + ;HEAP8[$tmpcast318$byval_copy>>0]=HEAP8[$41>>0]|0;HEAP8[$tmpcast318$byval_copy+1>>0]=HEAP8[$41+1>>0]|0;HEAP8[$tmpcast318$byval_copy+2>>0]=HEAP8[$41+2>>0]|0;HEAP8[$tmpcast318$byval_copy+3>>0]=HEAP8[$41+3>>0]|0; + _DrawTexturePro($atlas01$byval_copy124,$atlas01$byval_copy141,$font$byval_copy162,$$byval_copy163,0.0,$tmpcast318$byval_copy); + HEAP32[$42>>2] = 1583; + $312 = ((($42)) + 4|0); + HEAP32[$312>>2] = 116; + $313 = ((($42)) + 8|0); + HEAP32[$313>>2] = 389; + $314 = ((($42)) + 12|0); + HEAP32[$314>>2] = 48; + $315 = (_GetScreenWidth()|0); + $316 = (+($315|0)); + $317 = $316 * 0.52100000000000002; + $318 = (~~(($317))); + HEAP32[$43>>2] = $318; + $319 = ((($43)) + 4|0); + $320 = (_GetScreenHeight()|0); + $321 = (+($320|0)); + $322 = $321 * 0.16300000000000001; + $323 = (~~(($322))); + HEAP32[$319>>2] = $323; + $324 = ((($43)) + 8|0); + HEAP32[$324>>2] = 389; + $325 = ((($43)) + 12|0); + HEAP32[$325>>2] = 48; + HEAPF32[$44>>2] = 0.0; + $326 = ((($44)) + 4|0); + HEAPF32[$326>>2] = 0.0; + HEAP32[$45>>2] = -1; + ;HEAP32[$atlas01$byval_copy124>>2]=HEAP32[25512>>2]|0;HEAP32[$atlas01$byval_copy124+4>>2]=HEAP32[25512+4>>2]|0;HEAP32[$atlas01$byval_copy124+8>>2]=HEAP32[25512+8>>2]|0;HEAP32[$atlas01$byval_copy124+12>>2]=HEAP32[25512+12>>2]|0;HEAP32[$atlas01$byval_copy124+16>>2]=HEAP32[25512+16>>2]|0; + ;HEAP32[$atlas01$byval_copy141>>2]=HEAP32[$42>>2]|0;HEAP32[$atlas01$byval_copy141+4>>2]=HEAP32[$42+4>>2]|0;HEAP32[$atlas01$byval_copy141+8>>2]=HEAP32[$42+8>>2]|0;HEAP32[$atlas01$byval_copy141+12>>2]=HEAP32[$42+12>>2]|0; + ;HEAP32[$font$byval_copy162>>2]=HEAP32[$43>>2]|0;HEAP32[$font$byval_copy162+4>>2]=HEAP32[$43+4>>2]|0;HEAP32[$font$byval_copy162+8>>2]=HEAP32[$43+8>>2]|0;HEAP32[$font$byval_copy162+12>>2]=HEAP32[$43+12>>2]|0; + ;HEAP32[$$byval_copy163>>2]=HEAP32[$44>>2]|0;HEAP32[$$byval_copy163+4>>2]=HEAP32[$44+4>>2]|0; + ;HEAP8[$tmpcast318$byval_copy>>0]=HEAP8[$45>>0]|0;HEAP8[$tmpcast318$byval_copy+1>>0]=HEAP8[$45+1>>0]|0;HEAP8[$tmpcast318$byval_copy+2>>0]=HEAP8[$45+2>>0]|0;HEAP8[$tmpcast318$byval_copy+3>>0]=HEAP8[$45+3>>0]|0; + _DrawTexturePro($atlas01$byval_copy124,$atlas01$byval_copy141,$font$byval_copy162,$$byval_copy163,0.0,$tmpcast318$byval_copy); + HEAP32[$46>>2] = 1056; + $327 = ((($46)) + 4|0); + HEAP32[$327>>2] = 132; + $328 = ((($46)) + 8|0); + HEAP32[$328>>2] = 525; + $329 = ((($46)) + 12|0); + HEAP32[$329>>2] = 48; + $330 = (_GetScreenWidth()|0); + $331 = (+($330|0)); + $332 = $331 * 0.41499999999999998; + $333 = (~~(($332))); + HEAP32[$47>>2] = $333; + $334 = ((($47)) + 4|0); + $335 = (_GetScreenHeight()|0); + $336 = (+($335|0)); + $337 = $336 * 0.30299999999999999; + $338 = (~~(($337))); + HEAP32[$334>>2] = $338; + $339 = ((($47)) + 8|0); + HEAP32[$339>>2] = 525; + $340 = ((($47)) + 12|0); + HEAP32[$340>>2] = 48; + HEAPF32[$48>>2] = 0.0; + $341 = ((($48)) + 4|0); + HEAPF32[$341>>2] = 0.0; + HEAP32[$49>>2] = -1; + ;HEAP32[$atlas01$byval_copy124>>2]=HEAP32[25512>>2]|0;HEAP32[$atlas01$byval_copy124+4>>2]=HEAP32[25512+4>>2]|0;HEAP32[$atlas01$byval_copy124+8>>2]=HEAP32[25512+8>>2]|0;HEAP32[$atlas01$byval_copy124+12>>2]=HEAP32[25512+12>>2]|0;HEAP32[$atlas01$byval_copy124+16>>2]=HEAP32[25512+16>>2]|0; + ;HEAP32[$atlas01$byval_copy141>>2]=HEAP32[$46>>2]|0;HEAP32[$atlas01$byval_copy141+4>>2]=HEAP32[$46+4>>2]|0;HEAP32[$atlas01$byval_copy141+8>>2]=HEAP32[$46+8>>2]|0;HEAP32[$atlas01$byval_copy141+12>>2]=HEAP32[$46+12>>2]|0; + ;HEAP32[$font$byval_copy162>>2]=HEAP32[$47>>2]|0;HEAP32[$font$byval_copy162+4>>2]=HEAP32[$47+4>>2]|0;HEAP32[$font$byval_copy162+8>>2]=HEAP32[$47+8>>2]|0;HEAP32[$font$byval_copy162+12>>2]=HEAP32[$47+12>>2]|0; + ;HEAP32[$$byval_copy163>>2]=HEAP32[$48>>2]|0;HEAP32[$$byval_copy163+4>>2]=HEAP32[$48+4>>2]|0; + ;HEAP8[$tmpcast318$byval_copy>>0]=HEAP8[$49>>0]|0;HEAP8[$tmpcast318$byval_copy+1>>0]=HEAP8[$49+1>>0]|0;HEAP8[$tmpcast318$byval_copy+2>>0]=HEAP8[$49+2>>0]|0;HEAP8[$tmpcast318$byval_copy+3>>0]=HEAP8[$49+3>>0]|0; + _DrawTexturePro($atlas01$byval_copy124,$atlas01$byval_copy141,$font$byval_copy162,$$byval_copy163,0.0,$tmpcast318$byval_copy); + HEAP32[$50>>2] = 1583; + $342 = ((($50)) + 4|0); + HEAP32[$342>>2] = 116; + $343 = ((($50)) + 8|0); + HEAP32[$343>>2] = 389; + $344 = ((($50)) + 12|0); + HEAP32[$344>>2] = 48; + $345 = (_GetScreenWidth()|0); + $346 = (+($345|0)); + $347 = $346 * 0.52100000000000002; + $348 = (~~(($347))); + HEAP32[$51>>2] = $348; + $349 = ((($51)) + 4|0); + $350 = (_GetScreenHeight()|0); + $351 = (+($350|0)); + $352 = $351 * 0.44; + $353 = (~~(($352))); + HEAP32[$349>>2] = $353; + $354 = ((($51)) + 8|0); + HEAP32[$354>>2] = 389; + $355 = ((($51)) + 12|0); + HEAP32[$355>>2] = 48; + HEAPF32[$52>>2] = 0.0; + $356 = ((($52)) + 4|0); + HEAPF32[$356>>2] = 0.0; + HEAP32[$53>>2] = -1; + ;HEAP32[$atlas01$byval_copy124>>2]=HEAP32[25512>>2]|0;HEAP32[$atlas01$byval_copy124+4>>2]=HEAP32[25512+4>>2]|0;HEAP32[$atlas01$byval_copy124+8>>2]=HEAP32[25512+8>>2]|0;HEAP32[$atlas01$byval_copy124+12>>2]=HEAP32[25512+12>>2]|0;HEAP32[$atlas01$byval_copy124+16>>2]=HEAP32[25512+16>>2]|0; + ;HEAP32[$atlas01$byval_copy141>>2]=HEAP32[$50>>2]|0;HEAP32[$atlas01$byval_copy141+4>>2]=HEAP32[$50+4>>2]|0;HEAP32[$atlas01$byval_copy141+8>>2]=HEAP32[$50+8>>2]|0;HEAP32[$atlas01$byval_copy141+12>>2]=HEAP32[$50+12>>2]|0; + ;HEAP32[$font$byval_copy162>>2]=HEAP32[$51>>2]|0;HEAP32[$font$byval_copy162+4>>2]=HEAP32[$51+4>>2]|0;HEAP32[$font$byval_copy162+8>>2]=HEAP32[$51+8>>2]|0;HEAP32[$font$byval_copy162+12>>2]=HEAP32[$51+12>>2]|0; + ;HEAP32[$$byval_copy163>>2]=HEAP32[$52>>2]|0;HEAP32[$$byval_copy163+4>>2]=HEAP32[$52+4>>2]|0; + ;HEAP8[$tmpcast318$byval_copy>>0]=HEAP8[$53>>0]|0;HEAP8[$tmpcast318$byval_copy+1>>0]=HEAP8[$53+1>>0]|0;HEAP8[$tmpcast318$byval_copy+2>>0]=HEAP8[$53+2>>0]|0;HEAP8[$tmpcast318$byval_copy+3>>0]=HEAP8[$53+3>>0]|0; + _DrawTexturePro($atlas01$byval_copy124,$atlas01$byval_copy141,$font$byval_copy162,$$byval_copy163,0.0,$tmpcast318$byval_copy); + HEAP32[$54>>2] = 925; + $357 = ((($54)) + 4|0); + HEAP32[$357>>2] = 1265; + $358 = ((($54)) + 8|0); + HEAP32[$358>>2] = 135; + $359 = ((($54)) + 12|0); + HEAP32[$359>>2] = 136; + $360 = (_GetScreenWidth()|0); + $361 = (+($360|0)); + $362 = $361 * 0.52900000000000003; + $363 = (~~(($362))); + HEAP32[$55>>2] = $363; + $364 = ((($55)) + 4|0); + $365 = (_GetScreenHeight()|0); + $366 = (+($365|0)); + $367 = $366 * 0.096000000000000001; + $368 = (~~(($367))); + HEAP32[$364>>2] = $368; + $369 = ((($55)) + 8|0); + HEAP32[$369>>2] = 135; + $370 = ((($55)) + 12|0); + HEAP32[$370>>2] = 136; + HEAPF32[$56>>2] = 0.0; + $371 = ((($56)) + 4|0); + HEAPF32[$371>>2] = 0.0; + HEAP32[$57>>2] = -1; + ;HEAP32[$atlas01$byval_copy124>>2]=HEAP32[25512>>2]|0;HEAP32[$atlas01$byval_copy124+4>>2]=HEAP32[25512+4>>2]|0;HEAP32[$atlas01$byval_copy124+8>>2]=HEAP32[25512+8>>2]|0;HEAP32[$atlas01$byval_copy124+12>>2]=HEAP32[25512+12>>2]|0;HEAP32[$atlas01$byval_copy124+16>>2]=HEAP32[25512+16>>2]|0; + ;HEAP32[$atlas01$byval_copy141>>2]=HEAP32[$54>>2]|0;HEAP32[$atlas01$byval_copy141+4>>2]=HEAP32[$54+4>>2]|0;HEAP32[$atlas01$byval_copy141+8>>2]=HEAP32[$54+8>>2]|0;HEAP32[$atlas01$byval_copy141+12>>2]=HEAP32[$54+12>>2]|0; + ;HEAP32[$font$byval_copy162>>2]=HEAP32[$55>>2]|0;HEAP32[$font$byval_copy162+4>>2]=HEAP32[$55+4>>2]|0;HEAP32[$font$byval_copy162+8>>2]=HEAP32[$55+8>>2]|0;HEAP32[$font$byval_copy162+12>>2]=HEAP32[$55+12>>2]|0; + ;HEAP32[$$byval_copy163>>2]=HEAP32[$56>>2]|0;HEAP32[$$byval_copy163+4>>2]=HEAP32[$56+4>>2]|0; + ;HEAP8[$tmpcast318$byval_copy>>0]=HEAP8[$57>>0]|0;HEAP8[$tmpcast318$byval_copy+1>>0]=HEAP8[$57+1>>0]|0;HEAP8[$tmpcast318$byval_copy+2>>0]=HEAP8[$57+2>>0]|0;HEAP8[$tmpcast318$byval_copy+3>>0]=HEAP8[$57+3>>0]|0; + _DrawTexturePro($atlas01$byval_copy124,$atlas01$byval_copy141,$font$byval_copy162,$$byval_copy163,0.0,$tmpcast318$byval_copy); + HEAP32[$58>>2] = 2032; + $372 = ((($58)) + 4|0); + HEAP32[$372>>2] = 2; + $373 = ((($58)) + 8|0); + HEAP32[$373>>2] = 12; + $374 = ((($58)) + 12|0); + HEAP32[$374>>2] = 45; + $375 = (_GetScreenWidth()|0); + $376 = (+($375|0)); + $377 = $376 * 0.57899999999999996; + $378 = (~~(($377))); + HEAP32[$59>>2] = $378; + $379 = ((($59)) + 4|0); + $380 = (_GetScreenHeight()|0); + $381 = (+($380|0)); + $382 = $381 * 0.189; + $383 = (~~(($382))); + HEAP32[$379>>2] = $383; + $384 = ((($59)) + 8|0); + HEAP32[$384>>2] = 12; + $385 = ((($59)) + 12|0); + HEAP32[$385>>2] = 45; + HEAPF32[$60>>2] = 6.0; + $386 = ((($60)) + 4|0); + HEAPF32[$386>>2] = 40.5; + $387 = +HEAPF32[83670]; + HEAP32[$61>>2] = -1; + ;HEAP32[$atlas01$byval_copy124>>2]=HEAP32[25512>>2]|0;HEAP32[$atlas01$byval_copy124+4>>2]=HEAP32[25512+4>>2]|0;HEAP32[$atlas01$byval_copy124+8>>2]=HEAP32[25512+8>>2]|0;HEAP32[$atlas01$byval_copy124+12>>2]=HEAP32[25512+12>>2]|0;HEAP32[$atlas01$byval_copy124+16>>2]=HEAP32[25512+16>>2]|0; + ;HEAP32[$atlas01$byval_copy141>>2]=HEAP32[$58>>2]|0;HEAP32[$atlas01$byval_copy141+4>>2]=HEAP32[$58+4>>2]|0;HEAP32[$atlas01$byval_copy141+8>>2]=HEAP32[$58+8>>2]|0;HEAP32[$atlas01$byval_copy141+12>>2]=HEAP32[$58+12>>2]|0; + ;HEAP32[$font$byval_copy162>>2]=HEAP32[$59>>2]|0;HEAP32[$font$byval_copy162+4>>2]=HEAP32[$59+4>>2]|0;HEAP32[$font$byval_copy162+8>>2]=HEAP32[$59+8>>2]|0;HEAP32[$font$byval_copy162+12>>2]=HEAP32[$59+12>>2]|0; + ;HEAP32[$$byval_copy163>>2]=HEAP32[$60>>2]|0;HEAP32[$$byval_copy163+4>>2]=HEAP32[$60+4>>2]|0; + ;HEAP8[$tmpcast318$byval_copy>>0]=HEAP8[$61>>0]|0;HEAP8[$tmpcast318$byval_copy+1>>0]=HEAP8[$61+1>>0]|0;HEAP8[$tmpcast318$byval_copy+2>>0]=HEAP8[$61+2>>0]|0;HEAP8[$tmpcast318$byval_copy+3>>0]=HEAP8[$61+3>>0]|0; + _DrawTexturePro($atlas01$byval_copy124,$atlas01$byval_copy141,$font$byval_copy162,$$byval_copy163,$387,$tmpcast318$byval_copy); + HEAP32[$62>>2] = 419; + $388 = ((($62)) + 4|0); + HEAP32[$388>>2] = 1714; + $389 = ((($62)) + 8|0); + HEAP32[$389>>2] = 119; + $390 = ((($62)) + 12|0); + HEAP32[$390>>2] = 123; + $391 = (_GetScreenWidth()|0); + $392 = (+($391|0)); + $393 = $392 * 0.53500000000000003; + $394 = (~~(($393))); + HEAP32[$63>>2] = $394; + $395 = ((($63)) + 4|0); + $396 = (_GetScreenHeight()|0); + $397 = (+($396|0)); + $398 = $397 * 0.11; + $399 = (~~(($398))); + HEAP32[$395>>2] = $399; + $400 = ((($63)) + 8|0); + HEAP32[$400>>2] = 119; + $401 = ((($63)) + 12|0); + HEAP32[$401>>2] = 123; + HEAPF32[$64>>2] = 0.0; + $402 = ((($64)) + 4|0); + HEAPF32[$402>>2] = 0.0; + HEAP32[$65>>2] = -1; + ;HEAP32[$atlas01$byval_copy124>>2]=HEAP32[25512>>2]|0;HEAP32[$atlas01$byval_copy124+4>>2]=HEAP32[25512+4>>2]|0;HEAP32[$atlas01$byval_copy124+8>>2]=HEAP32[25512+8>>2]|0;HEAP32[$atlas01$byval_copy124+12>>2]=HEAP32[25512+12>>2]|0;HEAP32[$atlas01$byval_copy124+16>>2]=HEAP32[25512+16>>2]|0; + ;HEAP32[$atlas01$byval_copy141>>2]=HEAP32[$62>>2]|0;HEAP32[$atlas01$byval_copy141+4>>2]=HEAP32[$62+4>>2]|0;HEAP32[$atlas01$byval_copy141+8>>2]=HEAP32[$62+8>>2]|0;HEAP32[$atlas01$byval_copy141+12>>2]=HEAP32[$62+12>>2]|0; + ;HEAP32[$font$byval_copy162>>2]=HEAP32[$63>>2]|0;HEAP32[$font$byval_copy162+4>>2]=HEAP32[$63+4>>2]|0;HEAP32[$font$byval_copy162+8>>2]=HEAP32[$63+8>>2]|0;HEAP32[$font$byval_copy162+12>>2]=HEAP32[$63+12>>2]|0; + ;HEAP32[$$byval_copy163>>2]=HEAP32[$64>>2]|0;HEAP32[$$byval_copy163+4>>2]=HEAP32[$64+4>>2]|0; + ;HEAP8[$tmpcast318$byval_copy>>0]=HEAP8[$65>>0]|0;HEAP8[$tmpcast318$byval_copy+1>>0]=HEAP8[$65+1>>0]|0;HEAP8[$tmpcast318$byval_copy+2>>0]=HEAP8[$65+2>>0]|0;HEAP8[$tmpcast318$byval_copy+3>>0]=HEAP8[$65+3>>0]|0; + _DrawTexturePro($atlas01$byval_copy124,$atlas01$byval_copy141,$font$byval_copy162,$$byval_copy163,0.0,$tmpcast318$byval_copy); + HEAP32[$66>>2] = 540; + $403 = ((($66)) + 4|0); + HEAP32[$403>>2] = 1714; + $404 = ((($66)) + 8|0); + HEAP32[$404>>2] = 119; + $405 = ((($66)) + 12|0); + HEAP32[$405>>2] = 123; + $406 = (_GetScreenWidth()|0); + $407 = (+($406|0)); + $408 = $407 * 0.42999999999999999; + $409 = (~~(($408))); + HEAP32[$67>>2] = $409; + $410 = ((($67)) + 4|0); + $411 = (_GetScreenHeight()|0); + $412 = (+($411|0)); + $413 = $412 * 0.246; + $414 = (~~(($413))); + HEAP32[$410>>2] = $414; + $415 = ((($67)) + 8|0); + HEAP32[$415>>2] = 119; + $416 = ((($67)) + 12|0); + HEAP32[$416>>2] = 123; + HEAPF32[$68>>2] = 0.0; + $417 = ((($68)) + 4|0); + HEAPF32[$417>>2] = 0.0; + HEAP32[$69>>2] = -1; + ;HEAP32[$atlas01$byval_copy124>>2]=HEAP32[25512>>2]|0;HEAP32[$atlas01$byval_copy124+4>>2]=HEAP32[25512+4>>2]|0;HEAP32[$atlas01$byval_copy124+8>>2]=HEAP32[25512+8>>2]|0;HEAP32[$atlas01$byval_copy124+12>>2]=HEAP32[25512+12>>2]|0;HEAP32[$atlas01$byval_copy124+16>>2]=HEAP32[25512+16>>2]|0; + ;HEAP32[$atlas01$byval_copy141>>2]=HEAP32[$66>>2]|0;HEAP32[$atlas01$byval_copy141+4>>2]=HEAP32[$66+4>>2]|0;HEAP32[$atlas01$byval_copy141+8>>2]=HEAP32[$66+8>>2]|0;HEAP32[$atlas01$byval_copy141+12>>2]=HEAP32[$66+12>>2]|0; + ;HEAP32[$font$byval_copy162>>2]=HEAP32[$67>>2]|0;HEAP32[$font$byval_copy162+4>>2]=HEAP32[$67+4>>2]|0;HEAP32[$font$byval_copy162+8>>2]=HEAP32[$67+8>>2]|0;HEAP32[$font$byval_copy162+12>>2]=HEAP32[$67+12>>2]|0; + ;HEAP32[$$byval_copy163>>2]=HEAP32[$68>>2]|0;HEAP32[$$byval_copy163+4>>2]=HEAP32[$68+4>>2]|0; + ;HEAP8[$tmpcast318$byval_copy>>0]=HEAP8[$69>>0]|0;HEAP8[$tmpcast318$byval_copy+1>>0]=HEAP8[$69+1>>0]|0;HEAP8[$tmpcast318$byval_copy+2>>0]=HEAP8[$69+2>>0]|0;HEAP8[$tmpcast318$byval_copy+3>>0]=HEAP8[$69+3>>0]|0; + _DrawTexturePro($atlas01$byval_copy124,$atlas01$byval_copy141,$font$byval_copy162,$$byval_copy163,0.0,$tmpcast318$byval_copy); + HEAP32[$70>>2] = 419; + $418 = ((($70)) + 4|0); + HEAP32[$418>>2] = 1714; + $419 = ((($70)) + 8|0); + HEAP32[$419>>2] = 119; + $420 = ((($70)) + 12|0); + HEAP32[$420>>2] = 123; + $421 = (_GetScreenWidth()|0); + $422 = (+($421|0)); + $423 = $422 * 0.42899999999999999; + $424 = (~~(($423))); + HEAP32[$71>>2] = $424; + $425 = ((($71)) + 4|0); + $426 = (_GetScreenHeight()|0); + $427 = (+($426|0)); + $428 = $427 * 0.24399999999999999; + $429 = (~~(($428))); + HEAP32[$425>>2] = $429; + $430 = ((($71)) + 8|0); + HEAP32[$430>>2] = 119; + $431 = ((($71)) + 12|0); + HEAP32[$431>>2] = 123; + HEAPF32[$72>>2] = 0.0; + $432 = ((($72)) + 4|0); + HEAPF32[$432>>2] = 0.0; + HEAP32[$73>>2] = -1; + ;HEAP32[$atlas01$byval_copy124>>2]=HEAP32[25512>>2]|0;HEAP32[$atlas01$byval_copy124+4>>2]=HEAP32[25512+4>>2]|0;HEAP32[$atlas01$byval_copy124+8>>2]=HEAP32[25512+8>>2]|0;HEAP32[$atlas01$byval_copy124+12>>2]=HEAP32[25512+12>>2]|0;HEAP32[$atlas01$byval_copy124+16>>2]=HEAP32[25512+16>>2]|0; + ;HEAP32[$atlas01$byval_copy141>>2]=HEAP32[$70>>2]|0;HEAP32[$atlas01$byval_copy141+4>>2]=HEAP32[$70+4>>2]|0;HEAP32[$atlas01$byval_copy141+8>>2]=HEAP32[$70+8>>2]|0;HEAP32[$atlas01$byval_copy141+12>>2]=HEAP32[$70+12>>2]|0; + ;HEAP32[$font$byval_copy162>>2]=HEAP32[$71>>2]|0;HEAP32[$font$byval_copy162+4>>2]=HEAP32[$71+4>>2]|0;HEAP32[$font$byval_copy162+8>>2]=HEAP32[$71+8>>2]|0;HEAP32[$font$byval_copy162+12>>2]=HEAP32[$71+12>>2]|0; + ;HEAP32[$$byval_copy163>>2]=HEAP32[$72>>2]|0;HEAP32[$$byval_copy163+4>>2]=HEAP32[$72+4>>2]|0; + ;HEAP8[$tmpcast318$byval_copy>>0]=HEAP8[$73>>0]|0;HEAP8[$tmpcast318$byval_copy+1>>0]=HEAP8[$73+1>>0]|0;HEAP8[$tmpcast318$byval_copy+2>>0]=HEAP8[$73+2>>0]|0;HEAP8[$tmpcast318$byval_copy+3>>0]=HEAP8[$73+3>>0]|0; + _DrawTexturePro($atlas01$byval_copy124,$atlas01$byval_copy141,$font$byval_copy162,$$byval_copy163,0.0,$tmpcast318$byval_copy); + $433 = ((($74)) + 4|0); + $434 = ((($74)) + 8|0); + $435 = ((($74)) + 12|0); + $436 = ((($75)) + 4|0); + $437 = ((($75)) + 8|0); + $438 = ((($75)) + 12|0); + $439 = ((($76)) + 4|0); + $$0290293 = 0; + while(1) { + $626 = (((333960 + (($$0290293*36)|0)|0)) + 32|0); + $627 = HEAP32[$626>>2]|0; + $628 = ($627|0)==(0); + if (!($628)) { + HEAP32[$74>>2] = 1989; + HEAP32[$433>>2] = 200; + HEAP32[$434>>2] = 32; + HEAP32[$435>>2] = 32; + $629 = (333960 + (($$0290293*36)|0)|0); + $630 = +HEAPF32[$629>>2]; + $631 = (~~(($630))); + HEAP32[$75>>2] = $631; + $632 = (((333960 + (($$0290293*36)|0)|0)) + 4|0); + $633 = +HEAPF32[$632>>2]; + $634 = (~~(($633))); + HEAP32[$436>>2] = $634; + $635 = (((333960 + (($$0290293*36)|0)|0)) + 20|0); + $636 = +HEAPF32[$635>>2]; + $637 = $636 * 32.0; + $638 = (~~(($637))); + HEAP32[$437>>2] = $638; + HEAP32[$438>>2] = $638; + $639 = $636 * 16.0; + HEAPF32[$76>>2] = $639; + HEAPF32[$439>>2] = $639; + $640 = (((333960 + (($$0290293*36)|0)|0)) + 16|0); + $641 = +HEAPF32[$640>>2]; + $642 = (((333960 + (($$0290293*36)|0)|0)) + 28|0); + HEAP32[$78>>2] = -1; + $643 = +HEAPF32[$642>>2]; + ;HEAP8[$tmpcast318$byval_copy>>0]=HEAP8[$78>>0]|0;HEAP8[$tmpcast318$byval_copy+1>>0]=HEAP8[$78+1>>0]|0;HEAP8[$tmpcast318$byval_copy+2>>0]=HEAP8[$78+2>>0]|0;HEAP8[$tmpcast318$byval_copy+3>>0]=HEAP8[$78+3>>0]|0; + _Fade($77,$tmpcast318$byval_copy,$643); + ;HEAP32[$atlas01$byval_copy124>>2]=HEAP32[25512>>2]|0;HEAP32[$atlas01$byval_copy124+4>>2]=HEAP32[25512+4>>2]|0;HEAP32[$atlas01$byval_copy124+8>>2]=HEAP32[25512+8>>2]|0;HEAP32[$atlas01$byval_copy124+12>>2]=HEAP32[25512+12>>2]|0;HEAP32[$atlas01$byval_copy124+16>>2]=HEAP32[25512+16>>2]|0; + ;HEAP32[$atlas01$byval_copy141>>2]=HEAP32[$74>>2]|0;HEAP32[$atlas01$byval_copy141+4>>2]=HEAP32[$74+4>>2]|0;HEAP32[$atlas01$byval_copy141+8>>2]=HEAP32[$74+8>>2]|0;HEAP32[$atlas01$byval_copy141+12>>2]=HEAP32[$74+12>>2]|0; + ;HEAP32[$font$byval_copy162>>2]=HEAP32[$75>>2]|0;HEAP32[$font$byval_copy162+4>>2]=HEAP32[$75+4>>2]|0;HEAP32[$font$byval_copy162+8>>2]=HEAP32[$75+8>>2]|0;HEAP32[$font$byval_copy162+12>>2]=HEAP32[$75+12>>2]|0; + ;HEAP32[$$byval_copy163>>2]=HEAP32[$76>>2]|0;HEAP32[$$byval_copy163+4>>2]=HEAP32[$76+4>>2]|0; + ;HEAP8[$tmpcast318$byval_copy>>0]=HEAP8[$77>>0]|0;HEAP8[$tmpcast318$byval_copy+1>>0]=HEAP8[$77+1>>0]|0;HEAP8[$tmpcast318$byval_copy+2>>0]=HEAP8[$77+2>>0]|0;HEAP8[$tmpcast318$byval_copy+3>>0]=HEAP8[$77+3>>0]|0; + _DrawTexturePro($atlas01$byval_copy124,$atlas01$byval_copy141,$font$byval_copy162,$$byval_copy163,$641,$tmpcast318$byval_copy); + } + $644 = (($$0290293) + 1)|0; + $exitcond295 = ($644|0)==(20); + if ($exitcond295) { + break; + } else { + $$0290293 = $644; + } + } + HEAP32[$79>>2] = 1387; + $440 = ((($79)) + 4|0); + HEAP32[$440>>2] = 254; + $441 = ((($79)) + 8|0); + HEAP32[$441>>2] = 135; + $442 = ((($79)) + 12|0); + HEAP32[$442>>2] = 130; + $443 = (_GetScreenWidth()|0); + $444 = (+($443|0)); + $445 = $444 * 0.42099999999999999; + $446 = (~~(($445))); + HEAP32[$80>>2] = $446; + $447 = ((($80)) + 4|0); + $448 = (_GetScreenHeight()|0); + $449 = (+($448|0)); + $450 = $449 * 0.22800000000000001; + $451 = (~~(($450))); + HEAP32[$447>>2] = $451; + $452 = ((($80)) + 8|0); + HEAP32[$452>>2] = 135; + $453 = ((($80)) + 12|0); + HEAP32[$453>>2] = 130; + HEAPF32[$81>>2] = 0.0; + $454 = ((($81)) + 4|0); + HEAPF32[$454>>2] = 0.0; + HEAP32[$82>>2] = -1; + ;HEAP32[$atlas01$byval_copy124>>2]=HEAP32[25512>>2]|0;HEAP32[$atlas01$byval_copy124+4>>2]=HEAP32[25512+4>>2]|0;HEAP32[$atlas01$byval_copy124+8>>2]=HEAP32[25512+8>>2]|0;HEAP32[$atlas01$byval_copy124+12>>2]=HEAP32[25512+12>>2]|0;HEAP32[$atlas01$byval_copy124+16>>2]=HEAP32[25512+16>>2]|0; + ;HEAP32[$atlas01$byval_copy141>>2]=HEAP32[$79>>2]|0;HEAP32[$atlas01$byval_copy141+4>>2]=HEAP32[$79+4>>2]|0;HEAP32[$atlas01$byval_copy141+8>>2]=HEAP32[$79+8>>2]|0;HEAP32[$atlas01$byval_copy141+12>>2]=HEAP32[$79+12>>2]|0; + ;HEAP32[$font$byval_copy162>>2]=HEAP32[$80>>2]|0;HEAP32[$font$byval_copy162+4>>2]=HEAP32[$80+4>>2]|0;HEAP32[$font$byval_copy162+8>>2]=HEAP32[$80+8>>2]|0;HEAP32[$font$byval_copy162+12>>2]=HEAP32[$80+12>>2]|0; + ;HEAP32[$$byval_copy163>>2]=HEAP32[$81>>2]|0;HEAP32[$$byval_copy163+4>>2]=HEAP32[$81+4>>2]|0; + ;HEAP8[$tmpcast318$byval_copy>>0]=HEAP8[$82>>0]|0;HEAP8[$tmpcast318$byval_copy+1>>0]=HEAP8[$82+1>>0]|0;HEAP8[$tmpcast318$byval_copy+2>>0]=HEAP8[$82+2>>0]|0;HEAP8[$tmpcast318$byval_copy+3>>0]=HEAP8[$82+3>>0]|0; + _DrawTexturePro($atlas01$byval_copy124,$atlas01$byval_copy141,$font$byval_copy162,$$byval_copy163,0.0,$tmpcast318$byval_copy); + HEAP32[$83>>2] = 540; + $455 = ((($83)) + 4|0); + HEAP32[$455>>2] = 1714; + $456 = ((($83)) + 8|0); + HEAP32[$456>>2] = 119; + $457 = ((($83)) + 12|0); + HEAP32[$457>>2] = 123; + $458 = (_GetScreenWidth()|0); + $459 = (+($458|0)); + $460 = $459 * 0.53600000000000003; + $461 = (~~(($460))); + HEAP32[$84>>2] = $461; + $462 = ((($84)) + 4|0); + $463 = (_GetScreenHeight()|0); + $464 = (+($463|0)); + $465 = $464 * 0.38300000000000001; + $466 = (~~(($465))); + HEAP32[$462>>2] = $466; + $467 = ((($84)) + 8|0); + HEAP32[$467>>2] = 119; + $468 = ((($84)) + 12|0); + HEAP32[$468>>2] = 123; + HEAPF32[$85>>2] = 0.0; + $469 = ((($85)) + 4|0); + HEAPF32[$469>>2] = 0.0; + HEAP32[$86>>2] = -1; + ;HEAP32[$atlas01$byval_copy124>>2]=HEAP32[25512>>2]|0;HEAP32[$atlas01$byval_copy124+4>>2]=HEAP32[25512+4>>2]|0;HEAP32[$atlas01$byval_copy124+8>>2]=HEAP32[25512+8>>2]|0;HEAP32[$atlas01$byval_copy124+12>>2]=HEAP32[25512+12>>2]|0;HEAP32[$atlas01$byval_copy124+16>>2]=HEAP32[25512+16>>2]|0; + ;HEAP32[$atlas01$byval_copy141>>2]=HEAP32[$83>>2]|0;HEAP32[$atlas01$byval_copy141+4>>2]=HEAP32[$83+4>>2]|0;HEAP32[$atlas01$byval_copy141+8>>2]=HEAP32[$83+8>>2]|0;HEAP32[$atlas01$byval_copy141+12>>2]=HEAP32[$83+12>>2]|0; + ;HEAP32[$font$byval_copy162>>2]=HEAP32[$84>>2]|0;HEAP32[$font$byval_copy162+4>>2]=HEAP32[$84+4>>2]|0;HEAP32[$font$byval_copy162+8>>2]=HEAP32[$84+8>>2]|0;HEAP32[$font$byval_copy162+12>>2]=HEAP32[$84+12>>2]|0; + ;HEAP32[$$byval_copy163>>2]=HEAP32[$85>>2]|0;HEAP32[$$byval_copy163+4>>2]=HEAP32[$85+4>>2]|0; + ;HEAP8[$tmpcast318$byval_copy>>0]=HEAP8[$86>>0]|0;HEAP8[$tmpcast318$byval_copy+1>>0]=HEAP8[$86+1>>0]|0;HEAP8[$tmpcast318$byval_copy+2>>0]=HEAP8[$86+2>>0]|0;HEAP8[$tmpcast318$byval_copy+3>>0]=HEAP8[$86+3>>0]|0; + _DrawTexturePro($atlas01$byval_copy124,$atlas01$byval_copy141,$font$byval_copy162,$$byval_copy163,0.0,$tmpcast318$byval_copy); + HEAP32[$87>>2] = 419; + $470 = ((($87)) + 4|0); + HEAP32[$470>>2] = 1714; + $471 = ((($87)) + 8|0); + HEAP32[$471>>2] = 119; + $472 = ((($87)) + 12|0); + HEAP32[$472>>2] = 123; + $473 = (_GetScreenWidth()|0); + $474 = (+($473|0)); + $475 = $474 * 0.53500000000000003; + $476 = (~~(($475))); + HEAP32[$88>>2] = $476; + $477 = ((($88)) + 4|0); + $478 = (_GetScreenHeight()|0); + $479 = (+($478|0)); + $480 = $479 * 0.38300000000000001; + $481 = (~~(($480))); + HEAP32[$477>>2] = $481; + $482 = ((($88)) + 8|0); + HEAP32[$482>>2] = 119; + $483 = ((($88)) + 12|0); + HEAP32[$483>>2] = 123; + HEAPF32[$89>>2] = 0.0; + $484 = ((($89)) + 4|0); + HEAPF32[$484>>2] = 0.0; + HEAP32[$90>>2] = -1; + ;HEAP32[$atlas01$byval_copy124>>2]=HEAP32[25512>>2]|0;HEAP32[$atlas01$byval_copy124+4>>2]=HEAP32[25512+4>>2]|0;HEAP32[$atlas01$byval_copy124+8>>2]=HEAP32[25512+8>>2]|0;HEAP32[$atlas01$byval_copy124+12>>2]=HEAP32[25512+12>>2]|0;HEAP32[$atlas01$byval_copy124+16>>2]=HEAP32[25512+16>>2]|0; + ;HEAP32[$atlas01$byval_copy141>>2]=HEAP32[$87>>2]|0;HEAP32[$atlas01$byval_copy141+4>>2]=HEAP32[$87+4>>2]|0;HEAP32[$atlas01$byval_copy141+8>>2]=HEAP32[$87+8>>2]|0;HEAP32[$atlas01$byval_copy141+12>>2]=HEAP32[$87+12>>2]|0; + ;HEAP32[$font$byval_copy162>>2]=HEAP32[$88>>2]|0;HEAP32[$font$byval_copy162+4>>2]=HEAP32[$88+4>>2]|0;HEAP32[$font$byval_copy162+8>>2]=HEAP32[$88+8>>2]|0;HEAP32[$font$byval_copy162+12>>2]=HEAP32[$88+12>>2]|0; + ;HEAP32[$$byval_copy163>>2]=HEAP32[$89>>2]|0;HEAP32[$$byval_copy163+4>>2]=HEAP32[$89+4>>2]|0; + ;HEAP8[$tmpcast318$byval_copy>>0]=HEAP8[$90>>0]|0;HEAP8[$tmpcast318$byval_copy+1>>0]=HEAP8[$90+1>>0]|0;HEAP8[$tmpcast318$byval_copy+2>>0]=HEAP8[$90+2>>0]|0;HEAP8[$tmpcast318$byval_copy+3>>0]=HEAP8[$90+3>>0]|0; + _DrawTexturePro($atlas01$byval_copy124,$atlas01$byval_copy141,$font$byval_copy162,$$byval_copy163,0.0,$tmpcast318$byval_copy); + HEAP32[$91>>2] = 661; + $485 = ((($91)) + 4|0); + HEAP32[$485>>2] = 1697; + $486 = ((($91)) + 8|0); + HEAP32[$486>>2] = 113; + $487 = ((($91)) + 12|0); + HEAP32[$487>>2] = 91; + $488 = (_GetScreenWidth()|0); + $489 = (+($488|0)); + $490 = $489 * 0.53800000000000003; + $491 = (~~(($490))); + HEAP32[$92>>2] = $491; + $492 = ((($92)) + 4|0); + $493 = (_GetScreenHeight()|0); + $494 = (+($493|0)); + $495 = $494 * 0.41399999999999998; + $496 = (~~(($495))); + HEAP32[$492>>2] = $496; + $497 = ((($92)) + 8|0); + HEAP32[$497>>2] = 113; + $498 = ((($92)) + 12|0); + HEAP32[$498>>2] = 91; + HEAPF32[$93>>2] = 0.0; + $499 = ((($93)) + 4|0); + HEAPF32[$499>>2] = 0.0; + HEAP32[$94>>2] = -1; + ;HEAP32[$atlas01$byval_copy124>>2]=HEAP32[25512>>2]|0;HEAP32[$atlas01$byval_copy124+4>>2]=HEAP32[25512+4>>2]|0;HEAP32[$atlas01$byval_copy124+8>>2]=HEAP32[25512+8>>2]|0;HEAP32[$atlas01$byval_copy124+12>>2]=HEAP32[25512+12>>2]|0;HEAP32[$atlas01$byval_copy124+16>>2]=HEAP32[25512+16>>2]|0; + ;HEAP32[$atlas01$byval_copy141>>2]=HEAP32[$91>>2]|0;HEAP32[$atlas01$byval_copy141+4>>2]=HEAP32[$91+4>>2]|0;HEAP32[$atlas01$byval_copy141+8>>2]=HEAP32[$91+8>>2]|0;HEAP32[$atlas01$byval_copy141+12>>2]=HEAP32[$91+12>>2]|0; + ;HEAP32[$font$byval_copy162>>2]=HEAP32[$92>>2]|0;HEAP32[$font$byval_copy162+4>>2]=HEAP32[$92+4>>2]|0;HEAP32[$font$byval_copy162+8>>2]=HEAP32[$92+8>>2]|0;HEAP32[$font$byval_copy162+12>>2]=HEAP32[$92+12>>2]|0; + ;HEAP32[$$byval_copy163>>2]=HEAP32[$93>>2]|0;HEAP32[$$byval_copy163+4>>2]=HEAP32[$93+4>>2]|0; + ;HEAP8[$tmpcast318$byval_copy>>0]=HEAP8[$94>>0]|0;HEAP8[$tmpcast318$byval_copy+1>>0]=HEAP8[$94+1>>0]|0;HEAP8[$tmpcast318$byval_copy+2>>0]=HEAP8[$94+2>>0]|0;HEAP8[$tmpcast318$byval_copy+3>>0]=HEAP8[$94+3>>0]|0; + _DrawTexturePro($atlas01$byval_copy124,$atlas01$byval_copy141,$font$byval_copy162,$$byval_copy163,0.0,$tmpcast318$byval_copy); + HEAP32[$95>>2] = 974; + $500 = ((($95)) + 4|0); + HEAP32[$500>>2] = 1403; + $501 = ((($95)) + 8|0); + HEAP32[$501>>2] = 123; + $502 = ((($95)) + 12|0); + HEAP32[$502>>2] = 123; + $503 = (_GetScreenWidth()|0); + $504 = (+($503|0)); + $505 = $504 * 0.87099999999999999; + $506 = (~~(($505))); + HEAP32[$96>>2] = $506; + $507 = ((($96)) + 4|0); + $508 = (_GetScreenHeight()|0); + $509 = (+($508|0)); + $510 = $509 * 0.096000000000000001; + $511 = (~~(($510))); + HEAP32[$507>>2] = $511; + $512 = ((($96)) + 8|0); + HEAP32[$512>>2] = 123; + $513 = ((($96)) + 12|0); + HEAP32[$513>>2] = 123; + HEAPF32[$97>>2] = 0.0; + $514 = ((($97)) + 4|0); + HEAPF32[$514>>2] = 0.0; + ;HEAP32[$atlas01$byval_copy124>>2]=HEAP32[25512>>2]|0;HEAP32[$atlas01$byval_copy124+4>>2]=HEAP32[25512+4>>2]|0;HEAP32[$atlas01$byval_copy124+8>>2]=HEAP32[25512+8>>2]|0;HEAP32[$atlas01$byval_copy124+12>>2]=HEAP32[25512+12>>2]|0;HEAP32[$atlas01$byval_copy124+16>>2]=HEAP32[25512+16>>2]|0; + ;HEAP32[$atlas01$byval_copy141>>2]=HEAP32[$95>>2]|0;HEAP32[$atlas01$byval_copy141+4>>2]=HEAP32[$95+4>>2]|0;HEAP32[$atlas01$byval_copy141+8>>2]=HEAP32[$95+8>>2]|0;HEAP32[$atlas01$byval_copy141+12>>2]=HEAP32[$95+12>>2]|0; + ;HEAP32[$font$byval_copy162>>2]=HEAP32[$96>>2]|0;HEAP32[$font$byval_copy162+4>>2]=HEAP32[$96+4>>2]|0;HEAP32[$font$byval_copy162+8>>2]=HEAP32[$96+8>>2]|0;HEAP32[$font$byval_copy162+12>>2]=HEAP32[$96+12>>2]|0; + ;HEAP32[$$byval_copy163>>2]=HEAP32[$97>>2]|0;HEAP32[$$byval_copy163+4>>2]=HEAP32[$97+4>>2]|0; + ;HEAP8[$tmpcast318$byval_copy>>0]=HEAP8[333928>>0]|0;HEAP8[$tmpcast318$byval_copy+1>>0]=HEAP8[333928+1>>0]|0;HEAP8[$tmpcast318$byval_copy+2>>0]=HEAP8[333928+2>>0]|0;HEAP8[$tmpcast318$byval_copy+3>>0]=HEAP8[333928+3>>0]|0; + _DrawTexturePro($atlas01$byval_copy124,$atlas01$byval_copy141,$font$byval_copy162,$$byval_copy163,0.0,$tmpcast318$byval_copy); + HEAP32[$98>>2] = 958; + $515 = ((($98)) + 4|0); + HEAP32[$515>>2] = 1653; + $516 = ((($98)) + 8|0); + HEAP32[$516>>2] = 123; + $517 = ((($98)) + 12|0); + HEAP32[$517>>2] = 123; + $518 = (_GetScreenWidth()|0); + $519 = (+($518|0)); + $520 = $519 * 0.87099999999999999; + $521 = (~~(($520))); + HEAP32[$99>>2] = $521; + $522 = ((($99)) + 4|0); + $523 = (_GetScreenHeight()|0); + $524 = (+($523|0)); + $525 = $524 * 0.30299999999999999; + $526 = (~~(($525))); + HEAP32[$522>>2] = $526; + $527 = ((($99)) + 8|0); + HEAP32[$527>>2] = 123; + $528 = ((($99)) + 12|0); + HEAP32[$528>>2] = 123; + HEAPF32[$100>>2] = 0.0; + $529 = ((($100)) + 4|0); + HEAPF32[$529>>2] = 0.0; + ;HEAP32[$atlas01$byval_copy124>>2]=HEAP32[25512>>2]|0;HEAP32[$atlas01$byval_copy124+4>>2]=HEAP32[25512+4>>2]|0;HEAP32[$atlas01$byval_copy124+8>>2]=HEAP32[25512+8>>2]|0;HEAP32[$atlas01$byval_copy124+12>>2]=HEAP32[25512+12>>2]|0;HEAP32[$atlas01$byval_copy124+16>>2]=HEAP32[25512+16>>2]|0; + ;HEAP32[$atlas01$byval_copy141>>2]=HEAP32[$98>>2]|0;HEAP32[$atlas01$byval_copy141+4>>2]=HEAP32[$98+4>>2]|0;HEAP32[$atlas01$byval_copy141+8>>2]=HEAP32[$98+8>>2]|0;HEAP32[$atlas01$byval_copy141+12>>2]=HEAP32[$98+12>>2]|0; + ;HEAP32[$font$byval_copy162>>2]=HEAP32[$99>>2]|0;HEAP32[$font$byval_copy162+4>>2]=HEAP32[$99+4>>2]|0;HEAP32[$font$byval_copy162+8>>2]=HEAP32[$99+8>>2]|0;HEAP32[$font$byval_copy162+12>>2]=HEAP32[$99+12>>2]|0; + ;HEAP32[$$byval_copy163>>2]=HEAP32[$100>>2]|0;HEAP32[$$byval_copy163+4>>2]=HEAP32[$100+4>>2]|0; + ;HEAP8[$tmpcast318$byval_copy>>0]=HEAP8[333932>>0]|0;HEAP8[$tmpcast318$byval_copy+1>>0]=HEAP8[333932+1>>0]|0;HEAP8[$tmpcast318$byval_copy+2>>0]=HEAP8[333932+2>>0]|0;HEAP8[$tmpcast318$byval_copy+3>>0]=HEAP8[333932+3>>0]|0; + _DrawTexturePro($atlas01$byval_copy124,$atlas01$byval_copy141,$font$byval_copy162,$$byval_copy163,0.0,$tmpcast318$byval_copy); + HEAP32[$101>>2] = 1479; + $530 = ((($101)) + 4|0); + HEAP32[$530>>2] = 386; + $531 = ((($101)) + 8|0); + HEAP32[$531>>2] = 123; + $532 = ((($101)) + 12|0); + HEAP32[$532>>2] = 123; + $533 = (_GetScreenWidth()|0); + $534 = (+($533|0)); + $535 = $534 * 0.87099999999999999; + $536 = (~~(($535))); + HEAP32[$102>>2] = $536; + $537 = ((($102)) + 4|0); + $538 = (_GetScreenHeight()|0); + $539 = (+($538|0)); + $540 = $539 * 0.51300000000000001; + $541 = (~~(($540))); + HEAP32[$537>>2] = $541; + $542 = ((($102)) + 8|0); + HEAP32[$542>>2] = 123; + $543 = ((($102)) + 12|0); + HEAP32[$543>>2] = 123; + HEAPF32[$103>>2] = 0.0; + $544 = ((($103)) + 4|0); + HEAPF32[$544>>2] = 0.0; + ;HEAP32[$atlas01$byval_copy124>>2]=HEAP32[25512>>2]|0;HEAP32[$atlas01$byval_copy124+4>>2]=HEAP32[25512+4>>2]|0;HEAP32[$atlas01$byval_copy124+8>>2]=HEAP32[25512+8>>2]|0;HEAP32[$atlas01$byval_copy124+12>>2]=HEAP32[25512+12>>2]|0;HEAP32[$atlas01$byval_copy124+16>>2]=HEAP32[25512+16>>2]|0; + ;HEAP32[$atlas01$byval_copy141>>2]=HEAP32[$101>>2]|0;HEAP32[$atlas01$byval_copy141+4>>2]=HEAP32[$101+4>>2]|0;HEAP32[$atlas01$byval_copy141+8>>2]=HEAP32[$101+8>>2]|0;HEAP32[$atlas01$byval_copy141+12>>2]=HEAP32[$101+12>>2]|0; + ;HEAP32[$font$byval_copy162>>2]=HEAP32[$102>>2]|0;HEAP32[$font$byval_copy162+4>>2]=HEAP32[$102+4>>2]|0;HEAP32[$font$byval_copy162+8>>2]=HEAP32[$102+8>>2]|0;HEAP32[$font$byval_copy162+12>>2]=HEAP32[$102+12>>2]|0; + ;HEAP32[$$byval_copy163>>2]=HEAP32[$103>>2]|0;HEAP32[$$byval_copy163+4>>2]=HEAP32[$103+4>>2]|0; + ;HEAP8[$tmpcast318$byval_copy>>0]=HEAP8[333936>>0]|0;HEAP8[$tmpcast318$byval_copy+1>>0]=HEAP8[333936+1>>0]|0;HEAP8[$tmpcast318$byval_copy+2>>0]=HEAP8[333936+2>>0]|0;HEAP8[$tmpcast318$byval_copy+3>>0]=HEAP8[333936+3>>0]|0; + _DrawTexturePro($atlas01$byval_copy124,$atlas01$byval_copy141,$font$byval_copy162,$$byval_copy163,0.0,$tmpcast318$byval_copy); + HEAP32[$104>>2] = 954; + $545 = ((($104)) + 4|0); + HEAP32[$545>>2] = 1528; + $546 = ((($104)) + 8|0); + HEAP32[$546>>2] = 123; + $547 = ((($104)) + 12|0); + HEAP32[$547>>2] = 123; + $548 = (_GetScreenWidth()|0); + $549 = (+($548|0)); + $550 = $549 * 0.87099999999999999; + $551 = (~~(($550))); + HEAP32[$105>>2] = $551; + $552 = ((($105)) + 4|0); + $553 = (_GetScreenHeight()|0); + $554 = (+($553|0)); + $555 = $554 * 0.71899999999999997; + $556 = (~~(($555))); + HEAP32[$552>>2] = $556; + $557 = ((($105)) + 8|0); + HEAP32[$557>>2] = 123; + $558 = ((($105)) + 12|0); + HEAP32[$558>>2] = 123; + HEAPF32[$106>>2] = 0.0; + $559 = ((($106)) + 4|0); + HEAPF32[$559>>2] = 0.0; + ;HEAP32[$atlas01$byval_copy124>>2]=HEAP32[25512>>2]|0;HEAP32[$atlas01$byval_copy124+4>>2]=HEAP32[25512+4>>2]|0;HEAP32[$atlas01$byval_copy124+8>>2]=HEAP32[25512+8>>2]|0;HEAP32[$atlas01$byval_copy124+12>>2]=HEAP32[25512+12>>2]|0;HEAP32[$atlas01$byval_copy124+16>>2]=HEAP32[25512+16>>2]|0; + ;HEAP32[$atlas01$byval_copy141>>2]=HEAP32[$104>>2]|0;HEAP32[$atlas01$byval_copy141+4>>2]=HEAP32[$104+4>>2]|0;HEAP32[$atlas01$byval_copy141+8>>2]=HEAP32[$104+8>>2]|0;HEAP32[$atlas01$byval_copy141+12>>2]=HEAP32[$104+12>>2]|0; + ;HEAP32[$font$byval_copy162>>2]=HEAP32[$105>>2]|0;HEAP32[$font$byval_copy162+4>>2]=HEAP32[$105+4>>2]|0;HEAP32[$font$byval_copy162+8>>2]=HEAP32[$105+8>>2]|0;HEAP32[$font$byval_copy162+12>>2]=HEAP32[$105+12>>2]|0; + ;HEAP32[$$byval_copy163>>2]=HEAP32[$106>>2]|0;HEAP32[$$byval_copy163+4>>2]=HEAP32[$106+4>>2]|0; + ;HEAP8[$tmpcast318$byval_copy>>0]=HEAP8[333940>>0]|0;HEAP8[$tmpcast318$byval_copy+1>>0]=HEAP8[333940+1>>0]|0;HEAP8[$tmpcast318$byval_copy+2>>0]=HEAP8[333940+2>>0]|0;HEAP8[$tmpcast318$byval_copy+3>>0]=HEAP8[333940+3>>0]|0; + _DrawTexturePro($atlas01$byval_copy124,$atlas01$byval_copy141,$font$byval_copy162,$$byval_copy163,0.0,$tmpcast318$byval_copy); + $560 = HEAP32[83487]|0; + HEAP32[$vararg_buffer>>2] = $560; + $561 = (_FormatText(7158,$vararg_buffer)|0); + $562 = (_GetScreenWidth()|0); + $563 = (+($562|0)); + $564 = $563 * 0.73000001907348633; + HEAPF32[$107>>2] = $564; + $565 = ((($107)) + 4|0); + $566 = (_GetScreenHeight()|0); + $567 = (+($566|0)); + $568 = $567 * 0.14000000059604645; + HEAPF32[$565>>2] = $568; + $569 = HEAP32[(25500)>>2]|0; + $570 = (+($569|0)); + HEAP32[$108>>2] = -1; + ;HEAP32[$font$byval_copy162>>2]=HEAP32[25480>>2]|0;HEAP32[$font$byval_copy162+4>>2]=HEAP32[25480+4>>2]|0;HEAP32[$font$byval_copy162+8>>2]=HEAP32[25480+8>>2]|0;HEAP32[$font$byval_copy162+12>>2]=HEAP32[25480+12>>2]|0;HEAP32[$font$byval_copy162+16>>2]=HEAP32[25480+16>>2]|0;HEAP32[$font$byval_copy162+20>>2]=HEAP32[25480+20>>2]|0;HEAP32[$font$byval_copy162+24>>2]=HEAP32[25480+24>>2]|0;HEAP32[$font$byval_copy162+28>>2]=HEAP32[25480+28>>2]|0; + ;HEAP32[$$byval_copy163>>2]=HEAP32[$107>>2]|0;HEAP32[$$byval_copy163+4>>2]=HEAP32[$107+4>>2]|0; + ;HEAP8[$tmpcast318$byval_copy>>0]=HEAP8[$108>>0]|0;HEAP8[$tmpcast318$byval_copy+1>>0]=HEAP8[$108+1>>0]|0;HEAP8[$tmpcast318$byval_copy+2>>0]=HEAP8[$108+2>>0]|0;HEAP8[$tmpcast318$byval_copy+3>>0]=HEAP8[$108+3>>0]|0; + _DrawTextEx($font$byval_copy162,$561,$$byval_copy163,$570,1,$tmpcast318$byval_copy); + $571 = HEAP32[83488]|0; + HEAP32[$vararg_buffer1>>2] = $571; + $572 = (_FormatText(7158,$vararg_buffer1)|0); + $573 = (_GetScreenWidth()|0); + $574 = (+($573|0)); + $575 = $574 * 0.73000001907348633; + HEAPF32[$109>>2] = $575; + $576 = ((($109)) + 4|0); + $577 = (_GetScreenHeight()|0); + $578 = (+($577|0)); + $579 = $578 * 0.28999999165534973; + HEAPF32[$576>>2] = $579; + $580 = HEAP32[(25500)>>2]|0; + $581 = (+($580|0)); + HEAP32[$110>>2] = -1; + ;HEAP32[$font$byval_copy162>>2]=HEAP32[25480>>2]|0;HEAP32[$font$byval_copy162+4>>2]=HEAP32[25480+4>>2]|0;HEAP32[$font$byval_copy162+8>>2]=HEAP32[25480+8>>2]|0;HEAP32[$font$byval_copy162+12>>2]=HEAP32[25480+12>>2]|0;HEAP32[$font$byval_copy162+16>>2]=HEAP32[25480+16>>2]|0;HEAP32[$font$byval_copy162+20>>2]=HEAP32[25480+20>>2]|0;HEAP32[$font$byval_copy162+24>>2]=HEAP32[25480+24>>2]|0;HEAP32[$font$byval_copy162+28>>2]=HEAP32[25480+28>>2]|0; + ;HEAP32[$$byval_copy163>>2]=HEAP32[$109>>2]|0;HEAP32[$$byval_copy163+4>>2]=HEAP32[$109+4>>2]|0; + ;HEAP8[$tmpcast318$byval_copy>>0]=HEAP8[$110>>0]|0;HEAP8[$tmpcast318$byval_copy+1>>0]=HEAP8[$110+1>>0]|0;HEAP8[$tmpcast318$byval_copy+2>>0]=HEAP8[$110+2>>0]|0;HEAP8[$tmpcast318$byval_copy+3>>0]=HEAP8[$110+3>>0]|0; + _DrawTextEx($font$byval_copy162,$572,$$byval_copy163,$581,1,$tmpcast318$byval_copy); + $582 = HEAP32[83486]|0; + HEAP32[$vararg_buffer4>>2] = $582; + $583 = (_FormatText(7163,$vararg_buffer4)|0); + $584 = (_GetScreenWidth()|0); + $585 = (+($584|0)); + $586 = $585 * 0.7149999737739563; + HEAPF32[$111>>2] = $586; + $587 = ((($111)) + 4|0); + $588 = (_GetScreenHeight()|0); + $589 = (+($588|0)); + $590 = $589 * 0.42599999904632568; + HEAPF32[$587>>2] = $590; + $591 = HEAP32[(25500)>>2]|0; + $592 = (+($591|0)); + HEAP32[$112>>2] = -1; + ;HEAP32[$font$byval_copy162>>2]=HEAP32[25480>>2]|0;HEAP32[$font$byval_copy162+4>>2]=HEAP32[25480+4>>2]|0;HEAP32[$font$byval_copy162+8>>2]=HEAP32[25480+8>>2]|0;HEAP32[$font$byval_copy162+12>>2]=HEAP32[25480+12>>2]|0;HEAP32[$font$byval_copy162+16>>2]=HEAP32[25480+16>>2]|0;HEAP32[$font$byval_copy162+20>>2]=HEAP32[25480+20>>2]|0;HEAP32[$font$byval_copy162+24>>2]=HEAP32[25480+24>>2]|0;HEAP32[$font$byval_copy162+28>>2]=HEAP32[25480+28>>2]|0; + ;HEAP32[$$byval_copy163>>2]=HEAP32[$111>>2]|0;HEAP32[$$byval_copy163+4>>2]=HEAP32[$111+4>>2]|0; + ;HEAP8[$tmpcast318$byval_copy>>0]=HEAP8[$112>>0]|0;HEAP8[$tmpcast318$byval_copy+1>>0]=HEAP8[$112+1>>0]|0;HEAP8[$tmpcast318$byval_copy+2>>0]=HEAP8[$112+2>>0]|0;HEAP8[$tmpcast318$byval_copy+3>>0]=HEAP8[$112+3>>0]|0; + _DrawTextEx($font$byval_copy162,$583,$$byval_copy163,$592,1,$tmpcast318$byval_copy); + $593 = HEAP32[6567]|0; + $594 = HEAP32[83476]|0; + HEAP32[$vararg_buffer7>>2] = 339152; + $vararg_ptr10 = ((($vararg_buffer7)) + 4|0); + HEAP32[$vararg_ptr10>>2] = $593; + $vararg_ptr11 = ((($vararg_buffer7)) + 8|0); + HEAP32[$vararg_ptr11>>2] = 339184; + $vararg_ptr12 = ((($vararg_buffer7)) + 12|0); + HEAP32[$vararg_ptr12>>2] = $594; + $595 = (_FormatText(7168,$vararg_buffer7)|0); + $596 = (_GetScreenWidth()|0); + $597 = (+($596|0)); + $598 = $597 * 0.10000000149011612; + HEAPF32[$113>>2] = $598; + $599 = ((($113)) + 4|0); + $600 = (_GetScreenHeight()|0); + $601 = (+($600|0)); + $602 = $601 * 0.69999998807907104; + HEAPF32[$599>>2] = $602; + $603 = HEAP32[(25500)>>2]|0; + $604 = (+($603|0)); + $605 = $604 * 0.5; + HEAP32[$114>>2] = -1; + ;HEAP32[$font$byval_copy162>>2]=HEAP32[25480>>2]|0;HEAP32[$font$byval_copy162+4>>2]=HEAP32[25480+4>>2]|0;HEAP32[$font$byval_copy162+8>>2]=HEAP32[25480+8>>2]|0;HEAP32[$font$byval_copy162+12>>2]=HEAP32[25480+12>>2]|0;HEAP32[$font$byval_copy162+16>>2]=HEAP32[25480+16>>2]|0;HEAP32[$font$byval_copy162+20>>2]=HEAP32[25480+20>>2]|0;HEAP32[$font$byval_copy162+24>>2]=HEAP32[25480+24>>2]|0;HEAP32[$font$byval_copy162+28>>2]=HEAP32[25480+28>>2]|0; + ;HEAP32[$$byval_copy163>>2]=HEAP32[$113>>2]|0;HEAP32[$$byval_copy163+4>>2]=HEAP32[$113+4>>2]|0; + ;HEAP8[$tmpcast318$byval_copy>>0]=HEAP8[$114>>0]|0;HEAP8[$tmpcast318$byval_copy+1>>0]=HEAP8[$114+1>>0]|0;HEAP8[$tmpcast318$byval_copy+2>>0]=HEAP8[$114+2>>0]|0;HEAP8[$tmpcast318$byval_copy+3>>0]=HEAP8[$114+3>>0]|0; + _DrawTextEx($font$byval_copy162,$595,$$byval_copy163,$605,1,$tmpcast318$byval_copy); + $606 = ((($115)) + 4|0); + $607 = ((($115)) + 8|0); + $608 = ((($115)) + 12|0); + $609 = ((($116)) + 4|0); + $610 = ((($118)) + 4|0); + $611 = ((($118)) + 8|0); + $612 = ((($118)) + 12|0); + $613 = ((($119)) + 4|0); + $614 = ((($121)) + 4|0); + $615 = ((($121)) + 8|0); + $616 = ((($121)) + 12|0); + $617 = ((($122)) + 4|0); + $618 = ((($124)) + 4|0); + $619 = ((($124)) + 8|0); + $620 = ((($124)) + 12|0); + $621 = ((($125)) + 4|0); + $622 = ((($127)) + 4|0); + $623 = ((($127)) + 8|0); + $624 = ((($127)) + 12|0); + $625 = ((($128)) + 4|0); + $$0291292 = 0; + while(1) { + $646 = (334692 + ($$0291292<<2)|0); + $647 = HEAP32[$646>>2]|0; + $648 = ($647|0)==(0); + L21: do { + if (!($648)) { + $649 = (25732 + ($$0291292<<2)|0); + $650 = HEAP32[$649>>2]|0; + switch ($650|0) { + case 1: { + HEAP32[$115>>2] = 65; + HEAP32[$606>>2] = 1968; + HEAP32[$607>>2] = 46; + HEAP32[$608>>2] = 67; + $651 = (_GetScreenWidth()|0); + $652 = (+($651|0)); + $653 = $652 * 0.44800000000000001; + $654 = (($$0291292|0) % 10)&-1; + $655 = ($654*46)|0; + $656 = (+($655|0)); + $657 = $656 + $653; + $658 = $657; + HEAPF32[$116>>2] = $658; + $659 = (_GetScreenHeight()|0); + $660 = (+($659|0)); + $661 = $660 * 0.68200000000000005; + $662 = (_GetScreenHeight()|0); + $663 = (+($662|0)); + $664 = $663 * 0.055; + $665 = (($$0291292|0) / 10)&-1; + $666 = (+($665|0)); + $667 = $666 * $664; + $668 = $661 + $667; + $669 = $668; + HEAPF32[$609>>2] = $669; + HEAP32[$117>>2] = -1; + ;HEAP32[$atlas01$byval_copy141>>2]=HEAP32[25512>>2]|0;HEAP32[$atlas01$byval_copy141+4>>2]=HEAP32[25512+4>>2]|0;HEAP32[$atlas01$byval_copy141+8>>2]=HEAP32[25512+8>>2]|0;HEAP32[$atlas01$byval_copy141+12>>2]=HEAP32[25512+12>>2]|0;HEAP32[$atlas01$byval_copy141+16>>2]=HEAP32[25512+16>>2]|0; + ;HEAP32[$font$byval_copy162>>2]=HEAP32[$115>>2]|0;HEAP32[$font$byval_copy162+4>>2]=HEAP32[$115+4>>2]|0;HEAP32[$font$byval_copy162+8>>2]=HEAP32[$115+8>>2]|0;HEAP32[$font$byval_copy162+12>>2]=HEAP32[$115+12>>2]|0; + ;HEAP32[$$byval_copy163>>2]=HEAP32[$116>>2]|0;HEAP32[$$byval_copy163+4>>2]=HEAP32[$116+4>>2]|0; + ;HEAP8[$tmpcast318$byval_copy>>0]=HEAP8[$117>>0]|0;HEAP8[$tmpcast318$byval_copy+1>>0]=HEAP8[$117+1>>0]|0;HEAP8[$tmpcast318$byval_copy+2>>0]=HEAP8[$117+2>>0]|0;HEAP8[$tmpcast318$byval_copy+3>>0]=HEAP8[$117+3>>0]|0; + _DrawTextureRec($atlas01$byval_copy141,$font$byval_copy162,$$byval_copy163,$tmpcast318$byval_copy); + break L21; + break; + } + case 2: { + HEAP32[$118>>2] = 1481; + HEAP32[$610>>2] = 182; + HEAP32[$611>>2] = 56; + HEAP32[$612>>2] = 70; + $670 = (_GetScreenWidth()|0); + $671 = (+($670|0)); + $672 = $671 * 0.44800000000000001; + $673 = (($$0291292|0) % 10)&-1; + $674 = ($673*56)|0; + $675 = (+($674|0)); + $676 = $675 + $672; + $677 = $676; + HEAPF32[$119>>2] = $677; + $678 = (_GetScreenHeight()|0); + $679 = (+($678|0)); + $680 = $679 * 0.68200000000000005; + $681 = (_GetScreenHeight()|0); + $682 = (+($681|0)); + $683 = $682 * 0.055; + $684 = (($$0291292|0) / 10)&-1; + $685 = (+($684|0)); + $686 = $685 * $683; + $687 = $680 + $686; + $688 = $687; + HEAPF32[$613>>2] = $688; + HEAP32[$120>>2] = -1; + ;HEAP32[$atlas01$byval_copy141>>2]=HEAP32[25512>>2]|0;HEAP32[$atlas01$byval_copy141+4>>2]=HEAP32[25512+4>>2]|0;HEAP32[$atlas01$byval_copy141+8>>2]=HEAP32[25512+8>>2]|0;HEAP32[$atlas01$byval_copy141+12>>2]=HEAP32[25512+12>>2]|0;HEAP32[$atlas01$byval_copy141+16>>2]=HEAP32[25512+16>>2]|0; + ;HEAP32[$font$byval_copy162>>2]=HEAP32[$118>>2]|0;HEAP32[$font$byval_copy162+4>>2]=HEAP32[$118+4>>2]|0;HEAP32[$font$byval_copy162+8>>2]=HEAP32[$118+8>>2]|0;HEAP32[$font$byval_copy162+12>>2]=HEAP32[$118+12>>2]|0; + ;HEAP32[$$byval_copy163>>2]=HEAP32[$119>>2]|0;HEAP32[$$byval_copy163+4>>2]=HEAP32[$119+4>>2]|0; + ;HEAP8[$tmpcast318$byval_copy>>0]=HEAP8[$120>>0]|0;HEAP8[$tmpcast318$byval_copy+1>>0]=HEAP8[$120+1>>0]|0;HEAP8[$tmpcast318$byval_copy+2>>0]=HEAP8[$120+2>>0]|0;HEAP8[$tmpcast318$byval_copy+3>>0]=HEAP8[$120+3>>0]|0; + _DrawTextureRec($atlas01$byval_copy141,$font$byval_copy162,$$byval_copy163,$tmpcast318$byval_copy); + break L21; + break; + } + case 3: { + HEAP32[$121>>2] = 226; + HEAP32[$614>>2] = 1885; + HEAP32[$615>>2] = 68; + HEAP32[$616>>2] = 52; + $689 = (_GetScreenWidth()|0); + $690 = (+($689|0)); + $691 = $690 * 0.44800000000000001; + $692 = (($$0291292|0) % 10)&-1; + $693 = ($692*68)|0; + $694 = (+($693|0)); + $695 = $694 + $691; + $696 = $695; + HEAPF32[$122>>2] = $696; + $697 = (_GetScreenHeight()|0); + $698 = (+($697|0)); + $699 = $698 * 0.68200000000000005; + $700 = (_GetScreenHeight()|0); + $701 = (+($700|0)); + $702 = $701 * 0.055; + $703 = (($$0291292|0) / 10)&-1; + $704 = (+($703|0)); + $705 = $704 * $702; + $706 = $699 + $705; + $707 = $706; + HEAPF32[$617>>2] = $707; + HEAP32[$123>>2] = -1; + ;HEAP32[$atlas01$byval_copy141>>2]=HEAP32[25512>>2]|0;HEAP32[$atlas01$byval_copy141+4>>2]=HEAP32[25512+4>>2]|0;HEAP32[$atlas01$byval_copy141+8>>2]=HEAP32[25512+8>>2]|0;HEAP32[$atlas01$byval_copy141+12>>2]=HEAP32[25512+12>>2]|0;HEAP32[$atlas01$byval_copy141+16>>2]=HEAP32[25512+16>>2]|0; + ;HEAP32[$font$byval_copy162>>2]=HEAP32[$121>>2]|0;HEAP32[$font$byval_copy162+4>>2]=HEAP32[$121+4>>2]|0;HEAP32[$font$byval_copy162+8>>2]=HEAP32[$121+8>>2]|0;HEAP32[$font$byval_copy162+12>>2]=HEAP32[$121+12>>2]|0; + ;HEAP32[$$byval_copy163>>2]=HEAP32[$122>>2]|0;HEAP32[$$byval_copy163+4>>2]=HEAP32[$122+4>>2]|0; + ;HEAP8[$tmpcast318$byval_copy>>0]=HEAP8[$123>>0]|0;HEAP8[$tmpcast318$byval_copy+1>>0]=HEAP8[$123+1>>0]|0;HEAP8[$tmpcast318$byval_copy+2>>0]=HEAP8[$123+2>>0]|0;HEAP8[$tmpcast318$byval_copy+3>>0]=HEAP8[$123+3>>0]|0; + _DrawTextureRec($atlas01$byval_copy141,$font$byval_copy162,$$byval_copy163,$tmpcast318$byval_copy); + break L21; + break; + } + case 4: { + HEAP32[$124>>2] = 1318; + HEAP32[$618>>2] = 516; + HEAP32[$619>>2] = 62; + HEAP32[$620>>2] = 60; + $708 = (_GetScreenWidth()|0); + $709 = (+($708|0)); + $710 = $709 * 0.44800000000000001; + $711 = (($$0291292|0) % 10)&-1; + $712 = ($711*62)|0; + $713 = (+($712|0)); + $714 = $713 + $710; + $715 = $714; + HEAPF32[$125>>2] = $715; + $716 = (_GetScreenHeight()|0); + $717 = (+($716|0)); + $718 = $717 * 0.68200000000000005; + $719 = (_GetScreenHeight()|0); + $720 = (+($719|0)); + $721 = $720 * 0.055; + $722 = (($$0291292|0) / 10)&-1; + $723 = (+($722|0)); + $724 = $723 * $721; + $725 = $718 + $724; + $726 = $725; + HEAPF32[$621>>2] = $726; + HEAP32[$126>>2] = -1; + ;HEAP32[$atlas01$byval_copy141>>2]=HEAP32[25512>>2]|0;HEAP32[$atlas01$byval_copy141+4>>2]=HEAP32[25512+4>>2]|0;HEAP32[$atlas01$byval_copy141+8>>2]=HEAP32[25512+8>>2]|0;HEAP32[$atlas01$byval_copy141+12>>2]=HEAP32[25512+12>>2]|0;HEAP32[$atlas01$byval_copy141+16>>2]=HEAP32[25512+16>>2]|0; + ;HEAP32[$font$byval_copy162>>2]=HEAP32[$124>>2]|0;HEAP32[$font$byval_copy162+4>>2]=HEAP32[$124+4>>2]|0;HEAP32[$font$byval_copy162+8>>2]=HEAP32[$124+8>>2]|0;HEAP32[$font$byval_copy162+12>>2]=HEAP32[$124+12>>2]|0; + ;HEAP32[$$byval_copy163>>2]=HEAP32[$125>>2]|0;HEAP32[$$byval_copy163+4>>2]=HEAP32[$125+4>>2]|0; + ;HEAP8[$tmpcast318$byval_copy>>0]=HEAP8[$126>>0]|0;HEAP8[$tmpcast318$byval_copy+1>>0]=HEAP8[$126+1>>0]|0;HEAP8[$tmpcast318$byval_copy+2>>0]=HEAP8[$126+2>>0]|0;HEAP8[$tmpcast318$byval_copy+3>>0]=HEAP8[$126+3>>0]|0; + _DrawTextureRec($atlas01$byval_copy141,$font$byval_copy162,$$byval_copy163,$tmpcast318$byval_copy); + break L21; + break; + } + case 5: { + HEAP32[$127>>2] = 1974; + HEAP32[$622>>2] = 116; + HEAP32[$623>>2] = 39; + HEAP32[$624>>2] = 48; + $727 = (_GetScreenWidth()|0); + $728 = (+($727|0)); + $729 = $728 * 0.44800000000000001; + $730 = (($$0291292|0) % 10)&-1; + $731 = ($730*39)|0; + $732 = (+($731|0)); + $733 = $732 + $729; + $734 = $733; + HEAPF32[$128>>2] = $734; + $735 = (_GetScreenHeight()|0); + $736 = (+($735|0)); + $737 = $736 * 0.68200000000000005; + $738 = (_GetScreenHeight()|0); + $739 = (+($738|0)); + $740 = $739 * 0.055; + $741 = (($$0291292|0) / 10)&-1; + $742 = (+($741|0)); + $743 = $742 * $740; + $744 = $737 + $743; + $745 = $744; + HEAPF32[$625>>2] = $745; + HEAP32[$129>>2] = -1; + ;HEAP32[$atlas01$byval_copy141>>2]=HEAP32[25512>>2]|0;HEAP32[$atlas01$byval_copy141+4>>2]=HEAP32[25512+4>>2]|0;HEAP32[$atlas01$byval_copy141+8>>2]=HEAP32[25512+8>>2]|0;HEAP32[$atlas01$byval_copy141+12>>2]=HEAP32[25512+12>>2]|0;HEAP32[$atlas01$byval_copy141+16>>2]=HEAP32[25512+16>>2]|0; + ;HEAP32[$font$byval_copy162>>2]=HEAP32[$127>>2]|0;HEAP32[$font$byval_copy162+4>>2]=HEAP32[$127+4>>2]|0;HEAP32[$font$byval_copy162+8>>2]=HEAP32[$127+8>>2]|0;HEAP32[$font$byval_copy162+12>>2]=HEAP32[$127+12>>2]|0; + ;HEAP32[$$byval_copy163>>2]=HEAP32[$128>>2]|0;HEAP32[$$byval_copy163+4>>2]=HEAP32[$128+4>>2]|0; + ;HEAP8[$tmpcast318$byval_copy>>0]=HEAP8[$129>>0]|0;HEAP8[$tmpcast318$byval_copy+1>>0]=HEAP8[$129+1>>0]|0;HEAP8[$tmpcast318$byval_copy+2>>0]=HEAP8[$129+2>>0]|0;HEAP8[$tmpcast318$byval_copy+3>>0]=HEAP8[$129+3>>0]|0; + _DrawTextureRec($atlas01$byval_copy141,$font$byval_copy162,$$byval_copy163,$tmpcast318$byval_copy); + break L21; + break; + } + default: { + break L21; + } + } + } + } while(0); + $746 = (($$0291292) + 1)|0; + $exitcond = ($746|0)==(128); + if ($exitcond) { + break; + } else { + $$0291292 = $746; + } + } + $645 = HEAP32[6561]|0; + switch ($645|0) { + case 0: { + $747 = (_GetScreenWidth()|0); + $748 = (+($747|0)); + $749 = $748 * 0.12999999523162842; + HEAPF32[$130>>2] = $749; + $750 = ((($130)) + 4|0); + $751 = (_GetScreenHeight()|0); + $752 = (+($751|0)); + $753 = $752 * 0.77999997138977051; + HEAPF32[$750>>2] = $753; + $754 = HEAP32[(25500)>>2]|0; + $755 = (+($754|0)); + $756 = $755 * 0.5; + HEAP32[$131>>2] = -1; + ;HEAP32[$font$byval_copy162>>2]=HEAP32[25480>>2]|0;HEAP32[$font$byval_copy162+4>>2]=HEAP32[25480+4>>2]|0;HEAP32[$font$byval_copy162+8>>2]=HEAP32[25480+8>>2]|0;HEAP32[$font$byval_copy162+12>>2]=HEAP32[25480+12>>2]|0;HEAP32[$font$byval_copy162+16>>2]=HEAP32[25480+16>>2]|0;HEAP32[$font$byval_copy162+20>>2]=HEAP32[25480+20>>2]|0;HEAP32[$font$byval_copy162+24>>2]=HEAP32[25480+24>>2]|0;HEAP32[$font$byval_copy162+28>>2]=HEAP32[25480+28>>2]|0; + ;HEAP32[$$byval_copy163>>2]=HEAP32[$130>>2]|0;HEAP32[$$byval_copy163+4>>2]=HEAP32[$130+4>>2]|0; + ;HEAP8[$tmpcast318$byval_copy>>0]=HEAP8[$131>>0]|0;HEAP8[$tmpcast318$byval_copy+1>>0]=HEAP8[$131+1>>0]|0;HEAP8[$tmpcast318$byval_copy+2>>0]=HEAP8[$131+2>>0]|0;HEAP8[$tmpcast318$byval_copy+3>>0]=HEAP8[$131+3>>0]|0; + _DrawTextEx($font$byval_copy162,6906,$$byval_copy163,$756,1,$tmpcast318$byval_copy); + STACKTOP = sp;return; + break; + } + case 2: { + $757 = (_GetScreenWidth()|0); + $758 = (+($757|0)); + $759 = $758 * 0.12999999523162842; + HEAPF32[$132>>2] = $759; + $760 = ((($132)) + 4|0); + $761 = (_GetScreenHeight()|0); + $762 = (+($761|0)); + $763 = $762 * 0.77999997138977051; + HEAPF32[$760>>2] = $763; + $764 = HEAP32[(25500)>>2]|0; + $765 = (+($764|0)); + $766 = $765 * 0.5; + HEAP32[$133>>2] = -1; + ;HEAP32[$font$byval_copy162>>2]=HEAP32[25480>>2]|0;HEAP32[$font$byval_copy162+4>>2]=HEAP32[25480+4>>2]|0;HEAP32[$font$byval_copy162+8>>2]=HEAP32[25480+8>>2]|0;HEAP32[$font$byval_copy162+12>>2]=HEAP32[25480+12>>2]|0;HEAP32[$font$byval_copy162+16>>2]=HEAP32[25480+16>>2]|0;HEAP32[$font$byval_copy162+20>>2]=HEAP32[25480+20>>2]|0;HEAP32[$font$byval_copy162+24>>2]=HEAP32[25480+24>>2]|0;HEAP32[$font$byval_copy162+28>>2]=HEAP32[25480+28>>2]|0; + ;HEAP32[$$byval_copy163>>2]=HEAP32[$132>>2]|0;HEAP32[$$byval_copy163+4>>2]=HEAP32[$132+4>>2]|0; + ;HEAP8[$tmpcast318$byval_copy>>0]=HEAP8[$133>>0]|0;HEAP8[$tmpcast318$byval_copy+1>>0]=HEAP8[$133+1>>0]|0;HEAP8[$tmpcast318$byval_copy+2>>0]=HEAP8[$133+2>>0]|0;HEAP8[$tmpcast318$byval_copy+3>>0]=HEAP8[$133+3>>0]|0; + _DrawTextEx($font$byval_copy162,6874,$$byval_copy163,$766,1,$tmpcast318$byval_copy); + STACKTOP = sp;return; + break; + } + case 1: { + $767 = (_GetScreenWidth()|0); + $768 = (+($767|0)); + $769 = $768 * 0.12999999523162842; + HEAPF32[$134>>2] = $769; + $770 = ((($134)) + 4|0); + $771 = (_GetScreenHeight()|0); + $772 = (+($771|0)); + $773 = $772 * 0.77999997138977051; + HEAPF32[$770>>2] = $773; + $774 = HEAP32[(25500)>>2]|0; + $775 = (+($774|0)); + $776 = $775 * 0.5; + HEAP32[$135>>2] = -1; + ;HEAP32[$font$byval_copy162>>2]=HEAP32[25480>>2]|0;HEAP32[$font$byval_copy162+4>>2]=HEAP32[25480+4>>2]|0;HEAP32[$font$byval_copy162+8>>2]=HEAP32[25480+8>>2]|0;HEAP32[$font$byval_copy162+12>>2]=HEAP32[25480+12>>2]|0;HEAP32[$font$byval_copy162+16>>2]=HEAP32[25480+16>>2]|0;HEAP32[$font$byval_copy162+20>>2]=HEAP32[25480+20>>2]|0;HEAP32[$font$byval_copy162+24>>2]=HEAP32[25480+24>>2]|0;HEAP32[$font$byval_copy162+28>>2]=HEAP32[25480+28>>2]|0; + ;HEAP32[$$byval_copy163>>2]=HEAP32[$134>>2]|0;HEAP32[$$byval_copy163+4>>2]=HEAP32[$134+4>>2]|0; + ;HEAP8[$tmpcast318$byval_copy>>0]=HEAP8[$135>>0]|0;HEAP8[$tmpcast318$byval_copy+1>>0]=HEAP8[$135+1>>0]|0;HEAP8[$tmpcast318$byval_copy+2>>0]=HEAP8[$135+2>>0]|0;HEAP8[$tmpcast318$byval_copy+3>>0]=HEAP8[$135+3>>0]|0; + _DrawTextEx($font$byval_copy162,6938,$$byval_copy163,$776,1,$tmpcast318$byval_copy); + $777 = (_GetScreenWidth()|0); + $778 = (+($777|0)); + $779 = $778 * 0.12999999523162842; + HEAPF32[$136>>2] = $779; + $780 = ((($136)) + 4|0); + $781 = (_GetScreenHeight()|0); + $782 = (+($781|0)); + $783 = $782 * 0.82999998331069946; + HEAPF32[$780>>2] = $783; + $784 = HEAP32[(25500)>>2]|0; + $785 = (+($784|0)); + $786 = $785 * 0.5; + HEAP32[$137>>2] = -1; + ;HEAP32[$font$byval_copy162>>2]=HEAP32[25480>>2]|0;HEAP32[$font$byval_copy162+4>>2]=HEAP32[25480+4>>2]|0;HEAP32[$font$byval_copy162+8>>2]=HEAP32[25480+8>>2]|0;HEAP32[$font$byval_copy162+12>>2]=HEAP32[25480+12>>2]|0;HEAP32[$font$byval_copy162+16>>2]=HEAP32[25480+16>>2]|0;HEAP32[$font$byval_copy162+20>>2]=HEAP32[25480+20>>2]|0;HEAP32[$font$byval_copy162+24>>2]=HEAP32[25480+24>>2]|0;HEAP32[$font$byval_copy162+28>>2]=HEAP32[25480+28>>2]|0; + ;HEAP32[$$byval_copy163>>2]=HEAP32[$136>>2]|0;HEAP32[$$byval_copy163+4>>2]=HEAP32[$136+4>>2]|0; + ;HEAP8[$tmpcast318$byval_copy>>0]=HEAP8[$137>>0]|0;HEAP8[$tmpcast318$byval_copy+1>>0]=HEAP8[$137+1>>0]|0;HEAP8[$tmpcast318$byval_copy+2>>0]=HEAP8[$137+2>>0]|0;HEAP8[$tmpcast318$byval_copy+3>>0]=HEAP8[$137+3>>0]|0; + _DrawTextEx($font$byval_copy162,6970,$$byval_copy163,$786,1,$tmpcast318$byval_copy); + STACKTOP = sp;return; + break; + } + case 3: { + $787 = (_GetScreenWidth()|0); + $788 = (+($787|0)); + $789 = $788 * 0.12999999523162842; + HEAPF32[$138>>2] = $789; + $790 = ((($138)) + 4|0); + $791 = (_GetScreenHeight()|0); + $792 = (+($791|0)); + $793 = $792 * 0.77999997138977051; + HEAPF32[$790>>2] = $793; + $794 = HEAP32[(25500)>>2]|0; + $795 = (+($794|0)); + $796 = $795 * 0.5; + HEAP32[$139>>2] = -1; + ;HEAP32[$font$byval_copy162>>2]=HEAP32[25480>>2]|0;HEAP32[$font$byval_copy162+4>>2]=HEAP32[25480+4>>2]|0;HEAP32[$font$byval_copy162+8>>2]=HEAP32[25480+8>>2]|0;HEAP32[$font$byval_copy162+12>>2]=HEAP32[25480+12>>2]|0;HEAP32[$font$byval_copy162+16>>2]=HEAP32[25480+16>>2]|0;HEAP32[$font$byval_copy162+20>>2]=HEAP32[25480+20>>2]|0;HEAP32[$font$byval_copy162+24>>2]=HEAP32[25480+24>>2]|0;HEAP32[$font$byval_copy162+28>>2]=HEAP32[25480+28>>2]|0; + ;HEAP32[$$byval_copy163>>2]=HEAP32[$138>>2]|0;HEAP32[$$byval_copy163+4>>2]=HEAP32[$138+4>>2]|0; + ;HEAP8[$tmpcast318$byval_copy>>0]=HEAP8[$139>>0]|0;HEAP8[$tmpcast318$byval_copy+1>>0]=HEAP8[$139+1>>0]|0;HEAP8[$tmpcast318$byval_copy+2>>0]=HEAP8[$139+2>>0]|0;HEAP8[$tmpcast318$byval_copy+3>>0]=HEAP8[$139+3>>0]|0; + _DrawTextEx($font$byval_copy162,6810,$$byval_copy163,$796,1,$tmpcast318$byval_copy); + $797 = (_GetScreenWidth()|0); + $798 = (+($797|0)); + $799 = $798 * 0.12999999523162842; + HEAPF32[$140>>2] = $799; + $800 = ((($140)) + 4|0); + $801 = (_GetScreenHeight()|0); + $802 = (+($801|0)); + $803 = $802 * 0.82999998331069946; + HEAPF32[$800>>2] = $803; + $804 = HEAP32[(25500)>>2]|0; + $805 = (+($804|0)); + $806 = $805 * 0.5; + HEAP32[$141>>2] = -1; + ;HEAP32[$font$byval_copy162>>2]=HEAP32[25480>>2]|0;HEAP32[$font$byval_copy162+4>>2]=HEAP32[25480+4>>2]|0;HEAP32[$font$byval_copy162+8>>2]=HEAP32[25480+8>>2]|0;HEAP32[$font$byval_copy162+12>>2]=HEAP32[25480+12>>2]|0;HEAP32[$font$byval_copy162+16>>2]=HEAP32[25480+16>>2]|0;HEAP32[$font$byval_copy162+20>>2]=HEAP32[25480+20>>2]|0;HEAP32[$font$byval_copy162+24>>2]=HEAP32[25480+24>>2]|0;HEAP32[$font$byval_copy162+28>>2]=HEAP32[25480+28>>2]|0; + ;HEAP32[$$byval_copy163>>2]=HEAP32[$140>>2]|0;HEAP32[$$byval_copy163+4>>2]=HEAP32[$140+4>>2]|0; + ;HEAP8[$tmpcast318$byval_copy>>0]=HEAP8[$141>>0]|0;HEAP8[$tmpcast318$byval_copy+1>>0]=HEAP8[$141+1>>0]|0;HEAP8[$tmpcast318$byval_copy+2>>0]=HEAP8[$141+2>>0]|0;HEAP8[$tmpcast318$byval_copy+3>>0]=HEAP8[$141+3>>0]|0; + _DrawTextEx($font$byval_copy162,6842,$$byval_copy163,$806,1,$tmpcast318$byval_copy); + STACKTOP = sp;return; + break; + } + case 4: { + $807 = (_GetScreenWidth()|0); + $808 = (+($807|0)); + $809 = $808 * 0.12999999523162842; + HEAPF32[$142>>2] = $809; + $810 = ((($142)) + 4|0); + $811 = (_GetScreenHeight()|0); + $812 = (+($811|0)); + $813 = $812 * 0.77999997138977051; + HEAPF32[$810>>2] = $813; + $814 = HEAP32[(25500)>>2]|0; + $815 = (+($814|0)); + $816 = $815 * 0.5; + HEAP32[$143>>2] = -1; + ;HEAP32[$font$byval_copy162>>2]=HEAP32[25480>>2]|0;HEAP32[$font$byval_copy162+4>>2]=HEAP32[25480+4>>2]|0;HEAP32[$font$byval_copy162+8>>2]=HEAP32[25480+8>>2]|0;HEAP32[$font$byval_copy162+12>>2]=HEAP32[25480+12>>2]|0;HEAP32[$font$byval_copy162+16>>2]=HEAP32[25480+16>>2]|0;HEAP32[$font$byval_copy162+20>>2]=HEAP32[25480+20>>2]|0;HEAP32[$font$byval_copy162+24>>2]=HEAP32[25480+24>>2]|0;HEAP32[$font$byval_copy162+28>>2]=HEAP32[25480+28>>2]|0; + ;HEAP32[$$byval_copy163>>2]=HEAP32[$142>>2]|0;HEAP32[$$byval_copy163+4>>2]=HEAP32[$142+4>>2]|0; + ;HEAP8[$tmpcast318$byval_copy>>0]=HEAP8[$143>>0]|0;HEAP8[$tmpcast318$byval_copy+1>>0]=HEAP8[$143+1>>0]|0;HEAP8[$tmpcast318$byval_copy+2>>0]=HEAP8[$143+2>>0]|0;HEAP8[$tmpcast318$byval_copy+3>>0]=HEAP8[$143+3>>0]|0; + _DrawTextEx($font$byval_copy162,7002,$$byval_copy163,$816,1,$tmpcast318$byval_copy); + STACKTOP = sp;return; + break; + } + case 5: { + $817 = (_GetScreenWidth()|0); + $818 = (+($817|0)); + $819 = $818 * 0.12999999523162842; + HEAPF32[$144>>2] = $819; + $820 = ((($144)) + 4|0); + $821 = (_GetScreenHeight()|0); + $822 = (+($821|0)); + $823 = $822 * 0.77999997138977051; + HEAPF32[$820>>2] = $823; + $824 = HEAP32[(25500)>>2]|0; + $825 = (+($824|0)); + $826 = $825 * 0.5; + HEAP32[$145>>2] = -1; + ;HEAP32[$font$byval_copy162>>2]=HEAP32[25480>>2]|0;HEAP32[$font$byval_copy162+4>>2]=HEAP32[25480+4>>2]|0;HEAP32[$font$byval_copy162+8>>2]=HEAP32[25480+8>>2]|0;HEAP32[$font$byval_copy162+12>>2]=HEAP32[25480+12>>2]|0;HEAP32[$font$byval_copy162+16>>2]=HEAP32[25480+16>>2]|0;HEAP32[$font$byval_copy162+20>>2]=HEAP32[25480+20>>2]|0;HEAP32[$font$byval_copy162+24>>2]=HEAP32[25480+24>>2]|0;HEAP32[$font$byval_copy162+28>>2]=HEAP32[25480+28>>2]|0; + ;HEAP32[$$byval_copy163>>2]=HEAP32[$144>>2]|0;HEAP32[$$byval_copy163+4>>2]=HEAP32[$144+4>>2]|0; + ;HEAP8[$tmpcast318$byval_copy>>0]=HEAP8[$145>>0]|0;HEAP8[$tmpcast318$byval_copy+1>>0]=HEAP8[$145+1>>0]|0;HEAP8[$tmpcast318$byval_copy+2>>0]=HEAP8[$145+2>>0]|0;HEAP8[$tmpcast318$byval_copy+3>>0]=HEAP8[$145+3>>0]|0; + _DrawTextEx($font$byval_copy162,7034,$$byval_copy163,$826,1,$tmpcast318$byval_copy); + $827 = (_GetScreenWidth()|0); + $828 = (+($827|0)); + $829 = $828 * 0.12999999523162842; + HEAPF32[$146>>2] = $829; + $830 = ((($146)) + 4|0); + $831 = (_GetScreenHeight()|0); + $832 = (+($831|0)); + $833 = $832 * 0.82999998331069946; + HEAPF32[$830>>2] = $833; + $834 = HEAP32[(25500)>>2]|0; + $835 = (+($834|0)); + $836 = $835 * 0.5; + HEAP32[$147>>2] = -1; + ;HEAP32[$font$byval_copy162>>2]=HEAP32[25480>>2]|0;HEAP32[$font$byval_copy162+4>>2]=HEAP32[25480+4>>2]|0;HEAP32[$font$byval_copy162+8>>2]=HEAP32[25480+8>>2]|0;HEAP32[$font$byval_copy162+12>>2]=HEAP32[25480+12>>2]|0;HEAP32[$font$byval_copy162+16>>2]=HEAP32[25480+16>>2]|0;HEAP32[$font$byval_copy162+20>>2]=HEAP32[25480+20>>2]|0;HEAP32[$font$byval_copy162+24>>2]=HEAP32[25480+24>>2]|0;HEAP32[$font$byval_copy162+28>>2]=HEAP32[25480+28>>2]|0; + ;HEAP32[$$byval_copy163>>2]=HEAP32[$146>>2]|0;HEAP32[$$byval_copy163+4>>2]=HEAP32[$146+4>>2]|0; + ;HEAP8[$tmpcast318$byval_copy>>0]=HEAP8[$147>>0]|0;HEAP8[$tmpcast318$byval_copy+1>>0]=HEAP8[$147+1>>0]|0;HEAP8[$tmpcast318$byval_copy+2>>0]=HEAP8[$147+2>>0]|0;HEAP8[$tmpcast318$byval_copy+3>>0]=HEAP8[$147+3>>0]|0; + _DrawTextEx($font$byval_copy162,7066,$$byval_copy163,$836,1,$tmpcast318$byval_copy); + STACKTOP = sp;return; + break; + } + case 6: { + $837 = (_GetScreenWidth()|0); + $838 = (+($837|0)); + $839 = $838 * 0.12999999523162842; + HEAPF32[$148>>2] = $839; + $840 = ((($148)) + 4|0); + $841 = (_GetScreenHeight()|0); + $842 = (+($841|0)); + $843 = $842 * 0.77999997138977051; + HEAPF32[$840>>2] = $843; + $844 = HEAP32[(25500)>>2]|0; + $845 = (+($844|0)); + $846 = $845 * 0.5; + HEAP32[$149>>2] = -1; + ;HEAP32[$font$byval_copy162>>2]=HEAP32[25480>>2]|0;HEAP32[$font$byval_copy162+4>>2]=HEAP32[25480+4>>2]|0;HEAP32[$font$byval_copy162+8>>2]=HEAP32[25480+8>>2]|0;HEAP32[$font$byval_copy162+12>>2]=HEAP32[25480+12>>2]|0;HEAP32[$font$byval_copy162+16>>2]=HEAP32[25480+16>>2]|0;HEAP32[$font$byval_copy162+20>>2]=HEAP32[25480+20>>2]|0;HEAP32[$font$byval_copy162+24>>2]=HEAP32[25480+24>>2]|0;HEAP32[$font$byval_copy162+28>>2]=HEAP32[25480+28>>2]|0; + ;HEAP32[$$byval_copy163>>2]=HEAP32[$148>>2]|0;HEAP32[$$byval_copy163+4>>2]=HEAP32[$148+4>>2]|0; + ;HEAP8[$tmpcast318$byval_copy>>0]=HEAP8[$149>>0]|0;HEAP8[$tmpcast318$byval_copy+1>>0]=HEAP8[$149+1>>0]|0;HEAP8[$tmpcast318$byval_copy+2>>0]=HEAP8[$149+2>>0]|0;HEAP8[$tmpcast318$byval_copy+3>>0]=HEAP8[$149+3>>0]|0; + _DrawTextEx($font$byval_copy162,7098,$$byval_copy163,$846,1,$tmpcast318$byval_copy); + STACKTOP = sp;return; + break; + } + default: { + STACKTOP = sp;return; + } + } +} +function _UnloadEndingScreen() { + var label = 0, sp = 0; + sp = STACKTOP; + return; +} +function _FinishEndingScreen() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[83472]|0; + return ($0|0); +} +function _Vector2Distance($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[$0>>2]; + $3 = +HEAPF32[$1>>2]; + $4 = $2 - $3; + $5 = $4 * $4; + $6 = ((($0)) + 4|0); + $7 = +HEAPF32[$6>>2]; + $8 = ((($1)) + 4|0); + $9 = +HEAPF32[$8>>2]; + $10 = $7 - $9; + $11 = $10 * $10; + $12 = $5 + $11; + $13 = (+Math_sqrt((+$12))); + return (+$13); +} +function _Vector2Angle($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($1)) + 4|0); + $3 = +HEAPF32[$2>>2]; + $4 = ((($0)) + 4|0); + $5 = +HEAPF32[$4>>2]; + $6 = $3 - $5; + $7 = +HEAPF32[$1>>2]; + $8 = +HEAPF32[$0>>2]; + $9 = $7 - $8; + $10 = (+Math_atan2((+$6),(+$9))); + $11 = $10 * 57.2957763671875; + $12 = $11 < 0.0; + $13 = $11 + 360.0; + $$0 = $12 ? $13 : $11; + return (+$$0); +} +function _VectorZero($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = 0.0; + $1 = ((($0)) + 4|0); + HEAPF32[$1>>2] = 0.0; + $2 = ((($0)) + 8|0); + HEAPF32[$2>>2] = 0.0; + return; +} +function _VectorLength($0) { + $0 = $0|0; + var $1 = 0.0, $10 = 0.0, $11 = 0.0, $2 = 0.0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $1 = +HEAPF32[$0>>2]; + $2 = $1 * $1; + $3 = ((($0)) + 4|0); + $4 = +HEAPF32[$3>>2]; + $5 = $4 * $4; + $6 = $2 + $5; + $7 = ((($0)) + 8|0); + $8 = +HEAPF32[$7>>2]; + $9 = $8 * $8; + $10 = $6 + $9; + $11 = (+Math_sqrt((+$10))); + return (+$11); +} +function _VectorNormalize($0) { + $0 = $0|0; + var $$byval_copy = 0, $$op = 0.0, $1 = 0.0, $10 = 0.0, $11 = 0.0, $2 = 0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0.0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $$byval_copy = sp; + ;HEAP32[$$byval_copy>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$0+8>>2]|0; + $1 = (+_VectorLength($$byval_copy)); + $2 = $1 == 0.0; + $$op = 1.0 / $1; + $3 = $2 ? 1.0 : $$op; + $4 = +HEAPF32[$0>>2]; + $5 = $4 * $3; + HEAPF32[$0>>2] = $5; + $6 = ((($0)) + 4|0); + $7 = +HEAPF32[$6>>2]; + $8 = $3 * $7; + HEAPF32[$6>>2] = $8; + $9 = ((($0)) + 8|0); + $10 = +HEAPF32[$9>>2]; + $11 = $3 * $10; + HEAPF32[$9>>2] = $11; + STACKTOP = sp;return; +} +function _VectorTransform($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0, $18 = 0.0, $19 = 0.0, $2 = 0.0, $20 = 0, $21 = 0.0, $22 = 0.0, $23 = 0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0, $28 = 0.0; + var $29 = 0.0, $3 = 0, $30 = 0.0, $31 = 0, $32 = 0.0, $33 = 0.0, $34 = 0, $35 = 0.0, $36 = 0.0, $37 = 0, $38 = 0.0, $39 = 0.0, $4 = 0.0, $40 = 0.0, $41 = 0, $42 = 0.0, $43 = 0.0, $44 = 0.0, $45 = 0, $46 = 0.0; + var $47 = 0.0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[$0>>2]; + $3 = ((($0)) + 4|0); + $4 = +HEAPF32[$3>>2]; + $5 = ((($0)) + 8|0); + $6 = +HEAPF32[$5>>2]; + $7 = +HEAPF32[$1>>2]; + $8 = $2 * $7; + $9 = ((($1)) + 4|0); + $10 = +HEAPF32[$9>>2]; + $11 = $4 * $10; + $12 = $8 + $11; + $13 = ((($1)) + 8|0); + $14 = +HEAPF32[$13>>2]; + $15 = $6 * $14; + $16 = $12 + $15; + $17 = ((($1)) + 12|0); + $18 = +HEAPF32[$17>>2]; + $19 = $18 + $16; + HEAPF32[$0>>2] = $19; + $20 = ((($1)) + 16|0); + $21 = +HEAPF32[$20>>2]; + $22 = $2 * $21; + $23 = ((($1)) + 20|0); + $24 = +HEAPF32[$23>>2]; + $25 = $4 * $24; + $26 = $22 + $25; + $27 = ((($1)) + 24|0); + $28 = +HEAPF32[$27>>2]; + $29 = $6 * $28; + $30 = $26 + $29; + $31 = ((($1)) + 28|0); + $32 = +HEAPF32[$31>>2]; + $33 = $32 + $30; + HEAPF32[$3>>2] = $33; + $34 = ((($1)) + 32|0); + $35 = +HEAPF32[$34>>2]; + $36 = $2 * $35; + $37 = ((($1)) + 36|0); + $38 = +HEAPF32[$37>>2]; + $39 = $4 * $38; + $40 = $36 + $39; + $41 = ((($1)) + 40|0); + $42 = +HEAPF32[$41>>2]; + $43 = $6 * $42; + $44 = $40 + $43; + $45 = ((($1)) + 44|0); + $46 = +HEAPF32[$45>>2]; + $47 = $46 + $44; + HEAPF32[$5>>2] = $47; + return; +} +function _MatrixTranspose($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0, $5 = 0; + var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 4|0); + $2 = HEAP32[$1>>2]|0; + $3 = ((($0)) + 8|0); + $4 = HEAP32[$3>>2]|0; + $5 = ((($0)) + 12|0); + $6 = HEAP32[$5>>2]|0; + $7 = ((($0)) + 16|0); + $8 = HEAP32[$7>>2]|0; + $9 = ((($0)) + 24|0); + $10 = HEAP32[$9>>2]|0; + $11 = ((($0)) + 28|0); + $12 = HEAP32[$11>>2]|0; + $13 = ((($0)) + 32|0); + $14 = HEAP32[$13>>2]|0; + $15 = ((($0)) + 36|0); + $16 = HEAP32[$15>>2]|0; + $17 = ((($0)) + 44|0); + $18 = HEAP32[$17>>2]|0; + $19 = ((($0)) + 48|0); + $20 = HEAP32[$19>>2]|0; + $21 = ((($0)) + 52|0); + $22 = HEAP32[$21>>2]|0; + $23 = ((($0)) + 56|0); + $24 = HEAP32[$23>>2]|0; + HEAP32[$1>>2] = $8; + HEAP32[$3>>2] = $14; + HEAP32[$5>>2] = $20; + HEAP32[$7>>2] = $2; + HEAP32[$9>>2] = $16; + HEAP32[$11>>2] = $22; + HEAP32[$13>>2] = $4; + HEAP32[$15>>2] = $10; + HEAP32[$17>>2] = $24; + HEAP32[$19>>2] = $6; + HEAP32[$21>>2] = $12; + HEAP32[$23>>2] = $18; + return; +} +function _MatrixIdentity($0) { + $0 = $0|0; + var $$sroa$5$0$$sroa_idx = 0, $$sroa$55$0$$sroa_idx6 = 0, $$sroa$6$0$$sroa_idx = 0, $$sroa$611$0$$sroa_idx12 = 0, $$sroa$7$0$$sroa_idx = 0, $$sroa$717$0$$sroa_idx18 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = 1.0; + $$sroa$5$0$$sroa_idx = ((($0)) + 4|0); + ;HEAP32[$$sroa$5$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+12>>2]=0|0; + $$sroa$55$0$$sroa_idx6 = ((($0)) + 20|0); + HEAPF32[$$sroa$55$0$$sroa_idx6>>2] = 1.0; + $$sroa$6$0$$sroa_idx = ((($0)) + 24|0); + ;HEAP32[$$sroa$6$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+12>>2]=0|0; + $$sroa$611$0$$sroa_idx12 = ((($0)) + 40|0); + HEAPF32[$$sroa$611$0$$sroa_idx12>>2] = 1.0; + $$sroa$7$0$$sroa_idx = ((($0)) + 44|0); + ;HEAP32[$$sroa$7$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+12>>2]=0|0; + $$sroa$717$0$$sroa_idx18 = ((($0)) + 60|0); + HEAPF32[$$sroa$717$0$$sroa_idx18>>2] = 1.0; + return; +} +function _MatrixTranslate($0,$1,$2,$3) { + $0 = $0|0; + $1 = +$1; + $2 = +$2; + $3 = +$3; + var $$sroa$13$0$$sroa_idx20 = 0, $$sroa$14$0$$sroa_idx22 = 0, $$sroa$15$0$$sroa_idx24 = 0, $$sroa$16$0$$sroa_idx26 = 0, $$sroa$17$0$$sroa_idx28 = 0, $$sroa$18$0$$sroa_idx30 = 0, $$sroa$4$0$$sroa_idx2 = 0, $$sroa$8$0$$sroa_idx10 = 0, $$sroa$9$0$$sroa_idx12 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = 1.0; + $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); + $$sroa$8$0$$sroa_idx10 = ((($0)) + 20|0); + ;HEAP32[$$sroa$4$0$$sroa_idx2>>2]=0|0;HEAP32[$$sroa$4$0$$sroa_idx2+4>>2]=0|0;HEAP32[$$sroa$4$0$$sroa_idx2+8>>2]=0|0;HEAP32[$$sroa$4$0$$sroa_idx2+12>>2]=0|0; + HEAPF32[$$sroa$8$0$$sroa_idx10>>2] = 1.0; + $$sroa$9$0$$sroa_idx12 = ((($0)) + 24|0); + $$sroa$13$0$$sroa_idx20 = ((($0)) + 40|0); + ;HEAP32[$$sroa$9$0$$sroa_idx12>>2]=0|0;HEAP32[$$sroa$9$0$$sroa_idx12+4>>2]=0|0;HEAP32[$$sroa$9$0$$sroa_idx12+8>>2]=0|0;HEAP32[$$sroa$9$0$$sroa_idx12+12>>2]=0|0; + HEAPF32[$$sroa$13$0$$sroa_idx20>>2] = 1.0; + $$sroa$14$0$$sroa_idx22 = ((($0)) + 44|0); + HEAPF32[$$sroa$14$0$$sroa_idx22>>2] = 0.0; + $$sroa$15$0$$sroa_idx24 = ((($0)) + 48|0); + HEAPF32[$$sroa$15$0$$sroa_idx24>>2] = $1; + $$sroa$16$0$$sroa_idx26 = ((($0)) + 52|0); + HEAPF32[$$sroa$16$0$$sroa_idx26>>2] = $2; + $$sroa$17$0$$sroa_idx28 = ((($0)) + 56|0); + HEAPF32[$$sroa$17$0$$sroa_idx28>>2] = $3; + $$sroa$18$0$$sroa_idx30 = ((($0)) + 60|0); + HEAPF32[$$sroa$18$0$$sroa_idx30>>2] = 1.0; + return; +} +function _MatrixRotate($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = +$2; + var $$ = 0.0, $$221 = 0.0, $$222 = 0.0, $$sroa$10$0$$sroa_idx199 = 0, $$sroa$11$0$$sroa_idx201 = 0, $$sroa$12$0$$sroa_idx203 = 0, $$sroa$13$0$$sroa_idx205 = 0, $$sroa$14$0$$sroa_idx207 = 0, $$sroa$15$0$$sroa_idx209 = 0, $$sroa$16$0$$sroa_idx211 = 0, $$sroa$17$0$$sroa_idx213 = 0, $$sroa$18$0$$sroa_idx215 = 0, $$sroa$4$0$$sroa_idx187 = 0, $$sroa$5$0$$sroa_idx189 = 0, $$sroa$6$0$$sroa_idx191 = 0, $$sroa$7$0$$sroa_idx193 = 0, $$sroa$8$0$$sroa_idx195 = 0, $$sroa$9$0$$sroa_idx197 = 0, $10 = 0.0, $100 = 0.0; + var $101 = 0.0, $102 = 0.0, $103 = 0.0, $104 = 0.0, $105 = 0.0, $106 = 0.0, $107 = 0.0, $108 = 0.0, $109 = 0.0, $11 = 0.0, $110 = 0.0, $111 = 0.0, $112 = 0.0, $113 = 0.0, $114 = 0.0, $115 = 0.0, $116 = 0.0, $117 = 0.0, $118 = 0.0, $119 = 0.0; + var $12 = 0.0, $120 = 0.0, $121 = 0.0, $122 = 0.0, $123 = 0.0, $124 = 0.0, $125 = 0.0, $126 = 0.0, $127 = 0.0, $128 = 0.0, $129 = 0.0, $13 = 0.0, $130 = 0.0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0; + var $138 = 0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0, $26 = 0.0, $27 = 0, $28 = 0.0, $29 = 0, $3 = 0, $30 = 0.0, $31 = 0; + var $32 = 0.0, $33 = 0, $34 = 0.0, $35 = 0, $36 = 0.0, $37 = 0, $38 = 0.0, $39 = 0, $4 = 0.0, $40 = 0.0, $41 = 0, $42 = 0.0, $43 = 0, $44 = 0.0, $45 = 0, $46 = 0.0, $47 = 0.0, $48 = 0.0, $49 = 0.0, $5 = 0; + var $50 = 0.0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0.0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0.0, $60 = 0.0, $61 = 0.0, $62 = 0.0, $63 = 0.0, $64 = 0.0, $65 = 0.0, $66 = 0.0, $67 = 0.0, $68 = 0.0; + var $69 = 0.0, $7 = 0, $70 = 0.0, $71 = 0.0, $72 = 0.0, $73 = 0.0, $74 = 0.0, $75 = 0.0, $76 = 0.0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0.0, $80 = 0.0, $81 = 0.0, $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0.0, $86 = 0.0; + var $87 = 0.0, $88 = 0.0, $89 = 0.0, $9 = 0.0, $90 = 0.0, $91 = 0.0, $92 = 0.0, $93 = 0.0, $94 = 0.0, $95 = 0.0, $96 = 0.0, $97 = 0.0, $98 = 0.0, $99 = 0.0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $3 = sp; + _MatrixIdentity($3); + $4 = +HEAPF32[$1>>2]; + $5 = ((($1)) + 4|0); + $6 = +HEAPF32[$5>>2]; + $7 = ((($1)) + 8|0); + $8 = +HEAPF32[$7>>2]; + $9 = $4 * $4; + $10 = $6 * $6; + $11 = $9 + $10; + $12 = $8 * $8; + $13 = $11 + $12; + $14 = (+Math_sqrt((+$13))); + $15 = $14 != 1.0; + $16 = $14 != 0.0; + $or$cond = $15 & $16; + $17 = 1.0 / $14; + $18 = $4 * $17; + $19 = $6 * $17; + $20 = $8 * $17; + $$ = $or$cond ? $20 : $8; + $$221 = $or$cond ? $19 : $6; + $$222 = $or$cond ? $18 : $4; + $21 = (+Math_sin((+$2))); + $22 = (+Math_cos((+$2))); + $23 = 1.0 - $22; + $24 = +HEAPF32[$3>>2]; + $25 = ((($3)) + 16|0); + $26 = +HEAPF32[$25>>2]; + $27 = ((($3)) + 32|0); + $28 = +HEAPF32[$27>>2]; + $29 = ((($3)) + 48|0); + $30 = +HEAPF32[$29>>2]; + $31 = ((($3)) + 4|0); + $32 = +HEAPF32[$31>>2]; + $33 = ((($3)) + 20|0); + $34 = +HEAPF32[$33>>2]; + $35 = ((($3)) + 36|0); + $36 = +HEAPF32[$35>>2]; + $37 = ((($3)) + 52|0); + $38 = +HEAPF32[$37>>2]; + $39 = ((($3)) + 8|0); + $40 = +HEAPF32[$39>>2]; + $41 = ((($3)) + 24|0); + $42 = +HEAPF32[$41>>2]; + $43 = ((($3)) + 40|0); + $44 = +HEAPF32[$43>>2]; + $45 = ((($3)) + 56|0); + $46 = +HEAPF32[$45>>2]; + $47 = $$222 * $$222; + $48 = $23 * $47; + $49 = $22 + $48; + $50 = $$221 * $$222; + $51 = $23 * $50; + $52 = $21 * $$; + $53 = $52 + $51; + $54 = $$ * $$222; + $55 = $23 * $54; + $56 = $21 * $$221; + $57 = $55 - $56; + $58 = $51 - $52; + $59 = $$221 * $$221; + $60 = $23 * $59; + $61 = $22 + $60; + $62 = $$ * $$221; + $63 = $23 * $62; + $64 = $21 * $$222; + $65 = $64 + $63; + $66 = $56 + $55; + $67 = $63 - $64; + $68 = $$ * $$; + $69 = $23 * $68; + $70 = $22 + $69; + $71 = $24 * $49; + $72 = $53 * $32; + $73 = $71 + $72; + $74 = $57 * $40; + $75 = $73 + $74; + $76 = $26 * $49; + $77 = $53 * $34; + $78 = $76 + $77; + $79 = $57 * $42; + $80 = $78 + $79; + $81 = $28 * $49; + $82 = $53 * $36; + $83 = $81 + $82; + $84 = $57 * $44; + $85 = $83 + $84; + $86 = $30 * $49; + $87 = $53 * $38; + $88 = $86 + $87; + $89 = $57 * $46; + $90 = $88 + $89; + $91 = $24 * $58; + $92 = $61 * $32; + $93 = $91 + $92; + $94 = $65 * $40; + $95 = $93 + $94; + $96 = $26 * $58; + $97 = $61 * $34; + $98 = $96 + $97; + $99 = $65 * $42; + $100 = $98 + $99; + $101 = $28 * $58; + $102 = $61 * $36; + $103 = $101 + $102; + $104 = $65 * $44; + $105 = $103 + $104; + $106 = $30 * $58; + $107 = $61 * $38; + $108 = $106 + $107; + $109 = $65 * $46; + $110 = $108 + $109; + $111 = $24 * $66; + $112 = $67 * $32; + $113 = $111 + $112; + $114 = $70 * $40; + $115 = $113 + $114; + $116 = $26 * $66; + $117 = $67 * $34; + $118 = $116 + $117; + $119 = $70 * $42; + $120 = $118 + $119; + $121 = $28 * $66; + $122 = $67 * $36; + $123 = $121 + $122; + $124 = $70 * $44; + $125 = $123 + $124; + $126 = $30 * $66; + $127 = $67 * $38; + $128 = $126 + $127; + $129 = $70 * $46; + $130 = $128 + $129; + $131 = ((($3)) + 12|0); + $132 = HEAP32[$131>>2]|0; + $133 = ((($3)) + 28|0); + $134 = HEAP32[$133>>2]|0; + $135 = ((($3)) + 44|0); + $136 = HEAP32[$135>>2]|0; + $137 = ((($3)) + 60|0); + $138 = HEAP32[$137>>2]|0; + HEAPF32[$0>>2] = $75; + $$sroa$4$0$$sroa_idx187 = ((($0)) + 4|0); + HEAPF32[$$sroa$4$0$$sroa_idx187>>2] = $95; + $$sroa$5$0$$sroa_idx189 = ((($0)) + 8|0); + HEAPF32[$$sroa$5$0$$sroa_idx189>>2] = $115; + $$sroa$6$0$$sroa_idx191 = ((($0)) + 12|0); + HEAP32[$$sroa$6$0$$sroa_idx191>>2] = $132; + $$sroa$7$0$$sroa_idx193 = ((($0)) + 16|0); + HEAPF32[$$sroa$7$0$$sroa_idx193>>2] = $80; + $$sroa$8$0$$sroa_idx195 = ((($0)) + 20|0); + HEAPF32[$$sroa$8$0$$sroa_idx195>>2] = $100; + $$sroa$9$0$$sroa_idx197 = ((($0)) + 24|0); + HEAPF32[$$sroa$9$0$$sroa_idx197>>2] = $120; + $$sroa$10$0$$sroa_idx199 = ((($0)) + 28|0); + HEAP32[$$sroa$10$0$$sroa_idx199>>2] = $134; + $$sroa$11$0$$sroa_idx201 = ((($0)) + 32|0); + HEAPF32[$$sroa$11$0$$sroa_idx201>>2] = $85; + $$sroa$12$0$$sroa_idx203 = ((($0)) + 36|0); + HEAPF32[$$sroa$12$0$$sroa_idx203>>2] = $105; + $$sroa$13$0$$sroa_idx205 = ((($0)) + 40|0); + HEAPF32[$$sroa$13$0$$sroa_idx205>>2] = $125; + $$sroa$14$0$$sroa_idx207 = ((($0)) + 44|0); + HEAP32[$$sroa$14$0$$sroa_idx207>>2] = $136; + $$sroa$15$0$$sroa_idx209 = ((($0)) + 48|0); + HEAPF32[$$sroa$15$0$$sroa_idx209>>2] = $90; + $$sroa$16$0$$sroa_idx211 = ((($0)) + 52|0); + HEAPF32[$$sroa$16$0$$sroa_idx211>>2] = $110; + $$sroa$17$0$$sroa_idx213 = ((($0)) + 56|0); + HEAPF32[$$sroa$17$0$$sroa_idx213>>2] = $130; + $$sroa$18$0$$sroa_idx215 = ((($0)) + 60|0); + HEAP32[$$sroa$18$0$$sroa_idx215>>2] = $138; + STACKTOP = sp;return; +} +function _MatrixScale($0,$1,$2,$3) { + $0 = $0|0; + $1 = +$1; + $2 = +$2; + $3 = +$3; + var $$sroa$5$0$$sroa_idx = 0, $$sroa$55$0$$sroa_idx6 = 0, $$sroa$6$0$$sroa_idx = 0, $$sroa$611$0$$sroa_idx12 = 0, $$sroa$7$0$$sroa_idx = 0, $$sroa$717$0$$sroa_idx18 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = $1; + $$sroa$5$0$$sroa_idx = ((($0)) + 4|0); + ;HEAP32[$$sroa$5$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+12>>2]=0|0; + $$sroa$55$0$$sroa_idx6 = ((($0)) + 20|0); + HEAPF32[$$sroa$55$0$$sroa_idx6>>2] = $2; + $$sroa$6$0$$sroa_idx = ((($0)) + 24|0); + ;HEAP32[$$sroa$6$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+12>>2]=0|0; + $$sroa$611$0$$sroa_idx12 = ((($0)) + 40|0); + HEAPF32[$$sroa$611$0$$sroa_idx12>>2] = $3; + $$sroa$7$0$$sroa_idx = ((($0)) + 44|0); + ;HEAP32[$$sroa$7$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+12>>2]=0|0; + $$sroa$717$0$$sroa_idx18 = ((($0)) + 60|0); + HEAPF32[$$sroa$717$0$$sroa_idx18>>2] = 1.0; + return; +} +function _MatrixMultiply($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$sroa$10$0$$sroa_idx14 = 0, $$sroa$11$0$$sroa_idx16 = 0, $$sroa$12$0$$sroa_idx18 = 0, $$sroa$13$0$$sroa_idx20 = 0, $$sroa$14$0$$sroa_idx22 = 0, $$sroa$15$0$$sroa_idx24 = 0, $$sroa$16$0$$sroa_idx26 = 0, $$sroa$17$0$$sroa_idx28 = 0, $$sroa$18$0$$sroa_idx30 = 0, $$sroa$4$0$$sroa_idx2 = 0, $$sroa$5$0$$sroa_idx4 = 0, $$sroa$6$0$$sroa_idx6 = 0, $$sroa$7$0$$sroa_idx8 = 0, $$sroa$8$0$$sroa_idx10 = 0, $$sroa$9$0$$sroa_idx12 = 0, $10 = 0.0, $100 = 0.0, $101 = 0.0, $102 = 0.0, $103 = 0.0; + var $104 = 0.0, $105 = 0, $106 = 0.0, $107 = 0.0, $108 = 0, $109 = 0.0, $11 = 0.0, $110 = 0.0, $111 = 0.0, $112 = 0, $113 = 0.0, $114 = 0.0, $115 = 0.0, $116 = 0, $117 = 0.0, $118 = 0.0, $119 = 0.0, $12 = 0, $120 = 0.0, $121 = 0.0; + var $122 = 0.0, $123 = 0.0, $124 = 0.0, $125 = 0.0, $126 = 0.0, $127 = 0.0, $128 = 0.0, $129 = 0.0, $13 = 0.0, $130 = 0.0, $131 = 0.0, $132 = 0.0, $133 = 0.0, $134 = 0.0, $135 = 0.0, $136 = 0.0, $137 = 0.0, $138 = 0.0, $139 = 0.0, $14 = 0; + var $140 = 0.0, $141 = 0, $142 = 0.0, $143 = 0.0, $144 = 0, $145 = 0.0, $146 = 0.0, $147 = 0.0, $148 = 0, $149 = 0.0, $15 = 0.0, $150 = 0.0, $151 = 0.0, $152 = 0, $153 = 0.0, $154 = 0.0, $155 = 0.0, $156 = 0.0, $157 = 0.0, $158 = 0.0; + var $159 = 0.0, $16 = 0.0, $160 = 0.0, $161 = 0.0, $162 = 0.0, $163 = 0.0, $164 = 0.0, $165 = 0.0, $166 = 0.0, $167 = 0.0, $168 = 0.0, $169 = 0.0, $17 = 0.0, $170 = 0.0, $171 = 0.0, $172 = 0.0, $173 = 0.0, $174 = 0.0, $175 = 0.0, $176 = 0.0; + var $18 = 0, $19 = 0.0, $20 = 0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0, $25 = 0.0, $26 = 0.0, $27 = 0, $28 = 0.0, $29 = 0.0, $3 = 0.0, $30 = 0.0, $31 = 0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0, $36 = 0.0; + var $37 = 0.0, $38 = 0.0, $39 = 0, $4 = 0.0, $40 = 0.0, $41 = 0.0, $42 = 0, $43 = 0.0, $44 = 0.0, $45 = 0.0, $46 = 0, $47 = 0.0, $48 = 0.0, $49 = 0.0, $5 = 0.0, $50 = 0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0; + var $55 = 0.0, $56 = 0.0, $57 = 0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0.0, $61 = 0, $62 = 0.0, $63 = 0.0, $64 = 0.0, $65 = 0, $66 = 0.0, $67 = 0.0, $68 = 0.0, $69 = 0, $7 = 0.0, $70 = 0.0, $71 = 0.0, $72 = 0; + var $73 = 0.0, $74 = 0.0, $75 = 0.0, $76 = 0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0, $80 = 0, $81 = 0.0, $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0.0, $86 = 0.0, $87 = 0.0, $88 = 0.0, $89 = 0.0, $9 = 0.0, $90 = 0.0; + var $91 = 0.0, $92 = 0.0, $93 = 0.0, $94 = 0.0, $95 = 0.0, $96 = 0.0, $97 = 0.0, $98 = 0.0, $99 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $3 = +HEAPF32[$2>>2]; + $4 = +HEAPF32[$1>>2]; + $5 = $3 * $4; + $6 = ((($2)) + 16|0); + $7 = +HEAPF32[$6>>2]; + $8 = ((($1)) + 4|0); + $9 = +HEAPF32[$8>>2]; + $10 = $7 * $9; + $11 = $5 + $10; + $12 = ((($2)) + 32|0); + $13 = +HEAPF32[$12>>2]; + $14 = ((($1)) + 8|0); + $15 = +HEAPF32[$14>>2]; + $16 = $13 * $15; + $17 = $11 + $16; + $18 = ((($2)) + 48|0); + $19 = +HEAPF32[$18>>2]; + $20 = ((($1)) + 12|0); + $21 = +HEAPF32[$20>>2]; + $22 = $19 * $21; + $23 = $17 + $22; + $24 = ((($1)) + 16|0); + $25 = +HEAPF32[$24>>2]; + $26 = $3 * $25; + $27 = ((($1)) + 20|0); + $28 = +HEAPF32[$27>>2]; + $29 = $7 * $28; + $30 = $26 + $29; + $31 = ((($1)) + 24|0); + $32 = +HEAPF32[$31>>2]; + $33 = $13 * $32; + $34 = $30 + $33; + $35 = ((($1)) + 28|0); + $36 = +HEAPF32[$35>>2]; + $37 = $19 * $36; + $38 = $34 + $37; + $39 = ((($1)) + 32|0); + $40 = +HEAPF32[$39>>2]; + $41 = $3 * $40; + $42 = ((($1)) + 36|0); + $43 = +HEAPF32[$42>>2]; + $44 = $7 * $43; + $45 = $41 + $44; + $46 = ((($1)) + 40|0); + $47 = +HEAPF32[$46>>2]; + $48 = $13 * $47; + $49 = $45 + $48; + $50 = ((($1)) + 44|0); + $51 = +HEAPF32[$50>>2]; + $52 = $19 * $51; + $53 = $49 + $52; + $54 = ((($1)) + 48|0); + $55 = +HEAPF32[$54>>2]; + $56 = $3 * $55; + $57 = ((($1)) + 52|0); + $58 = +HEAPF32[$57>>2]; + $59 = $7 * $58; + $60 = $56 + $59; + $61 = ((($1)) + 56|0); + $62 = +HEAPF32[$61>>2]; + $63 = $13 * $62; + $64 = $60 + $63; + $65 = ((($1)) + 60|0); + $66 = +HEAPF32[$65>>2]; + $67 = $19 * $66; + $68 = $64 + $67; + $69 = ((($2)) + 4|0); + $70 = +HEAPF32[$69>>2]; + $71 = $4 * $70; + $72 = ((($2)) + 20|0); + $73 = +HEAPF32[$72>>2]; + $74 = $9 * $73; + $75 = $71 + $74; + $76 = ((($2)) + 36|0); + $77 = +HEAPF32[$76>>2]; + $78 = $15 * $77; + $79 = $75 + $78; + $80 = ((($2)) + 52|0); + $81 = +HEAPF32[$80>>2]; + $82 = $21 * $81; + $83 = $79 + $82; + $84 = $25 * $70; + $85 = $28 * $73; + $86 = $84 + $85; + $87 = $32 * $77; + $88 = $86 + $87; + $89 = $36 * $81; + $90 = $88 + $89; + $91 = $40 * $70; + $92 = $43 * $73; + $93 = $91 + $92; + $94 = $47 * $77; + $95 = $93 + $94; + $96 = $51 * $81; + $97 = $95 + $96; + $98 = $55 * $70; + $99 = $58 * $73; + $100 = $98 + $99; + $101 = $62 * $77; + $102 = $100 + $101; + $103 = $66 * $81; + $104 = $102 + $103; + $105 = ((($2)) + 8|0); + $106 = +HEAPF32[$105>>2]; + $107 = $4 * $106; + $108 = ((($2)) + 24|0); + $109 = +HEAPF32[$108>>2]; + $110 = $9 * $109; + $111 = $107 + $110; + $112 = ((($2)) + 40|0); + $113 = +HEAPF32[$112>>2]; + $114 = $15 * $113; + $115 = $111 + $114; + $116 = ((($2)) + 56|0); + $117 = +HEAPF32[$116>>2]; + $118 = $21 * $117; + $119 = $115 + $118; + $120 = $25 * $106; + $121 = $28 * $109; + $122 = $120 + $121; + $123 = $32 * $113; + $124 = $122 + $123; + $125 = $36 * $117; + $126 = $124 + $125; + $127 = $40 * $106; + $128 = $43 * $109; + $129 = $127 + $128; + $130 = $47 * $113; + $131 = $129 + $130; + $132 = $51 * $117; + $133 = $131 + $132; + $134 = $55 * $106; + $135 = $58 * $109; + $136 = $134 + $135; + $137 = $62 * $113; + $138 = $136 + $137; + $139 = $66 * $117; + $140 = $138 + $139; + $141 = ((($2)) + 12|0); + $142 = +HEAPF32[$141>>2]; + $143 = $4 * $142; + $144 = ((($2)) + 28|0); + $145 = +HEAPF32[$144>>2]; + $146 = $9 * $145; + $147 = $143 + $146; + $148 = ((($2)) + 44|0); + $149 = +HEAPF32[$148>>2]; + $150 = $15 * $149; + $151 = $147 + $150; + $152 = ((($2)) + 60|0); + $153 = +HEAPF32[$152>>2]; + $154 = $21 * $153; + $155 = $151 + $154; + $156 = $25 * $142; + $157 = $28 * $145; + $158 = $156 + $157; + $159 = $32 * $149; + $160 = $158 + $159; + $161 = $36 * $153; + $162 = $160 + $161; + $163 = $40 * $142; + $164 = $43 * $145; + $165 = $163 + $164; + $166 = $47 * $149; + $167 = $165 + $166; + $168 = $51 * $153; + $169 = $167 + $168; + $170 = $55 * $142; + $171 = $58 * $145; + $172 = $170 + $171; + $173 = $62 * $149; + $174 = $172 + $173; + $175 = $66 * $153; + $176 = $174 + $175; + HEAPF32[$0>>2] = $23; + $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); + HEAPF32[$$sroa$4$0$$sroa_idx2>>2] = $83; + $$sroa$5$0$$sroa_idx4 = ((($0)) + 8|0); + HEAPF32[$$sroa$5$0$$sroa_idx4>>2] = $119; + $$sroa$6$0$$sroa_idx6 = ((($0)) + 12|0); + HEAPF32[$$sroa$6$0$$sroa_idx6>>2] = $155; + $$sroa$7$0$$sroa_idx8 = ((($0)) + 16|0); + HEAPF32[$$sroa$7$0$$sroa_idx8>>2] = $38; + $$sroa$8$0$$sroa_idx10 = ((($0)) + 20|0); + HEAPF32[$$sroa$8$0$$sroa_idx10>>2] = $90; + $$sroa$9$0$$sroa_idx12 = ((($0)) + 24|0); + HEAPF32[$$sroa$9$0$$sroa_idx12>>2] = $126; + $$sroa$10$0$$sroa_idx14 = ((($0)) + 28|0); + HEAPF32[$$sroa$10$0$$sroa_idx14>>2] = $162; + $$sroa$11$0$$sroa_idx16 = ((($0)) + 32|0); + HEAPF32[$$sroa$11$0$$sroa_idx16>>2] = $53; + $$sroa$12$0$$sroa_idx18 = ((($0)) + 36|0); + HEAPF32[$$sroa$12$0$$sroa_idx18>>2] = $97; + $$sroa$13$0$$sroa_idx20 = ((($0)) + 40|0); + HEAPF32[$$sroa$13$0$$sroa_idx20>>2] = $133; + $$sroa$14$0$$sroa_idx22 = ((($0)) + 44|0); + HEAPF32[$$sroa$14$0$$sroa_idx22>>2] = $169; + $$sroa$15$0$$sroa_idx24 = ((($0)) + 48|0); + HEAPF32[$$sroa$15$0$$sroa_idx24>>2] = $68; + $$sroa$16$0$$sroa_idx26 = ((($0)) + 52|0); + HEAPF32[$$sroa$16$0$$sroa_idx26>>2] = $104; + $$sroa$17$0$$sroa_idx28 = ((($0)) + 56|0); + HEAPF32[$$sroa$17$0$$sroa_idx28>>2] = $140; + $$sroa$18$0$$sroa_idx30 = ((($0)) + 60|0); + HEAPF32[$$sroa$18$0$$sroa_idx30>>2] = $176; + return; +} +function _MatrixOrtho($0,$1,$2,$3,$4,$5,$6) { + $0 = $0|0; + $1 = +$1; + $2 = +$2; + $3 = +$3; + $4 = +$4; + $5 = +$5; + $6 = +$6; + var $$sroa$10$0$$sroa_idx24 = 0, $$sroa$11$0$$sroa_idx26 = 0, $$sroa$12$0$$sroa_idx28 = 0, $$sroa$13$0$$sroa_idx30 = 0, $$sroa$14$0$$sroa_idx32 = 0, $$sroa$15$0$$sroa_idx34 = 0, $$sroa$16$0$$sroa_idx36 = 0, $$sroa$17$0$$sroa_idx38 = 0, $$sroa$18$0$$sroa_idx40 = 0, $$sroa$4$0$$sroa_idx12 = 0, $$sroa$5$0$$sroa_idx14 = 0, $$sroa$6$0$$sroa_idx16 = 0, $$sroa$7$0$$sroa_idx18 = 0, $$sroa$8$0$$sroa_idx20 = 0, $$sroa$9$0$$sroa_idx22 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0; + var $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0.0, $28 = 0.0, $29 = 0.0, $30 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0; + var sp = 0; + sp = STACKTOP; + $7 = $2 - $1; + $8 = $7; + $9 = $4 - $3; + $10 = $9; + $11 = $6 - $5; + $12 = $11; + $13 = 2.0 / $8; + $14 = 2.0 / $10; + $15 = -2.0 / $12; + $16 = $1 + $2; + $17 = -$16; + $18 = $8; + $19 = $17 / $18; + $20 = $19; + $21 = $3 + $4; + $22 = -$21; + $23 = $10; + $24 = $22 / $23; + $25 = $24; + $26 = $5 + $6; + $27 = -$26; + $28 = $12; + $29 = $27 / $28; + $30 = $29; + HEAPF32[$0>>2] = $13; + $$sroa$4$0$$sroa_idx12 = ((($0)) + 4|0); + HEAPF32[$$sroa$4$0$$sroa_idx12>>2] = 0.0; + $$sroa$5$0$$sroa_idx14 = ((($0)) + 8|0); + HEAPF32[$$sroa$5$0$$sroa_idx14>>2] = 0.0; + $$sroa$6$0$$sroa_idx16 = ((($0)) + 12|0); + HEAPF32[$$sroa$6$0$$sroa_idx16>>2] = $20; + $$sroa$7$0$$sroa_idx18 = ((($0)) + 16|0); + HEAPF32[$$sroa$7$0$$sroa_idx18>>2] = 0.0; + $$sroa$8$0$$sroa_idx20 = ((($0)) + 20|0); + HEAPF32[$$sroa$8$0$$sroa_idx20>>2] = $14; + $$sroa$9$0$$sroa_idx22 = ((($0)) + 24|0); + HEAPF32[$$sroa$9$0$$sroa_idx22>>2] = 0.0; + $$sroa$10$0$$sroa_idx24 = ((($0)) + 28|0); + HEAPF32[$$sroa$10$0$$sroa_idx24>>2] = $25; + $$sroa$11$0$$sroa_idx26 = ((($0)) + 32|0); + HEAPF32[$$sroa$11$0$$sroa_idx26>>2] = 0.0; + $$sroa$12$0$$sroa_idx28 = ((($0)) + 36|0); + HEAPF32[$$sroa$12$0$$sroa_idx28>>2] = 0.0; + $$sroa$13$0$$sroa_idx30 = ((($0)) + 40|0); + HEAPF32[$$sroa$13$0$$sroa_idx30>>2] = $15; + $$sroa$14$0$$sroa_idx32 = ((($0)) + 44|0); + HEAPF32[$$sroa$14$0$$sroa_idx32>>2] = $30; + $$sroa$15$0$$sroa_idx34 = ((($0)) + 48|0); + HEAPF32[$$sroa$15$0$$sroa_idx34>>2] = 0.0; + $$sroa$16$0$$sroa_idx36 = ((($0)) + 52|0); + HEAPF32[$$sroa$16$0$$sroa_idx36>>2] = 0.0; + $$sroa$17$0$$sroa_idx38 = ((($0)) + 56|0); + HEAPF32[$$sroa$17$0$$sroa_idx38>>2] = 0.0; + $$sroa$18$0$$sroa_idx40 = ((($0)) + 60|0); + HEAPF32[$$sroa$18$0$$sroa_idx40>>2] = 1.0; + return; +} +function _IsGestureDetected($0) { + $0 = $0|0; + var $$ = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP32[15]|0; + $2 = HEAP32[83802]|0; + $3 = $2 & $1; + $4 = ($3|0)==($0|0); + $$ = $4&1; + return ($$|0); +} +function _ProcessGestureEvent($0) { + $0 = $0|0; + var $$$sink = 0, $$sink = 0, $$sink10 = 0, $$sink11 = 0, $$sink16 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0.0, $111 = 0.0; + var $112 = 0.0, $113 = 0.0, $114 = 0.0, $115 = 0.0, $116 = 0.0, $117 = 0, $118 = 0, $119 = 0, $12 = 0.0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0; + var $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0; + var $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0.0, $16 = 0, $160 = 0.0, $161 = 0.0, $162 = 0.0, $163 = 0.0, $164 = 0.0, $165 = 0.0, $166 = 0; + var $167 = 0.0, $168 = 0, $169 = 0.0, $17 = 0, $170 = 0.0, $171 = 0.0, $172 = 0, $173 = 0.0, $174 = 0.0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; + var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; + var $46 = 0, $47 = 0, $48 = 0.0, $49 = 0.0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0.0, $56 = 0.0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0; + var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0.0, $81 = 0; + var $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0.0, $86 = 0.0, $87 = 0.0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $moveDownPosition$byval_copy11 = 0; + var $moveDownPosition2$byval_copy12 = 0, $or$cond = 0, $or$cond3 = 0, $or$cond5 = 0, $or$cond7 = 0, $or$cond9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $moveDownPosition2$byval_copy12 = sp + 8|0; + $moveDownPosition$byval_copy11 = sp; + $1 = ((($0)) + 4|0); + $2 = HEAP32[$1>>2]|0; + HEAP32[83803] = $2; + $3 = ($2|0)<(2); + $4 = HEAP32[$0>>2]|0; + $5 = ($4|0)==(1); + if (!($3)) { + if ($5) { + $88 = ((($0)) + 24|0); + $89 = $88; + $90 = $89; + $91 = HEAP32[$90>>2]|0; + $92 = (($89) + 4)|0; + $93 = $92; + $94 = HEAP32[$93>>2]|0; + $95 = 25208; + $96 = $95; + HEAP32[$96>>2] = $91; + $97 = (($95) + 4)|0; + $98 = $97; + HEAP32[$98>>2] = $94; + $99 = ((($0)) + 32|0); + $100 = $99; + $101 = $100; + $102 = HEAP32[$101>>2]|0; + $103 = (($100) + 4)|0; + $104 = $103; + $105 = HEAP32[$104>>2]|0; + $106 = 25248; + $107 = $106; + HEAP32[$107>>2] = $102; + $108 = (($106) + 4)|0; + $109 = $108; + HEAP32[$109>>2] = $105; + $110 = +HEAPF32[6312]; + $111 = +HEAPF32[6302]; + $112 = $110 - $111; + HEAPF32[6314] = $112; + $113 = +HEAPF32[(25252)>>2]; + $114 = +HEAPF32[(25212)>>2]; + $115 = $113 - $114; + HEAPF32[(25260)>>2] = $115; + HEAP32[83802] = 4; + STACKTOP = sp;return; + } + switch ($4|0) { + case 2: { + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[25240>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[25240+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[25264>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[25264+4>>2]|0; + $116 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + HEAPF32[83808] = $116; + $117 = 25240; + $118 = $117; + $119 = HEAP32[$118>>2]|0; + $120 = (($117) + 4)|0; + $121 = $120; + $122 = HEAP32[$121>>2]|0; + $123 = 25208; + $124 = $123; + HEAP32[$124>>2] = $119; + $125 = (($123) + 4)|0; + $126 = $125; + HEAP32[$126>>2] = $122; + $127 = 25264; + $128 = $127; + $129 = HEAP32[$128>>2]|0; + $130 = (($127) + 4)|0; + $131 = $130; + $132 = HEAP32[$131>>2]|0; + $133 = 25248; + $134 = $133; + HEAP32[$134>>2] = $129; + $135 = (($133) + 4)|0; + $136 = $135; + HEAP32[$136>>2] = $132; + $137 = ((($0)) + 24|0); + $138 = $137; + $139 = $138; + $140 = HEAP32[$139>>2]|0; + $141 = (($138) + 4)|0; + $142 = $141; + $143 = HEAP32[$142>>2]|0; + $144 = 25240; + $145 = $144; + HEAP32[$145>>2] = $140; + $146 = (($144) + 4)|0; + $147 = $146; + HEAP32[$147>>2] = $143; + $148 = ((($0)) + 32|0); + $149 = $148; + $150 = $149; + $151 = HEAP32[$150>>2]|0; + $152 = (($149) + 4)|0; + $153 = $152; + $154 = HEAP32[$153>>2]|0; + $155 = 25264; + $156 = $155; + HEAP32[$156>>2] = $151; + $157 = (($155) + 4)|0; + $158 = $157; + HEAP32[$158>>2] = $154; + $159 = +HEAPF32[6316]; + $160 = +HEAPF32[6310]; + $161 = $159 - $160; + HEAPF32[6314] = $161; + $162 = +HEAPF32[(25268)>>2]; + $163 = +HEAPF32[(25244)>>2]; + $164 = $162 - $163; + HEAPF32[(25260)>>2] = $164; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[25208>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[25208+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[25240>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[25240+4>>2]|0; + $165 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $166 = !($165 >= 0.004999999888241291); + if ($166) { + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[25248>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[25248+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[25264>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[25264+4>>2]|0; + $167 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $168 = !($167 >= 0.004999999888241291); + if ($168) { + $$sink16 = 4; + } else { + label = 29; + } + } else { + label = 29; + } + if ((label|0) == 29) { + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[25240>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[25240+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[25264>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[25264+4>>2]|0; + $169 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $170 = +HEAPF32[83808]; + $171 = $169 - $170; + $172 = $171 < 0.0; + $$sink11 = $172 ? 256 : 512; + $$sink16 = $$sink11; + } + HEAP32[83802] = $$sink16; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[25240>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[25240+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[25264>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[25264+4>>2]|0; + $173 = (+_Vector2Angle($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $174 = 360.0 - $173; + HEAPF32[83809] = $174; + STACKTOP = sp;return; + break; + } + case 0: { + HEAPF32[83808] = 0.0; + HEAPF32[83809] = 0.0; + HEAPF32[6314] = 0.0; + HEAPF32[(25260)>>2] = 0.0; + HEAP32[83803] = 0; + HEAP32[83802] = 0; + STACKTOP = sp;return; + break; + } + default: { + STACKTOP = sp;return; + } + } + } + if ($5) { + $6 = HEAP32[83804]|0; + $7 = (($6) + 1)|0; + HEAP32[83804] = $7; + $8 = HEAP32[83802]|0; + $9 = ($8|0)==(0); + $10 = ($6|0)>(0); + $or$cond = $10 & $9; + if ($or$cond) { + $11 = ((($0)) + 24|0); + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[25208>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[25208+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[$11>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[$11+4>>2]|0; + $12 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $13 = $12 < 0.029999999329447746; + if ($13) { + HEAP32[83802] = 2; + HEAP32[83804] = 0; + } else { + label = 6; + } + } else { + label = 6; + } + if ((label|0) == 6) { + HEAP32[83804] = 1; + HEAP32[83802] = 1; + } + $14 = ((($0)) + 24|0); + $15 = $14; + $16 = $15; + $17 = HEAP32[$16>>2]|0; + $18 = (($15) + 4)|0; + $19 = $18; + $20 = HEAP32[$19>>2]|0; + $21 = 25208; + $22 = $21; + HEAP32[$22>>2] = $17; + $23 = (($21) + 4)|0; + $24 = $23; + HEAP32[$24>>2] = $20; + $25 = 25216; + $26 = $25; + HEAP32[$26>>2] = $17; + $27 = (($25) + 4)|0; + $28 = $27; + HEAP32[$28>>2] = $20; + $29 = 25224; + $30 = $29; + HEAP32[$30>>2] = $17; + $31 = (($29) + 4)|0; + $32 = $31; + HEAP32[$32>>2] = $20; + $33 = ((($0)) + 8|0); + $34 = HEAP32[$33>>2]|0; + HEAP32[16] = $34; + HEAPF32[6308] = 0.0; + HEAPF32[(25236)>>2] = 0.0; + STACKTOP = sp;return; + } + switch ($4|0) { + case 0: { + $35 = HEAP32[83802]|0; + $36 = ($35|0)==(8); + if ($36) { + $37 = ((($0)) + 24|0); + $38 = $37; + $39 = $38; + $40 = HEAP32[$39>>2]|0; + $41 = (($38) + 4)|0; + $42 = $41; + $43 = HEAP32[$42>>2]|0; + $44 = 25224; + $45 = $44; + HEAP32[$45>>2] = $40; + $46 = (($44) + 4)|0; + $47 = $46; + HEAP32[$47>>2] = $43; + } + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[25208>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[25208+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[25224>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[25224+4>>2]|0; + $48 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $49 = $48 / 0.0; + HEAPF32[83805] = $49; + HEAP32[83806] = 0; + $50 = $49 > 5.0000002374872565E-4; + if ($50) { + $51 = HEAP32[16]|0; + $52 = ((($0)) + 8|0); + $53 = HEAP32[$52>>2]|0; + $54 = ($51|0)==($53|0); + if ($54) { + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[25208>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[25208+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[25224>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[25224+4>>2]|0; + $55 = (+_Vector2Angle($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $56 = 360.0 - $55; + HEAPF32[83807] = $56; + $57 = $56 < 30.0; + $58 = $56 > 330.0; + $or$cond3 = $57 | $58; + if ($or$cond3) { + $$sink10 = 16; + } else { + $59 = $56 > 30.0; + $60 = $56 < 120.0; + $or$cond5 = $59 & $60; + if ($or$cond5) { + $$sink10 = 64; + } else { + $61 = $56 > 120.0; + $62 = $56 < 210.0; + $or$cond7 = $61 & $62; + $63 = $56 > 210.0; + $64 = $56 < 300.0; + $or$cond9 = $63 & $64; + $$sink = $or$cond9 ? 128 : 0; + $$$sink = $or$cond7 ? 32 : $$sink; + $$sink10 = $$$sink; + } + } + } else { + label = 16; + } + } else { + label = 16; + } + if ((label|0) == 16) { + HEAPF32[83805] = 0.0; + HEAPF32[83807] = 0.0; + $$sink10 = 0; + } + HEAP32[83802] = $$sink10; + HEAPF32[6304] = 0.0; + HEAPF32[(25220)>>2] = 0.0; + HEAP32[83803] = 0; + STACKTOP = sp;return; + break; + } + case 2: { + $65 = HEAP32[83806]|0; + $66 = ($65|0)==(0); + if ($66) { + HEAP32[83806] = 1; + } + $67 = ((($0)) + 24|0); + $68 = $67; + $69 = $68; + $70 = HEAP32[$69>>2]|0; + $71 = (($68) + 4)|0; + $72 = $71; + $73 = HEAP32[$72>>2]|0; + $74 = 25240; + $75 = $74; + HEAP32[$75>>2] = $70; + $76 = (($74) + 4)|0; + $77 = $76; + HEAP32[$77>>2] = $73; + $78 = HEAP32[83802]|0; + $79 = ($78|0)==(4); + if ($79) { + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[25208>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[25208+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[25240>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[25240+4>>2]|0; + $80 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $81 = !($80 >= 0.014999999664723873); + if (!($81)) { + HEAP32[83802] = 8; + } + } + $82 = +HEAPF32[6310]; + $83 = +HEAPF32[6304]; + $84 = $82 - $83; + HEAPF32[6308] = $84; + $85 = +HEAPF32[(25244)>>2]; + $86 = +HEAPF32[(25220)>>2]; + $87 = $85 - $86; + HEAPF32[(25236)>>2] = $87; + STACKTOP = sp;return; + break; + } + default: { + STACKTOP = sp;return; + } + } +} +function _UpdateGestures() { + var $$off = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $or$cond3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[83802]|0; + $$off = (($0) + -1)|0; + $1 = ($$off>>>0)<(2); + $2 = HEAP32[83803]|0; + $3 = ($2|0)<(2); + $or$cond3 = $1 & $3; + if ($or$cond3) { + HEAP32[83802] = 4; + } + $4 = HEAP32[83802]|0; + $5 = (($4) + -16)|0; + $6 = $5 >>> 4; + $7 = $5 << 28; + $8 = $6 | $7; + switch ($8|0) { + case 0: case 1: case 3: case 7: { + break; + } + default: { + return; + } + } + HEAP32[83802] = 0; + return; +} +function _GetGestureDetected() { + var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[15]|0; + $1 = HEAP32[83802]|0; + $2 = $1 & $0; + return ($2|0); +} +function _GetMousePosition($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = 25272; + $2 = $1; + $3 = HEAP32[$2>>2]|0; + $4 = (($1) + 4)|0; + $5 = $4; + $6 = HEAP32[$5>>2]|0; + $7 = $0; + $8 = $7; + HEAP32[$8>>2] = $3; + $9 = (($7) + 4)|0; + $10 = $9; + HEAP32[$10>>2] = $6; + return; +} +function _GetScreenWidth() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[83812]|0; + return ($0|0); +} +function _GetScreenHeight() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[83811]|0; + return ($0|0); +} +function _InitWindow($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0.0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $vararg_buffer = sp; + _TraceLog(0,7182,$vararg_buffer); + HEAP32[83814] = $2; + _InitGraphicsDevice($0,$1); + _LoadDefaultFont(); + _InitTimer(); + (_emscripten_set_fullscreenchange_callback((0|0),(0|0),1,(6|0))|0); + (_emscripten_set_keypress_callback((7211|0),(0|0),1,(7|0))|0); + (_emscripten_set_click_callback((7211|0),(0|0),1,(8|0))|0); + (_emscripten_set_touchstart_callback((7211|0),(0|0),1,(9|0))|0); + (_emscripten_set_touchend_callback((7211|0),(0|0),1,(9|0))|0); + (_emscripten_set_touchmove_callback((7211|0),(0|0),1,(9|0))|0); + (_emscripten_set_touchcancel_callback((7211|0),(0|0),1,(9|0))|0); + (_emscripten_set_gamepadconnected_callback((0|0),1,(10|0))|0); + (_emscripten_set_gamepaddisconnected_callback((0|0),1,(10|0))|0); + $3 = HEAP32[83812]|0; + $4 = (+($3|0)); + $5 = $4 * 0.5; + HEAPF32[6318] = $5; + $6 = HEAP32[83811]|0; + $7 = (+($6|0)); + $8 = $7 * 0.5; + HEAPF32[(25276)>>2] = $8; + $9 = HEAP32[83815]|0; + $10 = ($9|0)==(0); + if ($10) { + STACKTOP = sp;return; + } + _SetTargetFPS(60); + _LogoAnimation(); + STACKTOP = sp;return; +} +function _TraceLog($0,$1,$varargs) { + $0 = $0|0; + $1 = $1|0; + $varargs = $varargs|0; + var $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $endptr = 0, $strlen = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $2 = sp; + switch ($0|0) { + case 0: { + ;HEAP8[25312>>0]=HEAP8[11758>>0]|0;HEAP8[25312+1>>0]=HEAP8[11758+1>>0]|0;HEAP8[25312+2>>0]=HEAP8[11758+2>>0]|0;HEAP8[25312+3>>0]=HEAP8[11758+3>>0]|0;HEAP8[25312+4>>0]=HEAP8[11758+4>>0]|0;HEAP8[25312+5>>0]=HEAP8[11758+5>>0]|0;HEAP8[25312+6>>0]=HEAP8[11758+6>>0]|0; + break; + } + case 2: { + $3 = 25312; + $4 = $3; + HEAP32[$4>>2] = 1330795077; + $5 = (($3) + 4)|0; + $6 = $5; + HEAP32[$6>>2] = 2112082; + break; + } + case 1: { + dest=25312; src=11765; stop=dest+10|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); + break; + } + case 3: { + $7 = 25312; + $8 = $7; + HEAP32[$8>>2] = 1430406468; + $9 = (($7) + 4)|0; + $10 = $9; + HEAP32[$10>>2] = 2112071; + break; + } + default: { + } + } + (_strcat(25312,$1)|0); + $strlen = (_strlen(25312)|0); + $endptr = (25312 + ($strlen)|0); + HEAP8[$endptr>>0]=10&255;HEAP8[$endptr+1>>0]=10>>8; + HEAP32[$2>>2] = $varargs; + $11 = ($0|0)==(3); + if ($11) { + STACKTOP = sp;return; + } + (_vprintf(25312,$2)|0); + $12 = ($0|0)==(2); + if ($12) { + _exit(1); + // unreachable; + } else { + STACKTOP = sp;return; + } +} +function _InitGraphicsDevice($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$015 = 0, $$byval_copy = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; + var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0.0, $79 = 0, $8 = 0, $80 = 0; + var $81 = 0, $82 = 0.0, $83 = 0, $84 = 0, $85 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer14 = 0, $vararg_buffer18 = 0, $vararg_buffer22 = 0, $vararg_buffer3 = 0, $vararg_buffer6 = 0, $vararg_buffer8 = 0, $vararg_ptr13 = 0, $vararg_ptr17 = 0, $vararg_ptr21 = 0, $vararg_ptr5 = 0, dest = 0; + var label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 144|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(144|0); + $$byval_copy = sp + 136|0; + $vararg_buffer22 = sp + 64|0; + $vararg_buffer18 = sp + 56|0; + $vararg_buffer14 = sp + 48|0; + $vararg_buffer10 = sp + 40|0; + $vararg_buffer8 = sp + 32|0; + $vararg_buffer6 = sp + 24|0; + $vararg_buffer3 = sp + 16|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $2 = sp + 72|0; + $3 = sp + 140|0; + HEAP32[83812] = $0; + HEAP32[83811] = $1; + _MatrixIdentity($2); + dest=335336; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + (_glfwSetErrorCallback((2|0))|0); + $4 = (_glfwInit()|0); + $5 = ($4|0)==(0); + if ($5) { + _TraceLog(2,7900,$vararg_buffer); + } + $6 = HEAP32[83812]|0; + HEAP32[83850] = $6; + $7 = HEAP32[83811]|0; + HEAP32[83851] = $7; + _glfwDefaultWindowHints(); + $8 = HEAP8[339216]|0; + $9 = $8 & 4; + $10 = ($9<<24>>24)==(0); + if ($10) { + _glfwWindowHint(131075,0); + } else { + _glfwWindowHint(131075,1); + } + $11 = HEAP8[339216]|0; + $12 = $11 & 8; + $13 = ($12<<24>>24)==(0); + if (!($13)) { + _glfwWindowHint(131077,1); + } + $14 = HEAP8[339216]|0; + $15 = $14 & 32; + $16 = ($15<<24>>24)==(0); + if (!($16)) { + _glfwWindowHint(135181,4); + _TraceLog(0,7926,$vararg_buffer1); + } + $17 = (_rlGetVersion()|0); + $18 = ($17|0)==(2); + if ($18) { + _glfwWindowHint(139266,2); + _glfwWindowHint(139267,1); + } else { + $19 = (_rlGetVersion()|0); + $20 = ($19|0)==(3); + if ($20) { + _glfwWindowHint(139266,3); + _glfwWindowHint(139267,3); + _glfwWindowHint(139272,204801); + _glfwWindowHint(139270,0); + } + } + $21 = HEAP32[83852]|0; + $22 = ($21|0)==(0); + if ($22) { + $47 = HEAP32[83812]|0; + $48 = HEAP32[83811]|0; + $49 = HEAP32[83814]|0; + $50 = (_glfwCreateWindow(($47|0),($48|0),($49|0),(0|0),(0|0))|0); + HEAP32[83810] = $50; + $51 = HEAP32[83812]|0; + HEAP32[83853] = $51; + $52 = HEAP32[83811]|0; + HEAP32[83854] = $52; + $54 = $50; + } else { + $23 = (_glfwGetPrimaryMonitor()|0); + $24 = (_glfwGetVideoModes(($23|0),($$byval_copy|0))|0); + $25 = HEAP32[$$byval_copy>>2]|0; + $26 = ($25|0)>(0); + L22: do { + if ($26) { + $27 = HEAP32[83812]|0; + $28 = HEAP32[$$byval_copy>>2]|0; + $29 = HEAP32[83811]|0; + $$015 = 0; + while(1) { + $30 = (($24) + (($$015*24)|0)|0); + $31 = HEAP32[$30>>2]|0; + $32 = ($31|0)<($27|0); + if (!($32)) { + $33 = (((($24) + (($$015*24)|0)|0)) + 4|0); + $34 = HEAP32[$33>>2]|0; + $35 = ($34|0)<($29|0); + if (!($35)) { + break; + } + } + $36 = (($$015) + 1)|0; + $37 = ($36|0)<($28|0); + if ($37) { + $$015 = $36; + } else { + break L22; + } + } + HEAP32[83850] = $31; + HEAP32[83851] = $34; + } + } while(0); + $38 = HEAP32[83850]|0; + $39 = HEAP32[83851]|0; + HEAP32[$vararg_buffer3>>2] = $38; + $vararg_ptr5 = ((($vararg_buffer3)) + 4|0); + HEAP32[$vararg_ptr5>>2] = $39; + _TraceLog(1,7951,$vararg_buffer3); + $40 = HEAP32[83850]|0; + $41 = HEAP32[83851]|0; + _SetupFramebufferSize($40,$41); + $42 = HEAP32[83850]|0; + $43 = HEAP32[83851]|0; + $44 = HEAP32[83814]|0; + $45 = (_glfwGetPrimaryMonitor()|0); + $46 = (_glfwCreateWindow(($42|0),($43|0),($44|0),($45|0),(0|0))|0); + HEAP32[83810] = $46; + $54 = $46; + } + $53 = ($54|0)==(0|0); + if ($53) { + _glfwTerminate(); + _TraceLog(2,7989,$vararg_buffer6); + } else { + _TraceLog(0,8022,$vararg_buffer8); + $55 = HEAP32[83853]|0; + $56 = HEAP32[83854]|0; + HEAP32[$vararg_buffer10>>2] = $55; + $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); + HEAP32[$vararg_ptr13>>2] = $56; + _TraceLog(0,8062,$vararg_buffer10); + $57 = HEAP32[83812]|0; + $58 = HEAP32[83811]|0; + HEAP32[$vararg_buffer14>>2] = $57; + $vararg_ptr17 = ((($vararg_buffer14)) + 4|0); + HEAP32[$vararg_ptr17>>2] = $58; + _TraceLog(0,8083,$vararg_buffer14); + $59 = HEAP32[83855]|0; + $60 = HEAP32[83856]|0; + HEAP32[$vararg_buffer18>>2] = $59; + $vararg_ptr21 = ((($vararg_buffer18)) + 4|0); + HEAP32[$vararg_ptr21>>2] = $60; + _TraceLog(0,8104,$vararg_buffer18); + } + $61 = HEAP32[83810]|0; + (_glfwSetWindowSizeCallback(($61|0),(1|0))|0); + $62 = HEAP32[83810]|0; + (_glfwSetCursorEnterCallback(($62|0),(3|0))|0); + $63 = HEAP32[83810]|0; + (_glfwSetKeyCallback(($63|0),(1|0))|0); + $64 = HEAP32[83810]|0; + (_glfwSetMouseButtonCallback(($64|0),(1|0))|0); + $65 = HEAP32[83810]|0; + (_glfwSetCursorPosCallback(($65|0),(1|0))|0); + $66 = HEAP32[83810]|0; + (_glfwSetCharCallback(($66|0),(4|0))|0); + $67 = HEAP32[83810]|0; + (_glfwSetScrollCallback(($67|0),(2|0))|0); + $68 = HEAP32[83810]|0; + (_glfwSetWindowIconifyCallback(($68|0),(5|0))|0); + $69 = HEAP32[83810]|0; + _glfwMakeContextCurrent(($69|0)); + _glfwSwapInterval(0); + $70 = HEAP8[339216]|0; + $71 = $70 & 64; + $72 = ($71<<24>>24)==(0); + if ($72) { + $73 = HEAP32[83812]|0; + $74 = HEAP32[83811]|0; + _rlglInit($73,$74); + _SetupViewport(); + _rlMatrixMode(5889); + _rlLoadIdentity(); + $75 = HEAP32[83853]|0; + $76 = HEAP32[83855]|0; + $77 = (($75) - ($76))|0; + $78 = (+($77|0)); + $79 = HEAP32[83854]|0; + $80 = HEAP32[83856]|0; + $81 = (($79) - ($80))|0; + $82 = (+($81|0)); + _rlOrtho(0.0,$78,$82,0.0,0.0,1.0); + _rlMatrixMode(5888); + _rlLoadIdentity(); + HEAP8[$3>>0] = -11; + $83 = ((($3)) + 1|0); + HEAP8[$83>>0] = -11; + $84 = ((($3)) + 2|0); + HEAP8[$84>>0] = -11; + $85 = ((($3)) + 3|0); + HEAP8[$85>>0] = -1; + ;HEAP8[$$byval_copy>>0]=HEAP8[$3>>0]|0;HEAP8[$$byval_copy+1>>0]=HEAP8[$3+1>>0]|0;HEAP8[$$byval_copy+2>>0]=HEAP8[$3+2>>0]|0;HEAP8[$$byval_copy+3>>0]=HEAP8[$3+3>>0]|0; + _ClearBackground($$byval_copy); + STACKTOP = sp;return; + } + _glfwSwapInterval(1); + _TraceLog(0,8129,$vararg_buffer22); + $73 = HEAP32[83812]|0; + $74 = HEAP32[83811]|0; + _rlglInit($73,$74); + _SetupViewport(); + _rlMatrixMode(5889); + _rlLoadIdentity(); + $75 = HEAP32[83853]|0; + $76 = HEAP32[83855]|0; + $77 = (($75) - ($76))|0; + $78 = (+($77|0)); + $79 = HEAP32[83854]|0; + $80 = HEAP32[83856]|0; + $81 = (($79) - ($80))|0; + $82 = (+($81|0)); + _rlOrtho(0.0,$78,$82,0.0,0.0,1.0); + _rlMatrixMode(5888); + _rlLoadIdentity(); + HEAP8[$3>>0] = -11; + $83 = ((($3)) + 1|0); + HEAP8[$83>>0] = -11; + $84 = ((($3)) + 2|0); + HEAP8[$84>>0] = -11; + $85 = ((($3)) + 3|0); + HEAP8[$85>>0] = -1; + ;HEAP8[$$byval_copy>>0]=HEAP8[$3>>0]|0;HEAP8[$$byval_copy+1>>0]=HEAP8[$3+1>>0]|0;HEAP8[$$byval_copy+2>>0]=HEAP8[$3+2>>0]|0;HEAP8[$$byval_copy+3>>0]=HEAP8[$3+3>>0]|0; + _ClearBackground($$byval_copy); + STACKTOP = sp;return; +} +function _LoadDefaultFont() { + var $$ = 0, $$0101 = 0, $$090100 = 0, $$09299 = 0, $$095104 = 0, $$096103 = 0, $$097102 = 0, $$191 = 0, $$193 = 0, $$byval_copy1 = 0, $$lcssa = 0, $$sroa$0$0$$sroa_idx = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0; + var $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0; + var $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; + var $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $$byval_copy1 = sp + 44|0; + $vararg_buffer = sp; + $0 = sp + 4|0; + $1 = sp + 24|0; + HEAP32[(335304)>>2] = 224; + $2 = (_malloc(65536)|0); + _memset(($2|0),0,65536)|0; + $$095104 = 0;$$096103 = 0; + while(1) { + $3 = (68 + ($$095104<<2)|0); + $4 = HEAP32[$3>>2]|0; + $$097102 = 31; + while(1) { + $16 = 1 << $$097102; + $17 = $4 & $16; + $18 = ($17|0)==(0); + if (!($18)) { + $19 = (($$097102) + ($$096103))|0; + $$sroa$0$0$$sroa_idx = (($2) + ($19<<2)|0); + HEAP8[$$sroa$0$0$$sroa_idx>>0]=-1&255;HEAP8[$$sroa$0$0$$sroa_idx+1>>0]=(-1>>8)&255;HEAP8[$$sroa$0$0$$sroa_idx+2>>0]=(-1>>16)&255;HEAP8[$$sroa$0$0$$sroa_idx+3>>0]=-1>>24; + } + $20 = (($$097102) + -1)|0; + $21 = ($$097102|0)>(0); + if ($21) { + $$097102 = $20; + } else { + break; + } + } + $12 = (($$095104) + 1)|0; + $13 = ($$095104|0)>(511); + $$ = $13 ? 0 : $12; + $14 = (($$096103) + 32)|0; + $15 = ($14|0)<(16384); + if ($15) { + $$095104 = $$;$$096103 = $14; + } else { + break; + } + } + _LoadImageEx($0,$2,128,128); + _ImageFormat($0,2); + _free($2); + ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; + _LoadTextureFromImage($1,$$byval_copy1); + ;HEAP32[335280>>2]=HEAP32[$1>>2]|0;HEAP32[335280+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[335280+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[335280+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[335280+16>>2]=HEAP32[$1+16>>2]|0; + ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; + _UnloadImage($$byval_copy1); + $5 = HEAP32[(335304)>>2]|0; + $6 = $5 << 5; + $7 = (_malloc($6)|0); + HEAP32[(335308)>>2] = $7; + $8 = ($5|0)>(0); + if (!($8)) { + $$lcssa = $7; + $22 = ((($$lcssa)) + 16|0); + $23 = HEAP32[$22>>2]|0; + HEAP32[(335300)>>2] = $23; + $24 = HEAP32[83820]|0; + HEAP32[$vararg_buffer>>2] = $24; + _TraceLog(0,7406,$vararg_buffer); + STACKTOP = sp;return; + } + $9 = HEAP32[(335284)>>2]|0; + $10 = HEAP32[(335304)>>2]|0; + $11 = HEAP32[(335308)>>2]|0; + $$0101 = 0;$$090100 = 1;$$09299 = 0;$27 = $7; + while(1) { + $25 = (($$0101) + 32)|0; + $26 = (($27) + ($$0101<<5)|0); + HEAP32[$26>>2] = $25; + $28 = (((($27) + ($$0101<<5)|0)) + 4|0); + HEAP32[$28>>2] = $$090100; + $29 = ($$09299*11)|0; + $30 = (($29) + 1)|0; + $31 = (((($27) + ($$0101<<5)|0)) + 8|0); + HEAP32[$31>>2] = $30; + $32 = (2116 + ($$0101<<2)|0); + $33 = HEAP32[$32>>2]|0; + $34 = (((($27) + ($$0101<<5)|0)) + 12|0); + HEAP32[$34>>2] = $33; + $35 = (((($27) + ($$0101<<5)|0)) + 16|0); + HEAP32[$35>>2] = 10; + $36 = (($$090100) + 1)|0; + $37 = (($36) + ($33))|0; + $38 = ($37|0)<($9|0); + $39 = (($$09299) + 1)|0; + if ($38) { + $$191 = $37;$$193 = $$09299; + } else { + $40 = ($39*11)|0; + $41 = (($40) + 1)|0; + $42 = (($33) + 2)|0; + HEAP32[$28>>2] = 1; + HEAP32[$31>>2] = $41; + $$191 = $42;$$193 = $39; + } + $43 = (((($27) + ($$0101<<5)|0)) + 20|0); + HEAP32[$43>>2] = 0; + $44 = (((($27) + ($$0101<<5)|0)) + 24|0); + HEAP32[$44>>2] = 0; + $45 = (((($27) + ($$0101<<5)|0)) + 28|0); + HEAP32[$45>>2] = 0; + $46 = (($$0101) + 1)|0; + $47 = ($46|0)<($10|0); + if ($47) { + $$0101 = $46;$$090100 = $$191;$$09299 = $$193;$27 = $11; + } else { + $$lcssa = $11; + break; + } + } + $22 = ((($$lcssa)) + 16|0); + $23 = HEAP32[$22>>2]|0; + HEAP32[(335300)>>2] = $23; + $24 = HEAP32[83820]|0; + HEAP32[$vararg_buffer>>2] = $24; + _TraceLog(0,7406,$vararg_buffer); + STACKTOP = sp;return; +} +function _InitTimer() { + var $0 = 0, $1 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (_time((0|0))|0); + _srand($0); + $1 = (+_GetTime()); + HEAPF64[3163] = $1; + return; +} +function _EmscriptenFullscreenChangeCallback($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer4 = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, $vararg_ptr9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $vararg_buffer4 = sp + 16|0; + $vararg_buffer = sp; + $3 = HEAP32[$1>>2]|0; + $4 = ($3|0)==(0); + $5 = ((($1)) + 264|0); + $6 = HEAP32[$5>>2]|0; + $7 = ((($1)) + 268|0); + $8 = HEAP32[$7>>2]|0; + $9 = ((($1)) + 272|0); + $10 = HEAP32[$9>>2]|0; + $11 = ((($1)) + 276|0); + $12 = HEAP32[$11>>2]|0; + if ($4) { + HEAP32[$vararg_buffer4>>2] = $6; + $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); + HEAP32[$vararg_ptr7>>2] = $8; + $vararg_ptr8 = ((($vararg_buffer4)) + 8|0); + HEAP32[$vararg_ptr8>>2] = $10; + $vararg_ptr9 = ((($vararg_buffer4)) + 12|0); + HEAP32[$vararg_ptr9>>2] = $12; + _TraceLog(0,7339,$vararg_buffer4); + STACKTOP = sp;return 0; + } else { + HEAP32[$vararg_buffer>>2] = $6; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $8; + $vararg_ptr2 = ((($vararg_buffer)) + 8|0); + HEAP32[$vararg_ptr2>>2] = $10; + $vararg_ptr3 = ((($vararg_buffer)) + 12|0); + HEAP32[$vararg_ptr3>>2] = $12; + _TraceLog(0,7270,$vararg_buffer); + STACKTOP = sp;return 0; + } + return (0)|0; +} +function _EmscriptenKeyboardCallback($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ($0|0)==(1); + if (!($3)) { + return 0; + } + $4 = ((($1)) + 32|0); + $5 = (_strcmp($4,7263)|0); + $6 = ($5|0)==(0); + if (!($6)) { + return 0; + } + (_emscripten_exit_pointerlock()|0); + return 0; +} +function _EmscriptenMouseCallback($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var label = 0, sp = 0; + sp = STACKTOP; + return 0; +} +function _EmscriptenTouchCallback($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$byval_copy = 0, $$sink = 0, $$sroa$0$0$$sroa_idx = 0, $$sroa$03$0$$sroa_idx = 0, $$sroa$2$0$$sroa_idx2 = 0, $$sroa$24$0$$sroa_idx5 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0.0, $18 = 0, $19 = 0, $20 = 0.0, $21 = 0, $22 = 0, $23 = 0.0; + var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; + var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0.0, $48 = 0.0, $49 = 0.0, $5 = 0, $50 = 0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0, $59 = 0.0, $6 = 0; + var $60 = 0.0, $61 = 0.0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0); + $$byval_copy = sp + 56|0; + $3 = sp; + switch ($0|0) { + case 22: { + $$sink = 1; + label = 4; + break; + } + case 23: { + $$sink = 0; + label = 4; + break; + } + case 24: { + $$sink = 2; + label = 4; + break; + } + default: { + } + } + if ((label|0) == 4) { + HEAP32[$3>>2] = $$sink; + } + $4 = HEAP32[$1>>2]|0; + $5 = ((($3)) + 4|0); + HEAP32[$5>>2] = $4; + $6 = ((($1)) + 20|0); + $7 = HEAP32[$6>>2]|0; + $8 = ((($3)) + 8|0); + HEAP32[$8>>2] = $7; + $9 = ((($1)) + 72|0); + $10 = HEAP32[$9>>2]|0; + $11 = ((($3)) + 12|0); + HEAP32[$11>>2] = $10; + $12 = ((($1)) + 56|0); + $13 = HEAP32[$12>>2]|0; + $14 = (+($13|0)); + $15 = ((($1)) + 60|0); + $16 = HEAP32[$15>>2]|0; + $17 = (+($16|0)); + $$sroa$03$0$$sroa_idx = ((($3)) + 24|0); + HEAPF32[$$sroa$03$0$$sroa_idx>>2] = $14; + $$sroa$24$0$$sroa_idx5 = ((($3)) + 28|0); + HEAPF32[$$sroa$24$0$$sroa_idx5>>2] = $17; + $18 = ((($1)) + 108|0); + $19 = HEAP32[$18>>2]|0; + $20 = (+($19|0)); + $21 = ((($1)) + 112|0); + $22 = HEAP32[$21>>2]|0; + $23 = (+($22|0)); + $$sroa$0$0$$sroa_idx = ((($3)) + 32|0); + HEAPF32[$$sroa$0$0$$sroa_idx>>2] = $20; + $$sroa$2$0$$sroa_idx2 = ((($3)) + 36|0); + HEAPF32[$$sroa$2$0$$sroa_idx2>>2] = $23; + $24 = ((($3)) + 24|0); + $25 = $24; + $26 = $25; + $27 = HEAP32[$26>>2]|0; + $28 = (($25) + 4)|0; + $29 = $28; + $30 = HEAP32[$29>>2]|0; + $31 = 25288; + $32 = $31; + HEAP32[$32>>2] = $27; + $33 = (($31) + 4)|0; + $34 = $33; + HEAP32[$34>>2] = $30; + $35 = ((($3)) + 32|0); + $36 = $35; + $37 = $36; + $38 = HEAP32[$37>>2]|0; + $39 = (($36) + 4)|0; + $40 = $39; + $41 = HEAP32[$40>>2]|0; + $42 = (25296); + $43 = $42; + HEAP32[$43>>2] = $38; + $44 = (($42) + 4)|0; + $45 = $44; + HEAP32[$45>>2] = $41; + $46 = (_GetScreenWidth()|0); + $47 = (+($46|0)); + $48 = +HEAPF32[$24>>2]; + $49 = $48 / $47; + HEAPF32[$24>>2] = $49; + $50 = (_GetScreenHeight()|0); + $51 = (+($50|0)); + $52 = +HEAPF32[$$sroa$24$0$$sroa_idx5>>2]; + $53 = $52 / $51; + HEAPF32[$$sroa$24$0$$sroa_idx5>>2] = $53; + $54 = (_GetScreenWidth()|0); + $55 = (+($54|0)); + $56 = +HEAPF32[$35>>2]; + $57 = $56 / $55; + HEAPF32[$35>>2] = $57; + $58 = (_GetScreenHeight()|0); + $59 = (+($58|0)); + $60 = +HEAPF32[$$sroa$2$0$$sroa_idx2>>2]; + $61 = $60 / $59; + HEAPF32[$$sroa$2$0$$sroa_idx2>>2] = $61; + dest=$$byval_copy; src=$3; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _ProcessGestureEvent($$byval_copy); + STACKTOP = sp;return 1; +} +function _EmscriptenGamepadCallback($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$sink = 0, $10 = 0, $11 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ((($1)) + 1296|0); + $4 = HEAP32[$3>>2]|0; + $5 = ($4|0)==(0); + if ($5) { + label = 3; + } else { + $6 = ((($1)) + 1300|0); + $7 = HEAP32[$6>>2]|0; + $8 = ($7|0)<(4); + if ($8) { + $$sink = 1; + } else { + label = 3; + } + } + if ((label|0) == 3) { + $$sink = 0; + } + $9 = ((($1)) + 1300|0); + $10 = HEAP32[$9>>2]|0; + $11 = (335264 + ($10<<2)|0); + HEAP32[$11>>2] = $$sink; + return 0; +} +function _SetTargetFPS($0) { + $0 = $0|0; + var $$ = 0.0, $$op = 0.0, $1 = 0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $vararg_buffer = sp; + $1 = ($0|0)<(1); + $2 = (+($0|0)); + $3 = 1.0 / $2; + $$ = $1 ? 0.0 : $3; + HEAPF64[3160] = $$; + $4 = $3; + $$op = $4 * 1000.0; + $5 = $$op; + $6 = $1 ? 0.0 : $5; + HEAPF64[$vararg_buffer>>3] = $6; + _TraceLog(0,7219,$vararg_buffer); + STACKTOP = sp;return; +} +function _LogoAnimation() { + var label = 0, sp = 0; + sp = STACKTOP; + HEAP32[83815] = 0; + return; +} +function _GetTime() { + var $0 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (+_glfwGetTime()); + return (+$0); +} +function _LoadImageEx($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$03334 = 0, $$035 = 0, $$sroa$12$0$$sroa_idx21 = 0, $$sroa$15$0$$sroa_idx24 = 0, $$sroa$16$0$$sroa_idx26 = 0, $$sroa$9$0$$sroa_idx18 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; + var $24 = 0, $25 = 0, $26 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, label = 0, sp = 0; + sp = STACKTOP; + $4 = $2 << 2; + $5 = Math_imul($4, $3)|0; + $6 = (_malloc($5)|0); + $7 = ($5|0)>(0); + if ($7) { + $8 = (($5) + -1)|0; + $9 = $8 >>> 2; + $$03334 = 0;$$035 = 0; + while(1) { + $10 = (($1) + ($$03334<<2)|0); + $11 = HEAP8[$10>>0]|0; + $12 = (($6) + ($$035)|0); + HEAP8[$12>>0] = $11; + $13 = (((($1) + ($$03334<<2)|0)) + 1|0); + $14 = HEAP8[$13>>0]|0; + $15 = $$035 | 1; + $16 = (($6) + ($15)|0); + HEAP8[$16>>0] = $14; + $17 = (((($1) + ($$03334<<2)|0)) + 2|0); + $18 = HEAP8[$17>>0]|0; + $19 = $$035 | 2; + $20 = (($6) + ($19)|0); + HEAP8[$20>>0] = $18; + $21 = (((($1) + ($$03334<<2)|0)) + 3|0); + $22 = HEAP8[$21>>0]|0; + $23 = $$035 | 3; + $24 = (($6) + ($23)|0); + HEAP8[$24>>0] = $22; + $25 = (($$03334) + 1)|0; + $26 = (($$035) + 4)|0; + $exitcond = ($$03334|0)==($9|0); + if ($exitcond) { + break; + } else { + $$03334 = $25;$$035 = $26; + } + } + } + HEAP32[$0>>2] = $6; + $$sroa$9$0$$sroa_idx18 = ((($0)) + 4|0); + HEAP32[$$sroa$9$0$$sroa_idx18>>2] = $2; + $$sroa$12$0$$sroa_idx21 = ((($0)) + 8|0); + HEAP32[$$sroa$12$0$$sroa_idx21>>2] = $3; + $$sroa$15$0$$sroa_idx24 = ((($0)) + 12|0); + HEAP32[$$sroa$15$0$$sroa_idx24>>2] = 1; + $$sroa$16$0$$sroa_idx26 = ((($0)) + 16|0); + HEAP32[$$sroa$16$0$$sroa_idx26>>2] = 7; + return; +} +function _ImageFormat($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0166199 = 0, $$0167197 = 0, $$0168195 = 0, $$0169192 = 0, $$0170190 = 0, $$0171188 = 0, $$0172189 = 0, $$0202 = 0, $$1194 = 0, $$2201 = 0, $$byval_copy = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0.0, $103 = 0.0, $104 = 0.0, $105 = 0, $106 = 0, $107 = 0; + var $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0; + var $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0; + var $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0; + var $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0.0, $17 = 0, $170 = 0.0, $171 = 0.0, $172 = 0, $173 = 0, $174 = 0, $175 = 0.0, $176 = 0.0, $177 = 0.0, $178 = 0, $179 = 0, $18 = 0; + var $180 = 0, $181 = 0.0, $182 = 0.0, $183 = 0.0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0.0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0; + var $199 = 0, $2 = 0, $20 = 0.0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0; + var $216 = 0, $217 = 0, $218 = 0.0, $219 = 0.0, $22 = 0, $220 = 0.0, $221 = 0, $222 = 0, $223 = 0, $224 = 0.0, $225 = 0.0, $226 = 0.0, $227 = 0, $228 = 0, $229 = 0, $23 = 0.0, $230 = 0.0, $231 = 0.0, $232 = 0.0, $233 = 0; + var $234 = 0, $235 = 0, $236 = 0.0, $237 = 0.0, $238 = 0.0, $239 = 0, $24 = 0.0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0.0, $250 = 0, $251 = 0; + var $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0; + var $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0.0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0; + var $289 = 0, $29 = 0.0, $290 = 0, $3 = 0, $30 = 0.0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0.0, $53 = 0.0, $54 = 0, $55 = 0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0, $6 = 0, $60 = 0, $61 = 0.0, $62 = 0.0; + var $63 = 0.0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0; + var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0.0, $91 = 0.0, $92 = 0.0, $93 = 0, $94 = 0, $95 = 0, $96 = 0.0, $97 = 0.0, $98 = 0.0, $99 = 0; + var $or$cond = 0, $roundf = 0.0, $roundf173 = 0.0, $roundf174 = 0.0, $roundf175 = 0.0, $roundf176 = 0.0, $roundf177 = 0.0, $roundf178 = 0.0, $roundf179 = 0.0, $roundf180 = 0.0, $roundf181 = 0.0, $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $$byval_copy = sp + 4|0; + $vararg_buffer = sp; + $2 = ((($0)) + 16|0); + $3 = HEAP32[$2>>2]|0; + $4 = ($3|0)==($1|0); + if ($4) { + STACKTOP = sp;return; + } + $5 = ($3|0)<(8); + $6 = ($1|0)<(8); + $or$cond = $6 & $5; + if (!($or$cond)) { + _TraceLog(1,7800,$vararg_buffer); + STACKTOP = sp;return; + } + ;HEAP32[$$byval_copy>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$0+16>>2]|0; + $7 = (_GetImageData($$byval_copy)|0); + $8 = HEAP32[$0>>2]|0; + _free($8); + HEAP32[$2>>2] = $1; + switch ($1|0) { + case 1: { + $9 = ((($0)) + 4|0); + $10 = HEAP32[$9>>2]|0; + $11 = ((($0)) + 8|0); + $12 = HEAP32[$11>>2]|0; + $13 = Math_imul($12, $10)|0; + $14 = (_malloc($13)|0); + HEAP32[$0>>2] = $14; + $15 = Math_imul($12, $10)|0; + $16 = ($15|0)>(0); + if ($16) { + $$0171188 = 0; + while(1) { + $17 = (($7) + ($$0171188<<2)|0); + $18 = HEAP8[$17>>0]|0; + $19 = (+($18&255)); + $20 = $19 * 0.29899999499320984; + $21 = (((($7) + ($$0171188<<2)|0)) + 1|0); + $22 = HEAP8[$21>>0]|0; + $23 = (+($22&255)); + $24 = $23 * 0.58700001239776611; + $25 = $20 + $24; + $26 = (((($7) + ($$0171188<<2)|0)) + 2|0); + $27 = HEAP8[$26>>0]|0; + $28 = (+($27&255)); + $29 = $28 * 0.11400000005960464; + $30 = $25 + $29; + $31 = (~~(($30))&255); + $32 = HEAP32[$0>>2]|0; + $33 = (($32) + ($$0171188)|0); + HEAP8[$33>>0] = $31; + $34 = (($$0171188) + 1)|0; + $35 = HEAP32[$9>>2]|0; + $36 = HEAP32[$11>>2]|0; + $37 = Math_imul($36, $35)|0; + $38 = ($34|0)<($37|0); + if ($38) { + $$0171188 = $34; + } else { + break; + } + } + } + break; + } + case 2: { + $39 = ((($0)) + 4|0); + $40 = HEAP32[$39>>2]|0; + $41 = ((($0)) + 8|0); + $42 = HEAP32[$41>>2]|0; + $43 = $40 << 1; + $44 = Math_imul($43, $42)|0; + $45 = (_malloc($44)|0); + HEAP32[$0>>2] = $45; + $46 = HEAP32[$39>>2]|0; + $47 = $46 << 1; + $48 = Math_imul($47, $42)|0; + $49 = ($48|0)>(0); + if ($49) { + $$0170190 = 0;$$0172189 = 0; + while(1) { + $50 = (($7) + ($$0172189<<2)|0); + $51 = HEAP8[$50>>0]|0; + $52 = (+($51&255)); + $53 = $52 * 0.29899999499320984; + $54 = (((($7) + ($$0172189<<2)|0)) + 1|0); + $55 = HEAP8[$54>>0]|0; + $56 = (+($55&255)); + $57 = $56 * 0.58700001239776611; + $58 = $53 + $57; + $59 = (((($7) + ($$0172189<<2)|0)) + 2|0); + $60 = HEAP8[$59>>0]|0; + $61 = (+($60&255)); + $62 = $61 * 0.11400000005960464; + $63 = $58 + $62; + $64 = (~~(($63))&255); + $65 = HEAP32[$0>>2]|0; + $66 = (($65) + ($$0170190)|0); + HEAP8[$66>>0] = $64; + $67 = (((($7) + ($$0172189<<2)|0)) + 3|0); + $68 = HEAP8[$67>>0]|0; + $69 = HEAP32[$0>>2]|0; + $70 = $$0170190 | 1; + $71 = (($69) + ($70)|0); + HEAP8[$71>>0] = $68; + $72 = (($$0172189) + 1)|0; + $73 = (($$0170190) + 2)|0; + $74 = HEAP32[$39>>2]|0; + $75 = HEAP32[$41>>2]|0; + $76 = $74 << 1; + $77 = Math_imul($76, $75)|0; + $78 = ($73|0)<($77|0); + if ($78) { + $$0170190 = $73;$$0172189 = $72; + } else { + break; + } + } + } + break; + } + case 3: { + $79 = ((($0)) + 4|0); + $80 = HEAP32[$79>>2]|0; + $81 = ((($0)) + 8|0); + $82 = HEAP32[$81>>2]|0; + $83 = $80 << 1; + $84 = Math_imul($83, $82)|0; + $85 = (_malloc($84)|0); + HEAP32[$0>>2] = $85; + $86 = HEAP32[$79>>2]|0; + $87 = Math_imul($82, $86)|0; + $88 = ($87|0)>(0); + if ($88) { + $89 = HEAP8[$7>>0]|0; + $90 = (+($89&255)); + $91 = $90 * 31.0; + $92 = $91 / 255.0; + $roundf179 = (+_roundf((+$92))); + $93 = (~~(($roundf179))&255); + $94 = ((($7)) + 1|0); + $95 = HEAP8[$94>>0]|0; + $96 = (+($95&255)); + $97 = $96 * 63.0; + $98 = $97 / 255.0; + $roundf180 = (+_roundf((+$98))); + $99 = (~~(($roundf180))&255); + $100 = ((($7)) + 2|0); + $101 = HEAP8[$100>>0]|0; + $102 = (+($101&255)); + $103 = $102 * 31.0; + $104 = $103 / 255.0; + $roundf181 = (+_roundf((+$104))); + $105 = (~~(($roundf181))&255); + $106 = $93&255; + $107 = $106 << 11; + $108 = $99&255; + $109 = $108 << 5; + $110 = $109 | $107; + $111 = $105&255; + $112 = $110 | $111; + $113 = $112&65535; + $114 = HEAP32[$0>>2]|0; + $115 = HEAP32[$79>>2]|0; + $116 = HEAP32[$81>>2]|0; + $117 = Math_imul($116, $115)|0; + $$0169192 = 0; + while(1) { + $118 = (($114) + ($$0169192<<1)|0); + HEAP16[$118>>1] = $113; + $119 = (($$0169192) + 1)|0; + $120 = ($119|0)<($117|0); + if ($120) { + $$0169192 = $119; + } else { + break; + } + } + } + break; + } + case 4: { + $121 = ((($0)) + 4|0); + $122 = HEAP32[$121>>2]|0; + $123 = ((($0)) + 8|0); + $124 = HEAP32[$123>>2]|0; + $125 = ($122*3)|0; + $126 = Math_imul($125, $124)|0; + $127 = (_malloc($126)|0); + HEAP32[$0>>2] = $127; + $128 = HEAP32[$121>>2]|0; + $129 = ($128*3)|0; + $130 = Math_imul($129, $124)|0; + $131 = ($130|0)>(0); + if ($131) { + $$0168195 = 0;$$1194 = 0; + while(1) { + $132 = (($7) + ($$1194<<2)|0); + $133 = HEAP8[$132>>0]|0; + $134 = HEAP32[$0>>2]|0; + $135 = (($134) + ($$0168195)|0); + HEAP8[$135>>0] = $133; + $136 = (((($7) + ($$1194<<2)|0)) + 1|0); + $137 = HEAP8[$136>>0]|0; + $138 = HEAP32[$0>>2]|0; + $139 = (($$0168195) + 1)|0; + $140 = (($138) + ($139)|0); + HEAP8[$140>>0] = $137; + $141 = (((($7) + ($$1194<<2)|0)) + 2|0); + $142 = HEAP8[$141>>0]|0; + $143 = HEAP32[$0>>2]|0; + $144 = (($$0168195) + 2)|0; + $145 = (($143) + ($144)|0); + HEAP8[$145>>0] = $142; + $146 = (($$1194) + 1)|0; + $147 = (($$0168195) + 3)|0; + $148 = HEAP32[$121>>2]|0; + $149 = HEAP32[$123>>2]|0; + $150 = ($148*3)|0; + $151 = Math_imul($150, $149)|0; + $152 = ($147|0)<($151|0); + if ($152) { + $$0168195 = $147;$$1194 = $146; + } else { + break; + } + } + } + break; + } + case 5: { + $153 = ((($0)) + 4|0); + $154 = HEAP32[$153>>2]|0; + $155 = ((($0)) + 8|0); + $156 = HEAP32[$155>>2]|0; + $157 = $154 << 1; + $158 = Math_imul($157, $156)|0; + $159 = (_malloc($158)|0); + HEAP32[$0>>2] = $159; + $160 = HEAP32[$153>>2]|0; + $161 = Math_imul($156, $160)|0; + $162 = ($161|0)>(0); + if ($162) { + $163 = HEAP32[$0>>2]|0; + $164 = HEAP32[$153>>2]|0; + $165 = HEAP32[$155>>2]|0; + $166 = Math_imul($165, $164)|0; + $$0167197 = 0; + while(1) { + $167 = (($7) + ($$0167197<<2)|0); + $168 = HEAP8[$167>>0]|0; + $169 = (+($168&255)); + $170 = $169 * 31.0; + $171 = $170 / 255.0; + $roundf176 = (+_roundf((+$171))); + $172 = (~~(($roundf176))&255); + $173 = (((($7) + ($$0167197<<2)|0)) + 1|0); + $174 = HEAP8[$173>>0]|0; + $175 = (+($174&255)); + $176 = $175 * 31.0; + $177 = $176 / 255.0; + $roundf177 = (+_roundf((+$177))); + $178 = (~~(($roundf177))&255); + $179 = (((($7) + ($$0167197<<2)|0)) + 2|0); + $180 = HEAP8[$179>>0]|0; + $181 = (+($180&255)); + $182 = $181 * 31.0; + $183 = $182 / 255.0; + $roundf178 = (+_roundf((+$183))); + $184 = (~~(($roundf178))&255); + $185 = (((($7) + ($$0167197<<2)|0)) + 3|0); + $186 = HEAP8[$185>>0]|0; + $187 = ($186&255)>(50); + $188 = $172&255; + $189 = $188 << 11; + $190 = $178&255; + $191 = $190 << 6; + $192 = $191 | $189; + $193 = $184&255; + $194 = $193 << 1; + $195 = $192 | $194; + $196 = $187&1; + $197 = $195 | $196; + $198 = $197&65535; + $199 = (($163) + ($$0167197<<1)|0); + HEAP16[$199>>1] = $198; + $200 = (($$0167197) + 1)|0; + $201 = ($200|0)<($166|0); + if ($201) { + $$0167197 = $200; + } else { + break; + } + } + } + break; + } + case 6: { + $202 = ((($0)) + 4|0); + $203 = HEAP32[$202>>2]|0; + $204 = ((($0)) + 8|0); + $205 = HEAP32[$204>>2]|0; + $206 = $203 << 1; + $207 = Math_imul($206, $205)|0; + $208 = (_malloc($207)|0); + HEAP32[$0>>2] = $208; + $209 = HEAP32[$202>>2]|0; + $210 = Math_imul($205, $209)|0; + $211 = ($210|0)>(0); + if ($211) { + $212 = HEAP32[$0>>2]|0; + $213 = HEAP32[$202>>2]|0; + $214 = HEAP32[$204>>2]|0; + $215 = Math_imul($214, $213)|0; + $$0166199 = 0; + while(1) { + $216 = (($7) + ($$0166199<<2)|0); + $217 = HEAP8[$216>>0]|0; + $218 = (+($217&255)); + $219 = $218 * 15.0; + $220 = $219 / 255.0; + $roundf = (+_roundf((+$220))); + $221 = (~~(($roundf))&255); + $222 = (((($7) + ($$0166199<<2)|0)) + 1|0); + $223 = HEAP8[$222>>0]|0; + $224 = (+($223&255)); + $225 = $224 * 15.0; + $226 = $225 / 255.0; + $roundf173 = (+_roundf((+$226))); + $227 = (~~(($roundf173))&255); + $228 = (((($7) + ($$0166199<<2)|0)) + 2|0); + $229 = HEAP8[$228>>0]|0; + $230 = (+($229&255)); + $231 = $230 * 15.0; + $232 = $231 / 255.0; + $roundf174 = (+_roundf((+$232))); + $233 = (~~(($roundf174))&255); + $234 = (((($7) + ($$0166199<<2)|0)) + 3|0); + $235 = HEAP8[$234>>0]|0; + $236 = (+($235&255)); + $237 = $236 * 15.0; + $238 = $237 / 255.0; + $roundf175 = (+_roundf((+$238))); + $239 = (~~(($roundf175))&255); + $240 = $221&255; + $241 = $240 << 12; + $242 = $227&255; + $243 = $242 << 8; + $244 = $243 | $241; + $245 = $233&255; + $246 = $245 << 4; + $247 = $244 | $246; + $248 = $239&255; + $249 = $247 | $248; + $250 = $249&65535; + $251 = (($212) + ($$0166199<<1)|0); + HEAP16[$251>>1] = $250; + $252 = (($$0166199) + 1)|0; + $253 = ($252|0)<($215|0); + if ($253) { + $$0166199 = $252; + } else { + break; + } + } + } + break; + } + case 7: { + $254 = ((($0)) + 4|0); + $255 = HEAP32[$254>>2]|0; + $256 = ((($0)) + 8|0); + $257 = HEAP32[$256>>2]|0; + $258 = $255 << 2; + $259 = Math_imul($258, $257)|0; + $260 = (_malloc($259)|0); + HEAP32[$0>>2] = $260; + $261 = HEAP32[$254>>2]|0; + $262 = $261 << 2; + $263 = Math_imul($262, $257)|0; + $264 = ($263|0)>(0); + if ($264) { + $$0202 = 0;$$2201 = 0; + while(1) { + $265 = (($7) + ($$2201<<2)|0); + $266 = HEAP8[$265>>0]|0; + $267 = HEAP32[$0>>2]|0; + $268 = (($267) + ($$0202)|0); + HEAP8[$268>>0] = $266; + $269 = (((($7) + ($$2201<<2)|0)) + 1|0); + $270 = HEAP8[$269>>0]|0; + $271 = HEAP32[$0>>2]|0; + $272 = $$0202 | 1; + $273 = (($271) + ($272)|0); + HEAP8[$273>>0] = $270; + $274 = (((($7) + ($$2201<<2)|0)) + 2|0); + $275 = HEAP8[$274>>0]|0; + $276 = HEAP32[$0>>2]|0; + $277 = $$0202 | 2; + $278 = (($276) + ($277)|0); + HEAP8[$278>>0] = $275; + $279 = (((($7) + ($$2201<<2)|0)) + 3|0); + $280 = HEAP8[$279>>0]|0; + $281 = HEAP32[$0>>2]|0; + $282 = $$0202 | 3; + $283 = (($281) + ($282)|0); + HEAP8[$283>>0] = $280; + $284 = (($$2201) + 1)|0; + $285 = (($$0202) + 4)|0; + $286 = HEAP32[$254>>2]|0; + $287 = HEAP32[$256>>2]|0; + $288 = $286 << 2; + $289 = Math_imul($288, $287)|0; + $290 = ($285|0)<($289|0); + if ($290) { + $$0202 = $285;$$2201 = $284; + } else { + break; + } + } + } + break; + } + default: { + } + } + _free($7); + STACKTOP = sp;return; +} +function _LoadTextureFromImage($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$sroa$10$0$$sroa_idx6 = 0, $$sroa$12$0$$sroa_idx8 = 0, $$sroa$6$0$$sroa_idx2 = 0, $$sroa$8$0$$sroa_idx4 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0; + var $vararg_ptr4 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $vararg_buffer = sp; + $2 = HEAP32[$1>>2]|0; + $3 = ((($1)) + 4|0); + $4 = HEAP32[$3>>2]|0; + $5 = ((($1)) + 8|0); + $6 = HEAP32[$5>>2]|0; + $7 = ((($1)) + 16|0); + $8 = HEAP32[$7>>2]|0; + $9 = ((($1)) + 12|0); + $10 = HEAP32[$9>>2]|0; + $11 = (_rlglLoadTexture($2,$4,$6,$8,$10)|0); + $12 = HEAP32[$3>>2]|0; + $13 = HEAP32[$5>>2]|0; + HEAP32[$vararg_buffer>>2] = $11; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $12; + $vararg_ptr2 = ((($vararg_buffer)) + 8|0); + HEAP32[$vararg_ptr2>>2] = $13; + $vararg_ptr3 = ((($vararg_buffer)) + 12|0); + HEAP32[$vararg_ptr3>>2] = $10; + $vararg_ptr4 = ((($vararg_buffer)) + 16|0); + HEAP32[$vararg_ptr4>>2] = $8; + _TraceLog(0,7451,$vararg_buffer); + HEAP32[$0>>2] = $11; + $$sroa$6$0$$sroa_idx2 = ((($0)) + 4|0); + HEAP32[$$sroa$6$0$$sroa_idx2>>2] = $12; + $$sroa$8$0$$sroa_idx4 = ((($0)) + 8|0); + HEAP32[$$sroa$8$0$$sroa_idx4>>2] = $13; + $$sroa$10$0$$sroa_idx6 = ((($0)) + 12|0); + HEAP32[$$sroa$10$0$$sroa_idx6>>2] = $10; + $$sroa$12$0$$sroa_idx8 = ((($0)) + 16|0); + HEAP32[$$sroa$12$0$$sroa_idx8>>2] = $8; + STACKTOP = sp;return; +} +function _UnloadImage($0) { + $0 = $0|0; + var $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP32[$0>>2]|0; + _free($1); + return; +} +function _rlglLoadTexture($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$0 = 0, $$off = 0, $$off92 = 0, $$off93 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; + var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; + var $46 = 0, $47 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond100 = 0, $or$cond7 = 0, $or$cond96 = 0, $or$cond98 = 0, $switch = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer11 = 0, $vararg_buffer15 = 0, $vararg_buffer3 = 0, $vararg_buffer5 = 0, $vararg_buffer7 = 0; + var $vararg_buffer9 = 0, $vararg_ptr13 = 0, $vararg_ptr14 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0); + $vararg_buffer15 = sp + 64|0; + $vararg_buffer11 = sp + 48|0; + $vararg_buffer9 = sp + 40|0; + $vararg_buffer7 = sp + 32|0; + $vararg_buffer5 = sp + 24|0; + $vararg_buffer3 = sp + 16|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $5 = sp + 68|0; + _glBindTexture(3553,0); + HEAP32[$5>>2] = 0; + $6 = HEAP32[83828]|0; + $7 = ($6|0)==(0); + $8 = $3 & -4; + $switch = ($8|0)==(8); + $or$cond100 = $switch & $7; + if ($or$cond100) { + _TraceLog(1,7498,$vararg_buffer); + $$0 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($$0|0); + } + $9 = HEAP32[83829]|0; + $10 = ($9|0)==(0); + $11 = ($3|0)==(12); + $or$cond7 = $11 & $10; + if ($or$cond7) { + _TraceLog(1,7542,$vararg_buffer1); + $$0 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($$0|0); + } + $12 = HEAP32[83830]|0; + $13 = ($12|0)==(0); + $$off = (($3) + -13)|0; + $14 = ($$off>>>0)<(2); + $or$cond = $14 & $13; + if ($or$cond) { + _TraceLog(1,7587,$vararg_buffer3); + $$0 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($$0|0); + } + $15 = HEAP32[83831]|0; + $16 = ($15|0)==(0); + $$off92 = (($3) + -15)|0; + $17 = ($$off92>>>0)<(2); + $or$cond96 = $17 & $16; + if ($or$cond96) { + _TraceLog(1,7632,$vararg_buffer5); + $$0 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($$0|0); + } + $18 = HEAP32[83832]|0; + $19 = ($18|0)==(0); + $$off93 = (($3) + -17)|0; + $20 = ($$off93>>>0)<(2); + $or$cond98 = $20 & $19; + if ($or$cond98) { + _TraceLog(1,7677,$vararg_buffer7); + $$0 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($$0|0); + } + _glGenTextures(1,($5|0)); + $21 = HEAP32[$5>>2]|0; + _glBindTexture(3553,($21|0)); + do { + switch ($3|0) { + case 1: { + _glTexImage2D(3553,0,6409,($1|0),($2|0),0,6409,5121,($0|0)); + break; + } + case 2: { + _glTexImage2D(3553,0,6410,($1|0),($2|0),0,6410,5121,($0|0)); + break; + } + case 3: { + _glTexImage2D(3553,0,6407,($1|0),($2|0),0,6407,33635,($0|0)); + break; + } + case 4: { + _glTexImage2D(3553,0,6407,($1|0),($2|0),0,6407,5121,($0|0)); + break; + } + case 5: { + _glTexImage2D(3553,0,6408,($1|0),($2|0),0,6408,32820,($0|0)); + break; + } + case 6: { + _glTexImage2D(3553,0,6408,($1|0),($2|0),0,6408,32819,($0|0)); + break; + } + case 7: { + _glTexImage2D(3553,0,6408,($1|0),($2|0),0,6408,5121,($0|0)); + break; + } + case 8: { + $22 = HEAP32[83828]|0; + $23 = ($22|0)==(0); + if (!($23)) { + _LoadCompressedTexture($0,$1,$2,$4,33776); + } + break; + } + case 9: { + $24 = HEAP32[83828]|0; + $25 = ($24|0)==(0); + if (!($25)) { + _LoadCompressedTexture($0,$1,$2,$4,33777); + } + break; + } + case 10: { + $26 = HEAP32[83828]|0; + $27 = ($26|0)==(0); + if (!($27)) { + _LoadCompressedTexture($0,$1,$2,$4,33778); + } + break; + } + case 11: { + $28 = HEAP32[83828]|0; + $29 = ($28|0)==(0); + if (!($29)) { + _LoadCompressedTexture($0,$1,$2,$4,33779); + } + break; + } + case 12: { + $30 = HEAP32[83829]|0; + $31 = ($30|0)==(0); + if (!($31)) { + _LoadCompressedTexture($0,$1,$2,$4,36196); + } + break; + } + case 13: { + $32 = HEAP32[83830]|0; + $33 = ($32|0)==(0); + if (!($33)) { + _LoadCompressedTexture($0,$1,$2,$4,37492); + } + break; + } + case 14: { + $34 = HEAP32[83830]|0; + $35 = ($34|0)==(0); + if (!($35)) { + _LoadCompressedTexture($0,$1,$2,$4,37496); + } + break; + } + case 15: { + $36 = HEAP32[83831]|0; + $37 = ($36|0)==(0); + if (!($37)) { + _LoadCompressedTexture($0,$1,$2,$4,35840); + } + break; + } + case 16: { + $38 = HEAP32[83831]|0; + $39 = ($38|0)==(0); + if (!($39)) { + _LoadCompressedTexture($0,$1,$2,$4,35842); + } + break; + } + case 17: { + $40 = HEAP32[83832]|0; + $41 = ($40|0)==(0); + if (!($41)) { + _LoadCompressedTexture($0,$1,$2,$4,37808); + } + break; + } + case 18: { + $42 = HEAP32[83832]|0; + $43 = ($42|0)==(0); + if (!($43)) { + _LoadCompressedTexture($0,$1,$2,$4,37815); + } + break; + } + default: { + _TraceLog(1,7722,$vararg_buffer9); + } + } + } while(0); + $44 = HEAP32[83833]|0; + $45 = ($44|0)==(0); + if ($45) { + _glTexParameteri(3553,10242,33071); + _glTexParameteri(3553,10243,33071); + } else { + _glTexParameteri(3553,10242,10497); + _glTexParameteri(3553,10243,10497); + } + _glTexParameteri(3553,10240,9728); + _glTexParameteri(3553,10241,9728); + _glBindTexture(3553,0); + $46 = HEAP32[$5>>2]|0; + $47 = ($46|0)==(0); + if ($47) { + _TraceLog(1,14449,$vararg_buffer15); + $$0 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($$0|0); + } else { + HEAP32[$vararg_buffer11>>2] = $46; + $vararg_ptr13 = ((($vararg_buffer11)) + 4|0); + HEAP32[$vararg_ptr13>>2] = $1; + $vararg_ptr14 = ((($vararg_buffer11)) + 8|0); + HEAP32[$vararg_ptr14>>2] = $2; + _TraceLog(0,7751,$vararg_buffer11); + $$0 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($$0|0); + } + return (0)|0; +} +function _LoadCompressedTexture($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$ = 0, $$03645 = 0, $$03744 = 0, $$038 = 0, $$03943 = 0, $$046 = 0, $$140 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0; + var $23 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond42 = 0, label = 0, sp = 0; + sp = STACKTOP; + _glPixelStorei(3317,1); + switch ($4|0) { + case 33776: case 33777: case 36196: case 37492: { + $$038 = 8; + break; + } + default: { + $$038 = 16; + } + } + $5 = ($3|0)<(1); + $6 = $1 | $2; + $7 = ($6|0)==(0); + $or$cond42 = $5 | $7; + if ($or$cond42) { + return; + } else { + $$03645 = 0;$$03744 = 0;$$03943 = $2;$$046 = $1; + } + while(1) { + $8 = (($$046) + 3)|0; + $9 = (($8|0) / 4)&-1; + $10 = (($$03943) + 3)|0; + $11 = (($10|0) / 4)&-1; + $12 = Math_imul($11, $$038)|0; + $13 = Math_imul($12, $9)|0; + $14 = (($0) + ($$03744)|0); + _glCompressedTexImage2D(3553,($$03645|0),($4|0),($$046|0),($$03943|0),0,($13|0),($14|0)); + $15 = (($13) + ($$03744))|0; + $16 = (($$046|0) / 2)&-1; + $17 = (($$03943|0) / 2)&-1; + $18 = ($$046|0)<(2); + $$ = $18 ? 1 : $16; + $19 = ($$03943|0)<(2); + $$140 = $19 ? 1 : $17; + $20 = (($$03645) + 1)|0; + $21 = ($20|0)>=($3|0); + $22 = $$ | $$140; + $23 = ($22|0)==(0); + $or$cond = $21 | $23; + if ($or$cond) { + break; + } else { + $$03645 = $20;$$03744 = $15;$$03943 = $$140;$$046 = $$; + } + } + return; +} +function _GetImageData($0) { + $0 = $0|0; + var $$0104105 = 0, $$0106 = 0, $$1 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0.0, $103 = 0.0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0; + var $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0; + var $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; + var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0.0, $4 = 0, $40 = 0.0, $41 = 0; + var $42 = 0, $43 = 0, $44 = 0, $45 = 0.0, $46 = 0.0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0.0, $52 = 0.0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0; + var $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0.0, $65 = 0.0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0.0, $71 = 0.0, $72 = 0, $73 = 0, $74 = 0, $75 = 0.0, $76 = 0.0, $77 = 0, $78 = 0; + var $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0.0, $86 = 0.0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0.0, $92 = 0.0, $93 = 0, $94 = 0, $95 = 0, $96 = 0; + var $97 = 0.0, $98 = 0.0, $99 = 0, $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $vararg_buffer = sp; + $1 = ((($0)) + 4|0); + $2 = HEAP32[$1>>2]|0; + $3 = ((($0)) + 8|0); + $4 = HEAP32[$3>>2]|0; + $5 = $2 << 2; + $6 = Math_imul($5, $4)|0; + $7 = (_malloc($6)|0); + $8 = HEAP32[$1>>2]|0; + $9 = Math_imul($4, $8)|0; + $10 = ($9|0)>(0); + if (!($10)) { + STACKTOP = sp;return ($7|0); + } + $11 = ((($0)) + 16|0); + $12 = HEAP32[$11>>2]|0; + $13 = HEAP32[$0>>2]|0; + $$0104105 = 0;$$0106 = 0; + while(1) { + switch ($12|0) { + case 1: { + $14 = (($13) + ($$0106)|0); + $15 = HEAP8[$14>>0]|0; + $16 = (($7) + ($$0104105<<2)|0); + HEAP8[$16>>0] = $15; + $17 = HEAP8[$14>>0]|0; + $18 = (((($7) + ($$0104105<<2)|0)) + 1|0); + HEAP8[$18>>0] = $17; + $19 = HEAP8[$14>>0]|0; + $20 = (((($7) + ($$0104105<<2)|0)) + 2|0); + HEAP8[$20>>0] = $19; + $21 = (((($7) + ($$0104105<<2)|0)) + 3|0); + HEAP8[$21>>0] = -1; + $22 = (($$0106) + 1)|0; + $$1 = $22; + break; + } + case 2: { + $23 = (($13) + ($$0106)|0); + $24 = HEAP8[$23>>0]|0; + $25 = (($7) + ($$0104105<<2)|0); + HEAP8[$25>>0] = $24; + $26 = HEAP8[$23>>0]|0; + $27 = (((($7) + ($$0104105<<2)|0)) + 1|0); + HEAP8[$27>>0] = $26; + $28 = HEAP8[$23>>0]|0; + $29 = (((($7) + ($$0104105<<2)|0)) + 2|0); + HEAP8[$29>>0] = $28; + $30 = (($$0106) + 1)|0; + $31 = (($13) + ($30)|0); + $32 = HEAP8[$31>>0]|0; + $33 = (((($7) + ($$0104105<<2)|0)) + 3|0); + HEAP8[$33>>0] = $32; + $34 = (($$0106) + 2)|0; + $$1 = $34; + break; + } + case 5: { + $35 = (($13) + ($$0106<<1)|0); + $36 = HEAP16[$35>>1]|0; + $37 = $36&65535; + $38 = $37 >>> 11; + $39 = (+($38|0)); + $40 = $39 * 8.0; + $41 = (~~(($40))&255); + $42 = (($7) + ($$0104105<<2)|0); + HEAP8[$42>>0] = $41; + $43 = $37 >>> 6; + $44 = $43 & 31; + $45 = (+($44|0)); + $46 = $45 * 8.0; + $47 = (~~(($46))&255); + $48 = (((($7) + ($$0104105<<2)|0)) + 1|0); + HEAP8[$48>>0] = $47; + $49 = $37 >>> 1; + $50 = $49 & 31; + $51 = (+($50|0)); + $52 = $51 * 8.0; + $53 = (~~(($52))&255); + $54 = (((($7) + ($$0104105<<2)|0)) + 2|0); + HEAP8[$54>>0] = $53; + $55 = $37 & 1; + $56 = (0 - ($55))|0; + $57 = $56&255; + $58 = (((($7) + ($$0104105<<2)|0)) + 3|0); + HEAP8[$58>>0] = $57; + $59 = (($$0106) + 1)|0; + $$1 = $59; + break; + } + case 3: { + $60 = (($13) + ($$0106<<1)|0); + $61 = HEAP16[$60>>1]|0; + $62 = $61&65535; + $63 = $62 >>> 11; + $64 = (+($63|0)); + $65 = $64 * 8.0; + $66 = (~~(($65))&255); + $67 = (($7) + ($$0104105<<2)|0); + HEAP8[$67>>0] = $66; + $68 = $62 >>> 5; + $69 = $68 & 63; + $70 = (+($69|0)); + $71 = $70 * 4.0; + $72 = (~~(($71))&255); + $73 = (((($7) + ($$0104105<<2)|0)) + 1|0); + HEAP8[$73>>0] = $72; + $74 = $62 & 31; + $75 = (+($74|0)); + $76 = $75 * 8.0; + $77 = (~~(($76))&255); + $78 = (((($7) + ($$0104105<<2)|0)) + 2|0); + HEAP8[$78>>0] = $77; + $79 = (((($7) + ($$0104105<<2)|0)) + 3|0); + HEAP8[$79>>0] = -1; + $80 = (($$0106) + 1)|0; + $$1 = $80; + break; + } + case 6: { + $81 = (($13) + ($$0106<<1)|0); + $82 = HEAP16[$81>>1]|0; + $83 = $82&65535; + $84 = $83 >>> 12; + $85 = (+($84|0)); + $86 = $85 * 17.0; + $87 = (~~(($86))&255); + $88 = (($7) + ($$0104105<<2)|0); + HEAP8[$88>>0] = $87; + $89 = $83 >>> 8; + $90 = $89 & 15; + $91 = (+($90|0)); + $92 = $91 * 17.0; + $93 = (~~(($92))&255); + $94 = (((($7) + ($$0104105<<2)|0)) + 1|0); + HEAP8[$94>>0] = $93; + $95 = $83 >>> 4; + $96 = $95 & 15; + $97 = (+($96|0)); + $98 = $97 * 17.0; + $99 = (~~(($98))&255); + $100 = (((($7) + ($$0104105<<2)|0)) + 2|0); + HEAP8[$100>>0] = $99; + $101 = $83 & 15; + $102 = (+($101|0)); + $103 = $102 * 17.0; + $104 = (~~(($103))&255); + $105 = (((($7) + ($$0104105<<2)|0)) + 3|0); + HEAP8[$105>>0] = $104; + $106 = (($$0106) + 1)|0; + $$1 = $106; + break; + } + case 7: { + $107 = (($13) + ($$0106)|0); + $108 = HEAP8[$107>>0]|0; + $109 = (($7) + ($$0104105<<2)|0); + HEAP8[$109>>0] = $108; + $110 = (($$0106) + 1)|0; + $111 = (($13) + ($110)|0); + $112 = HEAP8[$111>>0]|0; + $113 = (((($7) + ($$0104105<<2)|0)) + 1|0); + HEAP8[$113>>0] = $112; + $114 = (($$0106) + 2)|0; + $115 = (($13) + ($114)|0); + $116 = HEAP8[$115>>0]|0; + $117 = (((($7) + ($$0104105<<2)|0)) + 2|0); + HEAP8[$117>>0] = $116; + $118 = (($$0106) + 3)|0; + $119 = (($13) + ($118)|0); + $120 = HEAP8[$119>>0]|0; + $121 = (((($7) + ($$0104105<<2)|0)) + 3|0); + HEAP8[$121>>0] = $120; + $122 = (($$0106) + 4)|0; + $$1 = $122; + break; + } + case 4: { + $123 = (($13) + ($$0106)|0); + $124 = HEAP8[$123>>0]|0; + $125 = (($7) + ($$0104105<<2)|0); + HEAP8[$125>>0] = $124; + $126 = (($$0106) + 1)|0; + $127 = (($13) + ($126)|0); + $128 = HEAP8[$127>>0]|0; + $129 = (((($7) + ($$0104105<<2)|0)) + 1|0); + HEAP8[$129>>0] = $128; + $130 = (($$0106) + 2)|0; + $131 = (($13) + ($130)|0); + $132 = HEAP8[$131>>0]|0; + $133 = (((($7) + ($$0104105<<2)|0)) + 2|0); + HEAP8[$133>>0] = $132; + $134 = (((($7) + ($$0104105<<2)|0)) + 3|0); + HEAP8[$134>>0] = -1; + $135 = (($$0106) + 3)|0; + $$1 = $135; + break; + } + default: { + _TraceLog(1,7854,$vararg_buffer); + $$1 = $$0106; + } + } + $136 = (($$0104105) + 1)|0; + $137 = HEAP32[$1>>2]|0; + $138 = HEAP32[$3>>2]|0; + $139 = Math_imul($138, $137)|0; + $140 = ($136|0)<($139|0); + if ($140) { + $$0104105 = $136;$$0106 = $$1; + } else { + break; + } + } + STACKTOP = sp;return ($7|0); +} +function _ErrorCallback($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $vararg_buffer = sp; + HEAP32[$vararg_buffer>>2] = $0; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $1; + _TraceLog(1,11720,$vararg_buffer); + STACKTOP = sp;return; +} +function _rlGetVersion() { + var label = 0, sp = 0; + sp = STACKTOP; + return 4; +} +function _SetupFramebufferSize($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$sink = 0, $$sink1 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0.0, $16 = 0, $17 = 0, $18 = 0.0, $19 = 0.0, $2 = 0, $20 = 0, $21 = 0, $22 = 0.0, $23 = 0, $24 = 0, $25 = 0, $26 = 0.0; + var $27 = 0, $28 = 0.0, $29 = 0.0, $3 = 0, $30 = 0, $31 = 0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0, $36 = 0.0, $37 = 0, $38 = 0.0, $39 = 0.0, $4 = 0, $40 = 0, $41 = 0.0, $42 = 0, $43 = 0, $44 = 0.0; + var $45 = 0, $46 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0, $or$cond = 0, $roundf = 0.0, $roundf38 = 0.0, $roundf39 = 0.0, $roundf40 = 0.0, $vararg_buffer = 0, $vararg_buffer4 = 0, $vararg_buffer8 = 0, $vararg_ptr1 = 0, $vararg_ptr11 = 0, $vararg_ptr12 = 0, $vararg_ptr13 = 0, $vararg_ptr2 = 0; + var $vararg_ptr3 = 0, $vararg_ptr7 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0); + $vararg_buffer8 = sp + 24|0; + $vararg_buffer4 = sp + 16|0; + $vararg_buffer = sp; + $2 = sp + 40|0; + $3 = HEAP32[83812]|0; + $4 = ($3|0)>($0|0); + if (!($4)) { + $5 = HEAP32[83811]|0; + $6 = ($5|0)>($1|0); + if (!($6)) { + $30 = ($3|0)<($0|0); + $31 = ($5|0)<($1|0); + $or$cond = $30 | $31; + if (!($or$cond)) { + HEAP32[83853] = $3; + HEAP32[83854] = $5; + HEAP32[83855] = 0; + HEAP32[83856] = 0; + STACKTOP = sp;return; + } + HEAP32[$vararg_buffer8>>2] = $3; + $vararg_ptr11 = ((($vararg_buffer8)) + 4|0); + HEAP32[$vararg_ptr11>>2] = $5; + $vararg_ptr12 = ((($vararg_buffer8)) + 8|0); + HEAP32[$vararg_ptr12>>2] = $0; + $vararg_ptr13 = ((($vararg_buffer8)) + 12|0); + HEAP32[$vararg_ptr13>>2] = $1; + _TraceLog(0,11654,$vararg_buffer8); + $32 = (+($0|0)); + $33 = (+($1|0)); + $34 = $32 / $33; + $35 = HEAP32[83812]|0; + $36 = (+($35|0)); + $37 = HEAP32[83811]|0; + $38 = (+($37|0)); + $39 = $36 / $38; + $40 = !($34 <= $39); + if ($40) { + $44 = $34 * $38; + $roundf = (+_roundf((+$44))); + $45 = (~~(($roundf))); + HEAP32[83853] = $45; + HEAP32[83854] = $37; + $46 = (($45) - ($35))|0; + HEAP32[83855] = $46; + $$sink1 = 0; + } else { + HEAP32[83853] = $35; + $41 = $36 / $34; + $roundf38 = (+_roundf((+$41))); + $42 = (~~(($roundf38))); + HEAP32[83854] = $42; + HEAP32[83855] = 0; + $43 = (($42) - ($37))|0; + $$sink1 = $43; + } + HEAP32[83856] = $$sink1; + STACKTOP = sp;return; + } + } + $7 = HEAP32[83811]|0; + HEAP32[$vararg_buffer>>2] = $3; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $7; + $vararg_ptr2 = ((($vararg_buffer)) + 8|0); + HEAP32[$vararg_ptr2>>2] = $0; + $vararg_ptr3 = ((($vararg_buffer)) + 12|0); + HEAP32[$vararg_ptr3>>2] = $1; + _TraceLog(1,11511,$vararg_buffer); + $8 = (+($0|0)); + $9 = HEAP32[83812]|0; + $10 = (+($9|0)); + $11 = $8 / $10; + $12 = (+($1|0)); + $13 = HEAP32[83811]|0; + $14 = (+($13|0)); + $15 = $12 / $14; + $16 = !($11 <= $15); + if ($16) { + $22 = $10 * $15; + $roundf39 = (+_roundf((+$22))); + $23 = (~~(($roundf39))); + HEAP32[83853] = $23; + HEAP32[83854] = $1; + $24 = (($0) - ($23))|0; + HEAP32[83855] = $24; + $$sink = 0; + } else { + HEAP32[83853] = $0; + $17 = HEAP32[83811]|0; + $18 = (+($17|0)); + $19 = $11 * $18; + $roundf40 = (+_roundf((+$19))); + $20 = (~~(($roundf40))); + HEAP32[83854] = $20; + HEAP32[83855] = 0; + $21 = (($1) - ($20))|0; + $$sink = $21; + } + HEAP32[83856] = $$sink; + $25 = HEAP32[83853]|0; + $26 = (+($25|0)); + $27 = HEAP32[83812]|0; + $28 = (+($27|0)); + $29 = $26 / $28; + _MatrixScale($2,$29,$29,$29); + dest=335336; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + HEAP32[83853] = $0; + HEAP32[83854] = $1; + HEAP32[$vararg_buffer4>>2] = $0; + $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); + HEAP32[$vararg_ptr7>>2] = $1; + _TraceLog(1,11589,$vararg_buffer4); + STACKTOP = sp;return; +} +function _WindowSizeCallback($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $3 = 0.0, $4 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + _rlViewport(0,0,$1,$2); + _rlMatrixMode(5889); + _rlLoadIdentity(); + $3 = (+($1|0)); + $4 = (+($2|0)); + _rlOrtho(0.0,$3,$4,0.0,0.0,1.0); + _rlMatrixMode(5888); + _rlLoadIdentity(); + _rlClearScreenBuffers(); + HEAP32[83812] = $1; + HEAP32[83811] = $2; + HEAP32[83853] = $1; + HEAP32[83854] = $2; + return; +} +function _CursorEnterCallback($0,$1) { + $0 = $0|0; + $1 = $1|0; + var label = 0, sp = 0; + sp = STACKTOP; + return; +} +function _KeyCallback($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $5 = HEAP32[754]|0; + $6 = ($5|0)==($1|0); + $7 = ($3|0)==(1); + $or$cond = $7 & $6; + if ($or$cond) { + _glfwSetWindowShouldClose(($0|0),1); + return; + } + $8 = $3&255; + $9 = (339223 + ($1)|0); + HEAP8[$9>>0] = $8; + if (!($7)) { + return; + } + HEAP32[753] = $1; + return; +} +function _MouseButtonCallback($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$byval_copy = 0, $$sink = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0.0, $27 = 0.0; + var $28 = 0.0, $29 = 0, $30 = 0.0, $31 = 0, $32 = 0.0, $33 = 0.0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0); + $$byval_copy = sp + 64|0; + $4 = sp + 8|0; + $5 = sp; + $6 = $2&255; + $7 = (339217 + ($1)|0); + HEAP8[$7>>0] = $6; + $8 = (_IsMouseButtonPressed(0)|0); + $9 = ($8|0)==(0); + if ($9) { + $10 = (_IsMouseButtonReleased(0)|0); + $11 = ($10|0)==(0); + if (!($11)) { + $$sink = 0; + label = 3; + } + } else { + $$sink = 1; + label = 3; + } + if ((label|0) == 3) { + HEAP32[$4>>2] = $$sink; + } + $12 = ((($4)) + 8|0); + HEAP32[$12>>2] = 0; + $13 = ((($4)) + 4|0); + HEAP32[$13>>2] = 1; + $14 = ((($4)) + 24|0); + _GetMousePosition($5); + $15 = $5; + $16 = $15; + $17 = HEAP32[$16>>2]|0; + $18 = (($15) + 4)|0; + $19 = $18; + $20 = HEAP32[$19>>2]|0; + $21 = $14; + $22 = $21; + HEAP32[$22>>2] = $17; + $23 = (($21) + 4)|0; + $24 = $23; + HEAP32[$24>>2] = $20; + $25 = (_GetScreenWidth()|0); + $26 = (+($25|0)); + $27 = +HEAPF32[$14>>2]; + $28 = $27 / $26; + HEAPF32[$14>>2] = $28; + $29 = (_GetScreenHeight()|0); + $30 = (+($29|0)); + $31 = ((($4)) + 28|0); + $32 = +HEAPF32[$31>>2]; + $33 = $32 / $30; + HEAPF32[$31>>2] = $33; + dest=$$byval_copy; src=$4; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _ProcessGestureEvent($$byval_copy); + STACKTOP = sp;return; +} +function _MouseCursorPosCallback($0,$1,$2) { + $0 = $0|0; + $1 = +$1; + $2 = +$2; + var $$byval_copy = 0, $$sroa$0$0$$sroa_idx = 0, $$sroa$2$0$$sroa_idx1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0, $24 = 0.0, $25 = 0.0, $26 = 0.0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0); + $$byval_copy = sp + 56|0; + $3 = sp; + HEAP32[$3>>2] = 2; + $4 = ((($3)) + 8|0); + HEAP32[$4>>2] = 0; + $5 = ((($3)) + 4|0); + HEAP32[$5>>2] = 1; + $6 = $1; + $7 = $2; + $$sroa$0$0$$sroa_idx = ((($3)) + 24|0); + HEAPF32[$$sroa$0$0$$sroa_idx>>2] = $6; + $$sroa$2$0$$sroa_idx1 = ((($3)) + 28|0); + HEAPF32[$$sroa$2$0$$sroa_idx1>>2] = $7; + $8 = ((($3)) + 24|0); + $9 = $8; + $10 = $9; + $11 = HEAP32[$10>>2]|0; + $12 = (($9) + 4)|0; + $13 = $12; + $14 = HEAP32[$13>>2]|0; + $15 = 25288; + $16 = $15; + HEAP32[$16>>2] = $11; + $17 = (($15) + 4)|0; + $18 = $17; + HEAP32[$18>>2] = $14; + $19 = (_GetScreenWidth()|0); + $20 = (+($19|0)); + $21 = +HEAPF32[$8>>2]; + $22 = $21 / $20; + HEAPF32[$8>>2] = $22; + $23 = (_GetScreenHeight()|0); + $24 = (+($23|0)); + $25 = +HEAPF32[$$sroa$2$0$$sroa_idx1>>2]; + $26 = $25 / $24; + HEAPF32[$$sroa$2$0$$sroa_idx1>>2] = $26; + dest=$$byval_copy; src=$3; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _ProcessGestureEvent($$byval_copy); + STACKTOP = sp;return; +} +function _CharCallback($0,$1) { + $0 = $0|0; + $1 = $1|0; + var label = 0, sp = 0; + sp = STACKTOP; + HEAP32[753] = $1; + return; +} +function _ScrollCallback($0,$1,$2) { + $0 = $0|0; + $1 = +$1; + $2 = +$2; + var $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = (~~(($2))); + HEAP32[84226] = $3; + return; +} +function _WindowIconifyCallback($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$sink = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ($1|0)!=(0); + $$sink = $2&1; + HEAP32[84225] = $$sink; + return; +} +function _rlglInit($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$05965 = 0, $$06066 = 0, $$06167 = 0, $$062 = 0, $$sink63 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; + var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; + var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0; + var $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0.0, $72 = 0.0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0; + var $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $9 = 0, $exitcond = 0, $exitcond69 = 0, $exitcond70 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer13 = 0, $vararg_buffer15 = 0, $vararg_buffer17 = 0, $vararg_buffer19 = 0; + var $vararg_buffer21 = 0, $vararg_buffer23 = 0, $vararg_buffer25 = 0, $vararg_buffer27 = 0, $vararg_buffer29 = 0, $vararg_buffer31 = 0, $vararg_buffer34 = 0, $vararg_buffer36 = 0, $vararg_buffer39 = 0, $vararg_buffer4 = 0, $vararg_buffer41 = 0, $vararg_buffer7 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 2464|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(2464|0); + $vararg_buffer41 = sp + 2184|0; + $vararg_buffer39 = sp + 2176|0; + $vararg_buffer36 = sp + 2168|0; + $vararg_buffer34 = sp + 2160|0; + $vararg_buffer31 = sp + 2152|0; + $vararg_buffer29 = sp + 2144|0; + $vararg_buffer27 = sp + 2136|0; + $vararg_buffer25 = sp + 2128|0; + $vararg_buffer23 = sp + 2120|0; + $vararg_buffer21 = sp + 2112|0; + $vararg_buffer19 = sp + 2104|0; + $vararg_buffer17 = sp + 2096|0; + $vararg_buffer15 = sp + 2088|0; + $vararg_buffer13 = sp + 2080|0; + $vararg_buffer10 = sp + 2072|0; + $vararg_buffer7 = sp + 24|0; + $vararg_buffer4 = sp + 16|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $2 = sp + 2400|0; + $3 = sp + 2384|0; + $4 = sp + 2320|0; + $5 = sp + 2256|0; + $6 = sp + 2192|0; + $7 = (_glGetString(7936)|0); + HEAP32[$vararg_buffer>>2] = $7; + _TraceLog(0,8152,$vararg_buffer); + $8 = (_glGetString(7937)|0); + HEAP32[$vararg_buffer1>>2] = $8; + _TraceLog(0,8170,$vararg_buffer1); + $9 = (_glGetString(7938)|0); + HEAP32[$vararg_buffer4>>2] = $9; + _TraceLog(0,8188,$vararg_buffer4); + $10 = (_glGetString(35724)|0); + HEAP32[$vararg_buffer7>>2] = $10; + _TraceLog(0,8206,$vararg_buffer7); + $11 = (_glGetString(7939)|0); + $12 = (_strlen($11)|0); + $13 = (($12) + 1)|0; + $14 = (_malloc($13)|0); + _memcpy(($14|0),($11|0),($13|0))|0; + $$062 = 0;$$sink63 = $14; + while(1) { + $15 = (_strtok($$sink63,8224)|0); + $16 = (($vararg_buffer7) + ($$062<<2)|0); + HEAP32[$16>>2] = $15; + $17 = ($15|0)==(0|0); + $18 = (($$062) + 1)|0; + if ($17) { + break; + } else { + $$062 = $18;$$sink63 = 0; + } + } + _free($14); + $19 = (($$062) + -1)|0; + HEAP32[$vararg_buffer10>>2] = $19; + _TraceLog(0,8226,$vararg_buffer10); + $20 = ($$062|0)>(1); + if ($20) { + $$06167 = 0; + while(1) { + $23 = (($vararg_buffer7) + ($$06167<<2)|0); + $24 = HEAP32[$23>>2]|0; + $25 = (_strcmp($24,8261)|0); + $26 = ($25|0)==(0); + if ($26) { + HEAP32[83891] = 1; + $27 = (_eglGetProcAddress((8288|0))|0); + HEAP32[83892] = $27; + $28 = (_eglGetProcAddress((8309|0))|0); + HEAP32[83893] = $28; + $29 = (_eglGetProcAddress((8330|0))|0); + HEAP32[83894] = $29; + } + $30 = (_strcmp($24,8354)|0); + $31 = ($30|0)==(0); + if ($31) { + HEAP32[83833] = 1; + } + $32 = (_strcmp($24,8374)|0); + $33 = ($32|0)==(0); + if ($33) { + label = 12; + } else { + $34 = HEAP32[$23>>2]|0; + $35 = (_strcmp($34,8406)|0); + $36 = ($35|0)==(0); + if ($36) { + label = 12; + } else { + $37 = (_strcmp($34,8439)|0); + $38 = ($37|0)==(0); + if ($38) { + label = 12; + } + } + } + if ((label|0) == 12) { + label = 0; + HEAP32[83828] = 1; + } + $39 = (_strcmp($24,8479)|0); + $40 = ($39|0)==(0); + if ($40) { + label = 15; + } else { + $41 = HEAP32[$23>>2]|0; + $42 = (_strcmp($41,8515)|0); + $43 = ($42|0)==(0); + if ($43) { + label = 15; + } + } + if ((label|0) == 15) { + label = 0; + HEAP32[83829] = 1; + } + $44 = HEAP32[$23>>2]|0; + $45 = (_strcmp($44,8548)|0); + $46 = ($45|0)==(0); + if ($46) { + HEAP32[83830] = 1; + } + $47 = (_strcmp($44,8573)|0); + $48 = ($47|0)==(0); + if ($48) { + HEAP32[83831] = 1; + } + $49 = (_strcmp($44,8606)|0); + $50 = ($49|0)==(0); + if ($50) { + HEAP32[83832] = 1; + } + $51 = (_strcmp($44,8642)|0); + $52 = ($51|0)==(0); + if ($52) { + HEAP32[83895] = 1; + _glGetFloatv(34047,(335584|0)); + } + $53 = HEAP32[$23>>2]|0; + $54 = (_strcmp($53,8676)|0); + $55 = ($54|0)==(0); + if ($55) { + HEAP32[83897] = 1; + } + $56 = (($$06167) + 1)|0; + $exitcond70 = ($56|0)==($19|0); + if ($exitcond70) { + break; + } else { + $$06167 = $56; + } + } + } + $21 = HEAP32[83891]|0; + $22 = ($21|0)==(0); + if ($22) { + _TraceLog(1,8779,$vararg_buffer15); + } else { + _TraceLog(0,8704,$vararg_buffer13); + } + $57 = HEAP32[83833]|0; + $58 = ($57|0)==(0); + if ($58) { + _TraceLog(1,8915,$vararg_buffer19); + } else { + _TraceLog(0,8840,$vararg_buffer17); + } + $59 = HEAP32[83828]|0; + $60 = ($59|0)==(0); + if (!($60)) { + _TraceLog(0,9007,$vararg_buffer21); + } + $61 = HEAP32[83829]|0; + $62 = ($61|0)==(0); + if (!($62)) { + _TraceLog(0,9053,$vararg_buffer23); + } + $63 = HEAP32[83830]|0; + $64 = ($63|0)==(0); + if (!($64)) { + _TraceLog(0,9100,$vararg_buffer25); + } + $65 = HEAP32[83831]|0; + $66 = ($65|0)==(0); + if (!($66)) { + _TraceLog(0,9151,$vararg_buffer27); + } + $67 = HEAP32[83832]|0; + $68 = ($67|0)==(0); + if (!($68)) { + _TraceLog(0,9198,$vararg_buffer29); + } + $69 = HEAP32[83895]|0; + $70 = ($69|0)==(0); + if (!($70)) { + $71 = +HEAPF32[83896]; + $72 = $71; + HEAPF64[$vararg_buffer31>>3] = $72; + _TraceLog(0,9245,$vararg_buffer31); + } + $73 = HEAP32[83897]|0; + $74 = ($73|0)==(0); + if (!($74)) { + _TraceLog(0,9311,$vararg_buffer34); + } + HEAP32[$vararg_buffer10>>2] = -1; + $75 = (_rlglLoadTexture($vararg_buffer10,1,1,7,1)|0); + HEAP32[83898] = $75; + $76 = ($75|0)==(0); + if ($76) { + _TraceLog(1,9415,$vararg_buffer39); + } else { + HEAP32[$vararg_buffer36>>2] = $75; + _TraceLog(0,9364,$vararg_buffer36); + } + _LoadDefaultShader($2); + dest=335596; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=335652; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _LoadDefaultBuffers(); + $77 = (_malloc(49152)|0); + HEAP32[83927] = $77; + $$06066 = 0; + while(1) { + $79 = HEAP32[83927]|0; + $80 = (($79) + (($$06066*12)|0)|0); + _VectorZero($3); + ;HEAP32[$80>>2]=HEAP32[$3>>2]|0;HEAP32[$80+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$80+8>>2]=HEAP32[$3+8>>2]|0; + $81 = (($$06066) + 1)|0; + $exitcond69 = ($81|0)==(4096); + if ($exitcond69) { + break; + } else { + $$06066 = $81; + } + } + $78 = (_malloc(36864)|0); + HEAP32[83928] = $78; + $$05965 = 0; + while(1) { + $82 = (((($78) + (($$05965*144)|0)|0)) + 8|0); + HEAP32[$82>>2] = 0; + $83 = (($78) + (($$05965*144)|0)|0); + HEAP32[$83>>2] = 0; + $84 = (($$05965) + 1)|0; + $exitcond = ($84|0)==(256); + if ($exitcond) { + break; + } else { + $$05965 = $84; + } + } + HEAP32[83929] = 1; + $85 = HEAP32[83898]|0; + $86 = ((($78)) + 8|0); + HEAP32[$86>>2] = $85; + HEAP32[83930] = 4; + _MatrixIdentity($4); + dest=335724; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(335788); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(335852); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(335916); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(335980); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(336044); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(336108); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(336172); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(336236); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(336300); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(336364); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(336428); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(336492); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(336556); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(336620); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(336684); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($5); + dest=335432; src=$5; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($6); + dest=335496; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + HEAP32[83857] = 335496; + _glDepthFunc(515); + _glDisable(2929); + _glBlendFunc(770,771); + _glEnable(3042); + _glCullFace(1029); + _glFrontFace(2305); + _glEnable(2884); + _glClearColor(0.0,0.0,0.0,1.0); + _glClearDepthf(1.0); + _glClear(16640); + HEAP32[84187] = $0; + HEAP32[84188] = $1; + _TraceLog(0,9454,$vararg_buffer41); + STACKTOP = sp;return; +} +function _SetupViewport() { + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[83855]|0; + $1 = (($0|0) / 2)&-1; + $2 = HEAP32[83856]|0; + $3 = (($2|0) / 2)&-1; + $4 = HEAP32[83853]|0; + $5 = (($4) - ($0))|0; + $6 = HEAP32[83854]|0; + $7 = (($6) - ($2))|0; + _rlViewport($1,$3,$5,$7); + return; +} +function _rlMatrixMode($0) { + $0 = $0|0; + var $modelview$sink = 0, label = 0, sp = 0; + sp = STACKTOP; + switch ($0|0) { + case 5889: { + $modelview$sink = 335432; + label = 3; + break; + } + case 5888: { + $modelview$sink = 335496; + label = 3; + break; + } + default: { + } + } + if ((label|0) == 3) { + HEAP32[83857] = $modelview$sink; + } + HEAP32[83890] = $0; + return; +} +function _rlLoadIdentity() { + var $0 = 0, $1 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $0 = sp; + $1 = HEAP32[83857]|0; + _MatrixIdentity($0); + dest=$1; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + STACKTOP = sp;return; +} +function _rlOrtho($0,$1,$2,$3,$4,$5) { + $0 = +$0; + $1 = +$1; + $2 = +$2; + $3 = +$3; + $4 = +$4; + $5 = +$5; + var $$byval_copy = 0, $$byval_copy1 = 0, $6 = 0, $7 = 0, $8 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0); + $$byval_copy1 = sp + 192|0; + $$byval_copy = sp + 128|0; + $6 = sp + 64|0; + $7 = sp; + _MatrixOrtho($6,$0,$1,$2,$3,$4,$5); + _MatrixTranspose($6); + $8 = HEAP32[83857]|0; + dest=$$byval_copy; src=$8; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$$byval_copy1; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixMultiply($7,$$byval_copy,$$byval_copy1); + dest=$8; src=$7; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + STACKTOP = sp;return; +} +function _ClearBackground($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP8[$0>>0]|0; + $2 = ((($0)) + 1|0); + $3 = HEAP8[$2>>0]|0; + $4 = ((($0)) + 2|0); + $5 = HEAP8[$4>>0]|0; + $6 = ((($0)) + 3|0); + $7 = HEAP8[$6>>0]|0; + _rlClearColor($1,$3,$5,$7); + return; +} +function _rlClearColor($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $10 = 0.0, $11 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $4 = (+($0&255)); + $5 = $4 / 255.0; + $6 = (+($1&255)); + $7 = $6 / 255.0; + $8 = (+($2&255)); + $9 = $8 / 255.0; + $10 = (+($3&255)); + $11 = $10 / 255.0; + _glClearColor((+$5),(+$7),(+$9),(+$11)); + return; +} +function _rlViewport($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var label = 0, sp = 0; + sp = STACKTOP; + _glViewport(($0|0),($1|0),($2|0),($3|0)); + return; +} +function _LoadDefaultShader($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 1008|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1008|0); + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $1 = sp + 16|0; + $2 = sp + 513|0; + $3 = sp + 72|0; + _memcpy(($2|0),(10030|0),489)|0; + _memcpy(($3|0),(10519|0),441)|0; + $4 = (_LoadShaderProgram($2,$3)|0); + HEAP32[$1>>2] = $4; + $5 = ($4|0)==(0); + if ($5) { + HEAP32[$vararg_buffer1>>2] = $4; + _TraceLog(1,11008,$vararg_buffer1); + } else { + HEAP32[$vararg_buffer>>2] = $4; + _TraceLog(0,10960,$vararg_buffer); + } + $6 = HEAP32[$1>>2]|0; + $7 = ($6|0)==(0); + if (!($7)) { + _LoadDefaultShaderLocations($1); + } + dest=$0; src=$1; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + STACKTOP = sp;return; +} +function _LoadDefaultBuffers() { + var $$05365 = 0, $$05467 = 0, $$05770 = 0, $$05972 = 0, $$066 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0; + var $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0; + var $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0; + var $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0; + var $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0; + var $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond = 0, $exitcond75 = 0, $exitcond78 = 0, $exitcond80 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer14 = 0, $vararg_buffer17 = 0; + var $vararg_buffer3 = 0, $vararg_buffer7 = 0, $vararg_ptr13 = 0, $vararg_ptr20 = 0, $vararg_ptr21 = 0, $vararg_ptr22 = 0, $vararg_ptr6 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $vararg_buffer17 = sp + 48|0; + $vararg_buffer14 = sp + 40|0; + $vararg_buffer10 = sp + 32|0; + $vararg_buffer7 = sp + 24|0; + $vararg_buffer3 = sp + 16|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $0 = (_malloc(24576)|0); + HEAP32[(336768)>>2] = $0; + $1 = (_malloc(8192)|0); + HEAP32[(336776)>>2] = $1; + HEAP32[(336772)>>2] = 0; + HEAP32[(336780)>>2] = 0; + _memset(($0|0),0,24576)|0; + $$05972 = 0; + while(1) { + $2 = HEAP32[(336776)>>2]|0; + $3 = (($2) + ($$05972)|0); + HEAP8[$3>>0] = 0; + $4 = (($$05972) + 1)|0; + $exitcond80 = ($4|0)==(8192); + if ($exitcond80) { + break; + } else { + $$05972 = $4; + } + } + HEAP32[84189] = 0; + HEAP32[(336764)>>2] = 0; + HEAP32[(336760)>>2] = 0; + $5 = (_malloc(73728)|0); + HEAP32[(336816)>>2] = $5; + $6 = (_malloc(24576)|0); + HEAP32[(336824)>>2] = $6; + HEAP32[(336820)>>2] = 0; + HEAP32[(336828)>>2] = 0; + _memset(($5|0),0,73728)|0; + $$05770 = 0; + while(1) { + $7 = HEAP32[(336824)>>2]|0; + $8 = (($7) + ($$05770)|0); + HEAP8[$8>>0] = 0; + $9 = (($$05770) + 1)|0; + $exitcond78 = ($9|0)==(24576); + if ($exitcond78) { + break; + } else { + $$05770 = $9; + } + } + HEAP32[84201] = 0; + HEAP32[(336812)>>2] = 0; + HEAP32[(336808)>>2] = 0; + $10 = (_malloc(49152)|0); + HEAP32[(336864)>>2] = $10; + $11 = (_malloc(32768)|0); + HEAP32[(336868)>>2] = $11; + $12 = (_malloc(16384)|0); + HEAP32[(336872)>>2] = $12; + $13 = (_malloc(12288)|0); + HEAP32[(336876)>>2] = $13; + $14 = HEAP32[(336864)>>2]|0; + _memset(($14|0),0,49152)|0; + $15 = HEAP32[(336868)>>2]|0; + _memset(($15|0),0,32768)|0; + $$05467 = 0; + while(1) { + $17 = HEAP32[(336872)>>2]|0; + $18 = (($17) + ($$05467)|0); + HEAP8[$18>>0] = 0; + $19 = (($$05467) + 1)|0; + $exitcond75 = ($19|0)==(16384); + if ($exitcond75) { + break; + } else { + $$05467 = $19; + } + } + $16 = HEAP32[(336876)>>2]|0; + $$05365 = 0;$$066 = 0; + while(1) { + $22 = $$05365 << 2; + $23 = $22&65535; + $24 = (($16) + ($$066<<1)|0); + HEAP16[$24>>1] = $23; + $25 = $22 | 1; + $26 = $25&65535; + $27 = $$066 | 1; + $28 = (($16) + ($27<<1)|0); + HEAP16[$28>>1] = $26; + $29 = $22 | 2; + $30 = $29&65535; + $31 = (($$066) + 2)|0; + $32 = (($16) + ($31<<1)|0); + HEAP16[$32>>1] = $30; + $33 = (($$066) + 3)|0; + $34 = (($16) + ($33<<1)|0); + HEAP16[$34>>1] = $23; + $35 = (($$066) + 4)|0; + $36 = (($16) + ($35<<1)|0); + HEAP16[$36>>1] = $30; + $37 = $22 | 3; + $38 = $37&65535; + $39 = (($$066) + 5)|0; + $40 = (($16) + ($39<<1)|0); + HEAP16[$40>>1] = $38; + $41 = (($$05365) + 1)|0; + $42 = (($$066) + 6)|0; + $exitcond = ($41|0)==(1024); + if ($exitcond) { + break; + } else { + $$05365 = $41;$$066 = $42; + } + } + HEAP32[84213] = 0; + HEAP32[(336856)>>2] = 0; + HEAP32[(336860)>>2] = 0; + _TraceLog(0,9501,$vararg_buffer); + $20 = HEAP32[83891]|0; + $21 = ($20|0)==(0); + if (!($21)) { + $43 = HEAP32[83892]|0; + FUNCTION_TABLE_vii[$43 & 63](1,(336784)); + $44 = HEAP32[83893]|0; + $45 = HEAP32[(336784)>>2]|0; + FUNCTION_TABLE_vi[$44 & 31]($45); + } + _glGenBuffers(2,((336788)|0)); + $46 = HEAP32[(336788)>>2]|0; + _glBindBuffer(34962,($46|0)); + $47 = HEAP32[(336768)>>2]|0; + _glBufferData(34962,24576,($47|0),35048); + $48 = HEAP32[(335656)>>2]|0; + _glEnableVertexAttribArray(($48|0)); + $49 = HEAP32[(335656)>>2]|0; + _glVertexAttribPointer(($49|0),3,5126,0,0,(0|0)); + _glGenBuffers(2,((336792)|0)); + $50 = HEAP32[(336792)>>2]|0; + _glBindBuffer(34962,($50|0)); + $51 = HEAP32[(336776)>>2]|0; + _glBufferData(34962,8192,($51|0),35048); + $52 = HEAP32[(335676)>>2]|0; + _glEnableVertexAttribArray(($52|0)); + $53 = HEAP32[(335676)>>2]|0; + _glVertexAttribPointer(($53|0),4,5121,1,0,(0|0)); + $54 = HEAP32[83891]|0; + $55 = ($54|0)==(0); + if ($55) { + $57 = HEAP32[(336788)>>2]|0; + $58 = HEAP32[(336792)>>2]|0; + HEAP32[$vararg_buffer3>>2] = $57; + $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); + HEAP32[$vararg_ptr6>>2] = $58; + _TraceLog(0,9639,$vararg_buffer3); + } else { + $56 = HEAP32[(336784)>>2]|0; + HEAP32[$vararg_buffer1>>2] = $56; + _TraceLog(0,9574,$vararg_buffer1); + } + $59 = HEAP32[83891]|0; + $60 = ($59|0)==(0); + if (!($60)) { + $61 = HEAP32[83892]|0; + FUNCTION_TABLE_vii[$61 & 63](1,(336832)); + $62 = HEAP32[83893]|0; + $63 = HEAP32[(336832)>>2]|0; + FUNCTION_TABLE_vi[$62 & 31]($63); + } + _glGenBuffers(1,((336836)|0)); + $64 = HEAP32[(336836)>>2]|0; + _glBindBuffer(34962,($64|0)); + $65 = HEAP32[(336816)>>2]|0; + _glBufferData(34962,73728,($65|0),35048); + $66 = HEAP32[(335656)>>2]|0; + _glEnableVertexAttribArray(($66|0)); + $67 = HEAP32[(335656)>>2]|0; + _glVertexAttribPointer(($67|0),3,5126,0,0,(0|0)); + _glGenBuffers(1,((336840)|0)); + $68 = HEAP32[(336840)>>2]|0; + _glBindBuffer(34962,($68|0)); + $69 = HEAP32[(336824)>>2]|0; + _glBufferData(34962,24576,($69|0),35048); + $70 = HEAP32[(335676)>>2]|0; + _glEnableVertexAttribArray(($70|0)); + $71 = HEAP32[(335676)>>2]|0; + _glVertexAttribPointer(($71|0),4,5121,1,0,(0|0)); + $72 = HEAP32[83891]|0; + $73 = ($72|0)==(0); + if ($73) { + $75 = HEAP32[(336836)>>2]|0; + $76 = HEAP32[(336840)>>2]|0; + HEAP32[$vararg_buffer10>>2] = $75; + $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); + HEAP32[$vararg_ptr13>>2] = $76; + _TraceLog(0,9785,$vararg_buffer10); + } else { + $74 = HEAP32[(336832)>>2]|0; + HEAP32[$vararg_buffer7>>2] = $74; + _TraceLog(0,9716,$vararg_buffer7); + } + $77 = HEAP32[83891]|0; + $78 = ($77|0)==(0); + if (!($78)) { + $79 = HEAP32[83892]|0; + FUNCTION_TABLE_vii[$79 & 63](1,(336880)); + $80 = HEAP32[83893]|0; + $81 = HEAP32[(336880)>>2]|0; + FUNCTION_TABLE_vi[$80 & 31]($81); + } + _glGenBuffers(1,((336884)|0)); + $82 = HEAP32[(336884)>>2]|0; + _glBindBuffer(34962,($82|0)); + $83 = HEAP32[(336864)>>2]|0; + _glBufferData(34962,49152,($83|0),35048); + $84 = HEAP32[(335656)>>2]|0; + _glEnableVertexAttribArray(($84|0)); + $85 = HEAP32[(335656)>>2]|0; + _glVertexAttribPointer(($85|0),3,5126,0,0,(0|0)); + _glGenBuffers(1,((336888)|0)); + $86 = HEAP32[(336888)>>2]|0; + _glBindBuffer(34962,($86|0)); + $87 = HEAP32[(336868)>>2]|0; + _glBufferData(34962,32768,($87|0),35048); + $88 = HEAP32[(335660)>>2]|0; + _glEnableVertexAttribArray(($88|0)); + $89 = HEAP32[(335660)>>2]|0; + _glVertexAttribPointer(($89|0),2,5126,0,0,(0|0)); + _glGenBuffers(1,((336892)|0)); + $90 = HEAP32[(336892)>>2]|0; + _glBindBuffer(34962,($90|0)); + $91 = HEAP32[(336872)>>2]|0; + _glBufferData(34962,16384,($91|0),35048); + $92 = HEAP32[(335676)>>2]|0; + _glEnableVertexAttribArray(($92|0)); + $93 = HEAP32[(335676)>>2]|0; + _glVertexAttribPointer(($93|0),4,5121,1,0,(0|0)); + _glGenBuffers(1,((336896)|0)); + $94 = HEAP32[(336896)>>2]|0; + _glBindBuffer(34963,($94|0)); + $95 = HEAP32[(336876)>>2]|0; + _glBufferData(34963,12288,($95|0),35044); + $96 = HEAP32[83891]|0; + $97 = ($96|0)==(0); + if ($97) { + $99 = HEAP32[(336884)>>2]|0; + $100 = HEAP32[(336888)>>2]|0; + $101 = HEAP32[(336892)>>2]|0; + $102 = HEAP32[(336896)>>2]|0; + HEAP32[$vararg_buffer17>>2] = $99; + $vararg_ptr20 = ((($vararg_buffer17)) + 4|0); + HEAP32[$vararg_ptr20>>2] = $100; + $vararg_ptr21 = ((($vararg_buffer17)) + 8|0); + HEAP32[$vararg_ptr21>>2] = $101; + $vararg_ptr22 = ((($vararg_buffer17)) + 12|0); + HEAP32[$vararg_ptr22>>2] = $102; + _TraceLog(0,9931,$vararg_buffer17); + } else { + $98 = HEAP32[(336880)>>2]|0; + HEAP32[$vararg_buffer14>>2] = $98; + _TraceLog(0,9866,$vararg_buffer14); + } + $103 = HEAP32[83891]|0; + $104 = ($103|0)==(0); + if ($104) { + STACKTOP = sp;return; + } + $105 = HEAP32[83893]|0; + FUNCTION_TABLE_vi[$105 & 31](0); + STACKTOP = sp;return; +} +function _LoadShaderProgram($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $$alloca_mul = 0, $$alloca_mul34 = 0, $$alloca_mul36 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; + var $25 = 0, $26 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer13 = 0, $vararg_buffer16 = 0, $vararg_buffer19 = 0, $vararg_buffer22 = 0, $vararg_buffer4 = 0, $vararg_buffer7 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0); + $vararg_buffer22 = sp + 64|0; + $vararg_buffer19 = sp + 56|0; + $vararg_buffer16 = sp + 48|0; + $vararg_buffer13 = sp + 40|0; + $vararg_buffer10 = sp + 32|0; + $vararg_buffer7 = sp + 24|0; + $vararg_buffer4 = sp + 16|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $2 = sp + 80|0; + $3 = sp + 76|0; + $4 = sp + 72|0; + $5 = sp + 68|0; + $6 = (_glCreateShader(35633)|0); + $7 = (_glCreateShader(35632)|0); + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + _glShaderSource(($6|0),1,($2|0),(0|0)); + _glShaderSource(($7|0),1,($3|0),(0|0)); + HEAP32[$4>>2] = 0; + _glCompileShader(($6|0)); + _glGetShaderiv(($6|0),35713,($4|0)); + $8 = HEAP32[$4>>2]|0; + $9 = ($8|0)==(1); + if ($9) { + HEAP32[$vararg_buffer4>>2] = $6; + _TraceLog(0,11264,$vararg_buffer4); + } else { + HEAP32[$vararg_buffer>>2] = $6; + _TraceLog(1,11212,$vararg_buffer); + HEAP32[$vararg_buffer>>2] = 0; + _glGetShaderiv(($6|0),35716,($vararg_buffer|0)); + $10 = HEAP32[$vararg_buffer>>2]|0; + $11 = (_llvm_stacksave()|0); + $$alloca_mul = $10; + $12 = STACKTOP; STACKTOP = STACKTOP + ((((1*$$alloca_mul)|0)+15)&-16)|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(((((1*$$alloca_mul)|0)+15)&-16)|0);; + $13 = HEAP32[$vararg_buffer>>2]|0; + _glGetShaderInfoLog(($6|0),($13|0),($5|0),($12|0)); + HEAP32[$vararg_buffer1>>2] = $12; + _TraceLog(0,11261,$vararg_buffer1); + _llvm_stackrestore(($11|0)); + } + _glCompileShader(($7|0)); + _glGetShaderiv(($7|0),35713,($4|0)); + $14 = HEAP32[$4>>2]|0; + $15 = ($14|0)==(1); + if ($15) { + HEAP32[$vararg_buffer13>>2] = $7; + _TraceLog(0,11365,$vararg_buffer13); + } else { + HEAP32[$vararg_buffer7>>2] = $7; + _TraceLog(1,11314,$vararg_buffer7); + HEAP32[$vararg_buffer7>>2] = 0; + _glGetShaderiv(($7|0),35716,($vararg_buffer7|0)); + $16 = HEAP32[$vararg_buffer7>>2]|0; + $17 = (_llvm_stacksave()|0); + $$alloca_mul34 = $16; + $18 = STACKTOP; STACKTOP = STACKTOP + ((((1*$$alloca_mul34)|0)+15)&-16)|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(((((1*$$alloca_mul34)|0)+15)&-16)|0);; + $19 = HEAP32[$vararg_buffer7>>2]|0; + _glGetShaderInfoLog(($7|0),($19|0),($5|0),($18|0)); + HEAP32[$vararg_buffer10>>2] = $18; + _TraceLog(0,11261,$vararg_buffer10); + _llvm_stackrestore(($17|0)); + } + $20 = (_glCreateProgram()|0); + _glAttachShader(($20|0),($6|0)); + _glAttachShader(($20|0),($7|0)); + _glBindAttribLocation(($20|0),0,(11056|0)); + _glBindAttribLocation(($20|0),1,(11071|0)); + _glBindAttribLocation(($20|0),2,(11102|0)); + _glBindAttribLocation(($20|0),3,(11129|0)); + _glBindAttribLocation(($20|0),4,(11115|0)); + _glBindAttribLocation(($20|0),5,(11086|0)); + _glLinkProgram(($20|0)); + _glGetProgramiv(($20|0),35714,($4|0)); + $21 = HEAP32[$4>>2]|0; + $22 = ($21|0)==(0); + if ($22) { + HEAP32[$vararg_buffer16>>2] = $20; + _TraceLog(1,11417,$vararg_buffer16); + HEAP32[$vararg_buffer16>>2] = 0; + _glGetProgramiv(($20|0),35716,($vararg_buffer16|0)); + $23 = HEAP32[$vararg_buffer16>>2]|0; + $24 = (_llvm_stacksave()|0); + $$alloca_mul36 = $23; + $25 = STACKTOP; STACKTOP = STACKTOP + ((((1*$$alloca_mul36)|0)+15)&-16)|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(((((1*$$alloca_mul36)|0)+15)&-16)|0);; + $26 = HEAP32[$vararg_buffer16>>2]|0; + _glGetProgramInfoLog(($20|0),($26|0),($5|0),($25|0)); + HEAP32[$vararg_buffer19>>2] = $25; + _TraceLog(0,11261,$vararg_buffer19); + _glDeleteProgram(($20|0)); + _llvm_stackrestore(($24|0)); + $$0 = 0; + _glDeleteShader(($6|0)); + _glDeleteShader(($7|0)); + STACKTOP = sp;return ($$0|0); + } else { + HEAP32[$vararg_buffer22>>2] = $20; + _TraceLog(0,11463,$vararg_buffer22); + $$0 = $20; + _glDeleteShader(($6|0)); + _glDeleteShader(($7|0)); + STACKTOP = sp;return ($$0|0); + } + return (0)|0; +} +function _LoadDefaultShaderLocations($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; + var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; + var sp = 0; + sp = STACKTOP; + $1 = HEAP32[$0>>2]|0; + $2 = (_glGetAttribLocation(($1|0),(11056|0))|0); + $3 = ((($0)) + 4|0); + HEAP32[$3>>2] = $2; + $4 = HEAP32[$0>>2]|0; + $5 = (_glGetAttribLocation(($4|0),(11071|0))|0); + $6 = ((($0)) + 8|0); + HEAP32[$6>>2] = $5; + $7 = HEAP32[$0>>2]|0; + $8 = (_glGetAttribLocation(($7|0),(11086|0))|0); + $9 = ((($0)) + 12|0); + HEAP32[$9>>2] = $8; + $10 = HEAP32[$0>>2]|0; + $11 = (_glGetAttribLocation(($10|0),(11102|0))|0); + $12 = ((($0)) + 16|0); + HEAP32[$12>>2] = $11; + $13 = HEAP32[$0>>2]|0; + $14 = (_glGetAttribLocation(($13|0),(11115|0))|0); + $15 = ((($0)) + 20|0); + HEAP32[$15>>2] = $14; + $16 = HEAP32[$0>>2]|0; + $17 = (_glGetAttribLocation(($16|0),(11129|0))|0); + $18 = ((($0)) + 24|0); + HEAP32[$18>>2] = $17; + $19 = HEAP32[$0>>2]|0; + $20 = (_glGetUniformLocation(($19|0),(11141|0))|0); + $21 = ((($0)) + 28|0); + HEAP32[$21>>2] = $20; + $22 = HEAP32[$0>>2]|0; + $23 = (_glGetUniformLocation(($22|0),(11151|0))|0); + $24 = ((($0)) + 32|0); + HEAP32[$24>>2] = $23; + $25 = HEAP32[$0>>2]|0; + $26 = (_glGetUniformLocation(($25|0),(11162|0))|0); + $27 = ((($0)) + 36|0); + HEAP32[$27>>2] = $26; + $28 = HEAP32[$0>>2]|0; + $29 = (_glGetUniformLocation(($28|0),(11173|0))|0); + $30 = ((($0)) + 40|0); + HEAP32[$30>>2] = $29; + $31 = HEAP32[$0>>2]|0; + $32 = (_glGetUniformLocation(($31|0),(11185|0))|0); + $33 = ((($0)) + 44|0); + HEAP32[$33>>2] = $32; + $34 = HEAP32[$0>>2]|0; + $35 = (_glGetUniformLocation(($34|0),(11194|0))|0); + $36 = ((($0)) + 48|0); + HEAP32[$36>>2] = $35; + $37 = HEAP32[$0>>2]|0; + $38 = (_glGetUniformLocation(($37|0),(11203|0))|0); + $39 = ((($0)) + 52|0); + HEAP32[$39>>2] = $38; + return; +} +function _IsMouseButtonPressed($0) { + $0 = $0|0; + var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (339217 + ($0)|0); + $2 = HEAP8[$1>>0]|0; + $3 = (339220 + ($0)|0); + $4 = HEAP8[$3>>0]|0; + $5 = ($2<<24>>24)!=($4<<24>>24); + $6 = ($2<<24>>24)==(1); + $or$cond = $6 & $5; + $$0 = $or$cond&1; + return ($$0|0); +} +function _IsMouseButtonReleased($0) { + $0 = $0|0; + var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (339217 + ($0)|0); + $2 = HEAP8[$1>>0]|0; + $3 = (339220 + ($0)|0); + $4 = HEAP8[$3>>0]|0; + $5 = ($2<<24>>24)!=($4<<24>>24); + $6 = ($2<<24>>24)==(0); + $or$cond = $6 & $5; + $$0 = $or$cond&1; + return ($$0|0); +} +function _rlClearScreenBuffers() { + var label = 0, sp = 0; + sp = STACKTOP; + _glClear(16640); + return; +} +function _CloseWindow() { + var $0 = 0, $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $vararg_buffer = sp; + _UnloadDefaultFont(); + _rlglClose(); + $0 = HEAP32[83810]|0; + _glfwDestroyWindow(($0|0)); + _glfwTerminate(); + _TraceLog(0,11775,$vararg_buffer); + STACKTOP = sp;return; +} +function _UnloadDefaultFont() { + var $$byval_copy = 0, $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $$byval_copy = sp; + ;HEAP32[$$byval_copy>>2]=HEAP32[335280>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[335280+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[335280+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[335280+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[335280+16>>2]|0; + _UnloadTexture($$byval_copy); + $0 = HEAP32[(335308)>>2]|0; + _free($0); + STACKTOP = sp;return; +} +function _rlglClose() { + var $0 = 0, $1 = 0, $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $vararg_buffer = sp; + _UnloadDefaultShader(); + _UnloadDefaultBuffers(); + _glDeleteTextures(1,(335592|0)); + $0 = HEAP32[83898]|0; + HEAP32[$vararg_buffer>>2] = $0; + _TraceLog(0,11802,$vararg_buffer); + $1 = HEAP32[83928]|0; + _free($1); + STACKTOP = sp;return; +} +function _UnloadDefaultShader() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + _glUseProgram(0); + $0 = HEAP32[83899]|0; + _glDeleteProgram(($0|0)); + return; +} +function _UnloadDefaultBuffers() { + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[83891]|0; + $1 = ($0|0)==(0); + if (!($1)) { + $2 = HEAP32[83893]|0; + FUNCTION_TABLE_vi[$2 & 31](0); + } + _glDisableVertexAttribArray(0); + _glDisableVertexAttribArray(1); + _glDisableVertexAttribArray(2); + _glDisableVertexAttribArray(3); + _glBindBuffer(34962,0); + _glBindBuffer(34963,0); + _glDeleteBuffers(1,((336788)|0)); + _glDeleteBuffers(1,((336792)|0)); + _glDeleteBuffers(1,((336836)|0)); + _glDeleteBuffers(1,((336840)|0)); + _glDeleteBuffers(1,((336884)|0)); + _glDeleteBuffers(1,((336888)|0)); + _glDeleteBuffers(1,((336892)|0)); + _glDeleteBuffers(1,((336896)|0)); + $3 = HEAP32[83891]|0; + $4 = ($3|0)==(0); + if (!($4)) { + $5 = HEAP32[83894]|0; + FUNCTION_TABLE_vii[$5 & 63](1,(336784)); + $6 = HEAP32[83894]|0; + FUNCTION_TABLE_vii[$6 & 63](1,(336832)); + $7 = HEAP32[83894]|0; + FUNCTION_TABLE_vii[$7 & 63](1,(336880)); + } + $8 = HEAP32[(336768)>>2]|0; + _free($8); + $9 = HEAP32[(336776)>>2]|0; + _free($9); + $10 = HEAP32[(336816)>>2]|0; + _free($10); + $11 = HEAP32[(336824)>>2]|0; + _free($11); + $12 = HEAP32[(336864)>>2]|0; + _free($12); + $13 = HEAP32[(336868)>>2]|0; + _free($13); + $14 = HEAP32[(336872)>>2]|0; + _free($14); + $15 = HEAP32[(336876)>>2]|0; + _free($15); + return; +} +function _UnloadTexture($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $vararg_buffer = sp; + $1 = HEAP32[$0>>2]|0; + $2 = ($1|0)==(0); + if ($2) { + STACKTOP = sp;return; + } + _rlDeleteTextures($1); + $3 = HEAP32[$0>>2]|0; + HEAP32[$vararg_buffer>>2] = $3; + _TraceLog(0,11867,$vararg_buffer); + STACKTOP = sp;return; +} +function _rlDeleteTextures($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = ($0|0)==(0); + if (!($2)) { + _glDeleteTextures(1,($1|0)); + } + STACKTOP = sp;return; +} +function _BeginDrawing() { + var $0 = 0.0, $1 = 0.0, $2 = 0.0, $downscaleView$byval_copy = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $downscaleView$byval_copy = sp; + $0 = (+_GetTime()); + HEAPF64[3180] = $0; + $1 = +HEAPF64[3163]; + $2 = $0 - $1; + HEAPF64[3181] = $2; + HEAPF64[3163] = $0; + _rlClearScreenBuffers(); + _rlLoadIdentity(); + dest=$downscaleView$byval_copy; src=335336; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + (_MatrixToFloat($downscaleView$byval_copy)|0); + _rlMultMatrixf(336908); + STACKTOP = sp;return; +} +function _MatrixToFloat($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; + var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP32[$0>>2]|0; + HEAP32[84227] = $1; + $2 = ((($0)) + 4|0); + $3 = HEAP32[$2>>2]|0; + HEAP32[(336912)>>2] = $3; + $4 = ((($0)) + 8|0); + $5 = HEAP32[$4>>2]|0; + HEAP32[(336916)>>2] = $5; + $6 = ((($0)) + 12|0); + $7 = HEAP32[$6>>2]|0; + HEAP32[(336920)>>2] = $7; + $8 = ((($0)) + 16|0); + $9 = HEAP32[$8>>2]|0; + HEAP32[(336924)>>2] = $9; + $10 = ((($0)) + 20|0); + $11 = HEAP32[$10>>2]|0; + HEAP32[(336928)>>2] = $11; + $12 = ((($0)) + 24|0); + $13 = HEAP32[$12>>2]|0; + HEAP32[(336932)>>2] = $13; + $14 = ((($0)) + 28|0); + $15 = HEAP32[$14>>2]|0; + HEAP32[(336936)>>2] = $15; + $16 = ((($0)) + 32|0); + $17 = HEAP32[$16>>2]|0; + HEAP32[(336940)>>2] = $17; + $18 = ((($0)) + 36|0); + $19 = HEAP32[$18>>2]|0; + HEAP32[(336944)>>2] = $19; + $20 = ((($0)) + 40|0); + $21 = HEAP32[$20>>2]|0; + HEAP32[(336948)>>2] = $21; + $22 = ((($0)) + 44|0); + $23 = HEAP32[$22>>2]|0; + HEAP32[(336952)>>2] = $23; + $24 = ((($0)) + 48|0); + $25 = HEAP32[$24>>2]|0; + HEAP32[(336956)>>2] = $25; + $26 = ((($0)) + 52|0); + $27 = HEAP32[$26>>2]|0; + HEAP32[(336960)>>2] = $27; + $28 = ((($0)) + 56|0); + $29 = HEAP32[$28>>2]|0; + HEAP32[(336964)>>2] = $29; + $30 = ((($0)) + 60|0); + $31 = HEAP32[$30>>2]|0; + HEAP32[(336968)>>2] = $31; + return (336908|0); +} +function _rlMultMatrixf($0) { + $0 = $0|0; + var $$byval_copy = 0, $$byval_copy1 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; + var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; + var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0); + $$byval_copy1 = sp + 192|0; + $$byval_copy = sp + 128|0; + $1 = sp + 64|0; + $2 = sp; + $3 = HEAP32[$0>>2]|0; + HEAP32[$1>>2] = $3; + $4 = ((($1)) + 4|0); + $5 = ((($0)) + 4|0); + $6 = HEAP32[$5>>2]|0; + HEAP32[$4>>2] = $6; + $7 = ((($1)) + 8|0); + $8 = ((($0)) + 8|0); + $9 = HEAP32[$8>>2]|0; + HEAP32[$7>>2] = $9; + $10 = ((($1)) + 12|0); + $11 = ((($0)) + 12|0); + $12 = HEAP32[$11>>2]|0; + HEAP32[$10>>2] = $12; + $13 = ((($1)) + 16|0); + $14 = ((($0)) + 16|0); + $15 = HEAP32[$14>>2]|0; + HEAP32[$13>>2] = $15; + $16 = ((($1)) + 20|0); + $17 = ((($0)) + 20|0); + $18 = HEAP32[$17>>2]|0; + HEAP32[$16>>2] = $18; + $19 = ((($1)) + 24|0); + $20 = ((($0)) + 24|0); + $21 = HEAP32[$20>>2]|0; + HEAP32[$19>>2] = $21; + $22 = ((($1)) + 28|0); + $23 = ((($0)) + 28|0); + $24 = HEAP32[$23>>2]|0; + HEAP32[$22>>2] = $24; + $25 = ((($1)) + 32|0); + $26 = ((($0)) + 32|0); + $27 = HEAP32[$26>>2]|0; + HEAP32[$25>>2] = $27; + $28 = ((($1)) + 36|0); + $29 = ((($0)) + 36|0); + $30 = HEAP32[$29>>2]|0; + HEAP32[$28>>2] = $30; + $31 = ((($1)) + 40|0); + $32 = ((($0)) + 40|0); + $33 = HEAP32[$32>>2]|0; + HEAP32[$31>>2] = $33; + $34 = ((($1)) + 44|0); + $35 = ((($0)) + 44|0); + $36 = HEAP32[$35>>2]|0; + HEAP32[$34>>2] = $36; + $37 = ((($1)) + 48|0); + $38 = ((($0)) + 48|0); + $39 = HEAP32[$38>>2]|0; + HEAP32[$37>>2] = $39; + $40 = ((($1)) + 52|0); + $41 = ((($0)) + 52|0); + $42 = HEAP32[$41>>2]|0; + HEAP32[$40>>2] = $42; + $43 = ((($1)) + 56|0); + $44 = ((($0)) + 56|0); + $45 = HEAP32[$44>>2]|0; + HEAP32[$43>>2] = $45; + $46 = ((($1)) + 60|0); + $47 = ((($0)) + 60|0); + $48 = HEAP32[$47>>2]|0; + HEAP32[$46>>2] = $48; + $49 = HEAP32[83857]|0; + dest=$$byval_copy; src=$49; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$$byval_copy1; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixMultiply($2,$$byval_copy,$$byval_copy1); + dest=$49; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + STACKTOP = sp;return; +} +function _EndDrawing() { + var $0 = 0.0, $1 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + _rlglDraw(); + _SwapBuffers(); + _PollInputEvents(); + $0 = (+_GetTime()); + HEAPF64[3180] = $0; + $1 = +HEAPF64[3163]; + $2 = $0 - $1; + HEAPF64[3182] = $2; + HEAPF64[3163] = $0; + $3 = +HEAPF64[3181]; + $4 = $2 + $3; + HEAPF64[3183] = $4; + $5 = +HEAPF64[3160]; + $6 = $4 < $5; + if (!($6)) { + return; + } + $7 = $5 - $4; + $8 = $7 * 1000.0; + $9 = $8; + _Wait($9); + $10 = (+_GetTime()); + HEAPF64[3180] = $10; + $11 = +HEAPF64[3163]; + $12 = $10 - $11; + HEAPF64[3163] = $10; + $13 = +HEAPF64[3183]; + $14 = $12 + $13; + HEAPF64[3183] = $14; + return; +} +function _rlglDraw() { + var label = 0, sp = 0; + sp = STACKTOP; + _UpdateDefaultBuffers(); + _DrawDefaultBuffers(); + return; +} +function _SwapBuffers() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[83810]|0; + _glfwSwapBuffers(($0|0)); + return; +} +function _PollInputEvents() { + var $$04857 = 0, $$05160 = 0, $$058 = 0, $$lcssa = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0; + var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0.0, $31 = 0.0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0.0, $40 = 0; + var $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0, $scevgep = 0, $scevgep67 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 1456|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1456|0); + $0 = sp + 1440|0; + $1 = sp + 1432|0; + $2 = sp; + _UpdateGestures(); + HEAP32[753] = -1; + HEAP32[755] = -1; + HEAP32[84243] = 0; + $3 = HEAP32[83810]|0; + _glfwGetCursorPos(($3|0),($0|0),($1|0)); + $4 = +HEAPF64[$0>>3]; + $5 = $4; + HEAPF32[6318] = $5; + $6 = +HEAPF64[$1>>3]; + $7 = $6; + HEAPF32[(25276)>>2] = $7; + _memcpy((339735|0),(339223|0),512)|0; + ;HEAP8[339220>>0]=HEAP8[339217>>0]|0;HEAP8[339220+1>>0]=HEAP8[339217+1>>0]|0;HEAP8[339220+2>>0]=HEAP8[339217+2>>0]|0; + $8 = HEAP32[84226]|0; + HEAP32[83813] = $8; + HEAP32[84226] = 0; + $9 = (_emscripten_get_num_gamepads()|0); + $10 = ($9|0)>(0); + if (!($10)) { + STACKTOP = sp;return; + } + $11 = ((($2)) + 12|0); + $12 = ((($2)) + 8|0); + $$05160 = 0; + while(1) { + $scevgep = (340247 + ($$05160<<5)|0); + $scevgep67 = (340375 + ($$05160<<5)|0); + dest=$scevgep; src=$scevgep67; stop=dest+32|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); + $13 = (_emscripten_get_gamepad_status(($$05160|0),($2|0))|0); + $14 = ($13|0)==(0); + if ($14) { + $15 = HEAP32[$11>>2]|0; + $16 = ($15|0)>(0); + if ($16) { + $17 = HEAP32[$11>>2]|0; + $$04857 = 0; + while(1) { + $21 = (((($2)) + 1040|0) + ($$04857<<2)|0); + $22 = HEAP32[$21>>2]|0; + $23 = ($22|0)==(1); + $24 = ((340375 + ($$05160<<5)|0) + ($$04857)|0); + if ($23) { + HEAP8[$24>>0] = 1; + HEAP32[755] = $$04857; + } else { + HEAP8[$24>>0] = 0; + } + $25 = (($$04857) + 1)|0; + $26 = ($25|0)<($17|0); + $27 = ($25|0)<(32); + $28 = $27 & $26; + if ($28) { + $$04857 = $25; + } else { + break; + } + } + } + $18 = HEAP32[$12>>2]|0; + $19 = ($18|0)>(0); + if ($19) { + $20 = HEAP32[$12>>2]|0; + $$058 = 0; + while(1) { + $29 = (((($2)) + 16|0) + ($$058<<3)|0); + $30 = +HEAPF64[$29>>3]; + $31 = $30; + $32 = ((336976 + ($$05160<<5)|0) + ($$058<<2)|0); + HEAPF32[$32>>2] = $31; + $33 = (($$058) + 1)|0; + $34 = ($33|0)<($20|0); + $35 = ($33|0)<(8); + $36 = $35 & $34; + if ($36) { + $$058 = $33; + } else { + $$lcssa = $20; + break; + } + } + } else { + $$lcssa = $18; + } + HEAP32[84243] = $$lcssa; + } + $37 = (($$05160) + 1)|0; + $38 = ($37|0)<($9|0); + $39 = ($37|0)<(4); + $40 = $38 & $39; + if ($40) { + $$05160 = $37; + } else { + break; + } + } + STACKTOP = sp;return; +} +function _Wait($0) { + $0 = +$0; + var $1 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (+_GetTime()); + $2 = 0.0 - $1; + $3 = $0 / 1000.0; + $4 = $3; + $5 = $2 < $4; + if (!($5)) { + return; + } + while(1) { + $6 = (+_GetTime()); + $7 = $6 - $1; + $8 = $7 < $4; + if (!($8)) { + break; + } + } + return; +} +function _UpdateDefaultBuffers() { + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[84189]|0; + $1 = ($0|0)>(0); + if ($1) { + $2 = HEAP32[83891]|0; + $3 = ($2|0)==(0); + if (!($3)) { + $4 = HEAP32[83893]|0; + $5 = HEAP32[(336784)>>2]|0; + FUNCTION_TABLE_vi[$4 & 31]($5); + } + $6 = HEAP32[(336788)>>2]|0; + _glBindBuffer(34962,($6|0)); + $7 = HEAP32[84189]|0; + $8 = ($7*12)|0; + $9 = HEAP32[(336768)>>2]|0; + _glBufferSubData(34962,0,($8|0),($9|0)); + $10 = HEAP32[(336792)>>2]|0; + _glBindBuffer(34962,($10|0)); + $11 = HEAP32[(336764)>>2]|0; + $12 = $11 << 2; + $13 = HEAP32[(336776)>>2]|0; + _glBufferSubData(34962,0,($12|0),($13|0)); + } + $14 = HEAP32[84201]|0; + $15 = ($14|0)>(0); + if ($15) { + $16 = HEAP32[83891]|0; + $17 = ($16|0)==(0); + if (!($17)) { + $18 = HEAP32[83893]|0; + $19 = HEAP32[(336832)>>2]|0; + FUNCTION_TABLE_vi[$18 & 31]($19); + } + $20 = HEAP32[(336836)>>2]|0; + _glBindBuffer(34962,($20|0)); + $21 = HEAP32[84201]|0; + $22 = ($21*12)|0; + $23 = HEAP32[(336816)>>2]|0; + _glBufferSubData(34962,0,($22|0),($23|0)); + $24 = HEAP32[(336840)>>2]|0; + _glBindBuffer(34962,($24|0)); + $25 = HEAP32[(336812)>>2]|0; + $26 = $25 << 2; + $27 = HEAP32[(336824)>>2]|0; + _glBufferSubData(34962,0,($26|0),($27|0)); + } + $28 = HEAP32[84213]|0; + $29 = ($28|0)>(0); + if ($29) { + $30 = HEAP32[83891]|0; + $31 = ($30|0)==(0); + if (!($31)) { + $32 = HEAP32[83893]|0; + $33 = HEAP32[(336880)>>2]|0; + FUNCTION_TABLE_vi[$32 & 31]($33); + } + $34 = HEAP32[(336884)>>2]|0; + _glBindBuffer(34962,($34|0)); + $35 = HEAP32[84213]|0; + $36 = ($35*12)|0; + $37 = HEAP32[(336864)>>2]|0; + _glBufferSubData(34962,0,($36|0),($37|0)); + $38 = HEAP32[(336888)>>2]|0; + _glBindBuffer(34962,($38|0)); + $39 = HEAP32[84213]|0; + $40 = $39 << 3; + $41 = HEAP32[(336868)>>2]|0; + _glBufferSubData(34962,0,($40|0),($41|0)); + $42 = HEAP32[(336892)>>2]|0; + _glBindBuffer(34962,($42|0)); + $43 = HEAP32[84213]|0; + $44 = $43 << 2; + $45 = HEAP32[(336872)>>2]|0; + _glBufferSubData(34962,0,($44|0),($45|0)); + } + $46 = HEAP32[83891]|0; + $47 = ($46|0)==(0); + if ($47) { + return; + } + $48 = HEAP32[83893]|0; + FUNCTION_TABLE_vi[$48 & 31](0); + return; +} +function _DrawDefaultBuffers() { + var $$ = 0, $$02830 = 0, $$02932 = 0, $$031 = 0, $$byval_copy2 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0; + var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0; + var $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0; + var $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0; + var $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $modelview$byval_copy = 0; + var $or$cond = 0, $or$cond3 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 320|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(320|0); + $$byval_copy2 = sp + 256|0; + $modelview$byval_copy = sp + 192|0; + $0 = sp + 128|0; + $1 = sp + 64|0; + $2 = sp; + dest=$0; src=335432; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$1; src=335496; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + $3 = HEAP32[84276]|0; + $4 = ($3|0)!=(0); + $$ = $4 ? 2 : 1; + $$02932 = 0; + while(1) { + if ($4) { + dest=$modelview$byval_copy; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$$byval_copy2; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _SetStereoView($$02932,$modelview$byval_copy,$$byval_copy2); + } + $8 = HEAP32[84189]|0; + $9 = ($8|0)>(0); + $10 = HEAP32[84201]|0; + $11 = ($10|0)>(0); + $or$cond = $9 | $11; + $12 = HEAP32[84213]|0; + $13 = ($12|0)>(0); + $or$cond3 = $or$cond | $13; + if ($or$cond3) { + $14 = HEAP32[83913]|0; + _glUseProgram(($14|0)); + dest=$modelview$byval_copy; src=335496; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$$byval_copy2; src=335432; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixMultiply($2,$modelview$byval_copy,$$byval_copy2); + $15 = HEAP32[(335680)>>2]|0; + dest=$$byval_copy2; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + $16 = (_MatrixToFloat($$byval_copy2)|0); + _glUniformMatrix4fv(($15|0),1,0,($16|0)); + $17 = HEAP32[(335684)>>2]|0; + _glUniform4f(($17|0),1.0,1.0,1.0,1.0); + $18 = HEAP32[(335696)>>2]|0; + _glUniform1i(($18|0),0); + } + $19 = HEAP32[84189]|0; + $20 = ($19|0)>(0); + if ($20) { + $21 = HEAP32[83898]|0; + _glBindTexture(3553,($21|0)); + $22 = HEAP32[83891]|0; + $23 = ($22|0)==(0); + if ($23) { + $26 = HEAP32[(336788)>>2]|0; + _glBindBuffer(34962,($26|0)); + $27 = HEAP32[(335656)>>2]|0; + _glVertexAttribPointer(($27|0),3,5126,0,0,(0|0)); + $28 = HEAP32[(335656)>>2]|0; + _glEnableVertexAttribArray(($28|0)); + $29 = HEAP32[(336792)>>2]|0; + _glBindBuffer(34962,($29|0)); + $30 = HEAP32[(335676)>>2]|0; + _glVertexAttribPointer(($30|0),4,5121,1,0,(0|0)); + $31 = HEAP32[(335676)>>2]|0; + _glEnableVertexAttribArray(($31|0)); + } else { + $24 = HEAP32[83893]|0; + $25 = HEAP32[(336784)>>2]|0; + FUNCTION_TABLE_vi[$24 & 31]($25); + } + $32 = HEAP32[84189]|0; + _glDrawArrays(1,0,($32|0)); + $33 = HEAP32[83891]|0; + $34 = ($33|0)==(0); + if ($34) { + _glBindBuffer(34962,0); + } + _glBindTexture(3553,0); + } + $35 = HEAP32[84201]|0; + $36 = ($35|0)>(0); + if ($36) { + $37 = HEAP32[83898]|0; + _glBindTexture(3553,($37|0)); + $38 = HEAP32[83891]|0; + $39 = ($38|0)==(0); + if ($39) { + $42 = HEAP32[(336836)>>2]|0; + _glBindBuffer(34962,($42|0)); + $43 = HEAP32[(335656)>>2]|0; + _glVertexAttribPointer(($43|0),3,5126,0,0,(0|0)); + $44 = HEAP32[(335656)>>2]|0; + _glEnableVertexAttribArray(($44|0)); + $45 = HEAP32[(336840)>>2]|0; + _glBindBuffer(34962,($45|0)); + $46 = HEAP32[(335676)>>2]|0; + _glVertexAttribPointer(($46|0),4,5121,1,0,(0|0)); + $47 = HEAP32[(335676)>>2]|0; + _glEnableVertexAttribArray(($47|0)); + } else { + $40 = HEAP32[83893]|0; + $41 = HEAP32[(336832)>>2]|0; + FUNCTION_TABLE_vi[$40 & 31]($41); + } + $48 = HEAP32[84201]|0; + _glDrawArrays(4,0,($48|0)); + $49 = HEAP32[83891]|0; + $50 = ($49|0)==(0); + if ($50) { + _glBindBuffer(34962,0); + } + _glBindTexture(3553,0); + } + $51 = HEAP32[84213]|0; + $52 = ($51|0)>(0); + if ($52) { + $53 = HEAP32[83891]|0; + $54 = ($53|0)==(0); + if ($54) { + $57 = HEAP32[(336884)>>2]|0; + _glBindBuffer(34962,($57|0)); + $58 = HEAP32[(335656)>>2]|0; + _glVertexAttribPointer(($58|0),3,5126,0,0,(0|0)); + $59 = HEAP32[(335656)>>2]|0; + _glEnableVertexAttribArray(($59|0)); + $60 = HEAP32[(336888)>>2]|0; + _glBindBuffer(34962,($60|0)); + $61 = HEAP32[(335660)>>2]|0; + _glVertexAttribPointer(($61|0),2,5126,0,0,(0|0)); + $62 = HEAP32[(335660)>>2]|0; + _glEnableVertexAttribArray(($62|0)); + $63 = HEAP32[(336892)>>2]|0; + _glBindBuffer(34962,($63|0)); + $64 = HEAP32[(335676)>>2]|0; + _glVertexAttribPointer(($64|0),4,5121,1,0,(0|0)); + $65 = HEAP32[(335676)>>2]|0; + _glEnableVertexAttribArray(($65|0)); + $66 = HEAP32[(336896)>>2]|0; + _glBindBuffer(34963,($66|0)); + } else { + $55 = HEAP32[83893]|0; + $56 = HEAP32[(336880)>>2]|0; + FUNCTION_TABLE_vi[$55 & 31]($56); + } + $67 = HEAP32[83929]|0; + $68 = ($67|0)>(0); + if ($68) { + $$02830 = 0;$$031 = 0; + while(1) { + $71 = HEAP32[83928]|0; + $72 = (($71) + (($$031*144)|0)|0); + $73 = HEAP32[$72>>2]|0; + $74 = (($73|0) / 4)&-1; + $75 = ($74*6)|0; + $76 = (((($71) + (($$031*144)|0)|0)) + 8|0); + $77 = HEAP32[$76>>2]|0; + _glBindTexture(3553,($77|0)); + $78 = $$02830 << 1; + $79 = $78; + _glDrawElements(4,($75|0),5123,($79|0)); + $80 = HEAP32[83928]|0; + $81 = (($80) + (($$031*144)|0)|0); + $82 = HEAP32[$81>>2]|0; + $83 = (($82|0) / 4)&-1; + $84 = ($83*6)|0; + $85 = (($84) + ($$02830))|0; + $86 = (($$031) + 1)|0; + $87 = HEAP32[83929]|0; + $88 = ($86|0)<($87|0); + if ($88) { + $$02830 = $85;$$031 = $86; + } else { + break; + } + } + } + $69 = HEAP32[83891]|0; + $70 = ($69|0)==(0); + if ($70) { + _glBindBuffer(34962,0); + _glBindBuffer(34963,0); + } + _glBindTexture(3553,0); + } + $89 = HEAP32[83891]|0; + $90 = ($89|0)==(0); + if (!($90)) { + $91 = HEAP32[83893]|0; + FUNCTION_TABLE_vi[$91 & 31](0); + } + _glUseProgram(0); + $92 = (($$02932) + 1)|0; + $93 = ($92|0)<($$|0); + if ($93) { + $$02932 = $92; + } else { + break; + } + } + HEAP32[83929] = 1; + $5 = HEAP32[83898]|0; + $6 = HEAP32[83928]|0; + $7 = ((($6)) + 8|0); + HEAP32[$7>>2] = $5; + HEAP32[$6>>2] = 0; + HEAP32[84189] = 0; + HEAP32[(336764)>>2] = 0; + HEAP32[84201] = 0; + HEAP32[(336812)>>2] = 0; + HEAP32[84213] = 0; + HEAP32[(336856)>>2] = 0; + HEAP32[(336860)>>2] = 0; + HEAPF32[756] = -1.0; + dest=335432; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=335496; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + STACKTOP = sp;return; +} +function _SetStereoView($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$byval_copy = 0, $$byval_copy3 = 0, $10 = 0, $11 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0); + $$byval_copy3 = sp + 192|0; + $$byval_copy = sp + 64|0; + $3 = sp; + $4 = sp + 128|0; + dest=$3; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + $5 = HEAP32[84187]|0; + $6 = Math_imul($5, $0)|0; + $7 = (($6|0) / 2)&-1; + $8 = (($5|0) / 2)&-1; + $9 = HEAP32[84188]|0; + _rlViewport($7,0,$8,$9); + $10 = (337336 + ($0<<6)|0); + dest=$$byval_copy; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$$byval_copy3; src=$10; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixMultiply($4,$$byval_copy,$$byval_copy3); + $11 = (337208 + ($0<<6)|0); + dest=$3; src=$11; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$$byval_copy3; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _SetMatrixModelview($$byval_copy3); + dest=$$byval_copy3; src=$3; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _SetMatrixProjection($$byval_copy3); + STACKTOP = sp;return; +} +function _SetMatrixModelview($0) { + $0 = $0|0; + var dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + dest=335496; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + return; +} +function _SetMatrixProjection($0) { + $0 = $0|0; + var dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + dest=335432; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + return; +} +function _rlPushMatrix() { + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $vararg_buffer = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $vararg_buffer = sp; + $0 = HEAP32[84366]|0; + $1 = ($0|0)==(15); + if ($1) { + HEAP32[$vararg_buffer>>2] = 16; + _TraceLog(2,11917,$vararg_buffer); + } + $2 = HEAP32[84366]|0; + $3 = (335724 + ($2<<6)|0); + $4 = HEAP32[83857]|0; + dest=$3; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _rlLoadIdentity(); + $5 = HEAP32[84366]|0; + $6 = (($5) + 1)|0; + HEAP32[84366] = $6; + $7 = HEAP32[83890]|0; + $8 = ($7|0)==(5888); + if (!($8)) { + STACKTOP = sp;return; + } + HEAP32[84367] = 1; + STACKTOP = sp;return; +} +function _rlPopMatrix() { + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[84366]|0; + $1 = ($0|0)>(0); + if (!($1)) { + return; + } + $2 = HEAP32[84366]|0; + $3 = (($2) + -1)|0; + $4 = (335724 + ($3<<6)|0); + $5 = HEAP32[83857]|0; + _memmove(($5|0),($4|0),64)|0; + $6 = (($2) + -1)|0; + HEAP32[84366] = $6; + return; +} +function _GetFPS() { + var $0 = 0.0, $1 = 0.0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (+_GetFrameTime()); + $1 = 1.0 / $0; + $2 = (~~(($1))); + return ($2|0); +} +function _GetFrameTime() { + var $0 = 0.0, $1 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $0 = +HEAPF64[3183]; + $1 = $0; + return (+$1); +} +function _GetRandomValue($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$ = 0, $$10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $ispos = 0, $neg = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ($0|0)>($1|0); + $$ = $2 ? $0 : $1; + $$10 = $2 ? $1 : $0; + $3 = (_rand()|0); + $4 = (($$) - ($$10))|0; + $ispos = ($4|0)>(-1); + $neg = (0 - ($4))|0; + $5 = $ispos ? $4 : $neg; + $6 = (($5) + 1)|0; + $7 = (($3|0) % ($6|0))&-1; + $8 = (($7) + ($$10))|0; + return ($8|0); +} +function _Fade($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = +$2; + var $$0 = 0.0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0.0, $8 = 0.0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = $2 < 0.0; + if ($3) { + $$0 = 0.0; + } else { + $4 = $2 > 1.0; + if ($4) { + $$0 = 1.0; + } else { + $$0 = $2; + } + } + $5 = ((($1)) + 3|0); + $6 = HEAP8[$5>>0]|0; + $7 = (+($6&255)); + $8 = $$0 * $7; + $9 = HEAP8[$1>>0]|0; + HEAP8[$0>>0] = $9; + $10 = ((($0)) + 1|0); + $11 = ((($1)) + 1|0); + $12 = HEAP8[$11>>0]|0; + HEAP8[$10>>0] = $12; + $13 = ((($0)) + 2|0); + $14 = ((($1)) + 2|0); + $15 = HEAP8[$14>>0]|0; + HEAP8[$13>>0] = $15; + $16 = ((($0)) + 3|0); + $17 = (~~(($8))&255); + HEAP8[$16>>0] = $17; + return; +} +function _IsFileExtension($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$ = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = (_strrchr($0,46)|0); + $3 = ($2|0)==(0|0); + if ($3) { + return 0; + } else { + $4 = (_strcmp($2,$1)|0); + $5 = ($4|0)==(0); + $$ = $5&1; + return ($$|0); + } + return (0)|0; +} +function _GetTouchPosition($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$pn = 0.0, $$pn21 = 0.0, $$sink6 = 0.0, $$sink6$in = 0, $$sink8 = 0, $$sroa$0$0 = 0.0, $$sroa$0$0$$sroa_idx = 0, $$sroa$0$0$copyload10 = 0.0, $$sroa$0$1 = 0.0, $$sroa$9$0 = 0.0, $$sroa$9$0$$sroa_idx14 = 0, $$sroa$9$0$$sroa_idx16 = 0, $$sroa$9$0$copyload15 = 0.0, $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0.0, $16 = 0; + var $17 = 0, $18 = 0, $19 = 0.0, $2 = 0, $20 = 0.0, $21 = 0.0, $22 = 0, $23 = 0.0, $24 = 0.0, $25 = 0.0, $26 = 0, $27 = 0, $28 = 0.0, $29 = 0.0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, $or$cond = 0, $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $vararg_buffer = sp; + $2 = ($1|0)<(2); + if ($2) { + $$sroa$0$0$$sroa_idx = (25288 + ($1<<3)|0); + $$sroa$0$0$copyload10 = +HEAPF32[$$sroa$0$0$$sroa_idx>>2]; + $$sroa$9$0$$sroa_idx14 = (((25288 + ($1<<3)|0)) + 4|0); + $$sroa$9$0$copyload15 = +HEAPF32[$$sroa$9$0$$sroa_idx14>>2]; + $$sroa$0$0 = $$sroa$0$0$copyload10;$$sroa$9$0 = $$sroa$9$0$copyload15; + } else { + HEAP32[$vararg_buffer>>2] = 2; + _TraceLog(1,11955,$vararg_buffer); + $$sroa$0$0 = -1.0;$$sroa$9$0 = -1.0; + } + $3 = HEAP32[83812]|0; + $4 = HEAP32[83850]|0; + $5 = ($3>>>0)>($4>>>0); + $6 = HEAP32[83855]|0; + $7 = HEAP32[83851]|0; + $8 = HEAP32[83811]|0; + $9 = (($6|0) / 2)&-1; + $10 = (+($9|0)); + $11 = ($8>>>0)>($7>>>0); + $or$cond = $5 | $11; + if ($or$cond) { + $12 = (+($3|0)); + $13 = (($4) - ($6))|0; + $14 = (+($13>>>0)); + $15 = $12 / $14; + $16 = HEAP32[83856]|0; + $17 = (($7) - ($16))|0; + $$pn21 = $15;$$sink6$in = $8;$$sink8 = $17; + } else { + $18 = HEAP32[83853]|0; + $19 = (+($18|0)); + $20 = (+($4>>>0)); + $21 = $19 / $20; + $22 = HEAP32[83854]|0; + $$pn21 = $21;$$sink6$in = $22;$$sink8 = $7; + } + $$pn = $$sroa$0$0 * $$pn21; + $$sink6 = (+($$sink6$in|0)); + $$sroa$0$1 = $$pn - $10; + $23 = (+($$sink8>>>0)); + $24 = $$sink6 / $23; + $25 = $$sroa$9$0 * $24; + $26 = HEAP32[83856]|0; + $27 = (($26|0) / 2)&-1; + $28 = (+($27|0)); + $29 = $25 - $28; + HEAPF32[$0>>2] = $$sroa$0$1; + $$sroa$9$0$$sroa_idx16 = ((($0)) + 4|0); + HEAPF32[$$sroa$9$0$$sroa_idx16>>2] = $29; + STACKTOP = sp;return; +} +function _rlTranslatef($0,$1,$2) { + $0 = +$0; + $1 = +$1; + $2 = +$2; + var $$byval_copy = 0, $$byval_copy1 = 0, $3 = 0, $4 = 0, $5 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0); + $$byval_copy1 = sp + 192|0; + $$byval_copy = sp + 128|0; + $3 = sp + 64|0; + $4 = sp; + _MatrixTranslate($3,$0,$1,$2); + _MatrixTranspose($3); + $5 = HEAP32[83857]|0; + dest=$$byval_copy; src=$5; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$$byval_copy1; src=$3; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixMultiply($4,$$byval_copy,$$byval_copy1); + dest=$5; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + STACKTOP = sp;return; +} +function _rlRotatef($0,$1,$2,$3) { + $0 = +$0; + $1 = +$1; + $2 = +$2; + $3 = +$3; + var $$byval_copy1 = 0, $$byval_copy2 = 0, $10 = 0.0, $11 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 336|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(336|0); + $$byval_copy2 = sp + 272|0; + $$byval_copy1 = sp + 208|0; + $4 = sp + 144|0; + $5 = sp + 64|0; + $6 = sp + 80|0; + $7 = sp; + _MatrixIdentity($4); + HEAPF32[$5>>2] = $1; + $8 = ((($5)) + 4|0); + HEAPF32[$8>>2] = $2; + $9 = ((($5)) + 8|0); + HEAPF32[$9>>2] = $3; + _VectorNormalize($5); + $10 = $0 * 0.01745329238474369; + ;HEAP32[$$byval_copy2>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$$byval_copy2+8>>2]=HEAP32[$5+8>>2]|0; + _MatrixRotate($6,$$byval_copy2,$10); + dest=$4; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixTranspose($4); + $11 = HEAP32[83857]|0; + dest=$$byval_copy1; src=$11; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$$byval_copy2; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixMultiply($7,$$byval_copy1,$$byval_copy2); + dest=$11; src=$7; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + STACKTOP = sp;return; +} +function _rlBegin($0) { + $0 = $0|0; + var label = 0, sp = 0; + sp = STACKTOP; + HEAP32[83930] = $0; + return; +} +function _rlEnd() { + var $$03956 = 0, $$04052 = 0, $$04154 = 0, $$04248 = 0, $$04347 = 0, $$byval_copy = 0, $$promoted = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0; + var $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0; + var $128 = 0, $129 = 0, $13 = 0.0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0; + var $146 = 0, $147 = 0, $148 = 0.0, $149 = 0.0, $15 = 0.0, $16 = 0, $17 = 0.0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0; + var $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0; + var $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond = 0, $exitcond60 = 0, $exitcond63 = 0; + var $scevgep = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $$byval_copy = sp; + $0 = HEAP32[84367]|0; + $1 = ($0|0)==(0); + if (!($1)) { + $2 = HEAP32[84368]|0; + $3 = ($2|0)>(0); + if ($3) { + $$03956 = 0; + while(1) { + $6 = HEAP32[83927]|0; + $7 = (($6) + (($$03956*12)|0)|0); + $8 = HEAP32[83857]|0; + dest=$$byval_copy; src=$8; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _VectorTransform($7,$$byval_copy); + $9 = (($$03956) + 1)|0; + $5 = HEAP32[84368]|0; + $10 = ($9|0)<($5|0); + if ($10) { + $$03956 = $9; + } else { + break; + } + } + HEAP32[84367] = 0; + $4 = ($5|0)>(0); + if ($4) { + $$04154 = 0; + while(1) { + $11 = HEAP32[83927]|0; + $12 = (($11) + (($$04154*12)|0)|0); + $13 = +HEAPF32[$12>>2]; + $14 = (((($11) + (($$04154*12)|0)|0)) + 4|0); + $15 = +HEAPF32[$14>>2]; + $16 = (((($11) + (($$04154*12)|0)|0)) + 8|0); + $17 = +HEAPF32[$16>>2]; + _rlVertex3f($13,$15,$17); + $18 = (($$04154) + 1)|0; + $19 = HEAP32[84368]|0; + $20 = ($18|0)<($19|0); + if ($20) { + $$04154 = $18; + } else { + break; + } + } + } + } else { + HEAP32[84367] = 0; + } + HEAP32[84368] = 0; + } + $21 = HEAP32[83930]|0; + switch ($21|0) { + case 1: { + $22 = HEAP32[84189]|0; + $23 = HEAP32[(336764)>>2]|0; + $24 = ($22|0)==($23|0); + if ($24) { + $148 = +HEAPF32[756]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[756] = $149; + STACKTOP = sp;return; + } + $25 = (($22) - ($23))|0; + $26 = ($25|0)>(0); + if ($26) { + $$04347 = 0; + } else { + $148 = +HEAPF32[756]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[756] = $149; + STACKTOP = sp;return; + } + while(1) { + $27 = HEAP32[(336776)>>2]|0; + $28 = HEAP32[(336764)>>2]|0; + $29 = $28 << 2; + $30 = (($29) + -4)|0; + $31 = (($27) + ($30)|0); + $32 = HEAP8[$31>>0]|0; + $33 = (($27) + ($29)|0); + HEAP8[$33>>0] = $32; + $34 = HEAP32[(336776)>>2]|0; + $35 = HEAP32[(336764)>>2]|0; + $36 = $35 << 2; + $37 = (($36) + -3)|0; + $38 = (($34) + ($37)|0); + $39 = HEAP8[$38>>0]|0; + $40 = $36 | 1; + $41 = (($34) + ($40)|0); + HEAP8[$41>>0] = $39; + $42 = HEAP32[(336776)>>2]|0; + $43 = HEAP32[(336764)>>2]|0; + $44 = $43 << 2; + $45 = (($44) + -2)|0; + $46 = (($42) + ($45)|0); + $47 = HEAP8[$46>>0]|0; + $48 = $44 | 2; + $49 = (($42) + ($48)|0); + HEAP8[$49>>0] = $47; + $50 = HEAP32[(336776)>>2]|0; + $51 = HEAP32[(336764)>>2]|0; + $52 = $51 << 2; + $53 = (($52) + -1)|0; + $54 = (($50) + ($53)|0); + $55 = HEAP8[$54>>0]|0; + $56 = $52 | 3; + $57 = (($50) + ($56)|0); + HEAP8[$57>>0] = $55; + $58 = HEAP32[(336764)>>2]|0; + $59 = (($58) + 1)|0; + HEAP32[(336764)>>2] = $59; + $60 = (($$04347) + 1)|0; + $exitcond = ($60|0)==($25|0); + if ($exitcond) { + break; + } else { + $$04347 = $60; + } + } + $148 = +HEAPF32[756]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[756] = $149; + STACKTOP = sp;return; + break; + } + case 4: { + $61 = HEAP32[84201]|0; + $62 = HEAP32[(336812)>>2]|0; + $63 = ($61|0)==($62|0); + if ($63) { + $148 = +HEAPF32[756]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[756] = $149; + STACKTOP = sp;return; + } + $64 = (($61) - ($62))|0; + $65 = ($64|0)>(0); + if ($65) { + $$04248 = 0; + } else { + $148 = +HEAPF32[756]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[756] = $149; + STACKTOP = sp;return; + } + while(1) { + $66 = HEAP32[(336824)>>2]|0; + $67 = HEAP32[(336812)>>2]|0; + $68 = $67 << 2; + $69 = (($68) + -4)|0; + $70 = (($66) + ($69)|0); + $71 = HEAP8[$70>>0]|0; + $72 = (($66) + ($68)|0); + HEAP8[$72>>0] = $71; + $73 = HEAP32[(336824)>>2]|0; + $74 = HEAP32[(336812)>>2]|0; + $75 = $74 << 2; + $76 = (($75) + -3)|0; + $77 = (($73) + ($76)|0); + $78 = HEAP8[$77>>0]|0; + $79 = $75 | 1; + $80 = (($73) + ($79)|0); + HEAP8[$80>>0] = $78; + $81 = HEAP32[(336824)>>2]|0; + $82 = HEAP32[(336812)>>2]|0; + $83 = $82 << 2; + $84 = (($83) + -2)|0; + $85 = (($81) + ($84)|0); + $86 = HEAP8[$85>>0]|0; + $87 = $83 | 2; + $88 = (($81) + ($87)|0); + HEAP8[$88>>0] = $86; + $89 = HEAP32[(336824)>>2]|0; + $90 = HEAP32[(336812)>>2]|0; + $91 = $90 << 2; + $92 = (($91) + -1)|0; + $93 = (($89) + ($92)|0); + $94 = HEAP8[$93>>0]|0; + $95 = $91 | 3; + $96 = (($89) + ($95)|0); + HEAP8[$96>>0] = $94; + $97 = HEAP32[(336812)>>2]|0; + $98 = (($97) + 1)|0; + HEAP32[(336812)>>2] = $98; + $99 = (($$04248) + 1)|0; + $exitcond60 = ($99|0)==($64|0); + if ($exitcond60) { + break; + } else { + $$04248 = $99; + } + } + $148 = +HEAPF32[756]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[756] = $149; + STACKTOP = sp;return; + break; + } + case 7: { + $100 = HEAP32[84213]|0; + $101 = HEAP32[(336860)>>2]|0; + $102 = ($100|0)==($101|0); + if (!($102)) { + $103 = (($100) - ($101))|0; + $104 = ($103|0)>(0); + if ($104) { + $$04052 = 0; + while(1) { + $105 = HEAP32[(336872)>>2]|0; + $106 = HEAP32[(336860)>>2]|0; + $107 = $106 << 2; + $108 = (($107) + -4)|0; + $109 = (($105) + ($108)|0); + $110 = HEAP8[$109>>0]|0; + $111 = (($105) + ($107)|0); + HEAP8[$111>>0] = $110; + $112 = HEAP32[(336872)>>2]|0; + $113 = HEAP32[(336860)>>2]|0; + $114 = $113 << 2; + $115 = (($114) + -3)|0; + $116 = (($112) + ($115)|0); + $117 = HEAP8[$116>>0]|0; + $118 = $114 | 1; + $119 = (($112) + ($118)|0); + HEAP8[$119>>0] = $117; + $120 = HEAP32[(336872)>>2]|0; + $121 = HEAP32[(336860)>>2]|0; + $122 = $121 << 2; + $123 = (($122) + -2)|0; + $124 = (($120) + ($123)|0); + $125 = HEAP8[$124>>0]|0; + $126 = $122 | 2; + $127 = (($120) + ($126)|0); + HEAP8[$127>>0] = $125; + $128 = HEAP32[(336872)>>2]|0; + $129 = HEAP32[(336860)>>2]|0; + $130 = $129 << 2; + $131 = (($130) + -1)|0; + $132 = (($128) + ($131)|0); + $133 = HEAP8[$132>>0]|0; + $134 = $130 | 3; + $135 = (($128) + ($134)|0); + HEAP8[$135>>0] = $133; + $136 = HEAP32[(336860)>>2]|0; + $137 = (($136) + 1)|0; + HEAP32[(336860)>>2] = $137; + $138 = (($$04052) + 1)|0; + $exitcond63 = ($138|0)==($103|0); + if ($exitcond63) { + break; + } else { + $$04052 = $138; + } + } + } + } + $139 = HEAP32[84213]|0; + $140 = HEAP32[(336856)>>2]|0; + $141 = ($139|0)>($140|0); + if (!($141)) { + $148 = +HEAPF32[756]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[756] = $149; + STACKTOP = sp;return; + } + $142 = HEAP32[(336868)>>2]|0; + $$promoted = HEAP32[(336856)>>2]|0; + $143 = $$promoted << 1; + $scevgep = (($142) + ($143<<2)|0); + $144 = (($139) - ($140))|0; + $145 = $144 << 3; + _memset(($scevgep|0),0,($145|0))|0; + $146 = (($139) + ($$promoted))|0; + $147 = (($146) - ($140))|0; + HEAP32[(336856)>>2] = $147; + $148 = +HEAPF32[756]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[756] = $149; + STACKTOP = sp;return; + break; + } + default: { + $148 = +HEAPF32[756]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[756] = $149; + STACKTOP = sp;return; + } + } +} +function _rlVertex3f($0,$1,$2) { + $0 = +$0; + $1 = +$1; + $2 = +$2; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer3 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $vararg_buffer3 = sp + 16|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $3 = HEAP32[84367]|0; + $4 = ($3|0)==(0); + if (!($4)) { + $5 = HEAP32[83927]|0; + $6 = HEAP32[84368]|0; + $7 = (($5) + (($6*12)|0)|0); + HEAPF32[$7>>2] = $0; + $8 = (((($5) + (($6*12)|0)|0)) + 4|0); + HEAPF32[$8>>2] = $1; + $9 = (((($5) + (($6*12)|0)|0)) + 8|0); + HEAPF32[$9>>2] = $2; + $10 = (($6) + 1)|0; + HEAP32[84368] = $10; + STACKTOP = sp;return; + } + $11 = HEAP32[83930]|0; + switch ($11|0) { + case 1: { + $12 = HEAP32[84189]|0; + $13 = ($12|0)<(2048); + if ($13) { + $14 = HEAP32[(336768)>>2]|0; + $15 = ($12*3)|0; + $16 = (($14) + ($15<<2)|0); + HEAPF32[$16>>2] = $0; + $17 = (($15) + 1)|0; + $18 = (($14) + ($17<<2)|0); + HEAPF32[$18>>2] = $1; + $19 = (($15) + 2)|0; + $20 = (($14) + ($19<<2)|0); + HEAPF32[$20>>2] = $2; + $21 = (($12) + 1)|0; + HEAP32[84189] = $21; + STACKTOP = sp;return; + } else { + _TraceLog(2,12012,$vararg_buffer); + STACKTOP = sp;return; + } + break; + } + case 4: { + $22 = HEAP32[84201]|0; + $23 = ($22|0)<(6144); + if ($23) { + $24 = HEAP32[(336816)>>2]|0; + $25 = ($22*3)|0; + $26 = (($24) + ($25<<2)|0); + HEAPF32[$26>>2] = $0; + $27 = (($25) + 1)|0; + $28 = (($24) + ($27<<2)|0); + HEAPF32[$28>>2] = $1; + $29 = (($25) + 2)|0; + $30 = (($24) + ($29<<2)|0); + HEAPF32[$30>>2] = $2; + $31 = (($22) + 1)|0; + HEAP32[84201] = $31; + STACKTOP = sp;return; + } else { + _TraceLog(2,12037,$vararg_buffer1); + STACKTOP = sp;return; + } + break; + } + case 7: { + $32 = HEAP32[84213]|0; + $33 = ($32|0)<(4096); + if ($33) { + $34 = HEAP32[(336864)>>2]|0; + $35 = ($32*3)|0; + $36 = (($34) + ($35<<2)|0); + HEAPF32[$36>>2] = $0; + $37 = (($35) + 1)|0; + $38 = (($34) + ($37<<2)|0); + HEAPF32[$38>>2] = $1; + $39 = (($35) + 2)|0; + $40 = (($34) + ($39<<2)|0); + HEAPF32[$40>>2] = $2; + $41 = (($32) + 1)|0; + HEAP32[84213] = $41; + $42 = HEAP32[83928]|0; + $43 = HEAP32[83929]|0; + $44 = (($43) + -1)|0; + $45 = (($42) + (($44*144)|0)|0); + $46 = HEAP32[$45>>2]|0; + $47 = (($46) + 1)|0; + HEAP32[$45>>2] = $47; + STACKTOP = sp;return; + } else { + _TraceLog(2,12066,$vararg_buffer3); + STACKTOP = sp;return; + } + break; + } + default: { + STACKTOP = sp;return; + } + } +} +function _rlVertex2f($0,$1) { + $0 = +$0; + $1 = +$1; + var $2 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[756]; + _rlVertex3f($0,$1,$2); + return; +} +function _rlVertex2i($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0.0, $3 = 0.0, $4 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = (+($0|0)); + $3 = (+($1|0)); + $4 = +HEAPF32[756]; + _rlVertex3f($2,$3,$4); + return; +} +function _rlTexCoord2f($0,$1) { + $0 = +$0; + $1 = +$1; + var $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = HEAP32[83930]|0; + $3 = ($2|0)==(7); + if (!($3)) { + return; + } + $4 = HEAP32[(336868)>>2]|0; + $5 = HEAP32[(336856)>>2]|0; + $6 = $5 << 1; + $7 = (($4) + ($6<<2)|0); + HEAPF32[$7>>2] = $0; + $8 = $6 | 1; + $9 = (($4) + ($8<<2)|0); + HEAPF32[$9>>2] = $1; + $10 = (($5) + 1)|0; + HEAP32[(336856)>>2] = $10; + return; +} +function _rlNormal3f($0,$1,$2) { + $0 = +$0; + $1 = +$1; + $2 = +$2; + var label = 0, sp = 0; + sp = STACKTOP; + return; +} +function _rlColor4ub($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$sink37 = 0, $$sink38 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $4 = 0, $5 = 0; + var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $4 = HEAP32[83930]|0; + switch ($4|0) { + case 1: { + $$sink37 = (336764);$$sink38 = (336776); + break; + } + case 4: { + $$sink37 = (336812);$$sink38 = (336824); + break; + } + case 7: { + $$sink37 = (336860);$$sink38 = (336872); + break; + } + default: { + return; + } + } + $5 = HEAP32[$$sink38>>2]|0; + $6 = HEAP32[$$sink37>>2]|0; + $7 = $6 << 2; + $8 = (($5) + ($7)|0); + HEAP8[$8>>0] = $0; + $9 = HEAP32[$$sink38>>2]|0; + $10 = HEAP32[$$sink37>>2]|0; + $11 = $10 << 2; + $12 = $11 | 1; + $13 = (($9) + ($12)|0); + HEAP8[$13>>0] = $1; + $14 = HEAP32[$$sink38>>2]|0; + $15 = HEAP32[$$sink37>>2]|0; + $16 = $15 << 2; + $17 = $16 | 2; + $18 = (($14) + ($17)|0); + HEAP8[$18>>0] = $2; + $19 = HEAP32[$$sink38>>2]|0; + $20 = HEAP32[$$sink37>>2]|0; + $21 = $20 << 2; + $22 = $21 | 3; + $23 = (($19) + ($22)|0); + HEAP8[$23>>0] = $3; + $24 = HEAP32[$$sink37>>2]|0; + $25 = (($24) + 1)|0; + HEAP32[$$sink37>>2] = $25; + return; +} +function _rlEnableTexture($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP32[83928]|0; + $2 = HEAP32[83929]|0; + $3 = (($2) + -1)|0; + $4 = (((($1) + (($3*144)|0)|0)) + 8|0); + $5 = HEAP32[$4>>2]|0; + $6 = ($5|0)==($0|0); + if ($6) { + return; + } + $7 = (($1) + (($3*144)|0)|0); + $8 = HEAP32[$7>>2]|0; + $9 = ($8|0)>(0); + if ($9) { + $10 = (($2) + 1)|0; + HEAP32[83929] = $10; + } + $11 = HEAP32[83929]|0; + $12 = (($11) + -1)|0; + $13 = (((($1) + (($12*144)|0)|0)) + 8|0); + HEAP32[$13>>2] = $0; + $14 = (($1) + (($12*144)|0)|0); + HEAP32[$14>>2] = 0; + return; +} +function _rlDisableTexture() { + var $0 = 0, $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[84213]|0; + $1 = ($0|0)>(4095); + if (!($1)) { + return; + } + _rlglDraw(); + return; +} +function _rlTextureParameters($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0.0, $3 = 0, $4 = 0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0, $or$cond = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer4 = 0, $vararg_ptr3 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $vararg_buffer4 = sp + 24|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + _glBindTexture(3553,($0|0)); + L1: do { + switch ($1|0) { + case 10243: case 10242: { + $3 = ($2|0)!=(34626); + $4 = HEAP32[83897]|0; + $5 = ($4|0)!=(0); + $or$cond = $3 | $5; + if ($or$cond) { + _glTexParameteri(3553,($1|0),($2|0)); + break L1; + } else { + _TraceLog(1,12091,$vararg_buffer); + break L1; + } + break; + } + case 10241: case 10240: { + _glTexParameteri(3553,($1|0),($2|0)); + break; + } + case 12288: { + $6 = (+($2|0)); + $7 = +HEAPF32[83896]; + $8 = !($6 <= $7); + if (!($8)) { + _glTexParameterf(3553,34046,(+$6)); + break L1; + } + $9 = $7 > 0.0; + if ($9) { + $10 = $7; + HEAP32[$vararg_buffer1>>2] = $0; + $vararg_ptr3 = ((($vararg_buffer1)) + 8|0); + HEAPF64[$vararg_ptr3>>3] = $10; + _TraceLog(1,12128,$vararg_buffer1); + _glTexParameterf(3553,34046,(+$6)); + break L1; + } else { + _TraceLog(1,12190,$vararg_buffer4); + break L1; + } + break; + } + default: { + } + } + } while(0); + _glBindTexture(3553,0); + STACKTOP = sp;return; +} +function _rlDeleteShader($0) { + $0 = $0|0; + var $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ($0|0)==(0); + if ($1) { + return; + } + _glDeleteProgram(($0|0)); + return; +} +function _GetDefaultTexture($0) { + $0 = $0|0; + var $$sroa$4$0$$sroa_idx2 = 0, $$sroa$5$0$$sroa_idx4 = 0, $$sroa$6$0$$sroa_idx6 = 0, $$sroa$7$0$$sroa_idx8 = 0, $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP32[83898]|0; + HEAP32[$0>>2] = $1; + $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); + HEAP32[$$sroa$4$0$$sroa_idx2>>2] = 1; + $$sroa$5$0$$sroa_idx4 = ((($0)) + 8|0); + HEAP32[$$sroa$5$0$$sroa_idx4>>2] = 1; + $$sroa$6$0$$sroa_idx6 = ((($0)) + 12|0); + HEAP32[$$sroa$6$0$$sroa_idx6>>2] = 1; + $$sroa$7$0$$sroa_idx8 = ((($0)) + 16|0); + HEAP32[$$sroa$7$0$$sroa_idx8>>2] = 7; + return; +} +function _LoadText($0) { + $0 = $0|0; + var $$0 = 0, $$1 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $vararg_buffer = sp; + $1 = ($0|0)==(0|0); + if ($1) { + $$1 = 0; + STACKTOP = sp;return ($$1|0); + } + $2 = (_fopen($0,14790)|0); + $3 = ($2|0)==(0|0); + if ($3) { + HEAP32[$vararg_buffer>>2] = $0; + _TraceLog(1,12226,$vararg_buffer); + $$1 = 0; + STACKTOP = sp;return ($$1|0); + } + (_fseek($2,0,2)|0); + $4 = (_ftell($2)|0); + _rewind($2); + $5 = ($4|0)>(0); + if ($5) { + $6 = (($4) + 1)|0; + $7 = (_malloc($6)|0); + $8 = (_fread($7,1,$4,$2)|0); + $9 = (($7) + ($8)|0); + HEAP8[$9>>0] = 0; + $$0 = $7; + } else { + $$0 = 0; + } + (_fclose($2)|0); + $$1 = $$0; + STACKTOP = sp;return ($$1|0); +} +function _LoadShader($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $vararg_buffer = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $vararg_buffer = sp; + $3 = sp + 8|0; + dest=$3; stop=dest+56|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + $4 = (_LoadText($1)|0); + $5 = (_LoadText($2)|0); + $6 = ($4|0)!=(0|0); + $7 = ($5|0)!=(0|0); + $or$cond = $6 & $7; + if ($or$cond) { + $8 = (_LoadShaderProgram($4,$5)|0); + HEAP32[$3>>2] = $8; + $9 = ($8|0)==(0); + if (!($9)) { + _LoadDefaultShaderLocations($3); + } + _free($4); + _free($5); + } + $10 = HEAP32[$3>>2]|0; + $11 = ($10|0)==(0); + if ($11) { + _TraceLog(1,12261,$vararg_buffer); + dest=$3; src=335596; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + } + dest=$0; src=$3; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + STACKTOP = sp;return; +} +function _UnloadShader($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $vararg_buffer = sp; + $1 = HEAP32[$0>>2]|0; + $2 = ($1|0)==(0); + if ($2) { + STACKTOP = sp;return; + } + _rlDeleteShader($1); + $3 = HEAP32[$0>>2]|0; + HEAP32[$vararg_buffer>>2] = $3; + _TraceLog(0,12295,$vararg_buffer); + STACKTOP = sp;return; +} +function _BeginShaderMode($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + $1 = HEAP32[83913]|0; + $2 = HEAP32[$0>>2]|0; + $3 = ($1|0)==($2|0); + if ($3) { + return; + } + _rlglDraw(); + dest=335652; src=$0; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + return; +} +function _EndShaderMode() { + var $defaultShader$byval_copy = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $defaultShader$byval_copy = sp; + dest=$defaultShader$byval_copy; src=335596; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _BeginShaderMode($defaultShader$byval_copy); + STACKTOP = sp;return; +} +function _DrawRectangle($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $10 = 0.0, $11 = 0, $12 = 0.0, $5 = 0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0); + $$byval_copy2 = sp + 32|0; + $$byval_copy1 = sp + 24|0; + $$byval_copy = sp + 16|0; + $5 = sp + 8|0; + $6 = sp; + $7 = (+($0|0)); + HEAPF32[$5>>2] = $7; + $8 = ((($5)) + 4|0); + $9 = (+($1|0)); + HEAPF32[$8>>2] = $9; + $10 = (+($2|0)); + HEAPF32[$6>>2] = $10; + $11 = ((($6)) + 4|0); + $12 = (+($3|0)); + HEAPF32[$11>>2] = $12; + ;HEAP32[$$byval_copy>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$5+4>>2]|0; + ;HEAP32[$$byval_copy1>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$6+4>>2]|0; + ;HEAP8[$$byval_copy2>>0]=HEAP8[$4>>0]|0;HEAP8[$$byval_copy2+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$$byval_copy2+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$$byval_copy2+3>>0]=HEAP8[$4+3>>0]|0; + _DrawRectangleV($$byval_copy,$$byval_copy1,$$byval_copy2); + STACKTOP = sp;return; +} +function _DrawRectangleV($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0.0, $14 = 0, $15 = 0, $16 = 0.0, $17 = 0, $18 = 0, $19 = 0.0, $20 = 0.0, $21 = 0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0, $26 = 0.0, $27 = 0.0, $28 = 0.0, $29 = 0; + var $3 = 0, $30 = 0.0, $31 = 0, $32 = 0.0, $33 = 0, $34 = 0.0, $35 = 0.0, $36 = 0, $37 = 0.0, $38 = 0.0, $39 = 0, $4 = 0, $40 = 0.0, $41 = 0.0, $42 = 0.0, $43 = 0, $44 = 0.0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0.0, $61 = 0, $62 = 0.0, $63 = 0, $64 = 0.0, $65 = 0.0; + var $66 = 0.0, $67 = 0.0, $68 = 0.0, $69 = 0.0, $7 = 0, $70 = 0.0, $71 = 0.0, $72 = 0.0, $73 = 0.0, $74 = 0.0, $75 = 0.0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $3 = sp; + $4 = (_rlGetVersion()|0); + $5 = ($4|0)==(1); + if ($5) { + _rlBegin(4); + $6 = HEAP8[$2>>0]|0; + $7 = ((($2)) + 1|0); + $8 = HEAP8[$7>>0]|0; + $9 = ((($2)) + 2|0); + $10 = HEAP8[$9>>0]|0; + $11 = ((($2)) + 3|0); + $12 = HEAP8[$11>>0]|0; + _rlColor4ub($6,$8,$10,$12); + $13 = +HEAPF32[$0>>2]; + $14 = (~~(($13))); + $15 = ((($0)) + 4|0); + $16 = +HEAPF32[$15>>2]; + $17 = (~~(($16))); + _rlVertex2i($14,$17); + $18 = ((($1)) + 4|0); + $19 = +HEAPF32[$18>>2]; + $20 = $16 + $19; + $21 = (~~(($20))); + _rlVertex2i($14,$21); + $22 = +HEAPF32[$0>>2]; + $23 = +HEAPF32[$1>>2]; + $24 = $22 + $23; + $25 = (~~(($24))); + $26 = +HEAPF32[$15>>2]; + $27 = +HEAPF32[$18>>2]; + $28 = $26 + $27; + $29 = (~~(($28))); + _rlVertex2i($25,$29); + $30 = +HEAPF32[$0>>2]; + $31 = (~~(($30))); + $32 = +HEAPF32[$15>>2]; + $33 = (~~(($32))); + _rlVertex2i($31,$33); + $34 = +HEAPF32[$1>>2]; + $35 = $30 + $34; + $36 = (~~(($35))); + $37 = +HEAPF32[$18>>2]; + $38 = $32 + $37; + $39 = (~~(($38))); + _rlVertex2i($36,$39); + $40 = +HEAPF32[$0>>2]; + $41 = +HEAPF32[$1>>2]; + $42 = $40 + $41; + $43 = (~~(($42))); + $44 = +HEAPF32[$15>>2]; + $45 = (~~(($44))); + _rlVertex2i($43,$45); + _rlEnd(); + STACKTOP = sp;return; + } + $46 = (_rlGetVersion()|0); + $47 = ($46|0)==(2); + if (!($47)) { + $48 = (_rlGetVersion()|0); + $49 = ($48|0)==(3); + if (!($49)) { + $50 = (_rlGetVersion()|0); + $51 = ($50|0)==(4); + if (!($51)) { + STACKTOP = sp;return; + } + } + } + _GetDefaultTexture($3); + $52 = HEAP32[$3>>2]|0; + _rlEnableTexture($52); + _rlBegin(7); + $53 = HEAP8[$2>>0]|0; + $54 = ((($2)) + 1|0); + $55 = HEAP8[$54>>0]|0; + $56 = ((($2)) + 2|0); + $57 = HEAP8[$56>>0]|0; + $58 = ((($2)) + 3|0); + $59 = HEAP8[$58>>0]|0; + _rlColor4ub($53,$55,$57,$59); + _rlTexCoord2f(0.0,0.0); + $60 = +HEAPF32[$0>>2]; + $61 = ((($0)) + 4|0); + $62 = +HEAPF32[$61>>2]; + _rlVertex2f($60,$62); + _rlTexCoord2f(0.0,1.0); + $63 = ((($1)) + 4|0); + $64 = +HEAPF32[$63>>2]; + $65 = $62 + $64; + _rlVertex2f($60,$65); + _rlTexCoord2f(1.0,1.0); + $66 = +HEAPF32[$0>>2]; + $67 = +HEAPF32[$1>>2]; + $68 = $66 + $67; + $69 = +HEAPF32[$61>>2]; + $70 = +HEAPF32[$63>>2]; + $71 = $69 + $70; + _rlVertex2f($68,$71); + _rlTexCoord2f(1.0,0.0); + $72 = +HEAPF32[$0>>2]; + $73 = +HEAPF32[$1>>2]; + $74 = $72 + $73; + $75 = +HEAPF32[$61>>2]; + _rlVertex2f($74,$75); + _rlEnd(); + _rlDisableTexture(); + STACKTOP = sp;return; +} +function _CheckCollisionPointRec($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $10 = 0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0.0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0.0, $20 = 0.0, $21 = 0, $3 = 0, $4 = 0.0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[$0>>2]; + $3 = HEAP32[$1>>2]|0; + $4 = (+($3|0)); + $5 = !($2 >= $4); + if ($5) { + $$0 = 0; + return ($$0|0); + } + $6 = ((($1)) + 8|0); + $7 = HEAP32[$6>>2]|0; + $8 = (($7) + ($3))|0; + $9 = (+($8|0)); + $10 = !($2 <= $9); + if ($10) { + $$0 = 0; + return ($$0|0); + } + $11 = ((($0)) + 4|0); + $12 = +HEAPF32[$11>>2]; + $13 = ((($1)) + 4|0); + $14 = HEAP32[$13>>2]|0; + $15 = (+($14|0)); + $16 = !($12 >= $15); + if ($16) { + $$0 = 0; + return ($$0|0); + } + $17 = ((($1)) + 12|0); + $18 = HEAP32[$17>>2]|0; + $19 = (($18) + ($14))|0; + $20 = (+($19|0)); + $21 = !($12 <= $20); + if ($21) { + $$0 = 0; + return ($$0|0); + } + $$0 = 1; + return ($$0|0); +} +function _CheckCollisionRecs($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$ = 0, $$neg11 = 0, $$neg14 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; + var $26 = 0, $27 = 0, $28 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $ispos = 0, $ispos8 = 0, $neg = 0, $neg9 = 0, $not$ = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = HEAP32[$0>>2]|0; + $3 = ((($0)) + 8|0); + $4 = HEAP32[$3>>2]|0; + $5 = (($4|0) / 2)&-1; + $6 = HEAP32[$1>>2]|0; + $7 = ((($1)) + 8|0); + $8 = HEAP32[$7>>2]|0; + $9 = (($8|0) / 2)&-1; + $$neg11 = (($5) + ($2))|0; + $10 = (($$neg11) - ($6))|0; + $11 = (($10) - ($9))|0; + $ispos = ($11|0)>(-1); + $neg = (0 - ($11))|0; + $12 = $ispos ? $11 : $neg; + $13 = ((($0)) + 4|0); + $14 = HEAP32[$13>>2]|0; + $15 = ((($0)) + 12|0); + $16 = HEAP32[$15>>2]|0; + $17 = (($16|0) / 2)&-1; + $18 = ((($1)) + 4|0); + $19 = HEAP32[$18>>2]|0; + $20 = ((($1)) + 12|0); + $21 = HEAP32[$20>>2]|0; + $22 = (($21|0) / 2)&-1; + $$neg14 = (($17) + ($14))|0; + $23 = (($$neg14) - ($19))|0; + $24 = (($23) - ($22))|0; + $25 = (($9) + ($5))|0; + $26 = ($12|0)>($25|0); + if ($26) { + return 0; + } else { + $ispos8 = ($24|0)>(-1); + $neg9 = (0 - ($24))|0; + $27 = $ispos8 ? $24 : $neg9; + $28 = (($22) + ($17))|0; + $not$ = ($27|0)<=($28|0); + $$ = $not$&1; + return ($$|0); + } + return (0)|0; +} +function _CheckCollisionCircleRec($0,$1,$2) { + $0 = $0|0; + $1 = +$1; + $2 = $2|0; + var $$ = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0.0, $26 = 0, $27 = 0.0, $28 = 0.0; + var $29 = 0.0, $3 = 0, $30 = 0, $31 = 0.0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0.0, $36 = 0.0, $37 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $narrow = 0, $not$or$cond = 0, $notlhs = 0, $notrhs = 0; + var label = 0, sp = 0; + sp = STACKTOP; + $3 = HEAP32[$2>>2]|0; + $4 = ((($2)) + 8|0); + $5 = HEAP32[$4>>2]|0; + $6 = (($5|0) / 2)&-1; + $7 = (($6) + ($3))|0; + $8 = ((($2)) + 4|0); + $9 = HEAP32[$8>>2]|0; + $10 = ((($2)) + 12|0); + $11 = HEAP32[$10>>2]|0; + $12 = (($11|0) / 2)&-1; + $13 = (($12) + ($9))|0; + $14 = +HEAPF32[$0>>2]; + $15 = (+($7|0)); + $16 = $14 - $15; + $17 = (+Math_abs((+$16))); + $18 = ((($0)) + 4|0); + $19 = +HEAPF32[$18>>2]; + $20 = (+($13|0)); + $21 = $19 - $20; + $22 = (+Math_abs((+$21))); + $23 = (+($5|0)); + $24 = $23 * 0.5; + $25 = $24 + $1; + $26 = $17 > $25; + if ($26) { + return 0; + } + $27 = (+($11|0)); + $28 = $27 * 0.5; + $29 = $28 + $1; + $30 = $22 > $29; + if ($30) { + return 0; + } else { + $31 = $17 - $24; + $32 = $31 * $31; + $33 = $22 - $28; + $34 = $33 * $33; + $35 = $32 + $34; + $36 = $1 * $1; + $37 = $35 <= $36; + $notlhs = $17 <= $24; + $notrhs = $22 <= $28; + $not$or$cond = $notlhs | $notrhs; + $narrow = $not$or$cond | $37; + $$ = $narrow&1; + return ($$|0); + } + return (0)|0; +} +function _stbi__err($0) { + $0 = $0|0; + var label = 0, sp = 0; + sp = STACKTOP; + HEAP32[84369] = $0; + return; +} +function _stbi_load_from_file($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $10 = 0, $11 = 0, $12 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 192|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(192|0); + $5 = sp; + _stbi__start_file($5,$0); + $6 = (_stbi__load_and_postprocess_8bit($5,$1,$2,$3,$4)|0); + $7 = ($6|0)==(0|0); + if ($7) { + STACKTOP = sp;return ($6|0); + } + $8 = ((($5)) + 172|0); + $9 = HEAP32[$8>>2]|0; + $10 = ((($5)) + 168|0); + $11 = HEAP32[$10>>2]|0; + $12 = (($11) - ($9))|0; + (_fseek($0,$12,1)|0); + STACKTOP = sp;return ($6|0); +} +function _stbi__start_file($0,$1) { + $0 = $0|0; + $1 = $1|0; + var label = 0, sp = 0; + sp = STACKTOP; + _stbi__start_callbacks($0,3140,$1); + return; +} +function _stbi__load_and_postprocess_8bit($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$0 = 0, $$070 = 0, $$07175 = 0, $$07276 = 0, $$07378 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; + var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $5 = 0, $6 = 0; + var $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond79 = 0, $exitcond80 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $5 = sp; + $6 = (_stbi__load_main($0,$1,$2,$3,$4,$5)|0); + $7 = ($6|0)==(0|0); + if ($7) { + $$0 = 0; + STACKTOP = sp;return ($$0|0); + } + $8 = HEAP32[$5>>2]|0; + switch ($8|0) { + case 8: { + $$070 = $6; + break; + } + case 16: { + label = 4; + break; + } + default: { + ___assert_fail((12337|0),(12363|0),1041,(12386|0)); + // unreachable; + } + } + if ((label|0) == 4) { + $9 = HEAP32[$1>>2]|0; + $10 = HEAP32[$2>>2]|0; + $11 = ($4|0)==(0); + if ($11) { + $12 = HEAP32[$3>>2]|0; + $13 = $12; + } else { + $13 = $4; + } + $14 = (_stbi__convert_16_to_8($6,$9,$10,$13)|0); + HEAP32[$5>>2] = 8; + $$070 = $14; + } + $15 = HEAP32[84370]|0; + $16 = ($15|0)==(0); + if ($16) { + $$0 = $$070; + STACKTOP = sp;return ($$0|0); + } + $17 = HEAP32[$1>>2]|0; + $18 = HEAP32[$2>>2]|0; + $19 = ($4|0)==(0); + if ($19) { + $20 = HEAP32[$3>>2]|0; + $25 = $20; + } else { + $25 = $4; + } + $21 = $18 >> 1; + $22 = ($21|0)>(0); + if (!($22)) { + $$0 = $$070; + STACKTOP = sp;return ($$0|0); + } + $23 = ($17|0)>(0); + $24 = ($25|0)>(0); + $26 = (($18) + -1)|0; + $$07378 = 0; + while(1) { + if ($23) { + $27 = Math_imul($$07378, $17)|0; + $28 = (($26) - ($$07378))|0; + $29 = Math_imul($28, $17)|0; + $$07276 = 0; + while(1) { + if ($24) { + $30 = (($$07276) + ($27))|0; + $31 = Math_imul($30, $25)|0; + $32 = (($$07276) + ($29))|0; + $33 = Math_imul($32, $25)|0; + $$07175 = 0; + while(1) { + $34 = (($$07175) + ($31))|0; + $35 = (($$070) + ($34)|0); + $36 = HEAP8[$35>>0]|0; + $37 = (($$07175) + ($33))|0; + $38 = (($$070) + ($37)|0); + $39 = HEAP8[$38>>0]|0; + HEAP8[$35>>0] = $39; + HEAP8[$38>>0] = $36; + $40 = (($$07175) + 1)|0; + $exitcond = ($40|0)==($25|0); + if ($exitcond) { + break; + } else { + $$07175 = $40; + } + } + } + $41 = (($$07276) + 1)|0; + $exitcond79 = ($41|0)==($17|0); + if ($exitcond79) { + break; + } else { + $$07276 = $41; + } + } + } + $42 = (($$07378) + 1)|0; + $exitcond80 = ($42|0)==($21|0); + if ($exitcond80) { + $$0 = $$070; + break; + } else { + $$07378 = $42; + } + } + STACKTOP = sp;return ($$0|0); +} +function _stbi__load_main($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + var $$0 = 0, $10 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAP32[$5>>2] = 8; + $6 = ((($5)) + 8|0); + HEAP32[$6>>2] = 0; + $7 = ((($5)) + 4|0); + HEAP32[$7>>2] = 0; + $8 = (_stbi__png_test($0)|0); + $9 = ($8|0)==(0); + if ($9) { + _stbi__err(12427); + $$0 = 0; + return ($$0|0); + } else { + $10 = (_stbi__png_load($0,$1,$2,$3,$4,$5)|0); + $$0 = $10; + return ($$0|0); + } + return (0)|0; +} +function _stbi__convert_16_to_8($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$0 = 0, $$01819 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, label = 0, sp = 0; + sp = STACKTOP; + $4 = Math_imul($2, $1)|0; + $5 = Math_imul($4, $3)|0; + $6 = (_stbi__malloc($5)|0); + $7 = ($6|0)==(0|0); + if ($7) { + _stbi__err(12418); + $$0 = 0; + return ($$0|0); + } + $8 = ($5|0)>(0); + if ($8) { + $$01819 = 0; + while(1) { + $9 = (($0) + ($$01819<<1)|0); + $10 = HEAP16[$9>>1]|0; + $11 = ($10&65535) >>> 8; + $12 = $11&255; + $13 = (($6) + ($$01819)|0); + HEAP8[$13>>0] = $12; + $14 = (($$01819) + 1)|0; + $exitcond = ($14|0)==($5|0); + if ($exitcond) { + break; + } else { + $$01819 = $14; + } + } + } + _free($0); + $$0 = $6; + return ($$0|0); +} +function _stbi__malloc($0) { + $0 = $0|0; + var $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (_malloc($0)|0); + return ($1|0); +} +function _stbi__png_test($0) { + $0 = $0|0; + var $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (_stbi__check_png_header($0)|0); + _stbi__rewind($0); + return ($1|0); +} +function _stbi__png_load($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + var $6 = 0, $7 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $6 = sp; + HEAP32[$6>>2] = $0; + $7 = (_stbi__do_png($6,$1,$2,$3,$4,$5)|0); + STACKTOP = sp;return ($7|0); +} +function _stbi__do_png($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + var $$ = 0, $$0 = 0, $$045 = 0, $$1 = 0, $$2 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; + var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $6 = ($4>>>0)>(4); + if ($6) { + _stbi__err(12446); + $$045 = 0; + return ($$045|0); + } + $7 = (_stbi__parse_png_file($0,0,$4)|0); + $8 = ($7|0)==(0); + if ($8) { + $$2 = 0; + } else { + $9 = ((($0)) + 16|0); + $10 = HEAP32[$9>>2]|0; + $11 = ($10|0)>(8); + $$ = $11 ? $10 : 8; + HEAP32[$5>>2] = $$; + $12 = ((($0)) + 12|0); + $13 = HEAP32[$12>>2]|0; + HEAP32[$12>>2] = 0; + $14 = ($4|0)==(0); + if ($14) { + $$1 = $13; + } else { + $15 = HEAP32[$0>>2]|0; + $16 = ((($15)) + 12|0); + $17 = HEAP32[$16>>2]|0; + $18 = ($17|0)==($4|0); + if ($18) { + $$1 = $13; + } else { + $19 = HEAP32[$5>>2]|0; + $20 = ($19|0)==(8); + $21 = ((($15)) + 4|0); + $22 = HEAP32[$21>>2]|0; + $23 = HEAP32[$15>>2]|0; + if ($20) { + $24 = (_stbi__convert_format($13,$17,$4,$23,$22)|0); + $$0 = $24; + } else { + $25 = (_stbi__convert_format16($13,$17,$4,$23,$22)|0); + $$0 = $25; + } + $26 = HEAP32[$0>>2]|0; + $27 = ((($26)) + 12|0); + HEAP32[$27>>2] = $4; + $28 = ($$0|0)==(0|0); + if ($28) { + $$045 = 0; + return ($$045|0); + } else { + $$1 = $$0; + } + } + } + $29 = HEAP32[$0>>2]|0; + $30 = HEAP32[$29>>2]|0; + HEAP32[$1>>2] = $30; + $31 = ((($29)) + 4|0); + $32 = HEAP32[$31>>2]|0; + HEAP32[$2>>2] = $32; + $33 = ($3|0)==(0|0); + if ($33) { + $$2 = $$1; + } else { + $34 = ((($29)) + 8|0); + $35 = HEAP32[$34>>2]|0; + HEAP32[$3>>2] = $35; + $$2 = $$1; + } + } + $36 = ((($0)) + 12|0); + $37 = HEAP32[$36>>2]|0; + _free($37); + HEAP32[$36>>2] = 0; + $38 = ((($0)) + 8|0); + $39 = HEAP32[$38>>2]|0; + _free($39); + HEAP32[$38>>2] = 0; + $40 = ((($0)) + 4|0); + $41 = HEAP32[$40>>2]|0; + _free($41); + HEAP32[$40>>2] = 0; + $$045 = $$2; + return ($$045|0); +} +function _stbi__parse_png_file($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$ = 0, $$$0217 = 0, $$0206 = 0, $$0211 = 0, $$0214 = 0, $$0217 = 0, $$0226593 = 0, $$0228 = 0, $$0231 = 0, $$0235 = 0, $$0239591 = 0, $$0241 = 0, $$0245 = 0, $$1207 = 0, $$1212 = 0, $$1215 = 0, $$1218 = 0, $$1227588 = 0, $$1229 = 0, $$1240589 = 0; + var $$1246 = 0, $$2219 = 0, $$2233 = 0, $$2237 = 0, $$2243 = 0, $$254 = 0, $$3209 = 0, $$3220 = 0, $$4 = 0, $$6$ph = 0, $$7 = 0, $$lobit = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0; + var $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0; + var $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0; + var $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0; + var $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0; + var $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0; + var $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $22 = 0, $23 = 0; + var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; + var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0; + var $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0; + var $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0; + var $97 = 0, $98 = 0, $99 = 0, $notlhs = 0, $notrhs = 0, $or$cond = 0, $or$cond11 = 0, $or$cond248 = 0, $or$cond5$not = 0, $or$cond7 = 0, $switch$split112D = 0, $switch$split142D = 0, $switch$split2D = 0, $switch$split52D = 0, $switch$split82D = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 1056|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1056|0); + $3 = sp + 32|0; + $4 = sp + 22|0; + $5 = sp + 16|0; + $6 = sp + 8|0; + $7 = sp; + $8 = HEAP32[$0>>2]|0; + $9 = ((($0)) + 8|0); + HEAP32[$9>>2] = 0; + $10 = ((($0)) + 4|0); + HEAP32[$10>>2] = 0; + $11 = ((($0)) + 12|0); + HEAP32[$11>>2] = 0; + $12 = (_stbi__check_png_header($8)|0); + $13 = ($12|0)==(0); + if ($13) { + $$7 = 0; + STACKTOP = sp;return ($$7|0); + } + $14 = ($1|0)==(1); + if ($14) { + $$7 = 1; + STACKTOP = sp;return ($$7|0); + } + $15 = ((($6)) + 4|0); + $16 = ((($8)) + 4|0); + $17 = ((($0)) + 16|0); + $18 = ((($8)) + 8|0); + $19 = ($1|0)==(2); + $20 = ((($8)) + 8|0); + $21 = ((($8)) + 8|0); + $22 = ((($0)) + 16|0); + $23 = ($1|0)==(2); + $24 = ($1|0)==(2); + $$0206 = 0;$$0211 = 0;$$0214 = 0;$$0217 = 0;$$0228 = 0;$$0231 = 0;$$0235 = 0;$$0241 = 1;$$0245 = 0; + L7: while(1) { + _stbi__get_chunk_header($6,$8); + $25 = HEAP32[$15>>2]|0; + $switch$split2D = ($25|0)<(1229472850); + L9: do { + if ($switch$split2D) { + $switch$split52D = ($25|0)<(1229209940); + if ($switch$split52D) { + switch ($25|0) { + case 1130840649: { + break; + } + default: { + label = 103; + break L9; + } + } + $26 = HEAP32[$6>>2]|0; + _stbi__skip($8,$26); + $$1212 = $$0211;$$1215 = $$0214;$$1229 = 1;$$1246 = $$0245;$$2233 = $$0231;$$2237 = $$0235;$$2243 = $$0241;$$3209 = $$0206;$$3220 = $$0217; + break; + } + $switch$split112D = ($25|0)<(1229278788); + if (!($switch$split112D)) { + switch ($25|0) { + case 1229278788: { + label = 85; + break L7; + break; + } + default: { + label = 103; + break L9; + } + } + } + switch ($25|0) { + case 1229209940: { + break; + } + default: { + label = 103; + break L9; + } + } + $130 = ($$0241|0)==(0); + if (!($130)) { + label = 70; + break L7; + } + $131 = ($$0206<<24>>24)==(0); + $132 = ($$0245|0)!=(0); + $or$cond = $132 | $131; + if (!($or$cond)) { + label = 72; + break L7; + } + if ($24) { + label = 74; + break L7; + } + $135 = HEAP32[$6>>2]|0; + $136 = (($135) + ($$0214))|0; + $137 = ($136|0)<($$0214|0); + if ($137) { + $$6$ph = 0; + break L7; + } + $138 = ($136>>>0)>($$0217>>>0); + if ($138) { + $139 = ($$0217|0)==(0); + $140 = ($135>>>0)>(4096); + $141 = $140 ? $135 : 4096; + $$$0217 = $139 ? $141 : $$0217; + $142 = HEAP32[$6>>2]|0; + $143 = (($142) + ($$0214))|0; + $$1218 = $$$0217; + while(1) { + $144 = ($143>>>0)>($$1218>>>0); + $145 = $$1218 << 1; + if ($144) { + $$1218 = $145; + } else { + break; + } + } + $146 = HEAP32[$10>>2]|0; + $147 = (_realloc($146,$$1218)|0); + $148 = ($147|0)==(0|0); + if ($148) { + label = 81; + break L7; + } + HEAP32[$10>>2] = $147; + $$2219 = $$1218; + } else { + $$2219 = $$0217; + } + $149 = HEAP32[$10>>2]|0; + $150 = (($149) + ($$0214)|0); + $151 = HEAP32[$6>>2]|0; + $152 = (_stbi__getn($8,$150,$151)|0); + $153 = ($152|0)==(0); + if ($153) { + label = 83; + break L7; + } + $154 = HEAP32[$6>>2]|0; + $155 = (($154) + ($$0214))|0; + $$1212 = $$0211;$$1215 = $155;$$1229 = $$0228;$$1246 = $$0245;$$2233 = $$0231;$$2237 = $$0235;$$2243 = $$0241;$$3209 = $$0206;$$3220 = $$2219; + } else { + $switch$split82D = ($25|0)<(1347179589); + if ($switch$split82D) { + switch ($25|0) { + case 1229472850: { + break; + } + default: { + label = 103; + break L9; + } + } + $27 = ($$0241|0)==(0); + if ($27) { + label = 7; + break L7; + } + $28 = HEAP32[$6>>2]|0; + $29 = ($28|0)==(13); + if (!($29)) { + label = 9; + break L7; + } + $30 = (_stbi__get32be($8)|0); + HEAP32[$8>>2] = $30; + $31 = ($30>>>0)>(16777216); + if ($31) { + label = 11; + break L7; + } + $32 = (_stbi__get32be($8)|0); + HEAP32[$16>>2] = $32; + $33 = ($32>>>0)>(16777216); + if ($33) { + label = 13; + break L7; + } + $34 = (_stbi__get8($8)|0); + $35 = $34&255; + HEAP32[$17>>2] = $35; + switch ($34<<24>>24) { + case 16: case 8: case 4: case 2: case 1: { + break; + } + default: { + label = 15; + break L7; + } + } + $36 = (_stbi__get8($8)|0); + $37 = $36&255; + $38 = ($36&255)>(6); + if ($38) { + label = 17; + break L7; + } + $39 = ($36<<24>>24)==(3); + if ($39) { + $40 = HEAP32[$17>>2]|0; + $41 = ($40|0)==(16); + if ($41) { + label = 20; + break L7; + } else { + $$1207 = 3; + } + } else { + $42 = $37 & 1; + $43 = ($42|0)==(0); + if ($43) { + $$1207 = $$0206; + } else { + label = 22; + break L7; + } + } + $44 = (_stbi__get8($8)|0); + $45 = ($44<<24>>24)==(0); + if (!($45)) { + label = 24; + break L7; + } + $46 = (_stbi__get8($8)|0); + $47 = ($46<<24>>24)==(0); + if (!($47)) { + label = 26; + break L7; + } + $48 = (_stbi__get8($8)|0); + $49 = $48&255; + $50 = ($48&255)>(1); + if ($50) { + label = 28; + break L7; + } + $51 = HEAP32[$8>>2]|0; + $52 = ($51|0)==(0); + if ($52) { + label = 31; + break L7; + } + $53 = HEAP32[$16>>2]|0; + $54 = ($53|0)==(0); + if ($54) { + label = 31; + break L7; + } + $55 = ($$1207<<24>>24)==(0); + $56 = (1073741824 / ($51>>>0))&-1; + if (!($55)) { + HEAP32[$20>>2] = 1; + $63 = $56 >>> 2; + $64 = ($63>>>0)<($53>>>0); + if ($64) { + label = 37; + break L7; + } else { + $$1212 = $$0211;$$1215 = $$0214;$$1229 = $$0228;$$1246 = $$0245;$$2233 = $37;$$2237 = $49;$$2243 = 0;$$3209 = $$1207;$$3220 = $$0217; + break; + } + } + $57 = $37 & 2; + $58 = $57 | 1; + $59 = $37 >>> 2; + $$lobit = $59 & 1; + $60 = (($58) + ($$lobit))|0; + HEAP32[$18>>2] = $60; + $61 = (($56>>>0) / ($60>>>0))&-1; + $62 = ($61>>>0)<($53>>>0); + if ($62) { + label = 34; + break L7; + } + if ($19) { + $$6$ph = 1; + break L7; + } else { + $$1212 = $$0211;$$1215 = $$0214;$$1229 = $$0228;$$1246 = $$0245;$$2233 = $37;$$2237 = $49;$$2243 = 0;$$3209 = 0;$$3220 = $$0217; + break; + } + } + $switch$split142D = ($25|0)<(1951551059); + if ($switch$split142D) { + switch ($25|0) { + case 1347179589: { + break; + } + default: { + label = 103; + break L9; + } + } + $65 = ($$0241|0)==(0); + if (!($65)) { + label = 39; + break L7; + } + $66 = HEAP32[$6>>2]|0; + $67 = ($66>>>0)>(768); + if ($67) { + label = 41; + break L7; + } + $68 = (($66>>>0) / 3)&-1; + $69 = ($68*3)|0; + $70 = ($69|0)==($66|0); + if (!($70)) { + label = 44; + break L7; + } + $71 = ($66>>>0)>(2); + if ($71) { + $$0226593 = 0; + } else { + $$1212 = $$0211;$$1215 = $$0214;$$1229 = $$0228;$$1246 = $68;$$2233 = $$0231;$$2237 = $$0235;$$2243 = 0;$$3209 = $$0206;$$3220 = $$0217; + break; + } + while(1) { + $72 = (_stbi__get8($8)|0); + $73 = $$0226593 << 2; + $74 = (($3) + ($73)|0); + HEAP8[$74>>0] = $72; + $75 = (_stbi__get8($8)|0); + $76 = $73 | 1; + $77 = (($3) + ($76)|0); + HEAP8[$77>>0] = $75; + $78 = (_stbi__get8($8)|0); + $79 = $73 | 2; + $80 = (($3) + ($79)|0); + HEAP8[$80>>0] = $78; + $81 = $73 | 3; + $82 = (($3) + ($81)|0); + HEAP8[$82>>0] = -1; + $83 = (($$0226593) + 1)|0; + $84 = ($83>>>0)<($68>>>0); + if ($84) { + $$0226593 = $83; + } else { + $$1212 = $$0211;$$1215 = $$0214;$$1229 = $$0228;$$1246 = $68;$$2233 = $$0231;$$2237 = $$0235;$$2243 = $$0241;$$3209 = $$0206;$$3220 = $$0217; + break L9; + } + } + } + switch ($25|0) { + case 1951551059: { + break; + } + default: { + label = 103; + break L9; + } + } + $85 = ($$0241|0)==(0); + if (!($85)) { + label = 47; + break L7; + } + $86 = HEAP32[$10>>2]|0; + $87 = ($86|0)==(0|0); + if (!($87)) { + label = 49; + break L7; + } + $88 = ($$0206<<24>>24)==(0); + if (!($88)) { + if ($23) { + label = 52; + break L7; + } + $90 = ($$0245|0)==(0); + if ($90) { + label = 54; + break L7; + } + $91 = HEAP32[$6>>2]|0; + $92 = ($91>>>0)>($$0245>>>0); + if ($92) { + label = 58; + break L7; + } + $93 = HEAP32[$6>>2]|0; + $94 = ($93|0)==(0); + if ($94) { + $$1212 = $$0211;$$1215 = $$0214;$$1229 = $$0228;$$1246 = $$0245;$$2233 = $$0231;$$2237 = $$0235;$$2243 = 0;$$3209 = 4;$$3220 = $$0217; + break; + } + $95 = HEAP32[$6>>2]|0; + $$1227588 = 0; + while(1) { + $96 = (_stbi__get8($8)|0); + $97 = $$1227588 << 2; + $98 = $97 | 3; + $99 = (($3) + ($98)|0); + HEAP8[$99>>0] = $96; + $100 = (($$1227588) + 1)|0; + $101 = ($100>>>0)<($95>>>0); + if ($101) { + $$1227588 = $100; + } else { + $$1212 = $$0211;$$1215 = $$0214;$$1229 = $$0228;$$1246 = $$0245;$$2233 = $$0231;$$2237 = $$0235;$$2243 = $$0241;$$3209 = 4;$$3220 = $$0217; + break L9; + } + } + } + $102 = HEAP32[$21>>2]|0; + $103 = $102 & 1; + $104 = ($103|0)==(0); + if ($104) { + label = 61; + break L7; + } + $105 = HEAP32[$6>>2]|0; + $106 = $102 << 1; + $107 = ($105|0)==($106|0); + if (!($107)) { + label = 63; + break L7; + } + $108 = HEAP32[$22>>2]|0; + $109 = ($108|0)==(16); + $110 = HEAP32[$21>>2]|0; + $111 = ($110|0)>(0); + if ($109) { + if ($111) { + $$0239591 = 0; + } else { + $$1212 = 1;$$1215 = $$0214;$$1229 = $$0228;$$1246 = $$0245;$$2233 = $$0231;$$2237 = $$0235;$$2243 = 0;$$3209 = 0;$$3220 = $$0217; + break; + } + while(1) { + $112 = (_stbi__get16be($8)|0); + $113 = $112&65535; + $114 = (($5) + ($$0239591<<1)|0); + HEAP16[$114>>1] = $113; + $115 = (($$0239591) + 1)|0; + $116 = HEAP32[$21>>2]|0; + $117 = ($115|0)<($116|0); + if ($117) { + $$0239591 = $115; + } else { + $$1212 = 1;$$1215 = $$0214;$$1229 = $$0228;$$1246 = $$0245;$$2233 = $$0231;$$2237 = $$0235;$$2243 = $$0241;$$3209 = $$0206;$$3220 = $$0217; + break; + } + } + } else { + if ($111) { + $$1240589 = 0; + } else { + $$1212 = 1;$$1215 = $$0214;$$1229 = $$0228;$$1246 = $$0245;$$2233 = $$0231;$$2237 = $$0235;$$2243 = 0;$$3209 = 0;$$3220 = $$0217; + break; + } + while(1) { + $118 = (_stbi__get16be($8)|0); + $119 = $118 & 255; + $120 = HEAP32[$22>>2]|0; + $121 = (12760 + ($120)|0); + $122 = HEAP8[$121>>0]|0; + $123 = $122&255; + $124 = Math_imul($123, $119)|0; + $125 = $124&255; + $126 = (($4) + ($$1240589)|0); + HEAP8[$126>>0] = $125; + $127 = (($$1240589) + 1)|0; + $128 = HEAP32[$21>>2]|0; + $129 = ($127|0)<($128|0); + if ($129) { + $$1240589 = $127; + } else { + $$1212 = 1;$$1215 = $$0214;$$1229 = $$0228;$$1246 = $$0245;$$2233 = $$0231;$$2237 = $$0235;$$2243 = $$0241;$$3209 = $$0206;$$3220 = $$0217; + break; + } + } + } + } + } while(0); + if ((label|0) == 103) { + label = 0; + $202 = ($$0241|0)==(0); + if (!($202)) { + label = 104; + break; + } + $203 = $25 & 536870912; + $204 = ($203|0)==(0); + if ($204) { + label = 106; + break; + } + $213 = HEAP32[$6>>2]|0; + _stbi__skip($8,$213); + $$1212 = $$0211;$$1215 = $$0214;$$1229 = $$0228;$$1246 = $$0245;$$2233 = $$0231;$$2237 = $$0235;$$2243 = 0;$$3209 = $$0206;$$3220 = $$0217; + } + (_stbi__get32be($8)|0); + $$0206 = $$3209;$$0211 = $$1212;$$0214 = $$1215;$$0217 = $$3220;$$0228 = $$1229;$$0231 = $$2233;$$0235 = $$2237;$$0241 = $$2243;$$0245 = $$1246; + } + switch (label|0) { + case 7: { + _stbi__err(12534); + $$6$ph = 0; + break; + } + case 9: { + _stbi__err(12548); + $$6$ph = 0; + break; + } + case 11: { + _stbi__err(12561); + $$6$ph = 0; + break; + } + case 13: { + _stbi__err(12561); + $$6$ph = 0; + break; + } + case 15: { + _stbi__err(12571); + $$6$ph = 0; + break; + } + case 17: { + _stbi__err(12591); + $$6$ph = 0; + break; + } + case 20: { + _stbi__err(12591); + $$6$ph = 0; + break; + } + case 22: { + _stbi__err(12591); + $$6$ph = 0; + break; + } + case 24: { + _stbi__err(12601); + $$6$ph = 0; + break; + } + case 26: { + _stbi__err(12617); + $$6$ph = 0; + break; + } + case 28: { + _stbi__err(12635); + $$6$ph = 0; + break; + } + case 31: { + _stbi__err(12656); + $$6$ph = 0; + break; + } + case 34: { + _stbi__err(12561); + $$6$ph = 0; + break; + } + case 37: { + _stbi__err(12561); + $$6$ph = 0; + break; + } + case 39: { + _stbi__err(12670); + $$6$ph = 0; + break; + } + case 41: { + _stbi__err(12685); + $$6$ph = 0; + break; + } + case 44: { + _stbi__err(12685); + $$6$ph = 0; + break; + } + case 47: { + _stbi__err(12670); + $$6$ph = 0; + break; + } + case 49: { + _stbi__err(12698); + $$6$ph = 0; + break; + } + case 52: { + $89 = ((($8)) + 8|0); + HEAP32[$89>>2] = 4; + $$6$ph = 1; + break; + } + case 54: { + _stbi__err(12714); + $$6$ph = 0; + break; + } + case 58: { + _stbi__err(12731); + $$6$ph = 0; + break; + } + case 61: { + _stbi__err(12744); + $$6$ph = 0; + break; + } + case 63: { + _stbi__err(12731); + $$6$ph = 0; + break; + } + case 70: { + _stbi__err(12670); + $$6$ph = 0; + break; + } + case 72: { + _stbi__err(12769); + $$6$ph = 0; + break; + } + case 74: { + $133 = $$0206&255; + $134 = ((($8)) + 8|0); + HEAP32[$134>>2] = $133; + $$6$ph = 1; + break; + } + case 81: { + _stbi__err(12418); + $$6$ph = 0; + break; + } + case 83: { + _stbi__err(12777); + $$6$ph = 0; + break; + } + case 85: { + $156 = ($$0241|0)==(0); + do { + if ($156) { + $157 = ($1|0)==(0); + if ($157) { + $158 = HEAP32[$10>>2]|0; + $159 = ($158|0)==(0|0); + if ($159) { + _stbi__err(12787); + $$4 = 0; + break; + } + $160 = HEAP32[$8>>2]|0; + $161 = ((($0)) + 16|0); + $162 = HEAP32[$161>>2]|0; + $163 = Math_imul($162, $160)|0; + $164 = (($163) + 7)|0; + $165 = $164 >>> 3; + $166 = ((($8)) + 4|0); + $167 = HEAP32[$166>>2]|0; + $168 = ((($8)) + 8|0); + $169 = HEAP32[$168>>2]|0; + $170 = Math_imul($169, $167)|0; + $171 = Math_imul($170, $165)|0; + $172 = (($171) + ($167))|0; + HEAP32[$7>>2] = $172; + $173 = ($$0228|0)!=(0); + $174 = $173 ^ 1; + $175 = $174&1; + $176 = (_stbi_zlib_decode_malloc_guesssize_headerflag($158,$$0214,$172,$7,$175)|0); + HEAP32[$9>>2] = $176; + $177 = ($176|0)==(0|0); + if ($177) { + $$4 = 0; + } else { + $178 = HEAP32[$10>>2]|0; + _free($178); + HEAP32[$10>>2] = 0; + $179 = HEAP32[$168>>2]|0; + $180 = (($179) + 1)|0; + $notlhs = ($180|0)!=($2|0); + $notrhs = ($2|0)==(3); + $or$cond5$not = $notrhs | $notlhs; + $181 = ($$0206<<24>>24)!=(0); + $or$cond7 = $181 | $or$cond5$not; + $182 = ($$0211<<24>>24)==(0); + $or$cond248 = $182 & $or$cond7; + $$254 = $or$cond248 ? $179 : $180; + $183 = ((($8)) + 12|0); + HEAP32[$183>>2] = $$254; + $184 = HEAP32[$9>>2]|0; + $185 = HEAP32[$7>>2]|0; + $186 = HEAP32[$161>>2]|0; + $187 = (_stbi__create_png_image($0,$184,$185,$$254,$186,$$0231,$$0235)|0); + $188 = ($187|0)==(0); + if ($188) { + $$4 = 0; + } else { + do { + if (!($182)) { + $189 = HEAP32[$161>>2]|0; + $190 = ($189|0)==(16); + if ($190) { + $191 = HEAP32[$183>>2]|0; + _stbi__compute_transparency16($0,$5,$191); + break; + } else { + $192 = HEAP32[$183>>2]|0; + _stbi__compute_transparency($0,$4,$192); + break; + } + } + } while(0); + $193 = HEAP32[84371]|0; + $194 = ($193|0)!=(0); + $or$cond11 = $173 & $194; + if ($or$cond11) { + $195 = HEAP32[$183>>2]|0; + $196 = ($195|0)>(2); + if ($196) { + _stbi__de_iphone($0); + } + } + if ($181) { + $197 = $$0206&255; + HEAP32[$168>>2] = $197; + $198 = ($2|0)>(2); + $$ = $198 ? $2 : $197; + HEAP32[$183>>2] = $$; + $199 = (_stbi__expand_png_palette($0,$3,$$)|0); + $200 = ($199|0)==(0); + if ($200) { + $$4 = 0; + break; + } + } + $201 = HEAP32[$9>>2]|0; + _free($201); + HEAP32[$9>>2] = 0; + $$4 = 1; + } + } + } else { + $$4 = 1; + } + } else { + _stbi__err(12670); + $$4 = 0; + } + } while(0); + $$6$ph = $$4; + break; + } + case 104: { + _stbi__err(12670); + $$6$ph = 0; + break; + } + case 106: { + $205 = $25 >>> 24; + $206 = $205&255; + HEAP8[12795] = $206; + $207 = HEAP32[$15>>2]|0; + $208 = $207 >>> 16; + $209 = $208&255; + HEAP8[(12796)>>0] = $209; + $210 = $207 >>> 8; + $211 = $210&255; + HEAP8[(12797)>>0] = $211; + $212 = $207&255; + HEAP8[(12798)>>0] = $212; + _stbi__err(12795); + $$6$ph = 0; + break; + } + } + $$7 = $$6$ph; + STACKTOP = sp;return ($$7|0); +} +function _stbi__convert_format($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$0151255 = 0, $$0163 = 0, $$0164259 = 0, $$0165 = 0, $$0165254 = 0, $$0165257 = 0, $$0256 = 0, $$10161205 = 0, $$10175 = 0, $$10175204 = 0, $$10175207 = 0, $$10206 = 0, $$11162201 = 0, $$11176 = 0, $$11176200 = 0, $$11176203 = 0, $$11202 = 0, $$1152250 = 0, $$1166 = 0, $$1166249 = 0; + var $$1166252 = 0, $$1251 = 0, $$2153245 = 0, $$2167 = 0, $$2167244 = 0, $$2167247 = 0, $$2246 = 0, $$3154240 = 0, $$3168 = 0, $$3168239 = 0, $$3168242 = 0, $$3241 = 0, $$4155235 = 0, $$4169 = 0, $$4169234 = 0, $$4169237 = 0, $$4236 = 0, $$5156230 = 0, $$5170 = 0, $$5170229 = 0; + var $$5170232 = 0, $$5231 = 0, $$6157225 = 0, $$6171 = 0, $$6171224 = 0, $$6171227 = 0, $$6226 = 0, $$7158220 = 0, $$7172 = 0, $$7172219 = 0, $$7172222 = 0, $$7221 = 0, $$8159215 = 0, $$8173 = 0, $$8173214 = 0, $$8173217 = 0, $$8216 = 0, $$9160210 = 0, $$9174 = 0, $$9174209 = 0; + var $$9174212 = 0, $$9211 = 0, $$off = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0; + var $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0; + var $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; + var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; + var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0; + var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0; + var $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0; + var sp = 0; + sp = STACKTOP; + $5 = ($2|0)==($1|0); + if ($5) { + $$0163 = $0; + return ($$0163|0); + } + $$off = (($2) + -1)|0; + $6 = ($$off>>>0)<(4); + if (!($6)) { + ___assert_fail((12459|0),(12363|0),1477,(12513|0)); + // unreachable; + } + $7 = (_stbi__malloc_mad3($2,$3,$4)|0); + $8 = ($7|0)==(0|0); + if ($8) { + _free($0); + _stbi__err(12418); + $$0163 = 0; + return ($$0163|0); + } + $9 = ($4|0)>(0); + L11: do { + if ($9) { + $10 = $1 << 3; + $11 = (($10) + ($2))|0; + $$0165254 = (($3) + -1)|0; + $12 = ($$0165254|0)>(-1); + $$1166249 = (($3) + -1)|0; + $13 = ($$1166249|0)>(-1); + $$2167244 = (($3) + -1)|0; + $14 = ($$2167244|0)>(-1); + $$3168239 = (($3) + -1)|0; + $15 = ($$3168239|0)>(-1); + $$4169234 = (($3) + -1)|0; + $16 = ($$4169234|0)>(-1); + $$5170229 = (($3) + -1)|0; + $17 = ($$5170229|0)>(-1); + $$6171224 = (($3) + -1)|0; + $18 = ($$6171224|0)>(-1); + $$7172219 = (($3) + -1)|0; + $19 = ($$7172219|0)>(-1); + $$8173214 = (($3) + -1)|0; + $20 = ($$8173214|0)>(-1); + $$9174209 = (($3) + -1)|0; + $21 = ($$9174209|0)>(-1); + $$10175204 = (($3) + -1)|0; + $22 = ($$10175204|0)>(-1); + $$11176200 = (($3) + -1)|0; + $23 = ($$11176200|0)>(-1); + $$0164259 = 0; + L13: while(1) { + $24 = Math_imul($$0164259, $3)|0; + $25 = Math_imul($24, $1)|0; + $26 = (($0) + ($25)|0); + $27 = Math_imul($24, $2)|0; + $28 = (($7) + ($27)|0); + do { + switch ($11|0) { + case 10: { + if ($12) { + $$0151255 = $26;$$0165257 = $$0165254;$$0256 = $28; + while(1) { + $29 = HEAP8[$$0151255>>0]|0; + HEAP8[$$0256>>0] = $29; + $30 = ((($$0256)) + 1|0); + HEAP8[$30>>0] = -1; + $31 = ((($$0151255)) + 1|0); + $32 = ((($$0256)) + 2|0); + $$0165 = (($$0165257) + -1)|0; + $33 = ($$0165|0)>(-1); + if ($33) { + $$0151255 = $31;$$0165257 = $$0165;$$0256 = $32; + } else { + break; + } + } + } + break; + } + case 11: { + if ($13) { + $$1152250 = $26;$$1166252 = $$1166249;$$1251 = $28; + while(1) { + $34 = HEAP8[$$1152250>>0]|0; + $35 = ((($$1251)) + 2|0); + HEAP8[$35>>0] = $34; + $36 = ((($$1251)) + 1|0); + HEAP8[$36>>0] = $34; + HEAP8[$$1251>>0] = $34; + $37 = ((($$1152250)) + 1|0); + $38 = ((($$1251)) + 3|0); + $$1166 = (($$1166252) + -1)|0; + $39 = ($$1166|0)>(-1); + if ($39) { + $$1152250 = $37;$$1166252 = $$1166;$$1251 = $38; + } else { + break; + } + } + } + break; + } + case 12: { + if ($14) { + $$2153245 = $26;$$2167247 = $$2167244;$$2246 = $28; + while(1) { + $40 = HEAP8[$$2153245>>0]|0; + $41 = ((($$2246)) + 2|0); + HEAP8[$41>>0] = $40; + $42 = ((($$2246)) + 1|0); + HEAP8[$42>>0] = $40; + HEAP8[$$2246>>0] = $40; + $43 = ((($$2246)) + 3|0); + HEAP8[$43>>0] = -1; + $44 = ((($$2153245)) + 1|0); + $45 = ((($$2246)) + 4|0); + $$2167 = (($$2167247) + -1)|0; + $46 = ($$2167|0)>(-1); + if ($46) { + $$2153245 = $44;$$2167247 = $$2167;$$2246 = $45; + } else { + break; + } + } + } + break; + } + case 17: { + if ($15) { + $$3154240 = $26;$$3168242 = $$3168239;$$3241 = $28; + while(1) { + $47 = HEAP8[$$3154240>>0]|0; + HEAP8[$$3241>>0] = $47; + $48 = ((($$3154240)) + 2|0); + $49 = ((($$3241)) + 1|0); + $$3168 = (($$3168242) + -1)|0; + $50 = ($$3168|0)>(-1); + if ($50) { + $$3154240 = $48;$$3168242 = $$3168;$$3241 = $49; + } else { + break; + } + } + } + break; + } + case 19: { + if ($16) { + $$4155235 = $26;$$4169237 = $$4169234;$$4236 = $28; + while(1) { + $51 = HEAP8[$$4155235>>0]|0; + $52 = ((($$4236)) + 2|0); + HEAP8[$52>>0] = $51; + $53 = ((($$4236)) + 1|0); + HEAP8[$53>>0] = $51; + HEAP8[$$4236>>0] = $51; + $54 = ((($$4155235)) + 2|0); + $55 = ((($$4236)) + 3|0); + $$4169 = (($$4169237) + -1)|0; + $56 = ($$4169|0)>(-1); + if ($56) { + $$4155235 = $54;$$4169237 = $$4169;$$4236 = $55; + } else { + break; + } + } + } + break; + } + case 20: { + if ($17) { + $$5156230 = $26;$$5170232 = $$5170229;$$5231 = $28; + while(1) { + $57 = HEAP8[$$5156230>>0]|0; + $58 = ((($$5231)) + 2|0); + HEAP8[$58>>0] = $57; + $59 = ((($$5231)) + 1|0); + HEAP8[$59>>0] = $57; + HEAP8[$$5231>>0] = $57; + $60 = ((($$5156230)) + 1|0); + $61 = HEAP8[$60>>0]|0; + $62 = ((($$5231)) + 3|0); + HEAP8[$62>>0] = $61; + $63 = ((($$5156230)) + 2|0); + $64 = ((($$5231)) + 4|0); + $$5170 = (($$5170232) + -1)|0; + $65 = ($$5170|0)>(-1); + if ($65) { + $$5156230 = $63;$$5170232 = $$5170;$$5231 = $64; + } else { + break; + } + } + } + break; + } + case 28: { + if ($18) { + $$6157225 = $26;$$6171227 = $$6171224;$$6226 = $28; + while(1) { + $66 = HEAP8[$$6157225>>0]|0; + HEAP8[$$6226>>0] = $66; + $67 = ((($$6157225)) + 1|0); + $68 = HEAP8[$67>>0]|0; + $69 = ((($$6226)) + 1|0); + HEAP8[$69>>0] = $68; + $70 = ((($$6157225)) + 2|0); + $71 = HEAP8[$70>>0]|0; + $72 = ((($$6226)) + 2|0); + HEAP8[$72>>0] = $71; + $73 = ((($$6226)) + 3|0); + HEAP8[$73>>0] = -1; + $74 = ((($$6157225)) + 3|0); + $75 = ((($$6226)) + 4|0); + $$6171 = (($$6171227) + -1)|0; + $76 = ($$6171|0)>(-1); + if ($76) { + $$6157225 = $74;$$6171227 = $$6171;$$6226 = $75; + } else { + break; + } + } + } + break; + } + case 25: { + if ($19) { + $$7158220 = $26;$$7172222 = $$7172219;$$7221 = $28; + while(1) { + $77 = HEAP8[$$7158220>>0]|0; + $78 = $77&255; + $79 = ((($$7158220)) + 1|0); + $80 = HEAP8[$79>>0]|0; + $81 = $80&255; + $82 = ((($$7158220)) + 2|0); + $83 = HEAP8[$82>>0]|0; + $84 = $83&255; + $85 = (_stbi__compute_y($78,$81,$84)|0); + HEAP8[$$7221>>0] = $85; + $86 = ((($$7158220)) + 3|0); + $87 = ((($$7221)) + 1|0); + $$7172 = (($$7172222) + -1)|0; + $88 = ($$7172|0)>(-1); + if ($88) { + $$7158220 = $86;$$7172222 = $$7172;$$7221 = $87; + } else { + break; + } + } + } + break; + } + case 26: { + if ($20) { + $$8159215 = $26;$$8173217 = $$8173214;$$8216 = $28; + while(1) { + $89 = HEAP8[$$8159215>>0]|0; + $90 = $89&255; + $91 = ((($$8159215)) + 1|0); + $92 = HEAP8[$91>>0]|0; + $93 = $92&255; + $94 = ((($$8159215)) + 2|0); + $95 = HEAP8[$94>>0]|0; + $96 = $95&255; + $97 = (_stbi__compute_y($90,$93,$96)|0); + HEAP8[$$8216>>0] = $97; + $98 = ((($$8216)) + 1|0); + HEAP8[$98>>0] = -1; + $99 = ((($$8159215)) + 3|0); + $100 = ((($$8216)) + 2|0); + $$8173 = (($$8173217) + -1)|0; + $101 = ($$8173|0)>(-1); + if ($101) { + $$8159215 = $99;$$8173217 = $$8173;$$8216 = $100; + } else { + break; + } + } + } + break; + } + case 33: { + if ($21) { + $$9160210 = $26;$$9174212 = $$9174209;$$9211 = $28; + while(1) { + $102 = HEAP8[$$9160210>>0]|0; + $103 = $102&255; + $104 = ((($$9160210)) + 1|0); + $105 = HEAP8[$104>>0]|0; + $106 = $105&255; + $107 = ((($$9160210)) + 2|0); + $108 = HEAP8[$107>>0]|0; + $109 = $108&255; + $110 = (_stbi__compute_y($103,$106,$109)|0); + HEAP8[$$9211>>0] = $110; + $111 = ((($$9160210)) + 4|0); + $112 = ((($$9211)) + 1|0); + $$9174 = (($$9174212) + -1)|0; + $113 = ($$9174|0)>(-1); + if ($113) { + $$9160210 = $111;$$9174212 = $$9174;$$9211 = $112; + } else { + break; + } + } + } + break; + } + case 34: { + if ($22) { + $$10161205 = $26;$$10175207 = $$10175204;$$10206 = $28; + while(1) { + $114 = HEAP8[$$10161205>>0]|0; + $115 = $114&255; + $116 = ((($$10161205)) + 1|0); + $117 = HEAP8[$116>>0]|0; + $118 = $117&255; + $119 = ((($$10161205)) + 2|0); + $120 = HEAP8[$119>>0]|0; + $121 = $120&255; + $122 = (_stbi__compute_y($115,$118,$121)|0); + HEAP8[$$10206>>0] = $122; + $123 = ((($$10161205)) + 3|0); + $124 = HEAP8[$123>>0]|0; + $125 = ((($$10206)) + 1|0); + HEAP8[$125>>0] = $124; + $126 = ((($$10161205)) + 4|0); + $127 = ((($$10206)) + 2|0); + $$10175 = (($$10175207) + -1)|0; + $128 = ($$10175|0)>(-1); + if ($128) { + $$10161205 = $126;$$10175207 = $$10175;$$10206 = $127; + } else { + break; + } + } + } + break; + } + case 35: { + if ($23) { + $$11162201 = $26;$$11176203 = $$11176200;$$11202 = $28; + while(1) { + $129 = HEAP8[$$11162201>>0]|0; + HEAP8[$$11202>>0] = $129; + $130 = ((($$11162201)) + 1|0); + $131 = HEAP8[$130>>0]|0; + $132 = ((($$11202)) + 1|0); + HEAP8[$132>>0] = $131; + $133 = ((($$11162201)) + 2|0); + $134 = HEAP8[$133>>0]|0; + $135 = ((($$11202)) + 2|0); + HEAP8[$135>>0] = $134; + $136 = ((($$11162201)) + 4|0); + $137 = ((($$11202)) + 3|0); + $$11176 = (($$11176203) + -1)|0; + $138 = ($$11176|0)>(-1); + if ($138) { + $$11162201 = $136;$$11176203 = $$11176;$$11202 = $137; + } else { + break; + } + } + } + break; + } + default: { + break L13; + } + } + } while(0); + $139 = (($$0164259) + 1)|0; + $140 = ($139|0)<($4|0); + if ($140) { + $$0164259 = $139; + } else { + break L11; + } + } + ___assert_fail((17531|0),(12363|0),1506,(12513|0)); + // unreachable; + } + } while(0); + _free($0); + $$0163 = $7; + return ($$0163|0); +} +function _stbi__convert_format16($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$0151255 = 0, $$0163 = 0, $$0164259 = 0, $$0165 = 0, $$0165254 = 0, $$0165257 = 0, $$0256 = 0, $$10161205 = 0, $$10175 = 0, $$10175204 = 0, $$10175207 = 0, $$10206 = 0, $$11162201 = 0, $$11176 = 0, $$11176200 = 0, $$11176203 = 0, $$11202 = 0, $$1152250 = 0, $$1166 = 0, $$1166249 = 0; + var $$1166252 = 0, $$1251 = 0, $$2153245 = 0, $$2167 = 0, $$2167244 = 0, $$2167247 = 0, $$2246 = 0, $$3154240 = 0, $$3168 = 0, $$3168239 = 0, $$3168242 = 0, $$3241 = 0, $$4155235 = 0, $$4169 = 0, $$4169234 = 0, $$4169237 = 0, $$4236 = 0, $$5156230 = 0, $$5170 = 0, $$5170229 = 0; + var $$5170232 = 0, $$5231 = 0, $$6157225 = 0, $$6171 = 0, $$6171224 = 0, $$6171227 = 0, $$6226 = 0, $$7158220 = 0, $$7172 = 0, $$7172219 = 0, $$7172222 = 0, $$7221 = 0, $$8159215 = 0, $$8173 = 0, $$8173214 = 0, $$8173217 = 0, $$8216 = 0, $$9160210 = 0, $$9174 = 0, $$9174209 = 0; + var $$9174212 = 0, $$9211 = 0, $$off = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0; + var $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0; + var $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0; + var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0; + var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0; + var $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0; + var $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0; + var $98 = 0, $99 = 0, label = 0, sp = 0; + sp = STACKTOP; + $5 = ($2|0)==($1|0); + if ($5) { + $$0163 = $0; + return ($$0163|0); + } + $$off = (($2) + -1)|0; + $6 = ($$off>>>0)<(4); + if (!($6)) { + ___assert_fail((12459|0),(12363|0),1526,(12490|0)); + // unreachable; + } + $7 = $2 << 1; + $8 = Math_imul($7, $3)|0; + $9 = Math_imul($8, $4)|0; + $10 = (_stbi__malloc($9)|0); + $11 = ($10|0)==(0|0); + if ($11) { + _free($0); + _stbi__err(12418); + $$0163 = 0; + return ($$0163|0); + } + $12 = ($4|0)>(0); + L11: do { + if ($12) { + $13 = $1 << 3; + $14 = (($13) + ($2))|0; + $$0165254 = (($3) + -1)|0; + $15 = ($$0165254|0)>(-1); + $$1166249 = (($3) + -1)|0; + $16 = ($$1166249|0)>(-1); + $$2167244 = (($3) + -1)|0; + $17 = ($$2167244|0)>(-1); + $$3168239 = (($3) + -1)|0; + $18 = ($$3168239|0)>(-1); + $$4169234 = (($3) + -1)|0; + $19 = ($$4169234|0)>(-1); + $$5170229 = (($3) + -1)|0; + $20 = ($$5170229|0)>(-1); + $$6171224 = (($3) + -1)|0; + $21 = ($$6171224|0)>(-1); + $$7172219 = (($3) + -1)|0; + $22 = ($$7172219|0)>(-1); + $$8173214 = (($3) + -1)|0; + $23 = ($$8173214|0)>(-1); + $$9174209 = (($3) + -1)|0; + $24 = ($$9174209|0)>(-1); + $$10175204 = (($3) + -1)|0; + $25 = ($$10175204|0)>(-1); + $$11176200 = (($3) + -1)|0; + $26 = ($$11176200|0)>(-1); + $$0164259 = 0; + L13: while(1) { + $27 = Math_imul($$0164259, $3)|0; + $28 = Math_imul($27, $1)|0; + $29 = (($0) + ($28<<1)|0); + $30 = Math_imul($27, $2)|0; + $31 = (($10) + ($30<<1)|0); + do { + switch ($14|0) { + case 10: { + if ($15) { + $$0151255 = $29;$$0165257 = $$0165254;$$0256 = $31; + while(1) { + $32 = HEAP16[$$0151255>>1]|0; + HEAP16[$$0256>>1] = $32; + $33 = ((($$0256)) + 2|0); + HEAP16[$33>>1] = -1; + $34 = ((($$0151255)) + 2|0); + $35 = ((($$0256)) + 4|0); + $$0165 = (($$0165257) + -1)|0; + $36 = ($$0165|0)>(-1); + if ($36) { + $$0151255 = $34;$$0165257 = $$0165;$$0256 = $35; + } else { + break; + } + } + } + break; + } + case 11: { + if ($16) { + $$1152250 = $29;$$1166252 = $$1166249;$$1251 = $31; + while(1) { + $37 = HEAP16[$$1152250>>1]|0; + $38 = ((($$1251)) + 4|0); + HEAP16[$38>>1] = $37; + $39 = ((($$1251)) + 2|0); + HEAP16[$39>>1] = $37; + HEAP16[$$1251>>1] = $37; + $40 = ((($$1152250)) + 2|0); + $41 = ((($$1251)) + 6|0); + $$1166 = (($$1166252) + -1)|0; + $42 = ($$1166|0)>(-1); + if ($42) { + $$1152250 = $40;$$1166252 = $$1166;$$1251 = $41; + } else { + break; + } + } + } + break; + } + case 12: { + if ($17) { + $$2153245 = $29;$$2167247 = $$2167244;$$2246 = $31; + while(1) { + $43 = HEAP16[$$2153245>>1]|0; + $44 = ((($$2246)) + 4|0); + HEAP16[$44>>1] = $43; + $45 = ((($$2246)) + 2|0); + HEAP16[$45>>1] = $43; + HEAP16[$$2246>>1] = $43; + $46 = ((($$2246)) + 6|0); + HEAP16[$46>>1] = -1; + $47 = ((($$2153245)) + 2|0); + $48 = ((($$2246)) + 8|0); + $$2167 = (($$2167247) + -1)|0; + $49 = ($$2167|0)>(-1); + if ($49) { + $$2153245 = $47;$$2167247 = $$2167;$$2246 = $48; + } else { + break; + } + } + } + break; + } + case 17: { + if ($18) { + $$3154240 = $29;$$3168242 = $$3168239;$$3241 = $31; + while(1) { + $50 = HEAP16[$$3154240>>1]|0; + HEAP16[$$3241>>1] = $50; + $51 = ((($$3154240)) + 4|0); + $52 = ((($$3241)) + 2|0); + $$3168 = (($$3168242) + -1)|0; + $53 = ($$3168|0)>(-1); + if ($53) { + $$3154240 = $51;$$3168242 = $$3168;$$3241 = $52; + } else { + break; + } + } + } + break; + } + case 19: { + if ($19) { + $$4155235 = $29;$$4169237 = $$4169234;$$4236 = $31; + while(1) { + $54 = HEAP16[$$4155235>>1]|0; + $55 = ((($$4236)) + 4|0); + HEAP16[$55>>1] = $54; + $56 = ((($$4236)) + 2|0); + HEAP16[$56>>1] = $54; + HEAP16[$$4236>>1] = $54; + $57 = ((($$4155235)) + 4|0); + $58 = ((($$4236)) + 6|0); + $$4169 = (($$4169237) + -1)|0; + $59 = ($$4169|0)>(-1); + if ($59) { + $$4155235 = $57;$$4169237 = $$4169;$$4236 = $58; + } else { + break; + } + } + } + break; + } + case 20: { + if ($20) { + $$5156230 = $29;$$5170232 = $$5170229;$$5231 = $31; + while(1) { + $60 = HEAP16[$$5156230>>1]|0; + $61 = ((($$5231)) + 4|0); + HEAP16[$61>>1] = $60; + $62 = ((($$5231)) + 2|0); + HEAP16[$62>>1] = $60; + HEAP16[$$5231>>1] = $60; + $63 = ((($$5156230)) + 2|0); + $64 = HEAP16[$63>>1]|0; + $65 = ((($$5231)) + 6|0); + HEAP16[$65>>1] = $64; + $66 = ((($$5156230)) + 4|0); + $67 = ((($$5231)) + 8|0); + $$5170 = (($$5170232) + -1)|0; + $68 = ($$5170|0)>(-1); + if ($68) { + $$5156230 = $66;$$5170232 = $$5170;$$5231 = $67; + } else { + break; + } + } + } + break; + } + case 28: { + if ($21) { + $$6157225 = $29;$$6171227 = $$6171224;$$6226 = $31; + while(1) { + $69 = HEAP16[$$6157225>>1]|0; + HEAP16[$$6226>>1] = $69; + $70 = ((($$6157225)) + 2|0); + $71 = HEAP16[$70>>1]|0; + $72 = ((($$6226)) + 2|0); + HEAP16[$72>>1] = $71; + $73 = ((($$6157225)) + 4|0); + $74 = HEAP16[$73>>1]|0; + $75 = ((($$6226)) + 4|0); + HEAP16[$75>>1] = $74; + $76 = ((($$6226)) + 6|0); + HEAP16[$76>>1] = -1; + $77 = ((($$6157225)) + 6|0); + $78 = ((($$6226)) + 8|0); + $$6171 = (($$6171227) + -1)|0; + $79 = ($$6171|0)>(-1); + if ($79) { + $$6157225 = $77;$$6171227 = $$6171;$$6226 = $78; + } else { + break; + } + } + } + break; + } + case 25: { + if ($22) { + $$7158220 = $29;$$7172222 = $$7172219;$$7221 = $31; + while(1) { + $80 = HEAP16[$$7158220>>1]|0; + $81 = $80&65535; + $82 = ((($$7158220)) + 2|0); + $83 = HEAP16[$82>>1]|0; + $84 = $83&65535; + $85 = ((($$7158220)) + 4|0); + $86 = HEAP16[$85>>1]|0; + $87 = $86&65535; + $88 = (_stbi__compute_y_16($81,$84,$87)|0); + HEAP16[$$7221>>1] = $88; + $89 = ((($$7158220)) + 6|0); + $90 = ((($$7221)) + 2|0); + $$7172 = (($$7172222) + -1)|0; + $91 = ($$7172|0)>(-1); + if ($91) { + $$7158220 = $89;$$7172222 = $$7172;$$7221 = $90; + } else { + break; + } + } + } + break; + } + case 26: { + if ($23) { + $$8159215 = $29;$$8173217 = $$8173214;$$8216 = $31; + while(1) { + $92 = HEAP16[$$8159215>>1]|0; + $93 = $92&65535; + $94 = ((($$8159215)) + 2|0); + $95 = HEAP16[$94>>1]|0; + $96 = $95&65535; + $97 = ((($$8159215)) + 4|0); + $98 = HEAP16[$97>>1]|0; + $99 = $98&65535; + $100 = (_stbi__compute_y_16($93,$96,$99)|0); + HEAP16[$$8216>>1] = $100; + $101 = ((($$8216)) + 2|0); + HEAP16[$101>>1] = -1; + $102 = ((($$8159215)) + 6|0); + $103 = ((($$8216)) + 4|0); + $$8173 = (($$8173217) + -1)|0; + $104 = ($$8173|0)>(-1); + if ($104) { + $$8159215 = $102;$$8173217 = $$8173;$$8216 = $103; + } else { + break; + } + } + } + break; + } + case 33: { + if ($24) { + $$9160210 = $29;$$9174212 = $$9174209;$$9211 = $31; + while(1) { + $105 = HEAP16[$$9160210>>1]|0; + $106 = $105&65535; + $107 = ((($$9160210)) + 2|0); + $108 = HEAP16[$107>>1]|0; + $109 = $108&65535; + $110 = ((($$9160210)) + 4|0); + $111 = HEAP16[$110>>1]|0; + $112 = $111&65535; + $113 = (_stbi__compute_y_16($106,$109,$112)|0); + HEAP16[$$9211>>1] = $113; + $114 = ((($$9160210)) + 8|0); + $115 = ((($$9211)) + 2|0); + $$9174 = (($$9174212) + -1)|0; + $116 = ($$9174|0)>(-1); + if ($116) { + $$9160210 = $114;$$9174212 = $$9174;$$9211 = $115; + } else { + break; + } + } + } + break; + } + case 34: { + if ($25) { + $$10161205 = $29;$$10175207 = $$10175204;$$10206 = $31; + while(1) { + $117 = HEAP16[$$10161205>>1]|0; + $118 = $117&65535; + $119 = ((($$10161205)) + 2|0); + $120 = HEAP16[$119>>1]|0; + $121 = $120&65535; + $122 = ((($$10161205)) + 4|0); + $123 = HEAP16[$122>>1]|0; + $124 = $123&65535; + $125 = (_stbi__compute_y_16($118,$121,$124)|0); + HEAP16[$$10206>>1] = $125; + $126 = ((($$10161205)) + 6|0); + $127 = HEAP16[$126>>1]|0; + $128 = ((($$10206)) + 2|0); + HEAP16[$128>>1] = $127; + $129 = ((($$10161205)) + 8|0); + $130 = ((($$10206)) + 4|0); + $$10175 = (($$10175207) + -1)|0; + $131 = ($$10175|0)>(-1); + if ($131) { + $$10161205 = $129;$$10175207 = $$10175;$$10206 = $130; + } else { + break; + } + } + } + break; + } + case 35: { + if ($26) { + $$11162201 = $29;$$11176203 = $$11176200;$$11202 = $31; + while(1) { + $132 = HEAP16[$$11162201>>1]|0; + HEAP16[$$11202>>1] = $132; + $133 = ((($$11162201)) + 2|0); + $134 = HEAP16[$133>>1]|0; + $135 = ((($$11202)) + 2|0); + HEAP16[$135>>1] = $134; + $136 = ((($$11162201)) + 4|0); + $137 = HEAP16[$136>>1]|0; + $138 = ((($$11202)) + 4|0); + HEAP16[$138>>1] = $137; + $139 = ((($$11162201)) + 8|0); + $140 = ((($$11202)) + 6|0); + $$11176 = (($$11176203) + -1)|0; + $141 = ($$11176|0)>(-1); + if ($141) { + $$11162201 = $139;$$11176203 = $$11176;$$11202 = $140; + } else { + break; + } + } + } + break; + } + default: { + break L13; + } + } + } while(0); + $142 = (($$0164259) + 1)|0; + $143 = ($142|0)<($4|0); + if ($143) { + $$0164259 = $142; + } else { + break L11; + } + } + ___assert_fail((17531|0),(12363|0),1555,(12490|0)); + // unreachable; + } + } while(0); + _free($0); + $$0163 = $10; + return ($$0163|0); +} +function _stbi__compute_y_16($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ($0*77)|0; + $4 = ($1*150)|0; + $5 = (($4) + ($3))|0; + $6 = ($2*29)|0; + $7 = (($5) + ($6))|0; + $8 = $7 >>> 8; + $9 = $8&65535; + return ($9|0); +} +function _stbi__malloc_mad3($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$0 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = (_stbi__mad3sizes_valid($0,$1,$2)|0); + $4 = ($3|0)==(0); + if ($4) { + $$0 = 0; + return ($$0|0); + } + $5 = Math_imul($1, $0)|0; + $6 = Math_imul($5, $2)|0; + $7 = (_stbi__malloc($6)|0); + $$0 = $7; + return ($$0|0); +} +function _stbi__compute_y($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ($0*77)|0; + $4 = ($1*150)|0; + $5 = (($4) + ($3))|0; + $6 = ($2*29)|0; + $7 = (($5) + ($6))|0; + $8 = $7 >>> 8; + $9 = $8&255; + return ($9|0); +} +function _stbi__mad3sizes_valid($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = (_stbi__mul2sizes_valid($0,$1)|0); + $4 = ($3|0)==(0); + if ($4) { + $12 = 0; + } else { + $5 = Math_imul($1, $0)|0; + $6 = (_stbi__mul2sizes_valid($5,$2)|0); + $7 = ($6|0)==(0); + if ($7) { + $12 = 0; + } else { + $8 = Math_imul($5, $2)|0; + $9 = (_stbi__addsizes_valid($8)|0); + $10 = ($9|0)!=(0); + $12 = $10; + } + } + $11 = $12&1; + return ($11|0); +} +function _stbi__mul2sizes_valid($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = $1 | $0; + $3 = ($2|0)<(0); + if ($3) { + $$0 = 0; + } else { + $4 = ($1|0)==(0); + if ($4) { + $$0 = 1; + } else { + $5 = (2147483647 / ($1|0))&-1; + $6 = ($5|0)>=($0|0); + $7 = $6&1; + $$0 = $7; + } + } + return ($$0|0); +} +function _stbi__addsizes_valid($0) { + $0 = $0|0; + var label = 0, sp = 0; + sp = STACKTOP; + return 1; +} +function _stbi__check_png_header($0) { + $0 = $0|0; + var $$05 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (_stbi__get8($0)|0); + $2 = ($1<<24>>24)==(-119); + if ($2) { + $3 = (_stbi__get8($0)|0); + $4 = ($3<<24>>24)==(80); + if ($4) { + $5 = (_stbi__get8($0)|0); + $6 = ($5<<24>>24)==(78); + if ($6) { + $7 = (_stbi__get8($0)|0); + $8 = ($7<<24>>24)==(71); + if ($8) { + $9 = (_stbi__get8($0)|0); + $10 = ($9<<24>>24)==(13); + if ($10) { + $11 = (_stbi__get8($0)|0); + $12 = ($11<<24>>24)==(10); + if ($12) { + $13 = (_stbi__get8($0)|0); + $14 = ($13<<24>>24)==(26); + if ($14) { + $15 = (_stbi__get8($0)|0); + $16 = ($15<<24>>24)==(10); + if ($16) { + $$05 = 1; + return ($$05|0); + } + } + } + } + } + } + } + } + _stbi__err(13772); + $$05 = 0; + return ($$05|0); +} +function _stbi__get_chunk_header($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$sroa$4$0$$sroa_idx2 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = (_stbi__get32be($1)|0); + $3 = (_stbi__get32be($1)|0); + HEAP32[$0>>2] = $2; + $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); + HEAP32[$$sroa$4$0$$sroa_idx2>>2] = $3; + return; +} +function _stbi__skip($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; + var $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ($1|0)<(0); + if ($2) { + $3 = ((($0)) + 172|0); + $4 = HEAP32[$3>>2]|0; + $5 = ((($0)) + 168|0); + HEAP32[$5>>2] = $4; + return; + } + $6 = ((($0)) + 16|0); + $7 = HEAP32[$6>>2]|0; + $8 = ($7|0)==(0|0); + if (!($8)) { + $9 = ((($0)) + 172|0); + $10 = HEAP32[$9>>2]|0; + $11 = ((($0)) + 168|0); + $12 = HEAP32[$11>>2]|0; + $13 = $10; + $14 = (($13) - ($12))|0; + $15 = ($14|0)<($1|0); + if ($15) { + HEAP32[$11>>2] = $10; + $16 = ((($0)) + 20|0); + $17 = HEAP32[$16>>2]|0; + $18 = ((($0)) + 28|0); + $19 = HEAP32[$18>>2]|0; + $20 = (($1) - ($14))|0; + FUNCTION_TABLE_vii[$17 & 63]($19,$20); + return; + } + } + $21 = ((($0)) + 168|0); + $22 = HEAP32[$21>>2]|0; + $23 = (($22) + ($1)|0); + HEAP32[$21>>2] = $23; + return; +} +function _stbi__get32be($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (_stbi__get16be($0)|0); + $2 = $1 << 16; + $3 = (_stbi__get16be($0)|0); + $4 = (($2) + ($3))|0; + return ($4|0); +} +function _stbi__get8($0) { + $0 = $0|0; + var $$0 = 0, $$sink6 = 0, $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 168|0); + $2 = HEAP32[$1>>2]|0; + $3 = ((($0)) + 172|0); + $4 = HEAP32[$3>>2]|0; + $5 = ($2>>>0)<($4>>>0); + do { + if ($5) { + $$sink6 = $2; + } else { + $6 = ((($0)) + 32|0); + $7 = HEAP32[$6>>2]|0; + $8 = ($7|0)==(0); + if ($8) { + $$0 = 0; + return ($$0|0); + } else { + _stbi__refill_buffer($0); + $9 = HEAP32[$1>>2]|0; + $$sink6 = $9; + break; + } + } + } while(0); + $10 = ((($$sink6)) + 1|0); + HEAP32[$1>>2] = $10; + $11 = HEAP8[$$sink6>>0]|0; + $$0 = $11; + return ($$0|0); +} +function _stbi__get16be($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (_stbi__get8($0)|0); + $2 = $1&255; + $3 = $2 << 8; + $4 = (_stbi__get8($0)|0); + $5 = $4&255; + $6 = $3 | $5; + return ($6|0); +} +function _stbi__getn($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ((($0)) + 16|0); + $4 = HEAP32[$3>>2]|0; + $5 = ($4|0)==(0|0); + if (!($5)) { + $6 = ((($0)) + 172|0); + $7 = HEAP32[$6>>2]|0; + $8 = ((($0)) + 168|0); + $9 = HEAP32[$8>>2]|0; + $10 = $9; + $11 = (($7) - ($10))|0; + $12 = ($11|0)<($2|0); + if ($12) { + _memcpy(($1|0),($9|0),($11|0))|0; + $13 = HEAP32[$3>>2]|0; + $14 = ((($0)) + 28|0); + $15 = HEAP32[$14>>2]|0; + $16 = (($1) + ($11)|0); + $17 = (($2) - ($11))|0; + $18 = (FUNCTION_TABLE_iiii[$13 & 15]($15,$16,$17)|0); + $19 = ($18|0)==($17|0); + $20 = $19&1; + $21 = HEAP32[$6>>2]|0; + HEAP32[$8>>2] = $21; + $$1 = $20; + return ($$1|0); + } + } + $22 = ((($0)) + 168|0); + $23 = HEAP32[$22>>2]|0; + $24 = (($23) + ($2)|0); + $25 = ((($0)) + 172|0); + $26 = HEAP32[$25>>2]|0; + $27 = ($24>>>0)>($26>>>0); + if ($27) { + $$1 = 0; + return ($$1|0); + } + _memcpy(($1|0),($23|0),($2|0))|0; + $28 = HEAP32[$22>>2]|0; + $29 = (($28) + ($2)|0); + HEAP32[$22>>2] = $29; + $$1 = 1; + return ($$1|0); +} +function _stbi_zlib_decode_malloc_guesssize_headerflag($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 4080|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(4080|0); + $5 = sp; + $6 = (_stbi__malloc($2)|0); + $7 = ($6|0)==(0|0); + do { + if ($7) { + $$0 = 0; + } else { + HEAP32[$5>>2] = $0; + $8 = (($0) + ($1)|0); + $9 = ((($5)) + 4|0); + HEAP32[$9>>2] = $8; + $10 = (_stbi__do_zlib($5,$6,$2,1,$4)|0); + $11 = ($10|0)==(0); + $12 = ((($5)) + 20|0); + $13 = HEAP32[$12>>2]|0; + if ($11) { + _free($13); + $$0 = 0; + break; + } + $14 = ($3|0)==(0|0); + if ($14) { + $$0 = $13; + } else { + $15 = ((($5)) + 16|0); + $16 = HEAP32[$15>>2]|0; + $17 = $13; + $18 = (($16) - ($17))|0; + HEAP32[$3>>2] = $18; + $$0 = $13; + } + } + } while(0); + STACKTOP = sp;return ($$0|0); +} +function _stbi__create_png_image($0,$1,$2,$3,$4,$5,$6) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + $6 = $6|0; + var $$0103117 = 0, $$0106116 = 0, $$0107115 = 0, $$095119 = 0, $$099118 = 0, $$3102$ph = 0, $$398$ph = 0, $$4 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0; + var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0; + var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $60 = 0, $61 = 0; + var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0; + var $80 = 0, $81 = 0, $82 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $7 = ($4|0)==(16); + $8 = $7 ? 2 : 1; + $9 = Math_imul($8, $3)|0; + $10 = ($6|0)==(0); + $11 = HEAP32[$0>>2]|0; + $12 = HEAP32[$11>>2]|0; + $13 = ((($11)) + 4|0); + $14 = HEAP32[$13>>2]|0; + if ($10) { + $15 = (_stbi__create_png_image_raw($0,$1,$2,$3,$12,$14,$4,$5)|0); + $$4 = $15; + return ($$4|0); + } + $16 = (_stbi__malloc_mad3($12,$14,$9)|0); + $17 = ((($0)) + 12|0); + $18 = ((($0)) + 12|0); + $$0103117 = 0;$$095119 = $1;$$099118 = $2; + while(1) { + $19 = HEAP32[$0>>2]|0; + $20 = HEAP32[$19>>2]|0; + $21 = (3028 + ($$0103117<<2)|0); + $22 = HEAP32[$21>>2]|0; + $23 = (3056 + ($$0103117<<2)|0); + $24 = HEAP32[$23>>2]|0; + $25 = (($20) + -1)|0; + $26 = (($25) - ($22))|0; + $27 = (($26) + ($24))|0; + $28 = (($27>>>0) / ($24>>>0))&-1; + $29 = ((($19)) + 4|0); + $30 = HEAP32[$29>>2]|0; + $31 = (3084 + ($$0103117<<2)|0); + $32 = HEAP32[$31>>2]|0; + $33 = (3112 + ($$0103117<<2)|0); + $34 = HEAP32[$33>>2]|0; + $35 = (($30) + -1)|0; + $36 = (($35) - ($32))|0; + $37 = (($36) + ($34))|0; + $38 = (($37>>>0) / ($34>>>0))&-1; + $39 = ($24>>>0)<=($27>>>0); + $40 = ($34>>>0)<=($37>>>0); + $or$cond = $39 & $40; + if ($or$cond) { + $41 = ((($19)) + 8|0); + $42 = HEAP32[$41>>2]|0; + $43 = Math_imul($28, $4)|0; + $44 = Math_imul($43, $42)|0; + $45 = (($44) + 7)|0; + $46 = $45 >> 3; + $47 = (($46) + 1)|0; + $48 = Math_imul($47, $38)|0; + $49 = (_stbi__create_png_image_raw($0,$$095119,$$099118,$3,$28,$38,$4,$5)|0); + $50 = ($49|0)==(0); + if ($50) { + label = 13; + break; + } + $51 = ($38|0)>(0); + if ($51) { + $52 = ($28|0)>(0); + $$0106116 = 0; + while(1) { + if ($52) { + $53 = HEAP32[$33>>2]|0; + $54 = Math_imul($53, $$0106116)|0; + $55 = HEAP32[$31>>2]|0; + $56 = (($54) + ($55))|0; + $57 = HEAP32[$23>>2]|0; + $58 = HEAP32[$21>>2]|0; + $59 = Math_imul($56, $9)|0; + $60 = Math_imul($$0106116, $28)|0; + $$0107115 = 0; + while(1) { + $61 = Math_imul($57, $$0107115)|0; + $62 = (($61) + ($58))|0; + $63 = HEAP32[$0>>2]|0; + $64 = HEAP32[$63>>2]|0; + $65 = Math_imul($59, $64)|0; + $66 = (($16) + ($65)|0); + $67 = Math_imul($62, $9)|0; + $68 = (($66) + ($67)|0); + $69 = HEAP32[$18>>2]|0; + $70 = (($$0107115) + ($60))|0; + $71 = Math_imul($70, $9)|0; + $72 = (($69) + ($71)|0); + _memcpy(($68|0),($72|0),($9|0))|0; + $73 = (($$0107115) + 1)|0; + $74 = ($73|0)<($28|0); + if ($74) { + $$0107115 = $73; + } else { + break; + } + } + } + $75 = (($$0106116) + 1)|0; + $76 = ($75|0)<($38|0); + if ($76) { + $$0106116 = $75; + } else { + break; + } + } + } + $77 = HEAP32[$17>>2]|0; + _free($77); + $78 = (($$095119) + ($48)|0); + $79 = (($$099118) - ($48))|0; + $$3102$ph = $79;$$398$ph = $78; + } else { + $$3102$ph = $$099118;$$398$ph = $$095119; + } + $80 = (($$0103117) + 1)|0; + $81 = ($80|0)<(7); + if ($81) { + $$0103117 = $80;$$095119 = $$398$ph;$$099118 = $$3102$ph; + } else { + label = 15; + break; + } + } + if ((label|0) == 13) { + _free($16); + $$4 = 0; + return ($$4|0); + } + else if ((label|0) == 15) { + $82 = ((($0)) + 12|0); + HEAP32[$82>>2] = $16; + $$4 = 1; + return ($$4|0); + } + return (0)|0; +} +function _stbi__compute_transparency16($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$0323 = 0, $$04 = 0, $$1335 = 0, $$16 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; + var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond9 = 0, $not$ = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = HEAP32[$0>>2]|0; + $4 = HEAP32[$3>>2]|0; + $5 = ((($3)) + 4|0); + $6 = HEAP32[$5>>2]|0; + $7 = Math_imul($6, $4)|0; + $8 = ((($0)) + 12|0); + $9 = HEAP32[$8>>2]|0; + switch ($2|0) { + case 2: { + $13 = ($7|0)==(0); + if ($13) { + return; + } else { + $$0323 = 0;$$04 = $9; + } + while(1) { + $14 = HEAP16[$$04>>1]|0; + $15 = HEAP16[$1>>1]|0; + $not$ = ($14<<16>>16)!=($15<<16>>16); + $16 = $not$ << 31 >> 31; + $17 = ((($$04)) + 2|0); + HEAP16[$17>>1] = $16; + $18 = ((($$04)) + 4|0); + $19 = (($$0323) + 1)|0; + $exitcond = ($19|0)==($7|0); + if ($exitcond) { + break; + } else { + $$0323 = $19;$$04 = $18; + } + } + return; + break; + } + case 4: { + $10 = ($7|0)==(0); + if ($10) { + return; + } + $11 = ((($1)) + 2|0); + $12 = ((($1)) + 4|0); + $$1335 = 0;$$16 = $9; + while(1) { + $20 = HEAP16[$$16>>1]|0; + $21 = HEAP16[$1>>1]|0; + $22 = ($20<<16>>16)==($21<<16>>16); + if ($22) { + $23 = ((($$16)) + 2|0); + $24 = HEAP16[$23>>1]|0; + $25 = HEAP16[$11>>1]|0; + $26 = ($24<<16>>16)==($25<<16>>16); + if ($26) { + $27 = ((($$16)) + 4|0); + $28 = HEAP16[$27>>1]|0; + $29 = HEAP16[$12>>1]|0; + $30 = ($28<<16>>16)==($29<<16>>16); + if ($30) { + $31 = ((($$16)) + 6|0); + HEAP16[$31>>1] = 0; + } + } + } + $32 = ((($$16)) + 8|0); + $33 = (($$1335) + 1)|0; + $exitcond9 = ($33|0)==($7|0); + if ($exitcond9) { + break; + } else { + $$1335 = $33;$$16 = $32; + } + } + return; + break; + } + default: { + ___assert_fail((12854|0),(12363|0),4569,(12906|0)); + // unreachable; + } + } +} +function _stbi__compute_transparency($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$0323 = 0, $$04 = 0, $$1335 = 0, $$16 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; + var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond9 = 0, $not$ = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = HEAP32[$0>>2]|0; + $4 = HEAP32[$3>>2]|0; + $5 = ((($3)) + 4|0); + $6 = HEAP32[$5>>2]|0; + $7 = Math_imul($6, $4)|0; + $8 = ((($0)) + 12|0); + $9 = HEAP32[$8>>2]|0; + switch ($2|0) { + case 2: { + $13 = ($7|0)==(0); + if ($13) { + return; + } else { + $$0323 = 0;$$04 = $9; + } + while(1) { + $14 = HEAP8[$$04>>0]|0; + $15 = HEAP8[$1>>0]|0; + $not$ = ($14<<24>>24)!=($15<<24>>24); + $16 = $not$ << 31 >> 31; + $17 = ((($$04)) + 1|0); + HEAP8[$17>>0] = $16; + $18 = ((($$04)) + 2|0); + $19 = (($$0323) + 1)|0; + $exitcond = ($19|0)==($7|0); + if ($exitcond) { + break; + } else { + $$0323 = $19;$$04 = $18; + } + } + return; + break; + } + case 4: { + $10 = ($7|0)==(0); + if ($10) { + return; + } + $11 = ((($1)) + 1|0); + $12 = ((($1)) + 2|0); + $$1335 = 0;$$16 = $9; + while(1) { + $20 = HEAP8[$$16>>0]|0; + $21 = HEAP8[$1>>0]|0; + $22 = ($20<<24>>24)==($21<<24>>24); + if ($22) { + $23 = ((($$16)) + 1|0); + $24 = HEAP8[$23>>0]|0; + $25 = HEAP8[$11>>0]|0; + $26 = ($24<<24>>24)==($25<<24>>24); + if ($26) { + $27 = ((($$16)) + 2|0); + $28 = HEAP8[$27>>0]|0; + $29 = HEAP8[$12>>0]|0; + $30 = ($28<<24>>24)==($29<<24>>24); + if ($30) { + $31 = ((($$16)) + 3|0); + HEAP8[$31>>0] = 0; + } + } + } + $32 = ((($$16)) + 4|0); + $33 = (($$1335) + 1)|0; + $exitcond9 = ($33|0)==($7|0); + if ($exitcond9) { + break; + } else { + $$1335 = $33;$$16 = $32; + } + } + return; + break; + } + default: { + ___assert_fail((12854|0),(12363|0),4544,(12879|0)); + // unreachable; + } + } +} +function _stbi__de_iphone($0) { + $0 = $0|0; + var $$05158 = 0, $$059 = 0, $$15263 = 0, $$164 = 0, $$25360 = 0, $$261 = 0, $$sink = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0; + var $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0; + var $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond68 = 0, $exitcond69 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP32[$0>>2]|0; + $2 = HEAP32[$1>>2]|0; + $3 = ((($1)) + 4|0); + $4 = HEAP32[$3>>2]|0; + $5 = Math_imul($4, $2)|0; + $6 = ((($0)) + 12|0); + $7 = HEAP32[$6>>2]|0; + $8 = ((($1)) + 12|0); + $9 = HEAP32[$8>>2]|0; + switch ($9|0) { + case 3: { + $10 = ($5|0)==(0); + if ($10) { + return; + } else { + $$05158 = $7;$$059 = 0; + } + while(1) { + $11 = HEAP8[$$05158>>0]|0; + $12 = ((($$05158)) + 2|0); + $13 = HEAP8[$12>>0]|0; + HEAP8[$$05158>>0] = $13; + HEAP8[$12>>0] = $11; + $14 = ((($$05158)) + 3|0); + $15 = (($$059) + 1)|0; + $exitcond = ($15|0)==($5|0); + if ($exitcond) { + break; + } else { + $$05158 = $14;$$059 = $15; + } + } + return; + break; + } + case 4: { + $16 = HEAP32[84372]|0; + $17 = ($16|0)==(0); + $18 = ($5|0)!=(0); + if ($17) { + if ($18) { + $$25360 = $7;$$261 = 0; + } else { + return; + } + while(1) { + $42 = HEAP8[$$25360>>0]|0; + $43 = ((($$25360)) + 2|0); + $44 = HEAP8[$43>>0]|0; + HEAP8[$$25360>>0] = $44; + HEAP8[$43>>0] = $42; + $45 = ((($$25360)) + 4|0); + $46 = (($$261) + 1)|0; + $exitcond68 = ($46|0)==($5|0); + if ($exitcond68) { + break; + } else { + $$25360 = $45;$$261 = $46; + } + } + return; + } + if ($18) { + $$15263 = $7;$$164 = 0; + } else { + return; + } + while(1) { + $19 = ((($$15263)) + 3|0); + $20 = HEAP8[$19>>0]|0; + $21 = HEAP8[$$15263>>0]|0; + $22 = ($20<<24>>24)==(0); + $23 = ((($$15263)) + 2|0); + $24 = HEAP8[$23>>0]|0; + if ($22) { + HEAP8[$$15263>>0] = $24; + $$sink = $21; + } else { + $25 = $24&255; + $26 = ($25*255)|0; + $27 = $20&255; + $28 = (($26>>>0) / ($27>>>0))&-1; + $29 = $28&255; + HEAP8[$$15263>>0] = $29; + $30 = ((($$15263)) + 1|0); + $31 = HEAP8[$30>>0]|0; + $32 = $31&255; + $33 = ($32*255)|0; + $34 = (($33>>>0) / ($27>>>0))&-1; + $35 = $34&255; + HEAP8[$30>>0] = $35; + $36 = $21&255; + $37 = ($36*255)|0; + $38 = (($37>>>0) / ($27>>>0))&-1; + $39 = $38&255; + $$sink = $39; + } + HEAP8[$23>>0] = $$sink; + $40 = ((($$15263)) + 4|0); + $41 = (($$164) + 1)|0; + $exitcond69 = ($41|0)==($5|0); + if ($exitcond69) { + break; + } else { + $$15263 = $40;$$164 = $41; + } + } + return; + break; + } + default: { + ___assert_fail((12820|0),(12363|0),4650,(12838|0)); + // unreachable; + } + } +} +function _stbi__expand_png_palette($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$0 = 0, $$0574 = 0, $$0583 = 0, $$1595 = 0, $$16 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; + var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0; + var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = HEAP32[$0>>2]|0; + $4 = HEAP32[$3>>2]|0; + $5 = ((($3)) + 4|0); + $6 = HEAP32[$5>>2]|0; + $7 = Math_imul($6, $4)|0; + $8 = ((($0)) + 12|0); + $9 = HEAP32[$8>>2]|0; + $10 = (_stbi__malloc_mad2($7,$2)|0); + $11 = ($10|0)==(0|0); + if ($11) { + _stbi__err(12418); + $$0 = 0; + return ($$0|0); + } + $12 = ($2|0)==(3); + $13 = ($7|0)!=(0); + if ($12) { + if ($13) { + $$0574 = 0;$$0583 = $10; + while(1) { + $14 = (($9) + ($$0574)|0); + $15 = HEAP8[$14>>0]|0; + $16 = $15&255; + $17 = $16 << 2; + $18 = (($1) + ($17)|0); + $19 = HEAP8[$18>>0]|0; + HEAP8[$$0583>>0] = $19; + $20 = $17 | 1; + $21 = (($1) + ($20)|0); + $22 = HEAP8[$21>>0]|0; + $23 = ((($$0583)) + 1|0); + HEAP8[$23>>0] = $22; + $24 = $17 | 2; + $25 = (($1) + ($24)|0); + $26 = HEAP8[$25>>0]|0; + $27 = ((($$0583)) + 2|0); + HEAP8[$27>>0] = $26; + $28 = ((($$0583)) + 3|0); + $29 = (($$0574) + 1)|0; + $exitcond = ($29|0)==($7|0); + if ($exitcond) { + break; + } else { + $$0574 = $29;$$0583 = $28; + } + } + } + } else { + if ($13) { + $$1595 = $10;$$16 = 0; + while(1) { + $30 = (($9) + ($$16)|0); + $31 = HEAP8[$30>>0]|0; + $32 = $31&255; + $33 = $32 << 2; + $34 = (($1) + ($33)|0); + $35 = HEAP8[$34>>0]|0; + HEAP8[$$1595>>0] = $35; + $36 = $33 | 1; + $37 = (($1) + ($36)|0); + $38 = HEAP8[$37>>0]|0; + $39 = ((($$1595)) + 1|0); + HEAP8[$39>>0] = $38; + $40 = $33 | 2; + $41 = (($1) + ($40)|0); + $42 = HEAP8[$41>>0]|0; + $43 = ((($$1595)) + 2|0); + HEAP8[$43>>0] = $42; + $44 = $33 | 3; + $45 = (($1) + ($44)|0); + $46 = HEAP8[$45>>0]|0; + $47 = ((($$1595)) + 3|0); + HEAP8[$47>>0] = $46; + $48 = ((($$1595)) + 4|0); + $49 = (($$16) + 1)|0; + $exitcond9 = ($49|0)==($7|0); + if ($exitcond9) { + break; + } else { + $$1595 = $48;$$16 = $49; + } + } + } + } + $50 = HEAP32[$8>>2]|0; + _free($50); + HEAP32[$8>>2] = $10; + $$0 = 1; + return ($$0|0); +} +function _stbi__malloc_mad2($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = (_stbi__mad2sizes_valid($0,$1)|0); + $3 = ($2|0)==(0); + if ($3) { + $$0 = 0; + return ($$0|0); + } + $4 = Math_imul($1, $0)|0; + $5 = (_stbi__malloc($4)|0); + $$0 = $5; + return ($$0|0); +} +function _stbi__mad2sizes_valid($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = (_stbi__mul2sizes_valid($0,$1)|0); + $3 = ($2|0)==(0); + if ($3) { + $8 = 0; + $7 = $8&1; + return ($7|0); + } + $4 = Math_imul($1, $0)|0; + $5 = (_stbi__addsizes_valid($4)|0); + $6 = ($5|0)!=(0); + $8 = $6; + $7 = $8&1; + return ($7|0); +} +function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + $6 = $6|0; + $7 = $7|0; + var $$0568 = 0, $$0568724 = 0, $$0568725 = 0, $$0571$lcssa = 0, $$0571715 = 0, $$0574$lcssa = 0, $$0574714 = 0, $$0577817 = 0, $$0588 = 0, $$0597 = 0, $$0608816 = 0, $$0611815 = 0, $$0614 = 0, $$0614793 = 0, $$0614796 = 0, $$0623814 = 0, $$0625734 = 0, $$0731 = 0, $$1 = 0, $$10635764 = 0; + var $$11$ph = 0, $$11636755 = 0, $$12747 = 0, $$13739 = 0, $$14$lcssa = 0, $$14713 = 0, $$15$lcssa = 0, $$15705 = 0, $$1572$lcssa = 0, $$1572707 = 0, $$1575$lcssa = 0, $$1575706 = 0, $$1578 = 0, $$16$lcssa = 0, $$1609 = 0, $$1612 = 0, $$1615 = 0, $$1615785 = 0, $$1615788 = 0, $$1624727 = 0; + var $$1626812 = 0, $$16700 = 0, $$1721 = 0, $$1722 = 0, $$2 = 0, $$2573$lcssa = 0, $$2573702 = 0, $$2579795 = 0, $$2599794 = 0, $$2616 = 0, $$2616776 = 0, $$2616780 = 0, $$2627810 = 0, $$3580787 = 0, $$3592778 = 0, $$3600786 = 0, $$3617 = 0, $$3617767 = 0, $$3617771 = 0, $$3628808 = 0; + var $$4$lcssa = 0, $$4581779 = 0, $$4593769 = 0, $$4601777 = 0, $$4618 = 0, $$4618758 = 0, $$4618762 = 0, $$4629806 = 0, $$4701 = 0, $$5582770 = 0, $$5594760 = 0, $$5602768 = 0, $$5619 = 0, $$5619750 = 0, $$5619753 = 0, $$5630804 = 0, $$6583761 = 0, $$6603759 = 0, $$6620 = 0, $$6620742 = 0; + var $$6620745 = 0, $$6631802 = 0, $$7584752 = 0, $$7604751 = 0, $$7621798 = 0, $$7632790 = 0, $$8585744 = 0, $$8605743 = 0, $$8622729 = 0, $$8633782 = 0, $$9586 = 0, $$9606799 = 0, $$9634773 = 0, $$not = 0, $$sink = 0, $$sink1 = 0, $$sink641 = 0, $10 = 0, $100 = 0, $101 = 0; + var $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0; + var $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0; + var $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0; + var $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0; + var $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0; + var $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0; + var $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0; + var $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0; + var $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0; + var $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0; + var $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $30 = 0, $300 = 0, $301 = 0; + var $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0; + var $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0; + var $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0; + var $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0; + var $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0; + var $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0; + var $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0; + var $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0; + var $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0; + var $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0; + var $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $50 = 0, $500 = 0, $501 = 0; + var $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0; + var $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0, $531 = 0, $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0; + var $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0, $549 = 0, $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0; + var $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0, $562 = 0, $563 = 0, $564 = 0, $565 = 0, $566 = 0, $567 = 0, $568 = 0, $569 = 0, $57 = 0, $570 = 0, $571 = 0, $572 = 0, $573 = 0, $574 = 0; + var $575 = 0, $576 = 0, $577 = 0, $578 = 0, $579 = 0, $58 = 0, $580 = 0, $581 = 0, $582 = 0, $583 = 0, $584 = 0, $585 = 0, $586 = 0, $587 = 0, $588 = 0, $589 = 0, $59 = 0, $590 = 0, $591 = 0, $592 = 0; + var $593 = 0, $594 = 0, $595 = 0, $596 = 0, $597 = 0, $598 = 0, $599 = 0, $60 = 0, $600 = 0, $601 = 0, $602 = 0, $603 = 0, $604 = 0, $605 = 0, $606 = 0, $607 = 0, $608 = 0, $609 = 0, $61 = 0, $610 = 0; + var $611 = 0, $612 = 0, $613 = 0, $614 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0; + var $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0; + var $96 = 0, $97 = 0, $98 = 0, $99 = 0, $brmerge = 0, $brmerge894 = 0, $exitcond = 0, $exitcond864 = 0, $exitcond865 = 0, $exitcond867 = 0, $exitcond869 = 0, $exitcond871 = 0, $exitcond873 = 0, $exitcond875 = 0, $exitcond877 = 0, $exitcond880 = 0, $exitcond881 = 0, $exitcond882 = 0, $exitcond883 = 0, $exitcond884 = 0; + var $exitcond885 = 0, $exitcond886 = 0, $indvars$iv = 0, $indvars$iv$next = 0, $indvars$iv$next849 = 0, $indvars$iv$next852 = 0, $indvars$iv$next855 = 0, $indvars$iv$next858 = 0, $indvars$iv$next861 = 0, $indvars$iv848 = 0, $indvars$iv851 = 0, $indvars$iv854 = 0, $indvars$iv857 = 0, $indvars$iv860 = 0, $or$cond = 0, $scevgep = 0, $scevgep850 = 0, $scevgep853 = 0, $scevgep856 = 0, $scevgep859 = 0; + var $scevgep862 = 0, $scevgep866 = 0, $scevgep868 = 0, $scevgep870 = 0, $scevgep872 = 0, $scevgep874 = 0, $scevgep876 = 0, $scevgep879 = 0, $trunc = 0, $trunc637 = 0, $trunc638 = 0, label = 0, sp = 0; + sp = STACKTOP; + $8 = ($6|0)==(16); + $9 = $8 ? 2 : 1; + $10 = HEAP32[$0>>2]|0; + $11 = Math_imul($4, $3)|0; + $12 = Math_imul($9, $11)|0; + $13 = ((($10)) + 8|0); + $14 = HEAP32[$13>>2]|0; + $15 = Math_imul($9, $3)|0; + $16 = Math_imul($14, $9)|0; + $17 = ($14|0)==($3|0); + $18 = (($14) + 1)|0; + $19 = ($18|0)==($3|0); + $or$cond = $17 | $19; + if (!($or$cond)) { + ___assert_fail((12935|0),(12363|0),4294,(12976|0)); + // unreachable; + } + $20 = (_stbi__malloc_mad3($4,$5,$15)|0); + $21 = ((($0)) + 12|0); + HEAP32[$21>>2] = $20; + $22 = ($20|0)==(0|0); + if ($22) { + _stbi__err(12418); + $$2 = 0; + return ($$2|0); + } + $23 = Math_imul($14, $4)|0; + $24 = Math_imul($23, $6)|0; + $25 = (($24) + 7)|0; + $26 = $25 >>> 3; + $27 = (($26) + 1)|0; + $28 = Math_imul($27, $5)|0; + $29 = HEAP32[$10>>2]|0; + $30 = ($29|0)==($4|0); + if ($30) { + $31 = ((($10)) + 4|0); + $32 = HEAP32[$31>>2]|0; + $33 = ($32|0)==($5|0); + if ($33) { + $34 = ($28|0)==($2|0); + if (!($34)) { + _stbi__err(13003); + $$2 = 0; + return ($$2|0); + } + } else { + label = 9; + } + } else { + label = 9; + } + if ((label|0) == 9) { + $35 = ($28>>>0)>($2>>>0); + if ($35) { + _stbi__err(13003); + $$2 = 0; + return ($$2|0); + } + } + $36 = ($5|0)==(0); + L18: do { + if (!($36)) { + $37 = ($6|0)<(8); + $38 = ($26>>>0)>($4>>>0); + $39 = (($11) - ($26))|0; + $40 = (0 - ($12))|0; + $41 = ($6|0)==(8); + $brmerge = $37 | $17; + $42 = ($4|0)==(0); + $$0614793 = (($4) + -1)|0; + $43 = ($$0614793|0)==(0); + $$1615785 = (($4) + -1)|0; + $44 = ($$1615785|0)==(0); + $$2616776 = (($4) + -1)|0; + $45 = ($$2616776|0)==(0); + $$3617767 = (($4) + -1)|0; + $46 = ($$3617767|0)==(0); + $$4618758 = (($4) + -1)|0; + $47 = ($$4618758|0)==(0); + $$5619750 = (($4) + -1)|0; + $48 = ($$5619750|0)==(0); + $$6620742 = (($4) + -1)|0; + $49 = ($$6620742|0)==(0); + $$not = $8 ^ 1; + $brmerge894 = $42 | $$not; + $$0577817 = $1;$$0608816 = $4;$$0611815 = $16;$$0623814 = 0; + while(1) { + $50 = HEAP32[$21>>2]|0; + $51 = Math_imul($$0623814, $12)|0; + $52 = (($50) + ($51)|0); + $53 = ((($$0577817)) + 1|0); + $54 = HEAP8[$$0577817>>0]|0; + $55 = $54&255; + $56 = ($54&255)>(4); + if ($56) { + label = 105; + break; + } + if ($37) { + if ($38) { + label = 16; + break; + } + $57 = (($52) + ($39)|0); + $$0597 = $57;$$1609 = $26;$$1612 = 1; + } else { + $$0597 = $52;$$1609 = $$0608816;$$1612 = $$0611815; + } + $58 = (($$0597) + ($40)|0); + $59 = ($$0623814|0)==(0); + if ($59) { + $60 = (13042 + ($55)|0); + $61 = HEAP8[$60>>0]|0; + $62 = $61&255; + $$0588 = $62; + } else { + $$0588 = $55; + } + $63 = ($$1612|0)>(0); + L30: do { + if ($63) { + $trunc638 = $$0588&255; + $$0625734 = 0; + while(1) { + switch ($trunc638<<24>>24) { + case 0: { + $64 = (($53) + ($$0625734)|0); + $65 = HEAP8[$64>>0]|0; + $$sink = $65; + label = 30; + break; + } + case 1: { + $66 = (($53) + ($$0625734)|0); + $67 = HEAP8[$66>>0]|0; + $$sink = $67; + label = 30; + break; + } + case 2: { + $68 = (($53) + ($$0625734)|0); + $69 = HEAP8[$68>>0]|0; + $70 = $69&255; + $71 = (($58) + ($$0625734)|0); + $72 = HEAP8[$71>>0]|0; + $73 = $72&255; + $74 = (($73) + ($70))|0; + $75 = $74&255; + $$sink = $75; + label = 30; + break; + } + case 3: { + $76 = (($53) + ($$0625734)|0); + $77 = HEAP8[$76>>0]|0; + $78 = $77&255; + $79 = (($58) + ($$0625734)|0); + $80 = HEAP8[$79>>0]|0; + $81 = $80&255; + $82 = $81 >>> 1; + $83 = (($82) + ($78))|0; + $84 = $83&255; + $$sink = $84; + label = 30; + break; + } + case 4: { + $85 = (($53) + ($$0625734)|0); + $86 = HEAP8[$85>>0]|0; + $87 = $86&255; + $88 = (($58) + ($$0625734)|0); + $89 = HEAP8[$88>>0]|0; + $90 = $89&255; + $91 = (_stbi__paeth(0,$90,0)|0); + $92 = (($91) + ($87))|0; + $93 = $92&255; + $$sink = $93; + label = 30; + break; + } + case 5: { + $94 = (($53) + ($$0625734)|0); + $95 = HEAP8[$94>>0]|0; + $$sink = $95; + label = 30; + break; + } + case 6: { + $96 = (($53) + ($$0625734)|0); + $97 = HEAP8[$96>>0]|0; + $$sink = $97; + label = 30; + break; + } + default: { + } + } + if ((label|0) == 30) { + label = 0; + $$sink1 = (($$0597) + ($$0625734)|0); + HEAP8[$$sink1>>0] = $$sink; + } + $98 = (($$0625734) + 1)|0; + $exitcond864 = ($98|0)==($$1612|0); + if ($exitcond864) { + break L30; + } else { + $$0625734 = $98; + } + } + } + } while(0); + do { + if ($41) { + if (!($17)) { + $99 = (($$0597) + ($14)|0); + HEAP8[$99>>0] = -1; + } + $100 = (($53) + ($14)|0); + $$1578 = $100;$$sink641 = $3; + } else { + if (!($8)) { + $105 = ((($$0577817)) + 2|0); + $$1578 = $105;$$sink641 = 1; + break; + } + if (!($17)) { + $101 = (($$1612) + 1)|0; + $102 = (($$0597) + ($101)|0); + $103 = (($$0597) + ($$1612)|0); + HEAP8[$103>>0] = -1; + HEAP8[$102>>0] = -1; + } + $104 = (($53) + ($$1612)|0); + $$1578 = $104;$$sink641 = $15; + } + } while(0); + $106 = (($$0597) + ($$sink641)|0); + $107 = (($58) + ($$sink641)|0); + if ($brmerge) { + $108 = (($$1609) + -1)|0; + $109 = Math_imul($108, $$1612)|0; + $trunc637 = $$0588&255; + switch ($trunc637<<24>>24) { + case 0: { + _memcpy(($106|0),($$1578|0),($109|0))|0; + break; + } + case 1: { + $115 = ($109|0)>(0); + if ($115) { + $$1626812 = 0; + while(1) { + $116 = (($$1578) + ($$1626812)|0); + $117 = HEAP8[$116>>0]|0; + $118 = $117&255; + $119 = (($$1626812) - ($$1612))|0; + $120 = (($106) + ($119)|0); + $121 = HEAP8[$120>>0]|0; + $122 = $121&255; + $123 = (($122) + ($118))|0; + $124 = $123&255; + $125 = (($106) + ($$1626812)|0); + HEAP8[$125>>0] = $124; + $126 = (($$1626812) + 1)|0; + $exitcond886 = ($126|0)==($109|0); + if ($exitcond886) { + break; + } else { + $$1626812 = $126; + } + } + } + break; + } + case 2: { + $114 = ($109|0)>(0); + if ($114) { + $$2627810 = 0; + while(1) { + $127 = (($$1578) + ($$2627810)|0); + $128 = HEAP8[$127>>0]|0; + $129 = $128&255; + $130 = (($107) + ($$2627810)|0); + $131 = HEAP8[$130>>0]|0; + $132 = $131&255; + $133 = (($132) + ($129))|0; + $134 = $133&255; + $135 = (($106) + ($$2627810)|0); + HEAP8[$135>>0] = $134; + $136 = (($$2627810) + 1)|0; + $exitcond885 = ($136|0)==($109|0); + if ($exitcond885) { + break; + } else { + $$2627810 = $136; + } + } + } + break; + } + case 3: { + $113 = ($109|0)>(0); + if ($113) { + $$3628808 = 0; + while(1) { + $137 = (($$1578) + ($$3628808)|0); + $138 = HEAP8[$137>>0]|0; + $139 = $138&255; + $140 = (($107) + ($$3628808)|0); + $141 = HEAP8[$140>>0]|0; + $142 = $141&255; + $143 = (($$3628808) - ($$1612))|0; + $144 = (($106) + ($143)|0); + $145 = HEAP8[$144>>0]|0; + $146 = $145&255; + $147 = (($146) + ($142))|0; + $148 = $147 >>> 1; + $149 = (($148) + ($139))|0; + $150 = $149&255; + $151 = (($106) + ($$3628808)|0); + HEAP8[$151>>0] = $150; + $152 = (($$3628808) + 1)|0; + $exitcond884 = ($152|0)==($109|0); + if ($exitcond884) { + break; + } else { + $$3628808 = $152; + } + } + } + break; + } + case 4: { + $112 = ($109|0)>(0); + if ($112) { + $$4629806 = 0; + while(1) { + $153 = (($$1578) + ($$4629806)|0); + $154 = HEAP8[$153>>0]|0; + $155 = $154&255; + $156 = (($$4629806) - ($$1612))|0; + $157 = (($106) + ($156)|0); + $158 = HEAP8[$157>>0]|0; + $159 = $158&255; + $160 = (($107) + ($$4629806)|0); + $161 = HEAP8[$160>>0]|0; + $162 = $161&255; + $163 = (($107) + ($156)|0); + $164 = HEAP8[$163>>0]|0; + $165 = $164&255; + $166 = (_stbi__paeth($159,$162,$165)|0); + $167 = (($166) + ($155))|0; + $168 = $167&255; + $169 = (($106) + ($$4629806)|0); + HEAP8[$169>>0] = $168; + $170 = (($$4629806) + 1)|0; + $exitcond883 = ($170|0)==($109|0); + if ($exitcond883) { + break; + } else { + $$4629806 = $170; + } + } + } + break; + } + case 5: { + $111 = ($109|0)>(0); + if ($111) { + $$5630804 = 0; + while(1) { + $171 = (($$1578) + ($$5630804)|0); + $172 = HEAP8[$171>>0]|0; + $173 = $172&255; + $174 = (($$5630804) - ($$1612))|0; + $175 = (($106) + ($174)|0); + $176 = HEAP8[$175>>0]|0; + $177 = $176&255; + $178 = $177 >>> 1; + $179 = (($178) + ($173))|0; + $180 = $179&255; + $181 = (($106) + ($$5630804)|0); + HEAP8[$181>>0] = $180; + $182 = (($$5630804) + 1)|0; + $exitcond882 = ($182|0)==($109|0); + if ($exitcond882) { + break; + } else { + $$5630804 = $182; + } + } + } + break; + } + case 6: { + $110 = ($109|0)>(0); + if ($110) { + $$6631802 = 0; + while(1) { + $183 = (($$1578) + ($$6631802)|0); + $184 = HEAP8[$183>>0]|0; + $185 = $184&255; + $186 = (($$6631802) - ($$1612))|0; + $187 = (($106) + ($186)|0); + $188 = HEAP8[$187>>0]|0; + $189 = $188&255; + $190 = (_stbi__paeth($189,0,0)|0); + $191 = (($190) + ($185))|0; + $192 = $191&255; + $193 = (($106) + ($$6631802)|0); + HEAP8[$193>>0] = $192; + $194 = (($$6631802) + 1)|0; + $exitcond881 = ($194|0)==($109|0); + if ($exitcond881) { + break; + } else { + $$6631802 = $194; + } + } + } + break; + } + default: { + } + } + $195 = (($$1578) + ($109)|0); + $$11$ph = $195; + } else { + if (!($19)) { + label = 58; + break; + } + $trunc = $$0588&255; + switch ($trunc<<24>>24) { + case 0: { + if ($43) { + $$9586 = $$1578; + } else { + $208 = ($$1612|0)>(0); + $209 = Math_imul($$6620742, $$1612)|0; + $$0614796 = $$0614793;$$2579795 = $$1578;$$2599794 = $106; + while(1) { + if ($208) { + $$7632790 = 0; + while(1) { + $210 = (($$2579795) + ($$7632790)|0); + $211 = HEAP8[$210>>0]|0; + $212 = (($$2599794) + ($$7632790)|0); + HEAP8[$212>>0] = $211; + $213 = (($$7632790) + 1)|0; + $exitcond877 = ($213|0)==($$1612|0); + if ($exitcond877) { + break; + } else { + $$7632790 = $213; + } + } + } + $214 = (($$2599794) + ($$1612)|0); + HEAP8[$214>>0] = -1; + $215 = (($$2579795) + ($$1612)|0); + $216 = (($$2599794) + ($15)|0); + $$0614 = (($$0614796) + -1)|0; + $217 = ($$0614|0)==(0); + if ($217) { + break; + } else { + $$0614796 = $$0614;$$2579795 = $215;$$2599794 = $216; + } + } + $scevgep879 = (($$1578) + ($209)|0); + $$9586 = $scevgep879; + } + break; + } + case 1: { + if ($44) { + $$9586 = $$1578; + } else { + $206 = ($$1612|0)>(0); + $207 = Math_imul($$6620742, $$1612)|0; + $$1615788 = $$1615785;$$3580787 = $$1578;$$3600786 = $106; + while(1) { + if ($206) { + $$8633782 = 0; + while(1) { + $218 = (($$3580787) + ($$8633782)|0); + $219 = HEAP8[$218>>0]|0; + $220 = $219&255; + $221 = (($$8633782) - ($15))|0; + $222 = (($$3600786) + ($221)|0); + $223 = HEAP8[$222>>0]|0; + $224 = $223&255; + $225 = (($224) + ($220))|0; + $226 = $225&255; + $227 = (($$3600786) + ($$8633782)|0); + HEAP8[$227>>0] = $226; + $228 = (($$8633782) + 1)|0; + $exitcond875 = ($228|0)==($$1612|0); + if ($exitcond875) { + break; + } else { + $$8633782 = $228; + } + } + } + $229 = (($$3600786) + ($$1612)|0); + HEAP8[$229>>0] = -1; + $230 = (($$3580787) + ($$1612)|0); + $231 = (($$3600786) + ($15)|0); + $$1615 = (($$1615788) + -1)|0; + $232 = ($$1615|0)==(0); + if ($232) { + break; + } else { + $$1615788 = $$1615;$$3580787 = $230;$$3600786 = $231; + } + } + $scevgep876 = (($$1578) + ($207)|0); + $$9586 = $scevgep876; + } + break; + } + case 2: { + if ($45) { + $$9586 = $$1578; + } else { + $204 = ($$1612|0)>(0); + $205 = Math_imul($$6620742, $$1612)|0; + $$2616780 = $$2616776;$$3592778 = $107;$$4581779 = $$1578;$$4601777 = $106; + while(1) { + if ($204) { + $$9634773 = 0; + while(1) { + $233 = (($$4581779) + ($$9634773)|0); + $234 = HEAP8[$233>>0]|0; + $235 = $234&255; + $236 = (($$3592778) + ($$9634773)|0); + $237 = HEAP8[$236>>0]|0; + $238 = $237&255; + $239 = (($238) + ($235))|0; + $240 = $239&255; + $241 = (($$4601777) + ($$9634773)|0); + HEAP8[$241>>0] = $240; + $242 = (($$9634773) + 1)|0; + $exitcond873 = ($242|0)==($$1612|0); + if ($exitcond873) { + break; + } else { + $$9634773 = $242; + } + } + } + $243 = (($$4601777) + ($$1612)|0); + HEAP8[$243>>0] = -1; + $244 = (($$4581779) + ($$1612)|0); + $245 = (($$4601777) + ($15)|0); + $246 = (($$3592778) + ($15)|0); + $$2616 = (($$2616780) + -1)|0; + $247 = ($$2616|0)==(0); + if ($247) { + break; + } else { + $$2616780 = $$2616;$$3592778 = $246;$$4581779 = $244;$$4601777 = $245; + } + } + $scevgep874 = (($$1578) + ($205)|0); + $$9586 = $scevgep874; + } + break; + } + case 3: { + if ($46) { + $$9586 = $$1578; + } else { + $202 = ($$1612|0)>(0); + $203 = Math_imul($$6620742, $$1612)|0; + $$3617771 = $$3617767;$$4593769 = $107;$$5582770 = $$1578;$$5602768 = $106; + while(1) { + if ($202) { + $$10635764 = 0; + while(1) { + $248 = (($$5582770) + ($$10635764)|0); + $249 = HEAP8[$248>>0]|0; + $250 = $249&255; + $251 = (($$4593769) + ($$10635764)|0); + $252 = HEAP8[$251>>0]|0; + $253 = $252&255; + $254 = (($$10635764) - ($15))|0; + $255 = (($$5602768) + ($254)|0); + $256 = HEAP8[$255>>0]|0; + $257 = $256&255; + $258 = (($257) + ($253))|0; + $259 = $258 >>> 1; + $260 = (($259) + ($250))|0; + $261 = $260&255; + $262 = (($$5602768) + ($$10635764)|0); + HEAP8[$262>>0] = $261; + $263 = (($$10635764) + 1)|0; + $exitcond871 = ($263|0)==($$1612|0); + if ($exitcond871) { + break; + } else { + $$10635764 = $263; + } + } + } + $264 = (($$5602768) + ($$1612)|0); + HEAP8[$264>>0] = -1; + $265 = (($$5582770) + ($$1612)|0); + $266 = (($$5602768) + ($15)|0); + $267 = (($$4593769) + ($15)|0); + $$3617 = (($$3617771) + -1)|0; + $268 = ($$3617|0)==(0); + if ($268) { + break; + } else { + $$3617771 = $$3617;$$4593769 = $267;$$5582770 = $265;$$5602768 = $266; + } + } + $scevgep872 = (($$1578) + ($203)|0); + $$9586 = $scevgep872; + } + break; + } + case 4: { + if ($47) { + $$9586 = $$1578; + } else { + $200 = ($$1612|0)>(0); + $201 = Math_imul($$6620742, $$1612)|0; + $$4618762 = $$4618758;$$5594760 = $107;$$6583761 = $$1578;$$6603759 = $106; + while(1) { + if ($200) { + $$11636755 = 0; + while(1) { + $269 = (($$6583761) + ($$11636755)|0); + $270 = HEAP8[$269>>0]|0; + $271 = $270&255; + $272 = (($$11636755) - ($15))|0; + $273 = (($$6603759) + ($272)|0); + $274 = HEAP8[$273>>0]|0; + $275 = $274&255; + $276 = (($$5594760) + ($$11636755)|0); + $277 = HEAP8[$276>>0]|0; + $278 = $277&255; + $279 = (($$5594760) + ($272)|0); + $280 = HEAP8[$279>>0]|0; + $281 = $280&255; + $282 = (_stbi__paeth($275,$278,$281)|0); + $283 = (($282) + ($271))|0; + $284 = $283&255; + $285 = (($$6603759) + ($$11636755)|0); + HEAP8[$285>>0] = $284; + $286 = (($$11636755) + 1)|0; + $exitcond869 = ($286|0)==($$1612|0); + if ($exitcond869) { + break; + } else { + $$11636755 = $286; + } + } + } + $287 = (($$6603759) + ($$1612)|0); + HEAP8[$287>>0] = -1; + $288 = (($$6583761) + ($$1612)|0); + $289 = (($$6603759) + ($15)|0); + $290 = (($$5594760) + ($15)|0); + $$4618 = (($$4618762) + -1)|0; + $291 = ($$4618|0)==(0); + if ($291) { + break; + } else { + $$4618762 = $$4618;$$5594760 = $290;$$6583761 = $288;$$6603759 = $289; + } + } + $scevgep870 = (($$1578) + ($201)|0); + $$9586 = $scevgep870; + } + break; + } + case 5: { + if ($48) { + $$9586 = $$1578; + } else { + $198 = ($$1612|0)>(0); + $199 = Math_imul($$6620742, $$1612)|0; + $$5619753 = $$5619750;$$7584752 = $$1578;$$7604751 = $106; + while(1) { + if ($198) { + $$12747 = 0; + while(1) { + $292 = (($$7584752) + ($$12747)|0); + $293 = HEAP8[$292>>0]|0; + $294 = $293&255; + $295 = (($$12747) - ($15))|0; + $296 = (($$7604751) + ($295)|0); + $297 = HEAP8[$296>>0]|0; + $298 = $297&255; + $299 = $298 >>> 1; + $300 = (($299) + ($294))|0; + $301 = $300&255; + $302 = (($$7604751) + ($$12747)|0); + HEAP8[$302>>0] = $301; + $303 = (($$12747) + 1)|0; + $exitcond867 = ($303|0)==($$1612|0); + if ($exitcond867) { + break; + } else { + $$12747 = $303; + } + } + } + $304 = (($$7604751) + ($$1612)|0); + HEAP8[$304>>0] = -1; + $305 = (($$7584752) + ($$1612)|0); + $306 = (($$7604751) + ($15)|0); + $$5619 = (($$5619753) + -1)|0; + $307 = ($$5619|0)==(0); + if ($307) { + break; + } else { + $$5619753 = $$5619;$$7584752 = $305;$$7604751 = $306; + } + } + $scevgep868 = (($$1578) + ($199)|0); + $$9586 = $scevgep868; + } + break; + } + case 6: { + if ($49) { + $$9586 = $$1578; + } else { + $196 = ($$1612|0)>(0); + $197 = Math_imul($$6620742, $$1612)|0; + $$6620745 = $$6620742;$$8585744 = $$1578;$$8605743 = $106; + while(1) { + if ($196) { + $$13739 = 0; + while(1) { + $308 = (($$8585744) + ($$13739)|0); + $309 = HEAP8[$308>>0]|0; + $310 = $309&255; + $311 = (($$13739) - ($15))|0; + $312 = (($$8605743) + ($311)|0); + $313 = HEAP8[$312>>0]|0; + $314 = $313&255; + $315 = (_stbi__paeth($314,0,0)|0); + $316 = (($315) + ($310))|0; + $317 = $316&255; + $318 = (($$8605743) + ($$13739)|0); + HEAP8[$318>>0] = $317; + $319 = (($$13739) + 1)|0; + $exitcond865 = ($319|0)==($$1612|0); + if ($exitcond865) { + break; + } else { + $$13739 = $319; + } + } + } + $320 = (($$8605743) + ($$1612)|0); + HEAP8[$320>>0] = -1; + $321 = (($$8585744) + ($$1612)|0); + $322 = (($$8605743) + ($15)|0); + $$6620 = (($$6620745) + -1)|0; + $323 = ($$6620|0)==(0); + if ($323) { + break; + } else { + $$6620745 = $$6620;$$8585744 = $321;$$8605743 = $322; + } + } + $scevgep866 = (($$1578) + ($197)|0); + $$9586 = $scevgep866; + } + break; + } + default: { + $$9586 = $$1578; + } + } + if ($brmerge894) { + $$11$ph = $$9586; + } else { + $324 = HEAP32[$21>>2]|0; + $325 = (($324) + ($51)|0); + $326 = (($$1612) + 1)|0; + $$7621798 = 0;$$9606799 = $325; + while(1) { + $327 = (($$9606799) + ($326)|0); + HEAP8[$327>>0] = -1; + $328 = (($$7621798) + 1)|0; + $329 = (($$9606799) + ($15)|0); + $exitcond880 = ($328|0)==($4|0); + if ($exitcond880) { + $$11$ph = $$9586; + break; + } else { + $$7621798 = $328;$$9606799 = $329; + } + } + } + } + $330 = (($$0623814) + 1)|0; + $331 = ($330>>>0)<($5>>>0); + if ($331) { + $$0577817 = $$11$ph;$$0608816 = $$1609;$$0611815 = $$1612;$$0623814 = $330; + } else { + break L18; + } + } + if ((label|0) == 16) { + ___assert_fail((13021|0),(12363|0),4315,(12976|0)); + // unreachable; + } + else if ((label|0) == 58) { + ___assert_fail((13047|0),(12363|0),4377,(12976|0)); + // unreachable; + } + else if ((label|0) == 105) { + _stbi__err(13064); + $$2 = 0; + return ($$2|0); + } + } + } while(0); + $332 = ($6|0)<(8); + if (!($332)) { + if (!($8)) { + $$2 = 1; + return ($$2|0); + } + $601 = Math_imul($4, $3)|0; + $602 = Math_imul($601, $5)|0; + $603 = ($602|0)==(0); + if ($603) { + $$2 = 1; + return ($$2|0); + } + $604 = HEAP32[$21>>2]|0; + $$0731 = $604;$$8622729 = 0; + while(1) { + $605 = HEAP8[$$0731>>0]|0; + $606 = $605&255; + $607 = $606 << 8; + $608 = ((($$0731)) + 1|0); + $609 = HEAP8[$608>>0]|0; + $610 = $609&255; + $611 = $607 | $610; + $612 = $611&65535; + HEAP16[$$0731>>1] = $612; + $613 = (($$8622729) + 1)|0; + $614 = ((($$0731)) + 2|0); + $exitcond = ($613|0)==($602|0); + if ($exitcond) { + $$2 = 1; + break; + } else { + $$0731 = $614;$$8622729 = $613; + } + } + return ($$2|0); + } + $333 = ($5|0)==(0); + if ($333) { + $$2 = 1; + return ($$2|0); + } + $334 = (0 - ($26))|0; + $335 = ($7|0)==(0); + $336 = (12760 + ($6)|0); + $$0568724 = (($4) + -1)|0; + $337 = ($$0568724|0)>(-1); + $$1721 = (($4) + -1)|0; + $338 = ($$1721|0)>(-1); + $339 = ($23|0)>(1); + $340 = ($23|0)>(3); + $341 = ($23|0)>(7); + $342 = (($23) + -8)|0; + $343 = $342 >>> 3; + $344 = $343 << 3; + $345 = (($344) + 8)|0; + $346 = (($342) - ($344))|0; + $347 = (($343) + ($11))|0; + $348 = (($347) + 1)|0; + $349 = (($348) - ($26))|0; + $350 = (($23) + -4)|0; + $351 = $350 >>> 2; + $352 = $351 << 2; + $353 = (($352) + 4)|0; + $354 = (($350) - ($352))|0; + $355 = (($351) + ($11))|0; + $356 = (($355) + 1)|0; + $357 = (($356) - ($26))|0; + $358 = (($23) + -2)|0; + $359 = $358 >>> 1; + $360 = $359 << 1; + $361 = (($360) + 2)|0; + $362 = (($358) - ($360))|0; + $363 = (($359) + ($11))|0; + $364 = (($363) + 1)|0; + $365 = (($364) - ($26))|0; + $$1624727 = 0;$indvars$iv = $345;$indvars$iv848 = $349;$indvars$iv851 = $353;$indvars$iv854 = $357;$indvars$iv857 = $361;$indvars$iv860 = $365; + L174: while(1) { + $366 = HEAP32[$21>>2]|0; + $367 = Math_imul($$1624727, $12)|0; + $368 = (($366) + ($367)|0); + $369 = (($368) + ($11)|0); + $370 = (($369) + ($334)|0); + if ($335) { + $371 = HEAP8[$336>>0]|0; + $372 = $371&255; + $377 = $372; + } else { + $377 = 1; + } + switch ($6|0) { + case 4: { + if ($339) { + $scevgep859 = (($366) + ($indvars$iv857)|0); + $$0571715 = $370;$$0574714 = $368;$$14713 = $23; + while(1) { + $373 = HEAP8[$$0571715>>0]|0; + $374 = $373&255; + $375 = $374 >>> 4; + $376 = Math_imul($375, $377)|0; + $378 = $376&255; + $379 = ((($$0574714)) + 1|0); + HEAP8[$$0574714>>0] = $378; + $380 = HEAP8[$$0571715>>0]|0; + $381 = $380 & 15; + $382 = $381&255; + $383 = Math_imul($382, $377)|0; + $384 = $383&255; + $385 = ((($$0574714)) + 2|0); + HEAP8[$379>>0] = $384; + $386 = (($$14713) + -2)|0; + $387 = ((($$0571715)) + 1|0); + $388 = ($386|0)>(1); + if ($388) { + $$0571715 = $387;$$0574714 = $385;$$14713 = $386; + } else { + break; + } + } + $scevgep862 = (($366) + ($indvars$iv860)|0); + $$0571$lcssa = $scevgep862;$$0574$lcssa = $scevgep859;$$14$lcssa = $362; + } else { + $$0571$lcssa = $370;$$0574$lcssa = $368;$$14$lcssa = $23; + } + $389 = ($$14$lcssa|0)==(1); + if ($389) { + $390 = HEAP8[$$0571$lcssa>>0]|0; + $391 = $390&255; + $392 = $391 >>> 4; + $393 = Math_imul($392, $377)|0; + $394 = $393&255; + HEAP8[$$0574$lcssa>>0] = $394; + } + break; + } + case 2: { + if ($340) { + $scevgep853 = (($366) + ($indvars$iv851)|0); + $$15705 = $23;$$1572707 = $370;$$1575706 = $368; + while(1) { + $395 = HEAP8[$$1572707>>0]|0; + $396 = $395&255; + $397 = $396 >>> 6; + $398 = Math_imul($397, $377)|0; + $399 = $398&255; + $400 = ((($$1575706)) + 1|0); + HEAP8[$$1575706>>0] = $399; + $401 = HEAP8[$$1572707>>0]|0; + $402 = $401&255; + $403 = $402 >>> 4; + $404 = $403 & 3; + $405 = Math_imul($404, $377)|0; + $406 = $405&255; + $407 = ((($$1575706)) + 2|0); + HEAP8[$400>>0] = $406; + $408 = HEAP8[$$1572707>>0]|0; + $409 = $408&255; + $410 = $409 >>> 2; + $411 = $410 & 3; + $412 = Math_imul($411, $377)|0; + $413 = $412&255; + $414 = ((($$1575706)) + 3|0); + HEAP8[$407>>0] = $413; + $415 = HEAP8[$$1572707>>0]|0; + $416 = $415 & 3; + $417 = $416&255; + $418 = Math_imul($417, $377)|0; + $419 = $418&255; + $420 = ((($$1575706)) + 4|0); + HEAP8[$414>>0] = $419; + $421 = (($$15705) + -4)|0; + $422 = ((($$1572707)) + 1|0); + $423 = ($421|0)>(3); + if ($423) { + $$15705 = $421;$$1572707 = $422;$$1575706 = $420; + } else { + break; + } + } + $scevgep856 = (($366) + ($indvars$iv854)|0); + $$15$lcssa = $354;$$1572$lcssa = $scevgep856;$$1575$lcssa = $scevgep853; + } else { + $$15$lcssa = $23;$$1572$lcssa = $370;$$1575$lcssa = $368; + } + $424 = ($$15$lcssa|0)>(0); + if ($424) { + $425 = HEAP8[$$1572$lcssa>>0]|0; + $426 = $425&255; + $427 = $426 >>> 6; + $428 = Math_imul($427, $377)|0; + $429 = $428&255; + HEAP8[$$1575$lcssa>>0] = $429; + $430 = ($$15$lcssa|0)==(1); + if (!($430)) { + $431 = ((($$1575$lcssa)) + 1|0); + $432 = HEAP8[$$1572$lcssa>>0]|0; + $433 = $432&255; + $434 = $433 >>> 4; + $435 = $434 & 3; + $436 = Math_imul($435, $377)|0; + $437 = $436&255; + HEAP8[$431>>0] = $437; + $438 = ($$15$lcssa|0)>(2); + if ($438) { + $439 = ((($$1575$lcssa)) + 2|0); + $440 = HEAP8[$$1572$lcssa>>0]|0; + $441 = $440&255; + $442 = $441 >>> 2; + $443 = $442 & 3; + $444 = Math_imul($443, $377)|0; + $445 = $444&255; + HEAP8[$439>>0] = $445; + } + } + } + break; + } + case 1: { + if ($341) { + $scevgep = (($366) + ($indvars$iv)|0); + $$16700 = $23;$$2573702 = $370;$$4701 = $368; + while(1) { + $446 = HEAP8[$$2573702>>0]|0; + $447 = $446&255; + $448 = $447 >>> 7; + $449 = (0 - ($448))|0; + $450 = $377 & $449; + $451 = $450&255; + $452 = ((($$4701)) + 1|0); + HEAP8[$$4701>>0] = $451; + $453 = HEAP8[$$2573702>>0]|0; + $454 = $453&255; + $455 = $454 >>> 6; + $456 = $455 & 1; + $457 = (0 - ($456))|0; + $458 = $377 & $457; + $459 = $458&255; + $460 = ((($$4701)) + 2|0); + HEAP8[$452>>0] = $459; + $461 = HEAP8[$$2573702>>0]|0; + $462 = $461&255; + $463 = $462 >>> 5; + $464 = $463 & 1; + $465 = (0 - ($464))|0; + $466 = $377 & $465; + $467 = $466&255; + $468 = ((($$4701)) + 3|0); + HEAP8[$460>>0] = $467; + $469 = HEAP8[$$2573702>>0]|0; + $470 = $469&255; + $471 = $470 >>> 4; + $472 = $471 & 1; + $473 = (0 - ($472))|0; + $474 = $377 & $473; + $475 = $474&255; + $476 = ((($$4701)) + 4|0); + HEAP8[$468>>0] = $475; + $477 = HEAP8[$$2573702>>0]|0; + $478 = $477&255; + $479 = $478 >>> 3; + $480 = $479 & 1; + $481 = (0 - ($480))|0; + $482 = $377 & $481; + $483 = $482&255; + $484 = ((($$4701)) + 5|0); + HEAP8[$476>>0] = $483; + $485 = HEAP8[$$2573702>>0]|0; + $486 = $485&255; + $487 = $486 >>> 2; + $488 = $487 & 1; + $489 = (0 - ($488))|0; + $490 = $377 & $489; + $491 = $490&255; + $492 = ((($$4701)) + 6|0); + HEAP8[$484>>0] = $491; + $493 = HEAP8[$$2573702>>0]|0; + $494 = $493&255; + $495 = $494 >>> 1; + $496 = $495 & 1; + $497 = (0 - ($496))|0; + $498 = $377 & $497; + $499 = $498&255; + $500 = ((($$4701)) + 7|0); + HEAP8[$492>>0] = $499; + $501 = HEAP8[$$2573702>>0]|0; + $502 = $501 & 1; + $503 = $502&255; + $504 = (0 - ($503))|0; + $505 = $377 & $504; + $506 = $505&255; + $507 = ((($$4701)) + 8|0); + HEAP8[$500>>0] = $506; + $508 = (($$16700) + -8)|0; + $509 = ((($$2573702)) + 1|0); + $510 = ($508|0)>(7); + if ($510) { + $$16700 = $508;$$2573702 = $509;$$4701 = $507; + } else { + break; + } + } + $scevgep850 = (($366) + ($indvars$iv848)|0); + $$16$lcssa = $346;$$2573$lcssa = $scevgep850;$$4$lcssa = $scevgep; + } else { + $$16$lcssa = $23;$$2573$lcssa = $370;$$4$lcssa = $368; + } + $511 = ($$16$lcssa|0)>(0); + if ($511) { + $512 = HEAP8[$$2573$lcssa>>0]|0; + $513 = $512&255; + $514 = $513 >>> 7; + $515 = (0 - ($514))|0; + $516 = $377 & $515; + $517 = $516&255; + HEAP8[$$4$lcssa>>0] = $517; + $518 = ($$16$lcssa|0)==(1); + if (!($518)) { + $519 = ((($$4$lcssa)) + 1|0); + $520 = HEAP8[$$2573$lcssa>>0]|0; + $521 = $520&255; + $522 = $521 >>> 6; + $523 = $522 & 1; + $524 = (0 - ($523))|0; + $525 = $377 & $524; + $526 = $525&255; + HEAP8[$519>>0] = $526; + $527 = ($$16$lcssa|0)>(2); + if ($527) { + $528 = ((($$4$lcssa)) + 2|0); + $529 = HEAP8[$$2573$lcssa>>0]|0; + $530 = $529&255; + $531 = $530 >>> 5; + $532 = $531 & 1; + $533 = (0 - ($532))|0; + $534 = $377 & $533; + $535 = $534&255; + HEAP8[$528>>0] = $535; + $536 = ($$16$lcssa|0)==(3); + if (!($536)) { + $537 = ((($$4$lcssa)) + 3|0); + $538 = HEAP8[$$2573$lcssa>>0]|0; + $539 = $538&255; + $540 = $539 >>> 4; + $541 = $540 & 1; + $542 = (0 - ($541))|0; + $543 = $377 & $542; + $544 = $543&255; + HEAP8[$537>>0] = $544; + $545 = ($$16$lcssa|0)>(4); + if ($545) { + $546 = ((($$4$lcssa)) + 4|0); + $547 = HEAP8[$$2573$lcssa>>0]|0; + $548 = $547&255; + $549 = $548 >>> 3; + $550 = $549 & 1; + $551 = (0 - ($550))|0; + $552 = $377 & $551; + $553 = $552&255; + HEAP8[$546>>0] = $553; + $554 = ($$16$lcssa|0)==(5); + if (!($554)) { + $555 = ((($$4$lcssa)) + 5|0); + $556 = HEAP8[$$2573$lcssa>>0]|0; + $557 = $556&255; + $558 = $557 >>> 2; + $559 = $558 & 1; + $560 = (0 - ($559))|0; + $561 = $377 & $560; + $562 = $561&255; + HEAP8[$555>>0] = $562; + $563 = ($$16$lcssa|0)>(6); + if ($563) { + $564 = ((($$4$lcssa)) + 6|0); + $565 = HEAP8[$$2573$lcssa>>0]|0; + $566 = $565&255; + $567 = $566 >>> 1; + $568 = $567 & 1; + $569 = (0 - ($568))|0; + $570 = $377 & $569; + $571 = $570&255; + HEAP8[$564>>0] = $571; + } + } + } + } + } + } + } + break; + } + default: { + } + } + L213: do { + if (!($17)) { + $572 = HEAP32[$21>>2]|0; + $573 = (($572) + ($367)|0); + switch ($14|0) { + case 1: { + if ($337) { + $$0568725 = $$0568724; + } else { + break L213; + } + while(1) { + $574 = $$0568725 << 1; + $575 = $574 | 1; + $576 = (($573) + ($575)|0); + HEAP8[$576>>0] = -1; + $577 = (($573) + ($$0568725)|0); + $578 = HEAP8[$577>>0]|0; + $579 = (($573) + ($574)|0); + HEAP8[$579>>0] = $578; + $$0568 = (($$0568725) + -1)|0; + $580 = ($$0568|0)>(-1); + if ($580) { + $$0568725 = $$0568; + } else { + break; + } + } + break; + } + case 3: { + if ($338) { + $$1722 = $$1721; + } else { + break L213; + } + while(1) { + $581 = $$1722 << 2; + $582 = $581 | 3; + $583 = (($573) + ($582)|0); + HEAP8[$583>>0] = -1; + $584 = ($$1722*3)|0; + $585 = (($584) + 2)|0; + $586 = (($573) + ($585)|0); + $587 = HEAP8[$586>>0]|0; + $588 = $581 | 2; + $589 = (($573) + ($588)|0); + HEAP8[$589>>0] = $587; + $590 = (($584) + 1)|0; + $591 = (($573) + ($590)|0); + $592 = HEAP8[$591>>0]|0; + $593 = $581 | 1; + $594 = (($573) + ($593)|0); + HEAP8[$594>>0] = $592; + $595 = (($573) + ($584)|0); + $596 = HEAP8[$595>>0]|0; + $597 = (($573) + ($581)|0); + HEAP8[$597>>0] = $596; + $$1 = (($$1722) + -1)|0; + $598 = ($$1|0)>(-1); + if ($598) { + $$1722 = $$1; + } else { + break; + } + } + break; + } + default: { + label = 144; + break L174; + } + } + } + } while(0); + $599 = (($$1624727) + 1)|0; + $600 = ($599>>>0)<($5>>>0); + $indvars$iv$next = (($indvars$iv) + ($12))|0; + $indvars$iv$next849 = (($indvars$iv848) + ($12))|0; + $indvars$iv$next852 = (($indvars$iv851) + ($12))|0; + $indvars$iv$next855 = (($indvars$iv854) + ($12))|0; + $indvars$iv$next858 = (($indvars$iv857) + ($12))|0; + $indvars$iv$next861 = (($indvars$iv860) + ($12))|0; + if ($600) { + $$1624727 = $599;$indvars$iv = $indvars$iv$next;$indvars$iv848 = $indvars$iv$next849;$indvars$iv851 = $indvars$iv$next852;$indvars$iv854 = $indvars$iv$next855;$indvars$iv857 = $indvars$iv$next858;$indvars$iv860 = $indvars$iv$next861; + } else { + $$2 = 1; + label = 151; + break; + } + } + if ((label|0) == 144) { + ___assert_fail((13079|0),(12363|0),4466,(12976|0)); + // unreachable; + } + else if ((label|0) == 151) { + return ($$2|0); + } + return (0)|0; +} +function _stbi__paeth($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$ = 0, $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $ispos = 0, $ispos26 = 0, $ispos28 = 0, $neg = 0, $neg27 = 0, $neg29 = 0, $or$cond = 0; + var label = 0, sp = 0; + sp = STACKTOP; + $3 = (($1) + ($0))|0; + $4 = (($3) - ($2))|0; + $5 = (($4) - ($0))|0; + $ispos = ($5|0)>(-1); + $neg = (0 - ($5))|0; + $6 = $ispos ? $5 : $neg; + $7 = (($4) - ($1))|0; + $ispos26 = ($7|0)>(-1); + $neg27 = (0 - ($7))|0; + $8 = $ispos26 ? $7 : $neg27; + $9 = (($4) - ($2))|0; + $ispos28 = ($9|0)>(-1); + $neg29 = (0 - ($9))|0; + $10 = $ispos28 ? $9 : $neg29; + $11 = ($6|0)>($8|0); + $12 = ($6|0)>($10|0); + $or$cond = $11 | $12; + $13 = ($8|0)>($10|0); + $$ = $13 ? $2 : $1; + $$0 = $or$cond ? $$ : $0; + return ($$0|0); +} +function _stbi__do_zlib($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $10 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $5 = ((($0)) + 20|0); + HEAP32[$5>>2] = $1; + $6 = ((($0)) + 16|0); + HEAP32[$6>>2] = $1; + $7 = (($1) + ($2)|0); + $8 = ((($0)) + 24|0); + HEAP32[$8>>2] = $7; + $9 = ((($0)) + 28|0); + HEAP32[$9>>2] = $3; + $10 = (_stbi__parse_zlib($0,$4)|0); + return ($10|0); +} +function _stbi__parse_zlib($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ($1|0)==(0); + if (!($2)) { + $3 = (_stbi__parse_zlib_header($0)|0); + $4 = ($3|0)==(0); + if ($4) { + $$0 = 0; + return ($$0|0); + } + } + $5 = ((($0)) + 8|0); + HEAP32[$5>>2] = 0; + $6 = ((($0)) + 12|0); + HEAP32[$6>>2] = 0; + $7 = ((($0)) + 32|0); + $8 = ((($0)) + 2052|0); + L5: while(1) { + $9 = (_stbi__zreceive($0,1)|0); + $10 = (_stbi__zreceive($0,2)|0); + switch ($10|0) { + case 3: { + $$0 = 0; + label = 11; + break L5; + break; + } + case 0: { + $11 = (_stbi__parse_uncompressed_block($0)|0); + $12 = ($11|0)==(0); + if ($12) { + $$0 = 0; + label = 11; + break L5; + } + break; + } + case 1: { + $13 = (_stbi__zbuild_huffman($7,13090,288)|0); + $14 = ($13|0)==(0); + if ($14) { + $$0 = 0; + label = 11; + break L5; + } + $15 = (_stbi__zbuild_huffman($8,13378,32)|0); + $16 = ($15|0)==(0); + if ($16) { + $$0 = 0; + label = 11; + break L5; + } else { + label = 9; + } + break; + } + default: { + $17 = (_stbi__compute_huffman_codes($0)|0); + $18 = ($17|0)==(0); + if ($18) { + $$0 = 0; + label = 11; + break L5; + } else { + label = 9; + } + } + } + if ((label|0) == 9) { + label = 0; + $19 = (_stbi__parse_huffman_block($0)|0); + $20 = ($19|0)==(0); + if ($20) { + $$0 = 0; + label = 11; + break; + } + } + $21 = ($9|0)==(0); + if (!($21)) { + $$0 = 1; + label = 11; + break; + } + } + if ((label|0) == 11) { + return ($$0|0); + } + return (0)|0; +} +function _stbi__parse_zlib_header($0) { + $0 = $0|0; + var $$0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (_stbi__zget8($0)|0); + $2 = $1&255; + $3 = $2 & 15; + $4 = (_stbi__zget8($0)|0); + $5 = $4&255; + $6 = $2 << 8; + $7 = $6 | $5; + $8 = (($7>>>0) % 31)&-1; + $9 = ($8|0)==(0); + if (!($9)) { + _stbi__err(13725); + $$0 = 0; + return ($$0|0); + } + $10 = $5 & 32; + $11 = ($10|0)==(0); + if (!($11)) { + _stbi__err(13741); + $$0 = 0; + return ($$0|0); + } + $12 = ($3|0)==(8); + if ($12) { + $$0 = 1; + return ($$0|0); + } + _stbi__err(13756); + $$0 = 0; + return ($$0|0); +} +function _stbi__zreceive($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($0)) + 8|0); + $3 = HEAP32[$2>>2]|0; + $4 = ($3|0)<($1|0); + if ($4) { + _stbi__fill_bits($0); + } + $5 = ((($0)) + 12|0); + $6 = HEAP32[$5>>2]|0; + $7 = 1 << $1; + $8 = (($7) + -1)|0; + $9 = $6 & $8; + $10 = $6 >>> $1; + HEAP32[$5>>2] = $10; + $11 = HEAP32[$2>>2]|0; + $12 = (($11) - ($1))|0; + HEAP32[$2>>2] = $12; + return ($9|0); +} +function _stbi__parse_uncompressed_block($0) { + $0 = $0|0; + var $$0$lcssa = 0, $$034 = 0, $$037 = 0, $$136 = 0, $$lcssa = 0, $$ph = 0, $$pr = 0, $$promoted = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0; + var $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0; + var $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0; + var $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond47 = 0, $smax = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $1 = sp; + $2 = ((($0)) + 8|0); + $3 = HEAP32[$2>>2]|0; + $4 = $3 & 7; + $5 = ($4|0)==(0); + if ($5) { + $$ph = $3; + } else { + (_stbi__zreceive($0,$4)|0); + $$pr = HEAP32[$2>>2]|0; + $$ph = $$pr; + } + $6 = ($$ph|0)>(0); + if ($6) { + $7 = ((($0)) + 12|0); + $$promoted = HEAP32[$7>>2]|0; + $8 = $$ph ^ -1; + $9 = ($8|0)>(-9); + $smax = $9 ? $8 : -9; + $10 = (($$ph) + ($smax))|0; + $11 = (($10) + 8)|0; + $12 = $11 >>> 3; + $13 = (($12) + 1)|0; + $14 = $12 << 3; + $$037 = 0;$16 = $$promoted; + while(1) { + $15 = $16&255; + $17 = (($$037) + 1)|0; + $18 = (($1) + ($$037)|0); + HEAP8[$18>>0] = $15; + $19 = $16 >>> 8; + $exitcond47 = ($17|0)==($13|0); + if ($exitcond47) { + break; + } else { + $$037 = $17;$16 = $19; + } + } + $20 = (($$ph) + -8)|0; + $21 = (($20) - ($14))|0; + HEAP32[$7>>2] = $19; + HEAP32[$2>>2] = $21; + $$0$lcssa = $13;$$lcssa = $21; + } else { + $$0$lcssa = 0;$$lcssa = $$ph; + } + $22 = ($$lcssa|0)==(0); + if (!($22)) { + ___assert_fail((13647|0),(12363|0),4033,(13664|0)); + // unreachable; + } + $23 = ($$0$lcssa|0)<(4); + if ($23) { + $$136 = $$0$lcssa; + while(1) { + $24 = (_stbi__zget8($0)|0); + $25 = (($$136) + 1)|0; + $26 = (($1) + ($$136)|0); + HEAP8[$26>>0] = $24; + $exitcond = ($25|0)==(4); + if ($exitcond) { + break; + } else { + $$136 = $25; + } + } + } + $27 = ((($1)) + 1|0); + $28 = HEAP8[$27>>0]|0; + $29 = $28&255; + $30 = $29 << 8; + $31 = HEAP8[$1>>0]|0; + $32 = $31&255; + $33 = $30 | $32; + $34 = ((($1)) + 3|0); + $35 = HEAP8[$34>>0]|0; + $36 = $35&255; + $37 = $36 << 8; + $38 = ((($1)) + 2|0); + $39 = HEAP8[$38>>0]|0; + $40 = $39&255; + $41 = $37 | $40; + $42 = $33 ^ 65535; + $43 = ($41|0)==($42|0); + if (!($43)) { + _stbi__err(13695); + $$034 = 0; + STACKTOP = sp;return ($$034|0); + } + $44 = HEAP32[$0>>2]|0; + $45 = (($44) + ($33)|0); + $46 = ((($0)) + 4|0); + $47 = HEAP32[$46>>2]|0; + $48 = ($45>>>0)>($47>>>0); + if ($48) { + _stbi__err(13708); + $$034 = 0; + STACKTOP = sp;return ($$034|0); + } + $49 = ((($0)) + 16|0); + $50 = HEAP32[$49>>2]|0; + $51 = (($50) + ($33)|0); + $52 = ((($0)) + 24|0); + $53 = HEAP32[$52>>2]|0; + $54 = ($51>>>0)>($53>>>0); + if ($54) { + $55 = (_stbi__zexpand($0,$50,$33)|0); + $56 = ($55|0)==(0); + if ($56) { + $$034 = 0; + STACKTOP = sp;return ($$034|0); + } + } + $57 = HEAP32[$49>>2]|0; + $58 = HEAP32[$0>>2]|0; + _memcpy(($57|0),($58|0),($33|0))|0; + $59 = HEAP32[$0>>2]|0; + $60 = (($59) + ($33)|0); + HEAP32[$0>>2] = $60; + $61 = HEAP32[$49>>2]|0; + $62 = (($61) + ($33)|0); + HEAP32[$49>>2] = $62; + $$034 = 1; + STACKTOP = sp;return ($$034|0); +} +function _stbi__zbuild_huffman($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$075 = 0, $$07688 = 0, $$07785 = 0, $$07884 = 0, $$081 = 0, $$286 = 0, $$382 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0; + var $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0; + var $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0; + var $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0; + var $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0; + var $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond = 0, $exitcond91 = 0, $or$cond = 0, dest = 0, label = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 144|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(144|0); + $3 = sp + 72|0; + $4 = sp; + dest=$4; stop=dest+68|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + _memset(($0|0),0,1024)|0; + $5 = ($2|0)>(0); + if ($5) { + $$07688 = 0; + while(1) { + $6 = (($1) + ($$07688)|0); + $7 = HEAP8[$6>>0]|0; + $8 = $7&255; + $9 = (($4) + ($8<<2)|0); + $10 = HEAP32[$9>>2]|0; + $11 = (($10) + 1)|0; + HEAP32[$9>>2] = $11; + $12 = (($$07688) + 1)|0; + $exitcond91 = ($12|0)==($2|0); + if ($exitcond91) { + break; + } else { + $$07688 = $12; + } + } + } + HEAP32[$4>>2] = 0; + $16 = ((($4)) + 4|0); + $17 = HEAP32[$16>>2]|0; + $18 = ($17|0)>(2); + if (!($18)) { + $13 = ((($4)) + 8|0); + $14 = HEAP32[$13>>2]|0; + $15 = ($14|0)>(4); + if (!($15)) { + $69 = ((($4)) + 12|0); + $70 = HEAP32[$69>>2]|0; + $71 = ($70|0)>(8); + if (!($71)) { + $72 = ((($4)) + 16|0); + $73 = HEAP32[$72>>2]|0; + $74 = ($73|0)>(16); + if (!($74)) { + $75 = ((($4)) + 20|0); + $76 = HEAP32[$75>>2]|0; + $77 = ($76|0)>(32); + if (!($77)) { + $78 = ((($4)) + 24|0); + $79 = HEAP32[$78>>2]|0; + $80 = ($79|0)>(64); + if (!($80)) { + $81 = ((($4)) + 28|0); + $82 = HEAP32[$81>>2]|0; + $83 = ($82|0)>(128); + if (!($83)) { + $84 = ((($4)) + 32|0); + $85 = HEAP32[$84>>2]|0; + $86 = ($85|0)>(256); + if (!($86)) { + $87 = ((($4)) + 36|0); + $88 = HEAP32[$87>>2]|0; + $89 = ($88|0)>(512); + if (!($89)) { + $90 = ((($4)) + 40|0); + $91 = HEAP32[$90>>2]|0; + $92 = ($91|0)>(1024); + if (!($92)) { + $93 = ((($4)) + 44|0); + $94 = HEAP32[$93>>2]|0; + $95 = ($94|0)>(2048); + if (!($95)) { + $96 = ((($4)) + 48|0); + $97 = HEAP32[$96>>2]|0; + $98 = ($97|0)>(4096); + if (!($98)) { + $99 = ((($4)) + 52|0); + $100 = HEAP32[$99>>2]|0; + $101 = ($100|0)>(8192); + if (!($101)) { + $102 = ((($4)) + 56|0); + $103 = HEAP32[$102>>2]|0; + $104 = ($103|0)>(16384); + if (!($104)) { + $105 = ((($4)) + 60|0); + $106 = HEAP32[$105>>2]|0; + $107 = ($106|0)>(32768); + if (!($107)) { + $$07785 = 0;$$07884 = 0;$$286 = 1; + while(1) { + $19 = (($3) + ($$286<<2)|0); + HEAP32[$19>>2] = $$07884; + $20 = $$07884&65535; + $21 = (((($0)) + 1024|0) + ($$286<<1)|0); + HEAP16[$21>>1] = $20; + $22 = $$07785&65535; + $23 = (((($0)) + 1124|0) + ($$286<<1)|0); + HEAP16[$23>>1] = $22; + $24 = (($4) + ($$286<<2)|0); + $25 = HEAP32[$24>>2]|0; + $26 = (($25) + ($$07884))|0; + $27 = ($25|0)!=(0); + $28 = 1 << $$286; + $29 = ($26|0)>($28|0); + $or$cond = $27 & $29; + if ($or$cond) { + label = 7; + break; + } + $30 = (16 - ($$286))|0; + $31 = $26 << $30; + $32 = (((($0)) + 1056|0) + ($$286<<2)|0); + HEAP32[$32>>2] = $31; + $33 = $26 << 1; + $34 = (($25) + ($$07785))|0; + $35 = (($$286) + 1)|0; + $36 = ($35|0)<(16); + if ($36) { + $$07785 = $34;$$07884 = $33;$$286 = $35; + } else { + break; + } + } + if ((label|0) == 7) { + _stbi__err(13585); + $$075 = 0; + STACKTOP = sp;return ($$075|0); + } + $37 = ((($0)) + 1120|0); + HEAP32[$37>>2] = 65536; + $38 = ($2|0)>(0); + if ($38) { + $$382 = 0; + } else { + $$075 = 1; + STACKTOP = sp;return ($$075|0); + } + while(1) { + $39 = (($1) + ($$382)|0); + $40 = HEAP8[$39>>0]|0; + $41 = $40&255; + $42 = ($40<<24>>24)==(0); + if (!($42)) { + $43 = (($3) + ($41<<2)|0); + $44 = HEAP32[$43>>2]|0; + $45 = (((($0)) + 1024|0) + ($41<<1)|0); + $46 = HEAP16[$45>>1]|0; + $47 = $46&65535; + $48 = (($44) - ($47))|0; + $49 = (((($0)) + 1124|0) + ($41<<1)|0); + $50 = HEAP16[$49>>1]|0; + $51 = $50&65535; + $52 = (($48) + ($51))|0; + $53 = $41 << 9; + $54 = $53 | $$382; + $55 = $54&65535; + $56 = (((($0)) + 1156|0) + ($52)|0); + HEAP8[$56>>0] = $40; + $57 = $$382&65535; + $58 = (((($0)) + 1444|0) + ($52<<1)|0); + HEAP16[$58>>1] = $57; + $59 = ($40&255)<(10); + do { + if ($59) { + $60 = (_stbi__bit_reverse($44,$41)|0); + $61 = ($60|0)<(512); + if (!($61)) { + break; + } + $62 = 1 << $41; + $$081 = $60; + while(1) { + $63 = (($0) + ($$081<<1)|0); + HEAP16[$63>>1] = $55; + $64 = (($$081) + ($62))|0; + $65 = ($64|0)<(512); + if ($65) { + $$081 = $64; + } else { + break; + } + } + } + } while(0); + $66 = HEAP32[$43>>2]|0; + $67 = (($66) + 1)|0; + HEAP32[$43>>2] = $67; + } + $68 = (($$382) + 1)|0; + $exitcond = ($68|0)==($2|0); + if ($exitcond) { + $$075 = 1; + break; + } else { + $$382 = $68; + } + } + STACKTOP = sp;return ($$075|0); + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + _stbi__err(13637); + $$075 = 0; + STACKTOP = sp;return ($$075|0); +} +function _stbi__compute_huffman_codes($0) { + $0 = $0|0; + var $$ = 0, $$0 = 0, $$061 = 0, $$06579 = 0, $$066$be = 0, $$066$lcssa = 0, $$06678 = 0, $$4 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0; + var $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0; + var $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $not$ = 0, dest = 0; + var label = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 2496|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(2496|0); + $1 = sp; + $2 = sp + 2039|0; + $3 = sp + 2020|0; + $4 = (_stbi__zreceive($0,5)|0); + $5 = (($4) + 257)|0; + $6 = (_stbi__zreceive($0,5)|0); + $7 = (($6) + 1)|0; + $8 = (_stbi__zreceive($0,4)|0); + $9 = (($8) + 4)|0; + $10 = (($7) + ($5))|0; + dest=$3; stop=dest+19|0; do { HEAP8[dest>>0]=0|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); + $11 = ($9|0)>(0); + if ($11) { + $$06579 = 0; + while(1) { + $12 = (_stbi__zreceive($0,3)|0); + $13 = $12&255; + $14 = (14422 + ($$06579)|0); + $15 = HEAP8[$14>>0]|0; + $16 = $15&255; + $17 = (($3) + ($16)|0); + HEAP8[$17>>0] = $13; + $18 = (($$06579) + 1)|0; + $exitcond = ($18|0)==($9|0); + if ($exitcond) { + break; + } else { + $$06579 = $18; + } + } + } + $19 = (_stbi__zbuild_huffman($1,$3,19)|0); + $20 = ($19|0)==(0); + if ($20) { + $$4 = 0; + STACKTOP = sp;return ($$4|0); + } + $21 = ($10|0)>(0); + L8: do { + if ($21) { + $$06678 = 0; + L9: while(1) { + $22 = (_stbi__zhuffman_decode($0,$1)|0); + $23 = ($22>>>0)>(18); + if ($23) { + label = 6; + break; + } + $24 = ($22|0)<(16); + if ($24) { + $25 = $22&255; + $26 = (($$06678) + 1)|0; + $27 = (($2) + ($$06678)|0); + HEAP8[$27>>0] = $25; + $$066$be = $26; + } else { + switch ($22|0) { + case 16: { + $28 = (_stbi__zreceive($0,2)|0); + $29 = ($$06678|0)==(0); + if ($29) { + label = 11; + break L9; + } + $30 = (($28) + 3)|0; + $31 = (($$06678) + -1)|0; + $32 = (($2) + ($31)|0); + $33 = HEAP8[$32>>0]|0; + $$0 = $33;$$061 = $30; + break; + } + case 17: { + $34 = (_stbi__zreceive($0,3)|0); + $35 = (($34) + 3)|0; + $$0 = 0;$$061 = $35; + break; + } + case 18: { + $36 = (_stbi__zreceive($0,7)|0); + $37 = (($36) + 11)|0; + $$0 = 0;$$061 = $37; + break; + } + default: { + label = 14; + break L9; + } + } + $38 = (($10) - ($$06678))|0; + $39 = ($38|0)<($$061|0); + if ($39) { + label = 17; + break; + } + $40 = (($2) + ($$06678)|0); + _memset(($40|0),($$0|0),($$061|0))|0; + $41 = (($$061) + ($$06678))|0; + $$066$be = $41; + } + $42 = ($10|0)>($$066$be|0); + if ($42) { + $$06678 = $$066$be; + } else { + $$066$lcssa = $$066$be; + break L8; + } + } + if ((label|0) == 6) { + _stbi__err(13585); + $$4 = 0; + STACKTOP = sp;return ($$4|0); + } + else if ((label|0) == 11) { + _stbi__err(13585); + $$4 = 0; + STACKTOP = sp;return ($$4|0); + } + else if ((label|0) == 14) { + ___assert_fail((13601|0),(12363|0),4006,(13609|0)); + // unreachable; + } + else if ((label|0) == 17) { + _stbi__err(13585); + $$4 = 0; + STACKTOP = sp;return ($$4|0); + } + } else { + $$066$lcssa = 0; + } + } while(0); + $43 = ($10|0)==($$066$lcssa|0); + if (!($43)) { + _stbi__err(13585); + $$4 = 0; + STACKTOP = sp;return ($$4|0); + } + $44 = ((($0)) + 32|0); + $45 = (_stbi__zbuild_huffman($44,$2,$5)|0); + $46 = ($45|0)==(0); + if ($46) { + $$4 = 0; + STACKTOP = sp;return ($$4|0); + } + $47 = ((($0)) + 2052|0); + $48 = (($2) + ($5)|0); + $49 = (_stbi__zbuild_huffman($47,$48,$7)|0); + $not$ = ($49|0)!=(0); + $$ = $not$&1; + $$4 = $$; + STACKTOP = sp;return ($$4|0); +} +function _stbi__parse_huffman_block($0) { + $0 = $0|0; + var $$063 = 0, $$064 = 0, $$067 = 0, $$070 = 0, $$171 = 0, $$266 = 0, $$272 = 0, $$3$ph = 0, $$5 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0; + var $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0; + var $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0; + var $56 = 0, $57 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $scevgep = 0, $scevgep92 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 16|0); + $2 = HEAP32[$1>>2]|0; + $3 = ((($0)) + 32|0); + $4 = ((($0)) + 24|0); + $5 = ((($0)) + 2052|0); + $6 = ((($0)) + 20|0); + $7 = ((($0)) + 24|0); + $$070 = $2; + while(1) { + $10 = (_stbi__zhuffman_decode($0,$3)|0); + $11 = ($10|0)<(256); + if ($11) { + $12 = ($10|0)<(0); + if ($12) { + label = 6; + break; + } + $13 = HEAP32[$4>>2]|0; + $14 = ($$070>>>0)<($13>>>0); + if ($14) { + $$171 = $$070; + } else { + $15 = (_stbi__zexpand($0,$$070,1)|0); + $16 = ($15|0)==(0); + if ($16) { + $$3$ph = 0; + label = 28; + break; + } + $17 = HEAP32[$1>>2]|0; + $$171 = $17; + } + $18 = $10&255; + $19 = ((($$171)) + 1|0); + HEAP8[$$171>>0] = $18; + $$070 = $19; + continue; + } + $20 = ($10|0)==(256); + if ($20) { + label = 12; + break; + } + $21 = (($10) + -257)|0; + $22 = (3288 + ($21<<2)|0); + $23 = HEAP32[$22>>2]|0; + $24 = (($10) + -265)|0; + $25 = ($24>>>0)<(20); + if ($25) { + $26 = (3164 + ($21<<2)|0); + $27 = HEAP32[$26>>2]|0; + $28 = (_stbi__zreceive($0,$27)|0); + $29 = (($28) + ($23))|0; + $$064 = $29; + } else { + $$064 = $23; + } + $30 = (_stbi__zhuffman_decode($0,$5)|0); + $31 = ($30|0)<(0); + if ($31) { + label = 16; + break; + } + $32 = (3540 + ($30<<2)|0); + $33 = HEAP32[$32>>2]|0; + $34 = (($30) + -4)|0; + $35 = ($34>>>0)<(26); + if ($35) { + $36 = (3412 + ($30<<2)|0); + $37 = HEAP32[$36>>2]|0; + $38 = (_stbi__zreceive($0,$37)|0); + $39 = (($38) + ($33))|0; + $$063 = $39; + } else { + $$063 = $33; + } + $40 = HEAP32[$6>>2]|0; + $41 = $$070; + $42 = (($41) - ($40))|0; + $43 = ($42|0)<($$063|0); + if ($43) { + label = 20; + break; + } + $44 = (($$070) + ($$064)|0); + $45 = HEAP32[$7>>2]|0; + $46 = ($44>>>0)>($45>>>0); + if ($46) { + $47 = (_stbi__zexpand($0,$$070,$$064)|0); + $48 = ($47|0)==(0); + if ($48) { + $$3$ph = 0; + label = 28; + break; + } + $49 = HEAP32[$1>>2]|0; + $$272 = $49; + } else { + $$272 = $$070; + } + $50 = (0 - ($$063))|0; + $9 = (($$272) + ($50)|0); + $51 = ($$063|0)==(1); + $52 = ($$064|0)!=(0); + if ($51) { + if (!($52)) { + $$070 = $$272; + continue; + } + $8 = HEAP8[$9>>0]|0; + _memset(($$272|0),($8|0),($$064|0))|0; + $scevgep92 = (($$272) + ($$064)|0); + $$070 = $scevgep92; + continue; + } + if ($52) { + $$067 = $9;$$266 = $$064;$$5 = $$272; + } else { + $$070 = $$272; + continue; + } + while(1) { + $53 = ((($$067)) + 1|0); + $54 = HEAP8[$$067>>0]|0; + $55 = ((($$5)) + 1|0); + HEAP8[$$5>>0] = $54; + $56 = (($$266) + -1)|0; + $57 = ($56|0)==(0); + if ($57) { + break; + } else { + $$067 = $53;$$266 = $56;$$5 = $55; + } + } + $scevgep = (($$272) + ($$064)|0); + $$070 = $scevgep; + } + if ((label|0) == 6) { + _stbi__err(13410); + $$3$ph = 0; + return ($$3$ph|0); + } + else if ((label|0) == 12) { + HEAP32[$1>>2] = $$070; + $$3$ph = 1; + return ($$3$ph|0); + } + else if ((label|0) == 16) { + _stbi__err(13410); + $$3$ph = 0; + return ($$3$ph|0); + } + else if ((label|0) == 20) { + _stbi__err(13427); + $$3$ph = 0; + return ($$3$ph|0); + } + else if ((label|0) == 28) { + return ($$3$ph|0); + } + return (0)|0; +} +function _stbi__zhuffman_decode($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($0)) + 8|0); + $3 = HEAP32[$2>>2]|0; + $4 = ($3|0)<(16); + if ($4) { + _stbi__fill_bits($0); + } + $5 = ((($0)) + 12|0); + $6 = HEAP32[$5>>2]|0; + $7 = $6 & 511; + $8 = (($1) + ($7<<1)|0); + $9 = HEAP16[$8>>1]|0; + $10 = $9&65535; + $11 = ($9<<16>>16)==(0); + if ($11) { + $17 = (_stbi__zhuffman_decode_slowpath($0,$1)|0); + $$0 = $17; + return ($$0|0); + } else { + $12 = $10 >>> 9; + $13 = $6 >>> $12; + HEAP32[$5>>2] = $13; + $14 = HEAP32[$2>>2]|0; + $15 = (($14) - ($12))|0; + HEAP32[$2>>2] = $15; + $16 = $10 & 511; + $$0 = $16; + return ($$0|0); + } + return (0)|0; +} +function _stbi__zexpand($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$0 = 0, $$029 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ((($0)) + 16|0); + HEAP32[$3>>2] = $1; + $4 = ((($0)) + 28|0); + $5 = HEAP32[$4>>2]|0; + $6 = ($5|0)==(0); + if ($6) { + _stbi__err(13436); + $$0 = 0; + return ($$0|0); + } + $7 = ((($0)) + 20|0); + $8 = HEAP32[$7>>2]|0; + $9 = $1; + $10 = $8; + $11 = (($9) - ($10))|0; + $12 = ((($0)) + 24|0); + $13 = HEAP32[$12>>2]|0; + $14 = (($13) - ($10))|0; + $15 = (($11) + ($2))|0; + $$029 = $14; + while(1) { + $16 = ($15|0)>($$029|0); + $17 = $$029 << 1; + if ($16) { + $$029 = $17; + } else { + break; + } + } + $18 = (_realloc($8,$$029)|0); + $19 = ($18|0)==(0|0); + if ($19) { + _stbi__err(12418); + $$0 = 0; + return ($$0|0); + } else { + HEAP32[$7>>2] = $18; + $20 = (($18) + ($11)|0); + HEAP32[$3>>2] = $20; + $21 = (($18) + ($$029)|0); + HEAP32[$12>>2] = $21; + $$0 = 1; + return ($$0|0); + } + return (0)|0; +} +function _stbi__fill_bits($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 12|0); + $2 = ((($0)) + 8|0); + while(1) { + $3 = HEAP32[$1>>2]|0; + $4 = HEAP32[$2>>2]|0; + $5 = 1 << $4; + $6 = ($3>>>0)<($5>>>0); + if (!($6)) { + label = 3; + break; + } + $7 = (_stbi__zget8($0)|0); + $8 = $7&255; + $9 = HEAP32[$2>>2]|0; + $10 = $8 << $9; + $11 = HEAP32[$1>>2]|0; + $12 = $11 | $10; + HEAP32[$1>>2] = $12; + $13 = (($9) + 8)|0; + HEAP32[$2>>2] = $13; + $14 = ($13|0)<(25); + if (!($14)) { + label = 5; + break; + } + } + if ((label|0) == 3) { + ___assert_fail((13532|0),(12363|0),3848,(13569|0)); + // unreachable; + } + else if ((label|0) == 5) { + return; + } +} +function _stbi__zhuffman_decode_slowpath($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $$025 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($0)) + 12|0); + $3 = HEAP32[$2>>2]|0; + $4 = (_stbi__bit_reverse($3,16)|0); + $$025 = 10; + while(1) { + $5 = (((($1)) + 1056|0) + ($$025<<2)|0); + $6 = HEAP32[$5>>2]|0; + $7 = ($4|0)<($6|0); + $8 = (($$025) + 1)|0; + if ($7) { + break; + } else { + $$025 = $8; + } + } + $9 = ($$025|0)==(16); + if ($9) { + $$0 = -1; + return ($$0|0); + } + $10 = (16 - ($$025))|0; + $11 = $4 >> $10; + $12 = (((($1)) + 1024|0) + ($$025<<1)|0); + $13 = HEAP16[$12>>1]|0; + $14 = $13&65535; + $15 = (($11) - ($14))|0; + $16 = (((($1)) + 1124|0) + ($$025<<1)|0); + $17 = HEAP16[$16>>1]|0; + $18 = $17&65535; + $19 = (($15) + ($18))|0; + $20 = (((($1)) + 1156|0) + ($19)|0); + $21 = HEAP8[$20>>0]|0; + $22 = $21&255; + $23 = ($22|0)==($$025|0); + if (!($23)) { + ___assert_fail((13456|0),(12363|0),3876,(13472|0)); + // unreachable; + } + $24 = HEAP32[$2>>2]|0; + $25 = $24 >>> $$025; + HEAP32[$2>>2] = $25; + $26 = ((($0)) + 8|0); + $27 = HEAP32[$26>>2]|0; + $28 = (($27) - ($$025))|0; + HEAP32[$26>>2] = $28; + $29 = (((($1)) + 1444|0) + ($19<<1)|0); + $30 = HEAP16[$29>>1]|0; + $31 = $30&65535; + $$0 = $31; + return ($$0|0); +} +function _stbi__bit_reverse($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ($1|0)<(17); + if ($2) { + $3 = (_stbi__bitreverse16($0)|0); + $4 = (16 - ($1))|0; + $5 = $3 >> $4; + return ($5|0); + } else { + ___assert_fail((13503|0),(12363|0),3766,(13514|0)); + // unreachable; + } + return (0)|0; +} +function _stbi__bitreverse16($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; + var sp = 0; + sp = STACKTOP; + $1 = $0 >>> 1; + $2 = $1 & 21845; + $3 = $0 << 1; + $4 = $3 & 43690; + $5 = $2 | $4; + $6 = $5 >>> 2; + $7 = $6 & 13107; + $8 = $5 << 2; + $9 = $8 & 52428; + $10 = $7 | $9; + $11 = $10 >>> 4; + $12 = $11 & 3855; + $13 = $10 << 4; + $14 = $13 & 61680; + $15 = $12 | $14; + $16 = $15 >>> 8; + $17 = $15 << 8; + $18 = $17 & 65280; + $19 = $18 | $16; + return ($19|0); +} +function _stbi__zget8($0) { + $0 = $0|0; + var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP32[$0>>2]|0; + $2 = ((($0)) + 4|0); + $3 = HEAP32[$2>>2]|0; + $4 = ($1>>>0)<($3>>>0); + if (!($4)) { + $$0 = 0; + return ($$0|0); + } + $5 = ((($1)) + 1|0); + HEAP32[$0>>2] = $5; + $6 = HEAP8[$1>>0]|0; + $$0 = $6; + return ($$0|0); +} +function _stbi__refill_buffer($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 16|0); + $2 = HEAP32[$1>>2]|0; + $3 = ((($0)) + 28|0); + $4 = HEAP32[$3>>2]|0; + $5 = ((($0)) + 40|0); + $6 = ((($0)) + 36|0); + $7 = HEAP32[$6>>2]|0; + $8 = (FUNCTION_TABLE_iiii[$2 & 15]($4,$5,$7)|0); + $9 = ($8|0)==(0); + if ($9) { + $10 = ((($0)) + 32|0); + HEAP32[$10>>2] = 0; + $11 = ((($0)) + 168|0); + HEAP32[$11>>2] = $5; + $12 = ((($0)) + 41|0); + $13 = ((($0)) + 172|0); + HEAP32[$13>>2] = $12; + HEAP8[$5>>0] = 0; + return; + } else { + $14 = ((($0)) + 168|0); + HEAP32[$14>>2] = $5; + $15 = (((($0)) + 40|0) + ($8)|0); + $16 = ((($0)) + 172|0); + HEAP32[$16>>2] = $15; + return; + } +} +function _stbi__rewind($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 176|0); + $2 = HEAP32[$1>>2]|0; + $3 = ((($0)) + 168|0); + HEAP32[$3>>2] = $2; + $4 = ((($0)) + 180|0); + $5 = HEAP32[$4>>2]|0; + $6 = ((($0)) + 172|0); + HEAP32[$6>>2] = $5; + return; +} +function _stbi__start_callbacks($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ((($0)) + 16|0); + ;HEAP32[$3>>2]=HEAP32[$1>>2]|0;HEAP32[$3+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$3+8>>2]=HEAP32[$1+8>>2]|0; + $4 = ((($0)) + 28|0); + HEAP32[$4>>2] = $2; + $5 = ((($0)) + 36|0); + HEAP32[$5>>2] = 128; + $6 = ((($0)) + 32|0); + HEAP32[$6>>2] = 1; + $7 = ((($0)) + 40|0); + $8 = ((($0)) + 176|0); + HEAP32[$8>>2] = $7; + _stbi__refill_buffer($0); + $9 = ((($0)) + 172|0); + $10 = HEAP32[$9>>2]|0; + $11 = ((($0)) + 180|0); + HEAP32[$11>>2] = $10; + return; +} +function _stbi__stdio_read($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = (_fread($1,1,$2,$0)|0); + return ($3|0); +} +function _stbi__stdio_skip($0,$1) { + $0 = $0|0; + $1 = $1|0; + var label = 0, sp = 0; + sp = STACKTOP; + (_fseek($0,$1,1)|0); + return; +} +function _stbi__stdio_eof($0) { + $0 = $0|0; + var $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (_feof($0)|0); + return ($1|0); +} +function _LoadImage($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$sink = 0, $$sroa$0$0 = 0, $$sroa$0$0$copyload = 0, $$sroa$0$1 = 0, $$sroa$0$144 = 0, $$sroa$11$0 = 0, $$sroa$11$0$$sroa_idx23 = 0, $$sroa$11$0$$sroa_idx24 = 0, $$sroa$11$0$copyload = 0, $$sroa$11$1 = 0, $$sroa$11$146 = 0, $$sroa$11$147 = 0, $$sroa$12$0 = 0, $$sroa$12$0$$sroa_idx27 = 0, $$sroa$12$0$$sroa_idx28 = 0, $$sroa$12$0$copyload = 0, $$sroa$12$1 = 0, $$sroa$12$2 = 0, $$sroa$12$248 = 0, $$sroa$12$249 = 0; + var $$sroa$7$0 = 0, $$sroa$7$0$$sroa_idx15 = 0, $$sroa$7$0$$sroa_idx16 = 0, $$sroa$7$0$copyload = 0, $$sroa$7$1 = 0, $$sroa$7$142 = 0, $$sroa$7$143 = 0, $$sroa$9$0 = 0, $$sroa$9$0$$sroa_idx19 = 0, $$sroa$9$0$$sroa_idx20 = 0, $$sroa$9$0$copyload = 0, $$sroa$9$1 = 0, $$sroa$9$140 = 0, $$sroa$9$141 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0; + var $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0; + var $vararg_buffer1 = 0, $vararg_buffer4 = 0, $vararg_buffer9 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0); + $vararg_buffer9 = sp + 32|0; + $vararg_buffer4 = sp + 16|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $2 = sp + 48|0; + $3 = sp + 44|0; + $4 = sp + 40|0; + $5 = sp + 36|0; + $6 = (_IsFileExtension($1,17189)|0); + $7 = ($6|0)==(0); + do { + if ($7) { + $19 = (_IsFileExtension($1,13831)|0); + $20 = ($19|0)==(0); + if ($20) { + HEAP32[$vararg_buffer1>>2] = $1; + _TraceLog(1,13836,$vararg_buffer1); + $$sroa$11$147 = 0;$$sroa$12$249 = 0;$$sroa$7$143 = 0;$$sroa$9$141 = 0; + break; + } + HEAP32[$3>>2] = 0; + HEAP32[$4>>2] = 0; + HEAP32[$5>>2] = 0; + $21 = (_fopen($1,18034)|0); + $22 = (_stbi_load_from_file($21,$3,$4,$5,0)|0); + (_fclose($21)|0); + $23 = HEAP32[$3>>2]|0; + $24 = HEAP32[$4>>2]|0; + $25 = HEAP32[$5>>2]|0; + switch ($25|0) { + case 1: { + $$sink = 1; + label = 11; + break; + } + case 2: { + $$sink = 2; + label = 11; + break; + } + case 3: { + $$sink = 4; + label = 11; + break; + } + case 4: { + $$sink = 7; + label = 11; + break; + } + default: { + $$sroa$12$1 = 0; + } + } + if ((label|0) == 11) { + $$sroa$12$1 = $$sink; + } + $$sroa$0$1 = $22;$$sroa$11$1 = 1;$$sroa$12$2 = $$sroa$12$1;$$sroa$7$1 = $23;$$sroa$9$1 = $24; + label = 14; + } else { + $8 = (_LoadResource($1,0)|0); + $9 = HEAP32[$8>>2]|0; + $10 = ($9|0)==(1); + if ($10) { + $11 = ((($8)) + 20|0); + $12 = HEAP32[$11>>2]|0; + $13 = ((($8)) + 4|0); + $14 = HEAP32[$13>>2]|0; + $15 = ((($8)) + 8|0); + $16 = HEAP32[$15>>2]|0; + $17 = ((($8)) + 12|0); + $18 = HEAP32[$17>>2]|0; + _LoadImagePro($2,$12,$14,$16,$18); + $$sroa$0$0$copyload = HEAP32[$2>>2]|0; + $$sroa$7$0$$sroa_idx15 = ((($2)) + 4|0); + $$sroa$7$0$copyload = HEAP32[$$sroa$7$0$$sroa_idx15>>2]|0; + $$sroa$9$0$$sroa_idx19 = ((($2)) + 8|0); + $$sroa$9$0$copyload = HEAP32[$$sroa$9$0$$sroa_idx19>>2]|0; + $$sroa$11$0$$sroa_idx23 = ((($2)) + 12|0); + $$sroa$11$0$copyload = HEAP32[$$sroa$11$0$$sroa_idx23>>2]|0; + $$sroa$12$0$$sroa_idx27 = ((($2)) + 16|0); + $$sroa$12$0$copyload = HEAP32[$$sroa$12$0$$sroa_idx27>>2]|0; + $$sroa$0$0 = $$sroa$0$0$copyload;$$sroa$11$0 = $$sroa$11$0$copyload;$$sroa$12$0 = $$sroa$12$0$copyload;$$sroa$7$0 = $$sroa$7$0$copyload;$$sroa$9$0 = $$sroa$9$0$copyload; + } else { + HEAP32[$vararg_buffer>>2] = $1; + _TraceLog(1,13784,$vararg_buffer); + $$sroa$0$0 = 0;$$sroa$11$0 = 0;$$sroa$12$0 = 0;$$sroa$7$0 = 0;$$sroa$9$0 = 0; + } + _UnloadResource($8); + $$sroa$0$1 = $$sroa$0$0;$$sroa$11$1 = $$sroa$11$0;$$sroa$12$2 = $$sroa$12$0;$$sroa$7$1 = $$sroa$7$0;$$sroa$9$1 = $$sroa$9$0; + label = 14; + } + } while(0); + if ((label|0) == 14) { + $26 = ($$sroa$0$1|0)==(0|0); + if ($26) { + $$sroa$11$147 = $$sroa$11$1;$$sroa$12$249 = $$sroa$12$2;$$sroa$7$143 = $$sroa$7$1;$$sroa$9$141 = $$sroa$9$1; + } else { + HEAP32[$vararg_buffer4>>2] = $1; + $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); + HEAP32[$vararg_ptr7>>2] = $$sroa$7$1; + $vararg_ptr8 = ((($vararg_buffer4)) + 8|0); + HEAP32[$vararg_ptr8>>2] = $$sroa$9$1; + _TraceLog(0,13872,$vararg_buffer4); + $$sroa$0$144 = $$sroa$0$1;$$sroa$11$146 = $$sroa$11$1;$$sroa$12$248 = $$sroa$12$2;$$sroa$7$142 = $$sroa$7$1;$$sroa$9$140 = $$sroa$9$1; + HEAP32[$0>>2] = $$sroa$0$144; + $$sroa$7$0$$sroa_idx16 = ((($0)) + 4|0); + HEAP32[$$sroa$7$0$$sroa_idx16>>2] = $$sroa$7$142; + $$sroa$9$0$$sroa_idx20 = ((($0)) + 8|0); + HEAP32[$$sroa$9$0$$sroa_idx20>>2] = $$sroa$9$140; + $$sroa$11$0$$sroa_idx24 = ((($0)) + 12|0); + HEAP32[$$sroa$11$0$$sroa_idx24>>2] = $$sroa$11$146; + $$sroa$12$0$$sroa_idx28 = ((($0)) + 16|0); + HEAP32[$$sroa$12$0$$sroa_idx28>>2] = $$sroa$12$248; + STACKTOP = sp;return; + } + } + HEAP32[$vararg_buffer9>>2] = $1; + _TraceLog(1,13911,$vararg_buffer9); + $$sroa$0$144 = 0;$$sroa$11$146 = $$sroa$11$147;$$sroa$12$248 = $$sroa$12$249;$$sroa$7$142 = $$sroa$7$143;$$sroa$9$140 = $$sroa$9$141; + HEAP32[$0>>2] = $$sroa$0$144; + $$sroa$7$0$$sroa_idx16 = ((($0)) + 4|0); + HEAP32[$$sroa$7$0$$sroa_idx16>>2] = $$sroa$7$142; + $$sroa$9$0$$sroa_idx20 = ((($0)) + 8|0); + HEAP32[$$sroa$9$0$$sroa_idx20>>2] = $$sroa$9$140; + $$sroa$11$0$$sroa_idx24 = ((($0)) + 12|0); + HEAP32[$$sroa$11$0$$sroa_idx24>>2] = $$sroa$11$146; + $$sroa$12$0$$sroa_idx28 = ((($0)) + 16|0); + HEAP32[$$sroa$12$0$$sroa_idx28>>2] = $$sroa$12$248; + STACKTOP = sp;return; +} +function _LoadResource($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0$lcssa = 0, $$05665 = 0, $$05764 = 0, $$1 = 0, $$2 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; + var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; + var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0; + var $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond60 = 0; + var $or$cond62 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer4 = 0, $vararg_buffer8 = 0, $vararg_ptr11 = 0, $vararg_ptr7 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0); + $vararg_buffer8 = sp + 24|0; + $vararg_buffer4 = sp + 16|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $2 = sp + 64|0; + $3 = sp + 32|0; + $4 = (_fopen($0,18034)|0); + $5 = ($4|0)==(0|0); + if ($5) { + HEAP32[$vararg_buffer>>2] = $0; + _TraceLog(1,13970,$vararg_buffer); + $$2 = 0; + STACKTOP = sp;return ($$2|0); + } + (_fread($2,1,1,$4)|0); + $6 = ((($2)) + 1|0); + (_fread($6,1,1,$4)|0); + $7 = ((($2)) + 2|0); + (_fread($7,1,1,$4)|0); + $8 = ((($2)) + 3|0); + (_fread($8,1,1,$4)|0); + $9 = ((($2)) + 4|0); + (_fread($9,2,1,$4)|0); + $10 = ((($2)) + 6|0); + (_fread($10,2,1,$4)|0); + $11 = HEAP8[$2>>0]|0; + $12 = ($11<<24>>24)==(114); + $13 = HEAP8[$6>>0]|0; + $14 = ($13<<24>>24)==(82); + $or$cond = $12 | $14; + $15 = HEAP8[$7>>0]|0; + $16 = ($15<<24>>24)==(69); + $or$cond60 = $or$cond | $16; + $17 = HEAP8[$8>>0]|0; + $18 = ($17<<24>>24)==(83); + $or$cond62 = $or$cond60 | $18; + if ($or$cond62) { + $19 = HEAP16[$10>>1]|0; + $20 = ($19<<16>>16)==(0); + if ($20) { + $$0$lcssa = 0; + } else { + $21 = ((($3)) + 7|0); + $22 = HEAP16[$10>>1]|0; + $23 = $22&65535; + $24 = ((($3)) + 8|0); + $25 = ((($3)) + 4|0); + $26 = ((($3)) + 16|0); + $27 = ((($3)) + 20|0); + $28 = ((($3)) + 24|0); + $29 = ((($3)) + 28|0); + $30 = ((($3)) + 8|0); + $31 = ((($3)) + 5|0); + $32 = ((($3)) + 12|0); + $$05665 = 0; + while(1) { + (_fread($3,32,1,$4)|0); + $36 = HEAP8[$21>>0]|0; + $37 = $36&255; + $38 = ($37*24)|0; + $39 = (_malloc($38)|0); + $40 = HEAP32[$3>>2]|0; + $41 = ($40|0)==($1|0); + if ($41) { + $42 = HEAP8[$21>>0]|0; + $43 = ($42<<24>>24)==(0); + if (!($43)) { + $$05764 = 0; + while(1) { + $44 = HEAP8[$25>>0]|0; + $45 = $44&255; + $46 = (($39) + (($$05764*24)|0)|0); + HEAP32[$46>>2] = $45; + $47 = HEAP32[$26>>2]|0; + $48 = (((($39) + (($$05764*24)|0)|0)) + 4|0); + HEAP32[$48>>2] = $47; + $49 = HEAP32[$27>>2]|0; + $50 = (((($39) + (($$05764*24)|0)|0)) + 8|0); + HEAP32[$50>>2] = $49; + $51 = HEAP32[$28>>2]|0; + $52 = (((($39) + (($$05764*24)|0)|0)) + 12|0); + HEAP32[$52>>2] = $51; + $53 = HEAP32[$29>>2]|0; + $54 = (((($39) + (($$05764*24)|0)|0)) + 16|0); + HEAP32[$54>>2] = $53; + $55 = HEAP32[$30>>2]|0; + $56 = (_malloc($55)|0); + (_fread($56,$55,1,$4)|0); + $57 = HEAP8[$31>>0]|0; + $58 = ($57<<24>>24)==(1); + if ($58) { + $59 = HEAP32[$30>>2]|0; + $60 = HEAP32[$32>>2]|0; + $61 = (_DecompressData($56,$59,$60)|0); + $62 = (((($39) + (($$05764*24)|0)|0)) + 20|0); + HEAP32[$62>>2] = $61; + _free($56); + } else { + $63 = (((($39) + (($$05764*24)|0)|0)) + 20|0); + HEAP32[$63>>2] = $56; + } + $64 = (((($39) + (($$05764*24)|0)|0)) + 20|0); + $65 = HEAP32[$64>>2]|0; + $66 = ($65|0)==(0|0); + if (!($66)) { + $67 = HEAP32[$3>>2]|0; + HEAP32[$vararg_buffer4>>2] = $0; + $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); + HEAP32[$vararg_ptr7>>2] = $67; + _TraceLog(0,14067,$vararg_buffer4); + } + (_fread($3,32,1,$4)|0); + $68 = (($$05764) + 1)|0; + $69 = HEAP8[$21>>0]|0; + $70 = $69&255; + $71 = ($68|0)<($70|0); + if ($71) { + $$05764 = $68; + } else { + break; + } + } + } + } else { + $72 = HEAP32[$24>>2]|0; + (_fseek($4,$72,1)|0); + } + $73 = (($$05665) + 1)|0; + $74 = ($73|0)<($23|0); + if ($74) { + $$05665 = $73; + } else { + $$0$lcssa = $39; + break; + } + } + } + $33 = ((($$0$lcssa)) + 20|0); + $34 = HEAP32[$33>>2]|0; + $35 = ($34|0)==(0|0); + if ($35) { + HEAP32[$vararg_buffer8>>2] = $0; + $vararg_ptr11 = ((($vararg_buffer8)) + 4|0); + HEAP32[$vararg_ptr11>>2] = $1; + _TraceLog(1,14113,$vararg_buffer8); + $$1 = $$0$lcssa; + } else { + $$1 = $$0$lcssa; + } + } else { + HEAP32[$vararg_buffer1>>2] = $0; + _TraceLog(1,14021,$vararg_buffer1); + $$1 = 0; + } + (_fclose($4)|0); + $$2 = $$1; + STACKTOP = sp;return ($$2|0); +} +function _LoadImagePro($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$byval_copy = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0); + $$byval_copy = sp + 20|0; + $5 = sp; + HEAP32[$5>>2] = $1; + $6 = ((($5)) + 4|0); + HEAP32[$6>>2] = $2; + $7 = ((($5)) + 8|0); + HEAP32[$7>>2] = $3; + $8 = ((($5)) + 12|0); + HEAP32[$8>>2] = 1; + $9 = ((($5)) + 16|0); + HEAP32[$9>>2] = $4; + ;HEAP32[$$byval_copy>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$5+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$5+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$5+16>>2]|0; + _ImageCopy($0,$$byval_copy); + STACKTOP = sp;return; +} +function _UnloadResource($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 20|0); + $2 = HEAP32[$1>>2]|0; + $3 = ($2|0)==(0|0); + if ($3) { + return; + } + _free($2); + return; +} +function _ImageCopy($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $$sroa$6$0 = 0, $$sroa$6$0$$sroa_idx10 = 0, $$sroa$7$0 = 0, $$sroa$7$0$$sroa_idx12 = 0, $$sroa$8$0 = 0, $$sroa$8$0$$sroa_idx14 = 0, $$sroa$9$0 = 0, $$sroa$9$0$$sroa_idx16 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0; + var $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $vararg_buffer = sp; + $2 = ((($1)) + 4|0); + $3 = HEAP32[$2>>2]|0; + $4 = ((($1)) + 8|0); + $5 = HEAP32[$4>>2]|0; + $6 = Math_imul($5, $3)|0; + $7 = ((($1)) + 16|0); + $8 = HEAP32[$7>>2]|0; + switch ($8|0) { + case 17: case 14: case 11: case 10: case 1: { + $$0 = $6; + break; + } + case 6: case 5: case 3: case 2: { + $9 = $6 << 1; + $$0 = $9; + break; + } + case 4: { + $10 = ($6*3)|0; + $$0 = $10; + break; + } + case 7: { + $11 = $6 << 2; + $$0 = $11; + break; + } + case 16: case 15: case 13: case 12: case 9: case 8: { + $12 = (($6|0) / 2)&-1; + $$0 = $12; + break; + } + case 18: { + $13 = (($6|0) / 4)&-1; + $$0 = $13; + break; + } + default: { + _TraceLog(1,13942,$vararg_buffer); + $$0 = $6; + } + } + $14 = (_malloc($$0)|0); + $15 = ($14|0)==(0|0); + if ($15) { + $$sroa$6$0 = 0;$$sroa$7$0 = 0;$$sroa$8$0 = 0;$$sroa$9$0 = 0; + } else { + $16 = HEAP32[$1>>2]|0; + _memcpy(($14|0),($16|0),($$0|0))|0; + $17 = HEAP32[$2>>2]|0; + $18 = HEAP32[$4>>2]|0; + $19 = ((($1)) + 12|0); + $20 = HEAP32[$19>>2]|0; + $21 = HEAP32[$7>>2]|0; + $$sroa$6$0 = $17;$$sroa$7$0 = $18;$$sroa$8$0 = $20;$$sroa$9$0 = $21; + } + HEAP32[$0>>2] = $14; + $$sroa$6$0$$sroa_idx10 = ((($0)) + 4|0); + HEAP32[$$sroa$6$0$$sroa_idx10>>2] = $$sroa$6$0; + $$sroa$7$0$$sroa_idx12 = ((($0)) + 8|0); + HEAP32[$$sroa$7$0$$sroa_idx12>>2] = $$sroa$7$0; + $$sroa$8$0$$sroa_idx14 = ((($0)) + 12|0); + HEAP32[$$sroa$8$0$$sroa_idx14>>2] = $$sroa$8$0; + $$sroa$9$0$$sroa_idx16 = ((($0)) + 16|0); + HEAP32[$$sroa$9$0$$sroa_idx16>>2] = $$sroa$9$0; + STACKTOP = sp;return; +} +function _DecompressData($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer3 = 0, $vararg_buffer5 = 0, $vararg_buffer7 = 0, $vararg_ptr13 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0); + $vararg_buffer10 = sp + 40|0; + $vararg_buffer7 = sp + 32|0; + $vararg_buffer5 = sp + 24|0; + $vararg_buffer3 = sp + 16|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $3 = (_malloc($2)|0); + $4 = ($3|0)==(0|0); + if ($4) { + _TraceLog(1,14163,$vararg_buffer); + STACKTOP = sp;return ($3|0); + } + $5 = (_tinfl_decompress_mem_to_mem($3,$2,$0,$1,1)|0); + $6 = ($5|0)==(-1); + if ($6) { + _TraceLog(1,14202,$vararg_buffer1); + _free($3); + } + $7 = ($5|0)==($2|0); + if (!($7)) { + _TraceLog(1,14228,$vararg_buffer3); + HEAP32[$vararg_buffer5>>2] = $2; + _TraceLog(1,14291,$vararg_buffer5); + HEAP32[$vararg_buffer7>>2] = $5; + _TraceLog(1,14326,$vararg_buffer7); + } + HEAP32[$vararg_buffer10>>2] = $1; + $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); + HEAP32[$vararg_ptr13>>2] = $5; + _TraceLog(0,14361,$vararg_buffer10); + STACKTOP = sp;return ($3|0); +} +function _tinfl_decompress_mem_to_mem($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 11008|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(11008|0); + $5 = sp + 11000|0; + $6 = sp; + $7 = sp + 8|0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $3; + HEAP32[$7>>2] = 0; + $8 = $4 & -7; + $9 = $8 | 4; + $10 = (_tinfl_decompress($7,$2,$6,$0,$0,$5,$9)|0); + $11 = ($10|0)!=(0); + $12 = HEAP32[$5>>2]|0; + $13 = $11 ? -1 : $12; + STACKTOP = sp;return ($13|0); +} +function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + $6 = $6|0; + var $$ = 0, $$$301127 = 0, $$010861840 = 0, $$010871839 = 0, $$010881838 = 0, $$010911856 = 0, $$010941846 = 0, $$010951864 = 0, $$01097 = 0, $$01194 = 0, $$011971855 = 0, $$01202 = 0, $$01202$shrunk = 0, $$01203 = 0, $$01300 = 0, $$01300$shrunk = 0, $$01309 = 0, $$01410 = 0, $$01410$shrunk = 0, $$01411 = 0; + var $$01411$shrunk = 0, $$01412 = 0, $$01413 = 0, $$01413$shrunk = 0, $$01416 = 0, $$01507 = 0, $$01607 = 0, $$01834 = 0, $$0937$lcssa = 0, $$09371833 = 0, $$0938$lcssa = 0, $$09381832 = 0, $$0941$lcssa = 0, $$09411816 = 0, $$09431831 = 0, $$09441830 = 0, $$0947 = 0, $$0947$shrunk = 0, $$0948 = 0, $$0949 = 0; + var $$0950 = 0, $$0950$shrunk = 0, $$0951 = 0, $$0952 = 0, $$0952$shrunk = 0, $$0953 = 0, $$0956 = 0, $$0959 = 0, $$0959$shrunk = 0, $$0960 = 0, $$0963 = 0, $$0967 = 0, $$0971 = 0, $$0971$shrunk = 0, $$0972 = 0, $$0975 = 0, $$0978 = 0, $$0979 = 0, $$0979$shrunk = 0, $$0980 = 0; + var $$0980$shrunk = 0, $$0981 = 0, $$0984 = 0, $$0987 = 0, $$0991 = 0, $$1$lcssa = 0, $$100 = 0, $$1001409 = 0, $$101426 = 0, $$101617 = 0, $$110891852 = 0, $$11098 = 0, $$11098$ph = 0, $$111427 = 0, $$111518 = 0, $$111618 = 0, $$11198 = 0, $$11204 = 0, $$11204$ph = 0, $$11310 = 0; + var $$11310$ph = 0, $$11417 = 0, $$11508 = 0, $$11608 = 0, $$11818 = 0, $$121428 = 0, $$121428$ph = 0, $$121519 = 0, $$121619 = 0, $$121619$ph = 0, $$13 = 0, $$131004 = 0, $$131110 = 0, $$131216 = 0, $$131322 = 0, $$131429 = 0, $$131520 = 0, $$131620 = 0, $$14 = 0, $$141005 = 0; + var $$141111 = 0, $$141217 = 0, $$141323 = 0, $$141430 = 0, $$141521 = 0, $$141621 = 0, $$15 = 0, $$151006 = 0, $$151112 = 0, $$151218 = 0, $$151324 = 0, $$151431 = 0, $$151522 = 0, $$151622 = 0, $$16 = 0, $$161007 = 0, $$161113 = 0, $$161113$ph = 0, $$161219 = 0, $$161325 = 0; + var $$161432 = 0, $$161523 = 0, $$161623 = 0, $$17 = 0, $$17$ph = 0, $$171008 = 0, $$171008$ph = 0, $$171114 = 0, $$171220 = 0, $$171220$ph = 0, $$171326 = 0, $$171326$ph = 0, $$171433 = 0, $$171524 = 0, $$171624 = 0, $$1753 = 0, $$1754 = 0, $$18 = 0, $$181009 = 0, $$181115 = 0; + var $$181221 = 0, $$181327 = 0, $$181434 = 0, $$181525 = 0, $$181625 = 0, $$19 = 0, $$191010 = 0, $$191116 = 0, $$191222 = 0, $$191328 = 0, $$191435 = 0, $$191526 = 0, $$191626 = 0, $$1939$lcssa = 0, $$19391817 = 0, $$19421823 = 0, $$1945$lcssa = 0, $$19451815 = 0, $$1954 = 0, $$1957 = 0; + var $$1961 = 0, $$1961$ = 0, $$1964 = 0, $$1968 = 0, $$1973 = 0, $$1976 = 0, $$1982 = 0, $$1985 = 0, $$1988 = 0, $$1988$ph = 0, $$1992 = 0, $$1992$ph = 0, $$2$lcssa = 0, $$20 = 0, $$201011 = 0, $$201117 = 0, $$201223 = 0, $$201329 = 0, $$201436 = 0, $$201527 = 0; + var $$201627 = 0, $$21 = 0, $$21099 = 0, $$211012 = 0, $$211118 = 0, $$211224 = 0, $$211330 = 0, $$211437 = 0, $$211437$ph = 0, $$211528 = 0, $$211628 = 0, $$211628$ph = 0, $$21196 = 0, $$21199$lcssa = 0, $$211991845 = 0, $$21205 = 0, $$21311 = 0, $$21418 = 0, $$21509 = 0, $$21609 = 0; + var $$21825 = 0, $$22 = 0, $$221013 = 0, $$221119 = 0, $$221225 = 0, $$221331 = 0, $$221438 = 0, $$221529 = 0, $$221629 = 0, $$23 = 0, $$231014 = 0, $$231120 = 0, $$231226 = 0, $$231332 = 0, $$231439 = 0, $$231530 = 0, $$231630 = 0, $$24 = 0, $$241015 = 0, $$241121 = 0; + var $$241227 = 0, $$241333 = 0, $$241440 = 0, $$241531 = 0, $$241631 = 0, $$25 = 0, $$251016 = 0, $$251122 = 0, $$251122$ph = 0, $$251228 = 0, $$251334 = 0, $$251441 = 0, $$251532 = 0, $$251632 = 0, $$26 = 0, $$26$ph = 0, $$261017 = 0, $$261017$ph = 0, $$261123 = 0, $$261229 = 0; + var $$261229$ph = 0, $$261335 = 0, $$261335$ph = 0, $$261442 = 0, $$261533 = 0, $$261633 = 0, $$27 = 0, $$271018 = 0, $$271124 = 0, $$271230 = 0, $$271336 = 0, $$271443 = 0, $$271534 = 0, $$271634 = 0, $$28 = 0, $$281019 = 0, $$281125 = 0, $$281231 = 0, $$281337 = 0, $$281444 = 0; + var $$281535 = 0, $$281635 = 0, $$29 = 0, $$291020 = 0, $$291126 = 0, $$291232 = 0, $$291338 = 0, $$291445 = 0, $$291536 = 0, $$291636 = 0, $$2940$lcssa = 0, $$29401824 = 0, $$2946$lcssa = 0, $$29461822 = 0, $$2955 = 0, $$2958 = 0, $$2965 = 0, $$2969 = 0, $$2974 = 0, $$2977 = 0; + var $$2983 = 0, $$2986 = 0, $$2989 = 0, $$2993 = 0, $$30 = 0, $$301021 = 0, $$301127 = 0, $$301233 = 0, $$301339 = 0, $$301446 = 0, $$301537 = 0, $$301637 = 0, $$31 = 0, $$31100$v = 0, $$311022 = 0, $$311128 = 0, $$311234 = 0, $$311340 = 0, $$311447 = 0, $$311538 = 0; + var $$311638 = 0, $$31200 = 0, $$31206 = 0, $$31206$ph = 0, $$31312 = 0, $$31312$ph = 0, $$31419 = 0, $$31419$ph = 0, $$31610 = 0, $$31610$ph = 0, $$32 = 0, $$321023 = 0, $$321129 = 0, $$321235 = 0, $$321341 = 0, $$321448 = 0, $$321448$ph = 0, $$321539 = 0, $$321639 = 0, $$321639$ph = 0; + var $$33 = 0, $$331024 = 0, $$331130 = 0, $$331236 = 0, $$331342 = 0, $$331449 = 0, $$331540 = 0, $$331640 = 0, $$34 = 0, $$341025 = 0, $$341131 = 0, $$341237 = 0, $$341343 = 0, $$341450 = 0, $$341541 = 0, $$341641 = 0, $$35 = 0, $$351026 = 0, $$351132 = 0, $$351238 = 0; + var $$351344 = 0, $$351451 = 0, $$351542 = 0, $$351642 = 0, $$36 = 0, $$361027 = 0, $$361027$ph = 0, $$361133 = 0, $$361133$ph = 0, $$361239 = 0, $$361345 = 0, $$361452 = 0, $$361543 = 0, $$361643 = 0, $$37 = 0, $$37$ph = 0, $$371028 = 0, $$371134 = 0, $$371240 = 0, $$371240$ph = 0; + var $$371346 = 0, $$371346$ph = 0, $$371453 = 0, $$371453$ph = 0, $$371544 = 0, $$371644 = 0, $$371644$ph = 0, $$38 = 0, $$381029 = 0, $$381135 = 0, $$381241 = 0, $$381347 = 0, $$381454 = 0, $$381545 = 0, $$381645 = 0, $$39 = 0, $$391030 = 0, $$391136 = 0, $$391242 = 0, $$391348 = 0; + var $$391455 = 0, $$391546 = 0, $$391646 = 0, $$3966 = 0, $$3970 = 0, $$3990 = 0, $$3990$ph = 0, $$3994 = 0, $$3994$ph = 0, $$40 = 0, $$401031 = 0, $$401137 = 0, $$401243 = 0, $$401349 = 0, $$401456 = 0, $$401547 = 0, $$401647 = 0, $$41 = 0, $$411032 = 0, $$411032$ph = 0; + var $$411138 = 0, $$411138$ph = 0, $$411244 = 0, $$411350 = 0, $$411457 = 0, $$411548 = 0, $$411648 = 0, $$41201 = 0, $$41420 = 0, $$41511 = 0, $$41611 = 0, $$42 = 0, $$42$ph = 0, $$421033 = 0, $$421139 = 0, $$421245 = 0, $$421245$ph = 0, $$421351 = 0, $$421351$ph = 0, $$421458 = 0; + var $$421549 = 0, $$421649 = 0, $$43 = 0, $$431034 = 0, $$431140 = 0, $$431246 = 0, $$431352 = 0, $$431459 = 0, $$431550 = 0, $$431650 = 0, $$44 = 0, $$441035 = 0, $$441141 = 0, $$441247 = 0, $$441353 = 0, $$441460 = 0, $$441460$ph = 0, $$441551 = 0, $$441651 = 0, $$441651$ph = 0; + var $$45 = 0, $$451036 = 0, $$451142 = 0, $$451248 = 0, $$451354 = 0, $$451461 = 0, $$451552 = 0, $$451652 = 0, $$46 = 0, $$461037 = 0, $$461143 = 0, $$461249 = 0, $$461355 = 0, $$461462 = 0, $$461553 = 0, $$461653 = 0, $$47 = 0, $$471038 = 0, $$471144 = 0, $$471250 = 0; + var $$471356 = 0, $$471463 = 0, $$471554 = 0, $$471654 = 0, $$48 = 0, $$481039 = 0, $$481039$ph = 0, $$481145 = 0, $$481145$ph = 0, $$481251 = 0, $$481357 = 0, $$481464 = 0, $$481555 = 0, $$481655 = 0, $$49 = 0, $$49$ph = 0, $$491040 = 0, $$491146 = 0, $$491252 = 0, $$491252$ph = 0; + var $$491358 = 0, $$491358$ph = 0, $$491465 = 0, $$491465$ph = 0, $$491556 = 0, $$491656 = 0, $$491656$ph = 0, $$5 = 0, $$50 = 0, $$501041 = 0, $$501147 = 0, $$501253 = 0, $$501359 = 0, $$501466 = 0, $$501557 = 0, $$501657 = 0, $$51 = 0, $$51102 = 0, $$511042 = 0, $$511148 = 0; + var $$511254 = 0, $$511360 = 0, $$511467 = 0, $$511558 = 0, $$511658 = 0, $$51208 = 0, $$51314 = 0, $$51512 = 0, $$52 = 0, $$521043 = 0, $$521043$ph = 0, $$521149 = 0, $$521255 = 0, $$521361 = 0, $$521468 = 0, $$521559 = 0, $$521659 = 0, $$53 = 0, $$531044 = 0, $$531150 = 0; + var $$531150$ph = 0, $$531256 = 0, $$531362 = 0, $$531469 = 0, $$531560 = 0, $$531660 = 0, $$54 = 0, $$54$ph = 0, $$541045 = 0, $$541151 = 0, $$541257 = 0, $$541257$ph = 0, $$541363 = 0, $$541363$ph = 0, $$541470$ph = 0, $$541561 = 0, $$541661$lcssa = 0, $$541661$ph = 0, $$5416611868 = 0, $$55 = 0; + var $$551046 = 0, $$551152 = 0, $$551258 = 0, $$551364 = 0, $$551471 = 0, $$551562 = 0, $$551662 = 0, $$56 = 0, $$561047 = 0, $$561153 = 0, $$561259 = 0, $$561365 = 0, $$561472 = 0, $$561563 = 0, $$561663 = 0, $$57 = 0, $$571048$ph = 0, $$571154 = 0, $$571260 = 0, $$571366 = 0; + var $$571473 = 0, $$571473$ph = 0, $$571564 = 0, $$571664 = 0, $$571664$ph = 0, $$58 = 0, $$581049 = 0, $$581155$lcssa = 0, $$581155$ph = 0, $$5811551871 = 0, $$581261 = 0, $$581367 = 0, $$581474 = 0, $$581565$lcssa = 0, $$581565$ph = 0, $$5815651869 = 0, $$581665 = 0, $$59$lcssa = 0, $$59$ph = 0, $$591050 = 0; + var $$591156 = 0, $$591262$ph = 0, $$591368$lcssa = 0, $$591368$ph = 0, $$5913681870 = 0, $$591475 = 0, $$591566 = 0, $$591666 = 0, $$591872 = 0, $$5996 = 0, $$6 = 0, $$60 = 0, $$601051 = 0, $$601051$ph = 0, $$601157 = 0, $$601263 = 0, $$601369 = 0, $$601476 = 0, $$601567 = 0, $$61 = 0; + var $$61103 = 0, $$611052 = 0, $$611158 = 0, $$611158$ph = 0, $$611264 = 0, $$611370 = 0, $$611477 = 0, $$611568 = 0, $$611668 = 0, $$61209 = 0, $$61315 = 0, $$61513 = 0, $$62 = 0, $$62$ph = 0, $$621053 = 0, $$621159 = 0, $$621265 = 0, $$621265$ph = 0, $$621371 = 0, $$621371$ph = 0; + var $$621478 = 0, $$621569 = 0, $$621669 = 0, $$63 = 0, $$631054 = 0, $$631266 = 0, $$631372 = 0, $$631479 = 0, $$631479$ph = 0, $$631570 = 0, $$631670 = 0, $$64 = 0, $$641055 = 0, $$641161 = 0, $$641267 = 0, $$641373 = 0, $$641480 = 0, $$641571 = 0, $$641671 = 0, $$641671$ph = 0; + var $$65 = 0, $$651056 = 0, $$651162 = 0, $$651268 = 0, $$651374 = 0, $$651481 = 0, $$651572 = 0, $$651672 = 0, $$66 = 0, $$661057 = 0, $$661057$ph = 0, $$661163 = 0, $$661269 = 0, $$661375 = 0, $$661482 = 0, $$661673 = 0, $$671058 = 0, $$671164 = 0, $$671164$ph = 0, $$671270 = 0; + var $$671483 = 0, $$671574 = 0, $$671674 = 0, $$68 = 0, $$681059 = 0, $$681165 = 0, $$681271 = 0, $$681271$ph = 0, $$681377 = 0, $$681484 = 0, $$681484$ph = 0, $$681575 = 0, $$681675 = 0, $$69 = 0, $$691060 = 0, $$691166 = 0, $$691272 = 0, $$691378 = 0, $$691485 = 0, $$691576 = 0; + var $$691676 = 0, $$691676$ph = 0, $$6997 = 0, $$7 = 0, $$70 = 0, $$701061 = 0, $$701167 = 0, $$701273 = 0, $$701379 = 0, $$701486 = 0, $$701577 = 0, $$701677 = 0, $$71 = 0, $$71$ph = 0, $$71104 = 0, $$711062 = 0, $$711062$ph = 0, $$711168 = 0, $$711274 = 0, $$711380 = 0; + var $$711380$ph = 0, $$711487 = 0, $$711578 = 0, $$711678 = 0, $$71210 = 0, $$71316 = 0, $$71514 = 0, $$72 = 0, $$721063 = 0, $$721169 = 0, $$721169$ph = 0, $$721275 = 0, $$721381 = 0, $$721488 = 0, $$721488$ph = 0, $$721579 = 0, $$721679 = 0, $$73 = 0, $$731064 = 0, $$731170 = 0; + var $$731276 = 0, $$731276$ph = 0, $$731382 = 0, $$731489 = 0, $$731580 = 0, $$731680 = 0, $$731680$ph = 0, $$74 = 0, $$741065 = 0, $$741065$ph = 0, $$741171 = 0, $$741277 = 0, $$741383 = 0, $$741490 = 0, $$741581 = 0, $$741681 = 0, $$75 = 0, $$751066 = 0, $$751172 = 0, $$751278 = 0; + var $$751384 = 0, $$751491 = 0, $$751582 = 0, $$751682 = 0, $$76 = 0, $$76$ph = 0, $$761067 = 0, $$761173 = 0, $$761173$ph = 0, $$761279 = 0, $$761279$ph = 0, $$761385 = 0, $$761385$ph = 0, $$761492 = 0, $$761583 = 0, $$761683 = 0, $$77 = 0, $$771068 = 0, $$771174 = 0, $$771280 = 0; + var $$771386 = 0, $$771584 = 0, $$771684 = 0, $$78 = 0, $$781069 = 0, $$781175 = 0, $$781281 = 0, $$781387 = 0, $$781585 = 0, $$781685 = 0, $$79 = 0, $$791070 = 0, $$791176 = 0, $$791282 = 0, $$791388 = 0, $$791586 = 0, $$791686 = 0, $$7998 = 0, $$8 = 0, $$8$ph = 0; + var $$80 = 0, $$80$ph = 0, $$801071 = 0, $$801177 = 0, $$801283 = 0, $$801389 = 0, $$801389$ph = 0, $$801496 = 0, $$801587 = 0, $$801687 = 0, $$81 = 0, $$81105 = 0, $$81105$ph = 0, $$811178 = 0, $$811284 = 0, $$811390 = 0, $$811497 = 0, $$811588 = 0, $$81211 = 0, $$81211$ph = 0; + var $$81317 = 0, $$81317$ph = 0, $$81424 = 0, $$81515 = 0, $$81615 = 0, $$82 = 0, $$821179 = 0, $$821285 = 0, $$821391 = 0, $$821498 = 0, $$821589 = 0, $$83 = 0, $$831180 = 0, $$831392 = 0, $$831499 = 0, $$831590 = 0, $$84 = 0, $$841075 = 0, $$841393 = 0, $$841500 = 0; + var $$841500$ph = 0, $$841591 = 0, $$841691 = 0, $$85 = 0, $$851076 = 0, $$851394 = 0, $$851501 = 0, $$851592 = 0, $$851692 = 0, $$86 = 0, $$861077 = 0, $$861289 = 0, $$861395 = 0, $$861502 = 0, $$861693 = 0, $$871078 = 0, $$871184 = 0, $$871290 = 0, $$871503 = 0, $$871694 = 0; + var $$881079 = 0, $$881079$ph = 0, $$881185 = 0, $$881291 = 0, $$881504 = 0, $$881595 = 0, $$881695 = 0, $$881695$ph = 0, $$891080 = 0, $$891186 = 0, $$891292 = 0, $$891505 = 0, $$891596 = 0, $$891696 = 0, $$8999 = 0, $$8999$ph = 0, $$9 = 0, $$90 = 0, $$901081 = 0, $$901187 = 0; + var $$901187$ph = 0, $$901293 = 0, $$901293$ph = 0, $$901399 = 0, $$901506 = 0, $$901597 = 0, $$901697 = 0, $$91 = 0, $$91000 = 0, $$91106 = 0, $$911082 = 0, $$911188 = 0, $$911294 = 0, $$911400 = 0, $$911598 = 0, $$911698 = 0, $$91212 = 0, $$91318 = 0, $$91425 = 0, $$91616 = 0; + var $$92 = 0, $$921083 = 0, $$921189 = 0, $$921295 = 0, $$921401 = 0, $$921599 = 0, $$921699 = 0, $$93 = 0, $$931084 = 0, $$931190 = 0, $$931296 = 0, $$931402 = 0, $$931600 = 0, $$931700 = 0, $$94 = 0, $$94$ph = 0, $$941085 = 0, $$941191 = 0, $$941297 = 0, $$941403 = 0; + var $$941403$ph = 0, $$941601 = 0, $$941701 = 0, $$95 = 0, $$951192 = 0, $$951298 = 0, $$951404 = 0, $$951602 = 0, $$96 = 0, $$961193 = 0, $$961299 = 0, $$961405 = 0, $$961603 = 0, $$97 = 0, $$971406 = 0, $$971604 = 0, $$98 = 0, $$981407 = 0, $$981605 = 0, $$99 = 0; + var $$991408 = 0, $$991606 = 0, $$lcssa1778 = 0, $$lcssa1779 = 0, $$lcssa1799 = 0, $$lcssa1802 = 0, $$not = 0, $$not1747 = 0, $$sink12 = 0, $$sink13 = 0, $$sink16 = 0, $$sink17 = 0, $$sink1705 = 0, $$sink1710 = 0, $$sink1713 = 0, $$sink1716 = 0, $$sink1719 = 0, $$sink1722 = 0, $$sink1729 = 0, $$sink1732 = 0; + var $$sink1736 = 0, $$sink1739 = 0, $$sink1743 = 0, $$sink1746 = 0, $$sink1750 = 0, $$sink3 = 0, $$sink3$shrunk = 0, $$sink30 = 0, $$sink9 = 0, $$sink9$shrunk = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0; + var $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0; + var $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0; + var $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0; + var $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0; + var $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0; + var $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0; + var $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0; + var $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0; + var $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0; + var $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0; + var $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0; + var $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0; + var $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0; + var $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0; + var $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0; + var $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0; + var $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0; + var $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0; + var $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0; + var $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0; + var $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0; + var $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0; + var $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0; + var $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0, $531 = 0, $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0; + var $545 = 0, $546 = 0, $547 = 0, $548 = 0, $549 = 0, $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0, $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0, $562 = 0; + var $563 = 0, $564 = 0, $565 = 0, $566 = 0, $567 = 0, $568 = 0, $569 = 0, $57 = 0, $570 = 0, $571 = 0, $572 = 0, $573 = 0, $574 = 0, $575 = 0, $576 = 0, $577 = 0, $578 = 0, $579 = 0, $58 = 0, $580 = 0; + var $581 = 0, $582 = 0, $583 = 0, $584 = 0, $585 = 0, $586 = 0, $587 = 0, $588 = 0, $589 = 0, $59 = 0, $590 = 0, $591 = 0, $592 = 0, $593 = 0, $594 = 0, $595 = 0, $596 = 0, $597 = 0, $598 = 0, $599 = 0; + var $60 = 0, $600 = 0, $601 = 0, $602 = 0, $603 = 0, $604 = 0, $605 = 0, $606 = 0, $607 = 0, $608 = 0, $609 = 0, $61 = 0, $610 = 0, $611 = 0, $612 = 0, $613 = 0, $614 = 0, $615 = 0, $616 = 0, $617 = 0; + var $618 = 0, $619 = 0, $62 = 0, $620 = 0, $621 = 0, $622 = 0, $623 = 0, $624 = 0, $625 = 0, $626 = 0, $627 = 0, $628 = 0, $629 = 0, $63 = 0, $630 = 0, $631 = 0, $632 = 0, $633 = 0, $634 = 0, $635 = 0; + var $636 = 0, $637 = 0, $638 = 0, $639 = 0, $64 = 0, $640 = 0, $641 = 0, $642 = 0, $643 = 0, $644 = 0, $645 = 0, $646 = 0, $647 = 0, $648 = 0, $649 = 0, $65 = 0, $650 = 0, $651 = 0, $652 = 0, $653 = 0; + var $654 = 0, $655 = 0, $656 = 0, $657 = 0, $658 = 0, $659 = 0, $66 = 0, $660 = 0, $661 = 0, $662 = 0, $663 = 0, $664 = 0, $665 = 0, $666 = 0, $667 = 0, $668 = 0, $669 = 0, $67 = 0, $670 = 0, $671 = 0; + var $672 = 0, $673 = 0, $674 = 0, $675 = 0, $676 = 0, $677 = 0, $678 = 0, $679 = 0, $68 = 0, $680 = 0, $681 = 0, $682 = 0, $683 = 0, $684 = 0, $685 = 0, $686 = 0, $687 = 0, $688 = 0, $689 = 0, $69 = 0; + var $690 = 0, $691 = 0, $692 = 0, $693 = 0, $694 = 0, $695 = 0, $696 = 0, $697 = 0, $698 = 0, $699 = 0, $7 = 0, $70 = 0, $700 = 0, $701 = 0, $702 = 0, $703 = 0, $704 = 0, $705 = 0, $706 = 0, $707 = 0; + var $708 = 0, $709 = 0, $71 = 0, $710 = 0, $711 = 0, $712 = 0, $713 = 0, $714 = 0, $715 = 0, $716 = 0, $717 = 0, $718 = 0, $719 = 0, $72 = 0, $720 = 0, $721 = 0, $722 = 0, $723 = 0, $724 = 0, $725 = 0; + var $726 = 0, $727 = 0, $728 = 0, $729 = 0, $73 = 0, $730 = 0, $731 = 0, $732 = 0, $733 = 0, $734 = 0, $735 = 0, $736 = 0, $737 = 0, $738 = 0, $739 = 0, $74 = 0, $740 = 0, $741 = 0, $742 = 0, $743 = 0; + var $744 = 0, $745 = 0, $746 = 0, $747 = 0, $748 = 0, $749 = 0, $75 = 0, $750 = 0, $751 = 0, $752 = 0, $753 = 0, $754 = 0, $755 = 0, $756 = 0, $757 = 0, $758 = 0, $759 = 0, $76 = 0, $760 = 0, $761 = 0; + var $762 = 0, $763 = 0, $764 = 0, $765 = 0, $766 = 0, $767 = 0, $768 = 0, $769 = 0, $77 = 0, $770 = 0, $771 = 0, $772 = 0, $773 = 0, $774 = 0, $775 = 0, $776 = 0, $777 = 0, $778 = 0, $779 = 0, $78 = 0; + var $780 = 0, $781 = 0, $782 = 0, $783 = 0, $784 = 0, $785 = 0, $786 = 0, $787 = 0, $788 = 0, $789 = 0, $79 = 0, $790 = 0, $791 = 0, $792 = 0, $793 = 0, $794 = 0, $795 = 0, $796 = 0, $797 = 0, $798 = 0; + var $799 = 0, $8 = 0, $80 = 0, $800 = 0, $801 = 0, $802 = 0, $803 = 0, $804 = 0, $805 = 0, $806 = 0, $807 = 0, $808 = 0, $809 = 0, $81 = 0, $810 = 0, $811 = 0, $812 = 0, $813 = 0, $814 = 0, $815 = 0; + var $816 = 0, $817 = 0, $818 = 0, $819 = 0, $82 = 0, $820 = 0, $821 = 0, $822 = 0, $823 = 0, $824 = 0, $825 = 0, $826 = 0, $827 = 0, $828 = 0, $829 = 0, $83 = 0, $830 = 0, $831 = 0, $832 = 0, $833 = 0; + var $834 = 0, $835 = 0, $836 = 0, $837 = 0, $838 = 0, $839 = 0, $84 = 0, $840 = 0, $841 = 0, $842 = 0, $843 = 0, $844 = 0, $845 = 0, $846 = 0, $847 = 0, $848 = 0, $849 = 0, $85 = 0, $850 = 0, $851 = 0; + var $852 = 0, $853 = 0, $854 = 0, $855 = 0, $856 = 0, $857 = 0, $858 = 0, $859 = 0, $86 = 0, $860 = 0, $861 = 0, $862 = 0, $863 = 0, $864 = 0, $865 = 0, $866 = 0, $867 = 0, $868 = 0, $869 = 0, $87 = 0; + var $870 = 0, $871 = 0, $872 = 0, $873 = 0, $874 = 0, $875 = 0, $876 = 0, $877 = 0, $878 = 0, $879 = 0, $88 = 0, $880 = 0, $881 = 0, $882 = 0, $883 = 0, $884 = 0, $885 = 0, $886 = 0, $887 = 0, $888 = 0; + var $889 = 0, $89 = 0, $890 = 0, $891 = 0, $892 = 0, $893 = 0, $894 = 0, $895 = 0, $896 = 0, $897 = 0, $898 = 0, $899 = 0, $9 = 0, $90 = 0, $900 = 0, $901 = 0, $902 = 0, $903 = 0, $904 = 0, $905 = 0; + var $906 = 0, $907 = 0, $908 = 0, $909 = 0, $91 = 0, $910 = 0, $911 = 0, $912 = 0, $913 = 0, $914 = 0, $915 = 0, $916 = 0, $917 = 0, $918 = 0, $919 = 0, $92 = 0, $920 = 0, $921 = 0, $922 = 0, $923 = 0; + var $924 = 0, $925 = 0, $926 = 0, $927 = 0, $928 = 0, $929 = 0, $93 = 0, $930 = 0, $931 = 0, $932 = 0, $933 = 0, $934 = 0, $935 = 0, $936 = 0, $937 = 0, $938 = 0, $939 = 0, $94 = 0, $940 = 0, $941 = 0; + var $942 = 0, $943 = 0, $944 = 0, $945 = 0, $946 = 0, $947 = 0, $948 = 0, $949 = 0, $95 = 0, $950 = 0, $951 = 0, $952 = 0, $953 = 0, $954 = 0, $955 = 0, $956 = 0, $957 = 0, $958 = 0, $959 = 0, $96 = 0; + var $960 = 0, $961 = 0, $962 = 0, $963 = 0, $964 = 0, $965 = 0, $966 = 0, $97 = 0, $98 = 0, $99 = 0, $brmerge = 0, $exitcond = 0, $not$ = 0, $not$1755 = 0, $or$cond = 0, $or$cond1702 = 0, $or$cond1752 = 0, $or$cond24 = 0, $or$cond29 = 0, $scevgep = 0; + var $scevgep1947 = 0, $scevgep1948 = 0, $scevgep1955 = 0, $scevgep1957 = 0, $scevgep1959 = 0, $scevgep19611962 = 0, $trunc = 0, $trunc$clear = 0, dest = 0, label = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 144|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(144|0); + $7 = sp + 64|0; + $8 = sp; + $9 = HEAP32[$2>>2]|0; + $10 = (($1) + ($9)|0); + $11 = HEAP32[$5>>2]|0; + $12 = (($4) + ($11)|0); + $13 = $6 & 4; + $14 = ($13|0)!=(0); + $15 = $4; + $16 = $3; + $17 = $16 ^ -1; + $18 = (($15) + ($17))|0; + $19 = (($18) + ($11))|0; + $$1753 = $14 ? -1 : $19; + $20 = (($$1753) + 1)|0; + $21 = $20 & $$1753; + $22 = ($21|0)!=(0); + $23 = ($4>>>0)<($3>>>0); + $or$cond1702 = $23 | $22; + if ($or$cond1702) { + HEAP32[$5>>2] = 0; + HEAP32[$2>>2] = 0; + $$0951 = -3; + STACKTOP = sp;return ($$0951|0); + } + $24 = ((($0)) + 4|0); + $25 = HEAP32[$24>>2]|0; + $26 = ((($0)) + 56|0); + $27 = HEAP32[$26>>2]|0; + $28 = ((($0)) + 32|0); + $29 = HEAP32[$28>>2]|0; + $30 = ((($0)) + 36|0); + $31 = HEAP32[$30>>2]|0; + $32 = ((($0)) + 40|0); + $33 = HEAP32[$32>>2]|0; + $34 = ((($0)) + 60|0); + $35 = HEAP32[$34>>2]|0; + $36 = HEAP32[$0>>2]|0; + L5: do { + switch ($36|0) { + case 0: { + $37 = ((($0)) + 12|0); + HEAP32[$37>>2] = 0; + $38 = ((($0)) + 8|0); + HEAP32[$38>>2] = 0; + $39 = ((($0)) + 28|0); + HEAP32[$39>>2] = 1; + $40 = ((($0)) + 16|0); + HEAP32[$40>>2] = 1; + $41 = $6 & 1; + $42 = ($41|0)==(0); + if ($42) { + $$01416 = $35;$$01607 = $4;$$41511 = $1;$$5 = 0;$$51102 = 0;$$51208 = 0;$$51314 = 0;$$5996 = 0; + label = 14; + } else { + $43 = ($9|0)<(1); + if ($43) { + $$01097 = 0;$$01203 = 0;$$01309 = 0;$$0987 = 0;$$0991 = 0; + label = 6; + } else { + $$11098$ph = 0;$$11204$ph = 0;$$11310$ph = 0;$$1988$ph = 0;$$1992$ph = 0; + label = 8; + } + } + break; + } + case 1: { + $46 = ($9|0)>(0); + if ($46) { + $$11098$ph = $31;$$11204$ph = $33;$$11310$ph = $27;$$1988$ph = $25;$$1992$ph = $29; + label = 8; + } else { + $$01097 = $31;$$01203 = $33;$$01309 = $27;$$0987 = $25;$$0991 = $29; + label = 6; + } + break; + } + case 2: { + $53 = ($9|0)>(0); + if ($53) { + $$31206$ph = $33;$$31312$ph = $27;$$3990$ph = $25;$$3994$ph = $29;$$sink1705 = $1; + label = 12; + } else { + $$11508 = $1;$$21099 = $31;$$21205 = $33;$$21311 = $27;$$2989 = $25;$$2993 = $29; + label = 10; + } + break; + } + case 36: { + $$0960 = -1;$$891505 = $35;$$931084 = $29;$$931700 = $4;$$951192 = $31;$$951298 = $33;$$981605 = $1;$$99 = $25;$$991408 = $27;$$sink30 = 36; + label = 243; + break; + } + case 3: { + $75 = ($9|0)>(0); + if ($75) { + $$31419$ph = $35;$$31610$ph = $4;$$8$ph = $25;$$81105$ph = $31;$$81211$ph = $33;$$81317$ph = $27;$$8999$ph = $29;$$sink1710 = $1; + label = 18; + } else { + $$21418 = $35;$$21609 = $4;$$61513 = $1;$$7 = $25;$$71104 = $31;$$71210 = $33;$$71316 = $27;$$7998 = $29; + label = 16; + } + break; + } + case 5: { + $90 = ($9|0)>(0); + if ($90) { + $91 = ((($1)) + 1|0); + $92 = HEAP8[$1>>0]|0; + $93 = $92&255; + $$01412 = $93;$$111518 = $91; + } else { + $88 = $6 & 2; + $89 = ($88|0)==(0); + if ($89) { + $$01412 = 0;$$111518 = $1; + } else { + $$0960 = 1;$$891505 = $35;$$931084 = $29;$$931700 = $4;$$951192 = $31;$$951298 = $33;$$981605 = $1;$$99 = $25;$$991408 = $27;$$sink30 = 5; + label = 243; + break L5; + } + } + $94 = $$01412 << $25; + $95 = $94 | $27; + $96 = (($25) + 8)|0; + $$121519 = $$111518;$$13 = $96;$$131004 = $29;$$131216 = $33;$$131322 = $95;$$81424 = $35;$$81615 = $4; + label = 25; + break; + } + case 6: { + $106 = ($9|0)>(0); + if ($106) { + $$121428$ph = $35;$$121619$ph = $4;$$161113$ph = $31;$$17$ph = $25;$$171008$ph = $29;$$171220$ph = $33;$$171326$ph = $27;$$sink1713 = $1; + label = 32; + } else { + $$111427 = $35;$$111618 = $4;$$151112 = $31;$$151522 = $1;$$16 = $25;$$161007 = $29;$$161219 = $33;$$161325 = $27; + label = 30; + } + break; + } + case 7: { + $120 = ($9|0)>(0); + if ($120) { + $121 = ((($1)) + 1|0); + $122 = HEAP8[$1>>0]|0; + $$151431 = $35;$$151622 = $4;$$191116 = $31;$$191526 = $121;$$20 = $25;$$201011 = $29;$$201223 = $33;$$201329 = $27;$$sink12 = $122; + label = 39; + } else { + $$141430 = $35;$$141621 = $4;$$181115 = $31;$$181525 = $1;$$19 = $25;$$191010 = $29;$$191222 = $33;$$191328 = $27; + label = 36; + } + break; + } + case 39: { + $$171433 = $35;$$171624 = $4;$$211118 = $31;$$211528 = $1;$$22 = $25;$$221013 = $29;$$221225 = $33;$$221331 = $27; + label = 43; + break; + } + case 51: { + $152 = ($9|0)>(0); + if ($152) { + $$211437$ph = $35;$$211628$ph = $4;$$251122$ph = $31;$$26$ph = $25;$$261017$ph = $29;$$261229$ph = $33;$$261335$ph = $27;$$sink1716 = $1; + label = 49; + } else { + $$201436 = $35;$$201627 = $4;$$241121 = $31;$$241531 = $1;$$25 = $25;$$251016 = $29;$$251228 = $33;$$251334 = $27; + label = 47; + } + break; + } + case 52: { + $$231439 = $35;$$231630 = $4;$$271018 = $29;$$271124 = $31;$$271534 = $1;$$28 = $25;$$281231 = $33;$$281337 = $27; + label = 52; + break; + } + case 9: { + $$251441 = $35;$$251632 = $4;$$291020 = $29;$$291126 = $31;$$291536 = $1;$$30 = $25;$$301233 = $33;$$301339 = $27; + label = 55; + break; + } + case 38: { + $$261442 = $35;$$261633 = $4;$$301021 = $29;$$301127 = $31;$$301537 = $1;$$31 = $25;$$311234 = $33;$$311340 = $27; + label = 56; + break; + } + case 40: { + $$271443 = $35;$$271634 = $4;$$311022 = $29;$$311128 = $31;$$311538 = $1;$$32 = $25;$$321235 = $33;$$321341 = $27; + label = 58; + break; + } + case 10: { + $$281444 = $35;$$281635 = $4;$$321023 = $29;$$321129 = $31;$$321539 = $1;$$33 = $25;$$331236 = $33;$$331342 = $27; + label = 60; + break; + } + case 11: { + $193 = ($9|0)>(0); + if ($193) { + $$321448$ph = $35;$$321639$ph = $4;$$361027$ph = $29;$$361133$ph = $31;$$37$ph = $25;$$371240$ph = $33;$$371346$ph = $27;$$sink1719 = $1; + label = 66; + } else { + $$311447 = $35;$$311638 = $4;$$351026 = $29;$$351132 = $31;$$351542 = $1;$$36 = $25;$$361239 = $33;$$361345 = $27; + label = 64; + } + break; + } + case 14: { + $224 = ($9|0)>(0); + if ($224) { + $$371453$ph = $35;$$371644$ph = $4;$$411032$ph = $29;$$411138$ph = $31;$$42$ph = $25;$$421245$ph = $33;$$421351$ph = $27;$$sink1722 = $1; + label = 75; + } else { + $$361452 = $35;$$361643 = $4;$$401031 = $29;$$401137 = $31;$$401547 = $1;$$41 = $25;$$411244 = $33;$$411350 = $27; + label = 73; + } + break; + } + case 35: { + $$401456 = $35;$$401647 = $4;$$441035 = $29;$$441141 = $31;$$441551 = $1;$$45 = $25;$$451248 = $33;$$451354 = $27; + label = 86; + break; + } + case 16: { + $452 = ($9|0)>(0); + if ($452) { + $$441460$ph = $35;$$441651$ph = $4;$$481039$ph = $29;$$481145$ph = $31;$$49$ph = $25;$$491252$ph = $33;$$491358$ph = $27;$$sink1729 = $1; + label = 116; + } else { + $$431459 = $35;$$431650 = $4;$$471038 = $29;$$471144 = $31;$$471554 = $1;$$48 = $25;$$481251 = $33;$$481357 = $27; + label = 114; + } + break; + } + case 17: { + $$461462 = $35;$$461653 = $4;$$491040 = $29;$$501147 = $31;$$501557 = $1;$$51 = $25;$$511254 = $33;$$511360 = $27; + label = 125; + break; + } + case 18: { + $503 = ($9|0)>(0); + if ($503) { + $$491465$ph = $35;$$491656$ph = $4;$$521043$ph = $29;$$531150$ph = $31;$$54$ph = $25;$$541257$ph = $33;$$541363$ph = $27;$$sink1732 = $1; + label = 130; + } else { + $$481464 = $35;$$481655 = $4;$$511042 = $29;$$521149 = $31;$$521559 = $1;$$53 = $25;$$531256 = $33;$$531362 = $27; + label = 128; + } + break; + } + case 21: { + $$511467 = $35;$$511658 = $4;$$541045 = $29;$$551152 = $31;$$551562 = $1;$$56 = $25;$$561259 = $33;$$561365 = $27; + label = 136; + break; + } + case 23: { + $572 = ($9|0)>(0); + if ($572) { + $$571473$ph = $35;$$571664$ph = $4;$$601051$ph = $29;$$611158$ph = $31;$$62$ph = $25;$$621265$ph = $33;$$621371$ph = $27;$$sink1736 = $1; + label = 153; + } else { + $$561472 = $35;$$561663 = $4;$$591050 = $29;$$601157 = $31;$$601567 = $1;$$61 = $25;$$611264 = $33;$$611370 = $27; + label = 151; + } + break; + } + case 24: { + $$591475 = $35;$$591666 = $4;$$621053 = $29;$$621159 = $31;$$631570 = $1;$$64 = $25;$$641267 = $33;$$641373 = $27; + label = 160; + break; + } + case 25: { + $696 = ($9|0)>(0); + if ($696) { + $$631479$ph = $35;$$641671$ph = $4;$$661057$ph = $29;$$671164$ph = $31;$$681271$ph = $33;$$71$ph = $25;$$711380$ph = $27;$$sink1739 = $1; + label = 182; + } else { + $$621478 = $35;$$631670 = $4;$$651056 = $29;$$661163 = $31;$$671270 = $33;$$691576 = $1;$$70 = $25;$$701379 = $27; + label = 180; + } + break; + } + case 26: { + $737 = ($9|0)>(0); + if ($737) { + $$681484$ph = $35;$$691676$ph = $4;$$711062$ph = $29;$$721169$ph = $31;$$731276$ph = $33;$$76$ph = $25;$$761385$ph = $27;$$sink1743 = $1; + label = 195; + } else { + $$671483 = $35;$$681675 = $4;$$701061 = $29;$$711168 = $31;$$721275 = $33;$$741581 = $1;$$75 = $25;$$751384 = $27; + label = 193; + } + break; + } + case 27: { + $784 = ($9|0)>(0); + if ($784) { + $$721488$ph = $35;$$731680$ph = $4;$$741065$ph = $29;$$761173$ph = $31;$$761279$ph = $33;$$80$ph = $25;$$801389$ph = $27;$$sink1746 = $1; + label = 206; + } else { + $$711487 = $35;$$721679 = $4;$$731064 = $29;$$751172 = $31;$$751278 = $33;$$781585 = $1;$$79 = $25;$$791388 = $27; + label = 204; + } + break; + } + case 37: { + $$731489 = $35;$$761683 = $4;$$771068 = $29;$$791176 = $31;$$791282 = $33;$$821589 = $1;$$83 = $25;$$831392 = $27; + label = 210; + break; + } + case 53: { + $$751491 = $35;$$781685 = $4;$$791070 = $29;$$811178 = $31;$$811284 = $33;$$841591 = $1;$$85 = $25;$$851394 = $27; + label = 213; + break; + } + case 32: { + $842 = ($9|0)>(0); + if ($842) { + $843 = ((($1)) + 1|0); + $844 = HEAP8[$1>>0]|0; + $845 = $844&255; + $$0949 = $845;$$881595 = $843; + } else { + $840 = $6 & 2; + $841 = ($840|0)==(0); + if ($841) { + $$0949 = 0;$$881595 = $1; + } else { + $$0960 = 1;$$891505 = $35;$$931084 = $29;$$931700 = $4;$$951192 = $31;$$951298 = $33;$$981605 = $1;$$99 = $25;$$991408 = $27;$$sink30 = 32; + label = 243; + break L5; + } + } + $846 = $$0949 << $25; + $847 = $846 | $27; + $848 = (($25) + 8)|0; + $$801496 = $35;$$841075 = $29;$$841691 = $4;$$861289 = $33;$$891596 = $$881595;$$90 = $848;$$901399 = $847; + label = 226; + break; + } + case 41: { + $858 = ($9|0)>(0); + if ($858) { + $$841500$ph = $35;$$881079$ph = $29;$$881695$ph = $4;$$901187$ph = $31;$$901293$ph = $33;$$94$ph = $25;$$941403$ph = $27;$$sink1750 = $1; + label = 233; + } else { + $$831499 = $35;$$871078 = $29;$$871694 = $4;$$891186 = $31;$$891292 = $33;$$921599 = $1;$$93 = $25;$$931402 = $27; + label = 231; + } + break; + } + case 42: { + $871 = ($9|0)>(0); + if ($871) { + $872 = ((($1)) + 1|0); + $873 = HEAP8[$1>>0]|0; + $874 = $873&255; + $$0948 = $874;$$871503 = $35;$$911082 = $29;$$911698 = $4;$$931190 = $31;$$931296 = $33;$$961603 = $872;$$97 = $25;$$971406 = $27; + label = 241; + } else { + $$861502 = $35;$$901081 = $29;$$901697 = $4;$$921189 = $31;$$921295 = $33;$$951602 = $1;$$96 = $25;$$961405 = $27; + label = 237; + } + break; + } + case 34: { + $$881504 = $35;$$921083 = $29;$$921699 = $4;$$941191 = $31;$$941297 = $33;$$971604 = $1;$$98 = $25;$$981407 = $27; + label = 242; + break; + } + default: { + $$100 = $25;$$1001409 = $27;$$1961 = -1;$$901506 = $35;$$941085 = $29;$$941701 = $4;$$961193 = $31;$$961299 = $33;$$991606 = $1; + label = 244; + } + } + } while(0); + if ((label|0) == 6) { + $44 = $6 & 2; + $45 = ($44|0)==(0); + if ($45) { + $$01507 = $1;$$11098 = $$01097;$$11204 = $$01203;$$11310 = $$01309;$$1988 = $$0987;$$1992 = $$0991;$$sink3$shrunk = 0; + label = 9; + } else { + $$0960 = 1;$$891505 = $35;$$931084 = $$0991;$$931700 = $4;$$951192 = $$01097;$$951298 = $$01203;$$981605 = $1;$$99 = $$0987;$$991408 = $$01309;$$sink30 = 1; + label = 243; + } + } + else if ((label|0) == 8) { + $47 = ((($1)) + 1|0); + $48 = HEAP8[$1>>0]|0; + $$01507 = $47;$$11098 = $$11098$ph;$$11204 = $$11204$ph;$$11310 = $$11310$ph;$$1988 = $$1988$ph;$$1992 = $$1992$ph;$$sink3$shrunk = $48; + label = 9; + } + if ((label|0) == 9) { + $$sink3 = $$sink3$shrunk&255; + $49 = ((($0)) + 8|0); + HEAP32[$49>>2] = $$sink3; + $50 = ($$01507>>>0)<($10>>>0); + if ($50) { + $$31206$ph = $$11204;$$31312$ph = $$11310;$$3990$ph = $$1988;$$3994$ph = $$1992;$$sink1705 = $$01507; + label = 12; + } else { + $$11508 = $$01507;$$21099 = $$11098;$$21205 = $$11204;$$21311 = $$11310;$$2989 = $$1988;$$2993 = $$1992; + label = 10; + } + } + if ((label|0) == 10) { + $51 = $6 & 2; + $52 = ($51|0)==(0); + if ($52) { + $$21509 = $$11508;$$31206 = $$21205;$$31312 = $$21311;$$3990 = $$2989;$$3994 = $$2993;$$sink9$shrunk = 0; + label = 13; + } else { + $$0960 = 1;$$891505 = $35;$$931084 = $$2993;$$931700 = $4;$$951192 = $$21099;$$951298 = $$21205;$$981605 = $$11508;$$99 = $$2989;$$991408 = $$21311;$$sink30 = 2; + label = 243; + } + } + else if ((label|0) == 12) { + $54 = ((($$sink1705)) + 1|0); + $55 = HEAP8[$$sink1705>>0]|0; + $$21509 = $54;$$31206 = $$31206$ph;$$31312 = $$31312$ph;$$3990 = $$3990$ph;$$3994 = $$3994$ph;$$sink9$shrunk = $55; + label = 13; + } + if ((label|0) == 13) { + $$sink9 = $$sink9$shrunk&255; + $56 = ((($0)) + 12|0); + HEAP32[$56>>2] = $$sink9; + $57 = ((($0)) + 8|0); + $58 = HEAP32[$57>>2]|0; + $59 = $58 << 8; + $60 = $59 | $$sink9; + $61 = (($60>>>0) % 31)&-1; + $62 = $$sink9 & 32; + $63 = $61 | $62; + $64 = $58 & 15; + $65 = ($64|0)!=(8); + $not$ = ($63|0)!=(0); + $$1754 = $65 | $not$; + $66 = $58 >>> 4; + $67 = 256 << $66; + $68 = ($67>>>0)>(32768); + $69 = ($20>>>0)<($67>>>0); + $$ = $68 | $69; + $not$1755 = $14 ^ 1; + $70 = $$ & $not$1755; + $$31100$v = $70 | $$1754; + if ($$31100$v) { + $$0960 = -1;$$891505 = $35;$$931084 = $$3994;$$931700 = $4;$$951192 = 1;$$951298 = $$31206;$$981605 = $$21509;$$99 = $$3990;$$991408 = $$31312;$$sink30 = 36; + label = 243; + } else { + $$01416 = $35;$$01607 = $4;$$41511 = $$21509;$$5 = $$3990;$$51102 = 0;$$51208 = $$31206;$$51314 = $$31312;$$5996 = $$3994; + label = 14; + } + } + L46: while(1) { + switch (label|0) { + case 14: { + label = 0; + $71 = ($$5>>>0)<(3); + if ($71) { + $$11417 = $$01416;$$11608 = $$01607;$$51512 = $$41511;$$6 = $$5;$$61103 = $$51102;$$61209 = $$51208;$$61315 = $$51314;$$6997 = $$5996; + label = 15; + } else { + $$41420 = $$01416;$$41611 = $$01607;$$81515 = $$41511;$$9 = $$5;$$91000 = $$5996;$$91106 = $$51102;$$91212 = $$51208;$$91318 = $$51314; + label = 20; + } + break; + } + case 16: { + label = 0; + $73 = $6 & 2; + $74 = ($73|0)==(0); + if ($74) { + $$01413$shrunk = 0;$$31419 = $$21418;$$31610 = $$21609;$$71514 = $$61513;$$8 = $$7;$$81105 = $$71104;$$81211 = $$71210;$$81317 = $$71316;$$8999 = $$7998; + label = 19; + } else { + $$0960 = 1;$$891505 = $$21418;$$931084 = $$7998;$$931700 = $$21609;$$951192 = $$71104;$$951298 = $$71210;$$981605 = $$61513;$$99 = $$7;$$991408 = $$71316;$$sink30 = 3; + label = 243; + continue L46; + } + break; + } + case 18: { + label = 0; + $76 = ((($$sink1710)) + 1|0); + $77 = HEAP8[$$sink1710>>0]|0; + $$01413$shrunk = $77;$$31419 = $$31419$ph;$$31610 = $$31610$ph;$$71514 = $76;$$8 = $$8$ph;$$81105 = $$81105$ph;$$81211 = $$81211$ph;$$81317 = $$81317$ph;$$8999 = $$8999$ph; + label = 19; + break; + } + case 25: { + label = 0; + $97 = $$13 & 7; + $98 = $$131322 >>> $97; + $99 = (($$13) - ($97))|0; + $$131110 = 0;$$131520 = $$121519;$$14 = $99;$$141005 = $$131004;$$141217 = $$131216;$$141323 = $98;$$91425 = $$81424;$$91616 = $$81615; + label = 26; + break; + } + case 30: { + label = 0; + $104 = $6 & 2; + $105 = ($104|0)==(0); + if ($105) { + $$01411$shrunk = 0;$$121428 = $$111427;$$121619 = $$111618;$$161113 = $$151112;$$161523 = $$151522;$$17 = $$16;$$171008 = $$161007;$$171220 = $$161219;$$171326 = $$161325; + label = 33; + } else { + $$0960 = 1;$$891505 = $$111427;$$931084 = $$161007;$$931700 = $$111618;$$951192 = $$151112;$$951298 = $$161219;$$981605 = $$151522;$$99 = $$16;$$991408 = $$161325;$$sink30 = 6; + label = 243; + continue L46; + } + break; + } + case 32: { + label = 0; + $107 = ((($$sink1713)) + 1|0); + $108 = HEAP8[$$sink1713>>0]|0; + $$01411$shrunk = $108;$$121428 = $$121428$ph;$$121619 = $$121619$ph;$$161113 = $$161113$ph;$$161523 = $107;$$17 = $$17$ph;$$171008 = $$171008$ph;$$171220 = $$171220$ph;$$171326 = $$171326$ph; + label = 33; + break; + } + case 36: { + label = 0; + $118 = $6 & 2; + $119 = ($118|0)==(0); + if ($119) { + $$151431 = $$141430;$$151622 = $$141621;$$191116 = $$181115;$$191526 = $$181525;$$20 = $$19;$$201011 = $$191010;$$201223 = $$191222;$$201329 = $$191328;$$sink12 = 0; + label = 39; + continue L46; + } else { + $$0960 = 1;$$891505 = $$141430;$$931084 = $$191010;$$931700 = $$141621;$$951192 = $$181115;$$951298 = $$191222;$$981605 = $$181525;$$99 = $$19;$$991408 = $$191328;$$sink30 = 7; + label = 243; + continue L46; + } + break; + } + case 39: { + label = 0; + $$sink13 = (((($0)) + 10528|0) + ($$191116)|0); + HEAP8[$$sink13>>0] = $$sink12; + $$161432 = $$151431;$$161623 = $$151622;$$201117 = $$191116;$$201527 = $$191526;$$21 = $$20;$$211012 = $$201011;$$211224 = $$201223;$$211330 = $$201329; + label = 41; + break; + } + case 43: { + label = 0; + $$0960 = -1;$$891505 = $$171433;$$931084 = $$221013;$$931700 = $$171624;$$951192 = $$211118;$$951298 = $$221225;$$981605 = $$211528;$$99 = $$22;$$991408 = $$221331;$$sink30 = 39; + label = 243; + continue L46; + break; + } + case 47: { + label = 0; + $150 = $6 & 2; + $151 = ($150|0)==(0); + if ($151) { + $$01410$shrunk = 0;$$211437 = $$201436;$$211628 = $$201627;$$251122 = $$241121;$$251532 = $$241531;$$26 = $$25;$$261017 = $$251016;$$261229 = $$251228;$$261335 = $$251334; + label = 50; + } else { + $$0960 = 1;$$891505 = $$201436;$$931084 = $$251016;$$931700 = $$201627;$$951192 = $$241121;$$951298 = $$251228;$$981605 = $$241531;$$99 = $$25;$$991408 = $$251334;$$sink30 = 51; + label = 243; + continue L46; + } + break; + } + case 49: { + label = 0; + $153 = ((($$sink1716)) + 1|0); + $154 = HEAP8[$$sink1716>>0]|0; + $$01410$shrunk = $154;$$211437 = $$211437$ph;$$211628 = $$211628$ph;$$251122 = $$251122$ph;$$251532 = $153;$$26 = $$26$ph;$$261017 = $$261017$ph;$$261229 = $$261229$ph;$$261335 = $$261335$ph; + label = 50; + break; + } + case 52: { + label = 0; + $162 = ($$231630>>>0)<($12>>>0); + if (!($162)) { + $$0960 = 2;$$891505 = $$231439;$$931084 = $$271018;$$931700 = $$231630;$$951192 = $$271124;$$951298 = $$281231;$$981605 = $$271534;$$99 = $$28;$$991408 = $$281337;$$sink30 = 52; + label = 243; + continue L46; + } + $163 = $$271018&255; + $164 = ((($$231630)) + 1|0); + HEAP8[$$231630>>0] = $163; + $165 = (($$271124) + -1)|0; + $$181434 = $$231439;$$181625 = $164;$$221119 = $165;$$221529 = $$271534;$$23 = $$28;$$231014 = $$271018;$$231226 = $$281231;$$231332 = $$281337; + label = 44; + break; + } + case 55: { + label = 0; + $167 = ($$251632>>>0)<($12>>>0); + if ($167) { + $$261442 = $$251441;$$261633 = $$251632;$$301021 = $$291020;$$301127 = $$291126;$$301537 = $$291536;$$31 = $$30;$$311234 = $$301233;$$311340 = $$301339; + label = 56; + continue L46; + } else { + $$0960 = 2;$$891505 = $$251441;$$931084 = $$291020;$$931700 = $$251632;$$951192 = $$291126;$$951298 = $$301233;$$981605 = $$291536;$$99 = $$30;$$991408 = $$301339;$$sink30 = 9; + label = 243; + continue L46; + } + break; + } + case 56: { + label = 0; + $168 = ($$301537>>>0)<($10>>>0); + if ($168) { + $171 = $12; + $172 = $$261633; + $173 = (($171) - ($172))|0; + $174 = $10; + $175 = $$301537; + $176 = (($174) - ($175))|0; + $177 = ($173>>>0)<($176>>>0); + $$sink17 = $177 ? $12 : $10; + $$sink16 = $177 ? $$261633 : $$301537; + $178 = $$sink17; + $179 = $$sink16; + $180 = (($178) - ($179))|0; + $181 = ($180>>>0)<($$301127>>>0); + $$$301127 = $181 ? $180 : $$301127; + _memcpy(($$261633|0),($$301537|0),($$$301127|0))|0; + $182 = (($$301537) + ($$$301127)|0); + $183 = (($$261633) + ($$$301127)|0); + $184 = (($$301127) - ($$$301127))|0; + $$241440 = $$261442;$$241631 = $183;$$281019 = $$301021;$$281125 = $184;$$281535 = $182;$$29 = $$31;$$291232 = $$311234;$$291338 = $$311340; + label = 54; + break; + } else { + $169 = $6 & 2; + $170 = ($169|0)==(0); + if ($170) { + $$271443 = $$261442;$$271634 = $$261633;$$311022 = $$301021;$$311128 = $$301127;$$311538 = $$301537;$$32 = $$31;$$321235 = $$311234;$$321341 = $$311340; + label = 58; + continue L46; + } else { + $$0960 = 1;$$891505 = $$261442;$$931084 = $$301021;$$931700 = $$261633;$$951192 = $$301127;$$951298 = $$311234;$$981605 = $$301537;$$99 = $$31;$$991408 = $$311340;$$sink30 = 38; + label = 243; + continue L46; + } + } + break; + } + case 58: { + label = 0; + $$0960 = -1;$$891505 = $$271443;$$931084 = $$311022;$$931700 = $$271634;$$951192 = $$311128;$$951298 = $$321235;$$981605 = $$311538;$$99 = $$32;$$991408 = $$321341;$$sink30 = 40; + label = 243; + continue L46; + break; + } + case 60: { + label = 0; + $$0960 = -1;$$891505 = $$281444;$$931084 = $$321023;$$931700 = $$281635;$$951192 = $$321129;$$951298 = $$331236;$$981605 = $$321539;$$99 = $$33;$$991408 = $$331342;$$sink30 = 10; + label = 243; + continue L46; + break; + } + case 64: { + label = 0; + $191 = $6 & 2; + $192 = ($191|0)==(0); + if ($192) { + $$01300$shrunk = 0;$$321448 = $$311447;$$321639 = $$311638;$$361027 = $$351026;$$361133 = $$351132;$$361543 = $$351542;$$37 = $$36;$$371240 = $$361239;$$371346 = $$361345; + label = 67; + } else { + $$0960 = 1;$$891505 = $$311447;$$931084 = $$351026;$$931700 = $$311638;$$951192 = $$351132;$$951298 = $$361239;$$981605 = $$351542;$$99 = $$36;$$991408 = $$361345;$$sink30 = 11; + label = 243; + continue L46; + } + break; + } + case 66: { + label = 0; + $194 = ((($$sink1719)) + 1|0); + $195 = HEAP8[$$sink1719>>0]|0; + $$01300$shrunk = $195;$$321448 = $$321448$ph;$$321639 = $$321639$ph;$$361027 = $$361027$ph;$$361133 = $$361133$ph;$$361543 = $194;$$37 = $$37$ph;$$371240 = $$371240$ph;$$371346 = $$371346$ph; + label = 67; + break; + } + case 73: { + label = 0; + $222 = $6 & 2; + $223 = ($222|0)==(0); + if ($223) { + $$01202$shrunk = 0;$$371453 = $$361452;$$371644 = $$361643;$$411032 = $$401031;$$411138 = $$401137;$$411548 = $$401547;$$42 = $$41;$$421245 = $$411244;$$421351 = $$411350; + label = 76; + } else { + $$0960 = 1;$$891505 = $$361452;$$931084 = $$401031;$$931700 = $$361643;$$951192 = $$401137;$$951298 = $$411244;$$981605 = $$401547;$$99 = $$41;$$991408 = $$411350;$$sink30 = 14; + label = 243; + continue L46; + } + break; + } + case 75: { + label = 0; + $225 = ((($$sink1722)) + 1|0); + $226 = HEAP8[$$sink1722>>0]|0; + $$01202$shrunk = $226;$$371453 = $$371453$ph;$$371644 = $$371644$ph;$$411032 = $$411032$ph;$$411138 = $$411138$ph;$$411548 = $225;$$42 = $$42$ph;$$421245 = $$421245$ph;$$421351 = $$421351$ph; + label = 76; + break; + } + case 86: { + label = 0; + $$0960 = -1;$$891505 = $$401456;$$931084 = $$441035;$$931700 = $$401647;$$951192 = $$441141;$$951298 = $$451248;$$981605 = $$441551;$$99 = $$45;$$991408 = $$451354;$$sink30 = 35; + label = 243; + continue L46; + break; + } + case 114: { + label = 0; + $450 = $6 & 2; + $451 = ($450|0)==(0); + if ($451) { + $$0980$shrunk = 0;$$441460 = $$431459;$$441651 = $$431650;$$481039 = $$471038;$$481145 = $$471144;$$481555 = $$471554;$$49 = $$48;$$491252 = $$481251;$$491358 = $$481357; + label = 117; + } else { + $$0960 = 1;$$891505 = $$431459;$$931084 = $$471038;$$931700 = $$431650;$$951192 = $$471144;$$951298 = $$481251;$$981605 = $$471554;$$99 = $$48;$$991408 = $$481357;$$sink30 = 16; + label = 243; + continue L46; + } + break; + } + case 116: { + label = 0; + $453 = ((($$sink1729)) + 1|0); + $454 = HEAP8[$$sink1729>>0]|0; + $$0980$shrunk = $454;$$441460 = $$441460$ph;$$441651 = $$441651$ph;$$481039 = $$481039$ph;$$481145 = $$481145$ph;$$481555 = $453;$$49 = $$49$ph;$$491252 = $$491252$ph;$$491358 = $$491358$ph; + label = 117; + break; + } + case 125: { + label = 0; + $$0960 = -1;$$891505 = $$461462;$$931084 = $$491040;$$931700 = $$461653;$$951192 = $$501147;$$951298 = $$511254;$$981605 = $$501557;$$99 = $$51;$$991408 = $$511360;$$sink30 = 17; + label = 243; + continue L46; + break; + } + case 128: { + label = 0; + $501 = $6 & 2; + $502 = ($501|0)==(0); + if ($502) { + $$0979$shrunk = 0;$$491465 = $$481464;$$491656 = $$481655;$$521043 = $$511042;$$531150 = $$521149;$$531560 = $$521559;$$54 = $$53;$$541257 = $$531256;$$541363 = $$531362; + label = 131; + } else { + $$0960 = 1;$$891505 = $$481464;$$931084 = $$511042;$$931700 = $$481655;$$951192 = $$521149;$$951298 = $$531256;$$981605 = $$521559;$$99 = $$53;$$991408 = $$531362;$$sink30 = 18; + label = 243; + continue L46; + } + break; + } + case 130: { + label = 0; + $504 = ((($$sink1732)) + 1|0); + $505 = HEAP8[$$sink1732>>0]|0; + $$0979$shrunk = $505;$$491465 = $$491465$ph;$$491656 = $$491656$ph;$$521043 = $$521043$ph;$$531150 = $$531150$ph;$$531560 = $504;$$54 = $$54$ph;$$541257 = $$541257$ph;$$541363 = $$541363$ph; + label = 131; + break; + } + case 136: { + label = 0; + $$0960 = -1;$$891505 = $$511467;$$931084 = $$541045;$$931700 = $$511658;$$951192 = $$551152;$$951298 = $$561259;$$981605 = $$551562;$$99 = $$56;$$991408 = $$561365;$$sink30 = 21; + label = 243; + continue L46; + break; + } + case 151: { + label = 0; + $570 = $6 & 2; + $571 = ($570|0)==(0); + if ($571) { + $$0971$shrunk = 0;$$571473 = $$561472;$$571664 = $$561663;$$601051 = $$591050;$$611158 = $$601157;$$611568 = $$601567;$$62 = $$61;$$621265 = $$611264;$$621371 = $$611370; + label = 154; + } else { + $$0960 = 1;$$891505 = $$561472;$$931084 = $$591050;$$931700 = $$561663;$$951192 = $$601157;$$951298 = $$611264;$$981605 = $$601567;$$99 = $$61;$$991408 = $$611370;$$sink30 = 23; + label = 243; + continue L46; + } + break; + } + case 153: { + label = 0; + $573 = ((($$sink1736)) + 1|0); + $574 = HEAP8[$$sink1736>>0]|0; + $$0971$shrunk = $574;$$571473 = $$571473$ph;$$571664 = $$571664$ph;$$601051 = $$601051$ph;$$611158 = $$611158$ph;$$611568 = $573;$$62 = $$62$ph;$$621265 = $$621265$ph;$$621371 = $$621371$ph; + label = 154; + break; + } + case 160: { + label = 0; + $610 = ($$591666>>>0)<($12>>>0); + if (!($610)) { + $$0960 = 2;$$891505 = $$591475;$$931084 = $$621053;$$931700 = $$591666;$$951192 = $$621159;$$951298 = $$641267;$$981605 = $$631570;$$99 = $$64;$$991408 = $$641373;$$sink30 = 24; + label = 243; + continue L46; + } + $611 = $$621159&255; + $612 = ((($$591666)) + 1|0); + HEAP8[$$591666>>0] = $611; + $$541470$ph = $$591475;$$541661$ph = $612;$$571048$ph = $$621053;$$581155$ph = $$621159;$$581565$ph = $$631570;$$59$ph = $$64;$$591262$ph = $$641267;$$591368$ph = $$641373; + label = 140; + break; + } + case 180: { + label = 0; + $694 = $6 & 2; + $695 = ($694|0)==(0); + if ($695) { + $$0959$shrunk = 0;$$631479 = $$621478;$$641671 = $$631670;$$661057 = $$651056;$$671164 = $$661163;$$681271 = $$671270;$$701577 = $$691576;$$71 = $$70;$$711380 = $$701379; + label = 183; + } else { + $$0960 = 1;$$891505 = $$621478;$$931084 = $$651056;$$931700 = $$631670;$$951192 = $$661163;$$951298 = $$671270;$$981605 = $$691576;$$99 = $$70;$$991408 = $$701379;$$sink30 = 25; + label = 243; + continue L46; + } + break; + } + case 182: { + label = 0; + $697 = ((($$sink1739)) + 1|0); + $698 = HEAP8[$$sink1739>>0]|0; + $$0959$shrunk = $698;$$631479 = $$631479$ph;$$641671 = $$641671$ph;$$661057 = $$661057$ph;$$671164 = $$671164$ph;$$681271 = $$681271$ph;$$701577 = $697;$$71 = $$71$ph;$$711380 = $$711380$ph; + label = 183; + break; + } + case 193: { + label = 0; + $735 = $6 & 2; + $736 = ($735|0)==(0); + if ($736) { + $$0952$shrunk = 0;$$681484 = $$671483;$$691676 = $$681675;$$711062 = $$701061;$$721169 = $$711168;$$731276 = $$721275;$$751582 = $$741581;$$76 = $$75;$$761385 = $$751384; + label = 196; + } else { + $$0960 = 1;$$891505 = $$671483;$$931084 = $$701061;$$931700 = $$681675;$$951192 = $$711168;$$951298 = $$721275;$$981605 = $$741581;$$99 = $$75;$$991408 = $$751384;$$sink30 = 26; + label = 243; + continue L46; + } + break; + } + case 195: { + label = 0; + $738 = ((($$sink1743)) + 1|0); + $739 = HEAP8[$$sink1743>>0]|0; + $$0952$shrunk = $739;$$681484 = $$681484$ph;$$691676 = $$691676$ph;$$711062 = $$711062$ph;$$721169 = $$721169$ph;$$731276 = $$731276$ph;$$751582 = $738;$$76 = $$76$ph;$$761385 = $$761385$ph; + label = 196; + break; + } + case 204: { + label = 0; + $782 = $6 & 2; + $783 = ($782|0)==(0); + if ($783) { + $$0950$shrunk = 0;$$721488 = $$711487;$$731680 = $$721679;$$741065 = $$731064;$$761173 = $$751172;$$761279 = $$751278;$$791586 = $$781585;$$80 = $$79;$$801389 = $$791388; + label = 207; + } else { + $$0960 = 1;$$891505 = $$711487;$$931084 = $$731064;$$931700 = $$721679;$$951192 = $$751172;$$951298 = $$751278;$$981605 = $$781585;$$99 = $$79;$$991408 = $$791388;$$sink30 = 27; + label = 243; + continue L46; + } + break; + } + case 206: { + label = 0; + $785 = ((($$sink1746)) + 1|0); + $786 = HEAP8[$$sink1746>>0]|0; + $$0950$shrunk = $786;$$721488 = $$721488$ph;$$731680 = $$731680$ph;$$741065 = $$741065$ph;$$761173 = $$761173$ph;$$761279 = $$761279$ph;$$791586 = $785;$$80 = $$80$ph;$$801389 = $$801389$ph; + label = 207; + break; + } + case 210: { + label = 0; + $$0960 = -1;$$891505 = $$731489;$$931084 = $$771068;$$931700 = $$761683;$$951192 = $$791176;$$951298 = $$791282;$$981605 = $$821589;$$99 = $$83;$$991408 = $$831392;$$sink30 = 37; + label = 243; + continue L46; + break; + } + case 213: { + label = 0; + $809 = ($$781685>>>0)<($12>>>0); + if (!($809)) { + $$0960 = 2;$$891505 = $$751491;$$931084 = $$791070;$$931700 = $$781685;$$951192 = $$811178;$$951298 = $$811284;$$981605 = $$841591;$$99 = $$85;$$991408 = $$851394;$$sink30 = 53; + label = 243; + continue L46; + } + $810 = (($$751491) + 1)|0; + $811 = (($$751491) - ($$791070))|0; + $812 = $811 & $$1753; + $813 = (($3) + ($812)|0); + $814 = HEAP8[$813>>0]|0; + $815 = ((($$781685)) + 1|0); + HEAP8[$$781685>>0] = $814; + $$741490 = $810;$$771684 = $815;$$781069 = $$791070;$$801177 = $$811178;$$801283 = $$811284;$$831590 = $$841591;$$84 = $$85;$$841393 = $$851394; + label = 212; + break; + } + case 226: { + label = 0; + $849 = $$90 & 7; + $850 = $$901399 >>> $849; + $851 = (($$90) - ($849))|0; + $$811497 = $$801496;$$851076 = $$841075;$$851692 = $$841691;$$871184 = 0;$$871290 = $$861289;$$901597 = $$891596;$$91 = $851;$$911400 = $850; + label = 227; + break; + } + case 231: { + label = 0; + $856 = $6 & 2; + $857 = ($856|0)==(0); + if ($857) { + $$0947$shrunk = 0;$$841500 = $$831499;$$881079 = $$871078;$$881695 = $$871694;$$901187 = $$891186;$$901293 = $$891292;$$931600 = $$921599;$$94 = $$93;$$941403 = $$931402; + label = 234; + } else { + $$0960 = 1;$$891505 = $$831499;$$931084 = $$871078;$$931700 = $$871694;$$951192 = $$891186;$$951298 = $$891292;$$981605 = $$921599;$$99 = $$93;$$991408 = $$931402;$$sink30 = 41; + label = 243; + continue L46; + } + break; + } + case 233: { + label = 0; + $859 = ((($$sink1750)) + 1|0); + $860 = HEAP8[$$sink1750>>0]|0; + $$0947$shrunk = $860;$$841500 = $$841500$ph;$$881079 = $$881079$ph;$$881695 = $$881695$ph;$$901187 = $$901187$ph;$$901293 = $$901293$ph;$$931600 = $859;$$94 = $$94$ph;$$941403 = $$941403$ph; + label = 234; + break; + } + case 237: { + label = 0; + $869 = $6 & 2; + $870 = ($869|0)==(0); + if ($870) { + $$0948 = 0;$$871503 = $$861502;$$911082 = $$901081;$$911698 = $$901697;$$931190 = $$921189;$$931296 = $$921295;$$961603 = $$951602;$$97 = $$96;$$971406 = $$961405; + label = 241; + continue L46; + } else { + $$0960 = 1;$$891505 = $$861502;$$931084 = $$901081;$$931700 = $$901697;$$951192 = $$921189;$$951298 = $$921295;$$981605 = $$951602;$$99 = $$96;$$991408 = $$961405;$$sink30 = 42; + label = 243; + continue L46; + } + break; + } + case 241: { + label = 0; + $878 = ((($0)) + 16|0); + $879 = HEAP32[$878>>2]|0; + $880 = $879 << 8; + $881 = $880 | $$0948; + HEAP32[$878>>2] = $881; + $882 = (($$931190) + 1)|0; + $$811497 = $$871503;$$851076 = $$911082;$$851692 = $$911698;$$871184 = $882;$$871290 = $$931296;$$901597 = $$961603;$$91 = $$97;$$911400 = $$971406; + label = 227; + break; + } + case 242: { + label = 0; + $$0960 = 0;$$891505 = $$881504;$$931084 = $$921083;$$931700 = $$921699;$$951192 = $$941191;$$951298 = $$941297;$$981605 = $$971604;$$99 = $$98;$$991408 = $$981407;$$sink30 = 34; + label = 243; + continue L46; + break; + } + case 243: { + label = 0; + HEAP32[$0>>2] = $$sink30; + $$100 = $$99;$$1001409 = $$991408;$$1961 = $$0960;$$901506 = $$891505;$$941085 = $$931084;$$941701 = $$931700;$$961193 = $$951192;$$961299 = $$951298;$$991606 = $$981605; + label = 244; + continue L46; + break; + } + case 244: { + label = 0; + HEAP32[$24>>2] = $$100; + HEAP32[$26>>2] = $$1001409; + HEAP32[$28>>2] = $$941085; + HEAP32[$30>>2] = $$961193; + HEAP32[$32>>2] = $$961299; + HEAP32[$34>>2] = $$901506; + $883 = $$991606; + $884 = $1; + $885 = (($883) - ($884))|0; + HEAP32[$2>>2] = $885; + $886 = $$941701; + $887 = $4; + $888 = (($886) - ($887))|0; + HEAP32[$5>>2] = $888; + $889 = $6 & 9; + $890 = ($889|0)!=(0); + $891 = ($$1961|0)>(-1); + $or$cond29 = $890 & $891; + if ($or$cond29) { + break L46; + } else { + $$0951 = $$1961; + label = 258; + break L46; + } + break; + } + } + switch (label|0) { + case 19: { + label = 0; + $$01413 = $$01413$shrunk&255; + $78 = $$01413 << $$8; + $79 = $78 | $$81317; + $80 = (($$8) + 8)|0; + $81 = ($80>>>0)<(3); + if ($81) { + $$11417 = $$31419;$$11608 = $$31610;$$51512 = $$71514;$$6 = $80;$$61103 = $$81105;$$61209 = $$81211;$$61315 = $79;$$6997 = $$8999; + label = 15; + } else { + $$41420 = $$31419;$$41611 = $$31610;$$81515 = $$71514;$$9 = $80;$$91000 = $$8999;$$91106 = $$81105;$$91212 = $$81211;$$91318 = $79; + label = 20; + } + break; + } + case 33: { + label = 0; + $$01411 = $$01411$shrunk&255; + $109 = $$01411 << $$17; + $110 = $109 | $$171326; + $111 = (($$17) + 8)|0; + $112 = ($$17>>>0)>(4294967287); + if ($112) { + $$101426 = $$121428;$$101617 = $$121619;$$141111 = $$161113;$$141521 = $$161523;$$15 = $111;$$151006 = $$171008;$$151218 = $$171220;$$151324 = $110; + label = 29; + } else { + $$131429 = $$121428;$$131620 = $$121619;$$171114 = $$161113;$$171524 = $$161523;$$18 = $111;$$181009 = $$171008;$$181221 = $$171220;$$181327 = $110; + label = 34; + } + break; + } + case 50: { + label = 0; + $$01410 = $$01410$shrunk&255; + $155 = $$01410 << $$26; + $156 = $155 | $$261335; + $157 = (($$26) + 8)|0; + $158 = ($$26>>>0)>(4294967287); + if ($158) { + $$191435 = $$211437;$$191626 = $$211628;$$231120 = $$251122;$$231530 = $$251532;$$24 = $157;$$241015 = $$261017;$$241227 = $$261229;$$241333 = $156; + label = 46; + } else { + $$221438 = $$211437;$$221629 = $$211628;$$261123 = $$251122;$$261533 = $$251532;$$27 = $157;$$271230 = $$261229;$$271336 = $156; + label = 51; + } + break; + } + case 67: { + label = 0; + $$01300 = $$01300$shrunk&255; + $196 = $$01300 << $$37; + $197 = $196 | $$371346; + $198 = (($$37) + 8)|0; + $199 = (14418 + ($$361133)|0); + $200 = HEAP8[$199>>0]|0; + $201 = $200 << 24 >> 24; + $202 = ($198>>>0)<($201>>>0); + if ($202) { + $$301446 = $$321448;$$301637 = $$321639;$$341025 = $$361027;$$341131 = $$361133;$$341541 = $$361543;$$35 = $198;$$351238 = $$371240;$$351344 = $197; + label = 63; + } else { + $$331449 = $$321448;$$331640 = $$321639;$$371028 = $$361027;$$371134 = $$361133;$$371544 = $$361543;$$38 = $198;$$381241 = $$371240;$$381347 = $197; + label = 68; + } + break; + } + case 76: { + label = 0; + $$01202 = $$01202$shrunk&255; + $227 = $$01202 << $$42; + $228 = $227 | $$421351; + $229 = (($$42) + 8)|0; + $230 = ($229>>>0)<(3); + if ($230) { + $$351451 = $$371453;$$351642 = $$371644;$$391030 = $$411032;$$391136 = $$411138;$$391546 = $$411548;$$40 = $229;$$401243 = $$421245;$$401349 = $228; + label = 72; + } else { + $$381454 = $$371453;$$381645 = $$371644;$$421033 = $$411032;$$421139 = $$411138;$$421549 = $$411548;$$43 = $229;$$431246 = $$421245;$$431352 = $228; + label = 77; + } + break; + } + case 117: { + label = 0; + $$0980 = $$0980$shrunk&255; + $455 = $$0980 << $$49; + $456 = $455 | $$491358; + $457 = (($$49) + 8)|0; + $458 = ($457>>>0)<(15); + if ($458) { + $$421458 = $$441460;$$421649 = $$441651;$$461037 = $$481039;$$461143 = $$481145;$$461553 = $$481555;$$47 = $457;$$471250 = $$491252;$$471356 = $456; + label = 108; + } else { + $$451461 = $$441460;$$451652 = $$441651;$$491146 = $$481145;$$491556 = $$481555;$$50 = $457;$$501253 = $$491252;$$501359 = $456; + label = 119; + } + break; + } + case 131: { + label = 0; + $$0979 = $$0979$shrunk&255; + $506 = $$0979 << $$54; + $507 = $506 | $$541363; + $508 = (($$54) + 8)|0; + $509 = ($508>>>0)<($$541257>>>0); + if ($509) { + $$471463 = $$491465;$$471654 = $$491656;$$501041 = $$521043;$$511148 = $$531150;$$511558 = $$531560;$$52 = $508;$$521255 = $$541257;$$521361 = $507; + label = 127; + } else { + $$501466 = $$491465;$$501657 = $$491656;$$531044 = $$521043;$$541151 = $$531150;$$541561 = $$531560;$$55 = $508;$$551258 = $$541257;$$551364 = $507; + label = 132; + } + break; + } + case 154: { + label = 0; + $$0971 = $$0971$shrunk&255; + $575 = $$0971 << $$62; + $576 = $575 | $$621371; + $577 = (($$62) + 8)|0; + $578 = ($577>>>0)<(15); + if ($578) { + $$551471 = $$571473;$$551662 = $$571664;$$581049 = $$601051;$$591156 = $$611158;$$591566 = $$611568;$$60 = $577;$$601263 = $$621265;$$601369 = $576; + label = 145; + } else { + $$581474 = $$571473;$$581665 = $$571664;$$611052 = $$601051;$$621569 = $$611568;$$63 = $577;$$631266 = $$621265;$$631372 = $576; + label = 156; + } + break; + } + case 183: { + label = 0; + $$0959 = $$0959$shrunk&255; + $699 = $$0959 << $$71; + $700 = $699 | $$711380; + $701 = (($$71) + 8)|0; + $702 = ($701>>>0)<($$681271>>>0); + if ($702) { + $$611477 = $$631479;$$621669 = $$641671;$$641055 = $$661057;$$651162 = $$671164;$$661269 = $$681271;$$681575 = $$701577;$$69 = $701;$$691378 = $700; + label = 179; + } else { + $$641480 = $$631479;$$651672 = $$641671;$$671058 = $$661057;$$681165 = $$671164;$$691272 = $$681271;$$711578 = $$701577;$$72 = $701;$$721381 = $700; + label = 184; + } + break; + } + case 196: { + label = 0; + $$0952 = $$0952$shrunk&255; + $740 = $$0952 << $$76; + $741 = $740 | $$761385; + $742 = (($$76) + 8)|0; + $743 = ($742>>>0)<(15); + if ($743) { + $$661482 = $$681484;$$671674 = $$691676;$$691060 = $$711062;$$701167 = $$721169;$$711274 = $$731276;$$731580 = $$751582;$$74 = $742;$$741383 = $741; + label = 187; + } else { + $$691485 = $$681484;$$701677 = $$691676;$$731170 = $$721169;$$761583 = $$751582;$$77 = $742;$$771386 = $741; + label = 198; + } + break; + } + case 207: { + label = 0; + $$0950 = $$0950$shrunk&255; + $787 = $$0950 << $$80; + $788 = $787 | $$801389; + $789 = (($$80) + 8)|0; + $790 = ($789>>>0)<($$761279>>>0); + if ($790) { + $$701486 = $$721488;$$711678 = $$731680;$$721063 = $$741065;$$741171 = $$761173;$$741277 = $$761279;$$771584 = $$791586;$$78 = $789;$$781387 = $788; + label = 203; + } else { + $$741681 = $$731680;$$751066 = $$741065;$$771174 = $$761173;$$771280 = $$761279;$$801587 = $$791586;$$81 = $789;$$811390 = $788; + label = 208; + } + break; + } + case 227: { + label = 0; + $852 = ($$871184>>>0)<(4); + if (!($852)) { + $$881504 = $$811497;$$921083 = $$851076;$$921699 = $$851692;$$941191 = $$871184;$$941297 = $$871290;$$971604 = $$901597;$$98 = $$91;$$981407 = $$911400; + label = 242; + continue L46; + } + $853 = ($$91|0)==(0); + if (!($853)) { + $854 = ($$91>>>0)<(8); + if ($854) { + $$821498 = $$811497;$$861077 = $$851076;$$861693 = $$851692;$$881185 = $$871184;$$881291 = $$871290;$$911598 = $$901597;$$92 = $$91;$$921401 = $$911400; + label = 230; + break; + } else { + $$851501 = $$811497;$$891080 = $$851076;$$891696 = $$851692;$$911188 = $$871184;$$911294 = $$871290;$$941601 = $$901597;$$95 = $$91;$$951404 = $$911400; + label = 235; + break; + } + } + $868 = ($$901597>>>0)<($10>>>0); + if (!($868)) { + $$861502 = $$811497;$$901081 = $$851076;$$901697 = $$851692;$$921189 = $$871184;$$921295 = $$871290;$$951602 = $$901597;$$96 = 0;$$961405 = $$911400; + label = 237; + continue L46; + } + $875 = ((($$901597)) + 1|0); + $876 = HEAP8[$$901597>>0]|0; + $877 = $876&255; + $$0948 = $877;$$871503 = $$811497;$$911082 = $$851076;$$911698 = $$851692;$$931190 = $$871184;$$931296 = $$871290;$$961603 = $875;$$97 = 0;$$971406 = $$911400; + label = 241; + continue L46; + break; + } + case 234: { + label = 0; + $$0947 = $$0947$shrunk&255; + $861 = $$0947 << $$94; + $862 = $861 | $$941403; + $863 = (($$94) + 8)|0; + $864 = ($$94>>>0)>(4294967287); + if ($864) { + $$821498 = $$841500;$$861077 = $$881079;$$861693 = $$881695;$$881185 = $$901187;$$881291 = $$901293;$$911598 = $$931600;$$92 = $863;$$921401 = $862; + label = 230; + } else { + $$851501 = $$841500;$$891080 = $$881079;$$891696 = $$881695;$$911188 = $$901187;$$911294 = $$901293;$$941601 = $$931600;$$95 = $863;$$951404 = $862; + label = 235; + } + break; + } + } + L119: do { + if ((label|0) == 15) { + label = 0; + $72 = ($$51512>>>0)<($10>>>0); + if ($72) { + $$31419$ph = $$11417;$$31610$ph = $$11608;$$8$ph = $$6;$$81105$ph = $$61103;$$81211$ph = $$61209;$$81317$ph = $$61315;$$8999$ph = $$6997;$$sink1710 = $$51512; + label = 18; + continue L46; + } else { + $$21418 = $$11417;$$21609 = $$11608;$$61513 = $$51512;$$7 = $$6;$$71104 = $$61103;$$71210 = $$61209;$$71316 = $$61315;$$7998 = $$6997; + label = 16; + continue L46; + } + } + else if ((label|0) == 20) { + label = 0; + $82 = $$91318 & 7; + $83 = ((($0)) + 20|0); + HEAP32[$83>>2] = $82; + $84 = $$91318 >>> 3; + $85 = (($$9) + -3)|0; + $86 = $82 >>> 1; + $87 = ((($0)) + 24|0); + HEAP32[$87>>2] = $86; + $trunc = $86&255; + $trunc$clear = $trunc & 3; + switch ($trunc$clear<<24>>24) { + case 0: { + $$121519 = $$81515;$$13 = $85;$$131004 = $$91000;$$131216 = $$91212;$$131322 = $84;$$81424 = $$41420;$$81615 = $$41611; + label = 25; + continue L46; + break; + } + case 3: { + $$281444 = $$41420;$$281635 = $$41611;$$321023 = $$91000;$$321129 = $$91106;$$321539 = $$81515;$$33 = $85;$$331236 = $$91212;$$331342 = $84; + label = 60; + continue L46; + break; + } + case 1: { + break; + } + default: { + $$291445 = $$41420;$$291636 = $$41611;$$331024 = $$91000;$$331130 = 0;$$331540 = $$81515;$$34 = $85;$$341237 = $$91212;$$341343 = $84; + label = 61; + break L119; + } + } + $240 = ((($0)) + 44|0); + HEAP32[$240>>2] = 288; + $241 = ((($0)) + 48|0); + HEAP32[$241>>2] = 32; + $242 = ((($0)) + 3552|0); + ;HEAP32[$242>>2]=84215045|0;HEAP32[$242+4>>2]=84215045|0;HEAP32[$242+8>>2]=84215045|0;HEAP32[$242+12>>2]=84215045|0;HEAP32[$242+16>>2]=84215045|0;HEAP32[$242+20>>2]=84215045|0;HEAP32[$242+24>>2]=84215045|0;HEAP32[$242+28>>2]=84215045|0; + $scevgep19611962 = ((($0)) + 64|0); + _memset(($scevgep19611962|0),8,144)|0; + $scevgep1959 = ((($0)) + 208|0); + dest=$scevgep1959; stop=dest+112|0; do { HEAP8[dest>>0]=9|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); + $scevgep1957 = ((($0)) + 320|0); + dest=$scevgep1957; stop=dest+24|0; do { HEAP8[dest>>0]=7|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); + $scevgep1955 = ((($0)) + 344|0); + $243 = $scevgep1955; + $244 = $243; + HEAP8[$244>>0]=134744072&255;HEAP8[$244+1>>0]=(134744072>>8)&255;HEAP8[$244+2>>0]=(134744072>>16)&255;HEAP8[$244+3>>0]=134744072>>24; + $245 = (($243) + 4)|0; + $246 = $245; + HEAP8[$246>>0]=134744072&255;HEAP8[$246+1>>0]=(134744072>>8)&255;HEAP8[$246+2>>0]=(134744072>>16)&255;HEAP8[$246+3>>0]=134744072>>24; + $$391455 = $$41420;$$391646 = $$41611;$$431034 = $$91000;$$431140 = $$91106;$$431550 = $$81515;$$44 = $85;$$441247 = $$91212;$$441353 = $84; + label = 80; + } + else if ((label|0) == 230) { + label = 0; + $855 = ($$911598>>>0)<($10>>>0); + if ($855) { + $$841500$ph = $$821498;$$881079$ph = $$861077;$$881695$ph = $$861693;$$901187$ph = $$881185;$$901293$ph = $$881291;$$94$ph = $$92;$$941403$ph = $$921401;$$sink1750 = $$911598; + label = 233; + continue L46; + } else { + $$831499 = $$821498;$$871078 = $$861077;$$871694 = $$861693;$$891186 = $$881185;$$891292 = $$881291;$$921599 = $$911598;$$93 = $$92;$$931402 = $$921401; + label = 231; + continue L46; + } + } + else if ((label|0) == 235) { + label = 0; + $865 = $$951404 & 255; + $866 = $$951404 >>> 8; + $867 = (($$95) + -8)|0; + $$0948 = $865;$$871503 = $$851501;$$911082 = $$891080;$$911698 = $$891696;$$931190 = $$911188;$$931296 = $$911294;$$961603 = $$941601;$$97 = $867;$$971406 = $866; + label = 241; + continue L46; + } + } while(0); + L125: while(1) { + L126: switch (label|0) { + case 26: { + label = 0; + $100 = ($$131110>>>0)<(4); + if (!($100)) { + $127 = ((($0)) + 10528|0); + $128 = HEAP8[$127>>0]|0; + $129 = $128&255; + $130 = ((($0)) + 10529|0); + $131 = HEAP8[$130>>0]|0; + $132 = $131&255; + $133 = $132 << 8; + $134 = $133 | $129; + $135 = ((($0)) + 10530|0); + $136 = HEAP8[$135>>0]|0; + $137 = $136&255; + $138 = ((($0)) + 10531|0); + $139 = HEAP8[$138>>0]|0; + $140 = $139&255; + $141 = $140 << 8; + $142 = $141 | $137; + $143 = $142 ^ 65535; + $144 = ($134|0)==($143|0); + if ($144) { + $$181434 = $$91425;$$181625 = $$91616;$$221119 = $134;$$221529 = $$131520;$$23 = $$14;$$231014 = $$141005;$$231226 = $$141217;$$231332 = $$141323; + label = 44; + continue L125; + } else { + $$171433 = $$91425;$$171624 = $$91616;$$211118 = $134;$$211528 = $$131520;$$22 = $$14;$$221013 = $$141005;$$221225 = $$141217;$$221331 = $$141323; + label = 43; + continue L46; + } + } + $101 = ($$14|0)==(0); + if (!($101)) { + $102 = ($$14>>>0)<(8); + if ($102) { + $$101426 = $$91425;$$101617 = $$91616;$$141111 = $$131110;$$141521 = $$131520;$$15 = $$14;$$151006 = $$141005;$$151218 = $$141217;$$151324 = $$141323; + label = 29; + continue L125; + } else { + $$131429 = $$91425;$$131620 = $$91616;$$171114 = $$131110;$$171524 = $$131520;$$18 = $$14;$$181009 = $$141005;$$181221 = $$141217;$$181327 = $$141323; + label = 34; + continue L125; + } + } + $117 = ($$131520>>>0)<($10>>>0); + if (!($117)) { + $$141430 = $$91425;$$141621 = $$91616;$$181115 = $$131110;$$181525 = $$131520;$$19 = 0;$$191010 = $$141005;$$191222 = $$141217;$$191328 = $$141323; + label = 36; + continue L46; + } + $123 = ((($$131520)) + 1|0); + $124 = HEAP8[$$131520>>0]|0; + $125 = (((($0)) + 10528|0) + ($$131110)|0); + HEAP8[$125>>0] = $124; + $$161432 = $$91425;$$161623 = $$91616;$$201117 = $$131110;$$201527 = $123;$$21 = 0;$$211012 = $$141005;$$211224 = $$141217;$$211330 = $$141323; + label = 41; + continue L125; + break; + } + case 29: { + label = 0; + $103 = ($$141521>>>0)<($10>>>0); + if ($103) { + $$121428$ph = $$101426;$$121619$ph = $$101617;$$161113$ph = $$141111;$$17$ph = $$15;$$171008$ph = $$151006;$$171220$ph = $$151218;$$171326$ph = $$151324;$$sink1713 = $$141521; + label = 32; + continue L46; + } else { + $$111427 = $$101426;$$111618 = $$101617;$$151112 = $$141111;$$151522 = $$141521;$$16 = $$15;$$161007 = $$151006;$$161219 = $$151218;$$161325 = $$151324; + label = 30; + continue L46; + } + break; + } + case 34: { + label = 0; + $113 = $$181327&255; + $114 = (((($0)) + 10528|0) + ($$171114)|0); + HEAP8[$114>>0] = $113; + $115 = $$181327 >>> 8; + $116 = (($$18) + -8)|0; + $$161432 = $$131429;$$161623 = $$131620;$$201117 = $$171114;$$201527 = $$171524;$$21 = $116;$$211012 = $$181009;$$211224 = $$181221;$$211330 = $115; + label = 41; + continue L125; + break; + } + case 41: { + label = 0; + $126 = (($$201117) + 1)|0; + $$131110 = $126;$$131520 = $$201527;$$14 = $$21;$$141005 = $$211012;$$141217 = $$211224;$$141323 = $$211330;$$91425 = $$161432;$$91616 = $$161623; + label = 26; + continue L125; + break; + } + case 44: { + label = 0; + $145 = ($$221119|0)!=(0); + $146 = ($$23|0)!=(0); + $147 = $145 & $146; + if (!($147)) { + $$241440 = $$181434;$$241631 = $$181625;$$281019 = $$231014;$$281125 = $$221119;$$281535 = $$221529;$$29 = $$23;$$291232 = $$231226;$$291338 = $$231332; + label = 54; + continue L125; + } + $148 = ($$23>>>0)<(8); + if ($148) { + $$191435 = $$181434;$$191626 = $$181625;$$231120 = $$221119;$$231530 = $$221529;$$24 = $$23;$$241015 = $$231014;$$241227 = $$231226;$$241333 = $$231332; + label = 46; + continue L125; + } else { + $$221438 = $$181434;$$221629 = $$181625;$$261123 = $$221119;$$261533 = $$221529;$$27 = $$23;$$271230 = $$231226;$$271336 = $$231332; + label = 51; + continue L125; + } + break; + } + case 46: { + label = 0; + $149 = ($$231530>>>0)<($10>>>0); + if ($149) { + $$211437$ph = $$191435;$$211628$ph = $$191626;$$251122$ph = $$231120;$$26$ph = $$24;$$261017$ph = $$241015;$$261229$ph = $$241227;$$261335$ph = $$241333;$$sink1716 = $$231530; + label = 49; + continue L46; + } else { + $$201436 = $$191435;$$201627 = $$191626;$$241121 = $$231120;$$241531 = $$231530;$$25 = $$24;$$251016 = $$241015;$$251228 = $$241227;$$251334 = $$241333; + label = 47; + continue L46; + } + break; + } + case 51: { + label = 0; + $159 = $$271336 & 255; + $160 = $$271336 >>> 8; + $161 = (($$27) + -8)|0; + $$231439 = $$221438;$$231630 = $$221629;$$271018 = $159;$$271124 = $$261123;$$271534 = $$261533;$$28 = $161;$$281231 = $$271230;$$281337 = $160; + label = 52; + continue L46; + break; + } + case 54: { + label = 0; + $166 = ($$281125|0)==(0); + if ($166) { + $$761492 = $$241440;$$801071 = $$281019;$$801687 = $$241631;$$821285 = $$291232;$$831180 = 0;$$851592 = $$281535;$$86 = $$29;$$861395 = $$291338; + label = 220; + break L125; + } else { + $$251441 = $$241440;$$251632 = $$241631;$$291020 = $$281019;$$291126 = $$281125;$$291536 = $$281535;$$30 = $$29;$$301233 = $$291232;$$301339 = $$291338; + label = 55; + continue L46; + } + break; + } + case 61: { + label = 0; + $185 = ($$331130>>>0)<(3); + if ($185) { + $186 = (14418 + ($$331130)|0); + $187 = HEAP8[$186>>0]|0; + $188 = $187 << 24 >> 24; + $189 = ($$34>>>0)<($188>>>0); + if ($189) { + $$301446 = $$291445;$$301637 = $$291636;$$341025 = $$331024;$$341131 = $$331130;$$341541 = $$331540;$$35 = $$34;$$351238 = $$341237;$$351344 = $$341343; + label = 63; + continue L125; + } else { + $$331449 = $$291445;$$331640 = $$291636;$$371028 = $$331024;$$371134 = $$331130;$$371544 = $$331540;$$38 = $$34;$$381241 = $$341237;$$381347 = $$341343; + label = 68; + continue L125; + } + } else { + $216 = ((($0)) + 7040|0); + _memset(($216|0),0,288)|0; + $$341450 = $$291445;$$341641 = $$291636;$$381029 = $$331024;$$381135 = 0;$$381545 = $$331540;$$39 = $$34;$$391242 = $$341237;$$391348 = $$341343; + label = 70; + break; + } + break; + } + case 63: { + label = 0; + $190 = ($$341541>>>0)<($10>>>0); + if ($190) { + $$321448$ph = $$301446;$$321639$ph = $$301637;$$361027$ph = $$341025;$$361133$ph = $$341131;$$37$ph = $$35;$$371240$ph = $$351238;$$371346$ph = $$351344;$$sink1719 = $$341541; + label = 66; + continue L46; + } else { + $$311447 = $$301446;$$311638 = $$301637;$$351026 = $$341025;$$351132 = $$341131;$$351542 = $$341541;$$36 = $$35;$$361239 = $$351238;$$361345 = $$351344; + label = 64; + continue L46; + } + break; + } + case 68: { + label = 0; + $203 = (14418 + ($$371134)|0); + $204 = HEAP8[$203>>0]|0; + $205 = $204 << 24 >> 24; + $206 = 1 << $205; + $207 = (($206) + -1)|0; + $208 = $207 & $$381347; + $209 = (((($0)) + 44|0) + ($$371134<<2)|0); + $210 = $$381347 >>> $205; + $211 = (($$38) - ($205))|0; + $212 = (3152 + ($$371134<<2)|0); + $213 = HEAP32[$212>>2]|0; + $214 = (($208) + ($213))|0; + HEAP32[$209>>2] = $214; + $215 = (($$371134) + 1)|0; + $$291445 = $$331449;$$291636 = $$331640;$$331024 = $$371028;$$331130 = $215;$$331540 = $$371544;$$34 = $211;$$341237 = $$381241;$$341343 = $210; + label = 61; + continue L125; + break; + } + case 72: { + label = 0; + $221 = ($$391546>>>0)<($10>>>0); + if ($221) { + $$371453$ph = $$351451;$$371644$ph = $$351642;$$411032$ph = $$391030;$$411138$ph = $$391136;$$42$ph = $$40;$$421245$ph = $$401243;$$421351$ph = $$401349;$$sink1722 = $$391546; + label = 75; + continue L46; + } else { + $$361452 = $$351451;$$361643 = $$351642;$$401031 = $$391030;$$401137 = $$391136;$$401547 = $$391546;$$41 = $$40;$$411244 = $$401243;$$411350 = $$401349; + label = 73; + continue L46; + } + break; + } + case 77: { + label = 0; + $231 = $$431352 & 7; + $232 = $$431352 >>> 3; + $233 = (($$43) + -3)|0; + $234 = $231&255; + $235 = (14422 + ($$421139)|0); + $236 = HEAP8[$235>>0]|0; + $237 = $236&255; + $238 = (((($0)) + 7040|0) + ($237)|0); + HEAP8[$238>>0] = $234; + $239 = (($$421139) + 1)|0; + $$341450 = $$381454;$$341641 = $$381645;$$381029 = $$421033;$$381135 = $239;$$381545 = $$421549;$$39 = $233;$$391242 = $$431246;$$391348 = $232; + label = 70; + break; + } + case 80: { + label = 0; + $247 = ((($0)) + 24|0); + $248 = HEAP32[$247>>2]|0; + $249 = ($248|0)>(-1); + if ($249) { + dest=$8; stop=dest+64|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + $250 = (((((($0)) + 64|0) + (($248*3488)|0)|0)) + 288|0); + _memset(($250|0),0,3200)|0; + $251 = HEAP32[$247>>2]|0; + $252 = (((($0)) + 44|0) + ($251<<2)|0); + $253 = HEAP32[$252>>2]|0; + $254 = ($253|0)==(0); + if (!($254)) { + $255 = HEAP32[$247>>2]|0; + $256 = (((($0)) + 44|0) + ($255<<2)|0); + $257 = HEAP32[$256>>2]|0; + $$010951864 = 0; + while(1) { + $258 = ((((($0)) + 64|0) + (($248*3488)|0)|0) + ($$010951864)|0); + $259 = HEAP8[$258>>0]|0; + $260 = $259&255; + $261 = (($8) + ($260<<2)|0); + $262 = HEAP32[$261>>2]|0; + $263 = (($262) + 1)|0; + HEAP32[$261>>2] = $263; + $264 = (($$010951864) + 1)|0; + $265 = ($264>>>0)<($257>>>0); + if ($265) { + $$010951864 = $264; + } else { + break; + } + } + } + $266 = ((($7)) + 4|0); + HEAP32[$266>>2] = 0; + HEAP32[$7>>2] = 0; + $267 = ((($8)) + 4|0); + $268 = HEAP32[$267>>2]|0; + $269 = $268 << 1; + $270 = ((($7)) + 8|0); + HEAP32[$270>>2] = $269; + $271 = ((($8)) + 8|0); + $272 = HEAP32[$271>>2]|0; + $273 = (($272) + ($268))|0; + $274 = (($272) + ($269))|0; + $275 = $274 << 1; + $276 = ((($7)) + 12|0); + HEAP32[$276>>2] = $275; + $277 = ((($8)) + 12|0); + $278 = HEAP32[$277>>2]|0; + $279 = (($278) + ($273))|0; + $280 = (($278) + ($275))|0; + $281 = $280 << 1; + $282 = ((($7)) + 16|0); + HEAP32[$282>>2] = $281; + $283 = ((($8)) + 16|0); + $284 = HEAP32[$283>>2]|0; + $285 = (($284) + ($279))|0; + $286 = (($284) + ($281))|0; + $287 = $286 << 1; + $288 = ((($7)) + 20|0); + HEAP32[$288>>2] = $287; + $289 = ((($8)) + 20|0); + $290 = HEAP32[$289>>2]|0; + $291 = (($290) + ($285))|0; + $292 = (($290) + ($287))|0; + $293 = $292 << 1; + $294 = ((($7)) + 24|0); + HEAP32[$294>>2] = $293; + $295 = ((($8)) + 24|0); + $296 = HEAP32[$295>>2]|0; + $297 = (($296) + ($291))|0; + $298 = (($296) + ($293))|0; + $299 = $298 << 1; + $300 = ((($7)) + 28|0); + HEAP32[$300>>2] = $299; + $301 = ((($8)) + 28|0); + $302 = HEAP32[$301>>2]|0; + $303 = (($302) + ($297))|0; + $304 = (($302) + ($299))|0; + $305 = $304 << 1; + $306 = ((($7)) + 32|0); + HEAP32[$306>>2] = $305; + $307 = ((($8)) + 32|0); + $308 = HEAP32[$307>>2]|0; + $309 = (($308) + ($303))|0; + $310 = (($308) + ($305))|0; + $311 = $310 << 1; + $312 = ((($7)) + 36|0); + HEAP32[$312>>2] = $311; + $313 = ((($8)) + 36|0); + $314 = HEAP32[$313>>2]|0; + $315 = (($314) + ($309))|0; + $316 = (($314) + ($311))|0; + $317 = $316 << 1; + $318 = ((($7)) + 40|0); + HEAP32[$318>>2] = $317; + $319 = ((($8)) + 40|0); + $320 = HEAP32[$319>>2]|0; + $321 = (($320) + ($315))|0; + $322 = (($320) + ($317))|0; + $323 = $322 << 1; + $324 = ((($7)) + 44|0); + HEAP32[$324>>2] = $323; + $325 = ((($8)) + 44|0); + $326 = HEAP32[$325>>2]|0; + $327 = (($326) + ($321))|0; + $328 = (($326) + ($323))|0; + $329 = $328 << 1; + $330 = ((($7)) + 48|0); + HEAP32[$330>>2] = $329; + $331 = ((($8)) + 48|0); + $332 = HEAP32[$331>>2]|0; + $333 = (($332) + ($327))|0; + $334 = (($332) + ($329))|0; + $335 = $334 << 1; + $336 = ((($7)) + 52|0); + HEAP32[$336>>2] = $335; + $337 = ((($8)) + 52|0); + $338 = HEAP32[$337>>2]|0; + $339 = (($338) + ($333))|0; + $340 = (($338) + ($335))|0; + $341 = $340 << 1; + $342 = ((($7)) + 56|0); + HEAP32[$342>>2] = $341; + $343 = ((($8)) + 56|0); + $344 = HEAP32[$343>>2]|0; + $345 = (($344) + ($339))|0; + $346 = (($344) + ($341))|0; + $347 = $346 << 1; + $348 = ((($7)) + 60|0); + HEAP32[$348>>2] = $347; + $349 = ((($8)) + 60|0); + $350 = HEAP32[$349>>2]|0; + $351 = (($350) + ($345))|0; + $352 = (($350) + ($347))|0; + $353 = $352 << 1; + $354 = ((($7)) + 64|0); + HEAP32[$354>>2] = $353; + $355 = ($353|0)!=(65536); + $356 = ($351>>>0)>(1); + $or$cond = $355 & $356; + if ($or$cond) { + $$401456 = $$391455;$$401647 = $$391646;$$441035 = $$431034;$$441141 = $$431140;$$441551 = $$431550;$$45 = $$44;$$451248 = $$441247;$$451354 = $$441353; + label = 86; + continue L46; + } + $357 = HEAP32[$247>>2]|0; + $358 = (((($0)) + 44|0) + ($357<<2)|0); + $359 = HEAP32[$358>>2]|0; + $360 = ($359|0)==(0); + if ($360) { + $$lcssa1779 = $357; + } else { + $$010911856 = 0;$$011971855 = -1; + while(1) { + $361 = ((((($0)) + 64|0) + (($248*3488)|0)|0) + ($$010911856)|0); + $362 = HEAP8[$361>>0]|0; + $363 = $362&255; + $364 = ($362<<24>>24)==(0); + L142: do { + if ($364) { + $$41201 = $$011971855; + } else { + $365 = (($7) + ($363<<2)|0); + $366 = HEAP32[$365>>2]|0; + $367 = (($366) + 1)|0; + HEAP32[$365>>2] = $367; + $$010861840 = $366;$$010871839 = $363;$$010881838 = 0; + while(1) { + $368 = $$010881838 << 1; + $369 = $$010861840 & 1; + $370 = $369 | $368; + $371 = (($$010871839) + -1)|0; + $372 = $$010861840 >>> 1; + $373 = ($371|0)==(0); + if ($373) { + break; + } else { + $$010861840 = $372;$$010871839 = $371;$$010881838 = $370; + } + } + $374 = ($362&255)<(11); + if ($374) { + $375 = $363 << 9; + $376 = $375 | $$010911856; + $377 = $376&65535; + $378 = ($370>>>0)<(1024); + if (!($378)) { + $$41201 = $$011971855; + break; + } + $379 = 1 << $363; + $$110891852 = $370; + while(1) { + $380 = ((((((($0)) + 64|0) + (($248*3488)|0)|0)) + 288|0) + ($$110891852<<1)|0); + HEAP16[$380>>1] = $377; + $381 = (($$110891852) + ($379))|0; + $382 = ($381>>>0)<(1024); + if ($382) { + $$110891852 = $381; + } else { + $$41201 = $$011971855; + break L142; + } + } + } + $383 = $370 & 1023; + $384 = ((((((($0)) + 64|0) + (($248*3488)|0)|0)) + 288|0) + ($383<<1)|0); + $385 = HEAP16[$384>>1]|0; + $386 = $385 << 16 >> 16; + $387 = ($385<<16>>16)==(0); + if ($387) { + $388 = (($$011971855) + -2)|0; + $389 = $$011971855&65535; + HEAP16[$384>>1] = $389; + $$01194 = $$011971855;$$11198 = $388; + } else { + $$01194 = $386;$$11198 = $$011971855; + } + $390 = $$010881838 >>> 9; + $391 = ($362&255)>(11); + $392 = $390 & 1; + $393 = (($392) - ($$01194))|0; + $394 = (($393) + -1)|0; + if ($391) { + $395 = $390 & 4194303; + $$010941846 = $363;$$211991845 = $$11198;$397 = $394;$406 = $395; + while(1) { + $396 = ((((((($0)) + 64|0) + (($248*3488)|0)|0)) + 2336|0) + ($397<<1)|0); + $398 = HEAP16[$396>>1]|0; + $399 = ($398<<16>>16)==(0); + if ($399) { + $400 = $$211991845&65535; + HEAP16[$396>>1] = $400; + $401 = (($$211991845) + -2)|0; + $$21196 = $$211991845;$$31200 = $401; + } else { + $402 = $398 << 16 >> 16; + $$21196 = $402;$$31200 = $$211991845; + } + $403 = (($$010941846) + -1)|0; + $404 = ($403>>>0)>(11); + $405 = $406 >>> 1; + $407 = $405 & 1; + $408 = (($407) - ($$21196))|0; + $409 = (($408) + -1)|0; + if ($404) { + $$010941846 = $403;$$211991845 = $$31200;$397 = $409;$406 = $405; + } else { + $$21199$lcssa = $$31200;$$lcssa1778 = $409; + break; + } + } + } else { + $$21199$lcssa = $$11198;$$lcssa1778 = $394; + } + $410 = $$010911856&65535; + $411 = ((((((($0)) + 64|0) + (($248*3488)|0)|0)) + 2336|0) + ($$lcssa1778<<1)|0); + HEAP16[$411>>1] = $410; + $$41201 = $$21199$lcssa; + } + } while(0); + $412 = (($$010911856) + 1)|0; + $413 = HEAP32[$247>>2]|0; + $414 = (((($0)) + 44|0) + ($413<<2)|0); + $415 = HEAP32[$414>>2]|0; + $416 = ($412>>>0)<($415>>>0); + if ($416) { + $$010911856 = $412;$$011971855 = $$41201; + } else { + $$lcssa1779 = $413; + break; + } + } + } + $417 = ($$lcssa1779|0)==(2); + if ($417) { + $$411457 = $$391455;$$411648 = $$391646;$$451036 = $$431034;$$451142 = 0;$$451552 = $$431550;$$46 = $$44;$$461249 = $$441247;$$461355 = $$441353; + label = 105; + } else { + $$521468 = $$391455;$$521659 = $$391646;$$551046 = $$431034;$$561153 = $$431140;$$561563 = $$431550;$$57 = $$44;$$571260 = $$441247;$$571366 = $$441353; + label = 138; + } + } else { + $$531469 = $$391455;$$531660 = $$391646;$$561047 = $$431034;$$571154 = $$431140;$$571564 = $$431550;$$58 = $$44;$$581261 = $$441247;$$581367 = $$441353; + label = 139; + } + break; + } + case 108: { + label = 0; + $429 = $$471356 & 1023; + $430 = (((($0)) + 7328|0) + ($429<<1)|0); + $431 = HEAP16[$430>>1]|0; + $432 = $431 << 16 >> 16; + $433 = ($431<<16>>16)>(-1); + if ($433) { + $434 = $432 >> 9; + $435 = (($434) + -1)|0; + $436 = ($435>>>0)<($$47>>>0); + if ($436) { + $$451461 = $$421458;$$451652 = $$421649;$$491146 = $$461143;$$491556 = $$461553;$$50 = $$47;$$501253 = $$471250;$$501359 = $$471356; + label = 119; + continue L125; + } else { + label = 113; + break L125; + } + } + $437 = ($$47>>>0)>(10); + if ($437) { + $$0981 = 10;$$0984 = $432; + } else { + label = 113; + break L125; + } + while(1) { + $438 = $$0984 ^ -1; + $439 = $$471356 >>> $$0981; + $440 = $439 & 1; + $441 = (($440) + ($438))|0; + $442 = (((($0)) + 9376|0) + ($441<<1)|0); + $443 = HEAP16[$442>>1]|0; + $444 = ($443<<16>>16)<(0); + if (!($444)) { + $$451461 = $$421458;$$451652 = $$421649;$$491146 = $$461143;$$491556 = $$461553;$$50 = $$47;$$501253 = $$471250;$$501359 = $$471356; + label = 119; + continue L125; + } + $445 = (($$0981) + 1)|0; + $446 = $443 << 16 >> 16; + $447 = (($$0981) + 2)|0; + $448 = ($$47>>>0)<($447>>>0); + if ($448) { + label = 113; + break L125; + } else { + $$0981 = $445;$$0984 = $446; + } + } + break; + } + case 119: { + label = 0; + $471 = $$501359 & 1023; + $472 = (((($0)) + 7328|0) + ($471<<1)|0); + $473 = HEAP16[$472>>1]|0; + $474 = $473 << 16 >> 16; + $475 = ($473<<16>>16)>(-1); + if ($475) { + $476 = $474 >> 9; + $477 = $474 & 511; + $$2983 = $476;$$2986 = $477; + } else { + $$1982 = 10;$$1985 = $474; + while(1) { + $478 = $$1985 ^ -1; + $479 = (($$1982) + 1)|0; + $480 = $$501359 >>> $$1982; + $481 = $480 & 1; + $482 = (($481) + ($478))|0; + $483 = (((($0)) + 9376|0) + ($482<<1)|0); + $484 = HEAP16[$483>>1]|0; + $485 = $484 << 16 >> 16; + $486 = ($484<<16>>16)<(0); + if ($486) { + $$1982 = $479;$$1985 = $485; + } else { + $$2983 = $479;$$2986 = $485; + break; + } + } + } + $487 = $$501359 >>> $$2983; + $488 = (($$50) - ($$2983))|0; + $489 = ($$2986>>>0)<(16); + if ($489) { + $490 = $$2986&255; + $491 = (($$491146) + 1)|0; + $492 = (((($0)) + 10532|0) + ($$491146)|0); + HEAP8[$492>>0] = $490; + $$411457 = $$451461;$$411648 = $$451652;$$451036 = $$2986;$$451142 = $491;$$451552 = $$491556;$$46 = $488;$$461249 = $$501253;$$461355 = $487; + label = 105; + break; + } + $493 = ($$2986|0)!=(16); + $494 = ($$491146|0)!=(0); + $or$cond24 = $494 | $493; + if (!($or$cond24)) { + $$461462 = $$451461;$$461653 = $$451652;$$491040 = $$2986;$$501147 = $$491146;$$501557 = $$491556;$$51 = $488;$$511254 = $$501253;$$511360 = $487; + label = 125; + continue L46; + } + $495 = (($$2986) + -16)|0; + $496 = (14441 + ($495)|0); + $497 = HEAP8[$496>>0]|0; + $498 = $497 << 24 >> 24; + $499 = ($488>>>0)<($498>>>0); + if ($499) { + $$471463 = $$451461;$$471654 = $$451652;$$501041 = $$2986;$$511148 = $$491146;$$511558 = $$491556;$$52 = $488;$$521255 = $498;$$521361 = $487; + label = 127; + continue L125; + } else { + $$501466 = $$451461;$$501657 = $$451652;$$531044 = $$2986;$$541151 = $$491146;$$541561 = $$491556;$$55 = $488;$$551258 = $498;$$551364 = $487; + label = 132; + continue L125; + } + break; + } + case 127: { + label = 0; + $500 = ($$511558>>>0)<($10>>>0); + if ($500) { + $$491465$ph = $$471463;$$491656$ph = $$471654;$$521043$ph = $$501041;$$531150$ph = $$511148;$$54$ph = $$52;$$541257$ph = $$521255;$$541363$ph = $$521361;$$sink1732 = $$511558; + label = 130; + continue L46; + } else { + $$481464 = $$471463;$$481655 = $$471654;$$511042 = $$501041;$$521149 = $$511148;$$521559 = $$511558;$$53 = $$52;$$531256 = $$521255;$$531362 = $$521361; + label = 128; + continue L46; + } + break; + } + case 132: { + label = 0; + $510 = 1 << $$551258; + $511 = (($510) + -1)|0; + $512 = $511 & $$551364; + $513 = $$551364 >>> $$551258; + $514 = (($$55) - ($$551258))|0; + $515 = (($$531044) + -16)|0; + $516 = (14445 + ($515)|0); + $517 = HEAP8[$516>>0]|0; + $518 = $517 << 24 >> 24; + $519 = (($518) + ($512))|0; + $520 = (((($0)) + 10532|0) + ($$541151)|0); + $521 = ($$531044|0)==(16); + if ($521) { + $522 = (($$541151) + -1)|0; + $523 = (((($0)) + 10532|0) + ($522)|0); + $524 = HEAP8[$523>>0]|0; + $525 = $524&255; + $527 = $525; + } else { + $527 = 0; + } + $526 = $527&255; + _memset(($520|0),($526|0),($519|0))|0; + $528 = (($519) + ($$541151))|0; + $$411457 = $$501466;$$411648 = $$501657;$$451036 = $$531044;$$451142 = $528;$$451552 = $$541561;$$46 = $514;$$461249 = $$551258;$$461355 = $513; + label = 105; + break; + } + case 140: { + label = 0; + $539 = $10; + $540 = $$581565$ph; + $541 = (($539) - ($540))|0; + $542 = ($541|0)<(4); + $543 = ($$59$ph>>>0)<(15); + L241: do { + if ($542) { + $$541661$lcssa = $$541661$ph;$$581155$lcssa = $$581155$ph;$$581565$lcssa = $$581565$ph;$$59$lcssa = $$59$ph;$$591368$lcssa = $$591368$ph;$$lcssa1799 = $543;$$lcssa1802 = $541; + } else { + $544 = $12; + $$5416611868 = $$541661$ph;$$5811551871 = $$581155$ph;$$5815651869 = $$581565$ph;$$5913681870 = $$591368$ph;$$591872 = $$59$ph;$965 = $543;$966 = $541; + while(1) { + $545 = $$5416611868; + $546 = (($544) - ($545))|0; + $547 = ($546|0)<(2); + if ($547) { + $$541661$lcssa = $$5416611868;$$581155$lcssa = $$5811551871;$$581565$lcssa = $$5815651869;$$59$lcssa = $$591872;$$591368$lcssa = $$5913681870;$$lcssa1799 = $965;$$lcssa1802 = $966; + break L241; + } + if ($965) { + $613 = HEAP8[$$5815651869>>0]|0; + $614 = $613&255; + $615 = ((($$5815651869)) + 1|0); + $616 = HEAP8[$615>>0]|0; + $617 = $616&255; + $618 = $617 << 8; + $619 = $618 | $614; + $620 = $619 << $$591872; + $621 = $620 | $$5913681870; + $622 = ((($$5815651869)) + 2|0); + $623 = (($$591872) + 16)|0; + $$641571 = $622;$$65 = $623;$$651374 = $621; + } else { + $$641571 = $$5815651869;$$65 = $$591872;$$651374 = $$5913681870; + } + $624 = $$651374 & 1023; + $625 = (((($0)) + 352|0) + ($624<<1)|0); + $626 = HEAP16[$625>>1]|0; + $627 = $626 << 16 >> 16; + $628 = ($626<<16>>16)>(-1); + if ($628) { + $629 = $627 >> 9; + $$1964 = $629;$$1968 = $627; + } else { + $$0963 = 10;$$0967 = $627; + while(1) { + $630 = $$0967 ^ -1; + $631 = (($$0963) + 1)|0; + $632 = $$651374 >>> $$0963; + $633 = $632 & 1; + $634 = (($633) + ($630))|0; + $635 = (((($0)) + 2400|0) + ($634<<1)|0); + $636 = HEAP16[$635>>1]|0; + $637 = $636 << 16 >> 16; + $638 = ($636<<16>>16)<(0); + if ($638) { + $$0963 = $631;$$0967 = $637; + } else { + $$1964 = $631;$$1968 = $637; + break; + } + } + } + $639 = $$651374 >>> $$1964; + $640 = (($$65) - ($$1964))|0; + $641 = $$1968 & 256; + $642 = ($641|0)==(0); + if (!($642)) { + $$601476 = $$541470$ph;$$611668 = $$5416611868;$$631054 = $$571048$ph;$$641161 = $$1968;$$651268 = $$591262$ph;$$671574 = $$641571;$$68 = $640;$$681377 = $639; + label = 176; + break L126; + } + $643 = ($640>>>0)<(15); + if ($643) { + $644 = HEAP8[$$641571>>0]|0; + $645 = $644&255; + $646 = ((($$641571)) + 1|0); + $647 = HEAP8[$646>>0]|0; + $648 = $647&255; + $649 = $648 << 8; + $650 = $649 | $645; + $651 = $650 << $640; + $652 = $651 | $639; + $653 = ((($$641571)) + 2|0); + $654 = (($640) + 16)|0; + $$651572 = $653;$$66 = $654;$$661375 = $652; + } else { + $$651572 = $$641571;$$66 = $640;$$661375 = $639; + } + $655 = $$661375 & 1023; + $656 = (((($0)) + 352|0) + ($655<<1)|0); + $657 = HEAP16[$656>>1]|0; + $658 = $657 << 16 >> 16; + $659 = ($657<<16>>16)>(-1); + if ($659) { + $660 = $658 >> 9; + $$3966 = $660;$$3970 = $658; + } else { + $$2965 = 10;$$2969 = $658; + while(1) { + $661 = $$2969 ^ -1; + $662 = (($$2965) + 1)|0; + $663 = $$661375 >>> $$2965; + $664 = $663 & 1; + $665 = (($664) + ($661))|0; + $666 = (((($0)) + 2400|0) + ($665<<1)|0); + $667 = HEAP16[$666>>1]|0; + $668 = $667 << 16 >> 16; + $669 = ($667<<16>>16)<(0); + if ($669) { + $$2965 = $662;$$2969 = $668; + } else { + $$3966 = $662;$$3970 = $668; + break; + } + } + } + $670 = $$661375 >>> $$3966; + $671 = (($$66) - ($$3966))|0; + $672 = $$1968&255; + HEAP8[$$5416611868>>0] = $672; + $673 = $$3970 & 256; + $674 = ($673|0)==(0); + if (!($674)) { + break; + } + $676 = $$3970&255; + $677 = ((($$5416611868)) + 1|0); + HEAP8[$677>>0] = $676; + $678 = ((($$5416611868)) + 2|0); + $679 = $$651572; + $680 = (($539) - ($679))|0; + $681 = ($680|0)<(4); + $682 = ($671>>>0)<(15); + if ($681) { + $$541661$lcssa = $678;$$581155$lcssa = $$1968;$$581565$lcssa = $$651572;$$59$lcssa = $671;$$591368$lcssa = $670;$$lcssa1799 = $682;$$lcssa1802 = $680; + break L241; + } else { + $$5416611868 = $678;$$5811551871 = $$1968;$$5815651869 = $$651572;$$5913681870 = $670;$$591872 = $671;$965 = $682;$966 = $680; + } + } + $675 = ((($$5416611868)) + 1|0); + $$601476 = $$541470$ph;$$611668 = $675;$$631054 = $$571048$ph;$$641161 = $$3970;$$651268 = $$591262$ph;$$671574 = $$651572;$$68 = $671;$$681377 = $670; + label = 176; + break L126; + } + } while(0); + if (!($$lcssa1799)) { + $$581474 = $$541470$ph;$$581665 = $$541661$lcssa;$$611052 = $$571048$ph;$$621569 = $$581565$lcssa;$$63 = $$59$lcssa;$$631266 = $$591262$ph;$$631372 = $$591368$lcssa; + label = 156; + continue L125; + } + $548 = ($$lcssa1802|0)<(2); + if ($548) { + $$551471 = $$541470$ph;$$551662 = $$541661$lcssa;$$581049 = $$571048$ph;$$591156 = $$581155$lcssa;$$591566 = $$581565$lcssa;$$60 = $$59$lcssa;$$601263 = $$591262$ph;$$601369 = $$591368$lcssa; + label = 145; + continue L125; + } + $579 = HEAP8[$$581565$lcssa>>0]|0; + $580 = $579&255; + $581 = $580 << $$59$lcssa; + $582 = ((($$581565$lcssa)) + 1|0); + $583 = HEAP8[$582>>0]|0; + $584 = $583&255; + $585 = (($$59$lcssa) + 8)|0; + $586 = $584 << $585; + $587 = $581 | $$591368$lcssa; + $588 = $587 | $586; + $589 = ((($$581565$lcssa)) + 2|0); + $590 = (($$59$lcssa) + 16)|0; + $$581474 = $$541470$ph;$$581665 = $$541661$lcssa;$$611052 = $$571048$ph;$$621569 = $589;$$63 = $590;$$631266 = $$591262$ph;$$631372 = $588; + label = 156; + continue L125; + break; + } + case 145: { + label = 0; + $549 = $$601369 & 1023; + $550 = (((($0)) + 352|0) + ($549<<1)|0); + $551 = HEAP16[$550>>1]|0; + $552 = $551 << 16 >> 16; + $553 = ($551<<16>>16)>(-1); + if ($553) { + $554 = $552 >> 9; + $555 = (($554) + -1)|0; + $556 = ($555>>>0)<($$60>>>0); + if ($556) { + $$581474 = $$551471;$$581665 = $$551662;$$611052 = $$581049;$$621569 = $$591566;$$63 = $$60;$$631266 = $$601263;$$631372 = $$601369; + label = 156; + continue L125; + } else { + label = 150; + break L125; + } + } + $557 = ($$60>>>0)>(10); + if ($557) { + $$0972 = 10;$$0975 = $552; + } else { + label = 150; + break L125; + } + while(1) { + $558 = $$0975 ^ -1; + $559 = $$601369 >>> $$0972; + $560 = $559 & 1; + $561 = (($560) + ($558))|0; + $562 = (((($0)) + 2400|0) + ($561<<1)|0); + $563 = HEAP16[$562>>1]|0; + $564 = ($563<<16>>16)<(0); + if (!($564)) { + $$581474 = $$551471;$$581665 = $$551662;$$611052 = $$581049;$$621569 = $$591566;$$63 = $$60;$$631266 = $$601263;$$631372 = $$601369; + label = 156; + continue L125; + } + $565 = (($$0972) + 1)|0; + $566 = $563 << 16 >> 16; + $567 = (($$0972) + 2)|0; + $568 = ($$60>>>0)<($567>>>0); + if ($568) { + label = 150; + break L125; + } else { + $$0972 = $565;$$0975 = $566; + } + } + break; + } + case 156: { + label = 0; + $591 = $$631372 & 1023; + $592 = (((($0)) + 352|0) + ($591<<1)|0); + $593 = HEAP16[$592>>1]|0; + $594 = $593 << 16 >> 16; + $595 = ($593<<16>>16)>(-1); + if ($595) { + $596 = $594 >> 9; + $597 = $594 & 511; + $$2974 = $596;$$2977 = $597; + } else { + $$1973 = 10;$$1976 = $594; + while(1) { + $598 = $$1976 ^ -1; + $599 = (($$1973) + 1)|0; + $600 = $$631372 >>> $$1973; + $601 = $600 & 1; + $602 = (($601) + ($598))|0; + $603 = (((($0)) + 2400|0) + ($602<<1)|0); + $604 = HEAP16[$603>>1]|0; + $605 = $604 << 16 >> 16; + $606 = ($604<<16>>16)<(0); + if ($606) { + $$1973 = $599;$$1976 = $605; + } else { + $$2974 = $599;$$2977 = $605; + break; + } + } + } + $607 = $$631372 >>> $$2974; + $608 = (($$63) - ($$2974))|0; + $609 = ($$2977>>>0)>(255); + if ($609) { + $$601476 = $$581474;$$611668 = $$581665;$$631054 = $$611052;$$641161 = $$2977;$$651268 = $$631266;$$671574 = $$621569;$$68 = $608;$$681377 = $607; + label = 176; + } else { + $$591475 = $$581474;$$591666 = $$581665;$$621053 = $$611052;$$621159 = $$2977;$$631570 = $$621569;$$64 = $608;$$641267 = $$631266;$$641373 = $607; + label = 160; + continue L46; + } + break; + } + case 179: { + label = 0; + $693 = ($$681575>>>0)<($10>>>0); + if ($693) { + $$631479$ph = $$611477;$$641671$ph = $$621669;$$661057$ph = $$641055;$$671164$ph = $$651162;$$681271$ph = $$661269;$$71$ph = $$69;$$711380$ph = $$691378;$$sink1739 = $$681575; + label = 182; + continue L46; + } else { + $$621478 = $$611477;$$631670 = $$621669;$$651056 = $$641055;$$661163 = $$651162;$$671270 = $$661269;$$691576 = $$681575;$$70 = $$69;$$701379 = $$691378; + label = 180; + continue L46; + } + break; + } + case 184: { + label = 0; + $703 = 1 << $$691272; + $704 = (($703) + -1)|0; + $705 = $704 & $$721381; + $706 = $$721381 >>> $$691272; + $707 = (($$72) - ($$691272))|0; + $708 = (($705) + ($$681165))|0; + $$651481 = $$641480;$$661673 = $$651672;$$681059 = $$671058;$$691166 = $708;$$701273 = $$691272;$$721579 = $$711578;$$73 = $707;$$731382 = $706; + label = 185; + break; + } + case 187: { + label = 0; + $714 = $$741383 & 1023; + $715 = (((($0)) + 3840|0) + ($714<<1)|0); + $716 = HEAP16[$715>>1]|0; + $717 = $716 << 16 >> 16; + $718 = ($716<<16>>16)>(-1); + if ($718) { + $719 = $717 >> 9; + $720 = (($719) + -1)|0; + $721 = ($720>>>0)<($$74>>>0); + if ($721) { + $$691485 = $$661482;$$701677 = $$671674;$$731170 = $$701167;$$761583 = $$731580;$$77 = $$74;$$771386 = $$741383; + label = 198; + continue L125; + } else { + label = 192; + break L125; + } + } + $722 = ($$74>>>0)>(10); + if ($722) { + $$0953 = 10;$$0956 = $717; + } else { + label = 192; + break L125; + } + while(1) { + $723 = $$0956 ^ -1; + $724 = $$741383 >>> $$0953; + $725 = $724 & 1; + $726 = (($725) + ($723))|0; + $727 = (((($0)) + 5888|0) + ($726<<1)|0); + $728 = HEAP16[$727>>1]|0; + $729 = ($728<<16>>16)<(0); + if (!($729)) { + $$691485 = $$661482;$$701677 = $$671674;$$731170 = $$701167;$$761583 = $$731580;$$77 = $$74;$$771386 = $$741383; + label = 198; + continue L125; + } + $730 = (($$0953) + 1)|0; + $731 = $728 << 16 >> 16; + $732 = (($$0953) + 2)|0; + $733 = ($$74>>>0)<($732>>>0); + if ($733) { + label = 192; + break L125; + } else { + $$0953 = $730;$$0956 = $731; + } + } + break; + } + case 198: { + label = 0; + $756 = $$771386 & 1023; + $757 = (((($0)) + 3840|0) + ($756<<1)|0); + $758 = HEAP16[$757>>1]|0; + $759 = $758 << 16 >> 16; + $760 = ($758<<16>>16)>(-1); + if ($760) { + $761 = $759 >> 9; + $762 = $759 & 511; + $$2955 = $761;$$2958 = $762; + } else { + $$1954 = 10;$$1957 = $759; + while(1) { + $763 = $$1957 ^ -1; + $764 = (($$1954) + 1)|0; + $765 = $$771386 >>> $$1954; + $766 = $765 & 1; + $767 = (($766) + ($763))|0; + $768 = (((($0)) + 5888|0) + ($767<<1)|0); + $769 = HEAP16[$768>>1]|0; + $770 = $769 << 16 >> 16; + $771 = ($769<<16>>16)<(0); + if ($771) { + $$1954 = $764;$$1957 = $770; + } else { + $$2955 = $764;$$2958 = $770; + break; + } + } + } + $772 = $$771386 >>> $$2955; + $773 = (($$77) - ($$2955))|0; + $774 = (3412 + ($$2958<<2)|0); + $775 = HEAP32[$774>>2]|0; + $776 = (3540 + ($$2958<<2)|0); + $777 = HEAP32[$776>>2]|0; + $778 = (($$2958) + -4)|0; + $779 = ($778>>>0)<(26); + if ($779) { + $780 = ($773>>>0)<($775>>>0); + if ($780) { + $$701486 = $$691485;$$711678 = $$701677;$$721063 = $777;$$741171 = $$731170;$$741277 = $775;$$771584 = $$761583;$$78 = $773;$$781387 = $772; + label = 203; + continue L125; + } else { + $$741681 = $$701677;$$751066 = $777;$$771174 = $$731170;$$771280 = $775;$$801587 = $$761583;$$81 = $773;$$811390 = $772; + label = 208; + continue L125; + } + } else { + $$751682 = $$701677;$$761067 = $777;$$781175 = $$731170;$$781281 = $775;$$811588 = $$761583;$$82 = $773;$$821391 = $772; + label = 209; + } + break; + } + case 203: { + label = 0; + $781 = ($$771584>>>0)<($10>>>0); + if ($781) { + $$721488$ph = $$701486;$$731680$ph = $$711678;$$741065$ph = $$721063;$$761173$ph = $$741171;$$761279$ph = $$741277;$$80$ph = $$78;$$801389$ph = $$781387;$$sink1746 = $$771584; + label = 206; + continue L46; + } else { + $$711487 = $$701486;$$721679 = $$711678;$$731064 = $$721063;$$751172 = $$741171;$$751278 = $$741277;$$781585 = $$771584;$$79 = $$78;$$791388 = $$781387; + label = 204; + continue L46; + } + break; + } + case 208: { + label = 0; + $791 = 1 << $$771280; + $792 = (($791) + -1)|0; + $793 = $792 & $$811390; + $794 = $$811390 >>> $$771280; + $795 = (($$81) - ($$771280))|0; + $796 = (($793) + ($$751066))|0; + $$751682 = $$741681;$$761067 = $796;$$781175 = $$771174;$$781281 = $$771280;$$811588 = $$801587;$$82 = $795;$$821391 = $794; + label = 209; + break; + } + case 212: { + label = 0; + $807 = (($$801177) + -1)|0; + $808 = ($$801177|0)==(0); + if ($808) { + $$531469 = $$741490;$$531660 = $$771684;$$561047 = $$781069;$$571154 = $807;$$571564 = $$831590;$$58 = $$84;$$581261 = $$801283;$$581367 = $$841393; + label = 139; + } else { + $$751491 = $$741490;$$781685 = $$771684;$$791070 = $$781069;$$811178 = $807;$$811284 = $$801283;$$841591 = $$831590;$$85 = $$84;$$851394 = $$841393; + label = 213; + continue L46; + } + break; + } + } + do { + if ((label|0) == 70) { + label = 0; + $217 = ((($0)) + 52|0); + $218 = HEAP32[$217>>2]|0; + $219 = ($$381135>>>0)<($218>>>0); + if ($219) { + $220 = ($$39>>>0)<(3); + if ($220) { + $$351451 = $$341450;$$351642 = $$341641;$$391030 = $$381029;$$391136 = $$381135;$$391546 = $$381545;$$40 = $$39;$$401243 = $$391242;$$401349 = $$391348; + label = 72; + continue L125; + } else { + $$381454 = $$341450;$$381645 = $$341641;$$421033 = $$381029;$$421139 = $$381135;$$421549 = $$381545;$$43 = $$39;$$431246 = $$391242;$$431352 = $$391348; + label = 77; + continue L125; + } + } else { + HEAP32[$217>>2] = 19; + $$391455 = $$341450;$$391646 = $$341641;$$431034 = $$381029;$$431140 = $$381135;$$431550 = $$381545;$$44 = $$39;$$441247 = $$391242;$$441353 = $$391348; + label = 80; + continue L125; + } + } + else if ((label|0) == 105) { + label = 0; + $418 = ((($0)) + 44|0); + $419 = HEAP32[$418>>2]|0; + $420 = ((($0)) + 48|0); + $421 = HEAP32[$420>>2]|0; + $422 = (($421) + ($419))|0; + $423 = ($$451142>>>0)<($422>>>0); + if (!($423)) { + $529 = ($422|0)==($$451142|0); + if (!($529)) { + $$511467 = $$411457;$$511658 = $$411648;$$541045 = $$451036;$$551152 = $$451142;$$551562 = $$451552;$$56 = $$46;$$561259 = $$461249;$$561365 = $$461355; + label = 136; + continue L46; + } + $530 = ((($0)) + 64|0); + $531 = ((($0)) + 10532|0); + _memcpy(($530|0),($531|0),($419|0))|0; + $532 = ((($0)) + 3552|0); + $533 = HEAP32[$418>>2]|0; + $534 = (((($0)) + 10532|0) + ($533)|0); + $535 = HEAP32[$420>>2]|0; + _memcpy(($532|0),($534|0),($535|0))|0; + $$521468 = $$411457;$$521659 = $$411648;$$551046 = $$451036;$$561153 = $$451142;$$561563 = $$451552;$$57 = $$46;$$571260 = $$461249;$$571366 = $$461355; + label = 138; + break; + } + $424 = ($$46>>>0)<(15); + if (!($424)) { + $$451461 = $$411457;$$451652 = $$411648;$$491146 = $$451142;$$491556 = $$451552;$$50 = $$46;$$501253 = $$461249;$$501359 = $$461355; + label = 119; + continue L125; + } + $425 = $10; + $426 = $$451552; + $427 = (($425) - ($426))|0; + $428 = ($427|0)<(2); + if ($428) { + $$421458 = $$411457;$$421649 = $$411648;$$461037 = $$451036;$$461143 = $$451142;$$461553 = $$451552;$$47 = $$46;$$471250 = $$461249;$$471356 = $$461355; + label = 108; + continue L125; + } + $459 = HEAP8[$$451552>>0]|0; + $460 = $459&255; + $461 = $460 << $$46; + $462 = ((($$451552)) + 1|0); + $463 = HEAP8[$462>>0]|0; + $464 = $463&255; + $465 = (($$46) + 8)|0; + $466 = $464 << $465; + $467 = $461 | $$461355; + $468 = $467 | $466; + $469 = ((($$451552)) + 2|0); + $470 = (($$46) + 16)|0; + $$451461 = $$411457;$$451652 = $$411648;$$491146 = $$451142;$$491556 = $469;$$50 = $470;$$501253 = $$461249;$$501359 = $468; + label = 119; + continue L125; + } + else if ((label|0) == 176) { + label = 0; + $683 = $$641161 & 511; + $684 = ($683|0)==(256); + if ($684) { + $$761492 = $$601476;$$801071 = $$631054;$$801687 = $$611668;$$821285 = $$651268;$$831180 = 256;$$851592 = $$671574;$$86 = $$68;$$861395 = $$681377; + label = 220; + break L125; + } + $685 = (($683) + -257)|0; + $686 = (3164 + ($685<<2)|0); + $687 = HEAP32[$686>>2]|0; + $688 = (3288 + ($685<<2)|0); + $689 = HEAP32[$688>>2]|0; + $690 = (($683) + -265)|0; + $691 = ($690>>>0)<(20); + if ($691) { + $692 = ($$68>>>0)<($687>>>0); + if ($692) { + $$611477 = $$601476;$$621669 = $$611668;$$641055 = $$631054;$$651162 = $689;$$661269 = $687;$$681575 = $$671574;$$69 = $$68;$$691378 = $$681377; + label = 179; + continue L125; + } else { + $$641480 = $$601476;$$651672 = $$611668;$$671058 = $$631054;$$681165 = $689;$$691272 = $687;$$711578 = $$671574;$$72 = $$68;$$721381 = $$681377; + label = 184; + continue L125; + } + } else { + $$651481 = $$601476;$$661673 = $$611668;$$681059 = $$631054;$$691166 = $689;$$701273 = $687;$$721579 = $$671574;$$73 = $$68;$$731382 = $$681377; + label = 185; + } + } + else if ((label|0) == 209) { + label = 0; + $797 = $$751682; + $798 = $3; + $799 = (($797) - ($798))|0; + $$not = ($799>>>0)>=($$761067>>>0); + $$not1747 = $14 ^ 1; + $brmerge = $$not | $$not1747; + if (!($brmerge)) { + $$731489 = $799;$$761683 = $$751682;$$771068 = $$761067;$$791176 = $$781175;$$791282 = $$781281;$$821589 = $$811588;$$83 = $$82;$$831392 = $$821391; + label = 210; + continue L46; + } + $800 = (($799) - ($$761067))|0; + $801 = $800 & $$1753; + $802 = (($3) + ($801)|0); + $803 = ($$751682>>>0)>($802>>>0); + $804 = $803 ? $$751682 : $802; + $805 = (($804) + ($$781175)|0); + $806 = ($805>>>0)>($12>>>0); + if ($806) { + $$741490 = $799;$$771684 = $$751682;$$781069 = $$761067;$$801177 = $$781175;$$801283 = $$781281;$$831590 = $$811588;$$84 = $$82;$$841393 = $$821391; + label = 212; + continue L125; + } else { + $$0978 = $802;$$791686 = $$751682;$$821179 = $$781175; + } + while(1) { + $816 = HEAP8[$$0978>>0]|0; + HEAP8[$$791686>>0] = $816; + $817 = ((($$0978)) + 1|0); + $818 = HEAP8[$817>>0]|0; + $819 = ((($$791686)) + 1|0); + HEAP8[$819>>0] = $818; + $820 = ((($$0978)) + 2|0); + $821 = HEAP8[$820>>0]|0; + $822 = ((($$791686)) + 2|0); + HEAP8[$822>>0] = $821; + $823 = ((($$791686)) + 3|0); + $824 = ((($$0978)) + 3|0); + $825 = (($$821179) + -3)|0; + $826 = ($825|0)>(2); + if ($826) { + $$0978 = $824;$$791686 = $823;$$821179 = $825; + } else { + break; + } + } + $827 = ($825|0)>(0); + if ($827) { + $828 = HEAP8[$824>>0]|0; + HEAP8[$823>>0] = $828; + $829 = ($825|0)==(1); + if (!($829)) { + $830 = ((($$0978)) + 4|0); + $831 = HEAP8[$830>>0]|0; + $832 = ((($$791686)) + 4|0); + HEAP8[$832>>0] = $831; + } + $833 = (($823) + ($825)|0); + $$531469 = $799;$$531660 = $833;$$561047 = $$761067;$$571154 = $825;$$571564 = $$811588;$$58 = $$82;$$581261 = $$781281;$$581367 = $$821391; + label = 139; + } else { + $$531469 = $799;$$531660 = $823;$$561047 = $$761067;$$571154 = $825;$$571564 = $$811588;$$58 = $$82;$$581261 = $$781281;$$581367 = $$821391; + label = 139; + } + } + } while(0); + if ((label|0) == 138) { + label = 0; + $536 = ((($0)) + 24|0); + $537 = HEAP32[$536>>2]|0; + $538 = (($537) + -1)|0; + HEAP32[$536>>2] = $538; + $$391455 = $$521468;$$391646 = $$521659;$$431034 = $$551046;$$431140 = $$561153;$$431550 = $$561563;$$44 = $$57;$$441247 = $$571260;$$441353 = $$571366; + label = 80; + continue; + } + else if ((label|0) == 139) { + label = 0; + $$541470$ph = $$531469;$$541661$ph = $$531660;$$571048$ph = $$561047;$$581155$ph = $$571154;$$581565$ph = $$571564;$$59$ph = $$58;$$591262$ph = $$581261;$$591368$ph = $$581367; + label = 140; + continue; + } + else if ((label|0) == 185) { + label = 0; + $709 = ($$73>>>0)<(15); + if (!($709)) { + $$691485 = $$651481;$$701677 = $$661673;$$731170 = $$691166;$$761583 = $$721579;$$77 = $$73;$$771386 = $$731382; + label = 198; + continue; + } + $710 = $10; + $711 = $$721579; + $712 = (($710) - ($711))|0; + $713 = ($712|0)<(2); + if ($713) { + $$661482 = $$651481;$$671674 = $$661673;$$691060 = $$681059;$$701167 = $$691166;$$711274 = $$701273;$$731580 = $$721579;$$74 = $$73;$$741383 = $$731382; + label = 187; + continue; + } + $744 = HEAP8[$$721579>>0]|0; + $745 = $744&255; + $746 = $745 << $$73; + $747 = ((($$721579)) + 1|0); + $748 = HEAP8[$747>>0]|0; + $749 = $748&255; + $750 = (($$73) + 8)|0; + $751 = $749 << $750; + $752 = $746 | $$731382; + $753 = $752 | $751; + $754 = ((($$721579)) + 2|0); + $755 = (($$73) + 16)|0; + $$691485 = $$651481;$$701677 = $$661673;$$731170 = $$691166;$$761583 = $754;$$77 = $755;$$771386 = $753; + label = 198; + continue; + } + } + if ((label|0) == 113) { + label = 0; + $449 = ($$461553>>>0)<($10>>>0); + if ($449) { + $$441460$ph = $$421458;$$441651$ph = $$421649;$$481039$ph = $$461037;$$481145$ph = $$461143;$$49$ph = $$47;$$491252$ph = $$471250;$$491358$ph = $$471356;$$sink1729 = $$461553; + label = 116; + continue; + } else { + $$431459 = $$421458;$$431650 = $$421649;$$471038 = $$461037;$$471144 = $$461143;$$471554 = $$461553;$$48 = $$47;$$481251 = $$471250;$$481357 = $$471356; + label = 114; + continue; + } + } + else if ((label|0) == 150) { + label = 0; + $569 = ($$591566>>>0)<($10>>>0); + if ($569) { + $$571473$ph = $$551471;$$571664$ph = $$551662;$$601051$ph = $$581049;$$611158$ph = $$591156;$$62$ph = $$60;$$621265$ph = $$601263;$$621371$ph = $$601369;$$sink1736 = $$591566; + label = 153; + continue; + } else { + $$561472 = $$551471;$$561663 = $$551662;$$591050 = $$581049;$$601157 = $$591156;$$601567 = $$591566;$$61 = $$60;$$611264 = $$601263;$$611370 = $$601369; + label = 151; + continue; + } + } + else if ((label|0) == 192) { + label = 0; + $734 = ($$731580>>>0)<($10>>>0); + if ($734) { + $$681484$ph = $$661482;$$691676$ph = $$671674;$$711062$ph = $$691060;$$721169$ph = $$701167;$$731276$ph = $$711274;$$76$ph = $$74;$$761385$ph = $$741383;$$sink1743 = $$731580; + label = 195; + continue; + } else { + $$671483 = $$661482;$$681675 = $$671674;$$701061 = $$691060;$$711168 = $$701167;$$721275 = $$711274;$$741581 = $$731580;$$75 = $$74;$$751384 = $$741383; + label = 193; + continue; + } + } + else if ((label|0) == 220) { + label = 0; + $834 = ((($0)) + 20|0); + $835 = HEAP32[$834>>2]|0; + $836 = $835 & 1; + $837 = ($836|0)==(0); + if ($837) { + $$01416 = $$761492;$$01607 = $$801687;$$41511 = $$851592;$$5 = $$86;$$51102 = $$831180;$$51208 = $$821285;$$51314 = $$861395;$$5996 = $$801071; + label = 14; + continue; + } + $838 = $6 & 1; + $839 = ($838|0)==(0); + if ($839) { + $$881504 = $$761492;$$921083 = $$801071;$$921699 = $$801687;$$941191 = $$831180;$$941297 = $$821285;$$971604 = $$851592;$$98 = $$86;$$981407 = $$861395; + label = 242; + continue; + } else { + $$801496 = $$761492;$$841075 = $$801071;$$841691 = $$801687;$$861289 = $$821285;$$891596 = $$851592;$$90 = $$86;$$901399 = $$861395; + label = 226; + continue; + } + } + } + if ((label|0) == 258) { + STACKTOP = sp;return ($$0951|0); + } + $892 = ((($0)) + 28|0); + $893 = HEAP32[$892>>2]|0; + $894 = $893 & 65535; + $895 = $893 >>> 16; + $896 = ($888|0)==(0); + if ($896) { + $$0937$lcssa = $895;$$0938$lcssa = $894; + } else { + $897 = (($888>>>0) % 5552)&-1; + $$01834 = $897;$$09371833 = $895;$$09381832 = $894;$$09431831 = $888;$$09441830 = $4; + while(1) { + $898 = ($$01834>>>0)>(7); + if ($898) { + $899 = (($$01834) + -8)|0; + $900 = $899 & -8; + $scevgep = ((($$09441830)) + 8|0); + $$09411816 = 0;$$11818 = $$09371833;$$19391817 = $$09381832;$$19451815 = $$09441830; + while(1) { + $904 = HEAP8[$$19451815>>0]|0; + $905 = $904&255; + $906 = (($905) + ($$19391817))|0; + $907 = (($906) + ($$11818))|0; + $908 = ((($$19451815)) + 1|0); + $909 = HEAP8[$908>>0]|0; + $910 = $909&255; + $911 = (($906) + ($910))|0; + $912 = (($907) + ($911))|0; + $913 = ((($$19451815)) + 2|0); + $914 = HEAP8[$913>>0]|0; + $915 = $914&255; + $916 = (($911) + ($915))|0; + $917 = (($912) + ($916))|0; + $918 = ((($$19451815)) + 3|0); + $919 = HEAP8[$918>>0]|0; + $920 = $919&255; + $921 = (($916) + ($920))|0; + $922 = (($917) + ($921))|0; + $923 = ((($$19451815)) + 4|0); + $924 = HEAP8[$923>>0]|0; + $925 = $924&255; + $926 = (($921) + ($925))|0; + $927 = (($922) + ($926))|0; + $928 = ((($$19451815)) + 5|0); + $929 = HEAP8[$928>>0]|0; + $930 = $929&255; + $931 = (($926) + ($930))|0; + $932 = (($927) + ($931))|0; + $933 = ((($$19451815)) + 6|0); + $934 = HEAP8[$933>>0]|0; + $935 = $934&255; + $936 = (($931) + ($935))|0; + $937 = (($932) + ($936))|0; + $938 = ((($$19451815)) + 7|0); + $939 = HEAP8[$938>>0]|0; + $940 = $939&255; + $941 = (($936) + ($940))|0; + $942 = (($937) + ($941))|0; + $943 = (($$09411816) + 8)|0; + $944 = ((($$19451815)) + 8|0); + $945 = $943 | 7; + $946 = ($945>>>0)<($$01834>>>0); + if ($946) { + $$09411816 = $943;$$11818 = $942;$$19391817 = $941;$$19451815 = $944; + } else { + break; + } + } + $901 = (($900) + 8)|0; + $scevgep1947 = (($scevgep) + ($900)|0); + $$0941$lcssa = $901;$$1$lcssa = $942;$$1939$lcssa = $941;$$1945$lcssa = $scevgep1947; + } else { + $$0941$lcssa = 0;$$1$lcssa = $$09371833;$$1939$lcssa = $$09381832;$$1945$lcssa = $$09441830; + } + $902 = ($$01834>>>0)>($$0941$lcssa>>>0); + if ($902) { + $903 = (($$01834) - ($$0941$lcssa))|0; + $$19421823 = $$0941$lcssa;$$21825 = $$1$lcssa;$$29401824 = $$1939$lcssa;$$29461822 = $$1945$lcssa; + while(1) { + $947 = ((($$29461822)) + 1|0); + $948 = HEAP8[$$29461822>>0]|0; + $949 = $948&255; + $950 = (($949) + ($$29401824))|0; + $951 = (($950) + ($$21825))|0; + $952 = (($$19421823) + 1)|0; + $exitcond = ($952|0)==($$01834|0); + if ($exitcond) { + break; + } else { + $$19421823 = $952;$$21825 = $951;$$29401824 = $950;$$29461822 = $947; + } + } + $scevgep1948 = (($$1945$lcssa) + ($903)|0); + $$2$lcssa = $951;$$2940$lcssa = $950;$$2946$lcssa = $scevgep1948; + } else { + $$2$lcssa = $$1$lcssa;$$2940$lcssa = $$1939$lcssa;$$2946$lcssa = $$1945$lcssa; + } + $953 = (($$2940$lcssa>>>0) % 65521)&-1; + $954 = (($$2$lcssa>>>0) % 65521)&-1; + $955 = (($$09431831) - ($$01834))|0; + $956 = ($955|0)==(0); + if ($956) { + $$0937$lcssa = $954;$$0938$lcssa = $953; + break; + } else { + $$01834 = 5552;$$09371833 = $954;$$09381832 = $953;$$09431831 = $955;$$09441830 = $$2946$lcssa; + } + } + } + $957 = $$0937$lcssa << 16; + $958 = $957 | $$0938$lcssa; + HEAP32[$892>>2] = $958; + $959 = ($$1961|0)!=(0); + $960 = $6 & 1; + $961 = ($960|0)==(0); + $or$cond1752 = $961 | $959; + if ($or$cond1752) { + $$0951 = $$1961; + STACKTOP = sp;return ($$0951|0); + } else { + $962 = ((($0)) + 16|0); + $963 = HEAP32[$962>>2]|0; + $964 = ($958|0)==($963|0); + $$1961$ = $964 ? $$1961 : -2; + STACKTOP = sp;return ($$1961$|0); + } + return (0)|0; +} +function _LoadTexture($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$byval_copy1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $$byval_copy1 = sp + 44|0; + $vararg_buffer = sp; + $2 = sp + 24|0; + $3 = sp + 4|0; + ;HEAP32[$2>>2]=0|0;HEAP32[$2+4>>2]=0|0;HEAP32[$2+8>>2]=0|0;HEAP32[$2+12>>2]=0|0;HEAP32[$2+16>>2]=0|0; + _LoadImage($3,$1); + $4 = HEAP32[$3>>2]|0; + $5 = ($4|0)==(0|0); + if ($5) { + _TraceLog(1,14449,$vararg_buffer); + ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$2+16>>2]|0; + STACKTOP = sp;return; + } else { + ;HEAP32[$$byval_copy1>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$3+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$3+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$3+16>>2]|0; + _LoadTextureFromImage($2,$$byval_copy1); + ;HEAP32[$$byval_copy1>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$3+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$3+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$3+16>>2]|0; + _UnloadImage($$byval_copy1); + ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$2+16>>2]|0; + STACKTOP = sp;return; + } +} +function _ImageAlphaMask($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $$031 = 0, $$032 = 0, $$033 = 0, $$byval_copy3 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; + var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; + var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, label = 0; + var sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $$byval_copy3 = sp + 32|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $2 = sp + 12|0; + $3 = ((($0)) + 4|0); + $4 = HEAP32[$3>>2]|0; + $5 = ((($1)) + 4|0); + $6 = HEAP32[$5>>2]|0; + $7 = ($4|0)==($6|0); + if ($7) { + $8 = ((($0)) + 8|0); + $9 = HEAP32[$8>>2]|0; + $10 = ((($1)) + 8|0); + $11 = HEAP32[$10>>2]|0; + $12 = ($9|0)==($11|0); + if ($12) { + $13 = ((($0)) + 16|0); + $14 = HEAP32[$13>>2]|0; + $15 = ($14|0)>(7); + if ($15) { + _TraceLog(1,14516,$vararg_buffer1); + STACKTOP = sp;return; + } + ;HEAP32[$$byval_copy3>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$$byval_copy3+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[$$byval_copy3+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[$$byval_copy3+16>>2]=HEAP32[$1+16>>2]|0; + _ImageCopy($2,$$byval_copy3); + $16 = ((($2)) + 16|0); + $17 = HEAP32[$16>>2]|0; + $18 = ($17|0)==(1); + if (!($18)) { + _ImageFormat($2,1); + } + $19 = HEAP32[$13>>2]|0; + L11: do { + switch ($19|0) { + case 1: { + _ImageFormat($0,2); + $20 = ((($2)) + 4|0); + $21 = HEAP32[$20>>2]|0; + $22 = ((($2)) + 8|0); + $23 = HEAP32[$22>>2]|0; + $24 = Math_imul($23, $21)|0; + $25 = HEAP32[$2>>2]|0; + $$032 = 1;$$033 = 0; + while(1) { + $26 = ($$033|0)<($24|0); + if (!($26)) { + $27 = HEAP32[$3>>2]|0; + $28 = HEAP32[$8>>2]|0; + $29 = Math_imul($28, $27)|0; + $30 = ($$033|0)<($29|0); + if (!($30)) { + break L11; + } + } + $31 = (($25) + ($$033)|0); + $32 = HEAP8[$31>>0]|0; + $33 = HEAP32[$0>>2]|0; + $34 = (($33) + ($$032)|0); + HEAP8[$34>>0] = $32; + $35 = (($$033) + 1)|0; + $36 = (($$032) + 2)|0; + $$032 = $36;$$033 = $35; + } + break; + } + case 7: { + label = 14; + break; + } + default: { + _ImageFormat($0,7); + label = 14; + } + } + } while(0); + L19: do { + if ((label|0) == 14) { + $37 = ((($2)) + 4|0); + $38 = HEAP32[$37>>2]|0; + $39 = ((($2)) + 8|0); + $40 = HEAP32[$39>>2]|0; + $41 = Math_imul($40, $38)|0; + $42 = HEAP32[$2>>2]|0; + $$0 = 3;$$031 = 0; + while(1) { + $43 = ($$031|0)<($41|0); + if (!($43)) { + $44 = HEAP32[$3>>2]|0; + $45 = HEAP32[$8>>2]|0; + $46 = Math_imul($45, $44)|0; + $47 = ($$031|0)<($46|0); + if (!($47)) { + break L19; + } + } + $48 = (($42) + ($$031)|0); + $49 = HEAP8[$48>>0]|0; + $50 = HEAP32[$0>>2]|0; + $51 = (($50) + ($$0)|0); + HEAP8[$51>>0] = $49; + $52 = (($$031) + 1)|0; + $53 = (($$0) + 4)|0; + $$0 = $53;$$031 = $52; + } + } + } while(0); + ;HEAP32[$$byval_copy3>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$$byval_copy3+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$$byval_copy3+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$$byval_copy3+16>>2]=HEAP32[$2+16>>2]|0; + _UnloadImage($$byval_copy3); + STACKTOP = sp;return; + } + } + _TraceLog(1,14478,$vararg_buffer); + STACKTOP = sp;return; +} +function _GetDefaultFont($0) { + $0 = $0|0; + var label = 0, sp = 0; + sp = STACKTOP; + ;HEAP32[$0>>2]=HEAP32[335280>>2]|0;HEAP32[$0+4>>2]=HEAP32[335280+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[335280+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[335280+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[335280+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[335280+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[335280+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[335280+28>>2]|0; + return; +} +function _MeasureTextEx($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = +$3; + $4 = $4|0; + var $$0$lcssa = 0, $$05064 = 0, $$052$lcssa = 0.0, $$05263 = 0.0, $$05462 = 0, $$055$lcssa = 0.0, $$05561 = 0.0, $$058$lcssa = 0.0, $$05860 = 0.0, $$065 = 0, $$151 = 0, $$151$$0 = 0, $$153 = 0.0, $$156 = 0.0, $$159 = 0.0, $$2 = 0.0, $$257 = 0.0, $$3 = 0.0, $$byval_copy = 0, $$pn = 0.0; + var $$pn$in = 0, $$sroa$4$0$$sroa_idx2 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0.0, $14 = 0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; + var $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0.0, $36 = 0.0, $37 = 0.0, $38 = 0, $39 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0.0, $exitcond = 0, $phitmp = 0, label = 0; + var sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $$byval_copy = sp; + $5 = (_strlen($2)|0); + $6 = ((($1)) + 20|0); + $7 = HEAP32[$6>>2]|0; + $8 = (+($7|0)); + $9 = $3 / $8; + $10 = ($5|0)>(0); + if (!($10)) { + $$0$lcssa = -1;$$052$lcssa = 0.0;$$055$lcssa = 0.0;$$058$lcssa = $8; + $12 = $$055$lcssa < $$052$lcssa; + $$3 = $12 ? $$052$lcssa : $$055$lcssa; + $13 = $9 * $$3; + $14 = Math_imul($$0$lcssa, $4)|0; + $15 = (+($14|0)); + $16 = $13 + $15; + $17 = $9 * $$058$lcssa; + HEAPF32[$0>>2] = $16; + $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); + HEAPF32[$$sroa$4$0$$sroa_idx2>>2] = $17; + STACKTOP = sp;return; + } + $11 = ((($1)) + 28|0); + $$05064 = 0;$$05263 = 0.0;$$05462 = 0;$$05561 = 0.0;$$05860 = $8;$$065 = 0; + while(1) { + $18 = (($$05064) + 1)|0; + $19 = (($2) + ($$05462)|0); + $20 = HEAP8[$19>>0]|0; + $21 = ($20<<24>>24)==(10); + if ($21) { + $33 = $$05561 < $$05263; + $$156 = $33 ? $$05263 : $$05561; + $34 = HEAP32[$6>>2]|0; + $35 = (+($34|0)); + $36 = $35 * 1.5; + $37 = $$05860 + $36; + $$151 = 0;$$159 = $37;$$2 = 0.0;$$257 = $$156; + } else { + $22 = $20 << 24 >> 24; + ;HEAP32[$$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$1+16>>2]|0;HEAP32[$$byval_copy+20>>2]=HEAP32[$1+20>>2]|0;HEAP32[$$byval_copy+24>>2]=HEAP32[$1+24>>2]|0;HEAP32[$$byval_copy+28>>2]=HEAP32[$1+28>>2]|0; + $23 = (_GetCharIndex($$byval_copy,$22)|0); + $24 = HEAP32[$11>>2]|0; + $25 = (((($24) + ($23<<5)|0)) + 28|0); + $26 = HEAP32[$25>>2]|0; + $27 = ($26|0)==(0); + if ($27) { + $28 = (((($24) + ($23<<5)|0)) + 20|0); + $29 = (((($24) + ($23<<5)|0)) + 12|0); + $30 = HEAP32[$29>>2]|0; + $31 = HEAP32[$28>>2]|0; + $32 = (($31) + ($30))|0; + $$pn$in = $32; + } else { + $$pn$in = $26; + } + $$pn = (+($$pn$in|0)); + $$153 = $$05263 + $$pn; + $$151 = $18;$$159 = $$05860;$$2 = $$153;$$257 = $$05561; + } + $38 = ($$065|0)<($$151|0); + $$151$$0 = $38 ? $$151 : $$065; + $39 = (($$05462) + 1)|0; + $exitcond = ($39|0)==($5|0); + if ($exitcond) { + break; + } else { + $$05064 = $$151;$$05263 = $$2;$$05462 = $39;$$05561 = $$257;$$05860 = $$159;$$065 = $$151$$0; + } + } + $phitmp = (($$151$$0) + -1)|0; + $$0$lcssa = $phitmp;$$052$lcssa = $$2;$$055$lcssa = $$257;$$058$lcssa = $$159; + $12 = $$055$lcssa < $$052$lcssa; + $$3 = $12 ? $$052$lcssa : $$055$lcssa; + $13 = $9 * $$3; + $14 = Math_imul($$0$lcssa, $4)|0; + $15 = (+($14|0)); + $16 = $13 + $15; + $17 = $9 * $$058$lcssa; + HEAPF32[$0>>2] = $16; + $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); + HEAPF32[$$sroa$4$0$$sroa_idx2>>2] = $17; + STACKTOP = sp;return; +} +function _GetCharIndex($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$08 = 0, $$09 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($0)) + 24|0); + $3 = HEAP32[$2>>2]|0; + $4 = ($3|0)>(0); + if (!($4)) { + $$08 = 0; + return ($$08|0); + } + $5 = ((($0)) + 28|0); + $6 = HEAP32[$5>>2]|0; + $$09 = 0; + while(1) { + $7 = (($6) + ($$09<<5)|0); + $8 = HEAP32[$7>>2]|0; + $9 = ($8|0)==($1|0); + if ($9) { + $$08 = $$09; + label = 5; + break; + } + $10 = (($$09) + 1)|0; + $11 = HEAP32[$2>>2]|0; + $12 = ($10|0)<($11|0); + if ($12) { + $$09 = $10; + } else { + $$08 = 0; + label = 5; + break; + } + } + if ((label|0) == 5) { + return ($$08|0); + } + return (0)|0; +} +function _SetTextureFilter($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $vararg_buffer = sp; + switch ($1|0) { + case 0: { + $2 = ((($0)) + 12|0); + $3 = HEAP32[$2>>2]|0; + $4 = ($3|0)>(1); + $5 = HEAP32[$0>>2]|0; + if ($4) { + _rlTextureParameters($5,10241,9984); + $6 = HEAP32[$0>>2]|0; + _rlTextureParameters($6,10240,9728); + STACKTOP = sp;return; + } else { + _rlTextureParameters($5,10241,9728); + $7 = HEAP32[$0>>2]|0; + _rlTextureParameters($7,10240,9728); + STACKTOP = sp;return; + } + break; + } + case 1: { + $8 = ((($0)) + 12|0); + $9 = HEAP32[$8>>2]|0; + $10 = ($9|0)>(1); + $11 = HEAP32[$0>>2]|0; + if ($10) { + _rlTextureParameters($11,10241,9985); + $12 = HEAP32[$0>>2]|0; + _rlTextureParameters($12,10240,9729); + STACKTOP = sp;return; + } else { + _rlTextureParameters($11,10241,9729); + $13 = HEAP32[$0>>2]|0; + _rlTextureParameters($13,10240,9729); + STACKTOP = sp;return; + } + break; + } + case 2: { + $14 = ((($0)) + 12|0); + $15 = HEAP32[$14>>2]|0; + $16 = ($15|0)>(1); + $17 = HEAP32[$0>>2]|0; + if ($16) { + _rlTextureParameters($17,10241,9987); + $18 = HEAP32[$0>>2]|0; + _rlTextureParameters($18,10240,9729); + STACKTOP = sp;return; + } else { + HEAP32[$vararg_buffer>>2] = $17; + _TraceLog(1,14573,$vararg_buffer); + $19 = HEAP32[$0>>2]|0; + _rlTextureParameters($19,10241,9729); + _rlTextureParameters($19,10240,9729); + STACKTOP = sp;return; + } + break; + } + case 3: { + $20 = HEAP32[$0>>2]|0; + _rlTextureParameters($20,12288,4); + STACKTOP = sp;return; + break; + } + case 4: { + $21 = HEAP32[$0>>2]|0; + _rlTextureParameters($21,12288,8); + STACKTOP = sp;return; + break; + } + case 5: { + $22 = HEAP32[$0>>2]|0; + _rlTextureParameters($22,12288,16); + STACKTOP = sp;return; + break; + } + default: { + STACKTOP = sp;return; + } + } +} +function _DrawTexturePro($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = +$4; + $5 = $5|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0.0, $22 = 0, $23 = 0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0, $28 = 0.0, $29 = 0.0; + var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0.0, $39 = 0, $40 = 0, $41 = 0.0, $42 = 0.0, $43 = 0, $44 = 0, $45 = 0.0, $46 = 0, $47 = 0, $48 = 0.0, $49 = 0.0; + var $50 = 0, $51 = 0.0, $52 = 0, $53 = 0.0, $54 = 0.0, $55 = 0, $56 = 0, $57 = 0, $58 = 0.0, $59 = 0, $6 = 0, $60 = 0.0, $61 = 0.0, $62 = 0, $63 = 0, $64 = 0.0, $65 = 0, $66 = 0, $67 = 0, $68 = 0.0; + var $69 = 0, $7 = 0, $70 = 0.0, $71 = 0.0, $72 = 0, $73 = 0, $74 = 0, $75 = 0.0, $76 = 0, $77 = 0.0, $78 = 0.0, $79 = 0, $8 = 0, $80 = 0, $81 = 0.0, $82 = 0, $83 = 0.0, $84 = 0, $85 = 0, $86 = 0; + var $87 = 0.0, $88 = 0, $89 = 0.0, $9 = 0, $90 = 0.0, $91 = 0, $92 = 0.0, $93 = 0, $94 = 0.0, $95 = 0.0, $96 = 0, $97 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $6 = HEAP32[$0>>2]|0; + $7 = ($6|0)==(0); + if ($7) { + return; + } + $8 = ((($1)) + 8|0); + $9 = HEAP32[$8>>2]|0; + $10 = ($9|0)<(0); + if ($10) { + $11 = HEAP32[$1>>2]|0; + $12 = (($11) - ($9))|0; + HEAP32[$1>>2] = $12; + } + $13 = ((($1)) + 12|0); + $14 = HEAP32[$13>>2]|0; + $15 = ($14|0)<(0); + if ($15) { + $16 = ((($1)) + 4|0); + $17 = HEAP32[$16>>2]|0; + $18 = (($17) - ($14))|0; + HEAP32[$16>>2] = $18; + } + $19 = HEAP32[$0>>2]|0; + _rlEnableTexture($19); + _rlPushMatrix(); + $20 = HEAP32[$2>>2]|0; + $21 = (+($20|0)); + $22 = ((($2)) + 4|0); + $23 = HEAP32[$22>>2]|0; + $24 = (+($23|0)); + _rlTranslatef($21,$24,0.0); + _rlRotatef($4,0.0,0.0,1.0); + $25 = +HEAPF32[$3>>2]; + $26 = -$25; + $27 = ((($3)) + 4|0); + $28 = +HEAPF32[$27>>2]; + $29 = -$28; + _rlTranslatef($26,$29,0.0); + _rlBegin(7); + $30 = HEAP8[$5>>0]|0; + $31 = ((($5)) + 1|0); + $32 = HEAP8[$31>>0]|0; + $33 = ((($5)) + 2|0); + $34 = HEAP8[$33>>0]|0; + $35 = ((($5)) + 3|0); + $36 = HEAP8[$35>>0]|0; + _rlColor4ub($30,$32,$34,$36); + $37 = HEAP32[$1>>2]|0; + $38 = (+($37|0)); + $39 = ((($0)) + 4|0); + $40 = HEAP32[$39>>2]|0; + $41 = (+($40|0)); + $42 = $38 / $41; + $43 = ((($1)) + 4|0); + $44 = HEAP32[$43>>2]|0; + $45 = (+($44|0)); + $46 = ((($0)) + 8|0); + $47 = HEAP32[$46>>2]|0; + $48 = (+($47|0)); + $49 = $45 / $48; + _rlTexCoord2f($42,$49); + _rlVertex2f(0.0,0.0); + $50 = HEAP32[$1>>2]|0; + $51 = (+($50|0)); + $52 = HEAP32[$39>>2]|0; + $53 = (+($52|0)); + $54 = $51 / $53; + $55 = HEAP32[$43>>2]|0; + $56 = HEAP32[$13>>2]|0; + $57 = (($56) + ($55))|0; + $58 = (+($57|0)); + $59 = HEAP32[$46>>2]|0; + $60 = (+($59|0)); + $61 = $58 / $60; + _rlTexCoord2f($54,$61); + $62 = ((($2)) + 12|0); + $63 = HEAP32[$62>>2]|0; + $64 = (+($63|0)); + _rlVertex2f(0.0,$64); + $65 = HEAP32[$1>>2]|0; + $66 = HEAP32[$8>>2]|0; + $67 = (($66) + ($65))|0; + $68 = (+($67|0)); + $69 = HEAP32[$39>>2]|0; + $70 = (+($69|0)); + $71 = $68 / $70; + $72 = HEAP32[$43>>2]|0; + $73 = HEAP32[$13>>2]|0; + $74 = (($73) + ($72))|0; + $75 = (+($74|0)); + $76 = HEAP32[$46>>2]|0; + $77 = (+($76|0)); + $78 = $75 / $77; + _rlTexCoord2f($71,$78); + $79 = ((($2)) + 8|0); + $80 = HEAP32[$79>>2]|0; + $81 = (+($80|0)); + $82 = HEAP32[$62>>2]|0; + $83 = (+($82|0)); + _rlVertex2f($81,$83); + $84 = HEAP32[$1>>2]|0; + $85 = HEAP32[$8>>2]|0; + $86 = (($85) + ($84))|0; + $87 = (+($86|0)); + $88 = HEAP32[$39>>2]|0; + $89 = (+($88|0)); + $90 = $87 / $89; + $91 = HEAP32[$43>>2]|0; + $92 = (+($91|0)); + $93 = HEAP32[$46>>2]|0; + $94 = (+($93|0)); + $95 = $92 / $94; + _rlTexCoord2f($90,$95); + $96 = HEAP32[$79>>2]|0; + $97 = (+($96|0)); + _rlVertex2f($97,0.0); + _rlEnd(); + _rlPopMatrix(); + _rlDisableTexture(); + return; +} +function _DrawTextureRec($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $$byval_copy3 = 0, $10 = 0.0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $4 = 0, $5 = 0; + var $6 = 0.0, $7 = 0, $8 = 0, $9 = 0, $ispos = 0, $ispos1 = 0, $neg = 0, $neg2 = 0, $tmpcast$byval_copy = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0); + $$byval_copy3 = sp + 88|0; + $tmpcast$byval_copy = sp + 80|0; + $$byval_copy2 = sp + 64|0; + $$byval_copy1 = sp + 48|0; + $$byval_copy = sp + 24|0; + $4 = sp + 8|0; + $5 = sp; + $6 = +HEAPF32[$2>>2]; + $7 = (~~(($6))); + HEAP32[$4>>2] = $7; + $8 = ((($4)) + 4|0); + $9 = ((($2)) + 4|0); + $10 = +HEAPF32[$9>>2]; + $11 = (~~(($10))); + HEAP32[$8>>2] = $11; + $12 = ((($4)) + 8|0); + $13 = ((($1)) + 8|0); + $14 = HEAP32[$13>>2]|0; + $ispos = ($14|0)>(-1); + $neg = (0 - ($14))|0; + $15 = $ispos ? $14 : $neg; + HEAP32[$12>>2] = $15; + $16 = ((($4)) + 12|0); + $17 = ((($1)) + 12|0); + $18 = HEAP32[$17>>2]|0; + $ispos1 = ($18|0)>(-1); + $neg2 = (0 - ($18))|0; + $19 = $ispos1 ? $18 : $neg2; + HEAP32[$16>>2] = $19; + $20 = $5; + $21 = $20; + HEAP32[$21>>2] = 0; + $22 = (($20) + 4)|0; + $23 = $22; + HEAP32[$23>>2] = 0; + ;HEAP32[$$byval_copy>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$0+16>>2]|0; + ;HEAP32[$$byval_copy1>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$1+12>>2]|0; + ;HEAP32[$$byval_copy2>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$4+4>>2]|0;HEAP32[$$byval_copy2+8>>2]=HEAP32[$4+8>>2]|0;HEAP32[$$byval_copy2+12>>2]=HEAP32[$4+12>>2]|0; + ;HEAP32[$tmpcast$byval_copy>>2]=HEAP32[$5>>2]|0;HEAP32[$tmpcast$byval_copy+4>>2]=HEAP32[$5+4>>2]|0; + ;HEAP8[$$byval_copy3>>0]=HEAP8[$3>>0]|0;HEAP8[$$byval_copy3+1>>0]=HEAP8[$3+1>>0]|0;HEAP8[$$byval_copy3+2>>0]=HEAP8[$3+2>>0]|0;HEAP8[$$byval_copy3+3>>0]=HEAP8[$3+3>>0]|0; + _DrawTexturePro($$byval_copy,$$byval_copy1,$$byval_copy2,$tmpcast$byval_copy,0.0,$$byval_copy3); + STACKTOP = sp;return; +} +function _LoadSpriteFont($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$byval_copy2 = 0, $$byval_copy5 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0); + $$byval_copy5 = sp + 232|0; + $$byval_copy2 = sp + 212|0; + $vararg_buffer = sp; + $2 = sp + 96|0; + $3 = sp + 192|0; + $4 = sp + 160|0; + $5 = sp + 128|0; + $6 = sp + 40|0; + $7 = sp + 252|0; + $8 = sp + 64|0; + $9 = sp + 8|0; + ;HEAP32[$2>>2]=0|0;HEAP32[$2+4>>2]=0|0;HEAP32[$2+8>>2]=0|0;HEAP32[$2+12>>2]=0|0;HEAP32[$2+16>>2]=0|0;HEAP32[$2+20>>2]=0|0;HEAP32[$2+24>>2]=0|0;HEAP32[$2+28>>2]=0|0; + $10 = (_IsFileExtension($1,17189)|0); + $11 = ($10|0)==(0); + do { + if ($11) { + $35 = (_IsFileExtension($1,14638)|0); + $36 = ($35|0)==(0); + if (!($36)) { + _LoadSpriteFontEx($4,$1,32,0,0); + ;HEAP32[$2>>2]=HEAP32[$4>>2]|0;HEAP32[$2+4>>2]=HEAP32[$4+4>>2]|0;HEAP32[$2+8>>2]=HEAP32[$4+8>>2]|0;HEAP32[$2+12>>2]=HEAP32[$4+12>>2]|0;HEAP32[$2+16>>2]=HEAP32[$4+16>>2]|0;HEAP32[$2+20>>2]=HEAP32[$4+20>>2]|0;HEAP32[$2+24>>2]=HEAP32[$4+24>>2]|0;HEAP32[$2+28>>2]=HEAP32[$4+28>>2]|0; + break; + } + $37 = (_IsFileExtension($1,14643)|0); + $38 = ($37|0)==(0); + if (!($38)) { + _LoadBMFont($5,$1); + ;HEAP32[$2>>2]=HEAP32[$5>>2]|0;HEAP32[$2+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$2+8>>2]=HEAP32[$5+8>>2]|0;HEAP32[$2+12>>2]=HEAP32[$5+12>>2]|0;HEAP32[$2+16>>2]=HEAP32[$5+16>>2]|0;HEAP32[$2+20>>2]=HEAP32[$5+20>>2]|0;HEAP32[$2+24>>2]=HEAP32[$5+24>>2]|0;HEAP32[$2+28>>2]=HEAP32[$5+28>>2]|0; + break; + } + _LoadImage($6,$1); + $39 = HEAP32[$6>>2]|0; + $40 = ($39|0)==(0|0); + if (!($40)) { + HEAP8[$7>>0] = -1; + $41 = ((($7)) + 1|0); + HEAP8[$41>>0] = 0; + $42 = ((($7)) + 2|0); + HEAP8[$42>>0] = -1; + $43 = ((($7)) + 3|0); + HEAP8[$43>>0] = -1; + ;HEAP32[$$byval_copy2>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$6+4>>2]|0;HEAP32[$$byval_copy2+8>>2]=HEAP32[$6+8>>2]|0;HEAP32[$$byval_copy2+12>>2]=HEAP32[$6+12>>2]|0;HEAP32[$$byval_copy2+16>>2]=HEAP32[$6+16>>2]|0; + ;HEAP8[$$byval_copy5>>0]=HEAP8[$7>>0]|0;HEAP8[$$byval_copy5+1>>0]=HEAP8[$7+1>>0]|0;HEAP8[$$byval_copy5+2>>0]=HEAP8[$7+2>>0]|0;HEAP8[$$byval_copy5+3>>0]=HEAP8[$7+3>>0]|0; + _LoadImageFont($8,$$byval_copy2,$$byval_copy5); + ;HEAP32[$2>>2]=HEAP32[$8>>2]|0;HEAP32[$2+4>>2]=HEAP32[$8+4>>2]|0;HEAP32[$2+8>>2]=HEAP32[$8+8>>2]|0;HEAP32[$2+12>>2]=HEAP32[$8+12>>2]|0;HEAP32[$2+16>>2]=HEAP32[$8+16>>2]|0;HEAP32[$2+20>>2]=HEAP32[$8+20>>2]|0;HEAP32[$2+24>>2]=HEAP32[$8+24>>2]|0;HEAP32[$2+28>>2]=HEAP32[$8+28>>2]|0; + } + ;HEAP32[$$byval_copy5>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$6+4>>2]|0;HEAP32[$$byval_copy5+8>>2]=HEAP32[$6+8>>2]|0;HEAP32[$$byval_copy5+12>>2]=HEAP32[$6+12>>2]|0;HEAP32[$$byval_copy5+16>>2]=HEAP32[$6+16>>2]|0; + _UnloadImage($$byval_copy5); + } else { + $12 = (_LoadResource($1,0)|0); + $13 = HEAP32[$12>>2]|0; + $14 = ($13|0)==(5); + if ($14) { + $15 = ((($12)) + 20|0); + $16 = HEAP32[$15>>2]|0; + $17 = ((($12)) + 4|0); + $18 = HEAP32[$17>>2]|0; + $19 = ((($12)) + 8|0); + $20 = HEAP32[$19>>2]|0; + $21 = ((($12)) + 12|0); + $22 = HEAP32[$21>>2]|0; + _LoadImagePro($$byval_copy2,$16,$18,$20,$22); + ;HEAP32[$$byval_copy5>>2]=HEAP32[$$byval_copy2>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$$byval_copy2+4>>2]|0;HEAP32[$$byval_copy5+8>>2]=HEAP32[$$byval_copy2+8>>2]|0;HEAP32[$$byval_copy5+12>>2]=HEAP32[$$byval_copy2+12>>2]|0;HEAP32[$$byval_copy5+16>>2]=HEAP32[$$byval_copy2+16>>2]|0; + _LoadTextureFromImage($3,$$byval_copy5); + ;HEAP32[$2>>2]=HEAP32[$3>>2]|0;HEAP32[$2+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$2+8>>2]=HEAP32[$3+8>>2]|0;HEAP32[$2+12>>2]=HEAP32[$3+12>>2]|0;HEAP32[$2+16>>2]=HEAP32[$3+16>>2]|0; + ;HEAP32[$$byval_copy5>>2]=HEAP32[$$byval_copy2>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$$byval_copy2+4>>2]|0;HEAP32[$$byval_copy5+8>>2]=HEAP32[$$byval_copy2+8>>2]|0;HEAP32[$$byval_copy5+12>>2]=HEAP32[$$byval_copy2+12>>2]|0;HEAP32[$$byval_copy5+16>>2]=HEAP32[$$byval_copy2+16>>2]|0; + _UnloadImage($$byval_copy5); + } + $23 = ((($12)) + 24|0); + $24 = HEAP32[$23>>2]|0; + $25 = ($24|0)==(6); + if ($25) { + $26 = ((($12)) + 28|0); + $27 = HEAP32[$26>>2]|0; + $28 = ((($2)) + 20|0); + HEAP32[$28>>2] = $27; + $29 = ((($12)) + 32|0); + $30 = HEAP32[$29>>2]|0; + $31 = ((($2)) + 24|0); + HEAP32[$31>>2] = $30; + $32 = ((($12)) + 44|0); + $33 = HEAP32[$32>>2]|0; + $34 = ((($2)) + 28|0); + HEAP32[$34>>2] = $33; + } + } + } while(0); + $44 = HEAP32[$2>>2]|0; + $45 = ($44|0)==(0); + if ($45) { + HEAP32[$vararg_buffer>>2] = $1; + _TraceLog(1,14648,$vararg_buffer); + _GetDefaultFont($9); + ;HEAP32[$2>>2]=HEAP32[$9>>2]|0;HEAP32[$2+4>>2]=HEAP32[$9+4>>2]|0;HEAP32[$2+8>>2]=HEAP32[$9+8>>2]|0;HEAP32[$2+12>>2]=HEAP32[$9+12>>2]|0;HEAP32[$2+16>>2]=HEAP32[$9+16>>2]|0;HEAP32[$2+20>>2]=HEAP32[$9+20>>2]|0;HEAP32[$2+24>>2]=HEAP32[$9+24>>2]|0;HEAP32[$2+28>>2]=HEAP32[$9+28>>2]|0; + ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$2+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[$2+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[$2+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[$2+28>>2]|0; + STACKTOP = sp;return; + } else { + ;HEAP32[$$byval_copy5>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$$byval_copy5+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$$byval_copy5+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$$byval_copy5+16>>2]=HEAP32[$2+16>>2]|0; + _SetTextureFilter($$byval_copy5,0); + ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$2+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[$2+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[$2+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[$2+28>>2]|0; + STACKTOP = sp;return; + } +} +function _LoadSpriteFontEx($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$048 = 0, $$sroa$0$0 = 0, $$sroa$0$0$copyload = 0, $$sroa$0$0$copyload15 = 0, $$sroa$0$0$copyload17 = 0, $$sroa$0$1 = 0, $$sroa$8 = 0, $$sroa$8$0$$sroa_idx = 0, $$sroa$8$0$$sroa_idx23 = 0, $$sroa$8$0$$sroa_idx26 = 0, $$sroa$8$0$$sroa_idx29 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $5 = 0, $6 = 0; + var $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $or$cond = 0, $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 144|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(144|0); + $vararg_buffer = sp; + $$sroa$8 = sp + 104|0; + $5 = sp + 72|0; + $6 = sp + 40|0; + $7 = sp + 8|0; + ;HEAP32[$$sroa$8>>2]=0|0;HEAP32[$$sroa$8+4>>2]=0|0;HEAP32[$$sroa$8+8>>2]=0|0;HEAP32[$$sroa$8+12>>2]=0|0;HEAP32[$$sroa$8+16>>2]=0|0;HEAP32[$$sroa$8+20>>2]=0|0;HEAP32[$$sroa$8+24>>2]=0|0; + $8 = (_IsFileExtension($1,14638)|0); + $9 = ($8|0)==(0); + if (!($9)) { + $10 = ($4|0)==(0|0); + $11 = ($3|0)==(0); + $or$cond = $11 | $10; + if ($or$cond) { + $12 = (_malloc(380)|0); + $$048 = 0; + while(1) { + $13 = (($$048) + 32)|0; + $14 = (($12) + ($$048<<2)|0); + HEAP32[$14>>2] = $13; + $15 = (($$048) + 1)|0; + $exitcond = ($15|0)==(95); + if ($exitcond) { + break; + } else { + $$048 = $15; + } + } + _LoadTTF($5,$1,$2,95,$12); + $$sroa$0$0$copyload = HEAP32[$5>>2]|0; + $$sroa$8$0$$sroa_idx = ((($5)) + 4|0); + ;HEAP32[$$sroa$8>>2]=HEAP32[$$sroa$8$0$$sroa_idx>>2]|0;HEAP32[$$sroa$8+4>>2]=HEAP32[$$sroa$8$0$$sroa_idx+4>>2]|0;HEAP32[$$sroa$8+8>>2]=HEAP32[$$sroa$8$0$$sroa_idx+8>>2]|0;HEAP32[$$sroa$8+12>>2]=HEAP32[$$sroa$8$0$$sroa_idx+12>>2]|0;HEAP32[$$sroa$8+16>>2]=HEAP32[$$sroa$8$0$$sroa_idx+16>>2]|0;HEAP32[$$sroa$8+20>>2]=HEAP32[$$sroa$8$0$$sroa_idx+20>>2]|0;HEAP32[$$sroa$8+24>>2]=HEAP32[$$sroa$8$0$$sroa_idx+24>>2]|0; + $$sroa$0$0 = $$sroa$0$0$copyload; + } else { + _LoadTTF($6,$1,$2,$3,$4); + $$sroa$0$0$copyload15 = HEAP32[$6>>2]|0; + $$sroa$8$0$$sroa_idx23 = ((($6)) + 4|0); + ;HEAP32[$$sroa$8>>2]=HEAP32[$$sroa$8$0$$sroa_idx23>>2]|0;HEAP32[$$sroa$8+4>>2]=HEAP32[$$sroa$8$0$$sroa_idx23+4>>2]|0;HEAP32[$$sroa$8+8>>2]=HEAP32[$$sroa$8$0$$sroa_idx23+8>>2]|0;HEAP32[$$sroa$8+12>>2]=HEAP32[$$sroa$8$0$$sroa_idx23+12>>2]|0;HEAP32[$$sroa$8+16>>2]=HEAP32[$$sroa$8$0$$sroa_idx23+16>>2]|0;HEAP32[$$sroa$8+20>>2]=HEAP32[$$sroa$8$0$$sroa_idx23+20>>2]|0;HEAP32[$$sroa$8+24>>2]=HEAP32[$$sroa$8$0$$sroa_idx23+24>>2]|0; + $$sroa$0$0 = $$sroa$0$0$copyload15; + } + $16 = ($$sroa$0$0|0)==(0); + if (!($16)) { + $$sroa$0$1 = $$sroa$0$0; + HEAP32[$0>>2] = $$sroa$0$1; + $$sroa$8$0$$sroa_idx29 = ((($0)) + 4|0); + ;HEAP32[$$sroa$8$0$$sroa_idx29>>2]=HEAP32[$$sroa$8>>2]|0;HEAP32[$$sroa$8$0$$sroa_idx29+4>>2]=HEAP32[$$sroa$8+4>>2]|0;HEAP32[$$sroa$8$0$$sroa_idx29+8>>2]=HEAP32[$$sroa$8+8>>2]|0;HEAP32[$$sroa$8$0$$sroa_idx29+12>>2]=HEAP32[$$sroa$8+12>>2]|0;HEAP32[$$sroa$8$0$$sroa_idx29+16>>2]=HEAP32[$$sroa$8+16>>2]|0;HEAP32[$$sroa$8$0$$sroa_idx29+20>>2]=HEAP32[$$sroa$8+20>>2]|0;HEAP32[$$sroa$8$0$$sroa_idx29+24>>2]=HEAP32[$$sroa$8+24>>2]|0; + STACKTOP = sp;return; + } + } + HEAP32[$vararg_buffer>>2] = $1; + _TraceLog(1,15192,$vararg_buffer); + _GetDefaultFont($7); + $$sroa$0$0$copyload17 = HEAP32[$7>>2]|0; + $$sroa$8$0$$sroa_idx26 = ((($7)) + 4|0); + ;HEAP32[$$sroa$8>>2]=HEAP32[$$sroa$8$0$$sroa_idx26>>2]|0;HEAP32[$$sroa$8+4>>2]=HEAP32[$$sroa$8$0$$sroa_idx26+4>>2]|0;HEAP32[$$sroa$8+8>>2]=HEAP32[$$sroa$8$0$$sroa_idx26+8>>2]|0;HEAP32[$$sroa$8+12>>2]=HEAP32[$$sroa$8$0$$sroa_idx26+12>>2]|0;HEAP32[$$sroa$8+16>>2]=HEAP32[$$sroa$8$0$$sroa_idx26+16>>2]|0;HEAP32[$$sroa$8+20>>2]=HEAP32[$$sroa$8$0$$sroa_idx26+20>>2]|0;HEAP32[$$sroa$8+24>>2]=HEAP32[$$sroa$8$0$$sroa_idx26+24>>2]|0; + $$sroa$0$1 = $$sroa$0$0$copyload17; + HEAP32[$0>>2] = $$sroa$0$1; + $$sroa$8$0$$sroa_idx29 = ((($0)) + 4|0); + ;HEAP32[$$sroa$8$0$$sroa_idx29>>2]=HEAP32[$$sroa$8>>2]|0;HEAP32[$$sroa$8$0$$sroa_idx29+4>>2]=HEAP32[$$sroa$8+4>>2]|0;HEAP32[$$sroa$8$0$$sroa_idx29+8>>2]=HEAP32[$$sroa$8+8>>2]|0;HEAP32[$$sroa$8$0$$sroa_idx29+12>>2]=HEAP32[$$sroa$8+12>>2]|0;HEAP32[$$sroa$8$0$$sroa_idx29+16>>2]=HEAP32[$$sroa$8+16>>2]|0;HEAP32[$$sroa$8$0$$sroa_idx29+20>>2]=HEAP32[$$sroa$8+20>>2]|0;HEAP32[$$sroa$8$0$$sroa_idx29+24>>2]=HEAP32[$$sroa$8+24>>2]|0; + STACKTOP = sp;return; +} +function _LoadBMFont($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$05355 = 0, $$056 = 0, $$byval_copy52 = 0, $$sroa$0$0$$sroa_idx = 0, $$sroa$2$0$$sroa_idx1 = 0, $$sroa$3$0$$sroa_idx2 = 0, $$sroa$4$0$$sroa_idx3 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0; + var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0; + var $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0; + var $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0; + var $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer11 = 0, $vararg_buffer16 = 0, $vararg_buffer19 = 0, $vararg_buffer23 = 0, $vararg_buffer26 = 0, $vararg_buffer34 = 0, $vararg_buffer44 = 0, $vararg_buffer7 = 0, $vararg_ptr10 = 0; + var $vararg_ptr14 = 0, $vararg_ptr15 = 0, $vararg_ptr22 = 0, $vararg_ptr29 = 0, $vararg_ptr33 = 0, $vararg_ptr37 = 0, $vararg_ptr38 = 0, $vararg_ptr39 = 0, $vararg_ptr4 = 0, $vararg_ptr40 = 0, $vararg_ptr41 = 0, $vararg_ptr42 = 0, $vararg_ptr43 = 0, $vararg_ptr5 = 0, $vararg_ptr6 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 704|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(704|0); + $$byval_copy52 = sp + 152|0; + $vararg_buffer44 = sp + 144|0; + $vararg_buffer34 = sp + 112|0; + $vararg_buffer26 = sp + 88|0; + $vararg_buffer23 = sp + 64|0; + $vararg_buffer19 = sp + 56|0; + $vararg_buffer16 = sp + 48|0; + $vararg_buffer11 = sp + 32|0; + $vararg_buffer7 = sp + 24|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $2 = sp + 288|0; + $3 = sp + 448|0; + $4 = sp + 260|0; + $5 = sp + 236|0; + $6 = sp + 232|0; + $7 = sp + 320|0; + $8 = sp + 196|0; + $9 = sp + 192|0; + $10 = sp + 264|0; + $11 = sp + 240|0; + $12 = sp + 188|0; + $13 = sp + 184|0; + $14 = sp + 200|0; + ;HEAP32[$2>>2]=0|0;HEAP32[$2+4>>2]=0|0;HEAP32[$2+8>>2]=0|0;HEAP32[$2+12>>2]=0|0;HEAP32[$2+16>>2]=0|0;HEAP32[$2+20>>2]=0|0;HEAP32[$2+24>>2]=0|0;HEAP32[$2+28>>2]=0|0; + HEAP32[$4>>2] = 0; + HEAP32[$8>>2] = 0; + $15 = (_fopen($1,14790)|0); + $16 = ($15|0)==(0|0); + if ($16) { + HEAP32[$vararg_buffer>>2] = $1; + _TraceLog(1,14793,$vararg_buffer); + ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$2+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[$2+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[$2+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[$2+28>>2]|0; + STACKTOP = sp;return; + } + (_fgets($3,256,$15)|0); + (_fgets($3,256,$15)|0); + $17 = (_strstr($3,14827)|0); + HEAP32[$vararg_buffer1>>2] = $4; + $vararg_ptr4 = ((($vararg_buffer1)) + 4|0); + HEAP32[$vararg_ptr4>>2] = $9; + $vararg_ptr5 = ((($vararg_buffer1)) + 8|0); + HEAP32[$vararg_ptr5>>2] = $5; + $vararg_ptr6 = ((($vararg_buffer1)) + 12|0); + HEAP32[$vararg_ptr6>>2] = $6; + (_sscanf($17,14838,$vararg_buffer1)|0); + $18 = HEAP32[$4>>2]|0; + HEAP32[$vararg_buffer7>>2] = $1; + $vararg_ptr10 = ((($vararg_buffer7)) + 4|0); + HEAP32[$vararg_ptr10>>2] = $18; + _TraceLog(3,14880,$vararg_buffer7); + $19 = HEAP32[$5>>2]|0; + $20 = HEAP32[$6>>2]|0; + HEAP32[$vararg_buffer11>>2] = $1; + $vararg_ptr14 = ((($vararg_buffer11)) + 4|0); + HEAP32[$vararg_ptr14>>2] = $19; + $vararg_ptr15 = ((($vararg_buffer11)) + 8|0); + HEAP32[$vararg_ptr15>>2] = $20; + _TraceLog(3,14899,$vararg_buffer11); + (_fgets($3,256,$15)|0); + $21 = (_strstr($3,14930)|0); + HEAP32[$vararg_buffer16>>2] = $7; + (_sscanf($21,14935,$vararg_buffer16)|0); + HEAP32[$vararg_buffer19>>2] = $1; + $vararg_ptr22 = ((($vararg_buffer19)) + 4|0); + HEAP32[$vararg_ptr22>>2] = $7; + _TraceLog(3,14951,$vararg_buffer19); + (_fgets($3,256,$15)|0); + $22 = (_strstr($3,14982)|0); + HEAP32[$vararg_buffer23>>2] = $8; + (_sscanf($22,14988,$vararg_buffer23)|0); + $23 = HEAP32[$8>>2]|0; + HEAP32[$vararg_buffer26>>2] = $1; + $vararg_ptr29 = ((($vararg_buffer26)) + 4|0); + HEAP32[$vararg_ptr29>>2] = $23; + _TraceLog(3,14997,$vararg_buffer26); + $24 = (_strrchr($1,47)|0); + $25 = (_strlen($1)|0); + $26 = (_strlen($24)|0); + $27 = (_strlen($7)|0); + $28 = (($25) + 4)|0; + $29 = (($28) - ($26))|0; + $30 = (($29) + ($27))|0; + $31 = (_malloc($30)|0); + HEAP8[$31>>0] = 0; + $32 = (_strlen($1)|0); + $33 = (_strlen($24)|0); + $34 = (($32) + 1)|0; + $35 = (($34) - ($33))|0; + (_strncat($31,$1,$35)|0); + $36 = (_strlen($7)|0); + (_strncat($31,$7,$36)|0); + HEAP32[$$byval_copy52>>2] = $1; + $vararg_ptr33 = ((($$byval_copy52)) + 4|0); + HEAP32[$vararg_ptr33>>2] = $31; + _TraceLog(3,15021,$$byval_copy52); + _LoadImage($vararg_buffer26,$31); + $37 = ((($vararg_buffer26)) + 16|0); + $38 = HEAP32[$37>>2]|0; + $39 = ($38|0)==(1); + if ($39) { + ;HEAP32[$$byval_copy52>>2]=HEAP32[$vararg_buffer26>>2]|0;HEAP32[$$byval_copy52+4>>2]=HEAP32[$vararg_buffer26+4>>2]|0;HEAP32[$$byval_copy52+8>>2]=HEAP32[$vararg_buffer26+8>>2]|0;HEAP32[$$byval_copy52+12>>2]=HEAP32[$vararg_buffer26+12>>2]|0;HEAP32[$$byval_copy52+16>>2]=HEAP32[$vararg_buffer26+16>>2]|0; + _ImageCopy($vararg_buffer23,$$byval_copy52); + $40 = ((($vararg_buffer23)) + 4|0); + $41 = HEAP32[$40>>2]|0; + $42 = ((($vararg_buffer23)) + 8|0); + $43 = HEAP32[$42>>2]|0; + $44 = Math_imul($43, $41)|0; + $45 = ($44|0)>(0); + if ($45) { + $$056 = 0; + while(1) { + $46 = HEAP32[$vararg_buffer23>>2]|0; + $47 = (($46) + ($$056)|0); + HEAP8[$47>>0] = -1; + $48 = (($$056) + 1)|0; + $49 = HEAP32[$40>>2]|0; + $50 = HEAP32[$42>>2]|0; + $51 = Math_imul($50, $49)|0; + $52 = ($48|0)<($51|0); + if ($52) { + $$056 = $48; + } else { + break; + } + } + } + ;HEAP32[$$byval_copy52>>2]=HEAP32[$vararg_buffer26>>2]|0;HEAP32[$$byval_copy52+4>>2]=HEAP32[$vararg_buffer26+4>>2]|0;HEAP32[$$byval_copy52+8>>2]=HEAP32[$vararg_buffer26+8>>2]|0;HEAP32[$$byval_copy52+12>>2]=HEAP32[$vararg_buffer26+12>>2]|0;HEAP32[$$byval_copy52+16>>2]=HEAP32[$vararg_buffer26+16>>2]|0; + _ImageAlphaMask($vararg_buffer23,$$byval_copy52); + ;HEAP32[$$byval_copy52>>2]=HEAP32[$vararg_buffer23>>2]|0;HEAP32[$$byval_copy52+4>>2]=HEAP32[$vararg_buffer23+4>>2]|0;HEAP32[$$byval_copy52+8>>2]=HEAP32[$vararg_buffer23+8>>2]|0;HEAP32[$$byval_copy52+12>>2]=HEAP32[$vararg_buffer23+12>>2]|0;HEAP32[$$byval_copy52+16>>2]=HEAP32[$vararg_buffer23+16>>2]|0; + _LoadTextureFromImage($10,$$byval_copy52); + ;HEAP32[$2>>2]=HEAP32[$10>>2]|0;HEAP32[$2+4>>2]=HEAP32[$10+4>>2]|0;HEAP32[$2+8>>2]=HEAP32[$10+8>>2]|0;HEAP32[$2+12>>2]=HEAP32[$10+12>>2]|0;HEAP32[$2+16>>2]=HEAP32[$10+16>>2]|0; + ;HEAP32[$$byval_copy52>>2]=HEAP32[$vararg_buffer23>>2]|0;HEAP32[$$byval_copy52+4>>2]=HEAP32[$vararg_buffer23+4>>2]|0;HEAP32[$$byval_copy52+8>>2]=HEAP32[$vararg_buffer23+8>>2]|0;HEAP32[$$byval_copy52+12>>2]=HEAP32[$vararg_buffer23+12>>2]|0;HEAP32[$$byval_copy52+16>>2]=HEAP32[$vararg_buffer23+16>>2]|0; + _UnloadImage($$byval_copy52); + } else { + ;HEAP32[$$byval_copy52>>2]=HEAP32[$vararg_buffer26>>2]|0;HEAP32[$$byval_copy52+4>>2]=HEAP32[$vararg_buffer26+4>>2]|0;HEAP32[$$byval_copy52+8>>2]=HEAP32[$vararg_buffer26+8>>2]|0;HEAP32[$$byval_copy52+12>>2]=HEAP32[$vararg_buffer26+12>>2]|0;HEAP32[$$byval_copy52+16>>2]=HEAP32[$vararg_buffer26+16>>2]|0; + _LoadTextureFromImage($11,$$byval_copy52); + ;HEAP32[$2>>2]=HEAP32[$11>>2]|0;HEAP32[$2+4>>2]=HEAP32[$11+4>>2]|0;HEAP32[$2+8>>2]=HEAP32[$11+8>>2]|0;HEAP32[$2+12>>2]=HEAP32[$11+12>>2]|0;HEAP32[$2+16>>2]=HEAP32[$11+16>>2]|0; + } + $53 = HEAP32[$4>>2]|0; + $54 = ((($2)) + 20|0); + HEAP32[$54>>2] = $53; + $55 = HEAP32[$8>>2]|0; + $56 = ((($2)) + 24|0); + HEAP32[$56>>2] = $55; + $57 = $55 << 5; + $58 = (_malloc($57)|0); + $59 = ((($2)) + 28|0); + HEAP32[$59>>2] = $58; + ;HEAP32[$$byval_copy52>>2]=HEAP32[$vararg_buffer26>>2]|0;HEAP32[$$byval_copy52+4>>2]=HEAP32[$vararg_buffer26+4>>2]|0;HEAP32[$$byval_copy52+8>>2]=HEAP32[$vararg_buffer26+8>>2]|0;HEAP32[$$byval_copy52+12>>2]=HEAP32[$vararg_buffer26+12>>2]|0;HEAP32[$$byval_copy52+16>>2]=HEAP32[$vararg_buffer26+16>>2]|0; + _UnloadImage($$byval_copy52); + _free($31); + $60 = HEAP32[$8>>2]|0; + $61 = ($60|0)>(0); + if ($61) { + $$05355 = 0; + while(1) { + (_fgets($3,256,$15)|0); + HEAP32[$vararg_buffer34>>2] = $vararg_buffer23; + $vararg_ptr37 = ((($vararg_buffer34)) + 4|0); + HEAP32[$vararg_ptr37>>2] = $vararg_buffer19; + $vararg_ptr38 = ((($vararg_buffer34)) + 8|0); + HEAP32[$vararg_ptr38>>2] = $vararg_buffer16; + $vararg_ptr39 = ((($vararg_buffer34)) + 12|0); + HEAP32[$vararg_ptr39>>2] = $vararg_buffer11; + $vararg_ptr40 = ((($vararg_buffer34)) + 16|0); + HEAP32[$vararg_ptr40>>2] = $vararg_buffer7; + $vararg_ptr41 = ((($vararg_buffer34)) + 20|0); + HEAP32[$vararg_ptr41>>2] = $vararg_buffer1; + $vararg_ptr42 = ((($vararg_buffer34)) + 24|0); + HEAP32[$vararg_ptr42>>2] = $12; + $vararg_ptr43 = ((($vararg_buffer34)) + 28|0); + HEAP32[$vararg_ptr43>>2] = $13; + (_sscanf($3,15056,$vararg_buffer34)|0); + $64 = HEAP32[$vararg_buffer23>>2]|0; + $65 = HEAP32[$59>>2]|0; + $66 = (($65) + ($$05355<<5)|0); + HEAP32[$66>>2] = $64; + $67 = HEAP32[$59>>2]|0; + $68 = HEAP32[$vararg_buffer19>>2]|0; + $69 = HEAP32[$vararg_buffer16>>2]|0; + $70 = HEAP32[$vararg_buffer11>>2]|0; + $71 = HEAP32[$vararg_buffer7>>2]|0; + $$sroa$0$0$$sroa_idx = (((($67) + ($$05355<<5)|0)) + 4|0); + HEAP32[$$sroa$0$0$$sroa_idx>>2] = $68; + $$sroa$2$0$$sroa_idx1 = (((($67) + ($$05355<<5)|0)) + 8|0); + HEAP32[$$sroa$2$0$$sroa_idx1>>2] = $69; + $$sroa$3$0$$sroa_idx2 = (((($67) + ($$05355<<5)|0)) + 12|0); + HEAP32[$$sroa$3$0$$sroa_idx2>>2] = $70; + $$sroa$4$0$$sroa_idx3 = (((($67) + ($$05355<<5)|0)) + 16|0); + HEAP32[$$sroa$4$0$$sroa_idx3>>2] = $71; + $72 = HEAP32[$vararg_buffer1>>2]|0; + $73 = HEAP32[$59>>2]|0; + $74 = (((($73) + ($$05355<<5)|0)) + 20|0); + HEAP32[$74>>2] = $72; + $75 = HEAP32[$12>>2]|0; + $76 = HEAP32[$59>>2]|0; + $77 = (((($76) + ($$05355<<5)|0)) + 24|0); + HEAP32[$77>>2] = $75; + $78 = HEAP32[$13>>2]|0; + $79 = HEAP32[$59>>2]|0; + $80 = (((($79) + ($$05355<<5)|0)) + 28|0); + HEAP32[$80>>2] = $78; + $81 = (($$05355) + 1)|0; + $82 = HEAP32[$8>>2]|0; + $83 = ($81|0)<($82|0); + if ($83) { + $$05355 = $81; + } else { + break; + } + } + } + (_fclose($15)|0); + $62 = HEAP32[$2>>2]|0; + $63 = ($62|0)==(0); + if ($63) { + ;HEAP32[$$byval_copy52>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy52+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$$byval_copy52+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$$byval_copy52+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$$byval_copy52+16>>2]=HEAP32[$2+16>>2]|0;HEAP32[$$byval_copy52+20>>2]=HEAP32[$2+20>>2]|0;HEAP32[$$byval_copy52+24>>2]=HEAP32[$2+24>>2]|0;HEAP32[$$byval_copy52+28>>2]=HEAP32[$2+28>>2]|0; + _UnloadSpriteFont($$byval_copy52); + _GetDefaultFont($14); + ;HEAP32[$2>>2]=HEAP32[$14>>2]|0;HEAP32[$2+4>>2]=HEAP32[$14+4>>2]|0;HEAP32[$2+8>>2]=HEAP32[$14+8>>2]|0;HEAP32[$2+12>>2]=HEAP32[$14+12>>2]|0;HEAP32[$2+16>>2]=HEAP32[$14+16>>2]|0;HEAP32[$2+20>>2]=HEAP32[$14+20>>2]|0;HEAP32[$2+24>>2]=HEAP32[$14+24>>2]|0;HEAP32[$2+28>>2]=HEAP32[$14+28>>2]|0; + } else { + HEAP32[$vararg_buffer44>>2] = $1; + _TraceLog(0,15130,$vararg_buffer44); + } + ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$2+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[$2+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[$2+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[$2+28>>2]|0; + STACKTOP = sp;return; +} +function _LoadImageFont($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$0195$lcssa = 0, $$019552 = 0, $$019622 = 0, $$0197 = 0, $$020032 = 0, $$0201$lcssa = 0, $$020131 = 0, $$0203 = 0, $$021 = 0, $$1$lcssa = 0, $$119927 = 0, $$1202$lcssa = 0, $$120226 = 0, $$135 = 0, $$2 = 0, $$byval_copy4 = 0, $$sroa$0 = 0, $$sroa$5$0$$sroa_idx15 = 0, $$sroa$6$0$$sroa_idx17 = 0, $$sroa$9$0$$sroa_idx20 = 0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0; + var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; + var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; + var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0; + var $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0; + var $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0; + var $97 = 0, $98 = 0, $99 = 0, $exitcond = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 5232|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(5232|0); + $$byval_copy4 = sp + 5200|0; + $vararg_buffer1 = sp + 48|0; + $vararg_buffer = sp + 24|0; + $3 = sp + 4176|0; + $4 = sp + 56|0; + $$sroa$0 = sp; + $5 = sp + 4152|0; + ;HEAP32[$$byval_copy4>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$$byval_copy4+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[$$byval_copy4+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[$$byval_copy4+16>>2]=HEAP32[$1+16>>2]|0; + $6 = (_GetImageData($$byval_copy4)|0); + $7 = ((($1)) + 8|0); + $8 = HEAP32[$7>>2]|0; + $9 = ($8|0)>(0); + L1: do { + if ($9) { + $10 = ((($1)) + 4|0); + $11 = HEAP32[$10>>2]|0; + $12 = ($11|0)>(0); + $13 = HEAP8[$2>>0]|0; + $14 = ((($2)) + 1|0); + $15 = HEAP8[$14>>0]|0; + $16 = ((($2)) + 2|0); + $17 = HEAP8[$16>>0]|0; + $18 = ((($2)) + 3|0); + $19 = HEAP8[$18>>0]|0; + $20 = HEAP8[$2>>0]|0; + $21 = ((($2)) + 1|0); + $22 = HEAP8[$21>>0]|0; + $23 = ((($2)) + 2|0); + $24 = HEAP8[$23>>0]|0; + $25 = ((($2)) + 3|0); + $26 = HEAP8[$25>>0]|0; + $27 = HEAP32[$10>>2]|0; + $$019552 = 0; + while(1) { + L5: do { + if ($12) { + $$135 = 0;$29 = $11; + while(1) { + $28 = Math_imul($29, $$019552)|0; + $30 = (($28) + ($$135))|0; + $31 = (($6) + ($30<<2)|0); + $32 = HEAP8[$31>>0]|0; + $33 = ($32<<24>>24)==($20<<24>>24); + if (!($33)) { + $$1$lcssa = $$135; + break L5; + } + $34 = (((($6) + ($30<<2)|0)) + 1|0); + $35 = HEAP8[$34>>0]|0; + $36 = ($35<<24>>24)==($22<<24>>24); + if (!($36)) { + $$1$lcssa = $$135; + break L5; + } + $37 = (((($6) + ($30<<2)|0)) + 2|0); + $38 = HEAP8[$37>>0]|0; + $39 = ($38<<24>>24)==($24<<24>>24); + if (!($39)) { + $$1$lcssa = $$135; + break L5; + } + $40 = (((($6) + ($30<<2)|0)) + 3|0); + $41 = HEAP8[$40>>0]|0; + $42 = ($41<<24>>24)==($26<<24>>24); + if (!($42)) { + $$1$lcssa = $$135; + break L5; + } + $43 = (($$135) + 1)|0; + $44 = HEAP32[$10>>2]|0; + $45 = ($43|0)<($44|0); + if ($45) { + $$135 = $43;$29 = $44; + } else { + $$1$lcssa = $43; + break; + } + } + } else { + $$1$lcssa = 0; + } + } while(0); + $46 = Math_imul($27, $$019552)|0; + $47 = (($46) + ($$1$lcssa))|0; + $48 = (($6) + ($47<<2)|0); + $49 = HEAP8[$48>>0]|0; + $50 = ($49<<24>>24)==($13<<24>>24); + if (!($50)) { + $$0195$lcssa = $$019552;$$2 = $$1$lcssa; + break L1; + } + $51 = (((($6) + ($47<<2)|0)) + 1|0); + $52 = HEAP8[$51>>0]|0; + $53 = ($52<<24>>24)==($15<<24>>24); + if (!($53)) { + $$0195$lcssa = $$019552;$$2 = $$1$lcssa; + break L1; + } + $54 = (((($6) + ($47<<2)|0)) + 2|0); + $55 = HEAP8[$54>>0]|0; + $56 = ($55<<24>>24)==($17<<24>>24); + if (!($56)) { + $$0195$lcssa = $$019552;$$2 = $$1$lcssa; + break L1; + } + $57 = (((($6) + ($47<<2)|0)) + 3|0); + $58 = HEAP8[$57>>0]|0; + $59 = ($58<<24>>24)==($19<<24>>24); + if (!($59)) { + $$0195$lcssa = $$019552;$$2 = $$1$lcssa; + break L1; + } + $60 = (($$019552) + 1)|0; + $61 = HEAP32[$7>>2]|0; + $62 = ($60|0)<($61|0); + if ($62) { + $$019552 = $60; + } else { + $$0195$lcssa = $60;$$2 = $$1$lcssa; + break; + } + } + } else { + $$0195$lcssa = 0;$$2 = 0; + } + } while(0); + $63 = ((($1)) + 4|0); + $64 = HEAP32[$63>>2]|0; + $65 = HEAP8[$2>>0]|0; + $66 = ((($2)) + 1|0); + $67 = HEAP8[$66>>0]|0; + $68 = ((($2)) + 2|0); + $69 = HEAP8[$68>>0]|0; + $70 = ((($2)) + 3|0); + $71 = HEAP8[$70>>0]|0; + $$0203 = 0; + while(1) { + $72 = (($$0203) + ($$0195$lcssa))|0; + $73 = Math_imul($72, $64)|0; + $74 = (($73) + ($$2))|0; + $75 = (($6) + ($74<<2)|0); + $76 = HEAP8[$75>>0]|0; + $77 = ($76<<24>>24)==($65<<24>>24); + if ($77) { + $78 = (((($6) + ($74<<2)|0)) + 1|0); + $79 = HEAP8[$78>>0]|0; + $80 = ($79<<24>>24)==($67<<24>>24); + if ($80) { + $81 = (((($6) + ($74<<2)|0)) + 2|0); + $82 = HEAP8[$81>>0]|0; + $83 = ($82<<24>>24)==($69<<24>>24); + if ($83) { + $84 = (((($6) + ($74<<2)|0)) + 3|0); + $85 = HEAP8[$84>>0]|0; + $86 = ($85<<24>>24)==($71<<24>>24); + if ($86) { + break; + } + } + } + } + $96 = (($$0203) + 1)|0; + $$0203 = $96; + } + $87 = HEAP32[$7>>2]|0; + $88 = ($$0195$lcssa|0)<($87|0); + if ($88) { + $89 = HEAP32[$63>>2]|0; + $90 = ($$2|0)<($89|0); + $91 = HEAP32[$7>>2]|0; + $92 = HEAP8[$2>>0]|0; + $93 = HEAP8[$66>>0]|0; + $94 = HEAP8[$68>>0]|0; + $95 = HEAP8[$70>>0]|0; + $$020032 = 0;$$020131 = 0;$99 = $$0195$lcssa; + while(1) { + L30: do { + if ($90) { + $$119927 = $$2;$$120226 = $$020131;$98 = $89; + while(1) { + $97 = Math_imul($98, $99)|0; + $100 = (($97) + ($$119927))|0; + $101 = (($6) + ($100<<2)|0); + $102 = HEAP8[$101>>0]|0; + $103 = ($102<<24>>24)==($92<<24>>24); + if ($103) { + $104 = (((($6) + ($100<<2)|0)) + 1|0); + $105 = HEAP8[$104>>0]|0; + $106 = ($105<<24>>24)==($93<<24>>24); + if ($106) { + $107 = (((($6) + ($100<<2)|0)) + 2|0); + $108 = HEAP8[$107>>0]|0; + $109 = ($108<<24>>24)==($94<<24>>24); + if ($109) { + $110 = (((($6) + ($100<<2)|0)) + 3|0); + $111 = HEAP8[$110>>0]|0; + $112 = ($111<<24>>24)==($95<<24>>24); + if ($112) { + $$1202$lcssa = $$120226; + break L30; + } + } + } + } + $113 = (($$120226) + 32)|0; + $114 = (($3) + ($$120226<<2)|0); + HEAP32[$114>>2] = $113; + $115 = (($4) + ($$120226<<4)|0); + HEAP32[$115>>2] = $$119927; + $116 = (((($4) + ($$120226<<4)|0)) + 4|0); + HEAP32[$116>>2] = $99; + $117 = (((($4) + ($$120226<<4)|0)) + 12|0); + HEAP32[$117>>2] = $$0203; + $118 = HEAP32[$63>>2]|0; + $119 = Math_imul($118, $99)|0; + $$0197 = 0; + while(1) { + $120 = (($$0197) + ($$119927))|0; + $121 = (($120) + ($119))|0; + $122 = (($6) + ($121<<2)|0); + $123 = HEAP8[$122>>0]|0; + $124 = ($123<<24>>24)==($92<<24>>24); + if ($124) { + $125 = (((($6) + ($121<<2)|0)) + 1|0); + $126 = HEAP8[$125>>0]|0; + $127 = ($126<<24>>24)==($93<<24>>24); + if ($127) { + $128 = (((($6) + ($121<<2)|0)) + 2|0); + $129 = HEAP8[$128>>0]|0; + $130 = ($129<<24>>24)==($94<<24>>24); + if ($130) { + $131 = (((($6) + ($121<<2)|0)) + 3|0); + $132 = HEAP8[$131>>0]|0; + $133 = ($132<<24>>24)==($95<<24>>24); + if ($133) { + break; + } + } + } + } + $134 = (($$0197) + 1)|0; + $$0197 = $134; + } + $135 = (((($4) + ($$120226<<4)|0)) + 8|0); + HEAP32[$135>>2] = $$0197; + $136 = (($$120226) + 1)|0; + $137 = (($$119927) + ($$2))|0; + $138 = (($137) + ($$0197))|0; + $139 = HEAP32[$63>>2]|0; + $140 = ($138|0)<($139|0); + if ($140) { + $$119927 = $138;$$120226 = $136;$98 = $139; + } else { + $$1202$lcssa = $136; + break; + } + } + } else { + $$1202$lcssa = $$020131; + } + } while(0); + $141 = (($$020032) + 1)|0; + $142 = Math_imul($141, $72)|0; + $143 = (($142) + ($$0195$lcssa))|0; + $144 = ($143|0)<($91|0); + if ($144) { + $$020032 = $141;$$020131 = $$1202$lcssa;$99 = $143; + } else { + $$0201$lcssa = $$1202$lcssa; + break; + } + } + } else { + $$0201$lcssa = 0; + } + _TraceLog(3,14704,$vararg_buffer); + $145 = HEAP32[$7>>2]|0; + $146 = HEAP32[$63>>2]|0; + $147 = Math_imul($146, $145)|0; + $148 = ($147|0)>(0); + if ($148) { + $149 = HEAP8[$2>>0]|0; + $150 = HEAP8[$66>>0]|0; + $151 = HEAP8[$68>>0]|0; + $152 = HEAP8[$70>>0]|0; + $$019622 = 0; + while(1) { + $158 = (($6) + ($$019622<<2)|0); + $159 = HEAP8[$158>>0]|0; + $160 = ($159<<24>>24)==($149<<24>>24); + if ($160) { + $161 = (((($6) + ($$019622<<2)|0)) + 1|0); + $162 = HEAP8[$161>>0]|0; + $163 = ($162<<24>>24)==($150<<24>>24); + if ($163) { + $164 = (((($6) + ($$019622<<2)|0)) + 2|0); + $165 = HEAP8[$164>>0]|0; + $166 = ($165<<24>>24)==($151<<24>>24); + if ($166) { + $167 = (((($6) + ($$019622<<2)|0)) + 3|0); + $168 = HEAP8[$167>>0]|0; + $169 = ($168<<24>>24)==($152<<24>>24); + if ($169) { + HEAP8[$158>>0]=0&255;HEAP8[$158+1>>0]=(0>>8)&255;HEAP8[$158+2>>0]=(0>>16)&255;HEAP8[$158+3>>0]=0>>24; + } + } + } + } + $170 = (($$019622) + 1)|0; + $171 = HEAP32[$7>>2]|0; + $172 = HEAP32[$63>>2]|0; + $173 = Math_imul($172, $171)|0; + $174 = ($170|0)<($173|0); + if ($174) { + $$019622 = $170; + } else { + break; + } + } + } + $153 = HEAP32[$63>>2]|0; + $154 = HEAP32[$7>>2]|0; + _LoadImageEx($vararg_buffer,$6,$153,$154); + _free($6); + ;HEAP32[$$sroa$0>>2]=0|0;HEAP32[$$sroa$0+4>>2]=0|0;HEAP32[$$sroa$0+8>>2]=0|0;HEAP32[$$sroa$0+12>>2]=0|0;HEAP32[$$sroa$0+16>>2]=0|0; + ;HEAP32[$$byval_copy4>>2]=HEAP32[$vararg_buffer>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$vararg_buffer+4>>2]|0;HEAP32[$$byval_copy4+8>>2]=HEAP32[$vararg_buffer+8>>2]|0;HEAP32[$$byval_copy4+12>>2]=HEAP32[$vararg_buffer+12>>2]|0;HEAP32[$$byval_copy4+16>>2]=HEAP32[$vararg_buffer+16>>2]|0; + _LoadTextureFromImage($5,$$byval_copy4); + ;HEAP32[$$sroa$0>>2]=HEAP32[$5>>2]|0;HEAP32[$$sroa$0+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$$sroa$0+8>>2]=HEAP32[$5+8>>2]|0;HEAP32[$$sroa$0+12>>2]=HEAP32[$5+12>>2]|0;HEAP32[$$sroa$0+16>>2]=HEAP32[$5+16>>2]|0; + ;HEAP32[$$byval_copy4>>2]=HEAP32[$vararg_buffer>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$vararg_buffer+4>>2]|0;HEAP32[$$byval_copy4+8>>2]=HEAP32[$vararg_buffer+8>>2]|0;HEAP32[$$byval_copy4+12>>2]=HEAP32[$vararg_buffer+12>>2]|0;HEAP32[$$byval_copy4+16>>2]=HEAP32[$vararg_buffer+16>>2]|0; + _UnloadImage($$byval_copy4); + $155 = $$0201$lcssa << 5; + $156 = (_malloc($155)|0); + $157 = ($$0201$lcssa|0)>(0); + if ($157) { + $$021 = 0; + } else { + $175 = ((($156)) + 16|0); + $176 = HEAP32[$175>>2]|0; + _TraceLog(0,14748,$vararg_buffer1); + ;HEAP32[$0>>2]=HEAP32[$$sroa$0>>2]|0;HEAP32[$0+4>>2]=HEAP32[$$sroa$0+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$$sroa$0+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$$sroa$0+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$$sroa$0+16>>2]|0; + $$sroa$5$0$$sroa_idx15 = ((($0)) + 20|0); + HEAP32[$$sroa$5$0$$sroa_idx15>>2] = $176; + $$sroa$6$0$$sroa_idx17 = ((($0)) + 24|0); + HEAP32[$$sroa$6$0$$sroa_idx17>>2] = $$0201$lcssa; + $$sroa$9$0$$sroa_idx20 = ((($0)) + 28|0); + HEAP32[$$sroa$9$0$$sroa_idx20>>2] = $156; + STACKTOP = sp;return; + } + while(1) { + $177 = (($3) + ($$021<<2)|0); + $178 = HEAP32[$177>>2]|0; + $179 = (($156) + ($$021<<5)|0); + HEAP32[$179>>2] = $178; + $180 = (((($156) + ($$021<<5)|0)) + 4|0); + $181 = (($4) + ($$021<<4)|0); + ;HEAP32[$180>>2]=HEAP32[$181>>2]|0;HEAP32[$180+4>>2]=HEAP32[$181+4>>2]|0;HEAP32[$180+8>>2]=HEAP32[$181+8>>2]|0;HEAP32[$180+12>>2]=HEAP32[$181+12>>2]|0; + $182 = (((($156) + ($$021<<5)|0)) + 20|0); + HEAP32[$182>>2] = 0; + $183 = (((($156) + ($$021<<5)|0)) + 24|0); + HEAP32[$183>>2] = 0; + $184 = (((($156) + ($$021<<5)|0)) + 28|0); + HEAP32[$184>>2] = 0; + $185 = (($$021) + 1)|0; + $exitcond = ($185|0)==($$0201$lcssa|0); + if ($exitcond) { + break; + } else { + $$021 = $185; + } + } + $175 = ((($156)) + 16|0); + $176 = HEAP32[$175>>2]|0; + _TraceLog(0,14748,$vararg_buffer1); + ;HEAP32[$0>>2]=HEAP32[$$sroa$0>>2]|0;HEAP32[$0+4>>2]=HEAP32[$$sroa$0+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$$sroa$0+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$$sroa$0+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$$sroa$0+16>>2]|0; + $$sroa$5$0$$sroa_idx15 = ((($0)) + 20|0); + HEAP32[$$sroa$5$0$$sroa_idx15>>2] = $176; + $$sroa$6$0$$sroa_idx17 = ((($0)) + 24|0); + HEAP32[$$sroa$6$0$$sroa_idx17>>2] = $$0201$lcssa; + $$sroa$9$0$$sroa_idx20 = ((($0)) + 28|0); + HEAP32[$$sroa$9$0$$sroa_idx20>>2] = $156; + STACKTOP = sp;return; +} +function _UnloadSpriteFont($0) { + $0 = $0|0; + var $$byval_copy = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $$byval_copy = sp + 40|0; + $vararg_buffer = sp; + $1 = sp + 8|0; + $2 = HEAP32[$0>>2]|0; + _GetDefaultFont($1); + $3 = HEAP32[$1>>2]|0; + $4 = ($2|0)==($3|0); + if ($4) { + STACKTOP = sp;return; + } + ;HEAP32[$$byval_copy>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$0+16>>2]|0; + _UnloadTexture($$byval_copy); + $5 = ((($0)) + 28|0); + $6 = HEAP32[$5>>2]|0; + _free($6); + _TraceLog(3,15166,$vararg_buffer); + STACKTOP = sp;return; +} +function _LoadTTF($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$0124130 = 0, $$0125129 = 0, $$0128 = 0, $$byval_copy9 = 0, $$sroa$0 = 0, $$sroa$10$0$$sroa_idx58 = 0, $$sroa$10$0$$sroa_idx59 = 0, $$sroa$6$0$$sroa_idx49 = 0, $$sroa$6$0$$sroa_idx50 = 0, $$sroa$7$0$$sroa_idx53 = 0, $$sroa$7$0$$sroa_idx54 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0; + var $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0; + var $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0; + var $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0.0, $70 = 0, $71 = 0.0, $72 = 0, $73 = 0, $74 = 0, $75 = 0.0; + var $76 = 0, $77 = 0, $78 = 0, $79 = 0.0, $8 = 0.0, $80 = 0, $81 = 0, $82 = 0, $9 = 0.0, $exitcond = 0, $exp2 = 0.0, $vararg_buffer2 = 0, $vararg_buffer5 = 0, $vararg_buffer7 = 0, $vararg_ptr1 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0); + $$byval_copy9 = sp + 48|0; + $vararg_buffer7 = sp + 40|0; + $vararg_buffer5 = sp + 32|0; + $vararg_buffer2 = sp + 24|0; + $$sroa$0 = sp; + $5 = sp + 68|0; + $6 = sp + 88|0; + $7 = (+($2|0)); + $8 = $7 * 3.0; + $9 = $8 * 0.25; + $10 = (+Math_ceil((+$9))); + $11 = (+($3|0)); + $12 = (+Math_sqrt((+$11))); + $13 = (+Math_ceil((+$12))); + $14 = $10 * $13; + $15 = (+Math_log((+$14))); + $16 = $15 / 0.69314718246459961; + $17 = (+Math_ceil((+$16))); + $exp2 = (+_llvm_exp2_f32((+$17))); + $18 = (~~(($exp2))); + HEAP32[$$byval_copy9>>2] = $18; + $vararg_ptr1 = ((($$byval_copy9)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $18; + _TraceLog(0,15251,$$byval_copy9); + $19 = (_malloc(16777216)|0); + $20 = Math_imul($18, $18)|0; + $21 = (_malloc($20)|0); + $22 = ($3*20)|0; + $23 = (_malloc($22)|0); + ;HEAP32[$$sroa$0>>2]=0|0;HEAP32[$$sroa$0+4>>2]=0|0;HEAP32[$$sroa$0+8>>2]=0|0;HEAP32[$$sroa$0+12>>2]=0|0;HEAP32[$$sroa$0+16>>2]=0|0; + $24 = (_fopen($1,18034)|0); + $25 = ($24|0)==(0|0); + if ($25) { + HEAP32[$vararg_buffer2>>2] = $1; + _TraceLog(1,15305,$vararg_buffer2); + ;HEAP32[$0>>2]=HEAP32[$$sroa$0>>2]|0;HEAP32[$0+4>>2]=HEAP32[$$sroa$0+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$$sroa$0+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$$sroa$0+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$$sroa$0+16>>2]|0; + $$sroa$6$0$$sroa_idx49 = ((($0)) + 20|0); + HEAP32[$$sroa$6$0$$sroa_idx49>>2] = 0; + $$sroa$7$0$$sroa_idx53 = ((($0)) + 24|0); + HEAP32[$$sroa$7$0$$sroa_idx53>>2] = 0; + $$sroa$10$0$$sroa_idx58 = ((($0)) + 28|0); + HEAP32[$$sroa$10$0$$sroa_idx58>>2] = 0; + STACKTOP = sp;return; + } + (_fread($19,1,16777216,$24)|0); + $26 = HEAP32[$4>>2]|0; + $27 = ($26|0)==(32); + if (!($27)) { + _TraceLog(1,15339,$vararg_buffer5); + } + $28 = HEAP32[$4>>2]|0; + $29 = (_stbtt_BakeFontBitmap($19,$7,$21,$18,$18,$28,$3,$23)|0); + $30 = ($29|0)<(0); + if ($30) { + _TraceLog(1,15406,$vararg_buffer7); + } + _free($19); + $31 = $20 << 1; + $32 = (_malloc($31)|0); + $33 = ($20|0)==(0); + if (!($33)) { + $$0124130 = 0;$$0125129 = 0; + while(1) { + $41 = (($32) + ($$0124130)|0); + HEAP8[$41>>0] = -1; + $42 = (($21) + ($$0125129)|0); + $43 = HEAP8[$42>>0]|0; + $44 = $$0124130 | 1; + $45 = (($32) + ($44)|0); + HEAP8[$45>>0] = $43; + $46 = (($$0125129) + 1)|0; + $47 = (($$0124130) + 2)|0; + $48 = ($46|0)<($20|0); + if ($48) { + $$0124130 = $47;$$0125129 = $46; + } else { + break; + } + } + } + _free($21); + $34 = ((($5)) + 4|0); + HEAP32[$34>>2] = $18; + $35 = ((($5)) + 8|0); + HEAP32[$35>>2] = $18; + $36 = ((($5)) + 12|0); + HEAP32[$36>>2] = 1; + $37 = ((($5)) + 16|0); + HEAP32[$37>>2] = 2; + HEAP32[$5>>2] = $32; + ;HEAP32[$$byval_copy9>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy9+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$$byval_copy9+8>>2]=HEAP32[$5+8>>2]|0;HEAP32[$$byval_copy9+12>>2]=HEAP32[$5+12>>2]|0;HEAP32[$$byval_copy9+16>>2]=HEAP32[$5+16>>2]|0; + _LoadTextureFromImage($6,$$byval_copy9); + ;HEAP32[$$sroa$0>>2]=HEAP32[$6>>2]|0;HEAP32[$$sroa$0+4>>2]=HEAP32[$6+4>>2]|0;HEAP32[$$sroa$0+8>>2]=HEAP32[$6+8>>2]|0;HEAP32[$$sroa$0+12>>2]=HEAP32[$6+12>>2]|0;HEAP32[$$sroa$0+16>>2]=HEAP32[$6+16>>2]|0; + ;HEAP32[$$byval_copy9>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy9+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$$byval_copy9+8>>2]=HEAP32[$5+8>>2]|0;HEAP32[$$byval_copy9+12>>2]=HEAP32[$5+12>>2]|0;HEAP32[$$byval_copy9+16>>2]=HEAP32[$5+16>>2]|0; + _UnloadImage($$byval_copy9); + $38 = $3 << 5; + $39 = (_malloc($38)|0); + $40 = ($3|0)>(0); + if ($40) { + $$0128 = 0; + while(1) { + $49 = (($4) + ($$0128<<2)|0); + $50 = HEAP32[$49>>2]|0; + $51 = (($39) + ($$0128<<5)|0); + HEAP32[$51>>2] = $50; + $52 = (($23) + (($$0128*20)|0)|0); + $53 = HEAP16[$52>>1]|0; + $54 = $53&65535; + $55 = (((($39) + ($$0128<<5)|0)) + 4|0); + HEAP32[$55>>2] = $54; + $56 = (((($23) + (($$0128*20)|0)|0)) + 2|0); + $57 = HEAP16[$56>>1]|0; + $58 = $57&65535; + $59 = (((($39) + ($$0128<<5)|0)) + 8|0); + HEAP32[$59>>2] = $58; + $60 = (((($23) + (($$0128*20)|0)|0)) + 4|0); + $61 = HEAP16[$60>>1]|0; + $62 = $61&65535; + $63 = (($62) - ($54))|0; + $64 = (((($39) + ($$0128<<5)|0)) + 12|0); + HEAP32[$64>>2] = $63; + $65 = (((($23) + (($$0128*20)|0)|0)) + 6|0); + $66 = HEAP16[$65>>1]|0; + $67 = $66&65535; + $68 = (($67) - ($58))|0; + $69 = (((($39) + ($$0128<<5)|0)) + 16|0); + HEAP32[$69>>2] = $68; + $70 = (((($23) + (($$0128*20)|0)|0)) + 8|0); + $71 = +HEAPF32[$70>>2]; + $72 = (~~(($71))); + $73 = (((($39) + ($$0128<<5)|0)) + 20|0); + HEAP32[$73>>2] = $72; + $74 = (((($23) + (($$0128*20)|0)|0)) + 12|0); + $75 = +HEAPF32[$74>>2]; + $76 = (~~(($75))); + $77 = (((($39) + ($$0128<<5)|0)) + 24|0); + HEAP32[$77>>2] = $76; + $78 = (((($23) + (($$0128*20)|0)|0)) + 16|0); + $79 = +HEAPF32[$78>>2]; + $80 = (~~(($79))); + $81 = (((($39) + ($$0128<<5)|0)) + 28|0); + HEAP32[$81>>2] = $80; + $82 = (($$0128) + 1)|0; + $exitcond = ($82|0)==($3|0); + if ($exitcond) { + break; + } else { + $$0128 = $82; + } + } + } + _free($23); + ;HEAP32[$0>>2]=HEAP32[$$sroa$0>>2]|0;HEAP32[$0+4>>2]=HEAP32[$$sroa$0+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$$sroa$0+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$$sroa$0+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$$sroa$0+16>>2]|0; + $$sroa$6$0$$sroa_idx50 = ((($0)) + 20|0); + HEAP32[$$sroa$6$0$$sroa_idx50>>2] = $2; + $$sroa$7$0$$sroa_idx54 = ((($0)) + 24|0); + HEAP32[$$sroa$7$0$$sroa_idx54>>2] = $3; + $$sroa$10$0$$sroa_idx59 = ((($0)) + 28|0); + HEAP32[$$sroa$10$0$$sroa_idx59>>2] = $39; + STACKTOP = sp;return; +} +function _stbtt_BakeFontBitmap($0,$1,$2,$3,$4,$5,$6,$7) { + $0 = $0|0; + $1 = +$1; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + $6 = $6|0; + $7 = $7|0; + var $8 = 0, label = 0, sp = 0; + sp = STACKTOP; + $8 = (_stbtt_BakeFontBitmap_internal($0,$1,$2,$3,$4,$5,$6,$7)|0); + return ($8|0); +} +function _stbtt_BakeFontBitmap_internal($0,$1,$2,$3,$4,$5,$6,$7) { + $0 = $0|0; + $1 = +$1; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + $6 = $6|0; + $7 = $7|0; + var $$05 = 0, $$084$ = 0, $$0844 = 0, $$087$$091 = 0, $$0873 = 0, $$089 = 0, $$0902 = 0, $$091$ = 0, $$0911 = 0, $$1 = 0, $$2 = 0, $$286 = 0, $$293 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0; + var $17 = 0, $18 = 0.0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0; + var $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0.0, $52 = 0.0, $53 = 0, $54 = 0, $55 = 0.0, $56 = 0; + var $57 = 0, $58 = 0.0, $59 = 0, $60 = 0, $61 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 144|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(144|0); + $8 = sp + 24|0; + $9 = sp + 20|0; + $10 = sp + 16|0; + $11 = sp + 12|0; + $12 = sp + 8|0; + $13 = sp + 4|0; + $14 = sp; + HEAP32[$8>>2] = 0; + $15 = (_stbtt_InitFont($8,$0)|0); + $16 = ($15|0)==(0); + if ($16) { + $$2 = -1; + STACKTOP = sp;return ($$2|0); + } + $17 = Math_imul($4, $3)|0; + _memset(($2|0),0,($17|0))|0; + $18 = (+_stbtt_ScaleForPixelHeight($8,$1)); + $19 = ($6|0)>(0); + if (!($19)) { + $$2 = 1; + STACKTOP = sp;return ($$2|0); + } + $$05 = 0;$$0844 = 1;$$0873 = 1;$$0902 = 0;$$0911 = 1; + while(1) { + $22 = (($$0902) + ($5))|0; + $23 = (_stbtt_FindGlyphIndex($8,$22)|0); + _stbtt_GetGlyphHMetrics($8,$23,$9,$10); + _stbtt_GetGlyphBitmapBox($8,$23,$18,$18,$11,$12,$13,$14); + $24 = HEAP32[$13>>2]|0; + $25 = HEAP32[$11>>2]|0; + $26 = (($24) - ($25))|0; + $27 = HEAP32[$14>>2]|0; + $28 = HEAP32[$12>>2]|0; + $29 = (($27) - ($28))|0; + $30 = (($$0844) + 1)|0; + $31 = (($30) + ($26))|0; + $32 = ($31|0)<($3|0); + $$087$$091 = $32 ? $$0873 : $$0911; + $$084$ = $32 ? $$0844 : 1; + $33 = (($$087$$091) + ($29))|0; + $34 = (($33) + 1)|0; + $35 = ($34|0)<($4|0); + if ($35) { + $37 = (($$084$) + ($26))|0; + $38 = ($37|0)<($3|0); + if (!($38)) { + label = 8; + break; + } + $39 = (($2) + ($$084$)|0); + $40 = Math_imul($$087$$091, $3)|0; + $41 = (($39) + ($40)|0); + _stbtt_MakeGlyphBitmap($8,$41,$26,$29,$3,$18,$18,$23); + $42 = $$084$&65535; + $43 = (($7) + (($$0902*20)|0)|0); + HEAP16[$43>>1] = $42; + $44 = $$087$$091&65535; + $45 = (((($7) + (($$0902*20)|0)|0)) + 2|0); + HEAP16[$45>>1] = $44; + $46 = $37&65535; + $47 = (((($7) + (($$0902*20)|0)|0)) + 4|0); + HEAP16[$47>>1] = $46; + $48 = $33&65535; + $49 = (((($7) + (($$0902*20)|0)|0)) + 6|0); + HEAP16[$49>>1] = $48; + $50 = HEAP32[$9>>2]|0; + $51 = (+($50|0)); + $52 = $18 * $51; + $53 = (((($7) + (($$0902*20)|0)|0)) + 16|0); + HEAPF32[$53>>2] = $52; + $54 = HEAP32[$11>>2]|0; + $55 = (+($54|0)); + $56 = (((($7) + (($$0902*20)|0)|0)) + 8|0); + HEAPF32[$56>>2] = $55; + $57 = HEAP32[$12>>2]|0; + $58 = (+($57|0)); + $59 = (((($7) + (($$0902*20)|0)|0)) + 12|0); + HEAPF32[$59>>2] = $58; + $60 = (($37) + 1)|0; + $61 = ($33|0)<($$0911|0); + $$091$ = $61 ? $$0911 : $34; + $$089 = 1;$$1 = $$05;$$286 = $60;$$293 = $$091$; + } else { + $36 = (0 - ($$0902))|0; + $$089 = 0;$$1 = $36;$$286 = $$084$;$$293 = $$0911; + } + $21 = (($$0902) + 1)|0; + if (!($$089)) { + $$2 = $$1; + label = 11; + break; + } + $20 = ($21|0)<($6|0); + if ($20) { + $$05 = $$1;$$0844 = $$286;$$0873 = $$087$$091;$$0902 = $21;$$0911 = $$293; + } else { + $$2 = $$293; + label = 11; + break; + } + } + if ((label|0) == 8) { + ___assert_fail((15469|0),(15479|0),3274,(15505|0)); + // unreachable; + } + else if ((label|0) == 11) { + STACKTOP = sp;return ($$2|0); + } + return (0)|0; +} +function _stbtt_InitFont($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = (_stbtt_InitFont_internal($0,$1)|0); + return ($2|0); +} +function _stbtt_ScaleForPixelHeight($0,$1) { + $0 = $0|0; + $1 = +$1; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0.0, $15 = 0.0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($0)) + 4|0); + $3 = HEAP32[$2>>2]|0; + $4 = ((($0)) + 28|0); + $5 = HEAP32[$4>>2]|0; + $6 = (($3) + ($5)|0); + $7 = ((($6)) + 4|0); + $8 = (_ttSHORT($7)|0); + $9 = $8 << 16 >> 16; + $10 = ((($6)) + 6|0); + $11 = (_ttSHORT($10)|0); + $12 = $11 << 16 >> 16; + $13 = (($9) - ($12))|0; + $14 = (+($13|0)); + $15 = $1 / $14; + return (+$15); +} +function _stbtt_FindGlyphIndex($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$ = 0, $$$1172 = 0, $$0163180 = 0, $$0164179 = 0, $$0165 = 0, $$0165$ph = 0, $$0168$ph = 0, $$1172$lcssa = 0, $$1172178 = 0, $$2 = 0, $$2$shrunk = 0, $$5 = 0, $$8 = 0, $$neg = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0; + var $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0; + var $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; + var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0; + var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0; + var $switch = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($0)) + 4|0); + $3 = HEAP32[$2>>2]|0; + $4 = ((($0)) + 40|0); + $5 = HEAP32[$4>>2]|0; + $6 = (($3) + ($5)|0); + $7 = (_ttUSHORT($6)|0); + switch ($7<<16>>16) { + case 0: { + $8 = ((($6)) + 2|0); + $9 = (_ttUSHORT($8)|0); + $10 = $9&65535; + $11 = (($10) + -6)|0; + $12 = ($11|0)>($1|0); + if (!($12)) { + $$8 = 0; + return ($$8|0); + } + $13 = ((($6)) + 6|0); + $14 = (($13) + ($1)|0); + $15 = HEAP8[$14>>0]|0; + $16 = $15&255; + $$8 = $16; + return ($$8|0); + break; + } + case 6: { + $17 = ((($6)) + 6|0); + $18 = (_ttUSHORT($17)|0); + $19 = $18&65535; + $20 = ($19>>>0)>($1>>>0); + if ($20) { + $$8 = 0; + return ($$8|0); + } + $21 = ((($6)) + 8|0); + $22 = (_ttUSHORT($21)|0); + $23 = $22&65535; + $24 = (($23) + ($19))|0; + $25 = ($24>>>0)>($1>>>0); + if (!($25)) { + $$8 = 0; + return ($$8|0); + } + $26 = ((($6)) + 10|0); + $27 = (($1) - ($19))|0; + $28 = $27 << 1; + $29 = (($26) + ($28)|0); + $30 = (_ttUSHORT($29)|0); + $31 = $30&65535; + $$8 = $31; + return ($$8|0); + break; + } + case 2: { + ___assert_fail((17531|0),(15479|0),1347,(16279|0)); + // unreachable; + break; + } + case 4: { + $32 = ((($6)) + 6|0); + $33 = (_ttUSHORT($32)|0); + $34 = ($33&65535) >>> 1; + $35 = ($1|0)>(65535); + if ($35) { + $$8 = 0; + return ($$8|0); + } + $36 = (($5) + 14)|0; + $37 = ((($6)) + 12|0); + $38 = (_ttUSHORT($37)|0); + $39 = ((($6)) + 10|0); + $40 = (_ttUSHORT($39)|0); + $41 = $38 & -2; + $42 = (($3) + ($36)|0); + $43 = $41&65535; + $44 = (($42) + ($43)|0); + $45 = (_ttUSHORT($44)|0); + $46 = $45&65535; + $47 = ($46|0)>($1|0); + $48 = $47 ? 0 : $43; + $$ = (($5) + 12)|0; + $49 = (($$) + ($48))|0; + $50 = ($40<<16>>16)==(0); + if ($50) { + $$1172$lcssa = $49; + } else { + $51 = ((($6)) + 8|0); + $52 = (_ttUSHORT($51)|0); + $53 = ($52&65535) >>> 1; + $$0163180 = $53;$$0164179 = $40;$$1172178 = $49; + while(1) { + $54 = ($$0163180&65535) >>> 1; + $55 = (($3) + ($$1172178)|0); + $56 = ($54 << 1)&65535; + $57 = $56&65535; + $58 = (($55) + ($57)|0); + $59 = (_ttUSHORT($58)|0); + $60 = $59&65535; + $61 = ($60|0)<($1|0); + $62 = $61 ? $57 : 0; + $$$1172 = (($62) + ($$1172178))|0; + $63 = (($$0164179) + -1)<<16>>16; + $64 = ($63<<16>>16)==(0); + if ($64) { + $$1172$lcssa = $$$1172; + break; + } else { + $$0163180 = $54;$$0164179 = $63;$$1172178 = $$$1172; + } + } + } + $$neg = (-14 - ($5))|0; + $65 = (($$neg) + 2)|0; + $66 = (($65) + ($$1172$lcssa))|0; + $67 = $66 & 131070; + $68 = (($42) + ($67)|0); + $69 = (_ttUSHORT($68)|0); + $70 = $69&65535; + $71 = ($70|0)<($1|0); + if ($71) { + ___assert_fail((16300|0),(15479|0),1383,(16279|0)); + // unreachable; + } + $72 = ((($6)) + 14|0); + $73 = $34&65535; + $74 = ($34 << 1)&65535; + $75 = $74&65535; + $76 = (($72) + ($75)|0); + $77 = ((($76)) + 2|0); + $78 = (($77) + ($67)|0); + $79 = (_ttUSHORT($78)|0); + $80 = $79&65535; + $81 = ($80|0)>($1|0); + do { + if ($81) { + $$2$shrunk = 0; + } else { + $82 = ($73*6)|0; + $83 = (($72) + ($82)|0); + $84 = ((($83)) + 2|0); + $85 = (($84) + ($67)|0); + $86 = (_ttUSHORT($85)|0); + $87 = ($86<<16>>16)==(0); + if ($87) { + $88 = $73 << 2; + $89 = (($72) + ($88)|0); + $90 = ((($89)) + 2|0); + $91 = (($90) + ($67)|0); + $92 = (_ttSHORT($91)|0); + $93 = $92&65535; + $94 = (($93) + ($1))|0; + $95 = $94&65535; + $$2$shrunk = $95; + break; + } else { + $96 = $86&65535; + $97 = (($3) + ($96)|0); + $98 = (($1) - ($80))|0; + $99 = $98 << 1; + $100 = (($97) + ($99)|0); + $101 = (($100) + ($5)|0); + $102 = ((($101)) + 14|0); + $103 = (($102) + ($82)|0); + $104 = ((($103)) + 2|0); + $105 = (($104) + ($67)|0); + $106 = (_ttUSHORT($105)|0); + $$2$shrunk = $106; + break; + } + } + } while(0); + $$2 = $$2$shrunk&65535; + $$8 = $$2; + return ($$8|0); + break; + } + default: { + $107 = ($7<<16>>16)==(12); + $108 = $7 & -2; + $switch = ($108<<16>>16)==(12); + if (!($switch)) { + ___assert_fail((17531|0),(15479|0),1418,(16279|0)); + // unreachable; + } + $109 = ((($6)) + 12|0); + $110 = (_ttULONG($109)|0); + $111 = ((($6)) + 16|0); + $$0165$ph = $110;$$0168$ph = 0; + L6: while(1) { + $$0165 = $$0165$ph; + while(1) { + $112 = ($$0165|0)>($$0168$ph|0); + if (!($112)) { + $$8 = 0; + label = 27; + break L6; + } + $113 = (($$0165) - ($$0168$ph))|0; + $114 = $113 >> 1; + $115 = (($114) + ($$0168$ph))|0; + $116 = ($115*12)|0; + $117 = (($111) + ($116)|0); + $118 = (_ttULONG($117)|0); + $119 = ($118>>>0)>($1>>>0); + if ($119) { + $$0165 = $115; + } else { + break; + } + } + $120 = ((($117)) + 4|0); + $121 = (_ttULONG($120)|0); + $122 = ($121>>>0)<($1>>>0); + $123 = (($115) + 1)|0; + if ($122) { + $$0165$ph = $$0165;$$0168$ph = $123; + } else { + break; + } + } + if ((label|0) == 27) { + return ($$8|0); + } + $124 = ((($117)) + 8|0); + $125 = (_ttULONG($124)|0); + $126 = (($1) - ($118))|0; + $127 = $107 ? $126 : 0; + $$5 = (($125) + ($127))|0; + $$8 = $$5; + return ($$8|0); + } + } + return (0)|0; +} +function _stbtt_GetGlyphHMetrics($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0; + var $49 = 0, $5 = 0, $50 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $4 = ((($0)) + 4|0); + $5 = HEAP32[$4>>2]|0; + $6 = ((($0)) + 28|0); + $7 = HEAP32[$6>>2]|0; + $8 = (($5) + ($7)|0); + $9 = ((($8)) + 34|0); + $10 = (_ttUSHORT($9)|0); + $11 = $10&65535; + $12 = ($11|0)>($1|0); + $13 = ($2|0)!=(0|0); + if ($12) { + if ($13) { + $14 = ((($0)) + 32|0); + $15 = HEAP32[$14>>2]|0; + $16 = (($5) + ($15)|0); + $17 = $1 << 2; + $18 = (($16) + ($17)|0); + $19 = (_ttSHORT($18)|0); + $20 = $19 << 16 >> 16; + HEAP32[$2>>2] = $20; + } + $21 = ($3|0)==(0|0); + if ($21) { + return; + } + $22 = HEAP32[$4>>2]|0; + $23 = ((($0)) + 32|0); + $24 = HEAP32[$23>>2]|0; + $25 = (($22) + ($24)|0); + $26 = $1 << 2; + $27 = (($25) + ($26)|0); + $28 = ((($27)) + 2|0); + $29 = (_ttSHORT($28)|0); + $30 = $29 << 16 >> 16; + HEAP32[$3>>2] = $30; + return; + } else { + if ($13) { + $31 = ((($0)) + 32|0); + $32 = HEAP32[$31>>2]|0; + $33 = (($5) + ($32)|0); + $34 = $11 << 2; + $35 = (($34) + -4)|0; + $36 = (($33) + ($35)|0); + $37 = (_ttSHORT($36)|0); + $38 = $37 << 16 >> 16; + HEAP32[$2>>2] = $38; + } + $39 = ($3|0)==(0|0); + if ($39) { + return; + } + $40 = HEAP32[$4>>2]|0; + $41 = ((($0)) + 32|0); + $42 = HEAP32[$41>>2]|0; + $43 = (($40) + ($42)|0); + $44 = $11 << 2; + $45 = (($43) + ($44)|0); + $46 = (($1) - ($11))|0; + $47 = $46 << 1; + $48 = (($45) + ($47)|0); + $49 = (_ttSHORT($48)|0); + $50 = $49 << 16 >> 16; + HEAP32[$3>>2] = $50; + return; + } +} +function _stbtt_GetGlyphBitmapBox($0,$1,$2,$3,$4,$5,$6,$7) { + $0 = $0|0; + $1 = $1|0; + $2 = +$2; + $3 = +$3; + $4 = $4|0; + $5 = $5|0; + $6 = $6|0; + $7 = $7|0; + var label = 0, sp = 0; + sp = STACKTOP; + _stbtt_GetGlyphBitmapBoxSubpixel($0,$1,$2,$3,$4,$5,$6,$7); + return; +} +function _stbtt_MakeGlyphBitmap($0,$1,$2,$3,$4,$5,$6,$7) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = +$5; + $6 = +$6; + $7 = $7|0; + var label = 0, sp = 0; + sp = STACKTOP; + _stbtt_MakeGlyphBitmapSubpixel($0,$1,$2,$3,$4,$5,$6,$7); + return; +} +function _stbtt_MakeGlyphBitmapSubpixel($0,$1,$2,$3,$4,$5,$6,$7) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = +$5; + $6 = +$6; + $7 = $7|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $8 = sp + 24|0; + $9 = sp + 20|0; + $10 = sp + 16|0; + $11 = sp; + $12 = (_stbtt_GetGlyphShape($0,$7,$10)|0); + _stbtt_GetGlyphBitmapBoxSubpixel($0,$7,$5,$6,$8,$9,0,0); + $13 = ((($11)) + 12|0); + HEAP32[$13>>2] = $1; + HEAP32[$11>>2] = $2; + $14 = ((($11)) + 4|0); + HEAP32[$14>>2] = $3; + $15 = ((($11)) + 8|0); + HEAP32[$15>>2] = $4; + $16 = ($2|0)==(0); + $17 = ($3|0)==(0); + $or$cond = $16 | $17; + if ($or$cond) { + $21 = HEAP32[$10>>2]|0; + _free($21); + STACKTOP = sp;return; + } + $18 = HEAP32[$10>>2]|0; + $19 = HEAP32[$8>>2]|0; + $20 = HEAP32[$9>>2]|0; + _stbtt_Rasterize($11,$18,$12,$5,$6,$19,$20); + $21 = HEAP32[$10>>2]|0; + _free($21); + STACKTOP = sp;return; +} +function _stbtt_GetGlyphShape($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$0 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ((($0)) + 56|0); + $4 = HEAP32[$3>>2]|0; + $5 = ($4|0)==(0); + if ($5) { + $6 = (_stbtt__GetGlyphShapeTT($0,$1,$2)|0); + $$0 = $6; + return ($$0|0); + } else { + $7 = (_stbtt__GetGlyphShapeT2($0,$1,$2)|0); + $$0 = $7; + return ($$0|0); + } + return (0)|0; +} +function _stbtt_GetGlyphBitmapBoxSubpixel($0,$1,$2,$3,$4,$5,$6,$7) { + $0 = $0|0; + $1 = $1|0; + $2 = +$2; + $3 = +$3; + $4 = $4|0; + $5 = $5|0; + $6 = $6|0; + $7 = $7|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0.0, $27 = 0.0, $28 = 0.0, $29 = 0; + var $30 = 0, $31 = 0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0.0, $40 = 0.0, $41 = 0.0, $42 = 0, $8 = 0, $9 = 0, $ceilf = 0.0, $ceilf1 = 0.0, $floorf = 0.0, $floorf2 = 0.0, label = 0; + var sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $8 = sp + 12|0; + $9 = sp + 8|0; + $10 = sp + 4|0; + $11 = sp; + HEAP32[$8>>2] = 0; + HEAP32[$9>>2] = 0; + $12 = (_stbtt_GetGlyphBox($0,$1,$8,$9,$10,$11)|0); + $13 = ($12|0)==(0); + $14 = ($4|0)!=(0|0); + if ($13) { + if ($14) { + HEAP32[$4>>2] = 0; + } + $15 = ($5|0)==(0|0); + if (!($15)) { + HEAP32[$5>>2] = 0; + } + $16 = ($6|0)==(0|0); + if (!($16)) { + HEAP32[$6>>2] = 0; + } + $17 = ($7|0)==(0|0); + if ($17) { + STACKTOP = sp;return; + } + HEAP32[$7>>2] = 0; + STACKTOP = sp;return; + } else { + if ($14) { + $18 = HEAP32[$8>>2]|0; + $19 = (+($18|0)); + $20 = $19 * $2; + $21 = $20 + 0.0; + $floorf2 = (+Math_floor((+$21))); + $22 = (~~(($floorf2))); + HEAP32[$4>>2] = $22; + } + $23 = ($5|0)==(0|0); + if (!($23)) { + $24 = HEAP32[$11>>2]|0; + $25 = (0 - ($24))|0; + $26 = (+($25|0)); + $27 = $26 * $3; + $28 = $27 + 0.0; + $floorf = (+Math_floor((+$28))); + $29 = (~~(($floorf))); + HEAP32[$5>>2] = $29; + } + $30 = ($6|0)==(0|0); + if (!($30)) { + $31 = HEAP32[$10>>2]|0; + $32 = (+($31|0)); + $33 = $32 * $2; + $34 = $33 + 0.0; + $ceilf1 = (+Math_ceil((+$34))); + $35 = (~~(($ceilf1))); + HEAP32[$6>>2] = $35; + } + $36 = ($7|0)==(0|0); + if ($36) { + STACKTOP = sp;return; + } + $37 = HEAP32[$9>>2]|0; + $38 = (0 - ($37))|0; + $39 = (+($38|0)); + $40 = $39 * $3; + $41 = $40 + 0.0; + $ceilf = (+Math_ceil((+$41))); + $42 = (~~(($ceilf))); + HEAP32[$7>>2] = $42; + STACKTOP = sp;return; + } +} +function _stbtt_Rasterize($0,$1,$2,$3,$4,$5,$6) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = +$3; + $4 = +$4; + $5 = $5|0; + $6 = $6|0; + var $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $7 = sp + 4|0; + $8 = sp; + $9 = $3 > $4; + $10 = $9 ? $4 : $3; + $11 = 0.34999999403953552 / $10; + $12 = (_stbtt_FlattenCurves($1,$2,$11,$8,$7)|0); + $13 = ($12|0)==(0|0); + if ($13) { + STACKTOP = sp;return; + } + $14 = HEAP32[$8>>2]|0; + $15 = HEAP32[$7>>2]|0; + _stbtt__rasterize($0,$12,$14,$15,$3,$4,$5,$6); + _free($14); + _free($12); + STACKTOP = sp;return; +} +function _stbtt_FlattenCurves($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = +$2; + $3 = $3|0; + $4 = $4|0; + var $$$0113 = 0, $$010 = 0.0, $$01079 = 0.0, $$011014 = 0, $$011113 = 0, $$011316 = 0, $$011715 = 0, $$0119 = 0, $$012012 = 0, $$1 = 0.0, $$1108 = 0.0, $$1112$lcssa = 0, $$11128 = 0, $$11185 = 0, $$1121 = 0, $$2 = 0, $$2115$lcssa = 0, $$21157 = 0, $$3116 = 0, $10 = 0; + var $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0; + var $31 = 0, $32 = 0, $33 = 0, $34 = 0.0, $35 = 0, $36 = 0, $37 = 0.0, $38 = 0, $39 = 0, $40 = 0.0, $41 = 0, $42 = 0, $43 = 0.0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0.0, $49 = 0, $5 = 0; + var $50 = 0, $51 = 0.0, $52 = 0, $53 = 0.0, $54 = 0, $55 = 0, $56 = 0.0, $57 = 0, $58 = 0.0, $59 = 0, $6 = 0.0, $60 = 0.0, $61 = 0, $62 = 0, $63 = 0.0, $64 = 0, $65 = 0, $66 = 0.0, $67 = 0, $68 = 0; + var $69 = 0.0, $7 = 0, $70 = 0, $71 = 0, $72 = 0.0, $73 = 0, $74 = 0.0, $75 = 0, $76 = 0, $77 = 0.0, $78 = 0, $79 = 0.0, $8 = 0, $80 = 0, $81 = 0.0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0; + var $87 = 0, $88 = 0, $89 = 0, $9 = 0, $exitcond = 0, $exitcond21 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $5 = sp; + HEAP32[$5>>2] = 0; + $6 = $2 * $2; + $7 = ($1|0)>(0); + if ($7) { + $$011316 = 0;$$011715 = 0; + } else { + HEAP32[$4>>2] = 0; + $$0119 = 0; + STACKTOP = sp;return ($$0119|0); + } + while(1) { + $8 = (((($0) + (($$011715*14)|0)|0)) + 12|0); + $9 = HEAP8[$8>>0]|0; + $10 = ($9<<24>>24)==(1); + $11 = $10&1; + $$$0113 = (($11) + ($$011316))|0; + $12 = (($$011715) + 1)|0; + $exitcond21 = ($12|0)==($1|0); + if ($exitcond21) { + break; + } else { + $$011316 = $$$0113;$$011715 = $12; + } + } + HEAP32[$4>>2] = $$$0113; + $13 = ($$$0113|0)==(0); + if ($13) { + $$0119 = 0; + STACKTOP = sp;return ($$0119|0); + } + $14 = $$$0113 << 2; + $15 = (_malloc($14)|0); + HEAP32[$3>>2] = $15; + $16 = ($15|0)==(0|0); + if ($16) { + HEAP32[$4>>2] = 0; + $$0119 = 0; + STACKTOP = sp;return ($$0119|0); + } + $17 = ($1|0)>(0); + $$011014 = 0;$$011113 = 0;$$012012 = 0; + while(1) { + $18 = ($$011014|0)==(1); + if ($18) { + $19 = HEAP32[$5>>2]|0; + $20 = $19 << 3; + $21 = (_malloc($20)|0); + $22 = ($21|0)==(0|0); + if ($22) { + break; + } else { + $$1121 = $21; + } + } else { + $$1121 = $$012012; + } + HEAP32[$5>>2] = 0; + L19: do { + if ($17) { + $$010 = 0.0;$$01079 = 0.0;$$11128 = $$011113;$$11185 = 0;$$21157 = -1; + while(1) { + $23 = (($0) + (($$11185*14)|0)|0); + $24 = (((($0) + (($$11185*14)|0)|0)) + 12|0); + $25 = HEAP8[$24>>0]|0; + switch ($25<<24>>24) { + case 1: { + $26 = ($$21157|0)>(-1); + if ($26) { + $27 = HEAP32[$5>>2]|0; + $28 = (($27) - ($$11128))|0; + $29 = HEAP32[$3>>2]|0; + $30 = (($29) + ($$21157<<2)|0); + HEAP32[$30>>2] = $28; + } + $31 = (($$21157) + 1)|0; + $32 = HEAP32[$5>>2]|0; + $33 = HEAP16[$23>>1]|0; + $34 = (+($33<<16>>16)); + $35 = (((($0) + (($$11185*14)|0)|0)) + 2|0); + $36 = HEAP16[$35>>1]|0; + $37 = (+($36<<16>>16)); + $38 = (($32) + 1)|0; + HEAP32[$5>>2] = $38; + _stbtt__add_point($$1121,$32,$34,$37); + $$1 = $37;$$1108 = $34;$$2 = $32;$$3116 = $31; + break; + } + case 2: { + $39 = HEAP16[$23>>1]|0; + $40 = (+($39<<16>>16)); + $41 = (((($0) + (($$11185*14)|0)|0)) + 2|0); + $42 = HEAP16[$41>>1]|0; + $43 = (+($42<<16>>16)); + $44 = HEAP32[$5>>2]|0; + $45 = (($44) + 1)|0; + HEAP32[$5>>2] = $45; + _stbtt__add_point($$1121,$44,$40,$43); + $$1 = $43;$$1108 = $40;$$2 = $$11128;$$3116 = $$21157; + break; + } + case 3: { + $46 = (((($0) + (($$11185*14)|0)|0)) + 4|0); + $47 = HEAP16[$46>>1]|0; + $48 = (+($47<<16>>16)); + $49 = (((($0) + (($$11185*14)|0)|0)) + 6|0); + $50 = HEAP16[$49>>1]|0; + $51 = (+($50<<16>>16)); + $52 = HEAP16[$23>>1]|0; + $53 = (+($52<<16>>16)); + $54 = (((($0) + (($$11185*14)|0)|0)) + 2|0); + $55 = HEAP16[$54>>1]|0; + $56 = (+($55<<16>>16)); + _stbtt__tesselate_curve($$1121,$5,$$01079,$$010,$48,$51,$53,$56,$6,0); + $57 = HEAP16[$23>>1]|0; + $58 = (+($57<<16>>16)); + $59 = HEAP16[$54>>1]|0; + $60 = (+($59<<16>>16)); + $$1 = $60;$$1108 = $58;$$2 = $$11128;$$3116 = $$21157; + break; + } + case 4: { + $61 = (((($0) + (($$11185*14)|0)|0)) + 4|0); + $62 = HEAP16[$61>>1]|0; + $63 = (+($62<<16>>16)); + $64 = (((($0) + (($$11185*14)|0)|0)) + 6|0); + $65 = HEAP16[$64>>1]|0; + $66 = (+($65<<16>>16)); + $67 = (((($0) + (($$11185*14)|0)|0)) + 8|0); + $68 = HEAP16[$67>>1]|0; + $69 = (+($68<<16>>16)); + $70 = (((($0) + (($$11185*14)|0)|0)) + 10|0); + $71 = HEAP16[$70>>1]|0; + $72 = (+($71<<16>>16)); + $73 = HEAP16[$23>>1]|0; + $74 = (+($73<<16>>16)); + $75 = (((($0) + (($$11185*14)|0)|0)) + 2|0); + $76 = HEAP16[$75>>1]|0; + $77 = (+($76<<16>>16)); + _stbtt__tesselate_cubic($$1121,$5,$$01079,$$010,$63,$66,$69,$72,$74,$77,$6,0); + $78 = HEAP16[$23>>1]|0; + $79 = (+($78<<16>>16)); + $80 = HEAP16[$75>>1]|0; + $81 = (+($80<<16>>16)); + $$1 = $81;$$1108 = $79;$$2 = $$11128;$$3116 = $$21157; + break; + } + default: { + $$1 = $$010;$$1108 = $$01079;$$2 = $$11128;$$3116 = $$21157; + } + } + $82 = (($$11185) + 1)|0; + $exitcond = ($82|0)==($1|0); + if ($exitcond) { + $$1112$lcssa = $$2;$$2115$lcssa = $$3116; + break L19; + } else { + $$010 = $$1;$$01079 = $$1108;$$11128 = $$2;$$11185 = $82;$$21157 = $$3116; + } + } + } else { + $$1112$lcssa = $$011113;$$2115$lcssa = -1; + } + } while(0); + $83 = HEAP32[$5>>2]|0; + $84 = (($83) - ($$1112$lcssa))|0; + $85 = HEAP32[$3>>2]|0; + $86 = (($85) + ($$2115$lcssa<<2)|0); + HEAP32[$86>>2] = $84; + $87 = (($$011014) + 1)|0; + $88 = ($87|0)<(2); + if ($88) { + $$011014 = $87;$$011113 = $$1112$lcssa;$$012012 = $$1121; + } else { + $$0119 = $$1121; + label = 21; + break; + } + } + if ((label|0) == 21) { + STACKTOP = sp;return ($$0119|0); + } + $89 = HEAP32[$3>>2]|0; + _free($89); + HEAP32[$3>>2] = 0; + HEAP32[$4>>2] = 0; + $$0119 = 0; + STACKTOP = sp;return ($$0119|0); +} +function _stbtt__rasterize($0,$1,$2,$3,$4,$5,$6,$7) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = +$4; + $5 = +$5; + $6 = $6|0; + $7 = $7|0; + var $$0 = 0, $$0101 = 0, $$0102$lcssa = 0, $$010211 = 0, $$010410 = 0, $$01064 = 0, $$01072 = 0, $$01081 = 0, $$01081$phi = 0, $$1$lcssa = 0, $$11055 = 0, $$16 = 0, $$2$lcssa = 0, $$23 = 0, $$3 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0; + var $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0.0, $27 = 0, $28 = 0, $29 = 0.0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0.0; + var $35 = 0.0, $36 = 0.0, $37 = 0, $38 = 0, $39 = 0.0, $40 = 0.0, $41 = 0.0, $42 = 0, $43 = 0, $44 = 0.0, $45 = 0.0, $46 = 0.0, $47 = 0, $48 = 0, $49 = 0.0, $50 = 0.0, $51 = 0.0, $52 = 0, $53 = 0, $54 = 0; + var $55 = 0, $56 = 0, $8 = 0.0, $9 = 0, $exitcond = 0, $exitcond16 = 0, $phitmp = 0, $phitmp17 = 0, $storemerge = 0, label = 0, sp = 0; + sp = STACKTOP; + $8 = -$5; + $9 = ($3|0)>(0); + if ($9) { + $$010211 = 0;$$010410 = 0; + while(1) { + $10 = (($2) + ($$010410<<2)|0); + $11 = HEAP32[$10>>2]|0; + $12 = (($11) + ($$010211))|0; + $13 = (($$010410) + 1)|0; + $exitcond16 = ($13|0)==($3|0); + if ($exitcond16) { + break; + } else { + $$010211 = $12;$$010410 = $13; + } + } + $phitmp = ($12*20)|0; + $phitmp17 = (($phitmp) + 20)|0; + $$0102$lcssa = $phitmp17; + } else { + $$0102$lcssa = 20; + } + $14 = (_malloc($$0102$lcssa)|0); + $15 = ($14|0)==(0|0); + if ($15) { + return; + } + $16 = ($3|0)>(0); + if ($16) { + $$01064 = 0;$$11055 = 0;$$16 = 0; + while(1) { + $17 = (($1) + ($$01064<<3)|0); + $18 = (($2) + ($$11055<<2)|0); + $19 = HEAP32[$18>>2]|0; + $20 = (($19) + ($$01064))|0; + $21 = ($19|0)>(0); + if ($21) { + $22 = (($19) + -1)|0; + $23 = HEAP32[$18>>2]|0; + $$01072 = 0;$$01081 = $22;$$23 = $$16; + while(1) { + $24 = (($17) + ($$01081<<3)|0); + $25 = ((($24)) + 4|0); + $26 = +HEAPF32[$25>>2]; + $27 = (($17) + ($$01072<<3)|0); + $28 = ((($27)) + 4|0); + $29 = +HEAPF32[$28>>2]; + $30 = $26 == $29; + if ($30) { + $$3 = $$23; + } else { + $31 = (((($14) + (($$23*20)|0)|0)) + 16|0); + $32 = $26 > $29; + $storemerge = $32&1; + $$0101 = $32 ? $$01081 : $$01072; + $$0 = $32 ? $$01072 : $$01081; + HEAP32[$31>>2] = $storemerge; + $33 = (($17) + ($$0101<<3)|0); + $34 = +HEAPF32[$33>>2]; + $35 = $34 * $4; + $36 = $35 + 0.0; + $37 = (($14) + (($$23*20)|0)|0); + HEAPF32[$37>>2] = $36; + $38 = ((($33)) + 4|0); + $39 = +HEAPF32[$38>>2]; + $40 = $39 * $8; + $41 = $40 + 0.0; + $42 = (((($14) + (($$23*20)|0)|0)) + 4|0); + HEAPF32[$42>>2] = $41; + $43 = (($17) + ($$0<<3)|0); + $44 = +HEAPF32[$43>>2]; + $45 = $44 * $4; + $46 = $45 + 0.0; + $47 = (((($14) + (($$23*20)|0)|0)) + 8|0); + HEAPF32[$47>>2] = $46; + $48 = ((($43)) + 4|0); + $49 = +HEAPF32[$48>>2]; + $50 = $49 * $8; + $51 = $50 + 0.0; + $52 = (((($14) + (($$23*20)|0)|0)) + 12|0); + HEAPF32[$52>>2] = $51; + $53 = (($$23) + 1)|0; + $$3 = $53; + } + $54 = (($$01072) + 1)|0; + $55 = ($54|0)<($23|0); + if ($55) { + $$01081$phi = $$01072;$$01072 = $54;$$23 = $$3;$$01081 = $$01081$phi; + } else { + $$2$lcssa = $$3; + break; + } + } + } else { + $$2$lcssa = $$16; + } + $56 = (($$11055) + 1)|0; + $exitcond = ($56|0)==($3|0); + if ($exitcond) { + $$1$lcssa = $$2$lcssa; + break; + } else { + $$01064 = $20;$$11055 = $56;$$16 = $$2$lcssa; + } + } + } else { + $$1$lcssa = 0; + } + _stbtt__sort_edges($14,$$1$lcssa); + _stbtt__rasterize_sorted_edges($0,$14,$$1$lcssa,$6,$7); + _free($14); + return; +} +function _stbtt__sort_edges($0,$1) { + $0 = $0|0; + $1 = $1|0; + var label = 0, sp = 0; + sp = STACKTOP; + _stbtt__sort_edges_quicksort($0,$1); + _stbtt__sort_edges_ins_sort($0,$1); + return; +} +function _stbtt__rasterize_sorted_edges($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$ = 0, $$010025 = 0, $$010123 = 0, $$010219 = 0.0, $$010318 = 0, $$0104 = 0, $$0105$ph15 = 0, $$026 = 0, $$1$lcssa = 0, $$116 = 0, $$sroa$0 = 0, $$sroa$0$0$$sroa$0$0$$0$1 = 0, $$sroa$0$0$$sroa$0$0$$0$1079 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0; + var $17 = 0.0, $18 = 0.0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0.0, $26 = 0.0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0.0, $34 = 0, $35 = 0, $36 = 0; + var $37 = 0.0, $38 = 0, $39 = 0, $40 = 0, $41 = 0.0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0.0, $49 = 0, $5 = 0, $50 = 0.0, $51 = 0, $52 = 0, $53 = 0, $54 = 0.0, $55 = 0; + var $56 = 0, $57 = 0, $58 = 0, $59 = 0.0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0.0, $69 = 0.0, $7 = 0, $70 = 0, $71 = 0.0, $72 = 0.0, $73 = 0.0; + var $74 = 0.0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0.0, $89 = 0, $9 = 0, $90 = 0.0, $91 = 0.0; + var $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $fabsf = 0.0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 544|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(544|0); + $5 = sp + 520|0; + $$sroa$0 = sp + 516|0; + $6 = sp; + ;HEAP32[$5>>2]=0|0;HEAP32[$5+4>>2]=0|0;HEAP32[$5+8>>2]=0|0; + HEAP32[$$sroa$0>>2] = 0; + $7 = HEAP32[$0>>2]|0; + $8 = ($7|0)>(64); + if ($8) { + $9 = $7 << 3; + $10 = $9 | 4; + $11 = (_malloc($10)|0); + $$0104 = $11; + } else { + $$0104 = $6; + } + $12 = HEAP32[$0>>2]|0; + $13 = (($$0104) + ($12<<2)|0); + $14 = ((($0)) + 4|0); + $15 = HEAP32[$14>>2]|0; + $16 = (($15) + ($4))|0; + $17 = (+($16|0)); + $18 = $17 + 1.0; + $19 = (((($1) + (($2*20)|0)|0)) + 4|0); + HEAPF32[$19>>2] = $18; + $20 = HEAP32[$14>>2]|0; + $21 = ($20|0)>(0); + L5: do { + if ($21) { + $22 = ((($13)) + 4|0); + $23 = ((($0)) + 12|0); + $24 = ((($0)) + 8|0); + $$010025 = $4;$$010123 = 0;$$026 = $1; + L7: while(1) { + $25 = (+($$010025|0)); + $26 = $25 + 1.0; + $27 = HEAP32[$0>>2]|0; + $28 = $27 << 2; + _memset(($$0104|0),0,($28|0))|0; + $29 = (($28) + 4)|0; + _memset(($13|0),0,($29|0))|0; + $30 = HEAP32[$$sroa$0>>2]|0; + $31 = ($30|0)==(0|0); + L9: do { + if (!($31)) { + $$0105$ph15 = $$sroa$0;$99 = $30; + while(1) { + $36 = $99; + while(1) { + $35 = ((($36)) + 24|0); + $37 = +HEAPF32[$35>>2]; + $38 = !($37 <= $25); + if ($38) { + break; + } + $39 = HEAP32[$36>>2]|0; + HEAP32[$$0105$ph15>>2] = $39; + $40 = ((($36)) + 16|0); + $41 = +HEAPF32[$40>>2]; + $42 = $41 != 0.0; + if (!($42)) { + label = 11; + break L7; + } + HEAPF32[$40>>2] = 0.0; + _stbtt__hheap_free($5,$36); + $43 = HEAP32[$$0105$ph15>>2]|0; + $44 = ($43|0)==(0|0); + if ($44) { + break L9; + } else { + $36 = $43; + } + } + $45 = HEAP32[$36>>2]|0; + $46 = ($45|0)==(0|0); + if ($46) { + break; + } else { + $$0105$ph15 = $36;$99 = $45; + } + } + } + } while(0); + $32 = ((($$026)) + 4|0); + $33 = +HEAPF32[$32>>2]; + $34 = !($33 <= $26); + if ($34) { + $$1$lcssa = $$026; + } else { + $$116 = $$026;$50 = $33; + while(1) { + $47 = ((($$116)) + 12|0); + $48 = +HEAPF32[$47>>2]; + $49 = $50 != $48; + if ($49) { + $51 = (_stbtt__new_active($5,$$116,$3,$25)|0); + $52 = ($51|0)==(0|0); + if (!($52)) { + $53 = ((($51)) + 24|0); + $54 = +HEAPF32[$53>>2]; + $55 = !($54 >= $25); + if ($55) { + label = 17; + break L7; + } + $$sroa$0$0$$sroa$0$0$$0$1 = HEAP32[$$sroa$0>>2]|0; + HEAP32[$51>>2] = $$sroa$0$0$$sroa$0$0$$0$1; + $56 = $51; + HEAP32[$$sroa$0>>2] = $56; + } + } + $57 = ((($$116)) + 20|0); + $58 = ((($$116)) + 24|0); + $59 = +HEAPF32[$58>>2]; + $60 = !($59 <= $26); + if ($60) { + $$1$lcssa = $57; + break; + } else { + $$116 = $57;$50 = $59; + } + } + } + $$sroa$0$0$$sroa$0$0$$0$1079 = HEAP32[$$sroa$0>>2]|0; + $61 = ($$sroa$0$0$$sroa$0$0$$0$1079|0)==(0|0); + if (!($61)) { + $62 = HEAP32[$0>>2]|0; + _stbtt__fill_active_edges_new($$0104,$22,$62,$$sroa$0$0$$sroa$0$0$$0$1079,$25); + } + $63 = HEAP32[$0>>2]|0; + $64 = ($63|0)>(0); + if ($64) { + $$010219 = 0.0;$$010318 = 0; + while(1) { + $67 = (($13) + ($$010318<<2)|0); + $68 = +HEAPF32[$67>>2]; + $69 = $$010219 + $68; + $70 = (($$0104) + ($$010318<<2)|0); + $71 = +HEAPF32[$70>>2]; + $72 = $71 + $69; + $fabsf = (+Math_abs((+$72))); + $73 = $fabsf * 255.0; + $74 = $73 + 0.5; + $75 = (~~(($74))); + $76 = ($75|0)<(255); + $$ = $76 ? $75 : 255; + $77 = $$&255; + $78 = HEAP32[$23>>2]|0; + $79 = HEAP32[$24>>2]|0; + $80 = Math_imul($79, $$010123)|0; + $81 = (($80) + ($$010318))|0; + $82 = (($78) + ($81)|0); + HEAP8[$82>>0] = $77; + $83 = (($$010318) + 1)|0; + $84 = HEAP32[$0>>2]|0; + $85 = ($83|0)<($84|0); + if ($85) { + $$010219 = $69;$$010318 = $83; + } else { + break; + } + } + } + $65 = HEAP32[$$sroa$0>>2]|0; + $66 = ($65|0)==(0|0); + if (!($66)) { + $87 = $65; + while(1) { + $86 = ((($87)) + 8|0); + $88 = +HEAPF32[$86>>2]; + $89 = ((($87)) + 4|0); + $90 = +HEAPF32[$89>>2]; + $91 = $88 + $90; + HEAPF32[$89>>2] = $91; + $92 = HEAP32[$87>>2]|0; + $93 = ($92|0)==(0|0); + if ($93) { + break; + } else { + $87 = $92; + } + } + } + $94 = (($$010025) + 1)|0; + $95 = (($$010123) + 1)|0; + $96 = HEAP32[$14>>2]|0; + $97 = ($95|0)<($96|0); + if ($97) { + $$010025 = $94;$$010123 = $95;$$026 = $$1$lcssa; + } else { + break L5; + } + } + if ((label|0) == 11) { + ___assert_fail((15535|0),(15479|0),2775,(15548|0)); + // unreachable; + } + else if ((label|0) == 17) { + ___assert_fail((15578|0),(15479|0),2788,(15548|0)); + // unreachable; + } + } + } while(0); + _stbtt__hheap_cleanup($5); + $98 = ($$0104|0)==($6|0); + if ($98) { + STACKTOP = sp;return; + } + _free($$0104); + STACKTOP = sp;return; +} +function _stbtt__hheap_free($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($0)) + 4|0); + $3 = HEAP32[$2>>2]|0; + HEAP32[$1>>2] = $3; + HEAP32[$2>>2] = $1; + return; +} +function _stbtt__new_active($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = +$3; + var $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0, $18 = 0.0, $19 = 0.0, $20 = 0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0.0, $26 = 0, $27 = 0.0, $28 = 0.0, $29 = 0; + var $30 = 0, $31 = 0, $32 = 0.0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $4 = 0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $4 = (_stbtt__hheap_alloc($0)|0); + $5 = ((($1)) + 8|0); + $6 = +HEAPF32[$5>>2]; + $7 = +HEAPF32[$1>>2]; + $8 = $6 - $7; + $9 = ((($1)) + 12|0); + $10 = +HEAPF32[$9>>2]; + $11 = ((($1)) + 4|0); + $12 = +HEAPF32[$11>>2]; + $13 = $10 - $12; + $14 = $8 / $13; + $15 = ($4|0)==(0|0); + if ($15) { + ___assert_fail((15868|0),(15479|0),2374,(15884|0)); + // unreachable; + } else { + $16 = ((($4)) + 8|0); + HEAPF32[$16>>2] = $14; + $17 = $14 != 0.0; + $18 = 1.0 / $14; + $19 = $17 ? $18 : 0.0; + $20 = ((($4)) + 12|0); + HEAPF32[$20>>2] = $19; + $21 = +HEAPF32[$1>>2]; + $22 = +HEAPF32[$11>>2]; + $23 = $3 - $22; + $24 = $14 * $23; + $25 = $21 + $24; + $26 = ((($4)) + 4|0); + $27 = (+($2|0)); + $28 = $25 - $27; + HEAPF32[$26>>2] = $28; + $29 = ((($1)) + 16|0); + $30 = HEAP32[$29>>2]|0; + $31 = ($30|0)!=(0); + $32 = $31 ? 1.0 : -1.0; + $33 = ((($4)) + 16|0); + HEAPF32[$33>>2] = $32; + $34 = ((($4)) + 20|0); + HEAPF32[$34>>2] = $22; + $35 = HEAP32[$9>>2]|0; + $36 = ((($4)) + 24|0); + HEAP32[$36>>2] = $35; + HEAP32[$4>>2] = 0; + return ($4|0); + } + return (0)|0; +} +function _stbtt__fill_active_edges_new($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = +$4; + var $$0350 = 0.0, $$0351 = 0.0, $$0352 = 0.0, $$0354 = 0.0, $$0356370 = 0, $$0357 = 0.0, $$0359$lcssa = 0.0, $$0359372 = 0.0, $$0360 = 0.0, $$0361371 = 0, $$0374 = 0, $$1 = 0.0, $$1353 = 0.0, $$1355 = 0.0, $$1358 = 0.0, $10 = 0.0, $100 = 0.0, $101 = 0, $102 = 0, $103 = 0; + var $104 = 0.0, $105 = 0.0, $106 = 0.0, $107 = 0.0, $108 = 0.0, $109 = 0.0, $11 = 0, $110 = 0.0, $111 = 0.0, $112 = 0.0, $113 = 0.0, $114 = 0.0, $115 = 0.0, $116 = 0, $117 = 0.0, $118 = 0.0, $119 = 0.0, $12 = 0, $120 = 0.0, $121 = 0; + var $122 = 0.0, $123 = 0.0, $124 = 0.0, $125 = 0, $126 = 0.0, $127 = 0.0, $128 = 0.0, $129 = 0.0, $13 = 0.0, $130 = 0.0, $131 = 0.0, $132 = 0.0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0; + var $140 = 0, $141 = 0, $142 = 0, $15 = 0, $16 = 0.0, $17 = 0, $18 = 0, $19 = 0.0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0.0, $25 = 0, $26 = 0.0, $27 = 0, $28 = 0.0, $29 = 0, $30 = 0, $31 = 0.0; + var $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0, $36 = 0.0, $37 = 0.0, $38 = 0.0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0.0, $47 = 0, $48 = 0, $49 = 0, $5 = 0.0, $50 = 0.0; + var $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0.0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0, $6 = 0, $60 = 0.0, $61 = 0.0, $62 = 0.0, $63 = 0.0, $64 = 0, $65 = 0.0, $66 = 0.0, $67 = 0, $68 = 0.0, $69 = 0.0; + var $7 = 0.0, $70 = 0.0, $71 = 0.0, $72 = 0.0, $73 = 0, $74 = 0, $75 = 0, $76 = 0.0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0, $80 = 0, $81 = 0.0, $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0.0, $86 = 0.0, $87 = 0.0; + var $88 = 0.0, $89 = 0.0, $9 = 0, $90 = 0, $91 = 0.0, $92 = 0.0, $93 = 0.0, $94 = 0, $95 = 0.0, $96 = 0.0, $97 = 0, $98 = 0.0, $99 = 0.0, $exitcond = 0, $exitcond380 = 0, $fabsf = 0.0, $or$cond = 0, $or$cond362 = 0, $or$cond363 = 0, $or$cond364 = 0; + var $or$cond365 = 0, $or$cond366 = 0, $or$cond367 = 0, $or$cond368 = 0, $or$cond369 = 0, label = 0, sp = 0; + sp = STACKTOP; + $5 = $4 + 1.0; + $6 = ($3|0)==(0|0); + if ($6) { + return; + } + $7 = (+($2|0)); + $8 = ((($1)) + -4|0); + $9 = ((($1)) + -4|0); + $10 = (+($2|0)); + $11 = ($2|0)>(0); + $$0374 = $3; + L4: while(1) { + $12 = ((($$0374)) + 24|0); + $13 = +HEAPF32[$12>>2]; + $14 = !($13 >= $4); + if ($14) { + label = 4; + break; + } + $15 = ((($$0374)) + 8|0); + $16 = +HEAPF32[$15>>2]; + $17 = $16 == 0.0; + $18 = ((($$0374)) + 4|0); + $19 = +HEAPF32[$18>>2]; + do { + if ($17) { + $20 = $19 < $7; + if ($20) { + $21 = !($19 >= 0.0); + if ($21) { + _stbtt__handle_clipped_edge($8,0,$$0374,$19,$4,$19,$5); + break; + } else { + $22 = (~~(($19))); + _stbtt__handle_clipped_edge($0,$22,$$0374,$19,$4,$19,$5); + $23 = (($22) + 1)|0; + _stbtt__handle_clipped_edge($9,$23,$$0374,$19,$4,$19,$5); + break; + } + } + } else { + $24 = $16 + $19; + $25 = ((($$0374)) + 12|0); + $26 = +HEAPF32[$25>>2]; + $27 = ((($$0374)) + 20|0); + $28 = +HEAPF32[$27>>2]; + $29 = !($28 <= $5); + if ($29) { + label = 11; + break L4; + } + $30 = $28 > $4; + $31 = $28 - $4; + $32 = $16 * $31; + $33 = $19 + $32; + $$0354 = $30 ? $28 : $4; + $$0351 = $30 ? $33 : $19; + $34 = +HEAPF32[$12>>2]; + $35 = $34 < $5; + $36 = $34 - $4; + $37 = $16 * $36; + $38 = $19 + $37; + $$0357 = $35 ? $34 : $5; + $$0352 = $35 ? $38 : $24; + $39 = $$0351 >= 0.0; + $40 = $$0352 >= 0.0; + $or$cond = $39 & $40; + if ($or$cond) { + $41 = $$0351 < $10; + $42 = $$0352 < $10; + $or$cond362 = $41 & $42; + if ($or$cond362) { + $43 = (~~(($$0351))); + $44 = (~~(($$0352))); + $45 = ($43|0)==($44|0); + if ($45) { + $46 = $$0357 - $$0354; + $47 = ($43|0)>(-1); + $48 = ($43|0)<($2|0); + $or$cond363 = $47 & $48; + if (!($or$cond363)) { + label = 17; + break L4; + } + $49 = ((($$0374)) + 16|0); + $50 = +HEAPF32[$49>>2]; + $51 = (+($43|0)); + $52 = $$0351 - $51; + $53 = $$0352 - $51; + $54 = $52 + $53; + $55 = $54 * 0.5; + $56 = 1.0 - $55; + $57 = $56 * $50; + $58 = $46 * $57; + $59 = (($0) + ($43<<2)|0); + $60 = +HEAPF32[$59>>2]; + $61 = $60 + $58; + HEAPF32[$59>>2] = $61; + $62 = +HEAPF32[$49>>2]; + $63 = $46 * $62; + $64 = (($1) + ($43<<2)|0); + $65 = +HEAPF32[$64>>2]; + $66 = $65 + $63; + HEAPF32[$64>>2] = $66; + break; + } + $67 = $$0351 > $$0352; + if ($67) { + $68 = -$26; + $69 = $$0357 - $4; + $70 = $5 - $69; + $71 = $$0354 - $4; + $72 = $5 - $71; + $$0350 = $24;$$0360 = $68;$$1 = $$0352;$$1353 = $$0351;$$1355 = $70;$$1358 = $72; + } else { + $$0350 = $19;$$0360 = $26;$$1 = $$0351;$$1353 = $$0352;$$1355 = $$0354;$$1358 = $$0357; + } + $73 = (~~(($$1))); + $74 = (~~(($$1353))); + $75 = (($73) + 1)|0; + $76 = (+($75|0)); + $77 = $76 - $$0350; + $78 = $$0360 * $77; + $79 = $78 + $4; + $80 = ((($$0374)) + 16|0); + $81 = +HEAPF32[$80>>2]; + $82 = $79 - $$1355; + $83 = $81 * $82; + $84 = (+($73|0)); + $85 = $$1 - $84; + $86 = $85 + 1.0; + $87 = $86 * 0.5; + $88 = 1.0 - $87; + $89 = $88 * $83; + $90 = (($0) + ($73<<2)|0); + $91 = +HEAPF32[$90>>2]; + $92 = $91 + $89; + HEAPF32[$90>>2] = $92; + $93 = $$0360 * $81; + $94 = ($74|0)>($75|0); + if ($94) { + $95 = $93 * 0.5; + $$0359372 = $83;$$0361371 = $75; + while(1) { + $96 = $95 + $$0359372; + $97 = (($0) + ($$0361371<<2)|0); + $98 = +HEAPF32[$97>>2]; + $99 = $96 + $98; + HEAPF32[$97>>2] = $99; + $100 = $93 + $$0359372; + $101 = (($$0361371) + 1)|0; + $exitcond380 = ($101|0)==($74|0); + if ($exitcond380) { + $$0359$lcssa = $100; + break; + } else { + $$0359372 = $100;$$0361371 = $101; + } + } + } else { + $$0359$lcssa = $83; + } + $fabsf = (+Math_abs((+$$0359$lcssa))); + $102 = !($fabsf <= 1.0099999904632568); + if ($102) { + label = 25; + break L4; + } + $103 = (($74) - ($75))|0; + $104 = (+($103|0)); + $105 = $$0360 * $104; + $106 = $105 + $79; + $107 = (+($74|0)); + $108 = $$1353 - $107; + $109 = $108 + 0.0; + $110 = $109 * 0.5; + $111 = 1.0 - $110; + $112 = $81 * $111; + $113 = $$1358 - $106; + $114 = $112 * $113; + $115 = $114 + $$0359$lcssa; + $116 = (($0) + ($74<<2)|0); + $117 = +HEAPF32[$116>>2]; + $118 = $115 + $117; + HEAPF32[$116>>2] = $118; + $119 = $$1358 - $$1355; + $120 = $119 * $81; + $121 = (($1) + ($74<<2)|0); + $122 = +HEAPF32[$121>>2]; + $123 = $120 + $122; + HEAPF32[$121>>2] = $123; + break; + } + } + if ($11) { + $$0356370 = 0; + while(1) { + $124 = (+($$0356370|0)); + $125 = (($$0356370) + 1)|0; + $126 = (+($125|0)); + $127 = $124 - $19; + $128 = $127 / $16; + $129 = $128 + $4; + $130 = $126 - $19; + $131 = $130 / $16; + $132 = $131 + $4; + $133 = $19 < $124; + $134 = $24 > $126; + $or$cond364 = $133 & $134; + do { + if ($or$cond364) { + _stbtt__handle_clipped_edge($0,$$0356370,$$0374,$19,$4,$124,$129); + _stbtt__handle_clipped_edge($0,$$0356370,$$0374,$124,$129,$126,$132); + _stbtt__handle_clipped_edge($0,$$0356370,$$0374,$126,$132,$24,$5); + } else { + $135 = $24 < $124; + $136 = $19 > $126; + $or$cond365 = $135 & $136; + if ($or$cond365) { + _stbtt__handle_clipped_edge($0,$$0356370,$$0374,$19,$4,$126,$132); + _stbtt__handle_clipped_edge($0,$$0356370,$$0374,$126,$132,$124,$129); + _stbtt__handle_clipped_edge($0,$$0356370,$$0374,$124,$129,$24,$5); + break; + } + $137 = $24 > $124; + $or$cond366 = $133 & $137; + if ($or$cond366) { + _stbtt__handle_clipped_edge($0,$$0356370,$$0374,$19,$4,$124,$129); + _stbtt__handle_clipped_edge($0,$$0356370,$$0374,$124,$129,$24,$5); + break; + } + $138 = $19 > $124; + $or$cond367 = $135 & $138; + if ($or$cond367) { + _stbtt__handle_clipped_edge($0,$$0356370,$$0374,$19,$4,$124,$129); + _stbtt__handle_clipped_edge($0,$$0356370,$$0374,$124,$129,$24,$5); + break; + } + $139 = $19 < $126; + $or$cond368 = $139 & $134; + if ($or$cond368) { + _stbtt__handle_clipped_edge($0,$$0356370,$$0374,$19,$4,$126,$132); + _stbtt__handle_clipped_edge($0,$$0356370,$$0374,$126,$132,$24,$5); + break; + } + $140 = $24 < $126; + $or$cond369 = $140 & $136; + if ($or$cond369) { + _stbtt__handle_clipped_edge($0,$$0356370,$$0374,$19,$4,$126,$132); + _stbtt__handle_clipped_edge($0,$$0356370,$$0374,$126,$132,$24,$5); + break; + } else { + _stbtt__handle_clipped_edge($0,$$0356370,$$0374,$19,$4,$24,$5); + break; + } + } + } while(0); + $exitcond = ($125|0)==($2|0); + if ($exitcond) { + break; + } else { + $$0356370 = $125; + } + } + } + } + } while(0); + $141 = HEAP32[$$0374>>2]|0; + $142 = ($141|0)==(0|0); + if ($142) { + label = 42; + break; + } else { + $$0374 = $141; + } + } + if ((label|0) == 4) { + ___assert_fail((15598|0),(15479|0),2586,(15613|0)); + // unreachable; + } + else if ((label|0) == 11) { + ___assert_fail((15642|0),(15479|0),2605,(15613|0)); + // unreachable; + } + else if ((label|0) == 17) { + ___assert_fail((15678|0),(15479|0),2633,(15613|0)); + // unreachable; + } + else if ((label|0) == 25) { + ___assert_fail((15696|0),(15479|0),2670,(15613|0)); + // unreachable; + } + else if ((label|0) == 42) { + return; + } +} +function _stbtt__hheap_cleanup($0) { + $0 = $0|0; + var $$in12 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP32[$0>>2]|0; + $2 = ($1|0)==(0|0); + if ($2) { + return; + } else { + $$in12 = $1; + } + while(1) { + $3 = HEAP32[$$in12>>2]|0; + _free($$in12); + $4 = ($3|0)==(0|0); + if ($4) { + break; + } else { + $$in12 = $3; + } + } + return; +} +function _stbtt__handle_clipped_edge($0,$1,$2,$3,$4,$5,$6) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = +$3; + $4 = +$4; + $5 = +$5; + $6 = +$6; + var $$0 = 0.0, $$077 = 0.0, $$078 = 0.0, $$079 = 0.0, $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0, $25 = 0.0; + var $26 = 0.0, $27 = 0.0, $28 = 0.0, $29 = 0.0, $30 = 0.0, $31 = 0.0, $32 = 0, $33 = 0, $34 = 0.0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; + var $46 = 0, $47 = 0.0, $48 = 0.0, $49 = 0.0, $50 = 0, $51 = 0.0, $52 = 0.0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $60 = 0.0, $61 = 0.0, $62 = 0.0, $63 = 0.0, $64 = 0.0, $65 = 0.0; + var $66 = 0.0, $67 = 0.0, $68 = 0.0, $69 = 0, $7 = 0, $70 = 0.0, $71 = 0.0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond80 = 0, $or$cond81 = 0, $or$cond82 = 0, $or$cond83 = 0, $or$cond84 = 0, $or$cond85 = 0, label = 0, sp = 0; + sp = STACKTOP; + $7 = $4 == $6; + if ($7) { + return; + } + $8 = $4 < $6; + if (!($8)) { + ___assert_fail((15716|0),(15479|0),2544,(15724|0)); + // unreachable; + } + $9 = ((($2)) + 20|0); + $10 = +HEAPF32[$9>>2]; + $11 = ((($2)) + 24|0); + $12 = +HEAPF32[$11>>2]; + $13 = !($10 <= $12); + if ($13) { + ___assert_fail((15751|0),(15479|0),2545,(15724|0)); + // unreachable; + } + $14 = $12 < $4; + $15 = $10 > $6; + $or$cond = $15 | $14; + if ($or$cond) { + return; + } + $16 = $10 > $4; + if ($16) { + $17 = $5 - $3; + $18 = $10 - $4; + $19 = $17 * $18; + $20 = $6 - $4; + $21 = $19 / $20; + $22 = $21 + $3; + $$078 = $10;$$079 = $22; + } else { + $$078 = $4;$$079 = $3; + } + $23 = +HEAPF32[$11>>2]; + $24 = $23 < $6; + if ($24) { + $25 = $5 - $$079; + $26 = $23 - $6; + $27 = $25 * $26; + $28 = $6 - $$078; + $29 = $27 / $28; + $30 = $29 + $5; + $$0 = $23;$$077 = $30; + } else { + $$0 = $6;$$077 = $5; + } + $31 = (+($1|0)); + $32 = $$079 == $31; + $33 = (($1) + 1)|0; + $34 = (+($33|0)); + do { + if ($32) { + $35 = !($$077 <= $34); + if ($35) { + ___assert_fail((15766|0),(15479|0),2558,(15724|0)); + // unreachable; + } + } else { + $36 = $$079 == $34; + if ($36) { + $37 = !($$077 >= $31); + if (!($37)) { + break; + } + ___assert_fail((15776|0),(15479|0),2560,(15724|0)); + // unreachable; + } + $38 = !($$079 <= $31); + if (!($38)) { + $39 = !($$077 <= $31); + if (!($39)) { + break; + } + ___assert_fail((15784|0),(15479|0),2562,(15724|0)); + // unreachable; + } + $40 = !($$079 >= $34); + if ($40) { + $42 = !($$077 >= $31); + $43 = !($$077 <= $34); + $or$cond80 = $42 | $43; + if (!($or$cond80)) { + break; + } + ___assert_fail((15802|0),(15479|0),2566,(15724|0)); + // unreachable; + } else { + $41 = !($$077 >= $34); + if (!($41)) { + break; + } + ___assert_fail((15792|0),(15479|0),2564,(15724|0)); + // unreachable; + } + } + } while(0); + $44 = !($$079 <= $31); + $45 = !($$077 <= $31); + $or$cond81 = $44 | $45; + if (!($or$cond81)) { + $46 = ((($2)) + 16|0); + $47 = +HEAPF32[$46>>2]; + $48 = $$0 - $$078; + $49 = $48 * $47; + $50 = (($0) + ($1<<2)|0); + $51 = +HEAPF32[$50>>2]; + $52 = $51 + $49; + HEAPF32[$50>>2] = $52; + return; + } + $53 = !($$079 >= $34); + $54 = !($$077 >= $34); + $or$cond82 = $53 | $54; + if (!($or$cond82)) { + return; + } + $55 = !($$079 >= $31); + $56 = !($$079 <= $34); + $or$cond83 = $55 | $56; + $57 = !($$077 >= $31); + $or$cond84 = $or$cond83 | $57; + $58 = !($$077 <= $34); + $or$cond85 = $58 | $or$cond84; + if ($or$cond85) { + ___assert_fail((15823|0),(15479|0),2573,(15724|0)); + // unreachable; + } + $59 = ((($2)) + 16|0); + $60 = +HEAPF32[$59>>2]; + $61 = $$0 - $$078; + $62 = $61 * $60; + $63 = $$079 - $31; + $64 = $$077 - $31; + $65 = $63 + $64; + $66 = $65 * 0.5; + $67 = 1.0 - $66; + $68 = $67 * $62; + $69 = (($0) + ($1<<2)|0); + $70 = +HEAPF32[$69>>2]; + $71 = $70 + $68; + HEAPF32[$69>>2] = $71; + return; +} +function _stbtt__hheap_alloc($0) { + $0 = $0|0; + var $$1 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 4|0); + $2 = HEAP32[$1>>2]|0; + $3 = ($2|0)==(0|0); + if (!($3)) { + $4 = HEAP32[$2>>2]|0; + HEAP32[$1>>2] = $4; + $$1 = $2; + return ($$1|0); + } + $5 = ((($0)) + 8|0); + $6 = HEAP32[$5>>2]|0; + $7 = ($6|0)==(0); + do { + if ($7) { + $8 = (_malloc(56004)|0); + $9 = ($8|0)==(0|0); + if ($9) { + $$1 = 0; + return ($$1|0); + } else { + $10 = HEAP32[$0>>2]|0; + HEAP32[$8>>2] = $10; + HEAP32[$0>>2] = $8; + HEAP32[$5>>2] = 2000; + break; + } + } + } while(0); + $11 = HEAP32[$5>>2]|0; + $12 = (($11) + -1)|0; + HEAP32[$5>>2] = $12; + $13 = HEAP32[$0>>2]|0; + $14 = ($12*28)|0; + $15 = (($13) + ($14)|0); + $$1 = $15; + return ($$1|0); +} +function _stbtt__sort_edges_quicksort($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$079 = 0, $$081 = 0, $$08390 = 0, $$091 = 0, $$1 = 0, $$180 = 0, $$182 = 0, $$184 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0.0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0.0, $2 = 0, $20 = 0; + var $21 = 0.0, $22 = 0, $23 = 0, $24 = 0, $25 = 0.0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $4 = 0, $5 = 0, $6 = 0.0, $7 = 0; + var $8 = 0, $9 = 0.0, $tmp = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $2 = sp; + $3 = ($1|0)>(12); + if (!($3)) { + STACKTOP = sp;return; + } + $$08390 = $1;$$091 = $0; + while(1) { + $4 = $$08390 >>> 1; + $5 = ((($$091)) + 4|0); + $6 = +HEAPF32[$5>>2]; + $7 = (($$091) + (($4*20)|0)|0); + $8 = (((($$091) + (($4*20)|0)|0)) + 4|0); + $9 = +HEAPF32[$8>>2]; + $10 = $6 < $9; + $11 = (($$08390) + -1)|0; + $12 = (((($$091) + (($11*20)|0)|0)) + 4|0); + $13 = +HEAPF32[$12>>2]; + $14 = $9 < $13; + $15 = $10 ^ $14; + $16 = $6 < $13; + $tmp = $16 ^ $14; + $17 = $tmp ? $11 : 0; + $18 = (($$091) + (($17*20)|0)|0); + if ($15) { + ;HEAP32[$2>>2]=HEAP32[$18>>2]|0;HEAP32[$2+4>>2]=HEAP32[$18+4>>2]|0;HEAP32[$2+8>>2]=HEAP32[$18+8>>2]|0;HEAP32[$2+12>>2]=HEAP32[$18+12>>2]|0;HEAP32[$2+16>>2]=HEAP32[$18+16>>2]|0; + ;HEAP32[$18>>2]=HEAP32[$7>>2]|0;HEAP32[$18+4>>2]=HEAP32[$7+4>>2]|0;HEAP32[$18+8>>2]=HEAP32[$7+8>>2]|0;HEAP32[$18+12>>2]=HEAP32[$7+12>>2]|0;HEAP32[$18+16>>2]=HEAP32[$7+16>>2]|0; + ;HEAP32[$7>>2]=HEAP32[$2>>2]|0;HEAP32[$7+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$7+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$7+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$7+16>>2]=HEAP32[$2+16>>2]|0; + } + ;HEAP32[$2>>2]=HEAP32[$$091>>2]|0;HEAP32[$2+4>>2]=HEAP32[$$091+4>>2]|0;HEAP32[$2+8>>2]=HEAP32[$$091+8>>2]|0;HEAP32[$2+12>>2]=HEAP32[$$091+12>>2]|0;HEAP32[$2+16>>2]=HEAP32[$$091+16>>2]|0; + ;HEAP32[$$091>>2]=HEAP32[$7>>2]|0;HEAP32[$$091+4>>2]=HEAP32[$7+4>>2]|0;HEAP32[$$091+8>>2]=HEAP32[$7+8>>2]|0;HEAP32[$$091+12>>2]=HEAP32[$7+12>>2]|0;HEAP32[$$091+16>>2]=HEAP32[$7+16>>2]|0; + ;HEAP32[$7>>2]=HEAP32[$2>>2]|0;HEAP32[$7+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$7+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$7+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$7+16>>2]=HEAP32[$2+16>>2]|0; + $$079 = $11;$$081 = 1; + while(1) { + $19 = +HEAPF32[$5>>2]; + $$182 = $$081; + while(1) { + $20 = (((($$091) + (($$182*20)|0)|0)) + 4|0); + $21 = +HEAPF32[$20>>2]; + $22 = $21 < $19; + $23 = (($$182) + 1)|0; + if ($22) { + $$182 = $23; + } else { + $$180 = $$079; + break; + } + } + while(1) { + $24 = (((($$091) + (($$180*20)|0)|0)) + 4|0); + $25 = +HEAPF32[$24>>2]; + $26 = $19 < $25; + $27 = (($$180) + -1)|0; + if ($26) { + $$180 = $27; + } else { + break; + } + } + $28 = (($$091) + (($$182*20)|0)|0); + $29 = ($$182|0)<($$180|0); + if (!($29)) { + break; + } + $30 = (($$091) + (($$180*20)|0)|0); + ;HEAP32[$2>>2]=HEAP32[$28>>2]|0;HEAP32[$2+4>>2]=HEAP32[$28+4>>2]|0;HEAP32[$2+8>>2]=HEAP32[$28+8>>2]|0;HEAP32[$2+12>>2]=HEAP32[$28+12>>2]|0;HEAP32[$2+16>>2]=HEAP32[$28+16>>2]|0; + ;HEAP32[$28>>2]=HEAP32[$30>>2]|0;HEAP32[$28+4>>2]=HEAP32[$30+4>>2]|0;HEAP32[$28+8>>2]=HEAP32[$30+8>>2]|0;HEAP32[$28+12>>2]=HEAP32[$30+12>>2]|0;HEAP32[$28+16>>2]=HEAP32[$30+16>>2]|0; + ;HEAP32[$30>>2]=HEAP32[$2>>2]|0;HEAP32[$30+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$30+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$30+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$30+16>>2]=HEAP32[$2+16>>2]|0; + $31 = (($$182) + 1)|0; + $32 = (($$180) + -1)|0; + $$079 = $32;$$081 = $31; + } + $33 = (($$08390) - ($$182))|0; + $34 = ($$180|0)<($33|0); + if ($34) { + _stbtt__sort_edges_quicksort($$091,$$180); + $$1 = $28;$$184 = $33; + } else { + _stbtt__sort_edges_quicksort($28,$33); + $$1 = $$091;$$184 = $$180; + } + $35 = ($$184|0)>(12); + if ($35) { + $$08390 = $$184;$$091 = $$1; + } else { + break; + } + } + STACKTOP = sp;return; +} +function _stbtt__sort_edges_ins_sort($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$03251 = 0, $$033 = 0, $$2$ph = 0, $$sroa$0$0$copyload48 = 0, $$sroa$4$0$$sroa_idx37 = 0, $$sroa$4$0$$sroa_idx38 = 0, $$sroa$4$0$copyload = 0.0, $$sroa$5 = 0, $$sroa$5$0$$sroa_idx = 0, $$sroa$5$0$$sroa_idx42 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0.0, $7 = 0; + var $8 = 0, $9 = 0, $exitcond = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $$sroa$5 = sp; + $2 = ($1|0)>(1); + if (!($2)) { + STACKTOP = sp;return; + } + $$03251 = 1; + while(1) { + $3 = (($0) + (($$03251*20)|0)|0); + $$sroa$0$0$copyload48 = HEAP32[$3>>2]|0; + $$sroa$4$0$$sroa_idx37 = (((($0) + (($$03251*20)|0)|0)) + 4|0); + $$sroa$4$0$copyload = +HEAPF32[$$sroa$4$0$$sroa_idx37>>2]; + $$sroa$5$0$$sroa_idx = (((($0) + (($$03251*20)|0)|0)) + 8|0); + ;HEAP32[$$sroa$5>>2]=HEAP32[$$sroa$5$0$$sroa_idx>>2]|0;HEAP32[$$sroa$5+4>>2]=HEAP32[$$sroa$5$0$$sroa_idx+4>>2]|0;HEAP32[$$sroa$5+8>>2]=HEAP32[$$sroa$5$0$$sroa_idx+8>>2]|0; + $$033 = $$03251; + while(1) { + $4 = (($$033) + -1)|0; + $5 = (((($0) + (($4*20)|0)|0)) + 4|0); + $6 = +HEAPF32[$5>>2]; + $7 = $$sroa$4$0$copyload < $6; + if (!($7)) { + $$2$ph = $$033; + break; + } + $8 = (($0) + (($4*20)|0)|0); + $9 = (($0) + (($$033*20)|0)|0); + ;HEAP32[$9>>2]=HEAP32[$8>>2]|0;HEAP32[$9+4>>2]=HEAP32[$8+4>>2]|0;HEAP32[$9+8>>2]=HEAP32[$8+8>>2]|0;HEAP32[$9+12>>2]=HEAP32[$8+12>>2]|0;HEAP32[$9+16>>2]=HEAP32[$8+16>>2]|0; + $10 = ($$033|0)>(1); + if ($10) { + $$033 = $4; + } else { + $$2$ph = $4; + break; + } + } + $11 = ($$03251|0)==($$2$ph|0); + if (!($11)) { + $$sroa$5$0$$sroa_idx42 = (((($0) + (($$2$ph*20)|0)|0)) + 8|0); + $$sroa$4$0$$sroa_idx38 = (((($0) + (($$2$ph*20)|0)|0)) + 4|0); + $12 = (($0) + (($$2$ph*20)|0)|0); + HEAP32[$12>>2] = $$sroa$0$0$copyload48; + HEAPF32[$$sroa$4$0$$sroa_idx38>>2] = $$sroa$4$0$copyload; + ;HEAP32[$$sroa$5$0$$sroa_idx42>>2]=HEAP32[$$sroa$5>>2]|0;HEAP32[$$sroa$5$0$$sroa_idx42+4>>2]=HEAP32[$$sroa$5+4>>2]|0;HEAP32[$$sroa$5$0$$sroa_idx42+8>>2]=HEAP32[$$sroa$5+8>>2]|0; + } + $13 = (($$03251) + 1)|0; + $exitcond = ($13|0)==($1|0); + if ($exitcond) { + break; + } else { + $$03251 = $13; + } + } + STACKTOP = sp;return; +} +function _stbtt__add_point($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = +$2; + $3 = +$3; + var $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; + sp = STACKTOP; + $4 = ($0|0)==(0|0); + if ($4) { + return; + } + $5 = (((($0) + ($1<<3)|0)) + 4|0); + $6 = (($0) + ($1<<3)|0); + HEAPF32[$6>>2] = $2; + HEAPF32[$5>>2] = $3; + return; +} +function _stbtt__tesselate_curve($0,$1,$2,$3,$4,$5,$6,$7,$8,$9) { + $0 = $0|0; + $1 = $1|0; + $2 = +$2; + $3 = +$3; + $4 = +$4; + $5 = +$5; + $6 = +$6; + $7 = +$7; + $8 = +$8; + $9 = $9|0; + var $$tr210 = 0.0, $$tr210$phi = 0.0, $$tr311 = 0.0, $$tr311$phi = 0.0, $$tr412 = 0.0, $$tr513 = 0.0, $$tr914 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0; + var $23 = 0.0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0.0, $28 = 0.0, $29 = 0.0, $30 = 0, $31 = 0.0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0, $36 = 0.0, $37 = 0.0, $38 = 0.0, $39 = 0.0, $40 = 0.0, $41 = 0.0, $42 = 0.0; + var $43 = 0.0, $44 = 0.0, $45 = 0.0, $46 = 0.0, $47 = 0.0, $48 = 0.0, $49 = 0.0, $50 = 0.0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0.0, $55 = 0.0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, label = 0, sp = 0; + sp = STACKTOP; + $10 = $4 * 2.0; + $11 = $10 + $2; + $12 = $11 + $6; + $13 = $12 * 0.25; + $14 = $5 * 2.0; + $15 = $14 + $3; + $16 = $15 + $7; + $17 = $16 * 0.25; + $18 = ($9|0)>(16); + if ($18) { + return; + } + $19 = $7 + $3; + $20 = $19 * 0.5; + $21 = $20 - $17; + $22 = $6 + $2; + $23 = $22 * 0.5; + $24 = $23 - $13; + $$tr210 = $2;$$tr311 = $3;$$tr412 = $4;$$tr513 = $5;$$tr914 = $9;$26 = $24;$28 = $21;$36 = $13;$37 = $17; + while(1) { + $25 = $26 * $26; + $27 = $28 * $28; + $29 = $25 + $27; + $30 = $29 > $8; + if (!($30)) { + break; + } + $31 = $$tr210 + $$tr412; + $32 = $31 * 0.5; + $33 = $$tr311 + $$tr513; + $34 = $33 * 0.5; + $35 = (($$tr914) + 1)|0; + _stbtt__tesselate_curve($0,$1,$$tr210,$$tr311,$32,$34,$36,$37,$8,$35); + $38 = $$tr412 + $6; + $39 = $38 * 0.5; + $40 = $$tr513 + $7; + $41 = $40 * 0.5; + $42 = $39 * 2.0; + $43 = $36 + $42; + $44 = $43 + $6; + $45 = $44 * 0.25; + $46 = $41 * 2.0; + $47 = $37 + $46; + $48 = $47 + $7; + $49 = $48 * 0.25; + $50 = $36 + $6; + $51 = $50 * 0.5; + $52 = $51 - $45; + $53 = $37 + $7; + $54 = $53 * 0.5; + $55 = $54 - $49; + $56 = ($$tr914|0)>(15); + if ($56) { + label = 6; + break; + } else { + $$tr311$phi = $37;$$tr210$phi = $36;$$tr412 = $39;$$tr513 = $41;$$tr914 = $35;$26 = $52;$28 = $55;$36 = $45;$37 = $49;$$tr311 = $$tr311$phi;$$tr210 = $$tr210$phi; + } + } + if ((label|0) == 6) { + return; + } + $57 = HEAP32[$1>>2]|0; + _stbtt__add_point($0,$57,$6,$7); + $58 = HEAP32[$1>>2]|0; + $59 = (($58) + 1)|0; + HEAP32[$1>>2] = $59; + return; +} +function _stbtt__tesselate_cubic($0,$1,$2,$3,$4,$5,$6,$7,$8,$9,$10,$11) { + $0 = $0|0; + $1 = $1|0; + $2 = +$2; + $3 = +$3; + $4 = +$4; + $5 = +$5; + $6 = +$6; + $7 = +$7; + $8 = +$8; + $9 = +$9; + $10 = +$10; + $11 = $11|0; + var $$tr138 = 0.0, $$tr139 = 0.0, $$tr140 = 0.0, $$tr141 = 0.0, $$tr142 = 0.0, $$tr143 = 0.0, $$tr147 = 0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0; + var $25 = 0.0, $26 = 0.0, $27 = 0.0, $28 = 0.0, $29 = 0.0, $30 = 0.0, $31 = 0.0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0.0, $36 = 0.0, $37 = 0.0, $38 = 0.0, $39 = 0.0, $40 = 0.0, $41 = 0, $42 = 0.0, $43 = 0.0, $44 = 0.0; + var $45 = 0, $46 = 0.0, $47 = 0.0, $48 = 0.0, $49 = 0.0, $50 = 0.0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0.0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0.0, $60 = 0.0, $61 = 0.0, $62 = 0.0, $63 = 0.0, $64 = 0.0; + var $65 = 0.0, $66 = 0.0, $67 = 0.0, $68 = 0.0, $69 = 0.0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $sqrtf = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $$tr138 = $2;$$tr139 = $3;$$tr140 = $4;$$tr141 = $5;$$tr142 = $6;$$tr143 = $7;$$tr147 = $11; + while(1) { + $12 = $$tr140 - $$tr138; + $13 = $$tr141 - $$tr139; + $14 = $$tr142 - $$tr140; + $15 = $$tr143 - $$tr141; + $16 = $8 - $$tr142; + $17 = $9 - $$tr143; + $18 = $8 - $$tr138; + $19 = $9 - $$tr139; + $20 = $12 * $12; + $21 = $13 * $13; + $22 = $20 + $21; + $23 = $22; + $24 = (+Math_sqrt((+$23))); + $25 = $14 * $14; + $26 = $15 * $15; + $27 = $25 + $26; + $28 = $27; + $29 = (+Math_sqrt((+$28))); + $30 = $24 + $29; + $31 = $16 * $16; + $32 = $17 * $17; + $33 = $31 + $32; + $34 = $33; + $35 = (+Math_sqrt((+$34))); + $36 = $30 + $35; + $37 = $36; + $38 = $18 * $18; + $39 = $19 * $19; + $40 = $38 + $39; + $sqrtf = (+Math_sqrt((+$40))); + $41 = ($$tr147|0)>(16); + if ($41) { + label = 6; + break; + } + $42 = $37 * $37; + $43 = $sqrtf * $sqrtf; + $44 = $42 - $43; + $45 = $44 > $10; + if (!($45)) { + break; + } + $46 = $$tr138 + $$tr140; + $47 = $46 * 0.5; + $48 = $$tr139 + $$tr141; + $49 = $48 * 0.5; + $50 = $$tr140 + $$tr142; + $51 = $50 * 0.5; + $52 = $$tr141 + $$tr143; + $53 = $52 * 0.5; + $54 = $$tr142 + $8; + $55 = $54 * 0.5; + $56 = $$tr143 + $9; + $57 = $56 * 0.5; + $58 = $47 + $51; + $59 = $58 * 0.5; + $60 = $49 + $53; + $61 = $60 * 0.5; + $62 = $51 + $55; + $63 = $62 * 0.5; + $64 = $53 + $57; + $65 = $64 * 0.5; + $66 = $59 + $63; + $67 = $66 * 0.5; + $68 = $61 + $65; + $69 = $68 * 0.5; + $70 = (($$tr147) + 1)|0; + _stbtt__tesselate_cubic($0,$1,$$tr138,$$tr139,$47,$49,$59,$61,$67,$69,$10,$70); + $$tr138 = $67;$$tr139 = $69;$$tr140 = $63;$$tr141 = $65;$$tr142 = $55;$$tr143 = $57;$$tr147 = $70; + } + if ((label|0) == 6) { + return; + } + $71 = HEAP32[$1>>2]|0; + _stbtt__add_point($0,$71,$8,$9); + $72 = HEAP32[$1>>2]|0; + $73 = (($72) + 1)|0; + HEAP32[$1>>2] = $73; + return; +} +function _stbtt_GetGlyphBox($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + var $$1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $6 = ((($0)) + 56|0); + $7 = HEAP32[$6>>2]|0; + $8 = ($7|0)==(0); + if (!($8)) { + _stbtt__GetGlyphInfoT2($0,$1,$2,$3,$4,$5); + $$1 = 1; + return ($$1|0); + } + $9 = (_stbtt__GetGlyfOffset($0,$1)|0); + $10 = ($9|0)<(0); + if ($10) { + $$1 = 0; + return ($$1|0); + } + $11 = ($2|0)==(0|0); + if (!($11)) { + $12 = ((($0)) + 4|0); + $13 = HEAP32[$12>>2]|0; + $14 = (($13) + ($9)|0); + $15 = ((($14)) + 2|0); + $16 = (_ttSHORT($15)|0); + $17 = $16 << 16 >> 16; + HEAP32[$2>>2] = $17; + } + $18 = ($3|0)==(0|0); + if (!($18)) { + $19 = ((($0)) + 4|0); + $20 = HEAP32[$19>>2]|0; + $21 = (($20) + ($9)|0); + $22 = ((($21)) + 4|0); + $23 = (_ttSHORT($22)|0); + $24 = $23 << 16 >> 16; + HEAP32[$3>>2] = $24; + } + $25 = ($4|0)==(0|0); + if (!($25)) { + $26 = ((($0)) + 4|0); + $27 = HEAP32[$26>>2]|0; + $28 = (($27) + ($9)|0); + $29 = ((($28)) + 6|0); + $30 = (_ttSHORT($29)|0); + $31 = $30 << 16 >> 16; + HEAP32[$4>>2] = $31; + } + $32 = ($5|0)==(0|0); + if ($32) { + $$1 = 1; + return ($$1|0); + } + $33 = ((($0)) + 4|0); + $34 = HEAP32[$33>>2]|0; + $35 = (($34) + ($9)|0); + $36 = ((($35)) + 8|0); + $37 = (_ttSHORT($36)|0); + $38 = $37 << 16 >> 16; + HEAP32[$5>>2] = $38; + $$1 = 1; + return ($$1|0); +} +function _stbtt__GetGlyphInfoT2($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0; + var stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0); + $6 = sp; + $7 = ((($6)) + 4|0); + dest=$7; stop=dest+44|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + HEAP32[$6>>2] = 1; + $8 = (_stbtt__run_charstring($0,$1,$6)|0); + $9 = ($2|0)==(0|0); + $10 = ($8|0)!=(0); + if ($9) { + STACKTOP = sp;return; + } + $11 = ((($6)) + 24|0); + $12 = HEAP32[$11>>2]|0; + $13 = $10 ? $12 : 0; + HEAP32[$2>>2] = $13; + $14 = ((($6)) + 32|0); + $15 = HEAP32[$14>>2]|0; + $16 = $10 ? $15 : 0; + HEAP32[$3>>2] = $16; + $17 = ((($6)) + 28|0); + $18 = HEAP32[$17>>2]|0; + $19 = $10 ? $18 : 0; + HEAP32[$4>>2] = $19; + $20 = ((($6)) + 36|0); + $21 = HEAP32[$20>>2]|0; + $22 = $10 ? $21 : 0; + HEAP32[$5>>2] = $22; + STACKTOP = sp;return; +} +function _stbtt__GetGlyfOffset($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$023 = 0, $$024 = 0, $$pn = 0, $$sink = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; + var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($0)) + 56|0); + $3 = HEAP32[$2>>2]|0; + $4 = ($3|0)==(0); + if (!($4)) { + ___assert_fail((15902|0),(15479|0),1440,(15918|0)); + // unreachable; + } + $5 = ((($0)) + 12|0); + $6 = HEAP32[$5>>2]|0; + $7 = ($6|0)>($1|0); + if (!($7)) { + $$024 = -1; + return ($$024|0); + } + $8 = ((($0)) + 44|0); + $9 = HEAP32[$8>>2]|0; + $10 = ($9|0)>(1); + if ($10) { + $$024 = -1; + return ($$024|0); + } + $11 = ($9|0)==(0); + $12 = ((($0)) + 24|0); + $13 = HEAP32[$12>>2]|0; + $14 = ((($0)) + 4|0); + $15 = HEAP32[$14>>2]|0; + $16 = ((($0)) + 16|0); + $17 = HEAP32[$16>>2]|0; + $18 = (($15) + ($17)|0); + if ($11) { + $19 = $1 << 1; + $20 = (($18) + ($19)|0); + $21 = (_ttUSHORT($20)|0); + $22 = $21&65535; + $23 = $22 << 1; + $24 = ((($20)) + 2|0); + $25 = (_ttUSHORT($24)|0); + $26 = $25&65535; + $27 = $26 << 1; + $$pn = $23;$$sink = $27; + } else { + $28 = $1 << 2; + $29 = (($18) + ($28)|0); + $30 = (_ttULONG($29)|0); + $31 = ((($29)) + 4|0); + $32 = (_ttULONG($31)|0); + $$pn = $30;$$sink = $32; + } + $33 = (($$sink) + ($13))|0; + $$023 = (($$pn) + ($13))|0; + $34 = ($$023|0)==($33|0); + $35 = $34 ? -1 : $$023; + $$024 = $35; + return ($$024|0); +} +function _ttSHORT($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP8[$0>>0]|0; + $2 = $1&255; + $3 = $2 << 8; + $4 = ((($0)) + 1|0); + $5 = HEAP8[$4>>0]|0; + $6 = $5&255; + $7 = $3 | $6; + $8 = $7&65535; + return ($8|0); +} +function _ttUSHORT($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP8[$0>>0]|0; + $2 = $1&255; + $3 = $2 << 8; + $4 = ((($0)) + 1|0); + $5 = HEAP8[$4>>0]|0; + $6 = $5&255; + $7 = $3 | $6; + $8 = $7&65535; + return ($8|0); +} +function _ttULONG($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP8[$0>>0]|0; + $2 = $1&255; + $3 = $2 << 24; + $4 = ((($0)) + 1|0); + $5 = HEAP8[$4>>0]|0; + $6 = $5&255; + $7 = $6 << 16; + $8 = $7 | $3; + $9 = ((($0)) + 2|0); + $10 = HEAP8[$9>>0]|0; + $11 = $10&255; + $12 = $11 << 8; + $13 = $8 | $12; + $14 = ((($0)) + 3|0); + $15 = HEAP8[$14>>0]|0; + $16 = $15&255; + $17 = $13 | $16; + return ($17|0); +} +function _stbtt__run_charstring($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$ = 0, $$0274$be = 0, $$0274335 = 0, $$0276$be = 0, $$0276334 = 0, $$0279 = 0.0, $$0280 = 0.0, $$0282318 = 0.0, $$0285$be = 0, $$0285333 = 0, $$0288$be = 0, $$0288332 = 0, $$0290329 = 0, $$0294$be = 0, $$0294331 = 0, $$1277 = 0, $$1283 = 0.0, $$1286 = 0, $$1291 = 0, $$2292 = 0; + var $$3 = 0, $$3293 = 0, $$363 = 0.0, $$4 = 0, $$5327 = 0, $$6$lcssa = 0, $$6322 = 0, $$7$lcssa = 0, $$7319 = 0, $$8317 = 0, $$byval_copy1 = 0, $$lcssa = 0, $$lcssa316 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0.0, $103 = 0, $104 = 0, $105 = 0.0; + var $106 = 0, $107 = 0.0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0.0, $113 = 0.0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0.0, $119 = 0, $12 = 0, $120 = 0, $121 = 0.0, $122 = 0, $123 = 0; + var $124 = 0.0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0.0, $13 = 0, $130 = 0, $131 = 0.0, $132 = 0.0, $133 = 0, $134 = 0, $135 = 0, $136 = 0.0, $137 = 0, $138 = 0, $139 = 0.0, $14 = 0, $140 = 0, $141 = 0; + var $142 = 0.0, $143 = 0, $144 = 0, $145 = 0.0, $146 = 0, $147 = 0, $148 = 0.0, $149 = 0, $15 = 0, $150 = 0, $151 = 0.0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0.0, $16 = 0; + var $160 = 0, $161 = 0, $162 = 0.0, $163 = 0, $164 = 0, $165 = 0.0, $166 = 0, $167 = 0, $168 = 0.0, $169 = 0, $17 = 0, $170 = 0, $171 = 0.0, $172 = 0, $173 = 0, $174 = 0.0, $175 = 0, $176 = 0, $177 = 0, $178 = 0; + var $179 = 0, $18 = 0, $180 = 0, $181 = 0.0, $182 = 0, $183 = 0.0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0.0, $189 = 0, $19 = 0, $190 = 0, $191 = 0.0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0; + var $197 = 0, $198 = 0.0, $199 = 0, $20 = 0, $200 = 0.0, $201 = 0, $202 = 0, $203 = 0.0, $204 = 0, $205 = 0, $206 = 0.0, $207 = 0, $208 = 0, $209 = 0.0, $21 = 0, $210 = 0, $211 = 0.0, $212 = 0, $213 = 0, $214 = 0; + var $215 = 0, $216 = 0, $217 = 0.0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0.0, $223 = 0, $224 = 0.0, $225 = 0, $226 = 0.0, $227 = 0, $228 = 0, $229 = 0.0, $23 = 0, $230 = 0, $231 = 0, $232 = 0; + var $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0.0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0; + var $251 = 0, $252 = 0.0, $253 = 0.0, $254 = 0.0, $255 = 0.0, $256 = 0.0, $257 = 0.0, $258 = 0.0, $259 = 0.0, $26 = 0, $260 = 0, $261 = 0.0, $262 = 0.0, $263 = 0.0, $264 = 0.0, $265 = 0.0, $266 = 0.0, $267 = 0.0, $268 = 0.0, $269 = 0.0; + var $27 = 0, $270 = 0.0, $271 = 0.0, $272 = 0.0, $273 = 0, $274 = 0.0, $275 = 0.0, $276 = 0.0, $277 = 0.0, $278 = 0.0, $279 = 0.0, $28 = 0, $280 = 0.0, $281 = 0.0, $282 = 0.0, $283 = 0.0, $284 = 0.0, $285 = 0.0, $286 = 0, $287 = 0.0; + var $288 = 0.0, $289 = 0.0, $29 = 0, $290 = 0.0, $291 = 0.0, $292 = 0.0, $293 = 0.0, $294 = 0.0, $295 = 0.0, $296 = 0.0, $297 = 0.0, $298 = 0.0, $299 = 0.0, $3 = 0, $30 = 0, $300 = 0.0, $301 = 0.0, $302 = 0.0, $303 = 0.0, $304 = 0.0; + var $305 = 0.0, $306 = 0, $307 = 0.0, $308 = 0.0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0.0, $316 = 0.0, $317 = 0, $318 = 0, $319 = 0.0, $32 = 0, $320 = 0, $321 = 0, $322 = 0; + var $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0; + var $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0.0, $64 = 0, $65 = 0, $66 = 0.0, $67 = 0, $68 = 0, $69 = 0; + var $7 = 0, $70 = 0.0, $71 = 0, $72 = 0, $73 = 0, $74 = 0.0, $75 = 0, $76 = 0, $77 = 0.0, $78 = 0, $79 = 0, $8 = 0, $80 = 0.0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0; + var $88 = 0.0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0.0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0.0, $fabsf = 0.0, $fabsf296 = 0.0, $not$ = 0, $or$cond3 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 368|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(368|0); + $$byval_copy1 = sp + 352|0; + $3 = sp + 160|0; + $4 = sp + 40|0; + $5 = sp + 24|0; + $6 = sp; + $7 = sp + 12|0; + $8 = ((($0)) + 84|0); + ;HEAP32[$5>>2]=HEAP32[$8>>2]|0;HEAP32[$5+4>>2]=HEAP32[$8+4>>2]|0;HEAP32[$5+8>>2]=HEAP32[$8+8>>2]|0; + $9 = ((($0)) + 60|0); + ;HEAP32[$$byval_copy1>>2]=HEAP32[$9>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$9+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$9+8>>2]|0; + _stbtt__cff_index_get($6,$$byval_copy1,$1); + $10 = ((($6)) + 4|0); + $11 = HEAP32[$10>>2]|0; + $12 = ((($6)) + 8|0); + $13 = HEAP32[$12>>2]|0; + $14 = ($11|0)<($13|0); + if (!($14)) { + $$3 = 0; + STACKTOP = sp;return ($$3|0); + } + $15 = ((($0)) + 116|0); + $16 = ((($0)) + 72|0); + $17 = ((($3)) + 4|0); + $18 = ((($3)) + 8|0); + $19 = ((($3)) + 12|0); + $20 = ((($3)) + 16|0); + $21 = ((($3)) + 20|0); + $22 = ((($3)) + 24|0); + $23 = ((($3)) + 4|0); + $24 = ((($3)) + 8|0); + $25 = ((($3)) + 12|0); + $26 = ((($3)) + 16|0); + $27 = ((($3)) + 20|0); + $28 = ((($3)) + 24|0); + $29 = ((($3)) + 28|0); + $30 = ((($3)) + 32|0); + $31 = ((($3)) + 36|0); + $32 = ((($3)) + 40|0); + $33 = ((($3)) + 44|0); + $34 = ((($3)) + 4|0); + $35 = ((($3)) + 8|0); + $36 = ((($3)) + 12|0); + $37 = ((($3)) + 16|0); + $38 = ((($3)) + 20|0); + $39 = ((($3)) + 24|0); + $40 = ((($3)) + 28|0); + $41 = ((($3)) + 32|0); + $42 = ((($3)) + 4|0); + $43 = ((($3)) + 8|0); + $44 = ((($3)) + 12|0); + $45 = ((($3)) + 16|0); + $46 = ((($3)) + 20|0); + $47 = ((($3)) + 24|0); + $48 = ((($3)) + 28|0); + $49 = ((($3)) + 32|0); + $50 = ((($3)) + 36|0); + $51 = ((($3)) + 40|0); + $$0274335 = 1;$$0276334 = 0;$$0285333 = 0;$$0288332 = 0;$$0294331 = 0; + L4: while(1) { + $52 = (_stbtt__buf_get8($6)|0); + L6: do { + switch ($52<<24>>24) { + case 14: { + label = 63; + break L4; + break; + } + case 20: case 19: { + $53 = ($$0274335|0)==(0); + if ($53) { + $$1277 = $$0276334; + } else { + $54 = (($$0294331|0) / 2)&-1; + $55 = (($$0276334) + ($54))|0; + $$1277 = $55; + } + $56 = (($$1277) + 7)|0; + $57 = (($56|0) / 8)&-1; + _stbtt__buf_skip($6,$57); + $$0274$be = 0;$$0276$be = $$1277;$$0285$be = $$0285333;$$0288$be = $$0288332;$$0294$be = 0; + label = 73; + break; + } + case 23: case 18: case 3: case 1: { + $58 = (($$0294331|0) / 2)&-1; + $59 = (($$0276334) + ($58))|0; + $$0274$be = $$0274335;$$0276$be = $59;$$0285$be = $$0285333;$$0288$be = $$0288332;$$0294$be = 0; + label = 73; + break; + } + case 21: { + $60 = ($$0294331|0)<(2); + if ($60) { + $$3 = 0; + label = 80; + break L4; + } + $61 = (($$0294331) + -2)|0; + $62 = (($3) + ($61<<2)|0); + $63 = +HEAPF32[$62>>2]; + $64 = (($$0294331) + -1)|0; + $65 = (($3) + ($64<<2)|0); + $66 = +HEAPF32[$65>>2]; + _stbtt__csctx_rmove_to($2,$63,$66); + $$0274$be = 0;$$0276$be = $$0276334;$$0285$be = $$0285333;$$0288$be = $$0288332;$$0294$be = 0; + label = 73; + break; + } + case 4: { + $67 = ($$0294331|0)<(1); + if ($67) { + $$3 = 0; + label = 80; + break L4; + } + $68 = (($$0294331) + -1)|0; + $69 = (($3) + ($68<<2)|0); + $70 = +HEAPF32[$69>>2]; + _stbtt__csctx_rmove_to($2,0.0,$70); + $$0274$be = 0;$$0276$be = $$0276334;$$0285$be = $$0285333;$$0288$be = $$0288332;$$0294$be = 0; + label = 73; + break; + } + case 22: { + $71 = ($$0294331|0)<(1); + if ($71) { + $$3 = 0; + label = 80; + break L4; + } + $72 = (($$0294331) + -1)|0; + $73 = (($3) + ($72<<2)|0); + $74 = +HEAPF32[$73>>2]; + _stbtt__csctx_rmove_to($2,$74,0.0); + $$0274$be = 0;$$0276$be = $$0276334;$$0285$be = $$0285333;$$0288$be = $$0288332;$$0294$be = 0; + label = 73; + break; + } + case 5: { + $75 = ($$0294331|0)<(2); + if ($75) { + $$3 = 0; + label = 80; + break L4; + } else { + $$0290329 = 0;$79 = 1; + } + while(1) { + $76 = (($3) + ($$0290329<<2)|0); + $77 = +HEAPF32[$76>>2]; + $78 = (($3) + ($79<<2)|0); + $80 = +HEAPF32[$78>>2]; + _stbtt__csctx_rline_to($2,$77,$80); + $81 = (($$0290329) + 2)|0; + $82 = $81 | 1; + $83 = ($82|0)<($$0294331|0); + if ($83) { + $$0290329 = $81;$79 = $82; + } else { + $$0274$be = $$0274335;$$0276$be = $$0276334;$$0285$be = $$0285333;$$0288$be = $$0288332;$$0294$be = 0; + label = 73; + break; + } + } + break; + } + case 7: { + $84 = ($$0294331|0)<(1); + if ($84) { + $$3 = 0; + label = 80; + break L4; + } else { + $$2292 = 0; + label = 20; + } + break; + } + case 6: { + $85 = ($$0294331|0)<(1); + if ($85) { + $$3 = 0; + label = 80; + break L4; + } else { + $$1291 = 0; + label = 18; + } + break; + } + case 31: { + $94 = ($$0294331|0)<(4); + if ($94) { + $$3 = 0; + label = 80; + break L4; + } else { + $$4 = 0; + label = 28; + } + break; + } + case 30: { + $95 = ($$0294331|0)<(4); + if ($95) { + $$3 = 0; + label = 80; + break L4; + } else { + $$3293 = 0; + label = 24; + } + break; + } + case 8: { + $134 = ($$0294331|0)<(6); + if ($134) { + $$3 = 0; + label = 80; + break L4; + } else { + $$5327 = 0;$150 = 5; + } + while(1) { + $135 = (($3) + ($$5327<<2)|0); + $136 = +HEAPF32[$135>>2]; + $137 = $$5327 | 1; + $138 = (($3) + ($137<<2)|0); + $139 = +HEAPF32[$138>>2]; + $140 = (($$5327) + 2)|0; + $141 = (($3) + ($140<<2)|0); + $142 = +HEAPF32[$141>>2]; + $143 = (($$5327) + 3)|0; + $144 = (($3) + ($143<<2)|0); + $145 = +HEAPF32[$144>>2]; + $146 = (($$5327) + 4)|0; + $147 = (($3) + ($146<<2)|0); + $148 = +HEAPF32[$147>>2]; + $149 = (($3) + ($150<<2)|0); + $151 = +HEAPF32[$149>>2]; + _stbtt__csctx_rccurve_to($2,$136,$139,$142,$145,$148,$151); + $152 = (($$5327) + 6)|0; + $153 = (($$5327) + 11)|0; + $154 = ($153|0)<($$0294331|0); + if ($154) { + $$5327 = $152;$150 = $153; + } else { + $$0274$be = $$0274335;$$0276$be = $$0276334;$$0285$be = $$0285333;$$0288$be = $$0288332;$$0294$be = 0; + label = 73; + break; + } + } + break; + } + case 24: { + $155 = ($$0294331|0)<(8); + if ($155) { + $$3 = 0; + label = 80; + break L4; + } + $156 = (($$0294331) + -2)|0; + $157 = ($156|0)>(5); + if ($157) { + $$6322 = 0;$161 = 1;$173 = 5; + while(1) { + $158 = (($3) + ($$6322<<2)|0); + $159 = +HEAPF32[$158>>2]; + $160 = (($3) + ($161<<2)|0); + $162 = +HEAPF32[$160>>2]; + $163 = (($$6322) + 2)|0; + $164 = (($3) + ($163<<2)|0); + $165 = +HEAPF32[$164>>2]; + $166 = (($$6322) + 3)|0; + $167 = (($3) + ($166<<2)|0); + $168 = +HEAPF32[$167>>2]; + $169 = (($$6322) + 4)|0; + $170 = (($3) + ($169<<2)|0); + $171 = +HEAPF32[$170>>2]; + $172 = (($3) + ($173<<2)|0); + $174 = +HEAPF32[$172>>2]; + _stbtt__csctx_rccurve_to($2,$159,$162,$165,$168,$171,$174); + $175 = (($$6322) + 6)|0; + $176 = (($$6322) + 11)|0; + $177 = ($176|0)<($156|0); + $178 = $175 | 1; + if ($177) { + $$6322 = $175;$161 = $178;$173 = $176; + } else { + $$6$lcssa = $175;$$lcssa316 = $178; + break; + } + } + } else { + $$6$lcssa = 0;$$lcssa316 = 1; + } + $179 = ($$lcssa316|0)<($$0294331|0); + if (!($179)) { + $$3 = 0; + label = 80; + break L4; + } + $180 = (($3) + ($$6$lcssa<<2)|0); + $181 = +HEAPF32[$180>>2]; + $182 = (($3) + ($$lcssa316<<2)|0); + $183 = +HEAPF32[$182>>2]; + _stbtt__csctx_rline_to($2,$181,$183); + $$0274$be = $$0274335;$$0276$be = $$0276334;$$0285$be = $$0285333;$$0288$be = $$0288332;$$0294$be = 0; + label = 73; + break; + } + case 25: { + $184 = ($$0294331|0)<(8); + if ($184) { + $$3 = 0; + label = 80; + break L4; + } + $185 = (($$0294331) + -6)|0; + $186 = ($185|0)>(1); + if ($186) { + $$7319 = 0;$190 = 1; + while(1) { + $187 = (($3) + ($$7319<<2)|0); + $188 = +HEAPF32[$187>>2]; + $189 = (($3) + ($190<<2)|0); + $191 = +HEAPF32[$189>>2]; + _stbtt__csctx_rline_to($2,$188,$191); + $192 = (($$7319) + 2)|0; + $193 = $192 | 1; + $194 = ($193|0)<($185|0); + if ($194) { + $$7319 = $192;$190 = $193; + } else { + $$7$lcssa = $192;$$lcssa = $193; + break; + } + } + } else { + $$7$lcssa = 0;$$lcssa = 1; + } + $195 = (($$7$lcssa) + 5)|0; + $196 = ($195|0)<($$0294331|0); + if (!($196)) { + $$3 = 0; + label = 80; + break L4; + } + $197 = (($3) + ($$7$lcssa<<2)|0); + $198 = +HEAPF32[$197>>2]; + $199 = (($3) + ($$lcssa<<2)|0); + $200 = +HEAPF32[$199>>2]; + $201 = (($$7$lcssa) + 2)|0; + $202 = (($3) + ($201<<2)|0); + $203 = +HEAPF32[$202>>2]; + $204 = (($$7$lcssa) + 3)|0; + $205 = (($3) + ($204<<2)|0); + $206 = +HEAPF32[$205>>2]; + $207 = (($$7$lcssa) + 4)|0; + $208 = (($3) + ($207<<2)|0); + $209 = +HEAPF32[$208>>2]; + $210 = (($3) + ($195<<2)|0); + $211 = +HEAPF32[$210>>2]; + _stbtt__csctx_rccurve_to($2,$198,$200,$203,$206,$209,$211); + $$0274$be = $$0274335;$$0276$be = $$0276334;$$0285$be = $$0285333;$$0288$be = $$0288332;$$0294$be = 0; + label = 73; + break; + } + case 27: case 26: { + $212 = ($$0294331|0)<(4); + if ($212) { + $$3 = 0; + label = 80; + break L4; + } + $213 = $$0294331 & 1; + $214 = ($213|0)==(0); + $215 = (($213) + 3)|0; + $216 = ($215|0)<($$0294331|0); + if ($216) { + $not$ = $214 ^ 1; + $$ = $not$&1; + $217 = +HEAPF32[$3>>2]; + $$363 = $214 ? 0.0 : $217; + $218 = ($52<<24>>24)==(27); + $$0282318 = $$363;$$8317 = $$;$228 = $215; + while(1) { + $219 = (($$8317) + 2)|0; + $220 = (($$8317) + 1)|0; + $221 = (($3) + ($219<<2)|0); + $222 = +HEAPF32[$221>>2]; + $223 = (($3) + ($$8317<<2)|0); + $224 = +HEAPF32[$223>>2]; + $225 = (($3) + ($220<<2)|0); + $226 = +HEAPF32[$225>>2]; + $227 = (($3) + ($228<<2)|0); + $229 = +HEAPF32[$227>>2]; + if ($218) { + _stbtt__csctx_rccurve_to($2,$224,$$0282318,$226,$222,$229,0.0); + } else { + _stbtt__csctx_rccurve_to($2,$$0282318,$224,$226,$222,0.0,$229); + } + $230 = (($$8317) + 4)|0; + $231 = (($$8317) + 7)|0; + $232 = ($231|0)<($$0294331|0); + if ($232) { + $$0282318 = 0.0;$$8317 = $230;$228 = $231; + } else { + $$0274$be = $$0274335;$$0276$be = $$0276334;$$0285$be = $$0285333;$$0288$be = $$0288332;$$0294$be = 0; + label = 73; + break; + } + } + } else { + $$0274$be = $$0274335;$$0276$be = $$0276334;$$0285$be = $$0285333;$$0288$be = $$0288332;$$0294$be = 0; + label = 73; + } + break; + } + case 10: { + $233 = ($$0285333|0)==(0); + if ($233) { + $234 = HEAP32[$15>>2]|0; + $235 = ($234|0)==(0); + if ($235) { + $$1286 = 1; + label = 54; + } else { + _stbtt__cid_get_glyph_subrs($5,$0,$1); + $$1286 = 1; + label = 54; + } + } else { + $$1286 = $$0285333; + label = 54; + } + break; + } + case 29: { + $$1286 = $$0285333; + label = 54; + break; + } + case 11: { + $247 = ($$0288332|0)<(1); + if ($247) { + $$3 = 0; + label = 80; + break L4; + } + $248 = (($$0288332) + -1)|0; + $249 = (($4) + (($248*12)|0)|0); + ;HEAP32[$6>>2]=HEAP32[$249>>2]|0;HEAP32[$6+4>>2]=HEAP32[$249+4>>2]|0;HEAP32[$6+8>>2]=HEAP32[$249+8>>2]|0; + $$0274$be = $$0274335;$$0276$be = $$0276334;$$0285$be = $$0285333;$$0288$be = $248;$$0294$be = $$0294331; + label = 73; + break; + } + case 12: { + $250 = (_stbtt__buf_get8($6)|0); + switch ($250<<24>>24) { + case 34: { + $251 = ($$0294331|0)<(7); + if ($251) { + $$3 = 0; + label = 80; + break L4; + } + $252 = +HEAPF32[$3>>2]; + $253 = +HEAPF32[$17>>2]; + $254 = +HEAPF32[$18>>2]; + $255 = +HEAPF32[$19>>2]; + $256 = +HEAPF32[$20>>2]; + $257 = +HEAPF32[$21>>2]; + $258 = +HEAPF32[$22>>2]; + _stbtt__csctx_rccurve_to($2,$252,0.0,$253,$254,$255,0.0); + $259 = -$254; + _stbtt__csctx_rccurve_to($2,$256,0.0,$257,$259,$258,0.0); + $$0274$be = $$0274335;$$0276$be = $$0276334;$$0285$be = $$0285333;$$0288$be = $$0288332;$$0294$be = 0; + label = 73; + break L6; + break; + } + case 35: { + $260 = ($$0294331|0)<(13); + if ($260) { + $$3 = 0; + label = 80; + break L4; + } + $261 = +HEAPF32[$3>>2]; + $262 = +HEAPF32[$23>>2]; + $263 = +HEAPF32[$24>>2]; + $264 = +HEAPF32[$25>>2]; + $265 = +HEAPF32[$26>>2]; + $266 = +HEAPF32[$27>>2]; + $267 = +HEAPF32[$28>>2]; + $268 = +HEAPF32[$29>>2]; + $269 = +HEAPF32[$30>>2]; + $270 = +HEAPF32[$31>>2]; + $271 = +HEAPF32[$32>>2]; + $272 = +HEAPF32[$33>>2]; + _stbtt__csctx_rccurve_to($2,$261,$262,$263,$264,$265,$266); + _stbtt__csctx_rccurve_to($2,$267,$268,$269,$270,$271,$272); + $$0274$be = $$0274335;$$0276$be = $$0276334;$$0285$be = $$0285333;$$0288$be = $$0288332;$$0294$be = 0; + label = 73; + break L6; + break; + } + case 36: { + $273 = ($$0294331|0)<(9); + if ($273) { + $$3 = 0; + label = 80; + break L4; + } + $274 = +HEAPF32[$3>>2]; + $275 = +HEAPF32[$34>>2]; + $276 = +HEAPF32[$35>>2]; + $277 = +HEAPF32[$36>>2]; + $278 = +HEAPF32[$37>>2]; + $279 = +HEAPF32[$38>>2]; + $280 = +HEAPF32[$39>>2]; + $281 = +HEAPF32[$40>>2]; + $282 = +HEAPF32[$41>>2]; + _stbtt__csctx_rccurve_to($2,$274,$275,$276,$277,$278,0.0); + $283 = $275 + $277; + $284 = $283 + $281; + $285 = -$284; + _stbtt__csctx_rccurve_to($2,$279,0.0,$280,$281,$282,$285); + $$0274$be = $$0274335;$$0276$be = $$0276334;$$0285$be = $$0285333;$$0288$be = $$0288332;$$0294$be = 0; + label = 73; + break L6; + break; + } + case 37: { + $286 = ($$0294331|0)<(11); + if ($286) { + $$3 = 0; + label = 80; + break L4; + } + $287 = +HEAPF32[$3>>2]; + $288 = +HEAPF32[$42>>2]; + $289 = +HEAPF32[$43>>2]; + $290 = +HEAPF32[$44>>2]; + $291 = +HEAPF32[$45>>2]; + $292 = +HEAPF32[$46>>2]; + $293 = +HEAPF32[$47>>2]; + $294 = +HEAPF32[$48>>2]; + $295 = +HEAPF32[$49>>2]; + $296 = +HEAPF32[$50>>2]; + $297 = +HEAPF32[$51>>2]; + $298 = $287 + $289; + $299 = $298 + $291; + $300 = $299 + $293; + $301 = $300 + $295; + $302 = $288 + $290; + $303 = $302 + $292; + $304 = $303 + $294; + $305 = $304 + $296; + $fabsf = (+Math_abs((+$301))); + $fabsf296 = (+Math_abs((+$305))); + $306 = $fabsf > $fabsf296; + $307 = -$305; + $308 = -$301; + $$0280 = $306 ? $297 : $308; + $$0279 = $306 ? $307 : $297; + _stbtt__csctx_rccurve_to($2,$287,$288,$289,$290,$291,$292); + _stbtt__csctx_rccurve_to($2,$293,$294,$295,$296,$$0280,$$0279); + $$0274$be = $$0274335;$$0276$be = $$0276334;$$0285$be = $$0285333;$$0288$be = $$0288332;$$0294$be = 0; + label = 73; + break L6; + break; + } + default: { + $$3 = 0; + label = 80; + break L4; + } + } + break; + } + case -1: { + label = 76; + break; + } + case 28: { + label = 77; + break; + } + default: { + $312 = ($52&255)<(32); + $313 = ($52<<24>>24)==(-1); + $or$cond3 = $312 | $313; + if ($or$cond3) { + $$3 = 0; + label = 80; + break L4; + } + if ($313) { + label = 76; + } else { + label = 77; + } + } + } + } while(0); + if ((label|0) == 54) { + label = 0; + $236 = ($$0294331|0)<(1); + if ($236) { + $$3 = 0; + label = 80; + break; + } + $237 = (($$0294331) + -1)|0; + $238 = (($3) + ($237<<2)|0); + $239 = +HEAPF32[$238>>2]; + $240 = (~~(($239))); + $241 = ($$0288332|0)>(9); + if ($241) { + $$3 = 0; + label = 80; + break; + } + $242 = (($$0288332) + 1)|0; + $243 = (($4) + (($$0288332*12)|0)|0); + ;HEAP32[$243>>2]=HEAP32[$6>>2]|0;HEAP32[$243+4>>2]=HEAP32[$6+4>>2]|0;HEAP32[$243+8>>2]=HEAP32[$6+8>>2]|0; + $244 = ($52<<24>>24)==(10); + if ($244) { + ;HEAP32[$7>>2]=HEAP32[$5>>2]|0;HEAP32[$7+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$7+8>>2]=HEAP32[$5+8>>2]|0; + } else { + ;HEAP32[$7>>2]=HEAP32[$16>>2]|0;HEAP32[$7+4>>2]=HEAP32[$16+4>>2]|0;HEAP32[$7+8>>2]=HEAP32[$16+8>>2]|0; + } + ;HEAP32[$$byval_copy1>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$7+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$7+8>>2]|0; + _stbtt__get_subr($6,$$byval_copy1,$240); + $245 = HEAP32[$12>>2]|0; + $246 = ($245|0)==(0); + if ($246) { + $$3 = 0; + label = 80; + break; + } + HEAP32[$10>>2] = 0; + $$0274$be = $$0274335;$$0276$be = $$0276334;$$0285$be = $$1286;$$0288$be = $242;$$0294$be = $237; + label = 73; + } + else if ((label|0) == 76) { + label = 0; + $314 = (_stbtt__buf_get($6,4)|0); + $315 = (+($314>>>0)); + $316 = $315 * 1.52587890625E-5; + $$1283 = $316; + label = 78; + } + else if ((label|0) == 77) { + label = 0; + _stbtt__buf_skip($6,-1); + $317 = (_stbtt__cff_int($6)|0); + $318 = $317&65535; + $319 = (+($318<<16>>16)); + $$1283 = $319; + label = 78; + } + if ((label|0) == 78) { + label = 0; + $320 = ($$0294331|0)>(47); + if ($320) { + $$3 = 0; + label = 80; + break; + } + $321 = (($$0294331) + 1)|0; + $322 = (($3) + ($$0294331<<2)|0); + HEAPF32[$322>>2] = $$1283; + $$0274$be = $$0274335;$$0276$be = $$0276334;$$0285$be = $$0285333;$$0288$be = $$0288332;$$0294$be = $321; + label = 73; + } + while(1) { + if ((label|0) == 18) { + label = 0; + $86 = ($$1291|0)<($$0294331|0); + if (!($86)) { + $$0274$be = $$0274335;$$0276$be = $$0276334;$$0285$be = $$0285333;$$0288$be = $$0288332;$$0294$be = 0; + label = 73; + continue; + } + $87 = (($3) + ($$1291<<2)|0); + $88 = +HEAPF32[$87>>2]; + _stbtt__csctx_rline_to($2,$88,0.0); + $89 = (($$1291) + 1)|0; + $$2292 = $89; + label = 20; + continue; + } + else if ((label|0) == 20) { + label = 0; + $90 = ($$2292|0)<($$0294331|0); + if (!($90)) { + $$0274$be = $$0274335;$$0276$be = $$0276334;$$0285$be = $$0285333;$$0288$be = $$0288332;$$0294$be = 0; + label = 73; + continue; + } + $91 = (($3) + ($$2292<<2)|0); + $92 = +HEAPF32[$91>>2]; + _stbtt__csctx_rline_to($2,0.0,$92); + $93 = (($$2292) + 1)|0; + $$1291 = $93; + label = 18; + continue; + } + else if ((label|0) == 24) { + label = 0; + $96 = (($$3293) + 3)|0; + $97 = ($96|0)<($$0294331|0); + if (!($97)) { + $$0274$be = $$0274335;$$0276$be = $$0276334;$$0285$be = $$0285333;$$0288$be = $$0288332;$$0294$be = 0; + label = 73; + continue; + } + $98 = (($3) + ($$3293<<2)|0); + $99 = +HEAPF32[$98>>2]; + $100 = (($$3293) + 1)|0; + $101 = (($3) + ($100<<2)|0); + $102 = +HEAPF32[$101>>2]; + $103 = (($$3293) + 2)|0; + $104 = (($3) + ($103<<2)|0); + $105 = +HEAPF32[$104>>2]; + $106 = (($3) + ($96<<2)|0); + $107 = +HEAPF32[$106>>2]; + $108 = (($$0294331) - ($$3293))|0; + $109 = ($108|0)==(5); + if ($109) { + $110 = (($$3293) + 4)|0; + $111 = (($3) + ($110<<2)|0); + $112 = +HEAPF32[$111>>2]; + $113 = $112; + } else { + $113 = 0.0; + } + _stbtt__csctx_rccurve_to($2,0.0,$99,$102,$105,$107,$113); + $114 = (($$3293) + 4)|0; + $$4 = $114; + label = 28; + continue; + } + else if ((label|0) == 28) { + label = 0; + $115 = (($$4) + 3)|0; + $116 = ($115|0)<($$0294331|0); + if (!($116)) { + $$0274$be = $$0274335;$$0276$be = $$0276334;$$0285$be = $$0285333;$$0288$be = $$0288332;$$0294$be = 0; + label = 73; + continue; + } + $117 = (($3) + ($$4<<2)|0); + $118 = +HEAPF32[$117>>2]; + $119 = (($$4) + 1)|0; + $120 = (($3) + ($119<<2)|0); + $121 = +HEAPF32[$120>>2]; + $122 = (($$4) + 2)|0; + $123 = (($3) + ($122<<2)|0); + $124 = +HEAPF32[$123>>2]; + $125 = (($$0294331) - ($$4))|0; + $126 = ($125|0)==(5); + if ($126) { + $127 = (($$4) + 4)|0; + $128 = (($3) + ($127<<2)|0); + $129 = +HEAPF32[$128>>2]; + $132 = $129; + } else { + $132 = 0.0; + } + $130 = (($3) + ($115<<2)|0); + $131 = +HEAPF32[$130>>2]; + _stbtt__csctx_rccurve_to($2,$118,0.0,$121,$124,$132,$131); + $133 = (($$4) + 4)|0; + $$3293 = $133; + label = 24; + continue; + } + else if ((label|0) == 73) { + label = 0; + $309 = HEAP32[$10>>2]|0; + $310 = HEAP32[$12>>2]|0; + $311 = ($309|0)<($310|0); + if ($311) { + $$0274335 = $$0274$be;$$0276334 = $$0276$be;$$0285333 = $$0285$be;$$0288332 = $$0288$be;$$0294331 = $$0294$be; + continue L4; + } else { + $$3 = 0; + label = 80; + break L4; + } + } + } + } + if ((label|0) == 63) { + _stbtt__csctx_close_shape($2); + $$3 = 1; + STACKTOP = sp;return ($$3|0); + } + else if ((label|0) == 80) { + STACKTOP = sp;return ($$3|0); + } + return (0)|0; +} +function _stbtt__cff_index_get($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$off = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + _stbtt__buf_seek($1,0); + $3 = (_stbtt__buf_get($1,2)|0); + $4 = (_stbtt__buf_get8($1)|0); + $5 = $4&255; + $6 = ($2|0)>(-1); + $7 = ($3|0)>($2|0); + $or$cond = $6 & $7; + if (!($or$cond)) { + ___assert_fail((16142|0),(15479|0),1118,(16162|0)); + // unreachable; + } + $$off = (($4) + -1)<<24>>24; + $8 = ($$off&255)<(4); + if ($8) { + $9 = Math_imul($5, $2)|0; + _stbtt__buf_skip($1,$9); + $10 = (_stbtt__buf_get($1,$5)|0); + $11 = (_stbtt__buf_get($1,$5)|0); + $12 = (($3) + 1)|0; + $13 = Math_imul($5, $12)|0; + $14 = (($13) + 2)|0; + $15 = (($14) + ($10))|0; + $16 = (($11) - ($10))|0; + _stbtt__buf_range($0,$1,$15,$16); + return; + } else { + ___assert_fail((16059|0),(15479|0),1119,(16162|0)); + // unreachable; + } +} +function _stbtt__buf_get8($0) { + $0 = $0|0; + var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 4|0); + $2 = HEAP32[$1>>2]|0; + $3 = ((($0)) + 8|0); + $4 = HEAP32[$3>>2]|0; + $5 = ($2|0)<($4|0); + if (!($5)) { + $$0 = 0; + return ($$0|0); + } + $6 = (($2) + 1)|0; + $7 = HEAP32[$0>>2]|0; + HEAP32[$1>>2] = $6; + $8 = (($7) + ($2)|0); + $9 = HEAP8[$8>>0]|0; + $$0 = $9; + return ($$0|0); +} +function _stbtt__buf_skip($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($0)) + 4|0); + $3 = HEAP32[$2>>2]|0; + $4 = (($3) + ($1))|0; + _stbtt__buf_seek($0,$4); + return; +} +function _stbtt__csctx_rmove_to($0,$1,$2) { + $0 = $0|0; + $1 = +$1; + $2 = +$2; + var $10 = 0, $11 = 0.0, $12 = 0, $13 = 0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + _stbtt__csctx_close_shape($0); + $3 = ((($0)) + 16|0); + $4 = +HEAPF32[$3>>2]; + $5 = $4 + $1; + HEAPF32[$3>>2] = $5; + $6 = ((($0)) + 8|0); + HEAPF32[$6>>2] = $5; + $7 = ((($0)) + 20|0); + $8 = +HEAPF32[$7>>2]; + $9 = $8 + $2; + HEAPF32[$7>>2] = $9; + $10 = ((($0)) + 12|0); + HEAPF32[$10>>2] = $9; + $11 = +HEAPF32[$3>>2]; + $12 = (~~(($11))); + $13 = (~~(($9))); + _stbtt__csctx_v($0,1,$12,$13,0,0,0,0); + return; +} +function _stbtt__csctx_rline_to($0,$1,$2) { + $0 = $0|0; + $1 = +$1; + $2 = +$2; + var $10 = 0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0.0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ((($0)) + 16|0); + $4 = +HEAPF32[$3>>2]; + $5 = $4 + $1; + HEAPF32[$3>>2] = $5; + $6 = ((($0)) + 20|0); + $7 = +HEAPF32[$6>>2]; + $8 = $7 + $2; + HEAPF32[$6>>2] = $8; + $9 = (~~(($5))); + $10 = (~~(($8))); + _stbtt__csctx_v($0,2,$9,$10,0,0,0,0); + return; +} +function _stbtt__csctx_rccurve_to($0,$1,$2,$3,$4,$5,$6) { + $0 = $0|0; + $1 = +$1; + $2 = +$2; + $3 = +$3; + $4 = +$4; + $5 = +$5; + $6 = +$6; + var $10 = 0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $7 = ((($0)) + 16|0); + $8 = +HEAPF32[$7>>2]; + $9 = $8 + $1; + $10 = ((($0)) + 20|0); + $11 = +HEAPF32[$10>>2]; + $12 = $11 + $2; + $13 = $9 + $3; + $14 = $12 + $4; + $15 = $13 + $5; + HEAPF32[$7>>2] = $15; + $16 = $14 + $6; + HEAPF32[$10>>2] = $16; + $17 = (~~(($15))); + $18 = (~~(($16))); + $19 = (~~(($9))); + $20 = (~~(($12))); + $21 = (~~(($13))); + $22 = (~~(($14))); + _stbtt__csctx_v($0,4,$17,$18,$19,$20,$21,$22); + return; +} +function _stbtt__cid_get_glyph_subrs($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$02931 = 0, $$03034 = 0, $$035 = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0; + var $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0); + $$byval_copy2 = sp + 36|0; + $$byval_copy1 = sp + 24|0; + $3 = sp; + $4 = sp + 12|0; + $5 = ((($1)) + 108|0); + ;HEAP32[$3>>2]=HEAP32[$5>>2]|0;HEAP32[$3+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$3+8>>2]=HEAP32[$5+8>>2]|0; + _stbtt__buf_seek($3,0); + $6 = (_stbtt__buf_get8($3)|0); + L1: do { + switch ($6<<24>>24) { + case 0: { + _stbtt__buf_skip($3,$2); + $7 = (_stbtt__buf_get8($3)|0); + $8 = $7&255; + $$02931 = $8; + break; + } + case 3: { + $9 = (_stbtt__buf_get($3,2)|0); + $10 = (_stbtt__buf_get($3,2)|0); + $11 = ($9|0)>(0); + if ($11) { + $$03034 = $10;$$035 = 0; + while(1) { + $14 = (_stbtt__buf_get8($3)|0); + $15 = (_stbtt__buf_get($3,2)|0); + $16 = ($$03034|0)<=($2|0); + $17 = ($15|0)>($2|0); + $or$cond = $16 & $17; + $13 = (($$035) + 1)|0; + if ($or$cond) { + break; + } + $12 = ($13|0)<($9|0); + if ($12) { + $$03034 = $15;$$035 = $13; + } else { + label = 6; + break L1; + } + } + $18 = $14&255; + $$02931 = $18; + } else { + label = 6; + } + break; + } + default: { + label = 6; + } + } + } while(0); + if ((label|0) == 6) { + _stbtt__new_buf($$byval_copy2,0,0); + $$02931 = -1; + } + $19 = ((($1)) + 48|0); + $20 = ((($1)) + 96|0); + ;HEAP32[$$byval_copy2>>2]=HEAP32[$20>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$20+4>>2]|0;HEAP32[$$byval_copy2+8>>2]=HEAP32[$20+8>>2]|0; + _stbtt__cff_index_get($4,$$byval_copy2,$$02931); + ;HEAP32[$$byval_copy1>>2]=HEAP32[$19>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$19+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$19+8>>2]|0; + ;HEAP32[$$byval_copy2>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$4+4>>2]|0;HEAP32[$$byval_copy2+8>>2]=HEAP32[$4+8>>2]|0; + _stbtt__get_subrs($0,$$byval_copy1,$$byval_copy2); + STACKTOP = sp;return; +} +function _stbtt__get_subr($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$ = 0, $$0 = 0, $$byval_copy = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $$byval_copy = sp; + $3 = (_stbtt__cff_index_count($1)|0); + $4 = ($3|0)>(33899); + $5 = ($3|0)>(1239); + $$ = $5 ? 1131 : 107; + $$0 = $4 ? 32768 : $$; + $6 = (($$0) + ($2))|0; + $7 = ($6|0)>(-1); + $8 = ($6|0)<($3|0); + $or$cond = $7 & $8; + if ($or$cond) { + ;HEAP32[$$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$1+8>>2]|0; + _stbtt__cff_index_get($0,$$byval_copy,$6); + STACKTOP = sp;return; + } else { + _stbtt__new_buf($0,0,0); + STACKTOP = sp;return; + } +} +function _stbtt__csctx_close_shape($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0.0, $3 = 0, $4 = 0.0, $5 = 0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 8|0); + $2 = +HEAPF32[$1>>2]; + $3 = ((($0)) + 16|0); + $4 = +HEAPF32[$3>>2]; + $5 = $2 != $4; + $6 = ((($0)) + 12|0); + $7 = +HEAPF32[$6>>2]; + if (!($5)) { + $8 = ((($0)) + 20|0); + $9 = +HEAPF32[$8>>2]; + $10 = $7 != $9; + if (!($10)) { + return; + } + } + $11 = (~~(($2))); + $12 = (~~(($7))); + _stbtt__csctx_v($0,2,$11,$12,0,0,0,0); + return; +} +function _stbtt__buf_get($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$01011 = 0, $$012 = 0, $$off = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $exitcond = 0, label = 0, sp = 0; + sp = STACKTOP; + $$off = (($1) + -1)|0; + $2 = ($$off>>>0)<(4); + if ($2) { + $$01011 = 0;$$012 = 0; + } else { + ___assert_fail((15954|0),(15479|0),1014,(15971|0)); + // unreachable; + } + while(1) { + $3 = $$01011 << 8; + $4 = (_stbtt__buf_get8($0)|0); + $5 = $4&255; + $6 = $5 | $3; + $7 = (($$012) + 1)|0; + $exitcond = ($7|0)==($1|0); + if ($exitcond) { + break; + } else { + $$01011 = $6;$$012 = $7; + } + } + return ($6|0); +} +function _stbtt__cff_int($0) { + $0 = $0|0; + var $$0 = 0, $$off = 0, $$off19 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0; + var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond5 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (_stbtt__buf_get8($0)|0); + $2 = $1&255; + $$off = (($1) + -32)<<24>>24; + $3 = ($$off&255)<(215); + if ($3) { + $4 = (($2) + -139)|0; + $$0 = $4; + return ($$0|0); + } + $$off19 = (($1) + 9)<<24>>24; + $5 = ($$off19&255)<(4); + if ($5) { + $6 = $2 << 8; + $7 = (($6) + -63232)|0; + $8 = (_stbtt__buf_get8($0)|0); + $9 = $8&255; + $10 = $9 | $7; + $11 = (($10) + 108)|0; + $$0 = $11; + return ($$0|0); + } + $12 = ($1&255)>(250); + $13 = ($1<<24>>24)!=(-1); + $or$cond5 = $12 & $13; + if ($or$cond5) { + $14 = (251 - ($2))|0; + $15 = $14 << 8; + $16 = (_stbtt__buf_get8($0)|0); + $17 = $16&255; + $18 = (($15) + -108)|0; + $19 = (($18) - ($17))|0; + $$0 = $19; + return ($$0|0); + } + switch ($1<<24>>24) { + case 28: { + $20 = (_stbtt__buf_get($0,2)|0); + $$0 = $20; + return ($$0|0); + break; + } + case 29: { + $21 = (_stbtt__buf_get($0,4)|0); + $$0 = $21; + return ($$0|0); + break; + } + default: { + ___assert_fail((17531|0),(15479|0),1064,(15939|0)); + // unreachable; + } + } + return (0)|0; +} +function _stbtt__csctx_v($0,$1,$2,$3,$4,$5,$6,$7) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + $6 = $6|0; + $7 = $7|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $8 = 0, $9 = 0, label = 0; + var sp = 0; + sp = STACKTOP; + $8 = HEAP32[$0>>2]|0; + $9 = ($8|0)==(0); + if ($9) { + $11 = ((($0)) + 40|0); + $12 = HEAP32[$11>>2]|0; + $13 = ((($0)) + 44|0); + $14 = HEAP32[$13>>2]|0; + $15 = (($12) + (($14*14)|0)|0); + _stbtt_setvertex($15,$1,$2,$3,$4,$5); + $16 = $6&65535; + $17 = HEAP32[$11>>2]|0; + $18 = HEAP32[$13>>2]|0; + $19 = (((($17) + (($18*14)|0)|0)) + 8|0); + HEAP16[$19>>1] = $16; + $20 = $7&65535; + $21 = HEAP32[$11>>2]|0; + $22 = HEAP32[$13>>2]|0; + $23 = (((($21) + (($22*14)|0)|0)) + 10|0); + HEAP16[$23>>1] = $20; + } else { + _stbtt__track_vertex($0,$2,$3); + $10 = ($1<<24>>24)==(4); + if ($10) { + _stbtt__track_vertex($0,$4,$5); + _stbtt__track_vertex($0,$6,$7); + } + } + $24 = ((($0)) + 44|0); + $25 = HEAP32[$24>>2]|0; + $26 = (($25) + 1)|0; + HEAP32[$24>>2] = $26; + return; +} +function _stbtt__track_vertex($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $3 = 0, $4 = 0; + var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ((($0)) + 28|0); + $4 = HEAP32[$3>>2]|0; + $5 = ($4|0)<($1|0); + if ($5) { + label = 3; + } else { + $6 = ((($0)) + 4|0); + $7 = HEAP32[$6>>2]|0; + $8 = ($7|0)==(0); + if ($8) { + label = 3; + } + } + if ((label|0) == 3) { + HEAP32[$3>>2] = $1; + } + $9 = ((($0)) + 36|0); + $10 = HEAP32[$9>>2]|0; + $11 = ($10|0)<($2|0); + if ($11) { + label = 6; + } else { + $12 = ((($0)) + 4|0); + $13 = HEAP32[$12>>2]|0; + $14 = ($13|0)==(0); + if ($14) { + label = 6; + } + } + if ((label|0) == 6) { + HEAP32[$9>>2] = $2; + } + $15 = ((($0)) + 24|0); + $16 = HEAP32[$15>>2]|0; + $17 = ($16|0)>($1|0); + if ($17) { + label = 9; + } else { + $18 = ((($0)) + 4|0); + $19 = HEAP32[$18>>2]|0; + $20 = ($19|0)==(0); + if ($20) { + label = 9; + } + } + if ((label|0) == 9) { + HEAP32[$15>>2] = $1; + } + $21 = ((($0)) + 32|0); + $22 = HEAP32[$21>>2]|0; + $23 = ($22|0)>($2|0); + if (!($23)) { + $24 = ((($0)) + 4|0); + $25 = HEAP32[$24>>2]|0; + $26 = ($25|0)==(0); + if (!($26)) { + $27 = ((($0)) + 4|0); + HEAP32[$27>>2] = 1; + return; + } + } + HEAP32[$21>>2] = $2; + $27 = ((($0)) + 4|0); + HEAP32[$27>>2] = 1; + return; +} +function _stbtt_setvertex($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $6 = ((($0)) + 12|0); + HEAP8[$6>>0] = $1; + $7 = $2&65535; + HEAP16[$0>>1] = $7; + $8 = $3&65535; + $9 = ((($0)) + 2|0); + HEAP16[$9>>1] = $8; + $10 = $4&65535; + $11 = ((($0)) + 4|0); + HEAP16[$11>>1] = $10; + $12 = $5&65535; + $13 = ((($0)) + 6|0); + HEAP16[$13>>1] = $12; + return; +} +function _stbtt__cff_index_count($0) { + $0 = $0|0; + var $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + _stbtt__buf_seek($0,0); + $1 = (_stbtt__buf_get($0,2)|0); + return ($1|0); +} +function _stbtt__new_buf($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$sroa$4$0$$sroa_idx2 = 0, $$sroa$5$0$$sroa_idx4 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ($2>>>0)<(1073741824); + if ($3) { + HEAP32[$0>>2] = $1; + $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); + HEAP32[$$sroa$4$0$$sroa_idx2>>2] = 0; + $$sroa$5$0$$sroa_idx4 = ((($0)) + 8|0); + HEAP32[$$sroa$5$0$$sroa_idx4>>2] = $2; + return; + } else { + ___assert_fail((15986|0),(15479|0),1023,(16004|0)); + // unreachable; + } +} +function _stbtt__buf_seek($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($0)) + 8|0); + $3 = HEAP32[$2>>2]|0; + $4 = ($3|0)<($1|0); + $5 = ($1|0)<(0); + $or$cond = $5 | $4; + if ($or$cond) { + ___assert_fail((16019|0),(15479|0),1001,(16043|0)); + // unreachable; + } else { + $6 = ((($0)) + 4|0); + HEAP32[$6>>2] = $1; + return; + } +} +function _stbtt__get_subrs($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $3 = sp + 20|0; + $4 = sp; + $5 = sp + 8|0; + HEAP32[$3>>2] = 0; + $6 = $4; + $7 = $6; + HEAP32[$7>>2] = 0; + $8 = (($6) + 4)|0; + $9 = $8; + HEAP32[$9>>2] = 0; + _stbtt__dict_get_ints($2,18,2,$4); + $10 = ((($4)) + 4|0); + $11 = HEAP32[$10>>2]|0; + $12 = ($11|0)==(0); + if (!($12)) { + $13 = HEAP32[$4>>2]|0; + $14 = ($13|0)==(0); + if (!($14)) { + _stbtt__buf_range($5,$1,$11,$13); + _stbtt__dict_get_ints($5,19,1,$3); + $15 = HEAP32[$3>>2]|0; + $16 = ($15|0)==(0); + if ($16) { + _stbtt__new_buf($0,0,0); + STACKTOP = sp;return; + } else { + $17 = HEAP32[$10>>2]|0; + $18 = (($17) + ($15))|0; + _stbtt__buf_seek($1,$18); + _stbtt__cff_get_index($0,$1); + STACKTOP = sp;return; + } + } + } + _stbtt__new_buf($0,0,0); + STACKTOP = sp;return; +} +function _stbtt__dict_get_ints($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$07 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $4 = sp; + _stbtt__dict_get($4,$0,$1); + $5 = ((($4)) + 4|0); + $6 = ($2|0)>(0); + if (!($6)) { + STACKTOP = sp;return; + } + $7 = ((($4)) + 8|0); + $$07 = 0; + while(1) { + $8 = HEAP32[$5>>2]|0; + $9 = HEAP32[$7>>2]|0; + $10 = ($8|0)<($9|0); + if (!($10)) { + label = 5; + break; + } + $11 = (_stbtt__cff_int($4)|0); + $12 = (($3) + ($$07<<2)|0); + HEAP32[$12>>2] = $11; + $13 = (($$07) + 1)|0; + $14 = ($13|0)<($2|0); + if ($14) { + $$07 = $13; + } else { + label = 5; + break; + } + } + if ((label|0) == 5) { + STACKTOP = sp;return; + } +} +function _stbtt__buf_range($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $4 = sp; + _stbtt__new_buf($4,0,0); + $5 = $3 | $2; + $6 = ($5|0)<(0); + if (!($6)) { + $7 = ((($1)) + 8|0); + $8 = HEAP32[$7>>2]|0; + $9 = ($8|0)<($2|0); + $10 = (($8) - ($2))|0; + $11 = ($10|0)<($3|0); + $or$cond = $9 | $11; + if (!($or$cond)) { + $12 = HEAP32[$1>>2]|0; + $13 = (($12) + ($2)|0); + HEAP32[$4>>2] = $13; + $14 = ((($4)) + 8|0); + HEAP32[$14>>2] = $3; + ;HEAP32[$0>>2]=HEAP32[$4>>2]|0;HEAP32[$0+4>>2]=HEAP32[$4+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$4+8>>2]|0; + STACKTOP = sp;return; + } + } + ;HEAP32[$0>>2]=HEAP32[$4>>2]|0;HEAP32[$0+4>>2]=HEAP32[$4+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$4+8>>2]|0; + STACKTOP = sp;return; +} +function _stbtt__cff_get_index($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$off = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($1)) + 4|0); + $3 = HEAP32[$2>>2]|0; + $4 = (_stbtt__buf_get($1,2)|0); + $5 = ($4|0)==(0); + if ($5) { + $12 = HEAP32[$2>>2]|0; + $13 = (($12) - ($3))|0; + _stbtt__buf_range($0,$1,$3,$13); + return; + } + $6 = (_stbtt__buf_get8($1)|0); + $7 = $6&255; + $$off = (($6) + -1)<<24>>24; + $8 = ($$off&255)<(4); + if (!($8)) { + ___assert_fail((16059|0),(15479|0),1049,(16088|0)); + // unreachable; + } + $9 = Math_imul($7, $4)|0; + _stbtt__buf_skip($1,$9); + $10 = (_stbtt__buf_get($1,$7)|0); + $11 = (($10) + -1)|0; + _stbtt__buf_skip($1,$11); + $12 = HEAP32[$2>>2]|0; + $13 = (($12) - ($3))|0; + _stbtt__buf_range($0,$1,$3,$13); + return; +} +function _stbtt__dict_get($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$021 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; + var sp = 0; + sp = STACKTOP; + _stbtt__buf_seek($1,0); + $3 = ((($1)) + 4|0); + $4 = ((($1)) + 8|0); + while(1) { + $5 = HEAP32[$3>>2]|0; + $6 = HEAP32[$4>>2]|0; + $7 = ($5|0)<($6|0); + if (!($7)) { + label = 9; + break; + } + $8 = (_stbtt__buf_peek8($1)|0); + $9 = ($8&255)>(27); + if ($9) { + while(1) { + _stbtt__cff_skip_operand($1); + $10 = (_stbtt__buf_peek8($1)|0); + $11 = ($10&255)>(27); + if (!($11)) { + break; + } + } + } + $12 = HEAP32[$3>>2]|0; + $13 = (_stbtt__buf_get8($1)|0); + $14 = $13&255; + $15 = ($13<<24>>24)==(12); + if ($15) { + $16 = (_stbtt__buf_get8($1)|0); + $17 = $16&255; + $18 = $17 | 256; + $$021 = $18; + } else { + $$021 = $14; + } + $19 = ($$021|0)==($2|0); + if ($19) { + label = 8; + break; + } + } + if ((label|0) == 8) { + $20 = (($12) - ($5))|0; + _stbtt__buf_range($0,$1,$5,$20); + return; + } + else if ((label|0) == 9) { + _stbtt__buf_range($0,$1,0,0); + return; + } +} +function _stbtt__buf_peek8($0) { + $0 = $0|0; + var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 4|0); + $2 = HEAP32[$1>>2]|0; + $3 = ((($0)) + 8|0); + $4 = HEAP32[$3>>2]|0; + $5 = ($2|0)<($4|0); + if (!($5)) { + $$0 = 0; + return ($$0|0); + } + $6 = HEAP32[$0>>2]|0; + $7 = (($6) + ($2)|0); + $8 = HEAP8[$7>>0]|0; + $$0 = $8; + return ($$0|0); +} +function _stbtt__cff_skip_operand($0) { + $0 = $0|0; + var $$mask = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (_stbtt__buf_peek8($0)|0); + $2 = ($1&255)>(27); + if (!($2)) { + ___assert_fail((16109|0),(15479|0),1070,(16118|0)); + // unreachable; + } + $3 = ($1<<24>>24)==(30); + if (!($3)) { + (_stbtt__cff_int($0)|0); + return; + } + _stbtt__buf_skip($0,1); + $4 = ((($0)) + 4|0); + $5 = ((($0)) + 8|0); + while(1) { + $6 = HEAP32[$4>>2]|0; + $7 = HEAP32[$5>>2]|0; + $8 = ($6|0)<($7|0); + if (!($8)) { + label = 8; + break; + } + $9 = (_stbtt__buf_get8($0)|0); + $10 = $9&255; + $11 = $10 & 15; + $12 = ($11|0)==(15); + $$mask = $10 & 240; + $13 = ($$mask|0)==(240); + $or$cond = $12 | $13; + if ($or$cond) { + label = 8; + break; + } + } + if ((label|0) == 8) { + return; + } +} +function _stbtt__GetGlyphShapeTT($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$0348453 = 0, $$0353439 = 0, $$0361449 = 0, $$0363450 = 0, $$0364448 = 0, $$0366447 = 0, $$0372451 = 0, $$0377437 = 0, $$0379436 = 0, $$0381446 = 0, $$0387435 = 0, $$0390434 = 0, $$0393433 = 0, $$0396432 = 0, $$0399431 = 0, $$0401430 = 0, $$0403440 = 0, $$0405443 = 0, $$0407429 = 0, $$0409428 = 0; + var $$1349 = 0, $$1354 = 0, $$1362 = 0, $$1365 = 0, $$1367445 = 0, $$1378 = 0, $$1380 = 0, $$1382 = 0, $$1388 = 0, $$1391 = 0, $$1394 = 0, $$1397 = 0, $$1400 = 0, $$1402 = 0, $$1404 = 0, $$1406 = 0, $$1408 = 0, $$1410 = 0, $$2368442 = 0, $$2374 = 0; + var $$2383444 = 0, $$2389 = 0, $$2392 = 0, $$2395 = 0, $$2398 = 0, $$3356 = 0, $$3369438 = 0, $$3384 = 0, $$4 = 0, $$4352 = 0, $$4370 = 0, $$4385441 = 0, $$5371 = 0, $$5386 = 0, $$5452 = 0, $$6 = 0, $$9 = 0, $$sink = 0, $$sroa$0$0 = 0.0, $$sroa$10$0 = 0.0; + var $$sroa$17$0 = 0.0, $$sroa$24$0 = 0.0, $$sroa$31$0 = 0.0, $$sroa$35$0 = 0.0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0; + var $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0; + var $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0; + var $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0.0, $155 = 0, $156 = 0, $157 = 0.0, $158 = 0, $159 = 0.0, $16 = 0, $160 = 0, $161 = 0, $162 = 0.0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0.0, $168 = 0.0; + var $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0.0, $174 = 0.0, $175 = 0, $176 = 0, $177 = 0.0, $178 = 0.0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0.0, $184 = 0.0, $185 = 0, $186 = 0; + var $187 = 0.0, $188 = 0.0, $189 = 0, $19 = 0, $190 = 0, $191 = 0.0, $192 = 0.0, $193 = 0, $194 = 0, $195 = 0.0, $196 = 0.0, $197 = 0, $198 = 0.0, $199 = 0.0, $20 = 0, $200 = 0.0, $201 = 0.0, $202 = 0.0, $203 = 0.0, $204 = 0; + var $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0.0, $213 = 0.0, $214 = 0.0, $215 = 0.0, $216 = 0.0, $217 = 0.0, $218 = 0.0, $219 = 0, $22 = 0, $220 = 0.0, $221 = 0.0, $222 = 0.0; + var $223 = 0.0, $224 = 0.0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0.0, $231 = 0.0, $232 = 0.0, $233 = 0.0, $234 = 0.0, $235 = 0.0, $236 = 0.0, $237 = 0, $238 = 0.0, $239 = 0.0, $24 = 0, $240 = 0.0; + var $241 = 0.0, $242 = 0.0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0; + var $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0; + var $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0; + var $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0; + var $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0; + var $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond = 0, $exitcond458 = 0, $exitcond459 = 0, $exitcond460 = 0, $sext = 0, $sext412 = 0, $sqrtf = 0.0, $sqrtf411 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $3 = sp; + $4 = ((($0)) + 4|0); + $5 = HEAP32[$4>>2]|0; + $6 = (_stbtt__GetGlyfOffset($0,$1)|0); + HEAP32[$2>>2] = 0; + $7 = ($6|0)<(0); + if ($7) { + $$4 = 0; + STACKTOP = sp;return ($$4|0); + } + $8 = (($5) + ($6)|0); + $9 = (_ttSHORT($8)|0); + $10 = ($9<<16>>16)>(0); + L4: do { + if ($10) { + $11 = $9 << 16 >> 16; + $12 = ((($8)) + 10|0); + $13 = $11 << 1; + $14 = (($12) + ($13)|0); + $15 = (_ttUSHORT($14)|0); + $16 = ((($14)) + -2|0); + $17 = (_ttUSHORT($16)|0); + $18 = $17&65535; + $19 = $13 | 1; + $20 = (($19) + ($18))|0; + $21 = ($20*14)|0; + $22 = (_malloc($21)|0); + $23 = ($22|0)==(0|0); + if ($23) { + $$4 = 0; + STACKTOP = sp;return ($$4|0); + } + $24 = ((($14)) + 2|0); + $25 = $15&65535; + $26 = (($24) + ($25)|0); + $$0361449 = 0;$$0364448 = 0;$$0366447 = 0;$$0381446 = $26; + while(1) { + $27 = ($$0364448<<24>>24)==(0); + if ($27) { + $28 = ((($$0381446)) + 1|0); + $29 = HEAP8[$$0381446>>0]|0; + $30 = $29 & 8; + $31 = ($30<<24>>24)==(0); + if ($31) { + $$1362 = $29;$$1365 = 0;$$1382 = $28; + } else { + $32 = ((($$0381446)) + 2|0); + $33 = HEAP8[$28>>0]|0; + $$1362 = $29;$$1365 = $33;$$1382 = $32; + } + } else { + $34 = (($$0364448) + -1)<<24>>24; + $$1362 = $$0361449;$$1365 = $34;$$1382 = $$0381446; + } + $35 = (($$0366447) + ($13))|0; + $36 = (((($22) + (($35*14)|0)|0)) + 12|0); + HEAP8[$36>>0] = $$1362; + $37 = (($$0366447) + 1)|0; + $exitcond459 = ($$0366447|0)==($18|0); + if ($exitcond459) { + $$0405443 = 0;$$1367445 = 0;$$2383444 = $$1382; + break; + } else { + $$0361449 = $$1362;$$0364448 = $$1365;$$0366447 = $37;$$0381446 = $$1382; + } + } + while(1) { + $38 = (($$1367445) + ($13))|0; + $39 = (((($22) + (($38*14)|0)|0)) + 12|0); + $40 = HEAP8[$39>>0]|0; + $41 = $40&255; + $42 = $41 & 2; + $43 = ($42|0)==(0); + $44 = $41 & 16; + $45 = ($44|0)!=(0); + if ($43) { + if ($45) { + $$1406 = $$0405443;$$3384 = $$2383444; + } else { + $52 = HEAP8[$$2383444>>0]|0; + $53 = $52&255; + $54 = $53 << 8; + $55 = ((($$2383444)) + 1|0); + $56 = HEAP8[$55>>0]|0; + $57 = $56&255; + $58 = $54 | $57; + $sext412 = $58 << 16; + $59 = $sext412 >> 16; + $60 = (($59) + ($$0405443))|0; + $61 = ((($$2383444)) + 2|0); + $$1406 = $60;$$3384 = $61; + } + } else { + $46 = ((($$2383444)) + 1|0); + $47 = HEAP8[$$2383444>>0]|0; + $48 = $47&255; + $49 = (0 - ($48))|0; + $50 = $45 ? $48 : $49; + $51 = (($50) + ($$0405443))|0; + $$1406 = $51;$$3384 = $46; + } + $62 = $$1406&65535; + $63 = (($22) + (($38*14)|0)|0); + HEAP16[$63>>1] = $62; + $64 = (($$1367445) + 1)|0; + $exitcond458 = ($$1367445|0)==($18|0); + if ($exitcond458) { + $$0403440 = 0;$$2368442 = 0;$$4385441 = $$3384; + break; + } else { + $$0405443 = $$1406;$$1367445 = $64;$$2383444 = $$3384; + } + } + while(1) { + $65 = (($$2368442) + ($13))|0; + $66 = (((($22) + (($65*14)|0)|0)) + 12|0); + $67 = HEAP8[$66>>0]|0; + $68 = $67&255; + $69 = $68 & 4; + $70 = ($69|0)==(0); + $71 = $68 & 32; + $72 = ($71|0)!=(0); + if ($70) { + if ($72) { + $$1404 = $$0403440;$$5386 = $$4385441; + } else { + $79 = HEAP8[$$4385441>>0]|0; + $80 = $79&255; + $81 = $80 << 8; + $82 = ((($$4385441)) + 1|0); + $83 = HEAP8[$82>>0]|0; + $84 = $83&255; + $85 = $81 | $84; + $sext = $85 << 16; + $86 = $sext >> 16; + $87 = (($86) + ($$0403440))|0; + $88 = ((($$4385441)) + 2|0); + $$1404 = $87;$$5386 = $88; + } + } else { + $73 = ((($$4385441)) + 1|0); + $74 = HEAP8[$$4385441>>0]|0; + $75 = $74&255; + $76 = (0 - ($75))|0; + $77 = $72 ? $75 : $76; + $78 = (($77) + ($$0403440))|0; + $$1404 = $78;$$5386 = $73; + } + $89 = $$1404&65535; + $90 = (((($22) + (($65*14)|0)|0)) + 2|0); + HEAP16[$90>>1] = $89; + $91 = (($$2368442) + 1)|0; + $exitcond = ($$2368442|0)==($18|0); + if ($exitcond) { + $$0353439 = 0;$$0377437 = 0;$$0379436 = 0;$$0387435 = 0;$$0390434 = 0;$$0393433 = 0;$$0396432 = 0;$$0399431 = 0;$$0401430 = 0;$$0407429 = 0;$$0409428 = 0;$$3369438 = 0; + break; + } else { + $$0403440 = $$1404;$$2368442 = $91;$$4385441 = $$5386; + } + } + while(1) { + $92 = (($$3369438) + ($13))|0; + $93 = (((($22) + (($92*14)|0)|0)) + 12|0); + $94 = HEAP8[$93>>0]|0; + $95 = (($22) + (($92*14)|0)|0); + $96 = HEAP16[$95>>1]|0; + $97 = $96 << 16 >> 16; + $98 = (((($22) + (($92*14)|0)|0)) + 2|0); + $99 = HEAP16[$98>>1]|0; + $100 = $99 << 16 >> 16; + $101 = ($$0379436|0)==($$3369438|0); + $102 = $94 & 1; + $103 = ($102<<24>>24)!=(0); + do { + if ($101) { + $104 = ($$3369438|0)==(0); + if ($104) { + $$1354 = $$0353439; + } else { + $105 = (_stbtt__close_shape($22,$$0353439,$$0409428,$$0407429,$$0396432,$$0393433,$$0390434,$$0387435,$$0401430,$$0399431)|0); + $$1354 = $105; + } + $106 = $103 ^ 1; + $107 = $106&1; + do { + if ($103) { + $$1388 = $$0387435;$$1391 = $$0390434;$$1394 = $100;$$1397 = $97;$$4370 = $$3369438; + } else { + $108 = (($92) + 1)|0; + $109 = (((($22) + (($108*14)|0)|0)) + 12|0); + $110 = HEAP8[$109>>0]|0; + $111 = $110 & 1; + $112 = ($111<<24>>24)==(0); + $113 = (((($22) + (($108*14)|0)|0)) + 2|0); + $114 = HEAP16[$113>>1]|0; + $115 = (($22) + (($108*14)|0)|0); + $116 = HEAP16[$115>>1]|0; + $117 = $114 << 16 >> 16; + $118 = $116 << 16 >> 16; + if ($112) { + $119 = (($118) + ($97))|0; + $120 = $119 >> 1; + $121 = (($117) + ($100))|0; + $122 = $121 >> 1; + $$1388 = $100;$$1391 = $97;$$1394 = $122;$$1397 = $120;$$4370 = $$3369438; + break; + } else { + $123 = (($$3369438) + 1)|0; + $$1388 = $100;$$1391 = $97;$$1394 = $117;$$1397 = $118;$$4370 = $123; + break; + } + } + } while(0); + $124 = (($$1354) + 1)|0; + $125 = (($22) + (($$1354*14)|0)|0); + _stbtt_setvertex($125,1,$$1397,$$1394,0,0); + $126 = $$0377437 << 1; + $127 = (($12) + ($126)|0); + $128 = (_ttUSHORT($127)|0); + $129 = $128&65535; + $130 = (($129) + 1)|0; + $131 = (($$0377437) + 1)|0; + $$1378 = $131;$$1380 = $130;$$1400 = $$0399431;$$1402 = $$0401430;$$1408 = $107;$$1410 = 0;$$2389 = $$1388;$$2392 = $$1391;$$2395 = $$1394;$$2398 = $$1397;$$3356 = $124;$$5371 = $$4370; + } else { + $132 = ($$0409428|0)!=(0); + $133 = (($$0353439) + 1)|0; + $134 = (($22) + (($$0353439*14)|0)|0); + if (!($103)) { + if (!($132)) { + $$1378 = $$0377437;$$1380 = $$0379436;$$1400 = $100;$$1402 = $97;$$1408 = $$0407429;$$1410 = 1;$$2389 = $$0387435;$$2392 = $$0390434;$$2395 = $$0393433;$$2398 = $$0396432;$$3356 = $$0353439;$$5371 = $$3369438; + break; + } + $135 = (($100) + ($$0399431))|0; + $136 = $135 >> 1; + $137 = (($97) + ($$0401430))|0; + $138 = $137 >> 1; + _stbtt_setvertex($134,3,$138,$136,$$0401430,$$0399431); + $$1378 = $$0377437;$$1380 = $$0379436;$$1400 = $100;$$1402 = $97;$$1408 = $$0407429;$$1410 = 1;$$2389 = $$0387435;$$2392 = $$0390434;$$2395 = $$0393433;$$2398 = $$0396432;$$3356 = $133;$$5371 = $$3369438; + break; + } + if ($132) { + _stbtt_setvertex($134,3,$97,$100,$$0401430,$$0399431); + $$1378 = $$0377437;$$1380 = $$0379436;$$1400 = $$0399431;$$1402 = $$0401430;$$1408 = $$0407429;$$1410 = 0;$$2389 = $$0387435;$$2392 = $$0390434;$$2395 = $$0393433;$$2398 = $$0396432;$$3356 = $133;$$5371 = $$3369438; + break; + } else { + _stbtt_setvertex($134,2,$97,$100,0,0); + $$1378 = $$0377437;$$1380 = $$0379436;$$1400 = $$0399431;$$1402 = $$0401430;$$1408 = $$0407429;$$1410 = 0;$$2389 = $$0387435;$$2392 = $$0390434;$$2395 = $$0393433;$$2398 = $$0396432;$$3356 = $133;$$5371 = $$3369438; + break; + } + } + } while(0); + $139 = (($$5371) + 1)|0; + $140 = ($$5371|0)<($18|0); + if ($140) { + $$0353439 = $$3356;$$0377437 = $$1378;$$0379436 = $$1380;$$0387435 = $$2389;$$0390434 = $$2392;$$0393433 = $$2395;$$0396432 = $$2398;$$0399431 = $$1400;$$0401430 = $$1402;$$0407429 = $$1408;$$0409428 = $$1410;$$3369438 = $139; + } else { + break; + } + } + $141 = (_stbtt__close_shape($22,$$3356,$$1410,$$1408,$$2398,$$2395,$$2392,$$2389,$$1402,$$1400)|0); + $$4352 = $22;$$9 = $141; + } else { + $142 = ($9<<16>>16)==(-1); + if (!($142)) { + $264 = ($9<<16>>16)<(0); + if (!($264)) { + $$4352 = 0;$$9 = 0; + break; + } + ___assert_fail((17531|0),(15479|0),1724,(16256|0)); + // unreachable; + } + $143 = ((($8)) + 10|0); + $$0348453 = 0;$$0372451 = $143;$$5452 = 0;$250 = 0;$255 = 0;$260 = 0; + while(1) { + HEAP32[$3>>2] = 0; + $144 = (_ttSHORT($$0372451)|0); + $145 = ((($$0372451)) + 2|0); + $146 = (_ttSHORT($145)|0); + $147 = ((($$0372451)) + 4|0); + $148 = $144&65535; + $149 = $148 & 2; + $150 = ($149|0)==(0); + if ($150) { + label = 42; + break; + } + $151 = $148 & 1; + $152 = ($151|0)==(0); + if ($152) { + $158 = HEAP8[$147>>0]|0; + $159 = (+($158<<24>>24)); + $160 = ((($$0372451)) + 5|0); + $161 = HEAP8[$160>>0]|0; + $162 = (+($161<<24>>24)); + $$sink = 6;$$sroa$31$0 = $159;$$sroa$35$0 = $162; + } else { + $153 = (_ttSHORT($147)|0); + $154 = (+($153<<16>>16)); + $155 = ((($$0372451)) + 6|0); + $156 = (_ttSHORT($155)|0); + $157 = (+($156<<16>>16)); + $$sink = 8;$$sroa$31$0 = $154;$$sroa$35$0 = $157; + } + $163 = (($$0372451) + ($$sink)|0); + $164 = $148 & 8; + $165 = ($164|0)==(0); + do { + if ($165) { + $170 = $148 & 64; + $171 = ($170|0)==(0); + if (!($171)) { + $172 = (_ttSHORT($163)|0); + $173 = (+($172<<16>>16)); + $174 = $173 * 6.103515625E-5; + $175 = ((($163)) + 2|0); + $176 = (_ttSHORT($175)|0); + $177 = (+($176<<16>>16)); + $178 = $177 * 6.103515625E-5; + $179 = ((($163)) + 4|0); + $$2374 = $179;$$sroa$0$0 = $174;$$sroa$10$0 = 0.0;$$sroa$17$0 = 0.0;$$sroa$24$0 = $178; + break; + } + $180 = $148 & 128; + $181 = ($180|0)==(0); + if ($181) { + $$2374 = $163;$$sroa$0$0 = 1.0;$$sroa$10$0 = 0.0;$$sroa$17$0 = 0.0;$$sroa$24$0 = 1.0; + } else { + $182 = (_ttSHORT($163)|0); + $183 = (+($182<<16>>16)); + $184 = $183 * 6.103515625E-5; + $185 = ((($163)) + 2|0); + $186 = (_ttSHORT($185)|0); + $187 = (+($186<<16>>16)); + $188 = $187 * 6.103515625E-5; + $189 = ((($163)) + 4|0); + $190 = (_ttSHORT($189)|0); + $191 = (+($190<<16>>16)); + $192 = $191 * 6.103515625E-5; + $193 = ((($163)) + 6|0); + $194 = (_ttSHORT($193)|0); + $195 = (+($194<<16>>16)); + $196 = $195 * 6.103515625E-5; + $197 = ((($163)) + 8|0); + $$2374 = $197;$$sroa$0$0 = $184;$$sroa$10$0 = $188;$$sroa$17$0 = $192;$$sroa$24$0 = $196; + } + } else { + $166 = (_ttSHORT($163)|0); + $167 = (+($166<<16>>16)); + $168 = $167 * 6.103515625E-5; + $169 = ((($163)) + 2|0); + $$2374 = $169;$$sroa$0$0 = $168;$$sroa$10$0 = 0.0;$$sroa$17$0 = 0.0;$$sroa$24$0 = $168; + } + } while(0); + $198 = $$sroa$0$0 * $$sroa$0$0; + $199 = $$sroa$10$0 * $$sroa$10$0; + $200 = $199 + $198; + $sqrtf = (+Math_sqrt((+$200))); + $201 = $$sroa$17$0 * $$sroa$17$0; + $202 = $$sroa$24$0 * $$sroa$24$0; + $203 = $202 + $201; + $sqrtf411 = (+Math_sqrt((+$203))); + $204 = $146&65535; + $205 = (_stbtt_GetGlyphShape($0,$204,$3)|0); + $206 = ($205|0)>(0); + if ($206) { + $207 = HEAP32[$3>>2]|0; + $$0363450 = 0; + while(1) { + $208 = (($207) + (($$0363450*14)|0)|0); + $209 = HEAP16[$208>>1]|0; + $210 = (((($207) + (($$0363450*14)|0)|0)) + 2|0); + $211 = HEAP16[$210>>1]|0; + $212 = (+($209<<16>>16)); + $213 = $$sroa$0$0 * $212; + $214 = (+($211<<16>>16)); + $215 = $$sroa$17$0 * $214; + $216 = $213 + $215; + $217 = $$sroa$31$0 + $216; + $218 = $sqrtf * $217; + $219 = (~~(($218))); + HEAP16[$208>>1] = $219; + $220 = $$sroa$10$0 * $212; + $221 = $$sroa$24$0 * $214; + $222 = $220 + $221; + $223 = $$sroa$35$0 + $222; + $224 = $sqrtf411 * $223; + $225 = (~~(($224))); + HEAP16[$210>>1] = $225; + $226 = (((($207) + (($$0363450*14)|0)|0)) + 4|0); + $227 = HEAP16[$226>>1]|0; + $228 = (((($207) + (($$0363450*14)|0)|0)) + 6|0); + $229 = HEAP16[$228>>1]|0; + $230 = (+($227<<16>>16)); + $231 = $$sroa$0$0 * $230; + $232 = (+($229<<16>>16)); + $233 = $$sroa$17$0 * $232; + $234 = $231 + $233; + $235 = $$sroa$31$0 + $234; + $236 = $sqrtf * $235; + $237 = (~~(($236))); + HEAP16[$226>>1] = $237; + $238 = $$sroa$10$0 * $230; + $239 = $$sroa$24$0 * $232; + $240 = $238 + $239; + $241 = $$sroa$35$0 + $240; + $242 = $sqrtf411 * $241; + $243 = (~~(($242))); + HEAP16[$228>>1] = $243; + $244 = (($$0363450) + 1)|0; + $exitcond460 = ($244|0)==($205|0); + if ($exitcond460) { + break; + } else { + $$0363450 = $244; + } + } + $245 = (($205) + ($$5452))|0; + $246 = ($245*14)|0; + $247 = (_malloc($246)|0); + $248 = ($247|0)==(0|0); + if ($248) { + break; + } + $253 = ($$5452|0)>(0); + if ($253) { + $254 = ($$5452*14)|0; + _memcpy(($247|0),($255|0),($254|0))|0; + } + $256 = (($247) + (($$5452*14)|0)|0); + $257 = HEAP32[$3>>2]|0; + $258 = ($205*14)|0; + _memcpy(($256|0),($257|0),($258|0))|0; + $259 = ($$0348453|0)==(0|0); + if (!($259)) { + _free($260); + } + $261 = HEAP32[$3>>2]|0; + _free($261); + $$1349 = $247;$$6 = $245;$265 = $247;$266 = $247;$267 = $247; + } else { + $$1349 = $$0348453;$$6 = $$5452;$265 = $250;$266 = $260;$267 = $255; + } + $262 = $148 & 32; + $263 = ($262|0)==(0); + if ($263) { + $$4352 = $$1349;$$9 = $$6; + break L4; + } else { + $$0348453 = $$1349;$$0372451 = $$2374;$$5452 = $$6;$250 = $265;$255 = $267;$260 = $266; + } + } + if ((label|0) == 42) { + ___assert_fail((17531|0),(15479|0),1671,(16256|0)); + // unreachable; + } + $249 = ($$0348453|0)==(0|0); + if (!($249)) { + _free($250); + } + $251 = HEAP32[$3>>2]|0; + $252 = ($251|0)==(0|0); + if (!($252)) { + _free($251); + } + $$4 = 0; + STACKTOP = sp;return ($$4|0); + } + } while(0); + HEAP32[$2>>2] = $$4352; + $$4 = $$9; + STACKTOP = sp;return ($$4|0); +} +function _stbtt__GetGlyphShapeT2($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0; + var stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0); + $3 = sp + 48|0; + $4 = sp; + $5 = ((($3)) + 4|0); + dest=$5; stop=dest+44|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + HEAP32[$3>>2] = 1; + dest=$4; stop=dest+48|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + $6 = (_stbtt__run_charstring($0,$1,$3)|0); + $7 = ($6|0)==(0); + if (!($7)) { + $8 = ((($3)) + 44|0); + $9 = HEAP32[$8>>2]|0; + $10 = ($9*14)|0; + $11 = (_malloc($10)|0); + HEAP32[$2>>2] = $11; + $12 = ((($4)) + 40|0); + HEAP32[$12>>2] = $11; + $13 = (_stbtt__run_charstring($0,$1,$4)|0); + $14 = ($13|0)==(0); + if (!($14)) { + $15 = ((($4)) + 44|0); + $16 = HEAP32[$15>>2]|0; + $17 = HEAP32[$8>>2]|0; + $18 = ($16|0)==($17|0); + if ($18) { + $$0 = $16; + STACKTOP = sp;return ($$0|0); + } else { + ___assert_fail((16183|0),(15479|0),2114,(16233|0)); + // unreachable; + } + } + } + HEAP32[$2>>2] = 0; + $$0 = 0; + STACKTOP = sp;return ($$0|0); +} +function _stbtt__close_shape($0,$1,$2,$3,$4,$5,$6,$7,$8,$9) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + $6 = $6|0; + $7 = $7|0; + $8 = $8|0; + $9 = $9|0; + var $$0 = 0, $$1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, label = 0, sp = 0; + sp = STACKTOP; + $10 = ($3|0)==(0); + $11 = ($2|0)!=(0); + $12 = (($1) + 1)|0; + $13 = (($0) + (($1*14)|0)|0); + if (!($10)) { + if ($11) { + $14 = (($9) + ($7))|0; + $15 = $14 >> 1; + $16 = (($8) + ($6))|0; + $17 = $16 >> 1; + _stbtt_setvertex($13,3,$17,$15,$8,$9); + $$0 = $12; + } else { + $$0 = $1; + } + $18 = (($$0) + 1)|0; + $19 = (($0) + (($$0*14)|0)|0); + _stbtt_setvertex($19,3,$4,$5,$6,$7); + $$1 = $18; + return ($$1|0); + } + if ($11) { + _stbtt_setvertex($13,3,$4,$5,$8,$9); + $$1 = $12; + return ($$1|0); + } else { + _stbtt_setvertex($13,2,$4,$5,0,0); + $$1 = $12; + return ($$1|0); + } + return (0)|0; +} +function _stbtt_InitFont_internal($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0902 = 0, $$1 = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $$pr = 0, $$sink = 0, $10 = 0, $100 = 0, $101 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0; + var $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0; + var $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0; + var $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0; + var $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0; + var $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 192|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(192|0); + $$byval_copy2 = sp + 172|0; + $$byval_copy1 = sp + 160|0; + $2 = sp + 148|0; + $3 = sp + 136|0; + $4 = sp + 124|0; + $5 = sp + 112|0; + $6 = sp + 108|0; + $7 = sp + 104|0; + $8 = sp + 100|0; + $9 = sp + 96|0; + $10 = sp + 84|0; + $11 = sp + 72|0; + $12 = sp + 60|0; + $13 = sp + 48|0; + $14 = sp + 36|0; + $15 = sp + 24|0; + $16 = sp + 12|0; + $17 = sp; + $18 = ((($0)) + 4|0); + HEAP32[$18>>2] = $1; + $19 = ((($0)) + 8|0); + HEAP32[$19>>2] = 0; + $20 = ((($0)) + 48|0); + _stbtt__new_buf($2,0,0); + ;HEAP32[$20>>2]=HEAP32[$2>>2]|0;HEAP32[$20+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$20+8>>2]=HEAP32[$2+8>>2]|0; + $21 = (_stbtt__find_table($1,16356)|0); + $22 = (_stbtt__find_table($1,16361)|0); + $23 = ((($0)) + 16|0); + HEAP32[$23>>2] = $22; + $24 = (_stbtt__find_table($1,16366)|0); + $25 = ((($0)) + 20|0); + HEAP32[$25>>2] = $24; + $26 = (_stbtt__find_table($1,16371)|0); + $27 = ((($0)) + 24|0); + HEAP32[$27>>2] = $26; + $28 = (_stbtt__find_table($1,16376)|0); + $29 = ((($0)) + 28|0); + HEAP32[$29>>2] = $28; + $30 = (_stbtt__find_table($1,16381)|0); + $31 = ((($0)) + 32|0); + HEAP32[$31>>2] = $30; + $32 = (_stbtt__find_table($1,16386)|0); + $33 = ((($0)) + 36|0); + HEAP32[$33>>2] = $32; + $34 = ($21|0)==(0); + if ($34) { + $$1 = 0; + STACKTOP = sp;return ($$1|0); + } + $35 = HEAP32[$25>>2]|0; + $36 = ($35|0)==(0); + if ($36) { + $$1 = 0; + STACKTOP = sp;return ($$1|0); + } + $37 = HEAP32[$29>>2]|0; + $38 = ($37|0)==(0); + if ($38) { + $$1 = 0; + STACKTOP = sp;return ($$1|0); + } + $39 = HEAP32[$31>>2]|0; + $40 = ($39|0)==(0); + if ($40) { + $$1 = 0; + STACKTOP = sp;return ($$1|0); + } + $41 = HEAP32[$27>>2]|0; + $42 = ($41|0)==(0); + L13: do { + if ($42) { + HEAP32[$6>>2] = 2; + HEAP32[$7>>2] = 0; + HEAP32[$8>>2] = 0; + HEAP32[$9>>2] = 0; + $45 = (_stbtt__find_table($1,16391)|0); + $46 = ($45|0)==(0); + do { + if (!($46)) { + $47 = ((($0)) + 96|0); + _stbtt__new_buf($10,0,0); + ;HEAP32[$47>>2]=HEAP32[$10>>2]|0;HEAP32[$47+4>>2]=HEAP32[$10+4>>2]|0;HEAP32[$47+8>>2]=HEAP32[$10+8>>2]|0; + $48 = ((($0)) + 108|0); + _stbtt__new_buf($11,0,0); + ;HEAP32[$48>>2]=HEAP32[$11>>2]|0;HEAP32[$48+4>>2]=HEAP32[$11+4>>2]|0;HEAP32[$48+8>>2]=HEAP32[$11+8>>2]|0; + $49 = (($1) + ($45)|0); + _stbtt__new_buf($12,$49,536870912); + ;HEAP32[$20>>2]=HEAP32[$12>>2]|0;HEAP32[$20+4>>2]=HEAP32[$12+4>>2]|0;HEAP32[$20+8>>2]=HEAP32[$12+8>>2]|0; + ;HEAP32[$3>>2]=HEAP32[$12>>2]|0;HEAP32[$3+4>>2]=HEAP32[$12+4>>2]|0;HEAP32[$3+8>>2]=HEAP32[$12+8>>2]|0; + _stbtt__buf_skip($3,2); + $50 = (_stbtt__buf_get8($3)|0); + $51 = $50&255; + _stbtt__buf_seek($3,$51); + _stbtt__cff_get_index($$byval_copy2,$3); + _stbtt__cff_get_index($5,$3); + ;HEAP32[$$byval_copy2>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$$byval_copy2+8>>2]=HEAP32[$5+8>>2]|0; + _stbtt__cff_index_get($4,$$byval_copy2,0); + _stbtt__cff_get_index($$byval_copy2,$3); + $52 = ((($0)) + 72|0); + _stbtt__cff_get_index($13,$3); + ;HEAP32[$52>>2]=HEAP32[$13>>2]|0;HEAP32[$52+4>>2]=HEAP32[$13+4>>2]|0;HEAP32[$52+8>>2]=HEAP32[$13+8>>2]|0; + _stbtt__dict_get_ints($4,17,1,$7); + _stbtt__dict_get_ints($4,262,1,$6); + _stbtt__dict_get_ints($4,292,1,$8); + _stbtt__dict_get_ints($4,293,1,$9); + $53 = ((($0)) + 84|0); + ;HEAP32[$$byval_copy1>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$3+8>>2]|0; + ;HEAP32[$$byval_copy2>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$4+4>>2]|0;HEAP32[$$byval_copy2+8>>2]=HEAP32[$4+8>>2]|0; + _stbtt__get_subrs($14,$$byval_copy1,$$byval_copy2); + ;HEAP32[$53>>2]=HEAP32[$14>>2]|0;HEAP32[$53+4>>2]=HEAP32[$14+4>>2]|0;HEAP32[$53+8>>2]=HEAP32[$14+8>>2]|0; + $54 = HEAP32[$6>>2]|0; + $55 = ($54|0)!=(2); + $56 = HEAP32[$7>>2]|0; + $57 = ($56|0)==(0); + $or$cond = $55 | $57; + if (!($or$cond)) { + $58 = HEAP32[$8>>2]|0; + $59 = ($58|0)==(0); + if (!($59)) { + $60 = HEAP32[$9>>2]|0; + $61 = ($60|0)==(0); + if ($61) { + break; + } + _stbtt__buf_seek($3,$58); + _stbtt__cff_get_index($15,$3); + ;HEAP32[$47>>2]=HEAP32[$15>>2]|0;HEAP32[$47+4>>2]=HEAP32[$15+4>>2]|0;HEAP32[$47+8>>2]=HEAP32[$15+8>>2]|0; + $62 = HEAP32[$9>>2]|0; + $63 = ((($3)) + 8|0); + $64 = HEAP32[$63>>2]|0; + $65 = (($64) - ($62))|0; + _stbtt__buf_range($16,$3,$62,$65); + ;HEAP32[$48>>2]=HEAP32[$16>>2]|0;HEAP32[$48+4>>2]=HEAP32[$16+4>>2]|0;HEAP32[$48+8>>2]=HEAP32[$16+8>>2]|0; + } + $66 = HEAP32[$7>>2]|0; + _stbtt__buf_seek($3,$66); + $67 = ((($0)) + 60|0); + _stbtt__cff_get_index($17,$3); + ;HEAP32[$67>>2]=HEAP32[$17>>2]|0;HEAP32[$67+4>>2]=HEAP32[$17+4>>2]|0;HEAP32[$67+8>>2]=HEAP32[$17+8>>2]|0; + break L13; + } + } + } while(0); + $$1 = 0; + STACKTOP = sp;return ($$1|0); + } else { + $43 = HEAP32[$23>>2]|0; + $44 = ($43|0)==(0); + if ($44) { + $$1 = 0; + STACKTOP = sp;return ($$1|0); + } + } + } while(0); + $68 = (_stbtt__find_table($1,16396)|0); + $69 = ($68|0)==(0); + if ($69) { + $$sink = 65535; + } else { + $70 = (($1) + ($68)|0); + $71 = ((($70)) + 4|0); + $72 = (_ttUSHORT($71)|0); + $73 = $72&65535; + $$sink = $73; + } + $74 = ((($0)) + 12|0); + HEAP32[$74>>2] = $$sink; + $75 = (($1) + ($21)|0); + $76 = ((($75)) + 2|0); + $77 = (_ttUSHORT($76)|0); + $78 = $77&65535; + $79 = ((($0)) + 40|0); + HEAP32[$79>>2] = 0; + $80 = ($77<<16>>16)==(0); + if ($80) { + $$1 = 0; + STACKTOP = sp;return ($$1|0); + } + $81 = (($21) + 4)|0; + $$0902 = 0; + while(1) { + $82 = $$0902 << 3; + $83 = (($81) + ($82))|0; + $84 = (($1) + ($83)|0); + $85 = (_ttUSHORT($84)|0); + L35: do { + switch ($85<<16>>16) { + case 3: { + $86 = ((($84)) + 2|0); + $87 = (_ttUSHORT($86)|0); + switch ($87<<16>>16) { + case 10: case 1: { + break; + } + default: { + break L35; + } + } + $88 = ((($84)) + 4|0); + $89 = (_ttULONG($88)|0); + $90 = (($89) + ($21))|0; + HEAP32[$79>>2] = $90; + break; + } + case 0: { + $91 = ((($84)) + 4|0); + $92 = (_ttULONG($91)|0); + $93 = (($92) + ($21))|0; + HEAP32[$79>>2] = $93; + break; + } + default: { + } + } + } while(0); + $94 = (($$0902) + 1)|0; + $exitcond = ($94|0)==($78|0); + if ($exitcond) { + break; + } else { + $$0902 = $94; + } + } + $$pr = HEAP32[$79>>2]|0; + $95 = ($$pr|0)==(0); + if ($95) { + $$1 = 0; + STACKTOP = sp;return ($$1|0); + } + $96 = HEAP32[$25>>2]|0; + $97 = (($1) + ($96)|0); + $98 = ((($97)) + 50|0); + $99 = (_ttUSHORT($98)|0); + $100 = $99&65535; + $101 = ((($0)) + 44|0); + HEAP32[$101>>2] = $100; + $$1 = 1; + STACKTOP = sp;return ($$1|0); +} +function _stbtt__find_table($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0312 = 0, $$2 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; + var sp = 0; + sp = STACKTOP; + $2 = ((($0)) + 4|0); + $3 = (_ttUSHORT($2)|0); + $4 = $3&65535; + $5 = ($3<<16>>16)==(0); + if ($5) { + $$2 = 0; + return ($$2|0); + } + $6 = HEAP8[$1>>0]|0; + $7 = $6 << 24 >> 24; + $8 = ((($1)) + 1|0); + $9 = ((($1)) + 2|0); + $10 = ((($1)) + 3|0); + $$0312 = 0; + while(1) { + $11 = $$0312 << 4; + $12 = $11 | 12; + $13 = (($0) + ($12)|0); + $14 = HEAP8[$13>>0]|0; + $15 = $14&255; + $16 = ($15|0)==($7|0); + if ($16) { + $17 = ((($13)) + 1|0); + $18 = HEAP8[$17>>0]|0; + $19 = $18&255; + $20 = HEAP8[$8>>0]|0; + $21 = $20 << 24 >> 24; + $22 = ($19|0)==($21|0); + if ($22) { + $23 = ((($13)) + 2|0); + $24 = HEAP8[$23>>0]|0; + $25 = $24&255; + $26 = HEAP8[$9>>0]|0; + $27 = $26 << 24 >> 24; + $28 = ($25|0)==($27|0); + if ($28) { + $29 = ((($13)) + 3|0); + $30 = HEAP8[$29>>0]|0; + $31 = $30&255; + $32 = HEAP8[$10>>0]|0; + $33 = $32 << 24 >> 24; + $34 = ($31|0)==($33|0); + if ($34) { + break; + } + } + } + } + $37 = (($$0312) + 1)|0; + $38 = ($37|0)<($4|0); + if ($38) { + $$0312 = $37; + } else { + $$2 = 0; + label = 9; + break; + } + } + if ((label|0) == 9) { + return ($$2|0); + } + $35 = ((($13)) + 8|0); + $36 = (_ttULONG($35)|0); + $$2 = $36; + return ($$2|0); +} +function _DrawText($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$ = 0, $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0.0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0); + $$byval_copy2 = sp + 112|0; + $$byval_copy1 = sp + 104|0; + $$byval_copy = sp + 72|0; + $5 = sp + 32|0; + $6 = sp + 64|0; + $7 = sp; + _GetDefaultFont($5); + $8 = HEAP32[$5>>2]|0; + $9 = ($8|0)==(0); + if ($9) { + STACKTOP = sp;return; + } + $10 = (+($1|0)); + HEAPF32[$6>>2] = $10; + $11 = ((($6)) + 4|0); + $12 = (+($2|0)); + HEAPF32[$11>>2] = $12; + $13 = ($3|0)>(10); + $$ = $13 ? $3 : 10; + $14 = (($$>>>0) / 10)&-1; + _GetDefaultFont($7); + $15 = (+($$|0)); + ;HEAP32[$$byval_copy>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$7+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$7+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$7+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$7+16>>2]|0;HEAP32[$$byval_copy+20>>2]=HEAP32[$7+20>>2]|0;HEAP32[$$byval_copy+24>>2]=HEAP32[$7+24>>2]|0;HEAP32[$$byval_copy+28>>2]=HEAP32[$7+28>>2]|0; + ;HEAP32[$$byval_copy1>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$6+4>>2]|0; + ;HEAP8[$$byval_copy2>>0]=HEAP8[$4>>0]|0;HEAP8[$$byval_copy2+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$$byval_copy2+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$$byval_copy2+3>>0]=HEAP8[$4+3>>0]|0; + _DrawTextEx($$byval_copy,$0,$$byval_copy1,$15,$14,$$byval_copy2); + STACKTOP = sp;return; +} +function _DrawTextEx($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = +$3; + $4 = $4|0; + $5 = $5|0; + var $$04954 = 0, $$05153 = 0, $$055 = 0, $$1 = 0, $$150 = 0, $$152 = 0, $$2 = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $$byval_copy3 = 0, $$byval_copy4 = 0, $$byval_copy5 = 0, $$sink = 0, $10 = 0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0.0, $16 = 0; + var $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0.0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0.0, $28 = 0.0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0; + var $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0.0, $45 = 0.0, $46 = 0, $47 = 0, $48 = 0.0, $49 = 0.0, $50 = 0.0, $51 = 0, $52 = 0.0, $53 = 0.0, $54 = 0.0, $55 = 0, $56 = 0; + var $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0.0, $64 = 0.0, $65 = 0, $66 = 0, $67 = 0, $68 = 0.0, $69 = 0.0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0; + var $75 = 0, $76 = 0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0, $80 = 0, $81 = 0, $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0); + $$byval_copy5 = sp + 88|0; + $$byval_copy4 = sp + 80|0; + $$byval_copy3 = sp + 64|0; + $$byval_copy2 = sp + 48|0; + $$byval_copy1 = sp + 24|0; + $6 = sp + 8|0; + $7 = sp; + $8 = (_strlen($1)|0); + $9 = ((($0)) + 20|0); + $10 = HEAP32[$9>>2]|0; + $11 = (+($10|0)); + $12 = $3 / $11; + $13 = ($8|0)>(0); + if (!($13)) { + STACKTOP = sp;return; + } + $14 = ((($0)) + 28|0); + $15 = +HEAPF32[$2>>2]; + $16 = ((($6)) + 4|0); + $17 = ((($2)) + 4|0); + $18 = ((($6)) + 8|0); + $19 = ((($6)) + 12|0); + $20 = ((($7)) + 4|0); + $21 = (+($4|0)); + $$04954 = 0;$$05153 = 0;$$055 = 0; + while(1) { + $22 = (($1) + ($$055)|0); + $23 = HEAP8[$22>>0]|0; + switch ($23<<24>>24) { + case 10: { + $24 = HEAP32[$9>>2]|0; + $25 = (($24|0) / 2)&-1; + $26 = (($25) + ($24))|0; + $27 = (+($26|0)); + $28 = $12 * $27; + $29 = (~~(($28))); + $30 = (($29) + ($$05153))|0; + $$150 = 0;$$152 = $30;$$2 = $$055; + break; + } + case -62: { + $31 = (($$055) + 1)|0; + $32 = (($1) + ($31)|0); + $33 = HEAP8[$32>>0]|0; + $34 = $33&255; + $$1 = $31;$$sink = $34; + label = 9; + break; + } + case -61: { + $35 = (($$055) + 1)|0; + $36 = (($1) + ($35)|0); + $37 = HEAP8[$36>>0]|0; + $38 = $37&255; + $39 = (($38) + 64)|0; + $$1 = $35;$$sink = $39; + label = 9; + break; + } + default: { + $40 = $23 << 24 >> 24; + $$1 = $$055;$$sink = $40; + label = 9; + } + } + do { + if ((label|0) == 9) { + label = 0; + ;HEAP32[$$byval_copy5>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy5+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy5+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy5+16>>2]=HEAP32[$0+16>>2]|0;HEAP32[$$byval_copy5+20>>2]=HEAP32[$0+20>>2]|0;HEAP32[$$byval_copy5+24>>2]=HEAP32[$0+24>>2]|0;HEAP32[$$byval_copy5+28>>2]=HEAP32[$0+28>>2]|0; + $41 = (_GetCharIndex($$byval_copy5,$$sink)|0); + $42 = HEAP32[$14>>2]|0; + $43 = (((($42) + ($41<<5)|0)) + 4|0); + $44 = (+($$04954|0)); + $45 = $44 + $15; + $46 = (((($42) + ($41<<5)|0)) + 20|0); + $47 = HEAP32[$46>>2]|0; + $48 = (+($47|0)); + $49 = $12 * $48; + $50 = $45 + $49; + $51 = (~~(($50))); + HEAP32[$6>>2] = $51; + $52 = +HEAPF32[$17>>2]; + $53 = (+($$05153|0)); + $54 = $53 + $52; + $55 = (((($42) + ($41<<5)|0)) + 24|0); + $56 = HEAP32[$55>>2]|0; + $57 = (+($56|0)); + $58 = $12 * $57; + $59 = $54 + $58; + $60 = (~~(($59))); + HEAP32[$16>>2] = $60; + $61 = (((($42) + ($41<<5)|0)) + 12|0); + $62 = HEAP32[$61>>2]|0; + $63 = (+($62|0)); + $64 = $12 * $63; + $65 = (~~(($64))); + HEAP32[$18>>2] = $65; + $66 = (((($42) + ($41<<5)|0)) + 16|0); + $67 = HEAP32[$66>>2]|0; + $68 = (+($67|0)); + $69 = $12 * $68; + $70 = (~~(($69))); + HEAP32[$19>>2] = $70; + HEAPF32[$7>>2] = 0.0; + HEAPF32[$20>>2] = 0.0; + ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; + ;HEAP32[$$byval_copy2>>2]=HEAP32[$43>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$43+4>>2]|0;HEAP32[$$byval_copy2+8>>2]=HEAP32[$43+8>>2]|0;HEAP32[$$byval_copy2+12>>2]=HEAP32[$43+12>>2]|0; + ;HEAP32[$$byval_copy3>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$6+4>>2]|0;HEAP32[$$byval_copy3+8>>2]=HEAP32[$6+8>>2]|0;HEAP32[$$byval_copy3+12>>2]=HEAP32[$6+12>>2]|0; + ;HEAP32[$$byval_copy4>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$7+4>>2]|0; + ;HEAP8[$$byval_copy5>>0]=HEAP8[$5>>0]|0;HEAP8[$$byval_copy5+1>>0]=HEAP8[$5+1>>0]|0;HEAP8[$$byval_copy5+2>>0]=HEAP8[$5+2>>0]|0;HEAP8[$$byval_copy5+3>>0]=HEAP8[$5+3>>0]|0; + _DrawTexturePro($$byval_copy1,$$byval_copy2,$$byval_copy3,$$byval_copy4,0.0,$$byval_copy5); + $71 = HEAP32[$14>>2]|0; + $72 = (((($71) + ($41<<5)|0)) + 28|0); + $73 = HEAP32[$72>>2]|0; + $74 = ($73|0)==(0); + if ($74) { + $75 = (((($71) + ($41<<5)|0)) + 12|0); + $76 = HEAP32[$75>>2]|0; + $77 = (+($76|0)); + $78 = $12 * $77; + $79 = $21 + $78; + $80 = (~~(($79))); + $81 = (($80) + ($$04954))|0; + $$150 = $81;$$152 = $$05153;$$2 = $$1; + break; + } else { + $82 = (+($73|0)); + $83 = $12 * $82; + $84 = $21 + $83; + $85 = (~~(($84))); + $86 = (($85) + ($$04954))|0; + $$150 = $86;$$152 = $$05153;$$2 = $$1; + break; + } + } + } while(0); + $87 = (($$2) + 1)|0; + $88 = ($87|0)<($8|0); + if ($88) { + $$04954 = $$150;$$05153 = $$152;$$055 = $87; + } else { + break; + } + } + STACKTOP = sp;return; +} +function _FormatText($0,$varargs) { + $0 = $0|0; + $varargs = $varargs|0; + var $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $1 = sp; + HEAP32[$1>>2] = $varargs; + (_vsprintf(340503,$0,$1)|0); + STACKTOP = sp;return (340503|0); +} +function _MeasureText($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$ = 0, $$byval_copy = 0, $$sroa$0$0 = 0, $$sroa$0$0$copyload = 0.0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0.0, $phitmp = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0); + $$byval_copy = sp + 72|0; + $2 = sp + 40|0; + $3 = sp + 8|0; + $4 = sp; + _GetDefaultFont($2); + $5 = HEAP32[$2>>2]|0; + $6 = ($5|0)==(0); + if ($6) { + $$sroa$0$0 = 0; + STACKTOP = sp;return ($$sroa$0$0|0); + } + $7 = ($1|0)>(10); + $$ = $7 ? $1 : 10; + $8 = (($$>>>0) / 10)&-1; + _GetDefaultFont($3); + $9 = (+($$|0)); + ;HEAP32[$$byval_copy>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$3+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$3+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$3+16>>2]|0;HEAP32[$$byval_copy+20>>2]=HEAP32[$3+20>>2]|0;HEAP32[$$byval_copy+24>>2]=HEAP32[$3+24>>2]|0;HEAP32[$$byval_copy+28>>2]=HEAP32[$3+28>>2]|0; + _MeasureTextEx($4,$$byval_copy,$0,$9,$8); + $$sroa$0$0$copyload = +HEAPF32[$4>>2]; + $phitmp = (~~(($$sroa$0$0$copyload))); + $$sroa$0$0 = $phitmp; + STACKTOP = sp;return ($$sroa$0$0|0); +} +function _DrawFPS($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$byval_copy = 0, $$sink = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $$byval_copy = sp; + $2 = sp + 4|0; + $3 = HEAP32[84373]|0; + $4 = HEAP32[917]|0; + $5 = ($3|0)<($4|0); + if ($5) { + $6 = (($3) + 1)|0; + $$sink = $6; + } else { + $7 = (_GetFPS()|0); + HEAP32[84374] = $7; + HEAP32[917] = $7; + $$sink = 0; + } + HEAP32[84373] = $$sink; + $8 = HEAP32[84374]|0; + HEAP32[$$byval_copy>>2] = $8; + (_FormatText(16401,$$byval_copy)|0); + HEAP8[$2>>0] = 0; + $9 = ((($2)) + 1|0); + HEAP8[$9>>0] = -98; + $10 = ((($2)) + 2|0); + HEAP8[$10>>0] = 47; + $11 = ((($2)) + 3|0); + HEAP8[$11>>0] = -1; + ;HEAP8[$$byval_copy>>0]=HEAP8[$2>>0]|0;HEAP8[$$byval_copy+1>>0]=HEAP8[$2+1>>0]|0;HEAP8[$$byval_copy+2>>0]=HEAP8[$2+2>>0]|0;HEAP8[$$byval_copy+3>>0]=HEAP8[$2+3>>0]|0; + _DrawText(340503,$0,$1,20,$$byval_copy); + STACKTOP = sp;return; +} +function _jar_xm_generate_samples_16bit($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$015 = 0, $10 = 0.0, $11 = 0, $12 = 0, $13 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0.0, $exitcond = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = $2 << 1; + $4 = $2 << 3; + $5 = (_malloc($4)|0); + _jar_xm_generate_samples($0,$5,$2); + $6 = ($1|0)!=(0|0); + $7 = ($3|0)!=(0); + $or$cond = $6 & $7; + if ($or$cond) { + $$015 = 0; + } else { + _free($5); + return; + } + while(1) { + $8 = (($5) + ($$015<<2)|0); + $9 = +HEAPF32[$8>>2]; + $10 = $9 * 32767.0; + $11 = (~~(($10))); + $12 = (($1) + ($$015<<1)|0); + HEAP16[$12>>1] = $11; + $13 = (($$015) + 1)|0; + $exitcond = ($13|0)==($3|0); + if ($exitcond) { + break; + } else { + $$015 = $13; + } + } + _free($5); + return; +} +function _jar_xm_generate_samples($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$013 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; + var $8 = 0, $9 = 0, $exitcond = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ($0|0)!=(0|0); + $4 = ($1|0)!=(0|0); + $or$cond = $3 & $4; + if (!($or$cond)) { + return; + } + $5 = ((($0)) + 360|0); + $6 = $5; + $7 = $6; + $8 = HEAP32[$7>>2]|0; + $9 = (($6) + 4)|0; + $10 = $9; + $11 = HEAP32[$10>>2]|0; + $12 = (_i64Add(($8|0),($11|0),($2|0),0)|0); + $13 = tempRet0; + $14 = $5; + $15 = $14; + HEAP32[$15>>2] = $12; + $16 = (($14) + 4)|0; + $17 = $16; + HEAP32[$17>>2] = $13; + $18 = ($2|0)==(0); + if ($18) { + return; + } else { + $$013 = 0; + } + while(1) { + $19 = $$013 << 1; + $20 = (($1) + ($19<<2)|0); + $21 = $19 | 1; + $22 = (($1) + ($21<<2)|0); + _jar_xm_sample($0,$20,$22); + $23 = (($$013) + 1)|0; + $exitcond = ($23|0)==($2|0); + if ($exitcond) { + break; + } else { + $$013 = $23; + } + } + return; +} +function _jar_xm_sample($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$072 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0.0, $24 = 0, $25 = 0.0, $26 = 0.0, $27 = 0.0, $28 = 0.0; + var $29 = 0.0, $3 = 0, $30 = 0.0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0.0, $40 = 0, $41 = 0.0, $42 = 0, $43 = 0.0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0.0, $53 = 0.0, $54 = 0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0.0, $60 = 0.0, $61 = 0.0, $62 = 0.0, $63 = 0.0, $64 = 0.0; + var $65 = 0.0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0.0, $70 = 0.0, $71 = 0, $72 = 0.0, $73 = 0, $74 = 0.0, $75 = 0.0, $76 = 0, $77 = 0, $78 = 0.0, $79 = 0.0, $8 = 0, $80 = 0, $81 = 0, $82 = 0.0; + var $83 = 0, $84 = 0.0, $85 = 0, $86 = 0.0, $87 = 0.0, $88 = 0, $89 = 0, $9 = 0, $90 = 0.0, $91 = 0.0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ((($0)) + 352|0); + $4 = +HEAPF32[$3>>2]; + $5 = !($4 <= 0.0); + if (!($5)) { + _jar_xm_tick($0); + } + $6 = +HEAPF32[$3>>2]; + $7 = $6 + -1.0; + HEAPF32[$3>>2] = $7; + HEAPF32[$1>>2] = 0.0; + HEAPF32[$2>>2] = 0.0; + $8 = ((($0)) + 385|0); + $9 = HEAP8[$8>>0]|0; + $10 = ($9<<24>>24)==(0); + if (!($10)) { + $11 = ((($0)) + 384|0); + $12 = HEAP8[$11>>0]|0; + $13 = ($12&255)<($9&255); + if (!($13)) { + return; + } + } + $14 = ((($0)) + 50|0); + $15 = HEAP16[$14>>1]|0; + $16 = ($15<<16>>16)==(0); + if (!($16)) { + $17 = ((($0)) + 388|0); + $18 = ((($0)) + 340|0); + $19 = ((($0)) + 344|0); + $20 = ((($0)) + 344|0); + $21 = ((($0)) + 340|0); + $$072 = 0;$33 = 0; + while(1) { + $31 = HEAP32[$17>>2]|0; + $32 = (($31) + (($33*304)|0)|0); + $34 = (((($31) + (($33*304)|0)|0)) + 8|0); + $35 = HEAP32[$34>>2]|0; + $36 = ($35|0)==(0|0); + do { + if (!($36)) { + $37 = (((($31) + (($33*304)|0)|0)) + 12|0); + $38 = HEAP32[$37>>2]|0; + $39 = ($38|0)==(0|0); + if (!($39)) { + $40 = (((($31) + (($33*304)|0)|0)) + 20|0); + $41 = +HEAPF32[$40>>2]; + $42 = $41 < 0.0; + if (!($42)) { + $43 = (+_jar_xm_next_of_sample($32)); + $44 = (((($31) + (($33*304)|0)|0)) + 152|0); + $45 = HEAP32[$44>>2]|0; + $46 = ($45|0)==(0); + if ($46) { + $47 = HEAP32[$34>>2]|0; + $48 = ((($47)) + 272|0); + $49 = HEAP32[$48>>2]|0; + $50 = ($49|0)==(0); + if ($50) { + $51 = (((($31) + (($33*304)|0)|0)) + 300|0); + $52 = +HEAPF32[$51>>2]; + $53 = $43 * $52; + $54 = (((($31) + (($33*304)|0)|0)) + 296|0); + $55 = +HEAPF32[$54>>2]; + $56 = 1.0 - $55; + $57 = $53 * $56; + $58 = +HEAPF32[$1>>2]; + $59 = $58 + $57; + HEAPF32[$1>>2] = $59; + $60 = +HEAPF32[$51>>2]; + $61 = $43 * $60; + $62 = +HEAPF32[$54>>2]; + $63 = $61 * $62; + $64 = +HEAPF32[$2>>2]; + $65 = $64 + $63; + HEAPF32[$2>>2] = $65; + } + } + $66 = (((($31) + (($33*304)|0)|0)) + 164|0); + $67 = HEAP32[$66>>2]|0; + $68 = (($67) + 1)|0; + HEAP32[$66>>2] = $68; + $69 = (((($31) + (($33*304)|0)|0)) + 300|0); + $70 = +HEAPF32[$69>>2]; + $71 = (((($31) + (($33*304)|0)|0)) + 160|0); + $72 = +HEAPF32[$71>>2]; + $73 = $70 > $72; + if ($73) { + $74 = +HEAPF32[$18>>2]; + $75 = $70 - $74; + HEAPF32[$69>>2] = $75; + $76 = $75 < $72; + if ($76) { + HEAPF32[$69>>2] = $72; + } + } else { + $77 = $70 < $72; + if ($77) { + $78 = +HEAPF32[$21>>2]; + $79 = $70 + $78; + HEAPF32[$69>>2] = $79; + $80 = $79 > $72; + if ($80) { + HEAPF32[$69>>2] = $72; + } + } + } + $81 = (((($31) + (($33*304)|0)|0)) + 296|0); + $82 = +HEAPF32[$81>>2]; + $83 = (((($31) + (($33*304)|0)|0)) + 156|0); + $84 = +HEAPF32[$83>>2]; + $85 = $82 > $84; + if ($85) { + $86 = +HEAPF32[$19>>2]; + $87 = $82 - $86; + HEAPF32[$81>>2] = $87; + $88 = $87 < $84; + if (!($88)) { + break; + } + HEAPF32[$81>>2] = $84; + break; + } + $89 = $82 < $84; + if ($89) { + $90 = +HEAPF32[$20>>2]; + $91 = $82 + $90; + HEAPF32[$81>>2] = $91; + $92 = $91 > $84; + if ($92) { + HEAPF32[$81>>2] = $84; + } + } + } + } + } + } while(0); + $93 = (($$072) + 1)<<24>>24; + $94 = $93&255; + $95 = HEAP16[$14>>1]|0; + $96 = $95&65535; + $97 = ($94>>>0)<($96>>>0); + if ($97) { + $$072 = $93;$33 = $94; + } else { + break; + } + } + } + $22 = ((($0)) + 332|0); + $23 = +HEAPF32[$22>>2]; + $24 = ((($0)) + 336|0); + $25 = +HEAPF32[$24>>2]; + $26 = $23 * $25; + $27 = +HEAPF32[$1>>2]; + $28 = $27 * $26; + HEAPF32[$1>>2] = $28; + $29 = +HEAPF32[$2>>2]; + $30 = $26 * $29; + HEAPF32[$2>>2] = $30; + return; +} +function _jar_xm_tick($0) { + $0 = $0|0; + var $$0 = 0.0, $$0195202 = 0, $$0196 = 0.0, $$1 = 0.0, $$not = 0, $$pr = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0; + var $111 = 0.0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0.0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0; + var $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0; + var $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0; + var $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0.0, $181 = 0, $182 = 0.0, $183 = 0.0; + var $184 = 0.0, $185 = 0, $186 = 0.0, $187 = 0.0, $188 = 0.0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0; + var $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0.0, $212 = 0, $213 = 0, $214 = 0.0, $215 = 0.0, $216 = 0, $217 = 0.0, $218 = 0.0, $219 = 0; + var $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0.0; + var $238 = 0, $239 = 0.0, $24 = 0, $240 = 0.0, $241 = 0.0, $242 = 0.0, $243 = 0.0, $244 = 0.0, $245 = 0.0, $246 = 0.0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0.0, $252 = 0, $253 = 0.0, $254 = 0.0, $255 = 0; + var $256 = 0, $257 = 0, $258 = 0.0, $259 = 0, $26 = 0, $260 = 0.0, $261 = 0.0, $262 = 0.0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0.0, $273 = 0; + var $274 = 0, $275 = 0.0, $276 = 0.0, $277 = 0.0, $278 = 0, $279 = 0.0, $28 = 0, $280 = 0.0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0; + var $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0; + var $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0; + var $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0; + var $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, $storemerge = 0.0, $storemerge198 = 0.0, $trunc = 0, $trunc$clear = 0, $trunc199 = 0, $trunc199$clear = 0, $trunc200 = 0, $trunc200$clear = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 350|0); + $2 = HEAP16[$1>>1]|0; + $3 = ($2<<16>>16)==(0); + if ($3) { + _jar_xm_row($0); + } + $4 = ((($0)) + 50|0); + $5 = HEAP16[$4>>1]|0; + $6 = ($5<<16>>16)==(0); + L4: do { + if (!($6)) { + $7 = ((($0)) + 388|0); + $8 = ((($0)) + 328|0); + $9 = ((($0)) + 332|0); + $$0195202 = 0;$23 = 0; + while(1) { + $21 = HEAP32[$7>>2]|0; + $22 = (($21) + (($23*304)|0)|0); + _jar_xm_envelopes($22); + _jar_xm_autovibrato($0,$22); + $24 = (((($21) + (($23*304)|0)|0)) + 76|0); + $25 = HEAP32[$24>>2]|0; + $26 = ($25|0)==(0); + do { + if (!($26)) { + $27 = (((($21) + (($23*304)|0)|0)) + 16|0); + $28 = HEAP32[$27>>2]|0; + $29 = ((($28)) + 3|0); + $30 = HEAP8[$29>>0]|0; + $31 = ($30<<24>>24)==(0); + if ($31) { + $32 = ((($28)) + 4|0); + $33 = HEAP8[$32>>0]|0; + $34 = ($33<<24>>24)==(0); + if (!($34)) { + break; + } + } + HEAP32[$24>>2] = 0; + $35 = (((($21) + (($23*304)|0)|0)) + 80|0); + HEAP8[$35>>0] = 0; + _jar_xm_update_frequency($0,$22); + } + } while(0); + $36 = (((($21) + (($23*304)|0)|0)) + 100|0); + $37 = HEAP32[$36>>2]|0; + $38 = ($37|0)==(0); + if (!($38)) { + $39 = (((($21) + (($23*304)|0)|0)) + 16|0); + $40 = HEAP32[$39>>2]|0; + $41 = ((($40)) + 3|0); + $42 = HEAP8[$41>>0]|0; + $43 = ($42<<24>>24)==(4); + if (!($43)) { + $44 = ((($40)) + 4|0); + $45 = HEAP8[$44>>0]|0; + $46 = ($45<<24>>24)==(6); + if (!($46)) { + $47 = ((($40)) + 2|0); + $48 = HEAP8[$47>>0]|0; + $49 = $48 & -16; + $50 = ($49<<24>>24)==(-80); + if (!($50)) { + $51 = (((($21) + (($23*304)|0)|0)) + 116|0); + HEAP32[$36>>2] = 0; + HEAPF32[$51>>2] = 0.0; + _jar_xm_update_frequency($0,$22); + } + } + } + } + $52 = (((($21) + (($23*304)|0)|0)) + 16|0); + $53 = HEAP32[$52>>2]|0; + $54 = ((($53)) + 2|0); + $55 = HEAP8[$54>>0]|0; + $56 = $55&255; + $trunc = ($55&255) >>> 4; + $trunc$clear = $trunc & 15; + switch ($trunc$clear<<24>>24) { + case 6: { + $57 = HEAP16[$1>>1]|0; + $58 = ($57<<16>>16)==(0); + if (!($58)) { + $59 = $56 & 15; + $60 = $59&255; + _jar_xm_volume_slide($22,$60); + } + break; + } + case 7: { + $61 = HEAP16[$1>>1]|0; + $62 = ($61<<16>>16)==(0); + if (!($62)) { + $63 = $56 << 4; + $64 = $63&255; + _jar_xm_volume_slide($22,$64); + } + break; + } + case 11: { + $65 = HEAP16[$1>>1]|0; + $66 = ($65<<16>>16)==(0); + if (!($66)) { + HEAP32[$36>>2] = 0; + $67 = (((($21) + (($23*304)|0)|0)) + 112|0); + $68 = HEAP8[$67>>0]|0; + $69 = (((($21) + (($23*304)|0)|0)) + 114|0); + $70 = HEAP16[$69>>1]|0; + $71 = (($70) + 1)<<16>>16; + HEAP16[$69>>1] = $71; + _jar_xm_vibrato($0,$22,$68,$70); + } + break; + } + case 13: { + $72 = HEAP16[$1>>1]|0; + $73 = ($72<<16>>16)==(0); + if (!($73)) { + $74 = $56 & 15; + $75 = $74&255; + _jar_xm_panning_slide($22,$75); + } + break; + } + case 14: { + $76 = HEAP16[$1>>1]|0; + $77 = ($76<<16>>16)==(0); + if (!($77)) { + $78 = $56 << 4; + $79 = $78&255; + _jar_xm_panning_slide($22,$79); + } + break; + } + case 15: { + $80 = HEAP16[$1>>1]|0; + $81 = ($80<<16>>16)==(0); + if (!($81)) { + _jar_xm_tone_portamento($0,$22); + } + break; + } + default: { + } + } + $82 = HEAP32[$52>>2]|0; + $83 = ((($82)) + 3|0); + $84 = HEAP8[$83>>0]|0; + L34: do { + switch ($84<<24>>24) { + case 0: { + $85 = ((($82)) + 4|0); + $86 = HEAP8[$85>>0]|0; + $87 = ($86<<24>>24)==(0); + if (!($87)) { + $88 = HEAP16[$8>>1]|0; + $89 = (($88&65535) % 3)&-1; + $90 = $89&65535; + $trunc200 = $89&255; + $trunc200$clear = $trunc200 & 3; + switch ($trunc200$clear<<24>>24) { + case 2: { + $91 = HEAP16[$1>>1]|0; + $92 = ($91<<16>>16)==(1); + if ($92) { + HEAP32[$24>>2] = 1; + $93 = ($86&255) >>> 4; + $94 = (((($21) + (($23*304)|0)|0)) + 80|0); + HEAP8[$94>>0] = $93; + _jar_xm_update_frequency($0,$22); + break L34; + } else { + $96 = $91; + label = 34; + } + break; + } + case 1: { + $$pr = HEAP16[$1>>1]|0; + $96 = $$pr; + label = 34; + break; + } + case 0: { + break; + } + default: { + break L34; + } + } + if ((label|0) == 34) { + label = 0; + $95 = ($96<<16>>16)==(0); + if ($95) { + HEAP32[$24>>2] = 0; + $97 = (((($21) + (($23*304)|0)|0)) + 80|0); + HEAP8[$97>>0] = 0; + _jar_xm_update_frequency($0,$22); + break L34; + } + } + $98 = HEAP32[$52>>2]|0; + $99 = ((($98)) + 4|0); + $100 = HEAP8[$99>>0]|0; + $101 = HEAP16[$1>>1]|0; + $102 = $101&65535; + $103 = (($102) - ($90))|0; + $104 = $103&65535; + _jar_xm_arpeggio($0,$22,$100,$104); + } + break; + } + case 1: { + $105 = HEAP16[$1>>1]|0; + $106 = ($105<<16>>16)==(0); + if (!($106)) { + $107 = (((($21) + (($23*304)|0)|0)) + 85|0); + $108 = HEAP8[$107>>0]|0; + $109 = $108&255; + $110 = (0 - ($109))|0; + $111 = (+($110|0)); + _jar_xm_pitch_slide($0,$22,$111); + } + break; + } + case 2: { + $112 = HEAP16[$1>>1]|0; + $113 = ($112<<16>>16)==(0); + if (!($113)) { + $114 = (((($21) + (($23*304)|0)|0)) + 86|0); + $115 = HEAP8[$114>>0]|0; + $116 = (+($115&255)); + _jar_xm_pitch_slide($0,$22,$116); + } + break; + } + case 3: { + $117 = HEAP16[$1>>1]|0; + $118 = ($117<<16>>16)==(0); + if (!($118)) { + _jar_xm_tone_portamento($0,$22); + } + break; + } + case 4: { + $119 = HEAP16[$1>>1]|0; + $120 = ($119<<16>>16)==(0); + if (!($120)) { + HEAP32[$36>>2] = 1; + $121 = (((($21) + (($23*304)|0)|0)) + 112|0); + $122 = HEAP8[$121>>0]|0; + $123 = (((($21) + (($23*304)|0)|0)) + 114|0); + $124 = HEAP16[$123>>1]|0; + $125 = (($124) + 1)<<16>>16; + HEAP16[$123>>1] = $125; + _jar_xm_vibrato($0,$22,$122,$124); + } + break; + } + case 5: { + $126 = HEAP16[$1>>1]|0; + $127 = ($126<<16>>16)==(0); + if (!($127)) { + $128 = (((($21) + (($23*304)|0)|0)) + 81|0); + _jar_xm_tone_portamento($0,$22); + $129 = HEAP8[$128>>0]|0; + _jar_xm_volume_slide($22,$129); + } + break; + } + case 6: { + $130 = HEAP16[$1>>1]|0; + $131 = ($130<<16>>16)==(0); + if (!($131)) { + HEAP32[$36>>2] = 1; + $132 = (((($21) + (($23*304)|0)|0)) + 112|0); + $133 = HEAP8[$132>>0]|0; + $134 = (((($21) + (($23*304)|0)|0)) + 114|0); + $135 = HEAP16[$134>>1]|0; + $136 = (($135) + 1)<<16>>16; + HEAP16[$134>>1] = $136; + _jar_xm_vibrato($0,$22,$133,$135); + $137 = (((($21) + (($23*304)|0)|0)) + 81|0); + $138 = HEAP8[$137>>0]|0; + _jar_xm_volume_slide($22,$138); + } + break; + } + case 7: { + $139 = HEAP16[$1>>1]|0; + $140 = ($139<<16>>16)==(0); + if (!($140)) { + $141 = (((($21) + (($23*304)|0)|0)) + 128|0); + $142 = HEAP8[$141>>0]|0; + $143 = (((($21) + (($23*304)|0)|0)) + 129|0); + $144 = HEAP8[$143>>0]|0; + $145 = (($144) + 1)<<24>>24; + HEAP8[$143>>0] = $145; + $146 = $144&255; + _jar_xm_tremolo($22,$142,$146); + } + break; + } + case 10: { + $147 = HEAP16[$1>>1]|0; + $148 = ($147<<16>>16)==(0); + if (!($148)) { + $149 = (((($21) + (($23*304)|0)|0)) + 81|0); + $150 = HEAP8[$149>>0]|0; + _jar_xm_volume_slide($22,$150); + } + break; + } + case 14: { + $151 = ((($82)) + 4|0); + $152 = HEAP8[$151>>0]|0; + $153 = $152&255; + $trunc199 = ($152&255) >>> 4; + $trunc199$clear = $trunc199 & 15; + switch ($trunc199$clear<<24>>24) { + case 9: { + $154 = HEAP16[$1>>1]|0; + $155 = $154&65535; + $156 = ($154<<16>>16)==(0); + if ($156) { + break L34; + } + $157 = $153 & 15; + $158 = ($157|0)==(0); + if ($158) { + break L34; + } + $159 = (($155>>>0) % ($157>>>0))&-1; + $160 = ($159|0)==(0); + if (!($160)) { + break L34; + } + _jar_xm_trigger_note($0,$22,0); + _jar_xm_envelopes($22); + break L34; + break; + } + case 12: { + $161 = $153 & 15; + $162 = HEAP16[$1>>1]|0; + $163 = $162&65535; + $164 = ($161|0)==($163|0); + if (!($164)) { + break L34; + } + _jar_xm_cut_note($22); + break L34; + break; + } + case 13: { + $165 = (((($21) + (($23*304)|0)|0)) + 97|0); + $166 = HEAP8[$165>>0]|0; + $167 = $166&255; + $168 = HEAP16[$1>>1]|0; + $169 = $168&65535; + $170 = ($167|0)==($169|0); + if (!($170)) { + break L34; + } + _jar_xm_handle_note_and_instrument($0,$22,$82); + _jar_xm_envelopes($22); + break L34; + break; + } + default: { + break L34; + } + } + break; + } + case 17: { + $171 = HEAP16[$1>>1]|0; + $172 = ($171<<16>>16)==(0); + if (!($172)) { + $173 = (((($21) + (($23*304)|0)|0)) + 83|0); + $174 = HEAP8[$173>>0]|0; + $175 = $174&255; + $176 = $175 & 240; + $177 = ($176|0)!=(0); + $$not = $177 ^ 1; + $178 = $175 & 15; + $179 = ($178|0)==(0); + $or$cond = $179 | $$not; + if ($or$cond) { + $180 = +HEAPF32[$9>>2]; + if ($177) { + $181 = $175 >>> 4; + $182 = (+($181|0)); + $183 = $182 * 0.015625; + $184 = $183 + $180; + $185 = $184 > 1.0; + $storemerge198 = $185 ? 1.0 : $184; + HEAPF32[$9>>2] = $storemerge198; + break L34; + } else { + $186 = (+($178|0)); + $187 = $186 * 0.015625; + $188 = $180 - $187; + $189 = $188 < 0.0; + $storemerge = $189 ? 0.0 : $188; + HEAPF32[$9>>2] = $storemerge; + break L34; + } + } + } + break; + } + case 20: { + $190 = HEAP16[$1>>1]|0; + $191 = $190&65535; + $192 = ((($82)) + 4|0); + $193 = HEAP8[$192>>0]|0; + $194 = $193&255; + $195 = ($191|0)==($194|0); + if ($195) { + _jar_xm_key_off($22); + } + break; + } + case 25: { + $196 = HEAP16[$1>>1]|0; + $197 = ($196<<16>>16)==(0); + if (!($197)) { + $198 = (((($21) + (($23*304)|0)|0)) + 84|0); + $199 = HEAP8[$198>>0]|0; + _jar_xm_panning_slide($22,$199); + } + break; + } + case 27: { + $200 = HEAP16[$1>>1]|0; + $201 = $200&65535; + $202 = ($200<<16>>16)==(0); + if (!($202)) { + $203 = (((($21) + (($23*304)|0)|0)) + 96|0); + $204 = HEAP8[$203>>0]|0; + $205 = $204&255; + $206 = $205 & 15; + $207 = ($206|0)==(0); + if (!($207)) { + $208 = (($201>>>0) % ($206>>>0))&-1; + $209 = ($208|0)==(0); + if ($209) { + $210 = (((($21) + (($23*304)|0)|0)) + 40|0); + $211 = +HEAPF32[$210>>2]; + $212 = $205 >>> 4; + $213 = (3672 + ($212<<2)|0); + $214 = +HEAPF32[$213>>2]; + $215 = $211 * $214; + $216 = (3736 + ($212<<2)|0); + $217 = +HEAPF32[$216>>2]; + $218 = $215 + $217; + $219 = $218 > 1.0; + if ($219) { + $$0196 = 1.0; + } else { + $220 = $218 < 0.0; + if ($220) { + $$0196 = 0.0; + } else { + $$0196 = $218; + } + } + _jar_xm_trigger_note($0,$22,0); + HEAPF32[$210>>2] = $$0196; + } + } + } + break; + } + case 29: { + $221 = HEAP16[$1>>1]|0; + $222 = ($221<<16>>16)==(0); + if (!($222)) { + $223 = $221&65535; + $224 = (($223) + -1)|0; + $225 = (((($21) + (($23*304)|0)|0)) + 136|0); + $226 = HEAP8[$225>>0]|0; + $227 = $226&255; + $228 = $227 >>> 4; + $229 = $227 & 15; + $230 = (($229) + 2)|0; + $231 = (($230) + ($228))|0; + $232 = (($224|0) % ($231|0))&-1; + $233 = ($232|0)>($228|0); + $234 = $233&1; + $235 = (((($21) + (($23*304)|0)|0)) + 140|0); + HEAP32[$235>>2] = $234; + } + break; + } + default: { + } + } + } while(0); + $236 = (((($21) + (($23*304)|0)|0)) + 44|0); + $237 = +HEAPF32[$236>>2]; + $238 = (((($21) + (($23*304)|0)|0)) + 64|0); + $239 = +HEAPF32[$238>>2]; + $240 = $239 + -0.5; + $241 = $237 + -0.5; + $242 = (+Math_abs((+$241))); + $243 = 0.5 - $242; + $244 = $240 * $243; + $245 = $244 * 2.0; + $246 = $237 + $245; + $247 = (((($21) + (($23*304)|0)|0)) + 140|0); + $248 = HEAP32[$247>>2]|0; + $249 = ($248|0)==(0); + if ($249) { + $250 = (((($21) + (($23*304)|0)|0)) + 40|0); + $251 = +HEAPF32[$250>>2]; + $252 = (((($21) + (($23*304)|0)|0)) + 132|0); + $253 = +HEAPF32[$252>>2]; + $254 = $251 + $253; + $255 = $254 > 1.0; + if ($255) { + $$0 = 1.0; + } else { + $256 = $254 < 0.0; + if ($256) { + $$0 = 0.0; + } else { + $$0 = $254; + } + } + $257 = (((($21) + (($23*304)|0)|0)) + 56|0); + $258 = +HEAPF32[$257>>2]; + $259 = (((($21) + (($23*304)|0)|0)) + 60|0); + $260 = +HEAPF32[$259>>2]; + $261 = $258 * $260; + $262 = $$0 * $261; + $$1 = $262; + } else { + $$1 = 0.0; + } + $263 = (((($21) + (($23*304)|0)|0)) + 156|0); + HEAPF32[$263>>2] = $246; + $264 = (((($21) + (($23*304)|0)|0)) + 160|0); + HEAPF32[$264>>2] = $$1; + $265 = (($$0195202) + 1)<<24>>24; + $266 = $265&255; + $267 = HEAP16[$4>>1]|0; + $268 = $267&65535; + $269 = ($266>>>0)<($268>>>0); + if ($269) { + $$0195202 = $265;$23 = $266; + } else { + break L4; + } + } + } + } while(0); + $10 = HEAP16[$1>>1]|0; + $11 = (($10) + 1)<<16>>16; + HEAP16[$1>>1] = $11; + $12 = $11&65535; + $13 = ((($0)) + 328|0); + $14 = HEAP16[$13>>1]|0; + $15 = $14&65535; + $16 = ((($0)) + 378|0); + $17 = HEAP16[$16>>1]|0; + $18 = $17&65535; + $19 = (($18) + ($15))|0; + $20 = ($12>>>0)<($19>>>0); + if ($20) { + $270 = ((($0)) + 324|0); + $271 = HEAP32[$270>>2]|0; + $272 = (+($271>>>0)); + $273 = ((($0)) + 330|0); + $274 = HEAP16[$273>>1]|0; + $275 = (+($274&65535)); + $276 = $275 * 0.40000000596046448; + $277 = $272 / $276; + $278 = ((($0)) + 352|0); + $279 = +HEAPF32[$278>>2]; + $280 = $279 + $277; + HEAPF32[$278>>2] = $280; + return; + } + HEAP16[$1>>1] = 0; + HEAP16[$16>>1] = 0; + $270 = ((($0)) + 324|0); + $271 = HEAP32[$270>>2]|0; + $272 = (+($271>>>0)); + $273 = ((($0)) + 330|0); + $274 = HEAP16[$273>>1]|0; + $275 = (+($274&65535)); + $276 = $275 * 0.40000000596046448; + $277 = $272 / $276; + $278 = ((($0)) + 352|0); + $279 = +HEAPF32[$278>>2]; + $280 = $279 + $277; + HEAPF32[$278>>2] = $280; + return; +} +function _jar_xm_next_of_sample($0) { + $0 = $0|0; + var $$0100 = 0.0, $$0101 = 0.0, $$1 = 0.0, $$pr = 0.0, $$sink = 0.0, $$sink$p = 0.0, $$sink103 = 0, $$sink105 = 0, $$sink2 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0; + var $109 = 0, $11 = 0, $110 = 0.0, $111 = 0.0, $112 = 0, $113 = 0, $114 = 0, $115 = 0.0, $116 = 0, $117 = 0, $118 = 0.0, $119 = 0.0, $12 = 0, $120 = 0, $121 = 0.0, $122 = 0.0, $123 = 0.0, $124 = 0.0, $125 = 0, $126 = 0; + var $127 = 0, $128 = 0.0, $129 = 0.0, $13 = 0.0, $130 = 0, $131 = 0.0, $132 = 0.0, $133 = 0.0, $134 = 0.0, $135 = 0.0, $14 = 0.0, $15 = 0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $2 = 0, $20 = 0, $21 = 0, $22 = 0; + var $23 = 0, $24 = 0, $25 = 0.0, $26 = 0.0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0.0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0.0, $36 = 0, $37 = 0.0, $38 = 0.0, $39 = 0.0, $4 = 0, $40 = 0; + var $41 = 0, $42 = 0, $43 = 0.0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0.0, $53 = 0, $54 = 0.0, $55 = 0.0, $56 = 0.0, $57 = 0, $58 = 0, $59 = 0; + var $6 = 0, $60 = 0.0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0.0, $66 = 0, $67 = 0, $68 = 0, $69 = 0.0, $7 = 0, $70 = 0.0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0.0, $77 = 0.0; + var $78 = 0, $79 = 0, $8 = 0.0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0.0, $86 = 0.0, $87 = 0, $88 = 0, $89 = 0.0, $9 = 0, $90 = 0.0, $91 = 0.0, $92 = 0.0, $93 = 0, $94 = 0, $95 = 0.0; + var $96 = 0, $97 = 0, $98 = 0.0, $99 = 0.0, $storemerge106 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 8|0); + $2 = HEAP32[$1>>2]|0; + $3 = ($2|0)==(0|0); + if (!($3)) { + $4 = ((($0)) + 12|0); + $5 = HEAP32[$4>>2]|0; + $6 = ($5|0)==(0|0); + if (!($6)) { + $7 = ((($0)) + 20|0); + $8 = +HEAPF32[$7>>2]; + $9 = $8 < 0.0; + if (!($9)) { + $20 = ((($5)) + 24|0); + $21 = HEAP32[$20>>2]|0; + $22 = ($21|0)==(0); + if ($22) { + $$1 = 0.0; + return (+$$1); + } + $23 = (~~(($8))>>>0); + $24 = (($23) + 1)|0; + $25 = (+($23>>>0)); + $26 = $8 - $25; + $27 = ((($5)) + 72|0); + $28 = HEAP32[$27>>2]|0; + $29 = (($28) + ($23<<2)|0); + $30 = +HEAPF32[$29>>2]; + $31 = ((($5)) + 48|0); + $32 = HEAP32[$31>>2]|0; + L8: do { + switch ($32|0) { + case 0: { + $33 = ($24>>>0)<($21>>>0); + if ($33) { + $34 = (($28) + ($24<<2)|0); + $35 = +HEAPF32[$34>>2]; + $135 = $35; + } else { + $135 = 0.0; + } + $36 = ((($0)) + 32|0); + $37 = +HEAPF32[$36>>2]; + $38 = +HEAPF32[$7>>2]; + $39 = $37 + $38; + HEAPF32[$7>>2] = $39; + $40 = HEAP32[$4>>2]|0; + $41 = ((($40)) + 24|0); + $42 = HEAP32[$41>>2]|0; + $43 = (+($42>>>0)); + $44 = !($39 >= $43); + if ($44) { + $$0100 = $30;$$0101 = $135; + } else { + HEAPF32[$7>>2] = -1.0; + $$0100 = $30;$$0101 = $135; + } + break; + } + case 1: { + $45 = ((($5)) + 36|0); + $46 = HEAP32[$45>>2]|0; + $47 = ($24|0)==($46|0); + if ($47) { + $48 = ((($5)) + 28|0); + $49 = HEAP32[$48>>2]|0; + $51 = $49; + } else { + $51 = $24; + } + $50 = (($28) + ($51<<2)|0); + $52 = +HEAPF32[$50>>2]; + $53 = ((($0)) + 32|0); + $54 = +HEAPF32[$53>>2]; + $55 = +HEAPF32[$7>>2]; + $56 = $54 + $55; + HEAPF32[$7>>2] = $56; + $57 = HEAP32[$4>>2]|0; + $58 = ((($57)) + 36|0); + $59 = HEAP32[$58>>2]|0; + $60 = (+($59>>>0)); + $61 = !($56 >= $60); + if ($61) { + $$0100 = $30;$$0101 = $52; + } else { + $62 = HEAP32[$4>>2]|0; + $63 = ((($62)) + 36|0); + $64 = HEAP32[$63>>2]|0; + $65 = (+($64>>>0)); + $67 = $57;$storemerge106 = $56; + while(1) { + $66 = ((($67)) + 32|0); + $68 = HEAP32[$66>>2]|0; + $69 = (+($68>>>0)); + $70 = $storemerge106 - $69; + $71 = !($70 >= $65); + if ($71) { + break; + } else { + $67 = $62;$storemerge106 = $70; + } + } + HEAPF32[$7>>2] = $70; + $$0100 = $30;$$0101 = $52; + } + break; + } + case 2: { + $72 = ((($0)) + 36|0); + $73 = HEAP32[$72>>2]|0; + $74 = ($73|0)!=(0); + $75 = ((($0)) + 32|0); + $76 = +HEAPF32[$75>>2]; + $77 = -$76; + $$sink$p = $74 ? $76 : $77; + $$sink = $8 + $$sink$p; + HEAPF32[$7>>2] = $$sink; + if ($74) { + $78 = HEAP32[$4>>2]|0; + $79 = ((($78)) + 36|0); + $80 = HEAP32[$79>>2]|0; + $81 = ($24>>>0)>=($80>>>0); + $82 = ((($78)) + 72|0); + $83 = HEAP32[$82>>2]|0; + $$sink2 = $81 ? $23 : $24; + $84 = (($83) + ($$sink2<<2)|0); + $85 = +HEAPF32[$84>>2]; + $86 = (+($80>>>0)); + $87 = !($$sink >= $86); + if (!($87)) { + $88 = $80 << 1; + $89 = (+($88>>>0)); + HEAP32[$72>>2] = 0; + $90 = +HEAPF32[$7>>2]; + $91 = $89 - $90; + HEAPF32[$7>>2] = $91; + } + $92 = +HEAPF32[$7>>2]; + $93 = ((($78)) + 24|0); + $94 = HEAP32[$93>>2]|0; + $95 = (+($94>>>0)); + $96 = !($92 >= $95); + if ($96) { + $$0100 = $30;$$0101 = $85; + break L8; + } + $97 = (($94) + -1)|0; + $98 = (+($97>>>0)); + $99 = $92 - $98; + HEAP32[$72>>2] = 0; + HEAPF32[$7>>2] = $99; + $$0100 = $30;$$0101 = $85; + break L8; + } + $100 = ($23|0)==(0); + if ($100) { + label = 24; + } else { + $101 = (($23) + -1)|0; + $102 = HEAP32[$4>>2]|0; + $103 = ((($102)) + 28|0); + $104 = HEAP32[$103>>2]|0; + $105 = ($101>>>0)>($104>>>0); + if ($105) { + $$sink103 = $101;$$sink105 = $102; + } else { + label = 24; + } + } + if ((label|0) == 24) { + $106 = HEAP32[$4>>2]|0; + $$sink103 = $23;$$sink105 = $106; + } + $107 = ((($$sink105)) + 72|0); + $108 = HEAP32[$107>>2]|0; + $109 = (($108) + ($$sink103<<2)|0); + $110 = +HEAPF32[$109>>2]; + $111 = +HEAPF32[$7>>2]; + $112 = HEAP32[$4>>2]|0; + $113 = ((($112)) + 28|0); + $114 = HEAP32[$113>>2]|0; + $115 = (+($114>>>0)); + $116 = !($111 <= $115); + $117 = $114 << 1; + $118 = (+($117>>>0)); + $119 = $118 - $111; + if ($116) { + $$pr = +HEAPF32[$7>>2]; + $121 = $$pr; + } else { + HEAP32[$72>>2] = 1; + HEAPF32[$7>>2] = $119; + $121 = $119; + } + $120 = !($121 <= 0.0); + if ($120) { + $$0100 = $110;$$0101 = $30; + } else { + HEAP32[$72>>2] = 1; + HEAPF32[$7>>2] = 0.0; + $$0100 = $110;$$0101 = $30; + } + break; + } + default: { + $$0100 = $30;$$0101 = 0.0; + } + } + } while(0); + $122 = $$0101 - $$0100; + $123 = $26 * $122; + $124 = $$0100 + $123; + $125 = ((($0)) + 164|0); + $126 = HEAP32[$125>>2]|0; + $127 = ($126>>>0)<(32); + if (!($127)) { + $$1 = $124; + return (+$$1); + } + $128 = (+($126>>>0)); + $129 = $128 * 0.03125; + $130 = (((($0)) + 168|0) + ($126<<2)|0); + $131 = +HEAPF32[$130>>2]; + $132 = $124 - $131; + $133 = $129 * $132; + $134 = $131 + $133; + $$1 = $134; + return (+$$1); + } + } + } + $10 = ((($0)) + 164|0); + $11 = HEAP32[$10>>2]|0; + $12 = ($11>>>0)<(32); + if (!($12)) { + $$1 = 0.0; + return (+$$1); + } + $13 = (+($11>>>0)); + $14 = $13 * 0.03125; + $15 = (((($0)) + 168|0) + ($11<<2)|0); + $16 = +HEAPF32[$15>>2]; + $17 = 0.0 - $16; + $18 = $14 * $17; + $19 = $16 + $18; + $$1 = $19; + return (+$$1); +} +function _jar_xm_row($0) { + $0 = $0|0; + var $$0$ = 0, $$06061 = 0, $$062 = 0, $$1 = 0, $$mask = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0; + var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0; + var $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0; + var $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0; + var $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0; + var $96 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 368|0); + $2 = HEAP32[$1>>2]|0; + $3 = ($2|0)==(0); + if ($3) { + $11 = ((($0)) + 372|0); + $12 = HEAP32[$11>>2]|0; + $13 = ($12|0)==(0); + if (!($13)) { + $14 = ((($0)) + 348|0); + $15 = HEAP8[$14>>0]|0; + $16 = (($15) + 1)<<24>>24; + HEAP8[$14>>0] = $16; + $17 = ((($0)) + 377|0); + $18 = HEAP8[$17>>0]|0; + $19 = ((($0)) + 349|0); + HEAP8[$19>>0] = $18; + HEAP32[$11>>2] = 0; + HEAP8[$17>>0] = 0; + _jar_xm_post_pattern_change($0); + } + } else { + $4 = ((($0)) + 376|0); + $5 = HEAP8[$4>>0]|0; + $6 = ((($0)) + 348|0); + HEAP8[$6>>0] = $5; + $7 = ((($0)) + 377|0); + $8 = HEAP8[$7>>0]|0; + $9 = ((($0)) + 349|0); + HEAP8[$9>>0] = $8; + HEAP32[$1>>2] = 0; + $10 = ((($0)) + 372|0); + HEAP32[$10>>2] = 0; + HEAP8[$7>>0] = 0; + _jar_xm_post_pattern_change($0); + } + $20 = ((($0)) + 316|0); + $21 = HEAP32[$20>>2]|0; + $22 = ((($0)) + 348|0); + $23 = HEAP8[$22>>0]|0; + $24 = $23&255; + $25 = (((($0)) + 60|0) + ($24)|0); + $26 = HEAP8[$25>>0]|0; + $27 = $26&255; + $28 = ((($0)) + 50|0); + $29 = HEAP16[$28>>1]|0; + $30 = ($29<<16>>16)==(0); + if ($30) { + label = 15; + } else { + $31 = $29&65535; + $32 = (((($21) + ($27<<3)|0)) + 4|0); + $33 = ((($0)) + 349|0); + $34 = ((($0)) + 388|0); + $$06061 = 0;$$062 = 0;$40 = $31;$43 = 0; + while(1) { + $36 = HEAP32[$32>>2]|0; + $37 = HEAP8[$33>>0]|0; + $38 = $37&255; + $39 = Math_imul($38, $40)|0; + $41 = (($36) + (($39*5)|0)|0); + $42 = (($41) + (($43*5)|0)|0); + $44 = HEAP32[$34>>2]|0; + $45 = (($44) + (($43*304)|0)|0); + $46 = (((($44) + (($43*304)|0)|0)) + 16|0); + HEAP32[$46>>2] = $42; + $47 = ((($42)) + 3|0); + $48 = HEAP8[$47>>0]|0; + $49 = ($48<<24>>24)==(14); + if ($49) { + $50 = ((($42)) + 4|0); + $51 = HEAP8[$50>>0]|0; + $52 = $51&255; + $$mask = $52 & 240; + $53 = ($$mask|0)==(208); + if ($53) { + $54 = $52 & 15; + $55 = $54&255; + $56 = (((($44) + (($43*304)|0)|0)) + 97|0); + HEAP8[$56>>0] = $55; + } else { + label = 10; + } + } else { + label = 10; + } + if ((label|0) == 10) { + label = 0; + _jar_xm_handle_note_and_instrument($0,$45,$42); + } + $57 = ($$062|0)==(0); + if ($57) { + $58 = (((($44) + (($43*304)|0)|0)) + 99|0); + $59 = HEAP8[$58>>0]|0; + $60 = ($59<<24>>24)==(0); + $$0$ = $60 ? $$062 : 1; + $$1 = $$0$; + } else { + $$1 = $$062; + } + $61 = (($$06061) + 1)<<24>>24; + $62 = $61&255; + $63 = HEAP16[$28>>1]|0; + $64 = $63&65535; + $65 = ($62>>>0)<($64>>>0); + if ($65) { + $$06061 = $61;$$062 = $$1;$40 = $64;$43 = $62; + } else { + break; + } + } + $35 = ($$1|0)==(0); + if ($35) { + label = 15; + } + } + if ((label|0) == 15) { + $66 = ((($0)) + 380|0); + $67 = HEAP32[$66>>2]|0; + $68 = HEAP8[$22>>0]|0; + $69 = $68&255; + $70 = $69 << 8; + $71 = ((($0)) + 349|0); + $72 = HEAP8[$71>>0]|0; + $73 = $72&255; + $74 = $70 | $73; + $75 = (($67) + ($74)|0); + $76 = HEAP8[$75>>0]|0; + $77 = (($76) + 1)<<24>>24; + HEAP8[$75>>0] = $77; + $78 = ((($0)) + 384|0); + HEAP8[$78>>0] = $76; + } + $79 = ((($0)) + 349|0); + $80 = HEAP8[$79>>0]|0; + $81 = (($80) + 1)<<24>>24; + HEAP8[$79>>0] = $81; + $82 = HEAP32[$1>>2]|0; + $83 = ($82|0)==(0); + if (!($83)) { + return; + } + $84 = ((($0)) + 372|0); + $85 = HEAP32[$84>>2]|0; + $86 = ($85|0)==(0); + if (!($86)) { + return; + } + $87 = $81&255; + $88 = (($21) + ($27<<3)|0); + $89 = HEAP16[$88>>1]|0; + $90 = $89&65535; + $91 = ($87>>>0)>=($90>>>0); + $92 = ($81<<24>>24)==(0); + $or$cond = $92 | $91; + if (!($or$cond)) { + return; + } + $93 = HEAP8[$22>>0]|0; + $94 = (($93) + 1)<<24>>24; + HEAP8[$22>>0] = $94; + $95 = ((($0)) + 377|0); + $96 = HEAP8[$95>>0]|0; + HEAP8[$79>>0] = $96; + HEAP8[$95>>0] = 0; + _jar_xm_post_pattern_change($0); + return; +} +function _jar_xm_envelopes($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0.0, $13 = 0.0, $14 = 0, $15 = 0.0, $16 = 0.0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; + var $28 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 8|0); + $2 = HEAP32[$1>>2]|0; + $3 = ($2|0)==(0|0); + if ($3) { + return; + } + $4 = ((($2)) + 176|0); + $5 = HEAP32[$4>>2]|0; + $6 = ($5|0)==(0); + if (!($6)) { + $7 = ((($0)) + 52|0); + $8 = HEAP32[$7>>2]|0; + $9 = ($8|0)==(0); + if ($9) { + $10 = ((($2)) + 260|0); + $11 = HEAP16[$10>>1]|0; + $12 = (+($11&65535)); + $13 = $12 * 1.52587890625E-5; + $14 = ((($0)) + 56|0); + $15 = +HEAPF32[$14>>2]; + $16 = $15 - $13; + HEAPF32[$14>>2] = $16; + $17 = $16 < 0.0; + if ($17) { + HEAPF32[$14>>2] = 0.0; + } + } + $18 = HEAP32[$1>>2]|0; + $19 = ((($18)) + 124|0); + $20 = ((($0)) + 68|0); + $21 = ((($0)) + 60|0); + _jar_xm_envelope_tick($0,$19,$20,$21); + } + $22 = HEAP32[$1>>2]|0; + $23 = ((($22)) + 240|0); + $24 = HEAP32[$23>>2]|0; + $25 = ($24|0)==(0); + if ($25) { + return; + } + $26 = ((($22)) + 188|0); + $27 = ((($0)) + 70|0); + $28 = ((($0)) + 64|0); + _jar_xm_envelope_tick($0,$26,$27,$28); + return; +} +function _jar_xm_autovibrato($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$ = 0.0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; + var $28 = 0.0, $29 = 0.0, $3 = 0, $30 = 0, $31 = 0.0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($1)) + 8|0); + $3 = HEAP32[$2>>2]|0; + $4 = ($3|0)==(0|0); + if ($4) { + return; + } + $5 = ((($3)) + 257|0); + $6 = HEAP8[$5>>0]|0; + $7 = ($6<<24>>24)==(0); + if ($7) { + return; + } + $8 = ((($1)) + 48|0); + $9 = HEAP16[$8>>1]|0; + $10 = $9&65535; + $11 = ((($3)) + 256|0); + $12 = HEAP8[$11>>0]|0; + $13 = $12&255; + $14 = ($10>>>0)<($13>>>0); + $15 = (+($9&65535)); + $16 = (+($12&255)); + $17 = $15 / $16; + $18 = $17 + 0.0; + $$ = $14 ? $18 : 1.0; + $19 = (($9) + 1)<<16>>16; + HEAP16[$8>>1] = $19; + $20 = ((($3)) + 258|0); + $21 = HEAP8[$20>>0]|0; + $22 = $21&255; + $23 = Math_imul($22, $10)|0; + $24 = $23 >>> 2; + $25 = ((($3)) + 252|0); + $26 = HEAP32[$25>>2]|0; + $27 = $24&255; + $28 = (+_jar_xm_waveform($26,$27)); + $29 = $28 * 0.25; + $30 = HEAP8[$5>>0]|0; + $31 = (+($30&255)); + $32 = $29 * $31; + $33 = $32 / 15.0; + $34 = $$ * $33; + $35 = ((($1)) + 72|0); + HEAPF32[$35>>2] = $34; + _jar_xm_update_frequency($0,$1); + return; +} +function _jar_xm_update_frequency($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0, $18 = 0.0, $19 = 0.0, $2 = 0, $20 = 0, $3 = 0.0, $4 = 0, $5 = 0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0; + var sp = 0; + sp = STACKTOP; + $2 = ((($1)) + 24|0); + $3 = +HEAPF32[$2>>2]; + $4 = ((($1)) + 80|0); + $5 = HEAP8[$4>>0]|0; + $6 = ($5<<24>>24)==(0); + if ($6) { + $8 = ((($1)) + 116|0); + $9 = +HEAPF32[$8>>2]; + $10 = ((($1)) + 72|0); + $11 = +HEAPF32[$10>>2]; + $12 = $9 + $11; + $13 = $12; + } else { + $7 = (+($5&255)); + $13 = $7; + } + $14 = (+_jar_xm_frequency($0,$3,$13)); + $15 = ((($1)) + 28|0); + HEAPF32[$15>>2] = $14; + $16 = ((($0)) + 324|0); + $17 = HEAP32[$16>>2]|0; + $18 = (+($17>>>0)); + $19 = $14 / $18; + $20 = ((($1)) + 32|0); + HEAPF32[$20>>2] = $19; + return; +} +function _jar_xm_volume_slide($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$not = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = $1&255; + $3 = $2 & 240; + $4 = ($3|0)!=(0); + $$not = $4 ^ 1; + $5 = $2 & 15; + $6 = ($5|0)==(0); + $or$cond = $6 | $$not; + if (!($or$cond)) { + return; + } + $7 = ((($0)) + 40|0); + $8 = +HEAPF32[$7>>2]; + if ($4) { + $9 = $2 >>> 4; + $10 = (+($9|0)); + $11 = $10 * 0.015625; + $12 = $11 + $8; + HEAPF32[$7>>2] = $12; + $13 = $12 > 1.0; + if (!($13)) { + return; + } + HEAPF32[$7>>2] = 1.0; + return; + } else { + $14 = (+($5|0)); + $15 = $14 * 0.015625; + $16 = $8 - $15; + HEAPF32[$7>>2] = $16; + $17 = $16 < 0.0; + if (!($17)) { + return; + } + HEAPF32[$7>>2] = 0.0; + return; + } +} +function _jar_xm_vibrato($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $10 = 0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $4 = $3&65535; + $5 = $2&255; + $6 = $5 >>> 4; + $7 = Math_imul($4, $6)|0; + $8 = ((($1)) + 104|0); + $9 = HEAP32[$8>>2]|0; + $10 = $7&255; + $11 = (+_jar_xm_waveform($9,$10)); + $12 = $11 * 2.0; + $13 = $5 & 15; + $14 = (+($13|0)); + $15 = $14 * $12; + $16 = $15 / 15.0; + $17 = ((($1)) + 116|0); + HEAPF32[$17>>2] = $16; + _jar_xm_update_frequency($0,$1); + return; +} +function _jar_xm_panning_slide($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$not = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = $1&255; + $3 = $2 & 240; + $4 = ($3|0)!=(0); + $$not = $4 ^ 1; + $5 = $2 & 15; + $6 = ($5|0)==(0); + $or$cond = $6 | $$not; + if (!($or$cond)) { + return; + } + $7 = ((($0)) + 44|0); + $8 = +HEAPF32[$7>>2]; + if ($4) { + $9 = $2 >>> 4; + $10 = (+($9|0)); + $11 = $10 / 255.0; + $12 = $11 + $8; + HEAPF32[$7>>2] = $12; + $13 = $12 > 1.0; + if (!($13)) { + return; + } + HEAPF32[$7>>2] = 1.0; + return; + } else { + $14 = (+($5|0)); + $15 = $14 / 255.0; + $16 = $8 - $15; + HEAPF32[$7>>2] = $16; + $17 = $16 < 0.0; + if (!($17)) { + return; + } + HEAPF32[$7>>2] = 0.0; + return; + } +} +function _jar_xm_tone_portamento($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0.0, $24 = 0, $25 = 0, $26 = 0.0, $27 = 0.0, $28 = 0.0; + var $29 = 0, $3 = 0.0, $4 = 0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($1)) + 92|0); + $3 = +HEAPF32[$2>>2]; + $4 = $3 == 0.0; + if ($4) { + return; + } + $5 = ((($1)) + 24|0); + $6 = +HEAPF32[$5>>2]; + $7 = $6 != $3; + if (!($7)) { + return; + } + $8 = $6 > $3; + if ($8) { + $9 = ((($0)) + 56|0); + $10 = HEAP32[$9>>2]|0; + $11 = ($10|0)==(0); + $12 = $11 ? 4.0 : 1.0; + $13 = ((($1)) + 91|0); + $14 = HEAP8[$13>>0]|0; + $15 = (+($14&255)); + $16 = $12 * $15; + $17 = $6 - $16; + HEAPF32[$5>>2] = $17; + $18 = $17 < $3; + if ($18) { + HEAPF32[$5>>2] = $3; + } + } else { + $19 = $6 < $3; + if ($19) { + $20 = ((($0)) + 56|0); + $21 = HEAP32[$20>>2]|0; + $22 = ($21|0)==(0); + $23 = $22 ? 4.0 : 1.0; + $24 = ((($1)) + 91|0); + $25 = HEAP8[$24>>0]|0; + $26 = (+($25&255)); + $27 = $23 * $26; + $28 = $6 + $27; + HEAPF32[$5>>2] = $28; + $29 = $28 > $3; + if ($29) { + HEAPF32[$5>>2] = $3; + } + } + } + _jar_xm_update_frequency($0,$1); + return; +} +function _jar_xm_arpeggio($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$sink = 0, $10 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $trunc = 0, $trunc$clear = 0, label = 0, sp = 0; + sp = STACKTOP; + $4 = (($3&65535) % 3)&-1; + $trunc = $4&255; + $trunc$clear = $trunc & 3; + switch ($trunc$clear<<24>>24) { + case 0: { + $5 = ((($1)) + 76|0); + HEAP32[$5>>2] = 0; + $$sink = 0; + break; + } + case 2: { + $6 = ((($1)) + 76|0); + HEAP32[$6>>2] = 1; + $7 = ($2&255) >>> 4; + $$sink = $7; + break; + } + case 1: { + $8 = ((($1)) + 76|0); + HEAP32[$8>>2] = 1; + $9 = $2 & 15; + $$sink = $9; + break; + } + default: { + _jar_xm_update_frequency($0,$1); + return; + } + } + $10 = ((($1)) + 80|0); + HEAP8[$10>>0] = $$sink; + _jar_xm_update_frequency($0,$1); + return; +} +function _jar_xm_pitch_slide($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = +$2; + var $$ = 0.0, $10 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, $storemerge = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ((($0)) + 56|0); + $4 = HEAP32[$3>>2]|0; + $5 = ($4|0)==(0); + $6 = $2 * 4.0; + $$ = $5 ? $6 : $2; + $7 = ((($1)) + 24|0); + $8 = +HEAPF32[$7>>2]; + $9 = $8 + $$; + $10 = $9 < 0.0; + $storemerge = $10 ? 0.0 : $9; + HEAPF32[$7>>2] = $storemerge; + _jar_xm_update_frequency($0,$1); + return; +} +function _jar_xm_tremolo($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = $2&65535; + $4 = $1&255; + $5 = $4 >>> 4; + $6 = Math_imul($3, $5)|0; + $7 = ((($0)) + 120|0); + $8 = HEAP32[$7>>2]|0; + $9 = $6&255; + $10 = (+_jar_xm_waveform($8,$9)); + $11 = $4 & 15; + $12 = (+($11|0)); + $13 = $12 * $10; + $14 = -$13; + $15 = $14 / 15.0; + $16 = ((($0)) + 132|0); + HEAPF32[$16>>2] = $15; + return; +} +function _jar_xm_trigger_note($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0.0, $39 = 0.0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0; + var $66 = 0, $67 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = $2 & 4; + $4 = ($3|0)==(0); + if ($4) { + $5 = ((($1)) + 20|0); + HEAPF32[$5>>2] = 0.0; + $6 = ((($1)) + 36|0); + HEAP32[$6>>2] = 1; + } + $7 = ((($1)) + 12|0); + $8 = HEAP32[$7>>2]|0; + $9 = ($8|0)==(0|0); + if (!($9)) { + $10 = $2 & 1; + $11 = ($10|0)==(0); + if ($11) { + $12 = ((($8)) + 40|0); + $13 = HEAP32[$12>>2]|0; + $14 = ((($1)) + 40|0); + HEAP32[$14>>2] = $13; + } + $15 = ((($8)) + 52|0); + $16 = HEAP32[$15>>2]|0; + $17 = ((($1)) + 44|0); + HEAP32[$17>>2] = $16; + } + $18 = ((($1)) + 52|0); + HEAP32[$18>>2] = 1; + $19 = ((($1)) + 60|0); + HEAPF32[$19>>2] = 1.0; + $20 = ((($1)) + 56|0); + HEAPF32[$20>>2] = 1.0; + $21 = ((($1)) + 64|0); + HEAPF32[$21>>2] = 0.5; + $22 = ((($1)) + 70|0); + HEAP16[$22>>1] = 0; + $23 = ((($1)) + 68|0); + HEAP16[$23>>1] = 0; + $24 = ((($1)) + 116|0); + HEAPF32[$24>>2] = 0.0; + $25 = ((($1)) + 132|0); + HEAPF32[$25>>2] = 0.0; + $26 = ((($1)) + 140|0); + HEAP32[$26>>2] = 0; + $27 = ((($1)) + 48|0); + HEAP16[$27>>1] = 0; + $28 = ((($1)) + 108|0); + $29 = HEAP32[$28>>2]|0; + $30 = ($29|0)==(0); + if (!($30)) { + $31 = ((($1)) + 114|0); + HEAP16[$31>>1] = 0; + } + $32 = ((($1)) + 124|0); + $33 = HEAP32[$32>>2]|0; + $34 = ($33|0)==(0); + if (!($34)) { + $35 = ((($1)) + 129|0); + HEAP8[$35>>0] = 0; + } + $36 = $2 & 2; + $37 = ($36|0)==(0); + if ($37) { + $38 = +HEAPF32[$1>>2]; + $39 = (+_jar_xm_period($0,$38)); + $40 = ((($1)) + 24|0); + HEAPF32[$40>>2] = $39; + _jar_xm_update_frequency($0,$1); + } + $41 = ((($0)) + 360|0); + $42 = $41; + $43 = $42; + $44 = HEAP32[$43>>2]|0; + $45 = (($42) + 4)|0; + $46 = $45; + $47 = HEAP32[$46>>2]|0; + $48 = ((($1)) + 144|0); + $49 = $48; + $50 = $49; + HEAP32[$50>>2] = $44; + $51 = (($49) + 4)|0; + $52 = $51; + HEAP32[$52>>2] = $47; + $53 = ((($1)) + 8|0); + $54 = HEAP32[$53>>2]|0; + $55 = ($54|0)==(0|0); + if (!($55)) { + $56 = ((($54)) + 264|0); + $57 = $56; + $58 = $57; + HEAP32[$58>>2] = $44; + $59 = (($57) + 4)|0; + $60 = $59; + HEAP32[$60>>2] = $47; + } + $61 = HEAP32[$7>>2]|0; + $62 = ($61|0)==(0|0); + if ($62) { + return; + } + $63 = ((($61)) + 64|0); + $64 = $63; + $65 = $64; + HEAP32[$65>>2] = $44; + $66 = (($64) + 4)|0; + $67 = $66; + HEAP32[$67>>2] = $47; + return; +} +function _jar_xm_cut_note($0) { + $0 = $0|0; + var $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 40|0); + HEAPF32[$1>>2] = 0.0; + return; +} +function _jar_xm_handle_note_and_instrument($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$0275 = 0, $$lobit = 0, $$lobit262 = 0, $$mask = 0, $$mask265 = 0, $$mask266 = 0, $$off = 0, $$off273 = 0, $$off274 = 0, $$old1 = 0, $$sink = 0, $10 = 0, $100 = 0.0, $101 = 0.0, $102 = 0.0, $103 = 0, $104 = 0, $105 = 0, $106 = 0.0, $107 = 0; + var $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0.0, $116 = 0.0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0; + var $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0.0, $133 = 0.0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0; + var $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0; + var $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0; + var $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0; + var $199 = 0, $20 = 0, $200 = 0, $201 = 0.0, $202 = 0.0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0; + var $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0.0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0; + var $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0.0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0; + var $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0.0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0.0, $27 = 0, $270 = 0; + var $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0.0, $288 = 0, $289 = 0; + var $29 = 0, $290 = 0, $291 = 0.0, $292 = 0.0, $293 = 0.0, $294 = 0.0, $295 = 0.0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0; + var $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0; + var $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0; + var $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0; + var $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0.0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0; + var $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0; + var $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0.0, $411 = 0.0, $412 = 0, $413 = 0, $414 = 0; + var $415 = 0, $416 = 0, $417 = 0, $418 = 0.0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0; + var $57 = 0.0, $58 = 0, $59 = 0, $6 = 0, $60 = 0.0, $61 = 0.0, $62 = 0.0, $63 = 0.0, $64 = 0.0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0; + var $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0; + var $93 = 0, $94 = 0, $95 = 0, $96 = 0.0, $97 = 0, $98 = 0, $99 = 0.0, $exitcond = 0, $or$cond = 0, $phitmp = 0.0, $phitmp260 = 0.0, $phitmp263 = 0.0, $phitmp264 = 0.0, $trunc = 0, $trunc$clear = 0, $trunc259 = 0, $trunc259$clear = 0, $trunc261 = 0, $trunc261$clear = 0, label = 0; + var sp = 0; + sp = STACKTOP; + $3 = ((($2)) + 1|0); + $4 = HEAP8[$3>>0]|0; + $5 = ($4<<24>>24)==(0); + do { + if (!($5)) { + $6 = ((($1)) + 16|0); + $7 = HEAP32[$6>>2]|0; + $8 = ((($7)) + 3|0); + $9 = HEAP8[$8>>0]|0; + switch ($9<<24>>24) { + case 5: case 3: { + label = 4; + break; + } + default: { + $10 = ((($7)) + 2|0); + $11 = HEAP8[$10>>0]|0; + $12 = ($11&255)>(239); + if ($12) { + label = 4; + } + } + } + if ((label|0) == 4) { + $13 = ((($1)) + 8|0); + $14 = HEAP32[$13>>2]|0; + $15 = ($14|0)==(0|0); + if (!($15)) { + $16 = ((($1)) + 12|0); + $17 = HEAP32[$16>>2]|0; + $18 = ($17|0)==(0|0); + if (!($18)) { + _jar_xm_trigger_note($0,$1,6); + break; + } + } + } + $19 = HEAP8[$3>>0]|0; + $20 = $19&255; + $21 = ((($0)) + 54|0); + $22 = HEAP16[$21>>1]|0; + $23 = $22&65535; + $24 = ($20>>>0)>($23>>>0); + if ($24) { + _jar_xm_cut_note($1); + $25 = ((($1)) + 8|0); + HEAP32[$25>>2] = 0; + $26 = ((($1)) + 12|0); + HEAP32[$26>>2] = 0; + break; + } + $27 = ((($0)) + 320|0); + $28 = HEAP32[$27>>2]|0; + $29 = (($20) + -1)|0; + $30 = (($28) + (($29*280)|0)|0); + $31 = ((($1)) + 8|0); + HEAP32[$31>>2] = $30; + $32 = HEAP8[$2>>0]|0; + $33 = ($32<<24>>24)==(0); + if ($33) { + $34 = ((($1)) + 12|0); + $35 = HEAP32[$34>>2]|0; + $36 = ($35|0)==(0|0); + if (!($36)) { + _jar_xm_trigger_note($0,$1,4); + } + } + } + } while(0); + $37 = HEAP8[$2>>0]|0; + $$off = (($37) + -1)<<24>>24; + $38 = ($$off&255)<(96); + do { + if ($38) { + $39 = ((($1)) + 8|0); + $40 = HEAP32[$39>>2]|0; + $41 = ((($1)) + 16|0); + $42 = HEAP32[$41>>2]|0; + $43 = ((($42)) + 3|0); + $44 = HEAP8[$43>>0]|0; + $$old1 = ($40|0)!=(0|0); + switch ($44<<24>>24) { + case 5: case 3: { + if ($$old1) { + label = 16; + } + break; + } + default: { + $45 = ((($42)) + 2|0); + $46 = HEAP8[$45>>0]|0; + $47 = ($46&255)>(239); + $or$cond = $$old1 & $47; + if ($or$cond) { + label = 16; + } else { + $66 = ($40|0)==(0|0); + if (!($66)) { + label = 19; + } + } + } + } + if ((label|0) == 16) { + $48 = ((($1)) + 12|0); + $49 = HEAP32[$48>>2]|0; + $50 = ($49|0)==(0|0); + if ($50) { + label = 19; + } else { + $51 = HEAP8[$2>>0]|0; + $52 = $51&255; + $53 = ((($49)) + 56|0); + $54 = HEAP8[$53>>0]|0; + $55 = $54 << 24 >> 24; + $56 = (($55) + ($52))|0; + $57 = (+($56|0)); + $58 = ((($49)) + 44|0); + $59 = HEAP8[$58>>0]|0; + $60 = (+($59<<24>>24)); + $61 = $60 * 0.0078125; + $62 = $57 + $61; + $63 = $62 + -1.0; + HEAPF32[$1>>2] = $63; + $64 = (+_jar_xm_period($0,$63)); + $65 = ((($1)) + 92|0); + HEAPF32[$65>>2] = $64; + break; + } + } + if ((label|0) == 19) { + $67 = HEAP32[$39>>2]|0; + $68 = ((($67)) + 24|0); + $69 = HEAP16[$68>>1]|0; + $70 = ($69<<16>>16)==(0); + if (!($70)) { + $71 = HEAP8[$2>>0]|0; + $72 = $71&255; + $73 = (($72) + -1)|0; + $74 = (((($40)) + 26|0) + ($73)|0); + $75 = HEAP8[$74>>0]|0; + $76 = $75&255; + $77 = ((($40)) + 24|0); + $78 = HEAP16[$77>>1]|0; + $79 = $78&65535; + $80 = ($76>>>0)<($79>>>0); + if ($80) { + $$0275 = 0; + } else { + _jar_xm_cut_note($1); + break; + } + while(1) { + $106 = (+_jar_xm_next_of_sample($1)); + $107 = (((($1)) + 168|0) + ($$0275<<2)|0); + HEAPF32[$107>>2] = $106; + $108 = (($$0275) + 1)|0; + $exitcond = ($108|0)==(32); + if ($exitcond) { + break; + } else { + $$0275 = $108; + } + } + $81 = ((($1)) + 164|0); + HEAP32[$81>>2] = 0; + $82 = ((($40)) + 276|0); + $83 = HEAP32[$82>>2]|0; + $84 = HEAP8[$2>>0]|0; + $85 = $84&255; + $86 = (($85) + -1)|0; + $87 = (((($40)) + 26|0) + ($86)|0); + $88 = HEAP8[$87>>0]|0; + $89 = $88&255; + $90 = (($83) + (($89*80)|0)|0); + $91 = ((($1)) + 12|0); + HEAP32[$91>>2] = $90; + $92 = (((($83) + (($89*80)|0)|0)) + 56|0); + $93 = HEAP8[$92>>0]|0; + $94 = $93 << 24 >> 24; + $95 = (($94) + ($85))|0; + $96 = (+($95|0)); + $97 = (((($83) + (($89*80)|0)|0)) + 44|0); + $98 = HEAP8[$97>>0]|0; + $99 = (+($98<<24>>24)); + $100 = $99 * 0.0078125; + $101 = $96 + $100; + $102 = $101 + -1.0; + HEAPF32[$1>>2] = $102; + $103 = ((($1)) + 4|0); + HEAPF32[$103>>2] = $102; + $104 = HEAP8[$3>>0]|0; + $105 = ($104<<24>>24)==(0); + if ($105) { + _jar_xm_trigger_note($0,$1,1); + break; + } else { + _jar_xm_trigger_note($0,$1,0); + break; + } + } + } + _jar_xm_cut_note($1); + } else { + $109 = ($37<<24>>24)==(97); + if ($109) { + _jar_xm_key_off($1); + } + } + } while(0); + $110 = ((($2)) + 2|0); + $111 = HEAP8[$110>>0]|0; + $112 = $111&255; + $trunc = ($111&255) >>> 4; + $trunc$clear = $trunc & 15; + switch ($trunc$clear<<24>>24) { + case 5: { + $113 = ($111&255)>(80); + if (!($113)) { + label = 31; + } + break; + } + case 4: case 3: case 2: case 1: { + label = 31; + break; + } + case 8: { + $118 = $112 & 15; + $119 = $118&255; + _jar_xm_volume_slide($1,$119); + break; + } + case 9: { + $120 = $112 << 4; + $121 = $120&255; + _jar_xm_volume_slide($1,$121); + break; + } + case 10: { + $122 = ((($1)) + 112|0); + $123 = HEAP8[$122>>0]|0; + $124 = $123 & 15; + $125 = $124&255; + $126 = $112 << 4; + $127 = $125 | $126; + $128 = $127&255; + HEAP8[$122>>0] = $128; + break; + } + case 12: { + $129 = $112 & 15; + $130 = $129 << 4; + $131 = $130 | $129; + $132 = (+($131|0)); + $133 = $132 / 255.0; + $134 = ((($1)) + 44|0); + HEAPF32[$134>>2] = $133; + break; + } + case 15: { + $135 = $112 & 15; + $136 = ($135|0)==(0); + if (!($136)) { + $137 = ((($1)) + 91|0); + $138 = $112 << 4; + $139 = $138 | $135; + $140 = $139&255; + HEAP8[$137>>0] = $140; + } + break; + } + default: { + } + } + if ((label|0) == 31) { + $114 = (($112) + -16)|0; + $115 = (+($114|0)); + $116 = $115 * 0.015625; + $117 = ((($1)) + 40|0); + HEAPF32[$117>>2] = $116; + } + $141 = ((($2)) + 3|0); + $142 = HEAP8[$141>>0]|0; + do { + switch ($142<<24>>24) { + case 1: { + $143 = ((($2)) + 4|0); + $144 = HEAP8[$143>>0]|0; + $145 = ($144<<24>>24)==(0); + if ($145) { + return; + } + $146 = ((($1)) + 85|0); + HEAP8[$146>>0] = $144; + return; + break; + } + case 2: { + $147 = ((($2)) + 4|0); + $148 = HEAP8[$147>>0]|0; + $149 = ($148<<24>>24)==(0); + if ($149) { + return; + } + $150 = ((($1)) + 86|0); + HEAP8[$150>>0] = $148; + return; + break; + } + case 3: { + $151 = ((($2)) + 4|0); + $152 = HEAP8[$151>>0]|0; + $153 = ($152<<24>>24)==(0); + if ($153) { + return; + } + $154 = ((($1)) + 91|0); + HEAP8[$154>>0] = $152; + return; + break; + } + case 4: { + $155 = ((($2)) + 4|0); + $156 = HEAP8[$155>>0]|0; + $157 = $156&255; + $158 = $157 & 15; + $159 = ($158|0)==(0); + if (!($159)) { + $160 = ((($1)) + 112|0); + $161 = HEAP8[$160>>0]|0; + $162 = $161 & -16; + $163 = $162&255; + $164 = $163 | $158; + $165 = $164&255; + HEAP8[$160>>0] = $165; + } + $$mask266 = $157 & 240; + $166 = ($$mask266|0)==(0); + if ($166) { + return; + } + $167 = ((($1)) + 112|0); + $168 = HEAP8[$167>>0]|0; + $169 = $168 & 15; + $170 = $169&255; + $171 = $170 | $$mask266; + $172 = $171&255; + HEAP8[$167>>0] = $172; + return; + break; + } + case 5: { + $173 = ((($2)) + 4|0); + $174 = HEAP8[$173>>0]|0; + $175 = ($174<<24>>24)==(0); + if ($175) { + return; + } + $176 = ((($1)) + 81|0); + HEAP8[$176>>0] = $174; + return; + break; + } + case 6: { + $177 = ((($2)) + 4|0); + $178 = HEAP8[$177>>0]|0; + $179 = ($178<<24>>24)==(0); + if ($179) { + return; + } + $180 = ((($1)) + 81|0); + HEAP8[$180>>0] = $178; + return; + break; + } + case 7: { + $181 = ((($2)) + 4|0); + $182 = HEAP8[$181>>0]|0; + $183 = $182&255; + $184 = $183 & 15; + $185 = ($184|0)==(0); + if (!($185)) { + $186 = ((($1)) + 128|0); + $187 = HEAP8[$186>>0]|0; + $188 = $187 & -16; + $189 = $188&255; + $190 = $189 | $184; + $191 = $190&255; + HEAP8[$186>>0] = $191; + } + $$mask265 = $183 & 240; + $192 = ($$mask265|0)==(0); + if ($192) { + return; + } + $193 = ((($1)) + 128|0); + $194 = HEAP8[$193>>0]|0; + $195 = $194 & 15; + $196 = $195&255; + $197 = $196 | $$mask265; + $198 = $197&255; + HEAP8[$193>>0] = $198; + return; + break; + } + case 8: { + $199 = ((($2)) + 4|0); + $200 = HEAP8[$199>>0]|0; + $201 = (+($200&255)); + $202 = $201 / 255.0; + $203 = ((($1)) + 44|0); + HEAPF32[$203>>2] = $202; + return; + break; + } + case 9: { + $204 = ((($1)) + 12|0); + $205 = HEAP32[$204>>2]|0; + $206 = ($205|0)==(0|0); + if ($206) { + return; + } + $207 = HEAP8[$2>>0]|0; + $$off274 = (($207) + -1)<<24>>24; + $208 = ($$off274&255)<(96); + if (!($208)) { + return; + } + $209 = ((($2)) + 4|0); + $210 = HEAP8[$209>>0]|0; + $211 = $210&255; + $212 = ((($205)) + 23|0); + $213 = HEAP8[$212>>0]|0; + $214 = ($213<<24>>24)==(16); + $215 = $214 ? 7 : 8; + $216 = $211 << $215; + $217 = ((($205)) + 24|0); + $218 = HEAP32[$217>>2]|0; + $219 = ($216>>>0)<($218>>>0); + if ($219) { + $221 = (+($216>>>0)); + $222 = ((($1)) + 20|0); + HEAPF32[$222>>2] = $221; + return; + } else { + $220 = ((($1)) + 20|0); + HEAPF32[$220>>2] = -1.0; + return; + } + break; + } + case 10: { + $223 = ((($2)) + 4|0); + $224 = HEAP8[$223>>0]|0; + $225 = ($224<<24>>24)==(0); + if ($225) { + return; + } + $226 = ((($1)) + 81|0); + HEAP8[$226>>0] = $224; + return; + break; + } + case 11: { + $227 = ((($2)) + 4|0); + $228 = HEAP8[$227>>0]|0; + $229 = $228&255; + $230 = ((($0)) + 46|0); + $231 = HEAP16[$230>>1]|0; + $232 = $231&65535; + $233 = ($229>>>0)<($232>>>0); + if (!($233)) { + return; + } + $234 = ((($0)) + 368|0); + HEAP32[$234>>2] = 1; + $235 = ((($0)) + 376|0); + HEAP8[$235>>0] = $228; + return; + break; + } + case 12: { + $236 = ((($2)) + 4|0); + $237 = HEAP8[$236>>0]|0; + $238 = ($237&255)>(64); + $phitmp263 = (+($237&255)); + $phitmp264 = $phitmp263 * 0.015625; + $239 = $238 ? 1.0 : $phitmp264; + $240 = ((($1)) + 40|0); + HEAPF32[$240>>2] = $239; + return; + break; + } + case 13: { + $241 = ((($0)) + 372|0); + HEAP32[$241>>2] = 1; + $242 = ((($2)) + 4|0); + $243 = HEAP8[$242>>0]|0; + $244 = $243&255; + $245 = $244 >>> 4; + $246 = ($245*10)|0; + $247 = $244 & 15; + $248 = (($246) + ($247))|0; + $249 = $248&255; + $250 = ((($0)) + 377|0); + HEAP8[$250>>0] = $249; + return; + break; + } + case 14: { + $251 = ((($2)) + 4|0); + $252 = HEAP8[$251>>0]|0; + $253 = $252&255; + $trunc261 = ($252&255) >>> 4; + $trunc261$clear = $trunc261 & 15; + do { + switch ($trunc261$clear<<24>>24) { + case 1: { + $254 = $253 & 15; + $255 = ($254|0)==(0); + if (!($255)) { + $256 = $254&255; + $257 = ((($1)) + 87|0); + HEAP8[$257>>0] = $256; + } + $258 = ((($1)) + 87|0); + $259 = HEAP8[$258>>0]|0; + $260 = $259&255; + $261 = (0 - ($260))|0; + $262 = (+($261|0)); + _jar_xm_pitch_slide($0,$1,$262); + return; + break; + } + case 2: { + $263 = $253 & 15; + $264 = ($263|0)==(0); + if (!($264)) { + $265 = $263&255; + $266 = ((($1)) + 88|0); + HEAP8[$266>>0] = $265; + } + $267 = ((($1)) + 88|0); + $268 = HEAP8[$267>>0]|0; + $269 = (+($268&255)); + _jar_xm_pitch_slide($0,$1,$269); + return; + break; + } + case 4: { + $270 = $253 & 3; + $271 = ((($1)) + 104|0); + HEAP32[$271>>2] = $270; + $272 = $253 >>> 2; + $$lobit262 = $272 & 1; + $273 = $$lobit262 ^ 1; + $274 = ((($1)) + 108|0); + HEAP32[$274>>2] = $273; + return; + break; + } + case 5: { + $275 = ((($1)) + 16|0); + $276 = HEAP32[$275>>2]|0; + $277 = HEAP8[$276>>0]|0; + $278 = $277&255; + $$off273 = (($277) + -1)<<24>>24; + $279 = ($$off273&255)<(96); + if (!($279)) { + return; + } + $280 = ((($1)) + 12|0); + $281 = HEAP32[$280>>2]|0; + $282 = ($281|0)==(0|0); + if ($282) { + return; + } + $283 = ((($281)) + 56|0); + $284 = HEAP8[$283>>0]|0; + $285 = $284 << 24 >> 24; + $286 = (($285) + ($278))|0; + $287 = (+($286|0)); + $288 = $253 << 4; + $289 = $288 & 240; + $290 = (($289) + -128)|0; + $291 = (+($290|0)); + $292 = $291 * 0.0078125; + $293 = $292 + $287; + $294 = $293 + -1.0; + HEAPF32[$1>>2] = $294; + $295 = (+_jar_xm_period($0,$294)); + $296 = ((($1)) + 24|0); + HEAPF32[$296>>2] = $295; + _jar_xm_update_frequency($0,$1); + return; + break; + } + case 6: { + $297 = $253 & 15; + $298 = ($297|0)==(0); + if ($298) { + $311 = ((($0)) + 349|0); + $312 = HEAP8[$311>>0]|0; + $313 = ((($1)) + 98|0); + HEAP8[$313>>0] = $312; + $314 = ((($0)) + 377|0); + HEAP8[$314>>0] = $312; + return; + } + $299 = ((($1)) + 99|0); + $300 = HEAP8[$299>>0]|0; + $301 = $300&255; + $302 = ($297|0)==($301|0); + if ($302) { + HEAP8[$299>>0] = 0; + return; + } else { + $303 = (($300) + 1)<<24>>24; + HEAP8[$299>>0] = $303; + $304 = ((($0)) + 368|0); + HEAP32[$304>>2] = 1; + $305 = ((($1)) + 98|0); + $306 = HEAP8[$305>>0]|0; + $307 = ((($0)) + 377|0); + HEAP8[$307>>0] = $306; + $308 = ((($0)) + 348|0); + $309 = HEAP8[$308>>0]|0; + $310 = ((($0)) + 376|0); + HEAP8[$310>>0] = $309; + return; + } + break; + } + case 7: { + $315 = $253 & 3; + $316 = ((($1)) + 120|0); + HEAP32[$316>>2] = $315; + $317 = $253 >>> 2; + $$lobit = $317 & 1; + $318 = $$lobit ^ 1; + $319 = ((($1)) + 124|0); + HEAP32[$319>>2] = $318; + return; + break; + } + case 10: { + $320 = $253 & 15; + $321 = ($320|0)==(0); + if (!($321)) { + $322 = $320&255; + $323 = ((($1)) + 82|0); + HEAP8[$323>>0] = $322; + } + $324 = ((($1)) + 82|0); + $325 = HEAP8[$324>>0]|0; + $326 = $325&255; + $327 = $326 << 4; + $328 = $327&255; + _jar_xm_volume_slide($1,$328); + return; + break; + } + case 11: { + $329 = $253 & 15; + $330 = ($329|0)==(0); + if (!($330)) { + $331 = $329&255; + $332 = ((($1)) + 82|0); + HEAP8[$332>>0] = $331; + } + $333 = ((($1)) + 82|0); + $334 = HEAP8[$333>>0]|0; + _jar_xm_volume_slide($1,$334); + return; + break; + } + case 13: { + $335 = HEAP8[$2>>0]|0; + $336 = ($335<<24>>24)==(0); + if (!($336)) { + return; + } + $337 = HEAP8[$3>>0]|0; + $338 = ($337<<24>>24)==(0); + if (!($338)) { + return; + } + $339 = ((($1)) + 16|0); + $340 = HEAP32[$339>>2]|0; + $341 = ((($340)) + 4|0); + $342 = HEAP8[$341>>0]|0; + $343 = $342 & 15; + $344 = ($343<<24>>24)==(0); + if ($344) { + _jar_xm_trigger_note($0,$1,7); + return; + } else { + $345 = ((($1)) + 4|0); + $346 = HEAP32[$345>>2]|0; + HEAP32[$1>>2] = $346; + _jar_xm_trigger_note($0,$1,1); + return; + } + break; + } + case 14: { + $347 = ((($1)) + 16|0); + $348 = HEAP32[$347>>2]|0; + $349 = ((($348)) + 4|0); + $350 = HEAP8[$349>>0]|0; + $351 = $350 & 15; + $352 = $351&255; + $353 = ((($0)) + 328|0); + $354 = HEAP16[$353>>1]|0; + $355 = $354&65535; + $356 = Math_imul($352, $355)|0; + $357 = $356&65535; + $358 = ((($0)) + 378|0); + HEAP16[$358>>1] = $357; + return; + break; + } + default: { + return; + } + } + } while(0); + break; + } + case 15: { + $359 = ((($2)) + 4|0); + $360 = HEAP8[$359>>0]|0; + $361 = ($360<<24>>24)==(0); + if ($361) { + return; + } + $362 = ($360&255)<(32); + $363 = $360&255; + if ($362) { + $364 = ((($0)) + 328|0); + HEAP16[$364>>1] = $363; + return; + } else { + $365 = ((($0)) + 330|0); + HEAP16[$365>>1] = $363; + return; + } + break; + } + case 16: { + $366 = ((($2)) + 4|0); + $367 = HEAP8[$366>>0]|0; + $368 = ($367&255)>(64); + $phitmp = (+($367&255)); + $phitmp260 = $phitmp * 0.015625; + $369 = $368 ? 1.0 : $phitmp260; + $370 = ((($0)) + 332|0); + HEAPF32[$370>>2] = $369; + return; + break; + } + case 17: { + $371 = ((($2)) + 4|0); + $372 = HEAP8[$371>>0]|0; + $373 = ($372<<24>>24)==(0); + if ($373) { + return; + } + $374 = ((($1)) + 83|0); + HEAP8[$374>>0] = $372; + return; + break; + } + case 21: { + $375 = ((($2)) + 4|0); + $376 = HEAP8[$375>>0]|0; + $377 = $376&255; + $378 = ((($1)) + 68|0); + HEAP16[$378>>1] = $377; + $379 = ((($1)) + 70|0); + HEAP16[$379>>1] = $377; + return; + break; + } + case 25: { + $380 = ((($2)) + 4|0); + $381 = HEAP8[$380>>0]|0; + $382 = ($381<<24>>24)==(0); + if ($382) { + return; + } + $383 = ((($1)) + 84|0); + HEAP8[$383>>0] = $381; + return; + break; + } + case 27: { + $384 = ((($2)) + 4|0); + $385 = HEAP8[$384>>0]|0; + $386 = $385&255; + $387 = ($385<<24>>24)==(0); + if ($387) { + return; + } + $$mask = $386 & 240; + $388 = ($$mask|0)==(0); + if ($388) { + $389 = ((($1)) + 96|0); + $390 = HEAP8[$389>>0]|0; + $391 = $390 & -16; + $392 = $391&255; + $393 = $386 & 15; + $394 = $392 | $393; + $395 = $394&255; + $$sink = $395; + } else { + $$sink = $385; + } + $396 = ((($1)) + 96|0); + HEAP8[$396>>0] = $$sink; + return; + break; + } + case 29: { + $397 = ((($2)) + 4|0); + $398 = HEAP8[$397>>0]|0; + $399 = ($398<<24>>24)==(0); + if ($399) { + return; + } + $400 = ((($1)) + 136|0); + HEAP8[$400>>0] = $398; + return; + break; + } + case 33: { + $401 = ((($2)) + 4|0); + $402 = HEAP8[$401>>0]|0; + $403 = $402&255; + $trunc259 = ($402&255) >>> 4; + $trunc259$clear = $trunc259 & 15; + switch ($trunc259$clear<<24>>24) { + case 1: { + $404 = $403 & 15; + $405 = ($404|0)==(0); + if (!($405)) { + $406 = $404&255; + $407 = ((($1)) + 89|0); + HEAP8[$407>>0] = $406; + } + $408 = ((($1)) + 89|0); + $409 = HEAP8[$408>>0]|0; + $410 = (+($409&255)); + $411 = -$410; + _jar_xm_pitch_slide($0,$1,$411); + return; + break; + } + case 2: { + $412 = $403 & 15; + $413 = ($412|0)==(0); + if (!($413)) { + $414 = $412&255; + $415 = ((($1)) + 90|0); + HEAP8[$415>>0] = $414; + } + $416 = ((($1)) + 90|0); + $417 = HEAP8[$416>>0]|0; + $418 = (+($417&255)); + _jar_xm_pitch_slide($0,$1,$418); + return; + break; + } + default: { + return; + } + } + break; + } + default: { + return; + } + } + } while(0); +} +function _jar_xm_key_off($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 52|0); + HEAP32[$1>>2] = 0; + $2 = ((($0)) + 8|0); + $3 = HEAP32[$2>>2]|0; + $4 = ($3|0)==(0|0); + if (!($4)) { + $5 = ((($3)) + 176|0); + $6 = HEAP32[$5>>2]|0; + $7 = ($6|0)==(0); + if (!($7)) { + return; + } + } + _jar_xm_cut_note($0); + return; +} +function _jar_xm_period($0,$1) { + $0 = $0|0; + $1 = +$1; + var $$0 = 0.0, $2 = 0, $3 = 0, $4 = 0.0, $5 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($0)) + 56|0); + $3 = HEAP32[$2>>2]|0; + switch ($3|0) { + case 0: { + $4 = (+_jar_xm_linear_period($1)); + $$0 = $4; + break; + } + case 1: { + $5 = (+_jar_xm_amiga_period($1)); + $$0 = $5; + break; + } + default: { + $$0 = 0.0; + } + } + return (+$$0); +} +function _jar_xm_linear_period($0) { + $0 = +$0; + var $1 = 0.0, $2 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $1 = $0 * 64.0; + $2 = 7680.0 - $1; + return (+$2); +} +function _jar_xm_amiga_period($0) { + $0 = +$0; + var $$0 = 0, $$023 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; + var $26 = 0, $27 = 0, $28 = 0.0, $29 = 0.0, $3 = 0.0, $30 = 0.0, $31 = 0, $32 = 0, $33 = 0.0, $34 = 0.0, $35 = 0.0, $4 = 0.0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (~~(($0))>>>0); + $2 = (($1>>>0) % 12)&-1; + $3 = $0 / 12.0; + $4 = $3 + -2.0; + $5 = (~~(($4))); + $6 = (5720 + ($2<<1)|0); + $7 = HEAP16[$6>>1]|0; + $8 = (($2) + 1)|0; + $9 = (5720 + ($8<<1)|0); + $10 = HEAP16[$9>>1]|0; + $11 = $5 << 24 >> 24; + $12 = ($5<<24>>24)>(0); + if ($12) { + $13 = $7&65535; + $14 = $13 >>> $11; + $15 = $14&65535; + $16 = $10&65535; + $17 = $16 >>> $11; + $18 = $17&65535; + $$0 = $18;$$023 = $15; + } else { + $19 = ($5<<24>>24)<(0); + $20 = (0 - ($11))|0; + if ($19) { + $21 = $10&65535; + $22 = $21 << $20; + $23 = $7&65535; + $24 = $23 << $20; + $25 = $24&65535; + $26 = $22&65535; + $$0 = $26;$$023 = $25; + } else { + $$0 = $10;$$023 = $7; + } + } + $27 = $$023&65535; + $28 = (+($$023&65535)); + $29 = (+($1>>>0)); + $30 = $0 - $29; + $31 = $$0&65535; + $32 = (($31) - ($27))|0; + $33 = (+($32|0)); + $34 = $30 * $33; + $35 = $28 + $34; + return (+$35); +} +function _jar_xm_waveform($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0.0, $2 = 0, $20 = 0.0, $21 = 0.0, $22 = 0, $23 = 0, $24 = 0.0, $25 = 0.0, $3 = 0.0, $4 = 0.0; + var $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = $1 & 63; + switch ($0|0) { + case 0: { + $3 = (+($2&255)); + $4 = $3 * 6.2831840515136719; + $5 = $4 * 0.015625; + $6 = (+Math_sin((+$5))); + $7 = -$6; + $$0 = $7; + return (+$$0); + break; + } + case 1: { + $8 = $2&255; + $9 = (32 - ($8))|0; + $10 = (+($9|0)); + $11 = $10 * 0.03125; + $$0 = $11; + return (+$$0); + break; + } + case 2: { + $12 = ($2&255)>(31); + $13 = $12 ? 1.0 : -1.0; + $$0 = $13; + return (+$$0); + break; + } + case 3: { + $14 = HEAP32[950]|0; + $15 = Math_imul($14, 1103515245)|0; + $16 = (($15) + 12345)|0; + HEAP32[950] = $16; + $17 = $16 >>> 16; + $18 = $17 & 32767; + $19 = (+($18>>>0)); + $20 = $19 * 6.103515625E-5; + $21 = $20 + -1.0; + $$0 = $21; + return (+$$0); + break; + } + case 4: { + $22 = $2&255; + $23 = (($22) + -32)|0; + $24 = (+($23|0)); + $25 = $24 * 0.03125; + $$0 = $25; + return (+$$0); + break; + } + default: { + $$0 = 0.0; + return (+$$0); + } + } + return +(0.0); +} +function _jar_xm_frequency($0,$1,$2) { + $0 = $0|0; + $1 = +$1; + $2 = +$2; + var $$050 = 0.0, $$051 = 0, $$054 = 0, $$1 = 0, $$148 = 0, $$152 = 0, $$253 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0.0, $21 = 0, $22 = 0; + var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0; + var $41 = 0, $42 = 0, $43 = 0, $44 = 0.0, $45 = 0, $46 = 0.0, $47 = 0, $48 = 0, $49 = 0, $5 = 0.0, $50 = 0, $51 = 0, $52 = 0.0, $53 = 0.0, $54 = 0.0, $55 = 0.0, $56 = 0, $57 = 0.0, $58 = 0.0, $59 = 0; + var $6 = 0.0, $60 = 0, $61 = 0.0, $62 = 0.0, $63 = 0.0, $64 = 0.0, $65 = 0.0, $66 = 0.0, $7 = 0.0, $8 = 0, $9 = 0.0, $indvars$iv = 0, $indvars$iv$next = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ((($0)) + 56|0); + $4 = HEAP32[$3>>2]|0; + switch ($4|0) { + case 0: { + $5 = $2 * 64.0; + $6 = $1 - $5; + $7 = (+_jar_xm_linear_frequency($6)); + $$050 = $7; + return (+$$050); + break; + } + case 1: { + $8 = $2 == 0.0; + if ($8) { + $9 = (+_jar_xm_amiga_frequency($1)); + $$050 = $9; + return (+$$050); + } + $10 = $1 > 1712.0; + if ($10) { + $$051 = -1; + while(1) { + $11 = $$051 << 24 >> 24; + $12 = (0 - ($11))|0; + $13 = 1712 << $12; + $14 = (+($13|0)); + $15 = $14 < $1; + $16 = (($$051) + -1)<<24>>24; + if ($15) { + $$051 = $16; + } else { + $$253 = $$051; + break; + } + } + } else { + $17 = $1 < 856.0; + if ($17) { + $$152 = 1; + while(1) { + $18 = $$152 << 24 >> 24; + $19 = 856 >>> $18; + $20 = (+($19|0)); + $21 = $20 > $1; + $22 = (($$152) + 1)<<24>>24; + if ($21) { + $$152 = $22; + } else { + $$253 = $$152; + break; + } + } + } else { + $$253 = 0; + } + } + $23 = $$253 << 24 >> 24; + $24 = ($$253<<24>>24)>(0); + $25 = ($$253<<24>>24)<(0); + $26 = (0 - ($23))|0; + $indvars$iv = 0; + while(1) { + $27 = (5720 + ($indvars$iv<<1)|0); + $28 = HEAP16[$27>>1]|0; + $29 = (($indvars$iv) + 1)|0; + $30 = (5720 + ($29<<1)|0); + $31 = HEAP16[$30>>1]|0; + if ($24) { + $32 = $28&65535; + $33 = $32 >>> $23; + $34 = $33&65535; + $35 = $31&65535; + $36 = $35 >>> $23; + $37 = $36&65535; + $$1 = $37;$$148 = $34; + } else { + if ($25) { + $38 = $31&65535; + $39 = $38 << $26; + $40 = $28&65535; + $41 = $40 << $26; + $42 = $41&65535; + $43 = $39&65535; + $$1 = $43;$$148 = $42; + } else { + $$1 = $31;$$148 = $28; + } + } + $44 = (+($$1&65535)); + $45 = !($44 <= $1); + $46 = (+($$148&65535)); + $47 = !($46 >= $1); + $or$cond = $47 | $45; + $48 = $indvars$iv&255; + if (!($or$cond)) { + $$054 = $48; + break; + } + $indvars$iv$next = (($indvars$iv) + 1)|0; + $49 = ($indvars$iv$next>>>0)<(12); + if ($49) { + $indvars$iv = $indvars$iv$next; + } else { + $$054 = 0; + break; + } + } + $50 = $$253 << 24 >> 24; + $51 = (($50) + 2)|0; + $52 = (+($51|0)); + $53 = $52 * 12.0; + $54 = (+($$054&255)); + $55 = $53 + $54; + $56 = $$148&65535; + $57 = (+($$148&65535)); + $58 = $1 - $57; + $59 = $$1&65535; + $60 = (($59) - ($56))|0; + $61 = (+($60|0)); + $62 = $58 / $61; + $63 = $55 + $62; + $64 = $63 + $2; + $65 = (+_jar_xm_amiga_period($64)); + $66 = (+_jar_xm_amiga_frequency($65)); + $$050 = $66; + return (+$$050); + break; + } + default: { + $$050 = 0.0; + return (+$$050); + } + } + return +(0.0); +} +function _jar_xm_linear_frequency($0) { + $0 = +$0; + var $1 = 0.0, $2 = 0.0, $3 = 0.0, $exp2 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $1 = 4608.0 - $0; + $2 = $1 / 768.0; + $exp2 = (+_llvm_exp2_f32((+$2))); + $3 = $exp2 * 8363.0; + return (+$3); +} +function _jar_xm_amiga_frequency($0) { + $0 = +$0; + var $$0 = 0.0, $1 = 0, $2 = 0.0, $3 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $1 = $0 == 0.0; + $2 = $0 * 2.0; + $3 = 7093789.0 / $2; + $$0 = $1 ? 0.0 : $3; + return (+$$0); +} +function _jar_xm_envelope_tick($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$043 = 0, $$lcssa = 0, $$lcssa42 = 0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; + var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0.0, $56 = 0.0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0; + var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $4 = ((($1)) + 48|0); + $5 = HEAP8[$4>>0]|0; + $6 = ($5&255)<(2); + if ($6) { + $7 = ($5<<24>>24)==(1); + if (!($7)) { + return; + } + $8 = ((($1)) + 2|0); + $9 = HEAP16[$8>>1]|0; + $10 = (+($9&65535)); + $11 = $10 * 0.015625; + HEAPF32[$3>>2] = $11; + $12 = $11 > 1.0; + if (!($12)) { + return; + } + HEAPF32[$3>>2] = 1.0; + return; + } + $13 = ((($1)) + 60|0); + $14 = HEAP32[$13>>2]|0; + $15 = ($14|0)==(0); + if (!($15)) { + $16 = ((($1)) + 51|0); + $17 = HEAP8[$16>>0]|0; + $18 = $17&255; + $19 = (($1) + ($18<<2)|0); + $20 = HEAP16[$19>>1]|0; + $21 = HEAP16[$2>>1]|0; + $22 = ($21&65535)<($20&65535); + if (!($22)) { + $23 = $21&65535; + $24 = $20&65535; + $25 = ((($1)) + 50|0); + $26 = HEAP8[$25>>0]|0; + $27 = $26&255; + $28 = (($1) + ($27<<2)|0); + $29 = HEAP16[$28>>1]|0; + $30 = $29&65535; + $31 = (($23) - ($24))|0; + $32 = (($31) + ($30))|0; + $33 = $32&65535; + HEAP16[$2>>1] = $33; + } + } + $34 = HEAP8[$4>>0]|0; + $35 = ($34&255)>(2); + $36 = HEAP16[$2>>1]|0; + L15: do { + if ($35) { + $$043 = 0;$38 = 0;$41 = $36; + while(1) { + $37 = (($1) + ($38<<2)|0); + $39 = HEAP16[$37>>1]|0; + $40 = ($39&65535)>($41&65535); + if (!($40)) { + $42 = (($38) + 1)|0; + $43 = (($1) + ($42<<2)|0); + $44 = HEAP16[$43>>1]|0; + $45 = ($44&65535)<($41&65535); + if (!($45)) { + $$lcssa = $41;$$lcssa42 = $38; + break L15; + } + } + $46 = (($$043) + 1)<<24>>24; + $47 = $46&255; + $48 = HEAP8[$4>>0]|0; + $49 = $48&255; + $50 = (($49) + -2)|0; + $51 = ($47|0)<($50|0); + $52 = HEAP16[$2>>1]|0; + if ($51) { + $$043 = $46;$38 = $47;$41 = $52; + } else { + $$lcssa = $52;$$lcssa42 = $47; + break; + } + } + } else { + $$lcssa = $36;$$lcssa42 = 0; + } + } while(0); + $53 = (($1) + ($$lcssa42<<2)|0); + $54 = ((($53)) + 4|0); + $55 = (+_jar_xm_envelope_lerp($53,$54,$$lcssa)); + $56 = $55 * 0.015625; + HEAPF32[$3>>2] = $56; + $57 = ((($0)) + 52|0); + $58 = HEAP32[$57>>2]|0; + $59 = ($58|0)==(0); + if (!($59)) { + $60 = ((($1)) + 56|0); + $61 = HEAP32[$60>>2]|0; + $62 = ($61|0)==(0); + if (!($62)) { + $63 = HEAP16[$2>>1]|0; + $64 = ((($1)) + 49|0); + $65 = HEAP8[$64>>0]|0; + $66 = $65&255; + $67 = (($1) + ($66<<2)|0); + $68 = HEAP16[$67>>1]|0; + $69 = ($63<<16>>16)==($68<<16>>16); + if ($69) { + return; + } + } + } + $70 = HEAP16[$2>>1]|0; + $71 = (($70) + 1)<<16>>16; + HEAP16[$2>>1] = $71; + return; +} +function _jar_xm_envelope_lerp($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$0 = 0.0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0.0, $18 = 0, $19 = 0.0, $20 = 0.0, $21 = 0, $22 = 0, $23 = 0.0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0.0, $28 = 0.0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $3 = $2&65535; + $4 = HEAP16[$0>>1]|0; + $5 = $4&65535; + $6 = ($4&65535)<($2&65535); + if (!($6)) { + $7 = ((($0)) + 2|0); + $8 = HEAP16[$7>>1]|0; + $9 = (+($8&65535)); + $$0 = $9; + return (+$$0); + } + $10 = HEAP16[$1>>1]|0; + $11 = ($10&65535)>($2&65535); + $12 = ((($1)) + 2|0); + $13 = HEAP16[$12>>1]|0; + if ($11) { + $15 = $10&65535; + $16 = (($3) - ($5))|0; + $17 = (+($16|0)); + $18 = (($15) - ($5))|0; + $19 = (+($18|0)); + $20 = $17 / $19; + $21 = ((($0)) + 2|0); + $22 = HEAP16[$21>>1]|0; + $23 = (+($22&65535)); + $24 = 1.0 - $20; + $25 = $24 * $23; + $26 = (+($13&65535)); + $27 = $26 * $20; + $28 = $27 + $25; + $$0 = $28; + return (+$$0); + } else { + $14 = (+($13&65535)); + $$0 = $14; + return (+$$0); + } + return +(0.0); +} +function _jar_xm_post_pattern_change($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 348|0); + $2 = HEAP8[$1>>0]|0; + $3 = $2&255; + $4 = ((($0)) + 46|0); + $5 = HEAP16[$4>>1]|0; + $6 = $5&65535; + $7 = ($3>>>0)<($6>>>0); + if ($7) { + return; + } + $8 = ((($0)) + 48|0); + $9 = HEAP16[$8>>1]|0; + $10 = $9&255; + HEAP8[$1>>0] = $10; + return; +} +function _jar_xm_create_context_safe($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$0 = 0, $$06364 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; + var $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $vararg_buffer = 0, $vararg_buffer2 = 0, $vararg_buffer6 = 0, $vararg_ptr1 = 0, $vararg_ptr5 = 0, $vararg_ptr9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $vararg_buffer6 = sp + 16|0; + $vararg_buffer2 = sp + 8|0; + $vararg_buffer = sp; + $4 = (_jar_xm_check_sanity_preload($1,$2)|0); + $5 = ($4|0)==(0); + if (!($5)) { + $6 = HEAP32[1263]|0; + HEAP32[$vararg_buffer>>2] = 16486; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $4; + (_fprintf($6,16409,$vararg_buffer)|0); + (_fflush($6)|0); + $$0 = 1; + STACKTOP = sp;return ($$0|0); + } + $7 = (_jar_xm_get_memory_needed_for_context($1,$2)|0); + $8 = (_malloc($7)|0); + $9 = ($8|0)==(0|0); + $10 = ($7|0)!=(0); + $or$cond = $10 & $9; + if ($or$cond) { + $11 = HEAP32[1263]|0; + HEAP32[$vararg_buffer2>>2] = 16486; + $vararg_ptr5 = ((($vararg_buffer2)) + 4|0); + HEAP32[$vararg_ptr5>>2] = $8; + (_fprintf($11,16513,$vararg_buffer2)|0); + (_fflush($11)|0); + $$0 = 2; + STACKTOP = sp;return ($$0|0); + } + _memset(($8|0),0,($7|0))|0; + HEAP32[$0>>2] = $8; + HEAP32[$8>>2] = $8; + $12 = ((($8)) + 392|0); + $13 = ((($8)) + 324|0); + HEAP32[$13>>2] = $3; + $14 = (_jar_xm_load_module($8,$1,$2,$12)|0); + $15 = ((($8)) + 388|0); + HEAP32[$15>>2] = $14; + $16 = ((($8)) + 50|0); + $17 = HEAP16[$16>>1]|0; + $18 = $17&65535; + $19 = ($18*304)|0; + $20 = (($14) + ($19)|0); + $21 = ((($8)) + 332|0); + HEAPF32[$21>>2] = 1.0; + $22 = ((($8)) + 336|0); + HEAPF32[$22>>2] = 0.25; + $23 = ((($8)) + 340|0); + HEAPF32[$23>>2] = 0.0078125; + $24 = ((($8)) + 344|0); + HEAPF32[$24>>2] = 0.0078125; + $25 = HEAP16[$16>>1]|0; + $26 = ($25<<16>>16)==(0); + if (!($26)) { + $27 = HEAP32[$15>>2]|0; + $28 = HEAP16[$16>>1]|0; + $29 = $28&65535; + $$06364 = 0;$34 = 0; + while(1) { + $33 = (((($27) + (($34*304)|0)|0)) + 36|0); + HEAP32[$33>>2] = 1; + $35 = (((($27) + (($34*304)|0)|0)) + 104|0); + HEAP32[$35>>2] = 0; + $36 = (((($27) + (($34*304)|0)|0)) + 108|0); + HEAP32[$36>>2] = 1; + $37 = (((($27) + (($34*304)|0)|0)) + 120|0); + HEAP32[$37>>2] = 0; + $38 = (((($27) + (($34*304)|0)|0)) + 124|0); + HEAP32[$38>>2] = 1; + $39 = (((($27) + (($34*304)|0)|0)) + 56|0); + HEAPF32[$39>>2] = 1.0; + $40 = (((($27) + (($34*304)|0)|0)) + 60|0); + HEAPF32[$40>>2] = 1.0; + $41 = (((($27) + (($34*304)|0)|0)) + 40|0); + HEAPF32[$41>>2] = 1.0; + $42 = (((($27) + (($34*304)|0)|0)) + 64|0); + HEAPF32[$42>>2] = 0.5; + $43 = (((($27) + (($34*304)|0)|0)) + 44|0); + HEAPF32[$43>>2] = 0.5; + $44 = (((($27) + (($34*304)|0)|0)) + 300|0); + HEAPF32[$44>>2] = 0.0; + $45 = (((($27) + (($34*304)|0)|0)) + 296|0); + HEAPF32[$45>>2] = 0.5; + $46 = (($$06364) + 1)<<24>>24; + $47 = $46&255; + $48 = ($47>>>0)<($29>>>0); + if ($48) { + $$06364 = $46;$34 = $47; + } else { + break; + } + } + } + $30 = ((($8)) + 380|0); + HEAP32[$30>>2] = $20; + $31 = (_jar_xm_check_sanity_postload($8)|0); + $32 = ($31|0)==(0); + if ($32) { + $$0 = 0; + STACKTOP = sp;return ($$0|0); + } + $49 = HEAP32[1263]|0; + HEAP32[$vararg_buffer6>>2] = 16486; + $vararg_ptr9 = ((($vararg_buffer6)) + 4|0); + HEAP32[$vararg_ptr9>>2] = $31; + (_fprintf($49,16557,$vararg_buffer6)|0); + (_fflush($49)|0); + _jar_xm_free_context($8); + $$0 = 1; + STACKTOP = sp;return ($$0|0); +} +function _jar_xm_check_sanity_preload($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$ = 0, $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ($1>>>0)<(60); + if ($2) { + $$0 = 4; + return ($$0|0); + } + $3 = (_memcmp(16774,$0,17)|0); + $4 = ($3|0)==(0); + if (!($4)) { + $$0 = 1; + return ($$0|0); + } + $5 = ((($0)) + 37|0); + $6 = HEAP8[$5>>0]|0; + $7 = ($6<<24>>24)==(26); + if (!($7)) { + $$0 = 2; + return ($$0|0); + } + $8 = ((($0)) + 59|0); + $9 = HEAP8[$8>>0]|0; + $10 = ($9<<24>>24)==(1); + if ($10) { + $11 = ((($0)) + 58|0); + $12 = HEAP8[$11>>0]|0; + $13 = ($12<<24>>24)==(4); + $$ = $13 ? 0 : 3; + return ($$|0); + } else { + $$0 = 3; + return ($$0|0); + } + return (0)|0; +} +function _jar_xm_get_memory_needed_for_context($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0$lcssa = 0, $$0209$lcssa = 0, $$0209274 = 0, $$0212262 = 0, $$0213$lcssa = 0, $$0213261 = 0, $$0214 = 0, $$0215267 = 0, $$0216273 = 0, $$0275 = 0, $$1$lcssa = 0, $$1210268 = 0, $$1269 = 0, $$2$lcssa = 0, $$2211$lcssa = 0, $$2211263 = 0, $$2264 = 0, $$3 = 0, $$ph = 0, $$ph228 = 0; + var $$ph233 = 0, $$ph234 = 0, $$ph237 = 0, $$ph238 = 0, $$ph239 = 0, $$ph240 = 0, $$ph241 = 0, $$ph242 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0; + var $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0; + var $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0; + var $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0; + var $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0; + var $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0; + var $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0; + var $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0; + var $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0; + var $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0; + var $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $3 = 0; + var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0; + var $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0; + var $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0; + var $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $phitmp = 0, $phitmp294 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ($1>>>0)>(68); + $3 = ($1>>>0)>(69); + if ($2) { + $4 = ((($0)) + 68|0); + $5 = HEAP8[$4>>0]|0; + $6 = $5&255; + $12 = $6; + } else { + $12 = 0; + } + do { + if ($3) { + $7 = ((($0)) + 69|0); + $8 = HEAP8[$7>>0]|0; + $9 = $8&255; + $10 = $9 << 8; + $11 = $10 | $12; + $13 = ($1|0)==(70); + do { + if ($13) { + $$ph = 0;$$ph233 = 0;$$ph234 = 0; + } else { + $14 = ((($0)) + 70|0); + $15 = HEAP8[$14>>0]|0; + $16 = $15&255; + $17 = ($1>>>0)>(71); + if (!($17)) { + $18 = $16 << 3; + $$ph = $18;$$ph233 = 0;$$ph234 = $16; + break; + } + $19 = ((($0)) + 71|0); + $20 = HEAP8[$19>>0]|0; + $21 = $20&255; + $22 = $21 << 8; + $23 = $22 | $16; + $24 = $23 << 3; + $25 = ($1|0)==(72); + if ($25) { + $$ph = $24;$$ph233 = 0;$$ph234 = $23; + } else { + $26 = ((($0)) + 72|0); + $27 = HEAP8[$26>>0]|0; + $28 = $27&255; + $29 = ($1>>>0)>(73); + if ($29) { + $30 = ((($0)) + 73|0); + $31 = HEAP8[$30>>0]|0; + $32 = $31&255; + $phitmp294 = $32 << 8; + $$ph228 = $phitmp294; + } else { + $$ph228 = 0; + } + $33 = $$ph228 | $28; + $34 = ($33*280)|0; + $35 = (($34) + ($24))|0; + $$ph = $35;$$ph233 = $33;$$ph234 = $23; + } + } + } while(0); + $37 = ((($0)) + 64|0); + $38 = HEAP8[$37>>0]|0; + $39 = $38&255; + $284 = $39;$285 = $11;$286 = $$ph234;$287 = $$ph233;$288 = $$ph; + label = 14; + } else { + $36 = ($1>>>0)>(64); + if ($36) { + $40 = ((($0)) + 64|0); + $41 = HEAP8[$40>>0]|0; + $42 = $41&255; + $43 = ($1|0)==(65); + if ($43) { + $$ph237 = $42;$$ph238 = $12;$$ph239 = 0;$$ph240 = 0;$$ph241 = 0;$$ph242 = 0; + label = 15; + break; + } else { + $284 = $42;$285 = $12;$286 = 0;$287 = 0;$288 = 0; + label = 14; + break; + } + } + $61 = ($1>>>0)>(62); + if (!($61)) { + $$1$lcssa = 0;$155 = $12; + $154 = ($155*304)|0; + $156 = (($154) + 392)|0; + $157 = (($156) + ($$1$lcssa))|0; + return ($157|0); + } + $62 = ((($0)) + 61|0); + $63 = HEAP8[$62>>0]|0; + $64 = $63&255; + $65 = $64 << 8; + $66 = ((($0)) + 60|0); + $67 = HEAP8[$66>>0]|0; + $68 = $67&255; + $69 = $65 | $68; + $70 = ((($0)) + 62|0); + $71 = HEAP8[$70>>0]|0; + $72 = $71&255; + $73 = ($1|0)==(63); + if ($73) { + $$1$lcssa = 0;$155 = $12; + $154 = ($155*304)|0; + $156 = (($154) + 392)|0; + $157 = (($156) + ($$1$lcssa))|0; + return ($157|0); + } else { + $289 = 0;$79 = $72;$82 = $69;$85 = 0;$87 = $12;$89 = 0; + } + } + } while(0); + if ((label|0) == 14) { + $44 = ((($0)) + 65|0); + $45 = HEAP8[$44>>0]|0; + $46 = $45&255; + $phitmp = $46 << 8; + $$ph237 = $284;$$ph238 = $285;$$ph239 = $286;$$ph240 = $287;$$ph241 = $288;$$ph242 = $phitmp; + label = 15; + } + if ((label|0) == 15) { + $47 = $$ph242 | $$ph237; + $48 = $47 << 8; + $49 = (($48) + ($$ph241))|0; + $50 = ((($0)) + 60|0); + $51 = HEAP8[$50>>0]|0; + $52 = $51&255; + $53 = ((($0)) + 61|0); + $54 = HEAP8[$53>>0]|0; + $55 = $54&255; + $56 = $55 << 8; + $57 = $56 | $52; + $58 = ((($0)) + 62|0); + $59 = HEAP8[$58>>0]|0; + $60 = $59&255; + $289 = $49;$79 = $60;$82 = $57;$85 = $$ph239;$87 = $$ph238;$89 = $$ph240; + } + $74 = ((($0)) + 63|0); + $75 = HEAP8[$74>>0]|0; + $76 = $75&255; + $77 = $76 << 8; + $78 = $77 | $79; + $80 = $78 << 16; + $81 = $80 | $82; + $83 = (($81) + 60)|0; + $84 = ($85|0)==(0); + if ($84) { + $$0$lcssa = $289;$$0209$lcssa = $83; + } else { + $86 = ($87*5)|0; + $$0209274 = $83;$$0216273 = 0;$$0275 = $289; + while(1) { + $90 = (($$0209274) + 5)|0; + $91 = ($90>>>0)<($1>>>0); + if ($91) { + $92 = (($0) + ($90)|0); + $93 = HEAP8[$92>>0]|0; + $94 = $93&255; + $103 = $94; + } else { + $103 = 0; + } + $95 = (($$0209274) + 6)|0; + $96 = ($95>>>0)<($1>>>0); + if ($96) { + $97 = (($0) + ($95)|0); + $98 = HEAP8[$97>>0]|0; + $99 = $98&255; + $101 = $99; + } else { + $101 = 0; + } + $100 = $101 << 8; + $102 = $100 | $103; + $104 = Math_imul($86, $102)|0; + $105 = (($104) + ($$0275))|0; + $106 = ($$0209274>>>0)<($1>>>0); + if ($106) { + $107 = (($0) + ($$0209274)|0); + $108 = HEAP8[$107>>0]|0; + $109 = $108&255; + $118 = $109; + } else { + $118 = 0; + } + $110 = (($$0209274) + 1)|0; + $111 = ($110>>>0)<($1>>>0); + if ($111) { + $112 = (($0) + ($110)|0); + $113 = HEAP8[$112>>0]|0; + $114 = $113&255; + $116 = $114; + } else { + $116 = 0; + } + $115 = $116 << 8; + $117 = $115 | $118; + $119 = (($$0209274) + 2)|0; + $120 = ($119>>>0)<($1>>>0); + if ($120) { + $121 = (($0) + ($119)|0); + $122 = HEAP8[$121>>0]|0; + $123 = $122&255; + $132 = $123; + } else { + $132 = 0; + } + $124 = (($$0209274) + 3)|0; + $125 = ($124>>>0)<($1>>>0); + if ($125) { + $126 = (($0) + ($124)|0); + $127 = HEAP8[$126>>0]|0; + $128 = $127&255; + $130 = $128; + } else { + $130 = 0; + } + $129 = $130 << 8; + $131 = $129 | $132; + $133 = $131 << 16; + $134 = $117 | $133; + $135 = (($$0209274) + 7)|0; + $136 = ($135>>>0)<($1>>>0); + if ($136) { + $137 = (($0) + ($135)|0); + $138 = HEAP8[$137>>0]|0; + $139 = $138&255; + $148 = $139; + } else { + $148 = 0; + } + $140 = (($$0209274) + 8)|0; + $141 = ($140>>>0)<($1>>>0); + if ($141) { + $142 = (($0) + ($140)|0); + $143 = HEAP8[$142>>0]|0; + $144 = $143&255; + $146 = $144; + } else { + $146 = 0; + } + $145 = $146 << 8; + $147 = $145 | $148; + $149 = (($134) + ($$0209274))|0; + $150 = (($149) + ($147))|0; + $151 = (($$0216273) + 1)<<16>>16; + $152 = $151&65535; + $153 = ($152>>>0)<($85>>>0); + if ($153) { + $$0209274 = $150;$$0216273 = $151;$$0275 = $105; + } else { + $$0$lcssa = $105;$$0209$lcssa = $150; + break; + } + } + } + $88 = ($89|0)==(0); + if ($88) { + $$1$lcssa = $$0$lcssa;$155 = $87; + $154 = ($155*304)|0; + $156 = (($154) + 392)|0; + $157 = (($156) + ($$1$lcssa))|0; + return ($157|0); + } else { + $$0215267 = 0;$$1210268 = $$0209$lcssa;$$1269 = $$0$lcssa; + } + while(1) { + $158 = (($$1210268) + 27)|0; + $159 = ($158>>>0)<($1>>>0); + if ($159) { + $160 = (($0) + ($158)|0); + $161 = HEAP8[$160>>0]|0; + $162 = $161&255; + $171 = $162; + } else { + $171 = 0; + } + $163 = (($$1210268) + 28)|0; + $164 = ($163>>>0)<($1>>>0); + if ($164) { + $165 = (($0) + ($163)|0); + $166 = HEAP8[$165>>0]|0; + $167 = $166&255; + $169 = $167; + } else { + $169 = 0; + } + $168 = $169 << 8; + $170 = $168 | $171; + $172 = ($170*80)|0; + $173 = (($172) + ($$1269))|0; + $174 = ($170|0)==(0); + if ($174) { + $$0214 = 0; + } else { + $175 = (($$1210268) + 29)|0; + $176 = ($175>>>0)<($1>>>0); + if ($176) { + $177 = (($0) + ($175)|0); + $178 = HEAP8[$177>>0]|0; + $179 = $178&255; + $188 = $179; + } else { + $188 = 0; + } + $180 = (($$1210268) + 30)|0; + $181 = ($180>>>0)<($1>>>0); + if ($181) { + $182 = (($0) + ($180)|0); + $183 = HEAP8[$182>>0]|0; + $184 = $183&255; + $186 = $184; + } else { + $186 = 0; + } + $185 = $186 << 8; + $187 = $185 | $188; + $189 = (($$1210268) + 31)|0; + $190 = ($189>>>0)<($1>>>0); + if ($190) { + $191 = (($0) + ($189)|0); + $192 = HEAP8[$191>>0]|0; + $193 = $192&255; + $202 = $193; + } else { + $202 = 0; + } + $194 = (($$1210268) + 32)|0; + $195 = ($194>>>0)<($1>>>0); + if ($195) { + $196 = (($0) + ($194)|0); + $197 = HEAP8[$196>>0]|0; + $198 = $197&255; + $200 = $198; + } else { + $200 = 0; + } + $199 = $200 << 8; + $201 = $199 | $202; + $203 = $201 << 16; + $204 = $187 | $203; + $$0214 = $204; + } + $205 = ($$1210268>>>0)<($1>>>0); + if ($205) { + $206 = (($0) + ($$1210268)|0); + $207 = HEAP8[$206>>0]|0; + $208 = $207&255; + $217 = $208; + } else { + $217 = 0; + } + $209 = (($$1210268) + 1)|0; + $210 = ($209>>>0)<($1>>>0); + if ($210) { + $211 = (($0) + ($209)|0); + $212 = HEAP8[$211>>0]|0; + $213 = $212&255; + $215 = $213; + } else { + $215 = 0; + } + $214 = $215 << 8; + $216 = $214 | $217; + $218 = (($$1210268) + 2)|0; + $219 = ($218>>>0)<($1>>>0); + if ($219) { + $220 = (($0) + ($218)|0); + $221 = HEAP8[$220>>0]|0; + $222 = $221&255; + $231 = $222; + } else { + $231 = 0; + } + $223 = (($$1210268) + 3)|0; + $224 = ($223>>>0)<($1>>>0); + if ($224) { + $225 = (($0) + ($223)|0); + $226 = HEAP8[$225>>0]|0; + $227 = $226&255; + $229 = $227; + } else { + $229 = 0; + } + $228 = $229 << 8; + $230 = $228 | $231; + $232 = $230 << 16; + $233 = $216 | $232; + $234 = (($233) + ($$1210268))|0; + $235 = ($170|0)==(0); + if ($235) { + $$0213$lcssa = 0;$$2$lcssa = $173;$$2211$lcssa = $234; + } else { + $$0212262 = 0;$$0213261 = 0;$$2211263 = $234;$$2264 = $173; + while(1) { + $240 = ($$2211263>>>0)<($1>>>0); + if ($240) { + $241 = (($0) + ($$2211263)|0); + $242 = HEAP8[$241>>0]|0; + $243 = $242&255; + $252 = $243; + } else { + $252 = 0; + } + $244 = (($$2211263) + 1)|0; + $245 = ($244>>>0)<($1>>>0); + if ($245) { + $246 = (($0) + ($244)|0); + $247 = HEAP8[$246>>0]|0; + $248 = $247&255; + $250 = $248; + } else { + $250 = 0; + } + $249 = $250 << 8; + $251 = $249 | $252; + $253 = (($$2211263) + 2)|0; + $254 = ($253>>>0)<($1>>>0); + if ($254) { + $255 = (($0) + ($253)|0); + $256 = HEAP8[$255>>0]|0; + $257 = $256&255; + $266 = $257; + } else { + $266 = 0; + } + $258 = (($$2211263) + 3)|0; + $259 = ($258>>>0)<($1>>>0); + if ($259) { + $260 = (($0) + ($258)|0); + $261 = HEAP8[$260>>0]|0; + $262 = $261&255; + $264 = $262; + } else { + $264 = 0; + } + $263 = $264 << 8; + $265 = $263 | $266; + $267 = $265 << 16; + $268 = $251 | $267; + $269 = (($$2211263) + 14)|0; + $270 = ($269>>>0)<($1>>>0); + if ($270) { + $271 = (($0) + ($269)|0); + $272 = HEAP8[$271>>0]|0; + $273 = $272&255; + $276 = $273; + } else { + $276 = 0; + } + $274 = (($268) + ($$0213261))|0; + $275 = $276 >>> 4; + $277 = $275 & 1; + $278 = (2 - ($277))|0; + $279 = $268 << $278; + $$3 = (($279) + ($$2264))|0; + $280 = (($$2211263) + ($$0214))|0; + $281 = (($$0212262) + 1)<<16>>16; + $282 = $281&65535; + $283 = ($282>>>0)<($170>>>0); + if ($283) { + $$0212262 = $281;$$0213261 = $274;$$2211263 = $280;$$2264 = $$3; + } else { + $$0213$lcssa = $274;$$2$lcssa = $$3;$$2211$lcssa = $280; + break; + } + } + } + $236 = (($$2211$lcssa) + ($$0213$lcssa))|0; + $237 = (($$0215267) + 1)<<16>>16; + $238 = $237&65535; + $239 = ($238>>>0)<($89>>>0); + if ($239) { + $$0215267 = $237;$$1210268 = $236;$$1269 = $$2$lcssa; + } else { + $$1$lcssa = $$2$lcssa;$155 = $87; + break; + } + } + $154 = ($155*304)|0; + $156 = (($154) + 392)|0; + $157 = (($156) + ($$1$lcssa))|0; + return ($157|0); +} +function _jar_xm_load_module($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$0668761 = 0, $$0669766 = 0, $$0670765 = 0, $$0671$lcssa = 0, $$0671787 = 0, $$0672$lcssa = 0, $$0672786 = 0, $$0677769 = 0, $$0678785 = 0, $$0679755 = 0, $$0680753 = 0, $$0681752 = 0, $$0682783 = 0, $$0687 = 0, $$0688776 = 0, $$0689782 = 0, $$0762 = 0, $$1$lcssa = 0, $$1673777 = 0, $$1683 = 0; + var $$1778 = 0, $$2 = 0, $$2674756 = 0, $$2684 = 0, $$3$lcssa794 = 0, $$3675$lcssa = 0, $$3675770 = 0, $$3685 = 0, $$3757 = 0, $$4 = 0, $$4676 = 0, $$4686 = 0, $$5 = 0, $$ph700 = 0, $$ph701 = 0, $$ph707 = 0, $$ph708 = 0, $$ph714 = 0, $$ph715 = 0, $$ph721 = 0; + var $$ph722 = 0, $$ph729 = 0, $$ph730 = 0, $$ph731 = 0, $$ph740 = 0, $$pn = 0, $$pn693 = 0, $$pr = 0, $$sink = 0, $$sink694 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0; + var $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0; + var $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0; + var $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0; + var $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0; + var $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0; + var $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0; + var $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0; + var $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0; + var $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0; + var $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0; + var $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0; + var $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0; + var $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0; + var $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0; + var $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0; + var $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0; + var $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0; + var $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0; + var $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0; + var $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0; + var $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0; + var $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0; + var $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0; + var $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0, $531 = 0, $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0; + var $543 = 0, $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0, $549 = 0, $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0, $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0; + var $561 = 0, $562 = 0, $563 = 0, $564 = 0, $565 = 0, $566 = 0, $567 = 0, $568 = 0, $569 = 0, $57 = 0, $570 = 0, $571 = 0, $572 = 0, $573 = 0, $574 = 0, $575 = 0, $576 = 0, $577 = 0, $578 = 0, $579 = 0; + var $58 = 0, $580 = 0, $581 = 0, $582 = 0, $583 = 0, $584 = 0, $585 = 0, $586 = 0, $587 = 0, $588 = 0, $589 = 0, $59 = 0, $590 = 0, $591 = 0, $592 = 0, $593 = 0, $594 = 0, $595 = 0, $596 = 0, $597 = 0; + var $598 = 0, $599 = 0, $6 = 0, $60 = 0, $600 = 0, $601 = 0, $602 = 0, $603 = 0, $604 = 0, $605 = 0, $606 = 0, $607 = 0, $608 = 0, $609 = 0, $61 = 0, $610 = 0, $611 = 0, $612 = 0, $613 = 0, $614 = 0; + var $615 = 0, $616 = 0, $617 = 0, $618 = 0, $619 = 0, $62 = 0, $620 = 0, $621 = 0, $622 = 0, $623 = 0, $624 = 0, $625 = 0, $626 = 0, $627 = 0, $628 = 0, $629 = 0, $63 = 0, $630 = 0, $631 = 0, $632 = 0; + var $633 = 0, $634 = 0, $635 = 0, $636 = 0, $637 = 0, $638 = 0, $639 = 0, $64 = 0, $640 = 0, $641 = 0, $642 = 0, $643 = 0, $644 = 0, $645 = 0, $646 = 0, $647 = 0, $648 = 0, $649 = 0, $65 = 0, $650 = 0; + var $651 = 0, $652 = 0, $653 = 0, $654 = 0, $655 = 0, $656 = 0, $657 = 0, $658 = 0, $659 = 0, $66 = 0, $660 = 0, $661 = 0, $662 = 0, $663 = 0, $664 = 0, $665 = 0, $666 = 0, $667 = 0, $668 = 0, $669 = 0; + var $67 = 0, $670 = 0, $671 = 0, $672 = 0, $673 = 0, $674 = 0, $675 = 0, $676 = 0, $677 = 0, $678 = 0, $679 = 0, $68 = 0, $680 = 0, $681 = 0, $682 = 0, $683 = 0, $684 = 0, $685 = 0, $686 = 0, $687 = 0; + var $688 = 0, $689 = 0, $69 = 0, $690 = 0, $691 = 0, $692 = 0, $693 = 0, $694 = 0, $695 = 0, $696 = 0, $697 = 0, $698 = 0, $699 = 0, $7 = 0, $70 = 0, $700 = 0, $701 = 0, $702 = 0, $703 = 0, $704 = 0; + var $705 = 0, $706 = 0, $707 = 0, $708 = 0, $709 = 0, $71 = 0, $710 = 0, $711 = 0, $712 = 0, $713 = 0, $714 = 0, $715 = 0, $716 = 0, $717 = 0, $718 = 0, $719 = 0, $72 = 0, $720 = 0, $721 = 0, $722 = 0; + var $723 = 0, $724 = 0, $725 = 0, $726 = 0, $727 = 0, $728 = 0, $729 = 0, $73 = 0, $730 = 0, $731 = 0, $732 = 0, $733 = 0, $734 = 0, $735 = 0, $736 = 0, $737 = 0, $738 = 0, $739 = 0, $74 = 0, $740 = 0; + var $741 = 0, $742 = 0, $743 = 0, $744 = 0, $745 = 0, $746 = 0, $747 = 0, $748 = 0, $749 = 0, $75 = 0, $750 = 0, $751 = 0, $752 = 0, $753 = 0, $754 = 0, $755 = 0, $756 = 0, $757 = 0, $758 = 0, $759 = 0; + var $76 = 0, $760 = 0, $761 = 0, $762 = 0, $763 = 0, $764 = 0, $765 = 0, $766 = 0, $767 = 0, $768 = 0.0, $769 = 0, $77 = 0, $770 = 0.0, $771 = 0, $772 = 0, $773 = 0, $774 = 0, $775 = 0, $776 = 0, $777 = 0; + var $778 = 0, $779 = 0, $78 = 0, $780 = 0, $781 = 0, $782 = 0, $783 = 0, $784 = 0, $785 = 0, $786 = 0, $787 = 0, $788 = 0, $789 = 0, $79 = 0, $790 = 0, $791 = 0, $792 = 0, $793 = 0, $794 = 0, $795 = 0; + var $796 = 0, $797 = 0, $798 = 0, $799 = 0, $8 = 0, $80 = 0, $800 = 0, $801 = 0.0, $802 = 0, $803 = 0.0, $804 = 0, $805 = 0, $806 = 0, $807 = 0, $808 = 0, $809 = 0, $81 = 0, $810 = 0, $811 = 0, $812 = 0; + var $813 = 0, $814 = 0, $815 = 0, $816 = 0, $817 = 0, $818 = 0, $819 = 0, $82 = 0, $820 = 0, $821 = 0, $822 = 0, $823 = 0, $824 = 0, $825 = 0, $826 = 0, $827 = 0, $828 = 0, $829 = 0, $83 = 0, $830 = 0; + var $831 = 0, $832 = 0, $833 = 0, $834 = 0, $835 = 0, $836 = 0, $837 = 0, $838 = 0, $839 = 0, $84 = 0, $840 = 0, $841 = 0, $842 = 0, $843 = 0, $844 = 0, $845 = 0, $846 = 0, $847 = 0, $848 = 0, $849 = 0; + var $85 = 0, $850 = 0, $851 = 0, $852 = 0, $853 = 0, $854 = 0, $855 = 0, $856 = 0, $857 = 0, $858 = 0, $859 = 0, $86 = 0, $860 = 0, $861 = 0, $862 = 0, $863 = 0, $864 = 0, $865 = 0.0, $866 = 0.0, $867 = 0; + var $868 = 0, $869 = 0, $87 = 0, $870 = 0, $871 = 0, $872 = 0, $873 = 0, $874 = 0, $875 = 0, $876 = 0, $877 = 0, $878 = 0, $879 = 0, $88 = 0, $880 = 0, $881 = 0.0, $882 = 0.0, $883 = 0, $884 = 0, $885 = 0; + var $886 = 0, $887 = 0, $888 = 0, $889 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond = 0, $exitcond793 = 0, $phitmp = 0, $phitmp804 = 0; + var $sext = 0, $sext690 = 0, $sext691 = 0, $sext692 = 0, label = 0, sp = 0; + sp = STACKTOP; + $4 = ((($0)) + 4|0); + _memcpy_pad($4,20,$1,$2,17); + $5 = ((($0)) + 25|0); + _memcpy_pad($5,20,$1,$2,38); + $6 = ($2>>>0)>(60); + if ($6) { + $7 = ((($1)) + 60|0); + $8 = HEAP8[$7>>0]|0; + $9 = $8&255; + $10 = ($2|0)==(61); + if ($10) { + $$ph700 = 0;$$ph701 = $9; + label = 5; + } else { + $11 = ((($1)) + 61|0); + $12 = HEAP8[$11>>0]|0; + $13 = $12&255; + $14 = $13 << 8; + $15 = $14 | $9; + $16 = ($2>>>0)>(62); + if ($16) { + $17 = ((($1)) + 62|0); + $18 = HEAP8[$17>>0]|0; + $19 = $18&255; + $20 = ($2|0)==(63); + if ($20) { + $$ph700 = $19;$$ph701 = $15; + label = 5; + } else { + $23 = ((($1)) + 63|0); + $24 = HEAP8[$23>>0]|0; + $25 = $24&255; + $26 = $25 << 8; + $27 = $26 | $19; + $28 = $27 << 16; + $29 = $28 | $15; + $30 = ($2>>>0)>(64); + if ($30) { + $31 = ((($1)) + 64|0); + $32 = HEAP8[$31>>0]|0; + $33 = $32&255; + $34 = ($2|0)==(65); + if ($34) { + $$ph707 = $33;$$ph708 = $29; + label = 8; + } else { + $37 = ((($1)) + 65|0); + $38 = HEAP8[$37>>0]|0; + $39 = $38&255; + $40 = $39 << 8; + $41 = $40 | $33; + $42 = $41&65535; + $43 = ((($0)) + 46|0); + HEAP16[$43>>1] = $42; + $44 = ($2>>>0)>(66); + if ($44) { + $45 = ((($1)) + 66|0); + $46 = HEAP8[$45>>0]|0; + $47 = $46&255; + $48 = ($2|0)==(67); + if ($48) { + $$ph714 = $47;$$ph715 = $29; + label = 11; + } else { + $51 = ((($1)) + 67|0); + $52 = HEAP8[$51>>0]|0; + $53 = $52&255; + $54 = $53 << 8; + $55 = $54 | $47; + $56 = $55&65535; + $57 = ((($0)) + 48|0); + HEAP16[$57>>1] = $56; + $58 = ($2>>>0)>(68); + if ($58) { + $59 = ((($1)) + 68|0); + $60 = HEAP8[$59>>0]|0; + $61 = $60&255; + $62 = ($2|0)==(69); + if ($62) { + $$ph721 = $61;$$ph722 = $29; + label = 14; + } else { + $65 = ((($1)) + 69|0); + $66 = HEAP8[$65>>0]|0; + $67 = $66&255; + $68 = $67 << 8; + $69 = $68 | $61; + $70 = $69&65535; + $71 = ((($0)) + 50|0); + HEAP16[$71>>1] = $70; + $72 = ($2>>>0)>(70); + if ($72) { + $73 = ((($1)) + 70|0); + $74 = HEAP8[$73>>0]|0; + $75 = $74&255; + $76 = ($2|0)==(71); + if ($76) { + $$ph729 = $75;$$ph730 = $29;$$ph731 = $71; + label = 17; + } else { + $79 = ((($1)) + 71|0); + $80 = HEAP8[$79>>0]|0; + $81 = $80&255; + $82 = $81 << 8; + $83 = $82 | $75; + $84 = $83&65535; + $85 = ((($0)) + 52|0); + HEAP16[$85>>1] = $84; + $86 = ($2>>>0)>(72); + if ($86) { + $87 = ((($1)) + 72|0); + $88 = HEAP8[$87>>0]|0; + $89 = $88&255; + $90 = ($2|0)==(73); + if ($90) { + $101 = $85;$147 = $29;$186 = $71;$95 = 0;$96 = $89; + } else { + $91 = ((($1)) + 73|0); + $92 = HEAP8[$91>>0]|0; + $93 = $92&255; + $phitmp = $93 << 8; + $101 = $85;$147 = $29;$186 = $71;$95 = $phitmp;$96 = $89; + } + } else { + $101 = $85;$147 = $29;$186 = $71;$95 = 0;$96 = 0; + } + } + } else { + $$ph729 = 0;$$ph730 = $29;$$ph731 = $71; + label = 17; + } + } + } else { + $$ph721 = 0;$$ph722 = $29; + label = 14; + } + } + } else { + $$ph714 = 0;$$ph715 = $29; + label = 11; + } + } + } else { + $$ph707 = 0;$$ph708 = $29; + label = 8; + } + } + } else { + $$ph700 = 0;$$ph701 = $15; + label = 5; + } + } + } else { + $$ph700 = 0;$$ph701 = 0; + label = 5; + } + if ((label|0) == 5) { + $21 = $$ph700 << 16; + $22 = $$ph701 | $21; + $$ph707 = 0;$$ph708 = $22; + label = 8; + } + if ((label|0) == 8) { + $35 = $$ph707&65535; + $36 = ((($0)) + 46|0); + HEAP16[$36>>1] = $35; + $$ph714 = 0;$$ph715 = $$ph708; + label = 11; + } + if ((label|0) == 11) { + $49 = $$ph714&65535; + $50 = ((($0)) + 48|0); + HEAP16[$50>>1] = $49; + $$ph721 = 0;$$ph722 = $$ph715; + label = 14; + } + if ((label|0) == 14) { + $63 = $$ph721&65535; + $64 = ((($0)) + 50|0); + HEAP16[$64>>1] = $63; + $$ph729 = 0;$$ph730 = $$ph722;$$ph731 = $64; + label = 17; + } + if ((label|0) == 17) { + $77 = $$ph729&65535; + $78 = ((($0)) + 52|0); + HEAP16[$78>>1] = $77; + $101 = $78;$147 = $$ph730;$186 = $$ph731;$95 = 0;$96 = 0; + } + $94 = $95 | $96; + $97 = $94&65535; + $98 = ((($0)) + 54|0); + HEAP16[$98>>1] = $97; + $99 = ((($0)) + 316|0); + HEAP32[$99>>2] = $3; + $100 = HEAP16[$101>>1]|0; + $102 = $100&65535; + $103 = $102 << 3; + $104 = (($3) + ($103)|0); + $105 = ((($0)) + 320|0); + HEAP32[$105>>2] = $104; + $106 = HEAP16[$98>>1]|0; + $107 = $106&65535; + $108 = ($107*280)|0; + $109 = (($104) + ($108)|0); + $110 = ($2>>>0)>(74); + if ($110) { + $112 = ((($1)) + 74|0); + $113 = HEAP8[$112>>0]|0; + $114 = ($2>>>0)>(76); + $115 = $113 & 1; + $116 = $115 ^ 1; + $117 = $116&255; + $118 = ((($0)) + 56|0); + HEAP32[$118>>2] = $117; + if ($114) { + $119 = ($2|0)==(77); + $120 = ((($1)) + 76|0); + $121 = HEAP8[$120>>0]|0; + $122 = $121&255; + if ($119) { + $$ph740 = $122; + label = 25; + } else { + $125 = ((($1)) + 77|0); + $126 = HEAP8[$125>>0]|0; + $127 = $126&255; + $128 = $127 << 8; + $129 = $128 | $122; + $130 = $129&65535; + $131 = ((($0)) + 328|0); + HEAP16[$131>>1] = $130; + $132 = ($2>>>0)>(78); + if ($132) { + $133 = ((($1)) + 78|0); + $134 = HEAP8[$133>>0]|0; + $135 = $134&255; + $136 = ($2|0)==(79); + if ($136) { + $141 = 0;$142 = $135; + } else { + $137 = ((($1)) + 79|0); + $138 = HEAP8[$137>>0]|0; + $139 = $138&255; + $phitmp804 = $139 << 8; + $141 = $phitmp804;$142 = $135; + } + } else { + $141 = 0;$142 = 0; + } + } + } else { + $$ph740 = 0; + label = 25; + } + } else { + $111 = ((($0)) + 56|0); + HEAP32[$111>>2] = 1; + $$ph740 = 0; + label = 25; + } + if ((label|0) == 25) { + $123 = $$ph740&65535; + $124 = ((($0)) + 328|0); + HEAP16[$124>>1] = $123; + $141 = 0;$142 = 0; + } + $140 = $141 | $142; + $143 = $140&65535; + $144 = ((($0)) + 330|0); + HEAP16[$144>>1] = $143; + $145 = ((($0)) + 60|0); + _memcpy_pad($145,256,$1,$2,80); + $146 = (($147) + 60)|0; + $148 = HEAP16[$101>>1]|0; + $149 = ($148<<16>>16)==(0); + if ($149) { + $$0671$lcssa = $109;$$0672$lcssa = $146; + } else { + $$0671787 = $109;$$0672786 = $146;$$0678785 = 0;$183 = 0; + while(1) { + $152 = (($$0672786) + 7)|0; + $153 = ($152>>>0)<($2>>>0); + if ($153) { + $154 = (($1) + ($152)|0); + $155 = HEAP8[$154>>0]|0; + $156 = $155&255; + $165 = $156; + } else { + $165 = 0; + } + $157 = (($$0672786) + 8)|0; + $158 = ($157>>>0)<($2>>>0); + if ($158) { + $159 = (($1) + ($157)|0); + $160 = HEAP8[$159>>0]|0; + $161 = $160&255; + $163 = $161; + } else { + $163 = 0; + } + $162 = $163 << 8; + $164 = $162 | $165; + $166 = HEAP32[$99>>2]|0; + $167 = (($$0672786) + 5)|0; + $168 = ($167>>>0)<($2>>>0); + if ($168) { + $169 = (($1) + ($167)|0); + $170 = HEAP8[$169>>0]|0; + $171 = $170&255; + $180 = $171; + } else { + $180 = 0; + } + $172 = (($$0672786) + 6)|0; + $173 = ($172>>>0)<($2>>>0); + if ($173) { + $174 = (($1) + ($172)|0); + $175 = HEAP8[$174>>0]|0; + $176 = $175&255; + $178 = $176; + } else { + $178 = 0; + } + $177 = $178 << 8; + $179 = $177 | $180; + $181 = $179&65535; + $182 = (($166) + ($183<<3)|0); + HEAP16[$182>>1] = $181; + $184 = (((($166) + ($183<<3)|0)) + 4|0); + HEAP32[$184>>2] = $$0671787; + $185 = HEAP16[$186>>1]|0; + $187 = $185&65535; + $188 = ($179*5)|0; + $189 = Math_imul($188, $187)|0; + $190 = (($$0671787) + ($189)|0); + $191 = ($$0672786>>>0)<($2>>>0); + if ($191) { + $192 = (($1) + ($$0672786)|0); + $193 = HEAP8[$192>>0]|0; + $194 = $193&255; + $203 = $194; + } else { + $203 = 0; + } + $195 = (($$0672786) + 1)|0; + $196 = ($195>>>0)<($2>>>0); + if ($196) { + $197 = (($1) + ($195)|0); + $198 = HEAP8[$197>>0]|0; + $199 = $198&255; + $201 = $199; + } else { + $201 = 0; + } + $200 = $201 << 8; + $202 = $200 | $203; + $204 = (($$0672786) + 2)|0; + $205 = ($204>>>0)<($2>>>0); + if ($205) { + $206 = (($1) + ($204)|0); + $207 = HEAP8[$206>>0]|0; + $208 = $207&255; + $217 = $208; + } else { + $217 = 0; + } + $209 = (($$0672786) + 3)|0; + $210 = ($209>>>0)<($2>>>0); + if ($210) { + $211 = (($1) + ($209)|0); + $212 = HEAP8[$211>>0]|0; + $213 = $212&255; + $215 = $213; + } else { + $215 = 0; + } + $214 = $215 << 8; + $216 = $214 | $217; + $218 = $216 << 16; + $219 = $202 | $218; + $220 = (($219) + ($$0672786))|0; + $221 = ($164|0)==(0); + if ($221) { + $222 = HEAP32[$184>>2]|0; + $223 = HEAP16[$182>>1]|0; + $224 = $223&65535; + $225 = ($224*5)|0; + $226 = HEAP16[$186>>1]|0; + $227 = $226&65535; + $228 = Math_imul($225, $227)|0; + _memset(($222|0),0,($228|0))|0; + } else { + $$0682783 = 0;$$0689782 = 0;$230 = 0; + while(1) { + $229 = (($230) + ($220))|0; + $231 = ($229>>>0)<($2>>>0); + do { + if ($231) { + $235 = (($1) + ($229)|0); + $236 = HEAP8[$235>>0]|0; + $237 = $236&255; + $238 = HEAP32[$184>>2]|0; + $239 = $$0689782&65535; + $240 = (($238) + (($239*5)|0)|0); + $241 = $237 & 128; + $242 = ($241|0)==(0); + if ($242) { + $308 = $237;$309 = $240;$318 = $238;$319 = $239; + label = 77; + } else { + $243 = (($$0682783) + 1)<<16>>16; + $244 = $237 & 1; + $245 = ($244|0)==(0); + if ($245) { + HEAP8[$240>>0] = 0; + $$1683 = $243; + } else { + $246 = $243&65535; + $247 = (($246) + ($220))|0; + $248 = ($247>>>0)<($2>>>0); + if ($248) { + $249 = (($1) + ($247)|0); + $250 = HEAP8[$249>>0]|0; + $251 = $250&255; + $253 = $251; + } else { + $253 = 0; + } + $252 = $253&255; + HEAP8[$240>>0] = $252; + $254 = (($$0682783) + 2)<<16>>16; + $$1683 = $254; + } + $255 = $237 & 2; + $256 = ($255|0)==(0); + if ($256) { + $267 = (((($238) + (($239*5)|0)|0)) + 1|0); + HEAP8[$267>>0] = 0; + $$2684 = $$1683; + } else { + $257 = $$1683&65535; + $258 = (($257) + ($220))|0; + $259 = ($258>>>0)<($2>>>0); + if ($259) { + $260 = (($1) + ($258)|0); + $261 = HEAP8[$260>>0]|0; + $262 = $261&255; + $264 = $262; + } else { + $264 = 0; + } + $263 = $264&255; + $265 = (((($238) + (($239*5)|0)|0)) + 1|0); + HEAP8[$265>>0] = $263; + $266 = (($$1683) + 1)<<16>>16; + $$2684 = $266; + } + $268 = $237 & 4; + $269 = ($268|0)==(0); + if ($269) { + $280 = (((($238) + (($239*5)|0)|0)) + 2|0); + HEAP8[$280>>0] = 0; + $$3685 = $$2684; + } else { + $270 = $$2684&65535; + $271 = (($270) + ($220))|0; + $272 = ($271>>>0)<($2>>>0); + if ($272) { + $273 = (($1) + ($271)|0); + $274 = HEAP8[$273>>0]|0; + $275 = $274&255; + $277 = $275; + } else { + $277 = 0; + } + $276 = $277&255; + $278 = (((($238) + (($239*5)|0)|0)) + 2|0); + HEAP8[$278>>0] = $276; + $279 = (($$2684) + 1)<<16>>16; + $$3685 = $279; + } + $281 = $237 & 8; + $282 = ($281|0)==(0); + if ($282) { + $293 = (((($238) + (($239*5)|0)|0)) + 3|0); + HEAP8[$293>>0] = 0; + $$4686 = $$3685; + } else { + $283 = $$3685&65535; + $284 = (($283) + ($220))|0; + $285 = ($284>>>0)<($2>>>0); + if ($285) { + $286 = (($1) + ($284)|0); + $287 = HEAP8[$286>>0]|0; + $288 = $287&255; + $290 = $288; + } else { + $290 = 0; + } + $289 = $290&255; + $291 = (((($238) + (($239*5)|0)|0)) + 3|0); + HEAP8[$291>>0] = $289; + $292 = (($$3685) + 1)<<16>>16; + $$4686 = $292; + } + $294 = $237 & 16; + $295 = ($294|0)==(0); + if ($295) { + $306 = (((($238) + (($239*5)|0)|0)) + 4|0); + HEAP8[$306>>0] = 0; + $$5 = $$4686; + break; + } + $296 = $$4686&65535; + $297 = (($296) + ($220))|0; + $298 = ($297>>>0)<($2>>>0); + if ($298) { + $299 = (($1) + ($297)|0); + $300 = HEAP8[$299>>0]|0; + $301 = $300&255; + $303 = $301; + } else { + $303 = 0; + } + $302 = $303&255; + $304 = (((($238) + (($239*5)|0)|0)) + 4|0); + HEAP8[$304>>0] = $302; + $305 = (($$4686) + 1)<<16>>16; + $$5 = $305; + } + } else { + $232 = HEAP32[$184>>2]|0; + $233 = $$0689782&65535; + $234 = (($232) + (($233*5)|0)|0); + $308 = 0;$309 = $234;$318 = $232;$319 = $233; + label = 77; + } + } while(0); + if ((label|0) == 77) { + label = 0; + $307 = $308&255; + HEAP8[$309>>0] = $307; + $310 = (($229) + 1)|0; + $311 = ($310>>>0)<($2>>>0); + if ($311) { + $312 = (($1) + ($310)|0); + $313 = HEAP8[$312>>0]|0; + $314 = $313&255; + $316 = $314; + } else { + $316 = 0; + } + $315 = $316&255; + $317 = (((($318) + (($319*5)|0)|0)) + 1|0); + HEAP8[$317>>0] = $315; + $320 = (($229) + 2)|0; + $321 = ($320>>>0)<($2>>>0); + if ($321) { + $322 = (($1) + ($320)|0); + $323 = HEAP8[$322>>0]|0; + $324 = $323&255; + $326 = $324; + } else { + $326 = 0; + } + $325 = $326&255; + $327 = (((($318) + (($319*5)|0)|0)) + 2|0); + HEAP8[$327>>0] = $325; + $328 = (($229) + 3)|0; + $329 = ($328>>>0)<($2>>>0); + if ($329) { + $330 = (($1) + ($328)|0); + $331 = HEAP8[$330>>0]|0; + $332 = $331&255; + $334 = $332; + } else { + $334 = 0; + } + $333 = $334&255; + $335 = (((($318) + (($319*5)|0)|0)) + 3|0); + HEAP8[$335>>0] = $333; + $336 = (($229) + 4)|0; + $337 = ($336>>>0)<($2>>>0); + if ($337) { + $338 = (($1) + ($336)|0); + $339 = HEAP8[$338>>0]|0; + $340 = $339&255; + $342 = $340; + } else { + $342 = 0; + } + $341 = $342&255; + $343 = (((($318) + (($319*5)|0)|0)) + 4|0); + HEAP8[$343>>0] = $341; + $344 = (($230) + 5)|0; + $345 = $344&65535; + $$5 = $345; + } + $346 = (($$0689782) + 1)<<16>>16; + $347 = $$5&65535; + $348 = ($347>>>0)<($164>>>0); + if ($348) { + $$0682783 = $$5;$$0689782 = $346;$230 = $347; + } else { + break; + } + } + } + $349 = (($220) + ($164))|0; + $350 = (($$0678785) + 1)<<16>>16; + $351 = $350&65535; + $352 = HEAP16[$101>>1]|0; + $353 = ($350&65535)<($352&65535); + if ($353) { + $$0671787 = $190;$$0672786 = $349;$$0678785 = $350;$183 = $351; + } else { + $$0671$lcssa = $190;$$0672$lcssa = $349; + break; + } + } + } + $150 = HEAP16[$98>>1]|0; + $151 = ($150<<16>>16)==(0); + if ($151) { + $$1$lcssa = $$0671$lcssa; + return ($$1$lcssa|0); + } else { + $$0688776 = 0;$$1673777 = $$0672$lcssa;$$1778 = $$0671$lcssa; + } + while(1) { + $354 = $$0688776&65535; + $355 = HEAP32[$105>>2]|0; + $356 = (($355) + (($354*280)|0)|0); + $357 = (($$1673777) + 4)|0; + _memcpy_pad($356,22,$1,$2,$357); + $358 = (($$1673777) + 27)|0; + $359 = ($358>>>0)<($2>>>0); + if ($359) { + $360 = (($1) + ($358)|0); + $361 = HEAP8[$360>>0]|0; + $362 = $361&255; + $371 = $362; + } else { + $371 = 0; + } + $363 = (($$1673777) + 28)|0; + $364 = ($363>>>0)<($2>>>0); + if ($364) { + $365 = (($1) + ($363)|0); + $366 = HEAP8[$365>>0]|0; + $367 = $366&255; + $369 = $367; + } else { + $369 = 0; + } + $368 = $369 << 8; + $370 = $368 | $371; + $372 = $370&65535; + $373 = (((($355) + (($354*280)|0)|0)) + 24|0); + HEAP16[$373>>1] = $372; + $374 = ($370|0)==(0); + if ($374) { + $629 = (((($355) + (($354*280)|0)|0)) + 276|0); + HEAP32[$629>>2] = 0; + $$0687 = 0;$$2 = $$1778; + } else { + $375 = (($$1673777) + 29)|0; + $376 = ($375>>>0)<($2>>>0); + if ($376) { + $377 = (($1) + ($375)|0); + $378 = HEAP8[$377>>0]|0; + $379 = $378&255; + $388 = $379; + } else { + $388 = 0; + } + $380 = (($$1673777) + 30)|0; + $381 = ($380>>>0)<($2>>>0); + if ($381) { + $382 = (($1) + ($380)|0); + $383 = HEAP8[$382>>0]|0; + $384 = $383&255; + $386 = $384; + } else { + $386 = 0; + } + $385 = $386 << 8; + $387 = $385 | $388; + $389 = (($$1673777) + 31)|0; + $390 = ($389>>>0)<($2>>>0); + if ($390) { + $391 = (($1) + ($389)|0); + $392 = HEAP8[$391>>0]|0; + $393 = $392&255; + $402 = $393; + } else { + $402 = 0; + } + $394 = (($$1673777) + 32)|0; + $395 = ($394>>>0)<($2>>>0); + if ($395) { + $396 = (($1) + ($394)|0); + $397 = HEAP8[$396>>0]|0; + $398 = $397&255; + $400 = $398; + } else { + $400 = 0; + } + $399 = $400 << 8; + $401 = $399 | $402; + $403 = $401 << 16; + $404 = $387 | $403; + $405 = (((($355) + (($354*280)|0)|0)) + 26|0); + $406 = (($$1673777) + 33)|0; + _memcpy_pad($405,96,$1,$2,$406); + $407 = (($$1673777) + 225)|0; + $408 = ($407>>>0)<($2>>>0); + if ($408) { + $409 = (($1) + ($407)|0); + $410 = HEAP8[$409>>0]|0; + $411 = $410&255; + $413 = $411; + } else { + $413 = 0; + } + $412 = $413&255; + $414 = (((($355) + (($354*280)|0)|0)) + 172|0); + HEAP8[$414>>0] = $412; + $415 = (($$1673777) + 226)|0; + $416 = ($415>>>0)<($2>>>0); + if ($416) { + $417 = (($1) + ($415)|0); + $418 = HEAP8[$417>>0]|0; + $419 = $418&255; + $421 = $419; + } else { + $421 = 0; + } + $420 = $421&255; + $422 = (((($355) + (($354*280)|0)|0)) + 236|0); + HEAP8[$422>>0] = $420; + $423 = HEAP8[$414>>0]|0; + $424 = ($423<<24>>24)==(0); + if ($424) { + $427 = $420; + } else { + $425 = (($$1673777) + 129)|0; + $$0681752 = 0;$430 = 0; + while(1) { + $429 = $430 << 2; + $431 = (($425) + ($429))|0; + $432 = ($431>>>0)<($2>>>0); + if ($432) { + $433 = (($1) + ($431)|0); + $434 = HEAP8[$433>>0]|0; + $435 = $434&255; + $444 = $435; + } else { + $444 = 0; + } + $436 = (($431) + 1)|0; + $437 = ($436>>>0)<($2>>>0); + if ($437) { + $438 = (($1) + ($436)|0); + $439 = HEAP8[$438>>0]|0; + $440 = $439&255; + $442 = $440; + } else { + $442 = 0; + } + $441 = $442 << 8; + $443 = $441 | $444; + $445 = $443&65535; + $446 = ((((($355) + (($354*280)|0)|0)) + 124|0) + ($430<<2)|0); + HEAP16[$446>>1] = $445; + $447 = (($431) + 2)|0; + $448 = ($447>>>0)<($2>>>0); + if ($448) { + $449 = (($1) + ($447)|0); + $450 = HEAP8[$449>>0]|0; + $451 = $450&255; + $460 = $451; + } else { + $460 = 0; + } + $452 = (($431) + 3)|0; + $453 = ($452>>>0)<($2>>>0); + if ($453) { + $454 = (($1) + ($452)|0); + $455 = HEAP8[$454>>0]|0; + $456 = $455&255; + $458 = $456; + } else { + $458 = 0; + } + $457 = $458 << 8; + $459 = $457 | $460; + $461 = $459&65535; + $462 = ((((((($355) + (($354*280)|0)|0)) + 124|0) + ($430<<2)|0)) + 2|0); + HEAP16[$462>>1] = $461; + $463 = (($$0681752) + 1)<<24>>24; + $464 = $463&255; + $465 = HEAP8[$414>>0]|0; + $466 = ($463&255)<($465&255); + if ($466) { + $$0681752 = $463;$430 = $464; + } else { + break; + } + } + $$pr = HEAP8[$422>>0]|0; + $427 = $$pr; + } + $426 = ($427<<24>>24)==(0); + if (!($426)) { + $428 = (($$1673777) + 177)|0; + $$0680753 = 0;$470 = 0; + while(1) { + $469 = $470 << 2; + $471 = (($428) + ($469))|0; + $472 = ($471>>>0)<($2>>>0); + if ($472) { + $473 = (($1) + ($471)|0); + $474 = HEAP8[$473>>0]|0; + $475 = $474&255; + $484 = $475; + } else { + $484 = 0; + } + $476 = (($471) + 1)|0; + $477 = ($476>>>0)<($2>>>0); + if ($477) { + $478 = (($1) + ($476)|0); + $479 = HEAP8[$478>>0]|0; + $480 = $479&255; + $482 = $480; + } else { + $482 = 0; + } + $481 = $482 << 8; + $483 = $481 | $484; + $485 = $483&65535; + $486 = ((((($355) + (($354*280)|0)|0)) + 188|0) + ($470<<2)|0); + HEAP16[$486>>1] = $485; + $487 = (($471) + 2)|0; + $488 = ($487>>>0)<($2>>>0); + if ($488) { + $489 = (($1) + ($487)|0); + $490 = HEAP8[$489>>0]|0; + $491 = $490&255; + $500 = $491; + } else { + $500 = 0; + } + $492 = (($471) + 3)|0; + $493 = ($492>>>0)<($2>>>0); + if ($493) { + $494 = (($1) + ($492)|0); + $495 = HEAP8[$494>>0]|0; + $496 = $495&255; + $498 = $496; + } else { + $498 = 0; + } + $497 = $498 << 8; + $499 = $497 | $500; + $501 = $499&65535; + $502 = ((((((($355) + (($354*280)|0)|0)) + 188|0) + ($470<<2)|0)) + 2|0); + HEAP16[$502>>1] = $501; + $503 = (($$0680753) + 1)<<24>>24; + $504 = $503&255; + $505 = HEAP8[$422>>0]|0; + $506 = ($503&255)<($505&255); + if ($506) { + $$0680753 = $503;$470 = $504; + } else { + break; + } + } + } + $467 = (($$1673777) + 227)|0; + $468 = ($467>>>0)<($2>>>0); + if ($468) { + $507 = (($1) + ($467)|0); + $508 = HEAP8[$507>>0]|0; + $509 = $508&255; + $511 = $509; + } else { + $511 = 0; + } + $510 = $511&255; + $512 = (((($355) + (($354*280)|0)|0)) + 173|0); + HEAP8[$512>>0] = $510; + $513 = (($$1673777) + 228)|0; + $514 = ($513>>>0)<($2>>>0); + if ($514) { + $515 = (($1) + ($513)|0); + $516 = HEAP8[$515>>0]|0; + $517 = $516&255; + $519 = $517; + } else { + $519 = 0; + } + $518 = $519&255; + $520 = (((($355) + (($354*280)|0)|0)) + 174|0); + HEAP8[$520>>0] = $518; + $521 = (($$1673777) + 229)|0; + $522 = ($521>>>0)<($2>>>0); + if ($522) { + $523 = (($1) + ($521)|0); + $524 = HEAP8[$523>>0]|0; + $525 = $524&255; + $527 = $525; + } else { + $527 = 0; + } + $526 = $527&255; + $528 = (((($355) + (($354*280)|0)|0)) + 175|0); + HEAP8[$528>>0] = $526; + $529 = (($$1673777) + 230)|0; + $530 = ($529>>>0)<($2>>>0); + if ($530) { + $531 = (($1) + ($529)|0); + $532 = HEAP8[$531>>0]|0; + $533 = $532&255; + $535 = $533; + } else { + $535 = 0; + } + $534 = $535&255; + $536 = (((($355) + (($354*280)|0)|0)) + 237|0); + HEAP8[$536>>0] = $534; + $537 = (($$1673777) + 231)|0; + $538 = ($537>>>0)<($2>>>0); + if ($538) { + $539 = (($1) + ($537)|0); + $540 = HEAP8[$539>>0]|0; + $541 = $540&255; + $543 = $541; + } else { + $543 = 0; + } + $542 = $543&255; + $544 = (((($355) + (($354*280)|0)|0)) + 238|0); + HEAP8[$544>>0] = $542; + $545 = (($$1673777) + 232)|0; + $546 = ($545>>>0)<($2>>>0); + if ($546) { + $547 = (($1) + ($545)|0); + $548 = HEAP8[$547>>0]|0; + $549 = $548&255; + $551 = $549; + } else { + $551 = 0; + } + $550 = $551&255; + $552 = (((($355) + (($354*280)|0)|0)) + 239|0); + HEAP8[$552>>0] = $550; + $553 = (($$1673777) + 233)|0; + $554 = ($553>>>0)<($2>>>0); + if ($554) { + $555 = (($1) + ($553)|0); + $556 = HEAP8[$555>>0]|0; + $557 = $556&255; + $559 = $557; + } else { + $559 = 0; + } + $558 = $559 & 1; + $560 = (((($355) + (($354*280)|0)|0)) + 176|0); + HEAP32[$560>>2] = $558; + $561 = $559 & 2; + $562 = (((($355) + (($354*280)|0)|0)) + 180|0); + HEAP32[$562>>2] = $561; + $563 = $559 & 4; + $564 = (((($355) + (($354*280)|0)|0)) + 184|0); + HEAP32[$564>>2] = $563; + $565 = (($$1673777) + 234)|0; + $566 = ($565>>>0)<($2>>>0); + if ($566) { + $567 = (($1) + ($565)|0); + $568 = HEAP8[$567>>0]|0; + $569 = $568&255; + $571 = $569; + } else { + $571 = 0; + } + $570 = $571 & 1; + $572 = (((($355) + (($354*280)|0)|0)) + 240|0); + HEAP32[$572>>2] = $570; + $573 = $571 & 2; + $574 = (((($355) + (($354*280)|0)|0)) + 244|0); + HEAP32[$574>>2] = $573; + $575 = $571 & 4; + $576 = (((($355) + (($354*280)|0)|0)) + 248|0); + HEAP32[$576>>2] = $575; + $577 = (($$1673777) + 235)|0; + $578 = ($577>>>0)<($2>>>0); + L213: do { + if ($578) { + $580 = (($1) + ($577)|0); + $581 = HEAP8[$580>>0]|0; + $582 = $581&255; + $583 = (((($355) + (($354*280)|0)|0)) + 252|0); + HEAP32[$583>>2] = $582; + switch ($581<<24>>24) { + case 2: { + $$sink694 = 1; + break; + } + case 1: { + $$sink694 = 2; + break; + } + default: { + break L213; + } + } + HEAP32[$583>>2] = $$sink694; + } else { + $579 = (((($355) + (($354*280)|0)|0)) + 252|0); + HEAP32[$579>>2] = 0; + } + } while(0); + $584 = (($$1673777) + 236)|0; + $585 = ($584>>>0)<($2>>>0); + if ($585) { + $586 = (($1) + ($584)|0); + $587 = HEAP8[$586>>0]|0; + $588 = $587&255; + $590 = $588; + } else { + $590 = 0; + } + $589 = $590&255; + $591 = (((($355) + (($354*280)|0)|0)) + 256|0); + HEAP8[$591>>0] = $589; + $592 = (($$1673777) + 237)|0; + $593 = ($592>>>0)<($2>>>0); + if ($593) { + $594 = (($1) + ($592)|0); + $595 = HEAP8[$594>>0]|0; + $596 = $595&255; + $598 = $596; + } else { + $598 = 0; + } + $597 = $598&255; + $599 = (((($355) + (($354*280)|0)|0)) + 257|0); + HEAP8[$599>>0] = $597; + $600 = (($$1673777) + 238)|0; + $601 = ($600>>>0)<($2>>>0); + if ($601) { + $602 = (($1) + ($600)|0); + $603 = HEAP8[$602>>0]|0; + $604 = $603&255; + $606 = $604; + } else { + $606 = 0; + } + $605 = $606&255; + $607 = (((($355) + (($354*280)|0)|0)) + 258|0); + HEAP8[$607>>0] = $605; + $608 = (($$1673777) + 239)|0; + $609 = ($608>>>0)<($2>>>0); + if ($609) { + $610 = (($1) + ($608)|0); + $611 = HEAP8[$610>>0]|0; + $612 = $611&255; + $621 = $612; + } else { + $621 = 0; + } + $613 = (($$1673777) + 240)|0; + $614 = ($613>>>0)<($2>>>0); + if ($614) { + $615 = (($1) + ($613)|0); + $616 = HEAP8[$615>>0]|0; + $617 = $616&255; + $619 = $617; + } else { + $619 = 0; + } + $618 = $619 << 8; + $620 = $618 | $621; + $622 = $620&65535; + $623 = (((($355) + (($354*280)|0)|0)) + 260|0); + HEAP16[$623>>1] = $622; + $624 = (((($355) + (($354*280)|0)|0)) + 276|0); + HEAP32[$624>>2] = $$1778; + $625 = HEAP16[$373>>1]|0; + $626 = $625&65535; + $627 = ($626*80)|0; + $628 = (($$1778) + ($627)|0); + $$0687 = $404;$$2 = $628; + } + $630 = ($$1673777>>>0)<($2>>>0); + if ($630) { + $631 = (($1) + ($$1673777)|0); + $632 = HEAP8[$631>>0]|0; + $633 = $632&255; + $642 = $633; + } else { + $642 = 0; + } + $634 = (($$1673777) + 1)|0; + $635 = ($634>>>0)<($2>>>0); + if ($635) { + $636 = (($1) + ($634)|0); + $637 = HEAP8[$636>>0]|0; + $638 = $637&255; + $640 = $638; + } else { + $640 = 0; + } + $639 = $640 << 8; + $641 = $639 | $642; + $643 = (($$1673777) + 2)|0; + $644 = ($643>>>0)<($2>>>0); + if ($644) { + $645 = (($1) + ($643)|0); + $646 = HEAP8[$645>>0]|0; + $647 = $646&255; + $656 = $647; + } else { + $656 = 0; + } + $648 = (($$1673777) + 3)|0; + $649 = ($648>>>0)<($2>>>0); + if ($649) { + $650 = (($1) + ($648)|0); + $651 = HEAP8[$650>>0]|0; + $652 = $651&255; + $654 = $652; + } else { + $654 = 0; + } + $653 = $654 << 8; + $655 = $653 | $656; + $657 = $655 << 16; + $658 = $641 | $657; + $659 = (($658) + ($$1673777))|0; + $660 = HEAP16[$373>>1]|0; + $661 = ($660<<16>>16)==(0); + if ($661) { + $$3$lcssa794 = $$2;$$3675$lcssa = $659; + } else { + $662 = (((($355) + (($354*280)|0)|0)) + 276|0); + $$0679755 = 0;$$2674756 = $659;$$3757 = $$2; + while(1) { + $666 = $$0679755&65535; + $667 = HEAP32[$662>>2]|0; + $668 = ($$2674756>>>0)<($2>>>0); + if ($668) { + $669 = (($1) + ($$2674756)|0); + $670 = HEAP8[$669>>0]|0; + $671 = $670&255; + $680 = $671; + } else { + $680 = 0; + } + $672 = (($$2674756) + 1)|0; + $673 = ($672>>>0)<($2>>>0); + if ($673) { + $674 = (($1) + ($672)|0); + $675 = HEAP8[$674>>0]|0; + $676 = $675&255; + $678 = $676; + } else { + $678 = 0; + } + $677 = $678 << 8; + $679 = $677 | $680; + $681 = (($$2674756) + 2)|0; + $682 = ($681>>>0)<($2>>>0); + if ($682) { + $683 = (($1) + ($681)|0); + $684 = HEAP8[$683>>0]|0; + $685 = $684&255; + $694 = $685; + } else { + $694 = 0; + } + $686 = (($$2674756) + 3)|0; + $687 = ($686>>>0)<($2>>>0); + if ($687) { + $688 = (($1) + ($686)|0); + $689 = HEAP8[$688>>0]|0; + $690 = $689&255; + $692 = $690; + } else { + $692 = 0; + } + $691 = $692 << 8; + $693 = $691 | $694; + $695 = $693 << 16; + $696 = $679 | $695; + $697 = (((($667) + (($666*80)|0)|0)) + 24|0); + HEAP32[$697>>2] = $696; + $698 = (($$2674756) + 4)|0; + $699 = ($698>>>0)<($2>>>0); + if ($699) { + $700 = (($1) + ($698)|0); + $701 = HEAP8[$700>>0]|0; + $702 = $701&255; + $711 = $702; + } else { + $711 = 0; + } + $703 = (($$2674756) + 5)|0; + $704 = ($703>>>0)<($2>>>0); + if ($704) { + $705 = (($1) + ($703)|0); + $706 = HEAP8[$705>>0]|0; + $707 = $706&255; + $709 = $707; + } else { + $709 = 0; + } + $708 = $709 << 8; + $710 = $708 | $711; + $712 = (($$2674756) + 6)|0; + $713 = ($712>>>0)<($2>>>0); + if ($713) { + $714 = (($1) + ($712)|0); + $715 = HEAP8[$714>>0]|0; + $716 = $715&255; + $725 = $716; + } else { + $725 = 0; + } + $717 = (($$2674756) + 7)|0; + $718 = ($717>>>0)<($2>>>0); + if ($718) { + $719 = (($1) + ($717)|0); + $720 = HEAP8[$719>>0]|0; + $721 = $720&255; + $723 = $721; + } else { + $723 = 0; + } + $722 = $723 << 8; + $724 = $722 | $725; + $726 = $724 << 16; + $727 = $710 | $726; + $728 = (((($667) + (($666*80)|0)|0)) + 28|0); + HEAP32[$728>>2] = $727; + $729 = (($$2674756) + 8)|0; + $730 = ($729>>>0)<($2>>>0); + if ($730) { + $731 = (($1) + ($729)|0); + $732 = HEAP8[$731>>0]|0; + $733 = $732&255; + $742 = $733; + } else { + $742 = 0; + } + $734 = (($$2674756) + 9)|0; + $735 = ($734>>>0)<($2>>>0); + if ($735) { + $736 = (($1) + ($734)|0); + $737 = HEAP8[$736>>0]|0; + $738 = $737&255; + $740 = $738; + } else { + $740 = 0; + } + $739 = $740 << 8; + $741 = $739 | $742; + $743 = (($$2674756) + 10)|0; + $744 = ($743>>>0)<($2>>>0); + if ($744) { + $745 = (($1) + ($743)|0); + $746 = HEAP8[$745>>0]|0; + $747 = $746&255; + $756 = $747; + } else { + $756 = 0; + } + $748 = (($$2674756) + 11)|0; + $749 = ($748>>>0)<($2>>>0); + if ($749) { + $750 = (($1) + ($748)|0); + $751 = HEAP8[$750>>0]|0; + $752 = $751&255; + $754 = $752; + } else { + $754 = 0; + } + $753 = $754 << 8; + $755 = $753 | $756; + $757 = $755 << 16; + $758 = $741 | $757; + $759 = (((($667) + (($666*80)|0)|0)) + 32|0); + HEAP32[$759>>2] = $758; + $760 = HEAP32[$728>>2]|0; + $761 = (($758) + ($760))|0; + $762 = (((($667) + (($666*80)|0)|0)) + 36|0); + HEAP32[$762>>2] = $761; + $763 = (($$2674756) + 12)|0; + $764 = ($763>>>0)<($2>>>0); + if ($764) { + $765 = (($1) + ($763)|0); + $766 = HEAP8[$765>>0]|0; + $767 = $766&255; + $769 = $767; + } else { + $769 = 0; + } + $768 = (+($769|0)); + $770 = $768 * 0.015625; + $771 = (((($667) + (($666*80)|0)|0)) + 40|0); + HEAPF32[$771>>2] = $770; + $772 = (($$2674756) + 13)|0; + $773 = ($772>>>0)<($2>>>0); + if ($773) { + $774 = (($1) + ($772)|0); + $775 = HEAP8[$774>>0]|0; + $776 = $775&255; + $778 = $776; + } else { + $778 = 0; + } + $777 = $778&255; + $779 = (((($667) + (($666*80)|0)|0)) + 44|0); + HEAP8[$779>>0] = $777; + $780 = (($$2674756) + 14)|0; + $781 = ($780>>>0)<($2>>>0); + do { + if ($781) { + $782 = (($1) + ($780)|0); + $783 = HEAP8[$782>>0]|0; + $784 = $783&255; + $785 = $784 & 3; + $786 = ($785|0)==(0); + if ($786) { + $889 = $784; + label = 204; + break; + } + $788 = ($785|0)==(1); + $789 = (((($667) + (($666*80)|0)|0)) + 48|0); + $$sink = $788 ? 1 : 2; + HEAP32[$789>>2] = $$sink; + $791 = $784; + } else { + $889 = 0; + label = 204; + } + } while(0); + if ((label|0) == 204) { + label = 0; + $787 = (((($667) + (($666*80)|0)|0)) + 48|0); + HEAP32[$787>>2] = 0; + $791 = $889; + } + $790 = $791 >>> 1; + $792 = $790 & 8; + $793 = (($792) + 8)|0; + $794 = $793&255; + $795 = (((($667) + (($666*80)|0)|0)) + 23|0); + HEAP8[$795>>0] = $794; + $796 = (($$2674756) + 15)|0; + $797 = ($796>>>0)<($2>>>0); + if ($797) { + $798 = (($1) + ($796)|0); + $799 = HEAP8[$798>>0]|0; + $800 = $799&255; + $802 = $800; + } else { + $802 = 0; + } + $801 = (+($802|0)); + $803 = $801 / 255.0; + $804 = (((($667) + (($666*80)|0)|0)) + 52|0); + HEAPF32[$804>>2] = $803; + $805 = (($$2674756) + 16)|0; + $806 = ($805>>>0)<($2>>>0); + if ($806) { + $807 = (($1) + ($805)|0); + $808 = HEAP8[$807>>0]|0; + $809 = $808&255; + $811 = $809; + } else { + $811 = 0; + } + $810 = $811&255; + $812 = (((($667) + (($666*80)|0)|0)) + 56|0); + HEAP8[$812>>0] = $810; + $813 = (($667) + (($666*80)|0)|0); + _memcpy_pad($813,22,$1,$2,18); + $814 = (((($667) + (($666*80)|0)|0)) + 72|0); + HEAP32[$814>>2] = $$3757; + $815 = HEAP8[$795>>0]|0; + $816 = ($815<<24>>24)==(16); + $817 = HEAP32[$697>>2]|0; + if ($816) { + $818 = $817 << 1; + $819 = HEAP32[$728>>2]|0; + $820 = $819 >>> 1; + HEAP32[$728>>2] = $820; + $821 = HEAP32[$759>>2]|0; + $822 = $821 >>> 1; + HEAP32[$759>>2] = $822; + $823 = HEAP32[$762>>2]|0; + $824 = $823 >>> 1; + HEAP32[$762>>2] = $824; + $825 = HEAP32[$697>>2]|0; + $826 = $825 >>> 1; + HEAP32[$697>>2] = $826; + $$pn693 = $818; + } else { + $827 = $817 << 2; + $$pn693 = $827; + } + $$4 = (($$3757) + ($$pn693)|0); + $828 = (($$2674756) + ($$0687))|0; + $829 = (($$0679755) + 1)<<16>>16; + $664 = HEAP16[$373>>1]|0; + $830 = ($829&65535)<($664&65535); + if ($830) { + $$0679755 = $829;$$2674756 = $828;$$3757 = $$4; + } else { + break; + } + } + $663 = ($664<<16>>16)==(0); + if ($663) { + $$3$lcssa794 = $$4;$$3675$lcssa = $828; + } else { + $665 = (((($355) + (($354*280)|0)|0)) + 276|0); + $$0677769 = 0;$$3675770 = $828; + while(1) { + $834 = $$0677769&65535; + $835 = HEAP32[$665>>2]|0; + $836 = (((($835) + (($834*80)|0)|0)) + 24|0); + $837 = HEAP32[$836>>2]|0; + $838 = (((($835) + (($834*80)|0)|0)) + 23|0); + $839 = HEAP8[$838>>0]|0; + $840 = ($839<<24>>24)==(16); + $841 = ($837|0)!=(0); + if ($840) { + if ($841) { + $843 = (((($835) + (($834*80)|0)|0)) + 72|0); + $$0669766 = 0;$$0670765 = 0; + while(1) { + $sext691 = $$0670765 << 16; + $846 = $sext691 >> 16; + $847 = $$0669766 << 1; + $848 = (($847) + ($$3675770))|0; + $849 = ($848>>>0)<($2>>>0); + if ($849) { + $850 = (($1) + ($848)|0); + $851 = HEAP8[$850>>0]|0; + $852 = $851&255; + $861 = $852; + } else { + $861 = 0; + } + $853 = (($848) + 1)|0; + $854 = ($853>>>0)<($2>>>0); + if ($854) { + $855 = (($1) + ($853)|0); + $856 = HEAP8[$855>>0]|0; + $857 = $856&255; + $859 = $857; + } else { + $859 = 0; + } + $858 = $859 << 8; + $860 = $858 | $861; + $sext692 = $860 << 16; + $862 = $sext692 >> 16; + $863 = (($862) + ($846))|0; + $864 = $863&65535; + $865 = (+($864<<16>>16)); + $866 = $865 * 3.0517578125E-5; + $867 = HEAP32[$843>>2]|0; + $868 = (($867) + ($$0669766<<2)|0); + HEAPF32[$868>>2] = $866; + $869 = (($$0669766) + 1)|0; + $exitcond793 = ($869|0)==($837|0); + if ($exitcond793) { + break; + } else { + $$0669766 = $869;$$0670765 = $863; + } + } + } + $844 = HEAP32[$836>>2]|0; + $845 = $844 << 1; + $$pn = $845; + } else { + if ($841) { + $842 = (((($835) + (($834*80)|0)|0)) + 72|0); + $$0668761 = 0;$$0762 = 0; + while(1) { + $sext = $$0668761 << 24; + $871 = $sext >> 24; + $872 = (($$0762) + ($$3675770))|0; + $873 = ($872>>>0)<($2>>>0); + if ($873) { + $874 = (($1) + ($872)|0); + $875 = HEAP8[$874>>0]|0; + $876 = $875&255; + $877 = $876; + } else { + $877 = 0; + } + $sext690 = $877 << 24; + $878 = $sext690 >> 24; + $879 = (($878) + ($871))|0; + $880 = $879&255; + $881 = (+($880<<24>>24)); + $882 = $881 * 0.0078125; + $883 = HEAP32[$842>>2]|0; + $884 = (($883) + ($$0762<<2)|0); + HEAPF32[$884>>2] = $882; + $885 = (($$0762) + 1)|0; + $exitcond = ($885|0)==($837|0); + if ($exitcond) { + break; + } else { + $$0668761 = $879;$$0762 = $885; + } + } + } + $870 = HEAP32[$836>>2]|0; + $$pn = $870; + } + $$4676 = (($$pn) + ($$3675770))|0; + $886 = (($$0677769) + 1)<<16>>16; + $887 = HEAP16[$373>>1]|0; + $888 = ($886&65535)<($887&65535); + if ($888) { + $$0677769 = $886;$$3675770 = $$4676; + } else { + $$3$lcssa794 = $$4;$$3675$lcssa = $$4676; + break; + } + } + } + } + $831 = (($$0688776) + 1)<<16>>16; + $832 = HEAP16[$98>>1]|0; + $833 = ($831&65535)<($832&65535); + if ($833) { + $$0688776 = $831;$$1673777 = $$3675$lcssa;$$1778 = $$3$lcssa794; + } else { + $$1$lcssa = $$3$lcssa794; + break; + } + } + return ($$1$lcssa|0); +} +function _jar_xm_check_sanity_postload($0) { + $0 = $0|0; + var $$01520 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $vararg_buffer = 0, $vararg_buffer2 = 0, $vararg_ptr1 = 0, $vararg_ptr5 = 0, $vararg_ptr6 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $vararg_buffer2 = sp + 8|0; + $vararg_buffer = sp; + $1 = ((($0)) + 46|0); + $2 = HEAP16[$1>>1]|0; + $3 = ($2<<16>>16)==(0); + if ($3) { + $26 = 0; + STACKTOP = sp;return ($26|0); + } + $4 = $2&65535; + $5 = ((($0)) + 52|0); + $6 = HEAP32[1263]|0; + $$01520 = 0;$16 = $4;$18 = $2;$8 = 0; + while(1) { + $7 = (((($0)) + 60|0) + ($8)|0); + $9 = HEAP8[$7>>0]|0; + $10 = $9&255; + $11 = HEAP16[$5>>1]|0; + $12 = $11&65535; + $13 = ($10>>>0)<($12>>>0); + if (!($13)) { + $14 = (($8) + 1)|0; + $15 = ($14|0)==($16|0); + $17 = ($18&65535)>(1); + $or$cond = $17 & $15; + if (!($or$cond)) { + break; + } + $19 = (($18) + -1)<<16>>16; + HEAP16[$1>>1] = $19; + HEAP32[$vararg_buffer>>2] = 16673; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $8; + (_fprintf($6,16635,$vararg_buffer)|0); + (_fflush($6)|0); + } + $20 = (($$01520) + 1)<<24>>24; + $21 = $20&255; + $22 = HEAP16[$1>>1]|0; + $23 = $22&65535; + $24 = ($21>>>0)<($23>>>0); + if ($24) { + $$01520 = $20;$16 = $23;$18 = $22;$8 = $21; + } else { + $26 = 0; + label = 8; + break; + } + } + if ((label|0) == 8) { + STACKTOP = sp;return ($26|0); + } + HEAP32[$vararg_buffer2>>2] = 16673; + $vararg_ptr5 = ((($vararg_buffer2)) + 4|0); + HEAP32[$vararg_ptr5>>2] = $8; + $vararg_ptr6 = ((($vararg_buffer2)) + 8|0); + HEAP32[$vararg_ptr6>>2] = $10; + (_fprintf($6,16702,$vararg_buffer2)|0); + $25 = HEAP32[1263]|0; + (_fflush($25)|0); + $26 = 1; + STACKTOP = sp;return ($26|0); +} +function _jar_xm_free_context($0) { + $0 = $0|0; + var $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP32[$0>>2]|0; + _free($1); + return; +} +function _memcpy_pad($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$ = 0, $10 = 0, $11 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $5 = ($3>>>0)<($4>>>0); + $6 = (($3) - ($4))|0; + $$ = $5 ? 0 : $6; + $7 = ($$>>>0)>($1>>>0); + $8 = $7 ? $1 : $$; + $9 = (($2) + ($4)|0); + _memcpy(($0|0),($9|0),($8|0))|0; + $10 = (($0) + ($8)|0); + $11 = (($1) - ($8))|0; + _memset(($10|0),0,($11|0))|0; + return; +} +function _jar_xm_set_max_loop_count($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($0)) + 385|0); + HEAP8[$2>>0] = $1; + return; +} +function _jar_xm_get_loop_count($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 384|0); + $2 = HEAP8[$1>>0]|0; + return ($2|0); +} +function _jar_xm_get_remaining_samples($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0.0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (_jar_xm_get_loop_count($0)|0); + _jar_xm_set_max_loop_count($0,0); + $2 = (_jar_xm_get_loop_count($0)|0); + $3 = ($2<<24>>24)==($1<<24>>24); + if (!($3)) { + $15 = 0;$16 = 0; + $14 = ((($0)) + 384|0); + HEAP8[$14>>0] = $1; + tempRet0 = ($15); + return ($16|0); + } + $4 = ((($0)) + 352|0); + $6 = 0;$7 = 0; + while(1) { + $5 = +HEAPF32[$4>>2]; + $8 = (+($6>>>0)) + (4294967296.0*(+($7>>>0))); + $9 = $8 + $5; + $10 = (~~$9)>>>0; + $11 = +Math_abs($9) >= 1.0 ? $9 > 0.0 ? (~~+Math_min(+Math_floor($9 / 4294967296.0), 4294967295.0)) >>> 0 : ~~+Math_ceil(($9 - +(~~$9 >>> 0)) / 4294967296.0) >>> 0 : 0; + HEAPF32[$4>>2] = 0.0; + _jar_xm_tick($0); + $12 = (_jar_xm_get_loop_count($0)|0); + $13 = ($12<<24>>24)==($1<<24>>24); + if ($13) { + $6 = $10;$7 = $11; + } else { + $15 = $11;$16 = $10; + break; + } + } + $14 = ((($0)) + 384|0); + HEAP8[$14>>0] = $1; + tempRet0 = ($15); + return ($16|0); +} +function _jar_xm_create_context_from_file($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$1 = 0, $$1$ph = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = (_fopen($2,18034)|0); + $4 = ($3|0)==(0|0); + L1: do { + if ($4) { + $5 = HEAP32[1263]|0; + (_fwrite(16792,25,1,$5)|0); + (_fflush($5)|0); + $$1$ph = 3; + } else { + (_fseek($3,0,2)|0); + $6 = (_ftell($3)|0); + _rewind($3); + $7 = ($6|0)==(-1); + if ($7) { + (_fclose($3)|0); + $8 = HEAP32[1263]|0; + (_fwrite(16818,14,1,$8)|0); + (_fflush($8)|0); + $$1$ph = 4; + break; + } + $9 = (($6) + 1)|0; + $10 = (_malloc($9)|0); + $11 = (_fread($10,1,$6,$3)|0); + $12 = ($11>>>0)<($6>>>0); + (_fclose($3)|0); + if ($12) { + $13 = HEAP32[1263]|0; + (_fwrite(16833,14,1,$13)|0); + (_fflush($13)|0); + $$1$ph = 5; + break; + } + $14 = (_jar_xm_create_context_safe($0,$10,$6,$1)|0); + switch ($14|0) { + case 1: { + $15 = HEAP32[1263]|0; + (_fwrite(16848,45,1,$15)|0); + (_fflush($15)|0); + $$1$ph = 1; + break L1; + break; + } + case 2: { + $16 = HEAP32[1263]|0; + (_fwrite(16894,40,1,$16)|0); + (_fflush($16)|0); + _exit(1); + // unreachable; + break; + } + case 0: { + $$1 = 0; + return ($$1|0); + break; + } + default: { + $17 = HEAP32[1263]|0; + (_fwrite(16935,40,1,$17)|0); + (_fflush($17)|0); + _exit(1); + // unreachable; + } + } + } + } while(0); + HEAP32[$0>>2] = 0; + $$1 = $$1$ph; + return ($$1|0); +} +function _InitAudioDevice() { + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $cond = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer3 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $vararg_buffer3 = sp + 16|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $0 = (_alcOpenDevice((0|0))|0); + $1 = ($0|0)==(0|0); + if ($1) { + _TraceLog(2,16976,$vararg_buffer); + STACKTOP = sp;return; + } + $2 = (_alcCreateContext(($0|0),(0|0))|0); + $cond = ($2|0)==(0|0); + do { + if (!($cond)) { + $3 = (_alcMakeContextCurrent(($2|0))|0); + $4 = ($3<<24>>24)==(0); + if ($4) { + _alcDestroyContext(($2|0)); + break; + } + $5 = (_alcGetString(($0|0),4101)|0); + HEAP32[$vararg_buffer3>>2] = $5; + _TraceLog(0,17044,$vararg_buffer3); + _alListener3f(4100,0.0,0.0,0.0); + _alListener3f(4102,0.0,0.0,0.0); + _alListener3f(4111,0.0,0.0,-1.0); + _alListenerf(4106,1.0); + STACKTOP = sp;return; + } + } while(0); + (_alcCloseDevice(($0|0))|0); + _TraceLog(2,17009,$vararg_buffer1); + STACKTOP = sp;return; +} +function _CloseAudioDevice() { + var $0 = 0, $1 = 0, $2 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $0 = (_alcGetCurrentContext()|0); + $1 = ($0|0)==(0|0); + if ($1) { + _TraceLog(1,17098,$vararg_buffer); + } + $2 = (_alcGetContextsDevice(($0|0))|0); + (_alcMakeContextCurrent((0|0))|0); + _alcDestroyContext(($0|0)); + (_alcCloseDevice(($2|0))|0); + _TraceLog(0,17146,$vararg_buffer1); + STACKTOP = sp;return; +} +function _LoadWave($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; + var $vararg_buffer = 0, $vararg_buffer1 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $2 = sp + 12|0; + ;HEAP32[$2>>2]=0|0;HEAP32[$2+4>>2]=0|0;HEAP32[$2+8>>2]=0|0;HEAP32[$2+12>>2]=0|0;HEAP32[$2+16>>2]=0|0; + $3 = (_IsFileExtension($1,17179)|0); + $4 = ($3|0)==(0); + do { + if ($4) { + $5 = (_IsFileExtension($1,17184)|0); + $6 = ($5|0)==(0); + if (!($6)) { + _LoadOGG($2,$1); + break; + } + $7 = (_IsFileExtension($1,17189)|0); + $8 = ($7|0)==(0); + if ($8) { + HEAP32[$vararg_buffer1>>2] = $1; + _TraceLog(1,17241,$vararg_buffer1); + break; + } + $9 = (_LoadResource($1,0)|0); + $10 = HEAP32[$9>>2]|0; + $11 = ($10|0)==(2); + if ($11) { + $12 = ((($9)) + 20|0); + $13 = HEAP32[$12>>2]|0; + $14 = ((($9)) + 4|0); + $15 = HEAP32[$14>>2]|0; + $16 = ((($9)) + 8|0); + $17 = HEAP32[$16>>2]|0; + $18 = ((($9)) + 12|0); + $19 = HEAP32[$18>>2]|0; + $20 = ((($9)) + 16|0); + $21 = HEAP32[$20>>2]|0; + _LoadWaveEx($2,$13,$15,$17,$19,$21); + } else { + HEAP32[$vararg_buffer>>2] = $1; + _TraceLog(1,17195,$vararg_buffer); + } + _UnloadResource($9); + } else { + _LoadWAV($2,$1); + } + } while(0); + ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$2+16>>2]|0; + STACKTOP = sp;return; +} +function _LoadWAV($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$pr = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; + var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; + var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0; + var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer14 = 0, $vararg_buffer18 = 0, $vararg_buffer4 = 0, $vararg_buffer7 = 0, $vararg_ptr13 = 0, $vararg_ptr17 = 0, $vararg_ptr21 = 0, $vararg_ptr22 = 0; + var $vararg_ptr23 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 144|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(144|0); + $vararg_buffer18 = sp + 48|0; + $vararg_buffer14 = sp + 40|0; + $vararg_buffer10 = sp + 32|0; + $vararg_buffer7 = sp + 24|0; + $vararg_buffer4 = sp + 16|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $2 = sp + 120|0; + $3 = sp + 96|0; + $4 = sp + 88|0; + $5 = sp + 64|0; + ;HEAP32[$5>>2]=0|0;HEAP32[$5+4>>2]=0|0;HEAP32[$5+8>>2]=0|0;HEAP32[$5+12>>2]=0|0;HEAP32[$5+16>>2]=0|0; + $6 = (_fopen($1,18034)|0); + $7 = ($6|0)==(0|0); + if ($7) { + HEAP32[$vararg_buffer>>2] = $1; + _TraceLog(1,18415,$vararg_buffer); + $8 = ((($5)) + 16|0); + HEAP32[$8>>2] = 0; + ;HEAP32[$0>>2]=HEAP32[$5>>2]|0;HEAP32[$0+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$5+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$5+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$5+16>>2]|0; + STACKTOP = sp;return; + } + (_fread($2,12,1,$6)|0); + $9 = (_strncmp($2,18449,4)|0); + $10 = ($9|0)==(0); + do { + if ($10) { + $11 = ((($2)) + 8|0); + $12 = (_strncmp($11,18454,4)|0); + $13 = ($12|0)==(0); + if ($13) { + (_fread($3,24,1,$6)|0); + $14 = HEAP8[$3>>0]|0; + $15 = ($14<<24>>24)==(102); + if ($15) { + $16 = ((($3)) + 1|0); + $17 = HEAP8[$16>>0]|0; + $18 = ($17<<24>>24)==(109); + if ($18) { + $19 = ((($3)) + 2|0); + $20 = HEAP8[$19>>0]|0; + $21 = ($20<<24>>24)==(116); + if ($21) { + $22 = ((($3)) + 3|0); + $23 = HEAP8[$22>>0]|0; + $24 = ($23<<24>>24)==(32); + if ($24) { + $25 = ((($3)) + 4|0); + $26 = HEAP32[$25>>2]|0; + $27 = ($26|0)>(16); + if ($27) { + (_fseek($6,2,1)|0); + } + (_fread($4,8,1,$6)|0); + $28 = HEAP8[$4>>0]|0; + $29 = ($28<<24>>24)==(100); + if ($29) { + $30 = ((($4)) + 1|0); + $31 = HEAP8[$30>>0]|0; + $32 = ($31<<24>>24)==(97); + if ($32) { + $33 = ((($4)) + 2|0); + $34 = HEAP8[$33>>0]|0; + $35 = ($34<<24>>24)==(116); + if ($35) { + $36 = ((($4)) + 3|0); + $37 = HEAP8[$36>>0]|0; + $38 = ($37<<24>>24)==(97); + if ($38) { + $39 = ((($4)) + 4|0); + $40 = HEAP32[$39>>2]|0; + $41 = (_malloc($40)|0); + $42 = ((($5)) + 16|0); + HEAP32[$42>>2] = $41; + (_fread($41,$40,1,$6)|0); + $43 = ((($3)) + 12|0); + $44 = HEAP32[$43>>2]|0; + $45 = ((($5)) + 4|0); + HEAP32[$45>>2] = $44; + $46 = ((($3)) + 22|0); + $47 = HEAP16[$46>>1]|0; + $48 = $47 << 16 >> 16; + $49 = ((($5)) + 8|0); + HEAP32[$49>>2] = $48; + $50 = ((($3)) + 10|0); + $51 = HEAP16[$50>>1]|0; + $52 = $51 << 16 >> 16; + $53 = ((($5)) + 12|0); + HEAP32[$53>>2] = $52; + switch ($47<<16>>16) { + case 32: case 16: case 8: { + $57 = $52; + break; + } + default: { + HEAP32[$vararg_buffer10>>2] = $1; + $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); + HEAP32[$vararg_ptr13>>2] = $48; + _TraceLog(1,18542,$vararg_buffer10); + $54 = HEAP32[$45>>2]|0; + $55 = HEAP32[$53>>2]|0; + _WaveFormat($5,$54,16,$55); + $$pr = HEAP32[$53>>2]|0; + $57 = $$pr; + } + } + $56 = ($57>>>0)>(2); + if ($56) { + $58 = HEAP32[$45>>2]|0; + $59 = HEAP32[$49>>2]|0; + _WaveFormat($5,$58,$59,2); + $60 = HEAP32[$53>>2]|0; + HEAP32[$vararg_buffer14>>2] = $1; + $vararg_ptr17 = ((($vararg_buffer14)) + 4|0); + HEAP32[$vararg_ptr17>>2] = $60; + _TraceLog(1,18605,$vararg_buffer14); + } + $61 = HEAP32[$39>>2]|0; + $62 = HEAP32[$49>>2]|0; + $63 = $62 >>> 3; + $64 = (($61>>>0) / ($63>>>0))&-1; + $65 = HEAP32[$53>>2]|0; + $66 = (($64>>>0) / ($65>>>0))&-1; + HEAP32[$5>>2] = $66; + $67 = HEAP32[$45>>2]|0; + $68 = ($65|0)==(1); + $69 = $68 ? 17465 : 17470; + HEAP32[$vararg_buffer18>>2] = $1; + $vararg_ptr21 = ((($vararg_buffer18)) + 4|0); + HEAP32[$vararg_ptr21>>2] = $67; + $vararg_ptr22 = ((($vararg_buffer18)) + 8|0); + HEAP32[$vararg_ptr22>>2] = $62; + $vararg_ptr23 = ((($vararg_buffer18)) + 12|0); + HEAP32[$vararg_ptr23>>2] = $69; + _TraceLog(0,18674,$vararg_buffer18); + break; + } + } + } + } + HEAP32[$vararg_buffer7>>2] = $1; + _TraceLog(1,18517,$vararg_buffer7); + break; + } + } + } + } + HEAP32[$vararg_buffer4>>2] = $1; + _TraceLog(1,18492,$vararg_buffer4); + } else { + label = 5; + } + } else { + label = 5; + } + } while(0); + if ((label|0) == 5) { + HEAP32[$vararg_buffer1>>2] = $1; + _TraceLog(1,18459,$vararg_buffer1); + } + (_fclose($6)|0); + ;HEAP32[$0>>2]=HEAP32[$5>>2]|0;HEAP32[$0+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$5+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$5+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$5+16>>2]|0; + STACKTOP = sp;return; +} +function _LoadOGG($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$sroa$0$0 = 0, $$sroa$11$0 = 0, $$sroa$11$0$$sroa_idx19 = 0, $$sroa$15$0 = 0, $$sroa$15$0$$sroa_idx23 = 0, $$sroa$7$0 = 0, $$sroa$7$0$$sroa_idx15 = 0, $$sroa$9$0 = 0, $$sroa$9$0$$sroa_idx17 = 0, $10 = 0, $11 = 0.0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $2 = 0, $3 = 0; + var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0.0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer5 = 0, $vararg_buffer9 = 0, $vararg_ptr12 = 0, $vararg_ptr13 = 0, $vararg_ptr14 = 0, $vararg_ptr4 = 0, $vararg_ptr8 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0); + $vararg_buffer9 = sp + 32|0; + $vararg_buffer5 = sp + 24|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $2 = sp + 48|0; + $3 = (_stb_vorbis_open_filename($1,0,0)|0); + $4 = ($3|0)==(0|0); + if ($4) { + HEAP32[$vararg_buffer>>2] = $1; + _TraceLog(1,17297,$vararg_buffer); + $$sroa$0$0 = 0;$$sroa$11$0 = 0;$$sroa$15$0 = 0;$$sroa$7$0 = 0;$$sroa$9$0 = 0; + } else { + _stb_vorbis_get_info($2,$3); + $5 = HEAP32[$2>>2]|0; + $6 = ((($2)) + 4|0); + $7 = HEAP32[$6>>2]|0; + $8 = (_stb_vorbis_stream_length_in_samples($3)|0); + $9 = (+_stb_vorbis_stream_length_in_seconds($3)); + $10 = $9 > 10.0; + if ($10) { + $11 = $9; + HEAP32[$vararg_buffer1>>2] = $1; + $vararg_ptr4 = ((($vararg_buffer1)) + 8|0); + HEAPF64[$vararg_ptr4>>3] = $11; + _TraceLog(1,17331,$vararg_buffer1); + } + $12 = Math_imul($8, $7)|0; + $13 = $12 << 1; + $14 = (_malloc($13)|0); + $15 = HEAP32[$6>>2]|0; + $16 = (_stb_vorbis_get_samples_short_interleaved($3,$15,$14,$12)|0); + HEAP32[$vararg_buffer5>>2] = $1; + $vararg_ptr8 = ((($vararg_buffer5)) + 4|0); + HEAP32[$vararg_ptr8>>2] = $16; + _TraceLog(3,17439,$vararg_buffer5); + $17 = ($7|0)==(1); + $18 = $17 ? 17465 : 17470; + HEAP32[$vararg_buffer9>>2] = $1; + $vararg_ptr12 = ((($vararg_buffer9)) + 4|0); + HEAP32[$vararg_ptr12>>2] = $5; + $vararg_ptr13 = ((($vararg_buffer9)) + 8|0); + HEAP32[$vararg_ptr13>>2] = 16; + $vararg_ptr14 = ((($vararg_buffer9)) + 12|0); + HEAP32[$vararg_ptr14>>2] = $18; + _TraceLog(0,17477,$vararg_buffer9); + _stb_vorbis_close($3); + $$sroa$0$0 = $8;$$sroa$11$0 = $7;$$sroa$15$0 = $14;$$sroa$7$0 = $5;$$sroa$9$0 = 16; + } + HEAP32[$0>>2] = $$sroa$0$0; + $$sroa$7$0$$sroa_idx15 = ((($0)) + 4|0); + HEAP32[$$sroa$7$0$$sroa_idx15>>2] = $$sroa$7$0; + $$sroa$9$0$$sroa_idx17 = ((($0)) + 8|0); + HEAP32[$$sroa$9$0$$sroa_idx17>>2] = $$sroa$9$0; + $$sroa$11$0$$sroa_idx19 = ((($0)) + 12|0); + HEAP32[$$sroa$11$0$$sroa_idx19>>2] = $$sroa$11$0; + $$sroa$15$0$$sroa_idx23 = ((($0)) + 16|0); + HEAP32[$$sroa$15$0$$sroa_idx23>>2] = $$sroa$15$0; + STACKTOP = sp;return; +} +function _LoadWaveEx($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + var $$byval_copy = 0, $10 = 0, $11 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $$byval_copy = sp + 40|0; + $6 = sp + 20|0; + $7 = sp; + $8 = ((($6)) + 16|0); + HEAP32[$8>>2] = $1; + HEAP32[$6>>2] = $2; + $9 = ((($6)) + 4|0); + HEAP32[$9>>2] = $3; + $10 = ((($6)) + 8|0); + HEAP32[$10>>2] = $4; + $11 = ((($6)) + 12|0); + HEAP32[$11>>2] = $5; + ;HEAP32[$$byval_copy>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$6+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$6+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$6+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$6+16>>2]|0; + _WaveCopy($7,$$byval_copy); + _WaveFormat($7,$3,$4,$5); + ;HEAP32[$0>>2]=HEAP32[$7>>2]|0;HEAP32[$0+4>>2]=HEAP32[$7+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$7+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$7+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$7+16>>2]|0; + STACKTOP = sp;return; +} +function _WaveCopy($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$sroa$0$0 = 0, $$sroa$5$0 = 0, $$sroa$5$0$$sroa_idx2 = 0, $$sroa$6$0 = 0, $$sroa$6$0$$sroa_idx4 = 0, $$sroa$7$0 = 0, $$sroa$7$0$$sroa_idx6 = 0, $$sroa$8$0$$sroa_idx8 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0; + var $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = HEAP32[$1>>2]|0; + $3 = ((($1)) + 8|0); + $4 = HEAP32[$3>>2]|0; + $5 = Math_imul($4, $2)|0; + $6 = $5 >>> 3; + $7 = ((($1)) + 12|0); + $8 = HEAP32[$7>>2]|0; + $9 = Math_imul($6, $8)|0; + $10 = (_malloc($9)|0); + $11 = ($10|0)==(0|0); + if ($11) { + $$sroa$0$0 = 0;$$sroa$5$0 = 0;$$sroa$6$0 = 0;$$sroa$7$0 = 0; + } else { + $12 = ((($1)) + 16|0); + $13 = HEAP32[$12>>2]|0; + $14 = Math_imul($4, $2)|0; + $15 = Math_imul($14, $8)|0; + $16 = $15 >>> 3; + _memcpy(($10|0),($13|0),($16|0))|0; + $17 = HEAP32[$1>>2]|0; + $18 = ((($1)) + 4|0); + $19 = HEAP32[$18>>2]|0; + $20 = HEAP32[$3>>2]|0; + $21 = HEAP32[$7>>2]|0; + $$sroa$0$0 = $17;$$sroa$5$0 = $19;$$sroa$6$0 = $20;$$sroa$7$0 = $21; + } + HEAP32[$0>>2] = $$sroa$0$0; + $$sroa$5$0$$sroa_idx2 = ((($0)) + 4|0); + HEAP32[$$sroa$5$0$$sroa_idx2>>2] = $$sroa$5$0; + $$sroa$6$0$$sroa_idx4 = ((($0)) + 8|0); + HEAP32[$$sroa$6$0$$sroa_idx4>>2] = $$sroa$6$0; + $$sroa$7$0$$sroa_idx6 = ((($0)) + 12|0); + HEAP32[$$sroa$7$0$$sroa_idx6>>2] = $$sroa$7$0; + $$sroa$8$0$$sroa_idx8 = ((($0)) + 16|0); + HEAP32[$$sroa$8$0$$sroa_idx8>>2] = $10; + return; +} +function _WaveFormat($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$0153164 = 0, $$0154162 = 0, $$0155163 = 0, $$0156170 = 0, $$0157167 = 0, $$0165 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0; + var $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0; + var $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0; + var $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0; + var $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0.0, $171 = 0, $172 = 0, $173 = 0.0, $174 = 0.0, $175 = 0.0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $19 = 0, $20 = 0; + var $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0.0, $4 = 0; + var $40 = 0.0, $41 = 0.0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0.0, $49 = 0.0, $5 = 0, $50 = 0.0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0; + var $59 = 0, $6 = 0, $60 = 0, $61 = 0.0, $62 = 0.0, $63 = 0.0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0.0, $71 = 0.0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0; + var $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0.0, $83 = 0.0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0.0, $91 = 0.0, $92 = 0, $93 = 0, $94 = 0; + var $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond = 0, $or$cond = 0, $or$cond3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $4 = ((($0)) + 4|0); + $5 = HEAP32[$4>>2]|0; + $6 = ($5|0)==($1|0); + if (!($6)) { + HEAP32[$4>>2] = $1; + } + $7 = ((($0)) + 8|0); + $8 = HEAP32[$7>>2]|0; + $9 = ($8|0)==($2|0); + if (!($9)) { + $10 = HEAP32[$0>>2]|0; + $11 = ((($0)) + 12|0); + $12 = HEAP32[$11>>2]|0; + $13 = Math_imul($10, $2)|0; + $14 = Math_imul($13, $12)|0; + $15 = $14 >>> 3; + $16 = (_malloc($15)|0); + $17 = HEAP32[$0>>2]|0; + $18 = ($17|0)==(0); + if (!($18)) { + $19 = ((($0)) + 16|0); + $20 = ((($0)) + 16|0); + $21 = ((($0)) + 16|0); + $22 = ((($0)) + 16|0); + $23 = ((($0)) + 16|0); + $24 = ((($0)) + 16|0); + $$0156170 = 0; + while(1) { + $25 = HEAP32[$11>>2]|0; + $26 = ($25|0)==(0); + L10: do { + if (!($26)) { + $$0157167 = 0;$35 = $25; + while(1) { + L13: do { + switch ($2|0) { + case 8: { + $32 = HEAP32[$7>>2]|0; + switch ($32|0) { + case 16: { + $33 = HEAP32[$19>>2]|0; + $34 = Math_imul($35, $$0156170)|0; + $36 = (($34) + ($$0157167))|0; + $37 = (($33) + ($36<<1)|0); + $38 = HEAP16[$37>>1]|0; + $39 = (+($38<<16>>16)); + $40 = $39 / 32767.0; + $41 = $40 * 256.0; + $42 = (~~(($41))&255); + $43 = (($16) + ($36)|0); + HEAP8[$43>>0] = $42; + break L13; + break; + } + case 32: { + $44 = HEAP32[$20>>2]|0; + $45 = Math_imul($35, $$0156170)|0; + $46 = (($45) + ($$0157167))|0; + $47 = (($44) + ($46<<2)|0); + $48 = +HEAPF32[$47>>2]; + $49 = $48 * 127.0; + $50 = $49 + 127.0; + $51 = (~~(($50))&255); + $52 = (($16) + ($46)|0); + HEAP8[$52>>0] = $51; + break L13; + break; + } + default: { + break L13; + } + } + break; + } + case 16: { + $53 = HEAP32[$7>>2]|0; + switch ($53|0) { + case 8: { + $54 = HEAP32[$21>>2]|0; + $55 = Math_imul($35, $$0156170)|0; + $56 = (($55) + ($$0157167))|0; + $57 = (($54) + ($56)|0); + $58 = HEAP8[$57>>0]|0; + $59 = $58&255; + $60 = (($59) + -127)|0; + $61 = (+($60|0)); + $62 = $61 * 0.00390625; + $63 = $62 * 32767.0; + $64 = (~~(($63))); + $65 = (($16) + ($56<<1)|0); + HEAP16[$65>>1] = $64; + break L13; + break; + } + case 32: { + $66 = HEAP32[$22>>2]|0; + $67 = Math_imul($35, $$0156170)|0; + $68 = (($67) + ($$0157167))|0; + $69 = (($66) + ($68<<2)|0); + $70 = +HEAPF32[$69>>2]; + $71 = $70 * 32767.0; + $72 = (~~(($71))); + $73 = (($16) + ($68<<1)|0); + HEAP16[$73>>1] = $72; + break L13; + break; + } + default: { + break L13; + } + } + break; + } + case 32: { + $74 = HEAP32[$7>>2]|0; + switch ($74|0) { + case 8: { + $75 = HEAP32[$23>>2]|0; + $76 = Math_imul($35, $$0156170)|0; + $77 = (($76) + ($$0157167))|0; + $78 = (($75) + ($77)|0); + $79 = HEAP8[$78>>0]|0; + $80 = $79&255; + $81 = (($80) + -127)|0; + $82 = (+($81|0)); + $83 = $82 * 0.00390625; + $84 = (($16) + ($77<<2)|0); + HEAPF32[$84>>2] = $83; + break L13; + break; + } + case 16: { + $85 = HEAP32[$24>>2]|0; + $86 = Math_imul($35, $$0156170)|0; + $87 = (($86) + ($$0157167))|0; + $88 = (($85) + ($87<<1)|0); + $89 = HEAP16[$88>>1]|0; + $90 = (+($89<<16>>16)); + $91 = $90 / 32767.0; + $92 = (($16) + ($87<<2)|0); + HEAPF32[$92>>2] = $91; + break L13; + break; + } + default: { + break L13; + } + } + break; + } + default: { + } + } + } while(0); + $93 = (($$0157167) + 1)|0; + $94 = HEAP32[$11>>2]|0; + $95 = ($93>>>0)<($94>>>0); + if ($95) { + $$0157167 = $93;$35 = $94; + } else { + break L10; + } + } + } + } while(0); + $29 = (($$0156170) + 1)|0; + $30 = HEAP32[$0>>2]|0; + $31 = ($29>>>0)<($30>>>0); + if ($31) { + $$0156170 = $29; + } else { + break; + } + } + } + HEAP32[$7>>2] = $2; + $27 = ((($0)) + 16|0); + $28 = HEAP32[$27>>2]|0; + _free($28); + HEAP32[$27>>2] = $16; + } + $96 = ((($0)) + 12|0); + $97 = HEAP32[$96>>2]|0; + $98 = ($97|0)==($3|0); + if ($98) { + return; + } + $99 = HEAP32[$0>>2]|0; + $100 = HEAP32[$7>>2]|0; + $101 = Math_imul($100, $99)|0; + $102 = $101 >>> 3; + $103 = Math_imul($102, $3)|0; + $104 = (_malloc($103)|0); + $105 = HEAP32[$96>>2]|0; + $106 = ($105|0)==(1); + $107 = ($3|0)==(2); + $or$cond = $107 & $106; + L33: do { + if ($or$cond) { + $108 = HEAP32[$0>>2]|0; + $109 = ($108|0)==(0); + if (!($109)) { + $110 = ((($0)) + 16|0); + $111 = ((($0)) + 16|0); + $112 = ((($0)) + 16|0); + $$0155163 = 0; + while(1) { + $113 = Math_imul($$0155163, $3)|0; + $114 = Math_imul($$0155163, $3)|0; + $115 = Math_imul($$0155163, $3)|0; + $$0154162 = 0; + while(1) { + $119 = HEAP32[$7>>2]|0; + switch ($119|0) { + case 8: { + $120 = HEAP32[$110>>2]|0; + $121 = (($120) + ($$0155163)|0); + $122 = HEAP8[$121>>0]|0; + $123 = (($$0154162) + ($113))|0; + $124 = (($104) + ($123)|0); + HEAP8[$124>>0] = $122; + break; + } + case 16: { + $125 = HEAP32[$111>>2]|0; + $126 = (($125) + ($$0155163<<1)|0); + $127 = HEAP16[$126>>1]|0; + $128 = (($$0154162) + ($114))|0; + $129 = (($104) + ($128<<1)|0); + HEAP16[$129>>1] = $127; + break; + } + case 32: { + $130 = HEAP32[$112>>2]|0; + $131 = (($130) + ($$0155163<<2)|0); + $132 = HEAP32[$131>>2]|0; + $133 = (($$0154162) + ($115))|0; + $134 = (($104) + ($133<<2)|0); + HEAP32[$134>>2] = $132; + break; + } + default: { + } + } + $135 = (($$0154162) + 1)|0; + $exitcond = ($135|0)==($3|0); + if ($exitcond) { + break; + } else { + $$0154162 = $135; + } + } + $116 = (($$0155163) + 1)|0; + $117 = HEAP32[$0>>2]|0; + $118 = ($116>>>0)<($117>>>0); + if ($118) { + $$0155163 = $116; + } else { + break; + } + } + } + } else { + $136 = ($105|0)==(2); + $137 = ($3|0)==(1); + $or$cond3 = $137 & $136; + if ($or$cond3) { + $138 = HEAP32[$0>>2]|0; + $139 = ($138|0)==(0); + if (!($139)) { + $140 = ((($0)) + 16|0); + $141 = ((($0)) + 16|0); + $142 = ((($0)) + 16|0); + $$0153164 = 0;$$0165 = 0; + while(1) { + $143 = HEAP32[$7>>2]|0; + switch ($143|0) { + case 8: { + $144 = HEAP32[$140>>2]|0; + $145 = (($144) + ($$0165)|0); + $146 = HEAP8[$145>>0]|0; + $147 = $146&255; + $148 = $$0165 | 1; + $149 = (($144) + ($148)|0); + $150 = HEAP8[$149>>0]|0; + $151 = $150&255; + $152 = (($151) + ($147))|0; + $153 = $152 >>> 1; + $154 = $153&255; + $155 = (($104) + ($$0153164)|0); + HEAP8[$155>>0] = $154; + break; + } + case 16: { + $156 = HEAP32[$141>>2]|0; + $157 = (($156) + ($$0165<<1)|0); + $158 = HEAP16[$157>>1]|0; + $159 = $158 << 16 >> 16; + $160 = $$0165 | 1; + $161 = (($156) + ($160<<1)|0); + $162 = HEAP16[$161>>1]|0; + $163 = $162 << 16 >> 16; + $164 = (($163) + ($159))|0; + $165 = (($164|0) / 2)&-1; + $166 = $165&65535; + $167 = (($104) + ($$0153164<<1)|0); + HEAP16[$167>>1] = $166; + break; + } + case 32: { + $168 = HEAP32[$142>>2]|0; + $169 = (($168) + ($$0165<<2)|0); + $170 = +HEAPF32[$169>>2]; + $171 = $$0165 | 1; + $172 = (($168) + ($171<<2)|0); + $173 = +HEAPF32[$172>>2]; + $174 = $170 + $173; + $175 = $174 * 0.5; + $176 = (($104) + ($$0153164<<2)|0); + HEAPF32[$176>>2] = $175; + break; + } + default: { + } + } + $177 = (($$0153164) + 1)|0; + $178 = (($$0165) + 2)|0; + $179 = HEAP32[$0>>2]|0; + $180 = ($177>>>0)<($179>>>0); + if ($180) { + $$0153164 = $177;$$0165 = $178; + } else { + break L33; + } + } + } + } + } + } while(0); + HEAP32[$96>>2] = $3; + $181 = ((($0)) + 16|0); + $182 = HEAP32[$181>>2]|0; + _free($182); + HEAP32[$181>>2] = $104; + return; +} +function _stb_vorbis_open_filename($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$0 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = (_fopen($0,18034)|0); + $4 = ($3|0)==(0|0); + if ($4) { + $6 = ($1|0)==(0|0); + if ($6) { + $$0 = 0; + } else { + HEAP32[$1>>2] = 6; + $$0 = 0; + } + } else { + $5 = (_stb_vorbis_open_file($3,1,$1,$2)|0); + $$0 = $5; + } + return ($$0|0); +} +function _stb_vorbis_get_info($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$sroa$4$0$$sroa_idx2 = 0, $$sroa$5$0$$sroa_idx4 = 0, $$sroa$6$0$$sroa_idx6 = 0, $$sroa$7$0$$sroa_idx8 = 0, $$sroa$8$0$$sroa_idx10 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($1)) + 4|0); + $3 = HEAP32[$2>>2]|0; + $4 = HEAP32[$1>>2]|0; + $5 = ((($1)) + 8|0); + $6 = HEAP32[$5>>2]|0; + $7 = ((($1)) + 16|0); + $8 = HEAP32[$7>>2]|0; + $9 = ((($1)) + 12|0); + $10 = HEAP32[$9>>2]|0; + $11 = ((($1)) + 116|0); + $12 = HEAP32[$11>>2]|0; + $13 = $12 >> 1; + HEAP32[$0>>2] = $4; + $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); + HEAP32[$$sroa$4$0$$sroa_idx2>>2] = $3; + $$sroa$5$0$$sroa_idx4 = ((($0)) + 8|0); + HEAP32[$$sroa$5$0$$sroa_idx4>>2] = $6; + $$sroa$6$0$$sroa_idx6 = ((($0)) + 12|0); + HEAP32[$$sroa$6$0$$sroa_idx6>>2] = $8; + $$sroa$7$0$$sroa_idx8 = ((($0)) + 16|0); + HEAP32[$$sroa$7$0$$sroa_idx8>>2] = $10; + $$sroa$8$0$$sroa_idx10 = ((($0)) + 20|0); + HEAP32[$$sroa$8$0$$sroa_idx10>>2] = $13; + return; +} +function _stb_vorbis_stream_length_in_samples($0) { + $0 = $0|0; + var $$ = 0, $$0 = 0, $$050 = 0, $$51 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; + var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; + var $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $1 = sp + 4|0; + $2 = sp; + $3 = sp + 8|0; + $4 = ((($0)) + 48|0); + $5 = HEAP8[$4>>0]|0; + $6 = ($5<<24>>24)==(0); + if (!($6)) { + _error($0,2); + $$0 = 0; + STACKTOP = sp;return ($$0|0); + } + $7 = ((($0)) + 796|0); + $8 = HEAP32[$7>>2]|0; + $9 = ($8|0)==(0); + if ($9) { + $10 = (_stb_vorbis_get_file_offset($0)|0); + $11 = ((($0)) + 44|0); + $12 = HEAP32[$11>>2]|0; + $13 = ($12>>>0)>(65535); + $14 = ((($0)) + 52|0); + $15 = HEAP32[$14>>2]|0; + if ($13) { + $16 = (($12) + -65536)|0; + $17 = ($16>>>0)<($15>>>0); + if ($17) { + label = 6; + } else { + $$050 = $16; + } + } else { + label = 6; + } + if ((label|0) == 6) { + $$050 = $15; + } + _set_file_offset($0,$$050); + $18 = (_vorbis_find_page($0,$1,$2)|0); + $19 = ($18|0)==(0); + do { + if ($19) { + $20 = ((($0)) + 100|0); + HEAP32[$20>>2] = 36; + HEAP32[$7>>2] = -1; + } else { + while(1) { + $21 = (_stb_vorbis_get_file_offset($0)|0); + $22 = HEAP32[$2>>2]|0; + $23 = ($22|0)==(0); + if (!($23)) { + break; + } + $24 = HEAP32[$1>>2]|0; + _set_file_offset($0,$24); + $25 = (_vorbis_find_page($0,$1,$2)|0); + $26 = ($25|0)==(0); + if ($26) { + break; + } + } + _set_file_offset($0,$21); + (_getn($0,$3,6)|0); + $27 = (_get32($0)|0); + $28 = (_get32($0)|0); + $29 = $28 & $27; + $30 = ($29|0)==(-1); + if ($30) { + $31 = ((($0)) + 100|0); + HEAP32[$31>>2] = 36; + HEAP32[$7>>2] = -1; + break; + } else { + $32 = ($28|0)==(0); + $$ = $32 ? $27 : -2; + HEAP32[$7>>2] = $$; + $33 = ((($0)) + 68|0); + HEAP32[$33>>2] = $21; + $34 = HEAP32[$1>>2]|0; + $35 = ((($0)) + 72|0); + HEAP32[$35>>2] = $34; + $36 = ((($0)) + 76|0); + HEAP32[$36>>2] = $$; + break; + } + } + } while(0); + _set_file_offset($0,$10); + } + $37 = HEAP32[$7>>2]|0; + $38 = ($37|0)==(-1); + $$51 = $38 ? 0 : $37; + $$0 = $$51; + STACKTOP = sp;return ($$0|0); +} +function _stb_vorbis_stream_length_in_seconds($0) { + $0 = $0|0; + var $1 = 0, $2 = 0.0, $3 = 0, $4 = 0.0, $5 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (_stb_vorbis_stream_length_in_samples($0)|0); + $2 = (+($1>>>0)); + $3 = HEAP32[$0>>2]|0; + $4 = (+($3>>>0)); + $5 = $2 / $4; + return (+$5); +} +function _stb_vorbis_get_samples_short_interleaved($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$ = 0, $$041 = 0, $$042 = 0, $$1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; + var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $not$ = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $4 = sp; + $5 = (($3|0) / ($1|0))&-1; + $6 = ((($0)) + 4|0); + $7 = ((($0)) + 1508|0); + $8 = ((($0)) + 1504|0); + $9 = ((($0)) + 800|0); + $$041 = 0;$$042 = $2; + while(1) { + $10 = ($5|0)>($$041|0); + if (!($10)) { + $$1 = $$041; + label = 7; + break; + } + $11 = HEAP32[$7>>2]|0; + $12 = HEAP32[$8>>2]|0; + $13 = (($11) - ($12))|0; + $14 = (($13) + ($$041))|0; + $15 = ($14|0)<($5|0); + $16 = (($5) - ($$041))|0; + $$ = $15 ? $13 : $16; + $17 = ($$|0)==(0); + if (!($17)) { + $18 = HEAP32[$6>>2]|0; + _convert_channels_short_interleaved($1,$$042,$18,$9,$12,$$); + } + $19 = (($$) + ($$041))|0; + $20 = HEAP32[$8>>2]|0; + $21 = (($20) + ($$))|0; + HEAP32[$8>>2] = $21; + $22 = ($19|0)==($5|0); + if ($22) { + $$1 = $19; + label = 7; + break; + } + $23 = Math_imul($$, $1)|0; + $24 = (($$042) + ($23<<1)|0); + $25 = (_stb_vorbis_get_frame_float($0,0,$4)|0); + $not$ = ($25|0)==(0); + if ($not$) { + $$1 = $19; + label = 7; + break; + } else { + $$041 = $19;$$042 = $24; + } + } + if ((label|0) == 7) { + STACKTOP = sp;return ($$1|0); + } + return (0)|0; +} +function _stb_vorbis_close($0) { + $0 = $0|0; + var $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ($0|0)==(0|0); + if ($1) { + return; + } + _vorbis_deinit($0); + _setup_free($0,$0); + return; +} +function _vorbis_deinit($0) { + $0 = $0|0; + var $$0103 = 0, $$08399 = 0, $$195 = 0, $$293 = 0, $$392 = 0, $$lcssa = 0, $$lcssa89 = 0, $$lcssa90 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0; + var $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0; + var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0; + var $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0; + var $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0; + var $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0; + var $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 396|0); + $2 = HEAP32[$1>>2]|0; + $3 = ($2|0)==(0|0); + if (!($3)) { + $4 = ((($0)) + 264|0); + $5 = HEAP32[$4>>2]|0; + $6 = ($5|0)>(0); + if ($6) { + $7 = ((($0)) + 124|0); + $$0103 = 0; + while(1) { + $8 = HEAP32[$1>>2]|0; + $9 = (((($8) + (($$0103*24)|0)|0)) + 16|0); + $10 = HEAP32[$9>>2]|0; + $11 = ($10|0)==(0|0); + if (!($11)) { + $12 = HEAP32[$7>>2]|0; + $13 = (((($8) + (($$0103*24)|0)|0)) + 13|0); + $14 = HEAP8[$13>>0]|0; + $15 = $14&255; + $16 = (((($12) + (($15*2096)|0)|0)) + 4|0); + $17 = HEAP32[$16>>2]|0; + $18 = ($17|0)>(0); + $19 = HEAP32[$9>>2]|0; + if ($18) { + $$08399 = 0;$21 = $19; + while(1) { + $20 = (($21) + ($$08399<<2)|0); + $22 = HEAP32[$20>>2]|0; + _setup_free($0,$22); + $23 = (($$08399) + 1)|0; + $24 = HEAP32[$7>>2]|0; + $25 = HEAP8[$13>>0]|0; + $26 = $25&255; + $27 = (((($24) + (($26*2096)|0)|0)) + 4|0); + $28 = HEAP32[$27>>2]|0; + $29 = ($23|0)<($28|0); + $30 = HEAP32[$9>>2]|0; + if ($29) { + $$08399 = $23;$21 = $30; + } else { + $$lcssa90 = $30; + break; + } + } + } else { + $$lcssa90 = $19; + } + _setup_free($0,$$lcssa90); + } + $31 = (((($8) + (($$0103*24)|0)|0)) + 20|0); + $32 = HEAP32[$31>>2]|0; + _setup_free($0,$32); + $33 = (($$0103) + 1)|0; + $34 = HEAP32[$4>>2]|0; + $35 = ($33|0)<($34|0); + if ($35) { + $$0103 = $33; + } else { + break; + } + } + } + } + $36 = ((($0)) + 124|0); + $37 = HEAP32[$36>>2]|0; + $38 = ($37|0)==(0|0); + if (!($38)) { + $39 = ((($0)) + 120|0); + $40 = HEAP32[$39>>2]|0; + $41 = ($40|0)>(0); + $42 = HEAP32[$36>>2]|0; + if ($41) { + $$195 = 0;$44 = $42; + while(1) { + $43 = (((($44) + (($$195*2096)|0)|0)) + 8|0); + $45 = HEAP32[$43>>2]|0; + _setup_free($0,$45); + $46 = (((($44) + (($$195*2096)|0)|0)) + 28|0); + $47 = HEAP32[$46>>2]|0; + _setup_free($0,$47); + $48 = (((($44) + (($$195*2096)|0)|0)) + 32|0); + $49 = HEAP32[$48>>2]|0; + _setup_free($0,$49); + $50 = (((($44) + (($$195*2096)|0)|0)) + 2084|0); + $51 = HEAP32[$50>>2]|0; + _setup_free($0,$51); + $52 = (((($44) + (($$195*2096)|0)|0)) + 2088|0); + $53 = HEAP32[$52>>2]|0; + $54 = ($53|0)==(0|0); + $55 = ((($53)) + -4|0); + $56 = $54 ? 0 : $55; + _setup_free($0,$56); + $57 = (($$195) + 1)|0; + $58 = HEAP32[$39>>2]|0; + $59 = ($57|0)<($58|0); + $60 = HEAP32[$36>>2]|0; + if ($59) { + $$195 = $57;$44 = $60; + } else { + $$lcssa89 = $60; + break; + } + } + } else { + $$lcssa89 = $42; + } + _setup_free($0,$$lcssa89); + } + $61 = ((($0)) + 260|0); + $62 = HEAP32[$61>>2]|0; + _setup_free($0,$62); + $63 = HEAP32[$1>>2]|0; + _setup_free($0,$63); + $64 = ((($0)) + 404|0); + $65 = HEAP32[$64>>2]|0; + $66 = ($65|0)==(0|0); + if (!($66)) { + $67 = ((($0)) + 400|0); + $68 = HEAP32[$67>>2]|0; + $69 = ($68|0)>(0); + $70 = HEAP32[$64>>2]|0; + if ($69) { + $$293 = 0;$72 = $70; + while(1) { + $71 = (((($72) + (($$293*40)|0)|0)) + 4|0); + $73 = HEAP32[$71>>2]|0; + _setup_free($0,$73); + $74 = (($$293) + 1)|0; + $75 = HEAP32[$67>>2]|0; + $76 = ($74|0)<($75|0); + $77 = HEAP32[$64>>2]|0; + if ($76) { + $$293 = $74;$72 = $77; + } else { + $$lcssa = $77; + break; + } + } + } else { + $$lcssa = $70; + } + _setup_free($0,$$lcssa); + } + $78 = ((($0)) + 4|0); + $79 = HEAP32[$78>>2]|0; + $80 = ($79|0)>(0); + if ($80) { + $$392 = 0; + while(1) { + $81 = (((($0)) + 800|0) + ($$392<<2)|0); + $82 = HEAP32[$81>>2]|0; + _setup_free($0,$82); + $83 = (((($0)) + 928|0) + ($$392<<2)|0); + $84 = HEAP32[$83>>2]|0; + _setup_free($0,$84); + $85 = (((($0)) + 996|0) + ($$392<<2)|0); + $86 = HEAP32[$85>>2]|0; + _setup_free($0,$86); + $87 = (($$392) + 1)|0; + $88 = HEAP32[$78>>2]|0; + $89 = ($87|0)<($88|0); + $90 = ($87|0)<(16); + $91 = $90 & $89; + if ($91) { + $$392 = $87; + } else { + break; + } + } + } + $92 = ((($0)) + 1068|0); + $93 = HEAP32[$92>>2]|0; + _setup_free($0,$93); + $94 = ((($0)) + 1076|0); + $95 = HEAP32[$94>>2]|0; + _setup_free($0,$95); + $96 = ((($0)) + 1084|0); + $97 = HEAP32[$96>>2]|0; + _setup_free($0,$97); + $98 = ((($0)) + 1092|0); + $99 = HEAP32[$98>>2]|0; + _setup_free($0,$99); + $100 = ((($0)) + 1100|0); + $101 = HEAP32[$100>>2]|0; + _setup_free($0,$101); + $102 = ((($0)) + 1072|0); + $103 = HEAP32[$102>>2]|0; + _setup_free($0,$103); + $104 = ((($0)) + 1080|0); + $105 = HEAP32[$104>>2]|0; + _setup_free($0,$105); + $106 = ((($0)) + 1088|0); + $107 = HEAP32[$106>>2]|0; + _setup_free($0,$107); + $108 = ((($0)) + 1096|0); + $109 = HEAP32[$108>>2]|0; + _setup_free($0,$109); + $110 = ((($0)) + 1104|0); + $111 = HEAP32[$110>>2]|0; + _setup_free($0,$111); + $112 = ((($0)) + 28|0); + $113 = HEAP32[$112>>2]|0; + $114 = ($113|0)==(0); + if ($114) { + return; + } + $115 = ((($0)) + 20|0); + $116 = HEAP32[$115>>2]|0; + (_fclose($116)|0); + return; +} +function _setup_free($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($0)) + 80|0); + $3 = HEAP32[$2>>2]|0; + $4 = ($3|0)==(0|0); + if (!($4)) { + return; + } + _free($1); + return; +} +function _convert_channels_short_interleaved($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + var $$0 = 0, $$04866 = 0, $$04956 = 0, $$05265 = 0, $$1$lcssa = 0, $$150$lcssa = 0, $$15057 = 0, $$158 = 0, $$2$lcssa = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0; + var $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0.0, $27 = 0.0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, $exitcond = 0, $or$cond = 0, $or$cond3 = 0, $scevgep = 0, $smax = 0, $smax71 = 0, label = 0, sp = 0; + sp = STACKTOP; + $6 = ($0|0)!=($2|0); + $7 = ($0|0)<(3); + $or$cond = $7 & $6; + $8 = ($2|0)<(7); + $or$cond3 = $8 & $or$cond; + if ($or$cond3) { + $9 = ($0|0)==(2); + if ($9) { + $$04956 = 0; + } else { + ___assert_fail((17946|0),(17533|0),4759,(17957|0)); + // unreachable; + } + while(1) { + _compute_stereo_samples($1,$2,$3,$4,$5); + $10 = (($$04956) + 1)|0; + $11 = ($10|0)<($0|0); + if ($11) { + $$04956 = $10; + } else { + break; + } + } + return; + } + $12 = ($0|0)<($2|0); + $13 = $12 ? $0 : $2; + $14 = ($5|0)>(0); + if (!($14)) { + return; + } + $15 = ($13|0)>(0); + $16 = ($13|0)>(0); + $smax = $16 ? $13 : 0; + $17 = (($0) - ($smax))|0; + $18 = ($13|0)>(0); + $smax71 = $18 ? $13 : 0; + $19 = (($0) - ($smax71))|0; + $20 = $19 << 1; + $$04866 = $1;$$05265 = 0; + while(1) { + if ($15) { + $21 = (($$05265) + ($4))|0; + $$15057 = 0;$$158 = $$04866; + while(1) { + $23 = (($3) + ($$15057<<2)|0); + $24 = HEAP32[$23>>2]|0; + $25 = (($24) + ($21<<2)|0); + $26 = +HEAPF32[$25>>2]; + $27 = $26 + 384.0; + $28 = (HEAPF32[tempDoublePtr>>2]=$27,HEAP32[tempDoublePtr>>2]|0); + $29 = (($28) + -1136623616)|0; + $30 = ($29>>>0)>(65535); + $31 = ($28|0)<(1136656384); + $32 = $31 ? 32768 : 32767; + $$0 = $30 ? $32 : $28; + $33 = $$0&65535; + $34 = ((($$158)) + 2|0); + HEAP16[$$158>>1] = $33; + $35 = (($$15057) + 1)|0; + $36 = ($35|0)<($13|0); + if ($36) { + $$15057 = $35;$$158 = $34; + } else { + $$1$lcssa = $34;$$150$lcssa = $13; + break; + } + } + } else { + $$1$lcssa = $$04866;$$150$lcssa = 0; + } + $22 = ($$150$lcssa|0)<($0|0); + if ($22) { + _memset(($$1$lcssa|0),0,($20|0))|0; + $scevgep = (($$1$lcssa) + ($17<<1)|0); + $$2$lcssa = $scevgep; + } else { + $$2$lcssa = $$1$lcssa; + } + $37 = (($$05265) + 1)|0; + $exitcond = ($37|0)==($5|0); + if ($exitcond) { + break; + } else { + $$04866 = $$2$lcssa;$$05265 = $37; + } + } + return; +} +function _stb_vorbis_get_frame_float($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$020 = 0, $$022 = 0, $$lcssa = 0, $$lcssa21 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; + var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + $6 = ((($0)) + 48|0); + $7 = HEAP8[$6>>0]|0; + $8 = ($7<<24>>24)==(0); + if (!($8)) { + _error($0,2); + $$020 = 0; + STACKTOP = sp;return ($$020|0); + } + $9 = (_vorbis_decode_packet($0,$3,$5,$4)|0); + $10 = ($9|0)==(0); + if ($10) { + $11 = ((($0)) + 1508|0); + HEAP32[$11>>2] = 0; + $12 = ((($0)) + 1504|0); + HEAP32[$12>>2] = 0; + $$020 = 0; + STACKTOP = sp;return ($$020|0); + } + $13 = HEAP32[$3>>2]|0; + $14 = HEAP32[$5>>2]|0; + $15 = HEAP32[$4>>2]|0; + $16 = (_vorbis_finish_frame($0,$13,$14,$15)|0); + HEAP32[$3>>2] = $16; + $17 = ((($0)) + 4|0); + $18 = HEAP32[$17>>2]|0; + $19 = ($18|0)>(0); + $20 = HEAP32[$5>>2]|0; + if ($19) { + $21 = HEAP32[$5>>2]|0; + $$022 = 0;$25 = $20; + while(1) { + $22 = (((($0)) + 800|0) + ($$022<<2)|0); + $23 = HEAP32[$22>>2]|0; + $24 = (($23) + ($25<<2)|0); + $26 = (((($0)) + 864|0) + ($$022<<2)|0); + HEAP32[$26>>2] = $24; + $27 = (($$022) + 1)|0; + $28 = HEAP32[$17>>2]|0; + $29 = ($27|0)<($28|0); + if ($29) { + $$022 = $27;$25 = $21; + } else { + $$lcssa = $21;$$lcssa21 = $28; + break; + } + } + } else { + $$lcssa = $20;$$lcssa21 = $18; + } + $30 = ((($0)) + 1504|0); + HEAP32[$30>>2] = $$lcssa; + $31 = HEAP32[$3>>2]|0; + $32 = (($31) + ($$lcssa))|0; + $33 = ((($0)) + 1508|0); + HEAP32[$33>>2] = $32; + $34 = ($1|0)==(0|0); + if (!($34)) { + HEAP32[$1>>2] = $$lcssa21; + } + $35 = ($2|0)==(0|0); + if ($35) { + $$020 = $31; + STACKTOP = sp;return ($$020|0); + } + $36 = ((($0)) + 864|0); + HEAP32[$2>>2] = $36; + $$020 = $31; + STACKTOP = sp;return ($$020|0); +} +function _error($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($0)) + 100|0); + HEAP32[$2>>2] = $1; + return; +} +function _vorbis_decode_packet($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $4 = sp + 8|0; + $5 = sp + 4|0; + $6 = sp; + $7 = (_vorbis_decode_initial($0,$2,$5,$3,$6,$4)|0); + $8 = ($7|0)==(0); + if ($8) { + $$0 = 0; + STACKTOP = sp;return ($$0|0); + } + $9 = HEAP32[$4>>2]|0; + $10 = (((($0)) + 412|0) + (($9*6)|0)|0); + $11 = HEAP32[$2>>2]|0; + $12 = HEAP32[$3>>2]|0; + $13 = HEAP32[$6>>2]|0; + $14 = (_vorbis_decode_packet_rest($0,$1,$10,$11,$12,$13,$2)|0); + $$0 = $14; + STACKTOP = sp;return ($$0|0); +} +function _vorbis_finish_frame($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$ = 0, $$0 = 0, $$06775 = 0, $$06878 = 0, $$06972 = 0, $$07073 = 0, $$pr = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0.0, $21 = 0, $22 = 0.0; + var $23 = 0.0, $24 = 0, $25 = 0.0, $26 = 0, $27 = 0, $28 = 0.0, $29 = 0.0, $30 = 0.0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; + var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0; + var $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond79 = 0, label = 0, sp = 0; + sp = STACKTOP; + $4 = ((($0)) + 992|0); + $5 = HEAP32[$4>>2]|0; + $6 = ($5|0)==(0); + if ($6) { + $54 = 0; + } else { + $7 = (_get_window($0,$5)|0); + $8 = ((($0)) + 4|0); + $9 = HEAP32[$8>>2]|0; + $10 = ($9|0)>(0); + if ($10) { + $11 = ($5|0)>(0); + $12 = HEAP32[$8>>2]|0; + $13 = (($5) + -1)|0; + $$06878 = 0; + while(1) { + if ($11) { + $14 = (((($0)) + 800|0) + ($$06878<<2)|0); + $15 = HEAP32[$14>>2]|0; + $16 = (((($0)) + 928|0) + ($$06878<<2)|0); + $17 = HEAP32[$16>>2]|0; + $$06775 = 0; + while(1) { + $18 = (($$06775) + ($2))|0; + $19 = (($15) + ($18<<2)|0); + $20 = +HEAPF32[$19>>2]; + $21 = (($7) + ($$06775<<2)|0); + $22 = +HEAPF32[$21>>2]; + $23 = $20 * $22; + $24 = (($17) + ($$06775<<2)|0); + $25 = +HEAPF32[$24>>2]; + $26 = (($13) - ($$06775))|0; + $27 = (($7) + ($26<<2)|0); + $28 = +HEAPF32[$27>>2]; + $29 = $25 * $28; + $30 = $23 + $29; + HEAPF32[$19>>2] = $30; + $31 = (($$06775) + 1)|0; + $exitcond79 = ($31|0)==($5|0); + if ($exitcond79) { + break; + } else { + $$06775 = $31; + } + } + } + $32 = (($$06878) + 1)|0; + $33 = ($32|0)<($12|0); + if ($33) { + $$06878 = $32; + } else { + break; + } + } + } + $$pr = HEAP32[$4>>2]|0; + $54 = $$pr; + } + $34 = (($1) - ($3))|0; + HEAP32[$4>>2] = $34; + $35 = ((($0)) + 4|0); + $36 = HEAP32[$35>>2]|0; + $37 = ($36|0)>(0); + if ($37) { + $38 = ($1|0)>($3|0); + $39 = HEAP32[$35>>2]|0; + $40 = (($1) - ($3))|0; + $$07073 = 0; + while(1) { + if ($38) { + $41 = (((($0)) + 800|0) + ($$07073<<2)|0); + $42 = HEAP32[$41>>2]|0; + $43 = (((($0)) + 928|0) + ($$07073<<2)|0); + $44 = HEAP32[$43>>2]|0; + $$06972 = 0;$46 = $3; + while(1) { + $45 = (($42) + ($46<<2)|0); + $47 = HEAP32[$45>>2]|0; + $48 = (($44) + ($$06972<<2)|0); + HEAP32[$48>>2] = $47; + $49 = (($$06972) + 1)|0; + $50 = (($49) + ($3))|0; + $exitcond = ($49|0)==($40|0); + if ($exitcond) { + break; + } else { + $$06972 = $49;$46 = $50; + } + } + } + $51 = (($$07073) + 1)|0; + $52 = ($51|0)<($39|0); + if ($52) { + $$07073 = $51; + } else { + break; + } + } + } + $53 = ($54|0)==(0); + $55 = ($1|0)<($3|0); + $$ = $55 ? $1 : $3; + $56 = (($$) - ($2))|0; + $57 = ((($0)) + 1416|0); + if ($53) { + $$0 = 0; + return ($$0|0); + } + $58 = HEAP32[$57>>2]|0; + $59 = (($58) + ($56))|0; + HEAP32[$57>>2] = $59; + $$0 = $56; + return ($$0|0); +} +function _get_window($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $$sink = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = $1 << 1; + $3 = ((($0)) + 112|0); + $4 = HEAP32[$3>>2]|0; + $5 = ($2|0)==($4|0); + if ($5) { + $$sink = 0; + } else { + $6 = ((($0)) + 116|0); + $7 = HEAP32[$6>>2]|0; + $8 = ($2|0)==($7|0); + if ($8) { + $$sink = 1; + } else { + ___assert_fail((17531|0),(17533|0),2658,(17555|0)); + // unreachable; + } + } + $9 = (((($0)) + 1092|0) + ($$sink<<2)|0); + $$0 = HEAP32[$9>>2]|0; + return ($$0|0); +} +function _vorbis_decode_initial($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + var $$0 = 0, $$062 = 0, $$063 = 0, $$064 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; + var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; + var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0; + var $65 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond3 = 0, $phitmp = 0, $storemerge = 0, $storemerge65 = 0, label = 0, sp = 0; + sp = STACKTOP; + $6 = ((($0)) + 1508|0); + HEAP32[$6>>2] = 0; + $7 = ((($0)) + 1504|0); + HEAP32[$7>>2] = 0; + $8 = ((($0)) + 96|0); + $9 = HEAP32[$8>>2]|0; + $10 = ($9|0)==(0); + if (!($10)) { + $$0 = 0; + return ($$0|0); + } + $11 = ((($0)) + 48|0); + while(1) { + $14 = (_maybe_start_packet($0)|0); + $15 = ($14|0)==(0); + if ($15) { + $$0 = 0; + label = 24; + break; + } + $16 = (_get_bits($0,1)|0); + $17 = ($16|0)==(0); + if ($17) { + label = 9; + break; + } + $18 = HEAP8[$11>>0]|0; + $19 = ($18<<24>>24)==(0); + if (!($19)) { + label = 7; + break; + } + while(1) { + $20 = (_get8_packet($0)|0); + $21 = ($20|0)==(-1); + if ($21) { + break; + } + } + $12 = HEAP32[$8>>2]|0; + $13 = ($12|0)==(0); + if (!($13)) { + $$0 = 0; + label = 24; + break; + } + } + if ((label|0) == 7) { + _error($0,35); + $$0 = 0; + return ($$0|0); + } + else if ((label|0) == 9) { + $22 = ((($0)) + 80|0); + $23 = HEAP32[$22>>2]|0; + $24 = ($23|0)==(0|0); + if (!($24)) { + $25 = ((($0)) + 84|0); + $26 = HEAP32[$25>>2]|0; + $27 = ((($0)) + 92|0); + $28 = HEAP32[$27>>2]|0; + $29 = ($26|0)==($28|0); + if (!($29)) { + ___assert_fail((17566|0),(17533|0),2737,(17924|0)); + // unreachable; + } + } + $30 = ((($0)) + 408|0); + $31 = HEAP32[$30>>2]|0; + $32 = (($31) + -1)|0; + $33 = (_ilog($32)|0); + $34 = (_get_bits($0,$33)|0); + $35 = ($34|0)==(-1); + if ($35) { + $$0 = 0; + return ($$0|0); + } + $36 = HEAP32[$30>>2]|0; + $37 = ($34|0)<($36|0); + if (!($37)) { + $$0 = 0; + return ($$0|0); + } + HEAP32[$5>>2] = $34; + $38 = (((($0)) + 412|0) + (($34*6)|0)|0); + $39 = HEAP8[$38>>0]|0; + $40 = ($39<<24>>24)==(0); + if ($40) { + $45 = ((($0)) + 112|0); + $46 = HEAP32[$45>>2]|0; + $$062 = 0;$$063 = 0;$$064 = $46; + } else { + $41 = ((($0)) + 116|0); + $42 = HEAP32[$41>>2]|0; + $43 = (_get_bits($0,1)|0); + $44 = (_get_bits($0,1)|0); + $phitmp = ($43|0)!=(0); + $$062 = $44;$$063 = $phitmp;$$064 = $42; + } + $47 = $$064 >> 1; + $48 = HEAP8[$38>>0]|0; + $49 = ($48<<24>>24)==(0); + $or$cond = $$063 | $49; + if ($or$cond) { + HEAP32[$1>>2] = 0; + $storemerge = $47; + } else { + $50 = ((($0)) + 112|0); + $51 = HEAP32[$50>>2]|0; + $52 = (($$064) - ($51))|0; + $53 = $52 >> 2; + HEAP32[$1>>2] = $53; + $54 = HEAP32[$50>>2]|0; + $55 = (($54) + ($$064))|0; + $56 = $55 >> 2; + $storemerge = $56; + } + HEAP32[$2>>2] = $storemerge; + $57 = ($$062|0)!=(0); + $or$cond3 = $57 | $49; + if ($or$cond3) { + HEAP32[$3>>2] = $47; + $storemerge65 = $$064; + } else { + $58 = ($$064*3)|0; + $59 = ((($0)) + 112|0); + $60 = HEAP32[$59>>2]|0; + $61 = (($58) - ($60))|0; + $62 = $61 >> 2; + HEAP32[$3>>2] = $62; + $63 = HEAP32[$59>>2]|0; + $64 = (($63) + ($58))|0; + $65 = $64 >> 2; + $storemerge65 = $65; + } + HEAP32[$4>>2] = $storemerge65; + $$0 = 1; + return ($$0|0); + } + else if ((label|0) == 24) { + return ($$0|0); + } + return (0)|0; +} +function _vorbis_decode_packet_rest($0,$1,$2,$3,$4,$5,$6) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + $6 = $6|0; + var $$ = 0, $$0409 = 0.0, $$0410 = 0.0, $$0411 = 0, $$041263 = 0, $$041652 = 0, $$0421$lcssa = 0, $$042133 = 0, $$042347 = 0, $$0427 = 0, $$042851 = 0, $$11 = 0, $$13 = 0, $$141341 = 0, $$141756 = 0, $$1422 = 0, $$1429$lcssa = 0, $$142946 = 0, $$1432 = 0, $$1437 = 0; + var $$241438 = 0, $$241860 = 0, $$2430 = 0, $$2438 = 0, $$3 = 0, $$341530 = 0, $$341530$in = 0, $$341934 = 0, $$424 = 0, $$442026 = 0, $$4435$ph = 0, $$443545 = 0, $$523 = 0, $$6 = 0, $$7 = 0, $$8 = 0, $$lcssa19 = 0, $$sink$sink = 0, $$sink3 = 0, $$sink3$in = 0; + var $$sink5 = 0, $$sink9 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; + var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; + var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; + var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; + var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; + var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0; + var $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0; + var $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0; + var $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0; + var $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0; + var $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0; + var $298 = 0, $299 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0.0, $305 = 0, $306 = 0, $307 = 0.0, $308 = 0, $309 = 0.0, $31 = 0, $310 = 0.0, $311 = 0.0, $312 = 0.0, $313 = 0, $314 = 0, $315 = 0; + var $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0; + var $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0; + var $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0; + var $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0; + var $389 = 0, $39 = 0, $390 = 0, $391 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0; + var $56 = 0, $57 = 0, $58 = 0, $59 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0; + var $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0; + var $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond = 0, $exitcond69 = 0, $storemerge = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 2560|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(2560|0); + $7 = sp + 1280|0; + $8 = sp + 256|0; + $9 = sp; + $10 = sp + 2304|0; + $11 = HEAP8[$2>>0]|0; + $12 = $11&255; + $13 = (((($0)) + 104|0) + ($12<<2)|0); + $14 = HEAP32[$13>>2]|0; + $15 = ((($0)) + 404|0); + $16 = HEAP32[$15>>2]|0; + $17 = ((($2)) + 1|0); + $18 = HEAP8[$17>>0]|0; + $19 = $18&255; + $20 = (($16) + (($19*40)|0)|0); + $21 = $14 >> 1; + $22 = (0 - ($21))|0; + $23 = ((($0)) + 4|0); + $24 = HEAP32[$23>>2]|0; + $25 = ($24|0)>(0); + L1: do { + if ($25) { + $26 = (((($16) + (($19*40)|0)|0)) + 4|0); + $27 = ((($0)) + 260|0); + $28 = ((($0)) + 1396|0); + $29 = ((($9)) + 1|0); + $30 = ((($0)) + 124|0); + $31 = ((($0)) + 1396|0); + $32 = ((($0)) + 1392|0); + $33 = ((($0)) + 124|0); + $34 = ((($0)) + 1396|0); + $35 = ((($0)) + 1392|0); + $$041263 = 0; + while(1) { + $36 = HEAP32[$26>>2]|0; + $37 = (((($36) + (($$041263*3)|0)|0)) + 2|0); + $38 = HEAP8[$37>>0]|0; + $39 = $38&255; + $40 = (($7) + ($$041263<<2)|0); + HEAP32[$40>>2] = 0; + $41 = ((((($16) + (($19*40)|0)|0)) + 9|0) + ($39)|0); + $42 = HEAP8[$41>>0]|0; + $43 = $42&255; + $44 = (((($0)) + 132|0) + ($43<<1)|0); + $45 = HEAP16[$44>>1]|0; + $46 = ($45<<16>>16)==(0); + if ($46) { + break; + } + $47 = HEAP32[$27>>2]|0; + $48 = (_get_bits($0,1)|0); + $49 = ($48|0)==(0); + do { + if ($49) { + label = 48; + } else { + $50 = (((($47) + (($43*1596)|0)|0)) + 1588|0); + $51 = HEAP8[$50>>0]|0; + $52 = $51&255; + $53 = (($52) + -1)|0; + $54 = (3804 + ($53<<2)|0); + $55 = HEAP32[$54>>2]|0; + $56 = (((($0)) + 996|0) + ($$041263<<2)|0); + $57 = HEAP32[$56>>2]|0; + $58 = (_ilog($55)|0); + $59 = (($58) + -1)|0; + $60 = (_get_bits($0,$59)|0); + $61 = $60&65535; + HEAP16[$57>>1] = $61; + $62 = (_get_bits($0,$59)|0); + $63 = $62&65535; + $64 = ((($57)) + 2|0); + HEAP16[$64>>1] = $63; + $65 = (($47) + (($43*1596)|0)|0); + $66 = HEAP8[$65>>0]|0; + $67 = ($66<<24>>24)==(0); + if (!($67)) { + $$041652 = 0;$$042851 = 2; + while(1) { + $68 = ((((($47) + (($43*1596)|0)|0)) + 1|0) + ($$041652)|0); + $69 = HEAP8[$68>>0]|0; + $70 = $69&255; + $71 = ((((($47) + (($43*1596)|0)|0)) + 33|0) + ($70)|0); + $72 = HEAP8[$71>>0]|0; + $73 = $72&255; + $74 = ((((($47) + (($43*1596)|0)|0)) + 49|0) + ($70)|0); + $75 = HEAP8[$74>>0]|0; + $76 = $75&255; + $77 = 1 << $76; + $78 = (($77) + -1)|0; + $79 = ($75<<24>>24)==(0); + if ($79) { + $$4435$ph = 0; + } else { + $80 = HEAP32[$30>>2]|0; + $81 = ((((($47) + (($43*1596)|0)|0)) + 65|0) + ($70)|0); + $82 = HEAP8[$81>>0]|0; + $83 = $82&255; + $84 = (($80) + (($83*2096)|0)|0); + $85 = HEAP32[$31>>2]|0; + $86 = ($85|0)<(10); + if ($86) { + _prep_huffman($0); + } + $87 = HEAP32[$32>>2]|0; + $88 = $87 & 1023; + $89 = ((((($80) + (($83*2096)|0)|0)) + 36|0) + ($88<<1)|0); + $90 = HEAP16[$89>>1]|0; + $91 = $90 << 16 >> 16; + $92 = ($90<<16>>16)>(-1); + if ($92) { + $93 = (((($80) + (($83*2096)|0)|0)) + 8|0); + $94 = HEAP32[$93>>2]|0; + $95 = (($94) + ($91)|0); + $96 = HEAP8[$95>>0]|0; + $97 = $96&255; + $98 = $87 >>> $97; + HEAP32[$32>>2] = $98; + $99 = HEAP32[$31>>2]|0; + $100 = (($99) - ($97))|0; + $101 = ($100|0)<(0); + $$ = $101 ? 0 : $100; + $$6 = $101 ? -1 : $91; + HEAP32[$31>>2] = $$; + $$1432 = $$6; + } else { + $102 = (_codebook_decode_scalar_raw($0,$84)|0); + $$1432 = $102; + } + $103 = (((($80) + (($83*2096)|0)|0)) + 23|0); + $104 = HEAP8[$103>>0]|0; + $105 = ($104<<24>>24)==(0); + if ($105) { + $$4435$ph = $$1432; + } else { + $106 = (((($80) + (($83*2096)|0)|0)) + 2088|0); + $107 = HEAP32[$106>>2]|0; + $108 = (($107) + ($$1432<<2)|0); + $109 = HEAP32[$108>>2]|0; + $$4435$ph = $109; + } + } + $110 = ($72<<24>>24)==(0); + if ($110) { + $$1429$lcssa = $$042851; + } else { + $$042347 = 0;$$142946 = $$042851;$$443545 = $$4435$ph; + while(1) { + $111 = $$443545 & $78; + $112 = (((((($47) + (($43*1596)|0)|0)) + 82|0) + ($70<<4)|0) + ($111<<1)|0); + $113 = HEAP16[$112>>1]|0; + $114 = $$443545 >> $76; + $115 = ($113<<16>>16)>(-1); + if ($115) { + $116 = $113 << 16 >> 16; + $117 = HEAP32[$33>>2]|0; + $118 = (($117) + (($116*2096)|0)|0); + $119 = HEAP32[$34>>2]|0; + $120 = ($119|0)<(10); + if ($120) { + _prep_huffman($0); + } + $121 = HEAP32[$35>>2]|0; + $122 = $121 & 1023; + $123 = ((((($117) + (($116*2096)|0)|0)) + 36|0) + ($122<<1)|0); + $124 = HEAP16[$123>>1]|0; + $125 = $124 << 16 >> 16; + $126 = ($124<<16>>16)>(-1); + if ($126) { + $127 = (((($117) + (($116*2096)|0)|0)) + 8|0); + $128 = HEAP32[$127>>2]|0; + $129 = (($128) + ($125)|0); + $130 = HEAP8[$129>>0]|0; + $131 = $130&255; + $132 = $121 >>> $131; + HEAP32[$35>>2] = $132; + $133 = HEAP32[$34>>2]|0; + $134 = (($133) - ($131))|0; + $135 = ($134|0)<(0); + $$7 = $135 ? 0 : $134; + $$8 = $135 ? -1 : $125; + HEAP32[$34>>2] = $$7; + $$1437 = $$8; + } else { + $136 = (_codebook_decode_scalar_raw($0,$118)|0); + $$1437 = $136; + } + $137 = (((($117) + (($116*2096)|0)|0)) + 23|0); + $138 = HEAP8[$137>>0]|0; + $139 = ($138<<24>>24)==(0); + if ($139) { + $$2438 = $$1437; + } else { + $140 = (((($117) + (($116*2096)|0)|0)) + 2088|0); + $141 = HEAP32[$140>>2]|0; + $142 = (($141) + ($$1437<<2)|0); + $143 = HEAP32[$142>>2]|0; + $$2438 = $143; + } + $144 = $$2438&65535; + $$sink9 = $144; + } else { + $$sink9 = 0; + } + $145 = (($57) + ($$142946<<1)|0); + HEAP16[$145>>1] = $$sink9; + $$2430 = (($$142946) + 1)|0; + $146 = (($$042347) + 1)|0; + $exitcond69 = ($146|0)==($73|0); + if ($exitcond69) { + break; + } else { + $$042347 = $146;$$142946 = $$2430;$$443545 = $114; + } + } + $147 = (($$042851) + ($73))|0; + $$1429$lcssa = $147; + } + $148 = (($$041652) + 1)|0; + $149 = HEAP8[$65>>0]|0; + $150 = $149&255; + $151 = ($148|0)<($150|0); + if ($151) { + $$041652 = $148;$$042851 = $$1429$lcssa; + } else { + break; + } + } + } + $152 = HEAP32[$28>>2]|0; + $153 = ($152|0)==(-1); + if ($153) { + label = 48; + break; + } + HEAP8[$29>>0] = 1; + HEAP8[$9>>0] = 1; + $154 = (((($47) + (($43*1596)|0)|0)) + 1592|0); + $155 = HEAP32[$154>>2]|0; + $156 = ($155|0)>(2); + if ($156) { + $157 = (($55) + 65535)|0; + $$141756 = 2; + while(1) { + $161 = ((((($47) + (($43*1596)|0)|0)) + 1088|0) + ($$141756<<1)|0); + $162 = HEAP8[$161>>0]|0; + $163 = $162&255; + $164 = ((((((($47) + (($43*1596)|0)|0)) + 1088|0) + ($$141756<<1)|0)) + 1|0); + $165 = HEAP8[$164>>0]|0; + $166 = $165&255; + $167 = ((((($47) + (($43*1596)|0)|0)) + 338|0) + ($$141756<<1)|0); + $168 = HEAP16[$167>>1]|0; + $169 = $168&65535; + $170 = ((((($47) + (($43*1596)|0)|0)) + 338|0) + ($163<<1)|0); + $171 = HEAP16[$170>>1]|0; + $172 = $171&65535; + $173 = ((((($47) + (($43*1596)|0)|0)) + 338|0) + ($166<<1)|0); + $174 = HEAP16[$173>>1]|0; + $175 = $174&65535; + $176 = (($57) + ($163<<1)|0); + $177 = HEAP16[$176>>1]|0; + $178 = $177 << 16 >> 16; + $179 = (($57) + ($166<<1)|0); + $180 = HEAP16[$179>>1]|0; + $181 = $180 << 16 >> 16; + $182 = (_predict_point($169,$172,$175,$178,$181)|0); + $183 = (($57) + ($$141756<<1)|0); + $184 = HEAP16[$183>>1]|0; + $185 = $184 << 16 >> 16; + $186 = (($55) - ($182))|0; + $187 = ($184<<16>>16)==(0); + do { + if ($187) { + $203 = (($9) + ($$141756)|0); + HEAP8[$203>>0] = 0; + $204 = $182&65535; + $$sink$sink = $204; + } else { + $188 = ($186|0)<($182|0); + $$11 = $188 ? $186 : $182; + $$0427 = $$11 << 1; + $189 = (($9) + ($166)|0); + HEAP8[$189>>0] = 1; + $190 = (($9) + ($163)|0); + HEAP8[$190>>0] = 1; + $191 = (($9) + ($$141756)|0); + HEAP8[$191>>0] = 1; + $192 = ($185|0)<($$0427|0); + if (!($192)) { + $193 = ($186|0)>($182|0); + if ($193) { + $$sink$sink = $184; + break; + } + $194 = (($157) - ($185))|0; + $195 = $194&65535; + $$sink$sink = $195; + break; + } + $196 = $185 & 1; + $197 = ($196|0)==(0); + if ($197) { + $201 = $185 >>> 1; + $202 = (($201) + ($182))|0; + $$sink3$in = $202; + } else { + $198 = (($185) + 1)|0; + $199 = $198 >> 1; + $200 = (($182) - ($199))|0; + $$sink3$in = $200; + } + $$sink3 = $$sink3$in&65535; + $$sink$sink = $$sink3; + } + } while(0); + HEAP16[$183>>1] = $$sink$sink; + $205 = (($$141756) + 1)|0; + $206 = HEAP32[$154>>2]|0; + $207 = ($205|0)<($206|0); + if ($207) { + $$141756 = $205; + } else { + $159 = $206; + break; + } + } + } else { + $159 = $155; + } + $158 = ($159|0)>(0); + if ($158) { + $160 = HEAP32[$154>>2]|0; + $$241860 = 0; + while(1) { + $208 = (($9) + ($$241860)|0); + $209 = HEAP8[$208>>0]|0; + $210 = ($209<<24>>24)==(0); + if ($210) { + $211 = (($57) + ($$241860<<1)|0); + HEAP16[$211>>1] = -1; + } + $212 = (($$241860) + 1)|0; + $213 = ($212|0)<($160|0); + if ($213) { + $$241860 = $212; + } else { + break; + } + } + } + } + } while(0); + if ((label|0) == 48) { + label = 0; + HEAP32[$40>>2] = 1; + } + $214 = (($$041263) + 1)|0; + $215 = HEAP32[$23>>2]|0; + $216 = ($214|0)<($215|0); + if ($216) { + $$041263 = $214; + } else { + $$lcssa19 = $215; + break L1; + } + } + _error($0,21); + $$3 = 0; + STACKTOP = sp;return ($$3|0); + } else { + $$lcssa19 = $24; + } + } while(0); + $217 = ((($0)) + 80|0); + $218 = HEAP32[$217>>2]|0; + $219 = ($218|0)==(0|0); + if (!($219)) { + $220 = ((($0)) + 84|0); + $221 = HEAP32[$220>>2]|0; + $222 = ((($0)) + 92|0); + $223 = HEAP32[$222>>2]|0; + $224 = ($221|0)==($223|0); + if (!($224)) { + ___assert_fail((17566|0),(17533|0),2886,(17622|0)); + // unreachable; + } + } + $225 = $$lcssa19 << 2; + _memcpy(($8|0),($7|0),($225|0))|0; + $226 = HEAP16[$20>>1]|0; + $227 = ($226<<16>>16)==(0); + if (!($227)) { + $228 = (((($16) + (($19*40)|0)|0)) + 4|0); + $229 = HEAP32[$228>>2]|0; + $230 = HEAP16[$20>>1]|0; + $231 = $230&65535; + $$141341 = 0; + while(1) { + $236 = (($229) + (($$141341*3)|0)|0); + $237 = HEAP8[$236>>0]|0; + $238 = $237&255; + $239 = (($7) + ($238<<2)|0); + $240 = HEAP32[$239>>2]|0; + $241 = ($240|0)==(0); + $242 = (((($229) + (($$141341*3)|0)|0)) + 1|0); + $243 = HEAP8[$242>>0]|0; + $244 = $243&255; + if ($241) { + label = 59; + } else { + $245 = (($7) + ($244<<2)|0); + $246 = HEAP32[$245>>2]|0; + $247 = ($246|0)==(0); + if ($247) { + label = 59; + } + } + if ((label|0) == 59) { + label = 0; + $248 = (($7) + ($244<<2)|0); + HEAP32[$248>>2] = 0; + HEAP32[$239>>2] = 0; + } + $249 = (($$141341) + 1)|0; + $250 = ($249|0)<($231|0); + if ($250) { + $$141341 = $249; + } else { + break; + } + } + } + $232 = (((($16) + (($19*40)|0)|0)) + 8|0); + $233 = HEAP8[$232>>0]|0; + $234 = ($233<<24>>24)==(0); + if (!($234)) { + $235 = (((($16) + (($19*40)|0)|0)) + 4|0); + $$241438 = 0; + while(1) { + $251 = HEAP32[$23>>2]|0; + $252 = ($251|0)>(0); + if ($252) { + $253 = HEAP32[$235>>2]|0; + $254 = HEAP32[$23>>2]|0; + $$042133 = 0;$$341934 = 0; + while(1) { + $255 = (((($253) + (($$341934*3)|0)|0)) + 2|0); + $256 = HEAP8[$255>>0]|0; + $257 = $256&255; + $258 = ($257|0)==($$241438|0); + if ($258) { + $259 = (($7) + ($$341934<<2)|0); + $260 = HEAP32[$259>>2]|0; + $261 = ($260|0)==(0); + $262 = (($10) + ($$042133)|0); + if ($261) { + HEAP8[$262>>0] = 0; + $263 = (((($0)) + 800|0) + ($$341934<<2)|0); + $264 = HEAP32[$263>>2]|0; + $$sink5 = $264; + } else { + HEAP8[$262>>0] = 1; + $$sink5 = 0; + } + $265 = (($9) + ($$042133<<2)|0); + HEAP32[$265>>2] = $$sink5; + $266 = (($$042133) + 1)|0; + $$1422 = $266; + } else { + $$1422 = $$042133; + } + $267 = (($$341934) + 1)|0; + $268 = ($267|0)<($254|0); + if ($268) { + $$042133 = $$1422;$$341934 = $267; + } else { + $$0421$lcssa = $$1422; + break; + } + } + } else { + $$0421$lcssa = 0; + } + $269 = ((((($16) + (($19*40)|0)|0)) + 24|0) + ($$241438)|0); + $270 = HEAP8[$269>>0]|0; + $271 = $270&255; + _decode_residue($0,$9,$$0421$lcssa,$21,$271,$10); + $272 = (($$241438) + 1)|0; + $273 = HEAP8[$232>>0]|0; + $274 = $273&255; + $275 = ($272|0)<($274|0); + if ($275) { + $$241438 = $272; + } else { + break; + } + } + } + $276 = HEAP32[$217>>2]|0; + $277 = ($276|0)==(0|0); + if (!($277)) { + $278 = ((($0)) + 84|0); + $279 = HEAP32[$278>>2]|0; + $280 = ((($0)) + 92|0); + $281 = HEAP32[$280>>2]|0; + $282 = ($279|0)==($281|0); + if (!($282)) { + ___assert_fail((17566|0),(17533|0),2919,(17622|0)); + // unreachable; + } + } + $283 = HEAP16[$20>>1]|0; + $284 = ($283<<16>>16)==(0); + if (!($284)) { + $285 = $283&65535; + $286 = (((($16) + (($19*40)|0)|0)) + 4|0); + $287 = HEAP32[$286>>2]|0; + $288 = ($21|0)>(0); + $$341530$in = $285; + while(1) { + $$341530 = (($$341530$in) + -1)|0; + $293 = (($287) + (($$341530*3)|0)|0); + $294 = HEAP8[$293>>0]|0; + $295 = $294&255; + $296 = (((($0)) + 800|0) + ($295<<2)|0); + $297 = HEAP32[$296>>2]|0; + $298 = (((($287) + (($$341530*3)|0)|0)) + 1|0); + $299 = HEAP8[$298>>0]|0; + $300 = $299&255; + $301 = (((($0)) + 800|0) + ($300<<2)|0); + $302 = HEAP32[$301>>2]|0; + if ($288) { + $$442026 = 0; + while(1) { + $303 = (($297) + ($$442026<<2)|0); + $304 = +HEAPF32[$303>>2]; + $305 = $304 > 0.0; + $306 = (($302) + ($$442026<<2)|0); + $307 = +HEAPF32[$306>>2]; + $308 = $307 > 0.0; + do { + if ($305) { + if ($308) { + $309 = $304 - $307; + $$0409 = $304;$$0410 = $309; + break; + } else { + $310 = $304 + $307; + $$0409 = $310;$$0410 = $304; + break; + } + } else { + if ($308) { + $311 = $304 + $307; + $$0409 = $304;$$0410 = $311; + break; + } else { + $312 = $304 - $307; + $$0409 = $312;$$0410 = $304; + break; + } + } + } while(0); + HEAPF32[$303>>2] = $$0409; + HEAPF32[$306>>2] = $$0410; + $313 = (($$442026) + 1)|0; + $exitcond = ($313|0)==($21|0); + if ($exitcond) { + break; + } else { + $$442026 = $313; + } + } + } + $289 = ($$341530$in|0)>(1); + if ($289) { + $$341530$in = $$341530; + } else { + break; + } + } + } + $290 = HEAP32[$23>>2]|0; + $291 = ($290|0)>(0); + if ($291) { + $292 = $21 << 2; + $$424 = 0; + while(1) { + $316 = (($8) + ($$424<<2)|0); + $317 = HEAP32[$316>>2]|0; + $318 = ($317|0)==(0); + $319 = (((($0)) + 800|0) + ($$424<<2)|0); + $320 = HEAP32[$319>>2]|0; + if ($318) { + $321 = (((($0)) + 996|0) + ($$424<<2)|0); + $322 = HEAP32[$321>>2]|0; + _do_floor($0,$20,$$424,$14,$320,$322); + } else { + _memset(($320|0),0,($292|0))|0; + } + $323 = (($$424) + 1)|0; + $315 = HEAP32[$23>>2]|0; + $324 = ($323|0)<($315|0); + if ($324) { + $$424 = $323; + } else { + break; + } + } + $314 = ($315|0)>(0); + if ($314) { + $$523 = 0; + while(1) { + $325 = (((($0)) + 800|0) + ($$523<<2)|0); + $326 = HEAP32[$325>>2]|0; + $327 = HEAP8[$2>>0]|0; + $328 = $327&255; + _inverse_mdct($326,$14,$0,$328); + $329 = (($$523) + 1)|0; + $330 = HEAP32[$23>>2]|0; + $331 = ($329|0)<($330|0); + if ($331) { + $$523 = $329; + } else { + break; + } + } + } + } + _flush_packet($0); + $332 = ((($0)) + 1377|0); + $333 = HEAP8[$332>>0]|0; + $334 = ($333<<24>>24)==(0); + do { + if ($334) { + $339 = ((($0)) + 1412|0); + $340 = HEAP32[$339>>2]|0; + $341 = ($340|0)==(0); + if ($341) { + $$0411 = $3; + } else { + $342 = (($4) - ($3))|0; + $343 = ($340|0)<($342|0); + if ($343) { + $345 = (($340) + ($3))|0; + HEAP32[$6>>2] = $345; + HEAP32[$339>>2] = 0; + $$0411 = $345; + break; + } else { + $344 = (($340) - ($342))|0; + HEAP32[$339>>2] = $344; + HEAP32[$6>>2] = $4; + $$0411 = $4; + break; + } + } + } else { + $335 = ((($0)) + 1060|0); + HEAP32[$335>>2] = $22; + $336 = (($14) - ($5))|0; + $337 = ((($0)) + 1412|0); + HEAP32[$337>>2] = $336; + $338 = ((($0)) + 1064|0); + HEAP32[$338>>2] = 1; + HEAP8[$332>>0] = 0; + $$0411 = $3; + } + } while(0); + $346 = ((($0)) + 1388|0); + $347 = HEAP32[$346>>2]|0; + $348 = ((($0)) + 1404|0); + $349 = HEAP32[$348>>2]|0; + $350 = ($347|0)==($349|0); + if ($350) { + $351 = ((($0)) + 1064|0); + $352 = HEAP32[$351>>2]|0; + $353 = ($352|0)==(0); + if (!($353)) { + $354 = ((($0)) + 1375|0); + $355 = HEAP8[$354>>0]|0; + $356 = $355 & 4; + $357 = ($356<<24>>24)==(0); + if (!($357)) { + $358 = ((($0)) + 1408|0); + $359 = HEAP32[$358>>2]|0; + $360 = (($5) - ($14))|0; + $361 = (($359) + ($360))|0; + $362 = ((($0)) + 1060|0); + $363 = HEAP32[$362>>2]|0; + $364 = (($5) - ($$0411))|0; + $365 = (($364) + ($363))|0; + $366 = ($361>>>0)<($365>>>0); + $367 = ($361>>>0)<($363>>>0); + $368 = (($361) - ($363))|0; + $storemerge = $367 ? 0 : $368; + $369 = (($storemerge) + ($$0411))|0; + $370 = ($369|0)>($5|0); + $$13 = $370 ? $5 : $369; + if ($366) { + HEAP32[$1>>2] = $$13; + $371 = HEAP32[$362>>2]|0; + $372 = (($371) + ($$13))|0; + HEAP32[$362>>2] = $372; + $$3 = 1; + STACKTOP = sp;return ($$3|0); + } + } + } + $373 = ((($0)) + 1408|0); + $374 = HEAP32[$373>>2]|0; + $375 = (($$0411) - ($21))|0; + $376 = (($375) + ($374))|0; + $377 = ((($0)) + 1060|0); + HEAP32[$377>>2] = $376; + HEAP32[$351>>2] = 1; + } + $378 = ((($0)) + 1064|0); + $379 = HEAP32[$378>>2]|0; + $380 = ($379|0)==(0); + $381 = ((($0)) + 1060|0); + if (!($380)) { + $382 = (($4) - ($$0411))|0; + $383 = HEAP32[$381>>2]|0; + $384 = (($382) + ($383))|0; + HEAP32[$381>>2] = $384; + } + $385 = HEAP32[$217>>2]|0; + $386 = ($385|0)==(0|0); + if (!($386)) { + $387 = ((($0)) + 84|0); + $388 = HEAP32[$387>>2]|0; + $389 = ((($0)) + 92|0); + $390 = HEAP32[$389>>2]|0; + $391 = ($388|0)==($390|0); + if (!($391)) { + ___assert_fail((17566|0),(17533|0),3035,(17622|0)); + // unreachable; + } + } + HEAP32[$1>>2] = $5; + $$3 = 1; + STACKTOP = sp;return ($$3|0); +} +function _get_bits($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$2 = 0, $$pr = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($0)) + 1396|0); + $3 = HEAP32[$2>>2]|0; + $4 = ($3|0)<(0); + if ($4) { + $$2 = 0; + return ($$2|0); + } + $5 = ($3|0)<($1|0); + L4: do { + if ($5) { + $6 = ($1|0)>(24); + if ($6) { + $7 = (_get_bits($0,24)|0); + $8 = (($1) + -24)|0; + $9 = (_get_bits($0,$8)|0); + $10 = $9 << 24; + $11 = (($10) + ($7))|0; + return ($11|0); + } + $12 = ($3|0)==(0); + if ($12) { + $13 = ((($0)) + 1392|0); + HEAP32[$13>>2] = 0; + } + $14 = HEAP32[$2>>2]|0; + $15 = ($14|0)<($1|0); + if ($15) { + $16 = ((($0)) + 1392|0); + while(1) { + $17 = (_get8_packet_raw($0)|0); + $18 = ($17|0)==(-1); + if ($18) { + break; + } + $19 = HEAP32[$2>>2]|0; + $20 = $17 << $19; + $21 = HEAP32[$16>>2]|0; + $22 = (($21) + ($20))|0; + HEAP32[$16>>2] = $22; + $23 = (($19) + 8)|0; + HEAP32[$2>>2] = $23; + $24 = ($23|0)<($1|0); + if (!($24)) { + $26 = $23; + break L4; + } + } + HEAP32[$2>>2] = -1; + $$2 = 0; + return ($$2|0); + } else { + $26 = $14; + } + } else { + $$pr = HEAP32[$2>>2]|0; + $26 = $$pr; + } + } while(0); + $25 = ($26|0)<(0); + if ($25) { + $$2 = 0; + return ($$2|0); + } + $27 = ((($0)) + 1392|0); + $28 = HEAP32[$27>>2]|0; + $29 = 1 << $1; + $30 = (($29) + -1)|0; + $31 = $28 & $30; + $32 = $28 >>> $1; + HEAP32[$27>>2] = $32; + $33 = (($26) - ($1))|0; + HEAP32[$2>>2] = $33; + $$2 = $31; + return ($$2|0); +} +function _ilog($0) { + $0 = $0|0; + var $$0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ($0|0)<(0); + if ($1) { + $$0 = 0; + return ($$0|0); + } + $2 = ($0|0)<(16384); + if ($2) { + $3 = ($0|0)<(16); + if ($3) { + $4 = (17908 + ($0)|0); + $5 = HEAP8[$4>>0]|0; + $6 = $5 << 24 >> 24; + $$0 = $6; + return ($$0|0); + } + $7 = ($0|0)<(512); + if ($7) { + $8 = $0 >>> 5; + $9 = (17908 + ($8)|0); + $10 = HEAP8[$9>>0]|0; + $11 = $10 << 24 >> 24; + $12 = (($11) + 5)|0; + $$0 = $12; + return ($$0|0); + } else { + $13 = $0 >>> 10; + $14 = (17908 + ($13)|0); + $15 = HEAP8[$14>>0]|0; + $16 = $15 << 24 >> 24; + $17 = (($16) + 10)|0; + $$0 = $17; + return ($$0|0); + } + } + $18 = ($0|0)<(16777216); + if ($18) { + $19 = ($0|0)<(524288); + if ($19) { + $20 = $0 >>> 15; + $21 = (17908 + ($20)|0); + $22 = HEAP8[$21>>0]|0; + $23 = $22 << 24 >> 24; + $24 = (($23) + 15)|0; + $$0 = $24; + return ($$0|0); + } else { + $25 = $0 >>> 20; + $26 = (17908 + ($25)|0); + $27 = HEAP8[$26>>0]|0; + $28 = $27 << 24 >> 24; + $29 = (($28) + 20)|0; + $$0 = $29; + return ($$0|0); + } + } else { + $30 = ($0|0)<(536870912); + if ($30) { + $31 = $0 >>> 25; + $32 = (17908 + ($31)|0); + $33 = HEAP8[$32>>0]|0; + $34 = $33 << 24 >> 24; + $35 = (($34) + 25)|0; + $$0 = $35; + return ($$0|0); + } else { + $36 = $0 >>> 30; + $37 = (17908 + ($36)|0); + $38 = HEAP8[$37>>0]|0; + $39 = $38 << 24 >> 24; + $40 = (($39) + 30)|0; + $$0 = $40; + return ($$0|0); + } + } + return (0)|0; +} +function _prep_huffman($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; + var label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 1396|0); + $2 = HEAP32[$1>>2]|0; + $3 = ($2|0)<(25); + if (!($3)) { + return; + } + $4 = ($2|0)==(0); + if ($4) { + $5 = ((($0)) + 1392|0); + HEAP32[$5>>2] = 0; + } + $6 = ((($0)) + 1376|0); + $7 = ((($0)) + 1384|0); + $8 = ((($0)) + 1392|0); + while(1) { + $9 = HEAP32[$7>>2]|0; + $10 = ($9|0)==(0); + if (!($10)) { + $11 = HEAP8[$6>>0]|0; + $12 = ($11<<24>>24)==(0); + if ($12) { + label = 9; + break; + } + } + $13 = (_get8_packet_raw($0)|0); + $14 = ($13|0)==(-1); + if ($14) { + label = 9; + break; + } + $15 = HEAP32[$1>>2]|0; + $16 = $13 << $15; + $17 = HEAP32[$8>>2]|0; + $18 = (($17) + ($16))|0; + HEAP32[$8>>2] = $18; + $19 = (($15) + 8)|0; + HEAP32[$1>>2] = $19; + $20 = ($19|0)<(25); + if (!($20)) { + label = 9; + break; + } + } + if ((label|0) == 9) { + return; + } +} +function _codebook_decode_scalar_raw($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $$06574 = 0, $$06676 = 0, $$068$lcssa = 0, $$06875 = 0, $$1 = 0, $$167 = 0, $$169 = 0, $$2 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0; + var $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0; + var $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0; + var $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0; + var $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $9 = 0, $storemerge = 0, label = 0, sp = 0; + sp = STACKTOP; + _prep_huffman($0); + $2 = ((($1)) + 32|0); + $3 = HEAP32[$2>>2]|0; + $4 = ($3|0)==(0|0); + if ($4) { + $5 = ((($1)) + 2084|0); + $6 = HEAP32[$5>>2]|0; + $7 = ($6|0)==(0|0); + if ($7) { + $$1 = -1; + return ($$1|0); + } + } + $8 = ((($1)) + 4|0); + $9 = HEAP32[$8>>2]|0; + $10 = ($9|0)>(8); + if ($10) { + $11 = ((($1)) + 2084|0); + $12 = HEAP32[$11>>2]|0; + $13 = ($12|0)==(0|0); + if (!($13)) { + label = 6; + } + } else { + $14 = HEAP32[$2>>2]|0; + $15 = ($14|0)==(0|0); + if ($15) { + label = 6; + } + } + if ((label|0) == 6) { + $16 = ((($0)) + 1392|0); + $17 = HEAP32[$16>>2]|0; + $18 = (_bit_reverse($17)|0); + $19 = ((($1)) + 2092|0); + $20 = HEAP32[$19>>2]|0; + $21 = ($20|0)>(1); + if ($21) { + $22 = ((($1)) + 2084|0); + $23 = HEAP32[$22>>2]|0; + $$06676 = $20;$$06875 = 0; + while(1) { + $24 = $$06676 >>> 1; + $25 = (($24) + ($$06875))|0; + $26 = (($23) + ($25<<2)|0); + $27 = HEAP32[$26>>2]|0; + $28 = ($27>>>0)>($18>>>0); + $29 = (($$06676) - ($24))|0; + $$169 = $28 ? $$06875 : $25; + $$167 = $28 ? $24 : $29; + $30 = ($$167|0)>(1); + if ($30) { + $$06676 = $$167;$$06875 = $$169; + } else { + $$068$lcssa = $$169; + break; + } + } + } else { + $$068$lcssa = 0; + } + $31 = ((($1)) + 23|0); + $32 = HEAP8[$31>>0]|0; + $33 = ($32<<24>>24)==(0); + if ($33) { + $34 = ((($1)) + 2088|0); + $35 = HEAP32[$34>>2]|0; + $36 = (($35) + ($$068$lcssa<<2)|0); + $37 = HEAP32[$36>>2]|0; + $$2 = $37; + } else { + $$2 = $$068$lcssa; + } + $38 = ((($1)) + 8|0); + $39 = HEAP32[$38>>2]|0; + $40 = (($39) + ($$2)|0); + $41 = HEAP8[$40>>0]|0; + $42 = $41&255; + $43 = ((($0)) + 1396|0); + $44 = HEAP32[$43>>2]|0; + $45 = ($44|0)<($42|0); + if ($45) { + $$0 = -1;$storemerge = 0; + } else { + $46 = (($44) - ($42))|0; + $47 = HEAP32[$16>>2]|0; + $48 = $47 >>> $42; + HEAP32[$16>>2] = $48; + $$0 = $$2;$storemerge = $46; + } + HEAP32[$43>>2] = $storemerge; + $$1 = $$0; + return ($$1|0); + } + $49 = ((($1)) + 23|0); + $50 = HEAP8[$49>>0]|0; + $51 = ($50<<24>>24)==(0); + if (!($51)) { + ___assert_fail((17870|0),(17533|0),1254,(17881|0)); + // unreachable; + } + $52 = HEAP32[$8>>2]|0; + $53 = ($52|0)>(0); + L26: do { + if ($53) { + $54 = ((($1)) + 8|0); + $55 = HEAP32[$54>>2]|0; + $56 = ((($0)) + 1392|0); + $$06574 = 0; + while(1) { + $57 = (($55) + ($$06574)|0); + $58 = HEAP8[$57>>0]|0; + $59 = $58&255; + $60 = ($58<<24>>24)==(-1); + if (!($60)) { + $61 = HEAP32[$2>>2]|0; + $62 = (($61) + ($$06574<<2)|0); + $63 = HEAP32[$62>>2]|0; + $64 = HEAP32[$56>>2]|0; + $65 = 1 << $59; + $66 = (($65) + -1)|0; + $67 = $64 & $66; + $68 = ($63|0)==($67|0); + if ($68) { + break; + } + } + $76 = (($$06574) + 1)|0; + $77 = HEAP32[$8>>2]|0; + $78 = ($76|0)<($77|0); + if ($78) { + $$06574 = $76; + } else { + break L26; + } + } + $69 = ((($0)) + 1396|0); + $70 = HEAP32[$69>>2]|0; + $71 = ($70|0)<($59|0); + if ($71) { + HEAP32[$69>>2] = 0; + $$1 = -1; + return ($$1|0); + } else { + $72 = $64 >>> $59; + HEAP32[$56>>2] = $72; + $73 = HEAP8[$57>>0]|0; + $74 = $73&255; + $75 = (($70) - ($74))|0; + HEAP32[$69>>2] = $75; + $$1 = $$06574; + return ($$1|0); + } + } + } while(0); + _error($0,21); + $79 = ((($0)) + 1396|0); + HEAP32[$79>>2] = 0; + $$1 = -1; + return ($$1|0); +} +function _predict_point($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$p = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $ispos = 0, $neg = 0, label = 0, sp = 0; + sp = STACKTOP; + $5 = (($4) - ($3))|0; + $6 = (($2) - ($1))|0; + $ispos = ($5|0)>(-1); + $neg = (0 - ($5))|0; + $7 = $ispos ? $5 : $neg; + $8 = (($0) - ($1))|0; + $9 = Math_imul($7, $8)|0; + $10 = (($9|0) / ($6|0))&-1; + $11 = ($5|0)<(0); + $12 = (0 - ($10))|0; + $$p = $11 ? $12 : $10; + $13 = (($$p) + ($3))|0; + return ($13|0); +} +function _decode_residue($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + var $$ = 0, $$0434$lcssa = 0, $$0434590 = 0, $$0437586 = 0, $$0439574 = 0, $$0444572 = 0, $$0465608 = 0, $$0466607 = 0, $$0613 = 0, $$1435596 = 0, $$1438611 = 0, $$1440$lcssa = 0, $$1440567 = 0, $$1451 = 0, $$1463 = 0, $$1467$lcssa = 0, $$1467603 = 0, $$1469 = 0, $$1472 = 0, $$1568 = 0; + var $$2436599 = 0, $$2446562 = 0, $$2452 = 0, $$2464 = 0, $$2470 = 0, $$2473 = 0, $$2561 = 0, $$3442564 = 0, $$3578 = 0, $$4443$lcssa = 0, $$4443560 = 0, $$4448582 = 0, $$4605 = 0, $$477 = 0, $$480 = 0, $$481 = 0, $$484 = 0, $$485 = 0, $$488 = 0, $$489 = 0; + var $$6584 = 0, $$7$lcssa = 0, $$7577 = 0, $$alloca_mul = 0, $$not = 0, $$not617 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0; + var $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0; + var $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0; + var $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0; + var $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0; + var $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0; + var $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0; + var $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0; + var $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0; + var $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0; + var $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0; + var $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0; + var $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0; + var $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0; + var $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0; + var $367 = 0, $368 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0; + var $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0; + var $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0; + var $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $brmerge = 0, $exitcond = 0, $not$ = 0, $not$521 = 0, $not$522 = 0, $not$523 = 0, $or$cond = 0, $or$cond478 = 0, $or$cond478566 = 0, $or$cond482 = 0, $or$cond482559 = 0; + var $or$cond486 = 0, $or$cond486576 = 0, $or$cond490 = 0, $or$cond490602 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $6 = sp + 4|0; + $7 = sp; + $8 = ((($0)) + 396|0); + $9 = HEAP32[$8>>2]|0; + $10 = (((($0)) + 268|0) + ($4<<1)|0); + $11 = HEAP16[$10>>1]|0; + $12 = $11&65535; + $13 = (((($9) + (($4*24)|0)|0)) + 13|0); + $14 = HEAP8[$13>>0]|0; + $15 = $14&255; + $16 = ((($0)) + 124|0); + $17 = HEAP32[$16>>2]|0; + $18 = (($17) + (($15*2096)|0)|0); + $19 = HEAP32[$18>>2]|0; + $20 = (((($9) + (($4*24)|0)|0)) + 4|0); + $21 = HEAP32[$20>>2]|0; + $22 = (($9) + (($4*24)|0)|0); + $23 = HEAP32[$22>>2]|0; + $24 = (($21) - ($23))|0; + $25 = (((($9) + (($4*24)|0)|0)) + 8|0); + $26 = HEAP32[$25>>2]|0; + $27 = (($24>>>0) / ($26>>>0))&-1; + $28 = ((($0)) + 92|0); + $29 = HEAP32[$28>>2]|0; + $30 = ((($0)) + 80|0); + $31 = HEAP32[$30>>2]|0; + $32 = ($31|0)==(0|0); + $33 = $27 << 2; + $34 = (($33) + 4)|0; + $35 = ((($0)) + 4|0); + $36 = HEAP32[$35>>2]|0; + $37 = Math_imul($36, $34)|0; + if ($32) { + $$alloca_mul = $37; + $39 = STACKTOP; STACKTOP = STACKTOP + ((((1*$$alloca_mul)|0)+15)&-16)|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(((((1*$$alloca_mul)|0)+15)&-16)|0);; + $41 = $39; + } else { + $38 = (_setup_temp_malloc($0,$37)|0); + $41 = $38; + } + $40 = HEAP32[$35>>2]|0; + $42 = (_make_block_array($41,$40,$33)|0); + $43 = ($2|0)>(0); + if ($43) { + $44 = $3 << 2; + $$0613 = 0; + while(1) { + $45 = (($5) + ($$0613)|0); + $46 = HEAP8[$45>>0]|0; + $47 = ($46<<24>>24)==(0); + if ($47) { + $48 = (($1) + ($$0613<<2)|0); + $49 = HEAP32[$48>>2]|0; + _memset(($49|0),0,($44|0))|0; + } + $50 = (($$0613) + 1)|0; + $exitcond = ($50|0)==($2|0); + if ($exitcond) { + break; + } else { + $$0613 = $50; + } + } + } + $51 = ($11<<16>>16)==(2); + $52 = ($2|0)!=(1); + $or$cond = $52 & $51; + if (!($or$cond)) { + $53 = ($27|0)>(0); + $54 = ($19|0)>(0); + $55 = ($2|0)>(0); + $56 = (((($9) + (($4*24)|0)|0)) + 20|0); + $57 = ((($0)) + 1396|0); + $58 = ((($0)) + 1392|0); + $59 = (((($9) + (($4*24)|0)|0)) + 16|0); + $$not617 = ($2|0)<(1); + $$1438611 = 0; + L15: while(1) { + if ($53) { + $$not = ($$1438611|0)!=(0); + $brmerge = $$not | $$not617; + $$0465608 = 0;$$0466607 = 0; + while(1) { + if (!($brmerge)) { + $$1435596 = 0; + while(1) { + $294 = (($5) + ($$1435596)|0); + $295 = HEAP8[$294>>0]|0; + $296 = ($295<<24>>24)==(0); + if ($296) { + $297 = HEAP32[$16>>2]|0; + $298 = HEAP8[$13>>0]|0; + $299 = $298&255; + $300 = (($297) + (($299*2096)|0)|0); + $301 = HEAP32[$57>>2]|0; + $302 = ($301|0)<(10); + if ($302) { + _prep_huffman($0); + } + $303 = HEAP32[$58>>2]|0; + $304 = $303 & 1023; + $305 = ((((($297) + (($299*2096)|0)|0)) + 36|0) + ($304<<1)|0); + $306 = HEAP16[$305>>1]|0; + $307 = $306 << 16 >> 16; + $308 = ($306<<16>>16)>(-1); + if ($308) { + $309 = (((($297) + (($299*2096)|0)|0)) + 8|0); + $310 = HEAP32[$309>>2]|0; + $311 = (($310) + ($307)|0); + $312 = HEAP8[$311>>0]|0; + $313 = $312&255; + $314 = $303 >>> $313; + HEAP32[$58>>2] = $314; + $315 = HEAP32[$57>>2]|0; + $316 = (($315) - ($313))|0; + $317 = ($316|0)<(0); + $$488 = $317 ? 0 : $316; + $$489 = $317 ? -1 : $307; + HEAP32[$57>>2] = $$488; + $$1463 = $$489; + } else { + $318 = (_codebook_decode_scalar_raw($0,$300)|0); + $$1463 = $318; + } + $319 = (((($297) + (($299*2096)|0)|0)) + 23|0); + $320 = HEAP8[$319>>0]|0; + $321 = ($320<<24>>24)==(0); + if ($321) { + $$2464 = $$1463; + } else { + $322 = (((($297) + (($299*2096)|0)|0)) + 2088|0); + $323 = HEAP32[$322>>2]|0; + $324 = (($323) + ($$1463<<2)|0); + $325 = HEAP32[$324>>2]|0; + $$2464 = $325; + } + $326 = ($$2464|0)==(-1); + if ($326) { + label = 98; + break L15; + } + $327 = HEAP32[$59>>2]|0; + $328 = (($327) + ($$2464<<2)|0); + $329 = HEAP32[$328>>2]|0; + $330 = (($41) + ($$1435596<<2)|0); + $331 = HEAP32[$330>>2]|0; + $332 = (($331) + ($$0465608<<2)|0); + HEAP32[$332>>2] = $329; + } + $333 = (($$1435596) + 1)|0; + $334 = ($333|0)<($2|0); + if ($334) { + $$1435596 = $333; + } else { + break; + } + } + } + $293 = ($$0466607|0)<($27|0); + $or$cond490602 = $293 & $54; + if ($or$cond490602) { + $$1467603 = $$0466607;$$4605 = 0; + while(1) { + if ($55) { + $$2436599 = 0; + while(1) { + $335 = (($5) + ($$2436599)|0); + $336 = HEAP8[$335>>0]|0; + $337 = ($336<<24>>24)==(0); + if ($337) { + $338 = (($41) + ($$2436599<<2)|0); + $339 = HEAP32[$338>>2]|0; + $340 = (($339) + ($$0465608<<2)|0); + $341 = HEAP32[$340>>2]|0; + $342 = (($341) + ($$4605)|0); + $343 = HEAP8[$342>>0]|0; + $344 = $343&255; + $345 = HEAP32[$56>>2]|0; + $346 = ((($345) + ($344<<4)|0) + ($$1438611<<1)|0); + $347 = HEAP16[$346>>1]|0; + $348 = ($347<<16>>16)>(-1); + if ($348) { + $349 = $347 << 16 >> 16; + $350 = (($1) + ($$2436599<<2)|0); + $351 = HEAP32[$350>>2]|0; + $352 = HEAP32[$22>>2]|0; + $353 = HEAP32[$25>>2]|0; + $354 = Math_imul($353, $$1467603)|0; + $355 = (($354) + ($352))|0; + $356 = HEAP32[$16>>2]|0; + $357 = (($356) + (($349*2096)|0)|0); + $358 = (_residue_decode($0,$357,$351,$355,$353,$12)|0); + $not$ = ($358|0)==(0); + if ($not$) { + label = 98; + break L15; + } + } + } + $359 = (($$2436599) + 1)|0; + $360 = ($359|0)<($2|0); + if ($360) { + $$2436599 = $359; + } else { + break; + } + } + } + $361 = (($$4605) + 1)|0; + $362 = (($$1467603) + 1)|0; + $363 = ($361|0)<($19|0); + $364 = ($362|0)<($27|0); + $or$cond490 = $364 & $363; + if ($or$cond490) { + $$1467603 = $362;$$4605 = $361; + } else { + $$1467$lcssa = $362; + break; + } + } + } else { + $$1467$lcssa = $$0466607; + } + $365 = (($$0465608) + 1)|0; + $366 = ($$1467$lcssa|0)<($27|0); + if ($366) { + $$0465608 = $365;$$0466607 = $$1467$lcssa; + } else { + break; + } + } + } + $367 = (($$1438611) + 1)|0; + $368 = ($367|0)<(8); + if ($368) { + $$1438611 = $367; + } else { + label = 98; + break; + } + } + if ((label|0) == 98) { + HEAP32[$28>>2] = $29; + STACKTOP = sp;return; + } + } + $60 = ($2|0)>(0); + L57: do { + if ($60) { + $$0434590 = 0; + while(1) { + $61 = (($5) + ($$0434590)|0); + $62 = HEAP8[$61>>0]|0; + $63 = ($62<<24>>24)==(0); + if ($63) { + $$0434$lcssa = $$0434590; + break L57; + } + $64 = (($$0434590) + 1)|0; + $65 = ($64|0)<($2|0); + if ($65) { + $$0434590 = $64; + } else { + $$0434$lcssa = $64; + break; + } + } + } else { + $$0434$lcssa = 0; + } + } while(0); + $66 = ($$0434$lcssa|0)==($2|0); + if ($66) { + HEAP32[$28>>2] = $29; + STACKTOP = sp;return; + } + $67 = ($27|0)>(0); + $68 = ((($0)) + 1396|0); + $69 = ((($0)) + 1392|0); + $70 = (((($9) + (($4*24)|0)|0)) + 16|0); + $71 = ($19|0)>(0); + $72 = (((($9) + (($4*24)|0)|0)) + 20|0); + $73 = ($27|0)>(0); + $74 = ((($0)) + 1396|0); + $75 = ((($0)) + 1392|0); + $76 = (((($9) + (($4*24)|0)|0)) + 16|0); + $77 = ($19|0)>(0); + $78 = (((($9) + (($4*24)|0)|0)) + 20|0); + $79 = ($27|0)>(0); + $80 = ((($0)) + 1396|0); + $81 = ((($0)) + 1392|0); + $82 = (((($9) + (($4*24)|0)|0)) + 16|0); + $83 = ($19|0)>(0); + $84 = (((($9) + (($4*24)|0)|0)) + 20|0); + $$0437586 = 0; + L65: while(1) { + switch ($2|0) { + case 2: { + if ($73) { + $86 = ($$0437586|0)==(0); + $$0439574 = 0;$$0444572 = 0; + while(1) { + $88 = HEAP32[$22>>2]|0; + $89 = HEAP32[$25>>2]|0; + $90 = Math_imul($89, $$0439574)|0; + $91 = (($90) + ($88))|0; + $92 = $91 & 1; + HEAP32[$6>>2] = $92; + $93 = $91 >> 1; + HEAP32[$7>>2] = $93; + if ($86) { + $94 = HEAP32[$16>>2]|0; + $95 = HEAP8[$13>>0]|0; + $96 = $95&255; + $97 = (($94) + (($96*2096)|0)|0); + $98 = HEAP32[$74>>2]|0; + $99 = ($98|0)<(10); + if ($99) { + _prep_huffman($0); + } + $100 = HEAP32[$75>>2]|0; + $101 = $100 & 1023; + $102 = ((((($94) + (($96*2096)|0)|0)) + 36|0) + ($101<<1)|0); + $103 = HEAP16[$102>>1]|0; + $104 = $103 << 16 >> 16; + $105 = ($103<<16>>16)>(-1); + if ($105) { + $106 = (((($94) + (($96*2096)|0)|0)) + 8|0); + $107 = HEAP32[$106>>2]|0; + $108 = (($107) + ($104)|0); + $109 = HEAP8[$108>>0]|0; + $110 = $109&255; + $111 = $100 >>> $110; + HEAP32[$75>>2] = $111; + $112 = HEAP32[$74>>2]|0; + $113 = (($112) - ($110))|0; + $114 = ($113|0)<(0); + $$ = $114 ? 0 : $113; + $$477 = $114 ? -1 : $104; + HEAP32[$74>>2] = $$; + $$1451 = $$477; + } else { + $115 = (_codebook_decode_scalar_raw($0,$97)|0); + $$1451 = $115; + } + $116 = (((($94) + (($96*2096)|0)|0)) + 23|0); + $117 = HEAP8[$116>>0]|0; + $118 = ($117<<24>>24)==(0); + if ($118) { + $$2452 = $$1451; + } else { + $119 = (((($94) + (($96*2096)|0)|0)) + 2088|0); + $120 = HEAP32[$119>>2]|0; + $121 = (($120) + ($$1451<<2)|0); + $122 = HEAP32[$121>>2]|0; + $$2452 = $122; + } + $123 = ($$2452|0)==(-1); + if ($123) { + label = 38; + break L65; + } + $124 = HEAP32[$76>>2]|0; + $125 = (($124) + ($$2452<<2)|0); + $126 = HEAP32[$125>>2]|0; + $127 = HEAP32[$41>>2]|0; + $128 = (($127) + ($$0444572<<2)|0); + HEAP32[$128>>2] = $126; + } + $129 = ($$0439574|0)<($27|0); + $or$cond478566 = $129 & $77; + if ($or$cond478566) { + $$1440567 = $$0439574;$$1568 = 0; + while(1) { + $130 = HEAP32[$25>>2]|0; + $131 = HEAP32[$41>>2]|0; + $132 = (($131) + ($$0444572<<2)|0); + $133 = HEAP32[$132>>2]|0; + $134 = (($133) + ($$1568)|0); + $135 = HEAP8[$134>>0]|0; + $136 = $135&255; + $137 = HEAP32[$78>>2]|0; + $138 = ((($137) + ($136<<4)|0) + ($$0437586<<1)|0); + $139 = HEAP16[$138>>1]|0; + $140 = ($139<<16>>16)>(-1); + if ($140) { + $141 = $139 << 16 >> 16; + $142 = HEAP32[$16>>2]|0; + $143 = (($142) + (($141*2096)|0)|0); + $144 = (_codebook_decode_deinterleave_repeat($0,$143,$1,$2,$6,$7,$3,$130)|0); + $not$522 = ($144|0)==(0); + if ($not$522) { + label = 38; + break L65; + } + } else { + $145 = HEAP32[$22>>2]|0; + $146 = Math_imul($130, $$1440567)|0; + $147 = (($146) + ($130))|0; + $148 = (($147) + ($145))|0; + $149 = $148 & 1; + HEAP32[$6>>2] = $149; + $150 = $148 >> 1; + HEAP32[$7>>2] = $150; + } + $151 = (($$1568) + 1)|0; + $152 = (($$1440567) + 1)|0; + $153 = ($151|0)<($19|0); + $154 = ($152|0)<($27|0); + $or$cond478 = $154 & $153; + if ($or$cond478) { + $$1440567 = $152;$$1568 = $151; + } else { + $$1440$lcssa = $152; + break; + } + } + } else { + $$1440$lcssa = $$0439574; + } + $155 = (($$0444572) + 1)|0; + $156 = ($$1440$lcssa|0)<($27|0); + if ($156) { + $$0439574 = $$1440$lcssa;$$0444572 = $155; + } else { + break; + } + } + } + break; + } + case 1: { + if ($79) { + $85 = ($$0437586|0)==(0); + $$2446562 = 0;$$3442564 = 0; + while(1) { + $157 = HEAP32[$22>>2]|0; + $158 = HEAP32[$25>>2]|0; + $159 = Math_imul($158, $$3442564)|0; + $160 = (($159) + ($157))|0; + HEAP32[$6>>2] = 0; + HEAP32[$7>>2] = $160; + if ($85) { + $161 = HEAP32[$16>>2]|0; + $162 = HEAP8[$13>>0]|0; + $163 = $162&255; + $164 = (($161) + (($163*2096)|0)|0); + $165 = HEAP32[$80>>2]|0; + $166 = ($165|0)<(10); + if ($166) { + _prep_huffman($0); + } + $167 = HEAP32[$81>>2]|0; + $168 = $167 & 1023; + $169 = ((((($161) + (($163*2096)|0)|0)) + 36|0) + ($168<<1)|0); + $170 = HEAP16[$169>>1]|0; + $171 = $170 << 16 >> 16; + $172 = ($170<<16>>16)>(-1); + if ($172) { + $173 = (((($161) + (($163*2096)|0)|0)) + 8|0); + $174 = HEAP32[$173>>2]|0; + $175 = (($174) + ($171)|0); + $176 = HEAP8[$175>>0]|0; + $177 = $176&255; + $178 = $167 >>> $177; + HEAP32[$81>>2] = $178; + $179 = HEAP32[$80>>2]|0; + $180 = (($179) - ($177))|0; + $181 = ($180|0)<(0); + $$480 = $181 ? 0 : $180; + $$481 = $181 ? -1 : $171; + HEAP32[$80>>2] = $$480; + $$1469 = $$481; + } else { + $182 = (_codebook_decode_scalar_raw($0,$164)|0); + $$1469 = $182; + } + $183 = (((($161) + (($163*2096)|0)|0)) + 23|0); + $184 = HEAP8[$183>>0]|0; + $185 = ($184<<24>>24)==(0); + if ($185) { + $$2470 = $$1469; + } else { + $186 = (((($161) + (($163*2096)|0)|0)) + 2088|0); + $187 = HEAP32[$186>>2]|0; + $188 = (($187) + ($$1469<<2)|0); + $189 = HEAP32[$188>>2]|0; + $$2470 = $189; + } + $190 = ($$2470|0)==(-1); + if ($190) { + label = 55; + break L65; + } + $191 = HEAP32[$82>>2]|0; + $192 = (($191) + ($$2470<<2)|0); + $193 = HEAP32[$192>>2]|0; + $194 = HEAP32[$41>>2]|0; + $195 = (($194) + ($$2446562<<2)|0); + HEAP32[$195>>2] = $193; + } + $196 = ($$3442564|0)<($27|0); + $or$cond482559 = $196 & $83; + if ($or$cond482559) { + $$2561 = 0;$$4443560 = $$3442564; + while(1) { + $197 = HEAP32[$25>>2]|0; + $198 = HEAP32[$41>>2]|0; + $199 = (($198) + ($$2446562<<2)|0); + $200 = HEAP32[$199>>2]|0; + $201 = (($200) + ($$2561)|0); + $202 = HEAP8[$201>>0]|0; + $203 = $202&255; + $204 = HEAP32[$84>>2]|0; + $205 = ((($204) + ($203<<4)|0) + ($$0437586<<1)|0); + $206 = HEAP16[$205>>1]|0; + $207 = ($206<<16>>16)>(-1); + if ($207) { + $208 = $206 << 16 >> 16; + $209 = HEAP32[$16>>2]|0; + $210 = (($209) + (($208*2096)|0)|0); + $211 = (_codebook_decode_deinterleave_repeat($0,$210,$1,$2,$6,$7,$3,$197)|0); + $not$521 = ($211|0)==(0); + if ($not$521) { + label = 55; + break L65; + } + } else { + $212 = HEAP32[$22>>2]|0; + $213 = Math_imul($197, $$4443560)|0; + $214 = (($213) + ($197))|0; + $215 = (($214) + ($212))|0; + HEAP32[$6>>2] = 0; + HEAP32[$7>>2] = $215; + } + $216 = (($$2561) + 1)|0; + $217 = (($$4443560) + 1)|0; + $218 = ($216|0)<($19|0); + $219 = ($217|0)<($27|0); + $or$cond482 = $219 & $218; + if ($or$cond482) { + $$2561 = $216;$$4443560 = $217; + } else { + $$4443$lcssa = $217; + break; + } + } + } else { + $$4443$lcssa = $$3442564; + } + $220 = (($$2446562) + 1)|0; + $221 = ($$4443$lcssa|0)<($27|0); + if ($221) { + $$2446562 = $220;$$3442564 = $$4443$lcssa; + } else { + break; + } + } + } + break; + } + default: { + if ($67) { + $87 = ($$0437586|0)==(0); + $$4448582 = 0;$$6584 = 0; + while(1) { + $222 = HEAP32[$22>>2]|0; + $223 = HEAP32[$25>>2]|0; + $224 = Math_imul($223, $$6584)|0; + $225 = (($224) + ($222))|0; + $226 = (($225|0) % ($2|0))&-1; + HEAP32[$6>>2] = $226; + $227 = (($225|0) / ($2|0))&-1; + HEAP32[$7>>2] = $227; + if ($87) { + $228 = HEAP32[$16>>2]|0; + $229 = HEAP8[$13>>0]|0; + $230 = $229&255; + $231 = (($228) + (($230*2096)|0)|0); + $232 = HEAP32[$68>>2]|0; + $233 = ($232|0)<(10); + if ($233) { + _prep_huffman($0); + } + $234 = HEAP32[$69>>2]|0; + $235 = $234 & 1023; + $236 = ((((($228) + (($230*2096)|0)|0)) + 36|0) + ($235<<1)|0); + $237 = HEAP16[$236>>1]|0; + $238 = $237 << 16 >> 16; + $239 = ($237<<16>>16)>(-1); + if ($239) { + $240 = (((($228) + (($230*2096)|0)|0)) + 8|0); + $241 = HEAP32[$240>>2]|0; + $242 = (($241) + ($238)|0); + $243 = HEAP8[$242>>0]|0; + $244 = $243&255; + $245 = $234 >>> $244; + HEAP32[$69>>2] = $245; + $246 = HEAP32[$68>>2]|0; + $247 = (($246) - ($244))|0; + $248 = ($247|0)<(0); + $$484 = $248 ? 0 : $247; + $$485 = $248 ? -1 : $238; + HEAP32[$68>>2] = $$484; + $$1472 = $$485; + } else { + $249 = (_codebook_decode_scalar_raw($0,$231)|0); + $$1472 = $249; + } + $250 = (((($228) + (($230*2096)|0)|0)) + 23|0); + $251 = HEAP8[$250>>0]|0; + $252 = ($251<<24>>24)==(0); + if ($252) { + $$2473 = $$1472; + } else { + $253 = (((($228) + (($230*2096)|0)|0)) + 2088|0); + $254 = HEAP32[$253>>2]|0; + $255 = (($254) + ($$1472<<2)|0); + $256 = HEAP32[$255>>2]|0; + $$2473 = $256; + } + $257 = ($$2473|0)==(-1); + if ($257) { + label = 72; + break L65; + } + $258 = HEAP32[$70>>2]|0; + $259 = (($258) + ($$2473<<2)|0); + $260 = HEAP32[$259>>2]|0; + $261 = HEAP32[$41>>2]|0; + $262 = (($261) + ($$4448582<<2)|0); + HEAP32[$262>>2] = $260; + } + $263 = ($$6584|0)<($27|0); + $or$cond486576 = $263 & $71; + if ($or$cond486576) { + $$3578 = 0;$$7577 = $$6584; + while(1) { + $264 = HEAP32[$25>>2]|0; + $265 = HEAP32[$41>>2]|0; + $266 = (($265) + ($$4448582<<2)|0); + $267 = HEAP32[$266>>2]|0; + $268 = (($267) + ($$3578)|0); + $269 = HEAP8[$268>>0]|0; + $270 = $269&255; + $271 = HEAP32[$72>>2]|0; + $272 = ((($271) + ($270<<4)|0) + ($$0437586<<1)|0); + $273 = HEAP16[$272>>1]|0; + $274 = ($273<<16>>16)>(-1); + if ($274) { + $275 = $273 << 16 >> 16; + $276 = HEAP32[$16>>2]|0; + $277 = (($276) + (($275*2096)|0)|0); + $278 = (_codebook_decode_deinterleave_repeat($0,$277,$1,$2,$6,$7,$3,$264)|0); + $not$523 = ($278|0)==(0); + if ($not$523) { + label = 72; + break L65; + } + } else { + $279 = HEAP32[$22>>2]|0; + $280 = Math_imul($264, $$7577)|0; + $281 = (($280) + ($264))|0; + $282 = (($281) + ($279))|0; + $283 = (($282|0) % ($2|0))&-1; + HEAP32[$6>>2] = $283; + $284 = (($282|0) / ($2|0))&-1; + HEAP32[$7>>2] = $284; + } + $285 = (($$3578) + 1)|0; + $286 = (($$7577) + 1)|0; + $287 = ($285|0)<($19|0); + $288 = ($286|0)<($27|0); + $or$cond486 = $288 & $287; + if ($or$cond486) { + $$3578 = $285;$$7577 = $286; + } else { + $$7$lcssa = $286; + break; + } + } + } else { + $$7$lcssa = $$6584; + } + $289 = (($$4448582) + 1)|0; + $290 = ($$7$lcssa|0)<($27|0); + if ($290) { + $$4448582 = $289;$$6584 = $$7$lcssa; + } else { + break; + } + } + } + } + } + $291 = (($$0437586) + 1)|0; + $292 = ($291|0)<(8); + if ($292) { + $$0437586 = $291; + } else { + label = 98; + break; + } + } + if ((label|0) == 38) { + HEAP32[$28>>2] = $29; + STACKTOP = sp;return; + } + else if ((label|0) == 55) { + HEAP32[$28>>2] = $29; + STACKTOP = sp;return; + } + else if ((label|0) == 72) { + HEAP32[$28>>2] = $29; + STACKTOP = sp;return; + } + else if ((label|0) == 98) { + HEAP32[$28>>2] = $29; + STACKTOP = sp;return; + } +} +function _do_floor($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + var $$062$lcssa = 0, $$0624 = 0, $$063$lcssa = 0, $$0633 = 0, $$0652 = 0, $$0661 = 0, $$1 = 0, $$164 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0; + var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0; + var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0.0, $49 = 0, $50 = 0.0, $51 = 0.0, $52 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, label = 0, sp = 0; + sp = STACKTOP; + $6 = $3 >> 1; + $7 = ((($1)) + 4|0); + $8 = HEAP32[$7>>2]|0; + $9 = (((($8) + (($2*3)|0)|0)) + 2|0); + $10 = HEAP8[$9>>0]|0; + $11 = $10&255; + $12 = (((($1)) + 9|0) + ($11)|0); + $13 = HEAP8[$12>>0]|0; + $14 = $13&255; + $15 = (((($0)) + 132|0) + ($14<<1)|0); + $16 = HEAP16[$15>>1]|0; + $17 = ($16<<16>>16)==(0); + if ($17) { + _error($0,21); + return; + } + $18 = ((($0)) + 260|0); + $19 = HEAP32[$18>>2]|0; + $20 = HEAP16[$5>>1]|0; + $21 = $20 << 16 >> 16; + $22 = (((($19) + (($14*1596)|0)|0)) + 1588|0); + $23 = HEAP8[$22>>0]|0; + $24 = $23&255; + $25 = Math_imul($24, $21)|0; + $26 = (((($19) + (($14*1596)|0)|0)) + 1592|0); + $27 = HEAP32[$26>>2]|0; + $28 = ($27|0)>(1); + if ($28) { + $$0624 = $25;$$0633 = 0;$$0652 = 1; + while(1) { + $29 = ((((($19) + (($14*1596)|0)|0)) + 838|0) + ($$0652)|0); + $30 = HEAP8[$29>>0]|0; + $31 = $30&255; + $32 = (($5) + ($31<<1)|0); + $33 = HEAP16[$32>>1]|0; + $34 = ($33<<16>>16)>(-1); + if ($34) { + $35 = $33 << 16 >> 16; + $36 = HEAP8[$22>>0]|0; + $37 = $36&255; + $38 = Math_imul($37, $35)|0; + $39 = ((((($19) + (($14*1596)|0)|0)) + 338|0) + ($31<<1)|0); + $40 = HEAP16[$39>>1]|0; + $41 = $40&65535; + $42 = ($$0633|0)==($41|0); + if ($42) { + $$1 = $38;$$164 = $41; + } else { + _draw_line($4,$$0633,$$0624,$41,$38,$6); + $$1 = $38;$$164 = $41; + } + } else { + $$1 = $$0624;$$164 = $$0633; + } + $43 = (($$0652) + 1)|0; + $44 = HEAP32[$26>>2]|0; + $45 = ($43|0)<($44|0); + if ($45) { + $$0624 = $$1;$$0633 = $$164;$$0652 = $43; + } else { + $$062$lcssa = $$1;$$063$lcssa = $$164; + break; + } + } + } else { + $$062$lcssa = $25;$$063$lcssa = 0; + } + $46 = ($$063$lcssa|0)<($6|0); + if (!($46)) { + return; + } + $47 = (3820 + ($$062$lcssa<<2)|0); + $48 = +HEAPF32[$47>>2]; + $$0661 = $$063$lcssa; + while(1) { + $49 = (($4) + ($$0661<<2)|0); + $50 = +HEAPF32[$49>>2]; + $51 = $48 * $50; + HEAPF32[$49>>2] = $51; + $52 = (($$0661) + 1)|0; + $exitcond = ($52|0)==($6|0); + if ($exitcond) { + break; + } else { + $$0661 = $52; + } + } + return; +} +function _inverse_mdct($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$0$lcssa = 0, $$0492$lcssa = 0, $$0492576 = 0, $$0494 = 0, $$0494522 = 0, $$0494530 = 0, $$0495531 = 0, $$0495531$pn = 0, $$0496527 = 0, $$0497526 = 0, $$0498525 = 0, $$0499524 = 0, $$0500575 = 0, $$0502$lcssa = 0, $$0502574 = 0, $$0504564 = 0, $$0505563 = 0, $$0506562 = 0, $$0507561 = 0, $$0508 = 0; + var $$0508532 = 0, $$0508536 = 0, $$0509534 = 0, $$0510533 = 0, $$0511560 = 0, $$0512542 = 0, $$0513541 = 0, $$0514540 = 0, $$0515548 = 0, $$0516547 = 0, $$0517554 = 0, $$0518546 = 0, $$0557 = 0, $$1493570 = 0, $$1501569 = 0, $$1503568 = 0, $$1551 = 0, $$alloca_mul = 0, $$pn520529 = 0, $$pn520529$phi = 0; + var $$pn535 = 0, $$pn535$phi = 0, $10 = 0, $100 = 0, $101 = 0.0, $102 = 0.0, $103 = 0.0, $104 = 0.0, $105 = 0.0, $106 = 0, $107 = 0.0, $108 = 0, $109 = 0.0, $11 = 0, $110 = 0.0, $111 = 0, $112 = 0.0, $113 = 0, $114 = 0.0, $115 = 0.0; + var $116 = 0.0, $117 = 0, $118 = 0.0, $119 = 0.0, $12 = 0, $120 = 0.0, $121 = 0, $122 = 0.0, $123 = 0.0, $124 = 0, $125 = 0.0, $126 = 0.0, $127 = 0.0, $128 = 0, $129 = 0.0, $13 = 0, $130 = 0.0, $131 = 0.0, $132 = 0.0, $133 = 0.0; + var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; + var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; + var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; + var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0; + var $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0; + var $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0.0, $238 = 0, $239 = 0.0, $24 = 0, $240 = 0.0, $241 = 0, $242 = 0.0; + var $243 = 0, $244 = 0.0, $245 = 0.0, $246 = 0, $247 = 0.0, $248 = 0.0, $249 = 0.0, $25 = 0, $250 = 0.0, $251 = 0.0, $252 = 0.0, $253 = 0.0, $254 = 0.0, $255 = 0.0, $256 = 0.0, $257 = 0.0, $258 = 0.0, $259 = 0.0, $26 = 0, $260 = 0.0; + var $261 = 0, $262 = 0.0, $263 = 0.0, $264 = 0.0, $265 = 0, $266 = 0.0, $267 = 0, $268 = 0.0, $269 = 0.0, $27 = 0, $270 = 0, $271 = 0.0, $272 = 0.0, $273 = 0, $274 = 0.0, $275 = 0.0, $276 = 0.0, $277 = 0.0, $278 = 0.0, $279 = 0.0; + var $28 = 0, $280 = 0.0, $281 = 0.0, $282 = 0.0, $283 = 0.0, $284 = 0.0, $285 = 0.0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0.0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0.0; + var $298 = 0, $299 = 0.0, $30 = 0.0, $300 = 0.0, $301 = 0, $302 = 0.0, $303 = 0, $304 = 0.0, $305 = 0.0, $306 = 0.0, $307 = 0.0, $308 = 0.0, $309 = 0.0, $31 = 0.0, $310 = 0.0, $311 = 0.0, $312 = 0, $313 = 0, $314 = 0, $315 = 0.0; + var $316 = 0, $317 = 0.0, $318 = 0.0, $319 = 0, $32 = 0, $320 = 0.0, $321 = 0, $322 = 0.0, $323 = 0.0, $324 = 0.0, $325 = 0.0, $326 = 0.0, $327 = 0.0, $328 = 0.0, $329 = 0, $33 = 0.0, $330 = 0.0, $331 = 0, $332 = 0, $333 = 0; + var $334 = 0, $335 = 0.0, $336 = 0, $337 = 0.0, $338 = 0.0, $339 = 0, $34 = 0, $340 = 0.0, $341 = 0, $342 = 0.0, $343 = 0.0, $344 = 0.0, $345 = 0.0, $346 = 0.0, $347 = 0.0, $348 = 0.0, $349 = 0, $35 = 0.0, $350 = 0.0, $351 = 0; + var $352 = 0, $353 = 0, $354 = 0.0, $355 = 0, $356 = 0.0, $357 = 0.0, $358 = 0, $359 = 0.0, $36 = 0.0, $360 = 0.0, $361 = 0.0, $362 = 0.0, $363 = 0.0, $364 = 0.0, $365 = 0.0, $366 = 0.0, $367 = 0, $368 = 0.0, $369 = 0, $37 = 0.0; + var $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $38 = 0, $39 = 0.0, $4 = 0, $40 = 0.0, $41 = 0.0, $42 = 0.0, $43 = 0.0, $44 = 0.0, $45 = 0.0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0; + var $51 = 0, $52 = 0, $53 = 0, $54 = 0.0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0, $59 = 0.0, $6 = 0, $60 = 0.0, $61 = 0.0, $62 = 0, $63 = 0.0, $64 = 0.0, $65 = 0.0, $66 = 0.0, $67 = 0.0, $68 = 0.0, $69 = 0.0; + var $7 = 0, $70 = 0.0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0.0, $82 = 0, $83 = 0.0, $84 = 0.0, $85 = 0.0, $86 = 0.0, $87 = 0.0; + var $88 = 0.0, $89 = 0, $9 = 0, $90 = 0.0, $91 = 0.0, $92 = 0.0, $93 = 0, $94 = 0.0, $95 = 0.0, $96 = 0, $97 = 0.0, $98 = 0.0, $99 = 0.0, $exitcond = 0, $exitcond584 = 0, $scevgep = 0, $scevgep586 = 0, label = 0, sp = 0; + sp = STACKTOP; + $4 = $1 >> 1; + $5 = $1 >> 2; + $6 = $1 >> 3; + $7 = ((($2)) + 92|0); + $8 = HEAP32[$7>>2]|0; + $9 = ((($2)) + 80|0); + $10 = HEAP32[$9>>2]|0; + $11 = ($10|0)==(0|0); + $12 = $4 << 2; + if ($11) { + $$alloca_mul = $12; + $14 = STACKTOP; STACKTOP = STACKTOP + ((((1*$$alloca_mul)|0)+15)&-16)|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(((((1*$$alloca_mul)|0)+15)&-16)|0);; + $19 = $14; + } else { + $13 = (_setup_temp_malloc($2,$12)|0); + $19 = $13; + } + $15 = (((($2)) + 1068|0) + ($3<<2)|0); + $16 = HEAP32[$15>>2]|0; + $17 = (($4) + -2)|0; + $18 = (($19) + ($17<<2)|0); + $20 = (($0) + ($4<<2)|0); + $21 = ($4|0)==(0); + if ($21) { + $$0492$lcssa = $18;$$0502$lcssa = $16; + } else { + $22 = $4 << 2; + $23 = (($22) + -16)|0; + $24 = $23 >>> 4; + $25 = $24 << 3; + $26 = (($23) - ($25))|0; + $scevgep = (($19) + ($26)|0); + $27 = $24 << 1; + $28 = (($27) + 2)|0; + $$0492576 = $18;$$0500575 = $0;$$0502574 = $16; + while(1) { + $29 = +HEAPF32[$$0500575>>2]; + $30 = +HEAPF32[$$0502574>>2]; + $31 = $29 * $30; + $32 = ((($$0500575)) + 8|0); + $33 = +HEAPF32[$32>>2]; + $34 = ((($$0502574)) + 4|0); + $35 = +HEAPF32[$34>>2]; + $36 = $33 * $35; + $37 = $31 - $36; + $38 = ((($$0492576)) + 4|0); + HEAPF32[$38>>2] = $37; + $39 = +HEAPF32[$$0500575>>2]; + $40 = +HEAPF32[$34>>2]; + $41 = $39 * $40; + $42 = +HEAPF32[$32>>2]; + $43 = +HEAPF32[$$0502574>>2]; + $44 = $42 * $43; + $45 = $41 + $44; + HEAPF32[$$0492576>>2] = $45; + $46 = ((($$0492576)) + -8|0); + $47 = ((($$0502574)) + 8|0); + $48 = ((($$0500575)) + 16|0); + $49 = ($48|0)==($20|0); + if ($49) { + break; + } else { + $$0492576 = $46;$$0500575 = $48;$$0502574 = $47; + } + } + $scevgep586 = (($16) + ($28<<2)|0); + $$0492$lcssa = $scevgep;$$0502$lcssa = $scevgep586; + } + $50 = ($$0492$lcssa>>>0)<($19>>>0); + if (!($50)) { + $51 = (($4) + -3)|0; + $52 = (($0) + ($51<<2)|0); + $$1493570 = $$0492$lcssa;$$1501569 = $52;$$1503568 = $$0502$lcssa; + while(1) { + $53 = ((($$1501569)) + 8|0); + $54 = +HEAPF32[$53>>2]; + $55 = +HEAPF32[$$1503568>>2]; + $56 = $54 * $55; + $57 = +HEAPF32[$$1501569>>2]; + $58 = ((($$1503568)) + 4|0); + $59 = +HEAPF32[$58>>2]; + $60 = $57 * $59; + $61 = $60 - $56; + $62 = ((($$1493570)) + 4|0); + HEAPF32[$62>>2] = $61; + $63 = +HEAPF32[$53>>2]; + $64 = +HEAPF32[$58>>2]; + $65 = $63 * $64; + $66 = +HEAPF32[$$1501569>>2]; + $67 = +HEAPF32[$$1503568>>2]; + $68 = $66 * $67; + $69 = -$68; + $70 = $69 - $65; + HEAPF32[$$1493570>>2] = $70; + $71 = ((($$1493570)) + -8|0); + $72 = ((($$1503568)) + 8|0); + $73 = ((($$1501569)) + -16|0); + $74 = ($71>>>0)<($19>>>0); + if ($74) { + break; + } else { + $$1493570 = $71;$$1501569 = $73;$$1503568 = $72; + } + } + } + $75 = ($4|0)<(8); + if (!($75)) { + $76 = (($0) + ($5<<2)|0); + $77 = (($19) + ($5<<2)|0); + $78 = (($4) + -8)|0; + $79 = (($16) + ($78<<2)|0); + $$0504564 = $79;$$0505563 = $76;$$0506562 = $0;$$0507561 = $77;$$0511560 = $19; + while(1) { + $80 = ((($$0507561)) + 4|0); + $81 = +HEAPF32[$80>>2]; + $82 = ((($$0511560)) + 4|0); + $83 = +HEAPF32[$82>>2]; + $84 = $81 - $83; + $85 = +HEAPF32[$$0507561>>2]; + $86 = +HEAPF32[$$0511560>>2]; + $87 = $85 - $86; + $88 = $81 + $83; + $89 = ((($$0505563)) + 4|0); + HEAPF32[$89>>2] = $88; + $90 = +HEAPF32[$$0507561>>2]; + $91 = +HEAPF32[$$0511560>>2]; + $92 = $90 + $91; + HEAPF32[$$0505563>>2] = $92; + $93 = ((($$0504564)) + 16|0); + $94 = +HEAPF32[$93>>2]; + $95 = $84 * $94; + $96 = ((($$0504564)) + 20|0); + $97 = +HEAPF32[$96>>2]; + $98 = $87 * $97; + $99 = $95 - $98; + $100 = ((($$0506562)) + 4|0); + HEAPF32[$100>>2] = $99; + $101 = +HEAPF32[$93>>2]; + $102 = $87 * $101; + $103 = +HEAPF32[$96>>2]; + $104 = $84 * $103; + $105 = $102 + $104; + HEAPF32[$$0506562>>2] = $105; + $106 = ((($$0507561)) + 12|0); + $107 = +HEAPF32[$106>>2]; + $108 = ((($$0511560)) + 12|0); + $109 = +HEAPF32[$108>>2]; + $110 = $107 - $109; + $111 = ((($$0507561)) + 8|0); + $112 = +HEAPF32[$111>>2]; + $113 = ((($$0511560)) + 8|0); + $114 = +HEAPF32[$113>>2]; + $115 = $112 - $114; + $116 = $107 + $109; + $117 = ((($$0505563)) + 12|0); + HEAPF32[$117>>2] = $116; + $118 = +HEAPF32[$111>>2]; + $119 = +HEAPF32[$113>>2]; + $120 = $118 + $119; + $121 = ((($$0505563)) + 8|0); + HEAPF32[$121>>2] = $120; + $122 = +HEAPF32[$$0504564>>2]; + $123 = $110 * $122; + $124 = ((($$0504564)) + 4|0); + $125 = +HEAPF32[$124>>2]; + $126 = $115 * $125; + $127 = $123 - $126; + $128 = ((($$0506562)) + 12|0); + HEAPF32[$128>>2] = $127; + $129 = +HEAPF32[$$0504564>>2]; + $130 = $115 * $129; + $131 = +HEAPF32[$124>>2]; + $132 = $110 * $131; + $133 = $130 + $132; + $134 = ((($$0506562)) + 8|0); + HEAPF32[$134>>2] = $133; + $135 = ((($$0504564)) + -32|0); + $136 = ((($$0505563)) + 16|0); + $137 = ((($$0506562)) + 16|0); + $138 = ((($$0507561)) + 16|0); + $139 = ((($$0511560)) + 16|0); + $140 = ($135>>>0)<($16>>>0); + if ($140) { + break; + } else { + $$0504564 = $135;$$0505563 = $136;$$0506562 = $137;$$0507561 = $138;$$0511560 = $139; + } + } + } + $141 = (_ilog($1)|0); + $142 = $1 >> 4; + $143 = (($4) + -1)|0; + $144 = (0 - ($6))|0; + _imdct_step3_iter0_loop($142,$0,$143,$144,$16); + $145 = (($143) - ($5))|0; + _imdct_step3_iter0_loop($142,$0,$145,$144,$16); + $146 = $1 >> 5; + $147 = (0 - ($142))|0; + _imdct_step3_inner_r_loop($146,$0,$143,$147,$16,16); + $148 = (($143) - ($6))|0; + _imdct_step3_inner_r_loop($146,$0,$148,$147,$16,16); + $149 = $6 << 1; + $150 = (($143) - ($149))|0; + _imdct_step3_inner_r_loop($146,$0,$150,$147,$16,16); + $151 = Math_imul($6, -3)|0; + $152 = (($143) + ($151))|0; + _imdct_step3_inner_r_loop($146,$0,$152,$147,$16,16); + $153 = (($141) + -4)|0; + $154 = $153 >> 1; + $155 = ($154|0)>(2); + if ($155) { + $$0557 = 2; + while(1) { + $159 = (($$0557) + 2)|0; + $160 = $1 >> $159; + $156 = (($$0557) + 1)|0; + $161 = 1 << $156; + $162 = ($156|0)==(31); + if (!($162)) { + $163 = $160 >> 1; + $164 = (($$0557) + 4)|0; + $165 = $1 >> $164; + $166 = (0 - ($163))|0; + $167 = (($$0557) + 3)|0; + $168 = 1 << $167; + $$0517554 = 0; + while(1) { + $169 = Math_imul($$0517554, $160)|0; + $170 = (($143) - ($169))|0; + _imdct_step3_inner_r_loop($165,$0,$170,$166,$16,$168); + $171 = (($$0517554) + 1)|0; + $172 = ($171|0)<($161|0); + if ($172) { + $$0517554 = $171; + } else { + break; + } + } + } + $exitcond584 = ($156|0)==($154|0); + if ($exitcond584) { + $$0$lcssa = $154; + break; + } else { + $$0557 = $156; + } + } + } else { + $$0$lcssa = 2; + } + $157 = (($141) + -7)|0; + $158 = ($$0$lcssa|0)<($157|0); + if ($158) { + $$1551 = $$0$lcssa; + while(1) { + $174 = (($$1551) + 2)|0; + $175 = $1 >> $174; + $176 = (($$1551) + 3)|0; + $177 = 1 << $176; + $178 = (($$1551) + 6)|0; + $179 = $1 >> $178; + $173 = (($$1551) + 1)|0; + $180 = 1 << $173; + $181 = ($179|0)>(0); + if ($181) { + $182 = $175 >> 1; + $183 = (0 - ($182))|0; + $184 = $177 << 2; + $$0515548 = $16;$$0516547 = $143;$$0518546 = $179; + while(1) { + _imdct_step3_inner_s_loop($180,$0,$$0516547,$183,$$0515548,$177,$175); + $185 = (($$0515548) + ($184<<2)|0); + $186 = (($$0516547) + -8)|0; + $187 = (($$0518546) + -1)|0; + $188 = ($$0518546|0)>(1); + if ($188) { + $$0515548 = $185;$$0516547 = $186;$$0518546 = $187; + } else { + break; + } + } + } + $exitcond = ($173|0)==($157|0); + if ($exitcond) { + break; + } else { + $$1551 = $173; + } + } + } + _imdct_step3_inner_s_loop_ld654($146,$0,$143,$16,$1); + $189 = (($5) + -4)|0; + $190 = (($19) + ($189<<2)|0); + $191 = (($4) + -4)|0; + $192 = ($190>>>0)<($19>>>0); + if (!($192)) { + $193 = (($19) + ($191<<2)|0); + $194 = (((($2)) + 1100|0) + ($3<<2)|0); + $195 = HEAP32[$194>>2]|0; + $$0512542 = $193;$$0513541 = $190;$$0514540 = $195; + while(1) { + $196 = HEAP16[$$0514540>>1]|0; + $197 = $196&65535; + $198 = (($0) + ($197<<2)|0); + $199 = HEAP32[$198>>2]|0; + $200 = ((($$0512542)) + 12|0); + HEAP32[$200>>2] = $199; + $201 = (($197) + 1)|0; + $202 = (($0) + ($201<<2)|0); + $203 = HEAP32[$202>>2]|0; + $204 = ((($$0512542)) + 8|0); + HEAP32[$204>>2] = $203; + $205 = (($197) + 2)|0; + $206 = (($0) + ($205<<2)|0); + $207 = HEAP32[$206>>2]|0; + $208 = ((($$0513541)) + 12|0); + HEAP32[$208>>2] = $207; + $209 = (($197) + 3)|0; + $210 = (($0) + ($209<<2)|0); + $211 = HEAP32[$210>>2]|0; + $212 = ((($$0513541)) + 8|0); + HEAP32[$212>>2] = $211; + $213 = ((($$0514540)) + 2|0); + $214 = HEAP16[$213>>1]|0; + $215 = $214&65535; + $216 = (($0) + ($215<<2)|0); + $217 = HEAP32[$216>>2]|0; + $218 = ((($$0512542)) + 4|0); + HEAP32[$218>>2] = $217; + $219 = (($215) + 1)|0; + $220 = (($0) + ($219<<2)|0); + $221 = HEAP32[$220>>2]|0; + HEAP32[$$0512542>>2] = $221; + $222 = (($215) + 2)|0; + $223 = (($0) + ($222<<2)|0); + $224 = HEAP32[$223>>2]|0; + $225 = ((($$0513541)) + 4|0); + HEAP32[$225>>2] = $224; + $226 = (($215) + 3)|0; + $227 = (($0) + ($226<<2)|0); + $228 = HEAP32[$227>>2]|0; + HEAP32[$$0513541>>2] = $228; + $229 = ((($$0513541)) + -16|0); + $230 = ((($$0512542)) + -16|0); + $231 = ((($$0514540)) + 4|0); + $232 = ($229>>>0)<($19>>>0); + if ($232) { + break; + } else { + $$0512542 = $230;$$0513541 = $229;$$0514540 = $231; + } + } + } + $233 = (($19) + ($4<<2)|0); + $$0508532 = ((($233)) + -16|0); + $234 = ($19>>>0)<($$0508532>>>0); + if ($234) { + $235 = (((($2)) + 1084|0) + ($3<<2)|0); + $236 = HEAP32[$235>>2]|0; + $$0508536 = $$0508532;$$0509534 = $19;$$0510533 = $236;$$pn535 = $233; + while(1) { + $237 = +HEAPF32[$$0509534>>2]; + $238 = ((($$pn535)) + -8|0); + $239 = +HEAPF32[$238>>2]; + $240 = $237 - $239; + $241 = ((($$0509534)) + 4|0); + $242 = +HEAPF32[$241>>2]; + $243 = ((($$pn535)) + -4|0); + $244 = +HEAPF32[$243>>2]; + $245 = $242 + $244; + $246 = ((($$0510533)) + 4|0); + $247 = +HEAPF32[$246>>2]; + $248 = $240 * $247; + $249 = +HEAPF32[$$0510533>>2]; + $250 = $245 * $249; + $251 = $248 + $250; + $252 = $247 * $245; + $253 = $240 * $249; + $254 = $252 - $253; + $255 = $237 + $239; + $256 = $242 - $244; + $257 = $255 + $251; + HEAPF32[$$0509534>>2] = $257; + $258 = $256 + $254; + HEAPF32[$241>>2] = $258; + $259 = $255 - $251; + HEAPF32[$238>>2] = $259; + $260 = $254 - $256; + HEAPF32[$243>>2] = $260; + $261 = ((($$0509534)) + 8|0); + $262 = +HEAPF32[$261>>2]; + $263 = +HEAPF32[$$0508536>>2]; + $264 = $262 - $263; + $265 = ((($$0509534)) + 12|0); + $266 = +HEAPF32[$265>>2]; + $267 = ((($$pn535)) + -12|0); + $268 = +HEAPF32[$267>>2]; + $269 = $266 + $268; + $270 = ((($$0510533)) + 12|0); + $271 = +HEAPF32[$270>>2]; + $272 = $264 * $271; + $273 = ((($$0510533)) + 8|0); + $274 = +HEAPF32[$273>>2]; + $275 = $269 * $274; + $276 = $272 + $275; + $277 = $271 * $269; + $278 = $264 * $274; + $279 = $277 - $278; + $280 = $262 + $263; + $281 = $266 - $268; + $282 = $280 + $276; + HEAPF32[$261>>2] = $282; + $283 = $281 + $279; + HEAPF32[$265>>2] = $283; + $284 = $280 - $276; + HEAPF32[$$0508536>>2] = $284; + $285 = $279 - $281; + HEAPF32[$267>>2] = $285; + $286 = ((($$0510533)) + 16|0); + $287 = ((($$0509534)) + 16|0); + $$0508 = ((($$0508536)) + -16|0); + $288 = ($287>>>0)<($$0508>>>0); + if ($288) { + $$pn535$phi = $$0508536;$$0508536 = $$0508;$$0509534 = $287;$$0510533 = $286;$$pn535 = $$pn535$phi; + } else { + break; + } + } + } + $$0494522 = ((($233)) + -32|0); + $289 = ($$0494522>>>0)<($19>>>0); + if ($289) { + HEAP32[$7>>2] = $8; + STACKTOP = sp;return; + } + $290 = (($1) + -4)|0; + $291 = (($0) + ($290<<2)|0); + $292 = (($0) + ($191<<2)|0); + $293 = (((($2)) + 1076|0) + ($3<<2)|0); + $294 = HEAP32[$293>>2]|0; + $295 = (($294) + ($4<<2)|0); + $$0494530 = $$0494522;$$0495531$pn = $295;$$0496527 = $291;$$0497526 = $20;$$0498525 = $292;$$0499524 = $0;$$pn520529 = $233; + while(1) { + $$0495531 = ((($$0495531$pn)) + -32|0); + $296 = ((($$pn520529)) + -8|0); + $297 = +HEAPF32[$296>>2]; + $298 = ((($$0495531$pn)) + -4|0); + $299 = +HEAPF32[$298>>2]; + $300 = $297 * $299; + $301 = ((($$pn520529)) + -4|0); + $302 = +HEAPF32[$301>>2]; + $303 = ((($$0495531$pn)) + -8|0); + $304 = +HEAPF32[$303>>2]; + $305 = $302 * $304; + $306 = $300 - $305; + $307 = $297 * $304; + $308 = -$307; + $309 = $299 * $302; + $310 = $308 - $309; + HEAPF32[$$0499524>>2] = $306; + $311 = -$306; + $312 = ((($$0498525)) + 12|0); + HEAPF32[$312>>2] = $311; + HEAPF32[$$0497526>>2] = $310; + $313 = ((($$0496527)) + 12|0); + HEAPF32[$313>>2] = $310; + $314 = ((($$pn520529)) + -16|0); + $315 = +HEAPF32[$314>>2]; + $316 = ((($$0495531$pn)) + -12|0); + $317 = +HEAPF32[$316>>2]; + $318 = $315 * $317; + $319 = ((($$pn520529)) + -12|0); + $320 = +HEAPF32[$319>>2]; + $321 = ((($$0495531$pn)) + -16|0); + $322 = +HEAPF32[$321>>2]; + $323 = $320 * $322; + $324 = $318 - $323; + $325 = $315 * $322; + $326 = -$325; + $327 = $317 * $320; + $328 = $326 - $327; + $329 = ((($$0499524)) + 4|0); + HEAPF32[$329>>2] = $324; + $330 = -$324; + $331 = ((($$0498525)) + 8|0); + HEAPF32[$331>>2] = $330; + $332 = ((($$0497526)) + 4|0); + HEAPF32[$332>>2] = $328; + $333 = ((($$0496527)) + 8|0); + HEAPF32[$333>>2] = $328; + $334 = ((($$pn520529)) + -24|0); + $335 = +HEAPF32[$334>>2]; + $336 = ((($$0495531$pn)) + -20|0); + $337 = +HEAPF32[$336>>2]; + $338 = $335 * $337; + $339 = ((($$pn520529)) + -20|0); + $340 = +HEAPF32[$339>>2]; + $341 = ((($$0495531$pn)) + -24|0); + $342 = +HEAPF32[$341>>2]; + $343 = $340 * $342; + $344 = $338 - $343; + $345 = $335 * $342; + $346 = -$345; + $347 = $337 * $340; + $348 = $346 - $347; + $349 = ((($$0499524)) + 8|0); + HEAPF32[$349>>2] = $344; + $350 = -$344; + $351 = ((($$0498525)) + 4|0); + HEAPF32[$351>>2] = $350; + $352 = ((($$0497526)) + 8|0); + HEAPF32[$352>>2] = $348; + $353 = ((($$0496527)) + 4|0); + HEAPF32[$353>>2] = $348; + $354 = +HEAPF32[$$0494530>>2]; + $355 = ((($$0495531$pn)) + -28|0); + $356 = +HEAPF32[$355>>2]; + $357 = $354 * $356; + $358 = ((($$pn520529)) + -28|0); + $359 = +HEAPF32[$358>>2]; + $360 = +HEAPF32[$$0495531>>2]; + $361 = $359 * $360; + $362 = $357 - $361; + $363 = $354 * $360; + $364 = -$363; + $365 = $356 * $359; + $366 = $364 - $365; + $367 = ((($$0499524)) + 12|0); + HEAPF32[$367>>2] = $362; + $368 = -$362; + HEAPF32[$$0498525>>2] = $368; + $369 = ((($$0497526)) + 12|0); + HEAPF32[$369>>2] = $366; + HEAPF32[$$0496527>>2] = $366; + $370 = ((($$0499524)) + 16|0); + $371 = ((($$0497526)) + 16|0); + $372 = ((($$0498525)) + -16|0); + $373 = ((($$0496527)) + -16|0); + $$0494 = ((($$0494530)) + -32|0); + $374 = ($$0494>>>0)<($19>>>0); + if ($374) { + break; + } else { + $$pn520529$phi = $$0494530;$$0494530 = $$0494;$$0495531$pn = $$0495531;$$0496527 = $373;$$0497526 = $371;$$0498525 = $372;$$0499524 = $370;$$pn520529 = $$pn520529$phi; + } + } + HEAP32[$7>>2] = $8; + STACKTOP = sp;return; +} +function _flush_packet($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + while(1) { + $1 = (_get8_packet_raw($0)|0); + $2 = ($1|0)==(-1); + if ($2) { + break; + } + } + return; +} +function _get8_packet_raw($0) { + $0 = $0|0; + var $$0 = 0, $$pr = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 1376|0); + $2 = HEAP8[$1>>0]|0; + $3 = ($2<<24>>24)==(0); + if ($3) { + $4 = ((($0)) + 1384|0); + $5 = HEAP32[$4>>2]|0; + $6 = ($5|0)==(0); + if (!($6)) { + $$0 = -1; + return ($$0|0); + } + $7 = (_next_segment($0)|0); + $8 = ($7|0)==(0); + if ($8) { + $$0 = -1; + return ($$0|0); + } + $$pr = HEAP8[$1>>0]|0; + $9 = ($$pr<<24>>24)==(0); + if ($9) { + ___assert_fail((17648|0),(17533|0),1138,(17668|0)); + // unreachable; + } else { + $11 = $$pr; + } + } else { + $11 = $2; + } + $10 = (($11) + -1)<<24>>24; + HEAP8[$1>>0] = $10; + $12 = ((($0)) + 1400|0); + $13 = HEAP32[$12>>2]|0; + $14 = (($13) + 1)|0; + HEAP32[$12>>2] = $14; + $15 = (_get8($0)|0); + $16 = $15&255; + $$0 = $16; + return ($$0|0); +} +function _next_segment($0) { + $0 = $0|0; + var $$0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 1384|0); + $2 = HEAP32[$1>>2]|0; + $3 = ($2|0)==(0); + if (!($3)) { + $$0 = 0; + return ($$0|0); + } + $4 = ((($0)) + 1380|0); + $5 = HEAP32[$4>>2]|0; + $6 = ($5|0)==(-1); + if ($6) { + $7 = ((($0)) + 1116|0); + $8 = HEAP32[$7>>2]|0; + $9 = (($8) + -1)|0; + $10 = ((($0)) + 1388|0); + HEAP32[$10>>2] = $9; + $11 = (_start_page($0)|0); + $12 = ($11|0)==(0); + if ($12) { + HEAP32[$1>>2] = 1; + $$0 = 0; + return ($$0|0); + } + $13 = ((($0)) + 1375|0); + $14 = HEAP8[$13>>0]|0; + $15 = $14 & 1; + $16 = ($15<<24>>24)==(0); + if ($16) { + _error($0,32); + $$0 = 0; + return ($$0|0); + } + } + $17 = HEAP32[$4>>2]|0; + $18 = (($17) + 1)|0; + HEAP32[$4>>2] = $18; + $19 = (((($0)) + 1120|0) + ($17)|0); + $20 = HEAP8[$19>>0]|0; + $21 = $20&255; + $22 = ($20<<24>>24)==(-1); + if (!($22)) { + HEAP32[$1>>2] = 1; + $23 = ((($0)) + 1388|0); + HEAP32[$23>>2] = $17; + } + $24 = ((($0)) + 1116|0); + $25 = HEAP32[$24>>2]|0; + $26 = ($18|0)<($25|0); + if (!($26)) { + HEAP32[$4>>2] = -1; + } + $27 = ((($0)) + 1376|0); + $28 = HEAP8[$27>>0]|0; + $29 = ($28<<24>>24)==(0); + if (!($29)) { + ___assert_fail((17684|0),(17533|0),1124,(17705|0)); + // unreachable; + } + HEAP8[$27>>0] = $20; + $$0 = $21; + return ($$0|0); +} +function _get8($0) { + $0 = $0|0; + var $$1 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 32|0); + $2 = HEAP32[$1>>2]|0; + $3 = ($2|0)==(0|0); + if ($3) { + $10 = ((($0)) + 20|0); + $11 = HEAP32[$10>>2]|0; + $12 = (_fgetc($11)|0); + $13 = ($12|0)==(-1); + if ($13) { + $14 = ((($0)) + 96|0); + HEAP32[$14>>2] = 1; + $$1 = 0; + return ($$1|0); + } else { + $15 = $12&255; + $$1 = $15; + return ($$1|0); + } + } else { + $4 = ((($0)) + 40|0); + $5 = HEAP32[$4>>2]|0; + $6 = ($2>>>0)<($5>>>0); + if ($6) { + $8 = ((($2)) + 1|0); + HEAP32[$1>>2] = $8; + $9 = HEAP8[$2>>0]|0; + $$1 = $9; + return ($$1|0); + } else { + $7 = ((($0)) + 96|0); + HEAP32[$7>>2] = 1; + $$1 = 0; + return ($$1|0); + } + } + return (0)|0; +} +function _start_page($0) { + $0 = $0|0; + var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (_capture_pattern($0)|0); + $2 = ($1|0)==(0); + if ($2) { + _error($0,30); + $$0 = 0; + return ($$0|0); + } else { + $3 = (_start_page_no_capturepattern($0)|0); + $$0 = $3; + return ($$0|0); + } + return (0)|0; +} +function _capture_pattern($0) { + $0 = $0|0; + var $$ = 0, $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (_get8($0)|0); + $2 = ($1<<24>>24)==(79); + if ($2) { + $3 = (_get8($0)|0); + $4 = ($3<<24>>24)==(103); + if ($4) { + $5 = (_get8($0)|0); + $6 = ($5<<24>>24)==(103); + if ($6) { + $7 = (_get8($0)|0); + $8 = ($7<<24>>24)==(83); + $$ = $8&1; + $$0 = $$; + } else { + $$0 = 0; + } + } else { + $$0 = 0; + } + } else { + $$0 = 0; + } + return ($$0|0); +} +function _start_page_no_capturepattern($0) { + $0 = $0|0; + var $$0 = 0, $$058 = 0, $$058$in = 0, $$059$lcssa = 0, $$05963 = 0, $$06062 = 0, $$lcssa = 0, $$sroa$0$0$$sroa_idx = 0, $$sroa$5$0$$sroa_idx3 = 0, $$sroa$6$0$$sroa_idx5 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0; + var $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0; + var $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $phitmp = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (_get8($0)|0); + $2 = ($1<<24>>24)==(0); + if (!($2)) { + _error($0,31); + $$0 = 0; + return ($$0|0); + } + $3 = (_get8($0)|0); + $4 = ((($0)) + 1375|0); + HEAP8[$4>>0] = $3; + $5 = (_get32($0)|0); + $6 = (_get32($0)|0); + (_get32($0)|0); + $7 = (_get32($0)|0); + $8 = ((($0)) + 1112|0); + HEAP32[$8>>2] = $7; + (_get32($0)|0); + $9 = (_get8($0)|0); + $10 = $9&255; + $11 = ((($0)) + 1116|0); + HEAP32[$11>>2] = $10; + $12 = ((($0)) + 1120|0); + $13 = (_getn($0,$12,$10)|0); + $14 = ($13|0)==(0); + if ($14) { + _error($0,10); + $$0 = 0; + return ($$0|0); + } + $15 = ((($0)) + 1404|0); + HEAP32[$15>>2] = -2; + $16 = $6 & $5; + $17 = ($16|0)==(-1); + L9: do { + if (!($17)) { + $18 = HEAP32[$11>>2]|0; + $$058$in = $18; + while(1) { + $$058 = (($$058$in) + -1)|0; + $19 = ($$058$in|0)>(0); + if (!($19)) { + break L9; + } + $20 = (((($0)) + 1120|0) + ($$058)|0); + $21 = HEAP8[$20>>0]|0; + $22 = ($21<<24>>24)==(-1); + if ($22) { + $$058$in = $$058; + } else { + break; + } + } + HEAP32[$15>>2] = $$058; + $23 = ((($0)) + 1408|0); + HEAP32[$23>>2] = $5; + } + } while(0); + $24 = ((($0)) + 1377|0); + $25 = HEAP8[$24>>0]|0; + $26 = ($25<<24>>24)==(0); + if (!($26)) { + $27 = HEAP32[$11>>2]|0; + $28 = ($27|0)>(0); + if ($28) { + $29 = HEAP32[$11>>2]|0; + $$05963 = 0;$$06062 = 0; + while(1) { + $30 = (((($0)) + 1120|0) + ($$06062)|0); + $31 = HEAP8[$30>>0]|0; + $32 = $31&255; + $33 = (($32) + ($$05963))|0; + $34 = (($$06062) + 1)|0; + $35 = ($34|0)<($29|0); + if ($35) { + $$05963 = $33;$$06062 = $34; + } else { + break; + } + } + $phitmp = (($33) + 27)|0; + $$059$lcssa = $phitmp;$$lcssa = $29; + } else { + $$059$lcssa = 27;$$lcssa = $27; + } + $36 = ((($0)) + 52|0); + $37 = HEAP32[$36>>2]|0; + $38 = (($$059$lcssa) + ($$lcssa))|0; + $39 = (($38) + ($37))|0; + $$sroa$0$0$$sroa_idx = ((($0)) + 56|0); + HEAP32[$$sroa$0$0$$sroa_idx>>2] = $37; + $$sroa$5$0$$sroa_idx3 = ((($0)) + 60|0); + HEAP32[$$sroa$5$0$$sroa_idx3>>2] = $39; + $$sroa$6$0$$sroa_idx5 = ((($0)) + 64|0); + HEAP32[$$sroa$6$0$$sroa_idx5>>2] = $5; + } + $40 = ((($0)) + 1380|0); + HEAP32[$40>>2] = 0; + $$0 = 1; + return ($$0|0); +} +function _get32($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (_get8($0)|0); + $2 = $1&255; + $3 = (_get8($0)|0); + $4 = $3&255; + $5 = $4 << 8; + $6 = $5 | $2; + $7 = (_get8($0)|0); + $8 = $7&255; + $9 = $8 << 16; + $10 = $6 | $9; + $11 = (_get8($0)|0); + $12 = $11&255; + $13 = $12 << 24; + $14 = $10 | $13; + return ($14|0); +} +function _getn($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ((($0)) + 32|0); + $4 = HEAP32[$3>>2]|0; + $5 = ($4|0)==(0|0); + if ($5) { + $13 = ((($0)) + 20|0); + $14 = HEAP32[$13>>2]|0; + $15 = (_fread($1,$2,1,$14)|0); + $16 = ($15|0)==(1); + if ($16) { + $$0 = 1; + return ($$0|0); + } + $17 = ((($0)) + 96|0); + HEAP32[$17>>2] = 1; + $$0 = 0; + return ($$0|0); + } + $6 = (($4) + ($2)|0); + $7 = ((($0)) + 40|0); + $8 = HEAP32[$7>>2]|0; + $9 = ($6>>>0)>($8>>>0); + if ($9) { + $10 = ((($0)) + 96|0); + HEAP32[$10>>2] = 1; + $$0 = 0; + return ($$0|0); + } else { + _memcpy(($1|0),($4|0),($2|0))|0; + $11 = HEAP32[$3>>2]|0; + $12 = (($11) + ($2)|0); + HEAP32[$3>>2] = $12; + $$0 = 1; + return ($$0|0); + } + return (0)|0; +} +function _setup_temp_malloc($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = (($1) + 3)|0; + $3 = $2 & -4; + $4 = ((($0)) + 80|0); + $5 = HEAP32[$4>>2]|0; + $6 = ($5|0)==(0|0); + if ($6) { + $14 = (_malloc($3)|0); + $$0 = $14; + return ($$0|0); + } + $7 = ((($0)) + 92|0); + $8 = HEAP32[$7>>2]|0; + $9 = (($8) - ($3))|0; + $10 = ((($0)) + 88|0); + $11 = HEAP32[$10>>2]|0; + $12 = ($9|0)<($11|0); + if ($12) { + $$0 = 0; + return ($$0|0); + } + HEAP32[$7>>2] = $9; + $13 = (($5) + ($9)|0); + $$0 = $13; + return ($$0|0); +} +function _imdct_step3_iter0_loop($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$0100 = 0, $$09499 = 0, $$09598 = 0, $$09697 = 0, $10 = 0, $100 = 0.0, $101 = 0.0, $102 = 0.0, $103 = 0.0, $104 = 0.0, $105 = 0.0, $106 = 0.0, $107 = 0.0, $108 = 0, $109 = 0, $11 = 0.0, $110 = 0, $111 = 0, $112 = 0, $12 = 0.0; + var $13 = 0.0, $14 = 0, $15 = 0.0, $16 = 0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0, $25 = 0.0, $26 = 0.0, $27 = 0.0, $28 = 0.0, $29 = 0.0, $30 = 0.0, $31 = 0.0, $32 = 0.0; + var $33 = 0, $34 = 0, $35 = 0.0, $36 = 0, $37 = 0.0, $38 = 0.0, $39 = 0, $40 = 0.0, $41 = 0, $42 = 0.0, $43 = 0.0, $44 = 0.0, $45 = 0.0, $46 = 0.0, $47 = 0.0, $48 = 0.0, $49 = 0, $5 = 0, $50 = 0.0, $51 = 0.0; + var $52 = 0.0, $53 = 0.0, $54 = 0.0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0, $59 = 0, $6 = 0, $60 = 0.0, $61 = 0, $62 = 0.0, $63 = 0.0, $64 = 0, $65 = 0.0, $66 = 0, $67 = 0.0, $68 = 0.0, $69 = 0.0, $7 = 0; + var $70 = 0.0, $71 = 0.0, $72 = 0.0, $73 = 0.0, $74 = 0, $75 = 0.0, $76 = 0.0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0, $80 = 0.0, $81 = 0.0, $82 = 0.0, $83 = 0, $84 = 0, $85 = 0.0, $86 = 0, $87 = 0.0, $88 = 0.0; + var $89 = 0, $9 = 0, $90 = 0.0, $91 = 0, $92 = 0.0, $93 = 0.0, $94 = 0.0, $95 = 0.0, $96 = 0.0, $97 = 0.0, $98 = 0.0, $99 = 0, label = 0, sp = 0; + sp = STACKTOP; + $5 = (($1) + ($2<<2)|0); + $6 = $0 & 3; + $7 = ($6|0)==(0); + if (!($7)) { + ___assert_fail((17718|0),(17533|0),2007,(17731|0)); + // unreachable; + } + $8 = $0 >> 2; + $9 = ($8|0)>(0); + if (!($9)) { + return; + } + $10 = (($5) + ($3<<2)|0); + $$0100 = $4;$$09499 = $5;$$09598 = $8;$$09697 = $10; + while(1) { + $11 = +HEAPF32[$$09499>>2]; + $12 = +HEAPF32[$$09697>>2]; + $13 = $11 - $12; + $14 = ((($$09499)) + -4|0); + $15 = +HEAPF32[$14>>2]; + $16 = ((($$09697)) + -4|0); + $17 = +HEAPF32[$16>>2]; + $18 = $15 - $17; + $19 = $11 + $12; + HEAPF32[$$09499>>2] = $19; + $20 = +HEAPF32[$16>>2]; + $21 = $15 + $20; + HEAPF32[$14>>2] = $21; + $22 = +HEAPF32[$$0100>>2]; + $23 = $13 * $22; + $24 = ((($$0100)) + 4|0); + $25 = +HEAPF32[$24>>2]; + $26 = $18 * $25; + $27 = $23 - $26; + HEAPF32[$$09697>>2] = $27; + $28 = +HEAPF32[$$0100>>2]; + $29 = $18 * $28; + $30 = +HEAPF32[$24>>2]; + $31 = $13 * $30; + $32 = $29 + $31; + HEAPF32[$16>>2] = $32; + $33 = ((($$0100)) + 32|0); + $34 = ((($$09499)) + -8|0); + $35 = +HEAPF32[$34>>2]; + $36 = ((($$09697)) + -8|0); + $37 = +HEAPF32[$36>>2]; + $38 = $35 - $37; + $39 = ((($$09499)) + -12|0); + $40 = +HEAPF32[$39>>2]; + $41 = ((($$09697)) + -12|0); + $42 = +HEAPF32[$41>>2]; + $43 = $40 - $42; + $44 = $35 + $37; + HEAPF32[$34>>2] = $44; + $45 = +HEAPF32[$41>>2]; + $46 = $40 + $45; + HEAPF32[$39>>2] = $46; + $47 = +HEAPF32[$33>>2]; + $48 = $38 * $47; + $49 = ((($$0100)) + 36|0); + $50 = +HEAPF32[$49>>2]; + $51 = $43 * $50; + $52 = $48 - $51; + HEAPF32[$36>>2] = $52; + $53 = +HEAPF32[$33>>2]; + $54 = $43 * $53; + $55 = +HEAPF32[$49>>2]; + $56 = $38 * $55; + $57 = $54 + $56; + HEAPF32[$41>>2] = $57; + $58 = ((($$0100)) + 64|0); + $59 = ((($$09499)) + -16|0); + $60 = +HEAPF32[$59>>2]; + $61 = ((($$09697)) + -16|0); + $62 = +HEAPF32[$61>>2]; + $63 = $60 - $62; + $64 = ((($$09499)) + -20|0); + $65 = +HEAPF32[$64>>2]; + $66 = ((($$09697)) + -20|0); + $67 = +HEAPF32[$66>>2]; + $68 = $65 - $67; + $69 = $60 + $62; + HEAPF32[$59>>2] = $69; + $70 = +HEAPF32[$66>>2]; + $71 = $65 + $70; + HEAPF32[$64>>2] = $71; + $72 = +HEAPF32[$58>>2]; + $73 = $63 * $72; + $74 = ((($$0100)) + 68|0); + $75 = +HEAPF32[$74>>2]; + $76 = $68 * $75; + $77 = $73 - $76; + HEAPF32[$61>>2] = $77; + $78 = +HEAPF32[$58>>2]; + $79 = $68 * $78; + $80 = +HEAPF32[$74>>2]; + $81 = $63 * $80; + $82 = $79 + $81; + HEAPF32[$66>>2] = $82; + $83 = ((($$0100)) + 96|0); + $84 = ((($$09499)) + -24|0); + $85 = +HEAPF32[$84>>2]; + $86 = ((($$09697)) + -24|0); + $87 = +HEAPF32[$86>>2]; + $88 = $85 - $87; + $89 = ((($$09499)) + -28|0); + $90 = +HEAPF32[$89>>2]; + $91 = ((($$09697)) + -28|0); + $92 = +HEAPF32[$91>>2]; + $93 = $90 - $92; + $94 = $85 + $87; + HEAPF32[$84>>2] = $94; + $95 = +HEAPF32[$91>>2]; + $96 = $90 + $95; + HEAPF32[$89>>2] = $96; + $97 = +HEAPF32[$83>>2]; + $98 = $88 * $97; + $99 = ((($$0100)) + 100|0); + $100 = +HEAPF32[$99>>2]; + $101 = $93 * $100; + $102 = $98 - $101; + HEAPF32[$86>>2] = $102; + $103 = +HEAPF32[$83>>2]; + $104 = $93 * $103; + $105 = +HEAPF32[$99>>2]; + $106 = $88 * $105; + $107 = $104 + $106; + HEAPF32[$91>>2] = $107; + $108 = ((($$0100)) + 128|0); + $109 = ((($$09499)) + -32|0); + $110 = ((($$09697)) + -32|0); + $111 = (($$09598) + -1)|0; + $112 = ($$09598|0)>(1); + if ($112) { + $$0100 = $108;$$09499 = $109;$$09598 = $111;$$09697 = $110; + } else { + break; + } + } + return; +} +function _imdct_step3_inner_r_loop($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + var $$0103 = 0, $$097102 = 0, $$098101 = 0, $$099100 = 0, $10 = 0.0, $100 = 0.0, $101 = 0.0, $102 = 0.0, $103 = 0.0, $104 = 0.0, $105 = 0.0, $106 = 0.0, $107 = 0, $108 = 0, $109 = 0, $11 = 0.0, $110 = 0, $111 = 0, $12 = 0.0, $13 = 0; + var $14 = 0.0, $15 = 0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0.0, $28 = 0.0, $29 = 0.0, $30 = 0.0, $31 = 0.0, $32 = 0, $33 = 0; + var $34 = 0.0, $35 = 0, $36 = 0.0, $37 = 0.0, $38 = 0, $39 = 0.0, $40 = 0, $41 = 0.0, $42 = 0.0, $43 = 0.0, $44 = 0.0, $45 = 0.0, $46 = 0.0, $47 = 0.0, $48 = 0, $49 = 0.0, $50 = 0.0, $51 = 0.0, $52 = 0.0, $53 = 0.0; + var $54 = 0.0, $55 = 0.0, $56 = 0.0, $57 = 0, $58 = 0, $59 = 0.0, $6 = 0, $60 = 0, $61 = 0.0, $62 = 0.0, $63 = 0, $64 = 0.0, $65 = 0, $66 = 0.0, $67 = 0.0, $68 = 0.0, $69 = 0.0, $7 = 0, $70 = 0.0, $71 = 0.0; + var $72 = 0.0, $73 = 0, $74 = 0.0, $75 = 0.0, $76 = 0.0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0, $80 = 0.0, $81 = 0.0, $82 = 0, $83 = 0, $84 = 0.0, $85 = 0, $86 = 0.0, $87 = 0.0, $88 = 0, $89 = 0.0, $9 = 0; + var $90 = 0, $91 = 0.0, $92 = 0.0, $93 = 0.0, $94 = 0.0, $95 = 0.0, $96 = 0.0, $97 = 0.0, $98 = 0, $99 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $6 = (($1) + ($2<<2)|0); + $7 = $0 >> 2; + $8 = ($7|0)>(0); + if (!($8)) { + return; + } + $9 = (($6) + ($3<<2)|0); + $$0103 = $9;$$097102 = $6;$$098101 = $4;$$099100 = $7; + while(1) { + $10 = +HEAPF32[$$097102>>2]; + $11 = +HEAPF32[$$0103>>2]; + $12 = $10 - $11; + $13 = ((($$097102)) + -4|0); + $14 = +HEAPF32[$13>>2]; + $15 = ((($$0103)) + -4|0); + $16 = +HEAPF32[$15>>2]; + $17 = $14 - $16; + $18 = $10 + $11; + HEAPF32[$$097102>>2] = $18; + $19 = +HEAPF32[$15>>2]; + $20 = $14 + $19; + HEAPF32[$13>>2] = $20; + $21 = +HEAPF32[$$098101>>2]; + $22 = $12 * $21; + $23 = ((($$098101)) + 4|0); + $24 = +HEAPF32[$23>>2]; + $25 = $17 * $24; + $26 = $22 - $25; + HEAPF32[$$0103>>2] = $26; + $27 = +HEAPF32[$$098101>>2]; + $28 = $17 * $27; + $29 = +HEAPF32[$23>>2]; + $30 = $12 * $29; + $31 = $28 + $30; + HEAPF32[$15>>2] = $31; + $32 = (($$098101) + ($5<<2)|0); + $33 = ((($$097102)) + -8|0); + $34 = +HEAPF32[$33>>2]; + $35 = ((($$0103)) + -8|0); + $36 = +HEAPF32[$35>>2]; + $37 = $34 - $36; + $38 = ((($$097102)) + -12|0); + $39 = +HEAPF32[$38>>2]; + $40 = ((($$0103)) + -12|0); + $41 = +HEAPF32[$40>>2]; + $42 = $39 - $41; + $43 = $34 + $36; + HEAPF32[$33>>2] = $43; + $44 = +HEAPF32[$40>>2]; + $45 = $39 + $44; + HEAPF32[$38>>2] = $45; + $46 = +HEAPF32[$32>>2]; + $47 = $37 * $46; + $48 = ((($32)) + 4|0); + $49 = +HEAPF32[$48>>2]; + $50 = $42 * $49; + $51 = $47 - $50; + HEAPF32[$35>>2] = $51; + $52 = +HEAPF32[$32>>2]; + $53 = $42 * $52; + $54 = +HEAPF32[$48>>2]; + $55 = $37 * $54; + $56 = $53 + $55; + HEAPF32[$40>>2] = $56; + $57 = (($32) + ($5<<2)|0); + $58 = ((($$097102)) + -16|0); + $59 = +HEAPF32[$58>>2]; + $60 = ((($$0103)) + -16|0); + $61 = +HEAPF32[$60>>2]; + $62 = $59 - $61; + $63 = ((($$097102)) + -20|0); + $64 = +HEAPF32[$63>>2]; + $65 = ((($$0103)) + -20|0); + $66 = +HEAPF32[$65>>2]; + $67 = $64 - $66; + $68 = $59 + $61; + HEAPF32[$58>>2] = $68; + $69 = +HEAPF32[$65>>2]; + $70 = $64 + $69; + HEAPF32[$63>>2] = $70; + $71 = +HEAPF32[$57>>2]; + $72 = $62 * $71; + $73 = ((($57)) + 4|0); + $74 = +HEAPF32[$73>>2]; + $75 = $67 * $74; + $76 = $72 - $75; + HEAPF32[$60>>2] = $76; + $77 = +HEAPF32[$57>>2]; + $78 = $67 * $77; + $79 = +HEAPF32[$73>>2]; + $80 = $62 * $79; + $81 = $78 + $80; + HEAPF32[$65>>2] = $81; + $82 = (($57) + ($5<<2)|0); + $83 = ((($$097102)) + -24|0); + $84 = +HEAPF32[$83>>2]; + $85 = ((($$0103)) + -24|0); + $86 = +HEAPF32[$85>>2]; + $87 = $84 - $86; + $88 = ((($$097102)) + -28|0); + $89 = +HEAPF32[$88>>2]; + $90 = ((($$0103)) + -28|0); + $91 = +HEAPF32[$90>>2]; + $92 = $89 - $91; + $93 = $84 + $86; + HEAPF32[$83>>2] = $93; + $94 = +HEAPF32[$90>>2]; + $95 = $89 + $94; + HEAPF32[$88>>2] = $95; + $96 = +HEAPF32[$82>>2]; + $97 = $87 * $96; + $98 = ((($82)) + 4|0); + $99 = +HEAPF32[$98>>2]; + $100 = $92 * $99; + $101 = $97 - $100; + HEAPF32[$85>>2] = $101; + $102 = +HEAPF32[$82>>2]; + $103 = $92 * $102; + $104 = +HEAPF32[$98>>2]; + $105 = $87 * $104; + $106 = $103 + $105; + HEAPF32[$90>>2] = $106; + $107 = ((($$097102)) + -32|0); + $108 = ((($$0103)) + -32|0); + $109 = (($82) + ($5<<2)|0); + $110 = (($$099100) + -1)|0; + $111 = ($$099100|0)>(1); + if ($111) { + $$0103 = $108;$$097102 = $107;$$098101 = $109;$$099100 = $110; + } else { + break; + } + } + return; +} +function _imdct_step3_inner_s_loop($0,$1,$2,$3,$4,$5,$6) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + $6 = $6|0; + var $$0129132 = 0, $$0130131 = 0, $$0133 = 0, $10 = 0, $100 = 0.0, $101 = 0.0, $102 = 0.0, $103 = 0.0, $104 = 0.0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $11 = 0.0, $12 = 0, $13 = 0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0.0; + var $18 = 0, $19 = 0, $20 = 0.0, $21 = 0, $22 = 0, $23 = 0.0, $24 = 0, $25 = 0, $26 = 0.0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0.0, $32 = 0.0, $33 = 0.0, $34 = 0, $35 = 0.0, $36 = 0, $37 = 0.0; + var $38 = 0.0, $39 = 0.0, $40 = 0.0, $41 = 0.0, $42 = 0.0, $43 = 0.0, $44 = 0.0, $45 = 0.0, $46 = 0.0, $47 = 0.0, $48 = 0, $49 = 0.0, $50 = 0, $51 = 0.0, $52 = 0.0, $53 = 0, $54 = 0.0, $55 = 0, $56 = 0.0, $57 = 0.0; + var $58 = 0.0, $59 = 0.0, $60 = 0.0, $61 = 0.0, $62 = 0.0, $63 = 0.0, $64 = 0.0, $65 = 0.0, $66 = 0.0, $67 = 0, $68 = 0.0, $69 = 0, $7 = 0.0, $70 = 0.0, $71 = 0.0, $72 = 0, $73 = 0.0, $74 = 0, $75 = 0.0, $76 = 0.0; + var $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0, $80 = 0.0, $81 = 0.0, $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0.0, $86 = 0, $87 = 0.0, $88 = 0, $89 = 0.0, $9 = 0.0, $90 = 0.0, $91 = 0, $92 = 0.0, $93 = 0, $94 = 0.0; + var $95 = 0.0, $96 = 0.0, $97 = 0.0, $98 = 0.0, $99 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $7 = +HEAPF32[$4>>2]; + $8 = ((($4)) + 4|0); + $9 = +HEAPF32[$8>>2]; + $10 = (($4) + ($5<<2)|0); + $11 = +HEAPF32[$10>>2]; + $12 = (($5) + 1)|0; + $13 = (($4) + ($12<<2)|0); + $14 = +HEAPF32[$13>>2]; + $15 = $5 << 1; + $16 = (($4) + ($15<<2)|0); + $17 = +HEAPF32[$16>>2]; + $18 = $15 | 1; + $19 = (($4) + ($18<<2)|0); + $20 = +HEAPF32[$19>>2]; + $21 = ($5*3)|0; + $22 = (($4) + ($21<<2)|0); + $23 = +HEAPF32[$22>>2]; + $24 = (($21) + 1)|0; + $25 = (($4) + ($24<<2)|0); + $26 = +HEAPF32[$25>>2]; + $27 = (($1) + ($2<<2)|0); + $28 = ($0|0)>(0); + if (!($28)) { + return; + } + $29 = (($27) + ($3<<2)|0); + $30 = (0 - ($6))|0; + $$0129132 = $27;$$0130131 = $0;$$0133 = $29; + while(1) { + $31 = +HEAPF32[$$0129132>>2]; + $32 = +HEAPF32[$$0133>>2]; + $33 = $31 - $32; + $34 = ((($$0129132)) + -4|0); + $35 = +HEAPF32[$34>>2]; + $36 = ((($$0133)) + -4|0); + $37 = +HEAPF32[$36>>2]; + $38 = $35 - $37; + $39 = $31 + $32; + HEAPF32[$$0129132>>2] = $39; + $40 = +HEAPF32[$36>>2]; + $41 = $35 + $40; + HEAPF32[$34>>2] = $41; + $42 = $7 * $33; + $43 = $9 * $38; + $44 = $42 - $43; + HEAPF32[$$0133>>2] = $44; + $45 = $7 * $38; + $46 = $9 * $33; + $47 = $46 + $45; + HEAPF32[$36>>2] = $47; + $48 = ((($$0129132)) + -8|0); + $49 = +HEAPF32[$48>>2]; + $50 = ((($$0133)) + -8|0); + $51 = +HEAPF32[$50>>2]; + $52 = $49 - $51; + $53 = ((($$0129132)) + -12|0); + $54 = +HEAPF32[$53>>2]; + $55 = ((($$0133)) + -12|0); + $56 = +HEAPF32[$55>>2]; + $57 = $54 - $56; + $58 = $49 + $51; + HEAPF32[$48>>2] = $58; + $59 = +HEAPF32[$55>>2]; + $60 = $54 + $59; + HEAPF32[$53>>2] = $60; + $61 = $11 * $52; + $62 = $14 * $57; + $63 = $61 - $62; + HEAPF32[$50>>2] = $63; + $64 = $11 * $57; + $65 = $14 * $52; + $66 = $65 + $64; + HEAPF32[$55>>2] = $66; + $67 = ((($$0129132)) + -16|0); + $68 = +HEAPF32[$67>>2]; + $69 = ((($$0133)) + -16|0); + $70 = +HEAPF32[$69>>2]; + $71 = $68 - $70; + $72 = ((($$0129132)) + -20|0); + $73 = +HEAPF32[$72>>2]; + $74 = ((($$0133)) + -20|0); + $75 = +HEAPF32[$74>>2]; + $76 = $73 - $75; + $77 = $68 + $70; + HEAPF32[$67>>2] = $77; + $78 = +HEAPF32[$74>>2]; + $79 = $73 + $78; + HEAPF32[$72>>2] = $79; + $80 = $17 * $71; + $81 = $20 * $76; + $82 = $80 - $81; + HEAPF32[$69>>2] = $82; + $83 = $17 * $76; + $84 = $20 * $71; + $85 = $84 + $83; + HEAPF32[$74>>2] = $85; + $86 = ((($$0129132)) + -24|0); + $87 = +HEAPF32[$86>>2]; + $88 = ((($$0133)) + -24|0); + $89 = +HEAPF32[$88>>2]; + $90 = $87 - $89; + $91 = ((($$0129132)) + -28|0); + $92 = +HEAPF32[$91>>2]; + $93 = ((($$0133)) + -28|0); + $94 = +HEAPF32[$93>>2]; + $95 = $92 - $94; + $96 = $87 + $89; + HEAPF32[$86>>2] = $96; + $97 = +HEAPF32[$93>>2]; + $98 = $92 + $97; + HEAPF32[$91>>2] = $98; + $99 = $23 * $90; + $100 = $26 * $95; + $101 = $99 - $100; + HEAPF32[$88>>2] = $101; + $102 = $23 * $95; + $103 = $26 * $90; + $104 = $103 + $102; + HEAPF32[$93>>2] = $104; + $105 = (($$0129132) + ($30<<2)|0); + $106 = (($$0133) + ($30<<2)|0); + $107 = (($$0130131) + -1)|0; + $108 = ($$0130131|0)>(1); + if ($108) { + $$0129132 = $105;$$0130131 = $107;$$0133 = $106; + } else { + break; + } + } + return; +} +function _imdct_step3_inner_s_loop_ld654($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$086 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0.0, $14 = 0, $15 = 0.0, $16 = 0.0, $17 = 0, $18 = 0.0, $19 = 0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0, $25 = 0.0, $26 = 0, $27 = 0.0, $28 = 0.0; + var $29 = 0, $30 = 0.0, $31 = 0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0.0, $36 = 0.0, $37 = 0.0, $38 = 0.0, $39 = 0.0, $40 = 0, $41 = 0.0, $42 = 0, $43 = 0.0, $44 = 0.0, $45 = 0, $46 = 0.0, $47 = 0, $48 = 0.0; + var $49 = 0.0, $5 = 0, $50 = 0.0, $51 = 0.0, $52 = 0, $53 = 0.0, $54 = 0, $55 = 0.0, $56 = 0.0, $57 = 0, $58 = 0.0, $59 = 0, $6 = 0, $60 = 0.0, $61 = 0.0, $62 = 0.0, $63 = 0.0, $64 = 0.0, $65 = 0.0, $66 = 0.0; + var $67 = 0.0, $68 = 0, $69 = 0, $7 = 0.0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $5 = $4 >> 3; + $6 = (($3) + ($5<<2)|0); + $7 = +HEAPF32[$6>>2]; + $8 = (($1) + ($2<<2)|0); + $9 = $0 << 4; + $10 = (0 - ($9))|0; + $11 = (($8) + ($10<<2)|0); + $12 = ($10|0)<(0); + if ($12) { + $$086 = $8; + } else { + return; + } + while(1) { + $13 = +HEAPF32[$$086>>2]; + $14 = ((($$086)) + -32|0); + $15 = +HEAPF32[$14>>2]; + $16 = $13 - $15; + $17 = ((($$086)) + -4|0); + $18 = +HEAPF32[$17>>2]; + $19 = ((($$086)) + -36|0); + $20 = +HEAPF32[$19>>2]; + $21 = $18 - $20; + $22 = $13 + $15; + HEAPF32[$$086>>2] = $22; + $23 = $18 + $20; + HEAPF32[$17>>2] = $23; + HEAPF32[$14>>2] = $16; + HEAPF32[$19>>2] = $21; + $24 = ((($$086)) + -8|0); + $25 = +HEAPF32[$24>>2]; + $26 = ((($$086)) + -40|0); + $27 = +HEAPF32[$26>>2]; + $28 = $25 - $27; + $29 = ((($$086)) + -12|0); + $30 = +HEAPF32[$29>>2]; + $31 = ((($$086)) + -44|0); + $32 = +HEAPF32[$31>>2]; + $33 = $30 - $32; + $34 = $25 + $27; + HEAPF32[$24>>2] = $34; + $35 = $30 + $32; + HEAPF32[$29>>2] = $35; + $36 = $28 + $33; + $37 = $7 * $36; + HEAPF32[$26>>2] = $37; + $38 = $33 - $28; + $39 = $7 * $38; + HEAPF32[$31>>2] = $39; + $40 = ((($$086)) + -48|0); + $41 = +HEAPF32[$40>>2]; + $42 = ((($$086)) + -16|0); + $43 = +HEAPF32[$42>>2]; + $44 = $41 - $43; + $45 = ((($$086)) + -20|0); + $46 = +HEAPF32[$45>>2]; + $47 = ((($$086)) + -52|0); + $48 = +HEAPF32[$47>>2]; + $49 = $46 - $48; + $50 = $41 + $43; + HEAPF32[$42>>2] = $50; + $51 = $46 + $48; + HEAPF32[$45>>2] = $51; + HEAPF32[$40>>2] = $49; + HEAPF32[$47>>2] = $44; + $52 = ((($$086)) + -56|0); + $53 = +HEAPF32[$52>>2]; + $54 = ((($$086)) + -24|0); + $55 = +HEAPF32[$54>>2]; + $56 = $53 - $55; + $57 = ((($$086)) + -28|0); + $58 = +HEAPF32[$57>>2]; + $59 = ((($$086)) + -60|0); + $60 = +HEAPF32[$59>>2]; + $61 = $58 - $60; + $62 = $53 + $55; + HEAPF32[$54>>2] = $62; + $63 = $58 + $60; + HEAPF32[$57>>2] = $63; + $64 = $56 + $61; + $65 = $7 * $64; + HEAPF32[$52>>2] = $65; + $66 = $56 - $61; + $67 = $7 * $66; + HEAPF32[$59>>2] = $67; + _iter_54($$086); + _iter_54($14); + $68 = ((($$086)) + -64|0); + $69 = ($68>>>0)>($11>>>0); + if ($69) { + $$086 = $68; + } else { + break; + } + } + return; +} +function _iter_54($0) { + $0 = $0|0; + var $1 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0, $15 = 0.0, $16 = 0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $2 = 0, $20 = 0.0, $21 = 0, $22 = 0.0, $23 = 0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0.0; + var $28 = 0.0, $29 = 0.0, $3 = 0.0, $30 = 0.0, $31 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $1 = +HEAPF32[$0>>2]; + $2 = ((($0)) + -16|0); + $3 = +HEAPF32[$2>>2]; + $4 = $1 - $3; + $5 = $1 + $3; + $6 = ((($0)) + -8|0); + $7 = +HEAPF32[$6>>2]; + $8 = ((($0)) + -24|0); + $9 = +HEAPF32[$8>>2]; + $10 = $7 + $9; + $11 = $7 - $9; + $12 = $5 + $10; + HEAPF32[$0>>2] = $12; + $13 = $5 - $10; + HEAPF32[$6>>2] = $13; + $14 = ((($0)) + -12|0); + $15 = +HEAPF32[$14>>2]; + $16 = ((($0)) + -28|0); + $17 = +HEAPF32[$16>>2]; + $18 = $15 - $17; + $19 = $4 + $18; + HEAPF32[$2>>2] = $19; + $20 = $4 - $18; + HEAPF32[$8>>2] = $20; + $21 = ((($0)) + -4|0); + $22 = +HEAPF32[$21>>2]; + $23 = ((($0)) + -20|0); + $24 = +HEAPF32[$23>>2]; + $25 = $22 - $24; + $26 = $22 + $24; + $27 = $15 + $17; + $28 = $27 + $26; + HEAPF32[$21>>2] = $28; + $29 = $26 - $27; + HEAPF32[$14>>2] = $29; + $30 = $25 - $11; + HEAPF32[$23>>2] = $30; + $31 = $11 + $25; + HEAPF32[$16>>2] = $31; + return; +} +function _draw_line($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + var $$ = 0, $$0$pn = 0, $$05368 = 0, $$056 = 0, $$05666 = 0, $$05669 = 0, $$1 = 0, $$155 = 0, $$155$sink67 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0.0, $19 = 0, $20 = 0.0; + var $21 = 0.0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0.0, $29 = 0, $30 = 0.0, $31 = 0.0, $32 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $ispos = 0, $ispos58 = 0, $neg = 0, $neg59 = 0; + var label = 0, sp = 0; + sp = STACKTOP; + $6 = (($4) - ($2))|0; + $7 = (($3) - ($1))|0; + $ispos = ($6|0)>(-1); + $neg = (0 - ($6))|0; + $8 = $ispos ? $6 : $neg; + $9 = (($6|0) / ($7|0))&-1; + $10 = $6 >> 31; + $11 = $10 | 1; + $ispos58 = ($9|0)>(-1); + $neg59 = (0 - ($9))|0; + $12 = $ispos58 ? $9 : $neg59; + $13 = Math_imul($12, $7)|0; + $14 = (($8) - ($13))|0; + $15 = ($3|0)>($5|0); + $$ = $15 ? $5 : $3; + $16 = ($$|0)>($1|0); + if (!($16)) { + return; + } + $17 = (3820 + ($2<<2)|0); + $18 = +HEAPF32[$17>>2]; + $19 = (($0) + ($1<<2)|0); + $20 = +HEAPF32[$19>>2]; + $21 = $18 * $20; + HEAPF32[$19>>2] = $21; + $$05666 = (($1) + 1)|0; + $22 = ($$05666|0)<($$|0); + if ($22) { + $$05368 = 0;$$05669 = $$05666;$$155$sink67 = $2; + } else { + return; + } + while(1) { + $23 = (($$05368) + ($14))|0; + $24 = ($23|0)<($7|0); + $25 = $24 ? 0 : $11; + $26 = $24 ? 0 : $7; + $$1 = (($23) - ($26))|0; + $$0$pn = (($$155$sink67) + ($9))|0; + $$155 = (($$0$pn) + ($25))|0; + $27 = (3820 + ($$155<<2)|0); + $28 = +HEAPF32[$27>>2]; + $29 = (($0) + ($$05669<<2)|0); + $30 = +HEAPF32[$29>>2]; + $31 = $28 * $30; + HEAPF32[$29>>2] = $31; + $$056 = (($$05669) + 1)|0; + $32 = ($$056|0)<($$|0); + if ($32) { + $$05368 = $$1;$$05669 = $$056;$$155$sink67 = $$155; + } else { + break; + } + } + return; +} +function _make_block_array($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$01617 = 0, $$018 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $exitcond = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ($1|0)>(0); + if (!($3)) { + return ($0|0); + } + $4 = (($0) + ($1<<2)|0); + $$01617 = 0;$$018 = $4; + while(1) { + $5 = (($0) + ($$01617<<2)|0); + HEAP32[$5>>2] = $$018; + $6 = (($$018) + ($2)|0); + $7 = (($$01617) + 1)|0; + $exitcond = ($7|0)==($1|0); + if ($exitcond) { + break; + } else { + $$01617 = $7;$$018 = $6; + } + } + return ($0|0); +} +function _codebook_decode_deinterleave_repeat($0,$1,$2,$3,$4,$5,$6,$7) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + $6 = $6|0; + $7 = $7|0; + var $$ = 0, $$$1115 = 0, $$$3117 = 0, $$0100145 = 0, $$0102$lcssa = 0, $$0102144 = 0, $$0105133 = 0.0, $$0107143 = 0, $$0112132 = 0, $$0114$lcssa = 0, $$0114142 = 0, $$1103134 = 0, $$1108 = 0, $$1111 = 0, $$1113137 = 0, $$1115131 = 0, $$121 = 0, $$122 = 0, $$123 = 0, $$2 = 0; + var $$3117136 = 0, $$3138 = 0, $$5 = 0, $$5119 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; + var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; + var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0; + var $66 = 0.0, $67 = 0.0, $68 = 0, $69 = 0, $70 = 0, $71 = 0, $72 = 0.0, $73 = 0.0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0.0; + var $85 = 0.0, $86 = 0, $87 = 0.0, $88 = 0.0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $exitcond = 0, $exitcond150 = 0, label = 0, sp = 0; + sp = STACKTOP; + $8 = HEAP32[$4>>2]|0; + $9 = HEAP32[$5>>2]|0; + $10 = HEAP32[$1>>2]|0; + $11 = ((($1)) + 21|0); + $12 = HEAP8[$11>>0]|0; + $13 = ($12<<24>>24)==(0); + if ($13) { + _error($0,21); + $$2 = 0; + return ($$2|0); + } + $14 = ($7|0)>(0); + L5: do { + if ($14) { + $15 = ((($0)) + 1396|0); + $16 = ((($0)) + 1392|0); + $17 = ((($1)) + 8|0); + $18 = ((($1)) + 23|0); + $19 = Math_imul($6, $3)|0; + $20 = ((($1)) + 22|0); + $21 = ((($1)) + 28|0); + $22 = ((($1)) + 28|0); + $23 = ((($1)) + 2092|0); + $$0100145 = $7;$$0102144 = $8;$$0107143 = $10;$$0114142 = $9; + while(1) { + $24 = HEAP32[$15>>2]|0; + $25 = ($24|0)<(10); + if ($25) { + _prep_huffman($0); + } + $26 = HEAP32[$16>>2]|0; + $27 = $26 & 1023; + $28 = (((($1)) + 36|0) + ($27<<1)|0); + $29 = HEAP16[$28>>1]|0; + $30 = $29 << 16 >> 16; + $31 = ($29<<16>>16)>(-1); + if ($31) { + $32 = HEAP32[$17>>2]|0; + $33 = (($32) + ($30)|0); + $34 = HEAP8[$33>>0]|0; + $35 = $34&255; + $36 = $26 >>> $35; + HEAP32[$16>>2] = $36; + $37 = HEAP32[$15>>2]|0; + $38 = (($37) - ($35))|0; + $39 = ($38|0)<(0); + $$ = $39 ? 0 : $38; + $$121 = $39 ? -1 : $30; + HEAP32[$15>>2] = $$; + $$1111 = $$121; + } else { + $40 = (_codebook_decode_scalar_raw($0,$1)|0); + $$1111 = $40; + } + $41 = HEAP8[$18>>0]|0; + $42 = ($41<<24>>24)==(0); + if (!($42)) { + $43 = HEAP32[$23>>2]|0; + $44 = ($$1111|0)<($43|0); + if (!($44)) { + label = 12; + break; + } + } + $45 = ($$1111|0)<(0); + if ($45) { + break; + } + $52 = Math_imul($$0114142, $3)|0; + $53 = (($$0107143) + ($52))|0; + $54 = (($53) + ($$0102144))|0; + $55 = ($54|0)>($19|0); + $56 = (($19) - ($52))|0; + $57 = (($56) + ($$0102144))|0; + $$1108 = $55 ? $57 : $$0107143; + $58 = HEAP32[$1>>2]|0; + $59 = Math_imul($58, $$1111)|0; + $60 = HEAP8[$20>>0]|0; + $61 = ($60<<24>>24)==(0); + $62 = ($$1108|0)>(0); + if ($61) { + if ($62) { + $$1113137 = 0;$$3117136 = $$0114142;$$3138 = $$0102144; + while(1) { + $78 = (($2) + ($$3138<<2)|0); + $79 = HEAP32[$78>>2]|0; + $80 = ($79|0)==(0|0); + if (!($80)) { + $81 = HEAP32[$21>>2]|0; + $82 = (($$1113137) + ($59))|0; + $83 = (($81) + ($82<<2)|0); + $84 = +HEAPF32[$83>>2]; + $85 = $84 + 0.0; + $86 = (($79) + ($$3117136<<2)|0); + $87 = +HEAPF32[$86>>2]; + $88 = $87 + $85; + HEAPF32[$86>>2] = $88; + } + $89 = (($$3138) + 1)|0; + $90 = ($89|0)==($3|0); + $91 = $90&1; + $$$3117 = (($91) + ($$3117136))|0; + $$123 = $90 ? 0 : $89; + $92 = (($$1113137) + 1)|0; + $exitcond150 = ($92|0)==($$1108|0); + if ($exitcond150) { + $$5 = $$123;$$5119 = $$$3117; + break; + } else { + $$1113137 = $92;$$3117136 = $$$3117;$$3138 = $$123; + } + } + } else { + $$5 = $$0102144;$$5119 = $$0114142; + } + } else { + if ($62) { + $63 = HEAP32[$22>>2]|0; + $$0105133 = 0.0;$$0112132 = 0;$$1103134 = $$0102144;$$1115131 = $$0114142; + while(1) { + $64 = (($$0112132) + ($59))|0; + $65 = (($63) + ($64<<2)|0); + $66 = +HEAPF32[$65>>2]; + $67 = $$0105133 + $66; + $68 = (($2) + ($$1103134<<2)|0); + $69 = HEAP32[$68>>2]|0; + $70 = ($69|0)==(0|0); + $71 = (($69) + ($$1115131<<2)|0); + if (!($70)) { + $72 = +HEAPF32[$71>>2]; + $73 = $67 + $72; + HEAPF32[$71>>2] = $73; + } + $74 = (($$1103134) + 1)|0; + $75 = ($74|0)==($3|0); + $76 = $75&1; + $$$1115 = (($76) + ($$1115131))|0; + $$122 = $75 ? 0 : $74; + $77 = (($$0112132) + 1)|0; + $exitcond = ($77|0)==($$1108|0); + if ($exitcond) { + $$5 = $$122;$$5119 = $$$1115; + break; + } else { + $$0105133 = $67;$$0112132 = $77;$$1103134 = $$122;$$1115131 = $$$1115; + } + } + } else { + $$5 = $$0102144;$$5119 = $$0114142; + } + } + $93 = (($$0100145) - ($$1108))|0; + $94 = ($93|0)>(0); + if ($94) { + $$0100145 = $93;$$0102144 = $$5;$$0107143 = $$1108;$$0114142 = $$5119; + } else { + $$0102$lcssa = $$5;$$0114$lcssa = $$5119; + break L5; + } + } + if ((label|0) == 12) { + ___assert_fail((17798|0),(17533|0),1436,(17834|0)); + // unreachable; + } + $46 = ((($0)) + 1376|0); + $47 = HEAP8[$46>>0]|0; + $48 = ($47<<24>>24)==(0); + if ($48) { + $49 = ((($0)) + 1384|0); + $50 = HEAP32[$49>>2]|0; + $51 = ($50|0)==(0); + if (!($51)) { + $$2 = 0; + return ($$2|0); + } + } + _error($0,21); + $$2 = 0; + return ($$2|0); + } else { + $$0102$lcssa = $8;$$0114$lcssa = $9; + } + } while(0); + HEAP32[$4>>2] = $$0102$lcssa; + HEAP32[$5>>2] = $$0114$lcssa; + $$2 = 1; + return ($$2|0); +} +function _residue_decode($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + var $$03237 = 0, $$03440 = 0, $$1 = 0, $$13341 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; + var $26 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $6 = ($5|0)==(0); + if ($6) { + $8 = HEAP32[$1>>2]|0; + $9 = (($4|0) / ($8|0))&-1; + $10 = (($2) + ($3<<2)|0); + $11 = ($9|0)>(0); + if (!($11)) { + $$1 = 1; + return ($$1|0); + } + $12 = (($4) - ($3))|0; + $$03237 = 0; + while(1) { + $15 = (($10) + ($$03237<<2)|0); + $16 = (($12) - ($$03237))|0; + $17 = (_codebook_decode_step($0,$1,$15,$16,$9)|0); + $18 = ($17|0)==(0); + $14 = (($$03237) + 1)|0; + if ($18) { + $$1 = 0; + label = 10; + break; + } + $13 = ($14|0)<($9|0); + if ($13) { + $$03237 = $14; + } else { + $$1 = 1; + label = 10; + break; + } + } + if ((label|0) == 10) { + return ($$1|0); + } + } else { + $7 = ($4|0)>(0); + if (!($7)) { + $$1 = 1; + return ($$1|0); + } + $$03440 = $3;$$13341 = 0; + while(1) { + $19 = (($2) + ($$03440<<2)|0); + $20 = (($4) - ($$13341))|0; + $21 = (_codebook_decode($0,$1,$19,$20)|0); + $22 = ($21|0)==(0); + if ($22) { + $$1 = 0; + label = 10; + break; + } + $23 = HEAP32[$1>>2]|0; + $24 = (($23) + ($$13341))|0; + $25 = (($23) + ($$03440))|0; + $26 = ($24|0)<($4|0); + if ($26) { + $$03440 = $25;$$13341 = $24; + } else { + $$1 = 1; + label = 10; + break; + } + } + if ((label|0) == 10) { + return ($$1|0); + } + } + return (0)|0; +} +function _codebook_decode_step($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$ = 0, $$0 = 0, $$028$ = 0.0, $$02832 = 0.0, $$02931 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0.0, $19 = 0.0, $20 = 0, $21 = 0, $22 = 0.0, $23 = 0.0, $24 = 0; + var $25 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $5 = (_codebook_decode_start($0,$1)|0); + $6 = ($5|0)<(0); + if ($6) { + $$0 = 0; + return ($$0|0); + } + $7 = HEAP32[$1>>2]|0; + $8 = ($7|0)<($3|0); + $$ = $8 ? $7 : $3; + $9 = Math_imul($7, $5)|0; + $10 = ($$|0)>(0); + if (!($10)) { + $$0 = 1; + return ($$0|0); + } + $11 = ((($1)) + 28|0); + $12 = HEAP32[$11>>2]|0; + $13 = ((($1)) + 22|0); + $14 = HEAP8[$13>>0]|0; + $15 = ($14<<24>>24)==(0); + $$02832 = 0.0;$$02931 = 0; + while(1) { + $16 = (($$02931) + ($9))|0; + $17 = (($12) + ($16<<2)|0); + $18 = +HEAPF32[$17>>2]; + $19 = $$02832 + $18; + $20 = Math_imul($$02931, $4)|0; + $21 = (($2) + ($20<<2)|0); + $22 = +HEAPF32[$21>>2]; + $23 = $22 + $19; + HEAPF32[$21>>2] = $23; + $$028$ = $15 ? $$02832 : $19; + $24 = (($$02931) + 1)|0; + $25 = ($24|0)<($$|0); + if ($25) { + $$02832 = $$028$;$$02931 = $24; + } else { + $$0 = 1; + break; + } + } + return ($$0|0); +} +function _codebook_decode($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$ = 0, $$0 = 0, $$04046 = 0.0, $$04145 = 0, $$144 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0.0, $21 = 0.0, $22 = 0, $23 = 0.0, $24 = 0.0; + var $25 = 0.0, $26 = 0.0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0.0, $32 = 0.0, $33 = 0, $34 = 0.0, $35 = 0.0, $36 = 0, $37 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; + var sp = 0; + sp = STACKTOP; + $4 = (_codebook_decode_start($0,$1)|0); + $5 = ($4|0)<(0); + if ($5) { + $$0 = 0; + return ($$0|0); + } + $6 = HEAP32[$1>>2]|0; + $7 = ($6|0)<($3|0); + $$ = $7 ? $6 : $3; + $8 = Math_imul($6, $4)|0; + $9 = ((($1)) + 22|0); + $10 = HEAP8[$9>>0]|0; + $11 = ($10<<24>>24)==(0); + $12 = ($$|0)>(0); + if ($11) { + if (!($12)) { + $$0 = 1; + return ($$0|0); + } + $16 = ((($1)) + 28|0); + $17 = HEAP32[$16>>2]|0; + $$144 = 0; + while(1) { + $29 = (($$144) + ($8))|0; + $30 = (($17) + ($29<<2)|0); + $31 = +HEAPF32[$30>>2]; + $32 = $31 + 0.0; + $33 = (($2) + ($$144<<2)|0); + $34 = +HEAPF32[$33>>2]; + $35 = $34 + $32; + HEAPF32[$33>>2] = $35; + $36 = (($$144) + 1)|0; + $37 = ($36|0)<($$|0); + if ($37) { + $$144 = $36; + } else { + $$0 = 1; + break; + } + } + return ($$0|0); + } else { + if (!($12)) { + $$0 = 1; + return ($$0|0); + } + $13 = ((($1)) + 28|0); + $14 = HEAP32[$13>>2]|0; + $15 = ((($1)) + 12|0); + $$04046 = 0.0;$$04145 = 0; + while(1) { + $18 = (($$04145) + ($8))|0; + $19 = (($14) + ($18<<2)|0); + $20 = +HEAPF32[$19>>2]; + $21 = $$04046 + $20; + $22 = (($2) + ($$04145<<2)|0); + $23 = +HEAPF32[$22>>2]; + $24 = $23 + $21; + HEAPF32[$22>>2] = $24; + $25 = +HEAPF32[$15>>2]; + $26 = $21 + $25; + $27 = (($$04145) + 1)|0; + $28 = ($27|0)<($$|0); + if ($28) { + $$04046 = $26;$$04145 = $27; + } else { + $$0 = 1; + break; + } + } + return ($$0|0); + } + return (0)|0; +} +function _codebook_decode_start($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$ = 0, $$0 = 0, $$1 = 0, $$30 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; + var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; + var label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($1)) + 21|0); + $3 = HEAP8[$2>>0]|0; + $4 = ($3<<24>>24)==(0); + if ($4) { + _error($0,21); + $$0 = -1; + return ($$0|0); + } + $5 = ((($0)) + 1396|0); + $6 = HEAP32[$5>>2]|0; + $7 = ($6|0)<(10); + if ($7) { + _prep_huffman($0); + } + $8 = ((($0)) + 1392|0); + $9 = HEAP32[$8>>2]|0; + $10 = $9 & 1023; + $11 = (((($1)) + 36|0) + ($10<<1)|0); + $12 = HEAP16[$11>>1]|0; + $13 = $12 << 16 >> 16; + $14 = ($12<<16>>16)>(-1); + if ($14) { + $15 = ((($1)) + 8|0); + $16 = HEAP32[$15>>2]|0; + $17 = (($16) + ($13)|0); + $18 = HEAP8[$17>>0]|0; + $19 = $18&255; + $20 = $9 >>> $19; + HEAP32[$8>>2] = $20; + $21 = HEAP32[$5>>2]|0; + $22 = (($21) - ($19))|0; + $23 = ($22|0)<(0); + $$ = $23 ? 0 : $22; + $$30 = $23 ? -1 : $13; + HEAP32[$5>>2] = $$; + $$1 = $$30; + } else { + $24 = (_codebook_decode_scalar_raw($0,$1)|0); + $$1 = $24; + } + $25 = ((($1)) + 23|0); + $26 = HEAP8[$25>>0]|0; + $27 = ($26<<24>>24)==(0); + if (!($27)) { + $28 = ((($1)) + 2092|0); + $29 = HEAP32[$28>>2]|0; + $30 = ($$1|0)<($29|0); + if (!($30)) { + ___assert_fail((17754|0),(17533|0),1342,(17776|0)); + // unreachable; + } + } + $31 = ($$1|0)<(0); + if (!($31)) { + $$0 = $$1; + return ($$0|0); + } + $32 = ((($0)) + 1376|0); + $33 = HEAP8[$32>>0]|0; + $34 = ($33<<24>>24)==(0); + if ($34) { + $35 = ((($0)) + 1384|0); + $36 = HEAP32[$35>>2]|0; + $37 = ($36|0)==(0); + if (!($37)) { + $$0 = $$1; + return ($$0|0); + } + } + _error($0,21); + $$0 = $$1; + return ($$0|0); +} +function _bit_reverse($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0; + var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = $0 >>> 1; + $2 = $1 & 1431655765; + $3 = $0 << 1; + $4 = $3 & -1431655766; + $5 = $2 | $4; + $6 = $5 >>> 2; + $7 = $6 & 858993459; + $8 = $5 << 2; + $9 = $8 & -858993460; + $10 = $7 | $9; + $11 = $10 >>> 4; + $12 = $11 & 252645135; + $13 = $10 << 4; + $14 = $13 & -252645136; + $15 = $12 | $14; + $16 = $15 >>> 8; + $17 = $16 & 16711935; + $18 = $15 << 8; + $19 = $18 & -16711936; + $20 = $17 | $19; + $21 = $20 >>> 16; + $22 = $20 << 16; + $23 = $21 | $22; + return ($23|0); +} +function _maybe_start_packet($0) { + $0 = $0|0; + var $$1 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $3 = 0, $4 = 0, $5 = 0; + var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 1380|0); + $2 = HEAP32[$1>>2]|0; + $3 = ($2|0)==(-1); + if ($3) { + $4 = (_get8($0)|0); + $5 = ((($0)) + 96|0); + $6 = HEAP32[$5>>2]|0; + $7 = ($6|0)==(0); + if (!($7)) { + $$1 = 0; + return ($$1|0); + } + $8 = ($4<<24>>24)==(79); + if (!($8)) { + _error($0,30); + $$1 = 0; + return ($$1|0); + } + $9 = (_get8($0)|0); + $10 = ($9<<24>>24)==(103); + if (!($10)) { + _error($0,30); + $$1 = 0; + return ($$1|0); + } + $11 = (_get8($0)|0); + $12 = ($11<<24>>24)==(103); + if (!($12)) { + _error($0,30); + $$1 = 0; + return ($$1|0); + } + $13 = (_get8($0)|0); + $14 = ($13<<24>>24)==(83); + if (!($14)) { + _error($0,30); + $$1 = 0; + return ($$1|0); + } + $15 = (_start_page_no_capturepattern($0)|0); + $16 = ($15|0)==(0); + if ($16) { + $$1 = 0; + return ($$1|0); + } + $17 = ((($0)) + 1375|0); + $18 = HEAP8[$17>>0]|0; + $19 = $18 & 1; + $20 = ($19<<24>>24)==(0); + if (!($20)) { + $21 = ((($0)) + 1384|0); + HEAP32[$21>>2] = 0; + $22 = ((($0)) + 1376|0); + HEAP8[$22>>0] = 0; + _error($0,32); + $$1 = 0; + return ($$1|0); + } + } + $23 = (_start_packet($0)|0); + $$1 = $23; + return ($$1|0); +} +function _get8_packet($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (_get8_packet_raw($0)|0); + $2 = ((($0)) + 1396|0); + HEAP32[$2>>2] = 0; + return ($1|0); +} +function _start_packet($0) { + $0 = $0|0; + var $$0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 1380|0); + $2 = ((($0)) + 1375|0); + while(1) { + $3 = HEAP32[$1>>2]|0; + $4 = ($3|0)==(-1); + if (!($4)) { + label = 6; + break; + } + $5 = (_start_page($0)|0); + $6 = ($5|0)==(0); + if ($6) { + $$0 = 0; + label = 7; + break; + } + $7 = HEAP8[$2>>0]|0; + $8 = $7 & 1; + $9 = ($8<<24>>24)==(0); + if (!($9)) { + label = 5; + break; + } + } + if ((label|0) == 5) { + _error($0,32); + $$0 = 0; + return ($$0|0); + } + else if ((label|0) == 6) { + $10 = ((($0)) + 1384|0); + HEAP32[$10>>2] = 0; + $11 = ((($0)) + 1396|0); + HEAP32[$11>>2] = 0; + $12 = ((($0)) + 1400|0); + HEAP32[$12>>2] = 0; + $13 = ((($0)) + 1376|0); + HEAP8[$13>>0] = 0; + $$0 = 1; + return ($$0|0); + } + else if ((label|0) == 7) { + return ($$0|0); + } + return (0)|0; +} +function _compute_stereo_samples($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$$076 = 0, $$0 = 0, $$07386 = 0, $$07488 = 0, $$07593 = 0, $$07692 = 0, $$184 = 0, $$283 = 0, $$390 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0; + var $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0.0, $31 = 0, $32 = 0, $33 = 0.0, $34 = 0.0, $35 = 0, $36 = 0, $37 = 0.0, $38 = 0.0, $39 = 0, $40 = 0; + var $41 = 0, $42 = 0, $43 = 0.0, $44 = 0, $45 = 0, $46 = 0.0, $47 = 0.0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0.0, $53 = 0, $54 = 0, $55 = 0, $56 = 0.0, $57 = 0.0, $58 = 0, $59 = 0; + var $6 = 0, $60 = 0, $61 = 0, $62 = 0.0, $63 = 0.0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $8 = 0, $9 = 0; + var $exitcond = 0, $trunc = 0, $trunc$clear = 0, dest = 0, label = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0); + $5 = sp; + $6 = ($4|0)>(0); + if (!($6)) { + STACKTOP = sp;return; + } + $7 = ($1|0)>(0); + $$07593 = 0;$$07692 = 16; + while(1) { + $8 = $$07593 << 1; + dest=$5; stop=dest+128|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + $9 = (($$07593) + ($$07692))|0; + $10 = ($9|0)>($4|0); + $11 = (($4) - ($$07593))|0; + $$$076 = $10 ? $11 : $$07692; + L6: do { + if ($7) { + $12 = ($$$076|0)>(0); + $13 = (($$07593) + ($3))|0; + $14 = ($$$076|0)>(0); + $15 = (($$07593) + ($3))|0; + $16 = ($$$076|0)>(0); + $17 = (($$07593) + ($3))|0; + $$07488 = 0; + while(1) { + $20 = ((17992 + (($1*6)|0)|0) + ($$07488)|0); + $21 = HEAP8[$20>>0]|0; + $trunc = $21 & 6; + $trunc$clear = $trunc & 7; + switch ($trunc$clear<<24>>24) { + case 6: { + if ($12) { + $26 = (($2) + ($$07488<<2)|0); + $27 = HEAP32[$26>>2]|0; + $$07386 = 0; + while(1) { + $28 = (($13) + ($$07386))|0; + $29 = (($27) + ($28<<2)|0); + $30 = +HEAPF32[$29>>2]; + $31 = $$07386 << 1; + $32 = (($5) + ($31<<2)|0); + $33 = +HEAPF32[$32>>2]; + $34 = $30 + $33; + HEAPF32[$32>>2] = $34; + $35 = $31 | 1; + $36 = (($5) + ($35<<2)|0); + $37 = +HEAPF32[$36>>2]; + $38 = $30 + $37; + HEAPF32[$36>>2] = $38; + $39 = (($$07386) + 1)|0; + $40 = ($39|0)<($$$076|0); + if ($40) { + $$07386 = $39; + } else { + break; + } + } + } + break; + } + case 2: { + if ($14) { + $24 = (($2) + ($$07488<<2)|0); + $25 = HEAP32[$24>>2]|0; + $$184 = 0; + while(1) { + $41 = (($15) + ($$184))|0; + $42 = (($25) + ($41<<2)|0); + $43 = +HEAPF32[$42>>2]; + $44 = $$184 << 1; + $45 = (($5) + ($44<<2)|0); + $46 = +HEAPF32[$45>>2]; + $47 = $43 + $46; + HEAPF32[$45>>2] = $47; + $48 = (($$184) + 1)|0; + $49 = ($48|0)<($$$076|0); + if ($49) { + $$184 = $48; + } else { + break; + } + } + } + break; + } + case 4: { + if ($16) { + $22 = (($2) + ($$07488<<2)|0); + $23 = HEAP32[$22>>2]|0; + $$283 = 0; + while(1) { + $50 = (($17) + ($$283))|0; + $51 = (($23) + ($50<<2)|0); + $52 = +HEAPF32[$51>>2]; + $53 = $$283 << 1; + $54 = $53 | 1; + $55 = (($5) + ($54<<2)|0); + $56 = +HEAPF32[$55>>2]; + $57 = $52 + $56; + HEAPF32[$55>>2] = $57; + $58 = (($$283) + 1)|0; + $59 = ($58|0)<($$$076|0); + if ($59) { + $$283 = $58; + } else { + break; + } + } + } + break; + } + default: { + } + } + $60 = (($$07488) + 1)|0; + $exitcond = ($60|0)==($1|0); + if ($exitcond) { + break L6; + } else { + $$07488 = $60; + } + } + } + } while(0); + $18 = $$$076 << 1; + $19 = ($18|0)>(0); + if ($19) { + $$390 = 0; + while(1) { + $61 = (($5) + ($$390<<2)|0); + $62 = +HEAPF32[$61>>2]; + $63 = $62 + 384.0; + $64 = (HEAPF32[tempDoublePtr>>2]=$63,HEAP32[tempDoublePtr>>2]|0); + $65 = (($64) + -1136623616)|0; + $66 = ($65>>>0)>(65535); + $67 = ($64|0)<(1136656384); + $68 = $67 ? 32768 : 32767; + $$0 = $66 ? $68 : $64; + $69 = $$0&65535; + $70 = (($$390) + ($8))|0; + $71 = (($0) + ($70<<1)|0); + HEAP16[$71>>1] = $69; + $72 = (($$390) + 1)|0; + $73 = ($72|0)<($18|0); + if ($73) { + $$390 = $72; + } else { + break; + } + } + } + $74 = (($$07593) + 16)|0; + $75 = ($74|0)<($4|0); + if ($75) { + $$07593 = $74;$$07692 = $$$076; + } else { + break; + } + } + STACKTOP = sp;return; +} +function _stb_vorbis_get_file_offset($0) { + $0 = $0|0; + var $$0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 48|0); + $2 = HEAP8[$1>>0]|0; + $3 = ($2<<24>>24)==(0); + if (!($3)) { + $$0 = 0; + return ($$0|0); + } + $4 = ((($0)) + 32|0); + $5 = HEAP32[$4>>2]|0; + $6 = ($5|0)==(0|0); + if ($6) { + $11 = ((($0)) + 20|0); + $12 = HEAP32[$11>>2]|0; + $13 = (_ftell($12)|0); + $14 = ((($0)) + 24|0); + $15 = HEAP32[$14>>2]|0; + $16 = (($13) - ($15))|0; + $$0 = $16; + return ($$0|0); + } else { + $7 = ((($0)) + 36|0); + $8 = HEAP32[$7>>2]|0; + $9 = $5; + $10 = (($9) - ($8))|0; + $$0 = $10; + return ($$0|0); + } + return (0)|0; +} +function _set_file_offset($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $3 = 0; + var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond1 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($0)) + 48|0); + $3 = HEAP8[$2>>0]|0; + $4 = ($3<<24>>24)==(0); + if (!($4)) { + return; + } + $5 = ((($0)) + 96|0); + HEAP32[$5>>2] = 0; + $6 = ((($0)) + 32|0); + $7 = HEAP32[$6>>2]|0; + $8 = ($7|0)==(0|0); + if (!($8)) { + $9 = ((($0)) + 36|0); + $10 = HEAP32[$9>>2]|0; + $11 = (($10) + ($1)|0); + $12 = ((($0)) + 40|0); + $13 = HEAP32[$12>>2]|0; + $14 = ($11>>>0)>=($13>>>0); + $15 = ($1|0)<(0); + $or$cond1 = $15 | $14; + if ($or$cond1) { + HEAP32[$6>>2] = $13; + HEAP32[$5>>2] = 1; + return; + } else { + HEAP32[$6>>2] = $11; + return; + } + } + $16 = ((($0)) + 24|0); + $17 = HEAP32[$16>>2]|0; + $18 = (($17) + ($1))|0; + $19 = ($18>>>0)<($1>>>0); + $20 = ($1|0)<(0); + $or$cond = $20 | $19; + if ($or$cond) { + HEAP32[$5>>2] = 1; + $$0 = 2147483647; + } else { + $$0 = $18; + } + $21 = ((($0)) + 20|0); + $22 = HEAP32[$21>>2]|0; + $23 = (_fseek($22,$$0,0)|0); + $24 = ($23|0)==(0); + if ($24) { + return; + } + HEAP32[$5>>2] = 1; + $25 = HEAP32[$21>>2]|0; + $26 = HEAP32[$16>>2]|0; + (_fseek($25,$26,2)|0); + return; +} +function _vorbis_find_page($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$ = 0, $$0$ph = 0, $$069104 = 0, $$070 = 0, $$082$lcssa = 0, $$1 = 0, $$174103 = 0, $$2 = 0, $$275$lcssa = 0, $$275109 = 0, $$480102 = 0, $$5$ph = 0, $$581108 = 0, $$lobit = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0; + var $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0; + var $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0; + var $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0; + var $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0; + var $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0; + var $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0; + var $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0; + var $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0; + var $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0; + var $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $cond = 0, $exitcond = 0, $scevgep = 0, $trunc = 0, $trunc$clear = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $3 = sp; + $4 = ((($0)) + 96|0); + $5 = ((($0)) + 44|0); + $6 = ((($3)) + 4|0); + $7 = ((($3)) + 22|0); + $8 = ((($3)) + 23|0); + $9 = ((($3)) + 24|0); + $10 = ((($3)) + 25|0); + $11 = ((($3)) + 26|0); + $12 = ($1|0)==(0|0); + $13 = ($2|0)==(0|0); + $14 = ((($3)) + 5|0); + $scevgep = ((($3)) + 22|0); + $15 = ((($3)) + 4|0); + $16 = ((($3)) + 5|0); + $17 = ((($3)) + 6|0); + $18 = ((($3)) + 7|0); + $19 = ((($3)) + 8|0); + $20 = ((($3)) + 9|0); + $21 = ((($3)) + 10|0); + $22 = ((($3)) + 11|0); + $23 = ((($3)) + 12|0); + $24 = ((($3)) + 13|0); + $25 = ((($3)) + 14|0); + $26 = ((($3)) + 15|0); + $27 = ((($3)) + 16|0); + $28 = ((($3)) + 17|0); + $29 = ((($3)) + 18|0); + $30 = ((($3)) + 19|0); + $31 = ((($3)) + 20|0); + $32 = ((($3)) + 21|0); + $33 = ((($3)) + 22|0); + $34 = ((($3)) + 23|0); + $35 = ((($3)) + 24|0); + $36 = ((($3)) + 25|0); + $37 = ((($3)) + 26|0); + $38 = ((($3)) + 1|0); + $39 = ((($3)) + 2|0); + $40 = ((($3)) + 3|0); + $41 = ((($3)) + 4|0); + $42 = ((($3)) + 5|0); + $43 = ((($3)) + 6|0); + $44 = ((($3)) + 7|0); + $45 = ((($3)) + 8|0); + $46 = ((($3)) + 9|0); + $47 = ((($3)) + 10|0); + $48 = ((($3)) + 11|0); + $49 = ((($3)) + 12|0); + $50 = ((($3)) + 13|0); + $51 = ((($3)) + 14|0); + $52 = ((($3)) + 15|0); + $53 = ((($3)) + 16|0); + $54 = ((($3)) + 17|0); + $55 = ((($3)) + 18|0); + $56 = ((($3)) + 19|0); + $57 = ((($3)) + 20|0); + $58 = ((($3)) + 21|0); + $59 = ((($3)) + 22|0); + $60 = ((($3)) + 23|0); + $61 = ((($3)) + 24|0); + $62 = ((($3)) + 25|0); + $63 = ((($3)) + 26|0); + $$0$ph = 0; + L1: while(1) { + while(1) { + $64 = HEAP32[$4>>2]|0; + $65 = ($64|0)==(0); + if (!($65)) { + $$5$ph = 0; + label = 27; + break L1; + } + $66 = (_get8($0)|0); + $67 = ($66<<24>>24)==(79); + if ($67) { + break; + } + } + $68 = (_stb_vorbis_get_file_offset($0)|0); + $69 = (($68) + -25)|0; + $70 = HEAP32[$5>>2]|0; + $71 = ($69>>>0)>($70>>>0); + if ($71) { + $$5$ph = 0; + label = 27; + break; + } + $72 = (_get8($0)|0); + $73 = HEAP8[(4845)>>0]|0; + $74 = ($72<<24>>24)==($73<<24>>24); + if ($74) { + $75 = (_get8($0)|0); + $76 = HEAP8[(4846)>>0]|0; + $77 = ($75<<24>>24)==($76<<24>>24); + if ($77) { + $198 = (_get8($0)|0); + $199 = HEAP8[(4847)>>0]|0; + $200 = ($198<<24>>24)==($199<<24>>24); + $$ = $200 ? 4 : 3; + $$082$lcssa = $$; + } else { + $$082$lcssa = 2; + } + } else { + $$082$lcssa = 1; + } + $78 = HEAP32[$4>>2]|0; + $79 = ($78|0)==(0); + if (!($79)) { + $$5$ph = 0; + label = 27; + break; + } + $80 = ($$082$lcssa|0)==(4); + L13: do { + if ($80) { + $81 = HEAP32[1211]|0; + HEAP32[$3>>2] = $81; + $82 = (_get8($0)|0); + HEAP8[$15>>0] = $82; + $83 = (_get8($0)|0); + HEAP8[$16>>0] = $83; + $84 = (_get8($0)|0); + HEAP8[$17>>0] = $84; + $85 = (_get8($0)|0); + HEAP8[$18>>0] = $85; + $86 = (_get8($0)|0); + HEAP8[$19>>0] = $86; + $87 = (_get8($0)|0); + HEAP8[$20>>0] = $87; + $88 = (_get8($0)|0); + HEAP8[$21>>0] = $88; + $89 = (_get8($0)|0); + HEAP8[$22>>0] = $89; + $90 = (_get8($0)|0); + HEAP8[$23>>0] = $90; + $91 = (_get8($0)|0); + HEAP8[$24>>0] = $91; + $92 = (_get8($0)|0); + HEAP8[$25>>0] = $92; + $93 = (_get8($0)|0); + HEAP8[$26>>0] = $93; + $94 = (_get8($0)|0); + HEAP8[$27>>0] = $94; + $95 = (_get8($0)|0); + HEAP8[$28>>0] = $95; + $96 = (_get8($0)|0); + HEAP8[$29>>0] = $96; + $97 = (_get8($0)|0); + HEAP8[$30>>0] = $97; + $98 = (_get8($0)|0); + HEAP8[$31>>0] = $98; + $99 = (_get8($0)|0); + HEAP8[$32>>0] = $99; + $100 = (_get8($0)|0); + HEAP8[$33>>0] = $100; + $101 = (_get8($0)|0); + HEAP8[$34>>0] = $101; + $102 = (_get8($0)|0); + HEAP8[$35>>0] = $102; + $103 = (_get8($0)|0); + HEAP8[$36>>0] = $103; + $104 = (_get8($0)|0); + HEAP8[$37>>0] = $104; + $105 = HEAP32[$4>>2]|0; + $106 = ($105|0)==(0); + do { + if ($106) { + $107 = HEAP8[$6>>0]|0; + $108 = ($107<<24>>24)==(0); + if ($108) { + $111 = HEAP8[$7>>0]|0; + $112 = HEAP8[$8>>0]|0; + $113 = HEAP8[$9>>0]|0; + $114 = HEAP8[$10>>0]|0; + $115 = $114&255; + $116 = $115 << 24; + HEAP16[$scevgep>>1]=0&65535;HEAP16[$scevgep+2>>1]=0>>>16; + $117 = $112&255; + $118 = $117 << 8; + $119 = $111&255; + $120 = $118 | $119; + $121 = $113&255; + $122 = $121 << 16; + $123 = $120 | $122; + $124 = HEAP8[$3>>0]|0; + $125 = (_crc32_update(0,$124)|0); + $126 = HEAP8[$38>>0]|0; + $127 = (_crc32_update($125,$126)|0); + $128 = HEAP8[$39>>0]|0; + $129 = (_crc32_update($127,$128)|0); + $130 = HEAP8[$40>>0]|0; + $131 = (_crc32_update($129,$130)|0); + $132 = HEAP8[$41>>0]|0; + $133 = (_crc32_update($131,$132)|0); + $134 = HEAP8[$42>>0]|0; + $135 = (_crc32_update($133,$134)|0); + $136 = HEAP8[$43>>0]|0; + $137 = (_crc32_update($135,$136)|0); + $138 = HEAP8[$44>>0]|0; + $139 = (_crc32_update($137,$138)|0); + $140 = HEAP8[$45>>0]|0; + $141 = (_crc32_update($139,$140)|0); + $142 = HEAP8[$46>>0]|0; + $143 = (_crc32_update($141,$142)|0); + $144 = HEAP8[$47>>0]|0; + $145 = (_crc32_update($143,$144)|0); + $146 = HEAP8[$48>>0]|0; + $147 = (_crc32_update($145,$146)|0); + $148 = HEAP8[$49>>0]|0; + $149 = (_crc32_update($147,$148)|0); + $150 = HEAP8[$50>>0]|0; + $151 = (_crc32_update($149,$150)|0); + $152 = HEAP8[$51>>0]|0; + $153 = (_crc32_update($151,$152)|0); + $154 = HEAP8[$52>>0]|0; + $155 = (_crc32_update($153,$154)|0); + $156 = HEAP8[$53>>0]|0; + $157 = (_crc32_update($155,$156)|0); + $158 = HEAP8[$54>>0]|0; + $159 = (_crc32_update($157,$158)|0); + $160 = HEAP8[$55>>0]|0; + $161 = (_crc32_update($159,$160)|0); + $162 = HEAP8[$56>>0]|0; + $163 = (_crc32_update($161,$162)|0); + $164 = HEAP8[$57>>0]|0; + $165 = (_crc32_update($163,$164)|0); + $166 = HEAP8[$58>>0]|0; + $167 = (_crc32_update($165,$166)|0); + $168 = HEAP8[$59>>0]|0; + $169 = (_crc32_update($167,$168)|0); + $170 = HEAP8[$60>>0]|0; + $171 = (_crc32_update($169,$170)|0); + $172 = HEAP8[$61>>0]|0; + $173 = (_crc32_update($171,$172)|0); + $174 = HEAP8[$62>>0]|0; + $175 = (_crc32_update($173,$174)|0); + $176 = HEAP8[$63>>0]|0; + $177 = (_crc32_update($175,$176)|0); + $178 = $123 | $116; + $179 = ($176<<24>>24)==(0); + if ($179) { + $$275$lcssa = $177; + } else { + $109 = HEAP8[$11>>0]|0; + $110 = $109&255; + $$069104 = 0;$$174103 = $177;$$480102 = 0; + while(1) { + $180 = (_get8($0)|0); + $181 = $180&255; + $182 = (_crc32_update($$174103,$180)|0); + $183 = (($181) + ($$069104))|0; + $184 = (($$480102) + 1)|0; + $185 = ($184>>>0)<($110>>>0); + if ($185) { + $$069104 = $183;$$174103 = $182;$$480102 = $184; + } else { + break; + } + } + $186 = ($183|0)==(0); + if ($186) { + $$275$lcssa = $182; + } else { + $187 = HEAP32[$4>>2]|0; + $188 = ($187|0)==(0); + if ($188) { + $$275109 = $182;$$581108 = 0; + } else { + $$070 = 1;$$1 = 0; + break; + } + while(1) { + $189 = (_get8($0)|0); + $190 = (_crc32_update($$275109,$189)|0); + $191 = (($$581108) + 1)|0; + $exitcond = ($191|0)==($183|0); + if ($exitcond) { + $$275$lcssa = $190; + break; + } else { + $$275109 = $190;$$581108 = $191; + } + } + } + } + $192 = ($$275$lcssa|0)==($178|0); + if ($192) { + if (!($12)) { + $193 = (_stb_vorbis_get_file_offset($0)|0); + HEAP32[$1>>2] = $193; + } + if (!($13)) { + $194 = HEAP8[$14>>0]|0; + $195 = ($194&255) >>> 2; + $$lobit = $195 & 1; + $196 = $$lobit&255; + HEAP32[$2>>2] = $196; + } + $197 = (($68) + -1)|0; + _set_file_offset($0,$197); + $$070 = 1;$$1 = 1; + } else { + $$070 = 0;$$1 = $$0$ph; + } + } else { + $$070 = 13;$$1 = $$0$ph; + } + } else { + $$070 = 1;$$1 = 0; + } + } while(0); + $trunc = $$070&255; + $trunc$clear = $trunc & 15; + switch ($trunc$clear<<24>>24) { + case 13: case 0: { + $$2 = $$1; + break L13; + break; + } + default: { + } + } + $cond = ($$070|0)==(0); + if ($cond) { + $$0$ph = $$1; + continue L1; + } else { + $$5$ph = $$1; + label = 27; + break L1; + } + } else { + $$2 = $$0$ph; + } + } while(0); + _set_file_offset($0,$68); + $$0$ph = $$2; + } + if ((label|0) == 27) { + STACKTOP = sp;return ($$5$ph|0); + } + return (0)|0; +} +function _crc32_update($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = $0 << 8; + $3 = $1&255; + $4 = $0 >>> 24; + $5 = $3 ^ $4; + $6 = (337500 + ($5<<2)|0); + $7 = HEAP32[$6>>2]|0; + $8 = $7 ^ $2; + return ($8|0); +} +function _stb_vorbis_open_file($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; + sp = STACKTOP; + $4 = (_ftell($0)|0); + (_fseek($0,0,2)|0); + $5 = (_ftell($0)|0); + $6 = (($5) - ($4))|0; + (_fseek($0,$4,0)|0); + $7 = (_stb_vorbis_open_file_section($0,$1,$2,$3,$6)|0); + return ($7|0); +} +function _stb_vorbis_open_file_section($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 1520|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1520|0); + $5 = sp; + _vorbis_init($5,$3); + $6 = ((($5)) + 20|0); + HEAP32[$6>>2] = $0; + $7 = (_ftell($0)|0); + $8 = ((($5)) + 24|0); + HEAP32[$8>>2] = $7; + $9 = ((($5)) + 44|0); + HEAP32[$9>>2] = $4; + $10 = ((($5)) + 28|0); + HEAP32[$10>>2] = $1; + $11 = (_start_decoder($5)|0); + $12 = ($11|0)==(0); + if (!($12)) { + $13 = (_vorbis_alloc($5)|0); + $14 = ($13|0)==(0|0); + if (!($14)) { + _memcpy(($13|0),($5|0),1512)|0; + (_vorbis_pump_first_frame($13)|0); + $$0 = $13; + STACKTOP = sp;return ($$0|0); + } + } + $15 = ($2|0)==(0|0); + if (!($15)) { + $16 = ((($5)) + 100|0); + $17 = HEAP32[$16>>2]|0; + HEAP32[$2>>2] = $17; + } + _vorbis_deinit($5); + $$0 = 0; + STACKTOP = sp;return ($$0|0); +} +function _vorbis_init($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $3 = 0, $4 = 0, $5 = 0; + var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + _memset(($0|0),0,1512)|0; + $2 = ($1|0)==(0|0); + if (!($2)) { + $3 = ((($0)) + 80|0); + $4 = $1; + $5 = $4; + $6 = HEAP32[$5>>2]|0; + $7 = (($4) + 4)|0; + $8 = $7; + $9 = HEAP32[$8>>2]|0; + $10 = $3; + $11 = $10; + HEAP32[$11>>2] = $6; + $12 = (($10) + 4)|0; + $13 = $12; + HEAP32[$13>>2] = $9; + $14 = ((($0)) + 84|0); + $15 = HEAP32[$14>>2]|0; + $16 = (($15) + 3)|0; + $17 = $16 & -4; + HEAP32[$14>>2] = $17; + $18 = ((($0)) + 92|0); + HEAP32[$18>>2] = $17; + } + $19 = ((($0)) + 96|0); + HEAP32[$19>>2] = 0; + $20 = ((($0)) + 100|0); + HEAP32[$20>>2] = 0; + $21 = ((($0)) + 32|0); + HEAP32[$21>>2] = 0; + $22 = ((($0)) + 124|0); + HEAP32[$22>>2] = 0; + $23 = ((($0)) + 1420|0); + HEAP32[$23>>2] = -1; + $24 = ((($0)) + 28|0); + HEAP32[$24>>2] = 0; + $25 = ((($0)) + 20|0); + HEAP32[$25>>2] = 0; + return; +} +function _start_decoder($0) { + $0 = $0|0; + var $$ = 0, $$$0899 = 0, $$$0929 = 0, $$$0964 = 0, $$0899$lcssa = 0, $$08991120 = 0, $$09011119 = 0, $$09021210 = 0, $$0920 = 0, $$0920$ph = 0, $$0929$lcssa = 0, $$09291199 = 0, $$09501156 = 0, $$0951 = 0, $$09541216 = 0, $$0957 = 0, $$09581209 = 0, $$0962 = 0, $$09641169 = 0, $$09661213 = 0; + var $$09701227 = 0.0, $$0974$ph = 0, $$0977$ = 0.0, $$09771224 = 0.0, $$109121192 = 0, $$119131195 = 0, $$129141148 = 0, $$139151153 = 0, $$149161160 = 0, $$159171137 = 0, $$169181135 = 0, $$179191139 = 0, $$18921232 = 0, $$19031217 = 0, $$19211174 = 0, $$1955 = 0, $$19631000 = 0, $$19631001$ph = 0, $$1971 = 0.0, $$1971$ = 0.0; + var $$1971$ph = 0.0, $$28931205 = 0, $$29041220 = 0, $$29221181 = 0, $$2953 = 0, $$2956 = 0, $$2960$ph = 0, $$34 = 0, $$38941200 = 0, $$39051228 = 0, $$39231152 = 0, $$3961 = 0, $$48951165 = 0, $$49061225 = 0, $$49241157 = 0, $$49241157$in = 0, $$58961143 = 0, $$59071118 = 0, $$59251132 = 0, $$68971128 = 0; + var $$69081170 = 0, $$78981124 = 0, $$79091177 = 0, $$89101185 = 0, $$99111188 = 0, $$in = 0, $$lcssa = 0, $$lcssa1060 = 0, $$lcssa1061 = 0, $$lcssa1073 = 0, $$off = 0, $$off979 = 0, $$pr = 0, $$pr1300 = 0, $$pr1301 = 0, $$sink = 0, $$sink25 = 0, $$sink26 = 0, $$sink986 = 0, $1 = 0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0; + var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0; + var $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0; + var $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0; + var $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0; + var $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0.0; + var $262 = 0, $263 = 0, $264 = 0.0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0; + var $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0; + var $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0; + var $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0.0, $328 = 0.0, $329 = 0.0, $33 = 0, $330 = 0.0, $331 = 0.0, $332 = 0.0, $333 = 0; + var $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0; + var $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0.0, $359 = 0.0, $36 = 0, $360 = 0.0, $361 = 0.0, $362 = 0.0, $363 = 0.0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0; + var $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0; + var $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0; + var $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0; + var $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0; + var $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0; + var $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0, $478 = 0; + var $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0, $496 = 0; + var $497 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0, $513 = 0; + var $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0, $531 = 0; + var $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0, $549 = 0, $55 = 0; + var $550 = 0, $551 = 0, $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0, $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0, $562 = 0, $563 = 0, $564 = 0, $565 = 0, $566 = 0, $567 = 0, $568 = 0; + var $569 = 0, $57 = 0, $570 = 0, $571 = 0, $572 = 0, $573 = 0, $574 = 0, $575 = 0, $576 = 0, $577 = 0, $578 = 0, $579 = 0, $58 = 0, $580 = 0, $581 = 0, $582 = 0, $583 = 0, $584 = 0, $585 = 0, $586 = 0; + var $587 = 0, $588 = 0, $589 = 0, $59 = 0, $590 = 0, $591 = 0, $592 = 0, $593 = 0, $594 = 0, $595 = 0, $596 = 0, $597 = 0, $598 = 0, $599 = 0, $6 = 0, $60 = 0, $600 = 0, $601 = 0, $602 = 0, $603 = 0; + var $604 = 0, $605 = 0, $606 = 0, $607 = 0, $608 = 0, $609 = 0, $61 = 0, $610 = 0, $611 = 0, $612 = 0, $613 = 0, $614 = 0, $615 = 0, $616 = 0, $617 = 0, $618 = 0, $619 = 0, $62 = 0, $620 = 0, $621 = 0; + var $622 = 0, $623 = 0, $624 = 0, $625 = 0, $626 = 0, $627 = 0, $628 = 0, $629 = 0, $63 = 0, $630 = 0, $631 = 0, $632 = 0, $633 = 0, $634 = 0, $635 = 0, $636 = 0, $637 = 0, $638 = 0, $639 = 0, $64 = 0; + var $640 = 0, $641 = 0, $642 = 0, $643 = 0, $644 = 0, $645 = 0, $646 = 0, $647 = 0, $648 = 0, $649 = 0, $65 = 0, $650 = 0, $651 = 0, $652 = 0, $653 = 0, $654 = 0, $655 = 0, $656 = 0, $657 = 0, $658 = 0; + var $659 = 0, $66 = 0, $660 = 0, $661 = 0, $662 = 0, $663 = 0, $664 = 0, $665 = 0, $666 = 0, $667 = 0, $668 = 0, $669 = 0, $67 = 0, $670 = 0, $671 = 0, $672 = 0, $673 = 0, $674 = 0, $675 = 0, $676 = 0; + var $677 = 0, $678 = 0, $679 = 0, $68 = 0, $680 = 0, $681 = 0, $682 = 0, $683 = 0, $684 = 0, $685 = 0, $686 = 0, $687 = 0, $688 = 0, $689 = 0, $69 = 0, $690 = 0, $691 = 0, $692 = 0, $693 = 0, $694 = 0; + var $695 = 0, $696 = 0, $697 = 0, $698 = 0, $699 = 0, $7 = 0, $70 = 0, $700 = 0, $701 = 0, $702 = 0, $703 = 0, $704 = 0, $705 = 0, $706 = 0, $707 = 0, $708 = 0, $709 = 0, $71 = 0, $710 = 0, $711 = 0; + var $712 = 0, $713 = 0, $714 = 0, $715 = 0, $716 = 0, $717 = 0, $718 = 0, $719 = 0, $72 = 0, $720 = 0, $721 = 0, $722 = 0, $723 = 0, $724 = 0, $725 = 0, $726 = 0, $727 = 0, $728 = 0, $729 = 0, $73 = 0; + var $730 = 0, $731 = 0, $732 = 0, $733 = 0, $734 = 0, $735 = 0, $736 = 0, $737 = 0, $738 = 0, $739 = 0, $74 = 0, $740 = 0, $741 = 0, $742 = 0, $743 = 0, $744 = 0, $745 = 0, $746 = 0, $747 = 0, $748 = 0; + var $749 = 0, $75 = 0, $750 = 0, $751 = 0, $752 = 0, $753 = 0, $754 = 0, $755 = 0, $756 = 0, $757 = 0, $758 = 0, $759 = 0, $76 = 0, $760 = 0, $761 = 0, $762 = 0, $763 = 0, $764 = 0, $765 = 0, $766 = 0; + var $767 = 0, $768 = 0, $769 = 0, $77 = 0, $770 = 0, $771 = 0, $772 = 0, $773 = 0, $774 = 0, $775 = 0, $776 = 0, $777 = 0, $778 = 0, $779 = 0, $78 = 0, $780 = 0, $781 = 0, $782 = 0, $783 = 0, $784 = 0; + var $785 = 0, $786 = 0, $787 = 0, $788 = 0, $789 = 0, $79 = 0, $790 = 0, $791 = 0, $792 = 0, $793 = 0, $794 = 0, $795 = 0, $796 = 0, $797 = 0, $798 = 0, $799 = 0, $8 = 0, $80 = 0, $800 = 0, $801 = 0; + var $802 = 0, $803 = 0, $804 = 0, $805 = 0, $806 = 0, $807 = 0, $808 = 0, $809 = 0, $81 = 0, $810 = 0, $811 = 0, $812 = 0, $813 = 0, $814 = 0, $815 = 0, $816 = 0, $817 = 0, $818 = 0, $819 = 0, $82 = 0; + var $820 = 0, $821 = 0, $822 = 0, $823 = 0, $824 = 0, $825 = 0, $826 = 0, $827 = 0, $828 = 0, $829 = 0, $83 = 0, $830 = 0, $831 = 0, $832 = 0, $833 = 0, $834 = 0, $835 = 0, $836 = 0, $837 = 0, $838 = 0; + var $839 = 0, $84 = 0, $840 = 0, $841 = 0, $842 = 0, $843 = 0, $844 = 0, $845 = 0, $846 = 0, $847 = 0, $848 = 0, $849 = 0, $85 = 0, $850 = 0, $851 = 0, $852 = 0, $853 = 0, $854 = 0, $855 = 0, $856 = 0; + var $857 = 0, $858 = 0, $859 = 0, $86 = 0, $860 = 0, $861 = 0, $862 = 0, $863 = 0, $864 = 0, $865 = 0, $866 = 0, $867 = 0, $868 = 0, $869 = 0, $87 = 0, $870 = 0, $871 = 0, $872 = 0, $873 = 0, $874 = 0; + var $875 = 0, $876 = 0, $877 = 0, $878 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $not$or$cond982 = 0, $notrhs = 0, $or$cond = 0; + var $or$cond991 = 0, $phitmp = 0, $phitmp1296 = 0, $phitmp1297 = 0, $sext = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 1024|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1024|0); + $1 = sp + 1008|0; + $2 = sp + 8|0; + $3 = sp + 4|0; + $4 = sp; + $5 = (_start_page($0)|0); + $6 = ($5|0)==(0); + if ($6) { + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + $7 = ((($0)) + 1375|0); + $8 = HEAP8[$7>>0]|0; + $9 = $8&255; + $10 = $9 & 2; + $11 = ($10|0)==(0); + if ($11) { + _error($0,34); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + $12 = $9 & 4; + $13 = ($12|0)==(0); + if (!($13)) { + _error($0,34); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + $14 = $9 & 1; + $15 = ($14|0)==(0); + if (!($15)) { + _error($0,34); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + $16 = ((($0)) + 1116|0); + $17 = HEAP32[$16>>2]|0; + $18 = ($17|0)==(1); + if (!($18)) { + _error($0,34); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + $19 = ((($0)) + 1120|0); + $20 = HEAP8[$19>>0]|0; + $21 = ($20<<24>>24)==(30); + if (!($21)) { + _error($0,34); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + $22 = (_get8($0)|0); + $23 = ($22<<24>>24)==(1); + if (!($23)) { + _error($0,34); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + $24 = (_getn($0,$1,6)|0); + $25 = ($24|0)==(0); + if ($25) { + _error($0,10); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + $26 = (_vorbis_validate($1)|0); + $27 = ($26|0)==(0); + if ($27) { + _error($0,34); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + $28 = (_get32($0)|0); + $29 = ($28|0)==(0); + if (!($29)) { + _error($0,34); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + $30 = (_get8($0)|0); + $31 = $30&255; + $32 = ((($0)) + 4|0); + HEAP32[$32>>2] = $31; + $33 = ($30<<24>>24)==(0); + if ($33) { + _error($0,34); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + $34 = ($30&255)>(16); + if ($34) { + _error($0,5); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + $35 = (_get32($0)|0); + HEAP32[$0>>2] = $35; + $36 = ($35|0)==(0); + if ($36) { + _error($0,34); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + (_get32($0)|0); + (_get32($0)|0); + (_get32($0)|0); + $37 = (_get8($0)|0); + $38 = $37&255; + $39 = $38 & 15; + $40 = $38 >>> 4; + $41 = 1 << $39; + $42 = ((($0)) + 112|0); + HEAP32[$42>>2] = $41; + $43 = 1 << $40; + $44 = ((($0)) + 116|0); + HEAP32[$44>>2] = $43; + $$off = (($39) + -6)|0; + $45 = ($$off>>>0)>(7); + if ($45) { + _error($0,20); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + $$off979 = (($37) + -96)<<24>>24; + $46 = ($$off979<<24>>24)<(0); + if ($46) { + _error($0,20); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + $47 = ($39>>>0)>($40>>>0); + if ($47) { + _error($0,20); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + $48 = (_get8($0)|0); + $49 = $48 & 1; + $50 = ($49<<24>>24)==(0); + if ($50) { + _error($0,34); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + $51 = (_start_page($0)|0); + $52 = ($51|0)==(0); + if ($52) { + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + $53 = (_start_packet($0)|0); + $54 = ($53|0)==(0); + if ($54) { + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + $55 = ((($0)) + 1376|0); + while(1) { + $56 = (_next_segment($0)|0); + _skip($0,$56); + HEAP8[$55>>0] = 0; + $57 = ($56|0)==(0); + if ($57) { + break; + } + } + $58 = (_start_packet($0)|0); + $59 = ($58|0)==(0); + if ($59) { + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + $60 = ((($0)) + 48|0); + $61 = HEAP8[$60>>0]|0; + $62 = ($61<<24>>24)==(0); + do { + if (!($62)) { + $63 = (_is_whole_packet_present($0,1)|0); + $64 = ($63|0)==(0); + if (!($64)) { + break; + } + $65 = ((($0)) + 100|0); + $66 = HEAP32[$65>>2]|0; + $67 = ($66|0)==(21); + if (!($67)) { + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + HEAP32[$65>>2] = 20; + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + } while(0); + _crc32_init(); + $68 = (_get8_packet($0)|0); + $69 = ($68|0)==(5); + if (!($69)) { + _error($0,20); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + $70 = (_get8_packet($0)|0); + $71 = $70&255; + HEAP8[$1>>0] = $71; + $72 = (_get8_packet($0)|0); + $73 = $72&255; + $74 = ((($1)) + 1|0); + HEAP8[$74>>0] = $73; + $75 = (_get8_packet($0)|0); + $76 = $75&255; + $77 = ((($1)) + 2|0); + HEAP8[$77>>0] = $76; + $78 = (_get8_packet($0)|0); + $79 = $78&255; + $80 = ((($1)) + 3|0); + HEAP8[$80>>0] = $79; + $81 = (_get8_packet($0)|0); + $82 = $81&255; + $83 = ((($1)) + 4|0); + HEAP8[$83>>0] = $82; + $84 = (_get8_packet($0)|0); + $85 = $84&255; + $86 = ((($1)) + 5|0); + HEAP8[$86>>0] = $85; + $87 = (_vorbis_validate($1)|0); + $88 = ($87|0)==(0); + if ($88) { + _error($0,20); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + $89 = (_get_bits($0,8)|0); + $90 = (($89) + 1)|0; + $91 = ((($0)) + 120|0); + HEAP32[$91>>2] = $90; + $92 = ($90*2096)|0; + $93 = (_setup_malloc($0,$92)|0); + $94 = ((($0)) + 124|0); + HEAP32[$94>>2] = $93; + $95 = ($93|0)==(0|0); + if ($95) { + _error($0,3); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + $96 = HEAP32[$91>>2]|0; + $97 = ($96*2096)|0; + _memset(($93|0),0,($97|0))|0; + $98 = HEAP32[$91>>2]|0; + $99 = ($98|0)>(0); + L100: do { + if ($99) { + $100 = ((($0)) + 16|0); + $101 = ((($0)) + 16|0); + $$18921232 = 0; + L102: while(1) { + $102 = HEAP32[$94>>2]|0; + $103 = (($102) + (($$18921232*2096)|0)|0); + $104 = (_get_bits($0,8)|0); + $105 = $104 & 255; + $106 = ($105|0)==(66); + if (!($106)) { + label = 52; + break; + } + $107 = (_get_bits($0,8)|0); + $108 = $107 & 255; + $109 = ($108|0)==(67); + if (!($109)) { + label = 54; + break; + } + $110 = (_get_bits($0,8)|0); + $111 = $110 & 255; + $112 = ($111|0)==(86); + if (!($112)) { + label = 56; + break; + } + $113 = (_get_bits($0,8)|0); + $114 = (_get_bits($0,8)|0); + $115 = $114 << 8; + $116 = $113 & 255; + $117 = $115 | $116; + HEAP32[$103>>2] = $117; + $118 = (_get_bits($0,8)|0); + $119 = (_get_bits($0,8)|0); + $120 = (_get_bits($0,8)|0); + $121 = $120 << 16; + $122 = $119 << 8; + $123 = $122 & 65280; + $124 = $118 & 255; + $125 = $123 | $124; + $126 = $125 | $121; + $127 = (((($102) + (($$18921232*2096)|0)|0)) + 4|0); + HEAP32[$127>>2] = $126; + $128 = (_get_bits($0,1)|0); + $129 = ($128|0)!=(0); + if ($129) { + $132 = 0; + } else { + $130 = (_get_bits($0,1)|0); + $132 = $130; + } + $131 = $132&255; + $133 = (((($102) + (($$18921232*2096)|0)|0)) + 23|0); + HEAP8[$133>>0] = $131; + $134 = HEAP32[$103>>2]|0; + $135 = ($134|0)!=(0); + $136 = HEAP32[$127>>2]|0; + $137 = ($136|0)==(0); + $or$cond = $135 | $137; + if (!($or$cond)) { + label = 60; + break; + } + $138 = ($131<<24>>24)==(0); + if ($138) { + $140 = (_setup_malloc($0,$136)|0); + $141 = (((($102) + (($$18921232*2096)|0)|0)) + 8|0); + HEAP32[$141>>2] = $140; + $$0962 = $140; + } else { + $139 = (_setup_temp_malloc($0,$136)|0); + $$0962 = $139; + } + $142 = ($$0962|0)==(0|0); + if ($142) { + label = 65; + break; + } + do { + if ($129) { + $145 = (_get_bits($0,5)|0); + $146 = HEAP32[$127>>2]|0; + $147 = ($146|0)>(0); + if ($147) { + $$09661213 = 0;$$in = $145;$150 = $146; + } else { + $$3961 = 0; + break; + } + while(1) { + $148 = (($$in) + 1)|0; + $149 = (($150) - ($$09661213))|0; + $151 = (_ilog($149)|0); + $152 = (_get_bits($0,$151)|0); + $153 = (($152) + ($$09661213))|0; + $154 = HEAP32[$127>>2]|0; + $155 = ($153|0)>($154|0); + if ($155) { + label = 71; + break L102; + } + $156 = (($$0962) + ($$09661213)|0); + $157 = $148&255; + _memset(($156|0),($157|0),($152|0))|0; + $158 = HEAP32[$127>>2]|0; + $159 = ($158|0)>($153|0); + if ($159) { + $$09661213 = $153;$$in = $148;$150 = $158; + } else { + $$3961 = 0; + break; + } + } + } else { + $143 = HEAP32[$127>>2]|0; + $144 = ($143|0)>(0); + if ($144) { + $$09021210 = 0;$$09581209 = 0; + } else { + $$3961 = 0; + break; + } + while(1) { + $160 = HEAP8[$133>>0]|0; + $161 = ($160<<24>>24)==(0); + do { + if ($161) { + label = 74; + } else { + $162 = (_get_bits($0,1)|0); + $163 = ($162|0)==(0); + if (!($163)) { + label = 74; + break; + } + $171 = (($$0962) + ($$09021210)|0); + HEAP8[$171>>0] = -1; + $$2960$ph = $$09581209; + } + } while(0); + if ((label|0) == 74) { + label = 0; + $164 = (_get_bits($0,5)|0); + $165 = (($164) + 1)|0; + $166 = $165&255; + $167 = (($$0962) + ($$09021210)|0); + HEAP8[$167>>0] = $166; + $168 = (($$09581209) + 1)|0; + $169 = $165 & 255; + $170 = ($169|0)==(32); + if ($170) { + label = 76; + break L102; + } else { + $$2960$ph = $168; + } + } + $172 = (($$09021210) + 1)|0; + $173 = HEAP32[$127>>2]|0; + $174 = ($172|0)<($173|0); + if ($174) { + $$09021210 = $172;$$09581209 = $$2960$ph; + } else { + $$3961 = $$2960$ph; + break; + } + } + } + } while(0); + $175 = HEAP8[$133>>0]|0; + $176 = ($175<<24>>24)==(0); + do { + if ($176) { + $$19631001$ph = $$0962; + label = 86; + } else { + $177 = HEAP32[$127>>2]|0; + $178 = $177 >> 2; + $179 = ($$3961|0)<($178|0); + if ($179) { + $$pr = HEAP8[$133>>0]|0; + $188 = ($$pr<<24>>24)==(0); + if ($188) { + $$19631001$ph = $$0962; + label = 86; + break; + } else { + $$19631000 = $$0962;$$2956 = $$3961; + break; + } + } + $180 = HEAP32[$101>>2]|0; + $181 = ($177|0)>($180|0); + if ($181) { + HEAP32[$101>>2] = $177; + } + $182 = (_setup_malloc($0,$177)|0); + $183 = (((($102) + (($$18921232*2096)|0)|0)) + 8|0); + HEAP32[$183>>2] = $182; + $184 = ($182|0)==(0|0); + if ($184) { + label = 83; + break L102; + } + $185 = HEAP32[$127>>2]|0; + _memcpy(($182|0),($$0962|0),($185|0))|0; + $186 = HEAP32[$127>>2]|0; + _setup_temp_free($0,$$0962,$186); + $187 = HEAP32[$183>>2]|0; + HEAP8[$133>>0] = 0; + $$19631001$ph = $187; + label = 86; + } + } while(0); + do { + if ((label|0) == 86) { + label = 0; + $189 = HEAP32[$127>>2]|0; + $190 = ($189|0)>(0); + if (!($190)) { + $$19631000 = $$19631001$ph;$$2956 = 0; + break; + } + $191 = HEAP32[$127>>2]|0; + $$09541216 = 0;$$19031217 = 0; + while(1) { + $192 = (($$19631001$ph) + ($$19031217)|0); + $193 = HEAP8[$192>>0]|0; + $194 = ($193&255)<(11); + $notrhs = ($193<<24>>24)!=(-1); + $not$or$cond982 = $194 ^ $notrhs; + $195 = $not$or$cond982&1; + $$1955 = (($195) + ($$09541216))|0; + $196 = (($$19031217) + 1)|0; + $197 = ($196|0)<($191|0); + if ($197) { + $$09541216 = $$1955;$$19031217 = $196; + } else { + $$19631000 = $$19631001$ph;$$2956 = $$1955; + break; + } + } + } + } while(0); + $198 = (((($102) + (($$18921232*2096)|0)|0)) + 2092|0); + HEAP32[$198>>2] = $$2956; + $199 = HEAP8[$133>>0]|0; + $200 = ($199<<24>>24)==(0); + do { + if ($200) { + $201 = HEAP32[$127>>2]|0; + $202 = $201 << 2; + $203 = (_setup_malloc($0,$202)|0); + $204 = (((($102) + (($$18921232*2096)|0)|0)) + 32|0); + HEAP32[$204>>2] = $203; + $205 = ($203|0)==(0|0); + if ($205) { + label = 91; + break L102; + } else { + $$2953 = 0;$230 = 0; + } + } else { + $206 = ($$2956|0)==(0); + if ($206) { + $$0951 = 0;$878 = 0; + } else { + $207 = (_setup_malloc($0,$$2956)|0); + $208 = (((($102) + (($$18921232*2096)|0)|0)) + 8|0); + HEAP32[$208>>2] = $207; + $209 = ($207|0)==(0|0); + if ($209) { + label = 94; + break L102; + } + $210 = HEAP32[$198>>2]|0; + $211 = $210 << 2; + $212 = (_setup_temp_malloc($0,$211)|0); + $213 = (((($102) + (($$18921232*2096)|0)|0)) + 32|0); + HEAP32[$213>>2] = $212; + $214 = ($212|0)==(0|0); + if ($214) { + label = 96; + break L102; + } + $215 = HEAP32[$198>>2]|0; + $216 = $215 << 2; + $217 = (_setup_temp_malloc($0,$216)|0); + $218 = ($217|0)==(0|0); + if ($218) { + label = 98; + break L102; + } else { + $$0951 = $217;$878 = $217; + } + } + $219 = HEAP32[$127>>2]|0; + $220 = HEAP32[$198>>2]|0; + $221 = $220 << 3; + $222 = (($221) + ($219))|0; + $223 = HEAP32[$100>>2]|0; + $224 = ($222>>>0)>($223>>>0); + if (!($224)) { + $$2953 = $$0951;$230 = $878; + break; + } + HEAP32[$100>>2] = $222; + $$2953 = $$0951;$230 = $878; + } + } while(0); + $225 = HEAP32[$127>>2]|0; + $226 = (_compute_codewords($103,$$19631000,$225,$$2953)|0); + $227 = ($226|0)==(0); + if ($227) { + label = 102; + break; + } + $231 = HEAP32[$198>>2]|0; + $232 = ($231|0)==(0); + if (!($232)) { + $233 = $231 << 2; + $234 = (($233) + 4)|0; + $235 = (_setup_malloc($0,$234)|0); + $236 = (((($102) + (($$18921232*2096)|0)|0)) + 2084|0); + HEAP32[$236>>2] = $235; + $237 = ($235|0)==(0|0); + if ($237) { + label = 107; + break; + } + $238 = HEAP32[$198>>2]|0; + $239 = $238 << 2; + $240 = (($239) + 4)|0; + $241 = (_setup_malloc($0,$240)|0); + $242 = (((($102) + (($$18921232*2096)|0)|0)) + 2088|0); + HEAP32[$242>>2] = $241; + $243 = ($241|0)==(0|0); + if ($243) { + label = 109; + break; + } + $244 = ((($241)) + 4|0); + HEAP32[$242>>2] = $244; + HEAP32[$241>>2] = -1; + _compute_sorted_huffman($103,$$19631000,$$2953); + } + $245 = HEAP8[$133>>0]|0; + $246 = ($245<<24>>24)==(0); + if (!($246)) { + $247 = HEAP32[$198>>2]|0; + $248 = $247 << 2; + _setup_temp_free($0,$230,$248); + $249 = (((($102) + (($$18921232*2096)|0)|0)) + 32|0); + $250 = HEAP32[$249>>2]|0; + $251 = HEAP32[$198>>2]|0; + $252 = $251 << 2; + _setup_temp_free($0,$250,$252); + $253 = HEAP32[$127>>2]|0; + _setup_temp_free($0,$$19631000,$253); + HEAP32[$249>>2] = 0; + } + _compute_accelerated_huffman($103); + $254 = (_get_bits($0,4)|0); + $255 = $254&255; + $256 = (((($102) + (($$18921232*2096)|0)|0)) + 21|0); + HEAP8[$256>>0] = $255; + $257 = $254 & 255; + $258 = ($257>>>0)>(2); + if ($258) { + label = 114; + break; + } + $259 = ($257|0)==(0); + if (!($259)) { + $260 = (_get_bits($0,32)|0); + $261 = (+_float32_unpack($260)); + $262 = (((($102) + (($$18921232*2096)|0)|0)) + 12|0); + HEAPF32[$262>>2] = $261; + $263 = (_get_bits($0,32)|0); + $264 = (+_float32_unpack($263)); + $265 = (((($102) + (($$18921232*2096)|0)|0)) + 16|0); + HEAPF32[$265>>2] = $264; + $266 = (_get_bits($0,4)|0); + $267 = (($266) + 1)|0; + $268 = $267&255; + $269 = (((($102) + (($$18921232*2096)|0)|0)) + 20|0); + HEAP8[$269>>0] = $268; + $270 = (_get_bits($0,1)|0); + $271 = $270&255; + $272 = (((($102) + (($$18921232*2096)|0)|0)) + 22|0); + HEAP8[$272>>0] = $271; + $273 = HEAP8[$256>>0]|0; + $274 = ($273<<24>>24)==(1); + $275 = HEAP32[$127>>2]|0; + $276 = HEAP32[$103>>2]|0; + if ($274) { + $277 = (_lookup1_values($275,$276)|0); + $$sink = $277; + } else { + $278 = Math_imul($276, $275)|0; + $$sink = $278; + } + $279 = (((($102) + (($$18921232*2096)|0)|0)) + 24|0); + HEAP32[$279>>2] = $$sink; + $280 = ($$sink|0)==(0); + if ($280) { + label = 120; + break; + } + $281 = $$sink << 1; + $282 = (_setup_temp_malloc($0,$281)|0); + $283 = ($282|0)==(0|0); + if ($283) { + label = 123; + break; + } + $284 = HEAP32[$279>>2]|0; + $285 = ($284|0)>(0); + if ($285) { + $$29041220 = 0; + while(1) { + $286 = HEAP8[$269>>0]|0; + $287 = $286&255; + $288 = (_get_bits($0,$287)|0); + $289 = ($288|0)==(-1); + if ($289) { + label = 125; + break L102; + } + $292 = $288&65535; + $293 = (($282) + ($$29041220<<1)|0); + HEAP16[$293>>1] = $292; + $294 = (($$29041220) + 1)|0; + $295 = HEAP32[$279>>2]|0; + $296 = ($294|0)<($295|0); + if ($296) { + $$29041220 = $294; + } else { + $$lcssa1073 = $295; + break; + } + } + } else { + $$lcssa1073 = $284; + } + $297 = HEAP8[$256>>0]|0; + $298 = ($297<<24>>24)==(1); + do { + if ($298) { + $299 = HEAP8[$133>>0]|0; + $300 = ($299<<24>>24)!=(0); + if ($300) { + $301 = HEAP32[$198>>2]|0; + $302 = ($301|0)==(0); + if ($302) { + break; + } else { + $$sink986 = $301; + } + } else { + $303 = HEAP32[$127>>2]|0; + $$sink986 = $303; + } + $304 = $$sink986 << 2; + $305 = HEAP32[$103>>2]|0; + $306 = Math_imul($304, $305)|0; + $307 = (_setup_malloc($0,$306)|0); + $308 = (((($102) + (($$18921232*2096)|0)|0)) + 28|0); + HEAP32[$308>>2] = $307; + $309 = ($307|0)==(0|0); + if ($309) { + label = 132; + break L102; + } + $$sink25 = $300 ? $198 : $127; + $312 = HEAP32[$$sink25>>2]|0; + $313 = ($312|0)>(0); + if ($313) { + $314 = (((($102) + (($$18921232*2096)|0)|0)) + 2088|0); + $315 = HEAP32[$103>>2]|0; + $$09701227 = 0.0;$$39051228 = 0; + while(1) { + if ($300) { + $316 = HEAP32[$314>>2]|0; + $317 = (($316) + ($$39051228<<2)|0); + $318 = HEAP32[$317>>2]|0; + $322 = $318; + } else { + $322 = $$39051228; + } + $319 = Math_imul($315, $$39051228)|0; + $$0920$ph = 0;$$0974$ph = 1;$$1971$ph = $$09701227; + L193: while(1) { + $$0920 = $$0920$ph;$$1971 = $$1971$ph; + while(1) { + $320 = ($$0920|0)<($315|0); + if (!($320)) { + break L193; + } + $321 = (($322>>>0) / ($$0974$ph>>>0))&-1; + $323 = HEAP32[$279>>2]|0; + $324 = (($321>>>0) % ($323>>>0))&-1; + $325 = (($282) + ($324<<1)|0); + $326 = HEAP16[$325>>1]|0; + $327 = (+($326&65535)); + $328 = +HEAPF32[$265>>2]; + $329 = $327 * $328; + $330 = +HEAPF32[$262>>2]; + $331 = $329 + $330; + $332 = $$1971 + $331; + $333 = HEAP32[$308>>2]|0; + $334 = (($319) + ($$0920))|0; + $335 = (($333) + ($334<<2)|0); + HEAPF32[$335>>2] = $332; + $336 = HEAP8[$272>>0]|0; + $337 = ($336<<24>>24)==(0); + $$1971$ = $337 ? $$1971 : $332; + $338 = (($$0920) + 1)|0; + $339 = ($338|0)<($315|0); + if ($339) { + break; + } else { + $$0920 = $338;$$1971 = $$1971$; + } + } + $340 = (4294967295 / ($323>>>0))&-1; + $341 = ($$0974$ph>>>0)>($340>>>0); + if ($341) { + label = 143; + break L102; + } + $342 = Math_imul($323, $$0974$ph)|0; + $$0920$ph = $338;$$0974$ph = $342;$$1971$ph = $$1971$; + } + $344 = (($$39051228) + 1)|0; + $345 = ($344|0)<($312|0); + if ($345) { + $$09701227 = $$1971;$$39051228 = $344; + } else { + break; + } + } + } + HEAP8[$256>>0] = 2; + } else { + $346 = $$lcssa1073 << 2; + $347 = (_setup_malloc($0,$346)|0); + $348 = (((($102) + (($$18921232*2096)|0)|0)) + 28|0); + HEAP32[$348>>2] = $347; + $349 = ($347|0)==(0|0); + $350 = HEAP32[$279>>2]|0; + if ($349) { + label = 150; + break L102; + } + $351 = ($350|0)>(0); + if (!($351)) { + break; + } + $352 = HEAP32[$348>>2]|0; + $353 = HEAP8[$272>>0]|0; + $354 = ($353<<24>>24)==(0); + $355 = HEAP32[$279>>2]|0; + $$09771224 = 0.0;$$49061225 = 0; + while(1) { + $356 = (($282) + ($$49061225<<1)|0); + $357 = HEAP16[$356>>1]|0; + $358 = (+($357&65535)); + $359 = +HEAPF32[$265>>2]; + $360 = $358 * $359; + $361 = +HEAPF32[$262>>2]; + $362 = $360 + $361; + $363 = $$09771224 + $362; + $364 = (($352) + ($$49061225<<2)|0); + HEAPF32[$364>>2] = $363; + $$0977$ = $354 ? $$09771224 : $363; + $365 = (($$49061225) + 1)|0; + $366 = ($365|0)<($355|0); + if ($366) { + $$09771224 = $$0977$;$$49061225 = $365; + } else { + break; + } + } + } + } while(0); + $368 = HEAP32[$279>>2]|0; + $369 = $368 << 1; + _setup_temp_free($0,$282,$369); + } + $370 = (($$18921232) + 1)|0; + $371 = HEAP32[$91>>2]|0; + $372 = ($370|0)<($371|0); + if ($372) { + $$18921232 = $370; + } else { + break L100; + } + } + switch (label|0) { + case 52: { + _error($0,20); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + break; + } + case 54: { + _error($0,20); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + break; + } + case 56: { + _error($0,20); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + break; + } + case 60: { + _error($0,20); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + break; + } + case 65: { + _error($0,3); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + break; + } + case 71: { + _error($0,20); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + break; + } + case 76: { + _error($0,20); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + break; + } + case 83: { + _error($0,3); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + break; + } + case 91: { + _error($0,3); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + break; + } + case 94: { + _error($0,3); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + break; + } + case 96: { + _error($0,3); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + break; + } + case 98: { + _error($0,3); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + break; + } + case 102: { + $228 = HEAP8[$133>>0]|0; + $229 = ($228<<24>>24)==(0); + if (!($229)) { + _setup_temp_free($0,$230,0); + } + _error($0,20); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + break; + } + case 107: { + _error($0,3); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + break; + } + case 109: { + _error($0,3); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + break; + } + case 114: { + _error($0,20); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + break; + } + case 120: { + _error($0,20); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + break; + } + case 123: { + _error($0,3); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + break; + } + case 125: { + $290 = HEAP32[$279>>2]|0; + $291 = $290 << 1; + _setup_temp_free($0,$282,$291); + _error($0,20); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + break; + } + case 132: { + $310 = HEAP32[$279>>2]|0; + $311 = $310 << 1; + _setup_temp_free($0,$282,$311); + _error($0,3); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + break; + } + case 143: { + $343 = $323 << 1; + _setup_temp_free($0,$282,$343); + _error($0,20); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + break; + } + case 150: { + $367 = $350 << 1; + _setup_temp_free($0,$282,$367); + _error($0,3); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + break; + } + } + } + } while(0); + $373 = (_get_bits($0,6)|0); + $374 = (($373) + 1)|0; + $375 = $374 & 255; + $376 = ($375|0)==(0); + L258: do { + if (!($376)) { + $$28931205 = 0; + while(1) { + $379 = (_get_bits($0,16)|0); + $380 = ($379|0)==(0); + $378 = (($$28931205) + 1)|0; + if (!($380)) { + break; + } + $377 = ($378|0)<($375|0); + if ($377) { + $$28931205 = $378; + } else { + break L258; + } + } + _error($0,20); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + } while(0); + $381 = (_get_bits($0,6)|0); + $382 = (($381) + 1)|0; + $383 = ((($0)) + 128|0); + HEAP32[$383>>2] = $382; + $384 = ($382*1596)|0; + $385 = (_setup_malloc($0,$384)|0); + $386 = ((($0)) + 260|0); + HEAP32[$386>>2] = $385; + $387 = ($385|0)==(0|0); + if ($387) { + _error($0,3); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + $388 = HEAP32[$383>>2]|0; + $389 = ($388|0)>(0); + do { + if ($389) { + $$09291199 = 0;$$38941200 = 0; + L271: while(1) { + $390 = (_get_bits($0,16)|0); + $391 = $390&65535; + $392 = (((($0)) + 132|0) + ($$38941200<<1)|0); + HEAP16[$392>>1] = $391; + $393 = $390 & 65535; + $394 = ($393>>>0)>(1); + if ($394) { + label = 162; + break; + } + $395 = ($393|0)==(0); + if ($395) { + label = 164; + break; + } + $426 = HEAP32[$386>>2]|0; + $427 = (_get_bits($0,5)|0); + $428 = $427&255; + $429 = (($426) + (($$38941200*1596)|0)|0); + HEAP8[$429>>0] = $428; + $430 = $427 & 255; + $431 = ($430|0)==(0); + if (!($431)) { + $$09641169 = -1;$$69081170 = 0; + while(1) { + $432 = (_get_bits($0,4)|0); + $433 = $432&255; + $434 = ((((($426) + (($$38941200*1596)|0)|0)) + 1|0) + ($$69081170)|0); + HEAP8[$434>>0] = $433; + $435 = $432 & 255; + $436 = ($435|0)>($$09641169|0); + $$$0964 = $436 ? $435 : $$09641169; + $437 = (($$69081170) + 1)|0; + $438 = HEAP8[$429>>0]|0; + $439 = $438&255; + $440 = ($437|0)<($439|0); + if ($440) { + $$09641169 = $$$0964;$$69081170 = $437; + } else { + $$79091177 = 0; + break; + } + } + while(1) { + $441 = (_get_bits($0,3)|0); + $442 = (($441) + 1)|0; + $443 = $442&255; + $444 = ((((($426) + (($$38941200*1596)|0)|0)) + 33|0) + ($$79091177)|0); + HEAP8[$444>>0] = $443; + $445 = (_get_bits($0,2)|0); + $446 = $445&255; + $447 = ((((($426) + (($$38941200*1596)|0)|0)) + 49|0) + ($$79091177)|0); + HEAP8[$447>>0] = $446; + $448 = ($446<<24>>24)==(0); + if ($448) { + $$19211174 = 0; + label = 175; + } else { + $450 = (_get_bits($0,8)|0); + $451 = $450&255; + $452 = ((((($426) + (($$38941200*1596)|0)|0)) + 65|0) + ($$79091177)|0); + HEAP8[$452>>0] = $451; + $453 = $450 & 255; + $454 = HEAP32[$91>>2]|0; + $455 = ($453|0)<($454|0); + if (!($455)) { + label = 173; + break L271; + } + $$pr1300 = HEAP8[$447>>0]|0; + $449 = ($$pr1300<<24>>24)==(31); + if (!($449)) { + $$19211174 = 0; + label = 175; + } + } + if ((label|0) == 175) { + while(1) { + label = 0; + $461 = (_get_bits($0,8)|0); + $462 = (($461) + 65535)|0; + $463 = $462&65535; + $464 = (((((($426) + (($$38941200*1596)|0)|0)) + 82|0) + ($$79091177<<4)|0) + ($$19211174<<1)|0); + HEAP16[$464>>1] = $463; + $sext = $462 << 16; + $465 = $sext >> 16; + $466 = HEAP32[$91>>2]|0; + $467 = ($465|0)<($466|0); + $460 = (($$19211174) + 1)|0; + if (!($467)) { + label = 176; + break L271; + } + $456 = HEAP8[$447>>0]|0; + $457 = $456&255; + $458 = 1 << $457; + $459 = ($460|0)<($458|0); + if ($459) { + $$19211174 = $460; + label = 175; + } else { + break; + } + } + } + $468 = (($$79091177) + 1)|0; + $469 = ($$79091177|0)<($$$0964|0); + if ($469) { + $$79091177 = $468; + } else { + break; + } + } + } + $470 = (_get_bits($0,2)|0); + $471 = (($470) + 1)|0; + $472 = $471&255; + $473 = (((($426) + (($$38941200*1596)|0)|0)) + 1588|0); + HEAP8[$473>>0] = $472; + $474 = (_get_bits($0,4)|0); + $475 = $474&255; + $476 = (((($426) + (($$38941200*1596)|0)|0)) + 1589|0); + HEAP8[$476>>0] = $475; + $477 = (((($426) + (($$38941200*1596)|0)|0)) + 338|0); + HEAP16[$477>>1] = 0; + $478 = $474 & 255; + $479 = 1 << $478; + $480 = $479&65535; + $481 = (((($426) + (($$38941200*1596)|0)|0)) + 340|0); + HEAP16[$481>>1] = $480; + $482 = (((($426) + (($$38941200*1596)|0)|0)) + 1592|0); + HEAP32[$482>>2] = 2; + $483 = HEAP8[$429>>0]|0; + $484 = ($483<<24>>24)==(0); + if ($484) { + $$99111188 = 0; + label = 183; + } else { + $$89101185 = 0; + while(1) { + $486 = ((((($426) + (($$38941200*1596)|0)|0)) + 1|0) + ($$89101185)|0); + $487 = HEAP8[$486>>0]|0; + $488 = $487&255; + $489 = ((((($426) + (($$38941200*1596)|0)|0)) + 33|0) + ($488)|0); + $490 = HEAP8[$489>>0]|0; + $491 = ($490<<24>>24)==(0); + if (!($491)) { + $$29221181 = 0; + while(1) { + $492 = HEAP8[$476>>0]|0; + $493 = $492&255; + $494 = (_get_bits($0,$493)|0); + $495 = $494&65535; + $496 = HEAP32[$482>>2]|0; + $497 = ((((($426) + (($$38941200*1596)|0)|0)) + 338|0) + ($496<<1)|0); + HEAP16[$497>>1] = $495; + $498 = HEAP32[$482>>2]|0; + $499 = (($498) + 1)|0; + HEAP32[$482>>2] = $499; + $500 = (($$29221181) + 1)|0; + $501 = HEAP8[$489>>0]|0; + $502 = $501&255; + $503 = ($500|0)<($502|0); + if ($503) { + $$29221181 = $500; + } else { + break; + } + } + } + $504 = (($$89101185) + 1)|0; + $505 = HEAP8[$429>>0]|0; + $506 = $505&255; + $507 = ($504|0)<($506|0); + if ($507) { + $$89101185 = $504; + } else { + break; + } + } + $$pr1301 = HEAP32[$482>>2]|0; + $485 = ($$pr1301|0)>(0); + if ($485) { + $$99111188 = 0; + label = 183; + } else { + $$lcssa1060 = $$pr1301; + } + } + if ((label|0) == 183) { + while(1) { + label = 0; + $508 = ((((($426) + (($$38941200*1596)|0)|0)) + 338|0) + ($$99111188<<1)|0); + $509 = HEAP16[$508>>1]|0; + $510 = (($2) + ($$99111188<<2)|0); + HEAP16[$510>>1] = $509; + $511 = $$99111188&65535; + $512 = (((($2) + ($$99111188<<2)|0)) + 2|0); + HEAP16[$512>>1] = $511; + $513 = (($$99111188) + 1)|0; + $514 = HEAP32[$482>>2]|0; + $515 = ($513|0)<($514|0); + if ($515) { + $$99111188 = $513; + label = 183; + } else { + $$lcssa1060 = $514; + break; + } + } + } + _qsort($2,$$lcssa1060,4,1); + $516 = HEAP32[$482>>2]|0; + $517 = ($516|0)>(0); + do { + if ($517) { + $$109121192 = 0; + while(1) { + $520 = (((($2) + ($$109121192<<2)|0)) + 2|0); + $521 = HEAP16[$520>>1]|0; + $522 = $521&255; + $523 = ((((($426) + (($$38941200*1596)|0)|0)) + 838|0) + ($$109121192)|0); + HEAP8[$523>>0] = $522; + $524 = (($$109121192) + 1)|0; + $519 = HEAP32[$482>>2]|0; + $525 = ($524|0)<($519|0); + if ($525) { + $$109121192 = $524; + } else { + break; + } + } + $518 = ($519|0)>(2); + if ($518) { + $$119131195 = 2; + } else { + $$lcssa1061 = $519; + break; + } + while(1) { + _neighbors($477,$$119131195,$3,$4); + $526 = HEAP32[$3>>2]|0; + $527 = $526&255; + $528 = ((((($426) + (($$38941200*1596)|0)|0)) + 1088|0) + ($$119131195<<1)|0); + HEAP8[$528>>0] = $527; + $529 = HEAP32[$4>>2]|0; + $530 = $529&255; + $531 = ((((((($426) + (($$38941200*1596)|0)|0)) + 1088|0) + ($$119131195<<1)|0)) + 1|0); + HEAP8[$531>>0] = $530; + $532 = (($$119131195) + 1)|0; + $533 = HEAP32[$482>>2]|0; + $534 = ($532|0)<($533|0); + if ($534) { + $$119131195 = $532; + } else { + $$lcssa1061 = $533; + break; + } + } + } else { + $$lcssa1061 = $516; + } + } while(0); + $535 = ($$lcssa1061|0)>($$09291199|0); + $$$0929 = $535 ? $$lcssa1061 : $$09291199; + $536 = (($$38941200) + 1)|0; + $537 = HEAP32[$383>>2]|0; + $538 = ($536|0)<($537|0); + if ($538) { + $$09291199 = $$$0929;$$38941200 = $536; + } else { + label = 190; + break; + } + } + if ((label|0) == 162) { + _error($0,20); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + else if ((label|0) == 164) { + $396 = HEAP32[$386>>2]|0; + $397 = (_get_bits($0,8)|0); + $398 = $397&255; + $399 = (($396) + (($$38941200*1596)|0)|0); + HEAP8[$399>>0] = $398; + $400 = (_get_bits($0,16)|0); + $401 = $400&65535; + $402 = (((($396) + (($$38941200*1596)|0)|0)) + 2|0); + HEAP16[$402>>1] = $401; + $403 = (_get_bits($0,16)|0); + $404 = $403&65535; + $405 = (((($396) + (($$38941200*1596)|0)|0)) + 4|0); + HEAP16[$405>>1] = $404; + $406 = (_get_bits($0,6)|0); + $407 = $406&255; + $408 = (((($396) + (($$38941200*1596)|0)|0)) + 6|0); + HEAP8[$408>>0] = $407; + $409 = (_get_bits($0,8)|0); + $410 = $409&255; + $411 = (((($396) + (($$38941200*1596)|0)|0)) + 7|0); + HEAP8[$411>>0] = $410; + $412 = (_get_bits($0,4)|0); + $413 = (($412) + 1)|0; + $414 = $413&255; + $415 = (((($396) + (($$38941200*1596)|0)|0)) + 8|0); + HEAP8[$415>>0] = $414; + $416 = $413 & 255; + $417 = ($416|0)==(0); + if (!($417)) { + $418 = (((($396) + (($$38941200*1596)|0)|0)) + 9|0); + $$59071118 = 0; + while(1) { + $419 = (_get_bits($0,8)|0); + $420 = $419&255; + $421 = (($418) + ($$59071118)|0); + HEAP8[$421>>0] = $420; + $422 = (($$59071118) + 1)|0; + $423 = HEAP8[$415>>0]|0; + $424 = $423&255; + $425 = ($422|0)<($424|0); + if ($425) { + $$59071118 = $422; + } else { + break; + } + } + } + _error($0,4); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + else if ((label|0) == 173) { + _error($0,20); + } + else if ((label|0) == 176) { + _error($0,20); + } + else if ((label|0) == 190) { + $phitmp1297 = $$$0929 << 1; + $$0929$lcssa = $phitmp1297; + break; + } + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } else { + $$0929$lcssa = 0; + } + } while(0); + $539 = (_get_bits($0,6)|0); + $540 = (($539) + 1)|0; + $541 = ((($0)) + 264|0); + HEAP32[$541>>2] = $540; + $542 = ($540*24)|0; + $543 = (_setup_malloc($0,$542)|0); + $544 = ((($0)) + 396|0); + HEAP32[$544>>2] = $543; + $545 = ($543|0)==(0|0); + if ($545) { + _error($0,3); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + $546 = HEAP32[$541>>2]|0; + $547 = ($546*24)|0; + _memset(($543|0),0,($547|0))|0; + $548 = HEAP32[$541>>2]|0; + $549 = ($548|0)>(0); + L328: do { + if ($549) { + $$48951165 = 0; + L330: while(1) { + $550 = HEAP32[$544>>2]|0; + $551 = (_get_bits($0,16)|0); + $552 = $551&65535; + $553 = (((($0)) + 268|0) + ($$48951165<<1)|0); + HEAP16[$553>>1] = $552; + $554 = $551 & 65535; + $555 = ($554>>>0)>(2); + if ($555) { + label = 196; + break; + } + $556 = (_get_bits($0,24)|0); + $557 = (($550) + (($$48951165*24)|0)|0); + HEAP32[$557>>2] = $556; + $558 = (_get_bits($0,24)|0); + $559 = (((($550) + (($$48951165*24)|0)|0)) + 4|0); + HEAP32[$559>>2] = $558; + $560 = HEAP32[$557>>2]|0; + $561 = ($558>>>0)<($560>>>0); + if ($561) { + label = 198; + break; + } + $562 = (_get_bits($0,24)|0); + $563 = (($562) + 1)|0; + $564 = (((($550) + (($$48951165*24)|0)|0)) + 8|0); + HEAP32[$564>>2] = $563; + $565 = (_get_bits($0,6)|0); + $566 = (($565) + 1)|0; + $567 = $566&255; + $568 = (((($550) + (($$48951165*24)|0)|0)) + 12|0); + HEAP8[$568>>0] = $567; + $569 = (_get_bits($0,8)|0); + $570 = $569&255; + $571 = (((($550) + (($$48951165*24)|0)|0)) + 13|0); + HEAP8[$571>>0] = $570; + $572 = $569 & 255; + $573 = HEAP32[$91>>2]|0; + $574 = ($572|0)<($573|0); + if (!($574)) { + label = 201; + break; + } + $575 = HEAP8[$568>>0]|0; + $576 = $575&255; + $577 = ($575<<24>>24)==(0); + if ($577) { + $$lcssa = $576; + } else { + $$129141148 = 0; + while(1) { + $578 = (_get_bits($0,3)|0); + $579 = (_get_bits($0,1)|0); + $580 = ($579|0)==(0); + if ($580) { + $$0957 = 0; + } else { + $581 = (_get_bits($0,5)|0); + $$0957 = $581; + } + $582 = $$0957 << 3; + $583 = (($582) + ($578))|0; + $584 = $583&255; + $585 = (($2) + ($$129141148)|0); + HEAP8[$585>>0] = $584; + $586 = (($$129141148) + 1)|0; + $587 = HEAP8[$568>>0]|0; + $588 = $587&255; + $589 = ($586|0)<($588|0); + if ($589) { + $$129141148 = $586; + } else { + $$lcssa = $588; + break; + } + } + } + $590 = $$lcssa << 4; + $591 = (_setup_malloc($0,$590)|0); + $592 = (((($550) + (($$48951165*24)|0)|0)) + 20|0); + HEAP32[$592>>2] = $591; + $593 = ($591|0)==(0|0); + if ($593) { + label = 207; + break; + } + $594 = HEAP8[$568>>0]|0; + $595 = ($594<<24>>24)==(0); + if (!($595)) { + $$139151153 = 0; + while(1) { + $596 = (($2) + ($$139151153)|0); + $597 = HEAP8[$596>>0]|0; + $598 = $597&255; + $$39231152 = 0; + while(1) { + $599 = 1 << $$39231152; + $600 = $598 & $599; + $601 = ($600|0)==(0); + if ($601) { + $612 = HEAP32[$592>>2]|0; + $613 = ((($612) + ($$139151153<<4)|0) + ($$39231152<<1)|0); + HEAP16[$613>>1] = -1; + } else { + $602 = (_get_bits($0,8)|0); + $603 = $602&65535; + $604 = HEAP32[$592>>2]|0; + $605 = ((($604) + ($$139151153<<4)|0) + ($$39231152<<1)|0); + HEAP16[$605>>1] = $603; + $606 = HEAP32[$592>>2]|0; + $607 = ((($606) + ($$139151153<<4)|0) + ($$39231152<<1)|0); + $608 = HEAP16[$607>>1]|0; + $609 = $608 << 16 >> 16; + $610 = HEAP32[$91>>2]|0; + $611 = ($609|0)<($610|0); + if (!($611)) { + label = 211; + break L330; + } + } + $614 = (($$39231152) + 1)|0; + $615 = ($614|0)<(8); + if ($615) { + $$39231152 = $614; + } else { + break; + } + } + $616 = (($$139151153) + 1)|0; + $617 = HEAP8[$568>>0]|0; + $618 = $617&255; + $619 = ($616|0)<($618|0); + if ($619) { + $$139151153 = $616; + } else { + break; + } + } + } + $620 = HEAP32[$94>>2]|0; + $621 = HEAP8[$571>>0]|0; + $622 = $621&255; + $623 = (((($620) + (($622*2096)|0)|0)) + 4|0); + $624 = HEAP32[$623>>2]|0; + $625 = $624 << 2; + $626 = (_setup_malloc($0,$625)|0); + $627 = (((($550) + (($$48951165*24)|0)|0)) + 16|0); + HEAP32[$627>>2] = $626; + $628 = ($626|0)==(0|0); + if ($628) { + label = 216; + break; + } + $629 = HEAP32[$94>>2]|0; + $630 = HEAP8[$571>>0]|0; + $631 = $630&255; + $632 = (((($629) + (($631*2096)|0)|0)) + 4|0); + $633 = HEAP32[$632>>2]|0; + $634 = $633 << 2; + _memset(($626|0),0,($634|0))|0; + $635 = HEAP32[$94>>2]|0; + $636 = HEAP8[$571>>0]|0; + $637 = $636&255; + $638 = (((($635) + (($637*2096)|0)|0)) + 4|0); + $639 = HEAP32[$638>>2]|0; + $640 = ($639|0)>(0); + if ($640) { + $$149161160 = 0;$642 = $635;$643 = $637; + while(1) { + $641 = (($642) + (($643*2096)|0)|0); + $644 = HEAP32[$641>>2]|0; + $645 = (_setup_malloc($0,$644)|0); + $646 = HEAP32[$627>>2]|0; + $647 = (($646) + ($$149161160<<2)|0); + HEAP32[$647>>2] = $645; + $648 = HEAP32[$627>>2]|0; + $649 = (($648) + ($$149161160<<2)|0); + $650 = HEAP32[$649>>2]|0; + $651 = ($650|0)==(0|0); + if ($651) { + label = 221; + break L330; + } + $652 = ($644|0)>(0); + if ($652) { + $$09501156 = $$149161160;$$49241157$in = $644; + while(1) { + $$49241157 = (($$49241157$in) + -1)|0; + $653 = HEAP8[$568>>0]|0; + $654 = $653&255; + $655 = (($$09501156|0) % ($654|0))&-1; + $656 = $655&255; + $657 = HEAP32[$627>>2]|0; + $658 = (($657) + ($$149161160<<2)|0); + $659 = HEAP32[$658>>2]|0; + $660 = (($659) + ($$49241157)|0); + HEAP8[$660>>0] = $656; + $661 = HEAP8[$568>>0]|0; + $662 = $661&255; + $663 = (($$09501156|0) / ($662|0))&-1; + $664 = ($$49241157$in|0)>(1); + if ($664) { + $$09501156 = $663;$$49241157$in = $$49241157; + } else { + break; + } + } + } + $665 = (($$149161160) + 1)|0; + $666 = HEAP32[$94>>2]|0; + $667 = HEAP8[$571>>0]|0; + $668 = $667&255; + $669 = (((($666) + (($668*2096)|0)|0)) + 4|0); + $670 = HEAP32[$669>>2]|0; + $671 = ($665|0)<($670|0); + if ($671) { + $$149161160 = $665;$642 = $666;$643 = $668; + } else { + break; + } + } + } + $672 = (($$48951165) + 1)|0; + $673 = HEAP32[$541>>2]|0; + $674 = ($672|0)<($673|0); + if ($674) { + $$48951165 = $672; + } else { + break L328; + } + } + if ((label|0) == 196) { + _error($0,20); + } + else if ((label|0) == 198) { + _error($0,20); + } + else if ((label|0) == 201) { + _error($0,20); + } + else if ((label|0) == 207) { + _error($0,3); + } + else if ((label|0) == 211) { + _error($0,20); + } + else if ((label|0) == 216) { + _error($0,3); + } + else if ((label|0) == 221) { + _error($0,3); + } + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + } while(0); + $675 = (_get_bits($0,6)|0); + $676 = (($675) + 1)|0; + $677 = ((($0)) + 400|0); + HEAP32[$677>>2] = $676; + $678 = ($676*40)|0; + $679 = (_setup_malloc($0,$678)|0); + $680 = ((($0)) + 404|0); + HEAP32[$680>>2] = $679; + $681 = ($679|0)==(0|0); + if ($681) { + _error($0,3); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + $682 = HEAP32[$677>>2]|0; + $683 = ($682*40)|0; + _memset(($679|0),0,($683|0))|0; + $684 = HEAP32[$677>>2]|0; + $685 = ($684|0)>(0); + L379: do { + if ($685) { + $$58961143 = 0; + L380: while(1) { + $686 = HEAP32[$680>>2]|0; + $687 = (($686) + (($$58961143*40)|0)|0); + $688 = (_get_bits($0,16)|0); + $689 = ($688|0)==(0); + if (!($689)) { + label = 229; + break; + } + $690 = HEAP32[$32>>2]|0; + $691 = ($690*3)|0; + $692 = (_setup_malloc($0,$691)|0); + $693 = (((($686) + (($$58961143*40)|0)|0)) + 4|0); + HEAP32[$693>>2] = $692; + $694 = ($692|0)==(0|0); + if ($694) { + label = 231; + break; + } + $695 = (_get_bits($0,1)|0); + $696 = ($695|0)==(0); + if ($696) { + $$sink26 = 1; + } else { + $697 = (_get_bits($0,4)|0); + $698 = (($697) + 1)|0; + $699 = $698&255; + $$sink26 = $699; + } + $700 = (((($686) + (($$58961143*40)|0)|0)) + 8|0); + HEAP8[$700>>0] = $$sink26; + $701 = (_get_bits($0,1)|0); + $702 = ($701|0)==(0); + do { + if ($702) { + HEAP16[$687>>1] = 0; + } else { + $703 = (_get_bits($0,8)|0); + $704 = (($703) + 1)|0; + $705 = $704&65535; + HEAP16[$687>>1] = $705; + $706 = $704 & 65535; + $707 = ($706|0)==(0); + if ($707) { + break; + } else { + $$59251132 = 0; + } + while(1) { + $712 = HEAP32[$32>>2]|0; + $713 = (($712) + -1)|0; + $714 = (_ilog($713)|0); + $715 = (_get_bits($0,$714)|0); + $716 = $715&255; + $717 = HEAP32[$693>>2]|0; + $718 = (($717) + (($$59251132*3)|0)|0); + HEAP8[$718>>0] = $716; + $719 = HEAP32[$32>>2]|0; + $720 = (($719) + -1)|0; + $721 = (_ilog($720)|0); + $722 = (_get_bits($0,$721)|0); + $723 = $722&255; + $724 = HEAP32[$693>>2]|0; + $725 = (((($724) + (($$59251132*3)|0)|0)) + 1|0); + HEAP8[$725>>0] = $723; + $726 = HEAP32[$693>>2]|0; + $727 = (($726) + (($$59251132*3)|0)|0); + $728 = HEAP8[$727>>0]|0; + $729 = $728&255; + $730 = HEAP32[$32>>2]|0; + $731 = ($729|0)<($730|0); + if (!($731)) { + label = 238; + break L380; + } + $732 = (((($726) + (($$59251132*3)|0)|0)) + 1|0); + $733 = HEAP8[$732>>0]|0; + $734 = $733&255; + $735 = ($734|0)<($730|0); + if (!($735)) { + label = 240; + break L380; + } + $736 = ($728<<24>>24)==($733<<24>>24); + $711 = (($$59251132) + 1)|0; + if ($736) { + label = 242; + break L380; + } + $708 = HEAP16[$687>>1]|0; + $709 = $708&65535; + $710 = ($711|0)<($709|0); + if ($710) { + $$59251132 = $711; + } else { + break; + } + } + } + } while(0); + $737 = (_get_bits($0,2)|0); + $738 = ($737|0)==(0); + if (!($738)) { + label = 245; + break; + } + $739 = HEAP8[$700>>0]|0; + $740 = ($739&255)>(1); + $741 = HEAP32[$32>>2]|0; + $742 = ($741|0)>(0); + do { + if ($740) { + if ($742) { + $$159171137 = 0; + } else { + break; + } + while(1) { + $750 = (_get_bits($0,4)|0); + $751 = $750&255; + $752 = HEAP32[$693>>2]|0; + $753 = (((($752) + (($$159171137*3)|0)|0)) + 2|0); + HEAP8[$753>>0] = $751; + $754 = HEAP32[$693>>2]|0; + $755 = (((($754) + (($$159171137*3)|0)|0)) + 2|0); + $756 = HEAP8[$755>>0]|0; + $757 = HEAP8[$700>>0]|0; + $758 = ($756&255)<($757&255); + $747 = (($$159171137) + 1)|0; + if (!($758)) { + label = 253; + break L380; + } + $745 = HEAP32[$32>>2]|0; + $746 = ($747|0)<($745|0); + if ($746) { + $$159171137 = $747; + } else { + break; + } + } + } else { + if (!($742)) { + break; + } + $743 = HEAP32[$693>>2]|0; + $744 = HEAP32[$32>>2]|0; + $$169181135 = 0; + while(1) { + $759 = (((($743) + (($$169181135*3)|0)|0)) + 2|0); + HEAP8[$759>>0] = 0; + $760 = (($$169181135) + 1)|0; + $761 = ($760|0)<($744|0); + if ($761) { + $$169181135 = $760; + } else { + break; + } + } + } + } while(0); + $748 = HEAP8[$700>>0]|0; + $749 = ($748<<24>>24)==(0); + if (!($749)) { + $$179191139 = 0; + while(1) { + (_get_bits($0,8)|0); + $766 = (_get_bits($0,8)|0); + $767 = $766&255; + $768 = ((((($686) + (($$58961143*40)|0)|0)) + 9|0) + ($$179191139)|0); + HEAP8[$768>>0] = $767; + $769 = (_get_bits($0,8)|0); + $770 = $769&255; + $771 = ((((($686) + (($$58961143*40)|0)|0)) + 24|0) + ($$179191139)|0); + HEAP8[$771>>0] = $770; + $772 = HEAP8[$768>>0]|0; + $773 = $772&255; + $774 = HEAP32[$383>>2]|0; + $775 = ($773|0)<($774|0); + if (!($775)) { + label = 257; + break L380; + } + $776 = $769 & 255; + $777 = HEAP32[$541>>2]|0; + $778 = ($776|0)<($777|0); + $765 = (($$179191139) + 1)|0; + if (!($778)) { + label = 259; + break L380; + } + $762 = HEAP8[$700>>0]|0; + $763 = $762&255; + $764 = ($765|0)<($763|0); + if ($764) { + $$179191139 = $765; + } else { + break; + } + } + } + $779 = (($$58961143) + 1)|0; + $780 = HEAP32[$677>>2]|0; + $781 = ($779|0)<($780|0); + if ($781) { + $$58961143 = $779; + } else { + break L379; + } + } + if ((label|0) == 229) { + _error($0,20); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + else if ((label|0) == 231) { + _error($0,3); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + else if ((label|0) == 238) { + _error($0,20); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + else if ((label|0) == 240) { + _error($0,20); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + else if ((label|0) == 242) { + _error($0,20); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + else if ((label|0) == 245) { + _error($0,20); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + else if ((label|0) == 253) { + _error($0,20); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + else if ((label|0) == 257) { + _error($0,20); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + else if ((label|0) == 259) { + _error($0,20); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + } + } while(0); + $782 = (_get_bits($0,6)|0); + $783 = (($782) + 1)|0; + $784 = ((($0)) + 408|0); + HEAP32[$784>>2] = $783; + $785 = ($783|0)>(0); + L433: do { + if ($785) { + $$68971128 = 0; + while(1) { + $789 = (_get_bits($0,1)|0); + $790 = $789&255; + $791 = (((($0)) + 412|0) + (($$68971128*6)|0)|0); + HEAP8[$791>>0] = $790; + $792 = (_get_bits($0,16)|0); + $793 = $792&65535; + $794 = (((((($0)) + 412|0) + (($$68971128*6)|0)|0)) + 2|0); + HEAP16[$794>>1] = $793; + $795 = (_get_bits($0,16)|0); + $796 = $795&65535; + $797 = (((((($0)) + 412|0) + (($$68971128*6)|0)|0)) + 4|0); + HEAP16[$797>>1] = $796; + $798 = (_get_bits($0,8)|0); + $799 = $798&255; + $800 = (((((($0)) + 412|0) + (($$68971128*6)|0)|0)) + 1|0); + HEAP8[$800>>0] = $799; + $801 = HEAP16[$794>>1]|0; + $802 = ($801<<16>>16)==(0); + if (!($802)) { + label = 264; + break; + } + $803 = HEAP16[$797>>1]|0; + $804 = ($803<<16>>16)==(0); + if (!($804)) { + label = 266; + break; + } + $805 = $798 & 255; + $806 = HEAP32[$677>>2]|0; + $807 = ($805|0)<($806|0); + $788 = (($$68971128) + 1)|0; + if (!($807)) { + label = 268; + break; + } + $786 = HEAP32[$784>>2]|0; + $787 = ($788|0)<($786|0); + if ($787) { + $$68971128 = $788; + } else { + break L433; + } + } + if ((label|0) == 264) { + _error($0,20); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + else if ((label|0) == 266) { + _error($0,20); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + else if ((label|0) == 268) { + _error($0,20); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + } + } while(0); + _flush_packet($0); + $808 = ((($0)) + 992|0); + HEAP32[$808>>2] = 0; + $809 = HEAP32[$32>>2]|0; + $810 = ($809|0)>(0); + L447: do { + if ($810) { + $$78981124 = 0; + while(1) { + $814 = HEAP32[$44>>2]|0; + $815 = $814 << 2; + $816 = (_setup_malloc($0,$815)|0); + $817 = (((($0)) + 800|0) + ($$78981124<<2)|0); + HEAP32[$817>>2] = $816; + $818 = HEAP32[$44>>2]|0; + $819 = $818 << 1; + $820 = $819 & 2147483646; + $821 = (_setup_malloc($0,$820)|0); + $822 = (((($0)) + 928|0) + ($$78981124<<2)|0); + HEAP32[$822>>2] = $821; + $823 = (_setup_malloc($0,$$0929$lcssa)|0); + $824 = (((($0)) + 996|0) + ($$78981124<<2)|0); + HEAP32[$824>>2] = $823; + $825 = HEAP32[$817>>2]|0; + $826 = ($825|0)==(0|0); + if ($826) { + break; + } + $827 = HEAP32[$822>>2]|0; + $828 = ($827|0)==(0|0); + $829 = ($823|0)==(0|0); + $or$cond991 = $829 | $828; + $813 = (($$78981124) + 1)|0; + if ($or$cond991) { + break; + } + $811 = HEAP32[$32>>2]|0; + $812 = ($813|0)<($811|0); + if ($812) { + $$78981124 = $813; + } else { + break L447; + } + } + _error($0,3); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + } while(0); + $830 = HEAP32[$42>>2]|0; + $831 = (_init_blocksize($0,0,$830)|0); + $832 = ($831|0)==(0); + if ($832) { + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + $833 = HEAP32[$44>>2]|0; + $834 = (_init_blocksize($0,1,$833)|0); + $835 = ($834|0)==(0); + if ($835) { + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + $836 = HEAP32[$42>>2]|0; + $837 = ((($0)) + 104|0); + HEAP32[$837>>2] = $836; + $838 = HEAP32[$44>>2]|0; + $839 = ((($0)) + 108|0); + HEAP32[$839>>2] = $838; + $840 = $838 << 1; + $841 = $840 & 2147483646; + $842 = HEAP32[$541>>2]|0; + $843 = ($842|0)>(0); + if ($843) { + $844 = HEAP32[$544>>2]|0; + $845 = HEAP32[$541>>2]|0; + $$08991120 = 0;$$09011119 = 0; + while(1) { + $846 = (((($844) + (($$09011119*24)|0)|0)) + 4|0); + $847 = HEAP32[$846>>2]|0; + $848 = (($844) + (($$09011119*24)|0)|0); + $849 = HEAP32[$848>>2]|0; + $850 = (($847) - ($849))|0; + $851 = (((($844) + (($$09011119*24)|0)|0)) + 8|0); + $852 = HEAP32[$851>>2]|0; + $853 = (($850>>>0) / ($852>>>0))&-1; + $854 = ($853|0)>($$08991120|0); + $$$0899 = $854 ? $853 : $$08991120; + $855 = (($$09011119) + 1)|0; + $856 = ($855|0)<($845|0); + if ($856) { + $$08991120 = $$$0899;$$09011119 = $855; + } else { + break; + } + } + $phitmp = $$$0899 << 2; + $phitmp1296 = (($phitmp) + 4)|0; + $$0899$lcssa = $phitmp1296; + } else { + $$0899$lcssa = 4; + } + $857 = HEAP32[$32>>2]|0; + $858 = Math_imul($857, $$0899$lcssa)|0; + $859 = ((($0)) + 12|0); + $860 = ($841>>>0)>($858>>>0); + $$ = $860 ? $841 : $858; + HEAP32[$859>>2] = $$; + $861 = ((($0)) + 1377|0); + HEAP8[$861>>0] = 1; + $862 = ((($0)) + 80|0); + $863 = HEAP32[$862>>2]|0; + $864 = ($863|0)==(0|0); + do { + if (!($864)) { + $865 = ((($0)) + 92|0); + $866 = HEAP32[$865>>2]|0; + $867 = ((($0)) + 84|0); + $868 = HEAP32[$867>>2]|0; + $869 = ($866|0)==($868|0); + if (!($869)) { + ___assert_fail((18037|0),(17533|0),3714,(18093|0)); + // unreachable; + } + $870 = ((($0)) + 88|0); + $871 = HEAP32[$870>>2]|0; + $872 = (($871) + 1512)|0; + $873 = HEAP32[$859>>2]|0; + $874 = (($872) + ($873))|0; + $875 = ($874>>>0)>($866>>>0); + if (!($875)) { + break; + } + _error($0,3); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + } while(0); + $876 = (_stb_vorbis_get_file_offset($0)|0); + $877 = ((($0)) + 52|0); + HEAP32[$877>>2] = $876; + $$34 = 1; + STACKTOP = sp;return ($$34|0); +} +function _vorbis_alloc($0) { + $0 = $0|0; + var $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (_setup_malloc($0,1512)|0); + return ($1|0); +} +function _vorbis_pump_first_frame($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $1 = sp + 8|0; + $2 = sp + 4|0; + $3 = sp; + $4 = (_vorbis_decode_packet($0,$1,$3,$2)|0); + $5 = ($4|0)==(0); + if ($5) { + STACKTOP = sp;return ($4|0); + } + $6 = HEAP32[$1>>2]|0; + $7 = HEAP32[$3>>2]|0; + $8 = HEAP32[$2>>2]|0; + (_vorbis_finish_frame($0,$6,$7,$8)|0); + STACKTOP = sp;return ($4|0); +} +function _setup_malloc($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = (($1) + 3)|0; + $3 = $2 & -4; + $4 = ((($0)) + 8|0); + $5 = HEAP32[$4>>2]|0; + $6 = (($5) + ($3))|0; + HEAP32[$4>>2] = $6; + $7 = ((($0)) + 80|0); + $8 = HEAP32[$7>>2]|0; + $9 = ($8|0)==(0|0); + if ($9) { + $17 = ($3|0)==(0); + if ($17) { + $$1 = 0; + return ($$1|0); + } + $18 = (_malloc($3)|0); + $$1 = $18; + return ($$1|0); + } else { + $10 = ((($0)) + 88|0); + $11 = HEAP32[$10>>2]|0; + $12 = (($11) + ($3))|0; + $13 = ((($0)) + 92|0); + $14 = HEAP32[$13>>2]|0; + $15 = ($12|0)>($14|0); + if ($15) { + $$1 = 0; + return ($$1|0); + } + $16 = (($8) + ($11)|0); + HEAP32[$10>>2] = $12; + $$1 = $16; + return ($$1|0); + } + return (0)|0; +} +function _vorbis_validate($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (_memcmp($0,18409,6)|0); + $2 = ($1|0)==(0); + $3 = $2&1; + return ($3|0); +} +function _skip($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($0)) + 32|0); + $3 = HEAP32[$2>>2]|0; + $4 = ($3|0)==(0|0); + if ($4) { + $10 = ((($0)) + 20|0); + $11 = HEAP32[$10>>2]|0; + $12 = (_ftell($11)|0); + $13 = HEAP32[$10>>2]|0; + $14 = (($12) + ($1))|0; + (_fseek($13,$14,0)|0); + return; + } + $5 = (($3) + ($1)|0); + HEAP32[$2>>2] = $5; + $6 = ((($0)) + 40|0); + $7 = HEAP32[$6>>2]|0; + $8 = ($5>>>0)<($7>>>0); + if ($8) { + return; + } + $9 = ((($0)) + 96|0); + HEAP32[$9>>2] = 1; + return; +} +function _is_whole_packet_present($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$$068 = 0, $$$3 = 0, $$068$lcssa = 0, $$06892 = 0, $$07291 = 0, $$078 = 0, $$078$ph = 0, $$173 = 0, $$2 = 0, $$270 = 0, $$270$ph = 0, $$274 = 0, $$274$ph = 0, $$3$lcssa = 0, $$37585 = 0, $$386 = 0, $$476 = 0, $$lcssa = 0, $10 = 0, $11 = 0; + var $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0; + var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0; + var $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0; + var $67 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond82 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($0)) + 1380|0); + $3 = HEAP32[$2>>2]|0; + $4 = ((($0)) + 32|0); + $5 = HEAP32[$4>>2]|0; + $6 = ($3|0)==(-1); + if ($6) { + $$078$ph = 1;$$270$ph = -1;$$274$ph = $5; + } else { + $7 = ((($0)) + 1116|0); + $8 = HEAP32[$7>>2]|0; + $9 = ($3|0)<($8|0); + L3: do { + if ($9) { + $$06892 = $3;$$07291 = $5;$67 = $8; + while(1) { + $10 = (((($0)) + 1120|0) + ($$06892)|0); + $11 = HEAP8[$10>>0]|0; + $12 = $11&255; + $13 = (($$07291) + ($12)|0); + $14 = ($11<<24>>24)==(-1); + if (!($14)) { + $$068$lcssa = $$06892;$$173 = $13;$$lcssa = $67; + break L3; + } + $15 = (($$06892) + 1)|0; + $16 = HEAP32[$7>>2]|0; + $17 = ($15|0)<($16|0); + if ($17) { + $$06892 = $15;$$07291 = $13;$67 = $16; + } else { + $$068$lcssa = $15;$$173 = $13;$$lcssa = $16; + break; + } + } + } else { + $$068$lcssa = $3;$$173 = $5;$$lcssa = $8; + } + } while(0); + $18 = ($1|0)!=(0); + $19 = (($$lcssa) + -1)|0; + $20 = ($$068$lcssa|0)<($19|0); + $or$cond = $18 & $20; + if ($or$cond) { + _error($0,21); + $$2 = 0; + return ($$2|0); + } + $21 = ($$068$lcssa|0)==($$lcssa|0); + $$$068 = $21 ? -1 : $$068$lcssa; + $22 = ((($0)) + 40|0); + $23 = HEAP32[$22>>2]|0; + $24 = ($$173>>>0)>($23>>>0); + if ($24) { + _error($0,1); + $$2 = 0; + return ($$2|0); + } else { + $$078$ph = 0;$$270$ph = $$$068;$$274$ph = $$173; + } + } + $25 = ((($0)) + 40|0); + $26 = ($1|0)!=(0); + $27 = ((($0)) + 992|0); + $$078 = $$078$ph;$$270 = $$270$ph;$$274 = $$274$ph; + while(1) { + $28 = ($$270|0)==(-1); + if (!($28)) { + $$2 = 1; + label = 32; + break; + } + $29 = ((($$274)) + 26|0); + $30 = HEAP32[$25>>2]|0; + $31 = ($29>>>0)<($30>>>0); + if (!($31)) { + label = 12; + break; + } + $32 = (_memcmp($$274,4844,4)|0); + $33 = ($32|0)==(0); + if (!($33)) { + label = 14; + break; + } + $34 = ((($$274)) + 4|0); + $35 = HEAP8[$34>>0]|0; + $36 = ($35<<24>>24)==(0); + if (!($36)) { + label = 16; + break; + } + $37 = ($$078|0)==(0); + if ($37) { + $44 = ((($$274)) + 5|0); + $45 = HEAP8[$44>>0]|0; + $46 = $45 & 1; + $47 = ($46<<24>>24)==(0); + if ($47) { + label = 22; + break; + } + } else { + $38 = HEAP32[$27>>2]|0; + $39 = ($38|0)==(0); + if (!($39)) { + $40 = ((($$274)) + 5|0); + $41 = HEAP8[$40>>0]|0; + $42 = $41 & 1; + $43 = ($42<<24>>24)==(0); + if (!($43)) { + label = 20; + break; + } + } + } + $48 = HEAP8[$29>>0]|0; + $49 = $48&255; + $50 = ((($$274)) + 27|0); + $51 = (($50) + ($49)|0); + $52 = HEAP32[$25>>2]|0; + $53 = ($51>>>0)>($52>>>0); + if ($53) { + label = 25; + break; + } + $54 = ($48<<24>>24)==(0); + L27: do { + if ($54) { + $$3$lcssa = 0;$$476 = $51; + } else { + $$37585 = $51;$$386 = 0; + while(1) { + $55 = (($50) + ($$386)|0); + $56 = HEAP8[$55>>0]|0; + $57 = $56&255; + $58 = (($$37585) + ($57)|0); + $59 = ($56<<24>>24)==(-1); + if (!($59)) { + $$3$lcssa = $$386;$$476 = $58; + break L27; + } + $60 = (($$386) + 1)|0; + $61 = ($60|0)<($49|0); + if ($61) { + $$37585 = $58;$$386 = $60; + } else { + $$3$lcssa = $60;$$476 = $58; + break; + } + } + } + } while(0); + $62 = (($49) + -1)|0; + $63 = ($$3$lcssa|0)<($62|0); + $or$cond82 = $26 & $63; + if ($or$cond82) { + label = 29; + break; + } + $64 = ($$3$lcssa|0)==($49|0); + $$$3 = $64 ? -1 : $$3$lcssa; + $65 = HEAP32[$25>>2]|0; + $66 = ($$476>>>0)>($65>>>0); + if ($66) { + label = 31; + break; + } else { + $$078 = 0;$$270 = $$$3;$$274 = $$476; + } + } + if ((label|0) == 12) { + _error($0,1); + $$2 = 0; + return ($$2|0); + } + else if ((label|0) == 14) { + _error($0,21); + $$2 = 0; + return ($$2|0); + } + else if ((label|0) == 16) { + _error($0,21); + $$2 = 0; + return ($$2|0); + } + else if ((label|0) == 20) { + _error($0,21); + $$2 = 0; + return ($$2|0); + } + else if ((label|0) == 22) { + _error($0,21); + $$2 = 0; + return ($$2|0); + } + else if ((label|0) == 25) { + _error($0,1); + $$2 = 0; + return ($$2|0); + } + else if ((label|0) == 29) { + _error($0,21); + $$2 = 0; + return ($$2|0); + } + else if ((label|0) == 31) { + _error($0,1); + $$2 = 0; + return ($$2|0); + } + else if ((label|0) == 32) { + return ($$2|0); + } + return (0)|0; +} +function _crc32_init() { + var $$01417 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; + var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, label = 0, sp = 0; + sp = STACKTOP; + $$01417 = 0; + while(1) { + $0 = $$01417 << 24; + $1 = $$01417 << 25; + $2 = $0 >> 31; + $3 = $2 & 79764919; + $4 = $3 ^ $1; + $5 = $4 << 1; + $6 = $1 >> 31; + $7 = $6 & 79764919; + $8 = $7 ^ $5; + $9 = $8 << 1; + $10 = $5 >> 31; + $11 = $10 & 79764919; + $12 = $11 ^ $9; + $13 = $12 << 1; + $14 = $9 >> 31; + $15 = $14 & 79764919; + $16 = $15 ^ $13; + $17 = $16 << 1; + $18 = $13 >> 31; + $19 = $18 & 79764919; + $20 = $19 ^ $17; + $21 = $20 << 1; + $22 = $17 >> 31; + $23 = $22 & 79764919; + $24 = $23 ^ $21; + $25 = $24 << 1; + $26 = $21 >> 31; + $27 = $26 & 79764919; + $28 = $27 ^ $25; + $29 = $28 << 1; + $30 = $25 >> 31; + $31 = $30 & 79764919; + $32 = $31 ^ $29; + $33 = (337500 + ($$01417<<2)|0); + HEAP32[$33>>2] = $32; + $34 = (($$01417) + 1)|0; + $exitcond = ($34|0)==(256); + if ($exitcond) { + break; + } else { + $$01417 = $34; + } + } + return; +} +function _setup_temp_free($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ((($0)) + 80|0); + $4 = HEAP32[$3>>2]|0; + $5 = ($4|0)==(0|0); + if ($5) { + _free($1); + return; + } else { + $6 = (($2) + 3)|0; + $7 = $6 & -4; + $8 = ((($0)) + 92|0); + $9 = HEAP32[$8>>2]|0; + $10 = (($9) + ($7))|0; + HEAP32[$8>>2] = $10; + return; + } +} +function _compute_codewords($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$06983 = 0, $$072$ph = 0, $$074$lcssa = 0, $$07488 = 0, $$07586 = 0, $$084 = 0, $$176 = 0, $$176$in = 0, $$176$in$ph = 0, $$2 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0; + var $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0; + var $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $6 = 0, $7 = 0; + var $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0); + $4 = sp; + dest=$4; stop=dest+128|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + $5 = ($2|0)>(0); + L1: do { + if ($5) { + $$07488 = 0; + while(1) { + $6 = (($1) + ($$07488)|0); + $7 = HEAP8[$6>>0]|0; + $8 = ($7<<24>>24)==(-1); + if (!($8)) { + $$074$lcssa = $$07488; + break L1; + } + $9 = (($$07488) + 1)|0; + $10 = ($9|0)<($2|0); + if ($10) { + $$07488 = $9; + } else { + $$074$lcssa = $9; + break; + } + } + } else { + $$074$lcssa = 0; + } + } while(0); + $11 = ($$074$lcssa|0)==($2|0); + if ($11) { + $12 = ((($0)) + 2092|0); + $13 = HEAP32[$12>>2]|0; + $14 = ($13|0)==(0); + if ($14) { + $$2 = 1; + STACKTOP = sp;return ($$2|0); + } else { + ___assert_fail((18306|0),(17533|0),665,(18329|0)); + // unreachable; + } + } + $15 = (($1) + ($$074$lcssa)|0); + $16 = HEAP8[$15>>0]|0; + $17 = $16&255; + _add_entry($0,0,$$074$lcssa,0,$17,$3); + $18 = HEAP8[$15>>0]|0; + $19 = ($18<<24>>24)==(0); + if ($19) { + $$072$ph = 1;$$176$in$ph = $$074$lcssa; + } else { + $20 = HEAP8[$15>>0]|0; + $21 = $20&255; + $$07586 = 1; + while(1) { + $22 = (32 - ($$07586))|0; + $23 = 1 << $22; + $24 = (($4) + ($$07586<<2)|0); + HEAP32[$24>>2] = $23; + $25 = (($$07586) + 1)|0; + $26 = ($$07586|0)<($21|0); + if ($26) { + $$07586 = $25; + } else { + $$072$ph = 1;$$176$in$ph = $$074$lcssa; + break; + } + } + } + L16: while(1) { + $$176$in = $$176$in$ph; + L18: while(1) { + $$176 = (($$176$in) + 1)|0; + $27 = ($$176|0)<($2|0); + if (!($27)) { + $$2 = 1; + label = 25; + break L16; + } + $28 = (($1) + ($$176)|0); + $29 = HEAP8[$28>>0]|0; + switch ($29<<24>>24) { + case 0: { + $$2 = 0; + label = 25; + break L16; + break; + } + case -1: { + $$176$in = $$176; + break; + } + default: { + break L18; + } + } + } + $30 = $29&255; + $$06983 = $30; + while(1) { + $31 = (($4) + ($$06983<<2)|0); + $32 = HEAP32[$31>>2]|0; + $33 = ($32|0)==(0); + if (!($33)) { + break; + } + $34 = (($$06983) + -1)|0; + $35 = ($$06983|0)>(1); + if ($35) { + $$06983 = $34; + } else { + $$2 = 0; + label = 25; + break L16; + } + } + $36 = (($4) + ($$06983<<2)|0); + $37 = HEAP32[$36>>2]|0; + $38 = ($$06983>>>0)<(32); + if (!($38)) { + label = 17; + break; + } + HEAP32[$36>>2] = 0; + $39 = (_bit_reverse($37)|0); + $40 = (($$072$ph) + 1)|0; + $41 = HEAP8[$28>>0]|0; + $42 = $41&255; + _add_entry($0,$39,$$176,$$072$ph,$42,$3); + $43 = HEAP8[$28>>0]|0; + $44 = $43&255; + $45 = ($$06983|0)==($44|0); + if ($45) { + $$072$ph = $40;$$176$in$ph = $$176; + continue; + } + $46 = ($43&255)<(32); + if (!($46)) { + label = 21; + break; + } + $47 = ($44|0)>($$06983|0); + if ($47) { + $$084 = $44; + } else { + $$072$ph = $40;$$176$in$ph = $$176; + continue; + } + while(1) { + $48 = (($4) + ($$084<<2)|0); + $49 = HEAP32[$48>>2]|0; + $50 = ($49|0)==(0); + if (!($50)) { + label = 23; + break L16; + } + $51 = (32 - ($$084))|0; + $52 = 1 << $51; + $53 = (($52) + ($37))|0; + HEAP32[$48>>2] = $53; + $54 = (($$084) + -1)|0; + $55 = ($54|0)>($$06983|0); + if ($55) { + $$084 = $54; + } else { + $$072$ph = $40;$$176$in$ph = $$176; + continue L16; + } + } + } + if ((label|0) == 17) { + ___assert_fail((18347|0),(17533|0),688,(18329|0)); + // unreachable; + } + else if ((label|0) == 21) { + ___assert_fail((18364|0),(17533|0),693,(18329|0)); + // unreachable; + } + else if ((label|0) == 23) { + ___assert_fail((18391|0),(17533|0),695,(18329|0)); + // unreachable; + } + else if ((label|0) == 25) { + STACKTOP = sp;return ($$2|0); + } + return (0)|0; +} +function _compute_sorted_huffman($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$08088 = 0, $$082$lcssa = 0, $$08287 = 0, $$084$lcssa = 0, $$08495 = 0, $$096 = 0, $$1100 = 0, $$181 = 0, $$183 = 0, $$185 = 0, $$290 = 0, $$lcssa = 0, $$sink = 0, $$sink3 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0; + var $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0; + var $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0; + var $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0; + var $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0; + var $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ((($0)) + 23|0); + $4 = HEAP8[$3>>0]|0; + $5 = ($4<<24>>24)==(0); + if ($5) { + $13 = ((($0)) + 4|0); + $14 = HEAP32[$13>>2]|0; + $15 = ($14|0)>(0); + if ($15) { + $16 = ((($0)) + 32|0); + $17 = ((($0)) + 2084|0); + $$08495 = 0;$$096 = 0; + while(1) { + $18 = (($1) + ($$096)|0); + $19 = HEAP8[$18>>0]|0; + $20 = (_include_in_sort($0,$19)|0); + $21 = ($20|0)==(0); + if ($21) { + $$185 = $$08495; + } else { + $22 = HEAP32[$16>>2]|0; + $23 = (($22) + ($$096<<2)|0); + $24 = HEAP32[$23>>2]|0; + $25 = (_bit_reverse($24)|0); + $26 = HEAP32[$17>>2]|0; + $27 = (($$08495) + 1)|0; + $28 = (($26) + ($$08495<<2)|0); + HEAP32[$28>>2] = $25; + $$185 = $27; + } + $29 = (($$096) + 1)|0; + $30 = HEAP32[$13>>2]|0; + $31 = ($29|0)<($30|0); + if ($31) { + $$08495 = $$185;$$096 = $29; + } else { + $$084$lcssa = $$185; + break; + } + } + } else { + $$084$lcssa = 0; + } + $32 = ((($0)) + 2092|0); + $33 = HEAP32[$32>>2]|0; + $34 = ($$084$lcssa|0)==($33|0); + if (!($34)) { + ___assert_fail((18198|0),(17533|0),762,(18221|0)); + // unreachable; + } + } else { + $6 = ((($0)) + 2092|0); + $7 = HEAP32[$6>>2]|0; + $8 = ($7|0)>(0); + if ($8) { + $9 = ((($0)) + 32|0); + $10 = HEAP32[$9>>2]|0; + $11 = ((($0)) + 2084|0); + $12 = HEAP32[$11>>2]|0; + $$1100 = 0; + while(1) { + $35 = (($10) + ($$1100<<2)|0); + $36 = HEAP32[$35>>2]|0; + $37 = (_bit_reverse($36)|0); + $38 = (($12) + ($$1100<<2)|0); + HEAP32[$38>>2] = $37; + $39 = (($$1100) + 1)|0; + $40 = HEAP32[$6>>2]|0; + $41 = ($39|0)<($40|0); + if ($41) { + $$1100 = $39; + } else { + break; + } + } + } + } + $42 = ((($0)) + 2084|0); + $43 = HEAP32[$42>>2]|0; + $44 = ((($0)) + 2092|0); + $45 = HEAP32[$44>>2]|0; + _qsort($43,$45,4,2); + $46 = HEAP32[$42>>2]|0; + $47 = HEAP32[$44>>2]|0; + $48 = (($46) + ($47<<2)|0); + HEAP32[$48>>2] = -1; + $49 = HEAP8[$3>>0]|0; + $50 = ($49<<24>>24)!=(0); + $51 = ((($0)) + 4|0); + $$sink = $50 ? $44 : $51; + $52 = HEAP32[$$sink>>2]|0; + $53 = ($52|0)>(0); + if (!($53)) { + return; + } + $54 = ((($0)) + 32|0); + $55 = ((($0)) + 2088|0); + $56 = ((($0)) + 8|0); + $$290 = 0; + L20: while(1) { + $57 = HEAP8[$3>>0]|0; + $58 = ($57<<24>>24)==(0); + if ($58) { + $$sink3 = $$290; + } else { + $59 = (($2) + ($$290<<2)|0); + $60 = HEAP32[$59>>2]|0; + $$sink3 = $60; + } + $61 = (($1) + ($$sink3)|0); + $62 = HEAP8[$61>>0]|0; + $63 = (_include_in_sort($0,$62)|0); + $64 = ($63|0)==(0); + do { + if (!($64)) { + $65 = HEAP32[$54>>2]|0; + $66 = (($65) + ($$290<<2)|0); + $67 = HEAP32[$66>>2]|0; + $68 = (_bit_reverse($67)|0); + $69 = HEAP32[$44>>2]|0; + $70 = ($69|0)>(1); + $71 = HEAP32[$42>>2]|0; + if ($70) { + $72 = HEAP32[$42>>2]|0; + $$08088 = $69;$$08287 = 0;$76 = $71; + while(1) { + $73 = $$08088 >>> 1; + $74 = (($73) + ($$08287))|0; + $75 = (($76) + ($74<<2)|0); + $77 = HEAP32[$75>>2]|0; + $78 = ($77>>>0)>($68>>>0); + $79 = (($$08088) - ($73))|0; + $$183 = $78 ? $$08287 : $74; + $$181 = $78 ? $73 : $79; + $80 = ($$181|0)>(1); + if ($80) { + $$08088 = $$181;$$08287 = $$183;$76 = $72; + } else { + $$082$lcssa = $$183;$$lcssa = $72; + break; + } + } + } else { + $$082$lcssa = 0;$$lcssa = $71; + } + $81 = (($$lcssa) + ($$082$lcssa<<2)|0); + $82 = HEAP32[$81>>2]|0; + $83 = ($82|0)==($68|0); + if (!($83)) { + label = 21; + break L20; + } + $84 = HEAP8[$3>>0]|0; + $85 = ($84<<24>>24)==(0); + $86 = HEAP32[$55>>2]|0; + if ($85) { + $92 = (($86) + ($$082$lcssa<<2)|0); + HEAP32[$92>>2] = $$290; + break; + } else { + $87 = (($2) + ($$290<<2)|0); + $88 = HEAP32[$87>>2]|0; + $89 = (($86) + ($$082$lcssa<<2)|0); + HEAP32[$89>>2] = $88; + $90 = HEAP32[$56>>2]|0; + $91 = (($90) + ($$082$lcssa)|0); + HEAP8[$91>>0] = $62; + break; + } + } + } while(0); + $93 = (($$290) + 1)|0; + $94 = ($93|0)<($52|0); + if ($94) { + $$290 = $93; + } else { + label = 26; + break; + } + } + if ((label|0) == 21) { + ___assert_fail((18244|0),(17533|0),792,(18221|0)); + // unreachable; + } + else if ((label|0) == 26) { + return; + } +} +function _compute_accelerated_huffman($0) { + $0 = $0|0; + var $$ = 0, $$0$ph = 0, $$027 = 0, $$128 = 0, $$sink = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0; + var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, $scevgep = 0, label = 0, sp = 0; + sp = STACKTOP; + $scevgep = ((($0)) + 36|0); + _memset(($scevgep|0),-1,2048)|0; + $1 = ((($0)) + 23|0); + $2 = HEAP8[$1>>0]|0; + $3 = ($2<<24>>24)!=(0); + $4 = ((($0)) + 4|0); + $5 = ((($0)) + 2092|0); + $$sink = $3 ? $5 : $4; + $6 = HEAP32[$$sink>>2]|0; + $7 = ($6|0)<(32767); + $$ = $7 ? $6 : 32767; + $8 = ($6|0)>(0); + if (!($8)) { + return; + } + $9 = ((($0)) + 8|0); + $10 = ((($0)) + 32|0); + $11 = ((($0)) + 2084|0); + $$128 = 0; + while(1) { + $12 = HEAP32[$9>>2]|0; + $13 = (($12) + ($$128)|0); + $14 = HEAP8[$13>>0]|0; + $15 = ($14&255)<(11); + if ($15) { + $16 = HEAP8[$1>>0]|0; + $17 = ($16<<24>>24)==(0); + if ($17) { + $22 = HEAP32[$10>>2]|0; + $23 = (($22) + ($$128<<2)|0); + $24 = HEAP32[$23>>2]|0; + $$0$ph = $24; + } else { + $18 = HEAP32[$11>>2]|0; + $19 = (($18) + ($$128<<2)|0); + $20 = HEAP32[$19>>2]|0; + $21 = (_bit_reverse($20)|0); + $$0$ph = $21; + } + $25 = ($$0$ph>>>0)<(1024); + if ($25) { + $26 = $$128&65535; + $$027 = $$0$ph; + while(1) { + $27 = (((($0)) + 36|0) + ($$027<<1)|0); + HEAP16[$27>>1] = $26; + $28 = HEAP32[$9>>2]|0; + $29 = (($28) + ($$128)|0); + $30 = HEAP8[$29>>0]|0; + $31 = $30&255; + $32 = 1 << $31; + $33 = (($32) + ($$027))|0; + $34 = ($33>>>0)<(1024); + if ($34) { + $$027 = $33; + } else { + break; + } + } + } + } + $35 = (($$128) + 1)|0; + $36 = ($35|0)<($$|0); + if ($36) { + $$128 = $35; + } else { + break; + } + } + return; +} +function _float32_unpack($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0.0, $12 = 0.0, $2 = 0, $3 = 0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $1 = $0 & 2097151; + $2 = $0 >>> 21; + $3 = $2 & 1023; + $4 = ($0|0)<(0); + $5 = (+($1>>>0)); + $6 = -$5; + $7 = $4 ? $6 : $5; + $8 = $7; + $9 = $8; + $10 = (($3) + -788)|0; + $11 = (+_ldexp($9,$10)); + $12 = $11; + return (+$12); +} +function _lookup1_values($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$ = 0, $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0, $19 = 0, $2 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0, $26 = 0.0, $27 = 0.0; + var $28 = 0.0, $29 = 0, $3 = 0.0, $30 = 0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, $not$ = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = (+($0|0)); + $3 = $2; + $4 = (+Math_log((+$3))); + $5 = $4; + $6 = (+($1|0)); + $7 = $5 / $6; + $8 = $7; + $9 = (+Math_exp((+$8))); + $10 = (+Math_floor((+$9))); + $11 = (~~(($10))); + $12 = (+($11|0)); + $13 = $12 + 1.0; + $14 = $13; + $15 = (+($1|0)); + $16 = (+Math_pow((+$14),(+$15))); + $17 = (+Math_floor((+$16))); + $18 = (~~(($17))); + $not$ = ($18|0)<=($0|0); + $19 = $not$&1; + $$ = (($19) + ($11))|0; + $20 = (+($$|0)); + $21 = $20 + 1.0; + $22 = $21; + $23 = (+Math_pow((+$22),(+$15))); + $24 = (+($0|0)); + $25 = $23 > $24; + if (!($25)) { + ___assert_fail((18107|0),(17533|0),817,(18139|0)); + // unreachable; + } + $26 = $20; + $27 = (+Math_pow((+$26),(+$15))); + $28 = (+Math_floor((+$27))); + $29 = (~~(($28))); + $30 = ($29|0)>($0|0); + if ($30) { + ___assert_fail((18154|0),(17533|0),818,(18139|0)); + // unreachable; + } else { + return ($$|0); + } + return (0)|0; +} +function _point_compare($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = HEAP16[$0>>1]|0; + $3 = HEAP16[$1>>1]|0; + $4 = ($2&65535)<($3&65535); + $5 = ($2&65535)>($3&65535); + $6 = $5&1; + $7 = $4 ? -1 : $6; + return ($7|0); +} +function _neighbors($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$02933 = 0, $$03032 = 0, $$034 = 0, $$1 = 0, $$131 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, label = 0; + var sp = 0; + sp = STACKTOP; + $4 = ($1|0)>(0); + if (!($4)) { + return; + } + $5 = (($0) + ($1<<1)|0); + $6 = (($0) + ($1<<1)|0); + $$02933 = 65536;$$03032 = -1;$$034 = 0; + while(1) { + $7 = (($0) + ($$034<<1)|0); + $8 = HEAP16[$7>>1]|0; + $9 = $8&65535; + $10 = ($9|0)>($$03032|0); + if ($10) { + $11 = HEAP16[$5>>1]|0; + $12 = ($8&65535)<($11&65535); + if ($12) { + HEAP32[$2>>2] = $$034; + $$131 = $9; + } else { + $$131 = $$03032; + } + } else { + $$131 = $$03032; + } + $13 = ($9|0)<($$02933|0); + if ($13) { + $14 = HEAP16[$6>>1]|0; + $15 = ($8&65535)>($14&65535); + if ($15) { + HEAP32[$3>>2] = $$034; + $$1 = $9; + } else { + $$1 = $$02933; + } + } else { + $$1 = $$02933; + } + $16 = (($$034) + 1)|0; + $exitcond = ($16|0)==($1|0); + if ($exitcond) { + break; + } else { + $$02933 = $$1;$$03032 = $$131;$$034 = $16; + } + } + return; +} +function _init_blocksize($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0; + var $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = $2 >>> 1; + $4 = $2 & -4; + $5 = $2 >> 3; + $6 = $3 << 2; + $7 = (_setup_malloc($0,$6)|0); + $8 = (((($0)) + 1068|0) + ($1<<2)|0); + HEAP32[$8>>2] = $7; + $9 = (_setup_malloc($0,$6)|0); + $10 = (((($0)) + 1076|0) + ($1<<2)|0); + HEAP32[$10>>2] = $9; + $11 = (_setup_malloc($0,$4)|0); + $12 = (((($0)) + 1084|0) + ($1<<2)|0); + HEAP32[$12>>2] = $11; + $13 = HEAP32[$8>>2]|0; + $14 = ($13|0)==(0|0); + if (!($14)) { + $15 = HEAP32[$10>>2]|0; + $16 = ($15|0)==(0|0); + $17 = ($11|0)==(0|0); + $or$cond = $17 | $16; + if (!($or$cond)) { + _compute_twiddle_factors($2,$13,$15,$11); + $18 = (_setup_malloc($0,$6)|0); + $19 = (((($0)) + 1092|0) + ($1<<2)|0); + HEAP32[$19>>2] = $18; + $20 = ($18|0)==(0|0); + if ($20) { + _error($0,3); + $$0 = 0; + return ($$0|0); + } + _compute_window($2,$18); + $21 = $5 << 1; + $22 = (_setup_malloc($0,$21)|0); + $23 = (((($0)) + 1100|0) + ($1<<2)|0); + HEAP32[$23>>2] = $22; + $24 = ($22|0)==(0|0); + if ($24) { + _error($0,3); + $$0 = 0; + return ($$0|0); + } else { + _compute_bitreverse($2,$22); + $$0 = 1; + return ($$0|0); + } + } + } + _error($0,3); + $$0 = 0; + return ($$0|0); +} +function _compute_twiddle_factors($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$04044 = 0, $$045 = 0, $$14142 = 0, $$143 = 0, $10 = 0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0, $18 = 0.0, $19 = 0.0, $20 = 0.0, $21 = 0, $22 = 0, $23 = 0.0, $24 = 0.0, $25 = 0.0; + var $26 = 0.0, $27 = 0.0, $28 = 0.0, $29 = 0.0, $30 = 0.0, $31 = 0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0.0, $41 = 0.0, $42 = 0.0, $43 = 0.0, $44 = 0.0; + var $45 = 0.0, $46 = 0, $47 = 0.0, $48 = 0.0, $49 = 0.0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, $exitcond = 0, $exitcond48 = 0, label = 0, sp = 0; + sp = STACKTOP; + $4 = $0 >> 2; + $5 = $0 >> 3; + $6 = ($4|0)>(0); + if ($6) { + $7 = (+($0|0)); + $$04044 = 0;$$045 = 0; + while(1) { + $10 = $$04044 << 2; + $11 = (+($10|0)); + $12 = $11 * 3.1415927410125732; + $13 = $12 / $7; + $14 = $13; + $15 = (+Math_cos((+$14))); + $16 = $15; + $17 = (($1) + ($$045<<2)|0); + HEAPF32[$17>>2] = $16; + $18 = (+Math_sin((+$14))); + $19 = $18; + $20 = -$19; + $21 = $$045 | 1; + $22 = (($1) + ($21<<2)|0); + HEAPF32[$22>>2] = $20; + $23 = (+($21|0)); + $24 = $23 * 3.1415927410125732; + $25 = $24 / $7; + $26 = $25 * 0.5; + $27 = $26; + $28 = (+Math_cos((+$27))); + $29 = $28; + $30 = $29 * 0.5; + $31 = (($2) + ($$045<<2)|0); + HEAPF32[$31>>2] = $30; + $32 = (+Math_sin((+$27))); + $33 = $32; + $34 = $33 * 0.5; + $35 = (($2) + ($21<<2)|0); + HEAPF32[$35>>2] = $34; + $36 = (($$04044) + 1)|0; + $37 = (($$045) + 2)|0; + $exitcond48 = ($36|0)==($4|0); + if ($exitcond48) { + break; + } else { + $$04044 = $36;$$045 = $37; + } + } + } + $8 = ($5|0)>(0); + if (!($8)) { + return; + } + $9 = (+($0|0)); + $$14142 = 0;$$143 = 0; + while(1) { + $38 = $$143 | 1; + $39 = $38 << 1; + $40 = (+($39|0)); + $41 = $40 * 3.1415927410125732; + $42 = $41 / $9; + $43 = $42; + $44 = (+Math_cos((+$43))); + $45 = $44; + $46 = (($3) + ($$143<<2)|0); + HEAPF32[$46>>2] = $45; + $47 = (+Math_sin((+$43))); + $48 = $47; + $49 = -$48; + $50 = (($3) + ($38<<2)|0); + HEAPF32[$50>>2] = $49; + $51 = (($$14142) + 1)|0; + $52 = (($$143) + 2)|0; + $exitcond = ($51|0)==($5|0); + if ($exitcond) { + break; + } else { + $$14142 = $51;$$143 = $52; + } + } + return; +} +function _compute_window($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$010 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0, $18 = 0, $2 = 0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, $exitcond = 0, label = 0; + var sp = 0; + sp = STACKTOP; + $2 = $0 >> 1; + $3 = ($2|0)>(0); + if (!($3)) { + return; + } + $4 = (+($2|0)); + $$010 = 0; + while(1) { + $5 = (+($$010|0)); + $6 = $5 + 0.5; + $7 = $6 / $4; + $8 = $7 * 0.5; + $9 = $8 * 3.1415927410125732; + $10 = (+Math_sin((+$9))); + $11 = $10; + $12 = (+_square($11)); + $13 = $12; + $14 = $13 * 1.5707963705062866; + $15 = (+Math_sin((+$14))); + $16 = $15; + $17 = (($1) + ($$010<<2)|0); + HEAPF32[$17>>2] = $16; + $18 = (($$010) + 1)|0; + $exitcond = ($18|0)==($2|0); + if ($exitcond) { + break; + } else { + $$010 = $18; + } + } + return; +} +function _compute_bitreverse($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$013 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = $0 >> 3; + $3 = ($2|0)>(0); + if (!($3)) { + return; + } + $4 = (_ilog($0)|0); + $5 = (36 - ($4))|0; + $$013 = 0; + while(1) { + $6 = (_bit_reverse($$013)|0); + $7 = $6 >>> $5; + $8 = $7 << 2; + $9 = $8&65535; + $10 = (($1) + ($$013<<1)|0); + HEAP16[$10>>1] = $9; + $11 = (($$013) + 1)|0; + $exitcond = ($11|0)==($2|0); + if ($exitcond) { + break; + } else { + $$013 = $11; + } + } + return; +} +function _square($0) { + $0 = +$0; + var $1 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $1 = $0 * $0; + return (+$1); +} +function _include_in_sort($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$$ = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $narrow = 0, $not$ = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($0)) + 23|0); + $3 = HEAP8[$2>>0]|0; + $4 = ($3<<24>>24)==(0); + $5 = ($1<<24>>24)==(-1); + if ($4) { + $6 = ($1&255)>(10); + $not$ = $5 ^ 1; + $narrow = $6 & $not$; + $$$ = $narrow&1; + return ($$$|0); + } + if ($5) { + ___assert_fail((18275|0),(17533|0),742,(18290|0)); + // unreachable; + } else { + return 1; + } + return (0)|0; +} +function _uint32_compare($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = HEAP32[$0>>2]|0; + $3 = HEAP32[$1>>2]|0; + $4 = ($2>>>0)<($3>>>0); + $5 = ($2>>>0)>($3>>>0); + $6 = $5&1; + $7 = $4 ? -1 : $6; + return ($7|0); +} +function _add_entry($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + var $$sink = 0, $$sink1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $6 = ((($0)) + 23|0); + $7 = HEAP8[$6>>0]|0; + $8 = ($7<<24>>24)==(0); + $9 = ((($0)) + 32|0); + $10 = HEAP32[$9>>2]|0; + if ($8) { + $11 = (($10) + ($2<<2)|0); + $$sink = $1;$$sink1 = $11; + HEAP32[$$sink1>>2] = $$sink; + return; + } else { + $12 = (($10) + ($3<<2)|0); + HEAP32[$12>>2] = $1; + $13 = $4&255; + $14 = ((($0)) + 8|0); + $15 = HEAP32[$14>>2]|0; + $16 = (($15) + ($3)|0); + HEAP8[$16>>0] = $13; + $17 = (($5) + ($3<<2)|0); + $$sink = $2;$$sink1 = $17; + HEAP32[$$sink1>>2] = $$sink; + return; + } +} +function _LoadSound($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$byval_copy1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0); + $$byval_copy1 = sp + 20|0; + $2 = sp; + _LoadWave($2,$1); + ;HEAP32[$$byval_copy1>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$2+16>>2]|0; + _LoadSoundFromWave($0,$$byval_copy1); + ;HEAP32[$$byval_copy1>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$2+16>>2]|0; + _UnloadWave($$byval_copy1); + STACKTOP = sp;return; +} +function _LoadSoundFromWave($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $$sroa$0$0 = 0, $$sroa$5$0 = 0, $$sroa$5$0$$sroa_idx7 = 0, $$sroa$6$0 = 0, $$sroa$6$0$$sroa_idx9 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0; + var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $5 = 0; + var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer4 = 0, $vararg_buffer7 = 0, $vararg_ptr10 = 0, $vararg_ptr11 = 0, $vararg_ptr12 = 0, $vararg_ptr13 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $vararg_buffer7 = sp + 24|0; + $vararg_buffer4 = sp + 16|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $2 = sp + 48|0; + $3 = sp + 44|0; + $4 = ((($1)) + 16|0); + $5 = HEAP32[$4>>2]|0; + $6 = ($5|0)==(0|0); + if ($6) { + $$sroa$0$0 = 0;$$sroa$5$0 = 0;$$sroa$6$0 = 0; + HEAP32[$0>>2] = $$sroa$0$0; + $$sroa$5$0$$sroa_idx7 = ((($0)) + 4|0); + HEAP32[$$sroa$5$0$$sroa_idx7>>2] = $$sroa$5$0; + $$sroa$6$0$$sroa_idx9 = ((($0)) + 8|0); + HEAP32[$$sroa$6$0$$sroa_idx9>>2] = $$sroa$6$0; + STACKTOP = sp;return; + } + $7 = ((($1)) + 12|0); + $8 = HEAP32[$7>>2]|0; + L4: do { + switch ($8|0) { + case 1: { + $9 = ((($1)) + 8|0); + $10 = HEAP32[$9>>2]|0; + switch ($10|0) { + case 8: { + $$0 = 4352; + break L4; + break; + } + case 16: { + $$0 = 4353; + break L4; + break; + } + case 32: { + $$0 = 65552; + break L4; + break; + } + default: { + HEAP32[$vararg_buffer>>2] = $10; + _TraceLog(1,18756,$vararg_buffer); + $$0 = 0; + break L4; + } + } + break; + } + case 2: { + $11 = ((($1)) + 8|0); + $12 = HEAP32[$11>>2]|0; + switch ($12|0) { + case 8: { + $$0 = 4354; + break L4; + break; + } + case 16: { + $$0 = 4355; + break L4; + break; + } + case 32: { + $$0 = 65553; + break L4; + break; + } + default: { + HEAP32[$vararg_buffer1>>2] = $12; + _TraceLog(1,18756,$vararg_buffer1); + $$0 = 0; + break L4; + } + } + break; + } + default: { + HEAP32[$vararg_buffer4>>2] = $8; + _TraceLog(1,18791,$vararg_buffer4); + $$0 = 0; + } + } + } while(0); + _alGenSources(1,($2|0)); + $13 = HEAP32[$2>>2]|0; + _alSourcef(($13|0),4099,1.0); + $14 = HEAP32[$2>>2]|0; + _alSourcef(($14|0),4106,1.0); + $15 = HEAP32[$2>>2]|0; + _alSource3f(($15|0),4100,0.0,0.0,0.0); + $16 = HEAP32[$2>>2]|0; + _alSource3f(($16|0),4102,0.0,0.0,0.0); + $17 = HEAP32[$2>>2]|0; + _alSourcei(($17|0),4103,0); + _alGenBuffers(1,($3|0)); + $18 = HEAP32[$1>>2]|0; + $19 = HEAP32[$7>>2]|0; + $20 = Math_imul($19, $18)|0; + $21 = ((($1)) + 8|0); + $22 = HEAP32[$21>>2]|0; + $23 = Math_imul($20, $22)|0; + $24 = $23 >>> 3; + $25 = HEAP32[$3>>2]|0; + $26 = HEAP32[$4>>2]|0; + $27 = ((($1)) + 4|0); + $28 = HEAP32[$27>>2]|0; + _alBufferData(($25|0),($$0|0),($26|0),($24|0),($28|0)); + $29 = HEAP32[$2>>2]|0; + $30 = HEAP32[$3>>2]|0; + _alSourcei(($29|0),4105,($30|0)); + $31 = HEAP32[$2>>2]|0; + $32 = HEAP32[$3>>2]|0; + $33 = HEAP32[$27>>2]|0; + $34 = HEAP32[$21>>2]|0; + $35 = HEAP32[$7>>2]|0; + $36 = ($35|0)==(1); + $37 = $36 ? 17465 : 17470; + HEAP32[$vararg_buffer7>>2] = $31; + $vararg_ptr10 = ((($vararg_buffer7)) + 4|0); + HEAP32[$vararg_ptr10>>2] = $32; + $vararg_ptr11 = ((($vararg_buffer7)) + 8|0); + HEAP32[$vararg_ptr11>>2] = $33; + $vararg_ptr12 = ((($vararg_buffer7)) + 12|0); + HEAP32[$vararg_ptr12>>2] = $34; + $vararg_ptr13 = ((($vararg_buffer7)) + 16|0); + HEAP32[$vararg_ptr13>>2] = $37; + _TraceLog(0,18833,$vararg_buffer7); + $38 = HEAP32[$2>>2]|0; + $39 = HEAP32[$3>>2]|0; + $$sroa$0$0 = $38;$$sroa$5$0 = $39;$$sroa$6$0 = $$0; + HEAP32[$0>>2] = $$sroa$0$0; + $$sroa$5$0$$sroa_idx7 = ((($0)) + 4|0); + HEAP32[$$sroa$5$0$$sroa_idx7>>2] = $$sroa$5$0; + $$sroa$6$0$$sroa_idx9 = ((($0)) + 8|0); + HEAP32[$$sroa$6$0$$sroa_idx9>>2] = $$sroa$6$0; + STACKTOP = sp;return; +} +function _UnloadWave($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $vararg_buffer = sp; + $1 = ((($0)) + 16|0); + $2 = HEAP32[$1>>2]|0; + $3 = ($2|0)==(0|0); + if (!($3)) { + _free($2); + } + _TraceLog(0,18728,$vararg_buffer); + STACKTOP = sp;return; +} +function _UnloadSound($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $vararg_buffer = sp; + $1 = HEAP32[$0>>2]|0; + _alSourceStop(($1|0)); + _alDeleteSources(1,($0|0)); + $2 = ((($0)) + 4|0); + _alDeleteBuffers(1,($2|0)); + $3 = HEAP32[$0>>2]|0; + $4 = HEAP32[$2>>2]|0; + HEAP32[$vararg_buffer>>2] = $3; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $4; + _TraceLog(0,18908,$vararg_buffer); + STACKTOP = sp;return; +} +function _PlaySound($0) { + $0 = $0|0; + var $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP32[$0>>2]|0; + _alSourcePlay(($1|0)); + return; +} +function _LoadMusicStream($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; + var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0.0, $39 = 0.0, $4 = 0, $40 = 0.0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; + var $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer13 = 0, $vararg_buffer17 = 0, $vararg_buffer21 = 0, $vararg_buffer25 = 0, $vararg_buffer28 = 0, $vararg_buffer5 = 0, $vararg_buffer9 = 0, $vararg_ptr12 = 0, $vararg_ptr16 = 0, $vararg_ptr20 = 0, $vararg_ptr24 = 0, $vararg_ptr4 = 0, $vararg_ptr8 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 160|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(160|0); + $vararg_buffer28 = sp + 72|0; + $vararg_buffer25 = sp + 64|0; + $vararg_buffer21 = sp + 48|0; + $vararg_buffer17 = sp + 40|0; + $vararg_buffer13 = sp + 32|0; + $vararg_buffer9 = sp + 24|0; + $vararg_buffer5 = sp + 16|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $1 = sp + 136|0; + $2 = sp + 104|0; + $3 = sp + 76|0; + $4 = (_malloc(52)|0); + $5 = (_IsFileExtension($0,17184)|0); + $6 = ($5|0)==(0); + if (!($6)) { + $7 = (_stb_vorbis_open_filename($0,0,0)|0); + $8 = ((($4)) + 4|0); + HEAP32[$8>>2] = $7; + $9 = ($7|0)==(0|0); + if ($9) { + HEAP32[$vararg_buffer>>2] = $0; + _TraceLog(1,18961,$vararg_buffer); + STACKTOP = sp;return ($4|0); + } else { + $10 = HEAP32[$8>>2]|0; + _stb_vorbis_get_info($1,$10); + $11 = ((($4)) + 12|0); + $12 = HEAP32[$1>>2]|0; + $13 = ((($1)) + 4|0); + $14 = HEAP32[$13>>2]|0; + _InitAudioStream($2,$12,16,$14); + ;HEAP32[$11>>2]=HEAP32[$2>>2]|0;HEAP32[$11+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$11+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$11+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$11+16>>2]=HEAP32[$2+16>>2]|0;HEAP32[$11+20>>2]=HEAP32[$2+20>>2]|0;HEAP32[$11+24>>2]=HEAP32[$2+24>>2]|0; + $15 = HEAP32[$8>>2]|0; + $16 = (_stb_vorbis_stream_length_in_samples($15)|0); + $17 = ((($4)) + 44|0); + HEAP32[$17>>2] = $16; + $18 = ((($4)) + 48|0); + HEAP32[$18>>2] = $16; + HEAP32[$4>>2] = 0; + $19 = ((($4)) + 40|0); + HEAP32[$19>>2] = -1; + $20 = HEAP32[$17>>2]|0; + HEAP32[$vararg_buffer1>>2] = $0; + $vararg_ptr4 = ((($vararg_buffer1)) + 4|0); + HEAP32[$vararg_ptr4>>2] = $20; + _TraceLog(3,19001,$vararg_buffer1); + $21 = HEAP32[$1>>2]|0; + HEAP32[$vararg_buffer5>>2] = $0; + $vararg_ptr8 = ((($vararg_buffer5)) + 4|0); + HEAP32[$vararg_ptr8>>2] = $21; + _TraceLog(3,19029,$vararg_buffer5); + $22 = HEAP32[$13>>2]|0; + HEAP32[$vararg_buffer9>>2] = $0; + $vararg_ptr12 = ((($vararg_buffer9)) + 4|0); + HEAP32[$vararg_ptr12>>2] = $22; + _TraceLog(3,19054,$vararg_buffer9); + $23 = ((($1)) + 16|0); + $24 = HEAP32[$23>>2]|0; + HEAP32[$vararg_buffer13>>2] = $0; + $vararg_ptr16 = ((($vararg_buffer13)) + 4|0); + HEAP32[$vararg_ptr16>>2] = $24; + _TraceLog(3,19076,$vararg_buffer13); + STACKTOP = sp;return ($4|0); + } + } + $25 = (_IsFileExtension($0,19105)|0); + $26 = ($25|0)==(0); + if ($26) { + HEAP32[$vararg_buffer28>>2] = $0; + _TraceLog(1,17241,$vararg_buffer28); + STACKTOP = sp;return ($4|0); + } + $27 = ((($4)) + 8|0); + $28 = (_jar_xm_create_context_from_file($27,48000,$0)|0); + $29 = ($28|0)==(0); + if ($29) { + $30 = HEAP32[$27>>2]|0; + _jar_xm_set_max_loop_count($30,0); + $31 = ((($4)) + 12|0); + _InitAudioStream($3,48000,16,2); + ;HEAP32[$31>>2]=HEAP32[$3>>2]|0;HEAP32[$31+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$31+8>>2]=HEAP32[$3+8>>2]|0;HEAP32[$31+12>>2]=HEAP32[$3+12>>2]|0;HEAP32[$31+16>>2]=HEAP32[$3+16>>2]|0;HEAP32[$31+20>>2]=HEAP32[$3+20>>2]|0;HEAP32[$31+24>>2]=HEAP32[$3+24>>2]|0; + $32 = (_jar_xm_get_remaining_samples($30)|0); + $33 = tempRet0; + $34 = ((($4)) + 44|0); + HEAP32[$34>>2] = $32; + $35 = ((($4)) + 48|0); + HEAP32[$35>>2] = $32; + HEAP32[$4>>2] = 2; + $36 = ((($4)) + 40|0); + HEAP32[$36>>2] = -1; + $37 = HEAP32[$34>>2]|0; + HEAP32[$vararg_buffer17>>2] = $0; + $vararg_ptr20 = ((($vararg_buffer17)) + 4|0); + HEAP32[$vararg_ptr20>>2] = $37; + _TraceLog(3,19109,$vararg_buffer17); + $38 = (+($37>>>0)); + $39 = $38 / 48000.0; + $40 = $39; + HEAP32[$vararg_buffer21>>2] = $0; + $vararg_ptr24 = ((($vararg_buffer21)) + 8|0); + HEAPF64[$vararg_ptr24>>3] = $40; + _TraceLog(3,19139,$vararg_buffer21); + STACKTOP = sp;return ($4|0); + } else { + HEAP32[$vararg_buffer25>>2] = $0; + _TraceLog(1,19172,$vararg_buffer25); + STACKTOP = sp;return ($4|0); + } + return (0)|0; +} +function _InitAudioStream($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$off = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer4 = 0, $vararg_buffer7 = 0, $vararg_ptr10 = 0, $vararg_ptr11 = 0, $vararg_ptr12 = 0; + var label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0); + $vararg_buffer7 = sp + 24|0; + $vararg_buffer4 = sp + 16|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $4 = sp + 40|0; + $5 = ((($4)) + 8|0); + ;HEAP32[$5>>2]=0|0;HEAP32[$5+4>>2]=0|0;HEAP32[$5+8>>2]=0|0;HEAP32[$5+12>>2]=0|0;HEAP32[$5+16>>2]=0|0; + HEAP32[$4>>2] = $1; + $6 = ((($4)) + 4|0); + HEAP32[$6>>2] = $2; + $$off = (($3) + -1)|0; + $7 = ($$off>>>0)<(2); + L1: do { + if ($7) { + $9 = ((($4)) + 8|0); + HEAP32[$9>>2] = $3; + switch ($3|0) { + case 1: { + $55 = $9; + label = 4; + break L1; + break; + } + case 2: { + break; + } + default: { + $26 = $9; + break L1; + } + } + switch ($2|0) { + case 8: { + $13 = ((($4)) + 12|0); + HEAP32[$13>>2] = 4354; + $26 = $9; + break L1; + break; + } + case 16: { + $14 = ((($4)) + 12|0); + HEAP32[$14>>2] = 4355; + $26 = $9; + break L1; + break; + } + case 32: { + $15 = ((($4)) + 12|0); + HEAP32[$15>>2] = 65553; + $26 = $9; + break L1; + break; + } + default: { + HEAP32[$vararg_buffer4>>2] = $2; + _TraceLog(1,19261,$vararg_buffer4); + $26 = $9; + break L1; + } + } + } else { + HEAP32[$vararg_buffer>>2] = $3; + _TraceLog(1,19205,$vararg_buffer); + $8 = ((($4)) + 8|0); + HEAP32[$8>>2] = 1; + $55 = $8; + label = 4; + } + } while(0); + L10: do { + if ((label|0) == 4) { + switch ($2|0) { + case 8: { + $10 = ((($4)) + 12|0); + HEAP32[$10>>2] = 4352; + $26 = $55; + break L10; + break; + } + case 16: { + $11 = ((($4)) + 12|0); + HEAP32[$11>>2] = 4353; + $26 = $55; + break L10; + break; + } + case 32: { + $12 = ((($4)) + 12|0); + HEAP32[$12>>2] = 65552; + $26 = $55; + break L10; + break; + } + default: { + HEAP32[$vararg_buffer1>>2] = $2; + _TraceLog(1,19261,$vararg_buffer1); + $26 = $55; + break L10; + } + } + } + } while(0); + $16 = ((($4)) + 16|0); + _alGenSources(1,($16|0)); + $17 = HEAP32[$16>>2]|0; + _alSourcef(($17|0),4099,1.0); + $18 = HEAP32[$16>>2]|0; + _alSourcef(($18|0),4106,1.0); + $19 = HEAP32[$16>>2]|0; + _alSource3f(($19|0),4100,0.0,0.0,0.0); + $20 = HEAP32[$16>>2]|0; + _alSource3f(($20|0),4102,0.0,0.0,0.0); + $21 = ((($4)) + 20|0); + _alGenBuffers(2,($21|0)); + $22 = HEAP32[$6>>2]|0; + $23 = $22 << 9; + $24 = $23 & 536870400; + $25 = HEAP32[$26>>2]|0; + $27 = Math_imul($24, $25)|0; + $28 = (_calloc($27,1)|0); + $29 = ((($4)) + 12|0); + $30 = ((($4)) + 20|0); + $31 = HEAP32[$30>>2]|0; + $32 = HEAP32[$29>>2]|0; + $33 = HEAP32[$6>>2]|0; + $34 = $33 << 9; + $35 = $34 & 536870400; + $36 = HEAP32[$26>>2]|0; + $37 = Math_imul($35, $36)|0; + $38 = HEAP32[$4>>2]|0; + _alBufferData(($31|0),($32|0),($28|0),($37|0),($38|0)); + $39 = ((($4)) + 24|0); + $40 = HEAP32[$39>>2]|0; + $41 = HEAP32[$29>>2]|0; + $42 = HEAP32[$6>>2]|0; + $43 = $42 << 9; + $44 = $43 & 536870400; + $45 = HEAP32[$26>>2]|0; + $46 = Math_imul($44, $45)|0; + $47 = HEAP32[$4>>2]|0; + _alBufferData(($40|0),($41|0),($28|0),($46|0),($47|0)); + _free($28); + $48 = HEAP32[$16>>2]|0; + _alSourceQueueBuffers(($48|0),2,($21|0)); + $49 = HEAP32[$16>>2]|0; + $50 = HEAP32[$4>>2]|0; + $51 = HEAP32[$6>>2]|0; + $52 = HEAP32[$26>>2]|0; + $53 = ($52|0)==(1); + $54 = $53 ? 17465 : 17470; + HEAP32[$vararg_buffer7>>2] = $49; + $vararg_ptr10 = ((($vararg_buffer7)) + 4|0); + HEAP32[$vararg_ptr10>>2] = $50; + $vararg_ptr11 = ((($vararg_buffer7)) + 8|0); + HEAP32[$vararg_ptr11>>2] = $51; + $vararg_ptr12 = ((($vararg_buffer7)) + 12|0); + HEAP32[$vararg_ptr12>>2] = $54; + _TraceLog(0,19310,$vararg_buffer7); + ;HEAP32[$0>>2]=HEAP32[$4>>2]|0;HEAP32[$0+4>>2]=HEAP32[$4+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$4+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$4+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$4+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[$4+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[$4+24>>2]|0; + STACKTOP = sp;return; +} +function _UnloadMusicStream($0) { + $0 = $0|0; + var $$byval_copy = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $$byval_copy = sp; + $1 = ((($0)) + 12|0); + ;HEAP32[$$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$1+16>>2]|0;HEAP32[$$byval_copy+20>>2]=HEAP32[$1+20>>2]|0;HEAP32[$$byval_copy+24>>2]=HEAP32[$1+24>>2]|0; + _CloseAudioStream($$byval_copy); + $2 = HEAP32[$0>>2]|0; + switch ($2|0) { + case 0: { + $3 = ((($0)) + 4|0); + $4 = HEAP32[$3>>2]|0; + _stb_vorbis_close($4); + _free($0); + STACKTOP = sp;return; + break; + } + case 2: { + $5 = ((($0)) + 8|0); + $6 = HEAP32[$5>>2]|0; + _jar_xm_free_context($6); + _free($0); + STACKTOP = sp;return; + break; + } + default: { + _free($0); + STACKTOP = sp;return; + } + } +} +function _CloseAudioStream($0) { + $0 = $0|0; + var $$pr = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $vararg_buffer = sp; + $1 = sp + 8|0; + $2 = sp + 4|0; + $3 = ((($0)) + 16|0); + $4 = HEAP32[$3>>2]|0; + _alSourceStop(($4|0)); + HEAP32[$1>>2] = 0; + $5 = HEAP32[$3>>2]|0; + _alGetSourcei(($5|0),4117,($1|0)); + HEAP32[$2>>2] = 0; + $$pr = HEAP32[$1>>2]|0; + $6 = ($$pr|0)>(0); + if ($6) { + while(1) { + $7 = HEAP32[$3>>2]|0; + _alSourceUnqueueBuffers(($7|0),1,($2|0)); + $8 = HEAP32[$1>>2]|0; + $9 = (($8) + -1)|0; + HEAP32[$1>>2] = $9; + $10 = ($8|0)>(1); + if (!($10)) { + break; + } + } + } + _alDeleteSources(1,($3|0)); + $11 = ((($0)) + 20|0); + _alDeleteBuffers(2,($11|0)); + $12 = HEAP32[$3>>2]|0; + HEAP32[$vararg_buffer>>2] = $12; + _TraceLog(0,19375,$vararg_buffer); + STACKTOP = sp;return; +} +function _PlayMusicStream($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 28|0); + $2 = HEAP32[$1>>2]|0; + _alSourcePlay(($2|0)); + return; +} +function _StopMusicStream($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; + var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 28|0); + $2 = HEAP32[$1>>2]|0; + _alSourceStop(($2|0)); + $3 = ((($0)) + 16|0); + $4 = HEAP32[$3>>2]|0; + $5 = $4 << 9; + $6 = $5 & 536870400; + $7 = ((($0)) + 20|0); + $8 = HEAP32[$7>>2]|0; + $9 = Math_imul($6, $8)|0; + $10 = (_calloc($9,1)|0); + $11 = ((($0)) + 24|0); + $12 = ((($0)) + 12|0); + $13 = ((($0)) + 32|0); + $14 = HEAP32[$13>>2]|0; + $15 = HEAP32[$11>>2]|0; + $16 = HEAP32[$3>>2]|0; + $17 = $16 << 9; + $18 = $17 & 536870400; + $19 = HEAP32[$7>>2]|0; + $20 = Math_imul($18, $19)|0; + $21 = HEAP32[$12>>2]|0; + _alBufferData(($14|0),($15|0),($10|0),($20|0),($21|0)); + $22 = ((($0)) + 36|0); + $23 = HEAP32[$22>>2]|0; + $24 = HEAP32[$11>>2]|0; + $25 = HEAP32[$3>>2]|0; + $26 = $25 << 9; + $27 = $26 & 536870400; + $28 = HEAP32[$7>>2]|0; + $29 = Math_imul($27, $28)|0; + $30 = HEAP32[$12>>2]|0; + _alBufferData(($23|0),($24|0),($10|0),($29|0),($30|0)); + _free($10); + $31 = HEAP32[$0>>2]|0; + $cond = ($31|0)==(0); + if (!($cond)) { + $34 = ((($0)) + 44|0); + $35 = HEAP32[$34>>2]|0; + $36 = ((($0)) + 48|0); + HEAP32[$36>>2] = $35; + return; + } + $32 = ((($0)) + 4|0); + $33 = HEAP32[$32>>2]|0; + (_stb_vorbis_seek_start($33)|0); + $34 = ((($0)) + 44|0); + $35 = HEAP32[$34>>2]|0; + $36 = ((($0)) + 48|0); + HEAP32[$36>>2] = $35; + return; +} +function _stb_vorbis_seek_start($0) { + $0 = $0|0; + var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 48|0); + $2 = HEAP8[$1>>0]|0; + $3 = ($2<<24>>24)==(0); + if ($3) { + $4 = ((($0)) + 52|0); + $5 = HEAP32[$4>>2]|0; + _set_file_offset($0,$5); + $6 = ((($0)) + 992|0); + HEAP32[$6>>2] = 0; + $7 = ((($0)) + 1377|0); + HEAP8[$7>>0] = 1; + $8 = ((($0)) + 1380|0); + HEAP32[$8>>2] = -1; + $9 = (_vorbis_pump_first_frame($0)|0); + $$0 = $9; + return ($$0|0); + } else { + _error($0,2); + $$0 = 0; + return ($$0|0); + } + return (0)|0; +} +function _UpdateMusicStream($0) { + $0 = $0|0; + var $$ = 0, $$0 = 0, $$04143 = 0, $$byval_copy = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; + var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; + var $42 = 0, $43 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer3 = 0, $vararg_buffer5 = 0, $vararg_buffer7 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0); + $$byval_copy = sp + 32|0; + $vararg_buffer7 = sp + 24|0; + $vararg_buffer5 = sp + 16|0; + $vararg_buffer3 = sp + 8|0; + $vararg_buffer = sp; + $1 = sp + 64|0; + $2 = sp + 60|0; + HEAP32[$2>>2] = 0; + $3 = ((($0)) + 12|0); + $4 = ((($0)) + 28|0); + $5 = HEAP32[$4>>2]|0; + _alGetSourcei(($5|0),4112,($1|0)); + $6 = HEAP32[$4>>2]|0; + _alGetSourcei(($6|0),4118,($2|0)); + $7 = HEAP32[$2>>2]|0; + HEAP32[$vararg_buffer>>2] = $7; + _TraceLog(0,19414,$vararg_buffer); + $8 = HEAP32[$2>>2]|0; + $9 = ($8|0)>(0); + if (!($9)) { + STACKTOP = sp;return; + } + $10 = ((($0)) + 16|0); + $11 = HEAP32[$10>>2]|0; + $12 = $11 << 9; + $13 = $12 & 536870400; + $14 = ((($0)) + 20|0); + $15 = HEAP32[$14>>2]|0; + $16 = Math_imul($13, $15)|0; + $17 = (_calloc($16,1)|0); + _TraceLog(0,19464,$$byval_copy); + $18 = HEAP32[$2>>2]|0; + $19 = ($18|0)>(0); + L4: do { + if ($19) { + $20 = ((($0)) + 48|0); + $21 = ((($0)) + 4|0); + $22 = ((($0)) + 8|0); + $$04143 = 0; + while(1) { + $25 = HEAP32[$20>>2]|0; + $26 = ($25>>>0)<(4096); + $$ = $26 ? $25 : 4096; + $27 = HEAP32[$0>>2]|0; + switch ($27|0) { + case 0: { + _TraceLog(0,19470,$vararg_buffer3); + $28 = HEAP32[$21>>2]|0; + $29 = HEAP32[$14>>2]|0; + $30 = Math_imul($29, $$)|0; + (_stb_vorbis_get_samples_short_interleaved($28,$29,$17,$30)|0); + _TraceLog(0,19476,$vararg_buffer5); + break; + } + case 2: { + $31 = HEAP32[$22>>2]|0; + _jar_xm_generate_samples_16bit($31,$17,$$); + break; + } + default: { + } + } + ;HEAP32[$$byval_copy>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$3+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$3+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$3+16>>2]|0;HEAP32[$$byval_copy+20>>2]=HEAP32[$3+20>>2]|0;HEAP32[$$byval_copy+24>>2]=HEAP32[$3+24>>2]|0; + _UpdateAudioStream($$byval_copy,$17,$$); + $32 = HEAP32[$20>>2]|0; + $33 = (($32) - ($$))|0; + HEAP32[$20>>2] = $33; + $34 = ($33|0)==(0); + $24 = (($$04143) + 1)|0; + if ($34) { + $$0 = 0; + break L4; + } + $23 = ($24|0)<($18|0); + if ($23) { + $$04143 = $24; + } else { + $$0 = 1; + break L4; + } + } + } else { + $$0 = 1; + } + } while(0); + $35 = (_alGetError()|0); + $36 = ($35|0)==(40963); + if ($36) { + _TraceLog(1,19482,$vararg_buffer7); + } + $37 = ($$0|0)==(0); + if ($37) { + _StopMusicStream($0); + $38 = ((($0)) + 40|0); + $39 = HEAP32[$38>>2]|0; + $40 = ($39|0)>(0); + if ($40) { + $41 = (($39) + -1)|0; + HEAP32[$38>>2] = $41; + _PlayMusicStream($0); + } + } else { + $42 = HEAP32[$1>>2]|0; + $43 = ($42|0)==(4114); + if (!($43)) { + _PlayMusicStream($0); + } + } + _free($17); + STACKTOP = sp;return; +} +function _UpdateAudioStream($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $3 = sp; + HEAP32[$3>>2] = 0; + $4 = ((($0)) + 16|0); + $5 = HEAP32[$4>>2]|0; + _alSourceUnqueueBuffers(($5|0),1,($3|0)); + $6 = (_alGetError()|0); + $7 = ($6|0)==(40963); + if ($7) { + STACKTOP = sp;return; + } + $8 = HEAP32[$3>>2]|0; + $9 = ((($0)) + 12|0); + $10 = HEAP32[$9>>2]|0; + $11 = ((($0)) + 8|0); + $12 = HEAP32[$11>>2]|0; + $13 = Math_imul($12, $2)|0; + $14 = ((($0)) + 4|0); + $15 = HEAP32[$14>>2]|0; + $16 = Math_imul($13, $15)|0; + $17 = $16 >>> 3; + $18 = HEAP32[$0>>2]|0; + _alBufferData(($8|0),($10|0),($1|0),($17|0),($18|0)); + $19 = HEAP32[$4>>2]|0; + _alSourceQueueBuffers(($19|0),1,($3|0)); + STACKTOP = sp;return; +} +function _SetMusicVolume($0,$1) { + $0 = $0|0; + $1 = +$1; + var $2 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($0)) + 28|0); + $3 = HEAP32[$2>>2]|0; + _alSourcef(($3|0),4106,(+$1)); + return; +} +function _emscripten_GetProcAddress($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0; + var $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0; + var $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0; + var $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0; + var $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0; + var $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0; + var $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0; + var $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0; + var $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0; + var $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0; + var $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0; + var $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0; + var $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0; + var $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0; + var $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0; + var $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0; + var $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0; + var $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0; + var $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0; + var $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0; + var $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0; + var $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0; + var $496 = 0, $497 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0; + var $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0; + var $531 = 0, $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0, $549 = 0; + var $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0; + var $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0; + var $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $1 = sp + 12|0; + $2 = sp + 8|0; + $3 = sp + 4|0; + $4 = sp; + HEAP32[$2>>2] = $0; + $5 = HEAP32[$2>>2]|0; + $6 = (_strlen($5)|0); + $7 = (($6) + 1)|0; + $8 = (_malloc($7)|0); + HEAP32[$3>>2] = $8; + $9 = HEAP32[$3>>2]|0; + $10 = HEAP32[$2>>2]|0; + (_strcpy($9,$10)|0); + $11 = HEAP32[$3>>2]|0; + $12 = (_strstr($11,19514)|0); + HEAP32[$4>>2] = $12; + $13 = HEAP32[$4>>2]|0; + $14 = ($13|0)!=(0|0); + if ($14) { + $15 = HEAP32[$4>>2]|0; + HEAP8[$15>>0] = 0; + } + $16 = HEAP32[$3>>2]|0; + $17 = (_strstr($16,19518)|0); + HEAP32[$4>>2] = $17; + $18 = HEAP32[$4>>2]|0; + $19 = ($18|0)!=(0|0); + if ($19) { + $20 = HEAP32[$4>>2]|0; + HEAP8[$20>>0] = 0; + } + $21 = HEAP32[$3>>2]|0; + $22 = (_strstr($21,19522)|0); + HEAP32[$4>>2] = $22; + $23 = HEAP32[$4>>2]|0; + $24 = ($23|0)!=(0|0); + if ($24) { + $25 = HEAP32[$4>>2]|0; + HEAP8[$25>>0] = 0; + } + $26 = HEAP32[$3>>2]|0; + $27 = (_strstr($26,19526)|0); + HEAP32[$4>>2] = $27; + $28 = HEAP32[$4>>2]|0; + $29 = ($28|0)!=(0|0); + if ($29) { + $30 = HEAP32[$4>>2]|0; + HEAP8[$30>>0] = 0; + } + $31 = HEAP32[$3>>2]|0; + $32 = (_strcmp($31,19532)|0); + $33 = ($32|0)!=(0); + do { + if ($33) { + $34 = HEAP32[$3>>2]|0; + $35 = (_strcmp($34,19570)|0); + $36 = ($35|0)!=(0); + if (!($36)) { + HEAP32[$3>>2] = 19589; + break; + } + $37 = HEAP32[$3>>2]|0; + $38 = (_strcmp($37,19602)|0); + $39 = ($38|0)!=(0); + if (!($39)) { + HEAP32[$3>>2] = 19623; + break; + } + $40 = HEAP32[$3>>2]|0; + $41 = (_strcmp($40,19638)|0); + $42 = ($41|0)!=(0); + if (!($42)) { + HEAP32[$3>>2] = 19653; + break; + } + $43 = HEAP32[$3>>2]|0; + $44 = (_strcmp($43,19668)|0); + $45 = ($44|0)!=(0); + if (!($45)) { + HEAP32[$3>>2] = 19683; + } + } else { + HEAP32[$3>>2] = 19554; + } + } while(0); + $46 = HEAP32[$3>>2]|0; + $47 = (_strcmp($46,19698)|0); + $48 = ($47|0)!=(0); + do { + if ($48) { + $49 = HEAP32[$3>>2]|0; + $50 = (_strcmp($49,19712)|0); + $51 = ($50|0)!=(0); + if (!($51)) { + HEAP32[$1>>2] = 3; + break; + } + $52 = HEAP32[$3>>2]|0; + $53 = (_strcmp($52,19724)|0); + $54 = ($53|0)!=(0); + if (!($54)) { + HEAP32[$1>>2] = 7; + break; + } + $55 = HEAP32[$3>>2]|0; + $56 = (_strcmp($55,19738)|0); + $57 = ($56|0)!=(0); + if (!($57)) { + HEAP32[$1>>2] = 8; + break; + } + $58 = HEAP32[$3>>2]|0; + $59 = (_strcmp($58,19750)|0); + $60 = ($59|0)!=(0); + if (!($60)) { + HEAP32[$1>>2] = 9; + break; + } + $61 = HEAP32[$3>>2]|0; + $62 = (_strcmp($61,19764)|0); + $63 = ($62|0)!=(0); + if (!($63)) { + HEAP32[$1>>2] = 10; + break; + } + $64 = HEAP32[$3>>2]|0; + $65 = (_strcmp($64,19778)|0); + $66 = ($65|0)!=(0); + if (!($66)) { + HEAP32[$1>>2] = 11; + break; + } + $67 = HEAP32[$3>>2]|0; + $68 = (_strcmp($67,19795)|0); + $69 = ($68|0)!=(0); + if (!($69)) { + HEAP32[$1>>2] = 1; + break; + } + $70 = HEAP32[$3>>2]|0; + $71 = (_strcmp($70,19818)|0); + $72 = ($71|0)!=(0); + if (!($72)) { + HEAP32[$1>>2] = 1; + break; + } + $73 = HEAP32[$3>>2]|0; + $74 = (_strcmp($73,19844)|0); + $75 = ($74|0)!=(0); + if (!($75)) { + HEAP32[$1>>2] = 2; + break; + } + $76 = HEAP32[$3>>2]|0; + $77 = (_strcmp($76,19857)|0); + $78 = ($77|0)!=(0); + if (!($78)) { + HEAP32[$1>>2] = 3; + break; + } + $79 = HEAP32[$3>>2]|0; + $80 = (_strcmp($79,19873)|0); + $81 = ($80|0)!=(0); + if (!($81)) { + HEAP32[$1>>2] = 1; + break; + } + $82 = HEAP32[$3>>2]|0; + $83 = (_strcmp($82,19886)|0); + $84 = ($83|0)!=(0); + if (!($84)) { + HEAP32[$1>>2] = 12; + break; + } + $85 = HEAP32[$3>>2]|0; + $86 = (_strcmp($85,19900)|0); + $87 = ($86|0)!=(0); + if (!($87)) { + HEAP32[$1>>2] = 2; + break; + } + $88 = HEAP32[$3>>2]|0; + $89 = (_strcmp($88,19920)|0); + $90 = ($89|0)!=(0); + if (!($90)) { + HEAP32[$1>>2] = 3; + break; + } + $91 = HEAP32[$3>>2]|0; + $92 = (_strcmp($91,19940)|0); + $93 = ($92|0)!=(0); + if (!($93)) { + HEAP32[$1>>2] = 4; + break; + } + $94 = HEAP32[$3>>2]|0; + $95 = (_strcmp($94,19957)|0); + $96 = ($95|0)!=(0); + if (!($96)) { + HEAP32[$1>>2] = 5; + break; + } + $97 = HEAP32[$3>>2]|0; + $98 = (_strcmp($97,19974)|0); + $99 = ($98|0)!=(0); + if (!($99)) { + HEAP32[$1>>2] = 4; + break; + } + $100 = HEAP32[$3>>2]|0; + $101 = (_strcmp($100,19986)|0); + $102 = ($101|0)!=(0); + if (!($102)) { + HEAP32[$1>>2] = 13; + break; + } + $103 = HEAP32[$3>>2]|0; + $104 = (_strcmp($103,19999)|0); + $105 = ($104|0)!=(0); + if (!($105)) { + HEAP32[$1>>2] = 14; + break; + } + $106 = HEAP32[$3>>2]|0; + $107 = (_strcmp($106,20015)|0); + $108 = ($107|0)!=(0); + if (!($108)) { + HEAP32[$1>>2] = 6; + break; + } + $109 = HEAP32[$3>>2]|0; + $110 = (_strcmp($109,20038)|0); + $111 = ($110|0)!=(0); + if (!($111)) { + HEAP32[$1>>2] = 2; + break; + } + $112 = HEAP32[$3>>2]|0; + $113 = (_strcmp($112,20051)|0); + $114 = ($113|0)!=(0); + if (!($114)) { + HEAP32[$1>>2] = 3; + break; + } + $115 = HEAP32[$3>>2]|0; + $116 = (_strcmp($115,20067)|0); + $117 = ($116|0)!=(0); + if (!($117)) { + HEAP32[$1>>2] = 5; + break; + } + $118 = HEAP32[$3>>2]|0; + $119 = (_strcmp($118,20078)|0); + $120 = ($119|0)!=(0); + if (!($120)) { + HEAP32[$1>>2] = 15; + break; + } + $121 = HEAP32[$3>>2]|0; + $122 = (_strcmp($121,20097)|0); + $123 = ($122|0)!=(0); + if (!($123)) { + HEAP32[$1>>2] = 16; + break; + } + $124 = HEAP32[$3>>2]|0; + $125 = (_strcmp($124,20119)|0); + $126 = ($125|0)!=(0); + if (!($126)) { + HEAP32[$1>>2] = 17; + break; + } + $127 = HEAP32[$3>>2]|0; + $128 = (_strcmp($127,20138)|0); + $129 = ($128|0)!=(0); + if (!($129)) { + HEAP32[$1>>2] = 7; + break; + } + $130 = HEAP32[$3>>2]|0; + $131 = (_strcmp($130,20167)|0); + $132 = ($131|0)!=(0); + if (!($132)) { + HEAP32[$1>>2] = 6; + break; + } + $133 = HEAP32[$3>>2]|0; + $134 = (_strcmp($133,20184)|0); + $135 = ($134|0)!=(0); + if (!($135)) { + HEAP32[$1>>2] = 8; + break; + } + $136 = HEAP32[$3>>2]|0; + $137 = (_strcmp($136,20199)|0); + $138 = ($137|0)!=(0); + if (!($138)) { + HEAP32[$1>>2] = 9; + break; + } + $139 = HEAP32[$3>>2]|0; + $140 = (_strcmp($139,20214)|0); + $141 = ($140|0)!=(0); + if (!($141)) { + HEAP32[$1>>2] = 3; + break; + } + $142 = HEAP32[$3>>2]|0; + $143 = (_strcmp($142,20235)|0); + $144 = ($143|0)!=(0); + if (!($144)) { + HEAP32[$1>>2] = 10; + break; + } + $145 = HEAP32[$3>>2]|0; + $146 = (_strcmp($145,20255)|0); + $147 = ($146|0)!=(0); + if (!($147)) { + HEAP32[$1>>2] = 11; + break; + } + $148 = HEAP32[$3>>2]|0; + $149 = (_strcmp($148,20275)|0); + $150 = ($149|0)!=(0); + if (!($150)) { + HEAP32[$1>>2] = 12; + break; + } + $151 = HEAP32[$3>>2]|0; + $152 = (_strcmp($151,20301)|0); + $153 = ($152|0)!=(0); + if (!($153)) { + HEAP32[$1>>2] = 2; + break; + } + $154 = HEAP32[$3>>2]|0; + $155 = (_strcmp($154,20320)|0); + $156 = ($155|0)!=(0); + if (!($156)) { + HEAP32[$1>>2] = 1; + break; + } + $157 = HEAP32[$3>>2]|0; + $158 = (_strcmp($157,20332)|0); + $159 = ($158|0)!=(0); + if (!($159)) { + HEAP32[$1>>2] = 3; + break; + } + $160 = HEAP32[$3>>2]|0; + $161 = (_strcmp($160,20344)|0); + $162 = ($161|0)!=(0); + if (!($162)) { + HEAP32[$1>>2] = 1; + break; + } + $163 = HEAP32[$3>>2]|0; + $164 = (_strcmp($163,20356)|0); + $165 = ($164|0)!=(0); + if (!($165)) { + HEAP32[$1>>2] = 1; + break; + } + $166 = HEAP32[$3>>2]|0; + $167 = (_strcmp($166,20368)|0); + $168 = ($167|0)!=(0); + if (!($168)) { + HEAP32[$1>>2] = 18; + break; + } + $169 = HEAP32[$3>>2]|0; + $170 = (_strcmp($169,20380)|0); + $171 = ($170|0)!=(0); + if (!($171)) { + HEAP32[$1>>2] = 13; + break; + } + $172 = HEAP32[$3>>2]|0; + $173 = (_strcmp($172,20392)|0); + $174 = ($173|0)!=(0); + if (!($174)) { + HEAP32[$1>>2] = 4; + break; + } + $175 = HEAP32[$3>>2]|0; + $176 = (_strcmp($175,20404)|0); + $177 = ($176|0)!=(0); + if (!($177)) { + HEAP32[$1>>2] = 2; + break; + } + $178 = HEAP32[$3>>2]|0; + $179 = (_strcmp($178,20416)|0); + $180 = ($179|0)!=(0); + if (!($180)) { + HEAP32[$1>>2] = 14; + break; + } + $181 = HEAP32[$3>>2]|0; + $182 = (_strcmp($181,20429)|0); + $183 = ($182|0)!=(0); + if (!($183)) { + HEAP32[$1>>2] = 15; + break; + } + $184 = HEAP32[$3>>2]|0; + $185 = (_strcmp($184,20442)|0); + $186 = ($185|0)!=(0); + if (!($186)) { + HEAP32[$1>>2] = 16; + break; + } + $187 = HEAP32[$3>>2]|0; + $188 = (_strcmp($187,20455)|0); + $189 = ($188|0)!=(0); + if (!($189)) { + HEAP32[$1>>2] = 17; + break; + } + $190 = HEAP32[$3>>2]|0; + $191 = (_strcmp($190,20468)|0); + $192 = ($191|0)!=(0); + if (!($192)) { + HEAP32[$1>>2] = 18; + break; + } + $193 = HEAP32[$3>>2]|0; + $194 = (_strcmp($193,20481)|0); + $195 = ($194|0)!=(0); + if (!($195)) { + HEAP32[$1>>2] = 19; + break; + } + $196 = HEAP32[$3>>2]|0; + $197 = (_strcmp($196,20494)|0); + $198 = ($197|0)!=(0); + if (!($198)) { + HEAP32[$1>>2] = 20; + break; + } + $199 = HEAP32[$3>>2]|0; + $200 = (_strcmp($199,20507)|0); + $201 = ($200|0)!=(0); + if (!($201)) { + HEAP32[$1>>2] = 21; + break; + } + $202 = HEAP32[$3>>2]|0; + $203 = (_strcmp($202,20520)|0); + $204 = ($203|0)!=(0); + if (!($204)) { + HEAP32[$1>>2] = 5; + break; + } + $205 = HEAP32[$3>>2]|0; + $206 = (_strcmp($205,20539)|0); + $207 = ($206|0)!=(0); + if (!($207)) { + HEAP32[$1>>2] = 6; + break; + } + $208 = HEAP32[$3>>2]|0; + $209 = (_strcmp($208,20558)|0); + $210 = ($209|0)!=(0); + if (!($210)) { + HEAP32[$1>>2] = 7; + break; + } + $211 = HEAP32[$3>>2]|0; + $212 = (_strcmp($211,20577)|0); + $213 = ($212|0)!=(0); + if (!($213)) { + HEAP32[$1>>2] = 19; + break; + } + $214 = HEAP32[$3>>2]|0; + $215 = (_strcmp($214,20590)|0); + $216 = ($215|0)!=(0); + if (!($216)) { + HEAP32[$1>>2] = 20; + break; + } + $217 = HEAP32[$3>>2]|0; + $218 = (_strcmp($217,20608)|0); + $219 = ($218|0)!=(0); + if (!($219)) { + HEAP32[$1>>2] = 21; + break; + } + $220 = HEAP32[$3>>2]|0; + $221 = (_strcmp($220,20626)|0); + $222 = ($221|0)!=(0); + if (!($222)) { + HEAP32[$1>>2] = 22; + break; + } + $223 = HEAP32[$3>>2]|0; + $224 = (_strcmp($223,20644)|0); + $225 = ($224|0)!=(0); + if (!($225)) { + HEAP32[$1>>2] = 23; + break; + } + $226 = HEAP32[$3>>2]|0; + $227 = (_strcmp($226,20662)|0); + $228 = ($227|0)!=(0); + if (!($228)) { + HEAP32[$1>>2] = 4; + break; + } + $229 = HEAP32[$3>>2]|0; + $230 = (_strcmp($229,20682)|0); + $231 = ($230|0)!=(0); + if (!($231)) { + HEAP32[$1>>2] = 3; + break; + } + $232 = HEAP32[$3>>2]|0; + $233 = (_strcmp($232,19623)|0); + $234 = ($233|0)!=(0); + if (!($234)) { + HEAP32[$1>>2] = 7; + break; + } + $235 = HEAP32[$3>>2]|0; + $236 = (_strcmp($235,20700)|0); + $237 = ($236|0)!=(0); + if (!($237)) { + HEAP32[$1>>2] = 1; + break; + } + $238 = HEAP32[$3>>2]|0; + $239 = (_strcmp($238,20715)|0); + $240 = ($239|0)!=(0); + if (!($240)) { + HEAP32[$1>>2] = 8; + break; + } + $241 = HEAP32[$3>>2]|0; + $242 = (_strcmp($241,20736)|0); + $243 = ($242|0)!=(0); + if (!($243)) { + HEAP32[$1>>2] = 9; + break; + } + $244 = HEAP32[$3>>2]|0; + $245 = (_strcmp($244,20751)|0); + $246 = ($245|0)!=(0); + if (!($246)) { + HEAP32[$1>>2] = 10; + break; + } + $247 = HEAP32[$3>>2]|0; + $248 = (_strcmp($247,20769)|0); + $249 = ($248|0)!=(0); + if (!($249)) { + HEAP32[$1>>2] = 2; + break; + } + $250 = HEAP32[$3>>2]|0; + $251 = (_strcmp($250,20785)|0); + $252 = ($251|0)!=(0); + if (!($252)) { + HEAP32[$1>>2] = 11; + break; + } + $253 = HEAP32[$3>>2]|0; + $254 = (_strcmp($253,20804)|0); + $255 = ($254|0)!=(0); + if (!($255)) { + HEAP32[$1>>2] = 22; + break; + } + $256 = HEAP32[$3>>2]|0; + $257 = (_strcmp($256,20818)|0); + $258 = ($257|0)!=(0); + if (!($258)) { + HEAP32[$1>>2] = 23; + break; + } + $259 = HEAP32[$3>>2]|0; + $260 = (_strcmp($259,20833)|0); + $261 = ($260|0)!=(0); + if (!($261)) { + HEAP32[$1>>2] = 8; + break; + } + $262 = HEAP32[$3>>2]|0; + $263 = (_strcmp($262,19554)|0); + $264 = ($263|0)!=(0); + if (!($264)) { + HEAP32[$1>>2] = 1; + break; + } + $265 = HEAP32[$3>>2]|0; + $266 = (_strcmp($265,20844)|0); + $267 = ($266|0)!=(0); + if (!($267)) { + HEAP32[$1>>2] = 3; + break; + } + $268 = HEAP32[$3>>2]|0; + $269 = (_strcmp($268,19653)|0); + $270 = ($269|0)!=(0); + if (!($270)) { + HEAP32[$1>>2] = 24; + break; + } + $271 = HEAP32[$3>>2]|0; + $272 = (_strcmp($271,19683)|0); + $273 = ($272|0)!=(0); + if (!($273)) { + HEAP32[$1>>2] = 25; + break; + } + $274 = HEAP32[$3>>2]|0; + $275 = (_strcmp($274,20860)|0); + $276 = ($275|0)!=(0); + if (!($276)) { + HEAP32[$1>>2] = 12; + break; + } + $277 = HEAP32[$3>>2]|0; + $278 = (_strcmp($277,20887)|0); + $279 = ($278|0)!=(0); + if (!($279)) { + HEAP32[$1>>2] = 4; + break; + } + $280 = HEAP32[$3>>2]|0; + $281 = (_strcmp($280,20901)|0); + $282 = ($281|0)!=(0); + if (!($282)) { + HEAP32[$1>>2] = 13; + break; + } + $283 = HEAP32[$3>>2]|0; + $284 = (_strcmp($283,19589)|0); + $285 = ($284|0)!=(0); + if (!($285)) { + HEAP32[$1>>2] = 5; + break; + } + $286 = HEAP32[$3>>2]|0; + $287 = (_strcmp($286,20921)|0); + $288 = ($287|0)!=(0); + if (!($288)) { + HEAP32[$1>>2] = 6; + break; + } + $289 = HEAP32[$3>>2]|0; + $290 = (_strcmp($289,20939)|0); + $291 = ($290|0)!=(0); + if (!($291)) { + HEAP32[$1>>2] = 9; + break; + } + $292 = HEAP32[$3>>2]|0; + $293 = (_strcmp($292,20951)|0); + $294 = ($293|0)!=(0); + if (!($294)) { + HEAP32[$1>>2] = 24; + break; + } + $295 = HEAP32[$3>>2]|0; + $296 = (_strcmp($295,20972)|0); + $297 = ($296|0)!=(0); + if (!($297)) { + HEAP32[$1>>2] = 26; + break; + } + $298 = HEAP32[$3>>2]|0; + $299 = (_strcmp($298,20990)|0); + $300 = ($299|0)!=(0); + if (!($300)) { + HEAP32[$1>>2] = 27; + break; + } + $301 = HEAP32[$3>>2]|0; + $302 = (_strcmp($301,21008)|0); + $303 = ($302|0)!=(0); + if (!($303)) { + HEAP32[$1>>2] = 28; + break; + } + $304 = HEAP32[$3>>2]|0; + $305 = (_strcmp($304,21029)|0); + $306 = ($305|0)!=(0); + if (!($306)) { + HEAP32[$1>>2] = 14; + break; + } + $307 = HEAP32[$3>>2]|0; + $308 = (_strcmp($307,21055)|0); + $309 = ($308|0)!=(0); + if (!($309)) { + HEAP32[$1>>2] = 3; + break; + } + $310 = HEAP32[$3>>2]|0; + $311 = (_strcmp($310,21078)|0); + $312 = ($311|0)!=(0); + if (!($312)) { + HEAP32[$1>>2] = 15; + break; + } + $313 = HEAP32[$3>>2]|0; + $314 = (_strcmp($313,21116)|0); + $315 = ($314|0)!=(0); + if (!($315)) { + HEAP32[$1>>2] = 10; + break; + } + $316 = HEAP32[$3>>2]|0; + $317 = (_strcmp($316,21132)|0); + $318 = ($317|0)!=(0); + if (!($318)) { + HEAP32[$1>>2] = 7; + break; + } + $319 = HEAP32[$3>>2]|0; + $320 = (_strcmp($319,21147)|0); + $321 = ($320|0)!=(0); + if (!($321)) { + HEAP32[$1>>2] = 25; + break; + } + $322 = HEAP32[$3>>2]|0; + $323 = (_strcmp($322,21170)|0); + $324 = ($323|0)!=(0); + if (!($324)) { + HEAP32[$1>>2] = 16; + break; + } + $325 = HEAP32[$3>>2]|0; + $326 = (_strcmp($325,21183)|0); + $327 = ($326|0)!=(0); + if (!($327)) { + HEAP32[$1>>2] = 29; + break; + } + $328 = HEAP32[$3>>2]|0; + $329 = (_strcmp($328,21197)|0); + $330 = ($329|0)!=(0); + if (!($330)) { + HEAP32[$1>>2] = 30; + break; + } + $331 = HEAP32[$3>>2]|0; + $332 = (_strcmp($331,21211)|0); + $333 = ($332|0)!=(0); + if (!($333)) { + HEAP32[$1>>2] = 1; + break; + } + $334 = HEAP32[$3>>2]|0; + $335 = (_strcmp($334,21231)|0); + $336 = ($335|0)!=(0); + if (!($336)) { + HEAP32[$1>>2] = 8; + break; + } + $337 = HEAP32[$3>>2]|0; + $338 = (_strcmp($337,21251)|0); + $339 = ($338|0)!=(0); + if (!($339)) { + HEAP32[$1>>2] = 17; + break; + } + $340 = HEAP32[$3>>2]|0; + $341 = (_strcmp($340,21267)|0); + $342 = ($341|0)!=(0); + if (!($342)) { + HEAP32[$1>>2] = 18; + break; + } + $343 = HEAP32[$3>>2]|0; + $344 = (_strcmp($343,21285)|0); + $345 = ($344|0)!=(0); + if (!($345)) { + HEAP32[$1>>2] = 26; + break; + } + $346 = HEAP32[$3>>2]|0; + $347 = (_strcmp($346,21301)|0); + $348 = ($347|0)!=(0); + if (!($348)) { + HEAP32[$1>>2] = 19; + break; + } + $349 = HEAP32[$3>>2]|0; + $350 = (_strcmp($349,21316)|0); + $351 = ($350|0)!=(0); + if (!($351)) { + HEAP32[$1>>2] = 9; + break; + } + $352 = HEAP32[$3>>2]|0; + $353 = (_strcmp($352,21338)|0); + $354 = ($353|0)!=(0); + if (!($354)) { + HEAP32[$1>>2] = 31; + break; + } + $355 = HEAP32[$3>>2]|0; + $356 = (_strcmp($355,21356)|0); + $357 = ($356|0)!=(0); + if (!($357)) { + HEAP32[$1>>2] = 32; + break; + } + $358 = HEAP32[$3>>2]|0; + $359 = (_strcmp($358,21377)|0); + $360 = ($359|0)!=(0); + if (!($360)) { + HEAP32[$1>>2] = 10; + break; + } + $361 = HEAP32[$3>>2]|0; + $362 = (_strcmp($361,21395)|0); + $363 = ($362|0)!=(0); + if (!($363)) { + HEAP32[$1>>2] = 11; + break; + } + $364 = HEAP32[$3>>2]|0; + $365 = (_strcmp($364,21408)|0); + $366 = ($365|0)!=(0); + if (!($366)) { + HEAP32[$1>>2] = 2; + break; + } + $367 = HEAP32[$3>>2]|0; + $368 = (_strcmp($367,21423)|0); + $369 = ($368|0)!=(0); + if (!($369)) { + HEAP32[$1>>2] = 12; + break; + } + $370 = HEAP32[$3>>2]|0; + $371 = (_strcmp($370,21437)|0); + $372 = ($371|0)!=(0); + if (!($372)) { + HEAP32[$1>>2] = 1; + break; + } + $373 = HEAP32[$3>>2]|0; + $374 = (_strcmp($373,21447)|0); + $375 = ($374|0)!=(0); + if (!($375)) { + HEAP32[$1>>2] = 1; + break; + } + $376 = HEAP32[$3>>2]|0; + $377 = (_strcmp($376,21457)|0); + $378 = ($377|0)!=(0); + if (!($378)) { + HEAP32[$1>>2] = 2; + break; + } + $379 = HEAP32[$3>>2]|0; + $380 = (_strcmp($379,21479)|0); + $381 = ($380|0)!=(0); + if (!($381)) { + HEAP32[$1>>2] = 13; + break; + } + $382 = HEAP32[$3>>2]|0; + $383 = (_strcmp($382,21505)|0); + $384 = ($383|0)!=(0); + if (!($384)) { + HEAP32[$1>>2] = 14; + break; + } + $385 = HEAP32[$3>>2]|0; + $386 = (_strcmp($385,21532)|0); + $387 = ($386|0)!=(0); + if (!($387)) { + HEAP32[$1>>2] = 27; + break; + } + $388 = HEAP32[$3>>2]|0; + $389 = (_strcmp($388,21545)|0); + $390 = ($389|0)!=(0); + if (!($390)) { + HEAP32[$1>>2] = 20; + break; + } + $391 = HEAP32[$3>>2]|0; + $392 = (_strcmp($391,21560)|0); + $393 = ($392|0)!=(0); + if (!($393)) { + HEAP32[$1>>2] = 4; + break; + } + $394 = HEAP32[$3>>2]|0; + $395 = (_strcmp($394,21575)|0); + $396 = ($395|0)!=(0); + if (!($396)) { + HEAP32[$1>>2] = 3; + break; + } + $397 = HEAP32[$3>>2]|0; + $398 = (_strcmp($397,21599)|0); + $399 = ($398|0)!=(0); + if (!($399)) { + HEAP32[$1>>2] = 2; + break; + } + $400 = HEAP32[$3>>2]|0; + $401 = (_strcmp($400,21610)|0); + $402 = ($401|0)!=(0); + if (!($402)) { + HEAP32[$1>>2] = 33; + break; + } + $403 = HEAP32[$3>>2]|0; + $404 = (_strcmp($403,21632)|0); + $405 = ($404|0)!=(0); + if (!($405)) { + HEAP32[$1>>2] = 21; + break; + } + $406 = HEAP32[$3>>2]|0; + $407 = (_strcmp($406,21654)|0); + $408 = ($407|0)!=(0); + if (!($408)) { + HEAP32[$1>>2] = 5; + break; + } + $409 = HEAP32[$3>>2]|0; + $410 = (_strcmp($409,21678)|0); + $411 = ($410|0)!=(0); + if (!($411)) { + HEAP32[$1>>2] = 4; + break; + } + $412 = HEAP32[$3>>2]|0; + $413 = (_strcmp($412,21687)|0); + $414 = ($413|0)!=(0); + if (!($414)) { + HEAP32[$1>>2] = 5; + break; + } + $415 = HEAP32[$3>>2]|0; + $416 = (_strcmp($415,21695)|0); + $417 = ($416|0)!=(0); + if (!($417)) { + HEAP32[$1>>2] = 1; + break; + } + $418 = HEAP32[$3>>2]|0; + $419 = (_strcmp($418,21708)|0); + $420 = ($419|0)!=(0); + if (!($420)) { + HEAP32[$1>>2] = 2; + break; + } + $421 = HEAP32[$3>>2]|0; + $422 = (_strcmp($421,21722)|0); + $423 = ($422|0)!=(0); + if (!($423)) { + HEAP32[$1>>2] = 15; + break; + } + $424 = HEAP32[$3>>2]|0; + $425 = (_strcmp($424,21734)|0); + $426 = ($425|0)!=(0); + if (!($426)) { + HEAP32[$1>>2] = 16; + break; + } + $427 = HEAP32[$3>>2]|0; + $428 = (_strcmp($427,21743)|0); + $429 = ($428|0)!=(0); + if (!($429)) { + HEAP32[$1>>2] = 17; + break; + } + $430 = HEAP32[$3>>2]|0; + $431 = (_strcmp($430,21753)|0); + $432 = ($431|0)!=(0); + if (!($432)) { + HEAP32[$1>>2] = 18; + break; + } + $433 = HEAP32[$3>>2]|0; + $434 = (_strcmp($433,21765)|0); + $435 = ($434|0)!=(0); + if (!($435)) { + HEAP32[$1>>2] = 19; + break; + } + $436 = HEAP32[$3>>2]|0; + $437 = (_strcmp($436,21776)|0); + $438 = ($437|0)!=(0); + if (!($438)) { + HEAP32[$1>>2] = 20; + break; + } + $439 = HEAP32[$3>>2]|0; + $440 = (_strcmp($439,21784)|0); + $441 = ($440|0)!=(0); + if (!($441)) { + HEAP32[$1>>2] = 3; + break; + } + $442 = HEAP32[$3>>2]|0; + $443 = (_strcmp($442,21796)|0); + $444 = ($443|0)!=(0); + if (!($444)) { + HEAP32[$1>>2] = 21; + break; + } + $445 = HEAP32[$3>>2]|0; + $446 = (_strcmp($445,21811)|0); + $447 = ($446|0)!=(0); + if (!($447)) { + HEAP32[$1>>2] = 22; + break; + } + $448 = HEAP32[$3>>2]|0; + $449 = (_strcmp($448,21823)|0); + $450 = ($449|0)!=(0); + if (!($450)) { + HEAP32[$1>>2] = 23; + break; + } + $451 = HEAP32[$3>>2]|0; + $452 = (_strcmp($451,21837)|0); + $453 = ($452|0)!=(0); + if (!($453)) { + HEAP32[$1>>2] = 11; + break; + } + $454 = HEAP32[$3>>2]|0; + $455 = (_strcmp($454,21862)|0); + $456 = ($455|0)!=(0); + if (!($456)) { + HEAP32[$1>>2] = 24; + break; + } + $457 = HEAP32[$3>>2]|0; + $458 = (_strcmp($457,21879)|0); + $459 = ($458|0)!=(0); + if (!($459)) { + HEAP32[$1>>2] = 25; + break; + } + $460 = HEAP32[$3>>2]|0; + $461 = (_strcmp($460,21895)|0); + $462 = ($461|0)!=(0); + if (!($462)) { + HEAP32[$1>>2] = 26; + break; + } + $463 = HEAP32[$3>>2]|0; + $464 = (_strcmp($463,21911)|0); + $465 = ($464|0)!=(0); + if (!($465)) { + HEAP32[$1>>2] = 12; + break; + } + $466 = HEAP32[$3>>2]|0; + $467 = (_strcmp($466,21923)|0); + $468 = ($467|0)!=(0); + if (!($468)) { + HEAP32[$1>>2] = 34; + break; + } + $469 = HEAP32[$3>>2]|0; + $470 = (_strcmp($469,21935)|0); + $471 = ($470|0)!=(0); + if (!($471)) { + HEAP32[$1>>2] = 35; + break; + } + $472 = HEAP32[$3>>2]|0; + $473 = (_strcmp($472,21959)|0); + $474 = ($473|0)!=(0); + if (!($474)) { + HEAP32[$1>>2] = 1; + break; + } + $475 = HEAP32[$3>>2]|0; + $476 = (_strcmp($475,21972)|0); + $477 = ($476|0)!=(0); + if (!($477)) { + HEAP32[$1>>2] = 2; + break; + } + $478 = HEAP32[$3>>2]|0; + $479 = (_strcmp($478,21986)|0); + $480 = ($479|0)!=(0); + if (!($480)) { + HEAP32[$1>>2] = 36; + break; + } + $481 = HEAP32[$3>>2]|0; + $482 = (_strcmp($481,22008)|0); + $483 = ($482|0)!=(0); + if (!($483)) { + HEAP32[$1>>2] = 37; + break; + } + $484 = HEAP32[$3>>2]|0; + $485 = (_strcmp($484,22015)|0); + $486 = ($485|0)!=(0); + if (!($486)) { + HEAP32[$1>>2] = 3; + break; + } + $487 = HEAP32[$3>>2]|0; + $488 = (_strcmp($487,22031)|0); + $489 = ($488|0)!=(0); + if (!($489)) { + HEAP32[$1>>2] = 2; + break; + } + $490 = HEAP32[$3>>2]|0; + $491 = (_strcmp($490,22048)|0); + $492 = ($491|0)!=(0); + if (!($492)) { + HEAP32[$1>>2] = 1; + break; + } + $493 = HEAP32[$3>>2]|0; + $494 = (_strcmp($493,22065)|0); + $495 = ($494|0)!=(0); + if (!($495)) { + HEAP32[$1>>2] = 28; + break; + } + $496 = HEAP32[$3>>2]|0; + $497 = (_strcmp($496,22081)|0); + $498 = ($497|0)!=(0); + if (!($498)) { + HEAP32[$1>>2] = 1; + break; + } + $499 = HEAP32[$3>>2]|0; + $500 = (_strcmp($499,22097)|0); + $501 = ($500|0)!=(0); + if (!($501)) { + HEAP32[$1>>2] = 4; + break; + } + $502 = HEAP32[$3>>2]|0; + $503 = (_strcmp($502,22114)|0); + $504 = ($503|0)!=(0); + if (!($504)) { + HEAP32[$1>>2] = 29; + break; + } + $505 = HEAP32[$3>>2]|0; + $506 = (_strcmp($505,22128)|0); + $507 = ($506|0)!=(0); + if (!($507)) { + HEAP32[$1>>2] = 30; + break; + } + $508 = HEAP32[$3>>2]|0; + $509 = (_strcmp($508,22140)|0); + $510 = ($509|0)!=(0); + if (!($510)) { + HEAP32[$1>>2] = 22; + break; + } + $511 = HEAP32[$3>>2]|0; + $512 = (_strcmp($511,22151)|0); + $513 = ($512|0)!=(0); + if (!($513)) { + HEAP32[$1>>2] = 2; + break; + } + $514 = HEAP32[$3>>2]|0; + $515 = (_strcmp($514,22164)|0); + $516 = ($515|0)!=(0); + if (!($516)) { + HEAP32[$1>>2] = 23; + break; + } + $517 = HEAP32[$3>>2]|0; + $518 = (_strcmp($517,22174)|0); + $519 = ($518|0)!=(0); + if (!($519)) { + HEAP32[$1>>2] = 2; + break; + } + $520 = HEAP32[$3>>2]|0; + $521 = (_strcmp($520,22191)|0); + $522 = ($521|0)!=(0); + if (!($522)) { + HEAP32[$1>>2] = 24; + break; + } + $523 = HEAP32[$3>>2]|0; + $524 = (_strcmp($523,22203)|0); + $525 = ($524|0)!=(0); + if (!($525)) { + HEAP32[$1>>2] = 25; + break; + } + $526 = HEAP32[$3>>2]|0; + $527 = (_strcmp($526,22225)|0); + $528 = ($527|0)!=(0); + if (!($528)) { + HEAP32[$1>>2] = 26; + break; + } + $529 = HEAP32[$3>>2]|0; + $530 = (_strcmp($529,22245)|0); + $531 = ($530|0)!=(0); + if (!($531)) { + HEAP32[$1>>2] = 3; + break; + } + $532 = HEAP32[$3>>2]|0; + $533 = (_strcmp($532,22258)|0); + $534 = ($533|0)!=(0); + if (!($534)) { + HEAP32[$1>>2] = 27; + break; + } + $535 = HEAP32[$3>>2]|0; + $536 = (_strcmp($535,22280)|0); + $537 = ($536|0)!=(0); + if (!($537)) { + HEAP32[$1>>2] = 28; + break; + } + $538 = HEAP32[$3>>2]|0; + $539 = (_strcmp($538,22300)|0); + $540 = ($539|0)!=(0); + if (!($540)) { + HEAP32[$1>>2] = 2; + break; + } + $541 = HEAP32[$3>>2]|0; + $542 = (_strcmp($541,22317)|0); + $543 = ($542|0)!=(0); + if (!($543)) { + HEAP32[$1>>2] = 2; + break; + } + $544 = HEAP32[$3>>2]|0; + $545 = (_strcmp($544,22334)|0); + $546 = ($545|0)!=(0); + if (!($546)) { + HEAP32[$1>>2] = 3; + break; + } + $547 = HEAP32[$3>>2]|0; + $548 = (_strcmp($547,22354)|0); + $549 = ($548|0)!=(0); + if ($549) { + $550 = HEAP32[$2>>2]|0; + $551 = HEAP32[$3>>2]|0; + $552 = _emscripten_asm_const_iii(0, ($550|0), ($551|0))|0; + HEAP32[$1>>2] = 0; + break; + } else { + HEAP32[$1>>2] = 38; + break; + } + } else { + HEAP32[$1>>2] = 6; + } + } while(0); + $553 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($553|0); +} +function _emscripten_get_global_libc() { + var label = 0, sp = 0; + sp = STACKTOP; + return (338524|0); +} +function ___stdio_close($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $vararg_buffer = sp; + $1 = ((($0)) + 60|0); + $2 = HEAP32[$1>>2]|0; + $3 = (_dummy_738($2)|0); + HEAP32[$vararg_buffer>>2] = $3; + $4 = (___syscall6(6,($vararg_buffer|0))|0); + $5 = (___syscall_ret($4)|0); + STACKTOP = sp;return ($5|0); +} +function ___stdio_write($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$0 = 0, $$04756 = 0, $$04855 = 0, $$04954 = 0, $$051 = 0, $$1 = 0, $$150 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0; + var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0; + var $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer3 = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr6 = 0; + var $vararg_ptr7 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0); + $vararg_buffer3 = sp + 16|0; + $vararg_buffer = sp; + $3 = sp + 32|0; + $4 = ((($0)) + 28|0); + $5 = HEAP32[$4>>2]|0; + HEAP32[$3>>2] = $5; + $6 = ((($3)) + 4|0); + $7 = ((($0)) + 20|0); + $8 = HEAP32[$7>>2]|0; + $9 = (($8) - ($5))|0; + HEAP32[$6>>2] = $9; + $10 = ((($3)) + 8|0); + HEAP32[$10>>2] = $1; + $11 = ((($3)) + 12|0); + HEAP32[$11>>2] = $2; + $12 = (($9) + ($2))|0; + $13 = ((($0)) + 60|0); + $14 = HEAP32[$13>>2]|0; + $15 = $3; + HEAP32[$vararg_buffer>>2] = $14; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $15; + $vararg_ptr2 = ((($vararg_buffer)) + 8|0); + HEAP32[$vararg_ptr2>>2] = 2; + $16 = (___syscall146(146,($vararg_buffer|0))|0); + $17 = (___syscall_ret($16)|0); + $18 = ($12|0)==($17|0); + L1: do { + if ($18) { + label = 3; + } else { + $$04756 = 2;$$04855 = $12;$$04954 = $3;$26 = $17; + while(1) { + $25 = ($26|0)<(0); + if ($25) { + break; + } + $34 = (($$04855) - ($26))|0; + $35 = ((($$04954)) + 4|0); + $36 = HEAP32[$35>>2]|0; + $37 = ($26>>>0)>($36>>>0); + $38 = ((($$04954)) + 8|0); + $$150 = $37 ? $38 : $$04954; + $39 = $37 << 31 >> 31; + $$1 = (($39) + ($$04756))|0; + $40 = $37 ? $36 : 0; + $$0 = (($26) - ($40))|0; + $41 = HEAP32[$$150>>2]|0; + $42 = (($41) + ($$0)|0); + HEAP32[$$150>>2] = $42; + $43 = ((($$150)) + 4|0); + $44 = HEAP32[$43>>2]|0; + $45 = (($44) - ($$0))|0; + HEAP32[$43>>2] = $45; + $46 = HEAP32[$13>>2]|0; + $47 = $$150; + HEAP32[$vararg_buffer3>>2] = $46; + $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); + HEAP32[$vararg_ptr6>>2] = $47; + $vararg_ptr7 = ((($vararg_buffer3)) + 8|0); + HEAP32[$vararg_ptr7>>2] = $$1; + $48 = (___syscall146(146,($vararg_buffer3|0))|0); + $49 = (___syscall_ret($48)|0); + $50 = ($34|0)==($49|0); + if ($50) { + label = 3; + break L1; + } else { + $$04756 = $$1;$$04855 = $34;$$04954 = $$150;$26 = $49; + } + } + $27 = ((($0)) + 16|0); + HEAP32[$27>>2] = 0; + HEAP32[$4>>2] = 0; + HEAP32[$7>>2] = 0; + $28 = HEAP32[$0>>2]|0; + $29 = $28 | 32; + HEAP32[$0>>2] = $29; + $30 = ($$04756|0)==(2); + if ($30) { + $$051 = 0; + } else { + $31 = ((($$04954)) + 4|0); + $32 = HEAP32[$31>>2]|0; + $33 = (($2) - ($32))|0; + $$051 = $33; + } + } + } while(0); + if ((label|0) == 3) { + $19 = ((($0)) + 44|0); + $20 = HEAP32[$19>>2]|0; + $21 = ((($0)) + 48|0); + $22 = HEAP32[$21>>2]|0; + $23 = (($20) + ($22)|0); + $24 = ((($0)) + 16|0); + HEAP32[$24>>2] = $23; + HEAP32[$4>>2] = $20; + HEAP32[$7>>2] = $20; + $$051 = $2; + } + STACKTOP = sp;return ($$051|0); +} +function ___stdio_seek($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$pre = 0, $10 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, $vararg_ptr4 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $vararg_buffer = sp; + $3 = sp + 20|0; + $4 = ((($0)) + 60|0); + $5 = HEAP32[$4>>2]|0; + $6 = $3; + HEAP32[$vararg_buffer>>2] = $5; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = 0; + $vararg_ptr2 = ((($vararg_buffer)) + 8|0); + HEAP32[$vararg_ptr2>>2] = $1; + $vararg_ptr3 = ((($vararg_buffer)) + 12|0); + HEAP32[$vararg_ptr3>>2] = $6; + $vararg_ptr4 = ((($vararg_buffer)) + 16|0); + HEAP32[$vararg_ptr4>>2] = $2; + $7 = (___syscall140(140,($vararg_buffer|0))|0); + $8 = (___syscall_ret($7)|0); + $9 = ($8|0)<(0); + if ($9) { + HEAP32[$3>>2] = -1; + $10 = -1; + } else { + $$pre = HEAP32[$3>>2]|0; + $10 = $$pre; + } + STACKTOP = sp;return ($10|0); +} +function ___syscall_ret($0) { + $0 = $0|0; + var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ($0>>>0)>(4294963200); + if ($1) { + $2 = (0 - ($0))|0; + $3 = (___errno_location()|0); + HEAP32[$3>>2] = $2; + $$0 = -1; + } else { + $$0 = $0; + } + return ($$0|0); +} +function ___errno_location() { + var $0 = 0, $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (___pthread_self_108()|0); + $1 = ((($0)) + 64|0); + return ($1|0); +} +function ___pthread_self_108() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (_pthread_self()|0); + return ($0|0); +} +function _pthread_self() { + var label = 0, sp = 0; + sp = STACKTOP; + return (5180|0); +} +function _dummy_738($0) { + $0 = $0|0; + var label = 0, sp = 0; + sp = STACKTOP; + return ($0|0); +} +function ___stdio_read($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $vararg_buffer = sp; + $3 = sp + 16|0; + HEAP32[$3>>2] = $1; + $4 = ((($3)) + 4|0); + $5 = ((($0)) + 48|0); + $6 = HEAP32[$5>>2]|0; + $7 = ($6|0)!=(0); + $8 = $7&1; + $9 = (($2) - ($8))|0; + HEAP32[$4>>2] = $9; + $10 = ((($3)) + 8|0); + $11 = ((($0)) + 44|0); + $12 = HEAP32[$11>>2]|0; + HEAP32[$10>>2] = $12; + $13 = ((($3)) + 12|0); + HEAP32[$13>>2] = $6; + $14 = ((($0)) + 60|0); + $15 = HEAP32[$14>>2]|0; + $16 = $3; + HEAP32[$vararg_buffer>>2] = $15; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $16; + $vararg_ptr2 = ((($vararg_buffer)) + 8|0); + HEAP32[$vararg_ptr2>>2] = 2; + $17 = (___syscall145(145,($vararg_buffer|0))|0); + $18 = (___syscall_ret($17)|0); + $19 = ($18|0)<(1); + if ($19) { + $20 = $18 & 48; + $21 = $20 ^ 16; + $22 = HEAP32[$0>>2]|0; + $23 = $22 | $21; + HEAP32[$0>>2] = $23; + $$0 = $18; + } else { + $24 = HEAP32[$4>>2]|0; + $25 = ($18>>>0)>($24>>>0); + if ($25) { + $26 = (($18) - ($24))|0; + $27 = HEAP32[$11>>2]|0; + $28 = ((($0)) + 4|0); + HEAP32[$28>>2] = $27; + $29 = (($27) + ($26)|0); + $30 = ((($0)) + 8|0); + HEAP32[$30>>2] = $29; + $31 = HEAP32[$5>>2]|0; + $32 = ($31|0)==(0); + if ($32) { + $$0 = $2; + } else { + $33 = ((($27)) + 1|0); + HEAP32[$28>>2] = $33; + $34 = HEAP8[$27>>0]|0; + $35 = (($2) + -1)|0; + $36 = (($1) + ($35)|0); + HEAP8[$36>>0] = $34; + $$0 = $2; + } + } else { + $$0 = $18; + } + } + STACKTOP = sp;return ($$0|0); +} +function ___stdout_write($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $vararg_buffer = sp; + $3 = sp + 16|0; + $4 = ((($0)) + 36|0); + HEAP32[$4>>2] = 2; + $5 = HEAP32[$0>>2]|0; + $6 = $5 & 64; + $7 = ($6|0)==(0); + if ($7) { + $8 = ((($0)) + 60|0); + $9 = HEAP32[$8>>2]|0; + $10 = $3; + HEAP32[$vararg_buffer>>2] = $9; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = 21523; + $vararg_ptr2 = ((($vararg_buffer)) + 8|0); + HEAP32[$vararg_ptr2>>2] = $10; + $11 = (___syscall54(54,($vararg_buffer|0))|0); + $12 = ($11|0)==(0); + if (!($12)) { + $13 = ((($0)) + 75|0); + HEAP8[$13>>0] = -1; + } + } + $14 = (___stdio_write($0,$1,$2)|0); + STACKTOP = sp;return ($14|0); +} +function ___shlim($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$sink = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($0)) + 104|0); + HEAP32[$2>>2] = $1; + $3 = ((($0)) + 8|0); + $4 = HEAP32[$3>>2]|0; + $5 = ((($0)) + 4|0); + $6 = HEAP32[$5>>2]|0; + $7 = $4; + $8 = $6; + $9 = (($7) - ($8))|0; + $10 = ((($0)) + 108|0); + HEAP32[$10>>2] = $9; + $11 = ($1|0)!=(0); + $12 = ($9|0)>($1|0); + $or$cond = $11 & $12; + $13 = (($6) + ($1)|0); + $$sink = $or$cond ? $13 : $4; + $14 = ((($0)) + 100|0); + HEAP32[$14>>2] = $$sink; + return; +} +function ___intscan($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$0154222 = 0, $$0157 = 0, $$0157$ = 0, $$0159 = 0, $$1155192 = 0, $$1158 = 0, $$1160 = 0, $$1160169 = 0, $$1165 = 0, $$1165167 = 0, $$1165168 = 0, $$166 = 0, $$2156210 = 0, $$2161$be = 0, $$2161$lcssa = 0, $$3162$be = 0, $$3162215 = 0, $$4163$be = 0, $$4163$lcssa = 0, $$5$be = 0; + var $$6$be = 0, $$6$lcssa = 0, $$7$be = 0, $$7198 = 0, $$8 = 0, $$9$be = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0; + var $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0; + var $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0; + var $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0; + var $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0; + var $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0; + var $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0; + var $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0; + var $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0; + var $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0; + var $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0; + var $294 = 0, $295 = 0, $296 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0; + var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0; + var $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, $or$cond12 = 0; + var $or$cond187 = 0, $or$cond5 = 0, $or$cond7 = 0, label = 0, sp = 0; + sp = STACKTOP; + $5 = ($1>>>0)>(36); + L1: do { + if ($5) { + $8 = (___errno_location()|0); + HEAP32[$8>>2] = 22; + $289 = 0;$290 = 0; + } else { + $6 = ((($0)) + 4|0); + $7 = ((($0)) + 100|0); + while(1) { + $9 = HEAP32[$6>>2]|0; + $10 = HEAP32[$7>>2]|0; + $11 = ($9>>>0)<($10>>>0); + if ($11) { + $12 = ((($9)) + 1|0); + HEAP32[$6>>2] = $12; + $13 = HEAP8[$9>>0]|0; + $14 = $13&255; + $16 = $14; + } else { + $15 = (___shgetc($0)|0); + $16 = $15; + } + $17 = (_isspace($16)|0); + $18 = ($17|0)==(0); + if ($18) { + break; + } + } + L11: do { + switch ($16|0) { + case 43: case 45: { + $19 = ($16|0)==(45); + $20 = $19 << 31 >> 31; + $21 = HEAP32[$6>>2]|0; + $22 = HEAP32[$7>>2]|0; + $23 = ($21>>>0)<($22>>>0); + if ($23) { + $24 = ((($21)) + 1|0); + HEAP32[$6>>2] = $24; + $25 = HEAP8[$21>>0]|0; + $26 = $25&255; + $$0157 = $20;$$0159 = $26; + break L11; + } else { + $27 = (___shgetc($0)|0); + $$0157 = $20;$$0159 = $27; + break L11; + } + break; + } + default: { + $$0157 = 0;$$0159 = $16; + } + } + } while(0); + $28 = ($1|0)==(0); + $29 = $1 | 16; + $30 = ($29|0)==(16); + $31 = ($$0159|0)==(48); + $or$cond5 = $30 & $31; + do { + if ($or$cond5) { + $32 = HEAP32[$6>>2]|0; + $33 = HEAP32[$7>>2]|0; + $34 = ($32>>>0)<($33>>>0); + if ($34) { + $35 = ((($32)) + 1|0); + HEAP32[$6>>2] = $35; + $36 = HEAP8[$32>>0]|0; + $37 = $36&255; + $40 = $37; + } else { + $38 = (___shgetc($0)|0); + $40 = $38; + } + $39 = $40 | 32; + $41 = ($39|0)==(120); + if (!($41)) { + if ($28) { + $$1160169 = $40;$$1165168 = 8; + label = 46; + break; + } else { + $$1160 = $40;$$1165 = $1; + label = 32; + break; + } + } + $42 = HEAP32[$6>>2]|0; + $43 = HEAP32[$7>>2]|0; + $44 = ($42>>>0)<($43>>>0); + if ($44) { + $45 = ((($42)) + 1|0); + HEAP32[$6>>2] = $45; + $46 = HEAP8[$42>>0]|0; + $47 = $46&255; + $50 = $47; + } else { + $48 = (___shgetc($0)|0); + $50 = $48; + } + $49 = ((22471) + ($50)|0); + $51 = HEAP8[$49>>0]|0; + $52 = ($51&255)>(15); + if ($52) { + $53 = HEAP32[$7>>2]|0; + $54 = ($53|0)!=(0|0); + if ($54) { + $55 = HEAP32[$6>>2]|0; + $56 = ((($55)) + -1|0); + HEAP32[$6>>2] = $56; + } + $57 = ($2|0)==(0); + if ($57) { + ___shlim($0,0); + $289 = 0;$290 = 0; + break L1; + } + if (!($54)) { + $289 = 0;$290 = 0; + break L1; + } + $58 = HEAP32[$6>>2]|0; + $59 = ((($58)) + -1|0); + HEAP32[$6>>2] = $59; + $289 = 0;$290 = 0; + break L1; + } else { + $$1160169 = $50;$$1165168 = 16; + label = 46; + } + } else { + $$166 = $28 ? 10 : $1; + $60 = ((22471) + ($$0159)|0); + $61 = HEAP8[$60>>0]|0; + $62 = $61&255; + $63 = ($62>>>0)<($$166>>>0); + if ($63) { + $$1160 = $$0159;$$1165 = $$166; + label = 32; + } else { + $64 = HEAP32[$7>>2]|0; + $65 = ($64|0)==(0|0); + if (!($65)) { + $66 = HEAP32[$6>>2]|0; + $67 = ((($66)) + -1|0); + HEAP32[$6>>2] = $67; + } + ___shlim($0,0); + $68 = (___errno_location()|0); + HEAP32[$68>>2] = 22; + $289 = 0;$290 = 0; + break L1; + } + } + } while(0); + L43: do { + if ((label|0) == 32) { + $69 = ($$1165|0)==(10); + if ($69) { + $70 = (($$1160) + -48)|0; + $71 = ($70>>>0)<(10); + if ($71) { + $$0154222 = 0;$74 = $70; + while(1) { + $72 = ($$0154222*10)|0; + $73 = (($72) + ($74))|0; + $75 = HEAP32[$6>>2]|0; + $76 = HEAP32[$7>>2]|0; + $77 = ($75>>>0)<($76>>>0); + if ($77) { + $78 = ((($75)) + 1|0); + HEAP32[$6>>2] = $78; + $79 = HEAP8[$75>>0]|0; + $80 = $79&255; + $$2161$be = $80; + } else { + $81 = (___shgetc($0)|0); + $$2161$be = $81; + } + $82 = (($$2161$be) + -48)|0; + $83 = ($82>>>0)<(10); + $84 = ($73>>>0)<(429496729); + $85 = $83 & $84; + if ($85) { + $$0154222 = $73;$74 = $82; + } else { + break; + } + } + $$2161$lcssa = $$2161$be;$291 = $73;$292 = 0; + } else { + $$2161$lcssa = $$1160;$291 = 0;$292 = 0; + } + $86 = (($$2161$lcssa) + -48)|0; + $87 = ($86>>>0)<(10); + if ($87) { + $$3162215 = $$2161$lcssa;$88 = $291;$89 = $292;$93 = $86; + while(1) { + $90 = (___muldi3(($88|0),($89|0),10,0)|0); + $91 = tempRet0; + $92 = ($93|0)<(0); + $94 = $92 << 31 >> 31; + $95 = $93 ^ -1; + $96 = $94 ^ -1; + $97 = ($91>>>0)>($96>>>0); + $98 = ($90>>>0)>($95>>>0); + $99 = ($91|0)==($96|0); + $100 = $99 & $98; + $101 = $97 | $100; + if ($101) { + $$1165167 = 10;$$8 = $$3162215;$293 = $88;$294 = $89; + label = 72; + break L43; + } + $102 = (_i64Add(($90|0),($91|0),($93|0),($94|0))|0); + $103 = tempRet0; + $104 = HEAP32[$6>>2]|0; + $105 = HEAP32[$7>>2]|0; + $106 = ($104>>>0)<($105>>>0); + if ($106) { + $107 = ((($104)) + 1|0); + HEAP32[$6>>2] = $107; + $108 = HEAP8[$104>>0]|0; + $109 = $108&255; + $$3162$be = $109; + } else { + $110 = (___shgetc($0)|0); + $$3162$be = $110; + } + $111 = (($$3162$be) + -48)|0; + $112 = ($111>>>0)<(10); + $113 = ($103>>>0)<(429496729); + $114 = ($102>>>0)<(2576980378); + $115 = ($103|0)==(429496729); + $116 = $115 & $114; + $117 = $113 | $116; + $or$cond7 = $112 & $117; + if ($or$cond7) { + $$3162215 = $$3162$be;$88 = $102;$89 = $103;$93 = $111; + } else { + break; + } + } + $118 = ($111>>>0)>(9); + if ($118) { + $$1158 = $$0157;$263 = $103;$265 = $102; + } else { + $$1165167 = 10;$$8 = $$3162$be;$293 = $102;$294 = $103; + label = 72; + } + } else { + $$1158 = $$0157;$263 = $292;$265 = $291; + } + } else { + $$1160169 = $$1160;$$1165168 = $$1165; + label = 46; + } + } + } while(0); + L63: do { + if ((label|0) == 46) { + $119 = (($$1165168) + -1)|0; + $120 = $119 & $$1165168; + $121 = ($120|0)==(0); + if ($121) { + $126 = ($$1165168*23)|0; + $127 = $126 >>> 5; + $128 = $127 & 7; + $129 = (22727 + ($128)|0); + $130 = HEAP8[$129>>0]|0; + $131 = $130 << 24 >> 24; + $132 = ((22471) + ($$1160169)|0); + $133 = HEAP8[$132>>0]|0; + $134 = $133&255; + $135 = ($134>>>0)<($$1165168>>>0); + if ($135) { + $$1155192 = 0;$138 = $134; + while(1) { + $136 = $$1155192 << $131; + $137 = $138 | $136; + $139 = HEAP32[$6>>2]|0; + $140 = HEAP32[$7>>2]|0; + $141 = ($139>>>0)<($140>>>0); + if ($141) { + $142 = ((($139)) + 1|0); + HEAP32[$6>>2] = $142; + $143 = HEAP8[$139>>0]|0; + $144 = $143&255; + $$4163$be = $144; + } else { + $145 = (___shgetc($0)|0); + $$4163$be = $145; + } + $146 = ((22471) + ($$4163$be)|0); + $147 = HEAP8[$146>>0]|0; + $148 = $147&255; + $149 = ($148>>>0)<($$1165168>>>0); + $150 = ($137>>>0)<(134217728); + $151 = $150 & $149; + if ($151) { + $$1155192 = $137;$138 = $148; + } else { + break; + } + } + $$4163$lcssa = $$4163$be;$155 = $147;$158 = 0;$160 = $137; + } else { + $$4163$lcssa = $$1160169;$155 = $133;$158 = 0;$160 = 0; + } + $152 = (_bitshift64Lshr(-1,-1,($131|0))|0); + $153 = tempRet0; + $154 = $155&255; + $156 = ($154>>>0)>=($$1165168>>>0); + $157 = ($158>>>0)>($153>>>0); + $159 = ($160>>>0)>($152>>>0); + $161 = ($158|0)==($153|0); + $162 = $161 & $159; + $163 = $157 | $162; + $or$cond187 = $156 | $163; + if ($or$cond187) { + $$1165167 = $$1165168;$$8 = $$4163$lcssa;$293 = $160;$294 = $158; + label = 72; + break; + } else { + $164 = $160;$165 = $158;$169 = $155; + } + while(1) { + $166 = (_bitshift64Shl(($164|0),($165|0),($131|0))|0); + $167 = tempRet0; + $168 = $169&255; + $170 = $168 | $166; + $171 = HEAP32[$6>>2]|0; + $172 = HEAP32[$7>>2]|0; + $173 = ($171>>>0)<($172>>>0); + if ($173) { + $174 = ((($171)) + 1|0); + HEAP32[$6>>2] = $174; + $175 = HEAP8[$171>>0]|0; + $176 = $175&255; + $$5$be = $176; + } else { + $177 = (___shgetc($0)|0); + $$5$be = $177; + } + $178 = ((22471) + ($$5$be)|0); + $179 = HEAP8[$178>>0]|0; + $180 = $179&255; + $181 = ($180>>>0)>=($$1165168>>>0); + $182 = ($167>>>0)>($153>>>0); + $183 = ($170>>>0)>($152>>>0); + $184 = ($167|0)==($153|0); + $185 = $184 & $183; + $186 = $182 | $185; + $or$cond = $181 | $186; + if ($or$cond) { + $$1165167 = $$1165168;$$8 = $$5$be;$293 = $170;$294 = $167; + label = 72; + break L63; + } else { + $164 = $170;$165 = $167;$169 = $179; + } + } + } + $122 = ((22471) + ($$1160169)|0); + $123 = HEAP8[$122>>0]|0; + $124 = $123&255; + $125 = ($124>>>0)<($$1165168>>>0); + if ($125) { + $$2156210 = 0;$189 = $124; + while(1) { + $187 = Math_imul($$2156210, $$1165168)|0; + $188 = (($189) + ($187))|0; + $190 = HEAP32[$6>>2]|0; + $191 = HEAP32[$7>>2]|0; + $192 = ($190>>>0)<($191>>>0); + if ($192) { + $193 = ((($190)) + 1|0); + HEAP32[$6>>2] = $193; + $194 = HEAP8[$190>>0]|0; + $195 = $194&255; + $$6$be = $195; + } else { + $196 = (___shgetc($0)|0); + $$6$be = $196; + } + $197 = ((22471) + ($$6$be)|0); + $198 = HEAP8[$197>>0]|0; + $199 = $198&255; + $200 = ($199>>>0)<($$1165168>>>0); + $201 = ($188>>>0)<(119304647); + $202 = $201 & $200; + if ($202) { + $$2156210 = $188;$189 = $199; + } else { + break; + } + } + $$6$lcssa = $$6$be;$204 = $198;$295 = $188;$296 = 0; + } else { + $$6$lcssa = $$1160169;$204 = $123;$295 = 0;$296 = 0; + } + $203 = $204&255; + $205 = ($203>>>0)<($$1165168>>>0); + if ($205) { + $206 = (___udivdi3(-1,-1,($$1165168|0),0)|0); + $207 = tempRet0; + $$7198 = $$6$lcssa;$209 = $296;$211 = $295;$218 = $204; + while(1) { + $208 = ($209>>>0)>($207>>>0); + $210 = ($211>>>0)>($206>>>0); + $212 = ($209|0)==($207|0); + $213 = $212 & $210; + $214 = $208 | $213; + if ($214) { + $$1165167 = $$1165168;$$8 = $$7198;$293 = $211;$294 = $209; + label = 72; + break L63; + } + $215 = (___muldi3(($211|0),($209|0),($$1165168|0),0)|0); + $216 = tempRet0; + $217 = $218&255; + $219 = $217 ^ -1; + $220 = ($216>>>0)>(4294967295); + $221 = ($215>>>0)>($219>>>0); + $222 = ($216|0)==(-1); + $223 = $222 & $221; + $224 = $220 | $223; + if ($224) { + $$1165167 = $$1165168;$$8 = $$7198;$293 = $211;$294 = $209; + label = 72; + break L63; + } + $225 = (_i64Add(($217|0),0,($215|0),($216|0))|0); + $226 = tempRet0; + $227 = HEAP32[$6>>2]|0; + $228 = HEAP32[$7>>2]|0; + $229 = ($227>>>0)<($228>>>0); + if ($229) { + $230 = ((($227)) + 1|0); + HEAP32[$6>>2] = $230; + $231 = HEAP8[$227>>0]|0; + $232 = $231&255; + $$7$be = $232; + } else { + $233 = (___shgetc($0)|0); + $$7$be = $233; + } + $234 = ((22471) + ($$7$be)|0); + $235 = HEAP8[$234>>0]|0; + $236 = $235&255; + $237 = ($236>>>0)<($$1165168>>>0); + if ($237) { + $$7198 = $$7$be;$209 = $226;$211 = $225;$218 = $235; + } else { + $$1165167 = $$1165168;$$8 = $$7$be;$293 = $225;$294 = $226; + label = 72; + break; + } + } + } else { + $$1165167 = $$1165168;$$8 = $$6$lcssa;$293 = $295;$294 = $296; + label = 72; + } + } + } while(0); + if ((label|0) == 72) { + $238 = ((22471) + ($$8)|0); + $239 = HEAP8[$238>>0]|0; + $240 = $239&255; + $241 = ($240>>>0)<($$1165167>>>0); + if ($241) { + while(1) { + $242 = HEAP32[$6>>2]|0; + $243 = HEAP32[$7>>2]|0; + $244 = ($242>>>0)<($243>>>0); + if ($244) { + $245 = ((($242)) + 1|0); + HEAP32[$6>>2] = $245; + $246 = HEAP8[$242>>0]|0; + $247 = $246&255; + $$9$be = $247; + } else { + $248 = (___shgetc($0)|0); + $$9$be = $248; + } + $249 = ((22471) + ($$9$be)|0); + $250 = HEAP8[$249>>0]|0; + $251 = $250&255; + $252 = ($251>>>0)<($$1165167>>>0); + if (!($252)) { + break; + } + } + $253 = (___errno_location()|0); + HEAP32[$253>>2] = 34; + $254 = $3 & 1; + $255 = ($254|0)==(0); + $256 = (0)==(0); + $257 = $255 & $256; + $$0157$ = $257 ? $$0157 : 0; + $$1158 = $$0157$;$263 = $4;$265 = $3; + } else { + $$1158 = $$0157;$263 = $294;$265 = $293; + } + } + $258 = HEAP32[$7>>2]|0; + $259 = ($258|0)==(0|0); + if (!($259)) { + $260 = HEAP32[$6>>2]|0; + $261 = ((($260)) + -1|0); + HEAP32[$6>>2] = $261; + } + $262 = ($263>>>0)<($4>>>0); + $264 = ($265>>>0)<($3>>>0); + $266 = ($263|0)==($4|0); + $267 = $266 & $264; + $268 = $262 | $267; + if (!($268)) { + $269 = $3 & 1; + $270 = ($269|0)!=(0); + $271 = (0)!=(0); + $272 = $270 | $271; + $273 = ($$1158|0)!=(0); + $or$cond12 = $272 | $273; + if (!($or$cond12)) { + $274 = (___errno_location()|0); + HEAP32[$274>>2] = 34; + $275 = (_i64Add(($3|0),($4|0),-1,-1)|0); + $276 = tempRet0; + $289 = $276;$290 = $275; + break; + } + $277 = ($263>>>0)>($4>>>0); + $278 = ($265>>>0)>($3>>>0); + $279 = ($263|0)==($4|0); + $280 = $279 & $278; + $281 = $277 | $280; + if ($281) { + $282 = (___errno_location()|0); + HEAP32[$282>>2] = 34; + $289 = $4;$290 = $3; + break; + } + } + $283 = ($$1158|0)<(0); + $284 = $283 << 31 >> 31; + $285 = $265 ^ $$1158; + $286 = $263 ^ $284; + $287 = (_i64Subtract(($285|0),($286|0),($$1158|0),($284|0))|0); + $288 = tempRet0; + $289 = $288;$290 = $287; + } + } while(0); + tempRet0 = ($289); + return ($290|0); +} +function ___shgetc($0) { + $0 = $0|0; + var $$0 = 0, $$phi$trans$insert = 0, $$phi$trans$insert28$phi$trans$insert = 0, $$pre = 0, $$pre$phi34Z2D = 0, $$pre29$pre = 0, $$pre35 = 0, $$sink = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0; + var $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0; + var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 104|0); + $2 = HEAP32[$1>>2]|0; + $3 = ($2|0)==(0); + if ($3) { + label = 3; + } else { + $4 = ((($0)) + 108|0); + $5 = HEAP32[$4>>2]|0; + $6 = ($5|0)<($2|0); + if ($6) { + label = 3; + } else { + label = 4; + } + } + if ((label|0) == 3) { + $7 = (___uflow($0)|0); + $8 = ($7|0)<(0); + if ($8) { + label = 4; + } else { + $10 = HEAP32[$1>>2]|0; + $11 = ($10|0)==(0); + $$phi$trans$insert = ((($0)) + 8|0); + if ($11) { + $$pre = HEAP32[$$phi$trans$insert>>2]|0; + $$phi$trans$insert28$phi$trans$insert = ((($0)) + 4|0); + $$pre29$pre = HEAP32[$$phi$trans$insert28$phi$trans$insert>>2]|0; + $$pre35 = ((($0)) + 108|0); + $$pre$phi34Z2D = $$pre35;$$sink = $$pre;$26 = $$pre;$29 = $$pre29$pre; + } else { + $12 = HEAP32[$$phi$trans$insert>>2]|0; + $13 = ((($0)) + 4|0); + $14 = HEAP32[$13>>2]|0; + $15 = $14; + $16 = (($12) - ($15))|0; + $17 = ((($0)) + 108|0); + $18 = HEAP32[$17>>2]|0; + $19 = (($10) - ($18))|0; + $20 = ($16|0)<($19|0); + $21 = $12; + if ($20) { + $$pre$phi34Z2D = $17;$$sink = $21;$26 = $21;$29 = $14; + } else { + $22 = (($19) + -1)|0; + $23 = (($14) + ($22)|0); + $$pre$phi34Z2D = $17;$$sink = $23;$26 = $21;$29 = $14; + } + } + $24 = ((($0)) + 100|0); + HEAP32[$24>>2] = $$sink; + $25 = ($26|0)==(0|0); + if (!($25)) { + $27 = $26; + $28 = $29; + $30 = HEAP32[$$pre$phi34Z2D>>2]|0; + $31 = (($27) + 1)|0; + $32 = (($31) - ($28))|0; + $33 = (($32) + ($30))|0; + HEAP32[$$pre$phi34Z2D>>2] = $33; + } + $34 = ((($29)) + -1|0); + $35 = HEAP8[$34>>0]|0; + $36 = $35&255; + $37 = ($36|0)==($7|0); + if ($37) { + $$0 = $7; + } else { + $38 = $7&255; + HEAP8[$34>>0] = $38; + $$0 = $7; + } + } + } + if ((label|0) == 4) { + $9 = ((($0)) + 100|0); + HEAP32[$9>>2] = 0; + $$0 = -1; + } + return ($$0|0); +} +function _isspace($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ($0|0)==(32); + $2 = (($0) + -9)|0; + $3 = ($2>>>0)<(5); + $4 = $1 | $3; + $5 = $4&1; + return ($5|0); +} +function ___uflow($0) { + $0 = $0|0; + var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $1 = sp; + $2 = (___toread($0)|0); + $3 = ($2|0)==(0); + if ($3) { + $4 = ((($0)) + 32|0); + $5 = HEAP32[$4>>2]|0; + $6 = (FUNCTION_TABLE_iiii[$5 & 15]($0,$1,1)|0); + $7 = ($6|0)==(1); + if ($7) { + $8 = HEAP8[$1>>0]|0; + $9 = $8&255; + $$0 = $9; + } else { + $$0 = -1; + } + } else { + $$0 = -1; + } + STACKTOP = sp;return ($$0|0); +} +function ___toread($0) { + $0 = $0|0; + var $$0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $sext = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 74|0); + $2 = HEAP8[$1>>0]|0; + $3 = $2 << 24 >> 24; + $4 = (($3) + 255)|0; + $5 = $4 | $3; + $6 = $5&255; + HEAP8[$1>>0] = $6; + $7 = ((($0)) + 20|0); + $8 = HEAP32[$7>>2]|0; + $9 = ((($0)) + 28|0); + $10 = HEAP32[$9>>2]|0; + $11 = ($8>>>0)>($10>>>0); + if ($11) { + $12 = ((($0)) + 36|0); + $13 = HEAP32[$12>>2]|0; + (FUNCTION_TABLE_iiii[$13 & 15]($0,0,0)|0); + } + $14 = ((($0)) + 16|0); + HEAP32[$14>>2] = 0; + HEAP32[$9>>2] = 0; + HEAP32[$7>>2] = 0; + $15 = HEAP32[$0>>2]|0; + $16 = $15 & 4; + $17 = ($16|0)==(0); + if ($17) { + $19 = ((($0)) + 44|0); + $20 = HEAP32[$19>>2]|0; + $21 = ((($0)) + 48|0); + $22 = HEAP32[$21>>2]|0; + $23 = (($20) + ($22)|0); + $24 = ((($0)) + 8|0); + HEAP32[$24>>2] = $23; + $25 = ((($0)) + 4|0); + HEAP32[$25>>2] = $23; + $26 = $15 << 27; + $sext = $26 >> 31; + $$0 = $sext; + } else { + $18 = $15 | 32; + HEAP32[$0>>2] = $18; + $$0 = -1; + } + return ($$0|0); +} +function _copysign($0,$1) { + $0 = +$0; + $1 = +$1; + var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF64[tempDoublePtr>>3] = $0;$2 = HEAP32[tempDoublePtr>>2]|0; + $3 = HEAP32[tempDoublePtr+4>>2]|0; + HEAPF64[tempDoublePtr>>3] = $1;$4 = HEAP32[tempDoublePtr>>2]|0; + $5 = HEAP32[tempDoublePtr+4>>2]|0; + $6 = $3 & 2147483647; + $7 = $5 & -2147483648; + $8 = $7 | $6; + HEAP32[tempDoublePtr>>2] = $2;HEAP32[tempDoublePtr+4>>2] = $8;$9 = +HEAPF64[tempDoublePtr>>3]; + return (+$9); +} +function _strcmp($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$011 = 0, $$0710 = 0, $$lcssa = 0, $$lcssa8 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond9 = 0, label = 0; + var sp = 0; + sp = STACKTOP; + $2 = HEAP8[$0>>0]|0; + $3 = HEAP8[$1>>0]|0; + $4 = ($2<<24>>24)!=($3<<24>>24); + $5 = ($2<<24>>24)==(0); + $or$cond9 = $5 | $4; + if ($or$cond9) { + $$lcssa = $3;$$lcssa8 = $2; + } else { + $$011 = $1;$$0710 = $0; + while(1) { + $6 = ((($$0710)) + 1|0); + $7 = ((($$011)) + 1|0); + $8 = HEAP8[$6>>0]|0; + $9 = HEAP8[$7>>0]|0; + $10 = ($8<<24>>24)!=($9<<24>>24); + $11 = ($8<<24>>24)==(0); + $or$cond = $11 | $10; + if ($or$cond) { + $$lcssa = $9;$$lcssa8 = $8; + break; + } else { + $$011 = $7;$$0710 = $6; + } + } + } + $12 = $$lcssa8&255; + $13 = $$lcssa&255; + $14 = (($12) - ($13))|0; + return ($14|0); +} +function _memcmp($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$01318 = 0, $$01417 = 0, $$019 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ($2|0)==(0); + L1: do { + if ($3) { + $14 = 0; + } else { + $$01318 = $0;$$01417 = $2;$$019 = $1; + while(1) { + $4 = HEAP8[$$01318>>0]|0; + $5 = HEAP8[$$019>>0]|0; + $6 = ($4<<24>>24)==($5<<24>>24); + if (!($6)) { + break; + } + $7 = (($$01417) + -1)|0; + $8 = ((($$01318)) + 1|0); + $9 = ((($$019)) + 1|0); + $10 = ($7|0)==(0); + if ($10) { + $14 = 0; + break L1; + } else { + $$01318 = $8;$$01417 = $7;$$019 = $9; + } + } + $11 = $4&255; + $12 = $5&255; + $13 = (($11) - ($12))|0; + $14 = $13; + } + } while(0); + return ($14|0); +} +function _strncmp($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$01824 = 0, $$01926 = 0, $$01926$in = 0, $$020 = 0, $$025 = 0, $$lcssa = 0, $$lcssa22 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0; + var $23 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond21 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ($2|0)==(0); + if ($3) { + $$020 = 0; + } else { + $4 = HEAP8[$0>>0]|0; + $5 = $4&255; + $6 = ($4<<24>>24)==(0); + $7 = HEAP8[$1>>0]|0; + $8 = $7&255; + L3: do { + if ($6) { + $$lcssa = $8;$$lcssa22 = $5; + } else { + $$01824 = $0;$$01926$in = $2;$$025 = $1;$10 = $7;$13 = $4;$22 = $8;$23 = $5; + while(1) { + $$01926 = (($$01926$in) + -1)|0; + $9 = ($10<<24>>24)!=(0); + $11 = ($$01926|0)!=(0); + $or$cond = $11 & $9; + $12 = ($13<<24>>24)==($10<<24>>24); + $or$cond21 = $12 & $or$cond; + if (!($or$cond21)) { + $$lcssa = $22;$$lcssa22 = $23; + break L3; + } + $14 = ((($$01824)) + 1|0); + $15 = ((($$025)) + 1|0); + $16 = HEAP8[$14>>0]|0; + $17 = $16&255; + $18 = ($16<<24>>24)==(0); + $19 = HEAP8[$15>>0]|0; + $20 = $19&255; + if ($18) { + $$lcssa = $20;$$lcssa22 = $17; + break; + } else { + $$01824 = $14;$$01926$in = $$01926;$$025 = $15;$10 = $19;$13 = $16;$22 = $20;$23 = $17; + } + } + } + } while(0); + $21 = (($$lcssa22) - ($$lcssa))|0; + $$020 = $21; + } + return ($$020|0); +} +function _vsprintf($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = (_vsnprintf($0,2147483647,$1,$2)|0); + return ($3|0); +} +function _vsnprintf($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$$015 = 0, $$0 = 0, $$014 = 0, $$015 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; + var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0); + $4 = sp + 124|0; + $5 = sp; + dest=$5; src=5556; stop=dest+124|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + $6 = (($1) + -1)|0; + $7 = ($6>>>0)>(2147483646); + if ($7) { + $8 = ($1|0)==(0); + if ($8) { + $$014 = $4;$$015 = 1; + label = 4; + } else { + $9 = (___errno_location()|0); + HEAP32[$9>>2] = 75; + $$0 = -1; + } + } else { + $$014 = $0;$$015 = $1; + label = 4; + } + if ((label|0) == 4) { + $10 = $$014; + $11 = (-2 - ($10))|0; + $12 = ($$015>>>0)>($11>>>0); + $$$015 = $12 ? $11 : $$015; + $13 = ((($5)) + 48|0); + HEAP32[$13>>2] = $$$015; + $14 = ((($5)) + 20|0); + HEAP32[$14>>2] = $$014; + $15 = ((($5)) + 44|0); + HEAP32[$15>>2] = $$014; + $16 = (($$014) + ($$$015)|0); + $17 = ((($5)) + 16|0); + HEAP32[$17>>2] = $16; + $18 = ((($5)) + 28|0); + HEAP32[$18>>2] = $16; + $19 = (_vfprintf($5,$2,$3)|0); + $20 = ($$$015|0)==(0); + if ($20) { + $$0 = $19; + } else { + $21 = HEAP32[$14>>2]|0; + $22 = HEAP32[$17>>2]|0; + $23 = ($21|0)==($22|0); + $24 = $23 << 31 >> 31; + $25 = (($21) + ($24)|0); + HEAP8[$25>>0] = 0; + $$0 = $19; + } + } + STACKTOP = sp;return ($$0|0); +} +function _vfprintf($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$ = 0, $$0 = 0, $$1 = 0, $$1$ = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; + var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $5 = 0, $6 = 0, $7 = 0; + var $8 = 0, $9 = 0, $vacopy_currentptr = 0, dest = 0, label = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 224|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(224|0); + $3 = sp + 120|0; + $4 = sp + 80|0; + $5 = sp; + $6 = sp + 136|0; + dest=$4; stop=dest+40|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + $vacopy_currentptr = HEAP32[$2>>2]|0; + HEAP32[$3>>2] = $vacopy_currentptr; + $7 = (_printf_core(0,$1,$3,$5,$4)|0); + $8 = ($7|0)<(0); + if ($8) { + $$0 = -1; + } else { + $9 = ((($0)) + 76|0); + $10 = HEAP32[$9>>2]|0; + $11 = ($10|0)>(-1); + if ($11) { + $12 = (___lockfile($0)|0); + $40 = $12; + } else { + $40 = 0; + } + $13 = HEAP32[$0>>2]|0; + $14 = $13 & 32; + $15 = ((($0)) + 74|0); + $16 = HEAP8[$15>>0]|0; + $17 = ($16<<24>>24)<(1); + if ($17) { + $18 = $13 & -33; + HEAP32[$0>>2] = $18; + } + $19 = ((($0)) + 48|0); + $20 = HEAP32[$19>>2]|0; + $21 = ($20|0)==(0); + if ($21) { + $23 = ((($0)) + 44|0); + $24 = HEAP32[$23>>2]|0; + HEAP32[$23>>2] = $6; + $25 = ((($0)) + 28|0); + HEAP32[$25>>2] = $6; + $26 = ((($0)) + 20|0); + HEAP32[$26>>2] = $6; + HEAP32[$19>>2] = 80; + $27 = ((($6)) + 80|0); + $28 = ((($0)) + 16|0); + HEAP32[$28>>2] = $27; + $29 = (_printf_core($0,$1,$3,$5,$4)|0); + $30 = ($24|0)==(0|0); + if ($30) { + $$1 = $29; + } else { + $31 = ((($0)) + 36|0); + $32 = HEAP32[$31>>2]|0; + (FUNCTION_TABLE_iiii[$32 & 15]($0,0,0)|0); + $33 = HEAP32[$26>>2]|0; + $34 = ($33|0)==(0|0); + $$ = $34 ? -1 : $29; + HEAP32[$23>>2] = $24; + HEAP32[$19>>2] = 0; + HEAP32[$28>>2] = 0; + HEAP32[$25>>2] = 0; + HEAP32[$26>>2] = 0; + $$1 = $$; + } + } else { + $22 = (_printf_core($0,$1,$3,$5,$4)|0); + $$1 = $22; + } + $35 = HEAP32[$0>>2]|0; + $36 = $35 & 32; + $37 = ($36|0)==(0); + $$1$ = $37 ? $$1 : -1; + $38 = $35 | $14; + HEAP32[$0>>2] = $38; + $39 = ($40|0)==(0); + if (!($39)) { + ___unlockfile($0); + } + $$0 = $$1$; + } + STACKTOP = sp;return ($$0|0); +} +function _printf_core($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$ = 0, $$$ = 0, $$$0259 = 0, $$$0262 = 0, $$$0269 = 0, $$$4266 = 0, $$$5 = 0, $$0 = 0, $$0228 = 0, $$0228$ = 0, $$0229322 = 0, $$0232 = 0, $$0235 = 0, $$0237 = 0, $$0240$lcssa = 0, $$0240$lcssa357 = 0, $$0240321 = 0, $$0243 = 0, $$0247 = 0, $$0249$lcssa = 0; + var $$0249306 = 0, $$0252 = 0, $$0253 = 0, $$0254 = 0, $$0254$$0254$ = 0, $$0259 = 0, $$0262$lcssa = 0, $$0262311 = 0, $$0269 = 0, $$0269$phi = 0, $$1 = 0, $$1230333 = 0, $$1233 = 0, $$1236 = 0, $$1238 = 0, $$1241332 = 0, $$1244320 = 0, $$1248 = 0, $$1250 = 0, $$1255 = 0; + var $$1260 = 0, $$1263 = 0, $$1263$ = 0, $$1270 = 0, $$2 = 0, $$2234 = 0, $$2239 = 0, $$2242305 = 0, $$2245 = 0, $$2251 = 0, $$2256 = 0, $$2256$ = 0, $$2256$$$2256 = 0, $$2261 = 0, $$2271 = 0, $$284$ = 0, $$289 = 0, $$290 = 0, $$3257 = 0, $$3265 = 0; + var $$3272 = 0, $$3303 = 0, $$377 = 0, $$4258355 = 0, $$4266 = 0, $$5 = 0, $$6268 = 0, $$lcssa295 = 0, $$pre = 0, $$pre346 = 0, $$pre347 = 0, $$pre347$pre = 0, $$pre349 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0; + var $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0; + var $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0; + var $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0; + var $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0; + var $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0; + var $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0; + var $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0; + var $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0; + var $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0; + var $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0; + var $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0; + var $306 = 0.0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0; + var $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; + var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0; + var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0; + var $arglist_current = 0, $arglist_current2 = 0, $arglist_next = 0, $arglist_next3 = 0, $expanded = 0, $expanded10 = 0, $expanded11 = 0, $expanded13 = 0, $expanded14 = 0, $expanded15 = 0, $expanded4 = 0, $expanded6 = 0, $expanded7 = 0, $expanded8 = 0, $isdigit = 0, $isdigit275 = 0, $isdigit277 = 0, $isdigittmp = 0, $isdigittmp$ = 0, $isdigittmp274 = 0; + var $isdigittmp276 = 0, $narrow = 0, $or$cond = 0, $or$cond281 = 0, $or$cond283 = 0, $or$cond286 = 0, $storemerge = 0, $storemerge273310 = 0, $storemerge278 = 0, $trunc = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $5 = sp + 16|0; + $6 = sp; + $7 = sp + 24|0; + $8 = sp + 8|0; + $9 = sp + 20|0; + HEAP32[$5>>2] = $1; + $10 = ($0|0)!=(0|0); + $11 = ((($7)) + 40|0); + $12 = $11; + $13 = ((($7)) + 39|0); + $14 = ((($8)) + 4|0); + $$0243 = 0;$$0247 = 0;$$0269 = 0;$21 = $1; + L1: while(1) { + $15 = ($$0247|0)>(-1); + do { + if ($15) { + $16 = (2147483647 - ($$0247))|0; + $17 = ($$0243|0)>($16|0); + if ($17) { + $18 = (___errno_location()|0); + HEAP32[$18>>2] = 75; + $$1248 = -1; + break; + } else { + $19 = (($$0243) + ($$0247))|0; + $$1248 = $19; + break; + } + } else { + $$1248 = $$0247; + } + } while(0); + $20 = HEAP8[$21>>0]|0; + $22 = ($20<<24>>24)==(0); + if ($22) { + label = 87; + break; + } else { + $23 = $20;$25 = $21; + } + L9: while(1) { + switch ($23<<24>>24) { + case 37: { + $$0249306 = $25;$27 = $25; + label = 9; + break L9; + break; + } + case 0: { + $$0249$lcssa = $25;$39 = $25; + break L9; + break; + } + default: { + } + } + $24 = ((($25)) + 1|0); + HEAP32[$5>>2] = $24; + $$pre = HEAP8[$24>>0]|0; + $23 = $$pre;$25 = $24; + } + L12: do { + if ((label|0) == 9) { + while(1) { + label = 0; + $26 = ((($27)) + 1|0); + $28 = HEAP8[$26>>0]|0; + $29 = ($28<<24>>24)==(37); + if (!($29)) { + $$0249$lcssa = $$0249306;$39 = $27; + break L12; + } + $30 = ((($$0249306)) + 1|0); + $31 = ((($27)) + 2|0); + HEAP32[$5>>2] = $31; + $32 = HEAP8[$31>>0]|0; + $33 = ($32<<24>>24)==(37); + if ($33) { + $$0249306 = $30;$27 = $31; + label = 9; + } else { + $$0249$lcssa = $30;$39 = $31; + break; + } + } + } + } while(0); + $34 = $$0249$lcssa; + $35 = $21; + $36 = (($34) - ($35))|0; + if ($10) { + _out($0,$21,$36); + } + $37 = ($36|0)==(0); + if (!($37)) { + $$0269$phi = $$0269;$$0243 = $36;$$0247 = $$1248;$21 = $39;$$0269 = $$0269$phi; + continue; + } + $38 = ((($39)) + 1|0); + $40 = HEAP8[$38>>0]|0; + $41 = $40 << 24 >> 24; + $isdigittmp = (($41) + -48)|0; + $isdigit = ($isdigittmp>>>0)<(10); + if ($isdigit) { + $42 = ((($39)) + 2|0); + $43 = HEAP8[$42>>0]|0; + $44 = ($43<<24>>24)==(36); + $45 = ((($39)) + 3|0); + $$377 = $44 ? $45 : $38; + $$$0269 = $44 ? 1 : $$0269; + $isdigittmp$ = $44 ? $isdigittmp : -1; + $$0253 = $isdigittmp$;$$1270 = $$$0269;$storemerge = $$377; + } else { + $$0253 = -1;$$1270 = $$0269;$storemerge = $38; + } + HEAP32[$5>>2] = $storemerge; + $46 = HEAP8[$storemerge>>0]|0; + $47 = $46 << 24 >> 24; + $48 = (($47) + -32)|0; + $49 = ($48>>>0)<(32); + L24: do { + if ($49) { + $$0262311 = 0;$329 = $46;$51 = $48;$storemerge273310 = $storemerge; + while(1) { + $50 = 1 << $51; + $52 = $50 & 75913; + $53 = ($52|0)==(0); + if ($53) { + $$0262$lcssa = $$0262311;$$lcssa295 = $329;$62 = $storemerge273310; + break L24; + } + $54 = $50 | $$0262311; + $55 = ((($storemerge273310)) + 1|0); + HEAP32[$5>>2] = $55; + $56 = HEAP8[$55>>0]|0; + $57 = $56 << 24 >> 24; + $58 = (($57) + -32)|0; + $59 = ($58>>>0)<(32); + if ($59) { + $$0262311 = $54;$329 = $56;$51 = $58;$storemerge273310 = $55; + } else { + $$0262$lcssa = $54;$$lcssa295 = $56;$62 = $55; + break; + } + } + } else { + $$0262$lcssa = 0;$$lcssa295 = $46;$62 = $storemerge; + } + } while(0); + $60 = ($$lcssa295<<24>>24)==(42); + if ($60) { + $61 = ((($62)) + 1|0); + $63 = HEAP8[$61>>0]|0; + $64 = $63 << 24 >> 24; + $isdigittmp276 = (($64) + -48)|0; + $isdigit277 = ($isdigittmp276>>>0)<(10); + if ($isdigit277) { + $65 = ((($62)) + 2|0); + $66 = HEAP8[$65>>0]|0; + $67 = ($66<<24>>24)==(36); + if ($67) { + $68 = (($4) + ($isdigittmp276<<2)|0); + HEAP32[$68>>2] = 10; + $69 = HEAP8[$61>>0]|0; + $70 = $69 << 24 >> 24; + $71 = (($70) + -48)|0; + $72 = (($3) + ($71<<3)|0); + $73 = $72; + $74 = $73; + $75 = HEAP32[$74>>2]|0; + $76 = (($73) + 4)|0; + $77 = $76; + $78 = HEAP32[$77>>2]|0; + $79 = ((($62)) + 3|0); + $$0259 = $75;$$2271 = 1;$storemerge278 = $79; + } else { + label = 23; + } + } else { + label = 23; + } + if ((label|0) == 23) { + label = 0; + $80 = ($$1270|0)==(0); + if (!($80)) { + $$0 = -1; + break; + } + if ($10) { + $arglist_current = HEAP32[$2>>2]|0; + $81 = $arglist_current; + $82 = ((0) + 4|0); + $expanded4 = $82; + $expanded = (($expanded4) - 1)|0; + $83 = (($81) + ($expanded))|0; + $84 = ((0) + 4|0); + $expanded8 = $84; + $expanded7 = (($expanded8) - 1)|0; + $expanded6 = $expanded7 ^ -1; + $85 = $83 & $expanded6; + $86 = $85; + $87 = HEAP32[$86>>2]|0; + $arglist_next = ((($86)) + 4|0); + HEAP32[$2>>2] = $arglist_next; + $$0259 = $87;$$2271 = 0;$storemerge278 = $61; + } else { + $$0259 = 0;$$2271 = 0;$storemerge278 = $61; + } + } + HEAP32[$5>>2] = $storemerge278; + $88 = ($$0259|0)<(0); + $89 = $$0262$lcssa | 8192; + $90 = (0 - ($$0259))|0; + $$$0262 = $88 ? $89 : $$0262$lcssa; + $$$0259 = $88 ? $90 : $$0259; + $$1260 = $$$0259;$$1263 = $$$0262;$$3272 = $$2271;$94 = $storemerge278; + } else { + $91 = (_getint($5)|0); + $92 = ($91|0)<(0); + if ($92) { + $$0 = -1; + break; + } + $$pre346 = HEAP32[$5>>2]|0; + $$1260 = $91;$$1263 = $$0262$lcssa;$$3272 = $$1270;$94 = $$pre346; + } + $93 = HEAP8[$94>>0]|0; + $95 = ($93<<24>>24)==(46); + do { + if ($95) { + $96 = ((($94)) + 1|0); + $97 = HEAP8[$96>>0]|0; + $98 = ($97<<24>>24)==(42); + if (!($98)) { + $125 = ((($94)) + 1|0); + HEAP32[$5>>2] = $125; + $126 = (_getint($5)|0); + $$pre347$pre = HEAP32[$5>>2]|0; + $$0254 = $126;$$pre347 = $$pre347$pre; + break; + } + $99 = ((($94)) + 2|0); + $100 = HEAP8[$99>>0]|0; + $101 = $100 << 24 >> 24; + $isdigittmp274 = (($101) + -48)|0; + $isdigit275 = ($isdigittmp274>>>0)<(10); + if ($isdigit275) { + $102 = ((($94)) + 3|0); + $103 = HEAP8[$102>>0]|0; + $104 = ($103<<24>>24)==(36); + if ($104) { + $105 = (($4) + ($isdigittmp274<<2)|0); + HEAP32[$105>>2] = 10; + $106 = HEAP8[$99>>0]|0; + $107 = $106 << 24 >> 24; + $108 = (($107) + -48)|0; + $109 = (($3) + ($108<<3)|0); + $110 = $109; + $111 = $110; + $112 = HEAP32[$111>>2]|0; + $113 = (($110) + 4)|0; + $114 = $113; + $115 = HEAP32[$114>>2]|0; + $116 = ((($94)) + 4|0); + HEAP32[$5>>2] = $116; + $$0254 = $112;$$pre347 = $116; + break; + } + } + $117 = ($$3272|0)==(0); + if (!($117)) { + $$0 = -1; + break L1; + } + if ($10) { + $arglist_current2 = HEAP32[$2>>2]|0; + $118 = $arglist_current2; + $119 = ((0) + 4|0); + $expanded11 = $119; + $expanded10 = (($expanded11) - 1)|0; + $120 = (($118) + ($expanded10))|0; + $121 = ((0) + 4|0); + $expanded15 = $121; + $expanded14 = (($expanded15) - 1)|0; + $expanded13 = $expanded14 ^ -1; + $122 = $120 & $expanded13; + $123 = $122; + $124 = HEAP32[$123>>2]|0; + $arglist_next3 = ((($123)) + 4|0); + HEAP32[$2>>2] = $arglist_next3; + $330 = $124; + } else { + $330 = 0; + } + HEAP32[$5>>2] = $99; + $$0254 = $330;$$pre347 = $99; + } else { + $$0254 = -1;$$pre347 = $94; + } + } while(0); + $$0252 = 0;$128 = $$pre347; + while(1) { + $127 = HEAP8[$128>>0]|0; + $129 = $127 << 24 >> 24; + $130 = (($129) + -65)|0; + $131 = ($130>>>0)>(57); + if ($131) { + $$0 = -1; + break L1; + } + $132 = ((($128)) + 1|0); + HEAP32[$5>>2] = $132; + $133 = HEAP8[$128>>0]|0; + $134 = $133 << 24 >> 24; + $135 = (($134) + -65)|0; + $136 = ((22736 + (($$0252*58)|0)|0) + ($135)|0); + $137 = HEAP8[$136>>0]|0; + $138 = $137&255; + $139 = (($138) + -1)|0; + $140 = ($139>>>0)<(8); + if ($140) { + $$0252 = $138;$128 = $132; + } else { + break; + } + } + $141 = ($137<<24>>24)==(0); + if ($141) { + $$0 = -1; + break; + } + $142 = ($137<<24>>24)==(19); + $143 = ($$0253|0)>(-1); + do { + if ($142) { + if ($143) { + $$0 = -1; + break L1; + } else { + label = 49; + } + } else { + if ($143) { + $144 = (($4) + ($$0253<<2)|0); + HEAP32[$144>>2] = $138; + $145 = (($3) + ($$0253<<3)|0); + $146 = $145; + $147 = $146; + $148 = HEAP32[$147>>2]|0; + $149 = (($146) + 4)|0; + $150 = $149; + $151 = HEAP32[$150>>2]|0; + $152 = $6; + $153 = $152; + HEAP32[$153>>2] = $148; + $154 = (($152) + 4)|0; + $155 = $154; + HEAP32[$155>>2] = $151; + label = 49; + break; + } + if (!($10)) { + $$0 = 0; + break L1; + } + _pop_arg($6,$138,$2); + } + } while(0); + if ((label|0) == 49) { + label = 0; + if (!($10)) { + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue; + } + } + $156 = HEAP8[$128>>0]|0; + $157 = $156 << 24 >> 24; + $158 = ($$0252|0)!=(0); + $159 = $157 & 15; + $160 = ($159|0)==(3); + $or$cond281 = $158 & $160; + $161 = $157 & -33; + $$0235 = $or$cond281 ? $161 : $157; + $162 = $$1263 & 8192; + $163 = ($162|0)==(0); + $164 = $$1263 & -65537; + $$1263$ = $163 ? $$1263 : $164; + L71: do { + switch ($$0235|0) { + case 110: { + $trunc = $$0252&255; + switch ($trunc<<24>>24) { + case 0: { + $171 = HEAP32[$6>>2]|0; + HEAP32[$171>>2] = $$1248; + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + case 1: { + $172 = HEAP32[$6>>2]|0; + HEAP32[$172>>2] = $$1248; + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + case 2: { + $173 = ($$1248|0)<(0); + $174 = $173 << 31 >> 31; + $175 = HEAP32[$6>>2]|0; + $176 = $175; + $177 = $176; + HEAP32[$177>>2] = $$1248; + $178 = (($176) + 4)|0; + $179 = $178; + HEAP32[$179>>2] = $174; + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + case 3: { + $180 = $$1248&65535; + $181 = HEAP32[$6>>2]|0; + HEAP16[$181>>1] = $180; + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + case 4: { + $182 = $$1248&255; + $183 = HEAP32[$6>>2]|0; + HEAP8[$183>>0] = $182; + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + case 6: { + $184 = HEAP32[$6>>2]|0; + HEAP32[$184>>2] = $$1248; + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + case 7: { + $185 = ($$1248|0)<(0); + $186 = $185 << 31 >> 31; + $187 = HEAP32[$6>>2]|0; + $188 = $187; + $189 = $188; + HEAP32[$189>>2] = $$1248; + $190 = (($188) + 4)|0; + $191 = $190; + HEAP32[$191>>2] = $186; + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + default: { + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + } + } + break; + } + case 112: { + $192 = ($$0254>>>0)>(8); + $193 = $192 ? $$0254 : 8; + $194 = $$1263$ | 8; + $$1236 = 120;$$1255 = $193;$$3265 = $194; + label = 61; + break; + } + case 88: case 120: { + $$1236 = $$0235;$$1255 = $$0254;$$3265 = $$1263$; + label = 61; + break; + } + case 111: { + $210 = $6; + $211 = $210; + $212 = HEAP32[$211>>2]|0; + $213 = (($210) + 4)|0; + $214 = $213; + $215 = HEAP32[$214>>2]|0; + $216 = (_fmt_o($212,$215,$11)|0); + $217 = $$1263$ & 8; + $218 = ($217|0)==(0); + $219 = $216; + $220 = (($12) - ($219))|0; + $221 = ($$0254|0)>($220|0); + $222 = (($220) + 1)|0; + $223 = $218 | $221; + $$0254$$0254$ = $223 ? $$0254 : $222; + $$0228 = $216;$$1233 = 0;$$1238 = 23200;$$2256 = $$0254$$0254$;$$4266 = $$1263$;$248 = $212;$250 = $215; + label = 67; + break; + } + case 105: case 100: { + $224 = $6; + $225 = $224; + $226 = HEAP32[$225>>2]|0; + $227 = (($224) + 4)|0; + $228 = $227; + $229 = HEAP32[$228>>2]|0; + $230 = ($229|0)<(0); + if ($230) { + $231 = (_i64Subtract(0,0,($226|0),($229|0))|0); + $232 = tempRet0; + $233 = $6; + $234 = $233; + HEAP32[$234>>2] = $231; + $235 = (($233) + 4)|0; + $236 = $235; + HEAP32[$236>>2] = $232; + $$0232 = 1;$$0237 = 23200;$242 = $231;$243 = $232; + label = 66; + break L71; + } else { + $237 = $$1263$ & 2048; + $238 = ($237|0)==(0); + $239 = $$1263$ & 1; + $240 = ($239|0)==(0); + $$ = $240 ? 23200 : (23202); + $$$ = $238 ? $$ : (23201); + $241 = $$1263$ & 2049; + $narrow = ($241|0)!=(0); + $$284$ = $narrow&1; + $$0232 = $$284$;$$0237 = $$$;$242 = $226;$243 = $229; + label = 66; + break L71; + } + break; + } + case 117: { + $165 = $6; + $166 = $165; + $167 = HEAP32[$166>>2]|0; + $168 = (($165) + 4)|0; + $169 = $168; + $170 = HEAP32[$169>>2]|0; + $$0232 = 0;$$0237 = 23200;$242 = $167;$243 = $170; + label = 66; + break; + } + case 99: { + $259 = $6; + $260 = $259; + $261 = HEAP32[$260>>2]|0; + $262 = (($259) + 4)|0; + $263 = $262; + $264 = HEAP32[$263>>2]|0; + $265 = $261&255; + HEAP8[$13>>0] = $265; + $$2 = $13;$$2234 = 0;$$2239 = 23200;$$2251 = $11;$$5 = 1;$$6268 = $164; + break; + } + case 109: { + $266 = (___errno_location()|0); + $267 = HEAP32[$266>>2]|0; + $268 = (_strerror($267)|0); + $$1 = $268; + label = 71; + break; + } + case 115: { + $269 = HEAP32[$6>>2]|0; + $270 = ($269|0)!=(0|0); + $271 = $270 ? $269 : 23210; + $$1 = $271; + label = 71; + break; + } + case 67: { + $278 = $6; + $279 = $278; + $280 = HEAP32[$279>>2]|0; + $281 = (($278) + 4)|0; + $282 = $281; + $283 = HEAP32[$282>>2]|0; + HEAP32[$8>>2] = $280; + HEAP32[$14>>2] = 0; + HEAP32[$6>>2] = $8; + $$4258355 = -1;$331 = $8; + label = 75; + break; + } + case 83: { + $$pre349 = HEAP32[$6>>2]|0; + $284 = ($$0254|0)==(0); + if ($284) { + _pad_674($0,32,$$1260,0,$$1263$); + $$0240$lcssa357 = 0; + label = 84; + } else { + $$4258355 = $$0254;$331 = $$pre349; + label = 75; + } + break; + } + case 65: case 71: case 70: case 69: case 97: case 103: case 102: case 101: { + $306 = +HEAPF64[$6>>3]; + $307 = (_fmt_fp($0,$306,$$1260,$$0254,$$1263$,$$0235)|0); + $$0243 = $307;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + default: { + $$2 = $21;$$2234 = 0;$$2239 = 23200;$$2251 = $11;$$5 = $$0254;$$6268 = $$1263$; + } + } + } while(0); + L95: do { + if ((label|0) == 61) { + label = 0; + $195 = $6; + $196 = $195; + $197 = HEAP32[$196>>2]|0; + $198 = (($195) + 4)|0; + $199 = $198; + $200 = HEAP32[$199>>2]|0; + $201 = $$1236 & 32; + $202 = (_fmt_x($197,$200,$11,$201)|0); + $203 = ($197|0)==(0); + $204 = ($200|0)==(0); + $205 = $203 & $204; + $206 = $$3265 & 8; + $207 = ($206|0)==(0); + $or$cond283 = $207 | $205; + $208 = $$1236 >> 4; + $209 = (23200 + ($208)|0); + $$289 = $or$cond283 ? 23200 : $209; + $$290 = $or$cond283 ? 0 : 2; + $$0228 = $202;$$1233 = $$290;$$1238 = $$289;$$2256 = $$1255;$$4266 = $$3265;$248 = $197;$250 = $200; + label = 67; + } + else if ((label|0) == 66) { + label = 0; + $244 = (_fmt_u($242,$243,$11)|0); + $$0228 = $244;$$1233 = $$0232;$$1238 = $$0237;$$2256 = $$0254;$$4266 = $$1263$;$248 = $242;$250 = $243; + label = 67; + } + else if ((label|0) == 71) { + label = 0; + $272 = (_memchr($$1,0,$$0254)|0); + $273 = ($272|0)==(0|0); + $274 = $272; + $275 = $$1; + $276 = (($274) - ($275))|0; + $277 = (($$1) + ($$0254)|0); + $$3257 = $273 ? $$0254 : $276; + $$1250 = $273 ? $277 : $272; + $$2 = $$1;$$2234 = 0;$$2239 = 23200;$$2251 = $$1250;$$5 = $$3257;$$6268 = $164; + } + else if ((label|0) == 75) { + label = 0; + $$0229322 = $331;$$0240321 = 0;$$1244320 = 0; + while(1) { + $285 = HEAP32[$$0229322>>2]|0; + $286 = ($285|0)==(0); + if ($286) { + $$0240$lcssa = $$0240321;$$2245 = $$1244320; + break; + } + $287 = (_wctomb($9,$285)|0); + $288 = ($287|0)<(0); + $289 = (($$4258355) - ($$0240321))|0; + $290 = ($287>>>0)>($289>>>0); + $or$cond286 = $288 | $290; + if ($or$cond286) { + $$0240$lcssa = $$0240321;$$2245 = $287; + break; + } + $291 = ((($$0229322)) + 4|0); + $292 = (($287) + ($$0240321))|0; + $293 = ($$4258355>>>0)>($292>>>0); + if ($293) { + $$0229322 = $291;$$0240321 = $292;$$1244320 = $287; + } else { + $$0240$lcssa = $292;$$2245 = $287; + break; + } + } + $294 = ($$2245|0)<(0); + if ($294) { + $$0 = -1; + break L1; + } + _pad_674($0,32,$$1260,$$0240$lcssa,$$1263$); + $295 = ($$0240$lcssa|0)==(0); + if ($295) { + $$0240$lcssa357 = 0; + label = 84; + } else { + $$1230333 = $331;$$1241332 = 0; + while(1) { + $296 = HEAP32[$$1230333>>2]|0; + $297 = ($296|0)==(0); + if ($297) { + $$0240$lcssa357 = $$0240$lcssa; + label = 84; + break L95; + } + $298 = (_wctomb($9,$296)|0); + $299 = (($298) + ($$1241332))|0; + $300 = ($299|0)>($$0240$lcssa|0); + if ($300) { + $$0240$lcssa357 = $$0240$lcssa; + label = 84; + break L95; + } + $301 = ((($$1230333)) + 4|0); + _out($0,$9,$298); + $302 = ($299>>>0)<($$0240$lcssa>>>0); + if ($302) { + $$1230333 = $301;$$1241332 = $299; + } else { + $$0240$lcssa357 = $$0240$lcssa; + label = 84; + break; + } + } + } + } + } while(0); + if ((label|0) == 67) { + label = 0; + $245 = ($$2256|0)>(-1); + $246 = $$4266 & -65537; + $$$4266 = $245 ? $246 : $$4266; + $247 = ($248|0)!=(0); + $249 = ($250|0)!=(0); + $251 = $247 | $249; + $252 = ($$2256|0)!=(0); + $or$cond = $252 | $251; + $253 = $$0228; + $254 = (($12) - ($253))|0; + $255 = $251 ^ 1; + $256 = $255&1; + $257 = (($256) + ($254))|0; + $258 = ($$2256|0)>($257|0); + $$2256$ = $258 ? $$2256 : $257; + $$2256$$$2256 = $or$cond ? $$2256$ : $$2256; + $$0228$ = $or$cond ? $$0228 : $11; + $$2 = $$0228$;$$2234 = $$1233;$$2239 = $$1238;$$2251 = $11;$$5 = $$2256$$$2256;$$6268 = $$$4266; + } + else if ((label|0) == 84) { + label = 0; + $303 = $$1263$ ^ 8192; + _pad_674($0,32,$$1260,$$0240$lcssa357,$303); + $304 = ($$1260|0)>($$0240$lcssa357|0); + $305 = $304 ? $$1260 : $$0240$lcssa357; + $$0243 = $305;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue; + } + $308 = $$2251; + $309 = $$2; + $310 = (($308) - ($309))|0; + $311 = ($$5|0)<($310|0); + $$$5 = $311 ? $310 : $$5; + $312 = (($$$5) + ($$2234))|0; + $313 = ($$1260|0)<($312|0); + $$2261 = $313 ? $312 : $$1260; + _pad_674($0,32,$$2261,$312,$$6268); + _out($0,$$2239,$$2234); + $314 = $$6268 ^ 65536; + _pad_674($0,48,$$2261,$312,$314); + _pad_674($0,48,$$$5,$310,0); + _out($0,$$2,$310); + $315 = $$6268 ^ 8192; + _pad_674($0,32,$$2261,$312,$315); + $$0243 = $$2261;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + } + L114: do { + if ((label|0) == 87) { + $316 = ($0|0)==(0|0); + if ($316) { + $317 = ($$0269|0)==(0); + if ($317) { + $$0 = 0; + } else { + $$2242305 = 1; + while(1) { + $318 = (($4) + ($$2242305<<2)|0); + $319 = HEAP32[$318>>2]|0; + $320 = ($319|0)==(0); + if ($320) { + $$3303 = $$2242305; + break; + } + $321 = (($3) + ($$2242305<<3)|0); + _pop_arg($321,$319,$2); + $322 = (($$2242305) + 1)|0; + $323 = ($322|0)<(10); + if ($323) { + $$2242305 = $322; + } else { + $$0 = 1; + break L114; + } + } + while(1) { + $326 = (($4) + ($$3303<<2)|0); + $327 = HEAP32[$326>>2]|0; + $328 = ($327|0)==(0); + $325 = (($$3303) + 1)|0; + if (!($328)) { + $$0 = -1; + break L114; + } + $324 = ($325|0)<(10); + if ($324) { + $$3303 = $325; + } else { + $$0 = 1; + break; + } + } + } + } else { + $$0 = $$1248; + } + } + } while(0); + STACKTOP = sp;return ($$0|0); +} +function ___lockfile($0) { + $0 = $0|0; + var label = 0, sp = 0; + sp = STACKTOP; + return 0; +} +function ___unlockfile($0) { + $0 = $0|0; + var label = 0, sp = 0; + sp = STACKTOP; + return; +} +function _out($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = HEAP32[$0>>2]|0; + $4 = $3 & 32; + $5 = ($4|0)==(0); + if ($5) { + (___fwritex($1,$2,$0)|0); + } + return; +} +function _getint($0) { + $0 = $0|0; + var $$0$lcssa = 0, $$06 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $isdigit = 0, $isdigit5 = 0, $isdigittmp = 0, $isdigittmp4 = 0, $isdigittmp7 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP32[$0>>2]|0; + $2 = HEAP8[$1>>0]|0; + $3 = $2 << 24 >> 24; + $isdigittmp4 = (($3) + -48)|0; + $isdigit5 = ($isdigittmp4>>>0)<(10); + if ($isdigit5) { + $$06 = 0;$7 = $1;$isdigittmp7 = $isdigittmp4; + while(1) { + $4 = ($$06*10)|0; + $5 = (($isdigittmp7) + ($4))|0; + $6 = ((($7)) + 1|0); + HEAP32[$0>>2] = $6; + $8 = HEAP8[$6>>0]|0; + $9 = $8 << 24 >> 24; + $isdigittmp = (($9) + -48)|0; + $isdigit = ($isdigittmp>>>0)<(10); + if ($isdigit) { + $$06 = $5;$7 = $6;$isdigittmp7 = $isdigittmp; + } else { + $$0$lcssa = $5; + break; + } + } + } else { + $$0$lcssa = 0; + } + return ($$0$lcssa|0); +} +function _pop_arg($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$mask = 0, $$mask31 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0.0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; + var $116 = 0.0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0; + var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0; + var $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0; + var $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0; + var $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $arglist_current = 0, $arglist_current11 = 0, $arglist_current14 = 0, $arglist_current17 = 0; + var $arglist_current2 = 0, $arglist_current20 = 0, $arglist_current23 = 0, $arglist_current26 = 0, $arglist_current5 = 0, $arglist_current8 = 0, $arglist_next = 0, $arglist_next12 = 0, $arglist_next15 = 0, $arglist_next18 = 0, $arglist_next21 = 0, $arglist_next24 = 0, $arglist_next27 = 0, $arglist_next3 = 0, $arglist_next6 = 0, $arglist_next9 = 0, $expanded = 0, $expanded28 = 0, $expanded30 = 0, $expanded31 = 0; + var $expanded32 = 0, $expanded34 = 0, $expanded35 = 0, $expanded37 = 0, $expanded38 = 0, $expanded39 = 0, $expanded41 = 0, $expanded42 = 0, $expanded44 = 0, $expanded45 = 0, $expanded46 = 0, $expanded48 = 0, $expanded49 = 0, $expanded51 = 0, $expanded52 = 0, $expanded53 = 0, $expanded55 = 0, $expanded56 = 0, $expanded58 = 0, $expanded59 = 0; + var $expanded60 = 0, $expanded62 = 0, $expanded63 = 0, $expanded65 = 0, $expanded66 = 0, $expanded67 = 0, $expanded69 = 0, $expanded70 = 0, $expanded72 = 0, $expanded73 = 0, $expanded74 = 0, $expanded76 = 0, $expanded77 = 0, $expanded79 = 0, $expanded80 = 0, $expanded81 = 0, $expanded83 = 0, $expanded84 = 0, $expanded86 = 0, $expanded87 = 0; + var $expanded88 = 0, $expanded90 = 0, $expanded91 = 0, $expanded93 = 0, $expanded94 = 0, $expanded95 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ($1>>>0)>(20); + L1: do { + if (!($3)) { + do { + switch ($1|0) { + case 9: { + $arglist_current = HEAP32[$2>>2]|0; + $4 = $arglist_current; + $5 = ((0) + 4|0); + $expanded28 = $5; + $expanded = (($expanded28) - 1)|0; + $6 = (($4) + ($expanded))|0; + $7 = ((0) + 4|0); + $expanded32 = $7; + $expanded31 = (($expanded32) - 1)|0; + $expanded30 = $expanded31 ^ -1; + $8 = $6 & $expanded30; + $9 = $8; + $10 = HEAP32[$9>>2]|0; + $arglist_next = ((($9)) + 4|0); + HEAP32[$2>>2] = $arglist_next; + HEAP32[$0>>2] = $10; + break L1; + break; + } + case 10: { + $arglist_current2 = HEAP32[$2>>2]|0; + $11 = $arglist_current2; + $12 = ((0) + 4|0); + $expanded35 = $12; + $expanded34 = (($expanded35) - 1)|0; + $13 = (($11) + ($expanded34))|0; + $14 = ((0) + 4|0); + $expanded39 = $14; + $expanded38 = (($expanded39) - 1)|0; + $expanded37 = $expanded38 ^ -1; + $15 = $13 & $expanded37; + $16 = $15; + $17 = HEAP32[$16>>2]|0; + $arglist_next3 = ((($16)) + 4|0); + HEAP32[$2>>2] = $arglist_next3; + $18 = ($17|0)<(0); + $19 = $18 << 31 >> 31; + $20 = $0; + $21 = $20; + HEAP32[$21>>2] = $17; + $22 = (($20) + 4)|0; + $23 = $22; + HEAP32[$23>>2] = $19; + break L1; + break; + } + case 11: { + $arglist_current5 = HEAP32[$2>>2]|0; + $24 = $arglist_current5; + $25 = ((0) + 4|0); + $expanded42 = $25; + $expanded41 = (($expanded42) - 1)|0; + $26 = (($24) + ($expanded41))|0; + $27 = ((0) + 4|0); + $expanded46 = $27; + $expanded45 = (($expanded46) - 1)|0; + $expanded44 = $expanded45 ^ -1; + $28 = $26 & $expanded44; + $29 = $28; + $30 = HEAP32[$29>>2]|0; + $arglist_next6 = ((($29)) + 4|0); + HEAP32[$2>>2] = $arglist_next6; + $31 = $0; + $32 = $31; + HEAP32[$32>>2] = $30; + $33 = (($31) + 4)|0; + $34 = $33; + HEAP32[$34>>2] = 0; + break L1; + break; + } + case 12: { + $arglist_current8 = HEAP32[$2>>2]|0; + $35 = $arglist_current8; + $36 = ((0) + 8|0); + $expanded49 = $36; + $expanded48 = (($expanded49) - 1)|0; + $37 = (($35) + ($expanded48))|0; + $38 = ((0) + 8|0); + $expanded53 = $38; + $expanded52 = (($expanded53) - 1)|0; + $expanded51 = $expanded52 ^ -1; + $39 = $37 & $expanded51; + $40 = $39; + $41 = $40; + $42 = $41; + $43 = HEAP32[$42>>2]|0; + $44 = (($41) + 4)|0; + $45 = $44; + $46 = HEAP32[$45>>2]|0; + $arglist_next9 = ((($40)) + 8|0); + HEAP32[$2>>2] = $arglist_next9; + $47 = $0; + $48 = $47; + HEAP32[$48>>2] = $43; + $49 = (($47) + 4)|0; + $50 = $49; + HEAP32[$50>>2] = $46; + break L1; + break; + } + case 13: { + $arglist_current11 = HEAP32[$2>>2]|0; + $51 = $arglist_current11; + $52 = ((0) + 4|0); + $expanded56 = $52; + $expanded55 = (($expanded56) - 1)|0; + $53 = (($51) + ($expanded55))|0; + $54 = ((0) + 4|0); + $expanded60 = $54; + $expanded59 = (($expanded60) - 1)|0; + $expanded58 = $expanded59 ^ -1; + $55 = $53 & $expanded58; + $56 = $55; + $57 = HEAP32[$56>>2]|0; + $arglist_next12 = ((($56)) + 4|0); + HEAP32[$2>>2] = $arglist_next12; + $58 = $57&65535; + $59 = $58 << 16 >> 16; + $60 = ($59|0)<(0); + $61 = $60 << 31 >> 31; + $62 = $0; + $63 = $62; + HEAP32[$63>>2] = $59; + $64 = (($62) + 4)|0; + $65 = $64; + HEAP32[$65>>2] = $61; + break L1; + break; + } + case 14: { + $arglist_current14 = HEAP32[$2>>2]|0; + $66 = $arglist_current14; + $67 = ((0) + 4|0); + $expanded63 = $67; + $expanded62 = (($expanded63) - 1)|0; + $68 = (($66) + ($expanded62))|0; + $69 = ((0) + 4|0); + $expanded67 = $69; + $expanded66 = (($expanded67) - 1)|0; + $expanded65 = $expanded66 ^ -1; + $70 = $68 & $expanded65; + $71 = $70; + $72 = HEAP32[$71>>2]|0; + $arglist_next15 = ((($71)) + 4|0); + HEAP32[$2>>2] = $arglist_next15; + $$mask31 = $72 & 65535; + $73 = $0; + $74 = $73; + HEAP32[$74>>2] = $$mask31; + $75 = (($73) + 4)|0; + $76 = $75; + HEAP32[$76>>2] = 0; + break L1; + break; + } + case 15: { + $arglist_current17 = HEAP32[$2>>2]|0; + $77 = $arglist_current17; + $78 = ((0) + 4|0); + $expanded70 = $78; + $expanded69 = (($expanded70) - 1)|0; + $79 = (($77) + ($expanded69))|0; + $80 = ((0) + 4|0); + $expanded74 = $80; + $expanded73 = (($expanded74) - 1)|0; + $expanded72 = $expanded73 ^ -1; + $81 = $79 & $expanded72; + $82 = $81; + $83 = HEAP32[$82>>2]|0; + $arglist_next18 = ((($82)) + 4|0); + HEAP32[$2>>2] = $arglist_next18; + $84 = $83&255; + $85 = $84 << 24 >> 24; + $86 = ($85|0)<(0); + $87 = $86 << 31 >> 31; + $88 = $0; + $89 = $88; + HEAP32[$89>>2] = $85; + $90 = (($88) + 4)|0; + $91 = $90; + HEAP32[$91>>2] = $87; + break L1; + break; + } + case 16: { + $arglist_current20 = HEAP32[$2>>2]|0; + $92 = $arglist_current20; + $93 = ((0) + 4|0); + $expanded77 = $93; + $expanded76 = (($expanded77) - 1)|0; + $94 = (($92) + ($expanded76))|0; + $95 = ((0) + 4|0); + $expanded81 = $95; + $expanded80 = (($expanded81) - 1)|0; + $expanded79 = $expanded80 ^ -1; + $96 = $94 & $expanded79; + $97 = $96; + $98 = HEAP32[$97>>2]|0; + $arglist_next21 = ((($97)) + 4|0); + HEAP32[$2>>2] = $arglist_next21; + $$mask = $98 & 255; + $99 = $0; + $100 = $99; + HEAP32[$100>>2] = $$mask; + $101 = (($99) + 4)|0; + $102 = $101; + HEAP32[$102>>2] = 0; + break L1; + break; + } + case 17: { + $arglist_current23 = HEAP32[$2>>2]|0; + $103 = $arglist_current23; + $104 = ((0) + 8|0); + $expanded84 = $104; + $expanded83 = (($expanded84) - 1)|0; + $105 = (($103) + ($expanded83))|0; + $106 = ((0) + 8|0); + $expanded88 = $106; + $expanded87 = (($expanded88) - 1)|0; + $expanded86 = $expanded87 ^ -1; + $107 = $105 & $expanded86; + $108 = $107; + $109 = +HEAPF64[$108>>3]; + $arglist_next24 = ((($108)) + 8|0); + HEAP32[$2>>2] = $arglist_next24; + HEAPF64[$0>>3] = $109; + break L1; + break; + } + case 18: { + $arglist_current26 = HEAP32[$2>>2]|0; + $110 = $arglist_current26; + $111 = ((0) + 8|0); + $expanded91 = $111; + $expanded90 = (($expanded91) - 1)|0; + $112 = (($110) + ($expanded90))|0; + $113 = ((0) + 8|0); + $expanded95 = $113; + $expanded94 = (($expanded95) - 1)|0; + $expanded93 = $expanded94 ^ -1; + $114 = $112 & $expanded93; + $115 = $114; + $116 = +HEAPF64[$115>>3]; + $arglist_next27 = ((($115)) + 8|0); + HEAP32[$2>>2] = $arglist_next27; + HEAPF64[$0>>3] = $116; + break L1; + break; + } + default: { + break L1; + } + } + } while(0); + } + } while(0); + return; +} +function _fmt_x($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$05$lcssa = 0, $$056 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; + var sp = 0; + sp = STACKTOP; + $4 = ($0|0)==(0); + $5 = ($1|0)==(0); + $6 = $4 & $5; + if ($6) { + $$05$lcssa = $2; + } else { + $$056 = $2;$15 = $1;$8 = $0; + while(1) { + $7 = $8 & 15; + $9 = (23248 + ($7)|0); + $10 = HEAP8[$9>>0]|0; + $11 = $10&255; + $12 = $11 | $3; + $13 = $12&255; + $14 = ((($$056)) + -1|0); + HEAP8[$14>>0] = $13; + $16 = (_bitshift64Lshr(($8|0),($15|0),4)|0); + $17 = tempRet0; + $18 = ($16|0)==(0); + $19 = ($17|0)==(0); + $20 = $18 & $19; + if ($20) { + $$05$lcssa = $14; + break; + } else { + $$056 = $14;$15 = $17;$8 = $16; + } + } + } + return ($$05$lcssa|0); +} +function _fmt_o($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$0$lcssa = 0, $$06 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ($0|0)==(0); + $4 = ($1|0)==(0); + $5 = $3 & $4; + if ($5) { + $$0$lcssa = $2; + } else { + $$06 = $2;$11 = $1;$7 = $0; + while(1) { + $6 = $7&255; + $8 = $6 & 7; + $9 = $8 | 48; + $10 = ((($$06)) + -1|0); + HEAP8[$10>>0] = $9; + $12 = (_bitshift64Lshr(($7|0),($11|0),3)|0); + $13 = tempRet0; + $14 = ($12|0)==(0); + $15 = ($13|0)==(0); + $16 = $14 & $15; + if ($16) { + $$0$lcssa = $10; + break; + } else { + $$06 = $10;$11 = $13;$7 = $12; + } + } + } + return ($$0$lcssa|0); +} +function _fmt_u($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$010$lcssa$off0 = 0, $$012 = 0, $$09$lcssa = 0, $$0914 = 0, $$1$lcssa = 0, $$111 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; + var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ($1>>>0)>(0); + $4 = ($0>>>0)>(4294967295); + $5 = ($1|0)==(0); + $6 = $5 & $4; + $7 = $3 | $6; + if ($7) { + $$0914 = $2;$8 = $0;$9 = $1; + while(1) { + $10 = (___uremdi3(($8|0),($9|0),10,0)|0); + $11 = tempRet0; + $12 = $10&255; + $13 = $12 | 48; + $14 = ((($$0914)) + -1|0); + HEAP8[$14>>0] = $13; + $15 = (___udivdi3(($8|0),($9|0),10,0)|0); + $16 = tempRet0; + $17 = ($9>>>0)>(9); + $18 = ($8>>>0)>(4294967295); + $19 = ($9|0)==(9); + $20 = $19 & $18; + $21 = $17 | $20; + if ($21) { + $$0914 = $14;$8 = $15;$9 = $16; + } else { + break; + } + } + $$010$lcssa$off0 = $15;$$09$lcssa = $14; + } else { + $$010$lcssa$off0 = $0;$$09$lcssa = $2; + } + $22 = ($$010$lcssa$off0|0)==(0); + if ($22) { + $$1$lcssa = $$09$lcssa; + } else { + $$012 = $$010$lcssa$off0;$$111 = $$09$lcssa; + while(1) { + $23 = (($$012>>>0) % 10)&-1; + $24 = $23 | 48; + $25 = $24&255; + $26 = ((($$111)) + -1|0); + HEAP8[$26>>0] = $25; + $27 = (($$012>>>0) / 10)&-1; + $28 = ($$012>>>0)<(10); + if ($28) { + $$1$lcssa = $26; + break; + } else { + $$012 = $27;$$111 = $26; + } + } + } + return ($$1$lcssa|0); +} +function _strerror($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (___pthread_self_105()|0); + $2 = ((($1)) + 188|0); + $3 = HEAP32[$2>>2]|0; + $4 = (___strerror_l($0,$3)|0); + return ($4|0); +} +function _memchr($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$0$lcssa = 0, $$035$lcssa = 0, $$035$lcssa65 = 0, $$03555 = 0, $$036$lcssa = 0, $$036$lcssa64 = 0, $$03654 = 0, $$046 = 0, $$137$lcssa = 0, $$13745 = 0, $$140 = 0, $$2 = 0, $$23839 = 0, $$3 = 0, $$lcssa = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0; + var $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0; + var $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond53 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = $1 & 255; + $4 = $0; + $5 = $4 & 3; + $6 = ($5|0)!=(0); + $7 = ($2|0)!=(0); + $or$cond53 = $7 & $6; + L1: do { + if ($or$cond53) { + $8 = $1&255; + $$03555 = $0;$$03654 = $2; + while(1) { + $9 = HEAP8[$$03555>>0]|0; + $10 = ($9<<24>>24)==($8<<24>>24); + if ($10) { + $$035$lcssa65 = $$03555;$$036$lcssa64 = $$03654; + label = 6; + break L1; + } + $11 = ((($$03555)) + 1|0); + $12 = (($$03654) + -1)|0; + $13 = $11; + $14 = $13 & 3; + $15 = ($14|0)!=(0); + $16 = ($12|0)!=(0); + $or$cond = $16 & $15; + if ($or$cond) { + $$03555 = $11;$$03654 = $12; + } else { + $$035$lcssa = $11;$$036$lcssa = $12;$$lcssa = $16; + label = 5; + break; + } + } + } else { + $$035$lcssa = $0;$$036$lcssa = $2;$$lcssa = $7; + label = 5; + } + } while(0); + if ((label|0) == 5) { + if ($$lcssa) { + $$035$lcssa65 = $$035$lcssa;$$036$lcssa64 = $$036$lcssa; + label = 6; + } else { + $$2 = $$035$lcssa;$$3 = 0; + } + } + L8: do { + if ((label|0) == 6) { + $17 = HEAP8[$$035$lcssa65>>0]|0; + $18 = $1&255; + $19 = ($17<<24>>24)==($18<<24>>24); + if ($19) { + $$2 = $$035$lcssa65;$$3 = $$036$lcssa64; + } else { + $20 = Math_imul($3, 16843009)|0; + $21 = ($$036$lcssa64>>>0)>(3); + L11: do { + if ($21) { + $$046 = $$035$lcssa65;$$13745 = $$036$lcssa64; + while(1) { + $22 = HEAP32[$$046>>2]|0; + $23 = $22 ^ $20; + $24 = (($23) + -16843009)|0; + $25 = $23 & -2139062144; + $26 = $25 ^ -2139062144; + $27 = $26 & $24; + $28 = ($27|0)==(0); + if (!($28)) { + break; + } + $29 = ((($$046)) + 4|0); + $30 = (($$13745) + -4)|0; + $31 = ($30>>>0)>(3); + if ($31) { + $$046 = $29;$$13745 = $30; + } else { + $$0$lcssa = $29;$$137$lcssa = $30; + label = 11; + break L11; + } + } + $$140 = $$046;$$23839 = $$13745; + } else { + $$0$lcssa = $$035$lcssa65;$$137$lcssa = $$036$lcssa64; + label = 11; + } + } while(0); + if ((label|0) == 11) { + $32 = ($$137$lcssa|0)==(0); + if ($32) { + $$2 = $$0$lcssa;$$3 = 0; + break; + } else { + $$140 = $$0$lcssa;$$23839 = $$137$lcssa; + } + } + while(1) { + $33 = HEAP8[$$140>>0]|0; + $34 = ($33<<24>>24)==($18<<24>>24); + if ($34) { + $$2 = $$140;$$3 = $$23839; + break L8; + } + $35 = ((($$140)) + 1|0); + $36 = (($$23839) + -1)|0; + $37 = ($36|0)==(0); + if ($37) { + $$2 = $35;$$3 = 0; + break; + } else { + $$140 = $35;$$23839 = $36; + } + } + } + } + } while(0); + $38 = ($$3|0)!=(0); + $39 = $38 ? $$2 : 0; + return ($39|0); +} +function _pad_674($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$0$lcssa = 0, $$011 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0); + $5 = sp; + $6 = $4 & 73728; + $7 = ($6|0)==(0); + $8 = ($2|0)>($3|0); + $or$cond = $8 & $7; + if ($or$cond) { + $9 = (($2) - ($3))|0; + $10 = ($9>>>0)<(256); + $11 = $10 ? $9 : 256; + _memset(($5|0),($1|0),($11|0))|0; + $12 = ($9>>>0)>(255); + if ($12) { + $13 = (($2) - ($3))|0; + $$011 = $9; + while(1) { + _out($0,$5,256); + $14 = (($$011) + -256)|0; + $15 = ($14>>>0)>(255); + if ($15) { + $$011 = $14; + } else { + break; + } + } + $16 = $13 & 255; + $$0$lcssa = $16; + } else { + $$0$lcssa = $9; + } + _out($0,$5,$$0$lcssa); + } + STACKTOP = sp;return; +} +function _wctomb($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ($0|0)==(0|0); + if ($2) { + $$0 = 0; + } else { + $3 = (_wcrtomb($0,$1,0)|0); + $$0 = $3; + } + return ($$0|0); +} +function _fmt_fp($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = +$1; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + var $$ = 0, $$$ = 0, $$$$559 = 0.0, $$$3484 = 0, $$$3484691 = 0, $$$3484692 = 0, $$$3501 = 0, $$$4502 = 0, $$$542 = 0.0, $$$559 = 0.0, $$0 = 0, $$0463$lcssa = 0, $$0463584 = 0, $$0464594 = 0, $$0471 = 0.0, $$0479 = 0, $$0487642 = 0, $$0488 = 0, $$0488653 = 0, $$0488655 = 0; + var $$0496$$9 = 0, $$0497654 = 0, $$0498 = 0, $$0509582 = 0.0, $$0510 = 0, $$0511 = 0, $$0514637 = 0, $$0520 = 0, $$0521 = 0, $$0521$ = 0, $$0523 = 0, $$0525 = 0, $$0527 = 0, $$0527629 = 0, $$0527631 = 0, $$0530636 = 0, $$1465 = 0, $$1467 = 0.0, $$1469 = 0.0, $$1472 = 0.0; + var $$1480 = 0, $$1482$lcssa = 0, $$1482661 = 0, $$1489641 = 0, $$1499$lcssa = 0, $$1499660 = 0, $$1508583 = 0, $$1512$lcssa = 0, $$1512607 = 0, $$1515 = 0, $$1524 = 0, $$1526 = 0, $$1528614 = 0, $$1531$lcssa = 0, $$1531630 = 0, $$1598 = 0, $$2 = 0, $$2473 = 0.0, $$2476 = 0, $$2476$$547 = 0; + var $$2476$$549 = 0, $$2483$ph = 0, $$2500 = 0, $$2513 = 0, $$2516618 = 0, $$2529 = 0, $$2532617 = 0, $$3 = 0.0, $$3477 = 0, $$3484$lcssa = 0, $$3484648 = 0, $$3501$lcssa = 0, $$3501647 = 0, $$3533613 = 0, $$4 = 0.0, $$4478$lcssa = 0, $$4478590 = 0, $$4492 = 0, $$4502 = 0, $$4518 = 0; + var $$5$lcssa = 0, $$534$ = 0, $$539 = 0, $$539$ = 0, $$542 = 0.0, $$546 = 0, $$548 = 0, $$5486$lcssa = 0, $$5486623 = 0, $$5493597 = 0, $$5519$ph = 0, $$555 = 0, $$556 = 0, $$559 = 0.0, $$5602 = 0, $$6 = 0, $$6494589 = 0, $$7495601 = 0, $$7505 = 0, $$7505$ = 0; + var $$7505$ph = 0, $$8 = 0, $$9$ph = 0, $$lcssa673 = 0, $$neg = 0, $$neg567 = 0, $$pn = 0, $$pn566 = 0, $$pr = 0, $$pr564 = 0, $$pre = 0, $$pre$phi690Z2D = 0, $$pre689 = 0, $$sink545$lcssa = 0, $$sink545622 = 0, $$sink562 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0; + var $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0.0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0.0, $117 = 0.0, $118 = 0.0, $119 = 0, $12 = 0, $120 = 0; + var $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0; + var $14 = 0.0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0; + var $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0; + var $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0; + var $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0; + var $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0.0, $229 = 0.0, $23 = 0; + var $230 = 0, $231 = 0.0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0; + var $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0; + var $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0; + var $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0; + var $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0; + var $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0; + var $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0.0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0; + var $358 = 0, $359 = 0, $36 = 0.0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0; + var $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0.0, $52 = 0, $53 = 0, $54 = 0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0.0, $61 = 0, $62 = 0, $63 = 0; + var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0; + var $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0.0, $88 = 0.0, $89 = 0.0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond = 0; + var $narrow = 0, $not$ = 0, $notlhs = 0, $notrhs = 0, $or$cond = 0, $or$cond3$not = 0, $or$cond537 = 0, $or$cond541 = 0, $or$cond544 = 0, $or$cond554 = 0, $or$cond6 = 0, $scevgep684 = 0, $scevgep684685 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 560|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(560|0); + $6 = sp + 8|0; + $7 = sp; + $8 = sp + 524|0; + $9 = $8; + $10 = sp + 512|0; + HEAP32[$7>>2] = 0; + $11 = ((($10)) + 12|0); + (___DOUBLE_BITS_675($1)|0); + $12 = tempRet0; + $13 = ($12|0)<(0); + if ($13) { + $14 = -$1; + $$0471 = $14;$$0520 = 1;$$0521 = 23217; + } else { + $15 = $4 & 2048; + $16 = ($15|0)==(0); + $17 = $4 & 1; + $18 = ($17|0)==(0); + $$ = $18 ? (23218) : (23223); + $$$ = $16 ? $$ : (23220); + $19 = $4 & 2049; + $narrow = ($19|0)!=(0); + $$534$ = $narrow&1; + $$0471 = $1;$$0520 = $$534$;$$0521 = $$$; + } + (___DOUBLE_BITS_675($$0471)|0); + $20 = tempRet0; + $21 = $20 & 2146435072; + $22 = ($21>>>0)<(2146435072); + $23 = (0)<(0); + $24 = ($21|0)==(2146435072); + $25 = $24 & $23; + $26 = $22 | $25; + do { + if ($26) { + $35 = (+_frexpl($$0471,$7)); + $36 = $35 * 2.0; + $37 = $36 != 0.0; + if ($37) { + $38 = HEAP32[$7>>2]|0; + $39 = (($38) + -1)|0; + HEAP32[$7>>2] = $39; + } + $40 = $5 | 32; + $41 = ($40|0)==(97); + if ($41) { + $42 = $5 & 32; + $43 = ($42|0)==(0); + $44 = ((($$0521)) + 9|0); + $$0521$ = $43 ? $$0521 : $44; + $45 = $$0520 | 2; + $46 = ($3>>>0)>(11); + $47 = (12 - ($3))|0; + $48 = ($47|0)==(0); + $49 = $46 | $48; + do { + if ($49) { + $$1472 = $36; + } else { + $$0509582 = 8.0;$$1508583 = $47; + while(1) { + $50 = (($$1508583) + -1)|0; + $51 = $$0509582 * 16.0; + $52 = ($50|0)==(0); + if ($52) { + break; + } else { + $$0509582 = $51;$$1508583 = $50; + } + } + $53 = HEAP8[$$0521$>>0]|0; + $54 = ($53<<24>>24)==(45); + if ($54) { + $55 = -$36; + $56 = $55 - $51; + $57 = $51 + $56; + $58 = -$57; + $$1472 = $58; + break; + } else { + $59 = $36 + $51; + $60 = $59 - $51; + $$1472 = $60; + break; + } + } + } while(0); + $61 = HEAP32[$7>>2]|0; + $62 = ($61|0)<(0); + $63 = (0 - ($61))|0; + $64 = $62 ? $63 : $61; + $65 = ($64|0)<(0); + $66 = $65 << 31 >> 31; + $67 = (_fmt_u($64,$66,$11)|0); + $68 = ($67|0)==($11|0); + if ($68) { + $69 = ((($10)) + 11|0); + HEAP8[$69>>0] = 48; + $$0511 = $69; + } else { + $$0511 = $67; + } + $70 = $61 >> 31; + $71 = $70 & 2; + $72 = (($71) + 43)|0; + $73 = $72&255; + $74 = ((($$0511)) + -1|0); + HEAP8[$74>>0] = $73; + $75 = (($5) + 15)|0; + $76 = $75&255; + $77 = ((($$0511)) + -2|0); + HEAP8[$77>>0] = $76; + $notrhs = ($3|0)<(1); + $78 = $4 & 8; + $79 = ($78|0)==(0); + $$0523 = $8;$$2473 = $$1472; + while(1) { + $80 = (~~(($$2473))); + $81 = (23248 + ($80)|0); + $82 = HEAP8[$81>>0]|0; + $83 = $82&255; + $84 = $83 | $42; + $85 = $84&255; + $86 = ((($$0523)) + 1|0); + HEAP8[$$0523>>0] = $85; + $87 = (+($80|0)); + $88 = $$2473 - $87; + $89 = $88 * 16.0; + $90 = $86; + $91 = (($90) - ($9))|0; + $92 = ($91|0)==(1); + if ($92) { + $notlhs = $89 == 0.0; + $or$cond3$not = $notrhs & $notlhs; + $or$cond = $79 & $or$cond3$not; + if ($or$cond) { + $$1524 = $86; + } else { + $93 = ((($$0523)) + 2|0); + HEAP8[$86>>0] = 46; + $$1524 = $93; + } + } else { + $$1524 = $86; + } + $94 = $89 != 0.0; + if ($94) { + $$0523 = $$1524;$$2473 = $89; + } else { + break; + } + } + $95 = ($3|0)!=(0); + $96 = $77; + $97 = $11; + $98 = $$1524; + $99 = (($98) - ($9))|0; + $100 = (($97) - ($96))|0; + $101 = (($99) + -2)|0; + $102 = ($101|0)<($3|0); + $or$cond537 = $95 & $102; + $103 = (($3) + 2)|0; + $$pn = $or$cond537 ? $103 : $99; + $$0525 = (($100) + ($45))|0; + $104 = (($$0525) + ($$pn))|0; + _pad_674($0,32,$2,$104,$4); + _out($0,$$0521$,$45); + $105 = $4 ^ 65536; + _pad_674($0,48,$2,$104,$105); + _out($0,$8,$99); + $106 = (($$pn) - ($99))|0; + _pad_674($0,48,$106,0,0); + _out($0,$77,$100); + $107 = $4 ^ 8192; + _pad_674($0,32,$2,$104,$107); + $$sink562 = $104; + break; + } + $108 = ($3|0)<(0); + $$539 = $108 ? 6 : $3; + if ($37) { + $109 = $36 * 268435456.0; + $110 = HEAP32[$7>>2]|0; + $111 = (($110) + -28)|0; + HEAP32[$7>>2] = $111; + $$3 = $109;$$pr = $111; + } else { + $$pre = HEAP32[$7>>2]|0; + $$3 = $36;$$pr = $$pre; + } + $112 = ($$pr|0)<(0); + $113 = ((($6)) + 288|0); + $$556 = $112 ? $6 : $113; + $$0498 = $$556;$$4 = $$3; + while(1) { + $114 = (~~(($$4))>>>0); + HEAP32[$$0498>>2] = $114; + $115 = ((($$0498)) + 4|0); + $116 = (+($114>>>0)); + $117 = $$4 - $116; + $118 = $117 * 1.0E+9; + $119 = $118 != 0.0; + if ($119) { + $$0498 = $115;$$4 = $118; + } else { + break; + } + } + $120 = ($$pr|0)>(0); + if ($120) { + $$1482661 = $$556;$$1499660 = $115;$122 = $$pr; + while(1) { + $121 = ($122|0)<(29); + $123 = $121 ? $122 : 29; + $$0488653 = ((($$1499660)) + -4|0); + $124 = ($$0488653>>>0)<($$1482661>>>0); + if ($124) { + $$2483$ph = $$1482661; + } else { + $$0488655 = $$0488653;$$0497654 = 0; + while(1) { + $125 = HEAP32[$$0488655>>2]|0; + $126 = (_bitshift64Shl(($125|0),0,($123|0))|0); + $127 = tempRet0; + $128 = (_i64Add(($126|0),($127|0),($$0497654|0),0)|0); + $129 = tempRet0; + $130 = (___uremdi3(($128|0),($129|0),1000000000,0)|0); + $131 = tempRet0; + HEAP32[$$0488655>>2] = $130; + $132 = (___udivdi3(($128|0),($129|0),1000000000,0)|0); + $133 = tempRet0; + $$0488 = ((($$0488655)) + -4|0); + $134 = ($$0488>>>0)<($$1482661>>>0); + if ($134) { + break; + } else { + $$0488655 = $$0488;$$0497654 = $132; + } + } + $135 = ($132|0)==(0); + if ($135) { + $$2483$ph = $$1482661; + } else { + $136 = ((($$1482661)) + -4|0); + HEAP32[$136>>2] = $132; + $$2483$ph = $136; + } + } + $$2500 = $$1499660; + while(1) { + $137 = ($$2500>>>0)>($$2483$ph>>>0); + if (!($137)) { + break; + } + $138 = ((($$2500)) + -4|0); + $139 = HEAP32[$138>>2]|0; + $140 = ($139|0)==(0); + if ($140) { + $$2500 = $138; + } else { + break; + } + } + $141 = HEAP32[$7>>2]|0; + $142 = (($141) - ($123))|0; + HEAP32[$7>>2] = $142; + $143 = ($142|0)>(0); + if ($143) { + $$1482661 = $$2483$ph;$$1499660 = $$2500;$122 = $142; + } else { + $$1482$lcssa = $$2483$ph;$$1499$lcssa = $$2500;$$pr564 = $142; + break; + } + } + } else { + $$1482$lcssa = $$556;$$1499$lcssa = $115;$$pr564 = $$pr; + } + $144 = ($$pr564|0)<(0); + if ($144) { + $145 = (($$539) + 25)|0; + $146 = (($145|0) / 9)&-1; + $147 = (($146) + 1)|0; + $148 = ($40|0)==(102); + $$3484648 = $$1482$lcssa;$$3501647 = $$1499$lcssa;$150 = $$pr564; + while(1) { + $149 = (0 - ($150))|0; + $151 = ($149|0)<(9); + $152 = $151 ? $149 : 9; + $153 = ($$3484648>>>0)<($$3501647>>>0); + if ($153) { + $157 = 1 << $152; + $158 = (($157) + -1)|0; + $159 = 1000000000 >>> $152; + $$0487642 = 0;$$1489641 = $$3484648; + while(1) { + $160 = HEAP32[$$1489641>>2]|0; + $161 = $160 & $158; + $162 = $160 >>> $152; + $163 = (($162) + ($$0487642))|0; + HEAP32[$$1489641>>2] = $163; + $164 = Math_imul($161, $159)|0; + $165 = ((($$1489641)) + 4|0); + $166 = ($165>>>0)<($$3501647>>>0); + if ($166) { + $$0487642 = $164;$$1489641 = $165; + } else { + break; + } + } + $167 = HEAP32[$$3484648>>2]|0; + $168 = ($167|0)==(0); + $169 = ((($$3484648)) + 4|0); + $$$3484 = $168 ? $169 : $$3484648; + $170 = ($164|0)==(0); + if ($170) { + $$$3484692 = $$$3484;$$4502 = $$3501647; + } else { + $171 = ((($$3501647)) + 4|0); + HEAP32[$$3501647>>2] = $164; + $$$3484692 = $$$3484;$$4502 = $171; + } + } else { + $154 = HEAP32[$$3484648>>2]|0; + $155 = ($154|0)==(0); + $156 = ((($$3484648)) + 4|0); + $$$3484691 = $155 ? $156 : $$3484648; + $$$3484692 = $$$3484691;$$4502 = $$3501647; + } + $172 = $148 ? $$556 : $$$3484692; + $173 = $$4502; + $174 = $172; + $175 = (($173) - ($174))|0; + $176 = $175 >> 2; + $177 = ($176|0)>($147|0); + $178 = (($172) + ($147<<2)|0); + $$$4502 = $177 ? $178 : $$4502; + $179 = HEAP32[$7>>2]|0; + $180 = (($179) + ($152))|0; + HEAP32[$7>>2] = $180; + $181 = ($180|0)<(0); + if ($181) { + $$3484648 = $$$3484692;$$3501647 = $$$4502;$150 = $180; + } else { + $$3484$lcssa = $$$3484692;$$3501$lcssa = $$$4502; + break; + } + } + } else { + $$3484$lcssa = $$1482$lcssa;$$3501$lcssa = $$1499$lcssa; + } + $182 = ($$3484$lcssa>>>0)<($$3501$lcssa>>>0); + $183 = $$556; + if ($182) { + $184 = $$3484$lcssa; + $185 = (($183) - ($184))|0; + $186 = $185 >> 2; + $187 = ($186*9)|0; + $188 = HEAP32[$$3484$lcssa>>2]|0; + $189 = ($188>>>0)<(10); + if ($189) { + $$1515 = $187; + } else { + $$0514637 = $187;$$0530636 = 10; + while(1) { + $190 = ($$0530636*10)|0; + $191 = (($$0514637) + 1)|0; + $192 = ($188>>>0)<($190>>>0); + if ($192) { + $$1515 = $191; + break; + } else { + $$0514637 = $191;$$0530636 = $190; + } + } + } + } else { + $$1515 = 0; + } + $193 = ($40|0)!=(102); + $194 = $193 ? $$1515 : 0; + $195 = (($$539) - ($194))|0; + $196 = ($40|0)==(103); + $197 = ($$539|0)!=(0); + $198 = $197 & $196; + $$neg = $198 << 31 >> 31; + $199 = (($195) + ($$neg))|0; + $200 = $$3501$lcssa; + $201 = (($200) - ($183))|0; + $202 = $201 >> 2; + $203 = ($202*9)|0; + $204 = (($203) + -9)|0; + $205 = ($199|0)<($204|0); + if ($205) { + $206 = ((($$556)) + 4|0); + $207 = (($199) + 9216)|0; + $208 = (($207|0) / 9)&-1; + $209 = (($208) + -1024)|0; + $210 = (($206) + ($209<<2)|0); + $211 = (($207|0) % 9)&-1; + $$0527629 = (($211) + 1)|0; + $212 = ($$0527629|0)<(9); + if ($212) { + $$0527631 = $$0527629;$$1531630 = 10; + while(1) { + $213 = ($$1531630*10)|0; + $$0527 = (($$0527631) + 1)|0; + $exitcond = ($$0527|0)==(9); + if ($exitcond) { + $$1531$lcssa = $213; + break; + } else { + $$0527631 = $$0527;$$1531630 = $213; + } + } + } else { + $$1531$lcssa = 10; + } + $214 = HEAP32[$210>>2]|0; + $215 = (($214>>>0) % ($$1531$lcssa>>>0))&-1; + $216 = ($215|0)==(0); + $217 = ((($210)) + 4|0); + $218 = ($217|0)==($$3501$lcssa|0); + $or$cond541 = $218 & $216; + if ($or$cond541) { + $$4492 = $210;$$4518 = $$1515;$$8 = $$3484$lcssa; + } else { + $219 = (($214>>>0) / ($$1531$lcssa>>>0))&-1; + $220 = $219 & 1; + $221 = ($220|0)==(0); + $$542 = $221 ? 9007199254740992.0 : 9007199254740994.0; + $222 = (($$1531$lcssa|0) / 2)&-1; + $223 = ($215>>>0)<($222>>>0); + $224 = ($215|0)==($222|0); + $or$cond544 = $218 & $224; + $$559 = $or$cond544 ? 1.0 : 1.5; + $$$559 = $223 ? 0.5 : $$559; + $225 = ($$0520|0)==(0); + if ($225) { + $$1467 = $$$559;$$1469 = $$542; + } else { + $226 = HEAP8[$$0521>>0]|0; + $227 = ($226<<24>>24)==(45); + $228 = -$$542; + $229 = -$$$559; + $$$542 = $227 ? $228 : $$542; + $$$$559 = $227 ? $229 : $$$559; + $$1467 = $$$$559;$$1469 = $$$542; + } + $230 = (($214) - ($215))|0; + HEAP32[$210>>2] = $230; + $231 = $$1469 + $$1467; + $232 = $231 != $$1469; + if ($232) { + $233 = (($230) + ($$1531$lcssa))|0; + HEAP32[$210>>2] = $233; + $234 = ($233>>>0)>(999999999); + if ($234) { + $$5486623 = $$3484$lcssa;$$sink545622 = $210; + while(1) { + $235 = ((($$sink545622)) + -4|0); + HEAP32[$$sink545622>>2] = 0; + $236 = ($235>>>0)<($$5486623>>>0); + if ($236) { + $237 = ((($$5486623)) + -4|0); + HEAP32[$237>>2] = 0; + $$6 = $237; + } else { + $$6 = $$5486623; + } + $238 = HEAP32[$235>>2]|0; + $239 = (($238) + 1)|0; + HEAP32[$235>>2] = $239; + $240 = ($239>>>0)>(999999999); + if ($240) { + $$5486623 = $$6;$$sink545622 = $235; + } else { + $$5486$lcssa = $$6;$$sink545$lcssa = $235; + break; + } + } + } else { + $$5486$lcssa = $$3484$lcssa;$$sink545$lcssa = $210; + } + $241 = $$5486$lcssa; + $242 = (($183) - ($241))|0; + $243 = $242 >> 2; + $244 = ($243*9)|0; + $245 = HEAP32[$$5486$lcssa>>2]|0; + $246 = ($245>>>0)<(10); + if ($246) { + $$4492 = $$sink545$lcssa;$$4518 = $244;$$8 = $$5486$lcssa; + } else { + $$2516618 = $244;$$2532617 = 10; + while(1) { + $247 = ($$2532617*10)|0; + $248 = (($$2516618) + 1)|0; + $249 = ($245>>>0)<($247>>>0); + if ($249) { + $$4492 = $$sink545$lcssa;$$4518 = $248;$$8 = $$5486$lcssa; + break; + } else { + $$2516618 = $248;$$2532617 = $247; + } + } + } + } else { + $$4492 = $210;$$4518 = $$1515;$$8 = $$3484$lcssa; + } + } + $250 = ((($$4492)) + 4|0); + $251 = ($$3501$lcssa>>>0)>($250>>>0); + $$$3501 = $251 ? $250 : $$3501$lcssa; + $$5519$ph = $$4518;$$7505$ph = $$$3501;$$9$ph = $$8; + } else { + $$5519$ph = $$1515;$$7505$ph = $$3501$lcssa;$$9$ph = $$3484$lcssa; + } + $$7505 = $$7505$ph; + while(1) { + $252 = ($$7505>>>0)>($$9$ph>>>0); + if (!($252)) { + $$lcssa673 = 0; + break; + } + $253 = ((($$7505)) + -4|0); + $254 = HEAP32[$253>>2]|0; + $255 = ($254|0)==(0); + if ($255) { + $$7505 = $253; + } else { + $$lcssa673 = 1; + break; + } + } + $256 = (0 - ($$5519$ph))|0; + do { + if ($196) { + $not$ = $197 ^ 1; + $257 = $not$&1; + $$539$ = (($257) + ($$539))|0; + $258 = ($$539$|0)>($$5519$ph|0); + $259 = ($$5519$ph|0)>(-5); + $or$cond6 = $258 & $259; + if ($or$cond6) { + $260 = (($5) + -1)|0; + $$neg567 = (($$539$) + -1)|0; + $261 = (($$neg567) - ($$5519$ph))|0; + $$0479 = $260;$$2476 = $261; + } else { + $262 = (($5) + -2)|0; + $263 = (($$539$) + -1)|0; + $$0479 = $262;$$2476 = $263; + } + $264 = $4 & 8; + $265 = ($264|0)==(0); + if ($265) { + if ($$lcssa673) { + $266 = ((($$7505)) + -4|0); + $267 = HEAP32[$266>>2]|0; + $268 = ($267|0)==(0); + if ($268) { + $$2529 = 9; + } else { + $269 = (($267>>>0) % 10)&-1; + $270 = ($269|0)==(0); + if ($270) { + $$1528614 = 0;$$3533613 = 10; + while(1) { + $271 = ($$3533613*10)|0; + $272 = (($$1528614) + 1)|0; + $273 = (($267>>>0) % ($271>>>0))&-1; + $274 = ($273|0)==(0); + if ($274) { + $$1528614 = $272;$$3533613 = $271; + } else { + $$2529 = $272; + break; + } + } + } else { + $$2529 = 0; + } + } + } else { + $$2529 = 9; + } + $275 = $$0479 | 32; + $276 = ($275|0)==(102); + $277 = $$7505; + $278 = (($277) - ($183))|0; + $279 = $278 >> 2; + $280 = ($279*9)|0; + $281 = (($280) + -9)|0; + if ($276) { + $282 = (($281) - ($$2529))|0; + $283 = ($282|0)>(0); + $$546 = $283 ? $282 : 0; + $284 = ($$2476|0)<($$546|0); + $$2476$$547 = $284 ? $$2476 : $$546; + $$1480 = $$0479;$$3477 = $$2476$$547;$$pre$phi690Z2D = 0; + break; + } else { + $285 = (($281) + ($$5519$ph))|0; + $286 = (($285) - ($$2529))|0; + $287 = ($286|0)>(0); + $$548 = $287 ? $286 : 0; + $288 = ($$2476|0)<($$548|0); + $$2476$$549 = $288 ? $$2476 : $$548; + $$1480 = $$0479;$$3477 = $$2476$$549;$$pre$phi690Z2D = 0; + break; + } + } else { + $$1480 = $$0479;$$3477 = $$2476;$$pre$phi690Z2D = $264; + } + } else { + $$pre689 = $4 & 8; + $$1480 = $5;$$3477 = $$539;$$pre$phi690Z2D = $$pre689; + } + } while(0); + $289 = $$3477 | $$pre$phi690Z2D; + $290 = ($289|0)!=(0); + $291 = $290&1; + $292 = $$1480 | 32; + $293 = ($292|0)==(102); + if ($293) { + $294 = ($$5519$ph|0)>(0); + $295 = $294 ? $$5519$ph : 0; + $$2513 = 0;$$pn566 = $295; + } else { + $296 = ($$5519$ph|0)<(0); + $297 = $296 ? $256 : $$5519$ph; + $298 = ($297|0)<(0); + $299 = $298 << 31 >> 31; + $300 = (_fmt_u($297,$299,$11)|0); + $301 = $11; + $302 = $300; + $303 = (($301) - ($302))|0; + $304 = ($303|0)<(2); + if ($304) { + $$1512607 = $300; + while(1) { + $305 = ((($$1512607)) + -1|0); + HEAP8[$305>>0] = 48; + $306 = $305; + $307 = (($301) - ($306))|0; + $308 = ($307|0)<(2); + if ($308) { + $$1512607 = $305; + } else { + $$1512$lcssa = $305; + break; + } + } + } else { + $$1512$lcssa = $300; + } + $309 = $$5519$ph >> 31; + $310 = $309 & 2; + $311 = (($310) + 43)|0; + $312 = $311&255; + $313 = ((($$1512$lcssa)) + -1|0); + HEAP8[$313>>0] = $312; + $314 = $$1480&255; + $315 = ((($$1512$lcssa)) + -2|0); + HEAP8[$315>>0] = $314; + $316 = $315; + $317 = (($301) - ($316))|0; + $$2513 = $315;$$pn566 = $317; + } + $318 = (($$0520) + 1)|0; + $319 = (($318) + ($$3477))|0; + $$1526 = (($319) + ($291))|0; + $320 = (($$1526) + ($$pn566))|0; + _pad_674($0,32,$2,$320,$4); + _out($0,$$0521,$$0520); + $321 = $4 ^ 65536; + _pad_674($0,48,$2,$320,$321); + if ($293) { + $322 = ($$9$ph>>>0)>($$556>>>0); + $$0496$$9 = $322 ? $$556 : $$9$ph; + $323 = ((($8)) + 9|0); + $324 = $323; + $325 = ((($8)) + 8|0); + $$5493597 = $$0496$$9; + while(1) { + $326 = HEAP32[$$5493597>>2]|0; + $327 = (_fmt_u($326,0,$323)|0); + $328 = ($$5493597|0)==($$0496$$9|0); + if ($328) { + $334 = ($327|0)==($323|0); + if ($334) { + HEAP8[$325>>0] = 48; + $$1465 = $325; + } else { + $$1465 = $327; + } + } else { + $329 = ($327>>>0)>($8>>>0); + if ($329) { + $330 = $327; + $331 = (($330) - ($9))|0; + _memset(($8|0),48,($331|0))|0; + $$0464594 = $327; + while(1) { + $332 = ((($$0464594)) + -1|0); + $333 = ($332>>>0)>($8>>>0); + if ($333) { + $$0464594 = $332; + } else { + $$1465 = $332; + break; + } + } + } else { + $$1465 = $327; + } + } + $335 = $$1465; + $336 = (($324) - ($335))|0; + _out($0,$$1465,$336); + $337 = ((($$5493597)) + 4|0); + $338 = ($337>>>0)>($$556>>>0); + if ($338) { + break; + } else { + $$5493597 = $337; + } + } + $339 = ($289|0)==(0); + if (!($339)) { + _out($0,23264,1); + } + $340 = ($337>>>0)<($$7505>>>0); + $341 = ($$3477|0)>(0); + $342 = $340 & $341; + if ($342) { + $$4478590 = $$3477;$$6494589 = $337; + while(1) { + $343 = HEAP32[$$6494589>>2]|0; + $344 = (_fmt_u($343,0,$323)|0); + $345 = ($344>>>0)>($8>>>0); + if ($345) { + $346 = $344; + $347 = (($346) - ($9))|0; + _memset(($8|0),48,($347|0))|0; + $$0463584 = $344; + while(1) { + $348 = ((($$0463584)) + -1|0); + $349 = ($348>>>0)>($8>>>0); + if ($349) { + $$0463584 = $348; + } else { + $$0463$lcssa = $348; + break; + } + } + } else { + $$0463$lcssa = $344; + } + $350 = ($$4478590|0)<(9); + $351 = $350 ? $$4478590 : 9; + _out($0,$$0463$lcssa,$351); + $352 = ((($$6494589)) + 4|0); + $353 = (($$4478590) + -9)|0; + $354 = ($352>>>0)<($$7505>>>0); + $355 = ($$4478590|0)>(9); + $356 = $354 & $355; + if ($356) { + $$4478590 = $353;$$6494589 = $352; + } else { + $$4478$lcssa = $353; + break; + } + } + } else { + $$4478$lcssa = $$3477; + } + $357 = (($$4478$lcssa) + 9)|0; + _pad_674($0,48,$357,9,0); + } else { + $358 = ((($$9$ph)) + 4|0); + $$7505$ = $$lcssa673 ? $$7505 : $358; + $359 = ($$3477|0)>(-1); + if ($359) { + $360 = ((($8)) + 9|0); + $361 = ($$pre$phi690Z2D|0)==(0); + $362 = $360; + $363 = (0 - ($9))|0; + $364 = ((($8)) + 8|0); + $$5602 = $$3477;$$7495601 = $$9$ph; + while(1) { + $365 = HEAP32[$$7495601>>2]|0; + $366 = (_fmt_u($365,0,$360)|0); + $367 = ($366|0)==($360|0); + if ($367) { + HEAP8[$364>>0] = 48; + $$0 = $364; + } else { + $$0 = $366; + } + $368 = ($$7495601|0)==($$9$ph|0); + do { + if ($368) { + $372 = ((($$0)) + 1|0); + _out($0,$$0,1); + $373 = ($$5602|0)<(1); + $or$cond554 = $361 & $373; + if ($or$cond554) { + $$2 = $372; + break; + } + _out($0,23264,1); + $$2 = $372; + } else { + $369 = ($$0>>>0)>($8>>>0); + if (!($369)) { + $$2 = $$0; + break; + } + $scevgep684 = (($$0) + ($363)|0); + $scevgep684685 = $scevgep684; + _memset(($8|0),48,($scevgep684685|0))|0; + $$1598 = $$0; + while(1) { + $370 = ((($$1598)) + -1|0); + $371 = ($370>>>0)>($8>>>0); + if ($371) { + $$1598 = $370; + } else { + $$2 = $370; + break; + } + } + } + } while(0); + $374 = $$2; + $375 = (($362) - ($374))|0; + $376 = ($$5602|0)>($375|0); + $377 = $376 ? $375 : $$5602; + _out($0,$$2,$377); + $378 = (($$5602) - ($375))|0; + $379 = ((($$7495601)) + 4|0); + $380 = ($379>>>0)<($$7505$>>>0); + $381 = ($378|0)>(-1); + $382 = $380 & $381; + if ($382) { + $$5602 = $378;$$7495601 = $379; + } else { + $$5$lcssa = $378; + break; + } + } + } else { + $$5$lcssa = $$3477; + } + $383 = (($$5$lcssa) + 18)|0; + _pad_674($0,48,$383,18,0); + $384 = $11; + $385 = $$2513; + $386 = (($384) - ($385))|0; + _out($0,$$2513,$386); + } + $387 = $4 ^ 8192; + _pad_674($0,32,$2,$320,$387); + $$sink562 = $320; + } else { + $27 = $5 & 32; + $28 = ($27|0)!=(0); + $29 = $28 ? 23236 : 23240; + $30 = ($$0471 != $$0471) | (0.0 != 0.0); + $31 = $28 ? 25167 : 23244; + $$0510 = $30 ? $31 : $29; + $32 = (($$0520) + 3)|0; + $33 = $4 & -65537; + _pad_674($0,32,$2,$32,$33); + _out($0,$$0521,$$0520); + _out($0,$$0510,3); + $34 = $4 ^ 8192; + _pad_674($0,32,$2,$32,$34); + $$sink562 = $32; + } + } while(0); + $388 = ($$sink562|0)<($2|0); + $$555 = $388 ? $2 : $$sink562; + STACKTOP = sp;return ($$555|0); +} +function ___DOUBLE_BITS_675($0) { + $0 = +$0; + var $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF64[tempDoublePtr>>3] = $0;$1 = HEAP32[tempDoublePtr>>2]|0; + $2 = HEAP32[tempDoublePtr+4>>2]|0; + tempRet0 = ($2); + return ($1|0); +} +function _frexpl($0,$1) { + $0 = +$0; + $1 = $1|0; + var $2 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = (+_frexp($0,$1)); + return (+$2); +} +function _frexp($0,$1) { + $0 = +$0; + $1 = $1|0; + var $$0 = 0.0, $$016 = 0.0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0.0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0.0, $storemerge = 0, $trunc$clear = 0, label = 0; + var sp = 0; + sp = STACKTOP; + HEAPF64[tempDoublePtr>>3] = $0;$2 = HEAP32[tempDoublePtr>>2]|0; + $3 = HEAP32[tempDoublePtr+4>>2]|0; + $4 = (_bitshift64Lshr(($2|0),($3|0),52)|0); + $5 = tempRet0; + $6 = $4&65535; + $trunc$clear = $6 & 2047; + switch ($trunc$clear<<16>>16) { + case 0: { + $7 = $0 != 0.0; + if ($7) { + $8 = $0 * 1.8446744073709552E+19; + $9 = (+_frexp($8,$1)); + $10 = HEAP32[$1>>2]|0; + $11 = (($10) + -64)|0; + $$016 = $9;$storemerge = $11; + } else { + $$016 = $0;$storemerge = 0; + } + HEAP32[$1>>2] = $storemerge; + $$0 = $$016; + break; + } + case 2047: { + $$0 = $0; + break; + } + default: { + $12 = $4 & 2047; + $13 = (($12) + -1022)|0; + HEAP32[$1>>2] = $13; + $14 = $3 & -2146435073; + $15 = $14 | 1071644672; + HEAP32[tempDoublePtr>>2] = $2;HEAP32[tempDoublePtr+4>>2] = $15;$16 = +HEAPF64[tempDoublePtr>>3]; + $$0 = $16; + } + } + return (+$$0); +} +function _wcrtomb($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $not$ = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ($0|0)==(0|0); + do { + if ($3) { + $$0 = 1; + } else { + $4 = ($1>>>0)<(128); + if ($4) { + $5 = $1&255; + HEAP8[$0>>0] = $5; + $$0 = 1; + break; + } + $6 = (___pthread_self_448()|0); + $7 = ((($6)) + 188|0); + $8 = HEAP32[$7>>2]|0; + $9 = HEAP32[$8>>2]|0; + $not$ = ($9|0)==(0|0); + if ($not$) { + $10 = $1 & -128; + $11 = ($10|0)==(57216); + if ($11) { + $13 = $1&255; + HEAP8[$0>>0] = $13; + $$0 = 1; + break; + } else { + $12 = (___errno_location()|0); + HEAP32[$12>>2] = 84; + $$0 = -1; + break; + } + } + $14 = ($1>>>0)<(2048); + if ($14) { + $15 = $1 >>> 6; + $16 = $15 | 192; + $17 = $16&255; + $18 = ((($0)) + 1|0); + HEAP8[$0>>0] = $17; + $19 = $1 & 63; + $20 = $19 | 128; + $21 = $20&255; + HEAP8[$18>>0] = $21; + $$0 = 2; + break; + } + $22 = ($1>>>0)<(55296); + $23 = $1 & -8192; + $24 = ($23|0)==(57344); + $or$cond = $22 | $24; + if ($or$cond) { + $25 = $1 >>> 12; + $26 = $25 | 224; + $27 = $26&255; + $28 = ((($0)) + 1|0); + HEAP8[$0>>0] = $27; + $29 = $1 >>> 6; + $30 = $29 & 63; + $31 = $30 | 128; + $32 = $31&255; + $33 = ((($0)) + 2|0); + HEAP8[$28>>0] = $32; + $34 = $1 & 63; + $35 = $34 | 128; + $36 = $35&255; + HEAP8[$33>>0] = $36; + $$0 = 3; + break; + } + $37 = (($1) + -65536)|0; + $38 = ($37>>>0)<(1048576); + if ($38) { + $39 = $1 >>> 18; + $40 = $39 | 240; + $41 = $40&255; + $42 = ((($0)) + 1|0); + HEAP8[$0>>0] = $41; + $43 = $1 >>> 12; + $44 = $43 & 63; + $45 = $44 | 128; + $46 = $45&255; + $47 = ((($0)) + 2|0); + HEAP8[$42>>0] = $46; + $48 = $1 >>> 6; + $49 = $48 & 63; + $50 = $49 | 128; + $51 = $50&255; + $52 = ((($0)) + 3|0); + HEAP8[$47>>0] = $51; + $53 = $1 & 63; + $54 = $53 | 128; + $55 = $54&255; + HEAP8[$52>>0] = $55; + $$0 = 4; + break; + } else { + $56 = (___errno_location()|0); + HEAP32[$56>>2] = 84; + $$0 = -1; + break; + } + } + } while(0); + return ($$0|0); +} +function ___pthread_self_448() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (_pthread_self()|0); + return ($0|0); +} +function ___pthread_self_105() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (_pthread_self()|0); + return ($0|0); +} +function ___strerror_l($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$012$lcssa = 0, $$01214 = 0, $$016 = 0, $$113 = 0, $$115 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; + var label = 0, sp = 0; + sp = STACKTOP; + $$016 = 0; + while(1) { + $3 = (23266 + ($$016)|0); + $4 = HEAP8[$3>>0]|0; + $5 = $4&255; + $6 = ($5|0)==($0|0); + if ($6) { + label = 2; + break; + } + $7 = (($$016) + 1)|0; + $8 = ($7|0)==(87); + if ($8) { + $$01214 = 23354;$$115 = 87; + label = 5; + break; + } else { + $$016 = $7; + } + } + if ((label|0) == 2) { + $2 = ($$016|0)==(0); + if ($2) { + $$012$lcssa = 23354; + } else { + $$01214 = 23354;$$115 = $$016; + label = 5; + } + } + if ((label|0) == 5) { + while(1) { + label = 0; + $$113 = $$01214; + while(1) { + $9 = HEAP8[$$113>>0]|0; + $10 = ($9<<24>>24)==(0); + $11 = ((($$113)) + 1|0); + if ($10) { + break; + } else { + $$113 = $11; + } + } + $12 = (($$115) + -1)|0; + $13 = ($12|0)==(0); + if ($13) { + $$012$lcssa = $11; + break; + } else { + $$01214 = $11;$$115 = $12; + label = 5; + } + } + } + $14 = ((($1)) + 20|0); + $15 = HEAP32[$14>>2]|0; + $16 = (___lctrans($$012$lcssa,$15)|0); + return ($16|0); +} +function ___lctrans($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = (___lctrans_impl($0,$1)|0); + return ($2|0); +} +function ___lctrans_impl($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ($1|0)==(0|0); + if ($2) { + $$0 = 0; + } else { + $3 = HEAP32[$1>>2]|0; + $4 = ((($1)) + 4|0); + $5 = HEAP32[$4>>2]|0; + $6 = (___mo_lookup($3,$5,$0)|0); + $$0 = $6; + } + $7 = ($$0|0)!=(0|0); + $8 = $7 ? $$0 : $0; + return ($8|0); +} +function ___mo_lookup($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$ = 0, $$090 = 0, $$094 = 0, $$191 = 0, $$195 = 0, $$4 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; + var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; + var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0; + var $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond102 = 0, $or$cond104 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = HEAP32[$0>>2]|0; + $4 = (($3) + 1794895138)|0; + $5 = ((($0)) + 8|0); + $6 = HEAP32[$5>>2]|0; + $7 = (_swapc($6,$4)|0); + $8 = ((($0)) + 12|0); + $9 = HEAP32[$8>>2]|0; + $10 = (_swapc($9,$4)|0); + $11 = ((($0)) + 16|0); + $12 = HEAP32[$11>>2]|0; + $13 = (_swapc($12,$4)|0); + $14 = $1 >>> 2; + $15 = ($7>>>0)<($14>>>0); + L1: do { + if ($15) { + $16 = $7 << 2; + $17 = (($1) - ($16))|0; + $18 = ($10>>>0)<($17>>>0); + $19 = ($13>>>0)<($17>>>0); + $or$cond = $18 & $19; + if ($or$cond) { + $20 = $13 | $10; + $21 = $20 & 3; + $22 = ($21|0)==(0); + if ($22) { + $23 = $10 >>> 2; + $24 = $13 >>> 2; + $$090 = 0;$$094 = $7; + while(1) { + $25 = $$094 >>> 1; + $26 = (($$090) + ($25))|0; + $27 = $26 << 1; + $28 = (($27) + ($23))|0; + $29 = (($0) + ($28<<2)|0); + $30 = HEAP32[$29>>2]|0; + $31 = (_swapc($30,$4)|0); + $32 = (($28) + 1)|0; + $33 = (($0) + ($32<<2)|0); + $34 = HEAP32[$33>>2]|0; + $35 = (_swapc($34,$4)|0); + $36 = ($35>>>0)<($1>>>0); + $37 = (($1) - ($35))|0; + $38 = ($31>>>0)<($37>>>0); + $or$cond102 = $36 & $38; + if (!($or$cond102)) { + $$4 = 0; + break L1; + } + $39 = (($35) + ($31))|0; + $40 = (($0) + ($39)|0); + $41 = HEAP8[$40>>0]|0; + $42 = ($41<<24>>24)==(0); + if (!($42)) { + $$4 = 0; + break L1; + } + $43 = (($0) + ($35)|0); + $44 = (_strcmp($2,$43)|0); + $45 = ($44|0)==(0); + if ($45) { + break; + } + $62 = ($$094|0)==(1); + $63 = ($44|0)<(0); + $64 = (($$094) - ($25))|0; + $$195 = $63 ? $25 : $64; + $$191 = $63 ? $$090 : $26; + if ($62) { + $$4 = 0; + break L1; + } else { + $$090 = $$191;$$094 = $$195; + } + } + $46 = (($27) + ($24))|0; + $47 = (($0) + ($46<<2)|0); + $48 = HEAP32[$47>>2]|0; + $49 = (_swapc($48,$4)|0); + $50 = (($46) + 1)|0; + $51 = (($0) + ($50<<2)|0); + $52 = HEAP32[$51>>2]|0; + $53 = (_swapc($52,$4)|0); + $54 = ($53>>>0)<($1>>>0); + $55 = (($1) - ($53))|0; + $56 = ($49>>>0)<($55>>>0); + $or$cond104 = $54 & $56; + if ($or$cond104) { + $57 = (($0) + ($53)|0); + $58 = (($53) + ($49))|0; + $59 = (($0) + ($58)|0); + $60 = HEAP8[$59>>0]|0; + $61 = ($60<<24>>24)==(0); + $$ = $61 ? $57 : 0; + $$4 = $$; + } else { + $$4 = 0; + } + } else { + $$4 = 0; + } + } else { + $$4 = 0; + } + } else { + $$4 = 0; + } + } while(0); + return ($$4|0); +} +function _swapc($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$ = 0, $2 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ($1|0)==(0); + $3 = (_llvm_bswap_i32(($0|0))|0); + $$ = $2 ? $0 : $3; + return ($$|0); +} +function ___fwritex($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$038 = 0, $$042 = 0, $$1 = 0, $$139 = 0, $$141 = 0, $$143 = 0, $$pre = 0, $$pre47 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0; + var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; + var label = 0, sp = 0; + sp = STACKTOP; + $3 = ((($2)) + 16|0); + $4 = HEAP32[$3>>2]|0; + $5 = ($4|0)==(0|0); + if ($5) { + $7 = (___towrite($2)|0); + $8 = ($7|0)==(0); + if ($8) { + $$pre = HEAP32[$3>>2]|0; + $12 = $$pre; + label = 5; + } else { + $$1 = 0; + } + } else { + $6 = $4; + $12 = $6; + label = 5; + } + L5: do { + if ((label|0) == 5) { + $9 = ((($2)) + 20|0); + $10 = HEAP32[$9>>2]|0; + $11 = (($12) - ($10))|0; + $13 = ($11>>>0)<($1>>>0); + $14 = $10; + if ($13) { + $15 = ((($2)) + 36|0); + $16 = HEAP32[$15>>2]|0; + $17 = (FUNCTION_TABLE_iiii[$16 & 15]($2,$0,$1)|0); + $$1 = $17; + break; + } + $18 = ((($2)) + 75|0); + $19 = HEAP8[$18>>0]|0; + $20 = ($19<<24>>24)>(-1); + L10: do { + if ($20) { + $$038 = $1; + while(1) { + $21 = ($$038|0)==(0); + if ($21) { + $$139 = 0;$$141 = $0;$$143 = $1;$31 = $14; + break L10; + } + $22 = (($$038) + -1)|0; + $23 = (($0) + ($22)|0); + $24 = HEAP8[$23>>0]|0; + $25 = ($24<<24>>24)==(10); + if ($25) { + break; + } else { + $$038 = $22; + } + } + $26 = ((($2)) + 36|0); + $27 = HEAP32[$26>>2]|0; + $28 = (FUNCTION_TABLE_iiii[$27 & 15]($2,$0,$$038)|0); + $29 = ($28>>>0)<($$038>>>0); + if ($29) { + $$1 = $28; + break L5; + } + $30 = (($0) + ($$038)|0); + $$042 = (($1) - ($$038))|0; + $$pre47 = HEAP32[$9>>2]|0; + $$139 = $$038;$$141 = $30;$$143 = $$042;$31 = $$pre47; + } else { + $$139 = 0;$$141 = $0;$$143 = $1;$31 = $14; + } + } while(0); + _memcpy(($31|0),($$141|0),($$143|0))|0; + $32 = HEAP32[$9>>2]|0; + $33 = (($32) + ($$143)|0); + HEAP32[$9>>2] = $33; + $34 = (($$139) + ($$143))|0; + $$1 = $34; + } + } while(0); + return ($$1|0); +} +function ___towrite($0) { + $0 = $0|0; + var $$0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 74|0); + $2 = HEAP8[$1>>0]|0; + $3 = $2 << 24 >> 24; + $4 = (($3) + 255)|0; + $5 = $4 | $3; + $6 = $5&255; + HEAP8[$1>>0] = $6; + $7 = HEAP32[$0>>2]|0; + $8 = $7 & 8; + $9 = ($8|0)==(0); + if ($9) { + $11 = ((($0)) + 8|0); + HEAP32[$11>>2] = 0; + $12 = ((($0)) + 4|0); + HEAP32[$12>>2] = 0; + $13 = ((($0)) + 44|0); + $14 = HEAP32[$13>>2]|0; + $15 = ((($0)) + 28|0); + HEAP32[$15>>2] = $14; + $16 = ((($0)) + 20|0); + HEAP32[$16>>2] = $14; + $17 = ((($0)) + 48|0); + $18 = HEAP32[$17>>2]|0; + $19 = (($14) + ($18)|0); + $20 = ((($0)) + 16|0); + HEAP32[$20>>2] = $19; + $$0 = 0; + } else { + $10 = $7 | 32; + HEAP32[$0>>2] = $10; + $$0 = -1; + } + return ($$0|0); +} +function _sn_write($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$ = 0, $10 = 0, $11 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ((($0)) + 16|0); + $4 = HEAP32[$3>>2]|0; + $5 = ((($0)) + 20|0); + $6 = HEAP32[$5>>2]|0; + $7 = $6; + $8 = (($4) - ($7))|0; + $9 = ($8>>>0)>($2>>>0); + $$ = $9 ? $2 : $8; + _memcpy(($6|0),($1|0),($$|0))|0; + $10 = HEAP32[$5>>2]|0; + $11 = (($10) + ($$)|0); + HEAP32[$5>>2] = $11; + return ($2|0); +} +function _qsort($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$0 = 0, $$067$lcssa = 0, $$06772 = 0, $$068$lcssa = 0, $$06871 = 0, $$1 = 0, $$169 = 0, $$2 = 0, $$pre$pre = 0, $$pre76 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $15$phi = 0, $16 = 0, $17 = 0, $18 = 0; + var $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0; + var $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0; + var $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 208|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(208|0); + $4 = sp + 8|0; + $5 = sp; + $6 = Math_imul($2, $1)|0; + $7 = $5; + $8 = $7; + HEAP32[$8>>2] = 1; + $9 = (($7) + 4)|0; + $10 = $9; + HEAP32[$10>>2] = 0; + $11 = ($6|0)==(0); + L1: do { + if (!($11)) { + $12 = (0 - ($2))|0; + $13 = ((($4)) + 4|0); + HEAP32[$13>>2] = $2; + HEAP32[$4>>2] = $2; + $$0 = 2;$15 = $2;$17 = $2; + while(1) { + $14 = (($15) + ($2))|0; + $16 = (($14) + ($17))|0; + $18 = (($4) + ($$0<<2)|0); + HEAP32[$18>>2] = $16; + $19 = ($16>>>0)<($6>>>0); + $20 = (($$0) + 1)|0; + if ($19) { + $15$phi = $17;$$0 = $20;$17 = $16;$15 = $15$phi; + } else { + break; + } + } + $21 = (($0) + ($6)|0); + $22 = (($21) + ($12)|0); + $23 = ($22>>>0)>($0>>>0); + if ($23) { + $24 = $22; + $$06772 = 1;$$06871 = $0;$26 = 1; + while(1) { + $25 = $26 & 3; + $27 = ($25|0)==(3); + do { + if ($27) { + _sift($$06871,$2,$3,$$06772,$4); + _shr($5,2); + $28 = (($$06772) + 2)|0; + $$1 = $28; + } else { + $29 = (($$06772) + -1)|0; + $30 = (($4) + ($29<<2)|0); + $31 = HEAP32[$30>>2]|0; + $32 = $$06871; + $33 = (($24) - ($32))|0; + $34 = ($31>>>0)<($33>>>0); + if ($34) { + _sift($$06871,$2,$3,$$06772,$4); + } else { + _trinkle($$06871,$2,$3,$5,$$06772,0,$4); + } + $35 = ($$06772|0)==(1); + if ($35) { + _shl($5,1); + $$1 = 0; + break; + } else { + _shl($5,$29); + $$1 = 1; + break; + } + } + } while(0); + $36 = HEAP32[$5>>2]|0; + $37 = $36 | 1; + HEAP32[$5>>2] = $37; + $38 = (($$06871) + ($2)|0); + $39 = ($38>>>0)<($22>>>0); + if ($39) { + $$06772 = $$1;$$06871 = $38;$26 = $37; + } else { + $$067$lcssa = $$1;$$068$lcssa = $38;$61 = $37; + break; + } + } + } else { + $$067$lcssa = 1;$$068$lcssa = $0;$61 = 1; + } + _trinkle($$068$lcssa,$2,$3,$5,$$067$lcssa,0,$4); + $40 = ((($5)) + 4|0); + $$169 = $$068$lcssa;$$2 = $$067$lcssa;$43 = $61; + while(1) { + $41 = ($$2|0)==(1); + $42 = ($43|0)==(1); + $or$cond = $41 & $42; + if ($or$cond) { + $44 = HEAP32[$40>>2]|0; + $45 = ($44|0)==(0); + if ($45) { + break L1; + } + } else { + $46 = ($$2|0)<(2); + if (!($46)) { + _shl($5,2); + $49 = (($$2) + -2)|0; + $50 = HEAP32[$5>>2]|0; + $51 = $50 ^ 7; + HEAP32[$5>>2] = $51; + _shr($5,1); + $52 = (($4) + ($49<<2)|0); + $53 = HEAP32[$52>>2]|0; + $54 = (0 - ($53))|0; + $55 = (($$169) + ($54)|0); + $56 = (($55) + ($12)|0); + $57 = (($$2) + -1)|0; + _trinkle($56,$2,$3,$5,$57,1,$4); + _shl($5,1); + $58 = HEAP32[$5>>2]|0; + $59 = $58 | 1; + HEAP32[$5>>2] = $59; + $60 = (($$169) + ($12)|0); + _trinkle($60,$2,$3,$5,$49,1,$4); + $$169 = $60;$$2 = $49;$43 = $59; + continue; + } + } + $47 = (_pntz($5)|0); + _shr($5,$47); + $48 = (($47) + ($$2))|0; + $$pre$pre = HEAP32[$5>>2]|0; + $$pre76 = (($$169) + ($12)|0); + $$169 = $$pre76;$$2 = $48;$43 = $$pre$pre; + } + } + } while(0); + STACKTOP = sp;return; +} +function _sift($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$0$lcssa = 0, $$029$be = 0, $$02932 = 0, $$030$be = 0, $$03031 = 0, $$033 = 0, $$pre = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0; + var $23 = 0, $24 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 240|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(240|0); + $5 = sp; + HEAP32[$5>>2] = $0; + $6 = ($3|0)>(1); + L1: do { + if ($6) { + $7 = (0 - ($1))|0; + $$02932 = $0;$$03031 = $3;$$033 = 1;$14 = $0; + while(1) { + $8 = (($$02932) + ($7)|0); + $9 = (($$03031) + -2)|0; + $10 = (($4) + ($9<<2)|0); + $11 = HEAP32[$10>>2]|0; + $12 = (0 - ($11))|0; + $13 = (($8) + ($12)|0); + $15 = (FUNCTION_TABLE_iii[$2 & 7]($14,$13)|0); + $16 = ($15|0)>(-1); + if ($16) { + $17 = (FUNCTION_TABLE_iii[$2 & 7]($14,$8)|0); + $18 = ($17|0)>(-1); + if ($18) { + $$0$lcssa = $$033; + break L1; + } + } + $19 = (FUNCTION_TABLE_iii[$2 & 7]($13,$8)|0); + $20 = ($19|0)>(-1); + $21 = (($$033) + 1)|0; + $22 = (($5) + ($$033<<2)|0); + if ($20) { + HEAP32[$22>>2] = $13; + $23 = (($$03031) + -1)|0; + $$029$be = $13;$$030$be = $23; + } else { + HEAP32[$22>>2] = $8; + $$029$be = $8;$$030$be = $9; + } + $24 = ($$030$be|0)>(1); + if (!($24)) { + $$0$lcssa = $21; + break L1; + } + $$pre = HEAP32[$5>>2]|0; + $$02932 = $$029$be;$$03031 = $$030$be;$$033 = $21;$14 = $$pre; + } + } else { + $$0$lcssa = 1; + } + } while(0); + _cycle($1,$5,$$0$lcssa); + STACKTOP = sp;return; +} +function _shr($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $$pre = 0, $$pre11 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ($1>>>0)>(31); + $3 = ((($0)) + 4|0); + if ($2) { + $4 = (($1) + -32)|0; + $5 = HEAP32[$3>>2]|0; + HEAP32[$0>>2] = $5; + HEAP32[$3>>2] = 0; + $$0 = $4;$10 = 0;$7 = $5; + } else { + $$pre = HEAP32[$0>>2]|0; + $$pre11 = HEAP32[$3>>2]|0; + $$0 = $1;$10 = $$pre11;$7 = $$pre; + } + $6 = $7 >>> $$0; + $8 = (32 - ($$0))|0; + $9 = $10 << $8; + $11 = $9 | $6; + HEAP32[$0>>2] = $11; + $12 = $10 >>> $$0; + HEAP32[$3>>2] = $12; + return; +} +function _trinkle($0,$1,$2,$3,$4,$5,$6) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + $6 = $6|0; + var $$0$lcssa = 0, $$045$lcssa = 0, $$04551 = 0, $$0455780 = 0, $$046$lcssa = 0, $$04653 = 0, $$0465681 = 0, $$047$lcssa = 0, $$0475582 = 0, $$049 = 0, $$05879 = 0, $$05879$phi = 0, $$pre = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0; + var $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0; + var $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $phitmp = 0, label = 0; + var sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 240|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(240|0); + $7 = sp + 232|0; + $8 = sp; + $9 = HEAP32[$3>>2]|0; + HEAP32[$7>>2] = $9; + $10 = ((($3)) + 4|0); + $11 = HEAP32[$10>>2]|0; + $12 = ((($7)) + 4|0); + HEAP32[$12>>2] = $11; + HEAP32[$8>>2] = $0; + $13 = ($9|0)!=(1); + $14 = ($11|0)!=(0); + $15 = $13 | $14; + L1: do { + if ($15) { + $16 = (0 - ($1))|0; + $17 = (($6) + ($4<<2)|0); + $18 = HEAP32[$17>>2]|0; + $19 = (0 - ($18))|0; + $20 = (($0) + ($19)|0); + $21 = (FUNCTION_TABLE_iii[$2 & 7]($20,$0)|0); + $22 = ($21|0)<(1); + if ($22) { + $$0$lcssa = $0;$$045$lcssa = 1;$$046$lcssa = $4;$$047$lcssa = $5; + label = 9; + } else { + $phitmp = ($5|0)==(0); + $$0455780 = 1;$$0465681 = $4;$$0475582 = $phitmp;$$05879 = $0;$28 = $20; + while(1) { + $23 = ($$0465681|0)>(1); + $or$cond = $$0475582 & $23; + if ($or$cond) { + $24 = (($$05879) + ($16)|0); + $25 = (($$0465681) + -2)|0; + $26 = (($6) + ($25<<2)|0); + $27 = HEAP32[$26>>2]|0; + $29 = (FUNCTION_TABLE_iii[$2 & 7]($24,$28)|0); + $30 = ($29|0)>(-1); + if ($30) { + $$04551 = $$0455780;$$04653 = $$0465681;$$049 = $$05879; + label = 10; + break L1; + } + $31 = (0 - ($27))|0; + $32 = (($24) + ($31)|0); + $33 = (FUNCTION_TABLE_iii[$2 & 7]($32,$28)|0); + $34 = ($33|0)>(-1); + if ($34) { + $$04551 = $$0455780;$$04653 = $$0465681;$$049 = $$05879; + label = 10; + break L1; + } + } + $35 = (($$0455780) + 1)|0; + $36 = (($8) + ($$0455780<<2)|0); + HEAP32[$36>>2] = $28; + $37 = (_pntz($7)|0); + _shr($7,$37); + $38 = (($37) + ($$0465681))|0; + $39 = HEAP32[$7>>2]|0; + $40 = ($39|0)!=(1); + $41 = HEAP32[$12>>2]|0; + $42 = ($41|0)!=(0); + $43 = $40 | $42; + if (!($43)) { + $$04551 = $35;$$04653 = $38;$$049 = $28; + label = 10; + break L1; + } + $$pre = HEAP32[$8>>2]|0; + $44 = (($6) + ($38<<2)|0); + $45 = HEAP32[$44>>2]|0; + $46 = (0 - ($45))|0; + $47 = (($28) + ($46)|0); + $48 = (FUNCTION_TABLE_iii[$2 & 7]($47,$$pre)|0); + $49 = ($48|0)<(1); + if ($49) { + $$0$lcssa = $28;$$045$lcssa = $35;$$046$lcssa = $38;$$047$lcssa = 0; + label = 9; + break; + } else { + $$05879$phi = $28;$$0455780 = $35;$$0465681 = $38;$$0475582 = 1;$28 = $47;$$05879 = $$05879$phi; + } + } + } + } else { + $$0$lcssa = $0;$$045$lcssa = 1;$$046$lcssa = $4;$$047$lcssa = $5; + label = 9; + } + } while(0); + if ((label|0) == 9) { + $50 = ($$047$lcssa|0)==(0); + if ($50) { + $$04551 = $$045$lcssa;$$04653 = $$046$lcssa;$$049 = $$0$lcssa; + label = 10; + } + } + if ((label|0) == 10) { + _cycle($1,$8,$$04551); + _sift($$049,$1,$2,$$04653,$6); + } + STACKTOP = sp;return; +} +function _shl($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $$pre = 0, $$pre11 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ($1>>>0)>(31); + $3 = ((($0)) + 4|0); + if ($2) { + $4 = (($1) + -32)|0; + $5 = HEAP32[$0>>2]|0; + HEAP32[$3>>2] = $5; + HEAP32[$0>>2] = 0; + $$0 = $4;$10 = 0;$7 = $5; + } else { + $$pre = HEAP32[$3>>2]|0; + $$pre11 = HEAP32[$0>>2]|0; + $$0 = $1;$10 = $$pre11;$7 = $$pre; + } + $6 = $7 << $$0; + $8 = (32 - ($$0))|0; + $9 = $10 >>> $8; + $11 = $9 | $6; + HEAP32[$3>>2] = $11; + $12 = $10 << $$0; + HEAP32[$0>>2] = $12; + return; +} +function _pntz($0) { + $0 = $0|0; + var $$ = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP32[$0>>2]|0; + $2 = (($1) + -1)|0; + $3 = (_a_ctz_l_763($2)|0); + $4 = ($3|0)==(0); + if ($4) { + $5 = ((($0)) + 4|0); + $6 = HEAP32[$5>>2]|0; + $7 = (_a_ctz_l_763($6)|0); + $8 = (($7) + 32)|0; + $9 = ($7|0)==(0); + $$ = $9 ? 0 : $8; + return ($$|0); + } else { + return ($3|0); + } + return (0)|0; +} +function _a_ctz_l_763($0) { + $0 = $0|0; + var $$068 = 0, $$07 = 0, $$09 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ($0|0)==(0); + if ($1) { + $$07 = 32; + } else { + $2 = $0 & 1; + $3 = ($2|0)==(0); + if ($3) { + $$068 = $0;$$09 = 0; + while(1) { + $4 = (($$09) + 1)|0; + $5 = $$068 >>> 1; + $6 = $5 & 1; + $7 = ($6|0)==(0); + if ($7) { + $$068 = $5;$$09 = $4; + } else { + $$07 = $4; + break; + } + } + } else { + $$07 = 0; + } + } + return ($$07|0); +} +function _cycle($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$02527 = 0, $$026 = 0, $$pre = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; + var $exitcond = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0); + $3 = sp; + $4 = ($2|0)<(2); + L1: do { + if (!($4)) { + $5 = (($1) + ($2<<2)|0); + HEAP32[$5>>2] = $3; + $6 = ($0|0)==(0); + if (!($6)) { + $$02527 = $0;$10 = $3; + while(1) { + $7 = ($$02527>>>0)<(256); + $8 = $7 ? $$02527 : 256; + $9 = HEAP32[$1>>2]|0; + _memcpy(($10|0),($9|0),($8|0))|0; + $$026 = 0; + while(1) { + $11 = (($1) + ($$026<<2)|0); + $12 = HEAP32[$11>>2]|0; + $13 = (($$026) + 1)|0; + $14 = (($1) + ($13<<2)|0); + $15 = HEAP32[$14>>2]|0; + _memcpy(($12|0),($15|0),($8|0))|0; + $16 = HEAP32[$11>>2]|0; + $17 = (($16) + ($8)|0); + HEAP32[$11>>2] = $17; + $exitcond = ($13|0)==($2|0); + if ($exitcond) { + break; + } else { + $$026 = $13; + } + } + $18 = (($$02527) - ($8))|0; + $19 = ($18|0)==(0); + if ($19) { + break L1; + } + $$pre = HEAP32[$5>>2]|0; + $$02527 = $18;$10 = $$pre; + } + } + } + } while(0); + STACKTOP = sp;return; +} +function ___floatscan($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$0 = 0, $$0105$ph = 0, $$0106$ph = 0, $$0107$lcssa = 0, $$0107127 = 0, $$0113 = 0, $$0114 = 0.0, $$1$lcssa = 0, $$1108 = 0, $$1128 = 0, $$2 = 0, $$2109125 = 0, $$3110 = 0, $$3126 = 0, $$4 = 0, $$4111 = 0, $$5 = 0, $$6 = 0, $$in = 0, $$old8 = 0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0.0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0.0, $14 = 0, $15 = 0; + var $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0; + var $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0; + var $53 = 0.0, $54 = 0.0, $55 = 0.0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0; + var $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0; + var $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, $or$cond5 = 0, $or$cond7 = 0, $or$cond9 = 0, label = 0, sp = 0; + sp = STACKTOP; + switch ($1|0) { + case 0: { + $$0105$ph = -149;$$0106$ph = 24; + label = 4; + break; + } + case 1: { + $$0105$ph = -1074;$$0106$ph = 53; + label = 4; + break; + } + case 2: { + $$0105$ph = -1074;$$0106$ph = 53; + label = 4; + break; + } + default: { + $$0114 = 0.0; + } + } + L4: do { + if ((label|0) == 4) { + $3 = ((($0)) + 4|0); + $4 = ((($0)) + 100|0); + while(1) { + $5 = HEAP32[$3>>2]|0; + $6 = HEAP32[$4>>2]|0; + $7 = ($5>>>0)<($6>>>0); + if ($7) { + $8 = ((($5)) + 1|0); + HEAP32[$3>>2] = $8; + $9 = HEAP8[$5>>0]|0; + $10 = $9&255; + $12 = $10; + } else { + $11 = (___shgetc($0)|0); + $12 = $11; + } + $13 = (_isspace($12)|0); + $14 = ($13|0)==(0); + if ($14) { + break; + } + } + L13: do { + switch ($12|0) { + case 43: case 45: { + $15 = ($12|0)==(45); + $16 = $15&1; + $17 = $16 << 1; + $18 = (1 - ($17))|0; + $19 = HEAP32[$3>>2]|0; + $20 = HEAP32[$4>>2]|0; + $21 = ($19>>>0)<($20>>>0); + if ($21) { + $22 = ((($19)) + 1|0); + HEAP32[$3>>2] = $22; + $23 = HEAP8[$19>>0]|0; + $24 = $23&255; + $$0 = $24;$$0113 = $18; + break L13; + } else { + $25 = (___shgetc($0)|0); + $$0 = $25;$$0113 = $18; + break L13; + } + break; + } + default: { + $$0 = $12;$$0113 = 1; + } + } + } while(0); + $$0107127 = 0;$$1128 = $$0; + while(1) { + $26 = $$1128 | 32; + $27 = (25158 + ($$0107127)|0); + $28 = HEAP8[$27>>0]|0; + $29 = $28 << 24 >> 24; + $30 = ($26|0)==($29|0); + if (!($30)) { + $$0107$lcssa = $$0107127;$$1$lcssa = $$1128; + break; + } + $31 = ($$0107127>>>0)<(7); + do { + if ($31) { + $32 = HEAP32[$3>>2]|0; + $33 = HEAP32[$4>>2]|0; + $34 = ($32>>>0)<($33>>>0); + if ($34) { + $35 = ((($32)) + 1|0); + HEAP32[$3>>2] = $35; + $36 = HEAP8[$32>>0]|0; + $37 = $36&255; + $$2 = $37; + break; + } else { + $38 = (___shgetc($0)|0); + $$2 = $38; + break; + } + } else { + $$2 = $$1128; + } + } while(0); + $39 = (($$0107127) + 1)|0; + $40 = ($39>>>0)<(8); + if ($40) { + $$0107127 = $39;$$1128 = $$2; + } else { + $$0107$lcssa = $39;$$1$lcssa = $$2; + break; + } + } + L29: do { + switch ($$0107$lcssa|0) { + case 8: { + break; + } + case 3: { + label = 23; + break; + } + default: { + $41 = ($$0107$lcssa>>>0)>(3); + $42 = ($2|0)!=(0); + $or$cond5 = $42 & $41; + if ($or$cond5) { + $43 = ($$0107$lcssa|0)==(8); + if ($43) { + break L29; + } else { + label = 23; + break L29; + } + } + $56 = ($$0107$lcssa|0)==(0); + L34: do { + if ($56) { + $$2109125 = 0;$$3126 = $$1$lcssa; + while(1) { + $57 = $$3126 | 32; + $58 = (25167 + ($$2109125)|0); + $59 = HEAP8[$58>>0]|0; + $60 = $59 << 24 >> 24; + $61 = ($57|0)==($60|0); + if (!($61)) { + $$3110 = $$2109125;$$5 = $$3126; + break L34; + } + $62 = ($$2109125>>>0)<(2); + do { + if ($62) { + $63 = HEAP32[$3>>2]|0; + $64 = HEAP32[$4>>2]|0; + $65 = ($63>>>0)<($64>>>0); + if ($65) { + $66 = ((($63)) + 1|0); + HEAP32[$3>>2] = $66; + $67 = HEAP8[$63>>0]|0; + $68 = $67&255; + $$4 = $68; + break; + } else { + $69 = (___shgetc($0)|0); + $$4 = $69; + break; + } + } else { + $$4 = $$3126; + } + } while(0); + $70 = (($$2109125) + 1)|0; + $71 = ($70>>>0)<(3); + if ($71) { + $$2109125 = $70;$$3126 = $$4; + } else { + $$3110 = $70;$$5 = $$4; + break; + } + } + } else { + $$3110 = $$0107$lcssa;$$5 = $$1$lcssa; + } + } while(0); + switch ($$3110|0) { + case 3: { + $72 = HEAP32[$3>>2]|0; + $73 = HEAP32[$4>>2]|0; + $74 = ($72>>>0)<($73>>>0); + if ($74) { + $75 = ((($72)) + 1|0); + HEAP32[$3>>2] = $75; + $76 = HEAP8[$72>>0]|0; + $77 = $76&255; + $80 = $77; + } else { + $78 = (___shgetc($0)|0); + $80 = $78; + } + $79 = ($80|0)==(40); + if ($79) { + $$4111 = 1; + } else { + $81 = HEAP32[$4>>2]|0; + $82 = ($81|0)==(0|0); + if ($82) { + $$0114 = nan; + break L4; + } + $83 = HEAP32[$3>>2]|0; + $84 = ((($83)) + -1|0); + HEAP32[$3>>2] = $84; + $$0114 = nan; + break L4; + } + while(1) { + $85 = HEAP32[$3>>2]|0; + $86 = HEAP32[$4>>2]|0; + $87 = ($85>>>0)<($86>>>0); + if ($87) { + $88 = ((($85)) + 1|0); + HEAP32[$3>>2] = $88; + $89 = HEAP8[$85>>0]|0; + $90 = $89&255; + $93 = $90; + } else { + $91 = (___shgetc($0)|0); + $93 = $91; + } + $92 = (($93) + -48)|0; + $94 = ($92>>>0)<(10); + $95 = (($93) + -65)|0; + $96 = ($95>>>0)<(26); + $or$cond = $94 | $96; + if (!($or$cond)) { + $97 = (($93) + -97)|0; + $98 = ($97>>>0)<(26); + $99 = ($93|0)==(95); + $or$cond7 = $99 | $98; + if (!($or$cond7)) { + break; + } + } + $111 = (($$4111) + 1)|0; + $$4111 = $111; + } + $100 = ($93|0)==(41); + if ($100) { + $$0114 = nan; + break L4; + } + $101 = HEAP32[$4>>2]|0; + $102 = ($101|0)==(0|0); + if (!($102)) { + $103 = HEAP32[$3>>2]|0; + $104 = ((($103)) + -1|0); + HEAP32[$3>>2] = $104; + } + if (!($42)) { + $106 = (___errno_location()|0); + HEAP32[$106>>2] = 22; + ___shlim($0,0); + $$0114 = 0.0; + break L4; + } + $105 = ($$4111|0)==(0); + if ($105) { + $$0114 = nan; + break L4; + } else { + $$in = $$4111; + } + while(1) { + $107 = (($$in) + -1)|0; + if (!($102)) { + $108 = HEAP32[$3>>2]|0; + $109 = ((($108)) + -1|0); + HEAP32[$3>>2] = $109; + } + $110 = ($107|0)==(0); + if ($110) { + $$0114 = nan; + break L4; + } else { + $$in = $107; + } + } + break; + } + case 0: { + $117 = ($$5|0)==(48); + if ($117) { + $118 = HEAP32[$3>>2]|0; + $119 = HEAP32[$4>>2]|0; + $120 = ($118>>>0)<($119>>>0); + if ($120) { + $121 = ((($118)) + 1|0); + HEAP32[$3>>2] = $121; + $122 = HEAP8[$118>>0]|0; + $123 = $122&255; + $126 = $123; + } else { + $124 = (___shgetc($0)|0); + $126 = $124; + } + $125 = $126 | 32; + $127 = ($125|0)==(120); + if ($127) { + $128 = (+_hexfloat($0,$$0106$ph,$$0105$ph,$$0113,$2)); + $$0114 = $128; + break L4; + } + $129 = HEAP32[$4>>2]|0; + $130 = ($129|0)==(0|0); + if ($130) { + $$6 = 48; + } else { + $131 = HEAP32[$3>>2]|0; + $132 = ((($131)) + -1|0); + HEAP32[$3>>2] = $132; + $$6 = 48; + } + } else { + $$6 = $$5; + } + $133 = (+_decfloat($0,$$6,$$0106$ph,$$0105$ph,$$0113,$2)); + $$0114 = $133; + break L4; + break; + } + default: { + $112 = HEAP32[$4>>2]|0; + $113 = ($112|0)==(0|0); + if (!($113)) { + $114 = HEAP32[$3>>2]|0; + $115 = ((($114)) + -1|0); + HEAP32[$3>>2] = $115; + } + $116 = (___errno_location()|0); + HEAP32[$116>>2] = 22; + ___shlim($0,0); + $$0114 = 0.0; + break L4; + } + } + } + } + } while(0); + if ((label|0) == 23) { + $44 = HEAP32[$4>>2]|0; + $45 = ($44|0)==(0|0); + if (!($45)) { + $46 = HEAP32[$3>>2]|0; + $47 = ((($46)) + -1|0); + HEAP32[$3>>2] = $47; + } + $48 = ($2|0)!=(0); + $49 = ($$0107$lcssa>>>0)>(3); + $or$cond9 = $48 & $49; + if ($or$cond9) { + $$1108 = $$0107$lcssa; + while(1) { + if (!($45)) { + $50 = HEAP32[$3>>2]|0; + $51 = ((($50)) + -1|0); + HEAP32[$3>>2] = $51; + } + $52 = (($$1108) + -1)|0; + $$old8 = ($52>>>0)>(3); + if ($$old8) { + $$1108 = $52; + } else { + break; + } + } + } + } + $53 = (+($$0113|0)); + $54 = $53 * inf; + $55 = $54; + $$0114 = $55; + } + } while(0); + return (+$$0114); +} +function _hexfloat($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$0 = 0, $$0133 = 0, $$0142 = 0, $$0146 = 0, $$0148 = 0, $$0148$ = 0, $$0151 = 0.0, $$0152 = 0.0, $$0155 = 0.0, $$0155$ = 0.0, $$0159 = 0, $$0165 = 0.0, $$0166 = 0, $$0166169 = 0, $$0166170 = 0, $$1$ph = 0, $$1147 = 0, $$1149 = 0, $$1153 = 0.0, $$1156 = 0.0; + var $$1160 = 0, $$2 = 0, $$2$lcssa = 0, $$2144 = 0, $$2150 = 0, $$2154 = 0.0, $$2157 = 0.0, $$2161 = 0, $$3145 = 0, $$3158$lcssa = 0.0, $$3158179 = 0.0, $$3162$lcssa = 0, $$3162183 = 0, $$4 = 0.0, $$4163$lcssa = 0, $$4163178 = 0, $$5 = 0.0, $$5164 = 0, $$6 = 0, $$pn = 0.0; + var $$pre = 0.0, $$pre$phiZ2D = 0.0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; + var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; + var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0.0, $143 = 0.0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; + var $152 = 0, $153 = 0.0, $154 = 0.0, $155 = 0.0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0.0, $167 = 0.0, $168 = 0.0, $169 = 0, $17 = 0; + var $170 = 0, $171 = 0.0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; + var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0.0, $197 = 0, $198 = 0.0, $199 = 0.0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0.0, $206 = 0.0; + var $207 = 0.0, $208 = 0.0, $209 = 0.0, $21 = 0, $210 = 0.0, $211 = 0, $212 = 0, $213 = 0.0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0; + var $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0.0, $67 = 0.0; + var $68 = 0.0, $69 = 0.0, $7 = 0, $70 = 0, $71 = 0, $72 = 0.0, $73 = 0.0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0; + var $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0.0, $96 = 0.0, $97 = 0, $98 = 0, $99 = 0, $not$ = 0, $or$cond = 0, $or$cond168 = 0, $or$cond206 = 0, $or$cond4 = 0; + var $or$cond6 = 0, label = 0, sp = 0; + sp = STACKTOP; + $5 = ((($0)) + 4|0); + $6 = HEAP32[$5>>2]|0; + $7 = ((($0)) + 100|0); + $8 = HEAP32[$7>>2]|0; + $9 = ($6>>>0)<($8>>>0); + if ($9) { + $10 = ((($6)) + 1|0); + HEAP32[$5>>2] = $10; + $11 = HEAP8[$6>>0]|0; + $12 = $11&255; + $$0 = $12;$$0142 = 0; + } else { + $13 = (___shgetc($0)|0); + $$0 = $13;$$0142 = 0; + } + L4: while(1) { + switch ($$0|0) { + case 46: { + label = 8; + break L4; + break; + } + case 48: { + break; + } + default: { + $$0146 = 0;$$0148 = 0;$$0152 = 1.0;$$0155 = 0.0;$$0159 = 0;$$2 = $$0;$$2144 = $$0142;$101 = 0;$53 = 0;$55 = 0;$99 = 0; + break L4; + } + } + $14 = HEAP32[$5>>2]|0; + $15 = HEAP32[$7>>2]|0; + $16 = ($14>>>0)<($15>>>0); + if ($16) { + $17 = ((($14)) + 1|0); + HEAP32[$5>>2] = $17; + $18 = HEAP8[$14>>0]|0; + $19 = $18&255; + $$0 = $19;$$0142 = 1; + continue; + } else { + $20 = (___shgetc($0)|0); + $$0 = $20;$$0142 = 1; + continue; + } + } + if ((label|0) == 8) { + $21 = HEAP32[$5>>2]|0; + $22 = HEAP32[$7>>2]|0; + $23 = ($21>>>0)<($22>>>0); + if ($23) { + $24 = ((($21)) + 1|0); + HEAP32[$5>>2] = $24; + $25 = HEAP8[$21>>0]|0; + $26 = $25&255; + $$1$ph = $26; + } else { + $27 = (___shgetc($0)|0); + $$1$ph = $27; + } + $28 = ($$1$ph|0)==(48); + if ($28) { + $36 = 0;$37 = 0; + while(1) { + $29 = HEAP32[$5>>2]|0; + $30 = HEAP32[$7>>2]|0; + $31 = ($29>>>0)<($30>>>0); + if ($31) { + $32 = ((($29)) + 1|0); + HEAP32[$5>>2] = $32; + $33 = HEAP8[$29>>0]|0; + $34 = $33&255; + $41 = $34; + } else { + $35 = (___shgetc($0)|0); + $41 = $35; + } + $38 = (_i64Add(($36|0),($37|0),-1,-1)|0); + $39 = tempRet0; + $40 = ($41|0)==(48); + if ($40) { + $36 = $38;$37 = $39; + } else { + $$0146 = 1;$$0148 = 0;$$0152 = 1.0;$$0155 = 0.0;$$0159 = 0;$$2 = $41;$$2144 = 1;$101 = $39;$53 = 0;$55 = 0;$99 = $38; + break; + } + } + } else { + $$0146 = 1;$$0148 = 0;$$0152 = 1.0;$$0155 = 0.0;$$0159 = 0;$$2 = $$1$ph;$$2144 = $$0142;$101 = 0;$53 = 0;$55 = 0;$99 = 0; + } + } + while(1) { + $42 = (($$2) + -48)|0; + $43 = ($42>>>0)<(10); + $44 = ($$2|0)==(46); + if (!($43)) { + $45 = $$2 | 32; + $46 = (($45) + -97)|0; + $47 = ($46>>>0)<(6); + $or$cond6 = $44 | $47; + if (!($or$cond6)) { + $$2$lcssa = $$2; + break; + } + } + if ($44) { + $48 = ($$0146|0)==(0); + if ($48) { + $$1147 = 1;$$2150 = $$0148;$$2154 = $$0152;$$2157 = $$0155;$$2161 = $$0159;$$3145 = $$2144;$214 = $55;$215 = $53;$216 = $55;$217 = $53; + } else { + $$2$lcssa = 46; + break; + } + } else { + $49 = ($$2|0)>(57); + $50 = $$2 | 32; + $51 = (($50) + -87)|0; + $$0133 = $49 ? $51 : $42; + $52 = ($53|0)<(0); + $54 = ($55>>>0)<(8); + $56 = ($53|0)==(0); + $57 = $56 & $54; + $58 = $52 | $57; + do { + if ($58) { + $59 = $$0159 << 4; + $60 = (($$0133) + ($59))|0; + $$1149 = $$0148;$$1153 = $$0152;$$1156 = $$0155;$$1160 = $60; + } else { + $61 = ($53|0)<(0); + $62 = ($55>>>0)<(14); + $63 = ($53|0)==(0); + $64 = $63 & $62; + $65 = $61 | $64; + if ($65) { + $66 = (+($$0133|0)); + $67 = $$0152 * 0.0625; + $68 = $67 * $66; + $69 = $$0155 + $68; + $$1149 = $$0148;$$1153 = $67;$$1156 = $69;$$1160 = $$0159; + break; + } else { + $70 = ($$0133|0)==(0); + $71 = ($$0148|0)!=(0); + $or$cond = $71 | $70; + $72 = $$0152 * 0.5; + $73 = $$0155 + $72; + $$0155$ = $or$cond ? $$0155 : $73; + $$0148$ = $or$cond ? $$0148 : 1; + $$1149 = $$0148$;$$1153 = $$0152;$$1156 = $$0155$;$$1160 = $$0159; + break; + } + } + } while(0); + $74 = (_i64Add(($55|0),($53|0),1,0)|0); + $75 = tempRet0; + $$1147 = $$0146;$$2150 = $$1149;$$2154 = $$1153;$$2157 = $$1156;$$2161 = $$1160;$$3145 = 1;$214 = $99;$215 = $101;$216 = $74;$217 = $75; + } + $76 = HEAP32[$5>>2]|0; + $77 = HEAP32[$7>>2]|0; + $78 = ($76>>>0)<($77>>>0); + if ($78) { + $79 = ((($76)) + 1|0); + HEAP32[$5>>2] = $79; + $80 = HEAP8[$76>>0]|0; + $81 = $80&255; + $$0146 = $$1147;$$0148 = $$2150;$$0152 = $$2154;$$0155 = $$2157;$$0159 = $$2161;$$2 = $81;$$2144 = $$3145;$101 = $215;$53 = $217;$55 = $216;$99 = $214; + continue; + } else { + $82 = (___shgetc($0)|0); + $$0146 = $$1147;$$0148 = $$2150;$$0152 = $$2154;$$0155 = $$2157;$$0159 = $$2161;$$2 = $82;$$2144 = $$3145;$101 = $215;$53 = $217;$55 = $216;$99 = $214; + continue; + } + } + $83 = ($$2144|0)==(0); + do { + if ($83) { + $84 = HEAP32[$7>>2]|0; + $85 = ($84|0)!=(0|0); + if ($85) { + $86 = HEAP32[$5>>2]|0; + $87 = ((($86)) + -1|0); + HEAP32[$5>>2] = $87; + } + $88 = ($4|0)==(0); + if ($88) { + ___shlim($0,0); + } else { + if ($85) { + $89 = HEAP32[$5>>2]|0; + $90 = ((($89)) + -1|0); + HEAP32[$5>>2] = $90; + } + $91 = ($$0146|0)==(0); + $92 = ($84|0)==(0|0); + $or$cond206 = $91 | $92; + if (!($or$cond206)) { + $93 = HEAP32[$5>>2]|0; + $94 = ((($93)) + -1|0); + HEAP32[$5>>2] = $94; + } + } + $95 = (+($3|0)); + $96 = $95 * 0.0; + $$0165 = $96; + } else { + $97 = ($$0146|0)==(0); + $98 = $97 ? $55 : $99; + $100 = $97 ? $53 : $101; + $102 = ($53|0)<(0); + $103 = ($55>>>0)<(8); + $104 = ($53|0)==(0); + $105 = $104 & $103; + $106 = $102 | $105; + if ($106) { + $$3162183 = $$0159;$108 = $55;$109 = $53; + while(1) { + $107 = $$3162183 << 4; + $110 = (_i64Add(($108|0),($109|0),1,0)|0); + $111 = tempRet0; + $112 = ($111|0)<(0); + $113 = ($110>>>0)<(8); + $114 = ($111|0)==(0); + $115 = $114 & $113; + $116 = $112 | $115; + if ($116) { + $$3162183 = $107;$108 = $110;$109 = $111; + } else { + $$3162$lcssa = $107; + break; + } + } + } else { + $$3162$lcssa = $$0159; + } + $117 = $$2$lcssa | 32; + $118 = ($117|0)==(112); + if ($118) { + $119 = (_scanexp($0,$4)|0); + $120 = tempRet0; + $121 = ($119|0)==(0); + $122 = ($120|0)==(-2147483648); + $123 = $121 & $122; + if ($123) { + $124 = ($4|0)==(0); + if ($124) { + ___shlim($0,0); + $$0165 = 0.0; + break; + } + $125 = HEAP32[$7>>2]|0; + $126 = ($125|0)==(0|0); + if ($126) { + $137 = 0;$138 = 0; + } else { + $127 = HEAP32[$5>>2]|0; + $128 = ((($127)) + -1|0); + HEAP32[$5>>2] = $128; + $137 = 0;$138 = 0; + } + } else { + $137 = $119;$138 = $120; + } + } else { + $129 = HEAP32[$7>>2]|0; + $130 = ($129|0)==(0|0); + if ($130) { + $137 = 0;$138 = 0; + } else { + $131 = HEAP32[$5>>2]|0; + $132 = ((($131)) + -1|0); + HEAP32[$5>>2] = $132; + $137 = 0;$138 = 0; + } + } + $133 = (_bitshift64Shl(($98|0),($100|0),2)|0); + $134 = tempRet0; + $135 = (_i64Add(($133|0),($134|0),-32,-1)|0); + $136 = tempRet0; + $139 = (_i64Add(($135|0),($136|0),($137|0),($138|0))|0); + $140 = tempRet0; + $141 = ($$3162$lcssa|0)==(0); + if ($141) { + $142 = (+($3|0)); + $143 = $142 * 0.0; + $$0165 = $143; + break; + } + $144 = (0 - ($2))|0; + $145 = ($144|0)<(0); + $146 = $145 << 31 >> 31; + $147 = ($140|0)>($146|0); + $148 = ($139>>>0)>($144>>>0); + $149 = ($140|0)==($146|0); + $150 = $149 & $148; + $151 = $147 | $150; + if ($151) { + $152 = (___errno_location()|0); + HEAP32[$152>>2] = 34; + $153 = (+($3|0)); + $154 = $153 * 1.7976931348623157E+308; + $155 = $154 * 1.7976931348623157E+308; + $$0165 = $155; + break; + } + $156 = (($2) + -106)|0; + $157 = ($156|0)<(0); + $158 = $157 << 31 >> 31; + $159 = ($140|0)<($158|0); + $160 = ($139>>>0)<($156>>>0); + $161 = ($140|0)==($158|0); + $162 = $161 & $160; + $163 = $159 | $162; + if ($163) { + $165 = (___errno_location()|0); + HEAP32[$165>>2] = 34; + $166 = (+($3|0)); + $167 = $166 * 2.2250738585072014E-308; + $168 = $167 * 2.2250738585072014E-308; + $$0165 = $168; + break; + } + $164 = ($$3162$lcssa|0)>(-1); + if ($164) { + $$3158179 = $$0155;$$4163178 = $$3162$lcssa;$173 = $139;$174 = $140; + while(1) { + $169 = !($$3158179 >= 0.5); + $170 = $$4163178 << 1; + $171 = $$3158179 + -1.0; + $not$ = $169 ^ 1; + $172 = $not$&1; + $$5164 = $170 | $172; + $$pn = $169 ? $$3158179 : $171; + $$4 = $$3158179 + $$pn; + $175 = (_i64Add(($173|0),($174|0),-1,-1)|0); + $176 = tempRet0; + $177 = ($$5164|0)>(-1); + if ($177) { + $$3158179 = $$4;$$4163178 = $$5164;$173 = $175;$174 = $176; + } else { + $$3158$lcssa = $$4;$$4163$lcssa = $$5164;$184 = $175;$185 = $176; + break; + } + } + } else { + $$3158$lcssa = $$0155;$$4163$lcssa = $$3162$lcssa;$184 = $139;$185 = $140; + } + $178 = ($1|0)<(0); + $179 = $178 << 31 >> 31; + $180 = ($2|0)<(0); + $181 = $180 << 31 >> 31; + $182 = (_i64Subtract(32,0,($2|0),($181|0))|0); + $183 = tempRet0; + $186 = (_i64Add(($182|0),($183|0),($184|0),($185|0))|0); + $187 = tempRet0; + $188 = ($179|0)>($187|0); + $189 = ($1>>>0)>($186>>>0); + $190 = ($179|0)==($187|0); + $191 = $190 & $189; + $192 = $188 | $191; + if ($192) { + $193 = ($186|0)>(0); + if ($193) { + $$0166 = $186; + label = 59; + } else { + $$0166170 = 0;$197 = 84; + label = 61; + } + } else { + $$0166 = $1; + label = 59; + } + if ((label|0) == 59) { + $194 = ($$0166|0)<(53); + $195 = (84 - ($$0166))|0; + if ($194) { + $$0166170 = $$0166;$197 = $195; + label = 61; + } else { + $$pre = (+($3|0)); + $$0151 = 0.0;$$0166169 = $$0166;$$pre$phiZ2D = $$pre; + } + } + if ((label|0) == 61) { + $196 = (+($3|0)); + $198 = (+_scalbn(1.0,$197)); + $199 = (+_copysignl($198,$196)); + $$0151 = $199;$$0166169 = $$0166170;$$pre$phiZ2D = $196; + } + $200 = ($$0166169|0)<(32); + $201 = $$3158$lcssa != 0.0; + $or$cond4 = $201 & $200; + $202 = $$4163$lcssa & 1; + $203 = ($202|0)==(0); + $or$cond168 = $203 & $or$cond4; + $204 = $or$cond168&1; + $$6 = (($204) + ($$4163$lcssa))|0; + $$5 = $or$cond168 ? 0.0 : $$3158$lcssa; + $205 = (+($$6>>>0)); + $206 = $$pre$phiZ2D * $205; + $207 = $$0151 + $206; + $208 = $$pre$phiZ2D * $$5; + $209 = $208 + $207; + $210 = $209 - $$0151; + $211 = $210 != 0.0; + if (!($211)) { + $212 = (___errno_location()|0); + HEAP32[$212>>2] = 34; + } + $213 = (+_scalbnl($210,$184)); + $$0165 = $213; + } + } while(0); + return (+$$0165); +} +function _decfloat($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + var $$ = 0, $$$0345 = 0, $$$0350 = 0, $$$0385 = 0, $$$0401 = 0, $$$5355 = 0, $$$5390 = 0, $$0329 = 0, $$0332490 = 0, $$0333 = 0, $$0334 = 0, $$0336486 = 0, $$0340496 = 0, $$0341$lcssa = 0, $$0341463 = 0, $$0341464 = 0, $$0341465 = 0, $$0341513 = 0, $$0345$lcssa = 0, $$0345467 = 0; + var $$0345468 = 0, $$0345469 = 0, $$0345512 = 0, $$0350$lcssa554 = 0, $$0350494 = 0, $$0360 = 0.0, $$0361 = 0.0, $$0365484 = 0.0, $$0372 = 0, $$0380 = 0, $$0380$ph = 0, $$0385$lcssa553 = 0, $$0385493 = 0, $$0393 = 0, $$0396 = 0, $$0401$lcssa = 0, $$0401473 = 0, $$0401474 = 0, $$0401475 = 0, $$0401509 = 0; + var $$1 = 0.0, $$10 = 0, $$1330$be = 0, $$1330$ph = 0, $$1335 = 0, $$1337 = 0, $$1362 = 0.0, $$1366 = 0.0, $$1373 = 0, $$1373$ph448 = 0, $$1381 = 0, $$1381$ph = 0, $$1381$ph558 = 0, $$1394$lcssa = 0, $$1394511 = 0, $$2 = 0, $$2343 = 0, $$2347 = 0, $$2352$ph449 = 0, $$2367 = 0.0; + var $$2371$v = 0, $$2374 = 0, $$2387$ph447 = 0, $$2395 = 0, $$2398 = 0, $$2403 = 0, $$3$be = 0, $$3$lcssa = 0, $$3344503 = 0, $$3348 = 0, $$3364 = 0.0, $$3368 = 0.0, $$3375 = 0, $$3383 = 0, $$3399$lcssa = 0, $$3399510 = 0, $$3514 = 0, $$413 = 0, $$425 = 0, $$4349495 = 0; + var $$4354 = 0, $$4354$ph = 0, $$4354$ph559 = 0, $$4376 = 0, $$4384 = 0, $$4389$ph = 0, $$4389$ph445 = 0, $$4400 = 0, $$4485 = 0, $$5 = 0, $$5$in = 0, $$5355488 = 0, $$5390487 = 0, $$6378$ph = 0, $$6489 = 0, $$9483 = 0, $$neg442 = 0, $$neg443 = 0, $$pre = 0, $$promoted = 0; + var $$sink = 0, $$sink421$off0 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0.0, $103 = 0.0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; + var $116 = 0, $117 = 0, $118 = 0, $119 = 0.0, $12 = 0, $120 = 0.0, $121 = 0.0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0.0, $132 = 0.0, $133 = 0.0; + var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0.0, $144 = 0.0, $145 = 0.0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; + var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0.0, $159 = 0.0, $16 = 0, $160 = 0.0, $161 = 0, $162 = 0.0, $163 = 0.0, $164 = 0.0, $165 = 0, $166 = 0, $167 = 0, $168 = 0.0, $169 = 0.0, $17 = 0; + var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0.0, $177 = 0.0, $178 = 0.0, $179 = 0, $18 = 0, $180 = 0.0, $181 = 0.0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; + var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0; + var $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0; + var $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0; + var $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0; + var $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0; + var $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0; + var $298 = 0, $299 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0.0, $304 = 0, $305 = 0, $306 = 0.0, $307 = 0.0, $308 = 0, $309 = 0.0, $31 = 0, $310 = 0.0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0; + var $316 = 0, $317 = 0.0, $318 = 0.0, $319 = 0, $32 = 0, $320 = 0.0, $321 = 0.0, $322 = 0.0, $323 = 0.0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0; + var $334 = 0.0, $335 = 0.0, $336 = 0, $337 = 0.0, $338 = 0.0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0.0, $343 = 0.0, $344 = 0.0, $345 = 0.0, $346 = 0, $347 = 0, $348 = 0.0, $349 = 0, $35 = 0, $350 = 0.0, $351 = 0.0; + var $352 = 0.0, $353 = 0, $354 = 0, $355 = 0, $356 = 0.0, $357 = 0, $358 = 0.0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0.0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0; + var $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $39 = 0, $40 = 0, $41 = 0; + var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0; + var $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0; + var $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0; + var $98 = 0, $99 = 0, $cond = 0, $exitcond = 0, $exitcond551 = 0, $narrow = 0, $not$ = 0, $or$cond = 0, $or$cond11 = 0, $or$cond14 = 0, $or$cond415 = 0, $or$cond417 = 0, $or$cond419 = 0, $or$cond420 = 0, $or$cond422 = 0, $or$cond422$not = 0, $or$cond423 = 0, $or$cond426 = 0, $or$cond5 = 0, $sum = 0; + var label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 512|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(512|0); + $6 = sp; + $sum = (($3) + ($2))|0; + $7 = (0 - ($sum))|0; + $8 = ((($0)) + 4|0); + $9 = ((($0)) + 100|0); + $$0329 = $1;$$0396 = 0; + L1: while(1) { + switch ($$0329|0) { + case 46: { + label = 6; + break L1; + break; + } + case 48: { + break; + } + default: { + $$0393 = 0;$$2 = $$0329;$$2398 = $$0396;$366 = 0;$367 = 0; + break L1; + } + } + $10 = HEAP32[$8>>2]|0; + $11 = HEAP32[$9>>2]|0; + $12 = ($10>>>0)<($11>>>0); + if ($12) { + $13 = ((($10)) + 1|0); + HEAP32[$8>>2] = $13; + $14 = HEAP8[$10>>0]|0; + $15 = $14&255; + $$0329 = $15;$$0396 = 1; + continue; + } else { + $16 = (___shgetc($0)|0); + $$0329 = $16;$$0396 = 1; + continue; + } + } + if ((label|0) == 6) { + $17 = HEAP32[$8>>2]|0; + $18 = HEAP32[$9>>2]|0; + $19 = ($17>>>0)<($18>>>0); + if ($19) { + $20 = ((($17)) + 1|0); + HEAP32[$8>>2] = $20; + $21 = HEAP8[$17>>0]|0; + $22 = $21&255; + $$1330$ph = $22; + } else { + $23 = (___shgetc($0)|0); + $$1330$ph = $23; + } + $24 = ($$1330$ph|0)==(48); + if ($24) { + $25 = 0;$26 = 0; + while(1) { + $27 = (_i64Add(($25|0),($26|0),-1,-1)|0); + $28 = tempRet0; + $29 = HEAP32[$8>>2]|0; + $30 = HEAP32[$9>>2]|0; + $31 = ($29>>>0)<($30>>>0); + if ($31) { + $32 = ((($29)) + 1|0); + HEAP32[$8>>2] = $32; + $33 = HEAP8[$29>>0]|0; + $34 = $33&255; + $$1330$be = $34; + } else { + $35 = (___shgetc($0)|0); + $$1330$be = $35; + } + $36 = ($$1330$be|0)==(48); + if ($36) { + $25 = $27;$26 = $28; + } else { + $$0393 = 1;$$2 = $$1330$be;$$2398 = 1;$366 = $27;$367 = $28; + break; + } + } + } else { + $$0393 = 1;$$2 = $$1330$ph;$$2398 = $$0396;$366 = 0;$367 = 0; + } + } + HEAP32[$6>>2] = 0; + $37 = (($$2) + -48)|0; + $38 = ($37>>>0)<(10); + $39 = ($$2|0)==(46); + $40 = $39 | $38; + L20: do { + if ($40) { + $41 = ((($6)) + 496|0); + $$0341513 = 0;$$0345512 = 0;$$0401509 = 0;$$1394511 = $$0393;$$3399510 = $$2398;$$3514 = $$2;$368 = $39;$369 = $37;$370 = $366;$371 = $367;$44 = 0;$45 = 0; + L22: while(1) { + do { + if ($368) { + $cond = ($$1394511|0)==(0); + if ($cond) { + $$2343 = $$0341513;$$2347 = $$0345512;$$2395 = 1;$$2403 = $$0401509;$$4400 = $$3399510;$372 = $44;$373 = $45;$374 = $44;$375 = $45; + } else { + break L22; + } + } else { + $43 = ($$0345512|0)<(125); + $46 = (_i64Add(($44|0),($45|0),1,0)|0); + $47 = tempRet0; + $48 = ($$3514|0)!=(48); + if (!($43)) { + if (!($48)) { + $$2343 = $$0341513;$$2347 = $$0345512;$$2395 = $$1394511;$$2403 = $$0401509;$$4400 = $$3399510;$372 = $370;$373 = $371;$374 = $46;$375 = $47; + break; + } + $57 = HEAP32[$41>>2]|0; + $58 = $57 | 1; + HEAP32[$41>>2] = $58; + $$2343 = $$0341513;$$2347 = $$0345512;$$2395 = $$1394511;$$2403 = $$0401509;$$4400 = $$3399510;$372 = $370;$373 = $371;$374 = $46;$375 = $47; + break; + } + $$$0401 = $48 ? $46 : $$0401509; + $49 = ($$0341513|0)==(0); + $$pre = (($6) + ($$0345512<<2)|0); + if ($49) { + $$sink = $369; + } else { + $50 = HEAP32[$$pre>>2]|0; + $51 = ($50*10)|0; + $52 = (($$3514) + -48)|0; + $53 = (($52) + ($51))|0; + $$sink = $53; + } + HEAP32[$$pre>>2] = $$sink; + $54 = (($$0341513) + 1)|0; + $55 = ($54|0)==(9); + $56 = $55&1; + $$$0345 = (($56) + ($$0345512))|0; + $$413 = $55 ? 0 : $54; + $$2343 = $$413;$$2347 = $$$0345;$$2395 = $$1394511;$$2403 = $$$0401;$$4400 = 1;$372 = $370;$373 = $371;$374 = $46;$375 = $47; + } + } while(0); + $59 = HEAP32[$8>>2]|0; + $60 = HEAP32[$9>>2]|0; + $61 = ($59>>>0)<($60>>>0); + if ($61) { + $62 = ((($59)) + 1|0); + HEAP32[$8>>2] = $62; + $63 = HEAP8[$59>>0]|0; + $64 = $63&255; + $$3$be = $64; + } else { + $65 = (___shgetc($0)|0); + $$3$be = $65; + } + $66 = (($$3$be) + -48)|0; + $67 = ($66>>>0)<(10); + $68 = ($$3$be|0)==(46); + $69 = $68 | $67; + if ($69) { + $$0341513 = $$2343;$$0345512 = $$2347;$$0401509 = $$2403;$$1394511 = $$2395;$$3399510 = $$4400;$$3514 = $$3$be;$368 = $68;$369 = $66;$370 = $372;$371 = $373;$44 = $374;$45 = $375; + } else { + $$0341$lcssa = $$2343;$$0345$lcssa = $$2347;$$0401$lcssa = $$2403;$$1394$lcssa = $$2395;$$3$lcssa = $$3$be;$$3399$lcssa = $$4400;$72 = $372;$73 = $374;$75 = $373;$76 = $375; + label = 29; + break L20; + } + } + $42 = ($$3399510|0)!=(0); + $$0341465 = $$0341513;$$0345469 = $$0345512;$$0401475 = $$0401509;$376 = $44;$377 = $45;$378 = $370;$379 = $371;$380 = $42; + label = 37; + } else { + $$0341$lcssa = 0;$$0345$lcssa = 0;$$0401$lcssa = 0;$$1394$lcssa = $$0393;$$3$lcssa = $$2;$$3399$lcssa = $$2398;$72 = $366;$73 = 0;$75 = $367;$76 = 0; + label = 29; + } + } while(0); + do { + if ((label|0) == 29) { + $70 = ($$1394$lcssa|0)==(0); + $71 = $70 ? $73 : $72; + $74 = $70 ? $76 : $75; + $77 = ($$3399$lcssa|0)!=(0); + $78 = $$3$lcssa | 32; + $79 = ($78|0)==(101); + $or$cond415 = $77 & $79; + if (!($or$cond415)) { + $94 = ($$3$lcssa|0)>(-1); + if ($94) { + $$0341465 = $$0341$lcssa;$$0345469 = $$0345$lcssa;$$0401475 = $$0401$lcssa;$376 = $73;$377 = $76;$378 = $71;$379 = $74;$380 = $77; + label = 37; + break; + } else { + $$0341464 = $$0341$lcssa;$$0345468 = $$0345$lcssa;$$0401474 = $$0401$lcssa;$381 = $73;$382 = $76;$383 = $77;$384 = $71;$385 = $74; + label = 39; + break; + } + } + $80 = (_scanexp($0,$5)|0); + $81 = tempRet0; + $82 = ($80|0)==(0); + $83 = ($81|0)==(-2147483648); + $84 = $82 & $83; + if ($84) { + $85 = ($5|0)==(0); + if ($85) { + ___shlim($0,0); + $$1 = 0.0; + break; + } + $86 = HEAP32[$9>>2]|0; + $87 = ($86|0)==(0|0); + if ($87) { + $90 = 0;$91 = 0; + } else { + $88 = HEAP32[$8>>2]|0; + $89 = ((($88)) + -1|0); + HEAP32[$8>>2] = $89; + $90 = 0;$91 = 0; + } + } else { + $90 = $80;$91 = $81; + } + $92 = (_i64Add(($90|0),($91|0),($71|0),($74|0))|0); + $93 = tempRet0; + $$0341463 = $$0341$lcssa;$$0345467 = $$0345$lcssa;$$0401473 = $$0401$lcssa;$105 = $92;$106 = $73;$108 = $93;$109 = $76; + label = 41; + } + } while(0); + if ((label|0) == 37) { + $95 = HEAP32[$9>>2]|0; + $96 = ($95|0)==(0|0); + if ($96) { + $$0341464 = $$0341465;$$0345468 = $$0345469;$$0401474 = $$0401475;$381 = $376;$382 = $377;$383 = $380;$384 = $378;$385 = $379; + label = 39; + } else { + $97 = HEAP32[$8>>2]|0; + $98 = ((($97)) + -1|0); + HEAP32[$8>>2] = $98; + if ($380) { + $$0341463 = $$0341465;$$0345467 = $$0345469;$$0401473 = $$0401475;$105 = $378;$106 = $376;$108 = $379;$109 = $377; + label = 41; + } else { + label = 40; + } + } + } + if ((label|0) == 39) { + if ($383) { + $$0341463 = $$0341464;$$0345467 = $$0345468;$$0401473 = $$0401474;$105 = $384;$106 = $381;$108 = $385;$109 = $382; + label = 41; + } else { + label = 40; + } + } + do { + if ((label|0) == 40) { + $99 = (___errno_location()|0); + HEAP32[$99>>2] = 22; + ___shlim($0,0); + $$1 = 0.0; + } + else if ((label|0) == 41) { + $100 = HEAP32[$6>>2]|0; + $101 = ($100|0)==(0); + if ($101) { + $102 = (+($4|0)); + $103 = $102 * 0.0; + $$1 = $103; + break; + } + $104 = ($105|0)==($106|0); + $107 = ($108|0)==($109|0); + $110 = $104 & $107; + $111 = ($109|0)<(0); + $112 = ($106>>>0)<(10); + $113 = ($109|0)==(0); + $114 = $113 & $112; + $115 = $111 | $114; + $or$cond = $115 & $110; + if ($or$cond) { + $116 = ($2|0)>(30); + $117 = $100 >>> $2; + $118 = ($117|0)==(0); + $or$cond417 = $116 | $118; + if ($or$cond417) { + $119 = (+($4|0)); + $120 = (+($100>>>0)); + $121 = $119 * $120; + $$1 = $121; + break; + } + } + $122 = (($3|0) / -2)&-1; + $123 = ($122|0)<(0); + $124 = $123 << 31 >> 31; + $125 = ($108|0)>($124|0); + $126 = ($105>>>0)>($122>>>0); + $127 = ($108|0)==($124|0); + $128 = $127 & $126; + $129 = $125 | $128; + if ($129) { + $130 = (___errno_location()|0); + HEAP32[$130>>2] = 34; + $131 = (+($4|0)); + $132 = $131 * 1.7976931348623157E+308; + $133 = $132 * 1.7976931348623157E+308; + $$1 = $133; + break; + } + $134 = (($3) + -106)|0; + $135 = ($134|0)<(0); + $136 = $135 << 31 >> 31; + $137 = ($108|0)<($136|0); + $138 = ($105>>>0)<($134>>>0); + $139 = ($108|0)==($136|0); + $140 = $139 & $138; + $141 = $137 | $140; + if ($141) { + $142 = (___errno_location()|0); + HEAP32[$142>>2] = 34; + $143 = (+($4|0)); + $144 = $143 * 2.2250738585072014E-308; + $145 = $144 * 2.2250738585072014E-308; + $$1 = $145; + break; + } + $146 = ($$0341463|0)==(0); + if ($146) { + $$3348 = $$0345467; + } else { + $147 = ($$0341463|0)<(9); + if ($147) { + $148 = (($6) + ($$0345467<<2)|0); + $$promoted = HEAP32[$148>>2]|0; + $$3344503 = $$0341463;$150 = $$promoted; + while(1) { + $149 = ($150*10)|0; + $151 = (($$3344503) + 1)|0; + $exitcond551 = ($151|0)==(9); + if ($exitcond551) { + break; + } else { + $$3344503 = $151;$150 = $149; + } + } + HEAP32[$148>>2] = $149; + } + $152 = (($$0345467) + 1)|0; + $$3348 = $152; + } + $153 = ($$0401473|0)<(9); + if ($153) { + $154 = ($$0401473|0)<=($105|0); + $155 = ($105|0)<(18); + $or$cond5 = $154 & $155; + if ($or$cond5) { + $156 = ($105|0)==(9); + $157 = HEAP32[$6>>2]|0; + if ($156) { + $158 = (+($4|0)); + $159 = (+($157>>>0)); + $160 = $158 * $159; + $$1 = $160; + break; + } + $161 = ($105|0)<(9); + if ($161) { + $162 = (+($4|0)); + $163 = (+($157>>>0)); + $164 = $162 * $163; + $165 = (8 - ($105))|0; + $166 = (5680 + ($165<<2)|0); + $167 = HEAP32[$166>>2]|0; + $168 = (+($167|0)); + $169 = $164 / $168; + $$1 = $169; + break; + } + $$neg442 = Math_imul($105, -3)|0; + $$neg443 = (($2) + 27)|0; + $170 = (($$neg443) + ($$neg442))|0; + $171 = ($170|0)>(30); + $172 = $157 >>> $170; + $173 = ($172|0)==(0); + $or$cond419 = $171 | $173; + if ($or$cond419) { + $174 = (($105) + -10)|0; + $175 = (5680 + ($174<<2)|0); + $176 = (+($4|0)); + $177 = (+($157>>>0)); + $178 = $176 * $177; + $179 = HEAP32[$175>>2]|0; + $180 = (+($179|0)); + $181 = $178 * $180; + $$1 = $181; + break; + } + } + } + $182 = (($105|0) % 9)&-1; + $183 = ($182|0)==(0); + if ($183) { + $$0380$ph = 0;$$1373$ph448 = $$3348;$$2352$ph449 = 0;$$2387$ph447 = $105; + } else { + $184 = ($105|0)>(-1); + $185 = (($182) + 9)|0; + $186 = $184 ? $182 : $185; + $187 = (8 - ($186))|0; + $188 = (5680 + ($187<<2)|0); + $189 = HEAP32[$188>>2]|0; + $190 = ($$3348|0)==(0); + if ($190) { + $$0350$lcssa554 = 0;$$0372 = 0;$$0385$lcssa553 = $105; + } else { + $191 = (1000000000 / ($189|0))&-1; + $$0340496 = 0;$$0350494 = 0;$$0385493 = $105;$$4349495 = 0; + while(1) { + $192 = (($6) + ($$4349495<<2)|0); + $193 = HEAP32[$192>>2]|0; + $194 = (($193>>>0) % ($189>>>0))&-1; + $195 = (($193>>>0) / ($189>>>0))&-1; + $196 = (($195) + ($$0340496))|0; + HEAP32[$192>>2] = $196; + $197 = Math_imul($191, $194)|0; + $198 = ($$4349495|0)==($$0350494|0); + $199 = ($196|0)==(0); + $or$cond420 = $198 & $199; + $200 = (($$0350494) + 1)|0; + $201 = $200 & 127; + $202 = (($$0385493) + -9)|0; + $$$0385 = $or$cond420 ? $202 : $$0385493; + $$$0350 = $or$cond420 ? $201 : $$0350494; + $203 = (($$4349495) + 1)|0; + $204 = ($203|0)==($$3348|0); + if ($204) { + break; + } else { + $$0340496 = $197;$$0350494 = $$$0350;$$0385493 = $$$0385;$$4349495 = $203; + } + } + $205 = ($197|0)==(0); + if ($205) { + $$0350$lcssa554 = $$$0350;$$0372 = $$3348;$$0385$lcssa553 = $$$0385; + } else { + $206 = (($6) + ($$3348<<2)|0); + $207 = (($$3348) + 1)|0; + HEAP32[$206>>2] = $197; + $$0350$lcssa554 = $$$0350;$$0372 = $207;$$0385$lcssa553 = $$$0385; + } + } + $208 = (9 - ($186))|0; + $209 = (($208) + ($$0385$lcssa553))|0; + $$0380$ph = 0;$$1373$ph448 = $$0372;$$2352$ph449 = $$0350$lcssa554;$$2387$ph447 = $209; + } + L101: while(1) { + $210 = ($$2387$ph447|0)<(18); + $211 = ($$2387$ph447|0)==(18); + $212 = (($6) + ($$2352$ph449<<2)|0); + $$0380 = $$0380$ph;$$1373 = $$1373$ph448; + while(1) { + if (!($210)) { + if (!($211)) { + $$1381$ph = $$0380;$$4354$ph = $$2352$ph449;$$4389$ph445 = $$2387$ph447;$$6378$ph = $$1373; + break L101; + } + $213 = HEAP32[$212>>2]|0; + $214 = ($213>>>0)<(9007199); + if (!($214)) { + $$1381$ph = $$0380;$$4354$ph = $$2352$ph449;$$4389$ph445 = 18;$$6378$ph = $$1373; + break L101; + } + } + $215 = (($$1373) + 127)|0; + $$0334 = 0;$$2374 = $$1373;$$5$in = $215; + while(1) { + $$5 = $$5$in & 127; + $216 = (($6) + ($$5<<2)|0); + $217 = HEAP32[$216>>2]|0; + $218 = (_bitshift64Shl(($217|0),0,29)|0); + $219 = tempRet0; + $220 = (_i64Add(($218|0),($219|0),($$0334|0),0)|0); + $221 = tempRet0; + $222 = ($221>>>0)>(0); + $223 = ($220>>>0)>(1000000000); + $224 = ($221|0)==(0); + $225 = $224 & $223; + $226 = $222 | $225; + if ($226) { + $227 = (___udivdi3(($220|0),($221|0),1000000000,0)|0); + $228 = tempRet0; + $229 = (___uremdi3(($220|0),($221|0),1000000000,0)|0); + $230 = tempRet0; + $$1335 = $227;$$sink421$off0 = $229; + } else { + $$1335 = 0;$$sink421$off0 = $220; + } + HEAP32[$216>>2] = $$sink421$off0; + $231 = (($$2374) + 127)|0; + $232 = $231 & 127; + $233 = ($$5|0)!=($232|0); + $234 = ($$5|0)==($$2352$ph449|0); + $or$cond422 = $233 | $234; + $or$cond422$not = $or$cond422 ^ 1; + $235 = ($$sink421$off0|0)==(0); + $or$cond423 = $235 & $or$cond422$not; + $$3375 = $or$cond423 ? $$5 : $$2374; + $236 = (($$5) + -1)|0; + if ($234) { + break; + } else { + $$0334 = $$1335;$$2374 = $$3375;$$5$in = $236; + } + } + $237 = (($$0380) + -29)|0; + $238 = ($$1335|0)==(0); + if ($238) { + $$0380 = $237;$$1373 = $$3375; + } else { + break; + } + } + $239 = (($$2387$ph447) + 9)|0; + $240 = (($$2352$ph449) + 127)|0; + $241 = $240 & 127; + $242 = ($241|0)==($$3375|0); + $243 = (($$3375) + 127)|0; + $244 = $243 & 127; + $245 = (($$3375) + 126)|0; + $246 = $245 & 127; + $247 = (($6) + ($246<<2)|0); + if ($242) { + $248 = (($6) + ($244<<2)|0); + $249 = HEAP32[$248>>2]|0; + $250 = HEAP32[$247>>2]|0; + $251 = $250 | $249; + HEAP32[$247>>2] = $251; + $$4376 = $244; + } else { + $$4376 = $$3375; + } + $252 = (($6) + ($241<<2)|0); + HEAP32[$252>>2] = $$1335; + $$0380$ph = $237;$$1373$ph448 = $$4376;$$2352$ph449 = $241;$$2387$ph447 = $239; + } + L119: while(1) { + $289 = (($$6378$ph) + 1)|0; + $287 = $289 & 127; + $290 = (($$6378$ph) + 127)|0; + $291 = $290 & 127; + $292 = (($6) + ($291<<2)|0); + $$1381$ph558 = $$1381$ph;$$4354$ph559 = $$4354$ph;$$4389$ph = $$4389$ph445; + while(1) { + $265 = ($$4389$ph|0)==(18); + $293 = ($$4389$ph|0)>(27); + $$425 = $293 ? 9 : 1; + $$1381 = $$1381$ph558;$$4354 = $$4354$ph559; + while(1) { + $$0336486 = 0; + while(1) { + $253 = (($$0336486) + ($$4354))|0; + $254 = $253 & 127; + $255 = ($254|0)==($$6378$ph|0); + if ($255) { + $$1337 = 2; + label = 88; + break; + } + $256 = (($6) + ($254<<2)|0); + $257 = HEAP32[$256>>2]|0; + $258 = (5712 + ($$0336486<<2)|0); + $259 = HEAP32[$258>>2]|0; + $260 = ($257>>>0)<($259>>>0); + if ($260) { + $$1337 = 2; + label = 88; + break; + } + $261 = ($257>>>0)>($259>>>0); + if ($261) { + break; + } + $262 = (($$0336486) + 1)|0; + $263 = ($262|0)<(2); + if ($263) { + $$0336486 = $262; + } else { + $$1337 = $262; + label = 88; + break; + } + } + if ((label|0) == 88) { + label = 0; + $264 = ($$1337|0)==(2); + $or$cond11 = $265 & $264; + if ($or$cond11) { + $$0365484 = 0.0;$$4485 = 0;$$9483 = $$6378$ph; + break L119; + } + } + $266 = (($$425) + ($$1381))|0; + $267 = ($$4354|0)==($$6378$ph|0); + if ($267) { + $$1381 = $266;$$4354 = $$6378$ph; + } else { + break; + } + } + $268 = 1 << $$425; + $269 = (($268) + -1)|0; + $270 = 1000000000 >>> $$425; + $$0332490 = 0;$$5355488 = $$4354;$$5390487 = $$4389$ph;$$6489 = $$4354; + while(1) { + $271 = (($6) + ($$6489<<2)|0); + $272 = HEAP32[$271>>2]|0; + $273 = $272 & $269; + $274 = $272 >>> $$425; + $275 = (($274) + ($$0332490))|0; + HEAP32[$271>>2] = $275; + $276 = Math_imul($273, $270)|0; + $277 = ($$6489|0)==($$5355488|0); + $278 = ($275|0)==(0); + $or$cond426 = $277 & $278; + $279 = (($$5355488) + 1)|0; + $280 = $279 & 127; + $281 = (($$5390487) + -9)|0; + $$$5390 = $or$cond426 ? $281 : $$5390487; + $$$5355 = $or$cond426 ? $280 : $$5355488; + $282 = (($$6489) + 1)|0; + $283 = $282 & 127; + $284 = ($283|0)==($$6378$ph|0); + if ($284) { + break; + } else { + $$0332490 = $276;$$5355488 = $$$5355;$$5390487 = $$$5390;$$6489 = $283; + } + } + $285 = ($276|0)==(0); + if ($285) { + $$1381$ph558 = $266;$$4354$ph559 = $$$5355;$$4389$ph = $$$5390; + continue; + } + $286 = ($287|0)==($$$5355|0); + if (!($286)) { + break; + } + $294 = HEAP32[$292>>2]|0; + $295 = $294 | 1; + HEAP32[$292>>2] = $295; + $$1381$ph558 = $266;$$4354$ph559 = $$$5355;$$4389$ph = $$$5390; + } + $288 = (($6) + ($$6378$ph<<2)|0); + HEAP32[$288>>2] = $276; + $$1381$ph = $266;$$4354$ph = $$$5355;$$4389$ph445 = $$$5390;$$6378$ph = $287; + } + while(1) { + $296 = (($$4485) + ($$4354))|0; + $297 = $296 & 127; + $298 = ($297|0)==($$9483|0); + $299 = (($$9483) + 1)|0; + $300 = $299 & 127; + if ($298) { + $301 = (($300) + -1)|0; + $302 = (($6) + ($301<<2)|0); + HEAP32[$302>>2] = 0; + $$10 = $300; + } else { + $$10 = $$9483; + } + $303 = $$0365484 * 1.0E+9; + $304 = (($6) + ($297<<2)|0); + $305 = HEAP32[$304>>2]|0; + $306 = (+($305>>>0)); + $307 = $303 + $306; + $308 = (($$4485) + 1)|0; + $exitcond = ($308|0)==(2); + if ($exitcond) { + break; + } else { + $$0365484 = $307;$$4485 = $308;$$9483 = $$10; + } + } + $309 = (+($4|0)); + $310 = $309 * $307; + $311 = (($$1381) + 53)|0; + $312 = (($311) - ($3))|0; + $313 = ($312|0)<($2|0); + $314 = ($312|0)>(0); + $$ = $314 ? $312 : 0; + $$0333 = $313 ? $$ : $2; + $315 = ($$0333|0)<(53); + if ($315) { + $316 = (105 - ($$0333))|0; + $317 = (+_scalbn(1.0,$316)); + $318 = (+_copysignl($317,$310)); + $319 = (53 - ($$0333))|0; + $320 = (+_scalbn(1.0,$319)); + $321 = (+_fmodl($310,$320)); + $322 = $310 - $321; + $323 = $318 + $322; + $$0360 = $318;$$0361 = $321;$$1366 = $323; + } else { + $$0360 = 0.0;$$0361 = 0.0;$$1366 = $310; + } + $324 = (($$4354) + 2)|0; + $325 = $324 & 127; + $326 = ($325|0)==($$10|0); + if ($326) { + $$3364 = $$0361; + } else { + $327 = (($6) + ($325<<2)|0); + $328 = HEAP32[$327>>2]|0; + $329 = ($328>>>0)<(500000000); + do { + if ($329) { + $330 = ($328|0)==(0); + if ($330) { + $331 = (($$4354) + 3)|0; + $332 = $331 & 127; + $333 = ($332|0)==($$10|0); + if ($333) { + $$1362 = $$0361; + break; + } + } + $334 = $309 * 0.25; + $335 = $334 + $$0361; + $$1362 = $335; + } else { + $336 = ($328|0)==(500000000); + if (!($336)) { + $337 = $309 * 0.75; + $338 = $337 + $$0361; + $$1362 = $338; + break; + } + $339 = (($$4354) + 3)|0; + $340 = $339 & 127; + $341 = ($340|0)==($$10|0); + if ($341) { + $342 = $309 * 0.5; + $343 = $342 + $$0361; + $$1362 = $343; + break; + } else { + $344 = $309 * 0.75; + $345 = $344 + $$0361; + $$1362 = $345; + break; + } + } + } while(0); + $346 = (53 - ($$0333))|0; + $347 = ($346|0)>(1); + if ($347) { + $348 = (+_fmodl($$1362,1.0)); + $349 = $348 != 0.0; + if ($349) { + $$3364 = $$1362; + } else { + $350 = $$1362 + 1.0; + $$3364 = $350; + } + } else { + $$3364 = $$1362; + } + } + $351 = $$1366 + $$3364; + $352 = $351 - $$0360; + $353 = $311 & 2147483647; + $354 = (-2 - ($sum))|0; + $355 = ($353|0)>($354|0); + do { + if ($355) { + $356 = (+Math_abs((+$352))); + $357 = !($356 >= 9007199254740992.0); + $358 = $352 * 0.5; + $not$ = $357 ^ 1; + $359 = $not$&1; + $$3383 = (($359) + ($$1381))|0; + $$2367 = $357 ? $352 : $358; + $360 = (($$3383) + 50)|0; + $361 = ($360|0)>($7|0); + if (!($361)) { + $362 = ($$0333|0)!=($312|0); + $narrow = $362 | $357; + $$2371$v = $313 & $narrow; + $363 = $$3364 != 0.0; + $or$cond14 = $363 & $$2371$v; + if (!($or$cond14)) { + $$3368 = $$2367;$$4384 = $$3383; + break; + } + } + $364 = (___errno_location()|0); + HEAP32[$364>>2] = 34; + $$3368 = $$2367;$$4384 = $$3383; + } else { + $$3368 = $352;$$4384 = $$1381; + } + } while(0); + $365 = (+_scalbnl($$3368,$$4384)); + $$1 = $365; + } + } while(0); + STACKTOP = sp;return (+$$1); +} +function _scanexp($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $$04861 = 0, $$049 = 0, $$1$be = 0, $$160 = 0, $$2$be = 0, $$2$lcssa = 0, $$254 = 0, $$3$be = 0, $$lcssa = 0, $$pre = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0; + var $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0; + var $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0; + var $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0; + var $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0; + var $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($0)) + 4|0); + $3 = HEAP32[$2>>2]|0; + $4 = ((($0)) + 100|0); + $5 = HEAP32[$4>>2]|0; + $6 = ($3>>>0)<($5>>>0); + if ($6) { + $7 = ((($3)) + 1|0); + HEAP32[$2>>2] = $7; + $8 = HEAP8[$3>>0]|0; + $9 = $8&255; + $11 = $9; + } else { + $10 = (___shgetc($0)|0); + $11 = $10; + } + switch ($11|0) { + case 43: case 45: { + $12 = ($11|0)==(45); + $13 = $12&1; + $14 = HEAP32[$2>>2]|0; + $15 = HEAP32[$4>>2]|0; + $16 = ($14>>>0)<($15>>>0); + if ($16) { + $17 = ((($14)) + 1|0); + HEAP32[$2>>2] = $17; + $18 = HEAP8[$14>>0]|0; + $19 = $18&255; + $22 = $19; + } else { + $20 = (___shgetc($0)|0); + $22 = $20; + } + $21 = (($22) + -48)|0; + $23 = ($21>>>0)>(9); + $24 = ($1|0)!=(0); + $or$cond3 = $24 & $23; + if ($or$cond3) { + $25 = HEAP32[$4>>2]|0; + $26 = ($25|0)==(0|0); + if ($26) { + $$0 = $13;$$049 = $22; + } else { + $27 = HEAP32[$2>>2]|0; + $28 = ((($27)) + -1|0); + HEAP32[$2>>2] = $28; + $$0 = $13;$$049 = $22; + } + } else { + $$0 = $13;$$049 = $22; + } + break; + } + default: { + $$0 = 0;$$049 = $11; + } + } + $29 = (($$049) + -48)|0; + $30 = ($29>>>0)>(9); + if ($30) { + $31 = HEAP32[$4>>2]|0; + $32 = ($31|0)==(0|0); + if ($32) { + $100 = -2147483648;$101 = 0; + } else { + $33 = HEAP32[$2>>2]|0; + $34 = ((($33)) + -1|0); + HEAP32[$2>>2] = $34; + $100 = -2147483648;$101 = 0; + } + } else { + $$04861 = 0;$$160 = $$049; + while(1) { + $35 = ($$04861*10)|0; + $36 = (($$160) + -48)|0; + $37 = (($36) + ($35))|0; + $38 = HEAP32[$2>>2]|0; + $39 = HEAP32[$4>>2]|0; + $40 = ($38>>>0)<($39>>>0); + if ($40) { + $41 = ((($38)) + 1|0); + HEAP32[$2>>2] = $41; + $42 = HEAP8[$38>>0]|0; + $43 = $42&255; + $$1$be = $43; + } else { + $44 = (___shgetc($0)|0); + $$1$be = $44; + } + $45 = (($$1$be) + -48)|0; + $46 = ($45>>>0)<(10); + $47 = ($37|0)<(214748364); + $48 = $46 & $47; + if ($48) { + $$04861 = $37;$$160 = $$1$be; + } else { + break; + } + } + $49 = ($37|0)<(0); + $50 = $49 << 31 >> 31; + $51 = (($$1$be) + -48)|0; + $52 = ($51>>>0)<(10); + if ($52) { + $$254 = $$1$be;$56 = $37;$57 = $50; + while(1) { + $58 = (___muldi3(($56|0),($57|0),10,0)|0); + $59 = tempRet0; + $60 = ($$254|0)<(0); + $61 = $60 << 31 >> 31; + $62 = (_i64Add(($$254|0),($61|0),-48,-1)|0); + $63 = tempRet0; + $64 = (_i64Add(($62|0),($63|0),($58|0),($59|0))|0); + $65 = tempRet0; + $66 = HEAP32[$2>>2]|0; + $67 = HEAP32[$4>>2]|0; + $68 = ($66>>>0)<($67>>>0); + if ($68) { + $69 = ((($66)) + 1|0); + HEAP32[$2>>2] = $69; + $70 = HEAP8[$66>>0]|0; + $71 = $70&255; + $$2$be = $71; + } else { + $72 = (___shgetc($0)|0); + $$2$be = $72; + } + $73 = (($$2$be) + -48)|0; + $74 = ($73>>>0)<(10); + $75 = ($65|0)<(21474836); + $76 = ($64>>>0)<(2061584302); + $77 = ($65|0)==(21474836); + $78 = $77 & $76; + $79 = $75 | $78; + $80 = $74 & $79; + if ($80) { + $$254 = $$2$be;$56 = $64;$57 = $65; + } else { + $$2$lcssa = $$2$be;$94 = $64;$95 = $65; + break; + } + } + } else { + $$2$lcssa = $$1$be;$94 = $37;$95 = $50; + } + $53 = (($$2$lcssa) + -48)|0; + $54 = ($53>>>0)<(10); + $55 = HEAP32[$4>>2]|0; + if ($54) { + $83 = $55; + while(1) { + $81 = HEAP32[$2>>2]|0; + $82 = ($81>>>0)<($83>>>0); + if ($82) { + $84 = ((($81)) + 1|0); + HEAP32[$2>>2] = $84; + $85 = HEAP8[$81>>0]|0; + $86 = $85&255; + $$3$be = $86;$102 = $83; + } else { + $87 = (___shgetc($0)|0); + $$pre = HEAP32[$4>>2]|0; + $$3$be = $87;$102 = $$pre; + } + $88 = (($$3$be) + -48)|0; + $89 = ($88>>>0)<(10); + if ($89) { + $83 = $102; + } else { + $$lcssa = $102; + break; + } + } + } else { + $$lcssa = $55; + } + $90 = ($$lcssa|0)==(0|0); + if (!($90)) { + $91 = HEAP32[$2>>2]|0; + $92 = ((($91)) + -1|0); + HEAP32[$2>>2] = $92; + } + $93 = ($$0|0)!=(0); + $96 = (_i64Subtract(0,0,($94|0),($95|0))|0); + $97 = tempRet0; + $98 = $93 ? $96 : $94; + $99 = $93 ? $97 : $95; + $100 = $99;$101 = $98; + } + tempRet0 = ($100); + return ($101|0); +} +function _scalbn($0,$1) { + $0 = +$0; + $1 = $1|0; + var $$ = 0, $$$ = 0, $$0 = 0.0, $$020 = 0, $$1 = 0, $$1$ = 0, $$21 = 0.0, $$22 = 0.0, $10 = 0.0, $11 = 0, $12 = 0, $13 = 0.0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0.0, $2 = 0, $20 = 0.0; + var $3 = 0.0, $4 = 0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ($1|0)>(1023); + if ($2) { + $3 = $0 * 8.9884656743115795E+307; + $4 = (($1) + -1023)|0; + $5 = ($4|0)>(1023); + $6 = $3 * 8.9884656743115795E+307; + $7 = (($1) + -2046)|0; + $8 = ($7|0)<(1023); + $$ = $8 ? $7 : 1023; + $$$ = $5 ? $$ : $4; + $$21 = $5 ? $6 : $3; + $$0 = $$21;$$020 = $$$; + } else { + $9 = ($1|0)<(-1022); + if ($9) { + $10 = $0 * 2.2250738585072014E-308; + $11 = (($1) + 1022)|0; + $12 = ($11|0)<(-1022); + $13 = $10 * 2.2250738585072014E-308; + $14 = (($1) + 2044)|0; + $15 = ($14|0)>(-1022); + $$1 = $15 ? $14 : -1022; + $$1$ = $12 ? $$1 : $11; + $$22 = $12 ? $13 : $10; + $$0 = $$22;$$020 = $$1$; + } else { + $$0 = $0;$$020 = $1; + } + } + $16 = (($$020) + 1023)|0; + $17 = (_bitshift64Shl(($16|0),0,52)|0); + $18 = tempRet0; + HEAP32[tempDoublePtr>>2] = $17;HEAP32[tempDoublePtr+4>>2] = $18;$19 = +HEAPF64[tempDoublePtr>>3]; + $20 = $$0 * $19; + return (+$20); +} +function _copysignl($0,$1) { + $0 = +$0; + $1 = +$1; + var $2 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = (+_copysign($0,$1)); + return (+$2); +} +function _fmodl($0,$1) { + $0 = +$0; + $1 = +$1; + var $2 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = (+_fmod($0,$1)); + return (+$2); +} +function _scalbnl($0,$1) { + $0 = +$0; + $1 = $1|0; + var $2 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = (+_scalbn($0,$1)); + return (+$2); +} +function _fmod($0,$1) { + $0 = +$0; + $1 = +$1; + var $$ = 0.0, $$070 = 0.0, $$071$lcssa = 0, $$07194 = 0, $$073$lcssa = 0, $$073100 = 0, $$172$ph = 0, $$174 = 0, $$275$lcssa = 0, $$27586 = 0, $$376$lcssa = 0, $$37683 = 0, $$lcssa = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0.0, $104 = 0, $105 = 0; + var $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0; + var $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0.0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0; + var $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0.0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0; + var $160 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0.0, $28 = 0.0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0; + var $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0.0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0; + var $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0; + var $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0; + var $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF64[tempDoublePtr>>3] = $0;$2 = HEAP32[tempDoublePtr>>2]|0; + $3 = HEAP32[tempDoublePtr+4>>2]|0; + HEAPF64[tempDoublePtr>>3] = $1;$4 = HEAP32[tempDoublePtr>>2]|0; + $5 = HEAP32[tempDoublePtr+4>>2]|0; + $6 = (_bitshift64Lshr(($2|0),($3|0),52)|0); + $7 = tempRet0; + $8 = $6 & 2047; + $9 = (_bitshift64Lshr(($4|0),($5|0),52)|0); + $10 = tempRet0; + $11 = $9 & 2047; + $12 = $3 & -2147483648; + $13 = (_bitshift64Shl(($4|0),($5|0),1)|0); + $14 = tempRet0; + $15 = ($13|0)==(0); + $16 = ($14|0)==(0); + $17 = $15 & $16; + L1: do { + if ($17) { + label = 3; + } else { + $18 = (___DOUBLE_BITS_272($1)|0); + $19 = tempRet0; + $20 = $19 & 2147483647; + $21 = ($20>>>0)>(2146435072); + $22 = ($18>>>0)>(0); + $23 = ($20|0)==(2146435072); + $24 = $23 & $22; + $25 = $21 | $24; + $26 = ($8|0)==(2047); + $or$cond = $26 | $25; + if ($or$cond) { + label = 3; + } else { + $29 = (_bitshift64Shl(($2|0),($3|0),1)|0); + $30 = tempRet0; + $31 = ($30>>>0)>($14>>>0); + $32 = ($29>>>0)>($13>>>0); + $33 = ($30|0)==($14|0); + $34 = $33 & $32; + $35 = $31 | $34; + if (!($35)) { + $36 = ($29|0)==($13|0); + $37 = ($30|0)==($14|0); + $38 = $36 & $37; + $39 = $0 * 0.0; + $$ = $38 ? $39 : $0; + return (+$$); + } + $40 = ($8|0)==(0); + if ($40) { + $41 = (_bitshift64Shl(($2|0),($3|0),12)|0); + $42 = tempRet0; + $43 = ($42|0)>(-1); + $44 = ($41>>>0)>(4294967295); + $45 = ($42|0)==(-1); + $46 = $45 & $44; + $47 = $43 | $46; + if ($47) { + $$073100 = 0;$49 = $41;$50 = $42; + while(1) { + $48 = (($$073100) + -1)|0; + $51 = (_bitshift64Shl(($49|0),($50|0),1)|0); + $52 = tempRet0; + $53 = ($52|0)>(-1); + $54 = ($51>>>0)>(4294967295); + $55 = ($52|0)==(-1); + $56 = $55 & $54; + $57 = $53 | $56; + if ($57) { + $$073100 = $48;$49 = $51;$50 = $52; + } else { + $$073$lcssa = $48; + break; + } + } + } else { + $$073$lcssa = 0; + } + $58 = (1 - ($$073$lcssa))|0; + $59 = (_bitshift64Shl(($2|0),($3|0),($58|0))|0); + $60 = tempRet0; + $$174 = $$073$lcssa;$87 = $59;$88 = $60; + } else { + $61 = $3 & 1048575; + $62 = $61 | 1048576; + $$174 = $8;$87 = $2;$88 = $62; + } + $63 = ($11|0)==(0); + if ($63) { + $64 = (_bitshift64Shl(($4|0),($5|0),12)|0); + $65 = tempRet0; + $66 = ($65|0)>(-1); + $67 = ($64>>>0)>(4294967295); + $68 = ($65|0)==(-1); + $69 = $68 & $67; + $70 = $66 | $69; + if ($70) { + $$07194 = 0;$72 = $64;$73 = $65; + while(1) { + $71 = (($$07194) + -1)|0; + $74 = (_bitshift64Shl(($72|0),($73|0),1)|0); + $75 = tempRet0; + $76 = ($75|0)>(-1); + $77 = ($74>>>0)>(4294967295); + $78 = ($75|0)==(-1); + $79 = $78 & $77; + $80 = $76 | $79; + if ($80) { + $$07194 = $71;$72 = $74;$73 = $75; + } else { + $$071$lcssa = $71; + break; + } + } + } else { + $$071$lcssa = 0; + } + $81 = (1 - ($$071$lcssa))|0; + $82 = (_bitshift64Shl(($4|0),($5|0),($81|0))|0); + $83 = tempRet0; + $$172$ph = $$071$lcssa;$89 = $82;$90 = $83; + } else { + $84 = $5 & 1048575; + $85 = $84 | 1048576; + $$172$ph = $11;$89 = $4;$90 = $85; + } + $86 = ($$174|0)>($$172$ph|0); + $91 = (_i64Subtract(($87|0),($88|0),($89|0),($90|0))|0); + $92 = tempRet0; + $93 = ($92|0)>(-1); + $94 = ($91>>>0)>(4294967295); + $95 = ($92|0)==(-1); + $96 = $95 & $94; + $97 = $93 | $96; + L23: do { + if ($86) { + $$27586 = $$174;$101 = $92;$156 = $97;$157 = $87;$158 = $88;$99 = $91; + while(1) { + if ($156) { + $98 = ($99|0)==(0); + $100 = ($101|0)==(0); + $102 = $98 & $100; + if ($102) { + break; + } else { + $104 = $99;$105 = $101; + } + } else { + $104 = $157;$105 = $158; + } + $106 = (_bitshift64Shl(($104|0),($105|0),1)|0); + $107 = tempRet0; + $108 = (($$27586) + -1)|0; + $109 = ($108|0)>($$172$ph|0); + $110 = (_i64Subtract(($106|0),($107|0),($89|0),($90|0))|0); + $111 = tempRet0; + $112 = ($111|0)>(-1); + $113 = ($110>>>0)>(4294967295); + $114 = ($111|0)==(-1); + $115 = $114 & $113; + $116 = $112 | $115; + if ($109) { + $$27586 = $108;$101 = $111;$156 = $116;$157 = $106;$158 = $107;$99 = $110; + } else { + $$275$lcssa = $108;$$lcssa = $116;$118 = $110;$120 = $111;$159 = $106;$160 = $107; + break L23; + } + } + $103 = $0 * 0.0; + $$070 = $103; + break L1; + } else { + $$275$lcssa = $$174;$$lcssa = $97;$118 = $91;$120 = $92;$159 = $87;$160 = $88; + } + } while(0); + if ($$lcssa) { + $117 = ($118|0)==(0); + $119 = ($120|0)==(0); + $121 = $117 & $119; + if ($121) { + $129 = $0 * 0.0; + $$070 = $129; + break; + } else { + $123 = $120;$125 = $118; + } + } else { + $123 = $160;$125 = $159; + } + $122 = ($123>>>0)<(1048576); + $124 = ($125>>>0)<(0); + $126 = ($123|0)==(1048576); + $127 = $126 & $124; + $128 = $122 | $127; + if ($128) { + $$37683 = $$275$lcssa;$130 = $125;$131 = $123; + while(1) { + $132 = (_bitshift64Shl(($130|0),($131|0),1)|0); + $133 = tempRet0; + $134 = (($$37683) + -1)|0; + $135 = ($133>>>0)<(1048576); + $136 = ($132>>>0)<(0); + $137 = ($133|0)==(1048576); + $138 = $137 & $136; + $139 = $135 | $138; + if ($139) { + $$37683 = $134;$130 = $132;$131 = $133; + } else { + $$376$lcssa = $134;$141 = $132;$142 = $133; + break; + } + } + } else { + $$376$lcssa = $$275$lcssa;$141 = $125;$142 = $123; + } + $140 = ($$376$lcssa|0)>(0); + if ($140) { + $143 = (_i64Add(($141|0),($142|0),0,-1048576)|0); + $144 = tempRet0; + $145 = (_bitshift64Shl(($$376$lcssa|0),0,52)|0); + $146 = tempRet0; + $147 = $143 | $145; + $148 = $144 | $146; + $153 = $148;$155 = $147; + } else { + $149 = (1 - ($$376$lcssa))|0; + $150 = (_bitshift64Lshr(($141|0),($142|0),($149|0))|0); + $151 = tempRet0; + $153 = $151;$155 = $150; + } + $152 = $153 | $12; + HEAP32[tempDoublePtr>>2] = $155;HEAP32[tempDoublePtr+4>>2] = $152;$154 = +HEAPF64[tempDoublePtr>>3]; + $$070 = $154; + } + } + } while(0); + if ((label|0) == 3) { + $27 = $0 * $1; + $28 = $27 / $27; + $$070 = $28; + } + return (+$$070); +} +function ___DOUBLE_BITS_272($0) { + $0 = +$0; + var $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF64[tempDoublePtr>>3] = $0;$1 = HEAP32[tempDoublePtr>>2]|0; + $2 = HEAP32[tempDoublePtr+4>>2]|0; + tempRet0 = ($2); + return ($1|0); +} +function _strlen($0) { + $0 = $0|0; + var $$0 = 0, $$015$lcssa = 0, $$01519 = 0, $$1$lcssa = 0, $$pn = 0, $$pre = 0, $$sink = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0; + var $21 = 0, $22 = 0, $23 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = $0; + $2 = $1 & 3; + $3 = ($2|0)==(0); + L1: do { + if ($3) { + $$015$lcssa = $0; + label = 4; + } else { + $$01519 = $0;$23 = $1; + while(1) { + $4 = HEAP8[$$01519>>0]|0; + $5 = ($4<<24>>24)==(0); + if ($5) { + $$sink = $23; + break L1; + } + $6 = ((($$01519)) + 1|0); + $7 = $6; + $8 = $7 & 3; + $9 = ($8|0)==(0); + if ($9) { + $$015$lcssa = $6; + label = 4; + break; + } else { + $$01519 = $6;$23 = $7; + } + } + } + } while(0); + if ((label|0) == 4) { + $$0 = $$015$lcssa; + while(1) { + $10 = HEAP32[$$0>>2]|0; + $11 = (($10) + -16843009)|0; + $12 = $10 & -2139062144; + $13 = $12 ^ -2139062144; + $14 = $13 & $11; + $15 = ($14|0)==(0); + $16 = ((($$0)) + 4|0); + if ($15) { + $$0 = $16; + } else { + break; + } + } + $17 = $10&255; + $18 = ($17<<24>>24)==(0); + if ($18) { + $$1$lcssa = $$0; + } else { + $$pn = $$0; + while(1) { + $19 = ((($$pn)) + 1|0); + $$pre = HEAP8[$19>>0]|0; + $20 = ($$pre<<24>>24)==(0); + if ($20) { + $$1$lcssa = $19; + break; + } else { + $$pn = $19; + } + } + } + $21 = $$1$lcssa; + $$sink = $21; + } + $22 = (($$sink) - ($1))|0; + return ($22|0); +} +function _strchr($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = (___strchrnul($0,$1)|0); + $3 = HEAP8[$2>>0]|0; + $4 = $1&255; + $5 = ($3<<24>>24)==($4<<24>>24); + $6 = $5 ? $2 : 0; + return ($6|0); +} +function ___strchrnul($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $$029$lcssa = 0, $$02936 = 0, $$030$lcssa = 0, $$03039 = 0, $$1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0; + var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0; + var $41 = 0, $42 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond33 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = $1 & 255; + $3 = ($2|0)==(0); + L1: do { + if ($3) { + $8 = (_strlen($0)|0); + $9 = (($0) + ($8)|0); + $$0 = $9; + } else { + $4 = $0; + $5 = $4 & 3; + $6 = ($5|0)==(0); + if ($6) { + $$030$lcssa = $0; + } else { + $7 = $1&255; + $$03039 = $0; + while(1) { + $10 = HEAP8[$$03039>>0]|0; + $11 = ($10<<24>>24)==(0); + $12 = ($10<<24>>24)==($7<<24>>24); + $or$cond = $11 | $12; + if ($or$cond) { + $$0 = $$03039; + break L1; + } + $13 = ((($$03039)) + 1|0); + $14 = $13; + $15 = $14 & 3; + $16 = ($15|0)==(0); + if ($16) { + $$030$lcssa = $13; + break; + } else { + $$03039 = $13; + } + } + } + $17 = Math_imul($2, 16843009)|0; + $18 = HEAP32[$$030$lcssa>>2]|0; + $19 = (($18) + -16843009)|0; + $20 = $18 & -2139062144; + $21 = $20 ^ -2139062144; + $22 = $21 & $19; + $23 = ($22|0)==(0); + L10: do { + if ($23) { + $$02936 = $$030$lcssa;$25 = $18; + while(1) { + $24 = $25 ^ $17; + $26 = (($24) + -16843009)|0; + $27 = $24 & -2139062144; + $28 = $27 ^ -2139062144; + $29 = $28 & $26; + $30 = ($29|0)==(0); + if (!($30)) { + $$029$lcssa = $$02936; + break L10; + } + $31 = ((($$02936)) + 4|0); + $32 = HEAP32[$31>>2]|0; + $33 = (($32) + -16843009)|0; + $34 = $32 & -2139062144; + $35 = $34 ^ -2139062144; + $36 = $35 & $33; + $37 = ($36|0)==(0); + if ($37) { + $$02936 = $31;$25 = $32; + } else { + $$029$lcssa = $31; + break; + } + } + } else { + $$029$lcssa = $$030$lcssa; + } + } while(0); + $38 = $1&255; + $$1 = $$029$lcssa; + while(1) { + $39 = HEAP8[$$1>>0]|0; + $40 = ($39<<24>>24)==(0); + $41 = ($39<<24>>24)==($38<<24>>24); + $or$cond33 = $40 | $41; + $42 = ((($$1)) + 1|0); + if ($or$cond33) { + $$0 = $$1; + break; + } else { + $$1 = $42; + } + } + } + } while(0); + return ($$0|0); +} +function _mbrtowc($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$ = 0, $$0 = 0, $$03952 = 0, $$04051 = 0, $$04350 = 0, $$1 = 0, $$141 = 0, $$144 = 0, $$2 = 0, $$47 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0; + var $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0; + var $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; + var $not$ = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $4 = sp; + $5 = ($3|0)==(0|0); + $$ = $5 ? 338588 : $3; + $6 = HEAP32[$$>>2]|0; + $7 = ($1|0)==(0|0); + L1: do { + if ($7) { + $8 = ($6|0)==(0); + if ($8) { + $$0 = 0; + } else { + label = 17; + } + } else { + $9 = ($0|0)==(0|0); + $$47 = $9 ? $4 : $0; + $10 = ($2|0)==(0); + if ($10) { + $$0 = -2; + } else { + $11 = ($6|0)==(0); + if ($11) { + $12 = HEAP8[$1>>0]|0; + $13 = ($12<<24>>24)>(-1); + if ($13) { + $14 = $12&255; + HEAP32[$$47>>2] = $14; + $15 = ($12<<24>>24)!=(0); + $16 = $15&1; + $$0 = $16; + break; + } + $17 = (___pthread_self_439()|0); + $18 = ((($17)) + 188|0); + $19 = HEAP32[$18>>2]|0; + $20 = HEAP32[$19>>2]|0; + $not$ = ($20|0)==(0|0); + $21 = HEAP8[$1>>0]|0; + if ($not$) { + $22 = $21 << 24 >> 24; + $23 = $22 & 57343; + HEAP32[$$47>>2] = $23; + $$0 = 1; + break; + } + $24 = $21&255; + $25 = (($24) + -194)|0; + $26 = ($25>>>0)>(50); + if ($26) { + label = 17; + break; + } + $27 = ((($1)) + 1|0); + $28 = (4848 + ($25<<2)|0); + $29 = HEAP32[$28>>2]|0; + $30 = (($2) + -1)|0; + $31 = ($30|0)==(0); + if ($31) { + $$2 = $29; + } else { + $$03952 = $27;$$04051 = $29;$$04350 = $30; + label = 11; + } + } else { + $$03952 = $1;$$04051 = $6;$$04350 = $2; + label = 11; + } + L14: do { + if ((label|0) == 11) { + $32 = HEAP8[$$03952>>0]|0; + $33 = $32&255; + $34 = $33 >>> 3; + $35 = (($34) + -16)|0; + $36 = $$04051 >> 26; + $37 = (($34) + ($36))|0; + $38 = $35 | $37; + $39 = ($38>>>0)>(7); + if ($39) { + label = 17; + break L1; + } else { + $$1 = $$03952;$$141 = $$04051;$$144 = $$04350;$43 = $32; + } + while(1) { + $40 = $$141 << 6; + $41 = ((($$1)) + 1|0); + $42 = $43&255; + $44 = (($42) + -128)|0; + $45 = $44 | $40; + $46 = (($$144) + -1)|0; + $47 = ($45|0)<(0); + if (!($47)) { + break; + } + $49 = ($46|0)==(0); + if ($49) { + $$2 = $45; + break L14; + } + $50 = HEAP8[$41>>0]|0; + $51 = $50 & -64; + $52 = ($51<<24>>24)==(-128); + if ($52) { + $$1 = $41;$$141 = $45;$$144 = $46;$43 = $50; + } else { + label = 17; + break L1; + } + } + HEAP32[$$>>2] = 0; + HEAP32[$$47>>2] = $45; + $48 = (($2) - ($46))|0; + $$0 = $48; + break L1; + } + } while(0); + HEAP32[$$>>2] = $$2; + $$0 = -2; + } + } + } while(0); + if ((label|0) == 17) { + HEAP32[$$>>2] = 0; + $53 = (___errno_location()|0); + HEAP32[$53>>2] = 84; + $$0 = -1; + } + STACKTOP = sp;return ($$0|0); +} +function ___pthread_self_439() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (_pthread_self()|0); + return ($0|0); +} +function _strcpy($0,$1) { + $0 = $0|0; + $1 = $1|0; + var label = 0, sp = 0; + sp = STACKTOP; + (___stpcpy($0,$1)|0); + return ($0|0); +} +function ___stpcpy($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0$lcssa = 0, $$025$lcssa = 0, $$02536 = 0, $$026$lcssa = 0, $$02642 = 0, $$027$lcssa = 0, $$02741 = 0, $$029 = 0, $$037 = 0, $$1$ph = 0, $$128$ph = 0, $$12834 = 0, $$135 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0; + var $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0; + var $35 = 0, $36 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = $1; + $3 = $0; + $4 = $2 ^ $3; + $5 = $4 & 3; + $6 = ($5|0)==(0); + L1: do { + if ($6) { + $7 = $2 & 3; + $8 = ($7|0)==(0); + if ($8) { + $$026$lcssa = $1;$$027$lcssa = $0; + } else { + $$02642 = $1;$$02741 = $0; + while(1) { + $9 = HEAP8[$$02642>>0]|0; + HEAP8[$$02741>>0] = $9; + $10 = ($9<<24>>24)==(0); + if ($10) { + $$029 = $$02741; + break L1; + } + $11 = ((($$02642)) + 1|0); + $12 = ((($$02741)) + 1|0); + $13 = $11; + $14 = $13 & 3; + $15 = ($14|0)==(0); + if ($15) { + $$026$lcssa = $11;$$027$lcssa = $12; + break; + } else { + $$02642 = $11;$$02741 = $12; + } + } + } + $16 = HEAP32[$$026$lcssa>>2]|0; + $17 = (($16) + -16843009)|0; + $18 = $16 & -2139062144; + $19 = $18 ^ -2139062144; + $20 = $19 & $17; + $21 = ($20|0)==(0); + if ($21) { + $$02536 = $$027$lcssa;$$037 = $$026$lcssa;$24 = $16; + while(1) { + $22 = ((($$037)) + 4|0); + $23 = ((($$02536)) + 4|0); + HEAP32[$$02536>>2] = $24; + $25 = HEAP32[$22>>2]|0; + $26 = (($25) + -16843009)|0; + $27 = $25 & -2139062144; + $28 = $27 ^ -2139062144; + $29 = $28 & $26; + $30 = ($29|0)==(0); + if ($30) { + $$02536 = $23;$$037 = $22;$24 = $25; + } else { + $$0$lcssa = $22;$$025$lcssa = $23; + break; + } + } + } else { + $$0$lcssa = $$026$lcssa;$$025$lcssa = $$027$lcssa; + } + $$1$ph = $$0$lcssa;$$128$ph = $$025$lcssa; + label = 8; + } else { + $$1$ph = $1;$$128$ph = $0; + label = 8; + } + } while(0); + if ((label|0) == 8) { + $31 = HEAP8[$$1$ph>>0]|0; + HEAP8[$$128$ph>>0] = $31; + $32 = ($31<<24>>24)==(0); + if ($32) { + $$029 = $$128$ph; + } else { + $$12834 = $$128$ph;$$135 = $$1$ph; + while(1) { + $33 = ((($$135)) + 1|0); + $34 = ((($$12834)) + 1|0); + $35 = HEAP8[$33>>0]|0; + HEAP8[$34>>0] = $35; + $36 = ($35<<24>>24)==(0); + if ($36) { + $$029 = $34; + break; + } else { + $$12834 = $34;$$135 = $33; + } + } + } + } + return ($$029|0); +} +function _ldexp($0,$1) { + $0 = +$0; + $1 = $1|0; + var $2 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = (+_scalbn($0,$1)); + return (+$2); +} +function _fwrite($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$ = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $phitmp = 0, label = 0, sp = 0; + sp = STACKTOP; + $4 = Math_imul($2, $1)|0; + $5 = ($1|0)==(0); + $$ = $5 ? 0 : $2; + $6 = ((($3)) + 76|0); + $7 = HEAP32[$6>>2]|0; + $8 = ($7|0)>(-1); + if ($8) { + $10 = (___lockfile($3)|0); + $phitmp = ($10|0)==(0); + $11 = (___fwritex($0,$4,$3)|0); + if ($phitmp) { + $13 = $11; + } else { + ___unlockfile($3); + $13 = $11; + } + } else { + $9 = (___fwritex($0,$4,$3)|0); + $13 = $9; + } + $12 = ($13|0)==($4|0); + if ($12) { + $15 = $$; + } else { + $14 = (($13>>>0) / ($1>>>0))&-1; + $15 = $14; + } + return ($15|0); +} +function ___unlist_locked_file($0) { + $0 = $0|0; + var $$pre = 0, $$sink = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 68|0); + $2 = HEAP32[$1>>2]|0; + $3 = ($2|0)==(0); + if (!($3)) { + $4 = ((($0)) + 116|0); + $5 = HEAP32[$4>>2]|0; + $6 = ($5|0)==(0|0); + $$pre = ((($0)) + 112|0); + if (!($6)) { + $7 = HEAP32[$$pre>>2]|0; + $8 = ((($5)) + 112|0); + HEAP32[$8>>2] = $7; + } + $9 = HEAP32[$$pre>>2]|0; + $10 = ($9|0)==(0|0); + if ($10) { + $12 = (___pthread_self_607()|0); + $13 = ((($12)) + 232|0); + $$sink = $13; + } else { + $11 = ((($9)) + 116|0); + $$sink = $11; + } + HEAP32[$$sink>>2] = $5; + } + return; +} +function ___pthread_self_607() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (_pthread_self()|0); + return ($0|0); +} +function _fopen($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $memchr = 0, $vararg_buffer = 0, $vararg_buffer3 = 0, $vararg_buffer8 = 0, $vararg_ptr1 = 0; + var $vararg_ptr2 = 0, $vararg_ptr6 = 0, $vararg_ptr7 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0); + $vararg_buffer8 = sp + 32|0; + $vararg_buffer3 = sp + 16|0; + $vararg_buffer = sp; + $2 = HEAP8[$1>>0]|0; + $3 = $2 << 24 >> 24; + $memchr = (_memchr(25171,$3,4)|0); + $4 = ($memchr|0)==(0|0); + if ($4) { + $5 = (___errno_location()|0); + HEAP32[$5>>2] = 22; + $$0 = 0; + } else { + $6 = (___fmodeflags($1)|0); + $7 = $0; + $8 = $6 | 32768; + HEAP32[$vararg_buffer>>2] = $7; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $8; + $vararg_ptr2 = ((($vararg_buffer)) + 8|0); + HEAP32[$vararg_ptr2>>2] = 438; + $9 = (___syscall5(5,($vararg_buffer|0))|0); + $10 = (___syscall_ret($9)|0); + $11 = ($10|0)<(0); + if ($11) { + $$0 = 0; + } else { + $12 = $6 & 524288; + $13 = ($12|0)==(0); + if (!($13)) { + HEAP32[$vararg_buffer3>>2] = $10; + $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); + HEAP32[$vararg_ptr6>>2] = 2; + $vararg_ptr7 = ((($vararg_buffer3)) + 8|0); + HEAP32[$vararg_ptr7>>2] = 1; + (___syscall221(221,($vararg_buffer3|0))|0); + } + $14 = (___fdopen($10,$1)|0); + $15 = ($14|0)==(0|0); + if ($15) { + HEAP32[$vararg_buffer8>>2] = $10; + (___syscall6(6,($vararg_buffer8|0))|0); + $$0 = 0; + } else { + $$0 = $14; + } + } + } + STACKTOP = sp;return ($$0|0); +} +function ___fmodeflags($0) { + $0 = $0|0; + var $$ = 0, $$$4 = 0, $$0 = 0, $$0$ = 0, $$2 = 0, $$2$ = 0, $$4 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; + var $8 = 0, $9 = 0, $not$ = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (_strchr($0,43)|0); + $2 = ($1|0)==(0|0); + $3 = HEAP8[$0>>0]|0; + $not$ = ($3<<24>>24)!=(114); + $$ = $not$&1; + $$0 = $2 ? $$ : 2; + $4 = (_strchr($0,120)|0); + $5 = ($4|0)==(0|0); + $6 = $$0 | 128; + $$0$ = $5 ? $$0 : $6; + $7 = (_strchr($0,101)|0); + $8 = ($7|0)==(0|0); + $9 = $$0$ | 524288; + $$2 = $8 ? $$0$ : $9; + $10 = ($3<<24>>24)==(114); + $11 = $$2 | 64; + $$2$ = $10 ? $$2 : $11; + $12 = ($3<<24>>24)==(119); + $13 = $$2$ | 512; + $$4 = $12 ? $13 : $$2$; + $14 = ($3<<24>>24)==(97); + $15 = $$4 | 1024; + $$$4 = $14 ? $15 : $$4; + return ($$$4|0); +} +function ___fdopen($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $$pre = 0, $$pre31 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; + var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $5 = 0, $6 = 0; + var $7 = 0, $8 = 0, $9 = 0, $memchr = 0, $vararg_buffer = 0, $vararg_buffer12 = 0, $vararg_buffer3 = 0, $vararg_buffer7 = 0, $vararg_ptr1 = 0, $vararg_ptr10 = 0, $vararg_ptr11 = 0, $vararg_ptr15 = 0, $vararg_ptr16 = 0, $vararg_ptr2 = 0, $vararg_ptr6 = 0, dest = 0, label = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $vararg_buffer12 = sp + 40|0; + $vararg_buffer7 = sp + 24|0; + $vararg_buffer3 = sp + 16|0; + $vararg_buffer = sp; + $2 = sp + 56|0; + $3 = HEAP8[$1>>0]|0; + $4 = $3 << 24 >> 24; + $memchr = (_memchr(25171,$4,4)|0); + $5 = ($memchr|0)==(0|0); + if ($5) { + $6 = (___errno_location()|0); + HEAP32[$6>>2] = 22; + $$0 = 0; + } else { + $7 = (_malloc(1156)|0); + $8 = ($7|0)==(0|0); + if ($8) { + $$0 = 0; + } else { + dest=$7; stop=dest+124|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + $9 = (_strchr($1,43)|0); + $10 = ($9|0)==(0|0); + if ($10) { + $11 = ($3<<24>>24)==(114); + $12 = $11 ? 8 : 4; + HEAP32[$7>>2] = $12; + } + $13 = (_strchr($1,101)|0); + $14 = ($13|0)==(0|0); + if ($14) { + $16 = $3; + } else { + HEAP32[$vararg_buffer>>2] = $0; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = 2; + $vararg_ptr2 = ((($vararg_buffer)) + 8|0); + HEAP32[$vararg_ptr2>>2] = 1; + (___syscall221(221,($vararg_buffer|0))|0); + $$pre = HEAP8[$1>>0]|0; + $16 = $$pre; + } + $15 = ($16<<24>>24)==(97); + if ($15) { + HEAP32[$vararg_buffer3>>2] = $0; + $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); + HEAP32[$vararg_ptr6>>2] = 3; + $17 = (___syscall221(221,($vararg_buffer3|0))|0); + $18 = $17 & 1024; + $19 = ($18|0)==(0); + if ($19) { + $20 = $17 | 1024; + HEAP32[$vararg_buffer7>>2] = $0; + $vararg_ptr10 = ((($vararg_buffer7)) + 4|0); + HEAP32[$vararg_ptr10>>2] = 4; + $vararg_ptr11 = ((($vararg_buffer7)) + 8|0); + HEAP32[$vararg_ptr11>>2] = $20; + (___syscall221(221,($vararg_buffer7|0))|0); + } + $21 = HEAP32[$7>>2]|0; + $22 = $21 | 128; + HEAP32[$7>>2] = $22; + $29 = $22; + } else { + $$pre31 = HEAP32[$7>>2]|0; + $29 = $$pre31; + } + $23 = ((($7)) + 60|0); + HEAP32[$23>>2] = $0; + $24 = ((($7)) + 132|0); + $25 = ((($7)) + 44|0); + HEAP32[$25>>2] = $24; + $26 = ((($7)) + 48|0); + HEAP32[$26>>2] = 1024; + $27 = ((($7)) + 75|0); + HEAP8[$27>>0] = -1; + $28 = $29 & 8; + $30 = ($28|0)==(0); + if ($30) { + $31 = $2; + HEAP32[$vararg_buffer12>>2] = $0; + $vararg_ptr15 = ((($vararg_buffer12)) + 4|0); + HEAP32[$vararg_ptr15>>2] = 21523; + $vararg_ptr16 = ((($vararg_buffer12)) + 8|0); + HEAP32[$vararg_ptr16>>2] = $31; + $32 = (___syscall54(54,($vararg_buffer12|0))|0); + $33 = ($32|0)==(0); + if ($33) { + HEAP8[$27>>0] = 10; + } + } + $34 = ((($7)) + 32|0); + HEAP32[$34>>2] = 11; + $35 = ((($7)) + 36|0); + HEAP32[$35>>2] = 2; + $36 = ((($7)) + 40|0); + HEAP32[$36>>2] = 3; + $37 = ((($7)) + 12|0); + HEAP32[$37>>2] = 2; + $38 = HEAP32[(338528)>>2]|0; + $39 = ($38|0)==(0); + if ($39) { + $40 = ((($7)) + 76|0); + HEAP32[$40>>2] = -1; + } + $41 = (___ofl_add($7)|0); + $$0 = $7; + } + } + STACKTOP = sp;return ($$0|0); +} +function ___ofl_add($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (___ofl_lock()|0); + $2 = HEAP32[$1>>2]|0; + $3 = ((($0)) + 56|0); + HEAP32[$3>>2] = $2; + $4 = HEAP32[$1>>2]|0; + $5 = ($4|0)==(0|0); + if (!($5)) { + $6 = ((($4)) + 52|0); + HEAP32[$6>>2] = $0; + } + HEAP32[$1>>2] = $0; + ___ofl_unlock(); + return ($0|0); +} +function ___ofl_lock() { + var label = 0, sp = 0; + sp = STACKTOP; + ___lock((338592|0)); + return (338600|0); +} +function ___ofl_unlock() { + var label = 0, sp = 0; + sp = STACKTOP; + ___unlock((338592|0)); + return; +} +function _fclose($0) { + $0 = $0|0; + var $$pre = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 76|0); + $2 = HEAP32[$1>>2]|0; + $3 = ($2|0)>(-1); + if ($3) { + $4 = (___lockfile($0)|0); + $29 = $4; + } else { + $29 = 0; + } + ___unlist_locked_file($0); + $5 = HEAP32[$0>>2]|0; + $6 = $5 & 1; + $7 = ($6|0)!=(0); + if (!($7)) { + $8 = (___ofl_lock()|0); + $9 = ((($0)) + 52|0); + $10 = HEAP32[$9>>2]|0; + $11 = ($10|0)==(0|0); + $12 = $10; + $$pre = ((($0)) + 56|0); + if (!($11)) { + $13 = HEAP32[$$pre>>2]|0; + $14 = ((($10)) + 56|0); + HEAP32[$14>>2] = $13; + } + $15 = HEAP32[$$pre>>2]|0; + $16 = ($15|0)==(0|0); + if (!($16)) { + $17 = ((($15)) + 52|0); + HEAP32[$17>>2] = $12; + } + $18 = HEAP32[$8>>2]|0; + $19 = ($18|0)==($0|0); + if ($19) { + HEAP32[$8>>2] = $15; + } + ___ofl_unlock(); + } + $20 = (_fflush($0)|0); + $21 = ((($0)) + 12|0); + $22 = HEAP32[$21>>2]|0; + $23 = (FUNCTION_TABLE_ii[$22 & 15]($0)|0); + $24 = $23 | $20; + $25 = ((($0)) + 92|0); + $26 = HEAP32[$25>>2]|0; + $27 = ($26|0)==(0|0); + if (!($27)) { + _free($26); + } + if ($7) { + $28 = ($29|0)==(0); + if (!($28)) { + ___unlockfile($0); + } + } else { + _free($0); + } + return ($24|0); +} +function _fflush($0) { + $0 = $0|0; + var $$0 = 0, $$023 = 0, $$02325 = 0, $$02327 = 0, $$024$lcssa = 0, $$02426 = 0, $$1 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0; + var $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $phitmp = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ($0|0)==(0|0); + do { + if ($1) { + $8 = HEAP32[1388]|0; + $9 = ($8|0)==(0|0); + if ($9) { + $29 = 0; + } else { + $10 = HEAP32[1388]|0; + $11 = (_fflush($10)|0); + $29 = $11; + } + $12 = (___ofl_lock()|0); + $$02325 = HEAP32[$12>>2]|0; + $13 = ($$02325|0)==(0|0); + if ($13) { + $$024$lcssa = $29; + } else { + $$02327 = $$02325;$$02426 = $29; + while(1) { + $14 = ((($$02327)) + 76|0); + $15 = HEAP32[$14>>2]|0; + $16 = ($15|0)>(-1); + if ($16) { + $17 = (___lockfile($$02327)|0); + $26 = $17; + } else { + $26 = 0; + } + $18 = ((($$02327)) + 20|0); + $19 = HEAP32[$18>>2]|0; + $20 = ((($$02327)) + 28|0); + $21 = HEAP32[$20>>2]|0; + $22 = ($19>>>0)>($21>>>0); + if ($22) { + $23 = (___fflush_unlocked($$02327)|0); + $24 = $23 | $$02426; + $$1 = $24; + } else { + $$1 = $$02426; + } + $25 = ($26|0)==(0); + if (!($25)) { + ___unlockfile($$02327); + } + $27 = ((($$02327)) + 56|0); + $$023 = HEAP32[$27>>2]|0; + $28 = ($$023|0)==(0|0); + if ($28) { + $$024$lcssa = $$1; + break; + } else { + $$02327 = $$023;$$02426 = $$1; + } + } + } + ___ofl_unlock(); + $$0 = $$024$lcssa; + } else { + $2 = ((($0)) + 76|0); + $3 = HEAP32[$2>>2]|0; + $4 = ($3|0)>(-1); + if (!($4)) { + $5 = (___fflush_unlocked($0)|0); + $$0 = $5; + break; + } + $6 = (___lockfile($0)|0); + $phitmp = ($6|0)==(0); + $7 = (___fflush_unlocked($0)|0); + if ($phitmp) { + $$0 = $7; + } else { + ___unlockfile($0); + $$0 = $7; + } + } + } while(0); + return ($$0|0); +} +function ___fflush_unlocked($0) { + $0 = $0|0; + var $$0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 20|0); + $2 = HEAP32[$1>>2]|0; + $3 = ((($0)) + 28|0); + $4 = HEAP32[$3>>2]|0; + $5 = ($2>>>0)>($4>>>0); + if ($5) { + $6 = ((($0)) + 36|0); + $7 = HEAP32[$6>>2]|0; + (FUNCTION_TABLE_iiii[$7 & 15]($0,0,0)|0); + $8 = HEAP32[$1>>2]|0; + $9 = ($8|0)==(0|0); + if ($9) { + $$0 = -1; + } else { + label = 3; + } + } else { + label = 3; + } + if ((label|0) == 3) { + $10 = ((($0)) + 4|0); + $11 = HEAP32[$10>>2]|0; + $12 = ((($0)) + 8|0); + $13 = HEAP32[$12>>2]|0; + $14 = ($11>>>0)<($13>>>0); + if ($14) { + $15 = $11; + $16 = $13; + $17 = (($15) - ($16))|0; + $18 = ((($0)) + 40|0); + $19 = HEAP32[$18>>2]|0; + (FUNCTION_TABLE_iiii[$19 & 15]($0,$17,1)|0); + } + $20 = ((($0)) + 16|0); + HEAP32[$20>>2] = 0; + HEAP32[$3>>2] = 0; + HEAP32[$1>>2] = 0; + HEAP32[$12>>2] = 0; + HEAP32[$10>>2] = 0; + $$0 = 0; + } + return ($$0|0); +} +function _fgets($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$0 = 0, $$06266 = 0, $$063 = 0, $$064 = 0, $$1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; + var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0; + var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond3 = 0; + var $sext$mask = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ((($2)) + 76|0); + $4 = HEAP32[$3>>2]|0; + $5 = ($4|0)>(-1); + if ($5) { + $6 = (___lockfile($2)|0); + $17 = $6; + } else { + $17 = 0; + } + $7 = (($1) + -1)|0; + $8 = ($1|0)<(2); + $9 = ($7|0)!=(0); + if ($8) { + $10 = ((($2)) + 74|0); + $11 = HEAP8[$10>>0]|0; + $12 = $11 << 24 >> 24; + $13 = (($12) + 255)|0; + $14 = $13 | $12; + $15 = $14&255; + HEAP8[$10>>0] = $15; + $16 = ($17|0)==(0); + if (!($16)) { + ___unlockfile($2); + } + if ($9) { + $$0 = 0; + } else { + HEAP8[$0>>0] = 0; + $$0 = $0; + } + } else { + L11: do { + if ($9) { + $18 = ((($2)) + 4|0); + $19 = ((($2)) + 8|0); + $$063 = $7;$$064 = $0; + while(1) { + $20 = HEAP32[$18>>2]|0; + $21 = HEAP32[$19>>2]|0; + $22 = $20; + $23 = (($21) - ($22))|0; + $24 = (_memchr($20,10,$23)|0); + $25 = ($24|0)==(0|0); + $26 = $24; + $27 = (1 - ($22))|0; + $28 = (($27) + ($26))|0; + $29 = $25 ? $23 : $28; + $30 = ($29>>>0)<($$063>>>0); + $31 = $30 ? $29 : $$063; + _memcpy(($$064|0),($20|0),($31|0))|0; + $32 = HEAP32[$18>>2]|0; + $33 = (($32) + ($31)|0); + HEAP32[$18>>2] = $33; + $34 = (($$064) + ($31)|0); + $35 = (($$063) - ($31))|0; + $36 = ($35|0)!=(0); + $or$cond = $25 & $36; + if (!($or$cond)) { + $$1 = $34; + label = 17; + break L11; + } + $37 = HEAP32[$19>>2]|0; + $38 = ($33>>>0)<($37>>>0); + if ($38) { + $39 = ((($33)) + 1|0); + HEAP32[$18>>2] = $39; + $40 = HEAP8[$33>>0]|0; + $41 = $40&255; + $50 = $41; + } else { + $42 = (___uflow($2)|0); + $43 = ($42|0)<(0); + if ($43) { + break; + } else { + $50 = $42; + } + } + $48 = (($35) + -1)|0; + $49 = $50&255; + $51 = ((($34)) + 1|0); + HEAP8[$34>>0] = $49; + $sext$mask = $50 & 255; + $52 = ($sext$mask|0)!=(10); + $53 = ($48|0)!=(0); + $or$cond3 = $53 & $52; + if ($or$cond3) { + $$063 = $48;$$064 = $51; + } else { + $$1 = $51; + label = 17; + break L11; + } + } + $44 = ($34|0)==($0|0); + if ($44) { + $$06266 = 0; + } else { + $45 = HEAP32[$2>>2]|0; + $46 = $45 & 16; + $47 = ($46|0)==(0); + if ($47) { + $$06266 = 0; + } else { + $$1 = $34; + label = 17; + } + } + } else { + $$1 = $0; + label = 17; + } + } while(0); + if ((label|0) == 17) { + $54 = ($0|0)==(0|0); + if ($54) { + $$06266 = 0; + } else { + HEAP8[$$1>>0] = 0; + $$06266 = $0; + } + } + $55 = ($17|0)==(0); + if ($55) { + $$0 = $$06266; + } else { + ___unlockfile($2); + $$0 = $$06266; + } + } + return ($$0|0); +} +function _feof($0) { + $0 = $0|0; + var $$lobit = 0, $$lobit8 = 0, $$lobit9 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $phitmp = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 76|0); + $2 = HEAP32[$1>>2]|0; + $3 = ($2|0)>(-1); + if ($3) { + $6 = (___lockfile($0)|0); + $phitmp = ($6|0)==(0); + $7 = HEAP32[$0>>2]|0; + $8 = $7 >>> 4; + $$lobit = $8 & 1; + if ($phitmp) { + $$lobit9 = $$lobit; + } else { + ___unlockfile($0); + $$lobit9 = $$lobit; + } + } else { + $4 = HEAP32[$0>>2]|0; + $5 = $4 >>> 4; + $$lobit8 = $5 & 1; + $$lobit9 = $$lobit8; + } + return ($$lobit9|0); +} +function _sscanf($0,$1,$varargs) { + $0 = $0|0; + $1 = $1|0; + $varargs = $varargs|0; + var $2 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $2 = sp; + HEAP32[$2>>2] = $varargs; + $3 = (_vsscanf($0,$1,$2)|0); + STACKTOP = sp;return ($3|0); +} +function _vsscanf($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, dest = 0, label = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0); + $3 = sp; + dest=$3; stop=dest+124|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + $4 = ((($3)) + 32|0); + HEAP32[$4>>2] = 12; + $5 = ((($3)) + 44|0); + HEAP32[$5>>2] = $0; + $6 = ((($3)) + 76|0); + HEAP32[$6>>2] = -1; + $7 = ((($3)) + 84|0); + HEAP32[$7>>2] = $0; + $8 = (_vfscanf($3,$1,$2)|0); + STACKTOP = sp;return ($8|0); +} +function _do_read($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = (___string_read($0,$1,$2)|0); + return ($3|0); +} +function _vfscanf($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$ = 0, $$$0266 = 0, $$$0268 = 0, $$$0305 = 0, $$$3 = 0, $$0266$lcssa = 0, $$0266417 = 0, $$0268 = 0, $$0272 = 0, $$0273429 = 0, $$0276$ph = 0, $$0278$ph = 0, $$0278$ph$phi = 0, $$0278$ph336 = 0, $$0283428 = 0, $$0286420 = 0, $$0288$ = 0, $$0288425 = 0, $$0292 = 0, $$0293 = 0; + var $$0305423 = 0, $$10 = 0, $$11 = 0, $$1267 = 0, $$1271 = 0, $$1274 = 0, $$1277$ph = 0, $$1279 = 0, $$1284 = 0, $$1289 = 0, $$2 = 0, $$2275 = 0, $$2280 = 0, $$2280$ph = 0, $$2280$ph$phi = 0, $$2285 = 0, $$2290 = 0, $$2307$ph = 0, $$3$lcssa = 0, $$319 = 0; + var $$320 = 0, $$321 = 0, $$322 = 0, $$327 = 0, $$328$le439 = 0, $$328$le441 = 0, $$3281 = 0, $$3291 = 0, $$3416 = 0, $$4282 = 0, $$4309 = 0, $$5 = 0, $$5299 = 0, $$5310 = 0, $$6 = 0, $$6311 = 0, $$7 = 0, $$7$ph = 0, $$7312 = 0, $$8 = 0; + var $$8313 = 0, $$9 = 0, $$9314 = 0, $$9314$ph = 0, $$lcssa355 = 0, $$not = 0, $$old4 = 0, $$ph = 0, $$ph353 = 0, $$pre = 0, $$pre$phi516Z2D = 0, $$pre507 = 0, $$pre509 = 0, $$pre511 = 0, $$pre512 = 0, $$pre513 = 0, $$pre514 = 0, $$pre515 = 0, $$sink443 = 0, $$sroa$2$0$$sroa_idx13 = 0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0; + var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0; + var $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0; + var $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0; + var $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0; + var $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0; + var $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0; + var $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0.0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0.0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0; + var $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0; + var $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0; + var $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0; + var $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0; + var $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $arglist_current = 0, $arglist_next = 0, $expanded = 0, $expanded1 = 0, $expanded3 = 0, $expanded4 = 0, $expanded5 = 0, $factor = 0, $factor331 = 0, $isdigit = 0; + var $isdigit316 = 0, $isdigit316415 = 0, $isdigittmp = 0, $isdigittmp315 = 0, $isdigittmp315414 = 0, $narrow = 0, $narrow469 = 0, $or$cond = 0, $or$cond3 = 0, $or$cond318 = 0, $or$cond5 = 0, $trunc = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 288|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(288|0); + $3 = sp + 8|0; + $4 = sp + 17|0; + $5 = sp; + $6 = sp + 16|0; + $7 = ((($0)) + 76|0); + $8 = HEAP32[$7>>2]|0; + $9 = ($8|0)>(-1); + if ($9) { + $10 = (___lockfile($0)|0); + $306 = $10; + } else { + $306 = 0; + } + $11 = HEAP8[$1>>0]|0; + $12 = ($11<<24>>24)==(0); + L4: do { + if ($12) { + $$3291 = 0; + } else { + $13 = ((($0)) + 4|0); + $14 = ((($0)) + 100|0); + $15 = ((($0)) + 108|0); + $16 = ((($0)) + 8|0); + $17 = ((($4)) + 10|0); + $18 = ((($4)) + 33|0); + $$sroa$2$0$$sroa_idx13 = ((($3)) + 4|0); + $19 = ((($4)) + 46|0); + $20 = ((($4)) + 94|0); + $21 = ((($4)) + 1|0); + $22 = ((($4)) + 1|0); + $$0273429 = $1;$$0283428 = 0;$$0288425 = 0;$$0305423 = 0;$102 = 0;$24 = $11; + L6: while(1) { + $23 = $24&255; + $25 = (_isspace($23)|0); + $26 = ($25|0)==(0); + L8: do { + if ($26) { + $53 = ($24<<24>>24)==(37); + L10: do { + if ($53) { + $54 = ((($$0273429)) + 1|0); + $55 = HEAP8[$54>>0]|0; + L12: do { + switch ($55<<24>>24) { + case 37: { + break L10; + break; + } + case 42: { + $76 = ((($$0273429)) + 2|0); + $$0293 = 0;$$2275 = $76; + break; + } + default: { + $77 = $55&255; + $isdigittmp = (($77) + -48)|0; + $isdigit = ($isdigittmp>>>0)<(10); + if ($isdigit) { + $78 = ((($$0273429)) + 2|0); + $79 = HEAP8[$78>>0]|0; + $80 = ($79<<24>>24)==(36); + if ($80) { + $81 = (_arg_n($2,$isdigittmp)|0); + $82 = ((($$0273429)) + 3|0); + $$0293 = $81;$$2275 = $82; + break L12; + } + } + $arglist_current = HEAP32[$2>>2]|0; + $83 = $arglist_current; + $84 = ((0) + 4|0); + $expanded1 = $84; + $expanded = (($expanded1) - 1)|0; + $85 = (($83) + ($expanded))|0; + $86 = ((0) + 4|0); + $expanded5 = $86; + $expanded4 = (($expanded5) - 1)|0; + $expanded3 = $expanded4 ^ -1; + $87 = $85 & $expanded3; + $88 = $87; + $89 = HEAP32[$88>>2]|0; + $arglist_next = ((($88)) + 4|0); + HEAP32[$2>>2] = $arglist_next; + $$0293 = $89;$$2275 = $54; + } + } + } while(0); + $90 = HEAP8[$$2275>>0]|0; + $91 = $90&255; + $isdigittmp315414 = (($91) + -48)|0; + $isdigit316415 = ($isdigittmp315414>>>0)<(10); + if ($isdigit316415) { + $$0266417 = 0;$$3416 = $$2275;$95 = $91; + while(1) { + $92 = ($$0266417*10)|0; + $93 = (($92) + -48)|0; + $94 = (($93) + ($95))|0; + $96 = ((($$3416)) + 1|0); + $97 = HEAP8[$96>>0]|0; + $98 = $97&255; + $isdigittmp315 = (($98) + -48)|0; + $isdigit316 = ($isdigittmp315>>>0)<(10); + if ($isdigit316) { + $$0266417 = $94;$$3416 = $96;$95 = $98; + } else { + $$0266$lcssa = $94;$$3$lcssa = $96;$$lcssa355 = $97; + break; + } + } + } else { + $$0266$lcssa = 0;$$3$lcssa = $$2275;$$lcssa355 = $90; + } + $99 = ($$lcssa355<<24>>24)==(109); + $100 = ($$0293|0)!=(0|0); + $101 = ((($$3$lcssa)) + 1|0); + $$$0305 = $99 ? 0 : $$0305423; + $$327 = $99 ? 0 : $102; + $$$3 = $99 ? $101 : $$3$lcssa; + $narrow = $100 & $99; + $103 = ((($$$3)) + 1|0); + $104 = HEAP8[$$$3>>0]|0; + switch ($104<<24>>24) { + case 104: { + $105 = HEAP8[$103>>0]|0; + $106 = ($105<<24>>24)==(104); + $107 = ((($$$3)) + 2|0); + $$319 = $106 ? $107 : $103; + $$320 = $106 ? -2 : -1; + $$0268 = $$320;$$5 = $$319; + break; + } + case 108: { + $108 = HEAP8[$103>>0]|0; + $109 = ($108<<24>>24)==(108); + $110 = ((($$$3)) + 2|0); + $$321 = $109 ? $110 : $103; + $$322 = $109 ? 3 : 1; + $$0268 = $$322;$$5 = $$321; + break; + } + case 106: { + $$0268 = 3;$$5 = $103; + break; + } + case 116: case 122: { + $$0268 = 1;$$5 = $103; + break; + } + case 76: { + $$0268 = 2;$$5 = $103; + break; + } + case 110: case 112: case 67: case 83: case 91: case 99: case 115: case 88: case 71: case 70: case 69: case 65: case 103: case 102: case 101: case 97: case 120: case 117: case 111: case 105: case 100: { + $$0268 = 0;$$5 = $$$3; + break; + } + default: { + $$7312 = $$$0305;$309 = $$327;$narrow469 = $narrow; + label = 137; + break L6; + } + } + $111 = HEAP8[$$5>>0]|0; + $112 = $111&255; + $113 = $112 & 47; + $114 = ($113|0)==(3); + $115 = $112 | 32; + $$ = $114 ? $115 : $112; + $$$0268 = $114 ? 1 : $$0268; + $trunc = $$&255; + switch ($trunc<<24>>24) { + case 99: { + $116 = ($$0266$lcssa|0)>(1); + $$$0266 = $116 ? $$0266$lcssa : 1; + $$1267 = $$$0266;$$1284 = $$0283428; + break; + } + case 91: { + $$1267 = $$0266$lcssa;$$1284 = $$0283428; + break; + } + case 110: { + $117 = ($$0283428|0)<(0); + $118 = $117 << 31 >> 31; + _store_int($$0293,$$$0268,$$0283428,$118); + $$11 = $$5;$$1289 = $$0288425;$$2285 = $$0283428;$$6311 = $$$0305;$307 = $$327; + break L8; + break; + } + default: { + ___shlim($0,0); + while(1) { + $119 = HEAP32[$13>>2]|0; + $120 = HEAP32[$14>>2]|0; + $121 = ($119>>>0)<($120>>>0); + if ($121) { + $122 = ((($119)) + 1|0); + HEAP32[$13>>2] = $122; + $123 = HEAP8[$119>>0]|0; + $124 = $123&255; + $126 = $124; + } else { + $125 = (___shgetc($0)|0); + $126 = $125; + } + $127 = (_isspace($126)|0); + $128 = ($127|0)==(0); + if ($128) { + break; + } + } + $129 = HEAP32[$14>>2]|0; + $130 = ($129|0)==(0|0); + if ($130) { + $$pre507 = HEAP32[$13>>2]|0; + $138 = $$pre507; + } else { + $131 = HEAP32[$13>>2]|0; + $132 = ((($131)) + -1|0); + HEAP32[$13>>2] = $132; + $133 = $132; + $138 = $133; + } + $134 = HEAP32[$15>>2]|0; + $135 = HEAP32[$16>>2]|0; + $136 = (($134) + ($$0283428))|0; + $137 = (($136) + ($138))|0; + $139 = (($137) - ($135))|0; + $$1267 = $$0266$lcssa;$$1284 = $139; + } + } + ___shlim($0,$$1267); + $140 = HEAP32[$13>>2]|0; + $141 = HEAP32[$14>>2]|0; + $142 = ($140>>>0)<($141>>>0); + if ($142) { + $143 = ((($140)) + 1|0); + HEAP32[$13>>2] = $143; + $147 = $141; + } else { + $144 = (___shgetc($0)|0); + $145 = ($144|0)<(0); + if ($145) { + $$7312 = $$$0305;$309 = $$327;$narrow469 = $narrow; + label = 137; + break L6; + } + $$pre509 = HEAP32[$14>>2]|0; + $147 = $$pre509; + } + $146 = ($147|0)==(0|0); + if (!($146)) { + $148 = HEAP32[$13>>2]|0; + $149 = ((($148)) + -1|0); + HEAP32[$13>>2] = $149; + } + L55: do { + switch ($trunc<<24>>24) { + case 91: case 99: case 115: { + $150 = ($$|0)==(99); + $151 = $$ | 16; + $152 = ($151|0)==(115); + L57: do { + if ($152) { + $153 = ($$|0)==(115); + _memset(($21|0),-1,256)|0; + HEAP8[$4>>0] = 0; + if ($153) { + HEAP8[$18>>0] = 0; + ;HEAP8[$17>>0]=0|0;HEAP8[$17+1>>0]=0|0;HEAP8[$17+2>>0]=0|0;HEAP8[$17+3>>0]=0|0;HEAP8[$17+4>>0]=0|0; + $$9 = $$5; + } else { + $$9 = $$5; + } + } else { + $154 = ((($$5)) + 1|0); + $155 = HEAP8[$154>>0]|0; + $156 = ($155<<24>>24)==(94); + $157 = ((($$5)) + 2|0); + $$0292 = $156&1; + $$6 = $156 ? $157 : $154; + $158 = $156&1; + _memset(($22|0),($158|0),256)|0; + HEAP8[$4>>0] = 0; + $159 = HEAP8[$$6>>0]|0; + switch ($159<<24>>24) { + case 45: { + $$sink443 = $19; + label = 64; + break; + } + case 93: { + $$sink443 = $20; + label = 64; + break; + } + default: { + $$pre514 = $$0292 ^ 1; + $$pre515 = $$pre514&255; + $$7$ph = $$6;$$pre$phi516Z2D = $$pre515; + } + } + if ((label|0) == 64) { + label = 0; + $160 = ((($$6)) + 1|0); + $161 = $$0292 ^ 1; + $162 = $161&255; + HEAP8[$$sink443>>0] = $162; + $$7$ph = $160;$$pre$phi516Z2D = $162; + } + $$7 = $$7$ph; + while(1) { + $163 = HEAP8[$$7>>0]|0; + L69: do { + switch ($163<<24>>24) { + case 0: { + $$7312 = $$$0305;$309 = $$327;$narrow469 = $narrow; + label = 137; + break L6; + break; + } + case 93: { + $$9 = $$7; + break L57; + break; + } + case 45: { + $164 = ((($$7)) + 1|0); + $165 = HEAP8[$164>>0]|0; + switch ($165<<24>>24) { + case 93: case 0: { + $$8 = $$7;$176 = 45; + break L69; + break; + } + default: { + } + } + $166 = ((($$7)) + -1|0); + $167 = HEAP8[$166>>0]|0; + $168 = ($167&255)<($165&255); + if ($168) { + $169 = $167&255; + $$0286420 = $169; + while(1) { + $170 = (($$0286420) + 1)|0; + $171 = (($4) + ($170)|0); + HEAP8[$171>>0] = $$pre$phi516Z2D; + $172 = HEAP8[$164>>0]|0; + $173 = $172&255; + $174 = ($170|0)<($173|0); + if ($174) { + $$0286420 = $170; + } else { + $$8 = $164;$176 = $172; + break; + } + } + } else { + $$8 = $164;$176 = $165; + } + break; + } + default: { + $$8 = $$7;$176 = $163; + } + } + } while(0); + $175 = $176&255; + $177 = (($175) + 1)|0; + $178 = (($4) + ($177)|0); + HEAP8[$178>>0] = $$pre$phi516Z2D; + $179 = ((($$8)) + 1|0); + $$7 = $179; + } + } + } while(0); + $180 = (($$1267) + 1)|0; + $181 = $150 ? $180 : 31; + $182 = ($$$0268|0)==(1); + L77: do { + if ($182) { + if ($narrow) { + $183 = $181 << 2; + $184 = (_malloc($183)|0); + $185 = ($184|0)==(0|0); + if ($185) { + $$7312 = 0;$309 = 0;$narrow469 = 1; + label = 137; + break L6; + } else { + $311 = $184; + } + } else { + $311 = $$0293; + } + HEAP32[$3>>2] = 0; + HEAP32[$$sroa$2$0$$sroa_idx13>>2] = 0; + $$0276$ph = $181;$$0278$ph = 0;$$ph = $311; + L82: while(1) { + $186 = ($$ph|0)==(0|0); + $$0278$ph336 = $$0278$ph; + while(1) { + L86: while(1) { + $187 = HEAP32[$13>>2]|0; + $188 = HEAP32[$14>>2]|0; + $189 = ($187>>>0)<($188>>>0); + if ($189) { + $190 = ((($187)) + 1|0); + HEAP32[$13>>2] = $190; + $191 = HEAP8[$187>>0]|0; + $192 = $191&255; + $195 = $192; + } else { + $193 = (___shgetc($0)|0); + $195 = $193; + } + $194 = (($195) + 1)|0; + $196 = (($4) + ($194)|0); + $197 = HEAP8[$196>>0]|0; + $198 = ($197<<24>>24)==(0); + if ($198) { + break L82; + } + $199 = $195&255; + HEAP8[$6>>0] = $199; + $200 = (_mbrtowc($5,$6,1,$3)|0); + switch ($200|0) { + case -1: { + $$7312 = 0;$309 = $$ph;$narrow469 = $narrow; + label = 137; + break L6; + break; + } + case -2: { + break; + } + default: { + break L86; + } + } + } + if ($186) { + $$1279 = $$0278$ph336; + } else { + $201 = (($$ph) + ($$0278$ph336<<2)|0); + $202 = (($$0278$ph336) + 1)|0; + $203 = HEAP32[$5>>2]|0; + HEAP32[$201>>2] = $203; + $$1279 = $202; + } + $204 = ($$1279|0)==($$0276$ph|0); + $or$cond = $narrow & $204; + if ($or$cond) { + break; + } else { + $$0278$ph336 = $$1279; + } + } + $factor331 = $$0276$ph << 1; + $205 = $factor331 | 1; + $206 = $205 << 2; + $207 = (_realloc($$ph,$206)|0); + $208 = ($207|0)==(0|0); + if ($208) { + $$7312 = 0;$309 = $$ph;$narrow469 = 1; + label = 137; + break L6; + } else { + $$0278$ph$phi = $$0276$ph;$$0276$ph = $205;$$ph = $207;$$0278$ph = $$0278$ph$phi; + } + } + $209 = (_mbsinit($3)|0); + $210 = ($209|0)==(0); + if ($210) { + $$7312 = 0;$309 = $$ph;$narrow469 = $narrow; + label = 137; + break L6; + } else { + $$4282 = $$0278$ph336;$$4309 = 0;$$5299 = $$ph;$312 = $$ph; + } + } else { + if ($narrow) { + $211 = (_malloc($181)|0); + $212 = ($211|0)==(0|0); + if ($212) { + $$7312 = 0;$309 = 0;$narrow469 = 1; + label = 137; + break L6; + } else { + $$1277$ph = $181;$$2280$ph = 0;$$2307$ph = $211; + } + while(1) { + $$2280 = $$2280$ph; + while(1) { + $213 = HEAP32[$13>>2]|0; + $214 = HEAP32[$14>>2]|0; + $215 = ($213>>>0)<($214>>>0); + if ($215) { + $216 = ((($213)) + 1|0); + HEAP32[$13>>2] = $216; + $217 = HEAP8[$213>>0]|0; + $218 = $217&255; + $221 = $218; + } else { + $219 = (___shgetc($0)|0); + $221 = $219; + } + $220 = (($221) + 1)|0; + $222 = (($4) + ($220)|0); + $223 = HEAP8[$222>>0]|0; + $224 = ($223<<24>>24)==(0); + if ($224) { + $$4282 = $$2280;$$4309 = $$2307$ph;$$5299 = 0;$312 = 0; + break L77; + } + $225 = $221&255; + $226 = (($$2280) + 1)|0; + $227 = (($$2307$ph) + ($$2280)|0); + HEAP8[$227>>0] = $225; + $228 = ($226|0)==($$1277$ph|0); + if ($228) { + break; + } else { + $$2280 = $226; + } + } + $factor = $$1277$ph << 1; + $229 = $factor | 1; + $230 = (_realloc($$2307$ph,$229)|0); + $231 = ($230|0)==(0|0); + if ($231) { + $$7312 = $$2307$ph;$309 = 0;$narrow469 = 1; + label = 137; + break L6; + } else { + $$2280$ph$phi = $$1277$ph;$$1277$ph = $229;$$2307$ph = $230;$$2280$ph = $$2280$ph$phi; + } + } + } + $232 = ($$0293|0)==(0|0); + if ($232) { + $250 = $147; + while(1) { + $248 = HEAP32[$13>>2]|0; + $249 = ($248>>>0)<($250>>>0); + if ($249) { + $251 = ((($248)) + 1|0); + HEAP32[$13>>2] = $251; + $252 = HEAP8[$248>>0]|0; + $253 = $252&255; + $256 = $253; + } else { + $254 = (___shgetc($0)|0); + $256 = $254; + } + $255 = (($256) + 1)|0; + $257 = (($4) + ($255)|0); + $258 = HEAP8[$257>>0]|0; + $259 = ($258<<24>>24)==(0); + if ($259) { + $$4282 = 0;$$4309 = 0;$$5299 = 0;$312 = 0; + break L77; + } + $$pre512 = HEAP32[$14>>2]|0; + $250 = $$pre512; + } + } else { + $$3281 = 0;$235 = $147; + while(1) { + $233 = HEAP32[$13>>2]|0; + $234 = ($233>>>0)<($235>>>0); + if ($234) { + $236 = ((($233)) + 1|0); + HEAP32[$13>>2] = $236; + $237 = HEAP8[$233>>0]|0; + $238 = $237&255; + $241 = $238; + } else { + $239 = (___shgetc($0)|0); + $241 = $239; + } + $240 = (($241) + 1)|0; + $242 = (($4) + ($240)|0); + $243 = HEAP8[$242>>0]|0; + $244 = ($243<<24>>24)==(0); + if ($244) { + $$4282 = $$3281;$$4309 = $$0293;$$5299 = 0;$312 = 0; + break L77; + } + $245 = $241&255; + $246 = (($$3281) + 1)|0; + $247 = (($$0293) + ($$3281)|0); + HEAP8[$247>>0] = $245; + $$pre511 = HEAP32[$14>>2]|0; + $$3281 = $246;$235 = $$pre511; + } + } + } + } while(0); + $260 = HEAP32[$14>>2]|0; + $261 = ($260|0)==(0|0); + if ($261) { + $$pre513 = HEAP32[$13>>2]|0; + $268 = $$pre513; + } else { + $262 = HEAP32[$13>>2]|0; + $263 = ((($262)) + -1|0); + HEAP32[$13>>2] = $263; + $264 = $263; + $268 = $264; + } + $265 = HEAP32[$15>>2]|0; + $266 = HEAP32[$16>>2]|0; + $267 = (($268) - ($266))|0; + $269 = (($267) + ($265))|0; + $270 = ($269|0)==(0); + if ($270) { + $$9314$ph = $$4309;$$ph353 = $312; + label = 139; + break L6; + } + $$not = $150 ^ 1; + $271 = ($269|0)==($$1267|0); + $or$cond318 = $271 | $$not; + if (!($or$cond318)) { + $$9314$ph = $$4309;$$ph353 = $312; + label = 139; + break L6; + } + do { + if ($narrow) { + if ($182) { + HEAP32[$$0293>>2] = $$5299; + break; + } else { + HEAP32[$$0293>>2] = $$4309; + break; + } + } + } while(0); + if ($150) { + $$10 = $$9;$$5310 = $$4309;$310 = $312; + } else { + $272 = ($$5299|0)==(0|0); + if (!($272)) { + $273 = (($$5299) + ($$4282<<2)|0); + HEAP32[$273>>2] = 0; + } + $274 = ($$4309|0)==(0|0); + if ($274) { + $$10 = $$9;$$5310 = 0;$310 = $312; + break L55; + } + $275 = (($$4309) + ($$4282)|0); + HEAP8[$275>>0] = 0; + $$10 = $$9;$$5310 = $$4309;$310 = $312; + } + break; + } + case 120: case 88: case 112: { + $$0272 = 16; + label = 125; + break; + } + case 111: { + $$0272 = 8; + label = 125; + break; + } + case 117: case 100: { + $$0272 = 10; + label = 125; + break; + } + case 105: { + $$0272 = 0; + label = 125; + break; + } + case 71: case 103: case 70: case 102: case 69: case 101: case 65: case 97: { + $285 = (+___floatscan($0,$$$0268,0)); + $286 = HEAP32[$15>>2]|0; + $287 = HEAP32[$13>>2]|0; + $288 = HEAP32[$16>>2]|0; + $289 = (($288) - ($287))|0; + $290 = ($286|0)==($289|0); + if ($290) { + $$9314$ph = $$$0305;$$ph353 = $$327; + label = 139; + break L6; + } + $291 = ($$0293|0)==(0|0); + if ($291) { + $$10 = $$5;$$5310 = $$$0305;$310 = $$327; + } else { + switch ($$$0268|0) { + case 0: { + $292 = $285; + HEAPF32[$$0293>>2] = $292; + $$10 = $$5;$$5310 = $$$0305;$310 = $$327; + break L55; + break; + } + case 1: { + HEAPF64[$$0293>>3] = $285; + $$10 = $$5;$$5310 = $$$0305;$310 = $$327; + break L55; + break; + } + case 2: { + HEAPF64[$$0293>>3] = $285; + $$10 = $$5;$$5310 = $$$0305;$310 = $$327; + break L55; + break; + } + default: { + $$10 = $$5;$$5310 = $$$0305;$310 = $$327; + break L55; + } + } + } + break; + } + default: { + $$10 = $$5;$$5310 = $$$0305;$310 = $$327; + } + } + } while(0); + do { + if ((label|0) == 125) { + label = 0; + $276 = (___intscan($0,$$0272,0,-1,-1)|0); + $277 = tempRet0; + $278 = HEAP32[$15>>2]|0; + $279 = HEAP32[$13>>2]|0; + $280 = HEAP32[$16>>2]|0; + $281 = (($280) - ($279))|0; + $282 = ($278|0)==($281|0); + if ($282) { + $$9314$ph = $$$0305;$$ph353 = $$327; + label = 139; + break L6; + } + $283 = ($$|0)==(112); + $or$cond3 = $100 & $283; + if ($or$cond3) { + $284 = $276; + HEAP32[$$0293>>2] = $284; + $$10 = $$5;$$5310 = $$$0305;$310 = $$327; + break; + } else { + _store_int($$0293,$$$0268,$276,$277); + $$10 = $$5;$$5310 = $$$0305;$310 = $$327; + break; + } + } + } while(0); + $293 = HEAP32[$15>>2]|0; + $294 = HEAP32[$13>>2]|0; + $295 = HEAP32[$16>>2]|0; + $296 = (($293) + ($$1284))|0; + $297 = (($296) + ($294))|0; + $298 = (($297) - ($295))|0; + $299 = $100&1; + $$0288$ = (($299) + ($$0288425))|0; + $$11 = $$10;$$1289 = $$0288$;$$2285 = $298;$$6311 = $$5310;$307 = $310; + break L8; + } + } while(0); + $56 = $53&1; + $57 = (($$0273429) + ($56)|0); + ___shlim($0,0); + $58 = HEAP32[$13>>2]|0; + $59 = HEAP32[$14>>2]|0; + $60 = ($58>>>0)<($59>>>0); + if ($60) { + $61 = ((($58)) + 1|0); + HEAP32[$13>>2] = $61; + $62 = HEAP8[$58>>0]|0; + $63 = $62&255; + $68 = $63; + } else { + $64 = (___shgetc($0)|0); + $68 = $64; + } + $65 = HEAP8[$57>>0]|0; + $66 = $65&255; + $67 = ($68|0)==($66|0); + if (!($67)) { + label = 22; + break L6; + } + $75 = (($$0283428) + 1)|0; + $$11 = $57;$$1289 = $$0288425;$$2285 = $75;$$6311 = $$0305423;$307 = $102; + } else { + $$1274 = $$0273429; + while(1) { + $27 = ((($$1274)) + 1|0); + $28 = HEAP8[$27>>0]|0; + $29 = $28&255; + $30 = (_isspace($29)|0); + $31 = ($30|0)==(0); + if ($31) { + break; + } else { + $$1274 = $27; + } + } + ___shlim($0,0); + while(1) { + $32 = HEAP32[$13>>2]|0; + $33 = HEAP32[$14>>2]|0; + $34 = ($32>>>0)<($33>>>0); + if ($34) { + $35 = ((($32)) + 1|0); + HEAP32[$13>>2] = $35; + $36 = HEAP8[$32>>0]|0; + $37 = $36&255; + $39 = $37; + } else { + $38 = (___shgetc($0)|0); + $39 = $38; + } + $40 = (_isspace($39)|0); + $41 = ($40|0)==(0); + if ($41) { + break; + } + } + $42 = HEAP32[$14>>2]|0; + $43 = ($42|0)==(0|0); + if ($43) { + $$pre = HEAP32[$13>>2]|0; + $51 = $$pre; + } else { + $44 = HEAP32[$13>>2]|0; + $45 = ((($44)) + -1|0); + HEAP32[$13>>2] = $45; + $46 = $45; + $51 = $46; + } + $47 = HEAP32[$15>>2]|0; + $48 = HEAP32[$16>>2]|0; + $49 = (($47) + ($$0283428))|0; + $50 = (($49) + ($51))|0; + $52 = (($50) - ($48))|0; + $$11 = $$1274;$$1289 = $$0288425;$$2285 = $52;$$6311 = $$0305423;$307 = $102; + } + } while(0); + $300 = ((($$11)) + 1|0); + $301 = HEAP8[$300>>0]|0; + $302 = ($301<<24>>24)==(0); + if ($302) { + $$3291 = $$1289; + break L4; + } else { + $$0273429 = $300;$$0283428 = $$2285;$$0288425 = $$1289;$$0305423 = $$6311;$102 = $307;$24 = $301; + } + } + if ((label|0) == 22) { + $69 = HEAP32[$14>>2]|0; + $70 = ($69|0)==(0|0); + if (!($70)) { + $71 = HEAP32[$13>>2]|0; + $72 = ((($71)) + -1|0); + HEAP32[$13>>2] = $72; + } + $73 = ($68|0)>(-1); + $74 = ($$0288425|0)!=(0); + $or$cond5 = $74 | $73; + if ($or$cond5) { + $$3291 = $$0288425; + break; + } else { + $$1271 = 0;$$8313 = $$0305423;$308 = $102; + label = 138; + } + } + else if ((label|0) == 137) { + $$328$le441 = $narrow469&1; + $$old4 = ($$0288425|0)==(0); + if ($$old4) { + $$1271 = $$328$le441;$$8313 = $$7312;$308 = $309; + label = 138; + } else { + $$2 = $$328$le441;$$2290 = $$0288425;$$9314 = $$7312;$304 = $309; + } + } + else if ((label|0) == 139) { + $$328$le439 = $narrow&1; + $$2 = $$328$le439;$$2290 = $$0288425;$$9314 = $$9314$ph;$304 = $$ph353; + } + if ((label|0) == 138) { + $$2 = $$1271;$$2290 = -1;$$9314 = $$8313;$304 = $308; + } + $303 = ($$2|0)==(0); + if ($303) { + $$3291 = $$2290; + } else { + _free($$9314); + _free($304); + $$3291 = $$2290; + } + } + } while(0); + $305 = ($306|0)==(0); + if (!($305)) { + ___unlockfile($0); + } + STACKTOP = sp;return ($$3291|0); +} +function _arg_n($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $arglist_current = 0, $arglist_next = 0, $expanded = 0, $expanded1 = 0, $expanded3 = 0, $expanded4 = 0, $expanded5 = 0, $vacopy_currentptr = 0, label = 0; + var sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $2 = sp; + $vacopy_currentptr = HEAP32[$0>>2]|0; + HEAP32[$2>>2] = $vacopy_currentptr; + $$0 = $1; + while(1) { + $3 = ($$0>>>0)>(1); + $arglist_current = HEAP32[$2>>2]|0; + $4 = $arglist_current; + $5 = ((0) + 4|0); + $expanded1 = $5; + $expanded = (($expanded1) - 1)|0; + $6 = (($4) + ($expanded))|0; + $7 = ((0) + 4|0); + $expanded5 = $7; + $expanded4 = (($expanded5) - 1)|0; + $expanded3 = $expanded4 ^ -1; + $8 = $6 & $expanded3; + $9 = $8; + $10 = HEAP32[$9>>2]|0; + $arglist_next = ((($9)) + 4|0); + HEAP32[$2>>2] = $arglist_next; + $11 = (($$0) + -1)|0; + if ($3) { + $$0 = $11; + } else { + break; + } + } + STACKTOP = sp;return ($10|0); +} +function _store_int($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $10 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $4 = ($0|0)==(0|0); + L1: do { + if (!($4)) { + switch ($1|0) { + case -2: { + $5 = $2&255; + HEAP8[$0>>0] = $5; + break L1; + break; + } + case -1: { + $6 = $2&65535; + HEAP16[$0>>1] = $6; + break L1; + break; + } + case 0: { + HEAP32[$0>>2] = $2; + break L1; + break; + } + case 1: { + HEAP32[$0>>2] = $2; + break L1; + break; + } + case 3: { + $7 = $0; + $8 = $7; + HEAP32[$8>>2] = $2; + $9 = (($7) + 4)|0; + $10 = $9; + HEAP32[$10>>2] = $3; + break L1; + break; + } + default: { + break L1; + } + } + } + } while(0); + return; +} +function _mbsinit($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ($0|0)==(0|0); + if ($1) { + $5 = 1; + } else { + $2 = HEAP32[$0>>2]|0; + $3 = ($2|0)==(0); + $5 = $3; + } + $4 = $5&1; + return ($4|0); +} +function ___string_read($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$027 = 0, $$027$ = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ((($0)) + 84|0); + $4 = HEAP32[$3>>2]|0; + $5 = (($2) + 256)|0; + $6 = (_memchr($4,0,$5)|0); + $7 = ($6|0)==(0|0); + $8 = $6; + $9 = $4; + $10 = (($8) - ($9))|0; + $$027 = $7 ? $5 : $10; + $11 = ($$027>>>0)<($2>>>0); + $$027$ = $11 ? $$027 : $2; + _memcpy(($1|0),($4|0),($$027$|0))|0; + $12 = (($4) + ($$027$)|0); + $13 = ((($0)) + 4|0); + HEAP32[$13>>2] = $12; + $14 = (($4) + ($$027)|0); + $15 = ((($0)) + 8|0); + HEAP32[$15>>2] = $14; + HEAP32[$3>>2] = $14; + return ($$027$|0); +} +function _fseek($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = (___fseeko($0,$1,$2)|0); + return ($3|0); +} +function _fprintf($0,$1,$varargs) { + $0 = $0|0; + $1 = $1|0; + $varargs = $varargs|0; + var $2 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $2 = sp; + HEAP32[$2>>2] = $varargs; + $3 = (_vfprintf($0,$1,$2)|0); + STACKTOP = sp;return ($3|0); +} +function ___fseeko($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $phitmp = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ((($0)) + 76|0); + $4 = HEAP32[$3>>2]|0; + $5 = ($4|0)>(-1); + if ($5) { + $7 = (___lockfile($0)|0); + $phitmp = ($7|0)==(0); + $8 = (___fseeko_unlocked($0,$1,$2)|0); + if ($phitmp) { + $9 = $8; + } else { + ___unlockfile($0); + $9 = $8; + } + } else { + $6 = (___fseeko_unlocked($0,$1,$2)|0); + $9 = $6; + } + return ($9|0); +} +function ___fseeko_unlocked($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$0 = 0, $$019 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ($2|0)==(1); + if ($3) { + $4 = ((($0)) + 8|0); + $5 = HEAP32[$4>>2]|0; + $6 = ((($0)) + 4|0); + $7 = HEAP32[$6>>2]|0; + $8 = (($1) - ($5))|0; + $9 = (($8) + ($7))|0; + $$019 = $9; + } else { + $$019 = $1; + } + $10 = ((($0)) + 20|0); + $11 = HEAP32[$10>>2]|0; + $12 = ((($0)) + 28|0); + $13 = HEAP32[$12>>2]|0; + $14 = ($11>>>0)>($13>>>0); + if ($14) { + $15 = ((($0)) + 36|0); + $16 = HEAP32[$15>>2]|0; + (FUNCTION_TABLE_iiii[$16 & 15]($0,0,0)|0); + $17 = HEAP32[$10>>2]|0; + $18 = ($17|0)==(0|0); + if ($18) { + $$0 = -1; + } else { + label = 5; + } + } else { + label = 5; + } + if ((label|0) == 5) { + $19 = ((($0)) + 16|0); + HEAP32[$19>>2] = 0; + HEAP32[$12>>2] = 0; + HEAP32[$10>>2] = 0; + $20 = ((($0)) + 40|0); + $21 = HEAP32[$20>>2]|0; + $22 = (FUNCTION_TABLE_iiii[$21 & 15]($0,$$019,$2)|0); + $23 = ($22|0)<(0); + if ($23) { + $$0 = -1; + } else { + $24 = ((($0)) + 8|0); + HEAP32[$24>>2] = 0; + $25 = ((($0)) + 4|0); + HEAP32[$25>>2] = 0; + $26 = HEAP32[$0>>2]|0; + $27 = $26 & -17; + HEAP32[$0>>2] = $27; + $$0 = 0; + } + } + return ($$0|0); +} +function _strstr($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; + var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = HEAP8[$1>>0]|0; + $3 = ($2<<24>>24)==(0); + do { + if ($3) { + $$0 = $0; + } else { + $4 = $2 << 24 >> 24; + $5 = (_strchr($0,$4)|0); + $6 = ($5|0)==(0|0); + if ($6) { + $$0 = 0; + } else { + $7 = ((($1)) + 1|0); + $8 = HEAP8[$7>>0]|0; + $9 = ($8<<24>>24)==(0); + if ($9) { + $$0 = $5; + } else { + $10 = ((($5)) + 1|0); + $11 = HEAP8[$10>>0]|0; + $12 = ($11<<24>>24)==(0); + if ($12) { + $$0 = 0; + } else { + $13 = ((($1)) + 2|0); + $14 = HEAP8[$13>>0]|0; + $15 = ($14<<24>>24)==(0); + if ($15) { + $16 = (_twobyte_strstr($5,$1)|0); + $$0 = $16; + break; + } + $17 = ((($5)) + 2|0); + $18 = HEAP8[$17>>0]|0; + $19 = ($18<<24>>24)==(0); + if ($19) { + $$0 = 0; + } else { + $20 = ((($1)) + 3|0); + $21 = HEAP8[$20>>0]|0; + $22 = ($21<<24>>24)==(0); + if ($22) { + $23 = (_threebyte_strstr($5,$1)|0); + $$0 = $23; + break; + } + $24 = ((($5)) + 3|0); + $25 = HEAP8[$24>>0]|0; + $26 = ($25<<24>>24)==(0); + if ($26) { + $$0 = 0; + } else { + $27 = ((($1)) + 4|0); + $28 = HEAP8[$27>>0]|0; + $29 = ($28<<24>>24)==(0); + if ($29) { + $30 = (_fourbyte_strstr($5,$1)|0); + $$0 = $30; + break; + } else { + $31 = (_twoway_strstr($5,$1)|0); + $$0 = $31; + break; + } + } + } + } + } + } + } + } while(0); + return ($$0|0); +} +function _twobyte_strstr($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$lcssa = 0, $$sink = 0, $$sink$in = 0, $$sink$masked = 0, $$sink17$sink = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; + var label = 0, sp = 0; + sp = STACKTOP; + $2 = HEAP8[$1>>0]|0; + $3 = $2&255; + $4 = $3 << 8; + $5 = ((($1)) + 1|0); + $6 = HEAP8[$5>>0]|0; + $7 = $6&255; + $8 = $4 | $7; + $9 = HEAP8[$0>>0]|0; + $10 = $9&255; + $$sink$in = $10;$$sink17$sink = $0; + while(1) { + $11 = ((($$sink17$sink)) + 1|0); + $12 = HEAP8[$11>>0]|0; + $13 = ($12<<24>>24)==(0); + if ($13) { + $$lcssa = 0; + break; + } + $$sink = $$sink$in << 8; + $14 = $12&255; + $$sink$masked = $$sink & 65280; + $15 = $14 | $$sink$masked; + $16 = ($15|0)==($8|0); + if ($16) { + $$lcssa = $$sink17$sink; + break; + } else { + $$sink$in = $15;$$sink17$sink = $11; + } + } + return ($$lcssa|0); +} +function _threebyte_strstr($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$016$lcssa = 0, $$01619 = 0, $$020 = 0, $$lcssa = 0, $$not = 0, $$not17 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0; + var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $4 = 0, $5 = 0, $6 = 0; + var $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond18 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = HEAP8[$1>>0]|0; + $3 = $2&255; + $4 = $3 << 24; + $5 = ((($1)) + 1|0); + $6 = HEAP8[$5>>0]|0; + $7 = $6&255; + $8 = $7 << 16; + $9 = $8 | $4; + $10 = ((($1)) + 2|0); + $11 = HEAP8[$10>>0]|0; + $12 = $11&255; + $13 = $12 << 8; + $14 = $9 | $13; + $15 = HEAP8[$0>>0]|0; + $16 = $15&255; + $17 = $16 << 24; + $18 = ((($0)) + 1|0); + $19 = HEAP8[$18>>0]|0; + $20 = $19&255; + $21 = $20 << 16; + $22 = $21 | $17; + $23 = ((($0)) + 2|0); + $24 = HEAP8[$23>>0]|0; + $25 = $24&255; + $26 = $25 << 8; + $27 = $22 | $26; + $28 = ($24<<24>>24)!=(0); + $$not17 = $28 ^ 1; + $29 = ($27|0)==($14|0); + $or$cond18 = $29 | $$not17; + if ($or$cond18) { + $$016$lcssa = $23;$$lcssa = $28; + } else { + $$01619 = $23;$$020 = $27; + while(1) { + $30 = ((($$01619)) + 1|0); + $31 = HEAP8[$30>>0]|0; + $32 = $31&255; + $33 = $32 | $$020; + $34 = $33 << 8; + $35 = ($31<<24>>24)!=(0); + $$not = $35 ^ 1; + $36 = ($34|0)==($14|0); + $or$cond = $36 | $$not; + if ($or$cond) { + $$016$lcssa = $30;$$lcssa = $35; + break; + } else { + $$01619 = $30;$$020 = $34; + } + } + } + $37 = ((($$016$lcssa)) + -2|0); + $38 = $$lcssa ? $37 : 0; + return ($38|0); +} +function _fourbyte_strstr($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$lcssa = 0, $$not = 0, $$not22 = 0, $$sink21$lcssa = 0, $$sink2124 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; + var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; + var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond23 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = HEAP8[$1>>0]|0; + $3 = $2&255; + $4 = $3 << 24; + $5 = ((($1)) + 1|0); + $6 = HEAP8[$5>>0]|0; + $7 = $6&255; + $8 = $7 << 16; + $9 = $8 | $4; + $10 = ((($1)) + 2|0); + $11 = HEAP8[$10>>0]|0; + $12 = $11&255; + $13 = $12 << 8; + $14 = $9 | $13; + $15 = ((($1)) + 3|0); + $16 = HEAP8[$15>>0]|0; + $17 = $16&255; + $18 = $14 | $17; + $19 = HEAP8[$0>>0]|0; + $20 = $19&255; + $21 = $20 << 24; + $22 = ((($0)) + 1|0); + $23 = HEAP8[$22>>0]|0; + $24 = $23&255; + $25 = $24 << 16; + $26 = $25 | $21; + $27 = ((($0)) + 2|0); + $28 = HEAP8[$27>>0]|0; + $29 = $28&255; + $30 = $29 << 8; + $31 = $26 | $30; + $32 = ((($0)) + 3|0); + $33 = HEAP8[$32>>0]|0; + $34 = $33&255; + $35 = $34 | $31; + $36 = ($33<<24>>24)!=(0); + $$not22 = $36 ^ 1; + $37 = ($35|0)==($18|0); + $or$cond23 = $37 | $$not22; + if ($or$cond23) { + $$lcssa = $36;$$sink21$lcssa = $32; + } else { + $$sink2124 = $32;$39 = $35; + while(1) { + $38 = $39 << 8; + $40 = ((($$sink2124)) + 1|0); + $41 = HEAP8[$40>>0]|0; + $42 = $41&255; + $43 = $42 | $38; + $44 = ($41<<24>>24)!=(0); + $$not = $44 ^ 1; + $45 = ($43|0)==($18|0); + $or$cond = $45 | $$not; + if ($or$cond) { + $$lcssa = $44;$$sink21$lcssa = $40; + break; + } else { + $$sink2124 = $40;$39 = $43; + } + } + } + $46 = ((($$sink21$lcssa)) + -3|0); + $47 = $$lcssa ? $46 : 0; + return ($47|0); +} +function _twoway_strstr($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0166 = 0, $$0168 = 0, $$0169 = 0, $$0169$be = 0, $$0170 = 0, $$0175$ph$ph$lcssa220 = 0, $$0175$ph$ph$lcssa220323 = 0, $$0175$ph$ph256 = 0, $$0179244 = 0, $$0183$ph200$ph255 = 0, $$0183$ph200250 = 0, $$0183$ph262 = 0, $$0185$ph$lcssa = 0, $$0185$ph$lcssa322 = 0, $$0185$ph261 = 0, $$0187$lcssa320321 = 0, $$0187266 = 0, $$1176$$0175 = 0, $$1176$ph$ph$lcssa211 = 0, $$1176$ph$ph235 = 0; + var $$1180224 = 0, $$1184$ph196$ph234 = 0, $$1184$ph196229 = 0, $$1184$ph241 = 0, $$1186$$0185 = 0, $$1186$$0185$ = 0, $$1186$ph$lcssa = 0, $$1186$ph240 = 0, $$2181 = 0, $$2181$sink = 0, $$3 = 0, $$3173 = 0, $$3178 = 0, $$3182223 = 0, $$4 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0; + var $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0; + var $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0; + var $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0; + var $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0; + var $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0; + var $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0; + var $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $cond = 0, $cond191 = 0, $cond191222 = 0, $cond265 = 0, $div = 0, $div188 = 0, $or$cond = 0, $or$cond190 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 1056|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1056|0); + $2 = sp + 1024|0; + $3 = sp; + ;HEAP32[$2>>2]=0|0;HEAP32[$2+4>>2]=0|0;HEAP32[$2+8>>2]=0|0;HEAP32[$2+12>>2]=0|0;HEAP32[$2+16>>2]=0|0;HEAP32[$2+20>>2]=0|0;HEAP32[$2+24>>2]=0|0;HEAP32[$2+28>>2]=0|0; + $4 = HEAP8[$1>>0]|0; + $cond265 = ($4<<24>>24)==(0); + L1: do { + if ($cond265) { + $$0175$ph$ph$lcssa220323 = 1;$$0185$ph$lcssa322 = -1;$$0187$lcssa320321 = 0;$$1176$ph$ph$lcssa211 = 1;$$1186$ph$lcssa = -1; + label = 27; + } else { + $5 = $4&255; + $$0187266 = 0;$12 = $4;$20 = $5; + while(1) { + $8 = (($0) + ($$0187266)|0); + $9 = HEAP8[$8>>0]|0; + $10 = ($9<<24>>24)==(0); + if ($10) { + $$3 = 0; + break L1; + } + $11 = $12 & 31; + $13 = $11&255; + $14 = 1 << $13; + $div188 = ($12&255) >>> 5; + $15 = $div188&255; + $16 = (($2) + ($15<<2)|0); + $17 = HEAP32[$16>>2]|0; + $18 = $17 | $14; + HEAP32[$16>>2] = $18; + $7 = (($$0187266) + 1)|0; + $19 = (($3) + ($20<<2)|0); + HEAP32[$19>>2] = $7; + $21 = (($1) + ($7)|0); + $22 = HEAP8[$21>>0]|0; + $23 = $22&255; + $cond = ($22<<24>>24)==(0); + if ($cond) { + break; + } else { + $$0187266 = $7;$12 = $22;$20 = $23; + } + } + $6 = ($7>>>0)>(1); + if ($6) { + $$0183$ph262 = 0;$$0185$ph261 = -1;$129 = 1; + L7: while(1) { + $$0175$ph$ph256 = 1;$$0183$ph200$ph255 = $$0183$ph262;$132 = $129; + while(1) { + $$0183$ph200250 = $$0183$ph200$ph255;$131 = $132; + L11: while(1) { + $$0179244 = 1;$31 = $131; + while(1) { + $27 = (($$0179244) + ($$0185$ph261))|0; + $28 = (($1) + ($27)|0); + $29 = HEAP8[$28>>0]|0; + $30 = (($1) + ($31)|0); + $32 = HEAP8[$30>>0]|0; + $33 = ($29<<24>>24)==($32<<24>>24); + if (!($33)) { + break L11; + } + $34 = ($$0179244|0)==($$0175$ph$ph256|0); + $25 = (($$0179244) + 1)|0; + if ($34) { + break; + } + $24 = (($25) + ($$0183$ph200250))|0; + $26 = ($24>>>0)<($7>>>0); + if ($26) { + $$0179244 = $25;$31 = $24; + } else { + $$0175$ph$ph$lcssa220 = $$0175$ph$ph256;$$0185$ph$lcssa = $$0185$ph261; + break L7; + } + } + $35 = (($$0175$ph$ph256) + ($$0183$ph200250))|0; + $36 = (($35) + 1)|0; + $37 = ($36>>>0)<($7>>>0); + if ($37) { + $$0183$ph200250 = $35;$131 = $36; + } else { + $$0175$ph$ph$lcssa220 = $$0175$ph$ph256;$$0185$ph$lcssa = $$0185$ph261; + break L7; + } + } + $38 = ($29&255)>($32&255); + $39 = (($31) - ($$0185$ph261))|0; + if (!($38)) { + break; + } + $43 = (($31) + 1)|0; + $44 = ($43>>>0)<($7>>>0); + if ($44) { + $$0175$ph$ph256 = $39;$$0183$ph200$ph255 = $31;$132 = $43; + } else { + $$0175$ph$ph$lcssa220 = $39;$$0185$ph$lcssa = $$0185$ph261; + break L7; + } + } + $40 = (($$0183$ph200250) + 1)|0; + $41 = (($$0183$ph200250) + 2)|0; + $42 = ($41>>>0)<($7>>>0); + if ($42) { + $$0183$ph262 = $40;$$0185$ph261 = $$0183$ph200250;$129 = $41; + } else { + $$0175$ph$ph$lcssa220 = 1;$$0185$ph$lcssa = $$0183$ph200250; + break; + } + } + if ($6) { + $$1184$ph241 = 0;$$1186$ph240 = -1;$130 = 1; + while(1) { + $$1176$ph$ph235 = 1;$$1184$ph196$ph234 = $$1184$ph241;$134 = $130; + while(1) { + $$1184$ph196229 = $$1184$ph196$ph234;$133 = $134; + L26: while(1) { + $$1180224 = 1;$52 = $133; + while(1) { + $48 = (($$1180224) + ($$1186$ph240))|0; + $49 = (($1) + ($48)|0); + $50 = HEAP8[$49>>0]|0; + $51 = (($1) + ($52)|0); + $53 = HEAP8[$51>>0]|0; + $54 = ($50<<24>>24)==($53<<24>>24); + if (!($54)) { + break L26; + } + $55 = ($$1180224|0)==($$1176$ph$ph235|0); + $46 = (($$1180224) + 1)|0; + if ($55) { + break; + } + $45 = (($46) + ($$1184$ph196229))|0; + $47 = ($45>>>0)<($7>>>0); + if ($47) { + $$1180224 = $46;$52 = $45; + } else { + $$0175$ph$ph$lcssa220323 = $$0175$ph$ph$lcssa220;$$0185$ph$lcssa322 = $$0185$ph$lcssa;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = $$1176$ph$ph235;$$1186$ph$lcssa = $$1186$ph240; + label = 27; + break L1; + } + } + $56 = (($$1176$ph$ph235) + ($$1184$ph196229))|0; + $57 = (($56) + 1)|0; + $58 = ($57>>>0)<($7>>>0); + if ($58) { + $$1184$ph196229 = $56;$133 = $57; + } else { + $$0175$ph$ph$lcssa220323 = $$0175$ph$ph$lcssa220;$$0185$ph$lcssa322 = $$0185$ph$lcssa;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = $$1176$ph$ph235;$$1186$ph$lcssa = $$1186$ph240; + label = 27; + break L1; + } + } + $59 = ($50&255)<($53&255); + $60 = (($52) - ($$1186$ph240))|0; + if (!($59)) { + break; + } + $64 = (($52) + 1)|0; + $65 = ($64>>>0)<($7>>>0); + if ($65) { + $$1176$ph$ph235 = $60;$$1184$ph196$ph234 = $52;$134 = $64; + } else { + $$0175$ph$ph$lcssa220323 = $$0175$ph$ph$lcssa220;$$0185$ph$lcssa322 = $$0185$ph$lcssa;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = $60;$$1186$ph$lcssa = $$1186$ph240; + label = 27; + break L1; + } + } + $61 = (($$1184$ph196229) + 1)|0; + $62 = (($$1184$ph196229) + 2)|0; + $63 = ($62>>>0)<($7>>>0); + if ($63) { + $$1184$ph241 = $61;$$1186$ph240 = $$1184$ph196229;$130 = $62; + } else { + $$0175$ph$ph$lcssa220323 = $$0175$ph$ph$lcssa220;$$0185$ph$lcssa322 = $$0185$ph$lcssa;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = 1;$$1186$ph$lcssa = $$1184$ph196229; + label = 27; + break; + } + } + } else { + $$0175$ph$ph$lcssa220323 = $$0175$ph$ph$lcssa220;$$0185$ph$lcssa322 = $$0185$ph$lcssa;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = 1;$$1186$ph$lcssa = -1; + label = 27; + } + } else { + $$0175$ph$ph$lcssa220323 = 1;$$0185$ph$lcssa322 = -1;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = 1;$$1186$ph$lcssa = -1; + label = 27; + } + } + } while(0); + L36: do { + if ((label|0) == 27) { + $66 = (($$1186$ph$lcssa) + 1)|0; + $67 = (($$0185$ph$lcssa322) + 1)|0; + $68 = ($66>>>0)>($67>>>0); + $$1176$$0175 = $68 ? $$1176$ph$ph$lcssa211 : $$0175$ph$ph$lcssa220323; + $$1186$$0185 = $68 ? $$1186$ph$lcssa : $$0185$ph$lcssa322; + $69 = (($1) + ($$1176$$0175)|0); + $70 = (($$1186$$0185) + 1)|0; + $71 = (_memcmp($1,$69,$70)|0); + $72 = ($71|0)==(0); + if ($72) { + $77 = (($$0187$lcssa320321) - ($$1176$$0175))|0; + $$0168 = $77;$$3178 = $$1176$$0175; + } else { + $73 = (($$0187$lcssa320321) - ($$1186$$0185))|0; + $74 = (($73) + -1)|0; + $75 = ($$1186$$0185>>>0)>($74>>>0); + $$1186$$0185$ = $75 ? $$1186$$0185 : $74; + $76 = (($$1186$$0185$) + 1)|0; + $$0168 = 0;$$3178 = $76; + } + $78 = $$0187$lcssa320321 | 63; + $79 = (($$0187$lcssa320321) + -1)|0; + $80 = ($$0168|0)!=(0); + $81 = (($$0187$lcssa320321) - ($$3178))|0; + $$0166 = $0;$$0169 = 0;$$0170 = $0; + while(1) { + $82 = $$0170; + $83 = $$0166; + $84 = (($82) - ($83))|0; + $85 = ($84>>>0)<($$0187$lcssa320321>>>0); + do { + if ($85) { + $86 = (_memchr($$0170,0,$78)|0); + $87 = ($86|0)==(0|0); + if ($87) { + $91 = (($$0170) + ($78)|0); + $$3173 = $91; + break; + } else { + $88 = $86; + $89 = (($88) - ($83))|0; + $90 = ($89>>>0)<($$0187$lcssa320321>>>0); + if ($90) { + $$3 = 0; + break L36; + } else { + $$3173 = $86; + break; + } + } + } else { + $$3173 = $$0170; + } + } while(0); + $92 = (($$0166) + ($79)|0); + $93 = HEAP8[$92>>0]|0; + $div = ($93&255) >>> 5; + $94 = $div&255; + $95 = (($2) + ($94<<2)|0); + $96 = HEAP32[$95>>2]|0; + $97 = $93 & 31; + $98 = $97&255; + $99 = 1 << $98; + $100 = $99 & $96; + $101 = ($100|0)==(0); + L50: do { + if ($101) { + $$0169$be = 0;$$2181$sink = $$0187$lcssa320321; + } else { + $102 = $93&255; + $103 = (($3) + ($102<<2)|0); + $104 = HEAP32[$103>>2]|0; + $105 = (($$0187$lcssa320321) - ($104))|0; + $106 = ($105|0)==(0); + if (!($106)) { + $107 = ($$0169|0)!=(0); + $or$cond = $80 & $107; + $108 = ($105>>>0)<($$3178>>>0); + $or$cond190 = $or$cond & $108; + $$2181 = $or$cond190 ? $81 : $105; + $$0169$be = 0;$$2181$sink = $$2181; + break; + } + $110 = ($70>>>0)>($$0169>>>0); + $111 = $110 ? $70 : $$0169; + $112 = (($1) + ($111)|0); + $113 = HEAP8[$112>>0]|0; + $cond191222 = ($113<<24>>24)==(0); + L55: do { + if ($cond191222) { + $$4 = $70; + } else { + $$3182223 = $111;$117 = $113; + while(1) { + $114 = (($$0166) + ($$3182223)|0); + $115 = HEAP8[$114>>0]|0; + $116 = ($117<<24>>24)==($115<<24>>24); + if (!($116)) { + break; + } + $118 = (($$3182223) + 1)|0; + $119 = (($1) + ($118)|0); + $120 = HEAP8[$119>>0]|0; + $cond191 = ($120<<24>>24)==(0); + if ($cond191) { + $$4 = $70; + break L55; + } else { + $$3182223 = $118;$117 = $120; + } + } + $121 = (($$3182223) - ($$1186$$0185))|0; + $$0169$be = 0;$$2181$sink = $121; + break L50; + } + } while(0); + while(1) { + $122 = ($$4>>>0)>($$0169>>>0); + if (!($122)) { + $$3 = $$0166; + break L36; + } + $123 = (($$4) + -1)|0; + $124 = (($1) + ($123)|0); + $125 = HEAP8[$124>>0]|0; + $126 = (($$0166) + ($123)|0); + $127 = HEAP8[$126>>0]|0; + $128 = ($125<<24>>24)==($127<<24>>24); + if ($128) { + $$4 = $123; + } else { + $$0169$be = $$0168;$$2181$sink = $$3178; + break; + } + } + } + } while(0); + $109 = (($$0166) + ($$2181$sink)|0); + $$0166 = $109;$$0169 = $$0169$be;$$0170 = $$3173; + } + } + } while(0); + STACKTOP = sp;return ($$3|0); +} +function _strrchr($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = (_strlen($0)|0); + $3 = (($2) + 1)|0; + $4 = (___memrchr($0,$1,$3)|0); + return ($4|0); +} +function ___memrchr($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$0 = 0, $$09 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = $1&255; + $$09 = $2; + while(1) { + $4 = (($$09) + -1)|0; + $5 = ($$09|0)==(0); + if ($5) { + $$0 = 0; + break; + } + $6 = (($0) + ($4)|0); + $7 = HEAP8[$6>>0]|0; + $8 = ($7<<24>>24)==($3<<24>>24); + if ($8) { + $$0 = $6; + break; + } else { + $$09 = $4; + } + } + return ($$0|0); +} +function _strncpy($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var label = 0, sp = 0; + sp = STACKTOP; + (___stpncpy($0,$1,$2)|0); + return ($0|0); +} +function ___stpncpy($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$0$lcssa = 0, $$037$lcssa = 0, $$03753 = 0, $$038$lcssa = 0, $$038$lcssa79 = 0, $$03866 = 0, $$039$lcssa = 0, $$039$lcssa78 = 0, $$03965 = 0, $$041$lcssa = 0, $$041$lcssa77 = 0, $$04164 = 0, $$054 = 0, $$1$lcssa = 0, $$140$ph = 0, $$14046 = 0, $$142$ph = 0, $$14245 = 0, $$152 = 0, $$2$ph = 0; + var $$243 = 0, $$247 = 0, $$3 = 0, $$lcssa = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; + var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, $or$cond = 0, $or$cond63 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = $1; + $4 = $0; + $5 = $3 ^ $4; + $6 = $5 & 3; + $7 = ($6|0)==(0); + do { + if ($7) { + $8 = $3 & 3; + $9 = ($8|0)!=(0); + $10 = ($2|0)!=(0); + $or$cond63 = $10 & $9; + L3: do { + if ($or$cond63) { + $$03866 = $2;$$03965 = $1;$$04164 = $0; + while(1) { + $11 = HEAP8[$$03965>>0]|0; + HEAP8[$$04164>>0] = $11; + $12 = ($11<<24>>24)==(0); + if ($12) { + $$038$lcssa79 = $$03866;$$039$lcssa78 = $$03965;$$041$lcssa77 = $$04164; + break L3; + } + $13 = (($$03866) + -1)|0; + $14 = ((($$03965)) + 1|0); + $15 = ((($$04164)) + 1|0); + $16 = $14; + $17 = $16 & 3; + $18 = ($17|0)!=(0); + $19 = ($13|0)!=(0); + $or$cond = $19 & $18; + if ($or$cond) { + $$03866 = $13;$$03965 = $14;$$04164 = $15; + } else { + $$038$lcssa = $13;$$039$lcssa = $14;$$041$lcssa = $15;$$lcssa = $19; + label = 5; + break; + } + } + } else { + $$038$lcssa = $2;$$039$lcssa = $1;$$041$lcssa = $0;$$lcssa = $10; + label = 5; + } + } while(0); + if ((label|0) == 5) { + if ($$lcssa) { + $$038$lcssa79 = $$038$lcssa;$$039$lcssa78 = $$039$lcssa;$$041$lcssa77 = $$041$lcssa; + } else { + $$243 = $$041$lcssa;$$3 = 0; + break; + } + } + $20 = HEAP8[$$039$lcssa78>>0]|0; + $21 = ($20<<24>>24)==(0); + if ($21) { + $$243 = $$041$lcssa77;$$3 = $$038$lcssa79; + } else { + $22 = ($$038$lcssa79>>>0)>(3); + L11: do { + if ($22) { + $$03753 = $$041$lcssa77;$$054 = $$039$lcssa78;$$152 = $$038$lcssa79; + while(1) { + $23 = HEAP32[$$054>>2]|0; + $24 = (($23) + -16843009)|0; + $25 = $23 & -2139062144; + $26 = $25 ^ -2139062144; + $27 = $26 & $24; + $28 = ($27|0)==(0); + if (!($28)) { + $$0$lcssa = $$054;$$037$lcssa = $$03753;$$1$lcssa = $$152; + break L11; + } + HEAP32[$$03753>>2] = $23; + $29 = (($$152) + -4)|0; + $30 = ((($$054)) + 4|0); + $31 = ((($$03753)) + 4|0); + $32 = ($29>>>0)>(3); + if ($32) { + $$03753 = $31;$$054 = $30;$$152 = $29; + } else { + $$0$lcssa = $30;$$037$lcssa = $31;$$1$lcssa = $29; + break; + } + } + } else { + $$0$lcssa = $$039$lcssa78;$$037$lcssa = $$041$lcssa77;$$1$lcssa = $$038$lcssa79; + } + } while(0); + $$140$ph = $$0$lcssa;$$142$ph = $$037$lcssa;$$2$ph = $$1$lcssa; + label = 11; + } + } else { + $$140$ph = $1;$$142$ph = $0;$$2$ph = $2; + label = 11; + } + } while(0); + L16: do { + if ((label|0) == 11) { + $33 = ($$2$ph|0)==(0); + if ($33) { + $$243 = $$142$ph;$$3 = 0; + } else { + $$14046 = $$140$ph;$$14245 = $$142$ph;$$247 = $$2$ph; + while(1) { + $34 = HEAP8[$$14046>>0]|0; + HEAP8[$$14245>>0] = $34; + $35 = ($34<<24>>24)==(0); + if ($35) { + $$243 = $$14245;$$3 = $$247; + break L16; + } + $36 = (($$247) + -1)|0; + $37 = ((($$14046)) + 1|0); + $38 = ((($$14245)) + 1|0); + $39 = ($36|0)==(0); + if ($39) { + $$243 = $38;$$3 = 0; + break; + } else { + $$14046 = $37;$$14245 = $38;$$247 = $36; + } + } + } + } + } while(0); + _memset(($$243|0),0,($$3|0))|0; + return ($$243|0); +} +function _strspn($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $$01925 = 0, $$020 = 0, $$1$lcssa = 0, $$123 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; + var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; + var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $div = 0, $div21 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $2 = sp; + ;HEAP32[$2>>2]=0|0;HEAP32[$2+4>>2]=0|0;HEAP32[$2+8>>2]=0|0;HEAP32[$2+12>>2]=0|0;HEAP32[$2+16>>2]=0|0;HEAP32[$2+20>>2]=0|0;HEAP32[$2+24>>2]=0|0;HEAP32[$2+28>>2]=0|0; + $3 = HEAP8[$1>>0]|0; + $4 = ($3<<24>>24)==(0); + do { + if ($4) { + $$0 = 0; + } else { + $5 = ((($1)) + 1|0); + $6 = HEAP8[$5>>0]|0; + $7 = ($6<<24>>24)==(0); + if ($7) { + $$020 = $0; + while(1) { + $8 = HEAP8[$$020>>0]|0; + $9 = ($8<<24>>24)==($3<<24>>24); + $10 = ((($$020)) + 1|0); + if ($9) { + $$020 = $10; + } else { + break; + } + } + $11 = $$020; + $12 = $0; + $13 = (($11) - ($12))|0; + $$0 = $13; + break; + } else { + $$01925 = $1;$17 = $3; + } + while(1) { + $16 = $17 & 31; + $18 = $16&255; + $19 = 1 << $18; + $div21 = ($17&255) >>> 5; + $20 = $div21&255; + $21 = (($2) + ($20<<2)|0); + $22 = HEAP32[$21>>2]|0; + $23 = $22 | $19; + HEAP32[$21>>2] = $23; + $24 = ((($$01925)) + 1|0); + $25 = HEAP8[$24>>0]|0; + $26 = ($25<<24>>24)==(0); + if ($26) { + break; + } else { + $$01925 = $24;$17 = $25; + } + } + $14 = HEAP8[$0>>0]|0; + $15 = ($14<<24>>24)==(0); + L10: do { + if ($15) { + $$1$lcssa = $0; + } else { + $$123 = $0;$27 = $14; + while(1) { + $div = ($27&255) >>> 5; + $28 = $div&255; + $29 = (($2) + ($28<<2)|0); + $30 = HEAP32[$29>>2]|0; + $31 = $27 & 31; + $32 = $31&255; + $33 = 1 << $32; + $34 = $30 & $33; + $35 = ($34|0)==(0); + if ($35) { + $$1$lcssa = $$123; + break L10; + } + $36 = ((($$123)) + 1|0); + $37 = HEAP8[$36>>0]|0; + $38 = ($37<<24>>24)==(0); + if ($38) { + $$1$lcssa = $36; + break; + } else { + $$123 = $36;$27 = $37; + } + } + } + } while(0); + $39 = $$1$lcssa; + $40 = $0; + $41 = (($39) - ($40))|0; + $$0 = $41; + } + } while(0); + STACKTOP = sp;return ($$0|0); +} +function _srand($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (($0) + -1)|0; + $2 = 25472; + $3 = $2; + HEAP32[$3>>2] = $1; + $4 = (($2) + 4)|0; + $5 = $4; + HEAP32[$5>>2] = 0; + return; +} +function _rand() { + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = 25472; + $1 = $0; + $2 = HEAP32[$1>>2]|0; + $3 = (($0) + 4)|0; + $4 = $3; + $5 = HEAP32[$4>>2]|0; + $6 = (___muldi3(($2|0),($5|0),1284865837,1481765933)|0); + $7 = tempRet0; + $8 = (_i64Add(($6|0),($7|0),1,0)|0); + $9 = tempRet0; + $10 = 25472; + $11 = $10; + HEAP32[$11>>2] = $8; + $12 = (($10) + 4)|0; + $13 = $12; + HEAP32[$13>>2] = $9; + $14 = (_bitshift64Lshr(($8|0),($9|0),33)|0); + $15 = tempRet0; + return ($14|0); +} +function _fgetc($0) { + $0 = $0|0; + var $$0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0; + var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 76|0); + $2 = HEAP32[$1>>2]|0; + $3 = ($2|0)<(0); + if ($3) { + label = 3; + } else { + $4 = (___lockfile($0)|0); + $5 = ($4|0)==(0); + if ($5) { + label = 3; + } else { + $15 = ((($0)) + 4|0); + $16 = HEAP32[$15>>2]|0; + $17 = ((($0)) + 8|0); + $18 = HEAP32[$17>>2]|0; + $19 = ($16>>>0)<($18>>>0); + if ($19) { + $20 = ((($16)) + 1|0); + HEAP32[$15>>2] = $20; + $21 = HEAP8[$16>>0]|0; + $22 = $21&255; + $24 = $22; + } else { + $23 = (___uflow($0)|0); + $24 = $23; + } + ___unlockfile($0); + $$0 = $24; + } + } + do { + if ((label|0) == 3) { + $6 = ((($0)) + 4|0); + $7 = HEAP32[$6>>2]|0; + $8 = ((($0)) + 8|0); + $9 = HEAP32[$8>>2]|0; + $10 = ($7>>>0)<($9>>>0); + if ($10) { + $11 = ((($7)) + 1|0); + HEAP32[$6>>2] = $11; + $12 = HEAP8[$7>>0]|0; + $13 = $12&255; + $$0 = $13; + break; + } else { + $14 = (___uflow($0)|0); + $$0 = $14; + break; + } + } + } while(0); + return ($$0|0); +} +function ___ftello($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $phitmp = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 76|0); + $2 = HEAP32[$1>>2]|0; + $3 = ($2|0)>(-1); + if ($3) { + $5 = (___lockfile($0)|0); + $phitmp = ($5|0)==(0); + $6 = (___ftello_unlocked($0)|0); + if ($phitmp) { + $7 = $6; + } else { + ___unlockfile($0); + $7 = $6; + } + } else { + $4 = (___ftello_unlocked($0)|0); + $7 = $4; + } + return ($7|0); +} +function ___ftello_unlocked($0) { + $0 = $0|0; + var $$0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $3 = 0; + var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $phitmp = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 40|0); + $2 = HEAP32[$1>>2]|0; + $3 = HEAP32[$0>>2]|0; + $4 = $3 & 128; + $5 = ($4|0)==(0); + if ($5) { + $11 = 1; + } else { + $6 = ((($0)) + 20|0); + $7 = HEAP32[$6>>2]|0; + $8 = ((($0)) + 28|0); + $9 = HEAP32[$8>>2]|0; + $10 = ($7>>>0)>($9>>>0); + $phitmp = $10 ? 2 : 1; + $11 = $phitmp; + } + $12 = (FUNCTION_TABLE_iiii[$2 & 15]($0,0,$11)|0); + $13 = ($12|0)<(0); + if ($13) { + $$0 = $12; + } else { + $14 = ((($0)) + 8|0); + $15 = HEAP32[$14>>2]|0; + $16 = ((($0)) + 4|0); + $17 = HEAP32[$16>>2]|0; + $18 = ((($0)) + 20|0); + $19 = HEAP32[$18>>2]|0; + $20 = ((($0)) + 28|0); + $21 = HEAP32[$20>>2]|0; + $22 = (($12) - ($15))|0; + $23 = (($22) + ($17))|0; + $24 = (($23) + ($19))|0; + $25 = (($24) - ($21))|0; + $$0 = $25; + } + return ($$0|0); +} +function _fread($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$ = 0, $$0 = 0, $$054$ph = 0, $$05460 = 0, $$056$ph = 0, $$05659 = 0, $$57 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0; + var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; + var $42 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $4 = Math_imul($2, $1)|0; + $5 = ($1|0)==(0); + $$ = $5 ? 0 : $2; + $6 = ((($3)) + 76|0); + $7 = HEAP32[$6>>2]|0; + $8 = ($7|0)>(-1); + if ($8) { + $9 = (___lockfile($3)|0); + $36 = $9; + } else { + $36 = 0; + } + $10 = ((($3)) + 74|0); + $11 = HEAP8[$10>>0]|0; + $12 = $11 << 24 >> 24; + $13 = (($12) + 255)|0; + $14 = $13 | $12; + $15 = $14&255; + HEAP8[$10>>0] = $15; + $16 = ((($3)) + 8|0); + $17 = HEAP32[$16>>2]|0; + $18 = ((($3)) + 4|0); + $19 = HEAP32[$18>>2]|0; + $20 = $19; + $21 = (($17) - ($20))|0; + $22 = ($21|0)>(0); + $23 = ($21>>>0)<($4>>>0); + $$57 = $23 ? $21 : $4; + if ($22) { + $24 = (($4) - ($$57))|0; + $25 = (($0) + ($$57)|0); + _memcpy(($0|0),($19|0),($$57|0))|0; + $26 = (($19) + ($$57)|0); + HEAP32[$18>>2] = $26; + $$054$ph = $24;$$056$ph = $25; + } else { + $$054$ph = $4;$$056$ph = $0; + } + $27 = ($$054$ph|0)==(0); + L7: do { + if ($27) { + label = 13; + } else { + $28 = ((($3)) + 32|0); + $$05460 = $$054$ph;$$05659 = $$056$ph; + while(1) { + $29 = (___toread($3)|0); + $30 = ($29|0)==(0); + if (!($30)) { + break; + } + $31 = HEAP32[$28>>2]|0; + $32 = (FUNCTION_TABLE_iiii[$31 & 15]($3,$$05659,$$05460)|0); + $33 = (($32) + 1)|0; + $34 = ($33>>>0)<(2); + if ($34) { + break; + } + $39 = (($$05460) - ($32))|0; + $40 = (($$05659) + ($32)|0); + $41 = ($39|0)==(0); + if ($41) { + label = 13; + break L7; + } else { + $$05460 = $39;$$05659 = $40; + } + } + $35 = ($36|0)==(0); + if (!($35)) { + ___unlockfile($3); + } + $37 = (($4) - ($$05460))|0; + $38 = (($37>>>0) / ($1>>>0))&-1; + $$0 = $38; + } + } while(0); + if ((label|0) == 13) { + $42 = ($36|0)==(0); + if ($42) { + $$0 = $$; + } else { + ___unlockfile($3); + $$0 = $$; + } + } + return ($$0|0); +} +function _ftell($0) { + $0 = $0|0; + var $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (___ftello($0)|0); + return ($1|0); +} +function _rewind($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $phitmp = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 76|0); + $2 = HEAP32[$1>>2]|0; + $3 = ($2|0)>(-1); + if ($3) { + $4 = (___lockfile($0)|0); + $phitmp = ($4|0)==(0); + (___fseeko_unlocked($0,0,0)|0); + $5 = HEAP32[$0>>2]|0; + $6 = $5 & -33; + HEAP32[$0>>2] = $6; + if (!($phitmp)) { + ___unlockfile($0); + } + } else { + (___fseeko_unlocked($0,0,0)|0); + $7 = HEAP32[$0>>2]|0; + $8 = $7 & -33; + HEAP32[$0>>2] = $8; + } + return; +} +function _vprintf($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = HEAP32[1356]|0; + $3 = (_vfprintf($2,$0,$1)|0); + return ($3|0); +} +function _strcspn($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$01824 = 0, $$019$sink = 0, $$01922 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; + var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $div = 0; + var $div20 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $2 = sp; + $3 = HEAP8[$1>>0]|0; + $4 = ($3<<24>>24)==(0); + L1: do { + if ($4) { + label = 3; + } else { + $5 = ((($1)) + 1|0); + $6 = HEAP8[$5>>0]|0; + $7 = ($6<<24>>24)==(0); + if ($7) { + label = 3; + } else { + ;HEAP32[$2>>2]=0|0;HEAP32[$2+4>>2]=0|0;HEAP32[$2+8>>2]=0|0;HEAP32[$2+12>>2]=0|0;HEAP32[$2+16>>2]=0|0;HEAP32[$2+20>>2]=0|0;HEAP32[$2+24>>2]=0|0;HEAP32[$2+28>>2]=0|0; + $$01824 = $1;$13 = $3; + while(1) { + $12 = $13 & 31; + $14 = $12&255; + $15 = 1 << $14; + $div20 = ($13&255) >>> 5; + $16 = $div20&255; + $17 = (($2) + ($16<<2)|0); + $18 = HEAP32[$17>>2]|0; + $19 = $18 | $15; + HEAP32[$17>>2] = $19; + $20 = ((($$01824)) + 1|0); + $21 = HEAP8[$20>>0]|0; + $22 = ($21<<24>>24)==(0); + if ($22) { + break; + } else { + $$01824 = $20;$13 = $21; + } + } + $10 = HEAP8[$0>>0]|0; + $11 = ($10<<24>>24)==(0); + if ($11) { + $$019$sink = $0; + } else { + $$01922 = $0;$23 = $10; + while(1) { + $div = ($23&255) >>> 5; + $24 = $div&255; + $25 = (($2) + ($24<<2)|0); + $26 = HEAP32[$25>>2]|0; + $27 = $23 & 31; + $28 = $27&255; + $29 = 1 << $28; + $30 = $26 & $29; + $31 = ($30|0)==(0); + if (!($31)) { + $$019$sink = $$01922; + break L1; + } + $32 = ((($$01922)) + 1|0); + $33 = HEAP8[$32>>0]|0; + $34 = ($33<<24>>24)==(0); + if ($34) { + $$019$sink = $32; + break; + } else { + $$01922 = $32;$23 = $33; + } + } + } + } + } + } while(0); + if ((label|0) == 3) { + $8 = $3 << 24 >> 24; + $9 = (___strchrnul($0,$8)|0); + $$019$sink = $9; + } + $35 = $$019$sink; + $36 = $0; + $37 = (($35) - ($36))|0; + STACKTOP = sp;return ($37|0); +} +function _strcat($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = (_strlen($0)|0); + $3 = (($0) + ($2)|0); + (_strcpy($3,$1)|0); + return ($0|0); +} +function _strncat($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$0$lcssa = 0, $$01013 = 0, $$01112 = 0, $$014 = 0, $10 = 0, $11 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = (_strlen($0)|0); + $4 = (($0) + ($3)|0); + $5 = ($2|0)==(0); + L1: do { + if ($5) { + $$0$lcssa = $4; + } else { + $$01013 = $2;$$01112 = $1;$$014 = $4; + while(1) { + $6 = HEAP8[$$01112>>0]|0; + $7 = ($6<<24>>24)==(0); + if ($7) { + $$0$lcssa = $$014; + break L1; + } + $8 = (($$01013) + -1)|0; + $9 = ((($$01112)) + 1|0); + $10 = ((($$014)) + 1|0); + HEAP8[$$014>>0] = $6; + $11 = ($8|0)==(0); + if ($11) { + $$0$lcssa = $10; + break; + } else { + $$01013 = $8;$$01112 = $9;$$014 = $10; + } + } + } + } while(0); + HEAP8[$$0$lcssa>>0] = 0; + return ($0|0); +} +function _strtok($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $$010 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ($0|0)==(0|0); + if ($2) { + $3 = HEAP32[84651]|0; + $4 = ($3|0)==(0|0); + if ($4) { + $$0 = 0; + } else { + $$010 = $3; + label = 3; + } + } else { + $$010 = $0; + label = 3; + } + do { + if ((label|0) == 3) { + $5 = (_strspn($$010,$1)|0); + $6 = (($$010) + ($5)|0); + $7 = HEAP8[$6>>0]|0; + $8 = ($7<<24>>24)==(0); + if ($8) { + HEAP32[84651] = 0; + $$0 = 0; + break; + } + $9 = (_strcspn($6,$1)|0); + $10 = (($6) + ($9)|0); + HEAP32[84651] = $10; + $11 = HEAP8[$10>>0]|0; + $12 = ($11<<24>>24)==(0); + if ($12) { + HEAP32[84651] = 0; + $$0 = $6; + break; + } else { + $13 = ((($10)) + 1|0); + HEAP32[84651] = $13; + HEAP8[$10>>0] = 0; + $$0 = $6; + break; + } + } + } while(0); + return ($$0|0); +} +function _malloc($0) { + $0 = $0|0; + var $$$0192$i = 0, $$$0193$i = 0, $$$4236$i = 0, $$$4351$i = 0, $$$i = 0, $$0 = 0, $$0$i$i = 0, $$0$i$i$i = 0, $$0$i18$i = 0, $$01$i$i = 0, $$0189$i = 0, $$0192$lcssa$i = 0, $$01928$i = 0, $$0193$lcssa$i = 0, $$01937$i = 0, $$0197 = 0, $$0199 = 0, $$0206$i$i = 0, $$0207$i$i = 0, $$0211$i$i = 0; + var $$0212$i$i = 0, $$024371$i = 0, $$0287$i$i = 0, $$0288$i$i = 0, $$0289$i$i = 0, $$0295$i$i = 0, $$0296$i$i = 0, $$0342$i = 0, $$0344$i = 0, $$0345$i = 0, $$0347$i = 0, $$0353$i = 0, $$0358$i = 0, $$0359$$i = 0, $$0359$i = 0, $$0361$i = 0, $$0362$i = 0, $$0368$i = 0, $$1196$i = 0, $$1198$i = 0; + var $$124470$i = 0, $$1291$i$i = 0, $$1293$i$i = 0, $$1343$i = 0, $$1348$i = 0, $$1363$i = 0, $$1370$i = 0, $$1374$i = 0, $$2234253237$i = 0, $$2247$ph$i = 0, $$2253$ph$i = 0, $$2355$i = 0, $$3$i = 0, $$3$i$i = 0, $$3$i201 = 0, $$3350$i = 0, $$3372$i = 0, $$4$lcssa$i = 0, $$4$ph$i = 0, $$415$i = 0; + var $$4236$i = 0, $$4351$lcssa$i = 0, $$435114$i = 0, $$4357$$4$i = 0, $$4357$ph$i = 0, $$435713$i = 0, $$723948$i = 0, $$749$i = 0, $$pre = 0, $$pre$i = 0, $$pre$i$i = 0, $$pre$i19$i = 0, $$pre$i210 = 0, $$pre$i212 = 0, $$pre$phi$i$iZ2D = 0, $$pre$phi$i20$iZ2D = 0, $$pre$phi$i211Z2D = 0, $$pre$phi$iZ2D = 0, $$pre$phi11$i$iZ2D = 0, $$pre$phiZ2D = 0; + var $$pre10$i$i = 0, $$sink1$i = 0, $$sink1$i$i = 0, $$sink16$i = 0, $$sink2$i = 0, $$sink2$i204 = 0, $$sink3$i = 0, $1 = 0, $10 = 0, $100 = 0, $1000 = 0, $1001 = 0, $1002 = 0, $1003 = 0, $1004 = 0, $1005 = 0, $1006 = 0, $1007 = 0, $1008 = 0, $1009 = 0; + var $101 = 0, $1010 = 0, $1011 = 0, $1012 = 0, $1013 = 0, $1014 = 0, $1015 = 0, $1016 = 0, $1017 = 0, $1018 = 0, $1019 = 0, $102 = 0, $1020 = 0, $1021 = 0, $1022 = 0, $1023 = 0, $1024 = 0, $1025 = 0, $1026 = 0, $1027 = 0; + var $1028 = 0, $1029 = 0, $103 = 0, $1030 = 0, $1031 = 0, $1032 = 0, $1033 = 0, $1034 = 0, $1035 = 0, $1036 = 0, $1037 = 0, $1038 = 0, $1039 = 0, $104 = 0, $1040 = 0, $1041 = 0, $1042 = 0, $1043 = 0, $1044 = 0, $1045 = 0; + var $1046 = 0, $1047 = 0, $1048 = 0, $1049 = 0, $105 = 0, $1050 = 0, $1051 = 0, $1052 = 0, $1053 = 0, $1054 = 0, $1055 = 0, $1056 = 0, $1057 = 0, $1058 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0; + var $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0; + var $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0; + var $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0; + var $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0; + var $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0; + var $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0; + var $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0; + var $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0; + var $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0; + var $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0; + var $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0; + var $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0; + var $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0; + var $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0; + var $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0; + var $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0; + var $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0; + var $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0; + var $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0; + var $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0; + var $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0; + var $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0; + var $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0; + var $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0, $531 = 0, $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0; + var $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0, $549 = 0, $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0, $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0; + var $562 = 0, $563 = 0, $564 = 0, $565 = 0, $566 = 0, $567 = 0, $568 = 0, $569 = 0, $57 = 0, $570 = 0, $571 = 0, $572 = 0, $573 = 0, $574 = 0, $575 = 0, $576 = 0, $577 = 0, $578 = 0, $579 = 0, $58 = 0; + var $580 = 0, $581 = 0, $582 = 0, $583 = 0, $584 = 0, $585 = 0, $586 = 0, $587 = 0, $588 = 0, $589 = 0, $59 = 0, $590 = 0, $591 = 0, $592 = 0, $593 = 0, $594 = 0, $595 = 0, $596 = 0, $597 = 0, $598 = 0; + var $599 = 0, $6 = 0, $60 = 0, $600 = 0, $601 = 0, $602 = 0, $603 = 0, $604 = 0, $605 = 0, $606 = 0, $607 = 0, $608 = 0, $609 = 0, $61 = 0, $610 = 0, $611 = 0, $612 = 0, $613 = 0, $614 = 0, $615 = 0; + var $616 = 0, $617 = 0, $618 = 0, $619 = 0, $62 = 0, $620 = 0, $621 = 0, $622 = 0, $623 = 0, $624 = 0, $625 = 0, $626 = 0, $627 = 0, $628 = 0, $629 = 0, $63 = 0, $630 = 0, $631 = 0, $632 = 0, $633 = 0; + var $634 = 0, $635 = 0, $636 = 0, $637 = 0, $638 = 0, $639 = 0, $64 = 0, $640 = 0, $641 = 0, $642 = 0, $643 = 0, $644 = 0, $645 = 0, $646 = 0, $647 = 0, $648 = 0, $649 = 0, $65 = 0, $650 = 0, $651 = 0; + var $652 = 0, $653 = 0, $654 = 0, $655 = 0, $656 = 0, $657 = 0, $658 = 0, $659 = 0, $66 = 0, $660 = 0, $661 = 0, $662 = 0, $663 = 0, $664 = 0, $665 = 0, $666 = 0, $667 = 0, $668 = 0, $669 = 0, $67 = 0; + var $670 = 0, $671 = 0, $672 = 0, $673 = 0, $674 = 0, $675 = 0, $676 = 0, $677 = 0, $678 = 0, $679 = 0, $68 = 0, $680 = 0, $681 = 0, $682 = 0, $683 = 0, $684 = 0, $685 = 0, $686 = 0, $687 = 0, $688 = 0; + var $689 = 0, $69 = 0, $690 = 0, $691 = 0, $692 = 0, $693 = 0, $694 = 0, $695 = 0, $696 = 0, $697 = 0, $698 = 0, $699 = 0, $7 = 0, $70 = 0, $700 = 0, $701 = 0, $702 = 0, $703 = 0, $704 = 0, $705 = 0; + var $706 = 0, $707 = 0, $708 = 0, $709 = 0, $71 = 0, $710 = 0, $711 = 0, $712 = 0, $713 = 0, $714 = 0, $715 = 0, $716 = 0, $717 = 0, $718 = 0, $719 = 0, $72 = 0, $720 = 0, $721 = 0, $722 = 0, $723 = 0; + var $724 = 0, $725 = 0, $726 = 0, $727 = 0, $728 = 0, $729 = 0, $73 = 0, $730 = 0, $731 = 0, $732 = 0, $733 = 0, $734 = 0, $735 = 0, $736 = 0, $737 = 0, $738 = 0, $739 = 0, $74 = 0, $740 = 0, $741 = 0; + var $742 = 0, $743 = 0, $744 = 0, $745 = 0, $746 = 0, $747 = 0, $748 = 0, $749 = 0, $75 = 0, $750 = 0, $751 = 0, $752 = 0, $753 = 0, $754 = 0, $755 = 0, $756 = 0, $757 = 0, $758 = 0, $759 = 0, $76 = 0; + var $760 = 0, $761 = 0, $762 = 0, $763 = 0, $764 = 0, $765 = 0, $766 = 0, $767 = 0, $768 = 0, $769 = 0, $77 = 0, $770 = 0, $771 = 0, $772 = 0, $773 = 0, $774 = 0, $775 = 0, $776 = 0, $777 = 0, $778 = 0; + var $779 = 0, $78 = 0, $780 = 0, $781 = 0, $782 = 0, $783 = 0, $784 = 0, $785 = 0, $786 = 0, $787 = 0, $788 = 0, $789 = 0, $79 = 0, $790 = 0, $791 = 0, $792 = 0, $793 = 0, $794 = 0, $795 = 0, $796 = 0; + var $797 = 0, $798 = 0, $799 = 0, $8 = 0, $80 = 0, $800 = 0, $801 = 0, $802 = 0, $803 = 0, $804 = 0, $805 = 0, $806 = 0, $807 = 0, $808 = 0, $809 = 0, $81 = 0, $810 = 0, $811 = 0, $812 = 0, $813 = 0; + var $814 = 0, $815 = 0, $816 = 0, $817 = 0, $818 = 0, $819 = 0, $82 = 0, $820 = 0, $821 = 0, $822 = 0, $823 = 0, $824 = 0, $825 = 0, $826 = 0, $827 = 0, $828 = 0, $829 = 0, $83 = 0, $830 = 0, $831 = 0; + var $832 = 0, $833 = 0, $834 = 0, $835 = 0, $836 = 0, $837 = 0, $838 = 0, $839 = 0, $84 = 0, $840 = 0, $841 = 0, $842 = 0, $843 = 0, $844 = 0, $845 = 0, $846 = 0, $847 = 0, $848 = 0, $849 = 0, $85 = 0; + var $850 = 0, $851 = 0, $852 = 0, $853 = 0, $854 = 0, $855 = 0, $856 = 0, $857 = 0, $858 = 0, $859 = 0, $86 = 0, $860 = 0, $861 = 0, $862 = 0, $863 = 0, $864 = 0, $865 = 0, $866 = 0, $867 = 0, $868 = 0; + var $869 = 0, $87 = 0, $870 = 0, $871 = 0, $872 = 0, $873 = 0, $874 = 0, $875 = 0, $876 = 0, $877 = 0, $878 = 0, $879 = 0, $88 = 0, $880 = 0, $881 = 0, $882 = 0, $883 = 0, $884 = 0, $885 = 0, $886 = 0; + var $887 = 0, $888 = 0, $889 = 0, $89 = 0, $890 = 0, $891 = 0, $892 = 0, $893 = 0, $894 = 0, $895 = 0, $896 = 0, $897 = 0, $898 = 0, $899 = 0, $9 = 0, $90 = 0, $900 = 0, $901 = 0, $902 = 0, $903 = 0; + var $904 = 0, $905 = 0, $906 = 0, $907 = 0, $908 = 0, $909 = 0, $91 = 0, $910 = 0, $911 = 0, $912 = 0, $913 = 0, $914 = 0, $915 = 0, $916 = 0, $917 = 0, $918 = 0, $919 = 0, $92 = 0, $920 = 0, $921 = 0; + var $922 = 0, $923 = 0, $924 = 0, $925 = 0, $926 = 0, $927 = 0, $928 = 0, $929 = 0, $93 = 0, $930 = 0, $931 = 0, $932 = 0, $933 = 0, $934 = 0, $935 = 0, $936 = 0, $937 = 0, $938 = 0, $939 = 0, $94 = 0; + var $940 = 0, $941 = 0, $942 = 0, $943 = 0, $944 = 0, $945 = 0, $946 = 0, $947 = 0, $948 = 0, $949 = 0, $95 = 0, $950 = 0, $951 = 0, $952 = 0, $953 = 0, $954 = 0, $955 = 0, $956 = 0, $957 = 0, $958 = 0; + var $959 = 0, $96 = 0, $960 = 0, $961 = 0, $962 = 0, $963 = 0, $964 = 0, $965 = 0, $966 = 0, $967 = 0, $968 = 0, $969 = 0, $97 = 0, $970 = 0, $971 = 0, $972 = 0, $973 = 0, $974 = 0, $975 = 0, $976 = 0; + var $977 = 0, $978 = 0, $979 = 0, $98 = 0, $980 = 0, $981 = 0, $982 = 0, $983 = 0, $984 = 0, $985 = 0, $986 = 0, $987 = 0, $988 = 0, $989 = 0, $99 = 0, $990 = 0, $991 = 0, $992 = 0, $993 = 0, $994 = 0; + var $995 = 0, $996 = 0, $997 = 0, $998 = 0, $999 = 0, $cond$i = 0, $cond$i$i = 0, $cond$i208 = 0, $exitcond$i$i = 0, $not$$i = 0, $not$$i$i = 0, $not$$i17$i = 0, $not$$i209 = 0, $not$$i216 = 0, $not$1$i = 0, $not$1$i203 = 0, $not$5$i = 0, $not$7$i$i = 0, $not$8$i = 0, $not$9$i = 0; + var $or$cond$i = 0, $or$cond$i214 = 0, $or$cond1$i = 0, $or$cond10$i = 0, $or$cond11$i = 0, $or$cond11$not$i = 0, $or$cond12$i = 0, $or$cond2$i = 0, $or$cond2$i215 = 0, $or$cond5$i = 0, $or$cond50$i = 0, $or$cond51$i = 0, $or$cond7$i = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $1 = sp; + $2 = ($0>>>0)<(245); + do { + if ($2) { + $3 = ($0>>>0)<(11); + $4 = (($0) + 11)|0; + $5 = $4 & -8; + $6 = $3 ? 16 : $5; + $7 = $6 >>> 3; + $8 = HEAP32[84652]|0; + $9 = $8 >>> $7; + $10 = $9 & 3; + $11 = ($10|0)==(0); + if (!($11)) { + $12 = $9 & 1; + $13 = $12 ^ 1; + $14 = (($13) + ($7))|0; + $15 = $14 << 1; + $16 = (338648 + ($15<<2)|0); + $17 = ((($16)) + 8|0); + $18 = HEAP32[$17>>2]|0; + $19 = ((($18)) + 8|0); + $20 = HEAP32[$19>>2]|0; + $21 = ($16|0)==($20|0); + do { + if ($21) { + $22 = 1 << $14; + $23 = $22 ^ -1; + $24 = $8 & $23; + HEAP32[84652] = $24; + } else { + $25 = HEAP32[(338624)>>2]|0; + $26 = ($20>>>0)<($25>>>0); + if ($26) { + _abort(); + // unreachable; + } + $27 = ((($20)) + 12|0); + $28 = HEAP32[$27>>2]|0; + $29 = ($28|0)==($18|0); + if ($29) { + HEAP32[$27>>2] = $16; + HEAP32[$17>>2] = $20; + break; + } else { + _abort(); + // unreachable; + } + } + } while(0); + $30 = $14 << 3; + $31 = $30 | 3; + $32 = ((($18)) + 4|0); + HEAP32[$32>>2] = $31; + $33 = (($18) + ($30)|0); + $34 = ((($33)) + 4|0); + $35 = HEAP32[$34>>2]|0; + $36 = $35 | 1; + HEAP32[$34>>2] = $36; + $$0 = $19; + STACKTOP = sp;return ($$0|0); + } + $37 = HEAP32[(338616)>>2]|0; + $38 = ($6>>>0)>($37>>>0); + if ($38) { + $39 = ($9|0)==(0); + if (!($39)) { + $40 = $9 << $7; + $41 = 2 << $7; + $42 = (0 - ($41))|0; + $43 = $41 | $42; + $44 = $40 & $43; + $45 = (0 - ($44))|0; + $46 = $44 & $45; + $47 = (($46) + -1)|0; + $48 = $47 >>> 12; + $49 = $48 & 16; + $50 = $47 >>> $49; + $51 = $50 >>> 5; + $52 = $51 & 8; + $53 = $52 | $49; + $54 = $50 >>> $52; + $55 = $54 >>> 2; + $56 = $55 & 4; + $57 = $53 | $56; + $58 = $54 >>> $56; + $59 = $58 >>> 1; + $60 = $59 & 2; + $61 = $57 | $60; + $62 = $58 >>> $60; + $63 = $62 >>> 1; + $64 = $63 & 1; + $65 = $61 | $64; + $66 = $62 >>> $64; + $67 = (($65) + ($66))|0; + $68 = $67 << 1; + $69 = (338648 + ($68<<2)|0); + $70 = ((($69)) + 8|0); + $71 = HEAP32[$70>>2]|0; + $72 = ((($71)) + 8|0); + $73 = HEAP32[$72>>2]|0; + $74 = ($69|0)==($73|0); + do { + if ($74) { + $75 = 1 << $67; + $76 = $75 ^ -1; + $77 = $8 & $76; + HEAP32[84652] = $77; + $98 = $77; + } else { + $78 = HEAP32[(338624)>>2]|0; + $79 = ($73>>>0)<($78>>>0); + if ($79) { + _abort(); + // unreachable; + } + $80 = ((($73)) + 12|0); + $81 = HEAP32[$80>>2]|0; + $82 = ($81|0)==($71|0); + if ($82) { + HEAP32[$80>>2] = $69; + HEAP32[$70>>2] = $73; + $98 = $8; + break; + } else { + _abort(); + // unreachable; + } + } + } while(0); + $83 = $67 << 3; + $84 = (($83) - ($6))|0; + $85 = $6 | 3; + $86 = ((($71)) + 4|0); + HEAP32[$86>>2] = $85; + $87 = (($71) + ($6)|0); + $88 = $84 | 1; + $89 = ((($87)) + 4|0); + HEAP32[$89>>2] = $88; + $90 = (($87) + ($84)|0); + HEAP32[$90>>2] = $84; + $91 = ($37|0)==(0); + if (!($91)) { + $92 = HEAP32[(338628)>>2]|0; + $93 = $37 >>> 3; + $94 = $93 << 1; + $95 = (338648 + ($94<<2)|0); + $96 = 1 << $93; + $97 = $98 & $96; + $99 = ($97|0)==(0); + if ($99) { + $100 = $98 | $96; + HEAP32[84652] = $100; + $$pre = ((($95)) + 8|0); + $$0199 = $95;$$pre$phiZ2D = $$pre; + } else { + $101 = ((($95)) + 8|0); + $102 = HEAP32[$101>>2]|0; + $103 = HEAP32[(338624)>>2]|0; + $104 = ($102>>>0)<($103>>>0); + if ($104) { + _abort(); + // unreachable; + } else { + $$0199 = $102;$$pre$phiZ2D = $101; + } + } + HEAP32[$$pre$phiZ2D>>2] = $92; + $105 = ((($$0199)) + 12|0); + HEAP32[$105>>2] = $92; + $106 = ((($92)) + 8|0); + HEAP32[$106>>2] = $$0199; + $107 = ((($92)) + 12|0); + HEAP32[$107>>2] = $95; + } + HEAP32[(338616)>>2] = $84; + HEAP32[(338628)>>2] = $87; + $$0 = $72; + STACKTOP = sp;return ($$0|0); + } + $108 = HEAP32[(338612)>>2]|0; + $109 = ($108|0)==(0); + if ($109) { + $$0197 = $6; + } else { + $110 = (0 - ($108))|0; + $111 = $108 & $110; + $112 = (($111) + -1)|0; + $113 = $112 >>> 12; + $114 = $113 & 16; + $115 = $112 >>> $114; + $116 = $115 >>> 5; + $117 = $116 & 8; + $118 = $117 | $114; + $119 = $115 >>> $117; + $120 = $119 >>> 2; + $121 = $120 & 4; + $122 = $118 | $121; + $123 = $119 >>> $121; + $124 = $123 >>> 1; + $125 = $124 & 2; + $126 = $122 | $125; + $127 = $123 >>> $125; + $128 = $127 >>> 1; + $129 = $128 & 1; + $130 = $126 | $129; + $131 = $127 >>> $129; + $132 = (($130) + ($131))|0; + $133 = (338912 + ($132<<2)|0); + $134 = HEAP32[$133>>2]|0; + $135 = ((($134)) + 4|0); + $136 = HEAP32[$135>>2]|0; + $137 = $136 & -8; + $138 = (($137) - ($6))|0; + $139 = ((($134)) + 16|0); + $140 = HEAP32[$139>>2]|0; + $not$5$i = ($140|0)==(0|0); + $$sink16$i = $not$5$i&1; + $141 = (((($134)) + 16|0) + ($$sink16$i<<2)|0); + $142 = HEAP32[$141>>2]|0; + $143 = ($142|0)==(0|0); + if ($143) { + $$0192$lcssa$i = $134;$$0193$lcssa$i = $138; + } else { + $$01928$i = $134;$$01937$i = $138;$145 = $142; + while(1) { + $144 = ((($145)) + 4|0); + $146 = HEAP32[$144>>2]|0; + $147 = $146 & -8; + $148 = (($147) - ($6))|0; + $149 = ($148>>>0)<($$01937$i>>>0); + $$$0193$i = $149 ? $148 : $$01937$i; + $$$0192$i = $149 ? $145 : $$01928$i; + $150 = ((($145)) + 16|0); + $151 = HEAP32[$150>>2]|0; + $not$$i = ($151|0)==(0|0); + $$sink1$i = $not$$i&1; + $152 = (((($145)) + 16|0) + ($$sink1$i<<2)|0); + $153 = HEAP32[$152>>2]|0; + $154 = ($153|0)==(0|0); + if ($154) { + $$0192$lcssa$i = $$$0192$i;$$0193$lcssa$i = $$$0193$i; + break; + } else { + $$01928$i = $$$0192$i;$$01937$i = $$$0193$i;$145 = $153; + } + } + } + $155 = HEAP32[(338624)>>2]|0; + $156 = ($$0192$lcssa$i>>>0)<($155>>>0); + if ($156) { + _abort(); + // unreachable; + } + $157 = (($$0192$lcssa$i) + ($6)|0); + $158 = ($$0192$lcssa$i>>>0)<($157>>>0); + if (!($158)) { + _abort(); + // unreachable; + } + $159 = ((($$0192$lcssa$i)) + 24|0); + $160 = HEAP32[$159>>2]|0; + $161 = ((($$0192$lcssa$i)) + 12|0); + $162 = HEAP32[$161>>2]|0; + $163 = ($162|0)==($$0192$lcssa$i|0); + do { + if ($163) { + $173 = ((($$0192$lcssa$i)) + 20|0); + $174 = HEAP32[$173>>2]|0; + $175 = ($174|0)==(0|0); + if ($175) { + $176 = ((($$0192$lcssa$i)) + 16|0); + $177 = HEAP32[$176>>2]|0; + $178 = ($177|0)==(0|0); + if ($178) { + $$3$i = 0; + break; + } else { + $$1196$i = $177;$$1198$i = $176; + } + } else { + $$1196$i = $174;$$1198$i = $173; + } + while(1) { + $179 = ((($$1196$i)) + 20|0); + $180 = HEAP32[$179>>2]|0; + $181 = ($180|0)==(0|0); + if (!($181)) { + $$1196$i = $180;$$1198$i = $179; + continue; + } + $182 = ((($$1196$i)) + 16|0); + $183 = HEAP32[$182>>2]|0; + $184 = ($183|0)==(0|0); + if ($184) { + break; + } else { + $$1196$i = $183;$$1198$i = $182; + } + } + $185 = ($$1198$i>>>0)<($155>>>0); + if ($185) { + _abort(); + // unreachable; + } else { + HEAP32[$$1198$i>>2] = 0; + $$3$i = $$1196$i; + break; + } + } else { + $164 = ((($$0192$lcssa$i)) + 8|0); + $165 = HEAP32[$164>>2]|0; + $166 = ($165>>>0)<($155>>>0); + if ($166) { + _abort(); + // unreachable; + } + $167 = ((($165)) + 12|0); + $168 = HEAP32[$167>>2]|0; + $169 = ($168|0)==($$0192$lcssa$i|0); + if (!($169)) { + _abort(); + // unreachable; + } + $170 = ((($162)) + 8|0); + $171 = HEAP32[$170>>2]|0; + $172 = ($171|0)==($$0192$lcssa$i|0); + if ($172) { + HEAP32[$167>>2] = $162; + HEAP32[$170>>2] = $165; + $$3$i = $162; + break; + } else { + _abort(); + // unreachable; + } + } + } while(0); + $186 = ($160|0)==(0|0); + L73: do { + if (!($186)) { + $187 = ((($$0192$lcssa$i)) + 28|0); + $188 = HEAP32[$187>>2]|0; + $189 = (338912 + ($188<<2)|0); + $190 = HEAP32[$189>>2]|0; + $191 = ($$0192$lcssa$i|0)==($190|0); + do { + if ($191) { + HEAP32[$189>>2] = $$3$i; + $cond$i = ($$3$i|0)==(0|0); + if ($cond$i) { + $192 = 1 << $188; + $193 = $192 ^ -1; + $194 = $108 & $193; + HEAP32[(338612)>>2] = $194; + break L73; + } + } else { + $195 = HEAP32[(338624)>>2]|0; + $196 = ($160>>>0)<($195>>>0); + if ($196) { + _abort(); + // unreachable; + } else { + $197 = ((($160)) + 16|0); + $198 = HEAP32[$197>>2]|0; + $not$1$i = ($198|0)!=($$0192$lcssa$i|0); + $$sink2$i = $not$1$i&1; + $199 = (((($160)) + 16|0) + ($$sink2$i<<2)|0); + HEAP32[$199>>2] = $$3$i; + $200 = ($$3$i|0)==(0|0); + if ($200) { + break L73; + } else { + break; + } + } + } + } while(0); + $201 = HEAP32[(338624)>>2]|0; + $202 = ($$3$i>>>0)<($201>>>0); + if ($202) { + _abort(); + // unreachable; + } + $203 = ((($$3$i)) + 24|0); + HEAP32[$203>>2] = $160; + $204 = ((($$0192$lcssa$i)) + 16|0); + $205 = HEAP32[$204>>2]|0; + $206 = ($205|0)==(0|0); + do { + if (!($206)) { + $207 = ($205>>>0)<($201>>>0); + if ($207) { + _abort(); + // unreachable; + } else { + $208 = ((($$3$i)) + 16|0); + HEAP32[$208>>2] = $205; + $209 = ((($205)) + 24|0); + HEAP32[$209>>2] = $$3$i; + break; + } + } + } while(0); + $210 = ((($$0192$lcssa$i)) + 20|0); + $211 = HEAP32[$210>>2]|0; + $212 = ($211|0)==(0|0); + if (!($212)) { + $213 = HEAP32[(338624)>>2]|0; + $214 = ($211>>>0)<($213>>>0); + if ($214) { + _abort(); + // unreachable; + } else { + $215 = ((($$3$i)) + 20|0); + HEAP32[$215>>2] = $211; + $216 = ((($211)) + 24|0); + HEAP32[$216>>2] = $$3$i; + break; + } + } + } + } while(0); + $217 = ($$0193$lcssa$i>>>0)<(16); + if ($217) { + $218 = (($$0193$lcssa$i) + ($6))|0; + $219 = $218 | 3; + $220 = ((($$0192$lcssa$i)) + 4|0); + HEAP32[$220>>2] = $219; + $221 = (($$0192$lcssa$i) + ($218)|0); + $222 = ((($221)) + 4|0); + $223 = HEAP32[$222>>2]|0; + $224 = $223 | 1; + HEAP32[$222>>2] = $224; + } else { + $225 = $6 | 3; + $226 = ((($$0192$lcssa$i)) + 4|0); + HEAP32[$226>>2] = $225; + $227 = $$0193$lcssa$i | 1; + $228 = ((($157)) + 4|0); + HEAP32[$228>>2] = $227; + $229 = (($157) + ($$0193$lcssa$i)|0); + HEAP32[$229>>2] = $$0193$lcssa$i; + $230 = ($37|0)==(0); + if (!($230)) { + $231 = HEAP32[(338628)>>2]|0; + $232 = $37 >>> 3; + $233 = $232 << 1; + $234 = (338648 + ($233<<2)|0); + $235 = 1 << $232; + $236 = $8 & $235; + $237 = ($236|0)==(0); + if ($237) { + $238 = $8 | $235; + HEAP32[84652] = $238; + $$pre$i = ((($234)) + 8|0); + $$0189$i = $234;$$pre$phi$iZ2D = $$pre$i; + } else { + $239 = ((($234)) + 8|0); + $240 = HEAP32[$239>>2]|0; + $241 = HEAP32[(338624)>>2]|0; + $242 = ($240>>>0)<($241>>>0); + if ($242) { + _abort(); + // unreachable; + } else { + $$0189$i = $240;$$pre$phi$iZ2D = $239; + } + } + HEAP32[$$pre$phi$iZ2D>>2] = $231; + $243 = ((($$0189$i)) + 12|0); + HEAP32[$243>>2] = $231; + $244 = ((($231)) + 8|0); + HEAP32[$244>>2] = $$0189$i; + $245 = ((($231)) + 12|0); + HEAP32[$245>>2] = $234; + } + HEAP32[(338616)>>2] = $$0193$lcssa$i; + HEAP32[(338628)>>2] = $157; + } + $246 = ((($$0192$lcssa$i)) + 8|0); + $$0 = $246; + STACKTOP = sp;return ($$0|0); + } + } else { + $$0197 = $6; + } + } else { + $247 = ($0>>>0)>(4294967231); + if ($247) { + $$0197 = -1; + } else { + $248 = (($0) + 11)|0; + $249 = $248 & -8; + $250 = HEAP32[(338612)>>2]|0; + $251 = ($250|0)==(0); + if ($251) { + $$0197 = $249; + } else { + $252 = (0 - ($249))|0; + $253 = $248 >>> 8; + $254 = ($253|0)==(0); + if ($254) { + $$0358$i = 0; + } else { + $255 = ($249>>>0)>(16777215); + if ($255) { + $$0358$i = 31; + } else { + $256 = (($253) + 1048320)|0; + $257 = $256 >>> 16; + $258 = $257 & 8; + $259 = $253 << $258; + $260 = (($259) + 520192)|0; + $261 = $260 >>> 16; + $262 = $261 & 4; + $263 = $262 | $258; + $264 = $259 << $262; + $265 = (($264) + 245760)|0; + $266 = $265 >>> 16; + $267 = $266 & 2; + $268 = $263 | $267; + $269 = (14 - ($268))|0; + $270 = $264 << $267; + $271 = $270 >>> 15; + $272 = (($269) + ($271))|0; + $273 = $272 << 1; + $274 = (($272) + 7)|0; + $275 = $249 >>> $274; + $276 = $275 & 1; + $277 = $276 | $273; + $$0358$i = $277; + } + } + $278 = (338912 + ($$0358$i<<2)|0); + $279 = HEAP32[$278>>2]|0; + $280 = ($279|0)==(0|0); + L117: do { + if ($280) { + $$2355$i = 0;$$3$i201 = 0;$$3350$i = $252; + label = 81; + } else { + $281 = ($$0358$i|0)==(31); + $282 = $$0358$i >>> 1; + $283 = (25 - ($282))|0; + $284 = $281 ? 0 : $283; + $285 = $249 << $284; + $$0342$i = 0;$$0347$i = $252;$$0353$i = $279;$$0359$i = $285;$$0362$i = 0; + while(1) { + $286 = ((($$0353$i)) + 4|0); + $287 = HEAP32[$286>>2]|0; + $288 = $287 & -8; + $289 = (($288) - ($249))|0; + $290 = ($289>>>0)<($$0347$i>>>0); + if ($290) { + $291 = ($289|0)==(0); + if ($291) { + $$415$i = $$0353$i;$$435114$i = 0;$$435713$i = $$0353$i; + label = 85; + break L117; + } else { + $$1343$i = $$0353$i;$$1348$i = $289; + } + } else { + $$1343$i = $$0342$i;$$1348$i = $$0347$i; + } + $292 = ((($$0353$i)) + 20|0); + $293 = HEAP32[$292>>2]|0; + $294 = $$0359$i >>> 31; + $295 = (((($$0353$i)) + 16|0) + ($294<<2)|0); + $296 = HEAP32[$295>>2]|0; + $297 = ($293|0)==(0|0); + $298 = ($293|0)==($296|0); + $or$cond2$i = $297 | $298; + $$1363$i = $or$cond2$i ? $$0362$i : $293; + $299 = ($296|0)==(0|0); + $not$8$i = $299 ^ 1; + $300 = $not$8$i&1; + $$0359$$i = $$0359$i << $300; + if ($299) { + $$2355$i = $$1363$i;$$3$i201 = $$1343$i;$$3350$i = $$1348$i; + label = 81; + break; + } else { + $$0342$i = $$1343$i;$$0347$i = $$1348$i;$$0353$i = $296;$$0359$i = $$0359$$i;$$0362$i = $$1363$i; + } + } + } + } while(0); + if ((label|0) == 81) { + $301 = ($$2355$i|0)==(0|0); + $302 = ($$3$i201|0)==(0|0); + $or$cond$i = $301 & $302; + if ($or$cond$i) { + $303 = 2 << $$0358$i; + $304 = (0 - ($303))|0; + $305 = $303 | $304; + $306 = $250 & $305; + $307 = ($306|0)==(0); + if ($307) { + $$0197 = $249; + break; + } + $308 = (0 - ($306))|0; + $309 = $306 & $308; + $310 = (($309) + -1)|0; + $311 = $310 >>> 12; + $312 = $311 & 16; + $313 = $310 >>> $312; + $314 = $313 >>> 5; + $315 = $314 & 8; + $316 = $315 | $312; + $317 = $313 >>> $315; + $318 = $317 >>> 2; + $319 = $318 & 4; + $320 = $316 | $319; + $321 = $317 >>> $319; + $322 = $321 >>> 1; + $323 = $322 & 2; + $324 = $320 | $323; + $325 = $321 >>> $323; + $326 = $325 >>> 1; + $327 = $326 & 1; + $328 = $324 | $327; + $329 = $325 >>> $327; + $330 = (($328) + ($329))|0; + $331 = (338912 + ($330<<2)|0); + $332 = HEAP32[$331>>2]|0; + $$4$ph$i = 0;$$4357$ph$i = $332; + } else { + $$4$ph$i = $$3$i201;$$4357$ph$i = $$2355$i; + } + $333 = ($$4357$ph$i|0)==(0|0); + if ($333) { + $$4$lcssa$i = $$4$ph$i;$$4351$lcssa$i = $$3350$i; + } else { + $$415$i = $$4$ph$i;$$435114$i = $$3350$i;$$435713$i = $$4357$ph$i; + label = 85; + } + } + if ((label|0) == 85) { + while(1) { + label = 0; + $334 = ((($$435713$i)) + 4|0); + $335 = HEAP32[$334>>2]|0; + $336 = $335 & -8; + $337 = (($336) - ($249))|0; + $338 = ($337>>>0)<($$435114$i>>>0); + $$$4351$i = $338 ? $337 : $$435114$i; + $$4357$$4$i = $338 ? $$435713$i : $$415$i; + $339 = ((($$435713$i)) + 16|0); + $340 = HEAP32[$339>>2]|0; + $not$1$i203 = ($340|0)==(0|0); + $$sink2$i204 = $not$1$i203&1; + $341 = (((($$435713$i)) + 16|0) + ($$sink2$i204<<2)|0); + $342 = HEAP32[$341>>2]|0; + $343 = ($342|0)==(0|0); + if ($343) { + $$4$lcssa$i = $$4357$$4$i;$$4351$lcssa$i = $$$4351$i; + break; + } else { + $$415$i = $$4357$$4$i;$$435114$i = $$$4351$i;$$435713$i = $342; + label = 85; + } + } + } + $344 = ($$4$lcssa$i|0)==(0|0); + if ($344) { + $$0197 = $249; + } else { + $345 = HEAP32[(338616)>>2]|0; + $346 = (($345) - ($249))|0; + $347 = ($$4351$lcssa$i>>>0)<($346>>>0); + if ($347) { + $348 = HEAP32[(338624)>>2]|0; + $349 = ($$4$lcssa$i>>>0)<($348>>>0); + if ($349) { + _abort(); + // unreachable; + } + $350 = (($$4$lcssa$i) + ($249)|0); + $351 = ($$4$lcssa$i>>>0)<($350>>>0); + if (!($351)) { + _abort(); + // unreachable; + } + $352 = ((($$4$lcssa$i)) + 24|0); + $353 = HEAP32[$352>>2]|0; + $354 = ((($$4$lcssa$i)) + 12|0); + $355 = HEAP32[$354>>2]|0; + $356 = ($355|0)==($$4$lcssa$i|0); + do { + if ($356) { + $366 = ((($$4$lcssa$i)) + 20|0); + $367 = HEAP32[$366>>2]|0; + $368 = ($367|0)==(0|0); + if ($368) { + $369 = ((($$4$lcssa$i)) + 16|0); + $370 = HEAP32[$369>>2]|0; + $371 = ($370|0)==(0|0); + if ($371) { + $$3372$i = 0; + break; + } else { + $$1370$i = $370;$$1374$i = $369; + } + } else { + $$1370$i = $367;$$1374$i = $366; + } + while(1) { + $372 = ((($$1370$i)) + 20|0); + $373 = HEAP32[$372>>2]|0; + $374 = ($373|0)==(0|0); + if (!($374)) { + $$1370$i = $373;$$1374$i = $372; + continue; + } + $375 = ((($$1370$i)) + 16|0); + $376 = HEAP32[$375>>2]|0; + $377 = ($376|0)==(0|0); + if ($377) { + break; + } else { + $$1370$i = $376;$$1374$i = $375; + } + } + $378 = ($$1374$i>>>0)<($348>>>0); + if ($378) { + _abort(); + // unreachable; + } else { + HEAP32[$$1374$i>>2] = 0; + $$3372$i = $$1370$i; + break; + } + } else { + $357 = ((($$4$lcssa$i)) + 8|0); + $358 = HEAP32[$357>>2]|0; + $359 = ($358>>>0)<($348>>>0); + if ($359) { + _abort(); + // unreachable; + } + $360 = ((($358)) + 12|0); + $361 = HEAP32[$360>>2]|0; + $362 = ($361|0)==($$4$lcssa$i|0); + if (!($362)) { + _abort(); + // unreachable; + } + $363 = ((($355)) + 8|0); + $364 = HEAP32[$363>>2]|0; + $365 = ($364|0)==($$4$lcssa$i|0); + if ($365) { + HEAP32[$360>>2] = $355; + HEAP32[$363>>2] = $358; + $$3372$i = $355; + break; + } else { + _abort(); + // unreachable; + } + } + } while(0); + $379 = ($353|0)==(0|0); + L164: do { + if ($379) { + $470 = $250; + } else { + $380 = ((($$4$lcssa$i)) + 28|0); + $381 = HEAP32[$380>>2]|0; + $382 = (338912 + ($381<<2)|0); + $383 = HEAP32[$382>>2]|0; + $384 = ($$4$lcssa$i|0)==($383|0); + do { + if ($384) { + HEAP32[$382>>2] = $$3372$i; + $cond$i208 = ($$3372$i|0)==(0|0); + if ($cond$i208) { + $385 = 1 << $381; + $386 = $385 ^ -1; + $387 = $250 & $386; + HEAP32[(338612)>>2] = $387; + $470 = $387; + break L164; + } + } else { + $388 = HEAP32[(338624)>>2]|0; + $389 = ($353>>>0)<($388>>>0); + if ($389) { + _abort(); + // unreachable; + } else { + $390 = ((($353)) + 16|0); + $391 = HEAP32[$390>>2]|0; + $not$$i209 = ($391|0)!=($$4$lcssa$i|0); + $$sink3$i = $not$$i209&1; + $392 = (((($353)) + 16|0) + ($$sink3$i<<2)|0); + HEAP32[$392>>2] = $$3372$i; + $393 = ($$3372$i|0)==(0|0); + if ($393) { + $470 = $250; + break L164; + } else { + break; + } + } + } + } while(0); + $394 = HEAP32[(338624)>>2]|0; + $395 = ($$3372$i>>>0)<($394>>>0); + if ($395) { + _abort(); + // unreachable; + } + $396 = ((($$3372$i)) + 24|0); + HEAP32[$396>>2] = $353; + $397 = ((($$4$lcssa$i)) + 16|0); + $398 = HEAP32[$397>>2]|0; + $399 = ($398|0)==(0|0); + do { + if (!($399)) { + $400 = ($398>>>0)<($394>>>0); + if ($400) { + _abort(); + // unreachable; + } else { + $401 = ((($$3372$i)) + 16|0); + HEAP32[$401>>2] = $398; + $402 = ((($398)) + 24|0); + HEAP32[$402>>2] = $$3372$i; + break; + } + } + } while(0); + $403 = ((($$4$lcssa$i)) + 20|0); + $404 = HEAP32[$403>>2]|0; + $405 = ($404|0)==(0|0); + if ($405) { + $470 = $250; + } else { + $406 = HEAP32[(338624)>>2]|0; + $407 = ($404>>>0)<($406>>>0); + if ($407) { + _abort(); + // unreachable; + } else { + $408 = ((($$3372$i)) + 20|0); + HEAP32[$408>>2] = $404; + $409 = ((($404)) + 24|0); + HEAP32[$409>>2] = $$3372$i; + $470 = $250; + break; + } + } + } + } while(0); + $410 = ($$4351$lcssa$i>>>0)<(16); + do { + if ($410) { + $411 = (($$4351$lcssa$i) + ($249))|0; + $412 = $411 | 3; + $413 = ((($$4$lcssa$i)) + 4|0); + HEAP32[$413>>2] = $412; + $414 = (($$4$lcssa$i) + ($411)|0); + $415 = ((($414)) + 4|0); + $416 = HEAP32[$415>>2]|0; + $417 = $416 | 1; + HEAP32[$415>>2] = $417; + } else { + $418 = $249 | 3; + $419 = ((($$4$lcssa$i)) + 4|0); + HEAP32[$419>>2] = $418; + $420 = $$4351$lcssa$i | 1; + $421 = ((($350)) + 4|0); + HEAP32[$421>>2] = $420; + $422 = (($350) + ($$4351$lcssa$i)|0); + HEAP32[$422>>2] = $$4351$lcssa$i; + $423 = $$4351$lcssa$i >>> 3; + $424 = ($$4351$lcssa$i>>>0)<(256); + if ($424) { + $425 = $423 << 1; + $426 = (338648 + ($425<<2)|0); + $427 = HEAP32[84652]|0; + $428 = 1 << $423; + $429 = $427 & $428; + $430 = ($429|0)==(0); + if ($430) { + $431 = $427 | $428; + HEAP32[84652] = $431; + $$pre$i210 = ((($426)) + 8|0); + $$0368$i = $426;$$pre$phi$i211Z2D = $$pre$i210; + } else { + $432 = ((($426)) + 8|0); + $433 = HEAP32[$432>>2]|0; + $434 = HEAP32[(338624)>>2]|0; + $435 = ($433>>>0)<($434>>>0); + if ($435) { + _abort(); + // unreachable; + } else { + $$0368$i = $433;$$pre$phi$i211Z2D = $432; + } + } + HEAP32[$$pre$phi$i211Z2D>>2] = $350; + $436 = ((($$0368$i)) + 12|0); + HEAP32[$436>>2] = $350; + $437 = ((($350)) + 8|0); + HEAP32[$437>>2] = $$0368$i; + $438 = ((($350)) + 12|0); + HEAP32[$438>>2] = $426; + break; + } + $439 = $$4351$lcssa$i >>> 8; + $440 = ($439|0)==(0); + if ($440) { + $$0361$i = 0; + } else { + $441 = ($$4351$lcssa$i>>>0)>(16777215); + if ($441) { + $$0361$i = 31; + } else { + $442 = (($439) + 1048320)|0; + $443 = $442 >>> 16; + $444 = $443 & 8; + $445 = $439 << $444; + $446 = (($445) + 520192)|0; + $447 = $446 >>> 16; + $448 = $447 & 4; + $449 = $448 | $444; + $450 = $445 << $448; + $451 = (($450) + 245760)|0; + $452 = $451 >>> 16; + $453 = $452 & 2; + $454 = $449 | $453; + $455 = (14 - ($454))|0; + $456 = $450 << $453; + $457 = $456 >>> 15; + $458 = (($455) + ($457))|0; + $459 = $458 << 1; + $460 = (($458) + 7)|0; + $461 = $$4351$lcssa$i >>> $460; + $462 = $461 & 1; + $463 = $462 | $459; + $$0361$i = $463; + } + } + $464 = (338912 + ($$0361$i<<2)|0); + $465 = ((($350)) + 28|0); + HEAP32[$465>>2] = $$0361$i; + $466 = ((($350)) + 16|0); + $467 = ((($466)) + 4|0); + HEAP32[$467>>2] = 0; + HEAP32[$466>>2] = 0; + $468 = 1 << $$0361$i; + $469 = $470 & $468; + $471 = ($469|0)==(0); + if ($471) { + $472 = $470 | $468; + HEAP32[(338612)>>2] = $472; + HEAP32[$464>>2] = $350; + $473 = ((($350)) + 24|0); + HEAP32[$473>>2] = $464; + $474 = ((($350)) + 12|0); + HEAP32[$474>>2] = $350; + $475 = ((($350)) + 8|0); + HEAP32[$475>>2] = $350; + break; + } + $476 = HEAP32[$464>>2]|0; + $477 = ($$0361$i|0)==(31); + $478 = $$0361$i >>> 1; + $479 = (25 - ($478))|0; + $480 = $477 ? 0 : $479; + $481 = $$4351$lcssa$i << $480; + $$0344$i = $481;$$0345$i = $476; + while(1) { + $482 = ((($$0345$i)) + 4|0); + $483 = HEAP32[$482>>2]|0; + $484 = $483 & -8; + $485 = ($484|0)==($$4351$lcssa$i|0); + if ($485) { + label = 139; + break; + } + $486 = $$0344$i >>> 31; + $487 = (((($$0345$i)) + 16|0) + ($486<<2)|0); + $488 = $$0344$i << 1; + $489 = HEAP32[$487>>2]|0; + $490 = ($489|0)==(0|0); + if ($490) { + label = 136; + break; + } else { + $$0344$i = $488;$$0345$i = $489; + } + } + if ((label|0) == 136) { + $491 = HEAP32[(338624)>>2]|0; + $492 = ($487>>>0)<($491>>>0); + if ($492) { + _abort(); + // unreachable; + } else { + HEAP32[$487>>2] = $350; + $493 = ((($350)) + 24|0); + HEAP32[$493>>2] = $$0345$i; + $494 = ((($350)) + 12|0); + HEAP32[$494>>2] = $350; + $495 = ((($350)) + 8|0); + HEAP32[$495>>2] = $350; + break; + } + } + else if ((label|0) == 139) { + $496 = ((($$0345$i)) + 8|0); + $497 = HEAP32[$496>>2]|0; + $498 = HEAP32[(338624)>>2]|0; + $499 = ($497>>>0)>=($498>>>0); + $not$9$i = ($$0345$i>>>0)>=($498>>>0); + $500 = $499 & $not$9$i; + if ($500) { + $501 = ((($497)) + 12|0); + HEAP32[$501>>2] = $350; + HEAP32[$496>>2] = $350; + $502 = ((($350)) + 8|0); + HEAP32[$502>>2] = $497; + $503 = ((($350)) + 12|0); + HEAP32[$503>>2] = $$0345$i; + $504 = ((($350)) + 24|0); + HEAP32[$504>>2] = 0; + break; + } else { + _abort(); + // unreachable; + } + } + } + } while(0); + $505 = ((($$4$lcssa$i)) + 8|0); + $$0 = $505; + STACKTOP = sp;return ($$0|0); + } else { + $$0197 = $249; + } + } + } + } + } + } while(0); + $506 = HEAP32[(338616)>>2]|0; + $507 = ($506>>>0)<($$0197>>>0); + if (!($507)) { + $508 = (($506) - ($$0197))|0; + $509 = HEAP32[(338628)>>2]|0; + $510 = ($508>>>0)>(15); + if ($510) { + $511 = (($509) + ($$0197)|0); + HEAP32[(338628)>>2] = $511; + HEAP32[(338616)>>2] = $508; + $512 = $508 | 1; + $513 = ((($511)) + 4|0); + HEAP32[$513>>2] = $512; + $514 = (($511) + ($508)|0); + HEAP32[$514>>2] = $508; + $515 = $$0197 | 3; + $516 = ((($509)) + 4|0); + HEAP32[$516>>2] = $515; + } else { + HEAP32[(338616)>>2] = 0; + HEAP32[(338628)>>2] = 0; + $517 = $506 | 3; + $518 = ((($509)) + 4|0); + HEAP32[$518>>2] = $517; + $519 = (($509) + ($506)|0); + $520 = ((($519)) + 4|0); + $521 = HEAP32[$520>>2]|0; + $522 = $521 | 1; + HEAP32[$520>>2] = $522; + } + $523 = ((($509)) + 8|0); + $$0 = $523; + STACKTOP = sp;return ($$0|0); + } + $524 = HEAP32[(338620)>>2]|0; + $525 = ($524>>>0)>($$0197>>>0); + if ($525) { + $526 = (($524) - ($$0197))|0; + HEAP32[(338620)>>2] = $526; + $527 = HEAP32[(338632)>>2]|0; + $528 = (($527) + ($$0197)|0); + HEAP32[(338632)>>2] = $528; + $529 = $526 | 1; + $530 = ((($528)) + 4|0); + HEAP32[$530>>2] = $529; + $531 = $$0197 | 3; + $532 = ((($527)) + 4|0); + HEAP32[$532>>2] = $531; + $533 = ((($527)) + 8|0); + $$0 = $533; + STACKTOP = sp;return ($$0|0); + } + $534 = HEAP32[84770]|0; + $535 = ($534|0)==(0); + if ($535) { + HEAP32[(339088)>>2] = 4096; + HEAP32[(339084)>>2] = 4096; + HEAP32[(339092)>>2] = -1; + HEAP32[(339096)>>2] = -1; + HEAP32[(339100)>>2] = 0; + HEAP32[(339052)>>2] = 0; + $536 = $1; + $537 = $536 & -16; + $538 = $537 ^ 1431655768; + HEAP32[$1>>2] = $538; + HEAP32[84770] = $538; + $542 = 4096; + } else { + $$pre$i212 = HEAP32[(339088)>>2]|0; + $542 = $$pre$i212; + } + $539 = (($$0197) + 48)|0; + $540 = (($$0197) + 47)|0; + $541 = (($542) + ($540))|0; + $543 = (0 - ($542))|0; + $544 = $541 & $543; + $545 = ($544>>>0)>($$0197>>>0); + if (!($545)) { + $$0 = 0; + STACKTOP = sp;return ($$0|0); + } + $546 = HEAP32[(339048)>>2]|0; + $547 = ($546|0)==(0); + if (!($547)) { + $548 = HEAP32[(339040)>>2]|0; + $549 = (($548) + ($544))|0; + $550 = ($549>>>0)<=($548>>>0); + $551 = ($549>>>0)>($546>>>0); + $or$cond1$i = $550 | $551; + if ($or$cond1$i) { + $$0 = 0; + STACKTOP = sp;return ($$0|0); + } + } + $552 = HEAP32[(339052)>>2]|0; + $553 = $552 & 4; + $554 = ($553|0)==(0); + L244: do { + if ($554) { + $555 = HEAP32[(338632)>>2]|0; + $556 = ($555|0)==(0|0); + L246: do { + if ($556) { + label = 163; + } else { + $$0$i$i = (339056); + while(1) { + $557 = HEAP32[$$0$i$i>>2]|0; + $558 = ($557>>>0)>($555>>>0); + if (!($558)) { + $559 = ((($$0$i$i)) + 4|0); + $560 = HEAP32[$559>>2]|0; + $561 = (($557) + ($560)|0); + $562 = ($561>>>0)>($555>>>0); + if ($562) { + break; + } + } + $563 = ((($$0$i$i)) + 8|0); + $564 = HEAP32[$563>>2]|0; + $565 = ($564|0)==(0|0); + if ($565) { + label = 163; + break L246; + } else { + $$0$i$i = $564; + } + } + $588 = (($541) - ($524))|0; + $589 = $588 & $543; + $590 = ($589>>>0)<(2147483647); + if ($590) { + $591 = (_sbrk(($589|0))|0); + $592 = HEAP32[$$0$i$i>>2]|0; + $593 = HEAP32[$559>>2]|0; + $594 = (($592) + ($593)|0); + $595 = ($591|0)==($594|0); + if ($595) { + $596 = ($591|0)==((-1)|0); + if ($596) { + $$2234253237$i = $589; + } else { + $$723948$i = $589;$$749$i = $591; + label = 180; + break L244; + } + } else { + $$2247$ph$i = $591;$$2253$ph$i = $589; + label = 171; + } + } else { + $$2234253237$i = 0; + } + } + } while(0); + do { + if ((label|0) == 163) { + $566 = (_sbrk(0)|0); + $567 = ($566|0)==((-1)|0); + if ($567) { + $$2234253237$i = 0; + } else { + $568 = $566; + $569 = HEAP32[(339084)>>2]|0; + $570 = (($569) + -1)|0; + $571 = $570 & $568; + $572 = ($571|0)==(0); + $573 = (($570) + ($568))|0; + $574 = (0 - ($569))|0; + $575 = $573 & $574; + $576 = (($575) - ($568))|0; + $577 = $572 ? 0 : $576; + $$$i = (($577) + ($544))|0; + $578 = HEAP32[(339040)>>2]|0; + $579 = (($$$i) + ($578))|0; + $580 = ($$$i>>>0)>($$0197>>>0); + $581 = ($$$i>>>0)<(2147483647); + $or$cond$i214 = $580 & $581; + if ($or$cond$i214) { + $582 = HEAP32[(339048)>>2]|0; + $583 = ($582|0)==(0); + if (!($583)) { + $584 = ($579>>>0)<=($578>>>0); + $585 = ($579>>>0)>($582>>>0); + $or$cond2$i215 = $584 | $585; + if ($or$cond2$i215) { + $$2234253237$i = 0; + break; + } + } + $586 = (_sbrk(($$$i|0))|0); + $587 = ($586|0)==($566|0); + if ($587) { + $$723948$i = $$$i;$$749$i = $566; + label = 180; + break L244; + } else { + $$2247$ph$i = $586;$$2253$ph$i = $$$i; + label = 171; + } + } else { + $$2234253237$i = 0; + } + } + } + } while(0); + do { + if ((label|0) == 171) { + $597 = (0 - ($$2253$ph$i))|0; + $598 = ($$2247$ph$i|0)!=((-1)|0); + $599 = ($$2253$ph$i>>>0)<(2147483647); + $or$cond7$i = $599 & $598; + $600 = ($539>>>0)>($$2253$ph$i>>>0); + $or$cond10$i = $600 & $or$cond7$i; + if (!($or$cond10$i)) { + $610 = ($$2247$ph$i|0)==((-1)|0); + if ($610) { + $$2234253237$i = 0; + break; + } else { + $$723948$i = $$2253$ph$i;$$749$i = $$2247$ph$i; + label = 180; + break L244; + } + } + $601 = HEAP32[(339088)>>2]|0; + $602 = (($540) - ($$2253$ph$i))|0; + $603 = (($602) + ($601))|0; + $604 = (0 - ($601))|0; + $605 = $603 & $604; + $606 = ($605>>>0)<(2147483647); + if (!($606)) { + $$723948$i = $$2253$ph$i;$$749$i = $$2247$ph$i; + label = 180; + break L244; + } + $607 = (_sbrk(($605|0))|0); + $608 = ($607|0)==((-1)|0); + if ($608) { + (_sbrk(($597|0))|0); + $$2234253237$i = 0; + break; + } else { + $609 = (($605) + ($$2253$ph$i))|0; + $$723948$i = $609;$$749$i = $$2247$ph$i; + label = 180; + break L244; + } + } + } while(0); + $611 = HEAP32[(339052)>>2]|0; + $612 = $611 | 4; + HEAP32[(339052)>>2] = $612; + $$4236$i = $$2234253237$i; + label = 178; + } else { + $$4236$i = 0; + label = 178; + } + } while(0); + if ((label|0) == 178) { + $613 = ($544>>>0)<(2147483647); + if ($613) { + $614 = (_sbrk(($544|0))|0); + $615 = (_sbrk(0)|0); + $616 = ($614|0)!=((-1)|0); + $617 = ($615|0)!=((-1)|0); + $or$cond5$i = $616 & $617; + $618 = ($614>>>0)<($615>>>0); + $or$cond11$i = $618 & $or$cond5$i; + $619 = $615; + $620 = $614; + $621 = (($619) - ($620))|0; + $622 = (($$0197) + 40)|0; + $623 = ($621>>>0)>($622>>>0); + $$$4236$i = $623 ? $621 : $$4236$i; + $or$cond11$not$i = $or$cond11$i ^ 1; + $624 = ($614|0)==((-1)|0); + $not$$i216 = $623 ^ 1; + $625 = $624 | $not$$i216; + $or$cond50$i = $625 | $or$cond11$not$i; + if (!($or$cond50$i)) { + $$723948$i = $$$4236$i;$$749$i = $614; + label = 180; + } + } + } + if ((label|0) == 180) { + $626 = HEAP32[(339040)>>2]|0; + $627 = (($626) + ($$723948$i))|0; + HEAP32[(339040)>>2] = $627; + $628 = HEAP32[(339044)>>2]|0; + $629 = ($627>>>0)>($628>>>0); + if ($629) { + HEAP32[(339044)>>2] = $627; + } + $630 = HEAP32[(338632)>>2]|0; + $631 = ($630|0)==(0|0); + do { + if ($631) { + $632 = HEAP32[(338624)>>2]|0; + $633 = ($632|0)==(0|0); + $634 = ($$749$i>>>0)<($632>>>0); + $or$cond12$i = $633 | $634; + if ($or$cond12$i) { + HEAP32[(338624)>>2] = $$749$i; + } + HEAP32[(339056)>>2] = $$749$i; + HEAP32[(339060)>>2] = $$723948$i; + HEAP32[(339068)>>2] = 0; + $635 = HEAP32[84770]|0; + HEAP32[(338644)>>2] = $635; + HEAP32[(338640)>>2] = -1; + $$01$i$i = 0; + while(1) { + $636 = $$01$i$i << 1; + $637 = (338648 + ($636<<2)|0); + $638 = ((($637)) + 12|0); + HEAP32[$638>>2] = $637; + $639 = ((($637)) + 8|0); + HEAP32[$639>>2] = $637; + $640 = (($$01$i$i) + 1)|0; + $exitcond$i$i = ($640|0)==(32); + if ($exitcond$i$i) { + break; + } else { + $$01$i$i = $640; + } + } + $641 = (($$723948$i) + -40)|0; + $642 = ((($$749$i)) + 8|0); + $643 = $642; + $644 = $643 & 7; + $645 = ($644|0)==(0); + $646 = (0 - ($643))|0; + $647 = $646 & 7; + $648 = $645 ? 0 : $647; + $649 = (($$749$i) + ($648)|0); + $650 = (($641) - ($648))|0; + HEAP32[(338632)>>2] = $649; + HEAP32[(338620)>>2] = $650; + $651 = $650 | 1; + $652 = ((($649)) + 4|0); + HEAP32[$652>>2] = $651; + $653 = (($649) + ($650)|0); + $654 = ((($653)) + 4|0); + HEAP32[$654>>2] = 40; + $655 = HEAP32[(339096)>>2]|0; + HEAP32[(338636)>>2] = $655; + } else { + $$024371$i = (339056); + while(1) { + $656 = HEAP32[$$024371$i>>2]|0; + $657 = ((($$024371$i)) + 4|0); + $658 = HEAP32[$657>>2]|0; + $659 = (($656) + ($658)|0); + $660 = ($$749$i|0)==($659|0); + if ($660) { + label = 190; + break; + } + $661 = ((($$024371$i)) + 8|0); + $662 = HEAP32[$661>>2]|0; + $663 = ($662|0)==(0|0); + if ($663) { + break; + } else { + $$024371$i = $662; + } + } + if ((label|0) == 190) { + $664 = ((($$024371$i)) + 12|0); + $665 = HEAP32[$664>>2]|0; + $666 = $665 & 8; + $667 = ($666|0)==(0); + if ($667) { + $668 = ($630>>>0)>=($656>>>0); + $669 = ($630>>>0)<($$749$i>>>0); + $or$cond51$i = $669 & $668; + if ($or$cond51$i) { + $670 = (($658) + ($$723948$i))|0; + HEAP32[$657>>2] = $670; + $671 = HEAP32[(338620)>>2]|0; + $672 = ((($630)) + 8|0); + $673 = $672; + $674 = $673 & 7; + $675 = ($674|0)==(0); + $676 = (0 - ($673))|0; + $677 = $676 & 7; + $678 = $675 ? 0 : $677; + $679 = (($630) + ($678)|0); + $680 = (($$723948$i) - ($678))|0; + $681 = (($671) + ($680))|0; + HEAP32[(338632)>>2] = $679; + HEAP32[(338620)>>2] = $681; + $682 = $681 | 1; + $683 = ((($679)) + 4|0); + HEAP32[$683>>2] = $682; + $684 = (($679) + ($681)|0); + $685 = ((($684)) + 4|0); + HEAP32[$685>>2] = 40; + $686 = HEAP32[(339096)>>2]|0; + HEAP32[(338636)>>2] = $686; + break; + } + } + } + $687 = HEAP32[(338624)>>2]|0; + $688 = ($$749$i>>>0)<($687>>>0); + if ($688) { + HEAP32[(338624)>>2] = $$749$i; + $752 = $$749$i; + } else { + $752 = $687; + } + $689 = (($$749$i) + ($$723948$i)|0); + $$124470$i = (339056); + while(1) { + $690 = HEAP32[$$124470$i>>2]|0; + $691 = ($690|0)==($689|0); + if ($691) { + label = 198; + break; + } + $692 = ((($$124470$i)) + 8|0); + $693 = HEAP32[$692>>2]|0; + $694 = ($693|0)==(0|0); + if ($694) { + break; + } else { + $$124470$i = $693; + } + } + if ((label|0) == 198) { + $695 = ((($$124470$i)) + 12|0); + $696 = HEAP32[$695>>2]|0; + $697 = $696 & 8; + $698 = ($697|0)==(0); + if ($698) { + HEAP32[$$124470$i>>2] = $$749$i; + $699 = ((($$124470$i)) + 4|0); + $700 = HEAP32[$699>>2]|0; + $701 = (($700) + ($$723948$i))|0; + HEAP32[$699>>2] = $701; + $702 = ((($$749$i)) + 8|0); + $703 = $702; + $704 = $703 & 7; + $705 = ($704|0)==(0); + $706 = (0 - ($703))|0; + $707 = $706 & 7; + $708 = $705 ? 0 : $707; + $709 = (($$749$i) + ($708)|0); + $710 = ((($689)) + 8|0); + $711 = $710; + $712 = $711 & 7; + $713 = ($712|0)==(0); + $714 = (0 - ($711))|0; + $715 = $714 & 7; + $716 = $713 ? 0 : $715; + $717 = (($689) + ($716)|0); + $718 = $717; + $719 = $709; + $720 = (($718) - ($719))|0; + $721 = (($709) + ($$0197)|0); + $722 = (($720) - ($$0197))|0; + $723 = $$0197 | 3; + $724 = ((($709)) + 4|0); + HEAP32[$724>>2] = $723; + $725 = ($717|0)==($630|0); + do { + if ($725) { + $726 = HEAP32[(338620)>>2]|0; + $727 = (($726) + ($722))|0; + HEAP32[(338620)>>2] = $727; + HEAP32[(338632)>>2] = $721; + $728 = $727 | 1; + $729 = ((($721)) + 4|0); + HEAP32[$729>>2] = $728; + } else { + $730 = HEAP32[(338628)>>2]|0; + $731 = ($717|0)==($730|0); + if ($731) { + $732 = HEAP32[(338616)>>2]|0; + $733 = (($732) + ($722))|0; + HEAP32[(338616)>>2] = $733; + HEAP32[(338628)>>2] = $721; + $734 = $733 | 1; + $735 = ((($721)) + 4|0); + HEAP32[$735>>2] = $734; + $736 = (($721) + ($733)|0); + HEAP32[$736>>2] = $733; + break; + } + $737 = ((($717)) + 4|0); + $738 = HEAP32[$737>>2]|0; + $739 = $738 & 3; + $740 = ($739|0)==(1); + if ($740) { + $741 = $738 & -8; + $742 = $738 >>> 3; + $743 = ($738>>>0)<(256); + L314: do { + if ($743) { + $744 = ((($717)) + 8|0); + $745 = HEAP32[$744>>2]|0; + $746 = ((($717)) + 12|0); + $747 = HEAP32[$746>>2]|0; + $748 = $742 << 1; + $749 = (338648 + ($748<<2)|0); + $750 = ($745|0)==($749|0); + do { + if (!($750)) { + $751 = ($745>>>0)<($752>>>0); + if ($751) { + _abort(); + // unreachable; + } + $753 = ((($745)) + 12|0); + $754 = HEAP32[$753>>2]|0; + $755 = ($754|0)==($717|0); + if ($755) { + break; + } + _abort(); + // unreachable; + } + } while(0); + $756 = ($747|0)==($745|0); + if ($756) { + $757 = 1 << $742; + $758 = $757 ^ -1; + $759 = HEAP32[84652]|0; + $760 = $759 & $758; + HEAP32[84652] = $760; + break; + } + $761 = ($747|0)==($749|0); + do { + if ($761) { + $$pre10$i$i = ((($747)) + 8|0); + $$pre$phi11$i$iZ2D = $$pre10$i$i; + } else { + $762 = ($747>>>0)<($752>>>0); + if ($762) { + _abort(); + // unreachable; + } + $763 = ((($747)) + 8|0); + $764 = HEAP32[$763>>2]|0; + $765 = ($764|0)==($717|0); + if ($765) { + $$pre$phi11$i$iZ2D = $763; + break; + } + _abort(); + // unreachable; + } + } while(0); + $766 = ((($745)) + 12|0); + HEAP32[$766>>2] = $747; + HEAP32[$$pre$phi11$i$iZ2D>>2] = $745; + } else { + $767 = ((($717)) + 24|0); + $768 = HEAP32[$767>>2]|0; + $769 = ((($717)) + 12|0); + $770 = HEAP32[$769>>2]|0; + $771 = ($770|0)==($717|0); + do { + if ($771) { + $781 = ((($717)) + 16|0); + $782 = ((($781)) + 4|0); + $783 = HEAP32[$782>>2]|0; + $784 = ($783|0)==(0|0); + if ($784) { + $785 = HEAP32[$781>>2]|0; + $786 = ($785|0)==(0|0); + if ($786) { + $$3$i$i = 0; + break; + } else { + $$1291$i$i = $785;$$1293$i$i = $781; + } + } else { + $$1291$i$i = $783;$$1293$i$i = $782; + } + while(1) { + $787 = ((($$1291$i$i)) + 20|0); + $788 = HEAP32[$787>>2]|0; + $789 = ($788|0)==(0|0); + if (!($789)) { + $$1291$i$i = $788;$$1293$i$i = $787; + continue; + } + $790 = ((($$1291$i$i)) + 16|0); + $791 = HEAP32[$790>>2]|0; + $792 = ($791|0)==(0|0); + if ($792) { + break; + } else { + $$1291$i$i = $791;$$1293$i$i = $790; + } + } + $793 = ($$1293$i$i>>>0)<($752>>>0); + if ($793) { + _abort(); + // unreachable; + } else { + HEAP32[$$1293$i$i>>2] = 0; + $$3$i$i = $$1291$i$i; + break; + } + } else { + $772 = ((($717)) + 8|0); + $773 = HEAP32[$772>>2]|0; + $774 = ($773>>>0)<($752>>>0); + if ($774) { + _abort(); + // unreachable; + } + $775 = ((($773)) + 12|0); + $776 = HEAP32[$775>>2]|0; + $777 = ($776|0)==($717|0); + if (!($777)) { + _abort(); + // unreachable; + } + $778 = ((($770)) + 8|0); + $779 = HEAP32[$778>>2]|0; + $780 = ($779|0)==($717|0); + if ($780) { + HEAP32[$775>>2] = $770; + HEAP32[$778>>2] = $773; + $$3$i$i = $770; + break; + } else { + _abort(); + // unreachable; + } + } + } while(0); + $794 = ($768|0)==(0|0); + if ($794) { + break; + } + $795 = ((($717)) + 28|0); + $796 = HEAP32[$795>>2]|0; + $797 = (338912 + ($796<<2)|0); + $798 = HEAP32[$797>>2]|0; + $799 = ($717|0)==($798|0); + do { + if ($799) { + HEAP32[$797>>2] = $$3$i$i; + $cond$i$i = ($$3$i$i|0)==(0|0); + if (!($cond$i$i)) { + break; + } + $800 = 1 << $796; + $801 = $800 ^ -1; + $802 = HEAP32[(338612)>>2]|0; + $803 = $802 & $801; + HEAP32[(338612)>>2] = $803; + break L314; + } else { + $804 = HEAP32[(338624)>>2]|0; + $805 = ($768>>>0)<($804>>>0); + if ($805) { + _abort(); + // unreachable; + } else { + $806 = ((($768)) + 16|0); + $807 = HEAP32[$806>>2]|0; + $not$$i17$i = ($807|0)!=($717|0); + $$sink1$i$i = $not$$i17$i&1; + $808 = (((($768)) + 16|0) + ($$sink1$i$i<<2)|0); + HEAP32[$808>>2] = $$3$i$i; + $809 = ($$3$i$i|0)==(0|0); + if ($809) { + break L314; + } else { + break; + } + } + } + } while(0); + $810 = HEAP32[(338624)>>2]|0; + $811 = ($$3$i$i>>>0)<($810>>>0); + if ($811) { + _abort(); + // unreachable; + } + $812 = ((($$3$i$i)) + 24|0); + HEAP32[$812>>2] = $768; + $813 = ((($717)) + 16|0); + $814 = HEAP32[$813>>2]|0; + $815 = ($814|0)==(0|0); + do { + if (!($815)) { + $816 = ($814>>>0)<($810>>>0); + if ($816) { + _abort(); + // unreachable; + } else { + $817 = ((($$3$i$i)) + 16|0); + HEAP32[$817>>2] = $814; + $818 = ((($814)) + 24|0); + HEAP32[$818>>2] = $$3$i$i; + break; + } + } + } while(0); + $819 = ((($813)) + 4|0); + $820 = HEAP32[$819>>2]|0; + $821 = ($820|0)==(0|0); + if ($821) { + break; + } + $822 = HEAP32[(338624)>>2]|0; + $823 = ($820>>>0)<($822>>>0); + if ($823) { + _abort(); + // unreachable; + } else { + $824 = ((($$3$i$i)) + 20|0); + HEAP32[$824>>2] = $820; + $825 = ((($820)) + 24|0); + HEAP32[$825>>2] = $$3$i$i; + break; + } + } + } while(0); + $826 = (($717) + ($741)|0); + $827 = (($741) + ($722))|0; + $$0$i18$i = $826;$$0287$i$i = $827; + } else { + $$0$i18$i = $717;$$0287$i$i = $722; + } + $828 = ((($$0$i18$i)) + 4|0); + $829 = HEAP32[$828>>2]|0; + $830 = $829 & -2; + HEAP32[$828>>2] = $830; + $831 = $$0287$i$i | 1; + $832 = ((($721)) + 4|0); + HEAP32[$832>>2] = $831; + $833 = (($721) + ($$0287$i$i)|0); + HEAP32[$833>>2] = $$0287$i$i; + $834 = $$0287$i$i >>> 3; + $835 = ($$0287$i$i>>>0)<(256); + if ($835) { + $836 = $834 << 1; + $837 = (338648 + ($836<<2)|0); + $838 = HEAP32[84652]|0; + $839 = 1 << $834; + $840 = $838 & $839; + $841 = ($840|0)==(0); + do { + if ($841) { + $842 = $838 | $839; + HEAP32[84652] = $842; + $$pre$i19$i = ((($837)) + 8|0); + $$0295$i$i = $837;$$pre$phi$i20$iZ2D = $$pre$i19$i; + } else { + $843 = ((($837)) + 8|0); + $844 = HEAP32[$843>>2]|0; + $845 = HEAP32[(338624)>>2]|0; + $846 = ($844>>>0)<($845>>>0); + if (!($846)) { + $$0295$i$i = $844;$$pre$phi$i20$iZ2D = $843; + break; + } + _abort(); + // unreachable; + } + } while(0); + HEAP32[$$pre$phi$i20$iZ2D>>2] = $721; + $847 = ((($$0295$i$i)) + 12|0); + HEAP32[$847>>2] = $721; + $848 = ((($721)) + 8|0); + HEAP32[$848>>2] = $$0295$i$i; + $849 = ((($721)) + 12|0); + HEAP32[$849>>2] = $837; + break; + } + $850 = $$0287$i$i >>> 8; + $851 = ($850|0)==(0); + do { + if ($851) { + $$0296$i$i = 0; + } else { + $852 = ($$0287$i$i>>>0)>(16777215); + if ($852) { + $$0296$i$i = 31; + break; + } + $853 = (($850) + 1048320)|0; + $854 = $853 >>> 16; + $855 = $854 & 8; + $856 = $850 << $855; + $857 = (($856) + 520192)|0; + $858 = $857 >>> 16; + $859 = $858 & 4; + $860 = $859 | $855; + $861 = $856 << $859; + $862 = (($861) + 245760)|0; + $863 = $862 >>> 16; + $864 = $863 & 2; + $865 = $860 | $864; + $866 = (14 - ($865))|0; + $867 = $861 << $864; + $868 = $867 >>> 15; + $869 = (($866) + ($868))|0; + $870 = $869 << 1; + $871 = (($869) + 7)|0; + $872 = $$0287$i$i >>> $871; + $873 = $872 & 1; + $874 = $873 | $870; + $$0296$i$i = $874; + } + } while(0); + $875 = (338912 + ($$0296$i$i<<2)|0); + $876 = ((($721)) + 28|0); + HEAP32[$876>>2] = $$0296$i$i; + $877 = ((($721)) + 16|0); + $878 = ((($877)) + 4|0); + HEAP32[$878>>2] = 0; + HEAP32[$877>>2] = 0; + $879 = HEAP32[(338612)>>2]|0; + $880 = 1 << $$0296$i$i; + $881 = $879 & $880; + $882 = ($881|0)==(0); + if ($882) { + $883 = $879 | $880; + HEAP32[(338612)>>2] = $883; + HEAP32[$875>>2] = $721; + $884 = ((($721)) + 24|0); + HEAP32[$884>>2] = $875; + $885 = ((($721)) + 12|0); + HEAP32[$885>>2] = $721; + $886 = ((($721)) + 8|0); + HEAP32[$886>>2] = $721; + break; + } + $887 = HEAP32[$875>>2]|0; + $888 = ($$0296$i$i|0)==(31); + $889 = $$0296$i$i >>> 1; + $890 = (25 - ($889))|0; + $891 = $888 ? 0 : $890; + $892 = $$0287$i$i << $891; + $$0288$i$i = $892;$$0289$i$i = $887; + while(1) { + $893 = ((($$0289$i$i)) + 4|0); + $894 = HEAP32[$893>>2]|0; + $895 = $894 & -8; + $896 = ($895|0)==($$0287$i$i|0); + if ($896) { + label = 265; + break; + } + $897 = $$0288$i$i >>> 31; + $898 = (((($$0289$i$i)) + 16|0) + ($897<<2)|0); + $899 = $$0288$i$i << 1; + $900 = HEAP32[$898>>2]|0; + $901 = ($900|0)==(0|0); + if ($901) { + label = 262; + break; + } else { + $$0288$i$i = $899;$$0289$i$i = $900; + } + } + if ((label|0) == 262) { + $902 = HEAP32[(338624)>>2]|0; + $903 = ($898>>>0)<($902>>>0); + if ($903) { + _abort(); + // unreachable; + } else { + HEAP32[$898>>2] = $721; + $904 = ((($721)) + 24|0); + HEAP32[$904>>2] = $$0289$i$i; + $905 = ((($721)) + 12|0); + HEAP32[$905>>2] = $721; + $906 = ((($721)) + 8|0); + HEAP32[$906>>2] = $721; + break; + } + } + else if ((label|0) == 265) { + $907 = ((($$0289$i$i)) + 8|0); + $908 = HEAP32[$907>>2]|0; + $909 = HEAP32[(338624)>>2]|0; + $910 = ($908>>>0)>=($909>>>0); + $not$7$i$i = ($$0289$i$i>>>0)>=($909>>>0); + $911 = $910 & $not$7$i$i; + if ($911) { + $912 = ((($908)) + 12|0); + HEAP32[$912>>2] = $721; + HEAP32[$907>>2] = $721; + $913 = ((($721)) + 8|0); + HEAP32[$913>>2] = $908; + $914 = ((($721)) + 12|0); + HEAP32[$914>>2] = $$0289$i$i; + $915 = ((($721)) + 24|0); + HEAP32[$915>>2] = 0; + break; + } else { + _abort(); + // unreachable; + } + } + } + } while(0); + $1047 = ((($709)) + 8|0); + $$0 = $1047; + STACKTOP = sp;return ($$0|0); + } + } + $$0$i$i$i = (339056); + while(1) { + $916 = HEAP32[$$0$i$i$i>>2]|0; + $917 = ($916>>>0)>($630>>>0); + if (!($917)) { + $918 = ((($$0$i$i$i)) + 4|0); + $919 = HEAP32[$918>>2]|0; + $920 = (($916) + ($919)|0); + $921 = ($920>>>0)>($630>>>0); + if ($921) { + break; + } + } + $922 = ((($$0$i$i$i)) + 8|0); + $923 = HEAP32[$922>>2]|0; + $$0$i$i$i = $923; + } + $924 = ((($920)) + -47|0); + $925 = ((($924)) + 8|0); + $926 = $925; + $927 = $926 & 7; + $928 = ($927|0)==(0); + $929 = (0 - ($926))|0; + $930 = $929 & 7; + $931 = $928 ? 0 : $930; + $932 = (($924) + ($931)|0); + $933 = ((($630)) + 16|0); + $934 = ($932>>>0)<($933>>>0); + $935 = $934 ? $630 : $932; + $936 = ((($935)) + 8|0); + $937 = ((($935)) + 24|0); + $938 = (($$723948$i) + -40)|0; + $939 = ((($$749$i)) + 8|0); + $940 = $939; + $941 = $940 & 7; + $942 = ($941|0)==(0); + $943 = (0 - ($940))|0; + $944 = $943 & 7; + $945 = $942 ? 0 : $944; + $946 = (($$749$i) + ($945)|0); + $947 = (($938) - ($945))|0; + HEAP32[(338632)>>2] = $946; + HEAP32[(338620)>>2] = $947; + $948 = $947 | 1; + $949 = ((($946)) + 4|0); + HEAP32[$949>>2] = $948; + $950 = (($946) + ($947)|0); + $951 = ((($950)) + 4|0); + HEAP32[$951>>2] = 40; + $952 = HEAP32[(339096)>>2]|0; + HEAP32[(338636)>>2] = $952; + $953 = ((($935)) + 4|0); + HEAP32[$953>>2] = 27; + ;HEAP32[$936>>2]=HEAP32[(339056)>>2]|0;HEAP32[$936+4>>2]=HEAP32[(339056)+4>>2]|0;HEAP32[$936+8>>2]=HEAP32[(339056)+8>>2]|0;HEAP32[$936+12>>2]=HEAP32[(339056)+12>>2]|0; + HEAP32[(339056)>>2] = $$749$i; + HEAP32[(339060)>>2] = $$723948$i; + HEAP32[(339068)>>2] = 0; + HEAP32[(339064)>>2] = $936; + $955 = $937; + while(1) { + $954 = ((($955)) + 4|0); + HEAP32[$954>>2] = 7; + $956 = ((($955)) + 8|0); + $957 = ($956>>>0)<($920>>>0); + if ($957) { + $955 = $954; + } else { + break; + } + } + $958 = ($935|0)==($630|0); + if (!($958)) { + $959 = $935; + $960 = $630; + $961 = (($959) - ($960))|0; + $962 = HEAP32[$953>>2]|0; + $963 = $962 & -2; + HEAP32[$953>>2] = $963; + $964 = $961 | 1; + $965 = ((($630)) + 4|0); + HEAP32[$965>>2] = $964; + HEAP32[$935>>2] = $961; + $966 = $961 >>> 3; + $967 = ($961>>>0)<(256); + if ($967) { + $968 = $966 << 1; + $969 = (338648 + ($968<<2)|0); + $970 = HEAP32[84652]|0; + $971 = 1 << $966; + $972 = $970 & $971; + $973 = ($972|0)==(0); + if ($973) { + $974 = $970 | $971; + HEAP32[84652] = $974; + $$pre$i$i = ((($969)) + 8|0); + $$0211$i$i = $969;$$pre$phi$i$iZ2D = $$pre$i$i; + } else { + $975 = ((($969)) + 8|0); + $976 = HEAP32[$975>>2]|0; + $977 = HEAP32[(338624)>>2]|0; + $978 = ($976>>>0)<($977>>>0); + if ($978) { + _abort(); + // unreachable; + } else { + $$0211$i$i = $976;$$pre$phi$i$iZ2D = $975; + } + } + HEAP32[$$pre$phi$i$iZ2D>>2] = $630; + $979 = ((($$0211$i$i)) + 12|0); + HEAP32[$979>>2] = $630; + $980 = ((($630)) + 8|0); + HEAP32[$980>>2] = $$0211$i$i; + $981 = ((($630)) + 12|0); + HEAP32[$981>>2] = $969; + break; + } + $982 = $961 >>> 8; + $983 = ($982|0)==(0); + if ($983) { + $$0212$i$i = 0; + } else { + $984 = ($961>>>0)>(16777215); + if ($984) { + $$0212$i$i = 31; + } else { + $985 = (($982) + 1048320)|0; + $986 = $985 >>> 16; + $987 = $986 & 8; + $988 = $982 << $987; + $989 = (($988) + 520192)|0; + $990 = $989 >>> 16; + $991 = $990 & 4; + $992 = $991 | $987; + $993 = $988 << $991; + $994 = (($993) + 245760)|0; + $995 = $994 >>> 16; + $996 = $995 & 2; + $997 = $992 | $996; + $998 = (14 - ($997))|0; + $999 = $993 << $996; + $1000 = $999 >>> 15; + $1001 = (($998) + ($1000))|0; + $1002 = $1001 << 1; + $1003 = (($1001) + 7)|0; + $1004 = $961 >>> $1003; + $1005 = $1004 & 1; + $1006 = $1005 | $1002; + $$0212$i$i = $1006; + } + } + $1007 = (338912 + ($$0212$i$i<<2)|0); + $1008 = ((($630)) + 28|0); + HEAP32[$1008>>2] = $$0212$i$i; + $1009 = ((($630)) + 20|0); + HEAP32[$1009>>2] = 0; + HEAP32[$933>>2] = 0; + $1010 = HEAP32[(338612)>>2]|0; + $1011 = 1 << $$0212$i$i; + $1012 = $1010 & $1011; + $1013 = ($1012|0)==(0); + if ($1013) { + $1014 = $1010 | $1011; + HEAP32[(338612)>>2] = $1014; + HEAP32[$1007>>2] = $630; + $1015 = ((($630)) + 24|0); + HEAP32[$1015>>2] = $1007; + $1016 = ((($630)) + 12|0); + HEAP32[$1016>>2] = $630; + $1017 = ((($630)) + 8|0); + HEAP32[$1017>>2] = $630; + break; + } + $1018 = HEAP32[$1007>>2]|0; + $1019 = ($$0212$i$i|0)==(31); + $1020 = $$0212$i$i >>> 1; + $1021 = (25 - ($1020))|0; + $1022 = $1019 ? 0 : $1021; + $1023 = $961 << $1022; + $$0206$i$i = $1023;$$0207$i$i = $1018; + while(1) { + $1024 = ((($$0207$i$i)) + 4|0); + $1025 = HEAP32[$1024>>2]|0; + $1026 = $1025 & -8; + $1027 = ($1026|0)==($961|0); + if ($1027) { + label = 292; + break; + } + $1028 = $$0206$i$i >>> 31; + $1029 = (((($$0207$i$i)) + 16|0) + ($1028<<2)|0); + $1030 = $$0206$i$i << 1; + $1031 = HEAP32[$1029>>2]|0; + $1032 = ($1031|0)==(0|0); + if ($1032) { + label = 289; + break; + } else { + $$0206$i$i = $1030;$$0207$i$i = $1031; + } + } + if ((label|0) == 289) { + $1033 = HEAP32[(338624)>>2]|0; + $1034 = ($1029>>>0)<($1033>>>0); + if ($1034) { + _abort(); + // unreachable; + } else { + HEAP32[$1029>>2] = $630; + $1035 = ((($630)) + 24|0); + HEAP32[$1035>>2] = $$0207$i$i; + $1036 = ((($630)) + 12|0); + HEAP32[$1036>>2] = $630; + $1037 = ((($630)) + 8|0); + HEAP32[$1037>>2] = $630; + break; + } + } + else if ((label|0) == 292) { + $1038 = ((($$0207$i$i)) + 8|0); + $1039 = HEAP32[$1038>>2]|0; + $1040 = HEAP32[(338624)>>2]|0; + $1041 = ($1039>>>0)>=($1040>>>0); + $not$$i$i = ($$0207$i$i>>>0)>=($1040>>>0); + $1042 = $1041 & $not$$i$i; + if ($1042) { + $1043 = ((($1039)) + 12|0); + HEAP32[$1043>>2] = $630; + HEAP32[$1038>>2] = $630; + $1044 = ((($630)) + 8|0); + HEAP32[$1044>>2] = $1039; + $1045 = ((($630)) + 12|0); + HEAP32[$1045>>2] = $$0207$i$i; + $1046 = ((($630)) + 24|0); + HEAP32[$1046>>2] = 0; + break; + } else { + _abort(); + // unreachable; + } + } + } + } + } while(0); + $1048 = HEAP32[(338620)>>2]|0; + $1049 = ($1048>>>0)>($$0197>>>0); + if ($1049) { + $1050 = (($1048) - ($$0197))|0; + HEAP32[(338620)>>2] = $1050; + $1051 = HEAP32[(338632)>>2]|0; + $1052 = (($1051) + ($$0197)|0); + HEAP32[(338632)>>2] = $1052; + $1053 = $1050 | 1; + $1054 = ((($1052)) + 4|0); + HEAP32[$1054>>2] = $1053; + $1055 = $$0197 | 3; + $1056 = ((($1051)) + 4|0); + HEAP32[$1056>>2] = $1055; + $1057 = ((($1051)) + 8|0); + $$0 = $1057; + STACKTOP = sp;return ($$0|0); + } + } + $1058 = (___errno_location()|0); + HEAP32[$1058>>2] = 12; + $$0 = 0; + STACKTOP = sp;return ($$0|0); +} +function _free($0) { + $0 = $0|0; + var $$0212$i = 0, $$0212$in$i = 0, $$0383 = 0, $$0384 = 0, $$0396 = 0, $$0403 = 0, $$1 = 0, $$1382 = 0, $$1387 = 0, $$1390 = 0, $$1398 = 0, $$1402 = 0, $$2 = 0, $$3 = 0, $$3400 = 0, $$pre = 0, $$pre$phi443Z2D = 0, $$pre$phi445Z2D = 0, $$pre$phiZ2D = 0, $$pre442 = 0; + var $$pre444 = 0, $$sink3 = 0, $$sink5 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0; + var $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0; + var $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0; + var $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0; + var $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0; + var $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0; + var $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0; + var $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0; + var $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0; + var $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0; + var $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0; + var $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0; + var $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; + var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0; + var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0; + var $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0; + var $99 = 0, $cond421 = 0, $cond422 = 0, $not$ = 0, $not$405 = 0, $not$437 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ($0|0)==(0|0); + if ($1) { + return; + } + $2 = ((($0)) + -8|0); + $3 = HEAP32[(338624)>>2]|0; + $4 = ($2>>>0)<($3>>>0); + if ($4) { + _abort(); + // unreachable; + } + $5 = ((($0)) + -4|0); + $6 = HEAP32[$5>>2]|0; + $7 = $6 & 3; + $8 = ($7|0)==(1); + if ($8) { + _abort(); + // unreachable; + } + $9 = $6 & -8; + $10 = (($2) + ($9)|0); + $11 = $6 & 1; + $12 = ($11|0)==(0); + L10: do { + if ($12) { + $13 = HEAP32[$2>>2]|0; + $14 = ($7|0)==(0); + if ($14) { + return; + } + $15 = (0 - ($13))|0; + $16 = (($2) + ($15)|0); + $17 = (($13) + ($9))|0; + $18 = ($16>>>0)<($3>>>0); + if ($18) { + _abort(); + // unreachable; + } + $19 = HEAP32[(338628)>>2]|0; + $20 = ($16|0)==($19|0); + if ($20) { + $104 = ((($10)) + 4|0); + $105 = HEAP32[$104>>2]|0; + $106 = $105 & 3; + $107 = ($106|0)==(3); + if (!($107)) { + $$1 = $16;$$1382 = $17;$113 = $16; + break; + } + $108 = (($16) + ($17)|0); + $109 = ((($16)) + 4|0); + $110 = $17 | 1; + $111 = $105 & -2; + HEAP32[(338616)>>2] = $17; + HEAP32[$104>>2] = $111; + HEAP32[$109>>2] = $110; + HEAP32[$108>>2] = $17; + return; + } + $21 = $13 >>> 3; + $22 = ($13>>>0)<(256); + if ($22) { + $23 = ((($16)) + 8|0); + $24 = HEAP32[$23>>2]|0; + $25 = ((($16)) + 12|0); + $26 = HEAP32[$25>>2]|0; + $27 = $21 << 1; + $28 = (338648 + ($27<<2)|0); + $29 = ($24|0)==($28|0); + if (!($29)) { + $30 = ($24>>>0)<($3>>>0); + if ($30) { + _abort(); + // unreachable; + } + $31 = ((($24)) + 12|0); + $32 = HEAP32[$31>>2]|0; + $33 = ($32|0)==($16|0); + if (!($33)) { + _abort(); + // unreachable; + } + } + $34 = ($26|0)==($24|0); + if ($34) { + $35 = 1 << $21; + $36 = $35 ^ -1; + $37 = HEAP32[84652]|0; + $38 = $37 & $36; + HEAP32[84652] = $38; + $$1 = $16;$$1382 = $17;$113 = $16; + break; + } + $39 = ($26|0)==($28|0); + if ($39) { + $$pre444 = ((($26)) + 8|0); + $$pre$phi445Z2D = $$pre444; + } else { + $40 = ($26>>>0)<($3>>>0); + if ($40) { + _abort(); + // unreachable; + } + $41 = ((($26)) + 8|0); + $42 = HEAP32[$41>>2]|0; + $43 = ($42|0)==($16|0); + if ($43) { + $$pre$phi445Z2D = $41; + } else { + _abort(); + // unreachable; + } + } + $44 = ((($24)) + 12|0); + HEAP32[$44>>2] = $26; + HEAP32[$$pre$phi445Z2D>>2] = $24; + $$1 = $16;$$1382 = $17;$113 = $16; + break; + } + $45 = ((($16)) + 24|0); + $46 = HEAP32[$45>>2]|0; + $47 = ((($16)) + 12|0); + $48 = HEAP32[$47>>2]|0; + $49 = ($48|0)==($16|0); + do { + if ($49) { + $59 = ((($16)) + 16|0); + $60 = ((($59)) + 4|0); + $61 = HEAP32[$60>>2]|0; + $62 = ($61|0)==(0|0); + if ($62) { + $63 = HEAP32[$59>>2]|0; + $64 = ($63|0)==(0|0); + if ($64) { + $$3 = 0; + break; + } else { + $$1387 = $63;$$1390 = $59; + } + } else { + $$1387 = $61;$$1390 = $60; + } + while(1) { + $65 = ((($$1387)) + 20|0); + $66 = HEAP32[$65>>2]|0; + $67 = ($66|0)==(0|0); + if (!($67)) { + $$1387 = $66;$$1390 = $65; + continue; + } + $68 = ((($$1387)) + 16|0); + $69 = HEAP32[$68>>2]|0; + $70 = ($69|0)==(0|0); + if ($70) { + break; + } else { + $$1387 = $69;$$1390 = $68; + } + } + $71 = ($$1390>>>0)<($3>>>0); + if ($71) { + _abort(); + // unreachable; + } else { + HEAP32[$$1390>>2] = 0; + $$3 = $$1387; + break; + } + } else { + $50 = ((($16)) + 8|0); + $51 = HEAP32[$50>>2]|0; + $52 = ($51>>>0)<($3>>>0); + if ($52) { + _abort(); + // unreachable; + } + $53 = ((($51)) + 12|0); + $54 = HEAP32[$53>>2]|0; + $55 = ($54|0)==($16|0); + if (!($55)) { + _abort(); + // unreachable; + } + $56 = ((($48)) + 8|0); + $57 = HEAP32[$56>>2]|0; + $58 = ($57|0)==($16|0); + if ($58) { + HEAP32[$53>>2] = $48; + HEAP32[$56>>2] = $51; + $$3 = $48; + break; + } else { + _abort(); + // unreachable; + } + } + } while(0); + $72 = ($46|0)==(0|0); + if ($72) { + $$1 = $16;$$1382 = $17;$113 = $16; + } else { + $73 = ((($16)) + 28|0); + $74 = HEAP32[$73>>2]|0; + $75 = (338912 + ($74<<2)|0); + $76 = HEAP32[$75>>2]|0; + $77 = ($16|0)==($76|0); + do { + if ($77) { + HEAP32[$75>>2] = $$3; + $cond421 = ($$3|0)==(0|0); + if ($cond421) { + $78 = 1 << $74; + $79 = $78 ^ -1; + $80 = HEAP32[(338612)>>2]|0; + $81 = $80 & $79; + HEAP32[(338612)>>2] = $81; + $$1 = $16;$$1382 = $17;$113 = $16; + break L10; + } + } else { + $82 = HEAP32[(338624)>>2]|0; + $83 = ($46>>>0)<($82>>>0); + if ($83) { + _abort(); + // unreachable; + } else { + $84 = ((($46)) + 16|0); + $85 = HEAP32[$84>>2]|0; + $not$405 = ($85|0)!=($16|0); + $$sink3 = $not$405&1; + $86 = (((($46)) + 16|0) + ($$sink3<<2)|0); + HEAP32[$86>>2] = $$3; + $87 = ($$3|0)==(0|0); + if ($87) { + $$1 = $16;$$1382 = $17;$113 = $16; + break L10; + } else { + break; + } + } + } + } while(0); + $88 = HEAP32[(338624)>>2]|0; + $89 = ($$3>>>0)<($88>>>0); + if ($89) { + _abort(); + // unreachable; + } + $90 = ((($$3)) + 24|0); + HEAP32[$90>>2] = $46; + $91 = ((($16)) + 16|0); + $92 = HEAP32[$91>>2]|0; + $93 = ($92|0)==(0|0); + do { + if (!($93)) { + $94 = ($92>>>0)<($88>>>0); + if ($94) { + _abort(); + // unreachable; + } else { + $95 = ((($$3)) + 16|0); + HEAP32[$95>>2] = $92; + $96 = ((($92)) + 24|0); + HEAP32[$96>>2] = $$3; + break; + } + } + } while(0); + $97 = ((($91)) + 4|0); + $98 = HEAP32[$97>>2]|0; + $99 = ($98|0)==(0|0); + if ($99) { + $$1 = $16;$$1382 = $17;$113 = $16; + } else { + $100 = HEAP32[(338624)>>2]|0; + $101 = ($98>>>0)<($100>>>0); + if ($101) { + _abort(); + // unreachable; + } else { + $102 = ((($$3)) + 20|0); + HEAP32[$102>>2] = $98; + $103 = ((($98)) + 24|0); + HEAP32[$103>>2] = $$3; + $$1 = $16;$$1382 = $17;$113 = $16; + break; + } + } + } + } else { + $$1 = $2;$$1382 = $9;$113 = $2; + } + } while(0); + $112 = ($113>>>0)<($10>>>0); + if (!($112)) { + _abort(); + // unreachable; + } + $114 = ((($10)) + 4|0); + $115 = HEAP32[$114>>2]|0; + $116 = $115 & 1; + $117 = ($116|0)==(0); + if ($117) { + _abort(); + // unreachable; + } + $118 = $115 & 2; + $119 = ($118|0)==(0); + if ($119) { + $120 = HEAP32[(338632)>>2]|0; + $121 = ($10|0)==($120|0); + $122 = HEAP32[(338628)>>2]|0; + if ($121) { + $123 = HEAP32[(338620)>>2]|0; + $124 = (($123) + ($$1382))|0; + HEAP32[(338620)>>2] = $124; + HEAP32[(338632)>>2] = $$1; + $125 = $124 | 1; + $126 = ((($$1)) + 4|0); + HEAP32[$126>>2] = $125; + $127 = ($$1|0)==($122|0); + if (!($127)) { + return; + } + HEAP32[(338628)>>2] = 0; + HEAP32[(338616)>>2] = 0; + return; + } + $128 = ($10|0)==($122|0); + if ($128) { + $129 = HEAP32[(338616)>>2]|0; + $130 = (($129) + ($$1382))|0; + HEAP32[(338616)>>2] = $130; + HEAP32[(338628)>>2] = $113; + $131 = $130 | 1; + $132 = ((($$1)) + 4|0); + HEAP32[$132>>2] = $131; + $133 = (($113) + ($130)|0); + HEAP32[$133>>2] = $130; + return; + } + $134 = $115 & -8; + $135 = (($134) + ($$1382))|0; + $136 = $115 >>> 3; + $137 = ($115>>>0)<(256); + L108: do { + if ($137) { + $138 = ((($10)) + 8|0); + $139 = HEAP32[$138>>2]|0; + $140 = ((($10)) + 12|0); + $141 = HEAP32[$140>>2]|0; + $142 = $136 << 1; + $143 = (338648 + ($142<<2)|0); + $144 = ($139|0)==($143|0); + if (!($144)) { + $145 = HEAP32[(338624)>>2]|0; + $146 = ($139>>>0)<($145>>>0); + if ($146) { + _abort(); + // unreachable; + } + $147 = ((($139)) + 12|0); + $148 = HEAP32[$147>>2]|0; + $149 = ($148|0)==($10|0); + if (!($149)) { + _abort(); + // unreachable; + } + } + $150 = ($141|0)==($139|0); + if ($150) { + $151 = 1 << $136; + $152 = $151 ^ -1; + $153 = HEAP32[84652]|0; + $154 = $153 & $152; + HEAP32[84652] = $154; + break; + } + $155 = ($141|0)==($143|0); + if ($155) { + $$pre442 = ((($141)) + 8|0); + $$pre$phi443Z2D = $$pre442; + } else { + $156 = HEAP32[(338624)>>2]|0; + $157 = ($141>>>0)<($156>>>0); + if ($157) { + _abort(); + // unreachable; + } + $158 = ((($141)) + 8|0); + $159 = HEAP32[$158>>2]|0; + $160 = ($159|0)==($10|0); + if ($160) { + $$pre$phi443Z2D = $158; + } else { + _abort(); + // unreachable; + } + } + $161 = ((($139)) + 12|0); + HEAP32[$161>>2] = $141; + HEAP32[$$pre$phi443Z2D>>2] = $139; + } else { + $162 = ((($10)) + 24|0); + $163 = HEAP32[$162>>2]|0; + $164 = ((($10)) + 12|0); + $165 = HEAP32[$164>>2]|0; + $166 = ($165|0)==($10|0); + do { + if ($166) { + $177 = ((($10)) + 16|0); + $178 = ((($177)) + 4|0); + $179 = HEAP32[$178>>2]|0; + $180 = ($179|0)==(0|0); + if ($180) { + $181 = HEAP32[$177>>2]|0; + $182 = ($181|0)==(0|0); + if ($182) { + $$3400 = 0; + break; + } else { + $$1398 = $181;$$1402 = $177; + } + } else { + $$1398 = $179;$$1402 = $178; + } + while(1) { + $183 = ((($$1398)) + 20|0); + $184 = HEAP32[$183>>2]|0; + $185 = ($184|0)==(0|0); + if (!($185)) { + $$1398 = $184;$$1402 = $183; + continue; + } + $186 = ((($$1398)) + 16|0); + $187 = HEAP32[$186>>2]|0; + $188 = ($187|0)==(0|0); + if ($188) { + break; + } else { + $$1398 = $187;$$1402 = $186; + } + } + $189 = HEAP32[(338624)>>2]|0; + $190 = ($$1402>>>0)<($189>>>0); + if ($190) { + _abort(); + // unreachable; + } else { + HEAP32[$$1402>>2] = 0; + $$3400 = $$1398; + break; + } + } else { + $167 = ((($10)) + 8|0); + $168 = HEAP32[$167>>2]|0; + $169 = HEAP32[(338624)>>2]|0; + $170 = ($168>>>0)<($169>>>0); + if ($170) { + _abort(); + // unreachable; + } + $171 = ((($168)) + 12|0); + $172 = HEAP32[$171>>2]|0; + $173 = ($172|0)==($10|0); + if (!($173)) { + _abort(); + // unreachable; + } + $174 = ((($165)) + 8|0); + $175 = HEAP32[$174>>2]|0; + $176 = ($175|0)==($10|0); + if ($176) { + HEAP32[$171>>2] = $165; + HEAP32[$174>>2] = $168; + $$3400 = $165; + break; + } else { + _abort(); + // unreachable; + } + } + } while(0); + $191 = ($163|0)==(0|0); + if (!($191)) { + $192 = ((($10)) + 28|0); + $193 = HEAP32[$192>>2]|0; + $194 = (338912 + ($193<<2)|0); + $195 = HEAP32[$194>>2]|0; + $196 = ($10|0)==($195|0); + do { + if ($196) { + HEAP32[$194>>2] = $$3400; + $cond422 = ($$3400|0)==(0|0); + if ($cond422) { + $197 = 1 << $193; + $198 = $197 ^ -1; + $199 = HEAP32[(338612)>>2]|0; + $200 = $199 & $198; + HEAP32[(338612)>>2] = $200; + break L108; + } + } else { + $201 = HEAP32[(338624)>>2]|0; + $202 = ($163>>>0)<($201>>>0); + if ($202) { + _abort(); + // unreachable; + } else { + $203 = ((($163)) + 16|0); + $204 = HEAP32[$203>>2]|0; + $not$ = ($204|0)!=($10|0); + $$sink5 = $not$&1; + $205 = (((($163)) + 16|0) + ($$sink5<<2)|0); + HEAP32[$205>>2] = $$3400; + $206 = ($$3400|0)==(0|0); + if ($206) { + break L108; + } else { + break; + } + } + } + } while(0); + $207 = HEAP32[(338624)>>2]|0; + $208 = ($$3400>>>0)<($207>>>0); + if ($208) { + _abort(); + // unreachable; + } + $209 = ((($$3400)) + 24|0); + HEAP32[$209>>2] = $163; + $210 = ((($10)) + 16|0); + $211 = HEAP32[$210>>2]|0; + $212 = ($211|0)==(0|0); + do { + if (!($212)) { + $213 = ($211>>>0)<($207>>>0); + if ($213) { + _abort(); + // unreachable; + } else { + $214 = ((($$3400)) + 16|0); + HEAP32[$214>>2] = $211; + $215 = ((($211)) + 24|0); + HEAP32[$215>>2] = $$3400; + break; + } + } + } while(0); + $216 = ((($210)) + 4|0); + $217 = HEAP32[$216>>2]|0; + $218 = ($217|0)==(0|0); + if (!($218)) { + $219 = HEAP32[(338624)>>2]|0; + $220 = ($217>>>0)<($219>>>0); + if ($220) { + _abort(); + // unreachable; + } else { + $221 = ((($$3400)) + 20|0); + HEAP32[$221>>2] = $217; + $222 = ((($217)) + 24|0); + HEAP32[$222>>2] = $$3400; + break; + } + } + } + } + } while(0); + $223 = $135 | 1; + $224 = ((($$1)) + 4|0); + HEAP32[$224>>2] = $223; + $225 = (($113) + ($135)|0); + HEAP32[$225>>2] = $135; + $226 = HEAP32[(338628)>>2]|0; + $227 = ($$1|0)==($226|0); + if ($227) { + HEAP32[(338616)>>2] = $135; + return; + } else { + $$2 = $135; + } + } else { + $228 = $115 & -2; + HEAP32[$114>>2] = $228; + $229 = $$1382 | 1; + $230 = ((($$1)) + 4|0); + HEAP32[$230>>2] = $229; + $231 = (($113) + ($$1382)|0); + HEAP32[$231>>2] = $$1382; + $$2 = $$1382; + } + $232 = $$2 >>> 3; + $233 = ($$2>>>0)<(256); + if ($233) { + $234 = $232 << 1; + $235 = (338648 + ($234<<2)|0); + $236 = HEAP32[84652]|0; + $237 = 1 << $232; + $238 = $236 & $237; + $239 = ($238|0)==(0); + if ($239) { + $240 = $236 | $237; + HEAP32[84652] = $240; + $$pre = ((($235)) + 8|0); + $$0403 = $235;$$pre$phiZ2D = $$pre; + } else { + $241 = ((($235)) + 8|0); + $242 = HEAP32[$241>>2]|0; + $243 = HEAP32[(338624)>>2]|0; + $244 = ($242>>>0)<($243>>>0); + if ($244) { + _abort(); + // unreachable; + } else { + $$0403 = $242;$$pre$phiZ2D = $241; + } + } + HEAP32[$$pre$phiZ2D>>2] = $$1; + $245 = ((($$0403)) + 12|0); + HEAP32[$245>>2] = $$1; + $246 = ((($$1)) + 8|0); + HEAP32[$246>>2] = $$0403; + $247 = ((($$1)) + 12|0); + HEAP32[$247>>2] = $235; + return; + } + $248 = $$2 >>> 8; + $249 = ($248|0)==(0); + if ($249) { + $$0396 = 0; + } else { + $250 = ($$2>>>0)>(16777215); + if ($250) { + $$0396 = 31; + } else { + $251 = (($248) + 1048320)|0; + $252 = $251 >>> 16; + $253 = $252 & 8; + $254 = $248 << $253; + $255 = (($254) + 520192)|0; + $256 = $255 >>> 16; + $257 = $256 & 4; + $258 = $257 | $253; + $259 = $254 << $257; + $260 = (($259) + 245760)|0; + $261 = $260 >>> 16; + $262 = $261 & 2; + $263 = $258 | $262; + $264 = (14 - ($263))|0; + $265 = $259 << $262; + $266 = $265 >>> 15; + $267 = (($264) + ($266))|0; + $268 = $267 << 1; + $269 = (($267) + 7)|0; + $270 = $$2 >>> $269; + $271 = $270 & 1; + $272 = $271 | $268; + $$0396 = $272; + } + } + $273 = (338912 + ($$0396<<2)|0); + $274 = ((($$1)) + 28|0); + HEAP32[$274>>2] = $$0396; + $275 = ((($$1)) + 16|0); + $276 = ((($$1)) + 20|0); + HEAP32[$276>>2] = 0; + HEAP32[$275>>2] = 0; + $277 = HEAP32[(338612)>>2]|0; + $278 = 1 << $$0396; + $279 = $277 & $278; + $280 = ($279|0)==(0); + do { + if ($280) { + $281 = $277 | $278; + HEAP32[(338612)>>2] = $281; + HEAP32[$273>>2] = $$1; + $282 = ((($$1)) + 24|0); + HEAP32[$282>>2] = $273; + $283 = ((($$1)) + 12|0); + HEAP32[$283>>2] = $$1; + $284 = ((($$1)) + 8|0); + HEAP32[$284>>2] = $$1; + } else { + $285 = HEAP32[$273>>2]|0; + $286 = ($$0396|0)==(31); + $287 = $$0396 >>> 1; + $288 = (25 - ($287))|0; + $289 = $286 ? 0 : $288; + $290 = $$2 << $289; + $$0383 = $290;$$0384 = $285; + while(1) { + $291 = ((($$0384)) + 4|0); + $292 = HEAP32[$291>>2]|0; + $293 = $292 & -8; + $294 = ($293|0)==($$2|0); + if ($294) { + label = 124; + break; + } + $295 = $$0383 >>> 31; + $296 = (((($$0384)) + 16|0) + ($295<<2)|0); + $297 = $$0383 << 1; + $298 = HEAP32[$296>>2]|0; + $299 = ($298|0)==(0|0); + if ($299) { + label = 121; + break; + } else { + $$0383 = $297;$$0384 = $298; + } + } + if ((label|0) == 121) { + $300 = HEAP32[(338624)>>2]|0; + $301 = ($296>>>0)<($300>>>0); + if ($301) { + _abort(); + // unreachable; + } else { + HEAP32[$296>>2] = $$1; + $302 = ((($$1)) + 24|0); + HEAP32[$302>>2] = $$0384; + $303 = ((($$1)) + 12|0); + HEAP32[$303>>2] = $$1; + $304 = ((($$1)) + 8|0); + HEAP32[$304>>2] = $$1; + break; + } + } + else if ((label|0) == 124) { + $305 = ((($$0384)) + 8|0); + $306 = HEAP32[$305>>2]|0; + $307 = HEAP32[(338624)>>2]|0; + $308 = ($306>>>0)>=($307>>>0); + $not$437 = ($$0384>>>0)>=($307>>>0); + $309 = $308 & $not$437; + if ($309) { + $310 = ((($306)) + 12|0); + HEAP32[$310>>2] = $$1; + HEAP32[$305>>2] = $$1; + $311 = ((($$1)) + 8|0); + HEAP32[$311>>2] = $306; + $312 = ((($$1)) + 12|0); + HEAP32[$312>>2] = $$0384; + $313 = ((($$1)) + 24|0); + HEAP32[$313>>2] = 0; + break; + } else { + _abort(); + // unreachable; + } + } + } + } while(0); + $314 = HEAP32[(338640)>>2]|0; + $315 = (($314) + -1)|0; + HEAP32[(338640)>>2] = $315; + $316 = ($315|0)==(0); + if ($316) { + $$0212$in$i = (339064); + } else { + return; + } + while(1) { + $$0212$i = HEAP32[$$0212$in$i>>2]|0; + $317 = ($$0212$i|0)==(0|0); + $318 = ((($$0212$i)) + 8|0); + if ($317) { + break; + } else { + $$0212$in$i = $318; + } + } + HEAP32[(338640)>>2] = -1; + return; +} +function _calloc($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$ = 0, $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ($0|0)==(0); + if ($2) { + $$0 = 0; + } else { + $3 = Math_imul($1, $0)|0; + $4 = $1 | $0; + $5 = ($4>>>0)>(65535); + if ($5) { + $6 = (($3>>>0) / ($0>>>0))&-1; + $7 = ($6|0)==($1|0); + $$ = $7 ? $3 : -1; + $$0 = $$; + } else { + $$0 = $3; + } + } + $8 = (_malloc($$0)|0); + $9 = ($8|0)==(0|0); + if ($9) { + return ($8|0); + } + $10 = ((($8)) + -4|0); + $11 = HEAP32[$10>>2]|0; + $12 = $11 & 3; + $13 = ($12|0)==(0); + if ($13) { + return ($8|0); + } + _memset(($8|0),0,($$0|0))|0; + return ($8|0); +} +function _realloc($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0, $5 = 0; + var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ($0|0)==(0|0); + if ($2) { + $3 = (_malloc($1)|0); + $$1 = $3; + return ($$1|0); + } + $4 = ($1>>>0)>(4294967231); + if ($4) { + $5 = (___errno_location()|0); + HEAP32[$5>>2] = 12; + $$1 = 0; + return ($$1|0); + } + $6 = ($1>>>0)<(11); + $7 = (($1) + 11)|0; + $8 = $7 & -8; + $9 = $6 ? 16 : $8; + $10 = ((($0)) + -8|0); + $11 = (_try_realloc_chunk($10,$9)|0); + $12 = ($11|0)==(0|0); + if (!($12)) { + $13 = ((($11)) + 8|0); + $$1 = $13; + return ($$1|0); + } + $14 = (_malloc($1)|0); + $15 = ($14|0)==(0|0); + if ($15) { + $$1 = 0; + return ($$1|0); + } + $16 = ((($0)) + -4|0); + $17 = HEAP32[$16>>2]|0; + $18 = $17 & -8; + $19 = $17 & 3; + $20 = ($19|0)==(0); + $21 = $20 ? 8 : 4; + $22 = (($18) - ($21))|0; + $23 = ($22>>>0)<($1>>>0); + $24 = $23 ? $22 : $1; + _memcpy(($14|0),($0|0),($24|0))|0; + _free($0); + $$1 = $14; + return ($$1|0); +} +function _try_realloc_chunk($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$1272 = 0, $$1275 = 0, $$2 = 0, $$3 = 0, $$pre = 0, $$pre$phiZ2D = 0, $$sink1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0; + var $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0; + var $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0; + var $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0; + var $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; + var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0; + var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0; + var $cond = 0, $not$ = 0, $notlhs = 0, $notrhs = 0, $or$cond$not = 0, $or$cond3 = 0, $storemerge = 0, $storemerge1 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($0)) + 4|0); + $3 = HEAP32[$2>>2]|0; + $4 = $3 & -8; + $5 = (($0) + ($4)|0); + $6 = HEAP32[(338624)>>2]|0; + $7 = $3 & 3; + $notlhs = ($0>>>0)>=($6>>>0); + $notrhs = ($7|0)!=(1); + $or$cond$not = $notrhs & $notlhs; + $8 = ($0>>>0)<($5>>>0); + $or$cond3 = $or$cond$not & $8; + if (!($or$cond3)) { + _abort(); + // unreachable; + } + $9 = ((($5)) + 4|0); + $10 = HEAP32[$9>>2]|0; + $11 = $10 & 1; + $12 = ($11|0)==(0); + if ($12) { + _abort(); + // unreachable; + } + $13 = ($7|0)==(0); + if ($13) { + $14 = ($1>>>0)<(256); + if ($14) { + $$2 = 0; + return ($$2|0); + } + $15 = (($1) + 4)|0; + $16 = ($4>>>0)<($15>>>0); + if (!($16)) { + $17 = (($4) - ($1))|0; + $18 = HEAP32[(339088)>>2]|0; + $19 = $18 << 1; + $20 = ($17>>>0)>($19>>>0); + if (!($20)) { + $$2 = $0; + return ($$2|0); + } + } + $$2 = 0; + return ($$2|0); + } + $21 = ($4>>>0)<($1>>>0); + if (!($21)) { + $22 = (($4) - ($1))|0; + $23 = ($22>>>0)>(15); + if (!($23)) { + $$2 = $0; + return ($$2|0); + } + $24 = (($0) + ($1)|0); + $25 = $3 & 1; + $26 = $25 | $1; + $27 = $26 | 2; + HEAP32[$2>>2] = $27; + $28 = ((($24)) + 4|0); + $29 = $22 | 3; + HEAP32[$28>>2] = $29; + $30 = (($24) + ($22)|0); + $31 = ((($30)) + 4|0); + $32 = HEAP32[$31>>2]|0; + $33 = $32 | 1; + HEAP32[$31>>2] = $33; + _dispose_chunk($24,$22); + $$2 = $0; + return ($$2|0); + } + $34 = HEAP32[(338632)>>2]|0; + $35 = ($5|0)==($34|0); + if ($35) { + $36 = HEAP32[(338620)>>2]|0; + $37 = (($36) + ($4))|0; + $38 = ($37>>>0)>($1>>>0); + $39 = (($37) - ($1))|0; + $40 = (($0) + ($1)|0); + if (!($38)) { + $$2 = 0; + return ($$2|0); + } + $41 = $39 | 1; + $42 = ((($40)) + 4|0); + $43 = $3 & 1; + $44 = $43 | $1; + $45 = $44 | 2; + HEAP32[$2>>2] = $45; + HEAP32[$42>>2] = $41; + HEAP32[(338632)>>2] = $40; + HEAP32[(338620)>>2] = $39; + $$2 = $0; + return ($$2|0); + } + $46 = HEAP32[(338628)>>2]|0; + $47 = ($5|0)==($46|0); + if ($47) { + $48 = HEAP32[(338616)>>2]|0; + $49 = (($48) + ($4))|0; + $50 = ($49>>>0)<($1>>>0); + if ($50) { + $$2 = 0; + return ($$2|0); + } + $51 = (($49) - ($1))|0; + $52 = ($51>>>0)>(15); + $53 = $3 & 1; + if ($52) { + $54 = (($0) + ($1)|0); + $55 = (($54) + ($51)|0); + $56 = $53 | $1; + $57 = $56 | 2; + HEAP32[$2>>2] = $57; + $58 = ((($54)) + 4|0); + $59 = $51 | 1; + HEAP32[$58>>2] = $59; + HEAP32[$55>>2] = $51; + $60 = ((($55)) + 4|0); + $61 = HEAP32[$60>>2]|0; + $62 = $61 & -2; + HEAP32[$60>>2] = $62; + $storemerge = $54;$storemerge1 = $51; + } else { + $63 = $53 | $49; + $64 = $63 | 2; + HEAP32[$2>>2] = $64; + $65 = (($0) + ($49)|0); + $66 = ((($65)) + 4|0); + $67 = HEAP32[$66>>2]|0; + $68 = $67 | 1; + HEAP32[$66>>2] = $68; + $storemerge = 0;$storemerge1 = 0; + } + HEAP32[(338616)>>2] = $storemerge1; + HEAP32[(338628)>>2] = $storemerge; + $$2 = $0; + return ($$2|0); + } + $69 = $10 & 2; + $70 = ($69|0)==(0); + if (!($70)) { + $$2 = 0; + return ($$2|0); + } + $71 = $10 & -8; + $72 = (($71) + ($4))|0; + $73 = ($72>>>0)<($1>>>0); + if ($73) { + $$2 = 0; + return ($$2|0); + } + $74 = (($72) - ($1))|0; + $75 = $10 >>> 3; + $76 = ($10>>>0)<(256); + L49: do { + if ($76) { + $77 = ((($5)) + 8|0); + $78 = HEAP32[$77>>2]|0; + $79 = ((($5)) + 12|0); + $80 = HEAP32[$79>>2]|0; + $81 = $75 << 1; + $82 = (338648 + ($81<<2)|0); + $83 = ($78|0)==($82|0); + if (!($83)) { + $84 = ($78>>>0)<($6>>>0); + if ($84) { + _abort(); + // unreachable; + } + $85 = ((($78)) + 12|0); + $86 = HEAP32[$85>>2]|0; + $87 = ($86|0)==($5|0); + if (!($87)) { + _abort(); + // unreachable; + } + } + $88 = ($80|0)==($78|0); + if ($88) { + $89 = 1 << $75; + $90 = $89 ^ -1; + $91 = HEAP32[84652]|0; + $92 = $91 & $90; + HEAP32[84652] = $92; + break; + } + $93 = ($80|0)==($82|0); + if ($93) { + $$pre = ((($80)) + 8|0); + $$pre$phiZ2D = $$pre; + } else { + $94 = ($80>>>0)<($6>>>0); + if ($94) { + _abort(); + // unreachable; + } + $95 = ((($80)) + 8|0); + $96 = HEAP32[$95>>2]|0; + $97 = ($96|0)==($5|0); + if ($97) { + $$pre$phiZ2D = $95; + } else { + _abort(); + // unreachable; + } + } + $98 = ((($78)) + 12|0); + HEAP32[$98>>2] = $80; + HEAP32[$$pre$phiZ2D>>2] = $78; + } else { + $99 = ((($5)) + 24|0); + $100 = HEAP32[$99>>2]|0; + $101 = ((($5)) + 12|0); + $102 = HEAP32[$101>>2]|0; + $103 = ($102|0)==($5|0); + do { + if ($103) { + $113 = ((($5)) + 16|0); + $114 = ((($113)) + 4|0); + $115 = HEAP32[$114>>2]|0; + $116 = ($115|0)==(0|0); + if ($116) { + $117 = HEAP32[$113>>2]|0; + $118 = ($117|0)==(0|0); + if ($118) { + $$3 = 0; + break; + } else { + $$1272 = $117;$$1275 = $113; + } + } else { + $$1272 = $115;$$1275 = $114; + } + while(1) { + $119 = ((($$1272)) + 20|0); + $120 = HEAP32[$119>>2]|0; + $121 = ($120|0)==(0|0); + if (!($121)) { + $$1272 = $120;$$1275 = $119; + continue; + } + $122 = ((($$1272)) + 16|0); + $123 = HEAP32[$122>>2]|0; + $124 = ($123|0)==(0|0); + if ($124) { + break; + } else { + $$1272 = $123;$$1275 = $122; + } + } + $125 = ($$1275>>>0)<($6>>>0); + if ($125) { + _abort(); + // unreachable; + } else { + HEAP32[$$1275>>2] = 0; + $$3 = $$1272; + break; + } + } else { + $104 = ((($5)) + 8|0); + $105 = HEAP32[$104>>2]|0; + $106 = ($105>>>0)<($6>>>0); + if ($106) { + _abort(); + // unreachable; + } + $107 = ((($105)) + 12|0); + $108 = HEAP32[$107>>2]|0; + $109 = ($108|0)==($5|0); + if (!($109)) { + _abort(); + // unreachable; + } + $110 = ((($102)) + 8|0); + $111 = HEAP32[$110>>2]|0; + $112 = ($111|0)==($5|0); + if ($112) { + HEAP32[$107>>2] = $102; + HEAP32[$110>>2] = $105; + $$3 = $102; + break; + } else { + _abort(); + // unreachable; + } + } + } while(0); + $126 = ($100|0)==(0|0); + if (!($126)) { + $127 = ((($5)) + 28|0); + $128 = HEAP32[$127>>2]|0; + $129 = (338912 + ($128<<2)|0); + $130 = HEAP32[$129>>2]|0; + $131 = ($5|0)==($130|0); + do { + if ($131) { + HEAP32[$129>>2] = $$3; + $cond = ($$3|0)==(0|0); + if ($cond) { + $132 = 1 << $128; + $133 = $132 ^ -1; + $134 = HEAP32[(338612)>>2]|0; + $135 = $134 & $133; + HEAP32[(338612)>>2] = $135; + break L49; + } + } else { + $136 = HEAP32[(338624)>>2]|0; + $137 = ($100>>>0)<($136>>>0); + if ($137) { + _abort(); + // unreachable; + } else { + $138 = ((($100)) + 16|0); + $139 = HEAP32[$138>>2]|0; + $not$ = ($139|0)!=($5|0); + $$sink1 = $not$&1; + $140 = (((($100)) + 16|0) + ($$sink1<<2)|0); + HEAP32[$140>>2] = $$3; + $141 = ($$3|0)==(0|0); + if ($141) { + break L49; + } else { + break; + } + } + } + } while(0); + $142 = HEAP32[(338624)>>2]|0; + $143 = ($$3>>>0)<($142>>>0); + if ($143) { + _abort(); + // unreachable; + } + $144 = ((($$3)) + 24|0); + HEAP32[$144>>2] = $100; + $145 = ((($5)) + 16|0); + $146 = HEAP32[$145>>2]|0; + $147 = ($146|0)==(0|0); + do { + if (!($147)) { + $148 = ($146>>>0)<($142>>>0); + if ($148) { + _abort(); + // unreachable; + } else { + $149 = ((($$3)) + 16|0); + HEAP32[$149>>2] = $146; + $150 = ((($146)) + 24|0); + HEAP32[$150>>2] = $$3; + break; + } + } + } while(0); + $151 = ((($145)) + 4|0); + $152 = HEAP32[$151>>2]|0; + $153 = ($152|0)==(0|0); + if (!($153)) { + $154 = HEAP32[(338624)>>2]|0; + $155 = ($152>>>0)<($154>>>0); + if ($155) { + _abort(); + // unreachable; + } else { + $156 = ((($$3)) + 20|0); + HEAP32[$156>>2] = $152; + $157 = ((($152)) + 24|0); + HEAP32[$157>>2] = $$3; + break; + } + } + } + } + } while(0); + $158 = ($74>>>0)<(16); + $159 = $3 & 1; + if ($158) { + $160 = $72 | $159; + $161 = $160 | 2; + HEAP32[$2>>2] = $161; + $162 = (($0) + ($72)|0); + $163 = ((($162)) + 4|0); + $164 = HEAP32[$163>>2]|0; + $165 = $164 | 1; + HEAP32[$163>>2] = $165; + $$2 = $0; + return ($$2|0); + } else { + $166 = (($0) + ($1)|0); + $167 = $159 | $1; + $168 = $167 | 2; + HEAP32[$2>>2] = $168; + $169 = ((($166)) + 4|0); + $170 = $74 | 3; + HEAP32[$169>>2] = $170; + $171 = (($166) + ($74)|0); + $172 = ((($171)) + 4|0); + $173 = HEAP32[$172>>2]|0; + $174 = $173 | 1; + HEAP32[$172>>2] = $174; + _dispose_chunk($166,$74); + $$2 = $0; + return ($$2|0); + } + return (0)|0; +} +function _dispose_chunk($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0419 = 0, $$0420 = 0, $$0431 = 0, $$0438 = 0, $$1 = 0, $$1418 = 0, $$1426 = 0, $$1429 = 0, $$1433 = 0, $$1437 = 0, $$2 = 0, $$3 = 0, $$3435 = 0, $$pre = 0, $$pre$phi24Z2D = 0, $$pre$phi26Z2D = 0, $$pre$phiZ2D = 0, $$pre23 = 0, $$pre25 = 0, $$sink2 = 0; + var $$sink4 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0; + var $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0; + var $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0; + var $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0; + var $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0; + var $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0; + var $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0; + var $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0; + var $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0; + var $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0; + var $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0; + var $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; + var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0; + var $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0; + var $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0; + var $97 = 0, $98 = 0, $99 = 0, $cond = 0, $cond17 = 0, $not$ = 0, $not$1 = 0, $not$19 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = (($0) + ($1)|0); + $3 = ((($0)) + 4|0); + $4 = HEAP32[$3>>2]|0; + $5 = $4 & 1; + $6 = ($5|0)==(0); + L1: do { + if ($6) { + $7 = HEAP32[$0>>2]|0; + $8 = $4 & 3; + $9 = ($8|0)==(0); + if ($9) { + return; + } + $10 = (0 - ($7))|0; + $11 = (($0) + ($10)|0); + $12 = (($7) + ($1))|0; + $13 = HEAP32[(338624)>>2]|0; + $14 = ($11>>>0)<($13>>>0); + if ($14) { + _abort(); + // unreachable; + } + $15 = HEAP32[(338628)>>2]|0; + $16 = ($11|0)==($15|0); + if ($16) { + $100 = ((($2)) + 4|0); + $101 = HEAP32[$100>>2]|0; + $102 = $101 & 3; + $103 = ($102|0)==(3); + if (!($103)) { + $$1 = $11;$$1418 = $12; + break; + } + $104 = (($11) + ($12)|0); + $105 = ((($11)) + 4|0); + $106 = $12 | 1; + $107 = $101 & -2; + HEAP32[(338616)>>2] = $12; + HEAP32[$100>>2] = $107; + HEAP32[$105>>2] = $106; + HEAP32[$104>>2] = $12; + return; + } + $17 = $7 >>> 3; + $18 = ($7>>>0)<(256); + if ($18) { + $19 = ((($11)) + 8|0); + $20 = HEAP32[$19>>2]|0; + $21 = ((($11)) + 12|0); + $22 = HEAP32[$21>>2]|0; + $23 = $17 << 1; + $24 = (338648 + ($23<<2)|0); + $25 = ($20|0)==($24|0); + if (!($25)) { + $26 = ($20>>>0)<($13>>>0); + if ($26) { + _abort(); + // unreachable; + } + $27 = ((($20)) + 12|0); + $28 = HEAP32[$27>>2]|0; + $29 = ($28|0)==($11|0); + if (!($29)) { + _abort(); + // unreachable; + } + } + $30 = ($22|0)==($20|0); + if ($30) { + $31 = 1 << $17; + $32 = $31 ^ -1; + $33 = HEAP32[84652]|0; + $34 = $33 & $32; + HEAP32[84652] = $34; + $$1 = $11;$$1418 = $12; + break; + } + $35 = ($22|0)==($24|0); + if ($35) { + $$pre25 = ((($22)) + 8|0); + $$pre$phi26Z2D = $$pre25; + } else { + $36 = ($22>>>0)<($13>>>0); + if ($36) { + _abort(); + // unreachable; + } + $37 = ((($22)) + 8|0); + $38 = HEAP32[$37>>2]|0; + $39 = ($38|0)==($11|0); + if ($39) { + $$pre$phi26Z2D = $37; + } else { + _abort(); + // unreachable; + } + } + $40 = ((($20)) + 12|0); + HEAP32[$40>>2] = $22; + HEAP32[$$pre$phi26Z2D>>2] = $20; + $$1 = $11;$$1418 = $12; + break; + } + $41 = ((($11)) + 24|0); + $42 = HEAP32[$41>>2]|0; + $43 = ((($11)) + 12|0); + $44 = HEAP32[$43>>2]|0; + $45 = ($44|0)==($11|0); + do { + if ($45) { + $55 = ((($11)) + 16|0); + $56 = ((($55)) + 4|0); + $57 = HEAP32[$56>>2]|0; + $58 = ($57|0)==(0|0); + if ($58) { + $59 = HEAP32[$55>>2]|0; + $60 = ($59|0)==(0|0); + if ($60) { + $$3 = 0; + break; + } else { + $$1426 = $59;$$1429 = $55; + } + } else { + $$1426 = $57;$$1429 = $56; + } + while(1) { + $61 = ((($$1426)) + 20|0); + $62 = HEAP32[$61>>2]|0; + $63 = ($62|0)==(0|0); + if (!($63)) { + $$1426 = $62;$$1429 = $61; + continue; + } + $64 = ((($$1426)) + 16|0); + $65 = HEAP32[$64>>2]|0; + $66 = ($65|0)==(0|0); + if ($66) { + break; + } else { + $$1426 = $65;$$1429 = $64; + } + } + $67 = ($$1429>>>0)<($13>>>0); + if ($67) { + _abort(); + // unreachable; + } else { + HEAP32[$$1429>>2] = 0; + $$3 = $$1426; + break; + } + } else { + $46 = ((($11)) + 8|0); + $47 = HEAP32[$46>>2]|0; + $48 = ($47>>>0)<($13>>>0); + if ($48) { + _abort(); + // unreachable; + } + $49 = ((($47)) + 12|0); + $50 = HEAP32[$49>>2]|0; + $51 = ($50|0)==($11|0); + if (!($51)) { + _abort(); + // unreachable; + } + $52 = ((($44)) + 8|0); + $53 = HEAP32[$52>>2]|0; + $54 = ($53|0)==($11|0); + if ($54) { + HEAP32[$49>>2] = $44; + HEAP32[$52>>2] = $47; + $$3 = $44; + break; + } else { + _abort(); + // unreachable; + } + } + } while(0); + $68 = ($42|0)==(0|0); + if ($68) { + $$1 = $11;$$1418 = $12; + } else { + $69 = ((($11)) + 28|0); + $70 = HEAP32[$69>>2]|0; + $71 = (338912 + ($70<<2)|0); + $72 = HEAP32[$71>>2]|0; + $73 = ($11|0)==($72|0); + do { + if ($73) { + HEAP32[$71>>2] = $$3; + $cond = ($$3|0)==(0|0); + if ($cond) { + $74 = 1 << $70; + $75 = $74 ^ -1; + $76 = HEAP32[(338612)>>2]|0; + $77 = $76 & $75; + HEAP32[(338612)>>2] = $77; + $$1 = $11;$$1418 = $12; + break L1; + } + } else { + $78 = HEAP32[(338624)>>2]|0; + $79 = ($42>>>0)<($78>>>0); + if ($79) { + _abort(); + // unreachable; + } else { + $80 = ((($42)) + 16|0); + $81 = HEAP32[$80>>2]|0; + $not$1 = ($81|0)!=($11|0); + $$sink2 = $not$1&1; + $82 = (((($42)) + 16|0) + ($$sink2<<2)|0); + HEAP32[$82>>2] = $$3; + $83 = ($$3|0)==(0|0); + if ($83) { + $$1 = $11;$$1418 = $12; + break L1; + } else { + break; + } + } + } + } while(0); + $84 = HEAP32[(338624)>>2]|0; + $85 = ($$3>>>0)<($84>>>0); + if ($85) { + _abort(); + // unreachable; + } + $86 = ((($$3)) + 24|0); + HEAP32[$86>>2] = $42; + $87 = ((($11)) + 16|0); + $88 = HEAP32[$87>>2]|0; + $89 = ($88|0)==(0|0); + do { + if (!($89)) { + $90 = ($88>>>0)<($84>>>0); + if ($90) { + _abort(); + // unreachable; + } else { + $91 = ((($$3)) + 16|0); + HEAP32[$91>>2] = $88; + $92 = ((($88)) + 24|0); + HEAP32[$92>>2] = $$3; + break; + } + } + } while(0); + $93 = ((($87)) + 4|0); + $94 = HEAP32[$93>>2]|0; + $95 = ($94|0)==(0|0); + if ($95) { + $$1 = $11;$$1418 = $12; + } else { + $96 = HEAP32[(338624)>>2]|0; + $97 = ($94>>>0)<($96>>>0); + if ($97) { + _abort(); + // unreachable; + } else { + $98 = ((($$3)) + 20|0); + HEAP32[$98>>2] = $94; + $99 = ((($94)) + 24|0); + HEAP32[$99>>2] = $$3; + $$1 = $11;$$1418 = $12; + break; + } + } + } + } else { + $$1 = $0;$$1418 = $1; + } + } while(0); + $108 = HEAP32[(338624)>>2]|0; + $109 = ($2>>>0)<($108>>>0); + if ($109) { + _abort(); + // unreachable; + } + $110 = ((($2)) + 4|0); + $111 = HEAP32[$110>>2]|0; + $112 = $111 & 2; + $113 = ($112|0)==(0); + if ($113) { + $114 = HEAP32[(338632)>>2]|0; + $115 = ($2|0)==($114|0); + $116 = HEAP32[(338628)>>2]|0; + if ($115) { + $117 = HEAP32[(338620)>>2]|0; + $118 = (($117) + ($$1418))|0; + HEAP32[(338620)>>2] = $118; + HEAP32[(338632)>>2] = $$1; + $119 = $118 | 1; + $120 = ((($$1)) + 4|0); + HEAP32[$120>>2] = $119; + $121 = ($$1|0)==($116|0); + if (!($121)) { + return; + } + HEAP32[(338628)>>2] = 0; + HEAP32[(338616)>>2] = 0; + return; + } + $122 = ($2|0)==($116|0); + if ($122) { + $123 = HEAP32[(338616)>>2]|0; + $124 = (($123) + ($$1418))|0; + HEAP32[(338616)>>2] = $124; + HEAP32[(338628)>>2] = $$1; + $125 = $124 | 1; + $126 = ((($$1)) + 4|0); + HEAP32[$126>>2] = $125; + $127 = (($$1) + ($124)|0); + HEAP32[$127>>2] = $124; + return; + } + $128 = $111 & -8; + $129 = (($128) + ($$1418))|0; + $130 = $111 >>> 3; + $131 = ($111>>>0)<(256); + L96: do { + if ($131) { + $132 = ((($2)) + 8|0); + $133 = HEAP32[$132>>2]|0; + $134 = ((($2)) + 12|0); + $135 = HEAP32[$134>>2]|0; + $136 = $130 << 1; + $137 = (338648 + ($136<<2)|0); + $138 = ($133|0)==($137|0); + if (!($138)) { + $139 = ($133>>>0)<($108>>>0); + if ($139) { + _abort(); + // unreachable; + } + $140 = ((($133)) + 12|0); + $141 = HEAP32[$140>>2]|0; + $142 = ($141|0)==($2|0); + if (!($142)) { + _abort(); + // unreachable; + } + } + $143 = ($135|0)==($133|0); + if ($143) { + $144 = 1 << $130; + $145 = $144 ^ -1; + $146 = HEAP32[84652]|0; + $147 = $146 & $145; + HEAP32[84652] = $147; + break; + } + $148 = ($135|0)==($137|0); + if ($148) { + $$pre23 = ((($135)) + 8|0); + $$pre$phi24Z2D = $$pre23; + } else { + $149 = ($135>>>0)<($108>>>0); + if ($149) { + _abort(); + // unreachable; + } + $150 = ((($135)) + 8|0); + $151 = HEAP32[$150>>2]|0; + $152 = ($151|0)==($2|0); + if ($152) { + $$pre$phi24Z2D = $150; + } else { + _abort(); + // unreachable; + } + } + $153 = ((($133)) + 12|0); + HEAP32[$153>>2] = $135; + HEAP32[$$pre$phi24Z2D>>2] = $133; + } else { + $154 = ((($2)) + 24|0); + $155 = HEAP32[$154>>2]|0; + $156 = ((($2)) + 12|0); + $157 = HEAP32[$156>>2]|0; + $158 = ($157|0)==($2|0); + do { + if ($158) { + $168 = ((($2)) + 16|0); + $169 = ((($168)) + 4|0); + $170 = HEAP32[$169>>2]|0; + $171 = ($170|0)==(0|0); + if ($171) { + $172 = HEAP32[$168>>2]|0; + $173 = ($172|0)==(0|0); + if ($173) { + $$3435 = 0; + break; + } else { + $$1433 = $172;$$1437 = $168; + } + } else { + $$1433 = $170;$$1437 = $169; + } + while(1) { + $174 = ((($$1433)) + 20|0); + $175 = HEAP32[$174>>2]|0; + $176 = ($175|0)==(0|0); + if (!($176)) { + $$1433 = $175;$$1437 = $174; + continue; + } + $177 = ((($$1433)) + 16|0); + $178 = HEAP32[$177>>2]|0; + $179 = ($178|0)==(0|0); + if ($179) { + break; + } else { + $$1433 = $178;$$1437 = $177; + } + } + $180 = ($$1437>>>0)<($108>>>0); + if ($180) { + _abort(); + // unreachable; + } else { + HEAP32[$$1437>>2] = 0; + $$3435 = $$1433; + break; + } + } else { + $159 = ((($2)) + 8|0); + $160 = HEAP32[$159>>2]|0; + $161 = ($160>>>0)<($108>>>0); + if ($161) { + _abort(); + // unreachable; + } + $162 = ((($160)) + 12|0); + $163 = HEAP32[$162>>2]|0; + $164 = ($163|0)==($2|0); + if (!($164)) { + _abort(); + // unreachable; + } + $165 = ((($157)) + 8|0); + $166 = HEAP32[$165>>2]|0; + $167 = ($166|0)==($2|0); + if ($167) { + HEAP32[$162>>2] = $157; + HEAP32[$165>>2] = $160; + $$3435 = $157; + break; + } else { + _abort(); + // unreachable; + } + } + } while(0); + $181 = ($155|0)==(0|0); + if (!($181)) { + $182 = ((($2)) + 28|0); + $183 = HEAP32[$182>>2]|0; + $184 = (338912 + ($183<<2)|0); + $185 = HEAP32[$184>>2]|0; + $186 = ($2|0)==($185|0); + do { + if ($186) { + HEAP32[$184>>2] = $$3435; + $cond17 = ($$3435|0)==(0|0); + if ($cond17) { + $187 = 1 << $183; + $188 = $187 ^ -1; + $189 = HEAP32[(338612)>>2]|0; + $190 = $189 & $188; + HEAP32[(338612)>>2] = $190; + break L96; + } + } else { + $191 = HEAP32[(338624)>>2]|0; + $192 = ($155>>>0)<($191>>>0); + if ($192) { + _abort(); + // unreachable; + } else { + $193 = ((($155)) + 16|0); + $194 = HEAP32[$193>>2]|0; + $not$ = ($194|0)!=($2|0); + $$sink4 = $not$&1; + $195 = (((($155)) + 16|0) + ($$sink4<<2)|0); + HEAP32[$195>>2] = $$3435; + $196 = ($$3435|0)==(0|0); + if ($196) { + break L96; + } else { + break; + } + } + } + } while(0); + $197 = HEAP32[(338624)>>2]|0; + $198 = ($$3435>>>0)<($197>>>0); + if ($198) { + _abort(); + // unreachable; + } + $199 = ((($$3435)) + 24|0); + HEAP32[$199>>2] = $155; + $200 = ((($2)) + 16|0); + $201 = HEAP32[$200>>2]|0; + $202 = ($201|0)==(0|0); + do { + if (!($202)) { + $203 = ($201>>>0)<($197>>>0); + if ($203) { + _abort(); + // unreachable; + } else { + $204 = ((($$3435)) + 16|0); + HEAP32[$204>>2] = $201; + $205 = ((($201)) + 24|0); + HEAP32[$205>>2] = $$3435; + break; + } + } + } while(0); + $206 = ((($200)) + 4|0); + $207 = HEAP32[$206>>2]|0; + $208 = ($207|0)==(0|0); + if (!($208)) { + $209 = HEAP32[(338624)>>2]|0; + $210 = ($207>>>0)<($209>>>0); + if ($210) { + _abort(); + // unreachable; + } else { + $211 = ((($$3435)) + 20|0); + HEAP32[$211>>2] = $207; + $212 = ((($207)) + 24|0); + HEAP32[$212>>2] = $$3435; + break; + } + } + } + } + } while(0); + $213 = $129 | 1; + $214 = ((($$1)) + 4|0); + HEAP32[$214>>2] = $213; + $215 = (($$1) + ($129)|0); + HEAP32[$215>>2] = $129; + $216 = HEAP32[(338628)>>2]|0; + $217 = ($$1|0)==($216|0); + if ($217) { + HEAP32[(338616)>>2] = $129; + return; + } else { + $$2 = $129; + } + } else { + $218 = $111 & -2; + HEAP32[$110>>2] = $218; + $219 = $$1418 | 1; + $220 = ((($$1)) + 4|0); + HEAP32[$220>>2] = $219; + $221 = (($$1) + ($$1418)|0); + HEAP32[$221>>2] = $$1418; + $$2 = $$1418; + } + $222 = $$2 >>> 3; + $223 = ($$2>>>0)<(256); + if ($223) { + $224 = $222 << 1; + $225 = (338648 + ($224<<2)|0); + $226 = HEAP32[84652]|0; + $227 = 1 << $222; + $228 = $226 & $227; + $229 = ($228|0)==(0); + if ($229) { + $230 = $226 | $227; + HEAP32[84652] = $230; + $$pre = ((($225)) + 8|0); + $$0438 = $225;$$pre$phiZ2D = $$pre; + } else { + $231 = ((($225)) + 8|0); + $232 = HEAP32[$231>>2]|0; + $233 = HEAP32[(338624)>>2]|0; + $234 = ($232>>>0)<($233>>>0); + if ($234) { + _abort(); + // unreachable; + } else { + $$0438 = $232;$$pre$phiZ2D = $231; + } + } + HEAP32[$$pre$phiZ2D>>2] = $$1; + $235 = ((($$0438)) + 12|0); + HEAP32[$235>>2] = $$1; + $236 = ((($$1)) + 8|0); + HEAP32[$236>>2] = $$0438; + $237 = ((($$1)) + 12|0); + HEAP32[$237>>2] = $225; + return; + } + $238 = $$2 >>> 8; + $239 = ($238|0)==(0); + if ($239) { + $$0431 = 0; + } else { + $240 = ($$2>>>0)>(16777215); + if ($240) { + $$0431 = 31; + } else { + $241 = (($238) + 1048320)|0; + $242 = $241 >>> 16; + $243 = $242 & 8; + $244 = $238 << $243; + $245 = (($244) + 520192)|0; + $246 = $245 >>> 16; + $247 = $246 & 4; + $248 = $247 | $243; + $249 = $244 << $247; + $250 = (($249) + 245760)|0; + $251 = $250 >>> 16; + $252 = $251 & 2; + $253 = $248 | $252; + $254 = (14 - ($253))|0; + $255 = $249 << $252; + $256 = $255 >>> 15; + $257 = (($254) + ($256))|0; + $258 = $257 << 1; + $259 = (($257) + 7)|0; + $260 = $$2 >>> $259; + $261 = $260 & 1; + $262 = $261 | $258; + $$0431 = $262; + } + } + $263 = (338912 + ($$0431<<2)|0); + $264 = ((($$1)) + 28|0); + HEAP32[$264>>2] = $$0431; + $265 = ((($$1)) + 16|0); + $266 = ((($$1)) + 20|0); + HEAP32[$266>>2] = 0; + HEAP32[$265>>2] = 0; + $267 = HEAP32[(338612)>>2]|0; + $268 = 1 << $$0431; + $269 = $267 & $268; + $270 = ($269|0)==(0); + if ($270) { + $271 = $267 | $268; + HEAP32[(338612)>>2] = $271; + HEAP32[$263>>2] = $$1; + $272 = ((($$1)) + 24|0); + HEAP32[$272>>2] = $263; + $273 = ((($$1)) + 12|0); + HEAP32[$273>>2] = $$1; + $274 = ((($$1)) + 8|0); + HEAP32[$274>>2] = $$1; + return; + } + $275 = HEAP32[$263>>2]|0; + $276 = ($$0431|0)==(31); + $277 = $$0431 >>> 1; + $278 = (25 - ($277))|0; + $279 = $276 ? 0 : $278; + $280 = $$2 << $279; + $$0419 = $280;$$0420 = $275; + while(1) { + $281 = ((($$0420)) + 4|0); + $282 = HEAP32[$281>>2]|0; + $283 = $282 & -8; + $284 = ($283|0)==($$2|0); + if ($284) { + label = 121; + break; + } + $285 = $$0419 >>> 31; + $286 = (((($$0420)) + 16|0) + ($285<<2)|0); + $287 = $$0419 << 1; + $288 = HEAP32[$286>>2]|0; + $289 = ($288|0)==(0|0); + if ($289) { + label = 118; + break; + } else { + $$0419 = $287;$$0420 = $288; + } + } + if ((label|0) == 118) { + $290 = HEAP32[(338624)>>2]|0; + $291 = ($286>>>0)<($290>>>0); + if ($291) { + _abort(); + // unreachable; + } + HEAP32[$286>>2] = $$1; + $292 = ((($$1)) + 24|0); + HEAP32[$292>>2] = $$0420; + $293 = ((($$1)) + 12|0); + HEAP32[$293>>2] = $$1; + $294 = ((($$1)) + 8|0); + HEAP32[$294>>2] = $$1; + return; + } + else if ((label|0) == 121) { + $295 = ((($$0420)) + 8|0); + $296 = HEAP32[$295>>2]|0; + $297 = HEAP32[(338624)>>2]|0; + $298 = ($296>>>0)>=($297>>>0); + $not$19 = ($$0420>>>0)>=($297>>>0); + $299 = $298 & $not$19; + if (!($299)) { + _abort(); + // unreachable; + } + $300 = ((($296)) + 12|0); + HEAP32[$300>>2] = $$1; + HEAP32[$295>>2] = $$1; + $301 = ((($$1)) + 8|0); + HEAP32[$301>>2] = $296; + $302 = ((($$1)) + 12|0); + HEAP32[$302>>2] = $$0420; + $303 = ((($$1)) + 24|0); + HEAP32[$303>>2] = 0; + return; + } +} +function runPostSets() { +} +function _memset(ptr, value, num) { + ptr = ptr|0; value = value|0; num = num|0; + var end = 0, aligned_end = 0, block_aligned_end = 0, value4 = 0; + end = (ptr + num)|0; + + value = value & 0xff; + if ((num|0) >= 67 /* 64 bytes for an unrolled loop + 3 bytes for unaligned head*/) { + while ((ptr&3) != 0) { + HEAP8[((ptr)>>0)]=value; + ptr = (ptr+1)|0; + } + + aligned_end = (end & -4)|0; + block_aligned_end = (aligned_end - 64)|0; + value4 = value | (value << 8) | (value << 16) | (value << 24); + + while((ptr|0) <= (block_aligned_end|0)) { + HEAP32[((ptr)>>2)]=value4; + HEAP32[(((ptr)+(4))>>2)]=value4; + HEAP32[(((ptr)+(8))>>2)]=value4; + HEAP32[(((ptr)+(12))>>2)]=value4; + HEAP32[(((ptr)+(16))>>2)]=value4; + HEAP32[(((ptr)+(20))>>2)]=value4; + HEAP32[(((ptr)+(24))>>2)]=value4; + HEAP32[(((ptr)+(28))>>2)]=value4; + HEAP32[(((ptr)+(32))>>2)]=value4; + HEAP32[(((ptr)+(36))>>2)]=value4; + HEAP32[(((ptr)+(40))>>2)]=value4; + HEAP32[(((ptr)+(44))>>2)]=value4; + HEAP32[(((ptr)+(48))>>2)]=value4; + HEAP32[(((ptr)+(52))>>2)]=value4; + HEAP32[(((ptr)+(56))>>2)]=value4; + HEAP32[(((ptr)+(60))>>2)]=value4; + ptr = (ptr + 64)|0; + } + + while ((ptr|0) < (aligned_end|0) ) { + HEAP32[((ptr)>>2)]=value4; + ptr = (ptr+4)|0; + } + } + // The remaining bytes. + while ((ptr|0) < (end|0)) { + HEAP8[((ptr)>>0)]=value; + ptr = (ptr+1)|0; + } + return (end-num)|0; +} +function _i64Subtract(a, b, c, d) { + a = a|0; b = b|0; c = c|0; d = d|0; + var l = 0, h = 0; + l = (a - c)>>>0; + h = (b - d)>>>0; + h = (b - d - (((c>>>0) > (a>>>0))|0))>>>0; // Borrow one from high word to low word on underflow. + return ((tempRet0 = h,l|0)|0); +} +function _i64Add(a, b, c, d) { + /* + x = a + b*2^32 + y = c + d*2^32 + result = l + h*2^32 + */ + a = a|0; b = b|0; c = c|0; d = d|0; + var l = 0, h = 0; + l = (a + c)>>>0; + h = (b + d + (((l>>>0) < (a>>>0))|0))>>>0; // Add carry from low word to high word on overflow. + return ((tempRet0 = h,l|0)|0); +} +function ___muldsi3($a, $b) { + $a = $a | 0; + $b = $b | 0; + var $1 = 0, $2 = 0, $3 = 0, $6 = 0, $8 = 0, $11 = 0, $12 = 0; + $1 = $a & 65535; + $2 = $b & 65535; + $3 = Math_imul($2, $1) | 0; + $6 = $a >>> 16; + $8 = ($3 >>> 16) + (Math_imul($2, $6) | 0) | 0; + $11 = $b >>> 16; + $12 = Math_imul($11, $1) | 0; + return (tempRet0 = (($8 >>> 16) + (Math_imul($11, $6) | 0) | 0) + ((($8 & 65535) + $12 | 0) >>> 16) | 0, 0 | ($8 + $12 << 16 | $3 & 65535)) | 0; +} +function ___muldi3($a$0, $a$1, $b$0, $b$1) { + $a$0 = $a$0 | 0; + $a$1 = $a$1 | 0; + $b$0 = $b$0 | 0; + $b$1 = $b$1 | 0; + var $x_sroa_0_0_extract_trunc = 0, $y_sroa_0_0_extract_trunc = 0, $1$0 = 0, $1$1 = 0, $2 = 0; + $x_sroa_0_0_extract_trunc = $a$0; + $y_sroa_0_0_extract_trunc = $b$0; + $1$0 = ___muldsi3($x_sroa_0_0_extract_trunc, $y_sroa_0_0_extract_trunc) | 0; + $1$1 = tempRet0; + $2 = Math_imul($a$1, $y_sroa_0_0_extract_trunc) | 0; + return (tempRet0 = ((Math_imul($b$1, $x_sroa_0_0_extract_trunc) | 0) + $2 | 0) + $1$1 | $1$1 & 0, 0 | $1$0 & -1) | 0; +} +function _memcpy(dest, src, num) { + dest = dest|0; src = src|0; num = num|0; + var ret = 0; + var aligned_dest_end = 0; + var block_aligned_dest_end = 0; + var dest_end = 0; + // Test against a benchmarked cutoff limit for when HEAPU8.set() becomes faster to use. + if ((num|0) >= + 8192 + ) { + return _emscripten_memcpy_big(dest|0, src|0, num|0)|0; + } + + ret = dest|0; + dest_end = (dest + num)|0; + if ((dest&3) == (src&3)) { + // The initial unaligned < 4-byte front. + while (dest & 3) { + if ((num|0) == 0) return ret|0; + HEAP8[((dest)>>0)]=((HEAP8[((src)>>0)])|0); + dest = (dest+1)|0; + src = (src+1)|0; + num = (num-1)|0; + } + aligned_dest_end = (dest_end & -4)|0; + block_aligned_dest_end = (aligned_dest_end - 64)|0; + while ((dest|0) <= (block_aligned_dest_end|0) ) { + HEAP32[((dest)>>2)]=((HEAP32[((src)>>2)])|0); + HEAP32[(((dest)+(4))>>2)]=((HEAP32[(((src)+(4))>>2)])|0); + HEAP32[(((dest)+(8))>>2)]=((HEAP32[(((src)+(8))>>2)])|0); + HEAP32[(((dest)+(12))>>2)]=((HEAP32[(((src)+(12))>>2)])|0); + HEAP32[(((dest)+(16))>>2)]=((HEAP32[(((src)+(16))>>2)])|0); + HEAP32[(((dest)+(20))>>2)]=((HEAP32[(((src)+(20))>>2)])|0); + HEAP32[(((dest)+(24))>>2)]=((HEAP32[(((src)+(24))>>2)])|0); + HEAP32[(((dest)+(28))>>2)]=((HEAP32[(((src)+(28))>>2)])|0); + HEAP32[(((dest)+(32))>>2)]=((HEAP32[(((src)+(32))>>2)])|0); + HEAP32[(((dest)+(36))>>2)]=((HEAP32[(((src)+(36))>>2)])|0); + HEAP32[(((dest)+(40))>>2)]=((HEAP32[(((src)+(40))>>2)])|0); + HEAP32[(((dest)+(44))>>2)]=((HEAP32[(((src)+(44))>>2)])|0); + HEAP32[(((dest)+(48))>>2)]=((HEAP32[(((src)+(48))>>2)])|0); + HEAP32[(((dest)+(52))>>2)]=((HEAP32[(((src)+(52))>>2)])|0); + HEAP32[(((dest)+(56))>>2)]=((HEAP32[(((src)+(56))>>2)])|0); + HEAP32[(((dest)+(60))>>2)]=((HEAP32[(((src)+(60))>>2)])|0); + dest = (dest+64)|0; + src = (src+64)|0; + } + while ((dest|0) < (aligned_dest_end|0) ) { + HEAP32[((dest)>>2)]=((HEAP32[((src)>>2)])|0); + dest = (dest+4)|0; + src = (src+4)|0; + } + } else { + // In the unaligned copy case, unroll a bit as well. + aligned_dest_end = (dest_end - 4)|0; + while ((dest|0) < (aligned_dest_end|0) ) { + HEAP8[((dest)>>0)]=((HEAP8[((src)>>0)])|0); + HEAP8[(((dest)+(1))>>0)]=((HEAP8[(((src)+(1))>>0)])|0); + HEAP8[(((dest)+(2))>>0)]=((HEAP8[(((src)+(2))>>0)])|0); + HEAP8[(((dest)+(3))>>0)]=((HEAP8[(((src)+(3))>>0)])|0); + dest = (dest+4)|0; + src = (src+4)|0; + } + } + // The remaining unaligned < 4 byte tail. + while ((dest|0) < (dest_end|0)) { + HEAP8[((dest)>>0)]=((HEAP8[((src)>>0)])|0); + dest = (dest+1)|0; + src = (src+1)|0; + } + return ret|0; +} +function _memmove(dest, src, num) { + dest = dest|0; src = src|0; num = num|0; + var ret = 0; + if (((src|0) < (dest|0)) & ((dest|0) < ((src + num)|0))) { + // Unlikely case: Copy backwards in a safe manner + ret = dest; + src = (src + num)|0; + dest = (dest + num)|0; + while ((num|0) > 0) { + dest = (dest - 1)|0; + src = (src - 1)|0; + num = (num - 1)|0; + HEAP8[((dest)>>0)]=((HEAP8[((src)>>0)])|0); + } + dest = ret; + } else { + _memcpy(dest, src, num) | 0; + } + return dest | 0; +} +function _llvm_cttz_i32(x) { + x = x|0; + var ret = 0; + ret = ((HEAP8[(((cttz_i8)+(x & 0xff))>>0)])|0); + if ((ret|0) < 8) return ret|0; + ret = ((HEAP8[(((cttz_i8)+((x >> 8)&0xff))>>0)])|0); + if ((ret|0) < 8) return (ret + 8)|0; + ret = ((HEAP8[(((cttz_i8)+((x >> 16)&0xff))>>0)])|0); + if ((ret|0) < 8) return (ret + 16)|0; + return (((HEAP8[(((cttz_i8)+(x >>> 24))>>0)])|0) + 24)|0; +} +function ___udivmoddi4($a$0, $a$1, $b$0, $b$1, $rem) { + $a$0 = $a$0 | 0; + $a$1 = $a$1 | 0; + $b$0 = $b$0 | 0; + $b$1 = $b$1 | 0; + $rem = $rem | 0; + var $n_sroa_0_0_extract_trunc = 0, $n_sroa_1_4_extract_shift$0 = 0, $n_sroa_1_4_extract_trunc = 0, $d_sroa_0_0_extract_trunc = 0, $d_sroa_1_4_extract_shift$0 = 0, $d_sroa_1_4_extract_trunc = 0, $4 = 0, $17 = 0, $37 = 0, $49 = 0, $51 = 0, $57 = 0, $58 = 0, $66 = 0, $78 = 0, $86 = 0, $88 = 0, $89 = 0, $91 = 0, $92 = 0, $95 = 0, $105 = 0, $117 = 0, $119 = 0, $125 = 0, $126 = 0, $130 = 0, $q_sroa_1_1_ph = 0, $q_sroa_0_1_ph = 0, $r_sroa_1_1_ph = 0, $r_sroa_0_1_ph = 0, $sr_1_ph = 0, $d_sroa_0_0_insert_insert99$0 = 0, $d_sroa_0_0_insert_insert99$1 = 0, $137$0 = 0, $137$1 = 0, $carry_0203 = 0, $sr_1202 = 0, $r_sroa_0_1201 = 0, $r_sroa_1_1200 = 0, $q_sroa_0_1199 = 0, $q_sroa_1_1198 = 0, $147 = 0, $149 = 0, $r_sroa_0_0_insert_insert42$0 = 0, $r_sroa_0_0_insert_insert42$1 = 0, $150$1 = 0, $151$0 = 0, $152 = 0, $154$0 = 0, $r_sroa_0_0_extract_trunc = 0, $r_sroa_1_4_extract_trunc = 0, $155 = 0, $carry_0_lcssa$0 = 0, $carry_0_lcssa$1 = 0, $r_sroa_0_1_lcssa = 0, $r_sroa_1_1_lcssa = 0, $q_sroa_0_1_lcssa = 0, $q_sroa_1_1_lcssa = 0, $q_sroa_0_0_insert_ext75$0 = 0, $q_sroa_0_0_insert_ext75$1 = 0, $q_sroa_0_0_insert_insert77$1 = 0, $_0$0 = 0, $_0$1 = 0; + $n_sroa_0_0_extract_trunc = $a$0; + $n_sroa_1_4_extract_shift$0 = $a$1; + $n_sroa_1_4_extract_trunc = $n_sroa_1_4_extract_shift$0; + $d_sroa_0_0_extract_trunc = $b$0; + $d_sroa_1_4_extract_shift$0 = $b$1; + $d_sroa_1_4_extract_trunc = $d_sroa_1_4_extract_shift$0; + if (($n_sroa_1_4_extract_trunc | 0) == 0) { + $4 = ($rem | 0) != 0; + if (($d_sroa_1_4_extract_trunc | 0) == 0) { + if ($4) { + HEAP32[$rem >> 2] = ($n_sroa_0_0_extract_trunc >>> 0) % ($d_sroa_0_0_extract_trunc >>> 0); + HEAP32[$rem + 4 >> 2] = 0; + } + $_0$1 = 0; + $_0$0 = ($n_sroa_0_0_extract_trunc >>> 0) / ($d_sroa_0_0_extract_trunc >>> 0) >>> 0; + return (tempRet0 = $_0$1, $_0$0) | 0; + } else { + if (!$4) { + $_0$1 = 0; + $_0$0 = 0; + return (tempRet0 = $_0$1, $_0$0) | 0; + } + HEAP32[$rem >> 2] = $a$0 & -1; + HEAP32[$rem + 4 >> 2] = $a$1 & 0; + $_0$1 = 0; + $_0$0 = 0; + return (tempRet0 = $_0$1, $_0$0) | 0; + } + } + $17 = ($d_sroa_1_4_extract_trunc | 0) == 0; + do { + if (($d_sroa_0_0_extract_trunc | 0) == 0) { + if ($17) { + if (($rem | 0) != 0) { + HEAP32[$rem >> 2] = ($n_sroa_1_4_extract_trunc >>> 0) % ($d_sroa_0_0_extract_trunc >>> 0); + HEAP32[$rem + 4 >> 2] = 0; + } + $_0$1 = 0; + $_0$0 = ($n_sroa_1_4_extract_trunc >>> 0) / ($d_sroa_0_0_extract_trunc >>> 0) >>> 0; + return (tempRet0 = $_0$1, $_0$0) | 0; + } + if (($n_sroa_0_0_extract_trunc | 0) == 0) { + if (($rem | 0) != 0) { + HEAP32[$rem >> 2] = 0; + HEAP32[$rem + 4 >> 2] = ($n_sroa_1_4_extract_trunc >>> 0) % ($d_sroa_1_4_extract_trunc >>> 0); + } + $_0$1 = 0; + $_0$0 = ($n_sroa_1_4_extract_trunc >>> 0) / ($d_sroa_1_4_extract_trunc >>> 0) >>> 0; + return (tempRet0 = $_0$1, $_0$0) | 0; + } + $37 = $d_sroa_1_4_extract_trunc - 1 | 0; + if (($37 & $d_sroa_1_4_extract_trunc | 0) == 0) { + if (($rem | 0) != 0) { + HEAP32[$rem >> 2] = 0 | $a$0 & -1; + HEAP32[$rem + 4 >> 2] = $37 & $n_sroa_1_4_extract_trunc | $a$1 & 0; + } + $_0$1 = 0; + $_0$0 = $n_sroa_1_4_extract_trunc >>> ((_llvm_cttz_i32($d_sroa_1_4_extract_trunc | 0) | 0) >>> 0); + return (tempRet0 = $_0$1, $_0$0) | 0; + } + $49 = Math_clz32($d_sroa_1_4_extract_trunc | 0) | 0; + $51 = $49 - (Math_clz32($n_sroa_1_4_extract_trunc | 0) | 0) | 0; + if ($51 >>> 0 <= 30) { + $57 = $51 + 1 | 0; + $58 = 31 - $51 | 0; + $sr_1_ph = $57; + $r_sroa_0_1_ph = $n_sroa_1_4_extract_trunc << $58 | $n_sroa_0_0_extract_trunc >>> ($57 >>> 0); + $r_sroa_1_1_ph = $n_sroa_1_4_extract_trunc >>> ($57 >>> 0); + $q_sroa_0_1_ph = 0; + $q_sroa_1_1_ph = $n_sroa_0_0_extract_trunc << $58; + break; + } + if (($rem | 0) == 0) { + $_0$1 = 0; + $_0$0 = 0; + return (tempRet0 = $_0$1, $_0$0) | 0; + } + HEAP32[$rem >> 2] = 0 | $a$0 & -1; + HEAP32[$rem + 4 >> 2] = $n_sroa_1_4_extract_shift$0 | $a$1 & 0; + $_0$1 = 0; + $_0$0 = 0; + return (tempRet0 = $_0$1, $_0$0) | 0; + } else { + if (!$17) { + $117 = Math_clz32($d_sroa_1_4_extract_trunc | 0) | 0; + $119 = $117 - (Math_clz32($n_sroa_1_4_extract_trunc | 0) | 0) | 0; + if ($119 >>> 0 <= 31) { + $125 = $119 + 1 | 0; + $126 = 31 - $119 | 0; + $130 = $119 - 31 >> 31; + $sr_1_ph = $125; + $r_sroa_0_1_ph = $n_sroa_0_0_extract_trunc >>> ($125 >>> 0) & $130 | $n_sroa_1_4_extract_trunc << $126; + $r_sroa_1_1_ph = $n_sroa_1_4_extract_trunc >>> ($125 >>> 0) & $130; + $q_sroa_0_1_ph = 0; + $q_sroa_1_1_ph = $n_sroa_0_0_extract_trunc << $126; + break; + } + if (($rem | 0) == 0) { + $_0$1 = 0; + $_0$0 = 0; + return (tempRet0 = $_0$1, $_0$0) | 0; + } + HEAP32[$rem >> 2] = 0 | $a$0 & -1; + HEAP32[$rem + 4 >> 2] = $n_sroa_1_4_extract_shift$0 | $a$1 & 0; + $_0$1 = 0; + $_0$0 = 0; + return (tempRet0 = $_0$1, $_0$0) | 0; + } + $66 = $d_sroa_0_0_extract_trunc - 1 | 0; + if (($66 & $d_sroa_0_0_extract_trunc | 0) != 0) { + $86 = (Math_clz32($d_sroa_0_0_extract_trunc | 0) | 0) + 33 | 0; + $88 = $86 - (Math_clz32($n_sroa_1_4_extract_trunc | 0) | 0) | 0; + $89 = 64 - $88 | 0; + $91 = 32 - $88 | 0; + $92 = $91 >> 31; + $95 = $88 - 32 | 0; + $105 = $95 >> 31; + $sr_1_ph = $88; + $r_sroa_0_1_ph = $91 - 1 >> 31 & $n_sroa_1_4_extract_trunc >>> ($95 >>> 0) | ($n_sroa_1_4_extract_trunc << $91 | $n_sroa_0_0_extract_trunc >>> ($88 >>> 0)) & $105; + $r_sroa_1_1_ph = $105 & $n_sroa_1_4_extract_trunc >>> ($88 >>> 0); + $q_sroa_0_1_ph = $n_sroa_0_0_extract_trunc << $89 & $92; + $q_sroa_1_1_ph = ($n_sroa_1_4_extract_trunc << $89 | $n_sroa_0_0_extract_trunc >>> ($95 >>> 0)) & $92 | $n_sroa_0_0_extract_trunc << $91 & $88 - 33 >> 31; + break; + } + if (($rem | 0) != 0) { + HEAP32[$rem >> 2] = $66 & $n_sroa_0_0_extract_trunc; + HEAP32[$rem + 4 >> 2] = 0; + } + if (($d_sroa_0_0_extract_trunc | 0) == 1) { + $_0$1 = $n_sroa_1_4_extract_shift$0 | $a$1 & 0; + $_0$0 = 0 | $a$0 & -1; + return (tempRet0 = $_0$1, $_0$0) | 0; + } else { + $78 = _llvm_cttz_i32($d_sroa_0_0_extract_trunc | 0) | 0; + $_0$1 = 0 | $n_sroa_1_4_extract_trunc >>> ($78 >>> 0); + $_0$0 = $n_sroa_1_4_extract_trunc << 32 - $78 | $n_sroa_0_0_extract_trunc >>> ($78 >>> 0) | 0; + return (tempRet0 = $_0$1, $_0$0) | 0; + } + } + } while (0); + if (($sr_1_ph | 0) == 0) { + $q_sroa_1_1_lcssa = $q_sroa_1_1_ph; + $q_sroa_0_1_lcssa = $q_sroa_0_1_ph; + $r_sroa_1_1_lcssa = $r_sroa_1_1_ph; + $r_sroa_0_1_lcssa = $r_sroa_0_1_ph; + $carry_0_lcssa$1 = 0; + $carry_0_lcssa$0 = 0; + } else { + $d_sroa_0_0_insert_insert99$0 = 0 | $b$0 & -1; + $d_sroa_0_0_insert_insert99$1 = $d_sroa_1_4_extract_shift$0 | $b$1 & 0; + $137$0 = _i64Add($d_sroa_0_0_insert_insert99$0 | 0, $d_sroa_0_0_insert_insert99$1 | 0, -1, -1) | 0; + $137$1 = tempRet0; + $q_sroa_1_1198 = $q_sroa_1_1_ph; + $q_sroa_0_1199 = $q_sroa_0_1_ph; + $r_sroa_1_1200 = $r_sroa_1_1_ph; + $r_sroa_0_1201 = $r_sroa_0_1_ph; + $sr_1202 = $sr_1_ph; + $carry_0203 = 0; + while (1) { + $147 = $q_sroa_0_1199 >>> 31 | $q_sroa_1_1198 << 1; + $149 = $carry_0203 | $q_sroa_0_1199 << 1; + $r_sroa_0_0_insert_insert42$0 = 0 | ($r_sroa_0_1201 << 1 | $q_sroa_1_1198 >>> 31); + $r_sroa_0_0_insert_insert42$1 = $r_sroa_0_1201 >>> 31 | $r_sroa_1_1200 << 1 | 0; + _i64Subtract($137$0 | 0, $137$1 | 0, $r_sroa_0_0_insert_insert42$0 | 0, $r_sroa_0_0_insert_insert42$1 | 0) | 0; + $150$1 = tempRet0; + $151$0 = $150$1 >> 31 | (($150$1 | 0) < 0 ? -1 : 0) << 1; + $152 = $151$0 & 1; + $154$0 = _i64Subtract($r_sroa_0_0_insert_insert42$0 | 0, $r_sroa_0_0_insert_insert42$1 | 0, $151$0 & $d_sroa_0_0_insert_insert99$0 | 0, ((($150$1 | 0) < 0 ? -1 : 0) >> 31 | (($150$1 | 0) < 0 ? -1 : 0) << 1) & $d_sroa_0_0_insert_insert99$1 | 0) | 0; + $r_sroa_0_0_extract_trunc = $154$0; + $r_sroa_1_4_extract_trunc = tempRet0; + $155 = $sr_1202 - 1 | 0; + if (($155 | 0) == 0) { + break; + } else { + $q_sroa_1_1198 = $147; + $q_sroa_0_1199 = $149; + $r_sroa_1_1200 = $r_sroa_1_4_extract_trunc; + $r_sroa_0_1201 = $r_sroa_0_0_extract_trunc; + $sr_1202 = $155; + $carry_0203 = $152; + } + } + $q_sroa_1_1_lcssa = $147; + $q_sroa_0_1_lcssa = $149; + $r_sroa_1_1_lcssa = $r_sroa_1_4_extract_trunc; + $r_sroa_0_1_lcssa = $r_sroa_0_0_extract_trunc; + $carry_0_lcssa$1 = 0; + $carry_0_lcssa$0 = $152; + } + $q_sroa_0_0_insert_ext75$0 = $q_sroa_0_1_lcssa; + $q_sroa_0_0_insert_ext75$1 = 0; + $q_sroa_0_0_insert_insert77$1 = $q_sroa_1_1_lcssa | $q_sroa_0_0_insert_ext75$1; + if (($rem | 0) != 0) { + HEAP32[$rem >> 2] = 0 | $r_sroa_0_1_lcssa; + HEAP32[$rem + 4 >> 2] = $r_sroa_1_1_lcssa | 0; + } + $_0$1 = (0 | $q_sroa_0_0_insert_ext75$0) >>> 31 | $q_sroa_0_0_insert_insert77$1 << 1 | ($q_sroa_0_0_insert_ext75$1 << 1 | $q_sroa_0_0_insert_ext75$0 >>> 31) & 0 | $carry_0_lcssa$1; + $_0$0 = ($q_sroa_0_0_insert_ext75$0 << 1 | 0 >>> 31) & -2 | $carry_0_lcssa$0; + return (tempRet0 = $_0$1, $_0$0) | 0; +} +function ___uremdi3($a$0, $a$1, $b$0, $b$1) { + $a$0 = $a$0 | 0; + $a$1 = $a$1 | 0; + $b$0 = $b$0 | 0; + $b$1 = $b$1 | 0; + var $rem = 0, __stackBase__ = 0; + __stackBase__ = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + $rem = __stackBase__ | 0; + ___udivmoddi4($a$0, $a$1, $b$0, $b$1, $rem) | 0; + STACKTOP = __stackBase__; + return (tempRet0 = HEAP32[$rem + 4 >> 2] | 0, HEAP32[$rem >> 2] | 0) | 0; +} +function _bitshift64Shl(low, high, bits) { + low = low|0; high = high|0; bits = bits|0; + var ander = 0; + if ((bits|0) < 32) { + ander = ((1 << bits) - 1)|0; + tempRet0 = (high << bits) | ((low&(ander << (32 - bits))) >>> (32 - bits)); + return low << bits; + } + tempRet0 = low << (bits - 32); + return 0; +} +function ___udivdi3($a$0, $a$1, $b$0, $b$1) { + $a$0 = $a$0 | 0; + $a$1 = $a$1 | 0; + $b$0 = $b$0 | 0; + $b$1 = $b$1 | 0; + var $1$0 = 0; + $1$0 = ___udivmoddi4($a$0, $a$1, $b$0, $b$1, 0) | 0; + return $1$0 | 0; +} +function _roundf(f) { + f = +f; + return f >= +0 ? +Math_floor(f + +0.5) : +Math_ceil(f - +0.5); // TODO: use fround? +} +function _bitshift64Lshr(low, high, bits) { + low = low|0; high = high|0; bits = bits|0; + var ander = 0; + if ((bits|0) < 32) { + ander = ((1 << bits) - 1)|0; + tempRet0 = high >>> bits; + return (low >>> bits) | ((high&ander) << (32 - bits)); + } + tempRet0 = 0; + return (high >>> (bits - 32))|0; +} +function _sbrk(increment) { + increment = increment|0; + var oldDynamicTop = 0; + var oldDynamicTopOnChange = 0; + var newDynamicTop = 0; + var totalMemory = 0; + increment = ((increment + 15) & -16)|0; + oldDynamicTop = HEAP32[DYNAMICTOP_PTR>>2]|0; + newDynamicTop = oldDynamicTop + increment | 0; + + if (((increment|0) > 0 & (newDynamicTop|0) < (oldDynamicTop|0)) // Detect and fail if we would wrap around signed 32-bit int. + | (newDynamicTop|0) < 0) { // Also underflow, sbrk() should be able to be used to subtract. + abortOnCannotGrowMemory()|0; + ___setErrNo(12); + return -1; + } + + HEAP32[DYNAMICTOP_PTR>>2] = newDynamicTop; + totalMemory = getTotalMemory()|0; + if ((newDynamicTop|0) > (totalMemory|0)) { + if ((enlargeMemory()|0) == 0) { + ___setErrNo(12); + HEAP32[DYNAMICTOP_PTR>>2] = oldDynamicTop; + return -1; + } + } + return oldDynamicTop|0; +} +function _llvm_bswap_i32(x) { + x = x|0; + return (((x&0xff)<<24) | (((x>>8)&0xff)<<16) | (((x>>16)&0xff)<<8) | (x>>>24))|0; +} + + +function dynCall_viiiii(index,a1,a2,a3,a4,a5) { + index = index|0; + a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; + FUNCTION_TABLE_viiiii[index&7](a1|0,a2|0,a3|0,a4|0,a5|0); +} + + +function dynCall_vd(index,a1) { + index = index|0; + a1=+a1; + FUNCTION_TABLE_vd[index&3](+a1); +} + + +function dynCall_vid(index,a1,a2) { + index = index|0; + a1=a1|0; a2=+a2; + FUNCTION_TABLE_vid[index&3](a1|0,+a2); +} + + +function dynCall_vi(index,a1) { + index = index|0; + a1=a1|0; + FUNCTION_TABLE_vi[index&31](a1|0); +} + + +function dynCall_vii(index,a1,a2) { + index = index|0; + a1=a1|0; a2=a2|0; + FUNCTION_TABLE_vii[index&63](a1|0,a2|0); +} + + +function dynCall_ii(index,a1) { + index = index|0; + a1=a1|0; + return FUNCTION_TABLE_ii[index&15](a1|0)|0; +} + + +function dynCall_viddd(index,a1,a2,a3,a4) { + index = index|0; + a1=a1|0; a2=+a2; a3=+a3; a4=+a4; + FUNCTION_TABLE_viddd[index&3](a1|0,+a2,+a3,+a4); +} + + +function dynCall_vidd(index,a1,a2,a3) { + index = index|0; + a1=a1|0; a2=+a2; a3=+a3; + FUNCTION_TABLE_vidd[index&7](a1|0,+a2,+a3); +} + + +function dynCall_iiii(index,a1,a2,a3) { + index = index|0; + a1=a1|0; a2=a2|0; a3=a3|0; + return FUNCTION_TABLE_iiii[index&15](a1|0,a2|0,a3|0)|0; +} + + +function dynCall_viiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8) { + index = index|0; + a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; a6=a6|0; a7=a7|0; a8=a8|0; + FUNCTION_TABLE_viiiiiiii[index&3](a1|0,a2|0,a3|0,a4|0,a5|0,a6|0,a7|0,a8|0); +} + + +function dynCall_viiiiii(index,a1,a2,a3,a4,a5,a6) { + index = index|0; + a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; a6=a6|0; + FUNCTION_TABLE_viiiiii[index&3](a1|0,a2|0,a3|0,a4|0,a5|0,a6|0); +} + + +function dynCall_viii(index,a1,a2,a3) { + index = index|0; + a1=a1|0; a2=a2|0; a3=a3|0; + FUNCTION_TABLE_viii[index&31](a1|0,a2|0,a3|0); +} + + +function dynCall_vidddd(index,a1,a2,a3,a4,a5) { + index = index|0; + a1=a1|0; a2=+a2; a3=+a3; a4=+a4; a5=+a5; + FUNCTION_TABLE_vidddd[index&3](a1|0,+a2,+a3,+a4,+a5); +} + + +function dynCall_vdi(index,a1,a2) { + index = index|0; + a1=+a1; a2=a2|0; + FUNCTION_TABLE_vdi[index&1](+a1,a2|0); +} + + +function dynCall_viiiiiii(index,a1,a2,a3,a4,a5,a6,a7) { + index = index|0; + a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; a6=a6|0; a7=a7|0; + FUNCTION_TABLE_viiiiiii[index&3](a1|0,a2|0,a3|0,a4|0,a5|0,a6|0,a7|0); +} + + +function dynCall_viiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9) { + index = index|0; + a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; a6=a6|0; a7=a7|0; a8=a8|0; a9=a9|0; + FUNCTION_TABLE_viiiiiiiii[index&3](a1|0,a2|0,a3|0,a4|0,a5|0,a6|0,a7|0,a8|0,a9|0); +} + + +function dynCall_iii(index,a1,a2) { + index = index|0; + a1=a1|0; a2=a2|0; + return FUNCTION_TABLE_iii[index&7](a1|0,a2|0)|0; +} + + +function dynCall_i(index) { + index = index|0; + + return FUNCTION_TABLE_i[index&3]()|0; +} + + +function dynCall_vdddddd(index,a1,a2,a3,a4,a5,a6) { + index = index|0; + a1=+a1; a2=+a2; a3=+a3; a4=+a4; a5=+a5; a6=+a6; + FUNCTION_TABLE_vdddddd[index&1](+a1,+a2,+a3,+a4,+a5,+a6); +} + + +function dynCall_vdddd(index,a1,a2,a3,a4) { + index = index|0; + a1=+a1; a2=+a2; a3=+a3; a4=+a4; + FUNCTION_TABLE_vdddd[index&3](+a1,+a2,+a3,+a4); +} + + +function dynCall_vdd(index,a1,a2) { + index = index|0; + a1=+a1; a2=+a2; + FUNCTION_TABLE_vdd[index&3](+a1,+a2); +} + + +function dynCall_v(index) { + index = index|0; + + FUNCTION_TABLE_v[index&7](); +} + + +function dynCall_viid(index,a1,a2,a3) { + index = index|0; + a1=a1|0; a2=a2|0; a3=+a3; + FUNCTION_TABLE_viid[index&1](a1|0,a2|0,+a3); +} + + +function dynCall_viiii(index,a1,a2,a3,a4) { + index = index|0; + a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; + FUNCTION_TABLE_viiii[index&31](a1|0,a2|0,a3|0,a4|0); +} + +function b0(p0,p1,p2,p3,p4) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; nullFunc_viiiii(0); +} +function _emscripten_glUniform4i__wrapper(p0,p1,p2,p3,p4) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; _emscripten_glUniform4i(p0|0,p1|0,p2|0,p3|0,p4|0); +} +function _emscripten_glFramebufferTexture2D__wrapper(p0,p1,p2,p3,p4) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; _emscripten_glFramebufferTexture2D(p0|0,p1|0,p2|0,p3|0,p4|0); +} +function _emscripten_glShaderBinary__wrapper(p0,p1,p2,p3,p4) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; _emscripten_glShaderBinary(p0|0,p1|0,p2|0,p3|0,p4|0); +} +function _emscripten_glDrawElementsInstanced__wrapper(p0,p1,p2,p3,p4) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; _emscripten_glDrawElementsInstanced(p0|0,p1|0,p2|0,p3|0,p4|0); +} +function b1(p0) { + p0 = +p0; nullFunc_vd(1); +} +function _emscripten_glClearDepth__wrapper(p0) { + p0 = +p0; _emscripten_glClearDepth(+p0); +} +function _emscripten_glClearDepthf__wrapper(p0) { + p0 = +p0; _emscripten_glClearDepthf(+p0); +} +function _emscripten_glLineWidth__wrapper(p0) { + p0 = +p0; _emscripten_glLineWidth(+p0); +} +function b2(p0,p1) { + p0 = p0|0;p1 = +p1; nullFunc_vid(2); +} +function _emscripten_glUniform1f__wrapper(p0,p1) { + p0 = p0|0;p1 = +p1; _emscripten_glUniform1f(p0|0,+p1); +} +function _emscripten_glVertexAttrib1f__wrapper(p0,p1) { + p0 = p0|0;p1 = +p1; _emscripten_glVertexAttrib1f(p0|0,+p1); +} +function b3(p0) { + p0 = p0|0; nullFunc_vi(3); +} +function _emscripten_glDeleteShader__wrapper(p0) { + p0 = p0|0; _emscripten_glDeleteShader(p0|0); +} +function _emscripten_glCompileShader__wrapper(p0) { + p0 = p0|0; _emscripten_glCompileShader(p0|0); +} +function _emscripten_glDeleteProgram__wrapper(p0) { + p0 = p0|0; _emscripten_glDeleteProgram(p0|0); +} +function _emscripten_glLinkProgram__wrapper(p0) { + p0 = p0|0; _emscripten_glLinkProgram(p0|0); +} +function _emscripten_glUseProgram__wrapper(p0) { + p0 = p0|0; _emscripten_glUseProgram(p0|0); +} +function _emscripten_glValidateProgram__wrapper(p0) { + p0 = p0|0; _emscripten_glValidateProgram(p0|0); +} +function _emscripten_glDeleteObjectARB__wrapper(p0) { + p0 = p0|0; _emscripten_glDeleteObjectARB(p0|0); +} +function _emscripten_glEnableClientState__wrapper(p0) { + p0 = p0|0; _emscripten_glEnableClientState(p0|0); +} +function _emscripten_glClientActiveTexture__wrapper(p0) { + p0 = p0|0; _emscripten_glClientActiveTexture(p0|0); +} +function _emscripten_glBindVertexArray__wrapper(p0) { + p0 = p0|0; _emscripten_glBindVertexArray(p0|0); +} +function _emscripten_glMatrixMode__wrapper(p0) { + p0 = p0|0; _emscripten_glMatrixMode(p0|0); +} +function _emscripten_glLoadMatrixf__wrapper(p0) { + p0 = p0|0; _emscripten_glLoadMatrixf(p0|0); +} +function _emscripten_glEnableVertexAttribArray__wrapper(p0) { + p0 = p0|0; _emscripten_glEnableVertexAttribArray(p0|0); +} +function _emscripten_glDisableVertexAttribArray__wrapper(p0) { + p0 = p0|0; _emscripten_glDisableVertexAttribArray(p0|0); +} +function _emscripten_glDepthFunc__wrapper(p0) { + p0 = p0|0; _emscripten_glDepthFunc(p0|0); +} +function _emscripten_glEnable__wrapper(p0) { + p0 = p0|0; _emscripten_glEnable(p0|0); +} +function _emscripten_glDisable__wrapper(p0) { + p0 = p0|0; _emscripten_glDisable(p0|0); +} +function _emscripten_glFrontFace__wrapper(p0) { + p0 = p0|0; _emscripten_glFrontFace(p0|0); +} +function _emscripten_glCullFace__wrapper(p0) { + p0 = p0|0; _emscripten_glCullFace(p0|0); +} +function _emscripten_glClear__wrapper(p0) { + p0 = p0|0; _emscripten_glClear(p0|0); +} +function _emscripten_glClearStencil__wrapper(p0) { + p0 = p0|0; _emscripten_glClearStencil(p0|0); +} +function _emscripten_glDepthMask__wrapper(p0) { + p0 = p0|0; _emscripten_glDepthMask(p0|0); +} +function _emscripten_glStencilMask__wrapper(p0) { + p0 = p0|0; _emscripten_glStencilMask(p0|0); +} +function _emscripten_glGenerateMipmap__wrapper(p0) { + p0 = p0|0; _emscripten_glGenerateMipmap(p0|0); +} +function _emscripten_glActiveTexture__wrapper(p0) { + p0 = p0|0; _emscripten_glActiveTexture(p0|0); +} +function _emscripten_glBlendEquation__wrapper(p0) { + p0 = p0|0; _emscripten_glBlendEquation(p0|0); +} +function b4(p0,p1) { + p0 = p0|0;p1 = p1|0; nullFunc_vii(4); +} +function _emscripten_glPixelStorei__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glPixelStorei(p0|0,p1|0); +} +function _emscripten_glGetIntegerv__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGetIntegerv(p0|0,p1|0); +} +function _emscripten_glGetFloatv__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGetFloatv(p0|0,p1|0); +} +function _emscripten_glGetBooleanv__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGetBooleanv(p0|0,p1|0); +} +function _emscripten_glGenTextures__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGenTextures(p0|0,p1|0); +} +function _emscripten_glDeleteTextures__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glDeleteTextures(p0|0,p1|0); +} +function _emscripten_glBindTexture__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glBindTexture(p0|0,p1|0); +} +function _emscripten_glGenBuffers__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGenBuffers(p0|0,p1|0); +} +function _emscripten_glDeleteBuffers__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glDeleteBuffers(p0|0,p1|0); +} +function _emscripten_glGenRenderbuffers__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGenRenderbuffers(p0|0,p1|0); +} +function _emscripten_glDeleteRenderbuffers__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glDeleteRenderbuffers(p0|0,p1|0); +} +function _emscripten_glBindRenderbuffer__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glBindRenderbuffer(p0|0,p1|0); +} +function _emscripten_glUniform1i__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glUniform1i(p0|0,p1|0); +} +function _emscripten_glBindBuffer__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glBindBuffer(p0|0,p1|0); +} +function _emscripten_glVertexAttrib1fv__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glVertexAttrib1fv(p0|0,p1|0); +} +function _emscripten_glVertexAttrib2fv__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glVertexAttrib2fv(p0|0,p1|0); +} +function _emscripten_glVertexAttrib3fv__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glVertexAttrib3fv(p0|0,p1|0); +} +function _emscripten_glVertexAttrib4fv__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glVertexAttrib4fv(p0|0,p1|0); +} +function _emscripten_glAttachShader__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glAttachShader(p0|0,p1|0); +} +function _emscripten_glDetachShader__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glDetachShader(p0|0,p1|0); +} +function _emscripten_glBindFramebuffer__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glBindFramebuffer(p0|0,p1|0); +} +function _emscripten_glGenFramebuffers__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGenFramebuffers(p0|0,p1|0); +} +function _emscripten_glDeleteFramebuffers__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glDeleteFramebuffers(p0|0,p1|0); +} +function _emscripten_glBindProgramARB__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glBindProgramARB(p0|0,p1|0); +} +function _emscripten_glGetPointerv__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGetPointerv(p0|0,p1|0); +} +function _emscripten_glGenVertexArrays__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGenVertexArrays(p0|0,p1|0); +} +function _emscripten_glDeleteVertexArrays__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glDeleteVertexArrays(p0|0,p1|0); +} +function _emscripten_glVertexAttribDivisor__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glVertexAttribDivisor(p0|0,p1|0); +} +function _emscripten_glBlendFunc__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glBlendFunc(p0|0,p1|0); +} +function _emscripten_glBlendEquationSeparate__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glBlendEquationSeparate(p0|0,p1|0); +} +function _emscripten_glStencilMaskSeparate__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glStencilMaskSeparate(p0|0,p1|0); +} +function _emscripten_glHint__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glHint(p0|0,p1|0); +} +function _emscripten_glDrawBuffers__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glDrawBuffers(p0|0,p1|0); +} +function b5(p0) { + p0 = p0|0; nullFunc_ii(5);return 0; +} +function _emscripten_glGetString__wrapper(p0) { + p0 = p0|0; return _emscripten_glGetString(p0|0)|0; +} +function _emscripten_glIsTexture__wrapper(p0) { + p0 = p0|0; return _emscripten_glIsTexture(p0|0)|0; +} +function _emscripten_glIsBuffer__wrapper(p0) { + p0 = p0|0; return _emscripten_glIsBuffer(p0|0)|0; +} +function _emscripten_glIsRenderbuffer__wrapper(p0) { + p0 = p0|0; return _emscripten_glIsRenderbuffer(p0|0)|0; +} +function _emscripten_glCreateShader__wrapper(p0) { + p0 = p0|0; return _emscripten_glCreateShader(p0|0)|0; +} +function _emscripten_glIsShader__wrapper(p0) { + p0 = p0|0; return _emscripten_glIsShader(p0|0)|0; +} +function _emscripten_glIsProgram__wrapper(p0) { + p0 = p0|0; return _emscripten_glIsProgram(p0|0)|0; +} +function _emscripten_glIsFramebuffer__wrapper(p0) { + p0 = p0|0; return _emscripten_glIsFramebuffer(p0|0)|0; +} +function _emscripten_glCheckFramebufferStatus__wrapper(p0) { + p0 = p0|0; return _emscripten_glCheckFramebufferStatus(p0|0)|0; +} +function _emscripten_glIsEnabled__wrapper(p0) { + p0 = p0|0; return _emscripten_glIsEnabled(p0|0)|0; +} +function b6(p0,p1,p2,p3) { + p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3; nullFunc_viddd(6); +} +function _emscripten_glUniform3f__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glUniform3f(p0|0,+p1,+p2,+p3); +} +function _emscripten_glVertexAttrib3f__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glVertexAttrib3f(p0|0,+p1,+p2,+p3); +} +function b7(p0,p1,p2) { + p0 = p0|0;p1 = +p1;p2 = +p2; nullFunc_vidd(7); +} +function _emscripten_glUniform2f__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = +p1;p2 = +p2; _emscripten_glUniform2f(p0|0,+p1,+p2); +} +function _emscripten_glVertexAttrib2f__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = +p1;p2 = +p2; _emscripten_glVertexAttrib2f(p0|0,+p1,+p2); +} +function b8(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; nullFunc_iiii(8);return 0; +} +function b9(p0,p1,p2,p3,p4,p5,p6,p7) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0; nullFunc_viiiiiiii(9); +} +function _emscripten_glCompressedTexImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0; _emscripten_glCompressedTexImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0); +} +function _emscripten_glCopyTexImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0; _emscripten_glCopyTexImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0); +} +function _emscripten_glCopyTexSubImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0; _emscripten_glCopyTexSubImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0); +} +function b10(p0,p1,p2,p3,p4,p5) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0; nullFunc_viiiiii(10); +} +function _emscripten_glDrawRangeElements__wrapper(p0,p1,p2,p3,p4,p5) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0; _emscripten_glDrawRangeElements(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0); +} +function _emscripten_glVertexAttribPointer__wrapper(p0,p1,p2,p3,p4,p5) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0; _emscripten_glVertexAttribPointer(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0); +} +function b11(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; nullFunc_viii(11); +} +function _emscripten_glGetTexParameterfv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetTexParameterfv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetTexParameteriv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetTexParameteriv(p0|0,p1|0,p2|0); +} +function _emscripten_glTexParameterfv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glTexParameterfv(p0|0,p1|0,p2|0); +} +function _emscripten_glTexParameteriv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glTexParameteriv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetBufferParameteriv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetBufferParameteriv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetRenderbufferParameteriv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetRenderbufferParameteriv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetUniformfv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetUniformfv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetUniformiv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetUniformiv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetVertexAttribfv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetVertexAttribfv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetVertexAttribiv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetVertexAttribiv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetVertexAttribPointerv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetVertexAttribPointerv(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform2i__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform2i(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform1iv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform1iv(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform2iv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform2iv(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform3iv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform3iv(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform4iv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform4iv(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform1fv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform1fv(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform2fv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform2fv(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform3fv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform3fv(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform4fv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform4fv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetShaderiv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetShaderiv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetProgramiv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetProgramiv(p0|0,p1|0,p2|0); +} +function _emscripten_glBindAttribLocation__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glBindAttribLocation(p0|0,p1|0,p2|0); +} +function _emscripten_glGetObjectParameterivARB__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetObjectParameterivARB(p0|0,p1|0,p2|0); +} +function _emscripten_glNormalPointer__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glNormalPointer(p0|0,p1|0,p2|0); +} +function _emscripten_glDrawArrays__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glDrawArrays(p0|0,p1|0,p2|0); +} +function _emscripten_glTexParameteri__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glTexParameteri(p0|0,p1|0,p2|0); +} +function _emscripten_glStencilFunc__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glStencilFunc(p0|0,p1|0,p2|0); +} +function _emscripten_glStencilOp__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glStencilOp(p0|0,p1|0,p2|0); +} +function b12(p0,p1,p2,p3,p4) { + p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4; nullFunc_vidddd(12); +} +function _emscripten_glUniform4f__wrapper(p0,p1,p2,p3,p4) { + p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4; _emscripten_glUniform4f(p0|0,+p1,+p2,+p3,+p4); +} +function _emscripten_glVertexAttrib4f__wrapper(p0,p1,p2,p3,p4) { + p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4; _emscripten_glVertexAttrib4f(p0|0,+p1,+p2,+p3,+p4); +} +function b13(p0,p1) { + p0 = +p0;p1 = p1|0; nullFunc_vdi(13); +} +function _emscripten_glSampleCoverage__wrapper(p0,p1) { + p0 = +p0;p1 = p1|0; _emscripten_glSampleCoverage(+p0,p1|0); +} +function b14(p0,p1,p2,p3,p4,p5,p6) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0; nullFunc_viiiiiii(14); +} +function _emscripten_glReadPixels__wrapper(p0,p1,p2,p3,p4,p5,p6) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0; _emscripten_glReadPixels(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0); +} +function _emscripten_glGetActiveUniform__wrapper(p0,p1,p2,p3,p4,p5,p6) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0; _emscripten_glGetActiveUniform(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0); +} +function _emscripten_glGetActiveAttrib__wrapper(p0,p1,p2,p3,p4,p5,p6) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0; _emscripten_glGetActiveAttrib(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0); +} +function b15(p0,p1,p2,p3,p4,p5,p6,p7,p8) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0;p8 = p8|0; nullFunc_viiiiiiiii(15); +} +function _emscripten_glCompressedTexSubImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7,p8) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0;p8 = p8|0; _emscripten_glCompressedTexSubImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0,p8|0); +} +function _emscripten_glTexImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7,p8) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0;p8 = p8|0; _emscripten_glTexImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0,p8|0); +} +function _emscripten_glTexSubImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7,p8) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0;p8 = p8|0; _emscripten_glTexSubImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0,p8|0); +} +function b16(p0,p1) { + p0 = p0|0;p1 = p1|0; nullFunc_iii(16);return 0; +} +function _emscripten_glGetUniformLocation__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; return _emscripten_glGetUniformLocation(p0|0,p1|0)|0; +} +function _emscripten_glGetAttribLocation__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; return _emscripten_glGetAttribLocation(p0|0,p1|0)|0; +} +function b17() { + ; nullFunc_i(17);return 0; +} +function _emscripten_glCreateProgram__wrapper() { + ; return _emscripten_glCreateProgram()|0; +} +function _emscripten_glGetError__wrapper() { + ; return _emscripten_glGetError()|0; +} +function b18(p0,p1,p2,p3,p4,p5) { + p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4;p5 = +p5; nullFunc_vdddddd(18); +} +function _emscripten_glFrustum__wrapper(p0,p1,p2,p3,p4,p5) { + p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4;p5 = +p5; _emscripten_glFrustum(+p0,+p1,+p2,+p3,+p4,+p5); +} +function b19(p0,p1,p2,p3) { + p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3; nullFunc_vdddd(19); +} +function _emscripten_glRotatef__wrapper(p0,p1,p2,p3) { + p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glRotatef(+p0,+p1,+p2,+p3); +} +function _emscripten_glClearColor__wrapper(p0,p1,p2,p3) { + p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glClearColor(+p0,+p1,+p2,+p3); +} +function _emscripten_glBlendColor__wrapper(p0,p1,p2,p3) { + p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glBlendColor(+p0,+p1,+p2,+p3); +} +function b20(p0,p1) { + p0 = +p0;p1 = +p1; nullFunc_vdd(20); +} +function _emscripten_glDepthRange__wrapper(p0,p1) { + p0 = +p0;p1 = +p1; _emscripten_glDepthRange(+p0,+p1); +} +function _emscripten_glDepthRangef__wrapper(p0,p1) { + p0 = +p0;p1 = +p1; _emscripten_glDepthRangef(+p0,+p1); +} +function _emscripten_glPolygonOffset__wrapper(p0,p1) { + p0 = +p0;p1 = +p1; _emscripten_glPolygonOffset(+p0,+p1); +} +function b21() { + ; nullFunc_v(21); +} +function _emscripten_glLoadIdentity__wrapper() { + ; _emscripten_glLoadIdentity(); +} +function _emscripten_glReleaseShaderCompiler__wrapper() { + ; _emscripten_glReleaseShaderCompiler(); +} +function _emscripten_glFinish__wrapper() { + ; _emscripten_glFinish(); +} +function _emscripten_glFlush__wrapper() { + ; _emscripten_glFlush(); +} +function b22(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = +p2; nullFunc_viid(22); +} +function _emscripten_glTexParameterf__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = +p2; _emscripten_glTexParameterf(p0|0,p1|0,+p2); +} +function b23(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; nullFunc_viiii(23); +} +function _emscripten_glBufferData__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glBufferData(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glBufferSubData__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glBufferSubData(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glUniform3i__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glUniform3i(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glUniformMatrix2fv__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glUniformMatrix2fv(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glUniformMatrix3fv__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glUniformMatrix3fv(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glUniformMatrix4fv__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glUniformMatrix4fv(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glGetAttachedShaders__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetAttachedShaders(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glShaderSource__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glShaderSource(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glGetShaderSource__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetShaderSource(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glGetShaderInfoLog__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetShaderInfoLog(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glGetShaderPrecisionFormat__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetShaderPrecisionFormat(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glGetProgramInfoLog__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetProgramInfoLog(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glFramebufferRenderbuffer__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glFramebufferRenderbuffer(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glGetFramebufferAttachmentParameteriv__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetFramebufferAttachmentParameteriv(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glGetInfoLogARB__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetInfoLogARB(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glVertexPointer__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glVertexPointer(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glTexCoordPointer__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glTexCoordPointer(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glColorPointer__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glColorPointer(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glDrawElements__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glDrawElements(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glDrawArraysInstanced__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glDrawArraysInstanced(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glViewport__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glViewport(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glScissor__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glScissor(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glColorMask__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glColorMask(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glRenderbufferStorage__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glRenderbufferStorage(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glBlendFuncSeparate__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glBlendFuncSeparate(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glStencilFuncSeparate__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glStencilFuncSeparate(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glStencilOpSeparate__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glStencilOpSeparate(p0|0,p1|0,p2|0,p3|0); +} + +// EMSCRIPTEN_END_FUNCS +var FUNCTION_TABLE_viiiii = [b0,_KeyCallback,_emscripten_glUniform4i__wrapper,_emscripten_glFramebufferTexture2D__wrapper,_emscripten_glShaderBinary__wrapper,_emscripten_glDrawElementsInstanced__wrapper,b0,b0]; +var FUNCTION_TABLE_vd = [b1,_emscripten_glClearDepth__wrapper,_emscripten_glClearDepthf__wrapper,_emscripten_glLineWidth__wrapper]; +var FUNCTION_TABLE_vid = [b2,_emscripten_glUniform1f__wrapper,_emscripten_glVertexAttrib1f__wrapper,b2]; +var FUNCTION_TABLE_vi = [b3,_emscripten_glDeleteShader__wrapper,_emscripten_glCompileShader__wrapper,_emscripten_glDeleteProgram__wrapper,_emscripten_glLinkProgram__wrapper,_emscripten_glUseProgram__wrapper,_emscripten_glValidateProgram__wrapper,_emscripten_glDeleteObjectARB__wrapper,_emscripten_glEnableClientState__wrapper,_emscripten_glClientActiveTexture__wrapper,_emscripten_glBindVertexArray__wrapper,_emscripten_glMatrixMode__wrapper,_emscripten_glLoadMatrixf__wrapper,_emscripten_glEnableVertexAttribArray__wrapper,_emscripten_glDisableVertexAttribArray__wrapper,_emscripten_glDepthFunc__wrapper,_emscripten_glEnable__wrapper,_emscripten_glDisable__wrapper,_emscripten_glFrontFace__wrapper,_emscripten_glCullFace__wrapper,_emscripten_glClear__wrapper,_emscripten_glClearStencil__wrapper,_emscripten_glDepthMask__wrapper,_emscripten_glStencilMask__wrapper,_emscripten_glGenerateMipmap__wrapper,_emscripten_glActiveTexture__wrapper,_emscripten_glBlendEquation__wrapper,b3,b3 +,b3,b3,b3]; +var FUNCTION_TABLE_vii = [b4,_stbi__stdio_skip,_ErrorCallback,_CursorEnterCallback,_CharCallback,_WindowIconifyCallback,_emscripten_glPixelStorei__wrapper,_emscripten_glGetIntegerv__wrapper,_emscripten_glGetFloatv__wrapper,_emscripten_glGetBooleanv__wrapper,_emscripten_glGenTextures__wrapper,_emscripten_glDeleteTextures__wrapper,_emscripten_glBindTexture__wrapper,_emscripten_glGenBuffers__wrapper,_emscripten_glDeleteBuffers__wrapper,_emscripten_glGenRenderbuffers__wrapper,_emscripten_glDeleteRenderbuffers__wrapper,_emscripten_glBindRenderbuffer__wrapper,_emscripten_glUniform1i__wrapper,_emscripten_glBindBuffer__wrapper,_emscripten_glVertexAttrib1fv__wrapper,_emscripten_glVertexAttrib2fv__wrapper,_emscripten_glVertexAttrib3fv__wrapper,_emscripten_glVertexAttrib4fv__wrapper,_emscripten_glAttachShader__wrapper,_emscripten_glDetachShader__wrapper,_emscripten_glBindFramebuffer__wrapper,_emscripten_glGenFramebuffers__wrapper,_emscripten_glDeleteFramebuffers__wrapper,_emscripten_glBindProgramARB__wrapper,_emscripten_glGetPointerv__wrapper,_emscripten_glGenVertexArrays__wrapper,_emscripten_glDeleteVertexArrays__wrapper,_emscripten_glVertexAttribDivisor__wrapper,_emscripten_glBlendFunc__wrapper,_emscripten_glBlendEquationSeparate__wrapper,_emscripten_glStencilMaskSeparate__wrapper,_emscripten_glHint__wrapper,_emscripten_glDrawBuffers__wrapper,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4 +,b4,b4,b4,b4,b4]; +var FUNCTION_TABLE_ii = [b5,_stbi__stdio_eof,___stdio_close,_emscripten_glGetString__wrapper,_emscripten_glIsTexture__wrapper,_emscripten_glIsBuffer__wrapper,_emscripten_glIsRenderbuffer__wrapper,_emscripten_glCreateShader__wrapper,_emscripten_glIsShader__wrapper,_emscripten_glIsProgram__wrapper,_emscripten_glIsFramebuffer__wrapper,_emscripten_glCheckFramebufferStatus__wrapper,_emscripten_glIsEnabled__wrapper,b5,b5,b5]; +var FUNCTION_TABLE_viddd = [b6,_emscripten_glUniform3f__wrapper,_emscripten_glVertexAttrib3f__wrapper,b6]; +var FUNCTION_TABLE_vidd = [b7,_MouseCursorPosCallback,_ScrollCallback,_emscripten_glUniform2f__wrapper,_emscripten_glVertexAttrib2f__wrapper,b7,b7,b7]; +var FUNCTION_TABLE_iiii = [b8,_stbi__stdio_read,___stdio_write,___stdio_seek,___stdout_write,_sn_write,_EmscriptenFullscreenChangeCallback,_EmscriptenKeyboardCallback,_EmscriptenMouseCallback,_EmscriptenTouchCallback,_EmscriptenGamepadCallback,___stdio_read,_do_read,b8,b8,b8]; +var FUNCTION_TABLE_viiiiiiii = [b9,_emscripten_glCompressedTexImage2D__wrapper,_emscripten_glCopyTexImage2D__wrapper,_emscripten_glCopyTexSubImage2D__wrapper]; +var FUNCTION_TABLE_viiiiii = [b10,_emscripten_glDrawRangeElements__wrapper,_emscripten_glVertexAttribPointer__wrapper,b10]; +var FUNCTION_TABLE_viii = [b11,_WindowSizeCallback,_emscripten_glGetTexParameterfv__wrapper,_emscripten_glGetTexParameteriv__wrapper,_emscripten_glTexParameterfv__wrapper,_emscripten_glTexParameteriv__wrapper,_emscripten_glGetBufferParameteriv__wrapper,_emscripten_glGetRenderbufferParameteriv__wrapper,_emscripten_glGetUniformfv__wrapper,_emscripten_glGetUniformiv__wrapper,_emscripten_glGetVertexAttribfv__wrapper,_emscripten_glGetVertexAttribiv__wrapper,_emscripten_glGetVertexAttribPointerv__wrapper,_emscripten_glUniform2i__wrapper,_emscripten_glUniform1iv__wrapper,_emscripten_glUniform2iv__wrapper,_emscripten_glUniform3iv__wrapper,_emscripten_glUniform4iv__wrapper,_emscripten_glUniform1fv__wrapper,_emscripten_glUniform2fv__wrapper,_emscripten_glUniform3fv__wrapper,_emscripten_glUniform4fv__wrapper,_emscripten_glGetShaderiv__wrapper,_emscripten_glGetProgramiv__wrapper,_emscripten_glBindAttribLocation__wrapper,_emscripten_glGetObjectParameterivARB__wrapper,_emscripten_glNormalPointer__wrapper,_emscripten_glDrawArrays__wrapper,_emscripten_glTexParameteri__wrapper,_emscripten_glStencilFunc__wrapper,_emscripten_glStencilOp__wrapper,b11]; +var FUNCTION_TABLE_vidddd = [b12,_emscripten_glUniform4f__wrapper,_emscripten_glVertexAttrib4f__wrapper,b12]; +var FUNCTION_TABLE_vdi = [b13,_emscripten_glSampleCoverage__wrapper]; +var FUNCTION_TABLE_viiiiiii = [b14,_emscripten_glReadPixels__wrapper,_emscripten_glGetActiveUniform__wrapper,_emscripten_glGetActiveAttrib__wrapper]; +var FUNCTION_TABLE_viiiiiiiii = [b15,_emscripten_glCompressedTexSubImage2D__wrapper,_emscripten_glTexImage2D__wrapper,_emscripten_glTexSubImage2D__wrapper]; +var FUNCTION_TABLE_iii = [b16,_point_compare,_uint32_compare,_emscripten_glGetUniformLocation__wrapper,_emscripten_glGetAttribLocation__wrapper,b16,b16,b16]; +var FUNCTION_TABLE_i = [b17,_emscripten_glCreateProgram__wrapper,_emscripten_glGetError__wrapper,b17]; +var FUNCTION_TABLE_vdddddd = [b18,_emscripten_glFrustum__wrapper]; +var FUNCTION_TABLE_vdddd = [b19,_emscripten_glRotatef__wrapper,_emscripten_glClearColor__wrapper,_emscripten_glBlendColor__wrapper]; +var FUNCTION_TABLE_vdd = [b20,_emscripten_glDepthRange__wrapper,_emscripten_glDepthRangef__wrapper,_emscripten_glPolygonOffset__wrapper]; +var FUNCTION_TABLE_v = [b21,_UpdateDrawFrame,_emscripten_glLoadIdentity__wrapper,_emscripten_glReleaseShaderCompiler__wrapper,_emscripten_glFinish__wrapper,_emscripten_glFlush__wrapper,b21,b21]; +var FUNCTION_TABLE_viid = [b22,_emscripten_glTexParameterf__wrapper]; +var FUNCTION_TABLE_viiii = [b23,_MouseButtonCallback,_emscripten_glBufferData__wrapper,_emscripten_glBufferSubData__wrapper,_emscripten_glUniform3i__wrapper,_emscripten_glUniformMatrix2fv__wrapper,_emscripten_glUniformMatrix3fv__wrapper,_emscripten_glUniformMatrix4fv__wrapper,_emscripten_glGetAttachedShaders__wrapper,_emscripten_glShaderSource__wrapper,_emscripten_glGetShaderSource__wrapper,_emscripten_glGetShaderInfoLog__wrapper,_emscripten_glGetShaderPrecisionFormat__wrapper,_emscripten_glGetProgramInfoLog__wrapper,_emscripten_glFramebufferRenderbuffer__wrapper,_emscripten_glGetFramebufferAttachmentParameteriv__wrapper,_emscripten_glGetInfoLogARB__wrapper,_emscripten_glVertexPointer__wrapper,_emscripten_glTexCoordPointer__wrapper,_emscripten_glColorPointer__wrapper,_emscripten_glDrawElements__wrapper,_emscripten_glDrawArraysInstanced__wrapper,_emscripten_glViewport__wrapper,_emscripten_glScissor__wrapper,_emscripten_glColorMask__wrapper,_emscripten_glRenderbufferStorage__wrapper,_emscripten_glBlendFuncSeparate__wrapper,_emscripten_glStencilFuncSeparate__wrapper,_emscripten_glStencilOpSeparate__wrapper,b23,b23,b23]; + + return { _roundf: _roundf, _main: _main, _llvm_cttz_i32: _llvm_cttz_i32, _bitshift64Lshr: _bitshift64Lshr, _bitshift64Shl: _bitshift64Shl, _fflush: _fflush, _memset: _memset, _sbrk: _sbrk, _memcpy: _memcpy, _llvm_bswap_i32: _llvm_bswap_i32, ___muldi3: ___muldi3, ___uremdi3: ___uremdi3, _i64Subtract: _i64Subtract, ___udivmoddi4: ___udivmoddi4, _i64Add: _i64Add, _emscripten_get_global_libc: _emscripten_get_global_libc, _emscripten_GetProcAddress: _emscripten_GetProcAddress, ___udivdi3: ___udivdi3, ___errno_location: ___errno_location, ___muldsi3: ___muldsi3, _free: _free, _memmove: _memmove, _strstr: _strstr, _malloc: _malloc, runPostSets: runPostSets, stackAlloc: stackAlloc, stackSave: stackSave, stackRestore: stackRestore, establishStackSpace: establishStackSpace, setTempRet0: setTempRet0, getTempRet0: getTempRet0, setThrew: setThrew, stackAlloc: stackAlloc, stackSave: stackSave, stackRestore: stackRestore, establishStackSpace: establishStackSpace, setThrew: setThrew, setTempRet0: setTempRet0, getTempRet0: getTempRet0, dynCall_viiiii: dynCall_viiiii, dynCall_vd: dynCall_vd, dynCall_vid: dynCall_vid, dynCall_vi: dynCall_vi, dynCall_vii: dynCall_vii, dynCall_ii: dynCall_ii, dynCall_viddd: dynCall_viddd, dynCall_vidd: dynCall_vidd, dynCall_iiii: dynCall_iiii, dynCall_viiiiiiii: dynCall_viiiiiiii, dynCall_viiiiii: dynCall_viiiiii, dynCall_viii: dynCall_viii, dynCall_vidddd: dynCall_vidddd, dynCall_vdi: dynCall_vdi, dynCall_viiiiiii: dynCall_viiiiiii, dynCall_viiiiiiiii: dynCall_viiiiiiiii, dynCall_iii: dynCall_iii, dynCall_i: dynCall_i, dynCall_vdddddd: dynCall_vdddddd, dynCall_vdddd: dynCall_vdddd, dynCall_vdd: dynCall_vdd, dynCall_v: dynCall_v, dynCall_viid: dynCall_viid, dynCall_viiii: dynCall_viiii }; +}) +// EMSCRIPTEN_END_ASM +(Module.asmGlobalArg, Module.asmLibraryArg, buffer); + +var real__roundf = asm["_roundf"]; asm["_roundf"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); +assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); +return real__roundf.apply(null, arguments); +}; + +var real__main = asm["_main"]; asm["_main"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); +assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); +return real__main.apply(null, arguments); +}; + +var real_stackSave = asm["stackSave"]; asm["stackSave"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); +assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); +return real_stackSave.apply(null, arguments); +}; + +var real_getTempRet0 = asm["getTempRet0"]; asm["getTempRet0"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); +assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); +return real_getTempRet0.apply(null, arguments); +}; + +var real_setThrew = asm["setThrew"]; asm["setThrew"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); +assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); +return real_setThrew.apply(null, arguments); +}; + +var real__bitshift64Lshr = asm["_bitshift64Lshr"]; asm["_bitshift64Lshr"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); +assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); +return real__bitshift64Lshr.apply(null, arguments); +}; + +var real__bitshift64Shl = asm["_bitshift64Shl"]; asm["_bitshift64Shl"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); +assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); +return real__bitshift64Shl.apply(null, arguments); +}; + +var real__fflush = asm["_fflush"]; asm["_fflush"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); +assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); +return real__fflush.apply(null, arguments); +}; + +var real__llvm_cttz_i32 = asm["_llvm_cttz_i32"]; asm["_llvm_cttz_i32"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); +assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); +return real__llvm_cttz_i32.apply(null, arguments); +}; + +var real__sbrk = asm["_sbrk"]; asm["_sbrk"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); +assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); +return real__sbrk.apply(null, arguments); +}; + +var real__llvm_bswap_i32 = asm["_llvm_bswap_i32"]; asm["_llvm_bswap_i32"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); +assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); +return real__llvm_bswap_i32.apply(null, arguments); +}; + +var real____muldi3 = asm["___muldi3"]; asm["___muldi3"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); +assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); +return real____muldi3.apply(null, arguments); +}; + +var real____uremdi3 = asm["___uremdi3"]; asm["___uremdi3"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); +assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); +return real____uremdi3.apply(null, arguments); +}; + +var real_stackAlloc = asm["stackAlloc"]; asm["stackAlloc"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); +assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); +return real_stackAlloc.apply(null, arguments); +}; + +var real__i64Subtract = asm["_i64Subtract"]; asm["_i64Subtract"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); +assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); +return real__i64Subtract.apply(null, arguments); +}; + +var real____udivmoddi4 = asm["___udivmoddi4"]; asm["___udivmoddi4"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); +assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); +return real____udivmoddi4.apply(null, arguments); +}; + +var real_setTempRet0 = asm["setTempRet0"]; asm["setTempRet0"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); +assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); +return real_setTempRet0.apply(null, arguments); +}; + +var real__i64Add = asm["_i64Add"]; asm["_i64Add"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); +assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); +return real__i64Add.apply(null, arguments); +}; + +var real__emscripten_get_global_libc = asm["_emscripten_get_global_libc"]; asm["_emscripten_get_global_libc"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); +assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); +return real__emscripten_get_global_libc.apply(null, arguments); +}; + +var real__emscripten_GetProcAddress = asm["_emscripten_GetProcAddress"]; asm["_emscripten_GetProcAddress"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); +assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); +return real__emscripten_GetProcAddress.apply(null, arguments); +}; + +var real____udivdi3 = asm["___udivdi3"]; asm["___udivdi3"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); +assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); +return real____udivdi3.apply(null, arguments); +}; + +var real____errno_location = asm["___errno_location"]; asm["___errno_location"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); +assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); +return real____errno_location.apply(null, arguments); +}; + +var real____muldsi3 = asm["___muldsi3"]; asm["___muldsi3"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); +assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); +return real____muldsi3.apply(null, arguments); +}; + +var real__free = asm["_free"]; asm["_free"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); +assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); +return real__free.apply(null, arguments); +}; + +var real_establishStackSpace = asm["establishStackSpace"]; asm["establishStackSpace"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); +assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); +return real_establishStackSpace.apply(null, arguments); +}; + +var real__memmove = asm["_memmove"]; asm["_memmove"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); +assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); +return real__memmove.apply(null, arguments); +}; + +var real__strstr = asm["_strstr"]; asm["_strstr"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); +assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); +return real__strstr.apply(null, arguments); +}; + +var real_stackRestore = asm["stackRestore"]; asm["stackRestore"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); +assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); +return real_stackRestore.apply(null, arguments); +}; + +var real__malloc = asm["_malloc"]; asm["_malloc"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); +assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); +return real__malloc.apply(null, arguments); +}; +var _roundf = Module["_roundf"] = asm["_roundf"]; +var _main = Module["_main"] = asm["_main"]; +var stackSave = Module["stackSave"] = asm["stackSave"]; +var getTempRet0 = Module["getTempRet0"] = asm["getTempRet0"]; +var _memset = Module["_memset"] = asm["_memset"]; +var setThrew = Module["setThrew"] = asm["setThrew"]; +var _bitshift64Lshr = Module["_bitshift64Lshr"] = asm["_bitshift64Lshr"]; +var _bitshift64Shl = Module["_bitshift64Shl"] = asm["_bitshift64Shl"]; +var _fflush = Module["_fflush"] = asm["_fflush"]; +var _llvm_cttz_i32 = Module["_llvm_cttz_i32"] = asm["_llvm_cttz_i32"]; +var _sbrk = Module["_sbrk"] = asm["_sbrk"]; +var _memcpy = Module["_memcpy"] = asm["_memcpy"]; +var _llvm_bswap_i32 = Module["_llvm_bswap_i32"] = asm["_llvm_bswap_i32"]; +var ___muldi3 = Module["___muldi3"] = asm["___muldi3"]; +var ___uremdi3 = Module["___uremdi3"] = asm["___uremdi3"]; +var stackAlloc = Module["stackAlloc"] = asm["stackAlloc"]; +var _i64Subtract = Module["_i64Subtract"] = asm["_i64Subtract"]; +var ___udivmoddi4 = Module["___udivmoddi4"] = asm["___udivmoddi4"]; +var setTempRet0 = Module["setTempRet0"] = asm["setTempRet0"]; +var _i64Add = Module["_i64Add"] = asm["_i64Add"]; +var _emscripten_get_global_libc = Module["_emscripten_get_global_libc"] = asm["_emscripten_get_global_libc"]; +var _emscripten_GetProcAddress = Module["_emscripten_GetProcAddress"] = asm["_emscripten_GetProcAddress"]; +var ___udivdi3 = Module["___udivdi3"] = asm["___udivdi3"]; +var ___errno_location = Module["___errno_location"] = asm["___errno_location"]; +var ___muldsi3 = Module["___muldsi3"] = asm["___muldsi3"]; +var _free = Module["_free"] = asm["_free"]; +var runPostSets = Module["runPostSets"] = asm["runPostSets"]; +var establishStackSpace = Module["establishStackSpace"] = asm["establishStackSpace"]; +var _memmove = Module["_memmove"] = asm["_memmove"]; +var _strstr = Module["_strstr"] = asm["_strstr"]; +var stackRestore = Module["stackRestore"] = asm["stackRestore"]; +var _malloc = Module["_malloc"] = asm["_malloc"]; +var dynCall_viiiii = Module["dynCall_viiiii"] = asm["dynCall_viiiii"]; +var dynCall_vd = Module["dynCall_vd"] = asm["dynCall_vd"]; +var dynCall_vid = Module["dynCall_vid"] = asm["dynCall_vid"]; +var dynCall_vi = Module["dynCall_vi"] = asm["dynCall_vi"]; +var dynCall_vii = Module["dynCall_vii"] = asm["dynCall_vii"]; +var dynCall_ii = Module["dynCall_ii"] = asm["dynCall_ii"]; +var dynCall_viddd = Module["dynCall_viddd"] = asm["dynCall_viddd"]; +var dynCall_vidd = Module["dynCall_vidd"] = asm["dynCall_vidd"]; +var dynCall_iiii = Module["dynCall_iiii"] = asm["dynCall_iiii"]; +var dynCall_viiiiiiii = Module["dynCall_viiiiiiii"] = asm["dynCall_viiiiiiii"]; +var dynCall_viiiiii = Module["dynCall_viiiiii"] = asm["dynCall_viiiiii"]; +var dynCall_viii = Module["dynCall_viii"] = asm["dynCall_viii"]; +var dynCall_vidddd = Module["dynCall_vidddd"] = asm["dynCall_vidddd"]; +var dynCall_vdi = Module["dynCall_vdi"] = asm["dynCall_vdi"]; +var dynCall_viiiiiii = Module["dynCall_viiiiiii"] = asm["dynCall_viiiiiii"]; +var dynCall_viiiiiiiii = Module["dynCall_viiiiiiiii"] = asm["dynCall_viiiiiiiii"]; +var dynCall_iii = Module["dynCall_iii"] = asm["dynCall_iii"]; +var dynCall_i = Module["dynCall_i"] = asm["dynCall_i"]; +var dynCall_vdddddd = Module["dynCall_vdddddd"] = asm["dynCall_vdddddd"]; +var dynCall_vdddd = Module["dynCall_vdddd"] = asm["dynCall_vdddd"]; +var dynCall_vdd = Module["dynCall_vdd"] = asm["dynCall_vdd"]; +var dynCall_v = Module["dynCall_v"] = asm["dynCall_v"]; +var dynCall_viid = Module["dynCall_viid"] = asm["dynCall_viid"]; +var dynCall_viiii = Module["dynCall_viiii"] = asm["dynCall_viiii"]; +; + +Runtime.stackAlloc = Module['stackAlloc']; +Runtime.stackSave = Module['stackSave']; +Runtime.stackRestore = Module['stackRestore']; +Runtime.establishStackSpace = Module['establishStackSpace']; + +Runtime.setTempRet0 = Module['setTempRet0']; +Runtime.getTempRet0 = Module['getTempRet0']; + + + +// === Auto-generated postamble setup entry stuff === + +Module['asm'] = asm; + + + + + +function ExitStatus(status) { + this.name = "ExitStatus"; + this.message = "Program terminated with exit(" + status + ")"; + this.status = status; +}; +ExitStatus.prototype = new Error(); +ExitStatus.prototype.constructor = ExitStatus; + +var initialStackTop; +var preloadStartTime = null; +var calledMain = false; + +dependenciesFulfilled = function runCaller() { + // If run has never been called, and we should call run (INVOKE_RUN is true, and Module.noInitialRun is not false) + if (!Module['calledRun']) run(); + if (!Module['calledRun']) dependenciesFulfilled = runCaller; // try this again later, after new deps are fulfilled +} + +Module['callMain'] = Module.callMain = function callMain(args) { + assert(runDependencies == 0, 'cannot call main when async dependencies remain! (listen on __ATMAIN__)'); + assert(__ATPRERUN__.length == 0, 'cannot call main when preRun functions remain to be called'); + + args = args || []; + + ensureInitRuntime(); + + var argc = args.length+1; + function pad() { + for (var i = 0; i < 4-1; i++) { + argv.push(0); + } + } + var argv = [allocate(intArrayFromString(Module['thisProgram']), 'i8', ALLOC_NORMAL) ]; + pad(); + for (var i = 0; i < argc-1; i = i + 1) { + argv.push(allocate(intArrayFromString(args[i]), 'i8', ALLOC_NORMAL)); + pad(); + } + argv.push(0); + argv = allocate(argv, 'i32', ALLOC_NORMAL); + + + try { + + var ret = Module['_main'](argc, argv, 0); + + + // if we're not running an evented main loop, it's time to exit + exit(ret, /* implicit = */ true); + } + catch(e) { + if (e instanceof ExitStatus) { + // exit() throws this once it's done to make sure execution + // has been stopped completely + return; + } else if (e == 'SimulateInfiniteLoop') { + // running an evented main loop, don't immediately exit + Module['noExitRuntime'] = true; + return; + } else { + var toLog = e; + if (e && typeof e === 'object' && e.stack) { + toLog = [e, e.stack]; + } + Module.printErr('exception thrown: ' + toLog); + Module['quit'](1, e); + } + } finally { + calledMain = true; + } +} + + + + +function run(args) { + args = args || Module['arguments']; + + if (preloadStartTime === null) preloadStartTime = Date.now(); + + if (runDependencies > 0) { + Module.printErr('run() called, but dependencies remain, so not running'); + return; + } + + writeStackCookie(); + + preRun(); + + if (runDependencies > 0) return; // a preRun added a dependency, run will be called later + if (Module['calledRun']) return; // run may have just been called through dependencies being fulfilled just in this very frame + + function doRun() { + if (Module['calledRun']) return; // run may have just been called while the async setStatus time below was happening + Module['calledRun'] = true; + + if (ABORT) return; + + ensureInitRuntime(); + + preMain(); + + if (ENVIRONMENT_IS_WEB && preloadStartTime !== null) { + Module.printErr('pre-main prep time: ' + (Date.now() - preloadStartTime) + ' ms'); + } + + if (Module['onRuntimeInitialized']) Module['onRuntimeInitialized'](); + + if (Module['_main'] && shouldRunNow) Module['callMain'](args); + + postRun(); + } + + if (Module['setStatus']) { + Module['setStatus']('Running...'); + setTimeout(function() { + setTimeout(function() { + Module['setStatus'](''); + }, 1); + doRun(); + }, 1); + } else { + doRun(); + } + checkStackCookie(); +} +Module['run'] = Module.run = run; + +function exit(status, implicit) { + if (implicit && Module['noExitRuntime']) { + Module.printErr('exit(' + status + ') implicitly called by end of main(), but noExitRuntime, so not exiting the runtime (you can use emscripten_force_exit, if you want to force a true shutdown)'); + return; + } + + if (Module['noExitRuntime']) { + Module.printErr('exit(' + status + ') called, but noExitRuntime, so halting execution but not exiting the runtime or preventing further async execution (you can use emscripten_force_exit, if you want to force a true shutdown)'); + } else { + + ABORT = true; + EXITSTATUS = status; + STACKTOP = initialStackTop; + + exitRuntime(); + + if (Module['onExit']) Module['onExit'](status); + } + + if (ENVIRONMENT_IS_NODE) { + process['exit'](status); + } + Module['quit'](status, new ExitStatus(status)); +} +Module['exit'] = Module.exit = exit; + +var abortDecorators = []; + +function abort(what) { + if (what !== undefined) { + Module.print(what); + Module.printErr(what); + what = JSON.stringify(what) + } else { + what = ''; + } + + ABORT = true; + EXITSTATUS = 1; + + var extra = ''; + + var output = 'abort(' + what + ') at ' + stackTrace() + extra; + if (abortDecorators) { + abortDecorators.forEach(function(decorator) { + output = decorator(output, what); + }); + } + throw output; +} +Module['abort'] = Module.abort = abort; + +// {{PRE_RUN_ADDITIONS}} + +if (Module['preInit']) { + if (typeof Module['preInit'] == 'function') Module['preInit'] = [Module['preInit']]; + while (Module['preInit'].length > 0) { + Module['preInit'].pop()(); + } +} + +// shouldRunNow refers to calling main(), not run(). +var shouldRunNow = true; +if (Module['noInitialRun']) { + shouldRunNow = false; +} + + +run(); + +// {{POST_RUN_ADDITIONS}} + + + + + +// {{MODULE_ADDITIONS}} + + + diff --git a/docs/games/light_my_ritual.html b/docs/games/light_my_ritual.html index 8b88fd59a..2b5505744 100644 --- a/docs/games/light_my_ritual.html +++ b/docs/games/light_my_ritual.html @@ -144,7 +144,7 @@
Downloading...
- +
diff --git a/docs/games/light_my_ritual.js b/docs/games/light_my_ritual.js index e00883757..af85f7c7d 100644 --- a/docs/games/light_my_ritual.js +++ b/docs/games/light_my_ritual.js @@ -184,7 +184,7 @@ Module['FS_createPath']('/resources', 'textures', true, true); } } - loadPackage({"files": [{"audio": 0, "start": 0, "crunched": 0, "end": 97566, "filename": "/resources/font_arcadian.png"}, {"audio": 0, "start": 97566, "crunched": 0, "end": 97996, "filename": "/resources/lights_map.png"}, {"audio": 1, "start": 97996, "crunched": 0, "end": 1372570, "filename": "/resources/audio/ambient.ogg"}, {"audio": 1, "start": 1372570, "crunched": 0, "end": 1381861, "filename": "/resources/audio/light_off.wav"}, {"audio": 1, "start": 1381861, "crunched": 0, "end": 1384196, "filename": "/resources/audio/light_on.wav"}, {"audio": 1, "start": 1384196, "crunched": 0, "end": 3977117, "filename": "/resources/audio/ritual.ogg"}, {"audio": 1, "start": 3977117, "crunched": 0, "end": 3991196, "filename": "/resources/audio/start.wav"}, {"audio": 0, "start": 3991196, "crunched": 0, "end": 5222414, "filename": "/resources/textures/background.png"}, {"audio": 0, "start": 5222414, "crunched": 0, "end": 5405314, "filename": "/resources/textures/back_title.png"}, {"audio": 0, "start": 5405314, "crunched": 0, "end": 5409716, "filename": "/resources/textures/book.png"}, {"audio": 0, "start": 5409716, "crunched": 0, "end": 5447280, "filename": "/resources/textures/circle_level_iii_off.png"}, {"audio": 0, "start": 5447280, "crunched": 0, "end": 5607587, "filename": "/resources/textures/circle_level_iii_on.png"}, {"audio": 0, "start": 5607587, "crunched": 0, "end": 5635549, "filename": "/resources/textures/circle_level_ii_off.png"}, {"audio": 0, "start": 5635549, "crunched": 0, "end": 5742157, "filename": "/resources/textures/circle_level_ii_on.png"}, {"audio": 0, "start": 5742157, "crunched": 0, "end": 5757605, "filename": "/resources/textures/circle_level_i_off.png"}, {"audio": 0, "start": 5757605, "crunched": 0, "end": 5809048, "filename": "/resources/textures/circle_level_i_on.png"}, {"audio": 0, "start": 5809048, "crunched": 0, "end": 5811860, "filename": "/resources/textures/enemy.png"}, {"audio": 0, "start": 5811860, "crunched": 0, "end": 5839971, "filename": "/resources/textures/foreground_level_i.png"}, {"audio": 0, "start": 5839971, "crunched": 0, "end": 5876092, "filename": "/resources/textures/foreground_level_ii.png"}, {"audio": 0, "start": 5876092, "crunched": 0, "end": 5918228, "filename": "/resources/textures/foreground_level_iii.png"}, {"audio": 0, "start": 5918228, "crunched": 0, "end": 5920503, "filename": "/resources/textures/light.png"}, {"audio": 0, "start": 5920503, "crunched": 0, "end": 5929164, "filename": "/resources/textures/light_glow.png"}, {"audio": 0, "start": 5929164, "crunched": 0, "end": 5937944, "filename": "/resources/textures/light_ray.png"}, {"audio": 0, "start": 5937944, "crunched": 0, "end": 6051956, "filename": "/resources/textures/msg_ritual.png"}, {"audio": 0, "start": 6051956, "crunched": 0, "end": 6054855, "filename": "/resources/textures/player.png"}, {"audio": 0, "start": 6054855, "crunched": 0, "end": 6170729, "filename": "/resources/textures/time_over.png"}, {"audio": 0, "start": 6170729, "crunched": 0, "end": 6384278, "filename": "/resources/textures/title.png"}], "remote_package_size": 6384278, "package_uuid": "4b0f8033-87a2-4d76-b67c-1aa6419b57e9"}); + loadPackage({"files": [{"audio": 0, "start": 0, "crunched": 0, "end": 97566, "filename": "/resources/font_arcadian.png"}, {"audio": 0, "start": 97566, "crunched": 0, "end": 97996, "filename": "/resources/lights_map.png"}, {"audio": 1, "start": 97996, "crunched": 0, "end": 1372570, "filename": "/resources/audio/ambient.ogg"}, {"audio": 1, "start": 1372570, "crunched": 0, "end": 1381861, "filename": "/resources/audio/light_off.wav"}, {"audio": 1, "start": 1381861, "crunched": 0, "end": 1384196, "filename": "/resources/audio/light_on.wav"}, {"audio": 1, "start": 1384196, "crunched": 0, "end": 3977117, "filename": "/resources/audio/ritual.ogg"}, {"audio": 1, "start": 3977117, "crunched": 0, "end": 3991196, "filename": "/resources/audio/start.wav"}, {"audio": 0, "start": 3991196, "crunched": 0, "end": 5222414, "filename": "/resources/textures/background.png"}, {"audio": 0, "start": 5222414, "crunched": 0, "end": 5405314, "filename": "/resources/textures/back_title.png"}, {"audio": 0, "start": 5405314, "crunched": 0, "end": 5409716, "filename": "/resources/textures/book.png"}, {"audio": 0, "start": 5409716, "crunched": 0, "end": 5447280, "filename": "/resources/textures/circle_level_iii_off.png"}, {"audio": 0, "start": 5447280, "crunched": 0, "end": 5607587, "filename": "/resources/textures/circle_level_iii_on.png"}, {"audio": 0, "start": 5607587, "crunched": 0, "end": 5635549, "filename": "/resources/textures/circle_level_ii_off.png"}, {"audio": 0, "start": 5635549, "crunched": 0, "end": 5742157, "filename": "/resources/textures/circle_level_ii_on.png"}, {"audio": 0, "start": 5742157, "crunched": 0, "end": 5757605, "filename": "/resources/textures/circle_level_i_off.png"}, {"audio": 0, "start": 5757605, "crunched": 0, "end": 5809048, "filename": "/resources/textures/circle_level_i_on.png"}, {"audio": 0, "start": 5809048, "crunched": 0, "end": 5811860, "filename": "/resources/textures/enemy.png"}, {"audio": 0, "start": 5811860, "crunched": 0, "end": 5839971, "filename": "/resources/textures/foreground_level_i.png"}, {"audio": 0, "start": 5839971, "crunched": 0, "end": 5876092, "filename": "/resources/textures/foreground_level_ii.png"}, {"audio": 0, "start": 5876092, "crunched": 0, "end": 5918228, "filename": "/resources/textures/foreground_level_iii.png"}, {"audio": 0, "start": 5918228, "crunched": 0, "end": 5920503, "filename": "/resources/textures/light.png"}, {"audio": 0, "start": 5920503, "crunched": 0, "end": 5929164, "filename": "/resources/textures/light_glow.png"}, {"audio": 0, "start": 5929164, "crunched": 0, "end": 5937944, "filename": "/resources/textures/light_ray.png"}, {"audio": 0, "start": 5937944, "crunched": 0, "end": 6051956, "filename": "/resources/textures/msg_ritual.png"}, {"audio": 0, "start": 6051956, "crunched": 0, "end": 6054855, "filename": "/resources/textures/player.png"}, {"audio": 0, "start": 6054855, "crunched": 0, "end": 6170729, "filename": "/resources/textures/time_over.png"}, {"audio": 0, "start": 6170729, "crunched": 0, "end": 6384278, "filename": "/resources/textures/title.png"}], "remote_package_size": 6384278, "package_uuid": "51e1317c-9b7a-47c9-9f0e-030d007e42e1"}); })(); @@ -1395,85 +1395,14 @@ function abortOnCannotGrowMemory() { abort('Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value ' + TOTAL_MEMORY + ', (2) compile with -s ALLOW_MEMORY_GROWTH=1 which adjusts the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 '); } -if (!Module['reallocBuffer']) Module['reallocBuffer'] = function(size) { - var ret; - try { - if (ArrayBuffer.transfer) { - ret = ArrayBuffer.transfer(buffer, size); - } else { - var oldHEAP8 = HEAP8; - ret = new ArrayBuffer(size); - var temp = new Int8Array(ret); - temp.set(oldHEAP8); - } - } catch(e) { - return false; - } - var success = _emscripten_replace_memory(ret); - if (!success) return false; - return ret; -}; function enlargeMemory() { - // TOTAL_MEMORY is the current size of the actual array, and DYNAMICTOP is the new top. - assert(HEAP32[DYNAMICTOP_PTR>>2] > TOTAL_MEMORY); // This function should only ever be called after the ceiling of the dynamic heap has already been bumped to exceed the current total size of the asm.js heap. - - - var PAGE_MULTIPLE = Module["usingWasm"] ? WASM_PAGE_SIZE : ASMJS_PAGE_SIZE; // In wasm, heap size must be a multiple of 64KB. In asm.js, they need to be multiples of 16MB. - var LIMIT = 2147483648 - PAGE_MULTIPLE; // We can do one page short of 2GB as theoretical maximum. - - if (HEAP32[DYNAMICTOP_PTR>>2] > LIMIT) { - Module.printErr('Cannot enlarge memory, asked to go up to ' + HEAP32[DYNAMICTOP_PTR>>2] + ' bytes, but the limit is ' + LIMIT + ' bytes!'); - return false; - } - - var OLD_TOTAL_MEMORY = TOTAL_MEMORY; - TOTAL_MEMORY = Math.max(TOTAL_MEMORY, MIN_TOTAL_MEMORY); // So the loop below will not be infinite, and minimum asm.js memory size is 16MB. - - while (TOTAL_MEMORY < HEAP32[DYNAMICTOP_PTR>>2]) { // Keep incrementing the heap size as long as it's less than what is requested. - if (TOTAL_MEMORY <= 536870912) { - TOTAL_MEMORY = alignUp(2 * TOTAL_MEMORY, PAGE_MULTIPLE); // Simple heuristic: double until 1GB... - } else { - TOTAL_MEMORY = Math.min(alignUp((3 * TOTAL_MEMORY + 2147483648) / 4, PAGE_MULTIPLE), LIMIT); // ..., but after that, add smaller increments towards 2GB, which we cannot reach - } - } - - var start = Date.now(); - - var replacement = Module['reallocBuffer'](TOTAL_MEMORY); - if (!replacement || replacement.byteLength != TOTAL_MEMORY) { - Module.printErr('Failed to grow the heap from ' + OLD_TOTAL_MEMORY + ' bytes to ' + TOTAL_MEMORY + ' bytes, not enough memory!'); - if (replacement) { - Module.printErr('Expected to get back a buffer of size ' + TOTAL_MEMORY + ' bytes, but instead got back a buffer of size ' + replacement.byteLength); - } - return false; - } - - // everything worked - - updateGlobalBuffer(replacement); - updateGlobalBufferViews(); - - Module.printErr('enlarged memory arrays from ' + OLD_TOTAL_MEMORY + ' to ' + TOTAL_MEMORY + ', took ' + (Date.now() - start) + ' ms (has ArrayBuffer.transfer? ' + (!!ArrayBuffer.transfer) + ')'); - - if (!Module["usingWasm"]) { - Module.printErr('Warning: Enlarging memory arrays, this is not fast! ' + [OLD_TOTAL_MEMORY, TOTAL_MEMORY]); - } - - - return true; + abortOnCannotGrowMemory(); } -var byteLength; -try { - byteLength = Function.prototype.call.bind(Object.getOwnPropertyDescriptor(ArrayBuffer.prototype, 'byteLength').get); - byteLength(new ArrayBuffer(4)); // can fail on older ie -} catch(e) { // can fail on older node/v8 - byteLength = function(buffer) { return buffer.byteLength; }; -} var TOTAL_STACK = Module['TOTAL_STACK'] || 5242880; -var TOTAL_MEMORY = Module['TOTAL_MEMORY'] || 16777216; +var TOTAL_MEMORY = Module['TOTAL_MEMORY'] || 33554432; if (TOTAL_MEMORY < TOTAL_STACK) Module.printErr('TOTAL_MEMORY should be larger than TOTAL_STACK, was ' + TOTAL_MEMORY + '! (TOTAL_STACK=' + TOTAL_STACK + ')'); // Initialize the runtime's memory @@ -8087,14 +8016,6 @@ function copyTempDouble(ptr) { GL.programInfos[id] = null; } - function _emscripten_get_pointerlock_status(pointerlockStatus) { - if (pointerlockStatus) JSEvents.fillPointerlockChangeEventData(pointerlockStatus); - if (!document.body || (!document.body.requestPointerLock && !document.body.mozRequestPointerLock && !document.body.webkitRequestPointerLock && !document.body.msRequestPointerLock)) { - return -1; - } - return 0; - } - function _alSourcePlay(source) { if (!AL.currentContext) { return; @@ -8499,29 +8420,6 @@ function copyTempDouble(ptr) { GLctx.uniform4f(GL.uniforms[location], v0, v1, v2, v3); } - function _emscripten_request_pointerlock(target, deferUntilInEventHandler) { - if (!target) target = '#canvas'; - target = JSEvents.findEventTarget(target); - if (!target) return -4; - if (!target.requestPointerLock && !target.mozRequestPointerLock && !target.webkitRequestPointerLock && !target.msRequestPointerLock) { - return -1; - } - - var canPerformRequests = JSEvents.canPerformEventHandlerRequests(); - - // Queue this function call if we're not currently in an event handler and the user saw it appropriate to do so. - if (!canPerformRequests) { - if (deferUntilInEventHandler) { - JSEvents.deferCall(JSEvents.requestPointerLock, 2 /* priority below fullscreen */, [target]); - return 1; - } else { - return -2; - } - } - - return JSEvents.requestPointerLock(target); - } - function _emscripten_glVertexAttrib2f(x0, x1, x2) { GLctx['vertexAttrib2f'](x0, x1, x2) } function _glfwCreateWindow(width, height, title, monitor, share) { @@ -10323,7 +10221,10 @@ function copyTempDouble(ptr) { Module["_llvm_bswap_i32"] = _llvm_bswap_i32; - function _glTexParameteri(x0, x1, x2) { GLctx['texParameteri'](x0, x1, x2) } + function _emscripten_set_click_callback(target, userData, useCapture, callbackfunc) { + JSEvents.registerMouseEventCallback(target, userData, useCapture, callbackfunc, 4, "click"); + return 0; + } function _glfwSetKeyCallback(winid, cbfun) { GLFW.setKeyCallback(winid, cbfun); @@ -10545,10 +10446,7 @@ function copyTempDouble(ptr) { function _glTexParameterf(x0, x1, x2) { GLctx['texParameterf'](x0, x1, x2) } - function _emscripten_set_click_callback(target, userData, useCapture, callbackfunc) { - JSEvents.registerMouseEventCallback(target, userData, useCapture, callbackfunc, 4, "click"); - return 0; - } + function _glTexParameteri(x0, x1, x2) { GLctx['texParameteri'](x0, x1, x2) } function _glFrontFace(x0) { GLctx['frontFace'](x0) } @@ -10972,31 +10870,22 @@ function invoke_viiii(index,a1,a2,a3,a4) { } } -Module.asmGlobalArg = { "Math": Math, "Int8Array": Int8Array, "Int16Array": Int16Array, "Int32Array": Int32Array, "Uint8Array": Uint8Array, "Uint16Array": Uint16Array, "Uint32Array": Uint32Array, "Float32Array": Float32Array, "Float64Array": Float64Array, "NaN": NaN, "Infinity": Infinity, "byteLength": byteLength }; +Module.asmGlobalArg = { "Math": Math, "Int8Array": Int8Array, "Int16Array": Int16Array, "Int32Array": Int32Array, "Uint8Array": Uint8Array, "Uint16Array": Uint16Array, "Uint32Array": Uint32Array, "Float32Array": Float32Array, "Float64Array": Float64Array, "NaN": NaN, "Infinity": Infinity }; -Module.asmLibraryArg = { "abort": abort, "assert": assert, "enlargeMemory": enlargeMemory, "getTotalMemory": getTotalMemory, "abortOnCannotGrowMemory": abortOnCannotGrowMemory, "abortStackOverflow": abortStackOverflow, "nullFunc_viiiii": nullFunc_viiiii, "nullFunc_vd": nullFunc_vd, "nullFunc_vid": nullFunc_vid, "nullFunc_vi": nullFunc_vi, "nullFunc_vii": nullFunc_vii, "nullFunc_ii": nullFunc_ii, "nullFunc_viddd": nullFunc_viddd, "nullFunc_vidd": nullFunc_vidd, "nullFunc_iiii": nullFunc_iiii, "nullFunc_viiiiiiii": nullFunc_viiiiiiii, "nullFunc_viiiiii": nullFunc_viiiiii, "nullFunc_viii": nullFunc_viii, "nullFunc_vidddd": nullFunc_vidddd, "nullFunc_vdi": nullFunc_vdi, "nullFunc_viiiiiii": nullFunc_viiiiiii, "nullFunc_viiiiiiiii": nullFunc_viiiiiiiii, "nullFunc_iii": nullFunc_iii, "nullFunc_i": nullFunc_i, "nullFunc_vdddddd": nullFunc_vdddddd, "nullFunc_vdddd": nullFunc_vdddd, "nullFunc_vdd": nullFunc_vdd, "nullFunc_v": nullFunc_v, "nullFunc_viid": nullFunc_viid, "nullFunc_viiii": nullFunc_viiii, "invoke_viiiii": invoke_viiiii, "invoke_vd": invoke_vd, "invoke_vid": invoke_vid, "invoke_vi": invoke_vi, "invoke_vii": invoke_vii, "invoke_ii": invoke_ii, "invoke_viddd": invoke_viddd, "invoke_vidd": invoke_vidd, "invoke_iiii": invoke_iiii, "invoke_viiiiiiii": invoke_viiiiiiii, "invoke_viiiiii": invoke_viiiiii, "invoke_viii": invoke_viii, "invoke_vidddd": invoke_vidddd, "invoke_vdi": invoke_vdi, "invoke_viiiiiii": invoke_viiiiiii, "invoke_viiiiiiiii": invoke_viiiiiiiii, "invoke_iii": invoke_iii, "invoke_i": invoke_i, "invoke_vdddddd": invoke_vdddddd, "invoke_vdddd": invoke_vdddd, "invoke_vdd": invoke_vdd, "invoke_v": invoke_v, "invoke_viid": invoke_viid, "invoke_viiii": invoke_viiii, "_emscripten_glGetTexParameterfv": _emscripten_glGetTexParameterfv, "_glUseProgram": _glUseProgram, "_emscripten_glShaderSource": _emscripten_glShaderSource, "_glfwCreateWindow": _glfwCreateWindow, "_emscripten_glReleaseShaderCompiler": _emscripten_glReleaseShaderCompiler, "_emscripten_glBlendFuncSeparate": _emscripten_glBlendFuncSeparate, "_emscripten_glUniform4iv": _emscripten_glUniform4iv, "_emscripten_glVertexAttribPointer": _emscripten_glVertexAttribPointer, "_emscripten_glGetIntegerv": _emscripten_glGetIntegerv, "_emscripten_glCullFace": _emscripten_glCullFace, "_emscripten_glIsProgram": _emscripten_glIsProgram, "_emscripten_glStencilMaskSeparate": _emscripten_glStencilMaskSeparate, "_emscripten_glViewport": _emscripten_glViewport, "_emscripten_glFrontFace": _emscripten_glFrontFace, "_alBufferData": _alBufferData, "___assert_fail": ___assert_fail, "_glDeleteProgram": _glDeleteProgram, "_emscripten_glUniform3fv": _emscripten_glUniform3fv, "_emscripten_glPolygonOffset": _emscripten_glPolygonOffset, "_emscripten_glUseProgram": _emscripten_glUseProgram, "_emscripten_glBlendColor": _emscripten_glBlendColor, "_glBindBuffer": _glBindBuffer, "_emscripten_glDepthFunc": _emscripten_glDepthFunc, "_glGetShaderInfoLog": _glGetShaderInfoLog, "_alSource3f": _alSource3f, "_emscripten_set_fullscreenchange_callback": _emscripten_set_fullscreenchange_callback, "_emscripten_set_touchmove_callback": _emscripten_set_touchmove_callback, "_emscripten_set_main_loop_timing": _emscripten_set_main_loop_timing, "_glDisable": _glDisable, "_glBlendFunc": _glBlendFunc, "_emscripten_glDisableVertexAttribArray": _emscripten_glDisableVertexAttribArray, "_glGetAttribLocation": _glGetAttribLocation, "_glDisableVertexAttribArray": _glDisableVertexAttribArray, "_glCreateShader": _glCreateShader, "_emscripten_glReadPixels": _emscripten_glReadPixels, "_alcGetString": _alcGetString, "_emscripten_glSampleCoverage": _emscripten_glSampleCoverage, "_emscripten_glVertexPointer": _emscripten_glVertexPointer, "_emscripten_set_touchstart_callback": _emscripten_set_touchstart_callback, "emscriptenWebGLComputeImageSize": emscriptenWebGLComputeImageSize, "_emscripten_glGetBooleanv": _emscripten_glGetBooleanv, "___syscall221": ___syscall221, "_glUniform4f": _glUniform4f, "_llvm_stacksave": _llvm_stacksave, "_emscripten_glUniform1i": _emscripten_glUniform1i, "_emscripten_glStencilFuncSeparate": _emscripten_glStencilFuncSeparate, "_emscripten_glLoadMatrixf": _emscripten_glLoadMatrixf, "_emscripten_glGenBuffers": _emscripten_glGenBuffers, "_emscripten_glDeleteObjectARB": _emscripten_glDeleteObjectARB, "_glfwSetWindowSizeCallback": _glfwSetWindowSizeCallback, "_emscripten_glGetShaderPrecisionFormat": _emscripten_glGetShaderPrecisionFormat, "_glfwInit": _glfwInit, "_emscripten_glGetPointerv": _emscripten_glGetPointerv, "_glGenBuffers": _glGenBuffers, "_glShaderSource": _glShaderSource, "_emscripten_glGetString": _emscripten_glGetString, "_emscripten_glIsFramebuffer": _emscripten_glIsFramebuffer, "_emscripten_glIsEnabled": _emscripten_glIsEnabled, "_emscripten_glScissor": _emscripten_glScissor, "_emscripten_glVertexAttrib4fv": _emscripten_glVertexAttrib4fv, "_emscripten_glFramebufferTexture2D": _emscripten_glFramebufferTexture2D, "_emscripten_glTexParameteriv": _emscripten_glTexParameteriv, "_emscripten_glBindProgramARB": _emscripten_glBindProgramARB, "_emscripten_glStencilOpSeparate": _emscripten_glStencilOpSeparate, "_alSourcePlay": _alSourcePlay, "_alSourcei": _alSourcei, "_emscripten_glFramebufferRenderbuffer": _emscripten_glFramebufferRenderbuffer, "___syscall140": ___syscall140, "_glfwSetErrorCallback": _glfwSetErrorCallback, "_glfwDefaultWindowHints": _glfwDefaultWindowHints, "_emscripten_glIsBuffer": _emscripten_glIsBuffer, "___syscall146": ___syscall146, "_glfwDestroyWindow": _glfwDestroyWindow, "_emscripten_glGetActiveAttrib": _emscripten_glGetActiveAttrib, "_emscripten_glAttachShader": _emscripten_glAttachShader, "_glVertexAttribPointer": _glVertexAttribPointer, "_emscripten_glUniform2i": _emscripten_glUniform2i, "_emscripten_glUniform2f": _emscripten_glUniform2f, "_alcCreateContext": _alcCreateContext, "_glfwTerminate": _glfwTerminate, "_emscripten_glTexParameterfv": _emscripten_glTexParameterfv, "_emscripten_glUniformMatrix2fv": _emscripten_glUniformMatrix2fv, "_glGetProgramInfoLog": _glGetProgramInfoLog, "_emscripten_glGetUniformiv": _emscripten_glGetUniformiv, "_emscripten_glTexParameterf": _emscripten_glTexParameterf, "_emscripten_glGetAttachedShaders": _emscripten_glGetAttachedShaders, "_emscripten_glGenTextures": _emscripten_glGenTextures, "_emscripten_glTexParameteri": _emscripten_glTexParameteri, "_emscripten_glIsShader": _emscripten_glIsShader, "_llvm_stackrestore": _llvm_stackrestore, "_glfwMakeContextCurrent": _glfwMakeContextCurrent, "_emscripten_glClear": _emscripten_glClear, "_glDrawElements": _glDrawElements, "_alGetSourcei": _alGetSourcei, "_glBufferSubData": _glBufferSubData, "_alcMakeContextCurrent": _alcMakeContextCurrent, "_emscripten_glGenVertexArrays": _emscripten_glGenVertexArrays, "_emscripten_glVertexAttrib2fv": _emscripten_glVertexAttrib2fv, "_glViewport": _glViewport, "_alSourceQueueBuffers": _alSourceQueueBuffers, "_emscripten_glGetTexParameteriv": _emscripten_glGetTexParameteriv, "___setErrNo": ___setErrNo, "_eglGetProcAddress": _eglGetProcAddress, "_alcGetCurrentContext": _alcGetCurrentContext, "_emscripten_glBindAttribLocation": _emscripten_glBindAttribLocation, "_glDeleteTextures": _glDeleteTextures, "_glDepthFunc": _glDepthFunc, "_emscripten_glClientActiveTexture": _emscripten_glClientActiveTexture, "_emscripten_glVertexAttrib2f": _emscripten_glVertexAttrib2f, "_emscripten_glFlush": _emscripten_glFlush, "_emscripten_glCheckFramebufferStatus": _emscripten_glCheckFramebufferStatus, "_emscripten_glGenerateMipmap": _emscripten_glGenerateMipmap, "_emscripten_glGetError": _emscripten_glGetError, "_alGenBuffers": _alGenBuffers, "_emscripten_glClearDepthf": _emscripten_glClearDepthf, "_emscripten_glBufferData": _emscripten_glBufferData, "_emscripten_glUniform3i": _emscripten_glUniform3i, "_emscripten_glRotatef": _emscripten_glRotatef, "_emscripten_glDeleteShader": _emscripten_glDeleteShader, "_glEnable": _glEnable, "_glGenTextures": _glGenTextures, "_emscripten_glMatrixMode": _emscripten_glMatrixMode, "_alDeleteSources": _alDeleteSources, "_emscripten_glClearStencil": _emscripten_glClearStencil, "_emscripten_glGetUniformLocation": _emscripten_glGetUniformLocation, "emscriptenWebGLGet": emscriptenWebGLGet, "_alSourceUnqueueBuffers": _alSourceUnqueueBuffers, "_emscripten_glEnableVertexAttribArray": _emscripten_glEnableVertexAttribArray, "_alGetError": _alGetError, "_emscripten_get_now": _emscripten_get_now, "_emscripten_glNormalPointer": _emscripten_glNormalPointer, "_glAttachShader": _glAttachShader, "_emscripten_glTexCoordPointer": _emscripten_glTexCoordPointer, "_emscripten_glEnable": _emscripten_glEnable, "_glCreateProgram": _glCreateProgram, "_glUniformMatrix4fv": _glUniformMatrix4fv, "_emscripten_glClearDepth": _emscripten_glClearDepth, "___lock": ___lock, "emscriptenWebGLGetTexPixelData": emscriptenWebGLGetTexPixelData, "___syscall6": ___syscall6, "___syscall5": ___syscall5, "___syscall145": ___syscall145, "_emscripten_glVertexAttrib3f": _emscripten_glVertexAttrib3f, "_time": _time, "_emscripten_glVertexAttrib1f": _emscripten_glVertexAttrib1f, "_emscripten_glGetFramebufferAttachmentParameteriv": _emscripten_glGetFramebufferAttachmentParameteriv, "_emscripten_glBlendEquationSeparate": _emscripten_glBlendEquationSeparate, "_exit": _exit, "_emscripten_glBindFramebuffer": _emscripten_glBindFramebuffer, "_glGetString": _glGetString, "_emscripten_glUniform4i": _emscripten_glUniform4i, "_alSourcef": _alSourcef, "_emscripten_glDrawRangeElements": _emscripten_glDrawRangeElements, "_glCullFace": _glCullFace, "_llvm_pow_f64": _llvm_pow_f64, "_emscripten_set_keypress_callback": _emscripten_set_keypress_callback, "__emscripten_sample_gamepad_data": __emscripten_sample_gamepad_data, "_emscripten_get_gamepad_status": _emscripten_get_gamepad_status, "_emscripten_glUniform4f": _emscripten_glUniform4f, "_glfwSwapInterval": _glfwSwapInterval, "_glfwGetVideoModes": _glfwGetVideoModes, "_emscripten_set_click_callback": _emscripten_set_click_callback, "_emscripten_glShaderBinary": _emscripten_glShaderBinary, "_emscripten_glDrawElements": _emscripten_glDrawElements, "_emscripten_glBlendFunc": _emscripten_glBlendFunc, "_emscripten_get_num_gamepads": _emscripten_get_num_gamepads, "_glCompressedTexImage2D": _glCompressedTexImage2D, "_emscripten_glUniform1iv": _emscripten_glUniform1iv, "_emscripten_glGetVertexAttribPointerv": _emscripten_glGetVertexAttribPointerv, "_glClearDepthf": _glClearDepthf, "_emscripten_glCompressedTexSubImage2D": _emscripten_glCompressedTexSubImage2D, "emscriptenWebGLGetUniform": emscriptenWebGLGetUniform, "_emscripten_glGenRenderbuffers": _emscripten_glGenRenderbuffers, "_emscripten_glDeleteVertexArrays": _emscripten_glDeleteVertexArrays, "_glfwSetWindowShouldClose": _glfwSetWindowShouldClose, "_emscripten_glUniform1fv": _emscripten_glUniform1fv, "_emscripten_glGetActiveUniform": _emscripten_glGetActiveUniform, "_glBindTexture": _glBindTexture, "_emscripten_glUniform3iv": _emscripten_glUniform3iv, "_emscripten_glUniform2iv": _emscripten_glUniform2iv, "_emscripten_glHint": _emscripten_glHint, "_glfwSetCharCallback": _glfwSetCharCallback, "emscriptenWebGLGetVertexAttrib": emscriptenWebGLGetVertexAttrib, "_glGetFloatv": _glGetFloatv, "_emscripten_glDeleteProgram": _emscripten_glDeleteProgram, "_emscripten_glDeleteRenderbuffers": _emscripten_glDeleteRenderbuffers, "_glfwSetScrollCallback": _glfwSetScrollCallback, "_emscripten_glDrawElementsInstanced": _emscripten_glDrawElementsInstanced, "_emscripten_glVertexAttrib4f": _emscripten_glVertexAttrib4f, "_alcDestroyContext": _alcDestroyContext, "_glDrawArrays": _glDrawArrays, "_emscripten_glTexSubImage2D": _emscripten_glTexSubImage2D, "_emscripten_memcpy_big": _emscripten_memcpy_big, "_emscripten_glPixelStorei": _emscripten_glPixelStorei, "_glCompileShader": _glCompileShader, "_alListenerf": _alListenerf, "_emscripten_glUniformMatrix3fv": _emscripten_glUniformMatrix3fv, "_emscripten_glColorPointer": _emscripten_glColorPointer, "_emscripten_glGetBufferParameteriv": _emscripten_glGetBufferParameteriv, "_emscripten_glFinish": _emscripten_glFinish, "_emscripten_request_pointerlock": _emscripten_request_pointerlock, "_emscripten_set_gamepaddisconnected_callback": _emscripten_set_gamepaddisconnected_callback, "_emscripten_asm_const_iii": _emscripten_asm_const_iii, "_emscripten_glDepthMask": _emscripten_glDepthMask, "_glfwSetWindowIconifyCallback": _glfwSetWindowIconifyCallback, "_emscripten_glDrawBuffers": _emscripten_glDrawBuffers, "_alSourceStop": _alSourceStop, "_glFrontFace": _glFrontFace, "_emscripten_glGetObjectParameterivARB": _emscripten_glGetObjectParameterivARB, "_emscripten_exit_pointerlock": _emscripten_exit_pointerlock, "_alcCloseDevice": _alcCloseDevice, "_glUniform1i": _glUniform1i, "_glEnableVertexAttribArray": _glEnableVertexAttribArray, "_emscripten_glStencilFunc": _emscripten_glStencilFunc, "_abort": _abort, "_alcGetContextsDevice": _alcGetContextsDevice, "_emscripten_glUniform2fv": _emscripten_glUniform2fv, "_glfwGetCursorPos": _glfwGetCursorPos, "_glDeleteBuffers": _glDeleteBuffers, "_glBufferData": _glBufferData, "_glTexImage2D": _glTexImage2D, "_emscripten_glGetShaderiv": _emscripten_glGetShaderiv, "_glfwSetKeyCallback": _glfwSetKeyCallback, "_emscripten_glGenFramebuffers": _emscripten_glGenFramebuffers, "_emscripten_glUniformMatrix4fv": _emscripten_glUniformMatrix4fv, "_emscripten_glLoadIdentity": _emscripten_glLoadIdentity, "_glDeleteShader": _glDeleteShader, "_emscripten_glUniform1f": _emscripten_glUniform1f, "_glGetProgramiv": _glGetProgramiv, "_llvm_exp2_f32": _llvm_exp2_f32, "_emscripten_glIsRenderbuffer": _emscripten_glIsRenderbuffer, "_glfwGetTime": _glfwGetTime, "_emscripten_glRenderbufferStorage": _emscripten_glRenderbufferStorage, "_emscripten_set_gamepadconnected_callback": _emscripten_set_gamepadconnected_callback, "_alListener3f": _alListener3f, "_emscripten_glGetVertexAttribiv": _emscripten_glGetVertexAttribiv, "_emscripten_glBindVertexArray": _emscripten_glBindVertexArray, "_emscripten_glDrawArraysInstanced": _emscripten_glDrawArraysInstanced, "_emscripten_set_touchcancel_callback": _emscripten_set_touchcancel_callback, "_emscripten_glCreateShader": _emscripten_glCreateShader, "_emscripten_glStencilMask": _emscripten_glStencilMask, "_emscripten_glDeleteTextures": _emscripten_glDeleteTextures, "_glfwGetKey": _glfwGetKey, "_glfwGetPrimaryMonitor": _glfwGetPrimaryMonitor, "_glLinkProgram": _glLinkProgram, "_emscripten_glVertexAttribDivisor": _emscripten_glVertexAttribDivisor, "_emscripten_set_touchend_callback": _emscripten_set_touchend_callback, "_emscripten_glGetUniformfv": _emscripten_glGetUniformfv, "_emscripten_glGetVertexAttribfv": _emscripten_glGetVertexAttribfv, "_emscripten_glGetRenderbufferParameteriv": _emscripten_glGetRenderbufferParameteriv, "_glGetShaderiv": _glGetShaderiv, "_emscripten_glVertexAttrib3fv": _emscripten_glVertexAttrib3fv, "_glGetUniformLocation": _glGetUniformLocation, "_emscripten_glGetInfoLogARB": _emscripten_glGetInfoLogARB, "_emscripten_glCompileShader": _emscripten_glCompileShader, "_glClear": _glClear, "_emscripten_glFrustum": _emscripten_glFrustum, "_emscripten_glDisable": _emscripten_glDisable, "_emscripten_glDepthRangef": _emscripten_glDepthRangef, "__exit": __exit, "_emscripten_glLineWidth": _emscripten_glLineWidth, "_emscripten_glUniform3f": _emscripten_glUniform3f, "_emscripten_glGetShaderInfoLog": _emscripten_glGetShaderInfoLog, "_emscripten_glStencilOp": _emscripten_glStencilOp, "_glBindAttribLocation": _glBindAttribLocation, "_glPixelStorei": _glPixelStorei, "_emscripten_glColorMask": _emscripten_glColorMask, "_emscripten_glLinkProgram": _emscripten_glLinkProgram, "_emscripten_glBlendEquation": _emscripten_glBlendEquation, "_emscripten_glIsTexture": _emscripten_glIsTexture, "_alDeleteBuffers": _alDeleteBuffers, "_emscripten_glGetProgramiv": _emscripten_glGetProgramiv, "_emscripten_glVertexAttrib1fv": _emscripten_glVertexAttrib1fv, "_emscripten_glBindTexture": _emscripten_glBindTexture, "_glfwSetMouseButtonCallback": _glfwSetMouseButtonCallback, "_emscripten_get_pointerlock_status": _emscripten_get_pointerlock_status, "_emscripten_glActiveTexture": _emscripten_glActiveTexture, "_emscripten_glDeleteBuffers": _emscripten_glDeleteBuffers, "___syscall54": ___syscall54, "___unlock": ___unlock, "_emscripten_glBufferSubData": _emscripten_glBufferSubData, "_glfwSwapBuffers": _glfwSwapBuffers, "_emscripten_glDepthRange": _emscripten_glDepthRange, "_emscripten_set_main_loop": _emscripten_set_main_loop, "_emscripten_glBindRenderbuffer": _emscripten_glBindRenderbuffer, "_emscripten_glGetProgramInfoLog": _emscripten_glGetProgramInfoLog, "_glfwWindowHint": _glfwWindowHint, "_alGenSources": _alGenSources, "_glfwSetCursorPosCallback": _glfwSetCursorPosCallback, "_emscripten_glDeleteFramebuffers": _emscripten_glDeleteFramebuffers, "_emscripten_glUniform4fv": _emscripten_glUniform4fv, "_alcOpenDevice": _alcOpenDevice, "_emscripten_glDrawArrays": _emscripten_glDrawArrays, "_emscripten_glCompressedTexImage2D": _emscripten_glCompressedTexImage2D, "_emscripten_glClearColor": _emscripten_glClearColor, "_emscripten_glGetShaderSource": _emscripten_glGetShaderSource, "_emscripten_glCreateProgram": _emscripten_glCreateProgram, "_emscripten_glCopyTexSubImage2D": _emscripten_glCopyTexSubImage2D, "_emscripten_glGetAttribLocation": _emscripten_glGetAttribLocation, "_glTexParameteri": _glTexParameteri, "_emscripten_glValidateProgram": _emscripten_glValidateProgram, "_emscripten_glBindBuffer": _emscripten_glBindBuffer, "_emscripten_glGetFloatv": _emscripten_glGetFloatv, "_emscripten_glDetachShader": _emscripten_glDetachShader, "_glClearColor": _glClearColor, "_emscripten_glEnableClientState": _emscripten_glEnableClientState, "_glTexParameterf": _glTexParameterf, "_glfwSetCursorEnterCallback": _glfwSetCursorEnterCallback, "_emscripten_glCopyTexImage2D": _emscripten_glCopyTexImage2D, "_emscripten_glTexImage2D": _emscripten_glTexImage2D, "DYNAMICTOP_PTR": DYNAMICTOP_PTR, "tempDoublePtr": tempDoublePtr, "ABORT": ABORT, "STACKTOP": STACKTOP, "STACK_MAX": STACK_MAX, "cttz_i8": cttz_i8 }; +Module.asmLibraryArg = { "abort": abort, "assert": assert, "enlargeMemory": enlargeMemory, "getTotalMemory": getTotalMemory, "abortOnCannotGrowMemory": abortOnCannotGrowMemory, "abortStackOverflow": abortStackOverflow, "nullFunc_viiiii": nullFunc_viiiii, "nullFunc_vd": nullFunc_vd, "nullFunc_vid": nullFunc_vid, "nullFunc_vi": nullFunc_vi, "nullFunc_vii": nullFunc_vii, "nullFunc_ii": nullFunc_ii, "nullFunc_viddd": nullFunc_viddd, "nullFunc_vidd": nullFunc_vidd, "nullFunc_iiii": nullFunc_iiii, "nullFunc_viiiiiiii": nullFunc_viiiiiiii, "nullFunc_viiiiii": nullFunc_viiiiii, "nullFunc_viii": nullFunc_viii, "nullFunc_vidddd": nullFunc_vidddd, "nullFunc_vdi": nullFunc_vdi, "nullFunc_viiiiiii": nullFunc_viiiiiii, "nullFunc_viiiiiiiii": nullFunc_viiiiiiiii, "nullFunc_iii": nullFunc_iii, "nullFunc_i": nullFunc_i, "nullFunc_vdddddd": nullFunc_vdddddd, "nullFunc_vdddd": nullFunc_vdddd, "nullFunc_vdd": nullFunc_vdd, "nullFunc_v": nullFunc_v, "nullFunc_viid": nullFunc_viid, "nullFunc_viiii": nullFunc_viiii, "invoke_viiiii": invoke_viiiii, "invoke_vd": invoke_vd, "invoke_vid": invoke_vid, "invoke_vi": invoke_vi, "invoke_vii": invoke_vii, "invoke_ii": invoke_ii, "invoke_viddd": invoke_viddd, "invoke_vidd": invoke_vidd, "invoke_iiii": invoke_iiii, "invoke_viiiiiiii": invoke_viiiiiiii, "invoke_viiiiii": invoke_viiiiii, "invoke_viii": invoke_viii, "invoke_vidddd": invoke_vidddd, "invoke_vdi": invoke_vdi, "invoke_viiiiiii": invoke_viiiiiii, "invoke_viiiiiiiii": invoke_viiiiiiiii, "invoke_iii": invoke_iii, "invoke_i": invoke_i, "invoke_vdddddd": invoke_vdddddd, "invoke_vdddd": invoke_vdddd, "invoke_vdd": invoke_vdd, "invoke_v": invoke_v, "invoke_viid": invoke_viid, "invoke_viiii": invoke_viiii, "_emscripten_glGetTexParameterfv": _emscripten_glGetTexParameterfv, "_glUseProgram": _glUseProgram, "_emscripten_glShaderSource": _emscripten_glShaderSource, "_glfwCreateWindow": _glfwCreateWindow, "_emscripten_glReleaseShaderCompiler": _emscripten_glReleaseShaderCompiler, "_emscripten_glBlendFuncSeparate": _emscripten_glBlendFuncSeparate, "_emscripten_glUniform4iv": _emscripten_glUniform4iv, "_emscripten_glVertexAttribPointer": _emscripten_glVertexAttribPointer, "_emscripten_glGetIntegerv": _emscripten_glGetIntegerv, "_emscripten_glCullFace": _emscripten_glCullFace, "_emscripten_glIsProgram": _emscripten_glIsProgram, "_emscripten_glStencilMaskSeparate": _emscripten_glStencilMaskSeparate, "_emscripten_glViewport": _emscripten_glViewport, "_emscripten_glFrontFace": _emscripten_glFrontFace, "_alBufferData": _alBufferData, "___assert_fail": ___assert_fail, "_glDeleteProgram": _glDeleteProgram, "_emscripten_glUniform3fv": _emscripten_glUniform3fv, "_emscripten_glPolygonOffset": _emscripten_glPolygonOffset, "_emscripten_glUseProgram": _emscripten_glUseProgram, "_emscripten_glBlendColor": _emscripten_glBlendColor, "_glBindBuffer": _glBindBuffer, "_emscripten_glDepthFunc": _emscripten_glDepthFunc, "_glGetShaderInfoLog": _glGetShaderInfoLog, "_alSource3f": _alSource3f, "_emscripten_set_fullscreenchange_callback": _emscripten_set_fullscreenchange_callback, "_emscripten_set_touchmove_callback": _emscripten_set_touchmove_callback, "_emscripten_set_main_loop_timing": _emscripten_set_main_loop_timing, "_emscripten_set_gamepaddisconnected_callback": _emscripten_set_gamepaddisconnected_callback, "_glDisable": _glDisable, "_glBlendFunc": _glBlendFunc, "_emscripten_glDisableVertexAttribArray": _emscripten_glDisableVertexAttribArray, "_glGetAttribLocation": _glGetAttribLocation, "_glDisableVertexAttribArray": _glDisableVertexAttribArray, "_glCreateShader": _glCreateShader, "_alcGetString": _alcGetString, "_emscripten_glSampleCoverage": _emscripten_glSampleCoverage, "_emscripten_glVertexPointer": _emscripten_glVertexPointer, "_emscripten_set_touchstart_callback": _emscripten_set_touchstart_callback, "emscriptenWebGLComputeImageSize": emscriptenWebGLComputeImageSize, "_emscripten_glGetBooleanv": _emscripten_glGetBooleanv, "_emscripten_glGetShaderSource": _emscripten_glGetShaderSource, "_glUniform4f": _glUniform4f, "_llvm_stacksave": _llvm_stacksave, "_emscripten_glUniform1i": _emscripten_glUniform1i, "_emscripten_glStencilFuncSeparate": _emscripten_glStencilFuncSeparate, "_emscripten_glFrustum": _emscripten_glFrustum, "_emscripten_glGenBuffers": _emscripten_glGenBuffers, "_emscripten_glDeleteObjectARB": _emscripten_glDeleteObjectARB, "_glfwSetWindowSizeCallback": _glfwSetWindowSizeCallback, "_emscripten_glGetShaderPrecisionFormat": _emscripten_glGetShaderPrecisionFormat, "_glfwInit": _glfwInit, "_emscripten_glGetPointerv": _emscripten_glGetPointerv, "_glGenBuffers": _glGenBuffers, "_glShaderSource": _glShaderSource, "_emscripten_glGetString": _emscripten_glGetString, "_emscripten_glIsFramebuffer": _emscripten_glIsFramebuffer, "_emscripten_glIsEnabled": _emscripten_glIsEnabled, "_emscripten_glScissor": _emscripten_glScissor, "_emscripten_glVertexAttrib4fv": _emscripten_glVertexAttrib4fv, "_emscripten_glFramebufferTexture2D": _emscripten_glFramebufferTexture2D, "_emscripten_glTexParameteriv": _emscripten_glTexParameteriv, "_emscripten_glBindProgramARB": _emscripten_glBindProgramARB, "_emscripten_glStencilOpSeparate": _emscripten_glStencilOpSeparate, "_alSourcePlay": _alSourcePlay, "_alSourcei": _alSourcei, "_emscripten_glFramebufferRenderbuffer": _emscripten_glFramebufferRenderbuffer, "___syscall140": ___syscall140, "_glfwSetErrorCallback": _glfwSetErrorCallback, "_glfwDefaultWindowHints": _glfwDefaultWindowHints, "_emscripten_glIsBuffer": _emscripten_glIsBuffer, "___syscall146": ___syscall146, "_glfwDestroyWindow": _glfwDestroyWindow, "_emscripten_glGetActiveAttrib": _emscripten_glGetActiveAttrib, "_emscripten_glAttachShader": _emscripten_glAttachShader, "_glVertexAttribPointer": _glVertexAttribPointer, "_emscripten_glUniform2i": _emscripten_glUniform2i, "_emscripten_glUniform2f": _emscripten_glUniform2f, "_alcCreateContext": _alcCreateContext, "_glfwTerminate": _glfwTerminate, "_emscripten_glTexParameterfv": _emscripten_glTexParameterfv, "_emscripten_glUniformMatrix2fv": _emscripten_glUniformMatrix2fv, "_glGetProgramInfoLog": _glGetProgramInfoLog, "_alcGetContextsDevice": _alcGetContextsDevice, "_emscripten_glTexParameterf": _emscripten_glTexParameterf, "_emscripten_glGetAttachedShaders": _emscripten_glGetAttachedShaders, "_emscripten_glGenTextures": _emscripten_glGenTextures, "_emscripten_glTexParameteri": _emscripten_glTexParameteri, "_llvm_stackrestore": _llvm_stackrestore, "_glfwMakeContextCurrent": _glfwMakeContextCurrent, "_emscripten_glClear": _emscripten_glClear, "_glDrawElements": _glDrawElements, "_alGetSourcei": _alGetSourcei, "_glBufferSubData": _glBufferSubData, "_alcMakeContextCurrent": _alcMakeContextCurrent, "_emscripten_glGenVertexArrays": _emscripten_glGenVertexArrays, "_emscripten_glVertexAttrib2fv": _emscripten_glVertexAttrib2fv, "_glViewport": _glViewport, "_alSourceQueueBuffers": _alSourceQueueBuffers, "_emscripten_glGetTexParameteriv": _emscripten_glGetTexParameteriv, "___setErrNo": ___setErrNo, "_eglGetProcAddress": _eglGetProcAddress, "_alcGetCurrentContext": _alcGetCurrentContext, "_emscripten_glBindAttribLocation": _emscripten_glBindAttribLocation, "_glDeleteTextures": _glDeleteTextures, "_glDepthFunc": _glDepthFunc, "_emscripten_glClientActiveTexture": _emscripten_glClientActiveTexture, "_emscripten_glVertexAttrib2f": _emscripten_glVertexAttrib2f, "_emscripten_glFlush": _emscripten_glFlush, "_emscripten_glCheckFramebufferStatus": _emscripten_glCheckFramebufferStatus, "_emscripten_glGenerateMipmap": _emscripten_glGenerateMipmap, "_emscripten_glGetError": _emscripten_glGetError, "_alGenBuffers": _alGenBuffers, "_emscripten_glClearDepthf": _emscripten_glClearDepthf, "_emscripten_glBufferData": _emscripten_glBufferData, "_emscripten_glUniform3i": _emscripten_glUniform3i, "_emscripten_glRotatef": _emscripten_glRotatef, "_emscripten_glDeleteShader": _emscripten_glDeleteShader, "_glEnable": _glEnable, "_emscripten_glReadPixels": _emscripten_glReadPixels, "_emscripten_glMatrixMode": _emscripten_glMatrixMode, "_alDeleteSources": _alDeleteSources, "_emscripten_glClearStencil": _emscripten_glClearStencil, "_emscripten_glGetUniformLocation": _emscripten_glGetUniformLocation, "emscriptenWebGLGet": emscriptenWebGLGet, "_alSourceUnqueueBuffers": _alSourceUnqueueBuffers, "_emscripten_glEnableVertexAttribArray": _emscripten_glEnableVertexAttribArray, "_alGetError": _alGetError, "_emscripten_get_now": _emscripten_get_now, "_emscripten_glNormalPointer": _emscripten_glNormalPointer, "_glAttachShader": _glAttachShader, "_emscripten_glTexCoordPointer": _emscripten_glTexCoordPointer, "_emscripten_glEnable": _emscripten_glEnable, "_glCreateProgram": _glCreateProgram, "_glUniformMatrix4fv": _glUniformMatrix4fv, "_emscripten_glClearDepth": _emscripten_glClearDepth, "___lock": ___lock, "emscriptenWebGLGetTexPixelData": emscriptenWebGLGetTexPixelData, "___syscall6": ___syscall6, "___syscall5": ___syscall5, "___syscall145": ___syscall145, "_emscripten_glVertexAttrib3f": _emscripten_glVertexAttrib3f, "_time": _time, "_emscripten_glVertexAttrib1f": _emscripten_glVertexAttrib1f, "_emscripten_glGetFramebufferAttachmentParameteriv": _emscripten_glGetFramebufferAttachmentParameteriv, "_emscripten_glBlendEquationSeparate": _emscripten_glBlendEquationSeparate, "_exit": _exit, "_emscripten_glBindFramebuffer": _emscripten_glBindFramebuffer, "_glGetString": _glGetString, "_emscripten_glUniform4i": _emscripten_glUniform4i, "_alSourcef": _alSourcef, "_emscripten_glDrawRangeElements": _emscripten_glDrawRangeElements, "_glCullFace": _glCullFace, "_llvm_pow_f64": _llvm_pow_f64, "_emscripten_set_keypress_callback": _emscripten_set_keypress_callback, "__emscripten_sample_gamepad_data": __emscripten_sample_gamepad_data, "_emscripten_get_gamepad_status": _emscripten_get_gamepad_status, "_emscripten_glUniform4f": _emscripten_glUniform4f, "_glfwSwapInterval": _glfwSwapInterval, "_glfwGetVideoModes": _glfwGetVideoModes, "_emscripten_set_click_callback": _emscripten_set_click_callback, "_emscripten_glShaderBinary": _emscripten_glShaderBinary, "_emscripten_glDrawElements": _emscripten_glDrawElements, "_emscripten_glBlendFunc": _emscripten_glBlendFunc, "_emscripten_get_num_gamepads": _emscripten_get_num_gamepads, "___syscall221": ___syscall221, "_glCompressedTexImage2D": _glCompressedTexImage2D, "_emscripten_glUniform1iv": _emscripten_glUniform1iv, "_emscripten_glGetVertexAttribPointerv": _emscripten_glGetVertexAttribPointerv, "_glClearDepthf": _glClearDepthf, "_emscripten_glCompressedTexSubImage2D": _emscripten_glCompressedTexSubImage2D, "emscriptenWebGLGetUniform": emscriptenWebGLGetUniform, "_emscripten_glGenRenderbuffers": _emscripten_glGenRenderbuffers, "_emscripten_glDeleteVertexArrays": _emscripten_glDeleteVertexArrays, "_glfwSetWindowShouldClose": _glfwSetWindowShouldClose, "_emscripten_glUniform1fv": _emscripten_glUniform1fv, "_emscripten_glGetActiveUniform": _emscripten_glGetActiveUniform, "_glBindTexture": _glBindTexture, "_emscripten_glUniform3iv": _emscripten_glUniform3iv, "_emscripten_glUniform2iv": _emscripten_glUniform2iv, "_emscripten_glHint": _emscripten_glHint, "_glfwSetCharCallback": _glfwSetCharCallback, "emscriptenWebGLGetVertexAttrib": emscriptenWebGLGetVertexAttrib, "_emscripten_glLoadMatrixf": _emscripten_glLoadMatrixf, "_emscripten_glDeleteProgram": _emscripten_glDeleteProgram, "_emscripten_glDeleteRenderbuffers": _emscripten_glDeleteRenderbuffers, "_glfwSetScrollCallback": _glfwSetScrollCallback, "_emscripten_glDrawElementsInstanced": _emscripten_glDrawElementsInstanced, "_emscripten_glVertexAttrib4f": _emscripten_glVertexAttrib4f, "_alcDestroyContext": _alcDestroyContext, "_glDrawArrays": _glDrawArrays, "_emscripten_glTexSubImage2D": _emscripten_glTexSubImage2D, "_emscripten_memcpy_big": _emscripten_memcpy_big, "_emscripten_glPixelStorei": _emscripten_glPixelStorei, "_glCompileShader": _glCompileShader, "_alListenerf": _alListenerf, "_emscripten_glUniformMatrix3fv": _emscripten_glUniformMatrix3fv, "_emscripten_glColorPointer": _emscripten_glColorPointer, "_emscripten_glGetBufferParameteriv": _emscripten_glGetBufferParameteriv, "_emscripten_glFinish": _emscripten_glFinish, "_glfwSwapBuffers": _glfwSwapBuffers, "_glGetFloatv": _glGetFloatv, "_emscripten_asm_const_iii": _emscripten_asm_const_iii, "_emscripten_glDepthMask": _emscripten_glDepthMask, "_glfwSetWindowIconifyCallback": _glfwSetWindowIconifyCallback, "_emscripten_glDrawBuffers": _emscripten_glDrawBuffers, "_alSourceStop": _alSourceStop, "_glFrontFace": _glFrontFace, "_emscripten_glGetObjectParameterivARB": _emscripten_glGetObjectParameterivARB, "_emscripten_exit_pointerlock": _emscripten_exit_pointerlock, "_alcCloseDevice": _alcCloseDevice, "_glUniform1i": _glUniform1i, "_glEnableVertexAttribArray": _glEnableVertexAttribArray, "_emscripten_glStencilFunc": _emscripten_glStencilFunc, "_abort": _abort, "_emscripten_glGetUniformiv": _emscripten_glGetUniformiv, "_emscripten_glUniform2fv": _emscripten_glUniform2fv, "_glDeleteBuffers": _glDeleteBuffers, "_glBufferData": _glBufferData, "_glTexImage2D": _glTexImage2D, "_emscripten_glGetShaderiv": _emscripten_glGetShaderiv, "_glfwSetKeyCallback": _glfwSetKeyCallback, "_emscripten_glGenFramebuffers": _emscripten_glGenFramebuffers, "_emscripten_glUniformMatrix4fv": _emscripten_glUniformMatrix4fv, "_emscripten_glLoadIdentity": _emscripten_glLoadIdentity, "_glDeleteShader": _glDeleteShader, "_emscripten_glUniform1f": _emscripten_glUniform1f, "_glGetProgramiv": _glGetProgramiv, "_llvm_exp2_f32": _llvm_exp2_f32, "_emscripten_glIsRenderbuffer": _emscripten_glIsRenderbuffer, "_glfwGetTime": _glfwGetTime, "_emscripten_glRenderbufferStorage": _emscripten_glRenderbufferStorage, "_emscripten_set_gamepadconnected_callback": _emscripten_set_gamepadconnected_callback, "_alListener3f": _alListener3f, "_emscripten_glGetVertexAttribiv": _emscripten_glGetVertexAttribiv, "_emscripten_glBindVertexArray": _emscripten_glBindVertexArray, "_emscripten_glDrawArraysInstanced": _emscripten_glDrawArraysInstanced, "_emscripten_set_touchcancel_callback": _emscripten_set_touchcancel_callback, "_emscripten_glCreateShader": _emscripten_glCreateShader, "_emscripten_glStencilMask": _emscripten_glStencilMask, "_emscripten_glDeleteTextures": _emscripten_glDeleteTextures, "_glfwGetKey": _glfwGetKey, "_glfwGetPrimaryMonitor": _glfwGetPrimaryMonitor, "_glLinkProgram": _glLinkProgram, "_emscripten_glVertexAttribDivisor": _emscripten_glVertexAttribDivisor, "_emscripten_set_touchend_callback": _emscripten_set_touchend_callback, "_emscripten_glGetUniformfv": _emscripten_glGetUniformfv, "_emscripten_glGetVertexAttribfv": _emscripten_glGetVertexAttribfv, "_emscripten_glGetRenderbufferParameteriv": _emscripten_glGetRenderbufferParameteriv, "_emscripten_glDeleteFramebuffers": _emscripten_glDeleteFramebuffers, "_glGetShaderiv": _glGetShaderiv, "_emscripten_glVertexAttrib3fv": _emscripten_glVertexAttrib3fv, "_glGetUniformLocation": _glGetUniformLocation, "_emscripten_glGetInfoLogARB": _emscripten_glGetInfoLogARB, "_emscripten_glCompileShader": _emscripten_glCompileShader, "_glClear": _glClear, "_glGenTextures": _glGenTextures, "_emscripten_glDisable": _emscripten_glDisable, "_emscripten_glDepthRangef": _emscripten_glDepthRangef, "__exit": __exit, "_emscripten_glLineWidth": _emscripten_glLineWidth, "_emscripten_glUniform3f": _emscripten_glUniform3f, "_emscripten_glGetShaderInfoLog": _emscripten_glGetShaderInfoLog, "_emscripten_glStencilOp": _emscripten_glStencilOp, "_glBindAttribLocation": _glBindAttribLocation, "_glPixelStorei": _glPixelStorei, "_emscripten_glColorMask": _emscripten_glColorMask, "_emscripten_glLinkProgram": _emscripten_glLinkProgram, "_emscripten_glBlendEquation": _emscripten_glBlendEquation, "_emscripten_glIsTexture": _emscripten_glIsTexture, "_alDeleteBuffers": _alDeleteBuffers, "_emscripten_glGetProgramiv": _emscripten_glGetProgramiv, "_emscripten_glVertexAttrib1fv": _emscripten_glVertexAttrib1fv, "_emscripten_glBindTexture": _emscripten_glBindTexture, "_glfwSetMouseButtonCallback": _glfwSetMouseButtonCallback, "_glfwGetCursorPos": _glfwGetCursorPos, "_emscripten_glActiveTexture": _emscripten_glActiveTexture, "_emscripten_glDeleteBuffers": _emscripten_glDeleteBuffers, "___syscall54": ___syscall54, "___unlock": ___unlock, "_emscripten_glBufferSubData": _emscripten_glBufferSubData, "_emscripten_glDepthRange": _emscripten_glDepthRange, "_emscripten_set_main_loop": _emscripten_set_main_loop, "_emscripten_glBindRenderbuffer": _emscripten_glBindRenderbuffer, "_emscripten_glGetProgramInfoLog": _emscripten_glGetProgramInfoLog, "_glfwWindowHint": _glfwWindowHint, "_alGenSources": _alGenSources, "_glfwSetCursorPosCallback": _glfwSetCursorPosCallback, "_emscripten_glIsShader": _emscripten_glIsShader, "_emscripten_glUniform4fv": _emscripten_glUniform4fv, "_alcOpenDevice": _alcOpenDevice, "_emscripten_glDrawArrays": _emscripten_glDrawArrays, "_emscripten_glCompressedTexImage2D": _emscripten_glCompressedTexImage2D, "_emscripten_glClearColor": _emscripten_glClearColor, "_emscripten_glCreateProgram": _emscripten_glCreateProgram, "_emscripten_glCopyTexSubImage2D": _emscripten_glCopyTexSubImage2D, "_emscripten_glGetAttribLocation": _emscripten_glGetAttribLocation, "_glTexParameteri": _glTexParameteri, "_emscripten_glValidateProgram": _emscripten_glValidateProgram, "_emscripten_glBindBuffer": _emscripten_glBindBuffer, "_emscripten_glGetFloatv": _emscripten_glGetFloatv, "_emscripten_glDetachShader": _emscripten_glDetachShader, "_glClearColor": _glClearColor, "_emscripten_glEnableClientState": _emscripten_glEnableClientState, "_glTexParameterf": _glTexParameterf, "_glfwSetCursorEnterCallback": _glfwSetCursorEnterCallback, "_emscripten_glCopyTexImage2D": _emscripten_glCopyTexImage2D, "_emscripten_glTexImage2D": _emscripten_glTexImage2D, "DYNAMICTOP_PTR": DYNAMICTOP_PTR, "tempDoublePtr": tempDoublePtr, "ABORT": ABORT, "STACKTOP": STACKTOP, "STACK_MAX": STACK_MAX, "cttz_i8": cttz_i8 }; // EMSCRIPTEN_START_ASM var asm = (function(global, env, buffer) { - 'almost asm'; + 'use asm'; - var Int8View = global.Int8Array; - var Int16View = global.Int16Array; - var Int32View = global.Int32Array; - var Uint8View = global.Uint8Array; - var Uint16View = global.Uint16Array; - var Uint32View = global.Uint32Array; - var Float32View = global.Float32Array; - var Float64View = global.Float64Array; - var HEAP8 = new Int8View(buffer); - var HEAP16 = new Int16View(buffer); - var HEAP32 = new Int32View(buffer); - var HEAPU8 = new Uint8View(buffer); - var HEAPU16 = new Uint16View(buffer); - var HEAPU32 = new Uint32View(buffer); - var HEAPF32 = new Float32View(buffer); - var HEAPF64 = new Float64View(buffer); - var byteLength = global.byteLength; + var HEAP8 = new global.Int8Array(buffer); + var HEAP16 = new global.Int16Array(buffer); + var HEAP32 = new global.Int32Array(buffer); + var HEAPU8 = new global.Uint8Array(buffer); + var HEAPU16 = new global.Uint16Array(buffer); + var HEAPU32 = new global.Uint32Array(buffer); + var HEAPF32 = new global.Float32Array(buffer); + var HEAPF64 = new global.Float64Array(buffer); var DYNAMICTOP_PTR=env.DYNAMICTOP_PTR|0; @@ -11114,25 +11003,25 @@ var asm = (function(global, env, buffer) { var _emscripten_set_fullscreenchange_callback=env._emscripten_set_fullscreenchange_callback; var _emscripten_set_touchmove_callback=env._emscripten_set_touchmove_callback; var _emscripten_set_main_loop_timing=env._emscripten_set_main_loop_timing; + var _emscripten_set_gamepaddisconnected_callback=env._emscripten_set_gamepaddisconnected_callback; var _glDisable=env._glDisable; var _glBlendFunc=env._glBlendFunc; var _emscripten_glDisableVertexAttribArray=env._emscripten_glDisableVertexAttribArray; var _glGetAttribLocation=env._glGetAttribLocation; var _glDisableVertexAttribArray=env._glDisableVertexAttribArray; var _glCreateShader=env._glCreateShader; - var _emscripten_glReadPixels=env._emscripten_glReadPixels; var _alcGetString=env._alcGetString; var _emscripten_glSampleCoverage=env._emscripten_glSampleCoverage; var _emscripten_glVertexPointer=env._emscripten_glVertexPointer; var _emscripten_set_touchstart_callback=env._emscripten_set_touchstart_callback; var emscriptenWebGLComputeImageSize=env.emscriptenWebGLComputeImageSize; var _emscripten_glGetBooleanv=env._emscripten_glGetBooleanv; - var ___syscall221=env.___syscall221; + var _emscripten_glGetShaderSource=env._emscripten_glGetShaderSource; var _glUniform4f=env._glUniform4f; var _llvm_stacksave=env._llvm_stacksave; var _emscripten_glUniform1i=env._emscripten_glUniform1i; var _emscripten_glStencilFuncSeparate=env._emscripten_glStencilFuncSeparate; - var _emscripten_glLoadMatrixf=env._emscripten_glLoadMatrixf; + var _emscripten_glFrustum=env._emscripten_glFrustum; var _emscripten_glGenBuffers=env._emscripten_glGenBuffers; var _emscripten_glDeleteObjectARB=env._emscripten_glDeleteObjectARB; var _glfwSetWindowSizeCallback=env._glfwSetWindowSizeCallback; @@ -11169,12 +11058,11 @@ var asm = (function(global, env, buffer) { var _emscripten_glTexParameterfv=env._emscripten_glTexParameterfv; var _emscripten_glUniformMatrix2fv=env._emscripten_glUniformMatrix2fv; var _glGetProgramInfoLog=env._glGetProgramInfoLog; - var _emscripten_glGetUniformiv=env._emscripten_glGetUniformiv; + var _alcGetContextsDevice=env._alcGetContextsDevice; var _emscripten_glTexParameterf=env._emscripten_glTexParameterf; var _emscripten_glGetAttachedShaders=env._emscripten_glGetAttachedShaders; var _emscripten_glGenTextures=env._emscripten_glGenTextures; var _emscripten_glTexParameteri=env._emscripten_glTexParameteri; - var _emscripten_glIsShader=env._emscripten_glIsShader; var _llvm_stackrestore=env._llvm_stackrestore; var _glfwMakeContextCurrent=env._glfwMakeContextCurrent; var _emscripten_glClear=env._emscripten_glClear; @@ -11206,7 +11094,7 @@ var asm = (function(global, env, buffer) { var _emscripten_glRotatef=env._emscripten_glRotatef; var _emscripten_glDeleteShader=env._emscripten_glDeleteShader; var _glEnable=env._glEnable; - var _glGenTextures=env._glGenTextures; + var _emscripten_glReadPixels=env._emscripten_glReadPixels; var _emscripten_glMatrixMode=env._emscripten_glMatrixMode; var _alDeleteSources=env._alDeleteSources; var _emscripten_glClearStencil=env._emscripten_glClearStencil; @@ -11252,6 +11140,7 @@ var asm = (function(global, env, buffer) { var _emscripten_glDrawElements=env._emscripten_glDrawElements; var _emscripten_glBlendFunc=env._emscripten_glBlendFunc; var _emscripten_get_num_gamepads=env._emscripten_get_num_gamepads; + var ___syscall221=env.___syscall221; var _glCompressedTexImage2D=env._glCompressedTexImage2D; var _emscripten_glUniform1iv=env._emscripten_glUniform1iv; var _emscripten_glGetVertexAttribPointerv=env._emscripten_glGetVertexAttribPointerv; @@ -11269,7 +11158,7 @@ var asm = (function(global, env, buffer) { var _emscripten_glHint=env._emscripten_glHint; var _glfwSetCharCallback=env._glfwSetCharCallback; var emscriptenWebGLGetVertexAttrib=env.emscriptenWebGLGetVertexAttrib; - var _glGetFloatv=env._glGetFloatv; + var _emscripten_glLoadMatrixf=env._emscripten_glLoadMatrixf; var _emscripten_glDeleteProgram=env._emscripten_glDeleteProgram; var _emscripten_glDeleteRenderbuffers=env._emscripten_glDeleteRenderbuffers; var _glfwSetScrollCallback=env._glfwSetScrollCallback; @@ -11286,8 +11175,8 @@ var asm = (function(global, env, buffer) { var _emscripten_glColorPointer=env._emscripten_glColorPointer; var _emscripten_glGetBufferParameteriv=env._emscripten_glGetBufferParameteriv; var _emscripten_glFinish=env._emscripten_glFinish; - var _emscripten_request_pointerlock=env._emscripten_request_pointerlock; - var _emscripten_set_gamepaddisconnected_callback=env._emscripten_set_gamepaddisconnected_callback; + var _glfwSwapBuffers=env._glfwSwapBuffers; + var _glGetFloatv=env._glGetFloatv; var _emscripten_asm_const_iii=env._emscripten_asm_const_iii; var _emscripten_glDepthMask=env._emscripten_glDepthMask; var _glfwSetWindowIconifyCallback=env._glfwSetWindowIconifyCallback; @@ -11301,9 +11190,8 @@ var asm = (function(global, env, buffer) { var _glEnableVertexAttribArray=env._glEnableVertexAttribArray; var _emscripten_glStencilFunc=env._emscripten_glStencilFunc; var _abort=env._abort; - var _alcGetContextsDevice=env._alcGetContextsDevice; + var _emscripten_glGetUniformiv=env._emscripten_glGetUniformiv; var _emscripten_glUniform2fv=env._emscripten_glUniform2fv; - var _glfwGetCursorPos=env._glfwGetCursorPos; var _glDeleteBuffers=env._glDeleteBuffers; var _glBufferData=env._glBufferData; var _glTexImage2D=env._glTexImage2D; @@ -11336,13 +11224,14 @@ var asm = (function(global, env, buffer) { var _emscripten_glGetUniformfv=env._emscripten_glGetUniformfv; var _emscripten_glGetVertexAttribfv=env._emscripten_glGetVertexAttribfv; var _emscripten_glGetRenderbufferParameteriv=env._emscripten_glGetRenderbufferParameteriv; + var _emscripten_glDeleteFramebuffers=env._emscripten_glDeleteFramebuffers; var _glGetShaderiv=env._glGetShaderiv; var _emscripten_glVertexAttrib3fv=env._emscripten_glVertexAttrib3fv; var _glGetUniformLocation=env._glGetUniformLocation; var _emscripten_glGetInfoLogARB=env._emscripten_glGetInfoLogARB; var _emscripten_glCompileShader=env._emscripten_glCompileShader; var _glClear=env._glClear; - var _emscripten_glFrustum=env._emscripten_glFrustum; + var _glGenTextures=env._glGenTextures; var _emscripten_glDisable=env._emscripten_glDisable; var _emscripten_glDepthRangef=env._emscripten_glDepthRangef; var __exit=env.__exit; @@ -11361,13 +11250,12 @@ var asm = (function(global, env, buffer) { var _emscripten_glVertexAttrib1fv=env._emscripten_glVertexAttrib1fv; var _emscripten_glBindTexture=env._emscripten_glBindTexture; var _glfwSetMouseButtonCallback=env._glfwSetMouseButtonCallback; - var _emscripten_get_pointerlock_status=env._emscripten_get_pointerlock_status; + var _glfwGetCursorPos=env._glfwGetCursorPos; var _emscripten_glActiveTexture=env._emscripten_glActiveTexture; var _emscripten_glDeleteBuffers=env._emscripten_glDeleteBuffers; var ___syscall54=env.___syscall54; var ___unlock=env.___unlock; var _emscripten_glBufferSubData=env._emscripten_glBufferSubData; - var _glfwSwapBuffers=env._glfwSwapBuffers; var _emscripten_glDepthRange=env._emscripten_glDepthRange; var _emscripten_set_main_loop=env._emscripten_set_main_loop; var _emscripten_glBindRenderbuffer=env._emscripten_glBindRenderbuffer; @@ -11375,13 +11263,12 @@ var asm = (function(global, env, buffer) { var _glfwWindowHint=env._glfwWindowHint; var _alGenSources=env._alGenSources; var _glfwSetCursorPosCallback=env._glfwSetCursorPosCallback; - var _emscripten_glDeleteFramebuffers=env._emscripten_glDeleteFramebuffers; + var _emscripten_glIsShader=env._emscripten_glIsShader; var _emscripten_glUniform4fv=env._emscripten_glUniform4fv; var _alcOpenDevice=env._alcOpenDevice; var _emscripten_glDrawArrays=env._emscripten_glDrawArrays; var _emscripten_glCompressedTexImage2D=env._emscripten_glCompressedTexImage2D; var _emscripten_glClearColor=env._emscripten_glClearColor; - var _emscripten_glGetShaderSource=env._emscripten_glGetShaderSource; var _emscripten_glCreateProgram=env._emscripten_glCreateProgram; var _emscripten_glCopyTexSubImage2D=env._emscripten_glCopyTexSubImage2D; var _emscripten_glGetAttribLocation=env._emscripten_glGetAttribLocation; @@ -11398,20 +11285,6 @@ var asm = (function(global, env, buffer) { var _emscripten_glTexImage2D=env._emscripten_glTexImage2D; var tempFloat = 0.0; -function _emscripten_replace_memory(newBuffer) { - if ((byteLength(newBuffer) & 0xffffff || byteLength(newBuffer) <= 0xffffff) || byteLength(newBuffer) > 0x80000000) return false; - HEAP8 = new Int8View(newBuffer); - HEAP16 = new Int16View(newBuffer); - HEAP32 = new Int32View(newBuffer); - HEAPU8 = new Uint8View(newBuffer); - HEAPU16 = new Uint16View(newBuffer); - HEAPU32 = new Uint32View(newBuffer); - HEAPF32 = new Float32View(newBuffer); - HEAPF64 = new Float64View(newBuffer); - buffer = newBuffer; - return true; -} - // EMSCRIPTEN_START_FUNCS function stackAlloc(size) { @@ -16740,24 +16613,9 @@ function _EmscriptenMouseCallback($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; - var $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; + var label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 272|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(272|0); - $3 = sp; - $4 = ($0|0)==(4); - if (!($4)) { - STACKTOP = sp;return 0; - } - (_emscripten_get_pointerlock_status(($3|0))|0); - $5 = HEAP32[$3>>2]|0; - $6 = ($5|0)==(0); - if ($6) { - (_emscripten_request_pointerlock((0|0),1)|0); - } else { - (_emscripten_exit_pointerlock()|0); - (_emscripten_get_pointerlock_status(($3|0))|0); - } - STACKTOP = sp;return 0; + return 0; } function _EmscriptenTouchCallback($0,$1,$2) { $0 = $0|0; @@ -17446,7 +17304,7 @@ function _ImageFormat($0,$1) { function _LoadTextureFromImage($0,$1) { $0 = $0|0; $1 = $1|0; - var $$sroa$12$0$$sroa_idx6 = 0, $$sroa$15$0$$sroa_idx8 = 0, $$sroa$6$0$$sroa_idx2 = 0, $$sroa$9$0$$sroa_idx4 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0; + var $$sroa$10$0$$sroa_idx6 = 0, $$sroa$12$0$$sroa_idx8 = 0, $$sroa$6$0$$sroa_idx2 = 0, $$sroa$8$0$$sroa_idx4 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0; var $vararg_ptr4 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); @@ -17476,12 +17334,12 @@ function _LoadTextureFromImage($0,$1) { HEAP32[$0>>2] = $11; $$sroa$6$0$$sroa_idx2 = ((($0)) + 4|0); HEAP32[$$sroa$6$0$$sroa_idx2>>2] = $12; - $$sroa$9$0$$sroa_idx4 = ((($0)) + 8|0); - HEAP32[$$sroa$9$0$$sroa_idx4>>2] = $13; - $$sroa$12$0$$sroa_idx6 = ((($0)) + 12|0); - HEAP32[$$sroa$12$0$$sroa_idx6>>2] = $10; - $$sroa$15$0$$sroa_idx8 = ((($0)) + 16|0); - HEAP32[$$sroa$15$0$$sroa_idx8>>2] = $8; + $$sroa$8$0$$sroa_idx4 = ((($0)) + 8|0); + HEAP32[$$sroa$8$0$$sroa_idx4>>2] = $13; + $$sroa$10$0$$sroa_idx6 = ((($0)) + 12|0); + HEAP32[$$sroa$10$0$$sroa_idx6>>2] = $10; + $$sroa$12$0$$sroa_idx8 = ((($0)) + 16|0); + HEAP32[$$sroa$12$0$$sroa_idx8>>2] = $8; STACKTOP = sp;return; } function _UnloadImage($0) { @@ -26657,8 +26515,8 @@ function _stbi__stdio_eof($0) { function _LoadImage($0,$1) { $0 = $0|0; $1 = $1|0; - var $$sink = 0, $$sroa$0$0 = 0, $$sroa$0$0$copyload = 0, $$sroa$0$1 = 0, $$sroa$0$144 = 0, $$sroa$10$0 = 0, $$sroa$10$0$$sroa_idx19 = 0, $$sroa$10$0$$sroa_idx20 = 0, $$sroa$10$0$copyload = 0, $$sroa$10$1 = 0, $$sroa$10$140 = 0, $$sroa$10$141 = 0, $$sroa$13$0 = 0, $$sroa$13$0$$sroa_idx23 = 0, $$sroa$13$0$$sroa_idx24 = 0, $$sroa$13$0$copyload = 0, $$sroa$13$1 = 0, $$sroa$13$146 = 0, $$sroa$13$147 = 0, $$sroa$15$0 = 0; - var $$sroa$15$0$$sroa_idx27 = 0, $$sroa$15$0$$sroa_idx28 = 0, $$sroa$15$0$copyload = 0, $$sroa$15$1 = 0, $$sroa$15$2 = 0, $$sroa$15$248 = 0, $$sroa$15$249 = 0, $$sroa$7$0 = 0, $$sroa$7$0$$sroa_idx15 = 0, $$sroa$7$0$$sroa_idx16 = 0, $$sroa$7$0$copyload = 0, $$sroa$7$1 = 0, $$sroa$7$142 = 0, $$sroa$7$143 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0; + var $$sink = 0, $$sroa$0$0 = 0, $$sroa$0$0$copyload = 0, $$sroa$0$1 = 0, $$sroa$0$144 = 0, $$sroa$11$0 = 0, $$sroa$11$0$$sroa_idx23 = 0, $$sroa$11$0$$sroa_idx24 = 0, $$sroa$11$0$copyload = 0, $$sroa$11$1 = 0, $$sroa$11$146 = 0, $$sroa$11$147 = 0, $$sroa$12$0 = 0, $$sroa$12$0$$sroa_idx27 = 0, $$sroa$12$0$$sroa_idx28 = 0, $$sroa$12$0$copyload = 0, $$sroa$12$1 = 0, $$sroa$12$2 = 0, $$sroa$12$248 = 0, $$sroa$12$249 = 0; + var $$sroa$7$0 = 0, $$sroa$7$0$$sroa_idx15 = 0, $$sroa$7$0$$sroa_idx16 = 0, $$sroa$7$0$copyload = 0, $$sroa$7$1 = 0, $$sroa$7$142 = 0, $$sroa$7$143 = 0, $$sroa$9$0 = 0, $$sroa$9$0$$sroa_idx19 = 0, $$sroa$9$0$$sroa_idx20 = 0, $$sroa$9$0$copyload = 0, $$sroa$9$1 = 0, $$sroa$9$140 = 0, $$sroa$9$141 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0; var $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0; var $vararg_buffer1 = 0, $vararg_buffer4 = 0, $vararg_buffer9 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, label = 0, sp = 0; sp = STACKTOP; @@ -26680,7 +26538,7 @@ function _LoadImage($0,$1) { if ($20) { HEAP32[$vararg_buffer1>>2] = $1; _TraceLog(1,13399,$vararg_buffer1); - $$sroa$10$141 = 0;$$sroa$13$147 = 0;$$sroa$15$249 = 0;$$sroa$7$143 = 0; + $$sroa$11$147 = 0;$$sroa$12$249 = 0;$$sroa$7$143 = 0;$$sroa$9$141 = 0; break; } HEAP32[$3>>2] = 0; @@ -26714,13 +26572,13 @@ function _LoadImage($0,$1) { break; } default: { - $$sroa$15$1 = 0; + $$sroa$12$1 = 0; } } if ((label|0) == 11) { - $$sroa$15$1 = $$sink; + $$sroa$12$1 = $$sink; } - $$sroa$0$1 = $22;$$sroa$10$1 = $24;$$sroa$13$1 = 1;$$sroa$15$2 = $$sroa$15$1;$$sroa$7$1 = $23; + $$sroa$0$1 = $22;$$sroa$11$1 = 1;$$sroa$12$2 = $$sroa$12$1;$$sroa$7$1 = $23;$$sroa$9$1 = $24; label = 14; } else { $8 = (_LoadResource($1,0)|0); @@ -26739,59 +26597,59 @@ function _LoadImage($0,$1) { $$sroa$0$0$copyload = HEAP32[$2>>2]|0; $$sroa$7$0$$sroa_idx15 = ((($2)) + 4|0); $$sroa$7$0$copyload = HEAP32[$$sroa$7$0$$sroa_idx15>>2]|0; - $$sroa$10$0$$sroa_idx19 = ((($2)) + 8|0); - $$sroa$10$0$copyload = HEAP32[$$sroa$10$0$$sroa_idx19>>2]|0; - $$sroa$13$0$$sroa_idx23 = ((($2)) + 12|0); - $$sroa$13$0$copyload = HEAP32[$$sroa$13$0$$sroa_idx23>>2]|0; - $$sroa$15$0$$sroa_idx27 = ((($2)) + 16|0); - $$sroa$15$0$copyload = HEAP32[$$sroa$15$0$$sroa_idx27>>2]|0; - $$sroa$0$0 = $$sroa$0$0$copyload;$$sroa$10$0 = $$sroa$10$0$copyload;$$sroa$13$0 = $$sroa$13$0$copyload;$$sroa$15$0 = $$sroa$15$0$copyload;$$sroa$7$0 = $$sroa$7$0$copyload; + $$sroa$9$0$$sroa_idx19 = ((($2)) + 8|0); + $$sroa$9$0$copyload = HEAP32[$$sroa$9$0$$sroa_idx19>>2]|0; + $$sroa$11$0$$sroa_idx23 = ((($2)) + 12|0); + $$sroa$11$0$copyload = HEAP32[$$sroa$11$0$$sroa_idx23>>2]|0; + $$sroa$12$0$$sroa_idx27 = ((($2)) + 16|0); + $$sroa$12$0$copyload = HEAP32[$$sroa$12$0$$sroa_idx27>>2]|0; + $$sroa$0$0 = $$sroa$0$0$copyload;$$sroa$11$0 = $$sroa$11$0$copyload;$$sroa$12$0 = $$sroa$12$0$copyload;$$sroa$7$0 = $$sroa$7$0$copyload;$$sroa$9$0 = $$sroa$9$0$copyload; } else { HEAP32[$vararg_buffer>>2] = $1; _TraceLog(1,13347,$vararg_buffer); - $$sroa$0$0 = 0;$$sroa$10$0 = 0;$$sroa$13$0 = 0;$$sroa$15$0 = 0;$$sroa$7$0 = 0; + $$sroa$0$0 = 0;$$sroa$11$0 = 0;$$sroa$12$0 = 0;$$sroa$7$0 = 0;$$sroa$9$0 = 0; } _UnloadResource($8); - $$sroa$0$1 = $$sroa$0$0;$$sroa$10$1 = $$sroa$10$0;$$sroa$13$1 = $$sroa$13$0;$$sroa$15$2 = $$sroa$15$0;$$sroa$7$1 = $$sroa$7$0; + $$sroa$0$1 = $$sroa$0$0;$$sroa$11$1 = $$sroa$11$0;$$sroa$12$2 = $$sroa$12$0;$$sroa$7$1 = $$sroa$7$0;$$sroa$9$1 = $$sroa$9$0; label = 14; } } while(0); if ((label|0) == 14) { $26 = ($$sroa$0$1|0)==(0|0); if ($26) { - $$sroa$10$141 = $$sroa$10$1;$$sroa$13$147 = $$sroa$13$1;$$sroa$15$249 = $$sroa$15$2;$$sroa$7$143 = $$sroa$7$1; + $$sroa$11$147 = $$sroa$11$1;$$sroa$12$249 = $$sroa$12$2;$$sroa$7$143 = $$sroa$7$1;$$sroa$9$141 = $$sroa$9$1; } else { HEAP32[$vararg_buffer4>>2] = $1; $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); HEAP32[$vararg_ptr7>>2] = $$sroa$7$1; $vararg_ptr8 = ((($vararg_buffer4)) + 8|0); - HEAP32[$vararg_ptr8>>2] = $$sroa$10$1; + HEAP32[$vararg_ptr8>>2] = $$sroa$9$1; _TraceLog(0,13435,$vararg_buffer4); - $$sroa$0$144 = $$sroa$0$1;$$sroa$10$140 = $$sroa$10$1;$$sroa$13$146 = $$sroa$13$1;$$sroa$15$248 = $$sroa$15$2;$$sroa$7$142 = $$sroa$7$1; + $$sroa$0$144 = $$sroa$0$1;$$sroa$11$146 = $$sroa$11$1;$$sroa$12$248 = $$sroa$12$2;$$sroa$7$142 = $$sroa$7$1;$$sroa$9$140 = $$sroa$9$1; HEAP32[$0>>2] = $$sroa$0$144; $$sroa$7$0$$sroa_idx16 = ((($0)) + 4|0); HEAP32[$$sroa$7$0$$sroa_idx16>>2] = $$sroa$7$142; - $$sroa$10$0$$sroa_idx20 = ((($0)) + 8|0); - HEAP32[$$sroa$10$0$$sroa_idx20>>2] = $$sroa$10$140; - $$sroa$13$0$$sroa_idx24 = ((($0)) + 12|0); - HEAP32[$$sroa$13$0$$sroa_idx24>>2] = $$sroa$13$146; - $$sroa$15$0$$sroa_idx28 = ((($0)) + 16|0); - HEAP32[$$sroa$15$0$$sroa_idx28>>2] = $$sroa$15$248; + $$sroa$9$0$$sroa_idx20 = ((($0)) + 8|0); + HEAP32[$$sroa$9$0$$sroa_idx20>>2] = $$sroa$9$140; + $$sroa$11$0$$sroa_idx24 = ((($0)) + 12|0); + HEAP32[$$sroa$11$0$$sroa_idx24>>2] = $$sroa$11$146; + $$sroa$12$0$$sroa_idx28 = ((($0)) + 16|0); + HEAP32[$$sroa$12$0$$sroa_idx28>>2] = $$sroa$12$248; STACKTOP = sp;return; } } HEAP32[$vararg_buffer9>>2] = $1; _TraceLog(1,13474,$vararg_buffer9); - $$sroa$0$144 = 0;$$sroa$10$140 = $$sroa$10$141;$$sroa$13$146 = $$sroa$13$147;$$sroa$15$248 = $$sroa$15$249;$$sroa$7$142 = $$sroa$7$143; + $$sroa$0$144 = 0;$$sroa$11$146 = $$sroa$11$147;$$sroa$12$248 = $$sroa$12$249;$$sroa$7$142 = $$sroa$7$143;$$sroa$9$140 = $$sroa$9$141; HEAP32[$0>>2] = $$sroa$0$144; $$sroa$7$0$$sroa_idx16 = ((($0)) + 4|0); HEAP32[$$sroa$7$0$$sroa_idx16>>2] = $$sroa$7$142; - $$sroa$10$0$$sroa_idx20 = ((($0)) + 8|0); - HEAP32[$$sroa$10$0$$sroa_idx20>>2] = $$sroa$10$140; - $$sroa$13$0$$sroa_idx24 = ((($0)) + 12|0); - HEAP32[$$sroa$13$0$$sroa_idx24>>2] = $$sroa$13$146; - $$sroa$15$0$$sroa_idx28 = ((($0)) + 16|0); - HEAP32[$$sroa$15$0$$sroa_idx28>>2] = $$sroa$15$248; + $$sroa$9$0$$sroa_idx20 = ((($0)) + 8|0); + HEAP32[$$sroa$9$0$$sroa_idx20>>2] = $$sroa$9$140; + $$sroa$11$0$$sroa_idx24 = ((($0)) + 12|0); + HEAP32[$$sroa$11$0$$sroa_idx24>>2] = $$sroa$11$146; + $$sroa$12$0$$sroa_idx28 = ((($0)) + 16|0); + HEAP32[$$sroa$12$0$$sroa_idx28>>2] = $$sroa$12$248; STACKTOP = sp;return; } function _LoadResource($0,$1) { @@ -30144,34 +30002,29 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { function _LoadTexture($0,$1) { $0 = $0|0; $1 = $1|0; - var $$byval_copy1 = 0, $$sroa$0$0 = 0, $$sroa$0$0$copyload = 0, $$sroa$5 = 0, $$sroa$5$0$$sroa_idx = 0, $$sroa$5$0$$sroa_idx5 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $vararg_buffer = 0, label = 0, sp = 0; + var $$byval_copy1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $vararg_buffer = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0); - $$byval_copy1 = sp + 60|0; - $vararg_buffer = sp + 16|0; - $$sroa$5 = sp; - $2 = sp + 20|0; - $3 = sp + 40|0; - _LoadImage($2,$1); - $4 = HEAP32[$2>>2]|0; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $$byval_copy1 = sp + 44|0; + $vararg_buffer = sp; + $2 = sp + 24|0; + $3 = sp + 4|0; + ;HEAP32[$2>>2]=0|0;HEAP32[$2+4>>2]=0|0;HEAP32[$2+8>>2]=0|0;HEAP32[$2+12>>2]=0|0;HEAP32[$2+16>>2]=0|0; + _LoadImage($3,$1); + $4 = HEAP32[$3>>2]|0; $5 = ($4|0)==(0|0); if ($5) { _TraceLog(1,14012,$vararg_buffer); - $$sroa$0$0 = 0; + ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$2+16>>2]|0; + STACKTOP = sp;return; } else { - ;HEAP32[$$byval_copy1>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$2+16>>2]|0; - _LoadTextureFromImage($3,$$byval_copy1); - $$sroa$0$0$copyload = HEAP32[$3>>2]|0; - $$sroa$5$0$$sroa_idx = ((($3)) + 4|0); - ;HEAP32[$$sroa$5>>2]=HEAP32[$$sroa$5$0$$sroa_idx>>2]|0;HEAP32[$$sroa$5+4>>2]=HEAP32[$$sroa$5$0$$sroa_idx+4>>2]|0;HEAP32[$$sroa$5+8>>2]=HEAP32[$$sroa$5$0$$sroa_idx+8>>2]|0;HEAP32[$$sroa$5+12>>2]=HEAP32[$$sroa$5$0$$sroa_idx+12>>2]|0; - ;HEAP32[$$byval_copy1>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$2+16>>2]|0; + ;HEAP32[$$byval_copy1>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$3+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$3+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$3+16>>2]|0; + _LoadTextureFromImage($2,$$byval_copy1); + ;HEAP32[$$byval_copy1>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$3+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$3+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$3+16>>2]|0; _UnloadImage($$byval_copy1); - $$sroa$0$0 = $$sroa$0$0$copyload; + ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$2+16>>2]|0; + STACKTOP = sp;return; } - HEAP32[$0>>2] = $$sroa$0$0; - $$sroa$5$0$$sroa_idx5 = ((($0)) + 4|0); - ;HEAP32[$$sroa$5$0$$sroa_idx5>>2]=HEAP32[$$sroa$5>>2]|0;HEAP32[$$sroa$5$0$$sroa_idx5+4>>2]=HEAP32[$$sroa$5+4>>2]|0;HEAP32[$$sroa$5$0$$sroa_idx5+8>>2]=HEAP32[$$sroa$5+8>>2]|0;HEAP32[$$sroa$5$0$$sroa_idx5+12>>2]=HEAP32[$$sroa$5+12>>2]|0; - STACKTOP = sp;return; } function _ImageAlphaMask($0,$1) { $0 = $0|0; @@ -43180,17 +43033,17 @@ function _LoadWaveEx($0,$1,$2,$3,$4,$5) { function _WaveCopy($0,$1) { $0 = $0|0; $1 = $1|0; - var $$sroa$0$0 = 0, $$sroa$5$0 = 0, $$sroa$5$0$$sroa_idx2 = 0, $$sroa$6$0 = 0, $$sroa$6$0$$sroa_idx4 = 0, $$sroa$7$0 = 0, $$sroa$7$0$$sroa_idx6 = 0, $$sroa$8$0$$sroa_idx8 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $2 = 0, $3 = 0, $4 = 0; - var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + var $$sroa$0$0 = 0, $$sroa$5$0 = 0, $$sroa$5$0$$sroa_idx2 = 0, $$sroa$6$0 = 0, $$sroa$6$0$$sroa_idx4 = 0, $$sroa$7$0 = 0, $$sroa$7$0$$sroa_idx6 = 0, $$sroa$8$0$$sroa_idx8 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0; + var $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = HEAP32[$1>>2]|0; - $3 = ((($1)) + 12|0); + $3 = ((($1)) + 8|0); $4 = HEAP32[$3>>2]|0; $5 = Math_imul($4, $2)|0; - $6 = ((($1)) + 8|0); - $7 = HEAP32[$6>>2]|0; - $8 = Math_imul($5, $7)|0; - $9 = $8 >>> 3; + $6 = $5 >>> 3; + $7 = ((($1)) + 12|0); + $8 = HEAP32[$7>>2]|0; + $9 = Math_imul($6, $8)|0; $10 = (_malloc($9)|0); $11 = ($10|0)==(0|0); if ($11) { @@ -43198,13 +43051,16 @@ function _WaveCopy($0,$1) { } else { $12 = ((($1)) + 16|0); $13 = HEAP32[$12>>2]|0; - _memcpy(($10|0),($13|0),($9|0))|0; - $14 = HEAP32[$1>>2]|0; - $15 = ((($1)) + 4|0); - $16 = HEAP32[$15>>2]|0; - $17 = HEAP32[$6>>2]|0; - $18 = HEAP32[$3>>2]|0; - $$sroa$0$0 = $14;$$sroa$5$0 = $16;$$sroa$6$0 = $17;$$sroa$7$0 = $18; + $14 = Math_imul($4, $2)|0; + $15 = Math_imul($14, $8)|0; + $16 = $15 >>> 3; + _memcpy(($10|0),($13|0),($16|0))|0; + $17 = HEAP32[$1>>2]|0; + $18 = ((($1)) + 4|0); + $19 = HEAP32[$18>>2]|0; + $20 = HEAP32[$3>>2]|0; + $21 = HEAP32[$7>>2]|0; + $$sroa$0$0 = $17;$$sroa$5$0 = $19;$$sroa$6$0 = $20;$$sroa$7$0 = $21; } HEAP32[$0>>2] = $$sroa$0$0; $$sroa$5$0$$sroa_idx2 = ((($0)) + 4|0); @@ -43421,10 +43277,10 @@ function _WaveFormat($0,$1,$2,$3) { return; } $99 = HEAP32[$0>>2]|0; - $100 = Math_imul($99, $3)|0; - $101 = HEAP32[$7>>2]|0; - $102 = Math_imul($100, $101)|0; - $103 = $102 >>> 3; + $100 = HEAP32[$7>>2]|0; + $101 = Math_imul($100, $99)|0; + $102 = $101 >>> 3; + $103 = Math_imul($102, $3)|0; $104 = (_malloc($103)|0); $105 = HEAP32[$96>>2]|0; $106 = ($105|0)==(1); @@ -52982,9 +52838,9 @@ function _compute_twiddle_factors($0,$1,$2,$3) { $1 = $1|0; $2 = $2|0; $3 = $3|0; - var $$04044 = 0, $$045 = 0, $$14142 = 0, $$143 = 0, $10 = 0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0, $21 = 0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0.0; - var $26 = 0.0, $27 = 0.0, $28 = 0.0, $29 = 0, $30 = 0.0, $31 = 0.0, $32 = 0.0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0.0, $39 = 0.0, $4 = 0, $40 = 0.0, $41 = 0.0, $42 = 0.0, $43 = 0, $44 = 0.0; - var $45 = 0.0, $46 = 0.0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, $exitcond = 0, $exitcond48 = 0, label = 0, sp = 0; + var $$04044 = 0, $$045 = 0, $$14142 = 0, $$143 = 0, $10 = 0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0, $18 = 0.0, $19 = 0.0, $20 = 0.0, $21 = 0, $22 = 0, $23 = 0.0, $24 = 0.0, $25 = 0.0; + var $26 = 0.0, $27 = 0.0, $28 = 0.0, $29 = 0.0, $30 = 0.0, $31 = 0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0.0, $41 = 0.0, $42 = 0.0, $43 = 0.0, $44 = 0.0; + var $45 = 0.0, $46 = 0, $47 = 0.0, $48 = 0.0, $49 = 0.0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, $exitcond = 0, $exitcond48 = 0, label = 0, sp = 0; sp = STACKTOP; $4 = $0 >> 2; $5 = $0 >> 3; @@ -52995,39 +52851,41 @@ function _compute_twiddle_factors($0,$1,$2,$3) { while(1) { $10 = $$04044 << 2; $11 = (+($10|0)); - $12 = $11 * 3.1415926535897931; + $12 = $11 * 3.1415927410125732; $13 = $12 / $7; - $14 = (+Math_cos((+$13))); - $15 = $14; - $16 = (($1) + ($$045<<2)|0); - HEAPF32[$16>>2] = $15; - $17 = (+Math_sin((+$13))); - $18 = $17; - $19 = -$18; - $20 = $$045 | 1; - $21 = (($1) + ($20<<2)|0); - HEAPF32[$21>>2] = $19; - $22 = (+($20|0)); - $23 = $22 * 3.1415926535897931; - $24 = $23 / $7; - $25 = $24 * 0.5; - $26 = (+Math_cos((+$25))); + $14 = $13; + $15 = (+Math_cos((+$14))); + $16 = $15; + $17 = (($1) + ($$045<<2)|0); + HEAPF32[$17>>2] = $16; + $18 = (+Math_sin((+$14))); + $19 = $18; + $20 = -$19; + $21 = $$045 | 1; + $22 = (($1) + ($21<<2)|0); + HEAPF32[$22>>2] = $20; + $23 = (+($21|0)); + $24 = $23 * 3.1415927410125732; + $25 = $24 / $7; + $26 = $25 * 0.5; $27 = $26; - $28 = $27 * 0.5; - $29 = (($2) + ($$045<<2)|0); - HEAPF32[$29>>2] = $28; - $30 = (+Math_sin((+$25))); - $31 = $30; - $32 = $31 * 0.5; - $33 = (($2) + ($20<<2)|0); - HEAPF32[$33>>2] = $32; - $34 = (($$04044) + 1)|0; - $35 = (($$045) + 2)|0; - $exitcond48 = ($34|0)==($4|0); + $28 = (+Math_cos((+$27))); + $29 = $28; + $30 = $29 * 0.5; + $31 = (($2) + ($$045<<2)|0); + HEAPF32[$31>>2] = $30; + $32 = (+Math_sin((+$27))); + $33 = $32; + $34 = $33 * 0.5; + $35 = (($2) + ($21<<2)|0); + HEAPF32[$35>>2] = $34; + $36 = (($$04044) + 1)|0; + $37 = (($$045) + 2)|0; + $exitcond48 = ($36|0)==($4|0); if ($exitcond48) { break; } else { - $$04044 = $34;$$045 = $35; + $$04044 = $36;$$045 = $37; } } } @@ -53038,27 +52896,28 @@ function _compute_twiddle_factors($0,$1,$2,$3) { $9 = (+($0|0)); $$14142 = 0;$$143 = 0; while(1) { - $36 = $$143 | 1; - $37 = $36 << 1; - $38 = (+($37|0)); - $39 = $38 * 3.1415926535897931; - $40 = $39 / $9; - $41 = (+Math_cos((+$40))); - $42 = $41; - $43 = (($3) + ($$143<<2)|0); - HEAPF32[$43>>2] = $42; - $44 = (+Math_sin((+$40))); + $38 = $$143 | 1; + $39 = $38 << 1; + $40 = (+($39|0)); + $41 = $40 * 3.1415927410125732; + $42 = $41 / $9; + $43 = $42; + $44 = (+Math_cos((+$43))); $45 = $44; - $46 = -$45; - $47 = (($3) + ($36<<2)|0); - HEAPF32[$47>>2] = $46; - $48 = (($$14142) + 1)|0; - $49 = (($$143) + 2)|0; - $exitcond = ($48|0)==($5|0); + $46 = (($3) + ($$143<<2)|0); + HEAPF32[$46>>2] = $45; + $47 = (+Math_sin((+$43))); + $48 = $47; + $49 = -$48; + $50 = (($3) + ($38<<2)|0); + HEAPF32[$50>>2] = $49; + $51 = (($$14142) + 1)|0; + $52 = (($$143) + 2)|0; + $exitcond = ($51|0)==($5|0); if ($exitcond) { break; } else { - $$14142 = $48;$$143 = $49; + $$14142 = $51;$$143 = $52; } } return; @@ -53081,12 +52940,12 @@ function _compute_window($0,$1) { $6 = $5 + 0.5; $7 = $6 / $4; $8 = $7 * 0.5; - $9 = $8 * 3.1415926535897931; + $9 = $8 * 3.1415927410125732; $10 = (+Math_sin((+$9))); $11 = $10; $12 = (+_square($11)); $13 = $12; - $14 = $13 * 1.5707963267948966; + $14 = $13 * 1.5707963705062866; $15 = (+Math_sin((+$14))); $16 = $15; $17 = (($1) + ($$010<<2)|0); @@ -53889,13 +53748,13 @@ function _UpdateMusicStream($0) { if (!($8)) { STACKTOP = sp;return; } - $9 = ((($0)) + 20|0); + $9 = ((($0)) + 16|0); $10 = HEAP32[$9>>2]|0; - $11 = $10 << 12; - $12 = ((($0)) + 16|0); - $13 = HEAP32[$12>>2]|0; - $14 = Math_imul($11, $13)|0; - $15 = $14 >>> 3; + $11 = $10 << 9; + $12 = $11 & 536870400; + $13 = ((($0)) + 20|0); + $14 = HEAP32[$13>>2]|0; + $15 = Math_imul($12, $14)|0; $16 = (_calloc($15,1)|0); $17 = HEAP32[$2>>2]|0; $18 = ($17|0)>(0); @@ -53913,7 +53772,7 @@ function _UpdateMusicStream($0) { switch ($26|0) { case 0: { $27 = HEAP32[$20>>2]|0; - $28 = HEAP32[$9>>2]|0; + $28 = HEAP32[$13>>2]|0; $29 = Math_imul($28, $$)|0; (_stb_vorbis_get_samples_short_interleaved($27,$28,$16,$29)|0); break; @@ -71562,7 +71421,7 @@ var FUNCTION_TABLE_v = [b21,_UpdateDrawFrame,_emscripten_glLoadIdentity__wrapper var FUNCTION_TABLE_viid = [b22,_emscripten_glTexParameterf__wrapper]; var FUNCTION_TABLE_viiii = [b23,_MouseButtonCallback,_emscripten_glBufferData__wrapper,_emscripten_glBufferSubData__wrapper,_emscripten_glUniform3i__wrapper,_emscripten_glUniformMatrix2fv__wrapper,_emscripten_glUniformMatrix3fv__wrapper,_emscripten_glUniformMatrix4fv__wrapper,_emscripten_glGetAttachedShaders__wrapper,_emscripten_glShaderSource__wrapper,_emscripten_glGetShaderSource__wrapper,_emscripten_glGetShaderInfoLog__wrapper,_emscripten_glGetShaderPrecisionFormat__wrapper,_emscripten_glGetProgramInfoLog__wrapper,_emscripten_glFramebufferRenderbuffer__wrapper,_emscripten_glGetFramebufferAttachmentParameteriv__wrapper,_emscripten_glGetInfoLogARB__wrapper,_emscripten_glVertexPointer__wrapper,_emscripten_glTexCoordPointer__wrapper,_emscripten_glColorPointer__wrapper,_emscripten_glDrawElements__wrapper,_emscripten_glDrawArraysInstanced__wrapper,_emscripten_glViewport__wrapper,_emscripten_glScissor__wrapper,_emscripten_glColorMask__wrapper,_emscripten_glRenderbufferStorage__wrapper,_emscripten_glBlendFuncSeparate__wrapper,_emscripten_glStencilFuncSeparate__wrapper,_emscripten_glStencilOpSeparate__wrapper,b23,b23,b23]; - return { _roundf: _roundf, _main: _main, _llvm_cttz_i32: _llvm_cttz_i32, _bitshift64Lshr: _bitshift64Lshr, _bitshift64Shl: _bitshift64Shl, _fflush: _fflush, _memset: _memset, _sbrk: _sbrk, _memcpy: _memcpy, _llvm_bswap_i32: _llvm_bswap_i32, ___muldi3: ___muldi3, ___uremdi3: ___uremdi3, _i64Subtract: _i64Subtract, ___udivmoddi4: ___udivmoddi4, _i64Add: _i64Add, _emscripten_get_global_libc: _emscripten_get_global_libc, _emscripten_GetProcAddress: _emscripten_GetProcAddress, ___udivdi3: ___udivdi3, ___errno_location: ___errno_location, ___muldsi3: ___muldsi3, _free: _free, _memmove: _memmove, _strstr: _strstr, _malloc: _malloc, runPostSets: runPostSets, _emscripten_replace_memory: _emscripten_replace_memory, stackAlloc: stackAlloc, stackSave: stackSave, stackRestore: stackRestore, establishStackSpace: establishStackSpace, setTempRet0: setTempRet0, getTempRet0: getTempRet0, setThrew: setThrew, stackAlloc: stackAlloc, stackSave: stackSave, stackRestore: stackRestore, establishStackSpace: establishStackSpace, setThrew: setThrew, setTempRet0: setTempRet0, getTempRet0: getTempRet0, dynCall_viiiii: dynCall_viiiii, dynCall_vd: dynCall_vd, dynCall_vid: dynCall_vid, dynCall_vi: dynCall_vi, dynCall_vii: dynCall_vii, dynCall_ii: dynCall_ii, dynCall_viddd: dynCall_viddd, dynCall_vidd: dynCall_vidd, dynCall_iiii: dynCall_iiii, dynCall_viiiiiiii: dynCall_viiiiiiii, dynCall_viiiiii: dynCall_viiiiii, dynCall_viii: dynCall_viii, dynCall_vidddd: dynCall_vidddd, dynCall_vdi: dynCall_vdi, dynCall_viiiiiii: dynCall_viiiiiii, dynCall_viiiiiiiii: dynCall_viiiiiiiii, dynCall_iii: dynCall_iii, dynCall_i: dynCall_i, dynCall_vdddddd: dynCall_vdddddd, dynCall_vdddd: dynCall_vdddd, dynCall_vdd: dynCall_vdd, dynCall_v: dynCall_v, dynCall_viid: dynCall_viid, dynCall_viiii: dynCall_viiii }; + return { _roundf: _roundf, _main: _main, _llvm_cttz_i32: _llvm_cttz_i32, _bitshift64Lshr: _bitshift64Lshr, _bitshift64Shl: _bitshift64Shl, _fflush: _fflush, _memset: _memset, _sbrk: _sbrk, _memcpy: _memcpy, _llvm_bswap_i32: _llvm_bswap_i32, ___muldi3: ___muldi3, ___uremdi3: ___uremdi3, _i64Subtract: _i64Subtract, ___udivmoddi4: ___udivmoddi4, _i64Add: _i64Add, _emscripten_get_global_libc: _emscripten_get_global_libc, _emscripten_GetProcAddress: _emscripten_GetProcAddress, ___udivdi3: ___udivdi3, ___errno_location: ___errno_location, ___muldsi3: ___muldsi3, _free: _free, _memmove: _memmove, _strstr: _strstr, _malloc: _malloc, runPostSets: runPostSets, stackAlloc: stackAlloc, stackSave: stackSave, stackRestore: stackRestore, establishStackSpace: establishStackSpace, setTempRet0: setTempRet0, getTempRet0: getTempRet0, setThrew: setThrew, stackAlloc: stackAlloc, stackSave: stackSave, stackRestore: stackRestore, establishStackSpace: establishStackSpace, setThrew: setThrew, setTempRet0: setTempRet0, getTempRet0: getTempRet0, dynCall_viiiii: dynCall_viiiii, dynCall_vd: dynCall_vd, dynCall_vid: dynCall_vid, dynCall_vi: dynCall_vi, dynCall_vii: dynCall_vii, dynCall_ii: dynCall_ii, dynCall_viddd: dynCall_viddd, dynCall_vidd: dynCall_vidd, dynCall_iiii: dynCall_iiii, dynCall_viiiiiiii: dynCall_viiiiiiii, dynCall_viiiiii: dynCall_viiiiii, dynCall_viii: dynCall_viii, dynCall_vidddd: dynCall_vidddd, dynCall_vdi: dynCall_vdi, dynCall_viiiiiii: dynCall_viiiiiii, dynCall_viiiiiiiii: dynCall_viiiiiiiii, dynCall_iii: dynCall_iii, dynCall_i: dynCall_i, dynCall_vdddddd: dynCall_vdddddd, dynCall_vdddd: dynCall_vdddd, dynCall_vdd: dynCall_vdd, dynCall_v: dynCall_v, dynCall_viid: dynCall_viid, dynCall_viiii: dynCall_viiii }; }) // EMSCRIPTEN_END_ASM (Module.asmGlobalArg, Module.asmLibraryArg, buffer); @@ -71772,7 +71631,6 @@ var _memmove = Module["_memmove"] = asm["_memmove"]; var _strstr = Module["_strstr"] = asm["_strstr"]; var stackRestore = Module["stackRestore"] = asm["stackRestore"]; var _malloc = Module["_malloc"] = asm["_malloc"]; -var _emscripten_replace_memory = Module["_emscripten_replace_memory"] = asm["_emscripten_replace_memory"]; var dynCall_viiiii = Module["dynCall_viiiii"] = asm["dynCall_viiiii"]; var dynCall_vd = Module["dynCall_vd"] = asm["dynCall_vd"]; var dynCall_vid = Module["dynCall_vid"] = asm["dynCall_vid"]; diff --git a/docs/games/raylib_demo.data b/docs/games/raylib_demo.data deleted file mode 100644 index c73be60b8..000000000 --- a/docs/games/raylib_demo.data +++ /dev/null @@ -1,14928 +0,0 @@ -# -# object Cat -# - -v -0.00 30.40 -1.43 -v -0.00 30.01 1.57 -v 3.07 28.57 1.88 -v 3.23 28.74 -1.28 -v 2.93 30.52 -14.47 -v 0.00 31.65 -14.07 -v 0.00 32.03 -11.02 -v 3.49 30.39 -11.43 -v -0.00 22.66 -19.14 -v 1.98 22.94 -18.73 -v 2.33 19.32 -17.01 -v -0.00 18.98 -17.55 -v 6.09 25.02 -0.72 -v 6.05 25.40 2.15 -v 6.20 18.84 -0.16 -v 5.74 18.56 2.35 -v 6.32 19.78 -7.20 -v 4.52 16.56 -7.33 -v 4.70 16.75 -9.21 -v 6.65 19.94 -8.17 -v -0.00 30.43 5.21 -v 3.15 29.21 6.20 -v 3.46 15.19 3.29 -v 4.18 15.67 0.04 -v 2.28 13.77 0.12 -v 2.04 14.08 2.60 -v 2.38 14.74 -7.70 -v 2.27 15.37 -10.06 -v 5.58 26.84 7.17 -v 2.87 30.20 8.03 -v 4.93 27.37 9.73 -v 5.61 2.21 8.37 -v 6.14 3.22 9.74 -v 6.68 1.73 10.18 -v 5.68 -0.03 9.83 -v 4.08 -0.03 9.37 -v 4.02 1.99 7.98 -v 2.54 -0.03 10.04 -v 2.39 2.21 8.56 -v 1.77 1.73 10.48 -v 2.34 3.22 10.01 -v 2.52 3.27 11.56 -v 2.80 3.64 11.26 -v 3.32 3.62 11.86 -v 5.34 3.62 11.75 -v 5.75 3.64 11.07 -v 4.32 3.96 11.73 -v 4.34 3.73 12.02 -v 6.03 3.27 11.36 -v 7.00 1.16 12.70 -v 7.05 1.09 14.30 -v 6.62 -0.01 14.46 -v 6.67 -0.01 12.74 -v 5.94 -0.01 14.95 -v 5.34 -0.01 14.87 -v 4.29 -0.01 12.84 -v 4.47 -0.01 15.37 -v 3.58 -0.01 14.94 -v 1.67 1.17 12.96 -v 1.91 -0.01 12.93 -v 2.27 -0.01 14.65 -v 1.87 1.10 14.53 -v 2.04 2.51 14.08 -v 2.41 2.98 12.86 -v 3.07 3.33 12.99 -v 2.87 2.89 14.41 -v 4.95 3.61 13.06 -v 4.38 3.90 13.27 -v 4.41 3.41 14.79 -v 5.47 2.54 14.56 -v 6.74 2.51 13.88 -v 6.27 3.03 12.63 -v 5.58 1.24 15.03 -v 4.51 1.34 15.66 -v 3.48 1.25 15.07 -v 2.66 1.19 15.14 -v 3.54 2.56 14.63 -v 2.19 14.25 6.54 -v 1.39 14.12 6.98 -v 2.42 14.98 8.43 -v 1.36 14.78 9.20 -v 2.01 16.83 -13.60 -v -0.00 16.45 -13.91 -v 6.29 19.22 -3.91 -v 5.78 25.21 -4.36 -v 3.33 29.17 -4.90 -v 0.00 31.15 -4.95 -v -0.00 26.87 -17.74 -v 2.39 27.13 -17.55 -v -0.00 14.93 -10.66 -v -0.00 31.09 -16.51 -v 2.17 29.72 -16.78 -v 1.49 36.84 -24.79 -v 1.27 41.55 -26.64 -v 0.00 42.08 -25.44 -v -0.00 37.36 -23.33 -v 1.10 48.04 -27.60 -v 0.00 41.08 -28.03 -v 0.00 47.89 -28.89 -v -0.00 36.18 -26.27 -v -0.02 31.50 -23.55 -v 1.65 32.74 -22.14 -v 1.80 30.64 -19.84 -v -0.00 29.11 -21.24 -v -0.02 33.60 -20.56 -v -0.01 31.57 -18.45 -v 0.00 48.20 -26.51 -v 0.64 48.90 -27.72 -v -0.00 48.99 -27.04 -v 0.00 48.81 -28.52 -v 2.01 29.52 -17.72 -v -0.00 19.75 14.29 -v -0.00 17.45 12.46 -v 1.88 17.93 12.35 -v 1.57 20.12 14.04 -v 2.56 30.98 9.13 -v 4.46 28.79 10.92 -v -0.00 31.95 8.21 -v -0.00 31.29 7.02 -v 5.94 25.26 11.51 -v 4.93 26.82 12.64 -v -0.00 32.95 8.95 -v 2.56 32.43 9.79 -v 1.36 23.45 15.57 -v -0.00 23.15 15.81 -v 3.19 24.31 14.77 -v 3.17 20.72 13.42 -v 5.00 22.20 12.86 -v 4.13 24.96 14.05 -v 4.39 31.01 11.80 -v 4.76 29.65 13.36 -v 4.26 28.06 14.68 -v 3.28 27.06 15.56 -v -0.00 25.73 16.48 -v 1.41 26.15 16.41 -v 2.33 34.56 22.15 -v 2.25 34.47 22.31 -v 3.19 34.48 22.08 -v 3.11 34.55 21.97 -v 1.82 34.76 22.51 -v 1.98 34.86 22.25 -v 4.11 41.24 16.12 -v 4.12 40.53 17.30 -v 5.12 39.89 15.46 -v 5.50 40.64 14.98 -v 3.81 42.25 16.18 -v 5.77 38.26 15.33 -v 5.91 39.09 13.80 -v 7.55 38.39 15.53 -v 6.54 36.03 14.95 -v 5.79 37.39 13.19 -v 1.95 41.74 16.78 -v 1.50 41.82 17.78 -v 1.91 41.74 17.62 -v 4.44 44.21 17.57 -v 3.38 43.19 17.82 -v 4.27 42.62 18.08 -v 4.86 43.93 17.63 -v 6.27 42.25 15.15 -v 4.55 43.61 16.50 -v 8.27 41.13 15.27 -v 7.96 39.76 15.42 -v 6.37 40.27 13.65 -v 8.04 39.75 15.23 -v 7.03 42.62 14.09 -v 4.88 41.33 13.82 -v 5.86 43.29 14.36 -v 5.09 43.90 15.39 -v 3.78 42.25 15.07 -v 5.51 45.24 17.16 -v 5.70 45.19 17.08 -v 7.48 46.20 17.08 -v 7.08 44.48 15.93 -v 7.79 45.24 16.33 -v 8.24 43.92 15.60 -v 8.30 43.97 15.38 -v 7.56 44.53 15.35 -v 7.82 45.29 16.17 -v 6.80 44.94 15.49 -v 6.20 45.28 16.21 -v 7.45 46.19 16.92 -v 5.18 43.72 17.22 -v 8.33 42.51 15.28 -v 8.40 42.58 15.07 -v 5.09 41.88 17.65 -v 3.26 19.02 11.83 -v 4.39 16.04 -3.75 -v 2.33 13.93 -3.88 -v 0.00 13.05 0.04 -v 0.00 13.35 2.73 -v 0.00 14.05 -7.91 -v 0.00 13.86 7.43 -v 0.00 14.78 9.65 -v 2.74 18.21 -13.21 -v 0.00 13.25 -4.01 -v 5.80 25.70 -8.38 -v 3.34 30.05 -8.19 -v 0.00 31.71 -7.95 -v 2.16 35.87 22.31 -v 2.57 36.23 22.18 -v 2.55 36.31 22.34 -v 2.13 35.91 22.52 -v 1.80 35.20 22.55 -v 1.94 35.25 22.33 -v 4.17 35.18 21.38 -v 4.25 35.81 21.29 -v 4.16 35.76 21.28 -v 4.10 35.18 21.41 -v 3.86 34.75 21.73 -v 3.78 34.80 21.68 -v 3.07 36.36 21.96 -v 3.13 36.47 22.14 -v 3.78 3.59 13.14 -v 5.65 3.37 12.82 -v 6.11 2.84 14.28 -v 6.30 1.18 14.99 -v 2.96 -0.01 15.07 -v 6.25 36.31 15.33 -v 7.47 38.42 15.69 -v 3.13 41.25 17.80 -v 2.03 41.16 19.56 -v 2.31 41.56 17.79 -v 7.09 2.43 -19.06 -v 7.57 3.28 -17.72 -v 7.74 1.96 -17.50 -v 7.12 0.00 -18.53 -v 5.75 0.00 -19.00 -v 5.72 2.06 -19.83 -v 4.44 0.00 -18.31 -v 4.40 2.43 -18.89 -v 3.76 1.96 -17.22 -v 3.89 3.29 -17.47 -v 4.49 3.30 -16.19 -v 4.57 3.62 -16.49 -v 5.21 3.62 -15.90 -v 5.96 3.97 -15.94 -v 5.96 3.72 -15.75 -v 6.70 3.61 -16.01 -v 7.24 3.61 -16.67 -v 7.39 3.30 -16.39 -v 8.75 1.24 -15.02 -v 8.64 1.16 -12.80 -v 8.22 0.00 -12.58 -v 8.27 0.00 -14.95 -v 7.55 0.00 -11.91 -v 6.95 0.00 -12.02 -v 5.92 0.00 -14.81 -v 6.10 0.00 -11.32 -v 5.22 0.00 -11.92 -v 3.53 1.16 -12.48 -v 3.19 1.24 -14.66 -v 3.57 0.00 -14.69 -v 3.93 0.00 -12.32 -v 3.70 3.02 -13.10 -v 4.06 3.53 -14.81 -v 4.51 3.43 -12.65 -v 4.71 3.91 -14.62 -v 6.01 4.53 -14.23 -v 6.04 4.00 -12.13 -v 7.09 3.06 -12.44 -v 6.57 4.22 -14.52 -v 8.34 3.02 -13.38 -v 7.88 3.59 -15.12 -v 7.20 1.32 -11.80 -v 6.14 1.42 -10.92 -v 5.12 1.33 -11.73 -v 4.30 1.26 -11.65 -v 5.18 3.08 -12.34 -v 5.42 4.19 -14.41 -v 7.26 3.95 -14.86 -v 7.72 3.38 -12.82 -v 7.91 1.26 -11.85 -v 4.60 0.00 -11.75 -v 8.34 41.12 15.05 -v 1.05 31.27 23.35 -v 1.91 30.72 22.80 -v -0.00 30.42 21.70 -v 0.99 31.21 23.60 -v 0.44 31.50 23.77 -v -0.00 31.85 23.98 -v -0.00 31.64 23.83 -v 0.19 31.62 23.81 -v 0.77 31.44 23.53 -v 4.07 40.21 13.27 -v 2.70 41.60 14.81 -v 9.35 21.36 -11.82 -v 7.34 20.08 -8.75 -v 7.54 15.35 -9.52 -v 9.91 16.45 -13.25 -v 6.26 25.80 -8.91 -v 7.71 25.97 -11.69 -v 7.69 23.23 -16.57 -v 6.48 26.48 -15.68 -v 4.67 24.17 -19.26 -v 4.29 27.08 -17.03 -v 5.40 13.46 -20.28 -v 5.10 15.57 -19.07 -v 8.29 14.42 -17.91 -v 8.49 11.41 -19.26 -v 8.44 18.60 -17.05 -v 4.95 19.86 -19.38 -v 4.86 29.06 -14.93 -v 5.76 28.94 -11.95 -v 8.39 10.36 -17.19 -v 8.26 8.96 -17.63 -v 8.15 9.26 -19.80 -v 5.37 9.04 -22.20 -v 5.39 12.45 -21.46 -v 7.56 6.58 -19.65 -v 7.75 6.67 -17.92 -v 5.46 6.28 -20.78 -v 9.55 12.52 -15.65 -v 3.21 10.61 -16.85 -v 2.99 11.59 -19.22 -v 3.15 9.53 -19.54 -v 3.35 9.18 -17.26 -v 3.93 6.80 -17.69 -v 5.84 6.61 -16.48 -v 6.07 8.72 -15.66 -v 3.87 6.53 -19.23 -v 6.24 9.51 -15.18 -v 6.94 10.91 -13.09 -v 3.41 12.28 -13.94 -v 3.04 13.84 -15.32 -v 3.10 15.11 -17.16 -v 6.80 11.45 5.31 -v 5.08 11.25 4.62 -v 5.44 13.30 3.26 -v 7.01 13.17 4.27 -v 3.68 11.50 5.38 -v 3.96 13.36 4.06 -v 2.61 12.50 6.46 -v 3.54 12.74 10.35 -v 5.44 11.32 10.79 -v 5.71 12.69 10.92 -v 7.21 12.61 9.49 -v 6.74 10.48 9.44 -v 5.54 15.60 2.65 -v 7.56 15.57 3.60 -v 3.35 15.84 10.75 -v 5.70 16.02 11.41 -v 7.55 16.03 10.25 -v 7.92 12.48 7.83 -v 8.73 15.76 7.82 -v 7.08 21.62 3.10 -v 7.64 18.57 3.15 -v 6.65 24.62 10.50 -v 7.22 23.54 7.84 -v 7.48 10.15 8.22 -v 6.52 9.31 6.17 -v 6.51 9.30 6.16 -v 4.96 9.40 5.37 -v 2.67 3.40 8.13 -v 4.14 3.11 7.38 -v 2.39 4.06 8.96 -v 2.88 4.43 10.82 -v 8.62 19.59 7.86 -v 5.89 19.71 11.97 -v 7.55 19.76 10.61 -v 4.84 8.62 10.62 -v 4.95 9.57 10.50 -v 3.02 9.48 10.01 -v 2.97 8.56 10.21 -v 6.17 8.46 9.79 -v 6.32 9.42 9.66 -v 6.98 9.13 8.55 -v 6.79 8.23 8.68 -v 4.50 8.16 6.43 -v 6.08 8.40 7.10 -v 5.96 7.46 7.26 -v 4.41 7.23 6.64 -v 6.51 7.32 8.81 -v 3.52 10.12 5.88 -v 2.46 8.83 7.68 -v 2.69 6.46 7.45 -v 4.31 6.29 6.86 -v 2.48 7.01 8.20 -v 3.10 7.52 10.42 -v 4.48 4.59 11.31 -v 5.68 4.40 10.51 -v 6.11 4.22 9.23 -v 5.55 3.27 7.82 -v 2.19 28.58 17.74 -v -0.00 28.19 17.89 -v 0.00 27.08 17.06 -v 1.97 27.54 16.97 -v 4.13 28.54 16.42 -v 4.34 29.37 17.58 -v 5.44 30.14 15.70 -v 6.10 31.05 16.90 -v 5.84 30.72 18.56 -v 0.00 34.44 9.58 -v 3.01 33.84 10.45 -v 5.46 32.87 12.29 -v 5.78 31.44 14.37 -v 5.89 35.55 12.68 -v 3.31 36.61 10.82 -v -0.00 37.13 9.86 -v 0.92 34.95 23.68 -v -0.00 35.17 23.93 -v -0.00 34.52 24.34 -v 1.00 34.24 24.10 -v 1.13 33.50 24.60 -v -0.00 33.71 24.97 -v -0.00 32.81 24.82 -v 1.16 33.35 24.54 -v 0.17 32.79 24.76 -v 1.88 32.27 24.20 -v 1.06 32.47 24.68 -v 0.92 32.04 24.48 -v 1.63 31.75 24.03 -v 0.74 31.73 24.22 -v 1.35 31.33 23.89 -v 1.29 34.04 23.96 -v 3.21 30.53 21.75 -v 3.96 31.60 22.04 -v 2.75 31.57 23.20 -v 0.00 41.90 18.20 -v -0.00 41.15 20.18 -v 4.22 29.82 19.06 -v 6.42 33.99 19.85 -v 6.16 32.01 19.66 -v 6.88 32.41 18.06 -v 7.09 34.21 18.13 -v -0.00 36.61 23.40 -v -0.00 35.79 23.62 -v 0.93 35.61 23.37 -v 1.12 36.42 23.17 -v -0.00 31.48 23.97 -v 0.40 31.42 23.92 -v 4.14 32.81 22.39 -v 3.02 32.48 23.28 -v 1.78 36.12 22.84 -v 1.42 35.35 23.08 -v 2.07 40.06 21.08 -v -0.00 40.08 21.59 -v 3.19 36.68 22.18 -v 3.82 36.35 21.67 -v 4.00 36.52 21.64 -v 3.51 37.03 22.04 -v 3.07 40.70 12.84 -v -0.00 41.05 12.30 -v 0.00 41.95 14.79 -v 1.34 29.48 22.43 -v 1.78 29.30 21.35 -v 2.55 29.83 21.48 -v 1.89 29.97 22.46 -v 5.17 30.55 19.50 -v 4.32 30.50 20.82 -v 3.37 29.88 20.50 -v 2.28 29.22 19.09 -v 2.10 29.36 20.32 -v -0.00 33.98 24.85 -v 4.63 37.76 21.16 -v 3.35 38.38 21.86 -v 2.79 37.40 22.61 -v 3.80 39.63 20.44 -v 4.97 38.68 19.91 -v 1.86 38.83 22.55 -v 1.56 37.79 23.12 -v 5.08 36.64 20.39 -v 5.59 37.08 19.06 -v 4.94 39.75 16.71 -v 4.92 39.26 18.02 -v 5.85 37.70 17.08 -v 5.89 38.20 15.93 -v 0.84 29.87 23.02 -v -0.00 29.64 23.08 -v 0.00 29.17 22.48 -v -0.00 28.93 21.37 -v -0.00 29.08 20.37 -v -0.00 28.97 19.19 -v 5.06 31.74 21.03 -v 3.76 40.47 18.68 -v -0.00 38.87 22.78 -v 1.33 34.72 23.44 -v 5.28 36.00 20.21 -v 4.40 36.18 21.25 -v 4.48 35.84 21.14 -v -0.00 37.84 23.28 -v 2.39 33.29 23.39 -v 1.36 33.84 23.79 -v 1.63 32.77 24.35 -v 2.56 36.62 22.56 -v 4.19 36.02 21.35 -v 3.56 33.77 22.69 -v 3.37 39.54 11.68 -v -0.00 39.65 10.81 -v 6.54 34.68 14.01 -v 1.15 31.06 23.46 -v 1.39 30.16 23.06 -v 0.18 32.36 24.61 -v 0.15 32.09 24.44 -v -0.00 32.76 24.73 -v -0.00 32.34 24.55 -v -0.00 32.10 24.37 -v 0.81 31.29 23.67 -v 4.73 34.55 21.49 -v 5.24 33.33 21.28 -v 6.91 32.96 15.56 -v 7.07 34.54 16.53 -v 6.04 36.45 16.75 -v 5.76 36.16 18.45 -v -0.00 30.54 23.72 -v 0.85 30.42 23.55 -v 3.73 36.27 21.50 -v 4.11 35.97 21.31 -v 2.30 35.42 22.46 -v 2.29 35.79 22.39 -v 2.37 35.17 22.43 -v 2.58 34.97 22.35 -v 3.08 34.88 22.13 -v 3.42 35.10 21.98 -v 3.55 35.34 21.89 -v 3.46 35.98 21.87 -v 3.56 35.68 21.85 -v 3.04 36.19 22.04 -v 2.61 36.15 22.23 -v 2.97 35.56 22.36 -v 4.73 7.67 10.74 -v 5.94 7.50 9.91 -v 5.76 6.50 7.43 -v 2.55 7.46 7.26 -v 2.39 7.97 7.91 -v 2.76 8.38 7.02 -v 0.00 49.12 -27.78 -v -3.23 28.74 -1.28 -v -3.07 28.57 1.88 -v -2.93 30.52 -14.47 -v -3.49 30.39 -11.43 -v -2.33 19.32 -17.01 -v -1.98 22.94 -18.73 -v -6.09 25.02 -0.72 -v -6.05 25.40 2.15 -v -6.20 18.84 -0.16 -v -5.74 18.55 2.35 -v -6.32 19.78 -7.20 -v -6.65 19.94 -8.17 -v -4.70 16.75 -9.21 -v -4.52 16.56 -7.33 -v -3.15 29.21 6.20 -v -3.46 15.18 3.30 -v -4.18 15.67 0.04 -v -2.28 13.77 0.12 -v -2.04 14.08 2.60 -v -2.38 14.74 -7.70 -v -2.27 15.37 -10.06 -v -5.58 26.84 7.17 -v -4.93 27.37 9.73 -v -2.87 30.20 8.03 -v -5.61 2.21 8.37 -v -5.68 -0.03 9.83 -v -6.68 1.73 10.18 -v -6.14 3.22 9.74 -v -4.02 1.99 7.98 -v -4.08 -0.03 9.37 -v -2.39 2.21 8.56 -v -2.54 -0.03 10.04 -v -1.77 1.73 10.48 -v -2.34 3.22 10.01 -v -2.52 3.27 11.56 -v -2.80 3.64 11.26 -v -3.32 3.62 11.86 -v -4.32 3.96 11.73 -v -5.75 3.64 11.07 -v -5.34 3.62 11.75 -v -4.34 3.73 12.02 -v -6.03 3.27 11.36 -v -7.00 1.16 12.70 -v -6.67 -0.01 12.74 -v -6.62 -0.01 14.46 -v -7.05 1.09 14.30 -v -5.94 -0.01 14.95 -v -4.29 -0.01 12.84 -v -5.34 -0.01 14.87 -v -4.47 -0.01 15.37 -v -3.58 -0.01 14.94 -v -1.67 1.17 12.96 -v -1.87 1.10 14.53 -v -2.27 -0.01 14.65 -v -1.91 -0.01 12.93 -v -2.04 2.51 14.08 -v -2.41 2.98 12.86 -v -3.07 3.33 12.99 -v -2.87 2.89 14.41 -v -4.95 3.61 13.06 -v -5.47 2.54 14.56 -v -4.41 3.41 14.79 -v -4.38 3.90 13.27 -v -6.74 2.51 13.88 -v -6.27 3.03 12.63 -v -5.58 1.24 15.03 -v -4.51 1.34 15.66 -v -3.48 1.25 15.07 -v -2.66 1.19 15.14 -v -3.54 2.56 14.63 -v -2.19 14.25 6.54 -v -1.39 14.12 6.98 -v -2.42 14.98 8.43 -v -1.36 14.78 9.20 -v -2.01 16.83 -13.60 -v -6.29 19.22 -3.91 -v -5.78 25.21 -4.36 -v -3.33 29.17 -4.90 -v -2.39 27.13 -17.55 -v -2.17 29.71 -16.77 -v -1.49 36.84 -24.79 -v -1.27 41.55 -26.64 -v -1.10 48.04 -27.60 -v -1.80 30.62 -19.83 -v -1.73 32.71 -22.16 -v -0.64 48.90 -27.72 -v -2.01 29.49 -17.69 -v -1.57 20.12 14.04 -v -1.88 17.93 12.35 -v -2.56 30.98 9.13 -v -4.46 28.79 10.92 -v -5.94 25.30 11.45 -v -4.93 26.82 12.64 -v -2.56 32.43 9.79 -v -1.36 23.45 15.57 -v -3.19 24.31 14.77 -v -4.13 24.96 14.05 -v -5.00 22.20 12.86 -v -3.17 20.72 13.42 -v -4.39 31.01 11.80 -v -4.26 28.06 14.68 -v -4.76 29.65 13.36 -v -3.28 27.06 15.56 -v -1.41 26.15 16.41 -v -2.36 34.54 22.12 -v -3.17 34.53 21.93 -v -3.24 34.45 22.04 -v -2.28 34.44 22.27 -v -1.85 34.74 22.48 -v -2.01 34.84 22.21 -v -4.11 41.25 16.12 -v -5.14 39.91 15.45 -v -4.10 40.52 17.32 -v -5.51 40.65 14.97 -v -3.82 42.26 16.17 -v -5.78 38.23 15.31 -v -5.93 39.07 13.75 -v -5.77 37.37 13.20 -v -6.53 36.04 14.96 -v -7.55 38.38 15.52 -v -1.95 41.75 16.78 -v -1.91 41.74 17.62 -v -1.50 41.83 17.78 -v -4.44 44.22 17.56 -v -4.87 43.94 17.63 -v -4.27 42.64 18.07 -v -3.39 43.20 17.82 -v -4.55 43.63 16.49 -v -6.28 42.27 15.14 -v -8.27 41.15 15.26 -v -7.97 39.78 15.41 -v -6.38 40.27 13.63 -v -8.05 39.76 15.23 -v -7.04 42.64 14.09 -v -5.86 43.30 14.35 -v -4.81 41.35 13.62 -v -3.78 42.26 15.07 -v -5.09 43.91 15.39 -v -5.51 45.25 17.16 -v -7.48 46.22 17.08 -v -5.70 45.21 17.08 -v -7.08 44.49 15.93 -v -7.79 45.26 16.33 -v -8.24 43.93 15.60 -v -8.30 43.98 15.38 -v -7.82 45.31 16.17 -v -7.57 44.55 15.34 -v -6.80 44.96 15.49 -v -7.45 46.20 16.92 -v -6.20 45.30 16.21 -v -5.19 43.74 17.22 -v -8.33 42.53 15.28 -v -8.40 42.59 15.07 -v -5.08 41.92 17.73 -v -3.26 19.02 11.83 -v -4.39 16.04 -3.75 -v -2.33 13.93 -3.88 -v -2.74 18.21 -13.21 -v -5.80 25.70 -8.38 -v -3.34 30.05 -8.19 -v -2.22 35.87 22.27 -v -2.18 35.91 22.49 -v -2.62 36.32 22.31 -v -2.64 36.24 22.14 -v -1.99 35.24 22.30 -v -1.84 35.19 22.52 -v -4.24 35.17 21.32 -v -4.17 35.17 21.36 -v -4.22 35.77 21.22 -v -4.32 35.81 21.24 -v -3.84 34.78 21.64 -v -3.92 34.73 21.68 -v -3.20 36.48 22.11 -v -3.14 36.37 21.92 -v -3.78 3.59 13.14 -v -6.11 2.84 14.28 -v -5.65 3.37 12.82 -v -6.30 1.18 14.99 -v -2.96 -0.01 15.07 -v -7.48 38.41 15.68 -v -6.27 36.31 15.32 -v -3.13 41.25 17.80 -v -2.31 41.56 17.79 -v -2.03 41.16 19.56 -v -7.09 2.43 -19.06 -v -7.12 0.00 -18.53 -v -7.74 1.96 -17.50 -v -7.57 3.28 -17.72 -v -5.72 2.06 -19.83 -v -5.75 0.00 -19.00 -v -4.40 2.43 -18.89 -v -4.44 0.00 -18.31 -v -3.76 1.96 -17.22 -v -3.89 3.29 -17.47 -v -4.57 3.62 -16.49 -v -4.49 3.30 -16.19 -v -5.96 3.97 -15.94 -v -5.21 3.62 -15.90 -v -5.96 3.72 -15.75 -v -6.70 3.61 -16.01 -v -7.39 3.30 -16.39 -v -7.24 3.61 -16.67 -v -8.75 1.24 -15.02 -v -8.27 0.00 -14.95 -v -8.22 0.00 -12.58 -v -8.64 1.16 -12.80 -v -7.55 0.00 -11.91 -v -5.92 0.00 -14.81 -v -6.95 0.00 -12.02 -v -6.10 0.00 -11.32 -v -5.22 0.00 -11.92 -v -3.53 1.16 -12.48 -v -3.93 0.00 -12.32 -v -3.57 0.00 -14.69 -v -3.19 1.24 -14.66 -v -3.70 3.02 -13.10 -v -4.06 3.53 -14.81 -v -4.71 3.91 -14.62 -v -4.51 3.43 -12.65 -v -6.01 4.53 -14.23 -v -6.57 4.22 -14.52 -v -7.09 3.06 -12.44 -v -6.04 4.00 -12.13 -v -8.34 3.02 -13.38 -v -7.88 3.59 -15.12 -v -7.20 1.32 -11.80 -v -6.14 1.42 -10.92 -v -5.12 1.33 -11.73 -v -4.30 1.26 -11.65 -v -5.18 3.08 -12.34 -v -5.42 4.19 -14.41 -v -7.26 3.95 -14.86 -v -7.72 3.38 -12.82 -v -7.91 1.26 -11.85 -v -4.60 0.00 -11.75 -v -8.35 41.13 15.05 -v -1.05 31.27 23.35 -v -1.91 30.72 22.80 -v -0.44 31.50 23.77 -v -0.99 31.21 23.60 -v -0.18 31.62 23.81 -v -0.76 31.44 23.53 -v -3.97 40.15 13.10 -v -2.70 41.61 14.81 -v -9.35 21.36 -11.82 -v -9.91 16.45 -13.25 -v -7.54 15.35 -9.52 -v -7.34 20.08 -8.75 -v -6.26 25.80 -8.91 -v -7.71 25.97 -11.69 -v -6.48 26.48 -15.68 -v -7.69 23.23 -16.57 -v -4.67 24.17 -19.26 -v -4.29 27.08 -17.03 -v -5.40 13.46 -20.27 -v -8.49 11.41 -19.26 -v -8.29 14.42 -17.91 -v -5.10 15.57 -19.07 -v -4.95 19.86 -19.38 -v -8.44 18.60 -17.05 -v -5.76 28.94 -11.95 -v -4.86 29.06 -14.93 -v -8.39 10.36 -17.19 -v -8.15 9.26 -19.79 -v -8.25 8.95 -17.63 -v -5.39 12.45 -21.46 -v -5.37 9.04 -22.20 -v -7.55 6.57 -19.63 -v -7.74 6.66 -17.92 -v -5.46 6.28 -20.75 -v -9.55 12.52 -15.65 -v -3.21 10.61 -16.85 -v -3.35 9.18 -17.26 -v -3.15 9.53 -19.54 -v -2.99 11.59 -19.22 -v -3.95 6.80 -17.69 -v -6.07 8.71 -15.66 -v -5.84 6.61 -16.49 -v -3.89 6.53 -19.21 -v -6.24 9.51 -15.18 -v -3.41 12.28 -13.94 -v -6.94 10.91 -13.09 -v -3.04 13.84 -15.32 -v -3.10 15.11 -17.16 -v -6.80 11.45 5.31 -v -7.01 13.17 4.27 -v -5.44 13.30 3.26 -v -5.08 11.25 4.62 -v -3.96 13.36 4.06 -v -3.68 11.50 5.38 -v -2.61 12.50 6.46 -v -3.54 12.74 10.35 -v -5.71 12.69 10.92 -v -5.44 11.32 10.79 -v -7.21 12.61 9.49 -v -6.74 10.48 9.44 -v -7.56 15.56 3.62 -v -5.54 15.58 2.66 -v -3.35 15.84 10.75 -v -5.70 16.04 11.42 -v -7.55 16.04 10.26 -v -7.92 12.48 7.83 -v -8.73 15.76 7.84 -v -7.64 18.53 3.16 -v -7.08 21.58 3.09 -v -6.65 24.64 10.45 -v -7.22 23.54 7.80 -v -7.48 10.15 8.22 -v -6.51 9.30 6.16 -v -4.96 9.40 5.37 -v -6.52 9.31 6.17 -v -4.14 3.11 7.38 -v -2.67 3.40 8.13 -v -2.39 4.06 8.96 -v -2.88 4.43 10.82 -v -8.62 19.59 7.86 -v -5.89 19.76 11.97 -v -7.55 19.80 10.61 -v -4.84 8.62 10.62 -v -2.97 8.56 10.21 -v -3.02 9.48 10.01 -v -4.95 9.57 10.50 -v -6.17 8.46 9.79 -v -6.32 9.42 9.66 -v -6.98 9.13 8.55 -v -6.79 8.23 8.68 -v -4.50 8.16 6.43 -v -4.41 7.23 6.64 -v -5.96 7.46 7.26 -v -6.08 8.40 7.10 -v -6.51 7.32 8.81 -v -3.52 10.12 5.88 -v -2.46 8.83 7.68 -v -4.31 6.29 6.86 -v -2.69 6.46 7.45 -v -2.48 7.01 8.20 -v -3.10 7.52 10.42 -v -4.48 4.59 11.31 -v -5.68 4.40 10.51 -v -6.11 4.22 9.23 -v -5.55 3.27 7.82 -v -2.19 28.58 17.74 -v -1.97 27.54 16.97 -v -4.34 29.37 17.58 -v -4.13 28.54 16.42 -v -5.84 30.72 18.56 -v -6.10 31.05 16.90 -v -5.44 30.14 15.70 -v -3.01 33.84 10.45 -v -5.78 31.44 14.37 -v -5.46 32.87 12.29 -v -5.71 35.59 12.81 -v -3.31 36.61 10.82 -v -0.93 34.94 23.68 -v -1.00 34.24 24.10 -v -1.16 33.35 24.54 -v -0.17 32.79 24.76 -v -1.13 33.50 24.60 -v -1.88 32.27 24.20 -v -1.63 31.75 24.03 -v -0.92 32.04 24.48 -v -1.06 32.47 24.68 -v -1.35 31.33 23.89 -v -0.74 31.73 24.22 -v -1.30 34.03 23.96 -v -3.21 30.53 21.75 -v -2.75 31.57 23.20 -v -3.96 31.60 22.04 -v -4.22 29.82 19.06 -v -6.42 33.99 19.85 -v -7.09 34.21 18.13 -v -6.88 32.41 18.06 -v -6.16 32.01 19.66 -v -1.13 36.42 23.17 -v -0.94 35.60 23.36 -v -0.40 31.42 23.92 -v -3.03 32.48 23.28 -v -4.15 32.81 22.39 -v -1.82 36.12 22.82 -v -1.44 35.34 23.07 -v -2.07 40.06 21.08 -v -4.07 36.54 21.59 -v -3.89 36.36 21.63 -v -3.25 36.70 22.15 -v -3.56 37.05 22.01 -v -2.94 40.68 12.68 -v -1.34 29.48 22.43 -v -1.89 29.97 22.46 -v -2.55 29.83 21.48 -v -1.78 29.30 21.35 -v -5.17 30.55 19.50 -v -3.37 29.88 20.50 -v -4.32 30.50 20.82 -v -2.28 29.22 19.09 -v -2.10 29.36 20.32 -v -2.83 37.42 22.60 -v -3.36 38.39 21.85 -v -4.65 37.77 21.15 -v -3.79 39.63 20.44 -v -4.96 38.68 19.91 -v -1.86 38.83 22.55 -v -1.57 37.79 23.12 -v -5.57 37.08 19.06 -v -5.09 36.65 20.37 -v -4.94 39.76 16.71 -v -5.87 38.17 15.92 -v -5.83 37.68 17.08 -v -4.92 39.25 18.02 -v -0.84 29.87 23.02 -v -5.06 31.74 21.03 -v -3.72 40.46 18.75 -v -1.34 34.71 23.44 -v -5.29 36.00 20.18 -v -4.55 35.85 21.09 -v -4.47 36.19 21.20 -v -2.41 33.28 23.39 -v -1.63 32.77 24.35 -v -1.37 33.83 23.79 -v -2.62 36.63 22.54 -v -4.26 36.03 21.29 -v -3.60 33.75 22.67 -v -3.34 39.51 11.62 -v -6.49 34.69 14.03 -v -1.15 31.06 23.46 -v -1.39 30.16 23.06 -v -0.18 32.36 24.61 -v -0.15 32.09 24.44 -v -0.81 31.29 23.67 -v -4.78 34.53 21.45 -v -5.25 33.32 21.27 -v -6.91 32.96 15.56 -v -7.07 34.54 16.53 -v -6.06 36.46 16.74 -v -5.78 36.16 18.45 -v -0.85 30.42 23.55 -v -3.80 36.28 21.45 -v -4.18 35.98 21.26 -v -2.36 35.40 22.43 -v -2.35 35.78 22.36 -v -2.43 35.15 22.39 -v -2.64 34.95 22.32 -v -3.14 34.86 22.10 -v -3.48 35.09 21.94 -v -3.62 35.34 21.85 -v -3.62 35.68 21.80 -v -3.53 35.99 21.82 -v -3.11 36.20 22.00 -v -2.68 36.15 22.20 -v -3.03 35.56 22.32 -v -4.73 7.67 10.74 -v -5.94 7.50 9.91 -v -5.76 6.50 7.43 -v -2.55 7.46 7.26 -v -2.39 7.97 7.91 -v -2.76 8.38 7.02 -v 6.85 37.87 15.86 -v 7.57 39.02 15.60 -v 6.61 39.54 15.81 -v 6.25 40.55 15.97 -v 5.65 41.65 16.34 -v 5.11 42.24 16.66 -v 8.70 40.27 15.35 -v 7.52 41.07 15.29 -v 8.25 42.23 15.29 -v 6.63 42.67 15.79 -v 6.24 43.68 16.20 -v 4.53 42.44 16.97 -v 3.63 40.71 17.31 -v 4.99 43.52 16.35 -v 8.25 38.26 15.78 -v 6.14 36.94 15.33 -v -6.26 40.55 15.97 -v -6.62 39.52 15.80 -v -7.58 39.01 15.59 -v -6.85 37.85 15.85 -v -5.11 42.25 16.66 -v -5.66 41.66 16.34 -v -8.70 40.28 15.34 -v -7.53 41.09 15.28 -v -6.63 42.68 15.79 -v -8.25 42.24 15.29 -v -6.24 43.69 16.20 -v -3.61 40.71 17.32 -v -4.53 42.45 16.97 -v -5.00 43.53 16.35 -v -8.25 38.27 15.78 -v -6.16 36.93 15.32 -# 1013 vertices - -vn -0.00 0.99 0.14 -vn -0.00 1.00 0.00 -vn 0.61 0.79 -0.04 -vn 0.65 0.76 0.07 -vn 0.49 0.82 -0.29 -vn 0.00 0.99 -0.17 -vn 0.00 1.00 0.02 -vn 0.56 0.82 0.10 -vn -0.00 -0.08 -1.00 -vn -0.08 -0.02 -1.00 -vn -0.34 -0.51 -0.79 -vn -0.00 -0.63 -0.78 -vn 0.94 0.33 -0.02 -vn 0.90 0.42 -0.11 -vn 0.96 -0.27 0.06 -vn 0.80 -0.25 -0.55 -vn 0.97 -0.22 0.10 -vn 0.77 -0.64 -0.03 -vn 0.31 -0.83 0.46 -vn 0.77 -0.12 0.62 -vn -0.00 0.97 -0.26 -vn 0.60 0.77 -0.22 -vn 0.28 -0.83 -0.48 -vn 0.78 -0.62 0.03 -vn 0.50 -0.86 0.04 -vn 0.45 -0.89 0.10 -vn 0.47 -0.86 -0.18 -vn 0.41 -0.85 -0.32 -vn 0.82 0.57 -0.03 -vn 0.65 0.71 -0.27 -vn 0.86 0.51 -0.01 -vn 0.65 -0.32 -0.69 -vn 0.98 0.17 -0.11 -vn 0.95 -0.02 -0.30 -vn 0.44 -0.79 -0.42 -vn -0.04 -0.84 -0.53 -vn -0.08 -0.49 -0.87 -vn -0.52 -0.78 -0.35 -vn -0.76 -0.19 -0.62 -vn -0.99 0.03 -0.16 -vn -0.95 0.30 0.02 -vn -0.75 0.64 0.15 -vn -0.67 0.63 0.40 -vn -0.33 0.91 0.24 -vn 0.36 0.91 0.18 -vn 0.70 0.63 0.35 -vn 0.04 0.73 0.69 -vn 0.02 0.96 0.30 -vn 0.77 0.63 0.07 -vn 1.00 -0.00 -0.09 -vn 0.93 -0.01 0.37 -vn 0.60 -0.72 0.35 -vn 0.63 -0.78 -0.06 -vn 0.14 -0.67 0.73 -vn 0.14 -0.82 0.55 -vn 0.00 -1.00 0.00 -vn 0.01 -0.69 0.72 -vn -0.08 -0.82 0.57 -vn -1.00 0.03 0.03 -vn -0.66 -0.75 0.02 -vn -0.56 -0.71 0.42 -vn -0.87 -0.01 0.49 -vn -0.78 0.53 0.34 -vn -0.73 0.68 0.07 -vn -0.43 0.89 0.17 -vn -0.25 0.73 0.63 -vn 0.39 0.91 0.14 -vn 0.00 0.99 0.12 -vn -0.02 0.76 0.65 -vn 0.35 0.54 0.77 -vn 0.82 0.52 0.25 -vn 0.74 0.68 0.01 -vn 0.30 0.11 0.95 -vn 0.02 0.09 1.00 -vn -0.21 0.11 0.97 -vn -0.31 0.12 0.94 -vn -0.29 0.53 0.80 -vn -0.41 -0.91 0.06 -vn 0.27 -0.94 0.19 -vn 0.15 -0.89 0.43 -vn 0.33 -0.81 0.49 -vn 0.54 -0.71 -0.46 -vn 0.00 -0.87 -0.50 -vn 0.97 -0.24 -0.02 -vn 0.94 0.33 0.01 -vn 0.70 0.70 0.14 -vn -0.00 0.98 0.21 -vn -0.00 -0.07 -1.00 -vn 0.22 0.35 -0.91 -vn 0.00 -0.93 -0.36 -vn -0.00 0.99 -0.12 -vn 0.77 0.53 -0.35 -vn 1.00 0.02 -0.04 -vn 1.00 0.03 -0.03 -vn 0.00 0.28 0.96 -vn 0.00 0.51 0.86 -vn 0.97 0.23 0.00 -vn 0.00 -0.23 -0.97 -vn -0.00 0.11 -0.99 -vn 0.00 -0.42 -0.91 -vn 0.00 -0.61 -0.79 -vn 1.00 0.00 -0.05 -vn 1.00 0.03 -0.05 -vn 0.00 -0.77 -0.64 -vn -0.00 0.68 0.74 -vn -0.01 0.90 0.43 -vn 0.00 0.36 0.93 -vn 0.73 0.68 -0.05 -vn -0.00 0.77 0.64 -vn -0.00 0.61 -0.80 -vn 0.92 0.22 -0.32 -vn -0.00 -0.51 0.86 -vn -0.00 -0.68 0.73 -vn 0.44 -0.60 0.67 -vn 0.37 -0.47 0.80 -vn 0.67 0.52 -0.52 -vn 0.92 0.31 -0.22 -vn -0.00 0.75 -0.66 -vn -0.00 0.89 -0.46 -vn 0.86 0.28 0.42 -vn 0.94 0.13 0.31 -vn -0.00 0.46 -0.89 -vn 0.54 0.26 -0.80 -vn 0.35 -0.31 0.88 -vn 0.00 -0.34 0.94 -vn 0.57 -0.23 0.79 -vn 0.43 -0.43 0.80 -vn 0.65 -0.10 0.75 -vn 0.76 -0.09 0.65 -vn 0.85 -0.06 -0.53 -vn 0.97 -0.18 -0.15 -vn 0.90 -0.33 0.29 -vn 0.65 -0.42 0.63 -vn 0.33 -0.37 0.87 -vn 0.34 0.72 0.61 -vn 0.48 0.61 0.63 -vn 0.03 0.84 0.55 -vn 0.04 0.85 0.53 -vn 0.79 0.23 0.57 -vn 0.76 0.30 0.58 -vn 0.84 0.28 0.46 -vn 0.97 0.12 -0.19 -vn 0.68 0.22 0.70 -vn 0.29 0.04 0.96 -vn 0.93 -0.27 0.23 -vn -0.13 0.06 0.99 -vn 0.55 -0.05 -0.83 -vn 0.92 -0.39 -0.07 -vn 0.99 0.12 -0.04 -vn 0.81 0.20 -0.56 -vn -0.21 0.97 -0.11 -vn 0.17 0.97 0.15 -vn -0.07 0.95 0.31 -vn -0.50 0.70 0.50 -vn -0.56 0.64 0.53 -vn 0.18 0.03 0.98 -vn 0.43 0.09 0.90 -vn 0.15 -0.24 0.96 -vn 0.84 -0.52 0.16 -vn -0.10 0.04 0.99 -vn -0.11 0.19 0.98 -vn 0.38 -0.08 -0.92 -vn 0.93 -0.31 -0.20 -vn 0.30 0.25 -0.92 -vn -0.16 0.43 -0.89 -vn -0.21 0.50 -0.84 -vn -0.56 0.64 -0.52 -vn -0.49 0.67 -0.55 -vn -0.32 0.78 0.54 -vn 0.36 -0.26 0.89 -vn 0.12 0.99 -0.05 -vn 0.28 -0.58 0.77 -vn 0.47 -0.61 0.64 -vn 0.20 -0.48 0.85 -vn 0.12 -0.55 0.83 -vn 0.03 -0.35 0.94 -vn 0.88 0.32 -0.35 -vn 0.30 0.56 -0.77 -vn 0.78 0.54 -0.31 -vn -0.07 0.68 -0.73 -vn -0.42 0.77 -0.47 -vn 0.19 0.93 -0.32 -vn 0.71 -0.10 0.70 -vn -0.05 -0.13 0.99 -vn 0.95 0.06 -0.32 -vn 0.70 -0.26 -0.66 -vn 0.75 -0.25 -0.61 -vn 0.24 -0.51 0.82 -vn 0.78 -0.62 -0.05 -vn 0.51 -0.85 -0.10 -vn 0.00 -1.00 0.04 -vn 0.00 -1.00 0.09 -vn 0.00 -0.97 -0.25 -vn 0.00 -0.97 0.23 -vn -0.00 -0.82 0.57 -vn -0.11 -0.94 -0.33 -vn 0.00 -0.99 -0.12 -vn 0.85 0.39 0.35 -vn 0.68 0.72 0.14 -vn 0.83 -0.50 0.25 -vn 0.52 -0.75 0.41 -vn 0.56 -0.73 0.40 -vn 0.83 -0.49 0.26 -vn 0.84 -0.16 0.51 -vn 0.85 -0.22 0.48 -vn 0.43 0.22 0.88 -vn -0.12 -0.11 0.99 -vn -0.16 -0.00 0.99 -vn 0.44 0.29 0.85 -vn 0.04 0.65 0.76 -vn 0.02 0.67 0.75 -vn 0.26 -0.87 0.42 -vn 0.28 -0.86 0.43 -vn -0.38 0.91 0.18 -vn 0.43 0.89 0.13 -vn 0.35 0.71 0.61 -vn 0.39 0.12 0.91 -vn -0.10 -0.68 0.73 -vn -0.20 -0.05 0.98 -vn -0.17 0.11 0.98 -vn 0.34 -0.17 0.93 -vn 0.37 0.39 0.84 -vn 0.72 0.46 0.52 -vn 0.29 0.86 0.42 -vn 0.08 0.66 0.74 -vn 0.76 -0.13 -0.64 -vn 0.95 0.07 -0.32 -vn 0.54 -0.69 -0.48 -vn -0.05 -0.76 -0.64 -vn -0.05 -0.25 -0.97 -vn -0.57 -0.71 -0.41 -vn -0.80 -0.15 -0.58 -vn -0.98 0.05 -0.21 -vn -0.99 0.05 0.11 -vn -0.70 0.71 0.07 -vn -0.68 0.41 0.62 -vn -0.33 0.94 0.08 -vn 0.07 0.47 0.88 -vn 0.00 0.99 0.16 -vn 0.34 0.94 0.02 -vn 0.79 0.41 0.45 -vn 0.74 0.67 -0.09 -vn 0.99 -0.03 -0.16 -vn 0.94 -0.02 0.33 -vn 0.61 -0.73 0.30 -vn 0.60 -0.80 -0.09 -vn 0.17 -0.66 0.73 -vn 0.16 -0.85 0.49 -vn -0.09 -0.85 0.51 -vn -0.90 -0.02 0.43 -vn -1.00 -0.01 -0.05 -vn -0.64 -0.77 -0.03 -vn -0.59 -0.73 0.36 -vn -0.80 0.51 0.31 -vn -0.70 0.70 -0.12 -vn -0.28 0.76 0.59 -vn -0.41 0.91 -0.09 -vn -0.01 1.00 0.01 -vn -0.03 0.81 0.59 -vn 0.46 0.58 0.68 -vn 0.39 0.92 -0.06 -vn 0.84 0.50 0.22 -vn 0.69 0.70 -0.20 -vn 0.39 0.09 0.92 -vn 0.02 0.07 1.00 -vn -0.27 0.10 0.96 -vn -0.37 0.11 0.92 -vn -0.37 0.57 0.74 -vn -0.37 0.93 -0.04 -vn 0.37 0.92 -0.09 -vn 0.32 0.78 0.54 -vn 0.47 0.11 0.88 -vn -0.13 -0.67 0.73 -vn 0.95 -0.12 -0.30 -vn 0.96 0.14 0.25 -vn 0.81 -0.37 0.46 -vn 0.92 0.15 0.37 -vn 0.89 -0.20 0.42 -vn 0.96 0.09 0.27 -vn 0.94 -0.03 0.34 -vn 0.94 -0.11 0.33 -vn 0.17 0.83 -0.53 -vn 0.40 -0.78 -0.48 -vn 0.00 -0.41 -0.91 -vn -0.21 -0.86 0.46 -vn -0.35 -0.80 0.49 -vn 0.00 -0.85 0.53 -vn -0.00 0.87 -0.50 -vn 0.07 0.87 -0.49 -vn 0.08 0.86 -0.51 -vn 0.39 0.56 -0.73 -vn -0.06 0.92 -0.38 -vn 0.97 0.17 0.19 -vn 0.74 0.03 0.67 -vn 0.42 -0.42 0.81 -vn 0.99 -0.05 0.13 -vn 0.71 0.41 0.58 -vn 0.89 0.44 0.14 -vn 0.83 0.28 -0.49 -vn 0.75 0.50 -0.43 -vn 0.25 0.29 -0.92 -vn 0.38 0.60 -0.70 -vn -0.04 0.60 -0.80 -vn -0.21 0.19 -0.96 -vn 0.76 0.15 -0.64 -vn 0.90 0.14 -0.42 -vn 0.81 0.16 -0.56 -vn 0.02 -0.04 -1.00 -vn 0.58 0.69 -0.44 -vn 0.70 0.69 0.16 -vn 0.93 -0.31 0.18 -vn 0.92 -0.22 0.32 -vn 0.88 -0.10 -0.47 -vn -0.09 -0.11 -0.99 -vn -0.05 0.50 -0.86 -vn 0.83 -0.21 -0.52 -vn 0.93 -0.12 0.34 -vn -0.14 -0.34 -0.93 -vn 0.95 -0.30 -0.03 -vn -0.90 -0.29 0.33 -vn -0.92 0.13 -0.37 -vn -0.94 -0.13 -0.33 -vn -0.85 -0.25 0.47 -vn -0.87 -0.12 0.48 -vn 0.02 -0.06 1.00 -vn 0.06 -0.42 0.91 -vn -0.92 -0.19 -0.35 -vn 0.08 -0.74 0.67 -vn 0.21 -0.74 0.64 -vn -0.77 -0.45 0.45 -vn -0.99 -0.09 0.06 -vn -0.92 0.02 -0.39 -vn 0.71 -0.39 -0.58 -vn -0.07 -0.47 -0.88 -vn 0.00 -0.40 -0.92 -vn 0.72 -0.38 -0.58 -vn -0.65 -0.28 -0.70 -vn -0.61 -0.37 -0.70 -vn -0.97 -0.13 -0.22 -vn -0.70 -0.06 0.71 -vn 0.22 -0.17 0.96 -vn 0.25 -0.16 0.95 -vn 0.80 -0.18 0.57 -vn 0.73 -0.19 0.66 -vn 0.06 -0.20 -0.98 -vn 0.76 -0.20 -0.62 -vn -0.66 -0.23 0.72 -vn 0.17 -0.18 0.97 -vn 0.75 -0.13 0.65 -vn 0.98 -0.21 0.04 -vn 0.99 -0.13 0.09 -vn 0.84 0.13 -0.53 -vn 0.76 0.01 -0.65 -vn 0.89 0.36 0.26 -vn 0.93 0.36 -0.03 -vn 0.95 -0.29 0.11 -vn 0.67 -0.51 -0.54 -vn 0.39 -0.61 -0.69 -vn -0.04 -0.50 -0.87 -vn -0.77 -0.14 -0.62 -vn -0.08 -0.32 -0.94 -vn -1.00 0.00 -0.05 -vn -0.76 0.28 0.59 -vn 0.99 0.15 0.06 -vn 0.45 -0.15 0.88 -vn 0.81 0.05 0.58 -vn 0.17 0.11 0.98 -vn 0.15 -0.03 0.99 -vn -0.75 0.11 0.66 -vn -0.71 0.12 0.69 -vn 0.71 -0.05 0.70 -vn 0.69 -0.07 0.72 -vn 0.94 -0.31 0.16 -vn 0.97 -0.23 0.06 -vn -0.03 -0.42 -0.91 -vn 0.69 -0.48 -0.54 -vn 0.70 -0.25 -0.67 -vn 0.03 -0.23 -0.97 -vn 0.98 -0.21 0.06 -vn -0.58 -0.25 -0.77 -vn -1.00 0.03 -0.08 -vn -0.75 -0.15 -0.65 -vn 0.01 -0.19 -0.98 -vn -1.00 -0.03 0.04 -vn -0.67 0.12 0.73 -vn 0.18 0.34 0.92 -vn 0.80 0.23 0.55 -vn 1.00 -0.03 -0.04 -vn 0.68 -0.23 -0.70 -vn 0.28 -0.77 0.57 -vn 0.00 -0.74 0.68 -vn 0.00 -0.49 0.87 -vn 0.35 -0.56 0.75 -vn 0.66 -0.65 0.39 -vn 0.54 -0.79 0.29 -vn 0.85 -0.52 -0.02 -vn 0.83 -0.56 -0.05 -vn 0.74 -0.65 0.19 -vn 0.00 0.23 -0.97 -vn 0.48 0.15 -0.86 -vn 0.80 -0.15 -0.58 -vn 0.89 -0.36 -0.28 -vn 0.79 0.09 -0.60 -vn 0.47 0.16 -0.87 -vn 0.00 0.22 -0.98 -vn 0.48 0.43 0.77 -vn -0.00 0.48 0.88 -vn 0.00 0.61 0.79 -vn 0.50 0.52 0.69 -vn 0.65 0.14 0.75 -vn 0.00 0.15 0.99 -vn -0.00 -0.52 0.85 -vn 0.59 0.10 0.80 -vn 0.12 -0.29 0.95 -vn 0.58 -0.20 0.79 -vn 0.25 -0.18 0.95 -vn 0.41 -0.51 0.76 -vn -0.10 -0.71 0.69 -vn 0.18 -0.70 0.69 -vn 0.84 0.30 0.46 -vn 0.52 -0.61 0.60 -vn 0.63 -0.44 0.64 -vn 0.53 -0.47 0.71 -vn 0.47 -0.51 0.72 -vn 0.00 0.98 0.20 -vn 0.00 0.87 0.50 -vn 0.42 -0.86 0.28 -vn 0.86 0.11 0.50 -vn 0.83 -0.34 0.45 -vn 0.95 -0.30 0.13 -vn -0.00 0.16 0.99 -vn -0.00 0.35 0.94 -vn 0.42 0.25 0.87 -vn 0.32 0.05 0.95 -vn -0.00 0.25 0.97 -vn 0.38 0.31 0.87 -vn 0.27 0.68 0.68 -vn -0.00 0.66 0.75 -vn 0.67 -0.07 0.74 -vn 0.60 -0.04 0.80 -vn 0.51 -0.10 0.85 -vn 0.70 0.08 0.71 -vn 0.30 0.74 0.61 -vn 0.00 0.76 0.65 -vn 0.50 -0.23 0.84 -vn 0.49 -0.32 0.81 -vn 0.57 -0.18 0.80 -vn 0.58 -0.01 0.81 -vn -0.26 -0.76 0.59 -vn -0.16 -0.83 0.54 -vn 0.36 0.80 -0.48 -vn 0.01 0.84 -0.54 -vn 0.00 0.98 -0.18 -vn 0.36 -0.80 0.48 -vn 0.33 -0.93 0.17 -vn 0.51 -0.75 0.42 -vn 0.57 -0.53 0.62 -vn 0.62 -0.70 0.36 -vn 0.57 -0.66 0.48 -vn 0.41 -0.87 0.26 -vn 0.23 -0.93 0.28 -vn 0.25 -0.96 0.08 -vn 0.00 0.55 0.83 -vn 0.75 0.21 0.63 -vn 0.54 0.43 0.73 -vn 0.52 0.06 0.85 -vn 0.55 0.66 0.51 -vn 0.84 0.44 0.32 -vn 0.31 0.56 0.77 -vn 0.26 0.19 0.95 -vn 0.86 0.07 0.50 -vn 0.95 0.16 0.25 -vn 0.82 0.55 0.19 -vn 0.84 0.50 0.19 -vn 0.95 0.26 0.17 -vn 0.95 0.31 0.03 -vn 0.23 -0.68 0.70 -vn -0.00 -0.70 0.71 -vn -0.00 -0.90 0.44 -vn -0.00 -1.00 0.04 -vn -0.00 -1.00 -0.01 -vn 0.00 -0.96 0.30 -vn 0.72 -0.37 0.59 -vn 0.63 0.73 0.28 -vn 0.86 0.49 0.13 -vn 0.94 0.31 -0.16 -vn 0.00 0.57 0.82 -vn 0.77 0.29 0.57 -vn 0.83 0.23 0.51 -vn 0.67 -0.10 0.74 -vn 0.64 0.08 0.76 -vn 0.50 0.45 0.74 -vn 0.79 0.39 0.48 -vn 0.61 0.14 0.78 -vn 0.77 0.33 0.55 -vn 0.50 -0.31 0.81 -vn 0.54 -0.04 0.84 -vn 0.51 -0.15 0.85 -vn 0.59 -0.46 0.67 -vn 0.43 -0.27 0.86 -vn 0.42 0.43 0.80 -vn 0.14 0.69 0.72 -vn 0.42 0.64 0.64 -vn 0.47 0.49 -0.74 -vn 0.01 0.54 -0.84 -vn 0.95 -0.01 -0.32 -vn 0.62 0.13 0.77 -vn 0.56 -0.40 0.72 -vn -0.15 -0.42 0.90 -vn -0.23 -0.66 0.72 -vn -0.30 -0.78 0.55 -vn -0.04 -0.71 0.70 -vn -0.25 -0.45 0.86 -vn -0.32 -0.71 0.62 -vn 0.60 0.31 0.74 -vn 0.56 0.64 0.53 -vn 0.79 -0.15 0.60 -vn 0.62 -0.28 0.74 -vn 0.29 0.58 0.76 -vn 0.58 0.32 0.75 -vn 0.74 -0.00 0.67 -vn 0.24 0.32 0.92 -vn 0.95 -0.23 -0.23 -vn 0.98 0.19 -0.04 -vn 0.95 0.30 0.14 -vn 0.92 0.30 0.23 -vn -0.00 -0.44 0.90 -vn 0.36 -0.41 0.84 -vn 0.67 0.57 0.48 -vn -0.14 -0.87 0.47 -vn -0.04 -0.88 0.47 -vn -0.05 -0.48 0.87 -vn -0.14 -0.48 0.87 -vn -0.12 0.02 0.99 -vn -0.18 0.29 0.94 -vn -0.34 0.36 0.87 -vn -0.29 -0.10 0.95 -vn -0.15 -0.33 0.93 -vn -0.02 -0.23 0.97 -vn 0.17 -0.36 0.92 -vn 0.07 -0.45 0.89 -vn 0.41 -0.33 0.85 -vn 0.37 -0.37 0.85 -vn 0.55 -0.16 0.82 -vn 0.59 -0.11 0.80 -vn 0.67 0.06 0.74 -vn 0.64 0.03 0.77 -vn 0.63 0.12 0.76 -vn 0.41 -0.07 0.91 -vn 0.62 0.26 0.74 -vn 0.59 0.30 0.75 -vn 0.66 0.14 0.74 -vn 0.45 0.33 0.83 -vn 0.50 0.27 0.82 -vn 0.14 0.44 0.89 -vn 0.06 0.54 0.84 -vn 0.19 0.14 0.97 -vn 0.74 -0.02 0.67 -vn 0.70 -0.21 -0.69 -vn -0.78 -0.13 -0.62 -vn -1.00 0.02 -0.03 -vn -0.70 -0.14 -0.70 -vn -0.65 0.76 0.07 -vn -0.61 0.79 -0.04 -vn -0.49 0.82 -0.29 -vn -0.56 0.82 0.10 -vn 0.34 -0.51 -0.79 -vn 0.08 -0.02 -1.00 -vn -0.94 0.33 -0.02 -vn -0.90 0.42 -0.11 -vn -0.96 -0.27 0.06 -vn -0.80 -0.26 -0.55 -vn -0.97 -0.22 0.10 -vn -0.77 -0.12 0.62 -vn -0.31 -0.83 0.46 -vn -0.77 -0.64 -0.03 -vn -0.60 0.77 -0.22 -vn -0.28 -0.83 -0.48 -vn -0.78 -0.62 0.03 -vn -0.50 -0.86 0.04 -vn -0.45 -0.89 0.10 -vn -0.47 -0.86 -0.18 -vn -0.41 -0.85 -0.32 -vn -0.82 0.57 -0.03 -vn -0.86 0.51 -0.01 -vn -0.65 0.71 -0.27 -vn -0.65 -0.32 -0.69 -vn -0.44 -0.79 -0.42 -vn -0.95 -0.02 -0.30 -vn -0.98 0.17 -0.11 -vn 0.08 -0.49 -0.87 -vn 0.04 -0.84 -0.53 -vn 0.76 -0.19 -0.62 -vn 0.52 -0.78 -0.35 -vn 0.99 0.03 -0.16 -vn 0.95 0.30 0.02 -vn 0.75 0.64 0.15 -vn 0.67 0.63 0.40 -vn 0.33 0.91 0.24 -vn -0.04 0.73 0.69 -vn -0.70 0.63 0.35 -vn -0.36 0.91 0.18 -vn -0.02 0.96 0.30 -vn -0.77 0.63 0.07 -vn -1.00 -0.00 -0.09 -vn -0.63 -0.78 -0.06 -vn -0.60 -0.72 0.35 -vn -0.93 -0.01 0.37 -vn -0.14 -0.67 0.73 -vn -0.00 -1.00 0.00 -vn -0.14 -0.82 0.55 -vn -0.01 -0.69 0.72 -vn 0.08 -0.82 0.57 -vn 1.00 0.03 0.03 -vn 0.87 -0.01 0.49 -vn 0.56 -0.71 0.42 -vn 0.66 -0.75 0.02 -vn 0.78 0.53 0.34 -vn 0.73 0.68 0.07 -vn 0.43 0.89 0.17 -vn 0.25 0.73 0.63 -vn -0.39 0.91 0.14 -vn -0.35 0.54 0.77 -vn 0.02 0.76 0.65 -vn -0.00 0.99 0.12 -vn -0.82 0.52 0.25 -vn -0.74 0.68 0.01 -vn -0.30 0.11 0.95 -vn -0.02 0.09 1.00 -vn 0.21 0.11 0.97 -vn 0.31 0.12 0.94 -vn 0.29 0.53 0.80 -vn 0.41 -0.91 0.06 -vn -0.27 -0.94 0.19 -vn -0.15 -0.89 0.43 -vn -0.33 -0.81 0.49 -vn -0.54 -0.71 -0.46 -vn -0.97 -0.24 -0.02 -vn -0.94 0.33 0.01 -vn -0.70 0.70 0.14 -vn -0.21 0.35 -0.91 -vn -0.76 0.53 -0.36 -vn -1.00 0.02 -0.05 -vn -1.00 0.03 -0.03 -vn -0.97 0.23 0.00 -vn -1.00 -0.01 -0.06 -vn -0.73 0.68 -0.05 -vn -0.92 0.22 -0.33 -vn -0.37 -0.47 0.80 -vn -0.44 -0.60 0.67 -vn -0.67 0.52 -0.52 -vn -0.92 0.31 -0.22 -vn -0.87 0.28 0.41 -vn -0.94 0.13 0.31 -vn -0.54 0.26 -0.80 -vn -0.35 -0.31 0.88 -vn -0.57 -0.23 0.79 -vn -0.76 -0.09 0.65 -vn -0.66 -0.10 0.75 -vn -0.43 -0.43 0.79 -vn -0.85 -0.06 -0.53 -vn -0.90 -0.33 0.29 -vn -0.97 -0.18 -0.15 -vn -0.65 -0.42 0.63 -vn -0.33 -0.37 0.87 -vn -0.33 0.72 0.61 -vn -0.04 0.85 0.53 -vn -0.03 0.84 0.55 -vn -0.48 0.61 0.63 -vn -0.79 0.22 0.58 -vn -0.84 0.28 0.46 -vn -0.69 0.22 0.69 -vn -0.98 0.12 -0.16 -vn -0.29 0.04 0.96 -vn -0.93 -0.27 0.24 -vn 0.14 0.05 0.99 -vn -0.57 -0.07 -0.82 -vn -0.79 0.15 -0.60 -vn -0.99 0.10 -0.07 -vn -0.92 -0.38 -0.07 -vn 0.22 0.97 -0.11 -vn 0.07 0.95 0.31 -vn -0.17 0.97 0.15 -vn 0.51 0.70 0.50 -vn -0.43 0.09 0.90 -vn -0.16 0.05 0.99 -vn -0.83 -0.53 0.17 -vn -0.15 -0.24 0.96 -vn 0.10 0.04 0.99 -vn 0.11 0.18 0.98 -vn -0.41 -0.08 -0.91 -vn -0.93 -0.30 -0.20 -vn -0.32 0.26 -0.91 -vn 0.20 0.53 -0.82 -vn 0.17 0.43 -0.88 -vn 0.51 0.68 -0.53 -vn 0.56 0.64 -0.52 -vn -0.12 0.99 -0.05 -vn -0.36 -0.26 0.89 -vn -0.20 -0.48 0.85 -vn -0.47 -0.61 0.64 -vn -0.28 -0.58 0.77 -vn -0.12 -0.55 0.83 -vn -0.03 -0.35 0.94 -vn -0.88 0.32 -0.35 -vn -0.78 0.54 -0.31 -vn -0.30 0.56 -0.77 -vn 0.07 0.68 -0.73 -vn -0.19 0.93 -0.32 -vn 0.42 0.77 -0.47 -vn -0.71 -0.09 0.70 -vn 0.05 -0.13 0.99 -vn -0.95 0.06 -0.32 -vn -0.72 -0.27 -0.64 -vn -0.74 -0.27 -0.61 -vn -0.25 -0.51 0.83 -vn -0.78 -0.62 -0.05 -vn -0.51 -0.85 -0.10 -vn 0.11 -0.94 -0.33 -vn -0.85 0.39 0.35 -vn -0.68 0.72 0.14 -vn -0.82 -0.51 0.25 -vn -0.83 -0.49 0.27 -vn -0.56 -0.73 0.40 -vn -0.53 -0.74 0.42 -vn -0.84 -0.24 0.49 -vn -0.84 -0.18 0.52 -vn -0.43 0.22 0.87 -vn -0.45 0.29 0.85 -vn 0.16 -0.00 0.99 -vn 0.12 -0.11 0.99 -vn -0.02 0.67 0.75 -vn -0.04 0.65 0.76 -vn -0.29 -0.85 0.43 -vn -0.27 -0.86 0.42 -vn 0.38 0.91 0.18 -vn -0.35 0.71 0.61 -vn -0.43 0.89 0.13 -vn -0.39 0.12 0.91 -vn 0.10 -0.68 0.73 -vn 0.17 0.10 0.98 -vn 0.21 -0.05 0.98 -vn -0.31 -0.14 0.94 -vn -0.71 0.47 0.52 -vn -0.36 0.38 0.85 -vn -0.08 0.66 0.74 -vn -0.29 0.86 0.42 -vn -0.76 -0.13 -0.64 -vn -0.54 -0.69 -0.48 -vn -0.95 0.07 -0.32 -vn -1.00 0.03 -0.04 -vn 0.05 -0.25 -0.97 -vn 0.05 -0.76 -0.64 -vn 0.80 -0.14 -0.58 -vn 0.57 -0.71 -0.41 -vn 0.98 0.05 -0.21 -vn 0.99 0.05 0.11 -vn 0.68 0.41 0.62 -vn 0.70 0.71 0.07 -vn -0.07 0.47 0.88 -vn 0.33 0.94 0.08 -vn -0.00 0.99 0.16 -vn -0.34 0.94 0.02 -vn -0.74 0.67 -0.09 -vn -0.79 0.41 0.45 -vn -0.99 -0.03 -0.16 -vn -0.60 -0.80 -0.09 -vn -0.61 -0.73 0.30 -vn -0.94 -0.02 0.33 -vn -0.17 -0.66 0.73 -vn -0.16 -0.85 0.49 -vn 0.09 -0.85 0.51 -vn 0.90 -0.02 0.43 -vn 0.59 -0.73 0.36 -vn 0.64 -0.77 -0.03 -vn 1.00 -0.01 -0.05 -vn 0.80 0.51 0.31 -vn 0.70 0.70 -0.12 -vn 0.41 0.91 -0.09 -vn 0.28 0.76 0.59 -vn 0.01 1.00 0.01 -vn -0.39 0.92 -0.06 -vn -0.46 0.58 0.68 -vn 0.03 0.81 0.59 -vn -0.84 0.50 0.22 -vn -0.69 0.70 -0.20 -vn -0.39 0.09 0.92 -vn -0.02 0.07 1.00 -vn 0.27 0.10 0.96 -vn 0.37 0.11 0.92 -vn 0.37 0.57 0.74 -vn 0.37 0.93 -0.04 -vn -0.37 0.92 -0.09 -vn -0.47 0.11 0.88 -vn 0.13 -0.67 0.73 -vn -0.95 -0.12 -0.30 -vn -0.96 0.14 0.25 -vn -0.92 0.14 0.36 -vn -0.81 -0.37 0.46 -vn -0.89 -0.19 0.41 -vn -0.96 0.09 0.27 -vn -0.94 -0.11 0.33 -vn -0.94 -0.03 0.34 -vn -0.17 0.83 -0.53 -vn -0.40 -0.79 -0.47 -vn 0.35 -0.80 0.49 -vn 0.21 -0.86 0.46 -vn -0.07 0.87 -0.49 -vn -0.08 0.86 -0.51 -vn -0.40 0.56 -0.72 -vn 0.07 0.92 -0.38 -vn -0.97 0.17 0.19 -vn -0.99 -0.05 0.13 -vn -0.42 -0.42 0.81 -vn -0.74 0.03 0.67 -vn -0.71 0.41 0.58 -vn -0.89 0.44 0.14 -vn -0.75 0.50 -0.43 -vn -0.83 0.28 -0.49 -vn -0.25 0.29 -0.92 -vn -0.38 0.60 -0.70 -vn 0.04 0.60 -0.80 -vn -0.90 0.14 -0.42 -vn -0.76 0.15 -0.64 -vn 0.21 0.19 -0.96 -vn -0.02 -0.04 -1.00 -vn -0.81 0.16 -0.56 -vn -0.70 0.69 0.16 -vn -0.58 0.69 -0.44 -vn -0.93 -0.31 0.18 -vn -0.88 -0.11 -0.47 -vn -0.92 -0.22 0.32 -vn 0.05 0.50 -0.86 -vn 0.09 -0.12 -0.99 -vn -0.83 -0.21 -0.52 -vn -0.93 -0.12 0.34 -vn 0.14 -0.34 -0.93 -vn -0.95 -0.30 -0.03 -vn 0.90 -0.29 0.33 -vn 0.85 -0.25 0.47 -vn 0.94 -0.13 -0.33 -vn 0.92 0.13 -0.37 -vn 0.87 -0.12 0.48 -vn -0.06 -0.42 0.91 -vn -0.02 -0.06 1.00 -vn 0.92 -0.19 -0.35 -vn -0.08 -0.74 0.67 -vn 0.77 -0.45 0.45 -vn -0.21 -0.74 0.64 -vn 0.99 -0.09 0.06 -vn 0.92 0.02 -0.39 -vn -0.71 -0.39 -0.58 -vn -0.72 -0.38 -0.58 -vn -0.00 -0.40 -0.92 -vn 0.07 -0.47 -0.88 -vn 0.61 -0.37 -0.70 -vn 0.65 -0.28 -0.70 -vn 0.97 -0.13 -0.22 -vn 0.70 -0.06 0.71 -vn -0.25 -0.17 0.95 -vn -0.22 -0.17 0.96 -vn -0.80 -0.18 0.57 -vn -0.73 -0.19 0.66 -vn -0.76 -0.21 -0.62 -vn -0.06 -0.20 -0.98 -vn 0.66 -0.23 0.72 -vn -0.17 -0.18 0.97 -vn -0.75 -0.13 0.65 -vn -0.98 -0.21 0.04 -vn -0.99 -0.13 0.09 -vn -0.76 0.00 -0.65 -vn -0.83 0.12 -0.54 -vn -0.89 0.36 0.26 -vn -0.93 0.36 -0.03 -vn -0.95 -0.29 0.11 -vn -0.39 -0.61 -0.69 -vn 0.04 -0.50 -0.87 -vn -0.67 -0.51 -0.54 -vn 0.08 -0.32 -0.94 -vn 0.77 -0.14 -0.62 -vn 0.76 0.28 0.59 -vn -0.99 0.15 0.06 -vn -0.46 -0.15 0.88 -vn -0.81 0.05 0.58 -vn 0.71 0.12 0.69 -vn 0.75 0.11 0.66 -vn -0.15 -0.03 0.99 -vn -0.71 -0.05 0.70 -vn -0.69 -0.07 0.72 -vn -0.94 -0.31 0.16 -vn -0.97 -0.23 0.06 -vn 0.03 -0.42 -0.91 -vn -0.03 -0.23 -0.97 -vn -0.70 -0.25 -0.67 -vn -0.69 -0.48 -0.54 -vn -0.98 -0.21 0.06 -vn 0.58 -0.25 -0.77 -vn 1.00 0.03 -0.08 -vn -0.01 -0.19 -0.98 -vn 0.75 -0.15 -0.65 -vn 1.00 -0.03 0.04 -vn 0.67 0.12 0.73 -vn -0.18 0.34 0.92 -vn -0.80 0.23 0.55 -vn -1.00 -0.03 -0.04 -vn -0.68 -0.23 -0.70 -vn -0.28 -0.77 0.57 -vn -0.35 -0.56 0.75 -vn -0.54 -0.79 0.29 -vn -0.66 -0.65 0.39 -vn -0.74 -0.65 0.19 -vn -0.83 -0.56 -0.05 -vn -0.85 -0.52 -0.02 -vn -0.49 0.15 -0.86 -vn -0.89 -0.36 -0.28 -vn -0.80 -0.12 -0.58 -vn -0.76 0.08 -0.64 -vn -0.48 0.43 0.77 -vn -0.50 0.52 0.69 -vn -0.58 0.10 0.80 -vn -0.28 -0.34 0.90 -vn -0.65 0.14 0.75 -vn -0.58 -0.21 0.79 -vn -0.41 -0.51 0.76 -vn -0.25 -0.18 0.95 -vn -0.18 -0.70 0.69 -vn 0.10 -0.71 0.69 -vn -0.84 0.30 0.46 -vn -0.52 -0.61 0.60 -vn -0.47 -0.51 0.72 -vn -0.53 -0.47 0.71 -vn -0.63 -0.44 0.64 -vn -0.42 -0.86 0.28 -vn -0.86 0.11 0.50 -vn -0.95 -0.30 0.13 -vn -0.83 -0.34 0.45 -vn -0.32 0.05 0.95 -vn -0.43 0.25 0.87 -vn -0.27 0.68 0.68 -vn -0.38 0.31 0.87 -vn -0.60 -0.04 0.80 -vn -0.67 -0.07 0.74 -vn -0.51 -0.10 0.86 -vn -0.70 0.07 0.71 -vn -0.30 0.74 0.61 -vn -0.58 -0.18 0.79 -vn -0.49 -0.32 0.81 -vn -0.51 -0.22 0.83 -vn -0.59 -0.01 0.81 -vn 0.16 -0.83 0.54 -vn 0.26 -0.76 0.59 -vn -0.35 0.80 -0.49 -vn -0.36 -0.80 0.48 -vn -0.57 -0.53 0.62 -vn -0.51 -0.75 0.42 -vn -0.33 -0.93 0.17 -vn -0.62 -0.70 0.36 -vn -0.41 -0.87 0.26 -vn -0.57 -0.66 0.48 -vn -0.23 -0.93 0.28 -vn -0.25 -0.96 0.08 -vn -0.52 0.07 0.85 -vn -0.54 0.43 0.73 -vn -0.75 0.21 0.62 -vn -0.55 0.66 0.50 -vn -0.84 0.44 0.32 -vn -0.31 0.56 0.77 -vn -0.26 0.19 0.95 -vn -0.95 0.18 0.25 -vn -0.87 0.07 0.48 -vn -0.82 0.54 0.20 -vn -0.95 0.31 0.06 -vn -0.95 0.27 0.17 -vn -0.84 0.50 0.19 -vn -0.23 -0.68 0.70 -vn -0.72 -0.37 0.59 -vn -0.63 0.73 0.29 -vn -0.87 0.48 0.15 -vn -0.95 0.31 -0.10 -vn -0.77 0.29 0.57 -vn -0.84 0.24 0.50 -vn -0.65 0.08 0.76 -vn -0.68 -0.09 0.73 -vn -0.50 0.45 0.74 -vn -0.60 0.14 0.79 -vn -0.79 0.39 0.48 -vn -0.77 0.33 0.55 -vn -0.51 -0.30 0.81 -vn -0.55 -0.04 0.84 -vn -0.51 -0.15 0.85 -vn -0.44 -0.27 0.86 -vn -0.59 -0.46 0.67 -vn -0.42 0.43 0.80 -vn -0.42 0.66 0.63 -vn -0.13 0.70 0.71 -vn -0.48 0.47 -0.74 -vn -0.93 0.00 -0.36 -vn -0.62 0.13 0.77 -vn -0.56 -0.40 0.72 -vn 0.15 -0.42 0.90 -vn 0.04 -0.24 0.97 -vn 0.24 -0.66 0.72 -vn 0.30 -0.78 0.55 -vn 0.26 -0.45 0.86 -vn 0.10 -0.39 0.92 -vn 0.33 -0.71 0.62 -vn -0.60 0.31 0.74 -vn -0.61 -0.29 0.74 -vn -0.78 -0.17 0.61 -vn -0.28 0.58 0.76 -vn -0.58 0.32 0.75 -vn -0.75 -0.01 0.67 -vn -0.23 0.32 0.92 -vn -0.94 -0.23 -0.24 -vn -0.98 0.19 -0.04 -vn -0.94 0.31 0.14 -vn -0.92 0.32 0.24 -vn -0.36 -0.40 0.84 -vn -0.67 0.57 0.48 -vn 0.03 -0.88 0.47 -vn 0.14 -0.87 0.47 -vn 0.14 -0.48 0.87 -vn 0.05 -0.49 0.87 -vn 0.12 0.03 0.99 -vn 0.29 -0.10 0.95 -vn 0.34 0.37 0.87 -vn 0.18 0.30 0.94 -vn 0.15 -0.33 0.93 -vn 0.02 -0.23 0.97 -vn -0.17 -0.37 0.91 -vn -0.06 -0.45 0.89 -vn -0.41 -0.34 0.85 -vn -0.37 -0.37 0.85 -vn -0.56 -0.16 0.81 -vn -0.59 -0.12 0.80 -vn -0.65 0.02 0.76 -vn -0.68 0.05 0.73 -vn -0.63 0.26 0.73 -vn -0.42 -0.06 0.91 -vn -0.64 0.12 0.76 -vn -0.66 0.13 0.74 -vn -0.60 0.29 0.75 -vn -0.45 0.33 0.83 -vn -0.50 0.27 0.82 -vn -0.14 0.44 0.89 -vn -0.06 0.54 0.84 -vn -0.19 0.14 0.97 -vn -0.74 -0.02 0.67 -vn -0.70 -0.21 -0.69 -vn 0.78 -0.13 -0.62 -vn 1.00 0.02 -0.03 -vn 0.70 -0.14 -0.70 -vn 0.04 -0.08 1.00 -vn 0.16 0.09 0.98 -vn 0.31 -0.03 0.95 -vn 0.16 -0.17 0.97 -vn 0.42 0.01 0.91 -vn 0.51 -0.06 0.86 -vn 0.51 -0.03 0.86 -vn 0.44 0.07 0.90 -vn 0.34 0.14 0.93 -vn 0.25 0.15 0.96 -vn 0.47 0.02 0.88 -vn 0.39 -0.09 0.92 -vn 0.46 -0.04 0.89 -vn 0.37 0.04 0.93 -vn 0.49 0.07 0.87 -vn 0.20 0.22 0.96 -vn 0.20 0.25 0.95 -vn -0.01 0.23 0.97 -vn -0.09 -0.44 0.89 -vn -0.51 -0.06 0.86 -vn -0.42 0.01 0.91 -vn -0.31 -0.03 0.95 -vn -0.16 -0.18 0.97 -vn -0.16 0.09 0.98 -vn -0.04 -0.09 1.00 -vn -0.34 0.15 0.93 -vn -0.44 0.07 0.90 -vn -0.51 -0.03 0.86 -vn -0.25 0.15 0.96 -vn -0.47 0.02 0.88 -vn -0.46 -0.04 0.89 -vn -0.39 -0.09 0.92 -vn -0.37 0.04 0.93 -vn -0.19 0.23 0.95 -vn -0.49 0.07 0.87 -vn -0.20 0.25 0.95 -vn 0.02 0.23 0.97 -vn 0.08 -0.45 0.89 -# 1090 vertex normals - -vt 0.95 0.25 0.00 -vt 0.94 0.29 0.00 -vt 0.90 0.30 0.00 -vt 0.90 0.26 0.00 -vt 0.91 0.09 0.00 -vt 0.95 0.09 0.00 -vt 0.96 0.13 0.00 -vt 0.91 0.13 0.00 -vt 0.80 0.03 0.00 -vt 0.81 0.06 0.00 -vt 0.76 0.07 0.00 -vt 0.75 0.05 0.00 -vt 0.84 0.27 0.00 -vt 0.85 0.30 0.00 -vt 0.76 0.28 0.00 -vt 0.76 0.31 0.00 -vt 0.77 0.19 0.00 -vt 0.72 0.19 0.00 -vt 0.73 0.17 0.00 -vt 0.77 0.18 0.00 -vt 0.95 0.34 0.00 -vt 0.90 0.35 0.00 -vt 0.70 0.32 0.00 -vt 0.71 0.28 0.00 -vt 0.67 0.28 0.00 -vt 0.68 0.31 0.00 -vt 0.69 0.18 0.00 -vt 0.70 0.15 0.00 -vt 0.86 0.37 0.00 -vt 0.91 0.38 0.00 -vt 0.87 0.40 0.00 -vt 0.62 0.88 0.00 -vt 0.63 0.85 0.00 -vt 0.66 0.87 0.00 -vt 0.67 0.92 0.00 -vt 0.60 0.94 0.00 -vt 0.60 0.89 0.00 -vt 0.52 0.92 0.00 -vt 0.57 0.88 0.00 -vt 0.53 0.87 0.00 -vt 0.55 0.86 0.00 -vt 0.55 0.83 0.00 -vt 0.55 0.84 0.00 -vt 0.56 0.83 0.00 -vt 0.61 0.83 0.00 -vt 0.63 0.84 0.00 -vt 0.59 0.84 0.00 -vt 0.59 0.83 0.00 -vt 0.63 0.83 0.00 -vt 0.68 0.80 0.00 -vt 0.67 0.76 0.00 -vt 0.69 0.74 0.00 -vt 0.70 0.80 0.00 -vt 0.39 0.37 0.00 -vt 0.38 0.37 0.00 -vt 0.35 0.31 0.00 -vt 0.42 0.31 0.00 -vt 0.41 0.36 0.00 -vt 0.35 0.38 0.00 -vt 0.33 0.37 0.00 -vt 0.50 0.81 0.00 -vt 0.48 0.81 0.00 -vt 0.49 0.75 0.00 -vt 0.51 0.76 0.00 -vt 0.53 0.78 0.00 -vt 0.55 0.80 0.00 -vt 0.56 0.80 0.00 -vt 0.55 0.77 0.00 -vt 0.60 0.80 0.00 -vt 0.59 0.80 0.00 -vt 0.59 0.76 0.00 -vt 0.62 0.75 0.00 -vt 0.64 0.77 0.00 -vt 0.63 0.80 0.00 -vt 0.63 0.72 0.00 -vt 0.59 0.71 0.00 -vt 0.59 0.68 0.00 -vt 0.63 0.69 0.00 -vt 0.55 0.72 0.00 -vt 0.54 0.69 0.00 -vt 0.53 0.73 0.00 -vt 0.56 0.75 0.00 -vt 0.68 0.36 0.00 -vt 0.67 0.37 0.00 -vt 0.69 0.38 0.00 -vt 0.68 0.40 0.00 -vt 0.72 0.10 0.00 -vt 0.70 0.09 0.00 -vt 0.77 0.23 0.00 -vt 0.85 0.23 0.00 -vt 0.90 0.21 0.00 -vt 0.95 0.21 0.00 -vt 0.87 0.03 0.00 -vt 0.87 0.06 0.00 -vt 0.67 0.13 0.00 -vt 0.94 0.06 0.00 -vt 0.90 0.06 0.00 -vt 0.55 0.41 0.00 -vt 0.56 0.28 0.00 -vt 0.60 0.28 0.00 -vt 0.60 0.41 0.00 -vt 0.57 0.17 0.00 -vt 0.51 0.28 0.00 -vt 0.52 0.17 0.00 -vt 0.51 0.42 0.00 -vt 0.52 0.52 0.00 -vt 0.56 0.51 0.00 -vt 0.57 0.58 0.00 -vt 0.53 0.58 0.00 -vt 0.60 0.50 0.00 -vt 0.61 0.57 0.00 -vt 0.61 0.17 0.00 -vt 0.57 0.15 0.00 -vt 0.60 0.15 0.00 -vt 0.55 0.15 0.00 -vt 0.58 0.62 0.00 -vt 0.54 0.64 0.00 -vt 0.62 0.62 0.00 -vt 0.73 0.48 0.00 -vt 0.70 0.45 0.00 -vt 0.72 0.44 0.00 -vt 0.74 0.46 0.00 -vt 0.92 0.39 0.00 -vt 0.88 0.42 0.00 -vt 0.96 0.38 0.00 -vt 0.96 0.36 0.00 -vt 0.84 0.41 0.00 -vt 0.85 0.44 0.00 -vt 0.90 0.05 0.00 -vt 0.97 0.39 0.00 -vt 0.94 0.41 0.00 -vt 0.78 0.49 0.00 -vt 0.77 0.51 0.00 -vt 0.81 0.47 0.00 -vt 0.76 0.45 0.00 -vt 0.79 0.43 0.00 -vt 0.82 0.46 0.00 -vt 0.91 0.44 0.00 -vt 0.88 0.45 0.00 -vt 0.86 0.47 0.00 -vt 0.84 0.48 0.00 -vt 0.81 0.52 0.00 -vt 0.82 0.51 0.00 -vt 0.83 0.38 0.00 -vt 0.83 0.39 0.00 -vt 0.80 0.41 0.00 -vt 0.81 0.40 0.00 -vt 0.84 0.36 0.00 -vt 0.83 0.36 0.00 -vt 0.11 0.49 0.00 -vt 0.13 0.50 0.00 -vt 0.09 0.51 0.00 -vt 0.08 0.50 0.00 -vt 0.12 0.47 0.00 -vt 0.06 0.54 0.00 -vt 0.06 0.93 0.00 -vt 0.09 0.98 0.00 -vt 0.05 0.99 0.00 -vt 0.04 0.94 0.00 -vt 0.07 0.79 0.00 -vt 0.07 0.77 0.00 -vt 0.08 0.76 0.00 -vt 0.14 0.78 0.00 -vt 0.11 0.77 0.00 -vt 0.12 0.75 0.00 -vt 0.15 0.77 0.00 -vt 0.07 0.46 0.00 -vt 0.13 0.44 0.00 -vt 0.02 0.46 0.00 -vt 0.02 0.49 0.00 -vt 0.09 0.91 0.00 -vt 0.11 0.96 0.00 -vt 0.13 0.89 0.00 -vt 0.08 0.87 0.00 -vt 0.13 0.86 0.00 -vt 0.13 0.83 0.00 -vt 0.09 0.83 0.00 -vt 0.17 0.80 0.00 -vt 0.18 0.79 0.00 -vt 0.22 0.82 0.00 -vt 0.09 0.36 0.00 -vt 0.12 0.39 0.00 -vt 0.08 0.40 0.00 -vt 0.07 0.38 0.00 -vt 0.05 0.40 0.00 -vt 0.19 0.89 0.00 -vt 0.18 0.87 0.00 -vt 0.20 0.85 0.00 -vt 0.18 0.85 0.00 -vt 0.18 0.82 0.00 -vt 0.22 0.83 0.00 -vt 0.16 0.76 0.00 -vt 0.03 0.43 0.00 -vt 0.16 0.91 0.00 -vt 0.16 0.48 0.00 -vt 0.14 0.43 0.00 -vt 0.74 0.42 0.00 -vt 0.71 0.23 0.00 -vt 0.68 0.23 0.00 -vt 0.64 0.28 0.00 -vt 0.65 0.31 0.00 -vt 0.66 0.17 0.00 -vt 0.66 0.38 0.00 -vt 0.67 0.41 0.00 -vt 0.74 0.11 0.00 -vt 0.64 0.22 0.00 -vt 0.85 0.18 0.00 -vt 0.91 0.17 0.00 -vt 0.96 0.17 0.00 -vt 0.80 0.33 0.00 -vt 0.78 0.32 0.00 -vt 0.80 0.32 0.00 -vt 0.83 0.34 0.00 -vt 0.75 0.40 0.00 -vt 0.74 0.39 0.00 -vt 0.74 0.38 0.00 -vt 0.76 0.40 0.00 -vt 0.77 0.41 0.00 -vt 0.78 0.41 0.00 -vt 0.77 0.33 0.00 -vt 0.76 0.32 0.00 -vt 0.58 0.80 0.00 -vt 0.61 0.80 0.00 -vt 0.63 0.76 0.00 -vt 0.65 0.73 0.00 -vt 0.66 0.71 0.00 -vt 0.51 0.71 0.00 -vt 0.31 0.23 0.00 -vt 0.35 0.22 0.00 -vt 0.39 0.23 0.00 -vt 0.29 0.31 0.00 -vt 0.31 0.37 0.00 -vt 0.29 0.36 0.00 -vt 0.03 0.57 0.00 -vt 0.02 0.53 0.00 -vt 0.13 0.73 0.00 -vt 0.09 0.73 0.00 -vt 0.11 0.71 0.00 -vt 0.24 0.37 0.00 -vt 0.21 0.35 0.00 -vt 0.24 0.36 0.00 -vt 0.66 0.86 0.00 -vt 0.67 0.91 0.00 -vt 0.56 0.84 0.00 -vt 0.58 0.84 0.00 -vt 0.61 0.84 0.00 -vt 0.62 0.76 0.00 -vt 0.35 0.21 0.00 -vt 0.39 0.22 0.00 -vt 0.28 0.31 0.00 -vt 0.14 0.94 0.00 -vt 0.07 0.37 0.00 -vt 0.01 0.53 0.00 -vt 0.02 0.57 0.00 -vt 0.01 0.49 0.00 -vt 0.04 0.40 0.00 -vt 0.68 0.51 0.00 -vt 0.72 0.54 0.00 -vt 0.65 0.56 0.00 -vt 0.70 0.59 0.00 -vt 0.69 0.60 0.00 -vt 0.68 0.62 0.00 -vt 0.66 0.49 0.00 -vt 0.06 0.88 0.00 -vt 0.06 0.83 0.00 -vt 0.28 0.69 0.00 -vt 0.22 0.68 0.00 -vt 0.23 0.61 0.00 -vt 0.29 0.61 0.00 -vt 0.24 0.77 0.00 -vt 0.23 0.78 0.00 -vt 0.20 0.68 0.00 -vt 0.28 0.76 0.00 -vt 0.35 0.71 0.00 -vt 0.35 0.77 0.00 -vt 0.40 0.73 0.00 -vt 0.38 0.79 0.00 -vt 0.41 0.55 0.00 -vt 0.42 0.59 0.00 -vt 0.36 0.57 0.00 -vt 0.36 0.53 0.00 -vt 0.36 0.64 0.00 -vt 0.41 0.66 0.00 -vt 0.35 0.82 0.00 -vt 0.30 0.81 0.00 -vt 0.36 0.85 0.00 -vt 0.30 0.85 0.00 -vt 0.33 0.51 0.00 -vt 0.33 0.49 0.00 -vt 0.36 0.50 0.00 -vt 0.41 0.49 0.00 -vt 0.41 0.54 0.00 -vt 0.37 0.46 0.00 -vt 0.34 0.45 0.00 -vt 0.41 0.45 0.00 -vt 0.31 0.55 0.00 -vt 0.50 0.53 0.00 -vt 0.46 0.54 0.00 -vt 0.46 0.50 0.00 -vt 0.50 0.50 0.00 -vt 0.26 0.43 0.00 -vt 0.29 0.44 0.00 -vt 0.28 0.48 0.00 -vt 0.24 0.46 0.00 -vt 0.46 0.46 0.00 -vt 0.48 0.46 0.00 -vt 0.28 0.50 0.00 -vt 0.23 0.46 0.00 -vt 0.26 0.53 0.00 -vt 0.21 0.51 0.00 -vt 0.50 0.59 0.00 -vt 0.46 0.60 0.00 -vt 0.18 0.50 0.00 -vt 0.18 0.61 0.00 -vt 0.41 0.80 0.00 -vt 0.44 0.72 0.00 -vt 0.46 0.66 0.00 -vt 0.33 0.40 0.00 -vt 0.35 0.40 0.00 -vt 0.38 0.39 0.00 -vt 0.41 0.39 0.00 -vt 0.27 0.38 0.00 -vt 0.29 0.39 0.00 -vt 0.31 0.40 0.00 -vt 0.47 0.40 0.00 -vt 0.44 0.39 0.00 -vt 0.89 0.71 0.00 -vt 0.92 0.71 0.00 -vt 0.92 0.74 0.00 -vt 0.90 0.74 0.00 -vt 0.94 0.70 0.00 -vt 0.94 0.73 0.00 -vt 0.97 0.70 0.00 -vt 0.76 0.70 0.00 -vt 0.80 0.69 0.00 -vt 0.79 0.71 0.00 -vt 0.82 0.72 0.00 -vt 0.83 0.68 0.00 -vt 0.93 0.77 0.00 -vt 0.90 0.77 0.00 -vt 0.96 0.76 0.00 -vt 0.99 0.72 0.00 -vt 0.75 0.74 0.00 -vt 0.71 0.69 0.00 -vt 0.72 0.68 0.00 -vt 0.78 0.76 0.00 -vt 0.81 0.76 0.00 -vt 0.85 0.72 0.00 -vt 0.84 0.77 0.00 -vt 0.90 0.85 0.00 -vt 0.90 0.81 0.00 -vt 0.93 0.81 0.00 -vt 0.91 0.91 0.00 -vt 0.79 0.88 0.00 -vt 0.80 0.92 0.00 -vt 0.78 0.88 0.00 -vt 0.83 0.87 0.00 -vt 0.84 0.92 0.00 -vt 0.85 0.68 0.00 -vt 0.89 0.68 0.00 -vt 0.92 0.68 0.00 -vt 0.90 0.57 0.00 -vt 0.93 0.56 0.00 -vt 0.93 0.58 0.00 -vt 0.90 0.58 0.00 -vt 0.95 0.57 0.00 -vt 0.94 0.58 0.00 -vt 0.77 0.57 0.00 -vt 0.78 0.56 0.00 -vt 0.80 0.57 0.00 -vt 0.80 0.58 0.00 -vt 0.83 0.82 0.00 -vt 0.75 0.84 0.00 -vt 0.77 0.81 0.00 -vt 0.72 0.81 0.00 -vt 0.74 0.78 0.00 -vt 0.80 0.81 0.00 -vt 0.72 0.72 0.00 -vt 0.81 0.65 0.00 -vt 0.80 0.66 0.00 -vt 0.78 0.65 0.00 -vt 0.79 0.64 0.00 -vt 0.83 0.65 0.00 -vt 0.83 0.66 0.00 -vt 0.85 0.66 0.00 -vt 0.85 0.65 0.00 -vt 0.91 0.65 0.00 -vt 0.88 0.65 0.00 -vt 0.88 0.64 0.00 -vt 0.91 0.64 0.00 -vt 0.85 0.64 0.00 -vt 0.94 0.68 0.00 -vt 0.75 0.63 0.00 -vt 0.94 0.62 0.00 -vt 0.91 0.62 0.00 -vt 0.95 0.62 0.00 -vt 0.76 0.61 0.00 -vt 0.79 0.62 0.00 -vt 0.82 0.58 0.00 -vt 0.82 0.59 0.00 -vt 0.84 0.59 0.00 -vt 0.84 0.58 0.00 -vt 0.86 0.60 0.00 -vt 0.86 0.58 0.00 -vt 0.88 0.59 0.00 -vt 0.88 0.57 0.00 -vt 0.10 0.09 0.00 -vt 0.06 0.07 0.00 -vt 0.06 0.05 0.00 -vt 0.10 0.07 0.00 -vt 0.14 0.03 0.00 -vt 0.14 0.08 0.00 -vt 0.14 0.11 0.00 -vt 0.18 0.10 0.00 -vt 0.18 0.13 0.00 -vt 0.15 0.15 0.00 -vt 0.32 0.03 0.00 -vt 0.38 0.01 0.00 -vt 0.40 0.05 0.00 -vt 0.33 0.08 0.00 -vt 0.07 0.01 0.00 -vt 0.10 0.02 0.00 -vt 0.22 0.04 0.00 -vt 0.26 0.04 0.00 -vt 0.27 0.10 0.00 -vt 0.22 0.11 0.00 -vt 0.17 0.04 0.00 -vt 0.30 0.15 0.00 -vt 0.36 0.13 0.00 -vt 0.43 0.10 0.00 -vt 0.08 0.28 0.00 -vt 0.07 0.29 0.00 -vt 0.06 0.29 0.00 -vt 0.07 0.27 0.00 -vt 0.06 0.26 0.00 -vt 0.04 0.27 0.00 -vt 0.04 0.25 0.00 -vt 0.06 0.25 0.00 -vt 0.07 0.23 0.00 -vt 0.05 0.24 0.00 -vt 0.05 0.23 0.00 -vt 0.06 0.22 0.00 -vt 0.04 0.23 0.00 -vt 0.05 0.22 0.00 -vt 0.07 0.26 0.00 -vt 0.09 0.18 0.00 -vt 0.10 0.20 0.00 -vt 0.09 0.20 0.00 -vt 0.07 0.19 0.00 -vt 0.23 0.40 0.00 -vt 0.18 0.39 0.00 -vt 0.12 0.13 0.00 -vt 0.17 0.21 0.00 -vt 0.15 0.18 0.00 -vt 0.18 0.17 0.00 -vt 0.19 0.19 0.00 -vt 0.09 0.32 0.00 -vt 0.08 0.30 0.00 -vt 0.09 0.29 0.00 -vt 0.10 0.30 0.00 -vt 0.02 0.21 0.00 -vt 0.03 0.21 0.00 -vt 0.02 0.22 0.00 -vt 0.11 0.21 0.00 -vt 0.09 0.22 0.00 -vt 0.11 0.29 0.00 -vt 0.10 0.28 0.00 -vt 0.18 0.34 0.00 -vt 0.15 0.37 0.00 -vt 0.14 0.28 0.00 -vt 0.15 0.26 0.00 -vt 0.16 0.26 0.00 -vt 0.15 0.28 0.00 -vt 0.03 0.22 0.00 -vt 0.04 0.21 0.00 -vt 0.42 0.25 0.00 -vt 0.40 0.21 0.00 -vt 0.46 0.20 0.00 -vt 0.47 0.25 0.00 -vt 0.04 0.16 0.00 -vt 0.06 0.15 0.00 -vt 0.08 0.16 0.00 -vt 0.06 0.17 0.00 -vt 0.13 0.16 0.00 -vt 0.11 0.17 0.00 -vt 0.10 0.15 0.00 -vt 0.09 0.11 0.00 -vt 0.08 0.13 0.00 -vt 0.05 0.28 0.00 -vt 0.17 0.27 0.00 -vt 0.16 0.30 0.00 -vt 0.14 0.29 0.00 -vt 0.19 0.31 0.00 -vt 0.20 0.28 0.00 -vt 0.14 0.32 0.00 -vt 0.12 0.31 0.00 -vt 0.18 0.25 0.00 -vt 0.20 0.25 0.00 -vt 0.26 0.28 0.00 -vt 0.23 0.28 0.00 -vt 0.23 0.24 0.00 -vt 0.26 0.24 0.00 -vt 0.03 0.17 0.00 -vt 0.02 0.17 0.00 -vt 0.02 0.15 0.00 -vt 0.03 0.13 0.00 -vt 0.04 0.11 0.00 -vt 0.05 0.09 0.00 -vt 0.12 0.19 0.00 -vt 0.47 0.32 0.00 -vt 0.45 0.31 0.00 -vt 0.44 0.29 0.00 -vt 0.22 0.31 0.00 -vt 0.28 0.27 0.00 -vt 0.27 0.23 0.00 -vt 0.12 0.35 0.00 -vt 0.09 0.27 0.00 -vt 0.18 0.24 0.00 -vt 0.16 0.25 0.00 -vt 0.10 0.33 0.00 -vt 0.09 0.24 0.00 -vt 0.08 0.26 0.00 -vt 0.06 0.24 0.00 -vt 0.10 0.26 0.00 -vt 0.13 0.29 0.00 -vt 0.13 0.28 0.00 -vt 0.14 0.27 0.00 -vt 0.11 0.23 0.00 -vt 0.12 0.24 0.00 -vt 0.11 0.25 0.00 -vt 0.39 0.18 0.00 -vt 0.45 0.16 0.00 -vt 0.26 0.16 0.00 -vt 0.31 0.18 0.00 -vt 0.26 0.18 0.00 -vt 0.04 0.20 0.00 -vt 0.04 0.18 0.00 -vt 0.04 0.24 0.00 -vt 0.03 0.24 0.00 -vt 0.03 0.23 0.00 -vt 0.03 0.20 0.00 -vt 0.11 0.27 0.00 -vt 0.12 0.28 0.00 -vt 0.14 0.24 0.00 -vt 0.14 0.23 0.00 -vt 0.14 0.21 0.00 -vt 0.15 0.24 0.00 -vt 0.22 0.15 0.00 -vt 0.22 0.18 0.00 -vt 0.26 0.19 0.00 -vt 0.23 0.21 0.00 -vt 0.20 0.22 0.00 -vt 0.01 0.19 0.00 -vt 0.03 0.18 0.00 -vt 0.25 0.30 0.00 -vt 0.24 0.34 0.00 -vt 0.38 0.21 0.00 -vt 0.75 0.35 0.00 -vt 0.74 0.35 0.00 -vt 0.73 0.37 0.00 -vt 0.74 0.37 0.00 -vt 0.80 0.12 0.00 -vt 0.80 0.13 0.00 -vt 0.80 0.14 0.00 -vt 0.79 0.12 0.00 -vt 0.79 0.10 0.00 -vt 0.80 0.11 0.00 -vt 0.81 0.11 0.00 -vt 0.80 0.09 0.00 -vt 0.82 0.10 0.00 -vt 0.83 0.10 0.00 -vt 0.84 0.11 0.00 -vt 0.85 0.10 0.00 -vt 0.86 0.12 0.00 -vt 0.84 0.12 0.00 -vt 0.86 0.13 0.00 -vt 0.86 0.14 0.00 -vt 0.85 0.15 0.00 -vt 0.84 0.14 0.00 -vt 0.84 0.13 0.00 -vt 0.83 0.15 0.00 -vt 0.81 0.14 0.00 -vt 0.81 0.15 0.00 -vt 0.82 0.13 0.00 -vt 0.13 0.56 0.00 -vt 0.52 0.66 0.00 -vt 0.81 0.63 0.00 -vt 0.83 0.64 0.00 -vt 0.88 0.63 0.00 -vt 0.94 0.63 0.00 -vt 0.95 0.63 0.00 -vt 0.75 0.62 0.00 -vt 0.94 0.64 0.00 -vt 0.95 0.65 0.00 -vt 0.08 0.75 0.00 -vt 0.58 0.13 0.00 -vt 0.46 0.85 0.00 -vt 0.44 0.89 0.00 -vt 0.40 0.88 0.00 -vt 0.41 0.83 0.00 -vt 0.37 0.90 0.00 -vt 0.36 0.86 0.00 -vt 0.32 0.92 0.00 -vt 0.29 0.92 0.00 -vt 0.32 0.87 0.00 -vt 0.44 0.95 0.00 -vt 0.39 0.95 0.00 -vt 0.37 0.99 0.00 -vt 0.32 0.97 0.00 -vt 0.28 0.98 0.00 -vt 0.28 0.91 0.00 -vt 0.31 0.86 0.00 -vt 0.26 0.94 0.00 -vt 0.48 0.89 0.00 -vt 0.46 0.82 0.00 -# 615 texture coords - -g CatBombay -f 1/1/1 2/2/2 3/3/3 -f 3/3/3 4/4/4 1/1/1 -f 5/5/5 6/6/6 7/7/7 -f 7/7/7 8/8/8 5/5/5 -f 9/9/9 10/10/10 11/11/11 -f 11/11/11 12/12/12 9/9/9 -f 13/13/13 4/4/4 3/3/3 -f 3/3/3 14/14/14 13/13/13 -f 15/15/15 13/13/13 14/14/14 -f 14/14/14 16/16/16 15/15/15 -f 17/17/17 18/18/18 19/19/19 -f 19/19/19 20/20/20 17/17/17 -f 2/2/2 21/21/21 22/22/22 -f 22/22/22 3/3/3 2/2/2 -f 23/23/23 24/24/24 15/15/15 -f 15/15/15 16/16/16 23/23/23 -f 25/25/25 24/24/24 23/23/23 -f 23/23/23 26/26/26 25/25/25 -f 27/27/27 28/28/28 19/19/19 -f 19/19/19 18/18/18 27/27/27 -f 29/29/29 22/22/22 30/30/30 -f 30/30/30 31/31/31 29/29/29 -f 32/32/32 33/33/33 34/34/34 -f 34/34/34 35/35/35 32/32/32 -f 35/35/35 36/36/36 37/37/37 -f 37/37/37 32/32/32 35/35/35 -f 36/36/36 38/38/38 39/39/39 -f 39/39/39 37/37/37 36/36/36 -f 40/40/40 41/41/41 39/39/39 -f 39/39/39 38/38/38 40/40/40 -f 42/42/42 43/43/43 41/41/41 -f 41/41/41 40/40/40 42/42/42 -f 42/42/42 44/44/44 43/43/43 -f 45/45/45 46/46/46 47/47/47 -f 47/47/47 48/48/48 45/45/45 -f 33/33/33 46/46/46 49/49/49 -f 49/49/49 34/34/34 33/33/33 -f 50/50/50 51/51/51 52/52/52 -f 52/52/52 53/53/53 50/50/50 -f 54/54/54 55/55/55 56/56/56 -f 56/56/56 53/57/53 54/54/54 -f 53/57/53 52/58/52 54/54/54 -f 56/56/56 55/55/55 57/59/57 -f 57/59/57 58/60/58 56/56/56 -f 59/61/59 60/62/60 61/63/61 -f 61/63/61 62/64/62 59/61/59 -f 63/65/63 64/66/64 59/61/59 -f 59/61/59 62/64/62 63/65/63 -f 65/67/65 64/66/64 63/65/63 -f 63/65/63 66/68/66 65/67/65 -f 67/69/67 68/70/68 69/71/69 -f 69/71/69 70/72/70 67/69/67 -f 71/73/71 51/51/51 50/50/50 -f 50/50/50 72/74/72 71/73/71 -f 73/75/73 74/76/74 57/77/57 -f 57/77/57 55/78/55 73/75/73 -f 75/79/75 58/80/58 57/77/57 -f 57/77/57 74/76/74 75/79/75 -f 76/81/76 77/82/77 66/68/66 -f 66/68/66 63/65/63 76/81/76 -f 63/65/63 62/64/62 76/81/76 -f 70/72/70 69/71/69 74/76/74 -f 74/76/74 73/75/73 70/72/70 -f 78/83/78 79/84/79 26/26/26 -f 26/26/26 23/23/23 78/83/78 -f 80/85/80 81/86/81 79/84/79 -f 79/84/79 78/83/78 80/85/80 -f 82/87/82 83/88/83 12/12/12 -f 12/12/12 11/11/11 82/87/82 -f 22/22/22 29/29/29 14/14/14 -f 14/14/14 3/3/3 22/22/22 -f 84/89/84 85/90/85 13/13/13 -f 13/13/13 15/15/15 84/89/84 -f 85/90/85 86/91/86 4/4/4 -f 4/4/4 13/13/13 85/90/85 -f 86/91/86 87/92/87 1/1/1 -f 1/1/1 4/4/4 86/91/86 -f 88/93/88 89/94/89 10/10/10 -f 10/10/10 9/9/9 88/93/88 -f 82/87/82 28/28/28 90/95/90 -f 90/95/90 83/88/83 82/87/82 -f 91/96/91 6/6/6 5/5/5 -f 5/5/5 92/97/92 91/96/91 -f 93/98/93 94/99/94 95/100/95 -f 95/100/95 96/101/96 93/98/93 -f 97/102/97 94/99/94 98/103/98 -f 98/103/98 99/104/99 97/102/97 -f 98/103/98 94/99/94 93/98/93 -f 93/98/93 100/105/100 98/103/98 -f 101/106/101 102/107/102 103/108/103 -f 103/108/103 104/109/104 101/106/101 -f 103/108/103 102/107/102 105/110/105 -f 105/110/105 106/111/106 103/108/103 -f 93/98/93 96/101/96 105/110/105 -f 105/110/105 102/107/102 93/98/93 -f 94/99/94 97/102/97 107/112/107 -f 107/112/107 95/100/95 94/99/94 -f 107/112/107 97/102/97 108/113/108 -f 108/113/108 109/114/109 107/112/107 -f 99/104/99 110/115/110 108/113/108 -f 108/113/108 97/102/97 99/104/99 -f 101/106/101 100/105/100 93/98/93 -f 93/98/93 102/107/102 101/106/101 -f 104/109/104 103/108/103 111/116/111 -f 111/116/111 88/117/88 104/109/104 -f 103/108/103 106/111/106 91/118/91 -f 91/118/91 111/116/111 103/108/103 -f 112/119/112 113/120/113 114/121/114 -f 114/121/114 115/122/115 112/119/112 -f 116/123/116 117/124/117 31/31/31 -f 31/31/31 30/30/30 116/123/116 -f 118/125/118 116/123/116 30/30/30 -f 30/30/30 119/126/119 118/125/118 -f 120/127/120 31/31/31 117/124/117 -f 117/124/117 121/128/121 120/127/120 -f 91/96/91 92/97/92 111/129/111 -f 89/94/89 88/93/88 111/129/111 -f 89/94/89 111/129/111 92/97/92 -f 92/97/92 5/5/5 89/94/89 -f 21/21/21 119/126/119 30/30/30 -f 30/30/30 22/22/22 21/21/21 -f 116/123/116 118/125/118 122/130/122 -f 122/130/122 123/131/123 116/123/116 -f 115/122/115 124/132/124 125/133/125 -f 125/133/125 112/119/112 115/122/115 -f 126/134/126 127/135/127 128/136/128 -f 128/136/128 129/137/129 126/134/126 -f 120/127/120 121/128/121 129/137/129 -f 129/137/129 128/136/128 120/127/120 -f 116/123/116 123/131/123 130/138/130 -f 130/138/130 117/124/117 116/123/116 -f 117/124/117 130/138/130 131/139/131 -f 131/139/131 132/140/132 121/128/121 -f 121/128/121 117/124/117 131/139/131 -f 132/140/132 129/137/129 121/128/121 -f 132/140/132 133/141/133 126/134/126 -f 126/134/126 129/137/129 132/140/132 -f 134/142/125 125/133/125 124/132/124 -f 124/132/124 135/143/134 134/142/125 -f 136/144/135 137/145/136 138/146/137 -f 138/146/137 139/147/138 136/144/135 -f 140/148/139 137/145/136 136/144/135 -f 136/144/135 141/149/140 140/148/139 -f 142/150/141 143/151/142 144/152/143 -f 145/153/144 146/154/145 142/150/141 -f 142/150/141 144/152/143 145/153/144 -f 144/152/143 147/155/146 145/153/144 -f 148/156/147 149/157/148 150/158/149 -f 150/158/149 151/159/150 148/156/147 -f 152/160/151 153/161/152 154/162/153 -f 155/163/154 156/164/155 157/165/156 -f 157/165/156 158/166/157 155/163/154 -f 146/154/145 145/153/144 159/167/158 -f 159/167/158 160/168/159 146/154/145 -f 161/169/160 159/167/158 145/153/144 -f 145/153/144 162/170/161 161/169/160 -f 163/171/162 164/172/163 149/157/148 -f 149/157/148 148/156/147 163/171/162 -f 165/173/164 163/171/162 166/174/165 -f 166/174/165 167/175/166 165/173/164 -f 155/163/154 168/176/167 169/177/168 -f 169/177/168 156/164/155 155/163/154 -f 170/178/169 171/179/170 172/180/171 -f 172/181/172 171/182/173 173/183/174 -f 173/183/174 174/184/175 172/181/172 -f 173/183/174 175/185/176 174/184/175 -f 176/186/177 177/187/178 178/188/179 -f 179/189/180 180/190/181 181/191/182 -f 181/191/182 178/188/179 179/189/180 -f 178/188/179 177/187/178 179/189/180 -f 181/191/182 180/190/181 170/178/169 -f 170/178/169 172/180/171 181/191/182 -f 170/178/169 155/163/154 158/166/157 -f 158/166/157 182/192/183 171/179/170 -f 171/179/170 170/178/169 158/166/157 -f 173/183/174 171/182/173 160/168/159 -f 160/168/159 159/167/158 173/183/174 -f 159/167/158 183/193/184 175/185/176 -f 175/185/176 173/183/174 159/167/158 -f 165/173/164 167/175/166 177/187/178 -f 177/187/178 176/186/177 165/173/164 -f 176/186/177 184/194/185 165/173/164 -f 167/175/166 179/189/180 177/187/178 -f 170/178/169 180/190/181 168/176/167 -f 168/176/167 155/163/154 170/178/169 -f 143/151/142 142/150/141 146/154/145 -f 146/154/145 185/195/186 143/151/142 -f 160/168/159 182/196/187 185/195/186 -f 185/195/186 146/154/145 160/168/159 -f 160/168/159 171/182/173 182/196/187 -f 114/121/114 81/86/81 80/85/80 -f 80/85/80 186/197/188 114/121/114 -f 18/18/18 17/17/17 84/89/84 -f 84/89/84 187/198/189 18/18/18 -f 27/27/27 18/18/18 187/198/189 -f 187/198/189 188/199/190 27/27/27 -f 189/200/191 25/25/25 26/26/26 -f 26/26/26 190/201/192 189/200/191 -f 28/28/28 27/27/27 191/202/193 -f 191/202/193 90/95/90 28/28/28 -f 190/201/192 26/26/26 79/84/79 -f 79/84/79 192/203/194 190/201/192 -f 192/203/194 79/84/79 81/86/81 -f 81/86/81 193/204/195 192/203/194 -f 19/19/19 28/28/28 82/87/82 -f 82/87/82 194/205/196 19/19/19 -f 115/122/115 114/121/114 186/197/188 -f 186/197/188 127/135/127 115/122/115 -f 124/132/124 115/122/115 127/135/127 -f 127/135/127 126/134/126 124/132/124 -f 113/120/113 193/204/195 81/86/81 -f 81/86/81 114/121/114 113/120/113 -f 195/206/197 188/199/190 25/25/25 -f 25/25/25 189/200/191 195/206/197 -f 133/141/133 135/143/134 124/132/124 -f 124/132/124 126/134/126 133/141/133 -f 17/17/17 20/20/20 196/207/198 -f 196/207/198 8/8/8 197/208/199 -f 7/7/7 198/209/1 197/208/199 -f 197/208/199 8/8/8 7/7/7 -f 199/210/200 200/211/201 201/211/202 -f 201/211/202 202/212/203 199/210/200 -f 202/212/203 203/213/204 204/213/205 -f 204/213/205 199/210/200 202/212/203 -f 205/214/206 206/215/207 207/216/208 -f 207/216/208 208/217/209 205/214/206 -f 138/146/137 209/218/210 210/219/211 -f 210/219/211 139/147/138 138/146/137 -f 200/211/201 211/220/212 212/221/213 -f 212/221/213 201/211/202 200/211/201 -f 203/213/204 140/148/139 141/149/140 -f 141/149/140 204/213/205 203/213/204 -f 69/71/69 68/70/68 213/222/214 -f 213/222/214 77/82/77 69/71/69 -f 72/74/72 214/223/215 215/224/216 -f 215/224/216 71/73/71 72/74/72 -f 216/225/217 54/226/54 52/52/52 -f 52/52/52 51/51/51 216/225/217 -f 61/63/61 217/227/218 76/81/76 -f 76/81/76 62/64/62 61/63/61 -f 77/82/77 75/79/75 74/76/74 -f 74/76/74 69/71/69 77/82/77 -f 216/225/217 51/51/51 71/73/71 -f 71/73/71 215/224/216 216/225/217 -f 34/34/34 50/50/50 53/53/53 -f 53/53/53 35/35/35 34/34/34 -f 56/56/56 38/228/38 36/229/36 -f 36/229/36 35/230/35 56/56/56 -f 35/230/35 53/57/53 56/56/56 -f 56/56/56 60/231/60 38/228/38 -f 60/62/60 59/61/59 40/40/40 -f 40/40/40 38/38/38 60/62/60 -f 40/40/40 59/61/59 64/66/64 -f 64/66/64 42/42/42 40/40/40 -f 64/66/64 65/67/65 44/44/44 -f 44/44/44 42/42/42 64/66/64 -f 67/69/67 214/223/215 45/45/45 -f 45/45/45 48/48/48 67/69/67 -f 48/48/48 68/70/68 67/69/67 -f 34/34/34 49/49/49 72/74/72 -f 72/74/72 50/50/50 34/34/34 -f 44/44/44 65/67/65 213/222/214 -f 213/222/214 48/48/48 44/44/44 -f 213/222/214 68/70/68 48/48/48 -f 45/45/45 214/223/215 72/74/72 -f 72/74/72 49/49/49 45/45/45 -f 213/222/214 65/67/65 66/68/66 -f 66/68/66 77/82/77 213/222/214 -f 215/224/216 214/223/215 67/69/67 -f 67/69/67 70/72/70 215/224/216 -f 216/225/217 73/75/73 55/78/55 -f 55/78/55 54/226/54 216/225/217 -f 217/227/218 58/80/58 75/79/75 -f 75/79/75 76/81/76 217/227/218 -f 76/81/76 75/79/75 77/82/77 -f 215/224/216 70/72/70 73/75/73 -f 73/75/73 216/225/217 215/224/216 -f 217/232/218 60/231/60 56/56/56 -f 56/56/56 58/60/58 217/232/218 -f 217/232/218 61/233/61 60/231/60 -f 45/45/45 49/49/49 46/46/46 -f 47/47/47 43/43/43 44/44/44 -f 44/44/44 48/48/48 47/47/47 -f 147/155/146 218/234/219 219/235/220 -f 219/235/220 162/170/161 145/153/144 -f 145/153/144 147/155/146 219/235/220 -f 185/236/221 157/165/156 220/237/222 -f 220/237/222 143/238/223 185/236/221 -f 182/192/183 158/166/157 157/165/156 -f 157/165/156 185/236/221 182/192/183 -f 153/239/152 221/240/224 222/241/225 -f 222/241/225 154/239/153 153/239/152 -f 223/32/226 224/33/93 225/242/227 -f 225/242/227 226/243/228 223/32/226 -f 226/243/228 227/36/229 228/37/230 -f 228/37/230 223/32/226 226/243/228 -f 228/37/230 227/36/229 229/38/231 -f 229/38/231 230/39/232 228/37/230 -f 231/40/233 232/41/234 230/39/232 -f 230/39/232 229/38/231 231/40/233 -f 232/41/234 231/40/233 233/244/235 -f 233/244/235 234/244/236 232/41/234 -f 235/245/237 236/47/238 234/244/236 -f 234/244/236 233/244/235 235/245/237 -f 237/47/239 238/246/240 236/47/238 -f 224/33/93 239/46/241 240/49/242 -f 240/49/242 225/242/227 224/33/93 -f 241/50/243 242/51/244 243/52/245 -f 243/52/245 244/53/246 241/50/243 -f 245/54/247 246/55/248 247/56/56 -f 247/56/56 244/57/246 245/54/247 -f 244/57/246 243/58/245 245/54/247 -f 247/56/56 246/55/248 248/59/57 -f 248/59/57 249/60/249 247/56/56 -f 250/64/250 251/61/251 252/62/252 -f 252/62/252 253/63/253 250/64/250 -f 254/65/254 255/66/255 251/61/251 -f 251/61/251 250/64/250 254/65/254 -f 254/65/254 256/68/256 257/67/257 -f 257/67/257 255/66/255 254/65/254 -f 258/70/258 259/71/259 260/72/260 -f 260/72/260 261/69/261 258/70/258 -f 262/73/262 242/51/244 241/50/243 -f 241/50/243 263/74/263 262/73/262 -f 264/75/264 265/76/265 248/77/57 -f 248/77/57 246/78/248 264/75/264 -f 266/79/266 249/80/249 248/77/57 -f 248/77/57 265/76/265 266/79/266 -f 267/81/267 268/82/268 256/68/256 -f 256/68/256 254/65/254 267/81/267 -f 254/65/254 250/64/250 267/81/267 -f 260/72/260 259/71/259 265/76/265 -f 265/76/265 264/75/264 260/72/260 -f 258/70/258 269/222/269 268/82/268 -f 268/82/268 259/71/259 258/70/258 -f 270/223/270 271/247/271 262/73/262 -f 262/73/262 263/74/263 270/223/270 -f 272/225/272 245/226/247 243/52/245 -f 243/52/245 242/51/244 272/225/272 -f 253/63/253 273/227/273 267/81/267 -f 267/81/267 250/64/250 253/63/253 -f 268/82/268 266/79/266 265/76/265 -f 265/76/265 259/71/259 268/82/268 -f 262/73/262 271/247/271 272/225/272 -f 272/225/272 242/51/244 262/73/262 -f 226/243/228 225/242/227 241/50/243 -f 241/50/243 244/53/246 226/243/228 -f 247/56/56 229/228/231 227/248/229 -f 227/248/229 226/249/228 247/56/56 -f 226/249/228 244/57/246 247/56/56 -f 247/56/56 252/250/252 229/228/231 -f 229/38/231 252/62/252 251/61/251 -f 251/61/251 231/40/233 229/38/231 -f 231/40/233 251/61/251 255/66/255 -f 255/66/255 233/244/235 231/40/233 -f 255/66/255 257/67/257 235/245/237 -f 235/245/237 233/244/235 255/66/255 -f 261/69/261 270/223/270 238/246/240 -f 238/246/240 237/47/239 261/69/261 -f 237/47/239 269/222/269 258/70/258 -f 258/70/258 261/69/261 237/47/239 -f 225/242/227 240/49/242 263/74/263 -f 263/74/263 241/50/243 225/242/227 -f 235/245/237 257/67/257 269/222/269 -f 269/222/269 237/47/239 235/245/237 -f 238/246/240 270/223/270 263/74/263 -f 263/74/263 240/49/242 238/246/240 -f 269/222/269 257/67/257 256/68/256 -f 256/68/256 268/82/268 269/222/269 -f 270/223/270 261/69/261 260/72/260 -f 260/72/260 271/247/271 270/223/270 -f 272/225/272 264/75/264 246/78/248 -f 246/78/248 245/226/247 272/225/272 -f 273/227/273 249/80/249 266/79/266 -f 266/79/266 267/81/267 273/227/273 -f 267/81/267 266/79/266 268/82/268 -f 271/247/271 260/72/260 264/75/264 -f 264/75/264 272/225/272 271/247/271 -f 273/232/273 252/250/252 247/56/56 -f 247/56/56 249/60/249 273/232/273 -f 273/232/273 253/233/253 252/250/252 -f 239/46/241 236/47/238 238/246/240 -f 238/246/240 240/49/242 239/46/241 -f 235/245/237 237/47/239 236/47/238 -f 159/167/158 161/169/160 183/193/184 -f 184/194/185 274/251/274 165/173/164 -f 274/251/274 164/172/163 163/171/162 -f 163/171/162 165/173/164 274/251/274 -f 178/252/179 181/181/182 172/181/171 -f 172/181/171 174/184/275 178/252/179 -f 149/253/148 219/235/276 218/234/277 -f 218/234/277 150/254/149 149/253/148 -f 164/255/163 162/170/278 219/235/276 -f 219/235/276 149/253/148 164/255/163 -f 178/252/179 174/184/275 175/185/279 -f 175/185/279 176/256/177 178/252/179 -f 184/193/185 183/193/280 161/169/281 -f 161/169/281 274/169/274 184/193/185 -f 176/256/177 175/185/279 183/193/280 -f 183/193/280 184/193/185 176/256/177 -f 274/169/274 161/169/281 162/170/278 -f 162/170/278 164/255/163 274/169/274 -f 275/257/282 276/258/283 277/259/284 -f 277/259/284 278/260/285 279/261/286 -f 279/261/286 280/262/287 277/259/284 -f 276/258/283 278/260/285 277/259/284 -f 277/259/284 281/263/288 282/263/289 -f 282/263/289 283/257/290 277/259/284 -f 283/257/290 275/257/282 277/259/284 -f 151/159/150 284/264/291 148/156/147 -f 163/171/162 148/156/147 284/264/291 -f 284/264/291 166/174/165 163/171/162 -f 169/177/168 166/174/165 284/264/291 -f 284/264/291 285/265/292 169/177/168 -f 167/175/166 166/174/165 169/177/168 -f 169/177/168 168/176/167 167/175/166 -f 168/176/167 180/190/181 179/189/180 -f 179/189/180 167/175/166 168/176/167 -f 286/266/293 287/267/294 288/268/295 -f 288/268/295 289/269/296 286/266/293 -f 287/267/294 290/270/297 196/271/198 -f 196/271/198 20/272/20 287/267/294 -f 291/273/298 286/266/293 292/274/299 -f 292/274/299 293/275/300 291/273/298 -f 294/276/301 295/277/302 293/275/300 -f 293/275/300 292/274/299 294/276/301 -f 296/278/303 297/279/304 298/280/305 -f 298/280/305 299/281/306 296/278/303 -f 292/274/299 300/282/307 301/283/308 -f 301/283/308 294/276/301 292/274/299 -f 293/275/300 302/284/309 303/285/310 -f 303/285/310 291/273/298 293/275/300 -f 303/285/310 302/284/309 5/286/5 -f 5/286/5 8/287/8 303/285/310 -f 286/266/293 289/269/296 300/282/307 -f 300/282/307 292/274/299 286/266/293 -f 304/288/311 305/289/312 306/290/313 -f 306/290/313 299/281/306 304/288/311 -f 307/291/314 308/292/315 299/281/306 -f 299/281/306 306/290/313 307/291/314 -f 309/293/316 306/290/313 305/289/312 -f 305/289/312 310/294/317 309/293/316 -f 309/293/316 311/295/318 307/291/314 -f 307/291/314 306/290/313 309/293/316 -f 196/271/198 290/270/297 303/285/310 -f 303/285/310 8/287/8 196/271/198 -f 304/288/311 299/281/306 298/280/305 -f 298/280/305 312/296/319 304/288/311 -f 313/297/320 314/298/321 315/299/322 -f 315/299/322 316/300/323 313/297/320 -f 307/291/314 315/299/322 314/298/321 -f 314/298/321 308/292/315 307/291/314 -f 317/301/324 318/302/325 319/303/326 -f 319/303/326 316/304/323 317/301/324 -f 316/300/323 315/299/322 320/305/327 -f 320/305/327 317/306/324 316/300/323 -f 320/305/327 315/299/322 307/291/314 -f 307/291/314 311/295/318 320/305/327 -f 319/303/326 321/307/328 313/308/320 -f 313/308/320 316/304/323 319/303/326 -f 321/307/328 322/309/329 323/310/330 -f 323/310/330 313/308/320 321/307/328 -f 293/275/300 295/277/302 302/284/309 -f 324/311/331 325/312/332 314/298/321 -f 314/298/321 313/297/320 324/311/331 -f 313/308/320 323/310/330 324/313/331 -f 19/314/19 323/310/330 322/309/329 -f 322/309/329 288/268/295 19/314/19 -f 288/268/295 322/309/329 312/296/319 -f 312/296/319 289/269/296 288/268/295 -f 312/296/319 298/280/305 300/282/307 -f 300/282/307 289/269/296 312/296/319 -f 298/280/305 297/279/304 301/283/308 -f 301/283/308 300/282/307 298/280/305 -f 89/315/89 295/277/302 294/276/301 -f 294/276/301 10/316/10 89/315/89 -f 5/286/5 302/284/309 295/277/302 -f 295/277/302 89/315/89 5/286/5 -f 299/281/306 308/292/315 296/278/303 -f 296/278/303 308/292/315 314/298/321 -f 314/298/321 325/312/332 297/279/304 -f 297/279/304 296/278/303 314/298/321 -f 325/312/332 11/317/11 301/283/308 -f 301/283/308 297/279/304 325/312/332 -f 301/283/308 11/317/11 10/316/10 -f 10/316/10 294/276/301 301/283/308 -f 239/318/241 224/319/93 310/294/317 -f 224/319/93 223/320/226 309/293/316 -f 309/293/316 310/294/317 224/319/93 -f 311/295/318 309/293/316 223/320/226 -f 223/320/226 228/321/230 311/295/318 -f 317/301/324 232/322/234 234/323/236 -f 234/323/236 318/302/325 317/301/324 -f 234/323/236 236/324/238 318/302/325 -f 320/305/327 232/325/234 317/306/324 -f 230/326/232 320/305/327 311/295/318 -f 311/295/318 228/321/230 230/326/232 -f 288/268/295 287/267/294 20/272/20 -f 20/272/20 19/314/19 288/268/295 -f 326/327/333 327/328/334 328/329/335 -f 328/329/335 329/330/336 326/327/333 -f 327/328/334 330/331/337 331/332/338 -f 331/332/338 328/329/335 327/328/334 -f 332/333/339 331/332/338 330/331/337 -f 333/334/340 334/335/341 335/336/342 -f 336/337/343 335/336/342 334/335/341 -f 334/335/341 337/338/344 336/337/343 -f 328/329/335 338/339/345 339/340/346 -f 339/340/346 329/330/336 328/329/335 -f 331/332/338 23/341/23 338/339/345 -f 338/339/345 328/329/335 331/332/338 -f 78/342/78 23/341/23 331/332/338 -f 331/332/338 332/333/339 78/342/78 -f 340/343/347 78/344/78 332/345/339 -f 332/345/339 333/334/340 340/343/347 -f 341/346/348 340/343/347 333/334/340 -f 333/334/340 335/336/342 341/346/348 -f 342/347/349 341/346/348 335/336/342 -f 335/336/342 336/337/343 342/347/349 -f 343/348/350 344/349/351 342/347/349 -f 342/347/349 336/337/343 343/348/350 -f 345/350/352 346/351/353 16/352/16 -f 16/352/16 14/353/14 345/350/352 -f 347/354/354 31/355/31 120/356/120 -f 347/354/354 348/357/355 29/358/29 -f 29/358/29 31/355/31 347/354/354 -f 349/359/356 343/348/350 336/337/343 -f 336/337/343 337/338/344 349/359/356 -f 326/327/333 350/360/357 351/360/358 -f 351/360/358 352/361/359 327/328/334 -f 327/328/334 326/327/333 351/360/358 -f 37/362/37 39/363/39 353/364/360 -f 353/364/360 354/365/361 37/362/37 -f 353/364/360 39/363/39 41/366/41 -f 41/366/41 355/367/362 353/364/360 -f 355/368/362 41/369/41 43/370/43 -f 43/370/43 356/371/363 355/368/362 -f 349/359/356 350/360/357 326/327/333 -f 326/327/333 343/348/350 349/359/356 -f 326/327/333 329/330/336 343/348/350 -f 346/351/353 357/372/364 344/349/351 -f 344/349/351 339/340/346 346/351/353 -f 14/353/14 29/358/29 348/357/355 -f 348/357/355 345/350/352 14/353/14 -f 128/373/128 358/374/365 120/356/120 -f 358/374/365 128/373/128 127/375/127 -f 127/375/127 186/376/188 358/374/365 -f 120/356/120 358/374/365 359/377/366 -f 359/377/366 347/354/354 120/356/120 -f 357/372/364 348/357/355 347/354/354 -f 347/354/354 359/377/366 357/372/364 -f 357/372/364 346/351/353 345/350/352 -f 345/350/352 348/357/355 357/372/364 -f 339/340/346 338/339/345 16/352/16 -f 16/352/16 346/351/353 339/340/346 -f 23/341/23 16/352/16 338/339/345 -f 340/343/347 80/378/80 78/344/78 -f 186/376/188 340/343/347 341/346/348 -f 341/346/348 358/374/365 186/376/188 -f 358/374/365 341/346/348 342/347/349 -f 342/347/349 359/377/366 358/374/365 -f 359/377/366 342/347/349 344/349/351 -f 344/349/351 357/372/364 359/377/366 -f 329/330/336 339/340/346 344/349/351 -f 344/349/351 343/348/350 329/330/336 -f 340/343/347 186/376/188 80/378/80 -f 360/379/367 361/380/368 362/381/369 -f 362/381/369 363/382/370 360/379/367 -f 364/383/371 365/384/372 361/380/368 -f 361/380/368 360/379/367 364/383/371 -f 366/385/373 365/384/372 364/383/371 -f 364/383/371 367/386/374 366/385/373 -f 368/387/375 369/388/376 370/389/377 -f 370/389/377 371/390/378 368/387/375 -f 367/386/374 372/391/379 370/389/377 -f 370/389/377 369/388/376 367/386/374 -f 369/388/376 366/385/373 367/386/374 -f 352/361/359 373/392/380 330/331/337 -f 330/331/337 327/328/334 352/361/359 -f 332/333/339 330/331/337 373/392/380 -f 332/345/339 374/393/381 362/381/369 -f 362/381/369 333/334/340 332/345/339 -f 354/365/361 353/364/360 375/394/382 -f 375/394/382 376/395/383 354/365/361 -f 375/394/382 353/364/360 355/367/362 -f 355/367/362 377/396/384 375/394/382 -f 377/397/384 355/368/362 356/371/363 -f 356/371/363 378/398/385 377/397/384 -f 47/399/47 379/400/386 356/371/363 -f 356/371/363 43/370/43 47/399/47 -f 380/401/387 379/400/386 47/399/47 -f 47/399/47 46/402/46 380/401/387 -f 381/403/388 380/401/387 46/402/46 -f 46/402/46 33/404/33 381/403/388 -f 354/365/361 382/405/389 32/406/32 -f 32/406/32 37/362/37 354/365/361 -f 382/405/389 381/403/388 33/404/33 -f 33/404/33 32/406/32 382/405/389 -f 383/407/390 384/408/391 385/409/392 -f 385/409/392 386/410/393 383/407/390 -f 386/410/393 133/411/133 387/412/394 -f 387/412/394 383/407/390 386/410/393 -f 387/412/394 388/413/395 383/407/390 -f 388/413/395 387/412/394 389/414/396 -f 390/415/397 391/416/398 388/413/395 -f 388/413/395 389/414/396 390/415/397 -f 123/417/123 122/418/122 392/419/399 -f 392/419/399 393/420/400 123/417/123 -f 134/421/125 135/422/134 386/410/393 -f 386/410/393 385/409/392 134/421/125 -f 131/423/131 130/424/130 394/425/401 -f 394/425/401 395/426/402 131/423/131 -f 133/411/133 132/427/132 389/414/396 -f 389/414/396 387/412/394 133/411/133 -f 394/425/401 130/424/130 123/417/123 -f 123/417/123 393/420/400 394/425/401 -f 132/427/132 131/423/131 395/426/402 -f 395/426/402 389/414/396 132/427/132 -f 396/428/403 394/425/401 393/420/400 -f 393/420/400 397/429/404 396/428/403 -f 392/419/399 398/430/405 397/429/404 -f 397/429/404 393/420/400 392/419/399 -f 399/431/406 400/432/407 401/433/408 -f 401/433/408 402/434/409 399/431/406 -f 403/435/410 404/436/411 405/437/412 -f 405/437/412 406/438/413 403/435/410 -f 405/437/412 407/437/414 406/438/413 -f 408/439/415 409/440/416 410/441/175 -f 410/441/175 411/442/417 408/439/415 -f 411/442/417 410/441/175 412/443/418 -f 412/443/418 413/444/419 411/442/417 -f 403/435/410 406/438/413 414/445/420 -f 414/445/420 402/434/409 403/435/410 -f 415/446/421 416/447/422 417/448/423 -f 417/448/423 276/449/424 415/446/421 -f 221/240/224 153/239/152 418/450/425 -f 418/450/425 419/451/426 221/240/224 -f 391/416/398 420/452/427 388/413/395 -f 421/453/428 422/454/429 423/455/430 -f 423/455/430 424/456/293 421/453/428 -f 425/457/431 426/458/432 427/459/433 -f 427/459/433 428/460/434 425/457/431 -f 429/461/435 430/462/436 282/461/437 -f 282/461/437 281/463/438 429/461/435 -f 416/447/422 431/464/439 432/465/440 -f 432/465/440 417/448/423 416/447/422 -f 433/466/441 428/460/434 427/459/433 -f 427/459/433 434/467/442 433/466/441 -f 435/468/443 221/240/224 419/451/426 -f 419/451/426 436/469/444 435/468/443 -f 437/470/445 438/471/446 439/472/447 -f 439/472/447 440/473/448 437/470/445 -f 411/442/417 413/444/419 276/449/424 -f 276/449/424 417/448/423 411/442/417 -f 432/465/440 408/439/415 411/442/417 -f 411/442/417 417/448/423 432/465/440 -f 413/444/419 412/443/418 279/474/449 -f 279/474/449 278/475/450 413/444/419 -f 285/476/292 441/477/451 442/478/452 -f 442/478/452 443/479/453 285/476/292 -f 444/480/454 445/481/455 446/482/456 -f 446/482/456 447/483/457 444/480/454 -f 448/484/458 449/485/459 450/486/460 -f 450/486/460 420/452/427 448/484/458 -f 388/413/395 420/452/427 451/487/461 -f 451/487/461 383/407/390 388/413/395 -f 447/483/457 446/482/456 415/446/421 -f 415/446/421 276/449/424 447/483/457 -f 450/486/460 452/488/462 451/487/461 -f 451/487/461 420/452/427 450/486/460 -f 453/489/463 403/435/410 402/434/409 -f 402/434/409 401/433/408 453/489/463 -f 440/473/448 439/472/447 454/490/464 -f 454/490/464 455/491/465 440/473/448 -f 455/491/465 456/492/466 440/473/448 -f 457/493/467 455/491/465 454/490/464 -f 454/490/464 458/494/468 457/493/467 -f 459/495/469 460/496/470 456/492/466 -f 456/492/466 455/491/465 459/495/469 -f 454/490/464 461/497/471 462/498/472 -f 462/498/472 458/494/468 454/490/464 -f 463/499/473 464/500/474 465/501/475 -f 465/501/475 466/502/476 463/499/473 -f 467/503/477 468/504/478 469/505/479 -f 469/505/479 444/480/454 467/503/477 -f 445/481/455 444/480/454 469/505/479 -f 469/505/479 470/506/480 445/481/455 -f 445/481/455 470/506/480 471/507/481 -f 471/507/481 452/488/462 445/481/455 -f 383/407/390 451/487/461 472/508/482 -f 472/508/482 384/408/391 383/407/390 -f 473/509/483 449/485/459 448/484/458 -f 448/484/458 422/454/429 473/509/483 -f 443/479/453 418/510/425 153/511/152 -f 153/511/152 152/512/151 443/479/453 -f 221/240/224 435/468/443 457/493/467 -f 457/493/467 474/513/484 221/240/224 -f 144/514/485 463/499/473 466/502/476 -f 466/502/476 147/515/486 144/514/485 -f 435/468/443 459/495/469 455/491/465 -f 455/491/465 457/493/467 435/468/443 -f 436/469/444 475/516/487 459/495/469 -f 459/495/469 435/468/443 436/469/444 -f 476/517/488 399/431/406 402/434/409 -f 402/434/409 414/445/420 476/517/488 -f 477/518/489 461/497/471 478/519/490 -f 478/519/490 479/519/491 477/518/489 -f 459/495/469 475/516/487 480/520/435 -f 480/520/435 460/496/470 459/495/469 -f 481/521/492 482/522/493 406/438/413 -f 406/438/413 483/523/494 481/521/492 -f 482/522/493 140/524/495 476/517/488 -f 476/517/488 414/445/420 482/522/493 -f 440/473/448 456/492/466 484/525/496 -f 484/525/496 437/470/445 440/473/448 -f 460/496/470 428/460/434 433/466/441 -f 433/466/441 456/492/466 460/496/470 -f 433/466/441 484/525/496 456/492/466 -f 206/519/497 479/519/491 478/519/490 -f 478/519/490 485/519/498 206/519/497 -f 437/470/445 484/525/496 201/526/499 -f 201/526/499 212/527/500 437/470/445 -f 486/528/501 138/529/502 137/530/503 -f 137/530/503 481/521/492 486/528/501 -f 422/454/429 448/484/458 391/416/398 -f 391/416/398 390/415/397 423/455/430 -f 423/455/430 422/454/429 391/416/398 -f 487/531/504 397/429/404 398/430/405 -f 398/430/405 488/532/505 487/531/504 -f 489/533/506 396/428/403 151/534/150 -f 151/534/150 150/535/149 489/533/506 -f 396/428/403 397/429/404 487/531/504 -f 487/531/504 151/534/150 396/428/403 -f 386/410/393 135/422/134 133/411/133 -f 490/536/507 491/537/508 447/483/457 -f 447/483/457 276/449/424 490/536/507 -f 453/489/463 404/436/411 403/435/410 -f 409/440/416 406/438/413 407/437/414 -f 409/440/416 407/437/414 492/538/509 -f 492/538/509 410/441/175 409/440/416 -f 410/441/175 492/538/509 493/539/510 -f 493/539/510 412/443/418 410/441/175 -f 280/540/511 279/474/449 412/443/418 -f 412/443/418 493/539/510 280/540/511 -f 407/437/414 405/437/412 494/437/512 -f 495/539/513 492/538/509 407/437/414 -f 407/437/414 494/437/512 495/539/513 -f 493/539/510 492/538/509 495/539/513 -f 495/539/513 496/539/514 493/539/510 -f 282/461/437 430/462/436 497/541/515 -f 497/541/515 283/475/516 282/461/437 -f 434/467/442 203/542/517 202/543/518 -f 202/543/518 433/466/441 434/467/442 -f 209/544/519 138/529/502 486/528/501 -f 486/528/501 498/545/520 209/544/519 -f 140/524/495 203/542/517 434/467/442 -f 434/467/442 476/517/488 140/524/495 -f 399/431/406 476/517/488 434/467/442 -f 434/467/442 427/459/433 399/431/406 -f 400/432/407 399/431/406 427/459/433 -f 427/459/433 426/458/432 400/432/407 -f 432/465/440 431/464/439 486/528/501 -f 486/528/501 481/521/492 432/465/440 -f 408/439/415 432/465/440 481/521/492 -f 481/521/492 483/523/494 408/439/415 -f 422/454/429 421/453/428 499/546/521 -f 499/546/521 473/509/483 422/454/429 -f 205/547/522 498/545/520 479/519/491 -f 479/519/491 206/519/497 205/547/522 -f 421/453/428 477/518/489 479/519/491 -f 479/519/491 498/545/520 421/453/428 -f 500/548/523 489/533/506 150/535/149 -f 150/535/149 501/549/524 500/548/523 -f 218/550/277 147/515/486 466/502/476 -f 466/502/476 502/551/525 218/550/277 -f 466/502/476 465/501/475 502/551/525 -f 395/426/402 500/548/523 390/415/397 -f 390/415/397 389/414/396 395/426/402 -f 489/533/506 500/548/523 395/426/402 -f 395/426/402 394/425/401 489/533/506 -f 202/543/518 201/526/499 484/525/496 -f 484/525/496 433/466/441 202/543/518 -f 480/520/435 425/457/431 428/460/434 -f 428/460/434 460/496/470 480/520/435 -f 477/518/489 421/453/428 424/456/293 -f 424/456/293 503/552/526 477/518/489 -f 477/518/489 503/552/526 462/498/472 -f 462/498/472 461/497/471 477/518/489 -f 431/464/439 499/546/521 498/545/520 -f 498/545/520 486/528/501 431/464/439 -f 431/464/439 416/447/422 473/509/483 -f 473/509/483 499/546/521 431/464/439 -f 415/446/421 449/485/459 473/509/483 -f 473/509/483 416/447/422 415/446/421 -f 446/482/456 450/486/460 449/485/459 -f 449/485/459 415/446/421 446/482/456 -f 452/488/462 471/507/481 472/508/482 -f 472/508/482 451/487/461 452/488/462 -f 445/481/455 452/488/462 450/486/460 -f 450/486/460 446/482/456 445/481/455 -f 458/494/468 464/500/474 474/513/484 -f 474/513/484 457/493/467 458/494/468 -f 462/498/472 465/501/475 464/500/474 -f 464/500/474 458/494/468 462/498/472 -f 465/501/475 462/498/472 503/552/526 -f 503/552/526 502/551/525 465/501/475 -f 424/456/293 501/549/524 502/551/525 -f 502/551/525 503/552/526 424/456/293 -f 501/549/524 150/535/149 218/550/277 -f 218/550/277 502/551/525 501/549/524 -f 430/462/436 429/461/435 504/553/527 -f 505/554/528 497/541/515 430/462/436 -f 430/462/436 504/553/527 505/554/528 -f 467/503/477 505/554/528 504/553/527 -f 504/553/527 468/504/478 467/503/477 -f 497/541/515 490/536/507 275/536/529 -f 275/536/529 283/475/516 497/541/515 -f 491/537/508 490/536/507 497/541/515 -f 497/541/515 505/554/528 491/537/508 -f 491/537/508 505/554/528 467/503/477 -f 444/480/454 447/483/457 491/537/508 -f 491/537/508 467/503/477 444/480/454 -f 488/532/505 442/478/452 441/477/451 -f 441/477/451 487/531/504 488/532/505 -f 489/533/506 394/425/401 396/428/403 -f 275/536/529 490/536/507 276/449/424 -f 278/475/450 276/449/424 413/444/419 -f 474/513/484 464/500/474 463/499/473 -f 463/499/473 143/555/223 474/513/484 -f 409/440/416 483/523/494 406/438/413 -f 140/524/495 482/522/493 481/521/492 -f 481/521/492 137/530/503 140/524/495 -f 205/547/522 209/544/519 498/545/520 -f 391/416/398 448/484/458 420/452/427 -f 493/539/510 496/539/514 280/540/511 -f 482/522/493 414/445/420 406/438/413 -f 408/439/415 483/523/494 409/440/416 -f 474/513/484 143/555/223 220/556/222 -f 220/556/222 222/241/225 221/240/224 -f 221/240/224 474/513/484 220/556/222 -f 143/555/223 463/499/473 144/514/485 -f 498/545/520 499/546/521 421/453/428 -f 501/549/524 424/456/293 423/455/430 -f 423/455/430 500/548/523 501/549/524 -f 284/557/291 487/531/504 441/477/451 -f 285/476/292 284/557/291 441/477/451 -f 151/534/150 487/531/504 284/557/291 -f 423/455/430 390/415/397 500/548/523 -f 437/470/445 212/527/500 438/471/446 -f 478/519/490 439/472/447 438/471/446 -f 438/471/446 485/519/498 478/519/490 -f 454/490/464 439/472/447 478/519/490 -f 478/519/490 461/497/471 454/490/464 -f 304/288/311 321/307/328 319/303/326 -f 319/303/326 305/289/312 304/288/311 -f 310/294/317 305/289/312 319/303/326 -f 319/303/326 318/302/325 310/294/317 -f 318/302/325 236/324/238 239/318/241 -f 239/318/241 310/294/317 318/302/325 -f 211/220/212 506/558/530 438/559/531 -f 438/559/531 212/221/213 211/220/212 -f 209/218/210 205/214/206 208/217/209 -f 208/217/209 210/219/211 209/218/210 -f 207/216/208 206/215/207 485/560/532 -f 485/560/532 507/561/533 207/216/208 -f 438/559/531 506/559/530 507/561/533 -f 507/561/533 485/560/532 438/559/531 -f 508/562/534 509/563/535 199/564/536 -f 199/564/536 204/565/537 508/562/534 -f 141/566/538 510/567/539 508/562/534 -f 508/562/534 204/565/537 141/566/538 -f 511/568/540 510/567/539 141/566/538 -f 141/566/538 136/569/541 511/568/540 -f 512/570/542 511/568/540 136/569/541 -f 136/569/541 139/571/543 512/570/542 -f 513/572/544 512/570/542 139/571/543 -f 139/571/543 210/573/545 513/572/544 -f 210/573/545 208/574/546 514/575/547 -f 514/575/547 513/572/544 210/573/545 -f 207/576/548 507/577/549 506/578/550 -f 515/579/551 516/580/552 207/576/548 -f 207/576/548 506/578/550 515/579/551 -f 517/581/553 515/579/551 506/578/550 -f 506/578/550 211/581/554 517/581/553 -f 518/582/555 517/581/553 211/581/554 -f 211/581/554 200/583/556 518/582/555 -f 208/574/546 207/576/548 516/580/552 -f 516/580/552 514/575/547 208/574/546 -f 200/583/556 199/564/536 509/563/535 -f 509/563/535 518/582/555 200/583/556 -f 519/584/264 518/582/555 509/563/535 -f 509/563/535 508/562/534 519/584/264 -f 518/582/555 519/584/264 517/581/553 -f 519/584/264 516/580/552 515/579/551 -f 515/579/551 517/581/553 519/584/264 -f 516/580/552 519/584/264 514/575/547 -f 514/575/547 519/584/264 513/572/544 -f 513/572/544 519/584/264 512/570/542 -f 512/570/542 519/584/264 511/568/540 -f 519/584/264 508/562/534 510/567/539 -f 510/567/539 511/568/540 519/584/264 -f 11/11/11 194/205/196 82/87/82 -f 85/90/85 84/89/84 17/17/17 -f 17/17/17 196/207/198 85/90/85 -f 86/91/86 85/90/85 196/207/198 -f 196/207/198 197/208/199 86/91/86 -f 87/92/87 86/91/86 197/208/199 -f 197/208/199 198/209/1 87/92/87 -f 187/198/189 84/89/84 15/15/15 -f 15/15/15 24/24/24 187/198/189 -f 188/199/190 187/198/189 24/24/24 -f 24/24/24 25/25/25 188/199/190 -f 27/27/27 188/199/190 195/206/197 -f 195/206/197 191/202/193 27/27/27 -f 323/310/330 19/314/19 194/585/196 -f 194/585/196 324/313/331 323/310/330 -f 11/317/11 325/312/332 324/311/331 -f 324/311/331 194/586/196 11/317/11 -f 320/305/327 230/326/232 232/325/234 -f 290/270/297 287/267/294 286/266/293 -f 286/266/293 291/273/298 290/270/297 -f 290/270/297 291/273/298 303/285/310 -f 379/400/386 520/587/557 378/398/385 -f 378/398/385 356/371/363 379/400/386 -f 380/401/387 521/588/558 520/587/557 -f 520/587/557 379/400/386 380/401/387 -f 381/403/388 372/391/379 521/588/558 -f 521/588/558 380/401/387 381/403/388 -f 376/395/383 522/589/559 382/405/389 -f 382/405/389 354/365/361 376/395/383 -f 522/589/559 372/391/379 381/403/388 -f 381/403/388 382/405/389 522/589/559 -f 376/395/383 375/394/382 523/590/560 -f 523/590/560 371/390/378 376/395/383 -f 523/590/560 375/394/382 377/396/384 -f 377/396/384 524/591/561 523/590/560 -f 524/592/561 377/397/384 378/398/385 -f 378/398/385 363/382/370 524/592/561 -f 520/587/557 360/379/367 363/382/370 -f 363/382/370 378/398/385 520/587/557 -f 521/588/558 364/383/371 360/379/367 -f 360/379/367 520/587/557 521/588/558 -f 367/386/374 364/383/371 521/588/558 -f 521/588/558 372/391/379 367/386/374 -f 371/390/378 370/389/377 522/589/559 -f 522/589/559 376/395/383 371/390/378 -f 372/391/379 522/589/559 370/389/377 -f 371/390/378 523/590/560 525/593/562 -f 525/593/562 368/387/375 371/390/378 -f 525/593/562 523/590/560 524/591/561 -f 524/591/561 374/594/381 525/593/562 -f 374/393/381 524/592/561 363/382/370 -f 363/382/370 362/381/369 374/393/381 -f 361/380/368 334/335/341 333/334/340 -f 333/334/340 362/381/369 361/380/368 -f 337/338/344 334/335/341 361/380/368 -f 361/380/368 365/384/372 337/338/344 -f 349/359/356 337/338/344 365/384/372 -f 365/384/372 366/385/373 349/359/356 -f 350/360/357 349/359/356 366/385/373 -f 366/385/373 369/388/376 350/360/357 -f 368/387/375 351/360/358 350/360/357 -f 350/360/357 369/388/376 368/387/375 -f 351/360/358 368/387/375 352/361/359 -f 373/392/380 352/361/359 368/387/375 -f 368/387/375 525/593/562 373/392/380 -f 525/593/562 374/594/381 332/333/339 -f 332/333/339 373/392/380 525/593/562 -f 304/288/311 312/296/319 322/309/329 -f 322/309/329 321/307/328 304/288/311 -f 154/162/153 222/595/225 156/164/155 -f 169/177/168 285/265/292 152/160/151 -f 156/164/155 169/177/168 152/160/151 -f 154/162/153 156/164/155 152/160/151 -f 157/165/156 156/164/155 222/595/225 -f 222/595/225 220/237/222 157/165/156 -f 152/512/151 285/476/292 443/479/453 -f 108/113/108 110/115/110 526/596/91 -f 526/596/91 109/114/109 108/113/108 -f 1/1/1 527/4/563 528/3/564 -f 528/3/564 2/2/2 1/1/1 -f 529/5/565 530/8/566 7/7/7 -f 7/7/7 6/6/6 529/5/565 -f 9/9/9 12/12/12 531/11/567 -f 531/11/567 532/10/568 9/9/9 -f 533/13/569 534/14/570 528/3/564 -f 528/3/564 527/4/563 533/13/569 -f 535/15/571 536/16/572 534/14/570 -f 534/14/570 533/13/569 535/15/571 -f 537/17/573 538/20/574 539/19/575 -f 539/19/575 540/18/576 537/17/573 -f 2/2/2 528/3/564 541/22/577 -f 541/22/577 21/21/21 2/2/2 -f 542/23/578 536/16/572 535/15/571 -f 535/15/571 543/24/579 542/23/578 -f 544/25/580 545/26/581 542/23/578 -f 542/23/578 543/24/579 544/25/580 -f 546/27/582 540/18/576 539/19/575 -f 539/19/575 547/28/583 546/27/582 -f 548/29/584 549/31/585 550/30/586 -f 550/30/586 541/22/577 548/29/584 -f 551/32/587 552/35/588 553/34/589 -f 553/34/589 554/33/590 551/32/587 -f 552/35/588 551/32/587 555/37/591 -f 555/37/591 556/36/592 552/35/588 -f 556/36/592 555/37/591 557/39/593 -f 557/39/593 558/38/594 556/36/592 -f 559/40/595 558/38/594 557/39/593 -f 557/39/593 560/41/596 559/40/595 -f 561/42/597 559/40/595 560/41/596 -f 560/41/596 562/43/598 561/42/597 -f 561/42/597 562/43/598 563/44/599 -f 564/47/600 565/46/601 566/45/602 -f 566/45/602 567/48/603 564/47/600 -f 554/33/590 553/34/589 568/49/604 -f 568/49/604 565/46/601 554/33/590 -f 569/50/605 570/53/606 571/52/607 -f 571/52/607 572/51/608 569/50/605 -f 573/54/609 571/58/607 570/57/606 -f 574/56/610 575/55/611 573/54/609 -f 573/54/609 570/57/606 574/56/610 -f 576/59/612 575/55/611 574/56/610 -f 574/56/610 577/60/613 576/59/612 -f 578/61/614 579/64/615 580/63/616 -f 580/63/616 581/62/617 578/61/614 -f 582/65/618 579/64/615 578/61/614 -f 578/61/614 583/66/619 582/65/618 -f 584/67/620 585/68/621 582/65/618 -f 582/65/618 583/66/619 584/67/620 -f 586/69/622 587/72/623 588/71/624 -f 588/71/624 589/70/625 586/69/622 -f 590/73/626 591/74/627 569/50/605 -f 569/50/605 572/51/608 590/73/626 -f 592/75/628 575/78/611 576/77/612 -f 576/77/612 593/76/629 592/75/628 -f 594/79/630 593/76/629 576/77/612 -f 576/77/612 577/80/613 594/79/630 -f 595/81/631 579/64/615 582/65/618 -f 585/68/621 596/82/632 595/81/631 -f 595/81/631 582/65/618 585/68/621 -f 587/72/623 592/75/628 593/76/629 -f 593/76/629 588/71/624 587/72/623 -f 597/83/633 542/23/578 545/26/581 -f 545/26/581 598/84/634 597/83/633 -f 599/85/635 597/83/633 598/84/634 -f 598/84/634 600/86/636 599/85/635 -f 601/87/637 531/11/567 12/12/12 -f 12/12/12 83/88/83 601/87/637 -f 541/22/577 528/3/564 534/14/570 -f 534/14/570 548/29/584 541/22/577 -f 602/89/638 535/15/571 533/13/569 -f 533/13/569 603/90/639 602/89/638 -f 603/90/639 533/13/569 527/4/563 -f 527/4/563 604/91/640 603/90/639 -f 604/91/640 527/4/563 1/1/1 -f 1/1/1 87/92/87 604/91/640 -f 88/93/88 9/9/9 532/10/568 -f 532/10/568 605/94/641 88/93/88 -f 601/87/637 83/88/83 90/95/90 -f 90/95/90 547/28/583 601/87/637 -f 529/5/565 6/6/6 91/96/91 -f 91/96/91 606/97/642 529/5/565 -f 607/98/643 96/101/96 95/100/95 -f 95/100/95 608/99/644 607/98/643 -f 609/102/645 99/104/99 98/103/98 -f 98/103/98 608/99/644 609/102/645 -f 98/103/98 100/105/100 607/98/643 -f 607/98/643 608/99/644 98/103/98 -f 101/106/101 104/109/104 610/108/643 -f 610/108/643 611/107/646 101/106/101 -f 610/108/643 106/111/106 105/110/105 -f 105/110/105 611/107/646 610/108/643 -f 607/98/643 611/107/646 105/110/105 -f 105/110/105 96/101/96 607/98/643 -f 608/99/644 95/100/95 107/112/107 -f 107/112/107 609/102/645 608/99/644 -f 107/112/107 109/114/109 612/113/647 -f 612/113/647 609/102/645 107/112/107 -f 99/104/99 609/102/645 612/113/647 -f 612/113/647 110/115/110 99/104/99 -f 101/106/101 611/107/646 607/98/643 -f 607/98/643 100/105/100 101/106/101 -f 104/109/104 88/117/88 613/116/648 -f 613/116/648 610/108/643 104/109/104 -f 610/108/643 613/116/648 91/118/91 -f 91/118/91 106/111/106 610/108/643 -f 112/119/112 614/122/649 615/121/650 -f 615/121/650 113/120/113 112/119/112 -f 616/123/651 550/30/586 549/31/585 -f 549/31/585 617/124/652 616/123/651 -f 118/125/118 119/126/119 550/30/586 -f 550/30/586 616/123/651 118/125/118 -f 618/127/653 619/128/654 617/124/652 -f 617/124/652 549/31/585 618/127/653 -f 91/96/91 613/129/648 606/97/642 -f 605/94/641 613/129/648 88/93/88 -f 606/97/642 613/129/648 605/94/641 -f 605/94/641 529/5/565 606/97/642 -f 21/21/21 541/22/577 550/30/586 -f 550/30/586 119/126/119 21/21/21 -f 616/123/651 620/131/655 122/130/122 -f 122/130/122 118/125/118 616/123/651 -f 614/122/649 112/119/112 125/133/125 -f 125/133/125 621/132/656 614/122/649 -f 622/134/657 623/137/658 624/136/659 -f 624/136/659 625/135/660 622/134/657 -f 618/127/653 624/136/659 623/137/658 -f 623/137/658 619/128/654 618/127/653 -f 616/123/651 617/124/652 626/138/661 -f 626/138/661 620/131/655 616/123/651 -f 619/128/654 627/140/662 628/139/663 -f 628/139/663 617/124/652 619/128/654 -f 628/139/663 626/138/661 617/124/652 -f 619/128/654 623/137/658 627/140/662 -f 627/140/662 623/137/658 622/134/657 -f 622/134/657 629/141/664 627/140/662 -f 134/142/125 630/143/665 621/132/656 -f 621/132/656 125/133/125 134/142/125 -f 631/144/666 632/147/667 633/146/668 -f 633/146/668 634/145/669 631/144/666 -f 635/148/670 636/149/363 631/144/666 -f 631/144/666 634/145/669 635/148/670 -f 637/150/671 638/152/672 639/151/673 -f 640/153/674 638/152/672 637/150/671 -f 637/150/671 641/154/675 640/153/674 -f 638/152/672 640/153/674 642/155/676 -f 643/156/677 644/159/678 645/158/679 -f 645/158/679 646/157/680 643/156/677 -f 647/160/681 648/162/682 649/161/683 -f 650/163/684 651/166/685 652/165/686 -f 652/165/686 653/164/516 650/163/684 -f 641/154/675 654/168/687 655/167/688 -f 655/167/688 640/153/674 641/154/675 -f 656/169/689 657/170/690 640/153/674 -f 640/153/674 655/167/688 656/169/689 -f 658/171/691 643/156/677 646/157/680 -f 646/157/680 659/172/692 658/171/691 -f 660/173/693 661/175/694 662/174/695 -f 662/174/695 658/171/691 660/173/693 -f 650/163/684 653/164/516 663/177/696 -f 663/177/696 664/176/697 650/163/684 -f 665/178/271 666/180/698 667/179/699 -f 668/183/700 667/182/701 666/181/702 -f 666/181/702 669/184/703 668/183/700 -f 668/183/700 669/184/703 670/185/704 -f 671/186/705 672/188/706 673/187/707 -f 674/189/708 673/187/707 672/188/706 -f 675/191/709 676/190/710 674/189/708 -f 674/189/708 672/188/706 675/191/709 -f 675/191/709 666/180/698 665/178/271 -f 665/178/271 676/190/710 675/191/709 -f 667/179/699 677/192/711 651/166/685 -f 651/166/685 665/178/271 667/179/699 -f 651/166/685 650/163/684 665/178/271 -f 668/183/700 655/167/688 654/168/687 -f 654/168/687 667/182/701 668/183/700 -f 655/167/688 668/183/700 670/185/704 -f 670/185/704 678/193/712 655/167/688 -f 660/173/693 679/194/713 671/186/705 -f 673/187/707 661/175/694 660/173/693 -f 660/173/693 671/186/705 673/187/707 -f 673/187/707 674/189/708 661/175/694 -f 665/178/271 650/163/684 664/176/697 -f 664/176/697 676/190/710 665/178/271 -f 639/151/673 680/195/714 641/154/675 -f 641/154/675 637/150/671 639/151/673 -f 654/168/687 641/154/675 680/195/714 -f 680/195/714 677/196/715 654/168/687 -f 654/168/687 677/196/715 667/182/701 -f 615/121/650 681/197/716 599/85/635 -f 599/85/635 600/86/636 615/121/650 -f 540/18/576 682/198/717 602/89/638 -f 602/89/638 537/17/573 540/18/576 -f 546/27/582 683/199/718 682/198/717 -f 682/198/717 540/18/576 546/27/582 -f 189/200/191 190/201/192 545/26/581 -f 545/26/581 544/25/580 189/200/191 -f 547/28/583 90/95/90 191/202/193 -f 191/202/193 546/27/582 547/28/583 -f 190/201/192 192/203/194 598/84/634 -f 598/84/634 545/26/581 190/201/192 -f 192/203/194 193/204/195 600/86/636 -f 600/86/636 598/84/634 192/203/194 -f 539/19/575 684/205/719 601/87/637 -f 601/87/637 547/28/583 539/19/575 -f 614/122/649 625/135/660 681/197/716 -f 681/197/716 615/121/650 614/122/649 -f 621/132/656 622/134/657 625/135/660 -f 625/135/660 614/122/649 621/132/656 -f 113/120/113 615/121/650 600/86/636 -f 600/86/636 193/204/195 113/120/113 -f 195/206/197 189/200/191 544/25/580 -f 544/25/580 683/199/718 195/206/197 -f 629/141/664 622/134/657 621/132/656 -f 621/132/656 630/143/665 629/141/664 -f 537/17/573 685/207/720 538/20/574 -f 685/207/720 686/208/721 530/8/566 -f 7/7/7 530/8/566 686/208/721 -f 686/208/721 198/209/1 7/7/7 -f 687/210/722 688/212/723 689/211/724 -f 689/211/724 690/211/725 687/210/722 -f 688/212/723 687/210/722 691/213/726 -f 691/213/726 692/213/727 688/212/723 -f 693/214/728 694/217/729 695/216/730 -f 695/216/730 696/215/731 693/214/728 -f 633/146/668 632/147/667 697/219/732 -f 697/219/732 698/218/733 633/146/668 -f 690/211/725 689/211/724 699/221/734 -f 699/221/734 700/220/735 690/211/725 -f 692/213/727 691/213/726 636/149/363 -f 636/149/363 635/148/670 692/213/727 -f 588/71/624 596/82/632 701/222/736 -f 701/222/736 589/70/625 588/71/624 -f 591/74/627 590/73/626 702/224/737 -f 702/224/737 703/223/738 591/74/627 -f 704/225/739 572/51/608 571/52/607 -f 571/52/607 573/226/609 704/225/739 -f 580/63/616 579/64/615 595/81/631 -f 595/81/631 705/227/740 580/63/616 -f 596/82/632 588/71/624 593/76/629 -f 593/76/629 594/79/630 596/82/632 -f 704/225/739 702/224/737 590/73/626 -f 590/73/626 572/51/608 704/225/739 -f 553/34/589 552/35/588 570/53/606 -f 570/53/606 569/50/605 553/34/589 -f 574/56/610 570/57/606 552/230/588 -f 556/229/592 558/228/594 574/56/610 -f 574/56/610 552/230/588 556/229/592 -f 558/228/594 581/231/617 574/56/610 -f 581/62/617 558/38/594 559/40/595 -f 559/40/595 578/61/614 581/62/617 -f 559/40/595 561/42/597 583/66/619 -f 583/66/619 578/61/614 559/40/595 -f 583/66/619 561/42/597 563/44/599 -f 563/44/599 584/67/620 583/66/619 -f 586/69/622 589/70/625 567/48/603 -f 566/45/602 703/223/738 586/69/622 -f 586/69/622 567/48/603 566/45/602 -f 553/34/589 569/50/605 591/74/627 -f 591/74/627 568/49/604 553/34/589 -f 567/48/603 589/70/625 701/222/736 -f 701/222/736 584/67/620 563/44/599 -f 563/44/599 567/48/603 701/222/736 -f 566/45/602 568/49/604 591/74/627 -f 591/74/627 703/223/738 566/45/602 -f 701/222/736 596/82/632 585/68/621 -f 585/68/621 584/67/620 701/222/736 -f 702/224/737 587/72/623 586/69/622 -f 586/69/622 703/223/738 702/224/737 -f 704/225/739 573/226/609 575/78/611 -f 575/78/611 592/75/628 704/225/739 -f 705/227/740 595/81/631 594/79/630 -f 594/79/630 577/80/613 705/227/740 -f 596/82/632 594/79/630 595/81/631 -f 702/224/737 704/225/739 592/75/628 -f 592/75/628 587/72/623 702/224/737 -f 574/56/610 581/231/617 705/232/740 -f 705/232/740 577/60/613 574/56/610 -f 581/231/617 580/233/616 705/232/740 -f 566/45/602 565/46/601 568/49/604 -f 563/44/599 562/43/598 564/47/600 -f 564/47/600 567/48/603 563/44/599 -f 640/153/674 657/170/690 706/235/741 -f 706/235/741 642/155/676 640/153/674 -f 706/235/741 707/234/742 642/155/676 -f 680/236/743 639/238/744 708/237/745 -f 708/237/745 652/165/686 680/236/743 -f 677/192/711 680/236/743 652/165/686 -f 652/165/686 651/166/685 677/192/711 -f 649/239/683 648/239/682 709/241/746 -f 709/241/746 710/240/747 649/239/683 -f 711/32/748 712/243/749 713/242/750 -f 713/242/750 714/33/751 711/32/748 -f 712/243/749 711/32/748 715/37/752 -f 715/37/752 716/36/753 712/243/749 -f 715/37/752 717/39/754 718/38/755 -f 718/38/755 716/36/753 715/37/752 -f 719/40/756 718/38/755 717/39/754 -f 717/39/754 720/41/757 719/40/756 -f 720/41/757 721/244/758 722/244/759 -f 722/244/759 719/40/756 720/41/757 -f 721/244/758 723/47/760 724/245/761 -f 724/245/761 722/244/759 721/244/758 -f 725/47/762 723/47/760 726/246/763 -f 714/33/751 713/242/750 727/49/764 -f 727/49/764 728/46/765 714/33/751 -f 729/50/766 730/53/767 731/52/768 -f 731/52/768 732/51/769 729/50/766 -f 733/54/770 731/58/768 730/57/767 -f 734/56/610 735/55/771 733/54/770 -f 733/54/770 730/57/767 734/56/610 -f 736/59/612 735/55/771 734/56/610 -f 734/56/610 737/60/772 736/59/612 -f 738/64/773 739/63/774 740/62/775 -f 740/62/775 741/61/776 738/64/773 -f 742/65/777 738/64/773 741/61/776 -f 741/61/776 743/66/778 742/65/777 -f 742/65/777 743/66/778 744/67/779 -f 744/67/779 745/68/780 742/65/777 -f 746/70/781 747/69/782 748/72/783 -f 748/72/783 749/71/784 746/70/781 -f 750/73/785 751/74/786 729/50/766 -f 729/50/766 732/51/769 750/73/785 -f 752/75/787 735/78/771 736/77/612 -f 736/77/612 753/76/788 752/75/787 -f 754/79/789 753/76/788 736/77/612 -f 736/77/612 737/80/772 754/79/789 -f 755/81/790 738/64/773 742/65/777 -f 745/68/780 756/82/791 755/81/790 -f 755/81/790 742/65/777 745/68/780 -f 748/72/783 752/75/787 753/76/788 -f 753/76/788 749/71/784 748/72/783 -f 746/70/781 749/71/784 756/82/791 -f 756/82/791 757/222/792 746/70/781 -f 758/223/793 751/74/786 750/73/785 -f 750/73/785 759/247/169 758/223/793 -f 760/225/794 732/51/769 731/52/768 -f 731/52/768 733/226/770 760/225/794 -f 739/63/774 738/64/773 755/81/790 -f 755/81/790 761/227/795 739/63/774 -f 756/82/791 749/71/784 753/76/788 -f 753/76/788 754/79/789 756/82/791 -f 750/73/785 732/51/769 760/225/794 -f 760/225/794 759/247/169 750/73/785 -f 712/243/749 730/53/767 729/50/766 -f 729/50/766 713/242/750 712/243/749 -f 734/56/610 730/57/767 712/249/749 -f 716/248/753 718/228/755 734/56/610 -f 734/56/610 712/249/749 716/248/753 -f 718/228/755 740/250/775 734/56/610 -f 718/38/755 719/40/756 741/61/776 -f 741/61/776 740/62/775 718/38/755 -f 719/40/756 722/244/759 743/66/778 -f 743/66/778 741/61/776 719/40/756 -f 743/66/778 722/244/759 724/245/761 -f 724/245/761 744/67/779 743/66/778 -f 746/70/781 757/222/792 725/47/762 -f 725/47/762 747/69/782 746/70/781 -f 726/246/763 758/223/793 747/69/782 -f 747/69/782 725/47/762 726/246/763 -f 713/242/750 729/50/766 751/74/786 -f 751/74/786 727/49/764 713/242/750 -f 757/222/792 744/67/779 724/245/761 -f 724/245/761 725/47/762 757/222/792 -f 726/246/763 727/49/764 751/74/786 -f 751/74/786 758/223/793 726/246/763 -f 757/222/792 756/82/791 745/68/780 -f 745/68/780 744/67/779 757/222/792 -f 758/223/793 759/247/169 748/72/783 -f 748/72/783 747/69/782 758/223/793 -f 760/225/794 733/226/770 735/78/771 -f 735/78/771 752/75/787 760/225/794 -f 761/227/795 755/81/790 754/79/789 -f 754/79/789 737/80/772 761/227/795 -f 756/82/791 754/79/789 755/81/790 -f 759/247/169 760/225/794 752/75/787 -f 752/75/787 748/72/783 759/247/169 -f 734/56/610 740/250/775 761/232/795 -f 761/232/795 737/60/772 734/56/610 -f 740/250/775 739/233/774 761/232/795 -f 726/246/763 723/47/760 728/46/765 -f 728/46/765 727/49/764 726/246/763 -f 724/245/761 723/47/760 725/47/762 -f 655/167/688 678/193/712 656/169/689 -f 679/194/713 660/173/693 762/251/796 -f 762/251/796 660/173/693 658/171/691 -f 658/171/691 659/172/692 762/251/796 -f 672/252/706 669/184/797 666/181/698 -f 666/181/698 675/181/709 672/252/706 -f 646/253/680 645/254/679 707/234/798 -f 707/234/798 706/235/799 646/253/680 -f 659/255/692 646/253/680 706/235/799 -f 706/235/799 657/170/800 659/255/692 -f 672/252/706 671/256/705 670/185/801 -f 670/185/801 669/184/797 672/252/706 -f 679/193/713 762/169/796 656/169/802 -f 656/169/802 678/193/803 679/193/713 -f 671/256/705 679/193/713 678/193/803 -f 678/193/803 670/185/801 671/256/705 -f 762/169/796 659/255/692 657/170/800 -f 657/170/800 656/169/802 762/169/796 -f 763/257/804 277/259/284 764/258/805 -f 765/261/806 766/260/807 277/259/284 -f 277/259/284 280/262/287 765/261/806 -f 764/258/805 277/259/284 766/260/807 -f 767/263/808 281/263/288 277/259/284 -f 277/259/284 768/257/809 767/263/808 -f 768/257/809 277/259/284 763/257/804 -f 644/159/678 643/156/677 769/264/810 -f 658/171/691 662/174/695 769/264/810 -f 769/264/810 643/156/677 658/171/691 -f 663/177/696 770/265/811 769/264/810 -f 769/264/810 662/174/695 663/177/696 -f 661/175/694 664/176/697 663/177/696 -f 663/177/696 662/174/695 661/175/694 -f 664/176/697 661/175/694 674/189/708 -f 674/189/708 676/190/710 664/176/697 -f 771/266/812 772/269/813 773/268/814 -f 773/268/814 774/267/815 771/266/812 -f 774/267/815 538/272/574 685/271/720 -f 685/271/720 775/270/816 774/267/815 -f 776/273/817 777/275/818 778/274/819 -f 778/274/819 771/266/812 776/273/817 -f 779/276/820 778/274/819 777/275/818 -f 777/275/818 780/277/821 779/276/820 -f 781/278/822 782/281/823 783/280/824 -f 783/280/824 784/279/825 781/278/822 -f 778/274/819 779/276/820 785/283/826 -f 785/283/826 786/282/827 778/274/819 -f 777/275/818 776/273/817 787/285/828 -f 787/285/828 788/284/829 777/275/818 -f 787/285/828 530/287/566 529/286/565 -f 529/286/565 788/284/829 787/285/828 -f 771/266/812 778/274/819 786/282/827 -f 786/282/827 772/269/813 771/266/812 -f 789/288/830 782/281/823 790/290/831 -f 790/290/831 791/289/832 789/288/830 -f 782/281/823 792/292/833 793/291/834 -f 793/291/834 790/290/831 782/281/823 -f 794/293/835 795/294/836 791/289/832 -f 791/289/832 790/290/831 794/293/835 -f 794/293/835 790/290/831 793/291/834 -f 793/291/834 796/295/837 794/293/835 -f 685/271/720 530/287/566 787/285/828 -f 787/285/828 775/270/816 685/271/720 -f 789/288/830 797/296/838 783/280/824 -f 783/280/824 782/281/823 789/288/830 -f 798/297/839 799/300/840 800/299/841 -f 800/299/841 801/298/842 798/297/839 -f 801/298/842 800/299/841 793/291/834 -f 793/291/834 792/292/833 801/298/842 -f 802/301/843 799/304/840 803/303/844 -f 803/303/844 804/302/845 802/301/843 -f 799/300/840 802/306/843 805/305/846 -f 805/305/846 800/299/841 799/300/840 -f 805/305/846 796/295/837 793/291/834 -f 793/291/834 800/299/841 805/305/846 -f 803/303/844 799/304/840 798/308/839 -f 798/308/839 806/307/847 803/303/844 -f 806/307/847 798/308/839 807/310/848 -f 807/310/848 808/309/849 806/307/847 -f 777/275/818 788/284/829 780/277/821 -f 809/311/850 798/297/839 801/298/842 -f 801/298/842 810/312/851 809/311/850 -f 798/308/839 809/313/850 807/310/848 -f 539/314/575 773/268/814 808/309/849 -f 808/309/849 807/310/848 539/314/575 -f 773/268/814 772/269/813 797/296/838 -f 797/296/838 808/309/849 773/268/814 -f 797/296/838 772/269/813 786/282/827 -f 786/282/827 783/280/824 797/296/838 -f 783/280/824 786/282/827 785/283/826 -f 785/283/826 784/279/825 783/280/824 -f 605/315/641 532/316/568 779/276/820 -f 779/276/820 780/277/821 605/315/641 -f 529/286/565 605/315/641 780/277/821 -f 780/277/821 788/284/829 529/286/565 -f 782/281/823 781/278/822 792/292/833 -f 781/278/822 801/298/842 792/292/833 -f 801/298/842 781/278/822 784/279/825 -f 784/279/825 810/312/851 801/298/842 -f 810/312/851 784/279/825 785/283/826 -f 785/283/826 531/317/567 810/312/851 -f 532/316/568 531/317/567 785/283/826 -f 785/283/826 779/276/820 532/316/568 -f 728/318/765 795/294/836 714/319/751 -f 794/293/835 711/320/748 714/319/751 -f 714/319/751 795/294/836 794/293/835 -f 796/295/837 715/321/752 711/320/748 -f 711/320/748 794/293/835 796/295/837 -f 804/302/845 723/324/760 721/323/758 -f 721/323/758 720/322/757 802/301/843 -f 802/301/843 804/302/845 721/323/758 -f 805/305/846 802/306/843 720/325/757 -f 717/326/754 715/321/752 796/295/837 -f 796/295/837 805/305/846 717/326/754 -f 773/268/814 539/314/575 538/272/574 -f 538/272/574 774/267/815 773/268/814 -f 811/327/852 812/330/853 813/329/854 -f 813/329/854 814/328/855 811/327/852 -f 814/328/855 813/329/854 815/332/856 -f 815/332/856 816/331/857 814/328/855 -f 817/333/858 816/331/857 815/332/856 -f 818/334/859 819/336/860 820/335/861 -f 821/337/862 822/338/863 820/335/861 -f 820/335/861 819/336/860 821/337/862 -f 813/329/854 812/330/853 823/340/864 -f 823/340/864 824/339/865 813/329/854 -f 815/332/856 813/329/854 824/339/865 -f 824/339/865 542/341/578 815/332/856 -f 597/342/633 817/333/858 815/332/856 -f 815/332/856 542/341/578 597/342/633 -f 825/343/866 818/334/859 817/345/858 -f 817/345/858 597/344/633 825/343/866 -f 826/346/867 819/336/860 818/334/859 -f 818/334/859 825/343/866 826/346/867 -f 827/347/868 821/337/862 819/336/860 -f 819/336/860 826/346/867 827/347/868 -f 828/348/869 821/337/862 827/347/868 -f 827/347/868 829/349/870 828/348/869 -f 536/352/572 830/351/871 831/350/872 -f 831/350/872 534/353/570 536/352/572 -f 832/354/873 618/356/653 549/355/585 -f 832/354/873 549/355/585 548/358/584 -f 548/358/584 833/357/874 832/354/873 -f 834/359/875 822/338/863 821/337/862 -f 821/337/862 828/348/869 834/359/875 -f 835/360/876 811/327/852 814/328/855 -f 814/328/855 836/361/877 835/360/876 -f 835/360/876 837/360/878 811/327/852 -f 555/362/591 838/365/879 839/364/880 -f 839/364/880 557/363/593 555/362/591 -f 839/364/880 840/367/102 560/366/596 -f 560/366/596 557/363/593 839/364/880 -f 840/368/102 841/371/881 562/370/598 -f 562/370/598 560/369/596 840/368/102 -f 834/359/875 828/348/869 811/327/852 -f 811/327/852 837/360/878 834/359/875 -f 811/327/852 828/348/869 812/330/853 -f 830/351/871 823/340/864 829/349/870 -f 829/349/870 842/372/882 830/351/871 -f 534/353/570 831/350/872 833/357/874 -f 833/357/874 548/358/584 534/353/570 -f 624/373/659 618/356/653 843/374/883 -f 843/374/883 681/376/716 625/375/660 -f 625/375/660 624/373/659 843/374/883 -f 618/356/653 832/354/873 844/377/884 -f 844/377/884 843/374/883 618/356/653 -f 842/372/882 844/377/884 832/354/873 -f 832/354/873 833/357/874 842/372/882 -f 842/372/882 833/357/874 831/350/872 -f 831/350/872 830/351/871 842/372/882 -f 823/340/864 830/351/871 536/352/572 -f 536/352/572 824/339/865 823/340/864 -f 542/341/578 824/339/865 536/352/572 -f 825/343/866 597/344/633 599/378/635 -f 681/376/716 843/374/883 826/346/867 -f 826/346/867 825/343/866 681/376/716 -f 843/374/883 844/377/884 827/347/868 -f 827/347/868 826/346/867 843/374/883 -f 844/377/884 842/372/882 829/349/870 -f 829/349/870 827/347/868 844/377/884 -f 812/330/853 828/348/869 829/349/870 -f 829/349/870 823/340/864 812/330/853 -f 825/343/866 599/378/635 681/376/716 -f 845/379/220 846/382/885 847/381/886 -f 847/381/886 848/380/887 845/379/220 -f 849/383/888 845/379/220 848/380/887 -f 848/380/887 850/384/889 849/383/888 -f 851/385/890 852/386/891 849/383/888 -f 849/383/888 850/384/889 851/385/890 -f 853/387/892 854/390/893 855/389/894 -f 855/389/894 856/388/895 853/387/892 -f 852/386/891 851/385/890 856/388/895 -f 855/389/894 857/391/896 852/386/891 -f 852/386/891 856/388/895 855/389/894 -f 836/361/877 814/328/855 816/331/857 -f 816/331/857 858/392/897 836/361/877 -f 817/333/858 858/392/897 816/331/857 -f 817/345/858 818/334/859 847/381/886 -f 847/381/886 859/393/898 817/345/858 -f 838/365/879 860/395/899 861/394/900 -f 861/394/900 839/364/880 838/365/879 -f 861/394/900 862/396/901 840/367/102 -f 840/367/102 839/364/880 861/394/900 -f 862/397/901 863/398/902 841/371/881 -f 841/371/881 840/368/102 862/397/901 -f 564/399/600 562/370/598 841/371/881 -f 841/371/881 864/400/903 564/399/600 -f 865/401/904 565/402/601 564/399/600 -f 564/399/600 864/400/903 865/401/904 -f 866/403/905 554/404/590 565/402/601 -f 565/402/601 865/401/904 866/403/905 -f 838/365/879 555/362/591 551/406/587 -f 551/406/587 867/405/906 838/365/879 -f 867/405/906 551/406/587 554/404/590 -f 554/404/590 866/403/905 867/405/906 -f 868/407/907 869/410/908 385/409/392 -f 385/409/392 384/408/391 868/407/907 -f 868/407/907 870/413/909 871/412/910 -f 871/412/910 629/411/664 869/410/908 -f 869/410/908 868/407/907 871/412/910 -f 870/413/909 872/416/911 873/415/912 -f 873/415/912 874/414/913 870/413/909 -f 874/414/913 871/412/910 870/413/909 -f 620/417/655 875/420/914 392/419/399 -f 392/419/399 122/418/122 620/417/655 -f 134/421/125 385/409/392 869/410/908 -f 869/410/908 630/422/665 134/421/125 -f 628/423/663 876/426/915 877/425/916 -f 877/425/916 626/424/661 628/423/663 -f 629/411/664 871/412/910 874/414/913 -f 874/414/913 627/427/662 629/411/664 -f 877/425/916 875/420/914 620/417/655 -f 620/417/655 626/424/661 877/425/916 -f 627/427/662 874/414/913 876/426/915 -f 876/426/915 628/423/663 627/427/662 -f 878/428/917 879/429/914 875/420/914 -f 875/420/914 877/425/916 878/428/917 -f 392/419/399 875/420/914 879/429/914 -f 879/429/914 398/430/405 392/419/399 -f 880/431/918 881/434/919 401/433/408 -f 401/433/408 400/432/407 880/431/918 -f 882/438/920 883/437/921 405/437/412 -f 405/437/412 404/436/411 884/435/922 -f 884/435/922 882/438/920 405/437/412 -f 885/439/923 886/442/924 887/441/703 -f 887/441/703 888/440/925 885/439/923 -f 886/442/924 889/444/926 890/443/927 -f 890/443/927 887/441/703 886/442/924 -f 884/435/922 881/434/919 891/445/928 -f 891/445/928 882/438/920 884/435/922 -f 892/446/929 764/449/930 893/448/931 -f 893/448/931 894/447/932 892/446/929 -f 710/240/747 419/451/426 418/450/425 -f 418/450/425 649/239/683 710/240/747 -f 870/413/909 895/452/933 872/416/911 -f 896/453/934 897/456/812 898/455/935 -f 898/455/935 899/454/936 896/453/934 -f 425/457/431 900/460/937 901/459/938 -f 901/459/938 426/458/432 425/457/431 -f 429/461/435 281/463/438 767/461/939 -f 767/461/939 902/462/940 429/461/435 -f 894/447/932 893/448/931 903/465/941 -f 903/465/941 904/464/942 894/447/932 -f 905/466/943 906/467/944 901/459/938 -f 901/459/938 900/460/937 905/466/943 -f 907/468/945 436/469/444 419/451/426 -f 419/451/426 710/240/747 907/468/945 -f 908/472/946 909/471/947 910/470/948 -f 910/470/948 911/473/949 908/472/946 -f 886/442/924 893/448/931 764/449/930 -f 764/449/930 889/444/926 886/442/924 -f 903/465/941 893/448/931 886/442/924 -f 886/442/924 885/439/923 903/465/941 -f 889/444/926 766/475/950 765/474/951 -f 765/474/951 890/443/927 889/444/926 -f 770/476/811 443/479/453 442/478/452 -f 442/478/452 912/477/952 770/476/811 -f 913/480/953 914/483/954 915/482/955 -f 915/482/955 916/481/956 913/480/953 -f 917/484/957 895/452/933 918/486/958 -f 918/486/958 919/485/959 917/484/957 -f 870/413/909 868/407/907 920/487/960 -f 920/487/960 895/452/933 870/413/909 -f 914/483/954 764/449/930 892/446/929 -f 892/446/929 915/482/955 914/483/954 -f 918/486/958 895/452/933 920/487/960 -f 920/487/960 921/488/961 918/486/958 -f 453/489/463 401/433/408 881/434/919 -f 881/434/919 884/435/922 453/489/463 -f 911/473/949 922/492/962 923/491/963 -f 923/491/963 924/490/964 911/473/949 -f 925/493/965 926/494/966 924/490/964 -f 924/490/964 923/491/963 925/493/965 -f 927/495/967 923/491/963 922/492/962 -f 922/492/962 928/496/968 927/495/967 -f 924/490/964 926/494/966 929/498/969 -f 929/498/969 930/497/970 924/490/964 -f 931/499/971 932/502/972 933/501/973 -f 933/501/973 934/500/974 931/499/971 -f 935/503/975 913/480/953 469/505/479 -f 469/505/479 468/504/478 935/503/975 -f 916/481/956 470/506/480 469/505/479 -f 469/505/479 913/480/953 916/481/956 -f 916/481/956 921/488/961 471/507/481 -f 471/507/481 470/506/480 916/481/956 -f 868/407/907 384/408/391 472/508/482 -f 472/508/482 920/487/960 868/407/907 -f 936/509/976 899/454/936 917/484/957 -f 917/484/957 919/485/959 936/509/976 -f 443/479/453 647/512/681 649/511/683 -f 649/511/683 418/510/425 443/479/453 -f 710/240/747 937/513/977 925/493/965 -f 925/493/965 907/468/945 710/240/747 -f 638/514/978 642/515/979 932/502/972 -f 932/502/972 931/499/971 638/514/978 -f 907/468/945 925/493/965 923/491/963 -f 923/491/963 927/495/967 907/468/945 -f 436/469/444 907/468/945 927/495/967 -f 927/495/967 475/516/487 436/469/444 -f 938/517/980 891/445/928 881/434/919 -f 881/434/919 880/431/918 938/517/980 -f 924/490/964 908/472/946 911/473/949 -f 939/518/981 940/519/982 941/519/983 -f 941/519/983 930/497/970 939/518/981 -f 927/495/967 928/496/968 480/520/435 -f 480/520/435 475/516/487 927/495/967 -f 942/521/984 943/523/985 882/438/920 -f 882/438/920 944/522/986 942/521/984 -f 944/522/986 891/445/928 938/517/980 -f 938/517/980 635/524/987 944/522/986 -f 911/473/949 910/470/948 945/525/988 -f 945/525/988 922/492/962 911/473/949 -f 922/492/962 945/525/988 905/466/943 -f 905/466/943 900/460/937 928/496/968 -f 928/496/968 922/492/962 905/466/943 -f 696/519/989 946/519/990 941/519/983 -f 941/519/983 940/519/982 696/519/989 -f 910/470/948 699/527/991 689/526/992 -f 689/526/992 945/525/988 910/470/948 -f 947/528/993 942/521/984 634/530/994 -f 634/530/994 633/529/995 947/528/993 -f 898/455/935 873/415/912 872/416/911 -f 872/416/911 899/454/936 898/455/935 -f 872/416/911 917/484/957 899/454/936 -f 948/531/996 488/532/505 398/430/405 -f 398/430/405 879/429/914 948/531/996 -f 949/533/997 645/535/679 644/534/678 -f 644/534/678 878/428/917 949/533/997 -f 878/428/917 644/534/678 948/531/996 -f 948/531/996 879/429/914 878/428/917 -f 629/411/664 630/422/665 869/410/908 -f 950/536/998 764/449/930 914/483/954 -f 914/483/954 951/537/999 950/536/998 -f 453/489/463 884/435/922 404/436/411 -f 888/440/925 952/538/1000 883/437/1001 -f 883/437/1001 882/438/920 888/440/925 -f 888/440/925 887/441/703 952/538/1000 -f 887/441/703 890/443/927 953/539/1002 -f 953/539/1002 952/538/1000 887/441/703 -f 280/540/1003 953/539/1002 890/443/927 -f 890/443/927 765/474/951 280/540/1003 -f 883/437/921 494/437/512 405/437/412 -f 495/539/1004 494/437/1005 883/437/1001 -f 883/437/1001 952/538/1000 495/539/1004 -f 953/539/1002 496/539/1006 495/539/1004 -f 495/539/1004 952/538/1000 953/539/1002 -f 767/461/939 768/475/155 954/541/1007 -f 954/541/1007 902/462/940 767/461/939 -f 906/467/944 905/466/943 688/543/1008 -f 688/543/1008 692/542/1009 906/467/944 -f 698/544/1010 955/545/1011 947/528/993 -f 947/528/993 633/529/995 698/544/1010 -f 635/524/987 938/517/980 906/467/944 -f 906/467/944 692/542/1009 635/524/987 -f 880/431/918 901/459/938 906/467/944 -f 906/467/944 938/517/980 880/431/918 -f 400/432/407 426/458/432 901/459/938 -f 901/459/938 880/431/918 400/432/407 -f 903/465/941 942/521/984 947/528/993 -f 947/528/993 904/464/942 903/465/941 -f 885/439/923 943/523/985 942/521/984 -f 942/521/984 903/465/941 885/439/923 -f 899/454/936 936/509/976 956/546/1012 -f 956/546/1012 896/453/934 899/454/936 -f 693/547/1013 696/519/989 940/519/982 -f 940/519/982 955/545/1011 693/547/1013 -f 896/453/934 955/545/1011 940/519/982 -f 940/519/982 939/518/981 896/453/934 -f 957/548/1014 958/549/1015 645/535/679 -f 645/535/679 949/533/997 957/548/1014 -f 959/551/1016 933/501/973 932/502/972 -f 932/502/972 642/515/979 707/550/798 -f 707/550/798 959/551/1016 932/502/972 -f 876/426/915 874/414/913 873/415/912 -f 873/415/912 957/548/1014 876/426/915 -f 949/533/997 877/425/916 876/426/915 -f 876/426/915 957/548/1014 949/533/997 -f 688/543/1008 905/466/943 945/525/988 -f 945/525/988 689/526/992 688/543/1008 -f 480/520/435 928/496/968 900/460/937 -f 900/460/937 425/457/431 480/520/435 -f 939/518/981 960/552/1017 897/456/812 -f 897/456/812 896/453/934 939/518/981 -f 939/518/981 930/497/970 929/498/969 -f 929/498/969 960/552/1017 939/518/981 -f 904/464/942 947/528/993 955/545/1011 -f 955/545/1011 956/546/1012 904/464/942 -f 904/464/942 956/546/1012 936/509/976 -f 936/509/976 894/447/932 904/464/942 -f 892/446/929 894/447/932 936/509/976 -f 936/509/976 919/485/959 892/446/929 -f 915/482/955 892/446/929 919/485/959 -f 919/485/959 918/486/958 915/482/955 -f 921/488/961 920/487/960 472/508/482 -f 472/508/482 471/507/481 921/488/961 -f 916/481/956 915/482/955 918/486/958 -f 918/486/958 921/488/961 916/481/956 -f 926/494/966 925/493/965 937/513/977 -f 937/513/977 934/500/974 926/494/966 -f 929/498/969 926/494/966 934/500/974 -f 934/500/974 933/501/973 929/498/969 -f 933/501/973 959/551/1016 960/552/1017 -f 960/552/1017 929/498/969 933/501/973 -f 897/456/812 960/552/1017 959/551/1016 -f 959/551/1016 958/549/1015 897/456/812 -f 958/549/1015 959/551/1016 707/550/798 -f 707/550/798 645/535/679 958/549/1015 -f 902/462/940 954/541/1007 961/554/1018 -f 961/554/1018 504/553/527 902/462/940 -f 504/553/527 429/461/435 902/462/940 -f 935/503/975 468/504/478 504/553/527 -f 504/553/527 961/554/1018 935/503/975 -f 954/541/1007 768/475/155 763/536/1019 -f 763/536/1019 950/536/998 954/541/1007 -f 951/537/999 961/554/1018 954/541/1007 -f 954/541/1007 950/536/998 951/537/999 -f 951/537/999 914/483/954 913/480/953 -f 913/480/953 935/503/975 951/537/999 -f 935/503/975 961/554/1018 951/537/999 -f 488/532/505 948/531/996 912/477/952 -f 912/477/952 442/478/452 488/532/505 -f 949/533/997 878/428/917 877/425/916 -f 763/536/1019 764/449/930 950/536/998 -f 766/475/950 889/444/926 764/449/930 -f 931/499/971 934/500/974 937/513/977 -f 937/513/977 639/555/744 931/499/971 -f 888/440/925 882/438/920 943/523/985 -f 635/524/987 634/530/994 942/521/984 -f 942/521/984 944/522/986 635/524/987 -f 693/547/1013 955/545/1011 698/544/1010 -f 872/416/911 895/452/933 917/484/957 -f 953/539/1002 280/540/1003 496/539/1006 -f 944/522/986 882/438/920 891/445/928 -f 885/439/923 888/440/925 943/523/985 -f 710/240/747 709/241/746 708/556/745 -f 708/556/745 937/513/977 710/240/747 -f 708/556/745 639/555/744 937/513/977 -f 639/555/744 638/514/978 931/499/971 -f 955/545/1011 896/453/934 956/546/1012 -f 898/455/935 897/456/812 958/549/1015 -f 958/549/1015 957/548/1014 898/455/935 -f 769/557/810 912/477/952 948/531/996 -f 770/476/811 912/477/952 769/557/810 -f 644/534/678 769/557/810 948/531/996 -f 898/455/935 957/548/1014 873/415/912 -f 909/471/947 699/527/991 910/470/948 -f 941/519/983 946/519/990 909/471/947 -f 909/471/947 908/472/946 941/519/983 -f 924/490/964 930/497/970 941/519/983 -f 941/519/983 908/472/946 924/490/964 -f 789/288/830 791/289/832 803/303/844 -f 803/303/844 806/307/847 789/288/830 -f 795/294/836 804/302/845 803/303/844 -f 803/303/844 791/289/832 795/294/836 -f 804/302/845 795/294/836 728/318/765 -f 728/318/765 723/324/760 804/302/845 -f 700/220/735 699/221/734 909/559/1020 -f 909/559/1020 962/558/1021 700/220/735 -f 698/218/733 697/219/732 694/217/729 -f 694/217/729 693/214/728 698/218/733 -f 695/216/730 963/561/1022 946/560/1023 -f 946/560/1023 696/215/731 695/216/730 -f 909/559/1020 946/560/1023 963/561/1022 -f 963/561/1022 962/559/1021 909/559/1020 -f 964/562/1024 691/565/1025 687/564/1026 -f 687/564/1026 965/563/1027 964/562/1024 -f 636/566/1028 691/565/1025 964/562/1024 -f 964/562/1024 966/567/1029 636/566/1028 -f 967/568/1030 631/569/1031 636/566/1028 -f 636/566/1028 966/567/1029 967/568/1030 -f 968/571/1032 632/571/1033 631/569/1031 -f 631/569/1031 967/568/1030 968/571/1032 -f 969/572/1034 697/573/1035 632/571/1033 -f 632/571/1033 968/571/1032 969/572/1034 -f 697/573/1035 969/572/1034 970/575/1036 -f 970/575/1036 694/574/1037 697/573/1035 -f 962/578/1038 963/577/1039 695/576/1040 -f 695/576/1040 971/580/1041 972/579/1042 -f 972/579/1042 962/578/1038 695/576/1040 -f 973/581/1043 700/581/1044 962/578/1038 -f 962/578/1038 972/579/1042 973/581/1043 -f 974/582/1045 690/583/1046 700/581/1044 -f 700/581/1044 973/581/1043 974/582/1045 -f 694/574/1037 970/575/1036 971/580/1041 -f 971/580/1041 695/576/1040 694/574/1037 -f 690/583/1046 974/582/1045 965/563/1027 -f 965/563/1027 687/564/1026 690/583/1046 -f 965/563/1027 974/582/1045 975/584/787 -f 975/584/787 964/562/1024 965/563/1027 -f 974/582/1045 973/581/1043 975/584/787 -f 972/579/1042 971/580/1041 975/584/787 -f 975/584/787 973/581/1043 972/579/1042 -f 971/580/1041 970/575/1036 975/584/787 -f 970/575/1036 969/572/1034 975/584/787 -f 969/572/1034 968/571/1032 975/584/787 -f 968/571/1032 967/568/1030 975/584/787 -f 966/567/1029 964/562/1024 975/584/787 -f 975/584/787 967/568/1030 966/567/1029 -f 531/11/567 601/87/637 684/205/719 -f 603/90/639 685/207/720 537/17/573 -f 537/17/573 602/89/638 603/90/639 -f 604/91/640 686/208/721 685/207/720 -f 685/207/720 603/90/639 604/91/640 -f 87/92/87 198/209/1 686/208/721 -f 686/208/721 604/91/640 87/92/87 -f 682/198/717 543/24/579 535/15/571 -f 535/15/571 602/89/638 682/198/717 -f 683/199/718 544/25/580 543/24/579 -f 543/24/579 682/198/717 683/199/718 -f 546/27/582 191/202/193 195/206/197 -f 195/206/197 683/199/718 546/27/582 -f 807/310/848 809/313/850 684/585/719 -f 684/585/719 539/314/575 807/310/848 -f 531/317/567 684/586/719 809/311/850 -f 809/311/850 810/312/851 531/317/567 -f 805/305/846 720/325/757 717/326/754 -f 775/270/816 776/273/817 771/266/812 -f 771/266/812 774/267/815 775/270/816 -f 775/270/816 787/285/828 776/273/817 -f 864/400/903 841/371/881 863/398/902 -f 863/398/902 976/587/1047 864/400/903 -f 865/401/904 864/400/903 976/587/1047 -f 976/587/1047 977/588/1048 865/401/904 -f 866/403/905 865/401/904 977/588/1048 -f 977/588/1048 857/391/896 866/403/905 -f 860/395/899 838/365/879 867/405/906 -f 867/405/906 978/589/1049 860/395/899 -f 978/589/1049 867/405/906 866/403/905 -f 866/403/905 857/391/896 978/589/1049 -f 860/395/899 854/390/893 979/590/1050 -f 979/590/1050 861/394/900 860/395/899 -f 979/590/1050 980/591/1051 862/396/901 -f 862/396/901 861/394/900 979/590/1050 -f 980/592/1051 846/382/885 863/398/902 -f 863/398/902 862/397/901 980/592/1051 -f 976/587/1047 863/398/902 846/382/885 -f 846/382/885 845/379/220 976/587/1047 -f 977/588/1048 976/587/1047 845/379/220 -f 845/379/220 849/383/888 977/588/1048 -f 852/386/891 857/391/896 977/588/1048 -f 977/588/1048 849/383/888 852/386/891 -f 854/390/893 860/395/899 978/589/1049 -f 978/589/1049 855/389/894 854/390/893 -f 855/389/894 978/589/1049 857/391/896 -f 854/390/893 853/387/892 981/593/1052 -f 981/593/1052 979/590/1050 854/390/893 -f 981/593/1052 859/594/898 980/591/1051 -f 980/591/1051 979/590/1050 981/593/1052 -f 859/393/898 847/381/886 846/382/885 -f 846/382/885 980/592/1051 859/393/898 -f 848/380/887 847/381/886 818/334/859 -f 818/334/859 820/335/861 848/380/887 -f 822/338/863 850/384/889 848/380/887 -f 848/380/887 820/335/861 822/338/863 -f 834/359/875 851/385/890 850/384/889 -f 850/384/889 822/338/863 834/359/875 -f 837/360/878 856/388/895 851/385/890 -f 851/385/890 834/359/875 837/360/878 -f 835/360/876 836/361/877 853/387/892 -f 837/360/878 835/360/876 853/387/892 -f 853/387/892 856/388/895 837/360/878 -f 858/392/897 981/593/1052 853/387/892 -f 853/387/892 836/361/877 858/392/897 -f 981/593/1052 858/392/897 817/333/858 -f 817/333/858 859/594/898 981/593/1052 -f 789/288/830 806/307/847 808/309/849 -f 808/309/849 797/296/838 789/288/830 -f 648/162/682 653/164/516 709/595/746 -f 647/160/681 770/265/811 663/177/696 -f 647/160/681 663/177/696 653/164/516 -f 648/162/682 647/160/681 653/164/516 -f 652/165/686 708/237/745 709/595/746 -f 709/595/746 653/164/516 652/165/686 -f 647/512/681 443/479/453 770/476/811 -f 526/596/91 110/115/110 612/113/647 -f 612/113/647 109/114/109 526/596/91 -f 982/597/1053 983/598/1054 984/599/1055 -f 984/599/1055 466/600/1056 982/597/1053 -f 984/599/1055 985/601/1057 463/602/1058 -f 463/602/1058 466/600/1056 984/599/1055 -f 463/602/1058 985/601/1057 986/603/1059 -f 986/603/1059 987/604/1060 143/605/1061 -f 143/605/1061 463/602/1058 986/603/1059 -f 984/599/1055 983/598/1054 988/606/1062 -f 985/601/1057 984/599/1055 988/606/1062 -f 988/606/1062 989/607/1063 985/601/1057 -f 990/608/1064 991/609/1065 985/601/1057 -f 985/601/1057 989/607/1063 990/608/1064 -f 985/601/1057 991/609/1065 986/603/1059 -f 992/610/1066 987/604/1060 986/603/1059 -f 986/603/1059 991/609/1065 992/610/1066 -f 987/604/1060 993/611/1067 994/612/1068 -f 994/612/1068 143/605/1061 987/604/1060 -f 995/613/1069 993/611/1067 987/604/1060 -f 987/604/1060 992/610/1066 995/613/1069 -f 982/597/1053 996/614/1070 983/598/1054 -f 466/600/1056 997/615/1071 982/597/1053 -f 931/602/1072 998/601/1073 999/599/1074 -f 999/599/1074 932/600/1075 931/602/1072 -f 999/599/1074 1000/598/1076 1001/597/1077 -f 1001/597/1077 932/600/1075 999/599/1074 -f 639/605/1078 1002/604/1079 1003/603/1080 -f 1003/603/1080 931/602/1072 639/605/1078 -f 1003/603/1080 998/601/1073 931/602/1072 -f 1004/606/1081 999/599/1074 998/601/1073 -f 998/601/1073 1005/607/1082 1004/606/1081 -f 999/599/1074 1004/606/1081 1000/598/1076 -f 998/601/1073 1003/603/1080 1006/609/1083 -f 1007/608/1084 1005/607/1082 998/601/1073 -f 998/601/1073 1006/609/1083 1007/608/1084 -f 1008/610/1085 1006/609/1083 1003/603/1080 -f 1003/603/1080 1002/604/1079 1008/610/1085 -f 1009/612/1086 1010/611/1087 1002/604/1079 -f 1002/604/1079 639/605/1078 1009/612/1086 -f 1011/613/1088 1008/610/1085 1002/604/1079 -f 1002/604/1079 1010/611/1087 1011/613/1088 -f 1000/598/1076 1012/614/1089 1001/597/1077 -f 932/600/1075 1001/597/1077 1013/615/1090 -# 2000 faces - -PNG - - IHDR{CtEXtSoftwareAdobe ImageReadyqe<"iTXtXML:com.adobe.xmp TOIDATxy$]_\GeU}LOό4#B,̲mv9]xa?׏bxdcFXg0 Eh4guWUfefD#◑UHӭ险ߋ̊;fMUQj;׌k7yۇGGGkِ>5u]<|. tL:,ldjIbQ,Y쓟ݘlyA-ViՖӬ( -UQgﱻyFU}ǿ[;Mhv?gx2(F܏J86QVy"a1JSF?Q`u%4Ъ]J܅(nٍ9[Ζm4`rg:s+_7Y'?L;j޸si(m@< S怓4p4 -% h?gbZ1ZZ_8!ApQ~_<؅u;lu;hzA^[{{N̍O"Ӏ $Q%ݥ?Ee64[~ie۽.%e^ٳaEEENe,͆u]K_ml9[Ζ .Bv<ԟoOqF}Qf)sWݺxt~?zXHS͢"ÖYiYVaĥp*!(4K&zF/at`#ŧHu+[REwyi]j@l9[^p+>(F+.jْ.{>!l!(w=nIA( .,/U `u=Y6%K6 vE7RVEni|N fA0u?3 l9[^@{9͢(\׵_;x6e@{W)N_K!ܗE@?[E^"$}x8Hה\7N NgzYO8RCVi$<5gBZ7t<[> - &y#URZe6a)26.`4:ښuauՕx{uN99S8RiTiQH?+ixR M?Qw-[Wۦ;;u׆7l*kEc14 ?[ٻ}C{yE(g_HS.e+@38[Ζ h9ٴ: {  q1 %Դk+PQ̎}%kfK;߿vxp4S@s~cU J '?WE^RH\TKНU< :VmN?X=$$ ~eAӲ4u;ޜgsx) #zmcֶ=?~x⵪򴴼J`yJ3AVS}~ 蛶g /eiZ΅ez}43a}E6--KΖl`-4A{q 燇IڏtKM0iïI11 <+aKNL*Mӎiu"TP ;a>gkU.yS!WѢm#f)Ո6(@;;K[ %@5ewlcڕkedv?^$5QrmX[?M@o1A.|r""D=̔F8Z=r&nOHGn-m_sm ΐ9y1]Ͼ;KB,mKpc`ן5|>MK7N"uU -\~#a,UJr -ǹ&/aRφ% Ζ/ HS4 <,?aA87u2?ŀK&)9& F#Z $YkJb-d(ƍ똁FyyX$쟂TC3PFpzGa4vyq$e0H/a %6T1?: -4ŇK5*"D$K؉-PE| Kwe~GPj"T}%l9[bl a%t˲|l&(2K4EXa4T8@ܯQTu)d_JMZYt0V0@7-$YE>D4yv6^YBDi3-35TGQTp}^Fϓ iWCdVeJL%@~5\5Ȱ.tL8kSg硦Gg1cQ\%p@4䫯P+L1Cj@]+<"]O,!!5/3g6\Oe*cRK7>gΖQ/(Ἧ0kTAhI6$a= qiU<*:bg -4r"cYvUww~}F@RJpN5)% :^-9?sL,FٺҦ)tt4e[xY66yH+e鴖 "J"H. ɠٕiY?ٴ-tIO .b!Ͻw t=[=[X"hUkklq̣pc3DJTA&E;>ڞ/r$x2d4|u1?[NǣG_Ɵ$GęҨ1Idw*%}m "{ /b~~o,̒slq.TPǮ|G7z;X~_R]3}]M,B›NlOLwa[p -SXfld2䵨Ox⦅Em6pg1ڵ'/\=[^$I9qksпzy3+oMՉǓ*T*>(,Y TƘR&8@B`jv)h6?⩫. .x溰t>1#)/?/YR#eiHɩr*PEt~7# ]QEPw2IYͧh.8M!!)%Fgȧlʖ.b< %m{%G{DV\`2;u7BgWle@ap d / zS;x^,Q=Jͯ@.FKPrab 4ŝyw~='<`&HZUh`@ϲXiT;rpXhjfQDӄt܆-2xz>RM 4ʁS's pi'%T)Rtq%O&tMp?tm _GMXtZ/JRPy"'<@78 / -6Gl 9@Ǽ6h Gz+N-w3XbN3N:u;nI$tH^!eb0 ڈ7Y`yc/(_1URlDu~Y_Dg@>m߼!o(7,u EyOX4bwC&7feu\/u)4{0AǑYd "rݞ8̦ʂ,%H@5Zh{y -vpˢt66LKE](d@5جHL rJV%sސ0A"']ļg&PeX_>K8@v_TJ!8WY-YJ6"wt֤װuO9^44~oOCZ9_tjjr:3?ji3&)_Զ`Z/a(ڌnGat⏡>!_,fmms--໧Zpw|ۀNi,j']Ue1X}i]ǚ) R<=eDL+㴂wA9y TU[ptk+Bgd:Mi dX(N|ʎi0 9nPOc3JeR({}y<ЊSu#dsPiz1ޞ'Lnnn_΢뺳h).Naa#y+Df{B/ n[ ?M?4!+8ȒUӲPJFOt@@_ZalfSrh-N ztuӦiZV(*sGT䖍eLy]1 oA -S <ph.][ /FĆ䂎xnpy Ò:p@ENjU#6 [exJX@E@wm8'd ya ߳FJJq`c>OQ4cGOЅsoDǮ ǣx #06^;+k7e/:`jqY*jOPZѺ6&v3I=e)io%Fٯ%%VS6Wi6f3@u>u؝; oh0+~&d=MdBCū$pܗT/9p!r e{bekuog0eD'ah5 @zteV0-Y3H(8j[?*ZfMǭqf_?ɅM^k&"R6!lПnZ p м:ܙy$_7ko-O%Xy~C=V4ۻI - -G!3Lg/ڟ^cB;Nv+t4fyMt!hnȦ/S -N|^J@?(RxaKkVTZaqa`X" nы[uBcɪH,э*v&zyc4PiҰMR a@UұL'wTVZdzd{raEUQ!*tQO^h nk%B(*\40Ո6Df)(.ˢ,J͵4EuBH6ncfx'BsM2x:6-cܱ\) %!$o?)4!4@LآBq -2IEU.)͸<!!MTWT7`~W~Bg^ ނTU8Q\Ԍ,iQ䘌Ù;F^]])*Pcv5-=UUQ -]1 wks߄;X1+8 y4?ݮ39 V*\l `niwNVfp*@7u -QVBxKOGAXoJ;je3,ܗ햘o[4oxLKtdl]0'yNo664MTd16/fa]~Pn`[`EP ϡ/smQے*E|{s{SWaٯxhNht=]\l`|r8BOɬzf "n;U:gI]xIa ZZMŊĜd8w:y4(K9$=Lbx|0t\ET)4 krTlP8wKVT\Rx)[Ȭd5\5(Qܾ@YJyE10efQkX\I5uu0ݺvpK^pA8XR WnoҔr?{{A?]8w9&) -?kpMFqy-'DtB];r!ۦXLGcɞpu2R*˔eUEH4*9)mKہ( ™Ϫ@Vқ TUSO(O~h4@Ii,t@`e_|ye4x^Sj4V Vt8#*Gv1haknlmRgR,12tbP@HX4;R[BE@ r2 $P'7V.]d'n? G<'?R9~/͇?ܦx^K~C7Ct2N E -PUߟk{j=GuEܪCײ#4/"hNvI=͢#A]D=('-˕[` -lak`Kѵ*tzv t!E _ҐJ fJVaqS,Kpy-'3%SM7L,hdߩ5BvbxBh eSW|R0 QhF(L"H Ӗ !.藼5 N7벌d^dey8CSµK  p ΀Ex08RXO#*PtK;e 3Bh^7o2:kY9$˼2JyUE#yyL<ͰT@$6d 4eY$c92-ZiyE^MA*^k&χY4MY'P7o@QaCV'' LXX'Y g?d{u;0a}awuVƺ{t\7 'ixsWd 8~߱n?%cg7w{]FϢ0BnVZ!Z@Z%WֺآBCl64;Vj-XYL0 a2aw#gH}noof5/ -.>gP/*={LXyv W>ӷZH~s6MjX&v l~|[^ϧ2I8Gm%I*Pa6[@En(14";IN%>%\R f 0ydv\&e@-p]U0/M5Set+\xs!,@̀F@t,Xn[7FA,*ȩNy[(QV~_R"aK_:%| "AgضWBxڔWB!@{tdt.*JLA"x@Y'LCi0 h:p@xk^ G_x|4oác%L4$Mst;KFoup˓1ix\_[[zC.W=r`׾$yG7o4 @g(D2E 'DYee(fe^h -OɊla:AhJo\~uP`T ya3Jg؟D/n_AhP@?0X2M$yxa= 2K{P4>*%(WM4kLLJZAbIij%IuhJab2.(zq^gJMƚq:P -)*< ??y Bzۄ_ut]IhۡշEN i%|.F4a$veCIJ<0Z -m: VYWy0ͤ~:EE꤉19o#1~W*᥅ilI!`vA_zx̃^|8 4Ŏk7یieO~A;[]c: y 7×W{Z`N WV.?Ýk@\YqNo@$V YQlMwZЙ%,ݵ(5vVktjz+ӃxA|<@<꯻-nSnrjRМ I&%BF7SsJasL1 Q*t} C.kor LRI2(slڞB2s[q8pikrk:"oQ\o%"B|v-az &URGwD(EZRp1 eYpXM۴n/.%z?:j'0߄{ݸ{7i\Y(p}8cnn| k= -ظ}p{{keQ.=ȏHsIUE<:L(i뫃. t߳L^hy'4L* m' p0=j fHe^`v <UkM[Jc1!,*`%.e'[gIajs*6u.HadX [6xL3F[e!f3!1Lyc4k)R|nYHyVK]:*M.L -;#U X8,s<3Ȳ8iu*>i2 t\qJ >aN+Rtv$Ag%bU;Q7B @+S6|[{/ O+KuԯY1MY1V'ȸ}y` ً<h~\y82N1c0_ -X>(ƠVKT. fI(}S#'Vől0uS(TJp 3Bl1ˏ <'cU|8e8If1\O}^Wҷ!V=û^Bui}%(li%pM/{k{&om\|ra<۱vN'"X_ /{A[k++=od?wernnoK1m&g ?@Dt}7 -h/4]4uSߧjԲToU7rE e湨\EEYm5%0< W`ttAɵb굧kd -#'7fSwt!:o -[[/^'?~/iM&bRJ1ix׮^߽pd \hQZn -ϱ[N 2XSJ*1YFHSQHPx®crUUTfkGc\'FDϞ dv޼vDoH \L rF؝'&N.ZN`]k*TiMv:% o{[NU{,G -L8B|l~G!"iҡ؝$zv H5KV{eSQo=UDPseK p8-{!vw7i8 O4O>,2qRȜQv+Mnި!71X*n KJ8עzmvd)=;t_{,RM,srPK^:d-;͒Fެk}4ZI)0EGV RUBj7碈8)+Alh'e3-P0Q1Ҹ7d4nSK޾Y/v [肺7>AnRq' Yn[{ko`sGڦG^LǃYǨ2[ !EF@eǢPSqP ,e?=uv,fj׭ҩ(Ml,փJ& ~`W>ӄ=&UXl >zy{P0a <0"[hUBF^Va淾Mo|zrz}_ uŹ%iUjQ ۫s8J>0ս I -u857Y]qUI/GB9$P ,R%Y^ͦٴOG?pgi~;VZ㠱4soW۔l\R!_ _(g+ѣ9F|e^rJ\kw.|S3k[c zeYN!WB#9]J=+=Ѹ$ΰsޠL"Rl0<28nOdҖ,Ý/9B%VÌ0!tf~ ~=-n5Okӿ C6ָtǚ0e:) ۘZծ((G6S4NNobB" vtTEWlRԆ{_eӗr.]'76Gv*4$9RFz \U?Opk44tC -0aΦ,a@\SC5L~׫a+%Wȟ^{N3]Xt0*Э$E?mel2jݶ;Ϧb(կ7)o޽쭯/,e1RsM9_sӬ:04C2{'c ڔ~cINXH'x!9>Tީ!=4NRMؑ۹v4<<#D -DL@D^-΍GRFm(}ra@}kz+ Q6Lf~.JۍeƢ%K!dFt0)aMj Nǎ (??Gܾ5@<|4*~GBDy -ٵo#eGF:Zҡmɖhl;?`A b^fی2scG)"s;k3M3^xa6rM*)OZL,[īL@xIbk*[mqnҒ74֛NK_*yG -Џy ɪ6r7$eeyZv{m;MS,M -a߃aQKogEj<2X6-F+CpwT)WiCUe Q/yȲ~0x) S*m f\*g8Fw0Lq>ZR$f8UU<'?h`1e@pnBGp*\%ޕ _ΧI>[z `'a#MS61L1Vq:k+ ~#tA1⣹`RZwT-O@A? -NAw?wpE\ b'3X\XK%e0Kmiݸú>΄ )p7yDUk-БT'JNLR>Fh gb(E%AOL)e-úZ@lQ7X+ܫ>$y]e=skA:|t 5(*Dv\Bg!Igv΃Fwql/L Le-TԌּ;p9ס\wTP_4fZ) 7>=Пa~ xT+ub{KM$iLTA5VՇ`Ss;|BNZTYC. 1$0(U f<ǟ˲|k.'ܳ,On1DkU'o:,a`Ez>A\&7) ͎cyDah4t?^0)QC_t2^KKUZ"ss1;pI~9kkðM "эiv;08]$Aq#ld'a-0ua5TV#v"ERe#/d*.*L[ $e -RޱrU)[b gH 2ss 0}ϊEqW'iNr9le=׀dwބ?oTzp MZ=ʽ4 - +?jKsQ!PhM7w:uSM,@b2 fb<[09ZXսmw5 (0@O6`Fڄ7V TF ;T bΤjY%U -5U0:%HTp+h^m^j0t~rte0f'~@ѱ=jaYu!Y$8g1 y2났R`c/JgVhӬsVU!w,**LD'q -G|_z. Op"*V' 7LXsquح_m!8(-?]Nnҕ0xšU ( Sw-k%9˝oNs1U:fVí0 s*!rVz0J9p8}%\BaCv14WuNKJ.ΊνDUud<uЩKe$T LxP9ﱤR;,آ$ XZs6|`"6sv{ 4:t}]Owxy~+s|bpj%=Cn - շzc[%=&'* [ba 8|ܕTxĴCCe LsK3-1@0 +5lܻqCz~>1pb|n"O<TM]ᜠXuJ|^f Ɛ*vOyOa9l׭#A$ KFX9 D-ًi!ww>ej NuI-?U4axU=ό#R<{`k>g0 VSQ( Y`jIcb(JĒ[VQpUzq\ h8z_#=l9́Ij`~8a -0Bx$1]6k?ϾVY l'L w)@a0Z`S'k~.'`O]X^3iy5b)R]Qōѿ5<RaEUILvt{4vdr6ң -Kcot'fa|߷jJ~s20P*IVTFŅ-^0oϣ =aa$I Nɀ˃S 9WϫB&G܄xHJO[ڢ-Z[R@Uޫ:YaoPy,1?4:D*їDBs&oЈ=ɮkoy)&bJ(0h ؼ}7F=cagiQ4kmt6P:Pqv$Ͷ(NUl!Br0h`J%V`1薋]VS#+) -A{[ubR;Qۀ9X_ x0t4 {[½B¼Ӫ}UET[laSm%2*©p4=WEm- -MG~6T' Ts]K*j쮁/i3Ti)}seը'Yڀ`;[YTR"N70_A&JQ Kڵ+Wnl\sǷ*^/v{AmuuaJe1P<Ld.K}],S0 vǁuED+O"io׳H_'j"vƦ(s#J;T\_Dzq<~*xr6E /O q (lqr1m IP&8EsL%Ng1 `{߻yuqѿYx0"(Q,\v<S -˩RN/(X  ~ߥOEq, 񏪃P/ V,^JPMlKP.cSJ4bDz{VdzD Af@u}JFW;w0)sɀ@`ȊeK`ne #8lߢ4~<kM&9џ$@vfh+Ӷ0Qpd gà)g/pSʮ6HpMe-ݡ#v&sRBj%+1DŽ'Àc@ q4._gn+ĸ۾7?_pwj)8㙮<By;DŧZLl.3W4?PDl.+ <DSl:q\M{}Q3^泌N @ϹF}ԁ)䪖G{%B7 R%m -) 8_M3xd2]EVЏ2PNMFՎuϋ+gS05i 7%AWPA6Hs8X)lBY^ -[[>㴀vJ JM~njG!L@!s%s*ՑFԲ>hS4VTI#|Y7 / 80,NƜʼng@Fo p(K9!Iu,r%FdɲD6(̈́Q:6d30p+д 'W١@AW0KG0p:4MYbC=źxp:O"x3z+hGSKQ\2Sh!r@F0*޷ThOJQf ÕϓRha,am`<ۃ<a{ZHWD\t4k{{[밾5UM&&v~:Y,(h}'>jd.ͮ\|1da^i%L/0*]BBB%^IvhY$ڠ|0sn?q+JU_UCw%*:5cu{<\$4{XI<{Uw6sffgK+KVbITC $?#H8@#?c+#6$Kq"[))-KэI\.;3~N_^yϙ. -==]]}y\|hy=:>TWo]aP> PήeY([L -l_F yZ,.hcWF<_Dz 9c |蹁ʭYyR)v45$ֶIؿO>Lpn(4&MsXt<-.cVVy[NYģ]!*%8An_IfqsY4 :ƍq w4?rY,eлeGQBnGoz@f1o}F sEIkP/],fرF K=Cڏ|kR(\mM&Y2[`GE tuWA?=CpsWfYovuaS|2h2_\V)]^D\[!ߏkY*-5 - ; `'şdÐva..P )9I C9I/:z_L?9"ڪ.QW%fxYЅi^^ f \ĕYdBa)>*A=fo6O1l߆@ y$^/߱ѓL]~z ud6LV>`KOM>Č/  `ǶYWMٮhd) pW`HX/r]ԍz %Wg(b^We̫j;!O8EkH>L?hceX.82x׃o\;+fC (Km|= o" nfF-H -eݔo<_[zy`s8.T'' f" ุV&Wբy]A뇞f73c¾IOK7e|f)_L?4@#Ĩi>ej=]&Ǣ󡑂\lƠo ,YA$k=NdWZajkqg<:|AJĞ3Rl5"Z;_*]pڝՙqs]ꋩ:Iuđ(yeM\*fZ{n$qmm'IKzWзXONB't -5m,Qj4 -?}aI8ÙuK9!wP6AI?c"_vo$̌~BU5{Pd RAq4l2ޙy<Э$١%M -rkHNEǬ5mKG@\]]a<'@6ɺcҙ&/ȓMQvEu?ziɘyY@"z~gQ]xc=>~k|"wR.wG|~w]er;PNKUK *L/s}-åPCLbV(hJȥs -+m)\c GC]OͭѠ{>^uҹ^oJv\A[FS~q"x+h$,$;]]\.%E -ÿW#Vګ=냐ѭ-OqKG -q[p!7I/ Sɹh< RVCw?EUxEv;b:dʈ^1YGq($@gՖg zE> -zo Slw 'F뢘mcI!FgA Ogip:a)R HviHSGs#ȧvPSGM¹Y7Z#(+r* ƉYFk^llw|m<">ry>Tve7"U?e` Tw;1,O]ϴd9_N-*]ӞsɖdY49g5t\>zrq|єUůYWrn^y^s=g.Nt;{Ekh%2Y>W$`꬝ 7683.:om+M7 -pKG_?7#e+t0!pr~8_vv[/|0뭾GnM#s79Z_ *KygQ |!'}[t58dIFy׹&b -ʏc7Hڦi^ASX`B{], t<Y80NΟ:Nu4c[-+_%<ݟܽOG{gxlQ0'M@{Ha$>kvq;J@}t'=ޡXD~kHiqQ(tWݗc2}w}Xz|dߺ{g4Ά^ٺ]#1txd 7/v~zi#*:ode!/6+ %@IߚB@RҡYiӿډ$r w/3nKY{R? 2y1bX wF| LK:QAn3d0¶ԞF&Nkyy~czloXYኒDk%'kJNMwwGڐ_>=$$j,{qi[,Oc%a#4Jm9'm.p[ -#bC5M~q:??={l߻cGz>/.۲tK Ik"lk'MM猶b1+gK -t3HJ v]3_ =j"bF ¿-Vʁ-*3m2_;{dFKzȟdӞQh\,닫dk*i2zhh P Q3j".|l8d1Z\-eQthi yF֭z:bCsL&l2I?P4ƩkWІfxйV=OfjyHEKat*%QDyȞ+̜&3mV`ңZ QMVM@g]w^L 7t5Ơ%Cz.?#XYH@iDhdtܢ{F!@N#0~ԑ럨0w<ǥGpuA }px>/y-ŀ+Ut2mY[{48Xs!ihN@웴LWb8>>Y}p47 #Z~a|\+&t[m+T\^N]7?:%ޠ {4b-OnB㦩 -aZpUDD\-`M -n*aՂm^ n(όAY*3zIGBLtKjhUU p}XUcw2GX(SV__M5ɪBSD,P`~)%qȨg9\s]P.`Mj [xl5a v<0oړj u ӯi+Hg̓7ݭӳo2ɯ`ҭ8Ov# "VzU6|@ jٍf''u>O[[)*]z,Ya>ST}Tι@J=D-NXq_M*B}0_;6~˦i\ˈSWreA2_Ɔۦ+#(EY͎l*D|n`C LBF-fz3֌-VSm?Wl|h0^VL`%໫&^7̇Eڬ@>`bZMoaH*_Ϡ1|C!sO+ţ|NG4=;?ƋN|;_Bw͝C-nW&nYSd)%YBZgrܜ/k\MFUY*yO:Yt'_II4 -P"80UcӋ8No-IԿr9+~~y '[[#z<I֟2)'leWo.\Dٚ%GsҢfEfqnvMtR~jʠ8ͤ>=3`@忻02w`jM}*~E!.|טP$0M!ϏvL>4A9?̈k?0򤶺 l,;V5$7fYIn0| =|0=ifסO-{!lRKnVn O[T"O.𽃽O}_p̸)4^+SMA oun"H H|yCB!;C K>KzxUo`E!#va4y[{ --HEB{AoE-_27/lBYA,3i0}[;t*d+t[Ȗ  8\өmYEuzϮ´pyye'Go4Nܮ)Ur0AM[ d+쪼rZH dk;ޡ]\SOHl/.fnߴUAlشd)D(SuE)JˢG7'_{j#7TѤ%]5[w=h  &$kh'`!kh_;e[QZX0d -SBw.۷NNoO_ VrN.d:钢HD?#7j STG5YW-7 I|Yh:n;(1yq^X,?J@L%\юq@.':z}֎GS>y0ڒGvN=QsԹeV]+UU[BW;5UV -9.+jrܱm['=t[1kul ',1:g0 tVB;]dLL| 0DƯqQ r(QRT.ybw4Oj0~ճ`4ns2KgGXt㽽(M?Gז~\,51YЎts䪮ە`1(,˝FY2;>PXvԣ00tmN=?.ZY ~]mUKI*VOr>'`n](o)6~rr픮|1dcOY~A3_tYv3ʽbl@u dPV+Jt;;;_h}/#¡O%iʶt2ݻ%}Bg'S"zO/> RGkP8.lw/L]8ѧ,$)aDI8~ċjN?.;dԪenpTdh9Rƭbm JEl; 4x --Y? GXnOSβj>'+/ű wv/EY4Ըwwt* 6t-Fɓ': -G.TOY#t:Y,^xq/x3?YǓqQo1qݽ)Pog<6ʑ]ׄdlK<]+%Iʝ~XE8u挎,I҇1.h#6Jt%2{QO?q7B-fƞ6hz3+T9U\\k]ZME^yMIa]B!SЍ *oWd4zGg%):h.hoǪ76܀z*(u>O ckI2_|7?:{ {quy?E,f%z2] t᷃k@w%AR]o`zd IaL+uHyjɓ[+9 8߸Oe@Ln}w+aC" Ya4<1ӚMyEj>c@t Ef |oė^X) ݘhj#xn`mGjE@ اMS[ttaM~?‹N#ڬmz|gp;Jsy +b/ -b霅a - SiQh]m;LOHI="~ݫy:?¬S(?DƷkW᝛siTuŤWLGq}`w^eq& >toWup<^eoy.et<bpZUv[ۑf1 d3gA;m,3+eY.a≙*ag`ܭ[Xg_WA8R(K'WBxhU#`#6J~5;FaˏD~dpUM>cvCCcXy%p4~ZQ)M!qJ$-6yWCZ+^\aŋ\-J*أFmE^X!( 8/oYZ,ssCWL8'w\f]~eA?lujmt- ?Nn7L|x2m(J?ûp6yms*dZ -bi ťR>SPnOzgp5/gF 1ZbUZr dkc__^lYfg(Im\_*pGFI!h$D2NZSZ I@rM^sל|d&t@'% iж,.).~+e>2|Z@RgaW7SE/LQvi9%IZm'ª}y|^6u`Fh-\&a;KsPSBﮨ -CejȍHu݅"PT^_?(tJ  -OSS%Tsְߙ< AQi[KZ?,8Eɇ$4m:/RAd.j;$yNDv2 -ZTŎ.;=RM8UZ>Y(E߀5LQ], j((pA[%|J @ -H"jzw'TBb2j*(tV>ttbquI/*9% Suuo4/-x臸h,֣eY˷l,,g5 -i)&H֣0eET粂336j )'a{f+ĩ iQRf{f Z |E2*j@U7. W">AN\]'gggk]$ۢCUAv(TF½~dz[ u+_G-\$E(O `,[.' ]./.O<:yx4ҌVO>П̺Pr/hwEx_:T4*Oo-1i# %:Ij76Nc'TG,Q}x&vWJ+)^N~-o9O 6eig QeK|@aٯ9gU r{}C̴%0I ->k> F6h\-sF!=}_]o0Na8Bwxtrkw"5Lymk (Fc>x6-X bRTtՃ'W-?t)C/ -`+ҳ;+Β<:F%xFl&I - M'@3k OXo:Jj$#: q䟜9Sz:6J~bފY 09lm˂ \E5TdBz;RulDAMC \FfǮ``nެH_UI#Ͼ^%HWFA]j~?/|tS!U{;H8-@ -|Bm++W҉J -܋:}@d3 -p.<J@DɗedZ;kh9]YA+%n0Tz*zLf~xpL$NPXǎf -r@M+ 'z6&XAQUJ3L89)2p5uƧ fړU޶i\Na| -ڵw֕_?eke' FK\-gzTBB -8yŜ"*z1Se"8$ 8=!4WE7{Whzap@oS,踸`RFN{ 4@]{N֟?/e -8nr~FFǦ.\R|'g4 jZ^'M=3i@5|PD4_. -Шw-t&ugr&0hk*DQ#vV3Z6d~! aW/\^r 4]:'Prт| -QX^/ #z$Z}&rr"P_:%(PyTkA #0zr^]C `Yޕޠs~?_|UtXIv|#KZZi,Xqbz8"XS. -ND@a?׋ S -:,0C0>,G1[QB -Iz` -YET ☧mO}y\Ae@}tPu42;Zn3F\9:NǪ4g҅+E*CH ?JS!@qor.}9G~#8njbe2LGv(ϷeUjv-+_ֳP$ -5"OfNلl>V17edWH$l1$7U>:~گrgR|QiD(܎W>jČ(^5L'> '/E* -y||u!PNQ{ihIp%1`V1dfl4O+0 <9 ! tzCaVLٌ_w[ 0>n0$s̕#SIDI^C=VZ;oEz IZAS! -D92.Qi+>z*~HV0>V2*,M$ET pIbR+  F2GMv Ɓ> R=S,lqoDe%cGU)țG%ޓ}oNCzIWa PeNJH"V!*s1HN}9&.ne[;[tRߦb5+p7X(- -hج韸*Y 彡&!\Ւįw^ÑsvZOytLkB|@   \LF?Wu /p:t? SNYh"FF=k4xo:Pyy8Sz@tjOܰ*f yȂUCd!lAecX:mc_92].r5]%.ֳ.hBߢ(c` `CmE Gabnmdo0j5݀*tᓍ~MR?Z!@>|̲e:d|Y㨜ûxEn`'кaҵ ;GPbsWv]MA^X+b̅CQ: 7 Hou]+~ӓm;҄'Wq 2Lc|;4JY@ܦfPe:\s~::ʩ=uC3@p])y%>@:?:DžHPXxTT}՜PRn'^9׳z:O_TsEТ0TA$|3/,+twR %Lj ~|Xy$񪖦. لQa\g(1(^V cگÄ@]OWj -J3QOSr *п]zauU%dK PMG@s(-2NW*ܚ6}@XO PNE瑌*m:&d=B%#08SYS7q fn7)jGs8ڛRB= c b`4s?Pyk!_݄Pm -^w<֮ Ӊ0D`*s:q ( E71J(uG2,|9rp5(^\̣,w/켘͖L;&HxO"lNwċ*A"Uク:jW`FvZ,dAG>c\ -hC5 AoLXis-P[RIdA]7de[0c;kD}]=8KZ*v+~7(=q̙Ŭ~EuIt@ -:y\t 9nSaձ!̒y@6ΔI+>IM3 (6`UyJɅ~.ѧK´#QNSi#AIIXR -C$r`rb ˜ S\ br-~Y33&Xqy?~ryh9ڿw/,"'P04b"Ny8?|5*Q\IZ2;m<1J~]Z[[U.f_V !@ ֿ.~o}K~]5~MX"#lFiaٵ ܋}0Ne|- [Gapѫ:ZA9GTu=gb'xYG)v=.HPpYנ\'^pJ?>-M6)O -+u @;.h;;(9:GFh>(M5=M) N:@:5B2@`k&yvm[I_(p_WJßK :$̑wln5G+`m~[ڼ #XaF4lMƳ<ߛJ:sbo`k)0I?2KQ9YpS0ԳR\W -; l^ACbrk m1<+9Fm{-^/;{{r4N?翼w-B7K:fQUdV:wm >߻QX3>L䶽&[a"j؋dB|@/ ywVsdGy{ǽSA vBV޸F1q8,YBBL<ªvQfY,XL?-9B`lc=c dYE( ʤ:#RE?22yro͏-2ɦ/5v7g6#U~#EQ# }.#ABö5r;F{ 9y:$ڿj{52ִOI&%;jIԞ5"r0c@7!1^gg*A^V" Mz7N -QZ_2 -yVn#)Zѫ - :,Ytgbp_y#.}oeңۉ9xxWᘲYz΍ԻXG;EӑlaYQf;` J (c0MOꅑNzo\ '7@?\ۥ`Pq(t$'#{oHb@Dvle{_P̴wΞ<}ְq3gO %Ƅ@~d.2*.$FCjU`\HB~ -) ózeg]KuvS!2 VSւ^7N_ғceO GFmXdfxj;-D8BGViE+*0[ twcdpOfmCIX1V υv"tHD*A>7I]+y鶕пZBH2 /޸W,:?،< [" -rmzR0zsc46ڵ${ tWK|,#npߛB%i-㚹@V8lZ`Mtxd< ;'>i .s2-i?uέ;ܛʒaq"Đ7}jMmDRK/ xcنa{o,6=АeE¤HIԢ쮪ݛC 'N9"j":;+_OSa#@QȵS(DH:0u 97ALԮ!i] Yg8tZR=9U#1-~L-3:5eucNjsŪ|Glm7pE`wLso}ާxʃ@u_/]tJ:~BwKjNO ';q$e&1vÉn~׼_jf$lt^`oX#C¥ Z.ۯ>u~ \b1B 8.YZ]Ŵ{ҦDu0__x(6,o)6am>,%\ 晦7.bt_9LKӅ_ wom ϭ - y N:Z;i'm{ 7DM:ZN焑 ?le";'y:2Jl󂶄HqgEm0gi<Bi\#esicI&BՔ^P0@ ҍbI[踍|=~+sb}\׊$ЀnW FH!D7 +ߐ&m @>ӂs,IK{|VI}vzo| .Y mn!CŻb#\s* ݜaf}y,EsJؠ%C -A$vMEI :KppfA " a;v"NJ<2J!%_&)V%Èa(jiYPtՋ%}ޖW[MJiўEgZNJ2$MUUCrk_Vp늂A1G4X1jzNdz5"=YvBOOh{Xdd3V?b^ 7g0Bj"=plsavLDŞrSDNؚ]LgvKlq0x|rY876 Q!ہ?yզF2 -_ʂL(b)k`ľ c&  -kF4tJTZ_#s% 0l$ TI<|b_qd,X9 0#&"eJbm@F5o/ -4qdI8$B'e$^PdLxc;q0('p)7D db}BKCׅc ?<u"Z "h2X<%M`2Ǹ>e-7[EJ{[3 Θ7F)!0~^Fܟ1Q F3_OYbvyZL̟^en..xmZ:]>Nb囏=Ouj)#\F)47 NeZ"rwWvsӧEшB]t?FTQ4 55WNjXXx;6炟p/ $$ߟLE9[/t(b jLU۲t%-孰8rȚF3gTC#M"Q P)u Fyq! -woi37( hH禯qh)>@ĹtDp!bv \.6k;Y͸62μ16-h x++@Td/묭jhJr]nw^KnM$ ɘfM_" j3&'?t  1G%҅,_s(ۊLКr81-XIGi-ӿuk č#dy!4/w̎Ӣ|y#W5fmدc/w2HZid?LmӵΔeC|C)evs:wcrğ.u&\`[9W$}䗒jlbKCXJ@ \wKB%3K:dۣϞχI)VB.8N -j!a2qLx~_A)H"82M(0ֆWn0 |?s(fY&OZ胦`z?r^̸.ӱᆙj{` @ 6ih޽ztr#ݪzĀOeݏZuxEăa>/4y!$#~0^@feA`$@Z(1|1o C\*;Ͼmq8td0hNǽ?3Ŭ[ CFM4 :~93  -6LvtX 4sl+3lj>>@ #-TU9xWNwCCz!6DŸ_]-OM+(fOn+,'8Y 3 :!{Iwtڥ -Z0Re"Q:@/93 b(= bm>~z|7+w5߹}'LJrt>6vQL[[ ﹭."IyCPyX9yL~Zg*ɲItE9RF3H!3bu.LgCS1^qX B A!JĚ603z7ݞ򰻡 h6sW~S͊/$ ;"@,.Тu븪1-C IjXn0^1r6]ivaIþ"ƾY0BQ^&E{ogMhZ`Z'~Ӂ=ݮ9;Hzk?$9? ja&)ب{$"zgD7 9}ܐp"Yiι_ Y/|kX ]7\"ek;E(nu^Jnu;0cFcK-Y@eeٔOAW1~]7g|S˫8/~P)u⯽G83'J$gd +TTJBlFPkje rE_Ɣ+äR )9K' Qd5충0Y= -x"m -41,#J:q Lr[d8>\Ŕ/|MSKfR4E=jw;rۧwysX7xX7ky,`b۾݀S -"ҍ3LhhCg:JLsheKm'ؕYAq"Yup:H|9+Tk=~Zܶvm=7̀tbU8@?z8!}ԔV&j4]un%@APllS՗v#=֛|{rwlW<+TG*UjF0-:ñxtL(BIc?,3IsxX27TlWXHeNL/O|zC`^SГPT TD% -**gHVL it9# #]PΒ?!lʌO8\wvMyQR"U(}D'?"lmL_Gkӭ孪5Wւ (c?ƴ'fBDpsM݀sAޝI|7ӁaM8|G&Ĉ)~"o1uj816:Bs -B>Fzj.9.("u =gI ۴"\ }3g.,c2vMuIʲ~Ci8eQp^cm$ -i.<ť%^Y -UJ܍"Ga3xx=`KqTH "p%zضxCY@XNj>ށB%Ckd+QHzV{6]ḛ-?݅tf3:Ro&DFPvHc;WOi' Cl @fb$3ͤ%WmʬoO)ݡS?νWٳ+2bGg'o&3W[Ta['c]?$k^EV!? i!3:_@'pcB<-#Y1l阖Ƕ -ԘuO -1} #ES|b@jeu" Am2 =Н:/U8EFgZCisXM(k1u9Swݬ:X{t!G˴yuo{25 ^ŋ6jdb֕wL?Rk^b@>{ IG2(LfsD9e#i! ςhv0:7DZDB{\rQUHHHZ+n0b4#~4 m`Y&6oFϞ\˼ Z'ZCA*򤭷=85ZC\n*5=NhgtV,p7MXccrHt|<;#` MX^>  dӨ/5i5hNVnI u -2  A(Ģ2`L\` -aScb4 -M8; z4k] G+6 ~h:o C&#|}W~ɧ.eUsOLf+)B: k`@3F_0--n\ajO΋ bѲS]8 Hy:ͻ&ЄC>[F*E&c."넝cI`n@5Z  8$V/z^̦ .8v *T)qJ+Fmn`Zz`NzO/֛Ãj]<9+UU[3}``騌xIRi@)sbG%wN#wb?N\N0{!?4b1؇FHcrγdk-O1|'w|x{gwOOOӿݽ_%c7)j vYA֟G(C7*VE9Og1+:]_daZ&sƵx@ H<[ؙ`d@`9֮ *0m;xY^ g]({ WY] *hƝ" hNn_G> jv2$ -X~Ps=k>t*5g( P[j6B }򒢖t j:-ݗ#<hM-8pFZ$R+Z%HŮVieyqٛ~ L )5/Y  3ejAHLSC7M<#cAv<:;[dNw('υ#-@qx(3P FjGl/, u\ ZLhD=! HT|CM[V+A9*DYg,RPw<sʚe5&yHCC( OƊg -}sG. G B}}5=ϗǴnNN<0OUu'm)(gl12fkXab jN羴; ŔyW}7y[b 4x{Q ?iN3J!oB 7 -;a%s k0e nCuP.[,VӼp+"oZLRL!NXVLy9d`PYδi$Jf{ 8bEoHAltR\XWӊC܇k@~)oBJ ? :44ҡtpn:ևG=ZH|;Aݗ(Ck҂u:CYSzaȸCM>]sY)s) -oșB1(]rAL. B zpBMzqzaDގ,>q6݊& h f\>aOHżm`j(B?{$긔fn CbI* D}0Q"mwp&g/t24*2Kf/0x{2: h(j0p60dd@Xng,Q;^|zxmZV ,_#qU!s@e)\Y0!0Z2GJZf~u9/6:ر,CcRI 0ejbB_f864a u\s\܈NFgS8h_'ʼŵtSL)s:V˲h1T8HSsK͘;PjDhwڪcʗ ؁?]^POnտ7pCܽ6Y޿?}X& \1?u̞YQ -Y,qP'Md)O c*@;k@ -$?<{jZn kL04oKa÷߫u!vD55-cWt̖ǐő/{n߼+hQ( no~7T~"%}DvIX -vd*_[`w܏XOߙn`~QOd~X?'hQc={S%gZi]'>6U>/oaІ3me38wb]a+,,6)Ic#:9i9F -0KId%3\2 #fFVHf]a)\HQlɃ2k̰ۉ|o$?m. If%ILdiU恐i;^o}卋d5w^i5,XR)BWõɍmTd6ZR% J₾eZG hO f*,Uzl>~J(dgӨYO7U2KU5y(I>ϓ݃FnVoL94l`AP4tƐ'EL]g0ӽxri᧟BYURHq̊2 -s%4q:J@NTg^n~*QPآ*82yʒlANC}BH.rG DA nz,7 #X@$E $ R 6lY;P:999>9-(zՖ.٬WBdG=Ű%% ]{H<_꼠48`[jEz$Cm4hkYu3i%aȈ/ vr$L[`~%:i^yilHTcP0aKҒ>,fِD&".EkyL;3o@hhP<. -3]נ4buZkLeIm &bSKC];Lۧy=-=eo@3IH}"t6kYg,2(m0*).pC.΄7i4+3A;4a~_uvJ.i*:tdj"<_+Xřeu^bYM+m O̟EW0q&!v -2w=(:Whc15kGPh \ecT+J`j%E*B $LR4M|P#Xlg2l/Tguj ܥ@lYH̑5ChV䭱9'4Y3Sq6 XW_[/A2G`n)@氪"2Kk2?(ijvь֢d8 ݴ1VDy CM"zt 8z< -طFfI8d.oN'zRL0@A29ݲl.q\f -ŒHcF o/鴂3xL֧qbR!+q)yb{~/IF[ڔyyf|1:z5b'08fPLDbE>tL={mw5h!SXdɭftG\0pΉ=ĮA/E //Wzq4bN&CF,pa)A;R pTV%`d/S6JYbS9?_ -2C 4f*$Aj:h \@ArN7Cz0AnġqO&0|$*WV -AeQ_tZ t1o/wW2/s̈́nXe!?$8l"O3 z"X $1`zANRDɇ< O#Ee`j<ہ9$?`ɭӘjժbihJƅ飹AEe>Բ4D0kkcF1z3+ҙ+Bjxu~uR(<~SPO (Z?cq#cpwhȦ%9в S -[C]Y` -L5f -Q +@ǭbҲ<\,滁-L?tmW~"r9ߍaL'Yu~9Nkd帱Wri;4QW>ÉVJl@_ t>?\<O&sw!j_k^fwQ6on6 I^3F2cPTɁ\n 3B\HF١%j{2uԆW\6z'?G1ugMbUh&r{zKG'Y4˒^N+uJkj۶Yim $SzC@=$ȶ 9((nSeYP0 P FzL;΍9h -pdDCK*:6ZTgC*?1Xurkv|p @h;Iڞz;{̓ vSw &I7mc*E⦩(C=e;@Dr"CLAha+(nͺ/V6hED25P4_6%(UEI*kq&xi`.QЧ"B-H4Z'huQP4_*,:I)NB$_W\4ILاl*ʴrΌ(0zkȩvmX@)L[ߧB("Blګm-}۶ ie"͚(i̋4'BW2!cEnZi;ش@Q._BV1;b v4T\-r]Kg%qbJȂo8+G P@X[(f~Chh=M0;Jt -u' ГfPyj s fJ$g'm]di5ռ7/#`i~BEN6l:arL=γA1:uIѩ ќhĩX?7^gI8I{OhW w_{m@]FiBkv$BcGQbZ#sr cDf{OgwsWUe>RY k -n&]|-Ev'\vI]mw1"i i1EOWUBz'HDJzW(EG85D4Z/bU})3?}J%T.k1i}F֭ttf|;oxBRZTfq'Tt̶ ;?@I[|z@@T*" M8ꧏLfn1idL]5B~1Ʈfi +g;1YǏ}Ƀ8=>O`,=@lXCa>!b/y\DF,B2A7o=OL3o Ԏ/ϱ$BKCI≋|oMXMAIn px7cF߮tcq~~l da,iQlA .j_V'r(d^6e *9uSOx^ jO\v7 -qMы\6ք SkySڼs|4ӣ/[%#N|L;{տmzS+o/A,\`0T?8(M$e{MMKѕ,=(dt!!?0UWӭY>u;ti0dLIH0ΖʑuWҧ5`C[MQ'?ʊ'iִfrYF@@&dTcR02=q_lc**{XF8ՓC9RAK ǽM DT9*tvWjd,L58ԝN/#Slfp`'R` yvY';7e#̾X &)xQWt>|Sm,hѪ֨ bkYS)#28Jg]Q@oϲ^Cl\YsSFP,<Hb=pu Sqv`,ED -sD-qJw1tѭH8-t"c"Dyb0f$y%b4WeR[e`L#$펧%QxtzH;BRiN^cЍ(EOYX w fh{j;Yk']*!]pޝ? LD{|k_+^O@iJKNk?) @A빽%ǀN-x\7fDz(n\r F3Yv s!:Y,ҕ+tv+EȁbQ"uCQo}R瓀^b0Cz> -X8WݙUۆ8Ť -DQYֽ;e]n д$)'b~4YI%!$x]Q'ZoLHH^B'w25 )*FS\uagqJ,4/VjhWtm2s_3?> oI|Hnm%aНo9osBh1TAOVt>^? сOҬ%vW'I0}fR-PK@,D@8c^Y{/3|:z/%:&eo%=LS,J7xU=> ɘ \\k-u%$Xe8^nt^b7Yc4̴b$N^J6M辊%m #kWi4Y%:j/FbW0i3<|ƚ<2ިd[[i d0\MsOQo4  vK@eS_tޝy!e(-iCMƢX[gCU0~c -3ӟL]z3A֠(3h'Y,$z=]B3 ; gGJ0vO5WuREke^R03޼,BU1ITF^{t4 '@d[Cnܘ @2 -Lfg' m֐K.篼_CR%=xQy:E9z7SКnjܹyeP@o^}o h4oDԁf -707$_vJ/r_&1`S tC+4Ѵ'4 r(Шc`H 4V[܀q20|PTŧ۴\hؿmj~H91g?3Kfzs)|Xt;1  =h8=T-H{<bO(Oј/O}@%8o5k/FO{=;b]ٕwv !7X1b8KV'ޚ4|coP7&8);~ iep - L,,8q]ԓwEs >59޴1N?tӌ}0 -GK`KO?9~wjh׫yC&7;1tcuJ\pf .eB`ĎWcJ9eU&^/;t>S$qɀw NbMa0s/s ;w˿@EO9f2U!k9 -(5&QĐ뷀_pvT2Xukp*Ƹ^ -; G/%v` i#OUYG| 6qZuuKP=H_A3(dhZ&`#\J0E"l'qyfkOQ൙.m۸(+ 谛fG$ k!"~Y^΄ge xtSc.\Q0Ֆ}\7ϵ"EkX&s$)sv-+ 2;oč#__L8+PVnOǺ]âӣYUi?0C@"jY`GAfaXB54hCJ['_h2 -RqSt=~R1g"}|OP;*ˍ*X_C&ku8Pπ]vۄBSp,<뫧4㪪*pfkPLSZM)x;E[hQw*1 -!yxy[OZ7^*ށc#dwT-$׆g'0u@|E(U(/u o -̈́Sil*-J3ٹ-gHOr R' 0YѷcY+gtНZ۔dk~7I'r{^.\H% ^:<K7Z_^5O)V ͋P 3_y=Ȍ -?T ٪,ж {HO,RWu}ʭq]D|b/))Xk\݋rٲk ͚EWm 'p5- vbS>^'>W#w.%fNu%zLִ"i+5iNױ[B&>`ګxӽ6A4Ba:;/mq5n~ݿ+ߺF, Ubƈh}U -ʼnM@p8[)O}y9IXBԑ Sㅠ$be+8tJ:ꖌ>~w&}aJqr~2*䰳"ˡ|‡ :O܈O2߳˵z o V(!O$O[UF,o'HqtH(gn X})\D>-) +n'kM`S{ړ:dơq'sUp⾆enGhcgUI$J\/T|I]_pp9f`Z&n`pHO:◶67l3'q1(ޜs?׳`[ɈvbJt=Ɵ̮SSAVH@KUғ͞X̧7"lTzH4@a+oBZ6%[NzB{$a@: k=_,<`7 ѭ3&+KK]vԜ=-IH[wY@J6zS'_M=|j R]^7n41$)1cĺ%/^9F'YɬdypUWA0>+.o+(* _ -`Z4X6ynѕE՗Iq Jn b1CY H#td0e1շ?g 忖D]t|6#"6' &hGKH1E Bq*Z;b@#zM2f8; Ioe|]eޑ"@1S^5*QG Y ִ mfs\6*$vTޓjm {L_ 㕓Ë,eQԼՕKԴQ) YWFG  Axա;BT'A,d)4r|#S @Ѭ76w5*&Ի**_nh2s R 5nqDR{}e:!Lm֩xQNZ <aX@<~pGDLkKW_c#M 3דX>^ऻ|}PNlwf\m{c*cvҧbGhfy2)5fO]]ж*cz3t]D/;!8V% Q2yy2!2`?Hܮ>"Zuv7=kw !MRZq=jnB*djdG󀯾~N;EgݹsFȄxuMuPYЖ-g99Sn0Y ?@f1ϓbwH(LW^tXWz5_0YP -4RKMh^@E?wxv00H#Hl IF; fc 9 F #a!.cwR(ZQDc:i) -O2n4Q, 0,h<A;G(RA.L^g 0_ ,v(QP*،̝aPK(bV*+3f I;75'#ϗPlɌT-Ao0$aS#^о OfWgQh3O&:(lt  (Q#:jz!4HP$r01q1(B-r*Ey@nf-YPd 1Y XCsAfZSs5 az  b\PSf(QDWַoс3!NËF^?S/@.Φj=o~CUoiۢ(7LI%Ok̀ =v,[#;弤vZ筭#!nz\ -NGg]P5l6FT?~Vm6 t"eyZ>rVYmN' z*k:)!Cd^唶dܤu,d>Snգ)"!EfKG}@րg/ ʼn[-$O ;{aJ9ẃ$D=H>f&QƱQ6 -: _P\Md.|1"/`Vҗ&I:¾y^${XyXG\bi`jD"m a?1Xd2'FIO /> ") WH<:5"cN7rlH?aPoynق[i3LU$#@$)9-:ϸc˒39Esn=#ֻP'Zm?k bʼ[=?5Q,;ʚR/\C'/\Kg?vn㝷Oo-ʙpNЋOHYt%K@@Lj#yӐ%${@Yą /1N˕t}yח)Jm? -G$K}gw =,RZ;Ǡ"'[]*sՑuI9/3IY3R:4-DL> dAib^}R( Qu\s:&KPv\|EYLVv :]T@M>q8<(w)X=HdǎY2T$7E^>Sk[3߫cHp?+>jPIAg5 -WHJb){#Yzwsr\RI) JXA.Ĺ!?0aGd$@,Hĉ"R,E")i-rfgҷS~N}թ%ErdT[]u{<"3HU1Xߘmt(zȢ5CB|]=}RC+jʏy8y4;!淌˔9d >0xH8]skwW3 Y3u I٪\͢Ty~YHFn#B;OUƱ.F)+JTڻut@x׏nfٌr[u"6vqmo|3_iDҐM%Q. ngO1'=ΜO{6|)*z -x߅Q<93@,K#҆$7wP y3PYIr$ƑDu1ħFYJt$ -uI:96\OI(%ɰlSiN (7 PZZOw( ٞ`EjVeuB;C<80/I\{A<Mm  9C0^T0(T -(2 =& Iq.647|'>g}/ u_]pA As?λyE5@-E~AWU%p2-Wtt}퇱u_l}4Q!tYvV޺uW?P9pR띃[M$6XtX+(Z{$>->=TV!.a:_ -q:e|d]TI] GAw-yD@?] a,KֵqC 2\X U0%G|V`W}PAȧ_EUs4ԟe3 -hr@m\"8@rA )+5h+Bo?+Zܴ!/ݓe(4MJkp -XO/]<|r!8B )r˲Z7YݿzIS18YOo 8SPgI6)#?d418n䉼t2$FtE!l(BDoXL\'昲%'L՚?v]B[J1߮i}*`>y)ce^ۿ5qn_3 zq4|zq.!-}|`0ZCW[]f i 50Mq tvFA,1sR1kVM9e` nW=v6#;]2_|bI(c*3oEEt q}NUG/ve;EGv0y7MM.t2*}5 ppYZ0&* -jV\ܟ@hC)eĠ]tF}PCfbK64|SO0󊹔O@@_bO$G(qkn`> -t`G# uKuVުEl-1Q|<{z4{nk,fYL1$vkLH9i!'BstT#iգ -rFl۬ȆI[w?" R$Wqڟ48h5 #|#]lBt0N(DAsKPibl# ^QJM( Ż놎\w7,rx E(JƲr}u O|偃59)ړ\\Nlo2sWv.g f2P̦8I1␜І"8n TJo)֟r9Y6klB^u4.j2D>t`M--lR:O?@Xا%cLOlVJ FN)'/%n`IU.UYт8vMƓ̟_(dL -&ov.8Qio|KC>@z{{}z~ B|2qLiu%" ߱.]u7WL*?B,LΛ3vG^ec{J>L_W3BՐ3P{K^B-;|^W }$|ROM)5Az{U,DLi -^pi+uSrn):[O(ˀ`ܝJ\dMyߺ12'K]߭BsVqL7m%cxZ:#W')CܡVAT#w1uDIhU#HJwq ۿyCJ(ryl"aؿCcݮk_WWC%GkKhvqK3 A5ذ4'+~ mc]$/|Za{|+}SRG,> -y4/7G> .H6AI +cv{OЍMAC> m2b:|.b. -O{O.r;3X~2]S@$'"vq4`tXO4$$?vYR Ԙx@Yn*.]=oI!j7le#՘m87㎐E܀k}/ u1w~ $ϣ~ۏaX I -UWaBI7g~I@0od؃a-?H,sIϓAGms{Z]f4&5i%ACA$ nEY!?5ᤧ U`n} w,Y.r^%.?m3_!43h7]B@1YԐ W6^yEݾ7lPUb1B߳Wag4M9䟯^_F^hՅ)}~c߹m_U~}mw*#6Y[PE>?dTpcbP:(tUH# "~30;[8} '/)SE)Z4\~)RmCmdAf:ڲ^Sk6DEX|?w,kqL$Rfi - !ԥ*`Y[Y:\r־x-*f -/;`!CR>:W3 %oȎ=,<[Vg9ș*Ъya(5 %_iju0)kz~dA7 -@\z!`i&3(3JΕ+p7iECW>t`Ak,vimZT -,zMlav<dXr/D!sfUdJ.HFs S4y;VŦXtbX$ 񟃣to1}"go%A>Rd5:O[hRRgS-xVmS|RJŸ6iS Uhpi#YxgZo.Kw^ڙ庘%/߹L?鑒;/\m6Kc"ttSOwwRْs&֣\T[N$u=esٞ/99/<=f/<#O>V{fwoa2_I_5IO4CqFqu&4\An-a_wUQ qt u^C}t~465T)ym! Iө4ZV~*FTM"E.BFd ։\K =>گ(Q(Ԓ ,W/yYJ*Pvٔ$ pXod?kqmϥAZ7~Aè(gS+^"S>+o0x"/IQ)~![7D~auˢg,@bΝ|7ѳ/_bz& W`Ugg^ GRNUܕk}-pixI@ MQ=x2lCJy1L)w {vDB"HV܂̩ƓĖQlnjzk+$4 ?$y 4bWqgO~O?YyΜoILUwʎ.ʪ\lszvZWS?uv _^΋^+wo>};G~lMidaF+/; zY(]"̼7Rmh7;Ҋ4ao?~ <᫶/M,P>hyr2q.||Bֶu ABߌj>YeczLZ*t7|- zF RSb S8LUCK\:E;N.dLu8JP_ҵJߠ;R?(zTkZA_4!ܲ,$z }jImyv2/U]Rl\_]ٴ(?z5rsR=]N(-[KA&~+ρX -+2)tMa${p]r!>2Xe<tI - tCa²Rw99Jf茄o0tkP*ңߊ1}q;z*()/^^2կ 6rp CJ޽}t:oxz|UU5dl&tMR6.dbpwRA>²T7sQ" v -B],XUZi|7Ƽ\2H1{:Y ]!hyW8軶 YtLmz)43= ՃmeDi~LA1`cOc8uC7ҊQܕ%H<:@7cmaú\ d@J `0ZC_i,?:KSV'z7wvRGDA$Yt||Iӛw_-zo'w~/m·|g]]DQYXj()!g龴}_Ty;_1$ a*McwyeIqc94"Tl(7 keb1XOeHV -C4sl})?< \ Qf|}v:~t!听i@ ^2#EΎ/zem1q(<' T^aS϶j&%(V~38Aˬ%\I}a!3#稼KaĪN&VN)%9SQW }CPwGuyN_ā/޺ނ%[ŷ7@ܙyQ䫁vaՕ%j.^G˩w< -ꪢB%$#)/}؛^Ӫ|;+|.sL"!s5 Twj5@Q޳V!NBuDkvUD^ۢ ERVP3Cw#)[?Y:ݒᡜ4I1G Eo -:cmYV*|1G4>ZAܲr*X(F-j@| b%<@0ĠAǕc<shp_rP}R u~C!7(u+:P;Ka@O!o40[̣g~ ( -]߿y|'yt0hy -ADHCjX% 5d3U ]_ѢwC[TJQFϾۃ -I">t[6B1p.`UU0(60P!ELĨZ(N; (22 ŷR_NcmTb|&ea11"D 9̓b]B ƃ(PbzI4%f(gm62.-PfjKX. 7osdAʘ<}rLÚg~>HǤsc⻯2???5D*H+P?󤩀*-nI%4@rxrɟoXD%a }P ^煬n 8 /m1S%p;!:. iv~X>a9%@-ڀyBQKߚ9x1w.W3xh #X(a[Ycڝ zN~Yc/rY@]; "0ݨɰRӅzI4mJ.ҞRZHAmڑIa2;eHGnh͂P/|7~{{хk'XM}qmvqͅ]_䚁soʕ Ma$A'z(/DsLm-q+E7]  /i.a[7P}3vRe/RVLGW[ux fC#yd=D2U ci - =Aw23\OPe[7o0E*:#,6a|,OWf>9>q ȏGvw_1pO~4Eyo("BVẁ (pF:(Jw'%/OaR؉lN:er3)LKEl`nY`|Q\EϢ`l>HiuQlqXyFkiljګCKSuJGh4MGJ2rEwH](R_Y"zq޼s ̀g'!DK]tZI7|Iw|wuw.ê/*׻XWl3hmx -tZ@'6Zmw3xm-0[dr'׻V'jkW*B%Wgޟǔ^tFv0kC|Hnp鉉 EVM2OEjwc}y-Z%Mc%|oQ@]w80b2p!/DoN=tpϢ]&ո܊тw]z5&U5Ca@z`+ZKj@E{J {ހ -YشwyAP~t9lKYٰPA&iJ% K?@tzTZvk:m{r DA99aa?z zp/ᓓU t݆M .wӑ͓yOÒM=W3i9F2%q}٦9O{ vVz\:zkvR^g@md -%0_ -!U8J'`LE:Mxֿ.Wm{#9J,T #nw/3;N44,ھX7 cbAD>鷣^#d-Oje8#//%t݂(FB{S=@P<t \ub%'O 3-/]}ckvvGIBGvx(dg &??ϲp6K4= & }|>Ò@uy(sb2?Ø6 0>ڢc78a -ϔT=bODhY5<KќmhB62\P*o_P?<|u -*4E\} * 3^ucV*&=Ի=_] l7+Zp(rGNqOE1XL4`Gz >z }(|'Gs9EI8( -mej'+U^.v.þ{o?IΏ,Ѿneٲ w\b6E䋏yhoA27UL?4cS4֞qR@à{12sݠ]E - F$ 5;n~cI -&0ndBRCWTf7pa-wpwn]7Y 8?vPh9)*Z6~Hq0(kf6npYٜ-Sz eð` D jp@5uHc!KWn -5W+GXz\WjdtF)ف_W3}'I@W X!Jk]2 *HMFft_ʣ̀V+@>E$(mW%JL] -460'׷mk]5  --#S﯋|@f{=B8ߢþ;gЩ8WW4:~z6)/FhS, iA3.צY9UvM5 y ML9=iH&ra?ҏ*^ MaHVt"T&^@ي@pX/KN j["d!*JӮ<ﶙI/%#jZ*ǺPTٳK@M+PUaB3 {׃Dܩy놩n߾u7  ߠ A\vEQ7 lJ,䀞oSo[8o*z摡P[.! -z;/m:mY=M]hc4EWyfi]l7uf [%QK yD dӑ~ñQF$ "d]'0$ '&B\ a̔&ڢ C~H0I;QS}/Bs(PX5khh(ѰlQTQ,S`*pj EiWWT9Z5B|$Hr(=o $˺Η9!^z#BqI9U-?w'|󋋳dtjYPwXn.;ɔ80la&7@9kYQ6CIt g.:y!eA - _Ѻⲏ1\ I` [_p7 -C`jXo"p?O~ҭkN[~Ps ɥbpL^3_]wA U2W¦xcmXpš=. q]TXD z -/@3^*:H6,s!GF=(, eM.07 Pr^Yfp*JaskJy”Y)0(ZM|Xzo_Q}<`?տnOTbWBthI(Z1072v LO~ۢGJx:?5Wum*=mlOOFgm0ݐ^c1fې셒ӷw+FZx<4l/2ey/ es|l&cz~L 89S/oS8J)I?Qp)~ǿS' Ɂ#,>f1v"sK8:U.:h#)5mwĢ70!/㎝ٞ;|= -gcFiȤɡ|Г a#9&,|Z9&5h&Rt8~b(Z)=U=vS6(Vܜ2_B%%]qN$#CZՌa yaiR9/52=C$*`,Tr 'nMLI2` tg)KMAB˩pys%usy^r6\_D=zj/Bw^5dg7R -j -:H.۲lY܀!v!fT~/u}e*PLjdC0JLE 0 sT wS eZd i8;)FiCTK j)9|7IAج5eBAjξgp$!Xβ'Sh8Hz' :I@ZDIWX.IT4e]pѻila4ܽI]A ) -i0rƛ_?䄔r:Nb:vv燇7_[,4Edap!d2;A߈p!W==_j{?-N&/1 ݅0_ < -UQߖ.njt1'q2uەACŴfb-\WS5-4Kx|40i)$w]| -Gx~&4WDG6HJ(: -c2;@OtW#hZ0VrZ}=Fz{@XÒ w˼[ E$ݠ.zm!K|E]EX6GAjwC;AT!thN yhӑ=z9 :ηn M$)-zu6pINbI>Vk:w|.?=kG9?q/)#7TY2})i1񊡷βJ)^_ck6>[/rp714mC? X  dh3*9ԬkIO-Un2ҌMtɜ}^y}G4DGY$:8?GH_?KܼvŒҚe5l4 eJXRV#a ѻp%SPiMsME~84clq-qصmJ7b3i}sInrԼ(F[G^/ƶ$ט\k$lF]z\"e}_ˣ -0MUӖ!/!ʍ-snHLG_sWAf55ltC%0u@fj!@AWS$ARdp Uet> 5w]Q>Eߴv_vm4ݝtۿ/W#+c/,2E>]O0G @V;֝ed~;lXT5Ji(4IsR s`F3c(pvZt\Z)%qP+(kc7  _@3 <`˲'. -#w‘ϛe kJJHe XGdƀydrM:v 2=LJ19dG{2 -XU7Jt1[_z@7_JzǞoÛQX.Z< -LQw`=Y_MuTR0AL<Ѿl. -yyI?E)k *1DNP?QȭwT$: ?܀fqDq tA@bN;Eq̱9XLefAr-U0eH19=|kAs`7m[P ̸Sc؋ֹ1{Zt`lxzAJoyS]5ᦣJ1mzFY~, w?~ޣ1Miq?%l]lg{ 9^ϦU0^y˭QiV-/S@E -EW!wm;.:+>@5p*<5sS+'˼D=,8~OZぎ~cT0(iZ(w 2k:Aa߀EȀnHK郁M\;GN9ȸuL̀8]L L8=8O -f纴[ xJ | -Fp; ;BlS -8QOi+>Q MI ߨ6ĶԧuvɺNdy(V-nL#8đE1.vҳ r6ne:^6}L\m5]$ .V7B@r^KgbM]www6bo_L;w>[u10KuD -8nuxne1-?b7:f(oHȹX8Wv$oPM맭kAa!=zf!Zzuz)Z6\Bgк9t!= FCWõ -D x^v%UB`@!|@!y?4e-+uU -cm^ 'Y[&Uꄥe $ZdXǦ;p`мw~]Зϋ5]''n?rݞR7O'ziFTRCwUg\)#l$ ʕVathUzA~idmG/E伂judbfR~Y7oxqt%l$dR)`6C5ȇ*1 FhMEQM -;lBmmSAimQ9aꑚ7U`biuzVWv9 d -v߉b''Ƀ/MyUnr}t=>I&fQ,e5gf5&ib]{hc]t4^ӓW݇OHD(nvpG{Ln{X>#|hMVEk g'=j.PĊ0/0nͦPn\D"5RuqSސ8;#7IVۤQd -N9Ѥ(;u_J_ -n:Ձi6Ei1MtdtQMx([┌cjO:ĖMvj >~d$WՕ=p9 O`ݹsgc3!K-R<"*0 I|Lf -(EDBuM'sP!S 5U"*ݛ/o;E3sS{'gChLUa8"Tp9`'Q:ˋyFDF"EdeWym),m˪L4ͦHڱgw_@u^L-B3Reu)uU99%huؕ%'EaΧ]@9I]; bWeˠSnmJG,Dvrwǟo'O鈹:[1߉or뵏s87ݙܦћGϞ^_8n: AnDMGakKӌGw^\:z>c2-uNh`F3Ժnاosֆhtf/5$hv|`͘gRJHk4tɃ\ -KTEZQ*RCtPĊ?kYmU4,Q*N _e`yEZ2sC)Kw 'a7IQ<(,l =$}BBE' @_)r]LXNbSU]Kz:"*+Gڣ{r %!v@'W@(RɾM$_w<:"-b$Bn+a%;_ -63=rL&U|׸g~%0piSeqŻM o,Wsz&zH!20J3Z)/3J< q[4qa2fCNI7e1LE4o3}07]E?ovd2=fUEX aUk㈞Vљh<ж,8ͷ RM_țEΘdMӺyͯQ!iݷe|媾PN}G#ˋzeAm4Lk)jt uV@ -)ݏItq\Gdt^Sl\ǖ;qWcҕWTOv#ڿp 3D7d>Ƿ{q~ww7g>.w=@TܽiX}b۷Gnǿ~UF\#!PG~g:p*/N}O1;o;㓽!h"ZGYtzVym4SS,iZnE v].ˮZ0s8EIRn#2(GQoQ8ƭ%-,$`=tMi=nHp . -L,"ruAYSQ"*n'P3VlHpqF,|G&/Po `"AM(. D2~zBv8;Yfې3r82>NvP5ݥ/ 9,C[ [\/Ti9vin@c&Bp+ `['/Lye9tCA` Fop]ܰOLY {G}8OϗoyBgK?]iLLfQ9&p."dkVQ9vBxI8h}&4`V0K@n+m oPOdy9QSw*|*'V#^)i}q3++pF%dp :Hk'c8AG%)y&`N|u*t!0bQ:Oőh';i/NuǙVQ~opIʟ HiFq^fFpQg -: WECv_${S@A$Y!O@>``wn9DHX$`}1oIG5=Qt@S`__7JpMka#^nD?ͷU$JPDH=ZPNZtI/Lme<ӣX{`Wu0W*q_:Cu.C a/}#]_tf?Į߂- x+ϥ ֊tt_eMr}xot@{zy2Z23 \c.0D: (|'7 )K:MjurvC'ݿ( *_{)x\IOD:q0GS_J$Kmb8 (@뗃v`P#";貶h(VSpfoFIȸ2OYMEGt<ƗA(DsR쭁ϷP923Ẉж-٭}u%Ѽ -Z伻Y6 -{8;]hWuUXi1%\7¤ ؅\ŷ>J>^ u7p/!(Wq?t@ \FX+R z]ؘi:8Pf o-@QWi -r؝RNjA7eȗsuShPUD_I t(Ak MMUa$.iS"x8#?@/Eu~ËzfHPOk -"%5Ro[\V)T joX8b^"ÂsOv,7NA 4DM)!i2F2paYMHxUЊVEK$f`2?=O_9]O,<9SCjO $h"k:z@V.#60Ä|q,4c'>Zu<;ަDcj OӒ'[ݣ &W0#deSk#̄"E#t,>ݶ9g?>ȌO@9Y>TM5t+X?'VlQw$|1no4L?QK3+HD/#iء-9,S?q-MH^ټdy%s:F.H}yOL['Дy~]/_MװhK@MqR(H?}xhTc:# -5SYUKe'}0x G'hZcHXi`qQ}0l 㚦y~FO (C+v&!ӡ\[p]Ꞗe!h<H5P2Q4CRZA53Llh仧!h KyhwW4WWY 4oM'^=—2y ܸYg20 -o̧À{(g^#\Cn]noPH/.) x[+oxz T4LzE)^Die{q޹{/g3 c_7҇_yU|Y$6||Mϖ|[mBh؆ݐ |NWlf.K@Lߘyϑ'm@2jc^@/*3vyA>@{1gOO(;`X(Ӟ5 4>AÎ֟EFϪCz?\2}%YЌn _lU -?E+' a=_ymږ׺-D]X 1Q„R!44pDǾ<D -|;+@I]7# -'ixFlP.8$'kA pqZ(١ϵ&zD|FMe$24&LZ,ZԎXGiTRatY:9KJ9L*LV’زkENe(Jӱ^Jkb-K'jPIHh.4-AZ^U*PɈb_?/7kb&vxrz!cL'^:[_ȔK@zNl S6`hii x5SvyUeq\3Bhxm/+Q^Æ (SXg o)[ᱹMT0-ӔnjMzyw=`;(tDĴhɝ.O1G b ⢬[X~]EϚ;i̠<` N֟ZEH. =3~ж%tYmyoB) \qB&y%8*mic|(WʪR㕾t q~.AF5e̫Pu,+KkKvT|G0BU8_2xd,0c-pЦ:y0ubǔ dTUe 2>A&`0wC DMܾh!Tt"HEh;}!%" Z85(P?G2<@E 2('Pei+h ڶHꬪ -2K 9 QPѻ(|1JmC_ц2WB4)Zg  ']ΚyJ,'o&jh>Pl(ϢdQy S/CK".g{ ,T}RZqaal -X목H,OLycX+# Rxv&7t^*B/䷨+Ѿc`W6}g21q5 4w`ҦR -׎쪼>`U86zSm=0*"kY6dZT_~Elб3r4U~} -,p|mѧAeOdXO.y@3TkkSܥY`y \\J=}MMgDQviˋpitWˋ)C{ -Ѫ -mBȒ3nE/8 < 4u |逜wJ xxmA2)xSXmV3\`qY`Ճ'~^1vx.y*ZI,Yv&fý6GxěeVVHvIRllՀAZ^hHD@-iU/S/B A@"E+YU/nӵkwyr*Y4x3~Nh0 -$p]KFrcG~'rdߓ\3G[Nc.r3J55$yc ٌb9I1ia#l8̧aF]DEKOaiKU!OI&L- -8h'Ao7jb}d|2II+سr8~Y4 -3V݁^!*G_OUH &Y Phi{7UQX_w_1^E)lL@bIoC܄jx%?t -XmƑ<`\yנM_UXP(1Ln{m5f#XXˀ+_zLwWyL1ꭩ0Z +Vm,RT+N[taaq2wPgl<`Q'2e,f;!0.a_Q@7HJ=:ס.fKԅL~k{: KAMj}fIlJ.dc;>RZ $*&0t&Y>=eÍO!My'n/Vt'wDXHۆ ^'ov[[^vE.`8ƦnʹG?xKU$ O!dɋi57şM/<{UUQH>@X 1}3W~y{u?0(|swn^̑sC7@ 'e,rЦaImմU.wB#\&5i9 1kt4u.X 1Q&O7-΂⸆8f9-塠t8Yt<`Zl/cq \n - -'z$ oi' &@IT0f7=kھ']LgйQ'jݤm:œS2bGA[U\ Xy -@ECFNNB|bPɓ, dkޫK1G ݘ $<HzOK:rLKkX{S0wa ֟e#{1fGF1!Q??: ybK@J2j;|K=}3OUX9z@> L|ȢS5"0Ԝ;s5s|SI\3>+FLpܵ!9ϛAO =L?*9yz>Nj\ak8lmS -W7渾[Г oAta{s}suo>?m$/Z}btVuPf]+nm{h3zb;mЎ,j`2 rRFe9`r3E~ juPdv8}b!_Q-i ヹw}@P6Uc4|O~KW#>\l1c+?hmR)Ɇ?] * m`%C\0!C$_ xS3mʵ ^LoAofoxbQi?Di4db`ƃҘ -La&W eՁO J;SҦHח6p@1 (ٿ,m۲.Zw0E C]*H|ևr -),"s|Jm^ZS2akq~Pzw~zBqu"zBRAj8U0J8]7J.D)7şfXF˝(:4-b Ya((`.j,ňaQ) ֟컥kvdk|z)+ -e <&9ZB0Mqpy$B;<5S9qn?xÅ1"8H=, i6f ۦjUcG3 @;o6. -)l+H&`23FILĹ ?$ F2P H~(DWmZ6ҐIrt~W߹O5oF#i$Gd_/7tZgI{x?0J7@lvيtQq''h⏘οL)ℂ͎"bY;4=3~][W \4hrG18P̒PgqVLo.j%&f@!(d00bq},MЮp^uvzQZEEhU)(Iڣ\"Ny6^GE߿j..V( D4fܥ1yxQ AWr *샬}G.ϽQo(kR򖞪 M]~{~֭M<|K/)N^Pp%WGN@A)ery!?t- JrY_ J£ky:*ݰhk!/ۻ ,t]e[@uS^gŮ1Ƿ1ϳH5METcr]^B *F2wlRD?fΆo89AjŅ[Ebıy\ ,YI-G۲5 }CxFzNBФL"bc>q~kaŧ3pњHJϺc$Rxgó@"%(e>ZuLP8)T~BvQ7q!׆!2|> 4Lߚz>|8yrF'q+n)e!z 4mմTUuJ8xu+J)!8AץCLqeua`a(벎rtluV0o!nxm$E9%\wE8/GnF -Hs!p.ܭ1,*qѲ(2ψ զ"o(zNĭJ==Y2 RU+1e݈1Zt۳"WT*v"Ĉ -}M>2JMb~Sq AoW(2!Q/1!zE(/+ՍFoEP(`dZOy0r%wA͋`:mY??ŗ\_@&;qݤ,͜%W/,szPuFnIT t(Cje])$ɔ`| -}GR㯽$d&G%qd =AT7u[G{c{3g7J>zgA+b>9v7~%R\px؁NLdCQNHWQE B{PF-F|V tUW1W>aW) -VP]Ԫ׆se]$bX<~H;}_o>ߺ_~md֛en~$[:>{17?82GQ*t+w&$eUvBAcMQ\s|}BQji*=AӅӿa ت &*y@ΰ`zA:ѕCˌ z&`&yaKz|b* 0Rzn=~ߺ*LuړqyԔAɩYDϞEYN|W_gۿ]yy7G,ƻcwS"& s -7`LD] 6@2+ 0nr JeteC ҹu@~ Pb{9 !tRJ -Xõ|V,(*m(]<-aAy}0i<ʾɸZCLinUCodž-K .f-'hO0 eY -y\+MI3!CkAҌ h4л^7 -պ)xbaZFV QR̥c`C/ Д *Ϗa.nVۚ5z}J(ӕ:뇏ٽK(GQtvvwaiJi9jsdY%d 3ΫbN֬iLI@ (e*ecC.vǘn*o݃ Q0qtVK!хg$뻣_m(Z@SRPbAɳvk/.(: -ՃV@xXa !w_yV݌]h"bp$MiO5֛N6 ->~c|aA(Άx& z?^IK<2((.αB^?뫛/~]ԂACS  r@#&0 7OO}0ᢠ$D*{ HPEP%{opZԢC(CƦ :E$Jޅ$W$'\żWyPay_CV<^Sԋ+`:|Zȉ acf<@ˮ UJ;_}űt(L~ֿkKlu D>vEM̀<^JAp]m;ЍbBzT^SAfBBڢ(Lt~J'E* -E- -skEkPS\5jh_R*ߒ#fBIMO{\Εg4 èkc^aу?bn~PFD6>;;;KW}q޷ӳ{yl;o}~/PVu˷Pr` /e* -=:85}R* ^H(>;C JNAH[$@ažKf"Cl37'h`t2ɴN 3\[fex+Xw{ -(鹖@bhK= jA65"/GF!y]_5k0mvs.hirq܃J(MP2p -Hj AVH)v&ycZt:lԂvЙW؞|?'|: pU1۲q sp[p2{eDh  sL/uBawgYA -)y.z3C&v|b 뛖|ذ+BS\I άA<}4\$a3zRd @2ߚ x< .8r5#ً6=LLMuCraTv瀜م",ԉu^ﮣgu h@)[1W,1vBt &&ZmH>,]Tkx|ŁG׻+y$>zγ֯~P\r 9]{oQ6߼|,dh#B~Sh>uUbRF6;\)ӹ؜×d)ME۹JQe8-tF ̴\rLƛᔺR`ZN{~OkUcD9ǸYˡ˚ TJ;͕iDEyK#3UPSF J݈~I벼3As{.W4oo p/,iȱTH%tN߮6v$~/?-4v?// \>) ]FW, I9*rP -@ ,?a]#|\nӎL ~@ VBuK(v]Ybiq5ozŰ9sm -O60~$.G4=46_!v!}bmUxYIpgqvj$$ӑyjF9(H;Q)H(Mߨ7i6M @[@h]yF{^55>@H+N1B  SUSӅ$g-}yږeQ8@9wqS 4M-e4(_i)9kqT3 G\HRë](1][m)̵+m3ёx4iW0o-hk28@"PNѢU1%1U'Wr_k;?oh1]_23:H7WowhMt'% #$T<3SI |@ !/Ftw`"۹h4Qi 9@-'+uEzBu:HY MfÈ4vݶx@I !4mOqPu%ܙn޸La N(viNVc +J+\FhAw5%>sLS k*8એOno ͷ]+kHxO -aGFo}W,w>?;ﰾ \!7GΗϡGߡ-IJ:Ro zb?tc܅)_bhYx;PLٷ&H1z%5Q0gy *͢rFTE[YkmdJk}TwvIɫ8l~0>?l(J:(k'̾2 >&wy;9b θ=zwuwYeЧ@ 15> 3A'WB}MvI:(6R1Q⯛_-.h=+Cڭ}ڴUk뗚qVIfcZQk*BU:wx"J{$ M;ҧw kCJLq3NߋP(p[Ut} n1ٌQ.ҁuo)7;.8U< cdR y `Ze߃G=NeL6@ 3Pdt *ʺ1yA)) Š27>?zʭ#S)נ5M]AZ2dz -qA @-jXp" <=P~:`]C@#ztG>͋/:x;c ZRoں0DWy P"Tht=5m*:/ypG:4trZ -V(Zi8NƉxP횁lPBٶTF,;'#9bU]G# %/rnfLq鮕}j{Lp w1l&LU]3ţRm,8'a3[ 9(J4|YE1y4@eP`.{i^4۽X똓0, 8D/Q"/Ǵh,݆aD@*At1Q<)?}c4,vj:>2o|y.ː%䇛_k֞pvoӰYݐ3Ͽ5*$* j<gۑtHiJUpR(6t}gNme@D?#AQ,r4)8TNJ* -mh4=($ŝ%!4Uo=cEW [sA'IfU'<9ŽrNxj|ȄNK]Wϰ ϴ6XE渶þqat])â&t3hʁ ( !҄N%PPjK=&!SzT<(TobZn~,Hψ5sj<42G>2b览,M/"q -.v|,P$g)Y:7dʒX=4=yld_܆ +ƅdp!4~xɋ/V?ϟ~E -b?'tJCnKkJDhL?>`|pzVߐ!]gIKV(ay-~6MW&\}s@)!K,t܄L\1WW9"VOELqDO[[;Oi2-M}xIack!O[`<)& k>^SV1@1cs{5MҞ01M -28j)Lסn43VjA2ͲolXM;賢]L(34)-Ĉ.i[XಌF -?߿a!,/Y_?vW?%cptruVgw+pIe.)NZdG - Ιӟv)(I$y;Ź|>=)sHOћf (wE F(l^?oBt#0MRdHXn)̩R8CaP5"&L>@$'7uA–%:~"K$8ѶMX [TfUcč#-l4 -,ș“2:0:-W_)Ox]7h_<^k Z=O( ӧ Z cY( - izI"坧B9܆bQӋ?k\֒#Մ(Cދ?'aHy35s9-8ВAr8x|XiSvJHOL(p"*W h-7 -}H5ַ=9{w3Rʠ̲PtIf؏9uFJ{϶Ȍ>)~{PHG =Skqtɻ -B~ -e;/ϷR1)O)p"؄b+p0 #J|յf,1~A;ix]3%;9_8Xcг-*_2Bb-Hz-@Zs1u6TH -Seɹh. -2$o/{el8#o(ެ/>%X!q9<&;v l;ה "iy}[4y:E},ގv{NVcF`R0qÌ;R'DoZ&m=ˀ̃ b%ؗ0q =ÿ~Mܗr"CZ.td9]fO~a}^gmK3~:bfdk[\ eT"dm?ɷ~KT"ެjl :w߹н) 0'VϪi -@ফ1 0K̜#0i|W{" Pq`P EWtw5Enߎ$8屖F%gyf;?Jɟne%z&-oS(X/F]! Qe8G}뛛lz4v(U -HCYtHQOHPE O^rl&Fc>ߵ5R10}w˪d ͙fF hX-d&:? -+%D"eE]qA ly X vZ)k -W\f _'?s&a$I(燪(ncV2TI0wY.Rܓmd$.Tn)sM3BDѲG氏6@T O?}2p7stU]YӅo޿+2.#1jխ: SUJbƬV12جh ]AG{6˲Y0*`I,<#8l@=`~hC@3!F]x & 㕍wѡ˝ NZ}(OAp: J7ZЖ@ $ tǔ-l09iTTS Mu{; Hg6d)K2LtN*s,LVmw;57Y55gik竳<^AJPob3ó8 iPai2-k/ Rza`jG7LȴwP^No d5y;9ںDI -2uz$DO,8M -8p܏b}fjDp!czǧOG!x^VM]}+pGAtW>Pq>=3kLN%(8A<2/'ۮfѓNr3u:Z|PPDv>mS>-ah:yYVWn@JkatQ)G9%{|0-Q;Y0BY@dPXa |KﵽF؂-c!d ,LMp$*b~\ЌFLnfp%ۖ޽y=kqή ]֟V~mEuu*:*s"ۗ7&o^y\wwU쮧Qg/=W|whz -s(7m[\q0љz]@L4Ek1ӊ('yϗNq -OHG?R Y?qĶ'x@J}(&RсN֩9EQnp~~Or%sfH ;?ߐWqMyƀ3\ RAa@5'L(hL O'*#fFivRYd^sf7EN>@zM3E1ݮz2OXy\f+}fps;cu2"Bn`ͨs53#1S_xC^>w+ro/9yz#57 |wxW TBǬsxVziy۩S;!3,=py` @)pXn߷=䐉}Ġq_|Ϳn{Om+Ce:=J+9X<{3nwS{{+hIῘq5UM*p{0uYvi=a혲l%# p,m`a`ޜy=qn`gFȿs( `0w&)wc)ՙDl|K>Ųy:w?)dY[rX(h -EKo8 {E O[xb$߹*P3n>EANb왱]XdB>'VXJ c)}!~dk>!'݂p1@?%)OqΞ?V@sGw> ޤ}Lw] CvLF']\.;_t~Fwbn9ֹa5K ʧ1{"fI~'iY_J(/OoO{>C`;6>r *b =48d87ܾ*wtAT:'j9 ;ڑt{ݫ9Po@EHG=T}Kdj[|gON -с c8&.jmʙ#H:mGC/dݥܶw1<ҧ6r.h>0}x<<6b#˦o쇟0@oR*nL{}ꀾGO'Tv -1Vɷ/}bBAQ j`mAnQHo' HQ,9d0]YEUY0Ch_Q6(Wdl|9|;9$a^. -htA5JƮTbңĈ>ok? ۂ[UC] >0OFiؑWqJd8{tVc$ãv#uw9Bۛz_s=ُ>A;(vK?}o壟Dҏ*)]5(&:~Q=mra1]J010뽷jYi/H~{t8(]61:Jw/a Og, -E,a$baC'NĴ`hW P8Y '),!8$FMRMkeZopbϡB)s Q< 1BLW^_PqtqX.nHc,0~aBM%TU]swn/(u!ҮQgqr2 -(cWbƺ$E瘂Dqn,~!־~+n slWO?6@8N] jD7W`mQ50ב:44iqf2*';ª`L?G??OzZ⚋tR1zw6BN`&)f;Ř|Pt*(UKku-=;lR ҘV+Ab] -)%SXc{=c| Q'n|Jb s/ H*יёLw_vR*z$t'KW}nbs R*AҪ9s3˘̣@7!_G>_ߡ1^x你ۺLKD -w)GbG^O, -O7) 8]ٹ , w(aAޞk/)ex|i? -J4JP˝x*e{SՔr7Ń=a+9ܿw'϶r߾Z,Q\m}1œ?r[.t'#t=;;)<0K$3oT ֝vpTm.=u[读tn^峪ÎrR )2W%ج_1^AȺ}iA aOyJ'd^GsQ`ZdNb zd4eNh}NJ#I= ҟpo8` e!d r'| -9sݻd^!Z34D|T7d% @GiS1+% -闒e=78 lzOXyaHg% -ׯhFL󛊢G4|}MAIw?|arTq~bNKw ~akQv8җ?kŸ;ÌlDeUtgn:Lj-.Y}s -,!}y/H+CgK6f2Btp]5::ꆩ0JTEIpk;9*-kԠc]\=U0_ϒ~6O?Mٳ϶?D5.ޡBHie"u+cm[CʫrgJA%˨h'#.wOP 7U@ N00r]=sts(h&|݁Rs}]5p՞;ڏrzy;Ur,JC.}AI|`:Ũ6]KnmKzmOL3 }5rXEf14&!NMQ'k7m*ՑemtwI|n, #$?u<W1w?&yahA+KWi{(M[>DH+$rg"Hh)O͂+Vv6`HdfO=ˋNKDA);[tЙΝU@'4Q˿k'>`"Lmݶ߬8y8WաgW^}"L3:I T*ŠoF2u'>Ge!HDUp*<86DE[6(0=aȃ sEx<3F8 -0"{G>`WdEv4ն@ ?_=86-[Olm#aPlfJyc^-mP,pnR$"w{cǭ֩^xT@F?-u17>P1]uc.ruŝ~iZL0oA]dWMYVc:n{}O~{x}g}zsߚ*:n PdP-TR`>ww*Vv8lg\i΅=,kD]7ֵLzC> [Z,Mmѷхh0^L1}鏾OأEF> W2ޝLd0>`rnj];ce߰~Yݏ>}% OIyK9 HР6{BIܑ:В4#y5,S/fş[xp{dЇ{Y:,yȩ}_)SEBEa;/0 N C[4 ^i/-xm2ES&e>{={kȪȘ}QQu׏(CՁY1;je o6ŘΦ : `9ǽhSP߀҄zq"E ($a6u~nܦ[DFmN8)JlJj/55l| Ir0[VjU(oNDX^B~O侻7 _OM/K?V*|̓` mUmn,&E9mof+!%}ɤIY (k@*0|󯿴AV{:f',SU:șv0&u Y|"i 37_Xx_ zp˯.vk#/- -nE= }Ax0c1ci)+JA*A\gf񝠩2 HGV["WZ38]cϺ_ẁER#HCa{HNu/Q&@ 1TBeNHI0bTZ@Um۶-۶"?ȵ5&^Na+xޡ0ReQ#I.]m]/,=!=G^vmdch};H~ًhE1޶,ȣ9E&Y&Hw*^$(J!^ޡn`9һ0Dbk E# -@] }7c Z73p:Ļ4*>pr2rpնFvT4&*:u]SL¢J ?4a[O~Ou򺪚x']]\v 3Cq=l9uEkݪTD&8(b<ങ+lm#xrH6V+|$;n.#|wxy>>߽uU\<|V#ڪlm$jHo&7X."7򒐎 nBJkX )%K]JTw6cY_7RyY{>7@/{̭Łvwl5R "qM]<^cOnڔ\$8GM7Ke@UIh_+98-% wSDL }:2o'ɤ5g0§0XNQ" CP N$%eVlwJE sCrPK C$(h~.+HvV`֋eN{Hn'X)O0z ԥҹ/,"U S#\ -O)\ ||t+"YHy~"a{Op4f66/?_?{ȀhYh egd>aIEwp$BLSU>Yy R%)!)4D:uP%)()s*dFZlmqeg4z%ˋş0<;?HӕxC?RdoGЅ ]f#zYtUÖx/sm -炧Y:$({='Tj">:]')y+(ֳl+ɧ}1;5,^ ~_~a|{yΕ p&cV+ji[AHk*&v}wIИ fkh'bٍUk -1j-D%"e )_2'E jq7I@]dXl7b:5k s ja<*:a]=DeVOj_5,F]_5H/h/ x|E`ȮEOHi*E_7YYG†m4Eamq\궄A!}/!mǾ!Y *J&jrU"śY6f`9 Jsvp[=|ZxŧAVf^]6A._T\[hYfg ,(?9FvN \^@\$ =K[ b>[ - 15ĺD xo<콞nW3gRxeضr>wâ/|y}cȧJWW٣}eGd]MB* $ YqGfUI%Kk0R5TMU*Nh(jm>|~aԕ5&oBџ2e|݃ -]Q?9l{q&"-.ʈfzs*eivFys(pF -J3A*5"e5m#+rL:uGQV%o٣:܎q{,84p90<>0b 熁MjQ~ӶL.2s|/O\K:]&GFkIds.a|WuM\XmR;ذa[e(:?\Eɝ|os|)Ws{ƑhŅtU.Ʉ[,!.͠1]W\,kYP Wwvu=%TD8V19UT֭9,'H%d_:^9E$ǡϫj[*X?BM(;p}3qQ, ;j}W䛳WԈG{sB:\7%CYz7 at+:sG;kv ``Ȳ] fuٮGa'Qmmf^O]onjr}Sv}ʯUwNZ%{ˀ~):=+t}*`-:n±UpRcKD鴩JZ7O _N4m^Q:5Z0NgEZ);I -63310[z]ݛ$[v"qo'ŴXTfQQx[A'E~˾G8O|yȲ[ uk]]_f#}z?5y_6r&b5*"7S`a; vһ N;CÁN|2>險_Zv)ڲPl̨"P/Oh?h/7Yyo].=giA}?΁^>`i=!Ы !TnnwY쁝tj3,D=$5aaM-X1gbH}`1xMT%~XR|ce?9LJ8 LS" +UG&H=5" I#nN@Exy68"; o SJ 'm\Zo~CI*㢩"/ʏ*!*uYoWVQT%ieFZ .c`}oz9b bYaQr|nEmkׇ#mbgx3 Fꦠ 7*O(l J l#D5~C`ݴ&rZC5znEQڋMA[$q}e3v`5,]~_k؏p\WX ;h!QMk H@]|g[`bɚ\=[vl&Xc`"ٳ_|o,//$cCOU - 8v0 - <d|QWl`!=ůѸRM,BG[1dkoI~7U-߱D) -q4鱪QXy>0?kAjN֫zpě(@n8 6";%v q)wfVVu1(l[o lj?Nbu}u81-;K<ܛQs.3lA)F&}qڢ1 @+H-ӌx>IQ{C**)of,E]`ݴ\#^VvI|%У#bdr"s ?&Ɯe0!{& -V YWYnIg*T`xuğBAm^h%_ Cg X>}lˆ5R|_y~ڪπ(({E$DQ_5ӯb:v,2WR#~|ƉHe\3HOvmXC{Pj;d.P} pMTF #_uוnxel:UK%N>@gqʛtfӡn0Ql0^6ݭ#TZ&vr3$tr-uB%EO@JXmO웑:o0xqxWtf/h$t96ivR~ -;]xճd9\Xl2yAT&"vN7p=8U cENJj漫bImyl%oir}]r**BydDZeوG}@;]if\]g{izLLZy`{IhyY榫^LnFݣ8(}<\wo]_FߕyBxPq%vCj/_Oe5&Gt0_5(NGhV<|Et]3aXǍ0I!aܫA s:?^~삣UXԟ5(Tkϴ#nL)bĕ:i>[+A@[{Q`oT8}_<}vp)cߘ߷9j>@1VrGAp.jaĽ ݟp<YF/.\ [ea]ij -|R8u %rdO-|A"s  71+[!H,}|dE__\c/UN9Ǜ=6{jIUﲬl -`|2yH,!#| -0PU ISE ;Y$2}lSP_0;g1&f'm]&VQY|c\̫ؓxt.vHc]?~vX<v؛˞CG3َ a|6`F|xV &)GW/æ}J[:T 'Mk`p %bH|7"!CtӶ:d 8':IUnY#dHI,B@^yoo ) @'tHyuUХG;~XQtBŝ;;3Hn{m-e[Z :(v[>p֎6\#m8ei^sHܼMfE!7coܶ$Ylւ8x6 wMyGDă]TmFlp9SbFR!CʱjFuLpQb?i6d25F=d.?P b\.N刺t.ɻGOʏJXd]0J^#FޏqD पTe -M9=)Ǐ8lCm" -QAKvF80:&Z@ 7nͪ=7,Y M)p~2 -N}0Tj^N!N=Y~ח̎Y+XmE#n6ɓǺuɋ-LCQ6S[tXG4ڦ$snKz1UOT~9 -oZwً&1ͣ}eƪ95SQtsu-=y,u-N?mQYR>H~w %[8]] 3Q~'^vTL#ߪI-gI(:z~vuҮv TYA-]UQ88pՄ? "*{ Ù"fp]Ԭbp0궎BTH>a,%+{ |өĽԭ^#oi-+v^az#JDPdQ' 'm~Al4l/:r6u vb!'qQ<VTz)S3]Ni_%Q9⑊ln}MΡ[V%Ɔ՞pX+҈! 5^eQtB "ij5L>r`ڂtđ2FmA)mXI&$>3hpyebQؕA#U(XXpLoO0ظ~$\$oAƫ ]ͅ{$>.G֟J$:^)͙p&'p{¿I.>l_~}ˎ'Nػ~t lj-^m -Ǐ>f!I\0m!Ǟ{ AtYKX-L>$Ξ9csS\ e0լE}.rx`д7ye?W2f$..7kvuG')IS֪%Ms$`Rq4NaY:[{C} - YR*s߰ͩ9! F.:xS0Tkw+?.yMHm*eqM3 i&c^ͣZΡvMgqEH8]۽ݤ ?)Bruk K{Ļo r?EdT=zs>`پ1\y~flRys'z ~TDoZ/Ũ6vip& Ak0m{$eo6i$maCUGMw-2gMaV#͸ëUZW:tcg??)o槟m{/>x!oA2=xNz{/_c;tO^|ir t{럝 -ĵ{÷]F{ƝyGg)cblD,^ڃZ_ؒdžִ^*LJΟgݎĵ3H)Rk<86Bwu8T5E5,gb-o-._}y3N_nv(K1u{Aة> 0:UFc[D *4N [٩<t8nX܎ǡ]×u ״dԉCO8f񱧂}cQyLm# O`*%2Rf X^3]IQ٘!O%\Mg#2*k$LB^TGQ/YEY ;T-n{noMD޷R9dƹ GZS]#0qy}8HD]]ֆ.c]<V`r>UD+$Vn -= xO{I-㞋XkDuoBbcrEZ5Lș0bkJz믂ssguܵqaqHa^0PNAaJ_Gn@pqiniPa쓟5ǀ/jyXiB:? < ׸A,cƌ=okۨ5~0-g-gRTܓoș:9wZf wI5 oYETfFBM` Eyd?7-x{<$NO8w_.i+h5 Y{L@.dλ`+"o[t]YNSYS1+Vi>'U$c5z v}uq; c$.[mw㭢/.p~0Z>G+g^ˋlgħqLYlK] ]ƚV^@Zg/v;,JoKPп|^r[uN! -:>Eo1G_ޅ`[ia`Ñܧ }vhGvQܟ5l%ͳnT.?뎒 |3"q' š j\ϴLJ.5lw#EYL% '> O~PDL$8mW[NYi"0b{0^'$|R懛/xM㵢cU(NK[ؼ ߸2NhYw+ i+HTi|4cՐ7K>4 -U/?1v,2Gs2GE *3-5#Y%薟&:Qa&<֟"iDwV]^\_uv0Җmw￷}ǿ[<Ҷ9HW[ >^nDB] -YsBЌv#]ku3%xׯ= >xGΝB&MxRVD>/^8rsuO>?%^7l,~dr~wT?Xd#OZF(Trd<ֵQecxh #PQ+R/s pDГOJ7i xM8Q S'TH~nqИoa}^wWqnQ|-$N=>X2MJv+UT9kو}aCn7Z֎CM] Yq҇c@7y MdPΗ5w΍DJh'3'oeLT=]6 h\iזeqXA[m\un~Bo]}?WR6leBB 1~v@`HA`1t*,I,P:ˢ.>NDZ^Xz}Br7|D219OeJ]JhHhkz֑"rʼn؜wxF8?AqLhlAˆ{a*BT@{wthd6 }im!~}_7g;؃;Dr%gc_e.g#elBwںI7Q-av<~a< ͗_22 -V04ۧ"FO٪zd(R\I?Xo>7z1}X!W//r \>Ǐ6}|NS+Lyrys0I3l+yM:y8q`az:dywKKW~gȼQ->(iͣTd@+Cink:σxluaz\pT*Hr $:}jG=*§z8eL[ʖpToD9Cp<P#X @-`6p91lz[fYO)7q^.эuA4ba. IB`%iB_@CO68>S8ILK}d@A}i-}es^WՑCOE~XM6HH+Q[7mQ8oa9Tp{v!&";R2͜\Zy{i= .lBP;c煊g7'db|F([*`=asll[ x`d+Unr`I[J=v4H klnl7;#XpJ ri{NFESsb5KYDkWOc?ClY6 -Q`2;!yg{I - R%sQIb@ۭ?.5h$"10wی0Spdjǃzx)˱../Қ >>ñ+yyޙQ ̻2E@lqs@[B ,w[[|Z:W<زVb[bRW!on DncCsew_7=N"Hiu_ Qt(n` -jNp=3gk - ZV$zMlȔ)wH46q'0Lg: `$$'}`H)'H5iГ: 8kO~H]( ,'KFO`lp#Jj %͜V GM_gulE$%Mu{^%NTt)=bz0u&V`+ڧ=܀#/Ld铆&ɵf|Ж*ZUe471@su~I-85re`HWtEt&]%u| 4*_w+hˈa{Q\ -lMp'8MUBZhzfŰڳ!ۓYpWS_#h) 3cpc4l0|}6iP9ʐL8./ʲ7z:N(%E-f2IX/x0p` S)S>>dBh'ƶ<B8ZXOߏ#e>]ѶuqRj<7AB) NrfV;8k?Nu=\'nBk]&}Kk!}e^Mi<+SS }H@8u ӈj>'~ӹEdw'ԝ -5@~ѣ9Yn.&HcZZL3Luo:|ֱ(Lk8=?v]sy;|>XָT#-fsws/M ĕ7گ8/5,E M)-`o0=)S=&5-v%灱@ZTti[Z8d^Onx)S=v PM8{H]kߍTqűۜZ݃!X4j:p}ſ&"=P!t`AboMC -?ո8#'xחE -w&uޭNBO.l(3ڱ$U^ "/Y QQ:p Bņ:v5HBSt/np|I>N8g= ۜ}N -0ym'/ qk7Dj 7FX9..C(\/"o20ggN1:񆟆5D^ȍD'aRae[+PW9QBPY>/ :ojAaF[l0$%t, G'٭U - Q2+w - A -HO(<YR3C&€J;TbV]T,|fTO}Ȗ -p15v5bsu n+J\,&mVN?Q"yu8ڬcCus8/~G鋈rǡJ9N{w8ϟWaU>]?Eiz Hq]70?2aG.VXV?K-f.TcW@J捍PsKX/,ZXl١Q'ίIsc -ݑ%T09zUg֫%(DZqM"\(:؍`*) -EgSêYcm_o*<X6&KVXmǹw:;dqD"}2o DzNzkm^WXqESބAǬ||:1Fe0qxvO4/Œ"R`^a*K? ,tFSF -RHJt.DQUu+ *'EѷIQMu|PT -=5ON5#XT)O:]v37ZәIל -jm0Xtr1opm9%Jжp_ :zJҩ l ҽ송Aw%<h{ ޳q\nd+=Fu&gR0 S'(Q0mˌqitDޏee!-dpn ylwDMEe,dWVEmbsAbVY 3|pYsKhx{R%aɬ/m[v`uNloJV<gy΀ʲnu?J=l:aG7$kD*u55ی5ga{bH[wJf\8gvvn/;IQ@qxųDnV|ԟXmW~KP`Bp@{`h4eq mEY!m~n -7RNt5NYPEe$>ٍ eRĪF.r(~[`Hmv:9chH;[J~,/fkWv-{u*O:,h3}uƣ@Ҿ=;7n٫$Y:< ZtCK +Ģ0mp'&wcåFPIɓPy!j'EjJԍ >^^0f11Tg%^Be4Uj6t9?ՙtWjIH kzDfں!b蒩aIo,X*Mao?_\C Uds$JI pmZ;q(u<#ZHVUv7 yBX$Yqe9[ak\_|w߶AITAHSEŮݹNHTˣŖ=Oӟ|gvk[ `A5Frø-a, E:,9prg -"4sUN!)S{‘5[Zag= 2&E;Wuxml{gc7ݭq"}{{A!{>{ܕ)Ѝ;mӑ{p3+cwr¤Ou]/I9ysu`b6_?_--纰v1:?tf+U`f04661D3cر&ւW0Нܝ&rC>$W)of?pc,;lAGhCN͑`h}\Gc( -ߙ A3o-,b?,' {}<1V֭^g+ Y"O"NԝNškKθ^ SN`HphˤM؏U gdx#-}e$ ~P>LRV'X5I }.)?2#utʑI%tP$<2kU{0re u]K+UntRs=$0=iT{\c6Ok@S5֜%&oztj嚮b zZGKj&O`EL' Oh Ⱦ3Tt/my//NK-phYX2+0#Pu/.7Bádf7ۚ( %%:nǑ eQ%@6Vw1IòlT^@+,Ӛ[ٵR%zU>bzo'[[S -{ Hli%+$[u#ٮ %ä H#FA -񢱮RN@GmBZw9>[6m}#ٯGq+ X+C}eM_fw!CO6d>#*@"d -9nj0 D"O y" L;8zL@ViLT"ƕΰo0# S4*iWgJϟ*k$| ^Od}-=ݘ,=g?Py?ۦo=wFwo+Kf ٰgS7232++k]TC!5 Z $H-x~^xW񈄄Kt(23"#NgpyZgfϹ7R*2L.q77׷/ -Ƌ\&+ԒUuջ&44̥H5CV˻U!x[vC/,Uu5Ä#6 Ȥ(͸l,Ob4 ku~d --|w׫WX\ݚU!8A_&NQbɢ++tkD=xtMhJT |^^ڴM=W:ZͯwEN"CL 6R'Y5;on`}D|2 ;i'GV+!>nE}}+a?*}|``?D'~ 8`vG!C#(ݾ`m'#皕D7 yGXVCjK[|=GD">Yfa[hF&rm"ҤP@TSǰi?cZ)9|5bMRy8Ԋ>Tyi>|/֟zWpbiBjxB9 a>}׶SO_p>_rD -IZI7"5,#9LsMCZUc 0Ǟ(Dɉ%-: -L )J~) |j!,s-98k@LY.qаyTFqxszx#A{CR,u^Vc-L&x7b5!b^p\Vh`ϼd6 -䝫vyᱚ]G⧮m͏g>ǀ o#S¶6Wnw\nr-Yq[pDK !l¹R@U} -ŭ\62}{d_iɏR(M2 dOFQ{lFWZ7/3:+lsf){Ms4y'5 Y?="J$CpBIv^bd|#\;'=ƍc3=cIwM?\xrOKJ"uSjui_]-)_qr2NNd4<;9N\C -)DdQ7"D@Da0QydG/C2LsJpre{k TlJ.7pM&G+fQ07e{$ I5W M on½ʊdx9ߟG؝q_/84,),~"O^29ENWr:AHQ4MS;>N/oy?;]0Qfia+ W8gKaZ8OР+}\{4K~>Gֿo?; <كzN^U kbk \ %Irʦ+jGO?I'*,K ([oH8IoxKMlqQ4kTKC݀^]lc}v.y/꡿$,|g/n *wG?kXFgqq{"Wbi4p=#+L翌`ȱAQQ(r"= -lo,fAA3tJqd5&M5z.#>u"79[bʓEBU8}.mTQv.{?F-?|@*qŨ~޷WTX$jO`}'0/O"qI`A dE;-̛&< >?|w*΂?AN2%lKY'L*|ʊ MCRz<ԃ뚺ׇ$8n]UKӑb_e4$8;ꊜZJb"$ȇn,w$qvtRG!2N&Do)EƁq%A4,;Һ - %'1H9Vƹh@seFYfrз&F -ҚxG -8 Ⱦ%d^@*0m"ў㾤!WzAB0 ݅ )$(x},]zڱnmC0,K+jo"u&-VmD!YYH&*aH \sFL@ y@,W)#N7&udhx޷:Sr"^o0n'{,A"턮%AI}ׁycSag;:t͉N+?I"monTdmnk hM rx(6?Y\8lCdض;Kx_I6~O^ϲ?bIz(vGcOoѣG'MQ C*qQ'Q-m{BvFXH?pu3#N]pgq.ן8*EYA}Yik !x2[W f7 49 E[V-`Qr%C("i2l"0`^9)p&e:' -$]'Yvq!79s8Xm?6cNIw\|CuUpgg U ,}nOقGbCmܸ1_|G(Yb>N5<@$h3HcdL  X l쇖ЄivAkR/7 McߏȈ٧BkLDbAX󳾫IMQޚ4rwZ884N8T0I0cxKe>Kw؅=[#Цy}r=$JA&Rc6,d"[ Mޡ:_'Mf5a>Xߚ mWpI 5';)kM|Hq,E{X(3ˊ8JoP\>Ff۵5g>0-}SofB`xZ\8՗k|2C'nM9h#BJwd(W~$o]U]{{{susg2S7~tÑjQWHQQG#⾄}1/`d,m`w[OPqx#?nǻy#BOڋr%9~Kw͂i_,A db FIB\BXNq^ldžlO/]J6& oPdA}0P@Z=LN+{2[ՉD&Fs8^q0 v|PP<r!Xus:k!~/Ȉ68G}G.uW#2Ԋ~c/ Vb*$xu< )sm us}Uro\E/[/I-;%F xJ-*r KņSF`$FxbƀjusXت@o>{Z*E Єi"ٞtT$h$ 9I{N6HG7* -0ƏJDx;͋sB[~'_CL Xͦ,b<\NJ)XLz&U!"2wQ٠/~g|E3 ()4][w/5"0{_YI,fwTX_jutIn:X~fY3tyJq2=ݖpkzyeNF_ؼʗ,aI%&"=[jn_A!K]U -U`C[uA:Uiaz/@u=7-C%n haH0՜۔kQ8 -Vo,{ (hXd|X "z&wrD2BoZqey $@xP,tbi5qW?J).lYKp|bzmWesE!9K|[.pP1HJЛO +CMhWRIgUu/äi|}_T5_dF ӴvzG9{'/[O61C8Uq$Xx +lAD84}*U*P/MFؠCQu$'@ʩSWRϿZ63J"JVқm\"q*%xWp~2a -[H SCiCey䒚t))4[EYu=~$Q[~?ѓؓf^Q f,SmOK+S G*Xٚ-Fz"aOZ'F~O&O۠sX'p W- q3t"ԧD.$:0b4`q%?ZF+#%gz/B@%د.``n^-/?"Gc$@XO$pu`6ɝ"a)0# <0~-[Ͻ=k*&]SIG}%r-۰X8cX\jxw?Tc/łf|FL/@U]eΦN`/o"_Dk.MZ׈}`~-gM5x'IɆ舙ow7߀/؎G|@?C^Gp/o߼wnֱ'ۍ6BLЎ^Zx[ސ0mG#N# -=4Jy2n_CBMiqHP8/$_,iKM 3HjF1 O]fܝ?hYBa&/PA57 -]df֘n %T8'8B$*lH1c?8Az8"lI$nSe3퇆8wDDz6<$;xM7 j#o{^u8^6LʺgMap3\'\~0#s voBXOnzP4ia8┋B"pۚ,Aî)9d}S#%KM~~u$Q83YhdWKոQCBqh/RűLT?wmIgetnKP) 8nF p8C>5ΥBR__goT~*(N2;FaF8lRo"QD}cit d0#J`T -ZX)@*>E:Hكi$NڮfBy&f:Wۺ:޲zE] 473U+iVǗna$7i 1Zׇ -i m /" -%Z28(-֬ee|(Du}}*C%[0:|A8ݩsgO⼽ϲe[Eɷ"}+ֲ\EPXy/#{?#BQy^c/~K|Pxml3FѤ/%i#{[w)}Q+M\K0'-7ےQ5zRˆA|ՕqvєiQ5Z[0sw}Kܻ]cA_H_~9$oyj÷<! q$c,rHԿK1U`=.@#j>nPu%6w4먬5PE2-NG(siN[dc;OOvYeԶjz(U ʿlijsR%3S&ى2% JځZ m&E"C^MSD[-0 iFMx'Q9QiᚗmE5ʼnpwYkw)m#Gb!Y2A Ir wl9ϡW|{,=>ij Ħ"qܔu+DDEմF8uӏcpr4P1B+@[{$)] 쮯8 /Y3<yesXKUDkwYEUYxQuȫ'tIHVT73dQrSC/،jz(iѓ4eyW#}uOpP$sp5[?c^c=584y.|* QN!NYoEfKj)4?NOہ+4Ed Q0%iK7Gz%].6YaAsjk;846ŎE裬I#m!D/3<23#:?$>)``>'%*.zA7#/Ѷl&iI|BMtB& -ט@Nco]%rwڋ؋pIJe[*R{F SJ}ؑ>>Lf'eQ@-`p`TazjJ3(<`Zk ?!6 -2zb]s}nx΋K)6`x BIAs2A9_3GDC+]'$ivu*7xs7ݖ\.e?maO(? -^aoP=gR~Y=~$$/bg/?^z!ߎ]"JT_+"bàGGd)%@fMCDJXd ыب>q/kX˺8}8̠RK[巹 I*v) 4<EO~Z#nÆg&USf|( w4)Gr~2RdaI]@pۈByxK_Ÿ(ab)8PplO#)EQv2~Ez19?(.8գgl8i@ "/j?/`E'$O]᭹Vհrh&E`͕5t5i},.t'6Ky-#_6//50l<C jbNq(;pݳǗi45ƳO?L'H"Zh`kp,nL}S^P>ȸZ0Qf[UF6 m>BH Ok_QVJk*j0HhcJBȃJ- Pߖm$Y  QfJ/.vmYmk a0HB`<:AkDځaD2#P'-mHmX" 3a]ڡKa4+B};m6BZm2fd7M ~tt8g)04Xxk5rm۴75Õvw}sm ˮׂn4e!6JPeq4if76W}"i]stq3-djp_ Է]{JXq"$(npԈImB敩pm!x -w"j`˫kjc@և2:Y|s}$&h8:#sl?,4 xѕU~76HWa+QnVozay x 3m˟nopo㸜|$=[ ,|n18$qy;%`Wg):[H_3Ǐ<~d\߽61Z=-)LNJ> lВГA7p -'@i)&r#{;C,aDLv^q# ^LS@,'iNV'yyOYE}󨢳6> ` @ +8uI9 ÌP#@Ǵe! Kh3P K)܈BA>x__z+:"љqϺVEđ>;G@pyvG ->LD!)+9#(aҬ[k`Rix_Ke'?:WA C]s`@dZnp6͖ܫ,;]+EZFJѐZ:P <>Z}жlE'M^@߽`2++ɡ|ӟ3FGQxLnR.cy _of)70jKRImfʅ0ե.vdBOXnvjamCz^w-Q]CjЊVHu&;'X+mjz8%o@x),e~ -MmGkpvJFb-;zmJ]=x#u @}pdlch&$|w_?Io%H{Aѷ%ݿt(gۿ;/_~nO?|A HX* 4 =;=-ҙʄ'$ɥ^g_gB&c@V0Eci MNW5>gCUÓ|Mp=s*vX#.f)4M*apW\k9Xt˗'"YEYI6!ELYh>2PRA  $qFJ221eTw< L]j[>n$۾fWG_ZCggO>M~Wusq}Th3@Q[xf:?'~ UWY%G;ǀA _`aֳEٖm";sUG"I+# D0/J5~1X à;dSUu qP#Mr\}VqLV8W™@J):88nƹms֥ hqYtQ͑_?^|( k9r."thJF1L蚙-B_H34l@wG0㫯ޜZ]șZ/4À  ڪJdyAR{6Fnw1P' n@f,Mqt"q|Og6c]N,5$/䰔&)]|`2Ni?/ǏpT"-lnwwp4/`&+gE~T= JBvA9>dhBT#> f'<V)9gB[&S:<8cűlȳ7ig˟o`oz%QMJ@XC#-}|%P@:뵢wkK<)6-Sf@Li/ؗ)|IhW@S< y!C&|Pck솘wHѻ-n8F@'Xp9 -IBeS{0@([&Q!J-2 nq7y9.Lo߄yWv&@~,"cOHG;":C]%p  g1?Mڑ/o6]Pw p09F֎SwqF'c8D̉oc',L"bpaM$m{s~ħ,S6ʘ.&,1IkrnQyjQQa- <#8݆GF7߽H&x1Yj|psfvȴqx;u?U^ؠϷ01VE2~{?} ?Gȟjؐy%JB7܃bxP8䪙]gu۔:!U1w7F<eMBar!!uiiBzynvhH < 떕91]5jD̦oaJí℻X? t(Ņw]ǀ'QxsCęd]! ^jԓrDH5Gjbe(dBERs!P8^]ʴMe Ld'f8Of,XnL0+.Ƕ-QYg gS9gNNVQ?H`alg$i۫ʚ<@5ZåIez\p {\'>djuBUāfLFFﴖbЧc0|pHKU;w?qw/9u7= -O)baIZof[P8m#}O>8}YR1LtVՕ9Hn+/̌H{bɼd㜥5C,E3\7(4NqB-R4qIb T#MliM3+ďXC!|EU*g8Ghc$w 2@46Fœh6Pз !/]TA-m86ZYMP,g'TEORíYd(')I -C:}ihXhsGVrO!vXTIⷯ8nrwv c{-q' f&T,rⰫFj'| Ҥ>-:GV,v&xotad唎:%wVîzՀ%Jq0IԤ\r13.]*,ηu - iZ@eSN؂{P7s(J-uM5F|P-~+^TW"A%g -^S0>qqb V,%E_p찳݀_:&,f!IbrD6 .,ZC/i6][U8::XfiZ]wkf!uY2keXʿn -jsUMyuL5MJ> NRkS -HKWvHMr+QVoY$?;zoߕgLɛk&;MZFXsY, -n'V簠oƾ$ϯ7r Lg  q_&LfA6UbuNB"fh[µqaMr6͋3ŵLt]w{}}y]֝|n@` 8mu;wB$pOs"e> -DM~؆ږ<:?~uw2FY>z^䊿"ggjSѕ8gͫi8o^Hg-#xc|%FH|!#6 w5I#M,%D!0A ږFǓ+:-0z)zX**2W<ޜ}?ѳ;ј׷ea5 P3@Ts1XŪs# Z#2,FX1#Z ;qѮ̑f&T f el%ć/lt%RMLVe!Q6v9TMTOWb{C¡si>\[i}#ƬvEb-֬g~U=>=7?DσQH&< -RyQ r` fDZS[3GkF i[ o]>yԜ%d*0!4 e9EC[}ӏ%TV`a#|{t]6M[8 Ԇy-Mӷaq8b:Ų5Mk>~}ћMeNH;$(0ƚa!DW8#"4Q`cSP$9Y]3%T -5v/txq*h%!1>хv'ͤ>\H{욃 -/Đًh`2M,1{‡ŤZ=8/9p'Uu}˼1bktP ~ۯ~]߰ A15O7{6"6ap#ۺ]T7'5غq|LyOyO_r> wYFH7Hf_;20,gm}gDޤ&aƃa -뚽X$IM/bAm`;gděD pB@ܠ_G0MvD"!ڌ%`V޼GX?)PB$k]4/$~]Ea 0Lᑲ$X¼σ3 g`,&@ʿk5H'pUR;%X絲,LN/Y4:|@i"Ϲ|E$fĎi)?ay׳Y\ˈš3k{6"FteaHp*3 W(FoZnVnдxf'4ޢ\$+6B?gY&{B82H٘LvD!-sҾ<($Pq;}q4w2M[@#q@}҅ -&(t-3_\wpDиD7<nw)TY٥ ^JHU?$eMSOQad%4%ѴcHśvke@3T"Qp{{p 5'4Qڮ>W m( -:<m2r+2I) 7Io욆h(WX^2 IUlF8(*H- 2n:|wu?%Dpad{+P݇ <~~P]{qY"ܘ"Ο|gg/#n[*gǻGw\ 5S{sc_)r#d^(kQUD6v`Ty7.LւB"-y \+n:~2ib 'HN/E|w??)MI͈N~]@~@=QcVaC%_"Ea'ЦMM#TI9){؞ )N9ZE̙m~Nn+ax6䜳,zW0DPCoSBc" ǔU?izjtct5Ь{[DhWݱe۴&2:$wR&hl>k\8 M 3N$ݤXJXge}Kd(L9/$6ck+;<>XZs@ - mMNX&֚[|Y --ǶVC@&J?ڎD^e-ԡυzv%R#[夂>84葊1,Ipc{ r}k=u ld#pR,V]>'Pxp$h"kpK{͛7FةD`_HyiqKl*z2ZWF9e+h _/~{Ă쿕i8KҸNhL^u'3TDӊwBT6i)^i`t* g@)U>rS?* qZl"mtۇ(S: -Ga7i=ɀ95:| ߄hf}Y\ZOY[V@1 QWvؽ-D/7ȴa]Sbؤ: 1$! ~R"̌ v ;Kh -ܻkJ$ĨHR)kdJ0GTFxtIe8_$-rfi@ -2( ^Z3(<(.J&qІuJ rp T3q{Tӆ}+yUЬu@V^n!0mڛyePV8汑AdYV o$h&2l"uL荧UT&Êj7K -eC{R;mr(q}&Y![A`Aa=s݅싉ujRF ~ABdiW{ͶiB("dLAJ&FoI g$mG|bA+V1ϥgȿtgfCbGՈ @@~g78[ba(85;Vuҝr<҃|?^>Hbgލ䄿r "y)&R/G`9̂M5luN~>YT"ZlR}@մ[TgA^5',Lt?ev/]WM0Q&w_oP> &>AL"@f!K~vĴ;)t :)9Grq(@ nLY-(M,2gR[*.΢}u"{D`V|ыsK2" -hNME9?Ƀ(ꖽƉ /,?v5J1O8NE>AT—90Qp-{JD8~@H96dXSj -4!~з05Us8{ؕi,[r?~$ JDԡJI?"GR"s:F7>7PX]#sC<45RW!GBTR~'DJu-/@H' Nggndh R،%u<PTu(,Sv8J;4^.Pˋج/X2dTUu5,EMlGi읫Q?D#oɎE܌KKS_JkEDC{[ܾ7 >ɟpu]E I+EġxO_bܻC3jy?6]T5?K{>i i5"B^'V8_<*`.3{WӼ<\0;Zd G\/"ld%<'O*ȭ:i!,^UxLl"/ֹ9QE -<\7Q4us눕i%nNB( /$:w[vz:p! -h|Ojf> ,XI#Z(ܐ&tfGR{2b q%$|vUYz J:8MY˾Ոf\|\ѷw`|SHb/ݦk@89 -􈝃9!V*+b0ϋ$ - 6.H9$6Uzm''8\#A40S`箳Ԟ*mtRCk/wj)]z6+K`,eiw>wp,l<-xsY%u,ע용[`:40jTdC*vdnkn[T\a\xRIzH]Kn`R`&&}\^0h -U˗Cߙ?˛[9n+)D*1쬺Mp5bu{O^穴V4X| a:.`S$~~w-YE/d,>euӸAQO}Gɟ~5{uII8Fo)%WţgcZ ?jy-'x4\+-~BR:W ID4J/70K^(0(y5#|'89] ө0}>ͥ's u>\w&bRnd Z2."cPQ$Ҭg1+w]; xlm\މO1^hVԲx,z>nٮG,ljh *6E^x$vF=Hq5$SNm"apR$+0M9"o\G}>&vhiv?|g1f$&ꓡx]B+y8Zܩh-R]G©h1vEVD}勜&)N>3L'Vjp?Vu0vV6$MӛgM^yH~!g.Dc{'(v|zQ<"-DNƝh@m#(]M>tn|q<&pf)"_p)4apdԴ,#?>a7RfNDϖ2gt/RmV"g'qq9"23l"p2}=cJMd8SQ; AقR9N!mM_N8χAX_ݵrg&vLDfB`(̰1؇MEYz6eP`D~xR6YU}Cylp[.e:q\KBY\jkh1$нY\U9˦ҌWI'벂+nˣMs EK XXoM1cPaXRa|`pkRÐ4n92Uy+E+|>`JmٳׯFR_\>fdu}Y͊H|`bFLS1w~Kܓ;:۪|~'s'7ԲbDQ:nw}oNǽ]c?n{?ٞϾ˳'Kl_47f̰9CkB x$PifppR y ϥ^-7vl6gNjHlJ%Dݗ*04!y{P;{X&O2lSl0Z;qC:60$': UD{ -ն #Q#F ]k()-9*ku|"מ.>Lp0H=6;W1 -yqSL}kՈ\챏 5?N?p*}s:eQ?gGg'+eXvwFJ%w}E<@`yT7ftdpwd5Q/>˷U )th']ka5#|ճ'^yv'Wo-eA.&~%q {&,!Z.XX^ٷVARqP5f% Fr[0k 2J(Y'RHye5uEH~ MJpqfBȡ_(HvO~pGhD.Hy T:PcUIVa22JӴG -3`f<1SCri,FK?!?I@ښV,(AouRzV=SA)?Tu_rdQC fω3TC'z*P\x_a HCۜKLg,rI;DRFKR+9!&S''-AjJ& -ҧkk眞ҧUgn8)<{@Q9h"}85e:qS@)\S -qo -9RZRWEJvQ1?8J?t>9\?>ngx8Ud4DѾ($%;^S uaHۗ8&Q`reEqH,,2D6N)Ȇk#6Εsl=Hxu?i@_&PR9o#+RIB@7Fئg]'96#jޮ4ͳpثt#>t3 Τdzq^*^4g 62+e v2ca&MoKC!o3? Eb&9 -o/$@y/| c'nnoUO?&OCf c$h ov?4V<~lIIQJ$ْȂb#v`' $'aA"9 -,[F - E6ňY8|ooU]9Uws Ǿ,׷o/U>ODʏb&_Lγ(٪Rjqd9&+`Q ϕ.7o9ΕB.)ޏܒ\U"'a 8K yἏjB6]ր;Z|]Tkdy+_JE&)^sy 푧pI`u K?ԁK9Z?@1Y,kLņQdY=#-J;@ܧ0m,5,=GlG 쪫L }~B;r8f -A0ba6uWV\;v]Q[5[U<*zk= ,ˋ㠀̃X5UR1]͈ɠZ o_y!RNMΟ=g"$'2tפh8/Wp9%=f )AjRg҄y tpO|n#)F6FY|GL_kx)`:(-~ȴu@",fspdNuYQ ĚĢ;M?Ք%~=+PN_yh, F. -REX&I%% ^OqxBy+ ᛄ//9[' n.Q$.)uNSq$p`OTR~/P$_0ʋtn[WmoQuNuuUMLVO Aa *_5ZɖAnI$$j^θL5ߞΏ -{p|T7pz<{xxuv7࿌*侱i gSਨ P7uwp7#xW|%QOg&kj~9 1Q.}J[D%|@~aUja.߻.@e]&2~ӟB|羮eFBM ܊u{!S, *,PsT%gٸ*mޣw^U@tY C}8ܱC7`w \>AJi_S?]61yZҲ5^qv޽w!w (}34xd*6oU[ǀౌA-hZeH0!+TH;㋃Y':ao}RI÷HL4L֛a_GhF^굑8֟1~|\ a-" ll53.y|xHnj|қVMc`ۀL`@-zRqK68F>nex:+\̩M58G >@oqq 8|`9qtގ&kY5x4Z-NNΌsaeptl[~_p;` 헟c!h f'NMk+;"n\l}ϭPmp,vDfh"3bkK #!bP.! f45[GOVU3v]X5]F%=<]_ZZ,أ*lB(ZO -ni -`ybm8[TOҐ0!t!`r>' $#P&w!өD8LG࿆RWךt-&mE;ó+2"+,e툺MyxKNf6qѩƃXo ˺`LE# -v 3(7,9.p@#$Ճ&OĜ -D -p0KM-٭"΢F;y"##¨)j0G#0 `lvH`42w~î -_(\ -f31+Y i^5r;Bh9Bs3B: !(;)ޞReHkg 8&~Gt=wЅ`1RbgCجuY8Y+Eb'"G#Th\`8,FCJ5=Q* -7:l9s# l.ǃOEYcM5DmYo%ь4Ok8 M @Ny¬AGÐmT%E6 ` -1I:D7$<ڏpU}DTñ*Dv@# ' -U N%j?G.2 -tߓ0'3LG+M`_<|[βE<]8DЪʉ"ơ_ŭr#r@f8 R'%::.-߹^-)ἄD{oWvWm2(\#E\ -BNL6aA/4SY9m9U%8#z_#D5R5Z[dްDS"8'vI`E(`gZl!Cqdnɥ6 -W‚;mʜ.%y=4b*daEzjZ, ~ REVwg>u[;A$5* u,mR眑^nCO.:8;޽++G;uq&; .Ax1; EUᬺ@;ygEF*E -bljLU]䗏k6knyw!!짟woS ނ!kd(yW }-Y6ӥ\⪚(9 A%C3۫x9t L :++jؖS*CyDVWvC3\B O2!Π4x P|xKXe ->C`$" (YVXC껃Uq yx<5? 4ُoG݃"hfWZv{> O0gz-6*Q@M?Q\%ݪՙE+ֵ &Є{e轉B$`ނoQeE&غ:B ~ qwvhQc&] -ӽ4Qi/ݡ(eUКV\uWnj4$*Q%I<-J*4zTU-]G fQ "ȉ'9 -}9 #JAZ& {0\j(jn*[Q!"~Xȃ@8VA, -B`V##‘%֊bK(Yݹf8? ٷܱ ->p6b\^Z 1:EA \$O6 #5Su)o4!`;{d9'WȖd8E ˳>& -Z9KDQ7sՄ=μܦZ%mKz-oHE|T_}E)b0Ԛ-K[طQXuTq -[N>p_8vE A=A~}xyb:ߟv= y r`!m9PayJdǨ"^(ʪfrA]d*MF{4B;MvR܋Ѝe1&p,NNCmA-wI7ƚ!CXj4Ո̟9\< bFb)M/.AQBb=Cdy⹻$ڔfقf^"aj -!0IG%- 'b rbGv!Z$煜8q'!$"6pcA6-,6kX+$\~/$ N]gjNQ6YqH*:H^X! |$o_ď6X]E6 smևd{a+O9 xRvoA4UH0fܖAMC,He')G./Oj$Lvwo D=XXt~)C 8ʍ+8EH9X{j ,L^ iwGCd5N4`"q~1V@qo 4$+M gB(_iSZA\Ywy~5i_#6C}|>u ţ]W?? |9VSvԳaD0\ǝ^[5AKa5-X=2Jv౜*Kϳ< `?<͗ 8*.y({d&8 P%F+qGA>jqn#_-J` xnmQ`;ͳjDl#T<iL$IOBvO`FԊ(@VEj^:n$@3Jƣ1j$nʔGinV4]v?>5Ijbvt{#W!yf "jF ="s 0ѸGs1/֦<`sΖvRW]fx?HONZO<oU^ej1eȠr8<*eٖG {eO9,[12ro .Q)iJkD>K2,#Q5Nq :Mbd! -C5׮I*kN0|626MW o6Tn7#:˪aIBwhiApNOw>ߺZ0u|VuK͠<$>;;\,S"y> GVɣCh'ßieE8,h9 #{,+SPUgCx1s"B(+,rW0%0+4_%HlNM\0$ 5@6c<>}8n߻x~k} "w?HH.HC64 9BDw\^1yh"i5l]R|^JkO4 G {\CO`$QqU#x^ҭtUu;~qUy[ Q/|Vf+!ߖb[Ue_8pH%]Yi6svCcjYRc -]1 l0I6386Zs݀aܱܹFq2-n.֎m#;v/J~RGGjB -` İ   ~gH-MC.~:]Ӯ^%($=>l2!bӓŹ,ri O eVfSe(H0NP>!,YQ"PʌiI1al -1tn"F9{ZF~f<<6QŘ7;JD9h(-Jޢ8/|%kk}Pxqy6G2Na 1CZ';LPr8#!fd S| ;Ur38±LT*59/`6q->cOb\bi1_acԮ}{iJx1ˌHp5/I3}zޣ[u?pZ]p20X{3 U:2̋V%ꐘrVQW(JK[~%7 Ӕ2)#J/vC$δ,YA>%E(ePnLju!8 F!] g|[b;B-d9_UEmiE^)dN  &:\ =F3%!'`YbpkK_0 K:7S+bw]O7k~*溕 o\ iѐ|& \yE.Wb;w/<6'*'c}tu\ -Xac1Ŝ-$nZa#cX/l.糰xiGl7(T7%nh"U"KXCJx-:fO9v,zJ92K??9[BH(KnXdtr1(U~c+gE0YZ`fW زcT yjK9 <"Q&ύrYˆ.՘.upsn D2!3`6{]ml0^^]^Q+dV,^Mm ]-m`܄^]@FJXy)N=\Yqz&f|{jR^L"~#o ""U7@ rQb8>\̑N=d#Ⴏ jJz=2"v ->+DUpCXyIpߘoQۄWR!:]Hhյh! U%"̲Y/3[p(j;kkjwevykiJK@bE#$໗5EdeP Q>aoH!4ȊPw9l-Ö `!*{K ֿv6;ڒ(?.k::1ByB( = :LA#a#й6 BIN.n,pCTHQhoEFj#S !У//j*Pq$%9m pmV\ a QKӐ8V&m?93!:*l":4/ Orp"^k5jBжi+ -p[\TCkO`AH~"! [Ȍl1n{1c0`܇C%ˀ+XMiw7VoCIDXĜݲeZT)HB &$GFpzY19L܂iݮw6^m'V2}!Ү!TaB'oV\>mSbRD'=7êDn 4E=k\eYǼhz,24%+;e&OW8 K\76 $%v) La;y3 MRPW.:ATI$.l ;<$jX{ ` QbMnN#QL\DA2tfە$B`h=vU]0H#X7ZwMӁKP7X\D*8|k;ĎFc>$r}pҖM!!I- ܰd brrB " _d9#Vv_t`Q5! Cshi=5fpÕ,ޢګ^}bOniV̺Jtcbw#In j1vSZ$.19;.Sg.B&+7t%ǹY"l{ƀ)IP @JbKi(WQK -a |*צ 3=Lj֣fэQF͵k e[d:yHdRi -..b(|~ڻ?4 {why$ͿVCN sm纔W -yIHT["N*uXb#zj05 z}z(@M@ #`yI xV,&}*~ɕO -ςmUNZ$)(.qSz!9"IqR-.H|ju} 2@ICrw'f@QKP<&Dߝ6@g3;~y~;Xi;N%)33jA쒼~*]ŰX#Ϫb@ P{L4%RG ['{ٵ]65vh<'7Km+ti, P| @E %AWf(nB}$?hy+ȧtK?:dYЎֿG秏7ֿu"(>zu]a0`;Ki R:XOe#us=02u Ts W]П؃Ň -NJB%i﹔6T#,!`G gy6ٿ_y=PdgF*քI"-Dm$^ln $ lѺבc`.)0@'A42:b\Hthur$[ވŎ]nck\Vx}LA0f1? TUUdb;WMٖRqʚ2YoWCaW83ɎVM }/B+ZTm.Հ60(bx<| l6TցsW׺PhrBVZZ!D\Dz[̈rU{D AWݻ-<ݡ {{GO^s#v' Ug30*g|gW5pnUE7-\EuwD% -<#Ŵ*5.4OGicDZ)*Rȱ -O]q*=}H}H Du`W;i.$҇.~/0<O-!|ZUu A=W/>,˜ -HFZ˼MyxU_仓]RW"v_-~5eŎSV#}+3xPjbr[1lM* Aq]JU{tx/¼[7 u$)-njai&Bԉ +b;99;yy#l%sAE9V?< 7l=I;^йDnz3R+"9@8].~A/3:Rh:oV~>=mcvn \e!wIhŢ.\L̰ղ~mVO^v|ySLU#Z$e^ǔ!fP%so됨mZEw x',xw9,%M]\\D2)/^J [ųPRQ @4n ]P7w5Wxj,R#1c Z1 oz"j:ńeHQQ%#t`+³r凙'Gכ~s5[1Gr 4Ϸ5+)ώ 3>E,86C}T+ٟo%w`LTfH% W;}#=. _x*i)A~`p CPHMj6 >sӡJX҄%pn}:]GOdX0{*@`1'ۙ&*~fÇ߭q?`Ϫ?!'p Z]2Q֐s`B1flQv~iU,eAȮߡ`y%\s8ןm΂$nbxUTof lu+rfG7n{/|΃{+Gwߛ$;EZ8J(WH駻v|$GϦ.˲krz6QŷSSl'Hqm\UE䁵zQ B0AQG::-f3hC22 *zJ$ -Cp7"#En젹T]e;-="K鄃x pTma~ŒFSx!c|׍J =FpRU b|@ZŁ[ Är5-bG&ĝaOdDZצdK=#s2v|Pjw>`6}σOY.j>,` -zb,o4a/)ysi6ZLV3=!^zfumXDbOXw)B0zE@$ri.^DU־Go|U+/vj~eiqlĮsÁOTyuy\$93zG{_whoHVN\x Y,Bs lM5, Y͓}2˩3qٲM?F35Q߮ԑݱ&y2V4fZa\~um)1I<;==^@ p{#ֻXo@Gvu)l $k@r?D7ګ~zy)">ޝYZdD #R9]fS>JXk{\A\q;tJvnxcs'ϳR% ,9SKd; m_p~@ fHl`A̗`915-KwsѴ` 9Jgm_8gO1e3=+_tƸ dc*a 8 A2.,M|fCvpC=u(փ FWg?{'?}Kٟ1( XAgV_-S&i6j~x$x:e?\.lVlYǤxrqǭ]pGxe'+wT޺C7o/9[M7*6,Ś4Z <6Sp˦@UK'ۆ0>`VmY'z_Ϸɠ6?D$KOVBNFxBP? aB,[UWe`+I 9(R!M7W9,tv,)Z1Egm߁N - -'\ab+ M~?[?o+z ?cZ^e8{|;R^E5ʸ0eՕ˲9" ^LWN<==?&ɉZUv`~;;?܀[}[TG7=0wF[wHJ&hZ%Qo -VT͆7esoqvp-^pn^ vᖶ[\}OLX? O_;3<ҶFKH>\Ѽe >ZbIƂI)=YEOX+`+C5GX7a֨"Qb_ .(b.teB-0N=5k|od5=VcKeU4g}rܝO"[aS}C̪ӁEbݢQnMpn@HMˀE@X c|Oc`^s |ӟ-8/<r#SzҴ^YB'W30s`5ȉ}@ Γ`}La4r(Cȭ>+.IKwsۺ[E7z>D';y (p*/N -[]XZ=\W$[:M5okcX c_ӥhVdU܍ƚe܏&3jCY~\W.VOj6;/k0sWr }ь쒀%p?I OWmJE@`[H ?8PMAEZ8͐ 2׭_ RJTЂGtd֤gM GJfp@X6ׇlr -8%( -JQ]E癝ߝFjCNCRfpS-Ӟʦ-w$\`p6߻-٨>]^۳Lvo ],<,aɰ=\K2R)p/OlђmU -F1 -08&!ip -Jݖ5$@JrrQST%!/n/O//Eڂ x02ҥ,~ Ʋ$̔/D p!ufQk|$fe2]Aܥ /EQVQ l_jIߏre)vCBGǽǯB.uq]59V~fJjǏˢ:{t UZYh;OA߈ YLa |w"^n%lP -A*xsA%mK# a={µCW:|/4=yV*瞃Sd8R[| @S˦l F<}u/0"b6M -XrxNXQ-܍6’y/5r}]e~x[R{h&׶~RoDh DU0̪|=ӿ.b?uz{مŰn7/WLA!w\KHz8(2תapl.J֌qYVeg`7Cr2:|\݁Qv-tz5at{CWx f>K\5鶷+1ܵx< dv BiV -7hT`J4A03V ury.O=k2`^QikVO8+W:(zt0]gn8mR;ĭ?y^ l.S=FES:`*`a@f# a)@J\ 8҇Yb -$_츺wMi߷$D~IC\}0˼f h'3} -{YNNo`GNf:[lu,X2PL,kɱmUMC6`iJ` pVĜ"-cpIDA -VUG!Ig D6)ąQ)ynevS4vezSs=(I&x}H%H`% -=?ݐ}@LPh3fFjg!dYypg}@'NB/~˥)Ye`:RD n:IA۠@ ZQ"bVQ4ahlLk{6{t;pz->Oѷ3O?|LS@OpK_MW H.$0Qs BNCl]n2lךB@m9d_{~1֟JI![]~KEv}@ѳ`hb}zv t'[xXƁ |/@Nf@TB aft J^E8$,3pf4CGG-[7ϵ2WiaZlzof52IMF2AZ:{p }S$X~῭T?;V 7h^{r doR =;F 1"0Op[?׳# -="i)KNd2h;rrيIEG^fc(y"T$jMK -u\[Inp !!w|w J>>\#Wc/!CIӿpES`,#lŚN CsD߀'MNްD2+6[?wnu/͋)]-"?)3 +Jfh붮osow:=o=8)!`f7,d@HR {ޚd|;˷{p,/. "IZ# ]8 ϩkҖV'nu}Y:` oh5͘_*b"{t*0KQXWDg%63cX7I/зNO)?? ՈV*}Er2 ~-b0M^ +Enk ~o(8ϦfqquQ eG=͏ߌUj #C~;[̎-lt;5# m#TEk!%LH= $!v5w^J ('Eaziț@F^1@B)5L<UbyK۳x|a0܍ŷ^}u՟ ,W"b Pu|o3N8 Qmlgе"IvkN C&meWkBoaGoyA\J_24XApr|,!1.rDzO^/KPX3r_0.bWRU2ePU$BF,q ф^;SE|W_|Dcyba e&Gˎw}.^R7񠖫v'qwWC_^>xbjA7p t64-eCK=0O=5| qbku:M{ v͵ZEưQ%n/,=/JďԿ'-w^܌k73ȾP1TsT yt֮6-OnFu)^JK:K-L[}.RqnMus\ jyx yINfh{}dO170e; miyd|XF*y -Umng}x+&UrewѺ6lRp+Ʊ1hûwt}|GJveub)&ɭn)٩ eNLoꞳϛ+/|[ݹucu`7/+nN\8;?=iκÃj9:x1B9rNYx+}_SgoR"QM ͖pWP3(^车C<̰kdk$:G .df]\5L!bͬp\;TO}[̐>g,'G h^ۡD{PJ"KM|&@Pq!XwJ<>95bmUVt@֦<׈QXņBWZFY؄ڪAir&_&X+v_Ndb`?8]&#I>ztSG8L Z3 -4jz%}=&*ٲtXow 0d2|]:$QF~_%TBLV.Zy]HK&Oz==RPʋ MEn&,Ar+ F Y5>4<ߍ­ [6ݢinjAA\v9n9xrrq~@g+8Jb)xNl}@y_M/DXM仺3NS7^@qHUgu`'V]|CuU7}2H!KF'޽ʧ16@ΣP #0rdW C}t̎)70J+ Qt6NuLV ,qޅ@dj(J"B)[\1pǭIՍ%@ȞZH3 -br-jMT_~TkF#qT{HT%.X0YZ]dE[)gAxW7~pucmN9/d%Rc,~࿶:&mOP^/W'z:Z?'@3"ze^H;똱jvakլ)" ȋb7pm<Y0 -e={N_~m, <ԁHai)Dyla,z+Dx;9>~zk|U!?};Xӂ5}ho5 !}9y/1KI,L_}y* Fr[{A٥Nܽ  e-?g_?~R(oQTM'6̞MkƒM0y-i߀szD';7E -K_ҝW4:m-Dݍ2D%sc -i0^tl_#ϗyF#+W%vAK_ -+9,S) gc, 'bqMay9y縒*k~C$ToߞhDI <?厺 +?^1\߻ɽ.ոH| s*KFӈG4S+_W[;ķUr/硒3J s ymJx5:.v펛+ٙ% -NAgly.C -sB;ޞE"`NIȚ+ pnKCAu`Et5ӧi+8AgÖG1m >߈pxR믿uITlQ 6-l6H(aeX8Z RzXpa2*(<&$@xZĊ՜":*'^aZ'DNh5 q*ZIru~y3}Q00Ğ/ - uѣ}_,lrlP̼COiy; ,TR -Ɋ fQq)=$./^o;wSF=jz5eUm!b`TYЊ~"+kƍw_ ,5I`iܻ-vfqd#W}ߏ7~xEb݁omQ XϺ#[K-\Îrdc[lj!n'z BώZ~]ݵ!4n^%q_Zkǰ'v 71b޽JYfmjlC9y|Y#>%̌J1#FGo0GT\0.(t`DY -JrCt`?UT#&Z ybܝQ6p,tT vy#ְׇ EXR˯|YnAZ\XB*LԬiUu5f qmФ6UbMvf0x䷤.i -䦂ߛէx})bPn,'L"sG:I&GӋ^uQT)3\ER g+!0 r*-bK|/새 fDFF.5C?ia$~ONXQY}Lg9禗gߟ;Ɖ,S"<*o)i<;iIVL"e5f(MN*sZ6QGy LO]&~w;XOΞNw"x(؛9 'QC%G (J88o\p 93&/;aU7ʹwֽ{dL HW{oޙ~sk s%xYKc?ɔ#|~7ߠ~Wy'O3\iCS 9"fy cXs_"Uh-g Sbk:>䰁 G j>p>W6~UZƭϩm|}vo8:wzq ewwXL89Aw;ŇdPҴ-byoY1_EѮiʠH':ĝ!IZd|c -n[O䟄'}geYW,z+Ix4f>@ -#WYE w#IS{s .{;GGlϮ}4NR&`Bߖl~j-%)߽ޱuIU y]]wa,}e 4{hT:z۵e8_Dn@ttmx^B Z0?3\!ۋUz0@]ԩ(~5sžXWc@~z,$2GV2FF -T-Ys[?4so>301移dxy -Zf47'Gu/ z/׿?ӿۭ, [fy{E@!?]}[B^N9<;Gu:U #? J,2ӂ(s[PatC2ZTnNWϨ2i2@\906?oAn/MhMv"}g206I:q`5zak/YjqIV ja5[M}lͅnW Caf+S\|o=S'BǤVY0 1|ܳƉ)˼0q{yfHQ(OϷ`kK}*\mVɵPu#z -K(9Xa> @ '^޿s`]3r^ ~N "i1s]kcmB~0,[Ʃ֣NBlMw;opY/1n=pmUȡBoyJѕX'dvmK߸ӟ9yiM.WpEZ`[OeW$'>D"yW"1 ) Wy>[N01pL_N/.;y2{I>,33+3+s{zv$\lH6`S0l&edH6)-A%؀lENWyGdx/"{zfw))#{}?Rh'pF) @ -o6H{ W)GK!AhXO:xp[6ZOmlDrpv_ݸl⣹WT U_7dSW^N/j>IDQK(943 0mJY+9>g-BԻ=p ?0rlݕ< `,o:\h\VaBwg1]pi~:m"1ld@>uAdd}ag!5uY/tuMwOȕBjt4P"rln h8(`ПdW -פ7lsHzq(3u0\ru$Ą="_#A>*y`e ܼ,{gPs\[""E49灅uc tH$v=^w -s -։h9+t+Yfʹ4L40?[',Ԗۇ5(UHk *م -GW ĶvP}-ErR\;tl2ն)o?<`3Pɢ/"KeF,9Hy9`ن@fGZ g7Qmv'OryV8n7ExUJ }Wk܃G󀛬oIʹ;h\Rxαh/|' 0п'a F}7>v]Ϻ0vaHq]}9iٵo${E_|n.|y[)Cfwq&/PU /ŝ ONXu 0>$@v Ƹ 4 &3 \f`Gw!TFvh pO i0Qҵd!E_/ΗC7_l߻ 2gW[(z{`A؝rJG╮N1N6,Nv;̘|G;ݶL -iӅ=ZUZhM(=Y w4m+ٽгqΒff7εӔ'|2qDTJp=TWIF ( -^2`H y ʛ7 źW{0y _1:dN9p '4ZG ]i-`=*$kM91==uY1̬^ԜFOD3\VTe[ěW;(4n -ḰCTƉ+A`)iWq8`FPG{{"v{W^>{4T@LR m̤3߻i~o|u{qs{]ǂ%)%P@ND|pPoXRgO ۝q0^e G'zBG2Fj8fTNb{ZcQZP5]L=:NC>[ ߃9;d!tI ˀ/՜mthȀ, A"X~ep- .vHl`mY URg(MbvnEI1 ˿S* {wm!)N7 MĻ,n -Xۢ%AHp#Z {e]wTmMDMc -j9 1$[Ȑ!.UҟKRC$,ZeaUUgf fɢ=M|N>(,$@ D L -{| Du /~ɥHQ63>|@H_~û4CַS+ł` TdTTQA^7Э*5?Kq;gtjN;rt?>UFHcW-P1='M]eԵM4/]8n._VwomtS`L'm;f)qNx~ocul.5;tYU7٧_GF'}7agD}ZE{NWe+׭$5x ]] .\_ye'|v,k<(oZp`_Z+a&8ũ9 SiVyXV+u<2t -a6 2,tZDyyuLN.q`T/Ȉ۱ UpebX%Q$\xomՎF&3 9;-τs X~?]Ձ¾' -*9:$eLͤ煛N]U__Uǿ\p'J׮' ⧮e>%5tFS|p:Z?Zc0) -Hk8DჂupn:x&{eb7^M*+l0E"jPW PS+./AfM/Qy*|,E 9l PRC T-,jnUz -WT/dLѓI.G1sg5$yڝž` B67 H>ǓڮY/ScfrGh7^zeW_~9iIBmtѭkkRz6;5(s#uI<>8}.XR-ٗT9W Edm F.qWܸ|hpMрdrmsiwqs[<:0x[sx6LS~5^}yp_-8Nf˾NuvO'.?~Dhw Զ3l'N蟄A&j$ ߔq0} Xg>AS#)^0ڄisCY凷H{դrN1)Q-2o`1=m -KfџZ1Ye4:> -dԮ!~+FM=JQu˕418Llzgm+1 s>}c/n NyeUxnR4;EL\i213DԔ^B -E5(ngv!A/ʅZޯ}:b~vM+XL:#d%>ld4f-8łAXOJ:ŐzR<\пC^7_Ǜ_k\`h+nJcY9&1chZ^v@@PC˃vNJp6}F+wT7?! 8~7ܼy]ғ^kn*2_T@ -$.`{~pG@dVT Go{l^ -׶DA(Zݼv=R޽5ؽ|e,8Fr@ fYVWG?Kˀ5菃lѿN .@6A b`186[LD0` n} -<:<݀M脶ے1yϩ\@>BUt˓^OjҌ>܌EtBiIw.YFc:d&[maEV?`A AtD5 -(aX.qb|G'bt@noᅽQ*؏9 [^y>(Y3`ZQUnb7qBU} "GomNEFl/yQ~qJZX5' a L+ svYIY\X%Zp>x}Ѕ_cll=F[N^eQ3q_:xu5=/jrqf̈/HEfX{nVq4_6eIitt@g@iyRBs3  J-\_x65xq^ Kt`< Co +y YJ榷D^5[WOJ';:z߳س]pb$թy#C q HSj9 0l$| $ŞijmzoX(*ʹ] -;{di\j' YWb댢4Z%UeT!( -W ZWeiSV)Q$zg=rY$&PNmįؗ`;W_;\󜻷A[hxpB!+]ZZIJ 1Mj{y D\%*U#8SbuB~>EDL8c9~ o@iw;]DV4(;;,Mm k (WPZTI^ڭJDEt_B~ mb޸^$aO%x\~մZg+^+1̈́TQwS -]?Jb򙃇iFܹwh01{? -qtt2ۧægdzD{{&v: NO\lݒ0{t -쫱wR[,v dH0FCVy;П->5AH,99sʠ@ -aDPIGh aLVH$:31N8]wE={!g5_x[==%P^ءwHE RqAp0ҠvG$;+rcy2a2&\f@մZƾ߷,N-%-Hh޿ G{FŢ-(UA; )qzR%_^%\_3er$^ӵ{q̃Sqkiu&%,8&TO[9@%`O`xUFtG~ӶkesvWb`# W< -r ׅnO&KG5UmCg?ƒr>OvZ9ZmXoB, Y@y-d /hI=[U" ul%Nj0HpNY,$>vzs^;!kQ(HE*WJְQS1wkq"v75GeeTHeYD*(+xa|oe\z ѣۀ~ݑnV~(ְf"LEeMâ<ʲ^4UFy&*-T]#0pfwu{wtڿx5[Xئy2]vP?)g?i _`57iޡ1nkpe뺫0a'5iec?h{R ^1ǝҴ 8n9c=֊\q0 :l=( *nqG6L\ VA/J2U3y|tFNd{7%5/AzA׳AWEa%]׎)m;ss2dI!Ы6 =-Ŝ,*A%n{c:dz=w]"ÕDZ`) 9C%AGc{5`lPЪ -BZu)EΝw\|Y2*&,t Gx;MQְ Y%F5,Gu3;dL]V+"TIQLDz9`]6J%C0ۋfS{^z6Oǝ꺌ي%tP+鑖(t5 mDZ1|!ckꘁ%, !; xu0l[l7r؝sWږ&WуlG.]xtVvGG4{1 si֛hf@PȖ){$D}Fr!(|N\.͍f*%ݿA˄ A-qݙ1uۇ1[/k_Di!yDe{=2\`Á`΅܅<а$]LC|=;3Aî1[M&i8m=>Ȏ\e_;G Bsl(oQs4Y!z X,1$.%γb`2>8xˉ0K׿;7h)k92# 7pd1Y $`Y٠G9[bOaSr=FUj(Я3UWz2@W!i7W.?$$2'!̌$=8x2M+Vp|9V^ -K n$阕MrIRӉYQfvL"Rvdy}uն-[σXeZ,baٺfs+n#5*NI;V^IZH]]3gRnCEG;]_;OƠKڋ~^!W/Á[pP6r2Vpkfk Dz+;~e(-q4jc=Tr";zixlނawY[܍ˆBQDau -A(]'pUrRu]a$GW/`|ʢx9*I+Ru7AdQ:tkVB.I@.jynZFByEeWeNeBK=T.zʝ}$丗ٛI*<ɐxkW1d`HMnJEiƩSYJ w Tj}N`/Vd*LS$USpbkKfkmP(eb_6GG~|Dfa͂1hs!5L;Hh -Ivvv}M#m 1mYxŁLoeL>,Ku4^|PU 4jI&ޮ;< ˅џr"As2Ih|d n_z{oݻv ^̅8qvĢp{(ڷJ^g5J{q'- LkXǓ3։e7Ȟ%L?Jq#=>̝)<[ajN4JtGq<3bɕq́*]4>@٢r57Z /?ԏލՎXxU=oi U뼖g-&-yLR"O!IYUȌPYl2Տ&$2@ $\,z3г58AgBYFq~MEz3`i  'u>D #.y%K*R "X={;_]@:/v16wURvZV:7~Ydž/ocCQ/s6sk@LkuEh$bsp{]E+lr'$a.}^H^pt#3ʀ=TaS}흻?0 r11+AAWE pF\*[Atj1YvEXe3$+9|ٓ'u|#<'*k%qҴ;I~dZO7(|0s!w!κA ‘9$~4Z|yBgO,r\{&  ?S<IMj3i(N=眀/| ΢#!t -r.a3h-o2lMuWY>g0~z5-tr3W?1]1 (!zFI9j}%kM]t TS"$DJKl5hpպeŻErKG7Jacj;&)&_.6hwgg/pt=7ӢMz=cu\GLH 8l - kl^NC8@$~I%wr8Jw)fp`zv Pnfw!RF~C0ʼnK|7<} 'QR@I@M9tv[LȵVZQR Wc|X7= Y@3& /?'#ENF:S?axSϬV\#1\C8=ok7= yiƳ`y)8Xb,"_RfiOluV1A/ jv"qKj}WA͸a,q?O3A˾~[|y%i9:Q*!O ->ˬL-[*ⱋVz4U6D?hQɔ/|W|e4e2>Im,= U"OtZ߶Mi0=uͦW@I^ ,Pk/ -Oh#ÑT'5JYZ_O+s܍ t2M Nk|4ځۜÍLK-! [Bu -VOM O\؎A_J/OӴp-=YsGGbH)PB9/} a0P@%W7#Z5AE::DAq8=7Zװ' (c7W'7ܡ,c :Qp+ +!Q{WZd^و4$tt -p0Ӭ {, Bx&>60]JI0ɕfP<3ms;[aZ2UYyykoW-S-CF)pR~yr$J_JvN(xVJQ}ƶNgP)J?P)ŖJ$:"u2+-V+nkf*|NM:mx:u>#r Wly IױJҵ $JCb.fm1 JgrxietP+˚J!S% +ت܆(J2jy,j]g!]foSŲ%5 -41X! n]oQ bB3Aa! VZ[y~F0[[#e|%⩒YeUGGj~OȰ`q254Nɲ,6g{OuXޫ` ܖڐtbQJZ\]4֒xvpNιC)ױ N@vHI#ޠzD=3ɺ1ɼOk]"69er9aҴDdkTŸ! -=iPML -fYnF&* Oq+;: "&Vfg'I+SΫ/w>xKT?=ú(*.;-<Ų Ȩ#FՋ[2L'?sKڮGe_ڝ) yؖITӒJT.LOH;|>8*?Bc K=JA6pXtaod¶,k>kL,)Dy\+W<9:p;K<%=B_o) v[`18A?5/}kh:0^7 A%[YeQa$.RMǵ#Dga -3`VNbLPLmP -q||W^.w8 ;W^y>ӯ.0p @{4Ĉ,`>:j|4}"//ȏV z ?C?(A,~@j?Ea1}+Di$8655!RBE&D%y80G}6uV& >?g˚n 8 # ϲx9?wgQ @o{N+8]נ{(Edպ04Xq)DȀᄑ1WMVX;TؙQVDM'! #V|q$p%'$ di&F MtOR"82Xi^ ϳ5nMm7" 2==DRT hcps $A?"X62؟.(`deXDr]'ʒM ,I->1;3Yѿ. ~\NHaw|@&粴ފRCp[q6`~^ g|(a>"eA|,\!d К}4LԻ-gBa Y_3)C39YWdgӐYޠ'Tqq M^+!aMxHad!W}ߑMdpזQ4u̱e-Ҵ^͓ [Q2~G&S̝i'=Rs"-5Ӊs\ӰT]ۦ (0vmG';|4q,@fvLrIʷtI{FQs!PEnYiIPGT5a-' gu5ϫTE]Yk݇AGwn$M͓ V|)A0-4ѥ @U4k$`VN-N2觫@,@)mǦe9$FPq9^䎻22;˕kHyLpA)+,3L54K{O]}wpnjd՝`|:)5W8'REGCCG0ӑi -X!Nr(B.&Uf;(d5 -ZƨJm\,D _ -u?>KIiZ*2߶4\ Q1Pc^W^bG\L %珋_˸8Cda- G/>l]ԭѶu]K -m D q{{}'Sٓ_"٦Iz --9;+t19/_š,,JXy-4`o"i,?'Qʀ!C+ꄞ &Kj |r;RNN=Jeω6럢Ul#Ўv2KŒ"J(;<* l3a Q@;9)khEݗ";<㜹e< OH9p8 ci -smײ?xh Z^ssM@] UfQd> <5gTE4]RdbIl8;s\ZtRBlH| *5ۖYҸ|D~fE=u@7qgL2î_2ϳ*%|mP2ST4S|\X -m)ac_'jȎ*ș :;1K 1us7rKK\i~aq"ytM< $ѶwSƚ& u 0џ~A/ c:gjAy cc l,cWDK&I,V\c.~w Fic6ݶ.KAR˻"Ic=i0 ׌5St{8ػ. giŁ+-~K45趜,z-PgqG12LW"LY^ ;a6lsg,c4KR NwQn"OU;aI@F 9mk@hEI*Rfx' 6VEA^Fh`[2^YlRlSm6j7d6VuզGAWuntaNDEizԿzFRSvkga}Vhxi]]u}Ž0:dJh58&2FM8*kYk֠0j3ԄN-288O. #e@0gQ - ;_BȦ -AN3Ӆ Eł2_|hS#i;9fk_?GG>aK@;~]v|Gl:vAi ˷S̴YD2.z sО4aptm\ix(}Ve51y[T -`$t }bZ66uدTrV;@ 0dOTNv0[J_? y.4u϶l9/bEeTWYj. pӶ`y9gmf-Il7)$Z9U"tĶ  ht3W*Kk, - ¾8! bRͭh< #>'坞8N L҇{|şo *.\眮VV^ƚmik%FVwA,pO(ڴ"G/+_5@ٶktr:OtXV#W:?fX2kN/V_:TH疢QJ.Xi=S?5v]s+= lfiy%Q*tcܜ __G=,IM\Q[GȍZ$CLJZd^_Y!&Z=fܬ .Mu0Z3n` 'q p__K\ L$FzBT*¼(NU^Y-Mt=o{_yb9[. dQ' [* &ѿV($}FGFѵY Bˤ#,e>"M7wG tE|'S~jeWlv]rW3pWsNآꈗI!O}Yū}kǒfq݋.p]zC SccJ~ 5Je~$6P<)Mอh*3tnnUKGvZ +ur*IP c,'kLc'';,ПN=ኔa8` v,b Ri/#"7.Ugס`3״82 *(C6=,Ak-֣?B||rvxvݵp蓣1~4~FUeˡV-iП1e\ʀ -BzIQ:8Ѩ֬me/&3"e?>Ζm]m;H<ULWx]p-RE8v˖0Vd8~Rbاߩ\VM 3X3|eXr1J8_|gӋA/MġX1Ng֟#XF GؙbˉrU }QQ`^kX* -z1< ֤bUlBK6 SǢy A'ږ>~NSّ#or"QTȕө*HXoq bO(c"sjyv!<&%rHV"".Oi`Sͫ녔iWԒAnrHbSa!P`HHalHt;Z0y K )s`F8Qjr\fiC rVsѶ@0D!7TU]ZĊ(ߕN=x)ǔBpL=zDǎ%)rK"Z>gFu`j:ɣXe2zQϙS3F*TX <]agW̓${ -iWU:Fb7lxB{\hJ'8`N{TLL{d {7kd@8F9, y>:QG,Nī!c[$Ny,C|Qy兡`|~&+ W_#znHl3`׾)quHEGؼF.nG\jOh*۩3$N7H0ۘ4ںۨhȷym -l/?[\Ş*e@Œ@ZY` 29%Pba?4ݴ$ "TנqWkq0>1~a_A[ X-{!s>1@e@Ԉ5+WWel )vWNA4hr~eodod`z) A\fYAep5eH͂S?&iio}+_|t&!d!Lv@UZ -勓t@, *"fdXʼn6GH|W -,m &+rvj5^[iO0d 7}Vq ZNu$l^'gbt8lnD]StQG*{(5`g :,U fKDTv?v_KnxY13V$RRo2&_ ZA)SvMF ]Q_iK[**2C:e)#g" f^V9_\Z+KW7?Iy_F?TL]@T?%筑E_P0L#S(< 24WZ Ю  -hӯ˳r蟯a3 $E!A68*m+M%-rFf@ZaC?726^G>oW߆E0O샋hw!掕sO+7 ~,6miڜ$p\#/㤱 ENRR8|S -0Ȳ="QnY2̡zT_8G}] nV -B30M.8?KFRۮ.V3@F+Xr\V׾ 9?rEE^(ڗg?)}ߜS(6&̀)iKSu#7\wk~ݨGm]$#Fk$ -7_p; 3Y;Û,sʭ1Eq@T/QÖ`x&%g3lGK+԰)vc׿_fXğ W/S<LJQNRи:qzpqyy7q}v>uw^79]-6i,ykqfq팜 %>70 v%c?4m';'dWyF iUV&5݊~Ϛ<9Uw}ԡa1~vb&"5BHBZ.N/g`nޘ΃(8 {j4DDEw&~ᳯ~L hoLoi5gt2 hxu ||g@K)6p%y:Mtwp `7/>yeYbSk}-ы˥DA()A0E]CvthݒPw ]E^B:Gl۪9ʊtx.'+4"[A YrQPEGiVMe5Ve~ -FVUX_,|[^G\~(~__&QG6QpttGOn +y ^i(RxV/.&_ `H2K; :vD\T aAAn}w>5YoY>\>~xA%b!/}ySYW"TAǏk°Z+8։"ku8y/J -J/WH~ΛĴlR-Mf1oO < oXT3`˚̸?x <3Gc᛭u{D;{&&f+R -TR42p-}diW y=a\x҄ou> GŒh8Olj[R` f4{jcD:?G;V4hKXIE#{ꡜ`"@$c@3(؟JA~k>en= -`MbnEgp}0^%i6"hzQlnKMY䇚B+> 0 -o9o*pqvg?3;:}z_CVu+ާA`mij܇Á`YvvC4 -{YgH.FnCmauL9|0;KPҩ Mo[=bŖg[֯}"k*_=#mV`̦աt)x~NtudFPTf_z() NCZ[C4[oEk/2 A0ҙ;o03e)k݌rd!"12 -* - I(o 9b1;%o[0c?/ob^&0+inJ{Đ8ġ6 &L?J"4sc9.y.l- ]||Gq8ؚ4H$u#{3CV |}~0['M(Y> =exF|9q=Ӫ6t{GCK<籥Lb\bESbpu f1B%Gd芶k}ӻSǣG#撷QtM=.IR05ŝwm?}8>:A$s,; k:0\#qy'uaJSv.uq`#>kH"*1﵍*XN_] u\߻$(?؀y?@B 0@͢Nf#UkK6T,<^ [#>,%J< P*&ez٧݀\JS],6XNY58öͷFop ll_4UF˭{ l" -4\n5l`~f'BJzhb(YPw`((:q !7k؜'ݩ_b:#9؈JףL GT_s8򪢃bƲ:\vn - Vж=gͳ(cv;-Y;Iܧ''n}Cp6RnAwTfh1?[.,/,wf0⯼.UR5C]",k.hUppH܀Y pWx| :_}o~ bc~8BU!^4SbRg3'Iɶa7w(R?̚f @0MQd I͎j4T1Oo AcK6}*< mjE()Df7F9Hfvl.u/Xc-Li;Z hµߥũ2,ssA"nkNϦ4-ΖSm)Q9PbG=߽icJ C@"9E}WOpoi뵴3+v;'aWOL)OA]r:Z)^o~r%[x7qb;=G(/ >Dr}&I"4̀8 D'|Oi=^GE2,F?`Ur+ ([ ->8[99?ܞaGk6RPjɑNDZ0y)z1>Nb4錺Oz> x0Mh(\5 -Qߢ֞o=$9J~I>}t[wQ6\ =t2۲0`'{@i?!ʏqNd*dQ-Yw_}8rzšyx|lz4G ?PM[Q??GOW_Ps^,;_<0rd9%We/YX*s{Tk6u[ -mh"{HGm,Amƅ]>,цo`LÐǩ}_ 3Pb(WOtFb1/Oџo; 혜@TS>/ N%/b4XS'qpgYHWd04%fT,ysne X0qcu}ӡ&Kg `qW绗O9sF,_'ɐ'OWú PeY**qAr]1ͼ{>-pu-rDׁ'S"a3063ƣWXZB/!o0lt48ڒCzm9~|>撱֤O}}m"/&ᣊ.iz&`;&ZO@YY=_ `R mYDp!bp#(V~-w{{gg+Y EezoL3u`&lL5ŗ2(&e)bϔ`B0 2Vڊ2Nc'9 -uۉK?z7X_ʚo^3WDo3e#SF>Nȣ١l8CB|k_? oM`On9crK ;Wyf*VU)h61Ee.Ɂþ-[E=P׊.L98A%8Dn+|CPmP}fFW%:L5\:]8B/Z0SF,K9?lnLpi {Ӵ<@G) tO7&tz'wV㓓/5 +v!.HMU?=}Lp'HQ0-‹RAv4}umiQE/&.OmfvObCzHzLrmKǁUN΋EW q:BCTy]y_8; +#Lf&"޽p2*]4pq?]$w2vob?J&҉4ʧyr®5Rݐ<;k,@S iۨY4mE BxOp#AWdFUR\,' ҦoxcvOzP{Yc%}^D#ٞ4ka3١Z-=8I-f+,j*D<4@s#"㛏u}wYu!hS -||-+3_e3iJK?񆚾W[^29G0z$٨a~NʺnEpev@-kK:-p+4QjK8nv626].$ @Mw KNJޏXjYRJ;aX\WWѤw^;)=M{s_5F**"?cr_-6`yz)K89PMա`?5^l2^ 1WYոPnnBދ\ŗa%GlE:/7M^}!=AbQFAzm@3ŐYpD)Y.ojstOdZln~1bMّMw\dd6Y6yBD v$My϶;TD}o?f{(Q;{nXt𪸄~b< q=$|L!n*&Փ^ݶ!7%j!`I2BӦ a+ ;X|g @2̀]~UﺆTGfHx^x4ۀ x#_p?%΅Ϸm7珍n#sLNXj}fEOSM<-vIMf঱#{&Q|ѢE%|b.EZu!)~@CSCNp Axz=[Zgf,%E9~Gr4U3*PAhZbOl*0s -Sz;~~vc~?\XO$Lo8AjP;IN"¾J[ ]l0Z&յhq'IEq),8R:.F#籅Xr%Qrv|R-B,`ssV%DWcsy N#36+;xTiF^^qy{}m lcךLmm6ˍMY Ʉq'<0E!MNc+izHc4q'hÇ3mۀ \Dǁ5R0]nykT y?<>|꥕1Wc\%ӰL7MyT\5.$^0\,nY|qߊ9_6EԇFM}z$RoVVfswj˺<<>)2ڪpˬt|}%.BUE5hhka/\Yu:/.sUɭ nwzӀg}S6 y~.| 2,(EukH,7UYnIs+(ip<؂CҶcۻh&ɭ8઴ئBe*xΥebpnn-[ ^o;ɔ,Ķ3]?BnP)wXvTAwaF7-6 j5;61}9t yd*pc,A3 Z΋".G/W_{pn y>MqTNL |w пy<\F"di8zMK"S,h]KsC94XLx\;qiY\th -zy?Ve:xR+l`|ǧLj Sc8bIQ}7#o}WTՎ@F@hBs<:d_S?',\]޹u\'Д7cDž|v6Sc52wM38O ו*ҢtM<7&~VUO˩2]}8\?tko2IyBE?pgJٶɦ|y-5r[kinFTbk[6>j&€DLw(?4YG *0h7jJ]!r[{t&96?R(əwV_z8ݿ< uܝf`w`Q k?4~_#++ &|g?Ysm@GΥعV:e@_ѵ_79_ L0,q -Fj݇^,(y|~zzv#Kۉb3S ($M:[}Uy8; - -ɝ ޷1)5^׮F qH"ӵ%d$'ll;!dJ'zcmr?ˇ.pGz-Jjdc oMZgǷ)_wLvLQAwT1}HV+U̜7È-r%5146@Ϭġ+{xVLx,.$EGخu `.N; @}j.EZUM6yŜ`Q̮E޻8+jc;v9M:N8cRg%͝2T'E7.,qQ,v/;euo]BCݪ uh!5R ē^9VBCwd4"(͞eUPqs` b,s?S>ɭS3뽌DMͭq _7C&m3U&Ƌ u ĹFr% $Ѵv;}N/ޫk]6&!$kF6\Î0+;1ɎgGlvc8K* -ַu]s{n nE@8[~둤h{EᲣ]j(|\#@WqA<4[ lbK;*.;^ WG^a״&b{ٖ!UD]qIwM,R|- 0fu+!0Zҟ3l@++}8UѲpg{[^눶AժQRצ_vϡa-Z(wש3nvyvB/1Q_/{|"7)o~e%١_ -0,@ oO.6 5eYjĥ"S5wdV;I:H±ƎiVK.q80]\8?[<?;eXk)Z߿U6nІAi8 !&Zԑ[]NɷB^O*P}__q.}N1VdgD6+xAt7R*! q8y} 3='_^rRη,& -ζN_:ųyWA -n3}8yEiQqq@%\tLssxe/({Blԉ7k\$ Zo6*\QaY.\Ji5o=ǃ-޷xX|y//"KGypk XhBrO:&'vhζEM?eHu!gW3S K4$vݾ;h*v0txVdf&.`QSyeSEi -+ #?beΎlnku`#fxmuqAU){i˜4sʉѐRͫmn4"ά,gqZtx j[Ҿ,ڲ!ir>KT4<.z:kb=Pq mϖmXAU-Qq+ZhDI--\>* !5[0_o~7`s-PæU ~ ^lٝr-j&Ih,q*˪(J͓Cyf(gac;-oBt}0 LU'qYp5ԗ@ߟ nziOzElοef۪4(dȁeƮ)oRleZ}bn_]_|0t g<a~ǷOEGOhW^ x Y,[!6W_rN\P>TAXBLhL%!,09qR4J -#gZa^_,<#K,gWAit]_ yϽM%6пnE*#\f6qջKUM?{͟) P?P`#t‰ DoZ ݐ=L < kB >775 UPc~_]t2700ߩpMJ,ng2ÇSv`s¢}vhvjO&oڸsE^`YD'OJ멊8p'œTC2'#0aJ 6!C6؝W9g@J^(ET0=co8{Hj]9g!ܪo#۫z9/~wW=^"tF1A=b>`E FSFKann_maԟo -kS$QEbmS?CtB; -FjtR$ -?fcsx -=λ<ˈZQ)!u&iZܮCb`Y؏a{!9]461p]Y -c4j峾Q kL!?J" -g-6w>|:牒}Sm_?go(.j}SpkaJ?1ۺ\U1M2㮏n/9Npaj;FxuU[Ԋ@^ZK$%Q~?JhhT$bl4X'#FjR:)""Ayfg{910+ -^ ;ۢߟNb!/UӀe}M*UOwe]ok,`Ͻvrc_@lkxBD'j\ -фl/Ԡ(F}*uw]y8@UR݉~P8Mejܿfj pQJtlGEP>$$miR5v ~' 6l\O$K4?ShXDm՘ZUsEt@2I2v>O~y7<9ϨqUyohr8O3CxX|͉L_̜[͠n}w܆cTZ>x`>o-I$S8S ">`SbFG!* LQU7e~dڼSĐUMX:{LoIx0〳_shs2Tfĝư=hhh5 up@ -C0\y\> pow5q -vF4UYQE}88@hMk jinUoI/m^˶6㸣4+:ƌK⬮b+<ÉwcigjІr P88*Wnv$M {Frh~#J~ sUG#[ۖ9}]#jDރPtMP \Ep`q -&Dv:}Y]v 8pH,B0)ND11 -zg m]&aF*ZsPUsxò(cEGTj?_ެµ^K]fMeT`CdU^ -cJtXXb -StޔhK;$&@ YQ4Pm L[ņ=rPLs@+n?ҧI,)|2{&z^2[lWKV'p`K|p*&̨7%CE5R-9 Զo#;LmXad,<,q,zlQ?N_},e킖 j08L8B)hQ@\{-~i[x#3ۋ-%fU L(EY8MAfԤC -@Ϗ?5>-p_udɃRyIg\J;ؾ|r} F-W fq)pRm -IXh-a8ؠ.&ҕeYx89XO9KKoiz\$aXxDG(ZQ:}0li):lʅwh"jMuaN۷C9=<By!aԝn|SDh1v ,QWK^:?]9,ç.-ѴsL -1aO}JWc%O²'zVQ[h9Qg ^ gmdoK`vtH &Cl3:Xbֆ i -nd<4߈I -X(z @k,j>EʊmHҶY7!£ Q6ݢ -KBwb=paU} *ELvD\ຮcXC'JU܎5mz~H>3ެ5v5 u=Bp*!q0˪*)Ο82خ+5`FD0Rl_%R` Ӆk;gO N7n7,MMs";y/•1k<Ph$ yv93bC\4)Qm}Or^s*-RI|=h{\qE!Qϻk q׮8v. sw -ezW<!&\\J) æ/8# %͛-8X'GqH@#|!:p!"iў?@l?Ƌ-I mKk_\+$q-amDWn`oFdm3Iݫ -hDoj7dd+-ap#%\@_}pKU67[Z[*r;'jjS@Z(^ -97 7Cʗz$Scz -F -*f윏ӽ? j' -2M;:w\l%؋ϲ ϛ4!gX6ºVZY^!( }8[uJ֪#>ju':Fr-48iÑpXD[1gWqե9.q—aUw<-NnFq`BR c,yL4\bm 8 bUiq N]6j=J)jcTJ*o,W8NR*PxduYĸz/8]ڏ{Fs?blv1== 8cvSDWP]RC P" -%% ܮ?ǵ񸕫?^\,>pfsI;* -!o꒽Vn@5vfHfw4YhB2r1%adۡ=^J)QuݶC4>}П p(s^_r8$$_OHyfCNoϸ?,^VzSNb 5[?dZH=dW3cUwl3F_gUp4##VNUe#ikZ&o)jZ1á?\X['4əZ6~{ХX_{-~dܺEgɉEރq8oYSiv| )E8E񋹃zx<<_ȆAڤ l⃪#6M]-l LG lej~הi*}HR Gc8?7o1; o_VG퐀$nX1 -K1,ࣘ`Pi8ٝzɱ(C ;i~V-tйu/~X$h_z8|$=w%Ϡ?礬П)O+lk)_n|6(vV -Pٜ*,.mT˿ ߮<` ffjw5 +xb-DۇhyǥeNY#/$Ov>ېA@$& ũK]T,"~ɇ))~'.bzf'QJpuӣn`/u`{6FVZ<>\KSu[t'Y>6[ -cy-[}*oGRz,lԉGq먈4= Rooh=㭼x/djρ[8gK`?d1c76`_0g[4 o].}=h47O јqh;#=@SCv"sتQIO$?8tyLwI"/Hh<}fJ'?mklP&n Rxj?kB~ɗ cqA8['YZ9? L=w5H+-:i6R(vƝ$@.-ԉgG4RZ{(Io0̋ H]u˳h{. @^VLZDkS @mxD|(Ե>+֠}` s/>pe_5mfN E:Z&ޡ.֬Tj]Uh p*#wu{*E2nYEErY ӰVV|W``6J ӡi -idյPva?݌ͅ L$Gx"pAo(HeyyJ)wZZy%Oޭ;RJ@á׺<(&rw }eiw&dDn8g/Ok6hqȤ}s(@I B u$$Q[U}UUdG.& -<3Э햢r$~̏'pX}mVs8kK[HcM0DRGu+ȶ"pH.ė::48--쩮󧔦.ЮʞEyqTxu&o=o0 TZcm[>1U G=;F(p&LB/ü9׫otH kж1ˢz -J -hjtˏ9v[ੳcQ9M[|5bh1θ7YŸsl[n_saǺ+H4:wzDՒh P@&05Q5:/*q.l,0YF{G0xǿ~Yr@!eG5Jipse͛UV3 \~lQѣ\/nxV-덷NWMbv 6K[?gR!E}/Ϳ~9ď[!/eTn1(ecqO<hca9ytRNBM=\V2a%tLjJU5y]1/4kJ=8QdLV5Qݘ6jay8/d՛s^w~6I^}ncGEeuk؍#Luy~yΖIeYzvs7ǐYU]]dMv 6DB4doH {!{vZy嵗Z$@ /0  2@lCjT7̈7Ļ8^DVuu^Exýzp&s7s?Eop@Y 0i%jUbPOT(Ӭ4`YOr.$$I/+8sT=Bz(!_Aq}}zw4 -|,g8osq~:BgF;|EM|,؏JPrRḚɽh/Ca}r/H9+DRLh 8QIۡۆ;pނ਍ -ϗB1#>#`4` b{)hP @SٽI:-Iymw RRZD28׶ eUCH.@L@e+3N[`4Y@I%Jv]^FZ e}i_<ݦ%Qϳ W)d؜Bʭ&f^a Hop+A/~x-$0#ps*@>?R*V'߼t W""c -qs1]T١;hhgB; Yb"JV,\DB,A*]\ݯ䭛U ^ ,1r`+3ၑ8DS/t]uMv uR%\MӘx>_ܓ[*붬(8ȒBfUݔ9 -{"ltE€_h*؜l,@p*{n{p]Y *s=+pGxAi da KvaɵMQW*p Uɬ"ofI -4 =B6?d -.3=Zn;Y7o`TtQ%S;{8"&!a hNf]Mt%NN/<>.H4 jy]sOHUơ%^ԐUAS: >7o{#+D%ف廊@.X`d[ [(=,w{MAvWǁeGSR-'a - . -= V/tKe!ޫƆίi,Ϯ3`V3I^ tc9#*>[fxzwRT BҹtɗbS(`fqukHP3 ȑb7RWdlr[-;$}CDPef/:πpë~w}Y-&mi7i!yl{2 U "FNrE$>PqtoQB$0Y7?#g-g5=TfMyUm?E4~BOt@.Ξ_ ?YN@9b.%!vlqM&eY oD _)q[njCGEWHT -։yKy+K>/:7aSCh9SXy;T,.nD℗'u5F{E /pmїy%`vZaӑhاo#xl(Bxs -. KƂc)9.v`+?6L mxaVEunå#4k>{cjkGNg}8.p -Tw0q+ ).]j#@IPbe@je?wL<p_OR ?x)S]~\ -}`C٠*XSy0\^ZJLT  iU$/ӂ,U% dJp;؛XRRhќDS'[Wۗ|IXXC W9[qi,mLĘѓ9AbLUq9 $wMjUDCKaΗ- >]KTxN -g:mFx5f0w KWk` 4I6I=#S=6r$`R>}0Ї[zk~ Kź;x( =Q&=T'`m!N:HlV ,||LHgYؒzseBlG-jlnN2;&v\ڶljCM?/ze`^xċ;âsn/,d^ (H 4D2[;V^n_׉07|NU k] -#3 Đx |@qGSȏ$İ& ښ-⁆H;BP : *vULV#X_S-I*Qc;c[AZ|n3=p/\m;Lj~Tgɉ0lP4I*wM X w}? !'#kqBm=3? "em?!s{oS@O<"kHyTu ;mYfYS,=S%Iq[‹Q("(((MMɛ=l/ӄ tO<)8y9p@epBPj1k5KpI!І vdžr_mfS-}P]`}rwӢ맯B/OçU_Ɇ8()ԍFr0֔0YE;e0]%3¹WU.~e1aLoa]``mԭ8hHB/gW.JVE'C]sRAr -h2P( A Q^iܿ7׾^]]-u:yn]Nk޼J-:47FP8KExqقuE@CA\,wT 3*p+|k*%f MաƩ b|+ uBBp0D#N|_D3xc1Q" -C)I#-wkep)p&v#(_ǁͅi!tI{t$scGB:@I6?#DZj)[8jF^AhPENiVXK1V=cb;e{R 5)}#nG{| =rbp'P*&On,F=rrDW@8т볚8D c}ݜ4rpK(yW3"}"9GIm^ή1> -#~@>-p8dH [5?M'?FClO˼ZFpX^\!dGIx(ΠH1(nr8]1 8tI=-@V@q?:7D{DAJ 2Q"(\PjTO YYP<=g?~;ἅu`W~'|CMS`19\}IHiFS˷Hvw 1 &Sl7>#}[,)VB߶J2dF3)1{k+ @?-/Fh8ĝj%?$6s9XF n m\鐥_k߶zvjF8˽;F{C h -wIWk%Rq,, - ,E|{@`[ Y؞Bճb:4/|Q.ǻ!0Pu{yN!6h0Uɉ,Z»3G|eU~olڰ.[_[q s%wZHK+.iv?;+}S\pЖC Iڣ%9IT gK ZTJ$ac󪇎6C[JbH!?-"9 In}OzX? s Hbmٱ.4/)bPXj[Lӻ]wp\8o%y27: MF-C0~Ip/_6SׁevlR\Pʋ+?J5 +\ϳ6F59UjKoLya> v'}# dAg뿘/*o%(@\ZX/pRʻێ{~B;ehJ&?F{Yum&R**6E5aDKB^ -|WmƮBB/ȨPIKn D˃Rb>ר9d`PDptK5Ǣvi9jH$j4gV'>8!4 -~/p Ct2F#@gJ@ |k>p{u쀯Óu%&n }$,"RS`^gQhIfM)^Eid->&j/I_ǃ|oҐ0˹_^4u+{};_-;\O?+$,wC쿻yaY拋5CM'y)t> RJg^H։IVILEЉݕ2`4{iK@ae`u)M˃QxzD`<69pvoK@ LZu'\}Wz>vPwWQEu[u?8s;:gOv -+v<F) 0Ru@g p6ߗt\~~?{<%HϽ͟~Og﮾ -]FxΚ!]qxvۇ > K "rC*ln~`S"úrkFf-"|]HZD7$IJgz*x]YdqltK^tV2] --Bf -Σ5֪荐| 8X6+ w6|Bxo;@鯅#ԩR ##э 0Dh~Ύhn-a[!hFxc(/6`Y&mJHtm /mF8N{x(\bᚐ ڏذ@p(8b][\؊O݁k?gy= }Ugo|X9Tmp7EgAoס &r]ҽ|߶uLDI(w,M ˔~IDMAJg :S bo%pTE3Hu-)?3b"N?Q#_ {Dt&DbAtU8Wܯ1q? -pn걤$<-+"8HĠF]Ve5־@MwWsY•ACU -ٰNK<\A=VL~ӕ{ Uvo"ݳuG9HσD#||VRpɡ0 -ݼd3;P0=|d7] -̀KA"^>Z `|IlG]IJXo;>|z@ϢcԮf@Ro?粃] =.,"`veY2;:jԎW - mhԊ -yF-k8Z@V Lp8mTnCkGz \?79W.@}BrUb>_[En%qe~\ fq0(_d@KqVzb!nLmVdW*@ o(nA>au517ڛB: b"SX*qF('b^ tišt"^IӠJ牓L~Kj,Aʣ@my9Y,ن]_JL - }5ىuh?*]@dVQEQ?J U[P7}ST/ږ"=*ȇ/{o +&|0dv"c,,o7cL,ܨ#ϣ'&HZoXoZ֍Uoy+dkrjj(g&PEjD:y \Dgo#"AnqTn;l>O1ϛ`^ c,)Yyh-D8. ) 9&T9yz pީH|ן\x:7KPO;w;I]CB.:dYutos51PyߘQGq8[=:M] c?IPs:&gnoOuq2d~!U> s Y0 P:b*1l8?1}MJom4"UQNJSkzؿ,+x?^<xPO ^LfTq~3MӯۿAC+pn؟'|Fôd`Z7?Rcxx4AM!cz)|^O2^H9KK×hdcp>=OT9w>&0׿mgEW'}?9[m7bj#H™ !ᄉϣ;$\IWgpR! aNwZ*$#\h& -U2!rV*dEr&m-(@8ErUჅ-WqwEtB.TlUJSk4f?eGKM+zEemֹu>_1]={6ϒzۆE1A U(ci.B#6Gucy[d7z(y,(hЏ 0 -B"ǩY@ JEzUN1[2lϟ=xȈZ^Uiܴ}[qrlh8hO#U(I! nA;J /iA ;`bYܲY -pm?"<H0;_8{14Nybh~oSSwlm*/ kVIQ E6v~$(JHeSve⭍[5"c.8"9?3ؖ o{!U˗ -,|mVh>CCR[.+^u= -9q^1۲)\. TAaQ"MÑԇt]W@M -'`??_w\:uU?yyzgӓūͻϞJ QiWNռ!t|9K^ًGZFNe 2@˫3r!OaR*i浬)(#B4nj_>9'|f u#T2It*f~n)= ,A :VbX~hMVzǬGHa=SFYcH(^&X%2t045ZRSE~!$_kTli`˭qF{s݃ z vt.зE_W5fj 6j# Ozkv`;o ew > AZ?q - AzRBd|B?_Q@D,(?xCvj,K6&wdXLOK:xtuҮn"AUfA1j랥SYonN|@Ui0sӕH UkEn_b*t$!9U'UyBD8@ygXJUj5(3ΫV -]p{r"G["ӏɢ+l-ME -9dq?ecVs{Er^m,ß()GHarFL/#Y=Iđv+4ڗn #f+Œ+s*K(*7\W^%.QdffV#k4ݡfZQ9KDg8 -|Q * ;~>MG=lX[N̜'(\Ap࿱9N1j04 ~0lpDM6{odc; $t%/ҼXvd³cp ]C -#HxJFf\=\eL U*)i2Xoͫ Oz{,+_^3}^\Ys -sٖ7ce8x6tѪGLg;=%|JY-7RO;UQZև"gә=i޻CHZw~( H x95cX(q T{nq|abn$=Xעa\rs0^>6:!߃f -&Wϗg-yߟxXa~WܓIb/Np?Q(}ysMǷ;v'bV׈5yɧHBqy0]­uwgܭ_'A#[jr>!҆pG[ b@ -)CQTej r}S [T <*ر$~e2"\sX >rc'ޥ8Njں4)KHV vM48Ё[VCm]]!ԍXbm`{BKBivt0bqj{m~D>}V=8qc` !UQp'KO[w:" -ej{qJ==Z⹊^R=?^-uy!u2YwpMg1ٝEmk0N[\ PaHfj8 X׮V*Π+"HaJWFjKЬb/lh&!tհ䚃ct&dqB0N88fZ'Wpo)$ S4nnz/;KvH;He% P6&ziׅ#f"e,Ni~YYz؞eP8cr:t .ISKI?BTH0H3kw-)3e*9 V4nHz$aN_`"r1Ț|d(P >z_MO4}QpwTM }SaQpCWgӯ$}4+1Q<*Al>c\<=IXQh n8 T?:G՟0jÜng/֫vZFȏIۻwn~nwHzy;#ӛ?a ٳgE_=ŹB ۪ۡ 7黜F_ AG^p +z#oW - z8=!GiI[g`g2ɚ,,9amTB9/1|}09UkO/V4R\[ݨn`$mu_ɒDsGs7e`eiz\X5X322BެsTRGfUpa] -&n`l LHKVӡCSAԆiơ5Pѭ7O΂@C*I0+2򣪮~09 R # 2MVw?a1}%3eY5"|FґХ'b!= oyTJ۱]ftq7( -mG*mP׳7zYK.JW.-dnoWePfQMI[ǢI?UN,/xpamm6ؗ{KYw"m͊sƓ6* -d.X 9cf(`EHaWG6'BGg - -=-Wg*C+9"#2^9GYĝs;ثe %/UDZDy`M08fh#Xux %r4, I+uS~L\NES~/T>@ -6Kj(eD%M7C -?Vv'?~az7oԔLӋw/Y|2588]]oe'oX ʈE!sxq8N9_<{wzJZO\BJy`y/x0 90LU\]/R1=V~xkg=b4NkP෿[-%&(;&g'nnhxR!s^|@ !C6ăd@㳋G?q$ί $1m}lb ͋:.we@蠵cS -쾗b ܗ/ Mp%_6@U54 $U#%?xQ)Q;!o;2MovD^}`>ڏʒ$fOUμMǕR#C90:+]ǂA *ZKr }7 -L9x¤SRI#N]V~+0azݑ>2[)%wB}8tE`f}sπrԿCeodE_'3eqpMu, FHԈȥ!>|pOHxvb {9T t{|~io61lZr$p:j&~ s,5J*:N^,=f,,a K& *zrPFN&/4iJf쟤QNb[^߾֟fsg>ӯ) &i2[zө7&T0CжNL GWwet -xIi33MΐԆFCgXQ?=4]uP˴.!V`%_a9ut)2$B yA5fSwGyI*a2ҒHMU<7G-ix_QS3Bt Rjb?J^a 7$4K>YJт3/a$ s"0ZYOI+==CT˛V4Lw6j˷nkD00oAwf+"k? ^6r"ĢgaO!iПN:m]{`Ho -p ; dbTmF>8 xBlO -&Xe׏7PTi#'\k2 IX.?{xO_%:7?<}ŭw~/^`C3dl>_H2O\6uYgٺɊpJmB3;G^7%# -Hf>vMDIbR{ߞQϬPvwDg;ôG?$#  #vE.# bnBps`;);3~L42gB΄v97$ #!70,c5vܶ MzBI!j 8$6_.7FW$JTx9;yѬ{Y,qxrFߏt9ԕt} Q!!iYo] (F[^CErR|kzbi[z1~X``\^]WXȷS9 .aZ.WpF)+ -4  =1>sV-smYJI=6Nז6EWzj>,|g,o(*Z -uMaVUy8 BpӨFWSyGsPww(ӞSwߵ^aJaz⧥T1TxO1 ?vSMA^%o^wͭ}$&RoID;̇u]YӧxNQY~ ~">OvAFqǁHO]\=^{On_]P(3^a֏n(ņy4 =x -u6Ҁ+`3=Py i==,1pvU>!*uRy}I$YZJ$RIġ`y]E - -(@*8iȾ돛.{[aW˪P$Gyصi]fm j#s4 -/@/>~ -]a7%W`ɤ\$irO' | -ﯯWWfc.ȊgBp*=#sH"8ax۰j<[:'IWgl}I.:Hʉ<[ d`+@?Xdo=/rC$mՎpZն=mE!w ۸|:O8Df<.?&lg6cUabW>`+粤BgizNC!'H43<«]5b?} cL̺0`||8 y_̗lso08qG(>a3dž5:rh7WCK1bi E.blOҸ$8 648l0O|/9Q|RJ?`2C2d>\o[DKīD2ύ+r6h5v0qXmW<#>`|< 4X>J[|1#*qC9gZIb,!HTyE :UemFiz_9 Cd=\ȳX,f|Ѽ+sI82ͦ_%_‡_#[v\gs(9/hM#-'mg `A4/>|ekBUv-Tl -W_w`~[Ų*j_:a?lڶua&-o'aA80#ۈxeGy=P  #蹷UJ#7M9Hx>3F؀$:I|m妉yhRH?-̮='p nVp Yg@M86'lᐇKĘ0 -ُ> x_pz. -O3Y{=Sۭ 8ؕw_Pͺ|{9 !{ܑQs,) dӣ\8&X.,B! &GbX1 ۰6c:aMgʩ7d^&PytYdθ V ̛(<]gT --8J%@i>B.eEUQ̑anz-&SO`x:{Ֆw=ԭC>`'yyme=&Z~>[̞>>}NAE5|$U@ݩuU{drfOJ: I!!Jux>PI9%ppח)CܳD^9uD`h: R?HX?}7lj@Kda}!NY!udvGRA.f`ljpiK_hcP`K>k /D]WQ;J7J9XX`kr~>ApC<Q@#ˇeI*MFq=3g׷(ҏ߽3n#PS!ݼ`3X!?-QbbʇC)+` |l-A;0bi8#1S]!b!g^=VxA4J!tYn6,t'M"g8ڨAΝCjw-S$W'`Cen!yFPH%\r^e3\@fx>͗ 2k4Yxe95gg|,aF|HQ`Kp}ӌqrnp ~}UW'WRw97l1(_4tQCo6*n^gS>-C0gDd_ pi{< D&K=C'0 anRYYgvlMg9Y<<>KA\Z63`A?Y+4*!0FʨEpPN!'[銆Ft7eDv1 %\9\gCWNtee<^㎄u -°"1Gs2+`Ν@N\ iq_\P2GuБ;݀kh;ڴXylڴ)B\^LS$'` MÙ,o?!}s e IѵuZq -L9q5j63"B'{4ػ$_t@QpfVW~֟`jX$ߎ⁴O|g%=}2 NZrÑXE8YѴ0&gDwgX?:y6 k&mgIG,7\W\LTC W wJ" ~0s^WϞ^m-Ox?{Ŝk MPHPˌ_I$ K /xei$>,5)EC >#ۡ#I]֏Bj"PtCc҂G[KU(( -Um,͞]^Zp +rqߟ. EK֚x ߋ9Be8S,4αi颼@$`0uk$=/BiȦ' Յˆs<i 9i Cs:)F+QnfBl lHϣ ېִRm%I@Yr ;8{ kdžchg>Ȃ!3d DA)y挕cf -- ee=Ytp0!fhs*"eqGnV޸r$*cŸ!aMl=s2,)I,S5lhs8'Kܐo'?;|=6u`'Tؙk>XIk{eB5 38V\px_Ry`5\D_Zi2FȬ#`{?qnW1MɔV>6nӳ4bN 3<f5LyݽKW$i82Gp9u -K }lO隸!ggqGIWK-o1|0e` -]Td,8xa$\O=6'{pKmR9K(OΨ78ه '7ԡe:L9HWW(ΣpTM=ұDT|a0'V^EHAϲsu|nQ ")s.fZŠ3~@NUC_ Z`NxFѤ(A@.2huFMdfr2S CE ha%:BXˍ),A.@Q[N쾏*>LDG6D5UI2ЦwxOdF5 WO?~~}wγڹeKDŽqdU wDz 4Ke߆eN='HO,tv @tg;(])lHU%ҺI'Ra榬YO;y1&B"WǪx0`2:Qo `!.uEЗ%/n6`*8ꆳ}!n=eD (AP(OMoz<=Ox RP4;R{-d#hjf(.ܲ}:jo2@QGZw- VШ=Hh#6Q&^q"f{)2+LBq1XK72`4Cs4|ԥ -4:Ux .C]]w_ zxS4"8.[ݵ@5uǞ$"kQ$B&Ra$qH6~G|.?h.xKȒlil|5/, \gtDY"V>C>TpR8 ޷QX[5|)4mLǁ|(G.G&̀~|I0eeHK.nV:_¬ #@ 0Ɵu|`CUB8-Ct%<VU6+Elg2X滻oۺ<+:cǘĹ?#׊{^zTlj2\>Ogj]hU)It\Q^e(2Y[p=jڇ=KdM"rm׳okN@|n̏ln=9ymDZrMiiY ~ yMd$󅍁%D=Ibq9A z5L &qKɝgȬm5[ o+hxq=X(Q(4 -!<˃oH#!8x"ZHwɔ(<ߎ}ݰ*j=•Ix*8׆ -<"&/+֐θ0@ t>N0O:~ۈ}fd/C%2M@Qo|؍=\=BQ\ѬL HprxN(o09J)?D.E3떭.AiKNcE%$f媮aHO(/ u!7(?(XQi-.W\_ـmc0HnDYUӋi~#{Ň9-`_. 4Br2A^t K -Ų]} -gfPPU*>`"8?]bXq\=[2}<HL8=[ٜWw? o/7gߛ_,aC6RC`:CRA%75o)[4kE+mwB;Kٌՠ'Y~3!tX籆L{|xWƺ6Iџ Ϸe<\ݝQe4{k <;n(s.j(Mn7E[7#d40KiWC?;[aMڋ 7Lub-l%xxcC228Pdrnr`r p_@1Ww^ryL*?V8%X7DR΀4B%a{,( RЧpC Tc=Gƭ"\LJGf^ |u_خ"qrT;&VC8s; -kA7KBBKtiu )$kvVo~L%/?8lu}^ۺ|Jh%LJw9n?  +5EW]]BBZ#GPz; m#_h -f л CQ-bfcVOàVw5p[/MۍaR-rCyVllrכE=[^ՏֳG9ѳo3.N7|mM*.F+-z {0/YGŃp>Ds?pԓ)ӳexkv7|0$}bQ{dUںLfX{ -9FeբZo[7UӊWhj2b >RMO1HfVErgXȎc5C2:X]V9Ť(S[=OȨYLMQ7zv,d0t6C?__]1eu=JLPLsaJT˿ 뿼sE;mK\\:(ϋ$ޭ4B:|49}|)[kM޺}= -5`l.WǙ&[AHO2m*Y^N灓后̥EnU 0–-XBmCo)Ix -|9y.$EGPAKCD-# "bٍaM_U9j"iiq4mi0؇Ry2E=~t8SL#}r=_|w|79{N trB1٬wؒ0 R" p[33WGegx^/[@S2<`Ҵ)@JF:\}/FXPSprh6L|ʤIv3$ࡤm@ZN,a61::LwX~;w9U~ wW5n-bV&ݾ~"ᶋI pK.<$B#ZRߎs aV[h=:)M0sGͫg}o䱟.N%K7Fq셋XJd\@06BNmX0hu;70JH#cϾ:A?~He4 sT;V8(@|Y oC"hK#m)Qʢ]@ cQw8_'GjbC@I ´GܹwKf .bۼmw>?|EB-<HyqNhHV%`~ESAXԕ("gapFZ1XJ3zsQEfH^yjTf*< A 4pI;NW Ӿ8wGX65cr\{)֛V:V+/rdH.qAλ_U|ɣ(ahOvJ['d}vWՖ-z -Mj܌iu/3\qiVs t:T\oiPҔtMǧMQzWO؅6wV#4OO~l?`an۞Q_>K_v'4' .[֯|;M0De(PIJֿ\$K<\kދR<PƁ*-^D ybFaR/Q -[(a}X&Sx9-E$Mgӽ./X9[WjFQP#VesTƑLY3IČWob+'Tȡs8H{hj˲ee5iWOȰ}"2dqr~2X9KsLJG+ -4?Öho.} -N4OB]d_}b@\DZ EaYVa #Cet.xVk3q@9/Mǀ)GǺLd2s8,Iλ֯70*%`4s4dJݝ"O~ʄU @tn[d}^8M) :30)#tRZdF4{|~);W<~`ʭ'}!X YlK(A au#Ӕo?UxW4anJqG%ުʿl\N}^#qBuGln tog"(R;B$DkB7Z s=ojc&`[vP cM4.R/Mo7__ۿ޿~aՒ?{6VM#;S3;V[gɆ γgr?}_8:;[-Ɋ[Ym'`+6 b[yՖLyky7B"fxm+4^DOϟq?NͨdoAH'IRJ3,>r?I5z[#}>TTSddj(N-rk/8ma!r0BTf5+"/tKEYvKE36Jkm 5=aD*Qvj04@ JO(B Vc9br~tD|wWEt~okh q28Nga2z(+UDNH8ꑿ̄]lJ Țx;m+@"2 T L޺FzcbQOeeؓ8έ]\rea59ۏv(VVnO@\`HT5؜.uJ"uڌ|_ vI\"@~3o[fkZ>StR* :jG9b0h1rY4sJ5TeWZ˗cAѕRR{6JE3C(`41G ew1 tqMB[fb60T{f:ۈr> m%z._AC[*a{{7ւ(!0c>`B`@7 -҅HDGa\n9R@`yyێ<9 Bh]Sϼc47 飽= Oy?GQvֹW~4蟇`(!ZG*!6D0HFahXz:(e:FVg@N}\\B9# \ZEQt}$>|^1%9)؅b{hWMzL#*M@R b(A*ckrOzg!o%`E1_^|\s֙*6Ն1* 2}w漛%YR2»[qrZ7gـp'ˣBH\n}C_o6L$kUߎZцB)>/Ämr\6|v)Wz3FFuiLPnz@3&1y&cw@֛9N -kx)Pn#߭[q#ԞE,W&8eQ?Q|Ȝ3x ?CHn0Eߚ89rbХ/F_hЙzȝЋAؙ"eObsUSJqtB˜Y&hGh) D뼔u YVqA2[Ӵ]>x\zVESlk [Aw - # Xkf0S'Ag -ܡir-@H䎉Sm%`2%N5zMǜhlEՒo$뛉 +BR.#8Fx$U=tJ^'Q6avW>4aX.Mj6r} kf頠\f8-ECgӘ&)zc&2[$;뼽6u?#o_CvZk}7U܁[a׿?QXApZU_My'nkL%nHR>lFοKK 5Ijė;nBJjdHʦn^C- -?S&~Ɋ,ӲF8XX6~"HOd%5hWU-P~Kac)7S VY*/_q4[/uC"VzZyJu,l;!n fc\𫪉iVisFEɂ A d>kvy?Vcco%EZsLׄ<Ӵ41cOZ0;w:{ҍa &E3N9A?&sX R 30=0Q7Fyь)(hea_TxM_D{pP ZnjeEvjǷm[ 7Ϟ=5uB0u:ɈR؍}eV*T˓-n=nc<w;v)OM7 {'UGRU߱}_eBnY>l@8`^[C45Tǯy t2IkУo_6QX a@!J[=oVrlmdiqn;\.+`a0! `q)Q rwGyMG{?S-;nJKK%X2=uvra]Pz+fU]A$eUNPP9(;A8; =yV۲0jBr Ɛ[{25 uEQyF!YlKw[OC;N\{2x q!bB<7 C~NgE9=0vޤϷ϶0ޓAhw 8m۔[k)G׃A) )'ciDv,Cq;ͩ !{B CI邇Q$ꪨVwaxDU'9ġKS;a>0X6l=1Ma)SAR5>(X+g6 pퟻ???L2im6& tk)k5}IێBpX-ls= ;Jd&6sNYqrY^gpYkφ3TQhwƲ,ź o .CO6%/ShPsOoGuO>j -Zh6Z04:stE TVō:zU,u5Uf{CMGPwӝ˶*)_gY-2!Xtk^ڶZ@a h!%MۖF[AZ~-9Zz@R{m-tQ/G8[/_ڟu <"юhw]E[~AEUx>F\?Zty*n Ӈh$,"1fmqntd9Xfk_Tx[&EUQh.%c`,eIv˲M֌&1Ǐٽ[c, ӡy1@]$)W`2 eGQN,Cj':Z`v7XZԕW㨴jڞv]UG*Pݩ-"wa*# -k;?I/gTkE@=yQ;1! IkWF^|G"F&#!8Gfȁo ->.̸oϫÝp_xIw(5ܒC^ % M8պIz -v \Wŧ; --5K?o9K}0-qPtuud>¤մD  -4]@pkQpA|ݹ_?^:}wN촩ڲP:/;'P\@eF+j]}vFBgJהvbSd/E5Gy~[_E6-=_?;'0X -$ x!SK'">u?/s_m~/Uؾ(h#%-GÆbrktP7M^FP2[7AAMԠ~ mBY>Cyn¸Ϭ,&8^s d++?yXOO01X"kz}a!Y wK1 ZgmވWXG0 &H2 m%eXYӠ?mBD%/ZL ;c!KO4--ݶzc?$'s!G<"T'[Wj' NN̶p7[c/f]}A`VYQh̪tA|h&$}GwV'`[SLҺ]?_BkmS+J~0M=vּ&zT3ݛiiKδ4w.. :L,E]@21XAe@r-IώCf3Ƃ9U_Qư~s /{@O]HINnRC+Wx_7 LA뉎k/yO %hoL`SoE\{G-p-[+:$VoL3h#Mfm>WD R^uz\׆`)c -XDI*e<M;`Lk5iN?sm/U$< o~k+RRyY1}آ vɂ1tMc#omۀA) *;ggkx9~kMRa -U~u)NW=4L/5]{LxtxIE~hѧtzO+֊ѢnK?)x)$ |IUyRq~@ )݀z:EފNSOL #Jq4 KLL[T?5wxlnlJȝ` 8xn]lnk\ݑRCI  丧, 3@͚N;EjPB,;EkI ݲ@Y~}^.piS47nH@h]WC^+ݺl34}Ѿu=`ѐ%4]o'}ҷ{=w1j?=4\(avw6d*;MIAQԅ뻛^^Vv޸o/ѥr˝m/(%kYD|ǪXzdˮEuZ+[Hlϙc7}JtgyM`e 08!rx~]q4`=$nB}B+c_s7 n6P_5ؖ5&VG!yLN|`=ic u -[XnOVˈ˾RM"@f`C6 nϚB wmi#M̉±HsL5Qu翺WO# BЭÓ>|/v88Kx( A9T/c*0ʈf dYHhx]'EI:[=p7\^-/T_k}d&Mˍ@ -wYmlv~@k_Ps㮊jUYeU].gmdŹ\ xNS,>E v3D"ãJtkq*dlJ12UoS:ۚNU1(-9 ]kXfkw^H+ D߿Avh]{e`wCys_|W'7@>@<`,u#h1ۯG]oqRU5?ɟ6W,GBh6,NN^J@Z7 aԛPxfvv"8(2tS'-4X2W'VttLa\by KG+kҟ -9,aCVd&G|=pb'.]{r(V+UQ@Kf5[8fz^ NWMX -5MJX ##_f+ڏ&Ř|-ɱjJlk0^zp>yA7»mVUq7Jj\J uV H8ֳ:qMnTX7Y]T"@=nq5 Z!U4:i)kІ cׁsi꺦܋ )FmEy Cu/C;8Հ~΅ -[%N!JP:L -+ĂaBҩ9˻#xJpUךv003(ٵx{dΠCo_ӭ{h80@Cױ -juW>a\c{r(2MavB{x.4ctZϔD6N<܄ރN Go(yR:4j |v1X`5]1}i R5\mzëz:wGi)=ҍ-m$9Jct@#=ٯeCGڧKM6tBZ3T]TuӞ.[1 -;0ВKWˋ Z [xV& ki3t4ECF?&}'v7]E?RtEОWQb3saǑ2ȶlmMgwUK7s->:n,ZCsGzʲ)(k:o in{X/Ђi|hU4< -^RY[i6- -;f K]#DewIa?2yrE鶤c7%/`m|91@H׃J)47U.5Qz ޒ0~wUtO'f/joџ7.4sZ]^ӑ-0B/E胸B_?Uu\gKSOSA]fM#9פ}_6 pMSeU54XȌ=i1n h -"n/e?PwVVtL9"t@1WLg)m -OL $a񐘆BVYۤ>vΝwO?:%?:2DEwEaz@'b(? (eē ȁ1a3b ZnH ue79 0v_;lYc%@*KQ{ԓX8tĈG32ʏGZ+uKx:}zO_ ȋ'_o /2%J95ꬢWtp]X)epG܅B@E54Z([?(ȋ_v,I| E+ ^>tJ(HWFzd( t-yt:(Mzkax4;Z1QUVm ˦#hUZzeGiu< ׺CQ9JGAGq1LdPM]xh=4uQBrnB|ﺬyy 'Z~wv83Ljh,@b(du1 "1b^xP׶LBѾZ.5k5cu~&8-=0> L.P r'tQvgw6Z=@ tƴW~fzDqhy,1B+vy鼬82pNnjՠw4u 9Q$ WGuES֗k^}yWU+f ;KO1ǘvn. 7b|'ʍ(Iz_OUk6^bc {kcsq -P:uWuժ˳rSY>DfPwCKYoQE7z4(ڴj0u;|qU}>CZ*SnO-gH?9@Ju]#AM_͛b6Vq:=1\_[<3]w٦7>fȬ~z8t"ٍ=yqۘC#]dLE^Mq>2!(@ݜZ4+)֭d90d-Uy<:O ^[L - -Bf]Xl- ]cJ:3T`] `1o+a/2OOMxM^'߫I:7P N#^ QOT] rjhŪY-n,`DHS6"nN磴jJ\2ZZUot3;9ccFPP%Y\ W\VucSD -f|z,}|2#L$ݚN׎Zf'ZUvqY?|YBAg<5`8D S`Wy-\7ADQd ϝܤs}(d,=4FϪƨ(5*J3mtttE!CT.q׈<3L-0h-IYE[#pܰ 8>$H F E7w@~a}IfJ*׫жΞ2^=+O+kVX==t' cbq9قh{1ZMUO_7a`K?wx`H)j*¤!Φ(b\{P^+?g]"!Rq?<a''!L7Da*b/xqV.]~J&ܵ\qLiFnh-jsxփ7>LeXSM7>/v

\!y`PH-/}]GړU哗盉Ñ,30I2m|q, ºQj7 Lm^o*1=| -oƭy_jo뒀9"z(Xk#zCOΉZ=QWRNyW>C='JPj-%]Rǩ8rP"zA0@CV A}ym`i鐅TG'L;9ͬaH<f=!lz7Em۽nb9PJl -HM tZAX@6B;v{&'Q)y~ 40sU~]/t` J `.d!9`9M׹'I2l< x8L򺎞(Uo@;19.N tm~]"O DoРÛ(#A%B{ ϧ4xeh@,dEQmƔBGS6Ŏ'И\kI{/M׍$Ȃ5FE׶+tݷ>h\ev/%B{)0;>0 g??JB=z݂q'@Vr5 lYbgMcH/K;q{_勗uERmt]<[W5efAD[CJ 3tW:/0XShBMtvBCnJBo$HKxMu^C0`6Pڔ=)Y]_Ϟ>iɂzz9Uǁdt02Ol!_:!1}>B<~Hovq߾`9'c<;?{2]uPcM: |߹Ԩ؊<󲩪~ R,bU<>a.~c% G7E y7cޘAcv o@({{@m"_#48}lߡmOW+;ph+=f̷Y7`]3.!>|VB!ho@rD,,, =m }ZӘ|2;mms02YR;Ev4%F Jl`?mTu[ͭ٨ZJ^M$S!C_t+M9,u͟{eQJ&`c}fRWSaw}=69'f%OS0Y7SC,KJEq#M? G4qDibYϞVqzKofe$I6j#K @s)ݪ*ET%{[|տkǾ[yk;12?qp9hOp.[굽w}s~͇H_, -U 94<(]ROFv Oi޻wOP2l3?`ד |iS|$3O.(L --sSEGYNO0aM=;) f2t('MJuZ̋PybX\tW訝}pN'͟`lL!N)x9g17O] jg6!5mdޮ3k -avͨU= =Q4FL`ҷ,,@@ O2$*}o"Z'/w ӣw1(9j$VXO0PIp-HJV̭Q6Jt,(̭P -R{Y]Nŝ<鴧28z_ɣ/VJny?*=SbT~+v`4kXnaJ0pYۨ!`&Y7˳OoprOvzf:a4~a<<JMpX}Fݘ& CJ›g-X؋Ri\h%N``bU["Q< eVXa2h 2~{&W5!RjWv }Wʂ $"Y%H+z>9lMtr "Gg;Qb!}z6/v[ .#I8u(^7>]OJ/vDt?<}ƃG/VJ Qan׶Lz=x@9ۻUܭ 0 V-h LdK^U]c覻2;pB#oPv{jeBY%SwLDJ/;N;@m0}u1mIuLÕ__5wV:U Vs:2 wn׳ 4LYUR9lF'QкuG/.ܻ eyv,=89jUbORœ/ Aً$ZX!o\s fH?q87/ ;]荇|t<2.9ak*T h;&K1gw -ێ|[C`^xf0LxYDv&ߓݧǷ p Gd7'_,tJ;~jFi!˕K9=YHLntPiSe>ؘT$\C{M7 mln2UWŘM=9n7)pѥ@^x+K١<%O+ILmm4G!g:f89AɧX,FoSϷ܀Sr+ʻp|>"}l냩R񨼃Aj­M Oynd5P=dJKۦ3@:sp*1\w;;rw$]gtQYcX5]҂g@y@?Hp!!M_Ţ ŵFUFk 37 dFN4+7tCz\$`NZi(hAЗ$m|.LIr?1",|nǠzNt." hLi8^'}v`]?yzQ? OnxyN>đ[ǿo}Ё}H+7$``nouϷ/XmnR̿|]EGkHf-λCRdimdWF@l3$;b_^4%ee_ͭ}),7yDiX{NU2 ei Fm()Y]Ӆ%\2Lfistn/]y!Mj{sC**q%7ddqҳ؋V=R2zHrف"w`E|ȲDx8])8؄NC(틌l h(x TXg1Yj,fjϪ޲Pd\E]Go -GXL (PeCkŊ -M=AF\oؿ`P@)| svӎ:LCO}hv^_ ="Ywړ"  -=ʃCݛږAk|{oM]UCIiG@HHG$X%,1I ABBPX: p,2؆ $Ʊc]]{=[ַ=sϽul-m>{ַy݇+X:QP%jbw~(w>㫓qhY:H.тCyu0ư=t?Aulin"ݱġ 3 ^0sl}UlC*^_o}GjDqYuJ3[W`ӏ`^]WE!!_{/p~wm(De ZKy.g~KL1{*K-.с͐]k$CTlAD($cmJf\ s5@H_:˙ޭ5ԬegXܻ;H܊ NM+).z>M{I Nts[J\ 0 - X8ahgZ7y"E&W2!eq?h%!CT=L }=QvÈu$CvLj9ahD,{Ie&ջ(V%md?*g r󬃑lA`5[濲 `q%侫Nj:1W_vHu%1[199ɲr^Wmq]ا"`[],7f>fnG~kwWO*E47oҴ]0.N'ߪ76}sւkjoI{hp*gL$#%wak٬pǝPi-"-$rJRġWhԻG]і^lz͈m=\L38eA<88gӿ}nSi죳xU&Z8V?89iGZGj"G?uRA׍`| -lC2N : e6Bp0~GQd@"j)sm! fXwWlh@ 7:czD+9ZLWz8ҮR/(F4HP \`]ˋi^d~#K*s9R؏Wksu}˪sb<8;=] |K*(8-*)Y\¥@D'ֳYa78t̮@ܢ֔_\3X| 2Rk^{MT4a?>w=mlN<5מ$i&gm[\MTB}"F?lz5׳϶0%,qݦ1a'D; w-#HA\_<̣?W `>d&N"]] $EEB -0I묿W庬G'Z`$m{gsrٳɰx^~'/eb,\۰{??<h}8IZ{9P68JK~nB]ٶ#DA:ج(7bJyD JVG Ռ RKJga bGN.ZO\ !f3¢#?y{׬Ӳ!BZj S.W}a;`H ǡ -_kv),4 D#Q@璔y̜J,$A^RAR4Hv> 89a /~Z`JE"MhONowjzqMp b9pp|z^>I-`yJfSKH f@c(MMO.x d d |!sJBba7>`?m2<v7OYK;=C3 u52_j_#?Mz-/8yQ+2ݐ-;v)gwSg -^a;`஀CrQn=x 942 |{-dUiM0k؇(u "qCp $/DΠ'Z*1CM#}(Ng#M&ʆGrYM -qLآ/4-80SK5Kf`ar¶.Ϡ|u]wc;7[J4: qOڴҔa";8(M#N&~=ko~uzq،MF+<-u}}T8*7iTZ-ga'M/~_2 z[rF^}JnU #"юDx"p7j;n.$C-WU^zm Iu8:`9{>~k{RⴿB`lyn7Hmg\XI^4`ŰfP.[G,-U|_uQ$؞FLA:JvLu]lE q dިQ0K= ˁ5n|r] A|*t6KЧ! BԲbUMmŞr8uBs/?7h 0%l9Fˢp~!z0n |JJ=AHՑҺjZq]. vp\ ,?)RIj:S`:?s#%6FFjXFC̋EM3ٟ%@*5﹬`|R<+'Y *>Z.9 /lבc-AN8PtߖzښO5x'~PVaDŠ&t8GEr9L[(XrDÕ.xOs Qۡ*:`}vlJlT*5\%ѭM(^xr@e)B֋|۫ʯ^_vvzڇ_$ouSq}lCsH(V$ AR'咬?ltxX`gas7ǧ~db~MjKݏ8:f;ańM"nq R%D~r1dcz y-!z>}~ x۵hƬ6ϫ:iZolEHN^\ͣ?sXVsƾ"cZ08x1Mn +O f_o.-PGܶYVl3fQoZ֌K.IqQ]+U!*1q+މvy#[֟Oūy#e=+bw:Rrي?ڪ +u˵Eg,[Y?rn'Ng8|tё$NF澹L~(L?WԱmu@.D6ٰ#]B!Mɺګ cg){P%㽷..;w᠞‘zΎϻ?o 1X2M+3a.E\F6%)yy)D!;9 5>:-pŌU;-DRpյzs4B[>x{^|E%@1P8lq-.:Av_/ p 7/~ lT{9 3f2d&eM .܀xc=!fڸi/^b|g˝E9WpC\.7KYuj'ڭm^HW"xӅegwz,(l030L駲 ]B4H -0KտeXއy@j8|d\>C[ -$EKL̄xgkfD0UuVk65,Q@Z7϶¨U6^޽-\iktY}:>-εqjzVrF!{4 /  I?. ɣo #CMmĔB76*-W7L1! h8h8/} h4-w1>RW2Nr,a!j!/p)b_:mMGiLI1t1-hw:Nr0d>2{atҩFxhO҉y@xR C ۵DZar5ۭllk\֑(ѵ( '!v%2@b*AephuqH-o#$%q$K/Kfr[mzNT9Sl撨>YaTeEmsaWujd.)k~Oڲs$uaC0֪qdz8eԄ΍]Ȓ\R];WG! -i^Lj4ɦX,w%%Ufa)²p]z*2ጕB%_Vbe- Ra:5 K54c]ۦUw~p"kuK pjXߌMumx =V7Xt %M" et}z5C.A@Kۦ־: -J-~G7+n?ڟ! H׿RT=mնb;5yX*lk5ogUՇ2haH%*+Q"^Ei$yAakC v&oY*ͪnCE| 2עt6I ÉfRS5A+IkLB!mW'0@a0sc8rbN1`]s=V^n |0 t=ęQvFI'CZ+]ZϧxO{ktkkd DFveoXkچ<;z\dTEl Iwa 7:5xa -`Q&p93yHovƖӂ6C-P=x5Z|`5ĺcl#"S X(o$_k` u}^ȭWn焀C3.gf&Q 5!\  v[IѦWm[p.W^TЦ[[q? -D n _!MΞLp<#wp0˫63?3v\C{u>0~~Ϫ^pd&fx/L& -TC_/>!tLR`f RB靄k(:k>~nk?d -u,)Wwb6vB8T d;>˩{ c!0<4?h;y1TE?[=ͤ4Fcwv7%z'oO8KM͹you挫" i]bk,˰ǶaqE1 \o.VXDƄ +T @0(: *: Qɇ5mBgMe45T0NDЖb!|^H k`'@U4V,Th+Q2 U71k0pXβ4M~ucm%UAXj%TNhH0' 1x_ 'ijpx=CZX7Z>| ܋" lΔM%<\Iv<6Eh^krz[4!(֒A2A |Pkxn 4Qy5IԐҰ: .殯ZI%sY״.hvE>qmRn zڿ?^!PVA-Cmk3nH`(3!z}괰4{X,jDˆ7ʇ6:s8 =/-7Ќ:瘡%:ҕ7vQU2 `9aoNkG-*.vu, l$# Ƀ,rEPCR o滧Q3 ąkzjUxtnd l?p9dḀa߂l߇TJiP@*xR`qfYxRޤ.S=sXfap?#zp.;OgUv\ؖ18 e4P(j8.l Vd `gZ3Q C;x~kӻh[J͗}: ,\X{_];ގ07AJz$b(NiwTgAEWZ赢lG>m&ܗLHΩCVht\Bִ`Pؿ+,ي!m|6¥.DhzH*EIݺZSPQ%ees.DF9$aq\`V]jtY"w8*3(/?ؖ2B?_9 L&KwA_wy@.I Ⴛ[@*ipIVtJPB5S_xsW3JN!T!Ѩ"NNE6;py~tqpWwJ?ej;RX<=`] X^с]uQW@CRcӀeo_\ܧe~ػUvKϝ)qqXq1VY yAzZ'-w4Y4 12?( 7AVD^=hy>Al_k])A>TVΏ#PfO.tճw{n]?2Z׆MgUkZ4J'KzSpVw_j`iU.`+sVk;Br6t bk+ 12gy; u_)H*W_-L^pU¦Ss¨%gu$zy~RL֐Uh녾T36 =pI(St*x|t1tP}Y}8L]`qZ:p4bFp -Do Xf))t -z*ƊV]Gl ncǢ=5^0^jR\d -ءV" &>ӿk㫇 -?"sՂl57RN&W[d7F5^PExz?[KQ@ pzi.[_YkߢÊ3= F&jOaXVJ5hI04{ sbp={ifW߸T4`[PJqsѝ5(xuc,(FFqV:Z@D_"Fgrg9pPhG`FqGujSt$"8PZ^l6|IL^:u>*I{{|VUn|@uˏCzu3u:F;C i\ShD돢=\У3|_{seb@f[}@#2p7< <+?t G)bB_^'8|zϾxz@1Uk`,GA/8YNGWeU=W~ou'=x:F֠ԥaY"M]`tEK*aȲm]i >C[8;X*# 0j7Lҙ 1m $Ea,*0Yݨ(VE= t8+a`Q|l% Ϩ9Piz4B8l:r:Vu v4B!4TBMl&B2=)$?N1aq}2:XB0MhnI淾D-X%XbfGc>2 ± i=#^WRuAM ^;}"qX6!=+.6t k)K6o |tpQk0E^`سqR~@3רB,]U7KQ_4FHm/mXtUUG?E>Т) v3 :gJϱ'쨮%*ME '؇tngs-4?ܽI\RkeWVϽ?~w %ƯõC̡lp42 7M}'w^$-e[6؇6YfYCL֯fIhGѣ$.XD:5MO&[30Aams7ZRe-pF'0U<(2C;aӆ3k,Ϲꮓ by/t!B8-CmM\N6k`OoChcX]c3=G׊FS!*O3Zl@T6nW6`Gk*mCkhIuxpJ#D/\ܪ*n_|ooЗzkOZ12(DBHI]Xig-9ѫ|ۈ[ e vv2XGa?CSgYPu>N0ÎVdx&HHà8 |+_°oجbu >uoYvX3p@u5j⶿|*f"cȥ~̦䤦 <s..cE0׎H [; ~A%޵[޷5xϳސ8Q:V`pGB}6xRiȮ!+,xJiOJXD]b޲6E#;WSolvSlސ}d FP>wwu]ZRO K? c+pw oҷσ E7֘RlR-3|HW+$xru1<~XbS:o"'!U‰-L=u` }ж6R,E -WÆ' >ŕ@ֿVz5hy>:@ ! L`1!~a?X 6\|$q_\>Kae`p05Z1oێhAz'W!$Or(3&͂09etQozt-r- ;_[o |G|βɂ[*D^vƙٲ㈮P} x7\7Xz+RA2x5tC9i+C2u,i "YW\]>U -8c"_";T:jL,:\1 -!C{kH$t3F%TXqdt&:j?=$C} <7#>I{8XQk@(Ky&ya>U*@҉+lSvƞ|(St} n2d\6 2 K, `jgpP u%[ _yi -Smm~v\ˮ%&W)n-h#ئjkr0ut-v_XqCoR녓O8k'YF(3]˺sWti?SZZk:41{K@3 -oi$"FE -Ue+x\Y-ҘP$ab=i@pG\EVW`ǐ{ܰǞ _,a+?gU?ԨgY,+劔-oT,E7^'$ݟG0OZ2k.2,?2c? 'dd<L{kqz3p(OHמ=j"_,.*hH2],o Ι AOKk$aN$`oHS>W%K+QB:#UѬ{n]dl"oJ+gft=:;?tM7MvXue+wXznA -&r|Oc'Lj-u9o}/~U5ϐ%V#H Pg,C]l:%粎m%% f(VURVnׂg,]_^ *SA?ȅIѨG -&r VIHXUV{=_iY-Julϳj-FLC{H44(Dc GM^1V`Fx偺}_@$h4Cg$[^ G,H<'t7*feӢQdٞoabgp#BİʹJ趉5ZF/*,pQ4`dYZN mgPࠔ9.\Dh"$ JTmAruZg-O^o]Y aYHq~w;YPO1bϱؽV2/2#0K&)5sLӿ,zJ&'+Q`:UپIL 5UasIE RNT2*tL;Lxo72Nu@WPaX[% P֫gZiSPsNJ3&F[|g*}bO0A2;|AB+o0&xr0{c/ -{p'זv϶p_a^HWio4IA 6Sg nsÄ0f.Γ,= v̩2+=>7 -7ؒR4Lې|t4f -Es!rta = â˰ "ڰg FyE@3r;lF_Qma5NjEq )˨R,%UFRbf TavIe6?{ړ .fC%lOZ>]pv)ZABe*%T+ɬyeCDm{:SBloI n:E HNwj@Dlч E+9w8L, 46G}aM"mĪB`;[utSE0mh@sMu'zC%u@1[)RTf\TU,0bNpoGQxCيH-2f];ajE٠\IEy7ۿS{=NwoyxS}#z/ -]vF8'Kbc%Ih4|!rl59$ <>*ݬ |ȫ t*_X&hqAE g0)Y\eʒvB64n0s*`,k-$@(菦hmN½ `=ls,F{G~v[Umڔl i`[h()b\ӢE`<"OR>7v{ZZDP"VdvqՇȯ ֿ=V$uId2iN/rqiQ@˖˜ $n[F:]$3Z5lXTRYEaw̦.^8yĉ*er\v<94$p(}ߑG!S4B&ܛcU/بnU ou[U+1Gi3Iz\WÜPg[nDc(֟eL+y$H)ZzJwu i9+bv81QIru+S`Jbf -Z콡͕_⮩_]RkI5Ojw+F-لvl=y%/-->Y=0W{Ά>)4o8Uq3,kGk(~s Z| dlL2*asWWzeBNx6(퐐-V4ի)^ -p 6~؃-Ź(y2BVe-sXC\ĔAGfDήgt8}RTr`͆Rx1#>;[{) *WOe#v&2XKD8d̈́- 0|fQf#Jc&/eyEto`sHo*NCtZ*k8G\Zal0@NTVڤ*mc綔&pqڠ̓d]yo*d変sC -A,P%'Y_%0 zw)|;puqߔ+<)sird~1}&}vKGgW!XD/?kIg8`|Y|CS*u]c&?:n.r-ˇTԃ:oq%@Yiζ,j -uSC?&c"<[&i$`QK:\DqCdzZT^qXhAMR5'Pz= dlm؆nL7mW#: -Obaۼ2y"Z"SXIp~F|M"%ׅ j&J*vDzúvӈ2##oQ<Ӷ$f^ 7m -5E4ñri9e`s*utmi@em$YV/V^-DɱX]` ǣHaV[i8p[5z -,+&΁Ç'y!Gtyu Q P'[5L=0lE.|2Y @ZH] ?-~[@G8R -HDuq  K -N7 a~Y9vO$Km9$D[o[W/.֩*YՐ^WںJiVnIܬ߶h@`B`u0*F&.ޯbrC,X15Mv0 l?Pcd xLJj_}ֆyr!TqK4\(IMz8-чvTmYKM%!S cL"s֦DEHix\YS _71l!.`"N9(JHNBN<갓 $^lф$Y.8( ˳MAh?9SJX{v x֪Y=|4 !6`lѻ''afNMQrm"Wd~z./..}T W֟xers\gc)eşbv֟+XT `@}`xB% MY@`T5-}IJBYPi ֌B$05V7x_"U]U?~(`֎MxCIvH ulV?|>OG &~E(Eby~>O+hDS)ص\p`DЧ{L0cx ;ddIFjv!'F׆L?:o~蠨?<8_뀞 kl.lL|ak.Z)\Mh2WW?3`H*"q._S "zhmR-KCyO5J -t"G/zٵY]5 VZoU -{4_ݲ_wqi1z<|g^_;> l@"QաP%3)oݷtY:ɪvђhΤREtǖa_x%+_|j߳_f}'Hr!;>®ɋqCh+g׾Q>>Bb=W{Fؗyx5W y$݇š׀6JD/0#w0hΧZb&r"CV|m`ј yٔhI{|6gah3r;((e<`fd -Hfx(Z,||/;@Gok% *{l;-v<΋臚EԛHS#FSpM`pLR!Z!=Ѽ?1"iVzz`CCd쬒k*V$ˍ5DB⢿7O' {FѣHP`HOq{\N'⤈989; 2"aiteZKyc(,7Q8'ٜ)}$QW6J!`!UzTNTI#7j%x?@q<~^/GY ygKF.YkO$e(2I`3p 'e8):OO;ժ%8h@tR{!fz:Ch*U)Y&o\N ;jdqji",'xk1&uѥ3[\aWW]SHŅfCl8rbE" 0jVi.2 eXLJx)ORb);@Г/bw0AKc}wiMz^eM.8.v\eY|Wh?F<˚ׂ?t2բs K2܃8Z,3̸۾g;`;Bry`m@<#Yn~.̏my;SS&B%ej5g`\ِTܹ NgsX'zd]vгsǹ{+6yS %WS]KO^ G%J#lЎ4F-n*wcЭ$˲%R?4^ |nUs`__+ ېF[  -BkJ|V'KnT@tIGWxxP$ϕ4O:#y5$R ꀽS~;]§l(lQf:6lnو k#hCb}Vԭn q,-VCf> _Y^Aώb -RG|bR:uG/jဓbFu\gR w|PWJm-lmܒ` uqX[dfݒ̇=}a_z`_ ㉤ %!DrTHεhST#D4'II]|̂no.(xz}Vl`>%0r5]z`zx!tNG]|8ãQUGo x/fQ4gd$6!D(xE7yK!}>p07/jM\2zvAr"a KY1 gɠSwmuvH :1cKvhcs5|sIXҋw?qe6k>-ic-܀EP"/TIo= ?)3횶A 6Ӻ(vVul8FQXɘtS6Gi%P"S0"Vg!*:k=%fPW Iy|s[,.LIU>OAwM eQM.xy/FyױHEշ5ITTE"NZeӴ;p-HչRo||A>Mv+3P,<|~p -#[ǎL$sӡ-I^)*`J[<_Ѓ>?6#͸k_^<MW`W`w?4ZE>Zk\_wka`g@}3jbxpb aO2vl^<0/}AhMMv[/7OqbOyPһW3\c>C?ֻ߾|zؿ.4{(ckCc3ûڥ$uI)Xl/XAo/x`:te -@]Uow+Jl흳4.TY$n:S8FhV+1">>fG1rL1?\{smwGhx 2pWSwzE%cvYTHJڇArQsc8A,Q&j"q6ՊJy8 -ah~5*lWɽ#1_]EvmM_^~lJ*rx:f|2_^ch9 laHRwI8wx4+~h< JBgf-ꛅWxoMSujCb? uŁ9?uC!kP!G+T *60ȗEP(|4so]Ѩ/Oim{ϓsŢ]ϦuxLc_t> ǣ`4Hh@b]tY's֭#YbpF"AuRT%f{GS4ʴX~m<9f>[mh9 l{i%x XDxhJ/γ\ˏ|;UAYT ҐWN?,\2j{{lR]bEY]W݃CˊlZZ.x!\GNCIBpMms8$^ ʢ,A&"DZTPĵ-}p?tyȵqv|' -'?*ڂ'TЛ\ qݞ#%;=9ub72iLL!*笋E%e̹*T`XdgN60pl+E/y.UFOSRfe D/*?\Aa$Џ_$IQL ضW_k -d~/?;M{{JYe>Y (syRiײ9KAB,_V, Cz -1;qGp??xc<-ם+F*· kTߢ C.Hܕ8.m8(KHj1ID?'v|ĉNڎ u?V]R4䎓>PO$C}(j4l9bvُqiiqͦ86I"jI*H܈69< U W\W+ jƂ'3 @QTK9`!<&;￷56\1;Z?R?+&B]t*WL65!Ⴋ便!6f:)NN(aP)+ YJϧ2os8AM@ߓor3=8[}'\SeV_dTX"i'%L**ӷpbdqCpyt=KTtcR.%#óo!DtjנE 3?>.B_rFB"Z&9bCfp=յc%^RԊ8#+y(խ5^JRNsm o OBwb4mnw4-{Q?VRɦ,7K?^zXbܿ<N5T8!cMe5l8tP2V*.~9~>: B={y3 |**bFay}ׅ,̲g`CL:gNDrPXYIG2n$>%Hdċ$g였; +%L=Np2 -Y㩣*k]7+(Ja&$(׻`_ݘsMg~wHΉhP@_".F S+&ԓ:1"R)m4 W$+ -ZkBz~)2Ϧ\TIH@)qzK| (vEnj"W{E|fF_lm4GT}=HjIa ɤemu{fπ -^,l-ۆ=6H.m[7e<P˝nOgs{T*+4by!#&H<h9\HfA;@0'XN@eIf|P_ GtT"]Ǟ{8G#M^6 (,S{]4dvrAS'Yr5a60[3`y{1#w\0 |6twtzdxnq҂{pxrMͷ0k Ϲ\7ˣ'} 37&//-"-e[Wamˇaۍ4sjs+ jMEfJ>xΦ  D !FM*0=x>b<<_F#2n,*K.*0soLGG/Ng w|| -WdEajѺ2y0\'*l݌FxT!?}Xnj,nK[~1'fv/L8 m'W2_ b `ӣGtt]K]o2=~w9-pk&Ĕcs%94-4iG??C@] V7?%ɪW-,'Ăpm>% cV$#]t\CPZ {&^Qk'dj!GsN-{A.̅ 0ݣs\MOV&gc O&JEƽ̀C&ėۭFuC֬Wg$Ak/щ]@UКSFw9x4Ɉգ()H&"^XJӴXvӦ:hv%@I!3 [:J;w={\{{{{U෿)vrYT @>3QU?j>Kzkl0xҵ;"6!xmi.#`cc9,s@~>B|s,#oа[%,mޭpa*4`/-"eXKruMI5Y#k㊔{S+}6INgcӪFnw'N4lE Շ69Ƣ>~r `RIyTIS8 ~ΚCK+ C|4H+[I7) ;nu> vjՙGO/&[L()S0AsK`3yuER$5[ij5Hp:S^L"s -egE~Nzs6GޓmPWCKxh 01*jlf[bE@,F75UUqqc}rDM$a{[dy뤖kVѿ;4 7+ے0T-YIENDB`PNG - - IHDR{CtEXtSoftwareAdobe ImageReadyqe<"iTXtXML:com.adobe.xmp 3`rIDATx %Ur3z7u7jт$f؆al36 ̀ 661`qh3 `HVKzu{f\\;dUw_Vvv{n9?N۬޹;8Q/#;OWSK3E=^hg_~sm VܬO\\69\s6gڞ}mlq4q['/4+6 6lGQ ng LZ|^6 9toZQ7$h~wU^l;^Ri{vzɞe_]xW}[bL*ja:>M?"[LsxQLJЀ?ζ{@ev\oJ)~0 TQ0I]NUtxV~%w_+aUQ깎_g,- K[[Smml0ճ9=ζv4fAzvzA|73l,k\Ờ tdQ@קhmj]#I%$D?MgJ[Fy6YgR{IΏp#bE۷4Bhyj+A⠑8َ8<_Xvw}S&Ej|Og -BzO}5}L= kDPi9r!.c+~ԏ'l;ζxa8:Zxz( -<-s TH*a wukێs%ˌ޷f[oE1NO>& `/s~l;^:`:]K[g}x|YwNm%iA4 JW;\{=x\p,_,V?EOo/{O?sT"묨$z}^ҽakigR#Zk}(27e`:^TRJ01]r0GA]/U: yIS]~mgۋ$c0-[-qlZq_87$8lw4[h!KNbi{%60s6%3{"uq!=I G(焣uWNРpFI+ݱbHyLUFSc֎_2uv 1MYyz|(6IԚN6vm/|<&ǁqyS>B25G#40UyM=$gESj4@P7b!AKEF!B F"~7~˅D2 pk\Tor\6ӁI-XSeΌ F#!>]&ssk=w}IeVe^gpmfooN<9Mciƙl;Y `cgr nn]; M@=9zRk)tП-ORVe%Ĵ8I/uKL8u[SWc?X*-YDk7d7 z3M -W[! .2UCOk{ܶCk"גN @gZ"r4l@&i;ݷ92p,0o"i#{_7wk( ʪuبifz۵;y9nV84$|+q^栾/ Jsm4JaqY='lR+Xrz).;gjQkۭ zU7_m%ne[:u.U(lh8m/j1T|l%M\iXφcZ@mwZp}ulmШ&=lpg*rxZEXgmՎ% ]EL=` }+.>t2xQoi`ި;ۿ32픭afK*nk֪J D(v~;%ZVvS|y&R/IƄ?xI-Hwmn0%J"~vl=W8*2lR -GZy](ݲl3TmuGͦ -JHm{Fy}@%\mam"{}U={VmP I.VirsV5L(t-+lZ56?ܒ{ጇn8Z<4=Ț~r~wn +Fo[p=wFO^Kħ{z~jm}6~vz |gm8/6&< qj!п8/~\П֧e֦ y.cK7Zn`8C x8;K08ex$fq<-DUŸ-WyAĤ=^'S1`W }yλŊUʡY^.E~[Q4.aXRTJ{3$Y^W-pow)նs6\g۝38D fѱG"*|ҏ0$ZE(0|!Tq4iy. -?&TE!|1rrsԦ˃@JcyՊbhhcT/Ȫ =awϜP^NqUV? -. >?SHmwh08Ȱ?*\42`0؀ VKc۴p:C&ZLҽP"Xᆤ%.Yjk]@o1p@8pԊ,C.No+oB#na6LSq(c;2n!w3hͰl>V߄}b`m?hOY (ҸLh6мgw=ϫkj6 po@?\M`dC׶dz8&K>|#[!qý~/п;1MOk/ص) $IId̵&;:d fU\$X[[4wC2[^Bd=?̗eF%H 5{&e]elu(8LAC rVQ0ڞ*TƑJH]ODLM 6?|g5]爬ȫ'Y2~`W8U) e͒e2QV9@?+4 OR'-% -S]:7J*?=NY&׮Q2x2>n|eJ72\/aO@`{s6a?L6) !駩i;YRiQ4*lkL5=;5bf֋L ŤStrs~*b{TTp{K:>NW< ޤ 6&'?PAەa[1T}Wx8mo˭SX.!`Dv˷1/Q5c?&r&>Q(U!E^%ʏi"oJZ+=Y9q(@m쀫44F ;h-e j>x`Ji[:`l*4 km Ʈ ˦d|{⯢ yb]^V:Wx RUT ʢ֧"04?5<ֿdU^a`1U(p." 6ww }+Á46IiҚT9[gYV%0uH= -坐tŤ#'Y\h@?kBSן1ۥaU<kӷD$!֚xd8էO|ϝF>;_)d ,_c_"o&z Zs "cy4s)*ǶX?J7Yr/J:gO@kVk)HtဲLżsaPhS!) z $ REC2kL#FFJAi w m?O~+߽@SF"z0m2^q*m\EB].fUijc3Wbaۋ[1tup@5p?tG9Lc'yK_܈qhn#AՈOBPw&8 -Sh$@!Pi%ic2 oE{'ǹyٿ>QB?j!kokqIj3P`i AQrxC kွshcԸrҐ})"1g St]\&Y_x.9&!4ΰ{-`ئ]A@|MpH/[۾`l9$R I$~N啹35 -RlSnax@p=Ђ p{zZYoxm?f5~≶0ټ}+8ERxtߘmL&! 2?H߿ƣI+^C_fl1yggc]^#ȞlcȃEv0>a Ks\.1oCb-}Sr{"-ClL__Й5w8ߚۡˏ=ˋp y[* ;{v=\v%>}c_tgm}vcX^NsgԈ`Ap?U*u]n6vɽQZD6֯n:}Yॅ;]G#(:92ULlBYh|9u{ê+( .*r7`NEbݴejF3۟_oo;QjXe!<,`??׾StբfY&W@@4()چFP䅡U3 1Wn]k0J_-TaJ}*-gLիu]`eQ 6aHyLQJ s]UDGgl\?[juU㫩Gmdnku*Lep@3w/~Ug] U7p!EI?y[Viy_{~ݿ?$ p!IZ*59wF>)0z6Er8ynFAи0OP\p~e5@4iR(2I`zYW~xQ{??Mds{k+?L~qu&B~ `]2{H I*EHf`&RRRsc_riz),LRۻ] -f.''bcZ-%e-\Q[{46Ԛ̿[xqdOfc25j^Zzd?^G9!dt(^rp |&eyw@ p -Ӈ LnaSIìȪ`2Z,dgԔ|wΙ~CoTŶO?0].\x]EI!pZ2˹9Ȭifz3@+?O$ϝ{+_{No.pzz- %KZxs&'뀮UGkؘ>.r7G~;N~?nƇn!67:3ѽM66 &[>ɔzzan暠Ort\ <U{ydU>O۔o5}ZC* MzU-Uw>>k-l!|rNٵ`J08wЃiO)uٶԸhQɕlGf IUUWUf.5#kwPuMۀrͯ)pÛ4i"9e Jiڳ.;p{JִwϩBvt"0ey庡U+m/5x=uM]U7ueFYԪXZ+C{CGW]?ioN`M.B,`(lA+Ze5_HmN#e a^m;XةX,H4&U|HP"[Ʀiӈ?sqa7W1stv "ߵNU]Y(vS^tnQ`S]T/yҗOܕ?/l3߷ٕ%LP70ee8&$-X ע~(v3/ cj` -K$6Mϲi4kLqgPWvT4nҹJLq`/ Yzp^xkG vJUwOun<`wv{IO(p=g Yx>p>ȃXv{Lg/\}y~tp~S%J͝PyQ@ڽ e> C (!Kz[ld/k5jX?RȭT@lB/c8vU -[ - eo{w:64\%`mpo&G7{(KTfu(ƵdZ -þiUV. 5)4BIC  -*@TNdz$?Qd!}{|z*J2Ӑ!hEHe!Icg@\R9nrJ e F7>N7p0_]^`xkczÏC_ޤ?'/Xv5#p島I6/gR9 %9 -].Nkxbپo6_2fJkKu_,ut,~iMW#چ&Zs\)y |#{?b}rG޿)ovn}=?Ӄ7@"_xbQ=5O67YKKϝy4 O^~jEL艏/a%yij Z@ݐusqaqC*U@? -lqٟ5eS+`f9dq*UiAS#yk2 #R8_PNnY+PD\He).qhxXgye YWU0k{ڎAEVm"7-{JO_IDSp:ɓxqH5pwp <?s0 1 *HWzE D02fJ@G:?i7וDR(ŇO }@/kUtBg+|clC( iU-_4164[ q\]8hi -SQ@:\ -'fʽ2J&Q=^]>KI S$eT R]mB+Ld8WJC"J[hƇكi=ms?]~{ρUAh -7&`FP.go6*{z b6w!4lD !dZQkF(p|G^K)T֤i7/grp(aكW}0Y{2tcinן[codžZ:4J͒_ݐ;0`+t\e~c`\i{;;K3;6Kp?R1,t5~D ""lVk}tQ'VtA1,4.CVMΐ6,Sx{*|w^ku7|򧝿pqZ.\ȫ^=iC!vB{81uW%A qA)&106eV-;JkK_{3BB8II++)Z8NfF8OX f_0;>G7l0І7W+2QM2~Ws!S\8v@y떕Po}99 vK9fO _t[Ǵ`[;@'??|7 -}3tOoR+|cL^ Oa X^Te_pQZnɵn 3i@c^lq EUAp85lhKmJ%_Bn1S*1t.le7E'Ac4MOf{ Tc'r+чFSYMRyFM̗˵6&S*M/6k)kΝ?fly0(JKzN*T moqxASӴm ;槽ewU_pOڤutʵz)TfV,sQ;)GWooOaW&geṘHNnёgtN$"(mRH;t -ϖ)A?ϒɹ" UPdF&y@w/J1C R?G%ה$y]}m?*pի;=? l!9h`7k;:^T.S,!J`Op _x' 7(*4o[椰|Pv궱~Wꔀ $uX=s'QҤAѰ򴋀`ǥ_*蟤%:9:n8hU@}~sFؘT+!;7o2,Ӣ8R+$2GvHׄ,j߾pcУj=p@_wy?cUUB]Pϩ kYqz?y6Þ\?E?wз6'//XKiZ]qˆpwiLd]NeׄRdqp3;+w2QLZsL(^kd=gw!T|jA!WdDKNTP'|VRTt^X~WgSQ,WT",bV~tS'RgQ;88P$tǝ$7H+%YYōd{5?9ZvۓJ[lߋdn0#,2IgUYUpy9>w)ߢR0Mt+|B7ڐXh3ͺ*WU̸ePYаT0tǮeƀXVu^\i[i VLVY=cxť}1}ycsZGlWhEͽsϮΗV@)s}ߪ񝚹v9> - -S:F6ͬ"80U`GO!,]SkSi?50Ve5HT/\+=d0 ooM`QZܠſrUMQY58/xɀ/_7qwм쟿ѕ0+0Ÿ)% -2j%Yru!f̀}n'B -9Xop&ґ /ZES"ȐVv#6Oͯ_ 1W~8&ېlIݢDWk@r`$U9JѷXt -7Vx s  h+wKP`8N.:#V#i-@IqSR#@?yڂ?wߕi8Xūx G[p;r׹kNYrc.Hlʯ?x>:|4xbnip@aeҚ^v?VH·GxttsOw_OMH"|7Y2{ZT(&_k;u Op)iuXFQtL@4K\s!uE~VuZ~J#55Meoލ"k6FUd)((t2"q%e|(زt_ņ\v0T&o77pY)9t9^R[cv<18ֱvq* Q _^G^9-`XeUX~"-n+Td ` CDE -ɺs,dz;- Y䜹spCUK'#p'}cS{]y;m!!_4[8% f` \Bx4#Q7 38Y`<¸WUR!!_ap#+JI $$T/n\VhFݸrXmjZm.@' YT9uGк4m וK뼈*)^;H\P&[bw~G_ 78JL χ/ptɎ -w{LIc @38@@OkG^=.._؍i1GŲUgս\LV o,<&uu3; sFq&OqtޟfVYu5H];CcG74sn8;UqFIӉY)4 (c9ĝi#. ڹp\W.gR} ;c JT -y7pvp7CLJ2@%5;m5Qײvx mkU7k:nmϠdBӍ*ˊBaO YRVeqKCY޶Vɢ(U-U5X!O0**,EEMXjFSa^ԩu e^Vu׊>X/jK`&ޥw3R/+فVyeK{KF](dH7u̙qjnD -E R -#CzA \ogc f eJ$E&iTQ]EUkuI``zLtҍl(4lo'*[ULߧ\*`\`z2 Io^˒.uj SZl*gH( -zp4ԫ"˰\8,0ΠpM̃mYz]K(՜| Q X[B -҇Cܱd^CT*yz矺vo2geF[vpE@gb)K50UU'f"ó:&rtʰcu׮K3,յUv]ah%a1= -X6-J1U:4eau6%O2zӔNKr!mɊc@[$[gfTS'VUWfh b {GsY/kEo/:XF30 `ݔEm&Fpb8SpI(1t*j:} OP_GQڔv9- QTְ; zQ8Tۤ* T +x`0h2i"jqׅAO+.e=' @%.{w_|{VYcJS(my읞+`X?ِ@ ;Td<[?;M|SC:]AKP :iՖ_KEf}svR L2Ѥ"Y,ңe=ӵ16K*~>C%l3>'e7% ۆID -VE<,:@lxk[K0j5?#/ZOg,J1I7辕+T8!߷1>cge8v{{]Ⱦ?z5Vr'^ĠWRu4,Mc a1+֪4Yن -N__xrlҨZ'y h,ҥJI%` u/Mђ'hoOG;Ӊvol#RNә-tՌT BYsWk7OW -YJ.3$79t(q·}'ٟ0;W?wpKup@t)aܕ]kőRv rj]rp Ohm8t6&z ep<ε9Qz5@bv)@W -GG8ءDhx0 <~BKnZD=bOc)Ava<~~0 -e~?˾p;SV@L#& r{IÉGg9_LB%]ʍ$-OzO/Exz/ֲ6d ^q<7 -n΀ؠ_ @8fyrEr 5 8.!*1-p,Z)c0 A(XR23<,]9 9p@?gG J,7lyoޥ@)v|yD̑{B@u?eYoXoRfpỶLx-8 J_|&Vǝ5B8kω̞Ξwcк;lJSimw.d vkiޫa*ȩCD%Z"33t-\6_f 48,[4JE'*(4Nr?QCg<BdIϗ.-S?W)p Rv'euVh"=)OUb4׳F"C/ӿ33;,r]=c/"/hC6Z -B:8vt*ٽs*:VR"[Yb%H|кR|'?v@k4J<*ȝؘd*`vNe1"X\i'G1ip,;HBHO,׷zdp]?pFK`SIVces2VOVJ?Bjd/zK -h&շȍC (Vȁ ^+q8]Q2i4o ʓ)~@67Hb*:v]].+ -!%%^;ۻ;fܱh4KeQ@A<RJa@*QfS 7yQE%8B97H& 0;T)J~SoWk}]omxwn҃y{l[vrdvg@򿌮a}[vʷ6`3'G}wI$UDᬕC吥?<ˋNK󪗉vZ*~W~? Нt_SE.nise7Ū{m/gW:_{wy$N8diE[H["e\pM٫5X*`ROQ@$IsM6  Pwy|V<ϙJh֖z-2Ŕ$-YvMTrĶSǣ~? 1n. ~m\ -hWT8)29vgQ*] d@K h G5$uS/cȟ8n((kJ;\\k;MQ,En*0]x8Uc3ϛBu^An hFb -Q pte4H,iyMdPF̊vUL.@+>o -=hc抖^2AyA 9/P|"+PYgMb^K{cEzpbRV9mr -UC& I굹b>y2& H4,vAXu*KΥ\8w÷!YuG\=jJgUJDi _`Jp@ElCSJYrL^Ҝ ,HUmW@~ٓ)DH9ݰe{g6NlY ie#06rS7}缹ՙLJEh+cײf@UP&9+8CGw{)WKPр\au!-36Łh6/ЏjO'5whÍ/ͻBϐԇ+i8,8u-Ӻ.Lw^RϖzJ5fcֻӁpÚ#fʱdNC,O0NC*=]LDϐâ*55 -)A3^C/(`ަ$Z7*צO5XkOT_Q@%xc cBo8h[m^UiId>0Ž?(@ٜz\_f]RA+0rHU?LP bQ 2a[)y&-C9U0PEra]զn&*G -]M7e.J67(K< #5&4QWzʷeXEVYn'}AUS*t5&Ǥ~* \Ra*K ʠQJv.WYiXpy?}߁NaqxC'' y^%da!}d eP -YyBxwϔ2u|VU?)j`S".-J Bh*tnv -Ym] ŌVJ&[A2ǷFU76MmtFmGn9i-\Bh0Ц9fs)e}죷6Gc' e]Wj$Fd!euA%5( H :"AO1m!.F8v$mX\Ϥ+@*iUNI:C|q!{6V2$RI:Vۈ3u%ykm Z2s%l6D~ܓ$u?1Mޑ6܀!dqesKF\!JVڋˤm-P"4Hh۝q5Ņ Zk-g\3v1 &lIpRBۜ)nltF:9ϊcbTR~r]g@K}& f ӌ0rjX˹ihN剘J 4PL8Jzq*>Z h%R([dUdI1*iefQx.$f*Gؓkӷ{`}iEۍTv|m硵+lΗ)jApAe5Ho50EV\mKAi#;_z-,[/'aTKA4X4-/s{gk#f4#B%D;2vAmaHV3K`L F3, ݾ˩sNUVn_~y̬:v !>NUV>\Ϫ2|M!/K]0'8噧ы|9K00>4 NJn&0qjX/F}f%މcQ+xv=sP׹Vj5#h;{$C6x(3`DߵbhYOq@ľ쾿MJÛ}.5R蛫' gsmQ8Z ۥQ=tfX-mӸkNХlS5t_=|Cџ) |@_mb^>ec˫]P[588mk_\04M(m0>5LM78Iӊg͋#|pmӱOo_L{ChGV1B>>]Twuofq 믣L+6SC_7Q0qJ2Vt4z& -chtk>/B"É*Z?VOL{#^UMS7pkrpWx!F/;Bh>uj= kk3`Ixٝv $_h??s-P8K!I֙kY`dF~[DOg>0@T/*'Fr?"DIqYU .CZ"6ھwƊ0&Hx Iz!,'!i[RRz{ tm}xY߿YL!4urKDz6Zz%@ê:\Xk{=> |if}ۺ8 -tػ,4s8:#Ux/DRtnĘ"4䒠+%Sq}{ۇ~Jۈ5x#N 7Z8X{)p]f?#!$!2/($Fz@Gm4W~mn\!$͋Y-oIgqL>D/xXF] yr1wQ۪wHb}`/f3}?76لą݅(>=; |f(u-iy;kxf`,(Ygic?\R$[Y4k:1$js`1\'P^.Nfc'XϾ" =pqV]}Enf]UAfik{5 H؈<$ -`_;U~OǹF7us:![{eM tQNY!1qiG[lN#*^4]lTF5^RY55kM -Xev !l$VUHgө04ddS yϽ_ky$X8̪Cf/bʕna[*PUդi\!ۢ|Jvr*Gt1etv<]DQ#JgD^WX޸V|=;{nVL4B agƠ~T4ܛU$JF4dhL讎Ebg}.Uf{9=%UBnJ`̈́qKs8W^VZw 7}+}gG7+d}_| ]}߻c~px4 Ip -P0@HoZet /Ɵd|^WGt`xY4j7p- -(=nS<"7Y+TEQ,$!1bwm؀/bmdL'aI}5ǶS\4Uzlu6*>8FO@zrϹ|:Dém '8tˑ+?֙6ed د ޾~ׯngݖƋk{k9h(Jy70XCc-_s `"LEo_IJ4JN0YoÑ.k7v7qGHǣ=/wRxFnUpp`YlK,뽚}AM?@KELHQhz*VVY÷R )TGh9l7qKY^?Dn[UIkDG|DT.WXCak;w -:,D>Ͻr^Gz'M8SPtѡ6J[/z oGJr6W iXwYJeɂu?*LUM]I,,pjۺ^~l[;B Uq -@$ľ4IΑnvA@tp5Ir)?z1z׾5?aeI.$KfE†X?t%q e&cW_z 8k- l.;,V\]߻l -|z+a ;ԳKO9x'X8 POq=638fpuJ7 "*܀09 2,~G?soQј8 @^Y6ٗG˾ĖQ <]HR -b yl}>r-[f((Su[8>_Ey۵d^M.Gמ}1a̒pU`-iezj Sa@R9*_J<0Dco-C/N5PN 'lE2qRӈ2;Afh=]m} A@j (%YhM Q -epWR#!'SU)JgK@ds}p,I,Ci!3$ mKN*8KցSY#KMdxŃ{Lw?^w>8>Y\;n[=CdSɋmT*Szz˽6b@#0 0&_@ PUۄ}A<23$:g trD(i:]X}3B&\KJ`(ZuZub6mE -pE|k'~gt'dP,n/V*~=Mr9"v8C##J,Ai:/sak*ddCE)R(BJ^O>Yp&1E&C߾3X9nwI`";1v+^sɓOyN\=RoGZ0nsfma(7rOOϛ ۔.Gs %N#E]OqY26[;,$'cQaԸ3oU*nno=($˸r$Ll \r1Ok/r]J Gp:¦myVVw;BYb\I u`r1HF$VsΗtJ/Jgsh۲FU-?Xyl:|`,Q;>glŚp2pXކyE]?ĻAp~bዛ|yĉ<>2 z?@t~ɛޓ;7sqjC]b/j1w'{kw665G+|i6.Ki;4.L_+LO:pnY=q_sXe-Y:颰 -#[ /_$}YQMױym}ӁrfE"ZjstoE}v!cס.vh7aǸj7]70s#k2Nr,e_k윪c5ᾩH+IƛG/au^Dd~ªZIg&|\#FS}#΋'K# -b\%ɵb&I %|J?>]I?;CrEb-gG-cч#?ߨ}@Oݦ֦lqmi&d$;>ʊx!n]60C[\<@$6Gq6Ul.cDn[ Ml#X(ΰ},3vuv?yVl> uA1i~X)61Ig"$Iud4wi:sh!HRXBҤG?ekݟׄSyY_x"BT| -A9h2I@j.D0M])6lZICɢu57Wo<~򛧽R ~fĭzhB_]ܶAHˤ| yk]p9q#8:~s Aw],.7Ro͛8tOKnS/寖8(+`B0TsV\?8 6nG(vbݙ-oܾc]ԫ -rzSq*$ױ?}u1x+] (].~7qRĚwg;3!>jcG"/IXY~%9oG6[d²h2 -f#%VRS$c1FW87۴8iQ)(~'.&;qD 31ReJcv$] -#b9\ YS0QA>Si1$Avw'Oc?:;WE婠Wx*6A78)PP XIjXfTo*8(fbMǀ}'o ?9)g?@~Gkq(+qqȹØ-x?붇% dP 8DfF&EJ&6ʴ?Qatq:Hy$RFa:7t<$/T h&xi\]*MG lP<__7~#@6:JfCsXpHkl_;:Í|ov2;暋,c2[QXT`9=[\?Nٖ]&ts7˚CvfR>ٮN/=_o.8e.hVMQkHd.i;L'δ"/u;ߣr|l -De'S^H4Ֆ p+I)a7ҎI̱`~4pWlQI% p@V})t,Oj&asYup`g[X'%YTC L ]<0( cŗrk QVe9X:"eڮ/JœR*c;&8%j;6D:4FD)đjKG$قy;a/5۞}ov]_q׿`/`.5f -jXe IfGG(s2$aKDGGPFV .{W&a(L's1-&~i-OKSN@, :jZXm7q^{Zq}c#fo>kMFO#Z ?/TUL~Y_\Rw y5Ǔk{)RiB]4tm.& aF鏨%s~t<4eBs8CίT5vѥ|!:ΚMfΛIO\? Ҏת'd,, lڬsCR'V:ut6R,\IsJj[olD;`ѭp Kjij[ג{,>_p|v7o{[Q22s5I<ؼ`9ĕnn,*98 p mU6֞T}@F[[2/ҸtrEF?j|B}AVi(N>Z x^[|q2MW}sϻ?[h%ta`Ш [>J_gWy{5R^_9_Zè\DXzJi:3oȦBЮQ/NX7Mu)AG"('U^6Fh#M:*c+=m0 ᗺt S"ynF,urރ>Zch*s%A`su3j$ؾh!jvZ"w{V0]LJU; (|@`@xs<%MIF1JW:d1$$vtW5v+g~ur× &ho!VuuݬϻZkRمo$'k9#*=£TӜZcm{4u~0@HCPE?hcv1 Cx" #I4ʧO_ɝ,P<}T@96=bQ0'ۇn_WI^{c~q5k? @6ْã;͒c/7*7RCW-j#Uq`4 0-&" 7}da[l%g^Iy-4S(\Q,_2DD7boMo繗H}Xҋͮ&˒=aILԌaC^ll3~lNJb?2BԹ=9A[5B"+e{_±'cZ+͒wеc`3ehcO=?ˏ{`Kj蔸ߓ] i/Kp|A8#jthNĶd6D)Y>xa?Wm>qAjDοk$,! yA$$̍JyT)ـtT6pt/|yP{x[UXt8;]Kl*u*MU$ )^ =~{8h3c zInܥ%ALs%9$M~m!FRiTϡ°T,Ϧz_~}>p91>7x_\Ķzwgpp~ϖJ[v_!N,y@8uf3 U0X"*+U\j:'>[VI:_?|8d"WP#Uequ_\k{;7/I_"R~k]H:CVS[OeAH HBv\Bl}Id IԢPЋďp)aqD*PZJ9,s$LsZ7 h`T`?gQ^y>+/*alƄ҆E`'a~h8e]YB;5Ai`O'>!=i!,Xϳ|Jpv\&6A_DQ.;ź"NO)':\"qVxN<|{?x7nj"#/GYgX[-{AԖkd;F.saI ?im8{bqf/ ľIt@,tb^6& 4nJp҅#z Iă'A(@Rœڒх ~3Dlfqя} z;[Ofܤ9m|΂LۦƩ,P*iᕆ1`w:blk\tfexK[˛wN_=DRȘ|8G``m6$#VȋFO>$I=_ gԛ-yOn9zchiIǮZofvY$vn88SU7ɵ,|˷~l ]Qn67k7pa"GHc -NXI _D(B CQcPLQ)]eJ|.{DX~a)Jul7Ac=*Kir[!9Ffr534EI[1oxEZlq@fsl,;?k_q{q "oNHǰmQZm5!)0& p'-C!VW u -Drxo.6(/.N׏B?V[M"B/fSL΢I8}l*`wyqЖfaɥ#7T]N(N=_+'x@yrjaDA> sӺ.c;363MQ\gMU)n٬"feϮz$֜`$]ΥS ]wpm#!1bv8ɶe/? -pt{Q^}u)̓@.N׹G0Y=Hѵ1~,(EIqOL=PS>z\>x yR*Il#~w٫Kя8ܷ]1A 70#i^8軯nMUevt #RuuH2}t|t:&o4 iKe~bg׍(]x>ƫJޡuVlO[A}=#<0:$˪'iJF@6:և@JWh*Ű߿{G3TE KfR@®l[CK4FխIZu:lϖyx>>`6ΔDȯz7OF𨎒܂O9bn<1}|t|]t^a mW)ʗ+He!CV A -4Pa/Lb48(K'zf:w ="Xe7 7muuC5ITQy4F ^AR؏#d'JyZW&p5oseeqp70ٽ֕Oѻ~@?; A4*F}?$W~NXfm,o0RQn8X(yFe\bz_8a`>Kz.{6G3Z<8[s+ 2R{bs*I)vD\h5ft " l6e9<8T^7kq\k8d$ϔ X P61h^É3p'(up2lēŋ/L"Zo/cM92aQ,NqCFs_ϢďSoqj^k_}4t4@Vxg$ZHq+q@ӏ41e+gPC^3܏?e_QFnv MDiKvsamhXT-y-}PwN3ƋxU/}n[ONF`#O`$J-yD =I[')]M6\cGx 5`W\z8eY, -[;n_\.W;foz SalQ_]m zh͙ұ@%1e`,Ґg!YC|t賓~&lj5EC0v*%Oænza!K@m;F(Uȉ(рP6 .1Ε<.ͣƏ'?HGƒr&8u]’ >T٦i#Y! 3|;ǔITRʒ-\"n-BhαE0{w`O,Z0^5Iqv~ \Fism)sG<~y~1[Σ$.֛#,4I)rfP91gOA4WjE'o߽ۂдi7J2#wcK?%"8ij=ʐׄJ{~#*< + kǶV;y|rh_lu8G!^RLUJ8YG8HZ 7@'JńyظHͲPflGR  u?Kd_쥹lAJkJC,65Ye2l=q߼vd|33BQwC&(Df\5..];?HBF@":ur؏68 -@ӫ#1B#4 l-7Ⱥ]OpbCܝ=8h0bV)HZ7 F]B)J@{P^o# -)_ab.tXh:|~xʞ -0?#>'jx>2D*Hվ7{_a Қvׂ Y?u' -<鬙J+xB6t΍XRQ9'8l)suǮEȽ7u~$*DϚ53$ Cږ!̏H֫-j9)Ac®+G tLwQV0 W -5G|g8fg1 rArJ G}j0 -2noɿ.dq=Kd !r3/-,z2J|k0FkʮQEa8../Tn$$hHpt;iY,oY=|YIx`G -A:smA8V9v[ l( qnecvBư{(' `!b82jT/t/e_` AID2- h,Hq"dTɇ? 95$VȒO)>4ZHSq"%T;5b39GDFg7vp8 1>F>}_3~iDo$2 1\M<>SgО_ 924덵<:I W!9܈v~ٔx$6;S)Qbh&+d;Kd裒mk^M0CBe23O'G_Yd+M'#0vj*Q*b8 ̈Ec1X;0;J8C6TvmEn x?_OM*FE_#P +`+Q@'o/"lYfEYUkzh;ww,o|a'N56_|Bp qw Ӹ[K%)Tۙ]0 n1`0H[B -w.bvivH(ڊ@ÆKpGv;==}bܐ -b 0}%Fxbʌ(|nj:MĄ%WRL,;M m( ؈Հ?XWLz" H+Q=Z^xٞ{IZXF4pYtU٦Y3`> JvhkK4O9B6IKcАوv+fGJ64 h7}e_W%( -YD(!WP3jb$xYW;M/4U|+ #:*:F  x"~q\ -Jp9^r ʆx&VHu e7^`څ臻@^㆒};Sg9",; &s vhLvz*$B,9ea/nnɅY`̛{ʖҭMpoT`erI}Bf/KdPؽfGLVvR/ʵo/qs\d޲ ) LjzeA>`k_+" ۟, bIZ "E \:M/+VzY;=d ? ^ՃL[i_k5 |^< 41t~w?7pܗdG%#> XI*R`nwl=#iTe|ԄN@tuZ@S>@ZcWA*=$Ee bj8Ab -9%ihkw443kӚ)s,m ! Xg 4S֪⹯PwLvR]>4W$>78\>@a:ċ#zYZGiϐ\# -)v!3#ylu:ZY`Q[/l%7K-\#ًrqY8kVCC=?,F{gػ!NM'x,V[,L:. g2,4p#IyGU\k9RHD \bL]g3KKvNJdgV2VBJ;WFbD@>O9WUUr$!> $4<}Ȱ(e߸En F=ޑZ˫\s7>]wTjxJQ ̀l.C.!lϩ\s2#/  -4Qbr$rDBI^: q7B8 ^YŨdWc%a=[sB >'Lomwxo -?G%)Ǵ-߲L -ijvx_ -wp -\Af{i8ȇp IVKg\(W/1cwmRA{oq#H̀'@,9:o mdGxZ|.lݔlu":wZ)~K#p 5bOBjjM$3v56Β݉JaNRgKg-60,T[||YY (bd}SR;P5e@xΓ6xG"RmUEβE`Urpnc󤲡".$sJ;ڋVl;Ub"jޭح/f+]c$AD4%1ؓ'ȝbCD |W?r;+V*84YĭKENb&dB&r#bGI}Bْl[lgl~J ,j^ GVFB4%RD1rd^eɽ,# ,;;Eʷ!ǀpMZu3^aVvB*(?Cѧ$a ahC b%B~8>=if// (|'~։;%D31MŸV E~$^x8ҥÅ9).nut -[ |⨗Q`놻"`hWEctO0;-H C:AS6lj)XOX*Sѐȡns Z"ħ>jy VVd/ydNi$eg5yͳ)WlATȒԟ-˼PƜ5)\4&&r~;jg͂4ϲ' uF$p雌[Q !^2Ѿо; ׍.۳dd<цÕ#F'wI| q9q2vx)$ ,&h:[O@<][.ai9ҀԧjȠ_ ߝJźH٭aoeL?eV܈Z$E|!"sux15)WN8ʾ5r$!BY0~" w :GlATv¦9~NØQM*T]Ƌ@#F,a }2<moUob3nGXmp,-6?#\NX)s~D50I<.kED* T*[')VuQ/툜1AjVt'f!LOnfxK- -m#: +m +4 Ugw2 / SzX#";tT6xK0l#cDHz,\f2C ecWq6ߜr;8>.,F/@4j>?|JKWUQPUQ/lvx I@[9kG4N$oY;:FrDĪ݁U)Q&]RIyjF8Ύ*1 a$tLpKg^%¥TY*Q P!X+tgnBIV$}s8t & _1>} -C+ Vm? q]mƵ,-j"1sS#,!Pf]ބ>o(#'l'3vm4G3}:WhZ뜼(^cfk| ~h,˦2TܰojY]dx}'׼D\w2(rqY6qg}[p_ kM/etc[ƈ [,-*bMȪ.y@~Kcˠg"6Q`XȚ6vmg5ϼl,>9*/.E8[˦n#a{ꔳQf-5i7f(# gM_{{3*Bi%]zkZd0C8>75QŚ7`=̗#4%@$thD?j L[nKpr4]MC0q*zZZCb޼aqfX5"$Pj.{\#qP2L7Xfs V&p3"FLfAøgX95+kw6l%"$rEaz؉?uӦ~cI&gHy,#f >jg; @F{"/,tXABw{Z|w b(Ll6óQҴoM'Z-\Fq} lMm7 "΀@5Hk@8#lRXK( P#۴)4FˍM]x/Ly#jޫblH[z?DZ2rUM7PY(Av}EQ>jKGL[).8i҆` H٪h[q*2(íPL29/n}@ll s>4=N/H o%i):nnzʅ{H'?|Ͽ_x|Sm ykJ*e͊}Ba8aK)0Hs;rG̥b?v]'6P -,Ak0fn`c@Z!&xz^(p{ eekhzDQݶ?AϽh-mum)G1"=P4`` J"ۜyD0iR=9 N*pCY.(yư"T4ԖT ڿpG.Yđ"t?YX&`7z4نZ6:"M=g-0Jh!Lw3;U{GF]B;!$OSMJr -tY0FjulOIѕLݮ@9ݶ;\Yqzx$u‹!RSEɤ$2uK}=XyuMAn+?T匤"Mc@'~qFU#o55d(QO l3 ”M}g蝞Re]ټ:"-oMi8,N9Ffj+ܓ7q4P KxBvgρ/F;z'qjKnv.(.Squdc/0&]2ڤ:_xi~DSo6B[эc15<"k0oG!8E)ۈ3b/L /;2k7 S\>- -}}kp?p0]?onMT{\M4oH`O53T&NɌt+m@^v/\b_(0ȻK׉au"͇aOZJ25$8Ƈ^Zr r{ qbJ+\@FT򫿼gd]lb XN,BXSP.l l-Q$‘ "?TB&-S4wHծ|LId@CZKEg }jVNdT&d5U2?ϯl$8Z.$x9߬F3JUcun`}Ucv~ǿk_5_^]{~^Q+oY@pUNe{2A_Vj --wK~:¾2"LIz ǰnRQx#Kبm*Bđ?s]3Dd0-9YH|fFeŤD.PC4:qHKfC4&,8Jɭ4. g"I҇Ѯର$v^Hryt?+:|dhXKuN]iłf{f~y#9~זMSezF!zQUiw]>%2j05D#S׸-kآCJ솨 ˔R;*Lj:ř#nEN ;žfò,pn~QSW-VTjYiSm*(_4֖:aN;_O$b JER$6  +PY6b!AH Hr8C$K bg0K,Z15ŒMYtNڻjWַԽ5dnNw9u^㷾o}|U?ڜ][to7[v}WW>X<7j NoW~%5d&. ~OqИA$INl"L&ZrȬuLO$빮/!ȧM1k'1[+ga BoDnƣ#(sc6coy! 9yZ<I/H!XNNBCF&[xF*~~YWU^Wj<}?:WGM[BG`I@j't`+Lbh i ؘ^HrT$/=2V'A1+6Pƺ;ϥlOa#`iSAI8ɡǢ _-؊( [Zyy&"meZZf4C=H]Ȭ;!P12;ORZ<*b .SA~*WO((`4T9h4e" G7Yn -Vad)"sYWoAL\s|jsq>oGtfJ怣/Jљ -3UkoJBM* -$㕺$m ݔ2 #RFr9sy!;oqsPOCJYL?*đ\'p$z (gBv;(,h/Wsʒe "Đr{ Rs(N01" ߌgY$a*\lYf+Mo@8i$4 遫V .Q3zH|PS[+ UЉM ZfHˑ2##\;q1pG|dC%Zd> A\-Cc|P@O1=<1h5F!_Z1!^73'Fa_K$+ZW 7M-{e&K&26/y,w|Z]=uO!py!Y3'kUyaiw]Oaؾ\\/RB˻<.F!W rZτ19P fZ0\":>$RbT OKsL-#?Db)`@U ->0: -A^E }¡# EQg SMC _ S6j@Hx\?ot&7kjm 2lld,BJ{2o{<8V'Us4ah2M]>:ߠ&/8"GtWjs|f+?tP +iǽLc;7Г{%ӧryt(~D,/r"+THf";2*5DMkA!YL'})0bBHO2"iSQN0qiT~ --ztMH0~HAM^*iGYW;p4x qh0ԅsZ9Mz_e4sg+F P娕,@<38?RIJst(Ne3ː٬0!)>@8s%e'kG[QZ uMg8Iھ͎Tl{Sk ͺ <YfکHAWairĕPaNj]Jԏ8st_+.]g 7"_@ ;n "h_yUsHti)H=f7;2 cbQ^*U@]Β"P,p#tdXD s7@,>剩u#,H`;ɛ(ʪ\EZM!((\JGoAN`jUA:Ap\FعdXp,99z$̔QS.=#K2L!N -!ih4 - -^{(Og.='E-X&5 2?Kiȟiq>@ d͓E"( 8J9"a"ˢKo$ >b 8yd,9ɧ&z.RY Eg~h͋1< l+`dg~ \}A0῕&Yjph %sτ(&Ͱ7I1&PB aޗ>Z|?:hYΖQ!:zR2:-6d hbR*@\ h3b2Hڬ]:s"z9WLSr!E0)0aU H@48D`#2zX Ǟ r:Ŷntl¨M1B)]VP<32O ;)}+d&XB|Fۑ{? tv+(Ix83 7Uץp+ɊeU Γ4_k\)Ul0c^p5-bQiyi]>P x2sщce?^#0@๻^؋`PċBf4)dԝ'!Quy} < -Mqs(p,2"8L珮jO",I@T25ժrL!uʙ1͇CLW$Ś60OnjŻgot -C})}xۛ2nvD4+dKo>~"/9dFcGnl%z! - - -ESܚ9ONWu.Zo^Sʗ;fZC8\e\24{4G !Za>CZxE{k`'gU'DO˥?ΞUE{)#JP8 RƒYS`R YqeP3 )qX(o3/W+qWV(ߛ~/~mu)y02^WfYz,Cs4D#@-;:_%YnNU+r0iz}v5? |3۞#{|~OG.vbRky" 44Y <`{+ uF8S6~ -TA1S#"7f{>xPVpCogTf#EB8S|/= ]rN ȏ}r|Q AvaK6K@9t"pbIjD<}'14^K%>"VFs8ri 6~b֒)Ptkޤ$c-@y:*Uö{Z2f^8qrKQ^nm2}-+CaHk(.^G"ޚ f6A=EG 8r`QeΒ<%]͉`0_A/T6|_ʉ/c}rϐX\%_@T &VD{J($ U^#Z|@'vt7IAÇB)B#)f!` }1Qh{o:y<:Y[>O}7x~v҇|cްL摣H 3#d ap71z͌"!v?#A (.`,Fj97䑣:e>Y)QlN>P͠5M ~AV&]લ^H@n -ɾX> >Ώ2^_\?"(0G%aͭ!Qy)@iKmO q `4f(ES{\%I iat3aSgh%_ߋI]׸XSMR맷&^ iG2Ûqߝ^}+(}qldth ơȑ; 7@-2lȾ{.!ؒʬ MUUy TB3BzN39'OȤ(]ʚſS8h+tDQu0F͘EdRylOhBpAJiPa&b h|[/ 3:O}}o=}G>LA{9( ,nGۜ hāX8e -)dR5t -;s#gK6Y%I4eʾ*XI@Eo+57 (Q --~l` ]B//t] Eet#`(P"KpGѽv~;K/ʺX:o~hp 3N^UUٶYTd<=Yi[ "vcځ^$=P@v-ݎ.sO<1T`N -["e31 OR@I(G|(vr FVAW iJy@9zZ F#)qgIsɳ 3d:hf]F^` c -䲡w`I!F1Ps#H1 -9a; qslS:HׇfIzx>T`AuU~hP;(VКfvdhOꔋȋ˒{V -z.H1[-B>Iy2 ώeG D+rqY0L\̪RкI!d"əFךfꚙV3LѰvޛR~Y -޴BxGT;?~|pzH~BһDZ~I3ݾXM8nmG ]%8G e?Osdgnx -ĸHǚeAE|g08 -p.]qŵ B͓`+G - -8u*߾ :wnׇ>&R#-m΢:_t&vAd/IȊINK j6}ƌS-A20rX C|&@5?Px;ǼT0TBh-]RbߥW\^NGQwX )l˳]|aGz>ࣔ(<>:송.+xZ;'\Ol0LT%zU٧xya,@AbX`3S0)ǸX -dO)R8 JP/{`|Mn:pgrH$^AFO&a$R -A"R|%99q&nVʃ_1tYy>b-Zt=wkFU*0dtժwmG}OWg.Wks~1P,oeW6_:8+e~H\sPیI'H?AAȜG r,<6$F@Nb1l"-ٱS6c?1ss,B'냫m{tlk򐧷hvκdWM(jrNęr1=cM0Atf1 -d (3X &P~v3vq;YYtK.3d#(:Z^Ә H1b ?orttpu|23}pXar /5!gc5fsVՍpHL_'&sfX!%n{ds1Q}zCh B>`zƂ`*+$n-3b%fkөNFrAA@Lӭ+kJf,PC}G.wћ_<|DeU.H j m1܎GO?(22@'sIeT';.UŘ&GQ>@?J`!Y{@g}sԂ5d 5R(+@C2ϣO ,]RӺ0.+BBϑd# cꢦ@0-E ֣JAlH1zfaʠ#)Qw<5EI^jdGȥr@377f+"?/=+})!?߂YLIa4Ͻ_D |֝K'qkma7@28]{,״4 6`1G`C"2*!!HhD1g,VsdvϜE%f5N (c)* -mkUy?LBgD - f0jMW#.6'q}v>sC{u2#eo7@Y -PGe^ }噓4C<~|!?0]L$ -scļHTN -Hz2i(#F0~!To ґ)ap{#~> ʑi:ǎ%0-lF׉1~ 1t\14p GqoJ+\b >7^3!naY6adGxcӶF^4?Ԙª. 5V4Ú(鱲a 1M,zh(>[z+!*mXx=(Pdf$vWPj-oBJ D3C= ۽$aE+:t/'r' e6֊zqڿRQje1`Ui(uF~:W+(܌hQঃO;U3WSƊMSYB J -%>@[ꀒݰP ,h~f~)x1!U«wl6t=)hqP<;c)X23D*(NQdA-ļ0RA0C|.@8ڿ ->ZqD,owW@쓙RT^wgc`Z -?tv_Hoy!j>Vtqg^%N2Pۑu|UeMM3wxӦhX2EGeicc=$%b p)m32_gʳFJʻe.>̒\to0<6F,] _FT0.Xm˲-zc'uE.0T)bEX-,7QHbG'BrY|t²NB(^#.;TCR^:M?LK@ ȄYa/$>xRER7LøJ $>Ծ&E^WRδνA1;7 4`Dy4贡. A> -vQ$,xztHwnyj0]"uVBN aV)"ӪB9/ ?WQp>`GU# 5Fɺl)_ ϓ?^z37Vg%\)E[kZ]4I /T5}ş[t&_ u…Kf+""ǂU] uE{؞ i=5>O*QKI -Ƈ9z$:ZS:84kQx.xdu?"uO-|{4I%PӪKl{Eg Ѩo02Bu@k; `x` :f`J[,,(2D(*OvR E`./^,P <0~L>:aݲ:h@st~Y8Wݽ`gWǗ'8F QC+?&j-I`:p^1(TXո&a)RO0yr8OD/KtG>@TڄIj2c5Dro_S|ͮ"N%PJ>ѣgb -%RS\~mk% k$go,kU"Bя3]E7ᢁ/-bg w%{?xZ>,Vb7` (jeTS0Aꀴ{!} >-ĞNÐ|Yv))Mߔk5E8wn).S[wXt1d!s|:|@Qj3؋GG|!p}h}z|D Q83. ߠei? J0Up!Q?xѬ[|拙)VI.y "]mc0VK T*0 -f{Fk zyY/Qȥ%7+?Nllg?8;')=/mЉ=[M{2XEKDǮeIDYX^ Ɏv_@I& 0]za0A$ -EB>)׸R8\i #v}Z'n5 I@QWR42&5* XB+7n@gԄnUKYr #E l(mТiإ5}׎g9j!EKJDZx4_CEuІokMfgӫrnYGuwu3T712P5GzHÄQ $yeT`yCypR1들^1Ftxuˡ4hacꋴ(GŽsTT[8^ߢTOvH{(a.D\vLK)u\sw@,b舉ZU~ۆUMMZE[=8>қ,_kp|ޝv[F9;[9 ~9M$Ū7miLBw\ޕΪZY <Tf``c~I -#E -c,hݣcB >Bz3r̯d1Єc}%kbHT#>>/d YUTu 0:RZ$0}BxJ;9xs!X-헁iK,{"Ok2 dDf :lN Q8`v{Ed Sό)".dJ'(4P$!\CbE@wev2"/`2CmVVdDI 7 Ң0l}ڈb43?sJ:BzGY'_|tL]apmu9cJw%eZJkY#YmQ -r!fa)fAသE*} GH:U 9/ //\q-q`<]$} Fc݀bT(_1%#~.Ok /9ݏ9&N(Np?sfԂ%vًɇ{&wN XU(:ٵL-eܗ?G1O-J"'G+ZR銤=4hŚrǼU#ق&H05,pv3Zl†$Y5݊ش_Q̭;Hb40UҚfMχq`QyL] Ҏmkb^z3aE99q[t@-4c~7cFͷk>'6D\}fP}7IÀYfškk:KE'"!_:rh -ķW/ g1vlo& -jl,"9;FXHG(-NB@aľͼu/:89<=9k'?msX(0!*qtKz]6eE0g֟\G Mn`3Zc+wLRO֟*@ ;:V"l|fQ\g%k-,hv5_~Q"i/MZ?mr}"TwͿOQMBUꚎ;SglXW -06a#׵K]96jYYqqNwѭE5,Da&dX:[27<ĨN7bqJ2v x췱i<G9vBxL7$ z.}ciG{zAʹo@0YIYK2M@F|@D嵺}~oI>`o$8 -c^zN_/>"M,=J:J>12-w`1zX7F/=r3G%gl0d?-DYɝۇ(1P¡p];PhHyix zօ+ST.0*Z<nl1XDrE3 -wbHju@3Sc_k?k(vO|ѿ%DIo9uj&ۍm >:,T_ G_Rq32DZduǢP|s,@ $w: 1cሆd12ѪIfFu 3|e+Q`1CNa!e /gNIΞ䂂c>bEMs)Mva -Hb}@[uD߽*i30ajrny/)Q%Ge>t?,)3OʁU|fj * >aʡԛ%Y,_-Z0VVbq!޲ ?i) ܔ\?3 ]t!0=$A.1ìm"'-RLlI(5ĴM_.e olna$gf#O~O~>K@ pЂN;I $f Qʂ|kYhL؟|O.5@r,Ooks>뺉L73g-""܎?M(!F'0R!PU' ΝMβi xxB>^C!g4Ѩ)^F Ɋxlq1 N>En%Ƕ6`˳F%گ{w|Q_奄EG*ty3PrC7.`b~nߦ/D@OǾ] PqAa##>맣MbXBB0qOb? t=Y{DpFh.>OP)ѹT= --̋JCNQ 9xs=%p?uk;Y:b%+S cRT\@?tA+U( re\2ba^z{^z?r=v=ʮC`eaQj&W~dc.EM0) NJ@Y(Ksdle QMST*Nh[2t#ezl.0aVG@!B~1ƮF]6Czޞ'yP==U=d*o=|Gpt-ȍ&Z=fO&wߛ%H,JHߩb5zcE_yJ Kip$}'>L ŭ2@_H -nvEvekvtR 1Jqcx`@,1\f/p 9Ю|uh_Ov* -ζ8N><*l 2XamcGnz_}T(1/Lֽs7Jb׮+Kp[sg>&*|? {52|˿L]"Gn1Z]WKcuc\AJGh.H$}{}w~ӫ.Se e쫐XhsvBܿ|7*-&3]֚iʀ8UNOk/,0e]kPܭ3t -s}MnZ{ލgOoQt\: 0f9.'"@ne!lѿ7~a¯XbLCW?[n9i֧BfDF52fu0aMbt)?@ˣKǘz\M|^&,F\pw*dpkɸ;Ʀ2eaa*D:ۦi^f d,+㤔JXoeTăr&-f" )@J8-)+sf˚8肈Yg<=!$\u1<8s;ޕ tţʑ}{r4c;ol./>{(!0hꪹs|rk}x˜hjBTyb1$193qgѷ.u-r1#bf&@8Zқ NժwL:R,=\`eك2ZY4Ig@C7y>lҌYQLiOOC2( -e9Δ{ -uJ)z`)x[gf8봾 -<RB7"A]G ٫2`tc8&~NqT -Ɨr0d-}‚_)bkoŃD~@wD;=O֧oJiKnW'I0}fR-Pb -dO*%y ^L-{{JF2^刦ߴ\ǥ@(6Kj*~@rҢyܞSΘZWEu翣'g Eʣt'4cHvm`_:B'FFY^U.^,{ٍrJ.j{q&On&6='335qOsc.ᚬ*߾7ξEٜ(OhN'_gC)Jy<}PcV@ހϞ$R׍,Ѿ0R|\!˼ a,pqjJRb)xhʙoml -'oN^&nML>R^vw~kn|[>S`Ĕ#"y8b)\΃ (OB#L)@)v2e^7zˇeՏ~DvQۍI 8e*!LyL(h*)F - &.>`\P.aL1 9*d]xOb~  n@'zGU#-K"<>~7Ei@[In $YLR&nd-COז7:tő`tiC8H]|@첈٤~ -=qe^K",^=6(1 xբؿ׿i.D|é.ą7T|b_wy[ >7B(Xtjtؾg-DXzKrX_aP ,Ic};E~11!Rc,c&>w6Aт&yLkAI{P imwCG-71ugn ](:@sOЬvUtgjKH%EV\Ӆ3{%6WźIeL\DMOQW)3~2i:tnSU0:~??]^kb<so~XۼmW՜\s<;hi (MbH[@>X;i>+~PMNWDnz\"șقzGS$2gRG)OYBiUs \J)40A>OV+آ11zPAR3x-\ؑyi˪j^͹cj zVHEQ0:%}zLRg2P%#t 镥5YS3L[Bt` -\ѕwIo(~gnז+}L`3n.*iAjH0)oJ ^FVҢT29NQXonr~H aI=-t\Kykڋ8үκOKx HK.bFAI K%e['ӺLWe6 -QєPjc%XQ@gB[aaaH9rDPJMj*R⮌ OA̲˝IY}`HG̝ $t(5B1c'<>XtGz9( 7P) r@Ƃ !g PPQEl1)8~eܔV`&.>wj;ӃuCo֣DkjgnhB_zoW?t-ץz=*w>k-R'VЌ)g cpؐұ܀|Im-^DKgy^fEe CfK\b"%+' J|gC%`cQ_btNf-2 țl9ԞPag0+dKWmc!hW6a(@s/g`Z=)Z;1:Fz6n~0k - Vچl컈|3k7೪=]GXUxSư;Gh>Z>#= -LmoQfܶtCQ (`}-\= ^2}bJsA }K. H}X*D@:v>T "OY (e O2N/Y Wz/'Pp!-ep1fIDd~u GaP]'%C1-\DUQH6`ܡo/xp'Dh8ocG=/;^AAK -+u-w?_KfxWz_F,'G'-Z×(1& "y׍鑐8O˺.J6Rڶv/H!h XsN>#>STsRiKK@ȎX׍*v_Oϓ8 nKNۯE7s(-6Ad%?ji\ʆ#\AG|@u,r2Na)5R0> %').ݜ6g<=Ј"و!O֟ aދA0e&<˟7?zR-Mf`VڬOmp[: D^ao-n`(WIkᤎm*ԹurYmv;ߩ7dMqM]R3w#yTFx8*a|Г5ğOS,ӝsKV|~ p+?z[I4/X($@ -d5z(w`\0zM_JB\GM|YfVf0=c`=@ˑ-QK[4DFv@w 5_SMPZ6Eudˇ17(؃<2%fΥuQղN>"wSbz.IS]]ëw=! f5Y s)S5dxe yЗG!hTgYe Xx;iq؊Ot5ޓZٴ'Y 2yc..@Gzcu$,$lY=z~ LX1 "?7RA) -EOeAy0I>ϽůnŽM9~GǶoڋ~fmj)m7N \X$G -m6U_ 5~v\_Ƣ4hܮ@*xLϒn_WPĸw<'Egj ΋ۑϠ {2od(fjk@x:is6Zm $!|w+W<эU^zSр%WsPkMcSL֪BӛT"Mb3MKSQ`'G+ssgɸɔRE:3i]ۼ)"sɘ;/ O^$C`YƶXV3J7)OdP`wMY2NÐvS p5//:,O4XpSjݾ{ztr7!ʝVeუZ @Q&[7Y"b@jִu^;k)ft}ª z +*E{VyZq@C3b-hJ~KZ\9G(4(k+c-L8g4 0ۄ -E\:UWيt NdK(U(y'܂\gDPgabj!{J1w]Ţ5E86$h<݇\OL@Y}cGGtt]'# =>)QY4},ڨ+l[ /^A//̳!@[G.ʗc^g!I2Z1eDJa\2rhjEWԏ(Z? -,,#"]İ#H bEԖ.JG>+?h1s Z 538n`N=-$ c7Q?{7^\u]փ'>X3C2(-mqஶ\D(Tc,帊2ڮ1#<88S#X$s,Ɍ5ؐ%UAM9:Ҩ;.Dg``jEHOa>2uPm|Q/_Q -y+{d-ǽw>W߿)a -{>Q5H+̓5h=9vh uLRK7ozX);׮xPXR %MvId c6a\iJ?Oޣ;GGWuC>[oj :ljCxZ1X!+,L<.#76ۈngF/dwvװ9aȸm Zst+ju-fq׋gZ2tӢ_(L &ੴ6 Sk ' ?c/XBMgt}ɑ/}~T.YK>`U7J+V.΄ˁD'*J~ջa_2܅@1,hWĔkyO$q[x"zF0]%H'~z =bj!q/b?|۟zc~#H~_ -}$`qm:hǿ_?<"&9TbXӖ%@ʊ:(8]-L?}9d\Vt,wKoݿw2WYYD_jo+7FW7ßx_U'OB5X. . Cb5XX(*kN]M'.Z? l'~J[eiu2C\ |˕OC#ͳG/kDdďםh1OZA6bE m5XQ5 ^ ɍ`M{q&m[ز鏒hw=rwztD[b-z>vSe-OS9%???p$q^dN;g EkpdJ仗Eit2=rM -  /oZ񪯲|dƦPB!& })rXyYY7vܝo.WjS66uywM@c2䨦Cv`}C_|"y:i+u*j;0TFP 㖤Z z)C&wCkPh3){ @Ggm/ Y;SXV-1ûʟUb):g^w=BudCrk`F' dwٜ+Z,K 'b],:9 zFe<T4'PjN+P`'ܧ)ݖSV$++\!l0(uٜݥ'SnMc2~N{w#q!ݐ@N h0ҁ0RɯIu^7'ב‰ % 5a"tt,~וXCW`.=;(+jhZlG/QQT!0{zO}?g_R@8p$ۯo}g0`tϩi{qMLw#y@xfk ~f{juSHJ G*˪jj9w p]wgW~KSێ g|jɣ\s ?upK&w|ףjON`lL%YNE)z?{m^I7c^)ja.ۧL2,'@)ԡ)NZ*}eEՈi_f}F(c_ys֚Q"$s:1CX%+fTx׶B@ -3[*S" *$M2˂HkDD{_~!/uiߛ ~{O -CFp߀EL_J 4Ϲ[@[ q E0z~mQपI/lJ}í{wʏ5h8dafM^S(PT8QT4ב|hb7 Ӑ${#Kz[W9rɥH"ȁ"b[@ $@`?!GR*ё,QaI؀#b+Bɖі(ɤE2"{9-U_̞]Id;>d| |8kqΣN}A,u*~`;8"=VFP|KD"qg܉) 29 <U?$!]'_v]U3z8H;'CO*1q0-2 - GBQnX5,wvez#m(bF.Nt g SqB- r`ׅ绱aHa;an][bǪݖ;D$#6r0!l+J7ua6eDAf#6(#|C>/> lyY#i@Y6Cw&َN_KUnn[~^| w%~a ϙjJ2{648@h"Ѥ(E$\sqtk]%|!)N Vh(1&֌ɷn|bHB2W,5ѐ쒁Ǝf\9|}UbP 'I]EZ :̌{ -k }(H]{6 ܭx~Y"#j$ ˲1/j8N5['8!(0\8B9AS׳({lUQ*3֟9i^H0r1].\ -( V #HbcLG[{u6C^55O({,{GQӤX -?!n蕴b&o hx54IwStOL0HBu -B+jz jb˶͓3S2drb, ]-Y/rV)PH2X˄cV+o_NqUU̗ .4 _,`YU=.2<$e.avfWo -d^o: M횈yR v]=oڀ򗿛~ER -fI0X2_K`u+9M`i ^B䝞5E껔PeWXZ99lNf+S yx$@?nxA2!R45 Ĩ<XJJ9 ru@zJHDd &L6{M[ggcKwO,W-?3 e0pS=Vnɒ$O`yb릏` =|kb 4 =ѩDNsD PDPCf5\X):2<LLgp8Gn<7hsYsXSaV5['>g8:oCra  'vwGDW3Y56 'c~_ '"6U$aӬcsW6=4 X\%>Y@"q'W+gc!Blç''\[_ "4OiJFV}LWq]~pP,AYG7g-/'[ώRAZ.SwV܄jgNLQ1F5 -ԍKJνj1jj')gZAr'tFbd+|8⪒\夷']mǔToBڔ:aaH 뽺{yDCHG۫Q Ny* 92_j+(qTHK8 x!_ԋ9>4?FAs2zQJ8:o#mo^w"TTLI(DL'@Rm%) ~h3/W۬p/|%dB"QDQ ժg ֚xғ4.p4Tqf _W~5MS`uf2 -#9DeH[v^A|w2 *lDƲw}8*l -ST1>9\ JmО}8m\Mlo22#>6yyiSūF

~7P'//>ٙ`$m.`7#fሡ@4Av_V_`24ȓp:a=6*L<20fަ˫;,qr쳰1!W [ȱVMBC_#f3pA]%M1QP*ʰ` G 䊱lT;e}Z֮0 8DMH=IHH;CLb4"3=ЉGHٸ/ yJj'j(*7S,ZHC2ōQJ,fjAܰ%b{}fa&V*)Gg7xZ+'dأAKSUwޥ08"潐؍mx#BK: v܁ެ.Mi l..Ӽx|.Ӳ?q]Eϙx=ֺku{frAP΋P[S#0Ms[ŠKuc˦4]iFZ R`'AܻݠsO[̎8#Z[*qaZ'Ә^^5 !;2NuJLPi50b}eNa耔ؽ\SX-$$ 983*Z8`됟VS')}" b#B4{063 #XڽGB2o]qPkGdFZ+=~z}u~X.Mi~|' /o>now|P>ۿKhFȒ~y*3vW[1lۻ˜iHy8y2( 7PjPƮ7`k}u]{JE:* []r4WVk3h=t9a$0z_#N {zIv)&.t64Uf)%e 9bJ@P"G$hbGY7 Z$ ]<5IA_I@8Rf@L)`Cm"JJwJIk0C 5L CNьI`܇#;+pג`1P%6p>jt QP h318x(:\r`5R -oB^[0Ut %rdm"MkM!s/ cAl!a0*dQrpAh)Qg+Em̍|`a=#ƚw\4]$49N}@mဠ88%V2s@ zr٦a=0ТДIIv׆c]x,5|L;aCD5~s>3_қջMyDіf.e7|Rjv/~g~ۋ[eܧ޽l,ewsQ[_>~N#^e'aF_Joi^m⇿/iw`VW?x(_nv_W/22+%yW?҃uo!)(0\NFj%Vf-HPI]S%~7OyDBJ<]BJzɈ2mZ0go/6ϗrȣ~B7g\$/ʀQόcE#d@b\{1'#?Eh);xyyOo7ק5*emnϮ>/^}r5EMc3~\]K5(I{U)]Sv1~ݍu^s&PWaN>]Ow9|#Mt"LzSNxz0ndSRA4lӶ ^{Dq"<6L(fp@k (Y1V;J5"U^|XOoNۯs .q{fjsjxlieǾ0!A@ -ʅ)oȲO_|gn T3S6 Tw0#%"qWLen܈;8jG'^11 -eؕfnNP-TuTSd# k@H+Tw;̬ CCˠ=<rJ"0D\Ye$XL#oes+):X!@F`pXujaX!p'?c0B<87b•,Œ0@J֊Fdj@RTzbQ)%o>!'Wʲ88hf FYMR@|mq޽8Tl"p}y~!d~u9NGOe[Gvdm9ܟ-Ɍ) << 3?/O:/jCR_ϯ>}>|/S\wv&R20Ŗ3\XJ$7WGc :Ŷ0}u7~jM Ѷ=}8[Bȗ7;،Č,t%g&?)aXSӖ5~j9nS_}ۻG_g굲DwgdB6Z"VPhϺyr]XW,Ϡ-V/6fW#Q-LU81F4pIZ@GfQ=@3TK`2@B?;$E{40yGD&dp!bsZ 0Ef0r'Bl&[n"  -H@1"˜ja"ΘjD9A ZեLL+/ K!aCH7ВdwHZTbmv OVtN?}-8m~ܤ߽p]JCS';rT0.*02DNi^8Qiz|4÷÷VFޏQO>~vϦK:k,ɞ\vSmFN)i9WOA$(Lݘ,f4,a4bige̘Bh -_L4)5pNQ.Ӟ(!#$ aFJA DA69uPF%Ki0X)) Ѓ`v=aZ >lyGywꕗw!SqJ =;GGs$ơzFwj,@"WnmIh=.L,NomFA޼;7o>Vv͸l&b#_]a~7Jua؏6ϤzX &mumM»@QZCN혶Fȵ"89J2Zڰ~x_,B<\/ǟ}<^lN!qG/SW=,slvȐ4ds8,3]qܒgQǯx۾ zjmz<ҹ`MI=H>p~{WA~v6vC|ey;V/m6 mbmջv`-,c803+L CS y0B=rcXxU,K?WqĻ̙]#l(F]WRqq01;mP=.vKRCxtL \;$ӚbQBӜJ(w \.EIJ Mb%i%VҰ)BMD'Ov(I $ٸðyqra L%zuπ4ap -F+Au[ jw R;6l=x!asK_ 32CC$\\|掚C=(𠰃.8 4Ɛp6,kr_N| V -lvk -@3pgQT37pw0XiaB %U⹁љהXMʅA.&rO@z -aqpաFYaom?Nm wCW5ӱ!w}5] ?}XPvv8O7Cyu⫿xl|ssպ^^}*i@%,Qӛ?_+Җ/}2 ŸF#JRx.O5)־4C7 +/XO|_]?~l?iq'^GKwhʹxTH$"2r6 ,N2~D˼,CEC*f->Z7N+>V{sZ9uk> ؐ;P<8렮' uR͛z&@q9& }`"Z}Ē9Vnxj+,С\,Psuozb̽GZ@r=ILy{ Ũ$D92B@ -2Bqjh6i!$Dψ=(*-woȈ UM q6"!qrϪ@ eTڳPKmu)k5carPq0x]S2W35(KnJi-hF4 '~.zWv0D6{Y{U7糠*{N8d9zGf. Н,avnAhȄ =sgT0t Ha :JVѩŦbK+3K06>fC㴸lb)R ,6O  X=2:{*ճk_DKxo#d A.ig] /^cgYζ.J@#!+עoکڡWA7~߾?g/ڽ@MB ?ïힽHƓ 4G6_2y+j\ߵ_^\}}0 -*-aD Wǂ5ֶ?^|l7}FRV1!gNk@dSٮ#OC?- -mx߾D//M#~}]~8Dde6r鐮1Ѭ {P$ɡl}3d\7;L5Xfꆧ9Q߾̲W2654~}û8tWM@i~n󗿼vꣽL##u% 3ӈxrlD'mDX;l R(@sDFs 9û׃7 X'_}Ӂ Q$”P`+b^NO{]c޲,KrFٚk+X Z!,,j 9+t(@*s=} Z`\l:G $nQl5IkV)5E>t@)]sJsJo'wHrD#=~*nm$_ @*2:L^8`RJqI4$AJ]|͉$s1󄽱:9Y ƼfPN 9Cu{a(Pi E z"%LsvI"]jW`Q,șq9cL(eW*l}֬_^ɗ2 e!ebfeK:ߑw.*S?ԛNjex[@2 I9mWr1 KٳwbL4ϟ=}V0 zD8M{x/Ytᄑ9TV$R)bgErk!Nog?n>ݯ_E՜l| @#ӹG Zc=Ƈ _?fׯ8G/7?0=P wH o'D(BxyBOS`H%BClΆ=zG:h2903fiU@||6iYM!NV`\]cܗ &}^ 3 R8ؐV Vj֙)ֆCMEwu)~3CtXcOԬuMx{: -.N~O %$?P/A5($lX1q+@|OC<&B -Vܜ-ipj#G3Ѭ1耬mY425Pj$w -&N +!tzH[T %Gف{ ,ު C'cK$N;,V u ƉМå0)n! P}nC zie3yՖSJ@2lKT -[90bt8;c -$"Z%]7]qL!CRZZ)Hi -4L>xD ENF=\2,AAWLhͣ3~(7i|w/n>w2/Vo[&"/D6myLp/WuZD>}6׻k!q];pDXEmv5nLUu;6 wǧCLq:ߡ)bv4-Dspwn]< $<MF,Xlno"%Х'޼[v}؍7׷$H4 O={{"]|˫P=2L`X2o i4 RHRw5mՏ0?;obI{ܳKPF$)g kLXWEnFՕDI8,I$'C 0CdC"/'NwIYuTRFlbm3qV;[eޝ ,zt}@q0ڠ9ʀ1,M/3} +lt9 r<{28GKb;A<W546/>_on!P! Ki1]ZcULHA1BaYJ!i9Wڭ;n -$DЅ#٦rXڒ>4 M 3-[$GR&eHRbHTmآy uBs*\1򆁰zEx0`1) ]c'Cp ʄ{0XH נ 9 x KwKind0` -~[l>:t*VY'ͨgtk՚τ6fLMLzK!yCbKDHQ}RPbjD+1+3qD l VД sN"V -IJBԲ r8@ -$pdaQ0u+\f\ L!I@RYa(B%(jN✛1+7d CdUȗ䆊b؍= ՗ -,M9z(^S-ffDV쀌f2eP7ONFf0tc-CxN ;BV%լG=٩,wOn7grsH&)*Uoꎢ<Hȩ)DGSc< -,hV\̃ -avd6Wa45MMԬ*V8T021 qJ1̶ G - cܜ 02yX̊n$sG#ޅezZscq\+V)S1N4,c?߼|fUJum_Ta0(2n?owo^rn=;W/˯_M-x+krkG[I4P֍$]ּ?8Xgzۇg~si896{ Q6^oROχ!6%bd+!g?>~7l>wwRI$Y801OD$Jg矾S1dNw'V*f2n-q!)aHx%';I l˒zdͼO -Mbw#3 y-NyE+ZsEBQto@b7Rd `ke?>Oo^=)3Os#o)rgݐV=~tgd}`HmHO4jnZei0 VHDV kְ#WeG?KXWϏXyo]ߝNGBѹ6-5 0k(ѹ6u"o-baL0t<6tyy0hU+ -1q(@<4fX1&-hSVٝѝBu}!J[ -P4W!tHvB$@!*YPj13eEv -ΆDיjAc"j[9Wշ׿+Hu&Qw-Kw}lM94GV5q0܅;{O?:x|xuh8'n1?o_yops36ԛ)ԨƇNa1KdU`O~_>U3sa?MIE@0:G\ \F= ?O.׏t}:J߯6RkVfܳqhZՁHXKAO i\ !02P@qh@jmy՗/_n&H"hnyzժ|9wDe).SC%HNj9*(9^/~Ou\{TRJ^˷_|©yLbHR$u݁$JmG&1d5MI075MٔݸBUnB,y =}AoN$`ΎK@xpct ܝ,%>6Vj>x+y%%Vt -FN9 e΄ Dk&1쇁MT<v‡ s"YJQAW˜`-u [QܬrA 8ZAqJ+L_SG"@CyO_t&=am]oݟ?%n֌:Я~el݋fwt7m뻢S(e[Wg0 JҿQ NO9NߌC #/B r -ݤo_|o}e*blaZ0m -~?_]_| 4)UMAuCT)dj(e~vd4?Oe>[af.^2OQ3\#ah;}{߉ѣțC iQlZOϞrKsٿgޗ1%_|W~ 5ʥuPXS -} -PBEji -gp$B4yh)TRǴfaDZj=LF8B.zqP -[?3?au>JSﯶ064rd_#hP(֫VWɾ#E%o*OC\GCRB2^"oh˅C\wz0Y4CqD!V<Xv_Rhsmػ5$`]/cx_q!l2E2#4`ѝdfw!aӈV)rPcTȵ9ELRA\%Y4;pG>0C C]UȆRro2r0։\BE} kga֥`S֎ p? -a,ԐEpA¹tR`Z Zn؉;SKLv߉sϦZG;_.!F `D{2jd -9a=6!3Ț{j٬9buyyx JїщC-sT듇yL1);ivЖ(gP`5 u_N/>m%-~_Vq!_ʂuhP YTluű[HTt%ynQ$c\Rpzݾzy{\ҽ#/^M@2Ӏh]1\<mȗ{{7gZ <|ux{k7̞p>yL8e޼bfAG@V٭BlLG˧M-=\D.`(uz_~ ѻ6#oXHKEJ@bM!YDRѲ_y@O1Tk9zt0;z^5(X!\\u`ـۋO?~3?}|fa t^s{`^g '}ǯ1ܟ,ؚRϸ4&N]-< $xHgݍyq@BL\`1v2?O -*AdzLӂHf?m/b,]u`^^m\e!Zn"M]Q e; c7A [gaij; 뇬_/?}I;}3G#n _ZXKuT!W8lcH%)[ܘ%'c>v!lh0NDQ 1uk5Gt ehV4p(-hT@)`(bZ*k 0[C!![c ֊CPQ}4h2f?NG6+Q%ACY83 -' b]}hDRht5HM'Vh֘EHi ,dUw @w4仏E9| -<޻i11 E+'"UЯ'g~KuƼ{/| -˲,5CM1::^ -zJ]kluޱ;kUWir[,pj F2bnx:/ -Z7^;vv ;`Zk"AYb@".#MJ]ZBq #!B9W791'*$ yiS[zy?Te фmb]XД#?yԾx(.c(V9A&HAv'o_jUiJMDWg47jy.Vuw<ڲެiJ zSUb5Zqv| ^/iHD]c7!P55hԾ$3#!@'KrEHMTĊ\]ٵxH׉3B^5 O{H6䋧 10֔:Shࣄ|A=Yf\%{u0 10xs -B'>lCn( Z6H :W7A_сdK#Jƀ̓s3,)t"Ȁ;4d٣z,fѩĚqUQ - d+pb(*ͻ:b5҉*2c@x%ICڌ;B)N͝Pו4f-(YV)L9t>!ā6A чN:Q:Q̩a1h,g'jw`~wo-n?ڎtqE21fi[t{}p=no귿r L%0)tCVo9|c8bH.2lfҊ }aE(QJZLKͨh>{w//_)|CO=DekCk.>?߿| 6pu0R<).bE1fi浞Ězkڪx=R B61H͹7 -a{S)[ZGvq9;?Vzxۃί?}fm(hg ]=CޖϪ&(=lC,c -$Է(s(:Y&$rA,i ,]Ҥ!u$R]N`i߂acvܨ [KOyA@A8R?)HCO-?qvzus,iiΓ]}O}9_wux[v/Wwu -~9ҕr6[胍 :pWc9Po'i<jk3` -tvSoUǼ]ݞu_oMdƙ<yl^^⑭ݷ?x&`< -Yc+KD_:i2 - N"#{b@LiYƮ;* on'~S·S/e`Lh:~oױflʥ2!-FS(e>0C`u,aT=8ԢF7@9Ҧ#Uu=Gfm^6qwڠ3 -1H*̈JĦҬKHe%j@2jЇzz>$KR1*xY3"6`5b3/+ix:c- qG:77j"Zj\L(+Jp7ST1vM#`EL^ꤌT,3- ĉDE JQGTF]e ;N"P}6Us&8q1%P$ԭ9tfUaϐ; -L 63bԔVtvBmDU+izܩWGq#Uάp$BV .hN[vKCk4@0Z ͳ{HDud6ȫYAv7To>~۶Гl7ol.ez~x/_')ê)b!X³xvvywx$AR'˯~́Y?;YӁC$ҧ@ju\<0*W(JeUۉr_R<6hCz sJ58 6,26@av^Xѡ.ЈC3maI6^pBw:?1M?AcЧ.cH"Ec + i|۞ ˜(,Զ!>e\RZ+ơ6ݥGx:=_|S`^hf&|OM@w@`NCןrQb6]nu@{ -`4HB  HsYXeZo-.6{ge oq\c6j͒;zNV;!3"-yꚘAyKsYXrk]#sb'hblI:8&V&g3c_U;Gj$b9{NA,A*# ԚVݐ`)K QvHyT<:!h)5(7d =1ULZ>!%{Iq5.Fup&SPPRe{[a!n+ɚ$g6JͤD Dˡj!yYQ')f;2DMk .ȂG'ZT9bC͌=: -q!.@ cE;#8 GkS ARԌzC"c -]uDF 3X5<2ؙU#Z5 -r0^ suZ{;3hSAw C:9JS_(HHT ؉yIkfAB᡼}ӭ:kTYp8=;fte/\zy޹|w>nW29m*oW:ߴ/>^s ,M8Ƞ5?z|0VjXi}0M a)cy -*!ic~~=7m5QNqY*LЯ2`1ےwonl9G`0 J",,; fUpbހ2rKۇ;bx0=z٤_v0^mθn"ksCf:4wH7?=yMl&H8 l>-tԺLotMx{{&_-^{x|o=W 6akDj՚`:4 tu}_Zٽt]gr[ bBIZ]2h5&`PmwӆK+7@`@ײ@~~Zo/)5J<}՝#l.Cp[|_S%u*C }ָP,cSl6d'A9U/lI#d&"|'6˲jTAjѦV9#a^ilZUhSQRCL1$@ j8Zk -&[*)2@4TRA>44R5,n@@ [ ULzhVы{h fՈHZZv[ 9z$t)T3@`ă-@#VUs8i̘]+ XlQB"SŐW1FbXZm1!E?~equkkp Vt:Г@ͬK'cZZ(C(@ Hg' %fp.8!5 ٪$843Fk -Y!SP4ЉOEGFMc (NX \+6"R%-0=fĚ+=XE:<2U.k<FnXz7~mr>uO~珌bnӌ\S.Wz w$lHXͺFXš}TSz-쭆 $ɅZ8:2]ѳPoTA J*%&S髪2CmāZ3L=Rq-ޘX)a T+LЀ%k@GͰQ:uq=v!MAw d( xZARmnl̬؂s$85vV^gJkh!w3qh* -YEMk;#BJa"{+04&Cv5@T]\S pěTKQ:z>RYb,{`HPٴ湴Ûπ#NGH1pf>;K<pvo._Lky̭ħYo!UWwxtdJfmِ~l.oQ`X]_44~үlmWPM}m?*s>wWi}Qz)ƕckjL5׋^nU=(en\i9UAæLP""SМӺdb mw0˼$6WOysí<;Ğ&LQ ҨX kUa9_qP s{٪#:}sJ+YF5H}1/>Q98yYm>~ shsϺaۅ9,-m/^4 b19bHqqm@~Q,Q:''h#۾@ )e:D->39?~zz}׭˭Vps`+fOf-` ! t:xBd˱&1W;ޗz6nBH^h.qUёIhiӸnb!բ(r֕:% - т :{hR%Slyrȑ h: 7 JPqjS%8ʙ罗rݷF> hLy=4Űh$'ၸrBT[\$uQNKY^꼟RNS!69ѻ1h}x~ ˇi޻gCGt???w|_ֹ85 -|ţa>fv7էbF}Z{U5Hy/;_ׇ* a?GY=O⼕|5둇cN,kTc-W:Ѳ4x6#RCCw]H4l'l۳Gn_}%$~oό[lr9h8d>MJ+盟K_i:U_b$ 5p^pؤ2g CwS|Q9=z]qj +RO/3ե*GN -3k(`U#N8%T,q%]fbiyr -s2WZk`*d.Qrf *='9[d(ܷ@M]f+hN9KFjh=(9 {f`L )tݠs' cWnJEn*(;SaЈs5MB",0PiҖpEGuA%F[cTXRX$xWm9 - J$Yd&Q@ĉSM* @WEjҘR>K)",b(UO+P$@\49'N(rN`r@GbuO($5*i>i8R8+'-trr :έ OtժJe$/C"Zd(y_TeY*H$?\}^<&!ݞ;Ov}d?=g/~?sp{ |*^^^ -MCypV>O;/&Pa9Jk7}~OҥԪpkOkaqØD ǡ:;N/_<+ C%;J6+M ܗ{.kvղD$qx|~NwK9NEWW/O>Y}N77@OuoܾEtH؜C̖;); +?ZʙS$, @f mX\[aq۲L,_N_~[n }jnI%&Ytׯ@֏OZUN_ڱҎrzne7|c:!AmP܀b;Ce%ĵ "T* t _mt*܊pN]\Y%  2n5#iڴi)o^/W:RZ ],di{c eiD.-{Q33u_4Q_ر6|DxɮpؖN0Whv`)dVu~EjݟYXБ5ưX7bg]3d֔G"5U`d܈Ra6ػ*zGZBT#j`ruE -6kD1v0 -9nZ="抨N G}AUꍋV`sRF-X󸊱ȹXc8rq*(^0"q e@"-I\Q( [Xl;|$fPejIhUD@S,K1L, -!@Oސch50&0P=@@wULЉ 4eDi9uфh |>GB+q`Y蝅uq|OEW1^wk>{|ۯݿѽu-;d_=bգ8Ęn/ӆZ;Lao~s؝碁0 ^ufpᛒ3xqZtcٹJޅnr Ѝ]YlO݁Zk%` -)$ āxpDc5W)v=`l>dfRbή+%SCˊf+#L=$- M'ܝr{),bIΛ/8KSW(kh1Y$CR ]O~2FžT$KM L(IK50FV[Xn~h' ۨSnHCZI ;G);FFDH=Pc6`䂁@E1PM([3-n#j` s538ؘ<a, 55aqL^512[/.2ВuA&x"d @!HZ ̃4eZ]I= rT( !vC]〄gzիsJv.y/W~|uhH >`qK;Lo,Wzwrw/^ïaִ6C4{tn̓n=u|ϞM*_7˜uBضgqCKmݧCn߫o?^ s://݈wj5i1Ϟ׼^hynZݍ).6ΆI iaqw?^zyr9~auc_<&b#TZhJû?|7;q<[#Rh 2VI G#Aj"䞤[ws>z%T;lyNoOǁd;5Mғ:i~2=|Vg-!xg:Ϡ<7nǷ01a~<ĕL a3a$D N GܑQu{ S"&@hK;st qڪgyrU7s>NzF{xuٵSE -^[ ݉ZRN;QKuzj6p- -[)M"Wy|>Ō\޾کB @sz0i r֦|5_3S@@g6KjX4&ܛUZ=l6RQ j 6l>K ͨՀmq=%63 kFܚ3ZG=8bUXV!Nڃ \6ݱЊˌ5*X#c9n@Fz1 TO73:26$:%N3!DZ,늢U,CB7+ 24fйTP`4GE%$UE 8q04vaoɹ'PT9^Ő@ON}by@.J͍БEح38$ - TĶ+4ܭ2Fche51fN':{ؾi|}"judw^^\bk!5)8mcÛoK:}}{$ ? Bsl-cCC.u֩\B]r]u=}g'lٌ=y?U|xq|" *doB!h%Cau?N)z?X EErt"]jnpQ -]0R6d#Yw9\% 'Z^μIkP2pY*y4&( $2JjC]ƒUReZ: nHGt$=^SJ$2LgVvnjP3+XF77V-VMs B*5 -Ul,])tZ" xnjAȘ::GBYm Z"[&F,sAݎ@``kin5 7DܜJQQW ܁ڌ2Xذ7 'r} hj fTé٠E::5Ch ".`0B<oǦPUoۂ5cDzhՅ0<;h6RۋuO_ʮ]_٤I6MSRr>W,ׇΞ~ZE, & eα+ D&5a%[ސI][91ƀ`Nç=^ۯ޹xr&_AhMf!8Vv8"V?ۯOKVQ$pT6L :ӅPh!Bәu"RˢCgG8{ZZ-Va?4?zuLlovZt z۽6؂ 1&5̧z uq*PWӅ[#E˖+@p2 H!OMP$'+ УqTF^xHLX2].c'iUJN܏楏w^$y39 I6]|SNm# 3Ր@"t|-1,Aa܎C(nЅ#v SR% -鱁FulJ3#1.X=hZPX  S^`AUT&ܲ\ b(6(*Smf$$'<-54F@C@zB܌Fa.X7iJpCGDУn@] ]@H;װ)u7877r\ԨX D]$BubI n (!lAP`"D̀s^VӨ(-<|\j*luiH: *vI9:9x̀];bhz zz]G|~X%&L |FDdbԬ;PAzBU9745Fv?𻛥l⣧Ǐ|~^=l:@)@pdPL]Aٿ_nuXB\Eľ@p {9pP -Г0D(,+ ^Ƒ#am/CZ %PHU8 }7 }d78$7[2ڊL-+4eOУX`l!w`UÚ`i,b4" + ! ݜн֎ڲZ)hw*XŦ 9I\ԅi)G=Hh؇5"NV-R9D8Vp#u6Cjg>(lwΚ&5iRN켋\5 MŅC@3e}95I+LRZ mq}]ƨX -@S(h +R2Aytm1!hQ34FѸ#9  Օ1f0$CUK --k bkѵ uh͙I nюn::UZ(DW+51%%FcBP|*z6ѩw%v!dPf^!Xcxj̝\%`m I%x R .N2Fqboj?H@h9`XQBMRW\C3wfD}},CQ0:*2D_2Z\cU#詒Yg!䎃G4@~K;߆CI0z܄mݽsm=~s^@Vqݴeܦlwwk>Z24D"l8b3}}?Z}$]|z^\K{_ͦlً"b~T; as%?t.3۰tx WJwa;oo~?lnXu^>nܠ(Z&(!zlCPs&D=9AS uLBw?h{8 u׭KP^~Np!1,h9 -388=ZSۆoV ^1+&< $-ڡX5r4tv@[#WUZ+? /^"t*~ -1Ł)& {ע*( jKL"['{ΪRУń(k8Y-AQ̆]4;:33%i^fzkS4,35V:քe$n识 -kM_P'85@(PMb\-ĥ^X !RX6e-alx~/ -O3ao-ƈJFԒ G|<&6<⦲L1@KURxW9 X3$Z4@Z|(fCEЖJT"82DkLxЃ.^Yf#٭qu%bPh1UoQ밉XܠxV G@.u;f< 4.$Z*#/( !!gTDd%E 9gSZg4`pb'r->q!alVr.jM0)Xf掰4dZM{d N dA[`BTWX;G;49fHT+6!hD-@NCprt6CB t ]XCFU f|k|ܭ2Q[Mכrn^7c^R=_*9>˯vZ-;֥@`Pzt`麳u勿^ͷנl;ib^xN3'_rATj%JC1Z.ݧjۿ + OL.]Hw6O?7wݻAZ+'/}<#7kݹ'wtjBɕe4 2U ]8@GOEkݖ&yoaΕ_:bwuI0,u4C. 6, ʢ,hbh6lv+שsZk9xKswwߟ_Mĺvn~yNF`,|&\Zrx_sޓ[gJQG@+҄戫3Re(Tr4w(3n1Q[80(,|퉠%^=L0 $ˌ(NwySIp :P9䔬F:(5 %d ڣfi 0ÈL 5Rq*kJ?]uLJ5 Hct_bG XtS~v-S)kx2 :``~QQ*q -niOǥ*qJ`<˞&O׫w>Re*;ilǴ bS1 =3Bsocw;vpp*֍"H4BDu~K=-/=a{mm7Hy,SU=޽uDT#ۏIMmqO ,͋1'պpqRy1/f mY T_tB8=.wYK_rSM.آ-Q̥usm,Rs0K#P<*k" 0,#ZoۻWϿ9?"߾OHK GrR<D Eyٿ_Ôo -՜Tٽ0B"̹IJ_ !%R4Vr8-xJDR " %HiB -C%H8T`'\*zuж`JLcap')mzr!$8q&\+{gEf'GL*IPYzB,kXov)@m_Kd7]M_֭IFCHx MsE6"4\wSz>^o}xtw\X:jqtSˁ d)'ۆi ˋw\L!@AeGDL3pܐ"6R &5$!thɂLS",[#5#FF'^h9FP~1Ă9tR1@Nޜ4`<L,EnNDk> -쇺;dQnrʐUXISbVbc*LDF`;" i`%0$, #VޡX.!TZvGԻv$M%F]pbFm =aQ58^`<8PОBgؐ$1!LwE 2G3NSI#*xq 9q@DNAd(~?x̯oLsޙS\~Tp>_z] a:f:{ QNw/>~RFNsmmi=?~>~na}.vx ,_橵1|-i9;δ=?BS==/xSngoƇ_AwcVg7wC -% *&=x$ B =P"(eB$[k0Ʉ$M 72z=J;džIYȁ0;:.l`~8a{4e> 4tP\18T -x%V"r*AV6FvIO{5WmVo;elqHĀDة^/+LIQ^aWOF"[ -Q |ͽm F^B -(|$ŷQObyo?x46k[\IIkOx;xna/}^旿 -Kƻ_ 77˿/z:5LG˛ mc+x*i$@yؠw2E 2E3!r>~t{/MN!9/S=p*STN;H"OZ9eRq])K!(3DMif5bS%g ,kHx@ djᦴUy -hFl,7LbF"ǽ!Ⲁ"&71e,hKжsfF8gp4D0ch -h{zc0e(C8 o@ntũkLB:h;z:QKU0GM3!/7T!+d60L&ZBfG< ۣ6:` -v! @(WDN>y)y -ؠ={J)l%@=ESos&4Me')aJ0;A#P70h!!F7q4fP6:_`8xkˀ̙q2ձ4)&ri ]a@_6MǀpncCtA.#Sgte'Lٳy # Ր)FL"O. ߾oqn|-|9(*|ޟ<\>v&*pˍzSāƻy[bƶyPk#Q9buw Ѝ(s6  WkBPl|{\Y3@I; :.<r&ȌXN#%A0F)u/G&iXwT//Y߁̈+j}&ENJ5cPFb:FήNnHԐG&(h -`DK"˻FX"het m(¸x0 _`SSJ{ΐ&c&s@Fa ` {fw`!s#D3$!B[~eJJDMM@"b`&p E،9 3{fz!R=C x 5J -s3⍳N #j6Hu ]iA(W& NXku)yairjO[#ʮ8ۼ͛Q' 8_ƹ-F@ad\/>wg5r]52=)48y 1v#wϧ'to|UO)n~zxq{u WX9iW"߿y<1\WcXC~g؀B\,K>=?-D@ThpNNj5D㕋r7wE+1 =nKO^1[+?ܽܠ $'0LC}~O Yʔä4{+.Q`bD|nrH,D15Θwr.KC2vzHn XVz DY㒅 <QkV7>9`BU AD:8̛ >« !s 2rDDJ -pC2& WpĊdcY< I ##u9{ޝP?Ϗ땧A3"M7JVYRDy30" "1 L5̀ Ρ1GX*rAM`;F+z26*Sil!"-]#UvxVTZF4*\*@䌸) @v[HccaċL@SCXCn DbYn`uK阻AbDޘմ,$0Jڌmo'o/^Ϸu_B=\W -8c b͏| -\ȧħy|7}6vO^bYϯ}TRco]K9T)wϷ9=z߼ I׻G?'S<~~$2Xf*9{lZ$đ#% .% my|{_,ݧ_;i:28N09 ?':ifNK*nsMz#[V)\# 20ڊNBxqE<- lhXȹRA Úd -l3YDWF -؉Ho"$QCpC^SxymaÏ DBO!'U\ -$w%4*Vne2R=t0rʜ5#]['bkvsߌ9[Čy'LoVAw -N=J羐%ex\ 5|C,$Kd,Ċ@!0cs4%װQ:rh/gXvG)c0`"_ 9ps3߁i0FD=0A#P ;m)j}OZ?#_ t$Vڵ` YBPiʔ·):yiJUO4P L) -XB 8v@s#q73\g-a3<+`D`Mx]b; peQD4ºXIX1<pk0;1FT.ƭDܴ=4<*Vl$$n mHikcVSV\0lFtjj@m$RT\1r(r=F:ೇMw>z^J u9q۔sm}^z>A/&λZ\Z79jiv~wׯr]Iy{?_. -ic)a}*?|ҙ@J:+}~+ mrY~_R/g^q>!uQ'dwb@jI }#W]jʒşjO<W31lr9}4oxfRZ1(]Qw?~Yڧɧ>.)4fLE-*t =BgPacE \O;DXG 0r` -tH7 s _o~kr1(q<|_#4l6Rp'EʁA $ +(H (̽yC`cǰhI0!m(!Pe!g﬜!p:.<d) ^.q6XiOMVIc -X;ou蠺v''Gww[3}ahB -0vdX:IbFaLtE3_ qБv{i8M'A,k`)a*#J`pj02XZD(k^Xɬ=>:ƴ^ -\H35s_HxtB2D8l0 Z= ݅8{`u5 šBll&6g7 ->í 3"@Ԇ#&$٪݁$)bFw> g *1PL+Z@G~xRv6`KC$1Wm ÀbyEY%`6"Tj#}XYla Mns옧k=̅JuG^vioϯ?{",C& -OU H8 h}HG]޿Qw^yBD vIL}D/w?>~kznw7i\?m˿{g -Q=_Odg##J_pW\9E -y^X-BF_="幵kr/s~^?~|O=\}>ұ.9Ϫ)M4u=wIUb;l\YrBbN:rI\<b͂ՋW -!YI0DFDedM rr~&@JiDLBA1w F`bH0P0< kXQU[}ʼ:Kf4AG:NJ 'aޗS00 9Zm& -ج]']"p#* %A̒v;zz"X @aSn8Ue*ݔ^]ǃ^9' #`|Ç ˮ&y\^?[vQɼ{ڦOsfm>F|:|쾜=2ߥ=fry}>wPVƒ$~kLNu un֯#_>KSHgMOgXQ2~zR_Z; MGɹ|ְdhS\"af0̹G5sOng=}y9 ww?_c Ÿ2OTGH4o0Fl8SpoVF,4extT)G. XYA}Cr0dkOeW9)Xav\|,uqd=eM8Ѻdv "4 tf6"E8@ fDǑ[ _Q zg!!Fx(75vUgbw45B!Y,ZmyNQثƒpf0$irOdΛ*YA@R!w$DkHgFyd6 0DfkxC-&O$JlHmLa؝ $@fÌ3x7|w%bn*䄁`נ րm4).lgD7hM --TP1Tet=mM>HkV\J>i,WT`Ôa@5q~x| yޏnO{82rÇhSjƵtM,+shu; -{N9N춘P9Lȝ cnGKI\'fѧ?io~l{)n;i~.2rbvk~'%+LJ 'G~ƴfd (4FSgI55 oAtzPwGd')vUiv]q<`ylW& $%QEdSx`:Y -{a,il$c Hep0FҌޕ <;D&.)`3b9e"\F\ :FP4] zP" %wTB.y`g2F;7knVKitw唏ЮnT4ra|cZH=ݜ4T+$KuC`>8@8wɸMk9K,a@Da -Zsh猽DV|΂}P\9skk -.mdT.1Lbڍ P- ļ6tGg8P[*S9ׁI:88;@( 6 #j2\ -`X6T<#{f 3@cd3o[w&ӀDd-Jq$ΕbD䱢CIxp'X͉-`] e2Cf/{lb 4c -td t2츞M8@W@s׆ -6*si cD#8BZg|Ww':n -}Fu7/x=ܧi_^ʃٟu!݋g v}7YV&H$LfO}봻uLmh\28Hq>}~kOUY -)A%tdt`F7%@Tzb.^wx×_? R,MW_|O=ʎO\Af. ġA>~fy:#SvnXuƠ;lWy~?;EMƔgEէ7y*8 r vǧ_N`LXKNlI2Fs@ed>ԓG9Q* -I"##ZT`($Aɻ_CfJw<C'4@& y8IR}c29QA\+:r攇2PG[d0d2|r` D@8 V к3a XK`ܠue dc$Ceb9m *)V2:|Op}yb Jsh/RIhb,2v%Uo$ykCԷC~*3KykdVZ$s$ڹTD,Ax v)0*2Ō|n3x 쁲fkH2!om4a\:dN[\$rr]8ws|)v3K*J%) xL(8;vtC`@ 1 fCk^8;#M@ 3A0b@N7#kڣ)NjHcx2Iw*)@s0Ϧ=̌C&bɇFeo} úTdАǀ]U (Dc`G Lsѡ'6ҾFH` 8`$ ->`y2t [݇]wU<=@ ^r|'}k<5W]Bza;iNǗ~x}?;~C|z,f懿c틠ܞ|})(GdЌzPaB -r՗e=Mfr뻏?NO?4;/|߾;5t{27#kOe!1-v2\q7 R9>̢o~qy< e$W0~nKF 9MS%şKW`D()ve$",d2H)hD7- 9l('N aNJ>0aOL0UH8E @C۠܂+lh%=!Ptwaa؍A4=LX-o8((SՋ`,1l_Z*`B`ye1R!V6,|}f@\=1yLO Slkpr7 -Y`fcqƁEt%./]<snGF8tjܴ0)J]uxmYȀ\eC@'*w7S"yx\iDHҖM2fIhsIfN {A -[W@~4/^ޖO/r9C)ӄ~OQdk_wS@dkC p . ): p-@H+Eht -t9 Z8-0" P8px ($ݐ ($vс9'l J. % W3Qƀ@P3k!-4 //+c9uT!H]"•<|5ؠw@g <)"`!uO)z: =2LF- =㮘zoF F5:6b-m{9z&} RVi2\RxcOXz}IlۧDへzS<!Xl"nsֵ#pHɡ;"=#z4 4lT>p U_%sө"h ˷dm#d2J(!1%D$!9;ulO74Wv >&`BD "LIp,#E` 0;ā`QFx"#tn-j> ]p$ڜ)K2B #߇*]2* ŷ t@C#5щavyNm,|Y8):o <\%^ 7*1E oWj×[se&^S=~~߼.A C}|wzvsI}%'<])p.VCJ{~:}w=/FiWc}'oo}W??7)B[oI!9H@$u`zYn{[La %Ni~v7_<|s}j}Wv}=O":|4 pAT h -SԝQn_}t8a!]8nxA+eBC -?J˖.vn͆sKv@2s -]?{ó}>.y컟>&0ӜƆIw~5㲭d~8̎%,‚ c865@Bܢ`/`cޡSrH`A8꺄H-2_)~"xĜ;^i 8.<*Bqhޕ,DVa" :hי5cgtI@v=ˆ#(IH;Px (`^K$~!8 m8f lAlk'm;uwh $Υ2tJbńɇ`EBRXTu B0@~4,vnp8N ʜ(wPCtyubjRLk %F)i!&tGF{#Ce] 0d }(=; - + F|}c#Qh6$ !zb3a A9-<m`J!H*JW[aNLYʐX̑I<<$L1 r憶va6\9CDrDW(at3qh@]CӶe;I0Ej'9G)sh-nB2o=.@A)eqC،%{1 GR dA2:#K{PhSXg -W,B -)QLu E5 -GeNHHW.c`Ry6d5s`F ׫6IJiZ*;&rFAf"3s@AЂH0dJD -Y.;V4A\;rz!pcuv%r 1]oE,q['C0rKHY 630f M0Fx3P4@ɰo4.}9óg/NS_}Շm!^xĜG?a>N捠?mÑp;%LB\BWw'=/(xLUukS`\)'8LᖗCJ=3>=vק=<l1P) -m -#s-͋g'Wf[slyʈ)[ >(<[b0rak;Qw1^+u>Lv`id^z ;Qw@󡑈@A8D{r 3pBw@t:Pa >6W-(cu(@b`W Vfj-< #raH$!azʍJd@c:=ѡ--yK/;Q@o+"6]>BfNS8լ -(xTI@ GA}#ԧ@ɻ8cHi %v+8CmIH9{T!PF@IDZYEM{k2΃=F6Jv -`}_~W{N;@ЄjH#!60Da"'4ED -HJ'SF8RRFdջ=% -~;7GH9C޷`FiNB+l=p6^ɉ9I rkn'\;DcN(>dk ]9˺\FAwRU}z;:_GLJ}w?i]"`F!F@g(i||*Gׯ[q,ga|#!c}yhy$@fƅ?9WE06u$Ho?d*?"b*?f;??ou9\$uaΊ )m\%}᱀ sVJ e2 L`ᩈzBMZQZʀTmT̀$ (E\}tGTl#;.%| `;{ΨD $m()h}|ɶ]ppAyLG'D8CɕWخuWLD1찓3H>th#BNJhgsg 5gVcp{Pjy'I&.x&4 `)2EN0<{`!]p3WH#\VORFF:KNF;Μ *p5\W&FՒ5l0EB!9oJ$,Z")K -7r'h݀Cx"@*R1 O !0 -00W " B =4>X؀"k%mA8!=L(z1@L}-tq53FBgʇPX- -|d @$BR0P.p%TYny"ٮ2QrFʩ0`<큜,DG)i3-3 Ԯd4q͍q6]ߍƳ7?{ꇟ?<}|O~l:^۸ g/>?:ׇ/zn5{W|{<޿'n+ûUzncMpdAB z@ -Ѭ/c01!BJ#Ë7OL?}j] -B"mmK/_|;~ﳏ>T6t:#l|pk0#B;cSTAC868 TW/MuN]BSM/[#`f@@ -1:l}thcXB-1ה꼏H` K\w?:}X#16G"@)t .F@S]n2q@8bީRUWm:l ctk,J)s:. :7pLO>uJ##&V)P6hAHAÇSF `BA\0LA2IDP3 riߔgw"eλTfFU$J_թ L<ҵBČ!1N :;9-Zw>/`ÝSِI83˜ uR!r޺sc~Ctl8Ae4!M)(؟w?SyVeOSʧɴ۷zzr|h7?ӥ v72'_ԵLJo.y݊t@ȻhHK)SM -Nh* k3[Xh/gF6]W?w˹k.O͢ȥ(%hzx)a͟=/mo~'?y]6!dϣ/S;ayӯBA[YO>/NȼK%Պ5y_=4콫.Yۊef"&Ov 7H5K0aFtAɟ!#!(GAwV - M.%w:trP! m "&J9`j (E.2%H-VOfNm46H /l۹EAbSUgdx9Er] 'ݜn^F}Naow+$E$&bi@pYCtb2N#Gba`ܧ9ͱ6a3FHl%@ hm-mm3k71@ʉrARH0 `@H" %c<t l,"H|! N;E5B[Č!VD(BJ,0;G{r 8NRr(ai1_17 E7J@`  -{QkDhL -5;$Gc`246au}pfƔ`Z>>i\y~p_쿷o_?̳||߿( t/W}U:۟j]|92˫.Ka//>feyكz gaNPvs`"&C@?A kX+23PMX9 R1uD -@@R(q P-Q vK߄6mpsQYCܻN@{ :N)cH44,Bg$hF?V3ŽTCύx@.B9  C ("(8 n}A}a!\@7t!y W&kn!)ښ< q'!&GfBQH̫O;4gGܙ`0q6i@r0yk -6 K{O@swcXhC&WaĝɒKz72e:|}~2r9+e}>^G/s]_߽}zw/_/s>:i/}}W+Ir:]&S_yi 4ڸޯ4w9E_ZDŁd.O4坾}ȯ?#}17ghrAAyrǛ)7Gb^^{ HO?Mu8 ri[^~,_1 -6a}?y 6\Do*u :%݀oG׊2[F{GJyJ-F0&OyN1Wc5inShH>Ε5Agk !kn Xa@ߜ=nx|@be{DѤp!A>@2A&] 0Hd Ym|lrAHS({sˉ0dF|vkB] >ƣ%l&P$e Ryec -b ]J@ 7$n# ;bpR'b3L㆔H܀$3%BHnQXݱON7JX 3(A DC8O#ڶ!C!wn iW\&KgZ#Nqk;bj)C )[e x5>P@NCl%c)!xs .4ϞM//.~Z5/>e?t1@|z?|{V?yEkޱ =6B{?~quz_83P -RD-}gß]T1D@rpphM,gN3C(u)Y0f B/ZEt2S5AQ s,w|klձͫoFGL#yQ03&-(E8 -sL(< 4tjDa-h9 NdjUM88$ -ِ b g*4e1:A -NnʞԶ(`)ԟF@Yݶ^W3E[3nT#Ald0H8a(f᤺{3:~ g@ GCGl3uUM8Ah+)HV20( Z0PPH'hJ  JgWԐz$& r`(;.|46*=;R -t%Zڑ bPQaIږb D}j90sȤ(|Y"i4N)  q@$,@fLV ( g' Hx&;yr H"Vl9q'388Eh5IhcDe D:suLC'!8@ʎZ1[ F):&ćʂ:0QD }38*yH'`/@59гcym e\8a!L0ޔ6>_O_H|c z2v58tw|0J(?|7>}?o~\> 8]| 'XDð߳E`{zI˗Ofѳ?P4П61jumi(kH1;S 4LrFLӔpsQr=Nr|{~HN EWؿ?o:#E݇{c_F>7izFH]}wːe}[OjFY#P^MrW)g2дDZo*3%(0gk b  Fpg#ԩas6{ 84sk3A,A[*D8m IbJ]N>p${:}z?>?_C}ڡ -Ee{Z?/_?4m~s>{O4>{Ö^>c"r''E.@޻Cyezjijfez>ḛնyEn*>̧G?^4//Քiw>xvsu3 8osJ돿w2q?u*GOQo͛^ K,,hZ9 `8k˒hT$ȁ 0'0XԩI0ܛٸPHpSl3 d<撰UW0p5@xAρ"lq W7u g*L*kUmJDڜPm{pzy 5L$.} -OwݷvoBk791m v11~n}4hU<]_#pxWB)Kr̚2lCAwvQnmZRÍJϯțjH*:cg)վJz2RRr, -3)Y0FRSs44u7QMXz\,<,Іv.nn 4AI@S8LHST'oMݛg\Cu$ z=QYrfIɁ LjX0k92@@eOL{0NH (!b +C"@b;#!& -@RD (ԶSN4&4N6Ml/U fMܐ)HYنa43O{l]&es]ɲc[ v i8 HBVafF֌^5##(Ch}i`;??\7\l7ļ?-7'FIe|vu{Ͼ_n7CǭAi9mј}ww8zg5 _X^}4{\Sq4 -g0P0Di1v- -7^]\a[ǖHEc]>zq{%2 Gc]6"~xSCļ{qqŅln-?;rĔ^>{QBC4o6g4lsFYxY*i")X͜a)ƒl@ٛd}(dS0P{ -BC[#%ހN1mNx$cL;B #VE= G& -ЎC(*Uq큎)Å'sP7c -] P;Zhh5:)&HCA֨YLh&Wn*;@Iȓ**ysowO6wu~lMGu"͛-[=k2nuֻG]Om3[9مn0rm$zSbրXjb.yJP5l}e42J&F 7턪|HY' -y/W[G[%uҲn.kg,#9 )ad&1eh4xI\KXҐP8663@h);NHv](( )PW0G @H1:h` DAL.LXC7 oBv\6#m6 C pĨgX*m]6j bvc<({5z  %`@0G)1H4-;y(5KVϋc"v)~}AǮn7ߞ0!R>ҞԊPJy4q )k>wox_ H9Ltp(m[NLB5vʭDyD)ŰCX›cT - - TWcm mj9 }#$n=p{A ha'ۍ*fS8) . ⢮Ja09j<@"yŶFu@L0%ʂ@Fh S٠WN :LlVL: z`%MK Q2:Ч!7c$8 f |˖wEĂ)C٘,&۰8m{1:B`1p zAPPDܓUz+zNX`}`-*,ׅ@ Far3`2H/!SlN8?=qۿڞ·'̾h/~yۯt^zbΗmw_域uenߟI1zJe;'#'%3L|}X5x6W_嫇MYal]8oa}7p?i)Ň졋'Ͼm;A2UWlBr5W/wC{M: N} -$J黿/_=Xh0Im5뚘v{sK*ིmh-` -eHuK}uCFਁ)WK4:G9!..Ap2=XbCV3#;/F {-@o#e U B4q,5ܣ)wn<0$XH$xG hv WBOaI,#nRs"_I T9e$d-G찑sޭ+Y%j͊[CRaJ1Cs~ꍛ8/r PL\ I W4'臩Xic@p0\T3{vOh2 a'@O# `"МF3=-A@c,=ْ;%A&e 0)譹X*eY7DN^{zkn m"da -NF2!2RPH 1{j4 Tг bB耄)p @ T9vUx3%S24.ܕk@Z Υ`okA eYeƒ\ݺ"mQd94P<4!P ;a$Z7hk\ܷ1hw$]r ԱNjgثq]j}L2.o׷~: *u[pvo޾f&LjXGǯoyx};VW0 g|{ɒAֵWM<[[$#r^+G]?A9cɗ~v|;|sBJC~n}е#]7_l{ KiL|q2Jnˋ篮w~̵t3~b|9&z8{̜}`F.vsC:.4yÜ8NqPT"2!{?+ B 25EI>ZfEIĊ?aư5hcI8ZgugH+xT%'32(_q3 $n TQ @=3rB`gCP`% -s^N=v+J_)@* -ҘzgR G3D\NDݛ'A\Z&P)|b7J(T-e`%Ws“3n[O@f - `ef9㫗}n7='/docxéXq ޚmIpa?^[ -iȒKD 4+%$Ô/w?K iS}ݹ=$̿x~oOߟgwACW]5.˔8u%'/=aW/^:to˯'O_sl.[z%f XڪH`@;&7' -#zBI(8ZF/1s`jNY<2 -PIR`B]w]K!0@PwaŅ7I1)P +o^Dpe뀉KjH`yYδ9HuPl %JBԃ'pR2Hj k@m6ήs30@ -4zު=.Z1I(Hb]B4xuLy7EQZY ;X;P`֟noƏ!\v&y4Ys.Ьz}=\'aw\Ї5 N'{r,(\VAPIPHoQQlqH: g-Gs³4,!f1,2bi`?2`]a6n)z}8=x#ɘ]~잽?mKcOnO}m^83@;h0ŇϏ,S j MjݬȞN"y'ye]} /~ﶊ'Up~?_Mdj!ؼa}L)fO$ESJ B*(Sĭ%n&KD١w~sX)erUaI])bB,[_y  !!Gw(#sBAsjk a(EaVpNY:yeu @(>M d\w-\"t)h5XP.S`H(# PFDDDXC"@CA" - --j Z 4"sN8I -y<>Ł!+x0Udڼ7;crw v/HIrq(k*>^&hCJivpGz:#`>EXFE7C$Ktw>gy F۷r]O_jfՋϟv޴AAOig~x=-O}z{[\|O}=Wmpȴ˜ka -S -<ƻ*ӏrq=ҷ'zg|Sv<խ?ӻmO-o_ܷM}Юty/_][~P#x~_^ C-,t~iVAb }x燋6y<^8qw*Xw[V>)۷QngW*s?he?ºNv:_Ntҗ8$~ZQÛ|n8/Қ%\q4~];n~Rdw۷߾1$TYq4[C,ȿF=ls]ޱv-,:0`H+Df.NiX&q@h:@ds]\g DF=0}ձ -}iU; ) .5ړ >_C`cSf - ͡5'+МB - -#Bw@PusR- - --LD*eؖ<:;lik秵r)$T4On6$SU7rJDVECIy ̊]v@q˘&m(Mi׻z~o'z*p#*-B[k_nTod1V){SVy ^t|w#xß߹|m?=|{yꋋ+~o?hOͷǫ)NT[H짃oWtʸ?ogo[[g|O~?Ip)W}wf"fB(/j ^w.Ի] 2Ŗu,@KL$ @ B{lAAM},):Sq]p ~ dd:fcb!a4 3UȘs!$4%3]0tՍ M>&4ֈg`B thtz@[D9|@2f im ӻ Zq?1U ,cǁYJq .6 D%"zXZ)e[ݓq;E -kHS8qo~o>QƩD0C$cj褃HI)%P '#\]3Fp4p<qA)!aG@B -@&l@h=Hf0{NH+)Q@@PC@q@#'*AADdrsZCdVB$a|U],Ef G% } e3K6b(F$2[gMº-ol-9ݔˋr|WO_LTpN DX^eg˪7+$gW~z14N|w}@q8HeY$GrjΈV+tOY"L`PJ.Pk@CaPFt6 1T|Ν y ݔQ` 0B(]Ms<6l2S)#)ynI C̘ H Ci4@@`%aF ;)b Y$xU(niU2[&n6Ҿk?QZ*-Oy2:֕@^4榏x $erO'\/vy-.ߗkwAC)9 -Bx. &ґ݋"Poe qbi{q$ 5}t\VRFÉ`cD \d&lQP.n -cS{ z1P%{P'C`IƒY iB@p=]8@b@A c68TbVI: dmU!0!X*` ]4l]|H!40&2y"೮C!Ü<8D C#'*P,㪨K>@+t ƱVapr}|Oi<Ût^EL(}U֥Nan_<qڽ} ̽:pZ]A.gK~8Ȼ ~|z:U8z_jm7z P_bTv|18]ˋonrk]}!b$ؿ-zXEzs q}V;ĭBy Q!ɾj*@3spCHtq@8Gȓ,[InFX4 ,H{7@N0 $` A@ @_yX`A@; -P1Y( XaC J# #u.>xeAPl=Ɯ+D5 āʸn$D@ &Ir ';!]XuIe -va>a̾ -[dBt̞?B}˺i?YPPnOQz,Ft8j=f&@ }T>N4n~._gN{[7R=g0\M$YAuY?Ub$N۷=>8]iN60yl/'ۧ79Zk]22'&S.Uƹ@ӴٷпX#B =iҘxo_~#sb(""FqRb0Lw{:q!aLNBv|7ﶇ4V2Tѣef2a2&\ PXՔt81yKA:JgAfp - ] }u xb M v_G Zpb.=Z 9>QP0^*sd%Ӻ:;!A='g`puXW:o=f-+s> Ԉ4:vUazBZ'ζ!dzP]cM[RPuE Y~Y6- q{qgn@46ΣV-IK<ͻ5H<0oԴ.}˺3#9nwڀ$E &쾛F%juE'Bt@+pD)Jhbg-f#;9J%yݙ\ p! JF^A]i$މ҉AzU6l+t䉁؜F56L$Aށ,`0 ,A(X*| $DLd#:Et֩@֍W5j]3cI@p gc,RƢQ]z#.`ArFd@K㞶JdaݑF hrz9YvSg`C`uG30)+&<__~y_~b@0@U&4iJj7|3z<\r!9Otk-J9k, ǹ.p? {=߿^en2%A 0tأhʠiT rح6#8xss짯YBFZN:~?ymׇ!Qr}Q=m_>7jL+N  ΰ:344q:RơD 59k`h'I+ cťoHJl'L!HN-AY#Wd!pȀ B`3]c ]\u$$L@R1lA+<-7ɄBz1|z۷O>˺vE6H) %t6I{X*,sFM7~gǶR\ -€̝cL 3E*.Z3!Y -oypF>hP#&mU6UJҭ,Z!6KItLʵ" 2 "m+;@Ik< - {AG ֳ c&U=,wj!` ҁ*8b -V4!Xf(a2" ayWucEo1c %ؑ1SD#huEw{||k;t=LXK4\>[Oۡny3TJG>LSIspy9|iq~;2|<쇡B:?`P'׭=lM7u;sz_"7ՁRLBͫ.:La=);Rۯmp~>I??im)*b,D r -~ÞP7r4.CT,g OPrN1T?[}4A$v44콌eI\J,Ჶx!bezEL4/ԃ :vWB@N.H[Pt5tAxx`Gr +r@A6%$!Up$:o5QP"LK •(9eZOZnw;*VΏ[:>}׷=wGܽI'{Ƚa>(QaY,4* ԻoQݻqӧfDfԵFbBU5*PW̄q#$@)a -G tQ"{(Pikf6vq\ɵ8~7i:>^f`fI姣~庿꫾=C^NjN7XE4棧Y%Ro?</#s$G/:AGC H™ҋi>Fs*Y-,T!G 84IS  - - 2`(! (wN%bDǣt纽AJ,+ޜo;Y 3\vޙpc - g4ډ,sX6ʞJ#Pt^co5`6d=iԵY\ONVZf $2F.bu>TەvF؉ %jY01j<{b@0b:xr겐( (rEk&J+׋QV!`0?\UaT\ 0KDVcI&VV+ )98ͤ:҉q*H\ @KP ~C#&e@CX9R@T}4ZT0#V#BF&ˍCōM,Ca -Jk\f0tj$tf\uZ?_^ߵ?Qc-)e^ae{9ϩ_ߵt_>/Cxq[7_l#rTO?}vkC ŨExZ_ߝ?moP 2EI`fO{# -N,ן?yMnQ,11rL0SH_=$ȝ4E1H7w7 - e$ݜj!s(lt@R%=* :tiaDcN#\d;| M|3$7ⲯ.9yc~楍6.|חYtnOo~?s%C;^e 8}Hn~o?o~fr5A'?5?&.N4m?rnꭟ.OOw;#9L4t}\̇-lkPN\>|EI3c >1A/>ChD=X9ܧ -׍.'(@]'w[f]# uwHQtnIch.f6DC̰U|frw"Ix^t2AcɈ\;E1a 6D! :A$B,sy"fG'7`T Dn$S pDY=: p 0q3(U '*a[4g+>Bp4QicT2DZ}c,HsKJi KtOA`}:#,w)h&Ѧ}e&#ܸ ?(p ߩEC;'Ylv2gg)@PهJb7#cvt^{{><=DۣyB6ݟtOsNU{z~{1<ݾJa/^g|VdiBp׷2_~/t>&FvQs|K OgW?2Uы)Df[moo毿ohN{嬴l_79ūo[^ޜSMfv[C{KXe|~OV# *Q**޼2QPN N̜hK\>幎B e^}59Eg&])i{#jNɺPM%@D=ڹ'TtG5a['̆=_Lj/cJ[o}{ v\8&Ɣr@DiPk֭ *Hal%gf3zgLi$lXt楈Jâd۵q|˪HAB3a7F)!c*IBp`CuJGw!*9F"mO{.Wf1J-~r[R'p3G-JHz*K9b"8Aa.A/HA - 8pD!E @s4Q ʈ\bphD@3MY e 9LwVZ[i:B61#!ҞSiuKi" "Co:٠nH0 ]Qr{KRT(>zY־82?_|sz~?o/<=~[{ΓQ]/}ϯ.w>ugbm/ތyN7}m -BO?{^oz{ח_}LڬmN?/a0R/3v^$/|7ŻY5/Gu 9gGK S}Ƕ[VbGQRٶo'r|:61mK[ Fk@L)F#d~A#‡e%I>~4k*ޟ%*'ں[|~s̓{oCW'I^MyD~X DԈReVϷW߳yFv"D'*ChUĞPđM,عH5 &= - .I0$Q«5dYG+R:Z 8$ssq8︯, ^wdFQ;\Hcdtf -\3ɸBBBB(`,;[SN 1SBDY#"9A(epiK@DItd#1 6F <K:f( 6NA.t1IH|CJy{EvC.>路5 ixG9y[ acB aV3.y0ӺjIL80ׯC.ž\?g-Tיb +>~j-8x%Ƈ?.iǧyèϾl`{m*u}nO͍pN|_x!}{g?B[[?L̄gD{X}+AS"(BA<'?p}W/~?;h,ar95Ky>09/O~pvew'dp_Z-mHAhb'D%MonYk62]<+&o?}l:O;s!r =396/I vO;$A րD0T 98U`jt DWOqP.>Dû DEPF)4SZ$A,sF v'$48`:\Aj^56AM8Pڬnni4;bH3?+4z<Ç+fwf bww?o|ͻ7O?Olxm[Ns=5Oa}zJ=xwfmDA2G+k^͟W&QȻӫ|g?W__:orrN@49-t͡)q9/e>VM$'Df{NBDcGZP=EOSt4ÉMiԊ{Jѧmo;#" HmdbnFm3"#93SPD5R6CܔX!l`&à߽n,ٜKps!GH,BQn*lANd! 1ȳ㐧]kt@R8A%yL(.4ܜDC8PU62Su-׶^O#Ǧ fᜈ:q(ۄg'7D -bL`fF -jĨ&NDl9[#8~YAD/#̑FP& 83RpcOkL{m,+`1D4OZm֣`EstъvpS' -U%# 2.4ܙ]5U*eF3::i Z#1ȅ[k@8Q70Ut<˙d !^u %juJ~np׶)L`i;vELH9vH^ؙPw-UX+V-c9|3/w|8ʧ'/ )M4A`#RA_yRЁtvWCB -=C]ƹɲ{,:l>YD¸šrHOg~?O>l5eqӍ>|CKo?^w&@ŨˡOY:\G b }|88&/h-zZ^OoxD<-ss~lߧ|eo盛R2O:WO~7}E)crnh/Gosgܵ4W_-?n^I<ɗ0/Oǖcĩ1)6&,>r"˾I&Hs<噕x:FvCEOЫ ΉLN!%!s7湻'p!`Fi6ov<0?1If)1_{L _\&`!VOK0DzW EJ ,d}i $=,2Dx H7GRxr9|82)a4o#ECݜ(lN^aG=|60Qxb͎fúxZ( mZXɍ-x|JM1Ce4iiYmEZZp?yJMEXCnÃKfuJ!} E Qos_H;iX QÂSjע9IaB'vqq1"ɢRY&Iz QvA'0IQc#]b)2H1;`vGOFA(H(iLAR' ey7" -$ttD4~uI|HAL(#B0NU`L jmnzͯ&4/<V<>qy:L|釷/^>kE|򛛻r?'pzÿ|XKfV7¥= %09p{O| @AȌXC9(S0#1*,H,h\5ܣBCQŕ.4y5aC. )@1wPPpk q,<NIL>k&|0 /0R"mO0q3=eoa..8̙KVNIrɇ+Daꉜ;ȣz`x:)tv*%ȽEm2MܓF]d' q'G 9JVh#8ivpֹKppZL&J%\EKހ 896Kjw߃[SpW24KX#MsCcރkp0L ,ps`*h33͠ë[ G`pPL, @!l':BoF:n(TX #"D:W½eeL hJK%ŝFLN{ăF1'n=2;dR:GL;9CR6|4 -u*{4+:ή {i}L~yq8}bo0Hvr:/icU9)󋟜W<믟u34p:$G(QqxǛcXy>'n_kyɝ7z4>>W9F7?Z!YNE[-Û7;19 a㎟Ӌ:grY^LyO oo%Mʄi:|C}߽<8F\ۧ|~G/$n}ݻo%Qٔ'ݝ|za܄z9mmi^z:a'*n{} eWq;rPywq?9rYh9ۼ=w~˨K_/ں_g?=]1a6hii5sD-EЁV"Ӿ{L'8F\"P$B3pDˁDqH==Jg͋Uga#ڸGxom,ٳ\d!! yu2ф9EXtC݃Ĭ@[aW\AFX.`p>򼐏( D#La\YR )yq=, ')UjXF1 V!%J;CcX1YTKgb2Z_{ݳDHT^>w41(hJSQxL@#q j`9HH1(AAp-$ :(As4 -wp:E6P8xD )u>4 6 *֞yR4$Yyhx) %4@C.gO92ǀSJo$@25129AR98Ȅ)Xĥ$aq6ȩm^ܔS}~~sK!#l!|ȇ/ֽT߼EJw ʅnnxJ*͢Ln@#kGzzHE߿)i~_W_ӱh*OɔCt;ܜ2eyyoiS>uھZjE9W?[Xb%Qo~?z{Z]%'' WdACەV;mW^c7>_ގaп{{ }aK[/+qBaIGFvb[y0d{8:WWH'.4;FX냀џÄp#{'x ]֣Ul"s֌P:cOQX3H1@E*HY2w`b - ݜ|'>5ZaBi81 Fӯ^-Pc 7>$,(hK@DݡsIT4GQ(ZW^)sy*mQtzu3K]٧ؕ!#)!4XUQQWwV=u'3ǕV"m-A04M{H{h$G*Iخn,Dl`p⩈l${ e+p|u$A4EX`&Z[ 1HSxDHL %X9H  -RD -;"!N0l[ '".Da9@} Ѩp* - -הEKAtnL"II'aD)9bOAO4* IwuTl -D gJXc0F$hMr=KPeX;Wt*cr<ڇ3/S0c,QѶ<>:W~٪]ɕy?&2Ҩ[Mu^|6$Mm>eRc_li7anl緿%ˋ?_ë̃sN7F -͟Cޯ>{ϗa˓?Z*4H[ݲ<ڿMe1e>ӗ~S -rGclz6dP%A܍`8U"s֨ɘM-n46v $ pڼt4YSbs[, "%NS ('p8C4P"JAnԝ2,`V@yXR]rJ$pb+P%0Rp -8;@+a` ;0`sTAq"!JqDVP&Y I$9{k>Bw$&cwUAP^!l#1ü[$ -!¾ޥ8#@%$3h GJc: %]s6b{\{)kb9_zӼ%{'<7ʬjO^o_gwo~x颞;G*M!%N;z騇t;^2?_8P׏m2Ouy۞rr\4=e[}zỏo?F}l۵oozَl?8~t_ҦHQУޗ(S%<9ۥ|r} -:,7_~]?_g -%]uSf0حj׋d&FHS*c}Ke !~83E$wn14L!`np67*|jk/ikė䣢k L*%sGfZjf W -E](%wܨ[HufS|L{p* 0e?rd"8#!{[/I! oŁ(0݂Ȃ62cK4Xc g8Q#G8J!.C#"$L#pEpyPF#$lSSɇ{{,sJ}*31F$먣;-YxYrrJn^CX{{touI>/6"\wbC& ` *CUƓۑtDLaDt(k+1c Z2*ڱ7fW|w.wG__qJ%^Q߽K!Eu0oD+ˇn}wiW/?$ ̇65LjŇt_iXzy҂X˛01%zݻڣg$v82ڛKo ?ۓƸՙ.>=]gۇ>8Ocn_|}7q[xZYvu9s 4N4iИخTǿn]{KFѺf}}?KNݙ<\S' "Ɋ$0n{pQoͶ瘔O<)1Jrk*X8:gAc*& >1B# \XY n8nD CF pGT.pқpWnƀQ( BcN¬Q4خ\ak3mID:S"vS[Od»+EcD:] m;7$Aj^) -F#ԗ@k-?==55>Ψם@fFݴ.)4:wwǣՋlKEݳRD>Hi3CF&/ޜ{oF3 QToOGgӸpd$&)XlՍ0Dx>0=6B©&$ȉ)h-ƅR +x Βܕ0ԛy" N:j%*fzHaAQJPpBT$ 4pN4F21 ʈN -!@p'.'`Y` -[f`E -QY 1x^6ySo ̞-F !Kj`ɰ;U׉ -c`=|XGhx,̍& =wD_WF ,l*#\3Zo[-y^-S!ȬcJCL/m:}vKL%ϋu;6_vs8Oݏ>UՑe}n.#KJ%/rHwo~U\u:~4,s&s_/>u}BX߼t JLtwK|Ү_}rOًOnǷ:컵6X?xZ|wyy{<+wg_֫.rYDɆ_bFo\*S -^b7G*ˤ8i>ZӤV%O*\lh鐨WΎ9Uzx -:)l'nikZ" -" n#c.J`qo(3elT qS\UxgAİv4GOU .Aå3 Ɉ,1Xi"1"v,ػ\P&2aI37:h \—q&'ʼn~M%s4p:o÷4x&_z679D3ia^{yHcX -)Dؠ>8%֫ QPznnHEIrlrIE}d?#Xy3C^#wޭcz3u,HΤw;@2XCF`!;Qjĕ4H%b -<| -G*1LAR *$+EboDA!UwRXS&!;$Ni݄zvXJ0WGLVW{dϝD.p eb2Iď$n40:u*A3SBRb'!r.L;$Laf,<2 -o/Xez仭Z^}vz* } U#7o޾ )hr=mzhwן ߾]46z-_aŏ~i훯g_OwAE߼]O~rW>t=3(s)cV .(#j?g8-OTr|?~{B3n!ޕ͆>?o0)kkdS⨕5Eֶ|#F㤇Ds kXzht>^@߯ÃxKD>=F  Ώ5:U NCoLD -@\svV<Ӝܟ1 sxklLA6XWcT -X Gc -,ѯښ)9ND6 -p1 j{w) -/A#D 茶0D٩li4XEh2)9>\&/k8<ў򺎽m)べu6 -srֱ.S.Q[;F<&M\TEV]G"f|<3Ӥ!96ssX& -2͎̀DXkt.a(!eh\xPwBtO(QQMK&nd~u~y珲}P,]_Grܽ~5-c>n{W|.J)2/Eu$)O +p.qi;<˶Y{t/]uU}u?kޮVrbɏ>d-<ܐ:P1&"spXx}竿ȷG }`V9o_ :Ȼi^fj+ģarspikO E,v`*`2k)3oլ]WB¨AQ#h إpedRYHw w -Xk' )N f`]r T+;SKFk>$86و+ޞF>8*M{,{ g%*lAm@nbL ^dɁ!I:pgb{FINaDDP+|X/~?xZ$H!OYP}3'j{-L)d:loLQ\VQ ; Vg8:{^t~m!)*[ކ!G Hܒrg&ƒGSX#i:7=9LǾD Vzc3ؽHtDv0U`wɖ!:$D={kꔏ- 31I#س"`2L@C3 -`u "H -A$ D<% -'@$Sld|&jAD1?oys}hkLradP1gn(i=m6fa) -z,"䎀L-&H@sXe HYu Ew0h{fC8e7#ue8Wo#2ί^Lw컯{+ӘbO - Gs}ӷyzq>rf`1%-iy|xR'P`i>9Zf~{o_?}F4 -HFw:<շ?Gz{X}{O>/|:?yÛ7r )f>t.S]WKNy:0}")=Fܭ,r>Tsuvm!Lsä:n])_5[ -uoO1VFam8՜P?&'sqB DDKnNm%kj 7 -Azu2%fGlyh ϣ735>yZAF 2y(14"SAdvnoQk'dr~'kA;Ɏ;g ^LyM|5 cvگj Sѹi$"wGP7H6 }<=Psjq9M)&&8 2MiZ䠇%Gip!́Im `<զ9=)PAs̑د)ųFLkSSu4H=lk'Vp,im#I9A"R)T"@@wI(jU]g2IQ x9danݦ\wF4EJs  -C"\ Ipfʇ4BQDoXWƾ4x$ y406$ 521 -(df{I8HL>1 m'MRn&>h&90V9$QG$A6ud.¡ )SRpU) -=m0c\l+ S8JNR`W o@L)gr1Q#djfƄ &hT8F>T%W:QmH xEP^=&OI}Gp3$Ss JSDQ11uVaj`(Jc^/]D/2FhDZyg_{OZn/6rip'zwOrY2n['ѯOy9?8$>T%ar۶뗰u:on^.wwöB(c)??.ep\vV -s6.7hJ:bI_vJA2/?^m}ty}OwίQi9-K^uk?횗cpfC' -|eZGo}KaRN}9P,i -{ԽYJJDzuK0"b ߰>Cdi`j A0 ¼P4%JljkȬ3=|Z+"zϟhrA Tu]ñ>224dT/.+fGL]|COBF*zu!d.O ѡ/HҝYb@8›1E 09b: k3uD_8^w2owTnZ!*@5l3 fwsh3ؖḅU} o~h0' p}QQS.8BKߍh#,zs\2ZЧ,[L_֜3qaåz2"C!>fQ?9VH)BdLJkS$ ¢Z dyB#Eu!tO*С j  x愉Ջ.d8PC7X^60#;)2L  -ANB٫ cDsD@@T  I)  x - ")@ Yv$@$kPВuFJn5MH 44 [* -HB%U;DH`IVk(c*ptrWLx Y B p`[k伭Fc!P %O/?nA;єyLS;BַZ&p߼ُq3FQ.EPN 3IW oImqsE=oZ/e<\Tn]VKmm_ηϿpzo^zYꗧs}8Tt觫 UW/۲ՀeHayzCBәSG$HȘ-Q\B3'w( P+nb` @(D PQ_(;xahv "+b]0[0 Rvw)Q+;DN+>Jnp^XkOT-' , dWGuө.eJS&3~r* LL)QĜI00qs.鴬bޱ- -W%k[ZHn%7"0/1abaJ%cY81;$+1V#F=vdl]7dFW"_PRpT(d(e -F`EF=P] :n (Cv/iuƝcƄ%XhNͩ`lJHA Hh P6E( -b {J#0E`#4hD -XkVUK[v&v[Uq3X_b+8P^7wvY̢!SfwOYTndzK뾁!M=g֞>5CGWPX"f5zvnKlE t8/gOp87)w Qg_$.åatRo_|v Coʎ?%Mٗ/_u7;ȟT_s+Ku{ħ_Khvg9#IFptjˈNik֋mH8(s7.%qDet}lkPC #ϗow߼%eǠ1 Oox{~W'ϾZ?j/7y5:=NWW~9aN2P?5??v/Z4δ{9Ï^_n~/9)"'cжLSM#1[;UK?ڽ60l>\SNjZQ9Ӗh߮gU 82sN$q-#n N"/vwl̫G&&uYKEP^@] e!D  E "B|dͽn%#.D:8ER P@w,h7 $yZ^.(M0TJBI HD** -vG f0B'୶0Mv=(K#SƊ,pT  -!b6"g9꒘״IrSy7RL^k]74?|5CoML2ngdk}uw_n1r<vQ㦰Zx - e>xnגnm4_޿+SvYv{_gO#oev8ǕONϾׇ韔W$m)y<(=֜F:Yot~@-MsͧnHe<|wx?o'QJ($yCj\v>ʔ |>-)qh}8XGzk`(<%qdT"2W+1w΃<5% -&wR€it%rJvˉ\=?S'N*X*DAC5FEt@,}qfZ_yU]c+e㊻o2eqqPA0ҺQ6ߔa -#CJ͡vZ?vidn]^wׇ?naOr9k)4N0 *O߾{ ucGI-Q2+V$n41Vh}C fz6JFʶ)$Ӓc\fХW'ukk^fi4{d# ,S:26&vS,uژJoXhȡ -eEp#C+2)h#OfFX˜@5(@BH]9uճq#W?4nmjӟݍW T==zEH=?χ/dJ‡?>wO%ɥd(9oNq7qܵOPvd[mMBƥfZ KWbj-`Pѱ]u{%R>捇9@P49h XK8 Y0`@T Ů($l0djYU ֥ݨ|z!YF(B ޑ/`!>[LJ`VPOH%%bٽw}0Op -Y - z0d߀\ݶ>vʴƤm#A`/=EFHDV\ZV@R1a?'Ɔ45wHڶq~{wD++~]+Sqy+cԧ v ]D3#0Vjx]COP"4DN##!=raEq0k I;hJ6(2I;&>nΪLuińq$`g(c0D[Q"vAqFGCT#@̠[ށ(Hș="!0BN>@ԠaC pDʰ%o6R7׺zh*\`ٶ)tdJxڪx'$+yL"#ЀV.du`ZGx-f6jZ' zËwg^~8xr.<0Nq~uo/$ʀQsJ(rMi®LT}5zx2ȝE0 5"J6G)b*:PϘs7S@?I5 -= PrKYϐ{U'O8{iW'! {ݵ`lWz_}J%㍨`W/חK9_1ѵأ[ ܰ{lH1așӶlJq;6ܞ>=2d4@g{J FldLҕA]2`c]T]+ > UoVخ7Xr'z(TH +GPE9uc.On90:393@ B)#:z A;  AO{Z5@ L#P"ѐ$& 9; @B9Ɛ*kfFDG\kC!-ƑE}DX# -rM$lu+b$n'pC1ZaVbg_O_~^Ͽ9T7'۵xtox<]}x4AAҶca2aG].R:?;\3ִ{OpMDc?G l(ozٰuJ߼?>z^h^.O/n&'oh-}ʃ8_pu2׾G?_o{߇g7/?A7_ҰO4z[]8G z/a%ъnjL&a-Ev;" %(=,M -]s 4 +8Mn<Ʋm9o -Y`- bN!q6)̱=_DJhCdЄʌeaN"q anl"Fb0ƀnkP -PD@@0Iɽ lD,B@B0qhy4#RB(P  @F F (& *0օ- -1VJL|xϟ?78SN i4?_ӺjV7|L J.j5.la׶'HDmY;%qW~r==S2n i979ei_t$&9\? t}zt*ogG2Rۙ j?p?۵?/uqawvs_o?J =xPe_"XV8pz=L3lHV=zdcjh1sf$H+vpb{Z ^?*-#Ҙ7Z3[@XFݚM8z[#-ή3A{*( '<\Ѷֳi>$%2 (`  -a,G0衅2T \(1CGF2p6o`:9a_Ky R_p6dHؼigp0!RM\D:d+ٺ( BAͳ"9Ƥ1pdd p@7 Ѐnyݳ||^@Ȑ1Jj[p]sZ%,2!&+,7c_ov_eOy|v/=RΫZ- ύ ӴJS?<=oËہk_y8t/?˝?| njݼ-pJB-rGϖ0MZI<#"iѢ*Ev](eDT(dHcծFՃT4N@tՠd`F #8`&R «*AAnc0v었BEIhc받W#ga04J؊V^7 V @tNPjpҼ!xGqA,_ .3@.n!,*i*z[F鲼߼&1LmS ]Vh""`v"r $,(^m9tJH {cv%L$# j<|ؿ|\(W%kuO0}J98I5da"UDo8%"ֈ@@"SQh}3rc&C8nMj7g#ƚi*"gd=9^m@;6:TOxlf 9gX:0#pw#Vq&wA4Jxpdn1"{`@)pw螏ydJC@ 2bd= ->Bt#"b8Rt$nip)`j)G %<,Q{Di̇v{O ǁ12;$NvCѝ -=@" 9.8  #R+Lu@2O!5 % YXj_ܿ^7WgFb1y(ϒNe^ENT}n-qJ.k |};bL]ħXҼqgm6rKcAaۜGG|w/?ۿCyNpƔ$ɣe,<گo?o#O*|>}χ*_vI*`C&h RNjζLrW",.܃vObw˅{ -2Ȃ$$^1[,.0ڹNrsP$hkAV1um9)K y0:uC0NҰUl*P:xh2XHR봻p@4%.ч9=aG]7XO(@ϡ5d7d *I~8-vdn}ik'hO6h) -r,=`xűdOȳHZH򺄂aȲya$1cI#( , W240,=, ub =p&( =a F٧-F94%ᦴ~B KNcJŶĞ8͙ydHn1(  /jDLzS!h!s Hb2̰5!A yf'AXCBHܛC#0hH^4 f`5"{4f΄5" bGp-@D@u9г'j=TpGA9eT! uB)]VVyy8 eGL;ܷ룬]+A`tkmں޷Jޗ֫A@4/nCO \FȆCDDs>@oɷkddN',@\"EB@Gp+SӀ[!Ng֍B R^n[mSR`|oo8Vޭ>MH98HC/j^xXD$HɃ(Hf3ʰvqLeLTvҫEbpH\‰Hl'Hyv9Oy>HRHuS !, noH 28= -8Aadi0N ɄMmDMB9 QjTh$lBirn]͠3`R J=p] R  DP@ӍA `6n^)]nݽmݔ>mI$s*Y8^+K˧m> j!qǡQGMx.u"2Pfa -RH9` XguU]O~բBG$ަ?i_; "҆ryx 0_1? Nܮ}lo+Ȑ<1L|<Gb>ܽ|}w{㻻|iSmk_ïo2}~/mk_>Ч/Eu. 4@MCS[ֹ_`ÿ[nŋ|ez1>~3^?qiFN)zVq,eʒ @0"x\8`ԬGƌں8z\ -hs- C:eum ALZg$u)Wǂ| K5GF4Uy8ռAIb@W v, -hh5 lUF+9tf JSsQ6sx< s R3cKpx{}_5Wx>-vQWU4-YP6ZzϕI[K10SK xHI@r7/y  zCɖC - C`.T[՚e;us2FK=#xovdXK`%ly ƽZ'א]Q qFD@hQ&bqL^2PcXZZQ0`,Īyy < #v:$md༒DD \dNmvbE*܍@)"dD: :Fw@ "$19@3" -‚<"  A -QΨKDP(QΔܒGHC@mnطctsdX;eNfj+:̱m +0K ?Iqi -IxL.v|~~姛򇿿tq[}#X24?^{D]qxh|X~1{=>r00rB[O~i:?mǻq?E6zן=iGg_/oKGRw])tQïn>;@_u>|<}Z*pn+t|ߝ8SIA&l}B|}rQG?7BY[c2Ro8<'/?^·q}ۿ_o[w87m[3uF)?nDz:n)"`4alƒ7Fv6-Jf8I’ 櫥HBks@ۈAׅ"!-Q.Z풽VzsU@(YܴMGDh v!qFi2`Ohh0x;Ap{`b ]Hrp % -AbZ3uY ֵoNyShFWS/}WVJGdV_}w~t-օt2”Tr k+8 =TH& E0 -6 `Vȉ%l ѨoYu29aX)n\@52%c5++*>z : ,tqƒL@ !<\)_@HQ[n)A\*8n5u5 Aѱg zD AB BG0 - <0Y D@4OH(8(vp@5`K}E[A-R[0Cְ0L}JNmYRUtS'3z,.2JpƦMa C@ 1: )< T7erЌ,'E޷y)tHC`<2wo qᴓlyxTv>a/7)ӵ"w73 ̑snnd-Ah̯+ .8j(m?]~ql7/҈]N87OMgxsb8{=Xa{ïp>)==|Tv?@4\Fuލ°ۿ|/u{|=-LWzON_/ۧ*.wyv27x取g|~~zo߼)!("1P$ FU(IĜЈRXR%D vݶy)=Dm;uٲҠnҗpAUcHa [wMr[6 .o`٨\{okSv:ŶEVU8hdUxSC3xi!7.['" L %%bL0bɒ0Xaxchm}mi[m9^e[\Zru>y^>O#O kfk߶o/j\Rj)UkEܛiG*/)`k- ="rof3M.Hh䔈0zu,~@` 1S'rِ ȀlaR. -:{<24Cpnj-F4G6 CSA"K1+1!p 9(9Cl,kaD'2hz$0!!.L0d&`B*% R.S Vfz `oI#a${ Q2G $Zݤ/Ȅi{v:m - *[DEXa\P8{ d[)8yWVNd͢zZh`x}2]o%1HP%9 w߶_:ˎHE<-͇Ǜ%ZaO?w݇knū㪠qB7A_<?On.oK=. 'v,vYmnRm#|~poGӽ]{/$Z@XƶID/x91eyzhpRd{2[UsTfW8O'7[l!;ۺlǺv+nhښZnAEA {t3dj,4 -1pc TS}杉-{.49ѰN #8H9_|*b3%5ٜ -P1MDT3CL7ق{s2 hcPk` S/5j^ A)#R(8e -0dp DBdt@'&JK֠E; CLP-ZEop2d #{g#O#}8/ʋyd]0[VĤ$0ܴCO(,-خ[= *(cbv 1q>]hs/[kܱ㋉D;eV! 6|<$'XN>N48=0 +3prO~u06kƍ.j*$؞44 %Rd3##6眯{6N?0-Yr!ԭxuH%Nޜ뒶dTnDX!=J*ɘ9zO St=N<7*fԅ&,Y4n= -Cu,OHPz(I\x$KDGNB  -Lf`2HrMƌȌt y#ZEHAS%.+ > 3h!R@2t#$M&ɔ>4fXb&%)#rze?| (ebVQ׌Iޱtbd- 62)]6偉"t!bNeu. @xȦD 8U6Cԏ?~xm#ɯO 6t3vp3Pb Ɯa{6]ʕΛ>}'=˳};Ow?/Oo~Hl =zZg?OoW?y~O㧏/{i ?8o}4U~f}S~/]rty~?ר̴pa'kfAJ LjDJ)mqT$V4U&inZ.G'+SRj3Jl!f+T;(&H3ӆ}S7M({;k[,Me;#$₂2hЉ<Ñ;0KamFј-l^u9s#2 =n)Ô")Lɺ<3U)F= QT~Bzf]%R|o:C.7֍ydS7Wɔp¬beqI94RSՈz;qZv `CP;}`͹MEȉ2g$WG?6$CH^Z$ dD}B=7M ,%kD#h-1Y99DA|88}9MEAR*(Dl~@Bi*ddY nl*>$yO  rpuId&omaOfB*6{0Bp-P`'j1K%2kH%>$p݉V(`I ʖgD"VE:IB3D\|Ef*K$d(Dd޽+VOJqͩE -K +uکr\0'kbeaF1( "|;B -[OmQ ZS'1BI0O? S&$^ ebJk-i9SkVQU3P~H*_е3g|[TS86S/tw߽wMPL3RuSk #r\N?y|Prƌidoo?կKv/z/I#wgdowy}-3Pvt/N^[~0}yws=۟%?_mg%ܯ]hqdCzv}Ǭ{>sNQʠ.᳛wnqEq1:˥_zm0y9GwìUn7Δ&\nznqqd)AnwYŘkx)4xq9$gH3T$Mb%cM-RN\7Pygaum纶ծߖ<<"n\|L}9q{͔G|~&_=oRf I]CkaYœ[#xmU8LB´BDkM IzVk_ZVp6t ZDGJqe`;ψd*<(5I}h Le27FjqSQsd1V`/82܄`e.I6Y1dy8cY H<:!c(&̄Ip!Gg&NI-S@ OBᔶÝDP^  - a%b"&!&g#'EK ÈaƸt\p1:ّnDHF ;L8IcvG{f?6 -LzIc'GR^hV$@s'')h?$[n ƘU)+P)絏7mmR*qۉL?-(b^sߏ0ieo6 -5! Jsi(~e"hӷB\],&}w/|_>,~șY43cގ{WᯰMO{^rQ<}Çad'yq[3y7~]X9}ϗЕ0Ï9UDX'-7Mn0BH7j+sڽc1pRʜMh),Hr^<2$1 '1SVI 규UE[H:PaNurn~/"O#R$I<%uL$88.@PMq+M8m1GӘ9;=Ȉ+>4 ~(\JyUHi}rbЊXDWޘ FT3#۹K䌲iaw?~U G]nłKT#ԓjJCBJJ)Z:<(!<̔HےdM'YF_q7qY@2TDdFb}S鵸c ;_"J[-ԄI9bdiDA" K0\̨₤iz%c6T=e2UT)=KV,М>D),Ns& u<nNot3*'Ug#9N˺7G孮 r/}혷Ǿߧ}ܾi??YDa㭔$>EOw?~? >ujm] \_{*o:f6>/gnwΣjk,xɭB|Dn vi:k+ú 9M+mMTԍAbFq!yJ!@a/REr A2_l޽@p%+Sn;a=xdlvn!c=kIXEA}Q>BVa6C`9d]SO~ҩQ :#Oš§d"qT^WJ9W֚YIk't^$i2gTq(Fu-/ ,K"zD#ʂ4RɭjZOkI)LT9q):S-k RO2yT>$񙃨'/KjG=!G0/Z4A,>3%Jf!sI3gr) .ILε;ʘ8h[<;%YFeu'ΩRrqtB.1-fa9c u6䜻o)ÈaBAS*4* `0 v*AQ3Ґw G+w>p ̵d*]! + -b@0Y8q0$䜙`pgN]~q=4R-ɋ$ҦTDY˩Jq[!xN+z:LJFOJt&9iKĪ_%c")]Q{bDU$'naUKʨzPuٙmWX+Gۿ^X&Źn=wW^F'sFZC9&,cv9_7J`Mrsr-NCa}wj~~dFRը-~׷濷tvw?׿yHwt2 UI!"^ZW[xՠz7!c~WPY@*F%&,,Ը=uq̍3;1}x=fAg-38֩%;mQ{aUo7>n6S1p%P1i8-R/kjXV`7LqXDP0K Ũ#U]ke*}z.#HACԝ`a^i9ͅ *A(tfPB@ O m~.C~1.D -)w -/ cZVbס6V7o$l6{p-恍'ֶm)KX@T#&f6>$Yu^52LM }NFTKCky_{\xYfT8zzY\i\A™# bɌ&9fsJ0x$䍗5B˙!ZZ -X( mqw}~"{RCEw"l' -k)N#Pf^N -n%ɰ{H5*SUR.bS[Hc^:ղ,e%) R*ke*)H]+iTӎR(oc74ٖ8=gQ=QwaBΩ79 -W f8,i֔3@crjp+X6+0gږH§5r2ƓvLP9pFf4xbe^qYeCd(*gzf4D &@r SeD$l, ' s7ya!B0"HB`x=IKwH+k4NR7<) >-4Ltel4ebA,e$OK]UaeieF1S;I:V׭mE%_/-d(H{ƺeܮImLN_=Gz6-_~qOqjPm8x4ο]oW%C+ #JLD73^BbQƋPjg+eFBʦH^ O+ {v2ȌZ䐂clT" S~݅dH‹$q8S1Rދ>sd: -^G}01yw;*Zc.YQޏi13aT8/WKnUaR[rmsdAXd6.K:z)P `)oNW?sx[9V -?jǧT oionuO>JVV|^ߎB<]?-O֣qqc[7AѤ2-V-AˑasW1)h4eqw 9c,Qbz8U-e¤>t!z؄ϝVm2:g)+'Ќp{x9A@sӌu#X(%}Zph-]NS=e D-k[LuH%Yj0Uf 6Zi -,7r9 Ÿʏ+ے"7R/yqJ(sXX5Â$Dz0!ɩ (&dri[Ģ .?~*ŒgJVQ -A2HN%J$ݯ snqzrM<a{( y8iNnG-1.EeFq0"4@c{2c4b$l͎2Ќ.\`^cfT39yԘLf7.GRb -͑aڽFQ6!VUb͢)BA)'d<1'DALD$(0W"#1C%8#x i8=LrEu93\TK稈!5"hA#mx1HrQs[JYH+mr Uٍ͊8&ӤlD #ɝsD@ LqC];䑐i -evDY],*4s&Ph*yH[zURۭ|z#[ۧϗp&WQc2J^D[Έ`~uϾRJKE62Rwoߞs/v[D;wXβ Os,YE2=bg/e]|A?yfo}9']V.k˟nlhg*uq+dAR)YfIdn$nb#BL i%VjTFXJ\\ o5an!KZL16=x{Xu@vKbBalDA|> N95ŒS~4/]╈rj=e¬{XaJkԯl0>2k!FhEbĒҰ0AV.0ruKmSw= ӧ=!TJEɴݨR[H;5JDz,Q -NJbY3 aQK˪D,JtDz<`<1aDyƔ>)eZh~)3Dw bRm>_BJR!dB'¤0JH -%Y<"nCc bɝH%VLD`č8("a (n+ɂt"2 BIL(IFőpauWwBZBnZJ\{P#]0!$\BkFح_bڜeVU-3P[HL̞ʄᥠ*ăRwqMr~kWX=GAhrx?c`n{~'q:/_翿}oOWzݍYQjS(VK"|8)Qm{tWÀD\Ѫ'^Z%d9˰n:Jdд7ȐzAfOio/p?J)Z˼%wPq\G 냕J[hY7*ZfrfG>صzqG"ɢQ(IJn2Xe4XHJm͏I4ROsʵ(*\/(18Fא,ԕ֧~\A6X+%аDߘ«1H/Y9z̢ D8]!ӕӳ=V+զCH$O14'z[4Ã=R c6 c^݉u]rR=U2[2)J $$R $(W$aПȌ4"OZ3&a0B9m%s)΄;܉{z'!j?zSO4wBfܜw'J7Gb&(ad: |M^ T+da( \rRJ,%Qp~d!G%@=1}DaL 2E˛QWqAd,J^ܾ?`deo{I -31@2'.d~ s1UxmAcR]~1".c]բW~o?s|~"v7||~z/|\)ֿ_/ -_d}Y֭[__~u}_\ݿ^/'/~F<>wD ꜺEuP PSiyqX؜52pnt82d9BRZY$e6T|&pۯqn@mNkY5i/ASV!`*ko*6Zz[c=b,pcxEV> -&@ -4'4+qp-!8#h ~UD1c-#B LTfd*-ب//txv )6vu='9y`[ھ WO̶0KםRH Zzce ҍO]_w/cR1z2Hed2y䩉sJWr~T\fR*li*9je㜔b[e2QtNr*9FSIQ6`O\W(N? -dM0IR AC8fҚH8@Q P1qrRf% 2"^ &(JhV=1d;qCZDQna9l5YI JmM -1붵kz>) $pMWeNك $)LL62Z+l\`.NRUOر[JjAAy%OÇp#z-jۇϷ9ᇽoKв:/ݤU -|EM궿}'[9C MX/_m>mXmX楏o/M.W)'9Ƕ=lSчnaP~ޅcͻ͟}~U9~J_5~z( $C`1ӹ.ɒ\SsV{jyĕ塒c՜}dLctwdJkAtQy53=߯3[ RdWVz@z,w}i?w|NԪsDEccRO*IWbJ9@ -.Z%UX+V8ʼxErE -B!G. U2>K\gF;7TO˒- ΤHkVK n1{fV }ݺݦ(/R"IJ 20Aw`ON f '%eB)98293(^ < DcRLeɈ@W{ 2cGf"сņH|RYmz|ާYy t$4;X'kEXV\+gNT2J[\QOdg*"mwXf@&q$% -X@P{{K}/>N:s mHqݢ=xn8"hENӲ8ce)clY#R8P}O>k',*-׸^kn&׶azW_SSb"Ϸ(LtLpVb۶S*!OK Y}=kͷc/fkZn>f@O -,ӜЖb`9 y˺md U0c^oL%kme=QR1{랩h`tG@u# f˺<{"Ѝ&*[NIBO{\f,l)z-^f11sdw bKD`)lDa!%a^4WGr#ٍbvsr]C~&̱J/1fx1 (HDYm5TnN2c*%6tL`|ZIPBGc/OH}8fjcIL -T`f袢IaKZ9’9ytOݦ̣tiv eJ;J$砸 !Teۂ(EA -P8` -X<3sdtB$% VgqlD*R8 "DP,sg -vB+̐(=s6/}Y6YO9it[M"3]J1jl.*m_`YvOY2.e5t"^O6> -OxeWt\l{ ԚmTFL  xfDx1KqI2bSVPE@Va `KdHft -$uZ!%& &R-wHPpe2[ -ʠjIԲ<>?>d9WڈS SNB#0pB@$ 2V&"h Iդ7B֑Tnr20GOPFyDW?1v~/^~7o  -ǴiI$Zwfe)BFL˩Yey B|*r,$)+R;ZQc -q r$+ Yd@i#pq{̓H;-w?~l݂̱$|~P8ܾ~|oo}we!p=} #8 Idjv>ޏ׾O_~ST,ƺ,( 3'A{ AHfv}}e~|/bt<F -EtP Id6ե0zμ^ =Ua™:+ѻLɈkjE ;yC4r*,2aϲ=Cvw`>II3L1Sm헗ۧifs _lk[_|ZV?ӥjEǽmxTmMa:K:Y]Xzst~O_?\>X-|}w?+ea+y\Z;-X?:|>_LjJ]\#QdV%Lya b4Ct@ 9TqvJbZDH9'ϋ.EBYpT/Vx栠I xѰEgWܽD?2z 7 cNji<`dʧ[k o?q }^UP1Zw_٢V9mEr$+]/x` "p&<LOpK鳣m\螷itkGs`SRu#/-cG[uyhG)Fc,e]w>]SxZt]z㔺.X]]>9|"~в\@XnZ~GĴ{s):nֈi"aSs]S1c&,dc䱻<7\ĩ - "g#QYʱ -X0%ZOZ%ﱪJ"BݩT%Pe3-ާ0$( `#ΤB 3e׸;&Bg˩A )4BI3#-P -BDA MkDDށl# ![*$,8x\<:^~z~>a|>w>ju$ۃ3 *$!qX[f<.;1?:oUc}8(+)D^ޏ"r 8xZQIK9G֏67_7q(k>_~wdZ=-Q%Ǣ_?V}/~dݘLPE2!8̢O.%[l0Rb,Y}貭ͮqf`x$Go"3uS kKwUrGaOH,(.Er078+y4ɣ Ʒjg&.䙼Dy|FMNuq0l3AsD;ӼvZi>' -Kt[0nUҔ -.Li:{ =!@&DKeB8&Mrd)_!tGs b -r8|*G 8q??~x?~ ߈=͌THv*L"Ǥ}ne씫c]Ϣ}X=v+"X$C2xvdHrWͺN\0JQzB8{M\=FD!%jC~_Rq{_?;=5>:W/{I=1jqSsxͼݎBLyٞ.? d fz3S.uyX!Eg.q4P-z-鈽/q[ޝt!2ï~)lϝocK;;*mmH/w\8?fP1W1!anGR҃u"%bP#3#[}Y[tfʜm-ow}2eϞa&T -3}TTfdLڬT,;DR3ͽ,mlIq *^un4ĩ0ؔEDqI δdcHi+2bD}<-D4ٙ`"z;0*=F2Zʔgfa w=,KcWJy$m=({HRGKWD=K[ҚoqX >>m!r;|:X --"3UJ{a'ф%4>GiYBUMGZ(1IfVNBnYYĻTwRH]5mtm>Ls* - hk-tu^SO#E+K8ff-wr2QO!hr 8D= -Q W#}Y`Y~X)-C(uh8lS)Ok(┅2@0#k`:Dyht<BY0`(D$0w׌-F S:>uk6^ï^n?br!;@eQYki - poݡ6c( ʵՌBG.ÀD#+"'&( GR0] -( {<{-OZ~L'Oϗsd^r`#OjsYvLFҤ=mst_ v@ce/ϥ oXmޟ>A}~g~p,biB˪* 뇪9wYOS|p|h~}{Y=:K ۝+#e61ko4{)!V4,F\Q+%G<Ӷl P=J%ҊPGԺ>p]e +rEik}nVqtniyʂmۧZOCrP6JX$ONEOEUk}^]FԵq(r)c& RM,e?dȝ5&LrbTCaUfGs\()XSy9l;>r~W,V(UT|N_(|xT0E35y9=2#|3&dֹ %D2 o[$ƌ,n8;4 [V>?|S7*mfk\@2nw+a1x>y;]U6fmcbgUmH&1|/^N&&>V,ME#bg76 dH&j<#2ᲖH\J LtA:2a$ fHgL`2JO"5 -dM8Rr'#l=/wn^?}oh~.u>&{R$N,n U`gUD'hzj9+'oOu8=nv%]$wbOw[*p`Z%OL;[p0^SP@);*,B7'[~K)9"&/O=1ո/OA>D*Zπ+~6ټ%z+K yl4SVșr>޸~پX_A<,LJnDf3ַonem! K֧_6Ge~-7?y^Xy7//ǭ*t:G&U"pFJ!Ls;㝽~>slN13 gEe[yUcE=RR"<'K䪋։xmj]vҢiSρs}ޒ} A/6q߿,i#Js>}eeZuTC bH3-5Y髖[S7M;?3ir+6y%}.yyJ if(9U;i.$(*1S' G66lͰ, ^:5ErC̑,m s^JyΧ9kr>t3K*ᩏ!ٴ4({T0e]cZ+iGeբc?XpI.e\JBc)" k 8Az.-'3}q065܎}X$'viT"eCK۫w̢~^mziǬ&1JsaI8nHk2s Sb=4fQ%)9j(G8tN0qrT]'%L1dZDw5Ï=u?~a|v~%cبQJcO*dX6}a w L! *BA ->;;! .Y[|Mm4Y!id tr-~~5ݲa2w63  2HW@I?Mw2x%"@И>~ϭ*3_y U;,x -Ȇ+W֒$Ə.>OϞOw?eTxxpyIBמO$6Zz<{| LpMi[Kv U`:ݰ͈RH"Z_ü7B:7Hn(4\úƗ=\VƔOww@|w7chW͟\/q;DMY?y?gg_/M -*dDu` - -"'k03hY͐yIf:LDƄn-zB:eN΃ge8i3cۘm5܌tILJ.%[a^ GGOdZR s4m@h{ą͔[ڞD~h^jUL&(c'^igV51X00ZCBn:x,߻_!*u4D~x:婙`7;:-` d.1n &SmɈ7D,fRv8Y]Å4&o`,Zk9d4Mt14HhWȌ.V5輓#"Ci2ABD1v7:qI.IQ"}s@TΜZG_7IgɨU9CneΠ'k%#1z3"~(ܠ.' E0Tǐ5<Z3( Ѐ3QH2"9PG3T){` CJ10zpl@ |j[RmPIOC;ۇw;8uͩwvo[{ E\C %1Ix_~ማNv")'!'EJ H9E’I*< Uav $ 9%f*"cJ1AgĀ<!XS\܂XɳڽCXӼm轘tv>{ࣿswxpQٟtZCsJ]u2 0ʐBQ3fNLIsPt sJݐ68Q{ѧ)4輪铿Л??:v~tzjwv|7w/~=1ևyf^lzI;^PC_uxY݄Q\$1 #X#{Ovs>[o R>?i+%'߄+HZ:B^{WBڡ-g]y1=yZc4n(7v6}>|g <ߟG<"ȣ^_:0:3 #0 gRLxb01豺R{?_p`ZCxxS|rQ2a_)z^.9,ok]4xC Ͻ4EX׿qZKywqHtюo9+ۦח<xs wm{k5R~rn_†I:ν`-, ʀhJ3f< C"p=B,1]rQ]]>>/; LD(3ՕkMJ1T^ t&O֏k;qH]]?~uRNxgM7v]8Ű!洜&ZqhGf 7ESG[HJjA#cڣG"Nf*׹=cXjp`C'ʀѠ&!ǂXt= !({8igfi7iܲ$#VL^)+A P@OJAA ̭ġJ|=ܽ?~xwߞڱݺ̤SfiA6;P,֞oxSFR]06bXB],nj4e)KpVHD[ƊVZIWpP$?1el<{H&C9#QbXVeŦŧwm6zw8ž_>^W'&q׋ݴ? -Ѱ%jlցUoIE 0Oݟ1MFuV-{K1a/{r;lL,)m|ywsjk2lvϮ͈I<^w^ZchMԷ^?I~rΛ)CږzMg7:]-'?-"1:2; Eo-9a<+\+ܬa]p@'F -+Z݉p"Af(P&I%5IN\SBڨvI`0灐v0 mĀl%u404BmЕF$s6GOGw -1{G*F@a:ѽ:{*Q9e6 b?Jr!1CHӆE ;2&wr<%ngq~z0U0wcb6+3zJ`<0fQˈ!2 J\ 4)$s7z_K/ TI(40HnrĢ9 ^AӀϮϟ#o0%GDBiں! -ɴcB=  @ a%Ԩ[ x踠I(@[ wHANhݖ(!Gk{ʘâLjp wFi A.Mӣ2rF@@@T@[C݁\!-Z(D H 0P W5s k`Mj?7V=b⁉<"ff*pW| ȋ3ZwOL)("S6FT%*!l9"(w2#Z3 "hlp H1\R 64 - Q#2xN5րh ]=YD.?h~WK}ަR.Sz_Oүӟw? 4XS) ɢi$պ8 CK"_вpWKF q1 pxy|w3?Oeq=}xq㉇CG{65 d?S`|շ#cOz8plkXFJS_hZ9avDDgol?7hkܳ<}>c%ЀjJez -owmɪS> {fDؚS8kP1KJDM\C aL0 Xo9cނu"zPP0rd(292:nH{+G.Gq3Z9}b(yxr6h̐ Htq&;Dhtsk72udm]pH2P(Pʖ0 "!8@h(5pH9'meckkؘVkB-:fahŁ UpF1i>ao{?Ԑ6Y3{ΙDbr7GANTJ}+yk[]i: cZr68'D`ĸ8+&=m#gQ*E,*E_Csر6ĭl-"y"-t eEQݜ4|͔201RJv64, c#s@"laÚ k}x=?wodT"LҊ5 3f J/Yn]?c" cXe6 #4rQs>C &.мRG(hAny1jbENr!$,|Ռ(3fʍ(m-4 H޳nϧ?wm0jt}6w.?_9 I )%olBؠ[-D -]3\^_Iz6Hj|.k/}LSڞ~#W./ϱip4_|co~O;͵'n=-̛wRwӋ_xs;?H8hssp?'W%ˇAq^090M@ %]9Avwfs+mMЅ[$*" 4jwRdHByyh``VAA% s[h[L@ `6phC.M);01%v0e؁)zdz/A[2p#AsJXnWGa>C)Ecv 1.1 { ki~Dp -1!i"esr4 AD,N ю,l/.꩔w˧g=Lm@"GuvXn;T|݂QI%24%_ۑӐNbl}. -Kǡħ_>~Gv:=}koO3 >&'A$!W%[,Pf,䑼.Dj́< YٺZx-$ZUPԺ&)Hcm̼'ד=TF|t þpFf  @ 02U;AE#V{Xs]؏C?<Nsojf k4Le ,cQh(iCVaȣg}ڌIP3m Xc&L[&T"\za?;ˑ6ޖu MgK)8 w 9 ^SH j¨̭d -"#~񈿺kw6|{t;'~7#|}Q{n-z<:aͼv%4v9M6NG?Lٖ8vѼ//8/7nڜ;3*gWG\6/ζhۇoſ<~8Rdd)VϷt]Oy(u5/Yk[+P|8xfw^~JbULz@{k}bOi= -#_yV=GWrJ*dM IQWI,$qb@%E5̩2a7`gl3H=&T9N+D SDŽ荒"`BFݔ:&p' nL@*! $(d (! :У D$-E4"!{HMi|*ۏgdC;> ۪a*+S"0pf1$PbJ90LC_C5@rĦi1(6B{a6N:?zU;{E͌maIHC e48pF - T$ v#Cu1ֹZVgaw0W,F u1PYQqU{xNV;v rx%BFڢ/F%D@@_f HQ{S7CU=ˇ߿/]_pۂhYP #.pSG"'fIz4όFߕiCL}A)ddFBQ42̀P1 "j@@6ñ M[\Hz7,BIѣN:p'Vi!]gKXP{B>`K7a1z(X]\·$Tȡ'TC,7)@crJF@$]%4 &ɻ:0' I Q6Ao8Ӳ487{O1? :rF*0PաIf -@ ̙"Ti<DD) -@ -`H,dձ+v&`Q<]??tu5кS2x4ӺQ0<',Ry.*ba7\Fy̓p=,'X;yn֣z?˭A0Xx*yKfhF L^݋SX<_RZą%SCd(N%:"u0a%nku7xg2fy*-#l:U޺)a[Yb{~U'F - 'd@@B)9G`@G' D%#5y?4KVau=~7޿^oJR܋8jB)M)Ӑ9I̤H =! D^ Hd)됸L܉H0䆒pzjf Ѽ Ý4ŕ%a1D,@j:{Bh 8FFQs=ؿp;һ~c؏ -Qpc>z;_r?o҃Far[` %]n+O)WpMkˡYZ-Dt?~j#Z[PvBRv^>v;H0PȩfLHhQ3454Xxޖ~tǼmՇu]ׇ6vkop~<_VI<%^&L,٧e ]8ov*ɵl[_Ok'?|MMe7gzxJ!iήiv c(|(ݕ-&3jCkF2mz;`E 8`u$xJY9uɬKK)M[`b}njF 99Xɉ#FJݙsM!IHޕv w eB,V+wɏ`y#dptt/[l$r`k=x=aaB"IQ0S*vA D'0d*N=d0  7"jsd}i~]փs$hBs8 "#Li!C"ލJfߜ.66֚izXUn?4?4w|3ں998@5Ba_r;n޾{0iIv_xpW͍B[[GΞ}r_nL/wϞ !ּp!ӎK*S>yY;yb>_^~~Ϟ/>V;q8tZuHN{8}-of\gێ9wV_CgK.R\x:nZDuA_NY8onn1jm Rr{5!wD M0Rj$a f $ep3 -G#$0Be3/h@Gq'n4U"nA q̝ dSabnf#LF 2.f+N5 õBYZ@vgD.{u5v!<gȈ]A03 V1C0)M){pA^sDa p) ` [mIyr;(.Z[pp4"v`A> e:ۘa3C]0zp ͮ$dF977w'8ΞW<Öj;'D `S&)z -iq qleA;CSlHÈ(z'DnԼ!c$!!u(YR\ `G轧A%4v pu -gȉ;bƿ0b )P",@'s XM&"Z5F=QYkiH@CfgI7Xe떂Nd rN wYmY4|ٲ.Ѫ{X_7O|~|~~9o+y@]; -1DKR%{扆2n?&| UBP͝ a~W7~:]?SF"٘tx/<R]W`F4̪?;&.q]>_|x_{5}t{# Kh̵V-bbl܏[A&TD(U3vL,&%ym+ NbjI Ø@- [)<:@Y FފK*8NiBPM"m`tvl5`BFC@G27@L]8 2 ri5S2T" -|^=gB #wˊ=F@d)MVݭ0_Do^}]#PoXTl˰)/Qt)6:T= /><~yÎqyh^l=zoᅢ\}Cʓzum5o. -Ip9Y=яp-O޿Yߟ}^3_v#0@kӭeGk |ˋR[O#"KA%[P24tJ19$*tGGN626ѻBj S!VICavCĘ ǮjhF䆜YRB獀S쉣n.%)w#Y9sp!uI#&Cԓ 0#% Ay"Y'1ډc9PH3m*q%5,"2 tN5X!S0z tN 1Rφ/dOL wlwDۻ:>ڊh*Dͭ[!BS6&҈,+QDɜBuTG_~UbDV4e){hd@P L’c[S ֈ DU5@K-NXP"a4pd4WL J@ ‰xF)|M[kfSXM >|8$3:KDGT@'w$L D0 !!t2s=}Y|{`^l}uXpV&HB\;6K%(0 Q$80hՙ#4.;kX7-CZC}ܟ]eL}{}j ˴OM⑶Wxeu. -շMg~{ڭmcT22xc :uf#B{!3Y -#& ICF']Ppt#$)ÞuAtiaз;֜е4PdӁlbh Fm]8'e,gt~68e d 3č; DhP=z8x[]K7ww/7o֯~oofRRNy+#$(CbbDFLTNj&@(1v/a ]raC -ny A >?=afq(̑a -kFlCLsNҶY@p," - -y!D!d P0-{WUOis|_}@w dD9"d=0wBq -Z}񰹔|V;0lzlsѧ/勏i(}/~S*e[}8^:,-mSo4!泟l:UU4L[&}qz}߼?,l/O<3$@] 1ea/֜BxMe_oo/_~ɰ x:Hqx N͘V+ $dΉ|; ҂#{S 2Y 8]8 xqIV59ݤ`n_|տ˗DǕyυ1_LSDdAݴ#{T$P i섘%(< XmHBD4rG-d3P3!y|Lxz W3⵫HJA iq_$m ʐsNeԉ3;dBLM bhO>hw?:_./?28%-209P@5fw/6c ϧӸ.]|ٗOϞ>G_pX燯?fgY}sj͛mHӉ(nc+Sۋ/><<^|y>0أdצk nfɣЧa?MϞ^I}Z+Xӟ۫B۩ɣoL~??^_y/^N;det*+1&IL؂Ƅi:ߧH=` CQ3iXGd LܺA&lsL%SZ+ 'm3qFȐiq;nE - 1{c΂M Ԗ5fڍ0 x!\ ;ED #ӃqMHrJ)T5Pe_'G09 Cg'D @^4ݦ;t"PkY~WW߿qx~/W$$YZÿA7 A}>ݬu!`Hȅ0Ix%$!09Kυ3I8 p|VYn ;a'eֲ\xƑn,kDZ<-DJ`agxՂ.0 ha*Q)#dRN,0 Kf_ h -Z te3zcGb_'A"D L0&6TPg@)TdAPN";cC8s""y #H=9"[t@ ȑ#$u 2lT<";ۺ& $ )ݰ7?Y "i5< s;8?9޾BI-J;˰RM2A̦(8EH \DY؁@(RAbr u9eZ1Ž92PH}*g=`dpRXO 6I+9(cvu϶OSDaH hq2 "5%Gk -N7M{77{9>#Ά|uβZRrn$)ș2'jP.Q!2b? #d"([rV" L Q7^]y$4n10 -G\$'pŒSx8 Yt -RD7h@a;h7jczO϶O)fqa p@ \JReʐEҼ.7n_/~{xa i߾~@ve%4 ko=;~G_^|g{X&w2^7~_7L,'d G'DZ3tqmő \U7|GkOwųA߾V Ôw/|W4~0,dFH}}~۽)۔Cѝ -9֌1Zc%#L L3)by<@ЕQhW`]8.21~)J?6QΉ~XηAEC(E7& <ңt$B;838cv00 m6LĔL}@` -LBx Ll)G$FjnYbF`-`::``-S`LD+bFeiӓ-~;-s6S6s eeLPJp@=(#'!D4(pz3ww7m.ZumϟaÄ( 1&" @'*iGCĉ+DZ/Dc5p4_w+&q`neDBdBu *`@!d-T͠V -5%8Ř)'&AR0ϒ79FPoh@@$b_NXeCGôߞ}柽x>楻/alh0 WafhMI<v^oǻymSo}w凵i; Oy],zfff:҅oq=O~/~d7oOt9s~/2c]k`RY3bCH.83ZNلj_X˺%py>骰b} ׇֻ'<_Q{du>}ͯOvuJ)Y}1x~V] -n\F." i0˴KB"$ͽs+ð%gINnI "!1'"AR3\ Y' ٭5$;Y+4i4e,iwF I EXDqupL` Tvyz57PO~i~Hiܞrs5fKL;QD&K*+[*#fY#$Njsjֳ91xs=9y3ӥա4?L/}zx<>>ކPI|՟~j7߿,R F_1YG t}Ų?/+_зoeJ6lhxO3%䜂ϻAٓϙv:IS3Hѧ[9 9ӆ EkA%֙Upw_ngQ-OJs-v:2n*s\2baD3ԥ^׺&%k&!g%ҤJCi((jC@}430!9}LyL^'IDטm@ r#$pN P R4pBA iO#8S 3(f ?>^lDJӔk`/J9yJIՌt> dTbʯNM2}kY 䳘 S9sȁ$|PJC Bb%usp$$)2-Jq&r9 1rvq -@Fbj`HKfM:fbsJ}t90><}vNJ9i3wJsDхj[v4>:*wII>8"<½}',%M0Da6gb'kSY)&N#JcXhq[ώ(By3VEt:Mpw8]IGIkدAٕev۷n}q4_Ogo ܧgw,ͣm\c9ݕ$mh7 -R.4l[,3 -!$V[fL`AxݒO$iݓɤV·0tD2fώ"ɾ/OG[tёukO]o>BX1~QviJlY } )' @#J(Z`rKGa )QE^<+ M!΢dU: r<)(fTCgpnљXa 'ApEdD "d(I'WG%vRtGbBYpJLJd~=xu5ڶw2&d uyjwOUg(÷mH:@:LDa;0D)ܑ\b~ZdQBj lPDC)!AȾ{fX>d9Ν!A&6Q%ą!{89.9ݳճRؘŃĠ(\2"brøcmomoW# -wY9i5xYh}XĪ)<ٻ)q@,ѷb$ZҔQsʋ,>ZH0TJB(H:Zpi UF5wMq>)IPylAAwGW3[]6~=/lmmLQ|v nOq_ҴlNN^t iђ$՗_Xߎ~۶m[1ɢ)B&At8vV0 49O %E$NuzcC~?;~1c~|||3z~\"w-cHIS,hV. 4t9`PH)Bԡ($Edf |X{hQ?{γ_$|`RN:H(.tLlvtx8ZJ{*FLN5xwšQ0W֨05F" 65sJ%!`3%Ge!5l;%I"ՐDGA( -GgHg83 lLeEx84*EٹS3 !2!.9b8(@؂48g|.޾6nnHh4WIyiJ%K`|x#!MR= +'9gB3".Ó=H(܌Y:{Ђւܐy xEA67JIY^f.H&DI#6B%^屼%1'&=:LL I-Fa>:ڟnOۻ{eqw)1, JW -wRy4'ɔNw&wN#hmO |8}th4s_S#ZrpY5`gf8YHHe/&&͈c)_[lO{'ʰrw^%`*$GdI2UX#Eⱚ;{X"2$acdJ>9FS_>7߾E\_ɫ=}kV4um^#0Ei EK~ M1rǜvS !/Q+I*m4xm9mOwrĪS䔞|K"][=LRT<磶֧UG2^ro4mmOӑ4%zdL/1-S:4-4/HoÎgwՑ2}Zö -d=GPh'?+ stKL "lBw0#)24*%Mɷ[xxvn;,PK.Y 6h׉{˜y9gwGV;2nclCD$Tי0?{.iwA% @9` K$jiPnĚy0 -Sr{*54(`g!DvRg[x~6)r8My0%9H.G!_}?>ضPQJ^y: Σp29T s3k8"̂CQKe| -N37!w6fJn^& Ƣou7P%YZ>{>=9vT'eF4|ǽ2n -81B,Rgg&CL%WLSl39ELlH$GW U"1S Աk$1TDrEGLZ̑@ FAL2a05 tuĉ0ݓH,{0<\1J00ؾWul6 OYer}o(`l-vt_>|ǟ#75$hL{T=D8T5&s(Ƀ-ԓ9+(,eW91 3'nМ"(vD&b"IԀ`Sf)9)fD'9|qX^aB F b8z {^"6VWw﯏dz||7Ν||("KyRBsFQb wH)>SN3k#u#UbВer"ǔ|Ηz Æ#R.єr8xBY -WaD6NĠ%P8&b&1X$]ŐxhB$) !e"D$b8q&~p'Bo/aMu*T5 G6l9b#=՛)õ:sw91^cvu4p_+)U֟F8IyAИ^Rz췏zaSW+EͶw^Ni* nW #M;w=;Sy˛]ʽ淿WϾO{Hjh{vr,1!QNumTO Y'"I'kVyÜ4F\61 -B0`(h&m-᧣9gKEoVې| W".-Qݹ٨G^wӁ%5c)LFpXB3HYd>0b!H9$7Y58䂴и֘;Q0!d1:qD~pEF`s8t4DF$i -o 1Q 28I <փ0P",^`D 0-R5Yk4jIl=ǭu{mAq sJJ^1ݑQ,([[7n  SDtކPKYr`sDՃ a )]x'&hj"3S$1OIwO 4%{e9p=A4Nst|ХH=!D"h A(90ޓ}>l[u~n\LVt/yI#T\Q9T]LEGD)HikPݍښSV'^tx.`]]?}ګy9l28`r\(i)iCP1XbZZ5N{#z݆‰&2lddKFi"")&cɅi']>MiT_<89\ -uF[(h -iə[muJA}Two]s^a$ݑCNeszJD-MgFtn6yωSojٳxbEgŦ|W߭MX@yaJJ|8w@?K7@k{}___Ͼ(r >9,m -WLOjsJ&fˍFTxvټ$z3F07>MS[o9H +Iӽ<XFwzJuHT`/iXn,l4VD Ӏ -B~2{h1βDP#r А:lѩِ --J#FBGtA'iaF @U1\fld } r0D1\9m,"R v2s SJQBXXd~}?_?Ϧ 1N4YXPHȆW `rܶNrQg¬> 8A}sIΤPjI)gV%!C!!dN-(0'+9f@SէquYrꧻ<ufx8}\pQgY3G*,XFSDdJăIUGf&1ޮ۵ul mw0bk-H^a[Zŀ0%{$w/ٻ@Y5)rT6Q/ l^{͸:QaگìLJ4-:kDƣQf}X?qBa};_װ|2$(<:".@j u7c2Ѻ}+&$ j\J!"ZD'"uym2!@ -`fCEƀ 4Ϥ{}wj`")U)lAԺIDct -|`n-FmdxEɿYEܝcos02Mry`iϣM5ƅMݽØw RŔcYDHĬd !PD&RnfH.*{u9%;9W# cQg<,OӰp^Fla$ - - -' -g "zN7}Ѭ^ue:TY/P -sdQȬD%(c`b;˜dBF0~(P(rD1}u?_mz{C33Ae 2VoyHzH!ci :'aLIDjL BO0j#^͏4g|G(>RjC%&f,A1#<>"\&O:o脚 ;'e-d.r[#2ӉHu4V juLoOënQ.j~~ -]Z|7,~Pꗭdh'P} QD8s7ck뛛Y}-KYH崼~~bOw {s?LǏc]_~ hh LsNzRRR :u:ϒuJICXeqKb6I[4>"9,/Vv鍊^w%[\@4T,Ϫ=']0'9,iP=1w" 0t<G+q6[#DGj7⮙º)D=;GDM7 \na͈yь:Eo $x±e&I%!!' z(!'Gp!a T#FC3X!0h"y~?ϟ.p=2rB$f r2֫uu߷un#+@bBɉ<':iv*%&Q,%#XL w&J\ >3DYI`G3:5b-{b4}koח^݄i1$`ྷ4G:S<=O^?tSf"^$kI.aAGÓV3ӬA$ŬQ<5kztyh[ԏ@} -'U׭ƠZE)>{&a؀;꾵n^]*ILl!rbl{V^zdTm0m#^tdՃ]kE4pu=Rឃ)AuB`Fse]y\:VBwY;y 6"'UJY$Gb[ i4dpp dO +Ȝ|=n\s#<nSJh"TLS sHI礞R3][:|_{q0bJeacY}7VELLyNua6D9`7"DI;#saNZ{Qv`Y ~שqW"r[DlcOya4%V=Iܪ0G4Q:W?eoW-B3D4 -e)K!JUf&ܽ>%YBt~^<\vONɅIoo?oOn싻]nfͦ:ʼr:Tf\EVI:J2u) g߆YmoWn7/_/'(/?B#`mĎ:*yp<˖"ɄH!ᔲ> CF4=^i}4F'ue1HaYAɣWd!2߮!;0cd)G.nbΈpY4FF`P&t-̭Tgr -X \* grr4 Lj*QP - ʫ?ϦnϷ2b^<,5Wvy9pXGL2"M&C0d ׋b&{l.i[$B;W jV2lQPdܲSt]LrIFb4} HQ>jg#=Q8Q=7v'@%Ddb Sӵ~ۭmmgWI {_T&cvnMFM[B$6:>bl1)e0#0ζ Ôf{]f[ĕ81*IX%c$ά{I[ QU6 1 o ɬU[s`8ud",DsW6klsytq}^oH}tI1.m'^~z09Lś]޾! ]R..ABrߛu݉:U00N;^(6I4R3!=$%_7$g_OxӇw)G]r#LFu2<JǸ~l>'-sF "G\g/d}V9 eII8"#'wyNyʾ]ФEAJ:Df2bNyJ}ֻgaf^2@X*ZH4&#]0zuYt2Jo~xs2tp-NL*)d!JqDHYk[[o-6BTOA-\lT%G<):+ؙ̘Cr眃6ݿoG6+R%1L4v-=Y#B̼>8!K㴜{JJ{TkLʽ[Egxȼ@(4\zy|}@_O?yu?nON^ϗia_/Jsgg/?uo]7+YlN)"cA=Q+ϋsxON;b#jv{.g_ )hF_>$'-O-(r&%w¼UD$Md(qԪBЫ;;!u64RS}a:lԃe2K䖤" Dk^^d.Du֕84dqp}:e7FcdgipGP Z&ƘTex)fhZofvprHH`Ii>hA'Ԁ)|'JA0'GA$r-$<\@JgIJvь - DoHAQ} LZ㴰]tASfgeB:"@^e۬mYmP]9j&݃vkD[0{]S5 =[s1q!L4t.u$fpVɝG2p4uzq<$, 3G0s sĠeJh3vۮ}Q1YG;sۅI&*KJIf'h  $sf 459B jPOzD}_×fVnR,=$I{)Z<Wiփs\OÇ3Fw?heT.v1ƕ(rmǸerDn \vP~ie8oqOaWQ92 &]cxٷwnOoH,%q۩NzmC,r 4X4?*eycCVJJ[}߼WJ~˗^nOoa=NFѣm{'%1G.HCg髯"ҧwG W,R}>yַ gO߾ߵ}ϟ\<&WO_ cA^>/xs˜wY[ew3/Y5J8;Mp|$B? 9s:MYL2^O>2ݩw(Ww04R3rGpNaj}uՇ1$m]\:g%)$SaC#Ih4`{ocO2R -o܌: V.Q(}$us`Ǹ]n{ڢǶ_6a.G1"6@}873Copۻb%qquhf> (1v]dL2B0g"f0:Ǔ*%ϯ{M)L& 6~i%d276 k"$UDoXB $V`[߼'B>nLJ0Ozww%ev{/O?>&S}=_w˲.~PNS6>S4jÇ8^n,/ów?1ѥ] oOo׵^Bu˂p.ۛO^h -Yv;si[ BA{hy62mF>M|Ȭ I>ѝHǶY j}%ِ][ڠɧ{>K>ޕ)+E ̩ޔ6 d9,O(E>0ة'alTi\-;Xs3dETw"dpsC١O=g{"}#l ND$X4,NbPr -)Ǟ,D;btc 0Nōdp 8C8"R-<ӰHtuG\âsΧm7&l;R7cM#bl= -YMɉv@xEI`;1 &#sQ. .p=#zTb !PM< -&!IJJK3eJ,ݜ\Ҭ:d!QyG0nLa.X9M^n{]}}} 1bI -k,L@QbP)*:I FCCǥtG]D\\`.ĩ#u,Ŗg='ehuO.ȇgB&Ç wpJ2.`Ub Ny&r-<<7wlL)mN!9S yFd0&ҷwG*w׽ITcs.A{/~~RRvy\/4#H&ef:!rǤE=OuCkaqS:4}ۄ1܃CS#]~/Ͽ'ϧm1NBp?؍bq,Ityz%|dLԉ 4 "GK"4h`|V{s=i$}#4dE'i@p-1s`QFZ#Z#szpGa@"މ5喳Y!.ʪ<噈UP}r -g⃊PɡfZ@H }#cLirF~4'H Ht lXMC# AD2 jwhONg D}8{j׿/~~|]+l1%i^5Dr3t)6n}U^0I9өԤ.1z=jv(2+ QάGgMw:?˷_}g=/:AY`yzvag:h_ 2rO%N Lpy>(ΛϾp_ɧwO__}V~nFs.S׳/{^!Q Q*@i"B -;Q"TޮOjb;4xJSB~w':c'zb~QCZ'FIdtPHsMBQɑL3X\. eAJ! '>d .ɍ[@LWmPQGa{ N̑7sX4LrHL6X܃9Iu@` i#z R21IC{?_|fDԜf=)_Zo9D\]7F+ó906XpZ4HaM0DӔ"emJ!T`&ٯ$ݷeI c9P $L SԮ=2͙2KOiiIt&tSO)09v -ÁA$`0(;:ufGhe*Rb*r Q}o2:Ҡrbe -SJ, WɝK4SR=tP'iԻu;+/mTE.{#Ҩ͇6p%&Iq$y1#咖IFyi>0D[PR?ExXX=B<%+ucbܺ`"ZM}m }b!A3#|ֶ%7^wIZ`}mhIg?=TJ s79g?GXO<՛S40U3||zq“Z?~7o~]?l?|c4GCv>?ՏÃOAG.t0Cҍy:D81?i;O'?YC%ǾFev}jӬbL!ҭm$Y,/N oW^ױı9ƛk="9,*`drhͷ{$Lz:<:4`͛˒L%_ϭfk]{[2&V6T M -)|9R P'bZWb4" YE kX=hlt=K*3ez;JJk[w{==$T'u Ā"dayܻ%!H(D<TAHFh.n1V#z BrXA`2?9v0zYF5>Lֈ|`lS'&)bН" v$NDe  -VPԅrInѤm ߌXnmF ˑL0ffǜ썣u>M!(9?hNʏMfI#%[Bj5F^b-IZFdӤS.yeFCIZoVm8Y Eۆ·9˨pf ܯH2lCgHLjRNԱ̀aĞ Õ -"Dm :JDROATXM $ig!Uؕr54{yuQ _x)D77gy~B^FV,r*/#uk.D3a`.2^q}4UES`B/dۣo6yvO/I#v촜RBgkܶuwixs3ͅ3q^.O9!i u_H\u)4(DLiX -txODbr߰{w|ywŭ1xUpzIJ99g0g1sd(VgᐧoD" [*ۮpo~̃e7L39ݚnm-qfq#چД4)1_WZ&,8B"li -JDFrpv6LĔ5dH S8dbԻ:x)Szer,‎p9:HOwLBucZPa{R,;KGcj;Xe!#l1yDb B J -@%T8si q^g3ּy"#>(GdܶdM)bqMYA3 )ڛT$2AG ^R̔gJP9"[24%auum(L,s޶Wg!I2?t_ó ݝ$ăUňTHOYg3JpH$ࠬ~LA[5klcY 2YӌEu߈nDP-4O`ҝRAD4@2gkSCb۱}2,4Z۫&6nXTIE|r<XrΥZ3=IV*όT&qVڞw"Dqh5#lvme!=BCf3督3<܇rcޯi0C4DA05Lmp -. )LP{OQ -~qQHFr2I4qװl 1(:Y%r8C -r y8ÃҒ_sأ!:*̒cӒb|(e<ǰmTW)h]󱆅oIRÌ#+iT@2'h3oԯ+ꨩ7F Ө.w]UAcvI:htMϒNB82m4ƕYCcw5AdN!LRlc۷rݟL HwB䶳œB4y-bɉNh4OBE$I3`bXA{ i9moERt`FnFkss#uv]n΂X[fmlm DmN:P\RhHŘ;'i{C_-'b &*dļ&f~b -J)|'_$Gs|u gKy7C*Ϝz^JŶx]ꀃFCwe9S*|GhͶ+,chO`\<"u:߇6Ay]~r}.XoK9y]Q2}`}o^}ݟ~9襻s澍oB__~Mۣmtf{߻eo[Qw#¨G illޯuY ]$mNJW\ϔr 6m7ik2yTeHU0 Ԛ3M5 X|^M'yrw)q2ifN)^&VOf -Swv -HEĠAJADD/#,'wPB8)θߢH22zeM%YJ07xHT2(`N d1hg#$ԂRC<}m B !É -+SgGH#D"ap8gLXVm@p2a1ꭒ Œg vc)oIRtj3J$H¯&۶L{?3Ƙs2s}qQ(l;M %2xЕtP(:(1nA6L P:n\k1>byxSLo;֥F{(qQ61Gpdfw&-5GRB '>{F\ t2LpPd^$jM:h>l{w),)odIC'~;za@DH"K)w- 2HRkh43D=K. 5EJʲ=7͝W-Bkm9tOsLmI>N÷s|E\;~y>?(=\yLMLO>~8~}:ɧߟz v}/_e>.2_wB,K1A#F8#$by'Y;!ٍ˩"Qsbʼn@VB}Efji%]Zg9Rs7TcIm=QP-6ONGJS <ò*<:(CJeRFAABpgN%pG$m+KA_%9*bcڜ:s':\jDsVA9bPДDIT#y-{O$Kg0x Dp%FQ2žKpF$MfyrJ@"S"= (Ióŏ^O?"繝7̤lKKUrAlz$,fR ˒@?C"-F$1Vhaߤ=mv!K3D)$7'vg&`FIpRQE2Y:LdDZp3jbTi\H`se_FOQǤѳq v+C a)GF"UU4!iJ1$+D81 3 -*k] ^EW>rHS4!azX*U#'-Ƞ9 d|dҶJTEJ/mܮ!z?0׻ȲL%{~aEAv3+\lrkXm%%_2+TeSzYt__a{5'" x|f}|7ϣ{M߂j݃Fa8F[[u)mքj8Hb\>_~GgД-'<^y]_>?_w/ROî7=z̍Ow80#:A70O,Gu{G]wΩJԚU"bڴv1:[@ҀI#ZY,w - Y=$S@dF(AFT"R#8sH#O]滻E[J d|NM|jscd$z^8Yƒ}'a:O|Z(MtART8@u%1v;GX[.PGvLANZ#%R[FJ- I\OD5o9D<7Dc2Sl-B3DKm;9'\3RhooIP֏S)ԦÎ0jq>>AqI'RǑ1֑&ʅ?R*2Bz~Qg-.!LSifj#BCOevۨ-YCnp~Njy==}77x{e໏Od\>yCmo՟?'rt믾?wgQ9gyf?hR9";scz)툜^ũ0Ӣ4r)*MȝK qфg=s@Ѵb|.9klIAI31FO˼@DJ]);J5 jÈGs܂PV8XRE&0:4 A~%e5 <)a=YG-4XPFD4D R!D(1t= .@l!,I$ƾ5C@rP((!SR` -HdLBy|=ߎqGu\WU bp'>͚qJm㙃}< XLcKFcp40<Un`*m6|xboJnL%'JHe[/˹LL.|5e J:[J` HHH?zG7sODc&8"*BKacuJV!&4)eJv]q%ޑ} XsV(e -'KKEѳwU g20JZRn֦ĵf)DG%̷üMGYVQ$K48H>0 -RUziɍw1 $IF ꝰ|}ůsĵU*RJQ 1I(4+”D˹ƺcjRal?OW,ؼFwfn+?gjwRBͯWK&j<تN5C" ^JGڻnj o>> ^r/vh}N_~o~vٟ??~\hۧ?}<7~{]nmy,i"4ōK@d.b=\†Gvcp3>Ė~ _Z}\4-UM4$H.аe"/"tQtۻFijE!eLL\PX -9o &1pH؞l~%Hgwُi3 yYfJ~H$ G` fKR?3$@/>RU"HhNzpKf,郥553~-HdfP$IɞI)&HRH 6Hɔ922s*A)^?B6Wlf-4A{ -QH govR:XV)LԷ7:ͤ:b͜)UL~h$"5.VJ -i )SQ܋1DF(˂FTAl$ a*IHrReb,܉* дnqd\(*OE#zZ-]%FXh6,c0.! j|d2L,`œE '-ݦ9?臗r[Է}qދ/mibNYykԹlP mlcøfT6J:nnqݲޮo~[cu{e>-uR(+rin,'7*T>O>/nF?y -~Ouw9Xn.Oc mr,ijiJ"/ [mU8< -XdhEΗiupZF =5{hc!@k&'gǟ-pYRð݇8ywTHi8΂crҪD%6Jjj70C%q@BQ#$Y0V=AՆ3LzZ4qkP&j>Y| /' ;‘ȱgw#>|v~޺m$UCF$EQ;L|о+eG>, %`׾>RN!H,a>̷-}q[m%|HLԈZ) ܬ#v6$#2椃Î.,15dFTA9v;## >3NB81]$T&!Ѓ|1!N G8t9@!گiq,SM=)w4뭵cRH2Y!JvcctE_Z~?E/_fݟ7߾{-ѳz8mm];V?nWWiÌG*ƾ[y1rcGZ+̴WO5_|0AK[e/^2/oubrUSO~<˕_ßwo\n)\bՎIB!pHAL#\-;7RO/_=,*ry"9A خHGK|C¢T e' Lە,A! s`.|d ;23 -KdE@wqBTQ\)"9YH$wLp}@ CF=W pO30;"&T@"IS%2'qa!`Ifx;8d”@p<؎LA$gjl N(RL$7䴧K;̓#)R 2FQ AC_n3iQsQJL)-ݺu{fUn0avj7—E 1晋%)d"A頪`% 5@Kd@@Ů۾xZy"4¢x HYNp1$ה:}=9h -$L -Z[h>-!^ WG”w{U `@-5QjF9 -LY)"դp!-Sѵe%hRprN#J1JdnzƜ$4nrºB!{tI?Өw 8),Y%W>ݺs󮍜yNh -ZϔyZ}_/y_}ғA(P3K%{>M*F,:C6@ -hQ ]}>mt>?>MU˫Or7/\tS!xDKiRֆ/߾߾{^O_:ܭo_u)}zQ߿7੔%L΍2SE8iGpޞcx"縜z93=6VX-X߼iSa<٘,l2sP6ƍ6 Ii| 2YUlI' /B2VBK2 m% *XyR\tyQ QQ'eY< IbW$ځHXgXeqɒ:!VB ,d'Țx v7Hs#D+8$g0sfv*-}#aOHJ!Hh'Wp/N](: Z[t3e7ND2O;t -Ld*kHm]d;@,vt -‹Fz,9Vc("nm?2+'jHPfSٷ$*QSm ExXwDi@=%%E*ɓIQ2Zs%ÆRoS\#HYg`hye.ٟdz Ђm'Pc -"TÅXMBӃKH⬚OG_mՏZ@C0,¼ m%N!\5BI"@gʥ̅61!;6^LE(JnϩFD{%M"TPfIٹL,'N~ K,zQ+Umͽ?}(@ M$IEzyr{}<Ӯ "&~܏뛿ۯx6]?|Qv[ڼg$6a閣-弯mD"v{mS9mˢ}.K'>_rv|v5'~=}rӷYTg)9@Ex o>+/~(t_A~6?}o<Οşo޽SM{_>Y>hy*=rXЄc/U ׽ޝцpa:"{i`T\!YOpz!*AK.4JYA0Sd@j9 1Ly8^8ݵD / YPHXs)xV*X;BQ%3Cj3f-E*LfF+dqbJ{N{N!w%I*u -B($, #: -lD2#IA&0@)3H"3eGR:AH2 ِI$糼꘣?Zk>ߝT)J) =2!%Bi9)P2vEy aWa&hR$q2r7wf8qi.(~H.k4穉H3pBn)0Sq JKBbNTD01.\3p~9JGWn29fkI\&==Gnd7՗w$'6}E~Ǘ?G=q\o E[lt[81%-q)nC¥޸k8RD |P&5!q]EДS9}#7P""(<2(2@%)@"D>81 1OD)iJ'L(eF)%!|l@lB]"pwLDS4hĩC"ZDB$iGg:HF7 lCv]d) ,):-rhs'7,ҤLJB~P"MGԆUK](L8TB4XIicHDpb:jzܶx,?)Op,ݷƪi/󧟷s!% DJ$e?`ukՇ4zg(UtTNZ{,CKʠDR3{et<"V$Ky >bߎg{y8LP*i[߆[CxA,Tv5I -ϧH=гdiڊdկ߾{ܑROO>}r&wƱ#pOtwGm#9Jjq h"Ǥ2b{^>2Ͳ7o.m}x 6\p:tz3GW:nׯZueG^{q}yLq;zD?}^.}DGͮ~RDi, -ux8k1D2q%xI5)KS9r.gV%`Z3@[y>c(<>.ļ@I -[R `Ƥp*Ƿ/KHc`ɭ;e)'w;l,Ȓt_Kr)ðcݱ8뻝f&-E9!/||rֆsuEO?ݯ߽ϴ>>ݧ|L*/>gw|ջ_=×ƗQ,ր[q6F<{r:unql;ڀXV1Cu^NͻT>JI婹KHcm:+NҊKͯG"Z6we~5]<-b@MǠx fB }gt~Kc( -{OYAKg+9Is.eĥbtOrsvNJ1j R5b&Dx9`%ҕ -R$Ejar9 Zr"( 2)E)` & JbD$Ns)NR2IJ%3>//"@'y`n~PiCI(/@H/s/^vd,zcӚx>҉p#mތIOAEȡeXWs7I Z20G 7&3^皁 PbuJ!0ND3#+`fu~v%[9) WQbAL{9)\IX<nX)霼 a\g)BJ џo#$ǚӢF*?g$9eTiRL:"džnو~Ry{z>ܬLmnEYgM]YԒ`[Dp2F8ZĔPٖ>"0"&۾1\l ^on?<[z"SD@P2&ZO~hA?{G"~QZ5.zܽ_ͺ*UǾhR |ͣ\N÷g܅w}Z㉈yt;"/<6;lgYͺfzŘ\j~u)nfoߢAM\XǶ?R?LNq/E>Go4gKpܮv$BTυa>ݗah^~:8d+`A*c$ԊҤJ9K6 B.th5a7s^mnh扚D\",p\SC^^Setblmr|xoO46uF(C`' ۺв}iejK %3m)G8RR%ӁB .յ:R3H/=I)!z2~,?B7'h{%>޽xDG"j<~pPz&܈ 0 -dZ^6d|TA,#\hunp=XI}7a\rގJzTO{n`aXT|YLĕYbp>]_}6\G+'LMTŽ zvy4~|3\xY~jgCs^PR.'8eyV G H;ooys"HjHsAFZLS1/c8Byv$|_oo\f祵HH[,54+N919"8+!ylb%"9Ĝ#Jq( h!";։(#&$Ƞ4*}0UE4 6%Tc5jOk2GM:.=tRWVᜈF6P -(sI$ &'b$ CYH,DL: ,H"KL B0\J9~'wFЬ%FͰ4(g>̬dzOtyq8&ALLRنZ8^D,r5)H3ggB4/B$Iҝob ,{Ox<S}z~[7EdׁlSNۛ3.aﺉro'7U…ӹ*z>ʈۄ~)Gí~Owt}zV"F^<۶)Jݛѣs}y}SWFyۯx/U c{\e=~;`~~uw??os_5ۗ_7lWJ*}uZ~pjmxvԩ-8ryr|g=~w_)2>{FIm*#;u-D2穔Qt!YJ8gEzpexx LeՔA1U5IQ.Sr bDREfM2r\}ƇHqv]Bl`e>$N -T) JkNhl{<%SrD.B9뢹!qHRY٣p8+$I$1J2 Af$'5{/lH!0QB`Db7PfN\8-ٜPg>>ۯ{p,**lG1 r0I㠭j&Kc!2WwəMip%>c1ө>Mj9fIvS]! -=(&̒.4LY  D'J -A$<Ϡ f: +Y9Ry۰>VֻڏBPJ3ENFncҩRr~U@0G`VQa2t(̶_D){Q v)+䮅q7t['mDuAbT9Xʌ Di;υnVv 뜎wL4Qr否HP`f zzc G$}3S#l=,l/{Tt}~2{%dJv?4~%H%"q:kS "e}{'MnRn5=nlƶ_WCNw}^^e\%:"n*ҫ+z[JwsMw|9}]ן{+V~xZeަܟ]^}o<9o~۾L=q{~_|˯Eخo>zַ7_}Wo?/ww?&\-/NAx7|wロ.NN 5lE[me8Gh;UqqH>"$&F(NɕvFel_娢"T(r'p&Gr|(5 z 4[v`ǣ鬙#**)eH :*ѳc(H/Gj BHDT"n@ȚaI@gdҚVpdd; SpM=bݤN¹r㪉)uI,-,e$Dʙ0Dda\@2ǿY'}zxedm* +J&%xF霙er_.юJbˉ9A ~ MW83bCTO\fGqô)SgpnIH@PM2)F/ H\ffAJNi16PG Hq]:rp:)OҷNcv(au:GEFtlc|O=NAB>x};|5L]o|Mj)"9tYr9M#TiDޓD}ۻ֏=Ҧ>S Ί 3˙RrR]*#!(V%֑C[<o߮w>moAI - sJ܆QtBtV>-[xs#\PUyqJ$Zie#[i|>,ԡc~|gv]. 9=c>{S^\Y:-r9ݿ?v׿XU&<|@R^L⋿ˋy|iw%#^AC>>F!Rigo=کAw?oovC_o/ק/_^˥n_jZh@~ˏJCGZڤY̕8H;8Ӭ.F45QvQZ9ij۴F) -Pr/9;wT$aTR&!)Pc>:lGID@8# Q0tiЌ!O* ĠdqBiNʞI*D -d^,ډr%2R J9H"*&&)F:B(ZB$ A=uBM" X4 -)nD 0q$"d 5WK?t^NzD.a!rd)ǾQFNՙget/Ɣj{G6)ك5ft}ΎkԻJVuA/<".l>np\\"3G', 2i %>w|<qc sc'kX" -v[AIK-*6CG%>܆adejT2RhlmJښER/`?qҸh,-=lt[><DZpJfqOAwc\ v*d]bPDȑ@Z1EpT.s$Q4\ D"nTJ% ^Vح?~e‡\ΧA6Q>,&j9AX75m ?Wv<}x\}߷mafvk~@iWnV&yڟqufP;_Fr1U2"mFnc?|x~۾{jy1."MOS6yc~==wO^1O"*:-EyG>8|x6 mzo_=7__˿z._?|;DnS{y9FJts&wM'!l{2N)E///P,~Eى͛S9?мu{?}'?^;zI~xO$} Y7pD1r__s:b$WSe<ߞW:>sdJEb: iDEea eM='58@o@fJTߎ\sis}qGS,efy, hB+ NtX 1" Cȧ3bJtz!$xrVQ$#%`%Qw!w%%@dyɠp, "T5b7jBSp%9{:` 2:he)bO#q \(#M2IL(! JDH"ɑN$d=DTO~o.Jj&K +q좚dmTLقe#ѡB@bB{:!4R HB1#2LJQLiEwf1FQJUN:hrlşILo1:s -*83DH#ႄ xf.H EZKJmLT43U%x}R)AAȂ5֝ThlxdL1 |>Ke7ʦ-8C psJG؍k7uzj!"I{dmi3qT>-#) $F>Tp -|הd} b8F>#Lq1{SSlȅPmIyNFuWoWSOOI(E_=Go?mߖ'׫>~gO>cA ӸOB-զ\KBw--&*EV~87wrZ=K!]{F*Ey;(1,Ug(1)Rki]!Уv2Tƨ܀bTdr%IOIGF:NӝpY *3q(,%N:ՌZ8U&JdehMRTYt6An{;"ɠtLbc$Cjz7 -'ݻQ8`cg1#I4ꖖ19#Nd]Ӑ TeCʤ2&;vx$]H?h>nYQc*qj}l4"UܤV-%1B%VqpF $q 6X:"|Y.1;L`$zE[}w/~fxfoo=,WJx~oNڮ7x:-O韴=~{ -Iʘ&]na{[qw=m@E1k' -NϿ.ӛD=MGNZ@uܜs-xc7VqI$3ٓCZ˱s&iRd8~qԪ -wpQ2 bDS0z($AZ.TiS䔏]/<R8;@0H87<2bIw" ɀB#6,,8"NZjzͤh{'z(l"K6$- `䚙q!P&%0sFb`c8aq[FaÓ=ҏDj8= sfLأH74||r$ftbI7ZD2rpUʾF^ltBJurJ& -cn#`W03L8,R3B6٭Ί43mlsM R@ LQߒ#mG t.wlAdqT;V$23ļ$!")6X6Fi2hCj1TIũGZkŴh؏L4db6f1>⎧WGçwW[_؇/{oowk旨͗뱃?ۉӟonIgy]'瘖&s2xܶ ADZ1X_q|!x>/]s)HE暜jkgdа:z$gL(O춡0n]G\U1ŬK;/bR -uR"3X7m1H$ 8YŒKSe*goAT&(5u[fNL ~$1bT.50\D%LbdHQW#%9ݱߴ*M'WQ=h2!|gSS$KJJ#ʜDjg7JRD L&UH$,)`(L&:XXQR(ITGP\LA QaXT"9)'p֩#gSY=}퓯D߽oԟEl1e"{FVGKs}#Dn扠˜ -!&ruJ~d0߾ZwyZE9H$)؏JB\mASnFNȰQ1B˝צz7dkݘdt:noG3Z2R ybTr8HR: )(%(daBaĻGь#p]NrZ ٳ-[hF3t9."##PdT* 'xhD"*5Yklq6f9}s=yQ/e\ʶ[%IZTEW /l3: :Y\" X.%,3nQJ{Zoom3xR۟_u\e?ܽ>|[7og>|q:~sfA="$ɀd !2QP0 (H@PEc0f P0'B@U_hZ1I m:iS݄FSɟWL:GPƒj&1U Dѝ&pIHMK*щ&bscrS5b5RZEXz-@) #ۥ#{##7ȉЉaq5F^T綛6${l6j{w pI¬7==|o1-YCi"MJ(01^B[N~:HP'Rk2{ EאA4(IX_R(C7s9<.Xah׵Š!-)۫9^/%49%$ bfA$p4q}L 4ԃ^E}۱mPۃ|05l޼>qVŻʴdut@(|Z;\ׯ|u8ZEsZlXYS&GB`~ mxuzU_^χn+q㟯2Bh΋$jR~+}z-QJ{|_z.ӫoߝ[?k./΋._{;8?n-zM卵+)ͯ^2ZB]~w뻷z1E]8I,{.&o:NF7k|AfjVٱs9+0l)s,64*䐄R~7-v/t,S.t' L)EP!) s$DmF Khe )`*h ~x˘Ϲ՗߽7~=TKvtJ)̵̑RёБ_>~u::ӏ|aVwha)+t)92b4|iiX`hy: &'(GI/JKyj,mx)-|o/O> ֗_7>|}SX~?jlbĤw&ޯ~Yo~tW7zwiy~W|ëNk|5blͨp&59(2%dkazʔ -LXk&#(YSPT&b )~~ѲLfYcҽrs5(ucÒW枒{Jd WwQY -eޮPiۋ a98yA؜S KؠI4Q)Dg6$!s$0&x$ŔBQ$#HDNB$l1(YaByTf V"("y(2; 1DB,9#2<~J.2)"mv4ƨLpb 1EEwey$eMCba.ɍxgn}<YHG#R(TDQ24>[K Os^ ʶ!RxVYO6ZDOB }C8Lh[Y'NoN ۭκ=I;N} 17gJDa{ha4Z!KgnwLF)k>ysʉp0i"sGcG#維f1K¯r)G*@$^"5H< pF' -pVMߐB\ag͔R}?cC9ȊBaܧo;?OO>wOF].dC$i);w`Z׺z_[Iŧy &Nsn\e~~|<…J^o_Owr??~ȣ: 6l] mz8c]u˵wuۿ׿n!Oso[ y[Wlϧ_Zjtwq9ʴ" -ЭWvOԩ=*F:.7H0ݛ3Z3-Y91dva1:S.DfFB-X(LںO7txSIl|2ZB,%ڍzHpf.F{4sX̌saŔL;҂ּ(bIC - -s.4۴pWNKX )feCL1XFc,N -S8DP@9 9*` y9$;W)1{T3D Hf3199ȉ(| O|8 -/@ۺI‡axRj^U G+,v8Wxv;͋aLΆ(U|s ivMD%S=ǩۧϕx۶wjxܘ'm^^K]\ -2Zu`6 - 3mEuօc<|p4/z{p $=O_?$z k`ٞ?l?߲<>]R9?ܷv󧗽Dm_忰Ob/o2)g} {]&Eۀaj]95"\:e8'͓ J&^ҁ1eg1iqO/Q'9H M2B(փq bhe$2# -V fÈD, HwV+s(R! -1up%t[؛oҷJ$pYIw%IZʴfI5{ٟ^ֺMOz$]}2n-pyV??==L649:#89Q j)#`TNNf29"d8OV.  u wJ `'0xHd0$0#XzP&f&DCZ;#F\ADbaLӠHkp.dJ, B @+FB S'LPpPxÈcbPs)aPj(_~~+on6O2kу4$ ]͚HZ/ `7caR@R @AB9y.2ϋYwueֱ) 9Xm>uDH6tb|~)ι8q9A @u=Y0C"R2qldR*Q$mUj!֫9##ifVm#»Ėֻ1>#r2A ƅ\ -lmG0HA}رVn~1N@CÛz%dY50EVB'O#iAaŬCAG…ⷮiMB1)1I=h{) .Eo ?l.gֺ]>|>}Lbb=M*(Mb4ޞ&FraJҨU].{>ͪpXNs)Y-ﯫE/ÒPX?7o!ƾJRN__i^o/e}O?_/)5.VMu~8r:j>voKY% hp^Ý!A18;"w #CzQ)Iᑘt.g?wb%mk}G]ǭյƥmծušy={niY4&Γ;!*}LhtVBvX+eH0rvsN͔ť -oغe H<̃s_]mKTT0[|rPzq$L.! n#ܯ>_Jݛ%Ь6\1?[ί -w~ëǯ/~ޜݷnX_x}~WoBï~?/֖iŗ@8˳%lȵA:6cx8K1[ -ȴ5-f=2` Y0Oity^9AE) 2l/??T _d>hIRp`p aMiətd%fDˠS,͍y39{r"C%F.4˶Zaژ! -Q={zvWA⁸$_Cp'<`!%j)T -AXx&ȆTXLA*(GLd&ܕaA*k+q+֌곬Ff'-c>:mґV{/7 tjUBĈ>U*wGfEr,rwj/2V B8?u=Wa64rv7J0/w/O1ƜtH-r.|~_ )OBns*m-qX-Y8pQ~ݧ|>>m90sPF2F ʒfY{%B(m377 @˙˸|'\k&$];QJf[_`UN3>_)yΈibT;M\ GI6]70s03Ʋ]P1b Iƪё2LI aEe"N -B7vwp@RDAb#@lBd&& 4mWaƒCz Xk;b4r"Ddl4ܩM0 -<`##ExphL" -1 @'ĈX\oLnrWkf[ckNnϟmۧu~ȶm:%Fv1#ukm9zMU{ݢ=,Gъ`at(ie<8M2L +O"%M&cLybGH {&A3͌zcZxo{4UEEZN0Gb1ۆ -#t$EQTR<8jțu{[6o1 -TM5s._Gvz먗WȉO%?\\j0+9%=M"nzxV؏ϧrb:e΅$ :daS+h6phRQRPtz GkMbͽ7G|{i^^^0Mzy6d:J>#ut.}YajFm;ݝv{XT;)ʜF[߭s>j[)&l>bVk3@D̪iNi: 񫷅߿?~~뺎|!>Z9Vvsg)ozoտk֤,q ! zdG.)3DS|eIDt1%ә<34Q+Q&H -bxR LJ@(N7cRH|!^m͑(rKYeߜxg4 \;[8]GG{^ԣ!Gü:۸,a0HIBP q`Y'qJR=1z=hĉ\; pxa[kB /(,I 0Sr -/RxR??(,j>i.SEA&Ch^Vom>-cYK}r~>x"PVʇSD$ 1j!dčL0g ~abE0'?{Zn,Q͉v[Gc)kyc(q{Y|bna*mPNHRake:7^mb\>"tZ.n2G#v7Sp\ǵ,t/XX d)jcPa?O~d]O|iFoD(,E鶿^~Z~ޟb)rMsݟo`ǿ/k?&0SϷ0{*1:#iE>֢I4-\'sY|$v ^wFͽeokSPA\JхR,K)ǩ,S*y:hH(;5ƭm1Ǘι6<,iZyx•ZȠA\Y1*msz\"ܼ[{RoctX)3oaa4"%Ĝ<",&y9"X$Eoݙ]ʜv4cJcFF(k0/WBt/+% oyݓە\xDfwI+BʢTN߿<nlͶ?4Gm.LS>}?(ݼ|>Cyo{|2rn?Y41pGP"w%,T0@T[e͐F>9-l,1(ǬByƜj@?)-(kTy;܎L; ˣ.K"ࡉaVR4aeP8+L,]y0kprH<=rwPIzmC7}mm)j3K Ĉ+c %_oN uNޝ' o/ã^h4eKĩA9GR!As$PV均CU$,{V/MۧuB#ry]i.tԩ,_{7VhAzwbLEss4MA6貈 &K<((Fsonn Q!r%R:3,ݼ4ԶT~㶚/9[vׇٖy>P8tnEۿ[1[ :ݳ]O?\ }?=!/R -5k[uw/EG&3X+AsƜiRul4qF[gUjBa(!FTrtPjC"ΈQ?߾dǬb xLevBH"3yDڠG_[}~!h'`s -bb=<;#`(9KDD(qfa`7*'}4h]@5=T72"B\'beσ3IbggY( a - -p&Gvra0i1E @@˻<=,ޥ 龏UnL.Ѹu‰-f1Q6,}P죶[S_;L{U\ ,D)5 ԙ xT݆ -A=qyz:%-"@£3|7:}7_bm=z; k5>YOEIw=*I(Pg]MzF W Rush`I ^![7gVw,``'E -%Hz͘gzxE)R+J= i -n)&zdFjLf$ԣo&&C79;٘Og a # Ļ{&^)r4Y)NAC.sLkTҨT0$jl>G5٧:qت ERNn7 -GIhe$% -񽛲ɠ4̴ܬ.O#2t>!qQP&3*{G^݌w+ ˑ$8Lp"!wnɚGBm]['b!o"SH"(:Xxmw (5haK?H¼i&<: pAlNl b^ 42r$f&iG"hޝa`Dw#BԃQseGۀC  v#@!Ltzc]<-x=C!m{}6xA֭QQ[s~{^/u߷}/^^.nz{]woNUѽۘ$ƆCRJA>b‡2ϳd&]'H)* -JaZzK<֫Y{}Tov5yޕ;YXq$Dd2ku2IYRHKJ,O;[%J)"F8ňGʣdZ[uqohp9B~P-X8&bYXשrޕ(XI)äz5/7c,e.ui>8N_mΒIBI M># 3E`HX6ب}~4Y's/GPg.ϏO)`]_D_lbF@T0]Ơh’ǏO-e6S9؅$j9&6@mCIGt~ʃ9S 4SαeDq7??<7CiktL]zmZKstyYw˧o~,^ޏO%^#|*]c,9X7je&lY=qJN};p!uhmS&P 8ߗlX% -TwR|I_>=񩿿!Wp -tF&qgR# /O c#HB -K%Feb YŸIg̭ FaMdRG{^mL%Ċh$Ktp4ڈ,N"<`\a(6A : neB 315''_#3"#L9yADPeLB*Pb¹ qȄ`Db `y8Qu2tkgÁfeNy9PJ1֍ʣ1B*qG'uc[@acoV]&Yb[wA{IRil6 Af:{:|XEr|8: c^mxo5]r=4H- '4O)W1`V[g09璦E%\fv7:gBxqc"gýLE,$}wYGkcuk9ն먡TD-WI&8$'zwcODQ3ׁntc$.ģ-  X~Iw2 iQ(p/b43#! 5zBbDpm31ϷKϿ_GN'I&$JZD0= d9PT mTYxԚYt>pblݢ2ζŐ&ԟP h4k?Wmv 'BJfaJM;&[Y$Q4CSr@Y|I&=|Q`.F'" N$qTLe8&TxJ<'op`x­4s |)؀_r!{z@ݐ("c5)Sy䉰 <( 9v0U$qT{27OJ2Y -|!Ǎ쭀]-Lv|B$蠙!dˠ> @x -%fqԂ3/AA\/fPQ(A؃ A`2YNH!0 AR7I} S. -qNRaHH@`gnzuֽS1kfn勷 $\n~m)hBiPC|q,~3x/{\G =6ҟ^m^o=uAVksE!#GAeizyC8ؽC4TY*cy\&O'qEP %幎=B iZU2@nn˿Y~)$j -ZhJ.WSliE3{Gp]c#h -vz|g }-f Ym[3dyZEDON}伜S\{_o~o-!2h7hߟ٫_~?o?{ mhjҷ#0eZTf4`c^l]4FkRi]FϒKEairrPLA+;qDŜx53{w[OnQoK.~z]r8R f)x0y[kt'LNDyxY}y3_ -k -=hpJX ^=)58#){BD}`L|{#dm! YHX2C,=#Hd- DѰLds=zHM PG0@,A, @&AJ$ <@ a`.$NAδ(?im9=1L$hHý)$[em{[D+타}u}ml~>{D ( $ey^9hDF r<^%ߑfY8 -n5lm\7[ov˭?lkclqyj{T#44`QhC\ |,)C<²]k'n4R^̃iԍE;jM% -}v[CdAm/#'ޞO"7D -4sYrN_})YD4LElTd\뚙}:qa=jhōJt8A|(V)04 -#:CLj0ު=˫r5DLA'i:/hz>BjÅٙoY8,mJՆ.yRWo^e{yކE D@A )Qddbf,43y' năra*d(PER;5hD (%JCUA,Dd\2#>X -p8"|8 D0b2 ui?b4R$HU\^3);j$YStƼqU#$j^ݡ6zdN޼W7K4Goc\6F2}p_DTNibIdɌӡs.I, ;`܆ՏcK\K}٠t)"3ue, 0Mf*"jV] a͙5{@[T3 qsI"X.$-8[۶nA &g*&H}gJ$ĚGYC9O:hF<|v_wVGg98$=*MI(HCAIzK@žB=H !haC7y@ec^xYm؞ro-{18rw1c5b|ث7o9v^kHZsco/~:1.?Ue@:߸% -IP<4(lO:g[k>df%2"L!^TOOR)4Kq"E) 35CGֿ?}?z,C>f)β^I6Ib#R CZ:EBXc=3#ڀ2!&"Σz^h{q # "LIܡAs -VwJ.Pr .n1Ebxą#)eh&&X0# `%!0ҫB2!"MAT2 RhBP *A f"؀0 KSS|H^X2K=Awr#\;3R{uM)jvStVYrXM{_p+T7SO[5aRTwb dJ,[E\ԭey -4̕ѫs1" -)%ʤK˳ - %]&mSubb9NlH0[|zcW#>2~y?Js{-twr4HtpLC{' ,L^IJРv O6eb7#7PPfhT܃ HxErGxp$: N¶Bا5hE2s`abwX BH`'p S:"2fx1G Eb,v梔$I2*! ԉX)" kE?繃' 3J2 9!},: ,̦y&Ĉ!m#m:S^[O1a0kmnl {<nYOz_R8< Bd -`Ș<Ľ !-P}&[K1CϗwOuf/O{[LMa֛}kQ@8MP\+ou{0"/S :cx{WNGs򐗣X*z wC6ݭ$ !k[ZDƁh۶ jt}$e.537؟Yt嗗?W?wWáUg~͇RƓhJ֌!IZmFS"bIYcf#&R jΨ(LDETaJ uA jw/ԜfͧYOg4;gB H6`%D -f)hN 4Q]&KIN7aDa) ' -PX*=9Ѯ)#!6̉p -R0zNҀk )S 2["ՈI# -cĆ8uHA30 #Dւ=131‰`< , !(SP4x5Ӳ{ 48P6& #X۱B ʐH!$=`+72 zqm uG?KΌQKYJ.Y{=1-ݛ|}<|{X|w ο~ӿz|LJnd-Ѵ?wOp/DӨiQf؊V{!"w%i:|g˽+)kͼG p6rc<0yZSɚY@r/#)|(4t hJ޶?_>b#2t8K~swϯٯ5ٙ'a{8|3IYCwWU˲F׆ Pnu"o>;"zSϣQd,C˂+ 8A<)!R=k*> D )Gx 2sc8{feNcPDl# 2 Iw˜3U'5( qXZERTe>rDMsf}ܖr\Ru_<^^Q m\/lҖѯ%<:5AyKO_r[5k;_7ү/ׯu"n0DU)n5_.o~YmthĢ%F&0OK-ExhwʑZR2ґ*`C54P:)S\HHx;w'HW?-L<0HfQ!Jut29K}s^#dHz<$@r -AHi"~g3 A -(r !3%`FŒx4y Uxg4kRV ԢTy p&fRF =dO!zp' .Kp -9yHX`lB.A0aKR8dBAFlH#)3>/{W%Uc* Q& L+Rf*4aD1(42JAVwcܽ ء)ڮ#0ItZǐ,o^u[=ɴ0U{{48e&QZEidu-/˗\mc9W}*#r3Y0r|L4+1Pt>]@fl) ~w/D քN3ڂ>!N@+ݺp{bo|>L^L֖:qKRHm(c"$vA*鴔R:FRiKב0* LKZ)ԁTpA"ADkc:H䌌XFg)S…~I<Zk;߿y9_oۘj';)`U9'8e*PsT oTT\]vq8MS n#f -ÈSZCh?hL㗟.{ڽn?m?wu놕ۻhY_UOwo^y1ɒ=?>! @wQ62'EnR@n,453Q$ rUHД81* su/65탿w2Ps*ι~;4鰈 &`*HRα!ՆSJ L\Q|vH0hzR 9M)xM)ILP+["ѥ84E^FT$ғ5(G$)Q(D%S" -9XvٟpִI"99 -IFbȒ2dI -S:odp,*Y\1#=j#(F,d&F !;A(d| d @$ $ ՝$v -fZ1 $Ar2UNɇB-dYXUX&FZYEb]^IbdVQ`[\ˋp[vRIDOE͟e5Ӏzz%Pᠴ@l\k~yhn5THjµtc_7bJsB{Kߑuַ}]-ԊYYЄ{ad5DzL2Lh3[Y$a%+gCAU,yVÙKSWӫijE -45*y_2'sc)?kf[) HLSr}0dά21H!#5P٘S#K!5}x{8OvEW^*E*= -׍OP_Ιw޽ūR}}7뷗"bdpQJQ>Mt:i؞5Mq=e騕B;GZaK҈2:Lg"[$5_<~}Pm>˼GyHT~|}i9%=Oͷ]u~???w{W -Z4%vv^g"KFd))ϼl-FIP*&qN%X[,ڨK\ Le[YBɶ"8Wϸ2yjLOɿC -@Rg`HpI-')up),4؆AQ(`; V,p(+|:3z)NKQ$i̮xݙrc\ī3H+by -\6)&f5Y#z9<"BJ) =R*SkZ@; FIYD|-ӤTJnY,sx%:R mn[hR&x#/#KJNL1ûK+P"iM,r/tb>}{ڷ:Kn>q:Lma-_gN7XT k|ݜif/+|`:UΪ92 wsJMY9瓧wLKM$UQzvÑ<}/qG$4O,JweuOߟ˻MqjOg:w~wlPF}u f! |D.DYj|m@QqNStτnB#E'rx`ΛW$|r?/lgOcSoNb皒 ;l%-$3ơd$Z2$+F0`Ą}%)2F=g -;IfFG@4DaLcH%sBJ>Q`dԭ8!I$PRӓw&C73$Ն(:ȑ`gN3H8#  eOzhbV`Ox4 )SQJI+.Ȉ @(ԍB "-NXWA)Q{s_؅ͼ -&Ow;ڂF.z"0NJBv&ů/r_dtG:W":W҃)[7Dyj=*Mrepү/v{\e^x>mX:0O:-fz[އE $sSa{;.f[\na*U.e'jԒB `ZpE'Bp:u{.zeck -#{=p)ouۈGq|Zr_Z/5GP;Fɞᙔ>29S*v/HnZ27qP qG&?O2NGf]郼*d?=)^Do|7\e\ٕè^B+ !2K##JjM9 B]|5!<2I{!^&f b4 #Q_4.D(bHeN;D`.ľ-}4şɔePXcn) T=أ"x(KD]U#c7xnbfRJf2u(BL,1"AIIOo9߿rE+Re ti&F %jnCXˆf.J)QS -V{3knMe^o#xi$_]8Tph>! R et.Z,ҔN&+qǺ5R`nI$?:Vi[h>O~=h{ 1'5S7I'tj=yPMIIQhJ˄e$Ejv 2X [.nK xjB=>3~9&c#Y2SZfn}u!Yh>܋굠UV~J -mm*5[zOFиO;6_v˥e9rw>~9c۪F&'콣r<}u1(K$Ԉ.ZE PTTot^=j%6O4 hJ"x\i%ڗħ)}{_c] -׹e&4](FDQHW בR&ѤiLÈ7ϙa; -Ox)#* P׉bH2B%ɍ46(KQ  -V6:*ȂD3"vQ XD'ϙṅ;gB59\DlEhX)e5JTE+dlYDFfH.p!&"3d!N0G:DB;R$3$hI,*D&xlח5AX0sjjG"{\wn;vqTAJS -yCK>AhU.kANDt8Lz>_<f'%\֧ODLpbUEKY"̄ B!%K=z64ac@rڱ6/=\T۞nW&tZzZhWyb "=ݻo$Tl7%oNr@A˴zros<xy٧_%|O{3j^*LEzÔ}pR>2* I)XBT)ZVh;OrZjPt٦4ӨSQJ 2a;1m.xIs;oZu̘YPab2'm%E"&(I@0P|&*sbnU3YRA,LLTp9@$2%/)U!QfQ"9 IJ\m il, -PI-0 mFGQ3"1K`UfIVfߙҋH/RHI.s$,씉RJ Q$ Ιz^M;P -G3 0* [ -ERf0q*B'*kg{!j2ԙdҐʹfˎPI d}̈́LSf6 jm}8[e\ -oe_Њ -ʬB#ˇLׇ?|xv(vz 3rl&Bdz3P~)5D6Ķ>ŚaoS} .JE2Sm'd'Q.Nxn{fʣ3'-5HñI((g9nPzgNԉKD\pMԙd 4 -4NJ2q|y&%΀+vPe\ARC"=Lhd6<@#|ZXj#bt\%zSry~NPϷ H -Ӂ3ɧƞM3)mdrLuֲhYJsd#ϟNiDžymL88Y[ C5o_<\0|^7~7O_:7w^W<~zz_s/Ǹ],KeU;پwcpv4*7+2/u9QQ&%kH+2-V "|SߝzǗ\{ݩMT%~q95tE+#ݚ/Y@hiOPƺWjBW2g8RJ9 `r.4e˒@!=ʄ{l\$D d -N+4qD"dҁ0D#!#% 9png!dp\2W# (iy8S2} l`cJ5 v-#b0CLSIهS7\ UeRd^2\jCvckkYj!r<ߝxe[*C,G߽ATMغo~yq{?=3}G/۪\"н5:йbP:}\ wBuKFo#Q!- Np%嶪S3$@Ҏ`ŶcRNq{jQ `2A -!LGp7%}Ԩ =OX bIV(n^??}^ӇG`ٛ)vxy]*J-J%<\,#:eM -B p& PDDpe%މ`JA ew03!UWabYʸI<$ NigPf33%![d=tATbTy:<ÈJ8d b%_As -SHN$Lt j`EJ%hK#s mp0ɰD&`CX$'%9O̖.Ă$ Q2qprKi'!D"%(J#D ڞ_?Y\VTSHL?3jMwO% |[Y%)hufdi,VȄ@F4KaI,zWwrJUd"Mvmo<>}>M?_cswFHgLLMH2@8Bc)S[X$cl4ц]ci` $M(g=,˱q 91<"GB;u7Jl]QPE.:?+h -Δz'-r$\A)3$!J; -fJJ 8<)*`c>˶=M*0ͺ y@E =[CK_Ao[- B[(͒<ו_v<}uq[se_t>yX' -#Tbw&mKnIpZj"ڦ8&.x>ޔ7juc̅[5I'pc\|HMKRi_f{4r>mD@mЩ_jf7{3t^Nj=O_un_~Y/{;>̯/ˍ&!(B"g\b{JH -۽֚O/Ш|_R-mV,T["(3O__,7,>,k]fxKrDǠyVBJ -a$٨\ƴXl~Ԍ# {)jd Ų ! JF*G FE ,U2 FxIFV3K"~t`lj\Ӂ91R#a -瘨NZ H$y Μdj.>r*i"4z͙Fݓ"uTWI3(j;2*Bg`&1IHJf\DqqLDN>S@Zvۅ;R"2GNgl;"RUua3WfXN\u%GɥòM4sk3IXZIǸmا"DZ>_ҏ[k(|FVLQ{/%,m)Ȁ3ĬZשҪ.smceMH,CJApCeLP.L2,6-4.:|7jRh`ڮ뇟RSsϓKޞÝ}8Na[Wn4إ Bᶍdl7GXoͯNN|a0`֤G_{Oߤǔid\g/zmoF{xyx_?~\mOˇ,S_/woի",_v}EWy}l[<HofÓ%TJG.W 2:vTqb_$T|voR_o_orFv(^Y(4V-\5Y)A$億7Jv6sFPCʝP; H(Г'N& !HLq%<8S9S;ʼE9V "cMܡ-EXӘ9$Vx;I!R;f(5,G*'Rr} p- K \H;@C`7V*ÜhrL PIx$5 E2((yL LD#)Kk0qK$I桗9Fנ(+/DHI4k{AuXҷJG-Ȣ TJD5MFk{8\ 5mʼnscl|ݟ|O?_qryn#G:/*Q&~֙ -uW"b&䨇R -3Ul2&c)b$L0cKUKMHOR# -H Iڰ ReiyufnBJ:ZșU0`ݜ2}&"ωҝGvZ/vY5n<#M{Tr =hlUs-eX.ɹ -%"0 m[>Paݶ,.LXG_ن[b%  .Sm7In}rRzAy<_͋*T-Eyo˜&2ݶ1_1|t:rϟPB(sO_qOO۾Mo:`3$D-TS'ݵ㴜h-1ڱӍ~M?ݫ/__;|{c.ԦLUKML!dDcyГ -g{m<)@pD;KQ̠̔I|V5H#$ nԉ#B_؇8K9)J8@S!LIF$ !)@2O5mړ JCƎ"Cpq tdd! -`ء#XFV(3-[g enw>:huWe+#(9(S##*[޽; y2σUewJv;FK( sL'D/{T k6!-M"TMRile¡RVГ "dA -y 7|}0^ cFALdDfc尘m=wfs:rRXZc6̨,b 2nM+xv&dv.l^M X׍rYma^+O,GYꄠ`HTJh!bDomͰv[hZx -@b1E(8} 3 NNYA22:93B]k)a)3핤 gg?≊# -u+%MC1ԌpV Vf-FF51Qs"NQij^՟~LuS>ؼJLGN6߽>}{|Rv<͇"z^.C<]?DrH)I7(cfM$rN!\91 yQQHth{]ک>R׍?|~/?U~d2]rf{;=GKt"LAE=IRb"˔mC)zY`zx".N7 nn%: Q$3LaKee5)lFX.KdIR'FD(]֗3i= a|,QZհ R TD#(PNHD2YNA^;3`4HD:CA؃W:qK'*AB0J7Hşd TH0+@i8,&KMԪ~pwϻ%p~{qAb1O#FYg~ۊv2 -(Rd *$wl i7^M+N( -9 a̹EKig_sڟ&j4Fs)K=-Xјv $"Pj<Beb=8{o%&=rۮ볋8Ķt3w0N; 2T4I<ɯ/([Ŷ;BU|Pm;1ʤ<=u?ߌIJYr$'n#<{B$ZCNJBAnzEw1oEGRUe!H-BD҉ -Fnh'cǴ}~RRtmlQv(:ӻwgde.[1ij{:꣋6J̵^.Kݶ,)Lݟsyf|ǯ7sZTi:Iyi>oڨ/mup$r{x#OC?_nϗ2wҸ;u^%Wr{%Ŷ/!^|wz] #cDzxUgqa|n`R,Zo8VUfF)Y//矟{?<Ɨ mo>Ö豤ZۣU'z#4kE<:+k&ʓ["TY S )=Ob"pPG4 gJˁ$0Ѷ9񐶦0'[֣NKa7/.Dȩ|'yMY/{xnk7_׬3 ",yn 0|(54Y5PYb8v$(ujWsokW"7=9vߗoң ɬLH$bۖ1%EUKm͓.ZK-R -3sއgxĘ&Y&x:p `$>'cJGn4HKB>unGXw6?|N\DنosiK%,k{r+|5xx[DyT40ȷ2͟>|Y -TĭMZi|vr~pлemr{zY}n -=$nԖӃ0(rwhs}5o+pϯ?͇o|v]i96,m_=ד>}:ua#ח?+}IT-n/DǾ# -w#Zc w-[|KZ>uybK\#r^Hgz7{5+fsEJh**UT JљgTA4N ai cdm5@^l%4O-WH D6=$s+,uO {vjF1_9gBFnK2'nI<$;﵈mBa!"ig3 חۗ(A\[YQ橺R["Hx_M' $)"*8y7/.^u)5K/tw}enQpz`Nǻo 4iM#CD!rW||MQ,W//}xYwwNٸX;,,Dw_0KiK߬,`:~soWb>.{n7Cg۴4T`o'^ט>Y^be52Y0skoNO˻ͯޝ_uYPRIgR&ڬ&&͉L%dr&iEGN -5y`Aw8k왃KuB52JMi *<_@#=X48LlءQ,23J&D.$UzklL0c{H=upzlHɒA`컧{[x7➑\4)CؘO{$D8@*})ˆ`6AsVg&j܍ -Ap01RFhVP"89$DB6RѲ?>?xu\xUaJQ0OLB -n#SIEzR\"7H K~[iI}m+tl"zIJD9leHm5*NXy -my~FM5#ġZ"cyݫ/?n&3m9b[ ~|rw}{}9PlvuuV=5|ֽ1nߞ?_//֖;d{˿>nqU\Xm:L:g9\_#{cUIܷ숩hZ!¾g$ ^6޺'p^NayofWoxx>RتbRmeIQKi$LJPQ "&I&4P5 (#_"KՆ؁^8h83TxvL87c5;ÁZu7~Nv#<Hy>7FUn͒B%CdtCm9rc,L1W3Ti>kKirdV*SpÉcCGJsn7 -%ڑ(H`(I8k, 8HJTJp+!AJ^H=(uJ_YTZ%;iH'QA)@ㅊ4r#cJNδwÉ7R&:sL`)9 waA -Q&G"ev"g *`Q"!$A, I|,=@DҥL!^D4U7\1q0lU ѪRmm~Pgg*eߗ,}nگe5*8&ZqF(x8J3py|lױi>?<_XmnG잕 ,noX*^9rvnd,)uE/W3vS߮y_roOcqo_p~ρx8|<<}}~_߾^n3?pXR-L<Z){wJcH.O:Tn2|jɡ:K_)9Tf.Npu*\kmJ^"L T6 -12@JvYZr oT.K` $䞍8 II^C@!0yF -#cG -&#=fP+DU)cR vL%#7#DG.3zg&o3EwA -bDaBѶ%3BNs"i\jQ0fS R3NΕI(a\%F JElp"΢H%m4j"$HB)LDɬD JN= 2"H.v_oaUJ$|DRfĀ\*yHkCصEf;' -QHwZ"'Aٖeu&fYާ1ss4$PRE#n4"!w37sޫs9 J@XiܣM^.;}[vY_-ZTdąY=idm}0.Ck`0NȎkZ!% &X& c)b+EmǴ2fC0UΒ` #߭߄GY*nI4^8X[:R,KY8xi۶7~˓͙%FՔr0&@م'Qc0 kQ$IA}K}{>}ؿvszH?^-3kLć3_*3 ѽxE -%l$CEsԆ6U 뱖\|y~1cʎ+$Uߍ#ݿyo>̓݇mk)e>~Xpy}%n4n=:xy)/_..sZc-t>vOeǽO>\Re}wc9iXYt\)Ӫo8oK~{NL%&G,e=Դ,$:^xQ"R-:CIf:7Y X߃>rdTፈ3q8* 3rv`,-G CSVӈ:3H1G -t#ҀDə `dUNL8@`iv$ s1k_??_FdjfI1̝$t+y8@6ԔU4%-qc|KEykHmtPN6#d4 nc$E ǒT.,BVĥƤ TrbQdb?e,Z{L{ A8z.ѐ|˹&]rHuc 5GNe[ې[ <]-}6dlJ cLv"2H$mͲ§jt}NUE|\!EH -NB]7U5>JBXJ"YRČDE tZ`x - NRxMvۘ12ջslmߐ&ߛ#Ͼ3{ZRL{SrYܛdMhhZXmhy롮I1r4UAy[<Hq-}_S>Swe*ˈN;>i j}9Y]>>7}7_jO?ߝN}N4Gs㵣y\~0/1r qu]J.c -EJR/Uz8-fy=+2dLD !nl,,50$%"$6\UE|3*ktIJ#Q=XT,gY$`>s )))/-lSH}/YN -7".gqnJ؍)0 ;8/2HI=D.~Ș݄k&"'i*aB>EHh5$*JdY' 5EK<# mnԒ`Lʂq#5>S:ׇf!*so\ѐy=>}lْMμpȜDʹoO'9d|uK{?t\55ח&!c^-@tOfW勜z\>&]t~2G⫵|=v|wk=yz3c79Wb R58v(9chL[zln䴊J(T,H*p+D83riʮIb!bp} 11$fx;3{gȅ#AI撒50Jt8{ϔ>}"M@]v{.d̍s@pr"Q`R0JL `%pf# V -pN -R!{БH, F`b%TS (Yg qY5a:977 %p;41q&8Q( Ԉ݌@5%۔>_eZy)dS1e,kn»QIeZ H10%@/j0tf&tV1i2ݥ͌Hk -)j6!A˩70oN€)gZ4׷Ln}cvi>?7)!>1I˾_j)$TJ<))eDţ19}i;+R}}҈&* ѷٻq%lCH?o|tv뒎HDdI)@iΞ9RpKͮJ9yI• UJqj%&OTפ! -ה0@scHdsR&1`l+ч{,}&"ùdIύ0ۥCٯ2SH`iQյ1Cgz3.J>q,l xA.w!o?}ڷ- UYʱ׷wo)/EΟ?q]O_|Qi/{,qwZ۟^ǧf6gAac__>/?Pt񸏩z{zv]>~>]H.s'!3f3+Yھ}b`Qlw% (+XVK]ճ FH(PN=PU\H;Drpb1=$a;Gtp&f1!KPb(C %AD*AJIkzLt'ǠI !sA%'sox< d2:Ky1Ul - 9gAL0'ja%o]IRbIyu hcTY+ G!t))ʄA'b{H#Qe ) OO-,)kB),..>A@h% D8lY>nDO?z"εL$щ $Re"bȒf0Gd"MS&D3c:JPaʔ#HUڜn3[38 Ke 'j(פJ)M") mpLcltX%.ae>eP "muXC}Scd'M=%JiUlJ00}AS3r.ICI_'1|vEœgco,sOYi}o;ƒ5XK]7tε"19$J1:v/xeIsUIkh-4@5Y -T> ;m?~~U/Ϸ|Uw]*%-1KYcptp/f5WjޅaSȉkGEm?khYkB魻Ԭ_/O6@B٬e9;z]ݻwtmd x˔fww_Q\i/kzlc#\גm>u/}k/)mK)BE?nf~~ǻ<)R~}J˝9N5-59]ei6&âkkRPWM$C1kZ) ,8 8QPO3bI`rMidNQN4^'3Yx85F pێ`>b׋wviLwpaAƅ3^_e,C$b `cAs(qa;bXDPI4މ zLQ=FqPeNT*-r* !r@=y -@H A2uX HB+q4DJb$ I,&  )@`'4̌f0"c8?맗n@N4ܩ$] qP  z")8rY#0FT\w>fcn#{{'UhT~)0hSrYp8RT!T!MaAd9%I.項KK v^ն&It6g9}̰{ۉ)">nA;60?Aa*G E͇ ̣,Z氞|ɊF(, iV&{Wmv"z( -$R!e DY|9G${5 Y#0SY_I9A I-6t>l`@鴞᛿c~Z^6K܇^7{>^|- aL> e9/:}WV/^nXUP_qt7O_ak}5oW.yWϟ秧/%er5a-#|R9W$NHPN|ZyZ0G>,YSMBоpxx -U"&BpPD 7 Bأm9d$6)p$EwMhiz>*Mc^Aꄐvp-`ôuv|)cv0(XgeX631- (Sۃ5x n\2M$umMFy0+c2EptC`4y -fwcI1 L#(#5vsIL! DӃ%gN`B^|:8A -N-$L=DLnNL I݁׿|量椵"sb*K7К$Kx,O q"cqv}IwEI0bHa &3sD4f"$ah SNTEI.gP#&)KqJ ꀌmXZ/ʭ{}Έm*4iBk<ܤd)5O[*Z9T?o >zm>FDsB`D!fOj "ߑ3j-e0AMiYnx8 -KBMhBB9{܀jxz1_u)&g!HLHbkx+fJ֜}.Tv*m&a-n~AS wNfsjBY ^ysE8IXB:Duo?~ip]C|x}Hr1$e׿!wkGֶ.}FE,'l?..o_|vݝnTa||J>63Qv_kyݜ(%TִPP%3ΙX c[OojXR+iǒ͓!'ySVbqP*wy`7&9(H'9 p tRqfAf= 1j>T0y،f44JIi6(8LN"ǘLwDPL )\b"/m*,L 3ZآD}@QoAI2` -oHE!Dv=!%ӵ0ME BEWHA 猲<}-$,Y -#Y?ӈ tDDTS#ÕevI͢'Iߞ~cTr-ģO!9BKRΞ)皗wr^Z~sP_/HLݷ{{[?/뛘rOR'x\^NovFKy:uk_h}I81Em Ķ޺C|,!P*isZv$DS]mf`]H;lXs"}fǪKf4[krkxn{ץZ~t{Ô\=Y*^s.&׻o!:Op_~bK<뇷 _ϱG8(_yǻ7!:evC:h/ϟ~m%H3޽ og[ HS|ouϟ~ -ߟOO??{/?b׻/7Bs]ﺔT.aaLD"pvXr*D'tbщu-%d;Lt2,kFHFk\xD18 4$-Τa '$;c@Y=ķ>',jy0* -J̰q`@ fLei ɢanNwDt# uGa aa 83a5)^#2R r`%D`<79{O \IϩN>35Wt#gV ]B< RN UFB#err$&8}p W J&OJs #@E -fratDŽ0HɃ$ (HXm{}ӏ)DZ!w̞񨋤,"l$J䔲Qlgaʃ`h8 RN~n QGD؆% jVh `9e2 ͡( J\K0"2 d{pDm!hLT6y5%H^u=?ԻHҤ$#Y#y= -!oc߮3eǰN*I}v; +&)@cՋ39!u#މ k,C54$EpeE 3)3yt 1$83㕈\NB34/ӫ!& -3|pk-H1gqblsnZF}xg3,ߩ֜^)fRueM2/~e~cJe]6h7aq'e*,9жFӟS>.V cnr{y~{oͯ/o߽ŗo#t|n6Oz/W'<_KIOoo|ugP]QUϬ[]ߥfpaЍAAiGP@IW-ȝI%ȕDf:h1=h: 3zLF7pqRB)r'rp5! q2prB샼1 @ J̔Cz:/ ꒸$CHf}cvIOnU^>}X#u'p_^Z:H6jMQ;*xjs$oq:]ȳo~/ejIs], \ߤ޿bOHz8Ni{~o~;)Qq\_~gz~x N%֦s8{jUϟ}yWWv|:c.m(8exy8ZݡTf(ej YM{#<照 -dÃPIra,90̮"Dpav9EP!c;ϔr -ʜvTJ21uNB’-4>#<4 >-"%:A9o06R.D3cAJAmu]fC6ոONAs&&8 G`62i(:-JDHpNN)B+ɍp N_a;'"I@@ a&8Rxw]/i>-cx|Uw+BDRo1v]ra\=D,KD8 \sab·sm8qVS"eR"Ϛ m䔴Rʤ$L(EWfIoCc$ch '/alHvMz8uAKҶ]ch(<=R9'͕e"Z)G`>F. mo=li.tn4͛5$7W}!}iS^kc\? ug6MdђqRr|>n-zH9}gKsZL^[{YE|5g% L<Q`)k"\IiTanS WO1H$11*H;WV[ BpH rW3b.AJ]Ƥ;ÁR#H}NvfJI4-!b ZDgXA+EXS^M82BLf/"̰@B#"F8itĄD$$"'ZUep;#<FPQGkߝ,DJcRO)/p̘>”–Ȋp2,YIS1 -]Y.HFۻMvݳCH 0MjQvK=U\W/_6Tr6IeI=,۰ifk6zÝT<ezw̽Zʚ\wՇT??)(n6ŜX%=?/ qG8q^=ltH?~}P-uIȖ‘&=UC @9[:|]̹H\D]r!>zМR:hylJjՃTn3N$>=fret?{ww_?_.%xURJ_REM_ݴc+岸b}5G-z/ (nۥ͒ڵ^e]e>$pժOWx9a9{{MVRʹ.z!fZy&N9-gڻPd2T<,Kn|mr!gZ-b-G<N ԈH&s e%Q7G&NsR,S=(ś!/Ѯ[&w 's-w0 [Iwz%.t5T/u2 @JMƑP$d܍56:Kvp$.D6a4]h SDK2}& шA`F7F 3A4;_B!&o -"ۙaS1SW!*Sfۀ9zÅ(4C&Qrse`f7RTʜ3*E`D0E٨&* !w1b#֣u6=͐ulۥEXr)Sš` 43ddmj$-|T&@FaP#fog7خmgz,_nRט=w#h=dRXZDN%.\|@/Oϛ_KR5S2)( ~6 N\mG:Tՠ$R0IRƺHHmґ fª3$Z#V Hx! -XPMңٙb5t5+8aCp>HV6 e c54;߇LnlJhjsNlvM(A+JФz`v"bpdЕB)V*g DIg%RC9"Eu 6/G X i@́HA -Σq܅OFt#ڈ k !IĚhO Ad㻻72-qL#B"JKMn-e[K T"D$t?<eU\\)J.#aD} k-h1zg]^nL1Dm݂hϑ4IUX݈9SajIQ! r`7z1Zo/$-I܂&ĎWw_&iӣ3|7OBqcOwSnTB~P:H m:TE.(9.孴<{8ͧ*h[#unm|7)i&91mN\8lw9-\Dp^q~!6n΅l49p}yym7N+|?~x߽dyׄjqX\ڋ>wXn - ̲dU wݿq߶kyؐRi!Kzmv,&ip<1g'f,3DL݃",GrD&RnAzFg9-"4jPCL!1)IgN , ؓ#ܡδ9b3&{  s.www_;Z@q,-u=2t;#]9zaAL MǘjĉkeMs^ *Q4!ZqDa.mf|nM֭>B~t볻o)-XDV$vIBT%R$ʚ(aHd/>͹ \N|+?t # Ǎbu7g/Kպ#5 -Ph9ķo_SGdWyEw2 ~~hbO+my6C}Ag?z@`FLDS/6Vzrpegw=sE|j ڎ;z>|{_N~Sp9jn67wpco>u#Yv5Tߑg->v=Izae~;ir}`_߽iLY/;,*ʕ@hv֘=:`u?&҃_Z+/zwπܙB8&CrE{_lOYß;9^“?Pi҂z ;=Rm?z-V-]$ƣ̿]jMAIr0[tꗟkY}qL?pЧ2 1ХerjaU5 ɀQ=J|5Ac6y ;7VfWoAi]Ե^mm -M1F`pjέqJo}s_Ͽɳ%J.TϞl?onPGV><S_rb`?ɺ߲͏?Eh5sca,Iqnqyu頭0cxzgꮫG$ NzL \\$ktOƲ>quf2>74qig<[]z gW(OW߼3QpE-g3Nh@S}q_7B??cMэ7n~@Y<ABc~Qt~",?yz?xiݫ^yk |IJqxfM;vZYƹ,s>}Z٭}@uzhrZ41G?qj1y٦hsۨY^zwU()A$൅'@D4~90k~3DIu7Sۣ VU=rLI6!zħFC1'@b_&0eɓ6|u aƜ9P܍v?ߒGl_US."6N]v-<-RdrYRy9Wb|m@i9 9徆CaӘç#\ҁU0leeY$F~wg <ТqjL^e-QA:srFj6%f_d=\^|;/ʆ)DkNf:隠/c.~VX4͑Gp\ja(d'f { -zeMR G^oWnqfP'Xx5dp4is+ \碑o%4b4а!dՂ|%5'+ܛ/lecTP=i$ [םȟ]ЕO?g3=Pfһyupv+6k/w#3m>՟ ӞlTi]Z0[a-a8ZRo&n/N'e#l7SE>B^piR3Rz`Y ̷x{̺oGM0<;=U^PM ]RKS %vX1 bnS~с>QyfnDA?v\S}tFXJ48`$MD5)^ENԸ(ym&v[avK{ ZK"[ gMimejBy;01J<$iH ]#nG D>) 3"@Sm >UOuV750~vӲ~>drNJ6إ*q~{fm3>(ׇ3fxL(U;0 {ɬc<ᗌKCNuΤD ;Q\Z=8,nE#ظ!j CVmi,zC,*nJq&f -;IËWPѻ.m ȟrqZTXgr/4<+ 1Y5 _M<9 -YXRAVZd1ztf)>dP2$=(jo= uWQUV9ե\>wM7$BrƝdv2j 7^A c Bu|QKx?MNϺ!7f cCtEn3/ 8:yگkQtTκ2Yݩ R6WjK0?^k[C#WeBULmHX].B9N_H bsǓQ?MKC[JasӘn8ȥ~KP{lJz%e ,ryN猂R2EƶTKJWxvL*BIc4͢_=^CmktO><褒M \Yd</Y?x%-,^$J藇{~pAƏ?*ra>q"Vvʷk}2dr: ]W<lRrZYш8)z:ìR3,Xܕ;ǥ&g[\<7SND)sX}GSCZOYUNG2,GuQ`(յϫrʶ@ȼ,6 @v.cu&=hwnɁ ̀әmZ F.JV#ٷ~ԎO?- \61SQe,!J(''1;83PLLrt|}f`0%qǢZ/o1K̓ $OjS*=]S赙ZVc{S*_5%ƄsT|ej?r-08JeT e Y4bШבUǍAb=}QXuKx,3H3[U`mBsuEH i Xih!(=u>bd"DՈfC|:͈&kUG.4h)1δM6z^YYɡǁ 'Ql k>K, -Hvs_igb^nB":o܉*<r:ᇟȪz  痿IFEG_{lX-tg`vFٵfluɾ:Gʭol d0#5/49 2n@#ܘ~uܬˈUI&A.]ԓՃ -9?;9q͊CËrmr`kV[U.f3-H!*4oM"췌0#|sFg]I7F珞D8ZHU8m xgb~efXO 9M~Y5gq8*y 77.CЩlII5#J)\cHH9Jryk\3\ " 6Q#ݡ0д(q칺MApظfۅPk8_{fsZzX̑=C}x K:UYP4m?9om5FU QBڜL"/7uFȕRtz֨r5tgڡ^q< -SFxS]7ZHimIaFE:M9ػ~JPYNn^{$<Z#>*]s}zW{bƏ]Oh]pg1=͞' h' -; "BO+z9ܨ)y!>;^9Iqus0! h/ k(쒒NxMw l>iwCj&_gx1a>kbF?LI+ J~E O}P&G|nd8Q=}@ϾoW8Dn$Aeҫj:vzbc_5@?zWJA6JN]6:xt;t)Ēsoݝo8|*kI`=k"չ;I9VK;;2 Ƀ-h13z׹s_2-MJz,`yI3UTqͲ˯QggE̙4 x>md@GN% |ɵ7 wh<>|yꌫzxnbtP)52"bz{FŨNy|"Zl*ƸlUP`jXpv/žhַC?^]lYP9 >ҊNrB5ze8e6J\7#ݻ^ztQ1hUzo\8TVb#U^+B5SY[69tC,$ -M>jnUR"Q[!׉iPgYQH0΀!~3q -H!JGi"BKpF˩Q~uܢL'V%oDpˢ$JVuDR ]*z>-tgoϮKWW+R24ߍOy6c0WkvP%(W@Z %\˦FltYp'/Q`x"{mPߞ# -+w#(˟SW.9H[^P9ХkJ6p/d^UaM l;mUUCp<(< -Lg^qP -zp;ԩhm=_Alim.F6٦n`n7&r5MkN-8 @m}QvStlJ-ӽZDaQ*wkuP%Cs& |ؐRgt;1FQ9\8Ҡ=dmfA -.3JQT .ZA{j|JPVPtZߤѓ:;YheCfLB1%)Co>0W#e -Hܠ昞B~6 ItJd'P]^|AgI>W]16&%6(@~K5FS"t%+wgp -Jȃ>&@9_o%/"Ja3!%[LLn={c)+F%]nbuu7$R\yF4x+[;IcD:t֌1츈wGyٹdًG'Y6-Go)3K^zYc(q;^k eXVja cQ čۘ"p}|kc_c5( 4lwjC'b֛C -rwkf;>xtO%: "Wbv)q'N\eJ/f}Snklýx;+d'%1i0B,Ltz:~A`SSzQVV&-KC>22dƸ^vafͦdX N8U}_4-:i4:Uomx]VSѩU=3RYɃLI{5~t6.PuVH eGu -TK;%NL 9pZ:NteSv aCΊrk *%7ǺWd `ΜzEsLEΨqfqf6cIzPgu"s0@>YKtlNi$V ]~S-Tr=Gu8,[{jѠRP% \x`PvO$mvh7zQ2էͅ2Tйqf!1hSL&sDJ,eF9;17<%\9a#.'k< ~Ͷ|>U%=@DDG\Ȝnܭo[aJo4:9beljOVjN28ciR^NoLsZVrހdsLg Uk.ggbTltib؃1}B8 .Clp.LJc< CCScV:U6b(Ξ6@4r9<)ZNe%n8Һ~*6l.@ztu/"(p8kr:m|@8`2GiMnBT N0EY{mN:)t_bZ2}7 -9_|0Begfa5`I{H[k D%l`I)ך#'mvDuGUJ(ÇFwؑn=Lm2Sʲ!h2U:La@7Bzw[1J J|t~ɫ{7&U9˥"rd ~W4{ڦG*dP -f<2iGUj -}ݦZ IDATx~ա0?6V.a_lj IG8^|y^WxaycG(\zl~w|@QLP(q'd\Eq$!%a_WOVV*CFuQ8ݪP[AwEIr+Ue s5~e\2y -$(t`Qo)&Vm2K*Y0ֺLzWl-Śg62B+U\jW1XiT zq2)'_P#t<*XՌatM4ߪ"*3Xr˯#7nGP$Vltn ʠFAdcK-<5"F=˔ݢݨ&ɔkӽDp01DUC:Vh$s`}[4MZEu2&8ϕj;f~ ؽH ^rä ~%$9HɓX2ˈ^# 8Sډź>"z{E3:U=w CMEY-X`]{y{Tn&铒Ԫ N6JRL6aes -s-g7O nZegIՁ שFکVWAAa}RUZ#fiϿp:-(M5!nAÊ4(Iy\90$#tI%N>V:Ԣ32r]+FS?{답aeR pѫ&o\ɘ}~2[bKy=ePKe翩OB]SP qs6I9H`AӪɻCv(i"Q{$_,~}0FxA5WbW' >رY pG.#7rԳo>?k۝7d|ogWOP9GP^s*W_Y$[j}/6Io>Φ&&.ǃ_~^)٭G֘k\ <^z(`wH8jǟw- ~?OOZ ʍ25;eNUpNPIhtFZ咲h]X)޹N(<ɑ2KHT9%`hУYD'JI78M"&pg^[ʆEeMx)0i={=k'YJf> -1zA5͏H4_)>%90]Gw|XMĩ9jhB^{XԦz3. |^#W#WG @"&ivkT0Ԩ NXe*hhJٸ VOF?.FbGmeP@jj7I\$)oZe}lݧ t" $OpͺL{|X:z9 %l1\T -ˍ# wjtRV:r|Kڈ cbc5tpQԉb(ezZd7@謎^eݡhM -mH+T3ൕ!%UƗ|Qb&:*a^hXZ0^gF}utŒiV#ǧ/vC"-Enp#]s-#u4b?sT n(GKK돦:Sרˡ {`\e*ggZ2[MxIOν~E(E,2 ACdtW&`z )͈B]+9m0p-noC弬MROL(>_8lpZmN[#S>Ev󉨁40ohBt´Ik'/xNU+b2dA>ZŦǭk,ϯ;̲( [b_yH\y,js hυu[Ab(6ٓlsc$s']WBCCVGr0 `P *6.,\~kn;An%r^[8!)N-:ħ0~H$5b}ނZ]fo2V^'Vo:''j/cwjzѕj!1ZtkPc_~Iyt$]&az%`Qtp{/[ ro޾=?*{.$șa8ugh2Ux/6_Wqw4woJYXAC0oĴZ64oqvK+>& -9E \rZR5\G;woG_djuy.Z ^m ԩkmՅafm2 +7oNBywW AYʮ?i|ʆ&J&9[8rpR@}C}N2WJ#qQ+N6g\3c]hDq^4=,E&ݧh[wycI.Q.nh]׋_1`s.QHF;sgW3CA3iӞ'R7FА#H KVlxΝ`J`j1)Wټvw)T Fzz W'UfL>K{j%0l:ӭ '+0)5B\ !9.GS#Ι=zP -;4t+^G -KVrQ U*h\!7Q`) ӗ5-D,\E~~hBB -WׯJ]=]^0:|wo`8/UvUIT8Fe/4h ]G%: )uµ:~B-uǓypp" !?=a -G=OzĕC5YXͣ\^~[zHd%Sk~sn.ޓ&DYn Op.$Z#D1:xLy_CR%Erŧ&a|r]y7>;Bj4 ^OοxcF݋,ryu.K+顀 T$`i6yj/`sA:VFY,׃BPThQނjpmWl&ït@Imq=At!KPzɮB&rPjZ懲1D7PNl.{/(C!to~kVl>)Bp/شշ&3 `UݳJԏ ׾=RHz%ɏU,~X!VsLqڟD<5'{stԗwJ %׃op>6Uj'#S7*b9]NG~=n,_#B{ŝAbpiAôGC,wm"vOY+*iĎMl0ΐ8ͽB7se #~04NB<rs»}F1,dH>#]^ @ଗԩi9bߐ&to7;zE51ǷUʴ -f TgdzR}^_YTN{Fiݫ|vYrӇ1gy{vߕl ~p0=Zvl+ck6ӪLtv3+:l|Վ.Դ*M?!`DígN5+ta#)uZug9 2 {?_+Y=IAe&h9u:2weJqJciьBv*ʼ4bj{UO_\(*7LMo^K1/KP,*$x=Ei]WE:g -6v٨y5]NA*] CcqLRDczdHfHw佌>g^RMݳkoeڅi\rgD*ت1@DwҢiIT# -f,&-ό4a= u c"-JykdvFVkh7'6ܔuYAd$IOD4#7Y,l V(MWȣ+ZWOEȍ#n~/gUE -\kD -F Z@DX:˧ۢ=j5kcIR&dذ]AdAwDc1e#E;EƠY' o|7<|V+UXwݲ{ w8{lა-UDIno|4HZEz=BJ,Sdޱ{i2~|~ˤgˉo4rb}ZGcJzkJy;"ysMjI$g^Qʬ2tO}W]į'aPh^-WN㌖K c8 Ϋ'g갚Eqjxv7\^hgFJ-;{1|'.w%maf(Mh_kgrĄ?]N^#Ӗ+"r+lvM  9LNL]6$"*@Fd.t qID-OQJ5zPչI5b-Da_W.ٿy*& -tE usVEPXTa|<ؾQYڋKjiq6aDi/BH4ڻ)\Vm8@hBdԽH -9D VCMj!vV-7( Nc݁Pip>dAmnZ %":ۍZن\tmEʻB;k/s( x&{S3F -=}keNpHLWZs.^cl߲݋,aZ.a;GN wjLL7ŮdDq1ߣ{镍0Y1kZUWa ?+; =y6.e$B-m ܋0`^|w(].7NN3=cu?G|X fT2cUE@?yA_'W]D)>N. Wi^S1ڢZ=(96tiE:dFguT{sے Jd\<,޲c5ګE^m"эp1A<\8iO'/c<\t:}~C:ě_t]MLFY`Tm; -L+0Wlrub(/_Pl_=?a~m4G"rk_?ޝO;p4k@5ڜO0s;{eGYzK~GTͪtkԬsQ8hv\OƌEc;oU`0:-ܼ8MG>,^Н^t&}G*~ny< ~u޷VXD~:B``]ym*_l@'n~ZthIZLT`=t?݁Ռ}(\Iy$ 8Q%;N`,cvrr˗!FG-3["`uM8,TGCإ`=ȾkUiZZzë{<[!Y3@dZ>PfW/kV, ^A68+WvoubNp,ih/ɨ!quㅺYvP.d*w0ʽyjt%n۳Ri=bxwӋ IDAT7r֋^/_Оgo_77F P+U[;N;dp)z և b?ˌMh?}22>d]Vⰺ glhfwe!1b.b{|ZC+aAgbŷߦ.W/iTG:wooܢ}TG;}1W/-'ƴ`oP/ΙS~ t ->8It"ipw[D -E~?}dՃmP׍/w̗ެ?C= lչœML>d%t~d4x[zֻ -N!YF0!_ް%fnn`ГV;a/]e?]BR.Va+F.Nk4=Ab}ȌL'Н}R#''|^VLlQu*Ɔp} I`3%0`2i{pӒh/޾#ۊ#Ń"ԍ՛O^%/:퓯gv!Jbݺ^Ys6aɖ`*;3ï>k؄pxgݛ?&??iA_ -~8aK?aÄ0@><)p5|Xw|Z'vV$Qqٿi=7|m,}yOe"nOb_@k9UVn"uxhxZ.QhKRS -YOvzyXG4 -{_Zխ StrY|21d177]NK[rآ 0j| yXR4w(2Ʉs\nS!A0CZ["4j7|}܅x=(̥3^K%MXqwIâ&i8~jJFbhVظb -,2نA'xz9y 9Pm_$*]Iz#i4o 6ԪWrh׹Y:&:iNFh`[DeDhݡ]":2܈6g:8T#|n; 4I.݋QߵV^;VlA 箈4;~STA^I|Ln9l sTslK6cȡ٭f\+a7Oy߭Tpp^Iyŕo[G%':KUÆevKh\Xiɧ^#&1C=H+/&d |O{~[] zY<)ѪPзWHstk dlؽA c8l*.[ݭ&]BP6zm09ʴ"2}}a:h6/M!T*&] HK黖N4bn1^{g MVNfCu-Ih&-;<٭EeU;a>W{CU/,˙aL9j]tAya{xIpF|2S3E֬[0H@ﰲ$z 4qZ.!w)4(:j'b/D&*h$j( T=٤VW4uHeHw&6 `ՃZPzfrMUϛNaa"DZȄ04}I3ĢǰXr"'l)2qk>0UTK$]hrDL I,rq 7]w{w\z1NklT_G("l\2 /AcR;U`tg6hcYDД-X-;m`!]a@سX`ޛyv)!/bt2J@d'?"aI-i=5@{?Ϳ0AF9N}0w嚾i|O{I?6 ֮W]M:[n<^󭭬ևjvo.LvŒv9W>1JM.ab5Y;PQBmX2 4 f7L\g* -]/婝'Y#ƕV܉F5zLˋ/:lݙYK\nF޼nZiB՝ ."ǽTa0ɨyT2HUsblZNq-|C׈#*`EX?9K &Ut?gzOX8>cW}62zmX`|5=CG4 %aw.]"WVoz=5\+cą hܘibҡXyPkCUGӫo66t*lHsI tfKR!<1q/p0k=`-;$@pDZ&A{:qFtfݹ0j[T"&nU8yc!=-'⫱5U9x(rI8!)49'e ƆjPJA{6qrE1gXP21X?jbP dEq ~"}'QYż029 8>Xxllq@VvȚeim @w -CNE@ALZ3MѤ!-}T@ȋ'TLJ+c(Q`!VmABJ'a \=n+ XڽZ؉:%ZQ>zCcHF^7nG{Zz$3wjX}2=]26/1@1Y).6ݺ,!|hu{(KsG+ :T8\^k(v5wv"=b&AHü``Vv3v;}fʸ|B9̖!Yj\#~Ztc和1E0h -8#(2V@NxmR vX '5WQ kp&c2tT/q7'{J2ictNX5س2U-X2$b2Dm4Y|ΝK͏$ECA(f'uёȠ;PƂdq}H.1͞>|Y|dp5< QgWs_VƮ,7 Ͽַ/~Ln1W]oБ,܃EBo/ jO^ϵ+ {:Oq9*NG z:,bqVLp"-WX^r Q56:v*y7g_埢A'$wDolSnY;y '̄R/5]˾gi [o_88ysŬWRw~ƅTdUѶ$D?XNd4흊Si}sf! ܽdIMCo\ NM0(DnuDe'p[?nA.>LIWJUۂpm*۷y9%] ׎;G<[w{V"O3a#]ݪv+J\C|BY^G/DʵqqEf}aE@0cؕw>M!MN$Y)(*`T1y5~d m-"#9101!kAþrmsyz1^m&bciCp_G6F!ݷdXF,dZVja%0TE I|0j|8c -w޾RS&c.<3{ZJIʣֈU!6YοmXL) V1#vKM[~&eaY"H?"EzHѣ8*iN Z80k@HpR5JGps -;fqO\=xv/h6lK+sWnalh4`#0[\břδ^&F;S^ga֓Hr׵-0]#$u:*/cQ5)&z{nլך/jgrr]'殺 Wit01v'=Nl sv}0É+Uzu^rD"Uʵ[|E;' tx*t1N')@qM,9ޣ/}@'G|Yn -ԁSax5ucB MQ-,VG* ,07BmM,.#;F[tWs.ΦC\Qd${`Ϗr( yvF Rmq-aA\­s-Qs+s^, N?/G\ 7BDfh^2٬\:nȼQ6?3g@5k_P1O805uhJᢽOnd$,T hcq8Iѽ34m2_3ͣL0dv# }˗\qϕZ%hpIi^UZfA+4P+fyiJnwer9! -Hf5}ɉޛY-f.n?ٚ.$yffQeB_^^L_AUysm=ٜYm!ďl"n !4,Q4 ֆQ!=ݕ'bPM1( -Yo8i7ʜh'gSv_,MK?tBAgTij4Մj5pɦ&el*!G ǃ. -Yai5}-CTTɸ[UmmջJ(SZj(I( lw#%yBQK\CH)2Bq$A`8P5F00i 9x袗p %ԩ(J랻Fo߳{&,&C`д9VF>ԇB%|^dN}n 6gfrvv~4hlo z}!u^('Tko$ -'I~RWc4*ϲ 1k];##\|VJPt`yfDޚUܶz³cnYHC&v[Sn7Xw~ ?m*/vB2=a:l"ieyko]+XsPhp;gqcX(@ $mj.Фtj{ȭ1. n0+|K׭(9/K)s+ßw7܊ IDATʇXqiae[pkX$w_Ŗ4j%;~Ynq}<?.hϞn㩉c Vj #Shgb{X5[ޛ? -փkW!jO[I ҝӗo9W"^7y#1~iC'xC<(Ҩd}'zO lap\ 㮉< Ar':ua+\p6WT8 $jR#GvÀSpY~/i…鞐MCq;.ԣfpS Aurl43xݭ&r%FiI?#rYC4/,y=~onਗOGBai! ÑJqK ŝƩR#bŢ0v>|2jEmvjW3 E*ՠqM~(wI;BF3ΒinGQw22p>5dy ls+!WPʦX!"an Hbt;hʘtx09l巯90`'&[gU -99VƢ{c ^e& %G*NyJY9t>n\egRAs)z% Iufqq0#2=k C!4%C0UTd1e^}ם\ -Gb~ppk/zs܋vsOKkigr/h8͏=`R'a4R -V;cŌ금Ȥ,w[* -('!/v0OP "SScR  -cΝZ( --;R ##A;Z#&>܀aݲ?TOf} D -̉n]0Ɓ H*ƀ&UA^|8m"Z N.ʫ}Es'V_\̅Ľ6S'0v%r4E6d dc߿:8%[m%CnAxfSM$h)Vj8y]f*GBa߿~sZrcu9V >K M]g:Xv -2b"wufܕׯ-.&3_,GL@?ŚƉH} .Kwx|r ӍؙfX$ys}Q: [o >UN=W+f `;g+Ǭ5heEo8>t:آF*&a@1F2.w `Vz Dl7L -ᑺ20OPFYrC*ehsBLC$HV6NKɕwJ;;.|x/>``H>i-{*wWlz;8G&O* g&d|w~ PX\[QIB&k̈́lynϋȨ▙ҋB:3QG`1{L2rt(,0wRtpJum->dsןho2|W:֨e@|*Cbin;sWnOZCwR"{ׯ$zO[=•Av/XW}n¡T#ͣw?lڻw>ጘ^m"Z`m>o8 4%19tٹwoCQZ&'.;*#FN6;Ml^Y5POɰUzaO['%7 D7bxoK -pb:e_2TFt-wk=;6-t"

>ny -x#H,Ld-#tXK&mGջ:UˇN|_:{ɉةiڀo&@QϦ81o9K6!c2vVr{ :V6A .bynz w0#v%"eHq&I-,D8ԵЎo0i2U*k^k/Cۭ֔0GX*Dt_lnƝ31) -$i0X\#0֥۱ЀUN#lwZJWgGM_D -^MlV*}:.珚vQvNJ(Cs=l{o0hZ:*ưD<895!mZ>UNL -DqbD#Cw TylTKED OiU:ǻ Xtko) #nժ5:煍[ŌϚeJa5Q됣a,joaK=>AKXr5Ym_4T.\ya ;R!C҇+4X%}K^*vA[ԣX{S>jͣ6osƕ{6k- HIEwe5PC r'G0ݚrpg'O6I8, ]aپ蝨rw u.Ow%&Z$[?(,>:&xs06`dܑM+Ĵl"=OM73d dGJ:1:yxu>A|l8{1<h 0V%iITsǪ)&#N4rj22]u%]a;8+p|yy.ݡ mWS ֏zAV=j?Ӹ~ݗ C~%|3ՁK!f,YL.fH8hJI1:Rf†Ԑж۩aP2 t.=UBv3Ykg$Sǽq}O\8e{>f7P)v`M2)gD8وx-6={fca9Tv *lN- $=K>;:>}i?{ΉfN~G譟Ĩ٠2`2w>Au.y{A -?-i7G D3<Z:ȵ56 -_&1/0 -~X?2!/wձO}ML -ec#o )~BT8vNQ.O~0>aN6 -D_eV3=Cفxlb&Ivr{nwZjG˦KQt5du||t4 $K9qBpmKG2~K :`c! v./1lZpBgg?!JaBKw;rkl6l,a> d>џm_@ĖЙG 'Ub}5pM|Ɇ`f%7X_xF&&*q:tժ :*h\o;xy}D^x Wn[9+Ɇ|K\g6Qki"A:cXQJa鼠.;2dz -+V -OR ˢ/@p6װefhvJ4u*Ϲ25.򆏤 xU4KI wy!p5n*oNg#a' `BKg~G=Ko83+ܤT/]Gf{gEF#زbY/g6 -f#97[z~bdںو~u -2Tz121x~v3h -uO>U;3;GEj@ I^.\œx޻yr3xZ*SN'ߝ)Q䇳woGxS76ؾ>uIk\" -ߺf:^^ <Z5K#PC'A͕,ժ >PXӤ5.@W޶w2 U5kâP2@l&h+G:Œ~<\z\P4s%xh$-š*x3{|0ӣҡ3"EV]6&9E!N艮U?!d:n,'O=BF}4d_gdԛ_$Rͦ!%*W,8̰q5 T4!-+Q?J٢! fc8zhIBQMb/gr>ee5q_32?y;]]13'A \`!&*'ՏnxoYGFUz:HtďQ u|_b.6Kј%9w X^#]L2׺O}\HGr^鐁QQ_t -mIL薆=ՋuU nE|f)&t74)$LPA6V4I-97hEJs盅'D r~t EnZ*&C^> -S)w;zfa6kmh$f~t^prD-;D:MHr$Ց'lZmXq5;8VB,v. NgFkxm8k:2>1;oe\*PO -cwR* dM#,;jip ,h ł>%zphfA%:C[fV,yё0@\xYEo,;@l]4\8t`R.TPfQI#Evn-^Χ'R(cawO~]HF|t&=n gb1L10paT -{\9*UH/(#ϕB5"jpLr 7©u]̓M`PlD&=zýE1{㏣lfY8,N~@p4oAׯ_Q<*P`a\mov_^'OqK,X91_R/[ovNqas0 IDATJXL~AFXkY GHx;;ھ+pӻ;(؞g@<0 v-O"rв/҅2{Ozz!DièW:o&V†֮%} fP,Сƽ-;\f)EDg,> w~spMJ:z\ׇco{'?ѩ^E; fu险mFMR' vU=\/v,wAOLlzߓTgra[q8?{HJC=!t Fk+@tjbuH5rqBpN̹+иs__}3TfШ`Qj&//*77 4:oTPOAv4Cݵ[gTxdKL.C(Vg];w577JaHO`g:腂g&(s']jt@ڱP h39JT]B".{ _5@mcs7jCSkD=rIəMdx{i(b|?{'wgYa<_\j@%TjnƝ 4큱q B•viK,MEArb#7Jo(A?Aar~C9wg1A/c~wH 28> {mQPj('F@G Ђ Ɨ(y?jt}HsӨ6m%.5 -R;)㻝vtZBO7(^*#=ճKtY:(>_f_qpRK9Wճ H]4?]!3#}f@ &}6)U_,c>(%8ݴ0xe<<}%:$\)("X` uTW0G e}'yhD`qYr[jsY?Xnv,84IL+&NO^s6i*A͞_v$1 qŅJڠ4ˇNg\A.f>n{SNbLg#9\ȅWsNieo7/۵ toPtv -jL[V/6OLo4s`4p?R6zQ>Mv3֘+ x (K9Ghaz{}+H 1]6 rqtL'ߞ•Rd7AJ% VO Z[TTKSa~6 i~yMD"yC8y}zken~'1tf7s -?嵻EcWaI|_*vrQ ÿvٷcEV~ %bs;:Ʌ|jҁw['ry[CGGЄ(}7w>va|鵂P4 RdD- -f˨R(eUSBQ]?Fqev$`\Af,hhmg0p$fBlأC܊/^KHwvv_9BPB:Pr]:V%Yߠֺ|5씇zx4 j}C1īJ; z:쟚INgP8K4o%udö\8>xךX0Gc;=+Uq7Tߗ^T`k4dI[P<Gg7$FMuh劈 COCzl\{9RaW@gZ4v60BBI@xW:M -*В!ﺀx;vk7bזȠt&_uq#n 4=~k=&F WrÝp– XR4:X}tMWՐoRA ǨbGӛKj?7O qPgSyh ſ^uBZAr s3ISySyEtUSdF(;k>F[ʼn,n=+n<oɍ[kjL }j i'N&z#I $mE'$o8~H^2BtlA쵞2=cuy>[V/u]%f 1ÑbfIuf5.t4vd&X !oj9RUY:RrY@;G>r\0bV:X.FOlMso|ﰫCsgɵ DH4)(8/ -يX{&}ˠ"uXx/|e-V>.7_s a͇C?ijNMEs͹ sh.?"f+W&֣ܼ`HH!f*OvHmi '7T[nduL/`AmZǰ zh4²ta1pSPhvTX NCawvvx1#`(e9M -E7~|ŗgt89[Y|/JR -0 |Jկ<;ao>GЩ+n6Ħ땣r2PDQ՛K?z9|/#uш?wQ<^oU1lr&E԰L^W PG-~6Admc*"!19_l\ܝ?}Bޅ†/~fZm/ޥ'2 - -V#S Qt@rW/{A.[I1JQm@Ց&8% ^Jz`͢ ~\V< Wݫ_V:UR-Q":;u/H5hMDCf_ nA&I&c2@w+׿=7_9~XTʧC:,}^0>vrsA:aҩ[7 c8`g4Sz. -A~G(O}ܹS?(Yp&7u^>▢ӊ{4Ti[̮y=f|谡=ysP8 C0-i1g fS_9EڃNp:4ҋd J.>=ژ*rmn>ګ hrz9B1P #m^|U  `B}3gҌ(>\wdƃ+ӳ~v12{>Js'I 1kJto淕gh>qOݾueu%Bz^E`ؼ8KwVEL x;Y` cUU;4k;ҾW}O-y8U\w&z&b-epʂ%[TA }5 iEdn*HrDKnE5Ӏ`8?n|H W4Pf9yGrDXViִIÊ/?( W24â$\ttȖb!Q#zaDT.NM~'5фѭҔlt5GIp&0?5Y8%\,rU 3T`b[R5}wܦL^?BhLG46f<)3,K$0,!9RU̶\IO(ɼ(EI; M,Z]/Ҳ8>T9U|p]vs=bb!Upw\7\:NѨ6 OZcH𤹿y=-øɐ۹+>_h"9/ S#_U^.FLqzeP ]zi.%r AݒEDǫ ^);+Q=iϷ3?F@Ҁ>3hv~yS}f51FvzPtoDxf.W}V̽-[7JgGk+(9D.J!r 8z#p"izV;?^CE3 GqGГ_{i][EsFj5vA+4`|iX!=44ӡA~'9Ryk$S 1NM:A;O_ZE^k^ -LF4ܔֵ[e V.L3; o6w/{t*FHu8Ƽ6'JK9~oMl|~h*z/iU -H0 ,pF>$2FΖnF[)aIWDkJJ[Pz,z*3d(3w?z[M١BHB<9~`39p.-6br`G~ld8o'{Иp26S> rahO`ɸ`c`;StG0ʻmA> UWjPBYPmkU{>軺81M:4B=(*K=:‰^*[ۭEF{(vx*Lgxd8{|: (u@o ?E -6hDj̈́:Ne)X#O{ su8-{$~'\?++V> AT.qo Hgb٠Z_XgCrcj$_ŷxpLVJ#s!Sn7k0#teP;@a^0qHKÈPp<AEf|q:2~ftZ3:)!C@V]~|KPjeJeeS xY={&hMt}+C! &EozH'6`ZMٰGx -"mܳfkEu?hKpf# D˴ 4 *Cʒ>PUPX3vǖ(3+ g{]R:@:Yk@Ў$cn'd9 ǤA5)DH ch5;TwgT?usziu9qH%Zl)`]ǟxڝO׾ -{Sa/ժ$8z^ڔab]=S/7oNϾ}F LW5&!#`1l|?kb@&N90W}+mR$i}\X#v|yvr0d'-0 6Rds4>M$>HuGP t@p4f#HHk["gfnǥbX0 ZX +Bic`vGFz 2EO8<:&4 M:k@yiG=m#vVʾ$ { -"F1vj.C]- ޓ)?*(Q:\_:yݕ]Bj})*zK [) +r'Fh̓%qSta@w_W$u2@[0 -J8hHxI 8]jqFD !wUlu}e`َ!d ZCu0JthD`EAq>DF%N*&_X[dvhRف,9|QD#n0> YMP\GM'h?A&[-`Xٷ%;sRw-еdp>I_a3/9zheĐhT(5Gpч؏ xd /]Y XfX&q۠XmiG/:C :B4]ˆ%cQ0ۋN<( -0y}Zj٪:K,yGLō}҆8N<9q<ePz1Agkw -:n69Y},yp=.٩e$ZY͵?"6y Uba{:mĤ- So++\C/K LlxM]Sl)Y;Jx8Z&-Yrт  -PHcLL 0D1˕j{Tzuq!pZ3ڽӮ]5*gH?{$fy3 ѤׅzudvdLK~.,$7%j8k2y4n1\<ř V<햚 lbjC1S&)%!]_% M: -ҁ o(_gIv @hLw{tÑwkfx 4 GCi`6qHj*!+ w츛t^Qvz`t}nȮ @?,F0qQ,d2ZDFe t6KzEG[?zY8b%6*d^KK#XDmzPuqettU{LX; -ud g8kC>;,=7R9&ll s3=kp? -2.b K$klDšV]]#(5DZGJeS~xOF,. -lgדWu2d7ɩ$77!w99͕ bsޓ9h#&pa y-yU:?T.]kYޑwK+ s΍F^?ϕ-&eV-s/.olj/I@!p/\#o3ee/ -T$~8av(Wo=+|i3vqZ28[-Z%>wgα\.ۏQr [Z3Fi[$]믾~#'guq&?xeXDYku#*+L*,\nh<|t~tl"/'C἟3;{xa-gGa QI)7{uwt7}ꥆt!loY(bdRx03H?'GnztOkLNG!{!S jkW|zVI%T YĻmQtaB>\ 16ò.?O4!ꤐmi%6q; gN̒sgf#8̧8J H/2NEp5 doqxN-wx MZ_: 0+a !^}er" c757tg|phr^wOgu\Xo\~T՛vDzU7x^_^rsZxv2H5~  -x1Ph'g, XtdsnDaiwp5X+#E?=WEk{Zy+*#+/}GAKZA™whm 1T("<0ry`4b@$RL6D@fd$gaj( @䧈n -M>ɋ'M7jyb؝˒lAbyba-gg8O"8>^v^Z??6'B-=dI(5P-nWfުX|\d6Bң|*n\1"6Y ?;2zW)sP8d%3Ճk^Ϭ6iӏ3ȰB $1IWoPHڟ% -/?5'OG{wjN= UPsCH ?_"`tl͖7#U6)`Z+xWCި0_l\yYV~|7IѝWʼyئ6%X) 1W8wJa(fuwAvS?a.gL] ^l kf&Ę¥;ĚOgQ"$lP9{i# Ӧ#Ocos[lH>z{zF -3^W3ʲ -|hP 򻗳DLA;+47.x삙ƚ9K\^ٸZZGJii.-&G-+^^h~Q1O6fNZqH ,dZI?j K^Z6գq>d9[qs/W6͸qZyIyuq*Ju}U) -ŵȲ< `$mZm ёM "T.'RC؝8R`pL愰 k8Na(;h<ÑO{3>r~7hHO?yx=OьY"??ke<0t h6NёjmAK.(VPp65P#x.>=ΎུOC0<6]f'X)g?K+i}Oljbwn֊k̲ø8?D\xG}XY #||UU]1{~ca1˟FSj_YUy$9%k?} L0+$L=wyNCVķ~6i$xE|fWgn]]웜5zdPmpWgra^^vm5͘&[s+Z3RN)/쮻VR)ld*n -x/%yɡ3z]M!EQ9unoqD1Fkds8lՕYsn'nfwh(^gRU{8ES=a@-u89=Uqyx}tEY/Um)C6]weK.ךv?Y۽ǾSz9 x+x8丐#r -+@20իe(=)bσ+N:. F_ϏȠ)]͔kquyA3f:Q2׶ ,ʕ|>ۏ)6q:_3"Աxl1pJ&HKdI0>d< -8QIk'gCj6(,`+$/6JgڣpĤbw!INE=@c4G D#tA\2)2AȜ|^Z !"Y(mDNS񂩕$t\#ѩ45g1A3= ]f݀]ʃjt!L,Z6 |:6.!T_n^stok˻*ژ靎FVg}Uo5cmܚՙ?380_Gh4ӋG=}: I~~<>?{gmn ޿umg#cl2R|OG=:"ݕ"F uo7W(։q^ 㗏'b% -r5n Yw4?ǚӊg3~$52 ^jӞkdff;vi^{k޸˻P։B4;R{w |rg1o|4A.޼Adv~Ggs>W+Օ˲\2>B+%6QYy+'c[>Yd>,Mi?vV4V --糴>] P\xʨ@?:WڼxX{|& RSyrsn~w V[K[1ɵZ~6/5Z8s IDAT u7%VO,5zY|v8J0=@)y(+΍eiqO~}r2?t)FNџ]yX~+iH7ߺoSЦ%N :O~ȶ.g'FVXkW/Fs lj؛B N5c7F"˹7iOm,}8"ȕٜc2C7j3Ĭ bJF܌3Sζ |L> -*~oX"8LEDf`P˶חTx 0bvi 8$Auf|cA g<>c8GAYkPfTI`0H3@ĎU[^aɄ'Srz2Y!+|21 o[Pvi(igp?\3}dH%,&%,:SĹ?qRFhiUĭ߹ 4iUCA>-A{EY*4/_---K<N]Qt t/ _ݦI?2y1U<ÝE/IR? f7АḄq{l\&~XT 3>Ճk7Wʆg/N:nniC|I|y(/\d7nIǏ.zf_;i4wё4PpgQ7xs꧋73/HFAqI.z{UUDE$m*`z_z#澮\\ef݂_9!Jd&~~'_g۱U+,T[4Nsw~e,ퟰ÷Yq/n.oda-ߢ࡞TZK;=A1 -L7j^߽p#g&j1s\W#1;q= E+/S1'HL% 1DpH砘ohb XZ4KF &,bv,*Bǡ Ӆ(&hAJS[^<7|; #'U)Q@5Lot)rb3 ¨ A8.y xg)<z@vC!u,ۇ9(MZ#)  | lQ1b\?v5W*U#`pBE%bN420 (P02hT:}9>pɖ T[)syjƉg)?s7ȦA((KgPQ!dGA" Rc;D 4c.&i,ǩ@f(!kp:F-fe sb.KDJ  t/xl6Fɱj&[r&k)x];e.O|;D6KUj8)Z ؋r"τةKH|2t<3EI@MEb!ol` ,"e~(&OQB0 -NPP7+[>qzЌj9W'11}:HNc602xۨ#C vքF}Y=/ӂ%'nԛwԺ?;6YwJknAxyggx[Z#oDO:&JEYA_^ cnU+7yQytlԖ,?1.]mM>)F ;rFVQ0/ 88#wy@{?]złz o] o&wſzSj`^E- 77w ')Iw림L޿ozd<#շnj6ax'n¨sX/e%-;_<'u͟Iꡘ# "b8vO7RcTO|:Yxԩ?>l_Guªb:1{[#7Yz-ٞ -=Ql;qξѶUZ,S+M>,i9 oEm,Xp\xj,s8K.`mg *{'d{ CI1} t0'Z"<1bQj R 7FR))u o0QB3RBx-ZMNC˦bqa4C&ND/LHD@#73=$!(Mh`t)غ$#Qf&x*e08.[W> sn->;&6 -sXB]zm}^ (?,.H"&ٹ9w#X.q6+Vp "svB4Ƶ&K7f6SG3lz-(Lq\ "Yȩ"9M.$s΄hTc  <°0O}.ZP$! 2ߎtC.: R3֤|mh9۞e ЄdHqF%p&C$5@ֈ8RS7sYl - ')/`!{IK);)K/gĢu,&s4ElFA-11eZɞV:h gВoV6Pn0t:̲|#K44׊`i;<=OZUu'wt7kO߇Rc)܋]X%O=*+</{st8~;f'u8kC ÏҳPH}Em\Y.avo'0?s=ij{l%4.f1h0$.N;rp`|=qm4GO^h -"sL7B4|UϐG[9!PO7RlofͿa7:⺋le.FXJe7ޭ8oTKD -K `(&Mڧ9ڞ M3#" da -CX *3ʈ"17\.;u]tTeC` H LX( b+T&榜xP!ՄD gB9L ~i4ɱhQΰ)}5ff`<%N,: -)8`Li?={5iF+sbI?"wqbK(MXKZtZ^dA8cQ*[̯wvw3dD:4?N]<349}!q*S#d%1)"3ju:pD,!@v#1`P -Dc'D$?ORH&X,3(h\ n@qDA"'55 I E<"#Ϝ*NӼ<#3Y$MHH@%a0.&S"D/Ęʾf\Fb&,Cf MrYiF,OSN&J1/s0b&$3OBJdyd -4F."D Bd#L4'4i$?+aSiSI_[%R1\9T"M?캜 ]6T.G\qQ7:7*''}q"Qi#b2A\}_m.]Kbc/X/c<3yכ7n坹ܧBox-֝l+X n\K׷ВQya8hy?;'$.*tQ -&[8X~7ׁgXgn$8Ps b+Dwǐ{PZN^J! #tĶ#G@o -8,R̂n~Xs>A<R$];&Y " 1ap2*&aBF$ 1EKLx8+qwHI;fHi24CO@8f;~XLQ`Bb<Ȱ! -X\3 bA]eMUw^[oG@CR`2"c䢹y`apsb-/:q$3 SlG9X8u V4% y&6| |1S+%dD -NGdxF%qMRሢSL )QaQMX&tGC8nTVyנqO ^@~FO2's.0P x`&v9qjc~=< Fs#{(Lb#fS!$,%!C^\ۊ)$e ω0`1b`)&M! faЦ|Pv>6gED-fx<)hE8Hb3N -xRɍ)hyv@,gժs1Nث~vq -P` et[K1!k""ʛ*`N N/><O ݻ7ʷ - ol}:'|?EI*&瓙kLɷoAu{[YnJ[ V U^{ҥB^!18hYk/!24!,ΈWK;s+rB hd -Bfv{O/߽riVx1pvzp|Ӹtڴn޽uY(0 q%SaQ[%կdpv.Խo%^]\D{i|0F)umP[S,uOW'k%iFk vom]3W6tt~IڊHql CCz>/9)' qD1oR=K&srvq߮[J~1ϭ/5̰ۨ9(b,i~tȳ~~ز3R(%WNqe_uv}`%#?>ΞH<-V -atIRiJMR:dS(p"`K)14P` 2&\XdO8{ǾgǍ@KM4p I0GcB+idˈX }0%QJ"/!DK!Tpbnc?55\(A^b R :sKq1lό/l^mL0M-ӘO$G6[>Bff2$IK8BaJQ 0Y-3g0ȘԬ00=؈KJ!(y}SÛgz$Yim " S_^Q 't tq99S\O#2e17vޜiFmegD R3Xx)lE&pҘh0h,bL:>_ܒ 5K_7_I:(!WX꒘Rwaou}KƭNcDAF~ml 9K`+U"+pxFAJqws * ~͓֋j36IJ]V+mf[n?M_}zBh`{jy]n}^I.zaar- w0GqlI9V5ƒ ;X=|o.}d`mQ]Ɩ`>mRUvYy‹M:ڽJʖo/{W_ j၄-tKh-8 N\*7#]zv+Fim6JD.ճjW/:^˥#c%y_>֧A-\ln}çsʓp h޷wqҶ9hbT 9WT+Fy/`mzڮ}),Hw]ղ9Q;8W4܋iQH!QHõKc NO#tP0O9ĚEDuPΙ`"Luɏf.% K K]b1YiJ!iEޱ'cy$f$3!τIװ!Za(Ib ^ -{_gtZNcg@V@z㝾ޛo.]l|L>|zW/=n:˕?_Zq>tw6 Ǩ6kPƁTSYzgiadFlc N4 pDDEM=``ZBLt4gEdޏ^L(<<ۇhgPs:)OcjIuOƒShKS&2d9ʀ\NL=!~K:# ؋ps()"*€ Vkzp/|WzY?e')RG4$,KL`{}7aN ̌ӎ&"5$8u`Ld|-xЪŸ J{eF)0q;Dn5,xixu!5?!r M*LsNR`#qdiBG9BESYv[Y&БbyU5|K@1wdVt:@=&pMY&L$yƱ?9u=d5sOJ:bi5C H2/TBty8La黨n8h`: A 4 c)]U*f<t5,Z&3mHN#S!l1Kd >" yp -MUiIT\P=9K *YzN!W+BeẮ6`͛Y#VmE \Q2rSp|6X:5 .dTO: EZ~?vK=;pʐjɆDZFژ#</F;=LbryCQӟ} BUuq|z[sATatʫ "s`‡{I4H8R̷ۏSk72_A|瑟|?4}kgtc'[=:p/I8%JܑTbX#mٮs7pRGθ5И}I"֥q6 Wׇk3$Tm(tpmV)ɿgJs_=so}od3w6«lhYWJ]K+ŋs!\+^fcT -gEU'zu8؟ ^I^hUM-e҈s"$4nT7Qءu*S)1H ]cCb?d +噑AQS& -X$=  "B%L QSy0tI9`-e`xDC؉D PjebJ8ֳd (L}I!fcDAg@*zsgrb E"&C璑ZGIg~N;A*~I,qNRs9IWǣP.fdytiPL8AVYe^!%KG ϩTaS*TXER.Ze4q>RFѐS_BO x*S$"DRA 2" .^{cTt/zUQ$xh|QÂ\P(3$@=Ӵt'R%,V"c¨LU$D ' 46)FRTƸ -⾵f}ťw۽4OC <9S LCw3nJksL9); (*U_RWR׫ cQ:łaH B}~ݤE3y̠Z2"e㢨R8ͺvr8 ¢W'vƺwm{/Qq*Usz\~i˫Q[ViŵdRjEI90TbײKe;DԔ?}acj{'Ϗ;Ԕf[;OZ/os}{j*bR1}ɯAto~fG_Ɲ#v~?Ueo֮C4;]KunM2|%ͷ_V3'' 7"_wwYMK YVysPm0NڦwxYښ|ݼEtظl^ݔ^oT/6nZE_ih>Y'2sr"|? JƘb=; U[BaTKݭu[ߙs T\F=Q1 -3,W[hRUv{#͕a)+kIyaG,$Hp0(kZɎ"3eicʕ %$ D!No4|w$ -NL0`HLt5c,W%E[Mpp&dLS $@"jPł'#"GF<4tHtILG#2UP*) v@jsR 1!9N$,ĆꖒL) >H2Re=]!NbJz''P1 tW jګ |T(rE0b8T^\EYFP&'Q*E5 EJyM9\ -2s - "5LA -0tȞш !(.aVFڿ'Yq;avkR_6留˰uNHTw^~lv4Q'8):=2',S#8V єPNt! U$2O3x>b%*0 DF]xG˯$ƅ[qӔfj(fDlJM Sfig|Fg]R©|"dܕMCNJH a,j` J;q:8Y6Q˅M륭]2}}A,F1ڜJ&upŠ8NѾ,WH%IFoO"ȖyQ[傔9knŇqtFγv.''i[ڕ+3:;~/-a1'ovԅ؉t'-KB6ɞyV*QONV aבJkv82БVoj1cgzƦ#8Wƒ7{L.lnO^]靔8|uvɕß~[/u% -i48\z?x|>@^>}e޵yĴbOW~tor^.ԄZ-{JA m8U|jQ+A Y>w1*4ōk+XhsUN?{x<~ c?7q?Dw-;4#N(\R6` N=N&fRU"){: iI&W X1 "x"f~,e&dŜ),Ș`&SSfG#& E+0L0rRA+B , p:B "&@*OB#"C! &~䅈Er*IF#q5gCBY2 e9p)8dS0ws{ &!ǦLjXm?BIeq,seT$p."SyR(,&0 {fO ŬZ1P+:|)@ -1IsDۣ^JpFq1Lc!bC;ƀk6F\0đIF~D(",08bL Ll=T7W͹ W^+R҆&To 8A|"ހ^D9 -* 8b]+ -O~td&XE50PRE$҈k&5K̥th"AF8a"K\IC 3DҽHfʳ"{FV{sˋ {} .B5ƓDOI#ȁj@(^ӖTi~4H Qwq&%y=V×9&z!B -L *_0\JDJD<HP9eq ݯOΐ.+F(' d|Kom^\lz.|q~eQ6 "Vz#\5rFiejFvQU1;䷿}pڛ88w_{S -u~}cPA>u [vw]癔B S5Z.s2tջ7/^}j"MjiLБL`3 {}eTV,Y*X~榥զT 8w8`;o]n,$9^QBe2@Byd4T>~JwӿyE)#"z[+"t?K Q3ԓ{*zM7 0y,< @:TTaT̉ PKB;FXF$P941qLmVҚj!CP)RR~ Erdy"Fi%1LI -5f٢:MS̰J8$b"P)€<;Kj@,OUhC a9١*)=BL8uLG\er(!&X,i T0sV !CQQB jӁ@L : jI -%ӚQ iRlp&.?x⊝;,;k}{g;J/+Yyh^\"N[:"z]u^\$`ae9JCAVF@NC}@e0 XH4ޭ͋on+Y+nZ|=9[ܼ8?Ç'(4wg3)%>Iuˊյ7?US̀%nJGV$Nۊ,q&'SsϫҹDHVj`;$'ˌǦ:Ă$6`]БEX}xw=퀿R),D44Y2m*$d $FyVg'XnAږn↘ -dS^ -~Kp@1Nd`/p $B%EC!fn^_HT 6JH\oUb3 % -Y}kay8_e$ۮ)=DKIr!9;9|Zh̉}j#HD9]dbY%>}9U45%i1+ViMrBX[ċ7(>~K%\dVfpJnRmZ{~]7>r8ݣCV7. -ZDc4W>q=HL(WGr:JBXJVʅ3HÖHA[uw`0L=wqNL&|ppZxi>?<ݾvL MƵh5V,ʝ}[g - T*NU -3LyY0:cby7Bl|zyǞi"bSKvn~{@'ao -'`zuyPjPM -40r &ō"/URE,[O{D֘k{O_O,2͵4 ԍǮ*qN/_3YIgb+O bbɦq&BҨ $!sW/&=.;a BMaO?.u))r=8`í~w[_5i.ÂKg{'Mn_7V ͹ݽ%MN ҝv4Rf7'2D 9l0!`"%ǃDW`bYUE2TBPQNUJvHDJ"H9*i9Y]20Љȍ6(!Rca,5L"! > DZJĭQ6{h;jN,aə'IƼdrUHs8zxNMUr0̆v^>chDE7k )Tl,ѺdySrO|Bf T+se{e^k/]9<<i5|VR쒏zIű"saEr. -2~dL?b.Y\n* -- -JP\ЅMOh2{ҋc˟HG(~z9*eLN -a&…ޓEEM&c{X`nd -ЖݦK:᧮\`?` 1N2v -t+q,<xH-+,pA.E0 wFQJ:{5W^gXB kY5}-ut+oܸ}ݣ^eYop4U ;]ͣS.29&N{ř%*p"Lb0P2eCKxۭܺ3YqͣϾ슎xmcuA{;,Τ{'~.Ϯ.>xj"h# J@G5?f?%u* -V]!P&gJSN{` ??](bRpV͸.ӷ7ys%)$Uq  :BjN_)CR숤&?/\w/~"b]4tbT:ݨY9?]ɇ,@gVk&NkTN<4k;D涔Ƥ@i4J:-M#(l]XKYCZäiϺA].V7_WN??^~fRbɗΎjiq"G4TF\{+mN5Eɒvtr氣$L]I%$0x;ިnQs -FޑQk툱Y T~T51K^ҁ$J"TmQP(>:9o'$V곊%腓君U련I$ygg=vk)B^l -&~c[o-B}o{G6tcRYXŽJFŋŶ2?"o.͹.>͑/CB$3MW!m\ -8'$ -&D6&a.])ՀAꑾlM5!b9Y#sQ@V -Ȕ;߃È_#~GTE9eaD4rbwm͚_Yr4CQz֘Iz\ l(δ Ygj;t{D{_ǖ5_ \&u'~yWPϮ"woG"BI^FT/T$E}ϯ0ͣ/s.C7!cg)3vH ~(8.)W~p#{|NZِTYڔw.\Cu0o{ƂZ'OF>9~sp=x:N[㜋&*.9Z4Gj"hGe(Mj4)= R[{чGGW\p$\Rd'S}Tє;<'/c)@SS - (sIzǿϳ2JCHΉ膢",dv/VQ}ͻJۡL -TǒecCM#`IBR);N]ba4mZg=prMa4ƈQzxPA8&X]_hϮ2#' 05qz -K89?;2lVr +jD̠%GO[n8)}΢Dʅ -ٍڝ/=zPW\IbJSw<wan@DŽe))k -mADNXe.- -Y;jF:;^u@k ϫ}AP5Q.N5V׿!7l睻kgہ{|_}'vG^2 *s?_͛Ȅ|Ow?WGDe*\[{n٘hG/屩n~}JC/ythXr%KK jN槮]\^iIfL1,BU˃n0O^NpJ@*`8xktc/ˍ -]fym< K{(_%# ;ךpu:TSš)~&y{z+y>}k/#>m_{??%u䫽 - e[*A򙅂y⟿;ߖ{c'v;q/̚H} 8IƕA,0$HIeN͗JS5į$o~FcaGB:٢`!Q D()S)s<_5v:f!0P*_ߑwCݺ3P 4Rgv7M6IQŒx^7=>~3kHHF7B#rus"뇪_=+~BZad= yp'^t0^uܸXd)hk81)gPea=_,ya\řfB2Ҙ̚qnk9Aoܰ D$y8\4WJ.]IN0\z@>F.1?ȣzn2=7Әma)I4G(j3R#NDѨd*c:Q}##ZS㌘ xB ]|FױQ2|qT7fo>0Y L-(La=Tj^oڳWfOn>OE wجQ"FFME4`qn|,Є@ f#|8 . }AL%0vg}&(EAjFΕ}X\/ K_+}Ϗ1MaIN`NxH9yQ/Șoa]NFT"MHal ( XMp]zLgC4>펧+1zUTP']dUIQHFa+<ֻ,mt0ܣ%EH07հpN5~_,jo!t ;V4ٯ7^sƪ g|||]_޹Ai&[Ro4 Gv1;yTk k_5*̃JwjD,#}$"`S-߸c\a)!Oͥc3(N hȌ6Յ룽|!Ip8jSi_I&wsc/?ѝo|pß޿u^1;L(n%wwf.v\qT__OQi:R*d -E7?΋NuuJˀ C&m0^:< W *hFӋ9vGqV#hEg~x'r4ljd*HX&wZO-L0S {Oó`)^_ߟ_1-gK=OUs+eh>E0`1\09չFKwͧW#xؐ\__z{*6w 79/ 'm~ - -VG` )s\ KNcd|Zf[L7ƆDyxoz~SIcQMk"66GpէeӷAQ QLZ*4hj@d@xغ~7ĸ?`ʞ f qIeF+F )p+Ɖ~[:'1q8Vƅ -xC-ƙ4q$Rm"s+2,ߩ"rɗb>=&浽J^Ӗi7A<(]6D{ȳ zCB. -|pi\lDy4i>f|]:꘢ X(&0,c6H#C4WyzxǞG}0HBLŃ$RI>V3Gj1ߦ1cp础6Iȸ#`)Osv--WrZ"ug7O M.pM i`XFu -.fhh#SF]US@:T8jK0%YEk<#dr}0dpDjQDV*`yxow <?}xaLe bAiUpa bqV!"),v!&1n"9B|B2b)QPTehg^ұxJzD#[!>MCɳM \86#GLmUZfU h8^2BRy1gǯ˯avW7d7;6XEq+_:gza')n+riu7ic.5V"q%s1RL<:U/2VtCU}ݯBA_+6M$?}wyxrvLj(%=wIp*HMF0Лȗ>,lQht|xwF}nM03o^o,lХn'xލ|xhCVZ,H}2][y)Nq:v)ͥ74FV[{Z^~jhfbUmzj n1Z'+n0[<VҼ[}‚W,Z=2Or1;ּ <y:`db+f" IDATY)w7 X% 1C -HbD9!U{' G} Ea'q1*p |0m"g rI8W:PMw` avZ -fS!ahxg@}'.=E'$!![POI CHY + -nϹu${9ex 9ˆll)S8 KЫ k=c\kl <R,Ϯ͖-AjPy]1 &Ԅ]Bq!Z39~rO 2wqR1a( -8>a`iml[ø'(Y=&=A`b cA>٣>#Xǟ>?Zsm@ 9pH x'ՀSAW]qpjtJ~##Rx*Fb+dܰNw|5=L,c mab!J}i1 v靸D>Ȅ'ݱKۃ-svfAdB\ "/7N =/e@|ۯ?z 0pr"ʃTZQp,߸{r~S8=U.ʈM..M1ڑ5~WgS!pujAX1pɩ=Ezi۷řɫ@9]jCFb%#tfr\"'XNr帺iUt.޿YcMD4 -Kp$ 邜 ¸HH췻'.8L̂\QͲv!]j -^{CBWDž|̀\7g,Wx4fJط.:jD>Hl6G_>nOǵ[iÕ3@?ڔG27!RJNxI[[W$\[îNLm/}p73%k8sf6UX3JunvB4#z]iָE{eK%ʓ8϶qv5v"5tǦCK]='UU(U zη'3O܇>b?:T@i]2ogf4t!Ⱥ$Mmp϶R|wiLD9b:镻 -郮D~za*NQ$ E'F>ַE!9+ . o<2LD@drFx- -.Myɤ6DH GۅpZ8~MP"{m|PyQ --S8X1)\R5 hv{9?S #AzkTm~gvK8 t !mcx^4,. 4UޓH.-2 a$fK!=J>Yi͎owΰ -84"0If0B>Qrt0"0RqܴcJ3w/oO^׈BSx)8C;kwf[%N'0SƾR%Hha>y0 |Ԝ]CƷWg*ԈSp0 H0qU1x МhÞCPA?yE:mu3pN@EFP >"^6ܮU1Ի8mm|VVtLBó& u5 -Y_gRdGdqJMEB)UU^qS^1hI8Or)QvA+g':dTK$%K60ϛޫ~jJB.<27q9H~?\$WEJYMGf z2R|rr}{eg`УVp;[Ǎ}Y\|b20-ǁkջ/*1<n^W1NszVPm`>h8E˓o0&7W̽շ޾;]zTNꟷԢbwwڗGʫ'$_ȕ7Vbi -.[Yo?ۿ8Ƈ,ȹėÓe1jJ:!++0bTVK5pԌqKo޺KN0<'E -twYe%L=J&Gh D.ܺ\mop4M: }Rڶlr24վm1xw5Cs! 6 EJpQf0>E\CI10L`nxW"YqrYނE?貘c]֢aazԀdଯL,( Mk>fDwKo .^|IC6 GzO/:WL1٩( KS񙋓'kQa۶?T22qʞzp_DzIJxŧ3($BSLi0> .C xϔ$'"A95oo$=udY -p&^%{k]G bF'*7.,AδZ~Bڵ;eDRdF!$4IU+ it -e7;w#We;ӃJo8LXJ{cCQOi\:C|ܠ=ਵ|=Oeg?IuuNi"OSC RO;TPzm=~eqf:bhLtq.,CY~ǭ_lώΎi4׶6WXĴ%Nc{Oh2T+onw[?lBd>=ɒ)֙/w?Nh{sx"BPAfDZLv|pYNe0;%^-%_bQ )ةQ;[/ dVg\aGKRGuVE]3=Du곍6kAijiL+x9[=< -3Ng5b8raoL$EWR^̋K{.Єb/k8 |wV$ΠouF._2,O>v3;΋Ơ=@<R3?ݟS{\wq<\l6C<^,ouN,# s',e4|r뗑n%FSr}#dGѩLQcԸbN)|$mʖ1?n^cu0˰sFFGpHnhc15[&1a2uPh7-b3ʀ쇂ހJAV&yxLHh`Xlq>*NA|}pϧHl<n; q̓RXdEepZ_;Ek(83ԃ= Rvir&ollMpX -1%9&0it@`,sVG2IA^2i[}/KD%X#:!!eF*I vzt^5{Dթ `l 0%k/X`OMEprn 9Fn<^ɣZ\ -كvޫ@FF}̲m   @I MaLY."=ԅ@ ,2䆀#AMIɶ(085d/D1N1H] ;4fCMXⶦ+Wu`W} ++@8 x}8=A1>ULVg2'8Gͣ}EP+L[E+X-]),bXPagIv!a74ʭ Odxd?wKVzX4E`5qx~͞XX5 s>L+8'Jf'1Q5[kJ0/.Jc.?m!|8D)Il!39QQŗ"86豘޼0}eqAǫL_OQ=Wkbqd?E;:I#bV+afJ2-ϵAT)pT;ēU/-UzxC#:} êߛ,}̃q˳p&RXbϘ uGm?X1]z + 1whIb.(Xۦ3D\hdL5-ǿ=lB,EU NyD֡/Qb~}vGZ ]eLr.XjL ڋRK&=LO(Bed`&aبyLHK؞+M7pi q]HI7۲BT3]"1(%8,t>9/%|R C|u5Y/$'Q~u8{uZJ.1gn'CN$L<`C;TZuHGDzi|~^}pcn e8;͉{ -m9 خ'F㙙L12Yj=)"t%w[]{=i" -Z(MV/Dk^k{IkcGymY`4t`$SOpSݑNβirv4ad44Yd&b͎BGxc均oڵIDXR -ʎkN&Y,f&nta-޸NŅS,6{Kw+EYδ{Ov/G1si#L l^f][Bfv/D/TFOMPV+p7D?=-ReLn&'B}P3m#6kibAck;~M1ْzgs%PDxDCSzFLˮ©_08}ilS.O*X)_L寶d^6s൵|Ǜ\A6[NSp!Io~_sp꽇,{)?+MBHfR4Ǡ.<2MfU} ө@|FnO.uJkKGODjUfφA7 -j~_G\zwOH:H(z,C8۪:DO&g.{ttEf% b|N6Wg{UY *#uq`9N#ҵi/xJׂa 9PF#11pՁ&֗:.* CQd2x ~y -:hOmBK8_xHL9(2!1>CX! G35g'2wv m] XZA7>}~V!T'MکmS0pw7>_o>(NIÖ@UjAyt1#ALJŵoTm$صۏc\|:WN$Dp1*E{uyDJ6smIOOΆfy"1T.pZV&u&:nf7 .O6jgڐ}VBݐ_}Z{Q4);~![ˑܘg=׃)ρGOLF^? y?seY?oےj$ ‰L1&pXYLBJ!0nȸDZ4%iy;i\s(P?4J-z- ҂<+Nˮ7Ч 9~,-zT|(q!8@lXu%ɊTum_vy[$"{93s .@hKAOh m~5{|~9I -"b d0ʣ-=N}yr_׽`R?xk*<}GpR!LFc1l-14o=9껃Y~ lgvbL'2$N||6v"=o;篾ssޣL\N}[yv=~g@7_<>h7@< q1M:;o _{zcr}G#R?D`\YAVVUKD {Be;hK~3e2Ƶ#Orf^gI MӨo?KЩykN SIMLy1v^~K=S| -*0ǩ"ɗۂ|=w] -B75mWC[{o]Mcrgp8~v{bl[X=?̱ŅB=8a뜐.qq 9B"7CVVG}oh -<޾-0z ϸx~cȥՃO`{0%#^`:dwHF4if!%\Kumj]hW;7B|flؠy͟_ W?H%+-`l}! E"-'IĈFy{̓,IM&m{xwDv\᭽SsLH7t}T{CM@#7S@1` x=~)9֛]JjP@!,Xnthtu! L 8iiٞMNBd O8Qdmkpeez/{;sl`|Q)2GB A"D:][## `"$ jIસ[!#O\̱JC68:QFGg0c)Dv9k*x{jrbgk}%!JEW'q̬֚zieu`> *׵s0 -IqS~\v{'& )?l:be)Ni*ѻwSR gn_~3yGbt::FDIrxQ=w~L(u_ GI=>yi+?; z/5cw8XZTO.o(Z~nT_tOP/VҊf -,]OVTJLtbb6t%@Cbpi/|fL: JJҫR$DmNޔ$DT"ʽ?Y*iϵWfP|;l^!%33y j{sYK!w -M!7q6I*i Q땤815]`XID2^g0 g'c,Io'xcsT,] NH;RF{`4HkKkl˦RNS3^6,FCM-f$>^i/>(\}sjX ~GZJAt[S,=$'O6_~8?f]nG9KKLQp: bvf$[,=F1H}50E o-^n$ڨ45lr_i]k:̆/z_C2Ni*aD/2u $4).'`|8D-0^FGj0gKEdML:S&TH0pC5}X#0?0"z&:pu񋍉1_F|KIo׭PZO|yrM b;B# ‚$|NR`Ycm`f`}\ucɪΧM-R&_}Jd~3&K"ę6hmc,_pe54,"rz7ҍ1\xMRċsجGg7 "e6pPt#1M:ꚍ,45lHH!xsnQ>!3$†'H\"N# -@ -{Bq8VQ$e#'gxqp:eb_K@42I!+{s"#l~'իq2%[/^N܌3UM{yqwZO5v7M1=-hen]_}n;>#5 Ct$m5)Ӈrxb[84jUKQĕ+dnkK9a?W(edOZ{֐tp}qm8Lo':mgu8YN ӣytߟ7)?-ߛ"P#ole~鋯w4ZM;kQu1KjurQ_K\󩲴J<=:Ro]1ЫGFUVR~yK.D:/<\Xx|e&;ײ -ND8?4Kj[Q $^oن{?h)ma 9+s.^xy&t^lLLR o5=%\0#h+. JZbWo]ӧeQ1FS hnLQf @L[AZBc -_8}a͏?m>2v5Ⱙ^6 2ݮNN~~ްI:yTsrp9m8[8ezMP}%Qxlz5)p+n 鋚Stp*6Ħ#N:sz斓ʬSB d-js_{',?' { $-Q>ŀh[ 4s$VzmN7]}b'v -_~~q"|_lUg}ɞܼD|@ҕO>/w7ïv?lo_}o=ŧ޻p~IVȗGlK&i9[mr&DhtҦj7ӷN+z׸8@c*c0C_1?B?ˊ2h8&S= ;.iW\`5? ͫh, ! e8 CqL0d ̅L*۔743إKqSU?'=}s/W/(q16 ] 4%:0xUt"-hTt:Rqa3L7/:\.%|s❙+qHnf$o#"&RuyprjYj))qN&k~p ')303ceo.CtdžN"Q86zdGs E`.,_@Oǃ< -X3KcM]BjWZ|,Ucu8{ -:G4KS0\ >L/OOf'MS;0av(8.\2R.[` *WHFZ\ &RaDN a9iߺ{#~1`Q @g >7O^[g-E}'a$}׆P_<`;?ֽ aŚ-VY\Q 'v(6,fۼa2񬙚WYBZo:8 _q\|319P% :߄.\=gxl̮֬2=7E݆ yc{p/>*l~#j-NV!u+m7ہp`3kw! Kn#_ ] 8E -I1,!d)Ʀ矩.mdn,h<?i_|r ,;'!%ўuN_}]rH tkKRL|xyYn.}UDY<LesɐM|^|Pg#*{0-5q5 d}?z~ګ6(Y0`a@@!"-7UM͈su?0Z;B 1 @x-1tI3 ]\PL!Pk|<|:&14SNpL -A#6z -mdk$h=<kvx0KS𢠢ů ΘEw~mS@cDSej)`4'h ؃~1Qe1bӘݧhli2XQ^$ٱ*nE Q@RPu`q2@;:B2JӬ5+ᎆaSG! -&Q;w||Pݰ`J|8YQwO/7;(9H"fw † b-e` (00#aPFVGZyMH(ӄ0E(@̇c(h -GIցKBF| -A:8F02df?JM^Thz'B/&UGq5u˷yz\')TGMDRj3ƀqNlp.\=]'sWP)4v#=b(wjPp'{WO_cfEpo~/9C"A(y%OfYs'iR_\¡P6%l4E¸h:%,_bdj^4vmK?{rrP 'l\GoO`d979b,uΨ_}{ZKGxbm߼)tǽl.j{HpBظv';ueX. D[~x%OF.ݣəLx~&> DSjQpym˵ԇl͂)uSXxCHpJ*I/?+AD%{ Ex$`@stTV^%Cc a6@@G4Ad P H&HdiԖQ%}3qoVy)B-&?{KO^ur"vX3qtdjX]JGOzqv^z NHZ_m阇Dc6%CՂ)^$5zF#. XqƤ9r[&FXv8+ֹc &ɣ( seӣҨ9\2,EBnx ?9ܫ/z GR{!v/hR&C $]O1;_W5jےF: -2ǘmD huۥ!"kL GLl4P@Cw33[-zL7Nх\*9Z><<}vzilL~F44r+6r,x\ZnoTu 5 -g(2%)-D!9Â+dSd0/0JvǦG-~jlJ L`)?S.o^ zVwEɔuV֭~l|Z{fX#fhX+%՗awY%q8`N(.@~(ih,%'SZ,[0M_wnE&S.>bEB^wF,|y#ysqڷ'y %u:4_TOE|.:j)Nrcb6QT8=!Rn?M8A5H~u)5# -L)c}B@"R6ًK_{ -$XLbi(&q2\a2QPAȰq TuGU!`u@1xXl`(X 3ř< ׯG#4 xh6Igrp,fǧ;U;Ѕr:LGOLp]>$I=xɮx)!\X!bZZ8#YeW|͞{xS#"V px0"0E,O04BYo.bzh }# Sכ/~tX o072GHC l5pp8^OP u٣:z, {x,9SٴḤ[gmJ; ZzVcBxVRۿÞqjƳv,KH8:'MNp?x JvE3XYKSt^*z ׶^N6wwImܫ*'lߧ -sx/d=S Y?Lr6b}qi g!E,q!U-LxW{/1~(WܠlmZ篷uy}]w7qdv?sQ -kۭgEtj٘`#* SA 72r8D"WNKmbI' -E١|BhR^3Vc8iM#!_kY%?}jct4t:nl %m+9!N\PgW~R?Ilm@܎קM4'~Ƶ)й9kיpxL@3\$j좼&wj%Ӵ/~Z-m`}<8K:a3Z$7vqLi8*N+8wL|G z܀*6t puNtps <t][E C,N7Z=C,fX0`4Zg$Y0MÕ>Z8a]5%9ٻnڜo[4eaLѧ(+9,`v]Q p۶<A) iEx{CfQfyF"dfih7' n&'QJ b@`5jZz"vyphD=!Um|+;w]sq'$._W }C:Ƙ9٭!Kyd`y`u&&µu[,]Ct'@D;! -"FQ<@$+R8C'm$V]]""ȶ1wAL9v6hAŃFErX&,$w7EH#}g+JS,`']h e$Hk`>ўuK -@D bH it Qu{rƧǯ˔I"m?L_rI"cYgydyOw`g$9n_:Q( pu>>>NU:jnlKYY"(ui'ͅ ^(z XfJ -,G{m`jx<$/}KBrC084S/_63I&f--k:^i_|֥B iS92OF쯕×(WƘRcȁ(ue %(c,)D4k{M -ϞBVB.oԶہz*#=1Љ4*.`Ck$@P׃|AY&(D[@ha&j 򼔫HM+v]\ZW9#0 AVXB4EoyA tGkRpg6,W:GE`mlODSI1"vpm:>'֬fd$CtF( {TwK:ƛZxgqCNk4̭,.-C,)W^J o|[8|&`/#,s_s)}YvL|_|W ״X D]3 (dYӡ)ت;&ލcg?7Sw_~pw  vݣPP_._ 3Qq6+~T9u˜iq8Q]M 0yg%82ϣZ'6%1Th eBENѵDjj&aPF@0'cs|Fcs\$"aW[Ob -zz\Dr-4'.{z7`2_}rU -]wzǶ6rٛ@pJ~hp^VDl8=^P8cr9'.a?\E#*nO@8K̭|w/p.LOvwV?ַ{p3I60*,}#JgtkBn&AA)Pt p{RbUei `0R 8s}p!S2Q 5tZz$VU3A9 O3XW =#=GW79?<[&A/JAk*ܗ>JLxdNbRMUl,LVg(0},?tQ.@ՓAUgNAy -Dž`Kz$yK Im=xy Og2\Wm`F ٲ! AͳD\7(`c_Sc˓Eߵ -[7F "\"L0ȔB}x$QԮ ڤ-;_R(@+jb>Tp`,r04` ptȤ }`Re޺.85a˂\\7rbUzuR".<*@6ei31hulj*0:TJ d0`U!0kuQԲuBۥp`C ph N Nj G$N]`#ҫ/W^vj[E;ZOmtZc/w3uzߎ^贻w6=;PplDr~ݩpҐApeboLK_G6|r~\8ՒۄYcHlMnaRCXӜjw) _/\`ɓە^%S$c` A#8wos+Q!3Edi϶KcED@]{)KNO}!3aρNNg_|5 io.|ٵ\6]}sN"ʫJhkLk IDAT|dv2vlNp} ~/}W'iT6FI'Or#+7sLzeb6]ZH1B2̻_f:Huk"KzsuW+ә\28qN܌jkw/)U?,=;jΗrYcpqH.~Q5›Y8x6==+x8sA>ɗŷc2+,}Vm@kxY@|zMH6!(ڕ4[Նg@ ˛B ?{1<ԨO40RQCj{ ha7j^0 0/9FN 09ϦݻLHI "K&-.p?,\e2)J2R]D D ت(WW,[]a6׍h$s:!w tNM_l̩lqn`meqO^Lޏօxt/?31[ U*߸ry?rQndvO߸]9u>rT۴%8:;3ʦE ޡw.^m `Mxlq&8=TX;{ugŴ|tRrgmSƣ.kkpvjZ@5|:3;aKoQgH̄<ɰߗ桴$""i뮇/\;>L.S -A+p\~)_lGk -M-.qLGiEBj6|1>6WQl}g`+wX wYbg:rmXB&Yrj mkA GGb~ ޅֱdJwb훚{!tnjrc-^cc_&:ryЏ=mA)OIS U+&]~j!PTؐ[4}˳ ~Cap fT5D{.Ωxg#s P?y&zۛ?'G| Cp:;&Dbdxb -x=+(qh5634G]Æh|ՋF3&Kgp^VFdA"Ʀ&2өChv˚D"o,#Z73`TfϟMB{DFz(ͮNSjg[٘a_hcdʃ0hgg~+H^~Pz~fPՅY諾>_6wqZ{X (ݞ`=cc&-' l 7@F28t*c55ea/rc<Rȡ@05tdYLAu͟NXTy#Rsd.JM\ XgUv7TH.W-*L{(Q׼~87$s"a 1+hD lK1 I$f&f]݄x(f@es#ÙȀXa˴@ 7PQ}8 -12S*+[:e'[;16F\G٩T&Lt;NZ `15vٱx[.[X' 1´:#4HQ1"oq @J\ȑ7OᗿTz 9\GR]VG,Xq/D&:g/}(\Fpv {M 8 -\9<F=_|GH>4a -$?^/{_}^􇼨5b 7/h ^uo*L_4%`15R|'ө%՗noN}tpn %1@ [GLÂQteHFhwoϣ0پ@@A3EK'D2sg905219B3)/rJGqӰAə&sc򠮄[(ut0}Jh'R!2\d K9X;k[X3Vg=l||veb曟|aO^0ɸKG-n^nTg㓗_`/1kO1WJ~3lfJ/<睽3d<!\3ss+=!ǜi -U >lZ>?OjL.uw[6* 9s n4t[qs0A) wc5DxZjH3~x}w2У 9ܻM.5K|Tܓz$e.Jyto\]gÅEQ!RY ?hSޮLxQm~;ݒbQz9JdOGri!@.B|.A,RAE/v?\=JPMpVwQ|V#/"A<}uxy6/sr|n Ўcqx [-4@mI{oĢ -'ILYy#$5j -Ѻ_ -+SgfjM"D~i`y*n<6?;.=Ϩ٥@k _AZQΎ7.1SmAa96>-\ ~()GvZT>}ެ&ÑX a}]aP_ OŸi<2I$ȺJX^A(h -b1#8< 3-W,;H- ذuCz{ZC,cu$S ô-Ͳ 1R)˅(j0FAfpz لTQs4Lr60{qvX%)|}sNFCvPRFƽÒhw_>ƏP0K8=A(r{=ZHׇ6:e\CՉRq AJŒLִw޷t `gDA0i !Q#ֆ^S'VܲOzw@9 -8и!HSl=TN2yR_f+J+7FfR5ts˩q%?/NVud6z"0% faCrͥ CQ߼}[/ UC ->Jٰѓ'{)d\۫)5AńDGVH`Fnxxtrs)U*cɔ;wXcjprĘA}iBg,siO Nrd}W&F(8Hh!Z>XJwu-OV(B<;XΟKg秃s{nYQ_BM8h{8Ot`{1M\9F2Ȩ=r8͹%~,¼B߯O"E+7 3 AA- ]ZI r^K8ė_NG 6}EȂu["h\z;t.58;3q?()+{&͸T sJRcKlڍh\@ - c rslר{mLs,\[Fo6#LC191׌@O.bX:рFчfr:qǢcז/_q5)wL $yg -147w5P^Ex0rհG]Fm F^UtXKOi ^X!m;K.bi;Ղg2nUo[/e/a6,ֶ)i’W8D-P[,K0aYW]zٖٖH,bɼdTӄҀLt] TB ڂ`P @v@E(ySa$( j!kLQt@Ds{]wkLJl#'ǜpPw`pRMg^pAÑŖAHfNvdX~"̨ua9~<>om T[5 Ò ģ@Β2U-ɦ̠yTU*a*b*t\2a$ږ&![S@B,۰E @aXP0N((MaRJ; 'Nbrz'; ^)RNO̯87N{_Q'AŦΏ;,wo _gR{|^3i=wsaöH`dDRS.= -;%͉6sqH-y]c+{s)}]:Px~X}qzb 3S+˻*sӲ?> 6OcYX:37ygމM&'5Ry99mhBL -Ibj<8<_=Xo H8є?9NO҅iIJ`M6,7GoԺ)yT;:m<Ɉo2cqEE-ئ6 q:+ć/כ5ИC9!q^ B`Pm/߸Oη/ V/LWg=/Rxݍ]Owf֘PhH!ÃpfV&ՏƱ D](>)Yjg%4 Kй<38z?W4Ó}tg>j#tx'p޶eWDP;INdpL{+hmbu"#HrKL 7=y39ĠM"go#+ۿ7PYCKM`# B2U]54t(84tآB8@fnLIҨp Mf#Q_pҤ\XewWTK*O~RŽo*⑅(F'U%z}VrS>Z#Q%+z{'|p|XQˊHzԞu2r~֔ĸGF}[n–}+t:Yisu`n/ @Aሡz)DP nEbj~D[݅L0Hq#vu؄,ו! 7도DCgǍ'NUO⵩i;Ɍf`UY|%w޻ hu0 -6NTʹIkǩSE5 ~G e G8>Mβ>7"q7H5)' 5}Ԃx#scC>g؜cnx=a']J{Ib&FR}Bwܕ!\R#@I霃\৯ ?:+x<ԌK\I -!#T5]9sqWeA?͞sK_hW|WryxQ"94O0\~7ODsf@2O^H$>;-AøLwn~ ρ{"͓iJl8+^:ߵ?`uGE$%,SRy`#;`U 8S&sz $U8Iv*L wGi!Rr;͸OBsؽPp,F_NEӸs"rPl¢\ &WZf9.=nWt/x@$AE ̀7t I( { ӕ.ܼQذpBt.9t8dq)d=tgs7*>qF}M|.#ESQq N8q}EґX2fo^۳74h2*;/__m-G}PD@y=tw@%YH)FicJl>>9=2U0Uke՛^h~#SXP滦*Z]w7 ջo=dr3gW wWr03|E SLj%l|Ó;fʸME$BQUd6Ĉ/L;&A B:-'Dt 3vlT,Wy]gj 㩅zR/u>NƨW0iSh -P!/O %)@guIDM|N_bTil8T8$cf*:tr&R wc) Og<-;U rUi߻$σ{ŵ_e=r6Շ1,<ګՋ2?g >xl]^F'AMmg۟iAGxy96OL\͙G '%{ӴF'^|-5#GHn˶7}8ORTYw"5P<,^ij-~RWBDLo8iZ.b8Nzq48*dž'0I$ j -^kغZ 8Un˶=s\ -H҉jz%}URޠahW;mo3 -_4koLNxQ\cO-嗧 Gx]_Ӕ -+µ%gCAn\^޵>v5>o^Hd\BOlok׾K+>?2vxjt_6ڷ2od#!cDJ &hvF@@@%l :bU EvT )#!![G ݋<"8 ԍMi $bs --ЕQH4GLO cJLMm;X;{P.n|G?nJRz+G!~'#s;̪JbMfnF\CdPv2*Eg -,z<_:.Xa_OУ]}G~pm#Q@-p]fiSct`ZvA?{p%)9b#{7ġGrk)20SCp/3?-$^oo_R= ʃ$D?ɺb$uح -V~]00 +^gĩEFfzÒ6cA81u\Tζ&ܑ;͗(bBWGn^f/Lq,UP5(-T,r3g\ȵfdL< }g>NG;Z=0r'dgV/k''=nƬDz] -TS^]fW.~oSŮ~wxlyPz^Yo?q#vr#:Yo$R| 0U㨲Sh0aBv -eCZ#@%%W|xb -YCX),ϖIi^_2+ȠSUVw0he֝n-WE;;vYW-rbZv D)5d]lg2~@` >lc-T:a QM%Fe[aHc4A2"rZQEzՋ.WFn4}c:w-S6"̛S wⱍ]6Vn9>cKf=GêiO%J"n RwVo--$H=vCTO"ZxZ]bHM0bבּdq0\8?^Ju^%(ռC"J $.^~kLPs] 6 -:Ql+L7!];cW 3i=@6x53s 53ʇDGǚ=jvODvȏn{2u Rˇwd޲ 2$ -SPhQY4Hl@4'_,+&h$*fpX$Y)Y'!"G-|N ߻=u,,3޿u;_r~{k&p-;1k^/G`/\1 -l4W*oxp|.n v;kiGmkZm&,DRhNoR$)H`OTben+ֺ-"l˼[܈9mk I1l-y;W<.[XîZ\T^\dz~Ps#AT-$ϥg3)"~ܶ0XtI\"v^_vR>yg_~vpQLSB^MR>ģ~wdzluz3y[a|׻:lݗj:. Pg_ٕ:3D>e^|G=6:`]#LPp8 Ѡt붿c$'/o_γ(M I.>?UkOw#ʘ{q -Bzmٲ@5kn"_vm9s#HJ\P ᙩד4~x34$ )P юVݦ?:0A/Rn LәsM+d"Ak;e$Y\YJ&P2uRqg\n<" Fﰚ='Z5kǥ'mΥO2E:<X?9)~Yn rwxtW&S*R@6OV}c:xrh)$ i<76vШq6pWE@jJuF:Fa~ȥ+egPk}w4=993 s]>_4W|JGqCfQj.Ӎn)&GoW]X#74us$n*϶>>O-85Nܭ0bJGh LRr)Q=Txfk޹n~uI`=f^G'İGF±g'Y{gksgSG'ݧ$j5^F&l:DmJN^L=ff]DKdsMPqIDE S!`Ef!;A/Mڝ)A=47 ȩ^=5cct Uf 8s: rk{,U($ñ #P T.8_*lvTп2QjU\0;b0OL$o8#7;|I#q[>𑤫Eڣ`dͽ=h5 a" {2:lxhA \"^8ٛZr/jĹ ǭ@m|9mklaB&z&v8a,JMG ̋: $wdi/X,,<2){6|VO] /+WbpXQ_ZbD{/_~O?yxW;~hwFh%,W4\OP ɒ -ݽy 6@Xðf|lb 4ƽbgxC\h= @ |׃djkXB~.Q _%GD1;8NLyfoclnN5fpdƀT?D]^mWlpƓ G -Koj:=p[lu9]o$=H' xt.U +V^UUJGOvqb*逼j>iB&$@}Xʋ0O0=bM7leEPog~V_*q$V"a͛ffq_KO'r(ZnvvA,W$cx:8~>ufߣY^* t2r9 s<2r#_}&Nj_޶fKݘϗRI.QlZ^ & h}*I #5_Gk0 Q)Q~cAsEpܷl6]4xUNYC3(4-H Q7&qЄ>D_O =tʜhƣFʓ&Ira 3%C΄1IA0s ʴA̳=~q-2t -ESxI[41JdgӚ][?8A"s?:kȕgcbq3s^4=F|c|Y>SU ˄Ujv9YtRWf TMR|oAH<`p$0Xﻼ }*]rJ;V;tCvr.ۜN0 50 k]~&]a2lJ m$ l "^:MtK -[ ^~5B0*P.͆`D*-MF3>G:nQ #CS6Qxx IDATOm޹F@ѧ|>_фISj7ތ ] SG MN/eKXSӄ>ls)5B`@^.mynn^Rt@vq|sc:csNXH4y"U32@Fa .WڋqzaYg| 'H:2]/\"lj>u UUgq(G ޮ)ځJ׷\L#st垹Ȃ5_2wnA[rʩ=u[[׮_Tgt^t1#d;?3"bx;wW|<#Z8h&γI0^|6ZA~α=8_:zQDV:r<lr7ƕWz,èAO A1v;ۥf"=BzPWזnD/^ag|FH)i&'QYT:,n^my\׵_!zL{ ^ -f3%xiOpޮIq1qzp*~?8L-R:A"9̰[gSCYQ@mؓ%eiEѼh˅/:">{ۅsI5cUI]YO=.ޑDPqΗv͹?w.̲#X[~9^/O(я/ 05_<`zQjvdN8bLW<*u:[/~G8"5R4@VŲ0dY<[NJ}29ߥ - {^9q/}+Co}M$=*zA"N 1+u:7:@N[O'-G*} o=+hwfI -[T-tDZ|V 8:L7 Kǃ\&_~n^*᷿bk7F"7u86<jQu1>26b(yji.π&=+zQ[? -YM|,;w~x_Nne [ohvdI -G +L*t&uU-Enl -|ѼiFA@[Wԝ)s+1F#lt|u^J{#<H/YJ2,ˆ&xGn]!ux}tTG1'Q φE -7 -/8FPGmUN1l>D ;ށ~2LF1]S> :p ʴc\v_WpsGk O<`ppu?|'gx?>XH:!OI"qlP)zr#,W›E ?k0撉DOVS4PaZ[0A pOյ̷V%#{cm饹9@N"sЯ>+P|@=)6?bvw$K - ,́ fo=uj߄xKSIo->5Tƶ l``ne&umv{<@ - ^*ztxU2\?# $ώ -@{{呕ˠ?DlϿr8ĝW5&P4뻷r%/Ǎ4Hz0|2{s>)jHV&녮ȥNoG6"dJ -u3u: Ĕ -}D6] -bfi> N;F\8k24HP4DYCȁ]wGR?9f#Ѓf\13˝ӁMbOa;2`#M0axcH -ݯy/nbܜ9A̡@'MX*jiUDŽ[,;w`w7cUx}{e7}ʭ7<׍VqLxN^ᡀ\|VW;V+tNֻ6{`d$ֿw˷7dd0L$3|A|s3\Ųp&E |EUKi̍Nv޽ InqU )jv3 sEH=b&U> }L[NRQ̑~% ;aI19g;J'l[0\N -6p[J3/\lµ|.ch윴NgϞ|W3Ab~ i@L uk"."I)UTQPP_Lb;~FxrJw?UֲHn1v-M  -t M`n'i_^Di5F 8IFY_! 謨:XKe_"5Ɗ'AWMIC{'XN2nЬ 'aX'Ö}0e5:D:,`08Qu?v^lWg:Vs(owS˨n"7JaVT==R_ăfO9y|c7^b\ ;9A 3D4O^;WkjFQ*E?N~U^lޠ斩>❼,ݺJ⠆qz8Ɂ Dg"`C"8,\d 9l/+$Ezgq]};#6v D޾CamU{'z=XGV(;9qL' S:&Cބ$`K`]U DEVtN兀hz=F3N, U:b r18uIi%ݘU76_P$X@q`2U2 %vQS:͛ݭNm֏7'`貛fB䗿>A\h06q7xaĿ|.WgcV.k'i})EMt5.,5b|bkaje;_e,gr}}}^g1 x1pe1/e,[i:?ҙO9}qX)m<g'߈@푢SGӎBF-֟/~!zDӪP\K # oy}t-]6ܝÑ)W]<>Nel"L>^6CZ=Sw|+?K7yDA*}Oi'ɨ4 /I5R5zXLjyUTh;aXdwiIk+b_ĴiXrX==5L6 P @L}dfMz D,i:J;tՑ@ɲU -RGB^qҗTbD}Lυ -5:%ds{:RH-hp!4<7ꘊjK`敌PkI $a^PI8~:J'O.yNxbvU7&X3;h$ r=rwAFKsItqW cn@.q(`K, f'Ʉ˖Lz5lHrc@vxB-Mȓ盌Jaؾv'tit"LO~^4:ӀE2{2Wyݭ&"gt( ەDe$Choa|N,~ޥV}ohK9Cmz_z -7ky}CVzMo?q=Yoι\w.k{'Ƴn پ./n~v l^f!* hꛗ3 Htx/[nKbUO(\4[/Ͼp;0aF/_Hbx5>g"Ò@ѭv1 7m eAoץ6v3$ )O?ww6tٽJ|Y_rs jg ._C1oI ΎE̠ӤB &* S $^gBx:Y槟l:/k4Cqg<@rV'skk+o1'5aW/7ޜ"YҫF"ڭ/7PXu PǸMnʆ7ق`IDd8h#!-B J1?Z~ŭ( -h&qnA"s3 6^>rpRK*o~۝`6'3첃$BZEo9M|lCB 1RWDg2ڢK>hummksIywMj5]Ib>iL'Y<Ji~Wapqy*Nr5# 5乙^Uqd?Fxsĕy=E!ѐ?M^7+ls(xfыFk ӎQ>N_S -sUg(w:M$61Evrfa %Mz+屏r#ɒ򰃰Ԅ%ZBGQJ.͘Qd@4`h;'jҷ:Uj\(Rp& -PcyHq9ǒx닗fwS<ERAt Ff<7WP4nstɮ/f>蹈̋uBޥz˞&gonH&<iy|,;mC<.!Ut.Kݤ~#L,,S4P*i$x)\AZ<8<7j[*׉Lft&/(́nG|@Svok\<`2^&%ǼC;Dv_V޺ 󸋑 aT"nM?z# B)6@&u#Ə~}2lLPN$u{:1;i79CoL^]:!צ æBdҹn4/`ͯ3o~A>yOFLÙ+eO?S3BSˤ|?f{`Sw%d‚t9d nZ%TK^Y<AnD# v;!V0ؒ.=ǭYJ(6c%n^h^>/7GO>ki Xo/]zku\kY^ -F*5oc+͓+//M<|/Kе@0(7뗙'6QPQCm CAm[,MW+˅s|tu^i'[H!<% } <r ,S sXEMUpT~Ώ}Pb+?o?~Q]!A; r6]mCJ1o7` -NG|Y3Yue"5C.fte8)My@xjWZ V't&s)x`u& p04/^L@ߍ%/Ei0:E̔.K/tu{WYlRAnð06TMCbO1#n(OM)cؕf ڭP4Qp0 -6I]d6ڴ m()vZ* & 0B)~Y -6M/Z3yU">!{bG>TQF܏<}b-?Lo.x1:N,*N-vYME޽/Vˎp2 -}!B,ya)Ԛ M7JI3hǢ["0F!ɜnW0&[>1/s9섇FH -BWD 1N'ZgFR`IQG<3Aζӧʍ5f-/@񤆠6o5iʻ`q]؆T?vJ^ vD;c˙);04OkwPkdEM\o?IޑƏwOP|և.wVLG5\]Mä6uh$5?"4t;3oU@E{Ώ^_:gC~s*wן; -xe-O(X PLaMؙao`r5~Hv9bq!-շn뉳/qoyXjaNm7LgHGtVyo6 e5휑F0F '' C 8 )ol vA+z^Qsbr4o_[pz04|εq~h] - ! c4!yҫRIɅ0Htq!D y}B5Nwaܤܯ bQqlk,޽%‗Hv4%ȫc0o8m5*7<7Zȗutl"Ð4T2-5!o56By [֪ۚoHXL뼵|ƽBjGQrTBQ$[dd^*vڬÖLLw IS F2yFt|J:Gݣ|pQM}5`iۍx2v4=l4qg((H -Px]6]qÁaln۳6/:קAu ߪo,:i۾؉i](?S=kE2,LD1MIsn -ɹ^_$.+fF8z65D÷<> Zj]PD -\4y$}^WrpQ7/nƄW5/(P4!;If1WȠ;zP,lj2 S\KA:~ -9t^gfآr@ЀZCbm?d}Kjj‰A@S[o,}gw_/v/띠6MT X;asez{7-HJ*[Rib8j5p$;J/E\l3FxC'񌗻(/dq$tlqMTک IDATKA"Jk?n,j](Le/Ͻ7lϾeԿ ̚ï#[9qv .I zB O兀k/U:(,kο^,10b4G;/!MMPF2Yl73ш=PFPфY.ZmQ̃+D*?IM[d\w:I/[]3,37vp=Xwre 狲6\8{F6=hNNC\ tx=U&HUhAMq(?!r\Lc>ZXBpqblZ2@mɵ+LMѬ*pNHD".st/ÃjȑKWW? G*}9 $t tƃZs21 Ru#܀uΎF'EC䁡03{zw#6;y iN]fnm!äL$0,B 2K* -̚ZO`qYZ'C{x"X&Ɛ-U{4B < -VEar'FcX;,Z D0bADYYW>i@ *ےY*˕ 5A(8QT4t?޾p 2??/Ya)-xQ&!';sp7%- I"Fk6/*TF(YgÑHmt=GoMK* -(E8enGUwEĩ ׆6D9Tf݂O:W(2U.zb|0{N7GC:eМ #q̦X:deȵW=(lX$?9}^>,h)|Z1JPRxQTv98:nMq`1u=Bfprz0妮z\G[R1$m0+@7qRtM߿ȯTnƧ_Gm٫.|dypWv~nǝ_|$@0x)}Lc=E2npxOĕ_|omCQ%Mksߣ'@mLn4`NDyNLz~_8g xZf3Sq~"^'l6]t 2>`X22 ڲ'BĽ'k_T) Ql!>4dٴ뗎ysʸu9  q6x-0PhϏ*/8?+֏i6M|#L`:,|/4B$ի*>d<ּg­/8VZ~xbM$$mV.:Y|sEF{0a*OG& Gl<8mxT꓾D,Rˡ+G'WoO;z!]+OyaXL&d[i~+^O?y_ူ/C"P "gJW~jh.YZ&t0tU(|C7%iwFN_=Uۗ!jiDu# -[ׄE̽<>!bb"VG\\+%G@-1Ji2:ϯ.}qvᒪ^,s䆜nnLb4=kADU D v7M#XFJ7w^GwѬ+*[fxhL4߸}5A@2:~Kd* 57tȺ=agT8QFU+ՖoqՖF2=?L.eG - D 8d3UG`eZ&vtNR`u!]8t1qYu;PbA67eYg:R`ѱW;v -JxnfHlM*iuG̸INt-C1e0ŲD,Nu\8F -dq3qϑ͑*wAW:eC[ )-|H6ffS@g ?nQͷ s{׏:}oJaӀv;ȳ>w0ZM -iw],GQy zMSi&d[#}l| L6/ 8Ʊi&":Kh$++Q c -(::@rMb9\qfoZaPPQFES R4 Sk׮^_$¹MXeP ˹#3:usgߟµ_ⳝ[~}|( hA23r~?!?v bj -U֪К5\3f!R{gg9,1O CXpB[^ApKz*75`8$٥{qhxo?:ߵ`$[(RsXmzHG,+=m_{=_e6{[Nk˨\d,ו3-]_K==/gg{ySRչB$055ӳ!XMϐ^:?m@8VPgdPi@2@2;v,E,[<+ MG%d432q?;w髝#k\.-`<};L`9 F;#N<=)T\1| -|3nT#xM[,)Dg`{d1ފؿGw];hvTXAX*JP[*wƂL.edH6zrrldX[!:(bqّq*q|B".(Bb,y\Dw[K ͻ :LDSJl=;ʘLl\r) ?zgT}`uuKE'FeM ZM 2©뫤j&5EDzP#Pvt<sɾܞ -n%b|,^ٟP=ǣS-VSZˋRp%7?L܎IhHq\v;N&6Bٗ_QͺlpB XrsDDjz&6Gd* \-[^i SÄǡSs_>}WVM_ CvT -}wyG|_4  VE ,;/rܔԑZ<1i7.Tw%YrGjkLXD(mLrH&T?ŕ1 tkyA&&g ]r_$(uXY0!TT_ڻЛƝ`O`?N/s` mlŽP[s)A"I1}.Z +χ -"VX2ߚR,!2w=9$adG_T[0Wbrؖސ\E+x76OP#P&եڕ,?vs#qM;q7ߥ=k;yGO;-sg$ث3ē -<*(H>̾^w-toƢ L,#=A5fO(8 q9ab2蕩"[NVR;C:_+ɒ7:H]%`u!"ǎv?IB Bm<8„;*n(@FPNi `"Nj|ThƠqt#z7OjkܟE -:8 z_qɳOnΫסkg0,Y=bVOoK#2,I|uD@1wkSy"^]E?s Ϊ$EMtS7,S Aq;/Y^0* ><<ÉĸAZMN3~ :m -zH2aTA'AL OfXw4 QFW<޼ -q+bPʊnL!w| O|Ivb~9{ݯsN3=w].DBHQ:ɒl˺k\Kg`H @bXlyz:GS`”?Tnrw^ JM2Dp<6}p(3Ѻ[tYy?#0d>;;e +I#;~z\laG]Z낅*KCVqxo#VHDSE5s_|} uĻ BOW_yv_7%6Acs'%$2.]y.D:_z69v俞j&5QmcoC!˙x~[ٯ%nn5j/Tk)JSLBšJV5_Gϫg@Snq09RAfoݛ%Ͽ̭MgɼN12*#`aK5n^q2SMs\Nّ\QbƗXK_>)WNgj=]?$(ys*?ڊ CSzk Y.9Jܮ 6trn,:ob#a͗Z\K|AF{*_y/2<8;>w ӗ_,m̰k֞\];,պmBz>0 wֿ{3zw}jW5 - ꙥyShZOʒb -\,]; 6l1c'hB;G1 -v0hB|jq(u>epbO3Qhdԛɺ e!FAwΗۙ\~45<{l~zfay3$x@FHԕ K#e'լѷt.O/aR@x>S*5CԋVn[P-@X<XlV[mvQLرUP*Imii]O€;!I,cSJ}xm&ģɸd;X0ay+'bUT5s,MxA@OOņDh1<P%]" Rt,m.O.\; m#&Btq$"8IFA.n}\)6$z.E+b[i֏{ސPb~;/>v3 o~3KHc$g!J;0itޠ#F|ȓ NdzC(m{8scXE?7{I킸]zzK89oY~LfIF!$e>MC5!ꛄu@!е磁6b*v󖃆(xࢄjHjH,ă$ud?>IMh/Ăr2`}49_8::VѨLX]̷޾e?x0J0 yl&k4H.9D\c| y]ؖolg5]cjaWӝT_Y}-DpAys0˄ݶ%zWV -O[nZt-.*@ ic -&gE*Dʐ-,&N"qep#a%K/SK'#m>\ʼr{8(, 2~~)<=ZcbWgh$`f, p(ðԨ=@xJtVqD -Èb& D1N{<l<'P@sqW*Fଊ#]D!DA? r8Aá@`T;7 "J muLp6|Rc\0*9g,lI'7.9埿kbDa40܃ds`PF9.VLc"[v w~n?E? -T?pCQEi; Kחo߿F%P#8V&Ŧs+a,=9&3:v!\:8{7w692[SuԗCA;[mǿR,0~(O@0YT4fnA"oS`G7rE{ؤX@_* h{cHzX('{1v5RLO@"h?,}VfCCZ "H,ǻ Dԥ -I|D,xx {]lí]_߹3=mj܊.RfƒpC7'f~pJhZWͱf!4g5 4e Wo2w!IMy=YMpb|afo0P^m U M&)k@w1:9;Q‹㐦{\LOuSr<ˍ M BFW`Qg`h}PѭYǟܯ?fFqz -c5d~G\zg1oS۹[DZcH&{}tu틍 ѢAsi$E=_񟃁ש<~68o =j<}G%5MO4ic :3uc/w%-sӭ_-v3wۣTox>ʐf 9_xyEp)ty9Q@>>uL}6MMF?fkhsᩉl+1_\/G l۶}bkʑWa7Zf׿T.}}WG!Î>?cx7Yƅ/q/);]:|j,m˘|L9N l@FN1 ~=}KDL(:ޙ5 ?+7pu(33MS^+x1M -+\ҧgv#=p'~fЫ-9>mDH -Eg_6Eiko'_}\d1-W$AF2${CjKAC/$37/\րZy`[X0_MrӔ*]2]XJ>E%BTm񊒃酙_rX3.ma~Q~Gc;{w'3'Iwf(ԕ0amf$ 2hZi['46\-ƐBC NްKW&DEhi(#E7/%(2 uQm4:]47gx ȱ3> -҈W̦* -vz>YGŹ#(<8:C&cF1v_N"wBђCjҗWV46>OH NKⵢ-1;k_0^75/3Я~H48h/8uHLeYkbF2^o![wh=8.'%7MZ 'PL7ɬR8 ;Rj+=x\3Jz۹$F'LVw6?iAVkk7O[!kK;R%ʑ׆3n< K6?K\Z`f^-^5ooҕf@za-,Tg?~߼xb"L F”e_j,5LEP&`h+nK, -G?(펟SI7OZ9 ?';gBQ.k#?SWh ϽJ07/1L6P&6t%nKۓճg(G"}Bf./W΁ u~|EFa4 -u^Yޯ+^_.@ҴOJPZ-&68z -bx%(puͩyjN@]˿>|*n rG KGi33k~ -B 23伻8yVT'X=́8G_V^ͼAGΓGBlkvDhǘDQ˷!F9 -6Gg8q(dq."@0R˻Cp8㭪3[ot%`/maݫ`.deن: S҆M{ⁱqP1,;m#^mY5yaatss`" L}q|bx4B zzP*oOJg/^ɵqCZLHk`W6>Q -bCNXqݕ+'gr:bIJ* zL/Q[hm& Ai98X)R[H2>؂ rBfqSdqMX )o4!i^HH#ak*,Q{16as 8T<,Pܙvfg(NH[t_=p06HU(HW# M/㎅{sxt^(P-D[L%mwFw\]qP͋^pyrzpX0mϧ+`iRv[> Ci24fM􁴧|h'T[y'rt~nd%dab0x.99EÔzG~9RM1;`haU͆aIDO& W-At3ZZ#q@֫ -+)lY%Q&w<<%倾_;Z<F0ۭ! 4Qv}yF'#jyąЭqǏ_Eo 7.W2f\";!f"!F3\q2?MY9OcJJ..ꙹ cf ;_=;5>xX1rv}aְŁqt&6څ 1  OQ `h!Bw`1q*tm8D --,ׁ1 p4d@ y!dž ˆ4C! 1RE\SucwaUB}(Gnw[*Tpj@Tu ͒9N/3/l ~ -L_~<9Ҵ_58.х;}Ifl=robz$=?TZCd hn>dFB*vv~a! 0ژ,+w_ Ebd=+ xݔ0Ow~tM4XoКHB(FA`dFGFD\0@b;P`֐PԪ9UO -bK& }e2 2r$Yb>&% -Ħ4/L˒#L, d8&@`ô PO\zks(]I#Pu6.Ţ~ vslΏj¡H쉝q Q2ax͸p}aP S-ɰID@v*osuݖ<69F46HI+xe!"ucp*VBs^ *ΐš>p}9JWF&/.}<8" 6hHQuc#CA#Zmv`6@0jY)>- 3e}9EnB0L) ԕkb qvZ0 -30yy!1;P١įO^ϝWH}'  ܻ5,l:~ڼ|?/m~NbaMȾU?;nzh9T|Y@,Bؕ}]MCG?8vԝ ɣ'ˆ##T'We} -~}-<)}IBIۤI35z %%!OBޛ*Zm5$A*a65- -1da!A #,00$am+ $ P ryס`taA8[96eAB"`.ϫ_4}xp ?NhYU &/a^²EVCd8³S}ؤ!QTeK!X'ggho xf3~D0͖Jd" wt}E -[X|c՛*Ɠ -xOi}V|+ e.}KW"MMAg/eaSmqTQ" -0.ЮՆW{3Q )E# $QD5S==f)OR0Ve]@@ِz1}& Rf=a4Lq";v^@dEҭPjF߶R0 81ՄPml7QYOdrmEVmXQS~W2*RIVSˀ*I`=QvcqTO~|zB%!._8}DƑF/ "7cydH$aiC2{yi(xP=qBh1N ז."$:5DX)lTk@=}r_.^]jP{=|UgCTr5gتwޛk]{ɗeP*xN)?}9Z- ->=xsj/K/Oܷ|ئ^NP!Y  Z<䵘=;B -j=%AH!*˲)=>v:AXWRSK40"uPQvH -l*L 4'H_F)/wJ=At&!/dCNȠX^я9UµNДuqlOd= jwK{.l*s-߰]4+{wVn>W,Br"i!Z/jVQOoS3v (,~Vq2P<xCîTAF=(|HWbHE!;ߖI۟|²͹?{>|gJm<8M|zvgTB`9mLMB?KXՑpRPmG`B4 `6a.i8 Y@qF5q,@AuXu@5ղ5Ml`Ʈp]KW;|7uGX>))ل¸yQB:b6BR3zomiܮY;?&g]7zI o~r]yISpwMܢ>=,ɩwWy (ppa!^3Q{=vÍ&"g'p(d:!q$XIO/A^vF"|KokCϣ=n(tͷqn`ņP,Xu/ZRר [0 \]$\W" ż:Z;hi#_4cF6:\3"|$`FؐTpX:WB0[Gfq.bki~A8u'O0b4Ry6x-0kCCM*33#ˆ68%' cU5@#bkҨ{즆i&egs➘tҩL2rh!h98":@tҮk. -/؈X!: 0ܖ`.0#fGMt oбlGq - Yt@ 9NJzo B?Jvi2Gm& -?,Ub=^ā(swfJ\v&W475U:Uڙt>&lS 23ڻtu%Zn>7s|$=7hI̓i KUFq4!*`p]$H[DMF.wR>͢/yn=t1frѲ, mSb! SN#-27Y,Y{>t|9aC.wt6 -Mɝ> zzG1W$$t'`a?a7aY+ `i:V  -o 'C/At~6 ߵ1$)LeYy$vVNJO\vsYs?rzėRVhcwku/8wawyzƏw^p\JwUؿ,.|MnDmXKJ|[3Qb`tM, h*`1[`fY[֟=G~$\n y';Z0Ốtŝm Y\ͲlP# 2QslsnUoũl^鎹y ov;E+[{ӒC޲ Ăp<V+fP[,Ѝ&jp\zgʇpO6?Ճcde*uļqh^ʭk^NX=&4]^Mּ0}k-NN3u+05wݭlW%?\;)Nl o4ScSnzN@'{dxtj3 -9"Jٷv>xGKdTz5"#Q񣣮N,Z."4$w=6BT0g=Hj8;X>*"(pp@0j e[][}4ljmÖj<+}(B>ͮȞ1("i`ܕoyz DM==dt,{i͏>l띴-҈I/Gg$+B[n4FF ]kѰK @B >BF#^)r=3O8)pX̾ccˏZGONi!J37h ǵ!'1RbBiZ PjXfĄ]β 24tLaigTd>5YA.ǂxek!< -1e舢}a> 4+rkw -i#T>gTGZj\Z8#ܙH^}ǛcF:>]H)l?Lnщ8Shx3_CJh `r⠑ެv -&3fe|op/ -f9&xBlwC^_D@CbyO멵xP3E=1A2HB -K54]W 8Ŗ 'l(%C51JKErO]}T+8]拗H~|^6~ -V.]b6ڗRW&JZM#t)gK>)wBt9}T6>߹w#*ܞt/:?حGn?>{w/5OS``W jkph-U9FWI8;9OPz3q9d!4'׮ّ9%LJF |kN2E`28cFeO&) 6e vk>&^DhPPL 3;-IQRt0wX@c,#6(k{/DH[@*.@adKMV>\0sQeպ$΁UF?cXb;{SHя,OSP|SxD8h!O$.m@Rt=3>|;q߷~9;ɄQdq~PN RD89A҅G/"!^2 ҤvD L 7Ǫ{+ι'`0 p]RMɒ,Czҫ=ؖiI3Hbӹ+ǛsQQ !|$q0`&1`y`) @*^`A-ءop2bqGBD^Ǣo1_dWi!msigƴH@5$ -;ӫ/Ku:R&, d㍛ Mwυl#$":ulu=õx)37+kpqApAy{TM Z2-, b6"KvG@c$w(߹bWge -K[k @-W$hW(FBؾؔ,h=%tٯ$+c>pwtFS0{]wJz,WХ+fx 8ckLeviicjf~AQ&OnQ>#Ў\= I,Ry vdŜ~g L>sy)V2##}\9p tw'*SIa;8W6fniv)9U2Ye -!Uml,#dy[Krݡ폛~>.BLKL!+pBAc|Z}UGn1GTӖ ooxxŹ p/Ƥg71BSGY Hrm{i(2EI DRx' )ZW_?i"I\sJ)\`r\a|ez񇯦rO?vjlyiyc*^8ޝ9N^2FE- ! -GdS!~aȲQs e0P[ JZ6:=8.{A5G3&iHjQ+7-4CN?EtrTeap/0QM + g fhtjS3``R>^hwsR)rD %e$&E9Q}8fIB-&)bT0` b >jn1"!K Dfy$G1">oyAqssf!+~4E`(#-$PCܔelvҚi< $HǺl߲]e2L:5T9T/P{ ndrѭfwrPU6jOC)ms\JZڜ_4d#UHHc.)SiRq!KH?z RaqTw){rf&^fch, DH#1S ]l2K&㑹b%(=8着}ei)1KWg&A)j;Ɂ4o)ogBχa`f|r"F$Gk?~5ɋ_< -`y6˕o/\yun2yL>Sfxb('η''vs 6ss-$ECitvꏦ;h'ޣgz1qݓ *ߒK~&2l=kpcQe8\{8:FuǢ4t}gH}߀o8pMvWLkXJ[^G;t}'wimsH݉h]hgS=\^$oK|zs>x[k ʯtӃ BDQƓZ{h09ըKn*7H%6,\*WbE5tАx -D%K- J~$Aߝ,pGL5!ř|iNn<{ӠDp0M'z7բQ5~g@?i=}vRGb,{bz|ztM=B񴨟@ -`Rc!aK {: ǖjʱN簧ؐ,VWu)4ӗ']UCث4B-p4]Aq)YǍ^͈q@(UYg\i9?K0R7F"3]H'S N/U3|޻YqA9}C3Ȍ,̶=30fjybTx<CȀID">fpr]?8i5m˞/J̈́ܒ4?R.5.\< QtL gPd.=읳> -xB0D )BO\K$0YPģAqj#b^ !BBAB@4 83DQDz0!qt6& PJgKrq`$Q!&xB#XhpQS6/ KǺ=ƔBuj2s+F6Tώ i--4:d=YcUdƹVi!U@#t`eF٪ؿ{r ԯlU@wo:]z jċ+K T~c`*FfW^m:>j[͝H`TO\{wvKE,ZLz2i4st9S狫dz&R9qc3ي8O/J{Q3C.~vڭ(%MymR rsJ~CKy>,ģ,صɾĚ-a`x2d"` )b#lmvFвCs]jd8:ӓl &`zA䧨k84>ӀsBzT/T+L=Sz6dVѵm5+랼q|fJw2 GSn$x \=MH:xd_}; g.IgdwNG"t i -+鈉!2؎0J:'xrZ!f7n*`Ge.$9&͍l,LNxHg< ۡ7 ]sNS]|#JeCUe̦LhC'$.l*2c9ԧ}SB`!^&YlKnZ>3(~?/YG~מ=sGlMoϿ_,Wo(1<|p{?:dKx'_JUzӁgHq2F%v<ԧ4GBg)A[q TuBbރ+8 b0taJA<#fg0k⊣š[$Y.m(n0GB3# -!dd&&%/PÖ8,^ -~DU-oN]p̽'9;ge `CD8@Pr 0DsDd08,xAqhx0{!&0C5  PBpuNC4ܗ-*ʸ:I#% YbB8B˦d1V H-ԄVxf,isnypvGgEi$x1̳w6jzW~xwMՇJ{ϝ+￰`p|hb]Bu]>-<*cy}f_B*p{kpYL\ `X'Y6 E#x5KMtx1f.x97Za}jzWW=ѴΪ3EƊT&k;ťa]XI,b1@FS!-y<LUy)G p!cX#-#x [6Ol\>~RfbqO^w?qAJWJdcJ3tpQq{_- ;wĿɨ?,N<7' -Bf[Q,tȿO ^~3IY#٤cAdӂze:K&Y$BCve)tI,o]YZ k7>ib 2,޾1Ҽ{9sW>=A[҃N@fb! ~Q+[iS෕W.K[խ[OAM(q"ng>?gw~7%>2~+ӡr&IЎwǁ-D\ kKcW_=̉c$$|0 Du[M/η4B[l0M$Łzq2dG IDAT,G wKxD5aL'"5Hss NB1kѩ%FN9F0ҁ<œ?~Gdrۯ~7_Lt]=Y'@L( AP!/v "+՗H舶q> ='la9%$J`|l(|93W޿rum{;iB͕#z1SW/ ښ:0&T3JL?01.y,"D%w( гIS ⡚ G0 :&  AvM˳@ z8tuW]}hnh A=TZb2@C5]Wd -& Kc0dqPgcpRhpexYmxGz:>^<7יJ˷No]Ï*T -⠮H{KLisE0նx!Rڸ+iWҭ\Am7&FDs=zx2/N7n^tN`V_<-grH!nhY5tAs\Uc|8ݳ-/Qng__WVIR =쬹XvtQpQ+``amӣ.՘?i.dEGx K˷cu|kΣX?%.Qbb'/g>yXjT*;Qxڵ9&hOQ`2\ -+/ -C% y &sah{>c Ϣ0f 9 -LC3IqA"h{A$ РKˇ(a 1s$a}Ǝnu3ttL?}$Ûil4_ɬ1M\;%UWt5Sk3RւOUb)r~IА0R8=8i' _s$Qpi(ΑGdSH41]qXQ=o,? #ׄ" GF+YҭԮ e蒯XmzhXI$H  @ -+QXfE!`%Ҥ@, LH MjP,NI24]L huɀ>ai*2'Ey - Z$| 6VQ)sРhLZ֌1b/C87SB;VaP]犸>i(2W#ΒLG gd*o/'OVgRҠ~lX"kWYÐ"R4o~%XOv4A0qd -`رT,`\Y[_6)>_c߿Ij O/;S$IPDo\K^*RU|5~hm m˧O[nmny3wkIGCO?֝~4+m ux_..ݼr+g|4D+nI\k乬esjw>_}u#j@v5p4e$_-a~QV$@^F.QJm?HQN -@"P@|/`A Y%H%#<<@bx.8D%+ >IO4)(c8[j ig\"i"RmhZFy daGy*d -5chp5‘d86rK 8-FfV,yGef}Dx9OST|#^tد. R *7)d^dLt+&sY*@ ' FD7C{hv8smW@=Dzp< k#Sl#d׳/!& < d@@ȣH4I`gtDLlphҰmԖz%p5P>l0T N7_PN@57eLpR=6v|W}tΣ \2:G󝚑 Z}26L$@.Tooo+JuWd{xÚ]F/r1;o#┿?X_قO\wG!}u D$X"QIGC2FrE1NQq=od \>˧{gvj#ٞ`Ds3./rR`Tr@0jL6_c'n//,Ƙm`YÖF̓wۭ;h;?O7|շoyc.q8=!,an6Km,&ujsLmZǔ#RLa{6EJ ɠhez5p-] } Eq1m:kHPgQg1G%˗d2ҦY|U-΍NN)G%/@r"C -,'jɥYa)P{uzǸbwDqAE3{Qۃ4Rkף?msߧ*;T2'jQ)Fp"tw_' Lma2(c^*_ßYW7_E/ fo\%{1\[ܬlL+3a|hFi(}+[H$6YULI ;.1bARrU`^qIjNPU#\mODxbӲYtqg"N`\df.% 1GKBD$;Q>g( a '6CRYgQ| _umlq=3C&-˦4B9nMbM\2=V@'ΰӶ3S%-^zxWqMLo1cw;}Ӓʴ׷:ɭ|nl.^Er #Fd6qbshem˓= iPk?R7)bA.q<Ƅi2UvC44]8 @LvƄIƢBg8znž(bAܵQͲ0A :N"l2(P<9)uxCЖPEtREc]duKk"j*HSِJk>#4,&IMRqrӉPl<(B);)E]Lal6[vEӇvQ%I|kGkqdH&띧sZ̧K?yS-lnW6_[K]d \IRt$*+sj>tY\o!uU>S9L^R@FҘ:@6QE}1S9JfR4t+WW7^&؏DŽEDԉCfgEñy||qiqB+Le-A  ) gM8gDϴUE>G՛Q2gCܼuqZYı:O9Q-#kjf 1wK"焵eO57VU -M%IZIP9w>?z!ry(3Nr2mM {Î/,p h4cSȹaZ$ 1ϴ<Y\L|$M,CݳfL{4qcD(`| |W\TԜKM(T?nx.PBOl%nK|McES @([ n`i#a&t! L0FS4]>ttGr8ĸ,e5 Q^ywqqc@" :ׁӗP֕8]cJ7nh~R#cbykT& .Yذyqufp?F~`cCmuu) -he -#'8k+VcM|e*w0菛zoN53%;ڷ{''=mxGls1R9L60'^׵pwVz R Clگ5_Y9=(RdЍKKD,ߗb:reBaȧղ/U(4Ģ#vY+7^~};\uv V}0yF2W_ ?RVL&"IR'>ޮ].k䰧?62V׹eL3#4 _VمuQ!yHd9 9_{ZhW&p*#-2/DB\ nfnq$E*L5xtw =Yh;vw/pd_?7_M[g-6c %,m sL+D -]o4$vgE4WLvb4wUcZX3~R|^YMvw|7_:ꏮϲ}C5_k|S! "mل7$Q2{^pXƐ`D#&䗸zzGdn3z;9owlt8y>)\ri8apn%v<;梉 '+|{5}O BP(˲4v:ŪO.NszLѕ(|dv^^PX|o}kث;N W3z6(AI;0Jzqc95).ِ:Kf: <7}qTdRĊs<(zi:_tw|Yxm<1zk[S;_hbXw7z?8'gN(dԒSϽ\ͨ~@w5(bH{tݷ_Y ݓop A̰(9T-&t=Pxyg=CC.TT-;3}C34UtOVOM(rtjHgWf -n?&KPܸ-xEkHmS|2 e&[鷏vڦwїRRB v)& kF>-f.!Th'.)AOF!X63,6umĬvyj5۞BC,Q}$#ͣ) I3L(IAP" Q4`@h -':HȆС3-ٱCu?p-fqR Px G8р|@hA IDAT a$-Bn"Ba,J$n( BDJƤH:`éEQ34cE?v6OǍ)OLb1IP?lhBE;tN -g -U:7p IsVc%m+ZDUR]{uFDhsᏦD|2h7t-?6KoXWzjyyq2Dlw-u:ROCV,]Zwrܙ~t?nݬJOanXb$K }Ը.tRͳ_}pϕW7dャ/޺r=}ٯցUښi__xe5#NGO< ~i^ȋBY+1q3[ @ gI[*HmhP^A҆+ƒY. rf06Ѝ{SfVzs|u>N,MѰ/ּg>N_# &}+4p2H,rEzB&Ӽ\N -o@ئYp%(H"apQ0!]Oh Fq,@Bi -!B`LJ³9`3Rn -Qr yʕ,|2-Ɍ϶Z/?/Jd ^I843"+?y}6J(z,τ4 -YyP2v>_(FM[\th犜iAZ -P`^:Oh4K)DYBʂ 1daBı~з0fЈ} jr<բH!9TGP$<DDFL`"9iJy  B!$96BHL4W'g/xU<9㎄~?yO|kRF6wT|ii7&cpD6]1~m)A?G3uHow͊ nD9wu K7vttdQ*Qt?8$I9G]ǿV,B-J9Q{.~o,][7W5Ϛ% UEH9)&pt$.r}Ojø =fb@+{ի?4]'HA]l -r:7woOZ#%3Xz6+7|Z/7>~n B vg4muZnzXO sx"١J>x#_shKgN.;yF[!Rrr_Mx_=c|u(YF{+ &S*DDu1!㎱臜_.@7ΚO^I n9[]PdZxNQn3;]A"\^pJkJn*)?ۭ`wxQXM+t1;/wl̯3xo>yyʝt]AA$Qz;{|Fﴷ>,\{o?6JQ=_U?T"^o -HG𜬝2V|k*ޕdrW=%"'g6ٌ6.z/t;B{;ǝwռ#bN:1g"fM ̾Hs H2eC7rkvytRHB\SLc+% -1xm><}u!p3l "kٹbە "={R[^ ;'%Q%r3(fFr i*ڃ۾ (a{SPUk`qodM ЏR05`2By^(YIʥXWө )p PD GD+rD*IG#(|2sn<2gb@AqȚ~}kY("kC1ʉ<DE#Ft<B# %F.<$BF#Do1N b1P2i<gr IJS ^fO8iI)rqLv^H2L _d"e.wɝK$7(>h?>ęj ZEQx=;{?|Qj㣻grUuɯ- +P9O>^11d2*͑k_;j~P4MwgAZ_ȰUlћO&Awp)י`#8!s<"PCAE z!1Bqh!I 0:/ňib$na:rN N~FUfIv[uhb48T+h~j>ٟTg2㕢7uOqͽt۔t~n$a&]I^pXk+ Kt9؝Ɓ*Ƶ7މ'ZVRˋ3w_tcܹsgm粷=ɂ)8 -t5ꀨI#Mвt fz5W/0V.,WzB֊\LҍT52oj ]_%+I3;pjU+5A?~7i_?n:A\_y|.m'_o{B`JIᄒz-p??BGo7W*_Ij' #+L*qV]mJb*NFw -selm -C옲EL e$!]}JT]M(XjD - -4J\KȍtB^:S|Uh{ Jt"׋bdS_cAL842#![U ! l$D .$(yA,FH✔NjhÓ3B4UCX Xb wx޳^vSTXVBX6CE(N#&@XgGD._{3W*pӻhg}-ÀC! `B3-m gt(e\'\Əր ה«/^>b$yH6E`Χ1ؤ1Xb(.B8`<8NcS'zV$ -@TKO9ּys).eIp+3V(zBCzrܿ>?_/Ζֵ2c)g^jտ6_=|!ŚB.9}YI=FSk\Vwjm?ܐ9v|z7٫ZR q!uBk,.J,*XYxIJԧ11-Cbbhl 2;IJ(R -qSׇ!so"L420jyLyPa=I,"G}=f)% 2CY)^cVpp1/n}f$o&3on,>w5w?hܺ#YcZl$4KXVq ->#C'*yʹ&&P> !.bl(3q!a԰PYT!'Ff%gΤ70\KciIK*dԀ(Ȃ057Oyr+%U/ "4Џ11EI /Gq 2)81'L@`D9AP `3Ɣ 9 Ƅ cbD݈ oFPc!9!@ȉ ., -DX͹cZ g\=jfրS"*(6 @~9H(qb.Kb(_#h1!t/v\õێMW'iRo-o[/fmW6<<{cT0k -{9YgL=|\Gf2_0\ռ|/Vo dqO63Ra,./D09vL3EfoI{< Ӟ2G99Y-&V(i{WĹʦE|2f>u FQ&Դ@Aӑ aљo17_KKb10^޹ M G)48!p !ϴ`jӁRy1B&U1L@;8=ؽp8qwVZgZc)&JHi4;+ٮ,Bk:^rΔˊV`SӜȏ=&gdiiK{oZJ=}=޶d}7q3)y Ǻ{^~Zi\N8 mneGk7A7q|=_rzLח7~,Hm'~oO̐bul$|>$EXL\P D AbQ-y}C`ExfB{m,XQ=qg)cz Rp:fDx0"HpӇE (X ʈBT=4C 57/`ƒS>2[/#wnnZH'3ھy ]rKYoэ٠97T(C=Z&8q4B3yG -*$E 'G{bfy!H@ -q Śv1<\e4:2Gs+8_<,>ѧ['j 'A'SBhbJO{b2/&8EYUD)Qe?8N݃Ly֧&s]o7^f^<p IDAT$SYR@˓mUΜNtkOPO8w=;EEzkٓJ ËbJ# ߟ|4<{=xԷ+rO8;;7_u/Q!QMsuЭq{f{ .+WhxRݖ>xnypm~9IVK͗'q/Z}qF9\/sn-OxJ{91w'Mn -bс B{;|1Ƥ 3ْ/I2Yu51aHNejɅiGFc>;`V_^j,ʋ5Q81B@b.!#ù, '$VK" -|?-k'~}?흓嬲~Pc dQoyswl)H@3&q$TŻz*-K!s 0 (CH ]ōf5#aޑX3T]PeFdڦP5@66$pr"疓F=ЈFEŌgЧN`Sd#bC.Ej4"ؗD@}WtsO4D(SUkw8WϻKOi[i:/%'yg~<#F#y=GRX..k<Z4 (^j9g”mc -)&=//^ݐ՜RUgMw!OU,hW*˙rYr#a߼*}Z2[ A|g{;>"*n%dĂpvs_=3S= -RԢ|eyc!]Zn\mT -uscn./]- Y͋7ʂ"kE S| _o4X,)\LY{'|w9ޣG/|wϔňy}"ڝ=H,_qxh=>.+,*J"s<hUc{:#ts -_\W"4t+REMAU/?}lDdN$ -^}Cح:WT\tAKjcy&H١jW1ڬHm4:صh2XӋϷ=IB<S2޹7q6 OJBvh-]_w~_]anݑ[i$n\S{wdNa {vϣE%exaI]@Tt3,l5~67T1<<':#FR -=(U ?(b1%#&1 -}E:9@!S2Mݵ `d c1D -_I))ǐ'@x' -1(!u @0pP -442` 0 X ǦF=k$(K)xGvm=?ݓOu};ӹj;|?76PNZÈzpֶ͂anO-<pɡX 7,y;M*B>8F‹Gg/UmǕ[%_Jb~F&mgpz:~=/ʾSl?ȹO&_|slFs%7&m<ˏpk < L-w͚Dʭ{qn'lo{}I9<ޭg~bA:ߦԥ~ߢg9sY-/֍ڃ=ݳZ -Jrd{SCIRY8 K -"5yZKn@e#M7H8"cq-BQ0h^.;ڶܼՔc \U?W,@ WԈ%dE )HЄ2@Lcb APё kBL1 JzaMai!N4s8|=bȞǟa\ ^ƵxO۽@u }Ͽ}DEɁ#N}_* w|zGVbOd/~x% 0$s:&'|쀬?D_RMè\̬>Ѝi/>¥Y,h]=8( -VSH`  QO4%*1ĄEp:DBUF>u# r ^=$'A4 "0OIHb@br{mh۞#ވ4a2'G$|4X!u66`&5u r7Ƨ^Єk6ң{w  -OlC0RP5j7Rg:LĒf[^V9Q)]Odh7j`ӛ7մz~痈^% mBkC^؉r6\ $NmIDŽc!gJ|.13[4F^gg;?dfr%QjGJ::_p(n-$FXLNnm|+);r?\ 9^;3"|Y -fNUdPN'QW4w'˭p߻thAqcTrIE|pN?ki݂`;.-O~{ɋf&",s~,m_[~"*?CqX`+fo51?i(qZv{C"$jf3dg%RVz k`s=wǿIJf!+7cgnίoT2E Hw=^\K~hͩ\I\.Fsj/{%m3#9_ODHy4VN~/޽RSww~J ܬM=y5%5utKEsB5hsd^3rI'w[rO:!fyH`vK dAbə -ciژZ$F(D'6݃._`Z>b s'n .3wf9:p2@Qm݃-Ⱥ_*_lx6!__^rEXՁ=\Q9lAuJW2'ZaOq/-4nJ%Z>8{9~8QԜҭ~[aLDez Pd;t*{Jb?_פ.W\8J ֮FZUvBwP$%^VB@#ƒ*#( ;BTc4.-B#IS]X?LѮK^힦lvzaO˥I$DoM@*dfpDꊹq:dY(NCjZv+q~|cvnׯٺ;2[ۦ$d5S<8*fjFVk$Uҷԭ߁Z.,kj_v2糼T:ZHMwܞ?I#xZsC?S[(,02犉!jbv6GF"0/vޝmy;uYklLZVQt@ŚfksaVmgsqFY.u+PQ|rusv9pgsZ&`a%LOwâ}fqVhqj_~n3D-[0$Wks~1]<لl2!8tkK$ևp߿rE?>(p?wӦw=;>?Թ6@*"ҭe7W2ǡ*Q\b( 0 ɃHȻ"9OaXPǒ"0Ex!DmTQT.$ҔҞ4@ EHAGDba\cL`9l^29ӑei7tv7mļُ؁zoJoIkˢ\W~SHh9B! vc!)6,8W Cc[J)6<ѐ1*mXpp#\,wY9fhAk"_<{"V=xU04#b+11;II Y~(hŘ0lAEЏ R!8~2`cI .BȢX4H r11A@;bS)ĘqqIhM}ľxI(@(.5ӑ^ka~"DdWS!to^*HSwBR CAM(v-2sv  XBl:抳SeNT󍻔Eܽr5-]#5Ih A#ߔ%fȵ&ȇ7pVJ -cʫ!z-2k|õi蛌dK nlMydC=f /lFz}=8NR/b-77W6U,4rHףlD'|5eS]MRxsry>o#Hٲ,A r.3o]]zFaF B(BD(7LBczWzsz=}wk-~糫Gs># -vBg!iG?m -__tO'{t%w1 7Qe`2FFo@ZѶ0ބ &x#~Od𽬴L@oz%3%"@MUU@9GUK8䣓ޓ\'я޻Y#pIYqSr˝5E/:gJ1e9A -GFeG,ri<k$jbY[wz`,\ӾS_KXQi"q:9.|877dDOK -ɵw0FE~kvvFEr:z~qcq :Z'?Q_\I,N/jf|f+p^k,r)J驢wl}$̯T3EQ2 a&F]_ )B!,Ԋro>ySQ5jQ,4rl3 -Q4QdXKd$l²,B"9]HR -hƝ[`1 2 -Vb*`GDQ dY#(E@NlVL']xOD${ؑ hv;O}}/NZV6Y^EXȤ#?* bu}PyY 'Ԉq,qB=T_3`r~ 1q)\=쟬JlP#Hlz;.aG{rTmYܑceQri,qsK)Mqκ1漁ie"]E)!0Ȑ(16nR-HfJR&cH$@G 30X,,!$ϯyQ燪&&e|" -HZ˩AVUKb=<T\RyXZi++݁A\s{c heQjA- us\ͯ&ԫhWW9[)n woH?ͧ*Vg^fMPzln7oѼTZsks!yZ\ڵ a84 gAB)^J} *< #Yot:i2{2xz~IJF`G#gDJJa;[/IU# r2/ώ\'hL6]~|x:hUgj*pجɈu2"W=G[i7_?<د/ZXz;I0;hڥytՒ5,)8'1~|2:7Y(@4Ao;n -{N=/vI4cS_ڽϦXmlԊ:lovˤƭUDC._B'鞜 /_^z|FS}Փ5 | /#w딥b -WN~==y{݁zjuJuzM[|A'{WYOUk:뫓o|8 w봔|֗n -R/?bh3;-aqZu@YnD`ª,聄u\-3?0Ix/Lђ."$Thd skaV 0H8B`s(Bƹ U#?uƻXi?v}w,]"A^!;9z2>Q|[\ }˿y8?(ιMTs8+WɃKӴyP+7nJ1L(IDa 61s]*m_͍% f~:IѓE)ӟ҆]67>`մmW7[H4!T[6~wyvt`2ҋecFO.'fC*ևJZ1ҽ{?fGsxJ -MAPbٝ_ZFƂ2Ó.ѾzWgt~m;%5?aYkj~zAOx}p.5B95SZ3ۏ7-e➼rZnnׯ ~8?{uRnӪ_r9Ib.qg^|h-d4ΰoMI ƺɍMubC(^%3U -IrrN*-( rC]{䷊+H4) -1"rA%1 -N2&Zr~=H\0_7GdTH=U`'/L+-TvvL+OgAxyӯy1˼+ id#e- UjB"ܺ=NEQvwM cPb:M5`$b]& .Hwi\A ,ԗk؞^웫#I:qW櫙p)Zl-U̧Hg?:kK -pCSMQf@\"G=L -1#q9@9SJ|Nt̀  sna@2KH!Ȃr@9ÄQzҬ睟pK!A%&-\1ƙآ%#,yFCQ(c'sM('Mc ]_D'; 4fZR17gm{1E/mz&Qvuyuh+- wE5Oj̝d|.j0_\-k ;/ϮTNcRk6#dόJɆ)b|~NT0'qS_4 - -Mu0s+UUqMB/WXYZ|U[ܻsr$j8B ȴvu7'ݟ|pS ?t}ݨ/oY|qO=9vXN+ ୍bszI}V]ʺCz.&Nw&`n /g^dBT&֡&ȝJ_q{vH^B^0ְs]'vk)6iu/pqƃGJt5Luvk{{quvZZ7DQ?Eֿxͼy&oّ;FfUZ+gr'#r 4u{/B<^?OeIR!_~Ӯ~~m$ۛ?w׬]̇7Ge2Mzl4{h?^X\6μfZy{|޿&ʜ1.f0wͺݮ܆`I8JԄeU4v`xcZF;8yw/:0&Yor ,9AAA@$B("Gf ǀCHĄڲ`"A z&e@|,R@"cGQxPA,1T:OAU@qϽ$ g3O ]~ 9ٸw(¹fJ]ӸhsZYWSr䊶(bXў;j@!EB0C<& r1OJ:/(o,aCIP$F9p.FY Pu,d [9’h.~P$ ȕ*~tTM-QM&!j>;i6>"cI򨊁i<E0}ce@'Id,gD " F!J)`OB3X @h0Tcy -<\f,‘u:#sSFUl$*D-HU#bJ5 X L2IeId(`a8 .Dl02UmBt|Άt>`tSXm;f^pj(A*HGA8QFBJQpg7=y[Kݝ: 8>Ϟ~5Wn2ԀxP֪%rCj!Ã]A:eѪ-ʪ!ɬS`A9̈́p42t0z;K-$porlqKCvVRy$ zQs/gX^UWByꚽ|C+ƍN^}NMM[K[ٿy/ΟwGWa @$ `D/w&3Y4Ϊj)1hⅩ iE~}y̏5[4|s1"JX_uix|EZgݗt -EwD͖]ɀ\&]BPJpK}[ۋ%ytb98.o»B̎wu*GέEw>ޓH|fZEi֭?BB;4h~XL_xkk /_[ ?vl/AƷazrlu-DH&ؖ U&$$^V @CqH $X8O!xSx4ͧV`]zW2V(K,4euF8YeF,:*g"N8X(5ShX -jcJ -r $z.ȀY+шdbEb9 GYńb7C5E!*16 03AN"8 \A,2)yIh,uPs;2 -]ZrAQFXJr]Sq#q YK2$#Q(d lQ!.'QC@)#pyCI:d".ˈE (Aqh? Vں˦YvU ܚd4rQ*΅qYDsf&!FLR2C,yuxy:8r*lxS#A'K֭F#I؝\w<"WŚrٝ=6+H1@Lwwhl-?uiZ+'GmRikpO1r'й' W[W+ WrMn!8Ã_})}ǾѸ˼(Fq%'4Y:Ez}F>{>7FLu&kInO]=ǦhYܩWTO``V-u62> l,tꈃ+sf2E@w~o~׿~k#H7GHsg+Z&W?뇦<oJg=v |ßOw}B4o+𳽸EgƭUm.xngay]秞"jfux<9^ -Çzl5%|t4,ʫ\ƨV0)P?oYğPm-plszF}Z`#'e8ANM S1 84d2(4L,i6FafB;,aȦ)"AH!"!Mey&NLE(X! Ӯԣ4sq\pg,Ԓ?zlGB[XErr+>meLUi2S3qǖhbk;}ˈ]lj$שo$c ;RʒA>D9L -7INt[k[!2t˒Mfx=QvkKzPtr#s{]ˠa&# -L%i%#*eTP @ )3KC;B sc8OE8HcX @,!$ a>́ -.6:&0i"k",E?ػhl?REt9~vG9e)@ZkmIغܼs9ׇ}>'RB7dw>4Bv èToS*ßpJ7o}X~|~f9 bҝ1>|ڰ~ -!v!MK VK",;EՉkw4Jix\gP|Pjz̾?\Vl|eϑb"Ւ1ĹdObMO7۵[RR%fNCs7B垻wxtȷ r0zx8\t[M`BP'_@YeY]컥BeNӣØ8խ~x_^9~qbLeack~JP5#N\Y\/w?xE 4M8)ƃ귃JBD˼so?,-/-ke-f!UPT@^ڹ%}7Rɷs@BdLܔEDr mN)S3C^F䜢TL4V˨ eZl{ b %b'~:iZYi}WHBq 닻(ӧ8{,xͯ rjY5M33zuUVՃq ghIҖtA>f^(+?1ި./5@ +Ɨᬼ1Dy㯎҂EQ[.'1x~QEܰͳ,.Q.=t2M3卆A35mSloeK#"IZŸn];g15(Y+Ȓ*B#0~{9˜~v蒕?_t3yU4>תەߺ5.I?nӴ .{CyH CD-XVř^_F߽ܭ[é|:A1-S(nRO(;f/gy*ԣ4QC$L*n:ڌQ=Q!ڼ8`_:לz=r? c{^dݭQ6Fϻ Xj*,Pjr(esoW,q MzꝽsS(I51ȦpA(\L7?μhN0 yh;:zq2jk2ý GJ%~Wo |ݑZ֢{Z郦O׀5a\WX06ru,wG3B)yk6"6<;~4;jaגQP ``ҋZzzïYwa" 姛_d#1G~\׆܈YU).5~A8K5U RJ|T,JlQe]$闯cXYF)ˊϘLJjDN)P8QH -B8󎤨+爏QqA`&f1GEN+6,Cu$yW 4|䳿}6| ]?ol(Ӧ< Gd 4)$k$挩 8arc.X`dJsOACaJCjFHEЉI9Y(qG}SLK4V _uD&B'R8a3Y@'q $ <s~x -毂iEGDp,J+֌%qU?y{kyo/>,qZPr5&O zYgm,a<(m}vpF:z?`LT2Ay-?dy(Ҕ_&?m˒( {#1#Wb6w2"/_sOWl/x槙$!S]C9ȄbJoSG5eJZMi鳿<1݇kp'KwWe}a[=~fݯûOH| hsN4 -ŵ`zͰKv_;-K)MVSƂUg8AtqOwǫxU& Lڲ|%0iVgjK~ޣc޽!ڪX`ɷ4Ptg&.ʍ? ;*J<݅H9V*ٶ^zd^(n۰go=ۗn79>6TmZc>:NGDwܗa/sqowz6䉼>gR}1eANuQWtgEH'I@Q;q9;=9SE}Uv󭉪aAIt -aaxQDsSp(e9e y Q`˩C)B-0t#M1D68p2PP4̜i:p2,!u:\q?Km!4ztww3uN0uQVO1Zere%X\7  QҜ2>M>&4dIF$vҼ#qSȯ:ㅰ\&O"qUf>neMԾϖWK2*bL-kb\JyVQ * -"O9!k3(Eb8$/ qދCmMJ8 %N8BѴ, !RزSfaD 8 N @$FT<f2g2*ij<ٔ ! 6_ (RtBa8O<ХطRWqOZi'27GԮ_{Pd3/3/A)iZ+OOcLUu^JC,6Sh %/OdImS9%$#g(TEW̟4ˋ/޻0)S^65"E@Jc8jv\w5S -ecwWKe zisEn_[d*7JJ>^luVkN9^!tviZPxv5u^kZcڶy6p,=S3$g^|P)\_ׯέBy۪y׀'\VzqtbwPjk?&ܳX{`T`ɤF;eսq\n_L.er4qn:k;:BS?od&37"vrSܴI^g}ɳz8fmc;Yf͊t -O8M'_|>=$g6+hhx^ZYmx6'r, E L4: Dtiʮ^_6ş{ofjn,'/wޙpEae~XZ^_O|0o7{9Q.Jت\ŏΜ7?!:](zyVo}xoA/'$rq5~fx4z%^nmSF%ܺ.fE$LxXVdΣ$F/i0}8o-ʚbUP g9yː@OS3K$=58a8OIsCVN~#€+Mc?ɮ0/|9 4`gH --R*.*/Uײ,Er<n|/t}_uLHf%`J@Zt`c"ƤRAhQsq+5 -}!,/UR1,;Y"T =GB& cl*T)RʌĺH)Ct*g> :0'12LYb+ RK+'9pBw=ud4UʻleX -nqY섆rm؛ƽV.GowUE7fb:[y5+5E;;^/V"wag+NnCh9J15J+s2:%TSʄx4 Kk9~iYO0/7̓t=:D.O$ﵻsmؠ'ےYқLd<أ)Lq,֪y;z Gg9õѲG"єȝfAGqjH{K+5!dj,Cc_ǝFFYeg 1DF2g`8fv֪z;wwl~y%1>pF ݡd )J`{f_Z9mk_rn+8Юz짖 &h2ǃFs+Z˳WĊIQVI=)J)Kwoč P -N4wBus&unj>*&Τם W7m_՛gyqŇo ZUo ?o)"y 7s5yėGdloť^^ݚYy-G`GVW2鼸ں+Q<˯陹dw\)wFZ1 +?8> -fqCf 5 j:hb2;v,6捆ZӋi -TEoh\2ќѼ4SG_$ht"U{Uqrzt^ΉCSogR0D&M8tffL}ʪf(ũ0m E:$yLXgqYthp#,y/9͕J,Xr X_>O -: 1A^Lvy}e\+En*?l8}2GڜnVW?5b<\v(|WWĸ4Ʌsix!xr;OӣaGsy$[?5dKdS6=_Tn>8n=z~x/$R<v~?ܸ^{DЊȍl$zǿ\mG*VP[BJk6AY7h/Vz5?=x)5s. -Z~ygT[Z3\Mzs+Jn;a,ynudcMF I"'FM B1&r^(w dJY<8)3v90( qf+IH(L& - -b X(" eE ΧB8T& )XbS4IMQ@W Y - Aq"@NxeԄ{`avRhW,$SJTU6<ֱvS -9d|qVqd9CBd1UqvٟV}T\0X\NfRP>UqOٹXWSʸ'q 3+.ng*0ҳ 5snuUxAzMS&8,2``@ *&ӡ&Hq@&`&" %/I z27:p%PIRLB 8HKrJX {4a!'Ȓ0PLaI9E{^tI35 `{MӰ:c;g,жv<;T`8ywol !i F:pM\iyuo{ =wL/.`[qkc~ޝ(%=JIߨvJ߾V:o~7嘰\,jMaě8].~HWd*F"8,޽xvpAFj<>q6XWv߾9{ռ'u>XX5٩w;s\pR&o_7P{J1l"Wkĸe-AVѐ;wZ3ԫf/}e6BP:%3MxQ2ze!6`i}m2:ͯp K7?@t~ONuŭ?}||z埂x7vvҕ߼eY4?hHn~qjuI -i~WO./?~4+9'7J$W_u!q߬_Z?ށ> D]ܽѸNŜkv_ ̲z*jx;; y3*ѼZ_$Wpv=p!ؐ4;inI&@':CG - nl#9 I$1^#0máHUT! A v>&DT]$`JKAB9,)@˄ʬrc&`9JYEb fp@ca)a"rqlX:fݗ -WB,ࣅwAFYc]+;Z}\r6&/3KD AibpÄ|\t,$ R+9W[Dٕ(ywe06nKFbE>jGbŔ!2@)HLr刈rSbĘ: 8%*ܔ$WuI+%Md6xn( TQJ< 9c'! U 8@A2$a@u Cc&>=oL L]`\w#v8ZMkVK:K~JP4ռ39dB7p/)t\\_}'MۖV^kOxA;J H˼dۗYr>O[lvڧV!ޝKN-|TV3$vTÚYkbcô/z2 l08ݑ'W~wں7ݎ-v{0|rv|x=M,"cӑ I$1K$"&ONr^) n {mf$D%QkԵUJmFRޭ|:KdBY]O[o>}R ;lm*ӐE4(q~JlOkoMZ77_޹x3}*iicx\Q'˶ hK L};WꝈf_oC柶IJNۈ3u:0 ɮf#%'i=^NrUyփZo9+7Id#{A8,k fz#Rmxrt0Y>]Z[gie'I3/XE?N`8G]f"'a=8W~ZYog,77w7k͆ avT.#5O{|Gћes.~5M԰4zb)ʴq%J*Tń< sݠ pXZ*)4&QZr.AANH`]p/N!@*/ IDATNU fs̡D3U S?b -HIT BD"b()CQJI&֜O{IwZnB238ɋ8s9Y3e)9lBC?f5[_ISqst9Ń+ב[<_r%4!5+#<vZJ}& SZa0 $J!C @!ڹZ"hiqK0=aL6ٛ/ڿӂ|JdTpHޔ^b:D)Ө DBp U -!34XJJ@.Ld8NiiS,FPJ͆FZ -H -NF@dR"2 #_r.$BpL& -a"a4xaaŌ-ϵLP;_&Z^w^OFc'{$ ITb<2vgh%k>%W6/^?) m&$0)5pe=kڳq|fVyi~{5t杅Œ>^c-( #2JnR~޻6N.o)GBɾjե#l2-[@UuӴ!eaL&:?Ysk# [zȬ>^#|:s5MǟZ& 4?`l:obiF|{{#Fy/ݍo.&a9o;Zx:Ѩ{wbEuV+P:lG}Q)ϲ^3צ?}ϳ -vVfoA_56>V\ch4@`%a Hd3;NFg}{|u#j 1{}_a?F^b'| .|qWQ\%(|_?Xͬ(;ŚF"i_o0G+|CR~jÝBqj-u}Щ9ŝbkMYɏdHT{SpT7􂃗gmd5ꪕ vv5%߄7ֵ}e0OT%c>Z=.C0l*.'r/\k^p];\gŝVorkmMWqߴ_[{I>y9;FI4kEDN &{CC< pb7ciftwr4+Ⳏ[,4RJsȡsȍNIإ %PU2# ibh*4 -*`U[@u9):AW( -!tY'MYKD!L}UXs PR?" uf1҃JS&j,(O53i-— e"D -&3{21Ng4k0(#- @B -UljuhV(mjl2B΀]Wu{GL -5΄c1S2F%d|W"&B3!DLljd?ƃ8P00¹F0a@C&)i`^(r"4#l!rHMRcaq;D$^,|GfChްODO$-Id%[[iPΒMc+bVw1ȓN+yբԐ玾Аu6VnF㶛X|k='`VrNl4N"rfkw {KPǛTN._|~]+޲2"VmzLi5]js?o`6rg5L~9߰Ns{p -ynd9o>+n V! 1Yt{zN.ѨsRX4T]U|習zQaUxĺr,a9EJiYyu ^k8|= 49|u1y:Y/G0CTݽa7{J5J˙ɿ;2ŧnlc_x}unsNŦE aKBU}4ު%ǓoQOSW^HJE\>y^՞ -/yCdvEk❀JĤPn߬HpvKad6oqojxo,U';}ݖ[׷Wo.ǗGεk+߹87~I`>ߺJWMVӅ2wO_ӛsRޣߨ2]];J<e(TBCt] -IJ|Wx.ۢ|ivPhx@ I_,Ә+sɫŰJS `pʪU5dO_,rWr\յ 9 -!)šA̽T*4%PD'18PB+I̤CUC` ߪ+FCCJ0-Ƅr%$rP Dh!18JPr$Pā2ى%F}ƏZ(M6 ŵkQ -,ov6_dV0\^Rd|52AhٻL;Rnݔywf((ȼ;y{$ӎKArBgħH6VdVcPz6yNNA=Z.UUڸ6Mw&綁3ZmRIq`yr\P5󉴧}q)]aEFFiő l8%T-ʘp|:$Mϭ4 W"Q׊Z˗OW|x:Z/w1MKe$.U<2Ք5n\N)Spd}շjcQV^F]i鑱T>9=;d9Wb2o/]ܲ|u8a~wPERt -ͫ=:hw{v6.YagKxeF#)~tvr৷"wm$UjonuUAz&`وU|Vn01,2 Q oιٟ,زT^juR.h*$uQT4v 82TKd(rG1=O+iIdbSJbBB@0IN .װ [ T<]$yG^.)vyz17'l.rˬ{"0@BBLH9Lb!* FtNBxD1KםP "J @^JX*X 2C:8I#@" rsF,׸ +=bI˺Y k@#DN&WQGgfv)ON?a{bMөk_٩6u~~hFzu5K-P;3F]M/ !],דVKi3]nn) -lL;L#J'('3z %%dx.y S {^_-qԲj E,KА*)X2,QIAYENBrEGs)@D%Ci#I1I1,L hRq҇) !FUl1/[!qØҨrU*U+3d_<ˍlٜ?+= -hs1ib1s^')ɻ#S`t YDפBQDWB %cX"-#uEPͬnk=l0C{}dϻzo^dvb=xj]Z#jMJ^yc L,>O2ۚ5|w#^ezz<Fl-ь>Hs; a?犋x`fˋSq円deupGCwg/LY+~pAm89([ |Vw{}s۹n{$I7;{lwejin/Mk΃3z%/eR](??wck~~~f;/iWo%XXr* -PQB -c.RH)j))RDd摣PUGXTHDLT<82aHYA)u4Hr^28Ϋ@`c>I`DĂR $AAl6a"%` ~ -& 0<)JAoD(V!*>*OK%qg%>Jlb0"N^H7Df -%6bܱ(F,wvDC(I=.$* PXưHO ^5++_#ۥQrwo]d2Yݸ~ޮl^[|1sC+Eb5B2/EyA'~/mԚK2uPh$3vAr?mfZ_m;l\IE $&3ze܍GG w>vi[VBgxFpv6oYWr5TLБ^K E dOW >녡e[j~RW~ns6~ޜQgZN^ٍ;۰߹G`8>^Y/ 88wAkj`NNzys8S IDAT%埼8],gh`C5Js.q-> d6k ZoB돎{^+c e'ҳ"værN*ufԛG7o}'s(A.)+޴{5QQ9+_75Ls'W˦M;ͦk=:J˧etGϰV7Dz<1 ?|=7u+wwuI].W"E S P`zу C6h@,Ф%gwgwzstnN>}Ŧ&[>loG㭞ٿ-M)lťިϮ/.(R{ЄDaԢA.dHE$P,t4 -򼐩TU89@nm7@sPVˈJ@D+,6T0F ұ#CC0P"xM, V)1f4hx)A0n)ԌM4+DeHfKɿf#3NF/HKꎺ:(Ab,CU-΁Iꃲ`vTi1f:>5d*J9X,Qu8YȩʭNK-ɋ֓-C>nvGHlaA! 0@ea0e5)2b@"0`Xq "E&0aiñPS@P"3<}S')`.0R"Ԩ^$<@ᤘL?UTzyck# %Ɔ#f-4DȔg[ZVg>u>_j]n ˿?սXXR]ϢLtRDNbq cm<_qUWyiQϿLd!7)7c m_X{К♷ib2y;ـY`{nb/OWAWHg;~wxԤAle6f%g٪I)<̮Klh*,8rq+n߮V=1{~4|K4֤ϓٮYBF2췱]-[f<[+m<ꋓ7IM*m`!oy0[ ji0s`e뜻mloret9} ٜG7^N}a Py-嫸3Fv~9ZzMWRzBSy*"0,TF% NYZ)x\d,M l~PmCYΥF!P5SqAQ" EĊ2Ǚ,sNq2P&d MLj -$ګ\4m:̈́E ZG+ϤPS1' 2o;h -ؽV0Wd\C*% -'ǜ  JtrK@$ކDZGuҒh~.QpZJ%%! VfA*ǒ20O U-0HuEndz([+RUW~ۨ,5gH EDi -o81q$.ĺoJȚ0!LBj\]$e\BPAGw5W;pBBHP@XH# e\$@aM$R~ 'B.3Vs5 yq:-V,^Fرع+n M\to?2J455λ]_7/iYb:ʧ_,FԆ߰'8Ey7&Ɨos5 oPęֻh-qeW5k.sxJĶEluՌ!50yGp9_N4-'Wi]~{Z{@4/uǾJC/,ŶS,F#/ 'g* cر}x: ͆y3AH%͖Û[LJ症KBvh5Ғ}N*u%4c@[HP"hY9\U~#9Ga  XFq!DL R! - M*3*,9BbK Jr4*CqDT-rp9", Gj\q]焺`Iާ?mz\\i%_AYVT{D]W?vr@q@$c!kGTBjXבνbօtF5j -l1+Ql,u<9 W. ` 5L5dEOqX[΅X|ofretLծoQяW@A=ȤK[8!3 5TagfAR(ˈϗi5L@@@F -eR=R@9!t (S,"P͠-% *)ʲE"8w:i -G*h c%2Jb.!$q,I`p]VQ -ha뽇|FcB˕_1Htxhxw`6>'Bі۠Q~jF4UﷺO<6O"u~Խ4y|f7!q./hpa|Ck7=c{2Fgyq2jޱ׌:ռkw>d^!W͠uqdµE@瑹L_<{&~,Vǽ7#tgs (t7Y3cm -PXoTL߯4 -  BD p}u7p"{{ *wDJ7a2f=nŽS̆럿eS~4_=Zqqy,67du5?Ȟ>ɃYua||Ub}X<;8;>z !R]ڣNԳ>#:)R[Ä"%̰&PsRIq&t:l6ZOn!S>:a -([EB -A  C9U$dQCa'YRr:XRE.Z%+:SBTI E~ j–\>mԛf:fmP;ڷ%w}"g^Z(3)NH -+>h֚QvZ&4:dqKkm3';۷׶mOWYQBb3b²&ȃU$ŭ}1f:vrW擕p[Z>L&b&m=rzv,VW_ߴhOVk{ҪU}^մ7jM&6fzUaҸ$57p0 4szfL#/Un@g䞣 Ɠ6+E9 V+W\ Q)Y0|Y*h5?mu-_}rTf}>޻۸9VnnTݺ_xd`XSgX%$tSe |K~ww\oU :,KYb,6D JA@PJ1% j\)yn䔄$:9yݑ^2o*9t0Ad)%!Yp TS͏Sctw3.5(RbkpR^p7P6LX0 LTȊ I*:(hJ&8d)$`B -9XϸMk+NP!Ax#u,]b<. -#Ax b~=:{[ݽNgBh -]ǸT\72MEcc.r`n81e2|.[kmӯCwmV/*tY\T>\ঐUZg_qH6:?G?pxhu1IGOV1NL_ׯTTdQ5HF_Z(5;tǾhetGmFxE<''˽?vS2ry:`h$h=ɮ\]׺kSUJ'< <;y1)=弶hfPqxh_!ÛҼxh-n-?~~nǸ /v]ף:fqt˼n!_EטnJ׼]7Y.77Nft-gj W)9bϿ oOB7KC`ϗ0\v.Xjʗ(@wy.9g /)׹$t M3sDy:uK+MbuX?LwJ PBPI U"A*W `N -39/ -U&V ZI&(Xq8WªL@ aHaB8ȕ@PGMVBD9@f)/FUOgz0ͲU5A+Ț'%}G!Y!<9% q,0 |4$',|IOZ]j$ |x}?Y4n[k!#`+"S26p x9mq]dcB54nmIݳ)J ieaDy-P -@dB ҕJ $)d,WaA[Չ@Š :L CY)̘3絿OVLZa -t5ו}[5,`%~7d4+T }an{ZSk}UقJ'((Ѫ[܃% |$-s' tHZ|V@pl%00$F̙r)4.!X$x\d-H*^tM+g_ο+'mC1P5BEHIV`_MMX1Mb@D(M03VQqPHej^ IDAT1dh*aqe(l$K BLsX<C"Z"b2!n@K@YzgNM<N^O v,A *X!S|Q FD,"ʔR822 :Edr9F'Qw<զ8N:q1VmQ 3[_=_(G7_efCB?HRUgՋE+iOֻt ՛&^ϷvOGW8˅1ThE gE\ -RQTy匲TY|ikպ8>YSB f Hq!RBR#GMA&31dkX!"B(]#@B!_GoBa DnZ+)w~%Vz?{k4&TOxa`fv0fg|>|\u::iv43I`ƅ {=>W\88*Lhb)9adaR*cjH1)'@ RM[?/y ےLĴзov?.CHWbQd%[ f*`)UBȁ")M FHAFE}4Ls.\1Fb%l& gY0KEPLDžʡj` - 4T9 WvRj5:ȡX(!6PPPbG!0态\x!Ee] N{sy"M.-s~<_bHGCjˆz #X3i.}+Hgo3Э8Z^~g+_i/·Օ{o}bq~N^WlieXrg:'#QI|PW`.ގ/̪#NVeJmӋ_X\]2J=(8?xk?E$Z=_C8#m8yɭZ$E[>8`h5YrHc0͍go?x:01EFVEX7ӛptO+oϿ<d|kcB[Zxˣ7Lr>ӣ<z=f^v&K~ޖV+w7ɳ7يwv7=~4Μmmo/nJHm1 8M @l"",laZJ=—?;R׺<\0Lؤ2_O"#b}I XTG){2Vg<?f<;atn^br6?56 R6mιYN4o]՞|&$փ@\\d[djW_.>t6H6nw[\,ClTfJ%/O89Ԩĺ  -pV(% 3@kr%eZ<ʕZ_>{wJ6 CH+# c -5 2m&PQ̀)YkTXh1NԚAbI DeEOL{>W)uZzBbq >=\=, BF|0}Iuބ?fS#Af$Բ5bbdC{ghQEllR0b$8! \$={=e&fT-oy<$aC`j x瓺 -χ}A4SC H隤qb&)]]a|4Cj -L2q!'tH0U-][2>!'&XJT@pSbblA5f$Pb -qr -5oq4m7 na4*:ɔn`+N(A -r& -0 lU! -a(I3Ë/kuW"`YS/E3 ]roZfabFoR+: ~pmgl$-*2CMY/K]ƻu^.kTHy-f'Ks}Us/iC%ykF5Shzyة %W,@va \B£XJh6jNSEzٓti/N]-9PeQr`t[+QOFYj0Z܌yS2)dXėBJ,O˛Ladf,r3׍ih 46=(};qqr ]bVn4';p7[^ӎĮlbʓ=! =L^^ۻlQy 5PmߩRRR5M邔&ŝۻNza ٰ&4nUREjXkmvO\shϏ>Z|0lRMv>õ*CqYu:x:f/TEo:VKoί3,Dvxfbv.o4.8h;VY#gr6;kHJux4 Z*RZy|ױ jIF44$*JL ib3@bHa)A@5( 5,o `(99EN U*$)J(2!Xi8Ҳf$(Bap̰q&MXLg 1X]EFYY (Jmt=Cmh$AU&/H_|bOWTXѩlu 0\ |unAQkLaĬЎA`EE +I!J jRԗ X0 iZq"uh o`&JZӁrvڜ<]J~72KU B +"ǒ2Q+FBV X@ -BR2#RȈCbm]g*ء#jVb[DTc"C%A” )S BGT -*4" BR0amˆ&()!0WqXF<%Rb:3%)kg i$@e ,dkݸ{nMUϗ+Ҵf b o=뙀<[5ymZ*?_.o&YűwҌOej\|?䋟酴9bt4V˝W$"8=y}l+߾L&ii d@qӋ &Wi1&T'_| .jzzjUS3ET8>ir\ d hSj([ݓsWepF~ӳo/2FQm6aR<_ٙ FZ68F$`4N F$(ZJ>N?wh -ⷣO3x?4MԔoZi8͡O7Jê - -68H"an~ LGQrPġ8EH)yPIUtfX`d O -\J$ }q5<=NHKJT 6@&A*fhZ(JpK3EI!S"2BRZ$ -(!-!,l)xP0)CADW--a vҗZafR>nn)*r*2S.XLP327#3-B\SrCќ7_٘("&A ^ -lN8FHGv_zSsn 0#%q=ȬFsS 6o _|OvJNxoݼ.sj-7~QzܪKT>ycVX"m8&ʟydoVxj eل [dܜ/X6^W/^O1UZ;__ Vgypa%.Zr{t}ѫWO2۱r6@C0 oYQ-̱s2KBltKPäלm z+YP58.U&eDDDh}w%Bەcc>{b04uKd:4F~ -˿_myn-\-rTEjh ʎ@J~+QQa3t" @GAQ԰S\ *P銝2 {7ԝ[Lk(:t`S:.{UP:hw~*0D٤ӰDDuYZ[7nq?p7O_<=-|5Ky: FR2K{iUgʮ?ܫ{;kϤywV5{w;Sv:nqR1Գg6_|t9)_[pʬ55< l2Z|*w᝛whm5EkkZՓ|(55"ErDʰ< 9@H9$!(.p#BA*A4Ӳ$SJ\ -5/5u{EF -$00$hǀkC K9$GEj*/Sˈ<ԀRYkRL(R, -,((YwHZmMm_` -n?4r^}vYp3?͆[fR&PA*U!힞#Y Hā5B ֒2+L!q -JdUJ BQYP!A$li2k|Jb(!0_G٭}hԫChbaA@ vM%ci6F4ÙU!RYU!KACHjMs -  -0 R.cA" P@M(D{X"%UBJB9u @q`Tc(Xf d!"H0.8p1RUJYpM J*b,R)qֺe t3y3r%u{&CQ2hPo[jl4kܬco+!SBvtss ct2;{6ɉva٨wn̊X.Q>$U׭jyrOO.~LvkD טv:SY mmmn[nu``mscoi_~z4J=Xn4,Wݸ}^wgÍV*V9㳫%)|vd(COX/8񧟾j?d̮_?; *:OK@r~3{zkMh__'s;uGvÇ޿d'cuuSTgNG(%HQcqE4>ޠqjxiä)Y5_E{|uĂҴ6pް姙ti)@p.bu$3lX~=I!n޺Q Pn"wΌ,buǻXzW`i^o}-|1َ[NDa'>ѺYWtI -{-²Պ_L˳dolL`mjEM%pYQt<"ٸxI;>9;D88\L߻p3X --Yv:cgv* IDATF IDajt݇[^_W*eriU\z>+{vfB(1_`m juҋL I]Ņi xVͲbE )2B -J*Q /A# (ZAP%JQ IH x&D4ėQ\'`|UOl%%bA*;x^^#[8${ cAś{|ċr C4ݺ3V - &JV[q8꘸.Q(vȮHyUPhi@A&} G, ]c_}l] ɭ΂(ghK-Z2 (D6iOmH!R -.T0a ʹfF=Z,1& -$DЄyjk)SH@RI aIeF٭&҄F("S*)aN1\3Bd)c#y`6e2G\'Eb+XˣO6![&F`=Ay 1d.~yee!CCl楦0<(9bn–smetl5186 dgћVgp%Z,PI11>*x`x6q.Ο]N>n<_8?tXi{^|϶J(GYP޿OOVVjTk5&m1D3@,ITCg@S#0ײÔEA"AA%#IU,S;kA p+H*DD+IJZTUJ1e -M)'5+50T,^|! =(tm4 r9.h?}OLJNmb;;m=mzo/}{wzrөoS Ͳ֞Sf[QFwͮƥROϟ//l.0i# -3HWv]m Ɏ -{ef--|v)ĘGN%nك>nn+=5y, h*"<,%-S^9#ggWxoTo^zT^5,oIp2PenoFsv?{kEfi\!^{]"g_d=``dSNV-8y[S|쟎#vp3Y^Bnx{'ofH-{XUb|nttNvݻ[gg/_:arnVk;ago iGY l{w@7=s5K`h#A%{Xu1VqG#4 9& "J19 ZM8H "JkГLHN5rI0-GGuX@ -Kq1!DR(P)R.A\b , -0@ @%H%5IXrU? \;R$ g->C?]ĉWDq-@ipB `ʫv%K+`p9@BLyF Jv1aE4V.E)8#d3 ]ؕYT@a]|=bƣo/ r*D鮩!9@u[UEXi V2d&M J}BX++D - D@J*Q5~N)V$ dTkIz)aR!s@Z@ - ԄȜ_iz},8gӳWpU6*{PլvE,wk̭/g+mvèY9UO?~hQV +՛o4^b"mU"JMV9t8z,ȂrWW_uャՄhͽRw~2sFf:Y:et0Ic"3*S҈cW@n1[TYtŷo3$LIHN_<s[n2-viF`;Y7jy5AE ?{rZ|#w1AfVJk,5;Xٌd\\_nxgdTfem<\!&*\ߌ?ojg-SloZbqD::m^79vkXgU]-TՉu%r0,Ox|U+\#nku+t7llS`Ύ2<9M˷;ƏodVw)oG`~V]6jP_ۿ*kt%~:W/~o鹈U88,$A6jww9pz-Xt1+J8_oGWڮYԅ["Vɳi޴Z]/[L^Ȉq/R\`1H pRajPiWI5aD#$h) ,d@Cئaq.A9&" %V/͖(4gy|Q7M@t|XzZE"XeflTZ~AZvM??GWJDP77 \]:qeÚѴ:8W}:;|#.¿:bټkO? HlEsmn:RRFMOl8Le堡A*|1=3T_>'7M'/rGyoއ߭o/|% @'ʟ|+?Q ;"C%C7O[]M~ ˟w7d{g+R/WjaE5Э>OaU}sgh2To;doM< l˨F;Yhyw5)zıY);w?~;7_?&d`udqmፄg2rl\B[IQINVM .³;0M@0* />ݬ2r%a$ ^_ETBx9ʝ*ӭ;ِ~t`+`΃NOrUhʒZZ8XYH}^"*bSHl`bn,ض4*L9_ ݫks !R\Ĥ)]a $`*kEŽa<74s1) DIN.WTP ukP҂BrClQ"]#Ͳ.x%A .:ʑUFi%(Uog/GXbkm{ƛ/0q |J;H8>KͩoL|H4.AHu% TB.WvHЕQ$y -@Pljp,āFwL.Pc)%iQPIPp; -tu6 G\rKު<>DO?1⊒3*  FQQ7uBXHæ%Fב- UpyC -V96&jP ɱk`T@@TEz@L(EQ. Wp@@J/W)W1MƠl !c#}-C;X/5Mm@t! 2ϴib,[(78׶)",P'Ӎ^&|d̬OV7?Wɫ U(H\GD:ʪZ0PԴh}{3/~{> -3~(]˴lmXi"_Xe4]2 -e/-yսdvPouhۏ7wM&FR$H{kx&5DEqL%mlIC8ĐWYleRٛYf"1Aj4hzɭ͵2r0(8hkS]]=Qˊj^;#9#Yr)3EV<_O>zV8-ӍGVC\nܬ-VP.q̢W -5-ϯՉ --*mmٰx6ثtƗ"츏_ey>tv,V6qiտ9^k:Z4f5*,AE׉,Ef@`P* -9_ -.3Y$Xm.4޶l<\+ڍrW`9*2fkME˰(ڰYs`. -<6O ogt&5ڵzEG{7jIW?O; -tH!ܩb)LrT*\ӫbRؘ<(SMF1\WJ4q{3LYW:ɊͺixetY[&p~$~pJ~&P^9|TMb7ba==o|f|<1KӔ(y!KEt;W/?{ZH։NЦPu:J4^V 'z<}v.~'WWϳOiZM uluC&O\NY7׉VpxvƁ IDAT_Ld36Yo;{ ʃGMXv&} Xy1U?FW_Nzqo׶:ɍwo W"? wpO&SΚ&)l'mlteWY,Ewntϟۍ&/yS /oj8 cZ(s}׶޻Z[tf_eoNR"^wt9\k8;ny$ló-&Ztht;l0MB @[s gB`GC z)*h!5Ǩ"1CcUya&&DB$6!$NbHE(LdI P(E.-%00," )11nPr+R%:Rjt*6hN1`q4GdqlҰ! (kLLB*3N32CHLF$iq *ld+<<" eۙR0L5dI(! $G$ML(gEʛl*FkQN 3^+~w- M -kT9e"B )("U@iMmU„TBP AA,5H!arL εi#K.UA$&X - YR a`*jJ&Vzk-ZwM+Ӯz٦YtW*Cnn6A6Vz4#e ?.|"0FPVss5HNU䧯d_~䫯vV?^ɊiiS[amʼ#ZFHFsc:xI'f?kgkJk7i#'aqviuV$zj.fؿeNmsnxboXJ$03Ed~Y< Y*emaXTxUDT\&|r_M~?]H}jts7xtGGZ3~ڣИ ea Y!;`wK~}vUmXolt;wr&k6mlAno}~"y 5KkW7*T#5{dB83l`5^AnQ˃'o.2ױPPB$@Eƹ -A4 -(ߞ֦ϼ4N$Cջa)8* u/|Q hf(CjkmQ -eqBx8@iĬ,W_VN۝>$_O{fuOw܈yALj (v0|ڨWLF يKh<{Qvɽ^Y[s]HZ{>jE+Z}/>zy^.zyP`vXkԍa4.gyr29=Ba(|Q5SfUպ7n$#sw~[lpc94TD)dSc@ɱ _nrnV.\Rq{^8vsXGE'3fT2ɝ_j<ԾGIȣx Dfăi7( -rF~8 ?/vj[d,2v\̈́'ˮzMzbyW_Bzol?p:ĦHb:^_}-*ݭw ZnZ:{βjlrObOa\fսzJ7ܟMYыGw U1:|Yagg(O3{ZztH͙]e3z><P W2tkt̬,AHoպq|=9. -YD03#0j.&kmW{G3|!f`3$LRMPspt%3`D0|"s!Ts۫7تmKcKdRR'M:ΙMdA -4%u&2vJ6H@ H@ˍP -s1K_$%% ;BH9'(tJ[w/^xbHx[1\減Kδؔ -0 ^+J(ӥ2rJr t-½C'gclhU)7 A]%X :,M"._Mg*{[`QS\R. ܷC&$ %BBE 0ɐv(]I)81cQB - -( [k9ѡu)OCZBپGd\dYb)Y0P0,9* SJ\RR&[a*(fUtݱ06F8Ƀl|5W -vォis?dqI[N{j| O^g_+nocj[(ܳɉ #6:f]$Z{5:Eo_]3?^OFrŇ{g \4%v5\j6aȺX*MqٖiRJE\2Nbu$ Ru̬6Fi6YAvkN"zN*fӱUFL框PVy УzEMS[^_c~5V^\uWJYmדxS@p:j˫Ѧk " rNFʫ;;z>r|zHo|?(Gu뿍e6HM" WyػT/<ڪZy7Kjjl6Gc[7M$THDzsmѹ/WXnw1ݽ~3E^Y 5^o.zuYث7_Qi{g8&iI/~b1lu*t7+ƥl^ W/sVa dz?G/N ޳ק́ق}߆c<{j7uw.NRvȼޭw篡jlmr|o>̰-SF=.SQNN9tI兝/Q -ݼ^U̮,_>[Mfmv:O,X4M7Fv+R \ -~{UZFc#]m%ύF|b:u;+iĕJE@%Z^ZήzJw42 ez&[d1NǯE'F.r*ruboj r`N-`CqΗxnmwBe䱲ܦS Z)7i}="Ts.w?| j8&3_}am h|1?ctBHGwW -2mJУa6I*lxPGғ2$}Ž`.L s􋿚sVG#hSk;$`4Z먈sUA(S" hџ"ARyr0خ[ݺe8Σ?W,j/ylT.&ʭ[;[]stVNONk{Lů|S|=Tm ̰L- VlEu~?4^}aZa=W׫Ckd|_}e'f3;mz{6O{^h -ix,,V[fk0J]^jA2(6't*CQ]!3#FZx)J@ q,5exI<,j9).39'a[mhH(#(P"H"UC !§̥)5$rX3! -]kh_~]]AP.6n@$e,[*za&I|ɖ -[TPH$H1JD3)Tdxjsk$ż3VىEҬ ӛwGݾ˫)Ãv]ªxa{7ւ]ǩ؄|b*s|Z7'F[*W7_"5>c9oklalo~6d#|{ -ݚ]хr.JkL/Wl^k?P}f*BpX@Q*@`k-6\X&@*!+aЪ4W!]s;Jqmp@eR1-f`/"٪ZJ>!/S`LaޥP"#JU,lr# -) %}c?/gԨae26Ӳh|O/OU17eK,J d)H 0FPPѼ8VX}p`znyalQ4ìCMd':ZIeXI(CJdZ`l2[}^E1J~IN?OVv+UR -UDW[,()AJ+:-:ΓMQTf6|B@Nb|CaI -U,#DRTL(Dkybp0FZ@*eҶ -BKE)0A|- AS7- 5(sbֹ`Y -rx\EX6 S Jf\QPqsl%(OEdj\UEwޣ&2qzvRNqϗo-'&!_PvXYk^z4^WWgoӪuڭ=qVQ[ P„ܠHk9_%j:{QZ%Φ*G\,[g#5u\֋hu%t3mѤ<L ^exr[8'PEk$lyR$eEs5%p^~lbf*2k\X,rN86+;Onʺg4DW*o[zw&U9vֹIQz%h 'kgIꤲ -0,6o@f1T7chXɼ&iuLX3yrż} xe8_]z`Cn˴RO/>Ͳ*ʿOҪV ο=~ؽ1O5-z6J||z&[nt}e67ܕ4z[o.K͍zz`2\ѿ - {^d`kUק_Y_v@iy]Ff@]rIަV-8 Aw`&:L+ (<ok+Ty)DlU:.0֒jA LT*GeAcH*a!UI2M}Drlp^$Pgy:GQ1GZ LS^FX`H(e&F4SҖ U&HE8W%:bL,{}acMN0n>tAJȪyU)$"$G`K b* jTijjwtNRƱM\&G Yzu\Qo@fB;.t5*EF`iM6Rhj2O!3fS;{۫ghGX50cgi*P Rː Z -Ph2ԲJ2[p 8+5X#PZSP HhaFH.RT&*.4l+\ܐ95=RJ.pL(2=W`.WJrn0JQ-poÐ)-+.R"`$*yxx{N޾|/=k;v{[C^AuGǣ78jXgo 8/FgIeut[zSg8^qseuu4 IDATTonE(h!cH}=Z_-_06:`:_Vs0yMBicJD φ_.R>_%SADu˔xmwM0a4/.V+{_N+ÿt(]4?˧ 1wwhn-߿L.<ޮKq6t~hϭJlz<ҳWr'Q{|B7 -|Zkg|ը1DaG/'f7X%}nw zb}l|ZwY8Y=.7ɯlJ޵Pwn,Mh. *<(խ84;`wwznQ1?Y+>x8x{wb,bYE>bh$4P6jRIG|1t!hc/B/גճ7WA,֊yp[?>2F/_ ^_/2M?[iP\6zpߍ=^8{>ٙE8wOgܭ7zR&D!WB_u(rjIV0֪n]q!WyfƸfbKRgAD<\f닸l'*H'A -BU$ƞ,6D9lԦwx"F{.RB+{-:|?oU3cHaREL5pGLs\op2ѐjYfɼ`>kɁ +jrKȒ洈MMS$I𘛚a Wk"*Z-2Ųs R,>8Jv-EbSTjqsuCTեb*os6}se束NnX1Ա@JCߗ aD#hPӷItEaօRD% 5R(RL@k+XT -Ya31LH}+X*Fuդб&0SF9aTT: XF)¨YwSEf;[&]"J$22>k7&~eɘu?ؚdfӛݝbĘ8`QH˻5H]yl1^NuC΅EZuTәQg5ݹ4?/vZ?"k|ٓwD -5o6u88hz1<]Nu#ծnݰ`j 4Oh -xw4*ĶZĥ^#M)0 -Xm@B`&BPi(p^Ju.(q(*I l`E&jDyDǥtLʅ16 Dp bZ)r%)jʒ]VjK&ݿ]Mf#b ]mA09.û[_LXxEoqO © -OLԣWZ1`&=;R{$U#(2LX 8"%(fIUD*_*rZ"]emۚVMV -6z+D@3 " qpI -q^W©ΎR~u|&?Dq 8SkHk*QPL(h('!6QMH[9 ck -" #F:Bc4U(ZgĂk|&QP`WfCAXJlDYI!ө8j(  SP 눫DVBBQ2 :"3%Ò,|rA%O@A⒧.H ~z L+ЧRvW,rW *j -?X K>{Yg;_ v7zNr0Jm*Gfg"?7eIl5+.6PmnwNՑ8ohN(juOaxΓēA -'Dg)ޥ|e;I L+.iMVkPztcqWzr,Ri݋4omeM簙 ۆ7Obbd}17%].[B8d9-7fn>I5lEڤֲ2Ø >dV7쵥Gd?>|7yNfṎOI˜B#G꩐q"u<9eݼyF H+۞4RS`H Q!ťt,JA\igI.aؤK̴SF5 -}% 1DF^JŠjHv@JB*82I :t%ZMR u[; )4Liah$$C!-ѼaY~ F -KkSyDÔg ٚ;8ρK7@¥qҙ⍂-f$l[|̒LKXirTj,,}Sy_~h/d󳷏1q|jC`I4iSA %'"&!=)!J 6@q U.kZ>F -%6CAh,Ԉf@ Ѣ,D5Ha)FB2ɕA$HTt XSԠnrQH]cbkI#yZHde"6؆nNMYp/I; -/iڍ7hECO疤aZjlLjiX<};Η߻𚳋ii\>${wSSivv&% ,䫣jb!];j EV19_EiP˜h؍޾(/<It}1[iT)˷guzиYw)nT<'^lzȂʸm7xqr524pIM9[ۋrݰ0߼ն\b!~}}4{J%79=4 emyCζmοΦ$gXc5+8S?p5+MlP# jxe5_SXv<ܼZonu5t>y/f7^=/|͊]qbf?`3`fl^>v; //N8t^ e~= ) Eq< u8Fo?:b"6@D@b. {2Dq*UVyn[(RdThP9&$(*Ec%6L%S[@1΄&1QE vtU0|*S6pL>ISbb|J=]b&%Vb݀4CհlIT ds)H ,Ĕ6(@ sj =@[ShT%wܦ#,YĎ%1 Dž6b3Z4 -4%VBR<gpFWIdQ͇WZduA\{De@\*1&(T\\DL46D#ЅFe҈ -$2*դfGmƅR a QxLsBE&4؎:m/ydHT>")A!e -H"TbIPXJpC)ј MCI&<:Q1o)̖yLgZLKG煢c5NW,޼M&]dԬsN_f]{nbUl$wpk|Fo֣S?᝽˶Ogt(^_7w'Fgh_QwK -=`Fˬ탦|۰ -D$$|8ΓoYk]ˬh+/_~,&3 4/|%X4Ӭf7oY4W3sCAͭ;G)Wo 0v{Z+`aey%>tsرsžzܞGkO^?w  lG7׼10{=zu|֗ QB㔾=Q\c aHՅmhIț O/<ǥ4!'|B*yZdaȐ|eCp#3N-ovo{ױ+h/xve:@: rQmaUCqYa[z1QTnyuipT?Y(Q&d2ޞf.m:O'ܧp7݆fq=!,޽=smrz6|ϦQtT,kkTj6|~LW5?Bׯ|v"f0-xM?7@-RPw~ѭl=bPdφB͏6-Ly.Nk`AjZ,t2=[;Wß}`59܇Ώg(m.M_׻[M]KR\L@|Sc%IRɊsFOC80lIʹ$esUyU" 5$X# ,8SNP -#]=Ha`gzkK -P +AQ)HsYƫ]5Jj6D4~0MpڿhߌϸU5އYWRGpuf2\cZk(,\rVfY 6(¯Cm\-OPю#.SFÝDuzec3UH*lWm.5ҪҰ3Z_׵R(艨Ҩv^<8{R0PȶSmĄC%$ӹ@XMpNQ3+E1š,$RĜ+ԁ"K IDAT4ҴaH\#P\H$3XD` q^Hb|۠ZPbV ᩠hCTaV -+!Zl(I!@ "X8b8$+qMAU]JSo T; k-g"XǐFNe1=_}3U\V=ܽm{v} ~OVUlt<=/yfnw>V'~nٞFPظŬ<DY/ܴt쯷 T,ˣ -_OOXf8O52xlL"swW׊?\lq=\^sUe`raߧoh}7jRSjBQgW/qެ΍Vwɫ_c"1?9^^'4bU9}n]/beZ0wpt핵H"i7ݿ>/uzj?8{t~aPSiHMkU.S;w6׷{zs?*jXxET=yfhqwum˩>7oz~}sfʽ -Wʓx SoE+zrf6#0k{j@rk /N_6V28?mRnlG쟟A&ikw[67| __{R\ͼj#ѷֶ?v;ݗ^'g>k7ONf |џA+7=W{/g}?q: -DKm\w`Rb ST@5C@TESj65,b tФ-ՎA\S<8XيK5)@# -!qaʉR@66 P\6JD+S -54 Nt4H]pD@*PP90$TÔ&(0DZBFr.^`7=dl1b%ZpPf@DL0G@F%, SIĴ#ZQ - &JBizjDG %cmZYG (J%-"Q3}9HBUe[)kt -d^e!{F;dQa ]c -k4(hr )Mrc--51E(M@JP!]#*.pK5qre -j( -3 -PĴl,+KTVQFT,4\Ql)UUahbbRV)³<_).h(msʋRha0ĄtT~_`pukN}q}%goղ YHu{eFE`s^ w4ś_YٜEkk0~'@{b9o!Ro.O//2Ip LD2U\Ut8{~&A=t\?{7ec~-5צJW/nW8\,FSYw Ͼ/EY69,f͔W}\<{d}}ד7:s;oP S6hrn7zfKc&Xar0X-X$qSK{e=_i+xu&xeS|Q'~XYcm=ѥ)| -6jڍ}1hw}'#](.n޲8 _?Uğ  5R9c;`,+yaY7u{2ѓWWyb-KַntmߘSe{_+?/YF뼷YW $'O_hy>/ff=2Lh`M8.hFG|sget}~V~%̸+J+~Lf-''. ˸m{ק[~eDkP,{Ȍ j"KVyFǟB}` -JPL[,K41Oo0P3YbjakklR)9d@KzUZWBVm1!KL50 -0:EKAP5ԢSmFg&}\-bmK]94:n?n6,8T}BʹBR(R4¤6NcFmtRMuH1#U&̶VUiYdUhmT$TICByFP9blߘ$ӬzS +S87M jKS%oټxIۃouymnhDк#Zz]J1c(#IRPJOZHJMuOD"`!X3bQj)h0 eUּ@Vɨ%5lkRE҄hu5Ƅ)M)MYh 5M\0%{.ɢHo!`:-9DP EEI&Eh%IX^`Ë_wmy;_o3k|gY X;XN\*swl5>7w[@o~76 JTk$u2!hfo26D.VfO˗ѝKǠdUQERrߍ/w^9.Z8:KzK ޼4JZ^ /I)ELD_MsxtnscosRo#GmJ_͹(':kl`mWGݢ(ԮOjn7֛0+B.fkYx۴x:NO^ll;YmD˸O>\Aݹޮ[7dz+M3n{Mcen?Ƚo(5b3<.?홌xɵx~[i;kU'{6+=(6n5l0EH5/tyR v;OVW_}"RlXٿ:WZ+OG+Z\k[~3,T`koݽG+ ~:uo/<7/wW]B>|=r}|o7;=M"zqݨw{Wl{>V<zok=_ƙ - \a - m,W3Ѕ3"7HNV 4jd*P LS.- DJ*QFq`(ҲiI5QuL:YM)rFV"1ƛBV pTCJ94-F<.%a6E få-rJ(i`QY./KmGTh걮,X!ef@PtQ؞*G{Y"%Tz$(b5NsetUm͈ڔp!yER0Q1M )FPUY$y3$0Abe9LrFi Aؠ -iSRc Z,AK1˒h[TRRWD{ZǜZBĕw,LD.9Aܴ -pKF,σ6ҙ K)M<bIյG.Dňt)qe:RේZ{8a:-DduAG<,ƋgYZJfP$Z12k#3%]:uc6j2JAP9L5];kK:;mn #YSJJ6p/WDo=]kw/j62yZKlKG֝Cfod2D.Wo_dE̳s psgP%9yqt)k0]PsP*Krj6LtxdJvb佽~RrN(^`0a}`IA<=bBJ,籁7`T -a@j|UWW6{Y2LUůQ\n#<[+[P$qN첬R3b2zt~̈'ON̏~ή^|Ut,J6yt?V~v1>)3k{PSg¹. T߼%sחgƃN*#ڠM$3UYe\׶:n сPK -D\J yM8 -!0"ZUZ(hO0%u%eŕ E!k& 6(mdb" X 8ZWJ"k&;h5@jQCe]u 5M Ϳ; {( -uY0Eyh/;v9ւ 6 9hU /D n詔LP@6r* A|pLtn #Z *#3)`#0hHQPX<ז.=WS _?/flZlĢd$$!:rC4Mej")r ErAGiP M Vji9f` Jc˪DI -4RԪi(tP Ca‰6#+T٪M,'\W\&^RBAP(J+]\ʪQE ;n 4eݖfG y%Ol~rª_]m4wpfG7}X_Y xu%9u&/N}ãQ,9b>G+|_}.jo1׬®Qo ..nYf%zˉkd!G 6_w,E(3d&PY~;mV,M~}f̞ ׫fŔv-0};xG?ᇻ~ܼ52Ap9x}1?j0)F鷱S-s}o_Wb/_O"u*Un *Fz%S%JFIg58g]'y\1ÍܿӯoGߌ U2)ɍu%HR{ږGP -J#tnDHc"^ B Hc$ Q”,; ,-RQ %(EIrj l# zTU sP}Gh0j(B K@ǔ lQ'0IiT/u؞+(&s3BMHG\a/d,h" -C!M2/H(L@70 wz``yEjl֔ 8@=Z Z -bcY` ey`$'Y#d'J - -)2V@ @rQ$aT2RuԿ;۹aYikKT^DI+TcՒ&30)ٴs,)(FU%kQ.L k!PuE$hPjȤM2k@\|cDsDBĤIqIAR4̰@YXtK*7u&ʜjUr^3 -Gcb9 -0{m#Uiuwjܡ??'}s8$6re`?Ƌ2>'7t}p{Ao"Y7Yf>u`zɱ˳*ʩʗW̗#2I_sDZ> {tPU(棊ׯw|x%xXhT!"9[˫m[5'lܺpsksNjlyy1~(O<^Y{Z[bzG[?~_[U=Rj UzQLL)SUHnZ:^wۺ^o"k(x^MeƶDMO#fUɚLVgOROz5ժ|_Zm5yp0˗Q Jbג<]Ļ1rԐ|PzͯnΊ흏KP۷e5|}t`/<,XE #)C0/ӧ9j8[Iѫ߸G^|]9h|3`߯Ay)>w nf2i>Ƹ̿xw:N:UAr'lxQugh_5q"[$qG;wۙӪ*3WNyu25qkWWz2~<gBUb￿X9,e1U4# *BD9!LKYipC΍̫LL!˂uTT*TQaH+"ѷx^櫖\dR1KBXbq.ݢ\vNYVLB  [ZDsL;JX]($2,CL%- -*͸(x&4'u^֊VQKA-+hWxveb#baW  -PF$"(BC֪=ZJ.f$fu8$ G/sP:7C:UBvd`z-$BnW& QI#Q",% 4#W\FI"mr!y:q\t.g ,-Ojc-Mt00J% i +s#A(LL(ƉҶVRB80 -\%4p̨/TVC"ZH $. m &VKeL+STJ;StRH2+.L`\-KyNj^a8a0!]* &Xs4)F ,CݩE͚H>h]_#j<Zݱ-=6*ϼi8-gybԦecZ/ݿZ:[ -8;*~ z]47Z=U~y iwk8=z3;뻛-L -COV^~}|3q\Njڶ|yv^Bb1WAu`*,b5ӯl{͚+”2s$bk1R%LdTI Zoꉗߜ]\ۺŞC (E:vjAHVSPd.U8 Ki1Jl(ԬP<+ J4i2cu͉FڔRJYZ u -EBhܳRe*USťFP "A - (DL3 c ȑZdrՏuỎ+Yk{|L3iEZ IDATSY` \/+$k(s0FK fMeWEY̰xy&xQQT3q9%®!B!ʠ̠Zg X0,*^cvꠉrnL3autV&K.*!ΗdG3MgmٸP0DD%5*-H#P0Eqc4*#P.B M - 3ɚD1t z"%(qRp J eYHҖ*L6! Qɥuő3õ( Դ1cL -m2g26*)ZL0y9@Ɛu 9n#W{7zZ4hdhYUKNA#6t$EG\6N2~pAizMHTx}l-f-{K\×"IN=R^xktP-jN!ޛWhĎcfV34T<=1.9t!&B7i:Xb%%=nB hE!9&#[d z4 C:-PrdL@YFE%kLİ6 &2voU+V+;;Nמ@0~CB,} -QIBVI*"H&ȼ.-kn!`wi J1"ĦJ1 #|VQCbD5f2$2G5W20eJ°4FTsф#p8A -JDV+--^*2H%qB 5FD.,Cz LJ!.@S=!쒺6]bP.eęԒ/*H@\D\IT@|ڐHZgn{cv-\5[\(f/nv8c8>mܾmu7"WswY,έӣD]ggO~5z}ZCT<кJ.mVzwo˚lJ:;xy`\{A_Nt9sw{6O_Z0/ +&,ڞY$7BC}kxP]-u23U)V$Qꛗ{~˒n:\>rWZyyhnңeFoo -|inoFR9֛.4/>st1!}pfz{ |^͏ԬʼNk*ñY(_WӞWnn4 hiw0Q]~1>e7}7owtS)eyryLwo}yPy{G4o0YsO4nڮ`2N\Jøjl|XUQ5z0D|ilQlܥjp:_'N+nߝ}{,omޭ[wwہŲݸȯ>xt~%WL[nqAC˔2k -+ņA`((VJq@<{Z ->ť5$ )HLpB"JPIM[D\]b!uU$R01RHBgFXCi$Q*֐*4h -Њk bJ"!R<Xp, OW&%MBFJ*$PYU3(%DWeP Idecf"hVJwC=ZLDxEߝՀW˖jfIr!!D VGL -5rͲ*MPb 9d -^(eYyՅt!TQRk%Eq\Ip\"P@d:pa`FcRIh)N +i[X!84v 2`%`H&5B>F9IhC4A -FB@Q=C`l4)9LR<.0(VNhQgR8yMNh8kQ׃vYwIkf0T.;ª_|z0&7F bi (Y4b޸GUWYJ#5cy2Vrv#0@\dI-LOu,'r66wne F״[d:NbD1\Mt\L?KO~ޜߓOS }S'mc4#a$k$V $fn}u_dnluޞcU HiA[y d1O߮O$b$wGq8֬ fh^eIwz:rMmޏݏV{Ȃ%wS+Z֛ -pz Y~.U&w1?A;<ݕB싳Wez׿㧕G?jvEJ$? +?Hmss2j{dp3}A0xɛTwoӃKnWwfh2Y?>xF8)7bݽk`!ӿՌ{5'&þ{'VV {*d[!u%2| (FkP @kT5rJG[Zk.2Jɦdn$oGoBLoi $wհNϭJ\k8wvzkoӧBX9^Xn8ȫlm߮6S+fzFɭ2m՚+|axnqTrs7CUD)ȩUʽүh^L ;ʓE=@݈!jMPjIJJ"Z\jC[.I`_Z -W n#{y[ݸZStQ+7qkII׊#.F/YH2ujGhK\uZn -6$rOQVSZ-d -+$;e5q}_|[VdT"~@n}9W;ta^^)YVH%u|^<]7tN7W T|͑w<|[uka-g|^^d|n.r>ԳiGE?R; _ʝ?y׹|>x{sWmaR>|e1v;()JK/TVUoyXjoAUfL+eTH˂X.*OI>u\ux4 bDJ ؊0"YbrFbybmH -\Jl$V@ ^ J[:C֢0Hq$xBEl(LbG1) bKl\]& -D,ră)l?-UTD D*Zʐ9%4_S5C"W0(ge2)”VڭQ"}ȨP9:ފ>uZHљJny_?f#_RB @,AiZdsu& @ Jeo[I_ˠ/;2Tՠn՛OV5Ha[ - z,΄-@S0]0pP4%0)ńAKq %:6 -d% -T4S#SLk@A5\w*!m@RD1&#j -2cC0=CFvض$$S-}l2zeݝR;q:6TZ{TPgJg0ObH'ߣd(o#D1ygSK% W`gT6coۋٙg:ߘ/QY 9ƽ.Uഠ! -z}49gHwh)]nV*ի5Tͳ$Yp-N~ҬwM<7:쇫)\ty<7;+Clgr:^[JA*jN`5'?gHjFy>|bvN=,c T|5X&/ݴ'Ah vjۜ֊1b3_vZׯ(lfT]-.<x^!1"3wtYb9L.Q,42N3c‡ΡS 6nn*sݼP-r:˝|u;M۠[Ya}Ij2ܿ޶Ye.9-9dMg׿&^vݫRGQnsR/ʵ}˹ٯ{./;E_}٪e]ٗߜDkw2x7A0kxʫhv:A2䛫aʊ4 ?8/o^C19'Yp¹y7_i4$k-HWepun/TjB8$aT#@(S1PmƑH{jI^=1rX.0n1.c"WpqFPR" (Jc@CHb@(Z2 J3F B"Jbk -)P(", T {itCc*$LتN0͸}榲 4q!M$xVkJ[y8<1#!o.# B{0Q>4\[9V6+|t^ځa.<%y.AJ'KkrcbFƪ%- dDFP B9&A -G#14ԖNi#dur׏!(D4 F ֳ=_!(ŘBj16jfL])),F :.`F Lac\ke@pRq@"D[6ST+.)4r"4!RJi >A ]d&Č2yRci$utܪWjj܍fIU'<0d7v|:6/3Ni4J1܌^b b\//^|-^̡;ͲKh~?sH%*bD䪐ZJ^*{ wy ~ҫW[(-PNB7x/wNw:l޻uxp;Ъ.=_;/l>|xU.xhW54+5շbl/U΁((h1Rۦghyv7H+oT53_|jģU+/.YM,hymyՒ .//D i^>|"\xov7f}\BdiM}~I&!Nd{QoO?KLMvӫ39D\f6)CV١Nק~6r8Kߌ.DhQؤ\2c;%q޳g7l5i<4U:"ONn0xNқyC)VSv:+vno?_M={/m'b]^x{e70Ǜe둾UGlSt+`VhȳI˫N~s{ abz!1~[[߾X)v~sƿxgv \$YO/[z.efZ,NX*ؙ[?zMv -mݝG B4%6F#9`U4ד'k:+LA8kT(&5F(4f#\) $ T\A!W 3cJصIenWb -Xl8^JDX#b# 3еzePáe"TLX!v]ί[/ldyBQ 7(hU-G9 N%/T죀 >Id.o9;P,|e\±=SK<~Y#&S,o(P@WZ[ -*R!R5#Uh>G͗7߼oh"XQPXmԦ0X m`1RIKtR63 ,6@JZ PFFqh-8,Im -"$md@r!bpF4uA&EhAHMʡ` -K|Rj݊Bej ̌V!.+xEũIdz9y+U\$Ϯ%+T|&R(;ժUfT:BYﵼ5WLκnóލӕ"K <0O͒ C^21^h6vG>2Ec˯yY'k#+-Jr-+ rbmӀǯr].Xȑ7#׳{ᧇ2n{H 8]F9^yy>EA:z=pyw݌ægU6X:͛adͲhe~E\8%?]t;?-"I[v` IDAT:~?.~6,ʍ j1ǵu^ƦjcjtV2^;ZBt~KQ[QlT0dJ0(ؒZHm$F4\mJ``5>!)y%DPE ,lvK1>6mDfxh)2P2,jF4!A L\"PX_OʣgU;h4C4CQ9 ȵT`( A-9 &1 ̀RQ]GdQWGwfT}L*dKLS$N6:<&shW!RI6f16FB7Pobe"-;wM^^U7͗ō<1vȶ n8ZqejEFG͚AAh04sl9RȤDJh$U L6RTF_dʐ*ղSu|Pb<e@( tB#$2h(sT9)(-)[J%j6kb߼ւ-QjԻJEcI#ڲИ㵡.lcb"Mѵ@l#|V\`uz mZѸI_eqAe< ~എޭN#x6\LUCg]h)+7`_ -(~M Hg$H>~j/ޝt;ݪ'RE*b9ܫ31KVh,|mF]ӌgϏۍfe5WYk5NU$r)~=y"q1Bzrѽwz{y}>0WQr2ٿ{:_],:RXXܾ}fc>nl{ۇY.yvH`f52I b.?=;Oc# #稥Ј0fo*Yh%W*$2P -@bЌ!TQkFSba2TsuݦUlcPBL<7h`18 4BTymJme&Z &R<Qb*Gi>Pk"vNZly¨T&KfI *ҙ&ȵ4Ytu щ>Q|Is_>E7|Qk@:6B2ڠB-"7,b,0KM](DaI3Ҡf[:*$֨|>TêQY(a4ABc 9PB) r)-ꮨIeV@-]BdOli;nZrѕUafcXJO&2\ɛDi}u|ģ\FGkߪ^4 :bf?xJ\, #zzrh4~Qj,]NDC隆:NZ^X|Η^˯D˽ -++x9d%u}*1x6:V )Nca-8N0t U7ȻڸeU ˁnbyu|iVV.=KV)b~sqF"p( m,;~ܫIy(:x=|qˉ%۲$z}B96iYCJ#0kǻ""r.?y1UA@evUtr@lu -z[^?L8߿pl4jvh6ɽ;>jtS=,o惯_<tNw$pT*-JVnql:ӽǫ]\wd2+4AE^LƐtpU㯟.LjӲ+u^ݽt*Rlo=l@S(`1A@Ɣ@+k)- (Lp.rUϦiBXSV2Tt[\p -"g -K -b%`J`,躢ٜs#nc$ 4C>' 'PEh8D *A.X"71,QDo2&$2*TǠ5d Xp.=+bxǕRؤlkl2 :T T[DkMVT$Z)h $Ѡ-9D -mlrC F>42XԱ5f$t"B  "ؠa 9a@ hY`((Q -@"(MJ5c+`ln٤P[#&J{7}09I?ss2cأo+.6r3ki2`-z6Q67.ꄖzr'k=<߫jMWvvJ(ͫm@ޭJi} ݵAe!goY\ZAXfݪlǘb,j3H =#HtTX>W*I- sʳ)ah42^ʴ GcZq8WmbL?WUKVw~գVk9yA{+.' *;"gOJfgal^vUuNN/Ts]ia%frfc }$ݼ{υy΋o3^W,MVK5[;II[$?׺m>}j";A<>}zβ?,>ㇽ͚b1dZ:jt2Pl#4oXFVmUknfvunYsn索UKq^ȋ._}@WԳ/?l/^Sc mz=-\NOtOղi3Jll -ӉFR&Bs,0*\ZʼnTi \!2F[e(jMHaEQ\h. Dbr 1WyT,ea<դeCcҙ+e#@E:DT,&$ sMU7'ҖY R֌Lt7ڊ _[R@(hA( AHM抪 c#hHG-S;b'jv|\pr3puQtA$t[`%J栦!DS4%SRV?O7VMj^ݣц/U^lOJơm(& )0DE&Hh##ꨆk0kIDCD6md e` -J ,f*1dB"MO$a0 >R $M -9@DMUtns3]^ljjdɱ%0+slà\cd6Fcט0o$@\ņVy%lB^ 7r̢t:!֋ˊjs9.ύ<+.'(m]+~eb*9?佋sVZ^6~C;.Jwi[p<>??_Sت .:{{\sҿ[ciGK~v?U*XN ?x#`9X_]'JF0u&쭼fsnjpsČȩZI9xuO@ׯߚz8nrsф5SJasQd WCujrY5x6UU~]6Ak[/?7eXg/.n8)p$pA/ѻ'Oh>|re6DړݽotNCiW⬬n,o;v|%t#-OON,socj/ސpFʳSMjήS؃&l{R;% !b# 2/2ی#AS1AiHYæ`(ƀFHCa>3TiSHq2lsRiB.v,#Ttš"1B(Cmߒ!C1F .V6C Sc#SRYȎgs,\k6ȏ?ӽ!T&X4M mFV By5;+$RibMYZ% 4^Wo䛷[ym -A=9` $Ǩ\6d%JD6e@Bkd#Xm&6Zi7$KX,[Pb*S-<\rC -l1(yZ;hE  -[B̀b"J Egceg&Sף%&ĢP` - xbv8qA iؘ -5%9FiK˵:^#i # v8i 7J)|bbHYl_=yb&~~}ֻz^j@kkY,JU |;mvwUEa ~>\dn*?$tY9[?)L -yVwtݸ~u^*˫E2w .Wr=qz*; py5>MҩЏURvP&>Wm͏`V_G ze-c>X6?'ǟ|_7\AE@k1xU‹J^"gK[Ls)n[aAl&)sEPlk=+TguӴioLTQs[.TW*ULpe ir*R4C?Y[z[Z>%h5'iQtgkaEg_<ɮQfxN_Aoo;~W?dn(KPoכNWvmr~o=$F8<Itix7c=<^L}%ԣut=V*yL!#TrNhX$U2V`샑FQL<$A\Ci_L!Z;xb$ -)Lr ], - 0\5@!l#č `7 -Q *e(::sdޜ"C)Z֝xi)5LBsLk q-}hG!RCC9C`B0ȝ}vPDj3mp{4ݶd@,aWVrfY~t9yHp(sYsp#3m)SHk?-扴l'`f%ݦT;ȱ-&~6z|5[-*Oij'o׋nŴoFhmLnC/ٓsUG*.5^Z+`6:kW?xp~_ɝ]OF߼HеuV鋋)w"io}^LȬ*>MR^`jkBlAF鷌a=ޜMuL^_~1vw$պ_u^H&|AoTAEFi['?0tVIU"Z vK_RC񂓹2 h1Dj5Ja 06i3 #o=r)7Srel #9Dq.̷H 'HΈ(G -1T 0@FB+E4k2-AÄ׿U_!VOH2嬏qJST4:t|NR -`FE 4䀨Bcb.fؙ)SCwOM<(jGԳ$k"ݚ &s(x.& kkL#컶k)QZ x7H^[@g|5O{=\U>UeWNl'6tBHpk(7%A%i'N؎\өSu=w ~g)g6HlqLֳNn#c4f!@x9J)jQ\'B1V)m!U9@>Q+4EF)4"G3 `J !)0.@$4dꠛT:6ZӔPS%@35d6r--XȢзEΥmϦ^r嶇!ZQN6sT ZiUrED6u2;ӧeK*QDvPM{w*Ti6BpUpA=8|w[wGuw=vQ`fjf:}NHmabN-͗뛼~ws8- -&ewpLJ{t=J -hCY85zo7_dyPz4?mw@gX6]vwaF~`9)wZLi!Y2BgN,`^-tȣ|Q]\~oڒh6T(q\"Ɉ> a&n4ƣ?/]<ϮdxNWv-6EaE[͖j<_-0ƣݦfjٵd*΢tknpptWӓ'OjqɋDeJt{a6Efu&T+V{rNY[YZEb$I[[cAYaL"Xey^R1she'Ղ7M Wn8/Q-)<7DkiV*ցMS-} Q 5hijTl̮Ba -`L(iM EXPcZ6@7,-LƂ4q4!!K6FV+hl y 1\)e$SȮv|(cp{ Y_[wtFaHeEJ9@1FRB^J:4W G1b]/4dZD n\SfM!T1!:S>÷BE\YKK>ҭ&qUw4ǂS .N\IЪ)`a^ -1gARdRELȌ- #S*;\i@ tmP>1F +"LT6ukJǠ  'KX -Qgr\ !9Ү!6SJ@/ a va]ϭō* -}Whli DZKe#D"+GoZ.hTīv?{I8vbDe r4٥k;:(_uh9TZT- x4;Okܾ2u8CΆ :v=IapWMb)jc%dзEI*wkd 6ys^X,_(rBf+pd|9MwonDbz]YDAsc}Lښ׭${nVIzp!.O'1;_5xȯQ*~OSUALdi]s 0oM>ghw3 -}pR`sMee| -ķS(yv{0Lu.Zu||Ԁi2+l)#[]ˇG;'J6l -T)+"$P clь2SItР*+/fNV(4H:SlD!!ʬ$*S̰HfTJKԙP% SXRRN$ʵ@SǮy2,$Ě8u2WAا")g"tbCV:QF/+m'p] 1NM+ݚY܊( D3 EVagbqbDVN%w?ST,ܬ#Ssbp~tܠkto׮oX|v(V f)O_ɟfmCLzno$o6[{xv9OB%_ؽ|OOyYz~ eNָzP Zs|PfIlÅHOE1d)k0u8Q)ˆž6co CѲ0DPE?ě ;93W2NXvH0Î"XMDH2$0"J2T(Ytf@%{`ZP¢%aF*6ZˌˆmgP8]~Nv`}ZFxYgz0ZߤwM~ؖvjYHa[D&.^Uz^#30_V@V} -8ퟟFzrp\?~\2 8O[}'mc2eI^ml|ؕ*(Mb >ɣg!McaY -b: ͌p=5nVIﴞQR?*ssCEFdRQù$|C=Wu-o^_׎DhqL65iDG8TlٛԒ$~eX/ -II޶URL&;50avJnx_oz,BYx;;~ -?rb f?p~o'ˢ:W[bqqG֦' 'Ն޾毯_}ƅfw::'5^\j];8~pB6xN3"9ɵlnoWy_<<՗UʅCheYd?GlC޾rO~|^{%p Wy:;w/OZ_tmm7ޒhcl掻Wߺ Sڦ+(6" P&I&-TDZ_|4`Nܣb l BEh#B63BADMShmYjǥfVh,iqcA36bi *gX%;5|\ y[*,>7d9;Ck*A RrI2÷y6EAbhQɰoPQI.*ji!6hKvZ m{tWV]!ĔcB⍷|)rΞ%;9hW+z0+AFLKI`2QMu\! vΎύ|',/_O)j9Z ?-f!*-@D - DѠMa1Jc$+eJʡtT\8*N EMIEKTZ8QӂԥQH! kĊiWi.'FRT(Yxm J։!Т 82+pJ[3YP#_]_=wkfUxUM8{w\\d<N`$rң9ǾiZ۪"bpw,\5Cpqm8^O Ԑg`;{J;і,ՋdQog/6;q' ɢ\]]^.+ox>ͥݛ}pY 7_;.o:m/h5TaWVQWUq3ݻaw1j6JKW. UU%MMGĶunl-f[qXt}gE;}@?O -n:է}= 663/ -5^0Ҿ'"+n02G[fp#i0G,`n79\q %¾iOѼ|so=/ެEe<w~<:@"ςA -Ϥۏfs"%}+|YOi__FO2?8;D{LRuxJ._eZ2zu˯Ρ 4I~O~a6yMjl>įjrܬp ~3t(>.DZhc3-.nS?47փaLqGⳋOY>ƌÑXSH:h I+0M4iaxط//ޓHM*Ua& -!T РF)I5\(Ah!{!OIbf>5T72j%15UR%2C5"BPը%.V[joW -{hi 27t#*B . i*FaR\`H≴ڨŌDS- -^E͔+q~ !;$6rFhG %݄\`SP2myJ]T /^k[b9M}k?}J+ Q$ujM=Js֠0Ja|7al")B"7 -I -(%yHY{(;h+DX^T,MJ|(DhV -,0ʦ$8$|S˜&6qadB8lr!U kR cm -++ӥtlc XBABR)AeY-"g-nl"= ڽ;^Dz/"ᄉ+Lbkֳ!d)ھ_bTgu72Hhq[ǿ1Nrz.s:vUo'z%.Z0ZM*cEGjesLn'|.%rYKĊ)m0C8E>YTz!gژ;Deu۪*#h\ͳ&<䃶BlU;;𽝧 DZP:Zw.fMjZ I=D`{ 7>7-OcO;%Gꚺ(p6Pm۳AU't@aKt -FXx]TzOowߪޯw=e=fϒS::\mYt|˝7?Vn>|7tp8\w0 nַhQ-'&I$^gѧ'w'̌Fq_>(<k\ݣN;uַkFcmztz$7/ng#k{*6~~O1W-OӅ;f;OޞlE1~go+ q}{m.3Jn?.__ 6Y&h3o0~xfĘ<)f9-h%Uovx@m*K0 eGu,d)}A(ao -lٺ9D0猱&#BQDbM :3jsȅ9DaV%UDB"q -Q\eM-| e @Um,0&2J:EL#K;ni__h;eZ$ nj+#駦"S;nQB֥Q\3PIC(lZ۔2Y՝m kMθD#| ..mwX&pvcP 2)&`*P-s8 T4FUWxI:̗a_ @kD%t#󸍙6@HPIKPS,ðQJDJIB8RˡͱmshNq PZ'|-pbt ͍*7(VXhK>W@,l嵽;/Hsm˪yE L"cZ%*bF#6-N$z4"Ygv\!"Ƕ'twGL16ҎbzoH:ΌG --GuTױԦpF""4 OTpGAq1#F$2uM Z Pȥ4Zt-@oَ֙Dk,Ī:NF\JA -R6b1"JA ^EPo 7clmFhaflv -/.DkGTuhFۖ-.˼y)on;ț|aT\QGJGb&}yʻT1C%slUh-yWs/^ˏUW5ǵXMqǻ3wZ@].4^N"HCUKYh9m0w+ylCclOlzT\&kO$Xh !] IDATZ䵽nu$ۡwºT[)r̟l3p`iÓY~c ׭` Y1vV7ftRWVں]ͭ>4aGyf@;*%iM6|98nto^}|a~2:?8'F8v|fz ?x!"z^~A{ WoiV&VrZVxG ,T-6{[;}: f+Bֿ^yq[٫}&v]J4鶾?lT@tevd`5Fᐕ2GQ1qCRY ҫ* X 矿J;Gͦh]r0)" P6D !QCj!4X*(5Aŀ vܳQL hr,6GB21xQ5&5R$Q*a0nFmw_+|{iLCIJ+cE(!'`e\,#ZBo4Ƶq!EY *xKuKcK5mv O(E-@ܢ`M)\| Xu$ MW2GyVa'*\`f.؈?>q2&fii\[b!Zfj.$h Lϖ۶ -mq*8SJPnLQ\) -8Qe8 LVLcImK-qqAUqdbIB`^ᗟ rnLJF߻ۨeԮḀ3F:cbkQK"Wbq XOZZSy7<4bUA^uݭXy׽":͝v??_@g|<B7ٚ'%q$ͷqѴ x_$ŋz>H{w9KL*hCB[U"xua&`|SuN:z(ijO$+h]Wh^$u٬{eqEjYy4^YWs(xk^0gM''~K4]?[4©o=8IZ,?JϿ{{z';5Vq7/JZ&9FDȰ=/*)76鵳 V9;wm4ʒQj7hUۼ|1ؙ(O>ߥϮc5W ^;9|Ç6u\ME~=Eٛ -,3FQ]H_Tl?8[Wy*h(<J;i;W5;ĐR3  Nk"QT DJAq̋RzRmΌydC#AX"J\$&ԸF :q* MBkzD*r"DBn9"2laWaBҬs3M8/5gPZ -PӲo9=Ox9}H/ϙFDk*lM)* WЦ*$.[@"Tڀ -Q{߫c=:Pr}I*M(Ͽ& ߌ3/!}FڱJyEjD]$-%x"DJ1E4PA41 -+N Q$mb%K.v,j:) AʌjXqA6<ĐҀ61& h0e2b%Y!Sz5J &Qb-RAFI(E.F0#jLJ@BBZT*C3za43ΑDԐ!jjsK tÐ.*,Mf1If7<"fsq6˔uCX^vv^.]ꈰWxd[V$,nd)*u]oUqzh![ѳR/~s~g9HRDfJ1dKl8uU\%]^O3HѤH 4\ ~U$|}""N_ VYN/Zn۷۪[uPX\LF -Sm'Uyq<{$:<|5VWpwhwBT >؏Gg57'NR++ѾYnmPYkn=K5VD;~>.^o K64 6 z_֒V]$'/Oʝ62ͯ~~1,r:^~od8pQֱ1m -$G 1ؠ MSip* FjM%(HjCKC*5K)b -s@*"e(ݨ }H;CaZf@..HA -"y%(Vc<ŅN -0uߐmܑ.IXGݚm S[Ju% r+TIƖkRYՠ*w (Z ,S*T)1De9=Ԛ!JF&4bG11^%fe8ScܥBj0+ -Vb X( 5B*[ .pb= 1 ĀL4PFaEf 62Hܢ v=MtӖ|2 Ot1s .Fͮ]fWURm4s2Jo__,ū8%kj@_<2Pkau|,Q^$9a@%z}ُqu28W{1;9'pRit m^MW5<9EP/ +옕͝2uջkU\^|%me=* 6gO_LIJSY4~.n:0QkR%$Lk_V42zz"D7>mv/^-NeV: /[ƃ=AT3]$qՑ#W06e+UҒy e| ˗쭸oW;?1~m|5w6>Pr"N85xN߆uV??yt(փqv<fKi4%k9L'Ϸf֞udAլu&] -;9|NFэ@ERRi .—).y F'/ǝJ~^n7 ^}wA }7w:?ts)<ݴ74Ǩ͕e)`1B0l2'g_Xô(0 <)J3DYV%,JK*ـ[Zڐ[eIcİT-F -["5*ҍ&."Y4;v9ðכJMè8-H7Z<ʎA?ZAwI\U]2ޝ7l.ˀcz(2JNr1 ϣ6i4o{VUnذ}cFbSFߦKhvym{7>k9Wx`l! -N$6^Lz2ڬ[b;8Lgn'4v \/_bݬJzJv = uۢ4K}}2Ur'0GQGe$_}NZWkDd}AV)+E7.ӼnO*6$ Um[uKAi7?ҍVӣԦTׄ H!EiP*8.7]Kɴ sf1 6SDQ3*8Zʲܪ:ӕ -mD %1:T@J+BU)Ј c,Wڧb@oJR ~dzyѝFV9(,04.C*KReBJc!UUN*Y)Y20pҡdacKoww<ٔyɃbx2sPxyHaou;w޺n+jvnwIƶ!rRWt)P$YF'gt8>U(zFǛԭ޸/JaEz5pD .1FOFTOVgǘ9*+<8լ`hT9ڍ"7H7nEE@lBӯ["yV7soݝw 64*VvvꑍIΒR+ꁑM.OO?WPg)3GX&{}um]jV n73דevGۍFYmYWXP֡ ϹX$QG'>=OfXh\&(8Їc{/L򳗋OVW#eTJ$O em -ړu.!/g?⢰kƟ=%xJ(/0?]OO?blwjMĄ 7~poth|>)+'_VG76a-,7{kOWinI2/|z֣[?{TVCЫn)QזǕ[uaZt >djFl2.$P !|CbJGl&+f/&A Zl& X kM2Jgh R4%.a ӶkQj,e-a2 H\$]1emPnB3b탁 ^<;?RQ[} +PC(2FII$AЉUEY&mZ2 LVfN⴮ ܭ^z`APdz v"ªWX`U2Y[[P,H!/$u5܇9MvG`|zǃ'K|@U~;7N}]嗋/_\3!Q/;/~ߟ~ʗġoLJSCCS!n7ՐA`0l=(]VD:) qk-5JTJ(3Bz5SF}U11TC)Hh =.56VQRcA"8=JD#ЀiD4BRc@*Rc%ǒRZ+FUYd=$5 z/Ka-ck Q9͞F#㮈J@}S`{BX&'̔kŶ)DZn!ԛҬr=k_jx -yiefMhaҊgK-m,gp۪H2-rpV[ -Vgv#G7xT|9`gڦ*˜* Tz CR*2S0JbQZRK+ɰƌ) h[CfT&'p,,-WL RH j,όb6Ӕl59YH_!\ThE))XsS8) -B@C\VI0.y2q~ᶻAm~~w|ן_~Qvu>?=빥;]5n`^?iO.J+*T֏zV|{yuqy"rx\"nwkYVdzeo}>WgzTѻtRZ IDATThmEV+߅nzdc6oߺq1g#E{u:Ju,ƗԷDZgoyG^˫j9ţ2^^旫,+;oٲtvMͪQP/eip8"̒掙İ_ U9qZMֺ{pcԼkS[ʠ8<"9 /f.ɺSl:u5_a}G{Ejm;w?I=lC۩ w{B8:y(8>]yBV;vXlj҅e t.Yj.QFloZ/7&f9飭ǓaLγQ[V3ܡ_oק_o_}K<Ǘk+KSSk,_Or4޻uƝdaPݒw֙=/G[-$?~ L7녒6Y p~4b6P]4`%n(F6ɲ\+izBǁ'rwVB.ۜ>2j=^fEE&|k.A jK1!5j2f $ AYlCp&4Zm'FZK6PK;T 33Qb%TZv O䏜h>嚸GD|qIgvƒeܢkҵB>+3R0<.TT^x7*X'‹5aWxLoz<|K' ^>lrѤݻh@Zպ7x^_O6trT^獇NԈhIy>cU2S28g:bQ.| {d^5 -r] ^+<ӋٗWEKėeЅ -t!;'g\]K[A^|;gWחWr&LU̓5shǶP4@da̸֕xW-JCƯs-]/w++Ёrg ;?^O9=}^͓4ᗟ_>fYVk޾\j*oZ{ꇭ!w;w@䳥@XpM nQ87>YKpBIׇ>gTƖ0:oymtB$A2pYwoRNS \7jɜ). <]9<()!IgzZ]g(;k~j^]FM_?{ȮZКD&? xC$Qn5X-tC[DLgYz<$Z6x2ѱj-Snd|ZfXGŧW'P֜(oOj^_G˖lFWwޛ[5ԭ$"*=;Ν޹5qd1hx)_Ӳ]]?w&gb>{w>)/>Ëqo?y{w&vΏ ܾqx>hE_[~8-"rVlJg{ݱ>q W#\ ­[DP)Wܤ&p@ pb)T`9 :$@VV6֩< -jfRGAAt맦F*E3Kz`CA'"ȉ(}O׸@X*GD)$չ-e9:!T1XJ%pFQB) h& %h UYJjl( -NkA9AaDBUYa1>ST)pYٴr\-ȒZȓ9+Of3rب f=3a$]͢LuS< ldM_edaѣGnjʆ3= n_:^6zL|^VZHh7GJOoH-H04wL:_ds{~Е[8)V־`[FރzsuU*[\_LfO, ͓UQJ/|ܼA]]FҺbU@zQӍ[YF;}'bΟ>r*|9>;7~AjqWi0]7ɢm8RoEF@ i%<%= "˲9z,N-E\moTRdW¹)Η_"I?^__&} (Tif1fCVn^vhᵎˏ&Ջ浆I7åD&-s-W5N?8|o_~T'Uyz^o63`gLu2laݟZm -ȍT%FWVc4\f{A)h@ -e T,A+*ebc)#>Z*9QZfY9m &_Xhb XyaҺTsFc(%Mf,L>G ZL,* $2`eQ)=A\1Rj"1Fcb2dU xj05nK-)2VuUᨯ~X TH5 [u6ocm,2eS^N5u+l,T Yn/ր"Dv~Mmgyت (+ƥkMLk@8È 5i[:D[k,!ftE9XQk 2_!>eU^EC6U8@  l2nYJdZ N 3lWiBg rkr1297JcDV)V$ -;{G{vvE5J!gy#!ߒ,QEy&d"fcWsaw~gC ME X5U^'r[[km{mSo4Up_=9}9[ ӺLUgYE6Z}}S~m]wkp[l޺ڷȽD/W(%Evrd -5F38p]L4\eK@g=8gbYЅ͂SduʕUqѻo3¢ŽISt}k֛Yn=R1*l6UI`y|rb_?\Dݭ֍]nơ*SEl$~^Fj΍_%[ŷb H[z6/ӳ|.z~6qT ۋW*$_x}ON_:]nrFoN..?ʢ~pU9bS?{ߗ|hv>)n@v5JZc{n9ϲJ`T4U2̭V/fw鵉ȴX$3hY&754k4vܫP8آfWƥ -V*VPR@ - bHՀ%Tu3c -‰.XbTjIXQFmI9$»/`|j6OOr̞QZNS,19H"CZ[w;uHYxvmT^ꔸׁ -1^_Ș/GRHiF4D1VZH &tZgqSJBp Ei~=LSe)7 <D`jY[iBJ5bhpZʐ: -mi8B;˫%q\@N%@86`!|(.!K!h *X-P1d2x3Uq!BakeAʒK*dJkRK8ΫŒ_+ΘF+:F$NjJ-2~ݐmDQ=Ǭh,Mlm2ik:Zկ_}^isuy{%*}UvlTE//F_^\O? :zi1ȉa:=]{~^~lVț)dDs'vV :bUl酕'tMkuu6_<[Ý-;ͅ/ V+6 ^K1[/!AoY&l1vuN_`sxN)srr]|RTY vl߱ ΍oל~՟Ewq$w<]ya9ե1^>_^k%uZWdz.fA`+ -K5%P7'U"jˑ3P453B3ѹ%DRZhy"/~$\Ǜֹ;k%| /;b04ܒB3` z.K@aj. -MNJVJIEHR*P7bzeoذ/q=Z[xyL"8slTVPOHX-B6K1Y l(F$~Tȯ~u˪Bfk.F^MkT0ҷ ^fH,7a" Bv ]+mHmI,4w]^00s FrI;? beZgqb \c캆")42,dLVp3Ҳ&Mhfׅd -mv!YJAי8U0bb4#!ڸ±N,JZLEN,ܕ* b47*Kr > Kl`!!lQSb('x$^,utq@x^8O^bP/s9aszzQòOwt!]\q#uS&\~u@^WQc2I&Ņz1U3QTeBN=/14|6~8=p8g".vk۩۝f}{ ;QsϣZ -xg2uyoJN[4vV~ry*_}*NN<,ѳVnL6#Qψ!VH'm T奬7ZvJЊq7L9 u+AZل^Ox tYLDqy57utDZx"- Z0LucLx_'Z@y/Umm䩼uعqi\AzV=~'廽n~7_tLo tx{jt}o^U,f_σ4bQΆrժ8 gl~}t?xu㏟'R,9B-pݣ;7/˗f?dX󧯮?5ɽG7o~6c+UoD.Zv0pPPPQH>Aaf[풌P_ :eQP.}r} Q# lpϧġ>JД -&zDRe$LAI$Jz2aZ!UV0s%A v,$Xpʂ>!H`la|@'8}BtX_NtvĚHEJ6$V+ZQ?7h~:hruLX dgdY~~fgEjLֺZoȷN6#b3ZZSj5icU,((%Mhi2..эnjQ5n|z(=OR3 H[#gSfTYǥ1lVPgȉeXJk9gH4Eefn&#Za0!t h@2C@`* XSif6F# #G8 jmؒF-h40 :3:5XNf*/ܧ^5Z?%V.gJ̋\GNQ* 5^ +95]vi޾A|yËvU~V@AH)pvOY~v;ˢt IDAT4mv׳f [.WYT,#7dV~rW'Ѿ,;0vsT@#$H&F#y9-[e_?We[3# $D]_t69Vώ[o:ᬘm {9^]Mx zƠFc\Q zyz|\[bUi>tEŇ]+Yn[jSCjncnl*Zͬ +niRlR钸Ubџ׳Y|2gFtu#%Q )dwdZUロT jbT3ٝ#G)q‚fzຜE%&l˝nN.wdV\JFfN|USz3/j5P˖1ߖp^;^FYvfU-cS_)}un^O~?}{pkX|(?y ?]7?o~O~;r{WbM_?řtxrfG ~99q&lI};fA:M?;i0b-Q 'E5y7A"؂(jI-tlL@JiSXKh:CՏXv -#ф.288%.]flF,2@l*HC j!aȉQ*+c:\j6Xh|P!*%%5vv).ڱiTmvI^_xAwwI)IsT -%ɥ6*sJ>W5T BU)FJY5PKǞ-_сFQJrCYzލ625mm)jmСrLVF"n(V \"LRmcQ͕փphL9CI9kUkVYmPI79%}Th1 FkE \նBS4hR^22E R҈ %u&T  r $,D`hݢE -XQ]ǿ [1rP \nUIKHTW"^dzƇZIHk/t-aMWC7Mo -F>g2m4QE& oE6օ \eoJ\9{01z`{FOjȫۼC_䋬sW^\nAbJߌpuJVWO=xw-~>a-JMG Z篞?!g7u:ߌFoڞ,ȋޡ? __VmP=?f=9޾ H )u8Nm7/͛'{ݪ@:f uR&5dzZdf )g/ظ=d,ܧT2Z$P+ Dkdp\HMyELU2bMYV1w\ZAhʒj1¤H|%"cLieL.MTb0R 4j F)$6 yjLѰ( \ՐmzMI'L,kѶgzctNM1Y%= mVe&{2K;YpLUQFPcr7!8IrbNh/㫥vRS M6L]YkDĵu7.h -Ġ`45ocBC_A4(nJY'I.j4xжi(AhX16B D¡R+ 1rf6:tPF0 ܀K5DjB5dAk:t\Yj b"Mbf`EW.'׊ZfH9þ’QW02.q).х("ꏎrr5P"r]5|*vM uA'oa࠵s<9^=;zOaotFgVrp0ܽ5JǷ{Nc_LLӼZOZ^v/>ufE vZ]>{lfx}YWוyftS\bWuȼ<唎?lod>]D5vIO.'R'CjB ڇLȹ nAi{WȷymeO ɼ"N}U4 v֡ӊz4^{4*]WŗYv r9^' -k)6ٰe:Y.Ym,QŶKlxgw>_?:Q;yĊeױ8tW o[.%,UܪfeϛpO'78[-oϹSmzsmFbv5],ۯ>OMCWYՊ:^y9^*ý7&M_0Hή\I^Fi~|}WeblbKMn ӕeL}Ziٗz?ϿbQ:hR\5WzkM500#tÈ@"-hVx6- 1el - -,foo68(Z$RCmA&17`#< -3(,VJ 8ذ R1k (&PF 154 -4۵^9_sR>nFw#L ->=䙑}DY@fJZ@둮 -R'6d{ۄHR+]n(T醴vjo&SwPeƶ!TI$^ɍђ2 cIP&0P~Z鬦YUSi={[kgW?ر&Z1idgFʪxmYNcVX"O l\L҄/ܰVV 1KVg2v|Mde6rAvVi>N?|4Txմq>$pT`![ -QV4@%+6z;]o;aLo;A5]bciՅ5jΕ+YHoGVC;Rru[i+eb:z6ڔr~vau1CLZ*Sӫ jV:_)㴇~]{p?!_y]޾Aop &ZuR\C2}ϛxϮ:l6يg' zvi>(9l6xTi׍߽mlm7eQcްnzۍ%{-?ˢٲ[lYʫso^T̍{ zEyk*RE'W}t4΋t v+TRGO^u\Dnml8FfG,Yneή]ssfZ!фhR@MS8W`s50 eA-RAHT~`%LҐ( DZ J=Nm+FJSM H5[+fUP^L(9S,k ChI3An -(Q[uѿZY@olUnT_LG=h"qȨH-Ì+S#rг4-[?O{TJֽ~3[IeXW,+ܸP͸r[U'%bt7 -jZ:}r΅Js;BBkMPrJUFM fh:!ǮKڔ$0q+"H34 uMA#7 -Tf!SHQiRD" -., ui3EF%1FSy PcPϠ!l5UQ 06R,vkJAr$>0@^maJZe -,̳7c}yo $ݵplQ׭ܙ}Z|?,_wvno4NuYX9ۿ58 x UYd0j3h?w{ty1^:jpA+4-^G=\N9!;DYlt1M^M\[*2L pɭn=蠱ݯ2K|ޮ6g,nD޶2"L*ۜp]g:a;N;~mfgG M=o`=9l?-'Usl^V&Ei.Lo4?=y&ﲾxwn8fޯ>ɝ>`f/J7O^.f6Rɻ5jz. v-M\G͖=|U,={*xr=.Y]Rwk^ --_=fv:so[:M{z_j^8_aQ3*//ݭnuJzIg?xv.Wq:x<|-#wve*;|\9*c΍V# `Yv&ı_75C{踵e`-LQX)в SKY"-5:3YUn)sl+RVG׫eƱ0q#*md&7TaJ* 0$&XjJ!)prKa,+Ai( a4(I@uz UcvG/)wYym,Z]@ĚW丩L0YꚢFc+bSYD cDt=nYEb(+}֭aEȔ5x$#<]d ʻ.6򰚀 ۡY9@mC,.D$f9 UN-Aݿ!SLTT+W~?tHqR>pͭaCLjcmP.6aBl ֩!>C %2RhPe:8J!bH(QW]4 !)G ƸY*WEN\B!1\r %Pc(O$rÈϴXQBFUJ*%4Y@)R1{_L:/G'޸u鞭:^<-hq99Ie].Laps9]_NߝE>O;̓ r1bSE]_^mۧ'.euU7[&:XzwZL㪘^ Se72j~U|qEϴڼ.jpXlG5[}':4a[;¨_Is^LB"?-b/KN:[[+6y*2>i^]YV7<Ա: h\o6#u^MD 2sO7Yd,B?mwX2VG[&OU9O"wowoyxV',iF&ڢ ¼d۾l kV !DyB1(aV"HK2)o1` EWJ8DQJK`R)@q,kHPť V=)\lH ! 3mR^ԊL|$(ʰ chE΋P[ݑ*~;(X"Ц(M#QU$==gza[%$)*RBBJʊ -ί)UR#P3iz|bْR -jvӅR̄4%5WZ*>3S!$%gajhfBOmL)ɔGhR1 k!T+`B -[N):ͫ'A_Q^TORE40\6 Z$FNH -F6jrRLLФN_CJx%Z]-Xv戔tݷ'C՗wWӍao|~^/O"+ -Ul; {;;7]ÞyYUjk-qNu߈p߽+uZg3&ѿܔu?~ /9gXެ\l=U>Uv~>ާG?qD Qx$Oǯ]~9*tdpgE7hn_0#o&[S(ݏvtegz+2e}s.z7gO7q<u&&vp!N l'DTB ]ipC -Cʈ0BZܷ!M IDATsLpfy~*!g9cBvӱ|r6ֱ1?+Mb4k f2y}@ӻ;ۻvo8HrINŪzxw˒仧'zETU'oN/~_I*ln`w7nj?rL=-Z:[D-R4^f~p'Cå\ʙ[߿n3ͫe=TmHV{WJy>ioj7Cڶ1YGYAunweOǯ -mbvZRx3=ɮ7)by-Yƺ C6#]Q6H9s]K X?zԣ7/oŽ#[WY\^wRsE>N[ n?I_?nG7uԪBgr}l6q|g8N|^awweex+??P޽v8^lx[{v܏~d577w<'?$æ oNɊ*;׸9XɹPq;ͻ'ON -_,N7ERNhJݭdsEN7lM'dێʪ";a)N/xL)?>>/GFo/b =R-h=_N1EF24^˼lȶ}|،ZԆwwJ>dxVن:0[zZ9;i4ϣnF֙/]Tz,O^7!*p^TnVd$mqԉo;I0&BMv摎M\Ϊ,jeRt C;MƟM4w k) k5:Ҳ^vYj^Z8E3WGۍ,=2) :t,_7%\h }P,FVw㷚O%YU!v`zgm=<_ZfTY!tQ MgO>ͬqmJO 1mrͬI*&g4"`d -m+:6&ǐj4u]B+#-(ж,fd\[Ҋ.2x+ ^K+H%k)q!o!*-D5Х"(0&вh RBlёRB\b:!*o]o~sld4PnrmҬSMc,W5T1 UxјZ3i#QYX\XJҊjESGN88T6ۊeсG}MrCuIņ-bSyIQnjRg46 pXNt l=񲵓z&M#y ,2#)XiH(0%6H "hnpYjO#ZF) EZ$d]Qce)N $)ӳ 6lW7tV>WEU^sWV3QR , ڿ:y=,n*QpF+w-/n~9\eqzzf"Srjj2arN'iQw '[}ps;ux*uj40dʱVxzB/7:[9B^ λ˫u`97zs/^}˓әptOCZj1yuDf0]Uw4I-8|4sL֦f̒Yt y~}g3=?zz17wQTgWg1J[zɪkkKlvC-V>X~vY0e~aqUA/˕Luجî{KJanп}w".u -(8 BK[6I8a~k$Vb"ʐ"h\hGFj︶bUVZ8+-R))C1msmK!D Jѵ$ Mue&hU+P&`51M8k(Q@&- R4i~LF$|LEmlR$k-lBkB7TP֠!FɀP a S%%jZ&ÚnC^֋MTĔ;vV(f -PnTb-sk)5#HiTrΘE4c$RW{?t-QE,m>5FGF7d &͓B/kԨgAh0Sp@JZThe,BBB#2 Q](iµ@i0O {y~0؂ew49nԶ9hmrɁTENZoo0VIeQ (HHb^Wf1Z~k^I%9:E1z[]V nJ3˒n絀 d˺ i Ƃ}~bY޶5<[dsnwz[{tCѠ9C=wx@Zb -Ǘ~/>=(xz}usañu~^D틋|VX(Wgnƣ$ғYn{wtoݡifɍh;$HV#+H0`\6NwϳZNh擪Z/uJkoYi.|z ߸ں1ϯu$3at6]!Zh4KWNk!K|,'XEٺf(g7۷-V1_go94y2UÍL=n+L;F[ͤ8&]orY|{Eq[ʞF.~ͯur~ww&;I~rv4G8lzus9<{d߿W}kU Q~mvJWEF -퓯G_~MJ _=Oވ%ONwA:+oN>_-[ѬXsg:fn4XBa, -:\qZ%JeNje%l5n3x0LU\4kt6 -RHVWTSBJɸviyotZ՜!:O)H - +ljAf^ipyPuHTR#fԴ1BB(AU`E64PcDTlV -9B53u#!JRrzP&0O%uMЖ5Yn{kӶ$.jRe;C7 ˥ >@)VV@=IJ~.: 4/xu=}pjS#̐:Li -EL^l{'~2c+&茋j 3$.HfI3At7N7n !JPHPHӅB )b4@>ꔯՅ?aE7igZB:L5 <`'2eCb˼6 (`$P#itOwG@+6QJtba) C5QMilY]qDj>ENv)Y16tqky%hԹzB0%@) BAU쉚qkLP94XQ"\cUҘ.S]ٵݬLsuX|:oCuX-"$բ^S7.Q{й3j{n|up~{N̝0*xQ{P5nńlsl bͣYֈZwT'^MV*-Ak o6FUժ|xGe}Ɂ_wQ^~k7E2{k䨓 +~ܽ}m>@.jty6[d͘1p߆+N|ui"r;+nXl='mk{f&#M^8||d-VDz=?'?qUl{3˦ѠK|Mf?vg;;'0U_E~7/Sqk#&#쮫o:)CW8Ýnra9o7ی^lUhoMGYC, Ro\@NݰNzw6;Y揧?~Tg !z Sgr4d~etFfJd9lZv*J{1{ww7JF/K|atq)Ԓ*(gz6eS?M,XV F -JvP)E(q5j-¯Wr@@m Q[kU 5c[JZ@q@˚uBmčDmե)U@(k ֎0FLBet1C`e]jcwq"㫯P1z|,X4J`s S"jdvѹ†='4tw"!<^TMxx -1O?r)ϧ`]!VhshiuC9W $o]⚚(:[1e -xb`$ -'(;g%.:-VJA0@ -j馶s>!kpuCk[3A4uĀX5:@g1uhiR۪tQ(w923IDTFaf+J@УsJC0:ˉ"Jn2YnJfŦa$uX@ռ!wAs AtGtb?~g4N.̗oKڤ1}9H/;AxfzQ-8Ovr^-o]yEUp -\7 ZEkrĪڅlI=I/7R3pwpxyL{-4Ժ %ގ+z[5A]IxKzChD՚wG oI{ ڬa^7//ۨl@M|<{OwU2%/z6 WJzYYA;Z>O1OnVt!̙`;^'F{8{y,6% wUk╫o|<]K)׳nX}.5,®X4ykx= rvċ[rEU=<, ):O{3;YM/s3a Oـ&u.//.^g6/ -LJ?u>{>Q|4,ɍQӿ'{!%Bd%5#3.ϗoSh:+IUKwϿl//֫{>vs)݃Tlrt6/~A]u L߮\[o6&{yndRg-I - ;~o l۠e'&m6;['=uĴy޿u3Rf&OWҸV; ?8y8Lz;.&LuJ:s9Sn'v;qN RJYm u9_dNL!ã'jE{qմ)_n`h ]KJUM[S>dq`ŪL<Dͦn[f6>vϖTKqo6wu -^Nz#MZثŎgkS*Iǟ<6o5ueol'E xz8L>v;np6||Xk,ӎr_q_8/>O6P*_Ohlw[Z8~u MiJWq> RpyEAտyAo>Nf_4$Œ¥:~gwP堔[CwY[0F _d.b ErI[8B$jK$XN@q0f$P"MVإq/A*| -OxuU$(P# QXa%1 hk 5PgEJrJ p!b( g8$Ў$J^;en cW%ćI=Q-i=fϧ~7["U9 "xDd:LX zή@v9/y:Ʃa -TcFf.sN oFdTjv "H3.0@Mh=P;+|KJ"tanj`!:Gjʙ -\jT,L\T˾v>Wz֌GJ `Vc@ɤa5KS#80& IDAT9*p3%VZeonk bUHyS_[LIoiN~^_~ˆaUdzd<(H.x>^Ul.\}a;n4"ջ?L܋o'oﮖl%IiY5n~~R gI,""\tzVҏv{VgL!'/۝ilFQ[T4,I+ &"n[+g<8|G@M7_n&f1QN-_1}Wl o뛽??7i{w|?0mhby=Mhɶyd"ME6JݶV/~R^z.}eWXAl*{^G'gǝv3~-]fܠOxwXܧ݃g?x 8j=*o8v[.wLV[QͦͻnV/.1c߿8|9NvN?/J҈Wn=T-RH`b?~vxn_|o/゙{ONw+07{U,\Mn*Lm!=JM3/x}Zry]?U])me!piRVgM5}#N2D^]ZKAKv~se|5B>MU`d֮G$a#t@H,J릒VO Z h!%1 ֖y7Ѡqy  2F*M -C,!]&ΐëd֒!r Q"K)u8P,̫G< -*F(]Q@ Td+#4dYMވRO2Ѭ LNd@]2|iT%&e: S`h P&`Ie!,ē‘q*#OcyAmr"18H(OZ # "l6< -}S܀0X=tۈ9 SkT}@NK ZEVՍmQz'!JP'#k - + q6-A j2㦉|0;\*cnml,|ކl^fuٔA',ig_T$Gi, -G! D7XS{ K`tǏo4"kMxr:-oW].YcIR1:ȷNcq@TQl݆kX0YNf'we*[O';iҕwQ߭'7r>o6`SerLl3Y/to .K/\yZEiYfSI<\_o^w_}] :9;.~=ǟy_|:%z>{f>·zq.Ϣ';muoN$I7+u51eDz+m۫I 4 ){ڮ MfxyT<+6ӴVZm*k~b DVѮFQ f4Цj1љѶUeg!zL!Z)}=h7:aZK3pvf0LWm=f9Nk+"&8$Z -Yg h 1( -mqUspB9%@ DF7H!-ה4F&2=`P9 PPRhd"AمGz#bѠ+ϑ:KQ$jA/DJsZ -s2rlmTT7BG-uB Hm;7贱HhXGP ! _?kacbϳNv]UW{r.ز[_ZZ1Ar8C.-9]]m+ɐuzjW{v2Zu_) -s-O˻9܏|vvwڟ/bz[ =~LZ-<у 3tޑ՗Wͥ}gQ>EO?CEN~wU5o`ۛ?.[0+u v@˺ߍ=h߳6kvfKYIK'<Ȣrd;{$fOvgwɽI=;9<:Ah'=:2m,>ɮK>wEPuی*^\e=><%Ɛj -etQ^95sC"֚vQJ}oߤTQ,jţSVTrgk2D.f[RXW'K(Ȫ *LR Z/-Qdb_Lt~ЧOo^o]u1~/dn'c)Erp0jٝ~?KXle6+Λyȿ{qu8╙]oc}9[-ګz~ho{/~yч_it=V~yemꭦpU77WxE>z&Gܘ0^o#]?_?_zM.ϡ[emΎ><=?0e6 ->#hw֋EIu}|G੸}o^gwzAE6hdШ&jY}:\ 2*ӊX֝۫Ƭy<|hZB(սp>,bg'Pi -ñtR8C9 >0lZP-X@0c!AQ@0W /cJKG%@jm]g؃:kPȌLϔX Ȭ Q^tȓרYMYZΚ -@19H [#%UbΩs-+֚PwbHE0j)׾O#VsWAGBSn.WЙ>9ʡTYARYaHuمM>w#!,Q +_mD2F3V@>3>tZ95D:6i)S6^ϳi9Bg2 ę0Eք0 -`nIK :W"@;:sP -F ܉{.\.uO(_P ;Qt"a`)ζy rF(cnӘm`.6 Ȗ3(,ƃdSĒCƝN涼YBkV~Niesnݣ_j\{FM@&+ ;" -ڦgqt)>8NI֤GpA׫z>1ٖ񑪋~߶9#ߨ7۱].!']BO\zA|yR˃yQ@W|vk'Ӆ֪6^>P~0v;< B~MwCVO];9u[EvW,wMfZ4HrcVבmBʦ,?~ Q!ݾӾq4I0?:OJqt-zɁQ v~8rjVoVm!|e  +<[ڛf^of,9z~;OC/ey2m) J3 nH#_vQHV=g? 7V(8\,iZǙ͏{=cɆ=̫E= =>:GB4g4Jb@hHΚ40n7v["_M.[ ŶwlݚҕVQj veB#'+/w;AK "m,Y``/;}Bfd[# u(H]#]nbFiqZ[I BѥtֵTlý6eZM8h DI"s% QFUkgX X0ZF\ HL2${&p?@SX[q SD5[W@3T!1P652 -׷O7"zMMӲQGۯZg -\TNuKj5PQ`p4o8FxHDP'H;Ēj8Yop]Xȥ1|p -e݀*@O;PB,}ǩM|o.j'-̣Ӕ N,Z -zX"H5qRZ0 -t.{e( -J8o{[NÖsN9@^n;3֩f2AYO_oWW ᄎVv|[hnik[oo;xfÇ'z1m48@Hm0i,O=/tOGO>ӆrs]ޥJF 3E@?zuCԄqOz13ѡC MњrtFqew]6uK{{{{. -TWyQlMzAuvܲ~Ls vA簳ֺh h';q<dpwg#Lm8hlOO0Kq>ͮWF _]V<~ =cSEVn:d[Lr~r"b@o^nǾ/oE^HPD5Aԑa{i7rq=v˳5?{б<_(XY+Gޙ:!˯oor1U5~Pd({֌GH Y$MSf*?9<~20Wi[ CL*_joy,kj !ئAC#Ƚ-on $ -*G߲vSɒ{:E֥E!% ]c n%I -GjE1e¶6JZ6K[r ->EeujC+ы΋;Eږ+̰vVـvLk@fhתar $OHd=p-_#{`$2oޫ۝n@k~l[qʡc^&ƚbQ"ַLiKcl4%(@HB;X8H.T&;) -яn{#Ap(&yHM @Xy$`:$1`󪾹+mk M0'Ulā8ǀHqJMёJB@C[ ̙fJ6 -%ֺǥkZ>_”鴰8bTdK%OD4ȍN8H@e1TơHj@"^Ԓ\Cғ;6u=ZS?x줼>/{vG/&ְxNf voO.rV|[{z0㷶^A8gw;cZGǬm_QkaDڍϞNfR<>0~ѓ㝇kwZ;D:?;}.Ջk 4&iU7Pi -z;^zǤ=?{ 39 Oßi`oҌ`u#Xĺq7KT -Q#_ T`e.^l~.{aHDF=IMx9O (fJyAE xg-~b(ew;\@ tY/$U5ahɏCņ<{OD,{׃ir~2f߮;x.ڝOh*3YV69?;?aƻw{gİrl/sO|xWUQnfw,:tkDԶzyuy9VPMVeSi.p/L拝p<6JC@N2Վ㳓8(u>@1NP! -N!ɑOm]m*㇤ȚuV08#C -JB;Biȭ"R -S Q*! st " Hc$6ĂmI:|=2֖PWB-2J%XiZ\:U1&pEk 7VagỔ~5z|=_KKrc85]ж(1nY:C\( -5Ȗ 4%pgwPq.TϑycPB q N41&<W5fiQ v !@)gjPj^i]'mA(T9$`GYw>' 5ɴ8%KGK ĺBހfWFcPűe #g$bZ5!=j-RY)S@ pe-ХҸ4 }vE1J,l;V[o:wI7 ^! Zc-guNwoq -Z%="+X4 IDAT$lehsHͷow*_/ ^v;]ܮ{ߥ.{~uWh pE=FB]:զ:ǁq[G6IvB9_;\7vD7> itLF;S{OvzD3mN̪^ذNIenGf7S IMbVqAYɶ+;u:7Ŷ`)qly^_V:- L <)k1?l +jIқ&\9#Gbu:G߾ܾ/7zd6lW'önm\q|g9٘\_JN`7/d;aٿWZf; ci_aGoY޻iy{񠌪;K &}#vmK<ߟF3Z;V+L( -߅O|_eݭVIVjs&({GlzٵLb⡴z|uwɈy`]⻵u_ӱ#\3τ C; -P[wed&q6(Y.'f, 90c!d  E iSEBY=W{ܝ 6J]i8 -Ѩ 3t0Pr*V;3!ced(*CvluE=Yv[_GdHѓß}??.BnBd<>m/ԢYb`2OI2nQO^E_^<{4jyun]y6[:,]U澻g}p3}pGYo(5MN'6݃tz:?4X:6*Mf~5E:?pz%suu=>EvmGbH) `5Q 둙]N~%Z[~):yM$ 7yxf{*ۢ&uMܿzL0'IOWr:ލ'WKukfݬ?JK|PyZerb^CC ic?c |5vhbb+R_FztxZvue?Krg\`P̢wѴBiGѧ?xDͲ39|s إzQ_)_F^$J/'XcŜ"L-h2pD47^d x%0 M=Y]{džCE;EoQpo=s -(Gg9w1pC0#~ QãI7 d؛4i*V* ]'`}C' `Б` 69'guڣ6rԓad}3≀SPJ?cs$T83/ 6KAALzAR3w A -' ݄9qD<8u4(ʂi(/%GY&Yt>1I -PxBX8∉[4,wgX >P]WUo:ߒ '(I6 -ּlvl v7Wom 7~'N/?N zu$6Ifկ][;='qQ5\k۹9>~p{ Ia>;Ӈ XLӇLJ?vɳӧO?Ͼzy;G4Hf8~^m|}1݇K*>]j? qvؠ8 - 7%-}1Q$L|Hu^Sy􀑡)#'D2Ka~~<:/Far"m7jsubӏN/i ar~ۼv=G9lk1߽+fUD9"nEqBKSѬu KN]2f\>:j2*,(r\X0%G%c;~ض,?FixaȐsBKQp9HP-S&d{%"[YE/Ld r~pD,8h`ѿw(։ÔI@Jȹ/HGdYUe=Ve_^5 OV`X{Bw -zB?,Ip5'? -;3`Q/jiʞ6ðK30 -qLw-,Ks[:`:֢)fMK4sX(m5suĝӁ FaBf<5?/0Z+Ǝ81È{W>f=/4 Ncֽ d5WR!2Pvpy$CmĪY$SaLrxia1b[^ GR9Iyq,[{YYVz팗{OqU8< @!E^\>RG'7ݾ}u[9hr=JQn[5fӇ:;F^^Ѳ4@'kG~hT(*d }k NhF ,b7xBS޻^c@H1R=Sg#b,d{\p$kƸ0%;† fB3y(`LI{0 84$ -Covlcxi$xf[IQzm1Ho#\"-" F!!\8& &+;rƴO'r|Yheӓg}vApr#BwHhoo:y(rF'fi Bq\<Z%d8+ t#yxz ];_eq[tVV9FC晣@@X!o9ĒJ1P0@xy렲awv5vY{ QSq>j~>G2h`hns c6FMee8/>ˏl2JSFn{wo;Y=Up1M/6ZDURoӼP%W?T$Gx8Vz1kG>r,;=ws۴ocpھ+Oi cE.17~E>Bs;h HaUQhu?<.RsqEvQ__^<4jf+&Md8wxױ},vz_W-onVh鰘 Im˼uEL/G7bxcӵDݮ};o/'LZ3=g037U^c>(S5)$Fi2_7l}sp~ӻ'QOs=—nq_ʺ.|JhlEqG /eEq 'YZ(@Ůyf*.o#')м SIȜ+`ixAQg6qEI5ŲD%`Wy3_ScKcc,3~Du9mu!uQD.ڢͣȬdalwA[Nk1_ fP]~>/X [_{UF---wfcz#~|&e~^Vi͸ڙ&g '%Y~y)=ׇ^;OB/6pQ? K՘סPgh -qdiRey$('P:XshD Tbλj]$6 -zP{/' `&<h@r!i`wB.7'U4Gi嘛})dn(XidY;0!ɘ9ҹT0摀DM9 F - (4N0񦰫eN8{| 뛾h -!0 -PZK[&j8yo Ta,e$iHd5 -gW@4]et`US~Ƕ$y+A2ܧZ1b@|OACm;PB bU ,|[h{x8]|_t0Ml4Gi {p/W( Wt[ܵKz ョӝa6f}y{v/fHYzׯl8o"%]<x6p'sqw~~j.¢`j7'Ai/-(Y IDAT4v}ws/!X"̦U;yW=uXqqHcʈq3 -PkM,wג 1NƇu-"JFŠyۊ:0Í|tȲ#D' ~i<*Gi +^4HO._pgv؛n.٧!v[G;ж~|*x6GUt[z!#eOF8~s;eǿwMq}Ub{㟶ohgV@*ZGZO?O'$oQ bzĆ2[=7>ifӵ=uN0U9?H6䇡Jm U=Ֆsi:6Kݤv\>sTU$"Y -*8G~q֛ymLJGmA3)TUt[jL5 8eE0z%Hm RR2  cMB\:y;AZPqhr[t 8Hlür:A nn,Fe2eS{ߍBMcz8v+i~zfCÀ a.RqkJw%1{#' ,k_XA/?;^ XPNz4fccVyD#OYl))d!G ]'G K$X[UK U6UHb5JBWk ǎs `J3bڋXZ@4\@)­5\~?

0uQ~;>O?5Ӌg?yz^.ǣa|ycp^MˁR(745$gzm6bu~_75^M.Vɐ|nu~rHGq(lNܖk淋[#l;2/iו; 3Qߪ 4zʅZ)k]FeD{;&!;ٔ5WOĬ8=㇡oqG][qݚAxl -?˻&JA7_D>1W_-y dყ,}zvyt:N.NO?ɏ⫯_^~7x8s7mQ$Ծ>߾3 D[6Nľ`/n_|鴏˜phኽWm6Desl:{<?PGQp9/c.}?#6N۾fk>ӕ+\e<|z'i?떆,?8^"<<7ŘتxSzf@D >z zYٮ*~ܦjdswkvܖ,^2 2?O\p0e"vәF>Vx!*3])ԦnK#[j3~ެނVSd!]1C'iIamw} -VZ]@3I<axְN 5rWu_x}d'zqLE1_/$SzȆ~)) 7<~]_DwOu'k0}?o8~rf|4ažmuѱelaN̏} Aٕz]T޴c g|qz!1dھt(6~ ]w1)7m\ۨ8 gcIQ3yR  {`Q +(9Yz>J$a:ʥ XbB/GmpJBXA ;{TQ*;&%e5XX=^:WW7s!gvGxmL^לkB:# HXr41DQ߭O2^]x;*}0z-6'5 a8pGT@nbZ F XF:!z䀔G/d Hz&[3J10$ Zˇf EߴPi%03zHZu8T -*ƣea=!0@WUF5[ɐh>>Q.Ϙ= -/8Bo(AQo8D, DgЃf jc!s^r.0 -K D!oӣZ`lvY2nї?07'dk⎨MEkoenwž}Q7Eqьd O=ne&z3қo[ZEw|xG;(W߼fM&y{V}9CE@2XQ]U{:aNiɃQƫrw#$>H̨O -%f.b ۻ&۪t,H1ɥn[(|2RG|>>x'ۃ67~ǧQDB~cfp-g>롭auz}i&TF>/}|j+`^ܼ]5.OAlT^weYv dt8TQztjok}3fm_egau _= e%o8gǘe2 -I"כTm -_]+fI0<>䯦?8MTJ}3r~2zrzo˖woyoyғU(GUafoG}_]6P --V~{ɡpPX.U٣_̢x|kkecݰNby${ƴ&Twڰ@)n\k;Rmp:;vKAơєq g5޷3~$!A^%2GnQ y< y1ΐ qm1bRqZ=Tv{ :d0lg$"@}U % dـaXXN}͙*NsΠ0jRS^im(<+ŇY rُ\P1<,d%`S@:S#ZGIqLG>@d B4h_ Lh6}E1XK7#䙰^t^z&pr!e.BwB({@ Y@9@L1j 0kgͮ¶J'H(k02AD!$` r =@|AncgDf1!7LZ߮(_`R#rhxas]af0OeGWl0֦$o%f__jrjs_Vp =ƈxw}(#_U{}_ο{m?2Yj݅j%#czQ0ЩMֶ'"x]"$ >ZeI^I31{^fwsi[ I$C6kU:u3#3o}}ogǓ a25MePFb7?{bOffJ?(}EDفZnpouoPQUeՂ'?7ウ լ.fhog3:e <{b/~$:)em*i/UO92^o7# zm! I,"ur/NsުotwIϓIG> lStQ[ϊ<`sI"fkMn5ƣ΋ ` BGjF8%}g ->dT#dh@h?CZF- : ֲu09O(GP=$ă38BzZ#NKB1ct9@2UtR3Ui@3 -I{j#a[[p z9mIleg)7T?)+fOiD|adX ǹ9=51oBpr9t> FQ*"WxD'tIk! tւ7<ٵ0H| *XGe!PbCm<Č94c O Ed.r01JB (Mby][ -1,4 eS$8ŬK  =j -(茅H8ws:  kEݵ f H (j?|JR+]\yp6wF -bYP~ͻv!S''㏟s=/~.]HfO\s3C&]~EِiUyi>٭ qu]uy8Pg~<>}9N$ÁeC-M7l[Briۛ.Ҍa`xmpiۦR -~LJ}*g_ _&S_{YbR VCG=99Crrz*^=y~v>EKrѦժTǛֵ zegr8->s,eO2R+ũlovmVnP@`r6A0P9 hls1>e`+jUW<& -o) / r癲3[(1" KhX`"E=z PǹUR`vF]!!c:&)e,/R6. XgܧQ(gcBv[`>#QxaPJ#pJiI>6 SU\o$J`bNr"mw ¼сQsվHeXno^y%%qdɎ\'2p0fa#0bx`pj0i!)`ݰqfv"3a.\=}X3rhRᮮw7QDAmWn e=ž9-!/VnnxW-zɂ7~ul_r|dvY_F Ͱ(ne3BW@&5bhaɷ|\3 a,X ?~#ˢ:z/_EDb g8g7Ca>etb|:fw7naa:M̨gُ~t쟾盞 l-M{ }xW5˴nhP[mER`V/"1~6H{^oFJ \ƘLR"i!|źwˍ 7ei V -ʘ $o( p:J^VqG6TRƒ2VƷar!Z&CREK {-";Ԕքk볦͉_22` 8EO)ޑ-fnc#iV5aH|&'ІÎSt5A%=Y@:aۧ4Gń4RFAk몉Gm^89Jd,-p»@{ز79<"`br@P qj)?Cw@`&`c['3'j"H)(c{hFQ8NPB# q'|C -UYq'LSd43 `s$+™#SY6:~p4 -Sɰ\ݪZڬ67T -oP9]j.˃fk ?fZ^Gqr 'Qf]\G*S'QLNz;tI8:~}lVP}5T𲓬hC7'S#r$>UI߮7nU?6Yj)0'I8B.aG.ojYL M,.mt^L@&]O..ly.//‘S7$m3ы z c7_/uc -̅V[$MZGӗue)ѐ.NT`}kES0pU.@WnubiOlj/FHZw7.WJkẅ$ IDATf'>FItziWL{'hkiqj;AyxX~cwoM>z?9y*HuWnh(E lMie -bYfG>ܭ#?xď~ղHws/.xmݷoٟNڰĻ)j=,0% A!tt\cv)i[g2ҷKCx,)r7$''lA"/d?-MNqNs;! -2Fu` -W뮵7+LC鉱֕v!fcijʓLa`Q@OȻZZw;D.X Iji<K=u -gLlO\z WSKM]X -2z(%9#:K+CO6eBdin7]԰C*ھ4ݣDcֻ,Peq((^2mMOQmV͇wzva߱8s~l:mi6oWinw_ {_䴘j_:qUU~QZo&qR##bIVϱ&\^1ZEحbI:yI,}~0m]:͇~xY tgы]7oz s=-W{[~ո͂3;=˞һt9,ޯWnMT/8FgQ,}'f[֝uT-}gW>۽_jLMdQ72w}ק'WgfYe3zMNi?W?}s2⧊U1rHXF{µ7*i?"?l_w~YDRG|ɋLj>UM.]7۹&py0> "%rS,ZsN<`y|g³FEF"pA+%1t%Pp&2zod*" ֪<\$,ʁt{X"A@Yܑ2Ç27'#!axdi Ȑ% Fg4*Hj[ͭJ.[.nwYtq1v,.u"FΤׄ0A*(q(upNuV'RVGǖq51 (Rq}}U g s ǁBz.9BG)Ȁ5 --ZF 350G8-L(B"9&#v 5)m}188G-QJj # -#t(Rk i( `0rPz -[i}d<>_IntӶ{5 ]^o<2m(0z0S,g-C=c!+Du}}Zԇ8!)2 pRa9[ ܮnyG?PSVyda~io:&(үz uwQM%U m}}3+F!^Yȸ5y[ռ'&jUwmh0ci7u"V(M`>O{C P>7@]"sYVsJJJՐhR+ua Mv!l#22O3:6[zoҦ|\[d~퍿6N۝UŌo^C۴Kk~ҥS;]bKVoykgA_D#h0^1Eu}u7^ȳq\h"3 ָluu8|]BP3.wn,7B֤דAqfN)}.QAx6I>!?>O>B-oYzwaf/⠣{O>7)> 캻m@UvJxqVѓ䈟\gSRTFH>e}zǓs•S.i%bjlB`'eVW- -q(8hĆD&ӧhgxrE\4eV -GFS㈱JL Az(3H%RPWrr,þGۙ]؅28aypٚTIM ptMwxBs -`,y[ "@*O8B9n8Z$q&x a">bx|4Levw_o y -ȓ ,VL;sެ<A!}gHNxP@84eo@`F}(u`)pN9=sK9:iIAgIۑMg e^=R > t0oiC s (GO <>vQpqE'!qT\8RAb/pI(t@r4dixXgL -P=iIY,oY_QjQu+97u8P]nz )?wal:tv]Slwޭq{dt3IUNMO0'OQؓxsw+p8={w/`(|_MmDroWUM' ؜|fΒT60x9ߑrX+v:~aH;}۱eeX4II¾9*w@6O}T9pq:Lmkrrou 9~}Tii٬K}iNB_6 $:?s#'烠H`}mC7;p+F8Y'0|W>l"g՗ݗ׳~iǿ\ǿбn\F~rӬ[& |ڐkBPs?~:ʎ2*Nϝڿۥ= _=9 -'15j$"Y!O?ڿcN1eI{߿_~~_-TWWpܶ ?; ~vYT|~zu=ctEWea{Wx/rEd]`-v‘jKn&Z7aYIrӭ`4 `*ڎ@ý\~4L'z,Z8zg6 ^>>dmiȬ ̘eyӨ^{<ʅ\KĄ # /98BE m-!Xʜ#! e-EK[@ZRl8>A)J@eyHBae$ȅ&É8clCtxlQ6UbtIS7 -j,EZ.ZusǍ;TKE\G|bl+ \(` -B+ Z/F]5"qMa`b|i@cAHQLQFiSF)"dE "`ɢ@0瀞"}A")gs^yن8N1PP -(cCI - -Q@%"*РЙ`hŤSNSΡCQ4|wj_7qruT~1/^dg~ly6mYׅ|?ѿgLO\ݾGU'o #|G2ް0OcXN?*cm7rbmLSb׬>^ -M:xu2+̲$LB)Wci*yu~cqӗS Fӗ>Nw<1/^8> *?62i%sGjW,mxZ(Y??G89 9[jڝٯA׳=/ͺ.3ؕk r)>"nֽQ žk8 뽦mN㗽0m+D"t)HYk+GveIƵjg(k|U:=:g7{wo1M{G;PmwS6< ˳lˣKfyePZM,|e?yP~ooXԶx(Jn}*uu߫Wnۖ~_u'2t /;ҶG׿@boWfY 7c|.>p?*)``iNx.FaZiHPTM?1$h)$s{z[j֩}nvrƲFًy eQ;#9DLAdh=r6讶k/zҴnP0jO ceex;Je)ֱaV10t~ӑ^@@J'PҗJhH Yی?S\ YAkNZT$(f䐆y/%V8Lz3 -r _Rl)ax_Z6hS{Za,\<0bF̲0(nFo=n!@&}sT67[s$@-խcB BB *BԵg{g]EtB+/5-0k1@ŹuL[ƒfqgVo:˂2sRYDz DB0 hQg$k$b8 HXs;/<$yj*1.&K\Y2e[ 3{X5I_(I#y)"=_(S/>}4 -mk/2ZI '<{̍ȏP 9!c/IV~(ČR~V1?zfLi1D|>o&ᆘgynz{~i;ᄏ#ޛ:g'E*'ؤec8D{isTރ†<f Q2BT/$:v%ELat~Mis`u) @-BKhKbq8lJV0 fqLkEo"8Z/ag=}M'8WLrIot~ʟM6~U ~x@5Dӳ~qq;;Fll.pq8toUc.Ayq&Ir(fYs(qX|w /n&V3Wۆ5TҢ20pl]Pz#Vhvl Y9OO/>M9<=L[V5/>=z{veJͦ7u>E$3խ:)?5|!~R1o ,8IJX]8EP#Q@j- zfYyaOuM,S]:awS+Y}'b<# ->6{Z;=+DK1>̩L9ش,9 hH\,PI{%Yo]iSxLhKOv{1Q$#rcdG@g aҝ!A瀠Q2Pҧз -WpΧyR`۶mSA --pjiz?Oqgmo7_#Sv,;r?D'mwG//7_kV@$s'ikqW1'ѥm펾{k<cǟ6:=ja^kXYxfs:nv_鷎T7)&!*lM&^1Ϝ۔t+Yܘ}Fm쯅:I`0 -'a#L > QP߭g:plgnk&GuyIA8'I<&w߼br2&"is>[WHwB%|'O~T݃3ݐ.+g=x4퇧,D*߼5te&^fو=Ɉ&Ԝ?'}I7nI๞ Uþ6>ZfPxҵΒU]W$i7iB zAdߎ.?6&%^-to7ҙ]pS$ iIS[ dM)N!4~QCJE, K :=:c(86b[5f_2@XBNr"p1gJۘ"p`H%8 -L@Ē1#}eQK8$Q+8gXB,e2(8ʼ#kKhM diE-MmL# /o$#JRK"< %FIf^֢-x"ˍQfBm7~;wVѶg'Ga eʀ7XޣI3#Diț^һ$md={\m(gЂiixYQwrb ^]7a2!r;azG,:+rx)(VHGBtt Z@0>q{=iQ"cLc" 'RQ"gH*P0k*d#Ty8PzPb 6Yh4a Ch-]vwhw_{bJFQx۴>gbp2R3wvPb{r9 Ebgs_NupgcKɩFZӘ^~3l(?z]ea"Auֈjfwkӂ$ag/>|frSfd| <~Ez9>z~7W{PI$#xµ"=wl|>賢H4tr02ɎzpɊsygG[Yr;W˅] x,޵4gtqULRdr ].CÑuQxuC/|zu߽kwa,4{o0vѳg0\@1f,s~s>U#:VѶHi&$tQjp0eu:][xV) -pC -z9Br}_?TnGЬ?ػ7_I.6BY6ӺRzYTPSɃ֊[3С2|嚧mv׋ZK[q|~.<8oj>hN[Y[y_,Ve󎻤pu׬z#Tr IDATiXP%emh~*tc|_C4duI^vc EF -D*lg׏ X |hGI[1@yR"+;DqAtD$F-]$U -B q" AҴf 31%Me4ƐP!jkM3Ço鎲vH** [KPJyBC8.z (4t~mC9W$"4Bj -Rw T-e -(Ix(=9I(‰bk)kkY3=^ʝh`9!%JEb*7$O>0,5b@`0hݽrAŽu`R[M0Q}pZ`η_$Td,bRsGjAڛ$ |ٓ~O0pЪg]h3f<Fg??=o1Vm%}'f%jY~}J{`O 59Ù`6/;9>Go $V+ZZq6 Jj8Q.HĽRNQMɇSM,`xm"G𭅢' -v=qe=w(t!4}K|ĞL"g@R}$zd\yYw8͑ -kzI(2@^P6|߭M:"*M:0b("x`'ǣ7nú5KY6ꡘ2d˛urȻ"2:J#M0b>qlv]!ߴhvd>~&ɺ}ۿ~ny_/mCQIyب;~ 'qۡw] -Kˏ/n~|_4iv]"A6܇u%Une=$'ݮDheVh;ՎN_dٰfliR:EZG#j#P u$fifQ렧+BOG^yr/5Ȫ[Sj0ٟ룓tny.@8F3[Umq}ey#,EDvhdh4^4{QԠX!ƴOِ Tc,;Զޙ(ZpVRK7:Ww+O)⠏m<򶳔`\{t2ؾt-IU׵aUfc?;C_%@)1Y<'G:=Xjoov549a͍0uvaK-=3:wg.p憚Bl.:[_ɿ'{б;2#FFR#!X1 (Z 1^y,ɘ^hW?6bGG31'@A4}oLgQ}fLF'Ў;3`)CgTxb1gK}&M<Ћ DʱH?k펶vHwNfz0䄔r8#Wm"֛:5R5ft+}й=|L@ w~Ћhzx.ө~X-mq]ws{Ѥ1GLm2Z>on݃~,b,v~ol:ld9#Ÿ/sgM9쯯%ãˤ,\q5*:N:]%Wy4ifzr_WNFle&븋i_",z}4UmnGL8`[&OWlM&=p* bJzq؈4&ACۻr}Ӹ\]pEOVg g`c9B*eRǘvڛc^߈^<uQRSЄQNQ0 -2FKcpcM Sj8 2~<=itQzM83(>0!f0~ Zۄ~fJʹ`LFh860X{gT2#_ygAs~R;v$jpSMwtS.I Y3n 0>~7},? ^o7ͨ{Axy|ǯ 2C'n1,puL6PSn=`FOMhq4)+)4ݽu MmחIncjy0Xz&PF-*ì-a,]4^&Hp뽚b뺀(%\(g7zBb0!&xj܃vmn/'۶^r,%+cF--O8܏?H`D2y~ŒZV!eeRY|DR~//X`o 1HtkX~aS -9JJ0F]38 Qg j/2lWZo>OzU>HD_pY/ى,wW8 ,VĈG݊ksI9 $4;_ӟ>M9$'aq!QO'xo GCN}ԠrO^S/q3R(B)dX 8B EFE)(GM &N&8yq3j$%om,0d``厡'A% g4"3"t$ڜ, h\w?g'?==hM]snb^FK55Xi 駟Re/&p'>?{"ǣ˧NOt4<{:l̻vʠ?xݮ6q٧&(SeGwp͒6nI6Ot :ЉoMHJ܇e r7~*&zrW2' IgK{{}|Fcgof+v5!M!dDx̢pއı;k8p }Hg} i54 \.N{5Ɩ&AKOˏ"P~vΗٖWrWx:Z'biIg]M[ݧ4]Σsb-}'Y脩Sa[YK34G4N({awkfC N66f/]0Cil=jOħYDWx6]hsW dvwc+o|,PnfڽC>]usjĴ*NGA4}rϛ2i>h:^ -^ 7KCSħ/~׽w nt舜.#4MϷV!<ȍ\Zf=\G2.sEH.q6| 4q(\epEcq=Zò~]Yݨ~9 ά` z$w>lwn*wf8s-/g +pTDl?*R3U\Ư/O[e2,Gze1BeMW!Ϋ, LndP[AvI =k2LF0QTtmutĻo'}؃M X.f`w'وhcL8*Ƭi|뛷_r׳d#vͪg6'R:?~>*$/WۻrGr2__իZvGi:,Ϗ쳿z3 w<:_svԋ}1Vʀ۶'t$hsF`hHOdA*cO+cPq SL@n6}uS=OaGC;ESr#=E`VkH=j]"d:~",g6X8t"VR^9Dc - =PB &KӚ`Bp@yih+i \k<Tȱwܑ & t_1оyB1,D;$Ȕ\5fut0F6M&+[Α{S@MstC@ UA= 癆t._'K8أ!_mRL%8EZv P$ӌu]` wSSh=փ+*\o*%DyrGTL9*k,K3A@C=HkCZ 2[K Eǰ}e%$qjv0XON}x}~mEtӼٰEĭcW/.gQKk* >gzU6p /~s\9Vq0aZ~,Kp.sMw %Ү|TЙ?:U?y2ytIn -6fmZwFD>Z.&$ZPwkjƓw(v08CƦw--b,{Q2\ꃝڦn/8̛6='tXԭ`D&E;:Ӻ粋d0yv;Wql*=l%_ ABs'AĽlGSL"yy"S̒hA15*' -e6 NiToNN_|}+m'dG/3FI|Lst̢Q7`p"8oK$r.Sa[S'o| td4Knx_(1 kQ)xv4q#JaƧwKsDgyd,ǹh9Ed -eB0(OaK@G8iH.W҆ IDATs[ȡEKFHjKR2hۻCZkk ֗()z1$Xnfcrfv M0c`]79 psHc$q0:>~~ psy?/~FͥFǷ_Q2~O- YN%,Ev` H ૕cﴅZd"("E(Y[y4'`EBj(Zu)X%PGz;C2îR#8P,1#Q92GY$m,%CB(E{S~\x\XZhBu! -d6(LtzCԶY}ܼf5] $d7: ~O?K3=121KFwM5c{ c.oG?r?xG%g>͎Y%j9dnYS֍ًfX77t.ŪKWvݕ{_u:uc9\T~yoڶ}|p?%Q 'j$OG?=dͪ52bk d%zCx'iZ SO|tBq.9.RzwLפ= 0ѫZۣ8CWD6MQI~w\rڤ|*-i&e=s>ݾ%}C'h9ih{@3Mԃ5C`F:"tĜgfÃ4=mLgh1?Ea&|29c? 9A56xXNZMM8arm;S:߿WWۃJZkQ>g{|CSq*} U`6뼗soDqؚt8щnvWywu_"n^5qkLw7UxȢjOA\Uj,q<0.OcC#4; ycfViM=*]$@={T - sBm+F'֘N=KP ﵢ3SD$,EbxwAY8ȻQ&(uMJ8FVsTh"BѣGj;dJbh-ƩF)Is19`W8XcdPS ;VvNImP髨RS3v:͞1L5Q rڊ.! D_q)% 4%)1A(&A9"5l " "!Rq# -b1Bз T\vm݇Q#yD. A6)WX0o۠ py$]$ w!X2CSzm}h?,xz<<צuSݻ.ː}㪾OD,lvm9-+DFzFց_SY s VES~nwQ}l -Gon&>_^'÷),8;׆f__u]|ܩVDWx=;kM&<>=JʲóͽuN/}4]8]CN@_~\*zژ=M!|L?y9=zoDڜu]s .~p8+%Us6_(p8^L2yf[gH<^]=*ivcĶS" dzfڶR-&f( u4M'i L林qbY]{h Oԗ=`ߕȇƯތJ]TSTny$.䖙$9s= DM~ʎ]ֳjteN^l}W!lwlӳf<4J-4N(K!<9n'0fh! %y1f`)q -{/.ANEqN$̇D@"S+m7؀z$&BU˙9ơ@Yg<N(@ BZ=]s黟A\Fg8 t A3~h9ҡn %<@/j3֤ z0 ZJWCx#sCk{[F G#y~|/ GGh?Z)dy(pE5Dֶ= W^eP2p -7sЩt} Eg̏uf˭-%G'O,}3Lc~J4!wZu_PG[GQd"lsgֆߥ45O]'lD6+dU]VGGO|x1Vㄻ/T6Ȏ -Ӂ̞F.vˇޒ۪vĚRdRH4< IҬ%ʛoOmdrB014 vx|DFA -~ж\+Y6F.GaJd$Õ鹀عzٕ{}~d7띆ams&]5ZS -6ўB\VGjĈ={[ -ecl9C7 la}7*'Rf^Ն@k>t{d>I:fxrBZ Ӷj (m).OƓʳGsHp&_;tί gzQ՚V݀cPKf'3f023ǔP 0O48XЀGBH 0g^.I|}m\]^{(O9;<W>4~TOȢ4 9e,r%sOF2{wA;dfiZ")jR,cԝpO{ZH+ѕsԋLS/.Fr++2Z843"zMZ] HRR䘂g%лTx9?8Z{dОc\wEx~u>9~[덟fQ<.'fBvrlfuʏzՇdMq- r8^P:ߪn]nr G+rUO^x5"0fszgܘվmv}W0m@$#4h"6D{ҥeW뼉XtX>/NyW]8G'A((DVlaAO.2p vzTEf,=jߌa43ʤP%a l4.;9N?L-+k/_&/B8Im=Ih4_!t:;5IT ͒yMN[骸jz7٩>h”ICJ& je()e+ڋV uЯwvukuhy[5tc5((Xev{]>AGǪsP26 CfXV.Bf`}b cQKx6}v"6صTaA◬]o?ْ4= ~.}{Ϲު63ݘ` CA 6h6 -EP  1{zǧ16LٻHr-ZTl4)UX{ة u:<;P7q6X>@GG/4_"Lȉ(LetGx<7pM` ȈKC8s>(Bϝ3 ZI-$ruhP1< !H%1cpBuѣEZ73<޸ۖ h'^stVY-- wD8RkI\` so5@(KGnpSR OW$;c[+.^ٵ~~žhBvǗ'LׯEyl?@ytIc֏f0>E-#GJwO4Ya^75F9JM[ng1.;êYd!1]myaL^m<  )sғ}[֓\ow!4f1OPaRPhQoeb{lD`m@Hхpxp2ƭRTɻ:kw75Wۯ~& һ$݌׿`4=?{˨7+|;ovhN&φaget{hj%})XΖ3 VN.'Q8=4[hqk#D(X,:_\,S K2Rg_^~D -)[MCLo5JݮcG=mm[S8ľmFNnSu 2([>RIpzxKxA2 SvD .exR, ffH;) @ۯ%FmtEWÒTԞ]ᘣzú]t}٨v=Q[#H| itP'J6v0mAI( rSvk'ۧ<e,2G l2RUJIM:cz7zݣ#<\(T9ۛlՄ9;mz^6:jeiz8SeفγΆw)2ceNcZG@DH[@(ׁf-0-- "m}UU۲0q(DE +H9J x=x"B@EoیD8!pLu@ 9J7x5ºC`-%.}3{nADzJRPP2wF{k@s>EӉ}}ڕ<`M0w3ݭωڃ)pb N0k(-m--t'|y#`,s+eN]3t>O$>0Rbfh`.f>9(ZD;Z)3tD; x35sVh*5!pA1SOׄcx"nd&`F \L==+Mtf_ׯgdtPt*I?>_Pkwdk69N+l!|ߌIit89ckgLWJqo"cJiwm,|yR?޶pXǣ8xzy3c+zv4Eh({}u}l)wo{v*N69͂Evz̞Mg$wI3.-8e#.T-)T׈Hl"m޻H/N($ vsP^8 kqE\4;WSy:LM[e`BF}¡J >561_\5GOwm > z#sfvtdy38IMe ca\VNF:Fh|fQOiWveY,EDqGm`;0X,Ԯۼij}X{bCi4ZB$ g'YlBw뗯rnVAyhPA-ht:F;w鸼vb?7CA'lH&\9]Oc F8tuJuvy -g#}{BHT={F(V(FS!!ti6ڷܭO&dzzr KG09Y@WPj ֚J !^i"19Y  ,pOXDCwxާ :c.lNr OV -81|cLJv>J =A9P pGCY1=ۿ b>XVv#H8#ԹZ:Eo5Y?L̗/ƈo~%_O,M%!e}JB_q?D@+8DuΣLsjxL'n]W> IDATjIt1Ou$iv@B@Spf#{ A wz1L{rӉ(ݖ2Qe%m&`,ͮߟ#v}g?tU3SOϘ0lg/gGVll)$ LBP,6b}:5r( -_oj0aŒqQgcVh)Wxqu>gê|amU8A(fmb@=_ݵ&;ilӓSЊSc ±jݠL>:>hY2:) >a:i:I"R?7+a>c$9TjndmX("ʆ&M0,Qv:e4RVzz;۔h]fծi|Ȯ w;2@j-D5z? q^rU7Mpmss1rt0 d7(ׅe:~y4k=ѩv,0΋pe?rf//.PŦ޳|dO\h ܐBDnC #MXr6~y-TR|)+ 4?-L/F4g_ⳟL,~P>gG] Ԏ1V9 P2}%mOyj$A%"蜷JE G2Bqgh3+C8Xj"Ywp8ei@` !4`0 tòsZ^-s!sD,hF 3"_қ_k0OЄ3zl׮#Z:棌3aCKY`@dRH 9ϱ<46h7? ~o: 0QAR4 (5@%'(Z"3ɟ/> -8CifRt>>wP0TjI<ŧ18=, -Ɣ#!(5SҒK٭.<DD,S3„MS QiLq ) Z@¨"x.˪wѺ pLq4J՛o^E8}>KO= G?sYtSKŽ:2z/e:{ HG$L/C{hG)I<1U`6gA>'|, -J}ˡhh4wnUn8EȞ Cv8_)xlv6} oZ?՛Do"5ɫ4zYO{[v|DhkֶJ@7owqz;޽(aؖQJ]9x&(# ,WJ~_q#VSo-7\움5&]t&PI'4̒Y6C< qb!zϵ$Ձi!YIieHof8,H/?9EF)Lلq1jW7Ͱ싏yPO|o`ݶ5n&ݮYT2by<΢0ł7G~60lfU_'GlAvMRImؔ^gmϝQ*(ˉX`b)LtӞ^##cZ_sJJ/hr'G_l<0QHvՔ)y~믟h?)g'.xhJQҵ, *<#f}GoT'O|3c(7;RnH/Sa'}th%y0Vh5ӏN728,VJ: ->vT>t)FAỊi{MpDpbˆzB@0<*X[qr/PfYF^NDW?F !x$j@Ш1O\ɰNGNΣ%{~̹ӣdu׵ uYD#+lo81{GCʥDou@IJq2B"#҈Gn`t1ucn 2 'a΁M U-eYQ$dYәPN]`U1zZiY<HfzHH"Rs!!o뉲3z 8 @CAEP|B 1&4@CHu C,$Q T?|-KAզw 63OIHԃλ T0# 6Izhq5NSƨ.!-p ʭYW%1y -n,v"lPXj r@KЕȡC[ M$i(B~y`HvFZT;(0wDqL!qh)5V|yLf!0nq˟x\:|O̳1SWnڦtgc~'ԫ܏.y~5÷;ɮLx͎yqEIQw n[k~&l}pﺓ wZ%bI6$jl>8ό[ʮbzU/[~r}\żߗ=,%ݽÛ0owЧc 3G`ٌ߲nh^xAb&PMBfM0ʖHqPuU bg;4)XVv]w -K;Όu=_>Xr߭д<UK^i4lozha qij$cݛcI J 򊻇]2׀5Q<8Cٿɧ/0q>*M_˳Y6}4BHR`=!4X("j=b4 )!"zcqk=8zל]2JzMрs -SW(v\-o+Zap@.e:uL޺A2|̌P14P<ǃa8NNU{ſs/qr.]D]pd[XlXP#G'0eMĪH+i VOǧ*`*1=Jh𖠧^ЀMIԔm<_>Bo@Gs㕲r 6 h- %Biwn!s,{&u[=AEYdx_\2&( Ï&:KRcSwoZst_n3ۦn6|P:ˢ6"}4J] hf6NTamP=ÖNI 3?IzzTʼn?]`}0WFZc֝If!棐8?&8jYJ!҉Vw2Kdꃾ,, S(Q T0:.%{ش!vZ2x(2^m'sËPLG^O}hC4q >HO폋d&$a'kR6OH-gCg|9JԄ)x",ؕE̺MaۛWۛ!֚ADςɫ2s#zUdNO%MBc:jk l_4.p[il? 2Ih)D3V\'8GݔO`pQt.:Z=NǓ6s}]%V=6:4sK.&ig(;lIJp؃ҬտohjEN5C{an(mw#̟OӦm"8FC,KC,Պ?qƣ$0ERYVe=5F`Aְ߷6znOg rB jwB0c*t*d6uv2MS{)AY95#)RQ!vKVքx -1).`Q=#5RItd oA<1pCQZJ ƣv8X+=4Pv 5cc9/L@2NBL(H;p'Z,!pΘcTDJ׏r.fY0눤< af/ý}A}۪i?y=KӀI[=o~q,wAg 8Iݟ|//Om}%e9ߗ̎,n$ =sJfr5ns,d.J{I&j "z5vv84n6YW{uu~w,O̸}S2 rDU~#mt'1QlimŤFdlzS"0QܐS{n,fT<};8uJKkx9]~sMH,%,6?)ll|6 dw+sYɤP&e6!dnddNsnw y_]ivunINQUWm -;e n' lİPn枏MȌTE# ق`)#`4ɛ7wǟ3'ʠ*lqf1/Ps2";ysiAY',Emfhxѿ}i2`TS$0[K-ń`\Fݘb94̶tZ#r -F}BGג,˨gZ@, ]EhջɳLԽ9 C!P83ccOߴLP -?ïơlɃ4U P4ï<_$ဤ8hM,U"HWhGc"ǵ>5߿+۲>~q1n~qWeOnn~7+T<eZ׉o?Y;AFgy0I8矯wwF\7Xء60y|\ -/yz|1DZhVF& ,|0W<y<ݭ%wḌєvt~7w{kHٗSt`ڸP\<#>\?[gI+4L'ax/7 ظeX}`8mn_LfCmDOGߕj}nhmVop[ӦKIaMrLO3La$?QTO_tTI h,Yf&Ri4=cX CS:mٛ`)D&OsQpNV)N|XHtկ'>&A.R&îye܂'˧#y2X?np5Y2a%a+.uCbd/-MuuO>?/  bnLJjHiԈQ'"@p? YX8{VڲRmj>0?UʶYkMG~sUv<]WAQh9s|>k?SX~1pJfCx-~Qi"F #q^#4h`֪ٚr}8# E19ǽp`CC{1䆴71&ر7ہB"ѐ1=:Ѐ=7x =đ p8AGюJbD?(磢^ -VT#raDW=1h #J6=![ -0=,,"AwMh\?v'S!0-MOltLfjˁ33B[Fc[*Rpſ6A⥖HHl5$XC\lk@iVĕ$G鐆 -LHVX:r*by M9Z uc][j x]u]y -BRI(I=NUGJk:ءSj' πY܄ᡷ?^}ӗ'&c.BL!6@k{q~ٿ;_aF&=oM%}Q͋=<~uMc^vVtKٙh% ,#>V黷wwE=Wg|6{~xĢ0=nqgwLH IDATv[w'G^}|&ԣ6&Cךz?8i00j:tr.?x4/.;U iUi!G{ݍ)>xlҼ}u}/'hn~@ e&itNxBpJ Q孝zyCX\7okmG1)zvġёOHe"a}i?9B0D3>Rg/'ڑ3|Z\9=tGr9ȣ%qȣ))cF0ҹІɣ<" G}: -ap.bJ,a,GG,3)뚮GCā(nM<V @>(Lxh0#P(S-$hda `)O vfz5I?-n!EN&H4BGBuD#cٙg{>g*eN.$s20$MkwDHL,DhJ-ŁG""4d*d`zV;,)&@x7:X)p¼k]*d.(1{"` !(P(N4TՎj@\TINcNP$g2]w4bC0(-fXH$ʣ(1-r>My5z7^5~߾RۍtMѮm&Nv>9~fd=NW8+LkV|//wC8]qmW}r6l\-/r^U_]D>ǘhE!_>(zzz ..ÿdz:\NZ|X|.VS{ml -",8{;K_aHaԒ羃vp}$1fmQ ٦.|]$xX)D}"Ad[Md#;2wwMjIiI=U]xJOav# ٬?JTiΜ'R.K2ʥ(&,7ݯo1\䒒4G7sZ~M0VmM^dTo$EWS[fKn Y?Z8FIݵw6q*2S:+4hmZ}s !6!P^CT1ڿ$vGe| hS cBy|0&Č/'.ݦKfǓrLOoO a$uiW$xɔ:@^^v$eGsZDKsp`"H!n @>B;HI8F~rj2D~C?3#$az%ٗ_{CpG `oWXh=Rˆ"7: |IA8d1ax*ݒ4ќ9!V)F%Q=@$r9 PƑv~!PjLDXo뉤˪B7X&,e>cD0o4t$E 0Gc; EܸFٮRiMGJ"BPmUp ~{HZ>+<"6:I)<2“~4"jBko/e E~PC>ɏNVg6akOqiՒ ~h*t2=s~X~?nF<ۇ|awwBfD\6w*C޿vM)'ՄvKs֍B5*]s[ܦa7OIw=H a='˄v|ll{u:[uka:޴-EFy\o$[RaQWƣcC:IR]Tcyzs)[}_}wߵ?s_^ N.g\HB,Ur[z5]SM0My%U~o\5Mxս&Ҿtf2X*&gS -Fq>QTF[n>1VMUv^&պ?H%M \xaNAB ɂ=p$"Dꐧ<]UϏǑ~G"i=J?L'%75eypF&؍ ϝףS^? 5}x$ y 1REI1eFPdc7one"ءN; G좭Ƃu" 9c1eD.!njaLy̰-I8XmP3} G#tZL Y,$gq7vD)Q -D&&P!IJhGb>}}߼%~|#vS{ttOx%*3` u(j XIX@>Z"R=g6`5pG4^@ 'Os2d2JA|@Mޏhr:$ `a0$$JH‚AM8THz;lʌHRf\0JQ9Hz-Udq*,( ) 8bk\5a͔Nj&HVȒҪmP*Y_z{E'coL.ψ};?f܆lTxZe2G2,“IܠTf/G?28tj,xG$tYm~^13^zA[#/b1\\^|V M[brCÛUʍz;ۗ:WQMFؼ%w&@#b7[z%'`ٍ~ʼnw-4}XJMlBv5>i߅S)^ݍj<>JnHD6 .@:Iv$s\rV:/G"D4{d _ g znU668e) "%HDBA&M C*#J8hD#shޡqM$W<!.Р$.Nn#!9A9s-,0A{86 #S|j՞9|ߨ>RB&B.c -ςԣ)nT 1byp#*rV(gNLFs:T#AdDG7uؾaE#Q~©D)Ck0* &zWL$ -fgI !Dh`YxHT 4sޏ ꍻk6?v <"t1Hs<׋2[QZ6y}o4QQa{]oڹ 77_}K+n2{|:K֦~E5"U|+ݢW$%o~.% $沜=Qt|ßL>pv~,U8tJ>ڳWq6}3?Wg\|Xج~mO-OcߘY+Z=X9M:*Bۤ+Խ4m#isHcYp(6,{|q\7h+1@lr$fwSc+ڶQŚ( 0@?p& ĮVl!}hIaP80 _~&Ru= H%4cxBHc)@vTV0J ~zU~\ݵfDEJ].֛je:fݼ+h3nnw"pyɓ -hwo؈F#,5z s/HPVyqmƄU:m"fO܇S̊hD١?u(ddR}qo:AMe_W{-'ՇH >|އ{=j5G'c7Jy%ܺAz?(nFqyɽ %U]$f$0 f(B GqD~m 2ƒͦY&)nb`P0Ĝq,S)Gb\`?<ƒEFPY8 ' 1*b}P&8Έ&O>%a7T@Dn±W(ϽEb(=,gn1$ȧitw۷Ξfˡd: < K@o7bvǿ Qo"kEB'S{~>j'3;XsO|Ouݯe#s>~8o,?>_ [=dV,O'gߏD_lh6;n^g?9w8WŰ1S:ik-kE4LTvXIWǧgq|G;Ld>I}Xl~Jk2:ΊC[3mw(GΜ!w*lhs9 O3Wвe'{OZL)ќ11Y 0kod찷-"IE!%?E>$%7Zbsbc\=Iy -!ӉG ;ۏuo t $7!B҄9QylN?bv` 5>>Zx{WJص7ޘ@$&VY8'苿-?:x[ј%th~Zx{ -"E4co uuV:9zvV,I Uj;r~)h+j)c=F:5EK䣟0%]ֆh(9$6sOEq׈6y+m},^nɄt!eH-%h8 ,0t!H0t@C8 7 `VMYJF7FDmpq#KhbZYcWnRT$%x x`3 ~X17 7ʳD@m +J=`.d(H{r}/ ٱq/XGj;mz6<,E% vjvPϞ=ɁQdbecƨaډ~+9iq.SZ u{yϴ|b89{IZ]kt~';NEϋiy˨:]#Z\ovw:Kɲ9x.D36Y'"J:DjLb׽n:9|礡HNl[a}Yu^]+&Іw~֭ jȍ`j~¿f=+aݗu.Z'UPnH'jbr8mlz)E5UP9g%~VHA^֧6B&<S2^Cb9DSl yP@<]!N }k<#gi#oݻi$A G9G -^!Zc`Nm b}0P_ώ q)hDXʈ]t}`; zk8zZ#$b#߇Wݟ'b+GH-@0qv]wTtwon{72x6#VϞ?g*qX>mzN0 ZÛ7$i5\R j/ Q}OSU>!g7o^gڼwwwcqw~jɧ?aH% owNċn*h;e[5dߪ{uhȨ`lJqQUsZLvoW׉(Y0GڝǸ>ΏcTFn -fU> -3F/Kt!qtA q\d;sLvk-M\\4@CZڲu=>1ބ"YL bq"Q3|Gr9t-myQRY8ʹ(vB ɤXɨu2 KH~)v4gov!(9]|1I_Wovƙ@Y‡nl&4Nӟ~8?Fe 'GqRJOIP_]LZ7-[u( `NA*)l`uj?vNE9][I;4pn%ګ;9-Xq)\"O> z0 -{1E{ȗ,64ցN((Hm!F+tօEZzsx]ھ!{|T~Do -8҄yD"+*0w>XS(!@2Vȏ> 6DGop HvƂ(NSmLHF'0F0RMdbfЂ"O8\ E!H"2d5`xzs,f0 "@Hc4EeVo Cui?ӓEȟ@qF2%}!l%MO頱(F`fAA{!ÈX'?r-3ψq(ȔT 8D@lתUD8!>x0>A`_T08)^%)vfy7PpT246%@Yx xaZȘE8NhX`t )΃H?,LO"y-Zi}(u~}\FD.]Y1ߓp$I;?O/~x.?Wц..yҴ7 pb'ۦ<8EU>M20om=NW>8~p~*Z4]~v\RoI`WJ| TͩC ~;hsD&C{߄gE[Z NC^ XpG"JBD Βvn]{"Y*²cE 9C51   `lB ۯN<4+GnZ(j뗇I9s-. ZY!wFj}"|v& +[v,??#gV͹/Lׅ횄 -D/ Mjn6g%x4Zar)}&Wڼ_֎c $=;ʹ8!fJ?zq/^<ٚ:".''%^nrxl *I4o8u2ksҸ}&,8ԓx[BG}х5k<#)D;m|^bM$VF, 419I \?(ڮ.P kM &?lj8diQ2L>[ -?8<,IO铉0O>znc[p}38={,Ӕcr1 'IԖ~@,1$aǀME{dL:(xEgv 5ٶE"K 3M@(Ɣ` 焱XY wQ5@RKEc\Jpq"F!Y;Zch4E$⡧̺9 ]!p?+Fum?Z豙xuUt{n?15LDDSBC`#XX`c C 0oO?٩;}I.e'eJ2); (p8A?%%ClQ̲$pgvf|<&DqlZ/ˑz{~l$y@Na'ɲvM1$P ct;$Sb!àQ`^9`xcT)ׂ]qptd208<:䬮,[f - JBiRm7M~{"޻{o?y#p]TC9#@5,N/;u|oXUk^x;nV" iu{:L(VG//lS􎆃 29R~0VBpop[޻{4҃=2L>`m^պ80+wż]`4=:( >tlɛ 촘b +cN˹ P[Gx`ʰ)f zLc̵_Ǹ]x|0 -R\GMgW|3DnS<ۖy]Nl^"A2,g{*J*D71lGI2ᾉrCT̹3P7-{!h`BXD=Ǚˆr+7ӻy]x`LQ?uVcTv0^Wn׀_sG:o'r_;"o:5Mt|QW^n~~v@ $ZѶ{:-^x GܜAɬ[ߜ -婄8'@ߐ?̚&i\":NlFEؽs;]\VG_>}臟p-bZH|i(gqu|!õe;2BqY v, 0;Y֋{oEyxג M+:m Kȕ.9?"k.gKt][&[8']QP0/_O3S!Hbt+Ġ!q8G!(q8m R'r8/zV%$ Йa#҃Zx " cP-`{4 `5L\=}+~yqu,֮spx&$~m1~quc!U6 I"j{"l'nsn7 6σ{;|9:39E-}%~ܞW|/\tg_͠,QĞ8pA?5h#mCOع Am\#X1s8MH#}u>'A'5Y+pl$#,\I1K|h VV!G$[G怅vI&WG@ltyHh;۶mq*A_=G՘%`12"K4i2س-nYLg`#'YUwG&wZvhx_}ϼO`+4JbWMHFRG%!Bl"Xf<j#s`M!OQBDŽs&e!7j馕$eA $3t`  NQ"\+%A,syxs.c(1E>JB`\ .( CxֲKBudTE0vltM0X kRnv%'`NTRɒVfa[tW=ux/l}]jsvh|tknˢhik Fo;*w ^0M^{M^~qK`:|~&i/M܆f| Q44ʝSn.@)y*gkrXnJu?M,-U$<~`wքrTgݢۑXLdlmqm+@H8Jؓu=Uhb@U-c5Q)8nOi<i?Fz^&h| o#E+`6"b݄ctK>rvJƖUo.8Ȧ›G#yfc/4z~DJk[盫'cc - zIě0H&.iglcItrfFsgrYwUo"N# u0ITΛyQSi}s}%zG ̮n'q#OCźf2jjE[.LD:@*HY'79䎩`In_yuxEWC<{Yz|MO + ]+QoE>U{G_Oo{G<~Q CLs~ -VkGn2fOFhT}rQe^00PC$0g#Es~SI1 &tTbL.0\xໄ muZMh˭hhNo -ipؒB-9(wj)ȃ+Hm`D3$B8 napN!*KFYikr -ac5.u" -%ܬ. zz=|Mo }^P5 "z ,(VP91^\תZcLsjwXnn *Di[e]6Ǣ܊fӼ*_mqX[kEP'ph!'Kw/ObYds,h2Ur\ưmKyuZN1=x64۴G]$t>)KPofNZG] s8UYҬrH- b/k~ޭNA$uvmˊME|zx l4Tw~SDˆ fvC7a.5: -#h -z͎>&D -;ksk&ǣ^P1m0wߋ8WbGqQGbYhm (氮˕ձߦNعuyA IDAT7'Zt~湢~w|nzCzoBC91}WjgB4Ū -]+ d+ACAD"Q WRlG_$5rO@>\d 7_ΟL7>?z\7 f˃dCůw>xaNW7l_'W|zQW[٢CquU{-}9yܰM1Ƥ L101`  -YJJZMUyU^AL[:J\Tۊ;h@3Sbh BdF ;GX0B1b]kNu!zpw&ԑin>% w!P3ABUG̮Su:ĩt0Zİ@x+EkE!gOX(bt';30ڵ`9@xof OH걹B,F1 !L:8qQUǃ^ڬJNpj0:{Vk F@ktH5"GXIhk%\X& -yχw# -qGtz1UԂlȍ)V[k ja28F>{Z`{ջm[@ؾ@`nr+otd P+- pu8hX/*7:X5d^2avvI$ DEn ƯaY>-Ssx|g|]QԿuzlc*uA8wnSR7? Mu.HmcdxbU>F!2ݨR ezW*^óf8㻍Yd׮܆Bl +}6ul*U3|`VGfh@#TD/|?{ (YSn(2plm c27~4 ׍JL3 Ҵ]BGy0SF۵`^#O8te?֦h}/' -zcx)%cwZdaK$nnQt'ooNワŕ{{"#q$%DLYIE Q] [NOZ$G!qE!+C՟~ziDG(lR'h;̒|<[$ޱM~L(ۼG}^jio|mɠpR!ã;._EFtzW pd Sa %+kx/ExYt|8;$J#0ƾZbSlU繓%4;A (%Bns>BPhc -8cKE3NȠ H: sYmcz7pɮ?3 -VO `W1Ԁ9 -% D9l 03is0\BReͺs93TXC/P VQTKN iWZ;obb+xR`j)m$5uYDa]H-V*کEWѶ\xsU|S}[oH@|e!sP]]WMb ` n 2i햗X n_s+ݎX7(R[{ .wRo'N6aگ̢27b{נlfux۬k3 J\{3X޾D!nyqQ 5b \@CamnäULNW+MQI!wH8q:j0<(M.IK8g8j<00(] Kd/5#M\;GB 5,Z>C.; ;e5)hZûZ=To&~?=eJ L(| !{/GGKa+ѝ cdR(g?_>pٺ:=뺺oчS*"||y&*ׇMt`>:;z`pwe'h Mފ{÷?z87apo'wI/[@HH[> U\a;Q\_v]1h֕3YGF^n Jۥ(bfHi%T0nV'8 8R(fשh;q^c -I'{0XxQF~Mzn.IZkx&j(ڣdL(:cm+'[ $HPI睃frkVkSQ:i=.sM)kZGKAJ=ix[N8+izC 5# hOݲw2P@Վa 6WRϤzt<[߇ޝ~h럭9R4bmpHabuiۍS;[xԋuw,y7/jWЩ'~Lc!Hk9N8@K3%~:}'_֣zp9yG?l_?Nm= um4D.0|YοQ'k;ײGTX(R>a88Yo$0ht@ ј6A$D;4>2*gryh:b]WYCZsV0V@XJ7&.@A 91!W<\@v?;fAؖVM80ºGaWDkc@S5FmutKM̛r BcRoh7s-aĬ4_"jd[j Ćw5*++PTD:9pܦ(dUÈ2$ *bH:\Qm7f5G~=!4V ]h`pid v@kw@ᛯݾe~QmvD)|i<f!Y:Hh-:aJ 7;=$<3p!ɺrB ~sB7ϗˁ[FwO cp-0W9zq&W/>6പ"c˻tٽ8+VؐeT%d&4POg?gß~߽}x[o?׿ޛ_3+y<u|Xo yuv߳k_ONMAڍh"FadG87AlO-|XUbngm`gE$?,7- 6#(tpby~Q1¾l4C! Xl :/1L'uT.ONN"fӛyU_?oΫڝ0|ci^;Ob #?7oTv]u,7&}5ASuko v<|^aW]iN?S_^vˢΦDNcU9|'ߙhd}s,hU^1`l'{Q`lMCm7*5b Ғk%XUٝjZx+ PJշPȺi;h=ԋ苕L|{1pplȓcjM\o^GDa˵Y_vvձX.h:Y]!Y1So5mS.C^:ҾRFՠL V(W3,N^9tZߝqy8[{p}f;S ;lm:DgKor{ϯήoTóB4R}6iYlɖu4ݭ}gxsJH2IG,F~xEsA} 3zh+tWod(%L_o;91VOA?9B}L @ԣ1cgԏ"_Ͼl2cTQt+kτlQcN!*טTjk[1zj,Tt4Vv$&Q+0GT\ {j-lu!Y$#,Ѝ4FGc-@m% -( 0DDAx6dSrNtXcaPReԶB4Dʙ$r,X;ߍSos !mMسT#FoQ?%5)rm!DTVHFPI#4Y~>k5Σ_{W?o{ן?|}Zje;stۊ2b"Vh__|Ϯ7.J軷p0hȳ򅘃w#ro׮]a/V𘴤U׿Bb%,ﯤysh<[%zlG4Unjp[ˠ*/.݈6{j!D6-gـ_/3%n޶n1Go]<)-6 B\"kg@kz2LfzVnr&ܮ7\9{]xpa' 9e{fI) Qaiv DbVR;Җyjd ND#ДuhDT)1 wiBݹLNn £MN$04\7DniIջ+3KmY?[C+mrl*R:3+Q)r5) \,x$Ici[`bY wAV~)Fb -C]T20|~O~op_ۿJ_vظTYmkwyvG_oIT]k=o^?+a~? 4ܬ:b ,VJi0KMY֧&9#1G=v"ǠI&R["=L$9 n,ritc;sZW4o5pP"jC k0{2F %\[BDVtL+6R -D5#ч ɖ-^&\kJ޶4)F,0ځ KCE S,C&~G%܂ avLQ8K&׀‷) Fr$ $!$ ֊2#Ԍűs"X/Jcbn7]͕j9)?حZ(=u! 8 IDAT2͢h]!h eQOY,e[[qŃ>`1nygSO@R?[o>yRrYqh:"535v4-<*]i[bɲ31 ߓ͡LO`KL1iˡTV(}]KrrɤE Ia޾f?l+ETKC-{%鍇mh&r - ̇x:=ټ-vb5UwjGo|wozkiQ,:- 7c qcŢ`e#f<,q@9%bBlC'[؜ήVAj=BZYjk[1V"/u fU0):brf )!PBpR*@)j!-Ty:P"cBE5FmatL/B)V6` a[N|`2kR -3Vlm)jp^~%F\k;]憬\h`Xj])-uc9֖+imlkWQwpE'CDU -p ;i)ZBU뺬^3jrb>u6"e !G>vF֕X+jQW뼮+Z]v q' 2X-ktkڦ3jk4d9Cm.o{ݮahlDY{416@g굛/xP˫/izSʫuy[7~t8$~ppg7o~=Ϭ\ӿ~WxCm49A= se/IxWVU#qz!Y0Ӡ,~پ )p/=^5,c~˿b榽䣷w. ΚD)hߌC6y4P]8!f{gku\g;I'Z5֦M$,f_a$ -ZR6V'j2476ڲJ\&7ĜJm-:QiMz\=/\ox,a`:aZIl;x޽;o[\+*3 6|62ÖJ޸oiRaUI_WAFم0ZkdeZ[P[K =C!0B1ߋ!>.=_a` ӏ;UQ)e-0]ZiYQvZ[ϴ%nPo`uf7}3-Z -$,uʠk赞7`eJԍSBjpm`͓ƬO?{5m kBi)Va#lk'](xcT+=x K{w6.M=Zp%!40ɇ?\~/_}& -L|u(x]x1VgMDԅ6E!Zaiu˗H*J'=1D!gۦR0'AljY&0# 1A[4 SJUw߭ۺ9Y*!.bp ٴ)'&*znz]45m[J#= 8HA DLQ<< ~hx1IcukZwyO|{cՌFKr9D!)(ݷ pi [:yZs^ź]i:{a74/O/?>)yeFvu>XA0j8=<ŋ"S|S˂!~y)0}-d=ͥ+:ibW8uXs0w%Y4:ZiϪqݨN$0 \SU#UDwk}0 Y{oZ_d8uuv^]H0MlhJ+ZUk=46w5 Q06m7w5Ԫ;K Vf܃#[u~@WA݄$*":p$[Mu+9UbFsWuR0z 3{s" Ȗ*v"F!Q>Y@ur*<$U.h;A0o_lp8B0***7j#i,>3* ->rk8ƜjV}wUE/VZ5 -yzl7`\m\ px2?9=rsRCJ)nFkEwnw}]fObG[G Hu)Wn-+sDjw Cp (,čXuQ/ GN'&kKr/  -L"pF(0)eSlK@5wa+<^df0VAS7z,M9#u -or9ȷ*}^>~tb{=[xրz5QKc ޴KszQ4#kHƯMPz}uV\|W姫|Ď.0AN0% 尉u"o olգGfo~_9Z3S6*Q9eHLv<^'_hTUheeZQPx_PVQhQљ%`, 2;B=+-1:[`I~Z Ue -CI֑. {X?&[ Q.>նJvY!Cwе'35![*Wr-jQ?0-=mfun.u)9S% OaDҸ(J6hR ]jz\8"@5q'ϲgwպ9^w 2jZ0i[l̼Ũ b-N0.zk-7U޸7mi5րVk;07Ϛ_G[9Ͽ\jj!l0//VB&εd ]_sg?p!竧毾\I8 - 6$b7(Xw*>ll&.{<7bq7 $-Qwx˺:WߗŜUXzպD~E̯C+X4èKVe9E,"%P<ZDV҄`]٤!F#+S1++ eZ5[^dxnys^¦R 7LxsK[ wAP)ORC@!Wrm5BAW-p]n;Hu$iMH.Ѡ;u|l&K۰Tѽ:FC(7Q~PuAř'AΖ5Ϸ#PcnBZf`0hpa,tVp-WyVO4'fNgӴۋS^jT(H10Q,Qz2J}4͓K\;8ڶ68 -^7;eYk^/%[ -y@10R{*[5yCxzg|jBl({mڭց%01V>"$a]idu) -ӧoM5фDiGUMke;Ï?{߿NbO^O?bӜeK`41>8xW_Nߊo&#Nrt].{g.IAطaAX-KBUi%e VCXշ+a'(ha3($풐10 hUu%YoFai m4ȷb\4 du#n慰0kjgj+~eJZkIaV.dri\K+K}:1܋}Hzj`8;?W5^qTAǍ5;j0B#Kk -B@[P @͕ЉtI=9&jvߞ0FxCpc]9C傪s8Z֠:lw fƤԏئCyrhhZkŴ]\֫6?;Y zyQ;5 :8k%ZH ΕІVxܗF TͲnn&dP+2Sn'tsi6Aȷa#r̅\mc(E70wSh֋R`pN@FSĉh"CY] ;aǣ&wᅮ^ߕgti{'.J4:"o<´nv=w׶` za=gbIf%{v!hi]pw+%[5dI\Г%iV -VqI -L短yÇw6V чdҳǸ֒5$F#-4 ?*F -ڑwiwMbCvKhq9"ONA^i! -gȷU3{=qM$L"]V!sYtʦ):]M^ -L`__Ig -'*MFrn*_zi0ta[,rzZ7WKXB@zU$vF/Hجn *Z{@ - -|٫ɟOہx?>YFzh/N08Nw׳>WWY.!ll˸ɢ4,Fwض4c ^Z˵\z۵^;QPsg_o~@J9ݎ2j5ҾxOOtGQ &o,Zw[ ,A).lU^a\ f(6:I/ {1{݈)<2>5jڲA6{|V 㰾O󡠻LIdIEFX:j` uH"5 >0;   @[>ʺAD#V֨^9!P\5 "  ov0籼0R((cxaN-fƘbSm5hPeYuZYcų7/O0;aH*,e+Th`I 2q]:O{CFKψP9/gŦ`}kcҶ 4Dy@DG` 0/w_AIZWlĚ{T+ ;HAt=j_sIS_|ޘj+: w2+meH0Ⱥ -Λ|4Z^Jƍ$mgfvXv\(W$ɷ2^ڭ=*^1bZ)wMg9]rv4/` -ɰoh/_}d۬xӞrҫܶc$pV{aAfec+W8DQ䵻.T*s|lJeJc8Е@lY.ءj>'9Z׋]pIMCmߵB]\,́L1gK rrZM6+\& Uz=. ;|*VLF_ 8e'- -43o-mc!DV1"3&/RQӵy u#ʲjY^@`< -K:Hƣ0yĐ"g,a?&~G뵅f^HjMjkr8#Ҋ &]LNc 2@Agv׈p6sϟoٝ'oo? 97I |o<޻^'ÿ/^9%,Ӎgbhr[%c7cQ)O 0l@kz7qi{ͼ~E>LeSTOo'xnٰc9#niSQZIajI;lwK<=p >i$:êpNǔL}.馃~U [/[o?~xV|6u__݇ߣ>=cFɶ -?ՠÄe˦N@$$K4+ɼ܋d#[x5PjD͚dlE,A1 E*`l蒩xii7dSǣ`m -a$t84hд^,u|[o#kV<1Qq‚\ IDATUmdlFT) -8u1&FWWZ/qeKAmV!8CBJɈHQhtHneDэh\z[%u\{7'6 BkEOI Nl{!Yܸ-x)ky |ۍqI1Me:]V ȕkŢ]6_|˯^n䅦FAbW{Wo\M7yM ]~n\ZkתW\:w߼ȿd}6kU,$"h񞯠`*ё4wi?Bq/0A[R}hT%ٝ6OQ h)uIciמ "!E -Ʀ1L=01uv tv0vu+\VJ4v_N.-&K( +.!0vVf -*˹(6n913ặ%#iZ7W*`=ݭ*@T[b~%,s#uCB1PC Pc? `/J"!8ꬽ|_q㨛I.V3;Ecln 9A(<c -!*m"w>ǫ5xry%1IxkњVK3C*ΑC)r2j#ۼZ/znVƏTnWU#mX՚~3<~pw8L})E=Z7 Eƫ-M<~fm|yul["DK6LG??={CB9l*Ymfy>Yݏ~HFwO$AcbَoӏkF| NxTAȉL\t٨HH|%^T} '^U?mQ@0yK8 x0撜5zfDNkp:;|ֶP9"i<M͝ |["&A.$v``Оu7sa<ʵ{?8kr. aZAqo:ai+c\ducKQt7M飣30wU^E훭޽^luWWMu !^j=I4AW 55kmv'ϗLǪ,%Q "#w{֗+Vgtd7WkmX%5l|Xׯ>;?י>LX;mtpLT6ӍӣQ+kkdX YILP9bMG֭ -zp(0Uʇ޵`u,9w{I|K1AjX+׿trYC)~\Fd[aC.V^%~L3W0FBi^$|B.&ғI$\pdS)@l - -,NQp!ad$fb"!gEnA.sەq L҈"Nesl*.dqhN|sY?eCh)¤5~ݮjnmQv)jLݐL̝5/h chY5&sFa=+oAϚ4wwݣw0~ણJSV͓7-~g_?.ou=!OofxO}P{nG|aэpǽv? Ȩsyrո/h2]=/lOz=oʔM?lPZF}%qCj7_:#7x0 DAL1 74S\Q7\D+8L5e/?y}헟?vB0)sv CN,;mKSȋoJA6֋EO&@b _#qe""$qJJ޼$(ywڭjH~ꄠ9&.79VE'(kIij :aHQ-r@y`€C| fX-uXO.-S -rf;2  -G6v,E,EMcÔCDL@juW,-}t HEf -A.wͬH)BHDdY3-,AQf#C;7Ԫ4ȈpEZL)>Z#0DʨG:p'BݑGz XUzo<[g[ -8g-<]ٚwS 6Jhn|lkX,folβ -|ٲ+1 kp=74`29"EmI]~b,Wiz4KmS$g4@g^Dz*ܶ2j B>PX:z<:Vp_p$QRn6r2KgaOP~o\pbU|QB;[ڔ0 |Khj ~1lLEt2ߺ^y -049&*3&7q%FyDx,) _IYGQY萟DR*#A0#˜iv][+en}vB`tPƿE9wC腼LdlLI{"0e0Mi@@V"h5WY^_lޖ{[5KMvXv5US]Cײ*~[oPv:%|v~yHi>٧'gz2EA5Jt͈Rj_hX~_~. x՛/]7zUmGi.TMDa(v 1dO?1h[yjQ_ ?|sع|AOO5 NA  v(]Acp_<2'w&@%Kn^i!X8 -z ]c -QIdQ[N["Cc Kg*<yUrkm81rB2"6XHu@B`CojW3%5uiM">B .n-r:{jcb D&a ꔑAc- UITlyA:qo/oo"w2cxɣC2ny|jove b+sB~.oa7Jv'&Ia썻a3ͩZCÇ><!4ۈo{A5g7uZ-QV\RmԷRFvH%sI,=tǹА+2MF]̂De.b]ziNh?FG~!K"C@|, J+4I2f^)-+0xC#zzU˦m/'#f>ip '!<"csA_hJ?D~O<)n(RǒnWg!OٛݶnlJ\/>6FC(u =:iO,ͻJX_T$4>{ݍru&G48+?7%c<_cv\i|WA};3h&6R ;@(`!rK/D]P*BRv#D-#hڪf9W/+C!;ļu%>^un P 0Bd#AX+eFUM8$@^ e\ +J%bA= Z:< R%lZWm^ -;S; -G0Voh`hlԤtE\yByg<vrp!>;G0ҨQ8du!iR'G&ggw^0);f ];Ի* $fzMFr!' -97vո]wK xLY!ۼK'MB5z?o[ƒ.#Im749R aY Ǐ>z0J4mj]kHAR ԣуIiz~c;OʯP^U-p<=6G7ĉɗ;vE_o/Xu#oTl74e.^k4 (n3hb@^6lyl/ Ÿ>>\l8Ͻ`4 Hb IDATju{Nhc^.`G}?:HAp{}mf:A굍WLzuO:ݑ1zRUwǚ`8\{,4wҩv02q?V` -v5潖C'J^h#>3 ݲLQט0Gh#g$t3ywmN Ɨl0Aߐ- "7]QʓQFVn[&+ut AD^ߕfQ0?SW-Em;,V2YpKtL`eߙ$`<2A/ 5L$~*!bPۢ 8SM??OΟDJ5Mh G8}4gs<#LRkwnmKxx[')4HZlW6 _7IUBnY]:_\Cm]<(>nR -[݆ -9 B@85a6t_b\?@Ao!4$s)Э16R@^۾P"(j Bu-jɡ ƹω 2O)b=ǍT~aNFn4:[U6س^nY<v7"_lN91XJɂG6eElLR#|/$pKsX-@ȂkӾޱn_J@s ]}$Hв)0Xj#h{L/͂ _ͻ?ѹǯW|郩gxjG:8`w (f^9ڰEw~2*xmir?>^vVzom0A?'g^gGLL[l?TTԏfx4'2Aedz(H9j1ߎj˟"K_`iW^wq_DH[zNCRa,xqYkBx,o$\JuU3EvUdHhLR;jMLJѵo nFhqf9u :URJӪT5pw]$h^n! ʝdQYr8fV6hX t."=.ޯf,$IJHP TR ,[1} ǀK: &y`P1ˇk.MA:= PȞ/+1- ȧle&Km-U'+7E/;+Үsn)Z,<<|'Nfaڽ=9Tw -A'CU'M" gU]p@ НA0,!>>f KNp#Mg0t)Pot'\.Dm -ȃB:(QhH+)X泍qn[2ƉĴ9,~[tPfX>O~2>Qƌ_C?tvxd裻04}¥[#f%K3k͍$8NqOE&% L&,޶ѽ2?et'mûd`K|JE8cB QY5CkUK5QKM*W#ƛ2B"Yu$!^lwC8M؋w;ӏHz5d6~)\`(yٰMo̐Klkmv!DR`O /MC֯8CmkDAG1JFcM zk=(A `ɯb]ad\wzP D"xQC(bxhB907 -qk$hhUzz -(5 C8@AbC ]vd`C&ja|D\u1 X: @JA\k';c Eo{q17?:0B0"8ƘZVm# )x[,ΠZhԚ70j^<>5qf=_Q/G6 9uyKYȁwfzO>{:9m)81Rxotoڇc:9Qrc-zwX﬛>~2Bk}d¼lDrɪ.߬o.n. A6U]|{_.UbU>Z-8ɠ7^ѣͦ׶Qµ^89v4w>鰐gZ>xyz]reH4-)fRRh)Z H\吇f -858giY?!tNN]YaX8X֫d)VoHʚ(u!P/BnB,m/\ݾnl -bqCeA M,{G\N>Ç/رުo6]ꮼ&^^Qν]_[ q}]?^CuI'E/{yt|pO6%!BD2hm>0uLAy+1EcVwLӂΧ!kNG'tvJgcP-̆sD@Lڤ3V}ðońƼSU?b#eפm$h `o}-֣fkT!JEl [Z3fm:&.z,[F -ޟZѐI{g׊v!> (uR*o 09; J k h￵%dkA{&D)^^b_ UE{dB֏'ܕ)|ƉAMG m!HVu݋b!}/ H$Ґ@H`A5]A 5vY1Z -W,YAfB;Enb Xa25Yh94k P zHj _ v -YBmjAjy(tc5%ck"l DcL24 %1J `r)kP}ۺ)/Mf#r44$@Lp@ou0$VFWi"YR{;gG8(GZ~6Ɣ]8N6cF mV^Fg7(6iaGv.,xwΏ2e]sE.U;e|J4Eaa[pqŽQ!e8j;̬w czF|?C^1GG$(ޘO̓7qk$4ed:Nknþ7h j%=Xt OhT$&kENGO;e@(2dv6rITeT >5iZ[(P#bӻNtTK8ǺAvڄnjId͏u$anlo!F0q%yU!?yI,e]'YsO2yP7>tYJiof\+0f8jf (`cBI)3.LyL]uZJh,((Chs$.h2/Lp@,ސ2 ܞq)"hWvh6I3(+Q41i߾ #ܱQy2$vo6;~0>ג,:<|00<F*Ћ$㣀m_\~i<%KHhዩ Bp;p-\YUb-][ʭDTZ3 1O`QFHi6~|I.ܯP!T < -AhjMe@NB`-֐&:`lZ) 4d@ uxB8&V|s=}aI͉5F@Y@,Z(,N l8N 0ЖdעniC }Z^0N4ٙ@*\Xm%;z:/OAİ1bJqG OPԾ<?&5p xP׿Y+t7-ޝN(۾Y7? >~![ylk (=7/&w\}us]?~m{fgO?уg۫ˢ* --Tk6<Ǐoi9Hf5:ԓeQN^m̕*}NvzBevIvR{b)9;@@ޠv$vؙ 6pcob IRwL[: Ñe:iLg!Oߵ g -T/M\ޣ1CCqߑt +si IDAT ,3(  [=Mc\MFٶ|Ps8ȪRx`iZ/ l'0:d3;*GP9%=X{@HﭙO8ؚ-nuAb 0 -t~{~C:A'1P;ǘwE[z9xƗzԵ>A2Z_~j*2GdmЯ wpcDq6zFqgԞrGg#w̏kϣ+®r,?9>xβy>yrɀ U?!Q B{("T3Bt$`Rڇ]b`gca ,B+:IzRc{72/[x_Ŗ*^qc2r!@7`P灄AJV@0уUssacJ$O]92ଶ@Th;j`Ɏm<ÞtH?AcY =\.##3geeq;3,˲H-f@#!a;3݌i7UgFFd{swy0TBFp@ FB5S,7@4)6;~}m3iY*Myv {{Ao[˄ &\6 $$dMo94b.UAh_G`X`uSB%%Y#!2dWkAMLa)Y6or#GD:!y|qzټI';nKtmdZ!YjZ?~Tlo M˳̄`l[amԭ:bS/ԛF'w"}qP^a\F[Wwo߈f=9F YoUBNj)֧^9Y(Ԫ.Muftbj)lE6~[gW*Ͼڧ06wqi%uͨsQ=$.  AJ' j~p*K -бpf ʛYy17AX k0@\7I+5tX;zzz6~ά(bCcEUd1Dm݂!DRCq꫼%0%v"s^06J`"ATJ㱏ZD90!妫KNئ (1\&j95zW-Ў#h1+1Aߏv[٪]5n3ՕU P :*=9 }"2I/b^lގFH{uSmq߽v2>RHTv>SMh?Y3t;#D7]mg匔=Ϟ]|룳NG?7y\vޕXȵÝ;Kzw}X7/w^O[V̕q;|Hzw$ol݊@3jޔuO>ԳVtW4\2]ι#"`- jKUuLm݃MƠ]Dn ނaa*B.2 m\8iaWρ17 -TM7(QxX!-+b;AUnVPG˴#}@|*JC@DB /\[+G_ͳ~}٧o߾X}:,ϱYou#4nݹ kPYoֵ{[:h`1dѠ5[M:'5 8R'wHu$6R1.rDv6 d61\ >-X 9X |^uOsw -oE)O7iIh>|k$/ջryZG_>D=c$߹3ѳBοRn?}[E[]jX$k7J* :5,mU_kp 7xѿI$Sɢ1@P 9ğ%ÛYW;nmHȊ}$%<6fL]Q<|JbfV kӖnGzqrt0G[JwV2rd-GҷU=ʣB1c=ZЉZca5f@T>[/ϕo&FARH K >ye iV -C;3\M[߆VnART6hQw"%URmJÂ-F@jXIB˗kB%0o!ul<ê?"RA~--h -`pyJx҂csH:U7H /x2Pz,[IM1.o(0<1{ԝ<>=h$PvLCLTEΦs^Jl!6ۓCL,| Y%ҠXӄRn){6B 11f RvŦYVN-=R RM"tnG'M%ص{퉍Ju++KuUy^<}v>T{gw&nkLJףP'hC3rzwR;sulM6Sf?m|,|U+~6DNgV1W ڄYѭWz -;o!(!udM.MuF,响r 4PիF-ܐI"Z?mwnftyhy+M;oC?I h=/}::R㋁u f.yܗe.٦l{WuD=;elHQPTgKy XJ*]b2!:Ö^Q&I>A iI IŽyPX&k\)6BG儛MsX tgvj'1@[ C07`<$Pژf9"Kt`X6&5w.gGQm5e1E<%b9$)ymHRn{fš4XYgjavUa$tVT:_7 -&솉^"zprť}|[/ck3] R_p/rnۙL99J l jwH0󶦙xd*u"WV3bT;Ndj:O덲e܊>Ap?k?=}:ok|UTϬˮ9.,HVX]̢Ӌ8~*||cxuэ4ϖfRIMG3Aڥ6 e) ƥUo|N24A0H2!]-%mF%9(`– i6Ӝ@5"#HȡA3QU֠SfCy UkZ -04 $h 63o`6*MG[=8HqtdrٹZ&-X R)K;$7) n -g-}]L -JQnLӻ%-ױPЦq{.R^*I(e IH78!7;P*YcZi6{NUK} ]kd d86(3'Zi:Ml`7G͆;ߑ8Md#Wml* {w{{v)9~l[^7@ݮJ h'yORY&Zٰ\j|7EZN -_hhp}ѧ?㗍39Oۋ0\Z5| FNX~xc/ٸk14O>mOaߡ,_/IRsAUҫRA(5]^"柨ȸ&޲/A?ngaL+.~œg}㨵1Hb;5']Ɔ u[+y QYJm%$ӭjs`3KU#;^uFf.pg? ,(ۭ5'V31ڎ{ I|DnӐJI& ͛r&gar"40pmy9A86 "4SUYj -ˡ47hG6l.Y - OfEF:XK#mmg_˿9WO?{k9_{sD #㶚grcdYe^q#` M.~hj Q2Ff=-렦9no9tg8I}o1LxWN@Qo"**PӰ(iX@Z -4jtec1ͭ(5X -;( Atȴ@df+xi#)i2gHhzjDU#X9wZs DEزH0p !UJ+Pj YHaGYDDup-h@`") AS+ t!LahuvZcepy羽s '#J -Uk -,Eq*oT 4x5s sJӬ]M/ fVxs.y0r7V f0~w ҝLH:H4c=j֥E=/T@З)M\!k1 ז]nVE/pjg^bk2 d"[up@)gxK`Ai Lm>"狖_ -6F-`@J13Z$tFWճwMK#D??I^cZYԨӋ엿hǡwo`(q4ox&MZ`e![泷aQ+P%)704Һ^*@5օTZLbCi ZZ2s7+,txEsZTfpEۄ71A0j  -F I.4D@("DJH @VaTl }St -mtrzrG^-IxY J42 ,LtU#h7ED3=Uϗ aw.Pר,`>;%XPe`uzGĆŗYԡWBo[닦dZܿJemJ5QS'_^鵽 -FٓYzن?9 p]}vsp}G0zOޚk/_Ԅxc| 9iHo?okL>UFC+YM^zY7.99=GfLʜ6C ULU@&9KJ:-0^!M{Cg͌ԳnxV-G;w:1Y$1 8wǯ~cv=jduv_cXPiU!ezV -*%>U/62tz.q|H!}gٲ Z3ms[Bp1kjGv:TazrcpKu\>TuFhUkKNdd-\V 'Vu״< yJ%yG+wEb eC~ ԝy=Ld: b5=tc,i"'mJŌ 4v궾a$bPKT8d`߻ G*O4X&XdXg LZHy4닧qR6 HtuG_.4 -`T$:dg=tGzolؗVI(3{x Dz~/Xs:792Ɔ״^$yӿ9mכ.zBIЫro(rjۼuۙ;t04L0B\X 騰1״sPuyMnF=Ӡ".ێ"24J}q'F|*ZqZv3aVs Spmy^Zط/qb!̺.8[ŠN)lS-)Rb)}-Wʖ -Th@ -XZپpM"(^O_ݗqi&\Ȝ{T9nJ`P)Z@ lX8hP)4_*ZAF73(ʵYu5Az:&P -۵vPDh0`+h:҂R G=cnygsosG[ajNSA[:I;4w'K]ݶv -gl?^M3`-0i<-{>7 -qߞurk~yu6:MVO0 X˦;yMl\!6i#^j']&mu2w!/kӊi8Xk4o>{vdoWU@ܣMo52aX%k,߸7 IDATj8#v2[Ȕ޽]f|30j>4HXyا Hǫv,|r=orv6 {ʰj1=^wm_׿Ͽ]F=5$/#3<gpd-}<#zXJQ}V^m8sQ^Fw1TC{||$Fd*l4`g迨= -+EĖf6zcV>z=T H5b`!:` -䷝dLk# 8wDUق"ͥTŔ5v^ڨsN ybg][O ]]g7ukrGƇ=h<1L,CKRIV^\V]S^ GIJT$Sڀچͳ#maHPb$l}GNyqZݤN|%,-7-(4&jNN6cԨߊt!p=y50|:j^gjan'oazEwT+z;-&=DᦃM]#]XݽV4ِ~UzP,16RVWRAmEj>Dū$ { %i;hGI\fZxc}UEҕ$Rd# - e! ҅hE&&0,+jd24A(~Lm[lstճz@p5bF5yΊ hqІ$cU\q!B,o^2?˘E_'easb Y3ڕzw}Tz67`@m -{U+¥}n!Ra@ Hiz!UPj)[m`Tr^DdGp%p=[o#J7#$`5Dȋ-DAÄl3gRw32APHuwxʴz Aҹx,*E9|-̅@o/3MË^G7u^T^sÓլ{[wzT*lsnwTldžv~t5ᠺn/_|l;T:KYLX'Dwx ;/ߘd߂k^V {YG{Yyc?i¾eFXf?7/lU L$L"dEnUdK#B|>94`;Wi1;c1yօzy;g׿(>E"5CΏQD.кuvlBC3a¼8aOZb@J -pb Xe/{5Kh`oTW\XKlVBPks@2Ƣ) Aa)" 1@4>NO%9ϑkS4%Pk= bZ!7Z"Nqr.XZ1 X5d"[3- 5*||2WݢFQ"X۪&a,YE4H'ldI:Mq@%=ЍE I@|VtYf~&n)ۥeQȵ"-ZW{@Ҳ\z#Ѭ|BϟywɫQaOqϲjqҴe 9z_myܽRD>Lէ|o4ȱV2n{~Z:KӷlP+w߁ V'5\*?v빶IX-V\8{az={i<VTx;{_mH'D }orӭv<4׹'h[ܵHYo^D{LZkof8m.N_oHAYḥ ;3XhɛTqOz墿Q֦tytck({`o+O.@Y- Zx]ۂ!vj( -lb'*R E9F5#kfe!bټ{1ͮW\7[pHLGRWn Mhh! 754I@J"Mg6IM\&KEW* Ϣ2DHe8vFSUorB'\?nyD'r.//֏>/WUi_>3/] r}|Rs3$Q`<<`L=AnW<{G->kW9}m; _J̉?j:2 6터+7n1qG}?z[vO&Tˋ_!buڴϊ =kA}C4Ӫ]<]OL&K0%IH50kXcHH2 Z%:a G5;ň l8Y 1@`HE,H4-bNVo,5e(fted%%Tgi3|Q:0inOf}o-"0!?zz9з51y}o{s " JO?o.2D/+*rh5`FZׯD٩.+bF>`蛾E./\̉g"=,@O7BEڶ&?:M68׆Mbq 9ZZ1nVHb#|#rvJPӪa`@%t!(4۪0ARݖuK;, 3m4rKaQ'Y7GY -%U*(57r\e6Y!í&>k6z&glS_U9}Nҋ74N; iYCҢk+&5pA21;rlf]UlXQ{_᝽ "'Y~ߍiJjԤ?͗gĆW,Za4Q:E|ldjP$A1g%+@KY^LHE_~ L-;m3 -oorʙfmRdvMx惛ET]_8d/WoE1Y[Ijww={#?d<%]{0C7'ESٺK(uDBc.m쪌-,R{_Y>'Jg 2,+tH! l5PdZ: /a9D -Ey)9 M! o PjɧD<i'οI73H5n2Џwt&Mչ-CdhyBAli`h4IUG-qp|3{{A#`QC0 q* ;h`H+ #Քy=}9ͦOfO: =9].)JP vJ@zrQV{aXtB7Yq廿/^&!vs5<ձJjiN۸͖oe,}f9Ao>koؕEA Ώ<߽iKP':}H=+l>χ󣕈Z/woaVr_IW`*Vh 0Xܖbq|9?śY^$3>ec3X$8q uqG}s#VVR>ݜ<ѽ;#2q Sޙ`%iVV}YDW hdm^%[ ]z{]  -7n??Z*N'A >8:NѰ]v3TH/'MIpQvץU; -L;VIXTEx+]f&.pvHP))b5sZEEìF,[ wc lj{nܢUE4I,ۘeA=8 JƀCNCŗ1?gBQO )~rU\9}d[yȗ wqݟg9tGw~o+ ի'_| ׯ?ۼʳ/?seaHȵhY/wϾ{{գ~?~Ǘϟ_, g^?$w{[߲m4OG|/?oӋg/MF1bL +.{ɏ^_Уo[dXġ58 -]D476F 8mTy -cБ.,}y/[kԞmȐYi)-\ "|hT'(MEȪ2eC%05J #-[w1B]AѬC*RI uVLU*anHph@BŤSZHNG0@BB)4wѦ j ^!V` -W1P+RM 6 9%#Z7U\ -8;R-]Z~k[:@7 n.ycC(Pևez5mԓamJ}wЉb=E:3YVj0fs9n +.4N"]vPM?fl1I"~EfYDfNݬ6ަ]^l72o[n1gQ w̪)V=}M'[Bn6(/7Uє-.^8"bu9g{byeS)<=`\N24pR4OV%ru4v';EjT1  -E-[CNE]!FFFnqx%l ǢJ|v-c׉+0;i"%v90m%tT{6dwDQ"W%Z)f>kbӵX -e״1:ݠFFG4955„$ ; rYZ`ՄvƁF#0 \*EU2tUL-h e -sos z]d-Zk < *bO \nZۻy`wK4u<;ݳG+CMiOhGѻwO_IZ`Hwæ&uV/fuKW5l~W/uY -VBϳ"oN T?{=|BgZүOzo:(hLxmGcP&ݞ~A`h1bh=q5hڀv#%zݔ(m___/glU&#b@t=0k4Mp 8e#{fPPi$HWL V@jñm֤2jC"Zڮ1ғ@gda@x,rDP,B Tpl$+"n`5P#Hu - -$-MGLelWy&p̓ IDATlciCR`"UjZA4VBmWHZ[U+nV~EFBPbSrisyBy}])AoڳN8Vu%>a }p_ڬRF.ك, N;cUdobu?x{xL:)߬?<΄Og߹7}k'Q*=B+n9$b:X1> XU ΀*c`>v^҇c\p"VϷtBoqQM{oYռ֚cJY^)fV`'WW_~V"ⶺ.{ѷ6}if#vƷtʊ( vWXOaMiW[ڬ-u`7N=x//:6)o )BQ+_l<œ3ؗrk/G6᠑'mpg3H̳l&Kx:L;ƝZ=ƲkLCr6yzZ5Ӳ? >?L) B- --J#59v](I[@A" -T(x QJ[nS۔vXbQR8jQ[rJKnu+AԽ͕* 㵡.d%+?&á?luf0@BS:Shp䉊wˋ<78)0HKH - -JjEm囌'Ҩbztҭ3]ߺu<^|7#Gr<0?<㮭jٳU ٿ}w>9fQ,NVEuvź'uE|CuE9"ٶYD9~ZXu[fټ`4&itBW?{Rt8%lxF^Swr ռ*ESh@&MֆD$ -qlh2J4Xsz@CWsؔ -q[i!HPs7֊@ v m$A ZX]cA-@8" n >[@Jmo ' *'H@J@ Yt9 'pcZ#F"⣦m*L J͠.D)PChHn#@אS@@$k#Z,V0;|[qݠ{=-GU41pIHHNPp#~"o.}ϧlEg][F7+Lwj.I7^gkzwZn1߫qoZHE=梸=z&o|q SQ_=Z4:ꗽ{=YEWާ'ݩ?<HGj[߼x\28>n~7ޫڧ0 #&䠈"I-mHzDrǙ~Qq.{$$Le+X<X*Gi`aw=~ vyE}+/I^jkgW58%MP޹_g/&#'_ƦFz'>͞)63 iuDIێ -zycFugZ0C˳js[j/*IUh}^>ZYzz/^qEeh1STLnІS]tL\ڦQ6׺VrI 7?l'@Rnqr&1E$ilyf $FN:]㯞|W~駗YgWq\mR ?[{֛I }($itlx8QгY$:_i{p?$T:.+67"j{wMC@HQ>Zevt. do>Շ{ kw륌 oZ魻euWvC󸙧Ót`ti(JdO><ۧyujuD."SmP\1gByƁfo8Yb %tXA  nd CVFBXj΁*(Q!HcDQa !Pµ`]B 6Tnlfgp0tgchzMC(53fmi GZIEfPe` - Phu ְB bm!BPKeKMo=B"1(0RlGS PD.p6yvZ#) -'wz^hK1Y -L*w og@H`Ib9v=6-P-ǭɁi6HmYA|=>$36stϿ,lPM~w?0NJn:ӱ}pC:b&77-Y.̉n3'p_%J)22.*cq]ۧU=.7T_5l"&tV%lpTX&zywYߑ2Nd(MQP_peFB/gu )V i^.IOJBL%e=x20r6Tm#4~ UR7Ka:hI[uca+)ν*'v=%]7^jA)E&]^I6fy A] +$uGu jX ":V]K0 h;@JpjFwԍ Ԝ&a, (T"؂R!tH[ƕ6ͪq:Yɘ{?xxOL{։B׍r5$2t.7eJ[uwz/+jWCZ-yQݪP;p?|ցtc;q/~"oye5O@U,ϫG8*!Yz곯/*$No:UgyGVţn^hBH|Fk 嚍=d:*$MĬc(^x6󊔫zrNqV'WO Z1=9Oḋ]_MlP^*Uj+ԐI hr+Q'Q,!:=EPDB`1_kPC@u ji1)k ,?P.dq]LR LZ B "1@I8LC,Y(EђysmR`jLpeb94 #;cjtTc"mCD "$#Z)jPh!TPa(5`J fbg;Yl'ڮ%:ĵ& bc ˱ (' | s0Jmע&^xVz)r-B]׫ Yi-g~q\VYu6IL^@_,H_Wg0Ĺ`2bWhzkr}쭳cLv~<{nnf^Tx2>e@HByR*oUEw(CG;z=~tT~q'_|;9Y=W h_e]Z=Kcf'þ!Q3PsQq0 i0PY̮g8k8I,T̻]َ>?w3͑/ET"S?Ib]do^C:߶m:cM$?'00YH mĜ/M=ʅˤ -$۳2Of^x+1WWOe6-?xd~4 -QS7#8iӖ5Sm^ ٬?9 6qSnh2ztv27ϊiEx'~K;UQ7Ho39%*4Bۦ@L 2Hb X]#hQŽ4lhK4׸e OI95L8h4 @-TT%4@٠>`,U "1TvdAMF SMBQ+{ǒVn8 VY A0^Qu#JIƀ) -Yc*91@0.3%EJB҄N !t`P;) -51@0I\55 4Q ;!eo-:Ewb?=/qE cڪB -}yA͊f[6u M= :1˱1.i`~ꋿɗΝ?5۝vsEo^ Qkd,gYl}vNC6#Y. I(U+p->[͋Oe n'6_f %WWjyog=3NfKJ¡c -k &ئs5&uwwX}˅j4-Vٺ1M'Z8{NLJRPYC.ŏ5B,v1wKY|6vwܽ>&SMSa\ =Q޷ gZݪ{?m! 8S`^fei7[}@5TYl[uy#Oh׿(˶6pb9͆=L muVie)>PKk)gbvሷԶr9qaT[tȤY.)88*541t('5ܵČ Q^pTe@[*"=%0aX/O `,Wϯ:6W2_m:ݫʢ ^;=@]'ۍ(lB鳽`00U:_<ցmU[iE€ZRB7 ;u|X *FԐKW=ԭp< i\*HRŒhSi-8`*Ƙ.5>2|Dz%mj6 'EA*p}#40BӞ$ -Dqf@T9,_*21.+nN -ρȱLqe:S+iVX*:zRcq )ɑjPA4Iܑq IDAT -4c@h`$M:oQBX_7hPz>pqODž"eMc6 1p[dv#[{h]bw~6.uK$'5Kw;3{j8-=_0fFy&ww!1wKo;jZ@J;l2Y̿ǒL]$Zou?G\|5^-c9>wJ͸Fo~|gF>gTϷ3?{ -yx?-˦B0B)Z`HMZC2:wj DHur ^p](;+UʪNm^,t9{CmY.qa9O|T̶Fyc *nu:]<1:rd)i8$TyC`5^/ ܅Ғ}woų&׆+7<$k8S*(*]?QG]>_|EI]m -5 DXx.6\@jxH36#9RCF Ls3&EźCh ^bS{Vv68Lu]]+ˁ+5b:k8[R I``⻆2 2y634 r/tw~(,@or`MCf0{IzMbۍ~OH6`ۼ@zCcd -v c*uY^'%ga9[-0b4LA*Ul;;gҚ7ݫZ`)>/ZKWnOQ=sF(?6}z^X8^}4w]?ڈD䡝u&s-q晼x<8}gdci,E@j 'bE# -IS%6qJ``l*MCRҢ22@ ,q[khje(D!M5QnrWȞ&F5D9b#l nUp rTJC1ux Ns%5cZV̌NA}r -ָMǪ]  jR8E0m3ԜeCژќdL1Pt -C1irM5M `G 'YLڽior1'zVt?Yys7 u`~8„a#t|1Y lw/{u=8 .nr =y=V/pOmȦ,@<{IozY,8`tRߺ-_|̶ =cr"C Y ߋ`|K[};= _}o*۳R@^ejL[o?xЦ=qfn -\_|Γn#= Rt[БU:m=蚼w h,;|wOo*|Cw f0C8C -)ڌ"\IEnb(@t7Ц2Ҿ|]o}ʋٯp; A#X4EZ*oW7l:{8Za 6b%mhm~Z".CZj3q⣲ΖSWȆH0t ]CyGf?aj\Sn8(=uҳI2bMqGzi]*X-| eyڌr:6:V]+jg܌o~ *do!"BZ& Pr#M+$$TROA3jkjZ]B4T*i# ̮-W ,Z>F a,bپ.lJRUsLBܑHwjf; - a֫E[rt1Nk7`wNyaXAZȾ{exyiثCs-5N^?lɛ՜~`! 1jjD:c=y˙Cb&ٵvl6IwۻqbHDy֮,׿*V{N>g]5|ыATZ^/Y%Gñ%<?\Ng*Ρ;VR[[}TlW2W{Z0! - GkZxF&L2mYx'i]lZd۵jCE<bB9[$ Z@QB A+ltT3 F2(cWkaFkQH)2v6-y iVH; tul. Pk`zXr(Z,kC17 L"h:.X ɵ l4'BVq#5JI!&i*p!QQB -5B@lg<֪FEA& 2Fwc";ev{dp4icfC_|w4>"n.X^;B^?Wm4u|izyW//Z].Rl? J|kt0noKXQ'w<X(Ǚg7:fLnBaan0=~a?&.~i_tw;l?ʪ../ͼ[R|j<@Qy!!nc 7p##~?)_u#Q٦,jmG{G#?4F/D^.oIN5w#Ġ@P~m&-PD[4CMޭxsopݰ{5r|uwIr+.;gQT7v`,.vPoC+Uedj3n++y"g-W*9ڌ0 ~Æ\ @qDJ@I+`D5'hkݚVu.G]FXU\#lEPE%-+IC#y82sA}mYRK{qA4=܀Q4<DF4^5麛#zNлkg˺|WԮuivxzQ .nVUʂҮgeklbcFI˪@̶G~V_*{СծnHvY$s k>.z - -R*=+ߞfyڬv3A~ \6,xs;6:~Y}0@{t݂.ⴌOo[E_~랪xVN=P7`ӕB` 6҂ʦن@L^C:4JAAU!* )J4F@"hR @h[di, -lRdE -Rоr,R/?R._aUhkAa]@- :z!I_ ED(]3$4S .!A@傶M48im +B1אhKㆀ"C+G5XIFPR) lo j~_[yHέ̓O?Z^! ]\pS&8:luCX~Fܞe[:؝Ň;KfWtd$I%]eiSN+vbLHs~;XT$vͥeyX\0σ{~e<|ܼᠹ=U{AtIC# X5[ vNj"]_<(l -Fٓ --y=)o!NoCi zV,3oJr#7gAggwnTkt'z͚O'W~[i5llBĆW3 >2T-3ѪMqKL:-%d Y#\kfYTYedBu-ʹtn#k#u6@ -n|R. *$P"Λz `>B a9{澖wau!PՈrd29ipc_R+ɉ]Hx}qw  }oEWoܥS\Fw8ܧ'րM[.$N&nu^U=Iƾ-a͚ٔ7Ysi?:x}/?${텴Xí>˯+ݵ J/gqʎ?+7"??s컕<[Cvg$uj,]k)ηա)"bq(&L`Uph+c%`h1љ 8;Y@}hT\"E @4@n -2)%(Fc¢EչBD)5(ִ&2UZM|v|"" 7e 5`%.CCZ  -e -:Q; ΥC P!$E Pupx3C` 0 -^myKr-M$Ik5EJ$!R -ZL!!C@^5%)( + 䴄Zk@\ĎP2uWY 1;bxWZ$yVImߩοݜͶLtۤWL/9N*XJn/qܭBfkA#17kQwߴw_p[yAYln&y }z@*[k?Q;ζL?ٓgvI/E7}Gxu96}׉'۴4ZJPR l1(z˶z*V//NZw~__IK;}'5\nrh ma^vwnc֘9ZO}s l۷rӂl`ðc_sh<+p Vkn|Lh%9UJ:ͻ}hLe;2@7)ҚU`qgjE0DT~[e0WJ7fP - 0r$CV(5sIYKLj(E$iryK]ygwP(swK؄Xf;o!{+`䯬uRޫk:|ƺL޻~;ѓ .gٍ졢5 nt>wwr+vK5-*N 8En'Pڸ\֕R}zU4zwiN<+LQ[hX>NLt6-W?mcp!Wi-k w8xϿЍxv:ij3zިŲiHvo! f5HoZ`G[v)ƸXp?v QFa +'o)_pLTcC.(`c`ιS -c -6>(Kh#L; l+XH5Vue# Y5X2i !8L 4@K 6)|@ 9bc[)ZBu]q!VKdc*@'EXq cT%0Hu @TM4V5BiXruHSkiA0ir 4a(Ieqڍ*l`EG3t mNw.j=oe{rVlڽώCUo ȉ4)=^?eq'5XW77?X_/%>m:C0_M}u~T1h -/x(7IUg'۵Ψ+ES.Љ;(:.禛@AHtN:Z^v}Z}Z4n׎bNG/M>#Xs}~oww#?:(֒uv{dy`ب-݇ǎmBw_\g<-Y\,˗yQ癎(>f ÷ywFĵPJu]\MMfqpz0Anοzyq>OWߞ}lq cw ,Rhe& iOzTڼ?]8bG滔a2}MuTvbu}uwN#u&z,A҄}kUrUFaY;J}Q&1YCR+dAfuX i)~ ^Ѓz_ b+ǘLԦ>B*LJ -lm\@"lʍZ榄ąLk(@L2E{NEAg,lY8M=CgaUEUe9%UqѡoGG0[dyx]蕙[`އ<Y+\ܧĐz? rѼы>ݍ<,Mu:+ P-hC,+Y&_ v3y{Ï? ,ūی7*fySfWˏ\ϧiCU;!ȥ.}r}x5fE pK;jRd`/~ESY'mvJ#'|{ Rw7wƝ\?f]{տf|(sމŞ(v7zaў:!-*etQwY%q!C6Ca]Ɣ*;jҞ/]|dcGlkB7~twJTqdi>ϖ/.@p`~6j(.?=aFps'ܪu\Y3 -ժ"P -qt9]q[uѳgUok$!Bb^;u6-Q,CC,K[HJPfitbbPYL)@Cns!|$ĖIF.VQH0FsC m -;Hk б 6*S/92ԶE4-*/syƯzMۗ~Skj{6`! /U_ߕ=y~V6q3ٓhrss3tq^tE4H{ Ky|(-4m,Ӫ'|fP<=pLg3(u[*p'Z. ;d -k'lZ f+EGަJs^n_AglU`Ȃ'ǻ{wk-z `klc:cEVbW ݴHគJoCru b|DJt#F1DeF7R qF@Gۀy7ȳ5$@p6 i@J´J?F1F6V~XH랦ih@ {0 -@TJE5k`0^BQЦU6Bh Ujw J0jd׶-[3K!ؖ6@=[7-#Hc-Q2e0lVjk@ aX1Zb0V4U6Mتf|uabnj`+i3"U$@ a1^I'>|rt8no =gd4Ń^ .M."SB?ykU&gКm G!\ȕ}"tSj!ȍY~/efߖN>Z n}/~zo&zgԅ&z2Vhw5=vNpD~/w--˯ܼ_ꟾ{v6O NNBZ6lu}ܕ׋[cEcUS;ԫQ6;y)s X8nQo(k7o7~rj'o hC.heقSE&k jr[#oqj1&"*)TA6KErlkQ"C.%H(RBBZ %%RXk Cm5_AH7!DC`Z"JCTk3L&tsnh#JKr n6 60kZQ bFsӭ úծl*KELa(2&qcV5 <,Ca"1l}]A\H-}ؐDI-RT - (@JAPiܐB Ha3VFKbeRQ), =Nu=eux~4XI;;\W c;."mf]ĔuYnyWYn־TtNHKA\%!&vAݚ:`1{riq9>T`nXaQ-8FA`CGوഝa֖@,v4 t+mJ ÕV1v90 J{?`iK()F(}4XJFBZwpcB* -diH{(n]Ѭ`+65t -[(!4:ZlRyCX6eoOCc,_ZKfY.V5!h<2o6]xGoAo | w>| v>]b~ua]]N7![?`o~w] -UZa.-a-]V=|2n4HWѣGn7ruTs;<=Df[}lW;tE7WsM7*)rafl&XQ'E A!16~׫rijR(>,D56B -SM,FBl)-hh!BX$5uƃ^Ev ,3`$+ 1Ԓ-%l$֭AqkJ(f DFŰ8Dn2k}% -GͲe:ڎ=1UeWU~O11T .- ) hdױ .+a UiiiA#POFdlb8jl40NZjQH.-M %-4"\Se8CFQ{qR1 ٦"˳v~'_!-' aަmmN:7~.A:+{=Y(Qכ?etГx{Xs7 l{[yoÐ9-dWV%v8Wem?gOAGՒ"Wm`7u"@Dǻoop=|ޕѩt7옃a+ =bRQ c*npYG{l2_^/>&kv/8]qMݎ)AxJ!˥ /^[6yi ̈́F4Eƙ2A~jЮX [P`$I:17jCpF"HQ{PD&jE6^hR 5:эb2VEBn=C5e HR [b5rn$o%D&-|/~MO~a4#R&7_~,‡o^O( -GFftݭ mZnf^׉B9K{q *W;;QT"q~QRg6iUpՈiaۋfZoͨ,x/&u˼7@7XU0#nPV,U3k!Ŵ@b\VjTvƦ*C¼"VF.DԠ1֊٨A`u Uj(0q} sÐ -BCpGaQjBزLb6E -MR N)%R;}!lsB4y"mbu&sŒi6FcKz[+0_6@`*8! *Pi-3-c TF[yڋMQ^ JO;}&YDiIv`@;D\mc8KHbٞvwVB!PrFKB1aQK FH\l2$ YfUu;ÛUy:d'G5U,ޭ*eA6i nu܉{ZG_tj}=xJ1MWN;tѸO ;}Nwrv/77fj<:8]E.n-FG_rzwp?z:yF'LJO?zEovӉeB (.m8ۗ_]ovzzL`N*uzfl* )fI) qJ E7ٞT% U\WiXd+Lk/'6.Ga2CFJ/82Km!)Ӽ m`0B m¾S|r],69$-M 3EԃCM bc-DJF/+)"N-s\ϘļƼ ! ) -U#HlÕnPzuS6!6z%E^a*S@M sv2u6:KmSlܵv/_-wXsyw'eIߋ[^A߼ډu":є^g1CA!#,me|$V.>b{Z=Q=rڋEԍ> .Ghn 9]?7 뷯AR\j$ezY:л=gem~d,Ј/eCm_Cfos ۔-QUU"*VzI73Aq|:lr5/w^zTto݇:M 'y.ғ튘Y6)5M_])3C-]?mێ^6}Z+jߨ4ٮ=ؐ$Y b0+;M {LG9*M\o"ak?;B*GB  88i䖫0Pĵp =8`I5RbX*Z۴ضS %P -+c[4 -JS%.5\`<:˧zvn}O LMRrGv[,&yp!۪s|S Eq19o?~;=Gzm/\rmt-EΨ݉cO^ -eQ1#?Na>7B=z*p`t5O뗟x}]_!rqصɽ/Rז^.*Pa>w&0#'tp եJSʼnZt"@Űu"ƨ捴0" )4UnZ(d]C@UّpȐm9 -u65)*.Q$X) 'KtcKP1% H$MA ӀX-@Dpm!.&h$ -K -#?bC F"#jPsiAƺ֝%* E -UKr!m <id$RXL811@j$ Qю&'2 OG((D -klDX& -6 Pi kL3A\ǐ=!Sdi,032krMWifL.KUڬ- "Swf5LS sHU6M0mvrkpqִ~E~*M.Ŏ޸#,WM!:{W_>B, C_*fjyVbA/ &vv%(X?xOۜ[my|نW/_|ӧc MGֽ?y896K菌Vm>޼8ζx4 >`w weUlgꓸ*[@pKۥ7j,;+d@Q8meD`j&E*![%hV6" }KA>q6nKЌe)ok:oLC8`]0t'^ Ä$XH5zr=[ -0ڦ9($ K0VAP -+1rQ2+PjDkJJ9`PNIm N4RڐB% RFmFJ7I&1غ:l]*P9I+W7pm6N/߹ [>?9;?}ͬ&X7Oog^v ;#x2 -\kmj}0[}ߙ'.^Y`b~qv~O__:ͻz]m9blͿ9G.  6,y gqVuxTOF-)+ ־bD"fH)QBdd`!yu ** IDATz\ H4Z36@aJ :"C|V.t,om - unQhl%1XcNt -96-z 5i7K;(uGS -T2h:T2!: -j@v&~$gP$'7@j'"-Z֘,5k 35LPe`5dP։5 -32q s wP&X ),}N!.(:Á(7՗"~o/s<6Z}UZ:vq1Z.Ra Ѵɟ0D;6{1{ަ2f/, ;?=M=:3Zwn NW7o=YA'hP܋trȾz3F*z;I`֗kuo7w7o fTjӗ-4 7Aܹ19<`ȉvʥO7_|*;{G>|Ow(~XfMwY ^5)^^|2ǽ${0$@πnߪt6~{qҠfS6f>0Z. WPzآꕗI[n7tApEaogz JYW5|v)ܚyp@JE:gjP.RLv)j=r_t-Gy>{0pw'}=BX]vQʪS^Y;r'x.+B=p_'a4a% -VwP4u X=-P fBZ+e4xV6Ӑօ - `t.޵0F-DEzh#ct$Ujkd-!*,AOHZ]XťF}K<047W6WZIR)%0ʨksWpm4jlǭ2x`!!f-uC;2 |iϷ0x|1+[ʊR7P)5BA( 9"Di'BԴX a[%յrM -CeY^w(%Wݛfp?j2m֮bE5] -[/p*IOśś@*9?C2F /p -d;7nww SlգE<$pTI6עTD-6"4MƯ<A]U9+B5d{wOߞ9 #ۆv,6; pZP~͓ʘy.05lN -'uFA/OqѫU>`w-V;}G\?ke##n"Eu wi1s#y}+̄(@deA|)ZBUu[*' -~$qdAň@hՆ` -A%D` k,fU[5M wmnLYf)e-!SVU0VEw^ `2- - f6m,xkU:8PF vƻX&ɏnӯJm £ηo,w\?Z#/Rm&5ypgu[nӑxcu⫫k{#ۊh9=Jg;zt5yg왆=ϡW>m5=඲J Zr*Sٻ}ߑ/=ylw}j&KëӖ>7yrZ(;@Rh"+9l%V{wҵvMqKӲ34"X<"/B^ 9F -b*E5u0 w"+kҴci86R $i!>tJ@!Z6|Gk l]&6pao>SpK(*7B22BN<5h'UJ1ָ\r@D2c\I^H6ảp1srfyc@ @E7 vviz+}NwIi; N.`f% =PaW˹mkU7ҧv?!)<ēZ/s6S` ap@/5wxK=1?\IFvV!H.4@ZA:֟B6C ,RDv[MU.5"Nj -bڰ]sǞCʪA۲ΉE7uf̝Tg8r;ӟo}|X_eN+ V矝|cI*Nwb=/,FpcӴq`Fq<۟ItW6sVowJXlfy1vjB'={/_ qMvɭ}hEJJ{rBdsB=8:vD V.fK߹?܍&^,>u_<C <8~_,Gn;Yz/V Եa4tllMwKlB/#3w-b4)k ?(ׯ f t#CÚF'#v i<i54pCҧ0IЖjVCe(\)ĥL ?+dn|e5T-kBE1.#jED>h-P5Z>+bfTC6Z؊#:L&Vu\=xpaHbp !ylQm刮 1f|菞<^4e??zgQ?`CܡqSZkB7ɾ~0e/^ -Q;P\\ Ygֿh\54}gVj\n\ηp 3%ۮ_/t]S5Ev7O_nWpU[QXL;)|Sއ:D_G=|Xmoa~裝_DۓH3nYGIz"Ja^b+ =eeCHCV@Z4NDUb%cmP,5qGYR}Fp@GRSR]i{4YsmJ'3#{\Z* έPB<i5*UF=g]T{عH`B -)pz -(h6`](@w1>Jf8Mc2Gd; -H ۹F[Is -}zLHsʨ!&+WZ{ "0<Ʈs8 HA7b F!⦔֜Imku >``]h[84zαv@SUMz?zpyz_w';dAޭ> qp޻﮶Eu/FnOూmST:ee܀xǴ?qQf5MVߡ*l2L d<Eݴ -2W(m*R.M+/q.#'l8V@񅒆VbM/s LT|r{jr"MhdЭ櫭^Tl[v9ydkҢfc2f,<:^a-3hznCdU=>p*9 p#(E SMӤe3R*\ρB =BU% -?~tp^vڠ"ޚhkWE։`Ja [f J%"wDڐ6[pLdeIO F+\{ZU  5rH(ځ:~BΘ9jPnP]gRq@J퐏U5>zE^9DZ_q ͪD,ӧWKP tWz=e9gbk ӝPAF!Ems^"k:ލ#*FC%:ǫ8>.[/XpHg|H%.$c +:;kk֏4j BǦ9_n33n[!(T+!㼒 j4!ec zw򜀮c>}el -m7&21M-EV%KK\hӕd- -)ks !茲$L`=*é:_iR7( $ 66kq+0p$Э߂bY dWP Q|7o{ZOՋn7W.61&K ϞaИBvؔ1}W/C["=yl`G!p-?"`xO߼ʿ~vo}wOzM5u9n3Lfy` .;ߟ`\\z?:=T^ug[o#Ehp`EzSUq7"qEZQWg{u6;5 2Fgkdg'չ㩩g Gڠ -ep78[^@8k4f(fﵓoSB"7oShB7ue.5]0YiT.z}bALEU5mQ񬪄(8j*`1| -OZ=q#TbC1\ ńHeFLF$ j2PQk H[a`c,AشB䪡= Ll*aj5.RV,!nSaܤl;m$\/GGWp [,HzzGћGg&ɁۈKz4q6P~/^H'|yE;U>ݛǣ銶Z0RO w-S/~z3%g;3rsy/Ϯ my{ݿ!mqe/q׈f ڪV>ϟj{!<P[@tnP"$@XۦB$-DGɉZAݖY?jq[ntwM]dڦhPCzK_:dC::q(;Et`Z40Ɖ]5Pl ϰ٪"ǵU-%(%K\"Y>&Uwr@qj5X>+J>M - e|,YL3KrC ջ`!tC& -ږ wPzϓMkeHd% -Jmt, RBT)XޞDriZ\cJJ,ZXo?Q#E Cl 8@NsMHHjK,(Kb, @ -7ƒpe:w{]0ny\_vwŪ;@N2}i~1TzˌOIm8& hs=E4oyv J]nƏ;r>:{d=HhB ;E$jY5y3mC0DN^]5ģԩ6Lȸa.M]a,ңuҕjkqH\_<qU ;j0d$s@[n Z!B`2B$v=9&%RneלP+0N,b! --6τQkA=_rwAqG- ܽu -x{Z/R\~o>- M -aHes8nNzY&>F do{4{RϺV y sW߻?j޿d<fWjp7woOk -Z>5n0 Է{`xhl3[_s:{^g~mw=T:C+ѣ_ovl^1+&Ȏ]C4[`\ cV *_ IDAT04Ҷ %5DcisєK79꼒A[= (.l?tCtBR-&Pն Q_UB^o@[SY?#0,>rcTdva((I{*ۘ9dK }E.-"Z@ -\g]pie"nc5nZZ^h Ԑ)\7fMMgYjmP ,VVbCc* {J &( <HV$ȳ` iT#h( -)NF@U;eg3 :uگivfsz~Ylk(ӷwn3x5괎7Oq 4hK7xs;n]Mui-u}7xy!*>=,WJGv ?Qڤy7Lz703s;-G3`PjRR=Hm:7L oD%XZ"n4d^.%q =TTUzQ2􆝞K5f/dm6Lڀuڸ>^ -v-R%cf ~"u}"JhEl<BI \̀5-Ё| vv1+)2("d7Toc#!m;-qI ԢR+*$tY6U5|4C.zd>edo)T[<׏F?Iy/ۿ>;9;r1.a'/o4VO>Uʢݞ^d0;˿AP 7eځR^4-ʽ{w맿sޝߝn/_/ŽI~+nÃ]-mh̍qtʀpi7} cPPm{:Xf-*n,̿1+X6f<ȶP|$\zs`s㣎8rh%*0ӫVTt -v(HZ -Mje`u I-^_TaQSՐZJu@pMo/3[ cֿĶ>5@cʷč q4d pE!nV%4k`m4,0⻻Ŷ{\.%,Wh>~o]ߛLUm1@S)6ӣN~!X4eţp;cժ{w-oAJׅ.ν믷7'Ϋ yٯwi:;=g1yu~>k千>yMA<ֽ:)9"#T _̾P~Z.)SwQ񉇆I36A[AVoXo*҈٬Vl45h;9 -H-S_̥byq]gYu>JB{܌q0i[[HGpF*b]IHpx#k}zSuGkZꙢU\YK9'7;`:8r0HEkӈWY:Xj/4_7€ 54t`w *f1`m5XA!LsPRhuZ[`Pj[z&p%Úvi5Z#ڕ,- dŪ~K3e^ڠ&6HjfЄDq1!.BkNRpA@hoWVVVZ;[,ߔ0 ?M۰ngOVZwp##LbG٢D׃Q\ڮ;S_MΛoR^:;G;??C7t0登xO_,ƿ:.ѻM{}#5kzx"׊xҫ^xp~4{Qt7 ڹ aN{m2W -FkY%Nz$0mƐ!ڀ!-5BU@DSk*\ yl)iLr"u̼2Z,*qU9fFuѕQ<^!--bz `\%42ZG ڹ "Bk!iKT)@Y :( g(X^lЂԵbbHƲxO5םlkV{Zm",I:{*<Wc  -$aЕn0JQ,U!e=kfY!YKM h݊J vvZ*[w:6`6&OAeF e -cЙք.m &BT 2Zf޾"T&Ǘk. {1mJ_YW' iт~ǛLW<_a{o񍣧sc`\ʲf/' w7Zx{:AbܖI5QVq> y~6I~x~GW߻:R>8 Yih޵=3)ʪEWy#*L5Nɀsa$+%X ?if5hB&^dѻLUg%-ʕ]ޭKWIëꄳ!47ߺwᯢmVv!+tp= u+.fi%׳n8B\ʎB=+7WzOf޸S}bJف5M^8AX*`f@㠍&tH`H$ Q9ABC,m;XFk4 6JUHCk>Bg2J eBi@DgFպKJC( ZnϦbKxo3'_͓zi~ahoCEZӞZgק_t;C`}YqƯ34MJrhSS e(ȅ \PV#RCH4ɈbGVbqbRO4 8p;m++T# 4F@c,jsr@Vgkn1!ơlB@^AC-obYdLɌ)u+q`n=jRT.6{tkT aT>0VKT- q堇D\(CTP^6aM SYASM%̠+5Ѕ Bb!f)>-D%# $M`-.UWI vэ!]Xk`Ba0 Af% }h-1g+(`4Fn{K/cGvQe6F伷`ۨ¦Fwc,n~,lN+JӶO>7)'lG*?9'/[)Znisn7qtz4%ЮGo~=}R pڴpkx1^\ Iy4,h#F7ڸE{WJ7$QF%-:A 뮡s!bf*I(qhoLv_7si<~q>g:Q$AIg`^}mo~޷} yI3{c|5G/~Lϝj+_ٿ?ݹ/?9W,xzQ>~[AO92y4aXYG!4c$:0 2a@! "B.++6q%&*El }=pmVP) - . $KFJV4;V -jH4hp>34&ZB5k329vG[ʍ)8o(D#U4k `[cc7%) -:ZA6Ntgb -X.-T+eb(e#Vi MuDm -_"m:5`Ȍ4BA63`fahh]bbiQ+Ii| 819"7*b*:ǐ˅eEPYM^kV],KVDr%q!-ݽQβWVhy2]# f -C>moFϗO?2)@{s#_U$ѥ~qi:Ϗ,??~WJMѺ-rжӓ9|:r\;7A={4~|~{O''OlQ$-D-:u$PYw"Seg}E+79"GR;m&-bjf{Zͺ{%@X%3uص]0<+toonk[wGj5/g.,(FWOuڝ7S7rMDÕUpҍAXMJW25|R(1,FFǴP -&XP srjSq -FVUە'1yp0Qp]±PV02[+kdFi $HHjn02ր,TRh rT"gk @) vV4s]e2 n/b"#vU2FmhJP/ϟz䵀آ٢$^IY@ñ~8 o^sWj־}(Z0~yNcZsOuP,ɧõ+glنƼ0 F|Nշ_[7~Z1҆3ODY[Vo/{?fV_>~ɀ XL?,> ȤH>hOmFp!}+7oi_%Vfq2Y]ƭz\K$z9l]zV+EJgkg;tg]Grݸ3.V;8a]XRiַNM)s9rX5VH'D$`rɲ:Z'8LJ 1\!%_ua/ҁ$E&0Qg%[lu6ɑ]J𳯚]3 7aR xD&6[ޖ)FT[0;߹YJ ų/s/ -q~Q$`u(],<\s*ÕnZ+>\.ry]Q]?-i3gy|yɹ?hg=[P7^дB7 RE84%*\sW)VGg«֮_4Plb[siO}~'k:8>!:9C cܺ5qRKmtq%%1H`t`.7Kgծ*E¯CiQ{Qw2,<,~\yU̅<.`xwq7޺~m><|| Y1&h(YSU,3mko[ljFk#L1.'I0~/ -7|]e9_%9+Z9QT,6mY$ΊaH֓y~;j>/KN곟kӯYuC̜ݻPTyn._`G5⸄ygnV1rs\a&)Yغlhip_"$*}TvP}PPթj_x9Qb K@p -YaeM J*d6QԀ,QΌ1Qh1l$Vq]RbL)L0fZRj*kv%p1&q$I9ZfsMHŨҶj%B{ۗF뭃#UJZmIݲq^=yA'#Jȉ'çZ]!XʎL1oɞ>Duk0jV4 *=^&r+Η<;,\gNHΟ~ O;W^zçϾVSU㯞<?aڏ7v=./'?7?d~qx5[ jKxVjPY[OPB;1<:B 12e(u Uf@ZCi_uʀ@ F"!/[FףljQ2h\X` J2K0(Y k0&!5ft -*p"rZ'6t T. (dQڪ.tbPbAgLP3Gv +ˑiEjDa0E::dVE2>NO@u\ T֥C{NjnLApdhflQ#ʙ#lm@M5ud$tk -K@B9J)\&!y `,@ZjiŊ:"sZncêv)vZ۾jiVu|^ ` se dz@c6Sq{Td]<]q왌:kra>O -IlbrtY2E<:_o'}5uMShe%& FNϿfo?Kj6>ч-Z(ww<gU4HN^RepwH븪j\}r+l)5n&)排km"<̀ -ΤEN-iUL?8<~UXOzƲ b~9vM, *5rHی8UԁL5"jBtV5CU3]Reٲ*r_y#fX*.i5k]&s8K$F^?mB@*!+ R+\ϔiߣ.fm6! %UլND2CB(M!@UVcWAR*Q<k;5iZ #ͣ :q( Z%9N8Uw_m-fNA o.W=Ƶ~_bmi^?|PGYO;yzWo}m0z?>8ݭo>|Fq?{Vנ8;RwƧ0ܦ^Ċl^\YqW$l޼vbqv/w{;7/G ~X͟G>~ϻGe4p=lQ4m -Ac/Ub$ R+Eim(&pUfsDCU@dsfg@,.Lw,1@ZbBW9!A5 l l-R }bc%A!%P%Q=bK -O0!Қa -C\^ 7dPp]XpĂrEhBuCu0'`%Yc-+@;VH`d,gT.wneu~7bi1ъɃ[E999aku81Z1đu8]KZk:7A"m,1V@F>N $K05Xk R+5V!% m+0\/d[Z8^쟝/-wvv|71j'OE6&D%yIL})?ZAMox󻛃{";tXy_r%ol_B{hPWnJUUg';1/~VZ뗮_ںuF<[|ٽ7\.X9]V&8Y̳qoݵ뛛!s,jdj@qC_. c w V\"ɱYR~K NZ :O pyQCNOsyhɒ~Ւmn-ng4^ ʛ t1 㚨Vİ,u<ڔ`d%ЁiޤnkBQkTe<4Yy6[pU4+L]SC -CH ҹR1uV KP0C$@ ʃfr@ChRoTuxu+Z-gv:ݛ;{;gy6'[^G0U^6MM^j^fO?x~w/ĬVIլ~z._9k~VO^?z:a Q?̫|ysnmgi16M&V@bbm'MS495uDݝ6zjN]PI+. OGp8|Lڸ^/o*|8WF3ģ\vvZӦ,V&ZMIVV=5KVD."??SK l~ ,Vcl)],D3+%)c +iY -,q PKL`j*#ndt -f(yȈBK@BA{[#6%@`TLT|~΢Is8;K ''S,bU'r-UzfUуx{oWb+[+Z|JGesfXyd~RB: - A6]m֖߹w7F]ŐtuuE^}uSӋWoe[o|mx${ѳn_䣹[x~G?^+؅:|W!=hy㋋sFh'2J"@CO-Ům % h1 @ -jú[b@`pY$HL9NZ)t2G ),ksSզ]ug\oEgG4Kf -{ $Zp au -:+,nƘe,K0;U)ð0 kCp]y0(VL:`F 0k  A"`(qSzyaU#eJ?^YM}yVw5R )fbDLNDlNz>+&tcTdYO7Α40p@S!iP^iN -PҖxXFY =+zw\eu~q|+/zwÃ>u6ۗmo- \sYzT߂GNwzzueVA>knⷮ^{N^M&t~6Toy{ח*7^G$w߸woxN_}xtvleo}q' q->?=E?}:NUcݞg-h^&vSX#fg, -Ar'@QE͵E#$BmiL}/L3FZT mN?]ؤJpK`{ϝdك;u:KEtcM^]\uy*H>c9 -b$nbU; -!JYMXI$ -jm=ݖ`Ġ6&r1R -/1P (jq+Pm2R5y -rFSAc0c(s!@Fk`c &)j[(3 A|{= %Jh Hqܱ!ژ/%19rE\U8,k ΗzMrRj*B6L7Ţ>\nHg~ʆ7}{/)^7뭯5a+YcUuų'/>*˗?->~4CPuOq>z!oxM_yUu^5@ݝA;rt~/Q6-DG~_>}??WO c;i{O>{O勋dӈ:1]62 6<_ -%lW !MfO5Q~0GV6bT#Zt-0axrXIWk|9ULf(`XɌĕ ].<Ppraw\*g!8-S!!dZ!Rcd)ϰKM  UQJ$\42E -3EV+H] +f-slNL* P ,!SѲt2BC7;]n؎``inҎ[@F -`_G!<WMK:~Nꅅm$[^GVa,a5744ԡ \nmB!i0#Z-X0Eˊ7U~ꌊ}4k߬NܾvDPԸx~ F~UN}0K9뻗kW}\BI|rZ:8Ó2\k{o_.őkGI>]}EO8{򨜟#HKčw=-_4;:]\  s} 9nujhWxR9IqjJ |>}fyޡ!ƑKIi( --W -26wA5䐜UW7{_q2g km?=Qe:hU 7Xed?;Iu2 xX'(f'cA95%̇S٠{B5 o=STZ0ƅ_R k^ NG/l9ve5fT&E,K+[fugYC[Nl Q`$ѱUb7gʟ圹BQcXHiA&+vJ  V[#!&FQ@)QJaS(4TF&Z` RrFTY*D] !4duRR -̔$@a4vG*27[Vq_Y9X١ߏfj3pޟ/rv}yΞ珒k{gd'NF=q:{_K3[5wmv;0wGr{?4|?ӻ':Å.k )362?|W/7{ޒjQ\lQ5Cѣ.PUT %˴/MA-2njMx \(($!/l#bѻe@SjKV7:5q.s,%.mibb(QB%׈ &P#% a\@vІئk"Y -le\BDjr-NA@a-Pbq0*#H@GHB(!r.JQ.?=+ΤHC'4{N4Ŕbri+ Ư\?R`j^+DEmriwa&ا4XՙcKǵ^3)\JYʡA\ޣ IDAT3t$.wRD,z -_0%?01!T/a1-#1:ci{スn -RˑNc5W8v+WZœ/ -wWz|`﬌izx9Qh|a3%"vdYnwk~{Km>h5%ϴڀ}w[=Dxl*Dk=drL0f.~`K䱥..pL;Bb敪ah I-+X -RdZ;^՜ru# '0II27M,Vl5B']Gu8y%.ZxI?DYlʜ L+$-LscV9|OOkrϺZc=@ AqF8f (`Qn0Eul+\\%G*[Ej+vIm2 u6THj(2a1!rDVp T rBm^Bܓu\8:96%k& -xXMqARԄNv9]R5J9$PBk:ޟǯƃvwO抳}|Z8vno.r]ȗ <}[uQfi6Z#G*lV@72^|0==5mi`ӡgOvn٢h}Md nH9xlۻ?/>$ps!vn{\V3$ .ƃЪ -nnl;^~V\L .1vU>ICB͍z{biaj|{`yǣYBV B.S;LܸYpJ`VFA΃*n3i)*[4c͠ -9yfٺ^kQ:E@'vst&=8Hg*K1 X@`W2QFelQ+shC@*LZ_~x$1ebb(MUd>Ui D)fPRҵB !t4 4 -zX" 51\˭['2LqsV&q||T$$ձf,s& 2%2K*kxR h@2$DIhEȘf3KU&Z&c\-4KPuIFC? 1X@PΡA386ıe @QTlt|YBsh6 : v|FJq)rpr(B}DLQAA$U< `Y0K 4؂^)AWvj Rb涌Ơ^LTji+XHkcJ$pGq6|yq$x;Zd$$/TGrqܶ=Jtm[6lϏ/,8`:dPod6zk÷n"#^NIvjvQ fsu:<Uw7X3\O_~]$Çg[Qj$$?nuY6saYr$NwajVSl{^ -2- b7K溹 l Wk[k++as?N=źN&jen)! KjRܹ -MreJֳv ]ngI<êȺ#2oC )6 9J̭V&2DlEZIטKL3u*Kb -dD*kRKOphn3N 2TIplUV*RیD܊13X+PWԉ##ˍTDT<@HYLU7^UV=%+B"ԿnK7}w׾SzoL/_˷?zo^$)Ƿ(K_Ȳni;j +7p֣ ;y[ )Aƒ}m+^H?ijgf&i\6䍻h:rA;:~2 krG?ɝ+'ǯg?ﵯNφ+۝7;-][H*B7ezy.ԫoџtdpɣ}22cQx̯:3TJ,AZdZjN1NȦ[5 eb-1` -[Pp>d-l5N Ѫ  =X)7H$vi38mbẽki9b5"YX´H2!nIu1q2z*IWwl%T0!0".( 1 YibAy^6uV<;5BG,v %r1BaQ)ǐ& -<# XlN|h$ C  -B &@A%7sgP०lQ9* K+f -[ma~f ZY{7z5ջw,959Wls<O.6?}S52'HǃthybwsaEkyG'q}axt4k߿nl<{q_ItYIHMum$1ru²rFPQ)O,^5aʋY-I|,dq&rۂa\eeXB (( t5[`20C̹p(Ť0L9H᜸}RLZ{sGeuZGJpOк :9$ ZsH\JXDu(!.йiyNw@wɬHm f;7ӂyǠd&tTdo7zB |ї_=I֟~>~'Xg7ð'rp O|#dWn7KŐyj7׶sG<~/g39Yp4}&߮wϝݻzgNgya-Ekhpxo.at}_O>/nyW=}e5C2l};5o?xowH[cfaPm8( f I@,T `!@p)4iʐ11k"k Jf@U* -%"ZEۀ@l&͟´΃vT2= cĥ6MW:%@:Ҋ#K *-V##f!H#q12\AX1$%C B.[@`-f -ҖV\Am-(2Kh l477sBkr'0mb7:^j ؐEi0IC Quk3c)bmd&%@.Lp P74mBF v ,DNQ4 ! Ph}'+08;;돏`Įh.aDr,n:cQ6oE%_b]e;m 6lE+tJR35f:;KD@v^|+ケ#d{%_O ƍ^ӍBN׮x=Ѫzw7Pmz:eHq UA T2ZgEgf*+3լPYꐢ"a7{UelmݤJ(NRfݾ~/^M4FW^ Th 1Z0!$"SE (QSz8^Y_Dѝ `GH 'a3+q+uQ tq CR A `9Q`S Ŕe9L: -/d؅`#<53@XX1nBՊ#bK͹ Ha A_p0QE7 Q؃D!K 6;7jCi>A0PHb QCSjI0r Vb1K/` 0S x a -4T5 ,ׅj-i"-&1kN*-fqh2F;Vr6S -)UzWlzyHjqK{㭶32LgKk7-N<*.Fᶆo?<.j8_>^wC[ XXj~9RYX/>|6ILmLbXW)* K ~(d<KVoSIvW˴FLb=ƳQү-免/| -wHi\j` QU,VgFwFkk͒\]΄) .]gO/NU/ujk6wO8}&qk",<e= -Qı~*SN\f g]r8뻌k匮|$UÉ,-8ַ>e2~ -D -()`͂rJ%;zJP+?՛&Zi) )Tra`Cs@XJB04F)(< [a!%RP3 $%m׬R$0t"Ȱrr3 Kz21\B]XVɹdqn_?/O>iBwzHK-w\b۲q5_Xw?CtSd.eK'`b|VRGrV8dY|[ᬩSksgs#Z~Pu{|^><{<^'Yk^[trR_h対y -N-!-b.|!" -gx5 6PspBL#O7@BXJ)2.YDd%45ZWNgFźՒEmz}|G/ngksKr0#ڽIF͛rxz1+|{4x2Y\TwVX^0' -?z*h<~r0jW6^&_Xrm+'Pzy-t yvAX*xQPz۫noH482Pիol6\DT -HI~p`~+wguZcs=ܤnF=;uEVZ`$Ĵ]>uMR&DU܅FӅ\8sV"B0Nq,,.S#)" -@ZAJj=e$vu|+d[5XN.GlY%ORBfx -pI_BCq*1UZ K|pZD+CZJĀI1un X7Ŵ8sk$AED C.57#噀k˔O~Qm48?E) -lu \89z=~Z~9L޹C_Hf8ϻ0,{Hu{4'{'ژy4vt'V58>;D~oaj|Qk.^w|9;ono/^հ?_<ܝثnݻSGч_6V rյ'{yO~?П<'qRT+gMŨh.&mWWMR/:/4ֱh`]93֯]>#3y\lYHo4CNjJ[ sP*@bjK:QG `&Ȇ֎ "~苏"Ѓ-S ߵ0~ !GHf81|_2BAf MA -#jį -5 %h=ְHHI re&rB\8J'4C(LZARJ:P8M=%v v A]IKh00#5%ƅA ) -5RQjҰ$$!V, Yc (F%9P0/1H3IR!-i*LRtN.'܋;+=X'*h::u~^˼dҼ<_~ֵ7޼Ut _<,ՅE:U;5FˈXR,@w,i@Y# eXju"ϐio1ɠg/f`6'}} pRdf-Qa_^VoV*b:Gq!.+*Xh7;4*峤g9%˒a;,9 IDATzNP1MTEybN-l -&KӴQ.]ZY~}./V-Q+mN\hk.d ܻħIqӪ(:Tq6.MqnetR݈(25_jy.,+\LRyc;z ecS`H SooB\X(T]mHI 9`X9hTDEB b*TUٜpbU!ǓR Q} -TaP gtLJ\f -WݎfoC(71|yo7 /IRF.o/"XF>NKPmNa/`{c3O>R,:4#ՃOϪtZ5~Z-]9^2x2,F=Jf"W7%_?~5z{[7.+|?{g_Zl^on-QY -L_kav!0y”A**tnKoe6yyOs=Փioi%_kPo[z8CzxMT嬟]2 /j\ @9kZ &OxˬV^r͠1y̤G<:yUV.\`C: N1~< ,P(O_z.'"t%8egܸ[zP<&5YquٌBLs@ЉB`'܉VeM|n[j&a TWڢ4AӁRhFp5 Y]4>sQ63c_QoufCD -#l. |)Bbc Q-@6C5ubPQjM |83JUw"EXm*@Y,@I[h(A06 b$BF`fX=q)6!MbMX_ʼ idA)X d ЮY#B[h@EXi]@X&4z$ba0~Mʲ D-SkRRe"P 8FZDRX]:d&NS M[\0jjWVfLO43NWl)iyc4-P[{sc{fp˽c&cs)symvmKd/=r. -vzcG -^V3xLc [1 s(u-+ܬY׍XnsV6]^mWM).fw3a,qCZovwsme@ -3>N.T"mc|2ha¢.N`w֏$P|T GO}bOe=z4׶7zzC!O7ItaP`fq1m جz_߹wg [Bz% -7g`1#3 dz91i$Β*PHYkyPs"\ZI%6d"aDY?=ŕSS V4E"Z8[CY+ XjdZQciT$&\R !\B Ld,|b7ju!H8;HޕVˏќd`A[[(\)u]JL{-H|_^v2g/8^-u[ԕg`՝~;:{ջW-giSj ߷Ͽz5ƍbک_ilvv5BVgF^UӥεMYƭf}J/OvV(k?~v}|od;Kn݌&ê:o޸9[)ڍk;uW9x)GҨʍv(( ,P1Eꪹl튲PcXiZǓPG{Օ|6hH6R~Ud'{!$.A--Mu{\F`@bJ`99` -0"E## @)r MS(RCK\ljM4Aǚ l< t0  ˲$J%%%{CJ֖*K$`s};|)fDڦXbkH1XCH3xK#?iEXc!!gFH]UCEM -s(2ۇ )G$ LPU@$^dža@΍!(I^YA)6 -d 29 jʚUSztBZ"LlѲ@a:JK7jH{NHW@!WڸCT0,4ŋ V[",}a]O_߹;ukCh6uYhWL[;R$>{g>?}~t׿曇jxnyïR?k/7;,ܝ6w~MΞ軩'=["́wlR$"mH]֖ewm.FoERРu:_oG=S>_94'"d@ Xft]vS,R*(70IҳY~2_HKׯ:a"Q>0g^16|n݌=2^a x8TLԐXUK 5bESd|V MiBARDܳ x VVРIVB[1@)4"!"%+ln̄Ԅ2yډպ4B+Hƅʩ'!FJ-SаJkJjX;3"+@&]6hEpLZ_[L^L.5E,GiPbY|#j=)UJѺv-gU.~-dp7";+ gҌgڻ>X?ous=eu~5zi4x~>n`}wؙ|n;jcчg?\=x8{|v|*O&5h|xu/+\|\]]٠/˓'ɓ\ftn/u~y)N&q|f_?{Ύ]~^QuhӓAh 3r6=&Lc@L܅@5XMߢX#KcAGbN(<L>z1ZmhJleSv)k"(\+FtdX,FDc+_v}L@MgDE})$ `R4"DEjRqB qaLJ))FVybZ -R\ M<v1q-:FRP ly hpeP{pn!q=S,Bچ>i6 gVF) Z"D-taQ<Ȩ%SN A@(HPЖnHQI|zMbtڦ;<t{| -ҳzOFI]VFӣ|\StGO/fVc&:ۍK_0{E?_>\x`g>GzY,l8?|-ZڿeBF~t/w_\\řo>8ʵ^Kd{<7_0oJNURX!`gv"nXe_OH[|,'9~ΨhK FVY}B* l{iIk 2,soQ#ۢ ;\/E;[g?C͖s íLCF?W_N;o">Tu ?sjz_ze]WZn_yv7|{k(2|_?~OO>{ٍG;?}rpmT=O4?Íݭ&PmҚ~!*R-THak޲M[] S3IŬY0sX ŌCJ>VWSg[Vmwׯ,G$ =;grv0ax<ā YQE.! -[(\4|@=&YE )LOD[i1Jj? 2ujfQj_WÕ yPH-&%X$ 85a6-MA(B(vGe .%Xv)6T ߎ \@pa)6pT^녰fpSŬQU>}WA@]6mLP{"ZN VgNxtH{w{O{OU1" -#Q_],o1_"3<9)]챡 AnCw"Q>bCkzy]~{nچdu9,=GEv{yM䗗(1߅ +a@LF_>8yUen%OƗ21vStq^;ͽ֨t5?)M.&;wޏOwK^ -׍ȓBZO%^KQcQ6V;f{cfW+`MC~p"-qFh렧bIX٨N=ὓ T`ܕuF[ܣ4^3.14ƶ)~ZuTB1_ KUs1.F5dIi6v2"ܠ:01vςHKm7%چb1PaU CP0r* -M@3`AzP -rrAH&ܷFA#+h eJ~ O ise~5=alhۣ|ѷ zIq^NN 3 [-rrurv~L]y^v׼=.ˉ( -#/w,w5ž? nˇWG_ΛÛv@ekg|'wz<Ux ^{o:/_o'^\<>Nڵݛ~*p3O9 Y|Qaw3-j -QՂ* B *j Bbtձ36pzj-w²&ؙ*K0/30Nk3u<TUKN`24  XzV0QUE.'r:Ĝh#P.5tCqF"9 W`I+3-: -ڋz,_|m@l1죫+Z4&)srT *V]#նE@Ìٰmfkk@8Ec6@&6 *P!-^" IDAT%+B| Eji mr 𼌩\aEȇJ&j,_<6ipZ&Y^'n;(/fx4B{ۛyq{mKHz<>=x4`{\zjGzb_jxŽoԵFonj=/KZ.Û/k\?9,G'<ظimfٖ;=N -5<ΠCAXUvsܳT>nt`suW`e^J<j*eTHfJФe&Fq8fqOJhi}UAN$E *o|1I >f)t p4Ok<8mӀFYX֧>삼p}z -AMR}D -D%P`v/D˚>t2A,t¼Erɨ|Z\Ad+ -Mr$Hm=!T$\bA1A JJ+U@1@j۠xC.sn\Qr뺕hysn]BYAu]&VV?zPeݏs:]_,Ǐ.b^"̒/ڌxvenk 9hyf.۰S rI(ρ6,BP(2)MC@'0ưJ+XAk#a b [@$9T -`1]ڵ1>ADNsl\<"!5cat[Pi"̒JPhkW;FՊt,;M[>=zs\ '& [p 0@E:/xDWd>OuGr59bJM:}ڇ8^?;{ۛ;N!arNŃ7_q;v렳J /hVi8N= m03@GUhqesk ‹OF/lt@zZ̘rBࠫ^Qh_AnڰN1L4l{n pn5+.m֥5#bE`dpN`+^"p5 |ivn+6ob -bd]WKȉ[V L+ *a!!,ſF)ZK+Q,%h]+ "S(}F CDc` k@`hXBaVm4 nQ_C_jSh%\(JɤV=1KNܦ%(QJpL'R6ili.vX, (hޟ%]9:?9b^CD )&Mj֝[-SR헿p)Ty^o}_%ErVqji.(KdQ%T vucmY/ ZZʄ}/fg_Ѓwt%- v?=[[a'Ջo~h4|=TtqbD #U{GzsL>qpzJ|hSFff+* AcU֎% -hơg(_zn< aMJxmf=Ԩjɺ"n'cFd -3F 56w8B5M\DjP+K"@- +Sl|ȵvV1Gͭ -kB.@9T pPPS®{¸NGj?9ܣz-A Aαע X ]+2;E9F ]$55$S`S@x#+ -!##\A%bP,aPJ_3 ZQ`CRbڷMvfZBqЏ [$~yQL˒P+G8DJNu& GB+[vO;2oxOx]J0I ]ZF~9֯!tf=ñ|ٓ'hC1Ƅ -e5"-h;7t":>^5[/W|=9³/Qk=7o1l-vZh, f~ظRurr+&%NNOd/k] dU,=^Z 'L׭LYOCϓɓ^O?#f>[8=JF[[};{GGlaȓ,?{ɘgOEwW֍U0^ Ste4d\_E#[mpY*mQEXŭPl1bj,Njg"ڀSǢj0Bp]#]hFD&8DdAIDI%5* r(Tt%.&$\`J ,A#g` -O 4Lb$msk;~HjR @ZD+ hf\Rc}cΰ:z'mU0} #E)0l 5VX:9)$|A!jf&TQ$00BJiMnMH U j#J8 <ڐ@uT`FGEmaX;ZXְ^Eg`l -kPTU|O¾24{! (ɖ (iz[j_#ۦ|bQK'EmUR, -'z=y~Qg<)7o_W?/O. JEBՍu4xr> 5׻k; pھu6lֵWz_t*x7ގCދ㑇(֥رrBݝ䛯{GxvmK^<*w_aѠ\L./nz ʅ9cIi!Z$q]%nU#\ ' ^˧pF c&?|}L@xݿ(\y-1>usдmf? Kc*cR!&'Bp >-⨪(*[ ]Xe[UTm\/l@C ,LZ(0vt]Ϙz)0 -H )0bMSK9=M -D[MU-X BIyY Ic˦Ex_ս'4^֯{<%eGLKBa&wmz?IHь׀ӛngOdb^ݍ {Bt7Q3_Xb &w+Mn.#̣ \76['?>y&{$:?ۿa Y~LA[,~O_+Bf}&\y߈{ۻm(AXlPa`ȅm^B#Y o&;H1Wuh7ȍc\ -R"Mc RD^=ӧia'H -X`:*pPj -x(\ϗZ&@,ja_鸙z9";?xt*qYNkTEi˙|oe"?N/NϟSA6z|9<ۻ[^nfW7Z t.t7bXf -w?gQƺfbsi ZarhvHFf&'>l킦"Nowvx1KG/~s cd7XY8na R=Z(:(6c[sVa8[BeWNĮɱ͐6V n` 85b̍Bސln5">j(/V[|"t<^ܿjkcu6a0DU2nEm =Q<%s>k(`nlB+%%&[?3_;NU2,fŠk lP93D,q4VLQ ۦ*iHG)V Tn G3OIPB6;梣i!ta)l4hp;|ZADE5$_M<4a;muyеǘT.3<N_u>~gU(/#Qi7^گ6N4iT ζFXWNu "~룕~LfۡY\V˷ N0ltN'6=@D eWf=rY:1:EY&陌:k [l17/9xeqƴW{|gܹwb[óEl[[+Λ/Ͽuݍ;zAxe;[;ODzNg_x%ooP#Gf4dGizE.^t;wM''٢:8g8nvy==HGg%~pgDlhr(JipPӼRBɃj{v͠]6)q@H a#XWx0ZC(4>l(2 ( U]S##%*VK|+ -Ї MHJ8Z*#+G QoZK"LF~wufԍ5Aa 1oj 09r -0Ѯm: -= t*à'!}ŭSCǁ,UT! T%A[V41FЊiw/]er1RpmP!4t $U%vqEMad" Of, -J\ǥQC0p!JyV,Bj,tycs H&2 %Y%|o _ȥ*Ō ]''¿hٹsS Zc?N!uLbxWb_F +E͂) wJrQ3kjjq|wC;b*G8ڝ\+OלNɤafr'^Ljf:v_?G~~l'?O/3@u MY6/2|v.:__|r9+.>|D05&aL\L(5,1Ph9"Hh1MR؄ָ>Vy(%F{Rñn70 +&u@t1#cf IDATZ0yL|nRZc@ZЎ:, -FNJ 9P0ʠX2DN[#ԤX.iT SDK"ES%Ub8MEc+s+.]2U-3K`p1_xb8!'ـ"Gv9ãOHvJg *q[ݼI.2z8NɃ 1;ާj$,QZׅ}>̀2 N蜞&Nf> SR]\og_wye8b,[wqtDT2+ -{CiԠ|>fk|WuW78R`~g̐ta̓ȀX۪He8Nħu&2mĨRt Jv-2:<3Uڔg텺e}",qSgAǕau:Ăq\P" ֞*$F9S䁓&udw):7z"p &Ҡ狄RP.1'Xl(V 9}N2_z/2FGK]3Q#,+}G1Վ֜B AZdSk`aRJ,T$5 -ba -81W3k]w3E!k(]a\7rѼ,yLKWG_ (-ygˎ&z<*.0Ҏ.RW˿y6Rgy߾R@Ѱ^9 e^E,9-xx֊Dke3ͯF2|O׾vN \ JZn6@9)Q:fNY?Oז7r%[y,g3着EmbW~{sw2k__O?}>O?..gemJtTҘZM(h a]!3Kh`hp5CjC& EB -f.5YT(#r+`k$B1j"A͖5d),i!!QHbjӬVלc.`PZ&HrΦ0;'Ɍ J&P H;"SWWWSfR&< - HFjP5Zpԧf]Dc@EW|bhiHmUT!L6l]K Xn[sM<|[ZhP%R5p g >TX LҀ -2d@En5LJcegrV#ܽŅͅN//+++HDB%{}cߑOk{2o\b2tn}U({7++W7W_s4FOΫ;yy]a3h^΍ ;(/7nG1MgnײO~yzf7nzrFgiXrwϩJ ގ{;Rc{uk]W!ee%}z[k[o MҚvcpmv|4 )IZǍޒי,..|gt&9'&G3:/°0l7SܵX!QKuP.*m! mس@>Hn3""j,o%bvS"3DZ#2G{f_QTжۦi3W*͚ H,jaЂvo4_R*JNA**e񢶜 Z+g*pj, qkFD l ̖H[Q*]fGi 7檖@:*Ya|j -m;XdYbьN,FVb6*Vwѫ, -yA~xzWE~8ŞoxA@cr_Ux0*zK@gYSɡz{\>UW[^*Zmh4@voCe(bRްzh"p{tvпruyũϟ]2uoysm޿_e6bqoz8:iݻoۮ)ʧ?'gғ{]i|_?Ѷ5n9Ŕcu ko 15{RAi"X(IkZ%*3Z{V!)ڈ&0U368(to9:۰}ej)^H!+2|d>/E|:Ey/.JRښ@[N @_ NP ~sz: Go$^L7]1<󚮘W\k&?٩-i,k7pJ}úQMϏ^<޺=:MFy[+7?\+&ǏZ~hXMf7ʼU'rfTżR#H8󽏎Dך$OΏ۷ڱ_nUU6[Q><6Vւ80/ir;]@ʭg: ⎖-:;tL :8MB씄+ҬZzP"C~K6 p' Û,i2UВ+WD2YI,HzjJkdSъ5nb{Bڣ< s.$EG .&`E5 iLZLDO@Fj1I?j̘<\-ʒ,'i@P 9Z@dQNLeb]/( -cܣ;"gȫYiB;>`&~AS"T$}Nύ1-ӗG6IZz#di; -+S`/woۿ70h~йE]c=Y76:~8NӃ̂57Kp8^sMZ/ї󳋪f_=稫_w}m0_9kkVS?Sə@x|"$ZZZHt iëZWmeئUX&,`kMKa-QºZD`|:HPӢ6xHP.=Hj۶TTE܅iűEH6w?fesƈb*8U9!4cK}qcSpHf4r(]\0"Z0I ="|W%fV$VHg#i$膃BΙ:ENX60^iJq:G" m 7 nJ84פ yPb@^ʹqk@j` & @!FK$1 -kgֱo;-`ktiJX;;{%ހڸ8xq"]zs{t֍`dt.Oj}|瓣ފz+~y /,GG}ztmҦ+7'fdzvbe_xƽ Gb^rZcB8\[mom_[}c8 :˭0;~r~;(MF{`nu+E aNEͭXyxmu{_rq~/Gt,ֺmcjCrmuB/و5ڍvƔy^^?BN5/jM?޺nnd26@",P=SFt]te,&=?5hF굲8 3!nB2QV<"RU|9{s^ :+[ݓzkzVXbHa]i5qT&%>#ϾSeFɨ 8kkI"tH;GH]r"Tf4v)6rPʆ2,a(pƴoQ Qra.a0Fد]fZb0+!J%]N-"14BKoٗ$j/Og)j\fLNjs.w$PwQV4=w{UY<ͣMoFK ڗMƣr1A [=͒ŒK#H?xr?w_Xk|&zvN_X֕ "-GGʯO~O7`-?1p -}PO}?{U{wbmy_\j$N9BS+*S6ho[ m pYiHj,K6k`ǫ#3_7G)!'C8A3RO)t؄#z&=>`jryz!j0EbAD+mXA - aN"Me ˯`&#A~;o>KOϧvP#A˸7FzU㉲f7q`Pj?{7óoCO4-Ҫ./7 -Sl4b^/F{KK;AeC^ý-merR,5^# ~Ӌ Ay:TӳgQQk8ʋTPTdܩ9k4uhL#pڦ\E-4suvrVOm}_tn~HYu/GcFg<[vՃn4I>,l\`. ֕!ZYjd{~}bS9'iq17 ^VU^V|'G,'sq -iɾZ7ӗAp5Vd2/Rz!MwISQЖs+qGiHk'rN!w^$㴦o{dᡍ}Og毞X<ʛ^Y V}gT^˿?ja:a|ۯ_[x~t6hdͣ^v;ڬzvEFPgQ-)db6)mK<"dž|L1̗ڨsltt5#VJrɧTLrX6G*!Mhn -8DR "e(&v-@n9uR~I2uDeK &:P 0k/F͉4TVG=O(}æb.fҥ˶}OLwXh9Bfj8ufQ0[&\#5$F utAj愙M*8r1-2".]Cxk|ʼ\$t9Du׸M<<\YƼ.Ũ}|_Izsכ=9 Wik\gCTI2?zqY+ܺ6zRG HNq๞$xf(dNO&RYZ`TYo)\Q\5 (UpF-3^pyP1QBG:`.(0PM뽣EXqpI*w& J4nluC2b:վ`Ab AQ{XfK$T֖Aj0G*0)c$)K -i5*ChWC$i " µ|iPU*vF$ Zv12R!WV4y5ž}W???J'YcͯJ؈_qn۸ IDATW~cy[l|ba]Lin,p˥~k_pL'x*gф3Ž67vlJqⲹx71K//"|_\h,Z ^P3@zygRL l8C A!F'7 hҀ*1!22ʈKN!dDZ+Zy\JD,!2CC#90iR͒rRR5 #s2R4=V!ܘ*6er.@M k!$xM0^OAJ`mo)zjqAZ+r;.Qx"ABm(AAh)$r8'Sk i,P)2m@ -;ѶR]O^W`q60fڗvk("YNwZoA_[7q2*B֋2]Yzuso~wi8d,tbb4dޅ֧9V٪Ǐ_dOk}fڨ<VUb3 jk<-dVO Uj*/dch@%%[^5?V?Z[a2aD`i(s< LWʧ,DQ9]۪j=` -ˈa[EiEQxʉeYaʪ TN[;^9K9ŴDhFL -Lhvfido)hSmjK: e o=T{i6`1NEZǯ7TnkuB;!g'Y\+u^duytyiզ|yhy݈/F3 -?O=)]w_ -s52^VG< ZʍvxNw7vR] da?o^=yxd~#aM8i''T lb+vjS׊/*u`OU(*2m7tdIā h]*s\ =+Đ5r0LM5|mQ-PIXpb00%5^mjƲ$jY$ UAl)&E]f0i!. a 2[h/-Z7uԷc9]Z]Zr-!*OBwåϞ78 {MTf0[7-_S=1#Yʉq -,#ʪrC![ḓrqaqa1,D5) (7UY8;Uyqvtre \e,$>.wn6Y/cu_[q/}Q;7{ڽoNRaNouvrӗw6OL=<9lh5nEwS1GiFz!sWn\|f!x4=<;vZgA+Nvb]7b^"_i:8M+ӣZ5W}[.OV1d,a(xEK <={yzzFm` fVևB7bphv(1aqNmu*V`CxB9MrH'nAZGOͅѴ4ly!,\\d \X$P^Z4থȧE'F% ?D@]hkQ41UcPMᴲ:RP@RZ N0jR”^=`)S -qV_"o:@ -f, -X2v8:~괘YxS --}H>KSTU Leg#q0 -U{9wp<\yٛvXā8;=,jTm2h|U,BMl|w{?33W܅~t6_:Ν߸Y uyH{}j ?xձJ/^; d0Dffn~c]/uj\1Wѳ¦n2on^/tl<|_֗5i%z8/Jkb'`筻xƗ[ -A>t]šHKWt*U4bN2:AA@CR!*LF2C|*Upmd*65@UȰ ^@,8,&9S(:@k*FeMZ5stT(f+d-=-,>U -` c CzF' -2Cl$Rw+5vIa,P O`>.gD - /ҜjiR 2VRGyϡ4Cx{¨0=cҹ}ar#l_gd*)EiQӰ{e1$Z4>(mvt2#QZ_>W5zZ"R~ü{Ͱ/"gG5rN鞵ttNQ@8uS -fXabn{}L<ߗQ 0F{,7EϖR -:AUaa ؖy^Y4s0I B F2/"G֒g[9@ָ.)ED/Z[M$4* l aRKmƶEUCjdeF9@vP,+KBҵ@B… -%`+KDj! ڒ2V+Axc[M̸jj:66@9d8K6J{t s:׿F9F6|XH֟ދt1* -QCLv;j{pxy8_MY,U-0_s_틛?mxTƵ&:;]<v}Kswӎ>Lo!E9/&V:1dPژ`} JoZ սK/~/~:_?|kolt3_*dhpࡓ8/DF*-͗aS5TP^u?PմT(4D(KαZ m:2jU(C cTfKl*Bb#c@ˁRkGătD.!HAqhҎ TQER-8ֈYM\!R8 -#SCJM~6|OP:]J:\S i|ENQuNF B@DbH̑P⸔PX }XRl"9(riܖ0UL:h]By%D UQϛQyyvv;^,6/룽ޅ+mlڢy*yln=m,lxcPTGw?8nxS$X^ugG4>>1k6t!HNh5áW>x2MϪ Ww,sJxu%|;k*q=Ϡ)ܺ؋~-2=1VínvKkFkKYmzZi2gvZn1v1$Qm@Fߍpsy?'kE!mb7 UeaEfU$ԠEFJh"^o01cQ} -UV 7]cVڼ|cV)LrNKp,{&\aF@m2jGIa˨eig =T&VF>DF2$b0+a]HmF-KQy0'G юk -G}X!Pa+:(Ҙ;#($浨I@)6ƑJYԭӜjS3͉'slP%5B'v^bYX3*3Ml.3oMa &U8a&s'p"ACiZ/13i7h1P-zdRżB\1G=ph\҈zk0b_hn*_x4 [k/or~a׿v*yzڟ*orrzWOco~rwy370>^|g_.?;pZ6 XU6} RF (ekp(,$C{Ҳ`t HkjR`] v +*2T)8+*@``=Ӵ-a"+;>)1}I2M -kV - !SH͠=4Ѹgi qaPUF"DcY>mBU֬'.+]`*K/*{̿9|;e,<b@n-ƕYӳ}kN`-+ņ X8ss^w/٣{Ӄɓ;gzΚ.t6k9;͵;7^Qbv˷Jʖ;ؼcN =`nZ9>.og' qOO<||4XZ~8zk.ުIAm!D$ %^ BץͰubj֡-ѲIR\M}KA˽xudDU\MSNI 6lpAs08WZRRDB=P|ElTyg `%aI<ZO[ !JRuVe8#j.Tkb/*VDS-/t5;E_^]W\>J 0 j-ETkx˿|6LI&*.,u]`; qUWu RfPaȹ"@/H$ض \9PZV 3h -99 -E#](HU _0 IDATckXFҬT,+-qA,mrAkX.V2sX|Z@o9kݦd()ltH[8^Yk0]}U9xטּs.OoA;*M_ &@\]w8:-kJ؋@,~%0`3ݒ o\isb~?ï9e;ڲ8yٶ=U΀yqr7?uݞWYzsnkWShO ?N7ůx/}!*F|xo;UȑBLh`nMj!P*HAA* @BP@"Z`*P{k J D2E RY0FK-)=` j_G n9@Dk]X0kTJe, -*CBY.E!Ҕ -& 0}y`*\՚T-P# yFO`y@B9]Na0TCk*hkSk K`wDk -uJqDC\j m nlQB2Z>*UE'gSc l8Sdee݇ Wf0WɩubU/|sWZP8ZMox~L)I<D[(>; BirL~rӳƅ A3 6lw?аH.w.m/f0tCxYղ,3n(sr04Ec(#1+  V# -`QTPh]\qbTۄuCgc}'gݣ۝j:C :GY:}|%ngA#KJNf/5.\}~k4[ ekv|9w>hzwZwջî# -2\O޻5W!Iy8^@nO}cc?98)ѦqH3)1m$4/RF8t-! NOllȍZM;@X4v*!hj5zk^*] -[=ACq !,>=*R a -+uYaI *f1@ө4$:@um=rO:*:9T*ڨ^J<q`zqav4rv9M}la.`E$|v JbaUIݗW" -t]PYEdUkߑZ \ڀ4RI -[5&TsRC&L-13Y3c`z5Sy͠DiCW Rev]jPmJBrNS\\X;箊4LEUV ږ&]L.ؽ ,n͛iu;OgeoDagG峣Osddj}gEjw'>^qħw7vΎ>l[_~~|w߸dڋAv<~hSJ?m\O@{={oN Xw{gh=/ag{/ Z䝷_ޭO}?_D|7O<5FiƳVSٟ~QkR}.K$0F,,T"%4@ 3mGД -CBȔQZ)B #BTi"φN`D=7h@$BC*D(BQFJ0JqO³( -!1T(`5Z҃01kKS>`jueDViDub UvHA`!AB:6!TAMƦX@bDRcҤC -jKp!AP-4obf+.^Yz4:t $N>ڿm`3nn>s ?W6.:xLv6wv.\1~2qɡx~·G;wQڮSKڕk;~9>طQ,!ĽFv/21M%[a`{{Ec{U{|azo4MWQFB۽5j:@0nQyr^۵.̴]x 4Ϊik=BҬkl`9+؃aggm `ƕ03FVd\ElSJ&Hv|UZR)X(vuTE -sը")xL;Q6uSK r6.D< @ 9NTaN4(6b,*^FȠ,b9R%u\YHΡ pJm*iCCH𹖜">'.x"Rc%QIMZP몮|T8:2'y] - MzYE]v"XR'@-U^YI ^G:h`,s4ݦbE:/U\u9$}7B, .c8{kӿ}uJAmv {t6zWofyF5CPp۞'/˯_v+xqӯаncoG?8~׽Hϛ]*QڏE;|kqgkU%V'VQ;\_w1Djzotw }8Ł97{v'KToW_>p5Ӎk,z5z 7o8\C ,V$n`ǐ<6A^"5ʡʴŠ@ P^B u@@u&R( 1)K`8K r,% ZhSPۅfKu9]3ХNŊT,(I\gT(A2Rj%!wo)1n(L d4:7VN*aBP!+ FSWP+(0tBjK <(nPdV`2ȅyf$%r(pX0@5Re$7Rh dt*H@\6c+;_Mk h{7[*AiaÕi>{fk}~ܳ'.}~khX2D59nVْYh:'y@t\dգ .YB̅/j5RRxAk1mi5g]"``ү1VyQBRIXY]Ւ\`nyЊ5ZA(TI"UˠjFl[ H`5)rfnV0 Ubg\iUl$5F:Qa%2CO P4+VY>2jQAm\W&6&eED4BI\AtHWvZq/"AV)AA"HD48Yij:Njr.+yp4ٖ5|j%`jfMOWeU߯^o\3yrד,x >__G/~'>dm;~g;DZߟ[7|{B"Ok6Ռyxgwͨ:Z,U -;A˱*u/K|9YO?}fu?M_W.>sSvssrumzMO^!zcY,v7Vͭ[8\i[j_}^{?l`yj^W<zf6͠ZŰS~rGwnzӃӳyvNK}P -/NWuox0.#0i_y3!htg߽lw_m8i|w~/L׾7mR7y÷mj+KȢ@dךTZv>{ޠ=T p,5&@֊ꓒjL3 -`\#(4j"B APm*H4J2r1 U5H¤Z`\I/S'FrYZ0I ,EAFDn06#5Q*NzDQT`#QW4D --!R14mwRh(ACP#GC@Bu0Ab S|&TXC3" ] %k\p V``>RBI16k (HANbJ,;~vk3bt/Ť"qIMխK`a7d~X9|T<4FߍӇs}aJ&s#DnA?B!:vnr8]n\W|ETa=Ԣ凝$it5.:Eq4uT#Vw"$/n]9w5m`EMhfPxavEgu:I,^#͠6Īr)F< =W]jiRy-ehtTW~l^gs5TX&&N Y2ʸEhHk-Y s:gC,m?S pMI9qhi ^5RA*Y>ؑi@mB;44(@G.O*Y7@Njo|+0G?zȕ0P Ʃﵻ]N'}} -pC_4gZv_X3ד׺5"^ kwum:[].T]l}\Ҁ҆ -HX$Ic>|JQ߮2-o:O<t}5=R0j -BHjx(-DҳX,FǼ[wY,\0COHn IDATSdlfKRs'`B[UؓQPS/u9)&DYfM#sN8* ZٖnNM-d8uD()ΙSl]$y+NUb `4U06*jZe֋X[uIR*U2cι@MVq]a2cDm-5M ,p]U ģdac*ˊT (QSE=UmmJ-ZJaB<6V;dq%^`xpS}$& c=*0ڈ>o`3 D"y=KUZ{/={µM/?dd4j4FoЈ"$UW"'E`\$>K]k7{'^ڹ_87l1v"dh?s;7mvqqxzopƅ+rZãF[;A3U9,$Vr|9{ Q#[x Y/wn}/Nzsm7_o!"^k -]((VXVni7_ mփWm+)K *A5 -+@Ts k#-dR$Kj$̅ th㷵ӓF5L!5'>,KA=\ozSJAA  ~ODK˂Բݒ嫲*}k?!}w<%JQ4E bHIa -#=Zaa@PBJנp6C(4qp!u"!4.'qYAk5 ڗXDEHWia*&*^7+ Մ[1('%AZ#aHV+I-4U0\xk==9{| K4WȝZi^x??yqƹ6hxwmk8⹕pwlmr<=:~fmp'$rcyBnS!xIoȀDp u?ܽ}0y9fo /;A*pU_ܿ)Od@-n|gZY1MV.J$§Z --tC A\#MleU-AcuڒY-CUB-o9=ѐ3̀#`ĈR@34)@ClVN)Sj`le\J5C4R&lE5RUi`1!pT dm GMITfbĘ,Y_@1eM#-g"1HdeQP>¬ah/"hw^X+ 0@LO>/n,+}^^˯Xxٜ\pi ߼tI"׺vf7Tzc3/V^uɻ. -gi[_2œ|vP~㳄uV29Lk;*ʬ2""&6gql]s<*UD%yЋxm^Qx}dZ",jQj,TT%*+.5N9sHPa)5܀fmd%̇>,֥RQM܈ҍkt8{+_l[4&Άo -^xm{w?p:5ɫl>|?n!U&y~?}? AFOMd^~4':úҡCkOS 5%֖` l$tӱei'Dl&/ygSR3ʘdRn8Oj6lrzs `kib~rz2zox:P$^i!YI!3ͦ(èd& {--4BD\;ˑgw=gts%t&W\YXMXD'|&1 9Z|Ҵ!+vPg4Ԉ6+!mNPEZAU22sm܉l6Z]o7əQ9e )R5 aQ^)(@cnkW}$ +X2'ԇ~`dW~ڹچe=A NД f8R(M(k ukUd. -H0Qp1Xpc,Ld" (eq -1,F/ZV" Ӛec4, )rg9v8\l=ZIxAB7ĺFhu(V7:Cq^=dzWGgOwϦq[߼~͞<>.w,}|0?5g6?~Ҿt3vlޖ/^XAudލ.,GQݡ9c^;{T^On]9e>{H2f2e٩VL9t$ewb rjӇ;g_k/wOǧlꝣxW4ǵǿVg%~ﵾRssQhFDA}7 gwV0# j@E@m~U̠.V2&PB<4oڣm>M1L, XF@LcA"[8K h Ta6 0Z= "t #!2ABu DF T<bGOa:U9N$P @ -ZsĖirWF4e2I*-:XL'#a( Ba#4ڛOj=}cmێ辻^\v=;O{xahL .t(BjFi9c =b@nX XXck;%'[ wgxUʇe?<U`-ꎟr06.m4¾J{ol}F+}_۟t/g~pz)nIoj?zoE3SfxDA +0iT3+C=b$0]2D- -VͰl^\>\Y! B"bl-g/}U\@;}q{RGс:{]#r Dڊ1 -{HScHpdj-Ů B0utG@Xc--X -"m!r)fPAT`5[K6hFOL+Xb4,jR8:9/Oni*A6VWDV)I4 ۽m||+ը_h_ K8*KqrVwj3Y }rt~x7fv;~K«kn}悷sG׾̏weu$Iĭ$p񻝖Sq -4sZQXYkqT )xBBtb9Eପ ڝUCY-FKʝé?%MO>9KLYZ[ʍAYIF.;| -^׹NztdPxc)XXMuHLrLÉ`f"% œ N,jӼ 1IJ7!%ղbefMf- -9F ̩A,CX ェ6r=@4iT -mU։{ dQ\b!K`69vBu1v8YLe -] DNeRϩ$aѵ]ӈD:#GL*d lQJ}zv2rkC! A3S_\aB`?oZ|+;oHR3>@7PlGtuZ3% 96xt~#\x+wRX׋/hŦ<;~8{}'f89i (] \̧; dLsȹ4k>Ɓ+K4}h8o|G/p~F܃Q\Ֆč$7cʤ"޶?_*{K'oAt?v[7/nZg~?ˁ '?cS2 -5Z[\cb|_L9(Q@ Cdgl{tfyf,s$O-mu#81h=e/h2,GqPY{#2X̘(u4CRp {`r3@=#BUeMPVRK$ 9ڳa t5PA5*ZeB@yl-%>HI- XlrֽTye6W.+/I6.zta>Sc% +'5KiڕΕU8lŋaSY]ZN#1#L2g9hb7+K4Mb8=^'ûEFwg~(G}[U~0tA7ehe@g57/>saluij^\7zr<:KqaLJPk4DYp$9`Na']]{rrPI±/Mϓ$G/.vtuorGvE]zjL44Rrl):ER{JP__~֥4PCWfBJ)03JVg(kwimR&+H(v% ΋u٩dn|%7ӻkϯta|\dQM Nϗ.%9*zN{؝sc pT]89n{?r?^(+>dZzяpiw|XΆ+M4=2B93#AmP:;ƻsbT$ӣlx8`yQ}bz^n9*j -y9rɤZՅI!eZ,ZG~ԁmq1E,=f6\<SYz FKxӌŋm*õ"gt.ˢ5c 0"IE 3#΂A(v pBp =ՐƐjZRCcl -4rRjDXJ* 6s18ZT5gf+(PKBF|ǓT@uaFPe#6C FIZ8֚8I|]|MV8謞kfYB6JA 0'e]k.ꚺ>SʥIg|i4̞2-P!+IPw - J̞Aͦ#u}L",bBNТڡdc%gl"&Vw_WmRQqݙb.(#n8A7?VMq\ޝ~Mg,89{{/f6_>CqnS\Ο][O|I0Xu=zgt= M:m5R\8pY_G?K/ۿ󡹽y?,o­?fh[ߺ8胻O|:y:ԩN.߬_V~ %E׿qΥʶVdWGJ0H@h8ަgԒYٹ M|Mv)PDGB̈lex -=Ld&)lh{xOekԹi|a1*$V@^ЭuP$KXv^2xjʹ51]d'C Ah0BKCaV-\7^¢huc3"#C%inHlFUh*@p(On[ S!d -~tp -q~R8DwF w;)j|u\SZ#Ŀuƫr{޳b{g;׮P2.KRX]rӓ긮2N˨VU "kKo- '۟|DK '?~F "=x%݃?KF4}Jdz#[ G{;r)գk$ytS8YmAmN(BÒo4v2]Z䩴.ΜLUɄk.8H hPF? -,i6hmSJsBĒӎ!cdz[QJiKڞUgBtkMMKDmhPB`͌R:i`V-wH-jAv;ˈ@9\Bǵҙ(b Ҕ,B :+& 8ea*p/6WH @y s!k_T%C(IV& } ĔRKJ+)jkK$HH)K15D`UI\H \Am"fܤ(JD*}ΐ@wpJVb;\kF *ꨪ*YgprieFdǍbbi}<<X M~gh:UCddGeOҘJ -N(t(N◷=l=}O3æp0N=6?ؽ_NW7;:LW]bʅVqj7.[ ߿꟒? ꒙|#>("G?spt ݸ v:)%f@H_!]c&/N%v?۳}Yo\{w>[qGl}nVCԳ~5%φϻ|X+tj{3hJ6H)߳kͦϕβX90`RXE.s5Uqtmd!.9, -!@s Q*x\*H -BcmʵJO-.u:TbMM槸NA:^)* 0Ŏ1VЅV^,nZO` ZBRPAe<(>PZJшe . )x F=ک~*y╨=Ns0l5U?AbM%6= g߾|'\^X\9\m-vZ>d_8Fl6Wḵmlm]Zh_J%&:\4 -~ɂx2&ӧKfϫYQsj|vZ1 i\^_w>y4hx {B;hGy͍Uecɝmn@v,edᠳg.+Dp\?A6̝O6*lʩ 1Tr"jQE&Eֵuv'BmGGrVt~Lܢv^TȋøMq.|6(+Qam}qSVFDKZ%eFTמM.| 5J8>4GMTV˭`$Pq¯,v$-:JB J,30L@æ ,H _2ڡhHt2Gp]QؼF(31LKQ3$32|XI =N x|>]+v+2+}f y,%XfKEբ Z `~TK i`spQ26n[xˏwk{Z VÓƕv5?:+BX/_@0yo'Kwк_zd𹭜g݅_ʕۑ t Ǝ,+kq5(j2By;+߻О<{rr8J /FD3Sϵ=~Vre_ٯ^/n믰靓D_V\ AJByyjc1Zl?gd>YQKxllM|EBO+Yֶ灭 NKFG[ *ѿl&h-4(ؠj̄ptJe}ǔy)BIˑES bAOPP=kKi\ j8rZ"XHq"иPA)*S`SD%vԳdh`Qy9p?yW,y ^tNкvEp-9UcaKg?>6ݥFmw4x hvx}*# W|v(b7s`r eA=|wp{(F;rOfJK• x3HўˍY^\pĭqv:C坣3,եu?ydG:d  -Ru> ?q$gz:i~\gGy5>3rv`4d9٩rc1-'. Ig:5E|`yO( [W1\V40꘶:63 j:W"]W(H<@k%7̧hB,T96i RIJju&GNz1Ċ;!!g}V8 X ԒC8$XCmu"SD1PVddT;Mʢ3"CEk/-TUNMrԿ| RR@PĈLlB1Z K -М{knzvZ{zbxz⪌/ln -=>7b<¹Ռ -]39`3_{_{>xt,p֗;϶./W6mIG!h8L9>;DeN/a9x_ l腯v3郺Jcp{ GѳOg &>I,Jg_UFC;z]wվy׾Ӣ>~_(+0 ,.ކ*H)gWŗ7l~yba&pYnf Nħgl\~A|_] -@+Z ʛ MT#)FթY;-$E* (-C_5"ıgDQ0(4 - Vd${([}|ry+lѪ6*_J zMSꚃֲ`8X0>42Ȃ^`頎6}4$\dX:KPN%Ãz:*IVߺ,qtRfIJ'Q7Ac"Ow]q|B>;&n;wĦFqEgc5\!rYz4U;f_K]xC`Rn TO=ƥG')Qd޵ݺVcX)t~[K--&r%~; |DWzÝõNECd5n q6G'y~g :ĵMli=$4V0F٢4cqRyټ7d2KDzk{.Iәe8 CX^4MI6I7HMkkXt|P ASlBQqc:5]/vTe sv{fѠBc"G֥|O602ʥtunH͔W1P2 T(nWF"bl?#N1hJbU CdҭDԺq @DVȣ3$8D* -a,JrڙJ)d5e Fd<m[e Xp\ebg}r9Uz^$`H,//[^֯H֌'y͐zbUܓw-U, !JXѨ/W$N(aR!:F94fSV[h̚$L<)ig]L] `2=*UΎ9?LL |"Э@/T5Z55kZg b{!\;x:#d:E$q/TƣTҥT @=1Na eʩ!͑5q H2< j\,DsU]0bV"DJ)SA:p.`Hq[֚&$J F`2TTIتl\gQpgF?|mY ^UR)M㩧i|h\R>{핎eU$ Wz+S5K8\T4_l\;\%P3+T+U}Gյ/yyN9GWqmF+Y W{'kׯHU 'K{7)zǥ^Ҋgˢʀ0UHT^dGc]wCW+˰yNj"琈M%(lUf P̡*v1KRg3# g}M۴7e*kU2-(l8],_8K%p BK$,)#,=ެT@]THwuL{.[8*)!䦑r@Dq)FSt]Yb۶)ue 1U-ʱUn`0е~gV( (b wj1HpL908KpbʮJ&@bHJAb2X欰} (*+3. aJQCrUDaRň UdžIZV4,d=+d$9: (`K:mט6n!Ӏ^*b `ųAjtaz^rp .#X*L'jx-6E P@.So XB3BP(r(i? c2@ $+-AJR@782Z&\5L12BReHbJi(<#KDN"lTHlaH,<Z(ݒAtuQiT82k5rNbAIef#p<_.l׽(љl-}[zQ&Q b@˒Xh_~(àWe<*yfK/vl~ -nCf@t%'o7Z˨qÇ/~< 7vo秏+;vҽb 6Kn_|P]HE4۽.G^$Ѽpj8ea՚Mk7ߒ?tr~[7򝐒 IDATkwn_\_m7 P gr@5V2/tѮlVP_ׯ]"^ZzPAIj֎:S<qN؈vW;}R|I[CV׽(>Y&jܸ>]*R׫ f|(Z'O)RJ?szd'{{ ]m͞~?k&;o蔫\|VG 2K9vgK%"RjT`TKcn!& flBHL&I G(<, -Va/wA˼Ж@iPŵ9^0^Q"M"B=$FKE?b`1-E)wQiҩp\bh&z^Ϭq9)0mNAOf-2ߨ*%j'w}޾]|Lp~?ZZi=qcl6+7+JZ+z EQۻxe|< ]^,+[! f"zgJQQ.9htlG/(8OO*,ٮ\VZ 4hy:5\,aVE6[*b8" C3|Q -rP,eFI1qGxCGĬȨp7+C i;LerK -[PJ,!1L'MdeA$̎J$L#P3 -D!\!B`ɠb"Fmؒ1]`cbFKQ̣Hk:*BV2bz)HL*EƔ} I>MsS4]3AYzp, lA_=BδQjZQ6ulkҊL8T)QS|&.RxV 8v0iE_vus6ZXN' Ioz8gQtwU2K^آ8om^Ք>xqr|1ʭ/U mFk_շg{k9zk6?ًj#ʪ'sۗEw ݗW6/>XZn2gd٨*-N?8lF} (g;_ 8srQkJ@Ve<-󃭛oW٧?ﵭW6ƵvE?y={0||_(XA؃}RlҿL+[>.(F -[#O17Ѿ-}vg g`*Rdg`x^s<='yCݸ,Uί!">{ "nX**Vw$,WFP*Ta>mL)IP(%D3:OxPQ( !fK{y:6!]JӨJ~]k֖$:X[1g5v.][LAҶ˽jZIT bח#ÎWt]MyJYQݼdNWB =͖봌oO -Χ'8;xn ^^Y7F,AIgeƛ[ p7xygjsrt'vpo~xIv[ᐏS2ڻ(ft?_'~#YA0аnwqz`EPI4Lgy/`0b0e_d띎Qja\ܒ?nw5N$L/ piHT(w.2 X.H' hlIr.[@`qʱ xbqH| 'E-Bmjv0KX3-SiB2ЅUJs -L1 [`Ow.2̸9:Lw; Y 6}J$dJD72 la:+R[<+Kh[TFL(xGә:v%^0<[o{gw,k lUs\5znW×عyu%Ikcp^apeEdw{nvN6鋧)VRoeg&i<)SJE/-HfGW[_ٺ׼k;+/Oi{Kj|2w5ڝ$.Z;ٲOT+7kw{ϑA#Hy]q4:VY𣗺u1yK;ٱ:9,kYivw'd:-M1aA .bYc4*9g tZr2Jz<1/DЁy. -@s>rUOf(d" -JeJT tߠu| -΁*JD{W[T#%7xh2\tܿдV<3G„a -F||2O.͵Ɩ}2#9+fX^[ݰ wziDgbuwcZH_YoVCs9[6祰Q<, (FtvP%=GCh/]ڀYA˘E:˗qXWCDy,2U}t\YkF{' Jw4þ@,2r߻lR &>}|jj\fO)\B(9u Q]3K@@E0IdrZV+_[8@:I&uP1`bZBΖ-cMtE2KEr@FjH l 8 yVF"Gnz s,HZؒz) -3ȷ L;GQ%:p i0EB-2 hoJQEY/HRlB}ɘaҩ -I(H!x>gIеmRʑtJ2SbA@ ITXS!,8Eθ5^[nC9dIF^A .b: @Y.9U#Hx^NhbMtcʩl,iT3*! Ɖ>i<,)|N(T>l%l^%4<6ڰw^g֗/ - {\nv׶RL_HYV3@VL_)n; /ڦTa g2fSgƝO^Z5B4`R->ׂJ{Ata>XߒpYilVxr/toתsA,u[u*8Z \\,.+F,-Z6sNiR6^`2Z+nkRJsިlz<& Ky{/ZFZ돎gañLS2Uoх09doC 4;˸0@dx$? `ء8D ÁIJ͊s -6@.quݷlYZ&$˔x 1hU#9fe4'v -cu- %:`ҸZAU)hX 3V8NS7nҰ-,&$)\In@IMݵ2sF pq\ȋSZN͡L%ҹé]ɄJ$SC3<ʴcۭe:RɠdLeX%U=Ē#t -ˤt0Yiπd\W*Z,#::*q# -ilV1 ӴRz;[ ?&wo'w?WnZɯ^{wծBlݯ/ ܪl*c;W߸ckf&uvd9emO3D&(jWn5 MDžޝJEFɅݶWol?ӃsۯXY|1n_7{㫻Fn?^[ke󙱺f&Hei{+DmaatŸqFn}ֱ~!ꫫI"n ܽ?՟>|u>hn{6Vv}wfK\zk4;&'I  -?~ \A_/r&YsI{}r;cq [W+wcUu-ZL%*me.][1 Wސ>4˰d]}yUlWQt2YRYHT)Y`2L)M}6ȃU=2ψoD뗵aV۷ %A4kV)-YjvUQ1?"\f+˗|l % ύV +tJg+kJs"֮|B۵#[xr/Vr2L0ܮvCd+E{΢8rG Q,maӇgQv+$޻` 8 @}M2vkkot@w=idϿ/.wji`Wp¼:|۳Pa^w7^48d\hN$1K!T(T1*T;!+2!j5RNNgV\%3|F95Kk7^ Īn^3ق/2D#VfF?[Fex;.㄃2lU7O~#[]3E1G/w߽񢬷L>ɃV~j =vZM}tzi5?' {wV%Ξ<wtWmF6~X7+bxZ6w^{mif?[v6o}𧖖QUb?jd wU3E#j,f]@].^P׸l,.<$Ok;7" ׶`/}]j6S&kg$0X2q~/vp㽧.׳!G(o~w.t{'t}ۢ?\M_5T_s^ql)k"lW7Hڛgyݪנ͝+ZձL% nrtzx%H*6L%2k.-M t2hAn7mC*Ndiծ`CCX6&4saV֫= bIt[&E -u/˩̑( =楍2GivIu?Js84IuɔTv" rKAK LH - ,J(T@ -f2*Al) ЂPf@@;膭J F1wU+Y ufn.5L5Es_Բ̌6 H܍;[NA  Xˤ`@}\Dt F0 P-|0Y7_w)UG#N׮Shg -LۙIwwvP`Rxzy+ ~uo0I׮M8?݆BɠgET`nO.:yFcy,%(Qgsu/j/ڸXb -{o\Ȃs q4~jWlӯ'ݏ~l dF~bijUMJ1fA%E_~s~ ךZ2᣻O㺎XݍFmgv2Zd6ubH,<8Q]s] @>Jۭy J;b \*]%qF۶p[t|îz+Yuk$q6♁-bᵗ1L#-/fJy[T Ki3^ -΅8N^#aVV +&HceH\]V[RLGYq‰tb< 1\ʣw5uxּ^}|pּ~( -hYr~p ^(mU h\tMfFj$?OL`loo_ neI<>:lm $e4M iԤHia&1c1|94yV<11|_3N8@vQ-pkӍ?E9XAףOwvPCLz>{vs;{4y}ﳧ@)I3{ѕo~C(n,~~y! [R4ۺieœGe*>fk[, +*+_^RvjA_-&L¼v%2wo[w| -/v]{-eԚ]w#яվrWOd~=0["w:j46~+(@onZ)1] -b`vr`nv JA8ư~mkk6wzks JiqljP!2^sV@N#CC|/N/.L8Gr>s7 - -'n:+c\:z$BM$U$h,1E N `a@:K2VL gULA%mg,χQ )uMs#mf8]VUρ(,m[qe wEcܶL"@O/G l !jz=4m]J" k՚3$1MPq[3̶AL\@ͪz*.-p T.Wu|j0*kn|aO7rqQq\ԋ:G8OXx6z=F4iAA*8hWK1ôrE}9 膓,  BX*5^>abIy4׾ -Y{g8v+Jxy_|BYa:ͳb!˃-]]޽Ӝ$ThEl79`tqɯ?ch>7q2x^nO{yoz7G_}geCQVVoS_hu\2WcXu5Vpο׍I[Bt,fFoZ_Qk_x+7wfSӇLl_۷5#Z fX[H;ӈ$uAy !j^Ԫ,rpZY,=G2BU4-Vy>fDu+p$\NjY_8V.8kCYHDY&*QFsЋhd]i!UƥTgU_ -Nr#BX4Db\Rc.W)qd8MeCNl~-dZ -Aj+9Q ]e`rBsR͒殂w.mވ1TT 1"VLSU(PljF-d%Xmt9%,F-2M&Um.R*ˊ9 jSA25̈́QVdώT5h0i*iLUUR]zV,XjoZ'sh# P+mNjVyˈqRRwM06Mj7 ݾ1i[cKhu]JNo萜O^Z74F5i(y4{ь{7o͵߻ .i ӕp„f -5UheK̰c8 -6YłFe$BOkUk`;Þ mJTȲBu:Tئi!y:kFr%p*I Z  \3 *$RUJmUKm_<+>mw5j4bO$_e,Sc4ש#VT/=秺fRyZPm `y&DKe $k:kVA痡@>/W6*  yk^o@ ~4KTU6~a5 >p~4at叮4Cwӓlѯ -ִxz?_ gO{߿Xu{DFP,#?ֆ eOQAzc{Ӑi4׺ 47ج\5fӧy ;*->0hmzq> F[8z}v0DU7N0 IDATKRdiXCϲm 嗯|MdTNG*8w7{(Lwr|"QRo_k@._T۵sk.n TeD-_vnYcw8εPs2N#Lu SxmKgt<׶Žbo 2DJ@&U!Le -K7ZBk-Ƈcc6drz>W-_-Bu$[l[7V~q]ӛ'#n_٫.Or_ß 6\s }{{7w'~/?~R^0D -(^JlZ+Aiھ-Z䋧/3_N9f\)3Mw$tH [+<2ousKhݻ:X&bS2԰-ٳ$fh[&YU6ȡ"aRMѓC-fLuN`Lt׿n>xkW jw}X1Ng00|YDI-@*3Q/z]A[U I1v70ORlh@Wҁ {7$X1)Wv̂r5 L8ĮВ aIMtBBeX VJupG\ a`6Qkچԥc; "bh]' VbQ^I2#\DXsHil[F3IW<%4U+ tA[zn0HeE9يi#!D -:ڲono)5ۻfjz!%VuK $(TͬrcQ:m6U)/Iɒj"-;B1Nfk-CLShM/qI7yggdvow&tѨ} zWnn~*Qa;_T8X$zjWï}*ZM~ˢۯƿM^??'tm?_wTOռ/O?7ouÇSa\#irEM -YV/WQR\̡jX1J*6 KI`hf@TRPTEHf.:.)D˘D Q d" p)xi#luvNpM]dDx WWބ5Z:|~Y Z\Iۢvsȸ38)jr&iR2 kRܿR@.˸`v%I͵u-nޚQ&FFg$QbvFDlCZBK/*t꒮ΟV{77u*qd׺8Z[7F*O~9ycNWr+{loD/>?uaS[ntyy.t-Gc+6emMaT$>E;o6zdR -^M@w{zvfq֕u5m?Ќu 3ny"Y|bځŌפaӅh164,NOF(8|~vї'|z5`"& 旰9LfZHݷmŘq̭g[q B#TGM"m -l%oͦxh!Q 4GbBa5%ZR!+Ea%jH(ݰ0-5V>('sEN"Գ*T(2gaٶ- -,f ʉE 3X:ZAY Zfl<'VRBC8 U*ʘzjAVA]d08O -kF [դe9 DUɈEauFgKhNI-ZUKEO/2 5{M:iFQogIn5)c|~!h|~׮퉓Oo߼qG?E.Ve㝵?Ty <Ŏ׶m޾"Ͽ\!/!vk×D_}G3iշ"<ŋG#Ag@T#g*^dkW*,ӓgϘXTIq<q 8⏎=% cmC[NB'}Nr lZ2@hER ֿ.0+)ɥPmmYdzk9mGmjqVgc DR/ ) EY (e۞qtz` ReHU\pCFu?~OP(@z)(R sk) )[%PJ13FMˍ@i뺋V# @,0 ^ڔH!Ld0:,hش -kXRnc#Ǹb9md4ʀE*:<ϐGs576D4xqpElYGX3(G?o\O?&m -9͘ -ׅr0\ hv>_|t wOLa9+$]Zqgg+*xV%o< UY5O8hLAIՎ ÅsLVDhY6MgD -0CԲK-JkX-La<%)b$8Ϣ8|^*+g:WL6nY$w,RVe4%L*MEmydN"LI5 -Ttm])D"PRHk"jUJ Tp}M@*թ -*VI Ӌy^ȴ$"^I4#eyYu%Ɔ]*JTI/Tp^f鴺i45X5l׫Y( _6lx]:N ,Sޱ_ 6x×?T:ˇ3z`xwoq״ÒwGg烓7vң==?ssҾvLҝo;onKG_ Ixy߼$PɦK%n i~v{W1- &__<=Ãdn]3ϟU{omc?~mnpO).LWp|Q?xk{fkZHzf-@DN]u 'rvuSDE f9|Ni -g&:;cur -6(2 CBlloWpsu_e@X\ێ+DVC*=}#0Pdx` -譁 t; Ӈ_׀g*Ѥzz9xA@/4HѳO^ djᳳWgd zu0ƒ`:4-oIYhɹ*-BΔ;TJӼ2u׀jUjF.EfӒ VA./^֚7߭VSivĪ/> -u6hEkɳ_|LkWi즽H"w2^ W>ӜV]aO^֭v(\g1~3vkt{[C6>/&PԲ+"]ڧX{;6¤Feͭ]['2ӬvIC OXy}14;}tD=3euuyA *2ƋNYPdD+U2Oˣp1ײB^_[^OsVW62-4k rjNpj!9uD ڤx cxpup|i-gܞqqc4 -Df~ڎrjiⵁ j@34Ô  F|SM%AAX`>f@>2Eq P ֱ)1gHCQbXm"psHuLf`-b{,_."DLEiȈN,Ze%ƥ=td`n6eJ.NfCZцn7#UAix֐qT$0mZXc6I$,І/is61L5N4mSUinY(C;2שǿZTktpY <跽[Oϳ7}cc.Φ{_MNO7@~/}N}}k6~:Av},UgNF/zK#{|uAƼ dUuorkw0S78a_c:ʘ`% WeH^c9+;~/ZqNkX~$z{`qFQ{%뺪Qիx,ػBb+ -'>m͆z({?Y78MfС=KqY5ׯ9~2$5Ƀ ͷoγu |eb wlcZ>;"/we{-m~?-T7*%, q fg_q8c| x^-^]<*kp=м*=?G^̟*Z -X鈈9mS)b!R,*"- wL4aULpE(\^X6deY.<. !)Lmf1IV5Xb(It 6n}j|a-{<ٳ("GWlq+CﭷVGڻ=>T<|mo>'_P<8;yvsGk4]L 7M -ӏf|p rQd̒Yl;r]ol{j:[ɳ네ikm%6x>/rVstЛ,ǘ^p \w</kMoȒ`R? &M\.,OBF8%oA -'-@'Sh@ U=55o4ǣIO3Xeɦe1HID 7ߓy|ߢIn3m#{=`]n;;_sDf7GXr](9]a %yYGK!X̡We]t;2,$Ny$- 8{6]C -,}1A sԐN"?l0\d%<]k!TuܨauMrat X'Pd"|_=?<}KeVY{[ւq5q-4Gw,Em ݵp~r>~ʗ B]f~o?bᢻZUjjǟ^=|˟@υ,ː)^39;/?O'PՁJ1rN/׋z'_Bխq*%>dɖ#` eJ-SMnP7f6k3=( |,Z=:%B样9lEJZD0m܆K:owh޿sU~;/y_ߺ{@OGnX[lb2xlZl6byuqE{P~ -WW˦A˵۷7o{*VJz(~#En`(8{o>a3ׇÍr"g_<7UdH֛w=qJ~ٗA{ϞA9\d54g -7W砷&=Jiݎqv -c^۾%YJGgO..ZvX܃9(\e˹MrO"˦FNO'0=l%( ia爸2_-q@zdu9TBڬkj`Ԟ:m2x%Q|HL4qg1פ+(k`Pi ֶp;I[ŬS<er. Z\rt}\$a*he"=qa[;k]b3{{9y.Y' !{:W_4~U -E/~aeѓ|{˙o',\DM{ Nudgu5D~/Z3ģӏ>9y:~p;olu*[gU-N_F&'R+okZ^yC{dѨ2 rҞO.geObbֹZ5?Y4yJ O^~RD%f6EDWs?fx$EW'u#܂nn,WZ墙͒:DСL'GOupQr UhfZ'i*YS{~nCF ح+-2eڪ+Je"瓴T}d҂dI/q7 0= J2ŧFUQ 1rmHLbDH.˄`q}"~xqqq -89|%?=׍)3t>Z.ә%dm#xwf;v^t6^_q8:=>`gyʽ8jZ[?|-8"ܺ[oVԉ v%$iUYwPr1qCQ$_dYC1fRY@pr2MfF؊{^Fx7%WrJӣ]a{[wAk{P[-]IUj -I@`yb]rVd~:&,ڧRRbXr3zL{JQ 4vv<¨HWXJrQ#w&IcjDf vi#V!N)DP L_­H2Un-Cg*kK*rʻ ]ID]  q.!m -1g<!︝MaPj%қV0] È``ahI rlUY͊5}('Tf^m:X MR_7~߮ڎő >̎2|oWoQ̔eMdg˳.NgT[-m1 F 5S YxH?ͭ]ٚt:I !EW^;Pck6N]{^MX|!dѴ6J -fEn~ORu>bE[] E;ݷ7!M{~(x(x|7&!нJ/*|ZO $oXBUJ<T"ȿpsۇm/]`;."7EuDpUGϟq\(;;Ww}}mm#7Vo'yMLJJpd}Bx[Zw_ Iޓ>bu)`1dvUYUcun2ZB_ rW6 M$ȡYʠL0ۃFt|iAc Y9`Z&YZ̫dݡjI5kFcܑ5P r)fd5˚"K ^\&i96&yRFzNSb8Xeu -$.Sb - KÍh򋉪" 4<") b)*,Kkmȗ[$<5w7YCfj߳4m{d:)0k!wu*d2Xy*ekZxĩ4UkZwQ5yvx}g/>[ze? ?|m(=omK# 8}k٣0;ŤWIRU;;M^ q|}o"x~kQ2N/󊆭]d'x٘-4AkWGW??˟o&;m~6?t~/F/lZ̨M*Du==;{ã:ܼHI^wׅ*j tYOP49m9w -)unADBNZ io%gM`aPK,r}$0dSYDJTp%W~٣c6j|Uyߊóc10gJX5iո.ggOµ}EoK^KlՂϧa7ۇI.> mg[. zCj AܾM aPΎ`s|t|35 >CvT^T6g3 qF;K{/teWkw -_,nuON~/$ ؼN96ͫ9^1|S]cNq=:_]_=ïw:>Jo,#o޽];4bݻYD),j NZH괘1-@9rsUFB᠃èSb$PbXK=AoZVڼ.jD 839 ㈹Xtzv~q>B%F3@p?$Y#όn.i̩" p&DBKt<VXA:RrC$FaKOm^k0hn =CIiG ht;nDskUP@9kQOv@8A@1Z6rJԞ$0VJclT2hwikrE sa7pKMI(w :1 ωbRi aT@ZL-qx%F"ySLqσY. QX᪡mWVqLRjY*mFbr,*S/nJC4(Q)?ф:nbBrҖjk Ru"ظ:/M{:URgyD\Z&:XɆ6e=qڵ%MeQ|p>9p| iw.#UV>7KRAw ֝w͇7*=npM?}TWnʛ - Y6Լ-V/O7tzr>kB VE!\eIӋty~֐j_?}O_?;oh@?_/tb~^ÝVHJ-5DYn[ꤜ'/RVԽ=p!2x B{7M WZW14aHBnΒ>W*i%s5/m40ƫk*#h`yåN^5q#ZdBresT/CjnB*ϲ:5ԙo/!5,2Gܡn  (̋VK+ũ(V38oH*T(2tH%T:J#l1":2yL@E&_%bB`ϞMBb{6R>i ynT<&FΧ;U-˂xpǨU -!XƗˇYj}.Fg:RǿWW_˕sX^<d-{]jgA6I:Υ7|- -"At<L#P.U00uK`U˦c-_(:xӽppi!Du* TǼeRQ=p/_0Ka-Wgp5T\>% fsrksAg_$tIPy(UY%[Z6goKdjw֣h;͕' P6)ރM;/bوG ć`Qy1,& V~Q \ Yʂ`K犲\>7L'B8Dgဴ$/ -yͮavo?2*>zj[v;n$Ug`/n(:@#v TeuaoyRVFlp0FW4/ϧ'7Bn}= xb4cܭnrKl҅T"M=߂WC7Z<=Zk%xltEs;ܗer Fp{~BP4*5 q}͎ꢪ[~ű_Ͼo鬖'79VYjtRu\쿷{/lo꼵s-JBrt^Qlݿ`1:CW ֆ œ>m8O?>x랯\00V2<WnQe[czNBF3 Aj$֋1D1B7?8w7~tӏ?kX;.( b%u165ZTuv%\mf̈́{lܺç'ϸr!_AS` ?9[F ~wJL|2=ˉ7+'R>T^EejQ9":R, -;ds~dvI"5d5q>~2_(!CL)Ar)SV.\uԍE@Y{ukM]17&\.½-P3^-1D @VI}z|Yv?Ew0XkK{|f+. #ŏ`CAoq|jU7QhセwghV ÓǸX'L?{좺wjZ/- 'ף糛$ll=@CQifh:u84"^Ie-ߢ>3(][wGpX& Zy~{=6 -Y8t|z >ֆotB IDATQ׉0c-#$q`{eWN -;h E8%)V슉&-5Ջ ƺʫ}3 -Xȩi`BxEf%ZXc -DY`@i] Ek)aq5*'!ѺpRrІ uP).l=AQE@ 'GfSSjD,kMFR+ء@AkqQnsWedqU NF,E;D\b )R; 'uY9ODeS,E K㍅yWyJ("@YyN0T)` #(pnkP܃P][JTIԫki꥜lWU?nD?Owxy2;}~7pkuuvߙ?͌=]\8nVƷwk}˛Op=]-Ϋ=!ju+ۭۇAآ,9w!yz<Qw"vj۟=᝷O>ti]dR@ÿ}~t "F )@6"߁(t&T~M9Qw2;a7p' $3|J܋~0Յ+ml`K6q݀8W^ZP8y˚%/jA.kZ ٨MBZqVEpJb_Y/0F!֑F*>{.J7x-0Jk |UH2]I -/ܢeJ0gZp*%(ݴL&S"v詭Jg(63{sRnɸhi'O)J;%7ٳK4fUDzz;;QNE:Ň;qW` {@٦Qǟ8̟s=b4]R/d]4t@8Y-~0:-VĺDXK) LK+PQ `[L4aaE -F*R6P ^+ZŬY&)e!{*Zqwq8cCt \.`Z{\<IZwsϟ|~%bʐ{E~GEF\oΎt~\4!]]>_.q'wae=r|U W|fodfn~9<8@g6~g'_%o.FaX*udo|?zgLS Aq}>B,&G>S V;\^` r&7Ir_`:'"=I<6h AڐI}FEs[n l'OYt)K88S 5s6R0pI 73c|V%>Ѝ[`ruy/ƒm:5(\i+A6~̻J"QynӠ%QlYrt jC~Gglؿskor6րtڽvW a|RTwI'_>ݻF]ǂNa=3G=9_?=ƻn%" M]=ygtg;jH{I]ԕRZ_&1MP^e!UU> } @y -1(}o TOFA3V'jфqo;;-Ý,e3p|2ͽh|Zy]E>F%Ӫx|%t VƂW9E^Ԋ Hfpg3P3%(ˍ.fZ Z#P1}H7C,(PA4IQ:q80RYk:mZ#HF QBRײTBf2!},y|f2:Z'SdqGUAaُt4W9t#p[)'9rK9[(`RTDP u@t -#brhLILDŽF,4Ch g@eB.u I/pX "UR 2s$uΓ&)֗kUqc=hCCt jQ9&S-Z_wu]Γ4rõMgAR -9=Bm=lN.]Z涃_ ^:5n\7X -I-:7J' !:9D$GMU ކ/>WASPGǂ/ m4>gţnm\LmyzZ%WWNu{oޛ'_A{ЋX;{Y=^?| l>Vk}NSxWٗo^@'c٬w({ە} Y_~ww*]f܊bJڝIO/[wj$b {H'fQz!i=j ,πHO.ƹ ckMQbh-ռID,s-T:!YW*"6R4FDSD]\hFXh"XPB [g^ "nu'TI4TaYhXn$XC³>VZϳӷUyJYWFNP9PR#A%zi\DEl^YRUC.5e /(A)lHGW^TC+81# -r"%VBrh֎V-ʅjڄ)Rbԭ &D!HC'鬰 %U@Sb!:躥|] Wi, a"ǦIǎ<1/Wz׹!'j=;tA5a:`YY]kvpHCT}TU20bQ* ^ԋ`gP) -+Q!l5-dRT2,mea [ 7Rb] (X3Ԋf9Z!vp`i׳8"uX; { [^*ױO&'wѭ -n99cg9z/.WʮgQ{qo̿wlex/%mPYZPǬ8[[<ˉ/p/jqևXS#]9>F^/}j3jֶVUC^k`: 6 ZtS\Eg *g328Fo(%j+Jz b9|mwlJ5]ǠumDCN(FɊG-via]:;Dyy}Ni{9x//__we\.dxp/{Gxolwwكè&s~WYLGە_O [#]>*1vw!2*}hJ$~p's GJP<P+TT1&*MS'UBCCOlWZ-%Xp|5kD3{cLOw>+]ʳf'h0KUixWV-ǴҒ2~?Pjͥl"pi:5(Aڶ9oeUy)|⼙sԮߎ2Bn(X(2%u58 \[#MKbEڤuyMKQ -BB%gxV;ҦA2.,h -l*P+ ȉe&yEX)dL3`, y&b jw^]!ʒY"ba]Raf5 PmlKlx=kl;MhF3o wЦ&1e^H!uT$l`(71sɜWJ!.u - Ku"mSQ򢢶#˰˿bu 9F<9{^TF\_;v''|=nGM|d>|=o/#pn :c݃rˬ0WS:M.)\QMOsՍ:h|z^G;!̾뛻["a;nÂ<~2wƫ, Y-s0f灻s;F:{ Z/)MZީ* Lj#cTz:+TPs_g+ΰ7ѳ5(`EUE} , ѩ~S[]6?у2j;W/x#,E2wr]h$x`C,V%Jv`w _gɻNg % }ZA=zlRV2X&(y2~xppl5IF&^u=؎g{i/d#lϮB/[V;5ߔ,?|4~k|޹w>nmojܼsFw>.Qc52jyiGaOV vRH.]-ondOfa3@*aAWjw<4hw -uY,|7:hͨw1"6iێoٖhXƅXYC(֧m8y~6*^A-CbYdUR\da'*NJRe.cf16MQ -iTATv= -i,lt*lcEXhrHFE "@q:S쳴0PQ2DQ p@l7p Bl7PJD\٭[{3G@ؖiYl -׬mַ fkF1j!4ϸʥeV)4˜mZVej MoQ/?َF<zɜ/n^JX>p*IN7a\`uYTzn0j4O~yv-Q;e+ p' W{ۻՁbٻg8K`/.pEH(f-2l3@^狣'?% O_#F`/疆OO+qXBdgoDUը݄Zp&"Z^ץsµ仗/8m . 4H=4#MWk -n}ȶjW?gjz?nhtW8(\v&nOmw[ˬ~p#`?DfkiF切#U]5ʸY.zI'/o(#B0E ĸ[G$-<6׿_\_Lfǫr31hRY8h7V󪊹*)6S>߼_-5,eNJq3 ך~o؁enX(d矿^Z8Lez7Qf0&#& 5d]2؄Qk7Fe0]͞kaz[tT6&7sR‰ZJG¤(mmZ2f+7+fjٸM}մ+E$!ׄ lD~;0[ڷ/lݼNVy`c/fy޻m_H}1^n~=q.Y g%SШ|v~Im1#xx蜝Lr0*e%VPf2O[!LqBCu%i-OVc޼#e.cSfdlf6qGJWN%_J"Q6qrk^B!?xl^dI.`.=ގ{_Q`߅g產(l$H IDATwQ LT7rS5kcM.l~.bખ%V"N -Z"G$f_c1iD( -a:3p`Z-m5<7&"8 -RKds"  !&& L@A֬,%%&\s׏A !5edz,uj45mma6=H۠5 /A9•-V)r --+CZin Q#hɺH$|.1]_mZnf\f6RTѼ.33HPQsaɦ*VSY@͆I" ]MBV>M9ڂ-͓"/p|pt:JG?Ƴ޼>)@Lj^#^onƦ{!zxthy¿5<,9 8 Y|F;Cm'؂@ߚ`Q&P -ooJgKoQg5kzz1|+Oǯ[ޫulR?~ozE&2?g@s9o>c`~ٷO~\بe 2h ׈T(2'}KſwV:j0O!+tvoD4FymoP1;-ӧU^Ľ)~Lf˷{p6B@,+\[K@C\dt,3szr#z;v>v^E)mrݶ}`~ +yǕ:4۞CLm(wnT|umw:b>]a C|Rs`0&,RoJ7BpYK a/^(% z~zN\>xGG_ox}=? ->`~c"~^AwxlKP\;Ic~#9Vњ,L*׀~P),ʂATu۷W7dV9\99f;@%,S~:(>+L* jsB[He+è[ YY2/Ad}^$Tn#?QcB=J*XfWt)ԅ1B[(Mc-nRc%yeph Ϩvz`TLڮ9Van`Cc;H*$yJ*-A -SNH0.qb0nX3q+pUDQqKĢ} fyX ﴬ?[gBۭ;(uCq8Rp)?9]^C=WRk߱,-Ǔ݌VQEàDk8x=ne2i%v͆2ztK)E{k?($AO뗴?hOun -*Dgn,?|5W8X'?ݡraqxj4IЯsvdI+S[7\oj/O5J +[hChoMk;iYTԕQ6Cn`XWߒ0$;.Ǘ&V[Ofe޳*/ӪeGHeT9Zۏ,/7/˺{k08T %Un?t/pt)ӕr<πUoϭ. fUl=ת.h73r6C۫ο<<]b1`wBߦz }gVi\]]m;rt'SÃl ;/4tTQhv>~o|yU糺=a ލ$~znu:os['7E腍u3u^$ƿ׳句zZy][{[0DnVg/ -}hRDÎ *LU^^:@gpk*?< P\|*=g }*YkDžRzGN\;TȲEd.tRT0Gڧ2բj4**}urs8+8Wk-*6덢*Af48ƾ\URI+Y.;ma,ۭ ctFv6HWuᅸ#ӷT+%ΟG'ߦן^۷?(2>: ܨ*KtI;|L<؎SW',o^gy\6~}8[N,ew_Ndz0laXV!_I,M:L̾;t;[MY_嶜Nrwp!p=h jf1i6%>n!k?"&q{b!4$2()Mnv&ɫd@guޞ ČV5|v!2"paG0'wF-׆.uDz-o -'`L Jsn7y#[w )g6z+vmzN\\[Zdgva}{c6;ָ Ik[]cU׽PjU]~k{hϮ*X>g wWbcFW^>5K%}ߪO䂖Df߷ò Ua9*~Qeŭ_״zF}Urm {BսGwǭ_n4˓i]@ŗ}weFwhNϓoF_\X?&Օe~Fxuo/,6y6dzMs$, ;Gkg 6IOO\e\sn=wՔݝcTiٯNyy!+[ؽ1.9cT zJ$@/·=ܼgwcwxN$SK3}῿uo(a7I+t6Ӡv - VI,Ja2yb'Uttc<ߠr@_ZhCݜIR$Moozb4J1tqtUm݆߸[|>O땦b "OuxDo r-c: oG 'Zo:>_D|^|pVzv'#2x_|<𷆃ٕ -@I5=û{ap45grD~]k}fA9"N{|HVx9|ӶP{ZC7gmw˯HxBW~b6YRb fRzAZs -h'T}Aԃ8#dtA7>&SIWlpm4@ۘ9 Xh"ӺƮ*j'V-'.6*[֢WcH -dfO+Ȳ!ha7"ĩLY.e"GӀ+XYr3dʡU1V5ϥ̱T \ ]W1.qm`ǥbE-dzTmU%VjS%R 8Uam0$X׵zseڢ6qhl{E!Dx(LC-JXࢢ`Frř 3 1Le(clIظ6@#aKj+E)8Т|i&ķu {F% -0J@X ŬPĕX^i $:1a -!)ߘD& -"#_b֢lRln@^ӭl/fM-shpۺ\M洁g,,W"`æ믑ʕm0 L ZP4jP֯UxwWa|պ>jލ47tZEAϼ,wHh.\Dz5;J\iM od<>Y{A3n`̯,oa{K^n?w"tyDU_}+oQOB|b$%6Af q1a\j}$ 9*evϟ|NZX -TvΏZ9? / 0~(z}9:Y.)ʖ TA<KX՚nMs7|Tzrp9zS9H[Wý 5+Jx[l2'uvʸ(ŁU8>zLe h>EQ{`j,-70qkfb>M) K-a 88zixxɗȸȟ~rrѾd8hYHMƋ,|`N{Xn,ރw{{\=~$"'dr;;l{zVg'iluu5W_jߍ߄u .b"x*&MV%ӗߦ7h}޶ܢV\Nm2s)m]SR5C)2a"=\f7b[NԈXM <4\8,04tCxtAg d vk$v]60̔c\Q6sT>Q-%sUˍ]zjݢP먭0Bϫc7|Vym3[Ώ> zarMQgS >ʞ]U]kjVe¥AIQOV[}os._FzMi\Pz];}/{8Ng?X[,Yo=-ge -no~lDZ,,OYUVM=~aܭ^M'ҍ^[3+IGwn خn޽ "(iX ^{]&CVhzU݇$@ i&/ CGdBX]74ϠC,Y -V'˷&CqɈrMf<5unv-^9NcN m/ -TNBʡHBTa[%(bEɊUY a8&NltLj{\!W"ˡ0!CR*ĔaҴr8jUHRQ΄+Hq9x*C]ک͒$vu,/HV49LtziS[PV|Ɉ R< -+UFJ.DDLZ6+\4ڭ.!X"vฌ`a 3.i5Xm(G}诹eYT IU ЊrT4lN¦ f2b8sP~^z:ߺg;Ele)ݮS_]ơM ؂J'шcAz#M3!ZWc])bR.HźY*46) 4?⣿C`jjt4}o=-O\|G(5 IDAT砞W՜j)C&7?_w` -EVq=lKo-goA&cjv-38DXm7%,e&5Y:Jց]`9_,·Q~,6 w:CLlHo^*^ӭ{zxY\T<}4V\L>ҫjEzr-`n8~~P7'7hl.OƭZ}G7xnپ+.5}77q^GysxkBFרs` 7@'9>zArdy=7ѽbDM xl~7SՊowf,_.!}+`QΖ4d}͆y]KU-kI"#Txd1-OޞD  Gw j-K ¼y7>tiMF3#$!HخUo|A6vv҄ΧOΗ߸k!ǵ|] %BiȐXA;ۈ:b7ؾЂ{v!EYhatQYla?)E=aA]mv, b(Ƅb GJDk jW)5H!l=ˡg9B *0JyaHAϴ q Hh|<1,^4}X` }iQRzx+jdD X7Ib2Q[\[AIh嚗*~w ~+&IuĽJ7,03Đik*=S??O7#4{f썁)Hfw㐵$ -$/g˚%Gcr;a}8E\iL]Nm.8opiD2>8aw"(2Ȳ=-y͛)eJ'_|O_{ޜ:NBcYtBR]_EEyuI?g#9SHt'iv_7~?޼F - mI8/xo{E^\zAnhL$AQ!p+ox7U<y3ʼ{ĉPO[w?dQ*_T4Z]|'6^Ɵ\xw}ɷH^in`/4;z^IkHCwUg#ŷ,{'_M9=sN: -8*Otǽ%d공6&l>K5uj7bzbywEb_+}-iƬ.Vm'fA4E:]{T_o[Wܞ\Lʲu~R`X1w^rȗeV}/MR?dGJ1!F4؁f֚+9i;5 9um9ĦjMkӻ)!DVy[f5JPm%ISkq{BL6[AK0΋Z*>z&$3vU'S L;N?3uSap -׶Zc ZΡ|VrNF̧{Pu% -#ǀGDio##dB0f@eAg@#1!B[P1V8GicG]V0 @*)ʀpgЩp8!D~}c88 |^Ȋn@bp9, i8xJ -h6QO;F+l^= -cx4}ϛ`iBozvp?`Z$A:!{auydAroUaz+ ]~S"Sg`sҵF3v;"-_4:~|xV@M-ݵIX ݜΦL fE|߱2;ϦVE?Q8١+htF;}Ztt l:b2n|x]7'TW?쯺^`:H?nnw}M4C;T ضU/J=@Qf|r6mJRyQ#? ~ھ_/nxWʶ|rjGQ e㚋*{߸K PMûL - x{ڼ ~Yvl|lwK&o%CRpW>)Fq}@#aN=_qJ4>YT[/m^[4ygMדw6] -^yqΗL {3r^8d|}}fxID~~O橳=a0$Eq\DǬM'ezML#%ٜ3RB""L ovrYjCfj Jd,wLsd3 na>l4(KTCk) -FepKՇ0@cd&͆F6f$Ӗl8ؕqe0 UF]"nXz%j q$#jDv0  74-#Q@A,|P4D䚚1E\hR2I+zs:mo Q$ )k{dIB AX\|8zWhN]cRɉ22-j@_;Wh90rͩ]rkZJ#9ص1L{4PվJ`zU8,Tѡ0 -a-[v,0R&?zp!"*1|Mg OlLgh6j^vv=췛8ю{^:µIbGgjmܠ]KI0Xmtg.~;v FϾ,D'z|5Lh>;wPvJv/i=: (՛棉Эқn];CLOoex UXH#,rM)1t~u%U^5/9[ Sv '0;Eܢ[7s8_٦.?GaP_r4? 9ٕ'|R :!s1 -Z85D;8r?`ջ%R*5؛|C -!/aq&yBݼGa l%n0tj<ܲc_mcТQ( -F4a(zW{ъa ( -la4ΐ6Eɺ Kت$8^kvSzU Cq5V}L)!uS$ -'2߂29!D8ƎX<6‹{#Sm .__ f5)L0,jL?e:o[U5׋vx*}XnϞ=椗5h K!ԣH"_US6hqjh;h*׫T֋`l@f8 jԓQG,l^}"D;=(>Ww"w@4ۏuMջ6yd?͟O/*!x勯?w҇"?/(U9dv7_:]ڈ0N0}p^}Boi*BPǞ>$P/Kn(aqRyFxBW"b1A`Gy#\Pm:MLhbܪ.hK1]Xxu7Cu/Lb3zxqb6y¤]#51Q'i/I3Ӝ I6qϿ Yc)Ǚ\f\@ qp{&brF^(`/_(ԋw>g%@tf>x7_NS0mKfjuTbLG$X,xjMv|Qmo>uQ -adG0;YwoʶMm;>W_g|qr{ON^t䐒gDݕ-Q4߬7rT2勄Eq)N%u{ox|`:E^wҊ M MQ3e^nV]l$HNCAŵJ=>JX)AL6\9om2( - h"Hwz*y^ "4t*4X;fաׁ4(7-0Ũ퍽9|AZ,"gw>y}2"P 4-i -OamwnPR 8&AĪNjMҌZ$c)`w9IwS'>@&r0]\Ami8`:ģ~Wypdj{dL(42Hi@"DN!jA^k<"LQ/ZMnhqkL<ĞbZ=DG9!p1Evm -4B^k6TBfCY? E%@}.|ecуv8+-״ -8~*y%!08%DmYgkWm -e|tg?'~n|*pfJ7tcffH7ax_?<ϐt~v>REcOvGVw|{-h6le`A<}mF#ڮZ=MKgFbc<߾E Gɑ6х-FwnO'{ +[[4?P(.z~v/Oޛ=:COf?[wG7ɋ?aϯJ_U+=.C}|4pW {3a”Q:fFRO^YqE.z( -B4y+/O ;Y8Jx XI?D׈l2Jja(`h5A!c )23ôCt kÞ+J&#1H+X=dɠ6Ag!$N2!AҰr6V4)0=A6x2TszPd=Tܵ4KB|XhqYԂ{"0쒧aU -VkW_iX#"6j IDATtU'5 %!{?OoM/~'}F?9N7KrX>wMk3~s̱ΗOo!>?VqZ  d)^8d`adce^GZ'DT*mg"bao )dMt&7L}H4h.&MCq\WgCDͣ'u%i0i.I2i)֍I/w':~G?=sF?l_w/7rOޯ~mktGFA]b?"g"?O~m*/?}믱+̓&u?~I2W. -#xpLӛ9{n>xIёWoY/8gh~R[Z%h-b1Ϗ\>}剿?lD=@wBƏ`2^erKǣ)OQMYWI2Myמ ]yLDw2 -$ -UsDō\QC'w]0% [|0{O??OV="#qc˟-젮$Ay|?cyOEMU@q o|9t]ԩaZ548}|eUWMUGyyv/kddm~0H:~1V,J3ܮϟ>:KX]G_S/gurpPay߼?)<&woxo*_rGYz56MC^.=N4ZPSK?lx -=:?)_uy!i@ t4K}02cH58|ꪶƣyOnuz;/FZӜ?7~:Ϛ]+^7UjԫO368>w8||˿N뺺1gdV~b;'Ͽm~g)=|Moreڹ岘ܽ{֯pUVo7PCi|t,ʒ@˧vzԷ܊wޡɾ3R.LVǦ)$5's+aomsl Ot}zɤ,lO,'R\~l~燿-Nzkvcv< ]'=rY M5HK? b:aۋD*ul]c{ݬ;ٟɾ-7!l Suf/3?5x{MunOV;H"vJ*(t"%14hea{+WE"XL}jH'%ch:q+"rQ8 ŠljEodVf(1R%d|Q3Ltya#PwZaN|BШ -%L*ܑwi8 P&5rEMy>h+*lk)<0AAmXIaUhW-WW"q5h:!C$!MAdU1!gE\*RD \mwaD@$c:_lK,!XLI0`L o4 $uR*"{g,j Z,s\%4u(* E25S7u$E]6I8dk8 -`~]휎WY$w1 -Ym;HjU.eM"Cw^ !ow~gh:TE#'z7;n5u21*՞GD8}y[|dtc@{mb#!!8'j-7bBP_\)G$8vP깚h̻ިK-,4)&l4mX$v}u;ƾ9}uED!F|epj@!oW~c~ko_9ԏh_^G٬+.ףח/:K鷐% ƻ.J56azRo^$$z@ee/~jc$ -$b6&^ -D& U_<:=?(Oo_%P,=jU7\o`/+Y|TW-ɔOO5d-y-\ϣY_;t7=jVܸf(#BzCq>ն n,mW|/:-Y= Z"A'g7'3)u3ѕO#z<3`#8 ) Tm϶|Ӳص oCg"Pyp5|Y0\]罚<{0JIݞXZӑfS : Y>@(w( }nr0-Qz -ƽ+ѦI)HƬBCt4&o:;7Egiz|,Tl ]u.ě2SUC"11 8#Q۷̷Jz C0n.p';fRua -^ξl ʮit|V|`0FPVCHTBE[ -XxF$$=s i0X1®E4h G skgzt`5G -@;'Udt])֍uAy ֳx)M}z@(PiqHc?0T@S kNA'CG450s.l qDi< A\$.z5(#{eTս [tt0 -kSolH YwM7Ls]DՎ O~ػ|Ͽ|K`(2bu{O!uխv,߹CI勿ӁW|`}S6 w\Rٽ]6 ?<#1 :l,naU6R~sb#Tz|dV ̣Mp?ApִuykwA:,ScNөnRtUIؖ%{k^I;P]yP/즱u]z˥BIS( rE,UvzN?y?٠&{O|5id,CqYKk^obdpJ{aw~y:ή_CpxLtUѸB^;hg"o/o9fƔ,g -${uU')鉽WJSVRu `Ӕ$F\Y%Snv%S8RNZ-T -"4Ns1lLͲ&pýRFvnN#{WCq5SZ3BNAeqNQt;\|\ -6ka~$OsZ mhNNeE8W?19 !8ѓ~ժO l6]E:dSYS O/~Viw8@ҿt/ tnD(JhRRj/NwŁvE4}v[U{s{/fzL-<7 3dD089OWN ڱп1 wo41? D^;Mw gyF ydcXE0]) ʊXkx7 U>ad93SPq|pSYse*6kѥ?&u~}SիՇ?8t+̎~?Ë[̋ OҲdE7yL@Sk @.xH9IHfɣ]e߬evMݫþ/$bA)v,?qSkv' zg$䤘[l2@>]_?7E'];T$i@I7'2~LF5E5?t?;ۡ(V܄bq?UO6Gseq6u}hR$?تGɌy-xwN :)c ٥56~;ȏn߱յ<BYIDB+8kP5 I/ 9JژrŜqu%LEO*v?OKUه>l$|cʓIqww7$ Tf` <8Olг4e4k]d }gu-j5s .=uR7=vU޵"=c`qyմ3 j -x r|2Iؠ]N 0N:#(j2Tc^!@֠*Xa/f"Cvv8o ܠa0M!llVPXڢh,RWx34j -]}7 sh#Dx'9##G,*X[r"t~&چ*A,X֞& q웍4vpwF DۖMG0m;geXI -" x:[wV[{Ffy͹cG)kdYzڥ8 g?{:~fU88GU.zo}dg=77o/975!z<;w݋ُmis~Ž.rot^d[H5\y4PL뚥W?^.Ry&GMp6K+gElj\$׍˅.VUq]\^gv"BVݻ׸A.9+u@ $Ws8[<Jxh_;O7!OBt|78;Z?GCbm׻7zy?<0JSnBbϗe sهlq},=(՗xʫ=:_*e5a9#I@.HL8-by B2bsO%nGSagXlmۦҎ$NM @dKD޽d'+xxs,|˙$2)2F;`+ݭVBc?1/LS8+ʔFT1f'9oGC͐E*ka6<8XpKV&d]Pۆn=B" "2׽<=[]Mfw6;_n?6C-2n0JȔRVWIuwrC@Df[_0Uz1fArc)g:߸Eq"r&5~JKRH?e=vS6=-9ǗiG+D΍INѬFUy JSMxw0\i_N&: -[4Վ/SY']Eb U FfQZlj1 m> ?cA¨ }mzj:Ҍ-#Mb_GvFx6?9eY$0j|X:-20A0 %s2vJ3z.TV:yfJ !%ێv/ IDATIP$޶=tC0[#L*MкTq_?~}7ݽ~?IS捻H ݾ/AZf#'W'pon[m8P `xI6/p~yR؍ɌvdGʹEŰl'qR_ ~lpOs}PtUN'v\\_$k𳿕)~_h^_<Կ_OiŋϞÃ#QVEҭv?.Y~rqOFrA"W˸'|%"l:_BJ -!ƠU1:ɜ7f -peB>䢨(snLe h M(-%(&nv]}4 l^n9=94ɗ$c3?;h*7->:?i쨔4i_96 YW˕[#( .:_uAHkqQZQ%gӭnNdvodBh)@sOc.N9xsu2'R̸7AuulFs`lcbi~n hvmV*X&YXBQ4)$t\ސa}UϮ,wqY ڐֹͺy55]˹x&Zq`)Z4R\Lm YTf>AKv!w$cK;n.6B|nC4'@80(\0R5ZX]zp]f$Kɫfisۦ_(.ECM[,$(M?)4* '\绳|dYB:_]ݱ㷯b;Zӌ_,.^QJ4ZĈ`ŒXmwؘI0DZ5v[TCT pzz -Wp ]Z4 $4 ] Y]ty^`*r;IʐL#W@&,"XY S -TbB;Ĉq& -@x&B0DY\$,s}mC\R=#,h8rڿk%n_N =cX2A/C;uHxOٌf' 6lw3C:NVYOcxs6za&e?XI{)#f/ u1.q35g>b\M=00*y3úZ(2g؆Q=)izћxBQ(K NӜ -ň'Є$ۼ8~'c j6r?86o%Yhi}]tjf0!3*$!CݓR%!OD (dj`3N$pd؛Ȍ&)*ŰȄ nJRĽQD -; -pgz';00" DYF=&u{C:gͫtTvdʦ3vFCӓ,Iu=j@Kl8 -̬[C3)zB?9XA{]z80xëg?[_.v/^W5+&J>N ]L*]r㧋f×R{?q^=@\qzP7[9lZã f=^@_ΟPf>i06t o#DzG5,IqHwIudn @F9a4Ib&,C~"6}ZǦ.>.Sߎ1|66gx?2L5+b=p0]$̱'> \A7=`4T*YB&D&>hE+FW.Op?(ؙQ*3-&>6h-_}tWFs +vx :D'0/ L.ge18@hj,I8 B6Z"b_B+i8T"48C3״7*9'0O'J`n2z[=N&D!'1 [}52$z(ݚzn2m!tM)wabvwezu)9kmE5!D5GEK3q59@xnX{4vCYx֏! Z-e`w@n ӨNOiLqy2%d"m9'އ@$z gB*LY - )lt gjGgk\良fronƩov- Lyz7g?߽yndn9'K_~*׸%SJ0>$E>̃XaR/괼vvXʢjފǟ~!9zss/4m9v)={Cv*mqi>{RL$2G/?(9erl>ܙOr%91h}G!jĸP Xe@ipcMgW -ie9-7*2̣$VX92ӂDcʜ3o@iIFMfdf.S0`cKORHYazW~H*`Qd+vΈ|!yT  `H]Q[Bze-0B >8(=Z,dr$ctS)!Fr3UۣMH?N1B&BYMmm/"Chr!" Zkp Gv Ix,RnomrL΋0"!wxq3#ʰwRӒVK.twd>fL7=yJ'A4Q=+^I3o63s qČub oMD"KHa\8 &E~A P]۽`e32cfH`7=SB%1 cF0mwqK$F%+2:.2*`6D!A'ƻ7r>g@,9GVai)(6S]Q!1 kme2 Kvr.`ٱPGLOE&$[X׭T8yj}NJG'yֽqfb~u4}OfsjӬ0$OV5"; -Cۖqrmw^ -n_"596ӭU>V涑Շ@ dL#,nV5U1ۤ+\[Oװ5@É -kZ{O rft2Kq̤6Vyi"h=&xA:fXNC<,fFrL$9/bSD!Xduw g GAq24"al)toM_xS9-kDElYh<]~/_FQKO1g 1m#r2D )=&QӔ@=Y VuV 8`A@^4JckP203Y, $ϭYqL ^H{BZh&h3j`f\yB3:޼/+A`CM9َ -zc #SKCG:mvϿ}P:0)nP߯۵Wz`Cռ>7ƿ>O=G.vǷO~|8a}$;{/,7$4`m= NټӤy4,!K!I?FIA,AF0`vL5Z,MΖSPBe 0^oU@t 1>ʹw56qu1:v@Vش">ݛ:o"L}{ny8 go~bn#!T3%15:)Rh"!( uЬ;-UWQr+fHl$y1hhk 0rkٳ5zF`Oѣ$452g̀4`B0% "Lw[=L$lC}DJ)cvls!7z[9})4%'D8L  ҕ7Ab`ML۾9y11s3dVDErB^Wpy9vC0gnwLe!,/bsDr>~=zrn4{<{B DFBfv-ʝkmI+B0=ރi_E65o8f ^{?VyV5G)Мb -Kr{G=1Kvn@Hgduy50햗Oyؽm7Ai>zhc>@tk9&tc;n )(?|.qjZ]s -h_ NMJ'R&)Q@6R[DMp': )#k(OS&af_WB]ky*8u6Y*ev>dڼ'KېI.Aʴ-E@S# yg=_ʋs$G]^#L2B(|<;mL lc$4 4$q !'c5 eD .9D0 -"b FD q"; bXDzsZ\jrכ͆I18ͳq3)}c5[9sTF$E ړSNk{TA4Y/3N0nbanbzƷm VWE6 @ -a5gj>$H[þ[x@ ز"ZkFS|kE2̰+ ^m-B6VWgo HJԶLQ 0]C^0KvMb:C*,s-`Eq*H[\asڡV钴oMte=qeNI*l Ff/iڧxY}$(_:C\L@ w7,`PqLDpaUZBשd,Rw=#ID=ayq DpM b?07Kٰȳ,Ω4"‰ }ΧJhf0(-lbVH$C GbcP{!2: [X9:Pnxd%@2!,6%VCo|U9Q\ہQ[3LP`ǔa9fK;``1q{b 1Ek:0I_?h'U7oC "!}eh[ -d^rJdXn|8U+_=u/߿?jϓe;V}Gϖ fC?>/~ :Ղv:O?u6E1?; asEM$AC\^ejoÛI1s IDATOJBJFe '1q AWOh;U:OB<$0M%E@3&eiq)"i-Ly ~)BHSui驶٪J2&G5hJ}b(>Ǥ;U֣R,/)Ax= s8hdfdFpך!̟r&ws!w*% F@er6tŊOFꒋݛlvnDzY͇TOjY% Q38p ~`rUx5}Du{d/4ZWZLP[,IM/k57A(ʴVwlr%1Xf -rk nRop f[?f8GqWw"cO{7L7R%YoJ:1Xpǂ"LL[Lƭv@Kb$D?mҳrU}=~> )RhɎYĞ #$?*s ؒ,6EݷvepF \kնUansJ1fG^A؉ٺ4bs&cͦ)Ρ 2RbNAf]Y /mt+uEYdcz)maUp, Q V׹w,e7.5—0@1<%b/$nW*uÉ1+}۞VX}>O/ɫ4GC.?+_Ccw拎S鿸71%U4Kb7?yQ݆۟OJT՞\xͫ5q{\t7om=~3 kџ^_MV\ qQ,+PJs3@|(в2Qr֫MQRanE(%,E ^$OKp|J6}R++k0cW䇲Li|VKRR@?LmFӃ,.xOoQL?>= -OeW|SGdwS٧n6t<.CRxzꚥV!2Uu1[M|_UQfvxRg7k>/OF(e}IS~当_3E߾EseD؝se~yVS}uӜvBe?:ObGih9 K;kVP6JUf5o~mZ7ȳ=cꪅ+%{:Ǐgv+.TsӍϖ'|7"Krͼ$ 8m!P.8OmWO{_{y{xOOVi.6GK*WkۯF*A7rmJbbŮ~o|L?WfL&DtmL~cp˓!Œ%[ߗ|wm\Q/<[mQlww'fyL͗e=c9O]AӰX.,{tPF+a!*QXͦqYݢe>-ɼ0>USie 4{sJAHZ0yKb;JjaB*ĢneB,bfuR ta#+ZJI;=z^mƠ$=E-CE:%&))9s6gHwݣrϸ&HمEjsȢV) E!.4M!1Z89 m2l,k#C&Ǻ2=՚!l09TՖw}f'hнoc}%ͮVwsl]%EYXr;Uo^(6~^ wn.)??IٖܬWêNCY!Wh K2գCWL8ptV*e'r?ާc>|V꧃ -eC36*+>wRხxL6 J-_%~_[% +c,Jzƺ7qA8Cjŧkii1HU;vbn%1m ._=pXҙϟ:L(5@pK?Dv5-I!n=g2|N%dY*$RBXZOzr] 7K$Q0md<A&X"Ic)W =k4T4.q5&V\r^ΧKY*U - YWTUdI$1%Y'/YzY#vF哚˼n`F:^Qܙ)G|LO˃=w]]s~JiwR;W_ J@qG\گ/:y?`s~c8Ξ\p֟O~r-"t_=k}P?]eK[2w <#%+l)ȅ_P~K\/"qVfS=~XI3%.yq^) K'd۟5RyJA]b-/|WB')&!Ƣbv)nY*lMa|eaM!s@.Oj~峿WJXyy#d\j矲7SNjǶTsjTkRd =PJðs8C@:2 M'/Pp077,% 5+v$B0#jl,X$i̛ڔr\.X^hZkhP+dRIy3u|1 )$'w&Nе`QZ2Ej6tI9/TUt̍lMXtvJ3W4vHcܮWw^VÔÔ*saZ`4MO^BzM)95IJ nkcVn~FW<^%Ͷ{o }=7d5=M|F1/wQP<5k22KYOSt?U"&oD"m$RΕP52*B*itMqP-xX"gͦCFcՒJB f+}0.>PΫSpr]zU#E Ͼ4t;dm%i;n)ngM%J|'?W77E}Yh3]o4|&Z0>̏) fIFP$J3jS8*٤4176>뗆9}` Ŷ\dcb ,}m2š?~]J T2cַߚ/-籫*% 0Nr-m.-RY3b#SC6h+e\˒ǖvڷ_O~.i7/tǁ>YwZ>/~`էE[=eL!V|ӆ+#0yn+%;moWᭋr=zv]mG/%ݱ+&,]wO[eG;f.䯧[QL݂S'_g8̞&}7xo@B?upMn\۠p=GqKK>a|on E;f -W̆`noGq';H -RruPG`Q,;5^'k:4M2W2ϚicDt jPtXr$&V@"uDw.qXVڇ2$r)k&dL,hX^*#ߖ./OjSap`efd*?Uڅ - | -X.zzG@Pl>V[>.?NΎה& ICÝ}d _su{Ãlc/˛Qzh .01J 0OC11I|ZbS; 4S6MfKr!v=LY@亜7U&yFPK$X,r2WB>z6B$!`yj".8D -HQϰ.*ho=Mr< -փ@0wӺfz7%bQVT&T׵X7bZ8&ʝ5. Ƹ%։Oam٘zBlPW")R.u{~/<~0>-R&19+6$q75ϷZY˴uc;icDTfD;.$ɋ[3c AOKI*yslƄZ~G+N!ٹQfcku:teC_k/Ӳ`Un_n64`j/O'|7}bcĦRsܯ׿v织ozKy{ -_^^k~[WOow}}rIvp9#VYhv=)Uj8` -ƽO>,ZtQ21yMI7q1|5̇''Ll&S__\c%2qŽ4K̟yPa_I 4I0F3`J>{TJ4#ML2RRHY.zQ”ZH`ϷYo|1K GUd ?Ķv331j!)&Fˬ,i<[5!`YrS.H"k]Z,T*;y[ZJf`1Gd c\2XH`N"L bSYIa #00ʤ612Ϣq?O߄ⳕI9=(.B# dެ7< ~9!u?:|rw?]i.5[pwz#g:]ƪQ=gJm)noqtYW"y~ΎxJ h*[+(!p[7n̦P8C~2qEP͹|SXq*eK:knlT`8i.7)ط{hA[̶]]6PyXq"1 ꪧ?7F)S:qoRNOç'/c^cZNN%wxa}A|J R׺; |ӭ,#{']y9or,br BfXuGu1b֥m0\MYq'xt%r](W40uzQln4QNG84 2zjpHE7q2ٟOC~R")P)3dY~@Z֝9M,Dv%>N!>Ga m HÌFȖ-;9qlߎCFq&b-M%%`n^z.HTX>y 4MBBf"7lL< ]_}~ ؍$\(DY/z-U$/Xo'z|{,OYy 'P0Zecشx/HE&2/Rd.sb4@Q\$9Gs[ \"Dlz?b"#N 1B4<}qt5|#'4[]s퐄Ѕ)b}Fb@Aߖ;Ŋ,DSIDATSef?:~jK{y٫glh JMUnu=ї=_ګh|tJK>R!awHgXkyJl^`MQxMȾbF\m%ho72ߎK}*N_lƬi[<֪:/r{_[._4g/1]*旮uE?~Yu)E)/G[)2c9Ko޽O% -'['[}KtStSaav㼄Gjկ>Mۙx7G{sZk)DfTkr?lU継c|uSNT:]F1p>jUoS.ÜتW@Bҏm'4^*GiV.8w'0桍!4 lm Rks%Fex#ws!irY);9nmtySzdaW^|8q})O߄CMRLo897{ -g%TJ4/6M/.C̠pi:g2ו, *7[ucqAd!)<>d.mʐwz2@f!%$ܾҐ-:V4i1ǩ"rmٲ0A!xJ! ld6r)0hI)I"i2rOAȦux}4Hn{jͤc:9@nx\Li͵ @R14!66Ob1eş|1}yY󴬙afuL\O'-G} Vȝ\sBJo߯j"SX޼}.ݷOӳO7Mܨ`0Hq濽 h_[o3kVdQ~tCm͙d,rX}.ssi -v7~cW7kJ@ة~:,>Y~>/_UxgzywWĹ}B઼CzӛձimP>=߈V܇eO1Vf)FvTWE%编&~I#|xw8NyÇSE^qѣ]Ql5ѻcz?z{~.=BPMpyTF0жe׾Tdh+9W$}Tǹ~,:SR,)=E~si)?WRT|YZeı=; Bڬq@ iܤ),ヰR|jO0urC@D,md25g!FL9b(BhWMX0"4j1^I,#FL8,3 ˸贎,K*!9#ؒ„]'\.WM:~_yj縀Yz8<œeW9UYrJCL -!)>%VVzA%ζVeiƳv-n)6S׾|y89ȩm͊QKӕ<}mOn_lٟ~0_~ -lQ,㣾 |U~$ܠ|fӛV_FSos\w%aSJϨ -).^+d3Tj<[ -wyP= grJ4ijɅd;f+`zj~7Y@Q&$K,+a*n&eOHC-08dB c{QS_4a5ɐ X7Cl^;d pCnڽ^07؜er(я?QӛvNvlp"-ԝp鶋lbj8~piAZ>1g{1V2 qRNozx -UuلOΪDl;x~}?Li 덢 7 mjӇ%ELwvS}q_1^CAմ^naw~i_qn8IoTrnًU le;FE8n&eH Y\=d[L Nj"R4.\`CI=lFDQڑ?3[fs"RGDE(<aYCΏ~]Ya/9 -m!6]CR(GKn>Rzpy:#zRߍ1m>]y]oF^Z_"0V0ZOz$)z+OqB~cknGE.G_⻧{9+d,c=û͟㻯~,A&]?w?{y-𘾸)5v'_ /kNPnHb`5KJ|Qww0e0FW_6e|bY$`%`HIfܽiQr%Q@Oc6FkwD%q[b]oxQhhu `2I8}f(lJCUCQ%XѶmgKƻ\aJ G(:o_e+epbӲ_p.c0tEz^0aQ (eprf`HB]P"08Є(35`eq1J$ecU&7zUKh IR -%ggɐL <8⼵D f"&/&тn>mbH*v %_@gɅdp6b|L2۔m0}j~}h.can+{fՔX{Or~*ɞzl}INk`ӡHBg˒M!ۗL%L{w=]R.Np4O -;_WKr -aWlSƞ[mMTP2b׭Xr~!nWpYEUg"{\kw#zVv~$ߧ*W͝\^Tg&kF·`]wWv]t$ڳ k;$+نY>36bA8W[YqO]m1;3#"Um0GgnL?U]e-Ӧ vIOΖuԴ{N=Ԃ!3@"s]Ue嚚`,C@H]@X&U&Ԅ˻lOO;\mFTq@&;Y\ZRN= ??ɪ( jjk5wƊV%dyT%?`IIRz;J`HJoH),kDBt]uH$r'4m. m;,믦i2J=8ADyae Y]Phc'cћ=O0uv7otЈSWW?n"xgmPJ:IJ-mߺFD" yF~DcYUB9hǮnV&\UQ -[d`u]3gΈ?~廎?< rՠaPW_Ͽa?Ů܏|fꭚ D4vWw u]ﱮx\ |h.Ƞ4 r - f楋.Hf4-7xcR3"Eʩu)"we0 NPkRQ)5$005k̑0VgQ}G=%)YTSѻ8,B p8++=6 ܜdhR/\JW٨fD)k]^mܸ¶G%h,F$ŲmPh#:uy5Iu\xg](RiL/|&-x"}'@4ѨWpv8Z\|Fyy? jNk۰5k~]Ӵ[=liF {uL_IO)u7L/$z:SB) [G0Kй|6H҂ۏGo$o}]DH$YfcɆYi?Kҥ}bNٞS3qL +jFB:N.mwWlű.$O{gb䦎Vdڵ85sT5+u |-֭]!w4ByDB& K̤OإR2! /C*H} 癨^+$%pL2-[d$HXp8e%mgPLyW[w)C%@fH4JS&4CLNqʛ" ʄ~.'=Pm(XRA!BSD$k^< ЎÁ"&%#8A,C~pN,F2i:NfQmo\g8k[v()Wdk(%TԲcέuuuUJ]U!qB`Bq/L -G9JZ9V 2ٛn26p4-< QB$F4,FdeehSIVk_M&iZ4B7_r~&cRdmS]_VK2RLAO& DwHMֹ[!tHCM(+R+e8w B 4#K_Mwt駟\$ ֶ5!BX WJRD4H~~ҳ_ Pb2,`&lEJ&DT8Nr8Rm%̬LGN#^l5IABU>'/sʫ0ԡ!N&E"T>˲Xx1ϿBd2/2**9s&w'20kLӒ䴆ƣwq %p߄$hG!]Q 8Ʒ|r>i|?ܕJ3&}i_Q(7_XzvvOL-+>xD".PG"bee,Y7]X\Z]]ݟ]Դ4B¥ ǟ[ɹlg-??ZVVF("T^rOOX~ [n߶X٬E"0qpޟ/xч)tc~/F -a~AΟu}B)EmM9ص ' -8NօZا|RO!?/C>}WXk׮7nfUumߨiZ)OR[[{R4⢅ ߽xb9^@D87wx7lsuz|Bt{^?ڋG_DrSEc;t{,+${ WM:SBKsέlӦM޺uc흝7#&hRp\޳΢`TIyAƲ, - - -8c#fͺ?퓺o :;O_L#[t&|U@z| I1lzRh_9C2u"eK?sKJؼy ++ٽ{w8ƽx2 蠃p\7 Q"i49 gΜoMgfh)`o _zX#ϫt<&lmmTH$3sߎ8p]J(;rb1>B`pt Ë|8x,KrpCv;zcBF4gv~^~Mz׻r5Mv]^P__e3́#>rNG=^ɩx-q mF@hώ:}bX@c@κP״׆}`/@+^r {xx/1\WpB'TDhu߿_SE}TUUUo -7އx)Ij2D"t뺡)SOe 0rhF"ɧZ ~3 :d`r`;`07,NCٱ+M)+?o޾P(0o"A+VcC%H9^;Z3  "?x~szmcM6nK?TL*%%hsΝI&݃hڽ5kZӴR+#AL8b8؁gwIgh^ c%<󆔳g̘qrQAvZ7*o&njjRBdA:ގS]8Y}z8 70ozvիWPBi87|2l>ݾc0=vSE77sRΟRVv`N,Lk.yB41 :dA,s -nJnt6^@$}OYw*,khB7{֬ jp-[ړ+DZ|7w䥙@^~3 WE{!4 4G=O蠺M90ё |ɗ^$}^* Uy-x=]4htQaaa^7JBSS#H6$K -0U @|xS*a_я;fЂP($F%477S0%P&Mm:/A%J t` h= Q4> -@kAψǴ!]j+[vs/[u#ݪ0]H z&B߳mUinl먞fK$#F%v}6ʻvu=[z8?:+mUn9n;ph@05wxUY\SDjMDfiZt+ڤ6)K<G*LMtZJUtk#tu1QAT6yԥ& 6Knu -R]PpG-R,IJOA{#ZNH)hSF6}mh7_]O)ִJhu.A5AD[u#L05<$ҖKij5E>9=TI'A4AXޞ-x'u!ug|;s:i:t1q>e'zbhA4Humxr S5+LSʢl) :.y*Btjn擸Hm -eMe5D)Iv "ހ -rmE.W )u!]#!ch54lCjB:Shgg\:x]xKH{ 54o)v vzhm(Kgh6бmqL :"57S\\ peYOMXR IE.Y]Lϕ=ŚvyRṕ\r O}_ntCV|+R wU|$%t݄-/,%}3rj~R NH7WdU\<'C_›m"haGg&a?~7i͵8 1mej\ץӪ1 cEwЌ)qԑ3vF:4{2o2~3VwQc ϒg|pۑ4Z{_LF{{7'L4(; -~|4j@P5 _.)/"25sʺC ]vBta z(0&t=q0dB±GӔc;۶ <9WBgP=HܫyׯLuk3N/,z"KdQ%!)WhXuS+Rv>KWRXX9߯9Ұ1% E1|/Sdލ{nL,ЇRa{+!j|ijЪk,]5weBJdhH׿B-% 7rlM=m10۲ 9z/zq\J=g·(41 cy :o9ó7?C< }<*FhѢBRɪ#nE7Y3")}'ViH)Yti͛[RRr1d[x駉A>0pO⹦gH/Rõ*}vIM4=sꡌ{+i+T_rRRR?jBM6LKEEvʓf聂0>d**?|jFiڋK-;SY%SvF՜Qͽc;b/n\yc_|m۶aY#)( w IFM>~DaXFi0 -<譚S_}YsBQymm^~}Agg'uuulٲ9`zeaa?L_.598`_hwoL= *^C{OѡiokV]&n[3=TҿcY6f"tǎ2 _$G|0N}{=pWWW0'CV`k[۽---{MȷR}jYf՟jk譚{fYI-ZȢE ϯ}"5 (g 7~1xu 'tM!^رs5 ZeH}衚3Lnka-b{/--}ز#1/`b(u -'{#(kiiI-kwZ2*z´fgdI5Y)=MzJI){졋-|Rᚖ0^H qMv&`0Uέi);SW[{g]]> -}g- -p~nrȴ}TcD8#8ȝ. :DoІ1xn)ϔFxQ!h)%RJRXlL -:jVz@5wΥ ުjVU ]WJ.\I'xVԩ ^ xnheEx !~)K5 {r*{1njύz;kmm==77wB{s }=0铀}6zvWEuVҿW^2$Fo;l\***`a߿^ѝ`kL+5*hll<۶o?}+&,ALn4@'}O zؤLTۮ{ѽNJEkk됫&{lsH07&Q) =Pׯ&`Nn;L;ǖ{0{]fL -H&455t'Gg>6/# Qo9XlYJ{{ͻ++?{,&JIn)?լTjK̩FCc w`!/MuhI:4I:BwF6@]O -x8GiV8ڵk6{֬‰CTE5&Y,zzؚ{$`(zPxo555vဠL2m2>O|&HWt_ƛØV466_TTlc-23Us}2ޓUDF,|/mjj^+))Y;+ؠR.xed~^|"=eVtK9fGrI zuH?aڪo@ga]"\qT=)+P -k457S[[{_<M) #AOțxy(I_׹o݃ 4I-@_sqT`7nqW3L[ +L[~)Z>.@jT`p[6p-}>m7o {Oet,2܃dK´p1%hiD{^1$݃)[sKڿ? õ1 1&+[5Rτ{c^=veV;[r]I29?yjUsH,Us/JF]8i)$|{}UsJm۶j4%`HO{92d뮁dSCCk~VIJQ ٨1O0^1t]߇`z)6t;caHt:n'P~K/1\7Qô|MôUo׹16fa;w暈i6Fj t7|vx6|_"{y<\}|i$XVk~cǎo̞={H=yXaޗNTb﫚Uנoƿw@FCA:7<׻;ئ~?~ש_NחYO?OX][Ӈ~s0.LWJô_6cM߀`ky󭷚Z[.miy\X?a8´{vafK}Mu׻+.^ږ -G Ѕ@a|4釠hdxn{wk|RVN;wD"}sꛧOr^/+<@P^3sCWͽ\zfrUsou͠V^JJa+bM7GZ`X wzwdX7x}, -xhs&p;6=i7+W*YV,=Qg~<0|STs#3:Q:NS&uxkM W;jE#b|'O>9'jeeG᪊\Zo܀ZDn ef?DYq+a eIweJ3ֵ_K/=#4}%Us?a=Ij0L[ejVĝjklڰݲeRͣjX(HJ *,:$W{ӕ:oVk%mwpTyuR.kTn|6Ҟn -42xj$/r`!hV:"izF+{ha}\2iHn4,,zd\5oolBJ9ԋc Ҏ7͌`:bc[IH;ɖBx%3 퉄O}x6D ^Ώc._9 驾?z B4HrkD"{SN>y%e/̪0mSbh r8^y0Ts0XaL6Ƣ㸻٥HVH{.X,O{Q8ofj;ӏ(/z9iwRU(,kҞ HOSg("+ dF ow)騮Q\o2S⣔)m۸R^SO C=kOCWN 844Yd*}[5ȹ_XLKsbXRJyC :Kޭ v/( \,aNL{vE $ܪQoɮ W. -3 lSta4e|r,ySA_TJ[7PXqE1|f?D"!:Css3s1g͙=wL5!Bw{gh7!L`Y+}R2ŢQL)+9CI&5MǶm^z-MM1ty<^CWy$h&ixЍ󌩷N.<ؘ\sڶN9_] 9!)Y@ox>G43v,V` xCalřBMR'CU)g=FJi^z͍V:w8jFCS͚uuhjlmDbD"YvTS@ +rbi99**ʧُZ$_ ?yKk+چ 5>]dIRypU5+ 6^Yh_QɥGӞmpN) -^l{-I5ض}BMO$=aC7WODwtr>{.umI^A 1ؓ0 #tٲ---W~B Qr#]фFGgvfo==nViRFn2I2nۗE"s///_RZZB~~>nawU^;wf{[Z[/1 RA@C$DyU<`C{&ſ_oh8ec$2*!4Z -K݋h&/ r:a[lǣ'gdYIRv0*{H)}kho݁XVR\%W#ATafh(hlhdɝ;w>TWWw],{U2 C7@R*mS%&ک Ӳ*++swWV -+).9iƌTFp]@?Y<k׵l߱;Xί Ð}tTIsaAaXgeAEFm/յ8yCazuR.hCxnw(ig"#鞠;ln&)%jg}}Ki~cyݻ_>,;wɒB&*cM'Um۶UVV_M\"(U!a+xuܧ[n=lΙ5Y3gR -)e{M{ݕlڼ+-Ca[i7'%-WXcjs|i⤧} MLkKIygv9$e8{GCC#O>.:uꢒb @*lin~1L=7790;#ihlgg糛6n}Γss CT}eYI}Sv0Rk$%I s#ڽk -Y,L7 O;&[-KI7am|Aӓ^߿ӞN:溚}❝yHBVHd[֛HDihBlB~C[4t)Dw@ v=nKHj~v6ų#9wUYtJ -Lg핮bZ&ͨnt3!pWٱw߁ns@ڪ#!Ջ r4fƴtj|lf8zoDbj!~>X*Oi$IVY0&xBh̊jnp{]O6ڇJF[-IP H;@)Nĥz}ANfCKL(5яGIEY&e3Zp]:vB*+7gȟjmp{!()0G;FK-I(R~+ cJR8GcNL{|}gEj%:L5-k+ 4 @" @A @ t @ @A @@ ؛1p|-֊|8H zm,+l4sxƞϙ -]x -{7+F0l 5F@ ~/@ݩsZaވ3l1z70nL Na[R\mX\kG38P3qax9'~t ?^e6 _o2ɬ/|c]0` -9JK9e4ղufyWu8ŋE_~}̝sJaAB5^v==3O^t,?SQQΟ%‹.˲>=}Kg3߾De0#>tۙ5`x+coMf!opP?Xajja$`aiT` ;xuWkP^w ۷ןpnmm}yjY3cOlnnPT]kJޫa&PhiMaD[[[?RG))Ɲ?;v<_`fEsI uvv직35ϛ7=iR7MsW(5IotW %p(/L>2I?}J`j/N+ @efVuO]1CMʄeo P=xKڶy۶z)*k9Hm޲st5R ]}~ɒߋFkF^z[zsCs"#!Dd-ڵ;pE5;-( -PYUU~17hlRoN>G999Ţa}2C\$G|WcW˻_0|Kudhkk;詧.ot7n%tQ@}Ŷ՝v8^泿);ym_͡21SbݚF 8444}_%'/⺎"țd$imk[\SSsٵu&mg7b{AQ1+ʁs_+Lο%Ǹ]M sG -9Q3ɭG=;[/tҚ@D}׮f?j1/+,,kmmmb p]%xC] 8 o:QSJg_^[};^ ] -N8 -777tO_W((0t]ڛMvR6-ouMWLqsA߁xe&Ώ.b˗\5J^~~r:_nbkt&kرk̟wѩ/J) QS]sҦ͛o޴yTp]5kqO(_!Ioqg>pi> b[-| %qZYGO?܂@c%ZTkښ~oxӍw}C眧z{PyP 1wa‹& z=>AOJ{0ZQ9dHCKRXEwoMgkfˎv\ƒ0v¡^E]ο24Jf#ˑ.y6[ 8M`.gճyM{׹㝝9?/8lu1MG|ng Uݓe3|nxT-ɋiLQWk1c\<,˥B!=Su$8uKU΁Ҋ 8O}gβϔqx|҉`^IQQlW{.T -oۛj?ka -=jL"ʹ1Qqw}ogMhmm=Rىϊ1e>XqQogyD-X|ssh'1:u@P،t!!8D=w:9y6#j_!SY BҠ|ϷN}o;w>#^hhWJLdwU{aZLCU8߸i 5 -y3-Z r$9"a!Bg@ (ƻ"R%̏c•: .x$0ez !IsJ꥗~:n{ ߳ ::e\T?7y0\tS߬m 6xOҟ l߶}˦͛(̈ηRJTp-B"]LH'=k@ 8E$SX!il,e?G:R~n֬j'iYESSPP -Q_߀:n>G~2U̍p?umMa4:[DH7#kiB!B9!k=ޒ5#քxg¼ SAi:( .?-?w޶.`Iw$}M<>5&HEx~$=MW|]#o|+d2gˆVn^&煑WY2{]Oxa'iwt!"'W+櫧Y4TY쪪Z3|_xxN6ots/p:_-JBshU 4P?ߡ@ ;%&ɫ϶=KC2 @ 0 /¤d%9>4ڭo[{C/nVf{cd2'%w_f iC&{l1Yr4E7k1jB*C(]JGO!è}E}dW+/TQQQ'⌋J9HZdBH -)~NV(`z -81y  -yvg>79--MMC_.&RhædF(*ХƆגl{%,>B 2@vB` /`!~Č3|6mjڎL_waGr:O^BR`7ѝC=9>;]f 88+O -q{b+ 1tC`uJryۋ^z7US`(R ӱ:/=L)pLfPJU?ۅxm9.w)З-J#Yu?h24ƹ^ scd1q:haq攞Eae>$0J|DSϢ4wO4)ֵ5rDȡv $€ASr|j[3׆s(GÕ=y/ 4EM˗/ggH䤩9vL/zPǗ} !/, )¹(1?7( sIqH+Kx긹|g2DtZl;t, -2Y`zߛo^.OeMz_sG~+&#A?̳=.aE<"hkng$=@C p,tw\uK1/?rǯN>/{/)dlH$=^b'a!M| - -!pX8B 5Ts}ѨWMqM< J;Q{:7Mn,Ba-A[{[EpsHp65jS<>Eb-!նǕkASȅs㙖?55mX ts3%F-) |qaɀ4ZSiϠF1t%-t'A/at-̎'X6\FwN-u!OքFias,=ԵI]t09x9Eu -Sz%a oY.c >` $$b𳣧q~m#.)R6i ضd%uIlˎ\bV*Gw~HU/q"tv؈./3-(kM뿽7i0D}DI;ych}Ͷ$5T4D7%s)|j^t˕t?MIlarAw{GJ̓*Z oX>c<6ɶ1ȘX_44^V=Ӌso+Ӊetod#<ߑHdW{[?{Y f594),Hv9 z rM#i̇>_)RXѡewL+¼TGLQ0E#7O\= @{kG?^Cue#O-3{_Eӥ-MJGPq#yG~k$q)$vF>m=>@ӓ,mP~.׿lg0nNy; u5|KycP)''o4̡s -uk`~{+hyW\}k֬9734:$CI/ER0kǸZG;ZG@h.T.9*kCtiAHy^_khJ˯16A@gBapŒ) p3V}pYUBP!4 =:T9g20ٳf?z͚c )9;9}VrJCkitZ+F~N=tvJۏXTmryjSN$-4 yf@q{ %L#p@i+cByJqGh17 ()_~BgGNr1EyCi"qmku= `.~ llaDݦJ>|;6|j2}Y#*6!@AȀ:F6'2e>x(#BGZhS,硄KGX|i+fZ\ - 64#իFwcC:U{ A;<'Kdo\|\57k硿ub# kCQ0sW[xݼd>h - !Rl{ADMiÊU<ѕJO1*iXp g;LT.īNŇ&AϞ9eD>s|LFMڸG,?>kln -[,f,mkמhS-)a7!_֣eJԀKɐ -QVQ_is-!إE)1Lnv9B ~~K$@ELO+V,u>˱ɱəa2AE0.T =)G?}MNSS3 ~[TPpjumPor'"$# ! -p6'ʟ9w.ŹopΗۯH$W_ŎK8kb#˜7Ï<0 ?7+K94E%!O b1U8 hTS+eLH`JE:hf]Q@’(wt+y  o5q dw3R0vh7Nv- ߿B6񳟽3V"ݽ?!7ߥ3tx;~IWۯWb%UY?蚿UYpWK8[$;m( -M8IMWc7!~.[JhL9:FHMթlןh#?77㏻֬ض=9:D;a%] -4e.SJK5-۷$-:m0r0 -C[ALB -ջm*Hfz(8!xN~5q4|ŧX---$"13:$K{:;+DOgx 6LYkUW`Pܼ'jGL˾+V;nm۶m_S<.PDsCM CWخy$m^x.P[7s!j^P4Cah:S[ ::wX,i-~up68Z)0h}"^idտ{! '|4^t4屽q}x ??ƦuS'r/kxWF8CrT'֐rh̪\ͯ)zϞ;waBnZ?߭֬Q5QC(F&O[:ۙ e4?ݽ~с뺴-tCM/s;A%ɔq p^Ei= @zg""(jm۳{08;v7׬9yv7$4dBt%Y&F5aOTT-rɧY~Fg녒 1%#qhj6u̧ML|^)#Hx·dx6PΠ~H Xt{(~_er6o;Mgq=\'^Ɖ`賽a>N]gYUW -L}o>M8R'bQG*,+NB7ѐF2),nĨ@}u_'F͗8m>VJ)4S#dDH&m$TUW۩Ry1~kzEm=@s3_Qg»vXY ~`˹RhwM1), ᜯE'\t]^:iƳᄯ?jՕ--.ջa\f/hVAkCN淒l]&}Η1P?~Yoo0giEY_ҙPXX,#=yXG,+) 0EǀP1̉ر"anLTxtZ2\Jц_f9v}g=xߑE¤T& -I` z* غ}ֶ^zb?şt7mXɧ: )d)%9ݲo#ÔQJ b0¼'A>u= -~o2%E6`hpVF9PR<֔&vۺŗx: ',l)i'Eb1Ph -ӦsZx -or] \cKE(I\y: ngWGol,ol%KV466~. -K)I&]u{aH )~8W\-@jBVHh@Rn.tM7BR꬜mTp9#E !KAksZ' Iˬ1U3S`*$}{psun5 l Q2FB$D$&4Q4=T8r-+ u>|M7;'/R/= r 8r,%=WAq1\ﹹwnp]7R? "oQ߲ߦU:~:9nS:,Ma(?+h1-cp]9iڐ?XH(?gBm6TpZ;paym: -z^w?x)t}6a[T0<$ ވ1tc}O9Je:,/,VQUg \"!FnO;R/b>aQ꿶yV6S&e1:p2u)&c?6-[޵WX̑{6E0qT2O30 L vM4ͬH$¶mr#78"  ˳1$Gmk}WWbB -(1zD!P$b0nש""t_ދ L>?#ě|G?|_[Yǡi V\ ;3Fe[#hz,% v@A1uqYmGWus(7Ptj.b@٫1 W+|J vufε_`xngI.3h$Fbg~-zm1oABZ^纨&d:%TVۅ¡YVB*[H~ޏ*6]rpBUedHw|%4AfmV7UkȇyCQFb -A\Z|N3F#:5@CSԿ]~sOa*hMQ jkʬż -:EMMƺ.iii-2>at1vMVcQ(g|sF7j3jK+ wc&Pcnckxi%:|4:+ ?-5/s~(+7~ѾÛ3;PhHJvҲߠDBҪŚ猹8*@t$Q&w+V@)ׁ'7B+HN᠄f2Ԃ a|9&R}oO|yLq%8.c`hli)ٶcO8_&-kOZp&q+Scgf1 :@ʁZ-W]$q>yRhd;I\p L)8^+Q&:IeJm@k5 -5{}?J0"M!9Ht;:Nijiyq񾍩|C@{K!B@4wX!^1Q*юP$vtj:zֶ婈R-DDK+gQ/|Y쭸L)\8]/l}a>QBBG -N`=rq]Mru?t=WO`69(%=R(!8S]6>Y-l]nULs?V<8+DQH&HHlݲn$z ZwCc²ݛXV(4%q1zNWLN$@OkZ<&!͛`+T16N'Zڃ,"4>m2c6ER98Ja+BҙY@ӍXr;!=.~s5I&( -%4/RJf /js8?#]Ij!jPOts -7dk.RyB :!] .On`}0$!䐂msVC9~ r8}CSLG`*ӧOZQ^^s!5L6 /Swë-5*IhF -=Ƙ؅䠿q$L{7Őy1 T^\EAq7m$U^JWKot3Tn HLBC۶]!+/xl&`hkBK)%D: -4ЦSQn1w[dg/K5DP-m ׯ_wm%?*umxWW=C<W */q -]J6Q 􌣖 rB -!h T.7 Ozl욂H흢-545ߖH&Th]6'By8FdH|}k&x~ /A%L 8&tOQ@Ӻh4R*կ}/z*^GDx hFS$r(CYh1y{r-Z1(EW >f+TPwxH>*L`˶m?ksKJ4vB>RB8,8D+d:w1DWJ %s~>_h̡%ĸE?߄W8YJGBB@r6oa-@7SO -.vIF8I8n5 D8#%lq[3Mn',bhd%Gܡש@R\e#!unکZ'L8i;>b ]s{Ar `ĈE#gՒS+σX+-v"h2Zt-d%tak cT:HLLu}0`UMh,׬If6jk{tG^)jΈ!T 0b55JCBl`psXqC%kTdVIwm -!R[@(i\ko]}ڰ$mBV5(ZIY]kim5v: ;ۂDrم|aEڛQn?ȕRdV42Au4I$)RFNc7qvΌJZ|~‡^A֡vE"B4낏Z/Oҳы5&ƷH%}hJ#BP^oD7d;T'Kf:v+.5Ʒtxv|1`W(4%[KQ8л>w1aAt&5@͍Fr(Q%T:S Nhs ,WPN<4Jj0 ˫GЫ\&6lZc9 EL -џvI E; 5KWT j$min]_~co%A^|1 Vq$ʴ!BYq't9CROy85 #?+ 4޽E*C-A NtM*G$/Eӡ9m\@DO#z!gj`LPiL#J[l +Y/tۮqK̹|ZtLRx5 :wuM2s.ws>ï:F$˭Rmy자2D>1@7fe?p(lB -1 Rק74L*YDR!yXǧ͹|HR)}$BHCgJ͟mtw$5*1#RrR.J(l?QCThJS&z5vӎdkS2N42WF(@܈)jf6g5(g|Uv#Le` RDDܝluycN2!ME Aޜ-R' *V w!9 ȣN/VMhdgp6H'7fыYF Zt٤:YolJ&W.Lǡ&ДC\A;6qAA2PZ7֮l vp(dtq*Ug5N+kLjЩq~l>9+ұ#{=wSI*C!rd6CF.8X']P,H?x8#~O+;8[~Ĉc+qH>e?n.:_g}_0*M.e-I:ai8Zkn/ F*EeeݡzONW~kmT77&H؞?kݑ\S}XzCgN! ۱lBǙtch -:ގD~{^&*t0xwVG##+VxcCL\J@:l>au ,4YcX)*!sU%S\\I'x}MSM>i`XpNY ;u3̩.Pv_F1o4X8@@[B$q(/R6$_|\BD4:uIh:餓~lڸv}ێ6  }&Ӄ-z+" e[gϐW$"豴A_ (}p9.4%0 5ᛕ2:[>$J[7dRO;4=͡Xrh~,-f`r(To{M!U@XJMgT.'rv[U7.pǍ_Ѯ~ ֧g 4:qYI"J&cfh(8@fABo] -8LXָ{Sԃ.t[C3]$$b.a%ncפm&~M7moNqmpŻc1fG v\ޙ9+HHWBtG3ww~w~K@hƔN]6Uw9|Α@8w~)bl߾Wc^jEE$8,r1Sols^CHPLT^XQ` 0MV!X4-]%KJ%G -[W6j N7- nX>>ָĉZMn֩cÐiin9e'`I\,ad)qaR:}TNV{N?m)QkKZvm WCU'B F+ZMyX1q* - p- |玎ozb+a|vHTnAۊ: Z!Ya%))DTbϽ{eS@$qJ:\$F4"a%M̜1ӧo9R[v$zwx|RN=en(G!uphl gPy:NpPAxһTPZ\ Ft,ofSK@ :0.`~h1r /^;ͨ} -㋰W̿$YCA]_oJv}yEBO=ѫE 'SS[K*d^2(=KDBK+V$X..AAp`kEQ25cwZ+a]vt}-AΤD*V"&dh}}y}rc|Іĝw8[m}s;>GD'BLJKֺpY8nN# %R1Tv 8*V$O;t آN =^x^Mgq@noF ƆA\uښm:ȜD÷>_a{6fZ`8CWg5nҫrl[k)q8m3H|ٞs^wuCADv3mB/^U4;Mv )54q4 K*R@IaaÞ;=|KTßW-ə[^vR%+E/5vF#+0;!:/E{[[[cc=foU^n:jl ୫$ -~` ;xMLXba!c ;|\cQspPn FZ0~„ KIJXMވN'fA=ͻ7^f/I}7D#ɩӧYueP<~xH!;h BrUʓvO7lzYhO>1oMq:ݏ1.Eܛi$X6k#Jk>q??'?Wun5qT~-QNuADb^ AG7Lsg4(!` ~?9g2|r..^Txo^|ۛ6o3svfr|:2:ByPIyM<:)\(b8hEol۫÷%UB*fvmӚ+ +*n/QcAE:v膣cZZ5k%XAa1r Ylڀ_ oލAJ:lYP4 `k?aa-rUCJ^g Q[St޲-7ڪ/uAd]~K'5op[@ q!b08D-KyԒi'T.NOjg Ĭ?>׵?tmxZSlSW\~O&h٩&,p$-_G2g1X /ALyA> #eۅ:j3r߻;mMh/pAxn37unp,fʸ!CY"l}triDzE9_YpPu|;[R|-Iiٯz|"--TN{a'Oq,AǠ~ OtxXnh#P`~_/=-6ӛŸ>eu2fWP yiX++/GOq:z&iW\ITQUUQd"hpC:~Ҽ=XjtSTT8f;̝;gֿEP/]P|?PF>S~'%3#2 >es -qV1BT:< -yk^sK0t'n^۶|?W7z9݋+vNI>vyx3U^‹ePXL"lA*TDP<)Fet1aY|@7˗g?[~_?4`Aìs3ۜiTRm)Ei,~M#_OYGmy~4qKI#B mfR~=)OѸ|W/xkI9*ւrG숖Vh`]'PA<&+V9B܊j9,9QAD&߽7npЍ@LEJEWg/1޼u۵沵*ߺ_ͥV!G -Yf)"ظ`:7݃ݡiHrU1;N\eNXIdLo'%`nYz>,i=Lj+" At"\tm;A&o~cs"<L<'G 1tXX6"fC+ԑ4o#ІsRܜoml9PksNYuڮ$^[J"wCX9L#V \Q:Hÿ` tt6@pn wkNgZě@AA_{_Ki^^% eB8"n -Gh(iM{{{e˾ZuE 4?P8i#.<.OmBKٳf)5c3Evj'4M&EM%u 6@F-Zk\u iʔ*?o->OsZ@3rUy#<IG@n_r̘1YQjL8?Kj&Eg$yBv*wl Hh8/ZH4h Ad ;:mJ}cr"@jb_vV\\c8qb;7`ƨ ^zK^|fq@F E pSzÍnY jk:!se'X \ `$ t3pH|WK{=Hl (~hjђɓګ~'? M>E1VnO"jTɝ; -c%0>?leeeUa>]^ 7 |(Q- s)=t<|׀W s"<:Z%|u]q/d8NnOd>q EZ+$5:eA`aTNS_CԨTw;\\sJihX)?n9P$([8gIR_dm}f({cAaa(O`2Қ]^QQ^}ߜhk+ÑWNj^Ks&qfE(݃tToÜ0+CVbg7Fͅ6B hX$#߆9Mu $h4[ 5ܯ<0IV^vٷwxt߁\eeAr9DЦS4I#];i߸{}W*cPnQnHׄ@(3y|- e}X~;B`y`%gxb;~_pС?ohXwKZԙjйq9ee33m΍䳹3ܾ. # -l -'F+>4`Zgv`yn5& =|֏>O{R^Y0AN4Xśfdɲ46m <J ,t|[ltP"X;~\";0?{ph gSm=R~k/_r{^\⚧E\ ֜+W~?~ƛnv.9qjkjyo"}LPG2> {Ĵ}Yx~9#uΏl+!}<l4ng?s6?bZgխՍ1C7VBL'n?<1Ĵ}$#bڇ>mi 3:?bڇ>?s~iysv{Bw# K_b bZ/9> 9#}s>}^?bڇ>a`O_bK˩1#}cE|@j> x>) %}cV: ΏVyi9{[mi> 4_s<:zW7~Ĵ}`[ 1CWf 1=}x6{i_s|s׏Kp\Ĵ}x5bڇ>a`7O?s|@>"}37xoGL%8$gtiEL'YBLg s:;9o1C78g^O787Oof/1?W=?bZ_s>"EL'Oo 1C2~|DLgbZ/9>9GLe xwĴ}@Y 1KpXmt~Ĵ}|5Ĵ}¼61=}m>fKprF׏^i99> cim>O蜻͏Y%Y}~i9jĴ}¼9>ca/4~m~Ĵ_sa`0ci%q>zis่iXZĴ}V`p/`po4ɹi Y}~!}spm%Ĵ}?`>)KLǬD!u%8ΏX}1C00ǿ ci%qv%u3~Ĵ}ow/Ĵ}~Ĵ}BfbT1#}s:1C00CLЧ9> >s 1>y~B 1C0f"\OѧKL%8˩1iX8#}'`7O7xu> 8T1่i ^i99bڇ>e%8x-Ĵ_s|@"}cE|@j> x>1 }iL˩1KF>y> L0)%q1/9pBLNJ1C0?s|@>) %}39w1/9_i7j> 0CLl4_s|s׏i> >)'tG4n9k!u_#}2bڇ>a཭Ĵ}m>1~!u_#}2bڇ>a`bڇ>f!01Ciιi_1C+RO787Oof/1?YCLKpGTOpPBu -bڇ>?wAZ .BUNAL'̙~U࢟?_VĴ} -\$TP%xo"*TꗪĴ_s^ -oa-GLeuGZ0PO3o~U~ C)aOSfnHPxX%x}:'>߁=P_^?bZg?Q'0P1#o?GU"*T+0b1COa+0P xz@Q -BU"*T+0b1Ck\j NYpPB UZÈil5B# -U=BU -\$TCO@F #qw(%Q -sG -UzPaĴ_YcZkO@f#TPyx =2~Ĵ}^ƿ5Wc6BU -BU"*Tj 0bڇ>aOy oTWc6j U*TOp֏=B5O+k,TlP*T .Bq@@545Wc6BU -BU"*T_aĴ_gD=BU -\$TP}>yZ@XV`ĀP*T .BUpP #}'Lc{^,TcG -UzP1#TÈil5# -U=BU -\$T_V z~XP=~~#TP=EBU -/~#TÈish?ƼU*TcG -UzP1#KLg PB+o0U*TcG -UzP1#TÈieXcZj S1#TP=EBU -aĴ}\y@XcZj U*TcG -UzP}KpRa꘯LjB5{PϏ{P'H -U֏{j1`_~zjF'H -UZÈi:XcZFQ"*TjF #}y,RQV`DzP1F?O+k,T+0bFQ"*TCO@F #q'>[`jFB# -\$TPxv@1CϰҟdJxj_O!B5g#_-g$_}@iL_#BZGL%x -o㭾~i -bڇ>apGx+0bjKLЧ[{_b -bZ_s 71Cжbڇ>a`0ci%}cV:~ 09#}sx~iy>1 }@ix~9#uzW7~Ĵ}`[ 1C0Ĵ}Bfb7lv+-> {n&ys$/`os~ڕv)?R`Hps>f7opoys|@6 6Mt6 --IENDB`PNG - - IHDRL\sRGBgAMA a pHYsodtEXtSoftwarePaint.NET v3.5.11GB7IDATx^b: ݻc6>CReZ1/o4j]wJ;M\-&*i*u!Y:o^a:H[:n/.pxj8QCfQuyqEQЪC^oxt?ꐗ?ƨCXe7,hĩ[-nu7@^H s4:Egq?C\К7꯮Vq tXjZu q7%P%:q+qhvu .Z[!o!Ko~ Qqw4:&5 aw\O9?ꐷ%:{~h!W5bܸC߄TޭVF9ȧpEk+B^U~?ꐗ[L~%1a@W]M(Vԃp>^9ЪCޯxVZc!uQCk􁳩ρV.$?/fCyi)uaq!ыCyixJhY?}qh7aw.Z[!oa| -w]68@w~h!/O9.Zc[;Z n]ꐷ07ڧ2CB/doZc?n]DE-~`7~Cxqh!.}`d q?? Yo\Vgũdwdкн.#0{?d VqVUWVZpY8.C8଺hnD@C8+Nݺhmndq}C8KhuѪCU1":a~nЪCBօEgEkuuqh!2UԺ{CkCX,GAŌ*PEkKt# io·h?캀Gyv;ıs޺hQƩ/G*09%T?N ~߀#ִ!J}=DZoyAy_ƛ_xuyd?ÏքNų Zc!vq*G{iB'Xc?y7gi{1r; ִx߼VB.P#kMGGRgm G*Ϣ1D^0kA| :߄Y V'ЪC+cs]7qaB\ya-]aB2 㣃W':䥉~Ag(5F*ǡ?8nڒ5GV~,]ZuK-P8ƌ>pVFDuG/L;UĤuwݫC*Ixsss5Ɂ{IENDB`PNG - - IHDR pHYs   cHRMz%u0`:o_FIDATxAH\w%'M5S -b@ fB9%w=Pʞm/J=B-xOO(Nld!=8Lc8|$μ_kߟo?D0ɹ=;veC 'px$)3/'RWF8VLVv]`֫{@e(?ưGT~N4в*lk3uzW R -eS5o9y$YO7v>Lx-`Y?+K]@=If[o54}7\K糐\IwI~}byήlNgked}]VoBn|sv&grrҺ21{d|rs0*k W.黙}$'30z)}|ǮMcj|Ҿ'n>~Qk>νvc7g|~d|W_ -`%G̷xE|z%=)MWngt0_v"d[F}#^jKZ{wڕF^$ۯTzrnmz%JF+'c^p{_]8+? tͯ=kvB ?G`s*'Iڲntɜuc{wvҞp#WZb' a.tTFЖ357>_:r~-*EJ: Qh̋bҝ<ϩz'+Yȩ\&r&ŭ9c|e+YZ2:٪zm[PY7b8__ڽ|zg 5y8O[w&ϊ*@|ֿdu;F,r,m?'t/Pappرx|inϗ+[Y(w7nMggcccJV@z{{=mmm% _{{zzf{իWݺukkedŁT*˃JٳY틳rayP288XT*ڶd`eDUUKDɾ͊@̫;w2w\.hTUǏˣG߷YjH,+2Yrl *4ҥKr o>pႄa4Sʁʕ+DJ/ sMӸ]E$HH}}}id<ɚI:& (Ų,g6H!# xY?T!%SA*C:@o  T`F0b1 7+l@צ T -mh* PAb @? JM# (+\*P[M*h=PAg*@C:pD@0 - X pbHA@Eo PA@ysT0W!f*@ltPke^s AZ,! b(9! -tt?YhA@EPAfD8܏*ei@Ϟi/|EDdrΡ(,+G"HiIJ,9z|pBc*s;=>T^[69|0>d5sy VvtHם`$I9r:tH|>ߌ?_:SN͛7Yte˖DDem\kkttta3f)"TJ>|Ȣ;nhhx[A߻{hԌ4557,Oy FDdɒ%=˗/wV@@z׮]FY*T f۶mYtX%@`,*rlܸ֭G旻ȓ'O$IccB ޽{+bˀ("dRuOoeUU*۶% -]عst]1 =7Q͛`ׯ_}41MAeAUUu= _rW6mk__J^{LӔd2)fז-[1 cꮮ*!%xk*m555 kGӴ4'#T@a LOXi+IENDB`PNG - - IHDR pHYs   cHRMz%u0`:o_F IDATxmL8Q&@'$j56$&Fi4kӪ2Uj]H.$UUWӼhHP(a$ BhbhxXƒ`}}{QAc@#˜;/ξc$I"3@@@@e ŋg=fA K---Ar;qp  --(pF2L}jZZeNZedIYYYKJW_R*zgΜyᡡ,ǣ$|>v###T__O ow5:_j?b8T*}566ٹ&_|4667667|^Аa J7n:ua>Kbq'NӧK˟{[_$r@j56m AP`'|r{ee">Ų,rX,O};N͝6`)鶶&dݺu< Z@zzzfett&&&8|?APb! LEQ - v}qҥO?cA(`9&###?mllyn9RH`s8v*v7sssݩ -cǎF!foopj*$˱7a|>l444gϞCffxR+`@bbb8_ wU*Ǔ"ǃ N&Q\\ yyU.\xW_}r/ w&BAk ;!G$Q('hBAT*j -kmmmO>}+Vw0gϞ݋]tͲ(RGGǯKKKϜ\.דSSSps{%4콽MOMM.-t!]zX3n544hooinn^yڵzd!tuus' ݾnrrҀh2<<9wZ DכiӦԠYnL q- wlgg6h@FGGF޽ŐA4JJJR 0h@ ʣ2.,h!  !Z/! ,(f hPb@ @@4ԃ0 3kCRSSi͚5s J,IHǩ.]Duuua&""*//^x i4*,,$Lz{ -w$4 ڵL&m܈k]M? yaY{T\:wY,JMM\8^z[|>""B""鱗A"Ill,Liiiۤ,5sU/j B.˺ - 3@@ X(Ÿ]bbby/a`y(>>v?{8N$eaYwBQݤKDѣ^f$%%QBBy7A`YvkfYxPbJ@T @\bӯDZuC ~{3,<}ӏ-˼ Da+) Y***/X{\. y>u%##cC1f2""R*$q:ajj*RT,p8AIMMm-**zt:ᨮ{IIIހڜF8r -&,`IDϾ"C ڵkWr_|: &,++YPܱ1 Cj]\\7orJ"믿'Vч~H -bs< qj#//z3^IJeY_>xC0 )Y?~qm?^Jhyyr܃aH*V\o)))L&#=irzv {sÆ fέ~XT*s۶mxG NNN΋|>֯__[o5\zuboZ xWbwR8~ggg-;;h4?@jz^sw<0[Zy|||cOOMׯ__{ hT|>p  "~rr7L3 +Vgm6}uuub Ivݻwuc SLnwUCCEb  .r/**b`ҥX7xsΝzPduڵ ^wAqq] .Xr? H4j%$ֻHEQfmy/^E,kOֹzꍥl~iDՎkXӏXjkk2~#\3, -Ft___q2ے%Kk.XVGPF","ԶӏXp돷 $ fqaG}qݏ~s,Nj/ow}"ʍ ''UUUhjj‚ p$Bgg5 IA~Gb޽(((` Y}}}F}}=n݊k׎Ppc2 77O<ߏCe~ 2D$ƍٳgbŊQo?E>& F1}7l6d2appph/>4$$:IMOBHY. -Dj_2{ld2׮]ý{"!$zJ$s*6n܈2(o߾F۷w嬒n+h v܉'O^P[~G]t['NKY ;/:>I +xpI mmm˗/O>&BQ!Ep,w2X -!걾,^WƩ Þg緿/gt֭[bNrOOzzzx]nH0mڴ&xNI|~I#cе=k֬/DQ}U8e177,޽{gXs!1Mvv@EE~n_9$IJC/onsXdɿ۴iu}|`0<6+*e}wz<---O߼ys ,9H)Hc̡Zsh`ҡ>*:7l#o<H$L6IӧO̙3[].^D6<!!!!!!!!!!!!!!!!!!$f8W_PIENDB`RIFF%WAVEfmt "V"Vdata$T))***+++,,uѼ00011122233ɀ778889999:TN>>???@@@AAEEEFFFGGGHHsLLMMMMMMMMmMMMMMMMMMMNNNNNNNNNNNTgNNNNNNNNNNzNNNNNNNNNNNNNNNNNNNNNa[OOOOOOOOOOOOOOOOOOOOOtOOOOOOOOOOnOOOOOOOOOOOPPPPPPPPPPVhPPPPPPPPPPzPPPPPPPPPPPPPPPPPPPPPb\QQQQQQQQQQQQQQQQQQQQQtQQQQQQQQQQnQQQQQQQQQQQRRRRRRRRRRXiRRRRRRRRRRzRRRRRRRRRRRRRRRRRRRRRd^SSSSSSSSSSSSSSSSSSSSSuSSSSSSSSSSoSSSSSSSSSSSTTTTTTTTTTYjTTTTTTTTTTzTTTTTTTTTTTTTTTTTTTTTe_UUUUUUUUUUUUUUUUUUUUUuUUUUUUUUUUpUUUUUUUUUUUVVVVVVVVVV[kVVVVVVVVVV{fVVVVVVVf{VVVVVVVVVVVVWWWWWWWWWWWW{fWWWWWWWf{WWWWWWWWWWWWWWWWWWWWWWWX{gXXXXXXXg{XXXXXXXXXXXXXXXXXXXXXXXX{gXXXXXXXg{YYYYYYYYYYYYYYYYYYYYYYYY{hYYYYYYYh{YYYYYYYYYZZZZZZZZZZZZZZZ{hZZZZZZZh{ZZZZZZZZZZZZZZZZZZZZ[[[[{i[[[[[[[i{[[[[[[[[[[[[[[[[[[[[[[[[{i[[[[[[\i{\\\\\\\\\\\\\\\\\\\\\\\\|j\\\\\\\j|\\\\\\\\]]]]]]]]]]]]]]]]|j]]]]]]]j|]]]]]]]]]]]]]]]]]^^^^^^^|k^^^^^^^k|^^^^^^^^^^^^^^^^^^^^^^^^|k^^^____k|________________________|k_______l|______``````````````````|l```````l|````````````````aaaaaaaa|laaaaaaam|aaaaaaaaaaaaaaaaaaaaaaaa|mbbbbbbbm|bbbbbbbbbbbbbbbbbbbbbbbb|mbbbbbbbm|bbbccccccccccccccccccccc|ncccccccn|ccccccccccccccdddddddddd|ndddddddn|dddddddddddddddddddddddd}oeeeeeeeo}eeeeeeeeeeeeeeeeeeeeeeee}oeeeeeeeo}ffffffffffffffffffffffff}pfffffffp}fffffffffffggggggggggggg}pgggggggp}gggggggggggggggggggggggh}qhhhhhhhq}hhhhhhhhhhhhhhhhhhhhhhhh}qhhhhhhhq}iiiiiiiiiiiiiiiiiiiiiiii}riiiiiiir}iiiiiiiijjjjjjjjjjjjjjjj}rjjjjjjjr}jjjjjjjjjjjjjjjjjjjkkkkk}skkkkkkks}kkkkkkkkkkkkkkkkkkkkkkkk}skkkkkkls}llllllllllllllllllllllll~tlllllllt~llllllllmmmmmmmmmmmmmmmm~tmmmmmmmt~mmmmmmmmmmmmmmmmnnnnnnnn~unnnnnnnu~nnnnnnnnnnnnnnnnnnnnnnnn~unnooooou~oooooooooooooooooooooooo~vooooooov~oooooopppppppppppppppppp~vpppppppv~ppppppppppppppppqqqqqqqq~vqqqqqqqw~qqqqqqqqqqqqqqqqqqqqqqqq~wrrrrrrrw~rrrrrrrrrrrrrrrrrrrrrrrr~wrrrrrrrw~rrssssssssssssssssssssss~xsssssssx~sssssssssssssstttttttttt~xtttttttx~ttttttttttttttttttttttttyuuuuuuuyuuuuuuuuuuuuuuuuuuuuuuuuyuuuuuuuyvvvvvvvvvvvvvvvvvvvvvvvvzvvvvvvvzvvvvvvvvvvwwwwwwwwwwwwwwzwwwwwwwzwwwwwwwwwwwwwwwwwwwwwwwx{xxxxxxx{xxxxxxxxxxxxxxxxxxxxxxxx{xxxxxxx{yyyyyyyyyyyyyyyyyyyyyyyy|yyyyyyy|yyyyyyyyzzzzzzzzzzzzzzzz|zzzzzzz|zzzzzzzzzzzzzzzzzzz{{{{{}{{{{{{{}{{{{{{{{{{{{{{{{{{{{{{{{}{{{{{{|}||||||||||||||||||||||||~|||||||~||||||||}}}}}}}}}}}}}}}}~}}}}}}}~}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~OggSvorbisDw~OggSj5vorbisXiph.Org libVorbis I 20070622TITLE=untitled guitar noodlingARTIST=nothing nothingsvorbisBCVcV)fR[s1gcZ%B(sV[)ZʹŜsΕbR)ERP[cR)S[i!Bs[iZj9sRN)SJRL)SJs9SJ5ZS1[K)tNBRKtJ%tP:k9S)cVBjSʭsАU@ -P(2(("9c9 -pIM,Uuu}ߔeߗu[n]u}]eW]Yn[[*˾ڲ1ܾ- 0k|Yוc ׍kBٶn3vgN0`B(4dE'`$Q,%M4]U4Mו4453UML4UU6MU-M3MTS44UQVMՔU4mTU[6MU]Wuוe4MW6USMUeWvmٕe[445SMLSUUY6Uu5SUMEUUMWUՕeLU5DSuM״UUeTU6MUUeW]ߕm7MUMմ]ueەUݵm[%M3MLS;*J]_8\mDO'Zhba9o_CPqb ls[K$K*N :KяCot%tރj|||  Ј@>.ah)zq%T53̓"G⁵S6/A@%Qx`S,5dm8rvي6@L`tAkn:m8`@Tn:>6r} $kPpAQ@ ϯ M ~=WqI#~ - BP?KGi _D)HQ'0@|<'aL,L`>J6װ\ZxaTX*a6=[ qt] - @J_೰6$\:onтD?'"޹VKQ)(}mNJ@mMJvX P0)oh -H5@'xzfOGMT54T[ ``G9U@ /,?+n->-k zBJΤHhgBx"O:M}he'H"!G;0(}HL!-h - ^ʖٟm w -ՆO4:@#Z<2>(&5,mAJ0OJП [iP}@D4Hu(%F2o(m#SExR`:'̈́U@0-,,!hi2> 8賠hR\{Gc[}xI -j)~ Lg3 -_jWU-w0@\P `&&tcjX`` - ~0/L:A`Nj -O` ]@ -+W{;xX P_ -eZiHbrX$:?ˌPoapR& '1E6 -@~ I%۟Pjs xHN^@ej#n P -6v &E잰i0g {z"1g(yJ%1^t8cu>Ҟ'[m܏L~Lt:|, LHwQY(ǃ! -@C\!x\< -&vP(T ȺT'}/hԾ!Ń乏7N{>g@)8D?(T"eARv !yeȭ|O<77`0մd?(zu&nhP~S&\S~vi,2aE~at_m&8h GQTȜ":`Aiژz :x]{":4/xyS/ ì^Є]I?zVɃ7ѐ1kĎ0Sе(|g^)[jK =V38fX;:&lU -Pئ(.M*ZjֽqYPW%`ֈ%|\$B WhR|#s  ^,`4H+դߋeOU8Ac8n5E"},z+@idR@z7Rҏ[3eN2G{dDcIb#VE{30\"~\n\c!g9\:=v J 8}A -Tv -+G̣Rn}X -pP6 A(̃VV-`.AŜmL6=*,UXࢊC{:'] AǐJ6<+bD<{2&nxiqjgݯAC@@ !:_ -( pHiS)Tv?hqЄZ|&\_nq":Pd/sՑL҂4$].6JE 9 +e@:\/)mT$^KƒHe.s`x!\/:iK|Yϭnn<3UvxȰNd/ɎhݼN`9T:JEi&tOs8,Xr-3`6Ļv\ 9SotO͓X@ tkűfe61>Ghpip~+ZfWWC'>) 4$nmr>-2h %4)[^"RQx`)[,A`hw+ -Ȏ8 a酿U1bqq8',*A.@$@hފ6ϰlNNRRi[h{+ekf(+xHO 5^qOt̖;?0֭!K:`-$o}02qƞ.cʥyچ`$xtzf7%H_|-$ha -~f p  -Ć` @yi_^lj7THNkuKٕ[)!%yjhMG<`(`bf7rǞJLj>BGtt=%80*<$=Fp`1,VX`P g{MA{h)*On0#c@:,>JfaVT]= 87`j#PW|Vޕr*RTSf_Io H\~BKze(5FGܟ`l@-77o[36?8mZ`?d0(]g @`@ZfZ]ҧꕽ\[5E<2ǽCuޖ}Ww/z@z2}ƣ%J8RYSΣܶ/0IN0 -D B;J@h@hX,@F[XRT[o/p|oB}l\vp|w' 2N̬5Oi - < >z6-) -u}^ AH~}$U( ^=@?W 80%X -e.0Zi6#̛(pL~/`c'N({ -+ۖK6#I@V $83oH:Z)FZpaK iSU5*zp3XX#ϸK;&K`,Ps+;\->!S̤k}uh)!' @C D`ۦjRkn54^vL]t @z&`OJ}G<?{] -`~d7Kz\vé} p<5Tk%&NbLP$ tOggSEv$yw|),,)*)('*'(*>Vq쩭վV<\^ J*B(D;^p5 iٖ %n/ W{z܇9v,gfk7F({n4sUTq4P(<, -yF77^1=cy<$-t=4hTT -J`=; 9i3L)/Ďc5^sgx.6E5`o (Z j-3zD &tP` @ 0^ 6џZsM]`VM0[X2Jܬ (FE}X -}H( Px)tQt io i~O<3`UqW - 5`[.a=@4= -@>@ >5&Ha]4-: -6jsw@CWҦPÆ'( ^/O@?k"a2"|Ov1;BSN8(lN<H ʔHxMi$@ ,X ht>+ۣ&צ44y/a{`lF!:5C+CxM]50:|*Tuky -< -'t?+CqcVm 1A^q^HE3UL\IK4`M@hh 0^F4I緵GVƃW5t -a …#@%x;u@=YE -`` -M Rg'K@^˔Gڑv[eа-.Aa|`j0|Tګ,@9@ G97Կn t$$+z -C`P>$޾!æ66}%g'bbl~2 !:OHyzN;^ -Lmͣj 8@C 2P+ -X*)`V)"`aQis^`]+̃@5"Phs[{c ]7viY< |c  -ѵˁspHGBf[$x\Nn )-\*Xf1 R#'8 :2LJ)~O4"Q7Vv,G/ -s@^"@-y @ PQp&00qt'9'7PweI"6" pg`J_/{H}~N+Pr> -k<hbk@5w*tLXs u8'{1/>heÓ^»KĢ':8 % -]&Ӻs' fϾ 1ul_bi G fⱭ⼹H=?a9"Rz9?M-Hg(5(I,{܎X:>=Yq8_I\ۙ>@BU6[.JBLir3'pLsmsݻnS RJC}pY{-xZoŪ9[\ľ(΋7O?TAdhN@Gfjfsae3[Ϗ[7 &7bh㗵-FB[g P5DyBlvDa#!0O( al\h Lh$0N,L x<tI;~L3ֽh.!#? T9]Pp8 AӣNh cU FD,?/j?zVNs9h]T4(-1cC ` -^@"@:>*[ZOb ރ p^HBxԃ{)N)$ [ -p*_UgP9I|4#;6A4NgPtP bD@bVWi XOԀk@aY< -`<:P<^l[QSH03V+ϲp݃= 8p`%SW3:* `P8 NpE,T!Yz>) -=h9:%8^&2< BVA(ܺQ -q0I{p=㣑Tf'ؖ -ju94uG~,1nKnhmU|Tb|^^ -{DvSOE&+D~Lt4p s84x 䀇<* QDQ)D"Kӟʴs1޶1+jt{\tou_!#;.gJ@dt Bd0NFE H@l{' KK(N-ը0.E37t!%&\7Uff P6̎EJn᫡f1w C4x?^mpK't vD8FuFngȎGcrbw^orQ|="O'Wg\l1Ea[$z:Nv91*\wl & @:<|T]+/aW[6 Lї#5dzjr)~vT|I;~_[ ] -(cc ,_sͦW6fm쥃K3݅$IҵGC8v"{1*ASVgAaS5=%J;M&Џ @~{V -؞q5.^$F+?DWWp(⅐k[ؑCsʽyvDC:;NAu j<;+q_KQ:0l~E_Xc7 WChh$X0X}h;rp$okH?Cr5'cd-A.& "&*y``u&mP%X~;K -b0Ld6 `cL`,h:(L> VuI<6ߠ|X:T]R𱼢Q' -RR_p^7YڕzOtzPon8+u[P a, ]z[,ToЃ1 -Q>,ni`a;tl* MvPf#P@vml0jzm=PJ ǽ d"<_>L@3j(26@N|PIHp -Q Q +⣜(C\bb!ت@c-ZTкG@>/0 P owE6}'Ep - -8c$O* ]h ` xXd -QqEC ":/Q؄ ;wi*S n?`;ܸ+(8m|aFG}Tme|@N0 -??[y/\CIxyXxˍv|5J^ $vG17!X> ~+}-w #OP\ :^Z8 o|E7T(FRV#@s=D&Y h$v"֩;uIsV`)>gpR-xp/@=`,P+u+ -N# 6}}O't(˪CbP,cA4CcS :~̮OQy[ ;5cdX+`P Ă{2*@,>K!xja2x-p>5Ne!h$pf}J9@l L\"<(t@`B^̞g*~xg \%½̪<x|`ĘsޣᭆׂU?``WU6H -`D8ہg@\-VVPP3c>;$h0Fm1 *ߨ#X(foi9iBB7^DNkx0Cۤ$W P`i.GQ7i -S0=J{ -$ޟE~ 0&|I-([qB||uVI+ʪᲪPl P ! Gڧ40aSGZHs@{T;#թ$t(Hߙ|πP(tu lu@VmQ>F-zoúbt+GPs+<0 /+`B1L$vN|bP8J -7"ܧkġkC^]%sܣ~ Z& nj:Ʃ c>K3 @P`ӂ(t@G - D,ޑ̯},`u -vPnpĬ%D}$o)ʰ&.-QAs/mDg+KK p"XH%A5P l$Ԯ@ ,@P OąidZ Di<oP tD@ @?;o/e `/މjkGF 9&p58M 4YcFAdPŪt!H0`~.gȍ:8È *@9Ƞs&`lB9s:[a -|Hə# -%}h.9EF=6F*ig(O08"jh 젃$@^+Qu0"ۯ'xt6>4p:g%Jz  (PO:F%%҃J:N?)=(#.N(䘱:>^GT L~9@q< ;*CPGup{<P{w̯ -*n0t\ !R6r7 (#H -(@%@k},;{Lш -ck& Eku(HRm$A5@|[gƞT˖SVK p#@w0 qBߞ$@(t:~K'a(dWZoG4_ @E#*U݇Jᢇ *'kT)+ _lq ρ?=Z% -%bOrSTT%-YO 0t4 J#߯K;9w6P b`GoJ5G :)=GxN]6ٌR݊iaz,a1jEl#S\aO.b4 &,@$&E; 7D}n&[ piJ15jXوBK42T*8/lU'ccZ&aC 4g̹0Z8SĻ|il^yс'wK:N~.)(P=<+4 -+` -D@|O2@yᙽlwD!p}X)Ŀ2A"9rB0{J_ w҆-f@@}dbL8N   c !/c(! 9E/~v^ZNg ݫ C?Xl},u.ƺI!j@ncPa Z_\g`-"@kTq\X'huaQļ;/%*<1EpX*)6\i\\QXPjvɌ{W8-b3K o -3A!@(@A4OggS^Q$IP -(++*&)+,>{ݒFZhsDIWI@M bId*u>o'Gp_c Vmp 2yS_P`93DK ~ -q -jf`+8L}͊V~8Ap1 P* - * ,k6}KebB ;IM1-NTҀ~nضa^TG> P Nnu[)x >zovgRc>ӀR=C K"$ġY@` :U6Ahjo|4@ -%N9G#زYp3BxO3@Au;|܀ <$`c0/pA+,U(rd@?; -`TЉ.`J$4L|VZ & (6"LG  @[ƒt -P`Q:fCi(@P+O$s09IJޓCF@PMG@o`">H+LMD$"(` :4$ Ok(tcB)[ C4 UiLߠAȟ*@⣆8"0<9! - 6j, p Dxju`:X@zU!်gu\8OB ~ R$-jۉ~K,Tְw((j`q\Lh?_`փ͉L:?H=? >9իmp9|T@TA H:{b%鴺 VX̮@&<&)Ҡň&2MꮽG!O`-=+JGtTa;PݱG -\W,~; -ypt!{ g,-5|4,Tp) Հ -f )t 4F@@$~*6dE41ޣ -8Ь|=0)WQ`W9q ^?i$p-@e 8ư(AW.Uj `P&E1ܦzų@B^%OG ]1Nsщ -:_`MT?G6Va`Z-? " q -.V߹L{8un7 $ QÏVfY$YtVr}}$$<@,dh fŷ{W.O1LnytI4/4Xh6Nls^UE@"a}zؓNTa:BAȢ Q&\~x` -4g-a.` S­&7 `_p3D٫f(Y5cr*Գ}QJݶ u{_:{wV! pZBՏ+ƴxٱUk9QP 8orjTr\\K~τ.@b 46s_-|P|v17y -F UlcS , J>lr|GLV=* $NӰiBC;Р ~N൐pP^tvD~F\n98kOJsaJNhMS&`(T7; - L@t@P:Ie#Vݴw"O œN90MD #:bP `R6̝zi k "o®GW @6#>M(&ȠB@@, hx~:67!!`C&ɫupqlf@'@".*}$C -3oDxN~ -h..Gܟ䰔 -"NHħe[@`.(@ Jcã $((&^J76kH] x߷c, (|G p` U@p<8y&g> DeJq1rp"/*k(X;p t@@   a'LX@:<:fL4 -=SXlWvwԄuhZG^q*,Vu"}p# e mǏ0ZYM ))޻ xz= < - ,xX^ᏸT0ڪ -<Ņ@ 7&hUGBۦ;@O (v: /%xY{>3%*ЅKQpƻ2Gb2@ L݄5mRs!Z$ @ _uI.L>=3]$hZ+?o0!7{ -i/0ϓO~isY2( a vzTtXI/(CuH`;0h4` OggS,&zu%&&%')*+(**%,,kW@*{7 ,7t֪% 0 8P'&'ƞ`e -ں:, S-aHhsIGy  0a,{)#ڻ jZU#PbBJMI.OdУ U] &dVsyjUNlh%d:fV࣊*40!<P(VPAT<dpVЌ5 -6kY`$"@R+js({-J$tKRj -T+0+W=pIAwL4>QA;3/'xPچhtM6Z(*< -$>Ip+!0@}%px+FD/d*Nm L^- c/#L>Bj6ё,C%Q@ZV^70A< -:B.Sp @:@wIFhݛ=R &F@GglvOh<@@B DqUl -S͑`S5 XDp<`8%~P8jpPm5Suа&DQ//!+ t @~Ҧ[Ʈhep g6l8tG ߏ7"O8@ww7nObP}ZQ[ -p_5i9@PX/?]BPM!6T8p ni )ijnЁ@6^+䴬/ ޣ +iWҔmWj@%9[4=KC'`}.ާ.Nh3m,\?#z?N*ũ'@ϐ`N ";p1` p~ךvjV1'4[Svׄ#7ܜh 4Pӡ. -H3! q%0g(t `FW#{j~p| PrF2d8_O;X$,km7lE;j`[Þ*Am2!/^ , -oo]$<@Ҡns^f 9}@ }"cm%7< C  4!(l\ВW -o9ѨˠӖm4{, ϙYU˧e0V!sT;VB `z[k4HbW4u[9t5} Е)P$SwmxITCXq_clc/4qc[<\ P  -pR\Te~iQ2}<@9?mz*RӬ>y?q2'!d: O -(\?ޯO?sk흵 -o:> Ɉ lX#x ,s*z&>渆bLq=-n79nFY$VxO%x^C|ކa@Lk!:Kp\S`# -,宾,j >+t4P C Od{NE&P>QZ 1r4 Up@һnLx&@H` (l[Gl&@QMcpZ`',1ӠM/U0zIJp¿8`^ Xke% \&ARTyR?K67?x VFUAFD6ŃoTD>ڨP0PW/=JcmȎJ <JN3f 1豟dd$k / L ht@@&ku Ȟd:Y©f+k@{Y$+PX ­\SᆕlSXY#Ric6S[ t-PQDVnI_,Gc5: - ʖ:b%>Xv?pnR Pcr7$ =rـ۬ ܽs7 -pCxZmK lLH4@L  ,Ёʦ܆96U(`.8U lX@7k!P%^.qٟ0OFQϰc|<p:8orz̟ȋ{,ݪNHމ5mO(PLhaB@&4~d\CE"=[%ʖ7^@lx| 4 6ؚP]JDJ ӹaEsx~ gQNaF$>u#T. ( POggS i%}~{|y{(%&$$+(.{$#& [0}LnQ+@@\GpE\X? :E7j2%f|Ss(8I()7ngx0T`5A@6@ '0_6u йA˔$ZޢL17Tl߫ 3GoMphCINC{ 8`o0;Ur5tulANvdή!\^ , 22hKFs@ +84,zYBT;Xi“WlqHK$pW*g`n:CMBt'<<DZp@`1Ϗ$oD %f_ˀ ~pl8|Fc260| 70anhKW - 42~m#qn<*aK>, њfW} <RXH2J\fhT%)9{ؠ%Y _8(Jl$D^IU  -W*yRuD5_T. k#@0GG_EjnVpPw/"(PN٤YgXG aRkJyT}KXH6 hYq u^lU@S[uPAYM75vfx -FvbF# +R ? w a{nhpw 7ЋG'Bx 5cE 2 -nv@-p8zn4@ʆǦˆګYgp$-BPe@T.pG-"!Nk<%Y']\vq<蓝UNE,a? -r:ѻ :VVq~b) 46n5Ԩ \8{L0 npl%8/:zbG -|/KB/91]U)/ -GwF5PaEV;8m 6!mi$$$`lg{Z  P~J%7r ffL t (M#[J@LA4 }s6lۇ[67P֙85wOhNĖuZt23 (}7RՐ끮LڻlۉӊPڶXqTP,7lggod!om/:*?UD/A Adg-͟nP^%Q.Ǿh Cyl d@Im9f/!f/*q;U# G͕wv9qa ys},nH\H$u(VGUhPnuJL^$=uRA'\ `t~E!VR%{ _Qf ;6/+:*XB@B<;lY8Z}݌@#Jxo1_P+b)BB\U[p -3,;G`[?$u@|V9ߝ4΍? dN^ -?(mq5 U!&g.V7 J4@h4@`:LV߯~Lֽ]Z@< X QXi#^B x:;$G?,j5CI'`>D36qGnIwhK8ȋ -HļVڌ / hrf$x  @Jߪښ[ mZuA蔦&,&j)UK1$^8$x],0ŋ00FT~a46HGCdb3W{1ce@Ѐ(l  &@L (>d^\r7 @oA/v,G|;"K\ϕN=>@EϧP%=ncV`$R: -m#x( - -hTT%8KМ*a Mkx]Q$ L4@$P?m~ gu|=[xA]ݰQL`5Z: T;~- $oAlsڪJ~Ar0&ʄ4^hP@&4^ЧEwu ,=(hd;f÷eqs_}2OP}kcƿzMG+ blL` `@P -Lt@L6Aʠ"M@bKS((Qb- Nם|@cR"m*f:gr[a9z\;/{;*?O";}deF&X,@`P T럍Qiߪk@W1##ЏPh\GBQ@`.<*IXБdo sX^g/ Q[)7C  J)֚U!jxX`@&@: H ^F'q&ќgTkAs1 -P VNI(a@ÈY / TI*,UYry ܂ Ϲq>Z;0TM h\T4Ȃl )^˦T#w'xp8EhE<h@fYf;'4@'?ga.yOMFDu-O#t-=8ƪV1/Pi^˦ }ڎ왒{[=fh4D 0ȆO&eA\PLXP߈@Ë/WEDK㒓}&%G'}i\esIbsڧ`)0/ -PH@~ wװ 1d ~]+ߒ 7^c;U#ɯUQJuضnUFwok:%Vc ̜ N %,&ʤ<`:"T3 qn@6 _[΋baj8TPK '@Fч[ ]4ѯq"}g4TQ:U5~X8OCO8Al-}3w_IZ tܞDC"1Twm/2@wbpĺLn-J.DFm< %NP& C\ H(P8_C^6]ݒ'E{i90P POs# s -ݗqw9*&`9T30  QOTYߓxU vbKWJGWa BHkxNAX 8`)(/(-+8O  'U+(߁/p}VX$^#7h -kʺɭuU-vtʩB @ gہcTo -ʞJ9h֫r*|<KU7\A6xUf3`Fe_FO<'Zw?k'ׄ)tl*Cm~P&2$ۃZ5@ -$X mH r`wYwY  QouKh>L.en"0f7^q6g1r.>qCJD! @A-PF -P0@ -8xTwf%G?yvW P\2Hy|c=rtA-ۧ[@ t{ɕxZr `]#j(!H7ƛ1=$,\[8TKЀo4TaFvxD\&!.A8@bݤ-(2qIZptQ:HX$@ )TU1CPLo{+(#tVG;3x&T(p PTǍd&`R?ꥪ`f?(%d!(辬ϻEAx$8[@d(, avE4>H dt9|hܰ#H!wytyMj2I@ޠCbƷ?'\@}!bTS6gE*+yhF{=%*^+0=@t9dp M&`Z.H& P<*,|b3Rqϻ{AE:x $6b?K^ -Y&:c\ h"xIp{@ 8Bz*|dž%4 ~(:<ۻ?;k. :^T /MlF+ GCT"T[;{SYFE (pGη.6z:j -,dhL۬O{)'?<4sTd5Tո򓕗{~\)+Q'mtDUwN W_dYmvS1.%FDӗ'oj5ӇL ~w\݇K.10g ;vy7Y&3nm= 8%YmLl?0 (<|14bV|goW){q S{_hFj=.#cMzoX$nhl\Jp@\&kCũ#'E ݧ9tخ&[Qc%y/u}>>*쁋&_ BJe0M~ʼn "V& ,@sr EE  ni}Ƚ<x44Ua_ZGKA?I3*<0q>9k$`,?KbdP)X8E}\F5 \`t59 m{LM* ΐsD#wŘ_0<|uYWe;n4n%Z1aA{AB +?K+^<? x!CQ\O-WJa˰3TI @L!ԓ}KuwEG&iyՇ\4&Ro3?nhT0h, NSvH!PU_6xXVw_cXzkbVq,b\N١cَXsbcRi;xp yu969/Cy3tē>ҟ8,a\x^ 3S_vF.xՠ)JhfXA+S@Q-<œ|f>iḯPN)Ιe +lSWQ}n ,zyolmͼy~GN - :~`Q <%th$kjTp]3ָw->3@,8]תR{FKg?<Բb*ѱUg9Bqt> T3IdMopM X8zau:p (} |{%ayY!h|OR02n-g:P{S*'6M#`]~7of^Lh@CY[N>׳} -X8Z e ' +Ap)2JG諚fМm֫^t 3C -ǠDE1m*W˦d;C%~o\L&goX C f&@G'\-p) -c,~( "HRF᧒ - 1N`[_y_ p\CA1KemgZ ld 9Ed#Y ++K"(%<$ohb -hWs'Xue;v44Fz$t67V6@HL0x 1҈ݨo6AMӄA55Ri u~IQ%xpYܧ_{Xg wU ost8DX,%' awۀB)4/OO  ob& @`.'pQ1$oTHz.l`cN¤`(ʰ蛱Xlwr|0*TϝXy8)e7c<?:~QtTH@Pg\ ^4BޣW!%^,]mT"B(a {s:<`NU$+0(`F0b':h${W`, ,HX;{I;8 P?~0wU`3x-& -@z}drteF3ٛikí !p - ^~sSmZk<: -!')G&@$N+H|mƢO4n;&I,8ɠ=A)N=p8)O`_K: C~#gU -F:xt%].A'`JcR+>>S۾ziWrQhq<$' lk>( -T5Iz]ٶ.]Nw\~r6N7fp)Q%5=[@g%^e t   ,0lǙ p4S=LV aHŤSd\e36EhcJ8$5k=anJ`!{_ lǙ?zKh q}kSO+ip@BY:d߷3Л:d┙Slϧ߭.qned6yr\c!e{T񖼄y"rѨk"Dg'EqCf1 "@Y_<*TߧWuu@=%߻!=byqݵX~=|7o>3X5|,?̛*lO ~}n5 -ZZ KHR(N'/xc@76ׂ1`d/Kkߚ`WR|<AYFYfQOEntc<UiAq]7\ $M͗ `Դj\kU{ >LW}:מ~]9kxx&7Jg63Ɠ(gszHz~ށ`1/cVhcyCŠ:@2?d6 MրOoc4DRx|,Z ^W,eǎ.]l嘬unI*DهKAfV3^IYx8y픠ڜ] WM۹:X*%` -.^>x --C<ll0 -Gqj/ ]Bo:"q9+$!fg@gV6P[;ure>2tܙ d x1'1oѐq|X,"r''&(zqzx{[w q^x(P"7y d?oJT*@@:PDQl % jj>DW/6an* HÂah `H $Lt^KۡC7,ug){r_vA4<&ܶA: 8@8>c*>2ϢG;(Ӫ:]Ǝ7~Bdl_1.E@б$ pL t@>[Pj n2<:[t=``ӡicW(w)h_&GUZts-uE__,4mՓ+9 - b{0] d0Yg2g @ Q>7< 4$>v᛭EEIR ցp4RB?@JaIm`3Xm5}$%uʧ,5N{͹ZԷNqL | \++1_M:#$?4ihH^  (x ֺ-i]!y0$i4c8w߶ ->#+ʮʮ;\ tcL? -_ȕ @,]UA`1ZY3;V\hWzᎠ% ,:$PLDt/ j OHbxWSl/9aWBPvϚvuM"@odoUe@aϻrSk7pZƟs)*d;o~T}WZՈCTo.@EaںfݢB9Olur@1=J0CG" mWYT -AHGRĹ] %J T3A|vQL##yάqĎ 9`N Nu`*\}4: h!PB%£q+Is0rZEF -xt ,QO}T C}h& * ]ӲAΛk1glh7yC0PiX@7D0u( -:$,3JX-<:|| 8xGD>@ $&@?Ѧ7=P,S23©o藒 JDJ -tC+:`:tX` kt+%IZhߣU %`h't$uGŶ{ -jPB -"]O20` - Cw/]A7>ᥰ49(]/5~7h@ׁ&,X$J&{c+AZT@)P@ 8J'p92.,@ vf;?6'<^O,hsS@1&ΪX t -@` V &L` >_XҹTxa -'˂džGy{wfLYNlo]gnyಠZA;RN@kolVh-Țvᣮ\ 0רq'_]*Xm:<` -^gUc ~!9jӌ<_L T@P+ERk|Iӽ!N"I_ X 5:@/ݡ‰8bܺo~ 9b\}'a/naBMݖn jĂ8BzQ>j*tBF"|/w3tRkG.݃r$/t\oS}7$1IAڂaOnqBkOֺU;7sp%TvDR - - g^EP8c4XM]z'HgEmFO#~U\&86*Qd6tGWp`vApT -xO[)p|4Jp%$K mÇGV@(/3.1c[5 PDk`ࠢ Z@ ( 0'Y0Y -넀~~g0J ?@?H[FtG2XX av6lUP J5 J}` q/ -=%=(P?#@j^9#=O==&Gk# G{lu.6 -y+*Hh @rE^J>-8Gq͘ʖyi'#~5L7/հ2S7I ^>t 2p˥؁ L G .%PoװMkE: -#x=_dgpsU+Ν -JFp/tD3܁mlpqA:9I'fk <&$ sUqѾ$7dA2a{BB! u&԰l>L՛ MZ`[4}ԨaZ[w:WLHRg͝7" [c1:B[@L mYE3Gx Fq`)XvS-0P;l:Or6gڧx2 sZ+|\l K'`M<iMuüuȘ/J]7@/сF٨=ܸ` ˿3LnQac)ㆵz }BTO SLZ-L1jfgzOHʀ7Ӝ?abq,@(G6fcw/qn.ȯ~pm.og&LЁ^+P)ŪZN6ZhC#ylQZ5EFn#x)Su!U\'(U0(9 -lIWPaT!5^&KUPlGuP sL'L6Gd|4\H@:t=^dbip -<78(X?;.]hۯR{s䱨*}\zz#B9{%{,g]3cgV{@夝9A:q58?f1e 7xm-qjث6T>*Sh+&*f(T7N,txLOggSZ &+'*,-(+~|,()(+,/)4b}BGr,a0rU=9z4<גS(m_5c(h3a[i\,g$txZuupbO{h#Q}z Ƥ>YpE0޾{ -n0~@ qQM0&@` @`B@jVʯ~n9C/z,P Z}A.w;C߁ŀgWO=(pKI_N|@`f|n};/(;I+u u0Xpݮ>OLu_O~UEyalJWwMD3 ;-8DO~G@),S1=_'{"Lp xYk m1ʵܝʘ3geTS dK(hxHxT:+yp< h8[7hE0*,@ix`PL0AA`PM:6^<( ֡]EQB)Lc =Q䑉l.a#C2Gj=`~H W@o4ntnI2tޚzmYDGQaB"칀pQ?Aѝ\gx ڗ# -x -@L^jNDMl:KS4Y#? vB&8x. F̙ݓHdžN@'%(42 -XS&O_VA\(x t , (AIcXp  m=lzL A[S(pp+G u*D[qN - b)D -{V` Wvx еI?6!pQہȚm(EP'aM@` >J,,6,qa Y \)M$`'t?+4},Z7(`w<>Нl}B@{?+*J2+ف -!P4h @OggS*  џ!(*')*+,,>jq!f%"Q`F*EGA7߀dh%7xK"x=>+%p &P7?cditXP2._@ @@ P 0%^H|Zr AEv`/&sRcMT7y?jtqCAWV>0pJ36@2wHkP(4H`&P@Xe jv״b\$z&t^>uuw(@_ÙtL -NFuf̍r&.Br{%?*> -D-z/*fzƣ 6 )-3q4 86ƅ5M^%8i=K/zO7IO٨N& !0雉00(w1M˦Xǵ¼ƣa\u - +]Pd7)t($.&Ѐ@ 4(na_s-W[$;frGM_cb%HCHV ]k%cNr| -Oy?pN  v,='fg;q@@K~dP.`:P:yfON&!/^}SDdaAv$$A4tץ[lUګNϺփP? IQѼ0f4$ XW~ LoxDqF,1[g XVлf~ @Jν14[сPԻ}m)2.3fRL0%׋I{$׆j]9@ZE>qS'\s]1<_ -@+˜\翽}~AP{/u[Sp\kERV 0ғ>Z6WT= U[%; -~Cbxogw/$Z763*I|XcIa&HІ6׀Rl>e=L` L`x`7%ϿPm>FFD<j?/m"_Nd8bStH6⪕>NI!醛TLez L D[ -;~=%&fjAMӭe6Tv4hU1 @py8KTg<$3g{*FI R'): ՟Bs ^=X 44x-^6oN`EϋC<();N`U~< ^}DJh= z}Z3@K@1fO%q* rRhϪ 4pr$ݣl/i+R -fI>5.q#=?<-ܐ ᄗ i鲈v_I%wt\G(L,H0:#>z-5}@( \u} @.hh0CPk&,шl˒IXXS[G0N0g".OݰHQ7f -8&9tJcK}C?6L` Pl0 H<zBYZk3ԲwC'^䒎iZ FL߁L<]J ] -mlIwZVߠGhښ7NP!d :գ"bbr< #Hjxg lwdfǻ>"a=!U" jenŁ -`j4 @V?ɔ47pڬ]/{d|y{9AI MeǸF7=09I#4ΣxvZA]cy+k72 $X hC:L 2чlf@OLO\+P ciX=f?ƳV_~LO@"FsIN6u5دI:#C˶dFHGb_ ;i1zr< hzMak`B56fH?’c T2P>%h!]QFJ6*6O<>~&D[=jp?^5Q0qO *+ӐTЙ@@b@ @~:V(σXx |[PjE!@"IP7!z7lVИ5;spx Nv0Xshu e:Ekʙ&=u@/ - ?' QBBByQ0 $:&OggS - ?&)&*kw{~~'*(/}%#'(,޹wJ*ɔ[[SZla&#@ƛ53-p_DDfnf5ۈ v3a) i9:m1Щ',&QǷ81Iy@/VzRc,P[hqD 5&:X$M5$Gf8, Zm"^snz>5}4N9]a=\Z OBYF6m6Ҭ,g6Y\0^L㳴AnʾھDz/aqOP@;%i4֨ QE`&AngifFGw|_k3=.*G8]K,oiOFY8]UHRG -kFs_hg e.E0(W,yiJ= సjGh`$9]=NP,k -d,*`'ͦUUB=SN|9L]ݘcG@%ضӂ#S@<A_EP[= Kw/91 -nJt1!儣:^ F#utQE a+z @K('L6sLD`rzaPϝb9~*N t>ӱtY2ɭY? -x @6|THd߄3lݦ0k 8 0F2h\s=T&$0;z02H4 @>}*M|$U0nNP;eMt86h%ilRn΍뾚:.\d9RwF! -jRF>~,9`Czg0>M4k)#Oeد3': }U8.NWܹ^ƪpat3)?7TM\CD=xS)'E޵9>c7C<'x 6f,`{+90-qhq42@~sL?6),2J"9ao?u+kx-?Dbb6v\>n~Û/l]m -6ÃY $Hc@hW@[@^*WХ 8a8gC~uM>ݮ1mYu" -H^E*)CYx_ԀDٴY!7cJ'@I1ՠtWx^(h<3H.B]Γ5 'UrD9*fSPAf 4$PYvs3~}Yػe˃,h "@~T.^h0pCP{ئ-0/r-V"d3/gŎ^aVMO>o:ʢdtދud8CuS'H,@b -:LPH4XV]iRSq$p4ә=*,޷ھOwPUU8]z F2bdڤyFۑТiDP&tI7Y?,W4l H4pB/:;+;xd̥r!35FM*tt%LA&_}G5^UAB -^DcΦvI j˛{6Fr;Rr59#,ӕd[I,h(7$.;;83 - -6,ӦZ?! SOצd >dKY^8\oa;#Pgx'ZOb6)c_B&GCZ{V[14r n{"اE@`7q*h#LWCgpʼb>vܺ_?U5Z 5?IUQH+8`O:<4 cdɆpqhR(㜾u`xtH HX^F}5Myq.? L1} R;Rg fK6inj 6s錜!gbjyp4>G,⻴UЀik z$% & FSK>& h4X9blH8KɃt:I,@>V%|nI -P y!B P -DR8&| B# p0P> p@J?0g^Χ##V^aX&~S;2dӫU?_p 4!V@P-~=%5LRH 4U89j]‘P-/Cadi0)2:=-h!=wa'h ,^~6Ԡ؛%ԭsO@@96Ʌ }|/cB!< -7u?Y}-VC# kZj& TFCы"!g ӛW#$7ܼyPH$}lv >f5 $p<j/B@{W7_rDg7xyCϮoW|/F2.@tU{f,73+L*Xtl~y -@ÙLc\ۡdtds @CFnn|cU:NR{:~]/ܦ}Տj)@\j"@5=&HV-wWPuwd>l|;qd:ӋA*qG5XwD g}h N4q<0\M`S@jLɮD?S:><-z9:SZA -@ Gp/yB[%}Rp4@? ^%Ix-&N?uq >|NX0*uPG nL>L^l |E0&L`JP1hOggS -J>z6ͮM*%Azϻ 7& - -|uX(q+g - t P Q@0Y߸إV.d7:HwhV -H&^c‚aۡ%`؛`-}] -XVe(% --p`, -*v -d0P4%oS<@% xH0!c@L~IuU+gpߵ 0 <i[@r}6>P\NULz0k@S"LrE@djck6H"?LA(X`&t~*pV f4>Bb"UI`,L  Z|ce?-ׁ{p#L ;4 BP&ڤ$tH<jf7ۊ:/Ró`$:rh^Vtp+F;ɩfVF]'m %<"֔ȟA'RL& !V :LHx,ȬJqy۵9P4Q@ kkp u5a,fS"x;d>2|LNӠa~FDq =!r%1HC`?xE 4x 'E#^ eh@=*T+07'J$>/cF7:Ua䅂˛4Ç -2LAeb%lZӚĭ'^0;<`|>;t -\xp6A :ݧcg_*],epfVPՀބ:O, Lm"eFAZ7JSOa 3t흘@}`6E×#6$nAb5aPx@:,&z67l)<%_\. |uBz h#* 5^10L r]*88_s-q(ĩ?ܖgF] }xsuJ)Z2T]K(R`0.(G@j7ְsS: O`[ s:~$~@ -xDp,]PkdW=[?J,xGJU4UV403k'$pۇxhhtL4 jfo~Z7yz2 3С"chCF{WP92js)ʀ"(T -65m*5`4&k:tF5Z@L'V2J>@L@>,  xX@~,N?N] {4th$r$U )"piIQAv˅a+9U*,{QR] yS(,PϨXdv9Lhx%(4N.U& ^)D6WU^o U F*) j h@`~]m @ @oA4c:Go;7n 1^ɲ}y>%ԞJLe@EY1T9{~'2|ق]b ~ Q !@P ݉.Ɂ7ZnVf`fg8 -Fd0L$Ll@'|Pj}@YrU()Jm@EU([U[#Mۋ_ A1x v(.V;.9dz, ٜ[UQ4v x`2;+SS5E4 -N1݊ b=anX.*9MYuAssJb3aX< O0ģ@]0%@4 &sjħN@ీZ @= #HS౥[Ty sI*"c5׎:+z믃˱,fg8 wP&$ x @$ kkf_ox#v@l8.P##2 Щ,P%wpq -Jx- K3P0(UTY֠әNP(0iG'V99ItH@((&0ʆwQ) K`6=E*@1w(:|p -p۱Q!%hA}VY -P$&n2W X~ 6F1e21(@4@`&%7|ZC%< =ņ^@Rq%t,#)Z!XE~Aö,9\+#U*2tR8 vB]:jY 1X& & P`Z, -'JRñZ|Q'NYJ`6h.ؗ&0>*`` pQX?੃tkf +3!xUOJ8hIagn-9(o55xء}Gqر|&@ItBP0@H^c -%M+6U2. X m -]D~=!`AE֠oVUr![3|AW|VYl֌h(pR GGӸ!`3#,:Pƒ>'KӟPh<޹?))m,[(ZW=xWvdr=#gT[;$n!R?ɽM khz)y53UP_.Rg{(Q³yq^eS뚎/EJУ(d& RQ4lG 44@H@@~+6wރt8C,?E"x2s )Lbku {b.) ;N8 -P%h{ fc7ʃ&EKQHŝPsb A((<z`@H:&RrQPGk!v@q؆4Xa}T#ZǗ#|DDplG;9k!D89zSN&s|d<%Q4Ijg\p FQ@< @H^)򲥈oe8uEp߉AĂ#,Է!N8It=`|K>vL|\ѷjA{r -X<( ;`@@ xQJ|U$`@g&lIo_ -nc&wz:$p4#xzmx8g֊`m ^T#">BEkc_zX[ #`@8ҎybXMB' J AXhK@X>flz|}{>H@8D׊K ?] EUN9M܁$`O#f= 5j>D`Ktt>p"$k4eAzC7=rQNv h`;ΈL% -:螹 sjxkscϡ6K?ΝekqSӗ@5QǛQ7+1'4i|rۀS}V\NO@gOX yAr:m^2w.EG[Sđ;HhM]@06-8'B7a"I7 `q?Qvꏈ&܄w0ݜDcfG'&KLgK{؍w=~x6*X]/Q_*慸'>h<5R| -nWs0^GQ: S( YP -H4ј7:(D_8{(IH#Ӗ #J,إw;(}Ogv3A+'fj(Nt@a X/S1Qd4tιBp㬸T3":K TOu{C>_|`b~2T!56? NKG6>Wp9$^еm a^`'4,!' - -P k&# ?p [t5l5H96\qj5[jRpm0þQ@b.V }jeP)`l9o&-E$a/']/;0;Hͱ+mhX`!yG9 -xXjf.KHJ XUYnpTEM ܖ{x.AA*&H-W9ΦBo3'Σ@vF݉`Y8[| /~2q h0tSIjf񯽤8d]E{v*t/?d%bma8X"k\/mJ2A_:^Vk{!xWm0AClrP -pBg#X@Ԛ+&+~|%Lpߜj [@l+60tR.Xr3f<sR OggS *Y#}|wy+*,)(*&..v~^ O%\zpxW-;8Z~ -Ka@¯ eP : Bz)_8*O'IDkM `ZVqz&d]tooIv }ArSA#@5oӥʪ`ƧBgvRz5ᚸOJ`|#`.~s  a0A Y=$#`*V gWlfOs0H(5: ,4/E^f7(v2oy=mjРZ`AЙj m >W(YU#@J0Ș3x]wǣ-^|^KgtdRʩp -!`1a9`6`@,` t@&{r o=xU :$NC $Vӫ ('nBKpVR*fH |tɘ~ $'D,(x:$L>j67Ď7{zսP T `rC6Q3  -LCLc >K^MfgdrގvFS<%П &p{ -LP$`@G( -h@@>J)D?OLgz%p!4B!쇀1 -~aC'{f4{AhP%9h|a#QUbZwc[ gO:ac.\*RC/n> x@4x:^ZF[!ul v7-7iRPxCc!Ȁy$_udiG`rIrVwL6I|7o^|m͹HٺDO& - ;,^Z[917Z"k`+7h ,(0Hn(g = o{䰭rޚ=Cgm|@8b3q` -WW-8PS @(hx,:(^z6WbQk쀮fV>OԟCxs4->pک||{8_)ȫ[YGv0`,p/ [D&\·@Bh@6^zyYaTiD=~-u<ţPKpgt"=.޾ll\ahvsV?!wA(sٰ5`_ -0 -`>ǀa3/` t @ ,>:?[ G!N;H,=Ag[*+#@GPPwxA;dfM -|58ȟXA9+huVB?S`{/;yGР @ -Q󩠟=&P:X:P@)!o+Wx >J_K(w{Vv@O ٴ(QꪅyX[i+qlgsy aX#+p|FBvXC? OtWFRj0/m P&Ю1#(&,$ 4> |{k5.g"{EPw6<!!wbR(P8@P NʎH @;5/[lTX_U?$llG,|:jɨ}TU, m"Xeh ` !p1<肾9?B:ND گ e"#d73#˸iE@Q >8͈4e)< 闝ҝQ}`TxJzA&1Y0   -\B-z>>"H [0Q?9 7 &%`oHO%&6߇,-l K/'\Xz*1TTP+Pn=l 1% Q3$ V@It:>?-/ $OA 0iV9Teȇ;fp; `H?':G?أ |@t-߱NJ`# >zJ ? dddJ*;!X "h+%6F7ٻG/P^;BHb& =xMl/th`a"$Pr_<=n'L.Pjxh]\.qK㐆^Ǝ{7)|~昐̖*&ePЪx $wrw9 -mx l`B`ztt(@GX~C!yɬak|cSh<تX@Y,P" UG]p(;2/ ~AF2a;4rFX_[ nx؅aU UBU3@.8 >FE 6{pcP@ƴ!F0pM`)LQ\aK}~>vaǀOkhכMK?Қ(9xbi)&#}>R=h"$-On;|kjIU -4D+@ d=( c {9#8ZYMҜ((#DŽhsx׹ͽF4l Kg^ -@>V-Xj--ءű<`). Tw:~s'`/'o(%QИ7?2T -NC_Cev -( ͤ/ \O'wzX|?!5Yjŧpy|IODw'-Puݕ MUxP꒩n.G%G<_(<>.`6nƾ` ZH*X2pn |A I:hRg-Ѐ@Y6ɯ˲8:[U֌<@PZRG@ *hGj,@ Epo0H󲪰#۠3ZmCLA_8S8!< X'@h0!`&^)cl"p`Lǁ (ESkiQl? l&|E @HpR~,K0fplwfc^u ̨k -@D% 0X @t: W5 l5τI l=V#.')WގPBl*kOh -<_`6g)Y6C`D- %پjG`3p0K(^1谈ti - Z"PMp$ -tL8sZl=}]A 4A)+&qMh2'OSpί$1:s~LA'qr/Q9 ~V:‰@,@ -4n&hhLg<`-,%&xXݷ⳦'IsC5r/ QtLA~=(({G~{8:ɋ#h*%#~=XEtN0Ʃl;J Ul^p7M-3Yh0Q0W'6 )&к :[oL)וƭO+D<:&[!-Z( 5{Nͽ<ǦRG5 $=|jZ"65Db П<x5ح-u`Is~pC`JmmfYX}ۻH3 -T1a>uP((&(e< t(<$Io!D|80oquL`$X@AO?ב`k2Y - &d1;c`QAv 67zi 3XIbƍ9(б̣c佽^45| Z#8'@6k`0 L0-@ -91,&/ {y x(e%uJ) -YG~l8TЯo_qp>JJ8^vWc11=t쁤Qd@gf3Cg P h0A^Zf%@*8?e480 Ti €v\-ڙ#,A¶hF%.O"7"kIWmwn &xPW?(ۏZGjA0t -l@U ,,tt@H@9@[풋V=D`: -N$\z.Ha{31NNzn+f80Wdo ͨTL\e]$% ۙe- ,zpQbAyeRr4n( t@ `4j ({~DBE\[BvXnc 4"P%YQ?͚s@ b$:>8Lynk9/8d#"sv$20 P{ngjxb>S#)s:0a2$nX"P̣tCOWY;mvn @062t+y*wni%, 6JwTxe':7IrO*f{,{ 44| ~x! -fxۭ4ӿr͹FZts8 X) -E؊v7 -&4f_`>zQtBj1&ϡ>P ,]٣yK@_:6a ,&?22ͼ%{WieO 8ԋ -4?>,@&Km1hJE3rp,V~Eg+?6󛪱Hgj֙Oj:DL9K_b2 zbeu 4σPS@@(H%T ͍;#v&,t^@@s?c;NqȄ"ጀDo o~T )h?CH>9%s]{{bwh ې9QcבM&ptbW -r{GiƬ[eXUK}Uk,6 1_K/{NM4\gv1孍X:  -)p%x F 3#xh Z!)iȊzFf +oʾ q%&~fmO)k:|apAA%'-3Q F%xiF ?z@66e2< MQ$4Xc*g - >Z wl4f#+t/HIhJ)QKQ{ѬjsN ; -'Jx?ܤ|#,FWj jSW0-S>+Q u{;kHb@@ @0Zgq0GIQd'"Y,#^]@jvVG %MҎ',_;#cAa>V?C[Ie mBLW!M-D(zCx\AD( ~2,(Gk Uo$x^ &6NSGКc -wx %m]PEmUa Ɇ)Vtt:͢5t@@ڥN(n:LΩ&]4A΀QƬ6urn?88hFd.9vupow~oVcF |i˦P+Qu8%LpZ8MkZ::P#vhYZwk9Q[`ua|}uY?`F '{D%]F -ك8\FУ'}/L> [(-6T _$`t:MG(}՘JZ9$3ƘB'C0'ENk |G`*%;psV p^ c/BbagMf0{T,awji6V*F@ԦpdYdž70a MN:KU~KF}N `{9ҡI!RA,J԰,`3Ոm%|L0*8v k"!; O%Fvo;դAUty)[@" -hU6 $]k<>vk0 lbl<7!|`kDae=M\ڮP1w@zWP'= =Tz΢S!%|M}QCY *@4 [I>8z|e[9D=\1qJu -WSs%ͺ+q~ -|d^#r7K|Ns@$u#F$D(+1 Qql5DXH LlyYw'LJ( (p(I dA99 qSOsp{et+g:T Ǩk6ȝ|z0 @Kvk`j:7ă]):&hzh0b@psF|i2/N ؔWτ:~=L]tϯ -x ͮdziJJJPGՖCH 1J I@@V̢^ABKB=(iD@ܜ2hdXD_*Ua} N_JzNf܀=WgcnS4@@`eHPS`QcWpw >,h΍/^0$ $8=c7g/TuhJ6W7<3fNMq㖺EW@E7p:xxL# >*񟤌z0K,{16c543:28X`Զ]jq| tIihPTUt^!W!ZliƉX8smbxµ;gP( PL X !: ~ٕ<6h`!=).BcTs<-P~" M0ɢIzva@^ l_^x$,L5s,JPLg#9_ (tv!JSmD!3Ҋ͂P$yD, -b#$5{V6446U !pi>\Vˀ4]Hv)tjRֺ -r`6JMd8!$݅}ijz#B%؄,9,WАoz4nyOo Ho؁=LkK>5UCQ @Bi:*o-,?N4^*@gkK I~p`ͷv _7cBvp|ξX}f7:LQM ޔ сXSQ$ tHY`zlrI .օ^%F Ji3Ҫpe1+8n>9&/EG!(Aى1Ă_@Mž@,o@ގJӋl \jS ˛n`mݜnF3RezY$k1E HfDq(*DIQ4JUE}/%Yx9X@ ֵઁM:F`XqԢ_x**] 0ݕ1++R/>r0@gt o0|pj4cXă/4 'L] >M^Sфy#T 4<#*@]W(Pc-xs5ژ/sۈȗn7@#z"6J+v_!]% 1D 1l򪚞p_@"GVAx0Pp¡*`XSHPV5Osh8S6 8߬1Spp=/[q~|M-pl7&83v@O\yV|YxVhcX^z_MR>S9a>QNnHprpuܪ`J$M|P_xHPEtt<ݛor"frL-WNdB&)Lg%K@h<\J )9L/"%~ĝ>U#V$^7!L'p=P([O>_͟5ޫ/H9T;w?2,(jMhq]~uy`@YaZ:&TXz1${ .0/4@ZMW?2g_4T2lhh wE /]ͺO(  -yВ6&NX\*2kpU&@ mLP @4 t^Z'kC4jv634&8(] eE!724QBu@Aib|Ls@iX@K᛿1\ !T%]B PjAa]jqe 5&ڃ &FPS0 X @>Z{jW-Hx)X7<4蔆&@/NT/`x(.[6031StUЧ66WS`:`(Y(` -h@>JW>^3z|##mԃ锎@p~8 @-sn>%"I/iw@Ɔ#Lx1 O}Ø0bRơZUQ@\lUuD8@APdw -,(tx(`)W[5:vOwQnfhS'-S.6' `w茯Jw3ip0VVgf - C&U~Ʀ۪-gH &GiXH e69fQ ꉖ^8p6@CՈZG ЏuŌ D~@q RpKDtTp*`*TO)-ր/UJGn. =F zES*Lzr^ :a0B`OggS^[+)*,,t|~5_mn"&vHk 31mq~+O_RتNUx-=V[{oE WjkȫV 0ʄX/2&U -ѡg(XA,3&LЀ>e_/ mlE[Bx@F29KZ"B PT,qT}a&l }YR.ݪx9W`FE6D-/^W%j&Hz -,L$ $pwEx0! -^J& K v'W 48hG2#8܃$רe1]!8`rD3[δ}^a};d<Հ׀T&mkmd 0CmXVhoIr<!0QA `@H>Z&[^{! 8NʇB4x'oN9-#VzZ=(4~ ]|&@^6\]ZI>-9}( $&JKNRtQ%X)RG "Z\77@oƚpm Kqh%pi(Ѐ? PFqQt0O@(]Vċ X:,H`<Jۓ'hkOK;Р'8JZV\̀r0l s:>8g -UA8U"b:}sXEI thX@$9&˒B>bLhރČG)T;BW @l -OoUձK$3 aP ?-.fP-8牱?}0ZޢFVIVx  t&(9F uVX5{|Q 5(E*#Y G -ThunV~IyV{$\st„Q8hօCw{f(ҾXEDFNC| !` & a,` &)HDIpe1Zh#p\)Dqxq.Ys`mZ\,Rf7SfV)_A;<k_LD~1MdH'u -!RW&> tx:^5ooG<<4Eڅ!%x@CUBg/a1"S ǙNh6 ->-/Џ0 decΨ@(iBzY4X39ʉDF`J 0`~ B Xhxx(A:5Wl@ӈFb#4Qk@_JqC: *VK6_jpC -0T7G07;#s;^sWg48@h6hS&sY O -XDW6 { 4BҰ>1L t:-#CAKo$H8:FYp%8{9 f&% =T{@2 |@C`77MaQ2LМ XJή 7PAe-P$h)R 7QKwO ׶+v,M#xJ"F4I2;ǥUqBO>'8 p15}, J7dVBrA^DHPth -t&%\R`{` i h КF#ȝY\ 26º =LpB?6ȑ)V FgXP@V%h|# t(hEL !T&@rz@{ +=SQxͧuq7 p |h}  m>6E'`_K4-0l;wKS0FIY6! cqahR+t$ -0)3J(>ɽIy-3خfV,`ܳ&@0 -<|CC@@k)vBpU8!yyp5(*R,/;DO/G /T8X:_[f W}b024ӳ?]Q/BCxrց`8i -"F0i)jD97M7YRw{_2ULXa:3{fN\Os> @dF [BJx> -q.J^CqW2 9V1-cTqFimίbw|߿HLm̧O'FyyM5u<Bv1 ]Qd+DA<̉Y*g)l7#}% @  H-47Vȏe ]X8cp}q/ /?e`w@Wo3pZ-bCcl iZ90¯X74NҀ}^3M>P+iKrbFlt`' -FA)Р$ VFOLP:A, u `[4H ?2n0Bk&l9}l?,a*5+`Ѕe!mޚ+L4Pl - tިU#'f $ z-l-`h,|#- ;+OSB9"Mҹs4x+iG-# { Âލ5a$-{SGՐwfهQ"C.FW(ltaNyHφC:D%3Ea=;f*3Bc m!ٕ0t L[5R&b=z^cš?3=#F|SaNKz8=k!+)L-4L6#cSDp?H6e8Ix^1:{BogXM7rb@91a:=-@$8PQSa>,4{ F{X^`k0:!hbC@jn-,k9?x-ZɱSwDFM8^Dc>h[<խ cBJ__ k"2O9hC H_$iEJ,#Ӧp@@މ_#C)'ҷL/Qz `'*C >n0PryvV`W4 \?<[U {@G -*zn DU,P 1<h" z3@P -z== l[PG@6+q*e&Vu<6VppP QjGH\? - K<:*nEM@)gKY{ %{jq`a^h5(^lBx0DeOֶ($S,0W8xHx05_ѦeKq;&H@[PEWj4T`N* a}ihWW&Px[ |F$`0u/t)4 )ƗEFz_A q#ըi0;(>gyh֡ ]O/s:vq P(VAW `mAoK^:T@xNUL< Ju0͙,9t~ -x@H xGl %`1:WFjKfx󡏹~Ɓn_NtVhqm(zVHK-z2i7]֩.q(,@&$@>GZTi˶3؂a'/86 (,<#p+ك~Ƃ+i R8!XxP(zHpVxq2njuRBt,:`>>4UhDݵ: -R(sTE -8;е= @tt7xZ+e&pyƠ TkZעt$vFk-N]G x@[># c{^vb_Xz?Щ+) h7p~0]3x 0Uvz(dvc>Yz!3I("w_d$I0Ao; t@,4, @L^gD/>O٘OHwXH1APA=WO%e4(2G "|nai_J,p0uOP(0?+?ёVN^7P &$>}Y@K]vqU ӡ*x"3xeW9 w^񁭙K@t5m~~L?>e~*+ wNgtiNvI.p0=(>ď=Xfu{$]8pӔ `=-4t`wIs ,<:ɃлߵD\ծI7 -V<@ - $~3*H3k+^U$P:X7P4hV0Mx؀Dh"APw0;IF#w\ o$v|I35[Li&x `0>>)Rpx(: , +gipW03l`1 8-)ȥ<7;pXBZbRVq~,fWj(vW4Ib`P@H$ L $j3yuH2c<h`X f3ZifAir(8&\" \U)@bR0a"]vJ}! ȠC!IS@Bbv( а&X@dg7A"5 BSKFayOggS#))))(&'(|t~LgAzkjm ʴcWswNlWz~~9h|BzSsva(L>G -dn<땭1~W/A.2Z?v%OD3el7\qۜ ҋl緓q?ܶޤ21.#w4E9id/Rg՛B]v2.g"M~ -t@4$Ӎ`ah`<^,!^CKcR`GGk:7eja{`G-~*DlO's8#hGgS#Ua spp.'RwvYk$^C>?ApL@t V{\DHOxl%N$)Z'Qq!ެlFK`%O!wXTG7bHI*/L(_٘y+PKıL -&t р0@]Df׳J|z4VABXc ^/0{ZY`:Fˇ fz? -Tl |󢳺=0Gh R?@`հ B& >vC:%/=6ڽN)[_~AAݙwܲ@X\K0nM9KPo:0oRyPKz% eOǬ (>"K@T0(XL@^ O5i@ D d <1 /<XYR[a_w 444,a8x5^t& -K(HEOÿcQ@2ѯL44B4,s^\ )E¢0l CA~l¯.LgVcyv/ I:r^vmQ(|=Xk)]` zHh ^%o%f1]&BQ @b.Vu5!e$%gKPx@AV=إE@xpJQ *=A"8ezABhjZX:x޻.X((l`x9cqKḎMUgI8b@sw Iq\ H -ЌO` >(H$P ZB .5޻}C)`Lz PX)U_?ͻ0v،80UQ| Xu p>#ߣnh{ʰ$_1e%W/2́Ӂ5v(ZI ջ83H<6HPGCi@A] M@9&BE6пI>rc wЁW ކҙFm -7@ -NA'Q /+(0kx^u@hQS3@p;RT+t[`PEѻ0+jB0;U#v6iN?Ђ1:@& Wn4d͠86Ѵ贆@GD_e|aq2[w lx_]HBi:3HwGoc,/BAUA`y_+<Q@ vnR{-<[P65!kFhGn׭`h -pwFgK)PyA3C]% =iu8+c :8e,H"h{ {РM) e;x,up$"X@@+q@Vt`0j@$G^(H"b%tK=zƼU]>tWy'PF! @ -ێ,MMAZwp%@3t:]EB+(Pejw   ~)5fD -hFx(J C-i@EGwj*2.Х6(-O0Yh.-~/tQ%6޺G V +h :T`H -4@hxkN[CX4fHRCt=Hǁ0GHB ;Gdx,^UaP ,#@4, @DFdp^eOl B{0|T7c iguzj; ʠKb5(gvjL/>q<]turFԢ,,K%0D!(a%IF]\Z.j)CI[d3! &b,`V<81sit" ~kE6iԒEgp Y -!`> (lO&{+Cu;Y$6cjZK<Ş ooYY95YH>@_Qc{_B9X톹;^%潠 -H@OggSk')+&''+,~}x}~uzy|}|z}++&(^^+Q l w F:FX+@(j -*>lDe'= 9u%a}1"5!-Y1 m͒N 8VpzIrwȧseU Ձl\0DT5 9 Р$@m`*΢@@|ZηC}bjhUXк egO8#o{ިsQ鹓ijxPYpjz+J9-_Z\h } ҈Z (t k Ij!Zsm2o輩Q0C˩4$'!L`2  - -H ` -TNLW# PT:TGK\q(Ms<5*?-1O鏶v6[eSiWLٷ\ux/shy tQ$hCJ% <~y@#ּ̼7#"1[o@jݛߛO튚 TJJ|8ї:T=H?q@Dxky9*BJ:~zԂyaH e: 3X(a$~,n fFxH@OVhРg hq{5ΰC,99 p[ ~=#q--iUZRh?-sO[0JJ,@4uL~,GEcb/7htQ6ɰ0pOc T.PsJ`; ^gE`/' pn1~8feѺhP-jIUI^,}E=ط&&P  Z eP= -Gp.Gߍb:' -/eL8~8}0W@,YJhZA1 7A) ·aА~,g2?xPgF@=(2~,gʅͬtFՈb qpX+Wa5X@FHgs)dKo=YbLPG07iԊ2qRɃ(G +p[ -ab 4 v HO)?6ө <hi_|h0UOpa ~ 3bp @lohc9WܙVff$ 8(Aun =Ru% = ?&@-ptH -No(EJazv,G52S #``0,meˀv.nB@uw:(h'z -^0km%2ah93zRC^]TB>R -|d=C(Xpn n UH@xT\K&[M0)Q"ipH 0ԀRnkoPhhM=80>̮XCyH< A't"I 0f'gaP Q6_s< M3'kGk-Ηc=lPB8 U>𻯥 &WCyLt pEHV A2gȼA L%C=R)( /.pzf #?UP2u >6%B/@e1n2Rk<5 ~.GYuOv `B <x` `P - g^H, $|ނnA@>o8`{ ʹKZL黮)z5{-Stv - p #C@`t|Q:.sQL>Ns|W< s0}H\ S,!D࿰ _͢ ,Aep܁VjNthyHhggTh>w,B%J(J2( -G7O=M3A}; -@2<ğp+ ¾&Р@@P<@ 4,`}X+G({#AKl`AvB)WVJ&P"t%@oD" Νaìr -R#|`{=],w6ʪ{LLA$ t:P6+vX),{l?nݫ9ܛ 00s#ywA=,ys8'NC\C&{D]~J>*: ZW gpu8hcCmn @4,L0 P$(T/@s MCQ(~l._nFeE\&Hίw17bDM{CBRtZ5\gSH[2Гβnk*FO/(dc3jeb WG@k=zJ^ga)e}@yiw<1 nxAC؆;# ;L*пck;R'%4 r  ; zHYlh -v ^] :pʨ 5DP'= -/gSZzm)pЁMA@dx2`qF'o>'Kf얢Al@:_cGہEj4ls0)=ttba6/"zHT9Y L@0~GT5Wt:M,<C8 llX@V YOEgn7-2hښy=tzғ~^}T@#[N02”G$֎X/: @@`@:OggS2++~^.`)5xA ( @pKonF "1m=zxOd ۪]Mw[q%m&{i1^-))GMB4x$;UЂnxxk NRZA#qN1Amx DALP(%;]љ4WJM{2,$&6pg2ȩG$x(X $*hZƜd^ -! -t(eZ>|OC\rS cĘJ> -vN}e<IPB{#a7tjĶ:f:H Lx .c"a+] 8ph`a|(M~>*SN|&k+kYS\BKl|Z+HzUH =+?d>fD Bf_G~C 4$ -@@~'VlU [ы 4486lV: xuxeGWƎ$g<^'H8ת8 %8&g"^AZz \ - HS*^{NW>E1fȕCu҉ pU5pSbux(ca8|=#j`s`#%gPp|8HsAP5^&0( <<^k'Jn -ʴPpj8fi$_PBW\yi4Uo*:̄^<_'mG48;G@0zPR1 Y ˔C@4 -h @,, ~kgG覤zE"=a8eת?b[ -@r+bq Gۇi<pm@OWl%/)JpǗb^hN ~k;5ZՋ/eut=2ls\MI#N8!@ <_XTsNCa>fwѫ`x?l> , -)`i>{+ᵬRu'xxA:` hS_;q i P4|30*V +{̄,UIyS - P<xXC#88 I -U,;lTߋ@6tHDϪ?cv `$hJܹa6}vfjӁbP :{ w{\pJ ,#Ixj ATx"`-Z K5~0Њ|1y2F8+JPU(|v!v%LLD%I[UYrjG  - -޻NIL>V<<]Xe)-u -wOۻU.56fZ-qL>h;swTVߛSL-E烑̈́ w mKY+a35@4DG@`N{РÇ5F$l˲lG}wdn 򣑂K0P7T8.^Y<ð6/:  `L9JȺ.4y"0Lc)4A, $$t4{"P-:{,#7׮]b! YWH^`<$@QC=! -EL^6'V' yt -FHacSv$@D,c:Lt -${}O1uP X`y$JìD|\v)Z2YT&©~UƕImLʮ6F/* -Fu0SFF`Mh{HJsѢXhL@@ :4 v^n`! oXؤ'x130fBG8t>Q nx. OTlD {@ kE{SlWCI${zfyjsj[]03{xHj/(iH ,nhtG‘ےJ2VDcAGFx2l" 'N@kמ]\HeNP$h,eP$Ы@ <~{vX|܌‰/= 2ITV uU0Y/T <ɀS=J 5fpa04,g?\_{FӖUڗ;Aì1S&@@4йP9>{=0bbxHPaB ,v,lJsp78PN3@]< -~DLؒ9?7!F0 QqRÈ&PX@9 4=?@Hk[Gt|%9 RJjo@†A \X }+o =,0Z0q ˈ06PYUdh x !@> &t~kïf\;hhA[)#@pwhL\ ? KxxaL%ڸ{$"HT-&s:G82ڃY.P M Ax$LMJvr >EɥEҽ{@$:= n B# tnr,;XKr$ {1vIhv!.g8WH q 0KuH P@@X@0 -,, HP`V\Uz6;^6mJ`4 8R5nf\tgsNQruB?l k 8'0TI+*?p㞥bs5~>;SdD*xxjpvPʈ@?S`I* S%]3Xk.->SO8jPB(JH4(lHrT\K*A6F ym -&?'`& :~k>յ` -J?޴m8f1*yZȖis qlnW:YҪzE1L(  H˥+(#NF[apѷ𕏆>&Uj/Ɍ續/tv`m\0ފE6ƔoLV_`$N< N*Mmخ,= ,1c` D'عh~[*RN򕴥{d fN#F%Goh!/ ]Lk ՜US-L֌,)ԁ(d0{Bg(Yxss 较0iOH>u{K[.`[:G/c$݀"(óbU U0T^=3>_N\t2*I>_1}H s*Sx"?h{l ^ZgL8CC@9>QHP0hxˍ{;cebI-գ - WpOs QJG=`r#Df-W%z~&6t :BKhqt?[qWc\T;# ?ytUL@ӡC >=t,X@>e_ ÜnVUkd؃\3c)Q奅#.|m aϪCި8`tR{ix V}`GC/׀1gdMy,,+iXL &˒SOݭ6%g5ұEUGӵaH&Vխ2ғk늲ACpG$ y?JCW$4[@Q@xW63ӥf0P"~T(INpOZjE.=A> ٵ0EtDlAUwR@:Ti9\(4ł#&􆐀M   coPm-I~w߄jr3NQ\旯o̒Sp=Ev*hYi4W1U8-z{kM ޓoP& "VA6Ex`V\πy"QS9RL*F KV~S60."4pom7Q,h'JjOd@`^t LLා`;"hHu B߭*4˯j3tv6JYOʰ_"֌ ÏO58Nwxdhv1q1@Ҭ|, %E'yhrp}Pvࢫ@@ ~ePSƗ@'`mؑ' p8X@*{ J)luZ㣠 akArDtkLΒ]t|jB@sZ s@{)&'dLM('s8#bQi8c`| .J0}ftOLx k18TwxA53Ѫ@ Px -xMN=OS`C+ eЙp#X9ܝΏA( '$ x -kf8JRX<@@@Nd1B'gJ */m/O^b'TTKUiP -&7!@ -~cu ;Av@#t Z[@ׄF *R Xqݽca|< ߬[h~/Ç -k,fHJ@N~LG`CxhVpܰ F\![+w`s˗(@ 2 tkKSeL=tF38ܖpl  -J443 /vsSf#!x @4@Р*^~ ?Q!@Pnu`E%|4I`D,UJ紟]^ -mx0kOtA2FHlq~vԦDz7 = A!\^1 @(M p%,G0& p)ݥQoM@5e)xO<֐B,M'x0*.]U_ |Y֨ P]Aph?̥E=]0B-kwdLE@zNp - -IW(ס90K8=x w ม@o "?tm.xR0 OXɢm#| -cƊ0LG" &70#(Jv[^9@0@ OggS*%)&)+&%.-,)),)~}(-,*^eпc ݧ|%H)<0K 8pP5=h)wF}: My0U\Oo h qBNE"r&.UGy@wڦ!ZYsk>l^E,?yP*!1AT*j&At$6e&LEˠ$d]X*$+Х :P}*Q@A=2Thl:H ֽy!``LX*/P4h}^ Ŕ^ @9;*a{)URЅyj ,տuNi>gTlB1; T'TO59\(jacn}6lf8;4Zf__n&`aރYŨzj<4]!?;ss9]1Z? -^i?SbdدdK2wDC'F*ui/#M(l J\YK7AtxL @7HHXD|ЀGH@~_1Y~{0$[UG`Шh|$4h/(=JJ[8鷺iVn?ڨhh"UTѸM xBZL&GH@@  -@X>&Obq~L$PG'-L+,tjGo(54(}Z4fyWMȂ'oޘ$XX^C@PЊa+d!oKuP:r^w@1 @H!fZ :,0^?)E}N׊ < _[3O\{E?;xR0&Mt>A8ܥ0&٨s7]Hp0a'oJ 4<(̗825uM;;XL6?u3?FֽPn@PD0TM+@|fxtxS|M ,4Pp{)S}=wwNlw`h$;Zd -1CI(Lt+=< :06w;BV6[JAW͉~>@r#@X퐎G}{ܓ}@=tXX ~fTRN-PK -eAAM$/' a ̀*RE'S@7EWaƒ%fﻈ@}C\oLb087ՁE}&0@l@yL4{ۆ"Q[-xW =,tZA_a<u($jT`#C 1 D6<2R`3]8Ư$4'?{""ܟj @1  @M  $4:@!"G5vx U 6AB ӡ4RC8@ʖV6ãJfN~y0 Q\?q : -F%#؛Q}hY:,m(@ - (P*П)hwރ:vJM&F^p»fNF\*+o& qAwKFp0 -G@1?zCP( @L -aNt@~`M6"G#'Ãq@5WX4:?@Hx?OG\&c6ub`KpIJpeAU<\T A gXd=64~Zen`N6 3% @ 5):>0^4JjJg~D*|h@0$l 8x`|(>l pYp5..M*XRp:H]Bg \d PJ@:^ J2jz> 6thMӿv#^:Jo@! -K10\`\|1cR$[*cـ 09QF 0+'3;y75f{dhhhܽ}ZҀH( 0~F2JM='xNlؖx-`}J>T;Us) J(3;dy,Vt䱄Ƴ8J\h1F ,zL<>&89FN_[ \ܰ)#gsOy8P!fץ{)6:f9jЯ׃A[sYC8 H<OGU">Xt>V'm>(NN:Zfvjt=5x,W V(A ӽg|~ C@D/#ưԀd~*U)mP[t `V{ /&۔&x-H8Q:‡4yS{@pf$do}sp m ŧ[ 35È\z>4@BH=|.]Sf xX@-jV[c~blG.t?= \5)Vn"0H(Gy$A UN4WIl'bz;bL -f4`: k'0Y<:WUMy@cp` !1_띦/+%}U? mB%#U_܃zΫmp1@_@ 0. tgPip “0hX > -67*^Moy-@ ҘfhA`'5-kZ~i\`<;(Sc5@}pɘE#&(`x9;$x j@6t - ASYhDA$Shz@,  $` zOSfV{𭄝$лO :(NG*w7w{X5(~* R 8q8&(wjul&* r@"Q@ESlKu@J< 1#z_"j jPSZfH{p}b1yjNВ'_/U)lam 0M892a<=E Eef&DEG (E+PCM -~X` -hP96o]76+l٥Uu -s^蔖M˚:D1Q^@|wO!v - ɧ`Lf#!pxh`DvN84$l>jf_nhSZVi.a'p -eiU+Ű\Alt."fQ7^V%yY VAj4~N.`sB&, $ P>V7hv9x ] 4Qc˄~(e]Ғ5S֗8UU`aЯ ʇw:6| gj3AcEAǚE3M>!9F2(Ą @4h00>#Q.% #p 2dѶG) vf,4ՙ4C[ Vzah,T {M7K?"8DAyA"SG« LX `t X<),bWK3dX}ئEGd𚵦Bެ+`b[gHH3@'/eh 3eD`p~j< ! F3=PHx|& -@@t - ->V䛍ZLc4 -:t0|L>1(4#թ`17D@ -0*'8`gAd J#yd? <̉=:0Al%4|$6  - - ZwŝP=¦T1C=祁quA!F 7JP~v ^h`^dB+`]dٱ4c:_u4۵{@bHl.h?ķbWtżd1Ii)Elw/ (=?&8uZw3?,Q<\{ןh0_VKj2NH7+kT;(NؖY My3ty1?>==ZX9~1yhly/%aʌXKX:.3,g/JR0R8| =,Xsl ,̡u%m]n^QZS;*UP*SUyd> /Jf&|?_Yik-Ԕ7'|ê1P{l +sL[3us[E 8*~L`V!C$<@&@ @\.Wr=d/\"(Pݱ/{WMv4p j՞,GqIo*n5=˂nn D<:JлRj: Ek 늹9G6G8m9: -lmϣF튠97@@v (߀, -t@^.+F/ZI[.='J`+Qff"YiR1 J'bl<.yOWpn 7SlG0.D*.6/L^=rv{ Y8ph,;\@#*h+I<7[5 j\舦h"M5: ԩZ43/ka)3wCoF1tC缥;3W+'$=o)ؠ -cKNBM/  - pGSD80i( \Z|K"Hysɉ'-[7:3HT8 }M!Ѣ=rtlZp -hýlf<x_kеsN} TXm6ppc\ eYGp/{d=PU{׉M$B"iJp _7pU<Ԫ]m߄$ao;Ts/3| 1{"eKFqN g.b1V,Bg]Lx@> S@OASx4~[v[0=?~ ` -4;` ǵ50zv˼+v{ԑ֙'j\8y@mF̄}$-Η|]5cL<>~s0hCN% -`;,Q@;P\Nm Pl6EQg6_PK1H:=E7_Vs)*@PcS؜2C@>~*U2WǣKJ]pa4 mB9_8". a&o:([{[/Ɣ_``LсHZV'Apg93ϴcsg\1ة4HHw :>`U]&D%}!CS Lȡ8e/?)s`Y[2Dk4Ye8^'c7=>`t]$=Sm:w;/}t]G\4(i(@,@'(˾ ΪYg$u}%TS -EPBAWCY -By }ikJݏ> $ T!6;syt(qsaR5a_Vw+ꨜgUdҕgR_0<8hY0$ &:ͦå ?۱'xlm?R4f= >0ˢi|MqM`dd'OPQ`w@ubn+{hڼs7SUw<&% :뾡srֻ>g=V"p\h p3kh •?p s9 -@$] -טo˚R?)sL9ޯet'=i0Ȳ0Ǿμ-O)!@D_@~-yLn/$c@ hLs 0n@9,oxS x.3 -Io,wMVQ*ܥȼ$ -~ -40RiyxՇd::0Jm\ = ?Q{ -@OggSX,(+|~>k^  0p(@@yY*IFb5%,%״q_mϗjU_NOD9:=sj`6,{afg0c=~gD^L/qǧ}Ѐ nma5YEW,O -| s92 -(@VE&'SY]ax< ?e_J|+|޺<*jK @'hHH`nեޔMgMݑ< 0tpK,@T9u?Bk !W@i`Вd`?}{U^P:} - -j~ _@;@0*,i`tR`V+b|i_ZWlf@=2CP+¸M\\PXcAO, p Q㹁?%{rIn=HC;`6|P & -|V{ Zu҈ȵ{l. -7JO/N0 -ͰtA[`e \,cǜZ -Yp/|U1pgWv mByh&5>Ex4a=a@,@x(~[[aiQkZ+BKK>'hT\P&dmg"*|,p;]%7? `)e /eCg8g(andx@ P!PH@ KK<[VEڣS 0 @t`C^qT=@Eg?5- %πsS0 @WDFtC  -HP$@&%+VZJiG{`<>'C GѓБ -k -W={N>S?СswpUp*@OL6ĤX 暫A!(@ xHkvWNá؃ֳ$4%Տ1VP#`9mhT .mmUh4mU GPZ-T 5OhK, X  lQ~ @ @zB%`'7τ -l;E|CA۞ܫ'Z.|-%^4й ‡"PPj]54JJ ( ~CG301z0JueA~@jC0+ Hn:L|tW4`,` h~~cYa۠[%1`BJJ I)$R!,֓BξLq>%Go,17lO 89|'TFFf]\C&T;@`!Р6KU@1!ǦVīFp…y̯[1QKfz"[Tt|ſ?%N%اJ6Z.&L91cͷ_ ^8d5_Or_:(PiX tP4@a\gyEK9XsBKms"P[wlb5 i=Lfj9^\U&@w5<^fB3u*^@/m3ڊF5_U-=:*pC&}% -J~kij"_zvZoӾHuŴU2PW^Ba# УJDDܘNB0B;y-6Ȝd`ljB:U -`\q]+ 5`< _.)"?˰#-= -LC/z &hXDGS=mA)y UKfN:lUxcrt 1ᄽWꡯ9N*|^%ț'lP*N`];5 Lğ;%fp@ ,:k3[iEՑe+G' OKt2e{K+E -oE^(QЅc@oϩ8#ؒ" s@3|gu.4诗#8|TIQ@ `+kPDX@56ˏF`@ c{'*:9Q~Kt `:xDJ#'#pZhis +@ۢ'-\6Hzj'st}x'Qx^%d/Zǃ("Hx!7X>{EHBX]fxHT S J(ш?mgd\ -#@iq:l{TccϯJȶOl@>Ls>J.:Aٳ -6lXjW J0@L@H *?`s`~KW KqmOȐ ;) ;=(b?HݭUW ^WO)FӒgO#;0}!PzHj0P 7H L0KPv!4GV@P@<_Xx<3 bwNzHh5iv rG WuK`44P(B 3?̟ A^s|z}\(e@KtX`"/jVfk0IL0 $4 -@^vf,>)Aaz92;P4(8MN /*lJ]VD'I,J@+9(^@:v6h۽r\U yx#15%@A1 \H޻v+:4fhO1s*},ӡV0(],D0 2b&4JFǖ8Of9 y?B^e98`G4?`ު@@({ 80 c%^PM=l J .9ٵC+J_E=;"P&A-b`U %1ѕ6 PcW0`t:b!'TTPFvZ9Q5N>{1*;<@~_ v A)6#~hW0Wv·Ǯ`P$xPH  OggS |)*((''ދN{XPj;Vt=.E4 dX#8e4m|[NWQIt<^P[0\V<Aj9N`bqmQ &hh4:4~ۮGl -sN<6*>B3G#z"C1 %Ju`" )$teF>lhtwg6OP* f(7~nKΝ $h`~ngYjEc{]@@t:T _+ -] CGG~@~ f(m#0H; -m*Cl}hPuX8@ Gq - _x Rf܃ov 8_p?C\@~ʷ1Г K1D-a"@  @>.1+{IY -zO'x`%0Z":?: -o u#F`ˢ@{tp$ĕO$,p=dP*M+yҞ $~ۮG\Ǭm!W @ XC(uA"`.w Pnn/^] -`h86WUDV4?ź d³,tB,H~#U2ZtUO<* Q -VTQ#ДE@SPx„ ~I9@ A#_-- ar?d,ٕf[rL -@, 0~3]e(e:[X@pWzrφ;PXW`p00|f_ IvĜn59zaڢ0t0`ak.WhFIp@E m=|>''[G LاtiJh$H2mu"+YDRTJ&:H@ 0>lԯ;.P"Q@T#PS1 A -W@bV~q`${clcr&4+ -E8`4GiI伊._lfO"$/!(3xa.q_4O Qy`>y_:UZ084P?Pr `XXrV @P:  ~R[A+g@{vQFH|mS*מ -E GbGhN(/2:XxKsk@nlz0s+@> rƂأ< &XBL8 - ,>V2CgR0u A(MV}Z -xQ!] -gp96j?xɸ#A)c/|ӥ#e1# QYy(z tp (`]@M& -x h^KS)Z3?V#7X @Q;!=š,@dL@O#b_̙d>Y5SN&l TPpQ -N=Js ' JM+2;dP!0@ $0`^sz);,}QtcmD60:MT @IyGa* - ŀKAOYG @J$f5 -岀& 0-&ϺG:bL@X! $0(hK)Iyz=6y IX,Ԯԅ -*`_p݊ 8!'@>=ۉMπ׏b[Uo5 LH2}NFC3!@Nab `t@ - - M@$,;v.eX$_.ﱉ0kР4#`kc@*-D}f;++987pNxjp+?Im\kT{ Ăh 4 -H4&H` c>K+[kLA7nߗ{Dl=~<hFC01̀( &"lxp4z6c{AUDxj/4 5@KA'~Gǎ$n 3Sa-x @H Iv⣦vz\}>{46wn2Bah@NMl4uEnrL0& y|~% -PN 9>@F@lpj`&1 -;hHDS0 #zǺM+v[!47p#K%ޣs4MCo -/.#͓6 -0R== vb"^f8e -Y+ u=:j6Hu{T *v@3i<`txkX ~ 5/`y@^ [kS*ס0tQ\сWP$n?7o1`z:Oq>Tp:`MfNHU@B^,o`D_U`H`H, @h(Ѐ@MO:@A$,ix& P4|*!Q ybCp#fSjDN ?ʔ'&~'ΈiRxpRpĄt`rO` ::LK=/H <@ٕ&lkv1:cA3BWc#P~!]gV{TQ?Ix;vB/ޜFrA6ڷ҆sϊ,8&c'͊ -8sJkwc(PRrA Q\8whg1ZȊQ94:2PA@ Vu"^T\ -@8 $lpP2$of@~ ѱ>tG3cΑ}7 -8+~L>$W:hp#ī7s-d9n]UI,՘w;95ʊ:NNS+W$tz,K@!fˡADǬqB덧~۸OggSB'-),}|+-+/***,-&/ӿ8B@ Sm{q_;W\h֦QݑGv\{Fg!wʿ~=(ݟ,|g|yDh^vt";B~ -r?+#Zܫ8n'Sni_~ W/nXżT[[-2 Vg9򂬃{uܘJ2Z~gmͫN AgUDޮptW4kT%{WJSO7Z ~}LTt>6]KHE>_Vooj {A/>jG,g<'jSnpCaFLi#ܚݯqrc$.5WQ V܁@xgpj7 FЦ|>&&%:hU&@zfgG O: -W=-߃{ ]4eժGQTmExF9YhMg;8xRɄ¥|$gD2tKs3%MڠRRP@6$ RUض -X-CKă   &'~t_75p@G4+֎ u|#,.OyJكxB Wx8 @ -Pq`:Bx xj6Я2F̟ݕK5ރwp [(GK_]'P~``lLM{T>׉q6P Jj 3YYg*vA.ZS@)h$x&Lt& 2D}S9Z`!,CthXU5O)`hbر 4b51Ӄ ;@,&h&>fC(N}n*Byд:5p474Nj(@^=`&Z-l'x:CiOd,Seg9~ր #`m JQNHl:~7N qEw |cp@-ekIhQ V JB\*˿~v)IFgN9y  `SQ -DñlX `71ݔ/= Ʌ9i<,qQrr 'V1zi{-p.!jxPՓ) PMpirWHPM1f* 4~aDQlN~3T\,GiA@ A>8OPvU+{SE %pZܺ -S71{`aбBko_\~"Eh@~ 5Wj*rcvFkT0B`ihX>\)͍B8 - za5 .t6?Az|~pKM6=D1;zpkV `}Y+ؓ& @ W30 ǵyjă&Jt&A ->TK p2&w} <7PGpS +–}J1 -ArB۞t5@0FP?} H` `\n+e[-0SZ -L'ROq7 8z{m,gAvS0os9 ޟDBeRJ3ML  -דM+V(.(P}^U` -:"N(NWA  -{2ǝa|N߬"S'm¼pj>z0:QYtP:, +Ƙ]g8 tB&qN(@L @F`(EP^ʇ3Pk8G7`lH[GO`_ޕfZ5UhW& UBO7i&:p@$Pښ -6Pr/hpA@y1K%,sc}.bvAd%NB_`% P5]Q9s] \a\(m^DCwwn}ΰc2)+6VjjO?T~bOmND 5C%800z!w_A%.Q?H=wv2b!'l -*Khk`W?Ft,Qp.x*8݄ U2K"$0E: h@H6%_ gGxp/'|I D@y0lma|% cS -a&m6}>u}7qi? 2ܳ}@/<*Ä3H= -؅XFԖRG&A@>`Nr]*lML>,|k`iGVՐ}8:>yWw,ٿEV V냲}pL3N% ]#E43k&(xRy<|y}Q2C\O{×Ek nV :oK`rz/rv;$0.;dO)@1PP`N7-`~@Q lOݍ%!@L96cġdH~zZ\O &;vֻȾHt{c*4TO;(x Pa$]$fdG+)AS3>p1ی\χO6P>ۉ wk>/=_s3׊2dho@iX2& Ǵ*oil\O_v Z4x4F5D+b;:H:kq#zKg6ܤ΃׃{WA j\wTT{` >K`f( -IǓreEO[ c-]]*ͷSCSe4p/ ~ kH 0Jd8$&$0>Z6K)Y/KJl;g]U -@xA T$%"Iz# --ߨNFyd th(@@>ta ,x>J&c<}_낾@ pS*QG@50" -Q؃mX:[s}) mτls[g 8m N$A"qA`B`  ht@4OggSTa]#~!+)+)*)&+)+>JgO!X}Omq`@Bc|~J a QF* 7v <Sաw$B:$+|!6Ң^j4x$>3Whh4 @$:h& >Jcq<#m{p`xh#V -?/[~ -[m63xذs̔-и;@mix+y&x-X» LBs?`J[j@G*[(c״?7?TD}Fk0z|1Y1qRAPX 'Sk@{>A -X! ^Kbo&VH̃!. 4z؄яԆOc - -p }`5P(cn{, c岭# r$8+O\c#"@#iN% F.!>0odBD>BZVjKug ՊC?'W -OxzZKy:m0|䘕!bS-@_ U jUKZ^u:c5.EPzRo}{N  D~H`8G3ZaER2UtyQ༫?Gˍy i\Ж1Br: Φ, - t@O0@ P^)Ro:ھ0`ֆa+V -|<Że@U -x=ǥyweEҋxk|8U𼜄WQxzr# &4 @jፉM8*PC:P@P')u؏FDjeXG ?& -O`?<*lip|l+p!#^\jD]Gn3QY`  ¢<4kA@C$` @:6rjeq]c-* { `\;fG_~aJ"hn,` pso0ޙ &@ڒ!LM<= D>gZE?pcȷC ӂ 'Z6 4[Px 0&h?)V"e9гߢC@P( h4V?p-{|@P-eBj豔Ri Y}@<.٣%5S=GS:=b=!O#Kq9ۃqU~,.8@ < h JNkK9sӍ{Y Wc?}>A -Mio%߾Ȳl!^3u>Y'&;:. >+pwI4n<.1h4Mbt{gn_r&ɸ(u`"t -\Px@BH69 -&p=>K7<p,1tHZ!WM*App, -Vܑ;l q0! / +b Q9A (as~Iy^,0=2X>Ys搏(3;p4_#,hF-Y,L/0T],]4՘ݘl?B 409A:+r6GMq=@ѿ-0Z;n(p67ّ)xU\O##`R%΂HMЍׇ*m(y$ -u$&< 5EbaA@$ l޺Gs2eXr'py| x4HB:uj=?Xˮ$Mv"QOԹ1~=VNGlu5ß!PvHQa<`o5h (L`'ǁ H8;G4W -7{ “x@`h -G[4g=t -`hь(?@`u(7 .9Kq1(o xɉ2sI\{Eqq_R"18oX,Ǹ%&zš$Ё@H( Xܾk.V󛣹^OͦF+, >psO*' -z'vđ0н]/C]RWd. ʲ̓Eu"7 Z]k:ާ$q7 -~#*5+#ܖ P H@#b`8FY B5phs#6<O,2P[nLՁȑRƘ:<氱BQߣ:@ i~=.T4א<`>-h@,24 Jπn46C%BB%>2[q&/?Rc̷Q+jYz=X9; -\U>W\it뾒-hAmkKش&J7MYgG<'Bt>Ԍ":!'d[wmn{Y2 *ГYbÀ@3qǽ=TL_d]~0SC[rw0/'~6f.umA7SK1Wֽ3Wc7)ϕgӎ]|Z)@~3{]ȔL.TE  ( w# (ީjb>_aOI(9d7o B[Pk'3cI ڄL@ ˮv8S^% -^``#1 P,F.@a8ty.Ic zU,(A7L֋ |G('*ֹnSWWկ5 :1I$0X0~0GpP(<lUB8WxHfP! `L1QaSzзքQP>Kԧ"Y=im$B" @`t t`l?/o*@٧o߻2\KshtŁyz| 56{(RC -lDZY>p%קUf2G$YqJ<) -~ދ=h@x,4>7J݌ߣf&Tg>?.oχtkcX~t*ZAP// `Q7/?LFյ5JL7щy.(HYu_³t`h(.Ϻ-iNM\Ov6.D&@Oѳ7qBɚq [7(\YHݫm<|Uck}Zl`lnU~h;VY {68S}uڈƀ?k nLtVkԤP᧫ c?H6+Q& -޼-A c1deNm L TM{>n) }C/,s, JhD X'+>@5 (1 Fq/X8TS8%KcfDR5ho ,g2}ހy: >P= -hj |ii@Hx@k]ZFH˵JVJ%7X6ĶAٕ 3 6TeS}ؕ,Xx&~^'(/ͮzF%'6(RF@ HD H -ϻu05@4$'-WCݐu 8[jcPw` -e!XᎷ2 -x3k# ?! &9@Q -~@[(@C,B %Lu@m0Cmƿ -Ӹk4 x<>ȴ) -l.@t(t B8Rpph;PI7gs쒆ۯB.Zt"8f CQ& v*0 -05о SXtK etՓp=zQ/%H4@VQeZ+Gx>J֍=۱/p~84ηshj L!C0$t&P$' x`>M÷r֓kX%ǜtn[N`9 @LUߙv=BQc@8l`4Ux~ x&h7/:u#mY1fjC譁 m/:tx:yf@@)OggS aiz~~x}~+e -siyum "tH`M0say2{uJaVi\!j? -:0Vۋ!QJaAu'@?L4Xrt,BHC.{!# ! $ ->4?4,Sj!V-p{0 SfKyJO7@T]-B]s/0 b(貣к>s'>+ %%M@H - t>'Eȅ>)kNU % uؘM~A 50결 -kO)G%gw d ('a@`+[@$> -&@H@H^:~nZ4WC:w  -Va,i  Qgu@G -z੬k^'axmc{wjQGw!ڭp`eAioe%1*s*`I3B;4P@n %;%C -'K`)e&QiU_Hޛv7P7ifG4XF`>PPo$0o=*+.#4$ߺ#^x>e$D7 'p`r -]e;G @t ))N"b0?L@oC\e}p.:̉CZ;o\KXt ,`4 ~+ bC]>k1CW5]`̰MBL֒XpJEl4Pv ̈*>J=1s=)0'>%v'^ -G2mB.8,I,L`B~۶A"$X:yUX:V2Gt:l( %+0z=Xܖ"4=ݬy_d&0ڶӳ$ [2u<5)^[&UH @>vQxT=tJ#Q -"px @xd ڳ_%8G%%2|%h~ D_K#ht8%;Lp - HL%|9IXU -h4 W"F ]W:!$:jD! -QѕpOXp7@Z{SpgT$J7E3G8`X3W 3}b=:؂(, 2BP4:@^+OwŢaSEu&tt:e(X =_=to|pPvI< D7 QvUpgњVTۖy_6^PlIT9 TBH@1ާ` -^KVۍ9MQ7= vF?1'G0 -A.5oVYg18{Vk!+L B>kGjmX^&Ϳ C5(Q@)P@<@h0M -x0 -ދ{V̚.eg]}& CZ1U:Ǣރ.*WZ% Ϩ摓5bb09{Y3']"{ L1@o8 V(@400~p-mAI~GJg,Tӈ"Yo5R -;iT9qa6}H|V,ca ch0$B rD֟d0qt +>wmkJ74;`i 8@-)sM~ޟbaNgSЫFOJ@ux l@U -¶,{{w&f|zmU%P -,7뭃pa&Hc -3F] -n•lpvBV@3 o~P^ҐJX @;iq1=LJlUOhL|B[ PmQVmi7`LD|'2MгֿbpkZ0zf`6gg/jxcg:YH7#?+`H(~۶n%١w' ݢ|4Ni(nal x] t3| ȳ٣B[* ͩ9q8/㽞ZK4y ߛD(&@72*H&@ 4Ѐ޻nfꤌ\aqN -h9PeU6#]QEDP]ot7~N`߂>~ϛ3. _)9&hePUJ 0 -9Lw*0` kN'BqH0E{TP{%*|h ( jh"5(h -(Y`OK§g / @`P'o6,HYhp (ZL#7H`{xP{vmeINq򽇒-Q N"[ -(W*GEzx6 |T70=$8s@NXAP #H afhMv RHD40@ .{WS- JBcoM@`FNO -u0w p/:@?oa>}`q񣝔w-%?ɠ; 891`"#a@(@&H&lү졝LPç}`Qp?(&ÆT*H!_/ 5<Bx~?,CMȱ@Bktaң -A,thL&C OggS!5< ̒|~,&.-+x~zw~-gBd*eݥa rHE p+YѴ>] -aQx|W =^QCqiC٬Vfp&J^v {T&<3zpȘ:@_mx,8~ ErDQW YFJ]9a3[PSNkXI:}>lO8P+MBB`u3 _}}6}>;յkizU [ )m vZoW7+ۗП-?i?3.4~Ew4#8WGʸ$eM}eSeG@ګS(=+m4y⸡bQh - Gd[2_hN -S96m~l607MuuM4:I85wNE7v:yF͓ h45x֥5` i?NЂP$& >#ͮ ߿܀E(+ K  @ QPDDAZf,.Y{0vϾ{3yi#&!eӡf&lo~c8UЌ -Z:۾ Cl0Y$c 4 t @Z  -BP\UYccs=-wa(5 ŝ!p"eD-;S4"qPb*Ot#uqI-ՃKe6ir!1כo^6w -Iࠉ+)U. ^D2[fN_y7փY8aR0 -wNG -pp"{ZNc:Ja@VG6uk]DqA(*կy x;S/ی+< 8χyp?xTz60$n_4#1'P } -c,J[G9 @b -3Tߵ(x(^m wp@uՑH2 R~M|/U-ܾ ulL" %䳳"V)6H9Lڃ, ;hpsdǓX@-b^qdx - ܰ0#5l`G9T8sU.cj!QcC"Xl2eP %a&035h m'_)< & -h:@(R[{ 枆% 1ʩPMDIJtl%3i~- -aAe!֩L(N:4Gj -:% $4O*1u;oA"FcVH#&-RyJTMc\P0#)@,ƄGxMDtqlz"4AWMhJiObaPۜ2@ $&b<#mZ-T\:8]s=# l450IN~ G&E - 0=U,Eo9KM6DOd v^!Ӹ(bToI#˕j: ytfi&M^B2K H@ cjJ? I@0$mf(2\ǔxo<n*J9sM҈# -80oqcnWu8tq -ifl_}.Y0b@dV'ʸ0V+T2͋ïp$Ox~56&e,VN w*9{ OpP@Q#WlGjg4̬bN/NP.# -\@8?S L&3=5p(B.d4ݫ5a=@o4?-/Lt9G6B2 -pO-z:ːgA+AVZh6jIɚ;}o >jՃ4 TL2BL,;DE2 U FpymUi @#-V (lAL ' 44 &hPd( @<$f݊WQ+Х -`XҚ@~JIOsD_Κzт(LDbm;:\ -~P8܆}W%ĥ  -PN6HLOV!(ܪ sXH8z*e() j - ttۖ7h藉C-0`EH :L޺&{[ O_`mQ -%}A/@^)s:x -h@ ʆ祈IPI} ( -A5R p. -' 82 __oe0f>JrVZ?ƈ<0тSU"^K'h HOggS"V9 |+*1))*-+z{+VϭTQ.@/@&4&:> Q_3 u"$s)x)Xe}ԃ曲 > -l}JDSO"8a /dHx 4Yɯǀ+&a J_:bHPFTM!Q+q$^hWUҳFv^X* -0j0 -8gns pJCu LtX& -j[6kWރ* @)|@VGXᅨxXByϐ8+,M-;: -(x)%G$btѠu(W@ 0 - - 9mМiVMIzt&%\x ZHA޷J):Mzh4<[NȆ}J!. -qhd͏s[B(m"!L@@:t<L,&,9V V$,ߩ g/UвEj8.$X;{+,]ȼ,!u ~$ٟz'@(3jGMC:,IۋG@!dV魤~Ų镂aKRCEQs4F -™#@}jWc+%>?uxEZX!妺 p.FZ=|Lꥧi^h^夊@I`J =jXX@LeYXv.K S@< H)*{5uA`k @c9XAh g<_3L3[L8.Jq&@Ԃ-1$։;^B :5V/qec@{\[,Vh> C6L~i;!z%z -Jh  fCXY(`L-'cc]XUx~ _L>@ХDuŎz.h~@7@L`0Q]QrRT9SMPl1ϸ ( #@X -P?ϧ}٭Ё s(,f M5s`dI"Z0ޭ}EP0@L 4'Ph@hQ&'XPz@:&$V~?7k^D#N#@=<_en's~8Q+&2OgxT30F s3_73T&M$849W:À,pޣq\B皹shkf 4 GGz h f鿔dW%A)ѥt$x=W@H_UOchhklr?n_y2a;l!"lÐ%YPhު`$L:HxbcAFgO5x- A @'`k>(jf{ -N9ޔ-,̥ p¿i0d?LXǼûNk|P!0K.B?5 9!0+T&(,Xx<]ŧE@q|n} -YM;;ٰ4Gh$r8L->~, - 0 5ѸC'_v<6D]y?@AjѾUͯBoM[ \DsK";.GND'SS\rpO4^'n,*}?;3CY6_:Z赎GۗɲZ;<4@ i?pر0[ bQG+hx@ tzAm"8{ `(~80+h V!Pʫ +: 5 {2@&^ @>:6k1j,{P%$0Z?*z%f$ 'hSO|` -͟ C0;cKyoHr]uBBvЀt@QX N+@8'L6#|qӥV{@VC 908Z#|]c=ФJ@ %x}Hnr'^fQ^ -:s{+\`,q}K3 d5>)|&h@P0@ : ^JfWjbi9/zN[kM)pyN!H|)V `߱xC 87UO[Jk@2pJlO@w>jZMMk$@tLtJfxJ}lKԠKs tvpy'B -  sܟ$g+{`=' 7 髀bt ې4jxxh&_ö-ĝI!xl`0U5"x - -#UP0?:@VPtJ@Q~o g -a`P5(c/xqTu  < cL+{@:Ec וFt*'PYGm.AzWC@vbX?J2+\n> -@%@m0=0^ f_ l+P@`]夀X,$@kR)$p!jz?Jo\tC }&qO&_PkY=U|Z`6>p(㈰6%|ؠsmcv(,bߝEЭɴ``9<`P=$P$б ~v x 8DTIhzpZ-P J*6@I T҈kIk ?S=Jydy!@/@60@mXV&H`M (  ~f"IA=C>  qÕpp.@ԟxu BFm.~Z̪*Џ?,@TdLǗH  HXj6T!{J{ ] - -4sXhۘFK&x< sv:c>||1Y gq@ 0x< `XION$o(U|?3 hO%pp|q?1jѩU>3-:ZR PJKl â1<wPио(hgHj ϡ[j(?8B=te\WGЁ;WLd;/޹8n Aա='<jf<2ԡ.{7(U b?=  -Lo6t4DCխ -;rw-00_V]ūْﻕGƗN_[J [EDwtY$G@0%@ - 4OggSu# '('(&%)'',+*),+).¦tqpqvzvʎ -=X88!W&KG`>w =xH x -_S,o(Ho3 n28`[P!-Áxr"b2\-mh=H@0@4X`,4$lۇWN4yR)ŔMEpR=h\w&hIzݍ?݂VRծt۹:y$@h8qydznGɒ2UXl۱@8Yޮ6kASl۱{^iC[\$cObl{kۭQ@HaԐD{ mVfx_ 2l=3?h!xb=]X^%N@J5#lw_U9! b\rUxߴ*|3bji=Lyi.8 -eiebF ϴ߬jF~9f핧蒾\:Q s,`pA -ֆפszXVWP i\ =qN@xaN3ܑ#[@4N]T c>0Al,\, @ 0}P@40Z9W5"{ } qt -@}xl l~^*C'#S4c+q -N{UV& @^:o45fi.鲰{x5,CJ##>zYa-n`+Y; -,40NvH=8A?`ʈ u[ fC'z -`U@T&PP[X3 t@  h~*FOi@B> =X<.n'N0V dE:@T[J} iƄ -ܞ@܌:wzrC2{bVpB% T$ - -u@<  4@v*F̟sA4陑@a -Z#Xn@\8oOKrYQ)knJU30^&|S%$}ߜ0Cf}_պB$Ư*~Y] -> -&`kt(6@%F {!+P0_j.cN$%Ot$0(TY' !UK:e;ՀA䄓M\Q`@!4  4 `&,)66̇OQ}Ԓ20tښ~?T; |6t&[ -36߬NSN5ňBgmMlC2L'Y|k@I"8XELN-8GV8lh:xLxE@@ɄL  _Y0a5CttG$4}J%>'i=>)}M1ܝ"eϩCz 1jPy/1٦h9O&@uѫPN{`7zVg롣MKX6ٳ;,KfZ4($^ux&ґWM10yaGT ɶ/<}AP^,>.N-d'#Sb|qNy⫚owu'BGl -ojff{=ݹS-|Θ+im?-䂿k c(GMsjH{C!$mP4!4 ~ۥkMmVK􅇆A^TQQ:x6vh1y{Hg3=Xt$5{b)!GUT?\|Baib&vYfI;<:R1uP= -yNCti 4yځLl!R -&'K~ak2ƒW el= P`INqUne~W7S HfD_`%$h,O)P׀ךϵ_Yt7^j/,4DrdRN*)! '5 <@ - -X'q2 a܏6`\AB!@jI;I6 -$.,ח1*Gq f$xxtl B| `G=?7'y| 梅bҁM~ws!(Iқ?o#cEA5PwRhqi::"(`ن~&GP%GC@@^ s+(S*qax2417A'(@r=V@R ٹD3;Ma 3@_p@,>vs!5+{:|Z}x@!~3PR`NK"\ d)3?A\ -$\~ (x ,kS7?/Hp[D3 au+T3<#H!ɩDG)91 [2)샟.|DP&fKv-x,Vg]KG LImC9h@bݞ#,6xhS X6ncby}qꛞ,< 4GGg `D9>CSTAOoG p-`P |nqiORh@t{^ʣk0{1'k]'`qehE) i?Z -nܶ qMk|Hn0AhYڞFM\źs'DnyT*xS>'Dc|L@ >G~\c˛gPtc]q3='`>=t/ x@_,ާ.>a6I0fo(tW/cs@k_mhabӻ} Hts( J+W9&M֩ӛ:V5U?l `+f .`V=4jb@-ܬ@HfZ/=(wG9JQϓ,%9&Ƨc`$nbP Xt@@G - -^ki]eqǥ X:GiMTXP a 4f3Gpv3tdD- AIqibK~0P{n\0Y,jIm@v@ P%0M^ k$2Nk -|P)tU(2SA*#%bN7"p k8?>C1e΃1/%}.%c;Q/Kb$jxpDW@4x^ şٶE xHX 4RzG 0p}ޅSI|ePI _IOcCaY$6:o~X#dJ"'>k$mX¢IG@=x0pn@@&Б Bxp2 -7x؅'R쩧TTܕ 'FSJ$@6I95-E, ^f" &>VPxl% 'Ti PVx8p.*쵚'*(-w$$*p|*U2| NĶ -Ϳ0PYXg8E& 4 ~:6з6 N>>='t8nJ#U#@żpr$iT) PT܋ds߀')\ikAc@uAG($}O$ug <&Xf%X -^f鯔A#io4gVp< -[#iC \s(008+"bWGf=>ZQ)P>&둤؟qs$|K( p4Mj@ -\(*%OJAT"@Ky@o.ЀGT-D7 \yr@ +5MS2h꘢>kiT_ -TOjJ9:FT> P` HS7[|{tdp nLц:p|DkL`p -Fk*!줤WLo`@,4>Jc -A8&;ͬόN0ʔqO M=+klgqډ۲f)W*wGIv7|ӚA($KhM,k!^aOU:aQ d}pp10H4Men& "vI|xFm弭_+w.-a `'9)pn(aHmSf*&Z  >.~U|QI. L@XKs P?{"j jo|5` y8t@{D ЀK0 L`H$>[P3EeӄN8p @C'7ܯ'G5?B8}WGW>'^Χ9GkԜ - l0;+Ïr „C+ʷ7.1!7+xtW&9Xq/ D. 3ĥdP0jǟ 0FF>@$Q ږ®BzN=ƒ! ^ ^U @N/,rpk?>87s ZDDt9~bЃ/`Wc@YІPMؼA 7(Jɖ4ĚaۙF @<j #'xoW@(hP8خp?x`o yRc ka| >Q:Pu'P t@&y0.D!,oC&LpHX j D/:PAm l ˇsV;xS<p ,[wDصiفIڗJ6&; @H*P:FC*bk֗vR<[Dx -> _0%?je<UVSd `?y@@N@e hB :LSc(z`[QinB^ a`@UU?(U[Pgp`5 gM"8G. -17Q{ -s(,GhjڄF|1 Ё 4` @$OggS.%RL&))-),.+-*)(**+)_2+:=zH`nQVUx -Tv$ -P -[p/ |vM"{8t% -`ϦMsld \&h͢L -I  L>eai96k I;\M4ͪU?mwuD껌 "2* '\K^ &LWH0 41R0X .ׁa@=Vqр Ci}LC>;wLIx^=> M4+)!>=+0Րe 'E(y(rX4s碏|6!+5_JOɱ`>t`zqtWJ31 -c̿CZ`A&K!Dkbwp:Wo@kLn@As>v\*΍$F,{0rq,ŠT -c_ UUWB;tIh6>4f4ҥV6ɶ;@Xvp 9'aוm 0;,-c4$`L:@  zi9SoJ{IW7=]gh0~N/* Utcўc;& NM p@k,q HOPn6Z<yxE0pW^`Z۟K -5Cp&To5$-ސ$6P Ѐ@ -ʦ7U2f[`TDСtD ( -4]||}(-f0ځ༜{h&܃BZȏ)rb/]nI 4tMhfkA8@<I| tW@/p]h#^# Ʃ{)R0+AL\cVH7lk b{ 1@r@@ XzW[H[FC{V@V! - _QPh -_)ןLO'&@+& PଞC]5&UTa* - H< Nq'%ԃBlT8@P -k=9{~8K{VK]{I-sM91tu#-mWfwls󫝬k+_g8:L h>ۆ[5ʒf9 -n0S .G -qAO4p̹?Mqcl!a}&}ܵ_\9DlMuØ ~0ૉS qޝ Xt\@+4@67Xf0/^xŃz 7T-P8%U!S%E"0Ku,xФi! VL8X 4, -@M X<@OggS&@A'&'''0/skpjghllv'((,+*+)>:6ozi>ORJ5x{p+U~OM/ -) #b 0I0N}H XL;)8 IX8gPDN@@:7i^kL?2{yP `:HЪVxZR@ - +B *GuzNT< -?JJ!cA: -9`VM1  - ~jf跪5'/&n`n.@R~Ea}~ -Wx֪>աH0T%*pI0(4 l$<4<(`@x*?xys!| @+vk@՘tɠ482 YC 7LUeЏ8A^乴 -GD*={1.ٻ~ -pBX_D -8pY:Dkt` v.i[&F@4(<Mި$iIݮG[i_x%} -.ZxGp@> s ( -xAv5pvfg}4[IN09)ys Bޤ/ܙ_@Uր^9@7Q.[ Y{Y.hJ!s -Gƚ;7xILY8QRC 4t -@&Uܕp# A7䟛P08u= :ڍqNflQ'Qܐuib9kbp (h`-`M"Ы( `޺&%f F9ÃT.VX#@uSn?tS?z"q`h8C_r(xdtYMK. m;ۉ(sl\M9){<6p록Rn -cR"$HFILOAH@/.~p=[O@u;@h -@t\+h*0V@3gP8O_v$ `6w)a/s? -K)}T`! v w\I7تC(ETJwds[ui@bO )H[u`DA0 -Fz^Ht -2S"e>YxpcP.#x; >F)@m fB!S:t'5J4K% 1[ -G~ ?ӠCĿeهdoo `iBYPZʺ\Rc͉',w-_J<J̙y~p4W4 e$禿Kv,y<\g4@#JX&Q5;5J̹ _9‰_ 0T}\m:s`Tt @# X}KL Pa AuUJ)$= ;h$xܸ#E6l4J%0A]V" Gh˄14T>*;t(7B^8[? G~${S-)6 D4MP*nোBUhU֥OS-cxWK~9px sW6ݩќvnl#5.d'@:@ & uQdp/ʮ X`a -0oPةxĜ/LH!\k=*JDw+ǃym+)C"N\o -z܁~iF Zk!S$L vnA_tD t]vT-, -^ SX - -o)_M(B0zJ4NYuz`j48t:b'v~JŘg"/+fwpg6 8fNn+`ࠁeXI8(Dޜ(QNvm,@`H (VX FAX(5pItJ^ԃҔfF˜j7`&#l}00޿:FH> ϼtt>@ -IV$ (@gR͋ 0˶Q!d_P*`Ap!Xļ|dj}(e ?3'VHNR &`<&HRSO{^DӱQRrW"w80l.5jDϓE`[LdDNl0vM!X9ȇ~>+茟 0F0 ʌBO =:=CW=8*68ׂ/hvt)4PRp-ejfO 0V҄vX`Mn*8^kʱ˻!- -]i@@ai@0 X`B$wY<׸{9^>noG0wIG4nnV34xW @T77ùL%/bgJpWflx,;d~_U -@q,^0uTU#N $s"X8w])6q^u%).ڜ9]$ qoHL a{L. ӥ/% -@[p*^M5L( ̏mj ۏJ% ĮgͮޜrjSqLOvhP@VxvfB̵$όTO=sbߜw~i}6ȷjM(fTO'?ӓ/ )q 1M@y[ L? @Aj\yլo<1Ј/|@Zi: L/`%ݾ#(ORkUשs{7JL/7ƾ3Y%._{ JE|* Y:\O2ȨZ89Uu :nWX H[ ?zC?Vܰv1Uzh - =ܾ4bRKǨOTo b),[#LDo -0;10xz<&@Z[97;X=>tAW A骘|uޫ(,8ŏiz>x&YkKd~0{\^EZ8Pk+Q 45HtHt<h@x@:᏶?LMXp4Q -r -o#aiNx}ڥC.X>)!d}+9m-X?`]`D6Z7iqLugM'@P$ x1& > -O,J)6vV474t(#~XX@)nrxb\;|8}ҩ3tyU w ` Gz=2 V'U -h%vj! "]u -^ -p8%а@xЁ Idj3.{plKsP CzahWX`:X`߇d?sB)opzm"JfJ,aEA 뺺ׅ!#}8D;κ<eBsCЁ,r &$ ` '(QJAW5;.@@W0xXG#$ zl2p@I2vVfW(IpSw0gL:%vz8'1,x@(L[w= Ze-J:܃rB^ihzZoM -Lٛ1N -(LpⲖ7X7@u27Lۻ)i!TG縦i3AJ@JmB|F"\O@O-v+/ԪN -|%Y{XxD׶.(L+@zGߗm zt65 -/ ?Gu6x #J67~E9 Ԁ* - ,"&ɍw5p <lgHQYpI|^:~F!]$` ((:( J7ykeLOyރp@s<{PT?\> @pHCN<nAOn9 -}`,G|04"j|9v$,1t'@:@h, >:S g[ڻa灾MS4R6 Dn p#7ph:߃TrvN`{`~ ?t L -L,@(~o|ӐkGVu/7ր G# /h,&@ogVdipXe{%Œ( xsqvo0+*'iHH0Ek*KswhL -@2<˥%-p,ͪc!PPJKhVV`r}(vjpu%_kcmׁ3 87$0wOg>q@,Pw'a̎`zKxTAh^{gӼ,l{.@PJ 䎏K'?gOt৾˕ f ->/4p_/%J*RHNz<9%)dQ0{].&sx -POggS (S@&w&'+()*/-,,~vzyzz~zyp}-ilrQ$ﭒ T$ =G@ W -~Ej[;-8#5]6((9 @ۓcFrib;N - `X- C~&'R~R8"=\Pp@R< @ȍFKD "@)GgUx<=m"e^ ཎH\Zj He*>^ BVgE?/<~@߀qPIGY -Q-^ mj}5P~ aW4`al!rF`Uv#/`` ڎs -Qfy=\\-:a<^t0-R/\$|/45_ /U#݊ti`| '9a :(F3&/XeR0`0װUQD.r ^Ȅxd9>3{%E dl~՛1aצG0*h'O+YtMj8~hvs l/o1@~fN9L{cV -dWץ?], -(&#>x83Xl/=3n mhIb .7"̚砀C[1Q\?*l@OZ&ڇYUQ,Ǭd&}vTsNKyz1u|cV"e;Js3<@x^pys3T.8``}nv8?Ei~C|2 E3JDCxF|5(94U&:9#@=PO`6 -00S `<@ 0 -x>Z_6)rj`{~AB.춦t#YSNh.toE1Wcj+GԱ[a -' -Nа]N9VIϧFO9}UUF)ĭA( -[-|Lp3F08X^z|e9*FKW`6DiKR<=~^h -J {~<'XгV[8/^'L.57I\N -6h+?oiO8aknYZ?cX`Ɓ^XǺ`<`P Lʖ"Um2x6,t:SiP(4pj9 -IN+o:|x^}߫A 1~}I@W Lvke0k/_c<A/Z,u8#ex/ `",&HC~OcWGd_x=q<(JJPrq.>=*PW9Ax>ˆ4l"Q4|~AZkV @-T%&(tti I;ppt9_l>/>%_*= s+ӄ>ˆ+ar(a0=, N H$'젼x'yT,)B,d "g7  Rk ;VRE4 W9|^VJ1bVad&xy%x`k]@- -Tl)`H0ff"###pDMgQ(t>0O*qM\~T^V&֒J7ܡt :r'FmDU\! ,@J@[b~ x>vNUK'fs}LD`An >-H0KT MNPu%pɾL -`si>^ƛ '=^/n_}@o/EuhIdq6~@W% V@2?$`>Lef`Jnpr`{ `3zhx>kBLkqVFN[z(GK7'|l)(J(gFb6Z,`<@ z|`OX&}\h(/=^yOT@>3R܂:(B3 `(` A(۩.g,%&,zF='\D";Z 44/((^N>7#cit<* Tc (GU&xàmGKj?+NKNPHnxG,*F"-0As>852pҵfBUS<߲ |63 p.{ -&h5`(Q4m>NsZD  F;`'Q:-]y?Z>Cp ig8xW58WSp ,wU!ƠK 'J}SHx5t]{ -p##BB Nl@:CېgK (9,vlkpD[59yĦ$Ǖ( P@ZүkD}9(-<* GHlFJ (ׂӀ "-pK$(R@jaP4<8i -!/xtP<`@<:Q^م?r* bxH I; Hh(2 -f3e -7)MP-]>9ZG8h9+0,q@{K#zT ce&FL{u挹a)fz9\a*g%;5& ,(VEwHE2*:ƫXSW: 7 ?mgZiRR[z9Sp @ -T gA*(%إM0,y`s徶¥ -o`B}ATDž$ ICAA,:,ooZx;_t }tl]1ƲRNqOggS{!) Ь".+v$%$$%%- 2Ӗwxp:%\O(OGkn?p]GO/FHKk姗UZuP!ZoSО6*imwQ@qs@j0o<p[ԗ{}`=``yڃu@ 0|c,cfN<g%Pc #@@`^e+ -t-;M鄺p|@5?q &k-2i\]vf~ؕ;s@%@"ۭMN.Oր{V¥R4LJ @>Foҗs'%MT'HjBa@Ǜ@E>85 -G*wO/4GNoRmHaE%))j`2@Ij}'JͩkpcC6%nK @<vh<2Ja*@ h[WRx79 {A^4@OR3xT -z\*:RIq M?7*ess) -l\q9ZFL -< @|)s pd!1Z0p/ڨ3; |{I9w#i]b|Wߟ1L@9,# -ғ|{Qh\P>M|_{50=Ih |/D hld֍q^Z@ѾM58`mt/('bs7M?\3|mǥ%@qa|auQTu$7{ .L#%TW.P˽g7`a_<huH@S!(B5 Ckm ݒ"a\{w\W|gProNjBk|3!|2Ğr棳BX>-6 ɣ[ Lۆs9QmYnra$i<g.XDu&@h@ Lۦ){u݇' (xR -jqt_A`AWV_VF@N 4/3XI"Jj[UN~R1NԺ氺.Cy*VIȎQeH< ',:k8ГVsk.TV@N( Pi||g S,&5 -J/8Ae73uT%2GP@(Eyy P @B%&6^uၯ -pOztD#T d(@a5 Ra~{v_NT ^=\OlȫIٓ яL[sֆhF;,HDɚF,h4@@ ^Z&+b&h*:1%@ X@SV`S%ZD igxyI8 S֌ʪዠ6,Ơ' )+:t -,(tP<<镘? bבi⾴<] ػ;&:?dɽ"`*gy٥Z"vg4xiƯ3B MbD -H@!!0VM tht `ae4^fFV^+-l%@=7,dj@ЇFՖ 91P+Sx{‹^$0ySn1&1fRz(E f10$%YM<>h -%4K@I,e_Fǁ_m^ӔV[G>29~Z(@ _=W 5ǬZ8Lm't'*Ɵ^} -DZ2ҡ)zoh>Cr`w"DhvDщ &T" &%^f٬U@ :Mi׋/yp;8`.x2#:C⥤0*? ,Fik<%b @=^̖ -Mj6a,W$4 ^ٕ[Hr W[ޏ8Y/ - Ng~pZx4C@UKucxl\=. %3Ka%BY_ -sFUc2 BWyK3V2 ΃i@P( X>k!edKͯp@P3B'v\!s+ X&K:kNjv,#PCenfǟ -tRL7)d&572*ANԺ= f'w+Wx݁;*] $艀GHlbc&^Җuꕎ8GxXvRY?b,F"[nK7!$H1+a)[Ax. f8OCv3,ZJ{QP1m@Q Y;M@ -P)Ͻ~@lTZhNOn7rQ`P&`=+»عQ/K1@4yD`}zT8_Ldc\t c`q$4^:U^&Nچ){ma^.iZBA'"( .L9mx-t%1̌zk?Ҹj0JeכHݜ{mZ8{fL톕Khe 4x`u%L@OggS8"*%$(^#((),*(**(,&)+.c7Ǎ=^U -```(eGGj G  wj1"׻$\?}D($cيﲻTtvdł)@>s:&z ,P $<&&`@oe K2Ѭo]uyo*`4el % Fp_@O *#OG'ӄSu7 ! `U3JM#80y̺3+5O}&|Isv4>~I}*9LjćP4@M7[VX s  h f_=E_J5gX]T -Fl"JGrG7DS#P@Oۈai.9Cž -gW?-x -£~Ϫ\3?'`; ~&'q(˄iN윍c (Ec9ao8}M14%|[Z4Q?Ƈ8$~V -` -τoXC/FQj8o~ ~>_=ddE?4zl'qh`Alh`_@"A@OF(D,.X+0N+HD);JjS]S)m_j ϘX7iVshT&#~&4lw|<h ֶ;ӭsg>"P-& 4 - @AHeŸ2EYV^n '8hD -h6QRp=a/h^i7(Lr0UpM+\Cx٧!Q\DH xu[iuT,4NmktAс¢7x%SW!a/J W `:a )?i&>K=0+8 ( :}8v%[ -[G ~ңSCGֹCPp?.RGf)ѷsry39  h;c3p2 < -=$ -~?9X6l>[`8|%T#pQ SUOUi?؏8VUPW-:0o95! H!6TvР`hcPCW7EkdN&L6ؿ&,C4YzIk{i} -њFGX]p]4(6`'i@W]3t'Fi+a8xN{͑]t}]^  zl o5P@ -=DR( 40 )?@""ffJ{+;#Wht:RjP sK((vO*,]mlSG+b4\ Pp0̎$!DsuPA rqXP9PD xUPAC=vH X<Xv*J4 -{YJ(^XNhp1%ܿ[ġa,`Q?ׇnxt'pp: 8zXy 6!twOAf`P@,x@ -L0\W @l2ꍔã%^!Llv<\g ӡFO@5cybV1IڮrZ`N..T{q  P33UcENx[ϧ -Ǜi{L{ ~PUn8*#Ƃ8 TqFcAG?M9A(ةqW\W%vb -/@=^ [%LڥAoֆQ䖈d -#1clcM bk#(&iviTYS@h7MF01}k@@"4L}`^ c?>öm\x|mU ^geưA pQsFG phK2}/큩-0YgNNxpWqM-G;&+lV)3@ t4&‘44  -6約#1WUȓ|Pm -;`8ztBW -@+//`PAhHU_6s@(cᖇ~-! P ƦwPn6j!<( `YCgkJ_XU_s8|Q[1vb7 -K0`t@i%3폽V |lsB2Y:V%@zg[£vI!\\ *VfL}g -vBZAATg4; n,$c1bTF3̥/CPt7 e *?Hr<SH&Cc%:_{q<~vXULo9o؜X< -L ` Q4_c=oU 2[R*F:Dv( -?`5ߐ8s\RƵR+tx-VdʨQPؼyy~) 6Vؼg(<:n:nҢJ \@c@0JP{.-.Lv B}I]%|0L3V2P7>{LL1A=5OggS#+ }{}+()+Ya%22RmcqSh L5e'DA"2:OI 4 ([xIG%"=M0 >#l=ѠKe!C*w7rNk(i<?{V4c(xv>RThBi СGkD/,u%F|T %,%%h $x=I`L J週;,ܖS=JgP$>.D 5mq>n#]-D;3ڸ؂6` -4D!(ԯ niԺ$ KnK@Nv1c%`K"xq=l3VbxtM=vE H6>ZxR>wka{rFW :x[=l@8"(4PA\.DZc - ]k̓d״g&\42;Ԕ;2-Ddӏpz  ` h:ޫ.'o]otjWS084A\ p%\ǨʸQ?>|UYB?*`>;Vsh(V42|ƂU5"bL.+d,ΤEͼ`@Pf*#[#KaD0t Ӏk РV)c'm'}a> w~GrB(. N3!j{^{lsl-/x(p@V0j6625/XN~{ةXpt% WY<)>6UuGp'JhۃE76j:N |o0 8bNn 56B%T9GmV}Y鱂5oB"`AӴ$xE]ckA@?  `t -.'aAhB_a <T*}͍ PXS -cb(sZj {!t14-6 GH@ ?"ﺗ8`~ܗ(/.fAS|t`F,R'PDJZU< -KN[G蒭wǞpUGh vha]m' (Yz - c1>sGS#*dVf\ݛǞ,,nsgd8S" -& 0!h, YYב"`:GYXSyG"B08 4s oh.FS]\J\1;7u`O<)ۇg[aew=z4/@$`!V Z[sAkQ6<*; 0)8бȝP?|P'H${- HzUiK?)x -wb[F1\ªd %xwE7XLcHZF @L $Р`(^jbdy!xUzҠ#D#FyDPX@h`!FVp @8&*F(H4:  Rt0]-J F$`{GQ_}f0}`> xҘrnĆ(?&1&b 3FzP &{ĩ౸Wmܰh'C#Q\=C)#+N_$1&H/ ?P -XL|m"|EFsNL t8#w0' ( -F쯅@O,%/c@Bt XFT<`jى(W@Ot.m`OC@iv8M-aYvz}N  YpB$sMB8VHX^ <+N  bVՊzwKe:.Ga垮o<Hv0k0OD nb+p,e@jJ8J&P(hlx0h, ^e-dEXƠ&>&^jEI$/<7J"uNVY?v"jS)UzH1[(C^HKHł*& &RR.]0 XbbZlSz>W -̈J=<36YO`kgж9"% -wŽ}MbQ_htWG n&|p҄+0 k"h Ճ?,B!͡';HnV4 yH @ L֨)(FSɊ1SXb#yޟAJoH-7g1>.LnWPAs+cTPpv b0;%oi%m$X{t4OQcAn8zHЀo5z yX lb ߟ#3i G}_rUkn+`Vtsg7"']Yh,/K vN_{ -T4] ǐ3DSFO~Uo8cr?CxC%_46@b&,*AtСX` -`A+ OggS$,B)!}wtpu}{wusuytt&()Ī^ )>Lz]!V\94@L#@h$A0E$a6B652p15NNk7IBocrWopY愓SC`+:]^#|jWP p@U -@g+.p -4uwR RZvF0͡O{l @ܠ-/2 ٣c` xUpA`E w@Jg̍S@aG_ #ӸNL0_OÃM `O g01"@u<+n5FdX ]ZPMjD;4N`@r J @O0 }de|E`9?W0 2ʄnj6n%fArI}@`$ Z5h8- -P8#ܺ9]a%` T.ctpdI> o1̑q_-(5CPrAX*Z - -:P5hgv▄w -pj(gp%Fȩx -.סּvV&68]Lqp S%hP@^ ºdI:ۀ7,X:uI$Y @0ݛz,!W!p5ܬ|@ GafH0 - w]=J8 &>W"@}е -Dt6lX7 @K`z8!mI-LM@0L -\kn/0{ҁ :lLwGAd>̞GTv0W5c{ ` @ `@'[@v@P%G ̍xClVAG> G5ds=@0NP@,Rx~`=K5:ЮQ1 P`'| {X$3_J=Р ^+9{Dk5|J$HUG_S!$I> "(Z Ѕ=4tH| \ %wPAL ;y?\!,XJ(T]2pK|mK>E`h~L-0 /+u4vB NF X: M1 H~GR2OZ&d-H< 0Ghtp#CvQ' :7l-@­V@r=pi1te$Y@hB^|Oiލ 1u9] @T4#T,W}ZjNNs5 N<7JŰ30`Cr*!JA:gNE<ٷd`\ 43֬XH:^}ڼzs 4~p e*@s|8ŀ{[,or|tXˤ mvEg={Ğl GꮼwKD(~4ШCzM/@MQ$@uZYïݿ'~j~:!gc&4/PEǖxNl#eXO`Gܣ ^)ӥ½>Ljs`;It-u k'Oo^ZL -Im:ђ (}MJ/IҰ:P޻G5th<6/}(rX"<Et::IWL{;AR"<^bA8}K)P?( ;*?t -)$(X@{ǰF珗QSԩ[ J& Nc?7(Tp7zM b?Y2GVT pkn(bQbBs4qfQg1s/6qD@C`&H4hV^#U!2?{sn8`du4j'ٛ#J OC_Z~-NTɤwƌTƾ&3t01#53@`T f E OFɫB63"PBk)  `|kye#VIv0??MP2 )t/:߾'4Xq$N߽@$Na"'ށqVHt뛡o"@Y ?ndPgt5QC -cKL`ot8b<hI91-ŭY}>6jB=s*;s>+&Ǹ-35\_>!皀usH.,=zV@&ѠI{hx<4 ~˶B'-c4mWD@PSSfS Lq$E `{)BEٟuF$ܻ̼>:c)NCJ*j!lAt((x ~˶ \ |5JV _Q{Ee08d: @@^{[M52jCC >D" $Mg-mQb_5n!7{$hpq@ [ {!:8U*+%| ngxiզ1-u -ӊrQ@/%W2ޯLiBϏDGL*4lV & ->0'SdsA?$4"p̘?g=({|88uBl/'XŹ3(_ws($S '"`#[ 88l0_Oh):⪦zpsyA8s0B(Q.i }LK 4Ză@ ~\.c -KFp? 5R#:mg! PW >: n gK tu'pN ۅq6 $q\%z8i;b6x#`ǀ~aP(K@OggS%-,]"y~xrt|zpvmqor{vu}++pw^+Q  Idi \X?7+>ؾ+"pL B;{cxI]Nq $)Q -pf'&Le$LrZ0A6; -J"%'\30gQf)Dx@P%HH3WbXYCfj)xO^ `;ԵV-3›`*@Np?c5?]J~kɁN tKV#k >0ᾀ,H hJCN?A` ^,wnDGx[x[D*25ʁx [DIŦ:׏JKe>pGО&2&9+ -g6 -k Jh ,Wc@<_+}6~co -CC Gӈ0p}xD? nDr|+\%8CqƎ -i2,eeV+5yOq?.Bm;6$ -P(-*1cT1ٿ'He /\hl$(5TT`&<$|;<,2 Ac ,/#82p/Щ-` jD/ $z._M>_q[p} Z5rao^קl*M>Pp]K)PkL#~,nh#ڥF -j%J+%:m55i*>d<|>0 ?Y @ ~18X{BVBby[=E/ `>,onCE?GC JHN$<U)t4p<pASZ4,x_M~L(ѫ9aj ӊ@ecΨ73^,o3Eg -꽲]zlZ8D - JOjN$0RImX\, mACPf9c/mhnfyMZ >3=,G0ݣgX@" ˩V(@ХHXugxj )OE^ ZeQР.&8:.)my @3Y<'k6i <|h9" -8:\Wok\\ -}jN>)I8_E7kLՠi o8a<+(/(=z[ L,8muK(0{3,פeEE @IH-8zۇ \T ^~gQ4{$ >%%:W0,4 |D+FOP6I0_ `#n%3@PX8p\ڿH;*ZH"D -/}fu Y W/\(#kFo 6|>.h 2 -p;q##*@6^W~\.sTFxx6q@XQxO:)]aYhE@Op& {pD9c\l -p ,kn{$VF{8LHخ-R@l u ݒ6U(d,1':ӊxK0_$'VD3$p\l p4li=ÖNy4,K]"|&@kq)Aw= D5k}<2P[\_$dϏ=$DW5 -)@%iOfP,)][ f6tHh.kBih=q?,ضp/BMqT --DY3- 9um|U""7GL@Ktpd:J #$ $th^GUV֔% s.g kсFcိ4`OfY@@EG(^ -R%+м€~WJoJ0(mL]?@ 9L ХR M8\vr ¸ (L@ @nuqv &L"oANX3jf Gz'ƽ*%B=Agk{UuI'TUEɽ k |1̍c`FkyƐ@\aű^NJD8Uw܋B޺><Jt4Pdx @4,٧i~ -@/{0ٿ9ji5>$5 FҺ]lO/.@gʇl XT2pwQpفO@[7 n &ߪ!h@#Rs@fXD;\)9~64{qRv .g:ma|w;w>Y$۷!̡M8}l5`Os&~(3N.^ХõFW1!``A,&Lo鮍}%b}m<pZ @}Xpf$od@%ڱaZ k}^zt) ĨBg#]LSY:J/47 ؀e@e)0  -pZA!*0a v'*Ǯȷyw3$6q@̚ K?c.LV[YȄ ]abX@@)0NJ -UR{mqsFpB9KȐv@\_ZʩS]z`dvԏPaLI?} 0~LC)v6殱G)&@Cc -xup/p\.m3d=2ƳG!3P+Vb|$u3hZSg'? -Ci,q:~< C ]m/MŐ|W`b_sV-$C'WbVųggdŨlG;,@_E^2IlS#cI3Q̻XOggS%.(&&'%)0*,+uystysswru|)'+-,~yuz^<)A-vE&!nhhX 9d(UA}`:,dK'k'nbt}7><B:_e*a/ U~* Sfgi%ҴʬE713l< f C T{}= P<< nf5\.xxf<T/YO -(^o)]Nfrľ49w홶&򧁘z;#%L ޖ?7NVDTzHG:_~U:n.D< !~w4mC `7{i9Q.kT^X'bj;g&WYKeV kfl7<0; ,{x8BG5GtWq;{~2m>cPS -xHJծIqU_..C5vxz*[%:'d2vƝ|",bQ Fg3`Pp lLL!$@~&J*5gM< F~,GƆw~HoJ@/"a@9ÛbRp ?ygL"c "0* HT "3 -ogɉ<3L" ;8:g{?BtF$p$<*6=~o Ѓ7t@&ej"G5t5@ڡ^_}^5E^Q{67,́qg+"\J -6j3h# x0q{ۣR94j0^0_W&D^nx(A`{@پ ?*>P@ _6 `Kt#R~|zx>_WIy`Paa'^6#\˲vB(X3PHx -XvN -p?I8:l0?0BQ,{c$Nt?fŽV ">,?5gSħPF Xsq - <Φi`T se/0^R+ZXɣD[^|Dm!<|N:0^ %P>!X#g),8_߶:y$p/#0C_;ghZPc0Q>N'M,ݵ2XXpC@Zr JXA;Iπ Hт͠I_ - 3yL074/nN|Db(n(]@OkJsxXh@(@,:n  q&c?dՓ#;{R {˱4@MocXoT@lR`}FpS 7-uAlYWQZ{N@@3 $@Dz@!tHL&ua ( [ -HGFJZvMpHl b9>q|cǫ+ޤZv,5Օؘ/ú뺛J8Qڀ~n -S W<P< χ/lE/c [R(HX~ -Kp*$ʣ{/,t"3H#_l'w_ԣX@ -@hBk0}3vSژԀwiksk QU8(l1Ѹ.aQfnYtxc {y@1AS@@H HC`hh@Cy` &"͗ly"/7L mmh.P4T&Mmvur_1\{JU X> -v;]0N %&2M?ZXDg&5 s̆6֔E`'vƄFBcXKp@@hH<Y$PXGɪ4rCDr1y3[,Zg6(xlip+%W%\sJqYcE3wB!8ad63fBtf;3v3lr d~_cA!P|;e󻅃Eۙ9T|ˬnm(o)z歳!e24ZVsWVDU,<<|JNHxR`F -RB+4 y%nDcB(ngA@q)Ec#Br9Mz8cm}hgꁙ0uz8((}$t@*<~O\E#uxJa@Btv| Z݀oEͫ gHiT?T3¸z -} U 2j"E@QK E_ x5kى:@4@x`0Dn$x(jَ"D y \ -£0Xؼm <󼥠h{*X0 ,ݒD{Mh3vHPijfKÀL垈QzTIsl 0~fi80U.YWe_Xv[K8^,gk󬳖Aw([8NC֡(ޡa%,|W[K3@xNm!0 :PU'%(Fi`"\jρ@3v@pQ6mɁAsh4-=̓vೆKVP odjUCx(}pcHE@ Qs+m^@z63\Jolr|o9]8|vږ8=x4L=ȆĪ*h7({Ԡ(I>:C :JH$DVBHT -xWfSL5T KQ7A-'hfǙ_Iǀz -NB36:^[I)S7)K5=xƢcV>/"3Q-'3&~ȮӋ.W@M+fha8Y_<L@t( @R$쿦vժ6 rJWRƜIq蔝&H&T7pgS%.5bo$`3\N@IؤY.Rc΁ӛ#~06uf>#P=5d3<#9 -`}\@{Vq29W|:$x00@CWW^'j\{j@H$[h|0Џ@$\+Y!}jc08٢FH!X; ̢9k ^HQ< -uD)~Յ{/$a'v4`wF6 -`_r_>]uWx2Uqس~X --NN -f -#d*RFT (@s =<`%Τy -Z#+t@1ii -o -- @# 8?'@|,{ja]80" gSxh`M-xG4una} -@@$6&}qnzn5zp-pL n7&ҟY4"I ˆpo:ᤄ hO[(1L0樾h (,-ڜ3;hV'/2޽Q -K0M˵PD&&>;>h/5Q /< 6p&J:U5@_X [!͒sGn!}]𳸜M҃DYb1aݬ^_jr8Nwp/ck>u}%iCcAhgzmֈŭ:$fc=*zXYjM -1v0 P L֨]vepxM\!9 0f1k. cSTL讼${qSDx8*7jYk0Mr =Row]V xp,st`2M4~RJ@(kmA=MhJihxpG! A 23Ų>qN&E; O_8{o< |ȇ'c/!۳}ҧz'(@wrcsennWW׀NRtGO c*)  `Ll,X:, -jݫkLs&z76mEg5hxVsQ#ta+9\QRPuv_mS#}~X ró;cuݣz.BK/%1dL8KrU)y+P1Tϐ_Y1nbN0 -<( -Hj67RCP6[xCރׁ\A)lj?jiFxQ^APv^Tj(rƧE>b$H x,%@gF7)>D> t5$lN0(hbăAjfO]ֻ9jBnJ 5Ւ?P}SB|!PO8=홥-pZje9d{ L`@~F`' 2ld_pF_0‹eJ@^ @HPnFZfRXz^5@+\plKP7*2£ ]O3F ]w14LO9.W+ߛE!˼d"hh (XYqz$h8 - dުFm* s -\;ҴV-1@`%6X - E+ׂXˤ{%^{Ǒd%'_I1'K*C@i`7j 4C0&hPhjd0A:ۦM xp @c9ڡ|<đ_ NPV-׼({`߄**09 ? -?,ƟeZV -l Itt@th`Y -^V8Ht {~[(AsmhjLPTKuGD!!XQP[zW ,F?{*Q|&<> -hX1^-[/g<@+D`N(DbQ RE;DhPNz=M!4.z~ Jϋ IrF"\E&~% f T 8I@ 4x[ - ^E:-تcOh.~Y÷prA ~BrF ȨĪIm~ w᳌"t^sU ` @Ҕ%#T - % _ډ]y/L7 -L@`(7!X3F- -V@0~]B+M=vp p @:*/i$!5ݚEjE= k'KM|vq?6QuبAVɍe +HjM9Ż$BQ]` As @G*2k>w@.`+`P$*\5d.*Z]ԢkȧGb7 \OS]Z(Bd^Ӵ8xp8=`zn]Oп;Nx\[q?yZg-LjBU7ѣ5^Jygj\R倷ػ;ES"[v` O̬ y'S@WƷƵB[uv'8J!M -@ 0t~zv] -Ӡu&w=y2`p4T}e PDZ +1'݋[_ʧIX{5q{е 'aMȞK*M= -0}o]@F7@ 69, - <!ܬES Y67%.z؝LofSTA|7 -UQ"D,˲Xx}jE߶ `7'sP{I @8z~{y.@V ꄘP: :(Yg !pij %D(Yomc{A)˶;*>"o +5ްf{-iAsI :"XE_oIaj0))Х[* @P9x9 -&@@< -$>ZF[.VȷOރ~8sA)ej2!l|P*HE rvM@KT -6r?n;8*S @ plqz% ` :6G 4 Iȷ ˎ=Е ^t6<{@KBu~ -`AXz@C7Jvq~O\f;9:7\>hUE F+~6sQ4$:YxQxH  -`:9fǑ -鄹 { 04H´R`% - -0( gToI]x{<]yn`+9q]HbPX*SV [C{NΡ1O)po@6U`ضt4`H04hIo7K :-] 0#4ffѨՇR'm)2Dǵ%W][g]}qp|_cYE;f-+Wc`VT ]WB6&h( fqt~$:6Y-ti%ރ;P [8 4i5S>@{Z -QW@D -NasAw7$C&PZU :#z!ilU>@JhF @@~ @(07;t ~ZfoPlx)j8n[ GL@N*ZVoX%xC68 7 O%L #m)-.ڬ׉U%2? [CLj8[eJ"m*1i5=t(,gǘ <t:~jf$e-טU%X48t&蘴j -#沥@ -W -)kP7(Yvs,] _xs $ %XUT7sfMb MLP :$4X^f\9]`9# &UM!  -/XZ[h4$cBsAgkV{Ǩ AP@P}ǟPcMx[ -?:`MH`<ʦEؓ0[G+%T%X "6z2~ZN1 xZGiZpz"9dZ)EEj J 9B|^ nЀ ЙzW/s`oP+4`]|@_*3<h$dy:lC=4!N j\_c63w.o0 -mjWnPPn  it,:@$ -f_FѬ.;k=׃ ]8S Ǎb>"g^d) o$QoPCf4#vLc$ܧ3guIhrcP@9CIX![Eyl}03QhlX >ɕnLE(U7)4-B&q- rjT+C-[-\P})99NPzD&~bY3UNvP]]85%i-ń]Uδ5ąViƑ^0='kޓ֑7 8Qgla\8W\Bf`yhƼ"o(j `LЁ2F7Uj7 -h&@~]ڌ͕xp3,sAc`@u*Pwp 3`Aό~6$%E k^oq/r%9dtiON:* A t đF~r BJw8:M[ȑJد0*`u9K DJH ~߬k_u lA O'P+)W(  `@ăn+ t@>c7-< %'x6hXAr -@H{*ecG% D`pN ZpJܑ$h| -%X4!8&g@:D -A@ʖWC,yQ U .`bu 0u3ӭn}.$v kU! -0}AIcPߊE1;0&`53@KI6 @xOggSg(1ji!+)--%&*vyvtvrvfݛFO%s{ PHE)#%nm$#(%?NOX,I{N!Ld:ujϾBC6-{p[_AU [5Z 5.W1`X@I- -]qjw+dшXo=Pv,1u ۀ??@7(jI)Ff~/,.^i! 󼱏^mRAHAZm -s11:Tjt -'t -R4f-2j鏘D!|S X FGXtLvPt>)BͿ,zM@)U[Ae5rEGJ1&F,4Q9*ohI!M` 5{(M%ݽFJq,u喠XJ=[HOX&)J`(mŪy޻.X/Afk&@iʙh -{F7Vg4_$?5𽗀Ǵx-%6\N߁k`|v`}C8/h D'i$5#.X{h\d΄& -^Ǜ @*:ZgK=04jA'XcNhnUG~<6_P.+k -^8ۥR e ~%: - zj8H\fL4Gi 8e!(Fo40 qV:  @@ @f_m%^3ʵ*[Ҫ۹`Mp` 7|r6N9'ʖ&&CB Ujsz8B\ 1 ؜ &qI&@4H`=^)6oVE^:I%\!=hԚhT80 - X's,j7 ۄ^;p;f%>%p<+m7@H׋4 iv^tYn*L, - #[`"-4= 4,>|+V&$fºxA`qB)? hcRWq"`\Bs (Ҡ 3O]YpKG!aζ*B`u?AA-b֣I^۰hIX5@X` 0@ (H>)o6q>!S`oXhӔM2К@aY4 -DPH0&t~zPz )} -NX@l{ b 'Vf̠1P A`(0Й $?؜ʃX GӖV'PL9xh mIлIe0 >|uX@@[ xKA`5&;h> @xE A wc{ @FF.f nx -sb.2,`< -yLnPX~.#E@uC؍zz -#{?KsAǁ=IͰu{jSUCA } Kf,P h -t~&tq4e"ݗo  !^?9~pmQv"DЮS?|M $g`s%i`=jLbL(^6- ƹ -<t4<4,@ P=Yð?k5ѣ&I2p-&ê ͘yC@5ā,!́[cmW螁ɈclCn|oSԏG ۆN*1EQ t/L35 <B&4;>e(d':A]oh]xZ 58t/ma(>V|A'Z9.YZ&W2q\EU -lq̧+F  -K@fK/יa M(~1ebyoMs| Dtt % 'nH`0$\6#au]R$(HfPMc~9GkKUL0Hx E\^uNƴn>#~0UZw_ .N?e4ܳ;o!afw?l#DAb'EQ`^۴fthZP|4nXP^I O hɕßm2^zw@ksx؇@ `0 -U<Qy[ĂMGLv.W9xmx8 f9RxCLΟe\kw]=<%(-:Jh#~﩯4I0R80NMz=^ hvjDLx OC4] p } &"h?pzq؞CζxRk8Mf_ۘԙng%Ok,]q`Հ4R.\[~d{G7^43] w3ژ~s[r"SN`aY>;{[Z`EqTrӫ3z-3mn)m-F)0m68n5H -$H  (@N+jr;MT3&x-0uPD9 X1V ڈ2S7>.@!cÀHZHK30&p0 -a -y!Cs"F@:~ +dcJ15C A=6]! -?@gP0 UFsǧK^^ -- =SY ke| N]`3Лm;䐥Z >b&ߥ=o-J@ñQ&sjF0`B1 -G3`꘭Kp(=_/l8p8pA) w H ->+envf|[=W-ͱ #x@{2 -lp -F!JI r4 8a`\:hk` 'hVڽtQth(Jen#Hl)Q ]f`5P]Г'Pa2&"y@نNC@S.+t6gk'xlIR tIXW_@HFWnQVh|-< Wq%#m8hd=8BXOggSO)2d{wwO_3ma0ziYxlI kp@@Ry G_`<@,!ܹKqmBvpPIԏ__.[6xScYv?^̞W^Yvhx -b`<(:ؑA(Z,X@9Whk2ϥޟ}ke -I1}%Uiv}r$'}xkՊ>Yc0C#8SZ( ->ȵ*k]XP-N,8X8S8i i`%FA?vzQ#.̷Kڡ -oZ^Nxʝ fAHGu TQOgoxnY&` ^+4_& pђ̄b@@Eř(|k ,$ry$ؐIg| ոdžUQoʫ%grV/>Z/&vV aY#[j!?FlnQ 3I`t@ x@>;FPϝs%=4]&ChֈV}4*=ہk`aji5h )ʦ$X)};:H4#Q7&8Cp3x }Єkaݪuh -|L l$:^:foM8\SQI_^{(7@ M:F?WjE35mtp0YRsr F?~~ :N gJ啌RQ9hw=EA f @x`K[UGi%Z1t%z.Xy"0")#A%6s5Kn,0 - t@’x -`t - ^ -vRI)]6c3sP!F&Y81BE *| pL sAt~ OW77?^?ŎpA5spp?xA\cFwEY*)T'̥*<.&x0S '`M}p{ *fO( NR=:P4hS밚By~J`A,n81 zl˾@"а5T e{Xsy> -910nD쑈߁XRp0lw8ˇɑ[tbǽ1} 6w []ةPSn8M_L$`{rvI L $ )vFldHc.98uU "/ #Y[ 6x( V#?FhԵ -#q(Nn1}X|dN2VJ ޛPP6~<6 T- -xIRhvM^%q'1'X99h0|k<ML.uX# -9(,؅aY^nu/-L$ckKT`& :~]g -J39h-Ud 4z?tpz${xK=@^⫐>G{qJ\vc :15RcL+ -( x# 4s2JbS+Kv0 -Vlb")*mwX-1 #ͫ>z4P4|Ԏ%. - !4e$ëPC;1B?"p:|ZPխR9/a'Ѱƥ"­_{g5N;c0)~W/ /cNYga 8Ɯx8,' `V3fR k`1qIyw&P y,D]H ]W @ ˈCF ]8{{`YU%a-ČƑ -koy NK]Tz2%t@!r,g &@>/MU<:Zd A8(Kk~OW45b $态wA<~No;=Rx@P̆SW`Ǜ(_X/4,n3`] bx:04$/ ᳴G @[n 8(E@ 4Z@)\ -p4gyN68'0X/K @ A襓u s} I/ A܁5xk$& IfkAk <:|/AY:@5z^ -wKn' ǀNz~2>ػ _ tZQ9|&Cq5:~ -4=z( wfb܆Ygl/m$oA<@pMTU߃Q 䟠@c -P+( ktW}hw-Jzƪq8k=pk[%CFh'? jh\i8?4,Ioe1n4Uho` 072=ڤC<:* &!hϕo~ d~^}1(xCsf6M@9X& -x X@ޫFg`]*An^@̑?FIȫ  9 ?c!"L >-(.|X%&P= ~wT̆1llAEW5X -:@$`:k[yNXf] Gl-^+܀Bh0,ÎFK4z[Yle9RҔ㹱R,̜ysc.P΅*ƚ%+`&  1XbD^[PEi4]$ -Xn 8EY6Xag(,PV@!*[`HD>4`s H4{l9$*wIK ڄłY{ : @ ޚgac8!Lhtl (8p܀ \!xWp@[>@tRU2 3<[aJ+TD2H$:ݟ6L_*п@72dr%5 uQHt02tQJ#/T{GiWl/ĢzCm92oRf@l4nHOŁe`03UL}+^D3/"Θ0px x~NFaOZO/MÉ0%px -x L"[kh{,Rk}mBNÎzVViNSp&%@Tv%,|{NE/d:&26; `@>vD΂YH'xH~6pl6B Q|L>e-c$li5xYM%c95XUL\:p:DcL1$ Ővr[/a%@XF ~+f@^+z2= -mLfmVG*.૧Bp.ir93g9,fuG 9V=@wG$cFc`g3wT@& j0 t@ O:~+6jyz6CR Q @3NvKAG y2YnD/3/$#܀(cHP{>W&x[NcРU[@ Q:L>V$JDdJ|j _.<DQ:Bq4P<)|Fy,J"Ft7;F(89 uiS0z_Usm9Lφ0L0Ct`>tE\^S X@4UBHv~Чx X,NPѿ cE@D!AiO&A6ftd5rv UJ]x7$Pxth[L`-vA#<:x   -I?MRNT@<#UFsЯN Um-')ْKÓQ@/ޜ#rPgJ0q/Kn--ޣ-PP`qJKWK2+*Í8@SJ)qE:;Яp -prC0SeW?؝ymNjh*PSHzrd.V,q -)Q<Ѐ&^ -A_d hJ[il^$t joЄ^ +h>@"Ay/֌eC{vP@$].@yk֢4xӒ (4+@,O*rigMH_~=(agp\ +D嵷9ڪLU=pM"NZ̀^xf2d!Px«ğݢpDi]?Q.atxѐ{ؖp+UR4ș0$JA0kvt 'lQ@0`HL -$G x{v{XcӳW& -PhQM>>k0(|rvaS@2jl$?r1%IGziĦ~WUV04~^mbL J@x&7Nu-^/EA=z x -H8QvU!(Bë`L+t :R1/ lZ lBя˧DgJPj*U@]0>7_zcNz4 pH\~;XAFPq /m@|O@G3;s^:{r>Kox_^,1+J TB0C ޚV7v T@\7tm&LBJ@U TX'PBA,i1j|T8U jȮ* j<,M -iј-xz&'@ 5hh2B$(kC1O3< ^~$[m$8wj3,GEN1>(^`",hX?[I5Hʋmp^@d"TF Y7oWt!H` -X\7Ns5f j rr<! PVNhH aGw[G'\Dg&\bP0xCa٭+ -\7ПEc5N#xMàI I;6)*.8 \缝 -7 z< z'/L`^3n6HX,6 -  $>wJR hJY6!#Ro`5lO[rR|g -`?1jM@9ӗ䖪QGA),oXL(wM$( @n `Äh<`B@8޺{NFF]U mYF&#H17•G`;m@_K#?c~u0["| 7 NLS뱑%*k0v 3 -XF K4dlX#: ,hOggS +4܎())'|xx|^%&m#V.M]mdY".?ZIiXC_fʿ6 _]bԗ7 -_3[0Vl m(8;%B3::u]]2s ج%O/hQ.q`ZyIwffh i@! ^U=i g&x,of,Gs\19&7J"0^Dl<a`Γy%@\ju߻ 󛥔 H-č;('u\vxwcݭC0tVjJCKDӔ[)y69^l#iA:  -ũR#M᱈2f}cXzyo$vصQYJ'D)ɱzb:: -ףxzjt4>MadO#hCŎf8j=cb1J" %RY]Y*EJ E)4қBoZC4&+: PlFף!l^N URjeUɠ -첲сP@1IP=ěmXVs:#9j3r On^)4 ;&k #5G \T o @>7:Rk5yMT5zkp8t2=g-WU6x]Jp8Ī_E zܯwu}|hkfTj kc~ -GHK"vFk335ѯ%wawH۟HTHb>?pByLs@?_M{d=hFfI@GI -<v@/\p@z݇?:g mރS A=&`i av#h}7 -?@Ji×X7 7aK<Ӱ-2p0^2Jw %M WOV`Æ 0k3,֠-hdAh7F]jKVbT!0 0-(ުf70/Z"1oxAv&bT -x4(Ξ4K O> 8܎%=c :e{M(Gv#Xğ_(P&`['OMэ &X: ^z67> X֔,Bw<+k JF6|IU%j#!~X&ɸ}ꓣ$QQ@_fkOԑ`@Nb* @ j_lI]-=P% UO`tG2((@мi+a~ Y*8 o@G40 -p' 1*` S\ , 0@H"=(Xhjx׏pk\>`5qle+U @1cX{ʈe 3P6Edpxp 5^ m H8]  3hI$ (0  ^zf诶\|FI/npUlUhg7l|`ӆn{mOС1 <9_sHb=NX\H@$ݘCXt4 @$HP`iF׶\+5os]@ m+[i'8+@Y)3^o.:^O]u=z`6]y]C3 ̙e' Tb[} -P, -(@Xx:<>f- -G6_]5lp,\.?}Q 2>O;7s9P_GD ]*@A(r=y1Zf1$&h4 -P@{H@~gFj*{uw"divrO@{"8w%иp["oj 5Lى/CTYQRpRj@{ ( -hkkK@~pAXDpl6P`5pO}Jt) X kkU{ܧ+7zl@iQ-Tc`2b) (p|rȄ/ux -~s˵ڐvGӒ -vVk&l@" \s NMgc̈Y`U *NhM O2duh}-齚߇ DDZPk -_ap|jECXơghY`pʀL/qSeǃFIA_K=ҁ`*@q& o-MO4߫XPq[KF@ PC70G%:Dp\&,szhҹA!h;2`Q~@J?ap[fyp[IHv.^7#60 > 6 -[ - U9lCNX@XX@L&h5JQѺ=Z9># Rv:N$|wUe .@{$>  -(^ր^fRq!+:?Сr tץИQK0v/4wSز&ҝ@(P@5c&h[--BF3^R  2lCuScyWȽ6OAiB6%[fT‡_aw|_X`~\`\P9&KVp=ݖ1U3` @@+*A bBHP&XϖOem>TԻ6`V -p(0a| -.f}bbhr0;]t8m( xmP̟ݏ4Z~WV3X\+@nl`OiAi@(RDђv=؁5@m[X"؃M8;C6J qD`i\XLQ =?^@np|mǫ zh -tޚ' -*Z8faPQOp\ ~s^nV~DDqFӐ 症t'@aU7sԆ4T0 0PV!Ve2&[$^u }+4+ZB@^PP`-Tjg@K Ux̏o\߀aQFߕ7Xܘ4ia#  HP,JWY͔H|jX`7@ p0_l(9vG9'Х06>m.6q-rX(94'zF> TjEns_li#җ`Y*.L`"4 cL@@~:W*ֽH[*` `iKX'ԇ9 FG6T`^ -ѢG>TƗRZucS3Ĩ6[n?'׺U$09LֶE/GVӦg0h\s>Wt@@Bǜ@L@x @ xOggS+55g%*),++(-++,+)**9ߠYjpSh3)'*iW@kMDQ#i0-\Ih1>pLIkvS9Nz&W*0X;xshB3F@(c@>J,vQ:YY_:h([Æ*9 (;`@`-@qB`9LJ<`'@[(apHSKCK(/nPqrBTI8~Ft0@+XFA8$a -@P:f.[>ѥA58ރU8эZ à"$`u| -p)@-r;UF08"YN%BKcB+c`9%@Hk -Y4 :觶/Hyp:/9 ܠ4•H\@ - -@ *(w{>vc}(z.@UD*1]S3,wX5F DM , f$t &<״Q.|غ qM#j4@כ,SWИP7H .; / -x0/|V4/U8ULx Pn$ ZMPеGx9,,<K<vt/,S?Qş PMH%@ p/ w o^*#Jǫ[p -5qV?֛P>2o!h4Bk4dF8t"(@`@^E̯é9j[B ͨg?TТ܆$ܾ[%`#K+nM'5w^Oz/8Wkn*d "cqH!ֺV`T@*Y^q&:D CgyEE҅> QV@o%&hf -VHצWKU%Sx> p -@HUy)QnkUj} -_)< -|ogs/u7(bo7c}Հa;=iWϱf87ؚSY0C΅|\њZhx_$lBtXɔYU-sjVNT7-4Mim<P$ntl~tsAQ ; .6 $#iu @ z]/[1|7 -|VM -`. -(>S 1fakc+#h$Ә6SV `}?ܺE#i9ͳ/D>_R$ӛ}]Q5Wb -Lo O8.@(ՇvxsW -h*\O|d&UHKj,*;v&VT Iz\׆|~\"vbт_M"3S ~P`ۆ>0>|) yoW6@#D¡Y -o},T:=,(/[̖BimlH79*@+lU4CXNo -])HNbߕE+?p=(h& FLP X -x&$ݖD)ʴTZ2J [͚fU#P<ˊp2tI/eOYARv}-_uj3>n\Sj# NN@ PDpR큳SԎ@;)()A8n%5Q$kExLs (bkDk Xx, 3]wy׀R縪LO+`{I^'2 Ќb` 0t tPP`-3X|nk'4UB`@P$0;} -e@0wd_^zREmx*{ R_"*rQ$P+@R +1&1_U%MiJ`JQoPtςSӡbmv@'Dk.I('?Uf,tH\@HMQ'Lߚ@@ - ļKՐua$lܐTh8?P#?+ÝC~[u.1ngnpg\+ Suv vYg L*'drىحpnEZ,4uCp<h}[ +Wg6uƃ -؀PSy(*φFp: h;(9jOY 2 /o%guO X-P“ڰ=GoQoJ2oS4?dz*`M-;/yQ &Q,%780ESc +)A69|q qi ~{N׮ _jffg?Ub: 0+|>?;+¬P0c+úNb' n45EKVZB -FWm@G@~H -~@D|@U5`XC@& -LQܱ(7,0ʲz>./@ {}`6np& ,XxX3McL -ECz7U( -@Xױ8 p& 0 Pp#p{Gp$q+lYI~UׁA3\^^- @xXoK -4@5P (^&k)?2HK/qC7ZEl76HP"/i\m`0#=w`Ndp#(mˆ(JW /O[ns5I )Vغ$ GcX0 zf•G&=x [;`78j -~[~w?)}t,2po0Yw/mIbD2~(@$\bЖ[@s=!:\!$  -^Iߗcoh`,&&l7ht\!(1, o$/O{" aI^Kn74p V=2RPҎWi㠀cߚ@Ál -@À` `@if_"~)o=xSJ -{@*W2; J-+i+:x2! -S 4#%t dqv6$Oaڄ -, 4`X(JwK+0"s{V%\ ^G ;*B,f=k+B5:(^O22>ѵA@RWP0 -OZmvh;q(,  4y+pZUҎG}r b :Qu",ٟ{~M0x>% a΀|rc"9)44w|:T%(Z/$#ۼ/dtڏ࿴㐇$ۇ{7$(Wqk -=m8a擣 QL#WPOggS,6Z$--(-,**-.}}vu{}}DwT?(Z<“nܓR2.WM8j>rDݟ:Ex>Fjt)J;`' )`܈5Qd˷#cV3cjË+}kxCL7|ۓ(XIъ]~$':n|' f= 5Ly7YEB9U6{Hכ*T 4mB 񶬁Ty@CkX\ @w4I:AԉZ*x۝#\ Q\P@~HZEUy>']%޿`xt\ PLRL }kb<<*;+qqZj67+]q7W{OuxG/`-B]eB@ )(k1N՝oy?!ۣx@O':1LKܵ5 (S'<"t8Y:%Mr - ,`8St: z鷲-я&(Ρ?`'6mWpOv "Dp${@NЃ]R'~#%./ژ#=Uj*|?7 :4zP0<@ &t@jJJ--!T4 mS[(~mPPnlC-;+14>dN~LK[?=L@xӂ| mRx\\y,4Lh< `Ah,0LLj&T,8V$.=l?pB@iJKP, ,M:qjj3|ES7$Uf`>G# kXvPb4/U8؃ Գ AJP3 -L  >*f,ABf;Uw,.M9$#uKpe=>vsq>탛I^ 6ЌL]~':(M^`d9`Q= c kV/\>z@$y‰;<@\h(`JLCJX0H,PIK [T)-[-wx4fu1_`$ *@7Be+A{$'lh0W콀]NvoL%$ i@P@(@~A@af @aW& -;[a)"G˷\#u-"=˭(i" -h$dpyt \#yh4>5|0ԉuZ -yTq6n Pf9ق酂.tҝޞ1*Wz6~B - t̊{𕠘L>@蠀Ht ^.+b -z>kZţ'm' P4^?(30wdZ I;\i[P' -F&9q^)0W~¯%8$äũw?"6ZmZZn6qU``{;$FPHSxlK o3`:5gc0p!aleLK(SF 1j#Jз O=Rh96I(K3ng@~~+"cx4)x^U8S*}ax%pTq5t?7xS_82|OHp_?XX~ O*Ly zM:ͱ@ ,s%t p˿x7"P_ - "VOTntNOЌ -H}|8'K OİcW<:H8t0 A pF('x8/$o6JۛM^Y-ZWoiP @Go80  !!×'sЁ}P -mn|vBX -l(I?xP$6'cOK2 p7k2JSP@4[qj5Ȅ?w!$:}#+XD# (2Ef=$ƱkDJܷpR=F()2KطjȤyqR0 4X{s4]R9E+O@YZ}]ҕЬF>AA#'C}G`R -Z࣡? Q#?o|-@qAkf8|8 `5 XPHtX{Wdrx:ĺCJt2@:FGXtl蟂w`*@)$HV/1> N@|~@wS'Qpāf훓;Ǯpy2w-px/us=: L0@<GqQ%+`x(yMvq9 L3G -Ø&*%@}-T}2O<>p[p\`v`oߖ -64 Mb{6Nm< LL:$x`;dn$BF=cW5p4 G<@me!,BB)((Z8k/4 mѹ|P$PN0!صi3"R^ - N{)EP`jP<GP 4j\@Ey(@d7JemW7h[T#tO[e2;y41yZa:r' T`@4Ё~kBRX݁Žސ|jm&8:|dVh)%p -̧pҀ -Ly8F.JbNP`vKM4KcVJYlԚv`: -@*ێSLLը0ߚGcI GsѰ"(tQ_\8 *4J9s؏NYlm؈+?h3&R?6{LgHZbacА jCP(L 0^ĻQBVxN fG$plh$Q@XMR2Ь+ ŀU_@ h"F@ْck}+C fx8 !h@x~gOz۬TcW n  :D! dO -l$$~'v"ԞX~ /lL4* ɽys -3(qRUavT'`$@cOggS-76zxx{{~^.墼v:M^@Mt8:s$ -y$*Me@;BTX""44|p;(i$3Trb=@V3=~AZ}"ABX @xlկ)Je[7=^P~JP zfDwkX?P~# q,>O [P p"8!`^=Q8MVÉQ nDK  @< --Ufb+:=ئ/$8vKĥR - JZx;`1#,&\|8Î&ѸWS 2G+GZ U9 -x,(t@ @;=lz=@,v44,WyI_.K⥘FZ2qfB4'>Uu&A-p2;S(Sc /ԽɢL`Z` -C&0 PG^/Cz -:Db(JÒ%f@=:D3R'| `8yoc*~;16@låF -֒ٸ |T[ @X^n}(dd,xns=};p;>h-h %tkw[UM/t| ǵmx" K@ K=s0?-8X`n3ul'>^z l.&_JV(WF̾I@dDA!"pRw,(~`c #S6WQLm.;E(-/~o<:%.ֈF@U|*A`.GXI@iC}xH D[a8Q?A]@¹=N}R$ ZQ{,Uh26 )9t^/y-Zgl(+AjH>V+Y@M{_M`F\ʱ-pLMhgF|XO UPYJ)ZиR(pLg+Jא;ȧS3; -ZzF@a6lA^ۆSGaIZco9`"Z pڂ80AC5^ ]i!OЏ5#n:)džy;{~0IШT @BL% 7.䲬ux,@WzU2X`r-jXP5 `&bm/8`'g;gu  :@?@,; nT:@ -,: kw\Řyڵh=*AZT&A@$%=r QDVg)O@!B=aHXlb`vR l@ -4*V4<,`&Z[ep%kd5Eo`:FVT0 -W @ƚ:y%F8?L4A[`z',UXu'թ1:v@INI'ax   @z̯e# Z~P `9+DV(:A\*:4 -6B$:zJD^@i) N -(2$@@aI!a$:X, -L h({y$b*zu:CP$(8?IBWxYq]s:/ߊ4E@d}I„ =pX00̓^<C ZQ(/@::vL*(N'xtTH A*<8c Eh -T - @Odd~-xk -(AOUk׎a(Y -XpBT `>Ln~)hwa'9l -?/H_+.ђhX % r-S6o5ՠ3!OosFgm:(˕q@:1kDlC`x -:,|44@ .3/hzQ1xL` &5&Us%|TdY`Ï3'KI9*|]\7^\pzznlwFzc^8/tV&AlR|F9rDP@S|K&Nkȼ>8;;Cl&.HG `; -XpϏ4Pԣ *S*^⾸ -^l+#@*/Djb*Q½,&X;Qher ;OΗޠgÕ*kheC×ͤ\( -`^⧬Uq):NGX֡*BB!O_^ -5dXvTV$৉{5w](Ο`f]UUr0wkCyBLsNFrE_*{@ 0! ~{իdwL'H v蒾] 44|(4Q֡$&l6)G=Gϵ?i(pM=u#P}( / rp\_|^Ibθ !/@2E&0 H ^{$T6Z5v(x(QU:1 ~,WWbOY1Q"ȇa( -P33[ffSZ~GU\ܝ\V+_@LTh(@ -"#RnbcL-pWzL{e] -PrtVdbUJg>jx -@z:0  vᫌ5.uUKuD@@ju@P@u@-kS5.@u- - Jx/ NxR @`GGqCp,1#Q&(OggSp.8jU{++)).,v'UxH?OU8zq ET< -LX@G< PN' N$g3@UDc SH* E4w;| `rg~/nU @I ͧ7pR@}$@_`Mc2!T&0 -tt4, zv`BI<:׋tz LG~w(y`5Q[^ 0J׎߹s)`544O/V\lÏ@o- P X, @ @I7{Hd*}A -ҩ3]w,H2%_-K\xdk2cY7x:0\VBXR]n0qSA#(*v FX$,H(L^LԷ/1$e~{YЅ+Nh -@ܓ UWVWGAjv$UMs1oO -TkR6uu\ -& 0K&Mx,\w%Yq34Lޣ*$@`q.- P(-;5x -p}.@lUL`2Ui+WsfÙhC/i|hWW3Glasjx L $`kn'R\oLqO}\\zUSU#4Up],z$(yJ fڽTs!4YJ']0k '$iS @atxN'Vr@YԾoP  B?ԆO&`~B9ϓ%=`7( n-~>D~ݤnLߺ:_@Ʃ62 H >NgA`AZd/7,hIBQ:!0zOhē?9w?S0AH%<\ؓ-w.hk sx-띁@ t ۞+$ī< |LSL#&pq}(xWز -u(Nb`_By2Ior}qo azlj4 C0 -G:X $.W$)ё_ރQ%W`*ӕx\eBU!LF Hd/c{hcƂk\ZPH!6U!Ԋ2ߏLkM#tV^;4 <``@>+eyYm踼 l M57 h|zϦȗsID@NI NbiڃB@w ~q#I#: |+y 1! jwwCci@,@N -t @`¤x@h+'ˆs{lЗ!X=[SQ#@¿#1C8_:h @%c?0Z{.5}0b |$`+ n7_:0uPSDRF)z.B`lB7h4 -`:+V{q8))^x&]ZP3GȂVyWY d dHSί pҀ8J Qb)L8@#^xK`*8C?@A8 $x7h$iEG)x 4&ɭ  ֫D[t`:Ji#=bVfZvP'3l -k:B3CxsHDqg$ֆ?W !hۛy} [x|4@]Vwt}y `L KL `LXMd NӉ8 ]YC#8~um -Y1Q?\18zF0t)_nI0c<_0/n9t@ -Д% - -Lݢ ->eB@p -t)`GGExA^NlƩz0_;Ɂz1K\rwwi 1zާ?KK$p0ا+PLxj(N. T-#%M[#z& hk08,Ep)8}? gK_mˣLZtοqjq#E8)_ -Jd'v~Ao̥s"$L(}R4FւLL:i .OjE̠IZslq\] @`=۵NO#-xE4JZ}~yzRO^p fۜI@dEI`@1"<>Rt6/!pny(/3Ok@: 0{]'nekIԿ(Abw)֛<`S%eAUdxЯJJFI66X U`zj  R:$ (q@mZX*Ǽ9z4oN s1y)7U c!Yb˛}g8luS,2 %ƴkg$+yO[Ur[+C#7.V%̵i\!4+.9賝)Dn~yORHgEwSFT> ;L}k*Dߪ(#4a7|m&k:O$Wz&1/(;| -hd0G䅩C#~?5An&J(m@"3LηbA_|MG:ŭ;5GB7\uttt/&^\~UȾ t"{w猛UJ -`<|98΀A$ptx^cXFh:OFt3!7tB5Ml?(r 80D0WL8-91E8D1A[>:h_464_xPa̿_2 H:hޚeRSmI 'xX;4M#@Pd Pxq9y'Qp͝kCH+0JrW v' $<tފV'][?fNh۽ټli9 jKE'7n~2"?lO R eKJ|O%9N𲗠t@ %zg;=l6#YvdPWJ W*p8[R&.666ŘՁ7G|]$/^:P_D @<@E~jKh>e`{akVGh^) ,5KU'PlNP"ޫ18Pp9J -:P."2hzj@40Ä`a>:VG.ROsVB4p(T4TYEHҘ_pĽ?mIN] & - H3g>I,4@P@;W)KҨ]Z=lqP ٚN -G|SHfXbkK%<*? - `K/=[ -'81- ˿x :}$&05Ib@L< LUp98 z`+K ?Zg߽>L5][T`f - fLVp^8imyzjUZ-ǡ•1QE|m=?YdZqe!`zs $e07&hH h -*f*&ZDgp,=R~\?{V4]˨ PPQmN˳-VI'i` -6hV!3̓ 0AT6rV8sdM:`aPʉ*8r LB`xX$4 JR!\Ͻ\% K*Iq Ԥ N DhLk Pa<'87ьD _H 0 uL -&,L:r~yXv^T@6qƌ]7x^)裔P桃Z@@@UIi AӦ z -xSBs0|d&{Uq} -fAmL x,aP*v`qɴ {(A:Q60jިU&>U| ҶOqgfW~?N] R3pT+.;A KAaB6kк  heN2AP鰈?fNYB[ ,M0X;dk@kD~xe1ӶvpZ ~C \_^Kj,G?ju$sI@ס;9CmY {t0:B0V)@C)AxX u?b7Znu -a4cnhun?JA͑s@ f6~I9o@<{l "qSYIDǘ\ҋ<#Aqc%ys5mɧPv: /7XFB cxfZcL -1A*LzyՠpM+  +\kk&=z>͛y/JjRF8YN`n4Riu ^B2^}OXd85@- PcF5(Jl8XoEgR4,4xdtYyރN^^@&J0WMc+Q٣ioWmV%yNGͤa§ U -goM>zhw Fk|5©q1Cpw%:@YЁF9Cw˥ptUQ{ - d8z$PC %yegA|(( O,$_igw"PUX[rin0[2%]}n8I Rd ^{ X&` 0m4} }2u=5w]zUsx -s,$VhV_!0>0g*" s|YT/]aE?mMCOR}`5 7P` 0 -$q.A-&3lα{DN\]`iB} Y6[]?%@=8 P.'0j7G >>(p; -4@NuRGK9A@OLLOݗe --:L@Y6-| <Ě~*!w~ j v?pW5Y#P+4B=ZsP7+x!1.VH3eIy$@\ļZfgIj@M`is0 cf9@<t~ -&k+<:zPLxPA<`8z삥)RzW8`ON=|^n/p{up1K{} j|L,$dRc5}3” 0!B'MΩV ?iqQP+ջٕ ?=PλU`B6>wBY0SJ/}L:>&[CkB,Rmŝz?@l~Uʇp;)Y]8!ly;`VقN}̩h.^CC)?_:!# ΒkGY:i1 - yLܦr0@P(0A $@OggS0:%&+)*+(*)*'+++.+*,ުf8%m A ƂfWWe%#P+D8\PH'չS|q0d]@R4v]5r}@}Y5Km04@ 4 -tH &jį!6Q%4FIG(|)@tt/'6O$[[‹Fg+"tV, k*yn<ax -(o P,X^:fӐ&lKp炗FY6du,ҞKeDcKK 5*>[! ~53524-MӴc'{˩9`ω!.e$G%H&@P0S 0:s[fl[.) tjTaH^}S8#ܤ~OQca707^ˢD4cUGulklp[,!a7@M!9mvJj2*7(пLwZĥQH&H0頳4LH@`Re:tIؿnɜ~}&%]6=VӍ ˘b?+YIZWF5;X_r^BS^VrO'1~$}if{44{/b&߅3( ?.K-ۤ -W(!h{`_MА,@e?@7x&G54dݷE4 n4&w}& mLg?']u |+&Ǫ$w¶ -(Xo=zl3ݦ>`.34ɖyE`@d#6yB.2O8xPz)`|JNBDK{!%-@WpZGOid>2VEm7̈́uN/"D}ԎYnhcpwDNvs.ʅL~ұRώ0"!KH z JU#AUm:8G}G4E>Z33'_aĞFg7l xUW6\@&`0[XZALP% +c%{۳Cfm TacqoYb{H, -6oִ)M$kv}`s9 \mn@e@1ʻ@(]`'#T_)|a3Z~Vp|`[m P @I( - !|:|KEFl <`(4%Yp3sKxV{a@ -kPtpcVqZtihp72UP7˺[i`8QѹĥBPa0 cAog>M%/1_ *l`$$:HQ7ҤLx~{7K2a-3$@{1$,xЁJ+oaBJ@z ./p~Ip -w3{l!sUj682}Lc0%6hPƎ~&vhXX` ` t``t:6fILܫxAă6!+@(D#G6|$ -R~)j4|C-c9zypoGUj -bׁ /mN`A` P 67ޭAW-X[#\dt ^PwTGTҰTnvKJ&Xalagy0>O(XP0A@~Zf^NSusP8 &;(TTluV7^Km4dK -j PO盍9 "g>) 1/eSiSIHhS50cyO: ( @ t@*⏡Xp|rKzeK &@J85G e1@*xQU7RC+sFѕpgaJ1=g}i)쀝Ρ{u64LP4%C 0bsW&SUW\@0D 4(tA 0@֨eG3rwYƒgYҏd%7LGJ-cZRg.NW0F<.T}yհK^Dl:{*R ;w4 y1ExȗN4 - !+ASpLd\<M< KWkb9 - @,u(}ZJyӏhEZ-,fY+S gucL z \}:{ݵb$F PGqY)#6tI +hԌ,FUڰP -*tG 9h?5LWab${]^ VTf963N~wqTW|Wds,SwBG759d35IV6vS $ 6@h3 ->ơ5P=>\RE04Swvɞ @Q!сGEñ 4:tǙW\O_O<9$2Py=p6XЃ3*{T᧴o_u]J"9u(8UB4lO華h PM6)kl|D%\}!A4^b7j5g*5}kD\RtĻDYt 3rz[̱taGq=G)d#o@cR֡BU\gԵ#>tBƆa*>c8$ P0|W0q{f:8 rW#A Ss- 40>_M1w0 tH hw?\AK|PO'&P,bA(x$@"jMN^WoK_-n>mABYJ%!$&Nτ>8"I|<$w‟[+2^hyg -!* - ij$ -T|gpl!Xj軷BmԷK>n7>xA?@­z>ɟMDHIa0} &4eɀ?+gt [Z98LQbh`x4 >@1$ -OH[A%lMPZ(i%ʵ::rRC,c`816%sM%R(U ?S ̉BV2~Tb -(@hА{״Y~+!= [e BYBHO8aظ{ .٫^<- } :\.iJ[s>>q6y֠#,^5f߱7 &LH@Hz]qëqPF^̉}U()^ Z\>^w-oԊd|pPO#`;\u Xn X -'w4x H@>(Z&⛥Umn؀\^wAY#ɲ&^a@> G`>&+ D8@j$@;>qvW+j؆D4g L4 , @@@`JKr7OݰLF:W@#U Y p'>szįi?ذO 4VB~bW4iށj38 -JK3bL` :`($Lh@$^I"m -*-O -FЗfFAkc#Vx6h|d0Zcn'KK, -l9%AOl``O+4[sp_ŀSq': w.pm~M`wW򙙵8^p"x5Sɀ4@(:,~j6݋ٚIFL"Qcb9Hoj?Y5A yۤN% 7]WbNjܷaS32vD"=$j:3žt)xͫYXb lM1fS76#pCס99#d@ږ6n <`jc(\8-"{c/"퀵 ,7H| _YF)_v(Gj̋ s5ͣoF3H|aQiL7y@n(oqNr*@OW6T N0dR6xò 4, 0tc@&Nj\$Ht.U=cl1u__D ڧ7u}.s5[t3IiP>{(s\{TH(K?kn_<MN4He {2T~@@շOGqdyrǁ @SZAd秔@UG;TP.}$Ȣ6U|c6{D-Lj&clz`fdSɍpP.n>s "%"54pqXN_.]EI0 P]v/iSpV*y{QJya- ̬t` `% BH (~j6eYSXC:Pz7tB%z]ࠔV#"\h2_rxty}S5aށ ~* Vup6nWC4Oo>Bo9I ?h'"ڂa -}at @(>J67ʠ)x@,WULp900T 0|ԩ/@ݥ84>^l;@Λcj1"`3&D`L  0I6u\nPbka?W҈BPCp*WPmೱv|>\*I{i ޲~NP 2]3 &SZԃ@Vh а X -f7`&(njt=e@gi #ؐVz B-s[ {2{C#k5=T @/LHπKJ^V3^`np/( Fo- @@_.fNMa땠 &` Và 8U -@?@wOHP9*B|3/WNڪL0ܽ}^V0  @ëdwJGgR -$gz뙾% <4U5]˫9ýzG`I`=6`9qA669* F`+6ZJ~H0Хw;*f_%5CnTV  L`0t X -d -{'XC`E{oW6A5q& t. е??tC h]. &)=<Tw"teǃAmE^yC%l Ld`#ը -1l[@ Ðeogɑh2^n`(l,_n_u+\G^h) 6 Cc)G sh/+ -UQ6 9H2}G]LQ?H:o8Yc&\e&8W9iE ` 4>_F1Xf*V-nƯ*[ʱ-|' ';;.NaKqF;,/R&\4{*h@ĩoh ma#L H -H1[΄NaZ\,X>:?Bh5L@j׻Ĵo,Vv#b3:,@b9?C$|@|st?jSsr۷yhWW1A 0 hL@ :FB5Tn 8u?ܳ!# Υ~Ɠ"`ƌ3q|BUƎo'u 3sAk$$L`[NH`t(`P| &cx4`<> ?CJlmIݠSS[5@,v8Un(koנR?C@$oXw3Vk_huY7(lkPRCSLM+4\P\)=,:& -jN]O{V˼wNV -n?Tmrc *Aq܇6?vpL~ -= GkOKv]'̻ϗuZ555C G3AA )P@ hX< OggS1<q $*++)()))-'),)6 -OE[k=:p _.8$Ĥ{ 4k, `:LTgi(l}+isg |414ݐvO\} TOl?˭@V"z EYcb\\>5ˉ ͎zfuM}/ioXcq6 -aU9<A@56Y3K$J!?!+Jj#XqVP6aBKUFZnW@U>=yՀcΡt;T -X$M@w>J6h^)=:C/V 4 -\ar`*BGuUoR`} -& -|AΚ#96 `Q߳*]=M& -ίxk?WfLPP(PF -^JfcѤ,:{ĺ1@v@_{_<+$Q*eB}pJDƃ1Tx,=\8KC~Kc;h ކGt^,`8(H|VЀ`N@,@07x]HW~d]y]BT8NY:B4yEq?Ob' a,4p}&N@*%=ڿ]W@Sį`.`VH`bHLt(`X&:fox-Ӭrs=Hn`a"hlebMQ[׆%@P[8AF:8%0>X^_`Fx@YQ>I^ *!6'/XJwio O,aHP$Gd(l. \֩P4khov`o$@ p7bX\: -Hʳ]zpc w)v 5@ `@$If_Y'(ruKM![ØX&N-v P(+/xx.4$3*>Eܷ.~]2r28V8 -7(B_@>L:@$(>J۹]܍r[ӹ8ծ<.* -g KYGH-S|@Fp SM ɹ):8n8c] ˮ%:@clQ:B -84g~48m(,pIMR@˟Ji8@ny83q%Fr8vzM²Qtp\ nlk8cz[;%мSHy@[&0AYn#Z~{{Do  -`iciZ40E|dtFz瓆N3pQ3js'#xټS4ˑcU8rA$`>܀ 7Ah @HLH >:&ABtnʻ e=.HJ8af~TW5֏ozwcfZtŸ(\a)*g(W8=pq -Y!*?, -L`r`: -c+X@KMC` -0_^)] -L>e`gC:B.{)(_D =E̓ l4@ !$qJ%!~Q?#8/7tu:MAZ g p"1m() `h-pMd@O=^Qy p8@nh.Q 7hd@J LCRX,<Z6W𰒤hH64`5;s$.pJN8.%jMX50iG0_l:HpYUYIXuP6-k :& ,:7(Vso-xyA&8ʊFgpwP:O*iϷX$]hz r1O:QTT`d:! H1zH[@iGcЀ ^J7X`s,AZA 7 - c).Up0 T? FA5tQ [tUB>: cF`R^u8\8͢r,;bD] h> 4&^/00@,&L:76)kb.6ÖppX(+wBq(-c/ YRp{Q ->>uқ'(y? -̓~aRث| @@$h hM0U)SH,IX$HH<F3(4`ЏO٧077lk\Fk#HK)%+PMYV]]JXAUO>?~ P\3k8'H< 3r }RwmXP&(<HLg@#A(ݔUWvN>_N߫[{o[(4 w?*'f@1J X-mu:r y@VhS @EHfa3xƣ7N|6|OggSy2='()*+%(),.)+,.tvsnvyyxrzJv-G𚙝`cN.n8F5 -ڻw {gcqzNu_Ev<ީ@0F-L=1 hUR\\Wps%3DG2R' J.%t``h\%Hv:ǂ҈x"ah&,~joQOvuMl#>DЇpX @ǝGsui+'Q(HNژD @Y& -Иpūm"XғI6=<:tЁ &Xx,@^o.w*>Y x*1m!S# aP~"[:c= E/sx4~_n[%gϞ X0Yg8q;7-%Ѐ XI$67s05ug܆;!i \^(5RZܝkdG!o-"#}TvRhDB:t.¬݄kcV^&5 -` PzfůPL?ˈfJR$>H9Wu@)^ -FIF>:ެ,T"`)d{;M9 w:sG]'iVߵ~TBR}t P:zOF Z+l>V3f{\`dwߪ˗"JҒefzTC#Fڒl>p!'>#zJ{I(u nR{*/P4oh„T:aG)~y*h)q+ SקXm 21#.! < 0P2uFx<XUH,8ܜrz\ #4<LXhV!P ^J诩?2gýn %Th:aV!B7;aa*!H 0L8p9 s(B~.!Co(@ <8X +{&8kX<7hE&$@BjW͟7>Lzݰ.GguPBV Zz`y1f@"X~GavjҘaJ OHJL&  :,h -~Jf\mR^Ntu]P`4J <'禔BYqOp;i-A&—D/ kP~Nԇo.w AaڎpN -&@@ @ <@`U_ jyDuhyxL= EP?M@Ec[ E?!p=tfK90lt[i$ZIW$_qh `Q5*qF -MP,D -  1X>POwͺȴZLnR(Q1G@L~A(~z\*nM5yxQsL?Vqd7:C :փf4CN)9 Fh`V1`V芢tX&> kuabdЋmQƘyϘ2a (>6J{g18kxhրUuvso(o!R'\6Ôk8ĵw9̖@ X?gstp 6D+(|ئML(|Lр$@:@ ^X-fsw -h| xo _@(Wnx~=s%P֧erh|Uszj̕2x7|cB6e֙Ȱ;xcgnsNDex:PF Mw/;2  <ۧoua(FpGաK-wuU~n1U?'a(^ -Zh 68PUஎ+ t#! pRO5;wn-_ؚ*O-C8I3@7jp ITtfhDp jK -+?x;@A*IހXKnm?xUzt$WAz`&i#zu dTTf\fL _ -U`/='gjJs>2(K~ʍ#.i[I&n ;hU#&u,D(@RЪS5D`>B? -M!p3IA\z#FW,e݂^[wl,vʧWԣH: k~d rтЌi/,-St4ͣFiߔ'UH_sr߷UDc UB7\p^ n9jH|߭v>0dgKz sZ ~*@`4@"ZP -T `@<UT_6Glv= 0V0̵2aV֯ wAZxlk d -^K :G!%;Xh&$]Bn@&֧i~4j${\pWga`Bփޮd a`R<THE11jږ>[!];6^i 41')&8EDb+YouՙxD &{1(tfJ)cܑ3g+,' -Sҙ2M: F^C1\'ɢ~a`kp ( ^ -?`N$J@\94ZȷT~CLa*gӆo@Y1 ?!d1i@OggSj3>[&|)%((*(&,*}xp|vtr{}z{}wKUsVIcvK(xQ p*к  -9JpC:o@]<򳘯5iaR<$9ŴX&CYtq)H2.;3͝;C,;y*<4Q25xφDJX qX3( * !@3|KD#+>h[O§0@ +N}M_U}V :bC8IhTS.mb)`cE1@=1`):h@$ /·"ƽ> 즘*^ړ|釒&6;r?]/nqwT Z&"#n17,~t'/cSg#z\TB tk,'edjW=*ec߰> ;d/Eі6}_kC d/c~tܺoy1:Zݸ.Ps\/D`*C]rf@!d/q>@]g۝[B-*tTx|f7ڛrֲT\''D)uⲻB_ ;rR,z4DzL:4T/zKLpĎX@]])<:<"ʰP8lF/\,$XΡhdnMnJԩ!KԘ7Q~6 -?XoGp< >}3X[+{{0#VT( NH;|HH`[tU2bB@ktDz\V+cAU|=<݄K«@k<B>@RX+(xzo؀w!ƄdTL %NgFË.~}`P%t;MYJ!i -:"oU`\_`[m%ɧіKls1?8i:^.Iv,\3#IO -~:SI,@K/~`%NL|=(aa.=p %)P:T8^8X!aׯhu.pi|[HHMpA>K\L;GP9Ap~s9MmKAWtuX@D^mSI}DI0o2"85p#/ K 3 (`+bٴf3#=@KG^ : -'-XT7<fЃx=ˡ'$V,eMp Ц\EK/cYţo(\ ʪ/u(| lB2xpnl'CL%u1qXGdޘե ,`XK%N!L^ w P8xgp +l`-@#aUXKK%a;?:gqzUzLA,yڻ*8xY5G1"D>(z~5樳~~5cjq/@k~IPT FҔ†!u;|rtyj85sGU8+9) `5[7Qᮽ9<vxR@nf6CX@LPT 0A(˶kAtr ̴܀FB|Uu qUCBSvXzI;9j(+irsF'V6 fcA*2w5`R &^ ׬#׫Ob+WnDc5<0xjM M+BLTi;؆H-?`6a|%u/¶Cx \0aPS iy?~nC^ jYKc9p`ٶj#ԹT^=mFiD]ZJ*pQs6!G@ Gv T蛸ZhOq5~wn-OZcz*a}D,xL'K ?zH 68iw>%Hӱ -+_,x^FMxEu:lMa2~^K]N۠=i^lKm0TvzKƅ(asnԻ4:ubB~P`< y:]UUxCV,8(YӸc+ӯFcU0j" _C_QƽY`V:(+K>#{N^UÃ?'z@mmzAb$tP` -a*HkU%jh$y]i'v)@^.fohpKĘ?^6@ŽM V>`.P xf&@+Ws}[1* ܃iZHLxUeEp `Rg n*7%+o[v~FTԢK5^Z' -XV0+sZv@< _a5'7dۨDU+`'IA:n -~q'*oV`k /(A}r\YUUm OggSc4?='|ztsrvw!#"!!"#'vutsx{wzw~c[.WpxpU@&&$d T @~ DB#оع8fm/R*7CwYSAz]]^ws -C5GxYxށ-`kd;>@iYz@Z'UY{#aNF 򗒒%&DU #0&>˶sQ؈ӏ -vAQ mۨZ~JT`uD5j:}D=q>& Q\-=/iich ʧ >VVJ pB~+LQaa "PX@P -M:vbRmD1xnh@q*Tf{` 648Ƣc^I -`0<wBwv |X5atb)C˴Ս ]k8%@/A/_3~Gؒ簅Npn'!0b`0ozqQI;o= 5?ͼN&K(A -hhpz  .5f&_k ^*ia}ҙ3ԇZݝЁM(ZrfR_ӅI;c*tֽL -T@9PbXvRuuFbtN86wzK^o<-%m/ݠK7 6&Sɉ<^8zZd1x CDkPy q P=&εbK =i4hN)P%^/,(g\1tO_ 7CotV)C-7*q?8L -_T[%Xvc4`v`:P +S f&&lFRJh^ njDNBP@ @U~20_>}{4:}^e8ogm;6gq0z+nZ@X6E]x6tx~ -z@4:\uzkE@9ec.\*1}=n&L L+/~ӯ(}6}H`V@Jr8 Y`OENާ`%p$`x|(`n;co잋=L<l @rj!k-@{>ntt̀ߛd0l#5XC$PI+/=!tɲK2ZC~*&`,z `#`rj:Xt -7PHNn ?|@R[c\U@hޚNk"+Jơ^A `:0 4'J ] -'9\Ϳ%g%p>~oh_\_F8~cGDzF羫 < z܁R:G"t=^M7NUkI䃏C,n5&'{tekp z < SC5(P A԰ Vph? -0b4+,  >.~ypBzM<8괠%7@PFk -W7^WK+ ~"!pW-*"}jLaysaRq7W~7PC&lbn<GتR&[G .54P] p^ (@eܓwޙ6y<>kv9JBK0'6qe`h @a҈7L ,Oq)Sk<xr'Of8c6.h /y`KIB( ~ S Fĭ8w@ ЙEX@Wܵ -@ TP1(LatL?Ң-(Syh=|5_3qٸ 2\߃Y_c pc~~Y$poCP :7>9YP!%`K.vAfc(N{̲w$0qXOPL0J %RRk -@>-@ ~c म (j<' $8@G4 P  -@&? f6P, Xrk2.sr| xZыK:<sGQ_֨xPV@5 $l7c(M T@PP^K@A4OQ(; X?*Q) /"*#%sh~πHt`OggSC5@,ի}}}{kds-Tmj{ւ܀nXP @4  P( W -C.8O^~~^+By P-3tk,nug, "2PTp#PI1`F Ȅ~.O -/H00+W@ZcUKLp 1g^ kd,Qҹ u>" :N(eM :/Aۀ@eW`g:@WFO}J#`JSe:>O oܧޚBzTDq}ԸwInJYD@ Q@PR -@UVcB9=Υ`H%;'`KO'0 -ho列ƸzY/F&``1 -&AC1Ep .po *8&GhfQ딠1DŽ.n@() 7g𶨟XOt ~ԋc{e .g%Nr(8F>y;4D1~BP\u:, r_ .ɓFWr27;<h^w}UMO.V6c6b,P:t>vsuU]W-휋Kx ѹb:eeV- -l4A +WpҝDvpF2&}Jk( $ -V$G>vs* Sc3OvF +2@tF*@^@5*8VƝ2c -*qaW o@*| @ؓ0w0S+"۴)hLX>cb(1۔{ P 舝+#nt!.d@4]9Zwa#>J:Orr 2ƣ6 }alVbX%g@^ WLwWF+VR@zG׊9  nh@ -  Gs] X`8&&|KPKdp\q -[AuBz$8wlqSr8%Ӭ3v`!v\,FWxou޸ㄊ ^ -+Oh<8%|p@ tst$h%x es{$EBg8Vm=9 a oI=NnHMP_>g} ^cަ٩$}-cI#g@|B4|$)S5@Y~52qM\Y@ԁ m쾚p >f`Aq*aԗs +IX =I̚Ύ0߱YWD\/-l 4ܯ[Fb :@4RH6Ocmuk *x؀-nm@h@j?:8FH5j{:@<h7°EE-AÙpbU$xpb~Epﵛ+(e"!zc@h<t-&g胩>{?|wvW4[ex, "@{8-NSJSQkZx[ŘX3'uP:DBKwkZtx& @ -& dBX% (vf4J! -G@X{N\/ITc3)gS`0s @k4 PrO{"  Fg#a̋VoON@ _S/Z?Gpf0ۓ^Uއނ> aL_$Ai5A\@6Ǝ~-iDG t'`3R׀<^zB1;DG1%Y6р 4 I5*X޿nx`8n4tB@wS`eT &|j(|dyB{oah} i0mnd?"~݃^3u= -<} ПEn0B5 ,`:tLAh-_ʜE˃QNЁf[r/@ @P@Ϸ$| -] ghՍIiW pt@zz"8S3O ` dxP-/^E8I\.LL`}osgR+a26 r|h,@xP5ȿ!쪦.{^:p-W`JjG))*@q|{?{ .I(Htۻ*8b(5Hsh/{x(dY -N!b}H -Z)`@,@,X<5afEBky] p(McB!dGFp@V((,X Xܫɨ҆fgnyzqC#$Њ@㥇2]OxEx=4MVtk{Ncng) -.NR6e{Y1w;#H+&`te_MS1E [$`$sfBj?\:}P^pVHѬo> =HS) 0wb@U@ \G`$VŒoLpum6 0z ۓPROgLCAG@mt\0@LOggS6A 0#((*)&'$"$)#rpyŶ^5&nV}l{N5؛7N@G 2 | -D>ʲȪ6c[cHqce.>([^Rd01?#d2 4`A<6`bD`u?@x: ~ğpd&+.@ -?@:B2hɿpFpnSW)O'!( p<)'DŽLРxh4a|MFI.LҜyX03 ,$~dNIcM`< -PR  5'QK~7;O,wVŬd -V 'ȡ4M Bwݑ\Pb'KX -0^eݿ"f2OdžPK'fj uXGS@ZwXV#0 ;~ot|I`[e(C8 :N5<)L~B:%h|yNqq;ٹ<ޓX% -X݃ ^?.%.ꃭ  -0z۞0pS5 7 p-l̟D jqB ÜOmZ"c޿8  )ќis|n<67>wa(i,}Qhh` $?d=:QR2(y0!D4-G|(bY^ kP O߼njg} 'Xaŝd/q}C*cOus5gj&TA'h F.o6kװP 3;q[L|N|_]MXZ@ -@`쁝M ?ɔƒ+`܁0Lҍ 1 -Pty"X#PA xWAy<`PGE1 .Pu08.)ء}} m̂ݻ -Zks@w4G *{@ˉX?OR04A5Sbeᙵƥ@ܠ@/@>#d9#(>6@[X}OZzHGĔ[ -+S~Q/Vʘ}ui C!hP-]#@ye*uO*%4i,i6پؒ_`h P֨eY\Q(,D%V <@W$(GhYjCV{1 -3&~-Zzaަd -p` -* =% 9 p4$6 TEIhD33@P u_F5KChM_-4%P&Y@:KkxΩr;2 l'_޶Ă :&U>|2|Oo׫ @o5fJ!o Ϣ]}sGVWRg -9t/[2$ -ϱ0`c9Ѣ 6|F:@cEsżV/Wn$-,( בΪ#];e!4 -8Uz0*k-hTC1-K0$ \}be^ݜC,}/ _;(BS8FZCQ[@[<'z$\z“HW -3珕n(͍K@;jI[/"QT fчNYT)Xr9HxI، R M+t BnI{?j ԧEрKE+1"Kȉ_+P5(uxT9>{trOBVb0p2'toZ^)@˲+24 KeɟsQʻԗ&,HYD`0&~0F -LD"G;0~Y-j:O^ HshjG>0X>K蓅hU.-/mSs x** p3@( ֒ [L_w$Z-IMmznO>Gp-l*ciFqB ~mW -^/3j,סC~<׌\HK9e|Us3C6ӌ]c˭`l8UG_͵?J><*윋(9=À;u\(4~F- ;3 WZo'uES @7:MV8w6]5898vW=ԦXYm|RNRs_*w8,7@ד_R=^]f|tdL,i&qYĝ_uw`x=` 6@K,@4&6^BTw )C0Z>?|v #1/wue7W ;%ssqv0XB:̽< w ة '\_Vi.z{Ѧ:Pω컾+dt F X&s$~9F%Dӄ- qَJPW1m!R!TsC?f1{O O5 gpP^?\n0'Y3n'kI%QmCICRG): `)VaEVw2m mD`̂ Si=SAg LRv}9_]Ys87IRb0d:5ޥL2 -㱋GC|v4:P -`,~ N  -ԚES"s#-xC6wBӝ8Pi.kM -؅xylS)׷2tU:WN؝[X$ ^ 3:34 u"eN(dEwH@71ɭՑz*J>D_CP ~COݮ'YpYdx(h>O2C2ɻIaXݗ?4*x(h\h]{sɑBTO B!)anQj `=+4|; -(t8RP[ ]h`G7d  -<`m<+T>2-Rؕ2B!Ӽb-8GRPEXT|, RoHL{~!F,3ӕ[ǣoR,[`ZGl!^Q0Ǹ7,`-!DضX 0n -?GXf+ Ce k8.?j]^pnaPZB|%~5ۥ?p.GB>8CjCxCMcOJB3z#iPh˦ap{wё'xtI(A>e>e|^DRDN#s#-s-2 5<5xOpSa-@ prM|(` .2<@NPJz袠D! Y0 -4Tq%n1s'# -aK! Gv,^/:8sA]`˶JE -6CV t% `{@h`& -@*L\ -pThip|~`#$& -!ØJS %Py.ɷH`' -=ppDnTq BB ( -j`̥SS.)('h5c_!% ?hP:apۘ07 pXAd`LܢlEh =Qp`*po qP231NpJ/3 t̯anx` W+vdA=6.=$9 &hI.ՒLxN*@MX^Ň?D8 -зc^tk5I? @ +UbjsiRUP Ngw:, aX<04jpaw6J>N͈wn9זBVw|I<+(dzÔLBǣ*!,7T -"p`\Ra|L0Y(@F @yR {oEԅGBhˎ2y2\}u),9=!`zP4f(#K ɫ@E%Y\%TIg@8hapem8 LpԘ, X^L-bzC  - g@ gB0*±iH5`!% -Ezࣈ5`< -В %Ѽ Ll}Kd[!0~{ t%1&4V  a -tֹ4Rʥ*f5ɂ?r kp? -Ү(Pm)Pc8 $P JKl - (Wzͽ'l@;؇sφu:@[C -`DQe)T b:dkd&:4<~Y(Vzzc{D쨮#Ab\$|\ bb !J6pw`\YVq-=9M] -=w -"xs148L񋂨 l/NA7lT=zY6Ν$5O#P`wd/6.7.@mC[GB-z^ eݣt/Lo԰oU>ILmb'$Yќt/`&Hl%W6f^j"P[c d/nV>ktBBr"o޷Z }!(FĬQlx:Keܫ\*3On^2w|'Lqo*̝#(KV l V"V D5T3@ {1aq\y -p+Ց3r NU &+t:0 XP'Wg֑x,TxV9: T( -[B`q8`F\f -8c^Χ$pn 'nDW$B0CW`m87-@7[6&8fzrP~+ J)@xHT (HњFjA (4pJ:pe-:0+g剧!ZN&@}o3J>լo*Dc*яw3DQ Xvǃ$8D@$~fG%p2G&z$mM+"<+ݳҁ3@l^] -lW%(%8oc~{G@SRJbJ_0Tp8./+u݉gb6і"L@@jVb, }H: -XH M, -x ޻v!6Qj cW%.ֈ"?(pBePCTS1eO=2p@f^Feo#|\sM"ߔ(K -s$;ܘZM# `!KtDw(\nCϰ9M/}l@,fPN?T2\?n!&< ^"7:7f - GЊ`> -p`FAmbԖH i{'=R4*:%Xz,ࠪWf.t^VSĒzJo5 WT pXfת$@0P1f) Ž'U9P5W9y%0_I0_X4}Bf;(IK/I,@^{V{q(v+IowɫVFjޠ6?&I(f `D0ǓaiL%,o$AS0&QzʂǼ9qNxKXxPP@kwXŔaF̿uޣ-PAl[#FGBS5v@ jʓW^!t!PZuR y n/& l 1AwBY))=mW2Ew&&X mv~` kW\=HD4QҬAM+͟A#VV1NZV -S`KʻՅ?G@m蓷`YWWhmo(5xX׍b @(@P kV[ ZXDSZcY=tU:jLp7 - -q PV\vUU{T膵$VķUp׀ChmC8Kw=&-8&(АVnB{lr6MҔFV -|P߸Rtxk)ȼOVy=m.Jk@\E ,cg08va ;`. |tl ^X2K/ܕX -ֆ С@em -OTPSH܏NlOAx)d=@+ <h=ۡ]\ Am̼7A@UT2aL ~.}E\U[ x -` `An@%=HU#-E?0[cpV,$ۿX`I & -Bp`  @ -]x -*Yh|&!Y? `8>D*ڇ @LСx`=h~{WTPLAZ |# Tc (d#)(Zm1q?N&~X8).=?[@qq@L 9A H K)h GGLI1zW#8?y;A@i|Zi}p8@aG`Liƴbf<曟X 1UqyA LqX@)@]$ y A&0A{T60hӵkӇ ]$FK7?S l`)`p{"𻿀!%κic*Ex}qOPV-:˂J1-z"5'8@mp`葉H@Q<{xDٺ(|<:P,@gfjUPf=((VFz=L /TMjɇ -b&v|$_ywo 699쪀Z.PP {暈 }7 -P СHq=`u("P⃵8&%,AGڂm\0|k_?orߡU/ 5\ L/( z<;L*{G'_,2 )(k=ɬT{k@耆P>qЭ4JؼOxG`ßCɊ쿾lӗ$: -!ΰwqp9JW>~l[j Xpʀ%:{#XbyRodaZ@J}0 - L@$4`4 "yRZ.óbc~#LׄnO^E̤AHjzNc_O:l Ezx@J9R<+7eU?$D_%i7Bijkm}>%'ab+2[gzopx#ShG@Vv jpO(x:CTFn&:X3KQ8BW-4`dZ\!I!U.DZq=#Lpc#66Kld]lĜ1%~z;0%!@';,&NMOggS8D|wxwx|uy~nC(hYPa-z!74[kUT 008Tѝ) -33Q-RvߥMQ </qD\~bSGGa^(~ '=-7]:Q -ZoBJ ]pU "-͍s[> 0h|' 4e,D$ %^002)2ocqr6`A4/!lQV#LpI, 1$p6 \]@,O^A07_"Ik8G?f9JpT 7`p{"h@kHh>᳥ҸC7b Y@ ^6|bS@WE~R|4wPZǛ"@llB_= J }LP+pzC / .(eZ?$ѲEe 80 dMR^P -akWnK}ZP2ij ӏ oN~mƇT&>+\7fœ`^ GC{mR)v:QPJEЖ* DRTez Kʀg -P6F?]OTF \ -> ݃oMtIBj0Ag hF4J<'bL3b',G8WBfAEPցjXI3L~ʤM7bB{;XЙY`t)M&nD Pwꀍi:A[hȬA|0bJ>?smx8O` (0=Pˮ}+7LQb{xGe9p"JKPKlXց/`u ;h{Ǔfv hko7508숦 -$?J06bv8FcMh$S -(t}vPn;]b47l ECFEA(9ŧD]{\ŒJ݉~ 3+CC$B=fbiPf -g"~kG09wsĬm<4h40.ri{%:-6l,:K+ߏ'>(= %`|ÄI {gaԠ`* 845. -C>b& -~d \JLt0 XЁ4~ǴvZpC=pq -_xhx', `TPup߀GA1,b60[/*~9B .Rn4A&&kH @˞Gb^2%MKao7=/` |>5W`Z {#Zh>Zy˵EZ&`I2~:@G`٫9z  ոЁ;8ciG ti܋xt/'[Wr TB^?g$@:X%rT",`Uf4+7+L;um>ӌ}>HtP 1l[O 8ųPЉ{؎ҊG | `_,.%P ҅" t -`0"yX%,9ԇa” R'߻dx9g:2x3! PMW@rJ#1[Naz1!GSh,Z{VC˜Q - f$mˀF_J'/|Cur;B.? }[nm&sݝ_fB1txtDsF$&33S1= P7X Y0J -HxHkn{ѭ>܈)=l7XhagՄnj?yGPPozދ#y vYT.,9hL' /N಺ǤUtd-|R [v\6țf6KѳSsJd>tx0y ->gSg6ׯ 6Q < /f W:;aV>US0uD+ KְD\ݖ@Owfhpj\>Hy{M7D٫7&8lLW:4 ^*j`%.l! [S0m 0U)&?؜1@wg{© \^,'A:3vi KIi<~.֚1+wLP$]!Eb@E jmPA54 :+c-pRU5ݧ@ϴOO޶SPbщgZ#T<ܡ6DYZ![: -1f9D~48G -x+.B`xJ@}U[$d\V@u,okU]O`: `"ơUGQExxǶaTBv/wSEA@)1x7}PGsׯDs%ah> d@j`6#M @R<0OggS9EA2w|tv|~++ˎ{MGUUc`b!d䍂k=vtKV(S_X`#؎:LX1yI$&hS9Ta^\%V9y*&&3H,Ѐ,`@` hd(㪤 {$[G+a"hy٤;@ Jx.)ۓ<{@3O] Ēى4%ýeNR% }4NBo2;q|+(Fsh2s<|@3l5`;Gt`D + ?x\5wZn{32,;T*)}6d(@%^Bt+(oTVDr{ Qq_H v D%! iVhYK}=U)a)5aĮ@ sN:@۞;&Z{-]jWЉ ؎h@ czGÄ{4Th ]Wh&)٠@%݁ -uOCMtI; VqQx& ->[&<tA۶XGh`ȶIPI3/@ - $6`qk99L9!>᠀ag&'QJ -;&0ΤvP&< ˎ$LBe܎L~xְ )i>th@ -Yigh**>9Z -PٱS>OucTP=&m - J9 -Jڬ0A @L4˶ R쇂Pqp7h9bE)|f/NcSbu3"vg۽0>.샪ZSwzo눇:HxLL`,@B &`>˶kkfWvuTeR* -D-;` jMC'39^pr˫?89KY6>L̡ -T+a*d@tpK}B - ~g!l -+sޡ@_Ȁ9)4@C!8d5 Z} >0jnGaPQc*MBi]AՀB0$ .{ٛ+u95\Ă7 $[D 3 Aa} -0mx. `t -tCZ|hY;gJ)1L#7hle%T$Lנt {ʡ\y{ˆ J4/ ] p MV(@<U7ZfYi~ -QְBB~Y`~W{%֠ -P@,hLkN[1'@(!=DH8R@w0RɻSuU ]`&LF<G Z޲W8 pT. `|JU.Yh -t:@@@xL :T!Љ0 KGF}f -'8]A„[t ">p\9>G8 -O-M-Qh -,V (`txtPX4 {I = ^m3i_E:,<߷;b*v8U74?R0z6;x$  &Ɛ7Nɦ-}WKlz#KA+jnfCbF4k A(&Ѐ.+L.b0 [$!!Q9JZ O2qNv 򘷯7ZfͰĜq9/ꢟZpNں^Ԭq82 !AoL dAw]P Z J;.~;"7[ .~CCU6M ,,pM(uТ`l4X-WgBߜ_ ߑ6EtY -=b)ae=Jfq(X ӝNl4P,g`#d`>[NWT Ap{x:w -t R4hB8i-v wA`6-+#4Wi|HGhL+y[$131yZey򉬨}$Х*,5;aiy 04(h 4 > {ʫ+&COﱁMG)!`- 7}(ڲ v 0|,>S'}mSZc&!uHNi-H3"  -th g6ʣq=BZ,DIj?ֿZ_2>sʣz @D]<]UGsӵ|BV5^PW=>ȴoklGO7X =q^<@5$;cx -QtIf"(8}F1? dDk+pf)Z;db@X]e>i^APWWc‚ KQwJNۍXmG4W]|.={${{Z"k3CWp9yNqW7d(-'8aW[X,gy3봍MkcG.uQTNgCxEG"M-picWYd)<}: % t& ,V؝hQ+>Iߴ*H0lTaW9!Tݹ,O@; '/F4Ŕ8;Z`yyo6$к%,;6n@FV@BFw;W*ĢrL0%3$ ٨m&ȓ&R mS9J<|:P$ ApINt(t OggS:F$I"+(,&&+,-}y~+*~5 )4VjDB'.B{J}zc_(8 UeLD%lE 3:9y}z3 [ㅃ'|}7 Ugn@0>x\qhǻJ$ GBRA>= "hH<N(@>E5/̠BZ[ NPbG =x^5ZT?p.s3a>kl^&ŸU8h -qsV {ǒ$>g?` -'ư+:$iw79$ *>\?BG+@KzG2^]WM0x.%@i4v0q -E.7KB w8j' z*5VOiB+aqjzglCG%Âֲ%ذuL/ h@EР'" G2 4i@~EnK]Ѹ1y2=59A4M1>*a{4 O|*3-iX}8٪_}0] rcn\7x4t؂x;V40`.$Û^+c] 4eu ^⏞Ƒ[lX0 FX-ʩ<!UpQ'6`QrbwsZ*L1t`&_H}t0xh9UO -w -|ps~S N_4`'kȾ.=1KCیֿ0QRG[.+ +𱁇`JM .h (^c;Τ\l<|Ao SP9޸Fu#bG: ҅Hmu@UvJĚ{2m㙯QhjcմϤa,ihs};vVFIՎ`@ВH\5 Ygkq`q2jv !ֹ9,:~oXFC٘t[{Oqtj(c7%[EC'4 ` !zJH4(L: UpJr&`旈g$g -@'Š܀uk`x -M284HQ 8BA"'1 0kf]S;NRCnn5bMY=DET'6$_N+7JS >=yKBpvlYnz<6{0b`[)㌼hL@]! BoG +N\ `^Z6V/-2+{\ $ta@?Bfd|Ă@ iTf7B.p?=@XB/>ټ_B.J[ pQ; qS ЌbSP zFg/{ nNHGie*pZ#,)C=ϚWb{..D:{m{ UUc\Q(Ќ5/!J!AkS"Q`t (.@]CS@LFrQtE3(SǃRjJGc߷ Si0-K; iք"x\A'xl`͂"."g -wY߅1cѬP  ( x"4oSGtP>6ke4o5$@tDf: z;|ƚ;+*7™g1*`P+4 -C%e%~ 6(Xu0(GAEBrj8`LxXt(^ ;;ɽjX4$%@TB&DJ=pH]V⽡1J$<:'U^w`>&$Jzv ܆L< ΃QW&G:T4L^ /~j(Gdjt *]W#>9U qrukiⷛislD\(?5V)7c233fQ\л VƝ60+E`6[[ۀ_k'+!qY$~ k.L+QPے*x. ipV# F) -LTAfE -YoGB=_17 Ö&v.ͤaq6} nօӷJ`u0'hUjL@$@~ wE,{0ԃAPJ '+_-r@Y>8E$x Ǔ ]Nk9Fڄ;x&>Y7fL s0anD8[mPt(KSZPnlApm ݺ9^ -l%pc?S_˙`%[qzU-!PSwd&v(峅R|֦A~r 98PT"@ ^k#J ^ =O} -?d^7a9,QUL6T5-kI$@,JJXkս* %$GC)HFP;.n~2H+ gFFTT)0xh_5 l'XML v‡tA#6ͱ - LibQjREZw=V LPE\Cmt3IUnUT/ 'ڔ ܢّj tp>#d%~Sr;a,6t 60tXX{FIo%k#<[8$˜mm%GьOxSQ+!cS#csHyh9W#DB<V&GFژh0 s$LaOכ -}Y+ = -) xe5)Zj,GI6>t :ӟâc[0UR;Gܴ"eտG1:NuDOߜ&Ĕ_o}6ޯU6 -RyC(O{\;qX -pU.)/m%a+ Qj tP\o`>0 : -hQOggSS;G:%}(&&))**)****+z~zŚLOS^iU c4MDJ@*ư[lW;=r6i -c&pUx.*]TmebbPB]G]U q6+)0 6t/,D{V`<~:3 M-ӻA0PJȐh>!f_eN DZ`:ÁI!kfbM̃%ႛ)]; 5P.zEvvG:VDt~C!3'YXU4:la0 $>J%Nu2|ncf!pX_amFFů?ATc[aY߃lRЏ 8x:4\zU{԰a4*fV0 x!&!oiV(04gC~|.[ lr*@Sh Ѐ -PtH ^Z6fGx!soAԃTѥ!ZPIT.AOk '\B._=2 pqdC+9Ho18Zv86>#rR(`AW$4eH -tEM`L@i,T0K{0Gu:";(С (8aE ǟL'ѸE]@[a֠:D/, -`:ږݧfa* e%DS  sGiٚⰰAO#ܧQG)~нކv,pi\:ȭ)1 -C%:Mm5[ &4>fUNMh/ ϡ: t:Z -D_`@ -TR5XA7J; -G -|t)9 &{47 %ZOр&{Z BuUƙRQ0>f7hKOn>1! XSZrhc @F*Vn ]Bk?FgS`Q - e0k`r$<峣@B/2 -mjQ((P $t@ $^F+mщ7#H= kNGk!@/eBzyyO$;S3J<ͫ R_?";/61!8:NF`$лh׋m={$ժ&ܾ&V%E*vt(H<:5𷆥p7LT (0sB,$d/=@@o_#`&G AŜvE̫H&l/>Y@ -@J:dsK~ZP{\w?j$ -@5OOf~ߣߒu\PktIo{ʉW, \wau.B@QZez-s -Zd+$E|5Za`;w -MTE_\}8|۷bؿk:R4d`f5$ ayosƅ3z}G״e"L޶)ϟ7udaBQ^d /> \\CiWoe1v4j>di r D׶|YYMœyvs{, -u|?3~: эq#>ރW[:9G(Vۦ.՞qջrw/xzQ -Tʦ*__࢖0GAm 0MU ΧP4p{*#FC!靯E Лh`h  LwvxEc@(UnJ&{_UU,q< 7,Pucf,L@V~fzj6Dو[XyMjyW'kaW @Ŷ1C_m0z^/ޱ{,P)P%"ʹ\'aۑUIf)'n+xЫJP>sm~ Y3T8S%<+A:  Lx,^ʖ-m"Ei[iFlh:t H@X]^F1fjˍ? -ɽsۊhk0T2S0 -,hL ~JfRKh{~@.h -@X=_ed1>ʷ V ȯ^4mpS14ȥUᷕ$>]%6ڥ`jKMX y/C[m,`b: B)f,c$XdOɟnyЕvz`"M0c|chAhf wޡ ]U@y!eḮ65+$>KrDY[Ԫ 哵9" !,JAgpl$t@:ԟ͔}W"kC߀ bОG@[lP8/a{hs63> fs[e֣[LJ{IB:) qJeq\?5c:+3/jBSz;Ac? .$"<@XPj6g/!ݱ= )+8[?dϸdށad0ImJw0> ki"jO`ga3H1 :XB - p:0@U^:cy@MV_Ż,:,;)ʪG<|y=b\|&@"8?'0Lgx 3N?`كςqh3WF&.4]G@V,H}wb`(0J/-- uuV|p -F4&RJP5 l= T -޿Ĭ -L:4Op -?S#>P0H$7dAH^ zh$tEн@`` -V - SR-%{2z?Ǚp9s$=Qya#P?)mPNvWk|Y5:h[ V h>Q8$q9~n 8LQY6ѡ$@ >:$Q_4 @tK<,O>~VT$HPy{(^ȣ7ټR#4ӟ.&4@<ѣ Wyz.eʜ{r@f),?g?T@(Rf~nbP(27T8$՟w@(֞c8n5ehP 5OSP<;d -(ڻƖR !866>=`JfZU$ӟ1; P ube\\6 tL`P\Oqu\@ hc 5?+B|_́ w dOZ=F Z߅y Fhe=:Z*&[ok|5{{ѯk9\㏀jێWp%_;8>oHJQ(al1՗hgc;T[Ŏ]:2ث0_AC|w9qn;<*((@<Iy 9o*  :H=`-4|'L(__Ѡ4:L>KWs2[wtC=&8hI?z ~\rGd-1E]ūR 0x.Qx:sK!Z0@`hLi -`($[v[Rk-5{XuX(bsn:tVUs|A]UŘ$D~KfHҙ3<۱р9 -%z(xi| % $P: L&:_4H$o= }6&xPb}gؚF?Zɒ^# -0*^뱍ol+i2V՝9Qv>e4S#J(`2 -9ps?qE`I@@h$ ~LtL^k{#r/Z1{[~h?@H< -9_M$=c:,hm.duxbe -&^:{|y@"=7tZHWF>'w$HxX@`0^:NG2*\'4o^>/[Axn*>Z - Ҷns9Q_L)0N;o(K_L`7:#Cޟhl0$c@@ -&&n;ͽ- 053دb"2@73eԦhǓlU?PbޚxWƼe1a30p&b1p}Q?ɹ_ɫX TY0:))T2fRh@((%{XZZy2U[UOs:l̥; W#?_7uQ57!zyD!'\ s`%V4WW N THXG |lN{O9Wcl%‚`PCwk RUj<6M7 z+gAk>YC#dO}xKF3 w0Wk(!H0Y!ZBχih@!~RN1EFL|.sƫ0w6T9h*UY/T5):)|r c2L]g@3ω^ND pvV,c&04ΪX4v+T:#p* &xH^UP k[C\SXP `+l 荭_O*qN$؆KR@oOz)eV !Q X`pPm -Tyg]! P@Eӥzo{TGQĖPxN@a k0oPY &F 7 ` v + c Ju;@rtp2iV5ySU@dLY@B`$4V 궨Ä@% =oz"$B6.SO_f}N<zm=])[q tA|&L|R_;p|]!%X}Ud `=7@8+ >|.Yŕ>)*l-{l%[ l`"00WB91З # -J%K<o0C:P:z`@xXH`,({t(Zi^kѽ *E#89n+U?j-xKyZ*4)' -&SY,h_5e\ -AКF/.uVeAb#L@,蠃h,Ht@.C'K^O]6{ ^7#l`5 xw -dF5* -c kD?Á( p&8ca'jM ~4àt =a=L@`3evsUs]h<`kɝ X:EfKV!' O"8@?p4my -dls>bũ%:i -dx^krv\9x <]<rHQ# 0@{ԌCS x4XX*Bp2&8 `OJ{ -H~v *XH tF 1ޱG^`a`N–fJ8[=PPvru%АZ=0_sa bx6:G!4 -~ڬw{ҿ=1>+ۋ)g&)FU - L܋Y(F|rLR@;S(Z-?c: 0pM#xj Ȱ3KU# 761p^f[MWyٝ9^>wk^WԠ[ITvj41=SH&P~۞}EhJ3xݑ4ŸAD>n:PЍU!F:/1'W̔tXlBh2ƫzVY_ 08^] 0 Sf-,''X>3Ya  @/ &OggS#=I@/1uz|~x}v^ⳕf|Rx~BB - -@8:E}KDh[q:`>ࣘX1\8wW煖e-su%lD-ŇCݒ" =i;p?WU`s84бLT&pl{V+hJ}N肮K;`:h:Mk@Yh1u+Q3C;qv7SUp*3&8>JܞmV6+9 :e,0$ 4bMG0  @i&\n{Kr&~A/J,nxDY {WA@^ PxUc+ d9V{Oz 0:o^ -_,V6 S|]: @ -@t[WLWG*s1ֵxqGȝh<CiV?~/c+ۋp@a;P -#h}rpqN/uG9% ,^+g>>slý 4:&{WKH^EzNT`98`(;]H#GxV8Xʫ <?EIz,}N,WNd64M]b & @WJ[ph! j<PʮG;!R`: ("RɧF~N~%|@]\yGJ%Z6 &L H;鸄QpI[KƦ`ylesgwv^T+ĢOۇ Nn#?O](68k 콾Y(kNi^BVLP #fF k@h8,]Jr+xlp/[hf -K[]@UJ)kV(\bÖMCXޜ1rD)uEf -@t`Lh`ޛaVa|x[^ZnMj@s4 -մàZ0/]A2Y6ْ"~O |s@E30̿BL/Ӹϗk~"{'G p1&h`XqE:'΄<V)3Z^\dPH% |S (?X"Q -ԔL)"ۂ$)#V)vu  ݗc ؏yDh^j.o%2@P0 '% NspAuPR<@ :| `oB'N&']. Ps=s -s6` @b3!Y  -N32WO -tM4=p%G#@ÞP+#oF~O@+ǭr` K?y@`& >mP'va*^2fKxAf&X$!ݡvBmAB-KEG?h˂m ic.OhRxzK@O*$M T@`'8Nx{=8:\,oC!DP>>NCy`O P]w$ -؇z`'@Z= @<>gMFKLhC j{%s8zduB"zhY@(GYI5po&iϏ}\D>"6GzDo2*NXoH$4P : ` > kL0C?I8g#]):mUC1j}a;+8* `Ru M0|\>g`S'Yعю`{80Y~.NTe!8PqP*ȐΣ"=,L P\~B7zNl F<@'J)Q+' -uZ@' -6uPW{W>`ª*>0ڹivfeF ha/&XHX:,&,K("CHoH{tI;78`iTHG׋ !(})0`U1B` -b@(t)@ /=}ɰ;kj͐%Ήoi;. @ ,4L kW85IoZLIߠ$4";a?@5@Z -QA dp-Qh2#r+MtpPYsLz`0& @`^'wVB>^%]U?tFA\F S1"lQ"`H0|؍Z5|5`r c0 ݅؟rcEǽ.E54txL4$d^ˎYFn&CV5 dGJ# !P鏒 Tj>`)p 87陎0 -Ε@G l9C7  S/K9BCѻ ->6 [DXt?]ሽw <_l -]T \* 몋sft:֒pYǟWF2|>EԞrvff6. -6عOggS=J?u!(*+&'*),0l/!_;MS5v:5NT Tf@xY`wگsF,߿߳ 8LVdw{P[#CE_%>X P?U**ښ;x9i.:=6_UC x(`@aAb'HUx 9lTjGw ,xyn6j6T& -WC/H_y?i - -&.%ͦ]rUXl -h+`&@O8:-Pp=zPw`pg?p`#=UfрpXˇ?? -l ث* QHv#l 0 [0h ^3ܥ - -@m1:} DQx[ y~'E'KpVE D e0J&t 1gXf @^k W$RR{ N`7 gD,k(ܽl xL`@_GYE8;Gy@K4e^.*LTl&VxN  L&$& @*;W͍7cT"q 7$U(wuEk5أB@ - / {_ /W@-J`VUVܹ - ;zɌk| 5( 46@(,P ~KWR6E;$[[=oz$vz,Id#q O6S8(ئq|8_I@ 'X,8_z H&Nj8@<A:&@ vZ&w!XƼ,`G+S^L0A@m 4|Dd]{ f.oL<`#?p:(b4 a`n,gPNi4,HP 0&`|SsuOmT_C׃]7(Zq#d/뙏 -j'VULK1pbFbVhg t&.a:\@MB֙EM?xl*PLG刟dWʅM P i/7NjPKa(E?t+y͢oO7+(o+%pN,\۶񚯫XEk4hxe$8abzWY1~8Jk sz%/'ϊXD(b{G`qڳo|kw>)`xXklJsuŭ.*Go*o~}y^yL|% 8*AaLFQnz.GgS'L#@h$x@ ,1jǐƈ#s7C"T$' & -eGi2v!J@_#M`% S@r o _4Z=u;7=%X/,.4RHM#,b -=`nc/`&*>zϖpUR>M=zC\B @Dw4f^Ӣĝi) p/"͑[6V6VZ~7(d~ܕ t&C~ÃNb;ܙ\Ƚ0Ɵ ox&m,ߪ*QFDŽ3 SB*8d,{ hGo!8  d{f}x-ΚFKQ{n,Д#wP*F2@_.Zv<Ҥ %pf;n0&6@wmínRD P=8g{ޏDnӯ -8Jk& ^&JX>kx=LR]Kzt 3СJ f URĹBO -`&O -OOU ~ukwC9@aV i`K&% n ?ގ4P < h >KQ>np^ l…0P#8u@=׀ -%g:oCk||%#p}ppQӬbjpsi$B*ht`8$4 ˂R@k#l1+)Vbڦ/%@K6|br%Fq:&:~ ݃kxyXw=E]xJbgۇܼHLpK#X_ p@L'8wT'qUIl -$4<>k&ZE.-i NmnCcJ  nP -y@8  º Ndn<:x_{|.lN{ho;h#˞7JpW -p:2T 4vAѱ -`^+᳾ơvܺt [p &8ma(0ǣܡ܇.S4>q$f:ܶt霠M{@lE{p|ߑ6MA߁4p6 &>-h@ - >+e914m?4Z)|n]@x׉T n~Ğa([%A, KMBX ,"Y~1AQւWn0gT^ `>5ӟ tݓ}o)<vu:4M8TBS}r% 4ƣ螁ZdRvlhua/.!gg-UbLLIRAl$p?|M6zE4#+K`3 +ENٰ `LX_A(2X$߰f#W!l8 fvrAfCum4pqJmf!۸M0Q]-ʱP^EwR$3-pFrC[x(XG3mo w>gbiMevvVrG_!{ Z=[,ՙL+T -8M-S$6 >ߺQYi4 &x@BGOggS>K,=&{f{Th{n0$B-MTp$Z1zIwPv5~@(j5>`DιŘ%hp{owаp]& T_p f -qP4S- L@r  '>w6 ay\BV!f`#(EjQY9|VQ2 0, '3S~EMSD/Vf:NK-IlAcX[Jlo@{_{˺׾aG 7  ~j;1׋Spx: l&A ~+AZR`It|/.%߸Tw1 s^{z;V1O@ۃ&!Xc*"8&NRE: 6 -Ĩ!4ͩHh&jRokf Eg]=:50` 3N@x8ŧ` -#  8 6⑳p$3?-ƬTd( Kak^"aN9 ) >m0$@bXC# t<@fÝ"\]:P -\`;j+ Tg mL^ 7@T >U{$2[#aTbC6BPz.CrH}^CS@fWA>!,eZxlnе9 !C``TT HX^V6.%D_3~;̙޹kO[{ yr:zKf9bQhǪ` A@X>n'ce&AWP 4@:YQpn (GӀCRIu?m\h?o7ّ=`CmDy#f%Oi> UEE8*86jx¤ t@.%2_n.`~4@~+45dDc.G +j{aOm4fO $e LY SKf>Vk IP -9nht6z?@}|:'\ -xpDNkRKќ粹?DeNOoe]&80:[_eR1,5>kE0][e]UȄ>DelJYD0.*_ -"82?I~T×gpcAbnlX -5ͿҾXa `>k&D͔ p\DhVK[EOD6@cKm|MFIT:OeLEMcDs\/?bOY$HWr -'Ta̗@0_3_M74@bkVX qK4t'0{hZ"xY쎬 B -AMUROovZt72mE_9N ڔ~jN_֝{ՂX 3StP q<@Y;mcȞsJNFȟx`l&l=w4;wYpw5ҌNsąDB焠0V$xUbB#?~) oTxg7}m4dTtEa*VAi~I)T]5ګx޹u1{ʿ{ƲP01oӝIO\$`qe"a6c5ЄȝdؿRDQJ ^f݇ *j[纄+ ANL &)Z|Jĸ(#B2Ώc\'v&P)ܑSHX@tR<\p\Xr+ o$9~{``=5S\ U  0FKVQܗX njN#JVmlG$Tu)~*<i2Z؀o>b3'_qPXc{3G;*(_6W`F@#gPD47:xH:MH(wWQX /TNRJ=y\vE9)F| ,C!n.9gK -]*X: >VT@ѻ^#pS=\@l^7C! - ]~/@Wb$3evlTqt0s[1C}$E~R`ǡp -`D*3$ְ $($'`(SBNi*I`kHPDYuaSX@E#} >N8|(X= ]GAsB5 -/*[ - @ޚ&{"(Fr&x%& w@Sa}S5Z]4[6pBt|F2 M14_|B(k\3a -ZjzOa-h< zWkH(kރm6 t: -KG h/W4I[vEÂDxۀ0y ƯS0Zf(T[½ԁlX٠aඎ#e0ܱ54@`%'@( ~ o-/`/}oG84:"{{z"#C5$D.< 5fP ?@LY܏PQ.SWz_?~  N0$/`x :ǴQ&fL@6, lT#@A[w_*U}ؐ>5'c~irĭlbdxAE@{:^#Hyq -,@@W`9nTs<p_ `@@7  [ E:gPQW@;10N"[> >MKu2}.v08K]+@ʽ78ll -hjbBi1,s fZ=XITQ)LAaUii% b#u:B YF33`.OHW2- 7zG \,` />lÈj{T=dօXL+Y𡨡Q -1з -oZ k@b'cgzrM>"\ y4@;Bc I{`5Lm&Ch m0!LeqhQqYmbjQ:E+7|5t^~lP_qIsӕ#ƨAnu=*XۑD*Yy4S5@3bRB=h OggS?L+}|r)('),/-)**,,,/''&$'+)0ި% C&>[HpOp@MM,p|0_!;N;2"QC[YIefQ[7uu`dXs6o N{UWme3ѨR@O ~04#ѻ5 4#{YTZaY&Wi 6Fz -肎KlI D:>?%%x!n,MIFAas'! x<1-ο[90՘CQmqwѕ#xx:+azo Vyiq8p 4pwH hS@5`Lp q 8T -X@t<<`%"I&z0F`L4c4`e)@hMfyj랎ǗI">`Jǝ3Y]'*_:@]>8^Vfɉ`?xx|$pC՗TA68ӿfgFI?0 @8OlRh Q`&$!R܅t@Ri4QVZ|o"RUգ"})9!Pn;&B_7g*.w#jh*#\` I_[J&\ =Rq 0A_G`5H? h HU@>&kIK!\i<qt)5r8?ٮ.BO7:@@fpJ$Ns\VlBhAԡ170T *&8 (~ۦk -Kv6tA>(@ `X9 -*/]o.]kTD5Yek@|9{.f9]29j,]*Pw!~  c6Fp+o@z!8t8Чڮ -9u0Th39 N}/V ~5h@Dknf7 HHbOƪ49L=Y@,F@, \UcxXK48}S=] F4Opx -;&~vנŧ|%{76` 0'h!j?YGT׀ `1rc֨æEVG]m&x }$ls)"m6`;xN06O;#:ޢwZX!&⯉1Pv]ȹu)Ƿ];%0pJ6wtp d,Ll/Ƈ</˖q7N6.*iݻw6\W9EX4e7ӕ۽&k`[zalWfs -@V.OVvj0PoTOzj$i] MFz'š^+dυ}zS~/Ѧg8-d?6 -}7\O4?o4XW\Qg ܡ7*/V [@X'dcz¥ы7(w&dZps8}[y0f뺝l(ş_ klID<`.5~KZ8^A4P g8Ac - R%`@,~j]th*[Ex J*tt([WUrAid~KD0Lbπ~ZRW&sC``a~$CWlYV!%GNx& oF'P)zt(S~93>ozd^dN=x( -/uU?M.Q6y-`]tൔ~ ؓ"8q xh -~>?YJ8=N8O  t<@(d1K:Y4U 0Q -<9g((O`A=ҹ o -Ak P(6q1.@l6oJppp0oޑ eje Hj $V(((Y@v1AdtM$,~9?GxL;JC*p+T"Wln(wpW9VUX j&ܫր1@4@@)V@LL\r#&7*D_Ix -h@,?l,yϓZ<'5<e# 1ԯ B#щT=c*P{vXp?>^A-P<3/h hf3!Y#)F=`:t[ - 65 ?{:{CHX>GC['اg/`u\rrp] ^>n&^4xxC6#0h@t#B ?5 %L/0{ Tt -hD2_Ƥ Ƃ !Q6ZG ”$7X,H`@VXST5F,mi4џeo/Β$_}ҿuUtG@ڳ\k%,?gk߲_ɥ+ (U^r[w-ٿeY9@5a/_h.<1]q=x<'[v A WSz0]֊ ɤT[V>DlS'c@AB #.Uo -Don۲{@  ;rVD>>Zn2+TE:fWk'l#yCuQ A@5X89 o4Sʽ`Z!`(q ýi_QZQqΦ%@DྂdܶqW@$Pp7&uP`˿ODhP>@:`#xX$v{鳗~|M!1OuXaCB_'>ೀ+hS>{䵉K/4Niwg osIhWA^}HF;~jB{)8&F)~׎^i皝:%:~F<^Zks3x2y=qUM!W *+u 94q֯[td~sie/sE@G L2˨;%`eO]\ x@@<@ OggST@M(z)*,/,-)-(+*}%'%)'&',^z)<~UE)[n"7sNXtqʹǹt'@~A‚">G"^Cb,+ 7Rv@@UWs 70GS<4%IflK~=feG{I_@( -p߁MLv%-8Sӯ ?M<ãCHWvLBS=r\d~[ CxjS$N]ߦpMN_c B;q'@Hk t*đJD2mCE Ը6A࿼AB>(Hun[F<vqò0f>_VmU'{*lE뿓AY,?a.,{tJQV~V;I N荆N6 [E  ]s $  &7Z VF,a`&@cu4%+(Zu!ݍXa ~ -iU-ƖHI@s 1z POTw/[ v%qЏ*/"O[d7F#.W0@iI}Q4a)9t 5z8c-C0.@/ ,\aPFFp>l~C  FӰIʁQ˯tblXl*+ڨ190:әZ:4l8ەݶ@$ +KΊ)FY&GJ$5fS#>[(pF]a>`+7 , B,w'dda.2]@(MMFWXg5{ -Ƃ)0!H'͏/E,<tdѣJ*%GCUT`p4b"V,GC`ƛ@3ES1kь77u.KFU2(:"<5 c\ohVMcM hN;x}Y -(۾+X" VRU@/&6OARP?TTq2]gdp -zej#Cjq}͙tz+͸7wgf3|ٗ3譽uF -NȂ3lxІ 4(>;ivޣWԠ@֨J -?:Ue!E& x+$![e -$}q!S_Gy#sǼL:\W -hdΚrz A6-v ^ٙ4q -  $ޫ[ʪ0ڠ_G Xh4EX?) X2/0ka"|/kπ>W婓T/ü@$Y:\" x4@ hXH$KRP`P#Qj<@ A @SĴJH( - --.fXeQrJ$lb>;gU1)*ů9ϗ <Їs֡L`%@60:X (H dĠ u5:S+6vL+(iRxx~3LEwj}2qY@uag~B)5W]֭F!~f!EEMq?Ƕ-Լ2.zpDiP A h里tߣWg0_ΞH Et皆~1o7n,i L׹͜T,6'`%Mz>ʐm&ͷJVOu lc&}M}n" -@iSwp抎$ex繿#EtW9c`4sTtnќ-}C*lg{/j@ gǣb / Vl뗁o~WԴ}=cBA]WNƭ dwA[W4H:m<[wIZQ41Py@1ڪwHU-Yni6kV:6ʴ<A%!5 ֪&1[EnZBx\J{{ppDS l7E`o)5Y (Ʒ$ h@s:q{݌`ǀ(L@t@`=(<<ۆ.ѮNh$oZs0c- I gVzc6+4~Hh; gFCc{K -f&[{@FlJTT#`M5p=RP@}z?-(RDaKt@ !:+bmII1X@?r.V:\L@~ vJK -<6h:< !Pų|QpoQ;@T}Ul36s$\8LJRt1R\2qfKm|/Ef G0 P@HXk؜M<)qJ -:i Ӕ!#PkiN~JF~oSx=zG{3{8%?s.$R (yG}N:EiN# fPh AHHH;[a\]!)}zM<`rP(v04Z֯^й+LB$v3|0pw/76oͯ꼿q0!L.\O@hX[{]V84$ k"@\L$$, OggS7ANs|vzy)))ʾe.tn;y-kqwZ.>6[wcqrg5=P-QItX"hM#)J}*DƥK9LQ@BD* f=C @*L38AHx|vF40ƄTc)@5`4]U? '_;Gͪv ;:eN/_[o_8`t֟1`+%yeAgԪ 2/7 A:$h4^TL? "74RX!!Vih̚&\aVκ6Q^fs&؆I &Ę -aa*N( ϷXX8]!A񥊎a |GIK 1C>tEE7T5/r؟/htHCB*@Ѐ~+(LM(2cU``9t cE l]RPlGM[ZHWŔ(3;o>bB{Jr~}CcMep~kx^V+mU\ƩX *%Cj֩-<(t| ~kcB<Tm) &ڬC*C?hGIHؔTpX +,zEh| @he;ZhjBpxb)TWZ`\xR*{spJ Ҹ>zl$#")|:+]l"xt9@]AqP@ƨ0YD,34<@TIĜ x76t1r8jZ&T?60uࠚ"G|ޣWA8Q4C@uF6X@m6&886x'.;}NHq -U0f+p,@`V1n x(*H@%9Tf - -`'+~UTl/ZVŗ`Z (G -@rFpMt{IhZ }{=j/:֪?p"OSJT5 Q`n3T1| 7< -C |4_0'@?uǵaRCLESo5@b5h:&ޛ{\PVnSGN~`@'h6`"0&`g(@@Ecs'_9hH c/_F'p TC *x8yP :&-@~v{[MW8@@ РlE -F@0Rn D  tl85hۘ / -l~ s*b^nqdA M":Abb0j=Q<9+GD*bvpI@\ -(.0U~IpOg:o"& -p0?a8\J: J H:z - :@IjP >LB>!v -kv!؋$Dt0G&"A=i Q 2pd -tv&J`gu@'P*8P o6_{J{+:8̊&DXXOEc"K<DGI@KXP@{e?.❽GUIp0ґN -gtX>AP E"2~lN^K$(JgOɾ7706/ -GՎ;ihNssrPH1Q @ -@0 @0U(߷=:."(Ptp)̡/(/*0 -4P WNtI?M9,UH:nN45U,hk#Jџ_^q4+ϗ LxފRӕ$q:#&U p&<0.k:Q,b8L9 -Fsv)GO$-d,/&lYfA43fFکa&Tqjett'HWU-%x4 -`k$0|p5J0 0A&@hhdۭ~zI:P@1p;ƕqĔI< 0S?dOc@#n#_aZQC5~e;xZJ6#P:Zߔql<4?/:!uǁ߮~w+aAކ?[$iPGx -U[Gx%V"^MgK O/ )7}20pjlQXTX$ &p`]Q@8ח QLcA`*f;YzM\VCto,s "I]:. [`@\` x N ?t6*`5pضHKBB`Po! CP -@H:$*fQʍ!$=*dgLzpOs=Nk?Oʺo70p 6|)l`p eQG3XrB6xVZ!` Z)5Y& :g`͆gVceOvPM>G|Kbm@OY @$UU^ Ae3REky+h4?%@p] _IGA-)qOb5=;+1+>]Wp $`~ &#C[JkV_cf'Qp =Nc w ZSZ{ TV3+Kˈ^5,LWW\-*;i`̓D佛58@/ ؁%ȖķDj -17:W:!`&L$R/m#YDޮTnbqdC&@q @5`,OggSBOHAZ"*()).uq)(()&̿PqXSbsxh8gq_l -Z|(q783@MÌ4ru=n# xֺf8a7v۷e`qRycT`]yyʆ8*g;fM8oQoo,y{Y66666tCېX iI&!6-葙Yуq7cY[M'} }P `$ 1jlGCB2޻SCuP.V#@E[k?oUR%Պ@=!꺰9U0.vԯZ*_wH od v!T*$X~D3Qd ;mWL< A $Sw|@7Tjl:aT>1c% $k gq[nWPqh.wp Vt44tYN 5?2#/jru+[)Swњ$1m;BQhak?qSׅ`{r)D۫޽j&vS}x{C8eK1ޣϱ5L 7 #ȏ`7NVI -P.r8?v.$K'W i&A4?;aVAm2'C*.ZAzJBCN@S7CНPL `J&[&y3{l #lkp3tƒ_K{-`LU4Ucý_H2 <sn¢V]ij;B)&Xh$#7H^Z ӛ>#<6YOh:u64ZԐ-N1.'@~&;WTwU -cMIGХ cҬOo@lU{"6ơ< -<0MN`Iu`:4;V͐lTCcpV#ײG_UP ( f`p9<:"tI[ 7;ˎ4#s24N='(4,0%` RU(@@4~ fԖr+C 8CxhIQ3t(ETPz:buޕ؉U,[f '@%8 ?}`-٭SOTcԀaeA0 0z~V@sP!P@`{6+qi "!@ҁlb'q4]P/{PBX`Gyp+LM6Y.G4pYuf=Ip78 ߠtF` }p $@$Pk6t^.*M=@F5;f%:N9aKDR_G^KzzK&`̨M? -=#> -6[0=/ 5K4:U|\ Y&`j$Ё&~[F]Lnqrz p c -E@T x?'9$ { -OU2|;<v?# p/# VkRp WaOЏ+1HC_F`$ -&`>4$L080t&(~[fs3:F΋<6IF@N|:[鈦>1P~|Vx(\C@S8@k*7t=v0ZUTTh20K{4 8%#W70ҡh Vg*NÀ`kFΕ40{,褁mj+G#p};աQo\`; ]%|Oz7xxW^ -M% NBL~erɝtd1Ẕ exQX0$ `:0F+5u}b>h{L49JsF#GXOV~o]J˜0ScJf2~pjPi|<P;4Q Mlh[Ph@BA@ ^O"vXyp=z/t`d G?2ydSP+dT\u=d 'Rӧ̞ c6ODf-*Q;ۚgA8 SGAgg%2auocg,:S9}Z޽.x 7[p_5I9@/ -!FRQA=.4c{ Wz7=ރWm,Aل -Dw QNc9`>hk)\T2©ggs7m ޭu s4X@x^[UFr"N]77й,U?W&pk10]R -P<%8܉NY6Zfɒ;jzҫdm [xP -$,@(hL4tX$:B3S9&T6{^lmLt"*y,Q?`8 q@fW =lz[:Y槊{S֎-k6y!XZyPP4@g,$P@@VJXz<_*%ߤ@7G#?==t%lvW@4-| -L_I}p8==I(G{Ջv*Z^=HwAᲊzP d!% $tAG :\go50 vVa22AY)#AK\ۅ?w  (ޑ[i (]D^d\Z m5F5'VT;`Iu\ۅru/yb+(;t| (A:0gOggSBPj$*-+)()**(*)\ۅLM - 7G&YdA͜Tt -DݡRUnkdwn @Q:G -;oמ4{ `j*T 1zz;CoihHό㫲}xZ0 `ET#@%a_H>* !|dY@; -pCs,* oxmu n'Ɵ' U FČ H XpTIL@^zw$'FsE牴 J@=`,E4G[DM?՛ -@ "*l?q \,p` J!ጿ> }[M( < &UhnފjPV&Opz@%G5kr$ qB`8l3w ->@JN6)GxU.6@؎(HPQnQl ,XP|Tq/QQ𥀧q;%Gp> ?` PeG@B3%! 7, x62Ŕ64 MH@ C؉TJv`Z h}NX[gd_[xC8F ǾtWÃ!'b6`Ǔ@ 0ʖ5r."j0s0MSI@$@+VÆ),`_`\ `s!!azXX -]Ow .boI?H0-@ۆ*e`P['=@/pQ@*,0Uӻ -y;n|ߗMeP^3;Au]("pz=:`a'Fi"<:@, dDS" ̞"cpSQ;lǾQtWo*p +/ƩR%\~o hNcc3Caml7PC.wZg2Y+-Y΢';dG;TV偰 ,$@hϽQC%r@s %lF@=[0+ܦ!H5=Z75 -2\gVZQ%%ix*ҲiRe?-Lnt;9$ -@iX`KcJ(nE2ȑzf],n 94kb'_ -z/\^x k!v}p w?]pK!5+ ǁa:v6x 3Ua(`*^8m<6$Yvٛ*: i$5?p]X .\pKua( -O~Om}BGD1MH mzjT%({aPPZ H^&3Pe۵e3GG,b}Mm@E?a? -vd׋?jA -χiFAo?*O6?z~ 4V@ :ȠBR>;D["sdjNhht6# -C* `  (P"}4\S!IN|kPP%8:Mi;O: -{ ];s'Qw~[g\/pp{Q^}Tޣଁ@;:@5 0^FR;}7|^[ =Ek?P ->k -* G,71 t`G.o&}&CE}TƄVQ(t j6] Be߃W|t e;bMW!#@ZB $~I?,3V[/CX:{L8 gS&ȡ1">>6zIh&E_$LJ -AX M= :4uvu=ԃl q4"u2@-aO@!l2OD:~vVFK"ǝd-PXF pA)@ 908UP>$FB"<J6,NM2չzD1O:7`R!`|x5@B(\D7g~v 7& s `,`K&JbO-8/TJ NjP XX $  ^j IcL3 K:@s܀N4!8T '@X WeOP+,DxA"^z F - bIDqkX[b = ݰ)<~jfyjFN-> ` fMj#>9(of|@"b#*1#ߞ>, H[,@I=|H񙐁:8,h` &~) /1j;_|5 -Oй@{P{P- -}(pPqaÃV4nӸFuK Q?u0c0G <$ Lf$h@@@^2Z s$W&o7BŸ2㠰A#q"=0 -?3ݛa,= \؛ 9})M*S -1rrX5:@ ~: : cIQUdOuBi: !~%rC.hyЋ tTaB 1IEsy'3Ȁ}`$(`[J-f29oo=1)C+j]Y.u=AA۶MYɹ<&;1]S#瀐Qh)؄X $SHEj\|l=U|ϊb``xZz (sH=J@ݸ6.vj]kE MP 067h1H:mCnoCNsrV?Bx*ni'wX:UiWp#7}0"(-ٜ3?䈼*,~Υ=@4` NQ@9(7 + B6m@7= <x:`^*&̷pqt=P+?[Fe áP;!> DŽxIk/P,a1}ߊrk'^+p ~,c8=*]VB6:hW 4gh}҂!$Hx4@y@ ~Z&[FisZL _^:H< t:&@JzM0v)֏/U0 KEꑶEshVՀ^bc9]DQ~-rш(P&:Pv %&@BB OH - ~K&Rk${^$u3STr0he<8Wl3E=fMgԱyǠ~5 o@2'ÞwA1,l}"˛D̀b1CP A0 ` ;67L͏%]ў{lrLә#0H"0TrpV cىmkU @L '!3u;I:#6w4Xx H@WXȮth&X`j ^:?o,n) -$<l*MjG <wPKfM_iFDÍ@Y` UѨ5vqD)5r?C۱ p2Ԭ0ZKн=AmU Hj 3B$(K&(`>~q -} VރamGvx -i*, 6:!g7| -jb$Pkԗf+|)bdb %9/Zz@Nք+@4j -`Jy/4&X0 @ [L uD26/zgfXGܓrxU*@ |™ܢl #jb -ZK9l<[ fUqnS'Sp.7;/qY Օ`) t0KڼM`"t `^ ~OCRSCU+1#/FgC8YRUl8P -mh[I Z}γ^y" -rU_z|"zpNG&a %؀ t~8w@(\Op ̌äCh&h4 5~zmy^%4B@ZDj/W~cZRhFG\=w..kT>bbZwPk'fʌu-R݋OtZ_4't%&(3<C&*b<5ϒѠV,/x,lJx`F"t}|T(lB -%8>Nޕu3߿3;:r{;%D{>$ΌCƄbegAc @"ga}YP4P. -t@e_E8ápC+l63?x?sGџ- y<2`#Iܓm@mg )'P-885f8kFpi1Q|ckUsUaG'1wh?:DŐTRbOv. zW7n5Ius( u:ShL vv`DXƒ|%:lD2hXcP ~zЯ d@ mT[A?$P?'SDEݷ\p3 -.<C穫+96LFoT_f\hO\e.ĝd\/)Mt\J=hi\&Z\ P( -Ms2cjc*fƒ>%5@4>Ѱ0A:)ZAXBѤy#Oobɨ -H j3^dvxཕ)p]a3J6| Z氜y hv1&g 6􂦸dlZNi6zPqpk+`ɺİg/(aT6p5 -$0D- e)vH2?II#Gn@*,=gWeV//)g=xh?y <Ǿ/њyh5͉`2Xlj5J0Kz/ZɉbїԁpJ'|+[ -c'( RXå=ann;L $tyI /D]Z>( (su4UwoFWql]霣W9Ÿ̠ \OoR h4;).T&%/A -ի\f3AP@svLb76pCDUlFl闐oA3xee~L4q++ȖfLmǥ\?Ԕ V< զPeaFi-@uI ̶=AqXɀr=} nh, , g0q=hD8:!v*‡f|JC9H\ ƀs$ zur0p NFik!}*'C)(GOggSDR&: vu{{~+,xyuxɭ@UN}G'nh(BQ`J@.R4 'ywO)<VrQ @?:<L>nd($&'-yU 8:]"q" -(|c IuWCqgtwCF<@-C- X,ruC n ڻњ8l?`t:S -: %[dX$ 4G%bsoc {|@ |C -NzPCx'(4.` o3(P(ͪ4{U~[CE+O -q)NP]TSO,꫘sqrƀ1۽ՇYpT/ Z*N{L:D/b!fIp(C,L}'z,!;1GF  SSh(7 :@51% ~V:+I(90\WЩF+^];H(GFR?oa.qRIݠ pinbg -J,$ SHFh' !yFj@Ô<@Yn}m@EMo`h|t69C; Uk >aᠺٹM]p Rr7do' 5@BC,PUdt[m~Gl"E?D8PTWd95@M\Q[1e3Udu'k&}u.LGR9q{7Q_kdTB ArqݥMRBV>sӷ cU+3(1c.)C #t_AT -tRgz:>9G#f EŦE .sv t,H:Fܻ-C4(0VÅ]l%N=%'v0%`QZr'x@O5`~.s(K (<{(7dXV7` ~em(ؤ[@(Jv [a50e-PJaN,>;0FAՄ짴=b 9"7uJH)/ɚJ@7l}п&\ep$g@=K`ǃV/]AP @ALL$$eVj@O˃@ԢH:&iV#`FkOj髾EK``dH7. Xc<jCy*la -7պ%# <-`xn4ņZ@&&)czӷR^  C=2@,&&h ^l>;*&;G{\CFάX}8 x⦫AG̠ոzT|z}zf(\ .u+4,_.,1 @\ז1At0>>#^9o,,6"@ VQp@e?Pr=@>Ƽ-̽0耫ґ[\nn\~ 0gAi g ޻>K(v5 % 4-k"HS(E^d?vDY}) %GF-<~O<34_$IU48X>tU`G";C>U ([gcFFTbHBHz"ڢ՟,nSXl? Ӗ)8裙0L AmcLJp E Db7@$ @:@+R%|Z -D(p,[a-G]@>Hs'[w ĠE n(: ]F,qlZ++@6Y|eGK9>wYMCtg|=u7}?VYZ Ёt~*#|GZt[H('t -G'Q6 -2qg-8 X߹wQS1-:[Yk`Mu } WIH> -@(+ybZU]FZ9h -j*Id$@,eG`- Szwd&?eF•!Gp}ӸَS{ ο_+8eAArYpjQ (k' W>--T'i!<*p`99 jDUP PJ-Q PPCBsR q[' -@-^SM -uH vd6G+RZM]ܤJ^}>VCϧN*OqHXHl@9 l40 -X tOggScES`Z!|zy()('(+-+-Ch0|ڀⷋ`\hNDC`ם0V_p b{Z~jZ}7,h ߞ}5fI~ xBK@9 * ]*l  - A͗ʻjfxlp /474s11,gky28W P(G`] -oKt{, c'E2n/1B&H:[}\vь WF-Сt:&`uKKࡠL`3pP#@$īB @)8 -'kp+KLzdVC\5W:SgD(WP0E-l=@5t_hk(L z$9.P#6nHMGle#ʔ -u6Pz EG=ih 7(O@ΈI{ -78T:'h@ouBO,@GX4` 40t;÷%Kb>0^ ct3X8zR<^i+ ( Q^s ZsxT_RSlߠCsNVcoR$M@X @,:^.[5%EM\B syAjn#2ڦ:ޥ ` -UQ:Pj(ZƟ3Eje*R72{UA@)aZ H`t -@ދm@+<j%`btDKFB\?B%*w cIDy.$_ueoH\1&'xNMl f~fpQFR ˠbri, LLޫnT ֙=tG^NhzhNB ; 2*E c(` ~vA5XhzG'/<MGHr PT)I<гLh"mU?Ж|p҃[C6e* -68Aak>$BГ'+f0v`H0a\ѯrJ| ^/H$'*?dz'x4%,743g`a @0~bP:2z1rb~?@>JI0~blX h@yW ܉4s]@@^۶ +t R*W"L !TW<(A}/R%T@OKz*BY`v2a}v? 4K0V\ -&EOx^˦%stI?֑x4Nl>NRʞMyT9 -@oVF:䅨xöbvTO:׺*'ՠ6= pP8w 08@ [?h<pypZTCRo -XzVqWGu|^,JsA4eGPA|͚"| A<\W/ me B0`+( Ph@x>[{i0+WD\CIW +t:UkPߏB\L/#P3<%O߿|f*hЊs9+Ɂi CƊ*Dt@;n l~ P H ^KWYSvM^!R&{D%J{  䓇 (KgeJC/3Ift7~ -wȞ?TV=x J 6h`?@y ,@W@$&@ - - @Jp,1yˌxQdk  G ?&q߯JM6o~Xv_M`:0&lB-6(<NpL(3#Z'q lvʤzW &hh:& -r8/ƈfޣW%@Nڟp鈉S>xZ>J!78#|.{ࠃYK}A7c Wݵ$a:&xI6&)K< -RxH PnC]G; rR x{T @" %xgEG- PUyps!1ie+a z4@kP* nb1[vwfDk;q +aѷR%z&a4 86A sOh@**6>(pQ -1D"Ų>bFz` @ LS4`'>VhW$2S7G7W.6 -)(4OB(png5b=5Tt0%X-ʖVՐ ikx/n iWB> h -h@,o/^o9vi,l{])xp06+xQN@P:$C>cVj Uq@ z6je=twR#ttiy '& 8+ FkYADx5(dA @&H@g&`TOggSCFTO <|swz|x>J:ʬLE.7{`Y ``y<&(bBg;2_Q@[9Z2xy -~#D̃CO,'TH6o Bk:ߒxNz4@ LAsJ$,X>J67)k_&-7(̀awH -#>05 w·45xl@Q!JMR` aPN?ǏX眸&t(رNC0ZŧNJ;vރExh@L"*!E Q "s! P&q Jt !FА?DC#INXh}qk|T"icS8x` L^j -?xٵRO=[ EQCuy4d~-]k +`` ʋkw 9X$dFU1OĘs`JEa%c X(`zuÑ~)> -91 YD#YqY(@5Ů Ps\ -= x)lpO|&<9`}5 ֕0Y6C;tiL6H4" -BL0KRp+G~LZ[›ᔉ@p 0f`vJET`c`F@ePP&4L r J H :w^qIviA\9Bc<_#l$tVV -(<.@ڤLX>p 4H`gXԇ>?R `Vp^nx ?]=>h/hs|;} CJDt, >Jp>Gfa-' "pKe3 rɊ#-o>Lh/pO@ =x\";KD(P=-^ <`7N_ -q0 (,k,0zLP5+rc**yi#Hm`PPvm0x|M]QQ0j]R/&f s!Fdj4|sdZ=9sDTIM^WdP)AP\Z -|D𛹁HAZȦ$buS997 ?;ft -35Zls~`L '0|W7YPϊhǮ3L - 4` M^ ҮJ=\(Ftnl j2'R3'jד`O -O&Kٰ\J0&`| `JyyA} t@ eW_x|],kE  F&,t1\':PV z=p#  h % ^`x ^kH?oq&^%tj`rrR!X(v> KEKPibG~\ -;|:P -8%@*@,*Xuij+:~΁jlTAJԁrgv)%1ک{2? -0P<O>}8!x ( ^ص7kS&x OApÂRj@]Qr/Pt4@k'py@T `S@B@b'X\1 Kފmڬ7}#{#5(AGД`TSxh* -(-8' o?ŪH<&8CD{PTY;TnWg @B,@nl¹u - }I"Ya5#8 -p6 -XFM'K%z),3V 69O0t04h&+zrٱie3yZ =;?Fio`?YxTŁAq0 c,yQE܏iqk , P @nv/u -"i{ #t$?o6mZ{N@HVub;F[M|8^UU&s FAKN{5Z}b:L Ct K2lT"bl hMc)ҦU|րptx n++IlՓ`XAe'@Jsӧw #)ơtq -~0BP(־@ x:޺C4ٮ%h`!)47`4LUYЏPCA@pT<sy~7?ψxj{p~n0_% 83L睱1A9P~ `^-@R L u0!޺{o5, 7XblREE:KN{}.YE?9v[i_4{&ؿq  @`&&t0&(zWWI(QCIsMޘ -#>iO&' x$:OggS#GUQ{novʦSi-5ٚ]uh\:VQ >uG yEJ+':ގa26^' -:q/M?P -08јvQr(2$PP`$^/fdOs]P\&4GrTrA5.\uaTcphG z&.z7 "O\*YGU8T?PN&x$&VkZ#,G4Ξ, <<::!^13O"YUQʯAh@ XX y^4ǣx%N^~o`54 -"Beg9$ 0+c,`dAM:41LfJu -3^Jn叁,WA: `4H(Vc,ã`LNG4P=5֛}OTHBY -;ӲG1@`M $ @4W`,_T!ǭx!^!{7]AL[ &|8,8 T5P L ǩͼHOKΥCXWisjd3|Zm}(eOP?o6\Ĕ3\4^jTlNnOas|k6=LV^=YM O5/șj'Ll$:$Q>;ML\A#cGR?U -'+5I` gA{@z%{gs_Wp8a01<(>ʮ t+锫k4ukxZ/aS@_`i50 ◕}A `Op̢p_^TR"X##h c; ΛBTԍUCKe^EP~S<}/*P&PeJ8L02$0G)lV ;&B:Z@%SW]W^ДPkAԽ26nˡo`?6v _^z @J AB"{G%*'CSt*&&躚+]QPCGi2ǺVz~.0A4>S.p(|@p+yO:Ia&YUˣF -,3I|cqDr,7&r?FM}dǗp;TPJ x Cը"~TB<0YIw ߰ΕZ=߃{W z68:kt52Va>CUJ >߄OCa=8~dh %`p FTL>b$HQ55TnH(4LIJwRbt#=(`iF .U… P? x'p>n xOMvjș! P\?u4WȜ>;=ZaGlj&p6`+HE/`B< !~JOcWVI/<Ƿj@_8FK,ejҧn`Ԋ6p ËVݼ|\6%PP(1oGueW08C`sE0(DOUtx+ : -X+f7ei/n:`:5\ aFʫܭa.w$3(h)%Z+ߓ-ϕEM>Cq-1Dޟaw~ Chu@т` q4Zt*m07N -:`AXK&{+[#=S q6[gӟby.@[:J`C9m&sv8<^v-: jd*CH ]d3-p= -og :@ Rx:_ 7)4tNlW/4`TSk*syxOCBKĨqs 0^nG =!.=s2=y@:{r5\~B - aLP[  `x@@  r9c0\=7e{:m5H7tӈFalsZ}+0~a 5ql_ r8ۜ*R', x -!#W38[@sJt +@PhF -L|4$, @xXI6˵*~e]Dt5/PKG Zs+ZA;j=+Jk [ wD6W2jeM#0ݦ˴&Ol] wu +5)k6x'P&vp{X*h=*qGHv84>{t: -EzV{ yZKszljSmeY@>'|^2e1}+\F]8p{@oyk>ހE_$DUkPP`N}qF{t̒q<h0H#F^ʎ}_0**Z^Un@l(1 tق&Lo tw$FJC!@N8q$a&:FiFNtFҫ'kc<(F G5?cSC%,s@ @ʖ^fLK`#C&6 M0JPՐA>-O ?@3l=~)c\g\P唢xuNpjL S+i)OÅ`T -h8 WAp`  {`+IX8Pۖ{k˩ܴ9*U w4ӡ!GP}p⿗ ]1U2 -T=6T +=K//2f_|өO 4E \a0tj@G`&  =QUDjlf<$ >Fn^kٕ:N <誀9(KWG JʅwPQ9URB (>܂ނ OW+.>3P^鄐w= N=!:`հ&֐@)A{@0YUIap4`(>FK$..z iXnp`xhNj -ui ؏3FhЙ˛z[{ ?p&0o!$xΉб9Qq@HL `|y(R:D -<>J >߀xq4ˁeB|M]AbD w$@Yn"-Z -#@W%$U\p /X((>VGXM {U/nH`qPKB>zA]Jdrz- pJ=p95T $|3~x:s"8c><$hL @/ -eN؉RV#?%HR$:`X -,=D(HvFo8],PSO<IH?ël"ast̕_ p{@Ѐ `C`HHOggSGVl+)++)*'*.-}x,+*+*'*,({y~zx{x{}x|zvL/k}|u$ ]d>]ud4Tp }`qᑝ -ӷEATzklTO?fAk4?#O={nQz8+SC5DOsy5,gAǐC!s-3Pty -DׯW>B'@/ -r؍`L{1qHH\6P,:Lއ{-Bty6Ne0[[iƮh<ۯWΊ h>~1g5ޫ{JFu?HDOv# Ek#QO(Lnk[lgs[Uc\Oz_3R 6/y -KuQ nEx:ˆmB]O QJyQCKL$ f@kIgf%ypW/PZuFp -xbwinX=M= n&$(.!6"\T9p߷tSgH:4Rt <^ ([E|X - :[#dB? kyH 2KG@7%pDx25HjN{'@10~_EH"X9y/[ʄ˞ -S$<>SJ7b,= \8X!BWJ5*Ix -otCNKp3 zRi@&k (@x&> -_  Kѱ.@t -6MnL9 -@@NmrD2_d>jhٯ[]/g0?qIp:޷a^=Al7o+MգhA4IF2<}H6JY^e  CِL -(6 5@RH@  5mٌ3#Oa}ɷ'G/&kqk@z`*yzW]#wu94[YhU4`7A>O$dixfi'ZGbwPԦ117T8 @ԋE C# cvQ.hAқ,/ $|z  -qIhS>Չ"C!*+f:O8 4-O^1E r;-X,j^{@v5#ŹqD-6Ԙ]RUB\ڔY[,,}VGu(0"1//<^ʚ 4<>$PfU -/2Z>B)0{ D-J(I+[G$MLN>2|Z ݷ=96`N-M -?hJ/J1)@b@( )^bKs] `#ȈP~#%4ėmUx3#R/Pp.1($& $J#xWH 4,=e4(xt[`z0PDGttP՗w h~Ȏ  8/7r1 i:@?~W`/?*4pUaAt!,.œm*xl: ]hQ -r<f? @*į<O8q"~ h5ضm$ǡJN5Մ@_]OS,>A|In~ : HGPm%T:i|BTT܀ HÄ"*^j9=@ykb3-%i MI3%>D,@Bu,s`a꘹ n&gM @AjJP#j* 68 <(/VO|=Pbz- g? {B)`K  0&C!$M^d4j; $'pe1v @G?s߶PMM8h}]w({0\:n>. -As)'x -W9 tX^x *'1d,73 'N^d0V|u}m,P Dзt^W}/ݮ^ϑGzhT(^xA|`; @&]П3`\{h8G>>7U8Y&0VkS[@Uڤ^34ԋ(F7cϋFfNN-BF**+Q1pQ< \/ -(]7 o]:(@^;T`^@X6P0C F'nmH&xlp^hz(\1%d`S p,l#*x>p H"fU55аC?b -n2 ׃eVYy Gx@.FPqZ)X|9 -͔nUGhL9;,:QXhPk -%c,,gxO/>j0[+(yI?@t 2fO@@  (P+Ai}B;_5_A94@}pXWt |P%0r Ό5c0cUu0LN:{_q3NB>?QN @xG314|yMS!pQa%`ŢǢ0+Èة c88IO<}- ]b;o)@ MB @ .N僧S:xl`Iiz@$m%JԸ%<1Ni`Nc#ѝ9|fpopU$UƇ D=@>X YQ/|:Pّ&OggSHWf!@}{{-0+5,0 #Ս]/tlfLlWڑj͔P̃S,Q35"Ѻ|#l#\Y`р?kytE>5Q%lyPV@☉IZåh(X!n@0܆S#aJ 7pc<^DJ,h1LUP+A_ -#N@e 螀} >88-05$kKJ5Hh#w( Y$Ĕ!@ڄb`жС L@&{T({uQ -Nҁ <x@@B@'{FW$GN(J 00JB1PO ^¢x~\^'=z4vL_/:UA&[qRh &@@(A - H -:˷ $5m6="@r?W⵶Ե5_NyP'Pp+Llc -c=qBN|tiG.}IhV_p1#zr=C4p !4x^l `.4f=S:P5g{ptV< wVjCy{Q}N -*Q!Jx.lm*@p=5h CPTh`ty`-?0 b2 &Pl[Wg=:[ h #ʊoVJm-W2h\^ty'h4%%3ͦ -  [|3ƞ#SPjʴ:`I@XXL o 耒y*k#JF@{dE@~ -E)\477pT $5㇭iߡKəIh%h95G6-LhfљuJS<ۤ&YZ` ,KaiѧY8x`@ z9 -`η-' -*t~(htɫ`'@Q" -k\A -P8<*_.l.ts.xCrJ\x,AK;a+ ZF@4l%=<^⧤ZP&0'xH#^ EB]W; (Hi7.?W593IBb'(07k \ QLՒhFq pP Jr (ᇽ[n1@ $qI1|K{A `G`+h - ir:>{7daA{lҕT`M apU/'^!m'$zb1pQ(a1tz, -Ӹ?;-Agu?{9` ,[#L=*( 6IBD=p=,Fn hGҸ>tO36p?SC]D4N2yk<#Y/A08Rq7+A?ܤH$ph@u{#b8;J!m{lJP tJQIH=KSCQydLݰg'{'W%O*`'"`~W{Q, HL5P}@,:MCWP  +ތqV*~]v2@zn+݈ߝP1H3I%  h) ~kW,iM - 7l=R%>q!K%h\- ةdj|MtZ1kIV8J v?: a%UAJ0_|8v.A? xgIZVb^X!:G/L,C]+ #k-^8؈Jy)>bElɤ N@/uZ;2,z^6ps)pVLՀ!z!9&oXf h㥶$PGYo [`tpH@ DŽ0A%zBNX|jb)KLc 8TqPm[)l\`r - m hT$2P(c_+[ioPu } Cʄ`t4>e&(TΟ,<6,SJ. `]A_8Xp>4L~vgV -M2wDLOm`O6Qf~oy2(X`.| x -4 0 ѐlK|¤Tt h`-^w6!<2WAm=@ij owH ZVuq`:ĻUUzS t`5pb7{fQ|^~CP$UO2^ga :dct=n'Cq4'TE -;(N V=R[p]" l:aIPX?O YP={2< 8+HÉ ʧ:~8\5&|O3U⣊T0- /L5<4tZ s?|Rb2 -3,ӫj>xb@zm#CrLH<} z p.P/S Hk5(ƀf4A`t `0*F>q\'l gtFTlz;P(m` l(% } 3OfaaØ`p@qs<:_{x M\ I6ٻOLϒAYUTи`( QGp' u44'@?|aKn@fc`\ΈApI|H3 -sDH :(,},/ ~)l+Rm JUh7tE@ -pGҠN=4= XS 蓹`j11DDx@t:HS$LtXY6odl -eT{G'l9^@'ZpX X`Wr2^$" &Go F`O`_. W;@2 -LD4( xCFO5o! [uNvEF^=W -#  @QQ9PZpY -` ൑CLqM,V+hǷ14 -6$@OggSIXR$@I%,*,((+.,-*),*+,ޚ/-1a= @@=Ї9xhꈖ T( vx pG %;` -lb+|5k6\'4P:W{Wq ,j#uБX,65!v-99@Th=?O{6hUA-l`Toη=N񅵢). -%;BnsO7`~p0* -`0|=49D&#JWbّ?]')``9PFk>rؠ>nPJ t( ;d,|trOa`|k@eS"'2`H('bJ~ :`uP3 b@x`,^)2_Md.Pџ=BחpJSO -'U -l (d@ӠgdA&r-o'Aro4U#1-HuҠW4at:L@~z1_אZy*4V?: P:+1hՂQPC)+TU~4~Nl`2@WUh*(]0ޠxlTZ?س-S``qʍZ -pbY@»$!Ñ -! :؆ Mh#Z}H?U -tl>F/m2_[hGy^J.ӏ!x--V)jZu=uBt -,@G@6~UwKXt>{f৑h!f^8!_9XDLE I-=Mn<>P >W ^SذϚ'荍 -Iln$z llԛް'%!ťV7iY} |gsg;-N@ @j̷"Yf|8{ˣO] w,@rtH-@!Cw{4$(0Tz_fGђ>{v>4PY Ֆ4#OnG`ZX@4G6鄄lO$Xuzl=*RX'L瓿ɪi,Yݏh%5{\padae6]nt,Gٲh(L=/0_,Vޙ 5@}$x5" 46>'Nr%&$bpz h=yQN -I7kX b ԫ@G`iP,Z3.ނKX^:N ,P TU4|z{4{$Ӄh$ GWtPk P -Y:LTN,n~9U Agu`%X 6 -T&Dp/@-; CjB&VJ6k?x1>oԯ^~}>.D0HfE) }plŎ\LMJ 8,XZ4`U ^J }%~- $ A`  :>AP(<7PpPm\knȖ&!m>X˻VugD;qrS봵rxh˸^b<cܑ bƇP&O -.8}zQ4 X>wP 2G}o€' ,qbվ7 CNH^)P4tv_X@8q7E9VL ބ-oD۟}?(n=')Sѵ-.>j~pd:S=?oN5=ț<>Y7l& -eFBքҥ^P~rzB^(ZRU=׏&{zbmS'}x2/*0fhp9xo'w#07{=$PN2St`@$^Jw"RsݍTěxޱv$pl#|[3pnB +om``T P`KuP=yTx' /L0^u^9lp~ X$@Q!5@:a`] x@2aל)}Q2οW0t` ZѣD_p Î_.'0 Xk`6Yt*@h@a4Rr^q29. -Vu Ҫ}Nګ#`xxR5{οYfDxy(C`7p%Q3C`,=,/nGy{S6%#P_Pߧ8$\Z@퓙t@ xio@I 0 : :0zQ '|cmAL9i`  ^2@#Jcc>oǻ(}l7q]5ogF xbϏ$p>hmxg& V^c~[&t"7ŕ>U170LC c -4m(Z֖nih -d4:@POggSZJYL)*)(*),((&+1)*)')(+.*w6u~g+ZxЧHhT[ y'`GQ?᰻5` =T4?*΀oܪ[۠L!Sw{{FW(f.L -VXWC W/PmpE=wbI עF`3Qz1 hPNL_: TDzKGft$`Q@ai3W<˽e)GzV1 &9X]᧴W0,K^}"h{Sy= -u"AReXjB_4aftt.Jʽ]3 N;nY44' NG]mqbn* 2e^*$BӲx'lq@8QGy idWu;U=zgD{ی#x0巎Y/L{^}|E>⩒Yєy+Ѐ$Zl/Rwe&vz?W+MNL6{c<综׻|0tɁƙ1EUbm SNVlO}܀( ,_ ўWbMp:K h Z }@9`XmNR}tIbf54?D> -1?-؅ҪX'x[CWoqО6P϶qTUWץւhlBjM \<~R0(h \>Lvm;`Ǵ46vT#@#=uuu&$p.|HGYG3ӥry?nML#K̳E$4 NC8q_MC H0,[PY`T(zWJL`b{ !_Х~A4>ՀMufjp kGՎp䩔PT<~xXLDT6 ЙM X Xw/Rf8t–hlq!VG}_lNRj%\7qp)Osj{5wX#.6( T1[38\`'1j[< 80(.ydZ" E܃gQ&cj46qtV?{oJXK}U_4"G p=#"p[< {}h"(osʉCa7@ Ux @aB#` t@#] 0)GРe?M -HxYX6HPx;Pi[!JR٦A];`_ v2 E j[ӟd4h8Fak[ -3'"k $:. XPi,@BTt^L3RJ)_iy.^ n,;ēkSX( [* fX?9.$v?뷊R@K`{ġM@FqX|GL@j5&(h h( a oe.Ki -̾~]\ eY: ^A?1I"pu5߷-;[(S|wt쨎b H @ -H0iP ^0:~tYJZ -l eYZGF؃n =Nc[Np(BSZ@`d<'J M8$fk7όHL:v.d# ~o @`I&0@5_R?.pzpXe'pi)0ܛ:@Mi:OY++Ɇ ˭4 ۀ/o|ѓw@=Q /XwD3/[NӬ[s`tQw M%@i׊{nz D FC Ca ..,` G嵞"<{87 %yʅ6Uqb9/B O|(b&Aa+г3RΚ%JBsNLrű -J,HZGLz5.A"Nԡ*(3 %6Dr- op.m= Xp.Qڭ5糀cPڕ J& WΠ3& 4H8C(H^zV#U3ǟֱz;4X߂%.jhB]۫MBJA``g27SAϯBwfWqC/Xv.A -tx ( ^vc- -#j{pGB*-o0d /C'9aϏA .J|>2fo"-]@;Rhw$  L,` ^sPx( k'x'2tRT6Tl7% -IyQh &~l"( b"&`7 8 OggS0KZ`,~~ɚ++ʎspe:Ģ6oA,NEs!JW@@ mՄQ -˟зi@nBy< @ -6hH'{GpSS( -(9`!~Nu@,0ಛރ*@PS -3::(p[ ŽRPyƲ/'_s+ʾ GdQP)H?[p~:Da@$3 [5Nho|Iц1^'B~V͚cvG+(L[ [T,ҪB#Ҥ8*%M`;vN2/s A>w'5M\`{#A'⸖ GȅdcT ` >Nk*pkۍi"P2p}8 -5 ڞ TpUܳOcw6Ū#ިzG}SF6U"NP>sJWG~*1m'Uu3Kg*BC8mF q0{+;Q 4N,}.om.8p/ΟM LhDa,T_ n(:H:>g)__DU7@uVֈE*BCPd*j U`/Jр'*0m -*|8=N×opЯd xs"(糇1`li @tڳOBDyN`9[ ^`cY0 Ѳd% =x, zAdk:Cl(MCC5PHJDPۃ%ip*k=sIc߀=fG$KE>Ѿ#4M!g1SW@,HP` -Hk - spENDՃ^ҵ%m{aj|cTʺhX\3\-` ; ѓ ˏE34P'!b[b,C*_·C]F3T@kL$<L 5_8Ehʳ,<$ 06Yf~PwtsWOt%F ZЖOHz )$1_|w!{R3é:g`vŞΪ +Y KClߟO pr! ?4.#jZ:rԸ;`i$Äڡ (>*oKci=cX\,%@XVw)"K9# _Wg.w掴o52Z>Xe8X?T<+gJ25S#|P Ё,::`_EaC x(0qT`>Z-V4e:X'(95ekCrC KI0{ܔnO43=_lƁ~*q5فN"@@heX50'1#- 'τ|p`IF3&)oPm]3K!cy/"hW,Z?u#ATc<(%aί =t8? -O/<&i7t.''f#2)W.y41UB0%p`!+x , `( M ?MU&PӴ@ Y`%( ?O? -6SV8u[gF(U<U ^X6Rs]?ʥƃa1d\Ci7ЈH zg|ig&+a"tSho5|C:H Ʉ ^o>$Zc Ѕ7<,\[g&e Xd{<_"B|F|MmX(=+&YY"_o9dL -*@5 iۙDoT`x< - :t) T&Z @.K[f'(lGhVFB t 8z tY()`#Г (/>>"K(XDI -c5cWv> ۆ@PE93V8SsE!iÄ, -<@x` -0^)zOz-Ijy?P-u#n.e78Ĭs\Z +V/cK?{z=6ZS 2T0SJ: q3;;͗~@7U@hXZo3B=@z^5$lꟖUᗀ'h -:Px>fYT5(g@fw|@><9s=8Ok֖B`9#?3h! f]]@=22]M ׀x~z0(k f1]uhЬ[XG^1lm2 3@X<ʹ:nVK9^، bkpߘ E!gftڲH@ 8 ܀t UK1;Ï9+vR&龽 -F)ؔ@q sb^B$Nj t Fh qXH`>#-LJ56R-#@M/Agzt·<sqTEKmc@bM& ǖ6F0][ک'(@X:t`$~JVajfcc6-{\fn8S?DWMn!. l@EhNx8Spt\<X%hjH GC7΀ tt:CQ [euH(Aخ͂?PhR5 4'V^k03ZJۡ}57;  A 0+l#v)h B`MX Ptѕe™5U;om*yTuE@]&`St}[Kp;6loOT cG N0Ir`}Ip*`ZaaacgbѨFѯw"va\کTi7( t} Px`a/g|hpCMc#So k¸TUP=+;q0qT~ YfJ>GBolS{Yڸ;tY 8Jղ7^{ A\ޙ6\XahE(=aSSD; :&   $Ӗ<zŃTCi8#?8RptJm?l$뮝O;C18 4jPLYNS".dOggSL[#2&-ʴ*-(+),*)/y}~y}{%--Dݫ?_C PxF<&/?UBCzZfW8Pz)|r\@?i+#OgOo%߃(F41,_p;=K%xphqczAA݄~ JhJ n8:S HPFֶN|o^ -lB pg{С:CJdiwW -wswQ?vy`L Kn3`?C !(fCGjL ى@@@zװ\nkxރoCtu@Z vPjeE*>7v QLp 1jc  agGt`@Ab -C#Xn<б@ 췆dLQ;K&M:G7M# SN!tںo -YuV GPhkxF9'ܐbsńd< 'l*l(0m-!Wvq;=`d喰4v E"7@Vtޛ -: fĨk0DLIS263 @@B, - h@(^e--қ88hhH %GTzhjJB𓎞y騠v8=gG=yudN0+D; UVfql"M_خ6qŠxLQ#Ch  -Wϋ+!&B-t -V Ixzf!}; P*A>o cu〽pBP{IJ^g-S=na;vrjp0(̞bzA'0h@i¬o1:k~/o@PZRb+cP4W^89mi n%ر"ALe (:(#-hyiQq:WO~\h\V7֘"f^|J2 طt $?+ŞblՍ/-G HP^9EyϿV%m~\/ BjG::ZUV>kӮ]+\$Nw]Bw3)jwL؏G4`:pV` B0 -L@@')FAIqM(`ٮ@#zjF@5!<}kuޭvDh4^UdNW%tNz_M)CB Kx׊'rxp>^AaHx -磧U%/G@-H|< ~Tʍ${lye_Os(G(]V P4 >`pI0P` -`* ϦA7`7vAhCV'^Hc0Xqexz^xlu!й^hB~ CI$u'S%'h=l}):TO\ޜ#چ& &~!DdLxB~`R͏ڒ:!x&+`2HPE?J ƆT8H<-T{Bð*ܹ': x&؏0@#`^guE?w HHsD pH,5B(rHh,o{5ۄYKi$2v$04N @z$<VĀ.P,"ƑT8n #Rm*``9@3`S@["l )":t) QdIz='~Jy7vBY " %NJv4 OXH܃/ptXD -cRw U(18|.`)S! -CL0 @yX~Sf%^R@M{ ~{!h:WR!Yl"Tj042 v.a/M@yDa/uM%< /2>g- -b ]|^%n4=~tDP}&4%X{R?iy؉DN[C {u+GHĜRfˠV ?L^7}`k#IGj#+`ov>.([ -0 -` m<]%J@ .n Ar LHkVQh#{M ;(B4\}@r?A7 -n*Pϱ>i{;>{a:Cm(Dw/Js \+LP{> -0/*a=*%ǃXnlxZ_n!"g=JX h@ -H~.KF˂WՑ@!D P 7(t -ը<8 w/oss+#@*@ ]5tuUfNHN(uƑ2ʳSAF]s*޼<` ħaW oNFM& .@ -  t#::@F{=c9喝sPITD ^h"߶CrۼWq\Eg4@{I=xzPԂ<5j"#5z#H1]qRq8:s@(TE@,5vӻ -u@['1|tbUU<>u[(%nq+*J5OO'*8CkP> RpGe#ߎgMgz@ E8@h,6`~eL}mQM>ZPc ';h.34:nP/[s:0!>'*vi6՗!f `9q*!6C T xV`.;(G/x) _^T06[P3<а-9CQOOggSL\X2&*-,+(+-)*,*,.x~^{\u K+5/hCo8 -> -PW,͞"@)< ,}kN)CiجP@$a&@ <&@!^v{ɛvYmF,<$x$NLPhMYhA%@7vOiSo\Uχpab \ Z! :H $[[hkZ#,DzT&Kw BmhL8. ^[bܪ迓$sdlM\] A@a~x}8}? za _Y?N;יss}^+`戃A `[Gvf?{0q@W.J!V1A -@ -@>A|5 *|2^@&E -A.?ķ|VP-9yKS0k@ -t@DR㿠H`A1 -`4x)kȻ-r<6|*`SlpT'@)-@< -dPk -ӒޞZk{ |eW/O׃{ &AւM*{O΀!@>V3]hMͶtU -`=t;)`4P /(DxN? VB| %.t}d.XZet\>`'977hhp @,X sΚ@I9f 4@V-x,^u>':s,2GRVm7Hh*{9J}JIŒ_'&r=` [KI+E?` 8l0#U <ztx Ua}5A3 -x(@x>$PQ~6:@8:G#dp}3;l5~¬Yz_ T;/ct\%qp .a{FpZ|4 tHj'KQJ 5iJ)z(@ u<ge (!r?z9 6x{%pp`71> `/ twpeg@,`=@:{HG24g1Y=vOaI~@˝E)E#P54r=LEn7q>ohLi|\F&o'Wy~x?p5x`UG h5 πlXtpx&4׭C P_mǠۊ=gm 5Xtl$9;v"c?xvcK.bh8t 4σy렝(픤B&csGC3C94OV.E..RzcTTGيJ>2b-'Z-F Q~tI3os :e=mi"=3 |0$dj4y׾L 4 -PF@ -U^5@Ь 1 -(ؤ&AG1zB(8|<-:X c]9 4H0u~z6IK{b&[ | 48((hh$Pq Cj;9<~5AvvGO(X0Kpp"f=C}( -x. [%eؓ~s- k$tl5 `̼\]kO"`/%p7 k;W|4@vʄs/@q ' wV L_1dQL L`!` 0!^ZN[J)Z )n%$L (Pp'Sx<`12/7>`DCq.Np0;D`&6P$H&$!@XH V̏ 7 -f)o!H2GAXF ^/e:y8.}0ЀI*(KVCKt0X @`AcNy -{%K$`t@ @>]藖,=JD/@sGZai?K @k F8%sUx0Ze J?wW v`hP`)wڏ__exϡ' cNuQ Ő,$9 <L8V:X{@W?\t:]&mpX Θ`wxߛR^-tYZs՛@Ck`>v: P C7 <%@\вb\=rt:% oCBPs#f &ց`2Tۄϣ 8-.h@@` <,^K\,2&Nk@PZkЫ 45K|4NJjG&ÂJ(7$$~{ޘPoc>At:#1D2auGw!=g`8[< -%'@ <D) hЀ $@[K2Ot3_o^xA% -4t2^k?a wfX=ьMhPz'Dm nVCx"$@@ (L~;;W^#xaK+YFX#ԑ%FZO3YhIztVy$Tp.yu$8Cmd*O8P`f%@@ h`A h;>;wnnKyc(#i ǩR׎Waw-|@]x-x(\-% -Ӏ @V?:x4 00OggSM]|#((%-*'*')''))~k{JFc ۀ+Y-GB=/JG35\qvq&L*3N{C Ua0y:k|,}jf%nx:h]8p?.2J 83rjfD2a0>{nZ+qQQu^W*@4"`k*dpgAߗ`o\1$љ0P3g*Y';ȳ2_:Q^5f4AR8@0 - 3(h >+fL%=)/x>oY'q.P>@.(LgeSl?   P6G}Vȷdp>mU -/,Sޑ0\(3,]t jbL{W%+:|*j=^5nOH<8:tGiw ˂ MMڨNH AIan @&Hc ]X@~G{9{y% &85:x@WT tI6W\"̷ĂO,1N#T źkz'L PwZ3kss"5 >WneQ>>+;5ۊe5)G._;@C -6,;-؜``z FF25a'<μb&~N:|CDǠ5\"@yxh -W2W"=hG8*q]c\fBkŤ-x˂0W=.iW/ ''-ڤ@h`@h-ѣ;=%`<`;N026شGp){'R=4č#JDz3](v@Wvw;l,FW^i|'~ܠ#Ξ0e>׌@@2L [1;t$',F `! -0(4Ӊ3o[4r$nBeb dI+&4 3uQM4퇺(:`n$?tm!h.<[LvL;* 4@xc -na櫙 ->@'8;kL}6Df,X+:ޥGBy*V׀yj#MJmQ?u~cKQLeM@7nw~a99Ιqnjݟ@# ]`#s(^a9[\ (NeI=KT@6:x{ ]ak h,zv70>v*PdAHP>jKSV;ﱐ K;G N(+>ؾ9:A |Ji$1v - f ߜ -πf6@k]߀{ &%tK9B 7` ,``>JfyR} >8[ظ$3̱\CDRca{(`QR2lx-/598ß]͗p6},@5="j$vեL*zN8Tx,@& x4`:6=G+gӚ=^@/ t("QR~&2BBcIQ@s}5[x75Pl9qp xαк<f x:A! - :N+w]~uuAQ)ȱ'x9a.4~j h _:ϮS&5`;57bU%$@,iuA @F1V"h\0:& - LW2yo΅ptEGs]] -P8(n/ o_cS^`>|D9*c{`̠4(UA) -2Y0xD| Y @(0V*N;szVhZ?8@w~$"Ut G(M*aޕ1z vQ _y2XK4@e`@X$`|MTb:HmE>Z\|{XA8@5GiD!b_+(ՕWOÌe[ -1p8d* |DƐ g`"v:a?q>c݁cdb+N?m,:`5(e{pklsy$MTMSc&@ӃH: -#u?vv"p\V9PeFMx"ax` 8:Y:T-۟Z`g܃`a B@A&:&LL@Rq'ԂJ 7O q:(B?Bi m@uQms7r9p0g)@S_pT0x*40P@YЇ񓀛 L XB0+c ɸJG&Leg8"Odeᆶ]WBnHh:ax#ay-b7pws?MZ0nph2eȡA `!a脴 %؞\vI\[(|,G?ixiyg`/u.> έ.GcX 4UK*u}O( OggSbN^R'y%$#(%-*(*((*-,-Kf7ŧE¨a!A3m Mb0 kRI -sHEgIA)~% ^QLB򊮑\ // :c~+E͓c1H`vDIX(@C+@!@b$P>MLyl6x@lMM?P+ԣ@: V}Is?]y3;m@ÏpD:p:CL;U*)ń MF{\@b -QABX<X.'E@u@P0j@?<glz/Cl ח7Hllq([q oKc\ 憱- A֠%Ё(ުѧQ }dz76쀭C)Q -K6BP+ -Y0sدQ2mUs n -tܿ LgK4y^h,55@5&$4 >m(^tA[Rh&I_[T]bsNk89@1$5#ƖN$0#?Xy&+|314MjZj@>$fHP>򵨖؛M:4A$`x͢ן-Q*z8?PLm#+>IIxJ [ŏvH>CĦht[hcԇ@`zP| -`/OrHdSt=sriP -|/ܿ~ [$Nz*H>#IH$t9< @2B܆:Yj~ -`B7l/qPz//m|yh4cYt鷛dn6;a@y<}ӝ(^5  lO J9p<9E̩)39c:9vc>T$N.zi6t +i0-lϪ =~EHFfD嵊ղ:(} -L{M@ݖ ?)Ń֬LUdDA t/F\΅t|F[UwyʹLs -dOZ @<9/y^QOqe(#42<'x* p[cֆh@;Tn඀}[ij΋[l6 FѶ:~vy -J`u P7ndOl*UA@A,wڝ~~cTK{0&xU l $:fQ؀)@Z,#XxQj8a^8i?J}zeAY8=,]r$V_8F6&q琩N|+'~IRۨQA&^~=5C ٩q$t!^~TOC2Te$'εJ+Tǜ -/m&Qu>UXm3>l Jk#$lI}IݎR7  x )>^y -%CRy6%hQ0]x (`+NZ=3qY w}=0(1魁^>mI[qJ0b6sZ΅:Ŏ'| pg@agx`Go,<0m*QѡP``L@:[WDsvGOӋa/A:îP(E%kPSF6@4P,n< &~ -ெ)(&jt] xM4؊S@7jDeP+ -卝!̊G=Pk1ÏiA~z &G#qBy4̤ `;m.'{{ -hZGtzQ@&::С@`P@Z^jݍ9)٢83[(},`Đ RDul,sR QO;s\]1 &Es@No;XTO̎]#Ts\9Aр@`A`I!hj3I(/Y@ou .5M$G_ -6=lu5C4c8%g#,[:m_/kFk  - H@R&7d5bT2$IL#hƉ?Ar;xVy3;@w ,&O5Gj8Bx⃹i)VB9h_>֝+a,c/F[1:A - LEE$ ,@i6xYQ=4|^%D 9p,ZuPf7¨pൌ@".pxFK5G`QT78aK4\lMuh IoUAoCTAK::f hB -&YUT;S{ׄ \qDCUX@73Χ?IK2 % fHp0}[QPTSGL -(&6o!5tpP`Ё I7$\2h=?|R FR hZr -u -ey??L 8p,l8e-SztfN( JIy`>Ab8Iɠ -HlԻ( Y:967nKT9c{yH GUU@INh5c-ЖҦJTvD']?`/%lJ~N\ -H`Y|E P/$$a -Q9L$<H :d"yxӆF @:@0~oތLrh`hpЎ*B@-stXxA0^¥ \<s5gDMM"h.RLWT 3TflMuE<,`,@&~6ѯ==vCYzU@H^-9"v`?ֆ*~ -7T$O#S0xLo wЊK!P@V>Pλ*5`3[bM`a[_ & -h -^9"j1ui qZَ>'q>(6OUp*PYs Ϸn3rH8c) %8W)yXa^#j\a\g^N^13$b/R*& /AN0g-35Z߳i(`AH:fTf{H @:Q+1c>X Lu< @Rd,fcd -\pw._I$jp8 A@)"1BHA*(FѴS vf]?fː)k E@Jf_eINGCV{e@G^i~Tiy&: ̥x-f>/ -<`z`S/lfUkbM1Mb%Sƀ>$>S -d 4 hIb5ڴ@ cĊHUg,`96͗U))L<ܔ7W !!FUD -W}VL?\9sws!$Ujbcϟ~&)\c|ߌ31ڣ.[S -Zy)pG0+v -9$x7]Uq }j ~\}TihNR0:;䐧Jû/f@L9& -FMx[0VIh2TQJ)$޺)<8{pEtqs_ayCv8JZ_n%{JNn @"n3-d:;xWJJrHw lx]6Zd Ly&Q,%%I8O)H=dirk&4OggSP`}Rg 0*z{yvt|u|prtzw' &3ѡ:C_Kf#Gn, n(b[):/hb ԑ*+b8±o &P` MױM=$(ƾLw%0u~}tY4wYQi653iAt:X4*@(ꀅ;(E;lRxOr8Ȅ0n#2ʂ2+y=:@Vw%\^@_]ՁVs&5@E#Pe jxI;(G.3TN jI 2tٕKA(\d0p 0!`@Eb`O8oÂZQ 0  -.+{\Q?GCUʠrtNG hx `b 8C]  @i@8x=F *KPT X@.WQ:=>@w,@##i)r[@P^0c@d`_;''$ p .7b'iccb%` %'+1&LÇ[>ϷN \ )' u<j?`2(.@ǘO~*AhFkEf(-*TrdJǒ?P ;8 hvX]}-c6 *U>NC);!` ,#lk 3hPdXQ(`^^u}Uf/`;ǰ G]| -2 :ॵTt&PN+)F -mg?G:_@);H`eB  kb7 -(^+0!1Ü.z܋dTPTaH<0@@H<|N+k'I]],z^ 3.XWA:4hLA:kI pVz ItQR_/RL܀Ġdmk.S3PO -޹PUO0b(3U-EX xn6hP9\mS )ָBo 4X(@`<4kW.'wܿ, jGt;~iqǍ@UM J[ geI}Q5_._? ݠ5Ȇ͂OHcEo)|@: t  @;w(nO6]aNzN&: - :VDUidž H 5@{ |K ScrW]Ϸ5|MsukWK@Ka -} &dBB.%H@A6 ,:@0 > -YСO.{. HpRgZq+b@N1P8p@$#M`H[`K - *C^Xpc6\MCpЂF_0,w4ң, -0 - 6iQGhJ~c=sd֬sf ;0>2 Ѳ3"n*4Xv Īw8=`Cil~ƻ؋*h -hi`XkH$m\@ &hL ^{\ДN9l#hPrDMOxNR~F}dxu&~ x*SkSKM_OF鵪@#Kpi*{$@@&'Y84Sik'!:h*#Gk(wQjH)}Ŏ=ϥp3NksK ;͂Bg· mBK|E@YwR PޚFgQTP>wz6DXcj2u C},Yd+:Ə%e$<ആm0kQv5|6RN( @OggSPa (t*((+((**&(((')*'**'')*/>[Wa,kF{tp/ by@jx Q)R`kF ("3'ju/&0* -x]* -zNptYIAIL8Ŀ ߶Q+ `";-2i{{t$KJL!@SD_J*(T<T/TR~z:7: -b5Vz%[AZ 4@,2a!4YQg0wS4qfxx' v6~ޛ>ʓ`5`YLC-Р Ё,&(X &,H$(5yg{lǴ@: MFu K,L@t$b<%&`3=Fl) = C/ -4i3Z'%Ou|0AH@$^%I դ(M-}˾ ҩO8w{<\AYD`܃f ->'I`'P]฀\>?-, x}'zJ!̈(*GW~ '>ZSJV3qby`(TP*ZO%@BPE̟Ph3 Y9GC)ab$yl *K'q u&woSn `$ػV@)x>'GXq -e -^ *0's,'![8Z5j2&{>,qii -&@ LUjR- AMNчmdLh*x#F-:f`a -u;)=xũ_NS[\fp\ET5$pr8_ =}^*, -nPî8 zST,n3`",*ҬکQ~O@1K]Mw5l=}lI^"4M 5c7w@;b*~*.;3oE>S{##b>8 \>PZ$gݮ5~&F. ;,VВfaz@"T -X& `$.MRM5p[nUt -#LiKuv$WgJ#}U ,I 4R-t,T E;;NgOrիl8,=ubhyoe"CvU,*:h ( O낫]gan5b/b*, \ߗ|$.P)to)35*jO<:EU> ͍:6"vSSRtU glW˺_K"`Tm7d4^3D߷ܺUJX@AvC@A2!b@T  >M8Guh`bZ zGD/ BZuDߟƺ{^VKչ"dWa;?VHCOaxH%1roUMLDaTߗfԪ< Pts[ci)[yOVUF]LL9<̢y{*麀Og[ ]l T(OuQMdqϝ}q{3@wEO/?=$mK^;E0 -! \$Kq0@t IPh:(h+~nwU0_71蒭C.?57q1;ŢMUFNW <^o?6j]<;)KŸUOSCiq0 -jP}Hq#"3MȗAH` 5ttXL ^nɮ >Hskwybr  , P< kGq}TF&Y!6J!ĐG>L+{<_DU` PwH(&8 > _Rp9Z W/(uK89\m'W$O箥`g4ǀ%ʴ @@ -: 4,ZLv}Gu&"Kv؁EpC'L@P$a\7#׵rj3 -j@U.-M_H}@`&Yې 0 h|(Dd_z [ht0% 0 -( -\۹~slWJ ɓ.G -}1\N@W4: ˣҖfu0D*[lT.@XHM{G/FX檚 r=T6bUyTkI(7 hrkobu5\gk -88[ 22A:X=%!T6@]J^˒[k)8YF [dg *_2"h4Q[&s ԙ:5T{]. +5s:JES -,\hDnsP@!0YzvJue4u񆚖 ;{Ld k0O7]=:'}`9ˡG9f&f_@@~<4U{tPUoJ]`@Q? -(aiT@ -  -X@~[' *+=Qt}7=tTHmi `"5S #G?m Pc(*>k46xh@ @X34@Tp 0eC=PN#+ޣ+WP.CBS89 8'"kB7;P1(lmА ^f`s< A=X0StP,B(W߇z㧤~RefNE _tBe48!&3@wMx_;.`r *z5:G=aWk`$A,lK~@,HW](I 9<BJESf%XC=~B SV`|j0F @# fjsOx7i:A؂̽ ~NHwP_  QV(eQɇLb4t6['[>]'wIt"<$]o-p n TG\|=GE\4 H5+T^FzH?*GQa  ۪Rӷrg*Z TWCV!0j@H $g<0nţY@VLuS޹̫tus&& q?7D7X̋2l_f>]VKۧO^"jH5_^1xN-=%#EtdnV@cjo1ZWE0؝o?^;Ӳ?{UZq4ׯY<})c ! -zB¹yki]/04|c"ֆL@>}{nOoxD(~eQ8 x L3@x k|{Z-`; EV~<>3S$0`R CBۑ {aNq s',CɁ}H`'%)3?5 KHr4'pb X> (x(ƺX%>A=x;hꨪ?(AU!P[  sGJX ;,tTkHh@*o3tJGu&J  a=W4y#B -8~8W LV2t|.kh*eJU Kp+>YmNiD2n1 -ljۇ@L rLX.-h@@$TC׹) @k.#A ҡy:r`"D߫fD({Nw芙_ӱw>eYbT&k (5 e0J fj׵߉.lv:J,^ϡ)ySb&0(v! -BɃ#muDʖO(ǹ~okaD0% C$x/@W`<H8Рw_Um2*u?= &`,h>*Ga|Ͻb\(gCtє@}q0ڻX+C@-  -8y \'^tG=0G`'O%mF|j^KiY6YJ |V"nJ @l!@lb!  &j6a)ANu{1= .6` 8fiQ~2Ti -w{`z\-- {9}pƾ0" ߨýt"@pr1ix -UbPP)bx)|Vcet,$*6iB9gԟK60hG)*'J!?N`>0HDPWP/^*P i&l0%{Bbůwp9IȅHb֫ @;xx`fs3?j覑{`j!Հ)M4Ї+__S,  -`=5>h5DvP`?߂=@Z04HJ~2nY tyZ$c+:4@OPXh^JoJW}p& E@Ax JjwCQ@gBL{ s\0 -(~L$@$$>qPVPYJS>$aF `&C - hHkMWWb 8Q$A]KR18pk! -/`n|@S~ # 68>78 !(4mP J GO Pd, y 4M?VRLPl @<&65O*,kKߓ~^/7+6A&bs?Zj ؏q/yW@ȣQj}+^7s=5O@aln 68n4Ax)@2AI4l L hYw~? , gM gk$mgbgiJ 78l-PD>97 Aٷ3%' |f+ %O}IX@@u$Db'[X6cכL'.+2>0&Ye+ ce l|Y~+QDgb+N<k6g]5ރ?|{F<,@p61ʜIzޯ?j0#Q(cݹ_@v1GZ%NA&KU];بud_gj7@5Rę`A:A -6O]/p6tA`&i -> /BȽ #vOk/Y!kfMࣆο8zQ׳ UB=>g(ץ f5@ -ؖP3]V1=Gv:0t7 )S8Sx% Hjf7ח{&+gڻJ@$VRY%)p˱}"f8gx.FU1C6S/7Q˪KDU \](m8+frR_pM1eHL@bMM<:PX(t ~j6p,QBkXǝ՚}WB}8 )YQ?N= bϥ_@8egڮ2?O3;c0\u:䒿hOQ/vp(@<ҌbeSYCy `$UMM% L<= :OggSeRcXSI '&)&$-)~j6᷎e8`U6-wf::SGdM%z\P*3-F411w<3iѳes>7Bu3_Ufk4ja좊HQ[(4S qP IL@>onc ֖<|H} nl[ipO*7p)oT@9` '9xLPLw w-gvxc)Λgā}W$1ΫMnR j8#i0Z(~fVF,ƾ,'x~W8lK fQ{\@ - -G@||ԗ,HH7,gxV{k'9S S4vڕSFePa$x>c<'Qq@<$a@o MtTP7$ͺ -ga-Maa+pQ{bWk zk6IR hc h: ${Zՠ v |ae5Ͷk!RkKIN /kvK7*A28 ToU&ѮOi31yE#Ix8IrS.U΀*p68i~ lp{4xtA hNS'TxR.^^jAW]ԇOUUĶy=ӯ $:#$iVJ>(6A>@^LUh39~85]S$"z^U .Pd;:qX(c t ѧ=nN:Qs4K>I`IـPXG*:8gU@$~ۦeI.݀%'n:7H:@ lm M<0^56N+vsl'7:s@u6}n Q -,g%3%h CI6dȜZ˫/A)Am 5 u]ouA5![!7ྂy /yBpqbgT4{}hx rPugE _ScI^ 8F/OFĖYU   lI*f<]@, -EDh<XQl"4">PҸڛAQ1}F2?<߃o7llu| XCXS188 -VvR{룱VpGR`I|WwopV"FG'{O Ct*Fޠ50 -ilb4 -L( >fP*?O.[F4] @4[% (8E@qERwEqc| >Zx)mBrMd#Ę-t0!3V>4Q~nC :jFnt?#=:}s^ uVMY pߦ -( i> Ѩ-`(fe, 5cA]È]`K(4  4 耏-h>Jfg\F5J -a=ý%^I@5 - HGOP  Zppc`np2`Hƌp1ЧP`0eJÄʂMLZ|L<8I?P>@&(0h@$^JfOx8J2O{p_x: \hv l K@U)88gTs{xMd(@+7^!7P18HȔ /5{ރ-`MѪZ(+j PO@꤃~>( Px20NH]`\9v[%8((<XC2 - -TL`@  xu A+hth0@^9 }+#b(b=Am24s`N#t6Z5*Q j{a5^ -V -4N|SХ"TՂu9: WܣCL?̇+!дHH<P xiZZ(5&/bz826x@єflK'4^@ -V$ - &O|\gRN!W#i8;Bwб4MH -Y H(hHZfݷZ .P0 m{U`z =ptJGh3P]AG8 0\"t,? GyP7? `xC.P?٠b=Δ28h :iP@GHt Fp8A&{oțGv6\p~|H+p 6@g\yXX-o p07e{[mo6tE'ZB(i _0bH h?:$кͮP ЀC -H@OggS2SdhR!*+y+**()**ؕ4~q -AW"P `0u4֧)OQ;x &R#< \MɰO (%ةEkmrCc ,;HW*(t*vmS6rZk%,v>o؇úk/_u=, XL)E@CL(`2@ OY (&`[ ;` @@+vt -($T b;r_l;QRNӳs^UDؓ3Qq܊3L̹&& -:Mϣ]2 =q)e]G/Y?@>h`,S -(v1ZCE W?Di\ߧ_ PvTv sasK3j_{xߪ|+.\<@'@+:#ihbay -Y֏Ԏ2) :FuSx,.;Ϸ@=8FhQJPNP`@p XicI~p*y}l%m -hpÈe rl&&kkr^gʞf Rx9:•(^ׂ -_@5f$kO} `5d}@#Cj `~95Ӑ80(XLHt~|l1*PI 8:d P@[ -@$ 4N@c9K\\hz!DB 8_~@9R%*8 -X ~F#5\.TqbK uOC!A˃iuN~1q tTdsWHX,:^f]Bɫi߬\x>_mAh3f1PnXT);y~aִ!.!H+ >ӃqUςU3QBg'=D4 7y -t @Yxr> eB/)ۀHP0+A7J0kX_!3G""֦OQ7,Z.62%p>Vb߇lIlC @[ cf6F(@H&# zF\ķ=xly%٨Q(!@ "9v^/KuJ{ HVդ`1_8L@ ZCn؜EȂ2 -d}|-6g׳&UaqLϑ xl8(ET\>ʶ\Ix,OخvVxZI40j(0"?牀k*U=4־)!+ P[;N&@4(:^ Zb!/`";[",R?wޘ2EP"FگKe~b']W\L\K&T ӗT#J}s`CYx>06 - hEtÃP0I@&C ԣR>zK{R णg@*M-WlilHJ7(,l"m -1=2@VF׿՜yII9`+h6  \Z5,_>t%:AM ̅kGhg:K % @H5t}0#n`tVvh<hUW&nX!(c@(L 7&[d*?UdPyJ10ӂwU 鳠Ø;Q @ 00G$Y# kYp  :'ׂF *AzFu`Z# MMo/ZRM Nܐ3oAM1G#Cd3) ̘&Ղ1}6T;ٚ:| @:Q]&Dt~*F-Ad_]KPZ<+X$aP@tX{%Ehuu@ Tywܝ^B8HۜСM ' -9U"* r((@BAp@X`496(Jo/] Pv`{bt(YU P@`Ё@, @j"؈tb-@/^Pu0PWJNo3vgㆵ` x@u\XO΃ P TT`+k<@0 @& @i-!Sj.mkyW{c`[QvFTƟT`z@5^| 04~0%v "oWRy%0ƏY"7fy[j a0&Kk J=6BME45ЙxP4E)$IT=耚܁M:+N-Gz"Ƽ5 `cZ_ `tME *~f^aT"#= d0MCaKp{ ܰ q`ex7H&P6+&r0:Zl5`7 `[J?ˏx[JHsUV7̹f c`\tР{u04J@G{ @ |$*E4$0>L RzwE'l HvaB1ᢘ.*t&,@L@& ,q?@SgP.6ġś@CA,qMٵomՏ;EO9xEΞb4qk_#eLN ug_NYWsw(BU)$N:$e0rM+?kƌ;=[ϨUYX%43+VW>!r@ctZSmdK!t4]?x=@Jp2 E,CjmS)&,1濳@pUb 0<..t {OggSTe&*0+*)+(.*wttrw"++(4x>.R39z~4_(K~%ET&xk@80^ZK81fJI(;LO6mY_w#yG6>=-4ئLOߊ<Q1S =DhTOu,c |*jG5Ky{]e^LɊfDOyf_ -@ߐ'hrUEۺZv"umT}/lO~~aA<6ky4/A?tLTO6Γ7 1`9;mu ib,}xRqWO-ϫA?O؆N'.`2 ۭ`ڛ{+s!O3_0Ƒ!;]y~Wڳ,F>|O{Êz3./U^9M#^.2[,C? 'nv![c0u^ȿ)LB~nz XGc+!:Io=z"Ў6`Sx,ٺ])Y:a&> Г:U\ZHLU#2,droE#Ԧ5mu _ Tqx0t^ˎdEIW $M'iZI /PG  N${zh &Ä O*3چ7P^`D0TZ~'G/Ik:#WfqVjJXu7ozpP::`A@uF "8Y-`0`p 0.>of:v@j $#Vh*(waG1v,@HEFƈwrHZg Q">C"<m -t)Pސ{4$x'PK0‘XÂ>ahgnLʽVm.AW)%5X$WG >3( -|&Yp4](wq {P `{y`4qn\3 -oay65ht@}q mvm<[% Pu@XMQgQ{ 1^{R`@bà㝈Akyڋ -h h>^} 8JmU#6~Gt:QJ; XPQP p< -xHE ev^` -TpG`6{P?w_c&6@tP g(иϑ@y;N^@,:QA"_kMཊ*P=o) Oap }')&\x` q7f'' -A@&~}Y`0uK:GWS n)}'``Ojw5}g'p/@4N/ʛ_td.>Sw{4^髜Qiku/P@ 0iԘV  JbU -*Z(®i_Xk`;s<7 wYlƒJv߇NnaŞ m^̾ $EHF %ǖa 9@ |T_ T`0{@Gqov9TF2L~N>#`"k=u"ˏB(4  -0zJGZc@;cqz:UmVIQ{9P`09X#'U􊺂.t+oo".zد> BJAp0,,@44 -&里O@@k$%J7@цsV.BvFUJjēP&^+ އlkn|VmlT`lGVqH`P>j -e~53# $TM<{Ljˤֵ5s{ P ^>-ŪahA&B$MCJ+5 -ր{,v p;1}zesƅ8Lb0fVm?|8_z 9mm#U2 KۡuRY+ (xP < ({WXɥ=ғ& li5u \૸@W&<4pV1+ G#wVRQ_[j=uP@M$KIF0[@ - @ &L(PlO0ԦXAgk?l6(7]׀u ` Vn|yHw¶}h oS_uO*ƾӛ,)=*FxPMPӤ$, @ >06zYxl 8Z*9˅u* -"ux"&* p_30S1;\X n/kvpKHh@ ( (& ^}0\)-Ө_V FBCHXFt]c OU]O0߂I2GUȿ# l\|3+4,NܯTA iLw_cq8w 8 0v8+ x0u(+$&8@(xxW:ދvJ&)w6Ez -@/&@gš?FQYP2~ -3x\A5/z~:P@WU1̒9."Gnzé0l%p3AeGKx  L -kn3oA%ŎzojytAWKb+4sLYEk;]&`:j@ #! -س *9 - -J+@ -lK'`d6wޣ{=9좳$!<8cзkE A7 TJ<D LK`Lua`>b|f[0pksb h@'7!;`T!5L$4J[qi2Hz7ZޣJ A$:Q>8ad)x:԰^4۬FK C+r*Ql%*RTOLl?OÓ8v@AI,^@P@:t -OggSTfЈ,+,++)+-/.'-+-)-,,)*-),-~Jw)A$5- F:\H)@* p3τ.=4`?xmdɪ?J8`D -8Yj@5oP^y82 -P`k7@&C$ (@:駖qss2e|vOuŅq,kuͮw:䜟7ZIk۝1gzI}Rڰ׀?' k}C0t~'s%r9ZY],Ҥ3~=4@t`&`) $0T/RVa 7i?m޽l+?mgTqLWq@M"TWӭO/IQ:1]e`iTWue@z{R1z[~q/ɚ3tOcLg1:fIi($gs*Ɔ6.DWv5@H#z+DA㋕m-t;JT/଼5 |GAxIB;+lٌmuHh]ALO_|ܽ&f8 ժv,9* fQ3;3;˚fn.F7]:.~{R8^5wMǾo[V㡒 Dr9Q(ǿR_\K=Ss<?6 xؓPpUV|+̍N:TG<;Tt, &` ^RYlTLP|:AIjP1A@WDnˋ>J$aU@}+P ;a~SWI8nz{ڀY X|O%F>I]pmz-Zx,t4#!~_(=s _8CApP -HT -c}lRg!`tD,i:= (LxH [)ilMI -ӜDp(#>6֣HxPR0x`OzPՈ1/ MJF!s(7 鉿6˞]t @ ;'<ъV K 5bC]ѡzHhB6v7~-jd}M o2"A8ĉ^u܏ ܧN p0{1&p]& @ $ ' {l5K4۱F}(cMEkD>$&ŗ!dQ}*T@(si& A g~BC .A08aT5AT/*and>0~$iMcPzpU൚ 0: B!<ã@ -Z),_L! H$@&$~w./Iڋҽ+z>$@0Z?ҶD<>[:MV@.{H{ =0v0Lfs)2KqUuhc&H`."cR4 -,` ;NYWF1{$T$pt ~ 7;BPH$Eد dWFv0HUdJO~lP7 -0M5 L` -4I` H[Om[-Vtݽ+( 9z̄GX\R@|C %(^8 ;(} / f|0$<ˠ 5f4$ XPA& @k. #FyS˕G:O} ?qI8"뙂Xs2Ja)trܧjF2 -l;Uve0cAAm4[9.@ -0P0T><74]  &Lt)6C/ "v+D!#6Q4E OU@@jo] <_ܧ>pJY\GVeGN: U -J&W.=F?s8ĮPO37E -۲ s G='΅O7TTobxc˝xKP ';5)NG8.Û毤V{4gɱQvMUdp <+ - -)=](x g0,=<+*af{J/&L# UC#DW96 -X$kF`{vɲgK^:@.&_w -x_$Hs 'b-_}X:<+1ȩP%ZO~ܶpSXU+pz( @4޻X 6J9H&4*^^.)Rl: - -H@ ->?l2I޷bK1p~Ln]c; T``oB8v2>Vă.7з=p 84^0LpaS).1/t^*H9N64-9Q! -lCP`iOggSUg p&D#/./+,.))+-+~zxtyeYT [COl2ٝI}1ֽ֡?>bOc y5}|%Uas+J \D%2rpd3~x8NZɚ9m -Rн*H$ېJRJι=DD^}/5 lvnh V }}jO{Cߎ'y8$Lg?3,3beB#@TI]n$rT}~vʭ3M[$?t*u+cFأDХfY ,v+(&'ZAG6DE Տ 3;zj6.wڛs<\OjnѵGfkbN3G^4@v|`K< 79cD P(ӀjN*>u `vyfAP1 -Exs%a P8!:(< Qւ ^ZSO.j7/`p4 hGXM% -?%;N] $M\p'R ϿxoQ|-h7 ? FGLㇶPm:f\.\Z{`O(6vsr0Zf, -f - - -5`Kp :x3Kְ]ü܇sl𪘪 0ᔭ &z ؉>*iL<<)N\sHAyTlߣ@hC6p.g|oz< ܎ 5Kd@iU7PC,xghhh  ״X}c^O'@t6JV X g 7_\У -> 5Db >Fj6A`M߀XtWhb<'+' Hq71I?=`v 7>mŚ&wT!ྃ! kƷD-;tY3}檫2'2w519`.>RBgP*@m0Z@k^'O3:L0<C36@,tI(M bBqE搁:n847@P* |9\i*;ԽjZ^mez—)T@X| `k !'G@=.6~*j9`<տw|c#er;3ǡ졊P`Kq*  7pG=YUΑe $và$݂@oJ@܀1H<``>J})҄]z> =7#1,#Fj* ?bܚAxC@s=O< -Gc~5ՄmuhaVE07H3Wahu C&twHL@1I3&P4~J 7>?}6RXq`*``a! -A1rq"p.rvw3#xvnEk/#ST -vq2?a;<N -@;507CFI@ JYF&4^JT`=pO@ޕ7Ѵ@N9oS D7M`~T7&cxsxzvq^QfQEMQH$&(h>*wO%:|KT{f[H2^k0t4*?w\kOzE P8X` -@sT`L r)y6p0 pԆ BKQ(`T(~4Jc :Ezx|l3>f L -slImbzj.< 0a&65|,ߏy9l>cA;B:@! t0q@I 1  -4|̚EA.= -W`0O"`ImZYUlPp}8QV% -?u5,| ?]8~(7j8IUa -Ua]7@Hp<,Dm,ӲVB%K_H]{7c_~0FT-|,?/A -(p | =? u0%Q, -iI1a"`4 6 -.z7CF ;s-7\+0!jkPU5h*zBT~кxS 0=jI - xL>Wf @6HC( .ђ43|BvL &@4 f}lEBTmgB!LdN8  xWtyu8\#xlZC3#[IVUC -x֬%ROp:fb/_vP6@]FyDU|Lg`zahJ%d%H`FK" -<t -@1#O]"wxxĄp4X@MY?P@M#eC$Tt uݓap[kO:3pĩa(\fI^G6<U7l/3Gsx&X6|3<>h .hd"0 ;7#e -B .EaN -&B FbBu_POuLU/3HHg$n-1 @pEH@ v%͜H@a4SҀ^E `+|WP`8W9M #\v=T5PS)!j wӨO^DH Fٓ$۰02+GИKgz8*y//.mᙛ_CAv o0ڠ6 -aR"S\U.=N0e,!Tg0P [yO-~[nRunwv$O>2t5*bv8"Rpn~#5p[Y m OggSiVh8&yrx~**'./wy~+('/,++,Zm=ŤG#_w/ -4h -֭e$&*ѽ:zw53BgrޘS]hb 0؋IVjN+3sF{`~YL1C$R 7p3$'xxٰ&pmíPi@@z;>M2ׁ>9i ur6 -_cƂ8 o -ȆUd{;ZP<؛AE ~1f53BDTB*k6{ Ph0\;}Us~@N1Ft!S\ d{2wzL@}s^2e>Vo$>qad;@or۞Zm-hg -?s {[BT긽*X@17>꼦E yd]Uݜ]tr65/ٻSZzi`;7KѤb>-3+ 0O XMGcxv55ierRYx~ep $-؀<88`__ o7 zP`^]A(47 |Ǣ :U0P `Jf `^ZiJG/{o:=<W 6GҜj؂& -h> t4%(@II}!F? @(0w[?cAaoO;QS",le D6N7QE:4.u A.t(th~ZFZj3>@ c6T>@}ncH -+-W=ХqxS >>=PeF$ }|'yE IhP,^h b5:kV,ے9j}Z!:p4 tDMHx!<\ #T"y^h_Ԁ9 ggdה|j9Jsh9q *2ZDŽ_|4t @S,ájRT< 4 4MS6QSh2q)kF<WOeΰى{VFm׹1зD~ςL\H$]"o~h9m)2J] BmdHe-L~j8GwxxM7 =^KF%  `/6|ad [{ HDSQ5To$taN˶4DFjMUaxՠ!4Gժ))|j:ԶFkN=UrJ`\% \Ywc >5Z24X'|TK[H y -m@ @P~KZX[m) -XFC :۲jG~k5+/Kj1O`u@q.-p:^_@nm d44 0 L6IeTk fwU,,\@hh(:qo(XU$Lh.|efMHԑC2"ITWO*jǀlH@T@jk}RT% \heH/и -8 -Pe$jJ2/ QOggSIWi'#ztu+'*)*+-*|yy~&Ae\]StÝbBNgiIT0֧S{e6dsXqs' Oi<`lTcդ%$G81/C0`Z jm plh (zf u7Ϯi tBZ $h:Kt -}`3#PY36 5cIh@ (2sVE+')= -̵CP+9J`B0<  4 -  4{%&'9Z<uÏ_|L/LW >x;JU;DƛüMgƪ$T Ԇ8ƅ?jt 8g#L| -0JAG_wPpn=°$lG#&*\# N2Ą]+K`>:jܤᵤ&z3P)v UjS:qM35LV,*АP83h)~{\wO|[ d MGtZG -!2p-gRI&ž7T='bp@X '3OU#%cU8 HfIS)5XZ HM@}P::ߚtq͖9^fHLtJuqC`K # =?@i; k:+n$^P;AV{.`yH (o>,V0STX[Jkd( -PX!4tt < :췛^m,ݲz#ClUmik#ӫkl{v`uP-P*Jg)r>h{BRY0_c]tL<@ @>[w%Vkh$׶LpËTѡ$ZY~L t["H22cpwSc^ `pəA5upJ+5@ >(n1[)uxu=HpC'hB@|~@ɋ ĥj54bV.At>B/P6}d>* AZ@E k Jq1)a f  j7RD#Mڢ -=F,:*8sxcud -ͳRiЁ -%4q _méŶ'&pc's+x;ȝ -q/C\+H PZ F]_JaUo`at@]MP8g}pW`:G s&<Lfg'rRɢ\rl/׋>iteeWҗ8~n?dW+n -3?w:a;&\s)c&Tݧ3e&POΩ}tY#f2B#Yi\ߗ7O"VBM[),;guJ+!GtW9s?%!?q5^2(L"Wl@IT7Vi# H P$'~ҿNwW{* _i (  vsWqre>w[!$6ؚt7[KDNoLNkU^{U']z:.}I@F-U|㥁 ɐ0` c HNk~9ڧw**(RNpZV` -p$Z.t:I -R0ZqJe:06aܤ^¥^ӄJD ZPF( P&˅ITUMv]lh ],?UICfȺO6P+9A푤FP@~7\2 -kYK -ԣa&@aXO ` !G&&`-Z7 !v:BMfCXƍ%F١8c?/w;HIϹz0(zh %c!pR̮/^d\^ @k$؆pv^Nк_>笽EiҬ$`  -X=!"xH`1y.E$=]x툤ll*X8vEf3f{X$ 9Qv g!aF[qRo/`fGij@zI-΂fu%AVI6FK"νϼ`z}syW3 -^-w˃KaN&` t>[pY-:eOpώD )_O)̅q'+d$48IW|h\N`J^'=n:/*0FtE@0M@  )Fp"z=LW>CzM?`'P|4L^ -)p0)#؃)IP (wRHE@gxx+hY'$C 6yK:h` G,+,!Si@a+ٚBi׈ 螁:p[YQ EEmr9b==KrJ{7<^?`/{L&)DӁaa(9y: @`8.5Xc~Kvw -sO^A&(Ō6ZX@bL-  -k[k|$XGTbUm4J|m06܂-g.\9 A_zI_'-_ @a@`bf HB}w ^Ht":i1 O:"JJ -X2K3sr+*Y -YX]#8{`;-J"o6GIƅH@>7!)rCoSㆻN - >kcvp D7$_O%\'*fD -cܩ>\Oߘߜ>6<[ 8gKcE4(A{P: h ZƷ& -n!1?!4wmkpi 6Ei*fA3SV@◙>yR;gX"xGQ2U@A/8 _}Ob=p=|%b) Cu 4h<` - `Z}2khC>X4R#ϯiA`T63/s؉LO5oFlD@ <+$rxifOl/24#hAhc 4xXX< ^ x@(Jv_Kl?r 8K@j#`}zTxXG5~3$^jxg & -;1p\ Pø6hGX |v m#]?ڒȍI" -':v: `vx X,5xJܢq[]{47Kj[)Kaȫ`F_~ᇤ6ޡ]x~ h - $c`~ZfۉdhؕK -/XJ?Ԑj! QP"@Vb/%U9.ˌg&`ˈs#@EE2Y -<@LHX,&0_ jbIML^=ܵBKЙjJK坰j9C5@Y k PU,~ p2u47z<B/"71VX_.M -  jbЕqw;[]0= miWh| 6@|qB0# LN>oxfTRzz 8_AuЀ HzSvYzm:5amV(*t Hvq^*fxzN›"4$>i½J߱?6笄 <פ,.['x(b'6` Zd -O=`C4[H?/rJJx,HG sςk@`b[g+H `&,$jפ1@ٳki{(| 4$@ƣL G os)& Rq|Y@ F!.~>X|}~9p|Y8 ϩ tB(@vk[9V8mz5oA½`G*z$@ァv24ޗ4X23R G[@]=pg8/\&4Hz*a*V&H@0 X@ - OggSYk^D$t(*),,}~~Tở2|P}qdNVK ԥL廟P<윂7,h^(Bni(֊L廟( -¿yXE-r$_Xl'PKL@ڪJW& Pi*<;NNfV6tLu4P0&C\C'˭wZJF <}-R)B=ͨBm ͪiAhOдo{z][os,Ẃ:=;;bGD ;;4i Qg8@C ,H7蠀 - F Jf/aY6UFאm=\k3=@6PQi"G¡ -\N- R/3ۉ=e_p8 `o'8j8XȩMIzFp -VPXETAÈ* :@Ё &>jF7rdgu&̑P:?whY!C4?el'7ۃ|_b 8-6WmR -DBUX@<X ,Ѐ -Ol[ny_dpp #mKߛ@,P&ؚ6x$|5ƪ -{ZVo S_VCVnI/wl&:7hy m@c) ``R,{WJ-=81W=h!hXpCkO& o\v -eʁ(-[@y `_"ЛV>cjb>? ಀG~> -[mҠdb&X4 N`):ىQ;OME'R -o9DSj^sGv@ -n ;CQ:ab*J!p>@G[ -Egm@o'`)_lǤa=|JŒs@4u3'7 @sBnTO/M@ t:8j"Dx5< Y`)Fy~ l'x,0glaB7DeTo/`D:Y9R p۷vB'o0D=UC̥Khva(gvvUP$1$X &DS k`XoD\(EK$| 5`w8-9xVptTSU4'r*NA͸wl{/l]P  u*ȩX' -~ -#e`H@> ` g/p?xP8[KU^"h-$L; %S ~.3jp3/{x@c[MpE'T$AFRX. @eg^+l~0 -nW` -|Wv$s xq:O롷ǸcMpyzxcc9w (IR HP @G >{a,XAW(S:%*xo1u" -, XYMHpF1&A?=hM$|p`=F  9` ̧[w0> - hY2oIU`5,.{*TvLDzG&xBhti$QXGU -|!<&ÿ xX~dL>8% 3/ݸ -T`v(?)<`ЀL `{,|"SxwIs EP @p* ;7ƾlj5H`fɨ0/Ma֫5.vQ ~b~o -JUP< {\F4u -/ ,:!4hE#K^׳(8#EpO[o`Om?2S#p^4/<(y}z },YځlJ - @L/XM~%(aiш-7zj3hSb?߷91q"4s\JwT {1%S!>-*N?e -8 )6\dXLJ\%9̓:qPOLaJm.{# _Hcb -4 = @Xyfeai-I<@P %(C:hy\{j{hؖME?xq*qM?ESQ -u kE$e^q/q/fC -d`> G]u - EE˲EA3%|`iyJ={HE5?Ρ؅bۣ'tb j`W1&"~0N|)[L60 -]PNkyX`APl.$h43 -(<(<te؈`BWp%i4-XevXžt& [{؅kWxNI 'G4kw{֑]C$>Z}d5a#&J˄\K9d:=0 -!/N-b4yW4Z})ˢuv &`&OggSYll&Ǽ(((())(0-)((),-)+ީ̰`ybD)<{j \!`c`q٣d -X7ij1r| ~,Jd$>_eqt\$qZ7dGz%Eٺ6?8^W\*pW7j#D$Pj TqP>Kv#s̶RgdRW)^zKP$ : -:-fwhC=z ^Z  A3EG@^a&i\o3a7-T# V2НulC ~B08t ژ]?7G_zqq",譋9u`.*;*Բ[=j_bY̕:s]0!4SP@1& 5< -h Ц8ū]]YuЀsz z0Ufvq @|ġ|Iq?DzGY{es f8s6= -ݹUvM,IwSP`if t>}8E,$źXGYu9MBt6gg&1[} 6ȷ7q|BnhYȶ7[- {0ÖWKT <>`31l?8撴|?pPϷyI4ѫ -!{ (-.83|V0Djfp<׫um#yϯBJ#ܿGz}ԫ+3!nOu3;@CbU#ؚ񴔈UP#%c݅s,gPx_/R -Z:,_h CoVBp9?AP7l @=]bn=(d) -r޽"Aa")`?:/ ݗ%svt2J,&FAg=k - nA|h^361bhH~;ՠn6\&hnP @u`b6@{*>su|MYP܊0eR(VvAO0CI c -L >+Eoc^s+F2%|38 s@#e#(GP,>_(w LFN(|0YN"%@I04(27SOO< x@ ~'6*Ca˟&P [+V(APJ V;I & N 59jXd7v}.<8lRh-nR>ÍeTt > "_%v)M: I$X?8X"@v«*K|mJUC@ th6*G[WYWN/fG,vckR3\w=:=W'{ 1e3xȫ{37sfn9F4:M3^0`iv6-q\Yރ@jl(!*Kq - PF!ʩ/{]z=آ##'M-umwP>+.oաEA{ǜBPQ hI=Yhh}1l]Wd$X0 LM",<|40 С(bGj|@` ? wZbZ@}"!vefқ1( yko ނqP`Bdv +-r˷@׆w|,pfE]"󾃒1S\:_( 5*SJPei H7 -<,-$37.gM'?ƒ. l݀W#XܷpX뽱m7S%v1{sEV¶Zχt(}a kQ^f ˪aF[L2v[a bj9]vY+4Osx;+:L')'JӮZ,A.@*L -$0P  HЀ& -$Ӌg|Yj !U(C"${9a^!9v՗4)O <̓HV۪G2;8e$տ3 ~CSxX+8{Oǀ]O!S,Ͽ$2$t)ӛ.F? (B^SkT뮹ʎ $yŠ)/P"},|;.:S\5zZ51q 3'hדi,^ TO|@ds$2*QaE^ '7(} >&Jo0ҌOqh: 0 P?`~h`* $t S h^ay1l o &ЊIBF@9x,ϫ{RKX|(cGS 2(s`;L`dnVJ@]7iU\X72F|b`LU4'į4OggSZm,pT"}x.)-*)(,),.Þ۶q/K۳ͺ[;h:M#@NCN)-t6$]`׉;,lj#Pi\3`94 mI =.4}MX5k@7ѭ!1Es^cP:PFE;:[%P*8 ( eP~}`*-荔 -t64jx|U^êkl6 T+n =X3Mu #`Mty x:X&u? ~FIӿ&􁵱K.op,wt藭Z -DF_14,;/C@c#Fȑ~[ain8vB0O xPT$(t;sDOdr#p7"֯uNM}qĆݸ4 (6]'VOlAv><>W ;i"N)Bx~j^p-L\ ]Ju.yHU8&BCF$N%pp -p$/:@?9U`z07x_n{0o3q@u"<x}G|Dcm4}6|CR]d)X >#% 0]>`mLt̥CC˥3L @C$^ -8yWZ. -UU&0@YX 2bjBG`:=Rwx p[`]}5A]#e6Pf-;Ad6M`*0! ,H:s -% ; sI2t3oJLx[Cy Ac -@n|P~T +JΥ322_a^ah5톢P:! БM@_PpXԀthAh@@Z uKzn:&0myx՘Jw}ۙq|ޮFQB\0#[+"Б盀pFNg3t@M42RJHP qqMv͈eWZr_zdБWcj2;\,RЁ6nI+"C t{Lxow7@HsFaiΆwucPJgMLi6SX Gr3|*>,5P4[Ґ46;cnmdy!7A4V=,@L0ഊjNdľdmZWo$czv"EíY_w]&dO۟oEV h%3أEC:Z<#>k=q&zZ]xH[e~$,7MFUC Do`m;Lc&.q"FUC,a+D@AT;xw8IQֱEh#G. -:927p?Ċ:R@OMx>67N\TYF}j>U(!\0GGQ78x -j"0h_7O1=Q‰t$`ݓ -nK e$8p#p4QJsE( f7NYK=44 lc#z4UTG`$T$$3Q]>m)&Yj#G|8?ff|) NQ@ ,~IfcgRؗs{𪀷 veaMJ)P@`-p|;@,U[SeSG\s#}bџ*&sH`@W3=z H@@g@9f?8 "6h#ރ mkJS`֐+s|N@ -(`p@⢁y64 IoLv©ECE DZRj?5 -^ +cvg|H:tG5#!:g -X>t"7$FLۧ6Y -؜ʽLp@=(Gx  ު&'|f{A}YxUCxXp=`akZZG8X`B`Q y[l=yʑo,`ݣ^hʞVPI:7!8qUԐ{BM؜ 4,Yf#",u04^@y `+Xu-T^\ -,h18U)@燕05`Fz"L 4@k(JYL l؂gh ;,@Q,`PHZH/;rjA&n4GPr( oG @fy ;ς{{☀$4/e"qb L})`@ @<|Y67S[1kLzP@'pNn=#k{& @y.\(1x5(Q*׉O^cxIg9?!B7? -b\)TxBg;`, Аh4GٞzT=$*`@&L-&46Po=؃ -w )A#`-Tt=/9s8>(>})cꨅ^g1k넞\ԯZٝ!+v{ I' 4BLFtphjC$s!'*UkKٜ&m+MW8/Za ,`l fT5<`t (^[P!6FWawa IS08Qh B&#QM>ʼap-Gޒ"%"7;0L_!2T!*1R+v!42* -R(DTx A, -L>L>G3Xg,A'`iD#C?xQ<b`[d9i*‡N}i\n`Wa'gdΊWQW'+⬵tˋv}Nm=N+m^qhHѓHwQn,T\psX"y@XxG@@j: ^<~kUhmIy`j -B`-;> 0 {=uIU`xjewsiQL`o. |,(?O/mD#6PS<@>%9H@4:^QmB+R[w'XzpR% :׳vOܽޑĮ;`:E$)dr{a&E-29|-PB Ⱦ귿Qȑ@蔺q֔ƨաL{̕83qIj4ŃBBxv)Ј6Hi7n("X0V \gI {9ҹd* yG>l_>>z4z9ݮ˸qyV Y~vyi* >.sP7=~qjBc w?S՞N4 ̶J@, Z4(PǠ9&JqM)n!q ƒC$tz/'(kv`5TmE1^N l  4MiCu fWl̢/P˴5$aO$@&5tjF:ҩjRR,v#]\SXД~^J.9L٧NW?)  hp4|n}7`g>"\g@gh!]K+uUP>n2d廬w˪(u{|uBqzLpmqTf@?je> -ڌ㚶Ne,&e/~9c T Q"txX 9ht;[[cKqIP>OX̟VbhX0Ӂ`|X @b-pKTpvtb09IFW!%5lT  |gQh` +(w[Ԅ9 p770\ύ \0?OMҡb*`W%`LfuT,޻n3fqƽT0ghdx>v= *Ԇ2d`-iZ[5a/|@IYd;|?pCw"f{*$&@ L.3.JZG'/@M#Vo~@ x`-^CV  @1F 8\%F+װ~_DbP#9% - 4@ @:[.{2| k55ޣ{ - F#t}' -^_@W8'%@/8ĘĈ3( _n c-&7,$b@x`4t& X`&k.(mzѹY=Di 10@sl]MՑ!Jl{_#;xqLJ&T&01U8ߟo‹v,KDa8ڄg@ -0`HxX>[׀%J~Um_ -9tde!$]Þ -1o^U{g1'W.5@JJd3\2W |G`〚 - -@Hz@:`@kNW' -IlZؒW&6!GW~hpzaY _/ J-{zB+[#Uy,D/9Cb"-H6B X&Ѐ0&>{@eiE٧6l@i I !P ?rs a > v(y d%`DŽUTJ&xם @C h&Ё$Igݚax,N$>NtF` QZX` PwoH>Ǘ6.iJq\)C)@ vjD\A@CБH$@hh>{+*cU|4 :q]SHp ~t|d@[)}=SPxp6:0 `Ig%OKL-h@ xjNsZąz-sN!YŢ (T)=+P -p:@Zi`T4( Tǐa>N(>8PC_0Xe\ h,X:ފg+CщvRmӰQ`9^`^!_p1 ?ޛ X`A>+n{)fLC_L{l`+\Y (PGum@`=:PGwL[*G)l106 p>>Dx1dC[ JYSca<&OggS8\o>;,1ޯe- mۨ -A*#@2HyFvMkF()h p$غLz* DL;x>`b/QÛB:By@7V`NX\Zth0Lc)@mW DDV=Q =:T?<ܵWZh6$O!TJwI9@J -6ЏF)ZQ5fWdbY4T@Y $h:{X)O\f?]걇tZj4mhG#ʫMw`O'ؽW};R>0Zx 4 -#YJd&/*eztF0xz$0\<-{o+ tcIVx `0@X~ xؤD^3Xkg(oFP}kPO@`X}C)0,3'9~F?~rKѨkGQ&`eW>И#% 0YJ&@+Et w{=$ -`h8JxB\pchPHG ,0g c,MNGPPLCA{NK'VSqc T`5  -XjC$WPp~; +҇<^+Y D %JvQqE -Dϓr/!<'!p˂TMFm)D, @@A` ` PLkY@$&x(xՠThMS1t~[<@  "kCî{oR\4`*=\= -K'(<\5lfN:l ҫL I44{NhKc/{tZJh1NT|!ǫ%i =(rm1)]~(@T/EA%C~`K~IF;j_UO 0+L&1,r~C%!9r-+e]9fQ5q-5p6 M1&P( tL -$B@>vWEjVS9nq Ӕ?@a@ t=iv Z{&w ^v¶ -(T -j0XU8k&?pZc*:! Ё ȷ`C:(@( ?K{0]C S `#J[ |tF щ $@O=Yލ~2&qD }_.ܥCh oN+wd`1. - @:tުװQk -q;!&tN>@2Wa- /@m YK6ΪO*?/O~+ AΚ`jUu(l`7'JCwz@H @XjWd"F -{^uHp lP -m#*: ?Z2+]( @vv{ue(`˶p3`"#;X$@X`L:wHQʅcޣs4@o`=߂)y - ܀HRC'4L8q@Niy;Jif`Y9qm0d&h( (@&(@@!jB:KxyyW#:kP0'E(JG&.P'Vq>{$Av~ |f('&.zww7 1,f (`jtnf!M4Ͷð:(h5C+ ^)C22GNG!GCAGje¾8O<}-t|lkjE>1Ψ])>n. R\HV4$@i>AhG`(ZUQx.lP\"u ;Dg)UP82Arc(ҩ@z' x*M~De?[L6&xU)AgQ(c_T 6=a,"@?${3Qk4Jn `+;`csEmD#DpEo1!uk'S@k.nkDSZwh2_7 :LtV@~̯I4.K{@3gXN 88SF]`+vqn} W:$0:h*QNae]V!x8)􉺰|  w6 W84Ot <&^ڍWl+JTy\[7,^lMQ?&[2?[w*K Q>\>f9y Et%T"ʜqjTj84ο]},> т1K~\G%0*7a7i35Ӹ? j+O5c3  Ltcs lH8"ɉ:GfbZBq 0 (m@JLL 4>UOXWwyqy.o$W:\-bPEP.?Ƅ`<ޢ.TpJ -h - -J2*Axۃ Fч;;x@05: 04 -0)4I@H -V^._V{(akC_0J PDzz> o6'ij1~ PUO'ر*(qCɠ^lU\Fet`}D| (X -8Tu촀t@ʵwW\IШ^CZ1{tmHGJ ->=)p_ADxZT.$wk u(Z'pbTnGpP5UT@$䑀8]H5nKD1C/1= 4 N/XEi f -4]/k -J@k& -  0A <=7)L@6ܴ|@mPBx.mDdP5SDcKN]K[%B= _.Au@V} { zacR ?Y  A$ -VG0lZ -;9BZ?eF ԗ@R||D'T>p<=9}[Hb %ux:Enz(0ࡽΠt~( %7"B`OP0 :`w!"xL Q@8m.!-Tq׊ KHq<aJ H0U -p<3O=8RÈ0_`d8*yʥz0UAj:Gcad,0No xPwLL ^z3^z]x:pptm(\(Vw["`-׉H|IVjkb.KwSA*.к6A%0=KRAA.@dX >O~,zd<2M+`jJ@V,tc -\$/҈`--yVq] 7 -$ XsS9agX_34'$3p!^3G,Y P$)@L`G4pgQ/R -dOp?jOhTeQ0[[?Ys7b*- $ڦt]uHۮ[ah5Ŕ @iǔ]cM"@&eQpHچ%3u &x`^՟fDdmeD6Vh#PV)cnW%(_}cyzFqRNqQuw;/~x:䪆WҺu -d+©!|%\$(_!Џ ZH 4 `ǿ -^T_=$L M-QGM -XF`kπ[RxpWSK2?Q*.U])du7N<"FAdlǧϝ0f@` 4PT la>oMRE{T`щWeP$QF)mGǀ8pbRt pf_*^\p{y+K~pLߖ- |4O S& <0  -4 - e% aM^GChV@]0C0Qb @]6x}|\ I"pRx3^lA[*M@sy> -[ -Z  ` @CEG E%A@^5ȟ 6l`Y.ˣ[ 6!E@8u`u I@a -ȸI"؋;c `V bގ_z|rG ܏m|hR?L.tza݁` (mA0"8'E:(kK8G,B ק-'CN"iFE67 -& KcG$p &nd⋤$V%ws4&SA(f#2(G`0_58ĊYiy,<8?YxCy3j(#y\īo\Ħ _ߟĝNp ƀ^]сU1 ι$K G&m Ɗx"h!~_G0u]u]^ͽ@M†{zwOc8jnhzP\*gg9X?6t@= 8b wHw tǟD0k -Arwcq&&p @vaA% -@O$ `:F7>f -XZB+&iVP>;n6A;*n$psJjJ8es=֙JpvA ]yI~qD-FcC9h@;Xt -f7f"Ҽ%0 -,LiiXA|6&T0$-79N0Ne`iଊJ@I'0 8 -碎圯ea> -E]܁A7ج]| P r&p -0(` `64]S'ܮ`h -pA!`\vȢ!KA\K 0pR@$.8Z)`@y6 Z=4Buh$Pr0a AG OggS]qFlmq¥& 6*)h.{j NhVPYWTD#ֲ$vI9cF3`IP -ȀS -+p/Xez Z A x3 -`h a@9·/GwfJw,{T@9FUG0s\T==B7^9 |3Dn Sp%tlc.j wp Wv7$xL >ja![(i7,6p,Z#A", 61=qVGù~p/) kI逯$B'&d@T&@<а@>cjJHwȸ*ue{OF[/Lsi]σT3/H@iEt$b;l4 :  Nc*9SY&tT -pj@,!G;lDP'g}6y} ~-p v'Yܑp.tLt{ GEm -@%8| -(H] w -pZ ,B(@A@ 9o!HE'nU ->ڀPnÏEM@'LޱUi$pUv~]yF~)\FW;vB =}}rr4Os%ӎ!J(7,,0@ I4@^T>+1oDd9Gx5 Al+_- Q=VV `$at0AtV"mbc{.`"х%Ie`"]Gw ~'w -rV=Z#x)*d(R6-_ -$gAIDa,& <0b M6G%Kp%^y0g<&byJȗ`G9w#gЄ${ȫto,eoSpJZڗu3=][=eX*SPV׻V9%~:4|kՀtj cBx`ިeR#ྰc1fKT,?|aT, - ژ9LMX7㛘b{'m Zb}FSe -NsƜä NͬH4O -&i&y!M_=74zcXi!)F XHAW‚m@`4:sh(:|Y$r UquN L1p|5н c?/:0J<˝$ɒp &F7 ݰL@SNMG(xaa^Z6g9 쿑^p4JSVT@IDKѕR&z2Ae:cDg ~hYw@sq*&=q( -<`cU(jƱi15 gH)7ei'ŕ`k 7Pϧ n<t @})(j s5XNׯN퍃j`d #b|ܟyEx(~ta(@ <,pL 0~51Z|Qt$P{78 PZ%f`R?W {<[ Uo<|3)߾O6,Zf  BLX0y@ >eӲ1;s;|_npF[S$"1#??s:wU/5lڋBd϶رsC%Ή, -{g<⤡54/` x !0a~A7P.uQ̄0qy3%d;QZh@ -U'i=i&ׇA^h8JEx#\(E׼׀3g'_N:q˦pT +~mٲH唝foR>$G>vΕG V 8gVi3MjnHʇ)(ůlv?}l;.LZƬ%bpye.zH$t!evg0 Dqj t)I5'ӜpB |#,s;$HkzP[CހX`r$ S!<hhL^a-ƫ{Ҳ :֣ t܂7z@'ǞaXKD.\M\ry8RFC^{O-b~%IWԳ:X4? -6zTqٙ_mM2GX FZ҉ ,%tH $ ]ťo7l[@f`U.$PWpL P < Dƅ O0kLJӆoI_tloLJBBcPwқ<L4éP\qEeP<=["T=d@}㟔 -⢼$^g}1uU͚QUkR<@ҙwn{~$шq(:($f 6֓`ebj.Т -jҫj.v9|f:kt@"!i&D@#CC["ل>'صs;\9S?ŘC/LڏIV0~Mm֕hҴ.;6_@Hʓc 5Ԓ'9lg$ב~yǰ(ƣI=TE(Ǝ=Tt`/_CK܎eĸCzUMNW@hZ?2jMux`Q%U忻A -cp&yŪLy,wv< X"`7t_ p$\E4+%qTt$  @&:].ʏ豖,x׀-Hg(Ml6.Xa@:(Dҫ5-Tu _z)synh5@ [DLOV3&VtF U~a#Zn@7`_ \ܖ 2.D(&87 SvS hX;(@>FqqL6N8t=(7l@4@Fm(6 `elT.J<[T.M>5 蠗-N-5@e[`"abr$d6<100-H: `SZ4*\vx: >w$~`KP{LQ -Ђ釀|0[*>`Qe1@>7 .9ϟg{ '9\!BЭ_FQd Jx)@T}Lp4#5pyDB[eF<.h pB0iX@OEIЏ+ON&$ t6V~P6C5 !C?NF3!gtz -z(P4njYժϘΠzom 8a9%fS+ -.&?:Af}W( 0 p8j`  \{@/S? -aV!c BT9Z0 -@7a6όw&dI sJҥSGUz*%8C\巓 |5[ꐐ5ZN@E޸LK ~J}; Ϛiqn9BjLZ'k@3DsFZB||DgJL  z؝QDt-8+q ^\GjF3-պ zG#mm76ؚF&JPq≋:bb] -p&,@W\^&܈WUЏ -~'eǩ[ !A0+ύc+41/ &LT,@(BJY6eY -1)锎ރoSNj&B$:&$E@k -]^9^I #5&9퍖įrl\-}NGvH%e[.`.`k`qt 4`0&~9o>ʥ1uَ:l -pc@#6!$% -)(R>yNDfgQ=t^ zI@|C!yXtRBn+#T @)UHh8Gւt` *6d,*pg MCBZUU+ R(؆8BDx}̄=uϠ#sq?X|{iֶ -3"ᦃq p96 -4au*xX`߯ۥ:ܛl9&h|M?pOw"./`O!2ГE7^ -g ]T,`ygClk#XӟcćBXqDf¶2A2? @$ܻt,=t@,>\Ḣ(5&#ku( G.<1{]S'[cGۈD % A) NV` *%? {iW"wl*0E񑖈ɟ?,S @G0 ]:NwL$*@%06 =^i |f!>莋SK|}86q~/pjhb8$cp9ȺR>Yk>R hOlM$48sw - }~ ?HS:,0(& \@',p -H Q:{KDžݰEwYW 44CU<)قָUql7ww whG8$ݳ:cCU_3b׮.z })W:AIGp.LD6>1 -:0b(F.l t$@FOO"U{ A:b!\P P]T;.A@D -O5is{@De@z`?%x X -ڀ -)ɣ<$0AMuZs4 :v a=H{T`HРb|<"BN)NUɺ1\8? -=ED@$@Y) {5:p6S\C۫$V :@&x@YV>37zwރ ] 4ݴ,"TҩХt5 (ٟI΍zZI*?F >8JРtش!9~6p9w~Vc|LիzXX@GP` z6Mfph -6Y_IE ৲3/΋au9>TM?Ed|?(DP 5Ss6NGLL ؄F+"!HH0ut -a -e-ҌǬlwՃY^>A#@8F=P -꫶8 DѰ=u.Р۵yDږEG3d/߅ seiE @Jd=xQ("1Gڇo": V,t zLLXС t $](x Ĕ96@F";zJ# b4OggSz_sX$$,++~|{{))++,+}|DO%wcJq֜c -6iϽ f lOgZ52s0)|\}/0W|ge'Se*^7\DZ@ kaq{XѡCY+ DX^+ z+(MR34_hƀ$H}y${Wt0RT"_Q>1㦁#8${H4 !A+Tac8qv?b6?@_0@ 1 !8vU<Hu :0kPUL@xyvG X> #/o\4ŽLLX8PD@3-VS(:@ n; etp%bdOP à -N+#:L(t|$~ۦ',ɿ ʦ{U<6|6d8$g -!x  zZ_ @[ ϷJ2 TO"@5CJ -0AiЀY -&gPH-#soFp4xT(Tp 3KPqD,&I><,bA+-` $ A'>4[ؕN~::P5b;erX&#<P$`,[sqjh%ޟKF@s@FApZ|>EXҶ Ł'SMItwx3XWJ?۽x%Ep9k =*gAP b\P^V'Mb/ϱ|(mj[ / Fh#SnUuh]* -R[c \ -kߍ HJأ,g UJ9^K$&<_$s;:U%)p m 19πA -"`B2ɠl6~<1U ~ -=& x}P!&x@6@u\`l%^(jXM ^/wCx @L&:q&({˷sާ@^.nAl7j# PQ#@[p.[()x.0NP -T6  P =fIGA(՜P-iy -X: <{۷cv. /K/ `3B$ u:r0&oMd j -nL3`VC2/U0'[fO8hḅxg4o,hQ@ -:t:{.뷢>a<6RࠈVš#par̀. #ؓ1I7'\%q( -abTu /f,MJ;y"4:4*9mf{l}uY2@qt(j= -ѶP 45}p*3"AO%#vռļH>-AÃ`jw83 H"xt hR -= -?tAUwA;B8o 0Gn|F F̍Cp)Y]D  @ -@3 -ԛaGKJ uMЩzpjJ!DEx'@k +[U` LxC`2 104 }(e  -Xhd^DaBzNa8 `EWiv -}=4~@D+UD8z0a Z9YoD Wq@ zO@9 @xDhrL,UꯄKe(OA lB Ғ~\&uU/p3EX -o }SkX*  -8؃ꣃ/c2 Ћ̆B:Q􃱫a,h$ J/ `,~hFX7=:5~UqNG|8XV8n.|ЏJ6J>Nz>+9£u8@!?c C/ xaOG;Pb[@} 8 L J`›p^CK>$̏~e} $Լu `83IP^쟝h=^2(K/b)dM4`:~W&#k#ם$4!4>&1jCE'd: pWt q ſg5˛H|ؗ*69?-EhL [t@  t @@ :zgVٺGnGc+`sP<@i@ѰO~5*@O`1zH @R~T"py ?Ɯ$H(\'@,~zcAk$<3!l4<8^ %(\X@6pP*i;5/,k= t z.s`azYw@ Nu$LZMip51  WeAK|U _nU%b̒ G.3]:wrܯO0k ^zn龡iz)0E!@7l@)#0QXz@mh UUZ; #*OUYzapY"fRW$!>\3"HHHOggSZ`tR#{{{)*,)+).,>zsQcÄ>nR xL ]0G X[,,R ([x`/fpk}78 p19Gtpi/f+L͠D ~j.iO*JcAke˜ BCn`aE -^ mQ͉T}j !/ `RD^1٬&ft)7SPoW=*-Y魆&$,a:2 : -Ng(02o[jhPAӂkhj,méeM`$M2=IINV 3$3Dzx(_!D"CXC3jLzOL,h(^mrqrBhNޣנ0,ۂ(0&{t 4#p6ek-N5 XFMA!*^DMWhqc7y -P`A[lL &XСHPt(^]G[ ltZVVAJ_PHAu>ukC pBvkLPpѨ<4οh RCFVʶ?¥ 3ѽa \(@X0hX(h=<K< -4Ji~`>pF с"%#>&6c)&vP8ǤF14 &L/t{BcLK')qր-m>hM @a@"X(=yIcf)ݻ7OC¢+7T\*7fAg ુ #0A eVq1 ti -(8y{QX"&¿ -@ -U&'zc-C -XP Qt`h, @(gQjW6;> RDj=zC&1]^;J~ThNਐ&eQyӅ)^<]:;P8 \Ug W 1HAN'Wc[jB5OdfKH!{X:J) ` ;}tmtUdqWxfka8Kb)EbJ^N%fQ!A4uFaYݯuSv0 v$2 @ Xt:k|,&=ChJ#b(<@P;(\@Fn!!0fItAv{S/un]>Ps,S]a?m0~CStg::/uN)h]4@@@>]s?2!]pbYR A۽eJ!W3\ps:a[jү8R=y9X1]ӊ/nRwz[hL`bng!hXЁ4` -$@X@v«}epo_>c.GP9 -R]QN0/{W˱υ4u\Gk8Eh;韚Qڹ`R1Dh`f`|-a@g%M9:8$ & <`,&P,۷o9A܏0ɍ=Ҏr=cmgO$շ/"ʍ{/}mPpyb\ؐbQ$۷r@ctth|&\t% {/DR͵P׷|Zm׆ }-/´ %T'ˬW_[$۷%>@x7`YQ-]3gh\4wMMua5_d`{H.(i5=tܩhq;OPLq$ @R>Aa64] r&/|P2 -$4++bGh 0g֚R=62v%`i4EzevUZ+b+1^Mude Wp"V C!:7MIvBzO`Gp?!.M=kg`4` C)js,ءVb LPsԠ0L8U@_9x( ` L@ e>{:`(ǣ{t Wk˼ v_K|@q~ TEK/@k7n8=LgØA0A@ 4 ^v݂#:[Rz#73d#*CX"~n/wfxUpt}m,EpZ;mP|  Z`!:lBBL0:,id E6Pqi}{@W"<8Z/at; /b<\ Ƅe{z|+8^E L&^T5mBn ydp% 0A@@@u—FSсl2VG~g(~I{T%c%@42۝ @/DԵ . -6l (:4 PР $L_-Fajx @XTT{yh@< OpP:|5@ D@ |گb}BƼ}d <h4h0`mŵJ^wcRyxyM>H$DW/S܋nOӯr6:@v8e$i~bua@ Pv^mt -tȀ{VJ큱x=6-hpQ*@G_5|G0 -K -{U3a~̜Y0(藅G2b)%kˇWd}auU8 ()/,~ƯaIm {Iޣ :<@dAp#_) `_0a J"t9(Z<u0A0"OׇI¹^" $@P@>w ->=#{^T  ͑ٺ=z #B(3 /5gZ^ -cp[aG)Z0 :(c;+`#,v(?`P `,<,֣6{(<4GF?@N *jGԵh,@fM -N1&pB5sMLa04v`f @ A $h -`w8xnzMRt4c >&${Xݏ6kāu2t2/ vW'.vGi Cж}6{Z>!17R ( `<8plЀLcEPR)M2{d+@M4?E/J=` -U$O"v9S0&|3L?z9ӢwI@"DQN A@TMch@@ Hx,O\ -5`nY:Gcc;%-kVbSA`O @V?!`=x Jr(I"QCٓ7@& XP!A~P^<$ H@?a1),=&I@ҡ4G?1ꙧHcD/WD"^6X,8W' R VL% [QD_=Plؽtlkt|hVa '{RJ q ɱM؆# 6kMS-ua@t@P`~MHA*Y{4L -ؘ+Qp7"8;? #9|;9/W # 8`pA@p?X@ -7xC`'p #*h:`;x@}ZXhMCs`يCQ5=* R'N(*_p[a"~`kp-c[AgMg^ٟkw= -br'R9j>_mwNJZ$&<A <<}='0a -!C@3~Ft K% +xÉ?UE \‘D1/*`<5IA;.{c#7F h4&Lh:Ѐ(,}4kh<AZ+~*@\u8=d @?&~8W}VELMN:]Щ12eVf$,, -h44 g?:#t85hSj+y&JMV׻Ks~l1L{$8$@V=HO[ŭr e@t<_/бyQwZ(#]4W ӫf32@ᏹ>XJ[^f[efˊ `Szk5E{Wۧ2;6^v hԏ2b>gz N8ۅ@3: -,@ Q%9Mپ^=( FMpY#P#QpP[ - + -@`\{A,a{3E` pP -N $L AH@(^e{U5̽%=t n 4B  T6<d+D-Pp -G)[72vne '@nR7fljC) h `a%B[،@<4&|   ЈU>@)WjάU4$6a -|0=Ƃ%HAHLa&&a H0u$ᘢ$I6@΃{h^78!Pp-s:T@<jF"J`2ԕ^vP*q:|0 h+/{@N xc 40Q,`^_ -C#ZaŒP^NX1AA_pOWh|ד`?0>u7Ue{ -@{(0"8pI?J̃ -cL@$h@: x ,>w&S+-ƅT -B_p@alLhx -<RX -xxCQ@O'5 - -4' {c!Ng:$ nL &~g V۹Gfh'v„ a4Vnt%,. N+c>6U$m`+[JP`)jiAWKN@wi`^`!V;F,s5$3T$HPAG,:=cfWC'ˡw>Z;>X:Sb( +e -n w<ސ[yVu'3A2mƽل6.g²q/nfh5t00 $ؽUb`=*FDvH>f@,,0HiJ,Qz ]h )tj=օ4w"$@, x>ٽovEGڈa_: N(BS|7`_$ s`mB>oP +,S\tO[Zb~s{n6]-~fn(f6x`X$LU鞒o*xPjTb阆 ܦ@q]gr{Se̚U\=O5 ?&'Vvw'6q4wP` N0@<(! H0@L>م\ڽU#.Jx; αI[?{P,x>"HDz#D^ -{v"`KC|'HZ!Zz^r$ x{$`OggS>bvC xysrrnxtv{xv{vry^٥jXrxx FX/,K#$yud| 5`\>C vq?*z71p{;p@]J(Z<l01 0d 4 ~:6rpׇ;q ``o7F1IMbb2u&8h 5Gcp / @' -ˣVJl  -Դev$Zj; )_ >,. q7o%FA( )ЀE,uO7j#k$x lG(||,w -7>5$@[`^>bD"iCK| ~H@KP5x@k  P `,MsfU{&k+x؄ -ԴG@%Gt``Z"%NAwZUh3|̇ηsY&l]{y%#cgUj݃1<, #u:R*$ +k`4]|8ߋ`v -u i8 ?g?\j`:.#@4>]a9Z -0#,:T`(@T1fpSK%Jz$:C[n8Lx$<8F35h[ @`؍sp݃t - &ӑ9~vSpWKB&_ @R&%1PO8b C2 IM5~_B h􈆲L0s,nz -aE*P8#@=x΀ΧwfB4@LW81]Cc@-l̳v)h, -[ mJWgya6 oTǡKh*TCE8_JKÇ ZJWC h brsV!o-Oyʤ(H٭Ǐ-1HPVsDo0/oh |g)N ө+L*6*2w :p*?qGgk`8t+p<*0xӳL&?KFTd>=ʝ#D #:9l"Ug9f9{ -LXd`4N=Ch8#GRs ` m^a[FQVPGx:XwzЛ\4:Ë;T‰ ( ~o~ -Ќ,KUy]T6 -D _%p ,{,@84,=m:x  CNxg_+`4;7^?g@S>'>ڀgj`Te瀡,GC`1D\@` -:&@ص[:t'6$)pG>@7x8\<]X K|72Z+k[: t< & -(LcˏL1\휼JĉMl.z - RM - ((Vh \;hw CQ'@YxPnRǂ&(/Sħ0FҖJY6 {= <(: -!c @ x;/M? :1 dLE*D-@5@ɱqb^ kU:^j~.]Cvyƺch!BQz$~k$-L``M+.M4 lq,-Q`̠ܶT@t.  v3^~ -?` 0\J(04+*Q5j>xtocO@C%0hci#?c)`K]8-?ϲV(!~U8}Bs,hGbYu66+م?٥-<#+x.PH0o7ФU yD ѡVÂ/k &XR%iP[S e#p( ^)Iܘl+0FKo.@X+F {PC,U4_NTИs>&h];7 P|+WW%B h9>FC%S"X!J{SX_1?0NC3 ְpiAZ(GOЉRԵ?pM/8 s@$S_\JV"ﭏ)!{ -&`.TUVkζDW2nQHN3x 5UGr;+6V'3xjhg;x0ʂ{蓁Q;@hہ. QP옠`ٍטXOk$>ou :XnKG{ϑsCM ;}+}3>z2\/%`.I(S{^:2abhU)dHP `g[ gm%!8fs٠٠i5)iˇr.wX[a_O5!cwX@u6Z!ֿ2ttWפ?(P鰽~1*uLpvHet ێzo8mA4Q{d) aO+*ЫS+[4[#2WǗjxxZx|0lVA@#0ڶro*{NzTM*:OC\WQ2d7 -: rrh61k˅"nuÌwP`q}O`! mwW֮ mDXʷd}4X@Bժ*A +F/#`I*0t"C (iA="!;BAP4+BΕ:MXh@@R@@»QK2;3`w\8aٽ `e21A DPxWKK$ώrC>W_r>& <KyȂg>7XtIQ>0]6.@jÿ́S <#NVAB)#7@A~msKy OjJ!/pPؠS )hs2~l=t`* W0 a55u8o׾C  CG`>⾞QMw=C HzHp> @\p -@^:>}(0 ȋ9.Q<2o+]y&>U{iO1.h `HtQ#- -(8 ((0"6oE_Z G $4''3P - r ^{^x{1X5 #@T#| @k@O*@=>a`z2qD_ !' @H^֢A`^y{cH>ٝ#TSM#H4\Z5@nn u) F+ESx@81FJ&kU\'M >ٝ#fb܃R+ `tZ5 P_y[ː{φd@{np |%gJS -6јU؎V>;2}VRaЋ窬'yTr++8xp7 8a+o+gaOp ( m;Tp<@5wِ@xF~|@P@D<>>&| XFD -u" $0h`<(   >m}K)x9ڗ'xD -@ i Zp `xu=v  -L" -p.'=d X4@4x >j+-Wޟp Bb- = z&A%\,8 ڷhݥ { -8 -| 87 RV,t>[<5ҽeמ;L`@``_I]Ѕ XҮD`@O`ر -H_'y5VH$m}Xixܯ ->'A$@}Ѫ`L?h -@Y -e8( ~mu`#%$!8>ٝq+"g -kUÃ`Bk=,:xAj&.<Pp4W6F*@g"8:`~]lA^c"ep#p]@jpt(CRhiKD ϛ8! L>ٝ3O&qVp". [N @,^ QPZ+6"0 h\_*x+J o@X@]- {ܣu!< @B`&,q?N傆 -3U.3@J{{Z2ݦG%^t- [R`b3> ~SLI|T4' x NpɁgx]ӵv빚YMD } :@H2D5,E| 4{A`c2WҀ1k E@ytP~="|+bHLDA!U2TSXC@Aq$QS 1 JN 7G@j\"O6$@e,,HI%&#1 :!tTq24pBjHj wf0Vp N_``OggSdx1<&u~psmijh}~ynmadwtifgegvmummkckqhnd]dikٝc淺I 5pQ`Y+R fjNd~W#h <,]`pqOWy4>uO: hgĩ Pxp`aw^ٝ[a_XkiYC Xһ $ m:j|P'x)r4.3^HEυJz IZ6=_p<tC<Ё~=ǫ6A-R CP - hּ@TGTX$x10x)Bn#t~쉘J}t^@Ҩ6 ]Msy=`%K0 \ -[J/I?HHٽ/ x{x x - -sM`;|}?N  ҂1%xYP0@~]|Xb}R+CЁ8OkgEGA # -#8<8aMMNxǎ -ΪB҆,o PQ -G]mP-V0j!'<7 [ p8`H` gX>@L.@I8)Ӿg.B:q~Z\ ޸GG@5n8ح+$-bx m4L5Ōm -4mezҝ! -RX?0 -_n ب#ȇY1{$>hj~6n's2J -SRY ]ᵯICϯn<@N,К&GOB `'!^xݩ)Nr!pϢea$B 4IwAU >=s"ڣnxA ZF3, -_(^d`,f_S0\6[[Y!0 $ZY@:}cMyb髄@ RMj0f=-X }wPgޓ-0ˎakF4(~}mE~. <'XΔD?@Mm ?,XPgLI !K'0 L1L~~o0Ays 85:sԶ`D9B%t*5pt[V(%lr||l"-- }B[tܐz%8>  X` --=#hM27(02 Mj ?~`IŒ3}`YRm?L17:8A x Hh ~]ۼ,͏er0de-xft(eC -`"TىANOT7 Hzϧ~:|-z DsD0'j&P^=]t @ieC -A -,4m&GeT]2НH wC Q -48?E0^]c \.x8|^&hRXz`KA - ̄)HxD,(t$Hf䐀0UaWo^(>&]mE<<t0mN(4H!`(!g `*iz nRS/jM19/yx=^cV/J<|Bj@PlLׯ5PXڃ/nj`i+uw[=(΁b't|4½K0-AB-w+g81:ǃH? i&}ni\Aq=+k(pbHHM:2'jx@4XQLx.ڔTrGck `_ -UO@eοM. :  -$a^p٭34x[)zlNHMm& -B@ZX@7M,.JxS`셃GP7 olS5*y݀R& A6!&׸""QU'xX] -< .X27#~`Lt!  ؽW_3Ж!w8h×5( m,׵*6VJW ;)Ltd$ 7~,r MF@3n? /vCEG#ٝn&ثxT~%% 5!& -e2Ro8ojP`b`+pϖ#pϙ_ 0K" %ĄhحH\q/ 𰁝űa@p+,XpQ@J30h*"0 8J5R>ٝYKs:?u׵#*5l#0{@<V[#<)S/Npl}+6]$~ٝTPa(T!H h.!*ɫWujaR{UKcR.uZؚxH8x`OR$ M`zU X>]ӣʪ=i$C|4 $ F >+0m-I^Ki ǹ?!|wgR-@q!H >]۳#({ - Hi!h(}J*#lUl[jS jpͩ9f: ]՟*S!ȧr=R@؝띣sfwx@EI#pɢ6B|஬W_ kjpЉh`#`xpV;v(̯B!0>=˻wGTշ)7 J*#Y :|;1P-/rX_$lx!`πp ap=OB󵡣%xF@#p#@M=Úˆ  l [kk-`-p cy5W%I5!СOFTp -+F͏6sϗN_Q66dOyMA5'b0}R.*%x/.Bg[j\<~]˳I{Π, ժg fkM8B6 'Dmn! *'^0G:c+㚅^`pތMbk@m3xOggSdyKZif_aZ@>=緑.m/+. -SZ5[ -o6jpQb&ϙY>DaM`|i4av4N  1<=A*;852/+(%~{xuqnkhea^[XUROLHEB?<952/,)&F}zwtqnkhda^[XUROKHEB?<9630-)&/|yvsolifc`]ZWTQNJGDA>;852/,)&R|yvspmjgda^[XTQNKHEB?<9630-*'$¾~{xurolifc`]ZWTQNKHDA><852/,)&/~{xurolifc`]ZWTQNKHEB?<9630-*'$¿|yvspmjgda^[WUROLIFB?<9630-*'$¿}zwspmjgda^[XUROLIFC@=:741.+(%}zwtqnkheb^[XUROLIFC@=:741.+(%¿|yvspmjfc`]ZWTQNKHEB?<852/,)&F}yvspmjgda]ZWTQNKHEA>;852/,)&]~{xurnkheb_[XUROLIFB?<963/,)&R}zwspmjgc`]ZWSPMJGC@=:730-*&/|yurolheb_[XURNKHEA>;741.*'$~zwtqmjgc`]YVSOLIEB?;851.+'$¿|xurnkhda]ZWSPLIEB?;841.*'/}yvrokhda]ZVSPLIEB>;740-)&uÿ}yurnkgd`]YURNKGD@<952.+'/|xtqmifb^[WTPLIEA=:62/+'$ÿ}yvrnjgc_\XTPMIEA>:62/+'G~zvrokgc_\XTPLIEA=962.*&ÿ~zvrnjgc_[WSOLHD@<840,(<}yuqmjfb^ZVRNJFB>:62.*&|xtplhd`\XTPLHD@<840,({wsnjfb^ZVRNJFB=951-)uÿ}yuqmiea\XTPLHC?;73/*HĿ}xtplhc_[WRNJFB=951,(|xtpkgc_ZVRMIEA<84/+T¾}ytplgc_[VRNIEA<83/+u{vrniea\XSOKFB=950,Tzvqmhd`[WRNJEA<83/*¾{wrnjea\XSOJFA=940+¾{vrmid`[WRNIE@<73.*|xsojfa]XTOKFB=940+}xtokfb]YTPKGB=950,|wsnjea\XSOJFA<84/@¾~zuqlhc_ZVQMHD?;62-|wsnjea\XSOJFA=84/V}ytpkgb^ZUQLGC>:51-¾zvqmhd_[VRMIE@<73.ÿ|wsnjfa]XTOKFB>950W~yuplhc_ZVRMID@<73.¾|wsojfb]YTPLGC?:628{wrnjea]XTPKGC>:62M{wrnjea]YUPLHC?;72.|xtplgc_[VRNJFA=951¾{vrnjfb^YUQMIEA<840{wrnjfb^ZVRNJFA=951¾|xtplhd`\XTPLHD@<840|xtplhd`\XTPLHD@<840|yuqmiea]YUQNJFB>:62{wtplhd`\YUQMIEB>:62|xtpmiea^ZVROKGC?<84Y¿~{wsolhd`]YURNJFC?;84l¾{wtpliea^ZVSOKHD@=95<ÿ}yvrnkgd`\YURNKGC@<85c}yvrokgd`]YVROKGDA=96P¾~zwtplieb^[WTPMIFC?;84}yvrolhea^ZWSPLIFB?;84¿}yvsolhea^[WTPMIFC?<85¿~zwtpmifc_\XURNKGDA=:7m|yurnkhda^ZWTPMJFC@<95~{wtqmjfc`\YVROLIEB?;8[}yvsolifb_\XURNKHDA>:7|xurnkhda^[WTQMJGC@=9@}zwspmifc`\YVROLIEB?<8~{xuqnkgda^ZWTPMJGC@=9n|xurnkhea^[WTQNJGD@=:n~{xuqnkgda]ZWTPMJFC@<9¿}zvsplifb_\XUROKHDA>;n}zwsplifc_\YUROKHEA>;¿|xurnkhda]ZWTPMIFC?<]¿|xurnkhda^ZWSPMIFB?<}zwsplifb_[XUQNJGD@=f}zvsolheb^[WTPMIFC?<ÿ~zwspmifb_[XTQMJFC?<¿|yurnkgd`]YVROKHDA=ÿ|xuqnjgc`\YUQNJGC@<}yvrokgd`\YURNKGC@E{xtpmifb^[WSPLHEA={wtplhea]ZVROKGD@_¾|xtqmieb^ZVSOKGD@o~zvrokgc_\XTPMIEAN¾}zvrnjfc_[WSPLHD@~zwsokgc_\XTPLHD@}yuqmjfb^ZVRNJFBW}yuqnjfb^ZVRNJFBp|xsokhc_[WSOKGCP{wsokgc_[WSOKGCp}yuqmiea]XTPLHDP}yuqmie`\XTPLHCp{wsokfb^ZVRMIEI|wsokgb^ZVRMIEQ{vrnjea]YTPLHD|xtokgc^ZVRMIEq|xtokgb^ZVQMID{wrnjea]YTPKGC}ytpkgc_ZVQMIE~yuqlhd_[WRNIE}yuplhc_[VRNIE|xtokgb^YUQLHD{vrniea\XTOKF}xtpkgb^ZUQMHS~zuqmhd_[WRNJE{vrnie`\XSOKF{wsnjfa]XTPKG|wsojfb]YUPLHy|xtokgb^ZVQMIj}xtplgc_[VRNI\}yuqlhd_[WSOJF~zvrmiea\XTPLG{wsojfb^ZVQMIy}yuplhd`\WSOKNzvrnjfb^ZUQMI}yuqmhd`\XTPLH|xtokgc_[WSOKV{wsokgc_[WSOKV|xtplhd`\XTPLH}yuqmiea^ZVRNJ{wsokhd`\XTQMI}zvrnjgc_[WTPL^}yvrnjgc_[XTPL^~zvsokgd`\YUQNJ{xtpmieb^ZWSPLy~zvsolhda]ZVROK}zvsolhda]ZVSOL~zwsplieb^[WTPMy|xuqnjgc`\YUROK~zwspmifb_\XUQN_}zwsplifb_\XURNf~zwtpmjfc`\YVROR{xuqnkhda^ZWTQM}zvspmifc`\YVSOS|yvrolifb_\YUROf|yurolifb_\YVSOm|yvrolifc`\YVSP`}yvspmjgd`]ZWTQN}zwtqnkheb_\XURO|xurolifc`]ZWTQg}zwtqnkhda^[XURO~{xurolifc`]ZWTQt|yvspmjgda^[XVSP~{xurolifc`]ZWTQ|yvspmjgda^[XVS\}zwtqnkheb_\ZWTQ~{xurolifc`]ZWTQ~{xurolifc`]ZXUR~{xurolifc`]ZWTQ}zwtqnkheb_\YWTu~{xuroligda^[XUR|yvspmjgda^[XVS|yvspmjgda^[XUS~{xurolifc`]ZWUz|yvspmjgdb_\YVd}zwtqnkheb_\YVj|yvspmjgda^[XU}zwtqnkheb_\YVu}zwtqnkheb_\YV}yvspmjgda^[XU~{xtqnkheb_\YV~{xtqnkheb_\YU}yvspmjgda]ZW}zwtqnkgda^[X{}zwspmjgd`]ZW{xurolheb_\Yp|yvsolifc_\Yq|xurokheb_[X}zvspmifc`\Yv}zwtpmjfc`]Z{}yvsolifb_\X~{wtqnjgd`]Z{xuqnkgda]Z~{wtqmjgc`\Y|yvrolheb^[{}zvsplifb_[q}zvsplieb_[|yurnkhda]Z~zwsplieb^[~{wtpmifc_[~zwtpmifb_[}zvsolhea^_{xtqnjfc_\}yvrokhda]w}zvsolhea^r}zvsolhda]{|yurnkgd`]{xtqmjfb_e}yvrokhda]~{wtplieb^w|xuqnjfc_j|yuqnjgc`a|yurnkgd`a|yurnkgd`f|xuqnjgc`o{xtqmjfc_~zwsplieb^}yvrokheab|xuqnjgc`|~zwspmifb_}yvrokheak{xtqnjgc`}zwspmifb_|yurokheat~{xtqnjgd`}zwspmifc_|yvrolhebt{xuqnkhda~{wtqnjgda}zwtqmjgda}zwtpmjgd`}zwtpmjgda}zwtqnjgda~{xuqnkheb~{xurolifct|zwtqmjgda~{xurolifc|}zwtqnkheb|yvspmjgdi~{xurpmjgdu~{xuromjgdy~{xurpmjgdu~{xvspmkhej|yvtqnlifc}zxuromjgeu|ywtqoligd~{xvsqnkifd}{xuspnkifg}{xuspnkifg}{xvsqnligd~{yvtqoljhe|zwurpnkifv}{yvtqoljhe|zxuspnligo~|ywurpnkif}~{ywtrpmkif}{ywtrpmkif}{ywtrpnkig~{ywurpnljg}~|zwusqoljhp}zxvtromkig}{ywuspnljh~|zxvtqomkij}{ywuspnljh~|zxvtromkin}{ywusqomjh~|zxvtrpnljk}{ywusqomki~|zxvtrpnljh}{ywusqomlj}{ywusqomki}{zxvtrpnlj~|zxvusqomkr}{ywusqonlj~|zxvtrpnlj~|zxvtsqomk~|zxwusqomk}~|zxwusqomk~|zxvusqomk~|zxvtrpomk}{ywusrpnl}~|zxvtsqomn~|{ywusqpnl}{ywutrpnl}{ywutrpnl~}{ywusrpno~|zxvusqom}{ywvtrpnq}|zxvtrqom~|zxvtsqom}|zxvtrqor}{ywvtrpn~|zxwusqop~}{ywutrpn}{yxvtrpo}{ywvtrpn~|{ywusrpu~|zxvusqo~|zywusrp~}{ywutrp~~}{ywutrp~|zywusqp}{zxvtsq|~|zywusqr~}{ywutrp~}{ywvtrp~|{ywutrx~|zxvusq~}{ywvtrx}{zxvtsq~|zxwusq~|zxvusq}{zxvusy~}{ywvtr~|zxwusu~}{yxvtr}{zxvts}|zxvus}|zxvus}{zxvus~}{yxvtv~|zywut}{zxvuu~|zywut~}{yxvt~}{zxvuz}|zxwux}|zxwux}|zxwu|}{zxwu~}{yxvu~|{ywvv}|zywu~}{zxvu~|zywv}~}{zxwu}|zywv~|{yxwy~}|zywv}|{yxv~|{zxw}~}{zxwz~}|zywv}|{yxv~|{yxw~|{zxw~}{zyw~}|zyx}~}|zyxz}|{yxx}|{zxw~|{zyx~}{zyx~}|zyx~}|{zx~}|{zy{~|{zyx~}|{yx~}|{zy}|{zy{~}|{zy~}|{zy~}|{zy~}|{zy~}|{zy~}}|{z~}|{zz~}|{z{~~}|{z~~}}|{z~}}|{z~}}|{z~}}|{z~~}|{{~~}||{~}||{~}}|{|~~}||{~}}|{~~}||{~}}||~~}}||~~}}|~~~}}|~~}}|~~}}|~~}}|~~}}}~~~}}~~~}}~~~}~~~}~~~~}~~~~~~~~~~~~~~~~OggS]ӕSGvorbis0OggS]ӕSχHvorbis8AO; aoTuV b4b [20051117] (based on Xiph.Org's libVorbis)vorbis+BCV1L ŀАU`$)fI)(yHI)0c1c1c 4d( Ij9g'r9iN8 Q9 &cnkn)% Y@H!RH!b!b!r!r -* -2 L2餓N:騣:(B -JL1Vc]|s9s9s BCV BdB!R)r -2ȀАU GI˱$O,Q53ESTMUUUUu]Wvevuv}Y[}Y[؅]aaaa}}} 4d #9)"9d ")Ifjihm˲,˲ iiiiiiifYeYeYeYeYeYeYeYeYeYeYeYeY@h*@@qq$ER$r, Y@R,r4Gs4s@BDFHJLNPRT@OggS]ӕS&~DYomnlfc\TVMc_u}X^m;<׻zw?g}gY|~.?o~xzΛr}}}X?Xۋ7o\/4ͨ{nο>Fԅ1!AHJ}}cw(8k׮]{֭Lk0*g^8l.ά4ųo_j[6-mG@6F;niԃų3g++iVPqFȓsq{P $dN (Zþ #Goly1MEsآb85X@&iwLÑG̫"BP7pzcƷ&NXZ$NjFQ;&%f[* -X6?@vib!1b뮜\PM| 8_c1r/&'}eRL@Mk7'J+n7<ˈLY-|ۭ:7P]*C4hGԯ|Xn,~˭|ɳi;v{c׌4}&{sy//#N7\4=msZ/Gswg'д[k?>S.kXs6)"=ݏNIMb\6αm}K|;u9*k-6z1 K<ڟGhݙ^k=Xy{[,ۮ`8ī+XAMۆdO %K<q`StۃPPJInl.0uEiVȹZ4Vz ŒL[Se7t ӏˁ0۹Z8n&5hgX̟s`\ϺI>1Ѧ~XęRb ~%F2C_$cft|>Iv'.{x7wo<*yp:~&w1叏 Xxz'Bm0{4d9CپB pӽ]ya_gN_zuW|C&ݦAWWwxM˝Qsٳ-YL:=9{:Cuq_b*u}w -m:jyRBuԏ&gwP~%hk &V~HQ -, -oIfçLR— oŞп>{y7<'y|ҕB]vc9døgv˿L D)ܔNϿ(8 Wnk.[_xrzlB~:#26ܳ|7 -Ю{K!yu */^v~/Ϗ2??di=O.V72\t>+y -v&EsMI|Jnm; %ixM1K o;=@LJ(@n*)?G,k-ɭ3'JDR܋!zw5l2˖_?u}Vձӿ^}\mi#/?>;LJgoZBU@NC9:AA3e?[s*ۢ<}ҎvN\ߪ^n+cu,R28Y1͖"o."fHe13@{z~=zz o]بu85F7O>k)|e6fou>k^ 6i|kZaA+x@y -7͓pOO9Gtb],b3<\x/j.iOږn:_:BȡVv\i_х!!Gc˦)P?{3tpʳg]?]{:cW,nR޺寖YLO4}H) 4@VzP_LÝڵO9饻Kh|X5d×'۵/ױfjF_^'(]}sztOaB4jh魚_kxȗV4֖iغ}~Pqe8#>H, cgemmÂMdZ^w)_BmScPk-ǽqHC[|MmVqSdK]eWp> >.au)ӫkGp޽ӻ?m|v摴lb y_=?M^n,Tؠ.{hpsF&$5qk>iDߗ4C1P -0@ V!~G]nFja&]v˝}*!6o1i4c?zTps?M pW+MsӴqHrz:q(g] -`?ZGc,,?>=P"]\`E?w.vG޲6FuX -";'(*H1?~:<.^`sXU3hiZc3/\W0DR8f]a}%o|b˥DܖlW[ǽ|k2TN/fS, C@P.|5 ,qDaъ3:2`U2y(ɺM\jjm[]~ٻsmq@}O&?c4O<DŽmivqpB<(AdYݜyCL2ItkkalC4Zqu.ֳWm;ͤO}G3_瑁D?А9Ce~R/]y}QCLegsaL~G_i,gRt-{t$ {)+7] Hd&wYħ11ȫqYܓLǛP }Zk8nGٱA|d[)-Q"F֧W{$'kZg| ;8Wk޷[jIll?߀ޢ,M=e+g?IBxl{(h ֊8q% -(5Lظ|&YUyf+۹r~㊋nF`LD?_ >P-T"GGCzj6!_X;uIҲ^cCeT\0GB}] eWmfyse_mt -boK~8M_ߊqܿTLF<fYWpqkeݶ^]?RE@C#bCSwh6, ;F3T;1t|64n`w0*OggS;]ӕSDbGo TWTVUXi[c[`URVPgg]Zk^O[Q{ˮ.f:OxH=c^.|GKfYp޸LFESBT7?\*Zq0^Ƀ^Uͥ=dKU[:%ᗸ[W.N;"\ʘic%nSުn]^c:N"?zSImgHq⇆֝,G}j]n2uш}(ݫixz6F}Lނ+8$^NlPjPKgTuه9fs3Ymnf;R#kGl1?t*ҏE?i.%wi " ^k[3YԮs8MjR|Y;כ d;NeM kϳ1Wܱo;s}M4d)^ǗT9Xyn#e{:<g qfl17*)fkrnVclr_cE▿ITc^z]߿΀#L4J`e^GN/7ٓT^(ǎmS4`xn 1 v˚ass^oLcvɪ[й @hnOkn(cmB ]Y7b$~}[%:#k&Zķ׈"z~f}HP/Agr|nO׹CB2+P q7l;MlwVHV׍Z?FQ9زHzzi s2O!uzݭtݶV՛|swO=g\!+Ӱs/ft_5ZG 8)vp`߹e!}Mhom*Gň\n2JStð˜\鳄 .! G?oM-/_`R9`YO늃e%䗻C|t)O__1]~p,@^(֧y" RQ+{}Έ],EMq# ަ +Vn<@Ha0|*/<*ob;'\$'P'Z%,֬-/YNm- zwΛh߷0܃Tު Li2G?f#uġm+,skmI:WED]v%H<3[i<׭_?+{ V7k7#k9ھ|s Sn5bdϭoot)SFt]mvsViryMV뼪~ ; G [3TH9}(oyV#g:1X̟W@sdl/֭˸GÚaT1%aOLl~MƜk4̥gn|L}3q9d{%vXlO2< --V䅈Ktn{qPq2 #Peq< jJ|pUZDG֥ʣ#ۿ#OJKi$W>/7)zϜB Q0&SHM"?g -9-ag0R +=*gk3hVn{~ꜽNԉ AF]~jswՎ Lrh:]ƒf1va19O$&[ƂrnvP]~+e̪v}&h!;pOص2:h2ٻ]~lֿuZ -iNn.]5np*јFAix~J8neTK*]}oD}1+FsFwG:kl-*߾q~ڿ;6y%a -+AW3kRܝ%rV -N,jc71/D jV֙yE}m^%r"mǩ}]}Ou}}ǹ0be?t]<~Imz0v]b3(~ug}is'U=/?idb~Y,^N ?LůMm)*fA:\33+B% &*8?- -'A`dJ6%joj6:y%VNLa5T"4&|*EHFM!C^ wc^R۷m 9ͺcSaފ mc}C@=qK>88@Qf˭5Gte&4Fݧ6P֛x6y\T5ǸJ%y0\ BxπzJ68qP𔺸|>7Jǻ7 .tɮa3 ƙL&vjpۏjZA7ɱP?|% >iwכC5w`Jǹv9B!AԗG=gOonI|l@n~W[(=ՈVe2 -L)v!B>mz^")Q|(j?}\~;ScaԷ{Y]icsD/K&ܵZ}lWŷ~tl>) sԤװ;rqLu]af5nij&rD;uQyž2ޅ!qwƁFN!lTU{v60 g/%xM+Pis$3ͱުZRh`) -TO{QOggSZ]ӕSTn1]_YߔNivKѐ _z_ͯӦ/zn+ni cMѳ(2KΪXHMw7GJ1SNG{<]H<6= BSIar(7fW\Q,2| ;K4{s۽[0Shzq(o*\Vt)=D*aOF&u@ͺ9WՔ=N`wE -ՉSlD*t{KLTbxD - yw:ylVXߨU}9蘇/ yѣS}CHcCrϫkx.uê_z]A]lwĻ{.}aӯ1}\7{SOkoi}ú_ޑLOKFǒڶx糟mzu4ҏNQcr!sl5#h=$/X8#"-s0J4@{>SvmA2ҫUI[ϹRvS~T.Y/Wk]| 87a76dW(fSљKyr7[9ЪAݑnzNr2FֵU<>0=9 O]˛ɴӿ$=GyK6Tbw4xPҒus1oU_\Ѡ۹sѡZr#P?;ɕ؂` 1Y%h&iz3QI'|PӞ%z^i;2FG sS$wq^`luJ}j4{z댊~L scOGWC4Z(Ө{d |whֽeV5sIǼrptZ}~uнѶ~mZc~]^vL|V]ƿK\] 9~١w -M޺& -yoپuLf&KsbT'T"T\?S4k6RIoCry͵ϝtDc<!( -^V^9* $701WoFJ>,v1ɵ \Mq6grx+=G"Y~:Fw0nMYZy6-.jDdC!lG?owֿk-}(R?(&#0,{"1~ueS=5C'9,M9Ʈ^81.cwߓ짦BӨki_<YmGHNu:H*7whem&cA-0Fm,-Jj(ZUbLRM,Y! G6,tNeLAPݖDyCd[WV9r>VXfe(+?__>Yi`hfXj=8b%. ;+FrJUqBAQ,4Qd9׵HP+*Hͷ>1]am/9Lֲ%EY՚_Tvզ|tj,Xc?:Ư5i+N>K?ZdȀ&oe:v3B|ݨ$ɧ Ǻ D27sz eo>XD ŪoJ$c*:q޸\\K b냠_@U$_ӌ&N0_*__ӂG}yWKX?`|05Qgw蹞I$$K(x4/ygzC6 R |l)cKO4Xf8Fwdm$1q]ǵ9m@5y)$PDgb&fpN=k%!Q?Wf,A9 -Q]z-N/WcGW7!x;":Ҽ-i9qF0I|jln# -ϏM궉bR%9!@ˤ0h@j*Zi @gz)>;.\.FdV$L:ݮ{7\ESUX:OBV+;ZD*Np'Ϧb?&`o6NsA|W&oz'QELx -G>X/تu [bxT /JbIyg)2嘲Bs8G7hwھi mlkvԟ l᱿g4zI0ٟؕXRpƚYr8^z[8㬓sWB $ sE2|Uwdc f}~Lgӫ2}%{C_B-s&cbWiFaeq>w^v|[ x{>jPɎ0,ԚMӞwcEQ=h5KHXz3VV?bNnP,^k|] Q8yP@3`/G#?' fcޭdH3KGf&PxZ<7Vf)G@|hh 'EάjTZYڰ ݡF?֠ s$1so""KƳ\=rc;?\ݝ9FɿMyʯeu;\qӆ&cIl Km,YsNW,J0Xw#.҅#Fɩ)S_0 q^3H`igSlܻ:?x"<9w -cj1$azeϜjH%jsɂ}n>nYæu^ -$ٝ2 +:L[Y`?vFP5m5i?#ԏhT6qbO>`&/>y9rg.ڎyϸ:gfjOx]mh;e.+G˂e5QBE*3/GK/ Ur=~`JnnVKQRVVBt;B9SfY{4j%ТEOggS~]ӕSͰV,[o9{x6*9aO_g>UlAmeˈݫZoOS5SbW\wHhRG/?h%ri ܽb1z6N45HoI¾,&o/ OkA#>ibS`|G4wDB kIqg5|U;-H%6 -M#~/Mnu[?3)_}m?{OYk~bSUj=4XSoyϭ"O|nJ' : $\*I> -ĜRW(rK]z~˙Tq7w1dȨzp~&sZE* hۣ 붏5jr-\QKuBWn jXCiߔHF-ɽج[<UHQOE.:&A2:[(tK<A'<);w_v7 8l{Mnnm9a7׭sGǫ7ssXq%"ѹh0/v$zI7pK9 $vOR/}yzu?~VB!#0I٬$ӧ;WF295\joHY/^A 0d›2sH俥'?[SME5*g+>=wgUܼK=Z~+vгmKѶI&b2 c/ ;x<"<cئ>FH_o+QĐNR\ȣ-ۇ(2ɚK= BHewfk8B"|mY#tSl5}/u)psg{GnHqf{:@]uޤ!'m'ypƶ/=Ĩ!޹Og@r -sy5 ,eYSbi KbSxecqŰTZr?92{`׀pOb5uXRT|R\h8-P0=@riQ/Sm5w֨UŕelVrzP&ܯ -bJ )8)͇9oLyY+zZ+]o 9&0(=rV7ZZvc6'Ⳋ-s6Ww?.v SA5,"b/3g.EEH](#٫ KL3qNjdm52" LgYտ1â*)]G8)O8w߻j% 4\iS)iv.(7PDd~Y&r˸#YֆgK61~|$ܥEvP2U -=+Dszm`b׺[/o]7λLNlasx0<|@ WÐߧ$SMh)$6ժ8X/CGg1G>.7jwu_'Gy.IwƎ{c?pɳ^ VAվ_nf—7kFlT=ZQPϖʼ+Qe(%j9#vz -;(]ďsl$)a[hoA\i`77wJhl\ 0zK~Q?n{ojquxr.0TB_&6}mLN; vcIMm@@pKLxy?zΥ5K7j#KNb${9vo^yC)^O}ϾZ7!i^LE<p*3IҪS;3*!Ftq#)•m+SIs:];Ñ;p oqǩ.1rA=%o(O@څpH[k1L3ɤDKp)n^Vl3ipX*m ua,bFKBٲ߂]yszbʜ>iH0]NBظpFx{As5'`onǵע7&"ǣ@+ɨ4t [%Jm,cl{Cw-m/ Ho/*PiB;6{eVoLy]kFFi =+Wb9ղ@cedyaeq ŧpzG;~>Wn'cFSD/-= -4tf5E?8kڕkKkBҵޟ9L 粄unS|ּu©cxW=fP⿭3p,j_v'9L -ҫ߅ -}K '4ML "<^̣LPm]Yg_}Vό9~xR]{q?Wrv `ez -v,t>*xBpu><:޻6[-NKymh]uҩ%l X^\LVk\ckvP%ѕ2&b[A6fX4WПgwnv"7IJ2n -ʳW#^q;?ytƷBp+]zpUS|ӌvw9*P˿_U}}TNz1. a<Դ ejTC:f>f0MbL`/2 DJ=\>fa:DD~JӴUYm .DW$1̰)[[mPk9Ԫ4" uaZ~~?[io:[0 p0 5DN¸FuM@)$E~RvbRa|唰(KQ_SO|ۼNy쾟Lj-}~vߺ5brrXK3-xoxsϗ݂+,Nx[;$ &0;y#v[jG/z ]QRlS+Q `OggS@]ӕS;^6Ucga]"'Bq-})t.تke/ wpp-O}ӯ e |]YWq woV7g̋:V0 +k7WVVTcHzLُ̑7e;X2nx=pjAN 6 W3 0@lVB\ jZO4y:ǹKubjO0UF<[n7U;[2Emֳ-wkz~ۛ>O{U9i~%1afG񁂶=뗌U&Ӧ2b -C>_7Ξ¯'yPcS0>Ёa/Nq PWN,3H;Si`4R T!: ݌\RuFI>knW| |`|H{ۈM]_h+bV|3}#ݺIwoz`<$H^FpŵQ튔.+H]$n0*3mA8%@ D+. ,V3n(k)()2rI ~ gG`I282;?GrL0 mg> -;-8=ْiͼ\])u7]OxNbUHUMÿ~V]{--)U!JsxQ^o?޸WMϮkf޾J'YjP\j]0^S@%fpw]ujNzJ>c2!Jho+O~rmx4,qC)#ĺ4b̕[~oX[ -O/Jpv)? BOzllK? vmm܈z1qR\ᆯs' {n]3ͭ\}Gg+4mj,Z&2 ~7(*%TFڪp zM(| xʡ(u4K%ogYrj1"yGl2 xG7# -P2g;9Bqg[=@Ġ 2`(KG}pX"Q* n* 8)lvnm+0.V{a]7Ŷyio8;X} SfUtX(}҅ - -,`ӝ nz/ Jtpl/ʩX U/;'qP[Qs -@MVͿ_{9^xen:+5Y:Thzqٜ'{-s#lAH5DZtw_kucnyssH)^7߼7OV-9yh'4qvc'b;Q.5ˤ͑mSX[αSϮkӖ&!pvn.v:Y/7U-ߥ6qj4J>gyHzS]Â@'[A[Ёj6Pҗܰ8CCƪu[h'c[&?xۈN]F_{Uްbb>BN̉S:Z5/ェZ?1>gY2K#bla 'u`l)HЅ՜4qn Rז%D2:GK&ۆG+^W$$W x{-SU!7obrCgm35YiY~ 5L5&RuML৔ʎ~R q@"no>k}/?oIZGwuN|ex3pVm(;`LVL7 b7=?cجࠠ7_"z0 NQ6viLǶ}n~0ݩ49{۩@v^O*1u.="t6o}cKxXuv"(]rejm[774z?;~mzKҝ/fnwu3Λ,W,f4\Uy׻}V+VjWh6|jqNɇ6p~j\G]7r^WNphkUϽ3ղ~lJ,mԅ en鯿Jf@5W~\<]{Y=/[I@+uQd}h'lCmn3"NtJiz sVGXJn[}oF693W?! Lg2, 6A[G,N`49âgX ps>kh3=>NOX:ntJjظ +ڿ`^Ux)mۓ-j9D_d&]=UK_Z80)=aȺQ^uDo_Gx ;~]tW,+=8znmuTj9q9ޤuqk°rg)4, -gd遁F^2?שYquý6A*Oߗ 9} G) }^lrexb| AKm5*l1?!zR9P?%mfK ᎩڥaRpڞdVQ.)\ymwss9b9 _q=)`2j&?'֐t :`ط$C<ǝ{CTcnݻ!DbQbХg>^҃<8EgC%ۨ -qauNQTm;k`OggS@]ӕSi$\:+@u|oU^.XqWU:6шn+S3b|J;Suhً:7.7S.匦L=`s]]cy%Uɺ)[>A@gaLᙗ6=jX+7fz"SPmO' o @C]|"?3BK3c|V!= k2~0uVGW 4ʷZ < Ț{ -oNxbf 2]iܰW<#.z0 Dqݹsϕ!l-(F_k21Yths7b~k$Ka6}Q`_;\G>*r8{mʹ˾tv4jt]m9N7I2z܍=7nefx7x8DS݈\ٍC;^[)*/Fc6Ǘ(>[umL`S80e00 юbP9Aߙ ^=_ي|^cpei趺[&V>n ImrS)ݮ"5z>ݿpWyiȳXk٤b~XX(iÎQصiД nzBڗ) Ob YJ݊&pt7Y?FWzieq?5~ܾQ771 =D9|[K#5[{cc -rSj,ۥie显u~)2Xf"sk_1k.5-YZz LcۼA2s+NED3}u6Md8s@ĉZH{}+^YZ+cK:CKModUURȨ sBW^ ]?"v†"ǽ?<>_LX@X:mLؽZ&Ft3 azj{} [.#9ojH?fBJn'l""q{g*`| JE  s)6xFYeܟ-6aܸE3+^?O9.?82C;-@\W`BY׫P5.GَI;Eaˁ vۥWf`[_΢נVKZfGC~/WQc~mJ:hۤ -ede:~\ow>Z'no.qش=j<{( vnM2᳕WIeGR^ϝGmsve_|Ⱥ|=iH+"}Hz+W@C[q{Qm]r\AG[S#!tDQ3U蕘tbO@:xbj.n|N\N$qZ%_QՊh@R2lŠTeI}wݾUx.m7v؍m .WrskNga/w5?N5xo,ɐoĈ.*1_;}*f-e -.@#ibYlyB $0sj߫#L|na:ƈ=F[_]2-ڒǾhk{̴;6z[/2}L -`؄VV\kc8< 'R$-{@4pjw 9%T`;n(c _N1P/ 2οMFeڝO/xj|ݦ\%!w\*IB 0[nMOi{+/7[:C O.&wv+GOٮڻ޺ >1ZvX>-xXE=_ %hB2ݚ6e  R\22{d\*n` з<~+&SnH͖IMVצ ȉGć%8rg;,Aϼ_ˑWZlO@hB_-S$œadX3EvfԮ1TXѭ^1RYQ"sRl[qF'fxzUB$4 |}:\ H=f3AՖnWή*}ڻ"Q?~A{5Z#^Zibĸ+N}FY/ YN'68NQ*m{q^ƿ{'還sr  -|9(%\ONs%=Z~̐p鞺Kj0Rv661o -}٧@&}|I&le3od}wYf%|XWS4ggg2eZjHMtyYքDymG^M{3#E[VO_ɳW" -[Trqrnu<*?@`/)Xi?Okp%a%}lR^L=|F;S&ek,bdsi`>\ܵt >Sͬ9oŇ8OR*ܵhp_-RVX =7pͻH•J B4XOI/ h;=pʁ /wj[S6VD & P~MfۿnNKPLVu4m\rnDH?$Y;+& ,Jvy݅}ݗw9&SbWZH`RF&}]FoYa=^RBuS>~ ]3blZwKy[q8 VJ]_ '2}7ƦOoɕ cTu]8H[\  lXչF+c;* ݨ9ߝ{oXĽ^[ޒ8}=wdC#]⼓)rb7Q ec\2ܟa*/z ;XsHRPM4t,>!x+gb~)D/d|Bb#5A&45g:ukSubHr(eNٿ?l4i=m9}mYPQ* -bS̎oٵo澔Cg tRp ,5wyk;ɏ*г8ueɆڠfTusg3vՑ svލ5~TDZ~Up6 fiY{'N-LɼzS*8ttkǎF Akt!:j%{^Ké)vV"p>Ͷ{j9T>efp{lO+ Tu?dBN=u@P_X0D8MYh!QYmrqJCygj(fڲlOO:*E Yτ( pT#/YK^V $}1~uW"X+K0uMamqy%O9FoXg22%XP,>[ -NT؟&-menSɩ:?"ʵH(~^Lr2 -P^g(fI<)u> $X:[-:HVw0̀d=E[y|ڶT>9=wj˧֔B_z] *?6d~%_>i0HU -äom gߴRoOLM눾]j6LHq;pj6=>~tۧ^aF=}?io{6WBwMbHu##g̵jNoOZGˆm )0]i } ]= >K-kNV~I_u0bMW;g_ο< Lz;X.4ͤXd)#5v%bglz,OHV/۷Tf5o3yG1Я ,RwXL~=Ye38nc4VsU.F&`:ToX#&g@3@ Bm4ZOUΨ$D)<'KC-W?|W lP,;vx]2¸QGjy 1Mb|zjy"B'Wnge;9iąMrU9~YBC>ѺҶm{Pq:ײnV+|{HI][ж~BU^v#טNd-wG%ˑ72O*U/+$͓k:lu*5={gMz{p Lvnd Le0m)*Z{7bɈT7Qj>obCɥJ='oEߎa-u}8 ehWү|`I46>*?1Mʊڬt~CjuO$B]zyb:ޑC|z?JIHNhMF׏yCtp#?ML~9|r?ػX_S̽Zr`ut]hmϩ}dE\OMf4 -)6U]w/~5ݿX?Ē,IR^Qyfׇ"Fb@I5W. :GAt,bVJaOggS@]ӕS DYUXVVYYmjce]\[+޹;Īf{ u^_,x1ְ|k&56QHC@+S7z9ʒbxqՑ8mۻ[W|폖mzS0pSW6a)]#lnlͬ֜* vKXx5J,ȅiaxVA=NҤϛT\1t+[)s^N9I#Ow -^p8-j$Z~F7nO^僰Q;MpKzUFٛXrM)4M -$hz -Bp$q,7oDЗ3OKL6x6G}z<(~o/*j*kÔVvUR諒6s=< 9G f:RX(-FIǜֈq?3cxY\5wvo{6.*()>$~o0-7"O) $P -_󲏐x;%E[^}"R`TZzlkV?ZomɓގcyG>itqq90^tZy4=}nwLSjܝ ÏkS/ї'ç֫>:ꞢnGZ:shw̍Ao.fUq[@?+dR<%W͍}{Le3>͈2 -=>n~s1>վ &1=^%Vt蟙F_­ȗ1evCx36<(]Ԝ7 {V>փ}pYkPu&çL7sXY{b w{4Hۄwwibˎ՝mOEka,^vY3t+Й` -?geY ͩ9ֵvqx k N~o`3=Yy? -doX8c9k@?eH5r0N~ oi5c>?Wyk˥aa[m=oE;'5:n7djZ^IFRKicB>= zS_ ws\c;}w^-zeMB,À Ϛz4{"Q^NzgE;/O qQ۬;Lgk 3mJklܸ:vC&o:$d;wAwZ31IFD/np}bpB^RL=~U፥e瘻=a 6|>HS{rߘI ]]NJUX<1j]=ޣp;\0 p8קfjS)[w>/S -`x7T||&ԉѤ|yd_thEREږs."!K(/Hm8~=|wy>}_־W/5[~$sO66QYRx;73!O."NNH{wP<n#?<7օkzʕTrs/'u^$̊x%iAr50hEBjp >J_^|swnÁ׶a~6t(~sc%ڙ&?T@&k|8٢uwI9KH_b.7 "gF,L=@(?~+a'i\Oe!ӯ&k=|7k5SToZ^!O;x2bokҜ/l*9D`5;T*F _ɦ0~Kڒr1>/)Opb*ԯhfaVϮ7}Y3ys}"bnqkW֙&v:0ֆ˸$c~ -qyO##é!ug%eu~h~bGc>FFIu3tz4/ znj7y.7t]Ò5i>u uݼg{d^H&m+kek8j-Tf=y>;,uoE_Y2a0Y٧38LZm|_}Sf[f.+MbY:o3ߵB JwhvD`7Zr9.[/U/[iH z-atϜ;GV5-m09Ci)W-m1-6럗f6~&)ID$ -&YP0)o}`$^528 -7KQMip2m65#^?/ɚh !/@:G.~8ƿԶʏص1.HQb@asB?8;;mũ2+=z[" m XGҗ$H^dލ+eU& QMnmC=>=+G/D0M#謚ܒK-i*ѵ{meޭcĒ٘:2A6Qjyڡpek'hf?+oNh"6Um޼^J&:nkQb[} LYK Xw\2 1owy5Hry#ۗGkfE,4y4)W+IGXpj|W{ēh2Һ؝y4[E 7%=+ {^5[4_*66[L&RW'WhniiA&' \U/$qD%,?3Ԡ*QӚGuy.. k1]%AP΢AY+7:Ͳ54?۹IZ[G}NacvQ}߮(`~ NC ]đG4&g(Qy~Gdd|~/~|y6?͋ p _X Vw>`$rXo:q)`2:2eAOtМ{\-]Ni&mi~l%Ts)6ɐ9 "'XV}+vWَx@8:3⿱u.[ @J|B `#٪tgD=r q@gg2]Wz!F-OggS@(]ӕS -c xB 戞)~>':"h:-Z*=[e4Ƣi]{hMN4 Zxx _+1ۧZPd" -hfg~aiK&G̒%zkտK4;WPucEc4ȶcVLvҷ{ӌ%Lsӎ,Cb{)X;Gu[>`Ho2r꽬@ -+JHt Bbze)qp$m_ 'xVw1L3,}ҍ2Ou_0]vU ` :jk7i0!3^Wo׽(΢_8AZ{~VJ80 oin)5e\jڕ㼁bDrzⴧ&S'k4^4NJނF}4Zfz ֨"ҧjq -ueo[ۤ8.j5m͂0nG9 ff $+BVeasA)WJclg*|n&mR^?G3^EusfH1V{234ADR>BF\.&*H7ʑLj@@U -H]XJ\[9??0VT"dLM~LnXǣ"+?-{t<`_p̗|,0 -0'PwE$^9@4‡jvm6,w;4-قp8H9(MP=}%nLT[mi܅%vv.}L 19(H~prqݔ!qϚrQD, d(Iv+z+ A$٤} ] p0 C;މM[TNE=e;渃 f2nm^XcQU\#<{+.[jT12 Z=HPcվt]Wl%<s]K+m2Oc\2q@e]q1`dD w \ew 7Vb!co}1dfً ^\O~L}?46k?{k ZQ18φ *'`HW: A0ۿquz[ -ʛޚ !zc0nhzowsp /E0$|厞ۇ Kq]'ڛ覒XB{XxNxLE3(p†e+`O_|zʫӓ_:rqZ=U`h9 xz{ 0mbegcQ]r<+]׾9lm2i3hoM̮m$-48͒I&7**㽿ŠW\Fp;ӾO]*o7F#V\)OXPP+pIvt:ykHbX[w*7 CיէHPi(ܿA'*+;̠`:~t2[3NϚǸ}?:6@u| +G!D0"KSeF44tu9 b@ %_tŴH/n)}<❚ `X\ en68_EK'зv -;@cxi},ƭB=VZHx:`ex/}bDϒ[ B9M_1mQStΩeEew.*ʉ,[:c6ө*"b1n]5(ef=Fh;o2'oZi>~1נ-b1\Z (h3Fwh?yYҟOyäFι= -KSNml>-v>~P=kf}3}|b -A&Co” -%v0y^k徴_*y袽8l$!Swѭm ׋gW;K>O(B2K D>VRrXN]39jm馽B6`49nmWRu$Yf [6 kF NSi4ۮP"pO좻[`$PM8 ^-9]Wv¨0ZuDw(4/Y?  Rw@Z>^*s JP[xL=$'`ٙׯZHKԻ#ۉG+?Kc!*|-wb1 u -IFPsEUUaj_ D#j1ڤ]$Z=]W-q vV)sAx 6J1jW*O(ܤag=[U,S*^,c7tK_}= 8ycwzߖquDӗyᏟkEC+]}[}st2K YÉAN -?LLDcڕxqABx0=}Z̗(c0aس(4C}nMx ma~f[ k6G8y hh k^L.T3.%ScMñx';:W+{ LS'8z҄?h^)Ա9#/;{_P b=v^GDI. 1n1\d<6cVFAUBҍ -M$dp(R9A<^mW쓕@L~`u.PPPTª= _L_EC"0o9~`sΫ:? l< &z9WS/ ;I WPm7rrBBM&ѥE>zhD1EGL_zLʜmK)ߣ[/xake[mGIYoK<ޛ? }uyesMB( -#.|UnAeokoOxuyG(9q=&M8zCm&>@VY͹>] gς'>1 ğ'G"y{K%jCƮf"JVm1!n^Ob ./P↘d ׳k;Y$RH Н`g(?: ~/~`>.gD4UZ:dEG|zzoT2.+!z=>w d )n - fL5^o5P@]I{Dռ:ujW@4Rm "}]#K.Vd"K;STTOtm:""h{f*vn7-Lc2goU۸l)vwc;~2)>wWCyzV{h}td]_{uы4P -ze^lP/~9!|)r^հC j -~.zB-:0cqI 735=0m ͞Y[~̓ݔNgx=Nx fR Fk |y=5CsOVEυ DUJRԸqCI>"c"DWx@|xvWY,:bNe\kQBA @@#z\0n|[s8E*y={nO2i)Cf,簮v9rpC69D" {,dc]%;)}|&{zmC ѳ:Q^AvM.i[\y/k2. -jKy^ޔ FVW̸_"7AD&X 44uKh}ymݼ\?{o6h_*̀ p"@^<^+`$k$MҠ:t^ $񼝚2섋:4I3&d3U46khW=HGJ ؏2X3;GPCH"_{9#|Hhz + DO3}o}2~&ЧlPR+tFa/HajDŽiU;5znԟcZ%>d1Xk "Y-zn;XhoD[41m˧<1EEzF !klIxt{ %*z_Rc_T(FNIod.ˎh<ϿzE - Ț³woٳu o `甛g.h[GNv -2KGSל4ڑۚVI~%cnN]CFB>u]s^k ] rYr˄ROׄs\9k7DjɻZX^V$n_N/hN[X?PD -MD4fQNHk?QR)Ehq/vO:=\7<,Zi{aDXZÀ,y?aK1y%Cp~)`H6dۺR&i`k9-ʭ#dQ|d¶tGFkW;6{[_ؙccRF[D)*`I I\ oI/1)U>}uܛ:Gr~K1H:= / jH/OhXC BSZn"`]%5=vGu?d Y?',LBU;4Z;0YKyфnsGݦԎFdˤ0JݹVVK5Hh30OX7enl;GmJ@؈jl1~xFl|>. 3bOIPb1]j57ѽ>,b'ڧZwSmv]?o0ۉ&z?҉"::c#~ 1=dj)P˛Wz<.^ F [6?K,~^LK!h@chuldc95OdCD+fj\]|UI-Ϊ>v!e+:n$ÏgYu/FG>0^M!5!S~|؃x7mqD8~7ֽ0.?îK)_ƅayzڴTz%6]~ًg: ›_\g5R+]? Y^qI]14^\-oKöz d'E[;#_##ӻR֬!?$,;f) dm峲_Aظ54*M0E'F>Ҫ#Sfd9~ -UhȦ]֮Y|dƝ_e0rȪ8TwŲUDE-я@?SϲINpŭ9fb\ʥO4q W|̵Z6bc+i]]}|Տ\ӥ.Gt}$&&K#MCaGA>s sBգb@Uo T8M2UWt϶$XװL8I>Ǧ@}}aqHuL?_ g]LiP.IYYiFS\phdl;#u+ϋLOGm/3swN+9ȟӮmZ:`=m{(]?Yسn[j2W,Ji( u#tY[N.h2d69;Gک9pTNxe"D Bk.&ݟxb۽G𹷍eqNl]xλWW~WRiY܊և;_C5)E{uyPh7*q>_]6]2eH ko!v9]g>sT@\+7 [\,ߘǣכE쥄C=+LjTL&gs:QN6jN/hB,TupGtL؟~a8wL=Hcα}a]G^|g~ҽ'Ѽ ONA#q! 6|OCv)ٍCd*^ja9ƤmZb}Pwoj[#l5mtJ|K3 XZ4QŐyۨƔK~G4~C?ԌVB/"KvMmvbB}Z7!E֑)Tut ]&5HFG0wFy&M#qj4FiMX~ɇ5BR2{.\ZэV2.;y*5N @*t2̡h)#MjΧJ|GnבH#qa8W{ @p%RPU n]̄'%*$^sc{[CxQ|Qh@U:8vsi6pkW8*J} A?wJ$ziVZb'G\QT- ڠX~XgޮOlwԋ; 74llXU/9wYF>B hᶛR}=LFXH%ޭüQ/Ս, ls=dM2KݺyP]B}QxalXmrJCOggS@h]ӕS 3 6ϛDCzK꟩4ᇥۿ`Mcp4L<;0X7?Jy,51YR[mLc^Y"=D5k.ӚSdYxh}0:L[e7j7_ix Ydw,Y*LHij;w݅iAYl]0xDJ:K-ai`p~3zins)D|"!Vo0"YLS6L`=I"8|qwp?Ŀ[5ʜ/}R/;lrw-I _\ yھ#n0w暁JpK܁qNo_}%ett06"43VM9r!Jld%ykdN7snuPD <ኆPi'"'!J|v7r ($ Q<[3̅S#kїa  ddOFw/bSsY8ŭSGٷYW7C7H6@d:.|> -繶d*N7Ud5.kWntLɱZUнXPq9pѡGG]ɌVi8+,"ac4Ť4w~M5`n UM.Ȇv!lPOln[w]2h}+{ *v>@ tnxGm.TByksKEM_UCڗ~SI"1'y`EbMl$q[e>L]7(YU=]J^U1Un2f\lE,lF޾o5nY3.Z-,iU FAg7~$Hl_i%zUuntBLE: *&~L=!>{<.j1|\ M)MBT`Q>~)mg ݯg'l1ρ^ӱFP8,L23^`vgrL?\IfXnGrgؿJ3l-b?l& ͸AV9zb,i߬|YdOt,3ruں3\eaV?͆8RƵOq[g8+Is3%HωlƤ1 &)j,j -{ D2n <ėF67$FM2 {Gs ^&|9D(WAiJZq #0|YLB/Г剿eq۾WaGT.k•4BuFmQYpqlB6*sobC+]T[斕u%:r齸e &3;Y -yM4m>{d" { >M=x>Ltb"kؤ âju%-l# ,tWQIR:Zvcp9!5YP`#zǽݢjk34cu֢i-gVN4$!sv Kug_^WMF-Gj:}&=gQ1ې -݋H_>];Dg푝1B,2{W~r9LyO3J ݳ| z2?kK:Q:téN=# -ܦ'|W_ f7jN=,A^}MÅmN ߘLq#F&9OEpj$TӾQVjctZm }y gV}Q{c k9'+:]}Sg`n;~Y7ԷhnbJ+,Xr_x>;]=yܘq۸▟省aES>n ke X##5 -=qۑƂ;*L3C9J[f>}g/Swgzkҭ<|s{uSB}8mg7sּߨ lVi>yjߔUW{WOCnR!si7go@: ,8ܶ@:7;9վP'1iҒ(fL_nMbcz40_ZtV:8s'jZc]]4ӡ>9ؘk4G{kK1xfe@U|z*B4e) D^6}2Y%֝ho=G[!I&d/^'_%^`p3{t8M|ds$T"F1(4{Q2e__;lݙRߕ'[B{ Ĕ$P}:[j[]9",\1isi;. JһZW#i1;k*ف꧶jv;equ8({$,kѲ+JR{5o(2 kE߲߿}C"BqA@0^vk],kt&o/e5O|PEȶ˻ϩ3<f[RL^][X+ݍީ/RT"NMl(hfĔݙhTCɇj%^iXK9:{WGĒ=[=PS:G0=G 'Mo$ajrdìf]knāa\&L^Au)FrɿxF̽6|}z,XRWV˛?¨>A9Ƶw,F7 -1(baqۣBT4 -Ajj?|(ֿx!dMAG/hZ[MWrW:)[Jc16~USq6_v3Gd~pv,fײBa5w um1 M\31梢FxT`J]6%^xNy_4v"vT\tB N6D!s^v\E-%n}5-Dr+֧Ǎ$EBo\F9ukHB R|l>iJ) 4Ւu4>J]kgmlۛ;{2!W>@?qJږbjͺ8M햋|ymu; Tbֈ_J`1vkLC\VX>aemT"U]j6F]r}oI) '7y< P-~ H诃/E"Mr%,2qGF||9 1鄖ܨJc'cj,S޽cFd2?}5q{>[wo#lS8s+裀DعrV//=o~/Nnω zYcQ]]#=m1Jp%2ZE`8mQǨׇ%!݄JH}{蕬ygly:~W+ca0P1i3cp8-1eYK+eb!Ci7V -DZmܷD_+ea@7 Q5 -`2}8;f_PCqXMT4I~ϬIٚ `ҳT޺ChA~hyZF. # -iu.᠆\||1 -#y_42ˬv|[`?G3ֲaeDRj[ލW)nN/O鎇%ӑ7B^r\-r/φ]{y+N~={ui~݇dkcGx?ϩf zs NHDw{*0Y: ƧM±7Gxiw&[@XFpWBr4]Sݵ/N}fWϽb҃+z W誵njo -)lyqi؉xiӏW}swLCn #1hD̚ݒ4Rˋ39[I鯧rtNmb,.,sn`\O?^$80+qzc9= sY.. 8k'6 ?}7.5`QPX=>0f6ve[ߌIw Rjq7WU?L~vRwV$NvRK,T %\ݚq1*?}ٳ~9ޤL+m&곘SmݭO.sW2el]b+^/ws*k(md6I - QI;)kTu'Ĵj X(VoRР1;(hv[6 }V3W_y}1&ai)з/,0U4]qƃI:ՁsCF9)G~E˛]m;BF|k,at~6>wpۗ6p9oyh.Ba[L|H=I3|OtF{m,$hw4}t"-.ny 'i4ѼO@[uڛYnDr]/q]Iq,l*K_?3Lg6%*ں[nXǛ93uŵ/NcBH)3,Cvxd /;([4SW -U>3wպ,:ٯ;QP}vuc7o=k()}Rk6> ߶г2|h6Vv92b!"??oxo}E$,$;oCxGLv;/EsqZdz] [:Jbc;eZ{.WI4*;'g8s=Gnpd`!5lmOrhrx֧p~^/z->w|;b^d1f̓9NyܰFmAe0Cgzw7֎}ͤ/3w{R;4f0Z>1%5M[}/GƘżg>MۃC^W 3 4w@s^ kPSלh# iٳ/lfo҄z N<7l@X3vPeWյJ#+ךW.U WTnX'L:3Ιp?rprKgTZɤ3^kk-HM?<=7"6x^Nx0~]Yi~hOG_e: QPmǞn|5VlL1ݑ_;t~%+7Mp1yoF?&U[;yo#Vb'p/v5%U &")0i -FtJ|5<ǿӆM~Xp;<iH<ܟ`sx~ju8G)-{qcnKꭺ⧗4-zuq|+tZ<\>9XitG$a#M۴22]?w|gnLsk}2{dHi1";ѠYcfa]?앁2y0K<+}|6AQ,#%F06AsOIڽ`%DV,% d3LS_ڠ,O~ZtT5V@;H+}Qܬ7))9(>5O.]z,KG6:}Ua~-3C;eM|yAʡȪ:at掆g9rzg#}t]c3Ul[lT2S)q?cL84Ԩ?l.G퇗ēپ>æL"U&W" w0-#7 v[YV0+W ր<[nM({%<'y -,i#J< :aZ`8 h3q'lexz-Z?p9ueAO+j1Mt#5쭻K9U^H=O#;vl9YO\t\^r&a$=^?:Tk(YY\Qe^8nO`׏ƜOi*?@M6M7qQi+H9XTd85 JU#YdwxDӃȖqo"%X"sԷ{bnҺSpUœŽz4цp9 gَwYYLXh'~z3I97Oǟs`f-^9;RQr47qg$ֲh<9jmE>?fT~`?ض<ĂQT`VGMji\c7@ݏȸ6$,ːqo->0'rQF_g_\b}FO3}_!OVz/Qk_tZT l[\ԝWxe{Z9p;'fh:|kӱoީg׻7ZSǯ)lyFjܘ,_)ivO㧿kIثɵ栜?%@1vEkMGs[J1zKX''/-_tȶUH!KSu'OB o_79$ILv鱫#qMԼݨqz#84)Ł|iOfϩݫ?&]fZ,0bbgI+'C7um#˒^jv#7><#CIȔ֖up֘S{̞&oG<dž0~wrUFL*6#9(9CӇ 5kM.\z* -Z^\UΗ18QSƉ}ipԪ~ϩ<6)LAy5DUX峺$1UD+vJkUt^GW[щzmpp^Gr"*7_9Wpvp1A9qD_s<0(#5+!sVyź]Oò3ZZ!&)%8ګ }^%?4 Yc H8"u&VvG Z] -O9]tTfJOm5 iPY[GN奩q܌7]*G» -9Nzi?L&Z N7COṗ6d׈%f?q̇Ǔ?\ݞ~6v UfsKkV'*ܾ֐m;W_?"`XIh\RQt&csmFt'c\a#eӳ6duF&u  ֢u- H{MRAqR/1 w7%XQN]k1vm&0A]i_F[,u)r78M˙[%VEv~Y܈f-ȼ^Lb.[Io -V7E.ssç -k6Zҁ -u 8Z鬔 ͼ5XM>;1@kKS uzDNnMRIFF^WAVEfmt ++data|\6,:dlB4>bzN:>^J>j~JBr|JFxxHL~tHPrHTnHXjH^fHbbJf^Ll\LpXNtVNxXPvZNp`NldNhjPbpR^tRZzVX~XV|\Tx^TrdTnhRhlRdxXZ^VrjTfvX^^XvhXjtX`^ZxfXlrZb~`^zfZnpZd`\vpZdb\vp\fd^tp\fd^tr^fd^tt`ff`tt`ff`txbb|p`hh`p|dbxvbhnbln<$XpTV^zt\XjdTLdbBDdnXX`~nZZnbRNfjHD\~bZZlhX\r~bRPjhLJ`~dZZlhZ^r|`RRlhNNdj^Zfr^Zf~r\PXvfPPdl^\hr^Zh~r\R\xfRRfl^\jvb\dx~dVVh`TZnn`^hp4:b$$`L&"J|dJ8HnlTTZrz|jTvl4,hbTl||bXr0(b\\||fNd~@<^dTXdjXZrx^LLnP>JtdXXffX^vtXJRxxNBV|~fZZlbV`vpXJTz~VFRpt`Z`xx^XdxnVJX~|VJVrtbX`zv^ZdxnTL\zVLZrzfZ^rfZ^lfRRfvXP\rzf\`rfZ^ndRThvZR^tzf\`tj\^j~pZR\xpZVbx|h^brN -$b~<Dd6$8jrTB@bz|ZTZlzxTb|H&HvTdxrXrH&HlXz~|pNTX8V~d^`6B^Zt|^f^0@z|\n|~fXlzD@j`dbBPfTh~~l`zH6\r\r|n`rl>Fr`j|dJ`bPhjdxN@`~bj~~hfV@V|bn~~lXfhN\zzbndHRlbn~xdrlHLrld~~~jbp^N`~|fnnTXzzdbv~ph|bJV|nfz~~rhp^P`~~hnrZ\z~f`tthvpTRnjl~tjr`TbnlxdB*8FTlv\. 8^z|~jP2*Fx~hVPFLxb22X~ZJTd^T^dPD\R6>nzXPXnxXTf~^LJj|H8L~rVT\vvZVfdNF^`@BbnXV^|pZXj`LJhX@Hjn\XbjXZl~^LLjbHJb|dXXldX\pz\JNnbJNf~fZZndX^pz\LRrbLRfl\Zhp\ZdzpXNZ|bPThl\Zhn\Zf|nVP\~bRVjl\\jt`Zdv|bRVlz^RZnn^\hl2 <^"&bJ$"H|bJ6Fl~lVTZpx|hTzf0.pbVnx|b\l.,f\bz|bPhz>f~ZPVhbV^|pXJRxxJFile created by GoldWave. GoldWave copyright (C) Chris CraigrBMF _b>  C syd`cƌi3b cƌ 3a ls#d ?Lc` t #`?df`~el `p'l`;@s`@A 8?<trN,aA@   F D  g;x8  qƌa ` c \'818 xxa@.<";q=r3Ĝs;aǜ;# 33 3; &s 3qs6c 1a36c0c3ù#NLp'9s<<3 Ap| "a踣z03a1;̌cƈ0#šeƌ03̌i?03̌qp03̌ay`133̌a8˜!71ܝ\8p88̌a8pt03 ` 7p  20 18p1`08|31pbp 0x 0`0d Y0`4f9038;r`1||1`08 D 0f0r8`!3p`C1!!d;c711y7̙v09913ƌc011f13ƌc111f13Ɯ9;cqs3sιx0s1f13p`c18HdfD|f 9f>f7gf ff fc,lvBfyn?f00df!fn, -  - -      -  -  - -     -rBMF `  633<~$3U`f69`f3 U>0ff636 0fl0vf6`33V3f6f3s <<  2IDATx ՙ&g-n}to,BH V $bmfpvO#&x=~3x z1nlc,- #@]WwѽKUR'̓H nUVQ4l; [}7?+B6? P?u!f$ĘnxI>Їr6~"Eh5J6_#ZMV9@&F|_n} -^i_,r6_<tse?t_K'[x|)'FZ mݳۼ6O# ؾSucd0AruWQ -RGKWH?'w7q֐>ӟbOGv5~~ - SrwK]Z>ADO$J я!ԠJ{SG"\p|Jŭ+9U4F ,0ͼ; $+yn7!~ẃ^Rz]??nЀ 'L;|/OJ{гAuҰ&ME?߷2p4l\##4{bq9hsO8K7NџwЁmF>wn&eWo:N&f?hWuf:.n%#mеӳN%ޏNEos~mN+5 koEDܝwtNU7 \" iIAMeI+!wgal$9ȭh7B-hO?)LX{w%ףo~^BZr;_y;Nt5钧b@>G6h܃N%qtMvF7z@bvUw-*1;:`'̀ 9ʊX -m[EV ZQe?7"RgaYy2mMHěQ60y018*&#B/ #cW={z5lsMS%:lHdD -\$V33;)ΟF:bu Dv". !XW@#~{/4"*9|r5^H`qV9fxx;^ md3@N7@.y$ra ~6庝خ7ռ^kg96_X̬G]qMÆw%TpTa%Spb!Jd1At[{Xci+oD.X%oFlE\:] -=< 3g߹@8zfEWʌ}bz1jt06-lq7<&%?D)6;?F_f1*yI*lf?)}_UCF8L=O[3B|e96=4y`ޥ]0mx{_1QL2ܩn T61E\:]Uu}&m,kL@sbf@|.)2L?p[}ϊV~i8?>_.]F,bE.'FRvHC #Tf%!:p{Si>*GP#+ĆR~ۚ[ ]>廊XR8o$y[ed #=aw8.ۡ!K;' ăv0i1tT%jť7(*[Ho7g7G(^Gl4=eMZ,>``Jw G{$@ G^8e|LFV?{h[s#Y~/a(*O>$̓mEC}iN~KtC9Q'~s;GXzuC;e^;ۣ_q`Hrv8#cό~q鴮 DgQRٽ\ZɽlE;H5Z0%+e9>lDic{II6d-Җ$Nea( ->/ޕ?yW|{v^9\oo5 ;8ϵGg&M}u.lT,Ώq )dJ30s~3#iYh5Vj<{Zzp+`c`Fl<Sh_ĄG}^9$S/r]acK_D}ODer$m =JVWM0c0`zߧ>\90⥑&^PYpYH꓎ Rı$Q0oϚN+wI7 Kng]؁t}ab :DO'`Mt&w5+}:l*#oA`?6?*46D_(az:>t27s('峘-}mDa?)dyPU>ȎH5OK$ĭ4A5'{\2̄o -@0gmd9$k0 -4j ɯ^}B] ,yG@C縷ϥ vpo`7}˴ Zt GIؿ%$&ͼ o.m"I{#A"xhl_J@e\QϪ0&gibm{j8 '2!R>:V Fuډ{eUe ̠՘7nW mSJ&ߧh3k\>Sk}^?u{Yƿq=`>X;2  隟W{{O@ƎDڵ!Z"rOcLL]f/H6~tw> jǑ(t-j|<c2Brr#҃]w<6Ae\!7"?;@}~7s}rAWhslhR%ӼOyz$fz$mMIJ}J ƕf }"큂deh$NvzơyF?i_*+E -GpbH@_y=فF'Ұus>Ld };+[`:mnG; 8uԊH -NtKka;^^>F`fL{1IX:9x aQ`ow:7gAAsH׃gPΒT+zGƷCo&?3Q]+@/{oS],.6G;7GOOԨLnƙ"&0qCztJi_뤤i 8cqd'i Gc 4Y8UZ'R.Bk34N}Ȍ{Q=_ZΟ?9@@Rcs`7~t?S仌(УͯD`#Z8bxkGc۪%gpĿwg]7bP9+-6JyM)z[ {,p;|7 b\9䲦H.7r깁}߇?@&nIM#GFkf/NOd!19-r|6/Np(1 -݋:FB [1pOI'N`\|b WgrLfH&-(@9jjPqHHk,UVxnXzoY*ě_9z}DGnο65F?7x036ϝl {h: ?~{"G{ 835=`E{F4ٰۻ0}Rd\DPNFۭ<|eMcU;}69c94U\ -UV isr(x)zMW <Uƥ <. -3 й1k) ^ZF:ڵՌ -j7mi!:!mVO:< zZa]}} -QFs,!_\4}zG^6EmvUVՅcZvY/䗴h.ĸ$ҸtvMX3wfxK#OC>ˆǦĘ -h)ؔxr[eW_¡\fslaZLc탷_æݩv]7Qy!n .+eɍ~w5e^gUNAQٚ)ؾ?eUT8rDE;9;ʜ([QVI^ܥD?EY)j}R9gUCۿzv9J7!>pݵJ1_kfldVWcS3@oʗšy*(FAMw%ОkQ tLgԪnZ }҃D˕c֬?Pn}QEigmkG}//GBʟy^@?P;% ɤc{PK@˥M\;šr&WmY򫯨8. -@ FHtKp:2OJBm8m8g`zmܸmm "*F۠Nf -jE VJX3Vx;x,y.mĶ/+2Z>k:zhMEtDjnLv',ƨ# -d(P]F Ztt/}_g5NRԌu|_L$ޙTE5Zg%-[pN*'}*,.>!hجx}橝t {O#R-A[ ֵI͜Q>p,G*+;lT:Ԃ֙ -V1;v2wTϙ9Idk&~{sAw#a|^,HEL(G^vm9ӶKsg7@&2KuU&1@fEG,n;d@&2 LJ2# HHHHHHP}HHHHHHH -L$$$$$$$d !!!!!!! HHHHHHH@BBBBBBB& W;SVkխT%ӓ鰲^=mSKrXw -HHHHHH@BBBBBBL@ˏorj|Tܷmt)#oK%!^Vs|PNGԋu_/gu#2\KH퀱>/7i˰qR0mH4/wV7GٚM%x/ T^||yK!`j%Nwuv=ԛ?7`$<lAtEsھg\:6D(Ήn@ sz a\[i @%ZLfeLx 8 -ឰ]v.G1Nvh'>o?.VD"qTG) ֊~ϥT}8Cow*a2 S2K$oW-dr;@:-*ԩA/ x 6 F> IleΟFkc]NfXɷ S_x|/3m$$_/3 x|V[a/Pu迈/=~v߇$ejH.PW" FKfa)kq{4]Umh lPme M(.i`E\d%б ZlFRI># -UUӯAƖyh[QR{HqP>@ meO2)J'PBNmʭ|w

5j&eo<&_5nݶjbsYω,*E>~%50^Z]k;!qۋI(v=B̎aYyw? }v~HܷuGЯ})xiI6EXd:뤅K#ZC&?<}uwIM>_x$=lxjTLyOQ N5{x= s%?W߭:}*&BMiX^@à|>}*c$Fsnɗ&Dߞݶ/:z`#\" 4v/]P82 uZYt aȡao"x9z~ Q{61gd@ͨ,.//BݖϏ<Ξre@jo- @ *&}·.m+aYn6]bv7wI7/B7O>k{?'!9f/w{~P"tI$wGg!E} 5quF[ cL̝JcCMd|y7ٝuț  ތ?Q1) -H1715s[06X+vbП B㺊:F0t4T EP|>{ 5%~S,^/,`Ұx|:sEG]. \9ae5BX[C/@#+n622o7hǟ+eCv7>h1>s]=l'4y8/vIovNcMmqH@_E zmmo+GWkl19c#)H.FYHQȞ4dÊ|inϺsgpp7{]0s98[dvPHmF< m {AͪL^{awW&AѱW] G:  :$>FK6|Aو:H׶ ->Mj#򧜟.}KeF'Iq|Fʭ}ZA=Ę`%ΉRG.߸iy -VG_ɽ1vnCnFM"K-wX:']oK~ +yˁ:ۙ؝oC{m't;GZ_$HoT# -?JwpxSS mit=q -'shr"hYor60H>{n,FWTmevj\XmU}Zf2>UR?aO5}aV~f` k=!}gGaڄbA;d9Gب1K d/&_@mros9 5 fȼ}6AɝC#A>>/ʖ)HMk#V|mW3Sw(3ݥWi#qVV-C&ڜrݳܿg0Q&ȏޛv]K#>/z))sD1t*}hVJkS}GF!5doXgym~TNIa٣ V2 -TB G^0''?G0&ꥦ2X@m1rŨ -cq)נ/Re@j$6]o8\н- - Պx}ceZjݿ 6ᗧahC;u @ :ľDY6u$/&ԇxV)بJ}xf/ep'ҵ-Uy!T4aNɒU|L}E,t 5 C-t qf[,Q#.] -4i3>'gYvWbO%"zRmrc`Y;wZYڿ@6_gi cA򁹵Mp>lh o1<%y4;fIԃ -K[?$ԗOJBd%wLא1yS۪/-FN-t{N3 U@t}%sζV~豚8e$DlkJ%mET,*%;62? xmpV?ȤLz4O*\ϱs: -õP0K@0=ֳA[.`o~/;C4i!l FjL/lT 0WNݖ9=35x7Ә&gDW >\Ӆ|8M󻖐 -t<SkEtr Ԭ~&9mP7SvY7mtJ0@{_"JX(Z%af4CAhFdmOQ7h nMȦeåM%) -%c× -^s03k['(U_0NÿQ'S1Kݗ_sUq{j[8AiΊ^sZsFWٱo}̞in@ߏ W-筊 >l"ER_ 9+Ewb{rXvq[7`x&J։. -hN_PFF+[{:9?̶̕t -ScHw͝nz1e5R2Fau/-ۮ<WKv豛đ*RL͌b]`C5P>w KO>wwQfwJr>KE}' )04\h:sc{׷v{0_mpP -s=M aGYFNXv~abpB+x,:bA#2sy:2VnٞJO/F c`][cdT¤c9ZT|6FHUJgB {/ɒߕZOJi!į[;|Ge?qqm(p͕b6{S9왲0#Ӕ dnۍI ~# sY"l!#pFVv 9/6NpC6/v Hcn5@]!Nfה;q.-΁3|N<:_gS|If퉬37Ǧsxhv@}`Q:{v`O -+(נMùWolsõ6^xoTΟMSBnŲyIΡaLdI,G":<=sYFoBh%΃9MzFCgsmǨ Dw.Q.ƚ%.Z0x - S瓨Hp[Ж7zy>~ 1/ :fY4مXjē/ښWÙ4XY&rf,]g&%v` =~gM<886Ff/Aiٮ/p[ڠQ-=oAC{^L9Ɨ PfNOt}LjRm9 +ћI=bmt&އI)q!ѾW2٠_^OP), K;Y-كHgUvVe3Q3db'T2*%+eGM&>ղjS9c-Ə !==n*V2Fyݰ:z$J:s !G@]V(Q]·5\T 9sxh KCQ(ݲv(rf8=mZ* :$++B`.9qS#h[}++PE%1b6w!%~v(F:,3i@)Kֺ>u v=zO*NVR`JTD08O5zIj;`E-*A,e7@ߖfw}B4V.oyP_tYa93]Ї 6^<Ў<`r7~o"ď6k{.&dψ Uۅ* -+S'1vާ>nG’%\]gUi7VM`߫L$5򓠼Ыh>_FU2x&|9_v[*T>{D|mz_O?6lesgp4#2sB%LVg v #urL@j{pڳlJ4XEKWX t֥_?W1}wzl񆫵o+pIͺ:k -{>bS V<>6]'M,BY;[nԆ`SS -\i:_&J43&GDZ Z?*[5'cɤ4V-cd=dKI_ԛaŽFW5e@BBBBBBB&2!իeܷO11R'>}[ǵ ы\_{Q50 -\UP=~>}_n@1<SA^P~t=_Dw!OW.|T%"X:Ke-3I5h]?"jn{Rt' Tgϴ1 -: -H5C]V -gOS<;!Т@z* ɣW@v. sxieۃ2/Rߩ$; O4;E%v\.룓oqG)Z8g|B}:Ǡk]'^/D#RH4\@a/[= ۿuS@eWKK%U9N}-tydA -o׋*E߻e)fߙ6f<[~1ދǗu=a8 -K}EQ>sO8a4D3G5~]JA9E'~Y x 7*3I.b 뺜`z[?ڻ 2e6]2-qKfa)kzL{{ {!*#4%$Xk +镾W@Zo }CgZOxlѱ;ea~o%E)8J]iHt#/]ѐ4$=ۺ$GDl~h 8|5Dۻ@tT~_n5X^]V̩Psv$@Wi; B7@ FEFZg^{](o7TyLԫ,ynEtJM0g:;^.*)L/)dm"G~?C,wdQ }Ԑ~Q.AuWU`4$=VM;2SS*mc˵xj cariv,״3\N4:['Gٽ_XX49Ɏe7̓ŭ;C2,!?ݻ edKx86s7R>y<.;F⣬_kaZ?6hT|ނK-X5]Xc?ۂx_GuwI'JLh(19& @kGY8euk/!it|yBlaǼe5z@g3(Gs?K=X-]vOD|c)zo]^Wi#gU,fAt!.8DUD;_V&3bpN=WƇQRW(JG~h?DeUz5WWlDOd|PKzya -I.J -}#|Vz9t _ؤLJuX,~uXw a}0a1Ft(&)9O 欟eRkZQ/Xa%0pvkoEe5z_Hgз*Vh4ĞxA|_jG7tHȤFCIHd]O?Pl'\Ng{΀bAWoC-bz$ 3ihmS,wL.Y~?ۑECܸ|TUu]֮@rlljѪS|kn=VO^wOJQ~ة `4S6vħI>JH -m̯$Htvv";,_DF%!66.wi6jD>J-a Ǹfawf|kj開u_#aeAUM{+Ԣ_:gƧԉL>';pQ)v[ed{v> ̺QTV"t葠NC*gʹB!R >:Gh.X NJޡDԩ }2J_vgRE8q5|r~_VGKYg` d~m>kGj¸x\9{؞h%SӤX`XtzI""qtO<= sQ!G^ަ$Z^J;@g\xcsy:MU>oYI#pZV^Y̷6惓g/QdF73e6:^8+BT\C/h <_/+G"ܥ% DVB֫L_?n>AUVRo!?/xC)z!("۞V M,>+Tj]L2Rc-f#گ:`Y$ -oJ?Dz&weBlC9>z"-V*-~e~EWxeNOX =ܽ|W~_:7o{5;uo#sve Q 0u"9}=d,6 DzZҋt/g&rd97M۴w1h*p5˗i4d9WCK7/w%gCAX"Xv. |ql=-KW! G?pz Ub lMGt< -gN*0r #XLR}v*Wj<0>f_%jǾ'(#p})gZ ]mڽoHˌ׆ UB=}JFnl@+UB_KQY JQK9iQ~_=sAߕ})ڜE4?ΞTy# mOĘ -̇q=$Dry -C@l.O=n:7t|ەc*o@6YX0χH`_?>-^aGzAVTWvdhb?P>yPjZأYbQ=Xa~;zމFA`߹ϧvo~/R o8}Q-}7eCW)řfP|ǛH"7 4 X.PMZL(Ep_y zUD:o*_L*!^v#=5 a8>B<̏*Fo*'u;?A[ؿHʵW] ~}K>_ԛ**켛jeֽI+mc?5_{DsM֢r?ӧϿKHHFH@BBI^c VΕDdW!|TCр}VD=%-y tj2%2 ԣLd rHHHHHH@BBBBBBLR{ !!!!!!! HHHHHHH@BBBBBBB&2 DQ Py~f! "#۱liWY L$$$$$$$9pەW&xtqé#;!:?(z>Ju>nWBh4~CoE\YCmk Sv$$THSFy'[dq| -ZXowV*tKvzC裆zޅ<]ڷ8{>RF||x r缃?Ck\E/wVf/CZ{D*Ѩ"+Q/Ϝ_ėtVƚ$'`{+4 ykd>?D!E(#Ņ̥T}8CowJeXCF.xlj'=ߩ$;(qA^m\.ks^/DR|^/}mxd0Px|V+(z^(R0`{ #RxF=@~.WߊӮY6ۻe(}gHH/vy'_0,KS6uxEsMh hFP6GmguWKK%uK/"躸B]!Pcm'6zPPj$}Cg4\0킖GAfӤ` -"woш 0Rz(C湪ϥFXZq"Aa|Go{V _wQO#5jSt"PaHTa1Jn y vۍ{6t%M"p͢qKN.bRO\Fsw#Nt)7{Sir0&_[dt4?hO-(ЉY|G#v3= -~'THͻa0f⹜I ^.*{ٱr>M:t?LM:Ӎ߉ 3*@UpC.Pg%B-TQӾ裴=K{F|AvrH~}zYɻZ 6ܙkd L1ڭv]צ }2} 3Yde3ogdR{qp_z/pORiz%7o$){>YsW?2ǧر!.iճerX18(LM]0A:/?DJn.3Ԏ#"g=2U:}!u4C.￙z`Ld-1PB׹4dNhˆ!v*+3c BF{!2ɱn%00k^Ȧr0qIJ[4zBHk e'{;nh_ -kςqEvWcQ(RH&LSOu[e F:I'T[ DB,NNIb.1v/ +C} IQRG@>r\آzR)jm9 t,i/_6/axzTH^>o }8фvHkepI-Z}T @5࠸r| 06G*>Ӱ>YӞiss)+-όs)9e;)6'0שj0c7tB-.wQ,5;xH6sOxQ/y@b[G_*KP@ -d -xU-#OZ*bq62-'&lČ#Di\L~_ *Ʃ`NԞS>h_: `L^ gi}'VI%T̞g~f2 YSC'ϤVLCdG^.KՓE=Dv(wY}>AR#\ iĕ:oՃ=C}\62^U~'hR7(8~)T+C~CSoơG;>m}D,VX&v`Ty޼kwPpK>r0-^m'BjU (Wtƻf7k3|HIMcc!EtKX XKet^ -3֙#I03>u,+b \;`EzI{(:&>6D {e96 wek3)-`r6ۄg>Z2Ql8~JFؖD9Z*:[4%?tc:*$ͦT}r=wO -Fv}6IkI儵oVEV6tMzm@ =o|ՠ9qv'̲+'E;hhO';w4ayBDYE-fsUHGrDJQGY+xm[*Kb#\%bz ??˳% VnUYSjZF1[έԃr|j'P%+‰7``_ոI-~IQx Zv4VvT&L -Nv<|H}3s8>0N~sQbT8bzo.*&>q [&nJ{<_TS@-ȖVo)\G:Tanr֒{Z0KUˌH# @kg@(t@-WIz.%ahϛk |>Jb$ۤ>BJk?Ϣ~vk)f/鴊Q—/gںc"F6`:=ON+E,C/c1JDE{зZ ~3>ю[0x6yhjΪ}yZ1c":yl"d͋%@p#R͔Ov%:4fvnj?^d薞Up8 -yA >|~$Ro\ֶv 8ǟT~_۩hlĝG;CfDz˪_B=ZSJ/IP)(3-@P?tbИ8;?X06!HU^#j Y=XVjGZ`pI&LNgFRL=ϻ=rЧpJ˱x 5S$`|_T~l,4QF<̯~/.Nz8vɞIoiI5m]`) O};(y I2Z:YZauV槜^6'@ti\%.H'ON1NYvh/^c7 63F`XxƵ>>H0jwm[v-ێ _a -? "V4sْlj)8&1#j>;~ f})#YC1~NO3ٳu[L$;D;IKG;cS&]1lڪNKwhՉDكD ۹Xd'-0RЩ[*uI-~N~:$LOLK.Gs1AkVo86o.cp`Iٰ{:sy|s:Um '{ };CG^^>0(hDW/- DچkX3y4~7_} -ssϏI2f'﫾mct!$z>b F@/Y"[o뷱l @i)oq{tq:͇h?2+_)e>bӢ+%W GE] -`<;Q2A[aD$,\ @gQ\2SfF\]V<=_Xy^&rtmYgDcސmm!>>FSJ6}X:ܒ]X=nGUsdsxfr4ʸM& KgE [ҋHH'(I^ ,]dhw>[(F_ _.ӵᗱ5 A0Get1F~5/"8H-U1nlmD&b,UʆRe#l`U}Z]%\|l< g5=}[`I@ezKw&]H0S1`}˩1unbϑ}WapkW`p>ܓtZ3ҭw>#9 -. ݌rFk-:IzOE8g]@/&rʫ+w)pe&bNa9HLpKoEA{zrd"k`H{"*Vq)8vmt['W@_zUȲ@6Z6I>_([Ǽ񘺉U9[+gEЁV,TXA :#*Vk٨9KȰ_Ś=}8eo[o|bG6h L')#^GA~ͪ6~T+3,D2i}Zߧf_ңUkgf'ܜE)ʇCKd:_(KR)&юɄvS2TW|kuӚ5(|fU0Cq;%x" -| -s,2ȩЂ*&{B2٣hģގV -6qU!=P`:tV>I-?E}&?v8묳r푅wY4wQ_Xc | -~`ji"zbz<ŏUf:W":9!,^jS:K+%Z4;9~4ڧSYo;mf Kgog^tMT!LZM|Pa&-4RKY2r1EeLZH#_EsCz`[|3< (Czкۧe_}q P/5eaQOK*a56i`P%6>-Pe'ߡn%O[VF|l?/S;UݎC)} 6ۡVX7IZfK6bnռp[nJ{ԆHj t*ؔ|tD縨:o6Sab(2r;}%.{}G@|Qv6QW+mf_TK;H/?(Y>>=OϋV\٬QTe;.G}En/+0~x  -l*E SfU\ṕ>.iFE2{++۳'ߎJd*twɄfјsmha"VnY:s~)b;|@CzEi?%i~Q 7z9>e&PD_"QOU/|tuQ)3vʗhak -@3jc4|I0zRYپtf(|H=HH98_Paҋ꩐ )FQfvgoȔ!WdYmWW 6v=Qъ!v%:&ɔ핀R#9rzz91G -/m>a+ok+v;Jezz9S۱)G?mԍ2 VHHv|-HHHHHH@BBBBBBLc Y L$$$$$$$d !!!!!!! HHHHHHH@BBBBBB e>s:gRnzĒf_^~OBV$$$$$$$d !!!!!!! f+WƗMwN׮LF$6ZЯ%xw*7\Uh1u(?%~Ґz_Ө5 it!|9lAtE圹gAMt4c}_Av.Co\gJJ]x<YpO.;ENrvfL/C=(w3&"|ICQ&J_.|8r2Z4:% h ?ǗQ!p@i俆8:um}8ftOY/[=uv^h]vZ(~^ >q&QB&bK6@'o4 6/S# -Duq/B|WSߺ$ -K 2brDPw:vAMNBn?G>zO*\t/hwȸ%_@yq7{MMH6G5e=FQLzm.hGV6ri}j{߼?4 =5UIr"5 qK&,?[?y7%ʥgǯj)7x\(~1zJ;0#tFпmASNϯ&s5$L5Jb >Fz w [R)zu%5[>,SB7b~.(~ooOʜ )c:0藣/KNĪ 'EZҳN<5sc%r_꩎NcеN<5%BFR=Bt(1;~$h$"Ṫ>K1~L>H|aEN|+*s' */:ԗ  @ fcXώKvÄzb1b0;9#d#!$"@-*YYUY/E;wd>9!?;#i林n=̋mxo{x!9=T@ttoU L욢 9zM>_`{O^Tz?SN{~=! PuKωw!3wa>ǎD"/k)\CNotR,@Aq5MJñ7W%@߸ZFO$L*8HFQ4wzhBr#nAZ/Hچ"Υ6i$x9\ M!?u -XXOx4A -Ieѱ -vrcxRY{OVJ=퓟5=^'~lz _4zHڮFgt*fz~ Vq\. B-+)(wV}ly8Ҥ!Ǎ&C = 쾾 zk`4h:+|\:xܙ%9 !7e -z[c\)vV<Y/z2M - a|%](g -Yo5䭦o~h?ՂXQ{mg_&-MHf=r2$g}a*~QV%c54ę$D{2o㗹&eG'[>ekhPuQTݰ9ёDYLLҎ ázy}i0|←nn78'=ba%U<(PfMr+t%U߹OtFOV䭪o~~^V :]WfFQ9${[cr%bD8>D^\RLD`ϧ"!O|RStQ->Yެ\sk9BV.ܠgW&30><İKL_+I׍ 'RͱM\Znjk ;^ӞE%H{=ԬX4X}\RyL]~IFGu|%ԁuKOe q|ɪhC}@H* ͟L P8w0|,3O7%̩Ck3Ł+]f 큪z0Q m&}@n?,\qS"w.3;gZΰrg -F90G0(Ǟ4j&1ʥ -ѳ<_QFMؤ#9 г"Ptsb -i@+0Wәǀغ4Wݻ|j)`,fXp鉗T`4IӳҐ{ W Xyй<=!s|1ڤiO/~ Kп!fkok|ׁwbO(^uuguMB`dǎne.2:+y,iS!1k -|ipw8"ѵ J\ϲ@I靏`Wߝ9Rdctύeah\/p,ΠBW?N~g-mk|}{mzm!1AɎ~dt\WH&zbGtmO;Zc ic0QSɴ 8%7nisxK,S mWL:[.m5ba8b{&C&Uw;c9?h?GSȦd -|4; [=L(ts)&響ztjOC] o м]Uz!/(e|&eB+ImCi lj,HDt;{@ĔYqz0AݓO/:]E>y{yӧ?}JpH={~{WK+lxckI)ٶA":]粊s2M^`3NJEm|ip2ow-zcQ)GjXH #CB.5;?iOhv@RvF'}*'%at-{+Ʌf*ͅ[ZB2BOb= WZsݔ$_1"]Kp,䲲Z\F)΋#Et.|gp.30:44m7ֿ?ú2 !`DVyѶThω/b"mǕhfm @k_LwM~͘TZ%m]ق\.S56٨@ً}LUPVe1 nf^rň"g\r;kKk\@ N{NrWooz G`! FCA9\,ѷ_sm[:;%g[z߉>Yd3Poe #_?W@$‡ĸ AMЗn29<=jN=#P^>b -77qY=/[Ԃ?sL/W>bG_ǕC&vDb D~ڛ=MFw%2yߩ~9bA0/lk-x'Jg ʇx:(_76Y^1 wܣd 󰯔L`;Lo ktiiH,Mtt-6_IJ&dE^ >&CCE>ls 3#'e=nkԅq'^ .i#e Vak}J7Am"{S=_tw"_/=([LhL~䌷LuIF#z2)C)j76`lZw+~E\ڬlT2l.M Nsņ=&])$]5XNN1+&an :_.O>ztBRhaZF+*hI@Y=s0vʏW۽QmkE-}cSvIWǷ;}J}OFzygV29c%X o\oiA~ --%~ˬ{eB:o -=zQ%nh#hsP9ѧ!/oR_zNxɮr"k~9mq]mgxS -Ja{24%!7ٕ;skl6n|n cAx[tc 4~j%1'x_lw^h [v{:v#)M02,B`NB/cE3ٻ|Ԡk -z zd;UwHӟlE]*Yk"$̱:#A^6?z s$̌JÓ@@@*ihZc2,ﯼq u@cHD/  d%8|(&@45Cmu<9eO]>" b @dsBfQ.:}`0;g|@4BnLWk=3ɢᲧa1- -|\/(@4Bn˴z @eɯB@@@@@@y!FD @@@@@@@@$"hZT Qo-lJozѻޞ|Dፄz !\ 4+mآ=G -z.R.J/E^ď-?Khݯ_b nh`=?<5;umE %#ʸ[D 9:aL$"tzUwxВ0Dco σ)\x -1 T -w(}wGpVO2&4% Pz[cgSԙS^,s5SI(ۋ*,iX(LA?Ph [{m};HKJr,  4^YڢK*TG.[I3+GQ/7! F4I]֞e?Fs]*}uw̽N~9_E! &XOxS%;,'P,<4Ԛ`%ڠU- xcͷZdp%']/lY= =`"0&D?9;Li=g\dÎ^f-)ˌCs)G_#Ww_=׵A0T~z&[u;N/5\"|t [BT[z:9_]qO+OwwCl $yr.vw2 oQZ? ~;tB\<4S{[OvBPY}Pɐ:`$@{rRj-$(ݫDoH|NCQhb2`I!QtJٷ> -=CIA? ]K73`/s1#;hqKV33cKߠa?nGԁK0aB x7uz{=-@kx듁pL/,( gbWpL_ksxY^ը {KꡧPzڀSLZ{h?ʥS^iD_}yWEbYgsxfí˴6wy\l S[2`TrRf>X( } brܹ EW=6%u.5G&3 -ց0tEGI8sF_kP܆3߲c}̑2σ~BoJ9#*x <1o,Y5t: d @GV:ص|8O˪z}(g[2Rw,o1db=#+~ع2 -TGh4.̝,&PcOζ-M0\;6?Əow&Yu῟\::?yx1% -R3J ڻUq S^v }ɔRFnx{iO1aȶrtw.V<藻G8,6)蟻 ٙ5u -\煃07\vj:=?5 ?B[SR< oq + ~@/CAv"{S׻*@q?l\^Cnc/,Ż-4 XhF) 0:)deJwnh(QjQci/CxUD%!mk={* ٹL{McLL嬇3>@=kĠ!{$07w,H}g<"KuOZ[Q^J+МA!/A%y -:S:? 75@Nf+5/=xτ98B) jCǞã'buwY>9U_14xrq-y\JV?v0QBʭqXO;Zs+w}|V+l/}~S |60~Ut!g?>6ыFAMiAO.>o4`AE -J]$]P@/_i+ѡ2QR5F?5`֧g\(V\9ECtdK!W;12ՠŠ^z%Ә}gFO]m-xwX&F+Wo2g]pt9>☑1g4^ғL7ֿJC{˯dx:Kon>>uS;gb`YeYvhِ,ukG+u5w:fז+`@]QD%Kk5ߠGn_t`HavϞy(Ixk0fK9z*/x;ey 1,I4{c6ʯURW 5 [`9/@$LP?>2Ȗ#vG֩ -ʀS#N`de{rU7 ש |QFw 4DKb l; =0xI0+?[>zˬկ -p@ -2.z`WJ:w:>zGVz]nx &Ql5N6"8=,̘Pe"?3nw.gGLɱҰ0%X(xyX2\tR~\qƓ~@ A ({.LI!r׆0PJ+w UnBG[!3+浦yQuH2 g'v)o`AUNZcwpy}SDf&4t'ׄxLG!Oy{O2}L{ b;Ξ~G,^cW%9>$?ueG4uUu}\/Pԛg]FS.)L̤mX6 ݽך(_& m u9؉6a[i(s=j81Z,g/`@jjrX#XڼO˞#k5C~ɧVzݣکg9ƊK{*9p=ʋŠ1.}rE~xקZ[ _Ksò -~P>Ɵ8KYCZkG=- u$o k}o\Wƫ&;5Ʉ+go14-2kV5We$ -)Y=%r|= -0Ӄ -S=b=e%Uޞn*RqNMrnPO=wWgRk`w=Uy."/6985YXG\Iֵ7{yrOn~wHy̶=J9A~h}Or~@ە5+_5A& O{|xH9%yjy;,>g f7@GL9epJ 2Gv3:39Rs.喵w[,EۅzxAGNa !]]O9SG6IUlX+:?b2\j֯ 3LW;?/i|Nsjbc -$'n)[:wu̿ݎ[W5x; )iX*idvÔڶP6FO0>e-=r<2w /_ۖ^eˊ_&2I@?.i }opV-ҭjzZEI[>4^dzT/m[eǟ—S~yݧT/"so]keW)%lor*}4Kx7|ҕƼ(ۡs{*f=ݸQݟc^̺SFLvؓދ#ʢ%>6 (Wggtw弽 -ڱZq{:s}vvJvlr9`_ΪeW`}>Zׯ&g -HDICŗq~䂤.өFi;<d5>7F0w 6Sah9 s8΃;9j(U`m0ŦzmBz?Jokf %44DB2GzwLOmV][Hf_NB1 Nbtz{T$ vHÌOJ`vWooN&.J0]7XTP>n00<d,œΞ o^n&C)-x)+>dfFY/$O63"a!#'09edwd -,Hhijp9EazayqFz^CiL"e-bx3cFho#1%Oi+5&_ Ob߇UchlSmtб&C<~')Zfqqz)+5=Sa:YXSG;xٿB'ZƊBszzsͪwtEѫxfC⩄JGGս8[G+[j}.0O`py>h-  -v6o$xLw=,`$LS''qh12r"b[V5&{byF]"X 'v.@-{' 5*hHD @@@@@@@@$M/6I[UVIENDB`PNG - - IHDRtEXtSoftwareAdobe ImageReadyqe<diTXtXML:com.adobe.xmp MmX^IDATx xu.X5y $D(dB-I6iuMr?ߍumXJ>Xwݍ}x7m|ھ -x%G,ےEJ,Ye"8cޯ:=݃0U=8\LONST>D @ 6 E@ 4T@B *@ P! -@ h P*ZZYW3o=a]{V/m/bG7˰p̝.E>D+wT6R|^vMB>͞w {+{X"&mVR# +H7`̪u߅tJ[:'m .D̗3mM׹vN<| eXɵ\w-Z?UDQ]AXV'Y(ZGSډ\JS+>VѺ;j:h:YQ~]Oˠl}q:0->#_ [۞ClVhHjLLʷƤf=3+{{VՎJ+:o++YWEUJP)\f$}cUܮիdFhUNOFc3$9ɖU.dqatd*{=а]&'Lk1Mju]UF4JwO6R?hg `4 7g.^N_,[@sy3|/3ʒISU-WE Ѫ"t7g\$6#s_˜h|^uKceWf/sh6<.ESڸC,v4'mu0Kl E*pS@bv`]옒gA_!ɾ&F%+8h~mRPVLaNˑ 5U.9"7O-gQSw2S_I|԰FX0zcr PX_D.{cPֈM_g>v|j4~i# $k˄d' [lV ht7.p/&zO|fz\W)AIt y0=4B^jTRA:zٰ4j˅gFܻgJ\E4Xo5~a yh|ǴtgV^"}-kDs?&P>_x9cϧ`҅FTiVX 1Y9'qW\Ĭ^//mb6KZ?w~7莳HUd͢ ݡ-DI4TF\6]ga0 -m -?\xhޠ.B7Ҏgx],zٴ([d8?@d:3nXoS -MYlpb%(x/M$6q4St©v>4?rb.16x'$n0"oYMM/IIC&sى ׾U#śXwT&njZ1zן]K#Cz08wѫ]QM^]<41I订$PmmorOQHf!T'%l' #N gmA-!$mZJS~#񞓏LOjߊ8ǑU[ 6hc ?%羒蕮+.8]B-ODΒzXRx" ը")t'Mh^)p)pd>γ >, TcDP\<]fFC 헋uЇGx!} cr&vL}:HW-LiocUvexl|?r^}h; ,~) բ}!*x>&mdI,U$z_L$Im^gmt}˕Zr 1;*CW[*ŧO%fDs%N?-op$YU?pڗNh'ݿH-YHE} -dV-M'YT9}خ{:+g'iUWYKI@Ae]].B2wYڠ?l֍I4TO -Ʈ?R-W*I-.(+0xcXfQEl@Y!0 -"}lP~Oz5X9-y$n+ U}TL4WyQzLj"l7(63X#H3mCó-C&;'Hh:N֟Wݤ? GVI& DDweG15zWqE6OdϲoSFhD &?vLj {G4/nmVyA|֭s\xP4-eY]Ry;8oTpyRןʼnpO`6D@2d*$eDNP}Ҷ_'zVE3| Q[\>&Dw1ٲ~v6T%n0R|vVo^9Bh;d;XRub1Z &ijn{` BhĘUJkz/2deo0ڔ>ܨ:;4"51[`쫹ոgN;CPp{W-ggCSVt>G>!˃t!vܾxhs凮-[v]D/He-™_+Ea]] < ->@V Gae3곟yhlYf z٨V>s洷rLηr DRywAh.!}Di¯,ĥS2KD>LOXH\@sC`zew?asQH*(QvRʺ|yI"Ť)LIn5lLiSv6 vBqDGͬfTWG%D!HqYq&eބ_SfSH+s+hAbfL`8Nu|z{(K!]_zM:!"ociy6&P5 Spfk]tFφ+&i_V+pzz{ƊE|au.k'ˣ1b3ټ{ωP*K6<$9H{w ]_ɦugixinwy`J6C_@ۏp/Pۮ_TXYXM>K<^o-R-P8=uNDcAe"l@l=֦]ڊB݅'xHs5;Ik+)DU\f +ʡ-m#ٮhioWxZ/V!ȡLmsZ1L@N0=^O |7"iW<mS`` -Lu 6@ 'QhmMո.(V弲4)V?l(+>JVVd]&} -UNaV&ﳍ*`4rNsPK6O wY5TzӌL M;۾{N/91}/Pպ!.++o-\:Ix;'L^A{k2ur[$+}+jFj;+aFFa cn]jRX;X}H<[렓wTJLI^ 1\,.bY׊;¼ZAcmDC<609Hczn#L`R:`bY-:F Y[uvu'Ԉ/DaGX֩P-r1ՠ]qͽ+nvf!crwj(SAzVL=L",HrϩVa ƥ316R۷T6RQMVvݷS&/S~ejߞ0Z}Z\'O/~-}z;y.h%N^7KsG2w?j]8F-Ph+Z`H 45H$sbFXC< ݷrw|dv 6 ;SB#6,{H+])4ks>J:%O;mQ"u$w]S#7kYr2i#E4nP)&r-Ѹz+|tI9`CO^boHO7pm Q 4"{Jֽ*F߂z`l[x}1OQ_'h DoAs,r#o.M6.~-X7%j*4NBcXq#|p63wȣBc:I|o`n3p0V#ܮX5&u`&锁I5zq1:ԲW g/֜80T*npYW]vEɘs)Dɳޓ^ȆK",N{7:Jsluss eINu!)Kbͨr)e7„k 37Оo {c񗽆й`0w%(r^зEF|W4&wvEID%7I$V4,i^9m_]D[\|{||_ď<4kչV=tBp]I) qѺd^vs)b]jm)3n܄ i21QVa4IjomtX-:h%^2# ΃66+pw\ -0R%B0'HBV1$V FV&͑}jμ3:DUmgД[G7H3yF+Ԣ6ݚ[RY5`w1:H{# .2KDj8zA"WS/m+oo#B&M}j*xïΰ.5Asʥy.a hQ @}1fV|rje WDdK֙';oFK;e=%wo32@KelYq򁲲Ewo)$rߝ eX2jQĚ7*{'$ĻܝWqS_&yJ"r8벢V@Y?YYGI]$Vӓ[1ˮ0lJϯ3;ɾbHڻ&8벢V@Y?YYGI]޻ s ~{3m  Ae":D Wҫ&!aVM[IhdezẬh4ʁj}YGY]]nQ P=.疳r SO,F<Ȗ{M:{=0~;Po?6B% N8ZTI?fD8 ]o]VJ5&.U L>uMϛȡ/]z|y{oNsI>L3h̩~\ - -4F56Q,c$y !EΑ{TdM4T *4ZP wBC -i !.3\hPBHiԸECچE@C@ 1Pn;*@ P! -@ h@C@ 4T@B NDv4 -<i 4PB # -@ h@C@ ?x*/qsIet,/ i <=5Mi'=I|o.elCiʼnXf4 -+sRn i^t:Y*YRM?,ѦA\'Sa:M -Y6&L+y nuVX r*X]f+ұ|j(~VJ6+fe|`bXBCV`^^󱊡[CekPqΡ~lce'2gδ9Ox=yux&y]mB -`L3U:ډ?dJ7k`{aƗMg}pA'Q9PVzӪAM -,8Igoz/w][ȡiL!L]mB -1%NtB?F"Gho H|Fq_B##t1v.}̇xǍԈ]g>v!8nݒ<^2u i6eɉى ׾UG$dE?qP\1l":n C/;BVkdΡ}HFOH;O6xng(PMH: !ĥG=ٙ7; teO>hFE] ]a>_i{U t1d/+s2WUǍ<i$H7|k=kܨگҮC_?`(+>^T iAnx՞cLrdf$$;(+hTUz`$A{x+$1bDa̩ˠ^9V1BfXCعʈ΢K|*Uڴت4BgV<];9^.9=w$B/sFvÂjt^1oRdƇ4̒ImjytCإZM~ѝߛߠ>NpXuD v>+XN6d<. D G5f,* -6E6h4n"d5H*eGv!wKbL-Q#K?\6akV?[M9c:X86FÀg+~F$yM,>E{Y߭QVSImSh}H!;CC^Sy[u={q-[Wm'7%ZI>7FNfcM| VYA= ~UWMA\A3d4vT$IZ<%L6WN1Z*˫cЂC]MC,ek!>' QR&]p#<`hIftEc! -Tu1kV?ҷU]]B,&i4DJ&8q/xۈl!RGVhC0s}1H([<Hԫnr|7$γjU8aluxAxωrh|SR$kIm4=OPLc]t[$:]ODBXq8^:;IYW>D#SG4nթ"[9o5LY$Nn$&Jv;ݬ@^nxnIKCi1(נ^%C'0J>WcoD.<⑒.+'zחRi: ҭ.6~F [)){|PkCQ4`>T@𕯅z%AUmSeͫa}Zl |;߄h;D̤$Z[%1,/3RB"u\I̴vK; (It0>_[v{j0k\|Gi o3}[E]q>/Cn]0"OQ׵ H6sFEbCihI'%~A*^4i!hȇ[N{*Opg.egj5>n(EɟJg$64ѲQDś R*NXw-R6NsA+:k0L&_շ:km/It,Lise -N.kN!e0yu-T^ngWٿ rNV74/h&yBfvh 4!$LTUI\Vjmw GV5 s8f^4BmLzZj&dr >cjix-C85mXJ"u&:u%UG׍ mMHi ].@  -@ h@C@ 4T@X5@ h -@ 4T@C@ *@ P!Xʼnx1X4P<8ђ@C@ 4T@B DKBjj͌H$ e+ݬn\ae *ZHEhe%UZzUsNUf'br]kr:#թoZafEet= ,VpY9ʻ0H -i8Yge?+-HzoT<D,@Nb*y(3R`Vnu23gR8z<΄Р" {}?@B##t)y|o*j4`4-̟#u?F#Gho H|/K1V%A0VF/n|pY5-ΟfƸ'ʟL i<lm9 xx2 #ޝJzWj͎D qdn9Zr]H#MlىJJztWU6h:F6Y9u7"VN)|̓ SZ~nȯN@`Ơ:Y}9@VmLUSJ w0g(ȶ7?lC$mZoǦy v#~NisfPޜpΓ.mr|7vodMK ܵR]zu?2hJ'-+l^S\p52 NvtI&7P9!Nib؆?mPWⴗKgsM,x t+ԽeV.ꖃ3fo7Uꤾl^&'EͬǴ\p${PD>yHp6(ŭ +\4 w6OG'iFpamk -J Hm`O{U\6LPbzVr&tlEqRϿZ$miqF䙩겔7-w3o J.ox*h 7CEUƆdJ~k+CwI;?& N|mm.*eȆfVfh XA;6|VqXoP=*ȳ/|w$H; }F䙨 iH|z0#96dP!4cXeGEk>`;^6ݻHFOo;y+tCuld0Ѥ<:)ȤouF#YvO[RuCs5KxebOs)%V˶ケ<\x5WN\]lDIgK+KFʪ)<{1FŞu;;~E^î{0ݶ|"yzO[ܬa$@OV4iɘ^*Ɯ%78&^O~8Mw' ]Y 8Ƶ8Bu&h.og<>x;#]B"+vT)4Rӿ'$ADr+`H>=V-b8@@AVT>z膗hoF -FIy2q1ۑUw |C^gzi )Ӭ  OW_gZqUD1#5_:):I-"َYzCI }xz3}FEpGeOu6XyI|[u]礑'r'|Ҽ4* ->R+ h~ {o~J}+O#b5^!R!Lu0%կs`7$ R%G35? fhdr ѷ -m),D5-mV -'O,<$>eoVkpnU4"iתK'7YKd&VO5kV i?Gꄼ6jR"ǂxހG#nXk8Qۻ%gT)ԠQH{i|X7Qzv+$rbBlg" !gȭ[4\Nڲ;̦gV|ܠ*3w - .)+ OoC4R/J$rJbE@vBן |D_ݺ0#gꑒ.?t"˶r'Įqzp'ήBw_k7'*O))TCUL*T7q!Qp-Б9nfm>tE0V]ʄkO>껕(2ޒ%`8EA}Q -߶ V7Cʓ2w_(֐&CY[g؎;h .>j4tvc杼U}a"  k[=c͛ٮz $c06w"37H{E#_NcKlYK[;e)"ŤIūQpAݹ0!㣯B|4n9:cZέAI/?g ?Gft,D!@ HG=x&"*]m6{YJum W~Oֳ5@"vY\SKx>#}z*Jt<_K }[DEݚAC޵0>R@>j!c.8VߚL.4kFƏy`m8I|IzV?aul@ݍupMgЗ.[ޓӶm 4JPūA<5'>qu@ 3AoM!T?vA} M[[ξgዌmePY'Ösw$oy+RTGݎGdG>i Oy0P]z|y,y͒-kkMεYJ%?jOt@ Uٛ,v1" Z[Z}Fu{i i hczrǬgTHiBCQ@ 65";*@B  @ h -@ 4T@C@ MYF1i khصVizE*@[b@j-T{=e!F ;!>N)ʲ]Uʼn@ f*7%rtUa ^jg4G -E@ f4+Hى|“=;Zȸ{^{%2gM -V1燎Kme?壥.g"VPoxjW&\w`OD/H-'Y"}=(;L[XXeפ(HKήaevT>ZFz/Jjxe{kx ~:ɮlce+CmRwxX~Ĭ\f]bh,-P>ZIz/PT;OСHUglȟ'gR-~V$5fCR ^u1?f]ټg"x fT%qhъA٣I:|cJ9|%CӞـ^_ݗ⦾sNټg"x S'rnj4H[iH[s;K6A<w"Jdxw3ZCz0~- 4G'gyr+ٟt|8>Lh${SE -ϕ^Ix\bǡ<#vjo`GtmME;[+ވ;Td]|KHe(auGgXE*AN&4#+ȟ˱5bu1]r/{;YL1Yj{EF#l"G^[s %ɟ+6F7 |lR|$vmxi1‘D*zuNIp_ح.wY+'ԳFks9^ __3 -g,AqLu^;aUhTsb; -:{/5T-WJ&̰]Ⱥʛ . -JI/R"' 3T' ]p!йA +XM?[֤e6oOnV+E]87iq+ް0.G>MOz};h׵ -sP}_$FgM=.I[l",I ->ꢡ8srW@&dCvӡP^!WȺV]*<a}0[kUa U!Gh/Dʣ$q}`&%EU'bDդy|EC ࣮2H;'=߂Sx/ pcj4ZhAGCꐉʁs$@yVSe+3 dQh@]MsCQʤ{j$0Vȇ}nǺa);~eNoҰb Fj"m8e6H|&\>7kViB%uA`z3@dv )!VVaa|#:u.>+i4ZC7Dd%6w\kxCBrѧQؤUTpG%n8e"/xJnH(I0^IsÊԀ1wVSHw||ZpJ>γoS9&44ZWMI,6PY9NamD IU40&MtND6A ^JQ<׎{yW㣐~*1ommۦ⪎KJ(mF|*/A9ؿ8 Bt^F-ICbM/;U V79m |O,KD%}C_d2+AvpFJuWyFC@ jzr}('9H & ʧA mrF=O{?`7 vI<{;?TqS9gK&PDFD+"B/zO!\O9ㆊ{G2%C;_3D&;f3tl.#|I؅wSƂʠaM$Z+r+kPtϟ;8%?|eSl7 frLʧAY oOѨҾ9yk_'VwGтʊr=g][Pd?e[/DIb}A !Z촟C -lM~vVR\ ׎ -u 9EWgF\$T7ɺӊku|/hrU,ՠjA7ŷCrHK z\x<VI -qzH]"RZgP]zLfPwyխ!99nkN)E2= isl# <4>\ddG;0#e(\uށ-LnjU%2%ߺXg%N8 ꕷ) -*" i4LEIoH-ܟTy@.,h'굎VϮ:]%o|'U:WvS<ē4АI>M|K#)>>2BS\{TxLF9Wt1+ig:{/%CSw@+!2fQY9Nj[?&'7*o:[)~F.,6zQ p=ш3ј÷ʇvbb)e[}.?OviLD׀!2lH (&ҲhBFRMd-R곡Z_KNnt.rU"/P6dguWѮ\beHCA:j0F102qv?^O(>*^z0vD&E䓇rDl.êRvox#L@MM7twLr -^u8*k>'sp8$˧EQ|T) 4ikΓJt+4CӷL~&I̖+TudF ׾0&R$uMOߒ&Ê;%]r?m 1؞'=߂ eSS3L`>F+bFuQ7=ɣcsnLϯ6^q\85LUծZO#͔jVLW\v _Jg%7j5xwZ]+a/ ]K}Vvv'BB~8Ow%@(II'R=5 v{5JDgڂ+b~e}7/QAsH&6&Zs?IiV#>`m)n-xQkiL4A;vLF$Mzd=,,rWz%?-zkɼXqq|ba·O.g|T-7w `:IeUj]| uZoL,h|齌^Ǎ:]S/tsPuLhКXB)5wBl}|L.<&[Ek%ꤴC{@%]5RQӚ- bD;lhGuI\G0nZzG@a3*ƜЬeJHYrAE!RpJBkqw] ID% -I|xM5>VsiI YK )I;dIDATx xu.X~7@o$HHӒ`keYRJc;fWѮo%՗&&v'>Z+b92%Y)["E@@o gfpsH#CZ!">w>y?BD?Rbc$$$Rxx[|.f <ڮ3#'ؽ3uLB?~k*ͷGeJǏg^iǡMBxͭ5VɒvJL/ V.ſള0U< -G!ݡ% 鍟nK*#Sg3Iɴt#A`gXÞߺ_ʌJd[x vxΟ4NҊ_gMC7]ѱ VW5"=}<Ħ6wz7g[>lf~ٰr O,^z^$=&MEX|Ao#C+L! 6 6AKKǙ8ry4ew^:$%%~1x퐣l^' 3+k};vvbD|GzV]}sDDe+z#XMCC<@қZĐ>?5aeSlCzK4hTd7}'xCJ/V.ӿ,v'BLjң"8|ᄚˆ)E^HJ UJ -Pyˑ: m5>& {.[VZÞrxL;%qzb&.\q_>>t==X&.w($b_ 7OC|@@&*aÅJL9`ÔVBI$cc‰H.~W,vGy))?lNXbk~"292շ%Ar}~IqAE=9ߖ]&sK'AsDߺŹG9>azX&_s֮9[g(-p)K pٽ랩nvoK/#(6*vii#>֤"4*wEf9bx胘*-2G>_>d4Mԙ4Wo\) ޡ`C ;APF+sK+n .H;ͯ%>,6U y`tH6j &X{"%}>ʱv'Jdr"GPd0b2ph|c<"@[!vϧZy1 -QT\Å*L 3ѩ69|U՝mH(! %5݁+dQavWrC WaQYrץ|߽{||5gći XSJgKZYJjnM?^xQYJ0k=rm). #_EM\ݰv=ăq>W=+HigbäۆHQ17ߕT%0fz#{EG~HZwf4Wj,3dA6D~˪z=_#3U\nQ! +ZmcYy+#K@c"Efu[}[hf" ,;k6Z s SYt4l^|w>Az.f 9ڦt>̣G9}O=:9mި-,^H!y#GQtjvKmK,'ΚȼTGgźGb_H i:D|&prބCԂ1TwQ2fn9qΩ_)jbyͳߎxhdJ^X\jcy/g{[sngJbԐք"y0ғ@Lզ]e;%GYE% Gt*zbk%38K)ҖYi^JRK;y?BCJ KAV=|~wjHaߝ qE3&nmͽn:KJԦ>N)7 rֽy~) >H_8%k~i֑R,9[sI);3ƹW:o:#> , RI]<`,M^WEjx`6M;1]C@lD,V;N0,I3Cr\0Sr\~UJ虿~QN@$^8Ydah+kw%wwN}d5' .=SS’QFR>ħ ̙71T-J| yD)qxxZ=}c6 ȨD'cl7wC[Mm¦8(떣25lpzye)S='%-weO\T;SJ(A8mǑ=#~l1x]WW;8c欹22=_zR}[6O|cm^;\V-V U[gew.)|HO۾p'+/ZYV e%+-IQ/J|fvn7qJ2KJ:_wbdbWlv/%2xDo7uT 2jײlK]Ub+߹T&><86e2V6w'iDzXlnfZϕZAz;g,1)$H-m;^2t=|>cvoy83q}Iy6Y?g8Rhx_a/Aw϶b^&Ϸ1Sm-Ze=ߒZ1/$6_6 +ψoX^iJ-t׎z Mkoa^c;f -\gѡœ.mDǃ̎Sÿ) W>6e2#w>?:7߰M?hL,]􈏗^#|i!J)9~KoÞ<<`z7;^\# 9YG/nkf ZCǃhD/-h:#\v|w]*5u[_O-v؈[j2z0;Wj/IϷ~ i%d9 &{^PVn?oU<|s襫̿m'Esݛgi(%:/JIhP#un!oQAǟ?z+ZZѻї3s9(v|OR/Iя]beHHwćeGN]?4;*_a.s͉ʘ#T0¸?^H%~6:k\Y hk<<*H n[GObD2_yןO'bZDu,LvwkmS~-_hޓ[Vn# -w*%8w WXr~_U(fsȌZ ,٥\2/̗K|Tͷ1_lF3+WGK = j;M~yi>gJdOF~`dlnˬ 6|A/|43،08jw^>OKa(#ZWJE, m`˖">">">C.4ˀq<WDPr =&####,">*;7aQ񑐐񑐐񑐐񑐐񑐐񑐐񑐐񑐐Jfz!" -">">jp!,"###ʔ7",">">"?RJLbskYID:E` 5c@,C[G7<,o0S\rtvx+VHͻρ=bU2 rRf쮢!͘c&&,xߠ11hX~o(}8֗xJ*Q =Yy$XZ8 jJ+Pτ+K -Jˋ1ؿ+:jJ*qgXiJlaQJjUb) ?[ ?.5}Xw V@Œ`Vk>pnkƈ+P0*98izLv*_r;7+j-/NX*ǜVLѰTGh3\9lo+\?Zwf-u=g?ˑpEKG|Z%1H)"}/8,V~¬NW ,\\rlƪ+Y , '\, s+8aŝ5M0 s7>˲2up #s p`{.U.֦Uq}&.vQ ϭ>|ħ21qG&?Ld/3əDpÅ;!C - u.Ͽ^tLXr:eZ -[sngX=GU{B⁅6{ 4wħ -6Wt>Xi8)̵cv ǓmŷA֦pUKBmںxvطoA/&?3CyD|!<6VS"0܍M_Sbv?Qo\J4ۖP7蜹ʍYu\{ӡ:7"`"J񉨹z-]+vZ]}ڷal](w:Jܲƙ^팎@/.9a() voǖP52d3lwheNFOB`ԥ%7u9k<)H6XS* Tp[J?K0 *Pguh'6yCH}xF|%)8 :虿~y^vRPDX]:&[  *al2[LBb`h}G *`^sfa]0K:Vw ͷ~z=Ӈ, W!}c6Zc6,Vz:vC=c1j9-1^jXu bg~/+~.P1:RP&_ /7|t`h/n̋F|q u:qD|CQdM9;_œB_U1ԊJ]|g626d+_O֧l3XaOjO׾32hz&Yj }w^Q -%,Y}j12dvնstRrO%chׇҏfD&85Z﹀`?Ar-Tkaϗ>sSU|cq:pUOz Zxc-J?۽-zsY^@ -Z^%(*j5Y`ZÿP7[XuV 8;\:@U#u?߽">1ؿ>2{$嫨Ŋ# qqL3C_h>6[ i2ePg)1?ن֝ 8y1j+9*Hb-V^f`-T~77|U W˫Dtڡ{7~zUmaV-,t{'43،`KɺY|.$|FBa#`uٺW/ˡ>P(WMj\npgK/k aY^f~k~y2ҫXE"n oFG.FGM>faotm0w9>E}>z"8|a,L{)յVgX>ј~dP<FJ=gv?9k6[bN+LųPm,U˒[ɕHiasGh,x.6`|z_,1VTyNK&_1*&Vh;];򨷵3~7{[XM\ ;pN Җ =}pu۞v7> 䡊vd]zkon`[>ݷ6ȉP tir#>)cDDqaz9&ayCk"/aB`T",@BWVDCRHKoq(ybˮ+kw3'(Ҿiw<Ǎ-ZVe:!%|G2qA,Ԡ%1&{]Ǿ5YSq .OAAvgx=@3le6V*b uJBW:`^{p|gZ sN7i{ -V~@J1#<|gvni{_/z/nbwᾆ=_z0UyeZXTʊtƂˉ2w%ij1s_ [-⸸#* nngR6LÒ3^}ꉟ3fOg}(NM͆ -I2NqJ`/ v"da bUXUII!Շ'>X궭';t)0<%!n="JZ|aHxhi!##,"+bZD|D|D|EXEGķԈK+z!">">">","####,",aa@FD|D|T EXD|TD|eJ|fSyJPn1 -EXc- d{n6hجblě \ui%,wE.td=gͦo@Hv9:|cKawt7nZVr"K{ƫ6v.M5p_/(fc!>HǧUxJ,Sm} -d[ #$Kh:{3/ƥ\"&ʽS=Zt,VNȧcIQ%-Gv?_ zlT,#{Hz3 g2y]=\l+ȏGh6\[˕7 {|M|v92Zg -ʗzmCCL,,X"Hdɺ(n*/Xr8đkq5=^6Yz;"d[ } ^Uj0X+Ť`jw|Bf `rL+|z/Ibc؍tMv'/HZ++Sλb* -kan^y9 ~OF3hSKoSwv?1f͛rX)E rx{ur請iwNpH@񡕴|P6{R$v2ˉ26&*k^nryq$? -ghbjS,xZ!슉OR,!EƯ~J]bh"L_ މ2CX_$zJ %F ŵ.R*\ˋjXT9,i.jgٜsa*řW[ iƖ"UV㞠)a gUWYzU*Vr9!8\&8cUstm{Z{f 3(.WF-ĝFf$ ^ܱL=Y6dɱԋe%MlaJCcjS\Dh/6V~t i񼽺*~3Oo:Z{ZXc(`1gjTfAơ*z8I ClZVAk|`W9'c))Y^az.ojPtt 8w;ggf5tO@̩rBHarw?H(bwP'oORmX ucLϱpx'w\娬FM+-K;`:Y -K{܍NE:PLۙ֋\KIB0bGKaF,~hV!~VIuB#v:C@|,3b[}pa6}ymŸtF´-^5ʕZ̟ʩ@[wpj$O۫OaeάʴV+ UNTo_ nMD~`7V!~VIu5ZȼZ힍TmXyŵRf ;62ʑA|B hϦnMv{ׁy,_,,OJ6IJ7-%{fol ?\*.B\XuF;^x&߶/^tt|5C<"D2,NÈACveT2V!lX -=Tϛp4و;am7<"JL`_I] ['M\52o"{(kQ%NY0寒xF*ՆZ^d#X>OwFW}j/D ;ِǘ3D흓e,"B*ՆZ^d#X'osFA|bz2/d{s~ħh׹D|90WI7="V܇hB|ڽ-}%٨T|K|jrP5G$|ҙ (]Ǿ]|"t+O1RSdhjevOX6, Lب|6|v6O"҂_a7镎y 8ޛdonTmV=}9];H.oPg+S -͟ѱ惞/Fb;eUQ0EI\7+o.\~~W9+wO+zLlć,튝1/9 -g{)+ijD*L凕Kt[ -kĔT#ב7!-uv7 n neF,cP.X҆*vHmKΚ1w;1FG{1+6#Y_Y+&yA{g<-{Oig{[pWXKUiXʩKv:T/|>٨t}mOn *9H/NY\If a[|pݣH$s,|xj i8@*!/sZ2J0H2+o"R$_E6*}YM04UkϕfPR|aVXd"{aaaaوFD|G|$$$$$$$D|$$$$$D|$$$$$$D|$$$$$$D|$$$$$$D|$$$$$$D|$$$$$$D|$$$$$$F|B(aXXrף*aU",ұlT[?iDA9)M -lb"lj_Y3Oim4M sj[?e<B,p*O,QOOɸܕCj{4 b?ou;YayBCFL*#oqc7Hôɶ[YwΓy0`w@Xe%=U;ΦP_PbS+ + 훾'}<&{'``{cEi*⓽z[xISǙ8r\6 =- OZz -ɖ!]}s-Tţ5>P\a!Vc%"*K\[~ٯ k`eɖw, 6y]=~YXWHV35&2 |T H3M7;Q2V/PL *03Eқ`T)]_S`G|v92Zg5)Lhs7yFXKIL '2/\?ho2ne:9*iOβ**^j}zF/?]3z̕0=HǻG1SnӰyw&.u/8ZA&?߯o[ ddz"+=P jJ=JqEj3&ӆV&L|&˼%x KkA49aeB5]/ \\w-6Uv1 ~ÎY#&THV㤷IosOn'Å)6z8ta=5Xć K5G8?{O5`GBU<|vaost<* [3KWLڝ-ʪW+ AAґV.cf]ʓ_ -_?lzXBI0)4ħKr$3b{1DKXm,!J&_,6PBlK4/@ejw|1}5uTEf^Յ)A#c[v7{$fT"6@'ၕMCWٰX ", -gOfuC_~o83px.f mtM21 =8s}Ghկ'42lh "0Q tH_/sV_ayf'5J`0p\(`GNUIbEM v6U8mX,>ka6+s1 얛%j5B+J޳f_:fbUŐP8=>W[+^lf#p= SS Z^ćcHJ'}&x8LR,3W&$N奉=rhUlUШ֗=G!UeTBκCOCm6[(؆7.M>U|mp8"gvP'ޞ}9RYaSUe6)"> SyiIT_R*&.+ǧ֞YH"/f3bo[gdfZ!Z Ȋ˴$%u%XrXdVlY NЙ[KT[9P -<4y|^J?+ry kAI=mwlw6EeˁZo#xsfGSsڵU`­r Ÿ}ŋpkRvc<%X W/ϲuAgݶWRA} -c9J<6_O\zofk52a6)v:L)7E(baAðC -oSbS~iI%3Q*:(i1w3:eï0:/b -x<__.gݛ'w ⴨aC:<}Jg4W'%TbvgPgzHhܧ͘!m_v'G8+ uV"ƇEǓ}.cB k[K㶘^P? -[= KȄEKu hxBS5=U4D1ʫXXг=Sڋv+kC6wX*腃Xi9EA$UrtFqzqk@o3Cজ}9֝2/qa+'] {\ģXY}:οWMɮczj?}?6Ǖry%~>6TҰmN+sZ_︈&}hFц}f@P=g$E1cP>Ib;xT. #H -% DsnV6 ?b㦪f`wZyb .hڹYqhD|+_~w7l1Rr<юڏ/1ɽ}6w9g&jw 8qmpM,>yi30 6'1#O[Or>'(yWMv\ѿI $ .YR_PXKXPSTʵcZ,6y7V3{um9 !^\^[f6_ 6XIJ/ `}K#Qݎ_+ohs|h OIq8l0vߚS7t<6 -w]>2קE(+8i`*Zg`MvּʉKjܱ4ze =x-m3 -X^KnsU}1s<ړǝELxר奓_:vÛ`(:LB\c0Bd)IJ{q8lZOK? O(/IF|z!C gh$h/V.upZ;_nzzwMj[j)]^s Fkt\zMuYW,Y?icp2l8uWϼb"%0E5 ãD7O_91xDܳw[~gnlSa-% ~DŽ0}),zinX_G]bWݍ;O~(b=ݴ8+^ؼ{2 }{)Ro!}D'q[mm>$ImfC,Oިg9B:$& 耻lekH|.}[Tý@;U~O{g<-{Oqj&V-\?;<< ]X9ޖ|&KKze䉵F`J;>8=f4>uzeD~:992 X=-{K'+Ohc2G ZL< S?QU'YPۛxsnO9ȎwK=m{$-y|W W3e_ѳwb>ζ~`(r {!XKal=H 1ʫz7!uZ^ z{ZOV%|16>7JjuXݮz[Aj(/bC\Lg^9a!xï~9dlοOmw5KPl1s4raZ0?20ͤ`wͩ)XGd ^iyF:V z'+ORG4;0j5e!T zTنsv/%FBp#RL`/!K ڗ:+y4r7k""{ #&:PT(w=Vym7^*,y$U¬R.D?yKNhbT J]_z۽`ޛ~:Ǫ&>",">"2'#,"#,">">GBBBBBRIBGBBBBBGBBBBBBGBBBBBBGBBBBBBGBBBBBBGBBBBBBGBBBBBRjG/RVa7J7'5">">RǷ-us7> dM3Na'!!!!!1C}l[vv2{M ^;$\I$!!!!(H"d fTQ2 M]Ã[C$!!!!ڶwUT93k'{d;d9<~뗡<c QbV{u)!2u$-'Qgs^SU~Y{˞hݽ;>u$|Â;opkiNRk2 w CP[o5z-]qٜ./hĀtwhx:9PiA-j0eYJ׺ }_}c@=`JT`}?joA(\;ӹ!"-vG٬f;k6ZVV6CWYl"E,Ek+pm{mQf=.0wmg*$``VVREY_6,`E¬jS5s7f3ͭWR}㊵ZBd`t4;SW[=३aopie>߆Xbj:}H* mIbJⴖ|Zx -+e]twuۺ-M_}/H-(k5G|*=@'m6a+SD#WBzÆWJ5E\zk!;CSSwȕRcV^%׏""U1LG1ȋ>̢e-֑a)D˩dҲFl,69<ļH ȤE,l|GV;MM\E-D|!N$+҅¥GЖ7Q3!Nk_ǚ;6UNx[|R*,brU -O"'VjXd<6RbJ΂ e +UV6,!(Y3!\׺"G , R_"3I\"N|%Ǯ7k{h__Ǹ2RXj}<\;2J##pKz-eEgصWa=jʩ\*7 u5cOVuem/33BS\Njya -VJ6.ϗ _#B,p~}w·^Ʀ~t%maκxwVcF6.l:oݜ:֣.O7hٿl-sાUhivo5;ꙷwͿ#;vߚqͶubI,AmՕv&+̦ȯ-.m kua ve|B]S#q\wx -gf?z| c>x{tͶrͣcmէ8?f4;} -BjmXZp}7g[^oB2ƒ(JN<.{Q2iYH:a,y^Qw}~OƘ߸yr}hTۭNy>7M|hOOiY nNULMCL0EXU`,KBmFt`(K/pIV ror}:񑐔wUm=y?׹8W[WNIs$$4 %,2lIccߛ)g 6_M6)nQMX%B|\ lGGGǛHHHHHH*IHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHJeׇ|=WSCGGU0">2-mUNoAT/˗<>-ǧ -6W&˔񑐐TQaKOH'- ٿ~QYXUwp0MT]IHHHHVL*;] qr#Ig2ҳ2O[ q&\;ן3qfStWR׬Κ1~6 F͒'fD*BV!HI/g\jn9@ qRJU#V}.mE#QdaD Td#.G'?{vY2$,>,7~^v=wqH30/B'{4?@zm|Yz EVo98B$]L@R2|$PėL3!)FbEp UeR ̐]KBFaˑ:\}lq`bP%IKO+LLP|;GK) ͒j]G1_LTK`IBIfmUbKU&XIV#8.\Sy݁*|PG¥^jLb(-HVI\UBu)+$%Ae[ްY0w]J J,> j${N$oyiHk,^,`cS)kkث<{/uIb#<}9E,< \zٳ_!F%&ؒSikj}vu=F]' `hщ=<˥XXp=ܧi>0oH(RKͫ9`{>d$.q3IŸ1bWdGKBGl~%p -+Ma9G,VGjc%:YR`Y,[kK]{']J 䫇`r7z`džsfSrLZ.BқyV}Hz3ׇ%b clfW= ~~KV!3IbN'r̉!z|*R巀lN h.>z듪XLX݂Q=lnȧ消@뤰k m%Ge.@"OcjvUس 6~/T]Jp$S3IbPgô6UmZp?|#Dlq(!,E0fn,w7`=zX,(kyK1p^W}5*j/6+@2gYyP zc ,^l ,+'!ĥl_ķ nУ6ea#67W Xa"xT,@>߆5u+r㍣3v}R i, -Y -cv8u,7U{[z U"*̌r)/UQካăm]Yx(7{o%p9{]fޏ y)4ԉqk'i")+L3 XS3p;fO鍜 -:S8?Eķ3,1ۖYzaI5FI aeD[-Zw_Kٞzz{3l zpwk?ރqݸY?kks3׎OBbeaؓ=%g%{+!,չ߀bИʥ*m/kėAs 7úHDT#S LJ5#sdO]mco>L^V9knzv_cW9HO -~q`Pg26gE?\['(99X-L{g.W}ħijWxfz -x)`Ջڸ-Bﵟ63^6%Kg֏jÈ(6aW]VmĞ]Ez&[S3|&ІlУoݸ`_ -2ėPlqyAí58,/6o_"͹GlaȎ*9 מ=]7SCMz9.iy9-:Nvo͞p-L4{zV.R+"!^3Lym9mJ3ù Uw[0,mL 49)} -#&UT5<6}cg3Vt~$B,!I m#:q+\\#ݘ]7@H1:(gmͮ)Aח@緹 !"76O0HL4'YZ]۟/1N_3N -ŵ̑]#ׯ<ՓBخaOsj:^'h!a 5731gy6 C/_cYXKcot݇|vv%?lZ]he}2bTIRMn#Cۆ\$)O߱>C!{E2'⳪bȫ5/^YVo,9&XrsR/ܾ W26oz(xgĜZ禍#ƕ}M!oZ4;/\4wS,!⛍fk =#plҏjJ'IY_Bsr>gκY˕U:j?;C/sF+<,׮-eWBWֹvSBhXPw[Gar nÞY|/Àuܽ=/ux$?gC"ouP~2K|i"6E Upzу$!Ƀr hy?o0&CM8jcj}[]23;np훼3;3eh#pc.WoTe6^[w*gM|RAU;|"t"2dr#醡]4Yƒ7_'YGA!.vZw\ -}T]WVb J=NR+ˇRp.wㄵjJ_H~'>ͬda_FHo@sÉ=VuYjd'lT!FI/?ց=A1^"a3̉" Gx>֪ipbѪ.wuHN|*}ѷO{. kyM珴+f)v-D}>>U_e2mdH| H|c;ǗF5IENDB`rBMF `@`L?0f~1~l?0f| f`&0f` f0 f` f0 f`~`` ~`<@` 7>}|?3?}`3 8?13d3 p1&f3 `0ff3 0f~?~<x<<D"x<D"~l6~lff3l6l6flff3l6l6flf&3l6l6&lf3l7l6lf6?3l}>lff?3l}|lff3l7l6`lff3l6l6dlff3l6l6flff3l6l6fof~o7~<G⑈#H<?` $#p f7< 00f30~ 0 0f30f 0 0&f3` 00f~3` 00v><>~>~0Àf`6vf2À`6ff`6fff`6ff~7f$qx<'$??@ 03333x<D$1~f16l6 ~336l6|<336l6<336l6~36?f"x$>`00`?0@@<"~f - - - - -rBMF ` -JBL_Q}_}JMA@"APPJ Q@"APP  "APP@ &APP@*y|@ ||2ED@ "ED"ED@e"ED@B`>}} ->(. ->"(((( -""(((( -")((( -""`)((( -">A{y/ " ")((( -" !)((( -" `)((( -" )((( -" / /" X`/K@ ("@ - ("@ (" -A>(" A( -"/z>"B( -" "BB/ -" """D( -" """D( -" """H( -">" H>`}}(EEQ(EEQ$%BEEQ$""EEQ$%EEQ( -EEQ E} $$$$$&$$ $$$  rBMF `  -HD` f@po13` `8>fac `lN ƃa 0 m` >< loeaƌfeA l̄a3s 8އa02|3|3@@3ͦi6fd~3#3̆a0f`b#$̆a0f```|5̞gg`06Q7̆a6f`f| 36̆a6f`3!06ma6ff ؆3<7<  F`c<7fl fqcr3٬1ll 6{gcف1d *oc1 .{c13ٍc $sc1مa 6`cc 1pG1 f`c'݌10c1 f`CB0c < @0&  `00 `0 y#4[ml6ٶlll6ضllg6vضll `6ٶllg6۶y l66۶g@ ``a@s`|f-fk`fmYf`fmfYfcfm4fgfmv#ff?3lc\ 36``m    -rBMF ` -#qByǁx -@UH(DD% H(D _P (!‘<EH!@@E!@AE!@@D% # D@ -A (D#(x9>I|Ϲ;(@@B$)(@B!( D!(#D!'D$'B%D!AG!@%D!(@@%D!(#D$!I@p|ù; y>;ww>DD!""BD"DD!""BD $ƈD!""$D D!""$D D!!A(ȄF88@@"@"@"8qpnwݝ @Hp -@@ @ @!9/*DEBDDH$DBDD -D D8BDDB D@B - -A DDB -H 8; -      rBMF ` m6#yǃm62;,I`L 6 0 4v; 65S ̌!6qnxσ@~`3l1#6ll?6l> g`3 ?lb3,1l<dza10|=߻s333j 333`ma a33c̘a33c|=ǻy9{޹sp8p131`0`1 3a`6q|< `c1ffذ  a1f>p c1f `9f?q<p <Ι7nx~n޻;flf\1flykf flk|f |ݽy |C`` `<`lf~fll2f8lc llLfx~f`l<`  -  -  rBMF ` m6gsmcm6ec;n llcccmwnl``c68gl``c6懁cl|6`̆al```w `l``6`Sc80l`lc`6sp0l`o`006o6 0 lllln pmll`l mll`lހmog`0,mll`lploll`l6 00 `llln 60co00~`c~c`cc`3c`c>`vc`cc`cccccc~cƶ#ƶsƶƶpƶq8{f06111x~``{mƶm`lƶmcmlƶmc=lƶm{c00|911|pq881|19| - \ No newline at end of file diff --git a/docs/games/raylib_demo.html b/docs/games/raylib_demo.html deleted file mode 100644 index 8766792dd..000000000 --- a/docs/games/raylib_demo.html +++ /dev/null @@ -1,238 +0,0 @@ - - - - - - - raylib running on web - - - - - - - - - - - - - - - - - - - - -

-
Downloading...
- - - Resize canvas - Lock/hide mouse pointer     - - - - -
- -
- - -
- -
- - - - - - - - - - - diff --git a/docs/games/raylib_demo.js b/docs/games/raylib_demo.js deleted file mode 100644 index 9f597e5c7..000000000 --- a/docs/games/raylib_demo.js +++ /dev/null @@ -1,54523 +0,0 @@ - -var Module; -if (typeof Module === 'undefined') Module = eval('(function() { try { return Module || {} } catch(e) { return {} } })()'); -if (!Module.expectedDataFileDownloads) { - Module.expectedDataFileDownloads = 0; - Module.finishedDataFileDownloads = 0; -} -Module.expectedDataFileDownloads++; -(function() { - - var PACKAGE_PATH; - if (typeof window === 'object') { - PACKAGE_PATH = window['encodeURIComponent'](window.location.pathname.toString().substring(0, window.location.pathname.toString().lastIndexOf('/')) + '/'); - } else { - // worker - PACKAGE_PATH = encodeURIComponent(location.pathname.toString().substring(0, location.pathname.toString().lastIndexOf('/')) + '/'); - } - var PACKAGE_NAME = 'raylib_demo.data'; - var REMOTE_PACKAGE_BASE = 'raylib_demo.data'; - if (typeof Module['locateFilePackage'] === 'function' && !Module['locateFile']) { - Module['locateFile'] = Module['locateFilePackage']; - Module.printErr('warning: you defined Module.locateFilePackage, that has been renamed to Module.locateFile (using your locateFilePackage for now)'); - } - var REMOTE_PACKAGE_NAME = typeof Module['locateFile'] === 'function' ? - Module['locateFile'](REMOTE_PACKAGE_BASE) : - ((Module['filePackagePrefixURL'] || '') + REMOTE_PACKAGE_BASE); - var REMOTE_PACKAGE_SIZE = 2611274; - var PACKAGE_UUID = '0909d1c3-dde2-4986-a4ce-4d059e74ee52'; - - function fetchRemotePackage(packageName, packageSize, callback, errback) { - var xhr = new XMLHttpRequest(); - xhr.open('GET', packageName, true); - xhr.responseType = 'arraybuffer'; - xhr.onprogress = function(event) { - var url = packageName; - var size = packageSize; - if (event.total) size = event.total; - if (event.loaded) { - if (!xhr.addedTotal) { - xhr.addedTotal = true; - if (!Module.dataFileDownloads) Module.dataFileDownloads = {}; - Module.dataFileDownloads[url] = { - loaded: event.loaded, - total: size - }; - } else { - Module.dataFileDownloads[url].loaded = event.loaded; - } - var total = 0; - var loaded = 0; - var num = 0; - for (var download in Module.dataFileDownloads) { - var data = Module.dataFileDownloads[download]; - total += data.total; - loaded += data.loaded; - num++; - } - total = Math.ceil(total * Module.expectedDataFileDownloads/num); - if (Module['setStatus']) Module['setStatus']('Downloading data... (' + loaded + '/' + total + ')'); - } else if (!Module.dataFileDownloads) { - if (Module['setStatus']) Module['setStatus']('Downloading data...'); - } - }; - xhr.onload = function(event) { - var packageData = xhr.response; - callback(packageData); - }; - xhr.send(null); - }; - - function handleError(error) { - console.error('package error:', error); - }; - - var fetched = null, fetchedCallback = null; - fetchRemotePackage(REMOTE_PACKAGE_NAME, REMOTE_PACKAGE_SIZE, function(data) { - if (fetchedCallback) { - fetchedCallback(data); - fetchedCallback = null; - } else { - fetched = data; - } - }, handleError); - - function runWithFS() { - -function assert(check, msg) { - if (!check) throw msg + new Error().stack; -} -Module['FS_createPath']('/', 'resources', true, true); -Module['FS_createPath']('/resources', 'audio', true, true); -Module['FS_createPath']('/resources', 'fonts', true, true); - - function DataRequest(start, end, crunched, audio) { - this.start = start; - this.end = end; - this.crunched = crunched; - this.audio = audio; - } - DataRequest.prototype = { - requests: {}, - open: function(mode, name) { - this.name = name; - this.requests[name] = this; - Module['addRunDependency']('fp ' + this.name); - }, - send: function() {}, - onload: function() { - var byteArray = this.byteArray.subarray(this.start, this.end); - - this.finish(byteArray); - - }, - finish: function(byteArray) { - var that = this; - Module['FS_createPreloadedFile'](this.name, null, byteArray, true, true, function() { - Module['removeRunDependency']('fp ' + that.name); - }, function() { - if (that.audio) { - Module['removeRunDependency']('fp ' + that.name); // workaround for chromium bug 124926 (still no audio with this, but at least we don't hang) - } else { - Module.printErr('Preloading file ' + that.name + ' failed'); - } - }, false, true); // canOwn this data in the filesystem, it is a slide into the heap that will never change - this.requests[this.name] = null; - }, - }; - new DataRequest(0, 133213, 0, 0).open('GET', '/resources/cat.obj'); - new DataRequest(133213, 449026, 0, 0).open('GET', '/resources/catsham.png'); - new DataRequest(449026, 757824, 0, 0).open('GET', '/resources/catwhite.png'); - new DataRequest(757824, 1231655, 0, 0).open('GET', '/resources/lena.png'); - new DataRequest(1231655, 1859670, 0, 0).open('GET', '/resources/mandrill.png'); - new DataRequest(1859670, 1901201, 0, 0).open('GET', '/resources/platforms.png'); - new DataRequest(1901201, 1904961, 0, 0).open('GET', '/resources/raylib_logo.png'); - new DataRequest(1904961, 1906829, 0, 0).open('GET', '/resources/raylib_logo128x128.png'); - new DataRequest(1906829, 1911543, 0, 0).open('GET', '/resources/raylib_window.png'); - new DataRequest(1911543, 1913599, 0, 0).open('GET', '/resources/raylib_window_01.png'); - new DataRequest(1913599, 1916677, 0, 0).open('GET', '/resources/raylib_window_02.png'); - new DataRequest(1916677, 1919729, 0, 0).open('GET', '/resources/raylib_window_03.png'); - new DataRequest(1919729, 1924505, 0, 1).open('GET', '/resources/audio/coin.wav'); - new DataRequest(1924505, 2431443, 0, 1).open('GET', '/resources/audio/guitar_noodling.ogg'); - new DataRequest(2431443, 2442293, 0, 1).open('GET', '/resources/audio/spring.wav'); - new DataRequest(2442293, 2499621, 0, 1).open('GET', '/resources/audio/tanatana.ogg'); - new DataRequest(2499621, 2505867, 0, 1).open('GET', '/resources/audio/weird.wav'); - new DataRequest(2505867, 2508026, 0, 0).open('GET', '/resources/fonts/alagard.rbmf'); - new DataRequest(2508026, 2510186, 0, 0).open('GET', '/resources/fonts/alpha_beta.rbmf'); - new DataRequest(2510186, 2548121, 0, 0).open('GET', '/resources/fonts/custom_alagard.png'); - new DataRequest(2548121, 2571717, 0, 0).open('GET', '/resources/fonts/custom_jupiter_crash.png'); - new DataRequest(2571717, 2598314, 0, 0).open('GET', '/resources/fonts/custom_mecha.png'); - new DataRequest(2598314, 2600474, 0, 0).open('GET', '/resources/fonts/jupiter_crash.rbmf'); - new DataRequest(2600474, 2602634, 0, 0).open('GET', '/resources/fonts/mecha.rbmf'); - new DataRequest(2602634, 2604794, 0, 0).open('GET', '/resources/fonts/pixantiqua.rbmf'); - new DataRequest(2604794, 2606954, 0, 0).open('GET', '/resources/fonts/pixelplay.rbmf'); - new DataRequest(2606954, 2609114, 0, 0).open('GET', '/resources/fonts/romulus.rbmf'); - new DataRequest(2609114, 2611274, 0, 0).open('GET', '/resources/fonts/setback.rbmf'); - - function processPackageData(arrayBuffer) { - Module.finishedDataFileDownloads++; - assert(arrayBuffer, 'Loading data file failed.'); - var byteArray = new Uint8Array(arrayBuffer); - var curr; - - // copy the entire loaded file into a spot in the heap. Files will refer to slices in that. They cannot be freed though. - var ptr = Module['_malloc'](byteArray.length); - Module['HEAPU8'].set(byteArray, ptr); - DataRequest.prototype.byteArray = Module['HEAPU8'].subarray(ptr, ptr+byteArray.length); - DataRequest.prototype.requests["/resources/cat.obj"].onload(); - DataRequest.prototype.requests["/resources/catsham.png"].onload(); - DataRequest.prototype.requests["/resources/catwhite.png"].onload(); - DataRequest.prototype.requests["/resources/lena.png"].onload(); - DataRequest.prototype.requests["/resources/mandrill.png"].onload(); - DataRequest.prototype.requests["/resources/platforms.png"].onload(); - DataRequest.prototype.requests["/resources/raylib_logo.png"].onload(); - DataRequest.prototype.requests["/resources/raylib_logo128x128.png"].onload(); - DataRequest.prototype.requests["/resources/raylib_window.png"].onload(); - DataRequest.prototype.requests["/resources/raylib_window_01.png"].onload(); - DataRequest.prototype.requests["/resources/raylib_window_02.png"].onload(); - DataRequest.prototype.requests["/resources/raylib_window_03.png"].onload(); - DataRequest.prototype.requests["/resources/audio/coin.wav"].onload(); - DataRequest.prototype.requests["/resources/audio/guitar_noodling.ogg"].onload(); - DataRequest.prototype.requests["/resources/audio/spring.wav"].onload(); - DataRequest.prototype.requests["/resources/audio/tanatana.ogg"].onload(); - DataRequest.prototype.requests["/resources/audio/weird.wav"].onload(); - DataRequest.prototype.requests["/resources/fonts/alagard.rbmf"].onload(); - DataRequest.prototype.requests["/resources/fonts/alpha_beta.rbmf"].onload(); - DataRequest.prototype.requests["/resources/fonts/custom_alagard.png"].onload(); - DataRequest.prototype.requests["/resources/fonts/custom_jupiter_crash.png"].onload(); - DataRequest.prototype.requests["/resources/fonts/custom_mecha.png"].onload(); - DataRequest.prototype.requests["/resources/fonts/jupiter_crash.rbmf"].onload(); - DataRequest.prototype.requests["/resources/fonts/mecha.rbmf"].onload(); - DataRequest.prototype.requests["/resources/fonts/pixantiqua.rbmf"].onload(); - DataRequest.prototype.requests["/resources/fonts/pixelplay.rbmf"].onload(); - DataRequest.prototype.requests["/resources/fonts/romulus.rbmf"].onload(); - DataRequest.prototype.requests["/resources/fonts/setback.rbmf"].onload(); - Module['removeRunDependency']('datafile_raylib_demo.data'); - - }; - Module['addRunDependency']('datafile_raylib_demo.data'); - - if (!Module.preloadResults) Module.preloadResults = {}; - - Module.preloadResults[PACKAGE_NAME] = {fromCache: false}; - if (fetched) { - processPackageData(fetched); - fetched = null; - } else { - fetchedCallback = processPackageData; - } - - } - if (Module['calledRun']) { - runWithFS(); - } else { - if (!Module['preRun']) Module['preRun'] = []; - Module["preRun"].push(runWithFS); // FS is not initialized yet, wait for it - } - -})(); - -// The Module object: Our interface to the outside world. We import -// and export values on it, and do the work to get that through -// closure compiler if necessary. There are various ways Module can be used: -// 1. Not defined. We create it here -// 2. A function parameter, function(Module) { ..generated code.. } -// 3. pre-run appended it, var Module = {}; ..generated code.. -// 4. External script tag defines var Module. -// We need to do an eval in order to handle the closure compiler -// case, where this code here is minified but Module was defined -// elsewhere (e.g. case 4 above). We also need to check if Module -// already exists (e.g. case 3 above). -// Note that if you want to run closure, and also to use Module -// after the generated code, you will need to define var Module = {}; -// before the code. Then that object will be used in the code, and you -// can continue to use Module afterwards as well. -var Module; -if (!Module) Module = (typeof Module !== 'undefined' ? Module : null) || {}; - -// Sometimes an existing Module object exists with properties -// meant to overwrite the default module functionality. Here -// we collect those properties and reapply _after_ we configure -// the current environment's defaults to avoid having to be so -// defensive during initialization. -var moduleOverrides = {}; -for (var key in Module) { - if (Module.hasOwnProperty(key)) { - moduleOverrides[key] = Module[key]; - } -} - -// The environment setup code below is customized to use Module. -// *** Environment setup code *** -var ENVIRONMENT_IS_NODE = typeof process === 'object' && typeof require === 'function'; -var ENVIRONMENT_IS_WEB = typeof window === 'object'; -var ENVIRONMENT_IS_WORKER = typeof importScripts === 'function'; -var ENVIRONMENT_IS_SHELL = !ENVIRONMENT_IS_WEB && !ENVIRONMENT_IS_NODE && !ENVIRONMENT_IS_WORKER; - -if (ENVIRONMENT_IS_NODE) { - // Expose functionality in the same simple way that the shells work - // Note that we pollute the global namespace here, otherwise we break in node - if (!Module['print']) Module['print'] = function print(x) { - process['stdout'].write(x + '\n'); - }; - if (!Module['printErr']) Module['printErr'] = function printErr(x) { - process['stderr'].write(x + '\n'); - }; - - var nodeFS = require('fs'); - var nodePath = require('path'); - - Module['read'] = function read(filename, binary) { - filename = nodePath['normalize'](filename); - var ret = nodeFS['readFileSync'](filename); - // The path is absolute if the normalized version is the same as the resolved. - if (!ret && filename != nodePath['resolve'](filename)) { - filename = path.join(__dirname, '..', 'src', filename); - ret = nodeFS['readFileSync'](filename); - } - if (ret && !binary) ret = ret.toString(); - return ret; - }; - - Module['readBinary'] = function readBinary(filename) { return Module['read'](filename, true) }; - - Module['load'] = function load(f) { - globalEval(read(f)); - }; - - Module['thisProgram'] = process['argv'][1].replace(/\\/g, '/'); - Module['arguments'] = process['argv'].slice(2); - - if (typeof module !== 'undefined') { - module['exports'] = Module; - } - - process['on']('uncaughtException', function(ex) { - // suppress ExitStatus exceptions from showing an error - if (!(ex instanceof ExitStatus)) { - throw ex; - } - }); -} -else if (ENVIRONMENT_IS_SHELL) { - if (!Module['print']) Module['print'] = print; - if (typeof printErr != 'undefined') Module['printErr'] = printErr; // not present in v8 or older sm - - if (typeof read != 'undefined') { - Module['read'] = read; - } else { - Module['read'] = function read() { throw 'no read() available (jsc?)' }; - } - - Module['readBinary'] = function readBinary(f) { - if (typeof readbuffer === 'function') { - return new Uint8Array(readbuffer(f)); - } - var data = read(f, 'binary'); - assert(typeof data === 'object'); - return data; - }; - - if (typeof scriptArgs != 'undefined') { - Module['arguments'] = scriptArgs; - } else if (typeof arguments != 'undefined') { - Module['arguments'] = arguments; - } - - this['Module'] = Module; - -} -else if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) { - Module['read'] = function read(url) { - var xhr = new XMLHttpRequest(); - xhr.open('GET', url, false); - xhr.send(null); - return xhr.responseText; - }; - - if (typeof arguments != 'undefined') { - Module['arguments'] = arguments; - } - - if (typeof console !== 'undefined') { - if (!Module['print']) Module['print'] = function print(x) { - console.log(x); - }; - if (!Module['printErr']) Module['printErr'] = function printErr(x) { - console.log(x); - }; - } else { - // Probably a worker, and without console.log. We can do very little here... - var TRY_USE_DUMP = false; - if (!Module['print']) Module['print'] = (TRY_USE_DUMP && (typeof(dump) !== "undefined") ? (function(x) { - dump(x); - }) : (function(x) { - // self.postMessage(x); // enable this if you want stdout to be sent as messages - })); - } - - if (ENVIRONMENT_IS_WEB) { - window['Module'] = Module; - } else { - Module['load'] = importScripts; - } -} -else { - // Unreachable because SHELL is dependant on the others - throw 'Unknown runtime environment. Where are we?'; -} - -function globalEval(x) { - eval.call(null, x); -} -if (!Module['load'] && Module['read']) { - Module['load'] = function load(f) { - globalEval(Module['read'](f)); - }; -} -if (!Module['print']) { - Module['print'] = function(){}; -} -if (!Module['printErr']) { - Module['printErr'] = Module['print']; -} -if (!Module['arguments']) { - Module['arguments'] = []; -} -if (!Module['thisProgram']) { - Module['thisProgram'] = './this.program'; -} - -// *** Environment setup code *** - -// Closure helpers -Module.print = Module['print']; -Module.printErr = Module['printErr']; - -// Callbacks -Module['preRun'] = []; -Module['postRun'] = []; - -// Merge back in the overrides -for (var key in moduleOverrides) { - if (moduleOverrides.hasOwnProperty(key)) { - Module[key] = moduleOverrides[key]; - } -} - - - -// === Preamble library stuff === - -// Documentation for the public APIs defined in this file must be updated in: -// site/source/docs/api_reference/preamble.js.rst -// A prebuilt local version of the documentation is available at: -// site/build/text/docs/api_reference/preamble.js.txt -// You can also build docs locally as HTML or other formats in site/ -// An online HTML version (which may be of a different version of Emscripten) -// is up at http://kripken.github.io/emscripten-site/docs/api_reference/preamble.js.html - -//======================================== -// Runtime code shared with compiler -//======================================== - -var Runtime = { - setTempRet0: function (value) { - tempRet0 = value; - }, - getTempRet0: function () { - return tempRet0; - }, - stackSave: function () { - return STACKTOP; - }, - stackRestore: function (stackTop) { - STACKTOP = stackTop; - }, - getNativeTypeSize: function (type) { - switch (type) { - case 'i1': case 'i8': return 1; - case 'i16': return 2; - case 'i32': return 4; - case 'i64': return 8; - case 'float': return 4; - case 'double': return 8; - default: { - if (type[type.length-1] === '*') { - return Runtime.QUANTUM_SIZE; // A pointer - } else if (type[0] === 'i') { - var bits = parseInt(type.substr(1)); - assert(bits % 8 === 0); - return bits/8; - } else { - return 0; - } - } - } - }, - getNativeFieldSize: function (type) { - return Math.max(Runtime.getNativeTypeSize(type), Runtime.QUANTUM_SIZE); - }, - STACK_ALIGN: 16, - getAlignSize: function (type, size, vararg) { - // we align i64s and doubles on 64-bit boundaries, unlike x86 - if (!vararg && (type == 'i64' || type == 'double')) return 8; - if (!type) return Math.min(size, 8); // align structures internally to 64 bits - return Math.min(size || (type ? Runtime.getNativeFieldSize(type) : 0), Runtime.QUANTUM_SIZE); - }, - dynCall: function (sig, ptr, args) { - if (args && args.length) { - assert(args.length == sig.length-1); - if (!args.splice) args = Array.prototype.slice.call(args); - args.splice(0, 0, ptr); - assert(('dynCall_' + sig) in Module, 'bad function pointer type - no table for sig \'' + sig + '\''); - return Module['dynCall_' + sig].apply(null, args); - } else { - assert(sig.length == 1); - assert(('dynCall_' + sig) in Module, 'bad function pointer type - no table for sig \'' + sig + '\''); - return Module['dynCall_' + sig].call(null, ptr); - } - }, - functionPointers: [], - addFunction: function (func) { - for (var i = 0; i < Runtime.functionPointers.length; i++) { - if (!Runtime.functionPointers[i]) { - Runtime.functionPointers[i] = func; - return 2*(1 + i); - } - } - throw 'Finished up all reserved function pointers. Use a higher value for RESERVED_FUNCTION_POINTERS.'; - }, - removeFunction: function (index) { - Runtime.functionPointers[(index-2)/2] = null; - }, - getAsmConst: function (code, numArgs) { - // code is a constant string on the heap, so we can cache these - if (!Runtime.asmConstCache) Runtime.asmConstCache = {}; - var func = Runtime.asmConstCache[code]; - if (func) return func; - var args = []; - for (var i = 0; i < numArgs; i++) { - args.push(String.fromCharCode(36) + i); // $0, $1 etc - } - var source = Pointer_stringify(code); - if (source[0] === '"') { - // tolerate EM_ASM("..code..") even though EM_ASM(..code..) is correct - if (source.indexOf('"', 1) === source.length-1) { - source = source.substr(1, source.length-2); - } else { - // something invalid happened, e.g. EM_ASM("..code($0)..", input) - abort('invalid EM_ASM input |' + source + '|. Please use EM_ASM(..code..) (no quotes) or EM_ASM({ ..code($0).. }, input) (to input values)'); - } - } - try { - // Module is the only 'upvar', which we provide directly. We also provide FS for legacy support. - var evalled = eval('(function(Module, FS) { return function(' + args.join(',') + '){ ' + source + ' } })')(Module, typeof FS !== 'undefined' ? FS : null); - } catch(e) { - Module.printErr('error in executing inline EM_ASM code: ' + e + ' on: \n\n' + source + '\n\nwith args |' + args + '| (make sure to use the right one out of EM_ASM, EM_ASM_ARGS, etc.)'); - throw e; - } - return Runtime.asmConstCache[code] = evalled; - }, - warnOnce: function (text) { - if (!Runtime.warnOnce.shown) Runtime.warnOnce.shown = {}; - if (!Runtime.warnOnce.shown[text]) { - Runtime.warnOnce.shown[text] = 1; - Module.printErr(text); - } - }, - funcWrappers: {}, - getFuncWrapper: function (func, sig) { - assert(sig); - if (!Runtime.funcWrappers[sig]) { - Runtime.funcWrappers[sig] = {}; - } - var sigCache = Runtime.funcWrappers[sig]; - if (!sigCache[func]) { - sigCache[func] = function dynCall_wrapper() { - return Runtime.dynCall(sig, func, arguments); - }; - } - return sigCache[func]; - }, - UTF8Processor: function () { - var buffer = []; - var needed = 0; - this.processCChar = function (code) { - code = code & 0xFF; - - if (buffer.length == 0) { - if ((code & 0x80) == 0x00) { // 0xxxxxxx - return String.fromCharCode(code); - } - buffer.push(code); - if ((code & 0xE0) == 0xC0) { // 110xxxxx - needed = 1; - } else if ((code & 0xF0) == 0xE0) { // 1110xxxx - needed = 2; - } else { // 11110xxx - needed = 3; - } - return ''; - } - - if (needed) { - buffer.push(code); - needed--; - if (needed > 0) return ''; - } - - var c1 = buffer[0]; - var c2 = buffer[1]; - var c3 = buffer[2]; - var c4 = buffer[3]; - var ret; - if (buffer.length == 2) { - ret = String.fromCharCode(((c1 & 0x1F) << 6) | (c2 & 0x3F)); - } else if (buffer.length == 3) { - ret = String.fromCharCode(((c1 & 0x0F) << 12) | ((c2 & 0x3F) << 6) | (c3 & 0x3F)); - } else { - // http://mathiasbynens.be/notes/javascript-encoding#surrogate-formulae - var codePoint = ((c1 & 0x07) << 18) | ((c2 & 0x3F) << 12) | - ((c3 & 0x3F) << 6) | (c4 & 0x3F); - ret = String.fromCharCode( - (((codePoint - 0x10000) / 0x400)|0) + 0xD800, - (codePoint - 0x10000) % 0x400 + 0xDC00); - } - buffer.length = 0; - return ret; - } - this.processJSString = function processJSString(string) { - /* TODO: use TextEncoder when present, - var encoder = new TextEncoder(); - encoder['encoding'] = "utf-8"; - var utf8Array = encoder['encode'](aMsg.data); - */ - string = unescape(encodeURIComponent(string)); - var ret = []; - for (var i = 0; i < string.length; i++) { - ret.push(string.charCodeAt(i)); - } - return ret; - } - }, - getCompilerSetting: function (name) { - throw 'You must build with -s RETAIN_COMPILER_SETTINGS=1 for Runtime.getCompilerSetting or emscripten_get_compiler_setting to work'; - }, - stackAlloc: function (size) { var ret = STACKTOP;STACKTOP = (STACKTOP + size)|0;STACKTOP = (((STACKTOP)+15)&-16);(assert((((STACKTOP|0) < (STACK_MAX|0))|0))|0); return ret; }, - staticAlloc: function (size) { var ret = STATICTOP;STATICTOP = (STATICTOP + (assert(!staticSealed),size))|0;STATICTOP = (((STATICTOP)+15)&-16); return ret; }, - dynamicAlloc: function (size) { var ret = DYNAMICTOP;DYNAMICTOP = (DYNAMICTOP + (assert(DYNAMICTOP > 0),size))|0;DYNAMICTOP = (((DYNAMICTOP)+15)&-16); if (DYNAMICTOP >= TOTAL_MEMORY) enlargeMemory();; return ret; }, - alignMemory: function (size,quantum) { var ret = size = Math.ceil((size)/(quantum ? quantum : 16))*(quantum ? quantum : 16); return ret; }, - makeBigInt: function (low,high,unsigned) { var ret = (unsigned ? ((+((low>>>0)))+((+((high>>>0)))*4294967296.0)) : ((+((low>>>0)))+((+((high|0)))*4294967296.0))); return ret; }, - GLOBAL_BASE: 8, - QUANTUM_SIZE: 4, - __dummy__: 0 -} - - -Module['Runtime'] = Runtime; - - - - - - - - - -//======================================== -// Runtime essentials -//======================================== - -var __THREW__ = 0; // Used in checking for thrown exceptions. - -var ABORT = false; // whether we are quitting the application. no code should run after this. set in exit() and abort() -var EXITSTATUS = 0; - -var undef = 0; -// tempInt is used for 32-bit signed values or smaller. tempBigInt is used -// for 32-bit unsigned values or more than 32 bits. TODO: audit all uses of tempInt -var tempValue, tempInt, tempBigInt, tempInt2, tempBigInt2, tempPair, tempBigIntI, tempBigIntR, tempBigIntS, tempBigIntP, tempBigIntD, tempDouble, tempFloat; -var tempI64, tempI64b; -var tempRet0, tempRet1, tempRet2, tempRet3, tempRet4, tempRet5, tempRet6, tempRet7, tempRet8, tempRet9; - -function assert(condition, text) { - if (!condition) { - abort('Assertion failed: ' + text); - } -} - -var globalScope = this; - -// Returns the C function with a specified identifier (for C++, you need to do manual name mangling) -function getCFunc(ident) { - var func = Module['_' + ident]; // closure exported function - if (!func) { - try { - func = eval('_' + ident); // explicit lookup - } catch(e) {} - } - assert(func, 'Cannot call unknown function ' + ident + ' (perhaps LLVM optimizations or closure removed it?)'); - return func; -} - -var cwrap, ccall; -(function(){ - var stack = 0; - var JSfuncs = { - 'stackSave' : function() { - stack = Runtime.stackSave(); - }, - 'stackRestore' : function() { - Runtime.stackRestore(stack); - }, - // type conversion from js to c - 'arrayToC' : function(arr) { - var ret = Runtime.stackAlloc(arr.length); - writeArrayToMemory(arr, ret); - return ret; - }, - 'stringToC' : function(str) { - var ret = 0; - if (str !== null && str !== undefined && str !== 0) { // null string - // at most 4 bytes per UTF-8 code point, +1 for the trailing '\0' - ret = Runtime.stackAlloc((str.length << 2) + 1); - writeStringToMemory(str, ret); - } - return ret; - } - }; - // For fast lookup of conversion functions - var toC = {'string' : JSfuncs['stringToC'], 'array' : JSfuncs['arrayToC']}; - - // C calling interface. - ccall = function ccallFunc(ident, returnType, argTypes, args) { - var func = getCFunc(ident); - var cArgs = []; - assert(returnType !== 'array', 'Return type should not be "array".'); - if (args) { - for (var i = 0; i < args.length; i++) { - var converter = toC[argTypes[i]]; - if (converter) { - if (stack === 0) stack = Runtime.stackSave(); - cArgs[i] = converter(args[i]); - } else { - cArgs[i] = args[i]; - } - } - } - var ret = func.apply(null, cArgs); - if (returnType === 'string') ret = Pointer_stringify(ret); - if (stack !== 0) JSfuncs['stackRestore'](); - return ret; - } - - var sourceRegex = /^function\s*\(([^)]*)\)\s*{\s*([^*]*?)[\s;]*(?:return\s*(.*?)[;\s]*)?}$/; - function parseJSFunc(jsfunc) { - // Match the body and the return value of a javascript function source - var parsed = jsfunc.toString().match(sourceRegex).slice(1); - return {arguments : parsed[0], body : parsed[1], returnValue: parsed[2]} - } - var JSsource = {}; - for (var fun in JSfuncs) { - if (JSfuncs.hasOwnProperty(fun)) { - // Elements of toCsource are arrays of three items: - // the code, and the return value - JSsource[fun] = parseJSFunc(JSfuncs[fun]); - } - } - - - cwrap = function cwrap(ident, returnType, argTypes) { - argTypes = argTypes || []; - var cfunc = getCFunc(ident); - // When the function takes numbers and returns a number, we can just return - // the original function - var numericArgs = argTypes.every(function(type){ return type === 'number'}); - var numericRet = (returnType !== 'string'); - if ( numericRet && numericArgs) { - return cfunc; - } - // Creation of the arguments list (["$1","$2",...,"$nargs"]) - var argNames = argTypes.map(function(x,i){return '$'+i}); - var funcstr = "(function(" + argNames.join(',') + ") {"; - var nargs = argTypes.length; - if (!numericArgs) { - // Generate the code needed to convert the arguments from javascript - // values to pointers - funcstr += JSsource['stackSave'].body + ';'; - for (var i = 0; i < nargs; i++) { - var arg = argNames[i], type = argTypes[i]; - if (type === 'number') continue; - var convertCode = JSsource[type + 'ToC']; // [code, return] - funcstr += 'var ' + convertCode.arguments + ' = ' + arg + ';'; - funcstr += convertCode.body + ';'; - funcstr += arg + '=' + convertCode.returnValue + ';'; - } - } - - // When the code is compressed, the name of cfunc is not literally 'cfunc' anymore - var cfuncname = parseJSFunc(function(){return cfunc}).returnValue; - // Call the function - funcstr += 'var ret = ' + cfuncname + '(' + argNames.join(',') + ');'; - if (!numericRet) { // Return type can only by 'string' or 'number' - // Convert the result to a string - var strgfy = parseJSFunc(function(){return Pointer_stringify}).returnValue; - funcstr += 'ret = ' + strgfy + '(ret);'; - } - if (!numericArgs) { - // If we had a stack, restore it - funcstr += JSsource['stackRestore'].body + ';'; - } - funcstr += 'return ret})'; - return eval(funcstr); - }; -})(); -Module["cwrap"] = cwrap; -Module["ccall"] = ccall; - - -function setValue(ptr, value, type, noSafe) { - type = type || 'i8'; - if (type.charAt(type.length-1) === '*') type = 'i32'; // pointers are 32-bit - switch(type) { - case 'i1': HEAP8[((ptr)>>0)]=value; break; - case 'i8': HEAP8[((ptr)>>0)]=value; break; - case 'i16': HEAP16[((ptr)>>1)]=value; break; - case 'i32': HEAP32[((ptr)>>2)]=value; break; - case 'i64': (tempI64 = [value>>>0,(tempDouble=value,(+(Math_abs(tempDouble))) >= 1.0 ? (tempDouble > 0.0 ? ((Math_min((+(Math_floor((tempDouble)/4294967296.0))), 4294967295.0))|0)>>>0 : (~~((+(Math_ceil((tempDouble - +(((~~(tempDouble)))>>>0))/4294967296.0)))))>>>0) : 0)],HEAP32[((ptr)>>2)]=tempI64[0],HEAP32[(((ptr)+(4))>>2)]=tempI64[1]); break; - case 'float': HEAPF32[((ptr)>>2)]=value; break; - case 'double': HEAPF64[((ptr)>>3)]=value; break; - default: abort('invalid type for setValue: ' + type); - } -} -Module['setValue'] = setValue; - - -function getValue(ptr, type, noSafe) { - type = type || 'i8'; - if (type.charAt(type.length-1) === '*') type = 'i32'; // pointers are 32-bit - switch(type) { - case 'i1': return HEAP8[((ptr)>>0)]; - case 'i8': return HEAP8[((ptr)>>0)]; - case 'i16': return HEAP16[((ptr)>>1)]; - case 'i32': return HEAP32[((ptr)>>2)]; - case 'i64': return HEAP32[((ptr)>>2)]; - case 'float': return HEAPF32[((ptr)>>2)]; - case 'double': return HEAPF64[((ptr)>>3)]; - default: abort('invalid type for setValue: ' + type); - } - return null; -} -Module['getValue'] = getValue; - -var ALLOC_NORMAL = 0; // Tries to use _malloc() -var ALLOC_STACK = 1; // Lives for the duration of the current function call -var ALLOC_STATIC = 2; // Cannot be freed -var ALLOC_DYNAMIC = 3; // Cannot be freed except through sbrk -var ALLOC_NONE = 4; // Do not allocate -Module['ALLOC_NORMAL'] = ALLOC_NORMAL; -Module['ALLOC_STACK'] = ALLOC_STACK; -Module['ALLOC_STATIC'] = ALLOC_STATIC; -Module['ALLOC_DYNAMIC'] = ALLOC_DYNAMIC; -Module['ALLOC_NONE'] = ALLOC_NONE; - -// allocate(): This is for internal use. You can use it yourself as well, but the interface -// is a little tricky (see docs right below). The reason is that it is optimized -// for multiple syntaxes to save space in generated code. So you should -// normally not use allocate(), and instead allocate memory using _malloc(), -// initialize it with setValue(), and so forth. -// @slab: An array of data, or a number. If a number, then the size of the block to allocate, -// in *bytes* (note that this is sometimes confusing: the next parameter does not -// affect this!) -// @types: Either an array of types, one for each byte (or 0 if no type at that position), -// or a single type which is used for the entire block. This only matters if there -// is initial data - if @slab is a number, then this does not matter at all and is -// ignored. -// @allocator: How to allocate memory, see ALLOC_* -function allocate(slab, types, allocator, ptr) { - var zeroinit, size; - if (typeof slab === 'number') { - zeroinit = true; - size = slab; - } else { - zeroinit = false; - size = slab.length; - } - - var singleType = typeof types === 'string' ? types : null; - - var ret; - if (allocator == ALLOC_NONE) { - ret = ptr; - } else { - ret = [_malloc, Runtime.stackAlloc, Runtime.staticAlloc, Runtime.dynamicAlloc][allocator === undefined ? ALLOC_STATIC : allocator](Math.max(size, singleType ? 1 : types.length)); - } - - if (zeroinit) { - var ptr = ret, stop; - assert((ret & 3) == 0); - stop = ret + (size & ~3); - for (; ptr < stop; ptr += 4) { - HEAP32[((ptr)>>2)]=0; - } - stop = ret + size; - while (ptr < stop) { - HEAP8[((ptr++)>>0)]=0; - } - return ret; - } - - if (singleType === 'i8') { - if (slab.subarray || slab.slice) { - HEAPU8.set(slab, ret); - } else { - HEAPU8.set(new Uint8Array(slab), ret); - } - return ret; - } - - var i = 0, type, typeSize, previousType; - while (i < size) { - var curr = slab[i]; - - if (typeof curr === 'function') { - curr = Runtime.getFunctionIndex(curr); - } - - type = singleType || types[i]; - if (type === 0) { - i++; - continue; - } - assert(type, 'Must know what type to store in allocate!'); - - if (type == 'i64') type = 'i32'; // special case: we have one i32 here, and one i32 later - - setValue(ret+i, curr, type); - - // no need to look up size unless type changes, so cache it - if (previousType !== type) { - typeSize = Runtime.getNativeTypeSize(type); - previousType = type; - } - i += typeSize; - } - - return ret; -} -Module['allocate'] = allocate; - -function Pointer_stringify(ptr, /* optional */ length) { - // TODO: use TextDecoder - // Find the length, and check for UTF while doing so - var hasUtf = false; - var t; - var i = 0; - while (1) { - assert(ptr + i < TOTAL_MEMORY); - t = HEAPU8[(((ptr)+(i))>>0)]; - if (t >= 128) hasUtf = true; - else if (t == 0 && !length) break; - i++; - if (length && i == length) break; - } - if (!length) length = i; - - var ret = ''; - - if (!hasUtf) { - var MAX_CHUNK = 1024; // split up into chunks, because .apply on a huge string can overflow the stack - var curr; - while (length > 0) { - curr = String.fromCharCode.apply(String, HEAPU8.subarray(ptr, ptr + Math.min(length, MAX_CHUNK))); - ret = ret ? ret + curr : curr; - ptr += MAX_CHUNK; - length -= MAX_CHUNK; - } - return ret; - } - - var utf8 = new Runtime.UTF8Processor(); - for (i = 0; i < length; i++) { - assert(ptr + i < TOTAL_MEMORY); - t = HEAPU8[(((ptr)+(i))>>0)]; - ret += utf8.processCChar(t); - } - return ret; -} -Module['Pointer_stringify'] = Pointer_stringify; - -function UTF16ToString(ptr) { - var i = 0; - - var str = ''; - while (1) { - var codeUnit = HEAP16[(((ptr)+(i*2))>>1)]; - if (codeUnit == 0) - return str; - ++i; - // fromCharCode constructs a character from a UTF-16 code unit, so we can pass the UTF16 string right through. - str += String.fromCharCode(codeUnit); - } -} -Module['UTF16ToString'] = UTF16ToString; - - -function stringToUTF16(str, outPtr) { - for(var i = 0; i < str.length; ++i) { - // charCodeAt returns a UTF-16 encoded code unit, so it can be directly written to the HEAP. - var codeUnit = str.charCodeAt(i); // possibly a lead surrogate - HEAP16[(((outPtr)+(i*2))>>1)]=codeUnit; - } - // Null-terminate the pointer to the HEAP. - HEAP16[(((outPtr)+(str.length*2))>>1)]=0; -} -Module['stringToUTF16'] = stringToUTF16; - - -function UTF32ToString(ptr) { - var i = 0; - - var str = ''; - while (1) { - var utf32 = HEAP32[(((ptr)+(i*4))>>2)]; - if (utf32 == 0) - return str; - ++i; - // Gotcha: fromCharCode constructs a character from a UTF-16 encoded code (pair), not from a Unicode code point! So encode the code point to UTF-16 for constructing. - if (utf32 >= 0x10000) { - var ch = utf32 - 0x10000; - str += String.fromCharCode(0xD800 | (ch >> 10), 0xDC00 | (ch & 0x3FF)); - } else { - str += String.fromCharCode(utf32); - } - } -} -Module['UTF32ToString'] = UTF32ToString; - - -function stringToUTF32(str, outPtr) { - var iChar = 0; - for(var iCodeUnit = 0; iCodeUnit < str.length; ++iCodeUnit) { - // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code unit, not a Unicode code point of the character! We must decode the string to UTF-32 to the heap. - var codeUnit = str.charCodeAt(iCodeUnit); // possibly a lead surrogate - if (codeUnit >= 0xD800 && codeUnit <= 0xDFFF) { - var trailSurrogate = str.charCodeAt(++iCodeUnit); - codeUnit = 0x10000 + ((codeUnit & 0x3FF) << 10) | (trailSurrogate & 0x3FF); - } - HEAP32[(((outPtr)+(iChar*4))>>2)]=codeUnit; - ++iChar; - } - // Null-terminate the pointer to the HEAP. - HEAP32[(((outPtr)+(iChar*4))>>2)]=0; -} -Module['stringToUTF32'] = stringToUTF32; - -function demangle(func) { - var hasLibcxxabi = !!Module['___cxa_demangle']; - if (hasLibcxxabi) { - try { - var buf = _malloc(func.length); - writeStringToMemory(func.substr(1), buf); - var status = _malloc(4); - var ret = Module['___cxa_demangle'](buf, 0, 0, status); - if (getValue(status, 'i32') === 0 && ret) { - return Pointer_stringify(ret); - } - // otherwise, libcxxabi failed, we can try ours which may return a partial result - } catch(e) { - // failure when using libcxxabi, we can try ours which may return a partial result - } finally { - if (buf) _free(buf); - if (status) _free(status); - if (ret) _free(ret); - } - } - var i = 3; - // params, etc. - var basicTypes = { - 'v': 'void', - 'b': 'bool', - 'c': 'char', - 's': 'short', - 'i': 'int', - 'l': 'long', - 'f': 'float', - 'd': 'double', - 'w': 'wchar_t', - 'a': 'signed char', - 'h': 'unsigned char', - 't': 'unsigned short', - 'j': 'unsigned int', - 'm': 'unsigned long', - 'x': 'long long', - 'y': 'unsigned long long', - 'z': '...' - }; - var subs = []; - var first = true; - function dump(x) { - //return; - if (x) Module.print(x); - Module.print(func); - var pre = ''; - for (var a = 0; a < i; a++) pre += ' '; - Module.print (pre + '^'); - } - function parseNested() { - i++; - if (func[i] === 'K') i++; // ignore const - var parts = []; - while (func[i] !== 'E') { - if (func[i] === 'S') { // substitution - i++; - var next = func.indexOf('_', i); - var num = func.substring(i, next) || 0; - parts.push(subs[num] || '?'); - i = next+1; - continue; - } - if (func[i] === 'C') { // constructor - parts.push(parts[parts.length-1]); - i += 2; - continue; - } - var size = parseInt(func.substr(i)); - var pre = size.toString().length; - if (!size || !pre) { i--; break; } // counter i++ below us - var curr = func.substr(i + pre, size); - parts.push(curr); - subs.push(curr); - i += pre + size; - } - i++; // skip E - return parts; - } - function parse(rawList, limit, allowVoid) { // main parser - limit = limit || Infinity; - var ret = '', list = []; - function flushList() { - return '(' + list.join(', ') + ')'; - } - var name; - if (func[i] === 'N') { - // namespaced N-E - name = parseNested().join('::'); - limit--; - if (limit === 0) return rawList ? [name] : name; - } else { - // not namespaced - if (func[i] === 'K' || (first && func[i] === 'L')) i++; // ignore const and first 'L' - var size = parseInt(func.substr(i)); - if (size) { - var pre = size.toString().length; - name = func.substr(i + pre, size); - i += pre + size; - } - } - first = false; - if (func[i] === 'I') { - i++; - var iList = parse(true); - var iRet = parse(true, 1, true); - ret += iRet[0] + ' ' + name + '<' + iList.join(', ') + '>'; - } else { - ret = name; - } - paramLoop: while (i < func.length && limit-- > 0) { - //dump('paramLoop'); - var c = func[i++]; - if (c in basicTypes) { - list.push(basicTypes[c]); - } else { - switch (c) { - case 'P': list.push(parse(true, 1, true)[0] + '*'); break; // pointer - case 'R': list.push(parse(true, 1, true)[0] + '&'); break; // reference - case 'L': { // literal - i++; // skip basic type - var end = func.indexOf('E', i); - var size = end - i; - list.push(func.substr(i, size)); - i += size + 2; // size + 'EE' - break; - } - case 'A': { // array - var size = parseInt(func.substr(i)); - i += size.toString().length; - if (func[i] !== '_') throw '?'; - i++; // skip _ - list.push(parse(true, 1, true)[0] + ' [' + size + ']'); - break; - } - case 'E': break paramLoop; - default: ret += '?' + c; break paramLoop; - } - } - } - if (!allowVoid && list.length === 1 && list[0] === 'void') list = []; // avoid (void) - if (rawList) { - if (ret) { - list.push(ret + '?'); - } - return list; - } else { - return ret + flushList(); - } - } - var final = func; - try { - // Special-case the entry point, since its name differs from other name mangling. - if (func == 'Object._main' || func == '_main') { - return 'main()'; - } - if (typeof func === 'number') func = Pointer_stringify(func); - if (func[0] !== '_') return func; - if (func[1] !== '_') return func; // C function - if (func[2] !== 'Z') return func; - switch (func[3]) { - case 'n': return 'operator new()'; - case 'd': return 'operator delete()'; - } - final = parse(); - } catch(e) { - final += '?'; - } - if (final.indexOf('?') >= 0 && !hasLibcxxabi) { - Runtime.warnOnce('warning: a problem occurred in builtin C++ name demangling; build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling'); - } - return final; -} - -function demangleAll(text) { - return text.replace(/__Z[\w\d_]+/g, function(x) { var y = demangle(x); return x === y ? x : (x + ' [' + y + ']') }); -} - -function jsStackTrace() { - var err = new Error(); - if (!err.stack) { - // IE10+ special cases: It does have callstack info, but it is only populated if an Error object is thrown, - // so try that as a special-case. - try { - throw new Error(0); - } catch(e) { - err = e; - } - if (!err.stack) { - return '(no stack trace available)'; - } - } - return err.stack.toString(); -} - -function stackTrace() { - return demangleAll(jsStackTrace()); -} -Module['stackTrace'] = stackTrace; - -// Memory management - -var PAGE_SIZE = 4096; -function alignMemoryPage(x) { - return (x+4095)&-4096; -} - -var HEAP; -var HEAP8, HEAPU8, HEAP16, HEAPU16, HEAP32, HEAPU32, HEAPF32, HEAPF64; - -var STATIC_BASE = 0, STATICTOP = 0, staticSealed = false; // static area -var STACK_BASE = 0, STACKTOP = 0, STACK_MAX = 0; // stack area -var DYNAMIC_BASE = 0, DYNAMICTOP = 0; // dynamic area handled by sbrk - -function enlargeMemory() { - abort('Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value ' + TOTAL_MEMORY + ', (2) compile with ALLOW_MEMORY_GROWTH which adjusts the size at runtime but prevents some optimizations, or (3) set Module.TOTAL_MEMORY before the program runs.'); -} - - -var TOTAL_STACK = Module['TOTAL_STACK'] || 5242880; -var TOTAL_MEMORY = Module['TOTAL_MEMORY'] || 16777216; -var FAST_MEMORY = Module['FAST_MEMORY'] || 2097152; - -var totalMemory = 64*1024; -while (totalMemory < TOTAL_MEMORY || totalMemory < 2*TOTAL_STACK) { - if (totalMemory < 16*1024*1024) { - totalMemory *= 2; - } else { - totalMemory += 16*1024*1024 - } -} -if (totalMemory !== TOTAL_MEMORY) { - Module.printErr('increasing TOTAL_MEMORY to ' + totalMemory + ' to be more reasonable'); - TOTAL_MEMORY = totalMemory; -} - -// Initialize the runtime's memory -// check for full engine support (use string 'subarray' to avoid closure compiler confusion) -assert(typeof Int32Array !== 'undefined' && typeof Float64Array !== 'undefined' && !!(new Int32Array(1)['subarray']) && !!(new Int32Array(1)['set']), - 'JS engine does not provide full typed array support'); - -var buffer = new ArrayBuffer(TOTAL_MEMORY); -HEAP8 = new Int8Array(buffer); -HEAP16 = new Int16Array(buffer); -HEAP32 = new Int32Array(buffer); -HEAPU8 = new Uint8Array(buffer); -HEAPU16 = new Uint16Array(buffer); -HEAPU32 = new Uint32Array(buffer); -HEAPF32 = new Float32Array(buffer); -HEAPF64 = new Float64Array(buffer); - -// Endianness check (note: assumes compiler arch was little-endian) -HEAP32[0] = 255; -assert(HEAPU8[0] === 255 && HEAPU8[3] === 0, 'Typed arrays 2 must be run on a little-endian system'); - -Module['HEAP'] = HEAP; -Module['HEAP8'] = HEAP8; -Module['HEAP16'] = HEAP16; -Module['HEAP32'] = HEAP32; -Module['HEAPU8'] = HEAPU8; -Module['HEAPU16'] = HEAPU16; -Module['HEAPU32'] = HEAPU32; -Module['HEAPF32'] = HEAPF32; -Module['HEAPF64'] = HEAPF64; - -function callRuntimeCallbacks(callbacks) { - while(callbacks.length > 0) { - var callback = callbacks.shift(); - if (typeof callback == 'function') { - callback(); - continue; - } - var func = callback.func; - if (typeof func === 'number') { - if (callback.arg === undefined) { - Runtime.dynCall('v', func); - } else { - Runtime.dynCall('vi', func, [callback.arg]); - } - } else { - func(callback.arg === undefined ? null : callback.arg); - } - } -} - -var __ATPRERUN__ = []; // functions called before the runtime is initialized -var __ATINIT__ = []; // functions called during startup -var __ATMAIN__ = []; // functions called when main() is to be run -var __ATEXIT__ = []; // functions called during shutdown -var __ATPOSTRUN__ = []; // functions called after the runtime has exited - -var runtimeInitialized = false; -var runtimeExited = false; - -function preRun() { - // compatibility - merge in anything from Module['preRun'] at this time - if (Module['preRun']) { - if (typeof Module['preRun'] == 'function') Module['preRun'] = [Module['preRun']]; - while (Module['preRun'].length) { - addOnPreRun(Module['preRun'].shift()); - } - } - callRuntimeCallbacks(__ATPRERUN__); -} - -function ensureInitRuntime() { - if (runtimeInitialized) return; - runtimeInitialized = true; - callRuntimeCallbacks(__ATINIT__); -} - -function preMain() { - callRuntimeCallbacks(__ATMAIN__); -} - -function exitRuntime() { - if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) { - Module.printErr('Exiting runtime. Any attempt to access the compiled C code may fail from now. If you want to keep the runtime alive, set Module["noExitRuntime"] = true or build with -s NO_EXIT_RUNTIME=1'); - } - callRuntimeCallbacks(__ATEXIT__); - runtimeExited = true; -} - -function postRun() { - // compatibility - merge in anything from Module['postRun'] at this time - if (Module['postRun']) { - if (typeof Module['postRun'] == 'function') Module['postRun'] = [Module['postRun']]; - while (Module['postRun'].length) { - addOnPostRun(Module['postRun'].shift()); - } - } - callRuntimeCallbacks(__ATPOSTRUN__); -} - -function addOnPreRun(cb) { - __ATPRERUN__.unshift(cb); -} -Module['addOnPreRun'] = Module.addOnPreRun = addOnPreRun; - -function addOnInit(cb) { - __ATINIT__.unshift(cb); -} -Module['addOnInit'] = Module.addOnInit = addOnInit; - -function addOnPreMain(cb) { - __ATMAIN__.unshift(cb); -} -Module['addOnPreMain'] = Module.addOnPreMain = addOnPreMain; - -function addOnExit(cb) { - __ATEXIT__.unshift(cb); -} -Module['addOnExit'] = Module.addOnExit = addOnExit; - -function addOnPostRun(cb) { - __ATPOSTRUN__.unshift(cb); -} -Module['addOnPostRun'] = Module.addOnPostRun = addOnPostRun; - -// Tools - - -function intArrayFromString(stringy, dontAddNull, length /* optional */) { - var ret = (new Runtime.UTF8Processor()).processJSString(stringy); - if (length) { - ret.length = length; - } - if (!dontAddNull) { - ret.push(0); - } - return ret; -} -Module['intArrayFromString'] = intArrayFromString; - -function intArrayToString(array) { - var ret = []; - for (var i = 0; i < array.length; i++) { - var chr = array[i]; - if (chr > 0xFF) { - assert(false, 'Character code ' + chr + ' (' + String.fromCharCode(chr) + ') at offset ' + i + ' not in 0x00-0xFF.'); - chr &= 0xFF; - } - ret.push(String.fromCharCode(chr)); - } - return ret.join(''); -} -Module['intArrayToString'] = intArrayToString; - -function writeStringToMemory(string, buffer, dontAddNull) { - var array = intArrayFromString(string, dontAddNull); - var i = 0; - while (i < array.length) { - var chr = array[i]; - HEAP8[(((buffer)+(i))>>0)]=chr; - i = i + 1; - } -} -Module['writeStringToMemory'] = writeStringToMemory; - -function writeArrayToMemory(array, buffer) { - for (var i = 0; i < array.length; i++) { - HEAP8[(((buffer)+(i))>>0)]=array[i]; - } -} -Module['writeArrayToMemory'] = writeArrayToMemory; - -function writeAsciiToMemory(str, buffer, dontAddNull) { - for (var i = 0; i < str.length; i++) { - assert(str.charCodeAt(i) === str.charCodeAt(i)&0xff); - HEAP8[(((buffer)+(i))>>0)]=str.charCodeAt(i); - } - if (!dontAddNull) HEAP8[(((buffer)+(str.length))>>0)]=0; -} -Module['writeAsciiToMemory'] = writeAsciiToMemory; - -function unSign(value, bits, ignore) { - if (value >= 0) { - return value; - } - return bits <= 32 ? 2*Math.abs(1 << (bits-1)) + value // Need some trickery, since if bits == 32, we are right at the limit of the bits JS uses in bitshifts - : Math.pow(2, bits) + value; -} -function reSign(value, bits, ignore) { - if (value <= 0) { - return value; - } - var half = bits <= 32 ? Math.abs(1 << (bits-1)) // abs is needed if bits == 32 - : Math.pow(2, bits-1); - if (value >= half && (bits <= 32 || value > half)) { // for huge values, we can hit the precision limit and always get true here. so don't do that - // but, in general there is no perfect solution here. With 64-bit ints, we get rounding and errors - // TODO: In i64 mode 1, resign the two parts separately and safely - value = -2*half + value; // Cannot bitshift half, as it may be at the limit of the bits JS uses in bitshifts - } - return value; -} - -// check for imul support, and also for correctness ( https://bugs.webkit.org/show_bug.cgi?id=126345 ) -if (!Math['imul'] || Math['imul'](0xffffffff, 5) !== -5) Math['imul'] = function imul(a, b) { - var ah = a >>> 16; - var al = a & 0xffff; - var bh = b >>> 16; - var bl = b & 0xffff; - return (al*bl + ((ah*bl + al*bh) << 16))|0; -}; -Math.imul = Math['imul']; - - -var Math_abs = Math.abs; -var Math_cos = Math.cos; -var Math_sin = Math.sin; -var Math_tan = Math.tan; -var Math_acos = Math.acos; -var Math_asin = Math.asin; -var Math_atan = Math.atan; -var Math_atan2 = Math.atan2; -var Math_exp = Math.exp; -var Math_log = Math.log; -var Math_sqrt = Math.sqrt; -var Math_ceil = Math.ceil; -var Math_floor = Math.floor; -var Math_pow = Math.pow; -var Math_imul = Math.imul; -var Math_fround = Math.fround; -var Math_min = Math.min; - -// A counter of dependencies for calling run(). If we need to -// do asynchronous work before running, increment this and -// decrement it. Incrementing must happen in a place like -// PRE_RUN_ADDITIONS (used by emcc to add file preloading). -// Note that you can add dependencies in preRun, even though -// it happens right before run - run will be postponed until -// the dependencies are met. -var runDependencies = 0; -var runDependencyWatcher = null; -var dependenciesFulfilled = null; // overridden to take different actions when all run dependencies are fulfilled -var runDependencyTracking = {}; - -function addRunDependency(id) { - runDependencies++; - if (Module['monitorRunDependencies']) { - Module['monitorRunDependencies'](runDependencies); - } - if (id) { - assert(!runDependencyTracking[id]); - runDependencyTracking[id] = 1; - if (runDependencyWatcher === null && typeof setInterval !== 'undefined') { - // Check for missing dependencies every few seconds - runDependencyWatcher = setInterval(function() { - if (ABORT) { - clearInterval(runDependencyWatcher); - runDependencyWatcher = null; - return; - } - var shown = false; - for (var dep in runDependencyTracking) { - if (!shown) { - shown = true; - Module.printErr('still waiting on run dependencies:'); - } - Module.printErr('dependency: ' + dep); - } - if (shown) { - Module.printErr('(end of list)'); - } - }, 10000); - } - } else { - Module.printErr('warning: run dependency added without ID'); - } -} -Module['addRunDependency'] = addRunDependency; -function removeRunDependency(id) { - runDependencies--; - if (Module['monitorRunDependencies']) { - Module['monitorRunDependencies'](runDependencies); - } - if (id) { - assert(runDependencyTracking[id]); - delete runDependencyTracking[id]; - } else { - Module.printErr('warning: run dependency removed without ID'); - } - if (runDependencies == 0) { - if (runDependencyWatcher !== null) { - clearInterval(runDependencyWatcher); - runDependencyWatcher = null; - } - if (dependenciesFulfilled) { - var callback = dependenciesFulfilled; - dependenciesFulfilled = null; - callback(); // can add another dependenciesFulfilled - } - } -} -Module['removeRunDependency'] = removeRunDependency; - -Module["preloadedImages"] = {}; // maps url to image data -Module["preloadedAudios"] = {}; // maps url to audio data - - -var memoryInitializer = null; - -// === Body === - - - - - -STATIC_BASE = 8; - -STATICTOP = STATIC_BASE + Runtime.alignMemory(21851); - /* global initializers */ __ATINIT__.push(); - - -/* memory initializer */ allocate([0,5,0,0,0,0,0,0,208,2,0,0,0,0,0,0,76,79,65,68,73,78,71,46,46,46,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,114,101,115,115,32,69,78,84,69,82,32,116,111,32,83,84,65,82,84,0,0,0,0,0,0,0,0,0,0,0,0,98,121,32,82,65,77,79,78,32,83,65,78,84,65,77,65,82,73,65,32,91,64,114,97,121,115,97,110,53,93,0,0,0,0,0,0,0,0,0,0,119,119,119,46,114,97,121,108,105,98,46,99,111,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65,32,115,105,109,112,108,101,32,97,110,100,32,101,97,115,121,45,116,111,45,117,115,101,32,108,105,98,114,97,114,121,0,0,0,0,0,0,0,0,116,111,32,108,101,97,114,110,32,118,105,100,101,111,103,97,109,101,115,32,112,114,111,103,114,97,109,109,105,110,103,0,0,0,0,0,0,0,0,0,84,72,73,83,32,105,115,32,97,32,67,85,83,84,79,77,32,70,79,78,84,46,46,46,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,46,46,46,97,110,100,32,65,78,79,84,72,69,82,32,67,85,83,84,79,77,32,79,78,69,46,46,46,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,46,46,46,65,78,68,32,79,78,69,32,77,79,82,69,33,32,58,41,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,75,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,88,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,32,32,32,32,32,32,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,114,97,121,108,105,98,32,102,117,110,99,116,105,111,110,97,108,105,116,121,32,100,101,109,111,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,114,101,115,111,117,114,99,101,115,47,102,111,110,116,115,47,97,108,97,103,97,114,100,46,114,98,109,102,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,114,101,115,111,117,114,99,101,115,47,102,111,110,116,115,47,112,105,120,101,108,112,108,97,121,46,114,98,109,102,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,114,101,115,111,117,114,99,101,115,47,102,111,110,116,115,47,109,101,99,104,97,46,114,98,109,102,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,114,101,115,111,117,114,99,101,115,47,102,111,110,116,115,47,115,101,116,98,97,99,107,46,114,98,109,102,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,114,101,115,111,117,114,99,101,115,47,102,111,110,116,115,47,114,111,109,117,108,117,115,46,114,98,109,102,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,114,101,115,111,117,114,99,101,115,47,114,97,121,108,105,98,95,119,105,110,100,111,119,46,112,110,103,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,114,101,115,111,117,114,99,101,115,47,114,97,121,108,105,98,95,119,105,110,100,111,119,95,48,49,46,112,110,103,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,114,101,115,111,117,114,99,101,115,47,114,97,121,108,105,98,95,119,105,110,100,111,119,95,48,50,46,112,110,103,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,114,101,115,111,117,114,99,101,115,47,114,97,121,108,105,98,95,119,105,110,100,111,119,95,48,51,46,112,110,103,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,114,101,115,111,117,114,99,101,115,47,112,108,97,116,102,111,114,109,115,46,112,110,103,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,114,101,115,111,117,114,99,101,115,47,114,97,121,108,105,98,95,108,111,103,111,49,50,56,120,49,50,56,46,112,110,103,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,114,101,115,111,117,114,99,101,115,47,108,101,110,97,46,112,110,103,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,114,101,115,111,117,114,99,101,115,47,109,97,110,100,114,105,108,108,46,112,110,103,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,114,101,115,111,117,114,99,101,115,47,102,111,110,116,115,47,99,117,115,116,111,109,95,97,108,97,103,97,114,100,46,112,110,103,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,114,101,115,111,117,114,99,101,115,47,102,111,110,116,115,47,99,117,115,116,111,109,95,109,101,99,104,97,46,112,110,103,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,114,101,115,111,117,114,99,101,115,47,102,111,110,116,115,47,99,117,115,116,111,109,95,106,117,112,105,116,101,114,95,99,114,97,115,104,46,112,110,103,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,114,101,115,111,117,114,99,101,115,47,99,97,116,115,104,97,109,46,112,110,103,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,114,101,115,111,117,114,99,101,115,47,99,97,116,46,111,98,106,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,114,101,115,111,117,114,99,101,115,47,97,117,100,105,111,47,119,101,105,114,100,46,119,97,118,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,114,101,115,111,117,114,99,101,115,47,97,117,100,105,111,47,116,97,110,97,116,97,110,97,46,111,103,103,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,114,101,115,111,117,114,99,101,115,47,114,97,121,108,105,98,95,108,111,103,111,46,112,110,103,0,0,0,0,0,0,0,114,101,115,111,117,114,99,101,115,47,97,117,100,105,111,47,103,117,105,116,97,114,95,110,111,111,100,108,105,110,103,46,111,103,103,0,0,0,0,0,80,82,69,83,83,32,83,80,65,67,69,32,116,111,32,65,67,67,69,76,69,82,65,84,69,32,76,79,65,68,73,78,71,33,32,59,41,0,0,0,80,82,69,83,83,32,69,78,84,69,82,32,116,111,32,67,79,78,84,73,78,85,69,0,114,97,121,108,105,98,32,105,115,32,99,111,109,112,111,115,101,100,32,111,102,32,54,32,109,97,105,110,32,109,111,100,117,108,101,115,58,0,0,0,80,82,69,83,83,32,82,73,71,72,84,32,111,114,32,76,69,70,84,32,116,111,32,69,88,80,76,79,82,69,32,77,79,68,85,76,69,83,0,0,84,104,105,115,32,109,111,100,117,108,101,32,103,105,118,101,32,121,111,117,32,102,117,110,99,116,105,111,110,115,32,116,111,58,0,0,0,0,0,0,79,112,101,110,45,67,108,111,115,101,32,87,105,110,100,111,119,0,0,0,0,0,0,0,77,97,110,97,103,101,32,68,114,97,119,105,110,103,32,65,114,101,97,0,0,0,0,0,77,97,110,97,103,101,32,73,110,112,117,116,115,0,0,0,77,97,110,97,103,101,32,84,105,109,109,105,110,103,0,0,65,117,120,105,108,105,97,114,32,70,117,110,99,116,105,111,110,115,0,0,0,0,0,0,67,104,101,99,107,32,116,104,101,32,112,111,115,115,105,98,108,101,32,119,105,110,100,111,119,115,32,114,97,121,108,105,98,32,99,97,110,32,114,117,110,32,111,110,46,32,80,82,69,83,83,32,75,69,89,58,32,49,44,32,50,44,32,51,32,111,114,32,52,0,0,0,67,111,109,112,105,108,101,32,114,97,121,108,105,98,32,67,32,99,111,100,101,32,102,111,114,32,116,104,101,32,102,111,108,111,119,105,110,103,32,112,108,97,116,102,111,114,109,115,58,0,0,0,0,0,0,0,77,79,86,69,32,77,69,0,91,32,87,32,65,32,83,32,68,32,93,0,0,0,0,0,68,114,97,119,32,66,97,115,105,99,32,83,104,97,112,101,115,0,0,0,0,0,0,0,66,97,115,105,99,32,67,111,108,108,105,115,105,111,110,32,68,101,116,101,99,116,105,111,110,0,0,0,0,0,0,0,76,111,97,100,32,73,109,97,103,101,115,32,97,110,100,32,84,101,120,116,117,114,101,115,0,0,0,0,0,0,0,0,68,114,97,119,32,84,101,120,116,117,114,101,115,0,0,0,76,111,97,100,32,83,112,114,105,116,101,70,111,110,116,115,0,0,0,0,0,0,0,0,68,114,97,119,32,84,101,120,116,0,0,0,0,0,0,0,84,101,120,116,32,70,111,114,109,97,116,116,105,110,103,0,73,116,32,97,108,115,111,32,105,110,99,108,117,100,101,115,32,115,111,109,101,46,46,46,0,0,0,0,0,0,0,0,46,46,46,102,114,101,101,32,102,111,110,116,115,32,105,110,32,114,66,77,70,32,102,111,114,109,97,116,46,46,46,0,46,46,46,116,111,32,98,101,32,117,115,101,100,32,101,118,101,110,32,105,110,46,46,46,0,0,0,0,0,0,0,0,46,46,46,99,111,109,101,114,99,105,97,108,32,112,114,111,106,101,99,116,115,46,46,46,0,0,0,0,0,0,0,0,46,46,46,99,111,109,112,108,101,116,101,108,121,32,102,111,114,32,102,114,101,101,33,0,84,104,105,115,32,105,115,32,97,32,99,117,115,116,111,109,32,102,111,110,116,32,115,112,114,105,116,101,115,104,101,101,116,44,32,114,97,121,108,105,98,32,99,97,110,32,108,111,97,100,32,105,116,32,97,117,116,111,109,97,116,105,99,97,108,108,121,33,0,0,0,0,68,114,97,119,32,71,101,111,109,101,116,114,105,99,32,77,111,100,101,108,115,0,0,0,76,111,97,100,32,51,68,32,77,111,100,101,108,115,0,0,68,114,97,119,32,51,68,32,77,111,100,101,108,115,0,0,76,111,97,100,32,97,110,100,32,80,108,97,121,32,83,111,117,110,100,115,0,0,0,0,80,108,97,121,32,77,117,115,105,99,32,40,115,116,114,101,97,109,105,110,103,41,0,0,80,82,69,83,83,32,83,80,65,67,69,32,116,111,32,83,84,65,82,84,32,80,76,65,89,73,78,71,32,77,85,83,73,67,0,0,0,0,0,0,80,82,69,83,83,32,39,83,39,32,116,111,32,83,84,79,80,32,80,76,65,89,73,78,71,32,77,85,83,73,67,0,80,82,69,83,83,32,39,78,39,32,116,111,32,80,76,65,89,32,97,32,83,79,85,78,68,0,0,0,0,0,0,0,67,79,82,69,0,0,0,0,83,72,65,80,69,83,0,0,84,69,88,84,85,82,69,83,0,0,0,0,0,0,0,0,84,69,88,84,0,0,0,0,77,79,68,69,76,83,0,0,65,85,68,73,79,0,0,0,76,69,65,82,78,32,86,73,68,69,79,71,65,77,69,83,32,80,82,79,71,82,65,77,77,73,78,71,0,0,0,0,37,48,50,105,0,0,0,0,48,48,0,0,0,0,0,0,71,65,77,69,32,80,65,85,83,69,68,32,91,80,93,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,87,105,110,100,111,119,32,99,108,111,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,0,0,0,0,0,0,1,0,0,0,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,84,97,114,103,101,116,32,116,105,109,101,32,112,101,114,32,102,114,97,109,101,58,32,37,48,50,46,48,51,102,32,109,105,108,108,105,115,101,99,111,110,100,115], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE); -/* memory initializer */ allocate([70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,71,76,70,87,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,71,76,70,87,32,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,87,105,110,100,111,119,0,0,0,0,0,0,0,0,68,105,115,112,108,97,121,32,100,101,118,105,99,101,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,82,101,110,100,101,114,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,0,0,0,83,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,0,0,0,86,105,101,119,112,111,114,116,32,111,102,102,115,101,116,115,58,32,37,105,44,32,37,105,0,0,0,0,0,0,0,0,68,79,87,78,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,32,40,37,105,120,37,105,41,32,105,115,32,98,105,103,103,101,114,32,116,104,97,110,32,100,105,115,112,108,97,121,32,115,105,122,101,32,40,37,105,120,37,105,41,0,0,0,68,111,119,110,115,99,97,108,101,32,109,97,116,114,105,120,32,103,101,110,101,114,97,116,101,100,44,32,99,111,110,116,101,110,116,32,119,105,108,108,32,98,101,32,114,101,110,100,101,114,101,100,32,97,116,58,32,37,105,32,120,32,37,105,0,0,0,0,0,0,0,0,85,80,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,32,45,62,32,68,105,115,112,108,97,121,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,0,0,0,0,0,0,91,71,76,70,87,51,32,69,114,114,111,114,93,32,67,111,100,101,58,32,37,105,32,68,101,99,114,105,112,116,105,111,110,58,32,37,115,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,83,116,97,99,107,32,66,117,102,102,101,114,32,79,118,101,114,102,108,111,119,32,40,77,65,88,32,37,105,32,77,97,116,114,105,120,41], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+4936); -/* memory initializer */ allocate([77,65,88,95,76,73,78,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,0,0,0,0,0,0,0,77,65,88,95,84,82,73,65,78,71,76,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,77,65,88,95,81,85,65,68,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,0,0,0,0,0,0,0,67,111,117,108,100,32,110,111,116,32,105,110,105,116,105,97,108,105,122,101,32,86,65,79,32,101,120,116,101,110,115,105,111,110,115,44,32,86,65,79,115,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,71,80,85,58,32,86,101,110,100,111,114,58,32,32,32,37,115,0,0,0,0,0,0,0,71,80,85,58,32,82,101,110,100,101,114,101,114,58,32,37,115,0,0,0,0,0,0,0,71,80,85,58,32,86,101,114,115,105,111,110,58,32,32,37,115,0,0,0,0,0,0,0,71,80,85,58,32,71,76,83,76,58,32,32,32,32,32,37,115,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,118,101,114,116,101,120,80,111,115,105,116,105,111,110,0,0,0,0,0,0,0,0,0,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,0,0,0,0,0,0,0,0,0,0,118,101,114,116,101,120,67,111,108,111,114,0,0,0,0,0,0,0,0,0,0,0,0,0,109,111,100,101,108,118,105,101,119,77,97,116,114,105,120,0,0,0,0,0,0,0,0,0,112,114,111,106,101,99,116,105,111,110,77,97,116,114,105,120,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,116,101,120,116,117,114,101,48,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,91,84,69,88,32,73,68,32,37,105,93,32,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,0,0,0,0,0,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,79,112,101,110,71,76,32,71,114,97,112,104,105,99,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,0,0,0,0,0,0,0,91,84,69,88,32,73,68,32,37,105,93,32,84,101,120,116,117,114,101,32,105,115,32,110,111,116,32,112,111,119,101,114,45,111,102,45,116,119,111,44,32,109,105,112,109,97,112,115,32,99,97,110,32,110,111,116,32,98,101,32,103,101,110,101,114,97,116,101,100,0,0,0,91,84,69,88,32,73,68,32,37,105,93,32,77,105,112,109,97,112,115,32,103,101,110,101,114,97,116,101,100,32,97,117,116,111,109,97,116,105,99,97,108,108,121,32,102,111,114,32,110,101,119,32,116,101,120,116,117,114,101,0,0,0,0,0,91,84,69,88,32,73,68,32,37,105,93,32,84,101,120,116,117,114,101,32,99,114,101,97,116,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,0,0,0,0,0,0,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,77,111,100,101,108,32,117,112,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,116,111,32,86,82,65,77,32,40,71,80,85,41,0,0,0,0,0,67,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,119,105,100,116,104,58,32,37,105,0,0,0,0,67,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,104,101,105,103,104,116,58,32,37,105,0,0,0,67,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,109,105,112,109,97,112,32,108,101,118,101,108,115,58,32,37,105,0,0,0,0,67,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,58,32,48,120,37,120,0,84,101,120,116,117,114,101,32,99,111,109,112,114,101,115,115,101,100,32,102,111,114,109,97,116,32,110,111,116,32,114,101,99,111,103,110,105,122,101,100,0,0,0,0,0,0,0,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,76,105,110,101,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,0,0,0,0,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,84,114,105,97,110,103,108,101,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,81,117,97,100,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,0,0,0,0,0,0,0,67,80,85,32,98,117,102,102,101,114,115,32,40,108,105,110,101,115,44,32,116,114,105,97,110,103,108,101,115,44,32,113,117,97,100,115,41,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,0,32,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,109,97,116,52,32,112,114,111,106,101,99,116,105,111,110,77,97,116,114,105,120,59,32,32,32,32,32,10,117,110,105,102,111,114,109,32,109,97,116,52,32,109,111,100,101,108,118,105,101,119,77,97,116,114,105,120,59,32,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,51,32,118,101,114,116,101,120,80,111,115,105,116,105,111,110,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,50,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,52,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,102,114,97,103,84,101,120,67,111,111,114,100,32,61,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,10,32,32,32,32,102,114,97,103,67,111,108,111,114,32,61,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,10,32,32,32,32,103,108,95,80,111,115,105,116,105,111,110,32,61,32,112,114,111,106,101,99,116,105,111,110,77,97,116,114,105,120,32,42,32,109,111,100,101,108,118,105,101,119,77,97,116,114,105,120,32,42,32,118,101,99,52,40,118,101,114,116,101,120,80,111,115,105,116,105,111,110,44,32,49,46,48,41,59,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,32,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,10,112,114,101,99,105,115,105,111,110,32,109,101,100,105,117,109,112,32,102,108,111,97,116,59,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,115,97,109,112,108,101,114,50,68,32,116,101,120,116,117,114,101,48,59,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,103,108,95,70,114,97,103,67,111,108,111,114,32,61,32,116,101,120,116,117,114,101,50,68,40,116,101,120,116,117,114,101,48,44,32,102,114,97,103,84,101,120,67,111,111,114,100,41,32,42,32,102,114,97,103,67,111,108,111,114,59,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,0,0,0,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,100,101,102,97,117,108,116,32,118,101,114,116,101,120,32,115,104,97,100,101,114,46,46,46,0,0,0,0,0,0,0,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,118,101,114,116,101,120,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,0,0,0,0,0,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,100,101,102,97,117,108,116,32,102,114,97,103,109,101,110,116,32,115,104,97,100,101,114,46,46,46,0,0,0,0,0,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,102,114,97,103,109,101,110,116,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,0,0,0,0,83,104,97,100,101,114,32,112,114,111,103,114,97,109,32,102,97,105,108,32,108,111,103,58,32,37,115,0,0,0,0,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,112,114,111,103,114,97,109,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,32,0,0,176,1,0,0,0,0,0,0,0,0,0,32,37,249,142,0,10,2,0,0,128,190,125,95,244,125,31,160,242,43,74,30,9,82,8,0,64,34,65,80,20,4,16,32,32,41,46,18,8,34,8,0,32,34,65,80,20,4,16,32,32,249,16,76,8,250,62,60,16,34,125,222,247,125,16,32,32,161,232,50,8,34,8,0,8,34,5,16,4,69,16,0,240,163,164,50,8,82,8,0,4,34,5,16,4,69,16,32,32,249,226,94,8,2,0,129,2,62,125,31,244,125,16,0,0,32,0,0,176,1,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,190,15,0,192,15,224,247,251,125,126,191,95,232,190,80,0,162,8,8,68,232,47,20,10,133,2,129,80,72,160,80,0,162,40,228,73,40,40,20,10,132,2,129,64,72,160,72,0,190,15,2,16,175,235,247,9,132,62,159,216,79,160,71,0,34,136,228,9,161,42,20,10,132,2,129,80,72,160,72,0,34,40,8,4,160,47,20,10,133,2,129,80,72,162,80,0,190,143,0,0,33,32,244,251,125,126,129,95,232,156,208,7,0,128,0,0,224,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,1,12,0,130,66,191,223,239,247,251,11,5,5,133,66,191,4,72,0,198,66,161,80,40,20,64,8,5,37,133,66,160,8,168,0,170,70,161,80,40,20,64,8,5,37,133,66,144,16,8,0,146,74,161,95,232,247,67,8,5,37,121,126,136,32,8,0,130,82,161,64,40,1,66,8,137,36,133,64,132,64,8,0,130,98,161,64,42,2,66,8,81,36,133,64,130,128,8,0,130,66,191,192,47,244,67,248,33,252,133,126,191,0,9,62,0,0,0,0,4,0,0,0,0,0,0,0,128,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,0,4,0,32,72,65,0,0,0,0,0,8,0,0,4,4,0,4,60,32,0,65,0,0,0,0,0,8,0,0,240,125,223,247,133,239,75,81,190,239,251,190,239,59,81,4,0,69,65,20,133,40,74,73,170,40,138,162,32,8,81,4,240,69,65,244,157,40,74,71,170,40,138,162,224,11,81,4,16,69,65,20,132,40,74,73,170,40,138,162,0,10,145,2,240,125,223,247,133,47,74,209,170,232,251,190,224,123,31,1,0,0,0,0,4,8,64,0,0,0,8,32,0,0,0,0,0,0,0,0,132,15,96,0,0,0,8,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,172,1,15,0,0,0,0,0,0,0,0,0,0,0,0,0,36,1,9,0,0,0,0,0,0,0,0,0,0,0,0,0,36,1,9,0,0,0,0,0,0,0,0,0,0,162,40,250,36,1,9,0,0,0,0,0,0,0,0,0,0,42,37,66,34,82,9,0,0,0,0,0,0,0,0,0,0,42,34,34,36,41,9,0,0,0,0,0,0,0,0,0,0,42,37,18,36,1,9,0,0,0,0,0,0,0,0,0,0,190,232,251,36,1,9,0,0,0,0,0,0,0,0,0,0,0,0,2,172,1,15,0,0,0,0,0,0,0,0,0,0,0,224,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,1,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,2,0,0,0,7,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,2,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,91,84,69,88,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,102,111,110,116,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,0,0,0,114,98,109,102,0,0,0,0,91,37,115,93,32,83,112,114,105,116,101,70,111,110,116,32,100,97,116,97,32,112,97,114,115,101,100,32,99,111,114,114,101,99,116,108,121,0,0,0,91,37,115,93,32,83,112,114,105,116,101,70,111,110,116,32,110,117,109,32,99,104,97,114,115,32,100,101,116,101,99,116,101,100,58,32,37,105,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,37,50,46,48,102,32,70,80,83,0,0,0,0,0,0,0,114,98,0,0,0,0,0,0,91,37,115,93,32,114,66,77,70,32,102,111,110,116,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,91,37,115,93,32,76,111,97,100,105,110,103,32,114,66,77,70,32,102,105,108,101,44,32,115,105,122,101,58,32,37,105,120,37,105,44,32,110,117,109,67,104,97,114,115,58,32,37,105,44,32,99,104,97,114,72,101,105,103,104,116,58,32,37,105,0,0,0,0,0,0,0,91,37,115,93,32,73,109,97,103,101,32,114,101,99,111,110,115,116,114,117,99,116,101,100,32,99,111,114,114,101,99,116,108,121,44,32,110,111,119,32,99,111,110,118,101,114,116,105,110,103,32,105,116,32,116,111,32,116,101,120,116,117,114,101,0,0,0,0,0,0,0,0,91,37,115,93,32,114,66,77,70,32,102,105,108,101,32,108,111,97,100,101,100,32,99,111,114,114,101,99,116,108,121,32,97,115,32,83,112,114,105,116,101,70,111,110,116,0,0,0,0,0,0,0,0,0,0,0,114,98,0,0,0,0,0,0,99,97,110,39,116,32,102,111,112,101,110,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,110,103,0,0,0,0,0,98,109,112,0,0,0,0,0,116,103,97,0,0,0,0,0,106,112,103,0,0,0,0,0,103,105,102,0,0,0,0,0,112,115,100,0,0,0,0,0,112,105,99,0,0,0,0,0,91,37,115,93,32,73,109,97,103,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,0,91,37,115,93,32,73,109,97,103,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,44,32,102,105,108,101,32,110,111,116,32,114,101,99,111,103,110,105,122,101,100,0,0,0,0,0,100,100,115,0,0,0,0,0,91,37,115,93,32,68,68,83,32,73,109,97,103,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,117,110,99,111,109,112,114,101,115,115,101,100,44,32,110,111,32,109,105,112,109,97,112,115,41,0,0,0,91,37,115,93,32,68,68,83,32,67,111,109,112,114,101,115,115,101,100,32,105,109,97,103,101,32,100,97,116,97,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,0,0,0,0,0,112,107,109,0,0,0,0,0,91,37,115,93,32,80,75,77,32,67,111,109,112,114,101,115,115,101,100,32,105,109,97,103,101,32,100,97,116,97,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,0,0,0,0,0,91,37,115,93,32,73,109,97,103,101,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,114,101,99,111,103,110,105,122,101,100,44,32,105,116,32,99,97,110,39,116,32,98,101,32,108,111,97,100,101,100,0,91,37,115,93,32,68,68,83,32,116,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,0,0,0,91,37,115,93,32,68,68,83,32,116,101,120,116,117,114,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,0,0,0,91,37,115,93,32,80,75,77,32,116,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,0,0,0,91,37,115,93,32,80,75,77,32,116,101,120,116,117,114,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,0,0,0,84,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,44,32,105,109,97,103,101,32,100,97,116,97,32,105,115,32,110,111,116,32,118,97,108,105,100,0,0,0,0,73,109,97,103,101,32,99,111,110,118,101,114,116,101,100,32,116,111,32,80,79,84,58,32,40,37,105,120,37,105,41,32,45,62,32,40,37,105,120,37,105,41,0,0,0,0,0,0,91,37,115,93,32,80,75,77,32,105,109,97,103,101,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,80,75,77,32,0,0,0,0,91,37,115,93,32,80,75,77,32,102,105,108,101,32,100,111,101,115,32,110,111,116,32,115,101,101,109,32,116,111,32,98,101,32,97,32,118,97,108,105,100,32,105,109,97,103,101,0,91,37,115,93,32,68,68,83,32,105,109,97,103,101,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,68,68,83,32,0,0,0,0,91,37,115,93,32,68,68,83,32,102,105,108,101,32,100,111,101,115,32,110,111,116,32,115,101,101,109,32,116,111,32,98,101,32,97,32,118,97,108,105,100,32,105,109,97,103,101,0,91,37,115,93,32,68,68,83,32,102,105,108,101,32,104,101,97,100,101,114,32,115,105,122,101,58,32,37,105,0,0,0,91,37,115,93,32,68,68,83,32,102,105,108,101,32,112,105,120,101,108,32,102,111,114,109,97,116,32,115,105,122,101,58,32,37,105,0,0,0,0,0,91,37,115,93,32,68,68,83,32,102,105,108,101,32,112,105,120,101,108,32,102,111,114,109,97,116,32,102,108,97,103,115,58,32,48,120,37,120,0,0,91,37,115,93,32,68,68,83,32,102,105,108,101,32,102,111,114,109,97,116,58,32,48,120,37,120,0,0,0,0,0,0,91,37,115,93,32,68,68,83,32,105,109,97,103,101,32,117,115,101,115,32,99,111,109,112,114,101,115,115,105,111,110,44,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,111,110,32,79,112,101,110,71,76,32,49,46,49,0,0,0,0,91,37,115,93,32,68,68,83,32,99,111,109,112,114,101,115,115,101,100,32,102,105,108,101,115,32,114,101,113,117,105,114,101,32,79,112,101,110,71,76,32,51,46,50,43,32,111,114,32,69,83,32,50,46,48,0,117,110,107,110,111,119,110,32,105,109,97,103,101,32,116,121,112,101,0,0,0,0,0,0,109,97,120,32,118,97,108,117,101,32,62,32,50,53,53,0,110,111,116,32,71,73,70,0,0,0,0,0,0,0,0,0,109,117,108,116,105,112,108,101,32,73,72,68,82,0,0,0,98,97,100,32,73,72,68,82,32,108,101,110,0,0,0,0,116,111,111,32,108,97,114,103,101,0,0,0,0,0,0,0,49,47,50,47,52,47,56,45,98,105,116,32,111,110,108,121,0,0,0,0,0,0,0,0,98,97,100,32,99,116,121,112,101,0,0,0,0,0,0,0,98,97,100,32,99,111,109,112,32,109,101,116,104,111,100,0,98,97,100,32,102,105,108,116,101,114,32,109,101,116,104,111,100,0,0,0,0,0,0,0,98,97,100,32,105,110,116,101,114,108,97,99,101,32,109,101,116,104,111,100,0,0,0,0,48,45,112,105,120,101,108,32,105,109,97,103,101,0,0,0,102,105,114,115,116,32,110,111,116,32,73,72,68,82,0,0,105,110,118,97,108,105,100,32,80,76,84,69,0,0,0,0,116,82,78,83,32,97,102,116,101,114,32,73,68,65,84,0,116,82,78,83,32,98,101,102,111,114,101,32,80,76,84,69,0,0,0,0,0,0,0,0,98,97,100,32,116,82,78,83,32,108,101,110,0,0,0,0,116,82,78,83,32,119,105,116,104,32,97,108,112,104,97,0,0,255,85,0,17,0,0,0,1,0,0,0,0,0,0,0,110,111,32,80,76,84,69,0,111,117,116,111,102,109,101,109,0,0,0,0,0,0,0,0,111,117,116,111,102,100,97,116,97,0,0,0,0,0,0,0,110,111,32,73,68,65,84,0,88,88,88,88,32,80,78,71,32,99,104,117,110,107,32,110,111,116,32,107,110,111,119,110,0,0,0,0,0,0,0,0,115,45,62,105,109,103,95,111,117,116,95,110,32,61,61,32,52,0,0,0,0,0,0,0,46,47,115,116,98,95,105,109,97,103,101,46,104,0,0,0,115,116,98,105,95,95,100,101,95,105,112,104,111,110,101,0,111,117,116,95,110,32,61,61,32,50,32,124,124,32,111,117,116,95,110,32,61,61,32,52,0,0,0,0,0,0,0,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,32,124,124,32,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,43,49,0,0,0,0,0,0,0,0,115,116,98,105,95,95,99,114,101,97,116,101,95,112,110,103,95,105,109,97,103,101,95,114,97,119,0,0,0,0,0,0,110,111,116,32,101,110,111,117,103,104,32,112,105,120,101,108,115,0,0,0,0,0,0,0,105,110,118,97,108,105,100,32,102,105,108,116,101,114,0,0,105,109,103,95,119,105,100,116,104,95,98,121,116,101,115,32,60,61,32,120,0,0,0,0,0,1,0,5,6,0,0,0,105,109,103,95,110,43,49,32,61,61,32,111,117,116,95,110,0,0,0,0,0,0,0,0,105,109,103,95,110,32,61,61,32,51,0,0,0,0,0,0,137,80,78,71,13,10,26,10,98,97,100,32,112,110,103,32,115,105,103,0,0,0,0,0,110,111,32,83,79,73,0,0,110,111,32,83,79,70,0,0,98,97,100,32,83,79,70,32,108,101,110,0,0,0,0,0,111,110,108,121,32,56,45,98,105,116,0,0,0,0,0,0,110,111,32,104,101,97,100,101,114,32,104,101,105,103,104,116,0,0,0,0,0,0,0,0,48,32,119,105,100,116,104,0,98,97,100,32,99,111,109,112,111,110,101,110,116,32,99,111,117,110,116,0,0,0,0,0,98,97,100,32,99,111,109,112,111,110,101,110,116,32,73,68,0,0,0,0,0,0,0,0,98,97,100,32,72,0,0,0,98,97,100,32,86,0,0,0,98,97,100,32,84,81,0,0,101,120,112,101,99,116,101,100,32,109,97,114,107,101,114,0,98,97,100,32,68,82,73,32,108,101,110,0,0,0,0,0,98,97,100,32,68,81,84,32,116,121,112,101,0,0,0,0,98,97,100,32,68,81,84,32,116,97,98,108,101,0,0,0,0,1,8,16,9,2,3,10,17,24,32,25,18,11,4,5,12,19,26,33,40,48,41,34,27,20,13,6,7,14,21,28,35,42,49,56,57,50,43,36,29,22,15,23,30,37,44,51,58,59,52,45,38,31,39,46,53,60,61,54,47,55,62,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,0,98,97,100,32,68,72,84,32,104,101,97,100,101,114,0,0,98,97,100,32,99,111,100,101,32,108,101,110,103,116,104,115,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,97,100,32,104,117,102,102,109,97,110,32,99,111,100,101,0,0,0,0,0,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,13,0,0,0,15,0,0,0,17,0,0,0,19,0,0,0,23,0,0,0,27,0,0,0,31,0,0,0,35,0,0,0,43,0,0,0,51,0,0,0,59,0,0,0,67,0,0,0,83,0,0,0,99,0,0,0,115,0,0,0,131,0,0,0,163,0,0,0,195,0,0,0,227,0,0,0,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,7,0,0,0,9,0,0,0,13,0,0,0,17,0,0,0,25,0,0,0,33,0,0,0,49,0,0,0,65,0,0,0,97,0,0,0,129,0,0,0,193,0,0,0,1,1,0,0,129,1,0,0,1,2,0,0,1,3,0,0,1,4,0,0,1,6,0,0,1,8,0,0,1,12,0,0,1,16,0,0,1,24,0,0,1,32,0,0,1,48,0,0,1,64,0,0,1,96,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,9,0,0,0,9,0,0,0,10,0,0,0,10,0,0,0,11,0,0,0,11,0,0,0,12,0,0,0,12,0,0,0,13,0,0,0,13,0,0,0,0,0,0,0,0,0,0,0,98,97,100,32,100,105,115,116,0,0,0,0,0,0,0,0,111,117,116,112,117,116,32,98,117,102,102,101,114,32,108,105,109,105,116,0,0,0,0,0,122,45,62,115,105,122,101,91,98,93,32,61,61,32,115,0,115,116,98,105,95,95,122,104,117,102,102,109,97,110,95,100,101,99,111,100,101,95,115,108,111,119,112,97,116,104,0,0,98,105,116,115,32,60,61,32,49,54,0,0,0,0,0,0,115,116,98,105,95,95,98,105,116,95,114,101,118,101,114,115,101,0,0,0,0,0,0,0,122,45,62,99,111,100,101,95,98,117,102,102,101,114,32,60,32,40,49,85,32,60,60,32,122,45,62,110,117,109,95,98,105,116,115,41,0,0,0,0,115,116,98,105,95,95,102,105,108,108,95,98,105,116,115,0,16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15,0,0,0,0,0,99,32,62,61,32,48,32,38,38,32,99,32,60,32,49,57,0,0,0,0,0,0,0,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,104,117,102,102,109,97,110,95,99,111,100,101,115,0,0,0,0,0,99,32,61,61,32,49,56,0,98,97,100,32,99,111,100,101,108,101,110,103,116,104,115,0,115,105,122,101,115,91,105,93,32,60,61,32,40,49,32,60,60,32,105,41,0,0,0,0,115,116,98,105,95,95,122,98,117,105,108,100,95,104,117,102,102,109,97,110,0,0,0,0,97,45,62,110,117,109,95,98,105,116,115,32,61,61,32,48,0,0,0,0,0,0,0,0,115,116,98,105,95,95,112,97,114,115,101,95,117,110,99,111,109,112,101,114,115,115,101,100,95,98,108,111,99,107,0,0,122,108,105,98,32,99,111,114,114,117,112,116,0,0,0,0,114,101,97,100,32,112,97,115,116,32,98,117,102,102,101,114,0,0,0,0,0,0,0,0,98,97,100,32,122,108,105,98,32,104,101,97,100,101,114,0,110,111,32,112,114,101,115,101,116,32,100,105,99,116,0,0,98,97,100,32,99,111,109,112,114,101,115,115,105,111,110,0,98,97,100,32,112,97,108,101,116,116,101,0,0,0,0,0,114,101,113,95,99,111,109,112,32,62,61,32,49,32,38,38,32,114,101,113,95,99,111,109,112,32,60,61,32,52,0,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,0,0,0,0,48,0,0,0,0,0,0,0,98,97,100,32,102,105,108,101,0,0,0,0,0,0,0,0,98,97,100,32,102,111,114,109,97,116,0,0,0,0,0,0,83,128,246,52,0,0,0,0,80,73,67,84,0,0,0,0,110,111,116,32,80,83,68,0,119,114,111,110,103,32,118,101,114,115,105,111,110,0,0,0,119,114,111,110,103,32,99,104,97,110,110,101,108,32,99,111,117,110,116,0,0,0,0,0,117,110,115,117,112,112,111,114,116,101,100,32,98,105,116,32,100,101,112,116,104,0,0,0,119,114,111,110,103,32,99,111,108,111,114,32,102,111,114,109,97,116,0,0,0,0,0,0,98,97,100,32,73,109,97,103,101,32,68,101,115,99,114,105,112,116,111,114,0,0,0,0,109,105,115,115,105,110,103,32,99,111,108,111,114,32,116,97,98,108,101,0,0,0,0,0,117,110,107,110,111,119,110,32,99,111,100,101,0,0,0,0,110,111,32,99,108,101,97,114,32,99,111,100,101,0,0,0,116,111,111,32,109,97,110,121,32,99,111,100,101,115,0,0,105,108,108,101,103,97,108,32,99,111,100,101,32,105,110,32,114,97,115,116,101,114,0,0,110,111,116,32,66,77,80,0,117,110,107,110,111,119,110,32,66,77,80,0,0,0,0,0,98,97,100,32,66,77,80,0,109,111,110,111,99,104,114,111,109,101,0,0,0,0,0,0,66,77,80,32,82,76,69,0,104,115,122,32,61,61,32,49,48,56,32,124,124,32,104,115,122,32,61,61,32,49,50,52,0,0,0,0,0,0,0,0,115,116,98,105,95,95,98,109,112,95,108,111,97,100,0,0,105,110,118,97,108,105,100,0,98,97,100,32,98,112,112,0,98,97,100,32,109,97,115,107,115,0,0,0,0,0,0,0,98,97,100,32,114,101,113,95,99,111,109,112,0,0,0,0,106,117,110,107,32,98,101,102,111,114,101,32,109,97,114,107,101,114,0,0,0,0,0,0,99,97,110,39,116,32,109,101,114,103,101,32,100,99,32,97,110,100,32,97,99,0,0,0,0,0,0,0,1,0,0,0,3,0,0,0,7,0,0,0,15,0,0,0,31,0,0,0,63,0,0,0,127,0,0,0,255,0,0,0,255,1,0,0,255,3,0,0,255,7,0,0,255,15,0,0,255,31,0,0,255,63,0,0,255,127,0,0,255,255,0,0,0,0,0,0,0,0,0,0,255,255,255,255,253,255,255,255,249,255,255,255,241,255,255,255,225,255,255,255,193,255,255,255,129,255,255,255,1,255,255,255,1,254,255,255,1,252,255,255,1,248,255,255,1,240,255,255,1,224,255,255,1,192,255,255,1,128,255,255,40,40,40,106,45,62,99,111,100,101,95,98,117,102,102,101,114,41,32,62,62,32,40,51,50,32,45,32,104,45,62,115,105,122,101,91,99,93,41,41,32,38,32,115,116,98,105,95,95,98,109,97,115,107,91,104,45,62,115,105,122,101,91,99,93,93,41,32,61,61,32,104,45,62,99,111,100,101,91,99,93,0,0,0,0,0,0,0,115,116,98,105,95,95,106,112,101,103,95,104,117,102,102,95,100,101,99,111,100,101,0,0,98,97,100,32,83,79,83,32,99,111,109,112,111,110,101,110,116,32,99,111,117,110,116,0,98,97,100,32,83,79,83,32,108,101,110,0,0,0,0,0,98,97,100,32,68,67,32,104,117,102,102,0,0,0,0,0,98,97,100,32,65,67,32,104,117,102,102,0,0,0,0,0,98,97,100,32,83,79,83,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,111,98,106,0,0,0,0,0,91,37,115,93,32,77,111,100,101,108,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,114,101,99,111,103,110,105,122,101,100,44,32,105,116,32,99,97,110,39,116,32,98,101,32,108,111,97,100,101,100,0,114,116,0,0,0,0,0,0,91,37,115,93,32,79,66,74,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,0,0,0,0,0,0,37,99,0,0,0,0,0,0,91,37,115,93,32,77,111,100,101,108,32,110,117,109,32,118,101,114,116,105,99,101,115,58,32,37,105,0,0,0,0,0,91,37,115,93,32,77,111,100,101,108,32,110,117,109,32,116,101,120,99,111,111,114,100,115,58,32,37,105,0,0,0,0,91,37,115,93,32,77,111,100,101,108,32,110,117,109,32,110,111,114,109,97,108,115,58,32,37,105,0,0,0,0,0,0,91,37,115,93,32,77,111,100,101,108,32,110,117,109,32,116,114,105,97,110,103,108,101,115,58,32,37,105,0,0,0,0,37,102,32,37,102,32,37,102,0,0,0,0,0,0,0,0,91,37,115,93,32,78,111,32,110,111,114,109,97,108,115,32,100,97,116,97,32,111,110,32,79,66,74,44,32,110,111,114,109,97,108,115,32,119,105,108,108,32,98,101,32,103,101,110,101,114,97,116,101,100,32,102,114,111,109,32,102,97,99,101,115,32,100,97,116,97,0,0,37,105,32,37,105,32,37,105,0,0,0,0,0,0,0,0,37,105,47,37,105,32,37,105,47,37,105,32,37,105,47,37,105,0,0,0,0,0,0,0,37,105,47,37,105,47,37,105,32,37,105,47,37,105,47,37,105,32,37,105,47,37,105,47,37,105,0,0,0,0,0,0,91,37,115,93,32,77,111,100,101,108,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,105,110,32,82,65,77,32,40,67,80,85,41,0,0,0,0,0,0,0,0,0,0,0,0,0,65,117,100,105,111,32,100,101,118,105,99,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,0,0,0,0,0,0,0,67,111,117,108,100,32,110,111,116,32,115,101,116,117,112,32,97,117,100,105,111,32,99,111,110,116,101,120,116,0,0,0,65,117,100,105,111,32,100,101,118,105,99,101,32,97,110,100,32,99,111,110,116,101,120,116,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,58,32,37,115,0,0,0,67,111,117,108,100,32,110,111,116,32,103,101,116,32,99,117,114,114,101,110,116,32,97,117,100,105,111,32,99,111,110,116,101,120,116,32,102,111,114,32,99,108,111,115,105,110,103,0,119,97,118,0,0,0,0,0,111,103,103,0,0,0,0,0,91,37,115,93,32,83,111,117,110,100,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,114,101,99,111,103,110,105,122,101,100,44,32,105,116,32,99,97,110,39,116,32,98,101,32,108,111,97,100,101,100,0,91,37,115,93,32,83,111,117,110,100,32,102,105,108,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,83,97,109,112,108,101,82,97,116,101,58,32,37,105,44,32,66,105,116,82,97,116,101,58,32,37,105,44,32,67,104,97,110,110,101,108,115,58,32,37,105,41,0,114,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,91,37,115,93,32,79,71,71,32,97,117,100,105,111,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,91,37,115,93,32,79,103,103,32,115,97,109,112,108,101,32,114,97,116,101,58,32,37,105,0,0,0,0,0,0,0,0,91,37,115,93,32,79,103,103,32,99,104,97,110,110,101,108,115,58,32,37,105,0,0,0,91,37,115,93,32,84,101,109,112,32,109,101,109,111,114,121,32,114,101,113,117,105,114,101,100,58,32,37,105,0,0,0,91,37,115,93,32,77,117,115,105,99,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,114,101,99,111,103,110,105,122,101,100,44,32,105,116,32,99,97,110,39,116,32,98,101,32,108,111,97,100,101,100,0,79,103,103,32,112,108,97,121,105,110,103,44,32,101,114,114,111,114,32,98,117,102,102,101,114,105,110,103,32,100,97,116,97,46,46,46,0,0,0,0,91,37,115,93,32,83,97,109,112,108,101,115,32,108,101,110,103,116,104,58,32,37,105,0,91,37,115,93,32,84,111,116], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+6776); -/* memory initializer */ allocate([97,108,32,115,101,99,111,110,100,115,58,32,37,102,0,0,91,37,115,93,32,79,103,103,32,97,117,100,105,111,32,108,101,110,103,104,116,32,105,115,32,108,97,114,103,101,114,32,116,104,97,110,32,49,48,32,115,101,99,111,110,100,115,32,40,37,102,41,44,32,116,104,97,116,39,115,32,97,32,98,105,103,32,102,105,108,101,32,105,110,32,109,101,109,111,114,121,44,32,99,111,110,115,105,100,101,114,32,109,117,115,105,99,32,115,116,114,101,97,109,105,110,103,0,0,0,0,0,91,37,115,93,32,84,111,116,97,108,32,115,97,109,112,108,101,115,32,99,97,108,99,117,108,97,116,101,100,58,32,37,105,0,0,0,0,0,0,0,91,37,115,93,32,83,97,109,112,108,101,115,32,111,98,116,97,105,110,101,100,58,32,37,105,0,0,0,0,0,0,0,91,37,115,93,32,79,71,71,32,102,105,108,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,83,97,109,112,108,101,82,97,116,101,58,32,37,105,44,32,66,105,116,82,97,116,101,58,32,37,105,44,32,67,104,97,110,110,101,108,115,58,32,37,105,41,0,0,0,91,37,115,93,32,87,65,86,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,0,0,0,0,0,0,82,73,70,70,0,0,0,0,87,65,86,69,0,0,0,0,91,37,115,93,32,73,110,118,97,108,105,100,32,82,73,70,70,32,111,114,32,87,65,86,69,32,72,101,97,100,101,114,0,0,0,0,0,0,0,0,91,37,115,93,32,73,110,118,97,108,105,100,32,87,97,118,101,32,102,111,114,109,97,116,0,0,0,0,0,0,0,0,91,37,115,93,32,73,110,118,97,108,105,100,32,100,97,116,97,32,104,101,97,100,101,114,0,0,0,0,0,0,0,0,91,37,115,93,32,87,65,86,32,102,105,108,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,83,97,109,112,108,101,82,97,116,101,58,32,37,105,44,32,66,105,116,82,97,116,101,58,32,37,105,44,32,67,104,97,110,110,101,108,115,58,32,37,105,41,0,0,0,78,111,32,109,111,114,101,32,100,97,116,97,32,111,98,116,97,105,110,101,100,32,102,114,111,109,32,115,116,114,101,97,109,0,0,0,0,0,0,0,73,78,70,79,58,32,0,0,69,82,82,79,82,58,32,0,87,65,82,78,73,78,71,58,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,114,98,0,0,0,0,0,0,98,117,102,95,99,32,61,61,32,50,0,0,0,0,0,0,115,116,98,95,118,111,114,98,105,115,46,99,0,0,0,0,99,111,110,118,101,114,116,95,99,104,97,110,110,101,108,115,95,115,104,111,114,116,95,105,110,116,101,114,108,101,97,118,101,100,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,3,5,0,0,0,0,3,7,5,0,0,0,3,5,3,5,0,0,3,7,5,3,5,0,3,7,5,3,5,7,0,0,0,0,0,0,79,103,103,83], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+17016); -/* memory initializer */ allocate([1,2,2,3,3,3,3,4,4,4,4,4,4,4,4,102,45,62,98,121,116,101,115,95,105,110,95,115,101,103,32,62,32,48,0,0,0,0,0,103,101,116,56,95,112,97,99,107,101,116,95,114,97,119,0,102,45,62,98,121,116,101,115,95,105,110,95,115,101,103,32,61,61,32,48,0,0,0,0,110,101,120,116,95,115,101,103,109,101,110,116,0,0,0,0,102,45,62,97,108,108,111,99,46,97,108,108,111,99,95,98,117,102,102,101,114,95,108,101,110,103,116,104,95,105,110,95,98,121,116,101,115,32,61,61,32,102,45,62,116,101,109,112,95,111,102,102,115,101,116,0,118,111,114,98,105,115,95,100,101,99,111,100,101,95,105,110,105,116,105,97,108,0,0,0,102,45,62,116,101,109,112,95,111,102,102,115,101,116,32,61,61,32,102,45,62,97,108,108,111,99,46,97,108,108,111,99,95,98,117,102,102,101,114,95,108,101,110,103,116,104,95,105,110,95,98,121,116,101,115,0,115,116,97,114,116,95,100,101,99,111,100,101,114,0,0,0,112,111,119,40,40,102,108,111,97,116,41,32,114,43,49,44,32,100,105,109,41,32,62,32,101,110,116,114,105,101,115,0,108,111,111,107,117,112,49,95,118,97,108,117,101,115,0,0,40,105,110,116,41,32,102,108,111,111,114,40,112,111,119,40,40,102,108,111,97,116,41,32,114,44,32,100,105,109,41,41,32,60,61,32,101,110,116,114,105,101,115,0,0,0,0,0,107,32,61,61,32,99,45,62,115,111,114,116,101,100,95,101,110,116,114,105,101,115,0,0,99,111,109,112,117,116,101,95,115,111,114,116,101,100,95,104,117,102,102,109,97,110,0,0,99,45,62,115,111,114,116,101,100,95,99,111,100,101,119,111,114,100,115,91,120,93,32,61,61,32,99,111,100,101,0,0,108,101,110,32,33,61,32,78,79,95,67,79,68,69,0,0,105,110,99,108,117,100,101,95,105,110,95,115,111,114,116,0,99,45,62,115,111,114,116,101,100,95,101,110,116,114,105,101,115,32,61,61,32,48,0,0,99,111,109,112,117,116,101,95,99,111,100,101,119,111,114,100,115,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,97,118,97,105,108,97,98,108,101,91,121,93,32,61,61,32,48,0,0,0,0,0,0,0,118,111,114,98,105,115,0,0,103,101,116,95,119,105,110,100,111,119,0,0,0,0,0,0,0,1,0,0,128,0,0,0,86,0,0,0,64,0,0,0,118,111,114,98,105,115,95,100,101,99,111,100,101,95,112,97,99,107,101,116,95,114,101,115,116,0,0,0,0,0,0,0,40,110,32,38,32,51,41,32,61,61,32,48,0,0,0,0,105,109,100,99,116,95,115,116,101,112,51,95,105,116,101,114,48,95,108,111,111,112,0,0,62,180,228,51,9,145,243,51,139,178,1,52,60,32,10,52,35,26,19,52,96,169,28,52,167,215,38,52,75,175,49,52,80,59,61,52,112,135,73,52,35,160,86,52,184,146,100,52,85,109,115,52,136,159,129,52,252,11,138,52,147,4,147,52,105,146,156,52,50,191,166,52,63,149,177,52,147,31,189,52,228,105,201,52,173,128,214,52,54,113,228,52,166,73,243,52,136,140,1,53,192,247,9,53,6,239,18,53,118,123,28,53,192,166,38,53,55,123,49,53,218,3,61,53,94,76,73,53,59,97,86,53,185,79,100,53,252,37,115,53,138,121,129,53,134,227,137,53,124,217,146,53,133,100,156,53,82,142,166,53,51,97,177,53,37,232,188,53,220,46,201,53,206,65,214,53,65,46,228,53,87,2,243,53,143,102,1,54,79,207,9,54,245,195,18,54,152,77,28,54,232,117,38,54,50,71,49,54,116,204,60,54,94,17,73,54,101,34,86,54,206,12,100,54,184,222,114,54,151,83,129,54,28,187,137,54,114,174,146,54,175,54,156,54,129,93,166,54,53,45,177,54,199,176,188,54,228,243,200,54,1,3,214,54,96,235,227,54,30,187,242,54,162,64,1,55,235,166,9,55,241,152,18,55,201,31,28,55,30,69,38,55,61,19,49,55,30,149,60,55,111,214,72,55,162,227,85,55,247,201,99,55,137,151,114,55,175,45,129,55,190,146,137,55,116,131,146,55,230,8,156,55,190,44,166,55,71,249,176,55,121,121,188,55,254,184,200,55,71,196,213,55,146,168,227,55,248,115,242,55,192,26,1,56,147,126,9,56,249,109,18,56,6,242,27,56,98,20,38,56,86,223,48,56,216,93,60,56,146,155,72,56,242,164,85,56,51,135,99,56,110,80,114,56,211,7,129,56,107,106,137,56,130,88,146,56,42,219,155,56,9,252,165,56,104,197,176,56,59,66,188,56,41,126,200,56,160,133,213,56,217,101,227,56,232,44,242,56,233,244,0,57,70,86,9,57,14,67,18,57,81,196,27,57,181,227,37,57,127,171,48,57,162,38,60,57,197,96,72,57,83,102,85,57,131,68,99,57,104,9,114,57,1,226,128,57,36,66,137,57,157,45,146,57,123,173,155,57,99,203,165,57,153,145,176,57,13,11,188,57,102,67,200,57,11,71,213,57,50,35,227,57,237,229,241,57,29,207,0,58,5,46,9,58,48,24,18,58,169,150,27,58,21,179,37,58,183,119,48,58,124,239,59,58,10,38,72,58,199,39,85,58,230,1,99,58,120,194,113,58,59,188,128,58,233,25,137,58,198,2,146,58,219,127,155,58,203,154,165,58,216,93,176,58,239,211,187,58,179,8,200,58,136,8,213,58,159,224,226,58,7,159,241,58,92,169,0,59,208,5,9,59,94,237,17,59,15,105,27,59,132,130,37,59,253,67,48,59,103,184,59,59,97,235,71,59,77,233,84,59,93,191,98,59,156,123,113,59,127,150,128,59,186,241,136,59,249,215,145,59,71,82,155,59,65,106,165,59,39,42,176,59,226,156,187,59,18,206,199,59,23,202,212,59,32,158,226,59,53,88,241,59,166,131,0,60,167,221,8,60,152,194,17,60,130,59,27,60,1,82,37,60,84,16,48,60,97,129,59,60,200,176,71,60,229,170,84,60,232,124,98,60,212,52,113,60,207,112,128,60,150,201,136,60,58,173,145,60,192,36,155,60,197,57,165,60,133,246,175,60,229,101,187,60,130,147,199,60,185,139,212,60,180,91,226,60,121,17,241,60,251,93,0,61,137,181,8,61,223,151,17,61,2,14,27,61,141,33,37,61,185,220,47,61,109,74,59,61,64,118,71,61,145,108,84,61,133,58,98,61,34,238,112,61,42,75,128,61,127,161,136,61,136,130,145,61,72,247,154,61,88,9,165,61,242,194,175,61,248,46,187,61,3,89,199,61,109,77,212,61,92,25,226,61,209,202,240,61,91,56,0,62,119,141,8,62,51,109,17,62,144,224,26,62,39,241,36,62,46,169,47,62,135,19,59,62,202,59,71,62,77,46,84,62,55,248,97,62,132,167,112,62,143,37,128,62,115,121,136,62,226,87,145,62,220,201,154,62,249,216,164,62,109,143,175,62,27,248,186,62,149,30,199,62,51,15,212,62,23,215,225,62,61,132,240,62,198,18,0,63,114,101,8,63,147,66,17,63,43,179,26,63,206,192,36,63,177,117,47,63,178,220,58,63,101,1,71,63,29,240,83,63,251,181,97,63,251,96,112,63,0,0,128,63,122,32,60,32,99,45,62,115,111,114,116,101,100,95,101,110,116,114,105,101,115,0,0,0,99,111,100,101,98,111,111,107,95,100,101,99,111,100,101,95,115,116,97,114,116,0,0,0,33,99,45,62,115,112,97,114,115,101,32,124,124,32,122,32,60,32,99,45,62,115,111,114,116,101,100,95,101,110,116,114,105,101,115,0,0,0,0,0,99,111,100,101,98,111,111,107,95,100,101,99,111,100,101,95,100,101,105,110,116,101,114,108,101,97,118,101,95,114,101,112,101,97,116,0,0,0,0,0,99,45,62,115,111,114,116,101,100,95,99,111,100,101,119,111,114,100,115,32,124,124,32,99,45,62,99,111,100,101,119,111,114,100,115,0,0,0,0,0,99,111,100,101,98,111,111,107,95,100,101,99,111,100,101,95,115,99,97,108,97,114,95,114,97,119,0,0,0,0,0,0,33,99,45,62,115,112,97,114,115,101,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,45,43,32,32,32,48,88,48,120,0,0,0,0,0,0,0,40,110,117,108,108,41,0,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,0,0,0,0,0,105,110,102,0,0,0,0,0,73,78,70,0,0,0,0,0,110,97,110,0,0,0,0,0,78,65,78,0,0,0,0,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,46,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+18777); - - - - -var tempDoublePtr = Runtime.alignMemory(allocate(12, "i8", ALLOC_STATIC), 8); - -assert(tempDoublePtr % 8 == 0); - -function copyTempFloat(ptr) { // functions, because inlining this code increases code size too much - - HEAP8[tempDoublePtr] = HEAP8[ptr]; - - HEAP8[tempDoublePtr+1] = HEAP8[ptr+1]; - - HEAP8[tempDoublePtr+2] = HEAP8[ptr+2]; - - HEAP8[tempDoublePtr+3] = HEAP8[ptr+3]; - -} - -function copyTempDouble(ptr) { - - HEAP8[tempDoublePtr] = HEAP8[ptr]; - - HEAP8[tempDoublePtr+1] = HEAP8[ptr+1]; - - HEAP8[tempDoublePtr+2] = HEAP8[ptr+2]; - - HEAP8[tempDoublePtr+3] = HEAP8[ptr+3]; - - HEAP8[tempDoublePtr+4] = HEAP8[ptr+4]; - - HEAP8[tempDoublePtr+5] = HEAP8[ptr+5]; - - HEAP8[tempDoublePtr+6] = HEAP8[ptr+6]; - - HEAP8[tempDoublePtr+7] = HEAP8[ptr+7]; - -} - - - - var GL={counter:1,lastError:0,buffers:[],programs:[],framebuffers:[],renderbuffers:[],textures:[],uniforms:[],shaders:[],vaos:[],contexts:[],byteSizeByTypeRoot:5120,byteSizeByType:[1,1,2,2,4,4,4,2,3,4,8],programInfos:{},stringCache:{},packAlignment:4,unpackAlignment:4,init:function () { - GL.miniTempBuffer = new Float32Array(GL.MINI_TEMP_BUFFER_SIZE); - for (var i = 0; i < GL.MINI_TEMP_BUFFER_SIZE; i++) { - GL.miniTempBufferViews[i] = GL.miniTempBuffer.subarray(0, i+1); - } - },recordError:function recordError(errorCode) { - if (!GL.lastError) { - GL.lastError = errorCode; - } - },getNewId:function (table) { - var ret = GL.counter++; - for (var i = table.length; i < ret; i++) { - table[i] = null; - } - return ret; - },MINI_TEMP_BUFFER_SIZE:16,miniTempBuffer:null,miniTempBufferViews:[0],getSource:function (shader, count, string, length) { - var source = ''; - for (var i = 0; i < count; ++i) { - var frag; - if (length) { - var len = HEAP32[(((length)+(i*4))>>2)]; - if (len < 0) { - frag = Pointer_stringify(HEAP32[(((string)+(i*4))>>2)]); - } else { - frag = Pointer_stringify(HEAP32[(((string)+(i*4))>>2)], len); - } - } else { - frag = Pointer_stringify(HEAP32[(((string)+(i*4))>>2)]); - } - source += frag; - } - return source; - },computeImageSize:function (width, height, sizePerPixel, alignment) { - // FIXME: possible bug with negative x - function roundedToNextMultipleOf(x, y) { - return Math.floor((x + y - 1) / y) * y - } - var plainRowSize = width * sizePerPixel; - var alignedRowSize = roundedToNextMultipleOf(plainRowSize, alignment); - return (height <= 0) ? 0 : - ((height - 1) * alignedRowSize + plainRowSize); - },get:function (name_, p, type) { - // Guard against user passing a null pointer. - // Note that GLES2 spec does not say anything about how passing a null pointer should be treated. - // Testing on desktop core GL 3, the application crashes on glGetIntegerv to a null pointer, but - // better to report an error instead of doing anything random. - if (!p) { - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - var ret = undefined; - switch(name_) { // Handle a few trivial GLES values - case 0x8DFA: // GL_SHADER_COMPILER - ret = 1; - break; - case 0x8DF8: // GL_SHADER_BINARY_FORMATS - if (type !== 'Integer') { - GL.recordError(0x0500); // GL_INVALID_ENUM - } - return; // Do not write anything to the out pointer, since no binary formats are supported. - case 0x8DF9: // GL_NUM_SHADER_BINARY_FORMATS - ret = 0; - break; - case 0x86A2: // GL_NUM_COMPRESSED_TEXTURE_FORMATS - // WebGL doesn't have GL_NUM_COMPRESSED_TEXTURE_FORMATS (it's obsolete since GL_COMPRESSED_TEXTURE_FORMATS returns a JS array that can be queried for length), - // so implement it ourselves to allow C++ GLES2 code get the length. - var formats = GLctx.getParameter(0x86A3 /*GL_COMPRESSED_TEXTURE_FORMATS*/); - ret = formats.length; - break; - case 0x8B9A: // GL_IMPLEMENTATION_COLOR_READ_TYPE - ret = 0x1401; // GL_UNSIGNED_BYTE - break; - case 0x8B9B: // GL_IMPLEMENTATION_COLOR_READ_FORMAT - ret = 0x1908; // GL_RGBA - break; - } - - if (ret === undefined) { - var result = GLctx.getParameter(name_); - switch (typeof(result)) { - case "number": - ret = result; - break; - case "boolean": - ret = result ? 1 : 0; - break; - case "string": - GL.recordError(0x0500); // GL_INVALID_ENUM - return; - case "object": - if (result === null) { - // null is a valid result for some (e.g., which buffer is bound - perhaps nothing is bound), but otherwise - // can mean an invalid name_, which we need to report as an error - switch(name_) { - case 0x8894: // ARRAY_BUFFER_BINDING - case 0x8B8D: // CURRENT_PROGRAM - case 0x8895: // ELEMENT_ARRAY_BUFFER_BINDING - case 0x8CA6: // FRAMEBUFFER_BINDING - case 0x8CA7: // RENDERBUFFER_BINDING - case 0x8069: // TEXTURE_BINDING_2D - case 0x8514: { // TEXTURE_BINDING_CUBE_MAP - ret = 0; - break; - } - default: { - GL.recordError(0x0500); // GL_INVALID_ENUM - return; - } - } - } else if (result instanceof Float32Array || - result instanceof Uint32Array || - result instanceof Int32Array || - result instanceof Array) { - for (var i = 0; i < result.length; ++i) { - switch (type) { - case 'Integer': HEAP32[(((p)+(i*4))>>2)]=result[i]; break; - case 'Float': HEAPF32[(((p)+(i*4))>>2)]=result[i]; break; - case 'Boolean': HEAP8[(((p)+(i))>>0)]=result[i] ? 1 : 0; break; - default: throw 'internal glGet error, bad type: ' + type; - } - } - return; - } else if (result instanceof WebGLBuffer || - result instanceof WebGLProgram || - result instanceof WebGLFramebuffer || - result instanceof WebGLRenderbuffer || - result instanceof WebGLTexture) { - ret = result.name | 0; - } else { - GL.recordError(0x0500); // GL_INVALID_ENUM - return; - } - break; - default: - GL.recordError(0x0500); // GL_INVALID_ENUM - return; - } - } - - switch (type) { - case 'Integer': HEAP32[((p)>>2)]=ret; break; - case 'Float': HEAPF32[((p)>>2)]=ret; break; - case 'Boolean': HEAP8[((p)>>0)]=ret ? 1 : 0; break; - default: throw 'internal glGet error, bad type: ' + type; - } - },getTexPixelData:function (type, format, width, height, pixels, internalFormat) { - var sizePerPixel; - switch (type) { - case 0x1401 /* GL_UNSIGNED_BYTE */: - switch (format) { - case 0x1906 /* GL_ALPHA */: - case 0x1909 /* GL_LUMINANCE */: - sizePerPixel = 1; - break; - case 0x1907 /* GL_RGB */: - sizePerPixel = 3; - break; - case 0x1908 /* GL_RGBA */: - sizePerPixel = 4; - break; - case 0x190A /* GL_LUMINANCE_ALPHA */: - sizePerPixel = 2; - break; - default: - GL.recordError(0x0500); // GL_INVALID_ENUM - return { - pixels: null, - internalFormat: 0x0 - }; - } - break; - case 0x1403 /* GL_UNSIGNED_SHORT */: - if (format == 0x1902 /* GL_DEPTH_COMPONENT */) { - sizePerPixel = 2; - } else { - GL.recordError(0x0500); // GL_INVALID_ENUM - return { - pixels: null, - internalFormat: 0x0 - }; - } - break; - case 0x1405 /* GL_UNSIGNED_INT */: - if (format == 0x1902 /* GL_DEPTH_COMPONENT */) { - sizePerPixel = 4; - } else { - GL.recordError(0x0500); // GL_INVALID_ENUM - return { - pixels: null, - internalFormat: 0x0 - }; - } - break; - case 0x84FA /* UNSIGNED_INT_24_8_WEBGL */: - sizePerPixel = 4; - break; - case 0x8363 /* GL_UNSIGNED_SHORT_5_6_5 */: - case 0x8033 /* GL_UNSIGNED_SHORT_4_4_4_4 */: - case 0x8034 /* GL_UNSIGNED_SHORT_5_5_5_1 */: - sizePerPixel = 2; - break; - case 0x1406 /* GL_FLOAT */: - switch (format) { - case 0x1907 /* GL_RGB */: - sizePerPixel = 3*4; - break; - case 0x1908 /* GL_RGBA */: - sizePerPixel = 4*4; - break; - default: - GL.recordError(0x0500); // GL_INVALID_ENUM - return { - pixels: null, - internalFormat: 0x0 - }; - } - internalFormat = GLctx.RGBA; - break; - case 0x8D61 /* GL_HALF_FLOAT_OES */: - switch (format) { - case 0x1903 /* GL_RED */: - sizePerPixel = 2; - break; - case 0x8277 /* GL_RG */: - sizePerPixel = 2*2; - break; - case 0x1907 /* GL_RGB */: - sizePerPixel = 3*2; - break; - case 0x1908 /* GL_RGBA */: - sizePerPixel = 4*2; - break; - default: - GL.recordError(0x0500); // GL_INVALID_ENUM - return { - pixels: null, - internalFormat: 0x0 - }; - } - break; - default: - GL.recordError(0x0500); // GL_INVALID_ENUM - return { - pixels: null, - internalFormat: 0x0 - }; - } - var bytes = GL.computeImageSize(width, height, sizePerPixel, GL.unpackAlignment); - if (type == 0x1401 /* GL_UNSIGNED_BYTE */) { - pixels = HEAPU8.subarray((pixels),(pixels+bytes)); - } else if (type == 0x1406 /* GL_FLOAT */) { - pixels = HEAPF32.subarray((pixels)>>2,(pixels+bytes)>>2); - } else if (type == 0x1405 /* GL_UNSIGNED_INT */ || type == 0x84FA /* UNSIGNED_INT_24_8_WEBGL */) { - pixels = HEAPU32.subarray((pixels)>>2,(pixels+bytes)>>2); - } else { - pixels = HEAPU16.subarray((pixels)>>1,(pixels+bytes)>>1); - } - return { - pixels: pixels, - internalFormat: internalFormat - }; - },createContext:function (canvas, webGLContextAttributes) { - // Default to creating a WebGL 1.0 context if nothing else is specified. - if (typeof webGLContextAttributes.majorVersion === 'undefined' && typeof webGLContextAttributes.minorVersion === 'undefined') { - webGLContextAttributes.majorVersion = 1; - webGLContextAttributes.minorVersion = 0; - } - var ctx; - var errorInfo = '?'; - function onContextCreationError(event) { - errorInfo = event.statusMessage || errorInfo; - } - try { - canvas.addEventListener('webglcontextcreationerror', onContextCreationError, false); - try { - if (webGLContextAttributes.majorVersion == 1 && webGLContextAttributes.minorVersion == 0) { - ctx = canvas.getContext("webgl", webGLContextAttributes) || canvas.getContext("experimental-webgl", webGLContextAttributes); - } else { - throw 'Unsupported WebGL context version ' + majorVersion + '.' + minorVersion + '!' - } - } finally { - canvas.removeEventListener('webglcontextcreationerror', onContextCreationError, false); - } - if (!ctx) throw ':('; - } catch (e) { - Module.print('Could not create canvas: ' + [errorInfo, e]); - return 0; - } - // possible GL_DEBUG entry point: ctx = wrapDebugGL(ctx); - - if (!ctx) return 0; - var handle = GL.getNewId(GL.contexts); - var context = { handle: handle }; - context.GLctx = ctx; - GL.contexts[handle] = context; - if (typeof webGLContextAttributes['webGLContextAttributes'] === 'undefined' || webGLContextAttributes.enableExtensionsByDefault) { - GL.initExtensions(context); - } - return handle; - },makeContextCurrent:function (contextHandle) { - var context = GL.contexts[contextHandle]; - if (!context) return false; - GLctx = Module.ctx = context.GLctx; // Active WebGL context object. - GL.currentContext = context; // Active Emscripten GL layer context object. - return true; - },getContext:function (contextHandle) { - return GL.contexts[contextHandle]; - },deleteContext:function (contextHandle) { - if (GL.currentContext === GL.contexts[contextHandle]) GL.currentContext = 0; - GL.contexts[contextHandle] = null; - },initExtensions:function (context) { - - // If this function is called without a specific context object, init the extensions of the currently active context. - if (!context) context = GL.currentContext; - - if (context.initExtensionsDone) return; - context.initExtensionsDone = true; - - var GLctx = context.GLctx; - - context.maxVertexAttribs = GLctx.getParameter(GLctx.MAX_VERTEX_ATTRIBS); - - // Detect the presence of a few extensions manually, this GL interop layer itself will need to know if they exist. - context.compressionExt = GLctx.getExtension('WEBGL_compressed_texture_s3tc') || - GLctx.getExtension('MOZ_WEBGL_compressed_texture_s3tc') || - GLctx.getExtension('WEBKIT_WEBGL_compressed_texture_s3tc'); - - context.anisotropicExt = GLctx.getExtension('EXT_texture_filter_anisotropic') || - GLctx.getExtension('MOZ_EXT_texture_filter_anisotropic') || - GLctx.getExtension('WEBKIT_EXT_texture_filter_anisotropic'); - - context.floatExt = GLctx.getExtension('OES_texture_float'); - - // Extension available from Firefox 26 and Google Chrome 30 - context.instancedArraysExt = GLctx.getExtension('ANGLE_instanced_arrays'); - - // Extension available from Firefox 25 and WebKit - context.vaoExt = GLctx.getExtension('OES_vertex_array_object'); - - context.drawBuffersExt = GLctx.getExtension('WEBGL_draw_buffers'); - - // These are the 'safe' feature-enabling extensions that don't add any performance impact related to e.g. debugging, and - // should be enabled by default so that client GLES2/GL code will not need to go through extra hoops to get its stuff working. - // As new extensions are ratified at http://www.khronos.org/registry/webgl/extensions/ , feel free to add your new extensions - // here, as long as they don't produce a performance impact for users that might not be using those extensions. - // E.g. debugging-related extensions should probably be off by default. - var automaticallyEnabledExtensions = [ "OES_texture_float", "OES_texture_half_float", "OES_standard_derivatives", - "OES_vertex_array_object", "WEBGL_compressed_texture_s3tc", "WEBGL_depth_texture", - "OES_element_index_uint", "EXT_texture_filter_anisotropic", "ANGLE_instanced_arrays", - "OES_texture_float_linear", "OES_texture_half_float_linear", "WEBGL_compressed_texture_atc", - "WEBGL_compressed_texture_pvrtc", "EXT_color_buffer_half_float", "WEBGL_color_buffer_float", - "EXT_frag_depth", "EXT_sRGB", "WEBGL_draw_buffers", "WEBGL_shared_resources", - "EXT_shader_texture_lod" ]; - - function shouldEnableAutomatically(extension) { - var ret = false; - automaticallyEnabledExtensions.forEach(function(include) { - if (ext.indexOf(include) != -1) { - ret = true; - } - }); - return ret; - } - - - GLctx.getSupportedExtensions().forEach(function(ext) { - ext = ext.replace('MOZ_', '').replace('WEBKIT_', ''); - if (automaticallyEnabledExtensions.indexOf(ext) != -1) { - GLctx.getExtension(ext); // Calling .getExtension enables that extension permanently, no need to store the return value to be enabled. - } - }); - },populateUniformTable:function (program) { - var p = GL.programs[program]; - GL.programInfos[program] = { - uniforms: {}, - maxUniformLength: 0, // This is eagerly computed below, since we already enumerate all uniforms anyway. - maxAttributeLength: -1 // This is lazily computed and cached, computed when/if first asked, "-1" meaning not computed yet. - }; - - var ptable = GL.programInfos[program]; - var utable = ptable.uniforms; - // A program's uniform table maps the string name of an uniform to an integer location of that uniform. - // The global GL.uniforms map maps integer locations to WebGLUniformLocations. - var numUniforms = GLctx.getProgramParameter(p, GLctx.ACTIVE_UNIFORMS); - for (var i = 0; i < numUniforms; ++i) { - var u = GLctx.getActiveUniform(p, i); - - var name = u.name; - ptable.maxUniformLength = Math.max(ptable.maxUniformLength, name.length+1); - - // Strip off any trailing array specifier we might have got, e.g. "[0]". - if (name.indexOf(']', name.length-1) !== -1) { - var ls = name.lastIndexOf('['); - name = name.slice(0, ls); - } - - // Optimize memory usage slightly: If we have an array of uniforms, e.g. 'vec3 colors[3];', then - // only store the string 'colors' in utable, and 'colors[0]', 'colors[1]' and 'colors[2]' will be parsed as 'colors'+i. - // Note that for the GL.uniforms table, we still need to fetch the all WebGLUniformLocations for all the indices. - var loc = GLctx.getUniformLocation(p, name); - var id = GL.getNewId(GL.uniforms); - utable[name] = [u.size, id]; - GL.uniforms[id] = loc; - - for (var j = 1; j < u.size; ++j) { - var n = name + '['+j+']'; - loc = GLctx.getUniformLocation(p, n); - id = GL.getNewId(GL.uniforms); - - GL.uniforms[id] = loc; - } - } - }};function _glClearColor(x0, x1, x2, x3) { GLctx.clearColor(x0, x1, x2, x3) } - - - - function _emscripten_get_now() { - if (!_emscripten_get_now.actual) { - if (ENVIRONMENT_IS_NODE) { - _emscripten_get_now.actual = function _emscripten_get_now_actual() { - var t = process['hrtime'](); - return t[0] * 1e3 + t[1] / 1e6; - } - } else if (typeof dateNow !== 'undefined') { - _emscripten_get_now.actual = dateNow; - } else if (ENVIRONMENT_IS_WEB && window['performance'] && window['performance']['now']) { - _emscripten_get_now.actual = function _emscripten_get_now_actual() { return window['performance']['now'](); }; - } else { - _emscripten_get_now.actual = Date.now; - } - } - return _emscripten_get_now.actual(); - }var GLFW={Window:function (id, width, height, title, monitor, share) { - this.id = id; - this.x = 0; - this.y = 0; - this.storedX = 0; // Used to store X before fullscreen - this.storedY = 0; // Used to store Y before fullscreen - this.width = width; - this.height = height; - this.storedWidth = width; // Used to store width before fullscreen - this.storedHeight = height; // Used to store height before fullscreen - this.title = title; - this.monitor = monitor; - this.share = share; - this.attributes = GLFW.hints; - this.inputModes = { - 0x00033001:0x00034001, // GLFW_CURSOR (GLFW_CURSOR_NORMAL) - 0x00033002:0, // GLFW_STICKY_KEYS - 0x00033003:0, // GLFW_STICKY_MOUSE_BUTTONS - }; - this.buttons = 0; - this.keys = new Array(); - this.shouldClose = 0; - this.title = null; - this.windowPosFunc = null; // GLFWwindowposfun - this.windowSizeFunc = null; // GLFWwindowsizefun - this.windowCloseFunc = null; // GLFWwindowclosefun - this.windowRefreshFunc = null; // GLFWwindowrefreshfun - this.windowFocusFunc = null; // GLFWwindowfocusfun - this.windowIconifyFunc = null; // GLFWwindowiconifyfun - this.framebufferSizeFunc = null; // GLFWframebuffersizefun - this.mouseButtonFunc = null; // GLFWmousebuttonfun - this.cursorPosFunc = null; // GLFWcursorposfun - this.cursorEnterFunc = null; // GLFWcursorenterfun - this.scrollFunc = null; // GLFWscrollfun - this.keyFunc = null; // GLFWkeyfun - this.charFunc = null; // GLFWcharfun - this.userptr = null; - },WindowFromId:function (id) { - if (id <= 0 || !GLFW.windows) return null; - return GLFW.windows[id - 1]; - },errorFunc:null,monitorFunc:null,active:null,windows:null,monitors:null,monitorString:null,versionString:null,initialTime:null,extensions:null,hints:null,defaultHints:{131073:0,131074:0,131075:1,131076:1,131077:1,135169:8,135170:8,135171:8,135172:8,135173:24,135174:8,135175:0,135176:0,135177:0,135178:0,135179:0,135180:0,135181:0,135182:0,135183:0,139265:196609,139266:1,139267:0,139268:0,139269:0,139270:0,139271:0,139272:0},DOMToGLFWKeyCode:function (keycode) { - switch (keycode) { - case 0x20:return 32; // DOM_VK_SPACE -> GLFW_KEY_SPACE - case 0xDE:return 39; // DOM_VK_QUOTE -> GLFW_KEY_APOSTROPHE - case 0xBC:return 44; // DOM_VK_COMMA -> GLFW_KEY_COMMA - case 0xAD:return 45; // DOM_VK_HYPHEN_MINUS -> GLFW_KEY_MINUS - case 0xBE:return 46; // DOM_VK_PERIOD -> GLFW_KEY_PERIOD - case 0xBF:return 47; // DOM_VK_SLASH -> GLFW_KEY_SLASH - case 0x30:return 48; // DOM_VK_0 -> GLFW_KEY_0 - case 0x31:return 49; // DOM_VK_1 -> GLFW_KEY_1 - case 0x32:return 50; // DOM_VK_2 -> GLFW_KEY_2 - case 0x33:return 51; // DOM_VK_3 -> GLFW_KEY_3 - case 0x34:return 52; // DOM_VK_4 -> GLFW_KEY_4 - case 0x35:return 53; // DOM_VK_5 -> GLFW_KEY_5 - case 0x36:return 54; // DOM_VK_6 -> GLFW_KEY_6 - case 0x37:return 55; // DOM_VK_7 -> GLFW_KEY_7 - case 0x38:return 56; // DOM_VK_8 -> GLFW_KEY_8 - case 0x39:return 57; // DOM_VK_9 -> GLFW_KEY_9 - case 0x3B:return 59; // DOM_VK_SEMICOLON -> GLFW_KEY_SEMICOLON - case 0x61:return 61; // DOM_VK_EQUALS -> GLFW_KEY_EQUAL - case 0x41:return 65; // DOM_VK_A -> GLFW_KEY_A - case 0x42:return 66; // DOM_VK_B -> GLFW_KEY_B - case 0x43:return 67; // DOM_VK_C -> GLFW_KEY_C - case 0x44:return 68; // DOM_VK_D -> GLFW_KEY_D - case 0x45:return 69; // DOM_VK_E -> GLFW_KEY_E - case 0x46:return 70; // DOM_VK_F -> GLFW_KEY_F - case 0x47:return 71; // DOM_VK_G -> GLFW_KEY_G - case 0x48:return 72; // DOM_VK_H -> GLFW_KEY_H - case 0x49:return 73; // DOM_VK_I -> GLFW_KEY_I - case 0x4A:return 74; // DOM_VK_J -> GLFW_KEY_J - case 0x4B:return 75; // DOM_VK_K -> GLFW_KEY_K - case 0x4C:return 76; // DOM_VK_L -> GLFW_KEY_L - case 0x4D:return 77; // DOM_VK_M -> GLFW_KEY_M - case 0x4E:return 78; // DOM_VK_N -> GLFW_KEY_N - case 0x4F:return 79; // DOM_VK_O -> GLFW_KEY_O - case 0x50:return 80; // DOM_VK_P -> GLFW_KEY_P - case 0x51:return 81; // DOM_VK_Q -> GLFW_KEY_Q - case 0x52:return 82; // DOM_VK_R -> GLFW_KEY_R - case 0x53:return 83; // DOM_VK_S -> GLFW_KEY_S - case 0x54:return 84; // DOM_VK_T -> GLFW_KEY_T - case 0x55:return 85; // DOM_VK_U -> GLFW_KEY_U - case 0x56:return 86; // DOM_VK_V -> GLFW_KEY_V - case 0x57:return 87; // DOM_VK_W -> GLFW_KEY_W - case 0x58:return 88; // DOM_VK_X -> GLFW_KEY_X - case 0x59:return 89; // DOM_VK_Y -> GLFW_KEY_Y - case 0x5a:return 90; // DOM_VK_Z -> GLFW_KEY_Z - case 0xDB:return 91; // DOM_VK_OPEN_BRACKET -> GLFW_KEY_LEFT_BRACKET - case 0xDC:return 92; // DOM_VK_BACKSLASH -> GLFW_KEY_BACKSLASH - case 0xDD:return 93; // DOM_VK_CLOSE_BRACKET -> GLFW_KEY_RIGHT_BRACKET - case 0xC0:return 94; // DOM_VK_BACK_QUOTE -> GLFW_KEY_GRAVE_ACCENT - case 0x1B:return 256; // DOM_VK_ESCAPE -> GLFW_KEY_ESCAPE - case 0x0D:return 257; // DOM_VK_RETURN -> GLFW_KEY_ENTER - case 0x09:return 258; // DOM_VK_TAB -> GLFW_KEY_TAB - case 0x08:return 259; // DOM_VK_BACK -> GLFW_KEY_BACKSPACE - case 0x2D:return 260; // DOM_VK_INSERT -> GLFW_KEY_INSERT - case 0x2E:return 261; // DOM_VK_DELETE -> GLFW_KEY_DELETE - case 0x27:return 262; // DOM_VK_RIGHT -> GLFW_KEY_RIGHT - case 0x25:return 263; // DOM_VK_LEFT -> GLFW_KEY_LEFT - case 0x28:return 264; // DOM_VK_DOWN -> GLFW_KEY_DOWN - case 0x26:return 265; // DOM_VK_UP -> GLFW_KEY_UP - case 0x21:return 266; // DOM_VK_PAGE_UP -> GLFW_KEY_PAGE_UP - case 0x22:return 267; // DOM_VK_PAGE_DOWN -> GLFW_KEY_PAGE_DOWN - case 0x24:return 268; // DOM_VK_HOME -> GLFW_KEY_HOME - case 0x23:return 269; // DOM_VK_END -> GLFW_KEY_END - case 0x14:return 280; // DOM_VK_CAPS_LOCK -> GLFW_KEY_CAPS_LOCK - case 0x91:return 281; // DOM_VK_SCROLL_LOCK -> GLFW_KEY_SCROLL_LOCK - case 0x90:return 282; // DOM_VK_NUM_LOCK -> GLFW_KEY_NUM_LOCK - case 0x2C:return 283; // DOM_VK_SNAPSHOT -> GLFW_KEY_PRINT_SCREEN - case 0x13:return 284; // DOM_VK_PAUSE -> GLFW_KEY_PAUSE - case 0x70:return 290; // DOM_VK_F1 -> GLFW_KEY_F1 - case 0x71:return 291; // DOM_VK_F2 -> GLFW_KEY_F2 - case 0x72:return 292; // DOM_VK_F3 -> GLFW_KEY_F3 - case 0x73:return 293; // DOM_VK_F4 -> GLFW_KEY_F4 - case 0x74:return 294; // DOM_VK_F5 -> GLFW_KEY_F5 - case 0x75:return 295; // DOM_VK_F6 -> GLFW_KEY_F6 - case 0x76:return 296; // DOM_VK_F7 -> GLFW_KEY_F7 - case 0x77:return 297; // DOM_VK_F8 -> GLFW_KEY_F8 - case 0x78:return 298; // DOM_VK_F9 -> GLFW_KEY_F9 - case 0x79:return 299; // DOM_VK_F10 -> GLFW_KEY_F10 - case 0x7A:return 300; // DOM_VK_F11 -> GLFW_KEY_F11 - case 0x7B:return 301; // DOM_VK_F12 -> GLFW_KEY_F12 - case 0x7C:return 302; // DOM_VK_F13 -> GLFW_KEY_F13 - case 0x7D:return 303; // DOM_VK_F14 -> GLFW_KEY_F14 - case 0x7E:return 304; // DOM_VK_F15 -> GLFW_KEY_F15 - case 0x7F:return 305; // DOM_VK_F16 -> GLFW_KEY_F16 - case 0x80:return 306; // DOM_VK_F17 -> GLFW_KEY_F17 - case 0x81:return 307; // DOM_VK_F18 -> GLFW_KEY_F18 - case 0x82:return 308; // DOM_VK_F19 -> GLFW_KEY_F19 - case 0x83:return 309; // DOM_VK_F20 -> GLFW_KEY_F20 - case 0x84:return 310; // DOM_VK_F21 -> GLFW_KEY_F21 - case 0x85:return 311; // DOM_VK_F22 -> GLFW_KEY_F22 - case 0x86:return 312; // DOM_VK_F23 -> GLFW_KEY_F23 - case 0x87:return 313; // DOM_VK_F24 -> GLFW_KEY_F24 - case 0x88:return 314; // 0x88 (not used?) -> GLFW_KEY_F25 - case 0x60:return 320; // DOM_VK_NUMPAD0 -> GLFW_KEY_KP_0 - case 0x61:return 321; // DOM_VK_NUMPAD1 -> GLFW_KEY_KP_1 - case 0x62:return 322; // DOM_VK_NUMPAD2 -> GLFW_KEY_KP_2 - case 0x63:return 323; // DOM_VK_NUMPAD3 -> GLFW_KEY_KP_3 - case 0x64:return 324; // DOM_VK_NUMPAD4 -> GLFW_KEY_KP_4 - case 0x65:return 325; // DOM_VK_NUMPAD5 -> GLFW_KEY_KP_5 - case 0x66:return 326; // DOM_VK_NUMPAD6 -> GLFW_KEY_KP_6 - case 0x67:return 327; // DOM_VK_NUMPAD7 -> GLFW_KEY_KP_7 - case 0x68:return 328; // DOM_VK_NUMPAD8 -> GLFW_KEY_KP_8 - case 0x69:return 329; // DOM_VK_NUMPAD9 -> GLFW_KEY_KP_9 - case 0x6E:return 330; // DOM_VK_DECIMAL -> GLFW_KEY_KP_DECIMAL - case 0x6F:return 331; // DOM_VK_DIVIDE -> GLFW_KEY_KP_DIVIDE - case 0x6A:return 332; // DOM_VK_MULTIPLY -> GLFW_KEY_KP_MULTIPLY - case 0x6D:return 333; // DOM_VK_SUBTRACT -> GLFW_KEY_KP_SUBTRACT - case 0x6B:return 334; // DOM_VK_ADD -> GLFW_KEY_KP_ADD - // case 0x0D:return 335; // DOM_VK_RETURN -> GLFW_KEY_KP_ENTER (DOM_KEY_LOCATION_RIGHT) - // case 0x61:return 336; // DOM_VK_EQUALS -> GLFW_KEY_KP_EQUAL (DOM_KEY_LOCATION_RIGHT) - case 0x10:return 340; // DOM_VK_SHIFT -> GLFW_KEY_LEFT_SHIFT - case 0x11:return 341; // DOM_VK_CONTROL -> GLFW_KEY_LEFT_CONTROL - case 0x12:return 342; // DOM_VK_ALT -> GLFW_KEY_LEFT_ALT - case 0x5B:return 343; // DOM_VK_WIN -> GLFW_KEY_LEFT_SUPER - // case 0x10:return 344; // DOM_VK_SHIFT -> GLFW_KEY_RIGHT_SHIFT (DOM_KEY_LOCATION_RIGHT) - // case 0x11:return 345; // DOM_VK_CONTROL -> GLFW_KEY_RIGHT_CONTROL (DOM_KEY_LOCATION_RIGHT) - // case 0x12:return 346; // DOM_VK_ALT -> GLFW_KEY_RIGHT_ALT (DOM_KEY_LOCATION_RIGHT) - // case 0x5B:return 347; // DOM_VK_WIN -> GLFW_KEY_RIGHT_SUPER (DOM_KEY_LOCATION_RIGHT) - case 0x5D:return 348; // DOM_VK_CONTEXT_MENU -> GLFW_KEY_MENU - - // XXX: GLFW_KEY_WORLD_1, GLFW_KEY_WORLD_2 what are these? - default:return -1; // GLFW_KEY_UNKNOWN - }; - },getModBits:function (win) { - var mod = 0; - if (win.keys[0x10]) mod |= 0x0001; // GLFW_MOD_SHIFT - if (win.keys[0x11]) mod |= 0x0002; // GLFW_MOD_CONTROL - if (win.keys[0x12]) mod |= 0x0004; // GLFW_MOD_ALT - if (win.keys[0x5B]) mod |= 0x0008; // GLFW_MOD_SUPER - return mod; - },onKeyPress:function (event) { - if (!GLFW.active || !GLFW.active.charFunc) return; - - // correct unicode charCode is only available with onKeyPress event - var charCode = event.charCode; - if (charCode == 0 || (charCode >= 0x00 && charCode <= 0x1F)) return; - - - Runtime.dynCall('vii', GLFW.active.charFunc, [GLFW.active.id, charCode]); - },onKeyChanged:function (event, status) { - if (!GLFW.active) return; - - var key = GLFW.DOMToGLFWKeyCode(event.keyCode); - if (key == -1) return; - - GLFW.active.keys[key] = status; - if (!GLFW.active.keyFunc) return; - - - Runtime.dynCall('viiiii', GLFW.active.keyFunc, [GLFW.active.id, key, event.keyCode, status, GLFW.getModBits(GLFW.active)]); - },onKeydown:function (event) { - GLFW.onKeyChanged(event, 1); // GLFW_PRESS - - // This logic comes directly from the sdl implementation. We cannot - // call preventDefault on all keydown events otherwise onKeyPress will - // not get called - if (event.keyCode === 8 /* backspace */ || event.keyCode === 9 /* tab */) { - event.preventDefault(); - } - },onKeyup:function (event) { - GLFW.onKeyChanged(event, 0); // GLFW_RELEASE - },onMousemove:function (event) { - if (!GLFW.active) return; - - Browser.calculateMouseEvent(event); - - if (event.target != Module["canvas"] || !GLFW.active.cursorPosFunc) return; - - - Runtime.dynCall('vidd', GLFW.active.cursorPosFunc, [GLFW.active.id, Browser.mouseX, Browser.mouseY]); - },onMouseButtonChanged:function (event, status) { - if (!GLFW.active || !GLFW.active.mouseButtonFunc) return; - - Browser.calculateMouseEvent(event); - - if (event.target != Module["canvas"]) return; - - if (status == 1) { // GLFW_PRESS - try { - event.target.setCapture(); - } catch (e) {} - } - - // DOM and glfw have different button codes - var eventButton = event['button']; - if (eventButton > 0) { - if (eventButton == 1) { - eventButton = 2; - } else { - eventButton = 1; - } - } - - - Runtime.dynCall('viiii', GLFW.active.mouseButtonFunc, [GLFW.active.id, eventButton, status, GLFW.getModBits(GLFW.active)]); - },onMouseButtonDown:function (event) { - if (!GLFW.active) return; - GLFW.active.buttons |= (1 << event['button']); - GLFW.onMouseButtonChanged(event, 1); // GLFW_PRESS - },onMouseButtonUp:function (event) { - if (!GLFW.active) return; - GLFW.active.buttons &= ~(1 << event['button']); - GLFW.onMouseButtonChanged(event, 0); // GLFW_RELEASE - },onMouseWheel:function (event) { - // Note the minus sign that flips browser wheel direction (positive direction scrolls page down) to native wheel direction (positive direction is mouse wheel up) - var delta = -Browser.getMouseWheelDelta(event); - delta = (delta == 0) ? 0 : (delta > 0 ? Math.max(delta, 1) : Math.min(delta, -1)); // Quantize to integer so that minimum scroll is at least +/- 1. - GLFW.wheelPos += delta; - - if (!GLFW.active || !GLFW.active.scrollFunc || event.target != Module['canvas']) return; - - - var sx = 0; - var sy = 0; - if (event.type == 'mousewheel') { - sx = event.wheelDeltaX; - sy = event.wheelDeltaY; - } else { - sx = event.deltaX; - sy = event.deltaY; - } - - Runtime.dynCall('viii', GLFW.active.scrollFunc, [GLFW.active.id, sx, sy]); - - event.preventDefault(); - },onFullScreenEventChange:function (event) { - if (!GLFW.active) return; - - if (document["fullScreen"] || document["mozFullScreen"] || document["webkitIsFullScreen"]) { - GLFW.active.storedX = GLFW.active.x; - GLFW.active.storedY = GLFW.active.y; - GLFW.active.x = GLFW.active.y = 0; - GLFW.active.storedWidth = GLFW.active.width; - GLFW.active.storedHeight = GLFW.active.height; - GLFW.active.width = screen.width; - GLFW.active.height = screen.height; - } else { - document.removeEventListener('fullscreenchange', GLFW.onFullScreenEventChange, true); - document.removeEventListener('mozfullscreenchange', GLFW.onFullScreenEventChange, true); - document.removeEventListener('webkitfullscreenchange', GLFW.onFullScreenEventChange, true); - GLFW.active.width = GLFW.active.storedWidth; - GLFW.active.height = GLFW.active.storedHeight; - } - - Browser.setCanvasSize(GLFW.active.width, GLFW.active.height); - - if (!GLFW.active.windowResizeFunc) return; - - - Runtime.dynCall('viii', GLFW.active.windowResizeFunc, [GLFW.active.id, width, height]); - },requestFullScreen:function () { - var RFS = Module["canvas"]['requestFullscreen'] || - Module["canvas"]['requestFullScreen'] || - Module["canvas"]['mozRequestFullScreen'] || - Module["canvas"]['webkitRequestFullScreen'] || - (function() {}); - RFS.apply(Module["canvas"], []); - },cancelFullScreen:function () { - var CFS = document['exitFullscreen'] || - document['cancelFullScreen'] || - document['mozCancelFullScreen'] || - document['webkitCancelFullScreen'] || - (function() {}); - CFS.apply(document, []); - },getTime:function () { - return _emscripten_get_now() / 1000; - },setWindowTitle:function (winid, title) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - - win.title = Pointer_stringify(title); - if (GLFW.active.id == win.id) { - document.title = win.title; - } - },setKeyCallback:function (winid, cbfun) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.keyFunc = cbfun; - },setCharCallback:function (winid, cbfun) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.charFunc = cbfun; - },setMouseButtonCallback:function (winid, cbfun) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.mouseButtonFunc = cbfun; - },setCursorPosCallback:function (winid, cbfun) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.mousePosFunc = cbfun; - },setScrollCallback:function (winid, cbfun) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.mouseWheelFunc = cbfun; - },setWindowSizeCallback:function (winid, cbfun) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.windowSizeFunc = cbfun; - },setWindowCloseCallback:function (winid, cbfun) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.windowCloseFunc = cbfun; - },setWindowRefreshCallback:function (winid, cbfun) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.windowRefreshFunc = cbfun; - },getKey:function (winid, key) { - var win = GLFW.WindowFromId(winid); - if (!win) return 0; - return win.keys[key]; - },getMouseButton:function (winid, button) { - var win = GLFW.WindowFromId(winid); - if (!win) return 0; - return (win.buttons & (1 << button)) > 0; - },getCursorPos:function (winid, x, y) { - setValue(x, Browser.mouseX, 'i32'); - setValue(y, Browser.mouseY, 'i32'); - },setCursorPos:function (winid, x, y) { - },getWindowPos:function (winid, x, y) { - var wx = 0; - var wy = 0; - - var win = GLFW.WindowFromId(winid); - if (win) { - wx = win.x; - wy = win.y; - } - - setValue(x, wx, 'i32'); - setValue(y, wy, 'i32'); - },setWindowPos:function (winid, x, y) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.x = x; - win.y = y; - },getWindowSize:function (winid, width, height) { - var ww = 0; - var wh = 0; - - var win = GLFW.WindowFromId(winid); - if (win) { - ww = win.width; - wh = win.height; - } - - setValue(width, ww, 'i32'); - setValue(height, wh, 'i32'); - },setWindowSize:function (winid, width, height) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - - if (GLFW.active.id == win.id) { - if (width == screen.width && height == screen.height) { - GLFW.requestFullScreen(); - } else { - GLFW.cancelFullScreen(); - Browser.setCanvasSize(width, height); - win.width = width; - win.height = height; - } - } - - if (!win.windowResizeFunc) return; - - - Runtime.dynCall('viii', win.windowResizeFunc, [win.id, width, height]); - },createWindow:function (width, height, title, monitor, share) { - var i, id; - for (i = 0; i < GLFW.windows.length && GLFW.windows[i] !== null; i++); - if (i > 0) throw "glfwCreateWindow only supports one window at time currently"; - - // id for window - id = i + 1; - - // not valid - if (width <= 0 || height <= 0) return 0; - - if (monitor) { - GLFW.requestFullScreen(); - } else { - Browser.setCanvasSize(width, height); - } - - // Create context when there are no existing alive windows - for (i = 0; i < GLFW.windows.length && GLFW.windows[i] == null; i++); - if (i == GLFW.windows.length) { - var contextAttributes = { - antialias: (GLFW.hints[0x0002100D] > 1), // GLFW_SAMPLES - depth: (GLFW.hints[0x00021005] > 0), // GLFW_DEPTH_BITS - stencil: (GLFW.hints[0x00021006] > 0) // GLFW_STENCIL_BITS - } - Module.ctx = Browser.createContext(Module['canvas'], true, true, contextAttributes); - } - - // Get non alive id - var win = new GLFW.Window(id, width, height, title, monitor, share); - - // Set window to array - if (id - 1 == GLFW.windows.length) { - GLFW.windows.push(win); - } else { - GLFW.windows[id - 1] = win; - } - - GLFW.active = win; - return win.id; - },destroyWindow:function (winid) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - - if (win.windowCloseFunc) - Runtime.dynCall('vi', win.windowCloseFunc, [win.id]); - - GLFW.windows[win.id - 1] = null; - if (GLFW.active.id == win.id) - GLFW.active = null; - - // Destroy context when no alive windows - for (var i = 0; i < GLFW.windows.length; i++) - if (GLFW.windows[i] !== null) return; - - Module.ctx = Browser.destroyContext(Module['canvas'], true, true); - },swapBuffers:function (winid) { - },GLFW2ParamToGLFW3Param:function (param) { - table = { - 0x00030001:0, // GLFW_MOUSE_CURSOR - 0x00030002:0, // GLFW_STICKY_KEYS - 0x00030003:0, // GLFW_STICKY_MOUSE_BUTTONS - 0x00030004:0, // GLFW_SYSTEM_KEYS - 0x00030005:0, // GLFW_KEY_REPEAT - 0x00030006:0, // GLFW_AUTO_POLL_EVENTS - 0x00020001:0, // GLFW_OPENED - 0x00020002:0, // GLFW_ACTIVE - 0x00020003:0, // GLFW_ICONIFIED - 0x00020004:0, // GLFW_ACCELERATED - 0x00020005:0x00021001, // GLFW_RED_BITS - 0x00020006:0x00021002, // GLFW_GREEN_BITS - 0x00020007:0x00021003, // GLFW_BLUE_BITS - 0x00020008:0x00021004, // GLFW_ALPHA_BITS - 0x00020009:0x00021005, // GLFW_DEPTH_BITS - 0x0002000A:0x00021006, // GLFW_STENCIL_BITS - 0x0002000B:0x0002100F, // GLFW_REFRESH_RATE - 0x0002000C:0x00021007, // GLFW_ACCUM_RED_BITS - 0x0002000D:0x00021008, // GLFW_ACCUM_GREEN_BITS - 0x0002000E:0x00021009, // GLFW_ACCUM_BLUE_BITS - 0x0002000F:0x0002100A, // GLFW_ACCUM_ALPHA_BITS - 0x00020010:0x0002100B, // GLFW_AUX_BUFFERS - 0x00020011:0x0002100C, // GLFW_STEREO - 0x00020012:0, // GLFW_WINDOW_NO_RESIZE - 0x00020013:0x0002100D, // GLFW_FSAA_SAMPLES - 0x00020014:0x00022002, // GLFW_OPENGL_VERSION_MAJOR - 0x00020015:0x00022003, // GLFW_OPENGL_VERSION_MINOR - 0x00020016:0x00022006, // GLFW_OPENGL_FORWARD_COMPAT - 0x00020017:0x00022007, // GLFW_OPENGL_DEBUG_CONTEXT - 0x00020018:0x00022008, // GLFW_OPENGL_PROFILE - }; - return table[param]; - }};function _glfwGetCursorPos(winid, x, y) { - GLFW.getCursorPos(winid, x, y); - } - - function _glLinkProgram(program) { - GLctx.linkProgram(GL.programs[program]); - GL.programInfos[program] = null; // uniforms no longer keep the same names after linking - GL.populateUniformTable(program); - } - - function _glBindTexture(target, texture) { - GLctx.bindTexture(target, texture ? GL.textures[texture] : null); - } - - - - var ERRNO_CODES={EPERM:1,ENOENT:2,ESRCH:3,EINTR:4,EIO:5,ENXIO:6,E2BIG:7,ENOEXEC:8,EBADF:9,ECHILD:10,EAGAIN:11,EWOULDBLOCK:11,ENOMEM:12,EACCES:13,EFAULT:14,ENOTBLK:15,EBUSY:16,EEXIST:17,EXDEV:18,ENODEV:19,ENOTDIR:20,EISDIR:21,EINVAL:22,ENFILE:23,EMFILE:24,ENOTTY:25,ETXTBSY:26,EFBIG:27,ENOSPC:28,ESPIPE:29,EROFS:30,EMLINK:31,EPIPE:32,EDOM:33,ERANGE:34,ENOMSG:42,EIDRM:43,ECHRNG:44,EL2NSYNC:45,EL3HLT:46,EL3RST:47,ELNRNG:48,EUNATCH:49,ENOCSI:50,EL2HLT:51,EDEADLK:35,ENOLCK:37,EBADE:52,EBADR:53,EXFULL:54,ENOANO:55,EBADRQC:56,EBADSLT:57,EDEADLOCK:35,EBFONT:59,ENOSTR:60,ENODATA:61,ETIME:62,ENOSR:63,ENONET:64,ENOPKG:65,EREMOTE:66,ENOLINK:67,EADV:68,ESRMNT:69,ECOMM:70,EPROTO:71,EMULTIHOP:72,EDOTDOT:73,EBADMSG:74,ENOTUNIQ:76,EBADFD:77,EREMCHG:78,ELIBACC:79,ELIBBAD:80,ELIBSCN:81,ELIBMAX:82,ELIBEXEC:83,ENOSYS:38,ENOTEMPTY:39,ENAMETOOLONG:36,ELOOP:40,EOPNOTSUPP:95,EPFNOSUPPORT:96,ECONNRESET:104,ENOBUFS:105,EAFNOSUPPORT:97,EPROTOTYPE:91,ENOTSOCK:88,ENOPROTOOPT:92,ESHUTDOWN:108,ECONNREFUSED:111,EADDRINUSE:98,ECONNABORTED:103,ENETUNREACH:101,ENETDOWN:100,ETIMEDOUT:110,EHOSTDOWN:112,EHOSTUNREACH:113,EINPROGRESS:115,EALREADY:114,EDESTADDRREQ:89,EMSGSIZE:90,EPROTONOSUPPORT:93,ESOCKTNOSUPPORT:94,EADDRNOTAVAIL:99,ENETRESET:102,EISCONN:106,ENOTCONN:107,ETOOMANYREFS:109,EUSERS:87,EDQUOT:122,ESTALE:116,ENOTSUP:95,ENOMEDIUM:123,EILSEQ:84,EOVERFLOW:75,ECANCELED:125,ENOTRECOVERABLE:131,EOWNERDEAD:130,ESTRPIPE:86}; - - var ERRNO_MESSAGES={0:"Success",1:"Not super-user",2:"No such file or directory",3:"No such process",4:"Interrupted system call",5:"I/O error",6:"No such device or address",7:"Arg list too long",8:"Exec format error",9:"Bad file number",10:"No children",11:"No more processes",12:"Not enough core",13:"Permission denied",14:"Bad address",15:"Block device required",16:"Mount device busy",17:"File exists",18:"Cross-device link",19:"No such device",20:"Not a directory",21:"Is a directory",22:"Invalid argument",23:"Too many open files in system",24:"Too many open files",25:"Not a typewriter",26:"Text file busy",27:"File too large",28:"No space left on device",29:"Illegal seek",30:"Read only file system",31:"Too many links",32:"Broken pipe",33:"Math arg out of domain of func",34:"Math result not representable",35:"File locking deadlock error",36:"File or path name too long",37:"No record locks available",38:"Function not implemented",39:"Directory not empty",40:"Too many symbolic links",42:"No message of desired type",43:"Identifier removed",44:"Channel number out of range",45:"Level 2 not synchronized",46:"Level 3 halted",47:"Level 3 reset",48:"Link number out of range",49:"Protocol driver not attached",50:"No CSI structure available",51:"Level 2 halted",52:"Invalid exchange",53:"Invalid request descriptor",54:"Exchange full",55:"No anode",56:"Invalid request code",57:"Invalid slot",59:"Bad font file fmt",60:"Device not a stream",61:"No data (for no delay io)",62:"Timer expired",63:"Out of streams resources",64:"Machine is not on the network",65:"Package not installed",66:"The object is remote",67:"The link has been severed",68:"Advertise error",69:"Srmount error",70:"Communication error on send",71:"Protocol error",72:"Multihop attempted",73:"Cross mount point (not really error)",74:"Trying to read unreadable message",75:"Value too large for defined data type",76:"Given log. name not unique",77:"f.d. invalid for this operation",78:"Remote address changed",79:"Can access a needed shared lib",80:"Accessing a corrupted shared lib",81:".lib section in a.out corrupted",82:"Attempting to link in too many libs",83:"Attempting to exec a shared library",84:"Illegal byte sequence",86:"Streams pipe error",87:"Too many users",88:"Socket operation on non-socket",89:"Destination address required",90:"Message too long",91:"Protocol wrong type for socket",92:"Protocol not available",93:"Unknown protocol",94:"Socket type not supported",95:"Not supported",96:"Protocol family not supported",97:"Address family not supported by protocol family",98:"Address already in use",99:"Address not available",100:"Network interface is not configured",101:"Network is unreachable",102:"Connection reset by network",103:"Connection aborted",104:"Connection reset by peer",105:"No buffer space available",106:"Socket is already connected",107:"Socket is not connected",108:"Can't send after socket shutdown",109:"Too many references",110:"Connection timed out",111:"Connection refused",112:"Host is down",113:"Host is unreachable",114:"Socket already connected",115:"Connection already in progress",116:"Stale file handle",122:"Quota exceeded",123:"No medium (in tape drive)",125:"Operation canceled",130:"Previous owner died",131:"State not recoverable"}; - - - var ___errno_state=0;function ___setErrNo(value) { - // For convenient setting and returning of errno. - HEAP32[((___errno_state)>>2)]=value; - return value; - } - - var PATH={splitPath:function (filename) { - var splitPathRe = /^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/; - return splitPathRe.exec(filename).slice(1); - },normalizeArray:function (parts, allowAboveRoot) { - // if the path tries to go above the root, `up` ends up > 0 - var up = 0; - for (var i = parts.length - 1; i >= 0; i--) { - var last = parts[i]; - if (last === '.') { - parts.splice(i, 1); - } else if (last === '..') { - parts.splice(i, 1); - up++; - } else if (up) { - parts.splice(i, 1); - up--; - } - } - // if the path is allowed to go above the root, restore leading ..s - if (allowAboveRoot) { - for (; up--; up) { - parts.unshift('..'); - } - } - return parts; - },normalize:function (path) { - var isAbsolute = path.charAt(0) === '/', - trailingSlash = path.substr(-1) === '/'; - // Normalize the path - path = PATH.normalizeArray(path.split('/').filter(function(p) { - return !!p; - }), !isAbsolute).join('/'); - if (!path && !isAbsolute) { - path = '.'; - } - if (path && trailingSlash) { - path += '/'; - } - return (isAbsolute ? '/' : '') + path; - },dirname:function (path) { - var result = PATH.splitPath(path), - root = result[0], - dir = result[1]; - if (!root && !dir) { - // No dirname whatsoever - return '.'; - } - if (dir) { - // It has a dirname, strip trailing slash - dir = dir.substr(0, dir.length - 1); - } - return root + dir; - },basename:function (path) { - // EMSCRIPTEN return '/'' for '/', not an empty string - if (path === '/') return '/'; - var lastSlash = path.lastIndexOf('/'); - if (lastSlash === -1) return path; - return path.substr(lastSlash+1); - },extname:function (path) { - return PATH.splitPath(path)[3]; - },join:function () { - var paths = Array.prototype.slice.call(arguments, 0); - return PATH.normalize(paths.join('/')); - },join2:function (l, r) { - return PATH.normalize(l + '/' + r); - },resolve:function () { - var resolvedPath = '', - resolvedAbsolute = false; - for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) { - var path = (i >= 0) ? arguments[i] : FS.cwd(); - // Skip empty and invalid entries - if (typeof path !== 'string') { - throw new TypeError('Arguments to path.resolve must be strings'); - } else if (!path) { - return ''; // an invalid portion invalidates the whole thing - } - resolvedPath = path + '/' + resolvedPath; - resolvedAbsolute = path.charAt(0) === '/'; - } - // At this point the path should be resolved to a full absolute path, but - // handle relative paths to be safe (might happen when process.cwd() fails) - resolvedPath = PATH.normalizeArray(resolvedPath.split('/').filter(function(p) { - return !!p; - }), !resolvedAbsolute).join('/'); - return ((resolvedAbsolute ? '/' : '') + resolvedPath) || '.'; - },relative:function (from, to) { - from = PATH.resolve(from).substr(1); - to = PATH.resolve(to).substr(1); - function trim(arr) { - var start = 0; - for (; start < arr.length; start++) { - if (arr[start] !== '') break; - } - var end = arr.length - 1; - for (; end >= 0; end--) { - if (arr[end] !== '') break; - } - if (start > end) return []; - return arr.slice(start, end - start + 1); - } - var fromParts = trim(from.split('/')); - var toParts = trim(to.split('/')); - var length = Math.min(fromParts.length, toParts.length); - var samePartsLength = length; - for (var i = 0; i < length; i++) { - if (fromParts[i] !== toParts[i]) { - samePartsLength = i; - break; - } - } - var outputParts = []; - for (var i = samePartsLength; i < fromParts.length; i++) { - outputParts.push('..'); - } - outputParts = outputParts.concat(toParts.slice(samePartsLength)); - return outputParts.join('/'); - }}; - - var TTY={ttys:[],init:function () { - // https://github.com/kripken/emscripten/pull/1555 - // if (ENVIRONMENT_IS_NODE) { - // // currently, FS.init does not distinguish if process.stdin is a file or TTY - // // device, it always assumes it's a TTY device. because of this, we're forcing - // // process.stdin to UTF8 encoding to at least make stdin reading compatible - // // with text files until FS.init can be refactored. - // process['stdin']['setEncoding']('utf8'); - // } - },shutdown:function () { - // https://github.com/kripken/emscripten/pull/1555 - // if (ENVIRONMENT_IS_NODE) { - // // inolen: any idea as to why node -e 'process.stdin.read()' wouldn't exit immediately (with process.stdin being a tty)? - // // isaacs: because now it's reading from the stream, you've expressed interest in it, so that read() kicks off a _read() which creates a ReadReq operation - // // inolen: I thought read() in that case was a synchronous operation that just grabbed some amount of buffered data if it exists? - // // isaacs: it is. but it also triggers a _read() call, which calls readStart() on the handle - // // isaacs: do process.stdin.pause() and i'd think it'd probably close the pending call - // process['stdin']['pause'](); - // } - },register:function (dev, ops) { - TTY.ttys[dev] = { input: [], output: [], ops: ops }; - FS.registerDevice(dev, TTY.stream_ops); - },stream_ops:{open:function (stream) { - var tty = TTY.ttys[stream.node.rdev]; - if (!tty) { - throw new FS.ErrnoError(ERRNO_CODES.ENODEV); - } - stream.tty = tty; - stream.seekable = false; - },close:function (stream) { - // flush any pending line data - if (stream.tty.output.length) { - stream.tty.ops.put_char(stream.tty, 10); - } - },read:function (stream, buffer, offset, length, pos /* ignored */) { - if (!stream.tty || !stream.tty.ops.get_char) { - throw new FS.ErrnoError(ERRNO_CODES.ENXIO); - } - var bytesRead = 0; - for (var i = 0; i < length; i++) { - var result; - try { - result = stream.tty.ops.get_char(stream.tty); - } catch (e) { - throw new FS.ErrnoError(ERRNO_CODES.EIO); - } - if (result === undefined && bytesRead === 0) { - throw new FS.ErrnoError(ERRNO_CODES.EAGAIN); - } - if (result === null || result === undefined) break; - bytesRead++; - buffer[offset+i] = result; - } - if (bytesRead) { - stream.node.timestamp = Date.now(); - } - return bytesRead; - },write:function (stream, buffer, offset, length, pos) { - if (!stream.tty || !stream.tty.ops.put_char) { - throw new FS.ErrnoError(ERRNO_CODES.ENXIO); - } - for (var i = 0; i < length; i++) { - try { - stream.tty.ops.put_char(stream.tty, buffer[offset+i]); - } catch (e) { - throw new FS.ErrnoError(ERRNO_CODES.EIO); - } - } - if (length) { - stream.node.timestamp = Date.now(); - } - return i; - }},default_tty_ops:{get_char:function (tty) { - if (!tty.input.length) { - var result = null; - if (ENVIRONMENT_IS_NODE) { - result = process['stdin']['read'](); - if (!result) { - if (process['stdin']['_readableState'] && process['stdin']['_readableState']['ended']) { - return null; // EOF - } - return undefined; // no data available - } - } else if (typeof window != 'undefined' && - typeof window.prompt == 'function') { - // Browser. - result = window.prompt('Input: '); // returns null on cancel - if (result !== null) { - result += '\n'; - } - } else if (typeof readline == 'function') { - // Command line. - result = readline(); - if (result !== null) { - result += '\n'; - } - } - if (!result) { - return null; - } - tty.input = intArrayFromString(result, true); - } - return tty.input.shift(); - },put_char:function (tty, val) { - if (val === null || val === 10) { - Module['print'](tty.output.join('')); - tty.output = []; - } else { - tty.output.push(TTY.utf8.processCChar(val)); - } - }},default_tty1_ops:{put_char:function (tty, val) { - if (val === null || val === 10) { - Module['printErr'](tty.output.join('')); - tty.output = []; - } else { - tty.output.push(TTY.utf8.processCChar(val)); - } - }}}; - - var MEMFS={ops_table:null,mount:function (mount) { - return MEMFS.createNode(null, '/', 16384 | 511 /* 0777 */, 0); - },createNode:function (parent, name, mode, dev) { - if (FS.isBlkdev(mode) || FS.isFIFO(mode)) { - // no supported - throw new FS.ErrnoError(ERRNO_CODES.EPERM); - } - if (!MEMFS.ops_table) { - MEMFS.ops_table = { - dir: { - node: { - getattr: MEMFS.node_ops.getattr, - setattr: MEMFS.node_ops.setattr, - lookup: MEMFS.node_ops.lookup, - mknod: MEMFS.node_ops.mknod, - rename: MEMFS.node_ops.rename, - unlink: MEMFS.node_ops.unlink, - rmdir: MEMFS.node_ops.rmdir, - readdir: MEMFS.node_ops.readdir, - symlink: MEMFS.node_ops.symlink - }, - stream: { - llseek: MEMFS.stream_ops.llseek - } - }, - file: { - node: { - getattr: MEMFS.node_ops.getattr, - setattr: MEMFS.node_ops.setattr - }, - stream: { - llseek: MEMFS.stream_ops.llseek, - read: MEMFS.stream_ops.read, - write: MEMFS.stream_ops.write, - allocate: MEMFS.stream_ops.allocate, - mmap: MEMFS.stream_ops.mmap - } - }, - link: { - node: { - getattr: MEMFS.node_ops.getattr, - setattr: MEMFS.node_ops.setattr, - readlink: MEMFS.node_ops.readlink - }, - stream: {} - }, - chrdev: { - node: { - getattr: MEMFS.node_ops.getattr, - setattr: MEMFS.node_ops.setattr - }, - stream: FS.chrdev_stream_ops - }, - }; - } - var node = FS.createNode(parent, name, mode, dev); - if (FS.isDir(node.mode)) { - node.node_ops = MEMFS.ops_table.dir.node; - node.stream_ops = MEMFS.ops_table.dir.stream; - node.contents = {}; - } else if (FS.isFile(node.mode)) { - node.node_ops = MEMFS.ops_table.file.node; - node.stream_ops = MEMFS.ops_table.file.stream; - node.usedBytes = 0; // The actual number of bytes used in the typed array, as opposed to contents.buffer.byteLength which gives the whole capacity. - // When the byte data of the file is populated, this will point to either a typed array, or a normal JS array. Typed arrays are preferred - // for performance, and used by default. However, typed arrays are not resizable like normal JS arrays are, so there is a small disk size - // penalty involved for appending file writes that continuously grow a file similar to std::vector capacity vs used -scheme. - node.contents = null; - } else if (FS.isLink(node.mode)) { - node.node_ops = MEMFS.ops_table.link.node; - node.stream_ops = MEMFS.ops_table.link.stream; - } else if (FS.isChrdev(node.mode)) { - node.node_ops = MEMFS.ops_table.chrdev.node; - node.stream_ops = MEMFS.ops_table.chrdev.stream; - } - node.timestamp = Date.now(); - // add the new node to the parent - if (parent) { - parent.contents[name] = node; - } - return node; - },getFileDataAsRegularArray:function (node) { - if (node.contents && node.contents.subarray) { - var arr = []; - for (var i = 0; i < node.usedBytes; ++i) arr.push(node.contents[i]); - return arr; // Returns a copy of the original data. - } - return node.contents; // No-op, the file contents are already in a JS array. Return as-is. - },getFileDataAsTypedArray:function (node) { - if (node.contents && node.contents.subarray) return node.contents.subarray(0, node.usedBytes); // Make sure to not return excess unused bytes. - return new Uint8Array(node.contents); - },expandFileStorage:function (node, newCapacity) { - - // If we are asked to expand the size of a file that already exists, revert to using a standard JS array to store the file - // instead of a typed array. This makes resizing the array more flexible because we can just .push() elements at the back to - // increase the size. - if (node.contents && node.contents.subarray && newCapacity > node.contents.length) { - node.contents = MEMFS.getFileDataAsRegularArray(node); - node.usedBytes = node.contents.length; // We might be writing to a lazy-loaded file which had overridden this property, so force-reset it. - } - - if (!node.contents || node.contents.subarray) { // Keep using a typed array if creating a new storage, or if old one was a typed array as well. - var prevCapacity = node.contents ? node.contents.buffer.byteLength : 0; - if (prevCapacity >= newCapacity) return; // No need to expand, the storage was already large enough. - // Don't expand strictly to the given requested limit if it's only a very small increase, but instead geometrically grow capacity. - // For small filesizes (<1MB), perform size*2 geometric increase, but for large sizes, do a much more conservative size*1.125 increase to - // avoid overshooting the allocation cap by a very large margin. - var CAPACITY_DOUBLING_MAX = 1024 * 1024; - newCapacity = Math.max(newCapacity, (prevCapacity * (prevCapacity < CAPACITY_DOUBLING_MAX ? 2.0 : 1.125)) | 0); - if (prevCapacity != 0) newCapacity = Math.max(newCapacity, 256); // At minimum allocate 256b for each file when expanding. - var oldContents = node.contents; - node.contents = new Uint8Array(newCapacity); // Allocate new storage. - if (node.usedBytes > 0) node.contents.set(oldContents.subarray(0, node.usedBytes), 0); // Copy old data over to the new storage. - return; - } - // Not using a typed array to back the file storage. Use a standard JS array instead. - if (!node.contents && newCapacity > 0) node.contents = []; - while (node.contents.length < newCapacity) node.contents.push(0); - },resizeFileStorage:function (node, newSize) { - if (node.usedBytes == newSize) return; - if (newSize == 0) { - node.contents = null; // Fully decommit when requesting a resize to zero. - node.usedBytes = 0; - return; - } - - if (!node.contents || node.contents.subarray) { // Resize a typed array if that is being used as the backing store. - var oldContents = node.contents; - node.contents = new Uint8Array(new ArrayBuffer(newSize)); // Allocate new storage. - if (oldContents) { - node.contents.set(oldContents.subarray(0, Math.min(newSize, node.usedBytes))); // Copy old data over to the new storage. - } - node.usedBytes = newSize; - return; - } - // Backing with a JS array. - if (!node.contents) node.contents = []; - if (node.contents.length > newSize) node.contents.length = newSize; - else while (node.contents.length < newSize) node.contents.push(0); - node.usedBytes = newSize; - },node_ops:{getattr:function (node) { - var attr = {}; - // device numbers reuse inode numbers. - attr.dev = FS.isChrdev(node.mode) ? node.id : 1; - attr.ino = node.id; - attr.mode = node.mode; - attr.nlink = 1; - attr.uid = 0; - attr.gid = 0; - attr.rdev = node.rdev; - if (FS.isDir(node.mode)) { - attr.size = 4096; - } else if (FS.isFile(node.mode)) { - attr.size = node.usedBytes; - } else if (FS.isLink(node.mode)) { - attr.size = node.link.length; - } else { - attr.size = 0; - } - attr.atime = new Date(node.timestamp); - attr.mtime = new Date(node.timestamp); - attr.ctime = new Date(node.timestamp); - // NOTE: In our implementation, st_blocks = Math.ceil(st_size/st_blksize), - // but this is not required by the standard. - attr.blksize = 4096; - attr.blocks = Math.ceil(attr.size / attr.blksize); - return attr; - },setattr:function (node, attr) { - if (attr.mode !== undefined) { - node.mode = attr.mode; - } - if (attr.timestamp !== undefined) { - node.timestamp = attr.timestamp; - } - if (attr.size !== undefined) { - MEMFS.resizeFileStorage(node, attr.size); - } - },lookup:function (parent, name) { - throw FS.genericErrors[ERRNO_CODES.ENOENT]; - },mknod:function (parent, name, mode, dev) { - return MEMFS.createNode(parent, name, mode, dev); - },rename:function (old_node, new_dir, new_name) { - // if we're overwriting a directory at new_name, make sure it's empty. - if (FS.isDir(old_node.mode)) { - var new_node; - try { - new_node = FS.lookupNode(new_dir, new_name); - } catch (e) { - } - if (new_node) { - for (var i in new_node.contents) { - throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY); - } - } - } - // do the internal rewiring - delete old_node.parent.contents[old_node.name]; - old_node.name = new_name; - new_dir.contents[new_name] = old_node; - old_node.parent = new_dir; - },unlink:function (parent, name) { - delete parent.contents[name]; - },rmdir:function (parent, name) { - var node = FS.lookupNode(parent, name); - for (var i in node.contents) { - throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY); - } - delete parent.contents[name]; - },readdir:function (node) { - var entries = ['.', '..'] - for (var key in node.contents) { - if (!node.contents.hasOwnProperty(key)) { - continue; - } - entries.push(key); - } - return entries; - },symlink:function (parent, newname, oldpath) { - var node = MEMFS.createNode(parent, newname, 511 /* 0777 */ | 40960, 0); - node.link = oldpath; - return node; - },readlink:function (node) { - if (!FS.isLink(node.mode)) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - return node.link; - }},stream_ops:{read:function (stream, buffer, offset, length, position) { - var contents = stream.node.contents; - if (position >= stream.node.usedBytes) return 0; - var size = Math.min(stream.node.usedBytes - position, length); - assert(size >= 0); - if (size > 8 && contents.subarray) { // non-trivial, and typed array - buffer.set(contents.subarray(position, position + size), offset); - } else - { - for (var i = 0; i < size; i++) buffer[offset + i] = contents[position + i]; - } - return size; - },write:function (stream, buffer, offset, length, position, canOwn) { - if (!length) return 0; - var node = stream.node; - node.timestamp = Date.now(); - - if (buffer.subarray && (!node.contents || node.contents.subarray)) { // This write is from a typed array to a typed array? - if (canOwn) { // Can we just reuse the buffer we are given? - assert(position === 0, 'canOwn must imply no weird position inside the file'); - node.contents = buffer.subarray(offset, offset + length); - node.usedBytes = length; - return length; - } else if (node.usedBytes === 0 && position === 0) { // If this is a simple first write to an empty file, do a fast set since we don't need to care about old data. - node.contents = new Uint8Array(buffer.subarray(offset, offset + length)); - node.usedBytes = length; - return length; - } else if (position + length <= node.usedBytes) { // Writing to an already allocated and used subrange of the file? - node.contents.set(buffer.subarray(offset, offset + length), position); - return length; - } - } - // Appending to an existing file and we need to reallocate, or source data did not come as a typed array. - MEMFS.expandFileStorage(node, position+length); - if (node.contents.subarray && buffer.subarray) node.contents.set(buffer.subarray(offset, offset + length), position); // Use typed array write if available. - else - for (var i = 0; i < length; i++) { - node.contents[position + i] = buffer[offset + i]; // Or fall back to manual write if not. - } - node.usedBytes = Math.max(node.usedBytes, position+length); - return length; - },llseek:function (stream, offset, whence) { - var position = offset; - if (whence === 1) { // SEEK_CUR. - position += stream.position; - } else if (whence === 2) { // SEEK_END. - if (FS.isFile(stream.node.mode)) { - position += stream.node.usedBytes; - } - } - if (position < 0) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - stream.ungotten = []; - stream.position = position; - return position; - },allocate:function (stream, offset, length) { - MEMFS.expandFileStorage(stream.node, offset + length); - stream.node.usedBytes = Math.max(stream.node.usedBytes, offset + length); - },mmap:function (stream, buffer, offset, length, position, prot, flags) { - if (!FS.isFile(stream.node.mode)) { - throw new FS.ErrnoError(ERRNO_CODES.ENODEV); - } - var ptr; - var allocated; - var contents = stream.node.contents; - // Only make a new copy when MAP_PRIVATE is specified. - if ( !(flags & 2) && - (contents.buffer === buffer || contents.buffer === buffer.buffer) ) { - // We can't emulate MAP_SHARED when the file is not backed by the buffer - // we're mapping to (e.g. the HEAP buffer). - allocated = false; - ptr = contents.byteOffset; - } else { - // Try to avoid unnecessary slices. - if (position > 0 || position + length < stream.node.usedBytes) { - if (contents.subarray) { - contents = contents.subarray(position, position + length); - } else { - contents = Array.prototype.slice.call(contents, position, position + length); - } - } - allocated = true; - ptr = _malloc(length); - if (!ptr) { - throw new FS.ErrnoError(ERRNO_CODES.ENOMEM); - } - buffer.set(contents, ptr); - } - return { ptr: ptr, allocated: allocated }; - }}}; - - var IDBFS={dbs:{},indexedDB:function () { - if (typeof indexedDB !== 'undefined') return indexedDB; - var ret = null; - if (typeof window === 'object') ret = window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB; - assert(ret, 'IDBFS used, but indexedDB not supported'); - return ret; - },DB_VERSION:21,DB_STORE_NAME:"FILE_DATA",mount:function (mount) { - // reuse all of the core MEMFS functionality - return MEMFS.mount.apply(null, arguments); - },syncfs:function (mount, populate, callback) { - IDBFS.getLocalSet(mount, function(err, local) { - if (err) return callback(err); - - IDBFS.getRemoteSet(mount, function(err, remote) { - if (err) return callback(err); - - var src = populate ? remote : local; - var dst = populate ? local : remote; - - IDBFS.reconcile(src, dst, callback); - }); - }); - },getDB:function (name, callback) { - // check the cache first - var db = IDBFS.dbs[name]; - if (db) { - return callback(null, db); - } - - var req; - try { - req = IDBFS.indexedDB().open(name, IDBFS.DB_VERSION); - } catch (e) { - return callback(e); - } - req.onupgradeneeded = function(e) { - var db = e.target.result; - var transaction = e.target.transaction; - - var fileStore; - - if (db.objectStoreNames.contains(IDBFS.DB_STORE_NAME)) { - fileStore = transaction.objectStore(IDBFS.DB_STORE_NAME); - } else { - fileStore = db.createObjectStore(IDBFS.DB_STORE_NAME); - } - - fileStore.createIndex('timestamp', 'timestamp', { unique: false }); - }; - req.onsuccess = function() { - db = req.result; - - // add to the cache - IDBFS.dbs[name] = db; - callback(null, db); - }; - req.onerror = function() { - callback(this.error); - }; - },getLocalSet:function (mount, callback) { - var entries = {}; - - function isRealDir(p) { - return p !== '.' && p !== '..'; - }; - function toAbsolute(root) { - return function(p) { - return PATH.join2(root, p); - } - }; - - var check = FS.readdir(mount.mountpoint).filter(isRealDir).map(toAbsolute(mount.mountpoint)); - - while (check.length) { - var path = check.pop(); - var stat; - - try { - stat = FS.stat(path); - } catch (e) { - return callback(e); - } - - if (FS.isDir(stat.mode)) { - check.push.apply(check, FS.readdir(path).filter(isRealDir).map(toAbsolute(path))); - } - - entries[path] = { timestamp: stat.mtime }; - } - - return callback(null, { type: 'local', entries: entries }); - },getRemoteSet:function (mount, callback) { - var entries = {}; - - IDBFS.getDB(mount.mountpoint, function(err, db) { - if (err) return callback(err); - - var transaction = db.transaction([IDBFS.DB_STORE_NAME], 'readonly'); - transaction.onerror = function() { callback(this.error); }; - - var store = transaction.objectStore(IDBFS.DB_STORE_NAME); - var index = store.index('timestamp'); - - index.openKeyCursor().onsuccess = function(event) { - var cursor = event.target.result; - - if (!cursor) { - return callback(null, { type: 'remote', db: db, entries: entries }); - } - - entries[cursor.primaryKey] = { timestamp: cursor.key }; - - cursor.continue(); - }; - }); - },loadLocalEntry:function (path, callback) { - var stat, node; - - try { - var lookup = FS.lookupPath(path); - node = lookup.node; - stat = FS.stat(path); - } catch (e) { - return callback(e); - } - - if (FS.isDir(stat.mode)) { - return callback(null, { timestamp: stat.mtime, mode: stat.mode }); - } else if (FS.isFile(stat.mode)) { - // Performance consideration: storing a normal JavaScript array to a IndexedDB is much slower than storing a typed array. - // Therefore always convert the file contents to a typed array first before writing the data to IndexedDB. - node.contents = MEMFS.getFileDataAsTypedArray(node); - return callback(null, { timestamp: stat.mtime, mode: stat.mode, contents: node.contents }); - } else { - return callback(new Error('node type not supported')); - } - },storeLocalEntry:function (path, entry, callback) { - try { - if (FS.isDir(entry.mode)) { - FS.mkdir(path, entry.mode); - } else if (FS.isFile(entry.mode)) { - FS.writeFile(path, entry.contents, { encoding: 'binary', canOwn: true }); - } else { - return callback(new Error('node type not supported')); - } - - FS.chmod(path, entry.mode); - FS.utime(path, entry.timestamp, entry.timestamp); - } catch (e) { - return callback(e); - } - - callback(null); - },removeLocalEntry:function (path, callback) { - try { - var lookup = FS.lookupPath(path); - var stat = FS.stat(path); - - if (FS.isDir(stat.mode)) { - FS.rmdir(path); - } else if (FS.isFile(stat.mode)) { - FS.unlink(path); - } - } catch (e) { - return callback(e); - } - - callback(null); - },loadRemoteEntry:function (store, path, callback) { - var req = store.get(path); - req.onsuccess = function(event) { callback(null, event.target.result); }; - req.onerror = function() { callback(this.error); }; - },storeRemoteEntry:function (store, path, entry, callback) { - var req = store.put(entry, path); - req.onsuccess = function() { callback(null); }; - req.onerror = function() { callback(this.error); }; - },removeRemoteEntry:function (store, path, callback) { - var req = store.delete(path); - req.onsuccess = function() { callback(null); }; - req.onerror = function() { callback(this.error); }; - },reconcile:function (src, dst, callback) { - var total = 0; - - var create = []; - Object.keys(src.entries).forEach(function (key) { - var e = src.entries[key]; - var e2 = dst.entries[key]; - if (!e2 || e.timestamp > e2.timestamp) { - create.push(key); - total++; - } - }); - - var remove = []; - Object.keys(dst.entries).forEach(function (key) { - var e = dst.entries[key]; - var e2 = src.entries[key]; - if (!e2) { - remove.push(key); - total++; - } - }); - - if (!total) { - return callback(null); - } - - var errored = false; - var completed = 0; - var db = src.type === 'remote' ? src.db : dst.db; - var transaction = db.transaction([IDBFS.DB_STORE_NAME], 'readwrite'); - var store = transaction.objectStore(IDBFS.DB_STORE_NAME); - - function done(err) { - if (err) { - if (!done.errored) { - done.errored = true; - return callback(err); - } - return; - } - if (++completed >= total) { - return callback(null); - } - }; - - transaction.onerror = function() { done(this.error); }; - - // sort paths in ascending order so directory entries are created - // before the files inside them - create.sort().forEach(function (path) { - if (dst.type === 'local') { - IDBFS.loadRemoteEntry(store, path, function (err, entry) { - if (err) return done(err); - IDBFS.storeLocalEntry(path, entry, done); - }); - } else { - IDBFS.loadLocalEntry(path, function (err, entry) { - if (err) return done(err); - IDBFS.storeRemoteEntry(store, path, entry, done); - }); - } - }); - - // sort paths in descending order so files are deleted before their - // parent directories - remove.sort().reverse().forEach(function(path) { - if (dst.type === 'local') { - IDBFS.removeLocalEntry(path, done); - } else { - IDBFS.removeRemoteEntry(store, path, done); - } - }); - }}; - - var NODEFS={isWindows:false,staticInit:function () { - NODEFS.isWindows = !!process.platform.match(/^win/); - },mount:function (mount) { - assert(ENVIRONMENT_IS_NODE); - return NODEFS.createNode(null, '/', NODEFS.getMode(mount.opts.root), 0); - },createNode:function (parent, name, mode, dev) { - if (!FS.isDir(mode) && !FS.isFile(mode) && !FS.isLink(mode)) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - var node = FS.createNode(parent, name, mode); - node.node_ops = NODEFS.node_ops; - node.stream_ops = NODEFS.stream_ops; - return node; - },getMode:function (path) { - var stat; - try { - stat = fs.lstatSync(path); - if (NODEFS.isWindows) { - // On Windows, directories return permission bits 'rw-rw-rw-', even though they have 'rwxrwxrwx', so - // propagate write bits to execute bits. - stat.mode = stat.mode | ((stat.mode & 146) >> 1); - } - } catch (e) { - if (!e.code) throw e; - throw new FS.ErrnoError(ERRNO_CODES[e.code]); - } - return stat.mode; - },realPath:function (node) { - var parts = []; - while (node.parent !== node) { - parts.push(node.name); - node = node.parent; - } - parts.push(node.mount.opts.root); - parts.reverse(); - return PATH.join.apply(null, parts); - },flagsToPermissionStringMap:{0:"r",1:"r+",2:"r+",64:"r",65:"r+",66:"r+",129:"rx+",193:"rx+",514:"w+",577:"w",578:"w+",705:"wx",706:"wx+",1024:"a",1025:"a",1026:"a+",1089:"a",1090:"a+",1153:"ax",1154:"ax+",1217:"ax",1218:"ax+",4096:"rs",4098:"rs+"},flagsToPermissionString:function (flags) { - if (flags in NODEFS.flagsToPermissionStringMap) { - return NODEFS.flagsToPermissionStringMap[flags]; - } else { - return flags; - } - },node_ops:{getattr:function (node) { - var path = NODEFS.realPath(node); - var stat; - try { - stat = fs.lstatSync(path); - } catch (e) { - if (!e.code) throw e; - throw new FS.ErrnoError(ERRNO_CODES[e.code]); - } - // node.js v0.10.20 doesn't report blksize and blocks on Windows. Fake them with default blksize of 4096. - // See http://support.microsoft.com/kb/140365 - if (NODEFS.isWindows && !stat.blksize) { - stat.blksize = 4096; - } - if (NODEFS.isWindows && !stat.blocks) { - stat.blocks = (stat.size+stat.blksize-1)/stat.blksize|0; - } - return { - dev: stat.dev, - ino: stat.ino, - mode: stat.mode, - nlink: stat.nlink, - uid: stat.uid, - gid: stat.gid, - rdev: stat.rdev, - size: stat.size, - atime: stat.atime, - mtime: stat.mtime, - ctime: stat.ctime, - blksize: stat.blksize, - blocks: stat.blocks - }; - },setattr:function (node, attr) { - var path = NODEFS.realPath(node); - try { - if (attr.mode !== undefined) { - fs.chmodSync(path, attr.mode); - // update the common node structure mode as well - node.mode = attr.mode; - } - if (attr.timestamp !== undefined) { - var date = new Date(attr.timestamp); - fs.utimesSync(path, date, date); - } - if (attr.size !== undefined) { - fs.truncateSync(path, attr.size); - } - } catch (e) { - if (!e.code) throw e; - throw new FS.ErrnoError(ERRNO_CODES[e.code]); - } - },lookup:function (parent, name) { - var path = PATH.join2(NODEFS.realPath(parent), name); - var mode = NODEFS.getMode(path); - return NODEFS.createNode(parent, name, mode); - },mknod:function (parent, name, mode, dev) { - var node = NODEFS.createNode(parent, name, mode, dev); - // create the backing node for this in the fs root as well - var path = NODEFS.realPath(node); - try { - if (FS.isDir(node.mode)) { - fs.mkdirSync(path, node.mode); - } else { - fs.writeFileSync(path, '', { mode: node.mode }); - } - } catch (e) { - if (!e.code) throw e; - throw new FS.ErrnoError(ERRNO_CODES[e.code]); - } - return node; - },rename:function (oldNode, newDir, newName) { - var oldPath = NODEFS.realPath(oldNode); - var newPath = PATH.join2(NODEFS.realPath(newDir), newName); - try { - fs.renameSync(oldPath, newPath); - } catch (e) { - if (!e.code) throw e; - throw new FS.ErrnoError(ERRNO_CODES[e.code]); - } - },unlink:function (parent, name) { - var path = PATH.join2(NODEFS.realPath(parent), name); - try { - fs.unlinkSync(path); - } catch (e) { - if (!e.code) throw e; - throw new FS.ErrnoError(ERRNO_CODES[e.code]); - } - },rmdir:function (parent, name) { - var path = PATH.join2(NODEFS.realPath(parent), name); - try { - fs.rmdirSync(path); - } catch (e) { - if (!e.code) throw e; - throw new FS.ErrnoError(ERRNO_CODES[e.code]); - } - },readdir:function (node) { - var path = NODEFS.realPath(node); - try { - return fs.readdirSync(path); - } catch (e) { - if (!e.code) throw e; - throw new FS.ErrnoError(ERRNO_CODES[e.code]); - } - },symlink:function (parent, newName, oldPath) { - var newPath = PATH.join2(NODEFS.realPath(parent), newName); - try { - fs.symlinkSync(oldPath, newPath); - } catch (e) { - if (!e.code) throw e; - throw new FS.ErrnoError(ERRNO_CODES[e.code]); - } - },readlink:function (node) { - var path = NODEFS.realPath(node); - try { - return fs.readlinkSync(path); - } catch (e) { - if (!e.code) throw e; - throw new FS.ErrnoError(ERRNO_CODES[e.code]); - } - }},stream_ops:{open:function (stream) { - var path = NODEFS.realPath(stream.node); - try { - if (FS.isFile(stream.node.mode)) { - stream.nfd = fs.openSync(path, NODEFS.flagsToPermissionString(stream.flags)); - } - } catch (e) { - if (!e.code) throw e; - throw new FS.ErrnoError(ERRNO_CODES[e.code]); - } - },close:function (stream) { - try { - if (FS.isFile(stream.node.mode) && stream.nfd) { - fs.closeSync(stream.nfd); - } - } catch (e) { - if (!e.code) throw e; - throw new FS.ErrnoError(ERRNO_CODES[e.code]); - } - },read:function (stream, buffer, offset, length, position) { - // FIXME this is terrible. - var nbuffer = new Buffer(length); - var res; - try { - res = fs.readSync(stream.nfd, nbuffer, 0, length, position); - } catch (e) { - throw new FS.ErrnoError(ERRNO_CODES[e.code]); - } - if (res > 0) { - for (var i = 0; i < res; i++) { - buffer[offset + i] = nbuffer[i]; - } - } - return res; - },write:function (stream, buffer, offset, length, position) { - // FIXME this is terrible. - var nbuffer = new Buffer(buffer.subarray(offset, offset + length)); - var res; - try { - res = fs.writeSync(stream.nfd, nbuffer, 0, length, position); - } catch (e) { - throw new FS.ErrnoError(ERRNO_CODES[e.code]); - } - return res; - },llseek:function (stream, offset, whence) { - var position = offset; - if (whence === 1) { // SEEK_CUR. - position += stream.position; - } else if (whence === 2) { // SEEK_END. - if (FS.isFile(stream.node.mode)) { - try { - var stat = fs.fstatSync(stream.nfd); - position += stat.size; - } catch (e) { - throw new FS.ErrnoError(ERRNO_CODES[e.code]); - } - } - } - - if (position < 0) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - - stream.position = position; - return position; - }}}; - - var _stdin=allocate(1, "i32*", ALLOC_STATIC); - - var _stdout=allocate(1, "i32*", ALLOC_STATIC); - - var _stderr=allocate(1, "i32*", ALLOC_STATIC); - - function _fflush(stream) { - // int fflush(FILE *stream); - // http://pubs.opengroup.org/onlinepubs/000095399/functions/fflush.html - // we don't currently perform any user-space buffering of data - }var FS={root:null,mounts:[],devices:[null],streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},handleFSError:function (e) { - if (!(e instanceof FS.ErrnoError)) throw e + ' : ' + stackTrace(); - return ___setErrNo(e.errno); - },lookupPath:function (path, opts) { - path = PATH.resolve(FS.cwd(), path); - opts = opts || {}; - - if (!path) return { path: '', node: null }; - - var defaults = { - follow_mount: true, - recurse_count: 0 - }; - for (var key in defaults) { - if (opts[key] === undefined) { - opts[key] = defaults[key]; - } - } - - if (opts.recurse_count > 8) { // max recursive lookup of 8 - throw new FS.ErrnoError(ERRNO_CODES.ELOOP); - } - - // split the path - var parts = PATH.normalizeArray(path.split('/').filter(function(p) { - return !!p; - }), false); - - // start at the root - var current = FS.root; - var current_path = '/'; - - for (var i = 0; i < parts.length; i++) { - var islast = (i === parts.length-1); - if (islast && opts.parent) { - // stop resolving - break; - } - - current = FS.lookupNode(current, parts[i]); - current_path = PATH.join2(current_path, parts[i]); - - // jump to the mount's root node if this is a mountpoint - if (FS.isMountpoint(current)) { - if (!islast || (islast && opts.follow_mount)) { - current = current.mounted.root; - } - } - - // by default, lookupPath will not follow a symlink if it is the final path component. - // setting opts.follow = true will override this behavior. - if (!islast || opts.follow) { - var count = 0; - while (FS.isLink(current.mode)) { - var link = FS.readlink(current_path); - current_path = PATH.resolve(PATH.dirname(current_path), link); - - var lookup = FS.lookupPath(current_path, { recurse_count: opts.recurse_count }); - current = lookup.node; - - if (count++ > 40) { // limit max consecutive symlinks to 40 (SYMLOOP_MAX). - throw new FS.ErrnoError(ERRNO_CODES.ELOOP); - } - } - } - } - - return { path: current_path, node: current }; - },getPath:function (node) { - var path; - while (true) { - if (FS.isRoot(node)) { - var mount = node.mount.mountpoint; - if (!path) return mount; - return mount[mount.length-1] !== '/' ? mount + '/' + path : mount + path; - } - path = path ? node.name + '/' + path : node.name; - node = node.parent; - } - },hashName:function (parentid, name) { - var hash = 0; - - - for (var i = 0; i < name.length; i++) { - hash = ((hash << 5) - hash + name.charCodeAt(i)) | 0; - } - return ((parentid + hash) >>> 0) % FS.nameTable.length; - },hashAddNode:function (node) { - var hash = FS.hashName(node.parent.id, node.name); - node.name_next = FS.nameTable[hash]; - FS.nameTable[hash] = node; - },hashRemoveNode:function (node) { - var hash = FS.hashName(node.parent.id, node.name); - if (FS.nameTable[hash] === node) { - FS.nameTable[hash] = node.name_next; - } else { - var current = FS.nameTable[hash]; - while (current) { - if (current.name_next === node) { - current.name_next = node.name_next; - break; - } - current = current.name_next; - } - } - },lookupNode:function (parent, name) { - var err = FS.mayLookup(parent); - if (err) { - throw new FS.ErrnoError(err, parent); - } - var hash = FS.hashName(parent.id, name); - for (var node = FS.nameTable[hash]; node; node = node.name_next) { - var nodeName = node.name; - if (node.parent.id === parent.id && nodeName === name) { - return node; - } - } - // if we failed to find it in the cache, call into the VFS - return FS.lookup(parent, name); - },createNode:function (parent, name, mode, rdev) { - if (!FS.FSNode) { - FS.FSNode = function(parent, name, mode, rdev) { - if (!parent) { - parent = this; // root node sets parent to itself - } - this.parent = parent; - this.mount = parent.mount; - this.mounted = null; - this.id = FS.nextInode++; - this.name = name; - this.mode = mode; - this.node_ops = {}; - this.stream_ops = {}; - this.rdev = rdev; - }; - - FS.FSNode.prototype = {}; - - // compatibility - var readMode = 292 | 73; - var writeMode = 146; - - // NOTE we must use Object.defineProperties instead of individual calls to - // Object.defineProperty in order to make closure compiler happy - Object.defineProperties(FS.FSNode.prototype, { - read: { - get: function() { return (this.mode & readMode) === readMode; }, - set: function(val) { val ? this.mode |= readMode : this.mode &= ~readMode; } - }, - write: { - get: function() { return (this.mode & writeMode) === writeMode; }, - set: function(val) { val ? this.mode |= writeMode : this.mode &= ~writeMode; } - }, - isFolder: { - get: function() { return FS.isDir(this.mode); }, - }, - isDevice: { - get: function() { return FS.isChrdev(this.mode); }, - }, - }); - } - - var node = new FS.FSNode(parent, name, mode, rdev); - - FS.hashAddNode(node); - - return node; - },destroyNode:function (node) { - FS.hashRemoveNode(node); - },isRoot:function (node) { - return node === node.parent; - },isMountpoint:function (node) { - return !!node.mounted; - },isFile:function (mode) { - return (mode & 61440) === 32768; - },isDir:function (mode) { - return (mode & 61440) === 16384; - },isLink:function (mode) { - return (mode & 61440) === 40960; - },isChrdev:function (mode) { - return (mode & 61440) === 8192; - },isBlkdev:function (mode) { - return (mode & 61440) === 24576; - },isFIFO:function (mode) { - return (mode & 61440) === 4096; - },isSocket:function (mode) { - return (mode & 49152) === 49152; - },flagModes:{"r":0,"rs":1052672,"r+":2,"w":577,"wx":705,"xw":705,"w+":578,"wx+":706,"xw+":706,"a":1089,"ax":1217,"xa":1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:function (str) { - var flags = FS.flagModes[str]; - if (typeof flags === 'undefined') { - throw new Error('Unknown file open mode: ' + str); - } - return flags; - },flagsToPermissionString:function (flag) { - var accmode = flag & 2097155; - var perms = ['r', 'w', 'rw'][accmode]; - if ((flag & 512)) { - perms += 'w'; - } - return perms; - },nodePermissions:function (node, perms) { - if (FS.ignorePermissions) { - return 0; - } - // return 0 if any user, group or owner bits are set. - if (perms.indexOf('r') !== -1 && !(node.mode & 292)) { - return ERRNO_CODES.EACCES; - } else if (perms.indexOf('w') !== -1 && !(node.mode & 146)) { - return ERRNO_CODES.EACCES; - } else if (perms.indexOf('x') !== -1 && !(node.mode & 73)) { - return ERRNO_CODES.EACCES; - } - return 0; - },mayLookup:function (dir) { - var err = FS.nodePermissions(dir, 'x'); - if (err) return err; - if (!dir.node_ops.lookup) return ERRNO_CODES.EACCES; - return 0; - },mayCreate:function (dir, name) { - try { - var node = FS.lookupNode(dir, name); - return ERRNO_CODES.EEXIST; - } catch (e) { - } - return FS.nodePermissions(dir, 'wx'); - },mayDelete:function (dir, name, isdir) { - var node; - try { - node = FS.lookupNode(dir, name); - } catch (e) { - return e.errno; - } - var err = FS.nodePermissions(dir, 'wx'); - if (err) { - return err; - } - if (isdir) { - if (!FS.isDir(node.mode)) { - return ERRNO_CODES.ENOTDIR; - } - if (FS.isRoot(node) || FS.getPath(node) === FS.cwd()) { - return ERRNO_CODES.EBUSY; - } - } else { - if (FS.isDir(node.mode)) { - return ERRNO_CODES.EISDIR; - } - } - return 0; - },mayOpen:function (node, flags) { - if (!node) { - return ERRNO_CODES.ENOENT; - } - if (FS.isLink(node.mode)) { - return ERRNO_CODES.ELOOP; - } else if (FS.isDir(node.mode)) { - if ((flags & 2097155) !== 0 || // opening for write - (flags & 512)) { - return ERRNO_CODES.EISDIR; - } - } - return FS.nodePermissions(node, FS.flagsToPermissionString(flags)); - },MAX_OPEN_FDS:4096,nextfd:function (fd_start, fd_end) { - fd_start = fd_start || 0; - fd_end = fd_end || FS.MAX_OPEN_FDS; - for (var fd = fd_start; fd <= fd_end; fd++) { - if (!FS.streams[fd]) { - return fd; - } - } - throw new FS.ErrnoError(ERRNO_CODES.EMFILE); - },getStream:function (fd) { - return FS.streams[fd]; - },createStream:function (stream, fd_start, fd_end) { - if (!FS.FSStream) { - FS.FSStream = function(){}; - FS.FSStream.prototype = {}; - // compatibility - Object.defineProperties(FS.FSStream.prototype, { - object: { - get: function() { return this.node; }, - set: function(val) { this.node = val; } - }, - isRead: { - get: function() { return (this.flags & 2097155) !== 1; } - }, - isWrite: { - get: function() { return (this.flags & 2097155) !== 0; } - }, - isAppend: { - get: function() { return (this.flags & 1024); } - } - }); - } - // clone it, so we can return an instance of FSStream - var newStream = new FS.FSStream(); - for (var p in stream) { - newStream[p] = stream[p]; - } - stream = newStream; - var fd = FS.nextfd(fd_start, fd_end); - stream.fd = fd; - FS.streams[fd] = stream; - return stream; - },closeStream:function (fd) { - FS.streams[fd] = null; - },getStreamFromPtr:function (ptr) { - return FS.streams[ptr - 1]; - },getPtrForStream:function (stream) { - return stream ? stream.fd + 1 : 0; - },chrdev_stream_ops:{open:function (stream) { - var device = FS.getDevice(stream.node.rdev); - // override node's stream ops with the device's - stream.stream_ops = device.stream_ops; - // forward the open call - if (stream.stream_ops.open) { - stream.stream_ops.open(stream); - } - },llseek:function () { - throw new FS.ErrnoError(ERRNO_CODES.ESPIPE); - }},major:function (dev) { - return ((dev) >> 8); - },minor:function (dev) { - return ((dev) & 0xff); - },makedev:function (ma, mi) { - return ((ma) << 8 | (mi)); - },registerDevice:function (dev, ops) { - FS.devices[dev] = { stream_ops: ops }; - },getDevice:function (dev) { - return FS.devices[dev]; - },getMounts:function (mount) { - var mounts = []; - var check = [mount]; - - while (check.length) { - var m = check.pop(); - - mounts.push(m); - - check.push.apply(check, m.mounts); - } - - return mounts; - },syncfs:function (populate, callback) { - if (typeof(populate) === 'function') { - callback = populate; - populate = false; - } - - var mounts = FS.getMounts(FS.root.mount); - var completed = 0; - - function done(err) { - if (err) { - if (!done.errored) { - done.errored = true; - return callback(err); - } - return; - } - if (++completed >= mounts.length) { - callback(null); - } - }; - - // sync all mounts - mounts.forEach(function (mount) { - if (!mount.type.syncfs) { - return done(null); - } - mount.type.syncfs(mount, populate, done); - }); - },mount:function (type, opts, mountpoint) { - var root = mountpoint === '/'; - var pseudo = !mountpoint; - var node; - - if (root && FS.root) { - throw new FS.ErrnoError(ERRNO_CODES.EBUSY); - } else if (!root && !pseudo) { - var lookup = FS.lookupPath(mountpoint, { follow_mount: false }); - - mountpoint = lookup.path; // use the absolute path - node = lookup.node; - - if (FS.isMountpoint(node)) { - throw new FS.ErrnoError(ERRNO_CODES.EBUSY); - } - - if (!FS.isDir(node.mode)) { - throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR); - } - } - - var mount = { - type: type, - opts: opts, - mountpoint: mountpoint, - mounts: [] - }; - - // create a root node for the fs - var mountRoot = type.mount(mount); - mountRoot.mount = mount; - mount.root = mountRoot; - - if (root) { - FS.root = mountRoot; - } else if (node) { - // set as a mountpoint - node.mounted = mount; - - // add the new mount to the current mount's children - if (node.mount) { - node.mount.mounts.push(mount); - } - } - - return mountRoot; - },unmount:function (mountpoint) { - var lookup = FS.lookupPath(mountpoint, { follow_mount: false }); - - if (!FS.isMountpoint(lookup.node)) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - - // destroy the nodes for this mount, and all its child mounts - var node = lookup.node; - var mount = node.mounted; - var mounts = FS.getMounts(mount); - - Object.keys(FS.nameTable).forEach(function (hash) { - var current = FS.nameTable[hash]; - - while (current) { - var next = current.name_next; - - if (mounts.indexOf(current.mount) !== -1) { - FS.destroyNode(current); - } - - current = next; - } - }); - - // no longer a mountpoint - node.mounted = null; - - // remove this mount from the child mounts - var idx = node.mount.mounts.indexOf(mount); - assert(idx !== -1); - node.mount.mounts.splice(idx, 1); - },lookup:function (parent, name) { - return parent.node_ops.lookup(parent, name); - },mknod:function (path, mode, dev) { - var lookup = FS.lookupPath(path, { parent: true }); - var parent = lookup.node; - var name = PATH.basename(path); - if (!name || name === '.' || name === '..') { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - var err = FS.mayCreate(parent, name); - if (err) { - throw new FS.ErrnoError(err); - } - if (!parent.node_ops.mknod) { - throw new FS.ErrnoError(ERRNO_CODES.EPERM); - } - return parent.node_ops.mknod(parent, name, mode, dev); - },create:function (path, mode) { - mode = mode !== undefined ? mode : 438 /* 0666 */; - mode &= 4095; - mode |= 32768; - return FS.mknod(path, mode, 0); - },mkdir:function (path, mode) { - mode = mode !== undefined ? mode : 511 /* 0777 */; - mode &= 511 | 512; - mode |= 16384; - return FS.mknod(path, mode, 0); - },mkdev:function (path, mode, dev) { - if (typeof(dev) === 'undefined') { - dev = mode; - mode = 438 /* 0666 */; - } - mode |= 8192; - return FS.mknod(path, mode, dev); - },symlink:function (oldpath, newpath) { - if (!PATH.resolve(oldpath)) { - throw new FS.ErrnoError(ERRNO_CODES.ENOENT); - } - var lookup = FS.lookupPath(newpath, { parent: true }); - var parent = lookup.node; - if (!parent) { - throw new FS.ErrnoError(ERRNO_CODES.ENOENT); - } - var newname = PATH.basename(newpath); - var err = FS.mayCreate(parent, newname); - if (err) { - throw new FS.ErrnoError(err); - } - if (!parent.node_ops.symlink) { - throw new FS.ErrnoError(ERRNO_CODES.EPERM); - } - return parent.node_ops.symlink(parent, newname, oldpath); - },rename:function (old_path, new_path) { - var old_dirname = PATH.dirname(old_path); - var new_dirname = PATH.dirname(new_path); - var old_name = PATH.basename(old_path); - var new_name = PATH.basename(new_path); - // parents must exist - var lookup, old_dir, new_dir; - try { - lookup = FS.lookupPath(old_path, { parent: true }); - old_dir = lookup.node; - lookup = FS.lookupPath(new_path, { parent: true }); - new_dir = lookup.node; - } catch (e) { - throw new FS.ErrnoError(ERRNO_CODES.EBUSY); - } - if (!old_dir || !new_dir) throw new FS.ErrnoError(ERRNO_CODES.ENOENT); - // need to be part of the same mount - if (old_dir.mount !== new_dir.mount) { - throw new FS.ErrnoError(ERRNO_CODES.EXDEV); - } - // source must exist - var old_node = FS.lookupNode(old_dir, old_name); - // old path should not be an ancestor of the new path - var relative = PATH.relative(old_path, new_dirname); - if (relative.charAt(0) !== '.') { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - // new path should not be an ancestor of the old path - relative = PATH.relative(new_path, old_dirname); - if (relative.charAt(0) !== '.') { - throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY); - } - // see if the new path already exists - var new_node; - try { - new_node = FS.lookupNode(new_dir, new_name); - } catch (e) { - // not fatal - } - // early out if nothing needs to change - if (old_node === new_node) { - return; - } - // we'll need to delete the old entry - var isdir = FS.isDir(old_node.mode); - var err = FS.mayDelete(old_dir, old_name, isdir); - if (err) { - throw new FS.ErrnoError(err); - } - // need delete permissions if we'll be overwriting. - // need create permissions if new doesn't already exist. - err = new_node ? - FS.mayDelete(new_dir, new_name, isdir) : - FS.mayCreate(new_dir, new_name); - if (err) { - throw new FS.ErrnoError(err); - } - if (!old_dir.node_ops.rename) { - throw new FS.ErrnoError(ERRNO_CODES.EPERM); - } - if (FS.isMountpoint(old_node) || (new_node && FS.isMountpoint(new_node))) { - throw new FS.ErrnoError(ERRNO_CODES.EBUSY); - } - // if we are going to change the parent, check write permissions - if (new_dir !== old_dir) { - err = FS.nodePermissions(old_dir, 'w'); - if (err) { - throw new FS.ErrnoError(err); - } - } - try { - if (FS.trackingDelegate['willMovePath']) { - FS.trackingDelegate['willMovePath'](old_path, new_path); - } - } catch(e) { - console.log("FS.trackingDelegate['willMovePath']('"+old_path+"', '"+new_path+"') threw an exception: " + e.message); - } - // remove the node from the lookup hash - FS.hashRemoveNode(old_node); - // do the underlying fs rename - try { - old_dir.node_ops.rename(old_node, new_dir, new_name); - } catch (e) { - throw e; - } finally { - // add the node back to the hash (in case node_ops.rename - // changed its name) - FS.hashAddNode(old_node); - } - try { - if (FS.trackingDelegate['onMovePath']) FS.trackingDelegate['onMovePath'](old_path, new_path); - } catch(e) { - console.log("FS.trackingDelegate['onMovePath']('"+old_path+"', '"+new_path+"') threw an exception: " + e.message); - } - },rmdir:function (path) { - var lookup = FS.lookupPath(path, { parent: true }); - var parent = lookup.node; - var name = PATH.basename(path); - var node = FS.lookupNode(parent, name); - var err = FS.mayDelete(parent, name, true); - if (err) { - throw new FS.ErrnoError(err); - } - if (!parent.node_ops.rmdir) { - throw new FS.ErrnoError(ERRNO_CODES.EPERM); - } - if (FS.isMountpoint(node)) { - throw new FS.ErrnoError(ERRNO_CODES.EBUSY); - } - try { - if (FS.trackingDelegate['willDeletePath']) { - FS.trackingDelegate['willDeletePath'](path); - } - } catch(e) { - console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: " + e.message); - } - parent.node_ops.rmdir(parent, name); - FS.destroyNode(node); - try { - if (FS.trackingDelegate['onDeletePath']) FS.trackingDelegate['onDeletePath'](path); - } catch(e) { - console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: " + e.message); - } - },readdir:function (path) { - var lookup = FS.lookupPath(path, { follow: true }); - var node = lookup.node; - if (!node.node_ops.readdir) { - throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR); - } - return node.node_ops.readdir(node); - },unlink:function (path) { - var lookup = FS.lookupPath(path, { parent: true }); - var parent = lookup.node; - var name = PATH.basename(path); - var node = FS.lookupNode(parent, name); - var err = FS.mayDelete(parent, name, false); - if (err) { - // POSIX says unlink should set EPERM, not EISDIR - if (err === ERRNO_CODES.EISDIR) err = ERRNO_CODES.EPERM; - throw new FS.ErrnoError(err); - } - if (!parent.node_ops.unlink) { - throw new FS.ErrnoError(ERRNO_CODES.EPERM); - } - if (FS.isMountpoint(node)) { - throw new FS.ErrnoError(ERRNO_CODES.EBUSY); - } - try { - if (FS.trackingDelegate['willDeletePath']) { - FS.trackingDelegate['willDeletePath'](path); - } - } catch(e) { - console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: " + e.message); - } - parent.node_ops.unlink(parent, name); - FS.destroyNode(node); - try { - if (FS.trackingDelegate['onDeletePath']) FS.trackingDelegate['onDeletePath'](path); - } catch(e) { - console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: " + e.message); - } - },readlink:function (path) { - var lookup = FS.lookupPath(path); - var link = lookup.node; - if (!link) { - throw new FS.ErrnoError(ERRNO_CODES.ENOENT); - } - if (!link.node_ops.readlink) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - return link.node_ops.readlink(link); - },stat:function (path, dontFollow) { - var lookup = FS.lookupPath(path, { follow: !dontFollow }); - var node = lookup.node; - if (!node) { - throw new FS.ErrnoError(ERRNO_CODES.ENOENT); - } - if (!node.node_ops.getattr) { - throw new FS.ErrnoError(ERRNO_CODES.EPERM); - } - return node.node_ops.getattr(node); - },lstat:function (path) { - return FS.stat(path, true); - },chmod:function (path, mode, dontFollow) { - var node; - if (typeof path === 'string') { - var lookup = FS.lookupPath(path, { follow: !dontFollow }); - node = lookup.node; - } else { - node = path; - } - if (!node.node_ops.setattr) { - throw new FS.ErrnoError(ERRNO_CODES.EPERM); - } - node.node_ops.setattr(node, { - mode: (mode & 4095) | (node.mode & ~4095), - timestamp: Date.now() - }); - },lchmod:function (path, mode) { - FS.chmod(path, mode, true); - },fchmod:function (fd, mode) { - var stream = FS.getStream(fd); - if (!stream) { - throw new FS.ErrnoError(ERRNO_CODES.EBADF); - } - FS.chmod(stream.node, mode); - },chown:function (path, uid, gid, dontFollow) { - var node; - if (typeof path === 'string') { - var lookup = FS.lookupPath(path, { follow: !dontFollow }); - node = lookup.node; - } else { - node = path; - } - if (!node.node_ops.setattr) { - throw new FS.ErrnoError(ERRNO_CODES.EPERM); - } - node.node_ops.setattr(node, { - timestamp: Date.now() - // we ignore the uid / gid for now - }); - },lchown:function (path, uid, gid) { - FS.chown(path, uid, gid, true); - },fchown:function (fd, uid, gid) { - var stream = FS.getStream(fd); - if (!stream) { - throw new FS.ErrnoError(ERRNO_CODES.EBADF); - } - FS.chown(stream.node, uid, gid); - },truncate:function (path, len) { - if (len < 0) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - var node; - if (typeof path === 'string') { - var lookup = FS.lookupPath(path, { follow: true }); - node = lookup.node; - } else { - node = path; - } - if (!node.node_ops.setattr) { - throw new FS.ErrnoError(ERRNO_CODES.EPERM); - } - if (FS.isDir(node.mode)) { - throw new FS.ErrnoError(ERRNO_CODES.EISDIR); - } - if (!FS.isFile(node.mode)) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - var err = FS.nodePermissions(node, 'w'); - if (err) { - throw new FS.ErrnoError(err); - } - node.node_ops.setattr(node, { - size: len, - timestamp: Date.now() - }); - },ftruncate:function (fd, len) { - var stream = FS.getStream(fd); - if (!stream) { - throw new FS.ErrnoError(ERRNO_CODES.EBADF); - } - if ((stream.flags & 2097155) === 0) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - FS.truncate(stream.node, len); - },utime:function (path, atime, mtime) { - var lookup = FS.lookupPath(path, { follow: true }); - var node = lookup.node; - node.node_ops.setattr(node, { - timestamp: Math.max(atime, mtime) - }); - },open:function (path, flags, mode, fd_start, fd_end) { - if (path === "") { - throw new FS.ErrnoError(ERRNO_CODES.ENOENT); - } - flags = typeof flags === 'string' ? FS.modeStringToFlags(flags) : flags; - mode = typeof mode === 'undefined' ? 438 /* 0666 */ : mode; - if ((flags & 64)) { - mode = (mode & 4095) | 32768; - } else { - mode = 0; - } - var node; - if (typeof path === 'object') { - node = path; - } else { - path = PATH.normalize(path); - try { - var lookup = FS.lookupPath(path, { - follow: !(flags & 131072) - }); - node = lookup.node; - } catch (e) { - // ignore - } - } - // perhaps we need to create the node - var created = false; - if ((flags & 64)) { - if (node) { - // if O_CREAT and O_EXCL are set, error out if the node already exists - if ((flags & 128)) { - throw new FS.ErrnoError(ERRNO_CODES.EEXIST); - } - } else { - // node doesn't exist, try to create it - node = FS.mknod(path, mode, 0); - created = true; - } - } - if (!node) { - throw new FS.ErrnoError(ERRNO_CODES.ENOENT); - } - // can't truncate a device - if (FS.isChrdev(node.mode)) { - flags &= ~512; - } - // check permissions, if this is not a file we just created now (it is ok to - // create and write to a file with read-only permissions; it is read-only - // for later use) - if (!created) { - var err = FS.mayOpen(node, flags); - if (err) { - throw new FS.ErrnoError(err); - } - } - // do truncation if necessary - if ((flags & 512)) { - FS.truncate(node, 0); - } - // we've already handled these, don't pass down to the underlying vfs - flags &= ~(128 | 512); - - // register the stream with the filesystem - var stream = FS.createStream({ - node: node, - path: FS.getPath(node), // we want the absolute path to the node - flags: flags, - seekable: true, - position: 0, - stream_ops: node.stream_ops, - // used by the file family libc calls (fopen, fwrite, ferror, etc.) - ungotten: [], - error: false - }, fd_start, fd_end); - // call the new stream's open function - if (stream.stream_ops.open) { - stream.stream_ops.open(stream); - } - if (Module['logReadFiles'] && !(flags & 1)) { - if (!FS.readFiles) FS.readFiles = {}; - if (!(path in FS.readFiles)) { - FS.readFiles[path] = 1; - Module['printErr']('read file: ' + path); - } - } - try { - if (FS.trackingDelegate['onOpenFile']) { - var trackingFlags = 0; - if ((flags & 2097155) !== 1) { - trackingFlags |= FS.tracking.openFlags.READ; - } - if ((flags & 2097155) !== 0) { - trackingFlags |= FS.tracking.openFlags.WRITE; - } - FS.trackingDelegate['onOpenFile'](path, trackingFlags); - } - } catch(e) { - console.log("FS.trackingDelegate['onOpenFile']('"+path+"', flags) threw an exception: " + e.message); - } - return stream; - },close:function (stream) { - try { - if (stream.stream_ops.close) { - stream.stream_ops.close(stream); - } - } catch (e) { - throw e; - } finally { - FS.closeStream(stream.fd); - } - },llseek:function (stream, offset, whence) { - if (!stream.seekable || !stream.stream_ops.llseek) { - throw new FS.ErrnoError(ERRNO_CODES.ESPIPE); - } - return stream.stream_ops.llseek(stream, offset, whence); - },read:function (stream, buffer, offset, length, position) { - if (length < 0 || position < 0) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - if ((stream.flags & 2097155) === 1) { - throw new FS.ErrnoError(ERRNO_CODES.EBADF); - } - if (FS.isDir(stream.node.mode)) { - throw new FS.ErrnoError(ERRNO_CODES.EISDIR); - } - if (!stream.stream_ops.read) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - var seeking = true; - if (typeof position === 'undefined') { - position = stream.position; - seeking = false; - } else if (!stream.seekable) { - throw new FS.ErrnoError(ERRNO_CODES.ESPIPE); - } - var bytesRead = stream.stream_ops.read(stream, buffer, offset, length, position); - if (!seeking) stream.position += bytesRead; - return bytesRead; - },write:function (stream, buffer, offset, length, position, canOwn) { - if (length < 0 || position < 0) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - if ((stream.flags & 2097155) === 0) { - throw new FS.ErrnoError(ERRNO_CODES.EBADF); - } - if (FS.isDir(stream.node.mode)) { - throw new FS.ErrnoError(ERRNO_CODES.EISDIR); - } - if (!stream.stream_ops.write) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - if (stream.flags & 1024) { - // seek to the end before writing in append mode - FS.llseek(stream, 0, 2); - } - var seeking = true; - if (typeof position === 'undefined') { - position = stream.position; - seeking = false; - } else if (!stream.seekable) { - throw new FS.ErrnoError(ERRNO_CODES.ESPIPE); - } - var bytesWritten = stream.stream_ops.write(stream, buffer, offset, length, position, canOwn); - if (!seeking) stream.position += bytesWritten; - try { - if (stream.path && FS.trackingDelegate['onWriteToFile']) FS.trackingDelegate['onWriteToFile'](stream.path); - } catch(e) { - console.log("FS.trackingDelegate['onWriteToFile']('"+path+"') threw an exception: " + e.message); - } - return bytesWritten; - },allocate:function (stream, offset, length) { - if (offset < 0 || length <= 0) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - if ((stream.flags & 2097155) === 0) { - throw new FS.ErrnoError(ERRNO_CODES.EBADF); - } - if (!FS.isFile(stream.node.mode) && !FS.isDir(node.mode)) { - throw new FS.ErrnoError(ERRNO_CODES.ENODEV); - } - if (!stream.stream_ops.allocate) { - throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP); - } - stream.stream_ops.allocate(stream, offset, length); - },mmap:function (stream, buffer, offset, length, position, prot, flags) { - // TODO if PROT is PROT_WRITE, make sure we have write access - if ((stream.flags & 2097155) === 1) { - throw new FS.ErrnoError(ERRNO_CODES.EACCES); - } - if (!stream.stream_ops.mmap) { - throw new FS.ErrnoError(ERRNO_CODES.ENODEV); - } - return stream.stream_ops.mmap(stream, buffer, offset, length, position, prot, flags); - },ioctl:function (stream, cmd, arg) { - if (!stream.stream_ops.ioctl) { - throw new FS.ErrnoError(ERRNO_CODES.ENOTTY); - } - return stream.stream_ops.ioctl(stream, cmd, arg); - },readFile:function (path, opts) { - opts = opts || {}; - opts.flags = opts.flags || 'r'; - opts.encoding = opts.encoding || 'binary'; - if (opts.encoding !== 'utf8' && opts.encoding !== 'binary') { - throw new Error('Invalid encoding type "' + opts.encoding + '"'); - } - var ret; - var stream = FS.open(path, opts.flags); - var stat = FS.stat(path); - var length = stat.size; - var buf = new Uint8Array(length); - FS.read(stream, buf, 0, length, 0); - if (opts.encoding === 'utf8') { - ret = ''; - var utf8 = new Runtime.UTF8Processor(); - for (var i = 0; i < length; i++) { - ret += utf8.processCChar(buf[i]); - } - } else if (opts.encoding === 'binary') { - ret = buf; - } - FS.close(stream); - return ret; - },writeFile:function (path, data, opts) { - opts = opts || {}; - opts.flags = opts.flags || 'w'; - opts.encoding = opts.encoding || 'utf8'; - if (opts.encoding !== 'utf8' && opts.encoding !== 'binary') { - throw new Error('Invalid encoding type "' + opts.encoding + '"'); - } - var stream = FS.open(path, opts.flags, opts.mode); - if (opts.encoding === 'utf8') { - var utf8 = new Runtime.UTF8Processor(); - var buf = new Uint8Array(utf8.processJSString(data)); - FS.write(stream, buf, 0, buf.length, 0, opts.canOwn); - } else if (opts.encoding === 'binary') { - FS.write(stream, data, 0, data.length, 0, opts.canOwn); - } - FS.close(stream); - },cwd:function () { - return FS.currentPath; - },chdir:function (path) { - var lookup = FS.lookupPath(path, { follow: true }); - if (!FS.isDir(lookup.node.mode)) { - throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR); - } - var err = FS.nodePermissions(lookup.node, 'x'); - if (err) { - throw new FS.ErrnoError(err); - } - FS.currentPath = lookup.path; - },createDefaultDirectories:function () { - FS.mkdir('/tmp'); - FS.mkdir('/home'); - FS.mkdir('/home/web_user'); - },createDefaultDevices:function () { - // create /dev - FS.mkdir('/dev'); - // setup /dev/null - FS.registerDevice(FS.makedev(1, 3), { - read: function() { return 0; }, - write: function() { return 0; } - }); - FS.mkdev('/dev/null', FS.makedev(1, 3)); - // setup /dev/tty and /dev/tty1 - // stderr needs to print output using Module['printErr'] - // so we register a second tty just for it. - TTY.register(FS.makedev(5, 0), TTY.default_tty_ops); - TTY.register(FS.makedev(6, 0), TTY.default_tty1_ops); - FS.mkdev('/dev/tty', FS.makedev(5, 0)); - FS.mkdev('/dev/tty1', FS.makedev(6, 0)); - // setup /dev/[u]random - var random_device; - if (typeof crypto !== 'undefined') { - // for modern web browsers - var randomBuffer = new Uint8Array(1); - random_device = function() { crypto.getRandomValues(randomBuffer); return randomBuffer[0]; }; - } else if (ENVIRONMENT_IS_NODE) { - // for nodejs - random_device = function() { return require('crypto').randomBytes(1)[0]; }; - } else { - // default for ES5 platforms - random_device = function() { return (Math.random()*256)|0; }; - } - FS.createDevice('/dev', 'random', random_device); - FS.createDevice('/dev', 'urandom', random_device); - // we're not going to emulate the actual shm device, - // just create the tmp dirs that reside in it commonly - FS.mkdir('/dev/shm'); - FS.mkdir('/dev/shm/tmp'); - },createStandardStreams:function () { - // TODO deprecate the old functionality of a single - // input / output callback and that utilizes FS.createDevice - // and instead require a unique set of stream ops - - // by default, we symlink the standard streams to the - // default tty devices. however, if the standard streams - // have been overwritten we create a unique device for - // them instead. - if (Module['stdin']) { - FS.createDevice('/dev', 'stdin', Module['stdin']); - } else { - FS.symlink('/dev/tty', '/dev/stdin'); - } - if (Module['stdout']) { - FS.createDevice('/dev', 'stdout', null, Module['stdout']); - } else { - FS.symlink('/dev/tty', '/dev/stdout'); - } - if (Module['stderr']) { - FS.createDevice('/dev', 'stderr', null, Module['stderr']); - } else { - FS.symlink('/dev/tty1', '/dev/stderr'); - } - - // open default streams for the stdin, stdout and stderr devices - var stdin = FS.open('/dev/stdin', 'r'); - HEAP32[((_stdin)>>2)]=FS.getPtrForStream(stdin); - assert(stdin.fd === 0, 'invalid handle for stdin (' + stdin.fd + ')'); - - var stdout = FS.open('/dev/stdout', 'w'); - HEAP32[((_stdout)>>2)]=FS.getPtrForStream(stdout); - assert(stdout.fd === 1, 'invalid handle for stdout (' + stdout.fd + ')'); - - var stderr = FS.open('/dev/stderr', 'w'); - HEAP32[((_stderr)>>2)]=FS.getPtrForStream(stderr); - assert(stderr.fd === 2, 'invalid handle for stderr (' + stderr.fd + ')'); - },ensureErrnoError:function () { - if (FS.ErrnoError) return; - FS.ErrnoError = function ErrnoError(errno, node) { - this.node = node; - this.setErrno = function(errno) { - this.errno = errno; - for (var key in ERRNO_CODES) { - if (ERRNO_CODES[key] === errno) { - this.code = key; - break; - } - } - }; - this.setErrno(errno); - this.message = ERRNO_MESSAGES[errno]; - if (this.stack) this.stack = demangleAll(this.stack); - }; - FS.ErrnoError.prototype = new Error(); - FS.ErrnoError.prototype.constructor = FS.ErrnoError; - // Some errors may happen quite a bit, to avoid overhead we reuse them (and suffer a lack of stack info) - [ERRNO_CODES.ENOENT].forEach(function(code) { - FS.genericErrors[code] = new FS.ErrnoError(code); - FS.genericErrors[code].stack = ''; - }); - },staticInit:function () { - FS.ensureErrnoError(); - - FS.nameTable = new Array(4096); - - FS.mount(MEMFS, {}, '/'); - - FS.createDefaultDirectories(); - FS.createDefaultDevices(); - },init:function (input, output, error) { - assert(!FS.init.initialized, 'FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)'); - FS.init.initialized = true; - - FS.ensureErrnoError(); - - // Allow Module.stdin etc. to provide defaults, if none explicitly passed to us here - Module['stdin'] = input || Module['stdin']; - Module['stdout'] = output || Module['stdout']; - Module['stderr'] = error || Module['stderr']; - - FS.createStandardStreams(); - },quit:function () { - FS.init.initialized = false; - for (var i = 0; i < FS.streams.length; i++) { - var stream = FS.streams[i]; - if (!stream) { - continue; - } - FS.close(stream); - } - },getMode:function (canRead, canWrite) { - var mode = 0; - if (canRead) mode |= 292 | 73; - if (canWrite) mode |= 146; - return mode; - },joinPath:function (parts, forceRelative) { - var path = PATH.join.apply(null, parts); - if (forceRelative && path[0] == '/') path = path.substr(1); - return path; - },absolutePath:function (relative, base) { - return PATH.resolve(base, relative); - },standardizePath:function (path) { - return PATH.normalize(path); - },findObject:function (path, dontResolveLastLink) { - var ret = FS.analyzePath(path, dontResolveLastLink); - if (ret.exists) { - return ret.object; - } else { - ___setErrNo(ret.error); - return null; - } - },analyzePath:function (path, dontResolveLastLink) { - // operate from within the context of the symlink's target - try { - var lookup = FS.lookupPath(path, { follow: !dontResolveLastLink }); - path = lookup.path; - } catch (e) { - } - var ret = { - isRoot: false, exists: false, error: 0, name: null, path: null, object: null, - parentExists: false, parentPath: null, parentObject: null - }; - try { - var lookup = FS.lookupPath(path, { parent: true }); - ret.parentExists = true; - ret.parentPath = lookup.path; - ret.parentObject = lookup.node; - ret.name = PATH.basename(path); - lookup = FS.lookupPath(path, { follow: !dontResolveLastLink }); - ret.exists = true; - ret.path = lookup.path; - ret.object = lookup.node; - ret.name = lookup.node.name; - ret.isRoot = lookup.path === '/'; - } catch (e) { - ret.error = e.errno; - }; - return ret; - },createFolder:function (parent, name, canRead, canWrite) { - var path = PATH.join2(typeof parent === 'string' ? parent : FS.getPath(parent), name); - var mode = FS.getMode(canRead, canWrite); - return FS.mkdir(path, mode); - },createPath:function (parent, path, canRead, canWrite) { - parent = typeof parent === 'string' ? parent : FS.getPath(parent); - var parts = path.split('/').reverse(); - while (parts.length) { - var part = parts.pop(); - if (!part) continue; - var current = PATH.join2(parent, part); - try { - FS.mkdir(current); - } catch (e) { - // ignore EEXIST - } - parent = current; - } - return current; - },createFile:function (parent, name, properties, canRead, canWrite) { - var path = PATH.join2(typeof parent === 'string' ? parent : FS.getPath(parent), name); - var mode = FS.getMode(canRead, canWrite); - return FS.create(path, mode); - },createDataFile:function (parent, name, data, canRead, canWrite, canOwn) { - var path = name ? PATH.join2(typeof parent === 'string' ? parent : FS.getPath(parent), name) : parent; - var mode = FS.getMode(canRead, canWrite); - var node = FS.create(path, mode); - if (data) { - if (typeof data === 'string') { - var arr = new Array(data.length); - for (var i = 0, len = data.length; i < len; ++i) arr[i] = data.charCodeAt(i); - data = arr; - } - // make sure we can write to the file - FS.chmod(node, mode | 146); - var stream = FS.open(node, 'w'); - FS.write(stream, data, 0, data.length, 0, canOwn); - FS.close(stream); - FS.chmod(node, mode); - } - return node; - },createDevice:function (parent, name, input, output) { - var path = PATH.join2(typeof parent === 'string' ? parent : FS.getPath(parent), name); - var mode = FS.getMode(!!input, !!output); - if (!FS.createDevice.major) FS.createDevice.major = 64; - var dev = FS.makedev(FS.createDevice.major++, 0); - // Create a fake device that a set of stream ops to emulate - // the old behavior. - FS.registerDevice(dev, { - open: function(stream) { - stream.seekable = false; - }, - close: function(stream) { - // flush any pending line data - if (output && output.buffer && output.buffer.length) { - output(10); - } - }, - read: function(stream, buffer, offset, length, pos /* ignored */) { - var bytesRead = 0; - for (var i = 0; i < length; i++) { - var result; - try { - result = input(); - } catch (e) { - throw new FS.ErrnoError(ERRNO_CODES.EIO); - } - if (result === undefined && bytesRead === 0) { - throw new FS.ErrnoError(ERRNO_CODES.EAGAIN); - } - if (result === null || result === undefined) break; - bytesRead++; - buffer[offset+i] = result; - } - if (bytesRead) { - stream.node.timestamp = Date.now(); - } - return bytesRead; - }, - write: function(stream, buffer, offset, length, pos) { - for (var i = 0; i < length; i++) { - try { - output(buffer[offset+i]); - } catch (e) { - throw new FS.ErrnoError(ERRNO_CODES.EIO); - } - } - if (length) { - stream.node.timestamp = Date.now(); - } - return i; - } - }); - return FS.mkdev(path, mode, dev); - },createLink:function (parent, name, target, canRead, canWrite) { - var path = PATH.join2(typeof parent === 'string' ? parent : FS.getPath(parent), name); - return FS.symlink(target, path); - },forceLoadFile:function (obj) { - if (obj.isDevice || obj.isFolder || obj.link || obj.contents) return true; - var success = true; - if (typeof XMLHttpRequest !== 'undefined') { - throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread."); - } else if (Module['read']) { - // Command-line. - try { - // WARNING: Can't read binary files in V8's d8 or tracemonkey's js, as - // read() will try to parse UTF8. - obj.contents = intArrayFromString(Module['read'](obj.url), true); - obj.usedBytes = obj.contents.length; - } catch (e) { - success = false; - } - } else { - throw new Error('Cannot load without read() or XMLHttpRequest.'); - } - if (!success) ___setErrNo(ERRNO_CODES.EIO); - return success; - },createLazyFile:function (parent, name, url, canRead, canWrite) { - // Lazy chunked Uint8Array (implements get and length from Uint8Array). Actual getting is abstracted away for eventual reuse. - function LazyUint8Array() { - this.lengthKnown = false; - this.chunks = []; // Loaded chunks. Index is the chunk number - } - LazyUint8Array.prototype.get = function LazyUint8Array_get(idx) { - if (idx > this.length-1 || idx < 0) { - return undefined; - } - var chunkOffset = idx % this.chunkSize; - var chunkNum = (idx / this.chunkSize)|0; - return this.getter(chunkNum)[chunkOffset]; - } - LazyUint8Array.prototype.setDataGetter = function LazyUint8Array_setDataGetter(getter) { - this.getter = getter; - } - LazyUint8Array.prototype.cacheLength = function LazyUint8Array_cacheLength() { - // Find length - var xhr = new XMLHttpRequest(); - xhr.open('HEAD', url, false); - xhr.send(null); - if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error("Couldn't load " + url + ". Status: " + xhr.status); - var datalength = Number(xhr.getResponseHeader("Content-length")); - var header; - var hasByteServing = (header = xhr.getResponseHeader("Accept-Ranges")) && header === "bytes"; - var chunkSize = 1024*1024; // Chunk size in bytes - - if (!hasByteServing) chunkSize = datalength; - - // Function to get a range from the remote URL. - var doXHR = (function(from, to) { - if (from > to) throw new Error("invalid range (" + from + ", " + to + ") or no bytes requested!"); - if (to > datalength-1) throw new Error("only " + datalength + " bytes available! programmer error!"); - - // TODO: Use mozResponseArrayBuffer, responseStream, etc. if available. - var xhr = new XMLHttpRequest(); - xhr.open('GET', url, false); - if (datalength !== chunkSize) xhr.setRequestHeader("Range", "bytes=" + from + "-" + to); - - // Some hints to the browser that we want binary data. - if (typeof Uint8Array != 'undefined') xhr.responseType = 'arraybuffer'; - if (xhr.overrideMimeType) { - xhr.overrideMimeType('text/plain; charset=x-user-defined'); - } - - xhr.send(null); - if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error("Couldn't load " + url + ". Status: " + xhr.status); - if (xhr.response !== undefined) { - return new Uint8Array(xhr.response || []); - } else { - return intArrayFromString(xhr.responseText || '', true); - } - }); - var lazyArray = this; - lazyArray.setDataGetter(function(chunkNum) { - var start = chunkNum * chunkSize; - var end = (chunkNum+1) * chunkSize - 1; // including this byte - end = Math.min(end, datalength-1); // if datalength-1 is selected, this is the last block - if (typeof(lazyArray.chunks[chunkNum]) === "undefined") { - lazyArray.chunks[chunkNum] = doXHR(start, end); - } - if (typeof(lazyArray.chunks[chunkNum]) === "undefined") throw new Error("doXHR failed!"); - return lazyArray.chunks[chunkNum]; - }); - - this._length = datalength; - this._chunkSize = chunkSize; - this.lengthKnown = true; - } - if (typeof XMLHttpRequest !== 'undefined') { - if (!ENVIRONMENT_IS_WORKER) throw 'Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc'; - var lazyArray = new LazyUint8Array(); - Object.defineProperty(lazyArray, "length", { - get: function() { - if(!this.lengthKnown) { - this.cacheLength(); - } - return this._length; - } - }); - Object.defineProperty(lazyArray, "chunkSize", { - get: function() { - if(!this.lengthKnown) { - this.cacheLength(); - } - return this._chunkSize; - } - }); - - var properties = { isDevice: false, contents: lazyArray }; - } else { - var properties = { isDevice: false, url: url }; - } - - var node = FS.createFile(parent, name, properties, canRead, canWrite); - // This is a total hack, but I want to get this lazy file code out of the - // core of MEMFS. If we want to keep this lazy file concept I feel it should - // be its own thin LAZYFS proxying calls to MEMFS. - if (properties.contents) { - node.contents = properties.contents; - } else if (properties.url) { - node.contents = null; - node.url = properties.url; - } - // Add a function that defers querying the file size until it is asked the first time. - Object.defineProperty(node, "usedBytes", { - get: function() { return this.contents.length; } - }); - // override each stream op with one that tries to force load the lazy file first - var stream_ops = {}; - var keys = Object.keys(node.stream_ops); - keys.forEach(function(key) { - var fn = node.stream_ops[key]; - stream_ops[key] = function forceLoadLazyFile() { - if (!FS.forceLoadFile(node)) { - throw new FS.ErrnoError(ERRNO_CODES.EIO); - } - return fn.apply(null, arguments); - }; - }); - // use a custom read function - stream_ops.read = function stream_ops_read(stream, buffer, offset, length, position) { - if (!FS.forceLoadFile(node)) { - throw new FS.ErrnoError(ERRNO_CODES.EIO); - } - var contents = stream.node.contents; - if (position >= contents.length) - return 0; - var size = Math.min(contents.length - position, length); - assert(size >= 0); - if (contents.slice) { // normal array - for (var i = 0; i < size; i++) { - buffer[offset + i] = contents[position + i]; - } - } else { - for (var i = 0; i < size; i++) { // LazyUint8Array from sync binary XHR - buffer[offset + i] = contents.get(position + i); - } - } - return size; - }; - node.stream_ops = stream_ops; - return node; - },createPreloadedFile:function (parent, name, url, canRead, canWrite, onload, onerror, dontCreateFile, canOwn) { - Browser.init(); - // TODO we should allow people to just pass in a complete filename instead - // of parent and name being that we just join them anyways - var fullname = name ? PATH.resolve(PATH.join2(parent, name)) : parent; - function processData(byteArray) { - function finish(byteArray) { - if (!dontCreateFile) { - FS.createDataFile(parent, name, byteArray, canRead, canWrite, canOwn); - } - if (onload) onload(); - removeRunDependency('cp ' + fullname); - } - var handled = false; - Module['preloadPlugins'].forEach(function(plugin) { - if (handled) return; - if (plugin['canHandle'](fullname)) { - plugin['handle'](byteArray, fullname, finish, function() { - if (onerror) onerror(); - removeRunDependency('cp ' + fullname); - }); - handled = true; - } - }); - if (!handled) finish(byteArray); - } - addRunDependency('cp ' + fullname); - if (typeof url == 'string') { - Browser.asyncLoad(url, function(byteArray) { - processData(byteArray); - }, onerror); - } else { - processData(url); - } - },indexedDB:function () { - return window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB; - },DB_NAME:function () { - return 'EM_FS_' + window.location.pathname; - },DB_VERSION:20,DB_STORE_NAME:"FILE_DATA",saveFilesToDB:function (paths, onload, onerror) { - onload = onload || function(){}; - onerror = onerror || function(){}; - var indexedDB = FS.indexedDB(); - try { - var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION); - } catch (e) { - return onerror(e); - } - openRequest.onupgradeneeded = function openRequest_onupgradeneeded() { - console.log('creating db'); - var db = openRequest.result; - db.createObjectStore(FS.DB_STORE_NAME); - }; - openRequest.onsuccess = function openRequest_onsuccess() { - var db = openRequest.result; - var transaction = db.transaction([FS.DB_STORE_NAME], 'readwrite'); - var files = transaction.objectStore(FS.DB_STORE_NAME); - var ok = 0, fail = 0, total = paths.length; - function finish() { - if (fail == 0) onload(); else onerror(); - } - paths.forEach(function(path) { - var putRequest = files.put(FS.analyzePath(path).object.contents, path); - putRequest.onsuccess = function putRequest_onsuccess() { ok++; if (ok + fail == total) finish() }; - putRequest.onerror = function putRequest_onerror() { fail++; if (ok + fail == total) finish() }; - }); - transaction.onerror = onerror; - }; - openRequest.onerror = onerror; - },loadFilesFromDB:function (paths, onload, onerror) { - onload = onload || function(){}; - onerror = onerror || function(){}; - var indexedDB = FS.indexedDB(); - try { - var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION); - } catch (e) { - return onerror(e); - } - openRequest.onupgradeneeded = onerror; // no database to load from - openRequest.onsuccess = function openRequest_onsuccess() { - var db = openRequest.result; - try { - var transaction = db.transaction([FS.DB_STORE_NAME], 'readonly'); - } catch(e) { - onerror(e); - return; - } - var files = transaction.objectStore(FS.DB_STORE_NAME); - var ok = 0, fail = 0, total = paths.length; - function finish() { - if (fail == 0) onload(); else onerror(); - } - paths.forEach(function(path) { - var getRequest = files.get(path); - getRequest.onsuccess = function getRequest_onsuccess() { - if (FS.analyzePath(path).exists) { - FS.unlink(path); - } - FS.createDataFile(PATH.dirname(path), PATH.basename(path), getRequest.result, true, true, true); - ok++; - if (ok + fail == total) finish(); - }; - getRequest.onerror = function getRequest_onerror() { fail++; if (ok + fail == total) finish() }; - }); - transaction.onerror = onerror; - }; - openRequest.onerror = onerror; - }}; - - - - - function _mkport() { throw 'TODO' }var SOCKFS={mount:function (mount) { - // If Module['websocket'] has already been defined (e.g. for configuring - // the subprotocol/url) use that, if not initialise it to a new object. - Module['websocket'] = (Module['websocket'] && - ('object' === typeof Module['websocket'])) ? Module['websocket'] : {}; - - // Add the Event registration mechanism to the exported websocket configuration - // object so we can register network callbacks from native JavaScript too. - // For more documentation see system/include/emscripten/emscripten.h - Module['websocket']._callbacks = {}; - Module['websocket']['on'] = function(event, callback) { - if ('function' === typeof callback) { - this._callbacks[event] = callback; - } - return this; - }; - - Module['websocket'].emit = function(event, param) { - if ('function' === typeof this._callbacks[event]) { - this._callbacks[event].call(this, param); - } - }; - - // If debug is enabled register simple default logging callbacks for each Event. - - return FS.createNode(null, '/', 16384 | 511 /* 0777 */, 0); - },createSocket:function (family, type, protocol) { - var streaming = type == 1; - if (protocol) { - assert(streaming == (protocol == 6)); // if SOCK_STREAM, must be tcp - } - - // create our internal socket structure - var sock = { - family: family, - type: type, - protocol: protocol, - server: null, - error: null, // Used in getsockopt for SOL_SOCKET/SO_ERROR test - peers: {}, - pending: [], - recv_queue: [], - sock_ops: SOCKFS.websocket_sock_ops - }; - - // create the filesystem node to store the socket structure - var name = SOCKFS.nextname(); - var node = FS.createNode(SOCKFS.root, name, 49152, 0); - node.sock = sock; - - // and the wrapping stream that enables library functions such - // as read and write to indirectly interact with the socket - var stream = FS.createStream({ - path: name, - node: node, - flags: FS.modeStringToFlags('r+'), - seekable: false, - stream_ops: SOCKFS.stream_ops - }); - - // map the new stream to the socket structure (sockets have a 1:1 - // relationship with a stream) - sock.stream = stream; - - return sock; - },getSocket:function (fd) { - var stream = FS.getStream(fd); - if (!stream || !FS.isSocket(stream.node.mode)) { - return null; - } - return stream.node.sock; - },stream_ops:{poll:function (stream) { - var sock = stream.node.sock; - return sock.sock_ops.poll(sock); - },ioctl:function (stream, request, varargs) { - var sock = stream.node.sock; - return sock.sock_ops.ioctl(sock, request, varargs); - },read:function (stream, buffer, offset, length, position /* ignored */) { - var sock = stream.node.sock; - var msg = sock.sock_ops.recvmsg(sock, length); - if (!msg) { - // socket is closed - return 0; - } - buffer.set(msg.buffer, offset); - return msg.buffer.length; - },write:function (stream, buffer, offset, length, position /* ignored */) { - var sock = stream.node.sock; - return sock.sock_ops.sendmsg(sock, buffer, offset, length); - },close:function (stream) { - var sock = stream.node.sock; - sock.sock_ops.close(sock); - }},nextname:function () { - if (!SOCKFS.nextname.current) { - SOCKFS.nextname.current = 0; - } - return 'socket[' + (SOCKFS.nextname.current++) + ']'; - },websocket_sock_ops:{createPeer:function (sock, addr, port) { - var ws; - - if (typeof addr === 'object') { - ws = addr; - addr = null; - port = null; - } - - if (ws) { - // for sockets that've already connected (e.g. we're the server) - // we can inspect the _socket property for the address - if (ws._socket) { - addr = ws._socket.remoteAddress; - port = ws._socket.remotePort; - } - // if we're just now initializing a connection to the remote, - // inspect the url property - else { - var result = /ws[s]?:\/\/([^:]+):(\d+)/.exec(ws.url); - if (!result) { - throw new Error('WebSocket URL must be in the format ws(s)://address:port'); - } - addr = result[1]; - port = parseInt(result[2], 10); - } - } else { - // create the actual websocket object and connect - try { - // runtimeConfig gets set to true if WebSocket runtime configuration is available. - var runtimeConfig = (Module['websocket'] && ('object' === typeof Module['websocket'])); - - // The default value is 'ws://' the replace is needed because the compiler replaces '//' comments with '#' - // comments without checking context, so we'd end up with ws:#, the replace swaps the '#' for '//' again. - var url = 'ws:#'.replace('#', '//'); - - if (runtimeConfig) { - if ('string' === typeof Module['websocket']['url']) { - url = Module['websocket']['url']; // Fetch runtime WebSocket URL config. - } - } - - if (url === 'ws://' || url === 'wss://') { // Is the supplied URL config just a prefix, if so complete it. - var parts = addr.split('/'); - url = url + parts[0] + ":" + port + "/" + parts.slice(1).join('/'); - } - - // Make the WebSocket subprotocol (Sec-WebSocket-Protocol) default to binary if no configuration is set. - var subProtocols = 'binary'; // The default value is 'binary' - - if (runtimeConfig) { - if ('string' === typeof Module['websocket']['subprotocol']) { - subProtocols = Module['websocket']['subprotocol']; // Fetch runtime WebSocket subprotocol config. - } - } - - // The regex trims the string (removes spaces at the beginning and end, then splits the string by - // , into an Array. Whitespace removal is important for Websockify and ws. - subProtocols = subProtocols.replace(/^ +| +$/g,"").split(/ *, */); - - // The node ws library API for specifying optional subprotocol is slightly different than the browser's. - var opts = ENVIRONMENT_IS_NODE ? {'protocol': subProtocols.toString()} : subProtocols; - - // If node we use the ws library. - var WebSocket = ENVIRONMENT_IS_NODE ? require('ws') : window['WebSocket']; - ws = new WebSocket(url, opts); - ws.binaryType = 'arraybuffer'; - } catch (e) { - throw new FS.ErrnoError(ERRNO_CODES.EHOSTUNREACH); - } - } - - - var peer = { - addr: addr, - port: port, - socket: ws, - dgram_send_queue: [] - }; - - SOCKFS.websocket_sock_ops.addPeer(sock, peer); - SOCKFS.websocket_sock_ops.handlePeerEvents(sock, peer); - - // if this is a bound dgram socket, send the port number first to allow - // us to override the ephemeral port reported to us by remotePort on the - // remote end. - if (sock.type === 2 && typeof sock.sport !== 'undefined') { - peer.dgram_send_queue.push(new Uint8Array([ - 255, 255, 255, 255, - 'p'.charCodeAt(0), 'o'.charCodeAt(0), 'r'.charCodeAt(0), 't'.charCodeAt(0), - ((sock.sport & 0xff00) >> 8) , (sock.sport & 0xff) - ])); - } - - return peer; - },getPeer:function (sock, addr, port) { - return sock.peers[addr + ':' + port]; - },addPeer:function (sock, peer) { - sock.peers[peer.addr + ':' + peer.port] = peer; - },removePeer:function (sock, peer) { - delete sock.peers[peer.addr + ':' + peer.port]; - },handlePeerEvents:function (sock, peer) { - var first = true; - - var handleOpen = function () { - - Module['websocket'].emit('open', sock.stream.fd); - - try { - var queued = peer.dgram_send_queue.shift(); - while (queued) { - peer.socket.send(queued); - queued = peer.dgram_send_queue.shift(); - } - } catch (e) { - // not much we can do here in the way of proper error handling as we've already - // lied and said this data was sent. shut it down. - peer.socket.close(); - } - }; - - function handleMessage(data) { - assert(typeof data !== 'string' && data.byteLength !== undefined); // must receive an ArrayBuffer - data = new Uint8Array(data); // make a typed array view on the array buffer - - - // if this is the port message, override the peer's port with it - var wasfirst = first; - first = false; - if (wasfirst && - data.length === 10 && - data[0] === 255 && data[1] === 255 && data[2] === 255 && data[3] === 255 && - data[4] === 'p'.charCodeAt(0) && data[5] === 'o'.charCodeAt(0) && data[6] === 'r'.charCodeAt(0) && data[7] === 't'.charCodeAt(0)) { - // update the peer's port and it's key in the peer map - var newport = ((data[8] << 8) | data[9]); - SOCKFS.websocket_sock_ops.removePeer(sock, peer); - peer.port = newport; - SOCKFS.websocket_sock_ops.addPeer(sock, peer); - return; - } - - sock.recv_queue.push({ addr: peer.addr, port: peer.port, data: data }); - Module['websocket'].emit('message', sock.stream.fd); - }; - - if (ENVIRONMENT_IS_NODE) { - peer.socket.on('open', handleOpen); - peer.socket.on('message', function(data, flags) { - if (!flags.binary) { - return; - } - handleMessage((new Uint8Array(data)).buffer); // copy from node Buffer -> ArrayBuffer - }); - peer.socket.on('close', function() { - Module['websocket'].emit('close', sock.stream.fd); - }); - peer.socket.on('error', function(error) { - // Although the ws library may pass errors that may be more descriptive than - // ECONNREFUSED they are not necessarily the expected error code e.g. - // ENOTFOUND on getaddrinfo seems to be node.js specific, so using ECONNREFUSED - // is still probably the most useful thing to do. - sock.error = ERRNO_CODES.ECONNREFUSED; // Used in getsockopt for SOL_SOCKET/SO_ERROR test. - Module['websocket'].emit('error', [sock.stream.fd, sock.error, 'ECONNREFUSED: Connection refused']); - // don't throw - }); - } else { - peer.socket.onopen = handleOpen; - peer.socket.onclose = function() { - Module['websocket'].emit('close', sock.stream.fd); - }; - peer.socket.onmessage = function peer_socket_onmessage(event) { - handleMessage(event.data); - }; - peer.socket.onerror = function(error) { - // The WebSocket spec only allows a 'simple event' to be thrown on error, - // so we only really know as much as ECONNREFUSED. - sock.error = ERRNO_CODES.ECONNREFUSED; // Used in getsockopt for SOL_SOCKET/SO_ERROR test. - Module['websocket'].emit('error', [sock.stream.fd, sock.error, 'ECONNREFUSED: Connection refused']); - }; - } - },poll:function (sock) { - if (sock.type === 1 && sock.server) { - // listen sockets should only say they're available for reading - // if there are pending clients. - return sock.pending.length ? (64 | 1) : 0; - } - - var mask = 0; - var dest = sock.type === 1 ? // we only care about the socket state for connection-based sockets - SOCKFS.websocket_sock_ops.getPeer(sock, sock.daddr, sock.dport) : - null; - - if (sock.recv_queue.length || - !dest || // connection-less sockets are always ready to read - (dest && dest.socket.readyState === dest.socket.CLOSING) || - (dest && dest.socket.readyState === dest.socket.CLOSED)) { // let recv return 0 once closed - mask |= (64 | 1); - } - - if (!dest || // connection-less sockets are always ready to write - (dest && dest.socket.readyState === dest.socket.OPEN)) { - mask |= 4; - } - - if ((dest && dest.socket.readyState === dest.socket.CLOSING) || - (dest && dest.socket.readyState === dest.socket.CLOSED)) { - mask |= 16; - } - - return mask; - },ioctl:function (sock, request, arg) { - switch (request) { - case 21531: - var bytes = 0; - if (sock.recv_queue.length) { - bytes = sock.recv_queue[0].data.length; - } - HEAP32[((arg)>>2)]=bytes; - return 0; - default: - return ERRNO_CODES.EINVAL; - } - },close:function (sock) { - // if we've spawned a listen server, close it - if (sock.server) { - try { - sock.server.close(); - } catch (e) { - } - sock.server = null; - } - // close any peer connections - var peers = Object.keys(sock.peers); - for (var i = 0; i < peers.length; i++) { - var peer = sock.peers[peers[i]]; - try { - peer.socket.close(); - } catch (e) { - } - SOCKFS.websocket_sock_ops.removePeer(sock, peer); - } - return 0; - },bind:function (sock, addr, port) { - if (typeof sock.saddr !== 'undefined' || typeof sock.sport !== 'undefined') { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); // already bound - } - sock.saddr = addr; - sock.sport = port || _mkport(); - // in order to emulate dgram sockets, we need to launch a listen server when - // binding on a connection-less socket - // note: this is only required on the server side - if (sock.type === 2) { - // close the existing server if it exists - if (sock.server) { - sock.server.close(); - sock.server = null; - } - // swallow error operation not supported error that occurs when binding in the - // browser where this isn't supported - try { - sock.sock_ops.listen(sock, 0); - } catch (e) { - if (!(e instanceof FS.ErrnoError)) throw e; - if (e.errno !== ERRNO_CODES.EOPNOTSUPP) throw e; - } - } - },connect:function (sock, addr, port) { - if (sock.server) { - throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP); - } - - // TODO autobind - // if (!sock.addr && sock.type == 2) { - // } - - // early out if we're already connected / in the middle of connecting - if (typeof sock.daddr !== 'undefined' && typeof sock.dport !== 'undefined') { - var dest = SOCKFS.websocket_sock_ops.getPeer(sock, sock.daddr, sock.dport); - if (dest) { - if (dest.socket.readyState === dest.socket.CONNECTING) { - throw new FS.ErrnoError(ERRNO_CODES.EALREADY); - } else { - throw new FS.ErrnoError(ERRNO_CODES.EISCONN); - } - } - } - - // add the socket to our peer list and set our - // destination address / port to match - var peer = SOCKFS.websocket_sock_ops.createPeer(sock, addr, port); - sock.daddr = peer.addr; - sock.dport = peer.port; - - // always "fail" in non-blocking mode - throw new FS.ErrnoError(ERRNO_CODES.EINPROGRESS); - },listen:function (sock, backlog) { - if (!ENVIRONMENT_IS_NODE) { - throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP); - } - if (sock.server) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); // already listening - } - var WebSocketServer = require('ws').Server; - var host = sock.saddr; - sock.server = new WebSocketServer({ - host: host, - port: sock.sport - // TODO support backlog - }); - Module['websocket'].emit('listen', sock.stream.fd); // Send Event with listen fd. - - sock.server.on('connection', function(ws) { - if (sock.type === 1) { - var newsock = SOCKFS.createSocket(sock.family, sock.type, sock.protocol); - - // create a peer on the new socket - var peer = SOCKFS.websocket_sock_ops.createPeer(newsock, ws); - newsock.daddr = peer.addr; - newsock.dport = peer.port; - - // push to queue for accept to pick up - sock.pending.push(newsock); - Module['websocket'].emit('connection', newsock.stream.fd); - } else { - // create a peer on the listen socket so calling sendto - // with the listen socket and an address will resolve - // to the correct client - SOCKFS.websocket_sock_ops.createPeer(sock, ws); - Module['websocket'].emit('connection', sock.stream.fd); - } - }); - sock.server.on('closed', function() { - Module['websocket'].emit('close', sock.stream.fd); - sock.server = null; - }); - sock.server.on('error', function(error) { - // Although the ws library may pass errors that may be more descriptive than - // ECONNREFUSED they are not necessarily the expected error code e.g. - // ENOTFOUND on getaddrinfo seems to be node.js specific, so using EHOSTUNREACH - // is still probably the most useful thing to do. This error shouldn't - // occur in a well written app as errors should get trapped in the compiled - // app's own getaddrinfo call. - sock.error = ERRNO_CODES.EHOSTUNREACH; // Used in getsockopt for SOL_SOCKET/SO_ERROR test. - Module['websocket'].emit('error', [sock.stream.fd, sock.error, 'EHOSTUNREACH: Host is unreachable']); - // don't throw - }); - },accept:function (listensock) { - if (!listensock.server) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - var newsock = listensock.pending.shift(); - newsock.stream.flags = listensock.stream.flags; - return newsock; - },getname:function (sock, peer) { - var addr, port; - if (peer) { - if (sock.daddr === undefined || sock.dport === undefined) { - throw new FS.ErrnoError(ERRNO_CODES.ENOTCONN); - } - addr = sock.daddr; - port = sock.dport; - } else { - // TODO saddr and sport will be set for bind()'d UDP sockets, but what - // should we be returning for TCP sockets that've been connect()'d? - addr = sock.saddr || 0; - port = sock.sport || 0; - } - return { addr: addr, port: port }; - },sendmsg:function (sock, buffer, offset, length, addr, port) { - if (sock.type === 2) { - // connection-less sockets will honor the message address, - // and otherwise fall back to the bound destination address - if (addr === undefined || port === undefined) { - addr = sock.daddr; - port = sock.dport; - } - // if there was no address to fall back to, error out - if (addr === undefined || port === undefined) { - throw new FS.ErrnoError(ERRNO_CODES.EDESTADDRREQ); - } - } else { - // connection-based sockets will only use the bound - addr = sock.daddr; - port = sock.dport; - } - - // find the peer for the destination address - var dest = SOCKFS.websocket_sock_ops.getPeer(sock, addr, port); - - // early out if not connected with a connection-based socket - if (sock.type === 1) { - if (!dest || dest.socket.readyState === dest.socket.CLOSING || dest.socket.readyState === dest.socket.CLOSED) { - throw new FS.ErrnoError(ERRNO_CODES.ENOTCONN); - } else if (dest.socket.readyState === dest.socket.CONNECTING) { - throw new FS.ErrnoError(ERRNO_CODES.EAGAIN); - } - } - - // create a copy of the incoming data to send, as the WebSocket API - // doesn't work entirely with an ArrayBufferView, it'll just send - // the entire underlying buffer - var data; - if (buffer instanceof Array || buffer instanceof ArrayBuffer) { - data = buffer.slice(offset, offset + length); - } else { // ArrayBufferView - data = buffer.buffer.slice(buffer.byteOffset + offset, buffer.byteOffset + offset + length); - } - - // if we're emulating a connection-less dgram socket and don't have - // a cached connection, queue the buffer to send upon connect and - // lie, saying the data was sent now. - if (sock.type === 2) { - if (!dest || dest.socket.readyState !== dest.socket.OPEN) { - // if we're not connected, open a new connection - if (!dest || dest.socket.readyState === dest.socket.CLOSING || dest.socket.readyState === dest.socket.CLOSED) { - dest = SOCKFS.websocket_sock_ops.createPeer(sock, addr, port); - } - dest.dgram_send_queue.push(data); - return length; - } - } - - try { - // send the actual data - dest.socket.send(data); - return length; - } catch (e) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - },recvmsg:function (sock, length) { - // http://pubs.opengroup.org/onlinepubs/7908799/xns/recvmsg.html - if (sock.type === 1 && sock.server) { - // tcp servers should not be recv()'ing on the listen socket - throw new FS.ErrnoError(ERRNO_CODES.ENOTCONN); - } - - var queued = sock.recv_queue.shift(); - if (!queued) { - if (sock.type === 1) { - var dest = SOCKFS.websocket_sock_ops.getPeer(sock, sock.daddr, sock.dport); - - if (!dest) { - // if we have a destination address but are not connected, error out - throw new FS.ErrnoError(ERRNO_CODES.ENOTCONN); - } - else if (dest.socket.readyState === dest.socket.CLOSING || dest.socket.readyState === dest.socket.CLOSED) { - // return null if the socket has closed - return null; - } - else { - // else, our socket is in a valid state but truly has nothing available - throw new FS.ErrnoError(ERRNO_CODES.EAGAIN); - } - } else { - throw new FS.ErrnoError(ERRNO_CODES.EAGAIN); - } - } - - // queued.data will be an ArrayBuffer if it's unadulterated, but if it's - // requeued TCP data it'll be an ArrayBufferView - var queuedLength = queued.data.byteLength || queued.data.length; - var queuedOffset = queued.data.byteOffset || 0; - var queuedBuffer = queued.data.buffer || queued.data; - var bytesRead = Math.min(length, queuedLength); - var res = { - buffer: new Uint8Array(queuedBuffer, queuedOffset, bytesRead), - addr: queued.addr, - port: queued.port - }; - - - // push back any unread data for TCP connections - if (sock.type === 1 && bytesRead < queuedLength) { - var bytesRemaining = queuedLength - bytesRead; - queued.data = new Uint8Array(queuedBuffer, queuedOffset + bytesRead, bytesRemaining); - sock.recv_queue.unshift(queued); - } - - return res; - }}};function _send(fd, buf, len, flags) { - var sock = SOCKFS.getSocket(fd); - if (!sock) { - ___setErrNo(ERRNO_CODES.EBADF); - return -1; - } - // TODO honor flags - return _write(fd, buf, len); - } - - function _pwrite(fildes, buf, nbyte, offset) { - // ssize_t pwrite(int fildes, const void *buf, size_t nbyte, off_t offset); - // http://pubs.opengroup.org/onlinepubs/000095399/functions/write.html - var stream = FS.getStream(fildes); - if (!stream) { - ___setErrNo(ERRNO_CODES.EBADF); - return -1; - } - try { - var slab = HEAP8; - return FS.write(stream, slab, buf, nbyte, offset); - } catch (e) { - FS.handleFSError(e); - return -1; - } - }function _write(fildes, buf, nbyte) { - // ssize_t write(int fildes, const void *buf, size_t nbyte); - // http://pubs.opengroup.org/onlinepubs/000095399/functions/write.html - var stream = FS.getStream(fildes); - if (!stream) { - ___setErrNo(ERRNO_CODES.EBADF); - return -1; - } - - - try { - var slab = HEAP8; - return FS.write(stream, slab, buf, nbyte); - } catch (e) { - FS.handleFSError(e); - return -1; - } - } - - function _fileno(stream) { - // int fileno(FILE *stream); - // http://pubs.opengroup.org/onlinepubs/000095399/functions/fileno.html - stream = FS.getStreamFromPtr(stream); - if (!stream) return -1; - return stream.fd; - }function _fputc(c, stream) { - // int fputc(int c, FILE *stream); - // http://pubs.opengroup.org/onlinepubs/000095399/functions/fputc.html - var chr = unSign(c & 0xFF); - HEAP8[((_fputc.ret)>>0)]=chr; - var fd = _fileno(stream); - var ret = _write(fd, _fputc.ret, 1); - if (ret == -1) { - var streamObj = FS.getStreamFromPtr(stream); - if (streamObj) streamObj.error = true; - return -1; - } else { - return chr; - } - } - - function _glGetString(name_) { - if (GL.stringCache[name_]) return GL.stringCache[name_]; - var ret; - switch(name_) { - case 0x1F00 /* GL_VENDOR */: - case 0x1F01 /* GL_RENDERER */: - case 0x1F02 /* GL_VERSION */: - ret = allocate(intArrayFromString(GLctx.getParameter(name_)), 'i8', ALLOC_NORMAL); - break; - case 0x1F03 /* GL_EXTENSIONS */: - var exts = GLctx.getSupportedExtensions(); - var gl_exts = []; - for (i in exts) { - gl_exts.push(exts[i]); - gl_exts.push("GL_" + exts[i]); - } - ret = allocate(intArrayFromString(gl_exts.join(' ')), 'i8', ALLOC_NORMAL); - break; - case 0x8B8C /* GL_SHADING_LANGUAGE_VERSION */: - ret = allocate(intArrayFromString('OpenGL ES GLSL 1.00 (WebGL)'), 'i8', ALLOC_NORMAL); - break; - default: - GL.recordError(0x0500/*GL_INVALID_ENUM*/); - return 0; - } - GL.stringCache[name_] = ret; - return ret; - } - - function _llvm_stackrestore(p) { - var self = _llvm_stacksave; - var ret = self.LLVM_SAVEDSTACKS[p]; - self.LLVM_SAVEDSTACKS.splice(p, 1); - Runtime.stackRestore(ret); - } - - function _glfwSetWindowShouldClose(winid, value) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.shouldClose = value; - } - - function _fwrite(ptr, size, nitems, stream) { - // size_t fwrite(const void *restrict ptr, size_t size, size_t nitems, FILE *restrict stream); - // http://pubs.opengroup.org/onlinepubs/000095399/functions/fwrite.html - var bytesToWrite = nitems * size; - if (bytesToWrite == 0) return 0; - var fd = _fileno(stream); - var bytesWritten = _write(fd, ptr, bytesToWrite); - if (bytesWritten == -1) { - var streamObj = FS.getStreamFromPtr(stream); - if (streamObj) streamObj.error = true; - return 0; - } else { - return (bytesWritten / size)|0; - } - } - - function _glfwSetScrollCallback(winid, cbfun) { - GLFW.setScrollCallback(winid, cbfun); - } - - function _glfwGetTime() { - return GLFW.getTime() - GLFW.initialTime; - } - - var Browser={mainLoop:{scheduler:null,method:"",shouldPause:false,paused:false,queue:[],pause:function () { - Browser.mainLoop.shouldPause = true; - },resume:function () { - if (Browser.mainLoop.paused) { - Browser.mainLoop.paused = false; - Browser.mainLoop.scheduler(); - } - Browser.mainLoop.shouldPause = false; - },updateStatus:function () { - if (Module['setStatus']) { - var message = Module['statusMessage'] || 'Please wait...'; - var remaining = Browser.mainLoop.remainingBlockers; - var expected = Browser.mainLoop.expectedBlockers; - if (remaining) { - if (remaining < expected) { - Module['setStatus'](message + ' (' + (expected - remaining) + '/' + expected + ')'); - } else { - Module['setStatus'](message); - } - } else { - Module['setStatus'](''); - } - } - },runIter:function (func) { - if (ABORT) return; - if (Module['preMainLoop']) { - var preRet = Module['preMainLoop'](); - if (preRet === false) { - return; // |return false| skips a frame - } - } - try { - func(); - } catch (e) { - if (e instanceof ExitStatus) { - return; - } else { - if (e && typeof e === 'object' && e.stack) Module.printErr('exception thrown: ' + [e, e.stack]); - throw e; - } - } - if (Module['postMainLoop']) Module['postMainLoop'](); - }},isFullScreen:false,pointerLock:false,moduleContextCreatedCallbacks:[],workers:[],init:function () { - if (!Module["preloadPlugins"]) Module["preloadPlugins"] = []; // needs to exist even in workers - - if (Browser.initted) return; - Browser.initted = true; - - try { - new Blob(); - Browser.hasBlobConstructor = true; - } catch(e) { - Browser.hasBlobConstructor = false; - console.log("warning: no blob constructor, cannot create blobs with mimetypes"); - } - Browser.BlobBuilder = typeof MozBlobBuilder != "undefined" ? MozBlobBuilder : (typeof WebKitBlobBuilder != "undefined" ? WebKitBlobBuilder : (!Browser.hasBlobConstructor ? console.log("warning: no BlobBuilder") : null)); - Browser.URLObject = typeof window != "undefined" ? (window.URL ? window.URL : window.webkitURL) : undefined; - if (!Module.noImageDecoding && typeof Browser.URLObject === 'undefined') { - console.log("warning: Browser does not support creating object URLs. Built-in browser image decoding will not be available."); - Module.noImageDecoding = true; - } - - // Support for plugins that can process preloaded files. You can add more of these to - // your app by creating and appending to Module.preloadPlugins. - // - // Each plugin is asked if it can handle a file based on the file's name. If it can, - // it is given the file's raw data. When it is done, it calls a callback with the file's - // (possibly modified) data. For example, a plugin might decompress a file, or it - // might create some side data structure for use later (like an Image element, etc.). - - var imagePlugin = {}; - imagePlugin['canHandle'] = function imagePlugin_canHandle(name) { - return !Module.noImageDecoding && /\.(jpg|jpeg|png|bmp)$/i.test(name); - }; - imagePlugin['handle'] = function imagePlugin_handle(byteArray, name, onload, onerror) { - var b = null; - if (Browser.hasBlobConstructor) { - try { - b = new Blob([byteArray], { type: Browser.getMimetype(name) }); - if (b.size !== byteArray.length) { // Safari bug #118630 - // Safari's Blob can only take an ArrayBuffer - b = new Blob([(new Uint8Array(byteArray)).buffer], { type: Browser.getMimetype(name) }); - } - } catch(e) { - Runtime.warnOnce('Blob constructor present but fails: ' + e + '; falling back to blob builder'); - } - } - if (!b) { - var bb = new Browser.BlobBuilder(); - bb.append((new Uint8Array(byteArray)).buffer); // we need to pass a buffer, and must copy the array to get the right data range - b = bb.getBlob(); - } - var url = Browser.URLObject.createObjectURL(b); - assert(typeof url == 'string', 'createObjectURL must return a url as a string'); - var img = new Image(); - img.onload = function img_onload() { - assert(img.complete, 'Image ' + name + ' could not be decoded'); - var canvas = document.createElement('canvas'); - canvas.width = img.width; - canvas.height = img.height; - var ctx = canvas.getContext('2d'); - ctx.drawImage(img, 0, 0); - Module["preloadedImages"][name] = canvas; - Browser.URLObject.revokeObjectURL(url); - if (onload) onload(byteArray); - }; - img.onerror = function img_onerror(event) { - console.log('Image ' + url + ' could not be decoded'); - if (onerror) onerror(); - }; - img.src = url; - }; - Module['preloadPlugins'].push(imagePlugin); - - var audioPlugin = {}; - audioPlugin['canHandle'] = function audioPlugin_canHandle(name) { - return !Module.noAudioDecoding && name.substr(-4) in { '.ogg': 1, '.wav': 1, '.mp3': 1 }; - }; - audioPlugin['handle'] = function audioPlugin_handle(byteArray, name, onload, onerror) { - var done = false; - function finish(audio) { - if (done) return; - done = true; - Module["preloadedAudios"][name] = audio; - if (onload) onload(byteArray); - } - function fail() { - if (done) return; - done = true; - Module["preloadedAudios"][name] = new Audio(); // empty shim - if (onerror) onerror(); - } - if (Browser.hasBlobConstructor) { - try { - var b = new Blob([byteArray], { type: Browser.getMimetype(name) }); - } catch(e) { - return fail(); - } - var url = Browser.URLObject.createObjectURL(b); // XXX we never revoke this! - assert(typeof url == 'string', 'createObjectURL must return a url as a string'); - var audio = new Audio(); - audio.addEventListener('canplaythrough', function() { finish(audio) }, false); // use addEventListener due to chromium bug 124926 - audio.onerror = function audio_onerror(event) { - if (done) return; - console.log('warning: browser could not fully decode audio ' + name + ', trying slower base64 approach'); - function encode64(data) { - var BASE = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'; - var PAD = '='; - var ret = ''; - var leftchar = 0; - var leftbits = 0; - for (var i = 0; i < data.length; i++) { - leftchar = (leftchar << 8) | data[i]; - leftbits += 8; - while (leftbits >= 6) { - var curr = (leftchar >> (leftbits-6)) & 0x3f; - leftbits -= 6; - ret += BASE[curr]; - } - } - if (leftbits == 2) { - ret += BASE[(leftchar&3) << 4]; - ret += PAD + PAD; - } else if (leftbits == 4) { - ret += BASE[(leftchar&0xf) << 2]; - ret += PAD; - } - return ret; - } - audio.src = 'data:audio/x-' + name.substr(-3) + ';base64,' + encode64(byteArray); - finish(audio); // we don't wait for confirmation this worked - but it's worth trying - }; - audio.src = url; - // workaround for chrome bug 124926 - we do not always get oncanplaythrough or onerror - Browser.safeSetTimeout(function() { - finish(audio); // try to use it even though it is not necessarily ready to play - }, 10000); - } else { - return fail(); - } - }; - Module['preloadPlugins'].push(audioPlugin); - - // Canvas event setup - - var canvas = Module['canvas']; - function pointerLockChange() { - Browser.pointerLock = document['pointerLockElement'] === canvas || - document['mozPointerLockElement'] === canvas || - document['webkitPointerLockElement'] === canvas || - document['msPointerLockElement'] === canvas; - } - if (canvas) { - // forced aspect ratio can be enabled by defining 'forcedAspectRatio' on Module - // Module['forcedAspectRatio'] = 4 / 3; - - canvas.requestPointerLock = canvas['requestPointerLock'] || - canvas['mozRequestPointerLock'] || - canvas['webkitRequestPointerLock'] || - canvas['msRequestPointerLock'] || - function(){}; - canvas.exitPointerLock = document['exitPointerLock'] || - document['mozExitPointerLock'] || - document['webkitExitPointerLock'] || - document['msExitPointerLock'] || - function(){}; // no-op if function does not exist - canvas.exitPointerLock = canvas.exitPointerLock.bind(document); - - - document.addEventListener('pointerlockchange', pointerLockChange, false); - document.addEventListener('mozpointerlockchange', pointerLockChange, false); - document.addEventListener('webkitpointerlockchange', pointerLockChange, false); - document.addEventListener('mspointerlockchange', pointerLockChange, false); - - if (Module['elementPointerLock']) { - canvas.addEventListener("click", function(ev) { - if (!Browser.pointerLock && canvas.requestPointerLock) { - canvas.requestPointerLock(); - ev.preventDefault(); - } - }, false); - } - } - },createContext:function (canvas, useWebGL, setInModule, webGLContextAttributes) { - if (useWebGL && Module.ctx && canvas == Module.canvas) return Module.ctx; // no need to recreate GL context if it's already been created for this canvas. - - var ctx; - var contextHandle; - if (useWebGL) { - // For GLES2/desktop GL compatibility, adjust a few defaults to be different to WebGL defaults, so that they align better with the desktop defaults. - var contextAttributes = { - antialias: false, - alpha: false - }; - - if (webGLContextAttributes) { - for (var attribute in webGLContextAttributes) { - contextAttributes[attribute] = webGLContextAttributes[attribute]; - } - } - - contextHandle = GL.createContext(canvas, contextAttributes); - if (contextHandle) { - ctx = GL.getContext(contextHandle).GLctx; - } - // Set the background of the WebGL canvas to black - canvas.style.backgroundColor = "black"; - } else { - ctx = canvas.getContext('2d'); - } - - if (!ctx) return null; - - if (setInModule) { - if (!useWebGL) assert(typeof GLctx === 'undefined', 'cannot set in module if GLctx is used, but we are a non-GL context that would replace it'); - - Module.ctx = ctx; - if (useWebGL) GL.makeContextCurrent(contextHandle); - Module.useWebGL = useWebGL; - Browser.moduleContextCreatedCallbacks.forEach(function(callback) { callback() }); - Browser.init(); - } - return ctx; - },destroyContext:function (canvas, useWebGL, setInModule) {},fullScreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullScreen:function (lockPointer, resizeCanvas) { - Browser.lockPointer = lockPointer; - Browser.resizeCanvas = resizeCanvas; - if (typeof Browser.lockPointer === 'undefined') Browser.lockPointer = true; - if (typeof Browser.resizeCanvas === 'undefined') Browser.resizeCanvas = false; - - var canvas = Module['canvas']; - function fullScreenChange() { - Browser.isFullScreen = false; - var canvasContainer = canvas.parentNode; - if ((document['webkitFullScreenElement'] || document['webkitFullscreenElement'] || - document['mozFullScreenElement'] || document['mozFullscreenElement'] || - document['fullScreenElement'] || document['fullscreenElement'] || - document['msFullScreenElement'] || document['msFullscreenElement'] || - document['webkitCurrentFullScreenElement']) === canvasContainer) { - canvas.cancelFullScreen = document['cancelFullScreen'] || - document['mozCancelFullScreen'] || - document['webkitCancelFullScreen'] || - document['msExitFullscreen'] || - document['exitFullscreen'] || - function() {}; - canvas.cancelFullScreen = canvas.cancelFullScreen.bind(document); - if (Browser.lockPointer) canvas.requestPointerLock(); - Browser.isFullScreen = true; - if (Browser.resizeCanvas) Browser.setFullScreenCanvasSize(); - } else { - - // remove the full screen specific parent of the canvas again to restore the HTML structure from before going full screen - canvasContainer.parentNode.insertBefore(canvas, canvasContainer); - canvasContainer.parentNode.removeChild(canvasContainer); - - if (Browser.resizeCanvas) Browser.setWindowedCanvasSize(); - } - if (Module['onFullScreen']) Module['onFullScreen'](Browser.isFullScreen); - Browser.updateCanvasDimensions(canvas); - } - - if (!Browser.fullScreenHandlersInstalled) { - Browser.fullScreenHandlersInstalled = true; - document.addEventListener('fullscreenchange', fullScreenChange, false); - document.addEventListener('mozfullscreenchange', fullScreenChange, false); - document.addEventListener('webkitfullscreenchange', fullScreenChange, false); - document.addEventListener('MSFullscreenChange', fullScreenChange, false); - } - - // create a new parent to ensure the canvas has no siblings. this allows browsers to optimize full screen performance when its parent is the full screen root - var canvasContainer = document.createElement("div"); - canvas.parentNode.insertBefore(canvasContainer, canvas); - canvasContainer.appendChild(canvas); - - // use parent of canvas as full screen root to allow aspect ratio correction (Firefox stretches the root to screen size) - canvasContainer.requestFullScreen = canvasContainer['requestFullScreen'] || - canvasContainer['mozRequestFullScreen'] || - canvasContainer['msRequestFullscreen'] || - (canvasContainer['webkitRequestFullScreen'] ? function() { canvasContainer['webkitRequestFullScreen'](Element['ALLOW_KEYBOARD_INPUT']) } : null); - canvasContainer.requestFullScreen(); - },nextRAF:0,fakeRequestAnimationFrame:function (func) { - // try to keep 60fps between calls to here - var now = Date.now(); - if (Browser.nextRAF === 0) { - Browser.nextRAF = now + 1000/60; - } else { - while (now + 2 >= Browser.nextRAF) { // fudge a little, to avoid timer jitter causing us to do lots of delay:0 - Browser.nextRAF += 1000/60; - } - } - var delay = Math.max(Browser.nextRAF - now, 0); - setTimeout(func, delay); - },requestAnimationFrame:function requestAnimationFrame(func) { - if (typeof window === 'undefined') { // Provide fallback to setTimeout if window is undefined (e.g. in Node.js) - Browser.fakeRequestAnimationFrame(func); - } else { - if (!window.requestAnimationFrame) { - window.requestAnimationFrame = window['requestAnimationFrame'] || - window['mozRequestAnimationFrame'] || - window['webkitRequestAnimationFrame'] || - window['msRequestAnimationFrame'] || - window['oRequestAnimationFrame'] || - Browser.fakeRequestAnimationFrame; - } - window.requestAnimationFrame(func); - } - },safeCallback:function (func) { - return function() { - if (!ABORT) return func.apply(null, arguments); - }; - },safeRequestAnimationFrame:function (func) { - return Browser.requestAnimationFrame(function() { - if (!ABORT) func(); - }); - },safeSetTimeout:function (func, timeout) { - Module['noExitRuntime'] = true; - return setTimeout(function() { - if (!ABORT) func(); - }, timeout); - },safeSetInterval:function (func, timeout) { - Module['noExitRuntime'] = true; - return setInterval(function() { - if (!ABORT) func(); - }, timeout); - },getMimetype:function (name) { - return { - 'jpg': 'image/jpeg', - 'jpeg': 'image/jpeg', - 'png': 'image/png', - 'bmp': 'image/bmp', - 'ogg': 'audio/ogg', - 'wav': 'audio/wav', - 'mp3': 'audio/mpeg' - }[name.substr(name.lastIndexOf('.')+1)]; - },getUserMedia:function (func) { - if(!window.getUserMedia) { - window.getUserMedia = navigator['getUserMedia'] || - navigator['mozGetUserMedia']; - } - window.getUserMedia(func); - },getMovementX:function (event) { - return event['movementX'] || - event['mozMovementX'] || - event['webkitMovementX'] || - 0; - },getMovementY:function (event) { - return event['movementY'] || - event['mozMovementY'] || - event['webkitMovementY'] || - 0; - },getMouseWheelDelta:function (event) { - var delta = 0; - switch (event.type) { - case 'DOMMouseScroll': - delta = event.detail; - break; - case 'mousewheel': - delta = event.wheelDelta; - break; - case 'wheel': - delta = event['deltaY']; - break; - default: - throw 'unrecognized mouse wheel event: ' + event.type; - } - return delta; - },mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function (event) { // event should be mousemove, mousedown or mouseup - if (Browser.pointerLock) { - // When the pointer is locked, calculate the coordinates - // based on the movement of the mouse. - // Workaround for Firefox bug 764498 - if (event.type != 'mousemove' && - ('mozMovementX' in event)) { - Browser.mouseMovementX = Browser.mouseMovementY = 0; - } else { - Browser.mouseMovementX = Browser.getMovementX(event); - Browser.mouseMovementY = Browser.getMovementY(event); - } - - // check if SDL is available - if (typeof SDL != "undefined") { - Browser.mouseX = SDL.mouseX + Browser.mouseMovementX; - Browser.mouseY = SDL.mouseY + Browser.mouseMovementY; - } else { - // just add the mouse delta to the current absolut mouse position - // FIXME: ideally this should be clamped against the canvas size and zero - Browser.mouseX += Browser.mouseMovementX; - Browser.mouseY += Browser.mouseMovementY; - } - } else { - // Otherwise, calculate the movement based on the changes - // in the coordinates. - var rect = Module["canvas"].getBoundingClientRect(); - var cw = Module["canvas"].width; - var ch = Module["canvas"].height; - - // Neither .scrollX or .pageXOffset are defined in a spec, but - // we prefer .scrollX because it is currently in a spec draft. - // (see: http://www.w3.org/TR/2013/WD-cssom-view-20131217/) - var scrollX = ((typeof window.scrollX !== 'undefined') ? window.scrollX : window.pageXOffset); - var scrollY = ((typeof window.scrollY !== 'undefined') ? window.scrollY : window.pageYOffset); - // If this assert lands, it's likely because the browser doesn't support scrollX or pageXOffset - // and we have no viable fallback. - assert((typeof scrollX !== 'undefined') && (typeof scrollY !== 'undefined'), 'Unable to retrieve scroll position, mouse positions likely broken.'); - - if (event.type === 'touchstart' || event.type === 'touchend' || event.type === 'touchmove') { - var touch = event.touch; - if (touch === undefined) { - return; // the "touch" property is only defined in SDL - - } - var adjustedX = touch.pageX - (scrollX + rect.left); - var adjustedY = touch.pageY - (scrollY + rect.top); - - adjustedX = adjustedX * (cw / rect.width); - adjustedY = adjustedY * (ch / rect.height); - - var coords = { x: adjustedX, y: adjustedY }; - - if (event.type === 'touchstart') { - Browser.lastTouches[touch.identifier] = coords; - Browser.touches[touch.identifier] = coords; - } else if (event.type === 'touchend' || event.type === 'touchmove') { - Browser.lastTouches[touch.identifier] = Browser.touches[touch.identifier]; - Browser.touches[touch.identifier] = { x: adjustedX, y: adjustedY }; - } - return; - } - - var x = event.pageX - (scrollX + rect.left); - var y = event.pageY - (scrollY + rect.top); - - // the canvas might be CSS-scaled compared to its backbuffer; - // SDL-using content will want mouse coordinates in terms - // of backbuffer units. - x = x * (cw / rect.width); - y = y * (ch / rect.height); - - Browser.mouseMovementX = x - Browser.mouseX; - Browser.mouseMovementY = y - Browser.mouseY; - Browser.mouseX = x; - Browser.mouseY = y; - } - },xhrLoad:function (url, onload, onerror) { - var xhr = new XMLHttpRequest(); - xhr.open('GET', url, true); - xhr.responseType = 'arraybuffer'; - xhr.onload = function xhr_onload() { - if (xhr.status == 200 || (xhr.status == 0 && xhr.response)) { // file URLs can return 0 - onload(xhr.response); - } else { - onerror(); - } - }; - xhr.onerror = onerror; - xhr.send(null); - },asyncLoad:function (url, onload, onerror, noRunDep) { - Browser.xhrLoad(url, function(arrayBuffer) { - assert(arrayBuffer, 'Loading data file "' + url + '" failed (no arrayBuffer).'); - onload(new Uint8Array(arrayBuffer)); - if (!noRunDep) removeRunDependency('al ' + url); - }, function(event) { - if (onerror) { - onerror(); - } else { - throw 'Loading data file "' + url + '" failed.'; - } - }); - if (!noRunDep) addRunDependency('al ' + url); - },resizeListeners:[],updateResizeListeners:function () { - var canvas = Module['canvas']; - Browser.resizeListeners.forEach(function(listener) { - listener(canvas.width, canvas.height); - }); - },setCanvasSize:function (width, height, noUpdates) { - var canvas = Module['canvas']; - Browser.updateCanvasDimensions(canvas, width, height); - if (!noUpdates) Browser.updateResizeListeners(); - },windowedWidth:0,windowedHeight:0,setFullScreenCanvasSize:function () { - // check if SDL is available - if (typeof SDL != "undefined") { - var flags = HEAPU32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)]; - flags = flags | 0x00800000; // set SDL_FULLSCREEN flag - HEAP32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)]=flags - } - Browser.updateResizeListeners(); - },setWindowedCanvasSize:function () { - // check if SDL is available - if (typeof SDL != "undefined") { - var flags = HEAPU32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)]; - flags = flags & ~0x00800000; // clear SDL_FULLSCREEN flag - HEAP32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)]=flags - } - Browser.updateResizeListeners(); - },updateCanvasDimensions:function (canvas, wNative, hNative) { - if (wNative && hNative) { - canvas.widthNative = wNative; - canvas.heightNative = hNative; - } else { - wNative = canvas.widthNative; - hNative = canvas.heightNative; - } - var w = wNative; - var h = hNative; - if (Module['forcedAspectRatio'] && Module['forcedAspectRatio'] > 0) { - if (w/h < Module['forcedAspectRatio']) { - w = Math.round(h * Module['forcedAspectRatio']); - } else { - h = Math.round(w / Module['forcedAspectRatio']); - } - } - if (((document['webkitFullScreenElement'] || document['webkitFullscreenElement'] || - document['mozFullScreenElement'] || document['mozFullscreenElement'] || - document['fullScreenElement'] || document['fullscreenElement'] || - document['msFullScreenElement'] || document['msFullscreenElement'] || - document['webkitCurrentFullScreenElement']) === canvas.parentNode) && (typeof screen != 'undefined')) { - var factor = Math.min(screen.width / w, screen.height / h); - w = Math.round(w * factor); - h = Math.round(h * factor); - } - if (Browser.resizeCanvas) { - if (canvas.width != w) canvas.width = w; - if (canvas.height != h) canvas.height = h; - if (typeof canvas.style != 'undefined') { - canvas.style.removeProperty( "width"); - canvas.style.removeProperty("height"); - } - } else { - if (canvas.width != wNative) canvas.width = wNative; - if (canvas.height != hNative) canvas.height = hNative; - if (typeof canvas.style != 'undefined') { - if (w != wNative || h != hNative) { - canvas.style.setProperty( "width", w + "px", "important"); - canvas.style.setProperty("height", h + "px", "important"); - } else { - canvas.style.removeProperty( "width"); - canvas.style.removeProperty("height"); - } - } - } - },wgetRequests:{},nextWgetRequestHandle:0,getNextWgetRequestHandle:function () { - var handle = Browser.nextWgetRequestHandle; - Browser.nextWgetRequestHandle++; - return handle; - }}; - - function _glCompileShader(shader) { - GLctx.compileShader(GL.shaders[shader]); - } - - function _glDeleteTextures(n, textures) { - for (var i = 0; i < n; i++) { - var id = HEAP32[(((textures)+(i*4))>>2)]; - var texture = GL.textures[id]; - if (!texture) continue; - GLctx.deleteTexture(texture); - texture.name = 0; - GL.textures[id] = null; - } - } - - - function _close(fildes) { - // int close(int fildes); - // http://pubs.opengroup.org/onlinepubs/000095399/functions/close.html - var stream = FS.getStream(fildes); - if (!stream) { - ___setErrNo(ERRNO_CODES.EBADF); - return -1; - } - try { - FS.close(stream); - return 0; - } catch (e) { - FS.handleFSError(e); - return -1; - } - } - - function _fsync(fildes) { - // int fsync(int fildes); - // http://pubs.opengroup.org/onlinepubs/000095399/functions/fsync.html - var stream = FS.getStream(fildes); - if (stream) { - // We write directly to the file system, so there's nothing to do here. - return 0; - } else { - ___setErrNo(ERRNO_CODES.EBADF); - return -1; - } - }function _fclose(stream) { - // int fclose(FILE *stream); - // http://pubs.opengroup.org/onlinepubs/000095399/functions/fclose.html - var fd = _fileno(stream); - _fsync(fd); - return _close(fd); - } - - function _glfwSetWindowSizeCallback(winid, cbfun) { - GLFW.setWindowSizeCallback(winid, cbfun); - } - - - var AL={contexts:[],currentContext:null,alcErr:0,stringCache:{},alcStringCache:{},QUEUE_INTERVAL:25,QUEUE_LOOKAHEAD:100,newSrcId:0,updateSources:function updateSources(context) { - for (var srcId in context.src) { - AL.updateSource(context.src[srcId]); - } - },updateSource:function updateSource(src) { - if (src.state !== 0x1012 /* AL_PLAYING */) { - return; - } - - var currentTime = AL.currentContext.ctx.currentTime; - var startTime = src.bufferPosition; - - for (var i = src.buffersPlayed; i < src.queue.length; i++) { - var entry = src.queue[i]; - - var startOffset = startTime - currentTime; - var endTime = startTime + entry.buffer.duration; - - // Clean up old buffers. - if (currentTime >= endTime) { - // Update our location in the queue. - src.bufferPosition = endTime; - src.buffersPlayed = i + 1; - - // Stop / restart the source when we hit the end. - if (src.buffersPlayed >= src.queue.length) { - if (src.loop) { - AL.setSourceState(src, 0x1012 /* AL_PLAYING */); - } else { - AL.setSourceState(src, 0x1014 /* AL_STOPPED */); - } - } - } - // Process all buffers that'll be played before the next tick. - else if (startOffset < (AL.QUEUE_LOOKAHEAD / 1000) && !entry.src) { - // If the start offset is negative, we need to offset the actual buffer. - var offset = Math.abs(Math.min(startOffset, 0)); - - entry.src = AL.currentContext.ctx.createBufferSource(); - entry.src.buffer = entry.buffer; - entry.src.connect(src.gain); - if (typeof(entry.src.start) !== 'undefined') { - entry.src.start(startTime, offset); - } else if (typeof(entry.src.noteOn) !== 'undefined') { - entry.src.noteOn(startTime); - } - } - - startTime = endTime; - } - },setSourceState:function setSourceState(src, state) { - if (state === 0x1012 /* AL_PLAYING */) { - if (src.state !== 0x1013 /* AL_PAUSED */) { - src.state = 0x1012 /* AL_PLAYING */; - // Reset our position. - src.bufferPosition = AL.currentContext.ctx.currentTime; - src.buffersPlayed = 0; - } else { - src.state = 0x1012 /* AL_PLAYING */; - // Use the current offset from src.bufferPosition to resume at the correct point. - src.bufferPosition = AL.currentContext.ctx.currentTime - src.bufferPosition; - } - AL.stopSourceQueue(src); - AL.updateSource(src); - } else if (state === 0x1013 /* AL_PAUSED */) { - if (src.state === 0x1012 /* AL_PLAYING */) { - src.state = 0x1013 /* AL_PAUSED */; - // Store off the current offset to restore with on resume. - src.bufferPosition = AL.currentContext.ctx.currentTime - src.bufferPosition; - AL.stopSourceQueue(src); - } - } else if (state === 0x1014 /* AL_STOPPED */) { - if (src.state !== 0x1011 /* AL_INITIAL */) { - src.state = 0x1014 /* AL_STOPPED */; - src.buffersPlayed = src.queue.length; - AL.stopSourceQueue(src); - } - } else if (state == 0x1011 /* AL_INITIAL */) { - if (src.state !== 0x1011 /* AL_INITIAL */) { - src.state = 0x1011 /* AL_INITIAL */; - src.bufferPosition = 0; - src.buffersPlayed = 0; - } - } - },stopSourceQueue:function stopSourceQueue(src) { - for (var i = 0; i < src.queue.length; i++) { - var entry = src.queue[i]; - if (entry.src) { - entry.src.stop(0); - entry.src = null; - } - } - }};function _alSourcei(source, param, value) { - if (!AL.currentContext) { - return; - } - var src = AL.currentContext.src[source]; - if (!src) { - AL.currentContext.err = 0xA001 /* AL_INVALID_NAME */; - return; - } - switch (param) { - case 0x1001 /* AL_CONE_INNER_ANGLE */: - src.coneInnerAngle = value; - break; - case 0x1002 /* AL_CONE_OUTER_ANGLE */: - src.coneOuterAngle = value; - break; - case 0x1007 /* AL_LOOPING */: - src.loop = (value === 1 /* AL_TRUE */); - break; - case 0x1009 /* AL_BUFFER */: - var buffer = AL.currentContext.buf[value - 1]; - if (value == 0) { - src.queue = []; - } else { - src.queue = [{ buffer: buffer }]; - } - AL.updateSource(src); - break; - case 0x202 /* AL_SOURCE_RELATIVE */: - if (value === 1 /* AL_TRUE */) { - if (src.panner) { - src.panner = null; - - // Disconnect from the panner. - src.gain.disconnect(); - - src.gain.connect(AL.currentContext.ctx.destination); - } - } else if (value === 0 /* AL_FALSE */) { - if (!src.panner) { - var panner = src.panner = AL.currentContext.ctx.createPanner(); - panner.panningModel = "equalpower"; - panner.distanceModel = "linear"; - panner.refDistance = src.refDistance; - panner.maxDistance = src.maxDistance; - panner.rolloffFactor = src.rolloffFactor; - panner.setPosition(src.position[0], src.position[1], src.position[2]); - panner.setVelocity(src.velocity[0], src.velocity[1], src.velocity[2]); - panner.connect(AL.currentContext.ctx.destination); - - // Disconnect from the default source. - src.gain.disconnect(); - - src.gain.connect(panner); - } - } else { - AL.currentContext.err = 0xA003 /* AL_INVALID_VALUE */; - } - break; - default: - AL.currentContext.err = 0xA002 /* AL_INVALID_ENUM */; - break; - } - } - - function _alSourceQueueBuffers(source, count, buffers) { - if (!AL.currentContext) { - return; - } - var src = AL.currentContext.src[source]; - if (!src) { - AL.currentContext.err = 0xA001 /* AL_INVALID_NAME */; - return; - } - for (var i = 0; i < count; ++i) { - var bufferIdx = HEAP32[(((buffers)+(i*4))>>2)]; - if (bufferIdx > AL.currentContext.buf.length) { - AL.currentContext.err = 0xA001 /* AL_INVALID_NAME */; - return; - } - } - - for (var i = 0; i < count; ++i) { - var bufferIdx = HEAP32[(((buffers)+(i*4))>>2)]; - var buffer = AL.currentContext.buf[bufferIdx - 1]; - src.queue.push({ buffer: buffer, src: null }); - } - - AL.updateSource(src); - } - - function _alcGetCurrentContext() { - for (var i = 0; i < AL.contexts.length; ++i) { - if (AL.contexts[i] == AL.currentContext) { - return i + 1; - } - } - return 0; - } - - - function _emscripten_memcpy_big(dest, src, num) { - HEAPU8.set(HEAPU8.subarray(src, src+num), dest); - return dest; - } - Module["_memcpy"] = _memcpy; - - function _alSourcef(source, param, value) { - if (!AL.currentContext) { - return; - } - var src = AL.currentContext.src[source]; - if (!src) { - AL.currentContext.err = 0xA001 /* AL_INVALID_NAME */; - return; - } - switch (param) { - case 0x1003 /* AL_PITCH */: - break; - case 0x100A /* AL_GAIN */: - src.gain.gain.value = value; - break; - // case 0x100D /* AL_MIN_GAIN */: - // break; - // case 0x100E /* AL_MAX_GAIN */: - // break; - case 0x1023 /* AL_MAX_DISTANCE */: - src.maxDistance = value; - break; - case 0x1021 /* AL_ROLLOFF_FACTOR */: - src.rolloffFactor = value; - break; - case 0x1022 /* AL_CONE_OUTER_GAIN */: - src.coneOuterGain = value; - break; - case 0x1001 /* AL_CONE_INNER_ANGLE */: - src.coneInnerAngle = value; - break; - case 0x1002 /* AL_CONE_OUTER_ANGLE */: - src.coneOuterAngle = value; - break; - case 0x1020 /* AL_REFERENCE_DISTANCE */: - src.refDistance = value; - break; - default: - AL.currentContext.err = 0xA002 /* AL_INVALID_ENUM */; - break; - } - } - - function _alcGetString(device, param) { - if (AL.alcStringCache[param]) return AL.alcStringCache[param]; - var ret; - switch (param) { - case 0 /* ALC_NO_ERROR */: - ret = 'No Error'; - break; - case 0xA001 /* ALC_INVALID_DEVICE */: - ret = 'Invalid Device'; - break; - case 0xA002 /* ALC_INVALID_CONTEXT */: - ret = 'Invalid Context'; - break; - case 0xA003 /* ALC_INVALID_ENUM */: - ret = 'Invalid Enum'; - break; - case 0xA004 /* ALC_INVALID_VALUE */: - ret = 'Invalid Value'; - break; - case 0xA005 /* ALC_OUT_OF_MEMORY */: - ret = 'Out of Memory'; - break; - case 0x1004 /* ALC_DEFAULT_DEVICE_SPECIFIER */: - if (typeof(AudioContext) !== "undefined" || - typeof(webkitAudioContext) !== "undefined") { - ret = 'Device'; - } else { - return 0; - } - break; - case 0x1005 /* ALC_DEVICE_SPECIFIER */: - if (typeof(AudioContext) !== "undefined" || - typeof(webkitAudioContext) !== "undefined") { - ret = 'Device\0'; - } else { - ret = '\0'; - } - break; - case 0x311 /* ALC_CAPTURE_DEFAULT_DEVICE_SPECIFIER */: - return 0; - break; - case 0x310 /* ALC_CAPTURE_DEVICE_SPECIFIER */: - ret = '\0' - break; - case 0x1006 /* ALC_EXTENSIONS */: - if (!device) { - AL.alcErr = 0xA001 /* ALC_INVALID_DEVICE */; - return 0; - } - ret = ''; - break; - default: - AL.alcErr = 0xA003 /* ALC_INVALID_ENUM */; - return 0; - } - - ret = allocate(intArrayFromString(ret), 'i8', ALLOC_NORMAL); - - AL.alcStringCache[param] = ret; - - return ret; - } - - - Module["_memmove"] = _memmove; - - function _glGenTextures(n, textures) { - for (var i = 0; i < n; i++) { - var id = GL.getNewId(GL.textures); - var texture = GLctx.createTexture(); - texture.name = id; - GL.textures[id] = texture; - HEAP32[(((textures)+(i*4))>>2)]=id; - } - } - - function _glDepthFunc(x0) { GLctx.depthFunc(x0) } - - function _glDeleteShader(shader) { - GLctx.deleteShader(GL.shaders[shader]); - GL.shaders[shader] = null; - } - - function _glCreateShader(shaderType) { - var id = GL.getNewId(GL.shaders); - GL.shaders[id] = GLctx.createShader(shaderType); - return id; - } - - function _glUniform1i(location, v0) { - location = GL.uniforms[location]; - GLctx.uniform1i(location, v0); - } - - function _alGetError() { - if (!AL.currentContext) { - return 0xA004 /* AL_INVALID_OPERATION */; - } else { - // Reset error on get. - var err = AL.currentContext.err; - AL.currentContext.err = 0 /* AL_NO_ERROR */; - return err; - } - } - - function _glCompressedTexImage2D(target, level, internalFormat, width, height, border, imageSize, data) { - assert(GL.currentContext.compressionExt); - if (data) { - data = HEAPU8.subarray((data),(data+imageSize)); - } else { - data = null; - } - // N.b. using array notation explicitly to not confuse Closure minification. - GLctx['compressedTexImage2D'](target, level, internalFormat, width, height, border, data); - } - - - - - function _recv(fd, buf, len, flags) { - var sock = SOCKFS.getSocket(fd); - if (!sock) { - ___setErrNo(ERRNO_CODES.EBADF); - return -1; - } - // TODO honor flags - return _read(fd, buf, len); - } - - function _pread(fildes, buf, nbyte, offset) { - // ssize_t pread(int fildes, void *buf, size_t nbyte, off_t offset); - // http://pubs.opengroup.org/onlinepubs/000095399/functions/read.html - var stream = FS.getStream(fildes); - if (!stream) { - ___setErrNo(ERRNO_CODES.EBADF); - return -1; - } - try { - var slab = HEAP8; - return FS.read(stream, slab, buf, nbyte, offset); - } catch (e) { - FS.handleFSError(e); - return -1; - } - }function _read(fildes, buf, nbyte) { - // ssize_t read(int fildes, void *buf, size_t nbyte); - // http://pubs.opengroup.org/onlinepubs/000095399/functions/read.html - var stream = FS.getStream(fildes); - if (!stream) { - ___setErrNo(ERRNO_CODES.EBADF); - return -1; - } - - - try { - var slab = HEAP8; - return FS.read(stream, slab, buf, nbyte); - } catch (e) { - FS.handleFSError(e); - return -1; - } - }function _fread(ptr, size, nitems, stream) { - // size_t fread(void *restrict ptr, size_t size, size_t nitems, FILE *restrict stream); - // http://pubs.opengroup.org/onlinepubs/000095399/functions/fread.html - var bytesToRead = nitems * size; - if (bytesToRead == 0) { - return 0; - } - var bytesRead = 0; - var streamObj = FS.getStreamFromPtr(stream); - if (!streamObj) { - ___setErrNo(ERRNO_CODES.EBADF); - return 0; - } - while (streamObj.ungotten.length && bytesToRead > 0) { - HEAP8[((ptr++)>>0)]=streamObj.ungotten.pop(); - bytesToRead--; - bytesRead++; - } - var err = _read(streamObj.fd, ptr, bytesToRead); - if (err == -1) { - if (streamObj) streamObj.error = true; - return 0; - } - bytesRead += err; - if (bytesRead < bytesToRead) streamObj.eof = true; - return (bytesRead / size)|0; - }function _fgetc(stream) { - // int fgetc(FILE *stream); - // http://pubs.opengroup.org/onlinepubs/000095399/functions/fgetc.html - var streamObj = FS.getStreamFromPtr(stream); - if (!streamObj) return -1; - if (streamObj.eof || streamObj.error) return -1; - var ret = _fread(_fgetc.ret, 1, 1, stream); - if (ret == 0) { - return -1; - } else if (ret == -1) { - streamObj.error = true; - return -1; - } else { - return HEAPU8[((_fgetc.ret)>>0)]; - } - } - - - Module["_memset"] = _memset; - - var _BDtoILow=true; - - function _glGetProgramiv(program, pname, p) { - if (pname == 0x8B84) { // GL_INFO_LOG_LENGTH - HEAP32[((p)>>2)]=GLctx.getProgramInfoLog(GL.programs[program]).length + 1; - } else if (pname == 0x8B87 /* GL_ACTIVE_UNIFORM_MAX_LENGTH */) { - var ptable = GL.programInfos[program]; - if (ptable) { - HEAP32[((p)>>2)]=ptable.maxUniformLength; - return; - } else if (program < GL.counter) { - GL.recordError(0x0502 /* GL_INVALID_OPERATION */); - } else { - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - } - } else if (pname == 0x8B8A /* GL_ACTIVE_ATTRIBUTE_MAX_LENGTH */) { - var ptable = GL.programInfos[program]; - if (ptable) { - if (ptable.maxAttributeLength == -1) { - var program = GL.programs[program]; - var numAttribs = GLctx.getProgramParameter(program, GLctx.ACTIVE_ATTRIBUTES); - ptable.maxAttributeLength = 0; // Spec says if there are no active attribs, 0 must be returned. - for(var i = 0; i < numAttribs; ++i) { - var activeAttrib = GLctx.getActiveAttrib(program, i); - ptable.maxAttributeLength = Math.max(ptable.maxAttributeLength, activeAttrib.name.length+1); - } - } - HEAP32[((p)>>2)]=ptable.maxAttributeLength; - return; - } else if (program < GL.counter) { - GL.recordError(0x0502 /* GL_INVALID_OPERATION */); - } else { - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - } - } else { - HEAP32[((p)>>2)]=GLctx.getProgramParameter(GL.programs[program], pname); - } - } - - function _glVertexAttribPointer(index, size, type, normalized, stride, ptr) { - GLctx.vertexAttribPointer(index, size, type, normalized, stride, ptr); - } - - function _alDeleteBuffers(count, buffers) - { - if (!AL.currentContext) { - return; - } - if (count > AL.currentContext.buf.length) { - AL.currentContext.err = 0xA003 /* AL_INVALID_VALUE */; - return; - } - - for (var i = 0; i < count; ++i) { - var bufferIdx = HEAP32[(((buffers)+(i*4))>>2)] - 1; - - // Make sure the buffer index is valid. - if (bufferIdx >= AL.currentContext.buf.length || !AL.currentContext.buf[bufferIdx]) { - AL.currentContext.err = 0xA001 /* AL_INVALID_NAME */; - return; - } - - // Make sure the buffer is no longer in use. - var buffer = AL.currentContext.buf[bufferIdx]; - for (var srcId in AL.currentContext.src) { - var src = AL.currentContext.src[srcId]; - if (!src) { - continue; - } - for (var k = 0; k < src.queue.length; k++) { - if (buffer === src.queue[k].buffer) { - AL.currentContext.err = 0xA004 /* AL_INVALID_OPERATION */; - return; - } - } - } - } - - for (var i = 0; i < count; ++i) { - var bufferIdx = HEAP32[(((buffers)+(i*4))>>2)] - 1; - delete AL.currentContext.buf[bufferIdx]; - } - } - - function _alcMakeContextCurrent(context) { - if (context == 0) { - AL.currentContext = null; - return 0; - } else { - AL.currentContext = AL.contexts[context - 1]; - return 1; - } - } - - function _alListener3f(param, v1, v2, v3) { - if (!AL.currentContext) { - return; - } - switch (param) { - case 0x1004 /* AL_POSITION */: - AL.currentContext.ctx.listener._position = [v1, v2, v3]; - AL.currentContext.ctx.listener.setPosition(v1, v2, v3); - break; - case 0x1006 /* AL_VELOCITY */: - AL.currentContext.ctx.listener._velocity = [v1, v2, v3]; - AL.currentContext.ctx.listener.setVelocity(v1, v2, v3); - break; - default: - AL.currentContext.err = 0xA002 /* AL_INVALID_ENUM */; - break; - } - } - - function ___assert_fail(condition, filename, line, func) { - ABORT = true; - throw 'Assertion failed: ' + Pointer_stringify(condition) + ', at: ' + [filename ? Pointer_stringify(filename) : 'unknown filename', line, func ? Pointer_stringify(func) : 'unknown function'] + ' at ' + stackTrace(); - } - - function _glfwMakeContextCurrent(winid) {} - - function _glGetProgramInfoLog(program, maxLength, length, infoLog) { - var log = GLctx.getProgramInfoLog(GL.programs[program]); - // Work around a bug in Chromium which causes getProgramInfoLog to return null - if (!log) { - log = ""; - } - log = log.substr(0, maxLength - 1); - writeStringToMemory(log, infoLog); - if (length) { - HEAP32[((length)>>2)]=log.length - } - } - - function _feof(stream) { - // int feof(FILE *stream); - // http://pubs.opengroup.org/onlinepubs/000095399/functions/feof.html - stream = FS.getStreamFromPtr(stream); - return Number(stream && stream.eof); - } - - function _alSource3f(source, param, v1, v2, v3) { - if (!AL.currentContext) { - return; - } - var src = AL.currentContext.src[source]; - if (!src) { - AL.currentContext.err = 0xA001 /* AL_INVALID_NAME */; - return; - } - switch (param) { - case 0x1004 /* AL_POSITION */: - src.position = [v1, v2, v3]; - break; - case 0x1005 /* AL_DIRECTION */: - src.direction = [v1, v2, v3]; - break; - case 0x1006 /* AL_VELOCITY */: - src.velocity = [v1, v2, v3]; - break; - default: - AL.currentContext.err = 0xA002 /* AL_INVALID_ENUM */; - break; - } - } - - function _glDrawArrays(mode, first, count) { - - GLctx.drawArrays(mode, first, count); - - } - - function _ftell(stream) { - // long ftell(FILE *stream); - // http://pubs.opengroup.org/onlinepubs/000095399/functions/ftell.html - stream = FS.getStreamFromPtr(stream); - if (!stream) { - ___setErrNo(ERRNO_CODES.EBADF); - return -1; - } - if (FS.isChrdev(stream.node.mode)) { - ___setErrNo(ERRNO_CODES.ESPIPE); - return -1; - } else { - return stream.position; - } - } - - function _glDeleteProgram(program) { - var program = GL.programs[program]; - GLctx.deleteProgram(program); - program.name = 0; - GL.programs[program] = null; - GL.programInfos[program] = null; - } - - - function __exit(status) { - // void _exit(int status); - // http://pubs.opengroup.org/onlinepubs/000095399/functions/exit.html - Module['exit'](status); - }function _exit(status) { - __exit(status); - } - - - var _setSourceState=undefined;function _alSourcePlay(source) { - if (!AL.currentContext) { - return; - } - var src = AL.currentContext.src[source]; - if (!src) { - AL.currentContext.err = 0xA001 /* AL_INVALID_NAME */; - return; - } - AL.setSourceState(src, 0x1012 /* AL_PLAYING */); - } - - function _glAttachShader(program, shader) { - GLctx.attachShader(GL.programs[program], - GL.shaders[shader]); - } - - function _glfwPollEvents() {} - - function _glfwGetPrimaryMonitor() { - return 1; - } - - function _glDrawElements(mode, count, type, indices) { - - GLctx.drawElements(mode, count, type, indices); - - } - - var _sinf=Math_sin; - - var _cos=Math_cos; - - function _glBufferSubData(target, offset, size, data) { - GLctx.bufferSubData(target, offset, HEAPU8.subarray(data, data+size)); - } - - function _llvm_stacksave() { - var self = _llvm_stacksave; - if (!self.LLVM_SAVEDSTACKS) { - self.LLVM_SAVEDSTACKS = []; - } - self.LLVM_SAVEDSTACKS.push(Runtime.stackSave()); - return self.LLVM_SAVEDSTACKS.length-1; - } - - function _alcDestroyContext(context) { - // Stop playback, etc - clearInterval(AL.contexts[context - 1].interval); - } - - function _glGenerateMipmap(x0) { GLctx.generateMipmap(x0) } - - function _glGetShaderiv(shader, pname, p) { - if (pname == 0x8B84) { // GL_INFO_LOG_LENGTH - var log = GLctx.getShaderInfoLog(GL.shaders[shader]); - // Work around a bug in Chromium which causes getShaderInfoLog to return null - if (!log) log = '(unknown error)'; - HEAP32[((p)>>2)]=log.length + 1; - } else { - HEAP32[((p)>>2)]=GLctx.getShaderParameter(GL.shaders[shader], pname); - } - } - - - Module["_i64Subtract"] = _i64Subtract; - - - Module["_i64Add"] = _i64Add; - - function _glfwSetErrorCallback(cbfun) { - GLFW.errorFunc = cbfun; - } - - function _glUseProgram(program) { - GLctx.useProgram(program ? GL.programs[program] : null); - } - - function _glfwTerminate() { - window.removeEventListener("keydown", GLFW.onKeydown, true); - window.removeEventListener("keypress", GLFW.onKeyPress, true); - window.removeEventListener("keyup", GLFW.onKeyup, true); - Module["canvas"].removeEventListener("mousemove", GLFW.onMousemove, true); - Module["canvas"].removeEventListener("mousedown", GLFW.onMouseButtonDown, true); - Module["canvas"].removeEventListener("mouseup", GLFW.onMouseButtonUp, true); - Module["canvas"].removeEventListener('wheel', GLFW.onMouseWheel, true); - Module["canvas"].removeEventListener('mousewheel', GLFW.onMouseWheel, true); - Module["canvas"].width = Module["canvas"].height = 1; - GLFW.windows = null; - GLFW.active = null; - } - - function _alcCreateContext(device, attrList) { - if (device != 1) { - return 0; - } - - if (attrList) { - return 0; - } - - var ctx; - try { - ctx = new AudioContext(); - } catch (e) { - try { - ctx = new webkitAudioContext(); - } catch (e) {} - } - - if (ctx) { - // Old Web Audio API (e.g. Safari 6.0.5) had an inconsistently named createGainNode function. - if (typeof(ctx.createGain) === 'undefined') ctx.createGain = ctx.createGainNode; - - var gain = ctx.createGain(); - gain.connect(ctx.destination); - var context = { - ctx: ctx, - err: 0, - src: {}, - buf: [], - interval: setInterval(function() { AL.updateSources(context); }, AL.QUEUE_INTERVAL), - gain: gain - }; - AL.contexts.push(context); - return AL.contexts.length; - } else { - return 0; - } - } - - function _alSourceStop(source) { - if (!AL.currentContext) { - return; - } - var src = AL.currentContext.src[source]; - if (!src) { - AL.currentContext.err = 0xA001 /* AL_INVALID_NAME */; - return; - } - AL.setSourceState(src, 0x1014 /* AL_STOPPED */); - } - - function _alcCloseDevice(device) { - // Stop playback, etc - } - - function _glShaderSource(shader, count, string, length) { - var source = GL.getSource(shader, count, string, length); - GLctx.shaderSource(GL.shaders[shader], source); - } - - - function _open(path, oflag, varargs) { - // int open(const char *path, int oflag, ...); - // http://pubs.opengroup.org/onlinepubs/009695399/functions/open.html - var mode = HEAP32[((varargs)>>2)]; - path = Pointer_stringify(path); - try { - var stream = FS.open(path, oflag, mode); - return stream.fd; - } catch (e) { - FS.handleFSError(e); - return -1; - } - }function _fopen(filename, mode) { - // FILE *fopen(const char *restrict filename, const char *restrict mode); - // http://pubs.opengroup.org/onlinepubs/000095399/functions/fopen.html - var flags; - mode = Pointer_stringify(mode); - if (mode[0] == 'r') { - if (mode.indexOf('+') != -1) { - flags = 2; - } else { - flags = 0; - } - } else if (mode[0] == 'w') { - if (mode.indexOf('+') != -1) { - flags = 2; - } else { - flags = 1; - } - flags |= 64; - flags |= 512; - } else if (mode[0] == 'a') { - if (mode.indexOf('+') != -1) { - flags = 2; - } else { - flags = 1; - } - flags |= 64; - flags |= 1024; - } else { - ___setErrNo(ERRNO_CODES.EINVAL); - return 0; - } - var fd = _open(filename, flags, allocate([0x1FF, 0, 0, 0], 'i32', ALLOC_STACK)); // All creation permissions. - return fd === -1 ? 0 : FS.getPtrForStream(FS.getStream(fd)); - } - - var _sqrtf=Math_sqrt; - - - Module["_strncpy"] = _strncpy; - - function _alcOpenDevice(deviceName) { - if (typeof(AudioContext) !== "undefined" || - typeof(webkitAudioContext) !== "undefined") { - return 1; // non-null pointer -- we just simulate one device - } else { - return 0; - } - } - - var _log=Math_log; - - function _glClear(x0) { GLctx.clear(x0) } - - function _glfwSetCharCallback(winid, cbfun) { - GLFW.setCharCallback(winid, cbfun); - } - - function _glEnableVertexAttribArray(index) { - GLctx.enableVertexAttribArray(index); - } - - function _glBindBuffer(target, buffer) { - var bufferObj = buffer ? GL.buffers[buffer] : null; - - - GLctx.bindBuffer(target, bufferObj); - } - - function _alSourceUnqueueBuffers(source, count, buffers) { - if (!AL.currentContext) { - return; - } - var src = AL.currentContext.src[source]; - if (!src) { - AL.currentContext.err = 0xA001 /* AL_INVALID_NAME */; - return; - } - - if (count > src.buffersPlayed) { - AL.currentContext.err = 0xA003 /* AL_INVALID_VALUE */; - return; - } - - for (var i = 0; i < count; i++) { - var entry = src.queue.shift(); - // Write the buffers index out to the return list. - for (var j = 0; j < AL.currentContext.buf.length; j++) { - var b = AL.currentContext.buf[j]; - if (b && b == entry.buffer) { - HEAP32[(((buffers)+(i*4))>>2)]=j+1; - break; - } - } - src.buffersPlayed--; - } - - AL.updateSource(src); - } - - function _glfwSetCursorEnterCallback(winid, cbfun) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.cursorEnterFunc = cbfun; - } - - - Module["_bitshift64Lshr"] = _bitshift64Lshr; - - function _glBufferData(target, size, data, usage) { - switch (usage) { // fix usages, WebGL only has *_DRAW - case 0x88E1: // GL_STREAM_READ - case 0x88E2: // GL_STREAM_COPY - usage = 0x88E0; // GL_STREAM_DRAW - break; - case 0x88E5: // GL_STATIC_READ - case 0x88E6: // GL_STATIC_COPY - usage = 0x88E4; // GL_STATIC_DRAW - break; - case 0x88E9: // GL_DYNAMIC_READ - case 0x88EA: // GL_DYNAMIC_COPY - usage = 0x88E8; // GL_DYNAMIC_DRAW - break; - } - if (!data) { - GLctx.bufferData(target, size, usage); - } else { - GLctx.bufferData(target, HEAPU8.subarray(data, data+size), usage); - } - } - - function _glfwCreateWindow(width, height, title, monitor, share) { - return GLFW.createWindow(width, height, title, monitor, share); - } - - function _glGetUniformLocation(program, name) { - name = Pointer_stringify(name); - - var arrayOffset = 0; - // If user passed an array accessor "[index]", parse the array index off the accessor. - if (name.indexOf(']', name.length-1) !== -1) { - var ls = name.lastIndexOf('['); - var arrayIndex = name.slice(ls+1, -1); - if (arrayIndex.length > 0) { - arrayOffset = parseInt(arrayIndex); - if (arrayOffset < 0) { - return -1; - } - } - name = name.slice(0, ls); - } - - var ptable = GL.programInfos[program]; - if (!ptable) { - return -1; - } - var utable = ptable.uniforms; - var uniformInfo = utable[name]; // returns pair [ dimension_of_uniform_array, uniform_location ] - if (uniformInfo && arrayOffset < uniformInfo[0]) { // Check if user asked for an out-of-bounds element, i.e. for 'vec4 colors[3];' user could ask for 'colors[10]' which should return -1. - return uniformInfo[1]+arrayOffset; - } else { - return -1; - } - } - - var _BDtoIHigh=true; - - function _alGetSourcei(source, param, value) { - if (!AL.currentContext) { - return; - } - var src = AL.currentContext.src[source]; - if (!src) { - AL.currentContext.err = 0xA001 /* AL_INVALID_NAME */; - return; - } - - // Being that we have no way to receive end events from buffer nodes, - // we currently proccess and update a source's buffer queue every - // ~QUEUE_INTERVAL milliseconds. However, this interval is not precise, - // so we also forcefully update the source when alGetSourcei is queried - // to aid in the common scenario of application calling alGetSourcei(AL_BUFFERS_PROCESSED) - // to recycle buffers. - AL.updateSource(src); - - switch (param) { - case 0x202 /* AL_SOURCE_RELATIVE */: - HEAP32[((value)>>2)]=src.panner ? 1 : 0; - break; - case 0x1001 /* AL_CONE_INNER_ANGLE */: - HEAP32[((value)>>2)]=src.coneInnerAngle; - break; - case 0x1002 /* AL_CONE_OUTER_ANGLE */: - HEAP32[((value)>>2)]=src.coneOuterAngle; - break; - case 0x1009 /* AL_BUFFER */: - if (!src.queue.length) { - HEAP32[((value)>>2)]=0; - } else { - // Find the first unprocessed buffer. - var buffer = src.queue[src.buffersPlayed].buffer; - // Return its index. - for (var i = 0; i < AL.currentContext.buf.length; ++i) { - if (buffer == AL.currentContext.buf[i]) { - HEAP32[((value)>>2)]=i+1; - return; - } - } - HEAP32[((value)>>2)]=0; - } - break; - case 0x1010 /* AL_SOURCE_STATE */: - HEAP32[((value)>>2)]=src.state; - break; - case 0x1015 /* AL_BUFFERS_QUEUED */: - HEAP32[((value)>>2)]=src.queue.length - break; - case 0x1016 /* AL_BUFFERS_PROCESSED */: - if (src.loop) { - HEAP32[((value)>>2)]=0 - } else { - HEAP32[((value)>>2)]=src.buffersPlayed - } - break; - default: - AL.currentContext.err = 0xA002 /* AL_INVALID_ENUM */; - break; - } - } - - - - - - Module["_strlen"] = _strlen; - - function __reallyNegative(x) { - return x < 0 || (x === 0 && (1/x) === -Infinity); - }function __formatString(format, varargs) { - var textIndex = format; - var argIndex = 0; - function getNextArg(type) { - // NOTE: Explicitly ignoring type safety. Otherwise this fails: - // int x = 4; printf("%c\n", (char)x); - var ret; - if (type === 'double') { - ret = (HEAP32[((tempDoublePtr)>>2)]=HEAP32[(((varargs)+(argIndex))>>2)],HEAP32[(((tempDoublePtr)+(4))>>2)]=HEAP32[(((varargs)+((argIndex)+(4)))>>2)],(+(HEAPF64[(tempDoublePtr)>>3]))); - } else if (type == 'i64') { - ret = [HEAP32[(((varargs)+(argIndex))>>2)], - HEAP32[(((varargs)+(argIndex+4))>>2)]]; - - } else { - type = 'i32'; // varargs are always i32, i64, or double - ret = HEAP32[(((varargs)+(argIndex))>>2)]; - } - argIndex += Runtime.getNativeFieldSize(type); - return ret; - } - - var ret = []; - var curr, next, currArg; - while(1) { - var startTextIndex = textIndex; - curr = HEAP8[((textIndex)>>0)]; - if (curr === 0) break; - next = HEAP8[((textIndex+1)>>0)]; - if (curr == 37) { - // Handle flags. - var flagAlwaysSigned = false; - var flagLeftAlign = false; - var flagAlternative = false; - var flagZeroPad = false; - var flagPadSign = false; - flagsLoop: while (1) { - switch (next) { - case 43: - flagAlwaysSigned = true; - break; - case 45: - flagLeftAlign = true; - break; - case 35: - flagAlternative = true; - break; - case 48: - if (flagZeroPad) { - break flagsLoop; - } else { - flagZeroPad = true; - break; - } - case 32: - flagPadSign = true; - break; - default: - break flagsLoop; - } - textIndex++; - next = HEAP8[((textIndex+1)>>0)]; - } - - // Handle width. - var width = 0; - if (next == 42) { - width = getNextArg('i32'); - textIndex++; - next = HEAP8[((textIndex+1)>>0)]; - } else { - while (next >= 48 && next <= 57) { - width = width * 10 + (next - 48); - textIndex++; - next = HEAP8[((textIndex+1)>>0)]; - } - } - - // Handle precision. - var precisionSet = false, precision = -1; - if (next == 46) { - precision = 0; - precisionSet = true; - textIndex++; - next = HEAP8[((textIndex+1)>>0)]; - if (next == 42) { - precision = getNextArg('i32'); - textIndex++; - } else { - while(1) { - var precisionChr = HEAP8[((textIndex+1)>>0)]; - if (precisionChr < 48 || - precisionChr > 57) break; - precision = precision * 10 + (precisionChr - 48); - textIndex++; - } - } - next = HEAP8[((textIndex+1)>>0)]; - } - if (precision < 0) { - precision = 6; // Standard default. - precisionSet = false; - } - - // Handle integer sizes. WARNING: These assume a 32-bit architecture! - var argSize; - switch (String.fromCharCode(next)) { - case 'h': - var nextNext = HEAP8[((textIndex+2)>>0)]; - if (nextNext == 104) { - textIndex++; - argSize = 1; // char (actually i32 in varargs) - } else { - argSize = 2; // short (actually i32 in varargs) - } - break; - case 'l': - var nextNext = HEAP8[((textIndex+2)>>0)]; - if (nextNext == 108) { - textIndex++; - argSize = 8; // long long - } else { - argSize = 4; // long - } - break; - case 'L': // long long - case 'q': // int64_t - case 'j': // intmax_t - argSize = 8; - break; - case 'z': // size_t - case 't': // ptrdiff_t - case 'I': // signed ptrdiff_t or unsigned size_t - argSize = 4; - break; - default: - argSize = null; - } - if (argSize) textIndex++; - next = HEAP8[((textIndex+1)>>0)]; - - // Handle type specifier. - switch (String.fromCharCode(next)) { - case 'd': case 'i': case 'u': case 'o': case 'x': case 'X': case 'p': { - // Integer. - var signed = next == 100 || next == 105; - argSize = argSize || 4; - var currArg = getNextArg('i' + (argSize * 8)); - var origArg = currArg; - var argText; - // Flatten i64-1 [low, high] into a (slightly rounded) double - if (argSize == 8) { - currArg = Runtime.makeBigInt(currArg[0], currArg[1], next == 117); - } - // Truncate to requested size. - if (argSize <= 4) { - var limit = Math.pow(256, argSize) - 1; - currArg = (signed ? reSign : unSign)(currArg & limit, argSize * 8); - } - // Format the number. - var currAbsArg = Math.abs(currArg); - var prefix = ''; - if (next == 100 || next == 105) { - if (argSize == 8 && i64Math) argText = i64Math.stringify(origArg[0], origArg[1], null); else - argText = reSign(currArg, 8 * argSize, 1).toString(10); - } else if (next == 117) { - if (argSize == 8 && i64Math) argText = i64Math.stringify(origArg[0], origArg[1], true); else - argText = unSign(currArg, 8 * argSize, 1).toString(10); - currArg = Math.abs(currArg); - } else if (next == 111) { - argText = (flagAlternative ? '0' : '') + currAbsArg.toString(8); - } else if (next == 120 || next == 88) { - prefix = (flagAlternative && currArg != 0) ? '0x' : ''; - if (argSize == 8 && i64Math) { - if (origArg[1]) { - argText = (origArg[1]>>>0).toString(16); - var lower = (origArg[0]>>>0).toString(16); - while (lower.length < 8) lower = '0' + lower; - argText += lower; - } else { - argText = (origArg[0]>>>0).toString(16); - } - } else - if (currArg < 0) { - // Represent negative numbers in hex as 2's complement. - currArg = -currArg; - argText = (currAbsArg - 1).toString(16); - var buffer = []; - for (var i = 0; i < argText.length; i++) { - buffer.push((0xF - parseInt(argText[i], 16)).toString(16)); - } - argText = buffer.join(''); - while (argText.length < argSize * 2) argText = 'f' + argText; - } else { - argText = currAbsArg.toString(16); - } - if (next == 88) { - prefix = prefix.toUpperCase(); - argText = argText.toUpperCase(); - } - } else if (next == 112) { - if (currAbsArg === 0) { - argText = '(nil)'; - } else { - prefix = '0x'; - argText = currAbsArg.toString(16); - } - } - if (precisionSet) { - while (argText.length < precision) { - argText = '0' + argText; - } - } - - // Add sign if needed - if (currArg >= 0) { - if (flagAlwaysSigned) { - prefix = '+' + prefix; - } else if (flagPadSign) { - prefix = ' ' + prefix; - } - } - - // Move sign to prefix so we zero-pad after the sign - if (argText.charAt(0) == '-') { - prefix = '-' + prefix; - argText = argText.substr(1); - } - - // Add padding. - while (prefix.length + argText.length < width) { - if (flagLeftAlign) { - argText += ' '; - } else { - if (flagZeroPad) { - argText = '0' + argText; - } else { - prefix = ' ' + prefix; - } - } - } - - // Insert the result into the buffer. - argText = prefix + argText; - argText.split('').forEach(function(chr) { - ret.push(chr.charCodeAt(0)); - }); - break; - } - case 'f': case 'F': case 'e': case 'E': case 'g': case 'G': { - // Float. - var currArg = getNextArg('double'); - var argText; - if (isNaN(currArg)) { - argText = 'nan'; - flagZeroPad = false; - } else if (!isFinite(currArg)) { - argText = (currArg < 0 ? '-' : '') + 'inf'; - flagZeroPad = false; - } else { - var isGeneral = false; - var effectivePrecision = Math.min(precision, 20); - - // Convert g/G to f/F or e/E, as per: - // http://pubs.opengroup.org/onlinepubs/9699919799/functions/printf.html - if (next == 103 || next == 71) { - isGeneral = true; - precision = precision || 1; - var exponent = parseInt(currArg.toExponential(effectivePrecision).split('e')[1], 10); - if (precision > exponent && exponent >= -4) { - next = ((next == 103) ? 'f' : 'F').charCodeAt(0); - precision -= exponent + 1; - } else { - next = ((next == 103) ? 'e' : 'E').charCodeAt(0); - precision--; - } - effectivePrecision = Math.min(precision, 20); - } - - if (next == 101 || next == 69) { - argText = currArg.toExponential(effectivePrecision); - // Make sure the exponent has at least 2 digits. - if (/[eE][-+]\d$/.test(argText)) { - argText = argText.slice(0, -1) + '0' + argText.slice(-1); - } - } else if (next == 102 || next == 70) { - argText = currArg.toFixed(effectivePrecision); - if (currArg === 0 && __reallyNegative(currArg)) { - argText = '-' + argText; - } - } - - var parts = argText.split('e'); - if (isGeneral && !flagAlternative) { - // Discard trailing zeros and periods. - while (parts[0].length > 1 && parts[0].indexOf('.') != -1 && - (parts[0].slice(-1) == '0' || parts[0].slice(-1) == '.')) { - parts[0] = parts[0].slice(0, -1); - } - } else { - // Make sure we have a period in alternative mode. - if (flagAlternative && argText.indexOf('.') == -1) parts[0] += '.'; - // Zero pad until required precision. - while (precision > effectivePrecision++) parts[0] += '0'; - } - argText = parts[0] + (parts.length > 1 ? 'e' + parts[1] : ''); - - // Capitalize 'E' if needed. - if (next == 69) argText = argText.toUpperCase(); - - // Add sign. - if (currArg >= 0) { - if (flagAlwaysSigned) { - argText = '+' + argText; - } else if (flagPadSign) { - argText = ' ' + argText; - } - } - } - - // Add padding. - while (argText.length < width) { - if (flagLeftAlign) { - argText += ' '; - } else { - if (flagZeroPad && (argText[0] == '-' || argText[0] == '+')) { - argText = argText[0] + '0' + argText.slice(1); - } else { - argText = (flagZeroPad ? '0' : ' ') + argText; - } - } - } - - // Adjust case. - if (next < 97) argText = argText.toUpperCase(); - - // Insert the result into the buffer. - argText.split('').forEach(function(chr) { - ret.push(chr.charCodeAt(0)); - }); - break; - } - case 's': { - // String. - var arg = getNextArg('i8*'); - var argLength = arg ? _strlen(arg) : '(null)'.length; - if (precisionSet) argLength = Math.min(argLength, precision); - if (!flagLeftAlign) { - while (argLength < width--) { - ret.push(32); - } - } - if (arg) { - for (var i = 0; i < argLength; i++) { - ret.push(HEAPU8[((arg++)>>0)]); - } - } else { - ret = ret.concat(intArrayFromString('(null)'.substr(0, argLength), true)); - } - if (flagLeftAlign) { - while (argLength < width--) { - ret.push(32); - } - } - break; - } - case 'c': { - // Character. - if (flagLeftAlign) ret.push(getNextArg('i8')); - while (--width > 0) { - ret.push(32); - } - if (!flagLeftAlign) ret.push(getNextArg('i8')); - break; - } - case 'n': { - // Write the length written so far to the next parameter. - var ptr = getNextArg('i32*'); - HEAP32[((ptr)>>2)]=ret.length; - break; - } - case '%': { - // Literal percent sign. - ret.push(curr); - break; - } - default: { - // Unknown specifiers remain untouched. - for (var i = startTextIndex; i < textIndex + 2; i++) { - ret.push(HEAP8[((i)>>0)]); - } - } - } - textIndex += 2; - // TODO: Support a/A (hex float) and m (last error) specifiers. - // TODO: Support %1${specifier} for arg selection. - } else { - ret.push(curr); - textIndex += 1; - } - } - return ret; - }function _fprintf(stream, format, varargs) { - // int fprintf(FILE *restrict stream, const char *restrict format, ...); - // http://pubs.opengroup.org/onlinepubs/000095399/functions/printf.html - var result = __formatString(format, varargs); - var stack = Runtime.stackSave(); - var ret = _fwrite(allocate(result, 'i8', ALLOC_STACK), 1, result.length, stream); - Runtime.stackRestore(stack); - return ret; - }function _vfprintf(s, f, va_arg) { - return _fprintf(s, f, HEAP32[((va_arg)>>2)]); - } - - function _alcGetContextsDevice(context) { - if (context <= AL.contexts.length && context > 0) { - // Returns the only one audio device - return 1; - } - return 0; - } - - function _alGenSources(count, sources) { - if (!AL.currentContext) { - return; - } - for (var i = 0; i < count; ++i) { - var gain = AL.currentContext.ctx.createGain(); - gain.connect(AL.currentContext.gain); - AL.currentContext.src[AL.newSrcId] = { - state: 0x1011 /* AL_INITIAL */, - queue: [], - loop: false, - get refDistance() { - return this._refDistance || 1; - }, - set refDistance(val) { - this._refDistance = val; - if (this.panner) this.panner.refDistance = val; - }, - get maxDistance() { - return this._maxDistance || 10000; - }, - set maxDistance(val) { - this._maxDistance = val; - if (this.panner) this.panner.maxDistance = val; - }, - get rolloffFactor() { - return this._rolloffFactor || 1; - }, - set rolloffFactor(val) { - this._rolloffFactor = val; - if (this.panner) this.panner.rolloffFactor = val; - }, - get position() { - return this._position || [0, 0, 0]; - }, - set position(val) { - this._position = val; - if (this.panner) this.panner.setPosition(val[0], val[1], val[2]); - }, - get velocity() { - return this._velocity || [0, 0, 0]; - }, - set velocity(val) { - this._velocity = val; - if (this.panner) this.panner.setVelocity(val[0], val[1], val[2]); - }, - get direction() { - return this._direction || [0, 0, 0]; - }, - set direction(val) { - this._direction = val; - if (this.panner) this.panner.setOrientation(val[0], val[1], val[2]); - }, - get coneOuterGain() { - return this._coneOuterGain || 0.0; - }, - set coneOuterGain(val) { - this._coneOuterGain = val; - if (this.panner) this.panner.coneOuterGain = val; - }, - get coneInnerAngle() { - return this._coneInnerAngle || 360.0; - }, - set coneInnerAngle(val) { - this._coneInnerAngle = val; - if (this.panner) this.panner.coneInnerAngle = val; - }, - get coneOuterAngle() { - return this._coneOuterAngle || 360.0; - }, - set coneOuterAngle(val) { - this._coneOuterAngle = val; - if (this.panner) this.panner.coneOuterAngle = val; - }, - gain: gain, - panner: null, - buffersPlayed: 0, - bufferPosition: 0 - }; - HEAP32[(((sources)+(i*4))>>2)]=AL.newSrcId; - AL.newSrcId++; - } - } - - var _llvm_pow_f64=Math_pow; - - function _sbrk(bytes) { - // Implement a Linux-like 'memory area' for our 'process'. - // Changes the size of the memory area by |bytes|; returns the - // address of the previous top ('break') of the memory area - // We control the "dynamic" memory - DYNAMIC_BASE to DYNAMICTOP - var self = _sbrk; - if (!self.called) { - DYNAMICTOP = alignMemoryPage(DYNAMICTOP); // make sure we start out aligned - self.called = true; - assert(Runtime.dynamicAlloc); - self.alloc = Runtime.dynamicAlloc; - Runtime.dynamicAlloc = function() { abort('cannot dynamically allocate, sbrk now has control') }; - } - var ret = DYNAMICTOP; - if (bytes != 0) self.alloc(bytes); - return ret; // Previous break location. - } - - - - function __getFloat(text) { - return /^[+-]?[0-9]*\.?[0-9]+([eE][+-]?[0-9]+)?/.exec(text); - }function __scanString(format, get, unget, varargs) { - if (!__scanString.whiteSpace) { - __scanString.whiteSpace = {}; - __scanString.whiteSpace[32] = 1; - __scanString.whiteSpace[9] = 1; - __scanString.whiteSpace[10] = 1; - __scanString.whiteSpace[11] = 1; - __scanString.whiteSpace[12] = 1; - __scanString.whiteSpace[13] = 1; - } - // Supports %x, %4x, %d.%d, %lld, %s, %f, %lf. - // TODO: Support all format specifiers. - format = Pointer_stringify(format); - var soFar = 0; - if (format.indexOf('%n') >= 0) { - // need to track soFar - var _get = get; - get = function get() { - soFar++; - return _get(); - } - var _unget = unget; - unget = function unget() { - soFar--; - return _unget(); - } - } - var formatIndex = 0; - var argsi = 0; - var fields = 0; - var argIndex = 0; - var next; - - mainLoop: - for (var formatIndex = 0; formatIndex < format.length;) { - if (format[formatIndex] === '%' && format[formatIndex+1] == 'n') { - var argPtr = HEAP32[(((varargs)+(argIndex))>>2)]; - argIndex += Runtime.getAlignSize('void*', null, true); - HEAP32[((argPtr)>>2)]=soFar; - formatIndex += 2; - continue; - } - - if (format[formatIndex] === '%') { - var nextC = format.indexOf('c', formatIndex+1); - if (nextC > 0) { - var maxx = 1; - if (nextC > formatIndex+1) { - var sub = format.substring(formatIndex+1, nextC); - maxx = parseInt(sub); - if (maxx != sub) maxx = 0; - } - if (maxx) { - var argPtr = HEAP32[(((varargs)+(argIndex))>>2)]; - argIndex += Runtime.getAlignSize('void*', null, true); - fields++; - for (var i = 0; i < maxx; i++) { - next = get(); - HEAP8[((argPtr++)>>0)]=next; - if (next === 0) return i > 0 ? fields : fields-1; // we failed to read the full length of this field - } - formatIndex += nextC - formatIndex + 1; - continue; - } - } - } - - // handle %[...] - if (format[formatIndex] === '%' && format.indexOf('[', formatIndex+1) > 0) { - var match = /\%([0-9]*)\[(\^)?(\]?[^\]]*)\]/.exec(format.substring(formatIndex)); - if (match) { - var maxNumCharacters = parseInt(match[1]) || Infinity; - var negateScanList = (match[2] === '^'); - var scanList = match[3]; - - // expand "middle" dashs into character sets - var middleDashMatch; - while ((middleDashMatch = /([^\-])\-([^\-])/.exec(scanList))) { - var rangeStartCharCode = middleDashMatch[1].charCodeAt(0); - var rangeEndCharCode = middleDashMatch[2].charCodeAt(0); - for (var expanded = ''; rangeStartCharCode <= rangeEndCharCode; expanded += String.fromCharCode(rangeStartCharCode++)); - scanList = scanList.replace(middleDashMatch[1] + '-' + middleDashMatch[2], expanded); - } - - var argPtr = HEAP32[(((varargs)+(argIndex))>>2)]; - argIndex += Runtime.getAlignSize('void*', null, true); - fields++; - - for (var i = 0; i < maxNumCharacters; i++) { - next = get(); - if (negateScanList) { - if (scanList.indexOf(String.fromCharCode(next)) < 0) { - HEAP8[((argPtr++)>>0)]=next; - } else { - unget(); - break; - } - } else { - if (scanList.indexOf(String.fromCharCode(next)) >= 0) { - HEAP8[((argPtr++)>>0)]=next; - } else { - unget(); - break; - } - } - } - - // write out null-terminating character - HEAP8[((argPtr++)>>0)]=0; - formatIndex += match[0].length; - - continue; - } - } - // remove whitespace - while (1) { - next = get(); - if (next == 0) return fields; - if (!(next in __scanString.whiteSpace)) break; - } - unget(); - - if (format[formatIndex] === '%') { - formatIndex++; - var suppressAssignment = false; - if (format[formatIndex] == '*') { - suppressAssignment = true; - formatIndex++; - } - var maxSpecifierStart = formatIndex; - while (format[formatIndex].charCodeAt(0) >= 48 && - format[formatIndex].charCodeAt(0) <= 57) { - formatIndex++; - } - var max_; - if (formatIndex != maxSpecifierStart) { - max_ = parseInt(format.slice(maxSpecifierStart, formatIndex), 10); - } - var long_ = false; - var half = false; - var quarter = false; - var longLong = false; - if (format[formatIndex] == 'l') { - long_ = true; - formatIndex++; - if (format[formatIndex] == 'l') { - longLong = true; - formatIndex++; - } - } else if (format[formatIndex] == 'h') { - half = true; - formatIndex++; - if (format[formatIndex] == 'h') { - quarter = true; - formatIndex++; - } - } - var type = format[formatIndex]; - formatIndex++; - var curr = 0; - var buffer = []; - // Read characters according to the format. floats are trickier, they may be in an unfloat state in the middle, then be a valid float later - if (type == 'f' || type == 'e' || type == 'g' || - type == 'F' || type == 'E' || type == 'G') { - next = get(); - while (next > 0 && (!(next in __scanString.whiteSpace))) { - buffer.push(String.fromCharCode(next)); - next = get(); - } - var m = __getFloat(buffer.join('')); - var last = m ? m[0].length : 0; - for (var i = 0; i < buffer.length - last + 1; i++) { - unget(); - } - buffer.length = last; - } else { - next = get(); - var first = true; - - // Strip the optional 0x prefix for %x. - if ((type == 'x' || type == 'X') && (next == 48)) { - var peek = get(); - if (peek == 120 || peek == 88) { - next = get(); - } else { - unget(); - } - } - - while ((curr < max_ || isNaN(max_)) && next > 0) { - if (!(next in __scanString.whiteSpace) && // stop on whitespace - (type == 's' || - ((type === 'd' || type == 'u' || type == 'i') && ((next >= 48 && next <= 57) || - (first && next == 45))) || - ((type === 'x' || type === 'X') && (next >= 48 && next <= 57 || - next >= 97 && next <= 102 || - next >= 65 && next <= 70))) && - (formatIndex >= format.length || next !== format[formatIndex].charCodeAt(0))) { // Stop when we read something that is coming up - buffer.push(String.fromCharCode(next)); - next = get(); - curr++; - first = false; - } else { - break; - } - } - unget(); - } - if (buffer.length === 0) return 0; // Failure. - if (suppressAssignment) continue; - - var text = buffer.join(''); - var argPtr = HEAP32[(((varargs)+(argIndex))>>2)]; - argIndex += Runtime.getAlignSize('void*', null, true); - var base = 10; - switch (type) { - case 'X': case 'x': - base = 16; - case 'd': case 'u': case 'i': - if (quarter) { - HEAP8[((argPtr)>>0)]=parseInt(text, base); - } else if (half) { - HEAP16[((argPtr)>>1)]=parseInt(text, base); - } else if (longLong) { - (tempI64 = [parseInt(text, base)>>>0,(tempDouble=parseInt(text, base),(+(Math_abs(tempDouble))) >= 1.0 ? (tempDouble > 0.0 ? ((Math_min((+(Math_floor((tempDouble)/4294967296.0))), 4294967295.0))|0)>>>0 : (~~((+(Math_ceil((tempDouble - +(((~~(tempDouble)))>>>0))/4294967296.0)))))>>>0) : 0)],HEAP32[((argPtr)>>2)]=tempI64[0],HEAP32[(((argPtr)+(4))>>2)]=tempI64[1]); - } else { - HEAP32[((argPtr)>>2)]=parseInt(text, base); - } - break; - case 'F': - case 'f': - case 'E': - case 'e': - case 'G': - case 'g': - case 'E': - // fallthrough intended - if (long_) { - HEAPF64[((argPtr)>>3)]=parseFloat(text); - } else { - HEAPF32[((argPtr)>>2)]=parseFloat(text); - } - break; - case 's': - var array = intArrayFromString(text); - for (var j = 0; j < array.length; j++) { - HEAP8[(((argPtr)+(j))>>0)]=array[j]; - } - break; - } - fields++; - } else if (format[formatIndex].charCodeAt(0) in __scanString.whiteSpace) { - next = get(); - while (next in __scanString.whiteSpace) { - if (next <= 0) break mainLoop; // End of input. - next = get(); - } - unget(next); - formatIndex++; - } else { - // Not a specifier. - next = get(); - if (format[formatIndex].charCodeAt(0) !== next) { - unget(next); - break mainLoop; - } - formatIndex++; - } - } - return fields; - } - - function _ungetc(c, stream) { - // int ungetc(int c, FILE *stream); - // http://pubs.opengroup.org/onlinepubs/000095399/functions/ungetc.html - stream = FS.getStreamFromPtr(stream); - if (!stream) { - return -1; - } - if (c === -1) { - // do nothing for EOF character - return c; - } - c = unSign(c & 0xFF); - stream.ungotten.push(c); - stream.eof = false; - return c; - }function _fscanf(stream, format, varargs) { - // int fscanf(FILE *restrict stream, const char *restrict format, ... ); - // http://pubs.opengroup.org/onlinepubs/000095399/functions/scanf.html - var streamObj = FS.getStreamFromPtr(stream); - if (!streamObj) { - return -1; - } - var buffer = []; - function get() { - var c = _fgetc(stream); - buffer.push(c); - return c; - }; - function unget() { - _ungetc(buffer.pop(), stream); - }; - return __scanString(format, get, unget, varargs); - } - - function ___errno_location() { - return ___errno_state; - } - - var _BItoD=true; - - function _glfwInit() { - if (GLFW.windows) return 1; // GL_TRUE - - GLFW.initalTime = GLFW.getTime(); - GLFW.hints = GLFW.defaultHints; - GLFW.windows = new Array() - GLFW.active = null; - - window.addEventListener("keydown", GLFW.onKeydown, true); - window.addEventListener("keypress", GLFW.onKeyPress, true); - window.addEventListener("keyup", GLFW.onKeyup, true); - Module["canvas"].addEventListener("mousemove", GLFW.onMousemove, true); - Module["canvas"].addEventListener("mousedown", GLFW.onMouseButtonDown, true); - Module["canvas"].addEventListener("mouseup", GLFW.onMouseButtonUp, true); - Module["canvas"].addEventListener('wheel', GLFW.onMouseWheel, true); - Module["canvas"].addEventListener('mousewheel', GLFW.onMouseWheel, true); - return 1; // GL_TRUE - } - - function _alDeleteSources(count, sources) { - if (!AL.currentContext) { - return; - } - for (var i = 0; i < count; ++i) { - var sourceIdx = HEAP32[(((sources)+(i*4))>>2)]; - delete AL.currentContext.src[sourceIdx]; - } - } - - function _glfwSwapBuffers(winid) { - GLFW.swapBuffers(winid); - } - - function _glDisableVertexAttribArray(index) { - GLctx.disableVertexAttribArray(index); - } - - function _glTexImage2D(target, level, internalFormat, width, height, border, format, type, pixels) { - if (pixels) { - var data = GL.getTexPixelData(type, format, width, height, pixels, internalFormat); - pixels = data.pixels; - internalFormat = data.internalFormat; - } else { - pixels = null; - } - GLctx.texImage2D(target, level, internalFormat, width, height, border, format, type, pixels); - } - - function _sysconf(name) { - // long sysconf(int name); - // http://pubs.opengroup.org/onlinepubs/009695399/functions/sysconf.html - switch(name) { - case 30: return PAGE_SIZE; - case 132: - case 133: - case 12: - case 137: - case 138: - case 15: - case 235: - case 16: - case 17: - case 18: - case 19: - case 20: - case 149: - case 13: - case 10: - case 236: - case 153: - case 9: - case 21: - case 22: - case 159: - case 154: - case 14: - case 77: - case 78: - case 139: - case 80: - case 81: - case 79: - case 82: - case 68: - case 67: - case 164: - case 11: - case 29: - case 47: - case 48: - case 95: - case 52: - case 51: - case 46: - return 200809; - case 27: - case 246: - case 127: - case 128: - case 23: - case 24: - case 160: - case 161: - case 181: - case 182: - case 242: - case 183: - case 184: - case 243: - case 244: - case 245: - case 165: - case 178: - case 179: - case 49: - case 50: - case 168: - case 169: - case 175: - case 170: - case 171: - case 172: - case 97: - case 76: - case 32: - case 173: - case 35: - return -1; - case 176: - case 177: - case 7: - case 155: - case 8: - case 157: - case 125: - case 126: - case 92: - case 93: - case 129: - case 130: - case 131: - case 94: - case 91: - return 1; - case 74: - case 60: - case 69: - case 70: - case 4: - return 1024; - case 31: - case 42: - case 72: - return 32; - case 87: - case 26: - case 33: - return 2147483647; - case 34: - case 1: - return 47839; - case 38: - case 36: - return 99; - case 43: - case 37: - return 2048; - case 0: return 2097152; - case 3: return 65536; - case 28: return 32768; - case 44: return 32767; - case 75: return 16384; - case 39: return 1000; - case 89: return 700; - case 71: return 256; - case 40: return 255; - case 2: return 100; - case 180: return 64; - case 25: return 20; - case 5: return 16; - case 6: return 6; - case 73: return 4; - case 84: { - if (typeof navigator === 'object') return navigator['hardwareConcurrency'] || 1; - return 1; - } - } - ___setErrNo(ERRNO_CODES.EINVAL); - return -1; - } - - - function _glfwDefaultWindowHints() { - GLFW.hints = GLFW.defaultHints; - } - - function _fgets(s, n, stream) { - // char *fgets(char *restrict s, int n, FILE *restrict stream); - // http://pubs.opengroup.org/onlinepubs/000095399/functions/fgets.html - var streamObj = FS.getStreamFromPtr(stream); - if (!streamObj) return 0; - if (streamObj.error || streamObj.eof) return 0; - var byte_; - for (var i = 0; i < n - 1 && byte_ != 10; i++) { - byte_ = _fgetc(stream); - if (byte_ == -1) { - if (streamObj.error || (streamObj.eof && i == 0)) return 0; - else if (streamObj.eof) break; - } - HEAP8[(((s)+(i))>>0)]=byte_; - } - HEAP8[(((s)+(i))>>0)]=0; - return s; - } - - function _abort() { - Module['abort'](); - } - - function _glfwSetMouseButtonCallback(winid, cbfun) { - GLFW.setMouseButtonCallback(winid, cbfun); - } - - function _alGenBuffers(count, buffers) { - if (!AL.currentContext) { - return; - } - for (var i = 0; i < count; ++i) { - AL.currentContext.buf.push(null); - HEAP32[(((buffers)+(i*4))>>2)]=AL.currentContext.buf.length; - } - } - - function _glEnable(x0) { GLctx.enable(x0) } - - function _alBufferData(buffer, format, data, size, freq) { - if (!AL.currentContext) { - return; - } - if (buffer > AL.currentContext.buf.length) { - return; - } - var channels, bytes; - switch (format) { - case 0x1100 /* AL_FORMAT_MONO8 */: - bytes = 1; - channels = 1; - break; - case 0x1101 /* AL_FORMAT_MONO16 */: - bytes = 2; - channels = 1; - break; - case 0x1102 /* AL_FORMAT_STEREO8 */: - bytes = 1; - channels = 2; - break; - case 0x1103 /* AL_FORMAT_STEREO16 */: - bytes = 2; - channels = 2; - break; - default: - return; - } - try { - AL.currentContext.buf[buffer - 1] = AL.currentContext.ctx.createBuffer(channels, size / (bytes * channels), freq); - AL.currentContext.buf[buffer - 1].bytesPerSample = bytes; - } catch (e) { - AL.currentContext.err = 0xA003 /* AL_INVALID_VALUE */; - return; - } - var buf = new Array(channels); - for (var i = 0; i < channels; ++i) { - buf[i] = AL.currentContext.buf[buffer - 1].getChannelData(i); - } - for (var i = 0; i < size / (bytes * channels); ++i) { - for (var j = 0; j < channels; ++j) { - switch (bytes) { - case 1: - var val = HEAP8[(((data)+(i*channels+j))>>0)] & 0xff; // unsigned - buf[j][i] = -1.0 + val * (2/256); - break; - case 2: - var val = HEAP16[(((data)+(2*(i*channels+j)))>>1)]; - buf[j][i] = val/32768; - break; - } - } - } - } - - var _floor=Math_floor; - - - - function _lseek(fildes, offset, whence) { - // off_t lseek(int fildes, off_t offset, int whence); - // http://pubs.opengroup.org/onlinepubs/000095399/functions/lseek.html - var stream = FS.getStream(fildes); - if (!stream) { - ___setErrNo(ERRNO_CODES.EBADF); - return -1; - } - try { - return FS.llseek(stream, offset, whence); - } catch (e) { - FS.handleFSError(e); - return -1; - } - }function _fseek(stream, offset, whence) { - // int fseek(FILE *stream, long offset, int whence); - // http://pubs.opengroup.org/onlinepubs/000095399/functions/fseek.html - var fd = _fileno(stream); - var ret = _lseek(fd, offset, whence); - if (ret == -1) { - return -1; - } - stream = FS.getStreamFromPtr(stream); - stream.eof = false; - return 0; - } - - function _glGenBuffers(n, buffers) { - for (var i = 0; i < n; i++) { - var id = GL.getNewId(GL.buffers); - var buffer = GLctx.createBuffer(); - buffer.name = id; - GL.buffers[id] = buffer; - HEAP32[(((buffers)+(i*4))>>2)]=id; - } - } - - function _glGetAttribLocation(program, name) { - program = GL.programs[program]; - name = Pointer_stringify(name); - return GLctx.getAttribLocation(program, name); - } - - function _rewind(stream) { - // void rewind(FILE *stream); - // http://pubs.opengroup.org/onlinepubs/000095399/functions/rewind.html - _fseek(stream, 0, 0); // SEEK_SET. - var streamObj = FS.getStreamFromPtr(stream); - if (streamObj) streamObj.error = false; - } - - function _glfwWindowHint(target, hint) { - GLFW.hints[target] = hint; - } - - var _sin=Math_sin; - - function _glBlendFunc(x0, x1) { GLctx.blendFunc(x0, x1) } - - function _glCreateProgram() { - var id = GL.getNewId(GL.programs); - var program = GLctx.createProgram(); - program.name = id; - GL.programs[id] = program; - return id; - } - - function _glPixelStorei(pname, param) { - if (pname == 0x0D05 /* GL_PACK_ALIGNMENT */) { - GL.packAlignment = param; - } else if (pname == 0x0cf5 /* GL_UNPACK_ALIGNMENT */) { - GL.unpackAlignment = param; - } - GLctx.pixelStorei(pname, param); - } - - function _glViewport(x0, x1, x2, x3) { GLctx.viewport(x0, x1, x2, x3) } - - function _emscripten_set_main_loop(func, fps, simulateInfiniteLoop, arg) { - Module['noExitRuntime'] = true; - - assert(!Browser.mainLoop.scheduler, 'there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one, if you want to'); - - Browser.mainLoop.shouldPause = Browser.mainLoop.paused = false; // if we were cancelled or paused, undo that - - Browser.mainLoop.runner = function Browser_mainLoop_runner() { - if (ABORT) return; - if (Browser.mainLoop.queue.length > 0) { - var start = Date.now(); - var blocker = Browser.mainLoop.queue.shift(); - blocker.func(blocker.arg); - if (Browser.mainLoop.remainingBlockers) { - var remaining = Browser.mainLoop.remainingBlockers; - var next = remaining%1 == 0 ? remaining-1 : Math.floor(remaining); - if (blocker.counted) { - Browser.mainLoop.remainingBlockers = next; - } else { - // not counted, but move the progress along a tiny bit - next = next + 0.5; // do not steal all the next one's progress - Browser.mainLoop.remainingBlockers = (8*remaining + next)/9; - } - } - console.log('main loop blocker "' + blocker.name + '" took ' + (Date.now() - start) + ' ms'); //, left: ' + Browser.mainLoop.remainingBlockers); - Browser.mainLoop.updateStatus(); - setTimeout(Browser.mainLoop.runner, 0); - return; - } - if (Browser.mainLoop.shouldPause) { - // catch pauses from non-main loop sources - Browser.mainLoop.paused = true; - Browser.mainLoop.shouldPause = false; - return; - } - - // Signal GL rendering layer that processing of a new frame is about to start. This helps it optimize - // VBO double-buffering and reduce GPU stalls. - - if (Browser.mainLoop.method === 'timeout' && Module.ctx) { - Module.printErr('Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!'); - Browser.mainLoop.method = ''; // just warn once per call to set main loop - } - - Browser.mainLoop.runIter(function() { - if (typeof arg !== 'undefined') { - Runtime.dynCall('vi', func, [arg]); - } else { - Runtime.dynCall('v', func); - } - }); - - // Queue new audio data. This is important to be right after the main loop invocation, so that we will immediately be able - // to queue the newest produced audio samples. - // TODO: Consider adding pre- and post- rAF callbacks so that GL.newRenderingFrameStarted() and SDL.audio.queueNewAudioData() - // do not need to be hardcoded into this function, but can be more generic. - if (typeof SDL === 'object' && SDL.audio && SDL.audio.queueNewAudioData) SDL.audio.queueNewAudioData(); - - if (Browser.mainLoop.shouldPause) { - // catch pauses from the main loop itself - Browser.mainLoop.paused = true; - Browser.mainLoop.shouldPause = false; - return; - } - Browser.mainLoop.scheduler(); - } - if (fps && fps > 0) { - Browser.mainLoop.scheduler = function Browser_mainLoop_scheduler() { - setTimeout(Browser.mainLoop.runner, 1000/fps); // doing this each time means that on exception, we stop - }; - Browser.mainLoop.method = 'timeout'; - } else { - Browser.mainLoop.scheduler = function Browser_mainLoop_scheduler() { - Browser.requestAnimationFrame(Browser.mainLoop.runner); - }; - Browser.mainLoop.method = 'rAF'; - } - Browser.mainLoop.scheduler(); - - if (simulateInfiniteLoop) { - throw 'SimulateInfiniteLoop'; - } - } - - function _glfwDestroyWindow(winid) { - return GLFW.destroyWindow(winid); - } - - - function _strerror_r(errnum, strerrbuf, buflen) { - if (errnum in ERRNO_MESSAGES) { - if (ERRNO_MESSAGES[errnum].length > buflen - 1) { - return ___setErrNo(ERRNO_CODES.ERANGE); - } else { - var msg = ERRNO_MESSAGES[errnum]; - writeAsciiToMemory(msg, strerrbuf); - return 0; - } - } else { - return ___setErrNo(ERRNO_CODES.EINVAL); - } - }function _strerror(errnum) { - if (!_strerror.buffer) _strerror.buffer = _malloc(256); - _strerror_r(errnum, _strerror.buffer, 256); - return _strerror.buffer; - } - - function _glUniformMatrix4fv(location, count, transpose, value) { - location = GL.uniforms[location]; - var view; - if (count === 1) { - // avoid allocation for the common case of uploading one uniform matrix - view = GL.miniTempBufferViews[15]; - for (var i = 0; i < 16; i++) { - view[i] = HEAPF32[(((value)+(i*4))>>2)]; - } - } else { - view = HEAPF32.subarray((value)>>2,(value+count*64)>>2); - } - GLctx.uniformMatrix4fv(location, transpose, view); - } - - - Module["_bitshift64Shl"] = _bitshift64Shl; - - function _glTexParameteri(x0, x1, x2) { GLctx.texParameteri(x0, x1, x2) } - - function _glfwSetKeyCallback(winid, cbfun) { - GLFW.setKeyCallback(winid, cbfun); - } - - function _glDeleteBuffers(n, buffers) { - for (var i = 0; i < n; i++) { - var id = HEAP32[(((buffers)+(i*4))>>2)]; - var buffer = GL.buffers[id]; - - // From spec: "glDeleteBuffers silently ignores 0's and names that do not - // correspond to existing buffer objects." - if (!buffer) continue; - - GLctx.deleteBuffer(buffer); - buffer.name = 0; - GL.buffers[id] = null; - - if (id == GL.currArrayBuffer) GL.currArrayBuffer = 0; - if (id == GL.currElementArrayBuffer) GL.currElementArrayBuffer = 0; - } - } - - function _glfwGetKey(winid, key) { - return GLFW.getKey(winid, key); - } - - var _exp=Math_exp; - - function _time(ptr) { - var ret = (Date.now()/1000)|0; - if (ptr) { - HEAP32[((ptr)>>2)]=ret; - } - return ret; - } - - - function _whiteTexture() { - Module['printErr']('missing function: whiteTexture'); abort(-1); - } -var GLctx; GL.init() -_fputc.ret = allocate([0], "i8", ALLOC_STATIC); -FS.staticInit();__ATINIT__.unshift({ func: function() { if (!Module["noFSInit"] && !FS.init.initialized) FS.init() } });__ATMAIN__.push({ func: function() { FS.ignorePermissions = false } });__ATEXIT__.push({ func: function() { FS.quit() } });Module["FS_createFolder"] = FS.createFolder;Module["FS_createPath"] = FS.createPath;Module["FS_createDataFile"] = FS.createDataFile;Module["FS_createPreloadedFile"] = FS.createPreloadedFile;Module["FS_createLazyFile"] = FS.createLazyFile;Module["FS_createLink"] = FS.createLink;Module["FS_createDevice"] = FS.createDevice; -___errno_state = Runtime.staticAlloc(4); HEAP32[((___errno_state)>>2)]=0; -__ATINIT__.unshift({ func: function() { TTY.init() } });__ATEXIT__.push({ func: function() { TTY.shutdown() } });TTY.utf8 = new Runtime.UTF8Processor(); -if (ENVIRONMENT_IS_NODE) { var fs = require("fs"); NODEFS.staticInit(); } -__ATINIT__.push({ func: function() { SOCKFS.root = FS.mount(SOCKFS, {}, null); } }); -Module["requestFullScreen"] = function Module_requestFullScreen(lockPointer, resizeCanvas) { Browser.requestFullScreen(lockPointer, resizeCanvas) }; - Module["requestAnimationFrame"] = function Module_requestAnimationFrame(func) { Browser.requestAnimationFrame(func) }; - Module["setCanvasSize"] = function Module_setCanvasSize(width, height, noUpdates) { Browser.setCanvasSize(width, height, noUpdates) }; - Module["pauseMainLoop"] = function Module_pauseMainLoop() { Browser.mainLoop.pause() }; - Module["resumeMainLoop"] = function Module_resumeMainLoop() { Browser.mainLoop.resume() }; - Module["getUserMedia"] = function Module_getUserMedia() { Browser.getUserMedia() } -_fgetc.ret = allocate([0], "i8", ALLOC_STATIC); -STACK_BASE = STACKTOP = Runtime.alignMemory(STATICTOP); - -staticSealed = true; // seal the static portion of memory - -STACK_MAX = STACK_BASE + TOTAL_STACK; - -DYNAMIC_BASE = DYNAMICTOP = Runtime.alignMemory(STACK_MAX); - -assert(DYNAMIC_BASE < TOTAL_MEMORY, "TOTAL_MEMORY not big enough for stack"); - - var ctlz_i8 = allocate([8,7,6,6,5,5,5,5,4,4,4,4,4,4,4,4,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], "i8", ALLOC_DYNAMIC); - var cttz_i8 = allocate([8,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,7,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0], "i8", ALLOC_DYNAMIC); - - var Math_min = Math.min; -function nullFunc_iiii(x) { Module["printErr"]("Invalid function pointer called with signature 'iiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info."); abort(x) } - -function nullFunc_viiiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info."); abort(x) } - -function nullFunc_vii(x) { Module["printErr"]("Invalid function pointer called with signature 'vii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info."); abort(x) } - -function nullFunc_vidd(x) { Module["printErr"]("Invalid function pointer called with signature 'vidd'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info."); abort(x) } - -function nullFunc_ii(x) { Module["printErr"]("Invalid function pointer called with signature 'ii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info."); abort(x) } - -function nullFunc_viii(x) { Module["printErr"]("Invalid function pointer called with signature 'viii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info."); abort(x) } - -function nullFunc_v(x) { Module["printErr"]("Invalid function pointer called with signature 'v'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info."); abort(x) } - -function nullFunc_viiiiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiiiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info."); abort(x) } - -function nullFunc_iii(x) { Module["printErr"]("Invalid function pointer called with signature 'iii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info."); abort(x) } - -function nullFunc_iiiiii(x) { Module["printErr"]("Invalid function pointer called with signature 'iiiiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info."); abort(x) } - -function nullFunc_viiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info."); abort(x) } - -function invoke_iiii(index,a1,a2,a3) { - try { - return Module["dynCall_iiii"](index,a1,a2,a3); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - asm["setThrew"](1, 0); - } -} - -function invoke_viiiii(index,a1,a2,a3,a4,a5) { - try { - Module["dynCall_viiiii"](index,a1,a2,a3,a4,a5); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - asm["setThrew"](1, 0); - } -} - -function invoke_vii(index,a1,a2) { - try { - Module["dynCall_vii"](index,a1,a2); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - asm["setThrew"](1, 0); - } -} - -function invoke_vidd(index,a1,a2,a3) { - try { - Module["dynCall_vidd"](index,a1,a2,a3); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - asm["setThrew"](1, 0); - } -} - -function invoke_ii(index,a1) { - try { - return Module["dynCall_ii"](index,a1); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - asm["setThrew"](1, 0); - } -} - -function invoke_viii(index,a1,a2,a3) { - try { - Module["dynCall_viii"](index,a1,a2,a3); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - asm["setThrew"](1, 0); - } -} - -function invoke_v(index) { - try { - Module["dynCall_v"](index); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - asm["setThrew"](1, 0); - } -} - -function invoke_viiiiii(index,a1,a2,a3,a4,a5,a6) { - try { - Module["dynCall_viiiiii"](index,a1,a2,a3,a4,a5,a6); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - asm["setThrew"](1, 0); - } -} - -function invoke_iii(index,a1,a2) { - try { - return Module["dynCall_iii"](index,a1,a2); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - asm["setThrew"](1, 0); - } -} - -function invoke_iiiiii(index,a1,a2,a3,a4,a5) { - try { - return Module["dynCall_iiiiii"](index,a1,a2,a3,a4,a5); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - asm["setThrew"](1, 0); - } -} - -function invoke_viiii(index,a1,a2,a3,a4) { - try { - Module["dynCall_viiii"](index,a1,a2,a3,a4); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - asm["setThrew"](1, 0); - } -} - - // EMSCRIPTEN_START_ASM - var asm = (function(global, env, buffer) { - 'use asm'; - - var HEAP8 = new global.Int8Array(buffer); - var HEAP16 = new global.Int16Array(buffer); - var HEAP32 = new global.Int32Array(buffer); - var HEAPU8 = new global.Uint8Array(buffer); - var HEAPU16 = new global.Uint16Array(buffer); - var HEAPU32 = new global.Uint32Array(buffer); - var HEAPF32 = new global.Float32Array(buffer); - var HEAPF64 = new global.Float64Array(buffer); - - - var STACKTOP=env.STACKTOP|0; - var STACK_MAX=env.STACK_MAX|0; - var tempDoublePtr=env.tempDoublePtr|0; - var ABORT=env.ABORT|0; - var cttz_i8=env.cttz_i8|0; - var ctlz_i8=env.ctlz_i8|0; - var _stdout=env._stdout|0; - var _whiteTexture=env._whiteTexture|0; - - var __THREW__ = 0; - var threwValue = 0; - var setjmpId = 0; - var undef = 0; - var nan = +env.NaN, inf = +env.Infinity; - var tempInt = 0, tempBigInt = 0, tempBigIntP = 0, tempBigIntS = 0, tempBigIntR = 0.0, tempBigIntI = 0, tempBigIntD = 0, tempValue = 0, tempDouble = 0.0; - - var tempRet0 = 0; - var tempRet1 = 0; - var tempRet2 = 0; - var tempRet3 = 0; - var tempRet4 = 0; - var tempRet5 = 0; - var tempRet6 = 0; - var tempRet7 = 0; - var tempRet8 = 0; - var tempRet9 = 0; - var Math_floor=global.Math.floor; - var Math_abs=global.Math.abs; - var Math_sqrt=global.Math.sqrt; - var Math_pow=global.Math.pow; - var Math_cos=global.Math.cos; - var Math_sin=global.Math.sin; - var Math_tan=global.Math.tan; - var Math_acos=global.Math.acos; - var Math_asin=global.Math.asin; - var Math_atan=global.Math.atan; - var Math_atan2=global.Math.atan2; - var Math_exp=global.Math.exp; - var Math_log=global.Math.log; - var Math_ceil=global.Math.ceil; - var Math_imul=global.Math.imul; - var abort=env.abort; - var assert=env.assert; - var Math_min=env.min; - var nullFunc_iiii=env.nullFunc_iiii; - var nullFunc_viiiii=env.nullFunc_viiiii; - var nullFunc_vii=env.nullFunc_vii; - var nullFunc_vidd=env.nullFunc_vidd; - var nullFunc_ii=env.nullFunc_ii; - var nullFunc_viii=env.nullFunc_viii; - var nullFunc_v=env.nullFunc_v; - var nullFunc_viiiiii=env.nullFunc_viiiiii; - var nullFunc_iii=env.nullFunc_iii; - var nullFunc_iiiiii=env.nullFunc_iiiiii; - var nullFunc_viiii=env.nullFunc_viiii; - var invoke_iiii=env.invoke_iiii; - var invoke_viiiii=env.invoke_viiiii; - var invoke_vii=env.invoke_vii; - var invoke_vidd=env.invoke_vidd; - var invoke_ii=env.invoke_ii; - var invoke_viii=env.invoke_viii; - var invoke_v=env.invoke_v; - var invoke_viiiiii=env.invoke_viiiiii; - var invoke_iii=env.invoke_iii; - var invoke_iiiiii=env.invoke_iiiiii; - var invoke_viiii=env.invoke_viiii; - var _glUseProgram=env._glUseProgram; - var _alGetError=env._alGetError; - var _exp=env._exp; - var _glfwCreateWindow=env._glfwCreateWindow; - var _sqrtf=env._sqrtf; - var _fread=env._fread; - var _glUniformMatrix4fv=env._glUniformMatrix4fv; - var _glGetShaderiv=env._glGetShaderiv; - var _alBufferData=env._alBufferData; - var ___assert_fail=env.___assert_fail; - var _glDeleteProgram=env._glDeleteProgram; - var _glBindBuffer=env._glBindBuffer; - var _glCreateProgram=env._glCreateProgram; - var _alSource3f=env._alSource3f; - var _fsync=env._fsync; - var _sbrk=env._sbrk; - var _glBlendFunc=env._glBlendFunc; - var _glGetAttribLocation=env._glGetAttribLocation; - var _glDisableVertexAttribArray=env._glDisableVertexAttribArray; - var _emscripten_memcpy_big=env._emscripten_memcpy_big; - var _sysconf=env._sysconf; - var _close=env._close; - var _rewind=env._rewind; - var _cos=env._cos; - var _recv=env._recv; - var _glfwSetWindowSizeCallback=env._glfwSetWindowSizeCallback; - var _glfwInit=env._glfwInit; - var _write=env._write; - var _ftell=env._ftell; - var _glGenBuffers=env._glGenBuffers; - var _glShaderSource=env._glShaderSource; - var _alSourcePlay=env._alSourcePlay; - var _glfwSetErrorCallback=env._glfwSetErrorCallback; - var _glfwDefaultWindowHints=env._glfwDefaultWindowHints; - var _glfwDestroyWindow=env._glfwDestroyWindow; - var _glGenerateMipmap=env._glGenerateMipmap; - var _glVertexAttribPointer=env._glVertexAttribPointer; - var _send=env._send; - var _alcCreateContext=env._alcCreateContext; - var _glGetProgramInfoLog=env._glGetProgramInfoLog; - var _llvm_stackrestore=env._llvm_stackrestore; - var _glDeleteShader=env._glDeleteShader; - var _glfwMakeContextCurrent=env._glfwMakeContextCurrent; - var _glDrawElements=env._glDrawElements; - var _alGetSourcei=env._alGetSourcei; - var _glBufferSubData=env._glBufferSubData; - var _alcMakeContextCurrent=env._alcMakeContextCurrent; - var _strerror_r=env._strerror_r; - var _glViewport=env._glViewport; - var _alSourceQueueBuffers=env._alSourceQueueBuffers; - var _fscanf=env._fscanf; - var ___setErrNo=env.___setErrNo; - var _alcGetCurrentContext=env._alcGetCurrentContext; - var _alSourcef=env._alSourcef; - var _glDeleteTextures=env._glDeleteTextures; - var _glDepthFunc=env._glDepthFunc; - var _alSourcei=env._alSourcei; - var _alGenBuffers=env._alGenBuffers; - var _glEnable=env._glEnable; - var _glGenTextures=env._glGenTextures; - var _alDeleteSources=env._alDeleteSources; - var _pread=env._pread; - var _glfwSetWindowShouldClose=env._glfwSetWindowShouldClose; - var _emscripten_get_now=env._emscripten_get_now; - var _glAttachShader=env._glAttachShader; - var _read=env._read; - var _fwrite=env._fwrite; - var _time=env._time; - var _fprintf=env._fprintf; - var _glfwSetMouseButtonCallback=env._glfwSetMouseButtonCallback; - var _exit=env._exit; - var _glGetString=env._glGetString; - var _llvm_pow_f64=env._llvm_pow_f64; - var _glfwPollEvents=env._glfwPollEvents; - var _lseek=env._lseek; - var _vfprintf=env._vfprintf; - var _floor=env._floor; - var _glCompressedTexImage2D=env._glCompressedTexImage2D; - var _pwrite=env._pwrite; - var _open=env._open; - var _glClearColor=env._glClearColor; - var _glBindTexture=env._glBindTexture; - var __scanString=env.__scanString; - var _glfwSetCharCallback=env._glfwSetCharCallback; - var _glUniform1i=env._glUniform1i; - var _glEnableVertexAttribArray=env._glEnableVertexAttribArray; - var _alcDestroyContext=env._alcDestroyContext; - var _glDrawArrays=env._glDrawArrays; - var _sinf=env._sinf; - var _fseek=env._fseek; - var _fclose=env._fclose; - var _log=env._log; - var _glfwSwapBuffers=env._glfwSwapBuffers; - var _alcGetString=env._alcGetString; - var _alSourceStop=env._alSourceStop; - var _glCompileShader=env._glCompileShader; - var _alcCloseDevice=env._alcCloseDevice; - var __getFloat=env.__getFloat; - var _fputc=env._fputc; - var _abort=env._abort; - var _alcGetContextsDevice=env._alcGetContextsDevice; - var _glDeleteBuffers=env._glDeleteBuffers; - var _glBufferData=env._glBufferData; - var _glTexImage2D=env._glTexImage2D; - var _fopen=env._fopen; - var _sin=env._sin; - var _glGetProgramiv=env._glGetProgramiv; - var _glfwGetTime=env._glfwGetTime; - var _alListener3f=env._alListener3f; - var _ungetc=env._ungetc; - var _glfwGetPrimaryMonitor=env._glfwGetPrimaryMonitor; - var _glfwGetKey=env._glfwGetKey; - var _glLinkProgram=env._glLinkProgram; - var __reallyNegative=env.__reallyNegative; - var _glGetUniformLocation=env._glGetUniformLocation; - var _strerror=env._strerror; - var _glClear=env._glClear; - var _fileno=env._fileno; - var __exit=env.__exit; - var _glfwTerminate=env._glfwTerminate; - var _glPixelStorei=env._glPixelStorei; - var __formatString=env.__formatString; - var _alDeleteBuffers=env._alDeleteBuffers; - var _llvm_stacksave=env._llvm_stacksave; - var _mkport=env._mkport; - var _glfwGetCursorPos=env._glfwGetCursorPos; - var _fflush=env._fflush; - var _feof=env._feof; - var _emscripten_set_main_loop=env._emscripten_set_main_loop; - var ___errno_location=env.___errno_location; - var _glfwWindowHint=env._glfwWindowHint; - var _alGenSources=env._alGenSources; - var _fgetc=env._fgetc; - var _alcOpenDevice=env._alcOpenDevice; - var _glfwSetKeyCallback=env._glfwSetKeyCallback; - var _glTexParameteri=env._glTexParameteri; - var _fgets=env._fgets; - var _glfwSetScrollCallback=env._glfwSetScrollCallback; - var _glCreateShader=env._glCreateShader; - var _glfwSetCursorEnterCallback=env._glfwSetCursorEnterCallback; - var _alSourceUnqueueBuffers=env._alSourceUnqueueBuffers; - var tempFloat = 0.0; - - // EMSCRIPTEN_START_FUNCS - function stackAlloc(size) { - size = size|0; - var ret = 0; - ret = STACKTOP; - STACKTOP = (STACKTOP + size)|0; - STACKTOP = (STACKTOP + 15)&-16; -if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); - - return ret|0; - } - function stackSave() { - return STACKTOP|0; - } - function stackRestore(top) { - top = top|0; - STACKTOP = top; - } - - function setThrew(threw, value) { - threw = threw|0; - value = value|0; - if ((__THREW__|0) == 0) { - __THREW__ = threw; - threwValue = value; - } - } - function copyTempFloat(ptr) { - ptr = ptr|0; - HEAP8[tempDoublePtr>>0] = HEAP8[ptr>>0]; - HEAP8[tempDoublePtr+1>>0] = HEAP8[ptr+1>>0]; - HEAP8[tempDoublePtr+2>>0] = HEAP8[ptr+2>>0]; - HEAP8[tempDoublePtr+3>>0] = HEAP8[ptr+3>>0]; - } - function copyTempDouble(ptr) { - ptr = ptr|0; - HEAP8[tempDoublePtr>>0] = HEAP8[ptr>>0]; - HEAP8[tempDoublePtr+1>>0] = HEAP8[ptr+1>>0]; - HEAP8[tempDoublePtr+2>>0] = HEAP8[ptr+2>>0]; - HEAP8[tempDoublePtr+3>>0] = HEAP8[ptr+3>>0]; - HEAP8[tempDoublePtr+4>>0] = HEAP8[ptr+4>>0]; - HEAP8[tempDoublePtr+5>>0] = HEAP8[ptr+5>>0]; - HEAP8[tempDoublePtr+6>>0] = HEAP8[ptr+6>>0]; - HEAP8[tempDoublePtr+7>>0] = HEAP8[ptr+7>>0]; - } - function setTempRet0(value) { - value = value|0; - tempRet0 = value; - } - function getTempRet0() { - return tempRet0|0; - } - -function _main() { - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0.0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0.0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; - var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0.0, $68 = 0, $69 = 0, $7 = 0, $70 = 0.0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0; - var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $9 = 0, $exitcond = 0, $fxOgg$byval_copy = 0, $i$022 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 400|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); - $fxOgg$byval_copy = sp + 352|0; - $0 = sp + 332|0; - $1 = sp + 312|0; - $2 = sp + 292|0; - $3 = sp + 272|0; - $4 = sp + 252|0; - $5 = sp + 240|0; - $6 = sp + 228|0; - $7 = sp + 216|0; - $8 = sp + 204|0; - $9 = sp + 192|0; - $10 = sp + 180|0; - $11 = sp + 100|0; - $12 = sp + 16|0; - $13 = sp + 28|0; - $14 = sp + 80|0; - $15 = sp + 60|0; - $16 = sp + 40|0; - $17 = sp + 112|0; - $18 = sp + 124|0; - $19 = sp + 8|0; - $20 = sp; - $21 = sp + 168|0; - $22 = HEAP32[8>>2]|0; - $23 = HEAP32[16>>2]|0; - _InitWindow($22,$23,776); - _InitAudioDevice(); - _LoadSpriteFont($0,832); - ;HEAP32[808+0>>2]=HEAP32[$0+0>>2]|0;HEAP32[808+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[808+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[808+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[808+16>>2]=HEAP32[$0+16>>2]|0; - _LoadSpriteFont($1,888); - ;HEAP32[864+0>>2]=HEAP32[$1+0>>2]|0;HEAP32[864+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[864+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[864+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[864+16>>2]=HEAP32[$1+16>>2]|0; - _LoadSpriteFont($2,944); - ;HEAP32[920+0>>2]=HEAP32[$2+0>>2]|0;HEAP32[920+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[920+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[920+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[920+16>>2]=HEAP32[$2+16>>2]|0; - _LoadSpriteFont($3,1000); - ;HEAP32[976+0>>2]=HEAP32[$3+0>>2]|0;HEAP32[976+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[976+8>>2]=HEAP32[$3+8>>2]|0;HEAP32[976+12>>2]=HEAP32[$3+12>>2]|0;HEAP32[976+16>>2]=HEAP32[$3+16>>2]|0; - _LoadSpriteFont($4,1056); - ;HEAP32[1032+0>>2]=HEAP32[$4+0>>2]|0;HEAP32[1032+4>>2]=HEAP32[$4+4>>2]|0;HEAP32[1032+8>>2]=HEAP32[$4+8>>2]|0;HEAP32[1032+12>>2]=HEAP32[$4+12>>2]|0;HEAP32[1032+16>>2]=HEAP32[$4+16>>2]|0; - $24 = HEAP32[8>>2]|0; - $25 = (($24|0) / 2)&-1; - $26 = (+($25|0)); - $27 = HEAP32[16>>2]|0; - $28 = (($27|0) / 2)&-1; - $29 = (($28) + 20)|0; - $30 = (+($29|0)); - HEAPF32[1088>>2] = $26; - HEAPF32[((1088 + 4|0))>>2] = $30; - HEAPF32[1096>>2] = 6.0; - HEAPF32[((1096 + 4|0))>>2] = 6.0; - $31 = HEAP32[16>>2]|0; - $32 = (($31|0) / 2)&-1; - $33 = (($32) + -10)|0; - HEAP32[1104>>2] = 20; - HEAP32[((1104 + 4|0))>>2] = $33; - HEAP32[((1104 + 8|0))>>2] = 20; - HEAP32[((1104 + 12|0))>>2] = 100; - $34 = HEAP32[8>>2]|0; - $35 = (($34) + -40)|0; - $36 = HEAP32[16>>2]|0; - $37 = (($36|0) / 2)&-1; - $38 = (($37) + -60)|0; - HEAP32[1120>>2] = $35; - HEAP32[((1120 + 4|0))>>2] = $38; - HEAP32[((1120 + 8|0))>>2] = 20; - HEAP32[((1120 + 12|0))>>2] = 120; - $39 = HEAP32[8>>2]|0; - $40 = (($39|0) / 2)&-1; - $41 = (($40) + -128)|0; - HEAP32[1136>>2] = $41; - $42 = HEAP32[16>>2]|0; - $43 = (($42|0) / 2)&-1; - $44 = (($43) + -128)|0; - HEAP32[1144>>2] = $44; - _LoadTexture($5,1168); - ;HEAP32[1152+0>>2]=HEAP32[$5+0>>2]|0;HEAP32[1152+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[1152+8>>2]=HEAP32[$5+8>>2]|0; - _LoadTexture($6,1216); - ;HEAP32[1200+0>>2]=HEAP32[$6+0>>2]|0;HEAP32[1200+4>>2]=HEAP32[$6+4>>2]|0;HEAP32[1200+8>>2]=HEAP32[$6+8>>2]|0; - _LoadTexture($7,1264); - ;HEAP32[1248+0>>2]=HEAP32[$7+0>>2]|0;HEAP32[1248+4>>2]=HEAP32[$7+4>>2]|0;HEAP32[1248+8>>2]=HEAP32[$7+8>>2]|0; - _LoadTexture($8,1312); - ;HEAP32[1296+0>>2]=HEAP32[$8+0>>2]|0;HEAP32[1296+4>>2]=HEAP32[$8+4>>2]|0;HEAP32[1296+8>>2]=HEAP32[$8+8>>2]|0; - _LoadTexture($9,1360); - ;HEAP32[1344+0>>2]=HEAP32[$9+0>>2]|0;HEAP32[1344+4>>2]=HEAP32[$9+4>>2]|0;HEAP32[1344+8>>2]=HEAP32[$9+8>>2]|0; - _LoadTexture($10,1400); - ;HEAP32[1384+0>>2]=HEAP32[$10+0>>2]|0;HEAP32[1384+4>>2]=HEAP32[$10+4>>2]|0;HEAP32[1384+8>>2]=HEAP32[$10+8>>2]|0; - _LoadTexture($11,1456); - ;HEAP32[1440+0>>2]=HEAP32[$11+0>>2]|0;HEAP32[1440+4>>2]=HEAP32[$11+4>>2]|0;HEAP32[1440+8>>2]=HEAP32[$11+8>>2]|0; - _LoadTexture($12,1496); - ;HEAP32[1480+0>>2]=HEAP32[$12+0>>2]|0;HEAP32[1480+4>>2]=HEAP32[$12+4>>2]|0;HEAP32[1480+8>>2]=HEAP32[$12+8>>2]|0; - _LoadTexture($13,1536); - ;HEAP32[1520+0>>2]=HEAP32[$13+0>>2]|0;HEAP32[1520+4>>2]=HEAP32[$13+4>>2]|0;HEAP32[1520+8>>2]=HEAP32[$13+8>>2]|0; - _LoadSpriteFont($14,1600); - ;HEAP32[1576+0>>2]=HEAP32[$14+0>>2]|0;HEAP32[1576+4>>2]=HEAP32[$14+4>>2]|0;HEAP32[1576+8>>2]=HEAP32[$14+8>>2]|0;HEAP32[1576+12>>2]=HEAP32[$14+12>>2]|0;HEAP32[1576+16>>2]=HEAP32[$14+16>>2]|0; - _LoadSpriteFont($15,1536); - ;HEAP32[1640+0>>2]=HEAP32[$15+0>>2]|0;HEAP32[1640+4>>2]=HEAP32[$15+4>>2]|0;HEAP32[1640+8>>2]=HEAP32[$15+8>>2]|0;HEAP32[1640+12>>2]=HEAP32[$15+12>>2]|0;HEAP32[1640+16>>2]=HEAP32[$15+16>>2]|0; - _LoadSpriteFont($16,1688); - ;HEAP32[1664+0>>2]=HEAP32[$16+0>>2]|0;HEAP32[1664+4>>2]=HEAP32[$16+4>>2]|0;HEAP32[1664+8>>2]=HEAP32[$16+8>>2]|0;HEAP32[1664+12>>2]=HEAP32[$16+12>>2]|0;HEAP32[1664+16>>2]=HEAP32[$16+16>>2]|0; - HEAPF32[1736>>2] = 848.0; - HEAPF32[((1736 + 4|0))>>2] = 419.0; - HEAPF32[1744>>2] = 0.0; - HEAPF32[((1744 + 4|0))>>2] = 12.0; - HEAPF32[((1744 + 8|0))>>2] = 15.0; - HEAPF32[((1744 + 12|0))>>2] = 0.0; - HEAPF32[((1744 + 16|0))>>2] = 3.0; - HEAPF32[((1744 + 20|0))>>2] = 0.0; - HEAPF32[((1744 + 24|0))>>2] = 0.0; - HEAPF32[((1744 + 28|0))>>2] = 1.0; - HEAPF32[((1744 + 32|0))>>2] = 0.0; - _LoadTexture($17,1800); - ;HEAP32[1784+0>>2]=HEAP32[$17+0>>2]|0;HEAP32[1784+4>>2]=HEAP32[$17+4>>2]|0;HEAP32[1784+8>>2]=HEAP32[$17+8>>2]|0; - _LoadModel($18,1872); - dest=1824+0|0; src=$18+0|0; stop=dest+44|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - ;HEAP32[$fxOgg$byval_copy+0>>2]=HEAP32[1784+0>>2]|0;HEAP32[$fxOgg$byval_copy+4>>2]=HEAP32[1784+4>>2]|0;HEAP32[$fxOgg$byval_copy+8>>2]=HEAP32[1784+8>>2]|0; - _SetModelTexture(1824,$fxOgg$byval_copy); - _LoadSound($19,1904); - $45 = $19; - $46 = $45; - $47 = HEAP32[$46>>2]|0; - $48 = (($45) + 4)|0; - $49 = $48; - $50 = HEAP32[$49>>2]|0; - $51 = 1896; - $52 = $51; - HEAP32[$52>>2] = $47; - $53 = (($51) + 4)|0; - $54 = $53; - HEAP32[$54>>2] = $50; - _LoadSound($20,1944); - $55 = $20; - $56 = $55; - $57 = HEAP32[$56>>2]|0; - $58 = (($55) + 4)|0; - $59 = $58; - $60 = HEAP32[$59>>2]|0; - $61 = 1936; - $62 = $61; - HEAP32[$62>>2] = $57; - $63 = (($61) + 4)|0; - $64 = $63; - HEAP32[$64>>2] = $60; - $i$022 = 0; - while(1) { - $65 = (_GetRandomValue(-280,280)|0); - $66 = (($65) + 930)|0; - $67 = (+($66|0)); - $68 = (_GetRandomValue(-200,200)|0); - $69 = (($68) + 420)|0; - $70 = (+($69|0)); - $71 = (1976 + ($i$022<<3)|0); - HEAPF32[$71>>2] = $67; - $72 = ((1976 + ($i$022<<3)|0) + 4|0); - HEAPF32[$72>>2] = $70; - $73 = (_GetRandomValue(0,255)|0); - $74 = $73&255; - $75 = (_GetRandomValue(0,255)|0); - $76 = $75&255; - $77 = (_GetRandomValue(0,255)|0); - $78 = $77&255; - $79 = (2104 + ($i$022<<2)|0); - HEAP8[$79>>0] = $74; - $80 = ((2104 + ($i$022<<2)|0) + 1|0); - HEAP8[$80>>0] = $76; - $81 = ((2104 + ($i$022<<2)|0) + 2|0); - HEAP8[$81>>0] = $78; - $82 = ((2104 + ($i$022<<2)|0) + 3|0); - HEAP8[$82>>0] = -1; - $83 = (_GetRandomValue(2,50)|0); - $84 = (2168 + ($i$022<<2)|0); - HEAP32[$84>>2] = $83; - $85 = (2232 + ($i$022<<2)|0); - HEAPF32[$85>>2] = 1.0; - $86 = (2296 + ($i$022<<2)|0); - HEAP32[$86>>2] = 0; - $87 = (($i$022) + 1)|0; - $exitcond = ($87|0)==(16); - if ($exitcond) { - break; - } else { - $i$022 = $87; - } - } - _LoadTexture($21,2376); - ;HEAP32[2360+0>>2]=HEAP32[$21+0>>2]|0;HEAP32[2360+4>>2]=HEAP32[$21+4>>2]|0;HEAP32[2360+8>>2]=HEAP32[$21+8>>2]|0; - _emscripten_set_main_loop((1|0),0,1); - ;HEAP32[$fxOgg$byval_copy+0>>2]=HEAP32[808+0>>2]|0;HEAP32[$fxOgg$byval_copy+4>>2]=HEAP32[808+4>>2]|0;HEAP32[$fxOgg$byval_copy+8>>2]=HEAP32[808+8>>2]|0;HEAP32[$fxOgg$byval_copy+12>>2]=HEAP32[808+12>>2]|0;HEAP32[$fxOgg$byval_copy+16>>2]=HEAP32[808+16>>2]|0; - _UnloadSpriteFont($fxOgg$byval_copy); - ;HEAP32[$fxOgg$byval_copy+0>>2]=HEAP32[864+0>>2]|0;HEAP32[$fxOgg$byval_copy+4>>2]=HEAP32[864+4>>2]|0;HEAP32[$fxOgg$byval_copy+8>>2]=HEAP32[864+8>>2]|0;HEAP32[$fxOgg$byval_copy+12>>2]=HEAP32[864+12>>2]|0;HEAP32[$fxOgg$byval_copy+16>>2]=HEAP32[864+16>>2]|0; - _UnloadSpriteFont($fxOgg$byval_copy); - ;HEAP32[$fxOgg$byval_copy+0>>2]=HEAP32[920+0>>2]|0;HEAP32[$fxOgg$byval_copy+4>>2]=HEAP32[920+4>>2]|0;HEAP32[$fxOgg$byval_copy+8>>2]=HEAP32[920+8>>2]|0;HEAP32[$fxOgg$byval_copy+12>>2]=HEAP32[920+12>>2]|0;HEAP32[$fxOgg$byval_copy+16>>2]=HEAP32[920+16>>2]|0; - _UnloadSpriteFont($fxOgg$byval_copy); - ;HEAP32[$fxOgg$byval_copy+0>>2]=HEAP32[976+0>>2]|0;HEAP32[$fxOgg$byval_copy+4>>2]=HEAP32[976+4>>2]|0;HEAP32[$fxOgg$byval_copy+8>>2]=HEAP32[976+8>>2]|0;HEAP32[$fxOgg$byval_copy+12>>2]=HEAP32[976+12>>2]|0;HEAP32[$fxOgg$byval_copy+16>>2]=HEAP32[976+16>>2]|0; - _UnloadSpriteFont($fxOgg$byval_copy); - ;HEAP32[$fxOgg$byval_copy+0>>2]=HEAP32[1032+0>>2]|0;HEAP32[$fxOgg$byval_copy+4>>2]=HEAP32[1032+4>>2]|0;HEAP32[$fxOgg$byval_copy+8>>2]=HEAP32[1032+8>>2]|0;HEAP32[$fxOgg$byval_copy+12>>2]=HEAP32[1032+12>>2]|0;HEAP32[$fxOgg$byval_copy+16>>2]=HEAP32[1032+16>>2]|0; - _UnloadSpriteFont($fxOgg$byval_copy); - ;HEAP32[$fxOgg$byval_copy+0>>2]=HEAP32[1152+0>>2]|0;HEAP32[$fxOgg$byval_copy+4>>2]=HEAP32[1152+4>>2]|0;HEAP32[$fxOgg$byval_copy+8>>2]=HEAP32[1152+8>>2]|0; - _UnloadTexture($fxOgg$byval_copy); - ;HEAP32[$fxOgg$byval_copy+0>>2]=HEAP32[1200+0>>2]|0;HEAP32[$fxOgg$byval_copy+4>>2]=HEAP32[1200+4>>2]|0;HEAP32[$fxOgg$byval_copy+8>>2]=HEAP32[1200+8>>2]|0; - _UnloadTexture($fxOgg$byval_copy); - ;HEAP32[$fxOgg$byval_copy+0>>2]=HEAP32[1248+0>>2]|0;HEAP32[$fxOgg$byval_copy+4>>2]=HEAP32[1248+4>>2]|0;HEAP32[$fxOgg$byval_copy+8>>2]=HEAP32[1248+8>>2]|0; - _UnloadTexture($fxOgg$byval_copy); - ;HEAP32[$fxOgg$byval_copy+0>>2]=HEAP32[1296+0>>2]|0;HEAP32[$fxOgg$byval_copy+4>>2]=HEAP32[1296+4>>2]|0;HEAP32[$fxOgg$byval_copy+8>>2]=HEAP32[1296+8>>2]|0; - _UnloadTexture($fxOgg$byval_copy); - ;HEAP32[$fxOgg$byval_copy+0>>2]=HEAP32[1344+0>>2]|0;HEAP32[$fxOgg$byval_copy+4>>2]=HEAP32[1344+4>>2]|0;HEAP32[$fxOgg$byval_copy+8>>2]=HEAP32[1344+8>>2]|0; - _UnloadTexture($fxOgg$byval_copy); - ;HEAP32[$fxOgg$byval_copy+0>>2]=HEAP32[2360+0>>2]|0;HEAP32[$fxOgg$byval_copy+4>>2]=HEAP32[2360+4>>2]|0;HEAP32[$fxOgg$byval_copy+8>>2]=HEAP32[2360+8>>2]|0; - _UnloadTexture($fxOgg$byval_copy); - ;HEAP32[$fxOgg$byval_copy+0>>2]=HEAP32[1384+0>>2]|0;HEAP32[$fxOgg$byval_copy+4>>2]=HEAP32[1384+4>>2]|0;HEAP32[$fxOgg$byval_copy+8>>2]=HEAP32[1384+8>>2]|0; - _UnloadTexture($fxOgg$byval_copy); - ;HEAP32[$fxOgg$byval_copy+0>>2]=HEAP32[1440+0>>2]|0;HEAP32[$fxOgg$byval_copy+4>>2]=HEAP32[1440+4>>2]|0;HEAP32[$fxOgg$byval_copy+8>>2]=HEAP32[1440+8>>2]|0; - _UnloadTexture($fxOgg$byval_copy); - ;HEAP32[$fxOgg$byval_copy+0>>2]=HEAP32[1480+0>>2]|0;HEAP32[$fxOgg$byval_copy+4>>2]=HEAP32[1480+4>>2]|0;HEAP32[$fxOgg$byval_copy+8>>2]=HEAP32[1480+8>>2]|0; - _UnloadTexture($fxOgg$byval_copy); - ;HEAP32[$fxOgg$byval_copy+0>>2]=HEAP32[1520+0>>2]|0;HEAP32[$fxOgg$byval_copy+4>>2]=HEAP32[1520+4>>2]|0;HEAP32[$fxOgg$byval_copy+8>>2]=HEAP32[1520+8>>2]|0; - _UnloadTexture($fxOgg$byval_copy); - ;HEAP32[$fxOgg$byval_copy+0>>2]=HEAP32[1576+0>>2]|0;HEAP32[$fxOgg$byval_copy+4>>2]=HEAP32[1576+4>>2]|0;HEAP32[$fxOgg$byval_copy+8>>2]=HEAP32[1576+8>>2]|0;HEAP32[$fxOgg$byval_copy+12>>2]=HEAP32[1576+12>>2]|0;HEAP32[$fxOgg$byval_copy+16>>2]=HEAP32[1576+16>>2]|0; - _UnloadSpriteFont($fxOgg$byval_copy); - ;HEAP32[$fxOgg$byval_copy+0>>2]=HEAP32[1640+0>>2]|0;HEAP32[$fxOgg$byval_copy+4>>2]=HEAP32[1640+4>>2]|0;HEAP32[$fxOgg$byval_copy+8>>2]=HEAP32[1640+8>>2]|0;HEAP32[$fxOgg$byval_copy+12>>2]=HEAP32[1640+12>>2]|0;HEAP32[$fxOgg$byval_copy+16>>2]=HEAP32[1640+16>>2]|0; - _UnloadSpriteFont($fxOgg$byval_copy); - ;HEAP32[$fxOgg$byval_copy+0>>2]=HEAP32[1664+0>>2]|0;HEAP32[$fxOgg$byval_copy+4>>2]=HEAP32[1664+4>>2]|0;HEAP32[$fxOgg$byval_copy+8>>2]=HEAP32[1664+8>>2]|0;HEAP32[$fxOgg$byval_copy+12>>2]=HEAP32[1664+12>>2]|0;HEAP32[$fxOgg$byval_copy+16>>2]=HEAP32[1664+16>>2]|0; - _UnloadSpriteFont($fxOgg$byval_copy); - ;HEAP32[$fxOgg$byval_copy+0>>2]=HEAP32[1784+0>>2]|0;HEAP32[$fxOgg$byval_copy+4>>2]=HEAP32[1784+4>>2]|0;HEAP32[$fxOgg$byval_copy+8>>2]=HEAP32[1784+8>>2]|0; - _UnloadTexture($fxOgg$byval_copy); - dest=$fxOgg$byval_copy+0|0; src=1824+0|0; stop=dest+44|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _UnloadModel($fxOgg$byval_copy); - ;HEAP32[$fxOgg$byval_copy+0>>2]=HEAP32[1896+0>>2]|0;HEAP32[$fxOgg$byval_copy+4>>2]=HEAP32[1896+4>>2]|0; - _UnloadSound($fxOgg$byval_copy); - ;HEAP32[$fxOgg$byval_copy+0>>2]=HEAP32[1936+0>>2]|0;HEAP32[$fxOgg$byval_copy+4>>2]=HEAP32[1936+4>>2]|0; - _UnloadSound($fxOgg$byval_copy); - _CloseAudioDevice(); - _CloseWindow(); - STACKTOP = sp;return 0; -} -function _UpdateDrawOneFrame() { - var $$byval_copy204 = 0, $$byval_copy262 = 0, $$neg = 0, $$pr22 = 0, $$pr23 = 0, $$pr25 = 0, $$pr27 = 0, $$pr29 = 0, $$pr31 = 0, $$pr32 = 0, $$pr34 = 0, $$pr37 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $1000 = 0, $1001 = 0, $1002 = 0, $1003 = 0.0; - var $1004 = 0.0, $1005 = 0.0, $1006 = 0, $1007 = 0, $1008 = 0, $1009 = 0.0, $101 = 0, $1010 = 0.0, $1011 = 0.0, $1012 = 0, $1013 = 0, $1014 = 0, $1015 = 0, $1016 = 0, $1017 = 0, $1018 = 0, $1019 = 0, $102 = 0, $1020 = 0, $1021 = 0; - var $1022 = 0, $1023 = 0, $1024 = 0, $1025 = 0, $1026 = 0, $1027 = 0, $1028 = 0, $1029 = 0, $103 = 0, $1030 = 0, $1031 = 0, $1032 = 0, $1033 = 0, $1034 = 0, $1035 = 0, $1036 = 0.0, $1037 = 0, $1038 = 0, $1039 = 0, $104 = 0; - var $1040 = 0.0, $1041 = 0, $1042 = 0.0, $1043 = 0, $1044 = 0, $1045 = 0, $1046 = 0, $1047 = 0, $1048 = 0, $1049 = 0, $105 = 0, $1050 = 0, $1051 = 0, $1052 = 0, $1053 = 0, $1054 = 0, $1055 = 0, $1056 = 0, $1057 = 0, $1058 = 0; - var $1059 = 0, $106 = 0, $1060 = 0, $1061 = 0, $1062 = 0, $1063 = 0, $1064 = 0, $1065 = 0, $1066 = 0, $1067 = 0, $1068 = 0, $1069 = 0, $107 = 0, $1070 = 0, $1071 = 0, $1072 = 0, $1073 = 0, $1074 = 0, $1075 = 0, $1076 = 0; - var $1077 = 0, $1078 = 0, $1079 = 0, $108 = 0, $1080 = 0, $1081 = 0, $1082 = 0, $1083 = 0, $1084 = 0, $1085 = 0, $1086 = 0, $1087 = 0, $1088 = 0, $1089 = 0, $109 = 0, $1090 = 0, $1091 = 0, $1092 = 0, $1093 = 0, $1094 = 0; - var $1095 = 0, $1096 = 0, $1097 = 0, $1098 = 0, $1099 = 0, $11 = 0, $110 = 0, $1100 = 0, $1101 = 0, $1102 = 0, $1103 = 0, $1104 = 0, $1105 = 0, $1106 = 0, $1107 = 0, $1108 = 0, $1109 = 0, $111 = 0, $1110 = 0, $1111 = 0; - var $1112 = 0, $1113 = 0, $1114 = 0, $1115 = 0, $1116 = 0, $1117 = 0, $1118 = 0, $1119 = 0, $112 = 0, $1120 = 0, $1121 = 0, $1122 = 0, $1123 = 0, $1124 = 0, $1125 = 0, $1126 = 0, $1127 = 0, $1128 = 0, $1129 = 0, $113 = 0; - var $1130 = 0, $1131 = 0, $1132 = 0, $1133 = 0, $1134 = 0, $1135 = 0, $1136 = 0, $1137 = 0, $1138 = 0, $1139 = 0, $114 = 0, $1140 = 0, $1141 = 0, $1142 = 0, $1143 = 0, $1144 = 0, $1145 = 0, $1146 = 0, $1147 = 0, $1148 = 0; - var $1149 = 0, $115 = 0, $1150 = 0, $1151 = 0, $1152 = 0, $1153 = 0, $1154 = 0, $1155 = 0, $1156 = 0, $1157 = 0.0, $1158 = 0.0, $1159 = 0, $116 = 0, $1160 = 0, $1161 = 0, $1162 = 0, $1163 = 0, $1164 = 0, $1165 = 0, $1166 = 0; - var $1167 = 0, $1168 = 0, $1169 = 0, $117 = 0, $1170 = 0, $1171 = 0, $1172 = 0, $1173 = 0, $1174 = 0, $1175 = 0, $1176 = 0.0, $1177 = 0, $1178 = 0, $1179 = 0, $118 = 0, $1180 = 0, $1181 = 0, $1182 = 0, $1183 = 0, $1184 = 0; - var $1185 = 0, $1186 = 0, $1187 = 0, $1188 = 0, $1189 = 0, $119 = 0, $1190 = 0, $1191 = 0, $1192 = 0.0, $1193 = 0, $1194 = 0, $1195 = 0.0, $1196 = 0, $1197 = 0, $1198 = 0, $1199 = 0, $12 = 0, $120 = 0, $1200 = 0, $1201 = 0; - var $1202 = 0, $1203 = 0, $1204 = 0, $1205 = 0, $1206 = 0, $1207 = 0, $1208 = 0, $1209 = 0.0, $121 = 0, $1210 = 0, $1211 = 0, $1212 = 0.0, $1213 = 0.0, $1214 = 0.0, $1215 = 0, $1216 = 0, $1217 = 0, $1218 = 0, $1219 = 0, $122 = 0; - var $1220 = 0, $1221 = 0, $1222 = 0, $1223 = 0, $1224 = 0, $1225 = 0, $1226 = 0, $1227 = 0, $1228 = 0, $1229 = 0, $123 = 0, $1230 = 0, $1231 = 0, $1232 = 0, $1233 = 0, $1234 = 0, $1235 = 0, $1236 = 0, $1237 = 0, $1238 = 0; - var $1239 = 0, $124 = 0, $1240 = 0, $1241 = 0, $1242 = 0, $1243 = 0, $1244 = 0, $1245 = 0, $1246 = 0, $1247 = 0, $1248 = 0, $1249 = 0, $125 = 0, $1250 = 0, $1251 = 0, $1252 = 0, $1253 = 0, $1254 = 0, $1255 = 0, $1256 = 0; - var $1257 = 0, $1258 = 0, $1259 = 0, $126 = 0, $1260 = 0, $1261 = 0, $1262 = 0, $1263 = 0, $1264 = 0, $1265 = 0, $1266 = 0, $1267 = 0, $1268 = 0, $1269 = 0, $127 = 0, $1270 = 0, $1271 = 0, $1272 = 0, $1273 = 0, $1274 = 0; - var $1275 = 0, $1276 = 0, $1277 = 0, $1278 = 0, $1279 = 0, $128 = 0, $1280 = 0, $1281 = 0, $1282 = 0, $1283 = 0, $1284 = 0, $1285 = 0, $1286 = 0, $1287 = 0, $1288 = 0, $1289 = 0, $129 = 0, $1290 = 0, $1291 = 0, $1292 = 0; - var $1293 = 0.0, $1294 = 0, $1295 = 0.0, $1296 = 0.0, $1297 = 0, $1298 = 0.0, $1299 = 0.0, $13 = 0, $130 = 0, $1300 = 0, $1301 = 0, $1302 = 0, $1303 = 0, $1304 = 0, $1305 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; - var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; - var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0; - var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0; - var $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0; - var $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0; - var $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0; - var $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0; - var $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0; - var $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0; - var $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0.0, $311 = 0.0, $312 = 0.0, $313 = 0.0, $314 = 0, $315 = 0; - var $316 = 0, $317 = 0, $318 = 0.0, $319 = 0.0, $32 = 0, $320 = 0, $321 = 0, $322 = 0.0, $323 = 0.0, $324 = 0, $325 = 0, $326 = 0.0, $327 = 0.0, $328 = 0, $329 = 0, $33 = 0, $330 = 0.0, $331 = 0.0, $332 = 0, $333 = 0; - var $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0.0, $344 = 0.0, $345 = 0.0, $346 = 0.0, $347 = 0.0, $348 = 0.0, $349 = 0, $35 = 0, $350 = 0, $351 = 0; - var $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0.0, $36 = 0, $360 = 0, $361 = 0, $362 = 0.0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0; - var $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0.0, $383 = 0.0, $384 = 0.0, $385 = 0.0, $386 = 0.0, $387 = 0, $388 = 0; - var $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0.0, $4 = 0, $40 = 0, $400 = 0.0, $401 = 0, $402 = 0.0, $403 = 0, $404 = 0, $405 = 0; - var $406 = 0.0, $407 = 0, $408 = 0, $409 = 0.0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0; - var $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0.0, $44 = 0, $440 = 0.0, $441 = 0.0; - var $442 = 0.0, $443 = 0.0, $444 = 0.0, $445 = 0.0, $446 = 0, $447 = 0, $448 = 0.0, $449 = 0, $45 = 0, $450 = 0, $451 = 0.0, $452 = 0.0, $453 = 0.0, $454 = 0, $455 = 0, $456 = 0.0, $457 = 0, $458 = 0, $459 = 0.0, $46 = 0; - var $460 = 0.0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0.0, $478 = 0; - var $479 = 0, $48 = 0, $480 = 0, $481 = 0.0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0.0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0, $496 = 0; - var $497 = 0, $498 = 0.0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0.0, $502 = 0, $503 = 0.0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0.0, $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0, $513 = 0; - var $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0.0, $525 = 0.0, $526 = 0.0, $527 = 0, $528 = 0, $529 = 0.0, $53 = 0, $530 = 0, $531 = 0; - var $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0, $549 = 0, $55 = 0; - var $550 = 0, $551 = 0, $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0, $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0, $562 = 0, $563 = 0, $564 = 0, $565 = 0, $566 = 0, $567 = 0, $568 = 0; - var $569 = 0, $57 = 0, $570 = 0, $571 = 0, $572 = 0, $573 = 0, $574 = 0, $575 = 0, $576 = 0, $577 = 0, $578 = 0, $579 = 0, $58 = 0, $580 = 0, $581 = 0, $582 = 0, $583 = 0, $584 = 0, $585 = 0, $586 = 0; - var $587 = 0, $588 = 0, $589 = 0, $59 = 0, $590 = 0, $591 = 0, $592 = 0, $593 = 0, $594 = 0, $595 = 0, $596 = 0, $597 = 0, $598 = 0, $599 = 0, $6 = 0, $60 = 0, $600 = 0, $601 = 0, $602 = 0, $603 = 0; - var $604 = 0, $605 = 0, $606 = 0, $607 = 0, $608 = 0, $609 = 0, $61 = 0, $610 = 0, $611 = 0, $612 = 0, $613 = 0, $614 = 0, $615 = 0, $616 = 0, $617 = 0, $618 = 0, $619 = 0, $62 = 0, $620 = 0, $621 = 0; - var $622 = 0, $623 = 0, $624 = 0, $625 = 0, $626 = 0, $627 = 0, $628 = 0, $629 = 0, $63 = 0, $630 = 0, $631 = 0, $632 = 0, $633 = 0, $634 = 0, $635 = 0, $636 = 0, $637 = 0, $638 = 0, $639 = 0, $64 = 0; - var $640 = 0, $641 = 0, $642 = 0, $643 = 0, $644 = 0, $645 = 0, $646 = 0, $647 = 0, $648 = 0, $649 = 0, $65 = 0, $650 = 0, $651 = 0, $652 = 0, $653 = 0, $654 = 0, $655 = 0, $656 = 0, $657 = 0, $658 = 0; - var $659 = 0, $66 = 0, $660 = 0, $661 = 0, $662 = 0, $663 = 0, $664 = 0, $665 = 0, $666 = 0, $667 = 0, $668 = 0, $669 = 0, $67 = 0, $670 = 0, $671 = 0, $672 = 0, $673 = 0, $674 = 0, $675 = 0, $676 = 0; - var $677 = 0, $678 = 0, $679 = 0, $68 = 0, $680 = 0, $681 = 0, $682 = 0, $683 = 0, $684 = 0, $685 = 0, $686 = 0, $687 = 0, $688 = 0, $689 = 0, $69 = 0, $690 = 0, $691 = 0, $692 = 0, $693 = 0, $694 = 0; - var $695 = 0, $696 = 0, $697 = 0, $698 = 0, $699 = 0, $7 = 0, $70 = 0, $700 = 0, $701 = 0, $702 = 0, $703 = 0, $704 = 0, $705 = 0, $706 = 0, $707 = 0, $708 = 0, $709 = 0, $71 = 0, $710 = 0, $711 = 0; - var $712 = 0, $713 = 0, $714 = 0, $715 = 0, $716 = 0, $717 = 0, $718 = 0, $719 = 0, $72 = 0, $720 = 0, $721 = 0, $722 = 0, $723 = 0, $724 = 0, $725 = 0, $726 = 0, $727 = 0, $728 = 0, $729 = 0, $73 = 0; - var $730 = 0, $731 = 0, $732 = 0, $733 = 0, $734 = 0, $735 = 0, $736 = 0, $737 = 0, $738 = 0, $739 = 0, $74 = 0, $740 = 0, $741 = 0, $742 = 0, $743 = 0, $744 = 0, $745 = 0, $746 = 0, $747 = 0, $748 = 0; - var $749 = 0, $75 = 0, $750 = 0, $751 = 0, $752 = 0, $753 = 0, $754 = 0, $755 = 0, $756 = 0, $757 = 0, $758 = 0, $759 = 0, $76 = 0, $760 = 0, $761 = 0, $762 = 0, $763 = 0, $764 = 0, $765 = 0, $766 = 0; - var $767 = 0, $768 = 0, $769 = 0, $77 = 0, $770 = 0, $771 = 0, $772 = 0, $773 = 0, $774 = 0, $775 = 0, $776 = 0, $777 = 0, $778 = 0, $779 = 0, $78 = 0, $780 = 0, $781 = 0, $782 = 0, $783 = 0, $784 = 0; - var $785 = 0, $786 = 0, $787 = 0, $788 = 0, $789 = 0, $79 = 0, $790 = 0, $791 = 0, $792 = 0, $793 = 0, $794 = 0, $795 = 0, $796 = 0, $797 = 0, $798 = 0, $799 = 0, $8 = 0, $80 = 0, $800 = 0, $801 = 0; - var $802 = 0, $803 = 0, $804 = 0, $805 = 0, $806 = 0, $807 = 0, $808 = 0, $809 = 0, $81 = 0, $810 = 0, $811 = 0, $812 = 0, $813 = 0, $814 = 0, $815 = 0, $816 = 0, $817 = 0, $818 = 0, $819 = 0, $82 = 0; - var $820 = 0, $821 = 0, $822 = 0, $823 = 0, $824 = 0, $825 = 0, $826 = 0, $827 = 0, $828 = 0, $829 = 0.0, $83 = 0, $830 = 0.0, $831 = 0, $832 = 0.0, $833 = 0.0, $834 = 0, $835 = 0, $836 = 0, $837 = 0, $838 = 0; - var $839 = 0, $84 = 0, $840 = 0, $841 = 0, $842 = 0, $843 = 0, $844 = 0, $845 = 0.0, $846 = 0, $847 = 0, $848 = 0, $849 = 0.0, $85 = 0, $850 = 0, $851 = 0, $852 = 0, $853 = 0, $854 = 0, $855 = 0, $856 = 0; - var $857 = 0, $858 = 0, $859 = 0.0, $86 = 0, $860 = 0.0, $861 = 0, $862 = 0.0, $863 = 0.0, $864 = 0, $865 = 0, $866 = 0, $867 = 0, $868 = 0.0, $869 = 0.0, $87 = 0, $870 = 0, $871 = 0.0, $872 = 0, $873 = 0, $874 = 0; - var $875 = 0, $876 = 0, $877 = 0, $878 = 0, $879 = 0, $88 = 0, $880 = 0, $881 = 0, $882 = 0, $883 = 0, $884 = 0, $885 = 0, $886 = 0, $887 = 0, $888 = 0, $889 = 0, $89 = 0, $890 = 0, $891 = 0, $892 = 0; - var $893 = 0, $894 = 0, $895 = 0, $896 = 0, $897 = 0, $898 = 0, $899 = 0, $9 = 0, $90 = 0, $900 = 0, $901 = 0, $902 = 0, $903 = 0, $904 = 0, $905 = 0, $906 = 0, $907 = 0, $908 = 0, $909 = 0, $91 = 0; - var $910 = 0, $911 = 0, $912 = 0, $913 = 0, $914 = 0, $915 = 0, $916 = 0, $917 = 0, $918 = 0, $919 = 0, $92 = 0, $920 = 0, $921 = 0, $922 = 0, $923 = 0, $924 = 0, $925 = 0, $926 = 0, $927 = 0.0, $928 = 0; - var $929 = 0, $93 = 0, $930 = 0, $931 = 0, $932 = 0, $933 = 0.0, $934 = 0, $935 = 0, $936 = 0, $937 = 0, $938 = 0, $939 = 0.0, $94 = 0, $940 = 0, $941 = 0, $942 = 0, $943 = 0, $944 = 0, $945 = 0, $946 = 0; - var $947 = 0.0, $948 = 0, $949 = 0, $95 = 0, $950 = 0, $951 = 0, $952 = 0, $953 = 0.0, $954 = 0, $955 = 0, $956 = 0, $957 = 0, $958 = 0, $959 = 0.0, $96 = 0, $960 = 0, $961 = 0, $962 = 0, $963 = 0, $964 = 0; - var $965 = 0, $966 = 0, $967 = 0.0, $968 = 0, $969 = 0, $97 = 0, $970 = 0, $971 = 0, $972 = 0, $973 = 0, $974 = 0, $975 = 0, $976 = 0, $977 = 0, $978 = 0, $979 = 0, $98 = 0, $980 = 0, $981 = 0, $982 = 0; - var $983 = 0, $984 = 0, $985 = 0, $986 = 0, $987 = 0, $988 = 0, $989 = 0, $99 = 0, $990 = 0.0, $991 = 0.0, $992 = 0.0, $993 = 0, $994 = 0, $995 = 0, $996 = 0, $997 = 0.0, $998 = 0.0, $999 = 0.0, $cat$byval_copy = 0, $exitcond = 0; - var $exitcond53 = 0, $exitcond55 = 0, $fontAlagard$byval_copy247 = 0, $i$041 = 0, $i1$042 = 0, $i2$051 = 0, $i3$049 = 0, $i4$047 = 0, $i5$040 = 0, $or$cond = 0, $or$cond11 = 0, $or$cond13 = 0, $or$cond3 = 0, $or$cond5 = 0, $or$cond7 = 0, $or$cond9 = 0, $pongEnemyRec$byval_copy257 = 0, $strlenfirst = 0, $strlenfirst52 = 0, dest = 0; - var label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 1472|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); - $$byval_copy262 = sp; - $pongEnemyRec$byval_copy257 = sp + 792|0; - $fontAlagard$byval_copy247 = sp + 836|0; - $$byval_copy204 = sp + 808|0; - $cat$byval_copy = sp + 904|0; - $0 = sp + 968|0; - $1 = sp + 948|0; - $2 = sp + 972|0; - $3 = sp + 1016|0; - $4 = sp + 1020|0; - $5 = sp + 1024|0; - $6 = sp + 1032|0; - $7 = sp + 1040|0; - $8 = sp + 1048|0; - $9 = sp + 1056|0; - $10 = sp + 1064|0; - $11 = sp + 1076|0; - $12 = sp + 1036|0; - $13 = sp + 1000|0; - $14 = sp + 976|0; - $15 = sp + 960|0; - $16 = sp + 1012|0; - $17 = sp + 1220|0; - $18 = sp + 1228|0; - $19 = sp + 1244|0; - $20 = sp + 1252|0; - $21 = sp + 1260|0; - $22 = sp + 1268|0; - $23 = sp + 1276|0; - $24 = sp + 1280|0; - $25 = sp + 832|0; - $26 = sp + 1284|0; - $27 = sp + 1288|0; - $28 = sp + 1292|0; - $29 = sp + 856|0; - $30 = sp + 872|0; - $31 = sp + 880|0; - $32 = sp + 1304|0; - $33 = sp + 896|0; - $34 = sp + 824|0; - $35 = sp + 888|0; - $36 = sp + 1320|0; - $37 = sp + 1328|0; - $38 = sp + 1332|0; - $39 = sp + 864|0; - $40 = sp + 1340|0; - $41 = sp + 152|0; - $42 = sp + 1344|0; - $43 = sp + 136|0; - $44 = sp + 1348|0; - $45 = sp + 192|0; - $46 = sp + 1352|0; - $47 = sp + 56|0; - $48 = sp + 1364|0; - $49 = sp + 48|0; - $50 = sp + 104|0; - $51 = sp + 80|0; - $52 = sp + 88|0; - $53 = sp + 96|0; - $54 = sp + 112|0; - $55 = sp + 392|0; - $56 = sp + 216|0; - $57 = sp + 1372|0; - $58 = sp + 1384|0; - $59 = sp + 240|0; - $60 = sp + 256|0; - $61 = sp + 264|0; - $62 = sp + 1392|0; - $63 = sp + 1396|0; - $64 = sp + 1400|0; - $65 = sp + 1408|0; - $66 = sp + 304|0; - $67 = sp + 320|0; - $68 = sp + 336|0; - $69 = sp + 1412|0; - $70 = sp + 360|0; - $71 = sp + 1416|0; - $72 = sp + 376|0; - $73 = sp + 1456|0; - $74 = sp + 1464|0; - $75 = sp + 400|0; - $76 = sp + 1460|0; - $77 = sp + 384|0; - $78 = sp + 1452|0; - $79 = sp + 1448|0; - $80 = sp + 1444|0; - $81 = sp + 1440|0; - $82 = sp + 1436|0; - $83 = sp + 1432|0; - $84 = sp + 1428|0; - $85 = sp + 1424|0; - $86 = sp + 1420|0; - $87 = sp + 368|0; - $88 = sp + 352|0; - $89 = sp + 296|0; - $90 = sp + 1404|0; - $91 = sp + 288|0; - $92 = sp + 280|0; - $93 = sp + 272|0; - $94 = sp + 1388|0; - $95 = sp + 232|0; - $96 = sp + 1380|0; - $97 = sp + 1376|0; - $98 = sp + 224|0; - $99 = sp + 1368|0; - $100 = sp + 40|0; - $101 = sp + 1360|0; - $102 = sp + 1356|0; - $103 = sp + 64|0; - $104 = sp + 120|0; - $105 = sp + 144|0; - $106 = sp + 160|0; - $107 = sp + 1336|0; - $108 = sp + 164|0; - $109 = sp + 168|0; - $110 = sp + 184|0; - $111 = sp + 1324|0; - $112 = sp + 200|0; - $113 = sp + 776|0; - $114 = sp + 408|0; - $115 = sp + 1316|0; - $116 = sp + 1312|0; - $117 = sp + 416|0; - $118 = sp + 1308|0; - $119 = sp + 424|0; - $120 = sp + 1300|0; - $121 = sp + 432|0; - $122 = sp + 1296|0; - $123 = sp + 440|0; - $124 = sp + 448|0; - $125 = sp + 456|0; - $126 = sp + 464|0; - $127 = sp + 472|0; - $128 = sp + 480|0; - $129 = sp + 488|0; - $130 = sp + 496|0; - $131 = sp + 1272|0; - $132 = sp + 504|0; - $133 = sp + 1264|0; - $134 = sp + 512|0; - $135 = sp + 1256|0; - $136 = sp + 520|0; - $137 = sp + 1248|0; - $138 = sp + 528|0; - $139 = sp + 1240|0; - $140 = sp + 1236|0; - $141 = sp + 1232|0; - $142 = sp + 536|0; - $143 = sp + 1224|0; - $144 = sp + 544|0; - $145 = sp + 1216|0; - $146 = sp + 552|0; - $147 = sp + 956|0; - $148 = sp + 560|0; - $149 = sp + 964|0; - $150 = sp + 572|0; - $151 = sp + 984|0; - $152 = sp + 584|0; - $153 = sp + 988|0; - $154 = sp + 596|0; - $155 = sp + 1072|0; - $156 = sp + 608|0; - $157 = sp + 1068|0; - $158 = sp + 620|0; - $159 = sp + 1060|0; - $160 = sp + 632|0; - $161 = sp + 1052|0; - $162 = sp + 644|0; - $163 = sp + 1044|0; - $164 = sp + 656|0; - $165 = sp + 1008|0; - $166 = sp + 668|0; - $167 = sp + 1028|0; - $168 = sp + 680|0; - $169 = sp + 692|0; - $170 = sp + 704|0; - $171 = sp + 716|0; - $172 = sp + 720|0; - $173 = sp + 952|0; - $174 = sp + 736|0; - $175 = sp + 980|0; - $176 = sp + 744|0; - $177 = sp + 1004|0; - $178 = sp + 996|0; - $179 = sp + 992|0; - $180 = sp + 1080|0; - $181 = sp + 1084|0; - $182 = sp + 1088|0; - $183 = sp + 1092|0; - $184 = sp + 1096|0; - $185 = sp + 1100|0; - $186 = sp + 1104|0; - $187 = sp + 1108|0; - $188 = sp + 1112|0; - $189 = sp + 1116|0; - $190 = sp + 1120|0; - $191 = sp + 1124|0; - $192 = sp + 1128|0; - $193 = sp + 1132|0; - $194 = sp + 1136|0; - $195 = sp + 1140|0; - $196 = sp + 1144|0; - $197 = sp + 1148|0; - $198 = sp + 1152|0; - $199 = sp + 1156|0; - $200 = sp + 1160|0; - $201 = sp + 1164|0; - $202 = sp + 1168|0; - $203 = sp + 752|0; - $204 = sp + 760|0; - $205 = sp + 1172|0; - $206 = sp + 768|0; - $207 = sp + 1176|0; - $208 = sp + 1180|0; - $209 = sp + 1184|0; - $210 = sp + 1188|0; - $211 = sp + 1192|0; - $212 = sp + 1196|0; - $213 = sp + 1200|0; - $214 = sp + 1204|0; - $215 = sp + 1208|0; - $216 = sp + 1212|0; - $217 = HEAP32[736>>2]|0; - $218 = ($217|0)==(0); - do { - if ($218) { - $219 = HEAP32[424>>2]|0; - L3: do { - switch ($219|0) { - case 2: { - $291 = HEAP32[768>>2]|0; - $292 = (($291) + 1)|0; - HEAP32[768>>2] = $292; - $293 = (_IsKeyPressed(262)|0); - $294 = ($293|0)!=(0); - $295 = HEAP32[688>>2]|0; - $296 = ($295>>>0)<(5); - $or$cond3 = $294 & $296; - if ($or$cond3) { - $297 = (($295) + 1)|0; - HEAP32[688>>2] = $297; - HEAP32[768>>2] = 0; - $304 = $297; - } else { - $298 = (_IsKeyPressed(263)|0); - $299 = ($298|0)!=(0); - $300 = HEAP32[688>>2]|0; - $301 = ($300|0)!=(0); - $or$cond5 = $299 & $301; - if ($or$cond5) { - $302 = (($300) + -1)|0; - HEAP32[688>>2] = $302; - HEAP32[768>>2] = 0; - $304 = $302; - } else { - $304 = $300; - } - } - $303 = ($304|0)==(0); - if ($303) { - $305 = HEAP32[768>>2]|0; - $306 = ($305|0)>(60); - $307 = HEAP32[704>>2]|0; - $308 = ($307|0)<(40); - $or$cond7 = $306 & $308; - if ($or$cond7) { - $309 = (($307) + 1)|0; - HEAP32[704>>2] = $309; - $310 = +HEAPF32[1736>>2]; - $311 = $310 + 1.0; - HEAPF32[1736>>2] = $311; - $312 = +HEAPF32[((1736 + 4|0))>>2]; - $313 = $312 + 1.0; - HEAPF32[((1736 + 4|0))>>2] = $313; - $$pr22 = HEAP32[768>>2]|0; - $315 = $$pr22; - } else { - $315 = $305; - } - $314 = ($315|0)>(140); - if ($314) { - $316 = (_IsKeyDown(65)|0); - $317 = ($316|0)==(0); - if (!($317)) { - $318 = +HEAPF32[1736>>2]; - $319 = $318 + -5.0; - HEAPF32[1736>>2] = $319; - } - $320 = (_IsKeyDown(68)|0); - $321 = ($320|0)==(0); - if (!($321)) { - $322 = +HEAPF32[1736>>2]; - $323 = $322 + 5.0; - HEAPF32[1736>>2] = $323; - } - $324 = (_IsKeyDown(87)|0); - $325 = ($324|0)==(0); - if (!($325)) { - $326 = +HEAPF32[((1736 + 4|0))>>2]; - $327 = $326 + -5.0; - HEAPF32[((1736 + 4|0))>>2] = $327; - } - $328 = (_IsKeyDown(83)|0); - $329 = ($328|0)==(0); - if (!($329)) { - $330 = +HEAPF32[((1736 + 4|0))>>2]; - $331 = $330 + 5.0; - HEAPF32[((1736 + 4|0))>>2] = $331; - } - $332 = (_IsKeyPressed(49)|0); - $333 = ($332|0)==(0); - if (!($333)) { - HEAP32[696>>2] = 1; - } - $334 = (_IsKeyPressed(50)|0); - $335 = ($334|0)==(0); - if (!($335)) { - HEAP32[696>>2] = 2; - } - $336 = (_IsKeyPressed(51)|0); - $337 = ($336|0)==(0); - if (!($337)) { - HEAP32[696>>2] = 3; - } - $338 = (_IsKeyPressed(52)|0); - $339 = ($338|0)==(0); - if (!($339)) { - HEAP32[696>>2] = 4; - } - } - } - $340 = HEAP32[688>>2]|0; - $341 = ($340|0)==(2); - if ($341) { - $342 = HEAP32[768>>2]|0; - $343 = (+($342|0)); - $344 = $343 * 0.0261799387799149414768; - $345 = $344; - $346 = (+Math_sin((+$345))); - $347 = $346 + 1.0; - $348 = $347 * 0.5; - HEAPF32[712>>2] = $348; - $$pr23 = HEAP32[688>>2]|0; - $350 = $$pr23; - } else { - $350 = $340; - } - $349 = ($350|0)==(5); - if ($349) { - $351 = (_IsKeyPressed(32)|0); - $352 = ($351|0)==(0); - if (!($352)) { - $353 = (_MusicIsPlaying()|0); - $354 = ($353|0)==(0); - if ($354) { - _PlayMusicStream(2408); - } - } - $355 = (_IsKeyPressed(83)|0); - $356 = ($355|0)==(0); - if (!($356)) { - _StopMusicStream(); - HEAPF32[720>>2] = 0.0; - $i2$051 = 0; - while(1) { - $357 = (_GetRandomValue(-280,280)|0); - $358 = (($357) + 930)|0; - $359 = (+($358|0)); - $360 = (_GetRandomValue(-200,200)|0); - $361 = (($360) + 420)|0; - $362 = (+($361|0)); - $363 = (1976 + ($i2$051<<3)|0); - HEAPF32[$363>>2] = $359; - $364 = ((1976 + ($i2$051<<3)|0) + 4|0); - HEAPF32[$364>>2] = $362; - $365 = (_GetRandomValue(0,255)|0); - $366 = $365&255; - $367 = (_GetRandomValue(0,255)|0); - $368 = $367&255; - $369 = (_GetRandomValue(0,255)|0); - $370 = $369&255; - $371 = (2104 + ($i2$051<<2)|0); - HEAP8[$371>>0] = $366; - $372 = ((2104 + ($i2$051<<2)|0) + 1|0); - HEAP8[$372>>0] = $368; - $373 = ((2104 + ($i2$051<<2)|0) + 2|0); - HEAP8[$373>>0] = $370; - $374 = ((2104 + ($i2$051<<2)|0) + 3|0); - HEAP8[$374>>0] = -1; - $375 = (_GetRandomValue(2,50)|0); - $376 = (2168 + ($i2$051<<2)|0); - HEAP32[$376>>2] = $375; - $377 = (2232 + ($i2$051<<2)|0); - HEAPF32[$377>>2] = 1.0; - $378 = (2296 + ($i2$051<<2)|0); - HEAP32[$378>>2] = 0; - $379 = (($i2$051) + 1)|0; - $exitcond55 = ($379|0)==(16); - if ($exitcond55) { - break; - } else { - $i2$051 = $379; - } - } - } - $380 = (_MusicIsPlaying()|0); - $381 = ($380|0)==(0); - if (!($381)) { - $382 = (+_GetMusicTimePlayed()); - $383 = (+_GetMusicTimeLength()); - $384 = $382 / $383; - $385 = $384 * 100.0; - $386 = $385 * 4.0; - HEAPF32[720>>2] = $386; - $387 = HEAP32[768>>2]|0; - $388 = (($387|0) % 10)&-1; - $389 = ($388|0)==(0); - L55: do { - if ($389) { - $i3$049 = 0; - while(1) { - $392 = (2296 + ($i3$049<<2)|0); - $393 = HEAP32[$392>>2]|0; - $394 = ($393|0)==(0); - $391 = (($i3$049) + 1)|0; - if ($394) { - break; - } - $390 = ($391|0)<(16); - if ($390) { - $i3$049 = $391; - } else { - $i4$047 = 0; - break L55; - } - } - HEAP32[$392>>2] = 1; - $i4$047 = 0; - } else { - $i4$047 = 0; - } - } while(0); - while(1) { - $395 = (2296 + ($i4$047<<2)|0); - $396 = HEAP32[$395>>2]|0; - $397 = ($396|0)==(0); - if (!($397)) { - $398 = (2232 + ($i4$047<<2)|0); - $399 = +HEAPF32[$398>>2]; - $400 = $399 + -0.00499999988824129104614; - HEAPF32[$398>>2] = $400; - } - $401 = (2232 + ($i4$047<<2)|0); - $402 = +HEAPF32[$401>>2]; - $403 = !($402 <= 0.0); - if (!($403)) { - HEAP32[$395>>2] = 0; - $404 = (_GetRandomValue(-280,280)|0); - $405 = (($404) + 930)|0; - $406 = (+($405|0)); - $407 = (_GetRandomValue(-200,200)|0); - $408 = (($407) + 420)|0; - $409 = (+($408|0)); - $410 = (1976 + ($i4$047<<3)|0); - HEAPF32[$410>>2] = $406; - $411 = ((1976 + ($i4$047<<3)|0) + 4|0); - HEAPF32[$411>>2] = $409; - $412 = (_GetRandomValue(0,255)|0); - $413 = $412&255; - $414 = (_GetRandomValue(0,255)|0); - $415 = $414&255; - $416 = (_GetRandomValue(0,255)|0); - $417 = $416&255; - $418 = (2104 + ($i4$047<<2)|0); - HEAP8[$418>>0] = $413; - $419 = ((2104 + ($i4$047<<2)|0) + 1|0); - HEAP8[$419>>0] = $415; - $420 = ((2104 + ($i4$047<<2)|0) + 2|0); - HEAP8[$420>>0] = $417; - $421 = ((2104 + ($i4$047<<2)|0) + 3|0); - HEAP8[$421>>0] = -1; - $422 = (_GetRandomValue(2,60)|0); - $423 = (2168 + ($i4$047<<2)|0); - HEAP32[$423>>2] = $422; - HEAPF32[$401>>2] = 1.0; - } - $424 = (($i4$047) + 1)|0; - $exitcond53 = ($424|0)==(16); - if ($exitcond53) { - break; - } else { - $i4$047 = $424; - } - } - } - $425 = (_IsKeyPressed(78)|0); - $426 = ($425|0)==(0); - if (!($426)) { - ;HEAP32[$$byval_copy262+0>>2]=HEAP32[1896+0>>2]|0;HEAP32[$$byval_copy262+4>>2]=HEAP32[1896+4>>2]|0; - _PlaySound($$byval_copy262); - } - } - $427 = (_IsKeyPressed(257)|0); - $428 = ($427|0)==(0); - if (!($428)) { - _TransitionToScreen(3); - label = 147; - break L3; - } - $429 = (_IsKeyPressed(259)|0); - $430 = ($429|0)==(0); - if ($430) { - label = 147; - } else { - _TransitionToScreen(1); - label = 147; - } - break; - } - case 0: { - $220 = HEAP32[768>>2]|0; - $221 = (($220) + 1)|0; - HEAP32[768>>2] = $221; - $222 = HEAP32[432>>2]|0; - $223 = HEAP32[440>>2]|0; - $224 = ($222|0)<($223|0); - if ($224) { - $225 = (($221|0) % 30)&-1; - $226 = ($225|0)==(0); - if ($226) { - $227 = (($222) + 1)|0; - HEAP32[432>>2] = $227; - } - } - $228 = (_IsKeyDown(32)|0); - $229 = ($228|0)==(0); - if (!($229)) { - $230 = HEAP32[432>>2]|0; - $231 = HEAP32[440>>2]|0; - $232 = ($230|0)<($231|0); - if ($232) { - $233 = (($230) + 4)|0; - HEAP32[432>>2] = $233; - } - } - $234 = (_IsKeyPressed(257)|0); - $235 = ($234|0)==(0); - if ($235) { - label = 147; - } else { - $236 = HEAP32[432>>2]|0; - $237 = HEAP32[440>>2]|0; - $238 = ($236|0)<($237|0); - if ($238) { - label = 147; - } else { - _TransitionToScreen(1); - label = 147; - } - } - break; - } - case 1: { - $239 = HEAP32[664>>2]|0; - do { - if ((($239|0) == 3)) { - $258 = HEAP32[768>>2]|0; - $259 = (($258) + 1)|0; - HEAP32[768>>2] = $259; - $260 = (($259|0) % 12)&-1; - $261 = ($260|0)==(0); - $262 = HEAP32[616>>2]|0; - if ($261) { - $263 = (($262) + 1)|0; - HEAP32[616>>2] = $263; - $264 = $263; - } else { - $264 = $262; - } - switch ($264|0) { - case 4: { - HEAP8[((656 + 3|0))>>0] = 108; - break; - } - case 3: { - HEAP8[((656 + 2|0))>>0] = 121; - break; - } - case 2: { - HEAP8[((656 + 1|0))>>0] = 97; - break; - } - case 6: { - HEAP8[((656 + 5|0))>>0] = 98; - break; - } - case 1: { - HEAP8[656>>0] = 114; - break; - } - case 5: { - HEAP8[((656 + 4|0))>>0] = 105; - break; - } - default: { - } - } - $265 = HEAP32[616>>2]|0; - $266 = ($265|0)>(9); - if ($266) { - $267 = HEAP32[768>>2]|0; - $268 = $267 & 1; - $269 = ($268|0)==(0); - if ($269) { - $270 = HEAP32[488>>2]|0; - $271 = (($270) + 1)|0; - HEAP32[488>>2] = $271; - } - $272 = HEAP32[672>>2]|0; - $273 = ($272|0)==(0); - if (!($273)) { - $281 = HEAP32[680>>2]|0; - $282 = ($281|0)==(0); - if (!($282)) { - break; - } - $283 = HEAP32[488>>2]|0; - $284 = ($283>>>0)<(32); - if ($284) { - (_strncpy((496|0),(200|0),($283|0))|0); - break; - } else { - HEAP32[680>>2] = 1; - HEAP32[768>>2] = 0; - break; - } - } - $274 = HEAP32[488>>2]|0; - $275 = ($274>>>0)<(33); - if ($275) { - (_strncpy((496|0),(160|0),($274|0))|0); - break; - } - $strlenfirst = HEAP8[496>>0]|0; - $276 = ($strlenfirst<<24>>24)==(0); - if (!($276)) { - $i1$042 = 0; - while(1) { - $277 = (496 + ($i1$042)|0); - HEAP8[$277>>0] = 32; - $278 = (($i1$042) + 1)|0; - $279 = (_strlen((496|0))|0); - $280 = ($278>>>0)<($279>>>0); - if ($280) { - $i1$042 = $278; - } else { - break; - } - } - } - HEAP32[488>>2] = 0; - HEAP32[672>>2] = 1; - } - } else if ((($239|0) == 2)) { - $248 = HEAP32[640>>2]|0; - $249 = (($248) + 4)|0; - HEAP32[640>>2] = $249; - $250 = HEAP32[648>>2]|0; - $251 = (($250) + 4)|0; - HEAP32[648>>2] = $251; - $252 = ($249|0)==(256); - if ($252) { - HEAP32[488>>2] = 0; - $strlenfirst52 = HEAP8[496>>0]|0; - $253 = ($strlenfirst52<<24>>24)==(0); - if (!($253)) { - $i$041 = 0; - while(1) { - $254 = (496 + ($i$041)|0); - HEAP8[$254>>0] = 32; - $255 = (($i$041) + 1)|0; - $256 = (_strlen((496|0))|0); - $257 = ($255>>>0)<($256>>>0); - if ($257) { - $i$041 = $255; - } else { - break; - } - } - } - HEAP32[664>>2] = 3; - } - } else if ((($239|0) == 1)) { - $243 = HEAP32[624>>2]|0; - $244 = (($243) + 4)|0; - HEAP32[624>>2] = $244; - $245 = HEAP32[632>>2]|0; - $246 = (($245) + 4)|0; - HEAP32[632>>2] = $246; - $247 = ($244|0)==(256); - if ($247) { - HEAP32[664>>2] = 2; - } - } else if ((($239|0) == 0)) { - $240 = HEAP32[768>>2]|0; - $241 = (($240) + 1)|0; - HEAP32[768>>2] = $241; - $242 = ($241|0)==(120); - if ($242) { - HEAP32[664>>2] = 1; - HEAP32[768>>2] = 0; - } - } - } while(0); - $285 = (_IsKeyPressed(257)|0); - $286 = ($285|0)!=(0); - $287 = HEAP32[680>>2]|0; - $288 = ($287|0)!=(0); - $or$cond = $286 & $288; - if ($or$cond) { - _TransitionToScreen(2); - label = 147; - break L3; - } - $289 = (_IsKeyPressed(259)|0); - $290 = ($289|0)==(0); - if ($290) { - label = 147; - } else { - _TransitionToScreen(1); - label = 147; - } - break; - } - case 4: { - $431 = HEAP32[768>>2]|0; - $432 = (($431) + 1)|0; - HEAP32[768>>2] = $432; - $433 = (_IsKeyPressed(80)|0); - $434 = ($433|0)==(0); - $$pr25 = HEAP32[480>>2]|0; - if ($434) { - $438 = $$pr25; - } else { - $435 = ($$pr25|0)==(0); - $436 = $435&1; - HEAP32[480>>2] = $436; - $438 = $436; - } - $437 = ($438|0)==(0); - do { - if ($437) { - $439 = +HEAPF32[1096>>2]; - $440 = +HEAPF32[1088>>2]; - $441 = $439 + $440; - HEAPF32[1088>>2] = $441; - $442 = +HEAPF32[((1096 + 4|0))>>2]; - $443 = +HEAPF32[((1088 + 4|0))>>2]; - $444 = $442 + $443; - HEAPF32[((1088 + 4|0))>>2] = $444; - $445 = +HEAPF32[1088>>2]; - $446 = HEAP32[8>>2]|0; - $447 = (($446) + -5)|0; - $448 = (+($447|0)); - $449 = $445 >= $448; - $450 = $445 <= 5.0; - $or$cond9 = $449 | $450; - if ($or$cond9) { - $451 = +HEAPF32[1096>>2]; - $452 = $451 * -1.0; - HEAPF32[1096>>2] = $452; - } - $453 = +HEAPF32[((1088 + 4|0))>>2]; - $454 = HEAP32[16>>2]|0; - $455 = (($454) + -5)|0; - $456 = (+($455|0)); - $457 = $453 >= $456; - $458 = $453 <= 5.0; - $or$cond11 = $457 | $458; - if ($or$cond11) { - $459 = +HEAPF32[((1096 + 4|0))>>2]; - $460 = $459 * -1.0; - HEAPF32[((1096 + 4|0))>>2] = $460; - } - $461 = (_IsKeyDown(265)|0); - $462 = ($461|0)==(0); - do { - if ($462) { - $463 = (_IsKeyDown(87)|0); - $464 = ($463|0)==(0); - if ($464) { - $467 = (_IsKeyDown(264)|0); - $468 = ($467|0)==(0); - if ($468) { - $469 = (_IsKeyDown(83)|0); - $470 = ($469|0)==(0); - if ($470) { - $473 = HEAP32[472>>2]|0; - $474 = ($473|0)>(0); - if (!($474)) { - break; - } - $475 = (($473) + -1)|0; - HEAP32[472>>2] = $475; - $476 = ($475|0)==(0); - if (!($476)) { - break; - } - HEAP32[464>>2] = 1; - break; - } - } - $471 = HEAP32[((1104 + 4|0))>>2]|0; - $472 = (($471) + 5)|0; - HEAP32[((1104 + 4|0))>>2] = $472; - HEAP32[464>>2] = 0; - HEAP32[472>>2] = 180; - } else { - label = 105; - } - } else { - label = 105; - } - } while(0); - if ((label|0) == 105) { - $465 = HEAP32[((1104 + 4|0))>>2]|0; - $466 = (($465) + -5)|0; - HEAP32[((1104 + 4|0))>>2] = $466; - HEAP32[464>>2] = 0; - HEAP32[472>>2] = 180; - } - $477 = +HEAPF32[1088>>2]; - $478 = $477 < 600.0; - $479 = HEAP32[464>>2]|0; - $480 = ($479|0)!=(0); - $or$cond13 = $478 & $480; - do { - if ($or$cond13) { - $481 = +HEAPF32[((1088 + 4|0))>>2]; - $482 = HEAP32[((1104 + 4|0))>>2]|0; - $483 = HEAP32[((1104 + 12|0))>>2]|0; - $484 = (($483|0) / 2)&-1; - $485 = (($484) + ($482))|0; - $486 = (+($485|0)); - $487 = $481 > $486; - if ($487) { - $488 = (($482) + 5)|0; - HEAP32[((1104 + 4|0))>>2] = $488; - $492 = $488; - break; - } - $489 = $481 < $486; - if ($489) { - $490 = (($482) + -5)|0; - HEAP32[((1104 + 4|0))>>2] = $490; - $492 = $490; - } else { - label = 117; - } - } else { - label = 117; - } - } while(0); - if ((label|0) == 117) { - $$pr27 = HEAP32[((1104 + 4|0))>>2]|0; - $492 = $$pr27; - } - $491 = ($492|0)<(1); - if ($491) { - HEAP32[((1104 + 4|0))>>2] = 0; - } else { - $493 = HEAP32[((1104 + 12|0))>>2]|0; - $494 = (($493) + ($492))|0; - $495 = HEAP32[16>>2]|0; - $496 = ($494|0)<($495|0); - if (!($496)) { - $497 = (($495) - ($493))|0; - HEAP32[((1104 + 4|0))>>2] = $497; - } - } - $498 = +HEAPF32[1088>>2]; - $499 = HEAP32[8>>2]|0; - $500 = (($499) + -600)|0; - $501 = (+($500|0)); - $502 = $498 > $501; - do { - if ($502) { - $503 = +HEAPF32[((1088 + 4|0))>>2]; - $504 = HEAP32[((1120 + 4|0))>>2]|0; - $505 = HEAP32[((1120 + 12|0))>>2]|0; - $506 = (($505|0) / 2)&-1; - $507 = (($506) + ($504))|0; - $508 = (+($507|0)); - $509 = $503 > $508; - do { - if ($509) { - $510 = (($504) + 5)|0; - HEAP32[((1120 + 4|0))>>2] = $510; - $514 = $510; - } else { - $511 = $503 < $508; - if ($511) { - $512 = (($504) + -5)|0; - HEAP32[((1120 + 4|0))>>2] = $512; - $514 = $512; - break; - } else { - $$pr29 = HEAP32[((1120 + 4|0))>>2]|0; - $514 = $$pr29; - break; - } - } - } while(0); - $513 = ($514|0)<(1); - if ($513) { - HEAP32[((1120 + 4|0))>>2] = 0; - break; - } - $515 = HEAP32[((1120 + 12|0))>>2]|0; - $516 = (($515) + ($514))|0; - $517 = HEAP32[16>>2]|0; - $518 = ($516|0)<($517|0); - if (!($518)) { - $519 = (($517) - ($515))|0; - HEAP32[((1120 + 4|0))>>2] = $519; - } - } - } while(0); - ;HEAP32[$pongEnemyRec$byval_copy257+0>>2]=HEAP32[1088+0>>2]|0;HEAP32[$pongEnemyRec$byval_copy257+4>>2]=HEAP32[1088+4>>2]|0; - ;HEAP32[$$byval_copy262+0>>2]=HEAP32[1104+0>>2]|0;HEAP32[$$byval_copy262+4>>2]=HEAP32[1104+4>>2]|0;HEAP32[$$byval_copy262+8>>2]=HEAP32[1104+8>>2]|0;HEAP32[$$byval_copy262+12>>2]=HEAP32[1104+12>>2]|0; - $520 = (_CheckCollisionCircleRec($pongEnemyRec$byval_copy257,10.0,$$byval_copy262)|0); - $521 = ($520|0)==(0); - if ($521) { - ;HEAP32[$pongEnemyRec$byval_copy257+0>>2]=HEAP32[1088+0>>2]|0;HEAP32[$pongEnemyRec$byval_copy257+4>>2]=HEAP32[1088+4>>2]|0; - ;HEAP32[$$byval_copy262+0>>2]=HEAP32[1120+0>>2]|0;HEAP32[$$byval_copy262+4>>2]=HEAP32[1120+4>>2]|0;HEAP32[$$byval_copy262+8>>2]=HEAP32[1120+8>>2]|0;HEAP32[$$byval_copy262+12>>2]=HEAP32[1120+12>>2]|0; - $522 = (_CheckCollisionCircleRec($pongEnemyRec$byval_copy257,10.0,$$byval_copy262)|0); - $523 = ($522|0)==(0); - if (!($523)) { - label = 134; - } - } else { - label = 134; - } - if ((label|0) == 134) { - $524 = +HEAPF32[1096>>2]; - $525 = $524 * -1.0; - HEAPF32[1096>>2] = $525; - } - $526 = +HEAPF32[1088>>2]; - $527 = HEAP32[8>>2]|0; - $528 = (($527) + -5)|0; - $529 = (+($528|0)); - $530 = !($526 >= $529); - if (!($530)) { - $531 = HEAP32[448>>2]|0; - $532 = (($531) + 1)|0; - HEAP32[448>>2] = $532; - break; - } - $533 = !($526 <= 5.0); - if (!($533)) { - $534 = HEAP32[456>>2]|0; - $535 = (($534) + 1)|0; - HEAP32[456>>2] = $535; - } - } - } while(0); - $536 = (_IsKeyPressed(257)|0); - $537 = ($536|0)==(0); - if (!($537)) { - _TransitionToScreen(3); - } - $538 = (_IsKeyPressed(259)|0); - $539 = ($538|0)==(0); - if ($539) { - label = 147; - } else { - _TransitionToScreen(3); - label = 147; - } - break; - } - case 3: { - $540 = HEAP32[768>>2]|0; - $541 = (($540) + 1)|0; - HEAP32[768>>2] = $541; - $542 = (_IsKeyPressed(257)|0); - $543 = ($542|0)==(0); - if (!($543)) { - _TransitionToScreen(4); - } - $544 = (_IsKeyPressed(259)|0); - $545 = ($544|0)==(0); - if ($545) { - label = 147; - } else { - _TransitionToScreen(2); - label = 147; - } - break; - } - default: { - } - } - } while(0); - if ((label|0) == 147) { - $$pr31 = HEAP32[424>>2]|0; - $546 = ($$pr31|0)==(0); - if ($546) { - break; - } - } - $547 = HEAP32[416>>2]|0; - $548 = HEAP32[408>>2]|0; - $549 = ($547|0)<($548|0); - if ($549) { - $550 = (($547) + 1)|0; - HEAP32[416>>2] = $550; - } - } else { - _UpdateTransition(); - } - } while(0); - _BeginDrawing(); - HEAP8[$0>>0] = -11; - $551 = (($0) + 1|0); - HEAP8[$551>>0] = -11; - $552 = (($0) + 2|0); - HEAP8[$552>>0] = -11; - $553 = (($0) + 3|0); - HEAP8[$553>>0] = -1; - ;HEAP8[$$byval_copy262+0>>0]=HEAP8[$0+0>>0]|0;HEAP8[$$byval_copy262+1>>0]=HEAP8[$0+1>>0]|0;HEAP8[$$byval_copy262+2>>0]=HEAP8[$0+2>>0]|0;HEAP8[$$byval_copy262+3>>0]=HEAP8[$0+3>>0]|0; - _ClearBackground($$byval_copy262); - $554 = HEAP32[424>>2]|0; - L210: do { - switch ($554|0) { - case 0: { - $555 = HEAP32[432>>2]|0; - $556 = HEAP32[440>>2]|0; - $557 = ($555|0)<($556|0); - if ($557) { - $558 = HEAP32[768>>2]|0; - $559 = (($558|0) / 40)&-1; - $560 = $559 & 1; - $561 = ($560|0)==(0); - if (!($561)) { - HEAP8[$1>>0] = 80; - $562 = (($1) + 1|0); - HEAP8[$562>>0] = 80; - $563 = (($1) + 2|0); - HEAP8[$563>>0] = 80; - $564 = (($1) + 3|0); - HEAP8[$564>>0] = -1; - ;HEAP8[$$byval_copy262+0>>0]=HEAP8[$1+0>>0]|0;HEAP8[$$byval_copy262+1>>0]=HEAP8[$1+1>>0]|0;HEAP8[$$byval_copy262+2>>0]=HEAP8[$1+2>>0]|0;HEAP8[$$byval_copy262+3>>0]=HEAP8[$1+3>>0]|0; - _DrawText(24,360,240,40,$$byval_copy262); - } - } - $565 = HEAP32[440>>2]|0; - $566 = (($565) + 8)|0; - HEAP8[$2>>0] = -56; - $567 = (($2) + 1|0); - HEAP8[$567>>0] = -56; - $568 = (($2) + 2|0); - HEAP8[$568>>0] = -56; - $569 = (($2) + 3|0); - HEAP8[$569>>0] = -1; - ;HEAP8[$$byval_copy262+0>>0]=HEAP8[$2+0>>0]|0;HEAP8[$$byval_copy262+1>>0]=HEAP8[$2+1>>0]|0;HEAP8[$$byval_copy262+2>>0]=HEAP8[$2+2>>0]|0;HEAP8[$$byval_copy262+3>>0]=HEAP8[$2+3>>0]|0; - _DrawRectangle(356,296,$566,68,$$byval_copy262); - $570 = HEAP32[432>>2]|0; - $571 = (($570) + -1)|0; - HEAP8[$3>>0] = 80; - $572 = (($3) + 1|0); - HEAP8[$572>>0] = 80; - $573 = (($3) + 2|0); - HEAP8[$573>>0] = 80; - $574 = (($3) + 3|0); - HEAP8[$574>>0] = -1; - ;HEAP8[$$byval_copy262+0>>0]=HEAP8[$3+0>>0]|0;HEAP8[$$byval_copy262+1>>0]=HEAP8[$3+1>>0]|0;HEAP8[$$byval_copy262+2>>0]=HEAP8[$3+2>>0]|0;HEAP8[$$byval_copy262+3>>0]=HEAP8[$3+3>>0]|0; - _DrawRectangle(360,300,$571,60,$$byval_copy262); - $575 = HEAP32[440>>2]|0; - $576 = (($575) + 8)|0; - HEAP8[$4>>0] = 80; - $577 = (($4) + 1|0); - HEAP8[$577>>0] = 80; - $578 = (($4) + 2|0); - HEAP8[$578>>0] = 80; - $579 = (($4) + 3|0); - HEAP8[$579>>0] = -1; - ;HEAP8[$$byval_copy262+0>>0]=HEAP8[$4+0>>0]|0;HEAP8[$$byval_copy262+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$$byval_copy262+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$$byval_copy262+3>>0]=HEAP8[$4+3>>0]|0; - _DrawRectangleLines(356,295,$576,68,$$byval_copy262); - $580 = HEAP32[432>>2]|0; - $581 = HEAP32[440>>2]|0; - $582 = ($580|0)<($581|0); - if ($582) { - $595 = HEAP32[8>>2]|0; - $596 = (($595|0) / 2)&-1; - $597 = (($596) + -200)|0; - HEAP8[$6>>0] = -56; - $598 = (($6) + 1|0); - HEAP8[$598>>0] = -56; - $599 = (($6) + 2|0); - HEAP8[$599>>0] = -56; - $600 = (($6) + 3|0); - HEAP8[$600>>0] = -1; - ;HEAP8[$$byval_copy262+0>>0]=HEAP8[$6+0>>0]|0;HEAP8[$$byval_copy262+1>>0]=HEAP8[$6+1>>0]|0;HEAP8[$$byval_copy262+2>>0]=HEAP8[$6+2>>0]|0;HEAP8[$$byval_copy262+3>>0]=HEAP8[$6+3>>0]|0; - _DrawText(2448,$597,400,20,$$byval_copy262); - label = 206; - break L210; - } - $583 = HEAP32[768>>2]|0; - $584 = (($583|0) / 30)&-1; - $585 = $584 & 1; - $586 = ($585|0)==(0); - if ($586) { - label = 206; - } else { - $587 = HEAP32[8>>2]|0; - $588 = (($587|0) / 2)&-1; - $589 = (_MeasureText(56,40)|0); - $$neg = (($589|0) / -2)&-1; - $590 = (($588) + 20)|0; - $591 = (($590) + ($$neg))|0; - HEAP8[$5>>0] = 80; - $592 = (($5) + 1|0); - HEAP8[$592>>0] = 80; - $593 = (($5) + 2|0); - HEAP8[$593>>0] = 80; - $594 = (($5) + 3|0); - HEAP8[$594>>0] = -1; - ;HEAP8[$$byval_copy262+0>>0]=HEAP8[$5+0>>0]|0;HEAP8[$$byval_copy262+1>>0]=HEAP8[$5+1>>0]|0;HEAP8[$$byval_copy262+2>>0]=HEAP8[$5+2>>0]|0;HEAP8[$$byval_copy262+3>>0]=HEAP8[$5+3>>0]|0; - _DrawText(56,$591,400,40,$$byval_copy262); - label = 206; - } - break; - } - case 1: { - $601 = HEAP32[664>>2]|0; - if ((($601|0) == 1)) { - $612 = HEAP32[1136>>2]|0; - $613 = HEAP32[1144>>2]|0; - $614 = (($613) + -60)|0; - $615 = HEAP32[624>>2]|0; - HEAP8[$8>>0] = 0; - $616 = (($8) + 1|0); - HEAP8[$616>>0] = 0; - $617 = (($8) + 2|0); - HEAP8[$617>>0] = 0; - $618 = (($8) + 3|0); - HEAP8[$618>>0] = -1; - ;HEAP8[$$byval_copy262+0>>0]=HEAP8[$8+0>>0]|0;HEAP8[$$byval_copy262+1>>0]=HEAP8[$8+1>>0]|0;HEAP8[$$byval_copy262+2>>0]=HEAP8[$8+2>>0]|0;HEAP8[$$byval_copy262+3>>0]=HEAP8[$8+3>>0]|0; - _DrawRectangle($612,$614,$615,16,$$byval_copy262); - $619 = HEAP32[1136>>2]|0; - $620 = HEAP32[1144>>2]|0; - $621 = (($620) + -60)|0; - $622 = HEAP32[632>>2]|0; - HEAP8[$9>>0] = 0; - $623 = (($9) + 1|0); - HEAP8[$623>>0] = 0; - $624 = (($9) + 2|0); - HEAP8[$624>>0] = 0; - $625 = (($9) + 3|0); - HEAP8[$625>>0] = -1; - ;HEAP8[$$byval_copy262+0>>0]=HEAP8[$9+0>>0]|0;HEAP8[$$byval_copy262+1>>0]=HEAP8[$9+1>>0]|0;HEAP8[$$byval_copy262+2>>0]=HEAP8[$9+2>>0]|0;HEAP8[$$byval_copy262+3>>0]=HEAP8[$9+3>>0]|0; - _DrawRectangle($619,$621,16,$622,$$byval_copy262); - label = 206; - break L210; - } else if ((($601|0) == 0)) { - $602 = HEAP32[768>>2]|0; - $603 = (($602|0) / 15)&-1; - $604 = $603 & 1; - $605 = ($604|0)==(0); - if ($605) { - label = 206; - break L210; - } - $606 = HEAP32[1136>>2]|0; - $607 = HEAP32[1144>>2]|0; - $608 = (($607) + -60)|0; - HEAP8[$7>>0] = 0; - $609 = (($7) + 1|0); - HEAP8[$609>>0] = 0; - $610 = (($7) + 2|0); - HEAP8[$610>>0] = 0; - $611 = (($7) + 3|0); - HEAP8[$611>>0] = -1; - ;HEAP8[$$byval_copy262+0>>0]=HEAP8[$7+0>>0]|0;HEAP8[$$byval_copy262+1>>0]=HEAP8[$7+1>>0]|0;HEAP8[$$byval_copy262+2>>0]=HEAP8[$7+2>>0]|0;HEAP8[$$byval_copy262+3>>0]=HEAP8[$7+3>>0]|0; - _DrawRectangle($606,$608,16,16,$$byval_copy262); - label = 206; - break L210; - } else if ((($601|0) == 2)) { - $626 = HEAP32[1136>>2]|0; - $627 = HEAP32[1144>>2]|0; - $628 = (($627) + -60)|0; - $629 = HEAP32[624>>2]|0; - HEAP8[$10>>0] = 0; - $630 = (($10) + 1|0); - HEAP8[$630>>0] = 0; - $631 = (($10) + 2|0); - HEAP8[$631>>0] = 0; - $632 = (($10) + 3|0); - HEAP8[$632>>0] = -1; - ;HEAP8[$$byval_copy262+0>>0]=HEAP8[$10+0>>0]|0;HEAP8[$$byval_copy262+1>>0]=HEAP8[$10+1>>0]|0;HEAP8[$$byval_copy262+2>>0]=HEAP8[$10+2>>0]|0;HEAP8[$$byval_copy262+3>>0]=HEAP8[$10+3>>0]|0; - _DrawRectangle($626,$628,$629,16,$$byval_copy262); - $633 = HEAP32[1136>>2]|0; - $634 = HEAP32[1144>>2]|0; - $635 = (($634) + -60)|0; - $636 = HEAP32[632>>2]|0; - HEAP8[$11>>0] = 0; - $637 = (($11) + 1|0); - HEAP8[$637>>0] = 0; - $638 = (($11) + 2|0); - HEAP8[$638>>0] = 0; - $639 = (($11) + 3|0); - HEAP8[$639>>0] = -1; - ;HEAP8[$$byval_copy262+0>>0]=HEAP8[$11+0>>0]|0;HEAP8[$$byval_copy262+1>>0]=HEAP8[$11+1>>0]|0;HEAP8[$$byval_copy262+2>>0]=HEAP8[$11+2>>0]|0;HEAP8[$$byval_copy262+3>>0]=HEAP8[$11+3>>0]|0; - _DrawRectangle($633,$635,16,$636,$$byval_copy262); - $640 = HEAP32[1136>>2]|0; - $641 = (($640) + 240)|0; - $642 = HEAP32[1144>>2]|0; - $643 = (($642) + -60)|0; - $644 = HEAP32[648>>2]|0; - HEAP8[$12>>0] = 0; - $645 = (($12) + 1|0); - HEAP8[$645>>0] = 0; - $646 = (($12) + 2|0); - HEAP8[$646>>0] = 0; - $647 = (($12) + 3|0); - HEAP8[$647>>0] = -1; - ;HEAP8[$$byval_copy262+0>>0]=HEAP8[$12+0>>0]|0;HEAP8[$$byval_copy262+1>>0]=HEAP8[$12+1>>0]|0;HEAP8[$$byval_copy262+2>>0]=HEAP8[$12+2>>0]|0;HEAP8[$$byval_copy262+3>>0]=HEAP8[$12+3>>0]|0; - _DrawRectangle($641,$643,16,$644,$$byval_copy262); - $648 = HEAP32[1136>>2]|0; - $649 = HEAP32[1144>>2]|0; - $650 = (($649) + 180)|0; - $651 = HEAP32[640>>2]|0; - HEAP8[$13>>0] = 0; - $652 = (($13) + 1|0); - HEAP8[$652>>0] = 0; - $653 = (($13) + 2|0); - HEAP8[$653>>0] = 0; - $654 = (($13) + 3|0); - HEAP8[$654>>0] = -1; - ;HEAP8[$$byval_copy262+0>>0]=HEAP8[$13+0>>0]|0;HEAP8[$$byval_copy262+1>>0]=HEAP8[$13+1>>0]|0;HEAP8[$$byval_copy262+2>>0]=HEAP8[$13+2>>0]|0;HEAP8[$$byval_copy262+3>>0]=HEAP8[$13+3>>0]|0; - _DrawRectangle($648,$650,$651,16,$$byval_copy262); - label = 206; - break L210; - } else if ((($601|0) == 3)) { - $655 = HEAP32[1136>>2]|0; - $656 = HEAP32[1144>>2]|0; - $657 = (($656) + -60)|0; - $658 = HEAP32[624>>2]|0; - HEAP8[$14>>0] = 0; - $659 = (($14) + 1|0); - HEAP8[$659>>0] = 0; - $660 = (($14) + 2|0); - HEAP8[$660>>0] = 0; - $661 = (($14) + 3|0); - HEAP8[$661>>0] = -1; - ;HEAP8[$$byval_copy262+0>>0]=HEAP8[$14+0>>0]|0;HEAP8[$$byval_copy262+1>>0]=HEAP8[$14+1>>0]|0;HEAP8[$$byval_copy262+2>>0]=HEAP8[$14+2>>0]|0;HEAP8[$$byval_copy262+3>>0]=HEAP8[$14+3>>0]|0; - _DrawRectangle($655,$657,$658,16,$$byval_copy262); - $662 = HEAP32[1136>>2]|0; - $663 = HEAP32[1144>>2]|0; - $664 = (($663) + -44)|0; - $665 = HEAP32[632>>2]|0; - $666 = (($665) + -32)|0; - HEAP8[$15>>0] = 0; - $667 = (($15) + 1|0); - HEAP8[$667>>0] = 0; - $668 = (($15) + 2|0); - HEAP8[$668>>0] = 0; - $669 = (($15) + 3|0); - HEAP8[$669>>0] = -1; - ;HEAP8[$$byval_copy262+0>>0]=HEAP8[$15+0>>0]|0;HEAP8[$$byval_copy262+1>>0]=HEAP8[$15+1>>0]|0;HEAP8[$$byval_copy262+2>>0]=HEAP8[$15+2>>0]|0;HEAP8[$$byval_copy262+3>>0]=HEAP8[$15+3>>0]|0; - _DrawRectangle($662,$664,16,$666,$$byval_copy262); - $670 = HEAP32[1136>>2]|0; - $671 = (($670) + 240)|0; - $672 = HEAP32[1144>>2]|0; - $673 = (($672) + -44)|0; - $674 = HEAP32[648>>2]|0; - $675 = (($674) + -32)|0; - HEAP8[$16>>0] = 0; - $676 = (($16) + 1|0); - HEAP8[$676>>0] = 0; - $677 = (($16) + 2|0); - HEAP8[$677>>0] = 0; - $678 = (($16) + 3|0); - HEAP8[$678>>0] = -1; - ;HEAP8[$$byval_copy262+0>>0]=HEAP8[$16+0>>0]|0;HEAP8[$$byval_copy262+1>>0]=HEAP8[$16+1>>0]|0;HEAP8[$$byval_copy262+2>>0]=HEAP8[$16+2>>0]|0;HEAP8[$$byval_copy262+3>>0]=HEAP8[$16+3>>0]|0; - _DrawRectangle($671,$673,16,$675,$$byval_copy262); - $679 = HEAP32[1136>>2]|0; - $680 = HEAP32[1144>>2]|0; - $681 = (($680) + 180)|0; - $682 = HEAP32[640>>2]|0; - HEAP8[$17>>0] = 0; - $683 = (($17) + 1|0); - HEAP8[$683>>0] = 0; - $684 = (($17) + 2|0); - HEAP8[$684>>0] = 0; - $685 = (($17) + 3|0); - HEAP8[$685>>0] = -1; - ;HEAP8[$$byval_copy262+0>>0]=HEAP8[$17+0>>0]|0;HEAP8[$$byval_copy262+1>>0]=HEAP8[$17+1>>0]|0;HEAP8[$$byval_copy262+2>>0]=HEAP8[$17+2>>0]|0;HEAP8[$$byval_copy262+3>>0]=HEAP8[$17+3>>0]|0; - _DrawRectangle($679,$681,$682,16,$$byval_copy262); - $686 = HEAP32[8>>2]|0; - $687 = (($686|0) / 2)&-1; - $688 = (($687) + -112)|0; - $689 = HEAP32[16>>2]|0; - $690 = (($689|0) / 2)&-1; - $691 = (($690) + -172)|0; - HEAP8[$18>>0] = -11; - $692 = (($18) + 1|0); - HEAP8[$692>>0] = -11; - $693 = (($18) + 2|0); - HEAP8[$693>>0] = -11; - $694 = (($18) + 3|0); - HEAP8[$694>>0] = -1; - ;HEAP8[$$byval_copy262+0>>0]=HEAP8[$18+0>>0]|0;HEAP8[$$byval_copy262+1>>0]=HEAP8[$18+1>>0]|0;HEAP8[$$byval_copy262+2>>0]=HEAP8[$18+2>>0]|0;HEAP8[$$byval_copy262+3>>0]=HEAP8[$18+3>>0]|0; - _DrawRectangle($688,$691,224,224,$$byval_copy262); - $695 = HEAP32[8>>2]|0; - $696 = (($695|0) / 2)&-1; - $697 = (($696) + -44)|0; - $698 = HEAP32[16>>2]|0; - $699 = (($698|0) / 2)&-1; - $700 = (($699) + -12)|0; - HEAP8[$19>>0] = 0; - $701 = (($19) + 1|0); - HEAP8[$701>>0] = 0; - $702 = (($19) + 2|0); - HEAP8[$702>>0] = 0; - $703 = (($19) + 3|0); - HEAP8[$703>>0] = -1; - ;HEAP8[$$byval_copy262+0>>0]=HEAP8[$19+0>>0]|0;HEAP8[$$byval_copy262+1>>0]=HEAP8[$19+1>>0]|0;HEAP8[$$byval_copy262+2>>0]=HEAP8[$19+2>>0]|0;HEAP8[$$byval_copy262+3>>0]=HEAP8[$19+3>>0]|0; - _DrawText(656,$697,$700,50,$$byval_copy262); - $704 = HEAP32[672>>2]|0; - $705 = ($704|0)==(0); - $706 = HEAP32[8>>2]|0; - $707 = (($706|0) / 2)&-1; - $708 = (_MeasureText(160,30)|0); - $709 = (($708|0) / 2)&-1; - $710 = (($707) - ($709))|0; - if ($705) { - HEAP8[$20>>0] = -126; - $711 = (($20) + 1|0); - HEAP8[$711>>0] = -126; - $712 = (($20) + 2|0); - HEAP8[$712>>0] = -126; - $713 = (($20) + 3|0); - HEAP8[$713>>0] = -1; - ;HEAP8[$$byval_copy262+0>>0]=HEAP8[$20+0>>0]|0;HEAP8[$$byval_copy262+1>>0]=HEAP8[$20+1>>0]|0;HEAP8[$$byval_copy262+2>>0]=HEAP8[$20+2>>0]|0;HEAP8[$$byval_copy262+3>>0]=HEAP8[$20+3>>0]|0; - _DrawText(496,$710,460,30,$$byval_copy262); - label = 206; - break L210; - } - HEAP8[$21>>0] = -126; - $714 = (($21) + 1|0); - HEAP8[$714>>0] = -126; - $715 = (($21) + 2|0); - HEAP8[$715>>0] = -126; - $716 = (($21) + 3|0); - HEAP8[$716>>0] = -1; - ;HEAP8[$$byval_copy262+0>>0]=HEAP8[$21+0>>0]|0;HEAP8[$$byval_copy262+1>>0]=HEAP8[$21+1>>0]|0;HEAP8[$$byval_copy262+2>>0]=HEAP8[$21+2>>0]|0;HEAP8[$$byval_copy262+3>>0]=HEAP8[$21+3>>0]|0; - _DrawText(160,$710,460,30,$$byval_copy262); - $717 = HEAP32[680>>2]|0; - $718 = ($717|0)==(0); - $719 = HEAP32[8>>2]|0; - $720 = (($719|0) / 2)&-1; - if ($718) { - $721 = (_MeasureText(200,30)|0); - $722 = (($721|0) / 2)&-1; - $723 = (($720) - ($722))|0; - HEAP8[$22>>0] = -126; - $724 = (($22) + 1|0); - HEAP8[$724>>0] = -126; - $725 = (($22) + 2|0); - HEAP8[$725>>0] = -126; - $726 = (($22) + 3|0); - HEAP8[$726>>0] = -1; - ;HEAP8[$$byval_copy262+0>>0]=HEAP8[$22+0>>0]|0;HEAP8[$$byval_copy262+1>>0]=HEAP8[$22+1>>0]|0;HEAP8[$$byval_copy262+2>>0]=HEAP8[$22+2>>0]|0;HEAP8[$$byval_copy262+3>>0]=HEAP8[$22+3>>0]|0; - _DrawText(496,$723,510,30,$$byval_copy262); - label = 206; - break L210; - } - $727 = (_MeasureText(160,30)|0); - $728 = (($727|0) / 2)&-1; - $729 = (($720) - ($728))|0; - HEAP8[$23>>0] = -126; - $730 = (($23) + 1|0); - HEAP8[$730>>0] = -126; - $731 = (($23) + 2|0); - HEAP8[$731>>0] = -126; - $732 = (($23) + 3|0); - HEAP8[$732>>0] = -1; - ;HEAP8[$$byval_copy262+0>>0]=HEAP8[$23+0>>0]|0;HEAP8[$$byval_copy262+1>>0]=HEAP8[$23+1>>0]|0;HEAP8[$$byval_copy262+2>>0]=HEAP8[$23+2>>0]|0;HEAP8[$$byval_copy262+3>>0]=HEAP8[$23+3>>0]|0; - _DrawText(200,$729,510,30,$$byval_copy262); - $733 = HEAP32[768>>2]|0; - $734 = ($733|0)>(90); - if (!($734)) { - label = 206; - break L210; - } - $735 = (($733|0) / 30)&-1; - $736 = $735 & 1; - $737 = ($736|0)==(0); - if ($737) { - label = 206; - break L210; - } - HEAP8[$24>>0] = -126; - $738 = (($24) + 1|0); - HEAP8[$738>>0] = -126; - $739 = (($24) + 2|0); - HEAP8[$739>>0] = -126; - $740 = (($24) + 3|0); - HEAP8[$740>>0] = -1; - ;HEAP8[$$byval_copy262+0>>0]=HEAP8[$24+0>>0]|0;HEAP8[$$byval_copy262+1>>0]=HEAP8[$24+1>>0]|0;HEAP8[$$byval_copy262+2>>0]=HEAP8[$24+2>>0]|0;HEAP8[$$byval_copy262+3>>0]=HEAP8[$24+3>>0]|0; - _DrawText(2488,930,650,20,$$byval_copy262); - label = 206; - break L210; - } else { - label = 206; - break L210; - } - break; - } - case 2: { - HEAP32[$25>>2] = -1; - ;HEAP32[$pongEnemyRec$byval_copy257+0>>2]=HEAP32[1384+0>>2]|0;HEAP32[$pongEnemyRec$byval_copy257+4>>2]=HEAP32[1384+4>>2]|0;HEAP32[$pongEnemyRec$byval_copy257+8>>2]=HEAP32[1384+8>>2]|0; - ;HEAP8[$$byval_copy262+0>>0]=HEAP8[$25+0>>0]|0;HEAP8[$$byval_copy262+1>>0]=HEAP8[$25+1>>0]|0;HEAP8[$$byval_copy262+2>>0]=HEAP8[$25+2>>0]|0;HEAP8[$$byval_copy262+3>>0]=HEAP8[$25+3>>0]|0; - _DrawTexture($pongEnemyRec$byval_copy257,40,40,$$byval_copy262); - HEAP8[$26>>0] = -126; - $741 = (($26) + 1|0); - HEAP8[$741>>0] = -126; - $742 = (($26) + 2|0); - HEAP8[$742>>0] = -126; - $743 = (($26) + 3|0); - HEAP8[$743>>0] = -1; - ;HEAP8[$$byval_copy262+0>>0]=HEAP8[$26+0>>0]|0;HEAP8[$$byval_copy262+1>>0]=HEAP8[$26+1>>0]|0;HEAP8[$$byval_copy262+2>>0]=HEAP8[$26+2>>0]|0;HEAP8[$$byval_copy262+3>>0]=HEAP8[$26+3>>0]|0; - _DrawText(2512,198,50,20,$$byval_copy262); - $744 = HEAP32[768>>2]|0; - $745 = ($744|0)<(120); - if ($745) { - $746 = (($744|0) / 30)&-1; - $747 = $746 & 1; - $748 = ($747|0)==(0); - if ($748) { - $749 = HEAP32[688>>2]|0; - $750 = ($749*175)|0; - $751 = (($750) + 194)|0; - HEAP8[$27>>0] = -26; - $752 = (($27) + 1|0); - HEAP8[$752>>0] = 41; - $753 = (($27) + 2|0); - HEAP8[$753>>0] = 55; - $754 = (($27) + 3|0); - HEAP8[$754>>0] = -1; - ;HEAP8[$$byval_copy262+0>>0]=HEAP8[$27+0>>0]|0;HEAP8[$$byval_copy262+1>>0]=HEAP8[$27+1>>0]|0;HEAP8[$$byval_copy262+2>>0]=HEAP8[$27+2>>0]|0;HEAP8[$$byval_copy262+3>>0]=HEAP8[$27+3>>0]|0; - _DrawRectangle($751,86,158,78,$$byval_copy262); - } - } else { - $755 = HEAP32[688>>2]|0; - $756 = ($755*175)|0; - $757 = (($756) + 194)|0; - HEAP8[$28>>0] = -26; - $758 = (($28) + 1|0); - HEAP8[$758>>0] = 41; - $759 = (($28) + 2|0); - HEAP8[$759>>0] = 55; - $760 = (($28) + 3|0); - HEAP8[$760>>0] = -1; - ;HEAP8[$$byval_copy262+0>>0]=HEAP8[$28+0>>0]|0;HEAP8[$$byval_copy262+1>>0]=HEAP8[$28+1>>0]|0;HEAP8[$$byval_copy262+2>>0]=HEAP8[$28+2>>0]|0;HEAP8[$$byval_copy262+3>>0]=HEAP8[$28+3>>0]|0; - _DrawRectangle($757,86,158,78,$$byval_copy262); - } - $761 = HEAP32[688>>2]|0; - $762 = ($761|0)==(5); - L241: do { - if ($762) { - label = 191; - } else { - HEAPF32[$29>>2] = 910.0; - $763 = (($29) + 4|0); - HEAPF32[$763>>2] = 675.0; - HEAPF32[$30>>2] = 890.0; - $764 = (($30) + 4|0); - HEAPF32[$764>>2] = 685.0; - HEAPF32[$31>>2] = 910.0; - $765 = (($31) + 4|0); - HEAPF32[$765>>2] = 695.0; - HEAP8[$32>>0] = -126; - $766 = (($32) + 1|0); - HEAP8[$766>>0] = -126; - $767 = (($32) + 2|0); - HEAP8[$767>>0] = -126; - $768 = (($32) + 3|0); - HEAP8[$768>>0] = -1; - ;HEAP32[$$byval_copy204+0>>2]=HEAP32[$29+0>>2]|0;HEAP32[$$byval_copy204+4>>2]=HEAP32[$29+4>>2]|0; - ;HEAP32[$fontAlagard$byval_copy247+0>>2]=HEAP32[$30+0>>2]|0;HEAP32[$fontAlagard$byval_copy247+4>>2]=HEAP32[$30+4>>2]|0; - ;HEAP32[$pongEnemyRec$byval_copy257+0>>2]=HEAP32[$31+0>>2]|0;HEAP32[$pongEnemyRec$byval_copy257+4>>2]=HEAP32[$31+4>>2]|0; - ;HEAP8[$$byval_copy262+0>>0]=HEAP8[$32+0>>0]|0;HEAP8[$$byval_copy262+1>>0]=HEAP8[$32+1>>0]|0;HEAP8[$$byval_copy262+2>>0]=HEAP8[$32+2>>0]|0;HEAP8[$$byval_copy262+3>>0]=HEAP8[$32+3>>0]|0; - _DrawTriangle($$byval_copy204,$fontAlagard$byval_copy247,$pongEnemyRec$byval_copy257,$$byval_copy262); - HEAPF32[$33>>2] = 920.0; - $769 = (($33) + 4|0); - HEAPF32[$769>>2] = 675.0; - HEAPF32[$34>>2] = 920.0; - $770 = (($34) + 4|0); - HEAPF32[$770>>2] = 695.0; - HEAPF32[$35>>2] = 940.0; - $771 = (($35) + 4|0); - HEAPF32[$771>>2] = 685.0; - HEAP8[$36>>0] = -126; - $772 = (($36) + 1|0); - HEAP8[$772>>0] = -126; - $773 = (($36) + 2|0); - HEAP8[$773>>0] = -126; - $774 = (($36) + 3|0); - HEAP8[$774>>0] = -1; - ;HEAP32[$$byval_copy204+0>>2]=HEAP32[$33+0>>2]|0;HEAP32[$$byval_copy204+4>>2]=HEAP32[$33+4>>2]|0; - ;HEAP32[$fontAlagard$byval_copy247+0>>2]=HEAP32[$34+0>>2]|0;HEAP32[$fontAlagard$byval_copy247+4>>2]=HEAP32[$34+4>>2]|0; - ;HEAP32[$pongEnemyRec$byval_copy257+0>>2]=HEAP32[$35+0>>2]|0;HEAP32[$pongEnemyRec$byval_copy257+4>>2]=HEAP32[$35+4>>2]|0; - ;HEAP8[$$byval_copy262+0>>0]=HEAP8[$36+0>>0]|0;HEAP8[$$byval_copy262+1>>0]=HEAP8[$36+1>>0]|0;HEAP8[$$byval_copy262+2>>0]=HEAP8[$36+2>>0]|0;HEAP8[$$byval_copy262+3>>0]=HEAP8[$36+3>>0]|0; - _DrawTriangle($$byval_copy204,$fontAlagard$byval_copy247,$pongEnemyRec$byval_copy257,$$byval_copy262); - HEAP8[$37>>0] = -126; - $775 = (($37) + 1|0); - HEAP8[$775>>0] = -126; - $776 = (($37) + 2|0); - HEAP8[$776>>0] = -126; - $777 = (($37) + 3|0); - HEAP8[$777>>0] = -1; - ;HEAP8[$$byval_copy262+0>>0]=HEAP8[$37+0>>0]|0;HEAP8[$$byval_copy262+1>>0]=HEAP8[$37+1>>0]|0;HEAP8[$$byval_copy262+2>>0]=HEAP8[$37+2>>0]|0;HEAP8[$$byval_copy262+3>>0]=HEAP8[$37+3>>0]|0; - _DrawText(2552,960,680,10,$$byval_copy262); - $$pr32 = HEAP32[688>>2]|0; - switch ($$pr32|0) { - case 0: { - _GetColor($38,1549425407); - ;HEAP8[$$byval_copy262+0>>0]=HEAP8[$38+0>>0]|0;HEAP8[$$byval_copy262+1>>0]=HEAP8[$38+1>>0]|0;HEAP8[$$byval_copy262+2>>0]=HEAP8[$38+2>>0]|0;HEAP8[$$byval_copy262+3>>0]=HEAP8[$38+3>>0]|0; - _DrawText(2592,48,200,10,$$byval_copy262); - HEAPF32[$39>>2] = 48.0; - $778 = (($39) + 4|0); - HEAPF32[$778>>2] = 230.0; - ;HEAP32[$$byval_copy262+0>>2]=HEAP32[1032+0>>2]|0;HEAP32[$$byval_copy262+4>>2]=HEAP32[1032+4>>2]|0;HEAP32[$$byval_copy262+8>>2]=HEAP32[1032+8>>2]|0;HEAP32[$$byval_copy262+12>>2]=HEAP32[1032+12>>2]|0;HEAP32[$$byval_copy262+16>>2]=HEAP32[1032+16>>2]|0; - $779 = (_GetFontBaseSize($$byval_copy262)|0); - $780 = $779 << 1; - _GetColor($40,1549425407); - ;HEAP32[$fontAlagard$byval_copy247+0>>2]=HEAP32[1032+0>>2]|0;HEAP32[$fontAlagard$byval_copy247+4>>2]=HEAP32[1032+4>>2]|0;HEAP32[$fontAlagard$byval_copy247+8>>2]=HEAP32[1032+8>>2]|0;HEAP32[$fontAlagard$byval_copy247+12>>2]=HEAP32[1032+12>>2]|0;HEAP32[$fontAlagard$byval_copy247+16>>2]=HEAP32[1032+16>>2]|0; - ;HEAP32[$pongEnemyRec$byval_copy257+0>>2]=HEAP32[$39+0>>2]|0;HEAP32[$pongEnemyRec$byval_copy257+4>>2]=HEAP32[$39+4>>2]|0; - ;HEAP8[$$byval_copy262+0>>0]=HEAP8[$40+0>>0]|0;HEAP8[$$byval_copy262+1>>0]=HEAP8[$40+1>>0]|0;HEAP8[$$byval_copy262+2>>0]=HEAP8[$40+2>>0]|0;HEAP8[$$byval_copy262+3>>0]=HEAP8[$40+3>>0]|0; - _DrawTextEx($fontAlagard$byval_copy247,2632,$pongEnemyRec$byval_copy257,$780,4,$$byval_copy262); - HEAPF32[$41>>2] = 48.0; - $781 = (($41) + 4|0); - HEAPF32[$781>>2] = 260.0; - ;HEAP32[$$byval_copy262+0>>2]=HEAP32[1032+0>>2]|0;HEAP32[$$byval_copy262+4>>2]=HEAP32[1032+4>>2]|0;HEAP32[$$byval_copy262+8>>2]=HEAP32[1032+8>>2]|0;HEAP32[$$byval_copy262+12>>2]=HEAP32[1032+12>>2]|0;HEAP32[$$byval_copy262+16>>2]=HEAP32[1032+16>>2]|0; - $782 = (_GetFontBaseSize($$byval_copy262)|0); - $783 = $782 << 1; - _GetColor($42,1549425407); - ;HEAP32[$fontAlagard$byval_copy247+0>>2]=HEAP32[1032+0>>2]|0;HEAP32[$fontAlagard$byval_copy247+4>>2]=HEAP32[1032+4>>2]|0;HEAP32[$fontAlagard$byval_copy247+8>>2]=HEAP32[1032+8>>2]|0;HEAP32[$fontAlagard$byval_copy247+12>>2]=HEAP32[1032+12>>2]|0;HEAP32[$fontAlagard$byval_copy247+16>>2]=HEAP32[1032+16>>2]|0; - ;HEAP32[$pongEnemyRec$byval_copy257+0>>2]=HEAP32[$41+0>>2]|0;HEAP32[$pongEnemyRec$byval_copy257+4>>2]=HEAP32[$41+4>>2]|0; - ;HEAP8[$$byval_copy262+0>>0]=HEAP8[$42+0>>0]|0;HEAP8[$$byval_copy262+1>>0]=HEAP8[$42+1>>0]|0;HEAP8[$$byval_copy262+2>>0]=HEAP8[$42+2>>0]|0;HEAP8[$$byval_copy262+3>>0]=HEAP8[$42+3>>0]|0; - _DrawTextEx($fontAlagard$byval_copy247,2656,$pongEnemyRec$byval_copy257,$783,4,$$byval_copy262); - HEAPF32[$43>>2] = 48.0; - $784 = (($43) + 4|0); - HEAPF32[$784>>2] = 290.0; - ;HEAP32[$$byval_copy262+0>>2]=HEAP32[1032+0>>2]|0;HEAP32[$$byval_copy262+4>>2]=HEAP32[1032+4>>2]|0;HEAP32[$$byval_copy262+8>>2]=HEAP32[1032+8>>2]|0;HEAP32[$$byval_copy262+12>>2]=HEAP32[1032+12>>2]|0;HEAP32[$$byval_copy262+16>>2]=HEAP32[1032+16>>2]|0; - $785 = (_GetFontBaseSize($$byval_copy262)|0); - $786 = $785 << 1; - _GetColor($44,1549425407); - ;HEAP32[$fontAlagard$byval_copy247+0>>2]=HEAP32[1032+0>>2]|0;HEAP32[$fontAlagard$byval_copy247+4>>2]=HEAP32[1032+4>>2]|0;HEAP32[$fontAlagard$byval_copy247+8>>2]=HEAP32[1032+8>>2]|0;HEAP32[$fontAlagard$byval_copy247+12>>2]=HEAP32[1032+12>>2]|0;HEAP32[$fontAlagard$byval_copy247+16>>2]=HEAP32[1032+16>>2]|0; - ;HEAP32[$pongEnemyRec$byval_copy257+0>>2]=HEAP32[$43+0>>2]|0;HEAP32[$pongEnemyRec$byval_copy257+4>>2]=HEAP32[$43+4>>2]|0; - ;HEAP8[$$byval_copy262+0>>0]=HEAP8[$44+0>>0]|0;HEAP8[$$byval_copy262+1>>0]=HEAP8[$44+1>>0]|0;HEAP8[$$byval_copy262+2>>0]=HEAP8[$44+2>>0]|0;HEAP8[$$byval_copy262+3>>0]=HEAP8[$44+3>>0]|0; - _DrawTextEx($fontAlagard$byval_copy247,2680,$pongEnemyRec$byval_copy257,$786,4,$$byval_copy262); - HEAPF32[$45>>2] = 48.0; - $787 = (($45) + 4|0); - HEAPF32[$787>>2] = 320.0; - ;HEAP32[$$byval_copy262+0>>2]=HEAP32[1032+0>>2]|0;HEAP32[$$byval_copy262+4>>2]=HEAP32[1032+4>>2]|0;HEAP32[$$byval_copy262+8>>2]=HEAP32[1032+8>>2]|0;HEAP32[$$byval_copy262+12>>2]=HEAP32[1032+12>>2]|0;HEAP32[$$byval_copy262+16>>2]=HEAP32[1032+16>>2]|0; - $788 = (_GetFontBaseSize($$byval_copy262)|0); - $789 = $788 << 1; - _GetColor($46,1549425407); - ;HEAP32[$fontAlagard$byval_copy247+0>>2]=HEAP32[1032+0>>2]|0;HEAP32[$fontAlagard$byval_copy247+4>>2]=HEAP32[1032+4>>2]|0;HEAP32[$fontAlagard$byval_copy247+8>>2]=HEAP32[1032+8>>2]|0;HEAP32[$fontAlagard$byval_copy247+12>>2]=HEAP32[1032+12>>2]|0;HEAP32[$fontAlagard$byval_copy247+16>>2]=HEAP32[1032+16>>2]|0; - ;HEAP32[$pongEnemyRec$byval_copy257+0>>2]=HEAP32[$45+0>>2]|0;HEAP32[$pongEnemyRec$byval_copy257+4>>2]=HEAP32[$45+4>>2]|0; - ;HEAP8[$$byval_copy262+0>>0]=HEAP8[$46+0>>0]|0;HEAP8[$$byval_copy262+1>>0]=HEAP8[$46+1>>0]|0;HEAP8[$$byval_copy262+2>>0]=HEAP8[$46+2>>0]|0;HEAP8[$$byval_copy262+3>>0]=HEAP8[$46+3>>0]|0; - _DrawTextEx($fontAlagard$byval_copy247,2696,$pongEnemyRec$byval_copy257,$789,4,$$byval_copy262); - HEAPF32[$47>>2] = 48.0; - $790 = (($47) + 4|0); - HEAPF32[$790>>2] = 350.0; - ;HEAP32[$$byval_copy262+0>>2]=HEAP32[1032+0>>2]|0;HEAP32[$$byval_copy262+4>>2]=HEAP32[1032+4>>2]|0;HEAP32[$$byval_copy262+8>>2]=HEAP32[1032+8>>2]|0;HEAP32[$$byval_copy262+12>>2]=HEAP32[1032+12>>2]|0;HEAP32[$$byval_copy262+16>>2]=HEAP32[1032+16>>2]|0; - $791 = (_GetFontBaseSize($$byval_copy262)|0); - $792 = $791 << 1; - _GetColor($48,1549425407); - ;HEAP32[$fontAlagard$byval_copy247+0>>2]=HEAP32[1032+0>>2]|0;HEAP32[$fontAlagard$byval_copy247+4>>2]=HEAP32[1032+4>>2]|0;HEAP32[$fontAlagard$byval_copy247+8>>2]=HEAP32[1032+8>>2]|0;HEAP32[$fontAlagard$byval_copy247+12>>2]=HEAP32[1032+12>>2]|0;HEAP32[$fontAlagard$byval_copy247+16>>2]=HEAP32[1032+16>>2]|0; - ;HEAP32[$pongEnemyRec$byval_copy257+0>>2]=HEAP32[$47+0>>2]|0;HEAP32[$pongEnemyRec$byval_copy257+4>>2]=HEAP32[$47+4>>2]|0; - ;HEAP8[$$byval_copy262+0>>0]=HEAP8[$48+0>>0]|0;HEAP8[$$byval_copy262+1>>0]=HEAP8[$48+1>>0]|0;HEAP8[$$byval_copy262+2>>0]=HEAP8[$48+2>>0]|0;HEAP8[$$byval_copy262+3>>0]=HEAP8[$48+3>>0]|0; - _DrawTextEx($fontAlagard$byval_copy247,2712,$pongEnemyRec$byval_copy257,$792,4,$$byval_copy262); - $793 = HEAP32[696>>2]|0; - if ((($793|0) == 2)) { - HEAPF32[$50>>2] = 450.0; - $794 = (($50) + 4|0); - HEAPF32[$794>>2] = 175.0; - HEAP32[$51>>2] = -1; - ;HEAP32[$fontAlagard$byval_copy247+0>>2]=HEAP32[1200+0>>2]|0;HEAP32[$fontAlagard$byval_copy247+4>>2]=HEAP32[1200+4>>2]|0;HEAP32[$fontAlagard$byval_copy247+8>>2]=HEAP32[1200+8>>2]|0; - ;HEAP32[$pongEnemyRec$byval_copy257+0>>2]=HEAP32[$50+0>>2]|0;HEAP32[$pongEnemyRec$byval_copy257+4>>2]=HEAP32[$50+4>>2]|0; - ;HEAP8[$$byval_copy262+0>>0]=HEAP8[$51+0>>0]|0;HEAP8[$$byval_copy262+1>>0]=HEAP8[$51+1>>0]|0;HEAP8[$$byval_copy262+2>>0]=HEAP8[$51+2>>0]|0;HEAP8[$$byval_copy262+3>>0]=HEAP8[$51+3>>0]|0; - _DrawTextureEx($fontAlagard$byval_copy247,$pongEnemyRec$byval_copy257,0.0,4.0,$$byval_copy262); - } else if ((($793|0) == 4)) { - HEAPF32[$54>>2] = 470.0; - $796 = (($54) + 4|0); - HEAPF32[$796>>2] = 155.0; - HEAP32[$55>>2] = -1; - ;HEAP32[$fontAlagard$byval_copy247+0>>2]=HEAP32[1296+0>>2]|0;HEAP32[$fontAlagard$byval_copy247+4>>2]=HEAP32[1296+4>>2]|0;HEAP32[$fontAlagard$byval_copy247+8>>2]=HEAP32[1296+8>>2]|0; - ;HEAP32[$pongEnemyRec$byval_copy257+0>>2]=HEAP32[$54+0>>2]|0;HEAP32[$pongEnemyRec$byval_copy257+4>>2]=HEAP32[$54+4>>2]|0; - ;HEAP8[$$byval_copy262+0>>0]=HEAP8[$55+0>>0]|0;HEAP8[$$byval_copy262+1>>0]=HEAP8[$55+1>>0]|0;HEAP8[$$byval_copy262+2>>0]=HEAP8[$55+2>>0]|0;HEAP8[$$byval_copy262+3>>0]=HEAP8[$55+3>>0]|0; - _DrawTextureEx($fontAlagard$byval_copy247,$pongEnemyRec$byval_copy257,0.0,4.0,$$byval_copy262); - } else if ((($793|0) == 3)) { - HEAPF32[$52>>2] = 430.0; - $795 = (($52) + 4|0); - HEAPF32[$795>>2] = 180.0; - HEAP32[$53>>2] = -1; - ;HEAP32[$fontAlagard$byval_copy247+0>>2]=HEAP32[1248+0>>2]|0;HEAP32[$fontAlagard$byval_copy247+4>>2]=HEAP32[1248+4>>2]|0;HEAP32[$fontAlagard$byval_copy247+8>>2]=HEAP32[1248+8>>2]|0; - ;HEAP32[$pongEnemyRec$byval_copy257+0>>2]=HEAP32[$52+0>>2]|0;HEAP32[$pongEnemyRec$byval_copy257+4>>2]=HEAP32[$52+4>>2]|0; - ;HEAP8[$$byval_copy262+0>>0]=HEAP8[$53+0>>0]|0;HEAP8[$$byval_copy262+1>>0]=HEAP8[$53+1>>0]|0;HEAP8[$$byval_copy262+2>>0]=HEAP8[$53+2>>0]|0;HEAP8[$$byval_copy262+3>>0]=HEAP8[$53+3>>0]|0; - _DrawTextureEx($fontAlagard$byval_copy247,$pongEnemyRec$byval_copy257,0.0,4.0,$$byval_copy262); - } else if ((($793|0) == 1)) { - HEAP32[$49>>2] = -1; - ;HEAP32[$pongEnemyRec$byval_copy257+0>>2]=HEAP32[1152+0>>2]|0;HEAP32[$pongEnemyRec$byval_copy257+4>>2]=HEAP32[1152+4>>2]|0;HEAP32[$pongEnemyRec$byval_copy257+8>>2]=HEAP32[1152+8>>2]|0; - ;HEAP8[$$byval_copy262+0>>0]=HEAP8[$49+0>>0]|0;HEAP8[$$byval_copy262+1>>0]=HEAP8[$49+1>>0]|0;HEAP8[$$byval_copy262+2>>0]=HEAP8[$49+2>>0]|0;HEAP8[$$byval_copy262+3>>0]=HEAP8[$49+3>>0]|0; - _DrawTexture($pongEnemyRec$byval_copy257,520,220,$$byval_copy262); - } else { - HEAP32[$56>>2] = -1; - ;HEAP32[$pongEnemyRec$byval_copy257+0>>2]=HEAP32[1152+0>>2]|0;HEAP32[$pongEnemyRec$byval_copy257+4>>2]=HEAP32[1152+4>>2]|0;HEAP32[$pongEnemyRec$byval_copy257+8>>2]=HEAP32[1152+8>>2]|0; - ;HEAP8[$$byval_copy262+0>>0]=HEAP8[$56+0>>0]|0;HEAP8[$$byval_copy262+1>>0]=HEAP8[$56+1>>0]|0;HEAP8[$$byval_copy262+2>>0]=HEAP8[$56+2>>0]|0;HEAP8[$$byval_copy262+3>>0]=HEAP8[$56+3>>0]|0; - _DrawTexture($pongEnemyRec$byval_copy257,520,220,$$byval_copy262); - } - $797 = HEAP32[768>>2]|0; - $798 = ($797|0)>(140); - if ($798) { - $799 = HEAP32[704>>2]|0; - $800 = (($799) + 688)|0; - $801 = (($799) + 230)|0; - HEAP8[$57>>0] = -56; - $802 = (($57) + 1|0); - HEAP8[$802>>0] = -56; - $803 = (($57) + 2|0); - HEAP8[$803>>0] = -56; - $804 = (($57) + 3|0); - HEAP8[$804>>0] = -1; - ;HEAP8[$$byval_copy262+0>>0]=HEAP8[$57+0>>0]|0;HEAP8[$$byval_copy262+1>>0]=HEAP8[$57+1>>0]|0;HEAP8[$$byval_copy262+2>>0]=HEAP8[$57+2>>0]|0;HEAP8[$$byval_copy262+3>>0]=HEAP8[$57+3>>0]|0; - _DrawText(2736,$800,$801,10,$$byval_copy262); - } - HEAP8[$58>>0] = -66; - $805 = (($58) + 1|0); - HEAP8[$805>>0] = 33; - $806 = (($58) + 2|0); - HEAP8[$806>>0] = 55; - $807 = (($58) + 3|0); - HEAP8[$807>>0] = -1; - ;HEAP8[$$byval_copy262+0>>0]=HEAP8[$58+0>>0]|0;HEAP8[$$byval_copy262+1>>0]=HEAP8[$58+1>>0]|0;HEAP8[$$byval_copy262+2>>0]=HEAP8[$58+2>>0]|0;HEAP8[$$byval_copy262+3>>0]=HEAP8[$58+3>>0]|0; - _DrawText(2808,48,400,10,$$byval_copy262); - HEAP32[$59>>2] = 0; - $808 = (($59) + 4|0); - HEAP32[$808>>2] = 0; - $809 = (($59) + 8|0); - $810 = HEAP32[((1344 + 4|0))>>2]|0; - HEAP32[$809>>2] = $810; - $811 = (($59) + 12|0); - $812 = HEAP32[((1344 + 8|0))>>2]|0; - HEAP32[$811>>2] = $812; - HEAPF32[$60>>2] = 75.0; - $813 = (($60) + 4|0); - HEAPF32[$813>>2] = 420.0; - HEAP32[$61>>2] = -1; - ;HEAP32[$$byval_copy204+0>>2]=HEAP32[1344+0>>2]|0;HEAP32[$$byval_copy204+4>>2]=HEAP32[1344+4>>2]|0;HEAP32[$$byval_copy204+8>>2]=HEAP32[1344+8>>2]|0; - ;HEAP32[$fontAlagard$byval_copy247+0>>2]=HEAP32[$59+0>>2]|0;HEAP32[$fontAlagard$byval_copy247+4>>2]=HEAP32[$59+4>>2]|0;HEAP32[$fontAlagard$byval_copy247+8>>2]=HEAP32[$59+8>>2]|0;HEAP32[$fontAlagard$byval_copy247+12>>2]=HEAP32[$59+12>>2]|0; - ;HEAP32[$pongEnemyRec$byval_copy257+0>>2]=HEAP32[$60+0>>2]|0;HEAP32[$pongEnemyRec$byval_copy257+4>>2]=HEAP32[$60+4>>2]|0; - ;HEAP8[$$byval_copy262+0>>0]=HEAP8[$61+0>>0]|0;HEAP8[$$byval_copy262+1>>0]=HEAP8[$61+1>>0]|0;HEAP8[$$byval_copy262+2>>0]=HEAP8[$61+2>>0]|0;HEAP8[$$byval_copy262+3>>0]=HEAP8[$61+3>>0]|0; - _DrawTextureRec($$byval_copy204,$fontAlagard$byval_copy247,$pongEnemyRec$byval_copy257,$$byval_copy262); - $814 = HEAP32[704>>2]|0; - $815 = (($814) + 528)|0; - $816 = (($814) + 251)|0; - HEAP8[$62>>0] = -11; - $817 = (($62) + 1|0); - HEAP8[$817>>0] = -11; - $818 = (($62) + 2|0); - HEAP8[$818>>0] = -11; - $819 = (($62) + 3|0); - HEAP8[$819>>0] = -1; - ;HEAP8[$$byval_copy262+0>>0]=HEAP8[$62+0>>0]|0;HEAP8[$$byval_copy262+1>>0]=HEAP8[$62+1>>0]|0;HEAP8[$$byval_copy262+2>>0]=HEAP8[$62+2>>0]|0;HEAP8[$$byval_copy262+3>>0]=HEAP8[$62+3>>0]|0; - _DrawRectangle($815,$816,640,360,$$byval_copy262); - $820 = HEAP32[704>>2]|0; - $821 = (($820) + 527)|0; - $822 = (($820) + 249)|0; - HEAP8[$63>>0] = -126; - $823 = (($63) + 1|0); - HEAP8[$823>>0] = -126; - $824 = (($63) + 2|0); - HEAP8[$824>>0] = -126; - $825 = (($63) + 3|0); - HEAP8[$825>>0] = -1; - ;HEAP8[$$byval_copy262+0>>0]=HEAP8[$63+0>>0]|0;HEAP8[$$byval_copy262+1>>0]=HEAP8[$63+1>>0]|0;HEAP8[$$byval_copy262+2>>0]=HEAP8[$63+2>>0]|0;HEAP8[$$byval_copy262+3>>0]=HEAP8[$63+3>>0]|0; - _DrawRectangleLines($821,$822,642,362,$$byval_copy262); - $826 = HEAP32[704>>2]|0; - $827 = (($826) + 538)|0; - $828 = (($826) + 261)|0; - _DrawFPS($827,$828); - $829 = +HEAPF32[1736>>2]; - $830 = $829 + -50.0; - $831 = (~~(($830))); - $832 = +HEAPF32[((1736 + 4|0))>>2]; - $833 = $832 + -50.0; - $834 = (~~(($833))); - HEAP8[$65>>0] = -66; - $835 = (($65) + 1|0); - HEAP8[$835>>0] = 33; - $836 = (($65) + 2|0); - HEAP8[$836>>0] = 55; - $837 = (($65) + 3|0); - HEAP8[$837>>0] = -1; - ;HEAP8[$$byval_copy262+0>>0]=HEAP8[$65+0>>0]|0;HEAP8[$$byval_copy262+1>>0]=HEAP8[$65+1>>0]|0;HEAP8[$$byval_copy262+2>>0]=HEAP8[$65+2>>0]|0;HEAP8[$$byval_copy262+3>>0]=HEAP8[$65+3>>0]|0; - _Fade($64,$$byval_copy262,0.5); - ;HEAP8[$$byval_copy262+0>>0]=HEAP8[$64+0>>0]|0;HEAP8[$$byval_copy262+1>>0]=HEAP8[$64+1>>0]|0;HEAP8[$$byval_copy262+2>>0]=HEAP8[$64+2>>0]|0;HEAP8[$$byval_copy262+3>>0]=HEAP8[$64+3>>0]|0; - _DrawRectangle($831,$834,100,100,$$byval_copy262); - $838 = HEAP32[704>>2]|0; - $839 = (($838) + 527)|0; - HEAP32[$67>>2] = $839; - $840 = (($67) + 4|0); - $841 = HEAP32[704>>2]|0; - $842 = (($841) + 250)|0; - HEAP32[$840>>2] = $842; - $843 = (($67) + 8|0); - HEAP32[$843>>2] = 642; - $844 = (($67) + 12|0); - HEAP32[$844>>2] = 362; - $845 = +HEAPF32[1736>>2]; - $846 = (~~(($845))); - $847 = (($846) + -50)|0; - HEAP32[$68>>2] = $847; - $848 = (($68) + 4|0); - $849 = +HEAPF32[((1736 + 4|0))>>2]; - $850 = (~~(($849))); - $851 = (($850) + -50)|0; - HEAP32[$848>>2] = $851; - $852 = (($68) + 8|0); - HEAP32[$852>>2] = 100; - $853 = (($68) + 12|0); - HEAP32[$853>>2] = 100; - ;HEAP32[$pongEnemyRec$byval_copy257+0>>2]=HEAP32[$67+0>>2]|0;HEAP32[$pongEnemyRec$byval_copy257+4>>2]=HEAP32[$67+4>>2]|0;HEAP32[$pongEnemyRec$byval_copy257+8>>2]=HEAP32[$67+8>>2]|0;HEAP32[$pongEnemyRec$byval_copy257+12>>2]=HEAP32[$67+12>>2]|0; - ;HEAP32[$$byval_copy262+0>>2]=HEAP32[$68+0>>2]|0;HEAP32[$$byval_copy262+4>>2]=HEAP32[$68+4>>2]|0;HEAP32[$$byval_copy262+8>>2]=HEAP32[$68+8>>2]|0;HEAP32[$$byval_copy262+12>>2]=HEAP32[$68+12>>2]|0; - _GetCollisionRec($66,$pongEnemyRec$byval_copy257,$$byval_copy262); - HEAP8[$69>>0] = -66; - $854 = (($69) + 1|0); - HEAP8[$854>>0] = 33; - $855 = (($69) + 2|0); - HEAP8[$855>>0] = 55; - $856 = (($69) + 3|0); - HEAP8[$856>>0] = -1; - ;HEAP32[$pongEnemyRec$byval_copy257+0>>2]=HEAP32[$66+0>>2]|0;HEAP32[$pongEnemyRec$byval_copy257+4>>2]=HEAP32[$66+4>>2]|0;HEAP32[$pongEnemyRec$byval_copy257+8>>2]=HEAP32[$66+8>>2]|0;HEAP32[$pongEnemyRec$byval_copy257+12>>2]=HEAP32[$66+12>>2]|0; - ;HEAP8[$$byval_copy262+0>>0]=HEAP8[$69+0>>0]|0;HEAP8[$$byval_copy262+1>>0]=HEAP8[$69+1>>0]|0;HEAP8[$$byval_copy262+2>>0]=HEAP8[$69+2>>0]|0;HEAP8[$$byval_copy262+3>>0]=HEAP8[$69+3>>0]|0; - _DrawRectangleRec($pongEnemyRec$byval_copy257,$$byval_copy262); - $857 = HEAP32[768>>2]|0; - $858 = ($857|0)>(140); - if (!($858)) { - break L241; - } - $859 = +HEAPF32[1736>>2]; - $860 = $859 + -26.0; - HEAPF32[$70>>2] = $860; - $861 = (($70) + 4|0); - $862 = +HEAPF32[((1736 + 4|0))>>2]; - $863 = $862 + -20.0; - HEAPF32[$861>>2] = $863; - ;HEAP32[$$byval_copy262+0>>2]=HEAP32[920+0>>2]|0;HEAP32[$$byval_copy262+4>>2]=HEAP32[920+4>>2]|0;HEAP32[$$byval_copy262+8>>2]=HEAP32[920+8>>2]|0;HEAP32[$$byval_copy262+12>>2]=HEAP32[920+12>>2]|0;HEAP32[$$byval_copy262+16>>2]=HEAP32[920+16>>2]|0; - $864 = (_GetFontBaseSize($$byval_copy262)|0); - HEAP8[$71>>0] = 0; - $865 = (($71) + 1|0); - HEAP8[$865>>0] = 0; - $866 = (($71) + 2|0); - HEAP8[$866>>0] = 0; - $867 = (($71) + 3|0); - HEAP8[$867>>0] = -1; - ;HEAP32[$fontAlagard$byval_copy247+0>>2]=HEAP32[920+0>>2]|0;HEAP32[$fontAlagard$byval_copy247+4>>2]=HEAP32[920+4>>2]|0;HEAP32[$fontAlagard$byval_copy247+8>>2]=HEAP32[920+8>>2]|0;HEAP32[$fontAlagard$byval_copy247+12>>2]=HEAP32[920+12>>2]|0;HEAP32[$fontAlagard$byval_copy247+16>>2]=HEAP32[920+16>>2]|0; - ;HEAP32[$pongEnemyRec$byval_copy257+0>>2]=HEAP32[$70+0>>2]|0;HEAP32[$pongEnemyRec$byval_copy257+4>>2]=HEAP32[$70+4>>2]|0; - ;HEAP8[$$byval_copy262+0>>0]=HEAP8[$71+0>>0]|0;HEAP8[$$byval_copy262+1>>0]=HEAP8[$71+1>>0]|0;HEAP8[$$byval_copy262+2>>0]=HEAP8[$71+2>>0]|0;HEAP8[$$byval_copy262+3>>0]=HEAP8[$71+3>>0]|0; - _DrawTextEx($fontAlagard$byval_copy247,2864,$pongEnemyRec$byval_copy257,$864,2,$$byval_copy262); - $868 = +HEAPF32[1736>>2]; - $869 = $868 + -36.0; - HEAPF32[$72>>2] = $869; - $870 = (($72) + 4|0); - $871 = +HEAPF32[((1736 + 4|0))>>2]; - HEAPF32[$870>>2] = $871; - ;HEAP32[$$byval_copy262+0>>2]=HEAP32[920+0>>2]|0;HEAP32[$$byval_copy262+4>>2]=HEAP32[920+4>>2]|0;HEAP32[$$byval_copy262+8>>2]=HEAP32[920+8>>2]|0;HEAP32[$$byval_copy262+12>>2]=HEAP32[920+12>>2]|0;HEAP32[$$byval_copy262+16>>2]=HEAP32[920+16>>2]|0; - $872 = (_GetFontBaseSize($$byval_copy262)|0); - HEAP8[$73>>0] = 0; - $873 = (($73) + 1|0); - HEAP8[$873>>0] = 0; - $874 = (($73) + 2|0); - HEAP8[$874>>0] = 0; - $875 = (($73) + 3|0); - HEAP8[$875>>0] = -1; - ;HEAP32[$fontAlagard$byval_copy247+0>>2]=HEAP32[920+0>>2]|0;HEAP32[$fontAlagard$byval_copy247+4>>2]=HEAP32[920+4>>2]|0;HEAP32[$fontAlagard$byval_copy247+8>>2]=HEAP32[920+8>>2]|0;HEAP32[$fontAlagard$byval_copy247+12>>2]=HEAP32[920+12>>2]|0;HEAP32[$fontAlagard$byval_copy247+16>>2]=HEAP32[920+16>>2]|0; - ;HEAP32[$pongEnemyRec$byval_copy257+0>>2]=HEAP32[$72+0>>2]|0;HEAP32[$pongEnemyRec$byval_copy257+4>>2]=HEAP32[$72+4>>2]|0; - ;HEAP8[$$byval_copy262+0>>0]=HEAP8[$73+0>>0]|0;HEAP8[$$byval_copy262+1>>0]=HEAP8[$73+1>>0]|0;HEAP8[$$byval_copy262+2>>0]=HEAP8[$73+2>>0]|0;HEAP8[$$byval_copy262+3>>0]=HEAP8[$73+3>>0]|0; - _DrawTextEx($fontAlagard$byval_copy247,2872,$pongEnemyRec$byval_copy257,$872,2,$$byval_copy262); - break L241; - break; - } - case 1: { - _GetColor($74,-849913857); - ;HEAP8[$$byval_copy262+0>>0]=HEAP8[$74+0>>0]|0;HEAP8[$$byval_copy262+1>>0]=HEAP8[$74+1>>0]|0;HEAP8[$$byval_copy262+2>>0]=HEAP8[$74+2>>0]|0;HEAP8[$$byval_copy262+3>>0]=HEAP8[$74+3>>0]|0; - _DrawText(2592,48,200,10,$$byval_copy262); - HEAPF32[$75>>2] = 48.0; - $876 = (($75) + 4|0); - HEAPF32[$876>>2] = 230.0; - ;HEAP32[$$byval_copy262+0>>2]=HEAP32[1032+0>>2]|0;HEAP32[$$byval_copy262+4>>2]=HEAP32[1032+4>>2]|0;HEAP32[$$byval_copy262+8>>2]=HEAP32[1032+8>>2]|0;HEAP32[$$byval_copy262+12>>2]=HEAP32[1032+12>>2]|0;HEAP32[$$byval_copy262+16>>2]=HEAP32[1032+16>>2]|0; - $877 = (_GetFontBaseSize($$byval_copy262)|0); - $878 = $877 << 1; - _GetColor($76,-849913857); - ;HEAP32[$fontAlagard$byval_copy247+0>>2]=HEAP32[1032+0>>2]|0;HEAP32[$fontAlagard$byval_copy247+4>>2]=HEAP32[1032+4>>2]|0;HEAP32[$fontAlagard$byval_copy247+8>>2]=HEAP32[1032+8>>2]|0;HEAP32[$fontAlagard$byval_copy247+12>>2]=HEAP32[1032+12>>2]|0;HEAP32[$fontAlagard$byval_copy247+16>>2]=HEAP32[1032+16>>2]|0; - ;HEAP32[$pongEnemyRec$byval_copy257+0>>2]=HEAP32[$75+0>>2]|0;HEAP32[$pongEnemyRec$byval_copy257+4>>2]=HEAP32[$75+4>>2]|0; - ;HEAP8[$$byval_copy262+0>>0]=HEAP8[$76+0>>0]|0;HEAP8[$$byval_copy262+1>>0]=HEAP8[$76+1>>0]|0;HEAP8[$$byval_copy262+2>>0]=HEAP8[$76+2>>0]|0;HEAP8[$$byval_copy262+3>>0]=HEAP8[$76+3>>0]|0; - _DrawTextEx($fontAlagard$byval_copy247,2888,$pongEnemyRec$byval_copy257,$878,4,$$byval_copy262); - HEAPF32[$77>>2] = 48.0; - $879 = (($77) + 4|0); - HEAPF32[$879>>2] = 260.0; - ;HEAP32[$$byval_copy262+0>>2]=HEAP32[1032+0>>2]|0;HEAP32[$$byval_copy262+4>>2]=HEAP32[1032+4>>2]|0;HEAP32[$$byval_copy262+8>>2]=HEAP32[1032+8>>2]|0;HEAP32[$$byval_copy262+12>>2]=HEAP32[1032+12>>2]|0;HEAP32[$$byval_copy262+16>>2]=HEAP32[1032+16>>2]|0; - $880 = (_GetFontBaseSize($$byval_copy262)|0); - $881 = $880 << 1; - _GetColor($78,-849913857); - ;HEAP32[$fontAlagard$byval_copy247+0>>2]=HEAP32[1032+0>>2]|0;HEAP32[$fontAlagard$byval_copy247+4>>2]=HEAP32[1032+4>>2]|0;HEAP32[$fontAlagard$byval_copy247+8>>2]=HEAP32[1032+8>>2]|0;HEAP32[$fontAlagard$byval_copy247+12>>2]=HEAP32[1032+12>>2]|0;HEAP32[$fontAlagard$byval_copy247+16>>2]=HEAP32[1032+16>>2]|0; - ;HEAP32[$pongEnemyRec$byval_copy257+0>>2]=HEAP32[$77+0>>2]|0;HEAP32[$pongEnemyRec$byval_copy257+4>>2]=HEAP32[$77+4>>2]|0; - ;HEAP8[$$byval_copy262+0>>0]=HEAP8[$78+0>>0]|0;HEAP8[$$byval_copy262+1>>0]=HEAP8[$78+1>>0]|0;HEAP8[$$byval_copy262+2>>0]=HEAP8[$78+2>>0]|0;HEAP8[$$byval_copy262+3>>0]=HEAP8[$78+3>>0]|0; - _DrawTextEx($fontAlagard$byval_copy247,2912,$pongEnemyRec$byval_copy257,$881,4,$$byval_copy262); - $882 = HEAP32[8>>2]|0; - $883 = (($882|0) / 4)&-1; - HEAP8[$79>>0] = 0; - $884 = (($79) + 1|0); - HEAP8[$884>>0] = 82; - $885 = (($79) + 2|0); - HEAP8[$885>>0] = -84; - $886 = (($79) + 3|0); - HEAP8[$886>>0] = -1; - ;HEAP8[$$byval_copy262+0>>0]=HEAP8[$79+0>>0]|0;HEAP8[$$byval_copy262+1>>0]=HEAP8[$79+1>>0]|0;HEAP8[$$byval_copy262+2>>0]=HEAP8[$79+2>>0]|0;HEAP8[$$byval_copy262+3>>0]=HEAP8[$79+3>>0]|0; - _DrawCircle($883,360,35.0,$$byval_copy262); - $887 = HEAP32[8>>2]|0; - $888 = (($887|0) / 4)&-1; - HEAP8[$80>>0] = 0; - $889 = (($80) + 1|0); - HEAP8[$889>>0] = -28; - $890 = (($80) + 2|0); - HEAP8[$890>>0] = 48; - $891 = (($80) + 3|0); - HEAP8[$891>>0] = -1; - HEAP8[$81>>0] = 102; - $892 = (($81) + 1|0); - HEAP8[$892>>0] = -65; - $893 = (($81) + 2|0); - HEAP8[$893>>0] = -1; - $894 = (($81) + 3|0); - HEAP8[$894>>0] = -1; - ;HEAP8[$pongEnemyRec$byval_copy257+0>>0]=HEAP8[$80+0>>0]|0;HEAP8[$pongEnemyRec$byval_copy257+1>>0]=HEAP8[$80+1>>0]|0;HEAP8[$pongEnemyRec$byval_copy257+2>>0]=HEAP8[$80+2>>0]|0;HEAP8[$pongEnemyRec$byval_copy257+3>>0]=HEAP8[$80+3>>0]|0; - ;HEAP8[$$byval_copy262+0>>0]=HEAP8[$81+0>>0]|0;HEAP8[$$byval_copy262+1>>0]=HEAP8[$81+1>>0]|0;HEAP8[$$byval_copy262+2>>0]=HEAP8[$81+2>>0]|0;HEAP8[$$byval_copy262+3>>0]=HEAP8[$81+3>>0]|0; - _DrawCircleGradient($888,460,60.0,$pongEnemyRec$byval_copy257,$$byval_copy262); - $895 = HEAP32[8>>2]|0; - $896 = (($895|0) / 4)&-1; - HEAP8[$82>>0] = 0; - $897 = (($82) + 1|0); - HEAP8[$897>>0] = 82; - $898 = (($82) + 2|0); - HEAP8[$898>>0] = -84; - $899 = (($82) + 3|0); - HEAP8[$899>>0] = -1; - ;HEAP8[$$byval_copy262+0>>0]=HEAP8[$82+0>>0]|0;HEAP8[$$byval_copy262+1>>0]=HEAP8[$82+1>>0]|0;HEAP8[$$byval_copy262+2>>0]=HEAP8[$82+2>>0]|0;HEAP8[$$byval_copy262+3>>0]=HEAP8[$82+3>>0]|0; - _DrawCircleLines($896,580,80.0,$$byval_copy262); - $900 = HEAP32[8>>2]|0; - $901 = (($900|0) / 4)&-1; - $902 = $901 << 1; - $903 = (($902) + -110)|0; - HEAP8[$83>>0] = 0; - $904 = (($83) + 1|0); - HEAP8[$904>>0] = -98; - $905 = (($83) + 2|0); - HEAP8[$905>>0] = 47; - $906 = (($83) + 3|0); - HEAP8[$906>>0] = -1; - ;HEAP8[$$byval_copy262+0>>0]=HEAP8[$83+0>>0]|0;HEAP8[$$byval_copy262+1>>0]=HEAP8[$83+1>>0]|0;HEAP8[$$byval_copy262+2>>0]=HEAP8[$83+2>>0]|0;HEAP8[$$byval_copy262+3>>0]=HEAP8[$83+3>>0]|0; - _DrawRectangle($903,280,220,100,$$byval_copy262); - $907 = HEAP32[8>>2]|0; - $908 = (($907|0) / 4)&-1; - $909 = $908 << 1; - $910 = (($909) + -90)|0; - HEAP8[$84>>0] = -66; - $911 = (($84) + 1|0); - HEAP8[$911>>0] = 33; - $912 = (($84) + 2|0); - HEAP8[$912>>0] = 55; - $913 = (($84) + 3|0); - HEAP8[$913>>0] = -1; - HEAP8[$85>>0] = -1; - $914 = (($85) + 1|0); - HEAP8[$914>>0] = -53; - $915 = (($85) + 2|0); - HEAP8[$915>>0] = 0; - $916 = (($85) + 3|0); - HEAP8[$916>>0] = -1; - ;HEAP8[$pongEnemyRec$byval_copy257+0>>0]=HEAP8[$84+0>>0]|0;HEAP8[$pongEnemyRec$byval_copy257+1>>0]=HEAP8[$84+1>>0]|0;HEAP8[$pongEnemyRec$byval_copy257+2>>0]=HEAP8[$84+2>>0]|0;HEAP8[$pongEnemyRec$byval_copy257+3>>0]=HEAP8[$84+3>>0]|0; - ;HEAP8[$$byval_copy262+0>>0]=HEAP8[$85+0>>0]|0;HEAP8[$$byval_copy262+1>>0]=HEAP8[$85+1>>0]|0;HEAP8[$$byval_copy262+2>>0]=HEAP8[$85+2>>0]|0;HEAP8[$$byval_copy262+3>>0]=HEAP8[$85+3>>0]|0; - _DrawRectangleGradient($910,410,180,130,$pongEnemyRec$byval_copy257,$$byval_copy262); - $917 = HEAP32[8>>2]|0; - $918 = (($917|0) / 4)&-1; - $919 = $918 << 1; - $920 = (($919) + -80)|0; - HEAP8[$86>>0] = -1; - $921 = (($86) + 1|0); - HEAP8[$921>>0] = -95; - $922 = (($86) + 2|0); - HEAP8[$922>>0] = 0; - $923 = (($86) + 3|0); - HEAP8[$923>>0] = -1; - ;HEAP8[$$byval_copy262+0>>0]=HEAP8[$86+0>>0]|0;HEAP8[$$byval_copy262+1>>0]=HEAP8[$86+1>>0]|0;HEAP8[$$byval_copy262+2>>0]=HEAP8[$86+2>>0]|0;HEAP8[$$byval_copy262+3>>0]=HEAP8[$86+3>>0]|0; - _DrawRectangleLines($920,560,160,80,$$byval_copy262); - $924 = HEAP32[8>>2]|0; - $925 = (($924|0) / 4)&-1; - $926 = ($925*3)|0; - $927 = (+($926|0)); - HEAPF32[$87>>2] = $927; - $928 = (($87) + 4|0); - HEAPF32[$928>>2] = 280.0; - $929 = HEAP32[8>>2]|0; - $930 = (($929|0) / 4)&-1; - $931 = ($930*3)|0; - $932 = (($931) + -60)|0; - $933 = (+($932|0)); - HEAPF32[$88>>2] = $933; - $934 = (($88) + 4|0); - HEAPF32[$934>>2] = 380.0; - $935 = HEAP32[8>>2]|0; - $936 = (($935|0) / 4)&-1; - $937 = ($936*3)|0; - $938 = (($937) + 60)|0; - $939 = (+($938|0)); - HEAPF32[$89>>2] = $939; - $940 = (($89) + 4|0); - HEAPF32[$940>>2] = 380.0; - HEAP8[$90>>0] = -121; - $941 = (($90) + 1|0); - HEAP8[$941>>0] = 60; - $942 = (($90) + 2|0); - HEAP8[$942>>0] = -66; - $943 = (($90) + 3|0); - HEAP8[$943>>0] = -1; - ;HEAP32[$$byval_copy204+0>>2]=HEAP32[$87+0>>2]|0;HEAP32[$$byval_copy204+4>>2]=HEAP32[$87+4>>2]|0; - ;HEAP32[$fontAlagard$byval_copy247+0>>2]=HEAP32[$88+0>>2]|0;HEAP32[$fontAlagard$byval_copy247+4>>2]=HEAP32[$88+4>>2]|0; - ;HEAP32[$pongEnemyRec$byval_copy257+0>>2]=HEAP32[$89+0>>2]|0;HEAP32[$pongEnemyRec$byval_copy257+4>>2]=HEAP32[$89+4>>2]|0; - ;HEAP8[$$byval_copy262+0>>0]=HEAP8[$90+0>>0]|0;HEAP8[$$byval_copy262+1>>0]=HEAP8[$90+1>>0]|0;HEAP8[$$byval_copy262+2>>0]=HEAP8[$90+2>>0]|0;HEAP8[$$byval_copy262+3>>0]=HEAP8[$90+3>>0]|0; - _DrawTriangle($$byval_copy204,$fontAlagard$byval_copy247,$pongEnemyRec$byval_copy257,$$byval_copy262); - $944 = HEAP32[8>>2]|0; - $945 = (($944|0) / 4)&-1; - $946 = ($945*3)|0; - $947 = (+($946|0)); - HEAPF32[$91>>2] = $947; - $948 = (($91) + 4|0); - HEAPF32[$948>>2] = 360.0; - $949 = HEAP32[8>>2]|0; - $950 = (($949|0) / 4)&-1; - $951 = ($950*3)|0; - $952 = (($951) + -60)|0; - $953 = (+($952|0)); - HEAPF32[$92>>2] = $953; - $954 = (($92) + 4|0); - HEAPF32[$954>>2] = 470.0; - $955 = HEAP32[8>>2]|0; - $956 = (($955|0) / 4)&-1; - $957 = ($956*3)|0; - $958 = (($957) + 60)|0; - $959 = (+($958|0)); - HEAPF32[$93>>2] = $959; - $960 = (($93) + 4|0); - HEAPF32[$960>>2] = 470.0; - HEAP8[$94>>0] = 102; - $961 = (($94) + 1|0); - HEAP8[$961>>0] = -65; - $962 = (($94) + 2|0); - HEAP8[$962>>0] = -1; - $963 = (($94) + 3|0); - HEAP8[$963>>0] = -1; - ;HEAP32[$$byval_copy204+0>>2]=HEAP32[$91+0>>2]|0;HEAP32[$$byval_copy204+4>>2]=HEAP32[$91+4>>2]|0; - ;HEAP32[$fontAlagard$byval_copy247+0>>2]=HEAP32[$92+0>>2]|0;HEAP32[$fontAlagard$byval_copy247+4>>2]=HEAP32[$92+4>>2]|0; - ;HEAP32[$pongEnemyRec$byval_copy257+0>>2]=HEAP32[$93+0>>2]|0;HEAP32[$pongEnemyRec$byval_copy257+4>>2]=HEAP32[$93+4>>2]|0; - ;HEAP8[$$byval_copy262+0>>0]=HEAP8[$94+0>>0]|0;HEAP8[$$byval_copy262+1>>0]=HEAP8[$94+1>>0]|0;HEAP8[$$byval_copy262+2>>0]=HEAP8[$94+2>>0]|0;HEAP8[$$byval_copy262+3>>0]=HEAP8[$94+3>>0]|0; - _DrawTriangleLines($$byval_copy204,$fontAlagard$byval_copy247,$pongEnemyRec$byval_copy257,$$byval_copy262); - $964 = HEAP32[8>>2]|0; - $965 = (($964|0) / 4)&-1; - $966 = ($965*3)|0; - $967 = (+($966|0)); - HEAPF32[$95>>2] = $967; - $968 = (($95) + 4|0); - HEAPF32[$968>>2] = 560.0; - HEAP8[$96>>0] = 127; - $969 = (($96) + 1|0); - HEAP8[$969>>0] = 106; - $970 = (($96) + 2|0); - HEAP8[$970>>0] = 79; - $971 = (($96) + 3|0); - HEAP8[$971>>0] = -1; - ;HEAP32[$pongEnemyRec$byval_copy257+0>>2]=HEAP32[$95+0>>2]|0;HEAP32[$pongEnemyRec$byval_copy257+4>>2]=HEAP32[$95+4>>2]|0; - ;HEAP8[$$byval_copy262+0>>0]=HEAP8[$96+0>>0]|0;HEAP8[$$byval_copy262+1>>0]=HEAP8[$96+1>>0]|0;HEAP8[$$byval_copy262+2>>0]=HEAP8[$96+2>>0]|0;HEAP8[$$byval_copy262+3>>0]=HEAP8[$96+3>>0]|0; - _DrawPoly($pongEnemyRec$byval_copy257,6,80.0,0.0,$$byval_copy262); - break L241; - break; - } - case 2: { - _GetColor($97,1619090175); - ;HEAP8[$$byval_copy262+0>>0]=HEAP8[$97+0>>0]|0;HEAP8[$$byval_copy262+1>>0]=HEAP8[$97+1>>0]|0;HEAP8[$$byval_copy262+2>>0]=HEAP8[$97+2>>0]|0;HEAP8[$$byval_copy262+3>>0]=HEAP8[$97+3>>0]|0; - _DrawText(2592,48,200,10,$$byval_copy262); - HEAPF32[$98>>2] = 48.0; - $972 = (($98) + 4|0); - HEAPF32[$972>>2] = 230.0; - ;HEAP32[$$byval_copy262+0>>2]=HEAP32[1032+0>>2]|0;HEAP32[$$byval_copy262+4>>2]=HEAP32[1032+4>>2]|0;HEAP32[$$byval_copy262+8>>2]=HEAP32[1032+8>>2]|0;HEAP32[$$byval_copy262+12>>2]=HEAP32[1032+12>>2]|0;HEAP32[$$byval_copy262+16>>2]=HEAP32[1032+16>>2]|0; - $973 = (_GetFontBaseSize($$byval_copy262)|0); - $974 = $973 << 1; - _GetColor($99,1619090175); - ;HEAP32[$fontAlagard$byval_copy247+0>>2]=HEAP32[1032+0>>2]|0;HEAP32[$fontAlagard$byval_copy247+4>>2]=HEAP32[1032+4>>2]|0;HEAP32[$fontAlagard$byval_copy247+8>>2]=HEAP32[1032+8>>2]|0;HEAP32[$fontAlagard$byval_copy247+12>>2]=HEAP32[1032+12>>2]|0;HEAP32[$fontAlagard$byval_copy247+16>>2]=HEAP32[1032+16>>2]|0; - ;HEAP32[$pongEnemyRec$byval_copy257+0>>2]=HEAP32[$98+0>>2]|0;HEAP32[$pongEnemyRec$byval_copy257+4>>2]=HEAP32[$98+4>>2]|0; - ;HEAP8[$$byval_copy262+0>>0]=HEAP8[$99+0>>0]|0;HEAP8[$$byval_copy262+1>>0]=HEAP8[$99+1>>0]|0;HEAP8[$$byval_copy262+2>>0]=HEAP8[$99+2>>0]|0;HEAP8[$$byval_copy262+3>>0]=HEAP8[$99+3>>0]|0; - _DrawTextEx($fontAlagard$byval_copy247,2944,$pongEnemyRec$byval_copy257,$974,4,$$byval_copy262); - HEAPF32[$100>>2] = 48.0; - $975 = (($100) + 4|0); - HEAPF32[$975>>2] = 260.0; - ;HEAP32[$$byval_copy262+0>>2]=HEAP32[1032+0>>2]|0;HEAP32[$$byval_copy262+4>>2]=HEAP32[1032+4>>2]|0;HEAP32[$$byval_copy262+8>>2]=HEAP32[1032+8>>2]|0;HEAP32[$$byval_copy262+12>>2]=HEAP32[1032+12>>2]|0;HEAP32[$$byval_copy262+16>>2]=HEAP32[1032+16>>2]|0; - $976 = (_GetFontBaseSize($$byval_copy262)|0); - $977 = $976 << 1; - _GetColor($101,1619090175); - ;HEAP32[$fontAlagard$byval_copy247+0>>2]=HEAP32[1032+0>>2]|0;HEAP32[$fontAlagard$byval_copy247+4>>2]=HEAP32[1032+4>>2]|0;HEAP32[$fontAlagard$byval_copy247+8>>2]=HEAP32[1032+8>>2]|0;HEAP32[$fontAlagard$byval_copy247+12>>2]=HEAP32[1032+12>>2]|0;HEAP32[$fontAlagard$byval_copy247+16>>2]=HEAP32[1032+16>>2]|0; - ;HEAP32[$pongEnemyRec$byval_copy257+0>>2]=HEAP32[$100+0>>2]|0;HEAP32[$pongEnemyRec$byval_copy257+4>>2]=HEAP32[$100+4>>2]|0; - ;HEAP8[$$byval_copy262+0>>0]=HEAP8[$101+0>>0]|0;HEAP8[$$byval_copy262+1>>0]=HEAP8[$101+1>>0]|0;HEAP8[$$byval_copy262+2>>0]=HEAP8[$101+2>>0]|0;HEAP8[$$byval_copy262+3>>0]=HEAP8[$101+3>>0]|0; - _DrawTextEx($fontAlagard$byval_copy247,2976,$pongEnemyRec$byval_copy257,$977,4,$$byval_copy262); - HEAP8[$102>>0] = -126; - $978 = (($102) + 1|0); - HEAP8[$978>>0] = -126; - $979 = (($102) + 2|0); - HEAP8[$979>>0] = -126; - $980 = (($102) + 3|0); - HEAP8[$980>>0] = -1; - ;HEAP8[$$byval_copy262+0>>0]=HEAP8[$102+0>>0]|0;HEAP8[$$byval_copy262+1>>0]=HEAP8[$102+1>>0]|0;HEAP8[$$byval_copy262+2>>0]=HEAP8[$102+2>>0]|0;HEAP8[$$byval_copy262+3>>0]=HEAP8[$102+3>>0]|0; - _DrawRectangle(138,348,260,260,$$byval_copy262); - HEAP32[$103>>2] = 0; - $981 = (($103) + 4|0); - HEAP32[$981>>2] = 0; - $982 = (($103) + 8|0); - $983 = HEAP32[((1440 + 4|0))>>2]|0; - HEAP32[$982>>2] = $983; - $984 = (($103) + 12|0); - $985 = HEAP32[((1440 + 8|0))>>2]|0; - HEAP32[$984>>2] = $985; - HEAP32[$104>>2] = 268; - $986 = (($104) + 4|0); - HEAP32[$986>>2] = 478; - $987 = (($104) + 8|0); - $988 = HEAP32[((1440 + 4|0))>>2]|0; - $989 = (($988|0) / 2)&-1; - $990 = (+($989|0)); - $991 = +HEAPF32[712>>2]; - $992 = $990 * $991; - $993 = (~~(($992))); - HEAP32[$987>>2] = $993; - $994 = (($104) + 12|0); - $995 = HEAP32[((1440 + 8|0))>>2]|0; - $996 = (($995|0) / 2)&-1; - $997 = (+($996|0)); - $998 = +HEAPF32[712>>2]; - $999 = $997 * $998; - $1000 = (~~(($999))); - HEAP32[$994>>2] = $1000; - $1001 = HEAP32[((1440 + 4|0))>>2]|0; - $1002 = (($1001|0) / 4)&-1; - $1003 = (+($1002|0)); - $1004 = +HEAPF32[712>>2]; - $1005 = $1003 * $1004; - HEAPF32[$105>>2] = $1005; - $1006 = (($105) + 4|0); - $1007 = HEAP32[((1440 + 8|0))>>2]|0; - $1008 = (($1007|0) / 4)&-1; - $1009 = (+($1008|0)); - $1010 = +HEAPF32[712>>2]; - $1011 = $1009 * $1010; - HEAPF32[$1006>>2] = $1011; - HEAP32[$106>>2] = -1; - ;HEAP32[$cat$byval_copy+0>>2]=HEAP32[1440+0>>2]|0;HEAP32[$cat$byval_copy+4>>2]=HEAP32[1440+4>>2]|0;HEAP32[$cat$byval_copy+8>>2]=HEAP32[1440+8>>2]|0; - ;HEAP32[$$byval_copy204+0>>2]=HEAP32[$103+0>>2]|0;HEAP32[$$byval_copy204+4>>2]=HEAP32[$103+4>>2]|0;HEAP32[$$byval_copy204+8>>2]=HEAP32[$103+8>>2]|0;HEAP32[$$byval_copy204+12>>2]=HEAP32[$103+12>>2]|0; - ;HEAP32[$fontAlagard$byval_copy247+0>>2]=HEAP32[$104+0>>2]|0;HEAP32[$fontAlagard$byval_copy247+4>>2]=HEAP32[$104+4>>2]|0;HEAP32[$fontAlagard$byval_copy247+8>>2]=HEAP32[$104+8>>2]|0;HEAP32[$fontAlagard$byval_copy247+12>>2]=HEAP32[$104+12>>2]|0; - ;HEAP32[$pongEnemyRec$byval_copy257+0>>2]=HEAP32[$105+0>>2]|0;HEAP32[$pongEnemyRec$byval_copy257+4>>2]=HEAP32[$105+4>>2]|0; - ;HEAP8[$$byval_copy262+0>>0]=HEAP8[$106+0>>0]|0;HEAP8[$$byval_copy262+1>>0]=HEAP8[$106+1>>0]|0;HEAP8[$$byval_copy262+2>>0]=HEAP8[$106+2>>0]|0;HEAP8[$$byval_copy262+3>>0]=HEAP8[$106+3>>0]|0; - _DrawTexturePro($cat$byval_copy,$$byval_copy204,$fontAlagard$byval_copy247,$pongEnemyRec$byval_copy257,0.0,$$byval_copy262); - HEAP32[$108>>2] = -1; - ;HEAP8[$$byval_copy262+0>>0]=HEAP8[$108+0>>0]|0;HEAP8[$$byval_copy262+1>>0]=HEAP8[$108+1>>0]|0;HEAP8[$$byval_copy262+2>>0]=HEAP8[$108+2>>0]|0;HEAP8[$$byval_copy262+3>>0]=HEAP8[$108+3>>0]|0; - _Fade($107,$$byval_copy262,0.300000011920928955078); - ;HEAP32[$pongEnemyRec$byval_copy257+0>>2]=HEAP32[1440+0>>2]|0;HEAP32[$pongEnemyRec$byval_copy257+4>>2]=HEAP32[1440+4>>2]|0;HEAP32[$pongEnemyRec$byval_copy257+8>>2]=HEAP32[1440+8>>2]|0; - ;HEAP8[$$byval_copy262+0>>0]=HEAP8[$107+0>>0]|0;HEAP8[$$byval_copy262+1>>0]=HEAP8[$107+1>>0]|0;HEAP8[$$byval_copy262+2>>0]=HEAP8[$107+2>>0]|0;HEAP8[$$byval_copy262+3>>0]=HEAP8[$107+3>>0]|0; - _DrawTexture($pongEnemyRec$byval_copy257,600,180,$$byval_copy262); - HEAP32[$109>>2] = 225; - $1012 = (($109) + 4|0); - HEAP32[$1012>>2] = 240; - $1013 = (($109) + 8|0); - HEAP32[$1013>>2] = 155; - $1014 = (($109) + 12|0); - HEAP32[$1014>>2] = 50; - HEAPF32[$110>>2] = 824.0; - $1015 = (($110) + 4|0); - HEAPF32[$1015>>2] = 421.0; - HEAP8[$111>>0] = -1; - $1016 = (($111) + 1|0); - HEAP8[$1016>>0] = 109; - $1017 = (($111) + 2|0); - HEAP8[$1017>>0] = -62; - $1018 = (($111) + 3|0); - HEAP8[$1018>>0] = -1; - ;HEAP32[$$byval_copy204+0>>2]=HEAP32[1440+0>>2]|0;HEAP32[$$byval_copy204+4>>2]=HEAP32[1440+4>>2]|0;HEAP32[$$byval_copy204+8>>2]=HEAP32[1440+8>>2]|0; - ;HEAP32[$fontAlagard$byval_copy247+0>>2]=HEAP32[$109+0>>2]|0;HEAP32[$fontAlagard$byval_copy247+4>>2]=HEAP32[$109+4>>2]|0;HEAP32[$fontAlagard$byval_copy247+8>>2]=HEAP32[$109+8>>2]|0;HEAP32[$fontAlagard$byval_copy247+12>>2]=HEAP32[$109+12>>2]|0; - ;HEAP32[$pongEnemyRec$byval_copy257+0>>2]=HEAP32[$110+0>>2]|0;HEAP32[$pongEnemyRec$byval_copy257+4>>2]=HEAP32[$110+4>>2]|0; - ;HEAP8[$$byval_copy262+0>>0]=HEAP8[$111+0>>0]|0;HEAP8[$$byval_copy262+1>>0]=HEAP8[$111+1>>0]|0;HEAP8[$$byval_copy262+2>>0]=HEAP8[$111+2>>0]|0;HEAP8[$$byval_copy262+3>>0]=HEAP8[$111+3>>0]|0; - _DrawTextureRec($$byval_copy204,$fontAlagard$byval_copy247,$pongEnemyRec$byval_copy257,$$byval_copy262); - HEAP32[$112>>2] = 0; - $1019 = (($112) + 4|0); - HEAP32[$1019>>2] = 0; - $1020 = (($112) + 8|0); - $1021 = HEAP32[((1480 + 4|0))>>2]|0; - HEAP32[$1020>>2] = $1021; - $1022 = (($112) + 12|0); - $1023 = HEAP32[((1480 + 8|0))>>2]|0; - HEAP32[$1022>>2] = $1023; - $1024 = HEAP32[8>>2]|0; - $1025 = (($1024|0) / 2)&-1; - $1026 = (($1025) + -40)|0; - HEAP32[$113>>2] = $1026; - $1027 = (($113) + 4|0); - HEAP32[$1027>>2] = 478; - $1028 = (($113) + 8|0); - $1029 = HEAP32[((1480 + 4|0))>>2]|0; - $1030 = (($1029|0) / 2)&-1; - HEAP32[$1028>>2] = $1030; - $1031 = (($113) + 12|0); - $1032 = HEAP32[((1480 + 8|0))>>2]|0; - $1033 = (($1032|0) / 2)&-1; - HEAP32[$1031>>2] = $1033; - $1034 = HEAP32[((1480 + 4|0))>>2]|0; - $1035 = (($1034|0) / 4)&-1; - $1036 = (+($1035|0)); - HEAPF32[$114>>2] = $1036; - $1037 = (($114) + 4|0); - $1038 = HEAP32[((1480 + 8|0))>>2]|0; - $1039 = (($1038|0) / 4)&-1; - $1040 = (+($1039|0)); - HEAPF32[$1037>>2] = $1040; - $1041 = HEAP32[768>>2]|0; - $1042 = (+($1041|0)); - HEAP8[$115>>0] = -1; - $1043 = (($115) + 1|0); - HEAP8[$1043>>0] = -53; - $1044 = (($115) + 2|0); - HEAP8[$1044>>0] = 0; - $1045 = (($115) + 3|0); - HEAP8[$1045>>0] = -1; - ;HEAP32[$cat$byval_copy+0>>2]=HEAP32[1480+0>>2]|0;HEAP32[$cat$byval_copy+4>>2]=HEAP32[1480+4>>2]|0;HEAP32[$cat$byval_copy+8>>2]=HEAP32[1480+8>>2]|0; - ;HEAP32[$$byval_copy204+0>>2]=HEAP32[$112+0>>2]|0;HEAP32[$$byval_copy204+4>>2]=HEAP32[$112+4>>2]|0;HEAP32[$$byval_copy204+8>>2]=HEAP32[$112+8>>2]|0;HEAP32[$$byval_copy204+12>>2]=HEAP32[$112+12>>2]|0; - ;HEAP32[$fontAlagard$byval_copy247+0>>2]=HEAP32[$113+0>>2]|0;HEAP32[$fontAlagard$byval_copy247+4>>2]=HEAP32[$113+4>>2]|0;HEAP32[$fontAlagard$byval_copy247+8>>2]=HEAP32[$113+8>>2]|0;HEAP32[$fontAlagard$byval_copy247+12>>2]=HEAP32[$113+12>>2]|0; - ;HEAP32[$pongEnemyRec$byval_copy257+0>>2]=HEAP32[$114+0>>2]|0;HEAP32[$pongEnemyRec$byval_copy257+4>>2]=HEAP32[$114+4>>2]|0; - ;HEAP8[$$byval_copy262+0>>0]=HEAP8[$115+0>>0]|0;HEAP8[$$byval_copy262+1>>0]=HEAP8[$115+1>>0]|0;HEAP8[$$byval_copy262+2>>0]=HEAP8[$115+2>>0]|0;HEAP8[$$byval_copy262+3>>0]=HEAP8[$115+3>>0]|0; - _DrawTexturePro($cat$byval_copy,$$byval_copy204,$fontAlagard$byval_copy247,$pongEnemyRec$byval_copy257,$1042,$$byval_copy262); - break L241; - break; - } - case 3: { - _GetColor($116,930571519); - ;HEAP8[$$byval_copy262+0>>0]=HEAP8[$116+0>>0]|0;HEAP8[$$byval_copy262+1>>0]=HEAP8[$116+1>>0]|0;HEAP8[$$byval_copy262+2>>0]=HEAP8[$116+2>>0]|0;HEAP8[$$byval_copy262+3>>0]=HEAP8[$116+3>>0]|0; - _DrawText(2592,48,200,10,$$byval_copy262); - HEAPF32[$117>>2] = 48.0; - $1046 = (($117) + 4|0); - HEAPF32[$1046>>2] = 230.0; - ;HEAP32[$$byval_copy262+0>>2]=HEAP32[1032+0>>2]|0;HEAP32[$$byval_copy262+4>>2]=HEAP32[1032+4>>2]|0;HEAP32[$$byval_copy262+8>>2]=HEAP32[1032+8>>2]|0;HEAP32[$$byval_copy262+12>>2]=HEAP32[1032+12>>2]|0;HEAP32[$$byval_copy262+16>>2]=HEAP32[1032+16>>2]|0; - $1047 = (_GetFontBaseSize($$byval_copy262)|0); - $1048 = $1047 << 1; - _GetColor($118,930571519); - ;HEAP32[$fontAlagard$byval_copy247+0>>2]=HEAP32[1032+0>>2]|0;HEAP32[$fontAlagard$byval_copy247+4>>2]=HEAP32[1032+4>>2]|0;HEAP32[$fontAlagard$byval_copy247+8>>2]=HEAP32[1032+8>>2]|0;HEAP32[$fontAlagard$byval_copy247+12>>2]=HEAP32[1032+12>>2]|0;HEAP32[$fontAlagard$byval_copy247+16>>2]=HEAP32[1032+16>>2]|0; - ;HEAP32[$pongEnemyRec$byval_copy257+0>>2]=HEAP32[$117+0>>2]|0;HEAP32[$pongEnemyRec$byval_copy257+4>>2]=HEAP32[$117+4>>2]|0; - ;HEAP8[$$byval_copy262+0>>0]=HEAP8[$118+0>>0]|0;HEAP8[$$byval_copy262+1>>0]=HEAP8[$118+1>>0]|0;HEAP8[$$byval_copy262+2>>0]=HEAP8[$118+2>>0]|0;HEAP8[$$byval_copy262+3>>0]=HEAP8[$118+3>>0]|0; - _DrawTextEx($fontAlagard$byval_copy247,2992,$pongEnemyRec$byval_copy257,$1048,4,$$byval_copy262); - HEAPF32[$119>>2] = 48.0; - $1049 = (($119) + 4|0); - HEAPF32[$1049>>2] = 260.0; - ;HEAP32[$$byval_copy262+0>>2]=HEAP32[1032+0>>2]|0;HEAP32[$$byval_copy262+4>>2]=HEAP32[1032+4>>2]|0;HEAP32[$$byval_copy262+8>>2]=HEAP32[1032+8>>2]|0;HEAP32[$$byval_copy262+12>>2]=HEAP32[1032+12>>2]|0;HEAP32[$$byval_copy262+16>>2]=HEAP32[1032+16>>2]|0; - $1050 = (_GetFontBaseSize($$byval_copy262)|0); - $1051 = $1050 << 1; - _GetColor($120,930571519); - ;HEAP32[$fontAlagard$byval_copy247+0>>2]=HEAP32[1032+0>>2]|0;HEAP32[$fontAlagard$byval_copy247+4>>2]=HEAP32[1032+4>>2]|0;HEAP32[$fontAlagard$byval_copy247+8>>2]=HEAP32[1032+8>>2]|0;HEAP32[$fontAlagard$byval_copy247+12>>2]=HEAP32[1032+12>>2]|0;HEAP32[$fontAlagard$byval_copy247+16>>2]=HEAP32[1032+16>>2]|0; - ;HEAP32[$pongEnemyRec$byval_copy257+0>>2]=HEAP32[$119+0>>2]|0;HEAP32[$pongEnemyRec$byval_copy257+4>>2]=HEAP32[$119+4>>2]|0; - ;HEAP8[$$byval_copy262+0>>0]=HEAP8[$120+0>>0]|0;HEAP8[$$byval_copy262+1>>0]=HEAP8[$120+1>>0]|0;HEAP8[$$byval_copy262+2>>0]=HEAP8[$120+2>>0]|0;HEAP8[$$byval_copy262+3>>0]=HEAP8[$120+3>>0]|0; - _DrawTextEx($fontAlagard$byval_copy247,3016,$pongEnemyRec$byval_copy257,$1051,4,$$byval_copy262); - HEAPF32[$121>>2] = 48.0; - $1052 = (($121) + 4|0); - HEAPF32[$1052>>2] = 290.0; - ;HEAP32[$$byval_copy262+0>>2]=HEAP32[1032+0>>2]|0;HEAP32[$$byval_copy262+4>>2]=HEAP32[1032+4>>2]|0;HEAP32[$$byval_copy262+8>>2]=HEAP32[1032+8>>2]|0;HEAP32[$$byval_copy262+12>>2]=HEAP32[1032+12>>2]|0;HEAP32[$$byval_copy262+16>>2]=HEAP32[1032+16>>2]|0; - $1053 = (_GetFontBaseSize($$byval_copy262)|0); - $1054 = $1053 << 1; - _GetColor($122,930571519); - ;HEAP32[$fontAlagard$byval_copy247+0>>2]=HEAP32[1032+0>>2]|0;HEAP32[$fontAlagard$byval_copy247+4>>2]=HEAP32[1032+4>>2]|0;HEAP32[$fontAlagard$byval_copy247+8>>2]=HEAP32[1032+8>>2]|0;HEAP32[$fontAlagard$byval_copy247+12>>2]=HEAP32[1032+12>>2]|0;HEAP32[$fontAlagard$byval_copy247+16>>2]=HEAP32[1032+16>>2]|0; - ;HEAP32[$pongEnemyRec$byval_copy257+0>>2]=HEAP32[$121+0>>2]|0;HEAP32[$pongEnemyRec$byval_copy257+4>>2]=HEAP32[$121+4>>2]|0; - ;HEAP8[$$byval_copy262+0>>0]=HEAP8[$122+0>>0]|0;HEAP8[$$byval_copy262+1>>0]=HEAP8[$122+1>>0]|0;HEAP8[$$byval_copy262+2>>0]=HEAP8[$122+2>>0]|0;HEAP8[$$byval_copy262+3>>0]=HEAP8[$122+3>>0]|0; - _DrawTextEx($fontAlagard$byval_copy247,3032,$pongEnemyRec$byval_copy257,$1054,4,$$byval_copy262); - HEAP32[$123>>2] = -1; - ;HEAP32[$pongEnemyRec$byval_copy257+0>>2]=HEAP32[1520+0>>2]|0;HEAP32[$pongEnemyRec$byval_copy257+4>>2]=HEAP32[1520+4>>2]|0;HEAP32[$pongEnemyRec$byval_copy257+8>>2]=HEAP32[1520+8>>2]|0; - ;HEAP8[$$byval_copy262+0>>0]=HEAP8[$123+0>>0]|0;HEAP8[$$byval_copy262+1>>0]=HEAP8[$123+1>>0]|0;HEAP8[$$byval_copy262+2>>0]=HEAP8[$123+2>>0]|0;HEAP8[$$byval_copy262+3>>0]=HEAP8[$123+3>>0]|0; - _DrawTexture($pongEnemyRec$byval_copy257,60,360,$$byval_copy262); - HEAPF32[$124>>2] = 708.0; - $1055 = (($124) + 4|0); - HEAPF32[$1055>>2] = 210.0; - ;HEAP32[$$byval_copy262+0>>2]=HEAP32[1576+0>>2]|0;HEAP32[$$byval_copy262+4>>2]=HEAP32[1576+4>>2]|0;HEAP32[$$byval_copy262+8>>2]=HEAP32[1576+8>>2]|0;HEAP32[$$byval_copy262+12>>2]=HEAP32[1576+12>>2]|0;HEAP32[$$byval_copy262+16>>2]=HEAP32[1576+16>>2]|0; - $1056 = (_GetFontBaseSize($$byval_copy262)|0); - HEAP32[$125>>2] = -1; - ;HEAP32[$fontAlagard$byval_copy247+0>>2]=HEAP32[1576+0>>2]|0;HEAP32[$fontAlagard$byval_copy247+4>>2]=HEAP32[1576+4>>2]|0;HEAP32[$fontAlagard$byval_copy247+8>>2]=HEAP32[1576+8>>2]|0;HEAP32[$fontAlagard$byval_copy247+12>>2]=HEAP32[1576+12>>2]|0;HEAP32[$fontAlagard$byval_copy247+16>>2]=HEAP32[1576+16>>2]|0; - ;HEAP32[$pongEnemyRec$byval_copy257+0>>2]=HEAP32[$124+0>>2]|0;HEAP32[$pongEnemyRec$byval_copy257+4>>2]=HEAP32[$124+4>>2]|0; - ;HEAP8[$$byval_copy262+0>>0]=HEAP8[$125+0>>0]|0;HEAP8[$$byval_copy262+1>>0]=HEAP8[$125+1>>0]|0;HEAP8[$$byval_copy262+2>>0]=HEAP8[$125+2>>0]|0;HEAP8[$$byval_copy262+3>>0]=HEAP8[$125+3>>0]|0; - _DrawTextEx($fontAlagard$byval_copy247,240,$pongEnemyRec$byval_copy257,$1056,-3,$$byval_copy262); - HEAPF32[$126>>2] = 600.0; - $1057 = (($126) + 4|0); - HEAPF32[$1057>>2] = 260.0; - ;HEAP32[$$byval_copy262+0>>2]=HEAP32[1640+0>>2]|0;HEAP32[$$byval_copy262+4>>2]=HEAP32[1640+4>>2]|0;HEAP32[$$byval_copy262+8>>2]=HEAP32[1640+8>>2]|0;HEAP32[$$byval_copy262+12>>2]=HEAP32[1640+12>>2]|0;HEAP32[$$byval_copy262+16>>2]=HEAP32[1640+16>>2]|0; - $1058 = (_GetFontBaseSize($$byval_copy262)|0); - HEAP32[$127>>2] = -1; - ;HEAP32[$fontAlagard$byval_copy247+0>>2]=HEAP32[1640+0>>2]|0;HEAP32[$fontAlagard$byval_copy247+4>>2]=HEAP32[1640+4>>2]|0;HEAP32[$fontAlagard$byval_copy247+8>>2]=HEAP32[1640+8>>2]|0;HEAP32[$fontAlagard$byval_copy247+12>>2]=HEAP32[1640+12>>2]|0;HEAP32[$fontAlagard$byval_copy247+16>>2]=HEAP32[1640+16>>2]|0; - ;HEAP32[$pongEnemyRec$byval_copy257+0>>2]=HEAP32[$126+0>>2]|0;HEAP32[$pongEnemyRec$byval_copy257+4>>2]=HEAP32[$126+4>>2]|0; - ;HEAP8[$$byval_copy262+0>>0]=HEAP8[$127+0>>0]|0;HEAP8[$$byval_copy262+1>>0]=HEAP8[$127+1>>0]|0;HEAP8[$$byval_copy262+2>>0]=HEAP8[$127+2>>0]|0;HEAP8[$$byval_copy262+3>>0]=HEAP8[$127+3>>0]|0; - _DrawTextEx($fontAlagard$byval_copy247,296,$pongEnemyRec$byval_copy257,$1058,-2,$$byval_copy262); - HEAPF32[$128>>2] = 710.0; - $1059 = (($128) + 4|0); - HEAPF32[$1059>>2] = 300.0; - ;HEAP32[$$byval_copy262+0>>2]=HEAP32[1664+0>>2]|0;HEAP32[$$byval_copy262+4>>2]=HEAP32[1664+4>>2]|0;HEAP32[$$byval_copy262+8>>2]=HEAP32[1664+8>>2]|0;HEAP32[$$byval_copy262+12>>2]=HEAP32[1664+12>>2]|0;HEAP32[$$byval_copy262+16>>2]=HEAP32[1664+16>>2]|0; - $1060 = (_GetFontBaseSize($$byval_copy262)|0); - HEAP32[$129>>2] = -1; - ;HEAP32[$fontAlagard$byval_copy247+0>>2]=HEAP32[1664+0>>2]|0;HEAP32[$fontAlagard$byval_copy247+4>>2]=HEAP32[1664+4>>2]|0;HEAP32[$fontAlagard$byval_copy247+8>>2]=HEAP32[1664+8>>2]|0;HEAP32[$fontAlagard$byval_copy247+12>>2]=HEAP32[1664+12>>2]|0;HEAP32[$fontAlagard$byval_copy247+16>>2]=HEAP32[1664+16>>2]|0; - ;HEAP32[$pongEnemyRec$byval_copy257+0>>2]=HEAP32[$128+0>>2]|0;HEAP32[$pongEnemyRec$byval_copy257+4>>2]=HEAP32[$128+4>>2]|0; - ;HEAP8[$$byval_copy262+0>>0]=HEAP8[$129+0>>0]|0;HEAP8[$$byval_copy262+1>>0]=HEAP8[$129+1>>0]|0;HEAP8[$$byval_copy262+2>>0]=HEAP8[$129+2>>0]|0;HEAP8[$$byval_copy262+3>>0]=HEAP8[$129+3>>0]|0; - _DrawTextEx($fontAlagard$byval_copy247,352,$pongEnemyRec$byval_copy257,$1060,2,$$byval_copy262); - HEAPF32[$130>>2] = 720.0; - $1061 = (($130) + 4|0); - HEAPF32[$1061>>2] = 400.0; - ;HEAP32[$$byval_copy262+0>>2]=HEAP32[808+0>>2]|0;HEAP32[$$byval_copy262+4>>2]=HEAP32[808+4>>2]|0;HEAP32[$$byval_copy262+8>>2]=HEAP32[808+8>>2]|0;HEAP32[$$byval_copy262+12>>2]=HEAP32[808+12>>2]|0;HEAP32[$$byval_copy262+16>>2]=HEAP32[808+16>>2]|0; - $1062 = (_GetFontBaseSize($$byval_copy262)|0); - $1063 = $1062 << 1; - HEAP8[$131>>0] = -66; - $1064 = (($131) + 1|0); - HEAP8[$1064>>0] = 33; - $1065 = (($131) + 2|0); - HEAP8[$1065>>0] = 55; - $1066 = (($131) + 3|0); - HEAP8[$1066>>0] = -1; - ;HEAP32[$fontAlagard$byval_copy247+0>>2]=HEAP32[808+0>>2]|0;HEAP32[$fontAlagard$byval_copy247+4>>2]=HEAP32[808+4>>2]|0;HEAP32[$fontAlagard$byval_copy247+8>>2]=HEAP32[808+8>>2]|0;HEAP32[$fontAlagard$byval_copy247+12>>2]=HEAP32[808+12>>2]|0;HEAP32[$fontAlagard$byval_copy247+16>>2]=HEAP32[808+16>>2]|0; - ;HEAP32[$pongEnemyRec$byval_copy257+0>>2]=HEAP32[$130+0>>2]|0;HEAP32[$pongEnemyRec$byval_copy257+4>>2]=HEAP32[$130+4>>2]|0; - ;HEAP8[$$byval_copy262+0>>0]=HEAP8[$131+0>>0]|0;HEAP8[$$byval_copy262+1>>0]=HEAP8[$131+1>>0]|0;HEAP8[$$byval_copy262+2>>0]=HEAP8[$131+2>>0]|0;HEAP8[$$byval_copy262+3>>0]=HEAP8[$131+3>>0]|0; - _DrawTextEx($fontAlagard$byval_copy247,3048,$pongEnemyRec$byval_copy257,$1063,2,$$byval_copy262); - HEAPF32[$132>>2] = 679.0; - $1067 = (($132) + 4|0); - HEAPF32[$1067>>2] = 450.0; - ;HEAP32[$$byval_copy262+0>>2]=HEAP32[864+0>>2]|0;HEAP32[$$byval_copy262+4>>2]=HEAP32[864+4>>2]|0;HEAP32[$$byval_copy262+8>>2]=HEAP32[864+8>>2]|0;HEAP32[$$byval_copy262+12>>2]=HEAP32[864+12>>2]|0;HEAP32[$$byval_copy262+16>>2]=HEAP32[864+16>>2]|0; - $1068 = (_GetFontBaseSize($$byval_copy262)|0); - $1069 = $1068 << 1; - HEAP8[$133>>0] = -1; - $1070 = (($133) + 1|0); - HEAP8[$1070>>0] = -95; - $1071 = (($133) + 2|0); - HEAP8[$1071>>0] = 0; - $1072 = (($133) + 3|0); - HEAP8[$1072>>0] = -1; - ;HEAP32[$fontAlagard$byval_copy247+0>>2]=HEAP32[864+0>>2]|0;HEAP32[$fontAlagard$byval_copy247+4>>2]=HEAP32[864+4>>2]|0;HEAP32[$fontAlagard$byval_copy247+8>>2]=HEAP32[864+8>>2]|0;HEAP32[$fontAlagard$byval_copy247+12>>2]=HEAP32[864+12>>2]|0;HEAP32[$fontAlagard$byval_copy247+16>>2]=HEAP32[864+16>>2]|0; - ;HEAP32[$pongEnemyRec$byval_copy257+0>>2]=HEAP32[$132+0>>2]|0;HEAP32[$pongEnemyRec$byval_copy257+4>>2]=HEAP32[$132+4>>2]|0; - ;HEAP8[$$byval_copy262+0>>0]=HEAP8[$133+0>>0]|0;HEAP8[$$byval_copy262+1>>0]=HEAP8[$133+1>>0]|0;HEAP8[$$byval_copy262+2>>0]=HEAP8[$133+2>>0]|0;HEAP8[$$byval_copy262+3>>0]=HEAP8[$133+3>>0]|0; - _DrawTextEx($fontAlagard$byval_copy247,3080,$pongEnemyRec$byval_copy257,$1069,4,$$byval_copy262); - HEAPF32[$134>>2] = 740.0; - $1073 = (($134) + 4|0); - HEAPF32[$1073>>2] = 500.0; - ;HEAP32[$$byval_copy262+0>>2]=HEAP32[920+0>>2]|0;HEAP32[$$byval_copy262+4>>2]=HEAP32[920+4>>2]|0;HEAP32[$$byval_copy262+8>>2]=HEAP32[920+8>>2]|0;HEAP32[$$byval_copy262+12>>2]=HEAP32[920+12>>2]|0;HEAP32[$$byval_copy262+16>>2]=HEAP32[920+16>>2]|0; - $1074 = (_GetFontBaseSize($$byval_copy262)|0); - $1075 = $1074 << 1; - HEAP8[$135>>0] = 0; - $1076 = (($135) + 1|0); - HEAP8[$1076>>0] = 117; - $1077 = (($135) + 2|0); - HEAP8[$1077>>0] = 44; - $1078 = (($135) + 3|0); - HEAP8[$1078>>0] = -1; - ;HEAP32[$fontAlagard$byval_copy247+0>>2]=HEAP32[920+0>>2]|0;HEAP32[$fontAlagard$byval_copy247+4>>2]=HEAP32[920+4>>2]|0;HEAP32[$fontAlagard$byval_copy247+8>>2]=HEAP32[920+8>>2]|0;HEAP32[$fontAlagard$byval_copy247+12>>2]=HEAP32[920+12>>2]|0;HEAP32[$fontAlagard$byval_copy247+16>>2]=HEAP32[920+16>>2]|0; - ;HEAP32[$pongEnemyRec$byval_copy257+0>>2]=HEAP32[$134+0>>2]|0;HEAP32[$pongEnemyRec$byval_copy257+4>>2]=HEAP32[$134+4>>2]|0; - ;HEAP8[$$byval_copy262+0>>0]=HEAP8[$135+0>>0]|0;HEAP8[$$byval_copy262+1>>0]=HEAP8[$135+1>>0]|0;HEAP8[$$byval_copy262+2>>0]=HEAP8[$135+2>>0]|0;HEAP8[$$byval_copy262+3>>0]=HEAP8[$135+3>>0]|0; - _DrawTextEx($fontAlagard$byval_copy247,3112,$pongEnemyRec$byval_copy257,$1075,4,$$byval_copy262); - HEAPF32[$136>>2] = 710.0; - $1079 = (($136) + 4|0); - HEAPF32[$1079>>2] = 550.0; - ;HEAP32[$$byval_copy262+0>>2]=HEAP32[976+0>>2]|0;HEAP32[$$byval_copy262+4>>2]=HEAP32[976+4>>2]|0;HEAP32[$$byval_copy262+8>>2]=HEAP32[976+8>>2]|0;HEAP32[$$byval_copy262+12>>2]=HEAP32[976+12>>2]|0;HEAP32[$$byval_copy262+16>>2]=HEAP32[976+16>>2]|0; - $1080 = (_GetFontBaseSize($$byval_copy262)|0); - $1081 = $1080 << 1; - HEAP8[$137>>0] = 0; - $1082 = (($137) + 1|0); - HEAP8[$1082>>0] = 82; - $1083 = (($137) + 2|0); - HEAP8[$1083>>0] = -84; - $1084 = (($137) + 3|0); - HEAP8[$1084>>0] = -1; - ;HEAP32[$fontAlagard$byval_copy247+0>>2]=HEAP32[976+0>>2]|0;HEAP32[$fontAlagard$byval_copy247+4>>2]=HEAP32[976+4>>2]|0;HEAP32[$fontAlagard$byval_copy247+8>>2]=HEAP32[976+8>>2]|0;HEAP32[$fontAlagard$byval_copy247+12>>2]=HEAP32[976+12>>2]|0;HEAP32[$fontAlagard$byval_copy247+16>>2]=HEAP32[976+16>>2]|0; - ;HEAP32[$pongEnemyRec$byval_copy257+0>>2]=HEAP32[$136+0>>2]|0;HEAP32[$pongEnemyRec$byval_copy257+4>>2]=HEAP32[$136+4>>2]|0; - ;HEAP8[$$byval_copy262+0>>0]=HEAP8[$137+0>>0]|0;HEAP8[$$byval_copy262+1>>0]=HEAP8[$137+1>>0]|0;HEAP8[$$byval_copy262+2>>0]=HEAP8[$137+2>>0]|0;HEAP8[$$byval_copy262+3>>0]=HEAP8[$137+3>>0]|0; - _DrawTextEx($fontAlagard$byval_copy247,3144,$pongEnemyRec$byval_copy257,$1081,4,$$byval_copy262); - HEAPF32[$138>>2] = 727.0; - $1085 = (($138) + 4|0); - HEAPF32[$1085>>2] = 600.0; - ;HEAP32[$$byval_copy262+0>>2]=HEAP32[1032+0>>2]|0;HEAP32[$$byval_copy262+4>>2]=HEAP32[1032+4>>2]|0;HEAP32[$$byval_copy262+8>>2]=HEAP32[1032+8>>2]|0;HEAP32[$$byval_copy262+12>>2]=HEAP32[1032+12>>2]|0;HEAP32[$$byval_copy262+16>>2]=HEAP32[1032+16>>2]|0; - $1086 = (_GetFontBaseSize($$byval_copy262)|0); - $1087 = $1086 << 1; - HEAP8[$139>>0] = 112; - $1088 = (($139) + 1|0); - HEAP8[$1088>>0] = 31; - $1089 = (($139) + 2|0); - HEAP8[$1089>>0] = 126; - $1090 = (($139) + 3|0); - HEAP8[$1090>>0] = -1; - ;HEAP32[$fontAlagard$byval_copy247+0>>2]=HEAP32[1032+0>>2]|0;HEAP32[$fontAlagard$byval_copy247+4>>2]=HEAP32[1032+4>>2]|0;HEAP32[$fontAlagard$byval_copy247+8>>2]=HEAP32[1032+8>>2]|0;HEAP32[$fontAlagard$byval_copy247+12>>2]=HEAP32[1032+12>>2]|0;HEAP32[$fontAlagard$byval_copy247+16>>2]=HEAP32[1032+16>>2]|0; - ;HEAP32[$pongEnemyRec$byval_copy257+0>>2]=HEAP32[$138+0>>2]|0;HEAP32[$pongEnemyRec$byval_copy257+4>>2]=HEAP32[$138+4>>2]|0; - ;HEAP8[$$byval_copy262+0>>0]=HEAP8[$139+0>>0]|0;HEAP8[$$byval_copy262+1>>0]=HEAP8[$139+1>>0]|0;HEAP8[$$byval_copy262+2>>0]=HEAP8[$139+2>>0]|0;HEAP8[$$byval_copy262+3>>0]=HEAP8[$139+3>>0]|0; - _DrawTextEx($fontAlagard$byval_copy247,3176,$pongEnemyRec$byval_copy257,$1087,3,$$byval_copy262); - HEAP8[$140>>0] = -126; - $1091 = (($140) + 1|0); - HEAP8[$1091>>0] = -126; - $1092 = (($140) + 2|0); - HEAP8[$1092>>0] = -126; - $1093 = (($140) + 3|0); - HEAP8[$1093>>0] = -1; - ;HEAP8[$$byval_copy262+0>>0]=HEAP8[$140+0>>0]|0;HEAP8[$$byval_copy262+1>>0]=HEAP8[$140+1>>0]|0;HEAP8[$$byval_copy262+2>>0]=HEAP8[$140+2>>0]|0;HEAP8[$$byval_copy262+3>>0]=HEAP8[$140+3>>0]|0; - _DrawText(3200,228,655,10,$$byval_copy262); - break L241; - break; - } - case 5: { - label = 191; - break L241; - break; - } - case 4: { - _GetColor($141,1098355967); - ;HEAP8[$$byval_copy262+0>>0]=HEAP8[$141+0>>0]|0;HEAP8[$$byval_copy262+1>>0]=HEAP8[$141+1>>0]|0;HEAP8[$$byval_copy262+2>>0]=HEAP8[$141+2>>0]|0;HEAP8[$$byval_copy262+3>>0]=HEAP8[$141+3>>0]|0; - _DrawText(2592,48,200,10,$$byval_copy262); - HEAPF32[$142>>2] = 48.0; - $1094 = (($142) + 4|0); - HEAPF32[$1094>>2] = 230.0; - ;HEAP32[$$byval_copy262+0>>2]=HEAP32[1032+0>>2]|0;HEAP32[$$byval_copy262+4>>2]=HEAP32[1032+4>>2]|0;HEAP32[$$byval_copy262+8>>2]=HEAP32[1032+8>>2]|0;HEAP32[$$byval_copy262+12>>2]=HEAP32[1032+12>>2]|0;HEAP32[$$byval_copy262+16>>2]=HEAP32[1032+16>>2]|0; - $1095 = (_GetFontBaseSize($$byval_copy262)|0); - $1096 = $1095 << 1; - _GetColor($143,1098355967); - ;HEAP32[$fontAlagard$byval_copy247+0>>2]=HEAP32[1032+0>>2]|0;HEAP32[$fontAlagard$byval_copy247+4>>2]=HEAP32[1032+4>>2]|0;HEAP32[$fontAlagard$byval_copy247+8>>2]=HEAP32[1032+8>>2]|0;HEAP32[$fontAlagard$byval_copy247+12>>2]=HEAP32[1032+12>>2]|0;HEAP32[$fontAlagard$byval_copy247+16>>2]=HEAP32[1032+16>>2]|0; - ;HEAP32[$pongEnemyRec$byval_copy257+0>>2]=HEAP32[$142+0>>2]|0;HEAP32[$pongEnemyRec$byval_copy257+4>>2]=HEAP32[$142+4>>2]|0; - ;HEAP8[$$byval_copy262+0>>0]=HEAP8[$143+0>>0]|0;HEAP8[$$byval_copy262+1>>0]=HEAP8[$143+1>>0]|0;HEAP8[$$byval_copy262+2>>0]=HEAP8[$143+2>>0]|0;HEAP8[$$byval_copy262+3>>0]=HEAP8[$143+3>>0]|0; - _DrawTextEx($fontAlagard$byval_copy247,3272,$pongEnemyRec$byval_copy257,$1096,4,$$byval_copy262); - HEAPF32[$144>>2] = 48.0; - $1097 = (($144) + 4|0); - HEAPF32[$1097>>2] = 260.0; - ;HEAP32[$$byval_copy262+0>>2]=HEAP32[1032+0>>2]|0;HEAP32[$$byval_copy262+4>>2]=HEAP32[1032+4>>2]|0;HEAP32[$$byval_copy262+8>>2]=HEAP32[1032+8>>2]|0;HEAP32[$$byval_copy262+12>>2]=HEAP32[1032+12>>2]|0;HEAP32[$$byval_copy262+16>>2]=HEAP32[1032+16>>2]|0; - $1098 = (_GetFontBaseSize($$byval_copy262)|0); - $1099 = $1098 << 1; - _GetColor($145,1098355967); - ;HEAP32[$fontAlagard$byval_copy247+0>>2]=HEAP32[1032+0>>2]|0;HEAP32[$fontAlagard$byval_copy247+4>>2]=HEAP32[1032+4>>2]|0;HEAP32[$fontAlagard$byval_copy247+8>>2]=HEAP32[1032+8>>2]|0;HEAP32[$fontAlagard$byval_copy247+12>>2]=HEAP32[1032+12>>2]|0;HEAP32[$fontAlagard$byval_copy247+16>>2]=HEAP32[1032+16>>2]|0; - ;HEAP32[$pongEnemyRec$byval_copy257+0>>2]=HEAP32[$144+0>>2]|0;HEAP32[$pongEnemyRec$byval_copy257+4>>2]=HEAP32[$144+4>>2]|0; - ;HEAP8[$$byval_copy262+0>>0]=HEAP8[$145+0>>0]|0;HEAP8[$$byval_copy262+1>>0]=HEAP8[$145+1>>0]|0;HEAP8[$$byval_copy262+2>>0]=HEAP8[$145+2>>0]|0;HEAP8[$$byval_copy262+3>>0]=HEAP8[$145+3>>0]|0; - _DrawTextEx($fontAlagard$byval_copy247,3296,$pongEnemyRec$byval_copy257,$1099,4,$$byval_copy262); - HEAPF32[$146>>2] = 48.0; - $1100 = (($146) + 4|0); - HEAPF32[$1100>>2] = 290.0; - ;HEAP32[$$byval_copy262+0>>2]=HEAP32[1032+0>>2]|0;HEAP32[$$byval_copy262+4>>2]=HEAP32[1032+4>>2]|0;HEAP32[$$byval_copy262+8>>2]=HEAP32[1032+8>>2]|0;HEAP32[$$byval_copy262+12>>2]=HEAP32[1032+12>>2]|0;HEAP32[$$byval_copy262+16>>2]=HEAP32[1032+16>>2]|0; - $1101 = (_GetFontBaseSize($$byval_copy262)|0); - $1102 = $1101 << 1; - _GetColor($147,1098355967); - ;HEAP32[$fontAlagard$byval_copy247+0>>2]=HEAP32[1032+0>>2]|0;HEAP32[$fontAlagard$byval_copy247+4>>2]=HEAP32[1032+4>>2]|0;HEAP32[$fontAlagard$byval_copy247+8>>2]=HEAP32[1032+8>>2]|0;HEAP32[$fontAlagard$byval_copy247+12>>2]=HEAP32[1032+12>>2]|0;HEAP32[$fontAlagard$byval_copy247+16>>2]=HEAP32[1032+16>>2]|0; - ;HEAP32[$pongEnemyRec$byval_copy257+0>>2]=HEAP32[$146+0>>2]|0;HEAP32[$pongEnemyRec$byval_copy257+4>>2]=HEAP32[$146+4>>2]|0; - ;HEAP8[$$byval_copy262+0>>0]=HEAP8[$147+0>>0]|0;HEAP8[$$byval_copy262+1>>0]=HEAP8[$147+1>>0]|0;HEAP8[$$byval_copy262+2>>0]=HEAP8[$147+2>>0]|0;HEAP8[$$byval_copy262+3>>0]=HEAP8[$147+3>>0]|0; - _DrawTextEx($fontAlagard$byval_copy247,3312,$pongEnemyRec$byval_copy257,$1102,4,$$byval_copy262); - dest=$$byval_copy262+0|0; src=1744+0|0; stop=dest+36|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _Begin3dMode($$byval_copy262); - HEAPF32[$148>>2] = -4.0; - $1103 = (($148) + 4|0); - HEAPF32[$1103>>2] = 0.0; - $1104 = (($148) + 8|0); - HEAPF32[$1104>>2] = 2.0; - HEAP8[$149>>0] = -26; - $1105 = (($149) + 1|0); - HEAP8[$1105>>0] = 41; - $1106 = (($149) + 2|0); - HEAP8[$1106>>0] = 55; - $1107 = (($149) + 3|0); - HEAP8[$1107>>0] = -1; - ;HEAP32[$pongEnemyRec$byval_copy257+0>>2]=HEAP32[$148+0>>2]|0;HEAP32[$pongEnemyRec$byval_copy257+4>>2]=HEAP32[$148+4>>2]|0;HEAP32[$pongEnemyRec$byval_copy257+8>>2]=HEAP32[$148+8>>2]|0; - ;HEAP8[$$byval_copy262+0>>0]=HEAP8[$149+0>>0]|0;HEAP8[$$byval_copy262+1>>0]=HEAP8[$149+1>>0]|0;HEAP8[$$byval_copy262+2>>0]=HEAP8[$149+2>>0]|0;HEAP8[$$byval_copy262+3>>0]=HEAP8[$149+3>>0]|0; - _DrawCube($pongEnemyRec$byval_copy257,2.0,5.0,2.0,$$byval_copy262); - HEAPF32[$150>>2] = -4.0; - $1108 = (($150) + 4|0); - HEAPF32[$1108>>2] = 0.0; - $1109 = (($150) + 8|0); - HEAPF32[$1109>>2] = 2.0; - HEAP8[$151>>0] = -1; - $1110 = (($151) + 1|0); - HEAP8[$1110>>0] = -53; - $1111 = (($151) + 2|0); - HEAP8[$1111>>0] = 0; - $1112 = (($151) + 3|0); - HEAP8[$1112>>0] = -1; - ;HEAP32[$pongEnemyRec$byval_copy257+0>>2]=HEAP32[$150+0>>2]|0;HEAP32[$pongEnemyRec$byval_copy257+4>>2]=HEAP32[$150+4>>2]|0;HEAP32[$pongEnemyRec$byval_copy257+8>>2]=HEAP32[$150+8>>2]|0; - ;HEAP8[$$byval_copy262+0>>0]=HEAP8[$151+0>>0]|0;HEAP8[$$byval_copy262+1>>0]=HEAP8[$151+1>>0]|0;HEAP8[$$byval_copy262+2>>0]=HEAP8[$151+2>>0]|0;HEAP8[$$byval_copy262+3>>0]=HEAP8[$151+3>>0]|0; - _DrawCubeWires($pongEnemyRec$byval_copy257,2.0,5.0,2.0,$$byval_copy262); - HEAPF32[$152>>2] = -4.0; - $1113 = (($152) + 4|0); - HEAPF32[$1113>>2] = 0.0; - $1114 = (($152) + 8|0); - HEAPF32[$1114>>2] = -2.0; - HEAP8[$153>>0] = -66; - $1115 = (($153) + 1|0); - HEAP8[$1115>>0] = 33; - $1116 = (($153) + 2|0); - HEAP8[$1116>>0] = 55; - $1117 = (($153) + 3|0); - HEAP8[$1117>>0] = -1; - ;HEAP32[$pongEnemyRec$byval_copy257+0>>2]=HEAP32[$152+0>>2]|0;HEAP32[$pongEnemyRec$byval_copy257+4>>2]=HEAP32[$152+4>>2]|0;HEAP32[$pongEnemyRec$byval_copy257+8>>2]=HEAP32[$152+8>>2]|0; - ;HEAP8[$$byval_copy262+0>>0]=HEAP8[$153+0>>0]|0;HEAP8[$$byval_copy262+1>>0]=HEAP8[$153+1>>0]|0;HEAP8[$$byval_copy262+2>>0]=HEAP8[$153+2>>0]|0;HEAP8[$$byval_copy262+3>>0]=HEAP8[$153+3>>0]|0; - _DrawCubeWires($pongEnemyRec$byval_copy257,3.0,6.0,2.0,$$byval_copy262); - HEAPF32[$154>>2] = -1.0; - $1118 = (($154) + 4|0); - HEAPF32[$1118>>2] = 0.0; - $1119 = (($154) + 8|0); - HEAPF32[$1119>>2] = -2.0; - HEAP8[$155>>0] = 0; - $1120 = (($155) + 1|0); - HEAP8[$1120>>0] = -28; - $1121 = (($155) + 2|0); - HEAP8[$1121>>0] = 48; - $1122 = (($155) + 3|0); - HEAP8[$1122>>0] = -1; - ;HEAP32[$pongEnemyRec$byval_copy257+0>>2]=HEAP32[$154+0>>2]|0;HEAP32[$pongEnemyRec$byval_copy257+4>>2]=HEAP32[$154+4>>2]|0;HEAP32[$pongEnemyRec$byval_copy257+8>>2]=HEAP32[$154+8>>2]|0; - ;HEAP8[$$byval_copy262+0>>0]=HEAP8[$155+0>>0]|0;HEAP8[$$byval_copy262+1>>0]=HEAP8[$155+1>>0]|0;HEAP8[$$byval_copy262+2>>0]=HEAP8[$155+2>>0]|0;HEAP8[$$byval_copy262+3>>0]=HEAP8[$155+3>>0]|0; - _DrawSphere($pongEnemyRec$byval_copy257,1.0,$$byval_copy262); - HEAPF32[$156>>2] = 1.0; - $1123 = (($156) + 4|0); - HEAPF32[$1123>>2] = 0.0; - $1124 = (($156) + 8|0); - HEAPF32[$1124>>2] = 2.0; - HEAP8[$157>>0] = 0; - $1125 = (($157) + 1|0); - HEAP8[$1125>>0] = -98; - $1126 = (($157) + 2|0); - HEAP8[$1126>>0] = 47; - $1127 = (($157) + 3|0); - HEAP8[$1127>>0] = -1; - ;HEAP32[$pongEnemyRec$byval_copy257+0>>2]=HEAP32[$156+0>>2]|0;HEAP32[$pongEnemyRec$byval_copy257+4>>2]=HEAP32[$156+4>>2]|0;HEAP32[$pongEnemyRec$byval_copy257+8>>2]=HEAP32[$156+8>>2]|0; - ;HEAP8[$$byval_copy262+0>>0]=HEAP8[$157+0>>0]|0;HEAP8[$$byval_copy262+1>>0]=HEAP8[$157+1>>0]|0;HEAP8[$$byval_copy262+2>>0]=HEAP8[$157+2>>0]|0;HEAP8[$$byval_copy262+3>>0]=HEAP8[$157+3>>0]|0; - _DrawSphereWires($pongEnemyRec$byval_copy257,2.0,16,16,$$byval_copy262); - HEAPF32[$158>>2] = 4.0; - $1128 = (($158) + 4|0); - HEAPF32[$1128>>2] = 0.0; - $1129 = (($158) + 8|0); - HEAPF32[$1129>>2] = -2.0; - HEAP8[$159>>0] = 102; - $1130 = (($159) + 1|0); - HEAP8[$1130>>0] = -65; - $1131 = (($159) + 2|0); - HEAP8[$1131>>0] = -1; - $1132 = (($159) + 3|0); - HEAP8[$1132>>0] = -1; - ;HEAP32[$pongEnemyRec$byval_copy257+0>>2]=HEAP32[$158+0>>2]|0;HEAP32[$pongEnemyRec$byval_copy257+4>>2]=HEAP32[$158+4>>2]|0;HEAP32[$pongEnemyRec$byval_copy257+8>>2]=HEAP32[$158+8>>2]|0; - ;HEAP8[$$byval_copy262+0>>0]=HEAP8[$159+0>>0]|0;HEAP8[$$byval_copy262+1>>0]=HEAP8[$159+1>>0]|0;HEAP8[$$byval_copy262+2>>0]=HEAP8[$159+2>>0]|0;HEAP8[$$byval_copy262+3>>0]=HEAP8[$159+3>>0]|0; - _DrawCylinder($pongEnemyRec$byval_copy257,1.0,2.0,3.0,4,$$byval_copy262); - HEAPF32[$160>>2] = 4.0; - $1133 = (($160) + 4|0); - HEAPF32[$1133>>2] = 0.0; - $1134 = (($160) + 8|0); - HEAPF32[$1134>>2] = -2.0; - HEAP8[$161>>0] = 0; - $1135 = (($161) + 1|0); - HEAP8[$1135>>0] = 82; - $1136 = (($161) + 2|0); - HEAP8[$1136>>0] = -84; - $1137 = (($161) + 3|0); - HEAP8[$1137>>0] = -1; - ;HEAP32[$pongEnemyRec$byval_copy257+0>>2]=HEAP32[$160+0>>2]|0;HEAP32[$pongEnemyRec$byval_copy257+4>>2]=HEAP32[$160+4>>2]|0;HEAP32[$pongEnemyRec$byval_copy257+8>>2]=HEAP32[$160+8>>2]|0; - ;HEAP8[$$byval_copy262+0>>0]=HEAP8[$161+0>>0]|0;HEAP8[$$byval_copy262+1>>0]=HEAP8[$161+1>>0]|0;HEAP8[$$byval_copy262+2>>0]=HEAP8[$161+2>>0]|0;HEAP8[$$byval_copy262+3>>0]=HEAP8[$161+3>>0]|0; - _DrawCylinderWires($pongEnemyRec$byval_copy257,1.0,2.0,3.0,4,$$byval_copy262); - HEAPF32[$162>>2] = 4.5; - $1138 = (($162) + 4|0); - HEAPF32[$1138>>2] = -1.0; - $1139 = (($162) + 8|0); - HEAPF32[$1139>>2] = 2.0; - HEAP8[$163>>0] = 127; - $1140 = (($163) + 1|0); - HEAP8[$1140>>0] = 106; - $1141 = (($163) + 2|0); - HEAP8[$1141>>0] = 79; - $1142 = (($163) + 3|0); - HEAP8[$1142>>0] = -1; - ;HEAP32[$pongEnemyRec$byval_copy257+0>>2]=HEAP32[$162+0>>2]|0;HEAP32[$pongEnemyRec$byval_copy257+4>>2]=HEAP32[$162+4>>2]|0;HEAP32[$pongEnemyRec$byval_copy257+8>>2]=HEAP32[$162+8>>2]|0; - ;HEAP8[$$byval_copy262+0>>0]=HEAP8[$163+0>>0]|0;HEAP8[$$byval_copy262+1>>0]=HEAP8[$163+1>>0]|0;HEAP8[$$byval_copy262+2>>0]=HEAP8[$163+2>>0]|0;HEAP8[$$byval_copy262+3>>0]=HEAP8[$163+3>>0]|0; - _DrawCylinderWires($pongEnemyRec$byval_copy257,1.0,1.0,2.0,6,$$byval_copy262); - HEAPF32[$164>>2] = 1.0; - $1143 = (($164) + 4|0); - HEAPF32[$1143>>2] = 0.0; - $1144 = (($164) + 8|0); - HEAPF32[$1144>>2] = -4.0; - HEAP8[$165>>0] = -1; - $1145 = (($165) + 1|0); - HEAP8[$1145>>0] = -53; - $1146 = (($165) + 2|0); - HEAP8[$1146>>0] = 0; - $1147 = (($165) + 3|0); - HEAP8[$1147>>0] = -1; - ;HEAP32[$pongEnemyRec$byval_copy257+0>>2]=HEAP32[$164+0>>2]|0;HEAP32[$pongEnemyRec$byval_copy257+4>>2]=HEAP32[$164+4>>2]|0;HEAP32[$pongEnemyRec$byval_copy257+8>>2]=HEAP32[$164+8>>2]|0; - ;HEAP8[$$byval_copy262+0>>0]=HEAP8[$165+0>>0]|0;HEAP8[$$byval_copy262+1>>0]=HEAP8[$165+1>>0]|0;HEAP8[$$byval_copy262+2>>0]=HEAP8[$165+2>>0]|0;HEAP8[$$byval_copy262+3>>0]=HEAP8[$165+3>>0]|0; - _DrawCylinder($pongEnemyRec$byval_copy257,0.0,1.5,3.0,8,$$byval_copy262); - HEAPF32[$166>>2] = 1.0; - $1148 = (($166) + 4|0); - HEAPF32[$1148>>2] = 0.0; - $1149 = (($166) + 8|0); - HEAPF32[$1149>>2] = -4.0; - HEAP8[$167>>0] = -1; - $1150 = (($167) + 1|0); - HEAP8[$1150>>0] = 109; - $1151 = (($167) + 2|0); - HEAP8[$1151>>0] = -62; - $1152 = (($167) + 3|0); - HEAP8[$1152>>0] = -1; - ;HEAP32[$pongEnemyRec$byval_copy257+0>>2]=HEAP32[$166+0>>2]|0;HEAP32[$pongEnemyRec$byval_copy257+4>>2]=HEAP32[$166+4>>2]|0;HEAP32[$pongEnemyRec$byval_copy257+8>>2]=HEAP32[$166+8>>2]|0; - ;HEAP8[$$byval_copy262+0>>0]=HEAP8[$167+0>>0]|0;HEAP8[$$byval_copy262+1>>0]=HEAP8[$167+1>>0]|0;HEAP8[$$byval_copy262+2>>0]=HEAP8[$167+2>>0]|0;HEAP8[$$byval_copy262+3>>0]=HEAP8[$167+3>>0]|0; - _DrawCylinderWires($pongEnemyRec$byval_copy257,0.0,1.5,3.0,8,$$byval_copy262); - HEAPF32[$168>>2] = 8.0; - $1153 = (($168) + 4|0); - HEAPF32[$1153>>2] = 0.0; - $1154 = (($168) + 8|0); - HEAPF32[$1154>>2] = 2.0; - HEAPF32[$169>>2] = 0.0; - $1155 = (($169) + 4|0); - $1156 = HEAP32[768>>2]|0; - $1157 = (+($1156|0)); - $1158 = $1157 * 0.5; - HEAPF32[$1155>>2] = $1158; - $1159 = (($169) + 8|0); - HEAPF32[$1159>>2] = 0.0; - HEAPF32[$170>>2] = 0.100000001490116119385; - $1160 = (($170) + 4|0); - HEAPF32[$1160>>2] = 0.100000001490116119385; - $1161 = (($170) + 8|0); - HEAPF32[$1161>>2] = 0.100000001490116119385; - HEAP32[$171>>2] = -1; - dest=$cat$byval_copy+0|0; src=1824+0|0; stop=dest+44|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - ;HEAP32[$$byval_copy204+0>>2]=HEAP32[$168+0>>2]|0;HEAP32[$$byval_copy204+4>>2]=HEAP32[$168+4>>2]|0;HEAP32[$$byval_copy204+8>>2]=HEAP32[$168+8>>2]|0; - ;HEAP32[$fontAlagard$byval_copy247+0>>2]=HEAP32[$169+0>>2]|0;HEAP32[$fontAlagard$byval_copy247+4>>2]=HEAP32[$169+4>>2]|0;HEAP32[$fontAlagard$byval_copy247+8>>2]=HEAP32[$169+8>>2]|0; - ;HEAP32[$pongEnemyRec$byval_copy257+0>>2]=HEAP32[$170+0>>2]|0;HEAP32[$pongEnemyRec$byval_copy257+4>>2]=HEAP32[$170+4>>2]|0;HEAP32[$pongEnemyRec$byval_copy257+8>>2]=HEAP32[$170+8>>2]|0; - ;HEAP8[$$byval_copy262+0>>0]=HEAP8[$171+0>>0]|0;HEAP8[$$byval_copy262+1>>0]=HEAP8[$171+1>>0]|0;HEAP8[$$byval_copy262+2>>0]=HEAP8[$171+2>>0]|0;HEAP8[$$byval_copy262+3>>0]=HEAP8[$171+3>>0]|0; - _DrawModelEx($cat$byval_copy,$$byval_copy204,$fontAlagard$byval_copy247,$pongEnemyRec$byval_copy257,$$byval_copy262); - HEAPF32[$172>>2] = 8.0; - $1162 = (($172) + 4|0); - HEAPF32[$1162>>2] = 0.0; - $1163 = (($172) + 8|0); - HEAPF32[$1163>>2] = 2.0; - ;HEAP32[$$byval_copy262+0>>2]=HEAP32[$172+0>>2]|0;HEAP32[$$byval_copy262+4>>2]=HEAP32[$172+4>>2]|0;HEAP32[$$byval_copy262+8>>2]=HEAP32[$172+8>>2]|0; - _DrawGizmo($$byval_copy262); - _DrawGrid(10,1.0); - _End3dMode(); - _DrawFPS(900,220); - break L241; - break; - } - default: { - break L241; - } - } - } - } while(0); - if ((label|0) == 191) { - _GetColor($173,-1938474497); - ;HEAP8[$$byval_copy262+0>>0]=HEAP8[$173+0>>0]|0;HEAP8[$$byval_copy262+1>>0]=HEAP8[$173+1>>0]|0;HEAP8[$$byval_copy262+2>>0]=HEAP8[$173+2>>0]|0;HEAP8[$$byval_copy262+3>>0]=HEAP8[$173+3>>0]|0; - _DrawText(2592,48,200,10,$$byval_copy262); - HEAPF32[$174>>2] = 48.0; - $1164 = (($174) + 4|0); - HEAPF32[$1164>>2] = 230.0; - ;HEAP32[$$byval_copy262+0>>2]=HEAP32[1032+0>>2]|0;HEAP32[$$byval_copy262+4>>2]=HEAP32[1032+4>>2]|0;HEAP32[$$byval_copy262+8>>2]=HEAP32[1032+8>>2]|0;HEAP32[$$byval_copy262+12>>2]=HEAP32[1032+12>>2]|0;HEAP32[$$byval_copy262+16>>2]=HEAP32[1032+16>>2]|0; - $1165 = (_GetFontBaseSize($$byval_copy262)|0); - $1166 = $1165 << 1; - _GetColor($175,-1938474497); - ;HEAP32[$fontAlagard$byval_copy247+0>>2]=HEAP32[1032+0>>2]|0;HEAP32[$fontAlagard$byval_copy247+4>>2]=HEAP32[1032+4>>2]|0;HEAP32[$fontAlagard$byval_copy247+8>>2]=HEAP32[1032+8>>2]|0;HEAP32[$fontAlagard$byval_copy247+12>>2]=HEAP32[1032+12>>2]|0;HEAP32[$fontAlagard$byval_copy247+16>>2]=HEAP32[1032+16>>2]|0; - ;HEAP32[$pongEnemyRec$byval_copy257+0>>2]=HEAP32[$174+0>>2]|0;HEAP32[$pongEnemyRec$byval_copy257+4>>2]=HEAP32[$174+4>>2]|0; - ;HEAP8[$$byval_copy262+0>>0]=HEAP8[$175+0>>0]|0;HEAP8[$$byval_copy262+1>>0]=HEAP8[$175+1>>0]|0;HEAP8[$$byval_copy262+2>>0]=HEAP8[$175+2>>0]|0;HEAP8[$$byval_copy262+3>>0]=HEAP8[$175+3>>0]|0; - _DrawTextEx($fontAlagard$byval_copy247,3328,$pongEnemyRec$byval_copy257,$1166,4,$$byval_copy262); - HEAPF32[$176>>2] = 48.0; - $1167 = (($176) + 4|0); - HEAPF32[$1167>>2] = 260.0; - ;HEAP32[$$byval_copy262+0>>2]=HEAP32[1032+0>>2]|0;HEAP32[$$byval_copy262+4>>2]=HEAP32[1032+4>>2]|0;HEAP32[$$byval_copy262+8>>2]=HEAP32[1032+8>>2]|0;HEAP32[$$byval_copy262+12>>2]=HEAP32[1032+12>>2]|0;HEAP32[$$byval_copy262+16>>2]=HEAP32[1032+16>>2]|0; - $1168 = (_GetFontBaseSize($$byval_copy262)|0); - $1169 = $1168 << 1; - _GetColor($177,-1938474497); - ;HEAP32[$fontAlagard$byval_copy247+0>>2]=HEAP32[1032+0>>2]|0;HEAP32[$fontAlagard$byval_copy247+4>>2]=HEAP32[1032+4>>2]|0;HEAP32[$fontAlagard$byval_copy247+8>>2]=HEAP32[1032+8>>2]|0;HEAP32[$fontAlagard$byval_copy247+12>>2]=HEAP32[1032+12>>2]|0;HEAP32[$fontAlagard$byval_copy247+16>>2]=HEAP32[1032+16>>2]|0; - ;HEAP32[$pongEnemyRec$byval_copy257+0>>2]=HEAP32[$176+0>>2]|0;HEAP32[$pongEnemyRec$byval_copy257+4>>2]=HEAP32[$176+4>>2]|0; - ;HEAP8[$$byval_copy262+0>>0]=HEAP8[$177+0>>0]|0;HEAP8[$$byval_copy262+1>>0]=HEAP8[$177+1>>0]|0;HEAP8[$$byval_copy262+2>>0]=HEAP8[$177+2>>0]|0;HEAP8[$$byval_copy262+3>>0]=HEAP8[$177+3>>0]|0; - _DrawTextEx($fontAlagard$byval_copy247,3352,$pongEnemyRec$byval_copy257,$1169,4,$$byval_copy262); - HEAP8[$178>>0] = -126; - $1170 = (($178) + 1|0); - HEAP8[$1170>>0] = -126; - $1171 = (($178) + 2|0); - HEAP8[$1171>>0] = -126; - $1172 = (($178) + 3|0); - HEAP8[$1172>>0] = -1; - ;HEAP8[$$byval_copy262+0>>0]=HEAP8[$178+0>>0]|0;HEAP8[$$byval_copy262+1>>0]=HEAP8[$178+1>>0]|0;HEAP8[$$byval_copy262+2>>0]=HEAP8[$178+2>>0]|0;HEAP8[$$byval_copy262+3>>0]=HEAP8[$178+3>>0]|0; - _DrawText(3376,135,350,20,$$byval_copy262); - HEAP8[$179>>0] = -56; - $1173 = (($179) + 1|0); - HEAP8[$1173>>0] = -56; - $1174 = (($179) + 2|0); - HEAP8[$1174>>0] = -56; - $1175 = (($179) + 3|0); - HEAP8[$1175>>0] = -1; - ;HEAP8[$$byval_copy262+0>>0]=HEAP8[$179+0>>0]|0;HEAP8[$$byval_copy262+1>>0]=HEAP8[$179+1>>0]|0;HEAP8[$$byval_copy262+2>>0]=HEAP8[$179+2>>0]|0;HEAP8[$$byval_copy262+3>>0]=HEAP8[$179+3>>0]|0; - _DrawRectangle(150,390,400,12,$$byval_copy262); - $1176 = +HEAPF32[720>>2]; - $1177 = (~~(($1176))); - HEAP8[$180>>0] = -66; - $1178 = (($180) + 1|0); - HEAP8[$1178>>0] = 33; - $1179 = (($180) + 2|0); - HEAP8[$1179>>0] = 55; - $1180 = (($180) + 3|0); - HEAP8[$1180>>0] = -1; - ;HEAP8[$$byval_copy262+0>>0]=HEAP8[$180+0>>0]|0;HEAP8[$$byval_copy262+1>>0]=HEAP8[$180+1>>0]|0;HEAP8[$$byval_copy262+2>>0]=HEAP8[$180+2>>0]|0;HEAP8[$$byval_copy262+3>>0]=HEAP8[$180+3>>0]|0; - _DrawRectangle(150,390,$1177,12,$$byval_copy262); - $1181 = (_MusicIsPlaying()|0); - $1182 = ($1181|0)==(0); - if (!($1182)) { - HEAP8[$181>>0] = -126; - $1183 = (($181) + 1|0); - HEAP8[$1183>>0] = -126; - $1184 = (($181) + 2|0); - HEAP8[$1184>>0] = -126; - $1185 = (($181) + 3|0); - HEAP8[$1185>>0] = -1; - ;HEAP8[$$byval_copy262+0>>0]=HEAP8[$181+0>>0]|0;HEAP8[$$byval_copy262+1>>0]=HEAP8[$181+1>>0]|0;HEAP8[$$byval_copy262+2>>0]=HEAP8[$181+2>>0]|0;HEAP8[$$byval_copy262+3>>0]=HEAP8[$181+3>>0]|0; - _DrawText(3416,165,425,20,$$byval_copy262); - $i5$040 = 0; - while(1) { - $1186 = (2296 + ($i5$040<<2)|0); - $1187 = HEAP32[$1186>>2]|0; - $1188 = ($1187|0)==(0); - if (!($1188)) { - $1189 = (1976 + ($i5$040<<3)|0); - $1190 = (2168 + ($i5$040<<2)|0); - $1191 = HEAP32[$1190>>2]|0; - $1192 = (+($1191|0)); - $1193 = (2104 + ($i5$040<<2)|0); - $1194 = (2232 + ($i5$040<<2)|0); - $1195 = +HEAPF32[$1194>>2]; - ;HEAP8[$$byval_copy262+0>>0]=HEAP8[$1193+0>>0]|0;HEAP8[$$byval_copy262+1>>0]=HEAP8[$1193+1>>0]|0;HEAP8[$$byval_copy262+2>>0]=HEAP8[$1193+2>>0]|0;HEAP8[$$byval_copy262+3>>0]=HEAP8[$1193+3>>0]|0; - _Fade($182,$$byval_copy262,$1195); - ;HEAP32[$pongEnemyRec$byval_copy257+0>>2]=HEAP32[$1189+0>>2]|0;HEAP32[$pongEnemyRec$byval_copy257+4>>2]=HEAP32[$1189+4>>2]|0; - ;HEAP8[$$byval_copy262+0>>0]=HEAP8[$182+0>>0]|0;HEAP8[$$byval_copy262+1>>0]=HEAP8[$182+1>>0]|0;HEAP8[$$byval_copy262+2>>0]=HEAP8[$182+2>>0]|0;HEAP8[$$byval_copy262+3>>0]=HEAP8[$182+3>>0]|0; - _DrawPoly($pongEnemyRec$byval_copy257,18,$1192,0.0,$$byval_copy262); - } - $1196 = (($i5$040) + 1)|0; - $exitcond = ($1196|0)==(16); - if ($exitcond) { - break; - } else { - $i5$040 = $1196; - } - } - } - HEAP8[$183>>0] = -121; - $1197 = (($183) + 1|0); - HEAP8[$1197>>0] = 60; - $1198 = (($183) + 2|0); - HEAP8[$1198>>0] = -66; - $1199 = (($183) + 3|0); - HEAP8[$1199>>0] = -1; - ;HEAP8[$$byval_copy262+0>>0]=HEAP8[$183+0>>0]|0;HEAP8[$$byval_copy262+1>>0]=HEAP8[$183+1>>0]|0;HEAP8[$$byval_copy262+2>>0]=HEAP8[$183+2>>0]|0;HEAP8[$$byval_copy262+3>>0]=HEAP8[$183+3>>0]|0; - _DrawText(3448,200,540,20,$$byval_copy262); - $1200 = HEAP32[768>>2]|0; - $1201 = (($1200|0) / 30)&-1; - $1202 = $1201 & 1; - $1203 = ($1202|0)==(0); - if (!($1203)) { - HEAP8[$184>>0] = -126; - $1204 = (($184) + 1|0); - HEAP8[$1204>>0] = -126; - $1205 = (($184) + 2|0); - HEAP8[$1205>>0] = -126; - $1206 = (($184) + 3|0); - HEAP8[$1206>>0] = -1; - ;HEAP8[$$byval_copy262+0>>0]=HEAP8[$184+0>>0]|0;HEAP8[$$byval_copy262+1>>0]=HEAP8[$184+1>>0]|0;HEAP8[$$byval_copy262+2>>0]=HEAP8[$184+2>>0]|0;HEAP8[$$byval_copy262+3>>0]=HEAP8[$184+3>>0]|0; - _DrawText(2488,930,650,20,$$byval_copy262); - } - } - _GetColor($185,-1987540737); - ;HEAP8[$$byval_copy262+0>>0]=HEAP8[$185+0>>0]|0;HEAP8[$$byval_copy262+1>>0]=HEAP8[$185+1>>0]|0;HEAP8[$$byval_copy262+2>>0]=HEAP8[$185+2>>0]|0;HEAP8[$$byval_copy262+3>>0]=HEAP8[$185+3>>0]|0; - _DrawRectangle(198,90,150,70,$$byval_copy262); - _GetColor($186,-505290241); - ;HEAP8[$$byval_copy262+0>>0]=HEAP8[$186+0>>0]|0;HEAP8[$$byval_copy262+1>>0]=HEAP8[$186+1>>0]|0;HEAP8[$$byval_copy262+2>>0]=HEAP8[$186+2>>0]|0;HEAP8[$$byval_copy262+3>>0]=HEAP8[$186+3>>0]|0; - _DrawRectangle(206,98,134,54,$$byval_copy262); - _GetColor($187,1549425407); - ;HEAP8[$$byval_copy262+0>>0]=HEAP8[$187+0>>0]|0;HEAP8[$$byval_copy262+1>>0]=HEAP8[$187+1>>0]|0;HEAP8[$$byval_copy262+2>>0]=HEAP8[$187+2>>0]|0;HEAP8[$$byval_copy262+3>>0]=HEAP8[$187+3>>0]|0; - _DrawText(3480,244,118,20,$$byval_copy262); - _GetColor($188,-429496577); - ;HEAP8[$$byval_copy262+0>>0]=HEAP8[$188+0>>0]|0;HEAP8[$$byval_copy262+1>>0]=HEAP8[$188+1>>0]|0;HEAP8[$$byval_copy262+2>>0]=HEAP8[$188+2>>0]|0;HEAP8[$$byval_copy262+3>>0]=HEAP8[$188+3>>0]|0; - _DrawRectangle(373,90,150,70,$$byval_copy262); - _GetColor($189,-254355713); - ;HEAP8[$$byval_copy262+0>>0]=HEAP8[$189+0>>0]|0;HEAP8[$$byval_copy262+1>>0]=HEAP8[$189+1>>0]|0;HEAP8[$$byval_copy262+2>>0]=HEAP8[$189+2>>0]|0;HEAP8[$$byval_copy262+3>>0]=HEAP8[$189+3>>0]|0; - _DrawRectangle(381,98,134,54,$$byval_copy262); - _GetColor($190,-849913857); - ;HEAP8[$$byval_copy262+0>>0]=HEAP8[$190+0>>0]|0;HEAP8[$$byval_copy262+1>>0]=HEAP8[$190+1>>0]|0;HEAP8[$$byval_copy262+2>>0]=HEAP8[$190+2>>0]|0;HEAP8[$$byval_copy262+3>>0]=HEAP8[$190+3>>0]|0; - _DrawText(3488,409,118,20,$$byval_copy262); - _GetColor($191,1973448191); - ;HEAP8[$$byval_copy262+0>>0]=HEAP8[$191+0>>0]|0;HEAP8[$$byval_copy262+1>>0]=HEAP8[$191+1>>0]|0;HEAP8[$$byval_copy262+2>>0]=HEAP8[$191+2>>0]|0;HEAP8[$$byval_copy262+3>>0]=HEAP8[$191+3>>0]|0; - _DrawRectangle(548,90,150,70,$$byval_copy262); - _GetColor($192,-924139521); - ;HEAP8[$$byval_copy262+0>>0]=HEAP8[$192+0>>0]|0;HEAP8[$$byval_copy262+1>>0]=HEAP8[$192+1>>0]|0;HEAP8[$$byval_copy262+2>>0]=HEAP8[$192+2>>0]|0;HEAP8[$$byval_copy262+3>>0]=HEAP8[$192+3>>0]|0; - _DrawRectangle(556,98,134,54,$$byval_copy262); - _GetColor($193,1619090175); - ;HEAP8[$$byval_copy262+0>>0]=HEAP8[$193+0>>0]|0;HEAP8[$$byval_copy262+1>>0]=HEAP8[$193+1>>0]|0;HEAP8[$$byval_copy262+2>>0]=HEAP8[$193+2>>0]|0;HEAP8[$$byval_copy262+3>>0]=HEAP8[$193+3>>0]|0; - _DrawText(3496,565,118,20,$$byval_copy262); - _GetColor($194,1387435775); - ;HEAP8[$$byval_copy262+0>>0]=HEAP8[$194+0>>0]|0;HEAP8[$$byval_copy262+1>>0]=HEAP8[$194+1>>0]|0;HEAP8[$$byval_copy262+2>>0]=HEAP8[$194+2>>0]|0;HEAP8[$$byval_copy262+3>>0]=HEAP8[$194+3>>0]|0; - _DrawRectangle(723,90,150,70,$$byval_copy262); - _GetColor($195,-1091510785); - ;HEAP8[$$byval_copy262+0>>0]=HEAP8[$195+0>>0]|0;HEAP8[$$byval_copy262+1>>0]=HEAP8[$195+1>>0]|0;HEAP8[$$byval_copy262+2>>0]=HEAP8[$195+2>>0]|0;HEAP8[$$byval_copy262+3>>0]=HEAP8[$195+3>>0]|0; - _DrawRectangle(731,98,134,54,$$byval_copy262); - _GetColor($196,930571519); - ;HEAP8[$$byval_copy262+0>>0]=HEAP8[$196+0>>0]|0;HEAP8[$$byval_copy262+1>>0]=HEAP8[$196+1>>0]|0;HEAP8[$$byval_copy262+2>>0]=HEAP8[$196+2>>0]|0;HEAP8[$$byval_copy262+3>>0]=HEAP8[$196+3>>0]|0; - _DrawText(3512,769,118,20,$$byval_copy262); - _GetColor($197,1570553343); - ;HEAP8[$$byval_copy262+0>>0]=HEAP8[$197+0>>0]|0;HEAP8[$$byval_copy262+1>>0]=HEAP8[$197+1>>0]|0;HEAP8[$$byval_copy262+2>>0]=HEAP8[$197+2>>0]|0;HEAP8[$$byval_copy262+3>>0]=HEAP8[$197+3>>0]|0; - _DrawRectangle(898,90,150,70,$$byval_copy262); - _GetColor($198,-1092818689); - ;HEAP8[$$byval_copy262+0>>0]=HEAP8[$198+0>>0]|0;HEAP8[$$byval_copy262+1>>0]=HEAP8[$198+1>>0]|0;HEAP8[$$byval_copy262+2>>0]=HEAP8[$198+2>>0]|0;HEAP8[$$byval_copy262+3>>0]=HEAP8[$198+3>>0]|0; - _DrawRectangle(906,98,134,54,$$byval_copy262); - _GetColor($199,1098355967); - ;HEAP8[$$byval_copy262+0>>0]=HEAP8[$199+0>>0]|0;HEAP8[$$byval_copy262+1>>0]=HEAP8[$199+1>>0]|0;HEAP8[$$byval_copy262+2>>0]=HEAP8[$199+2>>0]|0;HEAP8[$$byval_copy262+3>>0]=HEAP8[$199+3>>0]|0; - _DrawText(3520,934,118,20,$$byval_copy262); - _GetColor($200,-743352321); - ;HEAP8[$$byval_copy262+0>>0]=HEAP8[$200+0>>0]|0;HEAP8[$$byval_copy262+1>>0]=HEAP8[$200+1>>0]|0;HEAP8[$$byval_copy262+2>>0]=HEAP8[$200+2>>0]|0;HEAP8[$$byval_copy262+3>>0]=HEAP8[$200+3>>0]|0; - _DrawRectangle(1073,90,150,70,$$byval_copy262); - _GetColor($201,-337793281); - ;HEAP8[$$byval_copy262+0>>0]=HEAP8[$201+0>>0]|0;HEAP8[$$byval_copy262+1>>0]=HEAP8[$201+1>>0]|0;HEAP8[$$byval_copy262+2>>0]=HEAP8[$201+2>>0]|0;HEAP8[$$byval_copy262+3>>0]=HEAP8[$201+3>>0]|0; - _DrawRectangle(1081,98,134,54,$$byval_copy262); - _GetColor($202,-1938474497); - ;HEAP8[$$byval_copy262+0>>0]=HEAP8[$202+0>>0]|0;HEAP8[$$byval_copy262+1>>0]=HEAP8[$202+1>>0]|0;HEAP8[$$byval_copy262+2>>0]=HEAP8[$202+2>>0]|0;HEAP8[$$byval_copy262+3>>0]=HEAP8[$202+3>>0]|0; - _DrawText(3528,1117,118,20,$$byval_copy262); - label = 206; - break; - } - case 3: { - $1207 = HEAP32[8>>2]|0; - $1208 = (($1207|0) / 2)&-1; - $1209 = (+($1208|0)); - ;HEAP32[$$byval_copy262+0>>2]=HEAP32[808+0>>2]|0;HEAP32[$$byval_copy262+4>>2]=HEAP32[808+4>>2]|0;HEAP32[$$byval_copy262+8>>2]=HEAP32[808+8>>2]|0;HEAP32[$$byval_copy262+12>>2]=HEAP32[808+12>>2]|0;HEAP32[$$byval_copy262+16>>2]=HEAP32[808+16>>2]|0; - $1210 = (_GetFontBaseSize($$byval_copy262)|0); - $1211 = $1210 << 2; - ;HEAP32[$$byval_copy262+0>>2]=HEAP32[808+0>>2]|0;HEAP32[$$byval_copy262+4>>2]=HEAP32[808+4>>2]|0;HEAP32[$$byval_copy262+8>>2]=HEAP32[808+8>>2]|0;HEAP32[$$byval_copy262+12>>2]=HEAP32[808+12>>2]|0;HEAP32[$$byval_copy262+16>>2]=HEAP32[808+16>>2]|0; - _MeasureTextEx($204,$$byval_copy262,3536,$1211,4); - $1212 = +HEAPF32[$204>>2]; - $1213 = $1212 * 0.5; - $1214 = $1209 - $1213; - HEAPF32[$203>>2] = $1214; - $1215 = (($203) + 4|0); - HEAPF32[$1215>>2] = 80.0; - ;HEAP32[$$byval_copy262+0>>2]=HEAP32[808+0>>2]|0;HEAP32[$$byval_copy262+4>>2]=HEAP32[808+4>>2]|0;HEAP32[$$byval_copy262+8>>2]=HEAP32[808+8>>2]|0;HEAP32[$$byval_copy262+12>>2]=HEAP32[808+12>>2]|0;HEAP32[$$byval_copy262+16>>2]=HEAP32[808+16>>2]|0; - $1216 = (_GetFontBaseSize($$byval_copy262)|0); - $1217 = $1216 << 2; - HEAP8[$205>>0] = -66; - $1218 = (($205) + 1|0); - HEAP8[$1218>>0] = 33; - $1219 = (($205) + 2|0); - HEAP8[$1219>>0] = 55; - $1220 = (($205) + 3|0); - HEAP8[$1220>>0] = -1; - ;HEAP32[$fontAlagard$byval_copy247+0>>2]=HEAP32[808+0>>2]|0;HEAP32[$fontAlagard$byval_copy247+4>>2]=HEAP32[808+4>>2]|0;HEAP32[$fontAlagard$byval_copy247+8>>2]=HEAP32[808+8>>2]|0;HEAP32[$fontAlagard$byval_copy247+12>>2]=HEAP32[808+12>>2]|0;HEAP32[$fontAlagard$byval_copy247+16>>2]=HEAP32[808+16>>2]|0; - ;HEAP32[$pongEnemyRec$byval_copy257+0>>2]=HEAP32[$203+0>>2]|0;HEAP32[$pongEnemyRec$byval_copy257+4>>2]=HEAP32[$203+4>>2]|0; - ;HEAP8[$$byval_copy262+0>>0]=HEAP8[$205+0>>0]|0;HEAP8[$$byval_copy262+1>>0]=HEAP8[$205+1>>0]|0;HEAP8[$$byval_copy262+2>>0]=HEAP8[$205+2>>0]|0;HEAP8[$$byval_copy262+3>>0]=HEAP8[$205+3>>0]|0; - _DrawTextEx($fontAlagard$byval_copy247,3536,$pongEnemyRec$byval_copy257,$1217,4,$$byval_copy262); - $1221 = HEAP32[1136>>2]|0; - $1222 = HEAP32[1144>>2]|0; - $1223 = (($1222) + -40)|0; - HEAP32[$206>>2] = -1; - ;HEAP32[$pongEnemyRec$byval_copy257+0>>2]=HEAP32[2360+0>>2]|0;HEAP32[$pongEnemyRec$byval_copy257+4>>2]=HEAP32[2360+4>>2]|0;HEAP32[$pongEnemyRec$byval_copy257+8>>2]=HEAP32[2360+8>>2]|0; - ;HEAP8[$$byval_copy262+0>>0]=HEAP8[$206+0>>0]|0;HEAP8[$$byval_copy262+1>>0]=HEAP8[$206+1>>0]|0;HEAP8[$$byval_copy262+2>>0]=HEAP8[$206+2>>0]|0;HEAP8[$$byval_copy262+3>>0]=HEAP8[$206+3>>0]|0; - _DrawTexture($pongEnemyRec$byval_copy257,$1221,$1223,$$byval_copy262); - $1224 = HEAP32[8>>2]|0; - $1225 = (($1224|0) / 2)&-1; - $1226 = (_MeasureText(128,40)|0); - $1227 = (($1226|0) / 2)&-1; - $1228 = (($1225) - ($1227))|0; - HEAP8[$207>>0] = 80; - $1229 = (($207) + 1|0); - HEAP8[$1229>>0] = 80; - $1230 = (($207) + 2|0); - HEAP8[$1230>>0] = 80; - $1231 = (($207) + 3|0); - HEAP8[$1231>>0] = -1; - ;HEAP8[$$byval_copy262+0>>0]=HEAP8[$207+0>>0]|0;HEAP8[$$byval_copy262+1>>0]=HEAP8[$207+1>>0]|0;HEAP8[$$byval_copy262+2>>0]=HEAP8[$207+2>>0]|0;HEAP8[$$byval_copy262+3>>0]=HEAP8[$207+3>>0]|0; - _DrawText(128,$1228,470,40,$$byval_copy262); - $1232 = HEAP32[768>>2]|0; - $1233 = ($1232|0)>(60); - if ($1233) { - $1234 = HEAP32[8>>2]|0; - $1235 = (($1234|0) / 2)&-1; - $1236 = (_MeasureText(88,30)|0); - $1237 = (($1236|0) / 2)&-1; - $1238 = (($1235) - ($1237))|0; - HEAP8[$208>>0] = -126; - $1239 = (($208) + 1|0); - HEAP8[$1239>>0] = -126; - $1240 = (($208) + 2|0); - HEAP8[$1240>>0] = -126; - $1241 = (($208) + 3|0); - HEAP8[$1241>>0] = -1; - ;HEAP8[$$byval_copy262+0>>0]=HEAP8[$208+0>>0]|0;HEAP8[$$byval_copy262+1>>0]=HEAP8[$208+1>>0]|0;HEAP8[$$byval_copy262+2>>0]=HEAP8[$208+2>>0]|0;HEAP8[$$byval_copy262+3>>0]=HEAP8[$208+3>>0]|0; - _DrawText(88,$1238,550,30,$$byval_copy262); - $$pr34 = HEAP32[768>>2]|0; - $1242 = ($$pr34|0)>(120); - if ($1242) { - $1243 = (($$pr34|0) / 30)&-1; - $1244 = $1243 & 1; - $1245 = ($1244|0)==(0); - if ($1245) { - label = 206; - } else { - $1246 = HEAP32[8>>2]|0; - $1247 = (($1246|0) / 2)&-1; - $1248 = (_MeasureText(2488,20)|0); - $1249 = (($1248|0) / 2)&-1; - $1250 = (($1247) - ($1249))|0; - HEAP8[$209>>0] = -56; - $1251 = (($209) + 1|0); - HEAP8[$1251>>0] = -56; - $1252 = (($209) + 2|0); - HEAP8[$1252>>0] = -56; - $1253 = (($209) + 3|0); - HEAP8[$1253>>0] = -1; - ;HEAP8[$$byval_copy262+0>>0]=HEAP8[$209+0>>0]|0;HEAP8[$$byval_copy262+1>>0]=HEAP8[$209+1>>0]|0;HEAP8[$$byval_copy262+2>>0]=HEAP8[$209+2>>0]|0;HEAP8[$$byval_copy262+3>>0]=HEAP8[$209+3>>0]|0; - _DrawText(2488,$1250,640,20,$$byval_copy262); - label = 206; - } - } else { - label = 206; - } - } else { - label = 206; - } - break; - } - case 4: { - HEAP8[$210>>0] = -56; - $1254 = (($210) + 1|0); - HEAP8[$1254>>0] = -56; - $1255 = (($210) + 2|0); - HEAP8[$1255>>0] = -56; - $1256 = (($210) + 3|0); - HEAP8[$1256>>0] = -1; - ;HEAP32[$pongEnemyRec$byval_copy257+0>>2]=HEAP32[1088+0>>2]|0;HEAP32[$pongEnemyRec$byval_copy257+4>>2]=HEAP32[1088+4>>2]|0; - ;HEAP8[$$byval_copy262+0>>0]=HEAP8[$210+0>>0]|0;HEAP8[$$byval_copy262+1>>0]=HEAP8[$210+1>>0]|0;HEAP8[$$byval_copy262+2>>0]=HEAP8[$210+2>>0]|0;HEAP8[$$byval_copy262+3>>0]=HEAP8[$210+3>>0]|0; - _DrawCircleV($pongEnemyRec$byval_copy257,10.0,$$byval_copy262); - HEAP8[$211>>0] = -126; - $1257 = (($211) + 1|0); - HEAP8[$1257>>0] = -126; - $1258 = (($211) + 2|0); - HEAP8[$1258>>0] = -126; - $1259 = (($211) + 3|0); - HEAP8[$1259>>0] = -1; - ;HEAP32[$pongEnemyRec$byval_copy257+0>>2]=HEAP32[1104+0>>2]|0;HEAP32[$pongEnemyRec$byval_copy257+4>>2]=HEAP32[1104+4>>2]|0;HEAP32[$pongEnemyRec$byval_copy257+8>>2]=HEAP32[1104+8>>2]|0;HEAP32[$pongEnemyRec$byval_copy257+12>>2]=HEAP32[1104+12>>2]|0; - ;HEAP8[$$byval_copy262+0>>0]=HEAP8[$211+0>>0]|0;HEAP8[$$byval_copy262+1>>0]=HEAP8[$211+1>>0]|0;HEAP8[$$byval_copy262+2>>0]=HEAP8[$211+2>>0]|0;HEAP8[$$byval_copy262+3>>0]=HEAP8[$211+3>>0]|0; - _DrawRectangleRec($pongEnemyRec$byval_copy257,$$byval_copy262); - HEAP8[$212>>0] = -126; - $1260 = (($212) + 1|0); - HEAP8[$1260>>0] = -126; - $1261 = (($212) + 2|0); - HEAP8[$1261>>0] = -126; - $1262 = (($212) + 3|0); - HEAP8[$1262>>0] = -1; - ;HEAP32[$pongEnemyRec$byval_copy257+0>>2]=HEAP32[1120+0>>2]|0;HEAP32[$pongEnemyRec$byval_copy257+4>>2]=HEAP32[1120+4>>2]|0;HEAP32[$pongEnemyRec$byval_copy257+8>>2]=HEAP32[1120+8>>2]|0;HEAP32[$pongEnemyRec$byval_copy257+12>>2]=HEAP32[1120+12>>2]|0; - ;HEAP8[$$byval_copy262+0>>0]=HEAP8[$212+0>>0]|0;HEAP8[$$byval_copy262+1>>0]=HEAP8[$212+1>>0]|0;HEAP8[$$byval_copy262+2>>0]=HEAP8[$212+2>>0]|0;HEAP8[$$byval_copy262+3>>0]=HEAP8[$212+3>>0]|0; - _DrawRectangleRec($pongEnemyRec$byval_copy257,$$byval_copy262); - $1263 = HEAP32[448>>2]|0; - HEAP32[$$byval_copy262>>2] = $1263; - $1264 = (_FormatText(3568,$$byval_copy262)|0); - HEAP8[$213>>0] = -56; - $1265 = (($213) + 1|0); - HEAP8[$1265>>0] = -56; - $1266 = (($213) + 2|0); - HEAP8[$1266>>0] = -56; - $1267 = (($213) + 3|0); - HEAP8[$1267>>0] = -1; - ;HEAP8[$$byval_copy262+0>>0]=HEAP8[$213+0>>0]|0;HEAP8[$$byval_copy262+1>>0]=HEAP8[$213+1>>0]|0;HEAP8[$$byval_copy262+2>>0]=HEAP8[$213+2>>0]|0;HEAP8[$$byval_copy262+3>>0]=HEAP8[$213+3>>0]|0; - _DrawText($1264,150,10,80,$$byval_copy262); - $1268 = HEAP32[456>>2]|0; - HEAP32[$$byval_copy262>>2] = $1268; - $1269 = (_FormatText(3568,$$byval_copy262)|0); - $1270 = HEAP32[8>>2]|0; - $1271 = (_MeasureText(3576,80)|0); - $1272 = (($1270) + -150)|0; - $1273 = (($1272) - ($1271))|0; - HEAP8[$214>>0] = -56; - $1274 = (($214) + 1|0); - HEAP8[$1274>>0] = -56; - $1275 = (($214) + 2|0); - HEAP8[$1275>>0] = -56; - $1276 = (($214) + 3|0); - HEAP8[$1276>>0] = -1; - ;HEAP8[$$byval_copy262+0>>0]=HEAP8[$214+0>>0]|0;HEAP8[$$byval_copy262+1>>0]=HEAP8[$214+1>>0]|0;HEAP8[$$byval_copy262+2>>0]=HEAP8[$214+2>>0]|0;HEAP8[$$byval_copy262+3>>0]=HEAP8[$214+3>>0]|0; - _DrawText($1269,$1273,10,80,$$byval_copy262); - $1277 = HEAP32[480>>2]|0; - $1278 = ($1277|0)==(0); - if ($1278) { - label = 206; - } else { - $1279 = HEAP32[768>>2]|0; - $1280 = (($1279|0) / 30)&-1; - $1281 = $1280 & 1; - $1282 = ($1281|0)==(0); - if ($1282) { - label = 206; - } else { - $1283 = HEAP32[8>>2]|0; - $1284 = (($1283|0) / 2)&-1; - $1285 = (($1284) + -100)|0; - HEAP8[$215>>0] = -66; - $1286 = (($215) + 1|0); - HEAP8[$1286>>0] = 33; - $1287 = (($215) + 2|0); - HEAP8[$1287>>0] = 55; - $1288 = (($215) + 3|0); - HEAP8[$1288>>0] = -1; - ;HEAP8[$$byval_copy262+0>>0]=HEAP8[$215+0>>0]|0;HEAP8[$$byval_copy262+1>>0]=HEAP8[$215+1>>0]|0;HEAP8[$$byval_copy262+2>>0]=HEAP8[$215+2>>0]|0;HEAP8[$$byval_copy262+3>>0]=HEAP8[$215+3>>0]|0; - _DrawText(3584,$1285,40,20,$$byval_copy262); - label = 206; - } - } - break; - } - default: { - label = 207; - } - } - } while(0); - if ((label|0) == 206) { - $$pr37 = HEAP32[424>>2]|0; - $1289 = ($$pr37|0)==(0); - if (!($1289)) { - label = 207; - } - } - if ((label|0) == 207) { - $1290 = HEAP32[16>>2]|0; - $1291 = (($1290) + -10)|0; - $1292 = HEAP32[416>>2]|0; - $1293 = (+($1292|0)); - $1294 = HEAP32[408>>2]|0; - $1295 = (+($1294|0)); - $1296 = $1293 / $1295; - $1297 = HEAP32[8>>2]|0; - $1298 = (+($1297|0)); - $1299 = $1296 * $1298; - $1300 = (~~(($1299))); - HEAP8[$216>>0] = -56; - $1301 = (($216) + 1|0); - HEAP8[$1301>>0] = -56; - $1302 = (($216) + 2|0); - HEAP8[$1302>>0] = -56; - $1303 = (($216) + 3|0); - HEAP8[$1303>>0] = -1; - ;HEAP8[$$byval_copy262+0>>0]=HEAP8[$216+0>>0]|0;HEAP8[$$byval_copy262+1>>0]=HEAP8[$216+1>>0]|0;HEAP8[$$byval_copy262+2>>0]=HEAP8[$216+2>>0]|0;HEAP8[$$byval_copy262+3>>0]=HEAP8[$216+3>>0]|0; - _DrawRectangle(0,$1291,$1300,10,$$byval_copy262); - } - $1304 = HEAP32[736>>2]|0; - $1305 = ($1304|0)==(0); - if ($1305) { - _EndDrawing(); - STACKTOP = sp;return; - } - _DrawTransition(); - _EndDrawing(); - STACKTOP = sp;return; -} -function _TransitionToScreen($screen) { - $screen = $screen|0; - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - HEAP32[736>>2] = 1; - $0 = HEAP32[424>>2]|0; - HEAP32[752>>2] = $0; - HEAP32[760>>2] = $screen; - STACKTOP = sp;return; -} -function _UpdateTransition() { - var $0 = 0, $1 = 0, $2 = 0.0, $3 = 0.0, $4 = 0, $5 = 0, $6 = 0.0, $7 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[744>>2]|0; - $1 = ($0|0)==(0); - $2 = +HEAPF32[728>>2]; - if ($1) { - $3 = $2 + 0.0199999995529651641846; - HEAPF32[728>>2] = $3; - $4 = !($3 >= 1.0); - if ($4) { - STACKTOP = sp;return; - } - HEAPF32[728>>2] = 1.0; - $5 = HEAP32[760>>2]|0; - HEAP32[424>>2] = $5; - HEAP32[744>>2] = 1; - HEAP32[768>>2] = 0; - STACKTOP = sp;return; - } else { - $6 = $2 + -0.0199999995529651641846; - HEAPF32[728>>2] = $6; - $7 = !($6 <= 0.0); - if ($7) { - STACKTOP = sp;return; - } - HEAPF32[728>>2] = 0.0; - HEAP32[744>>2] = 0; - HEAP32[736>>2] = 0; - HEAP32[752>>2] = -1; - HEAP32[760>>2] = -1; - STACKTOP = sp;return; - } -} -function _DrawTransition() { - var $$byval_copy1 = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); - $$byval_copy1 = sp + 8|0; - $0 = sp; - $1 = sp + 4|0; - $2 = (_GetScreenWidth()|0); - $3 = (_GetScreenHeight()|0); - HEAP8[$1>>0] = -11; - $4 = (($1) + 1|0); - HEAP8[$4>>0] = -11; - $5 = (($1) + 2|0); - HEAP8[$5>>0] = -11; - $6 = (($1) + 3|0); - HEAP8[$6>>0] = -1; - $7 = +HEAPF32[728>>2]; - ;HEAP8[$$byval_copy1+0>>0]=HEAP8[$1+0>>0]|0;HEAP8[$$byval_copy1+1>>0]=HEAP8[$1+1>>0]|0;HEAP8[$$byval_copy1+2>>0]=HEAP8[$1+2>>0]|0;HEAP8[$$byval_copy1+3>>0]=HEAP8[$1+3>>0]|0; - _Fade($0,$$byval_copy1,$7); - ;HEAP8[$$byval_copy1+0>>0]=HEAP8[$0+0>>0]|0;HEAP8[$$byval_copy1+1>>0]=HEAP8[$0+1>>0]|0;HEAP8[$$byval_copy1+2>>0]=HEAP8[$0+2>>0]|0;HEAP8[$$byval_copy1+3>>0]=HEAP8[$0+3>>0]|0; - _DrawRectangle(0,0,$2,$3,$$byval_copy1); - STACKTOP = sp;return; -} -function _InitWindow($width,$height,$title) { - $width = $width|0; - $height = $height|0; - $title = $title|0; - var $0 = 0, $1 = 0, $2 = 0.0, $3 = 0, $4 = 0, $5 = 0.0, $6 = 0, $7 = 0, label = 0, sp = 0; - sp = STACKTOP; - HEAP32[3600>>2] = $title; - _InitDisplay($width,$height); - _InitGraphics(); - _LoadDefaultFont(); - _InitTimer(); - $0 = HEAP32[3608>>2]|0; - $1 = (($0|0) / 2)&-1; - $2 = (+($1|0)); - HEAPF32[3616>>2] = $2; - $3 = HEAP32[3624>>2]|0; - $4 = (($3|0) / 2)&-1; - $5 = (+($4|0)); - HEAPF32[((3616 + 4|0))>>2] = $5; - $6 = HEAP32[3632>>2]|0; - $7 = ($6|0)==(0); - if ($7) { - STACKTOP = sp;return; - } - _SetTargetFPS(60); - _LogoAnimation(); - STACKTOP = sp;return; -} -function _InitDisplay($width,$height) { - $width = $width|0; - $height = $height|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer12 = 0, $vararg_ptr11 = 0, $vararg_ptr15 = 0; - var $vararg_ptr7 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); - $vararg_buffer12 = sp; - $0 = sp + 8|0; - HEAP32[3608>>2] = $width; - HEAP32[3624>>2] = $height; - _MatrixIdentity($0); - dest=3720+0|0; src=$0+0|0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - (_glfwSetErrorCallback((2|0))|0); - $1 = (_glfwInit()|0); - $2 = ($1|0)==(0); - if ($2) { - _TraceLog(1,4944,$vararg_buffer12); - } - $3 = HEAP32[3608>>2]|0; - HEAP32[4976>>2] = $3; - $4 = HEAP32[3624>>2]|0; - HEAP32[4984>>2] = $4; - _glfwDefaultWindowHints(); - _glfwWindowHint(131075,0); - $5 = (_rlGetVersion()|0); - $6 = ($5|0)==(2); - if ($6) { - _glfwWindowHint(139266,3); - _glfwWindowHint(139267,3); - _glfwWindowHint(139272,204801); - _glfwWindowHint(139270,0); - } - $7 = HEAP32[3856>>2]|0; - $8 = ($7|0)==(0); - if ($8) { - $16 = HEAP32[3608>>2]|0; - $17 = HEAP32[3624>>2]|0; - $18 = HEAP32[3600>>2]|0; - $19 = (_glfwCreateWindow(($16|0),($17|0),($18|0),(0|0),(0|0))|0); - HEAP32[3640>>2] = $19; - $20 = HEAP32[3608>>2]|0; - HEAP32[4928>>2] = $20; - $21 = HEAP32[3624>>2]|0; - HEAP32[4936>>2] = $21; - $23 = $19; - } else { - $9 = HEAP32[4976>>2]|0; - $10 = HEAP32[4984>>2]|0; - _SetupFramebufferSize($9,$10); - $11 = HEAP32[4928>>2]|0; - $12 = HEAP32[4936>>2]|0; - $13 = HEAP32[3600>>2]|0; - $14 = (_glfwGetPrimaryMonitor()|0); - $15 = (_glfwCreateWindow(($11|0),($12|0),($13|0),($14|0),(0|0))|0); - HEAP32[3640>>2] = $15; - $23 = $15; - } - $22 = ($23|0)==(0|0); - if ($22) { - _glfwTerminate(); - _TraceLog(1,4992,$vararg_buffer12); - } else { - _TraceLog(0,5032,$vararg_buffer12); - $24 = HEAP32[4928>>2]|0; - $25 = HEAP32[4936>>2]|0; - HEAP32[$vararg_buffer12>>2] = $24; - $vararg_ptr7 = (($vararg_buffer12) + 4|0); - HEAP32[$vararg_ptr7>>2] = $25; - _TraceLog(0,5072,$vararg_buffer12); - $26 = HEAP32[3608>>2]|0; - $27 = HEAP32[3624>>2]|0; - HEAP32[$vararg_buffer12>>2] = $26; - $vararg_ptr11 = (($vararg_buffer12) + 4|0); - HEAP32[$vararg_ptr11>>2] = $27; - _TraceLog(0,5096,$vararg_buffer12); - $28 = HEAP32[4912>>2]|0; - $29 = HEAP32[4920>>2]|0; - HEAP32[$vararg_buffer12>>2] = $28; - $vararg_ptr15 = (($vararg_buffer12) + 4|0); - HEAP32[$vararg_ptr15>>2] = $29; - _TraceLog(0,5120,$vararg_buffer12); - } - $30 = HEAP32[3640>>2]|0; - (_glfwSetWindowSizeCallback(($30|0),(1|0))|0); - $31 = HEAP32[3640>>2]|0; - (_glfwSetCursorEnterCallback(($31|0),(3|0))|0); - $32 = HEAP32[3640>>2]|0; - (_glfwSetKeyCallback(($32|0),(1|0))|0); - $33 = HEAP32[3640>>2]|0; - (_glfwSetMouseButtonCallback(($33|0),(1|0))|0); - $34 = HEAP32[3640>>2]|0; - (_glfwSetCharCallback(($34|0),(4|0))|0); - $35 = HEAP32[3640>>2]|0; - (_glfwSetScrollCallback(($35|0),(1|0))|0); - $36 = HEAP32[3640>>2]|0; - _glfwMakeContextCurrent(($36|0)); - STACKTOP = sp;return; -} -function _InitGraphics() { - var $$byval_copy = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); - $$byval_copy = sp + 4|0; - $0 = sp; - _rlglInit(); - $1 = HEAP32[4912>>2]|0; - $2 = HEAP32[4920>>2]|0; - $3 = HEAP32[4928>>2]|0; - $4 = HEAP32[4936>>2]|0; - _rlglInitGraphics($1,$2,$3,$4); - HEAP8[$0>>0] = -11; - $5 = (($0) + 1|0); - HEAP8[$5>>0] = -11; - $6 = (($0) + 2|0); - HEAP8[$6>>0] = -11; - $7 = (($0) + 3|0); - HEAP8[$7>>0] = -1; - ;HEAP8[$$byval_copy+0>>0]=HEAP8[$0+0>>0]|0;HEAP8[$$byval_copy+1>>0]=HEAP8[$0+1>>0]|0;HEAP8[$$byval_copy+2>>0]=HEAP8[$0+2>>0]|0;HEAP8[$$byval_copy+3>>0]=HEAP8[$0+3>>0]|0; - _ClearBackground($$byval_copy); - STACKTOP = sp;return; -} -function _InitTimer() { - var $0 = 0, $1 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_time((0|0))|0); - _srand($0); - $1 = (+_GetTime()); - HEAPF64[3704>>3] = $1; - STACKTOP = sp;return; -} -function _SetTargetFPS($fps) { - $fps = $fps|0; - var $0 = 0.0, $1 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); - $vararg_buffer = sp; - $0 = (+($fps|0)); - $1 = 1.0 / $0; - $2 = $1; - HEAPF64[3800>>3] = $2; - $3 = $1 * 1000.0; - $4 = $3; - HEAPF64[tempDoublePtr>>3]=$4;HEAP32[$vararg_buffer>>2]=HEAP32[tempDoublePtr>>2];HEAP32[$vararg_buffer+4>>2]=HEAP32[tempDoublePtr+4>>2]; - _TraceLog(0,3808,$vararg_buffer); - STACKTOP = sp;return; -} -function _LogoAnimation() { - var label = 0, sp = 0; - sp = STACKTOP; - HEAP32[3632>>2] = 0; - STACKTOP = sp;return; -} -function _CloseWindow() { - var $0 = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); - $vararg_buffer = sp; - _UnloadDefaultFont(); - _rlglClose(); - $0 = HEAP32[3640>>2]|0; - _glfwDestroyWindow(($0|0)); - _glfwTerminate(); - _TraceLog(0,3648,$vararg_buffer); - STACKTOP = sp;return; -} -function _GetScreenWidth() { - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[3608>>2]|0; - STACKTOP = sp;return ($0|0); -} -function _GetScreenHeight() { - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[3624>>2]|0; - STACKTOP = sp;return ($0|0); -} -function _ClearBackground($color) { - $color = $color|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP8[$color>>0]|0; - $1 = (($color) + 1|0); - $2 = HEAP8[$1>>0]|0; - $3 = (($color) + 2|0); - $4 = HEAP8[$3>>0]|0; - $5 = (($color) + 3|0); - $6 = HEAP8[$5>>0]|0; - _rlClearColor($0,$2,$4,$6); - STACKTOP = sp;return; -} -function _BeginDrawing() { - var $0 = 0.0, $1 = 0.0, $2 = 0.0, $3 = 0, $downscaleView$byval_copy = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); - $downscaleView$byval_copy = sp; - $0 = (+_GetTime()); - HEAPF64[3696>>3] = $0; - $1 = +HEAPF64[3704>>3]; - $2 = $0 - $1; - HEAPF64[3712>>3] = $2; - HEAPF64[3704>>3] = $0; - _rlClearScreenBuffers(); - _rlLoadIdentity(); - dest=$downscaleView$byval_copy+0|0; src=3720+0|0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $3 = (_GetMatrixVector($downscaleView$byval_copy)|0); - _rlMultMatrixf($3); - STACKTOP = sp;return; -} -function _GetTime() { - var $0 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (+_glfwGetTime()); - STACKTOP = sp;return (+$0); -} -function _EndDrawing() { - var $0 = 0.0, $1 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - _rlglDraw(); - _SwapBuffers(); - _PollInputEvents(); - _UpdateMusicStream(); - $0 = (+_GetTime()); - HEAPF64[3696>>3] = $0; - $1 = +HEAPF64[3704>>3]; - $2 = $0 - $1; - HEAPF64[3784>>3] = $2; - HEAPF64[3704>>3] = $0; - $3 = +HEAPF64[3712>>3]; - $4 = $3 + $2; - HEAPF64[3792>>3] = $4; - $5 = +HEAPF64[3800>>3]; - $6 = $4 < $5; - if (!($6)) { - STACKTOP = sp;return; - } - while(1) { - $7 = (+_GetTime()); - HEAPF64[3696>>3] = $7; - $8 = +HEAPF64[3704>>3]; - $9 = $7 - $8; - HEAPF64[3704>>3] = $7; - $10 = +HEAPF64[3792>>3]; - $11 = $10 + $9; - HEAPF64[3792>>3] = $11; - $12 = +HEAPF64[3800>>3]; - $13 = $11 < $12; - if (!($13)) { - break; - } - } - STACKTOP = sp;return; -} -function _SwapBuffers() { - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[3640>>2]|0; - _glfwSwapBuffers(($0|0)); - STACKTOP = sp;return; -} -function _PollInputEvents() { - var $0 = 0, $1 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $mouseX = 0, $mouseY = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); - $mouseX = sp + 8|0; - $mouseY = sp; - $0 = HEAP32[3640>>2]|0; - _glfwGetCursorPos(($0|0),($mouseX|0),($mouseY|0)); - $1 = +HEAPF64[$mouseX>>3]; - $2 = $1; - HEAPF32[3616>>2] = $2; - $3 = +HEAPF64[$mouseY>>3]; - $4 = $3; - HEAPF32[((3616 + 4|0))>>2] = $4; - HEAP32[3688>>2] = -1; - _memcpy((4376|0),(3864|0),512)|0; - ;HEAP8[4896+0>>0]=HEAP8[4888+0>>0]|0;HEAP8[4896+1>>0]=HEAP8[4888+1>>0]|0;HEAP8[4896+2>>0]=HEAP8[4888+2>>0]|0; - _glfwPollEvents(); - STACKTOP = sp;return; -} -function _Begin3dMode($camera) { - $camera = $camera|0; - var $$byval_copy = 0, $$byval_copy1 = 0, $0 = 0, $1 = 0.0, $10 = 0, $2 = 0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0, $matLookAt = 0, $matLookAt$byval_copy = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 160|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); - $matLookAt$byval_copy = sp + 88|0; - $$byval_copy1 = sp; - $$byval_copy = sp + 12|0; - $matLookAt = sp + 24|0; - _rlglDraw(); - _rlMatrixMode(0); - _rlPushMatrix(); - _rlLoadIdentity(); - $0 = HEAP32[3608>>2]|0; - $1 = (+($0|0)); - $2 = HEAP32[3624>>2]|0; - $3 = (+($2|0)); - $4 = $1 / $3; - $5 = $4; - $6 = $5 * 0.0414213568545358096218; - $7 = -$6; - _rlFrustum($7,$6,-0.0414213568545358096218,0.0414213568545358096218,0.100000001490116119385,1000.0); - _rlMatrixMode(1); - _rlLoadIdentity(); - $8 = (($camera) + 12|0); - $9 = (($camera) + 24|0); - ;HEAP32[$$byval_copy+0>>2]=HEAP32[$camera+0>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$camera+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$camera+8>>2]|0; - ;HEAP32[$$byval_copy1+0>>2]=HEAP32[$8+0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$8+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$8+8>>2]|0; - ;HEAP32[$matLookAt$byval_copy+0>>2]=HEAP32[$9+0>>2]|0;HEAP32[$matLookAt$byval_copy+4>>2]=HEAP32[$9+4>>2]|0;HEAP32[$matLookAt$byval_copy+8>>2]=HEAP32[$9+8>>2]|0; - _MatrixLookAt($matLookAt,$$byval_copy,$$byval_copy1,$matLookAt$byval_copy); - dest=$matLookAt$byval_copy+0|0; src=$matLookAt+0|0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $10 = (_GetMatrixVector($matLookAt$byval_copy)|0); - _rlMultMatrixf($10); - STACKTOP = sp;return; -} -function _End3dMode() { - var label = 0, sp = 0; - sp = STACKTOP; - _rlglDraw(); - _rlMatrixMode(0); - _rlPopMatrix(); - _rlMatrixMode(1); - _rlLoadIdentity(); - STACKTOP = sp;return; -} -function _GetFPS() { - var $0 = 0.0, $1 = 0.0, $2 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $0 = +HEAPF64[3792>>3]; - $1 = $0; - $2 = 1.0 / $1; - STACKTOP = sp;return (+$2); -} -function _GetColor($agg$result,$hexValue) { - $agg$result = $agg$result|0; - $hexValue = $hexValue|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = $hexValue >>> 24; - $1 = $0&255; - $2 = $hexValue >>> 16; - $3 = $2&255; - $4 = $hexValue >>> 8; - $5 = $4&255; - $6 = $hexValue&255; - HEAP8[$agg$result>>0] = $1; - $7 = (($agg$result) + 1|0); - HEAP8[$7>>0] = $3; - $8 = (($agg$result) + 2|0); - HEAP8[$8>>0] = $5; - $9 = (($agg$result) + 3|0); - HEAP8[$9>>0] = $6; - STACKTOP = sp;return; -} -function _GetRandomValue($min,$max) { - $min = $min|0; - $max = $max|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $ispos = 0, $max$min = 0, $min$max = 0, $neg = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ($min|0)>($max|0); - $min$max = $0 ? $min : $max; - $max$min = $0 ? $max : $min; - $1 = (_rand()|0); - $2 = (($min$max) - ($max$min))|0; - $ispos = ($2|0)>(-1); - $neg = (0 - ($2))|0; - $3 = $ispos ? $2 : $neg; - $4 = (($3) + 1)|0; - $5 = (($1|0) % ($4|0))&-1; - $6 = (($5) + ($max$min))|0; - STACKTOP = sp;return ($6|0); -} -function _Fade($agg$result,$color,$alpha) { - $agg$result = $agg$result|0; - $color = $color|0; - $alpha = +$alpha; - var $$0 = 0.0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0.0, $14 = 0.0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = $alpha < 0.0; - if ($0) { - $$0 = 0.0; - } else { - $1 = $alpha > 1.0; - if ($1) { - $$0 = 1.0; - } else { - $$0 = $alpha; - } - } - $2 = HEAP8[$color>>0]|0; - HEAP8[$agg$result>>0] = $2; - $3 = (($agg$result) + 1|0); - $4 = (($color) + 1|0); - $5 = HEAP8[$4>>0]|0; - HEAP8[$3>>0] = $5; - $6 = (($agg$result) + 2|0); - $7 = (($color) + 2|0); - $8 = HEAP8[$7>>0]|0; - HEAP8[$6>>0] = $8; - $9 = (($agg$result) + 3|0); - $10 = (($color) + 3|0); - $11 = HEAP8[$10>>0]|0; - $12 = $11&255; - $13 = (+($12|0)); - $14 = $$0 * $13; - $15 = (~~(($14))&255); - HEAP8[$9>>0] = $15; - STACKTOP = sp;return; -} -function _IsKeyPressed($key) { - $key = $key|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $or$cond = 0, $pressed$0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (3864 + ($key)|0); - $1 = HEAP8[$0>>0]|0; - $2 = (4376 + ($key)|0); - $3 = HEAP8[$2>>0]|0; - $4 = ($1<<24>>24)!=($3<<24>>24); - $5 = ($1<<24>>24)==(1); - $or$cond = $4 & $5; - $pressed$0 = $or$cond&1; - STACKTOP = sp;return ($pressed$0|0); -} -function _IsKeyDown($key) { - $key = $key|0; - var $$ = 0, $0 = 0, $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_GetKeyStatus($key)|0); - $1 = ($0|0)==(1); - $$ = $1&1; - STACKTOP = sp;return ($$|0); -} -function _GetKeyStatus($key) { - $key = $key|0; - var $0 = 0, $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[3640>>2]|0; - $1 = (_glfwGetKey(($0|0),($key|0))|0); - STACKTOP = sp;return ($1|0); -} -function _ErrorCallback($error,$description) { - $error = $error|0; - $description = $description|0; - var $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); - $vararg_buffer = sp; - HEAP32[$vararg_buffer>>2] = $error; - $vararg_ptr1 = (($vararg_buffer) + 4|0); - HEAP32[$vararg_ptr1>>2] = $description; - _TraceLog(2,5376,$vararg_buffer); - STACKTOP = sp;return; -} -function _SetupFramebufferSize($displayWidth,$displayHeight) { - $displayWidth = $displayWidth|0; - $displayHeight = $displayHeight|0; - var $0 = 0, $1 = 0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0.0, $18 = 0.0, $19 = 0, $2 = 0, $20 = 0, $21 = 0.0, $22 = 0, $23 = 0, $24 = 0, $25 = 0.0, $26 = 0; - var $27 = 0.0, $28 = 0.0, $29 = 0, $3 = 0, $30 = 0, $31 = 0.0, $32 = 0.0, $33 = 0.0, $34 = 0, $35 = 0.0, $36 = 0, $37 = 0.0, $38 = 0.0, $39 = 0, $4 = 0, $40 = 0, $41 = 0.0, $42 = 0.0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0.0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, $or$cond = 0, $storemerge = 0, $vararg_buffer8 = 0, $vararg_ptr1 = 0, $vararg_ptr11 = 0, $vararg_ptr12 = 0, $vararg_ptr13 = 0, $vararg_ptr2 = 0; - var $vararg_ptr3 = 0, $vararg_ptr7 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); - $vararg_buffer8 = sp; - $0 = sp + 16|0; - $1 = HEAP32[3608>>2]|0; - $2 = ($1|0)>($displayWidth|0); - if (!($2)) { - $3 = HEAP32[3624>>2]|0; - $4 = ($3|0)>($displayHeight|0); - if (!($4)) { - $29 = ($1|0)<($displayWidth|0); - $30 = ($3|0)<($displayHeight|0); - $or$cond = $29 | $30; - if (!($or$cond)) { - HEAP32[4928>>2] = $1; - $51 = HEAP32[3624>>2]|0; - HEAP32[4936>>2] = $51; - HEAP32[4912>>2] = 0; - HEAP32[4920>>2] = 0; - STACKTOP = sp;return; - } - HEAP32[$vararg_buffer8>>2] = $1; - $vararg_ptr11 = (($vararg_buffer8) + 4|0); - HEAP32[$vararg_ptr11>>2] = $3; - $vararg_ptr12 = (($vararg_buffer8) + 8|0); - HEAP32[$vararg_ptr12>>2] = $displayWidth; - $vararg_ptr13 = (($vararg_buffer8) + 12|0); - HEAP32[$vararg_ptr13>>2] = $displayHeight; - _TraceLog(0,5304,$vararg_buffer8); - $31 = (+($displayWidth|0)); - $32 = (+($displayHeight|0)); - $33 = $31 / $32; - $34 = HEAP32[3608>>2]|0; - $35 = (+($34|0)); - $36 = HEAP32[3624>>2]|0; - $37 = (+($36|0)); - $38 = $35 / $37; - $39 = !($33 <= $38); - if ($39) { - $46 = $33 * $37; - $47 = (~~(($46))); - HEAP32[4928>>2] = $47; - $48 = HEAP32[3624>>2]|0; - HEAP32[4936>>2] = $48; - $49 = HEAP32[3608>>2]|0; - $50 = (($47) - ($49))|0; - HEAP32[4912>>2] = $50; - HEAP32[4920>>2] = 0; - STACKTOP = sp;return; - } else { - HEAP32[4928>>2] = $34; - $40 = HEAP32[3608>>2]|0; - $41 = (+($40|0)); - $42 = $41 / $33; - $43 = (~~(($42))); - HEAP32[4936>>2] = $43; - HEAP32[4912>>2] = 0; - $44 = HEAP32[3624>>2]|0; - $45 = (($43) - ($44))|0; - HEAP32[4920>>2] = $45; - STACKTOP = sp;return; - } - } - } - $5 = HEAP32[3608>>2]|0; - $6 = HEAP32[3624>>2]|0; - HEAP32[$vararg_buffer8>>2] = $5; - $vararg_ptr1 = (($vararg_buffer8) + 4|0); - HEAP32[$vararg_ptr1>>2] = $6; - $vararg_ptr2 = (($vararg_buffer8) + 8|0); - HEAP32[$vararg_ptr2>>2] = $displayWidth; - $vararg_ptr3 = (($vararg_buffer8) + 12|0); - HEAP32[$vararg_ptr3>>2] = $displayHeight; - _TraceLog(2,5152,$vararg_buffer8); - $7 = (+($displayWidth|0)); - $8 = HEAP32[3608>>2]|0; - $9 = (+($8|0)); - $10 = $7 / $9; - $11 = (+($displayHeight|0)); - $12 = HEAP32[3624>>2]|0; - $13 = (+($12|0)); - $14 = $11 / $13; - $15 = !($10 <= $14); - if ($15) { - $21 = $9 * $14; - $22 = (~~(($21))); - HEAP32[4928>>2] = $22; - HEAP32[4936>>2] = $displayHeight; - $23 = (($displayWidth) - ($22))|0; - HEAP32[4912>>2] = $23; - $storemerge = 0; - } else { - HEAP32[4928>>2] = $displayWidth; - $16 = HEAP32[3624>>2]|0; - $17 = (+($16|0)); - $18 = $10 * $17; - $19 = (~~(($18))); - HEAP32[4936>>2] = $19; - HEAP32[4912>>2] = 0; - $20 = (($displayHeight) - ($19))|0; - $storemerge = $20; - } - HEAP32[4920>>2] = $storemerge; - $24 = HEAP32[4928>>2]|0; - $25 = (+($24|0)); - $26 = HEAP32[3608>>2]|0; - $27 = (+($26|0)); - $28 = $25 / $27; - _MatrixScale($0,$28,$28,$28); - dest=3720+0|0; src=$0+0|0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - HEAP32[4928>>2] = $displayWidth; - HEAP32[4936>>2] = $displayHeight; - HEAP32[$vararg_buffer8>>2] = $displayWidth; - $vararg_ptr7 = (($vararg_buffer8) + 4|0); - HEAP32[$vararg_ptr7>>2] = $displayHeight; - _TraceLog(2,5232,$vararg_buffer8); - STACKTOP = sp;return; -} -function _WindowSizeCallback($window,$width,$height) { - $window = $window|0; - $width = $width|0; - $height = $height|0; - var $$byval_copy = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); - $$byval_copy = sp + 4|0; - $0 = sp; - $1 = HEAP32[4912>>2]|0; - $2 = HEAP32[4920>>2]|0; - $3 = HEAP32[4928>>2]|0; - $4 = HEAP32[4936>>2]|0; - _rlglInitGraphics($1,$2,$3,$4); - HEAP8[$0>>0] = -11; - $5 = (($0) + 1|0); - HEAP8[$5>>0] = -11; - $6 = (($0) + 2|0); - HEAP8[$6>>0] = -11; - $7 = (($0) + 3|0); - HEAP8[$7>>0] = -1; - ;HEAP8[$$byval_copy+0>>0]=HEAP8[$0+0>>0]|0;HEAP8[$$byval_copy+1>>0]=HEAP8[$0+1>>0]|0;HEAP8[$$byval_copy+2>>0]=HEAP8[$0+2>>0]|0;HEAP8[$$byval_copy+3>>0]=HEAP8[$0+3>>0]|0; - _ClearBackground($$byval_copy); - STACKTOP = sp;return; -} -function _CursorEnterCallback($window,$enter) { - $window = $window|0; - $enter = $enter|0; - var label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = sp;return; -} -function _KeyCallback($window,$key,$scancode,$action,$mods) { - $window = $window|0; - $key = $key|0; - $scancode = $scancode|0; - $action = $action|0; - $mods = $mods|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $or$cond = 0, $or$cond1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[3680>>2]|0; - $1 = ($0|0)==($key|0); - $2 = ($action|0)==(1); - $or$cond = $1 & $2; - if ($or$cond) { - _glfwSetWindowShouldClose(($window|0),1); - } else { - $3 = $action&255; - $4 = (3864 + ($key)|0); - HEAP8[$4>>0] = $3; - } - $5 = ($key|0)==(259); - $or$cond1 = $5 & $2; - if (!($or$cond1)) { - STACKTOP = sp;return; - } - HEAP32[3688>>2] = 3; - STACKTOP = sp;return; -} -function _MouseButtonCallback($window,$button,$action,$mods) { - $window = $window|0; - $button = $button|0; - $action = $action|0; - $mods = $mods|0; - var $0 = 0, $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = $action&255; - $1 = (4888 + ($button)|0); - HEAP8[$1>>0] = $0; - STACKTOP = sp;return; -} -function _CharCallback($window,$key) { - $window = $window|0; - $key = $key|0; - var label = 0, sp = 0; - sp = STACKTOP; - HEAP32[3688>>2] = $key; - STACKTOP = sp;return; -} -function _ScrollCallback($window,$xoffset,$yoffset) { - $window = $window|0; - $xoffset = +$xoffset; - $yoffset = +$yoffset; - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (~~(($yoffset))); - HEAP32[4904>>2] = $0; - STACKTOP = sp;return; -} -function _rlMatrixMode($mode) { - $mode = $mode|0; - var label = 0, sp = 0; - sp = STACKTOP; - if ((($mode|0) == 1)) { - HEAP32[5480>>2] = 5488; - } else if ((($mode|0) == 0)) { - HEAP32[5480>>2] = 5416; - } - HEAP32[5552>>2] = $mode; - STACKTOP = sp;return; -} -function _rlPushMatrix() { - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $vararg_buffer = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); - $vararg_buffer = sp; - $0 = HEAP32[5560>>2]|0; - $1 = ($0|0)==(15); - if ($1) { - HEAP32[$vararg_buffer>>2] = 16; - _TraceLog(1,5568,$vararg_buffer); - } - $2 = HEAP32[5560>>2]|0; - $3 = (5608 + ($2<<6)|0); - $4 = HEAP32[5480>>2]|0; - dest=$3+0|0; src=$4+0|0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _rlLoadIdentity(); - $5 = HEAP32[5560>>2]|0; - $6 = (($5) + 1)|0; - HEAP32[5560>>2] = $6; - $7 = HEAP32[5552>>2]|0; - $8 = ($7|0)==(1); - if (!($8)) { - STACKTOP = sp;return; - } - HEAP32[6632>>2] = 1; - STACKTOP = sp;return; -} -function _rlLoadIdentity() { - var $0 = 0, $1 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); - $0 = sp; - $1 = HEAP32[5480>>2]|0; - _MatrixIdentity($0); - dest=$1+0|0; src=$0+0|0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; -} -function _rlPopMatrix() { - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[5560>>2]|0; - $1 = ($0|0)>(0); - if (!($1)) { - STACKTOP = sp;return; - } - $2 = HEAP32[5560>>2]|0; - $3 = (($2) + -1)|0; - $4 = (5608 + ($3<<6)|0); - $5 = HEAP32[5480>>2]|0; - _memmove(($5|0),($4|0),64)|0; - $6 = HEAP32[5560>>2]|0; - $7 = (($6) + -1)|0; - HEAP32[5560>>2] = $7; - STACKTOP = sp;return; -} -function _rlTranslatef($x,$y,$z) { - $x = +$x; - $y = +$y; - $z = +$z; - var $$byval_copy = 0, $0 = 0, $1 = 0, $mat = 0, $mat$byval_copy = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); - $mat$byval_copy = sp + 192|0; - $$byval_copy = sp; - $mat = sp + 64|0; - $0 = sp + 128|0; - _MatrixTranslate($mat,$x,$y,$z); - _MatrixTranspose($mat); - $1 = HEAP32[5480>>2]|0; - dest=$$byval_copy+0|0; src=$1+0|0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$mat$byval_copy+0|0; src=$mat+0|0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixMultiply($0,$$byval_copy,$mat$byval_copy); - dest=$1+0|0; src=$0+0|0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; -} -function _rlRotatef($angleDeg,$x,$y,$z) { - $angleDeg = +$angleDeg; - $x = +$x; - $y = +$y; - $z = +$z; - var $$byval_copy = 0, $0 = 0, $1 = 0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0.0, $rot = 0, $rot$byval_copy = 0; - var dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 448|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); - $rot$byval_copy = sp + 384|0; - $$byval_copy = sp; - $rot = sp + 64|0; - $0 = sp + 128|0; - $1 = sp + 192|0; - $2 = sp + 256|0; - $3 = sp + 320|0; - _MatrixIdentity($rot); - $4 = $x == 1.0; - do { - if ($4) { - $5 = $angleDeg; - $6 = $5 * 0.0174532925199432954744; - $7 = $6; - _MatrixRotateX($0,$7); - dest=$rot+0|0; src=$0+0|0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - } else { - $8 = $y == 1.0; - if ($8) { - $9 = $angleDeg; - $10 = $9 * 0.0174532925199432954744; - $11 = $10; - _MatrixRotateY($1,$11); - dest=$rot+0|0; src=$1+0|0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - break; - } - $12 = $z == 1.0; - if ($12) { - $13 = $angleDeg; - $14 = $13 * 0.0174532925199432954744; - $15 = $14; - _MatrixRotateZ($2,$15); - dest=$rot+0|0; src=$2+0|0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - } - } - } while(0); - _MatrixTranspose($rot); - $16 = HEAP32[5480>>2]|0; - dest=$$byval_copy+0|0; src=$16+0|0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$rot$byval_copy+0|0; src=$rot+0|0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixMultiply($3,$$byval_copy,$rot$byval_copy); - dest=$16+0|0; src=$3+0|0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; -} -function _rlScalef($x,$y,$z) { - $x = +$x; - $y = +$y; - $z = +$z; - var $$byval_copy = 0, $0 = 0, $1 = 0, $mat = 0, $mat$byval_copy = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); - $mat$byval_copy = sp + 192|0; - $$byval_copy = sp; - $mat = sp + 64|0; - $0 = sp + 128|0; - _MatrixScale($mat,$x,$y,$z); - _MatrixTranspose($mat); - $1 = HEAP32[5480>>2]|0; - dest=$$byval_copy+0|0; src=$1+0|0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$mat$byval_copy+0|0; src=$mat+0|0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixMultiply($0,$$byval_copy,$mat$byval_copy); - dest=$1+0|0; src=$0+0|0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; -} -function _rlMultMatrixf($m) { - $m = $m|0; - var $$byval_copy = 0, $0 = 0, $1 = 0.0, $10 = 0.0, $11 = 0, $12 = 0, $13 = 0.0, $14 = 0, $15 = 0, $16 = 0.0, $17 = 0, $18 = 0, $19 = 0.0, $2 = 0, $20 = 0, $21 = 0, $22 = 0.0, $23 = 0, $24 = 0, $25 = 0.0; - var $26 = 0, $27 = 0, $28 = 0.0, $29 = 0, $3 = 0, $30 = 0, $31 = 0.0, $32 = 0, $33 = 0, $34 = 0.0, $35 = 0, $36 = 0, $37 = 0.0, $38 = 0, $39 = 0, $4 = 0.0, $40 = 0.0, $41 = 0, $42 = 0, $43 = 0.0; - var $44 = 0, $45 = 0, $46 = 0.0, $47 = 0, $5 = 0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0, $mat = 0, $mat$byval_copy = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); - $mat$byval_copy = sp + 192|0; - $$byval_copy = sp; - $mat = sp + 64|0; - $0 = sp + 128|0; - $1 = +HEAPF32[$m>>2]; - HEAPF32[$mat>>2] = $1; - $2 = (($mat) + 4|0); - $3 = (($m) + 4|0); - $4 = +HEAPF32[$3>>2]; - HEAPF32[$2>>2] = $4; - $5 = (($mat) + 8|0); - $6 = (($m) + 8|0); - $7 = +HEAPF32[$6>>2]; - HEAPF32[$5>>2] = $7; - $8 = (($mat) + 12|0); - $9 = (($m) + 12|0); - $10 = +HEAPF32[$9>>2]; - HEAPF32[$8>>2] = $10; - $11 = (($mat) + 16|0); - $12 = (($m) + 16|0); - $13 = +HEAPF32[$12>>2]; - HEAPF32[$11>>2] = $13; - $14 = (($mat) + 20|0); - $15 = (($m) + 20|0); - $16 = +HEAPF32[$15>>2]; - HEAPF32[$14>>2] = $16; - $17 = (($mat) + 24|0); - $18 = (($m) + 24|0); - $19 = +HEAPF32[$18>>2]; - HEAPF32[$17>>2] = $19; - $20 = (($mat) + 28|0); - $21 = (($m) + 28|0); - $22 = +HEAPF32[$21>>2]; - HEAPF32[$20>>2] = $22; - $23 = (($mat) + 32|0); - $24 = (($m) + 32|0); - $25 = +HEAPF32[$24>>2]; - HEAPF32[$23>>2] = $25; - $26 = (($mat) + 36|0); - $27 = (($m) + 36|0); - $28 = +HEAPF32[$27>>2]; - HEAPF32[$26>>2] = $28; - $29 = (($mat) + 40|0); - $30 = (($m) + 40|0); - $31 = +HEAPF32[$30>>2]; - HEAPF32[$29>>2] = $31; - $32 = (($mat) + 44|0); - $33 = (($m) + 44|0); - $34 = +HEAPF32[$33>>2]; - HEAPF32[$32>>2] = $34; - $35 = (($mat) + 48|0); - $36 = (($m) + 48|0); - $37 = +HEAPF32[$36>>2]; - HEAPF32[$35>>2] = $37; - $38 = (($mat) + 52|0); - $39 = (($m) + 52|0); - $40 = +HEAPF32[$39>>2]; - HEAPF32[$38>>2] = $40; - $41 = (($mat) + 56|0); - $42 = (($m) + 56|0); - $43 = +HEAPF32[$42>>2]; - HEAPF32[$41>>2] = $43; - $44 = (($mat) + 60|0); - $45 = (($m) + 60|0); - $46 = +HEAPF32[$45>>2]; - HEAPF32[$44>>2] = $46; - $47 = HEAP32[5480>>2]|0; - dest=$$byval_copy+0|0; src=$47+0|0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$mat$byval_copy+0|0; src=$mat+0|0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixMultiply($0,$$byval_copy,$mat$byval_copy); - dest=$47+0|0; src=$0+0|0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; -} -function _rlFrustum($left,$right,$bottom,$top,$near,$far) { - $left = +$left; - $right = +$right; - $bottom = +$bottom; - $top = +$top; - $near = +$near; - $far = +$far; - var $$byval_copy = 0, $0 = 0, $1 = 0, $matPerps = 0, $matPerps$byval_copy = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); - $matPerps$byval_copy = sp + 192|0; - $$byval_copy = sp; - $matPerps = sp + 64|0; - $0 = sp + 128|0; - _MatrixFrustum($matPerps,$left,$right,$bottom,$top,$near,$far); - _MatrixTranspose($matPerps); - $1 = HEAP32[5480>>2]|0; - dest=$$byval_copy+0|0; src=$1+0|0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$matPerps$byval_copy+0|0; src=$matPerps+0|0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixMultiply($0,$$byval_copy,$matPerps$byval_copy); - dest=$1+0|0; src=$0+0|0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; -} -function _rlOrtho($left,$right,$bottom,$top,$near,$far) { - $left = +$left; - $right = +$right; - $bottom = +$bottom; - $top = +$top; - $near = +$near; - $far = +$far; - var $$byval_copy = 0, $0 = 0, $1 = 0, $matOrtho = 0, $matOrtho$byval_copy = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); - $matOrtho$byval_copy = sp + 192|0; - $$byval_copy = sp; - $matOrtho = sp + 64|0; - $0 = sp + 128|0; - _MatrixOrtho($matOrtho,$left,$right,$bottom,$top,$near,$far); - _MatrixTranspose($matOrtho); - $1 = HEAP32[5480>>2]|0; - dest=$$byval_copy+0|0; src=$1+0|0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$matOrtho$byval_copy+0|0; src=$matOrtho+0|0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixMultiply($0,$$byval_copy,$matOrtho$byval_copy); - dest=$1+0|0; src=$0+0|0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; -} -function _rlBegin($mode) { - $mode = $mode|0; - var label = 0, sp = 0; - sp = STACKTOP; - HEAP32[6640>>2] = $mode; - STACKTOP = sp;return; -} -function _rlEnd() { - var $$byval_copy = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0; - var $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0.0, $130 = 0, $131 = 0, $132 = 0; - var $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0.0, $150 = 0; - var $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $16 = 0, $17 = 0.0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; - var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0; - var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0; - var $exitcond = 0, $exitcond16 = 0, $exitcond17 = 0, $exitcond18 = 0, $i$013 = 0, $i1$011 = 0, $i2$01 = 0, $i4$03 = 0, $i6$09 = 0, $i7$06 = 0, $or$cond = 0, $or$cond21 = 0, $or$cond23 = 0, $or$cond25 = 0, $quads$1$promoted = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); - $$byval_copy = sp; - $0 = HEAP32[6632>>2]|0; - $1 = ($0|0)==(0); - if (!($1)) { - $2 = HEAP32[6648>>2]|0; - $3 = ($2|0)>(0); - if ($3) { - $i$013 = 0; - while(1) { - $4 = HEAP32[6656>>2]|0; - $5 = (($4) + (($i$013*12)|0)|0); - $6 = HEAP32[5480>>2]|0; - dest=$$byval_copy+0|0; src=$6+0|0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _VectorTransform($5,$$byval_copy); - $7 = (($i$013) + 1)|0; - $8 = HEAP32[6648>>2]|0; - $9 = ($7|0)<($8|0); - if ($9) { - $i$013 = $7; - } else { - break; - } - } - HEAP32[6632>>2] = 0; - $10 = ($8|0)>(0); - if ($10) { - $i1$011 = 0; - while(1) { - $11 = HEAP32[6656>>2]|0; - $12 = (($11) + (($i1$011*12)|0)|0); - $13 = +HEAPF32[$12>>2]; - $14 = ((($11) + (($i1$011*12)|0)|0) + 4|0); - $15 = +HEAPF32[$14>>2]; - $16 = ((($11) + (($i1$011*12)|0)|0) + 8|0); - $17 = +HEAPF32[$16>>2]; - _rlVertex3f($13,$15,$17); - $18 = (($i1$011) + 1)|0; - $19 = HEAP32[6648>>2]|0; - $20 = ($18|0)<($19|0); - if ($20) { - $i1$011 = $18; - } else { - break; - } - } - } - } else { - HEAP32[6632>>2] = 0; - } - HEAP32[6648>>2] = 0; - } - $21 = HEAP32[6640>>2]|0; - if ((($21|0) == 0)) { - $22 = HEAP32[6664>>2]|0; - $23 = HEAP32[6672>>2]|0; - $24 = ($22|0)!=($23|0); - $25 = (($22) - ($23))|0; - $26 = ($25|0)>(0); - $or$cond = $24 & $26; - if (!($or$cond)) { - STACKTOP = sp;return; - } - $27 = (($22) - ($23))|0; - $i2$01 = 0; - while(1) { - $28 = HEAP32[6672>>2]|0; - $29 = $28 << 2; - $30 = (($29) + -4)|0; - $31 = HEAP32[6688>>2]|0; - $32 = (($31) + ($30)|0); - $33 = HEAP8[$32>>0]|0; - $34 = (($31) + ($29)|0); - HEAP8[$34>>0] = $33; - $35 = HEAP32[6672>>2]|0; - $36 = $35 << 2; - $37 = (($36) + -3)|0; - $38 = HEAP32[6688>>2]|0; - $39 = (($38) + ($37)|0); - $40 = HEAP8[$39>>0]|0; - $41 = $36 | 1; - $42 = (($38) + ($41)|0); - HEAP8[$42>>0] = $40; - $43 = HEAP32[6672>>2]|0; - $44 = $43 << 2; - $45 = (($44) + -2)|0; - $46 = HEAP32[6688>>2]|0; - $47 = (($46) + ($45)|0); - $48 = HEAP8[$47>>0]|0; - $49 = $44 | 2; - $50 = (($46) + ($49)|0); - HEAP8[$50>>0] = $48; - $51 = HEAP32[6672>>2]|0; - $52 = $51 << 2; - $53 = (($52) + -1)|0; - $54 = HEAP32[6688>>2]|0; - $55 = (($54) + ($53)|0); - $56 = HEAP8[$55>>0]|0; - $57 = $52 | 3; - $58 = (($54) + ($57)|0); - HEAP8[$58>>0] = $56; - $59 = HEAP32[6672>>2]|0; - $60 = (($59) + 1)|0; - HEAP32[6672>>2] = $60; - $61 = (($i2$01) + 1)|0; - $exitcond = ($61|0)==($27|0); - if ($exitcond) { - break; - } else { - $i2$01 = $61; - } - } - STACKTOP = sp;return; - } else if ((($21|0) == 1)) { - $62 = HEAP32[6696>>2]|0; - $63 = HEAP32[6704>>2]|0; - $64 = ($62|0)!=($63|0); - $65 = (($62) - ($63))|0; - $66 = ($65|0)>(0); - $or$cond21 = $64 & $66; - if (!($or$cond21)) { - STACKTOP = sp;return; - } - $67 = (($62) - ($63))|0; - $i4$03 = 0; - while(1) { - $68 = HEAP32[6704>>2]|0; - $69 = $68 << 2; - $70 = (($69) + -4)|0; - $71 = HEAP32[6720>>2]|0; - $72 = (($71) + ($70)|0); - $73 = HEAP8[$72>>0]|0; - $74 = (($71) + ($69)|0); - HEAP8[$74>>0] = $73; - $75 = HEAP32[6704>>2]|0; - $76 = $75 << 2; - $77 = (($76) + -3)|0; - $78 = HEAP32[6720>>2]|0; - $79 = (($78) + ($77)|0); - $80 = HEAP8[$79>>0]|0; - $81 = $76 | 1; - $82 = (($78) + ($81)|0); - HEAP8[$82>>0] = $80; - $83 = HEAP32[6704>>2]|0; - $84 = $83 << 2; - $85 = (($84) + -2)|0; - $86 = HEAP32[6720>>2]|0; - $87 = (($86) + ($85)|0); - $88 = HEAP8[$87>>0]|0; - $89 = $84 | 2; - $90 = (($86) + ($89)|0); - HEAP8[$90>>0] = $88; - $91 = HEAP32[6704>>2]|0; - $92 = $91 << 2; - $93 = (($92) + -1)|0; - $94 = HEAP32[6720>>2]|0; - $95 = (($94) + ($93)|0); - $96 = HEAP8[$95>>0]|0; - $97 = $92 | 3; - $98 = (($94) + ($97)|0); - HEAP8[$98>>0] = $96; - $99 = HEAP32[6704>>2]|0; - $100 = (($99) + 1)|0; - HEAP32[6704>>2] = $100; - $101 = (($i4$03) + 1)|0; - $exitcond16 = ($101|0)==($67|0); - if ($exitcond16) { - break; - } else { - $i4$03 = $101; - } - } - STACKTOP = sp;return; - } else if ((($21|0) == 2)) { - $102 = HEAP32[6728>>2]|0; - $103 = HEAP32[6744>>2]|0; - $104 = ($102|0)!=($103|0); - $105 = (($102) - ($103))|0; - $106 = ($105|0)>(0); - $or$cond23 = $104 & $106; - if ($or$cond23) { - $107 = (($102) - ($103))|0; - $i6$09 = 0; - while(1) { - $108 = HEAP32[6744>>2]|0; - $109 = $108 << 2; - $110 = (($109) + -4)|0; - $111 = HEAP32[6768>>2]|0; - $112 = (($111) + ($110)|0); - $113 = HEAP8[$112>>0]|0; - $114 = (($111) + ($109)|0); - HEAP8[$114>>0] = $113; - $115 = HEAP32[6744>>2]|0; - $116 = $115 << 2; - $117 = (($116) + -3)|0; - $118 = HEAP32[6768>>2]|0; - $119 = (($118) + ($117)|0); - $120 = HEAP8[$119>>0]|0; - $121 = $116 | 1; - $122 = (($118) + ($121)|0); - HEAP8[$122>>0] = $120; - $123 = HEAP32[6744>>2]|0; - $124 = $123 << 2; - $125 = (($124) + -2)|0; - $126 = HEAP32[6768>>2]|0; - $127 = (($126) + ($125)|0); - $128 = HEAP8[$127>>0]|0; - $129 = $124 | 2; - $130 = (($126) + ($129)|0); - HEAP8[$130>>0] = $128; - $131 = HEAP32[6744>>2]|0; - $132 = $131 << 2; - $133 = (($132) + -1)|0; - $134 = HEAP32[6768>>2]|0; - $135 = (($134) + ($133)|0); - $136 = HEAP8[$135>>0]|0; - $137 = $132 | 3; - $138 = (($134) + ($137)|0); - HEAP8[$138>>0] = $136; - $139 = HEAP32[6744>>2]|0; - $140 = (($139) + 1)|0; - HEAP32[6744>>2] = $140; - $141 = (($i6$09) + 1)|0; - $exitcond18 = ($141|0)==($107|0); - if ($exitcond18) { - break; - } else { - $i6$09 = $141; - } - } - } - $142 = HEAP32[6728>>2]|0; - $143 = HEAP32[6736>>2]|0; - $144 = ($142|0)!=($143|0); - $145 = (($142) - ($143))|0; - $146 = ($145|0)>(0); - $or$cond25 = $144 & $146; - if (!($or$cond25)) { - STACKTOP = sp;return; - } - $147 = HEAP32[6760>>2]|0; - $quads$1$promoted = HEAP32[6736>>2]|0; - $148 = (($142) + ($quads$1$promoted))|0; - $149 = (($142) - ($143))|0; - $151 = $quads$1$promoted;$i7$06 = 0; - while(1) { - $150 = $151 << 1; - $152 = (($147) + ($150<<2)|0); - HEAPF32[$152>>2] = 0.0; - $153 = $151 << 1; - $154 = $153 | 1; - $155 = (($147) + ($154<<2)|0); - HEAPF32[$155>>2] = 0.0; - $156 = (($151) + 1)|0; - $157 = (($i7$06) + 1)|0; - $exitcond17 = ($157|0)==($149|0); - if ($exitcond17) { - break; - } else { - $151 = $156;$i7$06 = $157; - } - } - $158 = (($148) - ($143))|0; - HEAP32[6736>>2] = $158; - STACKTOP = sp;return; - } else { - STACKTOP = sp;return; - } -} -function _rlVertex3f($x,$y,$z) { - $x = +$x; - $y = +$y; - $z = +$z; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; - var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $8 = 0, $9 = 0, $vararg_buffer3 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); - $vararg_buffer3 = sp; - $0 = HEAP32[6632>>2]|0; - $1 = ($0|0)==(0); - if (!($1)) { - $2 = HEAP32[6648>>2]|0; - $3 = HEAP32[6656>>2]|0; - $4 = (($3) + (($2*12)|0)|0); - HEAPF32[$4>>2] = $x; - $5 = HEAP32[6648>>2]|0; - $6 = HEAP32[6656>>2]|0; - $7 = ((($6) + (($5*12)|0)|0) + 4|0); - HEAPF32[$7>>2] = $y; - $8 = HEAP32[6648>>2]|0; - $9 = HEAP32[6656>>2]|0; - $10 = ((($9) + (($8*12)|0)|0) + 8|0); - HEAPF32[$10>>2] = $z; - $11 = HEAP32[6648>>2]|0; - $12 = (($11) + 1)|0; - HEAP32[6648>>2] = $12; - STACKTOP = sp;return; - } - $13 = HEAP32[6640>>2]|0; - if ((($13|0) == 2)) { - $48 = HEAP32[6728>>2]|0; - $49 = ($48|0)<(4096); - if ($49) { - $50 = ($48*3)|0; - $51 = HEAP32[6752>>2]|0; - $52 = (($51) + ($50<<2)|0); - HEAPF32[$52>>2] = $x; - $53 = HEAP32[6728>>2]|0; - $54 = ($53*3)|0; - $55 = (($54) + 1)|0; - $56 = HEAP32[6752>>2]|0; - $57 = (($56) + ($55<<2)|0); - HEAPF32[$57>>2] = $y; - $58 = HEAP32[6728>>2]|0; - $59 = ($58*3)|0; - $60 = (($59) + 2)|0; - $61 = HEAP32[6752>>2]|0; - $62 = (($61) + ($60<<2)|0); - HEAPF32[$62>>2] = $z; - $63 = HEAP32[6728>>2]|0; - $64 = (($63) + 1)|0; - HEAP32[6728>>2] = $64; - $65 = HEAP32[6848>>2]|0; - $66 = (($65) + -1)|0; - $67 = HEAP32[6856>>2]|0; - $68 = ((($67) + ($66<<3)|0) + 4|0); - $69 = HEAP32[$68>>2]|0; - $70 = (($69) + 1)|0; - HEAP32[$68>>2] = $70; - STACKTOP = sp;return; - } else { - _TraceLog(1,6864,$vararg_buffer3); - STACKTOP = sp;return; - } - } else if ((($13|0) == 1)) { - $31 = HEAP32[6696>>2]|0; - $32 = ($31|0)<(6144); - if ($32) { - $33 = ($31*3)|0; - $34 = HEAP32[6712>>2]|0; - $35 = (($34) + ($33<<2)|0); - HEAPF32[$35>>2] = $x; - $36 = HEAP32[6696>>2]|0; - $37 = ($36*3)|0; - $38 = (($37) + 1)|0; - $39 = HEAP32[6712>>2]|0; - $40 = (($39) + ($38<<2)|0); - HEAPF32[$40>>2] = $y; - $41 = HEAP32[6696>>2]|0; - $42 = ($41*3)|0; - $43 = (($42) + 2)|0; - $44 = HEAP32[6712>>2]|0; - $45 = (($44) + ($43<<2)|0); - HEAPF32[$45>>2] = $z; - $46 = HEAP32[6696>>2]|0; - $47 = (($46) + 1)|0; - HEAP32[6696>>2] = $47; - STACKTOP = sp;return; - } else { - _TraceLog(1,6816,$vararg_buffer3); - STACKTOP = sp;return; - } - } else if ((($13|0) == 0)) { - $14 = HEAP32[6664>>2]|0; - $15 = ($14|0)<(2048); - if ($15) { - $16 = ($14*3)|0; - $17 = HEAP32[6680>>2]|0; - $18 = (($17) + ($16<<2)|0); - HEAPF32[$18>>2] = $x; - $19 = HEAP32[6664>>2]|0; - $20 = ($19*3)|0; - $21 = (($20) + 1)|0; - $22 = HEAP32[6680>>2]|0; - $23 = (($22) + ($21<<2)|0); - HEAPF32[$23>>2] = $y; - $24 = HEAP32[6664>>2]|0; - $25 = ($24*3)|0; - $26 = (($25) + 2)|0; - $27 = HEAP32[6680>>2]|0; - $28 = (($27) + ($26<<2)|0); - HEAPF32[$28>>2] = $z; - $29 = HEAP32[6664>>2]|0; - $30 = (($29) + 1)|0; - HEAP32[6664>>2] = $30; - STACKTOP = sp;return; - } else { - _TraceLog(1,6784,$vararg_buffer3); - STACKTOP = sp;return; - } - } else { - STACKTOP = sp;return; - } -} -function _rlVertex2f($x,$y) { - $x = +$x; - $y = +$y; - var label = 0, sp = 0; - sp = STACKTOP; - _rlVertex3f($x,$y,0.0); - STACKTOP = sp;return; -} -function _rlVertex2i($x,$y) { - $x = $x|0; - $y = $y|0; - var $0 = 0.0, $1 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (+($x|0)); - $1 = (+($y|0)); - _rlVertex3f($0,$1,0.0); - STACKTOP = sp;return; -} -function _rlTexCoord2f($x,$y) { - $x = +$x; - $y = +$y; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[6640>>2]|0; - $1 = ($0|0)==(2); - if (!($1)) { - STACKTOP = sp;return; - } - $2 = HEAP32[6736>>2]|0; - $3 = $2 << 1; - $4 = HEAP32[6760>>2]|0; - $5 = (($4) + ($3<<2)|0); - HEAPF32[$5>>2] = $x; - $6 = HEAP32[6736>>2]|0; - $7 = $6 << 1; - $8 = $7 | 1; - $9 = HEAP32[6760>>2]|0; - $10 = (($9) + ($8<<2)|0); - HEAPF32[$10>>2] = $y; - $11 = HEAP32[6736>>2]|0; - $12 = (($11) + 1)|0; - HEAP32[6736>>2] = $12; - STACKTOP = sp;return; -} -function _rlNormal3f($x,$y,$z) { - $x = +$x; - $y = +$y; - $z = +$z; - var label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = sp;return; -} -function _rlColor4ub($x,$y,$z,$w) { - $x = $x|0; - $y = $y|0; - $z = $z|0; - $w = $w|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; - var $63 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[6640>>2]|0; - if ((($0|0) == 2)) { - $43 = HEAP32[6744>>2]|0; - $44 = $43 << 2; - $45 = HEAP32[6768>>2]|0; - $46 = (($45) + ($44)|0); - HEAP8[$46>>0] = $x; - $47 = HEAP32[6744>>2]|0; - $48 = $47 << 2; - $49 = $48 | 1; - $50 = HEAP32[6768>>2]|0; - $51 = (($50) + ($49)|0); - HEAP8[$51>>0] = $y; - $52 = HEAP32[6744>>2]|0; - $53 = $52 << 2; - $54 = $53 | 2; - $55 = HEAP32[6768>>2]|0; - $56 = (($55) + ($54)|0); - HEAP8[$56>>0] = $z; - $57 = HEAP32[6744>>2]|0; - $58 = $57 << 2; - $59 = $58 | 3; - $60 = HEAP32[6768>>2]|0; - $61 = (($60) + ($59)|0); - HEAP8[$61>>0] = $w; - $62 = HEAP32[6744>>2]|0; - $63 = (($62) + 1)|0; - HEAP32[6744>>2] = $63; - STACKTOP = sp;return; - } else if ((($0|0) == 0)) { - $1 = HEAP32[6672>>2]|0; - $2 = $1 << 2; - $3 = HEAP32[6688>>2]|0; - $4 = (($3) + ($2)|0); - HEAP8[$4>>0] = $x; - $5 = HEAP32[6672>>2]|0; - $6 = $5 << 2; - $7 = $6 | 1; - $8 = HEAP32[6688>>2]|0; - $9 = (($8) + ($7)|0); - HEAP8[$9>>0] = $y; - $10 = HEAP32[6672>>2]|0; - $11 = $10 << 2; - $12 = $11 | 2; - $13 = HEAP32[6688>>2]|0; - $14 = (($13) + ($12)|0); - HEAP8[$14>>0] = $z; - $15 = HEAP32[6672>>2]|0; - $16 = $15 << 2; - $17 = $16 | 3; - $18 = HEAP32[6688>>2]|0; - $19 = (($18) + ($17)|0); - HEAP8[$19>>0] = $w; - $20 = HEAP32[6672>>2]|0; - $21 = (($20) + 1)|0; - HEAP32[6672>>2] = $21; - STACKTOP = sp;return; - } else if ((($0|0) == 1)) { - $22 = HEAP32[6704>>2]|0; - $23 = $22 << 2; - $24 = HEAP32[6720>>2]|0; - $25 = (($24) + ($23)|0); - HEAP8[$25>>0] = $x; - $26 = HEAP32[6704>>2]|0; - $27 = $26 << 2; - $28 = $27 | 1; - $29 = HEAP32[6720>>2]|0; - $30 = (($29) + ($28)|0); - HEAP8[$30>>0] = $y; - $31 = HEAP32[6704>>2]|0; - $32 = $31 << 2; - $33 = $32 | 2; - $34 = HEAP32[6720>>2]|0; - $35 = (($34) + ($33)|0); - HEAP8[$35>>0] = $z; - $36 = HEAP32[6704>>2]|0; - $37 = $36 << 2; - $38 = $37 | 3; - $39 = HEAP32[6720>>2]|0; - $40 = (($39) + ($38)|0); - HEAP8[$40>>0] = $w; - $41 = HEAP32[6704>>2]|0; - $42 = (($41) + 1)|0; - HEAP32[6704>>2] = $42; - STACKTOP = sp;return; - } else { - STACKTOP = sp;return; - } -} -function _rlColor3f($x,$y,$z) { - $x = +$x; - $y = +$y; - $z = +$z; - var $0 = 0.0, $1 = 0, $2 = 0.0, $3 = 0, $4 = 0.0, $5 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = $x * 255.0; - $1 = (~~(($0))&255); - $2 = $y * 255.0; - $3 = (~~(($2))&255); - $4 = $z * 255.0; - $5 = (~~(($4))&255); - _rlColor4ub($1,$3,$5,-1); - STACKTOP = sp;return; -} -function _rlEnableTexture($id) { - $id = $id|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[6848>>2]|0; - $1 = (($0) + -1)|0; - $2 = HEAP32[6856>>2]|0; - $3 = (($2) + ($1<<3)|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)==($id|0); - if ($5) { - STACKTOP = sp;return; - } - $6 = ((($2) + ($1<<3)|0) + 4|0); - $7 = HEAP32[$6>>2]|0; - $8 = ($7|0)>(0); - if ($8) { - $9 = (($0) + 1)|0; - HEAP32[6848>>2] = $9; - } - $10 = HEAP32[6848>>2]|0; - $11 = (($10) + -1)|0; - $12 = HEAP32[6856>>2]|0; - $13 = (($12) + ($11<<3)|0); - HEAP32[$13>>2] = $id; - $14 = HEAP32[6848>>2]|0; - $15 = (($14) + -1)|0; - $16 = HEAP32[6856>>2]|0; - $17 = ((($16) + ($15<<3)|0) + 4|0); - HEAP32[$17>>2] = 0; - STACKTOP = sp;return; -} -function _rlDisableTexture() { - var label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = sp;return; -} -function _rlDeleteTextures($id) { - $id = $id|0; - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); - $0 = sp; - HEAP32[$0>>2] = $id; - _glDeleteTextures(1,($0|0)); - STACKTOP = sp;return; -} -function _rlDeleteVertexArrays($id) { - $id = $id|0; - var label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = sp;return; -} -function _rlDeleteBuffers($id) { - $id = $id|0; - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); - $0 = sp; - HEAP32[$0>>2] = $id; - _glDeleteBuffers(1,($0|0)); - STACKTOP = sp;return; -} -function _rlClearColor($r,$g,$b,$a) { - $r = $r|0; - $g = $g|0; - $b = $b|0; - $a = $a|0; - var $0 = 0.0, $1 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (+($r&255)); - $1 = $0 / 255.0; - $2 = (+($g&255)); - $3 = $2 / 255.0; - $4 = (+($b&255)); - $5 = $4 / 255.0; - $6 = (+($a&255)); - $7 = $6 / 255.0; - _glClearColor((+$1),(+$3),(+$5),(+$7)); - STACKTOP = sp;return; -} -function _rlClearScreenBuffers() { - var label = 0, sp = 0; - sp = STACKTOP; - _glClear(16640); - STACKTOP = sp;return; -} -function _rlGetVersion() { - var label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = sp;return 3; -} -function _rlglInit() { - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond4 = 0, $i1$02 = 0, $i2$01 = 0, $pixels = 0, $vararg_buffer15 = 0, dest = 0, label = 0; - var sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 224|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); - $vararg_buffer15 = sp; - $0 = sp + 152|0; - $1 = sp + 8|0; - $2 = sp + 72|0; - $3 = sp + 136|0; - $pixels = sp + 148|0; - _TraceLog(2,6896,$vararg_buffer15); - $4 = (_glGetString(7936)|0); - HEAP32[$vararg_buffer15>>2] = $4; - _TraceLog(0,6952,$vararg_buffer15); - $5 = (_glGetString(7937)|0); - HEAP32[$vararg_buffer15>>2] = $5; - _TraceLog(0,6976,$vararg_buffer15); - $6 = (_glGetString(7938)|0); - HEAP32[$vararg_buffer15>>2] = $6; - _TraceLog(0,7000,$vararg_buffer15); - $7 = (_glGetString(35724)|0); - HEAP32[$vararg_buffer15>>2] = $7; - _TraceLog(0,7024,$vararg_buffer15); - HEAP32[6640>>2] = 1; - _MatrixIdentity($0); - dest=5416+0|0; src=$0+0|0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($1); - dest=5488+0|0; src=$1+0|0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - HEAP32[5480>>2] = 5488; - _MatrixIdentity($2); - dest=5608+0|0; src=$2+0|0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($2); - dest=((5608 + 64|0))+0|0; src=$2+0|0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($2); - dest=((5608 + 128|0))+0|0; src=$2+0|0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($2); - dest=((5608 + 192|0))+0|0; src=$2+0|0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($2); - dest=((5608 + 256|0))+0|0; src=$2+0|0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($2); - dest=((5608 + 320|0))+0|0; src=$2+0|0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($2); - dest=((5608 + 384|0))+0|0; src=$2+0|0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($2); - dest=((5608 + 448|0))+0|0; src=$2+0|0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($2); - dest=((5608 + 512|0))+0|0; src=$2+0|0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($2); - dest=((5608 + 576|0))+0|0; src=$2+0|0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($2); - dest=((5608 + 640|0))+0|0; src=$2+0|0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($2); - dest=((5608 + 704|0))+0|0; src=$2+0|0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($2); - dest=((5608 + 768|0))+0|0; src=$2+0|0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($2); - dest=((5608 + 832|0))+0|0; src=$2+0|0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($2); - dest=((5608 + 896|0))+0|0; src=$2+0|0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($2); - dest=((5608 + 960|0))+0|0; src=$2+0|0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $8 = (_LoadDefaultShaders()|0); - HEAP32[7048>>2] = $8; - $9 = (_glGetAttribLocation(($8|0),(7056|0))|0); - HEAP32[7072>>2] = $9; - $10 = HEAP32[7048>>2]|0; - $11 = (_glGetAttribLocation(($10|0),(7080|0))|0); - HEAP32[7096>>2] = $11; - $12 = HEAP32[7048>>2]|0; - $13 = (_glGetAttribLocation(($12|0),(7104|0))|0); - HEAP32[7120>>2] = $13; - $14 = HEAP32[7048>>2]|0; - $15 = (_glGetUniformLocation(($14|0),(7128|0))|0); - HEAP32[7144>>2] = $15; - $16 = HEAP32[7048>>2]|0; - $17 = (_glGetUniformLocation(($16|0),(7152|0))|0); - HEAP32[7176>>2] = $17; - $18 = HEAP32[7048>>2]|0; - $19 = (_glGetUniformLocation(($18|0),(7184|0))|0); - HEAP32[7200>>2] = $19; - _InitializeBuffers(); - _InitializeBuffersGPU(); - $20 = (_malloc(49152)|0); - HEAP32[6656>>2] = $20; - $i1$02 = 0; - while(1) { - $21 = HEAP32[6656>>2]|0; - $22 = (($21) + (($i1$02*12)|0)|0); - _VectorZero($3); - ;HEAP32[$22+0>>2]=HEAP32[$3+0>>2]|0;HEAP32[$22+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$22+8>>2]=HEAP32[$3+8>>2]|0; - $23 = (($i1$02) + 1)|0; - $exitcond4 = ($23|0)==(4096); - if ($exitcond4) { - break; - } else { - $i1$02 = $23; - } - } - HEAP32[$pixels>>2] = -1; - $24 = (_rlglLoadTexture($pixels,1,1,0)|0); - HEAP32[_whiteTexture>>2] = $24; - $25 = ($24|0)==(0); - if ($25) { - _TraceLog(2,7264,$vararg_buffer15); - } else { - HEAP32[$vararg_buffer15>>2] = $24; - _TraceLog(0,7208,$vararg_buffer15); - } - $26 = (_malloc(2048)|0); - HEAP32[6856>>2] = $26; - $i2$01 = 0; - while(1) { - $27 = (($26) + ($i2$01<<3)|0); - HEAP32[$27>>2] = 0; - $28 = ((($26) + ($i2$01<<3)|0) + 4|0); - HEAP32[$28>>2] = 0; - $29 = (($i2$01) + 1)|0; - $exitcond = ($29|0)==(256); - if ($exitcond) { - break; - } else { - $i2$01 = $29; - } - } - HEAP32[6848>>2] = 1; - $30 = HEAP32[_whiteTexture>>2]|0; - $31 = HEAP32[6856>>2]|0; - HEAP32[$31>>2] = $30; - STACKTOP = sp;return; -} -function _LoadDefaultShaders() { - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $fShaderStr = 0, $length = 0, $maxLength = 0, $pfs = 0, $pvs = 0, $success = 0, $vShaderStr = 0; - var $vararg_buffer13 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 912|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); - $vararg_buffer13 = sp; - $vShaderStr = sp + 368|0; - $fShaderStr = sp + 24|0; - $pvs = sp + 8|0; - $pfs = sp + 12|0; - $success = sp + 16|0; - $maxLength = sp + 4|0; - $length = sp + 20|0; - _memcpy(($vShaderStr|0),(8120|0),536)|0; - _memcpy(($fShaderStr|0),(8656|0),340)|0; - $0 = (_glCreateShader(35633)|0); - $1 = (_glCreateShader(35632)|0); - HEAP32[$pvs>>2] = $vShaderStr; - HEAP32[$pfs>>2] = $fShaderStr; - _glShaderSource(($0|0),1,($pvs|0),(0|0)); - _glShaderSource(($1|0),1,($pfs|0),(0|0)); - HEAP32[$success>>2] = 0; - _glCompileShader(($0|0)); - _glGetShaderiv(($0|0),35713,($success|0)); - $2 = HEAP32[$success>>2]|0; - $3 = ($2|0)==(1); - if ($3) { - HEAP32[$vararg_buffer13>>2] = $0; - _TraceLog(0,9064,$vararg_buffer13); - } else { - HEAP32[$vararg_buffer13>>2] = $0; - _TraceLog(2,9000,$vararg_buffer13); - } - _glCompileShader(($1|0)); - _glGetShaderiv(($1|0),35713,($success|0)); - $4 = HEAP32[$success>>2]|0; - $5 = ($4|0)==(1); - if ($5) { - HEAP32[$vararg_buffer13>>2] = $1; - _TraceLog(0,9192,$vararg_buffer13); - } else { - HEAP32[$vararg_buffer13>>2] = $1; - _TraceLog(2,9128,$vararg_buffer13); - } - $6 = (_glCreateProgram()|0); - _glAttachShader(($6|0),($0|0)); - _glAttachShader(($6|0),($1|0)); - _glLinkProgram(($6|0)); - _glGetProgramiv(($6|0),35714,($success|0)); - $7 = HEAP32[$success>>2]|0; - $8 = ($7|0)==(0); - if ($8) { - _glGetProgramiv(($6|0),35716,($maxLength|0)); - $9 = HEAP32[$maxLength>>2]|0; - $10 = (_llvm_stacksave()|0); - $11 = STACKTOP; STACKTOP = STACKTOP + ((((1*$9)|0)+15)&-16)|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();; - $12 = HEAP32[$maxLength>>2]|0; - _glGetProgramInfoLog(($6|0),($12|0),($length|0),($11|0)); - HEAP32[$vararg_buffer13>>2] = $11; - _TraceLog(0,9256,$vararg_buffer13); - _llvm_stackrestore(($10|0)); - _glDeleteShader(($0|0)); - _glDeleteShader(($1|0)); - STACKTOP = sp;return ($6|0); - } else { - HEAP32[$vararg_buffer13>>2] = $6; - _TraceLog(0,9288,$vararg_buffer13); - _glDeleteShader(($0|0)); - _glDeleteShader(($1|0)); - STACKTOP = sp;return ($6|0); - } - return 0|0; -} -function _InitializeBuffers() { - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $5 = 0, $6 = 0; - var $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond14 = 0, $exitcond17 = 0, $exitcond19 = 0, $i1$012 = 0, $i3$09 = 0, $i6$04 = 0, $i7$02 = 0, $k$01 = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); - $vararg_buffer = sp; - $0 = (_malloc(24576)|0); - HEAP32[6680>>2] = $0; - $1 = (_malloc(8192)|0); - HEAP32[6688>>2] = $1; - $2 = HEAP32[6680>>2]|0; - _memset(($2|0),0,24576)|0; - $i1$012 = 0; - while(1) { - $3 = HEAP32[6688>>2]|0; - $4 = (($3) + ($i1$012)|0); - HEAP8[$4>>0] = 0; - $5 = (($i1$012) + 1)|0; - $exitcond19 = ($5|0)==(8192); - if ($exitcond19) { - break; - } else { - $i1$012 = $5; - } - } - HEAP32[6664>>2] = 0; - HEAP32[6672>>2] = 0; - $6 = (_malloc(73728)|0); - HEAP32[6712>>2] = $6; - $7 = (_malloc(24576)|0); - HEAP32[6720>>2] = $7; - $8 = HEAP32[6712>>2]|0; - _memset(($8|0),0,73728)|0; - $i3$09 = 0; - while(1) { - $9 = HEAP32[6720>>2]|0; - $10 = (($9) + ($i3$09)|0); - HEAP8[$10>>0] = 0; - $11 = (($i3$09) + 1)|0; - $exitcond17 = ($11|0)==(24576); - if ($exitcond17) { - break; - } else { - $i3$09 = $11; - } - } - HEAP32[6696>>2] = 0; - HEAP32[6704>>2] = 0; - $12 = (_malloc(49152)|0); - HEAP32[6752>>2] = $12; - $13 = (_malloc(32768)|0); - HEAP32[6760>>2] = $13; - $14 = (_malloc(16384)|0); - HEAP32[6768>>2] = $14; - $15 = (_malloc(12288)|0); - HEAP32[6776>>2] = $15; - $16 = HEAP32[6752>>2]|0; - _memset(($16|0),0,49152)|0; - $17 = HEAP32[6760>>2]|0; - _memset(($17|0),0,32768)|0; - $i6$04 = 0; - while(1) { - $19 = HEAP32[6768>>2]|0; - $20 = (($19) + ($i6$04)|0); - HEAP8[$20>>0] = 0; - $21 = (($i6$04) + 1)|0; - $exitcond14 = ($21|0)==(16384); - if ($exitcond14) { - break; - } else { - $i6$04 = $21; - } - } - $18 = HEAP32[6776>>2]|0; - $i7$02 = 0;$k$01 = 0; - while(1) { - $22 = $k$01 << 2; - $23 = $22&65535; - $24 = (($18) + ($i7$02<<1)|0); - HEAP16[$24>>1] = $23; - $25 = $22 | 1; - $26 = $25&65535; - $27 = $i7$02 | 1; - $28 = (($18) + ($27<<1)|0); - HEAP16[$28>>1] = $26; - $29 = $22 | 2; - $30 = $29&65535; - $31 = (($i7$02) + 2)|0; - $32 = (($18) + ($31<<1)|0); - HEAP16[$32>>1] = $30; - $33 = (($i7$02) + 3)|0; - $34 = (($18) + ($33<<1)|0); - HEAP16[$34>>1] = $23; - $35 = (($i7$02) + 4)|0; - $36 = (($18) + ($35<<1)|0); - HEAP16[$36>>1] = $30; - $37 = $22 | 3; - $38 = $37&65535; - $39 = (($i7$02) + 5)|0; - $40 = (($18) + ($39<<1)|0); - HEAP16[$40>>1] = $38; - $41 = (($k$01) + 1)|0; - $42 = (($i7$02) + 6)|0; - $exitcond = ($41|0)==(1024); - if ($exitcond) { - break; - } else { - $i7$02 = $42;$k$01 = $41; - } - } - HEAP32[6728>>2] = 0; - HEAP32[6736>>2] = 0; - HEAP32[6744>>2] = 0; - _TraceLog(0,8056,$vararg_buffer); - STACKTOP = sp;return; -} -function _InitializeBuffersGPU() { - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer6 = 0, $vararg_ptr1 = 0; - var $vararg_ptr10 = 0, $vararg_ptr11 = 0, $vararg_ptr5 = 0, $vararg_ptr9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); - $vararg_buffer6 = sp; - _glGenBuffers(2,(7304|0)); - $0 = HEAP32[7304>>2]|0; - _glBindBuffer(34962,($0|0)); - $1 = HEAP32[6680>>2]|0; - _glBufferData(34962,24576,($1|0),35048); - $2 = HEAP32[7072>>2]|0; - _glEnableVertexAttribArray(($2|0)); - $3 = HEAP32[7072>>2]|0; - _glVertexAttribPointer(($3|0),3,5126,0,0,(0|0)); - $4 = HEAP32[((7304 + 4|0))>>2]|0; - _glBindBuffer(34962,($4|0)); - $5 = HEAP32[6688>>2]|0; - _glBufferData(34962,8192,($5|0),35048); - $6 = HEAP32[7120>>2]|0; - _glEnableVertexAttribArray(($6|0)); - $7 = HEAP32[7120>>2]|0; - _glVertexAttribPointer(($7|0),4,5121,1,0,(0|0)); - $8 = HEAP32[7304>>2]|0; - $9 = HEAP32[((7304 + 4|0))>>2]|0; - HEAP32[$vararg_buffer6>>2] = $8; - $vararg_ptr1 = (($vararg_buffer6) + 4|0); - HEAP32[$vararg_ptr1>>2] = $9; - _TraceLog(0,7840,$vararg_buffer6); - _glGenBuffers(2,(7312|0)); - $10 = HEAP32[7312>>2]|0; - _glBindBuffer(34962,($10|0)); - $11 = HEAP32[6712>>2]|0; - _glBufferData(34962,73728,($11|0),35048); - $12 = HEAP32[7072>>2]|0; - _glEnableVertexAttribArray(($12|0)); - $13 = HEAP32[7072>>2]|0; - _glVertexAttribPointer(($13|0),3,5126,0,0,(0|0)); - $14 = HEAP32[((7312 + 4|0))>>2]|0; - _glBindBuffer(34962,($14|0)); - $15 = HEAP32[6720>>2]|0; - _glBufferData(34962,24576,($15|0),35048); - $16 = HEAP32[7120>>2]|0; - _glEnableVertexAttribArray(($16|0)); - $17 = HEAP32[7120>>2]|0; - _glVertexAttribPointer(($17|0),4,5121,1,0,(0|0)); - $18 = HEAP32[7312>>2]|0; - $19 = HEAP32[((7312 + 4|0))>>2]|0; - HEAP32[$vararg_buffer6>>2] = $18; - $vararg_ptr5 = (($vararg_buffer6) + 4|0); - HEAP32[$vararg_ptr5>>2] = $19; - _TraceLog(0,7904,$vararg_buffer6); - _glGenBuffers(4,(7320|0)); - $20 = HEAP32[7320>>2]|0; - _glBindBuffer(34962,($20|0)); - $21 = HEAP32[6752>>2]|0; - _glBufferData(34962,49152,($21|0),35048); - $22 = HEAP32[7072>>2]|0; - _glEnableVertexAttribArray(($22|0)); - $23 = HEAP32[7072>>2]|0; - _glVertexAttribPointer(($23|0),3,5126,0,0,(0|0)); - $24 = HEAP32[((7320 + 4|0))>>2]|0; - _glBindBuffer(34962,($24|0)); - $25 = HEAP32[6760>>2]|0; - _glBufferData(34962,32768,($25|0),35048); - $26 = HEAP32[7096>>2]|0; - _glEnableVertexAttribArray(($26|0)); - $27 = HEAP32[7096>>2]|0; - _glVertexAttribPointer(($27|0),2,5126,0,0,(0|0)); - $28 = HEAP32[((7320 + 8|0))>>2]|0; - _glBindBuffer(34962,($28|0)); - $29 = HEAP32[6768>>2]|0; - _glBufferData(34962,16384,($29|0),35048); - $30 = HEAP32[7120>>2]|0; - _glEnableVertexAttribArray(($30|0)); - $31 = HEAP32[7120>>2]|0; - _glVertexAttribPointer(($31|0),4,5121,1,0,(0|0)); - $32 = HEAP32[((7320 + 12|0))>>2]|0; - _glBindBuffer(34963,($32|0)); - $33 = HEAP32[6776>>2]|0; - _glBufferData(34963,12288,($33|0),35044); - $34 = HEAP32[7320>>2]|0; - $35 = HEAP32[((7320 + 4|0))>>2]|0; - $36 = HEAP32[((7320 + 8|0))>>2]|0; - $37 = HEAP32[((7320 + 12|0))>>2]|0; - HEAP32[$vararg_buffer6>>2] = $34; - $vararg_ptr9 = (($vararg_buffer6) + 4|0); - HEAP32[$vararg_ptr9>>2] = $35; - $vararg_ptr10 = (($vararg_buffer6) + 8|0); - HEAP32[$vararg_ptr10>>2] = $36; - $vararg_ptr11 = (($vararg_buffer6) + 12|0); - HEAP32[$vararg_ptr11>>2] = $37; - _TraceLog(0,7968,$vararg_buffer6); - STACKTOP = sp;return; -} -function _rlglLoadTexture($data,$width,$height,$genMipmaps) { - $data = $data|0; - $width = $width|0; - $height = $height|0; - $genMipmaps = $genMipmaps|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $id = 0, $not$ = 0, $or$cond = 0, $or$cond1 = 0, $texIsPOT$0 = 0, $vararg_buffer4 = 0; - var $vararg_ptr7 = 0, $vararg_ptr8 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); - $vararg_buffer4 = sp; - $id = sp + 12|0; - _glBindTexture(3553,0); - _glGenTextures(1,($id|0)); - $0 = HEAP32[$id>>2]|0; - _glBindTexture(3553,($0|0)); - _glTexParameteri(3553,10242,10497); - _glTexParameteri(3553,10243,10497); - $1 = ($width|0)>(0); - if ($1) { - $2 = (($width) + -1)|0; - $3 = $2 & $width; - $4 = ($3|0)==(0); - $5 = ($height|0)>(0); - $or$cond = $4 & $5; - if ($or$cond) { - $6 = (($height) + -1)|0; - $7 = $6 & $height; - $not$ = ($7|0)!=(0); - $texIsPOT$0 = $not$; - } else { - $texIsPOT$0 = 1; - } - } else { - $texIsPOT$0 = 1; - } - $8 = ($genMipmaps|0)!=(0); - $or$cond1 = $8 & $texIsPOT$0; - if ($or$cond1) { - $9 = HEAP32[$id>>2]|0; - HEAP32[$vararg_buffer4>>2] = $9; - _TraceLog(2,7384,$vararg_buffer4); - label = 8; - } else { - $10 = ($genMipmaps|0)==(0); - if ($10) { - label = 8; - } else { - _glTexParameteri(3553,10240,9729); - _glTexParameteri(3553,10241,9987); - _glTexImage2D(3553,0,6408,($width|0),($height|0),0,6408,5121,($data|0)); - _glGenerateMipmap(3553); - $11 = HEAP32[$id>>2]|0; - HEAP32[$vararg_buffer4>>2] = $11; - _TraceLog(0,7456,$vararg_buffer4); - } - } - if ((label|0) == 8) { - _glTexParameteri(3553,10240,9728); - _glTexParameteri(3553,10241,9728); - _glTexImage2D(3553,0,6408,($width|0),($height|0),0,6408,5121,($data|0)); - } - _glBindTexture(3553,0); - $12 = HEAP32[$id>>2]|0; - HEAP32[$vararg_buffer4>>2] = $12; - $vararg_ptr7 = (($vararg_buffer4) + 4|0); - HEAP32[$vararg_ptr7>>2] = $width; - $vararg_ptr8 = (($vararg_buffer4) + 8|0); - HEAP32[$vararg_ptr8>>2] = $height; - _TraceLog(0,7520,$vararg_buffer4); - $13 = HEAP32[$id>>2]|0; - STACKTOP = sp;return ($13|0); -} -function _rlglClose() { - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - _glDisableVertexAttribArray(0); - _glDisableVertexAttribArray(1); - _glDisableVertexAttribArray(2); - _glDisableVertexAttribArray(3); - _glBindBuffer(34962,0); - _glBindBuffer(34963,0); - _glUseProgram(0); - _glDeleteBuffers(1,(7304|0)); - _glDeleteBuffers(1,(((7304 + 4|0))|0)); - _glDeleteBuffers(1,(7312|0)); - _glDeleteBuffers(1,(((7312 + 4|0))|0)); - _glDeleteBuffers(1,(7320|0)); - _glDeleteBuffers(1,(((7320 + 4|0))|0)); - _glDeleteBuffers(1,(((7320 + 8|0))|0)); - _glDeleteBuffers(1,(((7320 + 12|0))|0)); - $0 = HEAP32[7048>>2]|0; - _glDeleteProgram(($0|0)); - $1 = HEAP32[6680>>2]|0; - _free($1); - $2 = HEAP32[6688>>2]|0; - _free($2); - $3 = HEAP32[6712>>2]|0; - _free($3); - $4 = HEAP32[6720>>2]|0; - _free($4); - $5 = HEAP32[6752>>2]|0; - _free($5); - $6 = HEAP32[6760>>2]|0; - _free($6); - $7 = HEAP32[6768>>2]|0; - _free($7); - $8 = HEAP32[6776>>2]|0; - _free($8); - _glDeleteTextures(1,(_whiteTexture|0)); - $9 = HEAP32[6856>>2]|0; - _free($9); - STACKTOP = sp;return; -} -function _rlglDraw() { - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $7 = 0; - var $8 = 0, $9 = 0, $i$02 = 0, $indicesOffset$01 = 0, $modelview$byval_copy = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); - $modelview$byval_copy = sp; - _UpdateBuffers(); - $0 = HEAP32[7048>>2]|0; - _glUseProgram(($0|0)); - $1 = HEAP32[7176>>2]|0; - dest=$modelview$byval_copy+0|0; src=5416+0|0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $2 = (_GetMatrixVector($modelview$byval_copy)|0); - _glUniformMatrix4fv(($1|0),1,0,($2|0)); - $3 = HEAP32[7144>>2]|0; - dest=$modelview$byval_copy+0|0; src=5488+0|0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $4 = (_GetMatrixVector($modelview$byval_copy)|0); - _glUniformMatrix4fv(($3|0),1,0,($4|0)); - $5 = HEAP32[7200>>2]|0; - _glUniform1i(($5|0),0); - $6 = HEAP32[6696>>2]|0; - $7 = ($6|0)>(0); - if ($7) { - $8 = HEAP32[_whiteTexture>>2]|0; - _glBindTexture(3553,($8|0)); - $9 = HEAP32[7312>>2]|0; - _glBindBuffer(34962,($9|0)); - $10 = HEAP32[7072>>2]|0; - _glVertexAttribPointer(($10|0),3,5126,0,0,(0|0)); - $11 = HEAP32[7072>>2]|0; - _glEnableVertexAttribArray(($11|0)); - $12 = HEAP32[((7312 + 4|0))>>2]|0; - _glBindBuffer(34962,($12|0)); - $13 = HEAP32[7120>>2]|0; - _glVertexAttribPointer(($13|0),4,5121,1,0,(0|0)); - $14 = HEAP32[7120>>2]|0; - _glEnableVertexAttribArray(($14|0)); - $15 = HEAP32[6696>>2]|0; - _glDrawArrays(4,0,($15|0)); - _glBindBuffer(34962,0); - _glBindTexture(3553,0); - } - $16 = HEAP32[6728>>2]|0; - $17 = ($16|0)>(0); - if ($17) { - $18 = HEAP32[7320>>2]|0; - _glBindBuffer(34962,($18|0)); - $19 = HEAP32[7072>>2]|0; - _glVertexAttribPointer(($19|0),3,5126,0,0,(0|0)); - $20 = HEAP32[7072>>2]|0; - _glEnableVertexAttribArray(($20|0)); - $21 = HEAP32[((7320 + 4|0))>>2]|0; - _glBindBuffer(34962,($21|0)); - $22 = HEAP32[7096>>2]|0; - _glVertexAttribPointer(($22|0),2,5126,0,0,(0|0)); - $23 = HEAP32[7096>>2]|0; - _glEnableVertexAttribArray(($23|0)); - $24 = HEAP32[((7320 + 8|0))>>2]|0; - _glBindBuffer(34962,($24|0)); - $25 = HEAP32[7120>>2]|0; - _glVertexAttribPointer(($25|0),4,5121,1,0,(0|0)); - $26 = HEAP32[7120>>2]|0; - _glEnableVertexAttribArray(($26|0)); - $27 = HEAP32[((7320 + 12|0))>>2]|0; - _glBindBuffer(34963,($27|0)); - $28 = HEAP32[6848>>2]|0; - $29 = ($28|0)>(0); - if ($29) { - $i$02 = 0;$indicesOffset$01 = 0; - while(1) { - $30 = HEAP32[6856>>2]|0; - $31 = ((($30) + ($i$02<<3)|0) + 4|0); - $32 = HEAP32[$31>>2]|0; - $33 = (($32|0) / 4)&-1; - $34 = ($33*6)|0; - $35 = (($30) + ($i$02<<3)|0); - $36 = HEAP32[$35>>2]|0; - _glBindTexture(3553,($36|0)); - $37 = $indicesOffset$01 << 1; - $38 = $37; - _glDrawElements(4,($34|0),5123,($38|0)); - $39 = HEAP32[6856>>2]|0; - $40 = ((($39) + ($i$02<<3)|0) + 4|0); - $41 = HEAP32[$40>>2]|0; - $42 = (($41|0) / 4)&-1; - $43 = ($42*6)|0; - $44 = (($43) + ($indicesOffset$01))|0; - $45 = (($i$02) + 1)|0; - $46 = HEAP32[6848>>2]|0; - $47 = ($45|0)<($46|0); - if ($47) { - $i$02 = $45;$indicesOffset$01 = $44; - } else { - break; - } - } - } - _glBindBuffer(34962,0); - _glBindBuffer(34963,0); - _glBindTexture(3553,0); - } - $48 = HEAP32[6664>>2]|0; - $49 = ($48|0)>(0); - if (!($49)) { - HEAP32[6848>>2] = 1; - $58 = HEAP32[_whiteTexture>>2]|0; - $59 = HEAP32[6856>>2]|0; - HEAP32[$59>>2] = $58; - $60 = HEAP32[6856>>2]|0; - $61 = (($60) + 4|0); - HEAP32[$61>>2] = 0; - HEAP32[6664>>2] = 0; - HEAP32[6672>>2] = 0; - HEAP32[6696>>2] = 0; - HEAP32[6704>>2] = 0; - HEAP32[6728>>2] = 0; - HEAP32[6736>>2] = 0; - HEAP32[6744>>2] = 0; - STACKTOP = sp;return; - } - $50 = HEAP32[_whiteTexture>>2]|0; - _glBindTexture(3553,($50|0)); - $51 = HEAP32[7304>>2]|0; - _glBindBuffer(34962,($51|0)); - $52 = HEAP32[7072>>2]|0; - _glVertexAttribPointer(($52|0),3,5126,0,0,(0|0)); - $53 = HEAP32[7072>>2]|0; - _glEnableVertexAttribArray(($53|0)); - $54 = HEAP32[((7304 + 4|0))>>2]|0; - _glBindBuffer(34962,($54|0)); - $55 = HEAP32[7120>>2]|0; - _glVertexAttribPointer(($55|0),4,5121,1,0,(0|0)); - $56 = HEAP32[7120>>2]|0; - _glEnableVertexAttribArray(($56|0)); - $57 = HEAP32[6664>>2]|0; - _glDrawArrays(1,0,($57|0)); - _glBindBuffer(34962,0); - _glBindTexture(3553,0); - HEAP32[6848>>2] = 1; - $58 = HEAP32[_whiteTexture>>2]|0; - $59 = HEAP32[6856>>2]|0; - HEAP32[$59>>2] = $58; - $60 = HEAP32[6856>>2]|0; - $61 = (($60) + 4|0); - HEAP32[$61>>2] = 0; - HEAP32[6664>>2] = 0; - HEAP32[6672>>2] = 0; - HEAP32[6696>>2] = 0; - HEAP32[6704>>2] = 0; - HEAP32[6728>>2] = 0; - HEAP32[6736>>2] = 0; - HEAP32[6744>>2] = 0; - STACKTOP = sp;return; -} -function _UpdateBuffers() { - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[7304>>2]|0; - _glBindBuffer(34962,($0|0)); - $1 = HEAP32[6664>>2]|0; - $2 = ($1*12)|0; - $3 = HEAP32[6680>>2]|0; - _glBufferSubData(34962,0,($2|0),($3|0)); - $4 = HEAP32[((7304 + 4|0))>>2]|0; - _glBindBuffer(34962,($4|0)); - $5 = HEAP32[6672>>2]|0; - $6 = $5 << 2; - $7 = HEAP32[6688>>2]|0; - _glBufferSubData(34962,0,($6|0),($7|0)); - $8 = HEAP32[7312>>2]|0; - _glBindBuffer(34962,($8|0)); - $9 = HEAP32[6696>>2]|0; - $10 = ($9*12)|0; - $11 = HEAP32[6712>>2]|0; - _glBufferSubData(34962,0,($10|0),($11|0)); - $12 = HEAP32[((7312 + 4|0))>>2]|0; - _glBindBuffer(34962,($12|0)); - $13 = HEAP32[6704>>2]|0; - $14 = $13 << 2; - $15 = HEAP32[6720>>2]|0; - _glBufferSubData(34962,0,($14|0),($15|0)); - $16 = HEAP32[7320>>2]|0; - _glBindBuffer(34962,($16|0)); - $17 = HEAP32[6728>>2]|0; - $18 = ($17*12)|0; - $19 = HEAP32[6752>>2]|0; - _glBufferSubData(34962,0,($18|0),($19|0)); - $20 = HEAP32[((7320 + 4|0))>>2]|0; - _glBindBuffer(34962,($20|0)); - $21 = HEAP32[6728>>2]|0; - $22 = $21 << 3; - $23 = HEAP32[6760>>2]|0; - _glBufferSubData(34962,0,($22|0),($23|0)); - $24 = HEAP32[((7320 + 8|0))>>2]|0; - _glBindBuffer(34962,($24|0)); - $25 = HEAP32[6728>>2]|0; - $26 = $25 << 2; - $27 = HEAP32[6768>>2]|0; - _glBufferSubData(34962,0,($26|0),($27|0)); - STACKTOP = sp;return; -} -function _rlglDrawModel($model,$position,$rotation,$scale,$color,$wires) { - $model = $model|0; - $position = $position|0; - $rotation = $rotation|0; - $scale = $scale|0; - $color = $color|0; - $wires = $wires|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; - var $9 = 0, $modelviewworld$byval_copy = 0, $position$byval_copy = 0, $transform = 0, $transform$byval_copy = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); - $modelviewworld$byval_copy = sp + 192|0; - $transform$byval_copy = sp; - $position$byval_copy = sp + 64|0; - $transform = sp + 128|0; - $0 = HEAP32[7048>>2]|0; - _glUseProgram(($0|0)); - _VectorScale($rotation,0.0174532923847436904907); - ;HEAP32[$position$byval_copy+0>>2]=HEAP32[$position+0>>2]|0;HEAP32[$position$byval_copy+4>>2]=HEAP32[$position+4>>2]|0;HEAP32[$position$byval_copy+8>>2]=HEAP32[$position+8>>2]|0; - ;HEAP32[$transform$byval_copy+0>>2]=HEAP32[$rotation+0>>2]|0;HEAP32[$transform$byval_copy+4>>2]=HEAP32[$rotation+4>>2]|0;HEAP32[$transform$byval_copy+8>>2]=HEAP32[$rotation+8>>2]|0; - ;HEAP32[$modelviewworld$byval_copy+0>>2]=HEAP32[$scale+0>>2]|0;HEAP32[$modelviewworld$byval_copy+4>>2]=HEAP32[$scale+4>>2]|0;HEAP32[$modelviewworld$byval_copy+8>>2]=HEAP32[$scale+8>>2]|0; - _MatrixTransform($transform,$position$byval_copy,$transform$byval_copy,$modelviewworld$byval_copy); - dest=$transform$byval_copy+0|0; src=$transform+0|0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$modelviewworld$byval_copy+0|0; src=5488+0|0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixMultiply($position$byval_copy,$transform$byval_copy,$modelviewworld$byval_copy); - $1 = HEAP32[7176>>2]|0; - dest=$modelviewworld$byval_copy+0|0; src=5416+0|0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $2 = (_GetMatrixVector($modelviewworld$byval_copy)|0); - _glUniformMatrix4fv(($1|0),1,0,($2|0)); - $3 = HEAP32[7144>>2]|0; - dest=$modelviewworld$byval_copy+0|0; src=$position$byval_copy+0|0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $4 = (_GetMatrixVector($modelviewworld$byval_copy)|0); - _glUniformMatrix4fv(($3|0),1,0,($4|0)); - $5 = HEAP32[7200>>2]|0; - _glUniform1i(($5|0),0); - $6 = (($model) + 24|0); - $7 = HEAP32[$6>>2]|0; - _glBindBuffer(34962,($7|0)); - $8 = HEAP32[7072>>2]|0; - _glVertexAttribPointer(($8|0),3,5126,0,0,(0|0)); - $9 = HEAP32[7072>>2]|0; - _glEnableVertexAttribArray(($9|0)); - $10 = (($model) + 28|0); - $11 = HEAP32[$10>>2]|0; - _glBindBuffer(34962,($11|0)); - $12 = HEAP32[7096>>2]|0; - _glVertexAttribPointer(($12|0),2,5126,0,0,(0|0)); - $13 = HEAP32[7096>>2]|0; - _glEnableVertexAttribArray(($13|0)); - $14 = (($model) + 32|0); - $15 = HEAP32[$14>>2]|0; - _glBindBuffer(34962,($15|0)); - $16 = HEAP32[7120>>2]|0; - _glVertexAttribPointer(($16|0),4,5121,1,0,(0|0)); - $17 = HEAP32[7120>>2]|0; - _glEnableVertexAttribArray(($17|0)); - $18 = (($model) + 40|0); - $19 = HEAP32[$18>>2]|0; - _glBindTexture(3553,($19|0)); - $20 = HEAP32[$model>>2]|0; - _glDrawArrays(4,0,($20|0)); - _glBindTexture(3553,0); - _glBindBuffer(34962,0); - STACKTOP = sp;return; -} -function _rlglInitGraphics($offsetX,$offsetY,$width,$height) { - $offsetX = $offsetX|0; - $offsetY = $offsetY|0; - $width = $width|0; - $height = $height|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0.0, $5 = 0.0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); - $vararg_buffer = sp; - $0 = (($offsetX|0) / 2)&-1; - $1 = (($offsetY|0) / 2)&-1; - $2 = (($width) - ($offsetX))|0; - $3 = (($height) - ($offsetY))|0; - _glViewport(($0|0),($1|0),($2|0),($3|0)); - _glClear(16640); - _glClearColor(0.0,0.0,0.0,1.0); - _glEnable(2929); - _glDepthFunc(515); - _glEnable(3042); - _glBlendFunc(770,771); - _rlMatrixMode(0); - _rlLoadIdentity(); - $4 = (+($2|0)); - $5 = (+($3|0)); - _rlOrtho(0.0,$4,$5,0.0,0.0,1.0); - _rlMatrixMode(1); - _rlLoadIdentity(); - _glEnable(2884); - _TraceLog(0,7336,$vararg_buffer); - STACKTOP = sp;return; -} -function _rlglLoadModel($agg$result,$mesh) { - $agg$result = $agg$result|0; - $mesh = $mesh|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $model$sroa$0 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vertexBuffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); - $vararg_buffer = sp + 24|0; - $model$sroa$0 = sp; - $vertexBuffer = sp + 36|0; - ;HEAP32[$model$sroa$0+0>>2]=HEAP32[$mesh+0>>2]|0;HEAP32[$model$sroa$0+4>>2]=HEAP32[$mesh+4>>2]|0;HEAP32[$model$sroa$0+8>>2]=HEAP32[$mesh+8>>2]|0;HEAP32[$model$sroa$0+12>>2]=HEAP32[$mesh+12>>2]|0;HEAP32[$model$sroa$0+16>>2]=HEAP32[$mesh+16>>2]|0; - _glGenBuffers(3,($vertexBuffer|0)); - $0 = HEAP32[$vertexBuffer>>2]|0; - _glBindBuffer(34962,($0|0)); - $1 = HEAP32[$mesh>>2]|0; - $2 = ($1*12)|0; - $3 = (($mesh) + 4|0); - $4 = HEAP32[$3>>2]|0; - _glBufferData(34962,($2|0),($4|0),35044); - $5 = HEAP32[7072>>2]|0; - _glEnableVertexAttribArray(($5|0)); - $6 = HEAP32[7072>>2]|0; - _glVertexAttribPointer(($6|0),3,5126,0,0,(0|0)); - $7 = (($vertexBuffer) + 4|0); - $8 = HEAP32[$7>>2]|0; - _glBindBuffer(34962,($8|0)); - $9 = HEAP32[$mesh>>2]|0; - $10 = $9 << 3; - $11 = (($mesh) + 8|0); - $12 = HEAP32[$11>>2]|0; - _glBufferData(34962,($10|0),($12|0),35044); - $13 = HEAP32[7096>>2]|0; - _glEnableVertexAttribArray(($13|0)); - $14 = HEAP32[7096>>2]|0; - _glVertexAttribPointer(($14|0),2,5126,0,0,(0|0)); - $15 = (($vertexBuffer) + 8|0); - $16 = HEAP32[$15>>2]|0; - _glBindBuffer(34962,($16|0)); - $17 = HEAP32[$mesh>>2]|0; - $18 = $17 << 2; - $19 = (($mesh) + 16|0); - $20 = HEAP32[$19>>2]|0; - _glBufferData(34962,($18|0),($20|0),35044); - $21 = HEAP32[7120>>2]|0; - _glEnableVertexAttribArray(($21|0)); - $22 = HEAP32[7120>>2]|0; - _glVertexAttribPointer(($22|0),4,5121,1,0,(0|0)); - $23 = HEAP32[$vertexBuffer>>2]|0; - $24 = HEAP32[$7>>2]|0; - $25 = HEAP32[$15>>2]|0; - HEAP32[$vararg_buffer>>2] = $23; - $vararg_ptr1 = (($vararg_buffer) + 4|0); - HEAP32[$vararg_ptr1>>2] = $24; - $vararg_ptr2 = (($vararg_buffer) + 8|0); - HEAP32[$vararg_ptr2>>2] = $25; - _TraceLog(0,7576,$vararg_buffer); - ;HEAP32[$agg$result+0>>2]=HEAP32[$model$sroa$0+0>>2]|0;HEAP32[$agg$result+4>>2]=HEAP32[$model$sroa$0+4>>2]|0;HEAP32[$agg$result+8>>2]=HEAP32[$model$sroa$0+8>>2]|0;HEAP32[$agg$result+12>>2]=HEAP32[$model$sroa$0+12>>2]|0;HEAP32[$agg$result+16>>2]=HEAP32[$model$sroa$0+16>>2]|0; - $26 = (($agg$result) + 24|0); - HEAP32[$26>>2] = $23; - $27 = (($agg$result) + 28|0); - HEAP32[$27>>2] = $24; - $28 = (($agg$result) + 32|0); - HEAP32[$28>>2] = $25; - $29 = (($agg$result) + 40|0); - HEAP32[$29>>2] = 1; - STACKTOP = sp;return; -} -function _rlglLoadCompressedTexture($data,$width,$height,$mipmapCount,$compFormat) { - $data = $data|0; - $width = $width|0; - $height = $height|0; - $mipmapCount = $mipmapCount|0; - $compFormat = $compFormat|0; - var $$ = 0, $$025 = 0, $$06 = 0, $$10 = 0, $$13 = 0, $$4 = 0, $$9 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0; - var $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $id = 0, $level$08 = 0; - var $offset$07 = 0, $size$0 = 0, $vararg_buffer10 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); - $vararg_buffer10 = sp; - $id = sp + 4|0; - HEAP32[$vararg_buffer10>>2] = $width; - _TraceLog(3,7656,$vararg_buffer10); - HEAP32[$vararg_buffer10>>2] = $height; - _TraceLog(3,7688,$vararg_buffer10); - HEAP32[$vararg_buffer10>>2] = $mipmapCount; - _TraceLog(3,7720,$vararg_buffer10); - HEAP32[$vararg_buffer10>>2] = $compFormat; - _TraceLog(3,7760,$vararg_buffer10); - $0 = ($compFormat|0)==(0); - if ($0) { - HEAP32[$id>>2] = 0; - HEAP32[$vararg_buffer10>>2] = 0; - _TraceLog(2,7792,$vararg_buffer10); - $29 = HEAP32[$id>>2]|0; - STACKTOP = sp;return ($29|0); - } - _glGenTextures(1,($id|0)); - $1 = HEAP32[$id>>2]|0; - _glBindTexture(3553,($1|0)); - _glPixelStorei(3317,1); - _glTexParameteri(3553,10242,33071); - _glTexParameteri(3553,10243,33071); - $2 = ($mipmapCount|0)>(1); - if ($2) { - _glTexParameteri(3553,10240,9729); - _glTexParameteri(3553,10241,9987); - $3 = ($compFormat|0)==(33777); - $$9 = $3 ? 8 : 16; - $$10 = $$9;$30 = $3; - } else { - _glTexParameteri(3553,10240,9728); - _glTexParameteri(3553,10241,9728); - $4 = ($compFormat|0)==(33777); - $$ = $4 ? 8 : 16; - $5 = ($mipmapCount|0)>(0); - if ($5) { - $$10 = $$;$30 = $4; - } else { - $29 = HEAP32[$id>>2]|0; - STACKTOP = sp;return ($29|0); - } - } - $6 = ($compFormat|0)==(36196); - $$025 = $height;$$06 = $width;$level$08 = 0;$offset$07 = 0; - while(1) { - $7 = $$06 | $$025; - $8 = ($7|0)==(0); - if ($8) { - label = 13; - break; - } - if ($30) { - $9 = (($$06) + 3)|0; - $10 = (($9|0) / 4)&-1; - $11 = (($$025) + 3)|0; - $12 = (($11|0) / 4)&-1; - $13 = Math_imul($10, $$10)|0; - $14 = Math_imul($13, $12)|0; - $size$0 = $14; - } else { - if ($6) { - $15 = (($$06) + 3)|0; - $16 = $15 >> 2; - $17 = (($$025) + 3)|0; - $18 = $17 >>> 2; - $19 = $18 << 3; - $20 = Math_imul($19, $16)|0; - $size$0 = $20; - } else { - $size$0 = 0; - } - } - $21 = (($data) + ($offset$07)|0); - _glCompressedTexImage2D(3553,($level$08|0),($compFormat|0),($$06|0),($$025|0),0,($size$0|0),($21|0)); - $22 = (($size$0) + ($offset$07))|0; - $23 = (($$06|0) / 2)&-1; - $24 = (($$025|0) / 2)&-1; - $25 = ($$06|0)<(2); - $$4 = $25 ? 1 : $23; - $26 = ($$025|0)<(2); - $$13 = $26 ? 1 : $24; - $27 = (($level$08) + 1)|0; - $28 = ($27|0)<($mipmapCount|0); - if ($28) { - $$025 = $$13;$$06 = $$4;$level$08 = $27;$offset$07 = $22; - } else { - label = 13; - break; - } - } - if ((label|0) == 13) { - $29 = HEAP32[$id>>2]|0; - STACKTOP = sp;return ($29|0); - } - return 0|0; -} -function _VectorSubtract($agg$result,$v1,$v2) { - $agg$result = $agg$result|0; - $v1 = $v1|0; - $v2 = $v2|0; - var $0 = 0.0, $1 = 0.0, $10 = 0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0, $2 = 0.0, $3 = 0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $0 = +HEAPF32[$v1>>2]; - $1 = +HEAPF32[$v2>>2]; - $2 = $0 - $1; - $3 = (($v1) + 4|0); - $4 = +HEAPF32[$3>>2]; - $5 = (($v2) + 4|0); - $6 = +HEAPF32[$5>>2]; - $7 = $4 - $6; - $8 = (($v1) + 8|0); - $9 = +HEAPF32[$8>>2]; - $10 = (($v2) + 8|0); - $11 = +HEAPF32[$10>>2]; - $12 = $9 - $11; - HEAPF32[$agg$result>>2] = $2; - $13 = (($agg$result) + 4|0); - HEAPF32[$13>>2] = $7; - $14 = (($agg$result) + 8|0); - HEAPF32[$14>>2] = $12; - STACKTOP = sp;return; -} -function _VectorCrossProduct($agg$result,$v1,$v2) { - $agg$result = $agg$result|0; - $v1 = $v1|0; - $v2 = $v2|0; - var $0 = 0, $1 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0, $2 = 0, $20 = 0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0.0; - var $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (($v1) + 4|0); - $1 = +HEAPF32[$0>>2]; - $2 = (($v2) + 8|0); - $3 = +HEAPF32[$2>>2]; - $4 = $1 * $3; - $5 = (($v1) + 8|0); - $6 = +HEAPF32[$5>>2]; - $7 = (($v2) + 4|0); - $8 = +HEAPF32[$7>>2]; - $9 = $6 * $8; - $10 = $4 - $9; - $11 = +HEAPF32[$v2>>2]; - $12 = $6 * $11; - $13 = +HEAPF32[$v1>>2]; - $14 = $3 * $13; - $15 = $12 - $14; - $16 = $8 * $13; - $17 = $1 * $11; - $18 = $16 - $17; - HEAPF32[$agg$result>>2] = $10; - $19 = (($agg$result) + 4|0); - HEAPF32[$19>>2] = $15; - $20 = (($agg$result) + 8|0); - HEAPF32[$20>>2] = $18; - STACKTOP = sp;return; -} -function _VectorLength($v) { - $v = $v|0; - var $0 = 0.0, $1 = 0.0, $10 = 0.0, $2 = 0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $0 = +HEAPF32[$v>>2]; - $1 = $0 * $0; - $2 = (($v) + 4|0); - $3 = +HEAPF32[$2>>2]; - $4 = $3 * $3; - $5 = $1 + $4; - $6 = (($v) + 8|0); - $7 = +HEAPF32[$6>>2]; - $8 = $7 * $7; - $9 = $5 + $8; - $10 = (+Math_sqrt((+$9))); - STACKTOP = sp;return (+$10); -} -function _VectorScale($v,$scale) { - $v = $v|0; - $scale = +$scale; - var $0 = 0.0, $1 = 0.0, $2 = 0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $0 = +HEAPF32[$v>>2]; - $1 = $0 * $scale; - HEAPF32[$v>>2] = $1; - $2 = (($v) + 4|0); - $3 = +HEAPF32[$2>>2]; - $4 = $3 * $scale; - HEAPF32[$2>>2] = $4; - $5 = (($v) + 8|0); - $6 = +HEAPF32[$5>>2]; - $7 = $6 * $scale; - HEAPF32[$5>>2] = $7; - STACKTOP = sp;return; -} -function _VectorNormalize($v) { - $v = $v|0; - var $0 = 0.0, $1 = 0, $10 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0.0, $length$0 = 0.0, $v$byval_copy = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); - $v$byval_copy = sp; - ;HEAP32[$v$byval_copy+0>>2]=HEAP32[$v+0>>2]|0;HEAP32[$v$byval_copy+4>>2]=HEAP32[$v+4>>2]|0;HEAP32[$v$byval_copy+8>>2]=HEAP32[$v+8>>2]|0; - $0 = (+_VectorLength($v$byval_copy)); - $1 = $0 == 0.0; - $length$0 = $1 ? 1.0 : $0; - $2 = 1.0 / $length$0; - $3 = +HEAPF32[$v>>2]; - $4 = $2 * $3; - HEAPF32[$v>>2] = $4; - $5 = (($v) + 4|0); - $6 = +HEAPF32[$5>>2]; - $7 = $2 * $6; - HEAPF32[$5>>2] = $7; - $8 = (($v) + 8|0); - $9 = +HEAPF32[$8>>2]; - $10 = $2 * $9; - HEAPF32[$8>>2] = $10; - STACKTOP = sp;return; -} -function _VectorTransform($v,$mat) { - $v = $v|0; - $mat = $mat|0; - var $0 = 0.0, $1 = 0, $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0, $16 = 0.0, $17 = 0.0, $18 = 0, $19 = 0.0, $2 = 0.0, $20 = 0.0, $21 = 0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0, $26 = 0.0; - var $27 = 0.0, $28 = 0.0, $29 = 0, $3 = 0, $30 = 0.0, $31 = 0.0, $32 = 0, $33 = 0.0, $34 = 0.0, $35 = 0, $36 = 0.0, $37 = 0.0, $38 = 0.0, $39 = 0, $4 = 0.0, $40 = 0.0, $41 = 0.0, $42 = 0.0, $43 = 0, $44 = 0.0; - var $45 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $0 = +HEAPF32[$v>>2]; - $1 = (($v) + 4|0); - $2 = +HEAPF32[$1>>2]; - $3 = (($v) + 8|0); - $4 = +HEAPF32[$3>>2]; - $5 = +HEAPF32[$mat>>2]; - $6 = $0 * $5; - $7 = (($mat) + 4|0); - $8 = +HEAPF32[$7>>2]; - $9 = $2 * $8; - $10 = $6 + $9; - $11 = (($mat) + 8|0); - $12 = +HEAPF32[$11>>2]; - $13 = $4 * $12; - $14 = $10 + $13; - $15 = (($mat) + 12|0); - $16 = +HEAPF32[$15>>2]; - $17 = $16 + $14; - HEAPF32[$v>>2] = $17; - $18 = (($mat) + 16|0); - $19 = +HEAPF32[$18>>2]; - $20 = $0 * $19; - $21 = (($mat) + 20|0); - $22 = +HEAPF32[$21>>2]; - $23 = $2 * $22; - $24 = $20 + $23; - $25 = (($mat) + 24|0); - $26 = +HEAPF32[$25>>2]; - $27 = $4 * $26; - $28 = $24 + $27; - $29 = (($mat) + 28|0); - $30 = +HEAPF32[$29>>2]; - $31 = $30 + $28; - HEAPF32[$1>>2] = $31; - $32 = (($mat) + 32|0); - $33 = +HEAPF32[$32>>2]; - $34 = $0 * $33; - $35 = (($mat) + 36|0); - $36 = +HEAPF32[$35>>2]; - $37 = $2 * $36; - $38 = $34 + $37; - $39 = (($mat) + 40|0); - $40 = +HEAPF32[$39>>2]; - $41 = $4 * $40; - $42 = $38 + $41; - $43 = (($mat) + 44|0); - $44 = +HEAPF32[$43>>2]; - $45 = $44 + $42; - HEAPF32[$3>>2] = $45; - STACKTOP = sp;return; -} -function _VectorZero($agg$result) { - $agg$result = $agg$result|0; - var label = 0, sp = 0; - sp = STACKTOP; - ;HEAP32[$agg$result+0>>2]=0|0;HEAP32[$agg$result+4>>2]=0|0;HEAP32[$agg$result+8>>2]=0|0; - STACKTOP = sp;return; -} -function _GetMatrixVector($mat) { - $mat = $mat|0; - var $0 = 0.0, $1 = 0, $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0, $16 = 0.0, $17 = 0, $18 = 0.0, $19 = 0, $2 = 0.0, $20 = 0.0, $21 = 0, $22 = 0.0, $23 = 0, $24 = 0.0, $25 = 0, $26 = 0.0; - var $27 = 0, $28 = 0.0, $29 = 0, $3 = 0, $30 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = +HEAPF32[$mat>>2]; - HEAPF32[9344>>2] = $0; - $1 = (($mat) + 4|0); - $2 = +HEAPF32[$1>>2]; - HEAPF32[((9344 + 4|0))>>2] = $2; - $3 = (($mat) + 8|0); - $4 = +HEAPF32[$3>>2]; - HEAPF32[((9344 + 8|0))>>2] = $4; - $5 = (($mat) + 12|0); - $6 = +HEAPF32[$5>>2]; - HEAPF32[((9344 + 12|0))>>2] = $6; - $7 = (($mat) + 16|0); - $8 = +HEAPF32[$7>>2]; - HEAPF32[((9344 + 16|0))>>2] = $8; - $9 = (($mat) + 20|0); - $10 = +HEAPF32[$9>>2]; - HEAPF32[((9344 + 20|0))>>2] = $10; - $11 = (($mat) + 24|0); - $12 = +HEAPF32[$11>>2]; - HEAPF32[((9344 + 24|0))>>2] = $12; - $13 = (($mat) + 28|0); - $14 = +HEAPF32[$13>>2]; - HEAPF32[((9344 + 28|0))>>2] = $14; - $15 = (($mat) + 32|0); - $16 = +HEAPF32[$15>>2]; - HEAPF32[((9344 + 32|0))>>2] = $16; - $17 = (($mat) + 36|0); - $18 = +HEAPF32[$17>>2]; - HEAPF32[((9344 + 36|0))>>2] = $18; - $19 = (($mat) + 40|0); - $20 = +HEAPF32[$19>>2]; - HEAPF32[((9344 + 40|0))>>2] = $20; - $21 = (($mat) + 44|0); - $22 = +HEAPF32[$21>>2]; - HEAPF32[((9344 + 44|0))>>2] = $22; - $23 = (($mat) + 48|0); - $24 = +HEAPF32[$23>>2]; - HEAPF32[((9344 + 48|0))>>2] = $24; - $25 = (($mat) + 52|0); - $26 = +HEAPF32[$25>>2]; - HEAPF32[((9344 + 52|0))>>2] = $26; - $27 = (($mat) + 56|0); - $28 = +HEAPF32[$27>>2]; - HEAPF32[((9344 + 56|0))>>2] = $28; - $29 = (($mat) + 60|0); - $30 = +HEAPF32[$29>>2]; - HEAPF32[((9344 + 60|0))>>2] = $30; - STACKTOP = sp;return (9344|0); -} -function _MatrixTranspose($mat) { - $mat = $mat|0; - var $0 = 0, $1 = 0.0, $10 = 0, $11 = 0.0, $12 = 0, $13 = 0.0, $14 = 0, $15 = 0.0, $16 = 0, $17 = 0.0, $18 = 0, $19 = 0.0, $2 = 0, $20 = 0, $21 = 0.0, $22 = 0, $23 = 0.0, $3 = 0.0, $4 = 0, $5 = 0.0; - var $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (($mat) + 4|0); - $1 = +HEAPF32[$0>>2]; - $2 = (($mat) + 8|0); - $3 = +HEAPF32[$2>>2]; - $4 = (($mat) + 12|0); - $5 = +HEAPF32[$4>>2]; - $6 = (($mat) + 16|0); - $7 = +HEAPF32[$6>>2]; - $8 = (($mat) + 24|0); - $9 = +HEAPF32[$8>>2]; - $10 = (($mat) + 28|0); - $11 = +HEAPF32[$10>>2]; - $12 = (($mat) + 32|0); - $13 = +HEAPF32[$12>>2]; - $14 = (($mat) + 36|0); - $15 = +HEAPF32[$14>>2]; - $16 = (($mat) + 44|0); - $17 = +HEAPF32[$16>>2]; - $18 = (($mat) + 48|0); - $19 = +HEAPF32[$18>>2]; - $20 = (($mat) + 52|0); - $21 = +HEAPF32[$20>>2]; - $22 = (($mat) + 56|0); - $23 = +HEAPF32[$22>>2]; - HEAPF32[$0>>2] = $7; - HEAPF32[$2>>2] = $13; - HEAPF32[$4>>2] = $19; - HEAPF32[$6>>2] = $1; - HEAPF32[$8>>2] = $15; - HEAPF32[$10>>2] = $21; - HEAPF32[$12>>2] = $3; - HEAPF32[$14>>2] = $9; - HEAPF32[$16>>2] = $23; - HEAPF32[$18>>2] = $5; - HEAPF32[$20>>2] = $11; - HEAPF32[$22>>2] = $17; - STACKTOP = sp;return; -} -function _MatrixIdentity($agg$result) { - $agg$result = $agg$result|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $result$sroa$1 = 0, $result$sroa$3 = 0, $result$sroa$5 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); - $result$sroa$1 = sp + 32|0; - $result$sroa$3 = sp; - $result$sroa$5 = sp + 16|0; - ;HEAP32[$result$sroa$1+0>>2]=0|0;HEAP32[$result$sroa$1+4>>2]=0|0;HEAP32[$result$sroa$1+8>>2]=0|0;HEAP32[$result$sroa$1+12>>2]=0|0; - ;HEAP32[$result$sroa$3+0>>2]=0|0;HEAP32[$result$sroa$3+4>>2]=0|0;HEAP32[$result$sroa$3+8>>2]=0|0;HEAP32[$result$sroa$3+12>>2]=0|0; - ;HEAP32[$result$sroa$5+0>>2]=0|0;HEAP32[$result$sroa$5+4>>2]=0|0;HEAP32[$result$sroa$5+8>>2]=0|0;HEAP32[$result$sroa$5+12>>2]=0|0; - HEAPF32[$agg$result>>2] = 1.0; - $0 = (($agg$result) + 4|0); - ;HEAP32[$0+0>>2]=HEAP32[$result$sroa$1+0>>2]|0;HEAP32[$0+4>>2]=HEAP32[$result$sroa$1+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$result$sroa$1+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$result$sroa$1+12>>2]|0; - $1 = (($agg$result) + 20|0); - HEAPF32[$1>>2] = 1.0; - $2 = (($agg$result) + 24|0); - ;HEAP32[$2+0>>2]=HEAP32[$result$sroa$3+0>>2]|0;HEAP32[$2+4>>2]=HEAP32[$result$sroa$3+4>>2]|0;HEAP32[$2+8>>2]=HEAP32[$result$sroa$3+8>>2]|0;HEAP32[$2+12>>2]=HEAP32[$result$sroa$3+12>>2]|0; - $3 = (($agg$result) + 40|0); - HEAPF32[$3>>2] = 1.0; - $4 = (($agg$result) + 44|0); - ;HEAP32[$4+0>>2]=HEAP32[$result$sroa$5+0>>2]|0;HEAP32[$4+4>>2]=HEAP32[$result$sroa$5+4>>2]|0;HEAP32[$4+8>>2]=HEAP32[$result$sroa$5+8>>2]|0;HEAP32[$4+12>>2]=HEAP32[$result$sroa$5+12>>2]|0; - $5 = (($agg$result) + 60|0); - HEAPF32[$5>>2] = 1.0; - STACKTOP = sp;return; -} -function _MatrixTranslate($agg$result,$x,$y,$z) { - $agg$result = $agg$result|0; - $x = +$x; - $y = +$y; - $z = +$z; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; - sp = STACKTOP; - HEAPF32[$agg$result>>2] = 1.0; - $0 = (($agg$result) + 4|0); - $1 = (($agg$result) + 20|0); - ;HEAP32[$0+0>>2]=0|0;HEAP32[$0+4>>2]=0|0;HEAP32[$0+8>>2]=0|0;HEAP32[$0+12>>2]=0|0; - HEAPF32[$1>>2] = 1.0; - $2 = (($agg$result) + 24|0); - $3 = (($agg$result) + 40|0); - ;HEAP32[$2+0>>2]=0|0;HEAP32[$2+4>>2]=0|0;HEAP32[$2+8>>2]=0|0;HEAP32[$2+12>>2]=0|0; - HEAPF32[$3>>2] = 1.0; - $4 = (($agg$result) + 44|0); - HEAPF32[$4>>2] = 0.0; - $5 = (($agg$result) + 48|0); - HEAPF32[$5>>2] = $x; - $6 = (($agg$result) + 52|0); - HEAPF32[$6>>2] = $y; - $7 = (($agg$result) + 56|0); - HEAPF32[$7>>2] = $z; - $8 = (($agg$result) + 60|0); - HEAPF32[$8>>2] = 1.0; - STACKTOP = sp;return; -} -function _MatrixRotate($agg$result,$angleX,$angleY,$angleZ) { - $agg$result = $agg$result|0; - $angleX = +$angleX; - $angleY = +$angleY; - $angleZ = +$angleZ; - var $$byval_copy = 0, $0 = 0, $result = 0, $rotX = 0, $rotY = 0, $rotZ = 0, $rotZ$byval_copy = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 448|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); - $rotZ$byval_copy = sp + 384|0; - $$byval_copy = sp; - $result = sp + 64|0; - $rotX = sp + 128|0; - $rotY = sp + 192|0; - $rotZ = sp + 256|0; - $0 = sp + 320|0; - _MatrixRotateX($rotX,$angleX); - _MatrixRotateY($rotY,$angleY); - _MatrixRotateZ($rotZ,$angleZ); - dest=$$byval_copy+0|0; src=$rotX+0|0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$rotZ$byval_copy+0|0; src=$rotY+0|0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixMultiply($0,$$byval_copy,$rotZ$byval_copy); - dest=$$byval_copy+0|0; src=$0+0|0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$rotZ$byval_copy+0|0; src=$rotZ+0|0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixMultiply($result,$$byval_copy,$rotZ$byval_copy); - dest=$agg$result+0|0; src=$result+0|0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; -} -function _MatrixRotateX($agg$result,$angle) { - $agg$result = $agg$result|0; - $angle = +$angle; - var $0 = 0.0, $1 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0, $9 = 0, $result = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); - $result = sp; - _MatrixIdentity($result); - $0 = $angle; - $1 = (+Math_cos((+$0))); - $2 = $1; - $3 = (+Math_sin((+$0))); - $4 = $3; - $5 = (($result) + 20|0); - HEAPF32[$5>>2] = $2; - $6 = -$4; - $7 = (($result) + 36|0); - HEAPF32[$7>>2] = $6; - $8 = (($result) + 24|0); - HEAPF32[$8>>2] = $4; - $9 = (($result) + 40|0); - HEAPF32[$9>>2] = $2; - dest=$agg$result+0|0; src=$result+0|0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; -} -function _MatrixRotateY($agg$result,$angle) { - $agg$result = $agg$result|0; - $angle = +$angle; - var $0 = 0.0, $1 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0, $result = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); - $result = sp; - _MatrixIdentity($result); - $0 = $angle; - $1 = (+Math_cos((+$0))); - $2 = $1; - $3 = (+Math_sin((+$0))); - $4 = $3; - HEAPF32[$result>>2] = $2; - $5 = (($result) + 32|0); - HEAPF32[$5>>2] = $4; - $6 = -$4; - $7 = (($result) + 8|0); - HEAPF32[$7>>2] = $6; - $8 = (($result) + 40|0); - HEAPF32[$8>>2] = $2; - dest=$agg$result+0|0; src=$result+0|0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; -} -function _MatrixRotateZ($agg$result,$angle) { - $agg$result = $agg$result|0; - $angle = +$angle; - var $0 = 0.0, $1 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0, $8 = 0, $result = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); - $result = sp; - _MatrixIdentity($result); - $0 = $angle; - $1 = (+Math_cos((+$0))); - $2 = $1; - $3 = (+Math_sin((+$0))); - $4 = $3; - HEAPF32[$result>>2] = $2; - $5 = -$4; - $6 = (($result) + 16|0); - HEAPF32[$6>>2] = $5; - $7 = (($result) + 4|0); - HEAPF32[$7>>2] = $4; - $8 = (($result) + 20|0); - HEAPF32[$8>>2] = $2; - dest=$agg$result+0|0; src=$result+0|0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; -} -function _MatrixMultiply($agg$result,$left,$right) { - $agg$result = $agg$result|0; - $left = $left|0; - $right = $right|0; - var $0 = 0.0, $1 = 0, $10 = 0.0, $100 = 0.0, $101 = 0.0, $102 = 0.0, $103 = 0.0, $104 = 0.0, $105 = 0.0, $106 = 0.0, $107 = 0.0, $108 = 0.0, $109 = 0.0, $11 = 0, $110 = 0.0, $111 = 0.0, $112 = 0.0, $113 = 0.0, $114 = 0.0, $115 = 0.0; - var $116 = 0.0, $117 = 0.0, $118 = 0.0, $119 = 0.0, $12 = 0.0, $120 = 0.0, $121 = 0.0, $122 = 0.0, $123 = 0.0, $124 = 0.0, $125 = 0.0, $126 = 0.0, $127 = 0.0, $128 = 0.0, $129 = 0.0, $13 = 0, $130 = 0.0, $131 = 0.0, $132 = 0.0, $133 = 0.0; - var $134 = 0.0, $135 = 0.0, $136 = 0.0, $137 = 0.0, $138 = 0.0, $139 = 0.0, $14 = 0.0, $140 = 0.0, $141 = 0.0, $142 = 0.0, $143 = 0.0, $144 = 0.0, $145 = 0.0, $146 = 0.0, $147 = 0.0, $148 = 0.0, $149 = 0.0, $15 = 0, $150 = 0.0, $151 = 0.0; - var $152 = 0.0, $153 = 0.0, $154 = 0.0, $155 = 0.0, $156 = 0.0, $157 = 0.0, $158 = 0.0, $159 = 0.0, $16 = 0.0, $160 = 0.0, $161 = 0.0, $162 = 0.0, $163 = 0.0, $164 = 0.0, $165 = 0.0, $166 = 0.0, $167 = 0.0, $168 = 0.0, $169 = 0.0, $17 = 0; - var $170 = 0.0, $171 = 0.0, $172 = 0.0, $173 = 0.0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0.0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; - var $19 = 0, $2 = 0.0, $20 = 0.0, $21 = 0, $22 = 0.0, $23 = 0, $24 = 0.0, $25 = 0, $26 = 0.0, $27 = 0, $28 = 0.0, $29 = 0, $3 = 0, $30 = 0.0, $31 = 0.0, $32 = 0, $33 = 0.0, $34 = 0, $35 = 0.0, $36 = 0; - var $37 = 0.0, $38 = 0, $39 = 0.0, $4 = 0.0, $40 = 0, $41 = 0.0, $42 = 0, $43 = 0.0, $44 = 0, $45 = 0.0, $46 = 0, $47 = 0.0, $48 = 0, $49 = 0.0, $5 = 0, $50 = 0, $51 = 0.0, $52 = 0, $53 = 0.0, $54 = 0; - var $55 = 0.0, $56 = 0, $57 = 0.0, $58 = 0, $59 = 0.0, $6 = 0.0, $60 = 0, $61 = 0.0, $62 = 0.0, $63 = 0.0, $64 = 0.0, $65 = 0.0, $66 = 0.0, $67 = 0.0, $68 = 0.0, $69 = 0.0, $7 = 0, $70 = 0.0, $71 = 0.0, $72 = 0.0; - var $73 = 0.0, $74 = 0.0, $75 = 0.0, $76 = 0.0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0.0, $80 = 0.0, $81 = 0.0, $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0.0, $86 = 0.0, $87 = 0.0, $88 = 0.0, $89 = 0.0, $9 = 0, $90 = 0.0; - var $91 = 0.0, $92 = 0.0, $93 = 0.0, $94 = 0.0, $95 = 0.0, $96 = 0.0, $97 = 0.0, $98 = 0.0, $99 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $0 = +HEAPF32[$left>>2]; - $1 = (($left) + 16|0); - $2 = +HEAPF32[$1>>2]; - $3 = (($left) + 32|0); - $4 = +HEAPF32[$3>>2]; - $5 = (($left) + 48|0); - $6 = +HEAPF32[$5>>2]; - $7 = (($left) + 4|0); - $8 = +HEAPF32[$7>>2]; - $9 = (($left) + 20|0); - $10 = +HEAPF32[$9>>2]; - $11 = (($left) + 36|0); - $12 = +HEAPF32[$11>>2]; - $13 = (($left) + 52|0); - $14 = +HEAPF32[$13>>2]; - $15 = (($left) + 8|0); - $16 = +HEAPF32[$15>>2]; - $17 = (($left) + 24|0); - $18 = +HEAPF32[$17>>2]; - $19 = (($left) + 40|0); - $20 = +HEAPF32[$19>>2]; - $21 = (($left) + 56|0); - $22 = +HEAPF32[$21>>2]; - $23 = (($left) + 12|0); - $24 = +HEAPF32[$23>>2]; - $25 = (($left) + 28|0); - $26 = +HEAPF32[$25>>2]; - $27 = (($left) + 44|0); - $28 = +HEAPF32[$27>>2]; - $29 = (($left) + 60|0); - $30 = +HEAPF32[$29>>2]; - $31 = +HEAPF32[$right>>2]; - $32 = (($right) + 16|0); - $33 = +HEAPF32[$32>>2]; - $34 = (($right) + 32|0); - $35 = +HEAPF32[$34>>2]; - $36 = (($right) + 48|0); - $37 = +HEAPF32[$36>>2]; - $38 = (($right) + 4|0); - $39 = +HEAPF32[$38>>2]; - $40 = (($right) + 20|0); - $41 = +HEAPF32[$40>>2]; - $42 = (($right) + 36|0); - $43 = +HEAPF32[$42>>2]; - $44 = (($right) + 52|0); - $45 = +HEAPF32[$44>>2]; - $46 = (($right) + 8|0); - $47 = +HEAPF32[$46>>2]; - $48 = (($right) + 24|0); - $49 = +HEAPF32[$48>>2]; - $50 = (($right) + 40|0); - $51 = +HEAPF32[$50>>2]; - $52 = (($right) + 56|0); - $53 = +HEAPF32[$52>>2]; - $54 = (($right) + 12|0); - $55 = +HEAPF32[$54>>2]; - $56 = (($right) + 28|0); - $57 = +HEAPF32[$56>>2]; - $58 = (($right) + 44|0); - $59 = +HEAPF32[$58>>2]; - $60 = (($right) + 60|0); - $61 = +HEAPF32[$60>>2]; - $62 = $0 * $31; - $63 = $8 * $33; - $64 = $62 + $63; - $65 = $16 * $35; - $66 = $64 + $65; - $67 = $24 * $37; - $68 = $66 + $67; - $69 = $2 * $31; - $70 = $10 * $33; - $71 = $69 + $70; - $72 = $18 * $35; - $73 = $71 + $72; - $74 = $26 * $37; - $75 = $73 + $74; - $76 = $4 * $31; - $77 = $12 * $33; - $78 = $76 + $77; - $79 = $20 * $35; - $80 = $78 + $79; - $81 = $28 * $37; - $82 = $80 + $81; - $83 = $6 * $31; - $84 = $14 * $33; - $85 = $83 + $84; - $86 = $22 * $35; - $87 = $85 + $86; - $88 = $30 * $37; - $89 = $87 + $88; - $90 = $0 * $39; - $91 = $8 * $41; - $92 = $90 + $91; - $93 = $16 * $43; - $94 = $92 + $93; - $95 = $24 * $45; - $96 = $94 + $95; - $97 = $2 * $39; - $98 = $10 * $41; - $99 = $97 + $98; - $100 = $18 * $43; - $101 = $99 + $100; - $102 = $26 * $45; - $103 = $101 + $102; - $104 = $4 * $39; - $105 = $12 * $41; - $106 = $104 + $105; - $107 = $20 * $43; - $108 = $106 + $107; - $109 = $28 * $45; - $110 = $108 + $109; - $111 = $6 * $39; - $112 = $14 * $41; - $113 = $111 + $112; - $114 = $22 * $43; - $115 = $113 + $114; - $116 = $30 * $45; - $117 = $115 + $116; - $118 = $0 * $47; - $119 = $8 * $49; - $120 = $118 + $119; - $121 = $16 * $51; - $122 = $120 + $121; - $123 = $24 * $53; - $124 = $122 + $123; - $125 = $2 * $47; - $126 = $10 * $49; - $127 = $125 + $126; - $128 = $18 * $51; - $129 = $127 + $128; - $130 = $26 * $53; - $131 = $129 + $130; - $132 = $4 * $47; - $133 = $12 * $49; - $134 = $132 + $133; - $135 = $20 * $51; - $136 = $134 + $135; - $137 = $28 * $53; - $138 = $136 + $137; - $139 = $6 * $47; - $140 = $14 * $49; - $141 = $139 + $140; - $142 = $22 * $51; - $143 = $141 + $142; - $144 = $30 * $53; - $145 = $143 + $144; - $146 = $0 * $55; - $147 = $8 * $57; - $148 = $146 + $147; - $149 = $16 * $59; - $150 = $148 + $149; - $151 = $24 * $61; - $152 = $150 + $151; - $153 = $2 * $55; - $154 = $10 * $57; - $155 = $153 + $154; - $156 = $18 * $59; - $157 = $155 + $156; - $158 = $26 * $61; - $159 = $157 + $158; - $160 = $4 * $55; - $161 = $12 * $57; - $162 = $160 + $161; - $163 = $20 * $59; - $164 = $162 + $163; - $165 = $28 * $61; - $166 = $164 + $165; - $167 = $6 * $55; - $168 = $14 * $57; - $169 = $167 + $168; - $170 = $22 * $59; - $171 = $169 + $170; - $172 = $30 * $61; - $173 = $171 + $172; - HEAPF32[$agg$result>>2] = $68; - $174 = (($agg$result) + 4|0); - HEAPF32[$174>>2] = $96; - $175 = (($agg$result) + 8|0); - HEAPF32[$175>>2] = $124; - $176 = (($agg$result) + 12|0); - HEAPF32[$176>>2] = $152; - $177 = (($agg$result) + 16|0); - HEAPF32[$177>>2] = $75; - $178 = (($agg$result) + 20|0); - HEAPF32[$178>>2] = $103; - $179 = (($agg$result) + 24|0); - HEAPF32[$179>>2] = $131; - $180 = (($agg$result) + 28|0); - HEAPF32[$180>>2] = $159; - $181 = (($agg$result) + 32|0); - HEAPF32[$181>>2] = $82; - $182 = (($agg$result) + 36|0); - HEAPF32[$182>>2] = $110; - $183 = (($agg$result) + 40|0); - HEAPF32[$183>>2] = $138; - $184 = (($agg$result) + 44|0); - HEAPF32[$184>>2] = $166; - $185 = (($agg$result) + 48|0); - HEAPF32[$185>>2] = $89; - $186 = (($agg$result) + 52|0); - HEAPF32[$186>>2] = $117; - $187 = (($agg$result) + 56|0); - HEAPF32[$187>>2] = $145; - $188 = (($agg$result) + 60|0); - HEAPF32[$188>>2] = $173; - STACKTOP = sp;return; -} -function _MatrixScale($agg$result,$x,$y,$z) { - $agg$result = $agg$result|0; - $x = +$x; - $y = +$y; - $z = +$z; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; - sp = STACKTOP; - HEAPF32[$agg$result>>2] = $x; - $0 = (($agg$result) + 4|0); - $1 = (($agg$result) + 20|0); - ;HEAP32[$0+0>>2]=0|0;HEAP32[$0+4>>2]=0|0;HEAP32[$0+8>>2]=0|0;HEAP32[$0+12>>2]=0|0; - HEAPF32[$1>>2] = $y; - $2 = (($agg$result) + 24|0); - $3 = (($agg$result) + 40|0); - ;HEAP32[$2+0>>2]=0|0;HEAP32[$2+4>>2]=0|0;HEAP32[$2+8>>2]=0|0;HEAP32[$2+12>>2]=0|0; - HEAPF32[$3>>2] = $z; - $4 = (($agg$result) + 44|0); - $5 = (($agg$result) + 60|0); - ;HEAP32[$4+0>>2]=0|0;HEAP32[$4+4>>2]=0|0;HEAP32[$4+8>>2]=0|0;HEAP32[$4+12>>2]=0|0; - HEAPF32[$5>>2] = 1.0; - STACKTOP = sp;return; -} -function _MatrixTransform($agg$result,$translation,$rotation,$scale) { - $agg$result = $agg$result|0; - $translation = $translation|0; - $rotation = $rotation|0; - $scale = $scale|0; - var $$byval_copy = 0, $0 = 0, $1 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $14 = 0, $15 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0, $mRotation = 0, $mScale = 0, $mTranslate = 0; - var $mTranslate$byval_copy = 0, $result = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 448|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); - $mTranslate$byval_copy = sp + 384|0; - $$byval_copy = sp; - $result = sp + 64|0; - $mRotation = sp + 128|0; - $mScale = sp + 192|0; - $mTranslate = sp + 256|0; - $0 = sp + 320|0; - _MatrixIdentity($result); - $1 = +HEAPF32[$rotation>>2]; - $2 = (($rotation) + 4|0); - $3 = +HEAPF32[$2>>2]; - $4 = (($rotation) + 8|0); - $5 = +HEAPF32[$4>>2]; - _MatrixRotate($mRotation,$1,$3,$5); - $6 = +HEAPF32[$scale>>2]; - $7 = (($scale) + 4|0); - $8 = +HEAPF32[$7>>2]; - $9 = (($scale) + 8|0); - $10 = +HEAPF32[$9>>2]; - _MatrixScale($mScale,$6,$8,$10); - $11 = +HEAPF32[$translation>>2]; - $12 = (($translation) + 4|0); - $13 = +HEAPF32[$12>>2]; - $14 = (($translation) + 8|0); - $15 = +HEAPF32[$14>>2]; - _MatrixTranslate($mTranslate,$11,$13,$15); - dest=$$byval_copy+0|0; src=$mRotation+0|0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$mTranslate$byval_copy+0|0; src=$mScale+0|0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixMultiply($0,$$byval_copy,$mTranslate$byval_copy); - dest=$$byval_copy+0|0; src=$0+0|0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$mTranslate$byval_copy+0|0; src=$mTranslate+0|0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixMultiply($result,$$byval_copy,$mTranslate$byval_copy); - dest=$agg$result+0|0; src=$result+0|0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; -} -function _MatrixFrustum($agg$result,$left,$right,$bottom,$top,$near,$far) { - $agg$result = $agg$result|0; - $left = +$left; - $right = +$right; - $bottom = +$bottom; - $top = +$top; - $near = +$near; - $far = +$far; - var $0 = 0.0, $1 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $2 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0.0, $26 = 0.0; - var $27 = 0.0, $28 = 0.0, $29 = 0, $3 = 0.0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0.0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $5 = 0.0; - var $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $0 = $right - $left; - $1 = $0; - $2 = $top - $bottom; - $3 = $2; - $4 = $far - $near; - $5 = $4; - $6 = $near * 2.0; - $7 = $1; - $8 = $6 / $7; - $9 = $8; - $10 = $3; - $11 = $6 / $10; - $12 = $11; - $13 = $left + $right; - $14 = $13 / $7; - $15 = $14; - $16 = $bottom + $top; - $17 = $16 / $10; - $18 = $17; - $19 = $near + $far; - $20 = -$19; - $21 = $5; - $22 = $20 / $21; - $23 = $22; - $24 = $near * $far; - $25 = $24 * 2.0; - $26 = -$25; - $27 = $26 / $21; - $28 = $27; - HEAPF32[$agg$result>>2] = $9; - $29 = (($agg$result) + 4|0); - HEAPF32[$29>>2] = 0.0; - $30 = (($agg$result) + 8|0); - HEAPF32[$30>>2] = $15; - $31 = (($agg$result) + 12|0); - HEAPF32[$31>>2] = 0.0; - $32 = (($agg$result) + 16|0); - HEAPF32[$32>>2] = 0.0; - $33 = (($agg$result) + 20|0); - HEAPF32[$33>>2] = $12; - $34 = (($agg$result) + 24|0); - HEAPF32[$34>>2] = $18; - $35 = (($agg$result) + 28|0); - HEAPF32[$35>>2] = 0.0; - $36 = (($agg$result) + 32|0); - HEAPF32[$36>>2] = 0.0; - $37 = (($agg$result) + 36|0); - HEAPF32[$37>>2] = 0.0; - $38 = (($agg$result) + 40|0); - HEAPF32[$38>>2] = $23; - $39 = (($agg$result) + 44|0); - HEAPF32[$39>>2] = $28; - $40 = (($agg$result) + 48|0); - HEAPF32[$40>>2] = 0.0; - $41 = (($agg$result) + 52|0); - HEAPF32[$41>>2] = 0.0; - $42 = (($agg$result) + 56|0); - HEAPF32[$42>>2] = -1.0; - $43 = (($agg$result) + 60|0); - HEAPF32[$43>>2] = 0.0; - STACKTOP = sp;return; -} -function _MatrixOrtho($agg$result,$left,$right,$bottom,$top,$near,$far) { - $agg$result = $agg$result|0; - $left = +$left; - $right = +$right; - $bottom = +$bottom; - $top = +$top; - $near = +$near; - $far = +$far; - var $0 = 0.0, $1 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $2 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0.0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0; - var sp = 0; - sp = STACKTOP; - $0 = $right - $left; - $1 = $0; - $2 = $top - $bottom; - $3 = $2; - $4 = $far - $near; - $5 = $4; - $6 = 2.0 / $1; - $7 = 2.0 / $3; - $8 = -2.0 / $5; - $9 = $left + $right; - $10 = -$9; - $11 = $1; - $12 = $10 / $11; - $13 = $12; - $14 = $bottom + $top; - $15 = -$14; - $16 = $3; - $17 = $15 / $16; - $18 = $17; - $19 = $near + $far; - $20 = -$19; - $21 = $5; - $22 = $20 / $21; - $23 = $22; - HEAPF32[$agg$result>>2] = $6; - $24 = (($agg$result) + 4|0); - HEAPF32[$24>>2] = 0.0; - $25 = (($agg$result) + 8|0); - HEAPF32[$25>>2] = 0.0; - $26 = (($agg$result) + 12|0); - HEAPF32[$26>>2] = $13; - $27 = (($agg$result) + 16|0); - HEAPF32[$27>>2] = 0.0; - $28 = (($agg$result) + 20|0); - HEAPF32[$28>>2] = $7; - $29 = (($agg$result) + 24|0); - HEAPF32[$29>>2] = 0.0; - $30 = (($agg$result) + 28|0); - HEAPF32[$30>>2] = $18; - $31 = (($agg$result) + 32|0); - HEAPF32[$31>>2] = 0.0; - $32 = (($agg$result) + 36|0); - HEAPF32[$32>>2] = 0.0; - $33 = (($agg$result) + 40|0); - HEAPF32[$33>>2] = $8; - $34 = (($agg$result) + 44|0); - HEAPF32[$34>>2] = $23; - $35 = (($agg$result) + 48|0); - HEAPF32[$35>>2] = 0.0; - $36 = (($agg$result) + 52|0); - HEAPF32[$36>>2] = 0.0; - $37 = (($agg$result) + 56|0); - HEAPF32[$37>>2] = 0.0; - $38 = (($agg$result) + 60|0); - HEAPF32[$38>>2] = 1.0; - STACKTOP = sp;return; -} -function _MatrixLookAt($agg$result,$eye,$target,$up) { - $agg$result = $agg$result|0; - $eye = $eye|0; - $target = $target|0; - $up = $up|0; - var $0 = 0.0, $1 = 0, $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0, $18 = 0.0, $19 = 0, $2 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0.0, $26 = 0.0; - var $27 = 0.0, $28 = 0, $29 = 0.0, $3 = 0, $30 = 0, $31 = 0.0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0.0, $36 = 0.0, $37 = 0.0, $38 = 0, $39 = 0, $4 = 0.0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0.0, $50 = 0, $51 = 0, $52 = 0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, $x = 0, $x$byval_copy = 0, $y = 0, $z = 0, $z$byval_copy1 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); - $x$byval_copy = sp + 48|0; - $z$byval_copy1 = sp; - $z = sp + 12|0; - $x = sp + 24|0; - $y = sp + 36|0; - ;HEAP32[$z$byval_copy1+0>>2]=HEAP32[$eye+0>>2]|0;HEAP32[$z$byval_copy1+4>>2]=HEAP32[$eye+4>>2]|0;HEAP32[$z$byval_copy1+8>>2]=HEAP32[$eye+8>>2]|0; - ;HEAP32[$x$byval_copy+0>>2]=HEAP32[$target+0>>2]|0;HEAP32[$x$byval_copy+4>>2]=HEAP32[$target+4>>2]|0;HEAP32[$x$byval_copy+8>>2]=HEAP32[$target+8>>2]|0; - _VectorSubtract($z,$z$byval_copy1,$x$byval_copy); - _VectorNormalize($z); - ;HEAP32[$z$byval_copy1+0>>2]=HEAP32[$up+0>>2]|0;HEAP32[$z$byval_copy1+4>>2]=HEAP32[$up+4>>2]|0;HEAP32[$z$byval_copy1+8>>2]=HEAP32[$up+8>>2]|0; - ;HEAP32[$x$byval_copy+0>>2]=HEAP32[$z+0>>2]|0;HEAP32[$x$byval_copy+4>>2]=HEAP32[$z+4>>2]|0;HEAP32[$x$byval_copy+8>>2]=HEAP32[$z+8>>2]|0; - _VectorCrossProduct($x,$z$byval_copy1,$x$byval_copy); - _VectorNormalize($x); - ;HEAP32[$z$byval_copy1+0>>2]=HEAP32[$z+0>>2]|0;HEAP32[$z$byval_copy1+4>>2]=HEAP32[$z+4>>2]|0;HEAP32[$z$byval_copy1+8>>2]=HEAP32[$z+8>>2]|0; - ;HEAP32[$x$byval_copy+0>>2]=HEAP32[$x+0>>2]|0;HEAP32[$x$byval_copy+4>>2]=HEAP32[$x+4>>2]|0;HEAP32[$x$byval_copy+8>>2]=HEAP32[$x+8>>2]|0; - _VectorCrossProduct($y,$z$byval_copy1,$x$byval_copy); - _VectorNormalize($y); - $0 = +HEAPF32[$x>>2]; - $1 = (($x) + 4|0); - $2 = +HEAPF32[$1>>2]; - $3 = (($x) + 8|0); - $4 = +HEAPF32[$3>>2]; - $5 = +HEAPF32[$eye>>2]; - $6 = $0 * $5; - $7 = (($eye) + 4|0); - $8 = +HEAPF32[$7>>2]; - $9 = $2 * $8; - $10 = $6 + $9; - $11 = (($eye) + 8|0); - $12 = +HEAPF32[$11>>2]; - $13 = $4 * $12; - $14 = $10 + $13; - $15 = -$14; - $16 = +HEAPF32[$y>>2]; - $17 = (($y) + 4|0); - $18 = +HEAPF32[$17>>2]; - $19 = (($y) + 8|0); - $20 = +HEAPF32[$19>>2]; - $21 = $5 * $16; - $22 = $8 * $18; - $23 = $21 + $22; - $24 = $12 * $20; - $25 = $23 + $24; - $26 = -$25; - $27 = +HEAPF32[$z>>2]; - $28 = (($z) + 4|0); - $29 = +HEAPF32[$28>>2]; - $30 = (($z) + 8|0); - $31 = +HEAPF32[$30>>2]; - $32 = $5 * $27; - $33 = $8 * $29; - $34 = $32 + $33; - $35 = $12 * $31; - $36 = $34 + $35; - $37 = -$36; - HEAPF32[$agg$result>>2] = $0; - $38 = (($agg$result) + 4|0); - HEAPF32[$38>>2] = $16; - $39 = (($agg$result) + 8|0); - HEAPF32[$39>>2] = $27; - $40 = (($agg$result) + 12|0); - HEAPF32[$40>>2] = 0.0; - $41 = (($agg$result) + 16|0); - HEAPF32[$41>>2] = $2; - $42 = (($agg$result) + 20|0); - HEAPF32[$42>>2] = $18; - $43 = (($agg$result) + 24|0); - HEAPF32[$43>>2] = $29; - $44 = (($agg$result) + 28|0); - HEAPF32[$44>>2] = 0.0; - $45 = (($agg$result) + 32|0); - HEAPF32[$45>>2] = $4; - $46 = (($agg$result) + 36|0); - HEAPF32[$46>>2] = $20; - $47 = (($agg$result) + 40|0); - HEAPF32[$47>>2] = $31; - $48 = (($agg$result) + 44|0); - HEAPF32[$48>>2] = 0.0; - $49 = (($agg$result) + 48|0); - HEAPF32[$49>>2] = $15; - $50 = (($agg$result) + 52|0); - HEAPF32[$50>>2] = $26; - $51 = (($agg$result) + 56|0); - HEAPF32[$51>>2] = $37; - $52 = (($agg$result) + 60|0); - HEAPF32[$52>>2] = 1.0; - STACKTOP = sp;return; -} -function _DrawCircle($centerX,$centerY,$radius,$color) { - $centerX = $centerX|0; - $centerY = $centerY|0; - $radius = +$radius; - $color = $color|0; - var $$byval_copy = 0, $0 = 0, $1 = 0.0, $2 = 0, $3 = 0.0, $color$byval_copy = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); - $color$byval_copy = sp + 16|0; - $$byval_copy = sp; - $0 = sp + 8|0; - $1 = (+($centerX|0)); - HEAPF32[$0>>2] = $1; - $2 = (($0) + 4|0); - $3 = (+($centerY|0)); - HEAPF32[$2>>2] = $3; - ;HEAP32[$$byval_copy+0>>2]=HEAP32[$0+0>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$0+4>>2]|0; - ;HEAP8[$color$byval_copy+0>>0]=HEAP8[$color+0>>0]|0;HEAP8[$color$byval_copy+1>>0]=HEAP8[$color+1>>0]|0;HEAP8[$color$byval_copy+2>>0]=HEAP8[$color+2>>0]|0;HEAP8[$color$byval_copy+3>>0]=HEAP8[$color+3>>0]|0; - _DrawPoly($$byval_copy,360,$radius,0.0,$color$byval_copy); - STACKTOP = sp;return; -} -function _DrawPoly($center,$sides,$radius,$rotation,$color) { - $center = $center|0; - $sides = $sides|0; - $radius = +$radius; - $rotation = +$rotation; - $color = $color|0; - var $$sides = 0, $0 = 0, $1 = 0.0, $10 = 0, $11 = 0.0, $12 = 0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $2 = 0, $20 = 0.0, $21 = 0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0.0; - var $26 = 0.0, $27 = 0.0, $28 = 0.0, $29 = 0.0, $3 = 0.0, $30 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i$01 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ($sides|0)<(3); - $$sides = $0 ? 3 : $sides; - _rlPushMatrix(); - $1 = +HEAPF32[$center>>2]; - $2 = (($center) + 4|0); - $3 = +HEAPF32[$2>>2]; - _rlTranslatef($1,$3,0.0); - _rlRotatef($rotation,0.0,0.0,1.0); - _rlBegin(1); - $4 = HEAP8[$color>>0]|0; - $5 = (($color) + 1|0); - $6 = HEAP8[$5>>0]|0; - $7 = (($color) + 2|0); - $8 = HEAP8[$7>>0]|0; - $9 = (($color) + 3|0); - $10 = HEAP8[$9>>0]|0; - $11 = $radius; - $12 = (360 / ($$sides|0))&-1; - $i$01 = 0; - while(1) { - _rlColor4ub($4,$6,$8,$10); - _rlVertex2i(0,0); - $13 = (+($i$01|0)); - $14 = $13 * 0.0174532925199432954744; - $15 = (+Math_sin((+$14))); - $16 = $11 * $15; - $17 = $16; - $18 = (+Math_cos((+$14))); - $19 = $11 * $18; - $20 = $19; - _rlVertex2f($17,$20); - $21 = (($12) + ($i$01))|0; - $22 = (+($21|0)); - $23 = $22 * 0.0174532925199432954744; - $24 = (+Math_sin((+$23))); - $25 = $11 * $24; - $26 = $25; - $27 = (+Math_cos((+$23))); - $28 = $11 * $27; - $29 = $28; - _rlVertex2f($26,$29); - $30 = ($21|0)<(360); - if ($30) { - $i$01 = $21; - } else { - break; - } - } - _rlEnd(); - _rlPopMatrix(); - STACKTOP = sp;return; -} -function _DrawCircleGradient($centerX,$centerY,$radius,$color1,$color2) { - $centerX = $centerX|0; - $centerY = $centerY|0; - $radius = +$radius; - $color1 = $color1|0; - $color2 = $color2|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0.0, $26 = 0.0; - var $27 = 0.0, $28 = 0.0, $29 = 0.0, $3 = 0, $30 = 0.0, $31 = 0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0.0, $36 = 0.0, $37 = 0.0, $38 = 0.0, $39 = 0.0, $4 = 0, $40 = 0.0, $41 = 0.0, $42 = 0, $5 = 0, $6 = 0; - var $7 = 0, $8 = 0, $9 = 0, $i$01 = 0, label = 0, sp = 0; - sp = STACKTOP; - _rlBegin(1); - $0 = HEAP8[$color1>>0]|0; - $1 = (($color1) + 1|0); - $2 = HEAP8[$1>>0]|0; - $3 = (($color1) + 2|0); - $4 = HEAP8[$3>>0]|0; - $5 = (($color1) + 3|0); - $6 = HEAP8[$5>>0]|0; - $7 = HEAP8[$color2>>0]|0; - $8 = (($color2) + 1|0); - $9 = HEAP8[$8>>0]|0; - $10 = (($color2) + 2|0); - $11 = HEAP8[$10>>0]|0; - $12 = (($color2) + 3|0); - $13 = HEAP8[$12>>0]|0; - $14 = (+($centerX|0)); - $15 = $radius; - $16 = (+($centerY|0)); - $17 = HEAP8[$color2>>0]|0; - $18 = HEAP8[$8>>0]|0; - $19 = HEAP8[$10>>0]|0; - $20 = HEAP8[$12>>0]|0; - $i$01 = 0; - while(1) { - _rlColor4ub($0,$2,$4,$6); - _rlVertex2i($centerX,$centerY); - _rlColor4ub($7,$9,$11,$13); - $21 = (+($i$01|0)); - $22 = $21 * 0.0174532925199432954744; - $23 = (+Math_sin((+$22))); - $24 = $15 * $23; - $25 = $14 + $24; - $26 = $25; - $27 = (+Math_cos((+$22))); - $28 = $15 * $27; - $29 = $16 + $28; - $30 = $29; - _rlVertex2f($26,$30); - _rlColor4ub($17,$18,$19,$20); - $31 = (($i$01) + 2)|0; - $32 = (+($31|0)); - $33 = $32 * 0.0174532925199432954744; - $34 = (+Math_sin((+$33))); - $35 = $15 * $34; - $36 = $14 + $35; - $37 = $36; - $38 = (+Math_cos((+$33))); - $39 = $15 * $38; - $40 = $16 + $39; - $41 = $40; - _rlVertex2f($37,$41); - $42 = ($31|0)<(360); - if ($42) { - $i$01 = $31; - } else { - break; - } - } - _rlEnd(); - STACKTOP = sp;return; -} -function _DrawCircleV($center,$radius,$color) { - $center = $center|0; - $radius = +$radius; - $color = $color|0; - var $0 = 0, $1 = 0, $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $2 = 0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0.0, $26 = 0.0; - var $27 = 0.0, $28 = 0.0, $29 = 0, $3 = 0, $30 = 0.0, $31 = 0.0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0.0, $36 = 0.0, $37 = 0.0, $38 = 0.0, $39 = 0.0, $4 = 0, $40 = 0, $5 = 0, $6 = 0, $7 = 0.0, $8 = 0; - var $9 = 0, $i$01 = 0, label = 0, sp = 0; - sp = STACKTOP; - _rlBegin(1); - $0 = HEAP8[$color>>0]|0; - $1 = (($color) + 1|0); - $2 = HEAP8[$1>>0]|0; - $3 = (($color) + 2|0); - $4 = HEAP8[$3>>0]|0; - $5 = (($color) + 3|0); - $6 = HEAP8[$5>>0]|0; - $7 = +HEAPF32[$center>>2]; - $8 = (~~(($7))); - $9 = (($center) + 4|0); - $10 = +HEAPF32[$9>>2]; - $11 = (~~(($10))); - $12 = $7; - $13 = $radius; - $14 = $10; - $15 = +HEAPF32[$center>>2]; - $16 = $15; - $17 = +HEAPF32[$9>>2]; - $18 = $17; - $i$01 = 0; - while(1) { - _rlColor4ub($0,$2,$4,$6); - _rlVertex2i($8,$11); - $19 = (+($i$01|0)); - $20 = $19 * 0.0174532925199432954744; - $21 = (+Math_sin((+$20))); - $22 = $13 * $21; - $23 = $12 + $22; - $24 = $23; - $25 = (+Math_cos((+$20))); - $26 = $13 * $25; - $27 = $14 + $26; - $28 = $27; - _rlVertex2f($24,$28); - $29 = (($i$01) + 2)|0; - $30 = (+($29|0)); - $31 = $30 * 0.0174532925199432954744; - $32 = (+Math_sin((+$31))); - $33 = $13 * $32; - $34 = $16 + $33; - $35 = $34; - $36 = (+Math_cos((+$31))); - $37 = $13 * $36; - $38 = $18 + $37; - $39 = $38; - _rlVertex2f($35,$39); - $40 = ($29|0)<(360); - if ($40) { - $i$01 = $29; - } else { - break; - } - } - _rlEnd(); - STACKTOP = sp;return; -} -function _DrawCircleLines($centerX,$centerY,$radius,$color) { - $centerX = $centerX|0; - $centerY = $centerY|0; - $radius = +$radius; - $color = $color|0; - var $0 = 0, $1 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $2 = 0, $20 = 0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0.0, $26 = 0.0; - var $27 = 0.0, $28 = 0.0, $29 = 0.0, $3 = 0, $30 = 0.0, $4 = 0, $5 = 0, $6 = 0, $7 = 0.0, $8 = 0.0, $9 = 0.0, $exitcond = 0, $i$01 = 0, label = 0, sp = 0; - sp = STACKTOP; - _rlBegin(0); - $0 = HEAP8[$color>>0]|0; - $1 = (($color) + 1|0); - $2 = HEAP8[$1>>0]|0; - $3 = (($color) + 2|0); - $4 = HEAP8[$3>>0]|0; - $5 = (($color) + 3|0); - $6 = HEAP8[$5>>0]|0; - _rlColor4ub($0,$2,$4,$6); - $7 = (+($centerX|0)); - $8 = $radius; - $9 = (+($centerY|0)); - $i$01 = 0; - while(1) { - $10 = (+($i$01|0)); - $11 = $10 * 0.0174532925199432954744; - $12 = (+Math_sin((+$11))); - $13 = $8 * $12; - $14 = $7 + $13; - $15 = $14; - $16 = (+Math_cos((+$11))); - $17 = $8 * $16; - $18 = $9 + $17; - $19 = $18; - _rlVertex2f($15,$19); - $20 = (($i$01) + 1)|0; - $21 = (+($20|0)); - $22 = $21 * 0.0174532925199432954744; - $23 = (+Math_sin((+$22))); - $24 = $8 * $23; - $25 = $7 + $24; - $26 = $25; - $27 = (+Math_cos((+$22))); - $28 = $8 * $27; - $29 = $9 + $28; - $30 = $29; - _rlVertex2f($26,$30); - $exitcond = ($20|0)==(360); - if ($exitcond) { - break; - } else { - $i$01 = $20; - } - } - _rlEnd(); - STACKTOP = sp;return; -} -function _DrawRectangle($posX,$posY,$width,$height,$color) { - $posX = $posX|0; - $posY = $posY|0; - $width = $width|0; - $height = $height|0; - $color = $color|0; - var $0 = 0.0, $1 = 0, $2 = 0.0, $3 = 0.0, $4 = 0, $5 = 0.0, $color$byval_copy = 0, $position = 0, $position$byval_copy = 0, $size = 0, $size$byval_copy = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); - $color$byval_copy = sp + 32|0; - $size$byval_copy = sp; - $position$byval_copy = sp + 8|0; - $position = sp + 16|0; - $size = sp + 24|0; - $0 = (+($posX|0)); - HEAPF32[$position>>2] = $0; - $1 = (($position) + 4|0); - $2 = (+($posY|0)); - HEAPF32[$1>>2] = $2; - $3 = (+($width|0)); - HEAPF32[$size>>2] = $3; - $4 = (($size) + 4|0); - $5 = (+($height|0)); - HEAPF32[$4>>2] = $5; - ;HEAP32[$position$byval_copy+0>>2]=HEAP32[$position+0>>2]|0;HEAP32[$position$byval_copy+4>>2]=HEAP32[$position+4>>2]|0; - ;HEAP32[$size$byval_copy+0>>2]=HEAP32[$size+0>>2]|0;HEAP32[$size$byval_copy+4>>2]=HEAP32[$size+4>>2]|0; - ;HEAP8[$color$byval_copy+0>>0]=HEAP8[$color+0>>0]|0;HEAP8[$color$byval_copy+1>>0]=HEAP8[$color+1>>0]|0;HEAP8[$color$byval_copy+2>>0]=HEAP8[$color+2>>0]|0;HEAP8[$color$byval_copy+3>>0]=HEAP8[$color+3>>0]|0; - _DrawRectangleV($position$byval_copy,$size$byval_copy,$color$byval_copy); - STACKTOP = sp;return; -} -function _DrawRectangleV($position,$size,$color) { - $position = $position|0; - $size = $size|0; - $color = $color|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0, $16 = 0.0, $17 = 0, $18 = 0.0, $19 = 0.0, $2 = 0, $20 = 0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0, $25 = 0.0, $26 = 0.0; - var $27 = 0.0, $28 = 0, $29 = 0.0, $3 = 0, $30 = 0, $31 = 0.0, $32 = 0, $33 = 0.0, $34 = 0.0, $35 = 0.0, $36 = 0, $37 = 0.0, $38 = 0.0, $39 = 0.0, $4 = 0, $40 = 0, $41 = 0.0, $42 = 0.0, $43 = 0.0, $44 = 0; - var $45 = 0.0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0.0, $6 = 0, $60 = 0, $61 = 0.0, $62 = 0.0; - var $63 = 0.0, $64 = 0, $65 = 0.0, $66 = 0.0, $67 = 0.0, $68 = 0.0, $69 = 0.0, $7 = 0, $70 = 0.0, $71 = 0.0, $72 = 0.0, $73 = 0.0, $74 = 0.0, $75 = 0.0, $76 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_rlGetVersion()|0); - $1 = ($0|0)==(1); - if ($1) { - _rlBegin(1); - $2 = HEAP8[$color>>0]|0; - $3 = (($color) + 1|0); - $4 = HEAP8[$3>>0]|0; - $5 = (($color) + 2|0); - $6 = HEAP8[$5>>0]|0; - $7 = (($color) + 3|0); - $8 = HEAP8[$7>>0]|0; - _rlColor4ub($2,$4,$6,$8); - $9 = +HEAPF32[$position>>2]; - $10 = (~~(($9))); - $11 = (($position) + 4|0); - $12 = +HEAPF32[$11>>2]; - $13 = (~~(($12))); - _rlVertex2i($10,$13); - $14 = +HEAPF32[$position>>2]; - $15 = (~~(($14))); - $16 = +HEAPF32[$11>>2]; - $17 = (($size) + 4|0); - $18 = +HEAPF32[$17>>2]; - $19 = $16 + $18; - $20 = (~~(($19))); - _rlVertex2i($15,$20); - $21 = +HEAPF32[$position>>2]; - $22 = +HEAPF32[$size>>2]; - $23 = $21 + $22; - $24 = (~~(($23))); - $25 = +HEAPF32[$11>>2]; - $26 = +HEAPF32[$17>>2]; - $27 = $25 + $26; - $28 = (~~(($27))); - _rlVertex2i($24,$28); - $29 = +HEAPF32[$position>>2]; - $30 = (~~(($29))); - $31 = +HEAPF32[$11>>2]; - $32 = (~~(($31))); - _rlVertex2i($30,$32); - $33 = +HEAPF32[$position>>2]; - $34 = +HEAPF32[$size>>2]; - $35 = $33 + $34; - $36 = (~~(($35))); - $37 = +HEAPF32[$11>>2]; - $38 = +HEAPF32[$17>>2]; - $39 = $37 + $38; - $40 = (~~(($39))); - _rlVertex2i($36,$40); - $41 = +HEAPF32[$position>>2]; - $42 = +HEAPF32[$size>>2]; - $43 = $41 + $42; - $44 = (~~(($43))); - $45 = +HEAPF32[$11>>2]; - $46 = (~~(($45))); - _rlVertex2i($44,$46); - _rlEnd(); - STACKTOP = sp;return; - } - $47 = (_rlGetVersion()|0); - $48 = ($47|0)==(2); - if (!($48)) { - $49 = (_rlGetVersion()|0); - $50 = ($49|0)==(3); - if (!($50)) { - STACKTOP = sp;return; - } - } - $51 = HEAP32[_whiteTexture>>2]|0; - _rlEnableTexture($51); - _rlBegin(2); - $52 = HEAP8[$color>>0]|0; - $53 = (($color) + 1|0); - $54 = HEAP8[$53>>0]|0; - $55 = (($color) + 2|0); - $56 = HEAP8[$55>>0]|0; - $57 = (($color) + 3|0); - $58 = HEAP8[$57>>0]|0; - _rlColor4ub($52,$54,$56,$58); - _rlTexCoord2f(0.0,0.0); - $59 = +HEAPF32[$position>>2]; - $60 = (($position) + 4|0); - $61 = +HEAPF32[$60>>2]; - _rlVertex2f($59,$61); - _rlTexCoord2f(0.0,1.0); - $62 = +HEAPF32[$position>>2]; - $63 = +HEAPF32[$60>>2]; - $64 = (($size) + 4|0); - $65 = +HEAPF32[$64>>2]; - $66 = $63 + $65; - _rlVertex2f($62,$66); - _rlTexCoord2f(1.0,1.0); - $67 = +HEAPF32[$position>>2]; - $68 = +HEAPF32[$size>>2]; - $69 = $67 + $68; - $70 = +HEAPF32[$60>>2]; - $71 = +HEAPF32[$64>>2]; - $72 = $70 + $71; - _rlVertex2f($69,$72); - _rlTexCoord2f(1.0,0.0); - $73 = +HEAPF32[$position>>2]; - $74 = +HEAPF32[$size>>2]; - $75 = $73 + $74; - $76 = +HEAPF32[$60>>2]; - _rlVertex2f($75,$76); - _rlEnd(); - STACKTOP = sp;return; -} -function _DrawRectangleRec($rec,$color) { - $rec = $rec|0; - $color = $color|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $color$byval_copy = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); - $color$byval_copy = sp; - $0 = HEAP32[$rec>>2]|0; - $1 = (($rec) + 4|0); - $2 = HEAP32[$1>>2]|0; - $3 = (($rec) + 8|0); - $4 = HEAP32[$3>>2]|0; - $5 = (($rec) + 12|0); - $6 = HEAP32[$5>>2]|0; - ;HEAP8[$color$byval_copy+0>>0]=HEAP8[$color+0>>0]|0;HEAP8[$color$byval_copy+1>>0]=HEAP8[$color+1>>0]|0;HEAP8[$color$byval_copy+2>>0]=HEAP8[$color+2>>0]|0;HEAP8[$color$byval_copy+3>>0]=HEAP8[$color+3>>0]|0; - _DrawRectangle($0,$2,$4,$6,$color$byval_copy); - STACKTOP = sp;return; -} -function _DrawRectangleGradient($posX,$posY,$width,$height,$color1,$color2) { - $posX = $posX|0; - $posY = $posY|0; - $width = $width|0; - $height = $height|0; - $color1 = $color1|0; - $color2 = $color2|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - _rlBegin(1); - $0 = HEAP8[$color1>>0]|0; - $1 = (($color1) + 1|0); - $2 = HEAP8[$1>>0]|0; - $3 = (($color1) + 2|0); - $4 = HEAP8[$3>>0]|0; - $5 = (($color1) + 3|0); - $6 = HEAP8[$5>>0]|0; - _rlColor4ub($0,$2,$4,$6); - _rlVertex2i($posX,$posY); - $7 = HEAP8[$color2>>0]|0; - $8 = (($color2) + 1|0); - $9 = HEAP8[$8>>0]|0; - $10 = (($color2) + 2|0); - $11 = HEAP8[$10>>0]|0; - $12 = (($color2) + 3|0); - $13 = HEAP8[$12>>0]|0; - _rlColor4ub($7,$9,$11,$13); - $14 = (($height) + ($posY))|0; - _rlVertex2i($posX,$14); - $15 = HEAP8[$color2>>0]|0; - $16 = HEAP8[$8>>0]|0; - $17 = HEAP8[$10>>0]|0; - $18 = HEAP8[$12>>0]|0; - _rlColor4ub($15,$16,$17,$18); - $19 = (($width) + ($posX))|0; - _rlVertex2i($19,$14); - $20 = HEAP8[$color1>>0]|0; - $21 = HEAP8[$1>>0]|0; - $22 = HEAP8[$3>>0]|0; - $23 = HEAP8[$5>>0]|0; - _rlColor4ub($20,$21,$22,$23); - _rlVertex2i($posX,$posY); - $24 = HEAP8[$color2>>0]|0; - $25 = HEAP8[$8>>0]|0; - $26 = HEAP8[$10>>0]|0; - $27 = HEAP8[$12>>0]|0; - _rlColor4ub($24,$25,$26,$27); - _rlVertex2i($19,$14); - $28 = HEAP8[$color1>>0]|0; - $29 = HEAP8[$1>>0]|0; - $30 = HEAP8[$3>>0]|0; - $31 = HEAP8[$5>>0]|0; - _rlColor4ub($28,$29,$30,$31); - _rlVertex2i($19,$posY); - _rlEnd(); - STACKTOP = sp;return; -} -function _DrawRectangleLines($posX,$posY,$width,$height,$color) { - $posX = $posX|0; - $posY = $posY|0; - $width = $width|0; - $height = $height|0; - $color = $color|0; - var $0 = 0, $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - _rlBegin(0); - $0 = HEAP8[$color>>0]|0; - $1 = (($color) + 1|0); - $2 = HEAP8[$1>>0]|0; - $3 = (($color) + 2|0); - $4 = HEAP8[$3>>0]|0; - $5 = (($color) + 3|0); - $6 = HEAP8[$5>>0]|0; - _rlColor4ub($0,$2,$4,$6); - $7 = (($posX) + 1)|0; - $8 = (($posY) + 1)|0; - _rlVertex2i($7,$8); - $9 = (($width) + ($posX))|0; - _rlVertex2i($9,$8); - _rlVertex2i($9,$8); - $10 = (($height) + ($posY))|0; - _rlVertex2i($9,$10); - _rlVertex2i($9,$10); - _rlVertex2i($7,$10); - _rlVertex2i($7,$10); - _rlVertex2i($7,$8); - _rlEnd(); - STACKTOP = sp;return; -} -function _DrawTriangle($v1,$v2,$v3,$color) { - $v1 = $v1|0; - $v2 = $v2|0; - $v3 = $v3|0; - $color = $color|0; - var $0 = 0, $1 = 0, $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0.0, $14 = 0, $15 = 0.0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - _rlBegin(1); - $0 = HEAP8[$color>>0]|0; - $1 = (($color) + 1|0); - $2 = HEAP8[$1>>0]|0; - $3 = (($color) + 2|0); - $4 = HEAP8[$3>>0]|0; - $5 = (($color) + 3|0); - $6 = HEAP8[$5>>0]|0; - _rlColor4ub($0,$2,$4,$6); - $7 = +HEAPF32[$v1>>2]; - $8 = (($v1) + 4|0); - $9 = +HEAPF32[$8>>2]; - _rlVertex2f($7,$9); - $10 = +HEAPF32[$v2>>2]; - $11 = (($v2) + 4|0); - $12 = +HEAPF32[$11>>2]; - _rlVertex2f($10,$12); - $13 = +HEAPF32[$v3>>2]; - $14 = (($v3) + 4|0); - $15 = +HEAPF32[$14>>2]; - _rlVertex2f($13,$15); - _rlEnd(); - STACKTOP = sp;return; -} -function _DrawTriangleLines($v1,$v2,$v3,$color) { - $v1 = $v1|0; - $v2 = $v2|0; - $v3 = $v3|0; - $color = $color|0; - var $0 = 0, $1 = 0, $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $2 = 0, $20 = 0.0, $21 = 0.0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0.0; - var $8 = 0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - _rlBegin(0); - $0 = HEAP8[$color>>0]|0; - $1 = (($color) + 1|0); - $2 = HEAP8[$1>>0]|0; - $3 = (($color) + 2|0); - $4 = HEAP8[$3>>0]|0; - $5 = (($color) + 3|0); - $6 = HEAP8[$5>>0]|0; - _rlColor4ub($0,$2,$4,$6); - $7 = +HEAPF32[$v1>>2]; - $8 = (($v1) + 4|0); - $9 = +HEAPF32[$8>>2]; - _rlVertex2f($7,$9); - $10 = +HEAPF32[$v2>>2]; - $11 = (($v2) + 4|0); - $12 = +HEAPF32[$11>>2]; - _rlVertex2f($10,$12); - $13 = +HEAPF32[$v2>>2]; - $14 = +HEAPF32[$11>>2]; - _rlVertex2f($13,$14); - $15 = +HEAPF32[$v3>>2]; - $16 = (($v3) + 4|0); - $17 = +HEAPF32[$16>>2]; - _rlVertex2f($15,$17); - $18 = +HEAPF32[$v3>>2]; - $19 = +HEAPF32[$16>>2]; - _rlVertex2f($18,$19); - $20 = +HEAPF32[$v1>>2]; - $21 = +HEAPF32[$8>>2]; - _rlVertex2f($20,$21); - _rlEnd(); - STACKTOP = sp;return; -} -function _CheckCollisionRecs($rec1,$rec2) { - $rec1 = $rec1|0; - $rec2 = $rec2|0; - var $$ = 0, $$neg4 = 0, $$neg7 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; - var $24 = 0, $25 = 0, $26 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $ispos = 0, $ispos1 = 0, $neg = 0, $neg2 = 0, $not$ = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[$rec1>>2]|0; - $1 = (($rec1) + 8|0); - $2 = HEAP32[$1>>2]|0; - $3 = (($2|0) / 2)&-1; - $4 = HEAP32[$rec2>>2]|0; - $5 = (($rec2) + 8|0); - $6 = HEAP32[$5>>2]|0; - $7 = (($6|0) / 2)&-1; - $$neg4 = (($3) + ($0))|0; - $8 = (($$neg4) - ($4))|0; - $9 = (($8) - ($7))|0; - $ispos = ($9|0)>(-1); - $neg = (0 - ($9))|0; - $10 = $ispos ? $9 : $neg; - $11 = (($rec1) + 4|0); - $12 = HEAP32[$11>>2]|0; - $13 = (($rec1) + 12|0); - $14 = HEAP32[$13>>2]|0; - $15 = (($14|0) / 2)&-1; - $16 = (($rec2) + 4|0); - $17 = HEAP32[$16>>2]|0; - $18 = (($rec2) + 12|0); - $19 = HEAP32[$18>>2]|0; - $20 = (($19|0) / 2)&-1; - $$neg7 = (($15) + ($12))|0; - $21 = (($$neg7) - ($17))|0; - $22 = (($21) - ($20))|0; - $23 = (($7) + ($3))|0; - $24 = ($10|0)>($23|0); - if ($24) { - STACKTOP = sp;return 0; - } else { - $neg2 = (0 - ($22))|0; - $ispos1 = ($22|0)>(-1); - $25 = $ispos1 ? $22 : $neg2; - $26 = (($20) + ($15))|0; - $not$ = ($25|0)<=($26|0); - $$ = $not$&1; - STACKTOP = sp;return ($$|0); - } - return 0|0; -} -function _CheckCollisionCircleRec($center,$radius,$rec) { - $center = $center|0; - $radius = +$radius; - $rec = $rec|0; - var $0 = 0, $1 = 0, $10 = 0.0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0.0, $18 = 0, $19 = 0.0, $2 = 0, $20 = 0.0, $21 = 0, $22 = 0.0, $23 = 0.0, $24 = 0, $25 = 0, $26 = 0.0; - var $27 = 0.0, $28 = 0.0, $29 = 0, $3 = 0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0, $collision$0 = 0, $ispos = 0, $ispos1 = 0, $neg = 0, $neg2 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[$rec>>2]|0; - $1 = (($rec) + 8|0); - $2 = HEAP32[$1>>2]|0; - $3 = (($2|0) / 2)&-1; - $4 = (($3) + ($0))|0; - $5 = (+($4|0)); - $6 = +HEAPF32[$center>>2]; - $7 = $5 - $6; - $8 = (~~(($7))); - $ispos = ($8|0)>(-1); - $neg = (0 - ($8))|0; - $9 = $ispos ? $8 : $neg; - $10 = (+($9|0)); - $11 = (($rec) + 4|0); - $12 = HEAP32[$11>>2]|0; - $13 = (($rec) + 12|0); - $14 = HEAP32[$13>>2]|0; - $15 = (($14|0) / 2)&-1; - $16 = (($15) + ($12))|0; - $17 = (+($16|0)); - $18 = (($center) + 4|0); - $19 = +HEAPF32[$18>>2]; - $20 = $17 - $19; - $21 = (~~(($20))); - $22 = (+($3|0)); - $23 = $22 + $radius; - $24 = !($10 <= $23); - if ($24) { - $collision$0 = 0; - STACKTOP = sp;return ($collision$0|0); - } - $neg2 = (0 - ($21))|0; - $ispos1 = ($21|0)>(-1); - $25 = $ispos1 ? $21 : $neg2; - $26 = (+($25|0)); - $27 = (+($15|0)); - $28 = $27 + $radius; - $29 = !($26 <= $28); - if ($29) { - $collision$0 = 0; - STACKTOP = sp;return ($collision$0|0); - } - $collision$0 = 1; - STACKTOP = sp;return ($collision$0|0); -} -function _GetCollisionRec($agg$result,$rec1,$rec2) { - $agg$result = $agg$result|0; - $rec1 = $rec1|0; - $rec2 = $rec2|0; - var $$pn = 0, $$pn$in = 0, $$pn3 = 0, $$pn3$in = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0; - var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $ispos = 0, $ispos1 = 0, $neg = 0, $neg2 = 0, $rec1$byval_copy = 0, $rec2$byval_copy = 0, $retRec$sroa$0$0 = 0; - var $retRec$sroa$0$1 = 0, $retRec$sroa$1$0 = 0, $retRec$sroa$1$1 = 0, $retRec$sroa$2$0 = 0, $retRec$sroa$2$0$ = 0, $retRec$sroa$2$2 = 0, $retRec$sroa$3$0 = 0, $retRec$sroa$3$0$ = 0, $retRec$sroa$3$1 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); - $rec2$byval_copy = sp + 16|0; - $rec1$byval_copy = sp; - ;HEAP32[$rec1$byval_copy+0>>2]=HEAP32[$rec1+0>>2]|0;HEAP32[$rec1$byval_copy+4>>2]=HEAP32[$rec1+4>>2]|0;HEAP32[$rec1$byval_copy+8>>2]=HEAP32[$rec1+8>>2]|0;HEAP32[$rec1$byval_copy+12>>2]=HEAP32[$rec1+12>>2]|0; - ;HEAP32[$rec2$byval_copy+0>>2]=HEAP32[$rec2+0>>2]|0;HEAP32[$rec2$byval_copy+4>>2]=HEAP32[$rec2+4>>2]|0;HEAP32[$rec2$byval_copy+8>>2]=HEAP32[$rec2+8>>2]|0;HEAP32[$rec2$byval_copy+12>>2]=HEAP32[$rec2+12>>2]|0; - $0 = (_CheckCollisionRecs($rec1$byval_copy,$rec2$byval_copy)|0); - $1 = ($0|0)==(0); - if ($1) { - $retRec$sroa$0$1 = 0;$retRec$sroa$1$1 = 0;$retRec$sroa$2$2 = 0;$retRec$sroa$3$1 = 0; - HEAP32[$agg$result>>2] = $retRec$sroa$0$1; - $26 = (($agg$result) + 4|0); - HEAP32[$26>>2] = $retRec$sroa$1$1; - $27 = (($agg$result) + 8|0); - HEAP32[$27>>2] = $retRec$sroa$2$2; - $28 = (($agg$result) + 12|0); - HEAP32[$28>>2] = $retRec$sroa$3$1; - STACKTOP = sp;return; - } - $2 = HEAP32[$rec1>>2]|0; - $3 = HEAP32[$rec2>>2]|0; - $4 = (($2) - ($3))|0; - $ispos = ($4|0)>(-1); - $neg = (0 - ($4))|0; - $5 = $ispos ? $4 : $neg; - $6 = (($rec1) + 4|0); - $7 = HEAP32[$6>>2]|0; - $8 = (($rec2) + 4|0); - $9 = HEAP32[$8>>2]|0; - $10 = (($7) - ($9))|0; - $ispos1 = ($10|0)>(-1); - $neg2 = (0 - ($10))|0; - $11 = $ispos1 ? $10 : $neg2; - $12 = ($2|0)>($3|0); - $13 = ($7|0)<=($9|0); - do { - if ($12) { - $17 = (($rec2) + 8|0); - if ($13) { - $18 = (($rec1) + 12|0); - $$pn$in = $17;$$pn3$in = $18;$retRec$sroa$0$0 = $2;$retRec$sroa$1$0 = $9; - break; - } else { - $19 = (($rec2) + 12|0); - $$pn$in = $17;$$pn3$in = $19;$retRec$sroa$0$0 = $2;$retRec$sroa$1$0 = $7; - break; - } - } else { - $14 = (($rec1) + 8|0); - if ($13) { - $15 = (($rec1) + 12|0); - $$pn$in = $14;$$pn3$in = $15;$retRec$sroa$0$0 = $3;$retRec$sroa$1$0 = $9; - break; - } else { - $16 = (($rec2) + 12|0); - $$pn$in = $14;$$pn3$in = $16;$retRec$sroa$0$0 = $3;$retRec$sroa$1$0 = $7; - break; - } - } - } while(0); - $$pn3 = HEAP32[$$pn3$in>>2]|0; - $$pn = HEAP32[$$pn$in>>2]|0; - $retRec$sroa$3$0 = (($$pn3) - ($11))|0; - $retRec$sroa$2$0 = (($$pn) - ($5))|0; - $20 = (($rec2) + 8|0); - $21 = HEAP32[$20>>2]|0; - $22 = ($retRec$sroa$2$0|0)<($21|0); - $retRec$sroa$2$0$ = $22 ? $retRec$sroa$2$0 : $21; - $23 = (($rec2) + 12|0); - $24 = HEAP32[$23>>2]|0; - $25 = ($retRec$sroa$3$0|0)<($24|0); - $retRec$sroa$3$0$ = $25 ? $retRec$sroa$3$0 : $24; - $retRec$sroa$0$1 = $retRec$sroa$0$0;$retRec$sroa$1$1 = $retRec$sroa$1$0;$retRec$sroa$2$2 = $retRec$sroa$2$0$;$retRec$sroa$3$1 = $retRec$sroa$3$0$; - HEAP32[$agg$result>>2] = $retRec$sroa$0$1; - $26 = (($agg$result) + 4|0); - HEAP32[$26>>2] = $retRec$sroa$1$1; - $27 = (($agg$result) + 8|0); - HEAP32[$27>>2] = $retRec$sroa$2$2; - $28 = (($agg$result) + 12|0); - HEAP32[$28>>2] = $retRec$sroa$3$1; - STACKTOP = sp;return; -} -function _LoadDefaultFont() { - var $$ = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; - var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0; - var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $8 = 0, $9 = 0, $counter$011 = 0, $currentLine$05 = 0, $currentLine$1 = 0, $currentPosX$06 = 0, $currentPosX$1 = 0, $i$013 = 0, $i1$010 = 0, $i2$07 = 0; - var $image = 0, $image$byval_copy1 = 0, $j$08 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); - $image$byval_copy1 = sp; - $image = sp + 24|0; - $0 = sp + 12|0; - HEAP32[((9408 + 12|0))>>2] = 96; - $1 = (($image) + 4|0); - HEAP32[$1>>2] = 128; - $2 = (($image) + 8|0); - HEAP32[$2>>2] = 64; - $3 = HEAP32[$1>>2]|0; - $4 = $3 << 8; - $5 = (_malloc($4)|0); - HEAP32[$image>>2] = $5; - $6 = HEAP32[$1>>2]|0; - $7 = HEAP32[$2>>2]|0; - $8 = Math_imul($7, $6)|0; - $9 = ($8|0)>(0); - if ($9) { - $i$013 = 0; - while(1) { - $14 = HEAP32[$image>>2]|0; - $15 = (($14) + ($i$013<<2)|0); - $16 = (($i$013) + 1)|0; - HEAP8[$15>>0]=0&255;HEAP8[$15+1>>0]=(0>>8)&255;HEAP8[$15+2>>0]=(0>>16)&255;HEAP8[$15+3>>0]=0>>24; - $17 = HEAP32[$1>>2]|0; - $18 = HEAP32[$2>>2]|0; - $19 = Math_imul($18, $17)|0; - $20 = ($16|0)<($19|0); - if ($20) { - $i$013 = $16; - } else { - break; - } - } - } - $10 = HEAP32[$1>>2]|0; - $11 = HEAP32[$2>>2]|0; - $12 = Math_imul($11, $10)|0; - $13 = ($12|0)>(0); - if ($13) { - $counter$011 = 0;$i1$010 = 0; - while(1) { - $21 = (9432 + ($counter$011<<2)|0); - $22 = HEAP32[$21>>2]|0; - $j$08 = 31; - while(1) { - $23 = 1 << $j$08; - $24 = $22 & $23; - $25 = ($24|0)==(0); - if (!($25)) { - $26 = (($j$08) + ($i1$010))|0; - $27 = HEAP32[$image>>2]|0; - $28 = (($27) + ($26<<2)|0); - HEAP8[$28>>0]=-1&255;HEAP8[$28+1>>0]=(-1>>8)&255;HEAP8[$28+2>>0]=(-1>>16)&255;HEAP8[$28+3>>0]=-1>>24; - } - $29 = (($j$08) + -1)|0; - $30 = ($j$08|0)>(0); - if ($30) { - $j$08 = $29; - } else { - break; - } - } - $31 = (($counter$011) + 1)|0; - $32 = ($counter$011|0)>(255); - $$ = $32 ? 0 : $31; - $33 = (($i1$010) + 32)|0; - $34 = HEAP32[$1>>2]|0; - $35 = HEAP32[$2>>2]|0; - $36 = Math_imul($35, $34)|0; - $37 = ($33|0)<($36|0); - if ($37) { - $counter$011 = $$;$i1$010 = $33; - } else { - break; - } - } - } - ;HEAP32[$image$byval_copy1+0>>2]=HEAP32[$image+0>>2]|0;HEAP32[$image$byval_copy1+4>>2]=HEAP32[$image+4>>2]|0;HEAP32[$image$byval_copy1+8>>2]=HEAP32[$image+8>>2]|0; - _LoadTextureFromImage($0,$image$byval_copy1,0); - ;HEAP32[9408+0>>2]=HEAP32[$0+0>>2]|0;HEAP32[9408+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[9408+8>>2]=HEAP32[$0+8>>2]|0; - ;HEAP32[$image$byval_copy1+0>>2]=HEAP32[$image+0>>2]|0;HEAP32[$image$byval_copy1+4>>2]=HEAP32[$image+4>>2]|0;HEAP32[$image$byval_copy1+8>>2]=HEAP32[$image+8>>2]|0; - _UnloadImage($image$byval_copy1); - $38 = HEAP32[((9408 + 12|0))>>2]|0; - $39 = ($38*20)|0; - $40 = (_malloc($39)|0); - HEAP32[((9408 + 16|0))>>2] = $40; - $41 = HEAP32[((9408 + 12|0))>>2]|0; - $42 = ($41|0)>(0); - if (!($42)) { - $70 = HEAP32[9408>>2]|0; - HEAP32[$image$byval_copy1>>2] = $70; - _TraceLog(0,10840,$image$byval_copy1); - STACKTOP = sp;return; - } - $43 = HEAP32[((9408 + 16|0))>>2]|0; - $currentLine$05 = 0;$currentPosX$06 = 1;$i2$07 = 0; - while(1) { - $44 = (($i2$07) + 32)|0; - $45 = (($43) + (($i2$07*20)|0)|0); - HEAP32[$45>>2] = $44; - $46 = ((($43) + (($i2$07*20)|0)|0) + 4|0); - HEAP32[$46>>2] = $currentPosX$06; - $47 = ($currentLine$05*11)|0; - $48 = (($47) + 1)|0; - $49 = ((($43) + (($i2$07*20)|0)|0) + 8|0); - HEAP32[$49>>2] = $48; - $50 = (10456 + ($i2$07<<2)|0); - $51 = HEAP32[$50>>2]|0; - $52 = ((($43) + (($i2$07*20)|0)|0) + 12|0); - HEAP32[$52>>2] = $51; - $53 = ((($43) + (($i2$07*20)|0)|0) + 16|0); - HEAP32[$53>>2] = 10; - $54 = ((($43) + (($i2$07*20)|0)|0) + 12|0); - $55 = HEAP32[$54>>2]|0; - $56 = (($currentPosX$06) + 1)|0; - $57 = (($56) + ($55))|0; - $58 = HEAP32[((9408 + 4|0))>>2]|0; - $59 = ($57|0)<($58|0); - if ($59) { - $currentLine$1 = $currentLine$05;$currentPosX$1 = $57; - } else { - $60 = (($currentLine$05) + 1)|0; - $61 = HEAP32[$50>>2]|0; - $62 = (($61) + 2)|0; - $63 = ((($43) + (($i2$07*20)|0)|0) + 4|0); - HEAP32[$63>>2] = 1; - $64 = ($60*11)|0; - $65 = (($64) + 1)|0; - $66 = ((($43) + (($i2$07*20)|0)|0) + 8|0); - HEAP32[$66>>2] = $65; - $currentLine$1 = $60;$currentPosX$1 = $62; - } - $67 = (($i2$07) + 1)|0; - $68 = HEAP32[((9408 + 12|0))>>2]|0; - $69 = ($67|0)<($68|0); - if ($69) { - $currentLine$05 = $currentLine$1;$currentPosX$06 = $currentPosX$1;$i2$07 = $67; - } else { - break; - } - } - $70 = HEAP32[9408>>2]|0; - HEAP32[$image$byval_copy1>>2] = $70; - _TraceLog(0,10840,$image$byval_copy1); - STACKTOP = sp;return; -} -function _UnloadDefaultFont() { - var $0 = 0, $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[9408>>2]|0; - _rlDeleteTextures($0); - $1 = HEAP32[((9408 + 16|0))>>2]|0; - _free($1); - STACKTOP = sp;return; -} -function _LoadSpriteFont($agg$result,$fileName) { - $agg$result = $agg$result|0; - $fileName = $fileName|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $image = 0, $image$byval_copy5 = 0, $spriteFont = 0, $vararg_ptr4 = 0, label = 0; - var sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); - $image$byval_copy5 = sp; - $spriteFont = sp + 24|0; - $image = sp + 12|0; - $0 = sp + 44|0; - $1 = (_GetExtension($fileName)|0); - $2 = (_strcmp($1,10888)|0); - $3 = ($2|0)==(0); - if ($3) { - _LoadRBMF($spriteFont,$fileName); - ;HEAP32[$agg$result+0>>2]=HEAP32[$spriteFont+0>>2]|0;HEAP32[$agg$result+4>>2]=HEAP32[$spriteFont+4>>2]|0;HEAP32[$agg$result+8>>2]=HEAP32[$spriteFont+8>>2]|0;HEAP32[$agg$result+12>>2]=HEAP32[$spriteFont+12>>2]|0;HEAP32[$agg$result+16>>2]=HEAP32[$spriteFont+16>>2]|0; - STACKTOP = sp;return; - } else { - _LoadImage($image,$fileName); - HEAP8[$0>>0] = -1; - $4 = (($0) + 1|0); - HEAP8[$4>>0] = 0; - $5 = (($0) + 2|0); - HEAP8[$5>>0] = -1; - $6 = (($0) + 3|0); - HEAP8[$6>>0] = -1; - ;HEAP8[$image$byval_copy5+0>>0]=HEAP8[$0+0>>0]|0;HEAP8[$image$byval_copy5+1>>0]=HEAP8[$0+1>>0]|0;HEAP8[$image$byval_copy5+2>>0]=HEAP8[$0+2>>0]|0;HEAP8[$image$byval_copy5+3>>0]=HEAP8[$0+3>>0]|0; - _ConvertToPOT($image,$image$byval_copy5); - $7 = HEAP32[$image>>2]|0; - $8 = (($image) + 4|0); - $9 = HEAP32[$8>>2]|0; - $10 = (($image) + 8|0); - $11 = HEAP32[$10>>2]|0; - $12 = (($spriteFont) + 16|0); - $13 = (_ParseImageData($7,$9,$11,$12)|0); - HEAP32[$image$byval_copy5>>2] = $fileName; - _TraceLog(0,10896,$image$byval_copy5); - HEAP32[$image$byval_copy5>>2] = $fileName; - $vararg_ptr4 = (($image$byval_copy5) + 4|0); - HEAP32[$vararg_ptr4>>2] = $13; - _TraceLog(0,10936,$image$byval_copy5); - $14 = (($spriteFont) + 12|0); - HEAP32[$14>>2] = $13; - ;HEAP32[$image$byval_copy5+0>>2]=HEAP32[$image+0>>2]|0;HEAP32[$image$byval_copy5+4>>2]=HEAP32[$image+4>>2]|0;HEAP32[$image$byval_copy5+8>>2]=HEAP32[$image+8>>2]|0; - _LoadTextureFromImage($spriteFont,$image$byval_copy5,0); - ;HEAP32[$image$byval_copy5+0>>2]=HEAP32[$image+0>>2]|0;HEAP32[$image$byval_copy5+4>>2]=HEAP32[$image+4>>2]|0;HEAP32[$image$byval_copy5+8>>2]=HEAP32[$image+8>>2]|0; - _UnloadImage($image$byval_copy5); - ;HEAP32[$agg$result+0>>2]=HEAP32[$spriteFont+0>>2]|0;HEAP32[$agg$result+4>>2]=HEAP32[$spriteFont+4>>2]|0;HEAP32[$agg$result+8>>2]=HEAP32[$spriteFont+8>>2]|0;HEAP32[$agg$result+12>>2]=HEAP32[$spriteFont+12>>2]|0;HEAP32[$agg$result+16>>2]=HEAP32[$spriteFont+16>>2]|0; - STACKTOP = sp;return; - } -} -function _LoadRBMF($agg$result,$fileName) { - $agg$result = $agg$result|0; - $fileName = $fileName|0; - var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; - var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0; - var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0; - var $counter$010 = 0, $currentLine$05 = 0, $currentLine$1 = 0, $currentPosX$06 = 0, $currentPosX$1 = 0, $exitcond = 0, $exitcond24 = 0, $i$020 = 0, $i1$016 = 0, $i2$013 = 0, $i3$011 = 0, $i4$07 = 0, $image = 0, $image$byval_copy14 = 0, $j$08 = 0, $rbmfCharWidthData$0 = 0, $rbmfFileData$0 = 0, $rbmfHeader = 0, $spriteFont$sroa$0$0 = 0, $spriteFont$sroa$1$0 = 0; - var $spriteFont$sroa$2$0 = 0, $spriteFont$sroa$3$0 = 0, $spriteFont$sroa$4$0 = 0, $vararg_ptr4 = 0, $vararg_ptr5 = 0, $vararg_ptr6 = 0, $vararg_ptr7 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); - $image$byval_copy14 = sp; - $image = sp + 32|0; - $rbmfHeader = sp + 48|0; - $0 = sp + 20|0; - $1 = (_fopen(($fileName|0),(11072|0))|0); - $2 = ($1|0)==(0|0); - if ($2) { - HEAP32[$image$byval_copy14>>2] = $fileName; - _TraceLog(2,11080,$image$byval_copy14); - $rbmfCharWidthData$0 = 0;$rbmfFileData$0 = 0;$spriteFont$sroa$0$0 = 0;$spriteFont$sroa$1$0 = 0;$spriteFont$sroa$2$0 = 0;$spriteFont$sroa$3$0 = 0;$spriteFont$sroa$4$0 = 0; - (_fclose(($1|0))|0); - _free($rbmfFileData$0); - _free($rbmfCharWidthData$0); - HEAP32[$agg$result>>2] = $spriteFont$sroa$0$0; - $116 = (($agg$result) + 4|0); - HEAP32[$116>>2] = $spriteFont$sroa$1$0; - $117 = (($agg$result) + 8|0); - HEAP32[$117>>2] = $spriteFont$sroa$2$0; - $118 = (($agg$result) + 12|0); - HEAP32[$118>>2] = $spriteFont$sroa$3$0; - $119 = (($agg$result) + 16|0); - HEAP32[$119>>2] = $spriteFont$sroa$4$0; - STACKTOP = sp;return; - } - (_fread(($rbmfHeader|0),16,1,($1|0))|0); - $3 = (($rbmfHeader) + 6|0); - $4 = HEAP16[$3>>1]|0; - $5 = $4 << 16 >> 16; - $6 = (($rbmfHeader) + 8|0); - $7 = HEAP16[$6>>1]|0; - $8 = $7 << 16 >> 16; - $9 = (($rbmfHeader) + 10|0); - $10 = HEAP16[$9>>1]|0; - $11 = $10 << 16 >> 16; - $12 = (($rbmfHeader) + 12|0); - $13 = HEAP16[$12>>1]|0; - $14 = $13 << 16 >> 16; - HEAP32[$image$byval_copy14>>2] = $fileName; - $vararg_ptr4 = (($image$byval_copy14) + 4|0); - HEAP32[$vararg_ptr4>>2] = $5; - $vararg_ptr5 = (($image$byval_copy14) + 8|0); - HEAP32[$vararg_ptr5>>2] = $8; - $vararg_ptr6 = (($image$byval_copy14) + 12|0); - HEAP32[$vararg_ptr6>>2] = $11; - $vararg_ptr7 = (($image$byval_copy14) + 16|0); - HEAP32[$vararg_ptr7>>2] = $14; - _TraceLog(0,11120,$image$byval_copy14); - $15 = HEAP16[$9>>1]|0; - $16 = $15 << 16 >> 16; - $17 = HEAP16[$3>>1]|0; - $18 = $17 << 16 >> 16; - $19 = (($image) + 4|0); - HEAP32[$19>>2] = $18; - $20 = HEAP16[$6>>1]|0; - $21 = $20 << 16 >> 16; - $22 = (($image) + 8|0); - HEAP32[$22>>2] = $21; - $23 = HEAP16[$3>>1]|0; - $24 = $23 << 16 >> 16; - $25 = HEAP16[$6>>1]|0; - $26 = $25 << 16 >> 16; - $27 = Math_imul($26, $24)|0; - $28 = (($27|0) / 32)&-1; - $29 = $28 << 2; - $30 = (_malloc($29)|0); - $31 = ($27|0)>(31); - if ($31) { - $i$020 = 0; - while(1) { - $32 = (($30) + ($i$020<<2)|0); - (_fread(($32|0),4,1,($1|0))|0); - $33 = (($i$020) + 1)|0; - $34 = ($33|0)<($28|0); - if ($34) { - $i$020 = $33; - } else { - break; - } - } - } - $35 = (_malloc($16)|0); - $36 = ($15<<16>>16)>(0); - if ($36) { - $37 = $15 << 16 >> 16; - $i1$016 = 0; - while(1) { - $38 = (($35) + ($i1$016)|0); - (_fread(($38|0),1,1,($1|0))|0); - $39 = (($i1$016) + 1)|0; - $exitcond24 = ($39|0)==($37|0); - if ($exitcond24) { - break; - } else { - $i1$016 = $39; - } - } - } - $40 = HEAP32[$19>>2]|0; - $41 = HEAP32[$22>>2]|0; - $42 = $40 << 2; - $43 = Math_imul($42, $41)|0; - $44 = (_malloc($43)|0); - HEAP32[$image>>2] = $44; - $45 = HEAP32[$19>>2]|0; - $46 = HEAP32[$22>>2]|0; - $47 = Math_imul($46, $45)|0; - $48 = ($47|0)>(0); - if ($48) { - $i2$013 = 0; - while(1) { - $53 = HEAP32[$image>>2]|0; - $54 = (($53) + ($i2$013<<2)|0); - $55 = (($i2$013) + 1)|0; - HEAP8[$54>>0]=0&255;HEAP8[$54+1>>0]=(0>>8)&255;HEAP8[$54+2>>0]=(0>>16)&255;HEAP8[$54+3>>0]=0>>24; - $56 = HEAP32[$19>>2]|0; - $57 = HEAP32[$22>>2]|0; - $58 = Math_imul($57, $56)|0; - $59 = ($55|0)<($58|0); - if ($59) { - $i2$013 = $55; - } else { - break; - } - } - } - $49 = HEAP32[$19>>2]|0; - $50 = HEAP32[$22>>2]|0; - $51 = Math_imul($50, $49)|0; - $52 = ($51|0)>(0); - if ($52) { - $counter$010 = 0;$i3$011 = 0; - while(1) { - $60 = (($30) + ($counter$010<<2)|0); - $61 = HEAP32[$60>>2]|0; - $j$08 = 31; - while(1) { - $62 = 1 << $j$08; - $63 = $61 & $62; - $64 = ($63|0)==(0); - if (!($64)) { - $65 = (($j$08) + ($i3$011))|0; - $66 = HEAP32[$image>>2]|0; - $67 = (($66) + ($65<<2)|0); - HEAP8[$67>>0]=-1&255;HEAP8[$67+1>>0]=(-1>>8)&255;HEAP8[$67+2>>0]=(-1>>16)&255;HEAP8[$67+3>>0]=-1>>24; - } - $68 = (($j$08) + -1)|0; - $69 = ($j$08|0)>(0); - if ($69) { - $j$08 = $68; - } else { - break; - } - } - $70 = (($counter$010) + 1)|0; - $71 = (($i3$011) + 32)|0; - $72 = HEAP32[$19>>2]|0; - $73 = HEAP32[$22>>2]|0; - $74 = Math_imul($73, $72)|0; - $75 = ($71|0)<($74|0); - if ($75) { - $counter$010 = $70;$i3$011 = $71; - } else { - break; - } - } - } - HEAP32[$image$byval_copy14>>2] = $fileName; - _TraceLog(0,11192,$image$byval_copy14); - ;HEAP32[$image$byval_copy14+0>>2]=HEAP32[$image+0>>2]|0;HEAP32[$image$byval_copy14+4>>2]=HEAP32[$image+4>>2]|0;HEAP32[$image$byval_copy14+8>>2]=HEAP32[$image+8>>2]|0; - _LoadTextureFromImage($0,$image$byval_copy14,0); - $76 = HEAP32[$0>>2]|0; - $77 = (($0) + 4|0); - $78 = HEAP32[$77>>2]|0; - $79 = (($0) + 8|0); - $80 = HEAP32[$79>>2]|0; - ;HEAP32[$image$byval_copy14+0>>2]=HEAP32[$image+0>>2]|0;HEAP32[$image$byval_copy14+4>>2]=HEAP32[$image+4>>2]|0;HEAP32[$image$byval_copy14+8>>2]=HEAP32[$image+8>>2]|0; - _UnloadImage($image$byval_copy14); - $81 = ($16*20)|0; - $82 = (_malloc($81)|0); - $83 = ($15<<16>>16)>(0); - if ($83) { - $84 = (($rbmfHeader) + 5|0); - $85 = HEAP8[$84>>0]|0; - $86 = $85 << 24 >> 24; - $87 = HEAP16[$12>>1]|0; - $88 = $87 << 16 >> 16; - $89 = (($88) + 1)|0; - $90 = $87 << 16 >> 16; - $91 = $87 << 16 >> 16; - $92 = (($91) + 1)|0; - $93 = $15 << 16 >> 16; - $currentLine$05 = 0;$currentPosX$06 = 1;$i4$07 = 0; - while(1) { - $94 = (($86) + ($i4$07))|0; - $95 = (($82) + (($i4$07*20)|0)|0); - HEAP32[$95>>2] = $94; - $96 = ((($82) + (($i4$07*20)|0)|0) + 4|0); - HEAP32[$96>>2] = $currentPosX$06; - $97 = Math_imul($89, $currentLine$05)|0; - $98 = (($97) + 1)|0; - $99 = ((($82) + (($i4$07*20)|0)|0) + 8|0); - HEAP32[$99>>2] = $98; - $100 = (($35) + ($i4$07)|0); - $101 = HEAP8[$100>>0]|0; - $102 = $101&255; - $103 = ((($82) + (($i4$07*20)|0)|0) + 12|0); - HEAP32[$103>>2] = $102; - $104 = ((($82) + (($i4$07*20)|0)|0) + 16|0); - HEAP32[$104>>2] = $90; - $105 = HEAP32[$103>>2]|0; - $106 = (($currentPosX$06) + 1)|0; - $107 = (($106) + ($105))|0; - $108 = ($107|0)>($78|0); - if ($108) { - $109 = (($currentLine$05) + 1)|0; - $110 = HEAP8[$100>>0]|0; - $111 = $110&255; - $112 = (($111) + 2)|0; - HEAP32[$96>>2] = 1; - $113 = Math_imul($92, $109)|0; - $114 = (($113) + 1)|0; - HEAP32[$99>>2] = $114; - $currentLine$1 = $109;$currentPosX$1 = $112; - } else { - $currentLine$1 = $currentLine$05;$currentPosX$1 = $107; - } - $115 = (($i4$07) + 1)|0; - $exitcond = ($115|0)==($93|0); - if ($exitcond) { - break; - } else { - $currentLine$05 = $currentLine$1;$currentPosX$06 = $currentPosX$1;$i4$07 = $115; - } - } - } - HEAP32[$image$byval_copy14>>2] = $fileName; - _TraceLog(0,11264,$image$byval_copy14); - $rbmfCharWidthData$0 = $35;$rbmfFileData$0 = $30;$spriteFont$sroa$0$0 = $76;$spriteFont$sroa$1$0 = $78;$spriteFont$sroa$2$0 = $80;$spriteFont$sroa$3$0 = $16;$spriteFont$sroa$4$0 = $82; - (_fclose(($1|0))|0); - _free($rbmfFileData$0); - _free($rbmfCharWidthData$0); - HEAP32[$agg$result>>2] = $spriteFont$sroa$0$0; - $116 = (($agg$result) + 4|0); - HEAP32[$116>>2] = $spriteFont$sroa$1$0; - $117 = (($agg$result) + 8|0); - HEAP32[$117>>2] = $spriteFont$sroa$2$0; - $118 = (($agg$result) + 12|0); - HEAP32[$118>>2] = $spriteFont$sroa$3$0; - $119 = (($agg$result) + 16|0); - HEAP32[$119>>2] = $spriteFont$sroa$4$0; - STACKTOP = sp;return; -} -function _ParseImageData($imgDataPixel,$imgWidth,$imgHeight,$charSet) { - $imgDataPixel = $imgDataPixel|0; - $imgWidth = $imgWidth|0; - $imgHeight = $imgHeight|0; - $charSet = $charSet|0; - var $$byval_copy4 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; - var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $charWidth$0 = 0, $exitcond = 0; - var $i$01 = 0, $index$0$lcssa = 0, $index$06 = 0, $index$1$lcssa = 0, $index$12 = 0, $j$0 = 0, $lineToRead$07 = 0, $tempCharSet = 0, $x$1$lcssa = 0, $x$111 = 0, $x$2 = 0, $xPosToRead$13 = 0, $y$0$lcssa = 0, $y$016 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 2576|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); - $$byval_copy4 = sp + 2560|0; - $tempCharSet = sp; - $0 = ($imgHeight|0)>(0); - L1: do { - if ($0) { - $1 = ($imgWidth|0)>(0); - $y$016 = 0; - while(1) { - $4 = Math_imul($y$016, $imgWidth)|0; - L5: do { - if ($1) { - $x$111 = 0; - while(1) { - $7 = (($x$111) + ($4))|0; - $8 = (($imgDataPixel) + ($7<<2)|0); - ;HEAP8[$$byval_copy4+0>>0]=HEAP8[$8+0>>0]|0;HEAP8[$$byval_copy4+1>>0]=HEAP8[$8+1>>0]|0;HEAP8[$$byval_copy4+2>>0]=HEAP8[$8+2>>0]|0;HEAP8[$$byval_copy4+3>>0]=HEAP8[$8+3>>0]|0; - $9 = (_PixelIsMagenta($$byval_copy4)|0); - $10 = ($9|0)==(0); - $6 = (($x$111) + 1)|0; - if ($10) { - $x$1$lcssa = $x$111; - break L5; - } - $5 = ($6|0)<($imgWidth|0); - if ($5) { - $x$111 = $6; - } else { - $x$1$lcssa = $6; - break; - } - } - } else { - $x$1$lcssa = 0; - } - } while(0); - $11 = Math_imul($y$016, $imgWidth)|0; - $12 = (($x$1$lcssa) + ($11))|0; - $13 = (($imgDataPixel) + ($12<<2)|0); - ;HEAP8[$$byval_copy4+0>>0]=HEAP8[$13+0>>0]|0;HEAP8[$$byval_copy4+1>>0]=HEAP8[$13+1>>0]|0;HEAP8[$$byval_copy4+2>>0]=HEAP8[$13+2>>0]|0;HEAP8[$$byval_copy4+3>>0]=HEAP8[$13+3>>0]|0; - $14 = (_PixelIsMagenta($$byval_copy4)|0); - $15 = ($14|0)==(0); - $3 = (($y$016) + 1)|0; - if ($15) { - $x$2 = $x$1$lcssa;$y$0$lcssa = $y$016; - break L1; - } - $2 = ($3|0)<($imgHeight|0); - if ($2) { - $y$016 = $3; - } else { - $x$2 = $x$1$lcssa;$y$0$lcssa = $3; - break; - } - } - } else { - $x$2 = 0;$y$0$lcssa = 0; - } - } while(0); - $j$0 = 0; - while(1) { - $16 = (($j$0) + ($y$0$lcssa))|0; - $17 = Math_imul($16, $imgWidth)|0; - $18 = (($17) + ($x$2))|0; - $19 = (($imgDataPixel) + ($18<<2)|0); - ;HEAP8[$$byval_copy4+0>>0]=HEAP8[$19+0>>0]|0;HEAP8[$$byval_copy4+1>>0]=HEAP8[$19+1>>0]|0;HEAP8[$$byval_copy4+2>>0]=HEAP8[$19+2>>0]|0;HEAP8[$$byval_copy4+3>>0]=HEAP8[$19+3>>0]|0; - $20 = (_PixelIsMagenta($$byval_copy4)|0); - $21 = ($20|0)==(0); - $22 = (($j$0) + 1)|0; - if ($21) { - $j$0 = $22; - } else { - break; - } - } - $23 = ($y$0$lcssa|0)<($imgHeight|0); - if ($23) { - $24 = ($x$2|0)<($imgWidth|0); - $26 = $y$0$lcssa;$index$06 = 0;$lineToRead$07 = 0; - while(1) { - $25 = Math_imul($26, $imgWidth)|0; - L19: do { - if ($24) { - $index$12 = $index$06;$xPosToRead$13 = $x$2; - while(1) { - $27 = (($xPosToRead$13) + ($25))|0; - $28 = (($imgDataPixel) + ($27<<2)|0); - ;HEAP8[$$byval_copy4+0>>0]=HEAP8[$28+0>>0]|0;HEAP8[$$byval_copy4+1>>0]=HEAP8[$28+1>>0]|0;HEAP8[$$byval_copy4+2>>0]=HEAP8[$28+2>>0]|0;HEAP8[$$byval_copy4+3>>0]=HEAP8[$28+3>>0]|0; - $29 = (_PixelIsMagenta($$byval_copy4)|0); - $30 = ($29|0)==(0); - if (!($30)) { - $index$1$lcssa = $index$12; - break L19; - } - $31 = (($index$12) + 32)|0; - $32 = (($tempCharSet) + (($index$12*20)|0)|0); - HEAP32[$32>>2] = $31; - $33 = ((($tempCharSet) + (($index$12*20)|0)|0) + 4|0); - HEAP32[$33>>2] = $xPosToRead$13; - $34 = ((($tempCharSet) + (($index$12*20)|0)|0) + 8|0); - HEAP32[$34>>2] = $26; - $35 = ((($tempCharSet) + (($index$12*20)|0)|0) + 16|0); - HEAP32[$35>>2] = $j$0; - $charWidth$0 = 0; - while(1) { - $36 = (($charWidth$0) + ($27))|0; - $37 = (($imgDataPixel) + ($36<<2)|0); - ;HEAP8[$$byval_copy4+0>>0]=HEAP8[$37+0>>0]|0;HEAP8[$$byval_copy4+1>>0]=HEAP8[$37+1>>0]|0;HEAP8[$$byval_copy4+2>>0]=HEAP8[$37+2>>0]|0;HEAP8[$$byval_copy4+3>>0]=HEAP8[$37+3>>0]|0; - $38 = (_PixelIsMagenta($$byval_copy4)|0); - $39 = ($38|0)==(0); - $40 = (($charWidth$0) + 1)|0; - if ($39) { - $charWidth$0 = $40; - } else { - break; - } - } - $41 = ((($tempCharSet) + (($index$12*20)|0)|0) + 12|0); - HEAP32[$41>>2] = $charWidth$0; - $42 = (($index$12) + 1)|0; - $43 = (($xPosToRead$13) + ($x$2))|0; - $44 = (($43) + ($charWidth$0))|0; - $45 = ($44|0)<($imgWidth|0); - if ($45) { - $index$12 = $42;$xPosToRead$13 = $44; - } else { - $index$1$lcssa = $42; - break; - } - } - } else { - $index$1$lcssa = $index$06; - } - } while(0); - $46 = (($lineToRead$07) + 1)|0; - $47 = Math_imul($46, $16)|0; - $48 = (($47) + ($y$0$lcssa))|0; - $49 = ($48|0)<($imgHeight|0); - if ($49) { - $26 = $48;$index$06 = $index$1$lcssa;$lineToRead$07 = $46; - } else { - $index$0$lcssa = $index$1$lcssa; - break; - } - } - } else { - $index$0$lcssa = 0; - } - $50 = ($index$0$lcssa*20)|0; - $51 = (_malloc($50)|0); - HEAP32[$charSet>>2] = $51; - $52 = ($index$0$lcssa|0)>(0); - if ($52) { - $i$01 = 0; - } else { - STACKTOP = sp;return ($index$0$lcssa|0); - } - while(1) { - $53 = HEAP32[$charSet>>2]|0; - $54 = (($53) + (($i$01*20)|0)|0); - $55 = (($tempCharSet) + (($i$01*20)|0)|0); - ;HEAP32[$54+0>>2]=HEAP32[$55+0>>2]|0;HEAP32[$54+4>>2]=HEAP32[$55+4>>2]|0;HEAP32[$54+8>>2]=HEAP32[$55+8>>2]|0;HEAP32[$54+12>>2]=HEAP32[$55+12>>2]|0;HEAP32[$54+16>>2]=HEAP32[$55+16>>2]|0; - $56 = (($i$01) + 1)|0; - $exitcond = ($56|0)==($index$0$lcssa|0); - if ($exitcond) { - break; - } else { - $i$01 = $56; - } - } - STACKTOP = sp;return ($index$0$lcssa|0); -} -function _UnloadSpriteFont($spriteFont) { - $spriteFont = $spriteFont|0; - var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[$spriteFont>>2]|0; - _rlDeleteTextures($0); - $1 = (($spriteFont) + 16|0); - $2 = HEAP32[$1>>2]|0; - _free($2); - STACKTOP = sp;return; -} -function _DrawText($text,$posX,$posY,$fontSize,$color) { - $text = $text|0; - $posX = $posX|0; - $posY = $posY|0; - $fontSize = $fontSize|0; - $color = $color|0; - var $$fontSize = 0, $0 = 0.0, $1 = 0, $2 = 0.0, $3 = 0, $4 = 0, $color$byval_copy = 0, $defaultFont$byval_copy = 0, $position = 0, $position$byval_copy = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); - $color$byval_copy = sp + 40|0; - $position$byval_copy = sp; - $defaultFont$byval_copy = sp + 8|0; - $position = sp + 32|0; - $0 = (+($posX|0)); - HEAPF32[$position>>2] = $0; - $1 = (($position) + 4|0); - $2 = (+($posY|0)); - HEAPF32[$1>>2] = $2; - $3 = ($fontSize|0)<(10); - $$fontSize = $3 ? 10 : $fontSize; - $4 = (($$fontSize|0) / 10)&-1; - ;HEAP32[$defaultFont$byval_copy+0>>2]=HEAP32[9408+0>>2]|0;HEAP32[$defaultFont$byval_copy+4>>2]=HEAP32[9408+4>>2]|0;HEAP32[$defaultFont$byval_copy+8>>2]=HEAP32[9408+8>>2]|0;HEAP32[$defaultFont$byval_copy+12>>2]=HEAP32[9408+12>>2]|0;HEAP32[$defaultFont$byval_copy+16>>2]=HEAP32[9408+16>>2]|0; - ;HEAP32[$position$byval_copy+0>>2]=HEAP32[$position+0>>2]|0;HEAP32[$position$byval_copy+4>>2]=HEAP32[$position+4>>2]|0; - ;HEAP8[$color$byval_copy+0>>0]=HEAP8[$color+0>>0]|0;HEAP8[$color$byval_copy+1>>0]=HEAP8[$color+1>>0]|0;HEAP8[$color$byval_copy+2>>0]=HEAP8[$color+2>>0]|0;HEAP8[$color$byval_copy+3>>0]=HEAP8[$color+3>>0]|0; - _DrawTextEx($defaultFont$byval_copy,$text,$position$byval_copy,$$fontSize,$4,$color$byval_copy); - STACKTOP = sp;return; -} -function _DrawTextEx($spriteFont,$text,$position,$fontSize,$spacing,$tint) { - $spriteFont = $spriteFont|0; - $text = $text|0; - $position = $position|0; - $fontSize = $fontSize|0; - $spacing = $spacing|0; - $tint = $tint|0; - var $0 = 0, $1 = 0.0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0.0, $23 = 0, $24 = 0, $25 = 0.0, $26 = 0; - var $27 = 0.0, $28 = 0, $29 = 0.0, $3 = 0, $30 = 0.0, $31 = 0.0, $32 = 0, $33 = 0.0, $34 = 0.0, $35 = 0, $36 = 0.0, $37 = 0.0, $38 = 0, $39 = 0.0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0.0, $53 = 0.0, $54 = 0.0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0, $59 = 0.0, $6 = 0, $60 = 0.0, $61 = 0.0, $62 = 0.0; - var $63 = 0.0, $64 = 0, $65 = 0.0, $66 = 0.0, $67 = 0.0, $68 = 0.0, $69 = 0.0, $7 = 0.0, $70 = 0.0, $71 = 0.0, $72 = 0.0, $73 = 0.0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0.0, $8 = 0.0, $80 = 0.0; - var $81 = 0.0, $82 = 0.0, $83 = 0, $9 = 0.0, $exitcond = 0, $i$02 = 0, $positionX$0 = 0, $positionX$0$in1 = 0.0, $scaleFactor$0 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_strlen(($text|0))|0); - $1 = +HEAPF32[$position>>2]; - $2 = (($spriteFont) + 16|0); - $3 = HEAP32[$2>>2]|0; - $4 = (($3) + 16|0); - $5 = HEAP32[$4>>2]|0; - $6 = ($5|0)<($fontSize|0); - if ($6) { - $7 = (+($fontSize|0)); - $8 = (+($5|0)); - $9 = $7 / $8; - $scaleFactor$0 = $9; - } else { - $scaleFactor$0 = 1.0; - } - $10 = HEAP32[$spriteFont>>2]|0; - _rlEnableTexture($10); - _rlBegin(2); - $11 = ($0|0)>(0); - if (!($11)) { - _rlEnd(); - STACKTOP = sp;return; - } - $12 = HEAP32[$2>>2]|0; - $13 = HEAP8[$tint>>0]|0; - $14 = (($tint) + 1|0); - $15 = HEAP8[$14>>0]|0; - $16 = (($tint) + 2|0); - $17 = HEAP8[$16>>0]|0; - $18 = (($tint) + 3|0); - $19 = HEAP8[$18>>0]|0; - $20 = (($spriteFont) + 4|0); - $21 = HEAP32[$20>>2]|0; - $22 = (+($21|0)); - $23 = (($spriteFont) + 8|0); - $24 = HEAP32[$23>>2]|0; - $25 = (+($24|0)); - $26 = (($position) + 4|0); - $27 = +HEAPF32[$26>>2]; - $28 = HEAP32[$20>>2]|0; - $29 = (+($28|0)); - $30 = (+($24|0)); - $31 = (+($28|0)); - $32 = HEAP32[$23>>2]|0; - $33 = (+($32|0)); - $34 = +HEAPF32[$26>>2]; - $35 = HEAP32[$20>>2]|0; - $36 = (+($35|0)); - $37 = (+($32|0)); - $38 = HEAP32[$2>>2]|0; - $39 = (+($spacing|0)); - $i$02 = 0;$positionX$0$in1 = $1; - while(1) { - $positionX$0 = (~~(($positionX$0$in1))); - $40 = (($text) + ($i$02)|0); - $41 = HEAP8[$40>>0]|0; - $42 = $41 << 24 >> 24; - $43 = (($42) + -32)|0; - $44 = ((($12) + (($43*20)|0)|0) + 4|0); - $45 = HEAP32[$44>>2]|0; - $46 = ((($12) + (($43*20)|0)|0) + 8|0); - $47 = HEAP32[$46>>2]|0; - $48 = ((($12) + (($43*20)|0)|0) + 12|0); - $49 = HEAP32[$48>>2]|0; - $50 = ((($12) + (($43*20)|0)|0) + 16|0); - $51 = HEAP32[$50>>2]|0; - _rlColor4ub($13,$15,$17,$19); - $52 = (+($45|0)); - $53 = $52 / $22; - $54 = (+($47|0)); - $55 = $54 / $25; - _rlTexCoord2f($53,$55); - $56 = (+($positionX$0|0)); - _rlVertex2f($56,$27); - $57 = $52 / $29; - $58 = (($51) + ($47))|0; - $59 = (+($58|0)); - $60 = $59 / $30; - _rlTexCoord2f($57,$60); - $61 = (+($51|0)); - $62 = $scaleFactor$0 * $61; - $63 = $62 + $27; - _rlVertex2f($56,$63); - $64 = (($49) + ($45))|0; - $65 = (+($64|0)); - $66 = $65 / $31; - $67 = $59 / $33; - _rlTexCoord2f($66,$67); - $68 = (+($49|0)); - $69 = $scaleFactor$0 * $68; - $70 = $56 + $69; - $71 = $62 + $34; - _rlVertex2f($70,$71); - $72 = $65 / $36; - $73 = $54 / $37; - _rlTexCoord2f($72,$73); - _rlVertex2f($70,$34); - $74 = HEAP8[$40>>0]|0; - $75 = $74 << 24 >> 24; - $76 = (($75) + -32)|0; - $77 = ((($38) + (($76*20)|0)|0) + 12|0); - $78 = HEAP32[$77>>2]|0; - $79 = (+($78|0)); - $80 = $scaleFactor$0 * $79; - $81 = $39 + $80; - $82 = $56 + $81; - $83 = (($i$02) + 1)|0; - $exitcond = ($83|0)==($0|0); - if ($exitcond) { - break; - } else { - $i$02 = $83;$positionX$0$in1 = $82; - } - } - _rlEnd(); - STACKTOP = sp;return; -} -function _FormatText($text,$varargs) { - $text = $text|0; - $varargs = $varargs|0; - var $args = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); - $args = sp; - HEAP32[$args>>2] = $varargs; - (_vsprintf(10976,$text,$args)|0); - STACKTOP = sp;return (10976|0); -} -function _MeasureText($text,$fontSize) { - $text = $text|0; - $fontSize = $fontSize|0; - var $$fontSize = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0.0, $4 = 0, $defaultFont$byval_copy = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); - $defaultFont$byval_copy = sp + 8|0; - $0 = sp; - $1 = ($fontSize|0)<(10); - $$fontSize = $1 ? 10 : $fontSize; - $2 = (($$fontSize|0) / 10)&-1; - ;HEAP32[$defaultFont$byval_copy+0>>2]=HEAP32[9408+0>>2]|0;HEAP32[$defaultFont$byval_copy+4>>2]=HEAP32[9408+4>>2]|0;HEAP32[$defaultFont$byval_copy+8>>2]=HEAP32[9408+8>>2]|0;HEAP32[$defaultFont$byval_copy+12>>2]=HEAP32[9408+12>>2]|0;HEAP32[$defaultFont$byval_copy+16>>2]=HEAP32[9408+16>>2]|0; - _MeasureTextEx($0,$defaultFont$byval_copy,$text,$$fontSize,$2); - $3 = +HEAPF32[$0>>2]; - $4 = (~~(($3))); - STACKTOP = sp;return ($4|0); -} -function _MeasureTextEx($agg$result,$spriteFont,$text,$fontSize,$spacing) { - $agg$result = $agg$result|0; - $spriteFont = $spriteFont|0; - $text = $text|0; - $fontSize = $fontSize|0; - $spacing = $spacing|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $2 = 0, $20 = 0.0, $21 = 0, $22 = 0, $23 = 0.0, $24 = 0.0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0.0, $29 = 0.0, $3 = 0, $30 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $i$01 = 0, $phitmp = 0.0, $scaleFactor$0 = 0.0, $textWidth$0$lcssa = 0.0, $textWidth$02 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_strlen(($text|0))|0); - $1 = ($0|0)>(0); - if ($1) { - $2 = (($spriteFont) + 16|0); - $3 = HEAP32[$2>>2]|0; - $i$01 = 0;$textWidth$02 = 0; - while(1) { - $4 = (($text) + ($i$01)|0); - $5 = HEAP8[$4>>0]|0; - $6 = $5 << 24 >> 24; - $7 = (($6) + -32)|0; - $8 = ((($3) + (($7*20)|0)|0) + 12|0); - $9 = HEAP32[$8>>2]|0; - $10 = (($9) + ($textWidth$02))|0; - $11 = (($i$01) + 1)|0; - $exitcond = ($11|0)==($0|0); - if ($exitcond) { - break; - } else { - $i$01 = $11;$textWidth$02 = $10; - } - } - $phitmp = (+($10|0)); - $textWidth$0$lcssa = $phitmp; - } else { - $textWidth$0$lcssa = 0.0; - } - $12 = (($spriteFont) + 16|0); - $13 = HEAP32[$12>>2]|0; - $14 = (($13) + 16|0); - $15 = HEAP32[$14>>2]|0; - $16 = ($15|0)<($fontSize|0); - if ($16) { - $17 = (+($fontSize|0)); - $18 = (+($15|0)); - $19 = $17 / $18; - $scaleFactor$0 = $19; - } else { - $scaleFactor$0 = 1.0; - } - $20 = $textWidth$0$lcssa * $scaleFactor$0; - $21 = (($0) + -1)|0; - $22 = Math_imul($21, $spacing)|0; - $23 = (+($22|0)); - $24 = $23 + $20; - $25 = HEAP32[$12>>2]|0; - $26 = (($25) + 16|0); - $27 = HEAP32[$26>>2]|0; - $28 = (+($27|0)); - $29 = $scaleFactor$0 * $28; - HEAPF32[$agg$result>>2] = $24; - $30 = (($agg$result) + 4|0); - HEAPF32[$30>>2] = $29; - STACKTOP = sp;return; -} -function _GetFontBaseSize($spriteFont) { - $spriteFont = $spriteFont|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (($spriteFont) + 16|0); - $1 = HEAP32[$0>>2]|0; - $2 = (($1) + 16|0); - $3 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($3|0); -} -function _DrawFPS($posX,$posY) { - $posX = $posX|0; - $posY = $posY|0; - var $$byval_copy = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0.0, $9 = 0, $buffer = 0, $storemerge = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); - $$byval_copy = sp; - $buffer = sp + 12|0; - $0 = sp + 8|0; - $1 = HEAP32[11040>>2]|0; - $2 = HEAP32[11048>>2]|0; - $3 = ($1|0)<($2|0); - if ($3) { - $4 = (($1) + 1)|0; - $storemerge = $4; - } else { - $5 = (+_GetFPS()); - HEAPF32[11032>>2] = $5; - $6 = (~~(($5))); - HEAP32[11048>>2] = $6; - $storemerge = 0; - } - HEAP32[11040>>2] = $storemerge; - $7 = +HEAPF32[11032>>2]; - $8 = $7; - HEAPF64[tempDoublePtr>>3]=$8;HEAP32[$$byval_copy>>2]=HEAP32[tempDoublePtr>>2];HEAP32[$$byval_copy+4>>2]=HEAP32[tempDoublePtr+4>>2]; - (_sprintf($buffer,11056,$$byval_copy)|0); - HEAP8[$0>>0] = 0; - $9 = (($0) + 1|0); - HEAP8[$9>>0] = -98; - $10 = (($0) + 2|0); - HEAP8[$10>>0] = 47; - $11 = (($0) + 3|0); - HEAP8[$11>>0] = -1; - ;HEAP8[$$byval_copy+0>>0]=HEAP8[$0+0>>0]|0;HEAP8[$$byval_copy+1>>0]=HEAP8[$0+1>>0]|0;HEAP8[$$byval_copy+2>>0]=HEAP8[$0+2>>0]|0;HEAP8[$$byval_copy+3>>0]=HEAP8[$0+3>>0]|0; - _DrawText($buffer,$posX,$posY,20,$$byval_copy); - STACKTOP = sp;return; -} -function _PixelIsMagenta($p) { - $p = $p|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP8[$p>>0]|0; - $1 = ($0<<24>>24)==(-1); - if ($1) { - $2 = (($p) + 1|0); - $3 = HEAP8[$2>>0]|0; - $4 = ($3<<24>>24)==(0); - if ($4) { - $5 = (($p) + 2|0); - $6 = HEAP8[$5>>0]|0; - $7 = ($6<<24>>24)==(-1); - if ($7) { - $8 = (($p) + 3|0); - $9 = HEAP8[$8>>0]|0; - $10 = ($9<<24>>24)==(-1); - $12 = $10; - } else { - $12 = 0; - } - } else { - $12 = 0; - } - } else { - $12 = 0; - } - $11 = $12&1; - STACKTOP = sp;return ($11|0); -} -function _stbi_image_free($retval_from_stbi_load) { - $retval_from_stbi_load = $retval_from_stbi_load|0; - var label = 0, sp = 0; - sp = STACKTOP; - _free($retval_from_stbi_load); - STACKTOP = sp;return; -} -function _stbi_load($filename,$x,$y,$comp,$req_comp) { - $filename = $filename|0; - $x = $x|0; - $y = $y|0; - $comp = $comp|0; - $req_comp = $req_comp|0; - var $$0 = 0, $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_stbi__fopen($filename)|0); - $1 = ($0|0)==(0|0); - if ($1) { - _stbi__err(11328); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } else { - $2 = (_stbi_load_from_file($0,$x,$y,$comp,$req_comp)|0); - (_fclose(($0|0))|0); - $$0 = $2; - STACKTOP = sp;return ($$0|0); - } - return 0|0; -} -function _stbi__fopen($filename) { - $filename = $filename|0; - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_fopen(($filename|0),(11320|0))|0); - STACKTOP = sp;return ($0|0); -} -function _stbi__err($str) { - $str = $str|0; - var label = 0, sp = 0; - sp = STACKTOP; - HEAP32[11312>>2] = $str; - STACKTOP = sp;return; -} -function _stbi_load_from_file($f,$x,$y,$comp,$req_comp) { - $f = $f|0; - $x = $x|0; - $y = $y|0; - $comp = $comp|0; - $req_comp = $req_comp|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $s = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 192|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); - $s = sp; - _stbi__start_file($s,$f); - $0 = (_stbi_load_main($s,$x,$y,$comp,$req_comp)|0); - $1 = ($0|0)==(0|0); - if ($1) { - STACKTOP = sp;return ($0|0); - } - $2 = (($s) + 172|0); - $3 = HEAP32[$2>>2]|0; - $4 = (($s) + 168|0); - $5 = HEAP32[$4>>2]|0; - $6 = $3; - $7 = $5; - $8 = (($7) - ($6))|0; - (_fseek(($f|0),($8|0),1)|0); - STACKTOP = sp;return ($0|0); -} -function _stbi__start_file($s,$f) { - $s = $s|0; - $f = $f|0; - var label = 0, sp = 0; - sp = STACKTOP; - _stbi__start_callbacks($s,15912,$f); - STACKTOP = sp;return; -} -function _stbi_load_main($s,$x,$y,$comp,$req_comp) { - $s = $s|0; - $x = $x|0; - $y = $y|0; - $comp = $comp|0; - $req_comp = $req_comp|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $3 = 0, $4 = 0; - var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_stbi__jpeg_test($s)|0); - $1 = ($0|0)==(0); - do { - if ($1) { - $3 = (_stbi__png_test($s)|0); - $4 = ($3|0)==(0); - if (!($4)) { - $5 = (_stbi__png_load($s,$x,$y,$comp,$req_comp)|0); - $$0 = $5; - break; - } - $6 = (_stbi__bmp_test($s)|0); - $7 = ($6|0)==(0); - if (!($7)) { - $8 = (_stbi__bmp_load($s,$x,$y,$comp,$req_comp)|0); - $$0 = $8; - break; - } - $9 = (_stbi__gif_test($s)|0); - $10 = ($9|0)==(0); - if (!($10)) { - $11 = (_stbi__gif_load($s,$x,$y,$comp,$req_comp)|0); - $$0 = $11; - break; - } - $12 = (_stbi__psd_test($s)|0); - $13 = ($12|0)==(0); - if (!($13)) { - $14 = (_stbi__psd_load($s,$x,$y,$comp,$req_comp)|0); - $$0 = $14; - break; - } - $15 = (_stbi__pic_test($s)|0); - $16 = ($15|0)==(0); - if (!($16)) { - $17 = (_stbi__pic_load($s,$x,$y,$comp,$req_comp)|0); - $$0 = $17; - break; - } - $18 = (_stbi__pnm_test($s)|0); - $19 = ($18|0)==(0); - if (!($19)) { - $20 = (_stbi__pnm_load($s,$x,$y,$comp,$req_comp)|0); - $$0 = $20; - break; - } - $21 = (_stbi__tga_test($s)|0); - $22 = ($21|0)==(0); - if ($22) { - _stbi__err(12480); - $$0 = 0; - break; - } else { - $23 = (_stbi__tga_load($s,$x,$y,$comp,$req_comp)|0); - $$0 = $23; - break; - } - } else { - $2 = (_stbi__jpeg_load($s,$x,$y,$comp,$req_comp)|0); - $$0 = $2; - } - } while(0); - STACKTOP = sp;return ($$0|0); -} -function _stbi__start_callbacks($s,$c,$user) { - $s = $s|0; - $c = $c|0; - $user = $user|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (($s) + 16|0); - ;HEAP32[$0+0>>2]=HEAP32[$c+0>>2]|0;HEAP32[$0+4>>2]=HEAP32[$c+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$c+8>>2]|0; - $1 = (($s) + 28|0); - HEAP32[$1>>2] = $user; - $2 = (($s) + 36|0); - HEAP32[$2>>2] = 128; - $3 = (($s) + 32|0); - HEAP32[$3>>2] = 1; - $4 = (($s) + 40|0); - $5 = (($s) + 176|0); - HEAP32[$5>>2] = $4; - _stbi__refill_buffer($s); - STACKTOP = sp;return; -} -function _stbi__malloc($size) { - $size = $size|0; - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_malloc($size)|0); - STACKTOP = sp;return ($0|0); -} -function _stbi__do_zlib($a,$obuf,$olen,$exp,$parse_header) { - $a = $a|0; - $obuf = $obuf|0; - $olen = $olen|0; - $exp = $exp|0; - $parse_header = $parse_header|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (($a) + 20|0); - HEAP32[$0>>2] = $obuf; - $1 = (($a) + 16|0); - HEAP32[$1>>2] = $obuf; - $2 = (($obuf) + ($olen)|0); - $3 = (($a) + 24|0); - HEAP32[$3>>2] = $2; - $4 = (($a) + 28|0); - HEAP32[$4>>2] = $exp; - $5 = (_stbi__parse_zlib($a,$parse_header)|0); - STACKTOP = sp;return ($5|0); -} -function _stbi_zlib_decode_malloc_guesssize_headerflag($buffer,$len,$initial_size,$outlen,$parse_header) { - $buffer = $buffer|0; - $len = $len|0; - $initial_size = $initial_size|0; - $outlen = $outlen|0; - $parse_header = $parse_header|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $a = 0; - var label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 4080|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); - $a = sp; - $0 = (_stbi__malloc($initial_size)|0); - $1 = ($0|0)==(0|0); - if ($1) { - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - HEAP32[$a>>2] = $buffer; - $2 = (($buffer) + ($len)|0); - $3 = (($a) + 4|0); - HEAP32[$3>>2] = $2; - $4 = (_stbi__do_zlib($a,$0,$initial_size,1,$parse_header)|0); - $5 = ($4|0)==(0); - if ($5) { - $16 = (($a) + 20|0); - $17 = HEAP32[$16>>2]|0; - _free($17); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $6 = ($outlen|0)==(0|0); - if (!($6)) { - $7 = (($a) + 16|0); - $8 = HEAP32[$7>>2]|0; - $9 = (($a) + 20|0); - $10 = HEAP32[$9>>2]|0; - $11 = $8; - $12 = $10; - $13 = (($11) - ($12))|0; - HEAP32[$outlen>>2] = $13; - } - $14 = (($a) + 20|0); - $15 = HEAP32[$14>>2]|0; - $$0 = $15; - STACKTOP = sp;return ($$0|0); -} -function _LoadImage($agg$result,$fileName) { - $agg$result = $agg$result|0; - $fileName = $fileName|0; - var $$lcssa = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; - var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0; - var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0; - var $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0; - var $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0; - var $98 = 0, $99 = 0, $i$02 = 0, $i2$04 = 0, $image$sroa$0$0 = 0, $image$sroa$1$0 = 0, $image$sroa$2$0 = 0, $imageDDS = 0, $imgBpp = 0, $imgHeight = 0, $imgWidth = 0, $pix$01 = 0, $pix1$03 = 0, $vararg_buffer15 = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); - $vararg_buffer15 = sp; - $imgWidth = sp + 40|0; - $imgHeight = sp + 12|0; - $imgBpp = sp + 16|0; - $imageDDS = sp + 20|0; - $0 = (_GetExtension($fileName)|0); - $1 = (_strcmp($0,11360)|0); - $2 = ($1|0)==(0); - do { - if ($2) { - label = 8; - } else { - $3 = (_GetExtension($fileName)|0); - $4 = (_strcmp($3,11368)|0); - $5 = ($4|0)==(0); - if ($5) { - label = 8; - } else { - $6 = (_GetExtension($fileName)|0); - $7 = (_strcmp($6,11376)|0); - $8 = ($7|0)==(0); - if ($8) { - label = 8; - } else { - $9 = (_GetExtension($fileName)|0); - $10 = (_strcmp($9,11384)|0); - $11 = ($10|0)==(0); - if ($11) { - label = 8; - } else { - $12 = (_GetExtension($fileName)|0); - $13 = (_strcmp($12,11392)|0); - $14 = ($13|0)==(0); - if ($14) { - label = 8; - } else { - $15 = (_GetExtension($fileName)|0); - $16 = (_strcmp($15,11400)|0); - $17 = ($16|0)==(0); - if ($17) { - label = 8; - } else { - $18 = (_GetExtension($fileName)|0); - $19 = (_strcmp($18,11408)|0); - $20 = ($19|0)==(0); - if ($20) { - label = 8; - } else { - $57 = (_GetExtension($fileName)|0); - $58 = (_strcmp($57,11512)|0); - $59 = ($58|0)==(0); - if (!($59)) { - $96 = (_GetExtension($fileName)|0); - $97 = (_strcmp($96,11640)|0); - $98 = ($97|0)==(0); - if ($98) { - HEAP32[$vararg_buffer15>>2] = $fileName; - _TraceLog(0,11648,$vararg_buffer15); - $image$sroa$0$0 = 0;$image$sroa$1$0 = 0;$image$sroa$2$0 = 0; - break; - } else { - HEAP32[$vararg_buffer15>>2] = $fileName; - _TraceLog(2,11704,$vararg_buffer15); - $image$sroa$0$0 = 0;$image$sroa$1$0 = 0;$image$sroa$2$0 = 0; - break; - } - } - _LoadDDS($imageDDS,$fileName); - $60 = (($imageDDS) + 16|0); - $61 = HEAP32[$60>>2]|0; - $62 = ($61|0)==(0); - if (!($62)) { - HEAP32[$vararg_buffer15>>2] = $fileName; - _TraceLog(2,11584,$vararg_buffer15); - $image$sroa$0$0 = 0;$image$sroa$1$0 = 0;$image$sroa$2$0 = 0; - break; - } - $63 = (($imageDDS) + 4|0); - $64 = HEAP32[$63>>2]|0; - $65 = (($imageDDS) + 8|0); - $66 = HEAP32[$65>>2]|0; - $67 = $64 << 2; - $68 = Math_imul($67, $66)|0; - $69 = (_malloc($68)|0); - $70 = HEAP32[$63>>2]|0; - $71 = HEAP32[$65>>2]|0; - $72 = $70 << 2; - $73 = Math_imul($72, $71)|0; - $74 = ($73|0)>(0); - $75 = HEAP32[$imageDDS>>2]|0; - if ($74) { - $76 = HEAP32[$imageDDS>>2]|0; - $78 = $75;$i2$04 = 0;$pix1$03 = 0; - while(1) { - $77 = (($78) + ($i2$04)|0); - $79 = HEAP8[$77>>0]|0; - $80 = (($69) + ($pix1$03<<2)|0); - HEAP8[$80>>0] = $79; - $81 = $i2$04 | 1; - $82 = (($76) + ($81)|0); - $83 = HEAP8[$82>>0]|0; - $84 = ((($69) + ($pix1$03<<2)|0) + 1|0); - HEAP8[$84>>0] = $83; - $85 = $i2$04 | 2; - $86 = (($76) + ($85)|0); - $87 = HEAP8[$86>>0]|0; - $88 = ((($69) + ($pix1$03<<2)|0) + 2|0); - HEAP8[$88>>0] = $87; - $89 = $i2$04 | 3; - $90 = (($76) + ($89)|0); - $91 = HEAP8[$90>>0]|0; - $92 = ((($69) + ($pix1$03<<2)|0) + 3|0); - HEAP8[$92>>0] = $91; - $93 = (($pix1$03) + 1)|0; - $94 = (($i2$04) + 4)|0; - $95 = ($94|0)<($73|0); - if ($95) { - $78 = $76;$i2$04 = $94;$pix1$03 = $93; - } else { - $$lcssa = $76; - break; - } - } - } else { - $$lcssa = $75; - } - _free($$lcssa); - HEAP32[$vararg_buffer15>>2] = $fileName; - _TraceLog(0,11520,$vararg_buffer15); - $image$sroa$0$0 = $69;$image$sroa$1$0 = $70;$image$sroa$2$0 = $71; - } - } - } - } - } - } - } - } while(0); - do { - if ((label|0) == 8) { - $21 = (_stbi_load($fileName,$imgWidth,$imgHeight,$imgBpp,4)|0); - $22 = ($21|0)==(0|0); - if ($22) { - HEAP32[$vararg_buffer15>>2] = $fileName; - _TraceLog(2,11456,$vararg_buffer15); - $image$sroa$0$0 = 0;$image$sroa$1$0 = 0;$image$sroa$2$0 = 0; - break; - } - $23 = HEAP32[$imgWidth>>2]|0; - $24 = HEAP32[$imgHeight>>2]|0; - $25 = $23 << 2; - $26 = Math_imul($25, $24)|0; - $27 = (_malloc($26)|0); - $28 = HEAP32[$imgWidth>>2]|0; - $29 = HEAP32[$imgHeight>>2]|0; - $30 = $28 << 2; - $31 = Math_imul($30, $29)|0; - $32 = ($31|0)>(0); - if ($32) { - $33 = HEAP32[$imgWidth>>2]|0; - $34 = HEAP32[$imgHeight>>2]|0; - $35 = $33 << 2; - $36 = Math_imul($35, $34)|0; - $i$02 = 0;$pix$01 = 0; - while(1) { - $37 = (($21) + ($i$02)|0); - $38 = HEAP8[$37>>0]|0; - $39 = (($27) + ($pix$01<<2)|0); - HEAP8[$39>>0] = $38; - $40 = $i$02 | 1; - $41 = (($21) + ($40)|0); - $42 = HEAP8[$41>>0]|0; - $43 = ((($27) + ($pix$01<<2)|0) + 1|0); - HEAP8[$43>>0] = $42; - $44 = $i$02 | 2; - $45 = (($21) + ($44)|0); - $46 = HEAP8[$45>>0]|0; - $47 = ((($27) + ($pix$01<<2)|0) + 2|0); - HEAP8[$47>>0] = $46; - $48 = $i$02 | 3; - $49 = (($21) + ($48)|0); - $50 = HEAP8[$49>>0]|0; - $51 = ((($27) + ($pix$01<<2)|0) + 3|0); - HEAP8[$51>>0] = $50; - $52 = (($pix$01) + 1)|0; - $53 = (($i$02) + 4)|0; - $54 = ($53|0)<($36|0); - if ($54) { - $i$02 = $53;$pix$01 = $52; - } else { - break; - } - } - } - _stbi_image_free($21); - $55 = HEAP32[$imgWidth>>2]|0; - $56 = HEAP32[$imgHeight>>2]|0; - HEAP32[$vararg_buffer15>>2] = $fileName; - $vararg_ptr1 = (($vararg_buffer15) + 4|0); - HEAP32[$vararg_ptr1>>2] = $55; - $vararg_ptr2 = (($vararg_buffer15) + 8|0); - HEAP32[$vararg_ptr2>>2] = $56; - _TraceLog(0,11416,$vararg_buffer15); - $image$sroa$0$0 = $27;$image$sroa$1$0 = $55;$image$sroa$2$0 = $56; - } - } while(0); - HEAP32[$agg$result>>2] = $image$sroa$0$0; - $99 = (($agg$result) + 4|0); - HEAP32[$99>>2] = $image$sroa$1$0; - $100 = (($agg$result) + 8|0); - HEAP32[$100>>2] = $image$sroa$2$0; - STACKTOP = sp;return; -} -function _LoadDDS($agg$result,$fileName) { - $agg$result = $agg$result|0; - $fileName = $fileName|0; - var $$pr = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; - var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0; - var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $8 = 0, $9 = 0, $bufsize$0 = 0, $dest$06 = 0, $dest$1$lcssa = 0, $dest$12 = 0, $exitcond = 0; - var $exitcond11 = 0, $filecode = 0, $header = 0, $image$sroa$0$0 = 0, $image$sroa$1$0 = 0, $image$sroa$2$0 = 0, $image$sroa$3$0 = 0, $image$sroa$4$0 = 0, $scevgep = 0, $scevgep10 = 0, $src$05 = 0, $src$1$lcssa = 0, $src$11 = 0, $vararg_buffer23 = 0, $vararg_ptr11 = 0, $vararg_ptr15 = 0, $vararg_ptr19 = 0, $vararg_ptr7 = 0, $x$03 = 0, $y$07 = 0; - var label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 144|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); - $vararg_buffer23 = sp; - $header = sp + 8|0; - $filecode = sp + 132|0; - $0 = (_fopen(($fileName|0),(11320|0))|0); - $1 = ($0|0)==(0|0); - L1: do { - if ($1) { - HEAP32[$vararg_buffer23>>2] = $fileName; - _TraceLog(2,12120,$vararg_buffer23); - $image$sroa$0$0 = 0;$image$sroa$1$0 = 0;$image$sroa$2$0 = 0;$image$sroa$3$0 = 0;$image$sroa$4$0 = 0; - } else { - (_fread(($filecode|0),1,4,($0|0))|0); - $2 = (_strncmp($filecode,12160,4)|0); - $3 = ($2|0)==(0); - if (!($3)) { - HEAP32[$vararg_buffer23>>2] = $fileName; - _TraceLog(2,12168,$vararg_buffer23); - (_fclose(($0|0))|0); - $image$sroa$0$0 = 0;$image$sroa$1$0 = 0;$image$sroa$2$0 = 0;$image$sroa$3$0 = 0;$image$sroa$4$0 = 0; - break; - } - (_fread(($header|0),124,1,($0|0))|0); - HEAP32[$vararg_buffer23>>2] = $fileName; - $vararg_ptr7 = (($vararg_buffer23) + 4|0); - HEAP32[$vararg_ptr7>>2] = 124; - _TraceLog(3,12216,$vararg_buffer23); - $4 = (($header) + 72|0); - $5 = HEAP32[$4>>2]|0; - HEAP32[$vararg_buffer23>>2] = $fileName; - $vararg_ptr11 = (($vararg_buffer23) + 4|0); - HEAP32[$vararg_ptr11>>2] = $5; - _TraceLog(3,12248,$vararg_buffer23); - $6 = (($header) + 76|0); - $7 = HEAP32[$6>>2]|0; - HEAP32[$vararg_buffer23>>2] = $fileName; - $vararg_ptr15 = (($vararg_buffer23) + 4|0); - HEAP32[$vararg_ptr15>>2] = $7; - _TraceLog(3,12288,$vararg_buffer23); - $8 = (($header) + 80|0); - $9 = HEAP32[$8>>2]|0; - HEAP32[$vararg_buffer23>>2] = $fileName; - $vararg_ptr19 = (($vararg_buffer23) + 4|0); - HEAP32[$vararg_ptr19>>2] = $9; - _TraceLog(3,12328,$vararg_buffer23); - $10 = (($header) + 12|0); - $11 = HEAP32[$10>>2]|0; - $12 = (($header) + 8|0); - $13 = HEAP32[$12>>2]|0; - $14 = HEAP32[$6>>2]|0; - $15 = ($14|0)==(64); - do { - if ($15) { - $16 = (($header) + 84|0); - $17 = HEAP32[$16>>2]|0; - $18 = ($17|0)==(24); - if (!($18)) { - $$pr = HEAP32[$6>>2]|0; - $46 = $$pr; - break; - } - $19 = $11 << 2; - $20 = Math_imul($19, $13)|0; - $21 = (_malloc($20)|0); - $22 = HEAP32[$10>>2]|0; - $23 = HEAP32[$12>>2]|0; - $24 = ($22*3)|0; - $25 = Math_imul($24, $23)|0; - $26 = (_malloc($25)|0); - $27 = ($11*3)|0; - $28 = Math_imul($27, $13)|0; - (_fread(($26|0),($28|0),1,($0|0))|0); - $29 = ($13|0)>(0); - if ($29) { - $30 = ($11|0)>(0); - $31 = $11 << 2; - $32 = ($11*3)|0; - $dest$06 = $21;$src$05 = $26;$y$07 = 0; - while(1) { - if ($30) { - $scevgep = (($dest$06) + ($31)|0); - $dest$12 = $dest$06;$src$11 = $src$05;$x$03 = 0; - while(1) { - $33 = (($src$11) + 1|0); - $34 = HEAP8[$src$11>>0]|0; - $35 = (($dest$12) + 1|0); - HEAP8[$dest$12>>0] = $34; - $36 = (($src$11) + 2|0); - $37 = HEAP8[$33>>0]|0; - $38 = (($dest$12) + 2|0); - HEAP8[$35>>0] = $37; - $39 = (($src$11) + 3|0); - $40 = HEAP8[$36>>0]|0; - $41 = (($dest$12) + 3|0); - HEAP8[$38>>0] = $40; - $42 = (($dest$12) + 4|0); - HEAP8[$41>>0] = -1; - $43 = (($x$03) + 1)|0; - $exitcond = ($43|0)==($11|0); - if ($exitcond) { - break; - } else { - $dest$12 = $42;$src$11 = $39;$x$03 = $43; - } - } - $scevgep10 = (($src$05) + ($32)|0); - $dest$1$lcssa = $scevgep;$src$1$lcssa = $scevgep10; - } else { - $dest$1$lcssa = $dest$06;$src$1$lcssa = $src$05; - } - $44 = (($y$07) + 1)|0; - $exitcond11 = ($44|0)==($13|0); - if ($exitcond11) { - break; - } else { - $dest$06 = $dest$1$lcssa;$src$05 = $src$1$lcssa;$y$07 = $44; - } - } - } - _free($26); - $image$sroa$0$0 = $21;$image$sroa$1$0 = $11;$image$sroa$2$0 = $13;$image$sroa$3$0 = 1;$image$sroa$4$0 = 0; - break L1; - } else { - $46 = $14; - } - } while(0); - $45 = ($46|0)==(65); - if ($45) { - $47 = (($header) + 84|0); - $48 = HEAP32[$47>>2]|0; - $49 = ($48|0)==(32); - if ($49) { - $50 = HEAP32[$10>>2]|0; - $51 = HEAP32[$12>>2]|0; - $52 = $50 << 2; - $53 = Math_imul($52, $51)|0; - $54 = (_malloc($53)|0); - $55 = $11 << 2; - $56 = Math_imul($55, $13)|0; - (_fread(($54|0),($56|0),1,($0|0))|0); - $image$sroa$0$0 = $54;$image$sroa$1$0 = $11;$image$sroa$2$0 = $13;$image$sroa$3$0 = 1;$image$sroa$4$0 = 0; - break; - } - } - $57 = HEAP32[$6>>2]|0; - $58 = ($57|0)==(4); - if ($58) { - $59 = HEAP32[$8>>2]|0; - $60 = ($59|0)==(0); - if ($60) { - $image$sroa$0$0 = 0;$image$sroa$1$0 = $11;$image$sroa$2$0 = $13;$image$sroa$3$0 = 1;$image$sroa$4$0 = 0; - } else { - HEAP32[$vararg_buffer23>>2] = $fileName; - _TraceLog(2,12360,$vararg_buffer23); - HEAP32[$vararg_buffer23>>2] = $fileName; - _TraceLog(2,12424,$vararg_buffer23); - $61 = (($header) + 24|0); - $62 = HEAP32[$61>>2]|0; - $63 = ($62>>>0)>(1); - $64 = (($header) + 16|0); - $65 = HEAP32[$64>>2]|0; - $66 = $63&1; - $bufsize$0 = $65 << $66; - $67 = (_malloc($bufsize$0)|0); - (_fread(($67|0),1,($bufsize$0|0),($0|0))|0); - (_fclose(($0|0))|0); - $68 = HEAP32[$61>>2]|0; - $69 = HEAP32[$8>>2]|0; - if ((($69|0) == 894720068)) { - $image$sroa$0$0 = $67;$image$sroa$1$0 = $11;$image$sroa$2$0 = $13;$image$sroa$3$0 = $68;$image$sroa$4$0 = 33779; - break; - } else if ((($69|0) == 827611204)) { - $image$sroa$0$0 = $67;$image$sroa$1$0 = $11;$image$sroa$2$0 = $13;$image$sroa$3$0 = $68;$image$sroa$4$0 = 33777; - break; - } else if ((($69|0) == 861165636)) { - $image$sroa$0$0 = $67;$image$sroa$1$0 = $11;$image$sroa$2$0 = $13;$image$sroa$3$0 = $68;$image$sroa$4$0 = 33778; - break; - } else { - $image$sroa$0$0 = $67;$image$sroa$1$0 = $11;$image$sroa$2$0 = $13;$image$sroa$3$0 = $68;$image$sroa$4$0 = 0; - break; - } - } - } else { - $image$sroa$0$0 = 0;$image$sroa$1$0 = $11;$image$sroa$2$0 = $13;$image$sroa$3$0 = 1;$image$sroa$4$0 = 0; - } - } - } while(0); - HEAP32[$agg$result>>2] = $image$sroa$0$0; - $70 = (($agg$result) + 4|0); - HEAP32[$70>>2] = $image$sroa$1$0; - $71 = (($agg$result) + 8|0); - HEAP32[$71>>2] = $image$sroa$2$0; - $72 = (($agg$result) + 12|0); - HEAP32[$72>>2] = $image$sroa$3$0; - $73 = (($agg$result) + 16|0); - HEAP32[$73>>2] = $image$sroa$4$0; - STACKTOP = sp;return; -} -function _LoadTexture($agg$result,$fileName) { - $agg$result = $agg$result|0; - $fileName = $fileName|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $image = 0, $image1 = 0, $image2 = 0, $image2$byval_copy10 = 0, $texture$sroa$0$0 = 0, $texture$sroa$0$1 = 0, $texture$sroa$1$0 = 0, $texture$sroa$2$0 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); - $image2$byval_copy10 = sp; - $image = sp + 60|0; - $image1 = sp + 12|0; - $image2 = sp + 32|0; - $0 = sp + 44|0; - $1 = sp + 48|0; - $2 = (_GetExtension($fileName)|0); - $3 = (_strcmp($2,11512)|0); - $4 = ($3|0)==(0); - do { - if ($4) { - _LoadDDS($image,$fileName); - $5 = (($image) + 16|0); - $6 = HEAP32[$5>>2]|0; - $7 = ($6|0)==(0); - $8 = HEAP32[$image>>2]|0; - $9 = (($image) + 4|0); - $10 = HEAP32[$9>>2]|0; - $11 = (($image) + 8|0); - $12 = HEAP32[$11>>2]|0; - if ($7) { - $13 = (_rlglLoadTexture($8,$10,$12,0)|0); - $texture$sroa$0$0 = $13; - } else { - $14 = (($image) + 12|0); - $15 = HEAP32[$14>>2]|0; - $16 = (_rlglLoadCompressedTexture($8,$10,$12,$15,$6)|0); - $texture$sroa$0$0 = $16; - } - $17 = HEAP32[$9>>2]|0; - $18 = HEAP32[$11>>2]|0; - $19 = ($texture$sroa$0$0|0)==(0); - if ($19) { - HEAP32[$image2$byval_copy10>>2] = $fileName; - _TraceLog(2,11760,$image2$byval_copy10); - } else { - HEAP32[$image2$byval_copy10>>2] = $fileName; - _TraceLog(0,11800,$image2$byval_copy10); - } - $20 = HEAP32[$image>>2]|0; - _free($20); - $texture$sroa$0$1 = $texture$sroa$0$0;$texture$sroa$1$0 = $17;$texture$sroa$2$0 = $18; - } else { - $21 = (_GetExtension($fileName)|0); - $22 = (_strcmp($21,11640)|0); - $23 = ($22|0)==(0); - if (!($23)) { - _LoadImage($image2,$fileName); - $38 = HEAP32[$image2>>2]|0; - $39 = ($38|0)==(0|0); - if ($39) { - $texture$sroa$0$1 = 0;$texture$sroa$1$0 = 0;$texture$sroa$2$0 = 0; - break; - } - HEAP32[$0>>2] = 0; - ;HEAP8[$image2$byval_copy10+0>>0]=HEAP8[$0+0>>0]|0;HEAP8[$image2$byval_copy10+1>>0]=HEAP8[$0+1>>0]|0;HEAP8[$image2$byval_copy10+2>>0]=HEAP8[$0+2>>0]|0;HEAP8[$image2$byval_copy10+3>>0]=HEAP8[$0+3>>0]|0; - _ConvertToPOT($image2,$image2$byval_copy10); - ;HEAP32[$image2$byval_copy10+0>>2]=HEAP32[$image2+0>>2]|0;HEAP32[$image2$byval_copy10+4>>2]=HEAP32[$image2+4>>2]|0;HEAP32[$image2$byval_copy10+8>>2]=HEAP32[$image2+8>>2]|0; - _LoadTextureFromImage($1,$image2$byval_copy10,0); - $40 = HEAP32[$1>>2]|0; - $41 = (($1) + 4|0); - $42 = HEAP32[$41>>2]|0; - $43 = (($1) + 8|0); - $44 = HEAP32[$43>>2]|0; - ;HEAP32[$image2$byval_copy10+0>>2]=HEAP32[$image2+0>>2]|0;HEAP32[$image2$byval_copy10+4>>2]=HEAP32[$image2+4>>2]|0;HEAP32[$image2$byval_copy10+8>>2]=HEAP32[$image2+8>>2]|0; - _UnloadImage($image2$byval_copy10); - $texture$sroa$0$1 = $40;$texture$sroa$1$0 = $42;$texture$sroa$2$0 = $44; - break; - } - _LoadPKM($image1,$fileName); - $24 = HEAP32[$image1>>2]|0; - $25 = (($image1) + 4|0); - $26 = HEAP32[$25>>2]|0; - $27 = (($image1) + 8|0); - $28 = HEAP32[$27>>2]|0; - $29 = (($image1) + 12|0); - $30 = HEAP32[$29>>2]|0; - $31 = (($image1) + 16|0); - $32 = HEAP32[$31>>2]|0; - $33 = (_rlglLoadCompressedTexture($24,$26,$28,$30,$32)|0); - $34 = HEAP32[$25>>2]|0; - $35 = HEAP32[$27>>2]|0; - $36 = ($33|0)==(0); - if ($36) { - HEAP32[$image2$byval_copy10>>2] = $fileName; - _TraceLog(2,11840,$image2$byval_copy10); - } else { - HEAP32[$image2$byval_copy10>>2] = $fileName; - _TraceLog(0,11880,$image2$byval_copy10); - } - $37 = HEAP32[$image1>>2]|0; - _free($37); - $texture$sroa$0$1 = $33;$texture$sroa$1$0 = $34;$texture$sroa$2$0 = $35; - } - } while(0); - HEAP32[$agg$result>>2] = $texture$sroa$0$1; - $45 = (($agg$result) + 4|0); - HEAP32[$45>>2] = $texture$sroa$1$0; - $46 = (($agg$result) + 8|0); - HEAP32[$46>>2] = $texture$sroa$2$0; - STACKTOP = sp;return; -} -function _LoadPKM($agg$result,$fileName) { - $agg$result = $agg$result|0; - $fileName = $fileName|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; - var $9 = 0, $filecode = 0, $height = 0, $image$sroa$0$0 = 0, $image$sroa$1$0 = 0, $image$sroa$2$0 = 0, $useless = 0, $vararg_buffer1 = 0, $width = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); - $vararg_buffer1 = sp; - $width = sp + 8|0; - $height = sp + 4|0; - $useless = sp + 6|0; - $filecode = sp + 12|0; - $0 = (_fopen(($fileName|0),(11320|0))|0); - $1 = ($0|0)==(0|0); - do { - if ($1) { - HEAP32[$vararg_buffer1>>2] = $fileName; - _TraceLog(2,12024,$vararg_buffer1); - $image$sroa$0$0 = 0;$image$sroa$1$0 = 0;$image$sroa$2$0 = 0; - } else { - (_fread(($filecode|0),1,4,($0|0))|0); - $2 = (_strncmp($filecode,12064,4)|0); - $3 = ($2|0)==(0); - if ($3) { - (_fread(($useless|0),2,1,($0|0))|0); - (_fread(($useless|0),2,1,($0|0))|0); - (_fread(($width|0),2,1,($0|0))|0); - (_fread(($height|0),2,1,($0|0))|0); - $4 = HEAP16[$width>>1]|0; - $5 = $4&65535; - $6 = $5 >>> 2; - $7 = HEAP16[$height>>1]|0; - $8 = $7&65535; - $9 = $8 >>> 2; - $10 = $6 << 3; - $11 = Math_imul($10, $9)|0; - $12 = (_malloc($11)|0); - (_fread(($12|0),1,($11|0),($0|0))|0); - (_fclose(($0|0))|0); - $13 = HEAP16[$width>>1]|0; - $14 = $13&65535; - $15 = HEAP16[$height>>1]|0; - $16 = $15&65535; - $image$sroa$0$0 = $12;$image$sroa$1$0 = $14;$image$sroa$2$0 = $16; - break; - } else { - HEAP32[$vararg_buffer1>>2] = $fileName; - _TraceLog(2,12072,$vararg_buffer1); - (_fclose(($0|0))|0); - $image$sroa$0$0 = 0;$image$sroa$1$0 = 0;$image$sroa$2$0 = 0; - break; - } - } - } while(0); - HEAP32[$agg$result>>2] = $image$sroa$0$0; - $17 = (($agg$result) + 4|0); - HEAP32[$17>>2] = $image$sroa$1$0; - $18 = (($agg$result) + 8|0); - HEAP32[$18>>2] = $image$sroa$2$0; - $19 = (($agg$result) + 12|0); - HEAP32[$19>>2] = 1; - $20 = (($agg$result) + 16|0); - HEAP32[$20>>2] = 36196; - STACKTOP = sp;return; -} -function _ConvertToPOT($image,$fillColor) { - $image = $image|0; - $fillColor = $fillColor|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond6 = 0, $i$01 = 0, $j$03 = 0; - var $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); - $vararg_buffer = sp; - $0 = (($image) + 4|0); - $1 = HEAP32[$0>>2]|0; - $2 = (_GetNextPOT($1)|0); - $3 = (($image) + 8|0); - $4 = HEAP32[$3>>2]|0; - $5 = (_GetNextPOT($4)|0); - $6 = HEAP32[$0>>2]|0; - $7 = ($2|0)==($6|0); - if ($7) { - $8 = HEAP32[$3>>2]|0; - $9 = ($5|0)==($8|0); - if ($9) { - STACKTOP = sp;return; - } - } - $10 = $2 << 2; - $11 = Math_imul($10, $5)|0; - $12 = (_malloc($11)|0); - $13 = ($5|0)>(0); - if ($13) { - $14 = ($2|0)>(0); - $j$03 = 0; - while(1) { - if ($14) { - $15 = Math_imul($j$03, $2)|0; - $16 = Math_imul($j$03, $2)|0; - $i$01 = 0; - while(1) { - $17 = HEAP32[$3>>2]|0; - $18 = ($j$03|0)<($17|0); - if ($18) { - $19 = HEAP32[$0>>2]|0; - $20 = ($i$01|0)<($19|0); - if ($20) { - $21 = (($i$01) + ($15))|0; - $22 = Math_imul($19, $j$03)|0; - $23 = (($22) + ($i$01))|0; - $24 = HEAP32[$image>>2]|0; - $25 = (($12) + ($21<<2)|0); - $26 = (($24) + ($23<<2)|0); - $27 = HEAPU8[$26>>0]|(HEAPU8[$26+1>>0]<<8)|(HEAPU8[$26+2>>0]<<16)|(HEAPU8[$26+3>>0]<<24); - HEAP8[$25>>0]=$27&255;HEAP8[$25+1>>0]=($27>>8)&255;HEAP8[$25+2>>0]=($27>>16)&255;HEAP8[$25+3>>0]=$27>>24; - } else { - label = 10; - } - } else { - label = 10; - } - if ((label|0) == 10) { - label = 0; - $28 = (($i$01) + ($16))|0; - $29 = (($12) + ($28<<2)|0); - $30 = HEAPU8[$fillColor>>0]|(HEAPU8[$fillColor+1>>0]<<8)|(HEAPU8[$fillColor+2>>0]<<16)|(HEAPU8[$fillColor+3>>0]<<24); - HEAP8[$29>>0]=$30&255;HEAP8[$29+1>>0]=($30>>8)&255;HEAP8[$29+2>>0]=($30>>16)&255;HEAP8[$29+3>>0]=$30>>24; - } - $31 = (($i$01) + 1)|0; - $exitcond = ($31|0)==($2|0); - if ($exitcond) { - break; - } else { - $i$01 = $31; - } - } - } - $32 = (($j$03) + 1)|0; - $exitcond6 = ($32|0)==($5|0); - if ($exitcond6) { - break; - } else { - $j$03 = $32; - } - } - } - $33 = HEAP32[$0>>2]|0; - $34 = HEAP32[$3>>2]|0; - HEAP32[$vararg_buffer>>2] = $33; - $vararg_ptr1 = (($vararg_buffer) + 4|0); - HEAP32[$vararg_ptr1>>2] = $34; - $vararg_ptr2 = (($vararg_buffer) + 8|0); - HEAP32[$vararg_ptr2>>2] = $2; - $vararg_ptr3 = (($vararg_buffer) + 12|0); - HEAP32[$vararg_ptr3>>2] = $5; - _TraceLog(2,11976,$vararg_buffer); - $35 = HEAP32[$image>>2]|0; - _free($35); - HEAP32[$image>>2] = $12; - HEAP32[$0>>2] = $2; - HEAP32[$3>>2] = $5; - STACKTOP = sp;return; -} -function _LoadTextureFromImage($agg$result,$image,$genMipmaps) { - $agg$result = $agg$result|0; - $image = $image|0; - $genMipmaps = $genMipmaps|0; - var $$lcssa = 0, $$lcssa1 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; - var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0; - var $43 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i$03 = 0, $j$02 = 0, $texture$sroa$0$0 = 0, $texture$sroa$1$0 = 0, $texture$sroa$2$0 = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); - $vararg_buffer = sp; - $0 = HEAP32[$image>>2]|0; - $1 = ($0|0)==(0|0); - if (!($1)) { - $2 = (($image) + 4|0); - $3 = HEAP32[$2>>2]|0; - $4 = ($3|0)>(0); - if ($4) { - $5 = (($image) + 8|0); - $6 = HEAP32[$5>>2]|0; - $7 = ($6|0)>(0); - if ($7) { - $8 = $3 << 2; - $9 = Math_imul($8, $6)|0; - $10 = (_malloc($9)|0); - $11 = HEAP32[$2>>2]|0; - $12 = HEAP32[$5>>2]|0; - $13 = $11 << 2; - $14 = Math_imul($13, $12)|0; - $15 = ($14|0)>(0); - if ($15) { - $16 = HEAP32[$image>>2]|0; - $17 = HEAP32[$2>>2]|0; - $18 = HEAP32[$5>>2]|0; - $19 = $17 << 2; - $20 = Math_imul($19, $18)|0; - $i$03 = 0;$j$02 = 0; - while(1) { - $21 = (($16) + ($j$02<<2)|0); - $22 = HEAP8[$21>>0]|0; - $23 = (($10) + ($i$03)|0); - HEAP8[$23>>0] = $22; - $24 = ((($16) + ($j$02<<2)|0) + 1|0); - $25 = HEAP8[$24>>0]|0; - $26 = $i$03 | 1; - $27 = (($10) + ($26)|0); - HEAP8[$27>>0] = $25; - $28 = ((($16) + ($j$02<<2)|0) + 2|0); - $29 = HEAP8[$28>>0]|0; - $30 = $i$03 | 2; - $31 = (($10) + ($30)|0); - HEAP8[$31>>0] = $29; - $32 = ((($16) + ($j$02<<2)|0) + 3|0); - $33 = HEAP8[$32>>0]|0; - $34 = $i$03 | 3; - $35 = (($10) + ($34)|0); - HEAP8[$35>>0] = $33; - $36 = (($j$02) + 1)|0; - $37 = (($i$03) + 4)|0; - $38 = ($37|0)<($20|0); - if ($38) { - $i$03 = $37;$j$02 = $36; - } else { - $$lcssa = $17;$$lcssa1 = $18; - break; - } - } - } else { - $$lcssa = $11;$$lcssa1 = $12; - } - $39 = (_rlglLoadTexture($10,$$lcssa,$$lcssa1,$genMipmaps)|0); - $40 = HEAP32[$2>>2]|0; - $41 = HEAP32[$5>>2]|0; - _free($10); - $texture$sroa$0$0 = $39;$texture$sroa$1$0 = $40;$texture$sroa$2$0 = $41; - HEAP32[$agg$result>>2] = $texture$sroa$0$0; - $42 = (($agg$result) + 4|0); - HEAP32[$42>>2] = $texture$sroa$1$0; - $43 = (($agg$result) + 8|0); - HEAP32[$43>>2] = $texture$sroa$2$0; - STACKTOP = sp;return; - } - } - } - _TraceLog(2,11920,$vararg_buffer); - $texture$sroa$0$0 = 0;$texture$sroa$1$0 = 0;$texture$sroa$2$0 = 0; - HEAP32[$agg$result>>2] = $texture$sroa$0$0; - $42 = (($agg$result) + 4|0); - HEAP32[$42>>2] = $texture$sroa$1$0; - $43 = (($agg$result) + 8|0); - HEAP32[$43>>2] = $texture$sroa$2$0; - STACKTOP = sp;return; -} -function _UnloadImage($image) { - $image = $image|0; - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[$image>>2]|0; - _free($0); - STACKTOP = sp;return; -} -function _UnloadTexture($texture) { - $texture = $texture|0; - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[$texture>>2]|0; - _rlDeleteTextures($0); - STACKTOP = sp;return; -} -function _DrawTexture($texture,$posX,$posY,$tint) { - $texture = $texture|0; - $posX = $posX|0; - $posY = $posY|0; - $tint = $tint|0; - var $$byval_copy = 0, $0 = 0, $1 = 0.0, $2 = 0, $3 = 0.0, $texture$byval_copy = 0, $tint$byval_copy = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); - $tint$byval_copy = sp + 32|0; - $$byval_copy = sp; - $texture$byval_copy = sp + 8|0; - $0 = sp + 24|0; - $1 = (+($posX|0)); - HEAPF32[$0>>2] = $1; - $2 = (($0) + 4|0); - $3 = (+($posY|0)); - HEAPF32[$2>>2] = $3; - ;HEAP32[$texture$byval_copy+0>>2]=HEAP32[$texture+0>>2]|0;HEAP32[$texture$byval_copy+4>>2]=HEAP32[$texture+4>>2]|0;HEAP32[$texture$byval_copy+8>>2]=HEAP32[$texture+8>>2]|0; - ;HEAP32[$$byval_copy+0>>2]=HEAP32[$0+0>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$0+4>>2]|0; - ;HEAP8[$tint$byval_copy+0>>0]=HEAP8[$tint+0>>0]|0;HEAP8[$tint$byval_copy+1>>0]=HEAP8[$tint+1>>0]|0;HEAP8[$tint$byval_copy+2>>0]=HEAP8[$tint+2>>0]|0;HEAP8[$tint$byval_copy+3>>0]=HEAP8[$tint+3>>0]|0; - _DrawTextureEx($texture$byval_copy,$$byval_copy,0.0,1.0,$tint$byval_copy); - STACKTOP = sp;return; -} -function _DrawTextureEx($texture,$position,$rotation,$scale,$tint) { - $texture = $texture|0; - $position = $position|0; - $rotation = +$rotation; - $scale = +$scale; - $tint = $tint|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0.0, $12 = 0, $13 = 0, $14 = 0, $15 = 0.0, $16 = 0.0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0.0, $21 = 0.0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0, $destRec = 0, $destRec$byval_copy = 0, $origin = 0, $sourceRec = 0, $sourceRec$byval_copy = 0, $texture$byval_copy = 0, $tint$byval_copy = 0, $tmpcast$byval_copy = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); - $tint$byval_copy = sp + 96|0; - $tmpcast$byval_copy = sp + 88|0; - $destRec$byval_copy = sp + 8|0; - $sourceRec$byval_copy = sp + 24|0; - $texture$byval_copy = sp + 40|0; - $sourceRec = sp + 56|0; - $destRec = sp + 72|0; - $origin = sp; - HEAP32[$sourceRec>>2] = 0; - $0 = (($sourceRec) + 4|0); - HEAP32[$0>>2] = 0; - $1 = (($sourceRec) + 8|0); - $2 = (($texture) + 4|0); - $3 = HEAP32[$2>>2]|0; - HEAP32[$1>>2] = $3; - $4 = (($sourceRec) + 12|0); - $5 = (($texture) + 8|0); - $6 = HEAP32[$5>>2]|0; - HEAP32[$4>>2] = $6; - $7 = +HEAPF32[$position>>2]; - $8 = (~~(($7))); - HEAP32[$destRec>>2] = $8; - $9 = (($destRec) + 4|0); - $10 = (($position) + 4|0); - $11 = +HEAPF32[$10>>2]; - $12 = (~~(($11))); - HEAP32[$9>>2] = $12; - $13 = (($destRec) + 8|0); - $14 = HEAP32[$2>>2]|0; - $15 = (+($14|0)); - $16 = $15 * $scale; - $17 = (~~(($16))); - HEAP32[$13>>2] = $17; - $18 = (($destRec) + 12|0); - $19 = HEAP32[$5>>2]|0; - $20 = (+($19|0)); - $21 = $20 * $scale; - $22 = (~~(($21))); - HEAP32[$18>>2] = $22; - $23 = $origin; - $24 = $23; - HEAP32[$24>>2] = 0; - $25 = (($23) + 4)|0; - $26 = $25; - HEAP32[$26>>2] = 0; - ;HEAP32[$texture$byval_copy+0>>2]=HEAP32[$texture+0>>2]|0;HEAP32[$texture$byval_copy+4>>2]=HEAP32[$texture+4>>2]|0;HEAP32[$texture$byval_copy+8>>2]=HEAP32[$texture+8>>2]|0; - ;HEAP32[$sourceRec$byval_copy+0>>2]=HEAP32[$sourceRec+0>>2]|0;HEAP32[$sourceRec$byval_copy+4>>2]=HEAP32[$sourceRec+4>>2]|0;HEAP32[$sourceRec$byval_copy+8>>2]=HEAP32[$sourceRec+8>>2]|0;HEAP32[$sourceRec$byval_copy+12>>2]=HEAP32[$sourceRec+12>>2]|0; - ;HEAP32[$destRec$byval_copy+0>>2]=HEAP32[$destRec+0>>2]|0;HEAP32[$destRec$byval_copy+4>>2]=HEAP32[$destRec+4>>2]|0;HEAP32[$destRec$byval_copy+8>>2]=HEAP32[$destRec+8>>2]|0;HEAP32[$destRec$byval_copy+12>>2]=HEAP32[$destRec+12>>2]|0; - ;HEAP32[$tmpcast$byval_copy+0>>2]=HEAP32[$origin+0>>2]|0;HEAP32[$tmpcast$byval_copy+4>>2]=HEAP32[$origin+4>>2]|0; - ;HEAP8[$tint$byval_copy+0>>0]=HEAP8[$tint+0>>0]|0;HEAP8[$tint$byval_copy+1>>0]=HEAP8[$tint+1>>0]|0;HEAP8[$tint$byval_copy+2>>0]=HEAP8[$tint+2>>0]|0;HEAP8[$tint$byval_copy+3>>0]=HEAP8[$tint+3>>0]|0; - _DrawTexturePro($texture$byval_copy,$sourceRec$byval_copy,$destRec$byval_copy,$tmpcast$byval_copy,$rotation,$tint$byval_copy); - STACKTOP = sp;return; -} -function _DrawTexturePro($texture,$sourceRec,$destRec,$origin,$rotation,$tint) { - $texture = $texture|0; - $sourceRec = $sourceRec|0; - $destRec = $destRec|0; - $origin = $origin|0; - $rotation = +$rotation; - $tint = $tint|0; - var $0 = 0, $1 = 0, $10 = 0.0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0.0, $2 = 0.0, $20 = 0, $21 = 0, $22 = 0.0, $23 = 0.0, $24 = 0, $25 = 0, $26 = 0.0; - var $27 = 0, $28 = 0, $29 = 0.0, $3 = 0, $30 = 0.0, $31 = 0, $32 = 0.0, $33 = 0, $34 = 0.0, $35 = 0.0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0.0, $41 = 0, $42 = 0.0, $43 = 0.0, $44 = 0; - var $45 = 0, $46 = 0.0, $47 = 0, $48 = 0, $49 = 0, $5 = 0.0, $50 = 0, $51 = 0.0, $52 = 0, $53 = 0.0, $54 = 0.0, $55 = 0, $56 = 0, $57 = 0, $58 = 0.0, $59 = 0, $6 = 0.0, $60 = 0.0, $61 = 0.0, $62 = 0; - var $63 = 0, $64 = 0.0, $65 = 0, $66 = 0.0, $67 = 0, $68 = 0, $69 = 0, $7 = 0.0, $70 = 0.0, $71 = 0, $72 = 0.0, $73 = 0.0, $74 = 0, $75 = 0.0, $76 = 0, $77 = 0.0, $78 = 0.0, $79 = 0, $8 = 0, $80 = 0.0; - var $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[$texture>>2]|0; - _rlEnableTexture($0); - _rlPushMatrix(); - $1 = HEAP32[$destRec>>2]|0; - $2 = (+($1|0)); - $3 = (($destRec) + 4|0); - $4 = HEAP32[$3>>2]|0; - $5 = (+($4|0)); - _rlTranslatef($2,$5,0.0); - _rlRotatef($rotation,0.0,0.0,1.0); - $6 = +HEAPF32[$origin>>2]; - $7 = -$6; - $8 = (($origin) + 4|0); - $9 = +HEAPF32[$8>>2]; - $10 = -$9; - _rlTranslatef($7,$10,0.0); - _rlBegin(2); - $11 = HEAP8[$tint>>0]|0; - $12 = (($tint) + 1|0); - $13 = HEAP8[$12>>0]|0; - $14 = (($tint) + 2|0); - $15 = HEAP8[$14>>0]|0; - $16 = (($tint) + 3|0); - $17 = HEAP8[$16>>0]|0; - _rlColor4ub($11,$13,$15,$17); - $18 = HEAP32[$sourceRec>>2]|0; - $19 = (+($18|0)); - $20 = (($texture) + 4|0); - $21 = HEAP32[$20>>2]|0; - $22 = (+($21|0)); - $23 = $19 / $22; - $24 = (($sourceRec) + 4|0); - $25 = HEAP32[$24>>2]|0; - $26 = (+($25|0)); - $27 = (($texture) + 8|0); - $28 = HEAP32[$27>>2]|0; - $29 = (+($28|0)); - $30 = $26 / $29; - _rlTexCoord2f($23,$30); - _rlVertex2f(0.0,0.0); - $31 = HEAP32[$sourceRec>>2]|0; - $32 = (+($31|0)); - $33 = HEAP32[$20>>2]|0; - $34 = (+($33|0)); - $35 = $32 / $34; - $36 = HEAP32[$24>>2]|0; - $37 = (($sourceRec) + 12|0); - $38 = HEAP32[$37>>2]|0; - $39 = (($38) + ($36))|0; - $40 = (+($39|0)); - $41 = HEAP32[$27>>2]|0; - $42 = (+($41|0)); - $43 = $40 / $42; - _rlTexCoord2f($35,$43); - $44 = (($destRec) + 12|0); - $45 = HEAP32[$44>>2]|0; - $46 = (+($45|0)); - _rlVertex2f(0.0,$46); - $47 = HEAP32[$sourceRec>>2]|0; - $48 = (($sourceRec) + 8|0); - $49 = HEAP32[$48>>2]|0; - $50 = (($49) + ($47))|0; - $51 = (+($50|0)); - $52 = HEAP32[$20>>2]|0; - $53 = (+($52|0)); - $54 = $51 / $53; - $55 = HEAP32[$24>>2]|0; - $56 = HEAP32[$37>>2]|0; - $57 = (($56) + ($55))|0; - $58 = (+($57|0)); - $59 = HEAP32[$27>>2]|0; - $60 = (+($59|0)); - $61 = $58 / $60; - _rlTexCoord2f($54,$61); - $62 = (($destRec) + 8|0); - $63 = HEAP32[$62>>2]|0; - $64 = (+($63|0)); - $65 = HEAP32[$44>>2]|0; - $66 = (+($65|0)); - _rlVertex2f($64,$66); - $67 = HEAP32[$sourceRec>>2]|0; - $68 = HEAP32[$48>>2]|0; - $69 = (($68) + ($67))|0; - $70 = (+($69|0)); - $71 = HEAP32[$20>>2]|0; - $72 = (+($71|0)); - $73 = $70 / $72; - $74 = HEAP32[$24>>2]|0; - $75 = (+($74|0)); - $76 = HEAP32[$27>>2]|0; - $77 = (+($76|0)); - $78 = $75 / $77; - _rlTexCoord2f($73,$78); - $79 = HEAP32[$62>>2]|0; - $80 = (+($79|0)); - _rlVertex2f($80,0.0); - _rlEnd(); - _rlPopMatrix(); - STACKTOP = sp;return; -} -function _DrawTextureRec($texture,$sourceRec,$position,$tint) { - $texture = $texture|0; - $sourceRec = $sourceRec|0; - $position = $position|0; - $tint = $tint|0; - var $0 = 0.0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0.0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $destRec = 0, $destRec$byval_copy = 0, $origin = 0, $sourceRec$byval_copy = 0; - var $texture$byval_copy = 0, $tint$byval_copy = 0, $tmpcast$byval_copy = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); - $tint$byval_copy = sp + 80|0; - $tmpcast$byval_copy = sp + 72|0; - $destRec$byval_copy = sp + 8|0; - $sourceRec$byval_copy = sp + 24|0; - $texture$byval_copy = sp + 40|0; - $destRec = sp + 56|0; - $origin = sp; - $0 = +HEAPF32[$position>>2]; - $1 = (~~(($0))); - HEAP32[$destRec>>2] = $1; - $2 = (($destRec) + 4|0); - $3 = (($position) + 4|0); - $4 = +HEAPF32[$3>>2]; - $5 = (~~(($4))); - HEAP32[$2>>2] = $5; - $6 = (($destRec) + 8|0); - $7 = (($sourceRec) + 8|0); - $8 = HEAP32[$7>>2]|0; - HEAP32[$6>>2] = $8; - $9 = (($destRec) + 12|0); - $10 = (($sourceRec) + 12|0); - $11 = HEAP32[$10>>2]|0; - HEAP32[$9>>2] = $11; - $12 = $origin; - $13 = $12; - HEAP32[$13>>2] = 0; - $14 = (($12) + 4)|0; - $15 = $14; - HEAP32[$15>>2] = 0; - ;HEAP32[$texture$byval_copy+0>>2]=HEAP32[$texture+0>>2]|0;HEAP32[$texture$byval_copy+4>>2]=HEAP32[$texture+4>>2]|0;HEAP32[$texture$byval_copy+8>>2]=HEAP32[$texture+8>>2]|0; - ;HEAP32[$sourceRec$byval_copy+0>>2]=HEAP32[$sourceRec+0>>2]|0;HEAP32[$sourceRec$byval_copy+4>>2]=HEAP32[$sourceRec+4>>2]|0;HEAP32[$sourceRec$byval_copy+8>>2]=HEAP32[$sourceRec+8>>2]|0;HEAP32[$sourceRec$byval_copy+12>>2]=HEAP32[$sourceRec+12>>2]|0; - ;HEAP32[$destRec$byval_copy+0>>2]=HEAP32[$destRec+0>>2]|0;HEAP32[$destRec$byval_copy+4>>2]=HEAP32[$destRec+4>>2]|0;HEAP32[$destRec$byval_copy+8>>2]=HEAP32[$destRec+8>>2]|0;HEAP32[$destRec$byval_copy+12>>2]=HEAP32[$destRec+12>>2]|0; - ;HEAP32[$tmpcast$byval_copy+0>>2]=HEAP32[$origin+0>>2]|0;HEAP32[$tmpcast$byval_copy+4>>2]=HEAP32[$origin+4>>2]|0; - ;HEAP8[$tint$byval_copy+0>>0]=HEAP8[$tint+0>>0]|0;HEAP8[$tint$byval_copy+1>>0]=HEAP8[$tint+1>>0]|0;HEAP8[$tint$byval_copy+2>>0]=HEAP8[$tint+2>>0]|0;HEAP8[$tint$byval_copy+3>>0]=HEAP8[$tint+3>>0]|0; - _DrawTexturePro($texture$byval_copy,$sourceRec$byval_copy,$destRec$byval_copy,$tmpcast$byval_copy,0.0,$tint$byval_copy); - STACKTOP = sp;return; -} -function _stbi__pnm_info($s,$x,$y,$comp) { - $s = $s|0; - $x = $x|0; - $y = $y|0; - $comp = $comp|0; - var $$0 = 0, $$off = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $c = 0, $switch = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); - $c = sp; - _stbi__rewind($s); - $0 = (_stbi__get8($s)|0); - $1 = (_stbi__get8($s)|0); - $2 = ($0<<24>>24)==(80); - if ($2) { - $$off = (($1) + -53)<<24>>24; - $switch = ($$off&255)<(2); - if ($switch) { - $3 = ($1<<24>>24)==(54); - $4 = $3 ? 3 : 1; - HEAP32[$comp>>2] = $4; - $5 = (_stbi__get8($s)|0); - HEAP8[$c>>0] = $5; - _stbi__pnm_skip_whitespace($s,$c); - $6 = (_stbi__pnm_getinteger($s,$c)|0); - HEAP32[$x>>2] = $6; - _stbi__pnm_skip_whitespace($s,$c); - $7 = (_stbi__pnm_getinteger($s,$c)|0); - HEAP32[$y>>2] = $7; - _stbi__pnm_skip_whitespace($s,$c); - $8 = (_stbi__pnm_getinteger($s,$c)|0); - $9 = ($8|0)>(255); - if (!($9)) { - $$0 = 1; - STACKTOP = sp;return ($$0|0); - } - _stbi__err(12504); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - } - _stbi__rewind($s); - $$0 = 0; - STACKTOP = sp;return ($$0|0); -} -function _stbi__get8($s) { - $s = $s|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (($s) + 168|0); - $1 = HEAP32[$0>>2]|0; - $2 = (($s) + 172|0); - $3 = HEAP32[$2>>2]|0; - $4 = ($1>>>0)<($3>>>0); - if ($4) { - $5 = (($1) + 1|0); - HEAP32[$0>>2] = $5; - $6 = HEAP8[$1>>0]|0; - $$0 = $6; - STACKTOP = sp;return ($$0|0); - } - $7 = (($s) + 32|0); - $8 = HEAP32[$7>>2]|0; - $9 = ($8|0)==(0); - if ($9) { - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - _stbi__refill_buffer($s); - $10 = HEAP32[$0>>2]|0; - $11 = (($10) + 1|0); - HEAP32[$0>>2] = $11; - $12 = HEAP8[$10>>0]|0; - $$0 = $12; - STACKTOP = sp;return ($$0|0); -} -function _stbi__rewind($s) { - $s = $s|0; - var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (($s) + 176|0); - $1 = HEAP32[$0>>2]|0; - $2 = (($s) + 168|0); - HEAP32[$2>>2] = $1; - STACKTOP = sp;return; -} -function _stbi__skip($s,$n) { - $s = $s|0; - $n = $n|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; - var sp = 0; - sp = STACKTOP; - $0 = (($s) + 16|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)==(0|0); - if (!($2)) { - $3 = (($s) + 172|0); - $4 = HEAP32[$3>>2]|0; - $5 = (($s) + 168|0); - $6 = HEAP32[$5>>2]|0; - $7 = $4; - $8 = $6; - $9 = (($7) - ($8))|0; - $10 = ($9|0)<($n|0); - if ($10) { - HEAP32[$5>>2] = $4; - $11 = (($s) + 20|0); - $12 = HEAP32[$11>>2]|0; - $13 = (($s) + 28|0); - $14 = HEAP32[$13>>2]|0; - $15 = (($n) - ($9))|0; - FUNCTION_TABLE_vii[$12 & 7]($14,$15); - STACKTOP = sp;return; - } - } - $16 = (($s) + 168|0); - $17 = HEAP32[$16>>2]|0; - $18 = (($17) + ($n)|0); - HEAP32[$16>>2] = $18; - STACKTOP = sp;return; -} -function _stbi__get16le($s) { - $s = $s|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_stbi__get8($s)|0); - $1 = $0&255; - $2 = (_stbi__get8($s)|0); - $3 = $2&255; - $4 = $3 << 8; - $5 = $4 | $1; - STACKTOP = sp;return ($5|0); -} -function _stbi__refill_buffer($s) { - $s = $s|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (($s) + 16|0); - $1 = HEAP32[$0>>2]|0; - $2 = (($s) + 28|0); - $3 = HEAP32[$2>>2]|0; - $4 = (($s) + 40|0); - $5 = (($s) + 36|0); - $6 = HEAP32[$5>>2]|0; - $7 = (FUNCTION_TABLE_iiii[$1 & 3]($3,$4,$6)|0); - $8 = ($7|0)==(0); - if ($8) { - $9 = (($s) + 32|0); - HEAP32[$9>>2] = 0; - $10 = (($s) + 168|0); - HEAP32[$10>>2] = $4; - $11 = (($s) + 41|0); - $12 = (($s) + 172|0); - HEAP32[$12>>2] = $11; - $13 = HEAP32[$10>>2]|0; - HEAP8[$13>>0] = 0; - STACKTOP = sp;return; - } else { - $14 = (($s) + 168|0); - HEAP32[$14>>2] = $4; - $15 = ((($s) + ($7)|0) + 40|0); - $16 = (($s) + 172|0); - HEAP32[$16>>2] = $15; - STACKTOP = sp;return; - } -} -function _stbi__pnm_skip_whitespace($s,$c) { - $s = $s|0; - $c = $c|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_stbi__at_eof($s)|0); - $1 = ($0|0)==(0); - if (!($1)) { - STACKTOP = sp;return; - } - while(1) { - $2 = HEAP8[$c>>0]|0; - $3 = (_stbi__pnm_isspace($2)|0); - $4 = ($3|0)==(0); - if ($4) { - label = 4; - break; - } - $5 = (_stbi__get8($s)|0); - HEAP8[$c>>0] = $5; - $6 = (_stbi__at_eof($s)|0); - $7 = ($6|0)==(0); - if (!($7)) { - label = 4; - break; - } - } - if ((label|0) == 4) { - STACKTOP = sp;return; - } -} -function _stbi__pnm_getinteger($s,$c) { - $s = $s|0; - $c = $c|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $value$0$lcssa = 0, $value$01 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_stbi__at_eof($s)|0); - $1 = ($0|0)==(0); - L1: do { - if ($1) { - $value$01 = 0; - while(1) { - $2 = HEAP8[$c>>0]|0; - $3 = (_stbi__pnm_isdigit($2)|0); - $4 = ($3|0)==(0); - if ($4) { - $value$0$lcssa = $value$01; - break L1; - } - $5 = ($value$01*10)|0; - $6 = $2 << 24 >> 24; - $7 = (($5) + -48)|0; - $8 = (($7) + ($6))|0; - $9 = (_stbi__get8($s)|0); - HEAP8[$c>>0] = $9; - $10 = (_stbi__at_eof($s)|0); - $11 = ($10|0)==(0); - if ($11) { - $value$01 = $8; - } else { - $value$0$lcssa = $8; - break; - } - } - } else { - $value$0$lcssa = 0; - } - } while(0); - STACKTOP = sp;return ($value$0$lcssa|0); -} -function _stbi__at_eof($s) { - $s = $s|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; - var sp = 0; - sp = STACKTOP; - $0 = (($s) + 16|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)==(0|0); - if (!($2)) { - $3 = (($s) + 24|0); - $4 = HEAP32[$3>>2]|0; - $5 = (($s) + 28|0); - $6 = HEAP32[$5>>2]|0; - $7 = (FUNCTION_TABLE_ii[$4 & 1]($6)|0); - $8 = ($7|0)==(0); - if ($8) { - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $9 = (($s) + 32|0); - $10 = HEAP32[$9>>2]|0; - $11 = ($10|0)==(0); - if ($11) { - $$0 = 1; - STACKTOP = sp;return ($$0|0); - } - } - $12 = (($s) + 168|0); - $13 = HEAP32[$12>>2]|0; - $14 = (($s) + 172|0); - $15 = HEAP32[$14>>2]|0; - $16 = ($13>>>0)>=($15>>>0); - $17 = $16&1; - $$0 = $17; - STACKTOP = sp;return ($$0|0); -} -function _stbi__pnm_isdigit($c) { - $c = $c|0; - var $0 = 0, $1 = 0, $c$off = 0, label = 0, sp = 0; - sp = STACKTOP; - $c$off = (($c) + -48)<<24>>24; - $0 = ($c$off&255)<(10); - $1 = $0&1; - STACKTOP = sp;return ($1|0); -} -function _stbi__pnm_isspace($c) { - $c = $c|0; - var $0 = 0, $1 = 0, $phitmp = 0, $switch$cast = 0, $switch$cast$clear = 0, $switch$downshift = 0, $switch$masked = 0, $switch$tableidx = 0, label = 0, sp = 0; - sp = STACKTOP; - $switch$tableidx = (($c) + -9)<<24>>24; - $0 = ($switch$tableidx&255)<(24); - if (!($0)) { - $1 = 0; - STACKTOP = sp;return ($1|0); - } - $switch$cast = $switch$tableidx&255; - $switch$cast$clear = $switch$cast & 16777215; - $switch$downshift = 8388639 >>> $switch$cast$clear; - $switch$masked = $switch$downshift & 16777215; - $phitmp = $switch$masked & 1; - $1 = $phitmp; - STACKTOP = sp;return ($1|0); -} -function _stbi__get16be($s) { - $s = $s|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_stbi__get8($s)|0); - $1 = $0&255; - $2 = $1 << 8; - $3 = (_stbi__get8($s)|0); - $4 = $3&255; - $5 = $2 | $4; - STACKTOP = sp;return ($5|0); -} -function _stbi__get32be($s) { - $s = $s|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_stbi__get16be($s)|0); - $1 = $0 << 16; - $2 = (_stbi__get16be($s)|0); - $3 = (($1) + ($2))|0; - STACKTOP = sp;return ($3|0); -} -function _stbi__get32le($s) { - $s = $s|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_stbi__get16le($s)|0); - $1 = (_stbi__get16le($s)|0); - $2 = $1 << 16; - $3 = (($2) + ($0))|0; - STACKTOP = sp;return ($3|0); -} -function _stbi__gif_header($s,$g,$comp,$is_info) { - $s = $s|0; - $g = $g|0; - $comp = $comp|0; - $is_info = $is_info|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_stbi__get8($s)|0); - $1 = ($0<<24>>24)==(71); - if ($1) { - $2 = (_stbi__get8($s)|0); - $3 = ($2<<24>>24)==(73); - if ($3) { - $4 = (_stbi__get8($s)|0); - $5 = ($4<<24>>24)==(70); - if ($5) { - $6 = (_stbi__get8($s)|0); - $7 = ($6<<24>>24)==(56); - if ($7) { - $8 = (_stbi__get8($s)|0); - if (!((($8<<24>>24) == 57) | (($8<<24>>24) == 55))) { - _stbi__err(12520); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $9 = (_stbi__get8($s)|0); - $10 = ($9<<24>>24)==(97); - if (!($10)) { - _stbi__err(12520); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - HEAP32[11312>>2] = 12528; - $11 = (_stbi__get16le($s)|0); - HEAP32[$g>>2] = $11; - $12 = (_stbi__get16le($s)|0); - $13 = (($g) + 4|0); - HEAP32[$13>>2] = $12; - $14 = (_stbi__get8($s)|0); - $15 = $14&255; - $16 = (($g) + 12|0); - HEAP32[$16>>2] = $15; - $17 = (_stbi__get8($s)|0); - $18 = $17&255; - $19 = (($g) + 16|0); - HEAP32[$19>>2] = $18; - $20 = (_stbi__get8($s)|0); - $21 = $20&255; - $22 = (($g) + 20|0); - HEAP32[$22>>2] = $21; - $23 = (($g) + 24|0); - HEAP32[$23>>2] = -1; - $24 = ($comp|0)==(0|0); - if (!($24)) { - HEAP32[$comp>>2] = 4; - } - $25 = ($is_info|0)==(0); - if (!($25)) { - $$0 = 1; - STACKTOP = sp;return ($$0|0); - } - $26 = HEAP32[$16>>2]|0; - $27 = $26 & 128; - $28 = ($27|0)==(0); - if ($28) { - $$0 = 1; - STACKTOP = sp;return ($$0|0); - } - $29 = (($g) + 32|0); - $30 = $26 & 7; - $31 = 2 << $30; - _stbi__gif_parse_colortable($s,$29,$31,-1); - $$0 = 1; - STACKTOP = sp;return ($$0|0); - } - } - } - } - _stbi__err(12520); - $$0 = 0; - STACKTOP = sp;return ($$0|0); -} -function _stbi__gif_parse_colortable($s,$pal,$num_entries,$transp) { - $s = $s|0; - $pal = $pal|0; - $num_entries = $num_entries|0; - $transp = $transp|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $i$01 = 0, $not$ = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ($num_entries|0)>(0); - if ($0) { - $i$01 = 0; - } else { - STACKTOP = sp;return; - } - while(1) { - $1 = (_stbi__get8($s)|0); - $2 = ((($pal) + ($i$01<<2)|0) + 2|0); - HEAP8[$2>>0] = $1; - $3 = (_stbi__get8($s)|0); - $4 = ((($pal) + ($i$01<<2)|0) + 1|0); - HEAP8[$4>>0] = $3; - $5 = (_stbi__get8($s)|0); - $6 = (($pal) + ($i$01<<2)|0); - HEAP8[$6>>0] = $5; - $not$ = ($i$01|0)!=($transp|0); - $7 = $not$ << 31 >> 31; - $8 = ((($pal) + ($i$01<<2)|0) + 3|0); - HEAP8[$8>>0] = $7; - $9 = (($i$01) + 1)|0; - $exitcond = ($9|0)==($num_entries|0); - if ($exitcond) { - break; - } else { - $i$01 = $9; - } - } - STACKTOP = sp;return; -} -function _stbi__parse_png_file($z,$scan,$req_comp) { - $z = $z|0; - $scan = $scan|0; - $req_comp = $req_comp|0; - var $$ = 0, $$0 = 0, $$12 = 0, $$lobit = 0, $$off = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0; - var $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0; - var $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0; - var $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0; - var $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0; - var $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0; - var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0; - var $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0; - var $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0; - var $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0; - var $96 = 0, $97 = 0, $98 = 0, $99 = 0, $c = 0, $color$0 = 0, $color$1 = 0, $depth$0 = 0, $depth$1 = 0, $first$0 = 0, $first$1 = 0, $has_trans$0 = 0, $has_trans$1 = 0, $i$021 = 0, $i$114 = 0, $idata_limit$0 = 0, $idata_limit$1 = 0, $idata_limit$1$ph = 0, $idata_limit$2 = 0, $idata_limit$3 = 0; - var $interlace$0 = 0, $interlace$1 = 0, $ioff$0 = 0, $ioff$1 = 0, $is_iphone$0 = 0, $is_iphone$1 = 0, $k$017 = 0, $or$cond = 0, $or$cond10 = 0, $or$cond10$not = 0, $or$cond11 = 0, $or$cond3 = 0, $or$cond5 = 0, $or$cond7 = 0, $or$cond9 = 0, $pal_img_n$0 = 0, $pal_img_n$1 = 0, $pal_img_n$2 = 0, $pal_len$0 = 0, $pal_len$1 = 0; - var $palette = 0, $raw_len = 0, $req_comp$ = 0, $tc = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 1040|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); - $palette = sp + 16|0; - $tc = sp + 12|0; - $c = sp; - $raw_len = sp + 8|0; - $0 = HEAP32[$z>>2]|0; - $1 = (($z) + 8|0); - HEAP32[$1>>2] = 0; - $2 = (($z) + 4|0); - HEAP32[$2>>2] = 0; - $3 = (($z) + 12|0); - HEAP32[$3>>2] = 0; - $4 = (_stbi__check_png_header($0)|0); - $5 = ($4|0)==(0); - if ($5) { - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $6 = ($scan|0)==(1); - if ($6) { - $$0 = 1; - STACKTOP = sp;return ($$0|0); - } - $7 = (($c) + 4|0); - $8 = (($0) + 4|0); - $9 = (($0) + 8|0); - $10 = ($scan|0)==(2); - $11 = (($0) + 8|0); - $12 = (($0) + 8|0); - $13 = ($scan|0)==(2); - $14 = ($scan|0)==(2); - $color$0 = 0;$depth$0 = 0;$first$0 = 1;$has_trans$0 = 0;$idata_limit$0 = 0;$interlace$0 = 0;$ioff$0 = 0;$is_iphone$0 = 0;$pal_img_n$0 = 0;$pal_len$0 = 0; - L7: while(1) { - _stbi__get_chunk_header($c,$0); - $15 = HEAP32[$7>>2]|0; - L9: do { - if ((($15|0) == 1951551059)) { - $81 = ($first$0|0)==(0); - if (!($81)) { - label = 45; - break L7; - } - $82 = HEAP32[$2>>2]|0; - $83 = ($82|0)==(0|0); - if (!($83)) { - label = 47; - break L7; - } - $84 = ($pal_img_n$0<<24>>24)==(0); - if ($84) { - $98 = HEAP32[$12>>2]|0; - $99 = $98 & 1; - $100 = ($99|0)==(0); - if ($100) { - label = 59; - break L7; - } - $101 = HEAP32[$c>>2]|0; - $102 = $98 << 1; - $103 = ($101|0)==($102|0); - if (!($103)) { - label = 63; - break L7; - } - $104 = HEAP32[$12>>2]|0; - $105 = ($104|0)>(0); - if (!($105)) { - $color$1 = $color$0;$depth$1 = $depth$0;$first$1 = $first$0;$has_trans$1 = 1;$idata_limit$3 = $idata_limit$0;$interlace$1 = $interlace$0;$ioff$1 = $ioff$0;$is_iphone$1 = $is_iphone$0;$pal_img_n$2 = $pal_img_n$0;$pal_len$1 = $pal_len$0; - break; - } - $106 = (12808 + ($depth$0)|0); - $107 = HEAP8[$106>>0]|0; - $108 = $107&255; - $k$017 = 0; - while(1) { - $109 = (_stbi__get16be($0)|0); - $110 = $109 & 255; - $111 = Math_imul($108, $110)|0; - $112 = $111&255; - $113 = (($tc) + ($k$017)|0); - HEAP8[$113>>0] = $112; - $114 = (($k$017) + 1)|0; - $115 = HEAP32[$12>>2]|0; - $116 = ($114|0)<($115|0); - if ($116) { - $k$017 = $114; - } else { - $color$1 = $color$0;$depth$1 = $depth$0;$first$1 = $first$0;$has_trans$1 = 1;$idata_limit$3 = $idata_limit$0;$interlace$1 = $interlace$0;$ioff$1 = $ioff$0;$is_iphone$1 = $is_iphone$0;$pal_img_n$2 = $pal_img_n$0;$pal_len$1 = $pal_len$0; - break L9; - } - } - } - if ($13) { - label = 50; - break L7; - } - $86 = ($pal_len$0|0)==(0); - if ($86) { - label = 52; - break L7; - } - $87 = HEAP32[$c>>2]|0; - $88 = ($87>>>0)>($pal_len$0>>>0); - if ($88) { - label = 56; - break L7; - } - $89 = HEAP32[$c>>2]|0; - $90 = ($89|0)==(0); - if ($90) { - $color$1 = $color$0;$depth$1 = $depth$0;$first$1 = $first$0;$has_trans$1 = $has_trans$0;$idata_limit$3 = $idata_limit$0;$interlace$1 = $interlace$0;$ioff$1 = $ioff$0;$is_iphone$1 = $is_iphone$0;$pal_img_n$2 = 4;$pal_len$1 = $pal_len$0; - } else { - $91 = HEAP32[$c>>2]|0; - $i$114 = 0; - while(1) { - $92 = (_stbi__get8($0)|0); - $93 = $i$114 << 2; - $94 = $93 | 3; - $95 = (($palette) + ($94)|0); - HEAP8[$95>>0] = $92; - $96 = (($i$114) + 1)|0; - $97 = ($96>>>0)<($91>>>0); - if ($97) { - $i$114 = $96; - } else { - $color$1 = $color$0;$depth$1 = $depth$0;$first$1 = $first$0;$has_trans$1 = $has_trans$0;$idata_limit$3 = $idata_limit$0;$interlace$1 = $interlace$0;$ioff$1 = $ioff$0;$is_iphone$1 = $is_iphone$0;$pal_img_n$2 = 4;$pal_len$1 = $pal_len$0; - break; - } - } - } - } else if ((($15|0) == 1130840649)) { - $16 = HEAP32[$c>>2]|0; - _stbi__skip($0,$16); - $color$1 = $color$0;$depth$1 = $depth$0;$first$1 = $first$0;$has_trans$1 = $has_trans$0;$idata_limit$3 = $idata_limit$0;$interlace$1 = $interlace$0;$ioff$1 = $ioff$0;$is_iphone$1 = 1;$pal_img_n$2 = $pal_img_n$0;$pal_len$1 = $pal_len$0; - } else if ((($15|0) == 1347179589)) { - $61 = ($first$0|0)==(0); - if (!($61)) { - label = 37; - break L7; - } - $62 = HEAP32[$c>>2]|0; - $63 = ($62>>>0)>(768); - if ($63) { - label = 39; - break L7; - } - $64 = (($62>>>0) / 3)&-1; - $65 = ($64*3)|0; - $66 = ($65|0)==($62|0); - if (!($66)) { - label = 42; - break L7; - } - $67 = ($62>>>0)>(2); - if ($67) { - $i$021 = 0; - while(1) { - $68 = (_stbi__get8($0)|0); - $69 = $i$021 << 2; - $70 = (($palette) + ($69)|0); - HEAP8[$70>>0] = $68; - $71 = (_stbi__get8($0)|0); - $72 = $69 | 1; - $73 = (($palette) + ($72)|0); - HEAP8[$73>>0] = $71; - $74 = (_stbi__get8($0)|0); - $75 = $69 | 2; - $76 = (($palette) + ($75)|0); - HEAP8[$76>>0] = $74; - $77 = $69 | 3; - $78 = (($palette) + ($77)|0); - HEAP8[$78>>0] = -1; - $79 = (($i$021) + 1)|0; - $80 = ($79>>>0)<($64>>>0); - if ($80) { - $i$021 = $79; - } else { - $color$1 = $color$0;$depth$1 = $depth$0;$first$1 = $first$0;$has_trans$1 = $has_trans$0;$idata_limit$3 = $idata_limit$0;$interlace$1 = $interlace$0;$ioff$1 = $ioff$0;$is_iphone$1 = $is_iphone$0;$pal_img_n$2 = $pal_img_n$0;$pal_len$1 = $64; - break; - } - } - } else { - $color$1 = $color$0;$depth$1 = $depth$0;$first$1 = $first$0;$has_trans$1 = $has_trans$0;$idata_limit$3 = $idata_limit$0;$interlace$1 = $interlace$0;$ioff$1 = $ioff$0;$is_iphone$1 = $is_iphone$0;$pal_img_n$2 = $pal_img_n$0;$pal_len$1 = $64; - } - } else if ((($15|0) == 1229472850)) { - $17 = ($first$0|0)==(0); - if ($17) { - label = 7; - break L7; - } - $18 = HEAP32[$c>>2]|0; - $19 = ($18|0)==(13); - if (!($19)) { - label = 9; - break L7; - } - $20 = (_stbi__get32be($0)|0); - HEAP32[$0>>2] = $20; - $21 = ($20>>>0)>(16777216); - if ($21) { - label = 11; - break L7; - } - $22 = (_stbi__get32be($0)|0); - HEAP32[$8>>2] = $22; - $23 = ($22>>>0)>(16777216); - if ($23) { - label = 13; - break L7; - } - $24 = (_stbi__get8($0)|0); - $25 = $24&255; - $$off = (($24) + -1)<<24>>24; - $26 = ($$off&255)>(1); - $27 = ($24<<24>>24)!=(4); - $or$cond3 = $26 & $27; - $28 = ($24<<24>>24)!=(8); - $or$cond5 = $or$cond3 & $28; - if ($or$cond5) { - label = 15; - break L7; - } - $29 = (_stbi__get8($0)|0); - $30 = $29&255; - $31 = ($29&255)>(6); - if ($31) { - label = 17; - break L7; - } - $32 = ($29<<24>>24)==(3); - if ($32) { - $pal_img_n$1 = 3; - } else { - $33 = $30 & 1; - $34 = ($33|0)==(0); - if ($34) { - $pal_img_n$1 = $pal_img_n$0; - } else { - label = 20; - break L7; - } - } - $35 = (_stbi__get8($0)|0); - $36 = ($35<<24>>24)==(0); - if (!($36)) { - label = 22; - break L7; - } - $37 = (_stbi__get8($0)|0); - $38 = ($37<<24>>24)==(0); - if (!($38)) { - label = 24; - break L7; - } - $39 = (_stbi__get8($0)|0); - $40 = $39&255; - $41 = ($39&255)>(1); - if ($41) { - label = 26; - break L7; - } - $42 = HEAP32[$0>>2]|0; - $43 = ($42|0)==(0); - if ($43) { - label = 29; - break L7; - } - $44 = HEAP32[$8>>2]|0; - $45 = ($44|0)==(0); - if ($45) { - label = 29; - break L7; - } - $46 = ($pal_img_n$1<<24>>24)==(0); - if (!($46)) { - HEAP32[$11>>2] = 1; - $56 = HEAP32[$0>>2]|0; - $57 = (1073741824 / ($56>>>0))&-1; - $58 = $57 >>> 2; - $59 = HEAP32[$8>>2]|0; - $60 = ($58>>>0)<($59>>>0); - if ($60) { - label = 35; - break L7; - } else { - $color$1 = $30;$depth$1 = $25;$first$1 = 0;$has_trans$1 = $has_trans$0;$idata_limit$3 = $idata_limit$0;$interlace$1 = $40;$ioff$1 = $ioff$0;$is_iphone$1 = $is_iphone$0;$pal_img_n$2 = $pal_img_n$1;$pal_len$1 = $pal_len$0; - break; - } - } - $47 = $30 & 2; - $48 = $47 | 1; - $49 = $30 >>> 2; - $$lobit = $49 & 1; - $50 = (($48) + ($$lobit))|0; - HEAP32[$9>>2] = $50; - $51 = HEAP32[$0>>2]|0; - $52 = (1073741824 / ($51>>>0))&-1; - $53 = (($52>>>0) / ($50>>>0))&-1; - $54 = HEAP32[$8>>2]|0; - $55 = ($53>>>0)<($54>>>0); - if ($55) { - label = 32; - break L7; - } - if ($10) { - $$0 = 1; - label = 103; - break L7; - } else { - $color$1 = $30;$depth$1 = $25;$first$1 = 0;$has_trans$1 = $has_trans$0;$idata_limit$3 = $idata_limit$0;$interlace$1 = $40;$ioff$1 = $ioff$0;$is_iphone$1 = $is_iphone$0;$pal_img_n$2 = $pal_img_n$1;$pal_len$1 = $pal_len$0; - } - } else if ((($15|0) == 1229278788)) { - label = 82; - break L7; - } else if ((($15|0) == 1229209940)) { - $117 = ($first$0|0)==(0); - if (!($117)) { - label = 66; - break L7; - } - $118 = ($pal_img_n$0<<24>>24)!=(0); - $119 = ($pal_len$0|0)==(0); - $or$cond = $118 & $119; - if ($or$cond) { - label = 68; - break L7; - } - if ($14) { - label = 70; - break L7; - } - $122 = HEAP32[$c>>2]|0; - $123 = (($122) + ($ioff$0))|0; - $124 = ($123>>>0)>($idata_limit$0>>>0); - if ($124) { - $125 = ($idata_limit$0|0)==(0); - if ($125) { - $126 = ($122>>>0)>(4096); - $$ = $126 ? $122 : 4096; - $idata_limit$1$ph = $$; - } else { - $idata_limit$1$ph = $idata_limit$0; - } - $127 = HEAP32[$c>>2]|0; - $128 = (($127) + ($ioff$0))|0; - $idata_limit$1 = $idata_limit$1$ph; - while(1) { - $129 = ($128>>>0)>($idata_limit$1>>>0); - $130 = $idata_limit$1 << 1; - if ($129) { - $idata_limit$1 = $130; - } else { - break; - } - } - $131 = HEAP32[$2>>2]|0; - $132 = (_realloc($131,$idata_limit$1)|0); - $133 = ($132|0)==(0|0); - if ($133) { - label = 77; - break L7; - } - HEAP32[$2>>2] = $132; - $idata_limit$2 = $idata_limit$1; - } else { - $idata_limit$2 = $idata_limit$0; - } - $134 = HEAP32[$2>>2]|0; - $135 = (($134) + ($ioff$0)|0); - $136 = HEAP32[$c>>2]|0; - $137 = (_stbi__getn($0,$135,$136)|0); - $138 = ($137|0)==(0); - if ($138) { - label = 80; - break L7; - } - $139 = HEAP32[$c>>2]|0; - $140 = (($139) + ($ioff$0))|0; - $color$1 = $color$0;$depth$1 = $depth$0;$first$1 = $first$0;$has_trans$1 = $has_trans$0;$idata_limit$3 = $idata_limit$2;$interlace$1 = $interlace$0;$ioff$1 = $140;$is_iphone$1 = $is_iphone$0;$pal_img_n$2 = $pal_img_n$0;$pal_len$1 = $pal_len$0; - } else { - $185 = ($first$0|0)==(0); - if (!($185)) { - label = 98; - break L7; - } - $186 = $15 & 536870912; - $187 = ($186|0)==(0); - if ($187) { - label = 100; - break L7; - } - $198 = HEAP32[$c>>2]|0; - _stbi__skip($0,$198); - $color$1 = $color$0;$depth$1 = $depth$0;$first$1 = $first$0;$has_trans$1 = $has_trans$0;$idata_limit$3 = $idata_limit$0;$interlace$1 = $interlace$0;$ioff$1 = $ioff$0;$is_iphone$1 = $is_iphone$0;$pal_img_n$2 = $pal_img_n$0;$pal_len$1 = $pal_len$0; - } - } while(0); - (_stbi__get32be($0)|0); - $color$0 = $color$1;$depth$0 = $depth$1;$first$0 = $first$1;$has_trans$0 = $has_trans$1;$idata_limit$0 = $idata_limit$3;$interlace$0 = $interlace$1;$ioff$0 = $ioff$1;$is_iphone$0 = $is_iphone$1;$pal_img_n$0 = $pal_img_n$2;$pal_len$0 = $pal_len$1; - } - switch (label|0) { - case 7: { - _stbi__err(12536); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - break; - } - case 9: { - _stbi__err(12552); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - break; - } - case 11: { - _stbi__err(12568); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - break; - } - case 13: { - _stbi__err(12568); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - break; - } - case 15: { - _stbi__err(12584); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - break; - } - case 17: { - _stbi__err(12608); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - break; - } - case 20: { - _stbi__err(12608); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - break; - } - case 22: { - _stbi__err(12624); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - break; - } - case 24: { - _stbi__err(12640); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - break; - } - case 26: { - _stbi__err(12664); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - break; - } - case 29: { - _stbi__err(12688); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - break; - } - case 32: { - _stbi__err(12568); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - break; - } - case 35: { - _stbi__err(12568); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - break; - } - case 37: { - _stbi__err(12704); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - break; - } - case 39: { - _stbi__err(12720); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - break; - } - case 42: { - _stbi__err(12720); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - break; - } - case 45: { - _stbi__err(12704); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - break; - } - case 47: { - _stbi__err(12736); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - break; - } - case 50: { - $85 = (($0) + 8|0); - HEAP32[$85>>2] = 4; - $$0 = 1; - STACKTOP = sp;return ($$0|0); - break; - } - case 52: { - _stbi__err(12752); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - break; - } - case 56: { - _stbi__err(12776); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - break; - } - case 59: { - _stbi__err(12792); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - break; - } - case 63: { - _stbi__err(12776); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - break; - } - case 66: { - _stbi__err(12704); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - break; - } - case 68: { - _stbi__err(12824); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - break; - } - case 70: { - $120 = $pal_img_n$0&255; - $121 = (($0) + 8|0); - HEAP32[$121>>2] = $120; - $$0 = 1; - STACKTOP = sp;return ($$0|0); - break; - } - case 77: { - _stbi__err(12832); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - break; - } - case 80: { - _stbi__err(12848); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - break; - } - case 82: { - $141 = ($first$0|0)==(0); - if (!($141)) { - _stbi__err(12704); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $142 = ($scan|0)==(0); - if (!($142)) { - $$0 = 1; - STACKTOP = sp;return ($$0|0); - } - $143 = HEAP32[$2>>2]|0; - $144 = ($143|0)==(0|0); - if ($144) { - _stbi__err(12864); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $145 = HEAP32[$0>>2]|0; - $146 = Math_imul($145, $depth$0)|0; - $147 = (($146) + 7)|0; - $148 = $147 >>> 3; - $149 = (($0) + 4|0); - $150 = HEAP32[$149>>2]|0; - $151 = (($0) + 8|0); - $152 = HEAP32[$151>>2]|0; - $153 = Math_imul($152, $150)|0; - $154 = Math_imul($153, $148)|0; - $155 = (($154) + ($150))|0; - HEAP32[$raw_len>>2] = $155; - $156 = HEAP32[$2>>2]|0; - $157 = ($is_iphone$0|0)!=(0); - $158 = $157&1; - $159 = $158 ^ 1; - $160 = (_stbi_zlib_decode_malloc_guesssize_headerflag($156,$ioff$0,$155,$raw_len,$159)|0); - HEAP32[$1>>2] = $160; - $161 = ($160|0)==(0|0); - if ($161) { - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $162 = HEAP32[$2>>2]|0; - _free($162); - HEAP32[$2>>2] = 0; - $163 = HEAP32[$151>>2]|0; - $164 = (($163) + 1)|0; - $165 = ($164|0)==($req_comp|0); - $166 = ($req_comp|0)!=(3); - $or$cond7 = $165 & $166; - $167 = ($pal_img_n$0<<24>>24)==(0); - $or$cond10 = $or$cond7 & $167; - $or$cond10$not = $or$cond10 ^ 1; - $168 = ($has_trans$0<<24>>24)==(0); - $or$cond11 = $168 & $or$cond10$not; - $169 = (($0) + 12|0); - $$12 = $or$cond11 ? $163 : $164; - HEAP32[$169>>2] = $$12; - $170 = HEAP32[$1>>2]|0; - $171 = HEAP32[$raw_len>>2]|0; - $172 = (($0) + 12|0); - $173 = (_stbi__create_png_image($z,$170,$171,$$12,$depth$0,$color$0,$interlace$0)|0); - $174 = ($173|0)==(0); - if ($174) { - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - if (!($168)) { - $175 = HEAP32[$172>>2]|0; - _stbi__compute_transparency($z,$tc,$175); - } - $176 = HEAP32[11352>>2]|0; - $177 = ($176|0)!=(0); - $or$cond9 = $157 & $177; - if ($or$cond9) { - $178 = HEAP32[$172>>2]|0; - $179 = ($178|0)>(2); - if ($179) { - _stbi__de_iphone($z); - } - } - if (!($167)) { - $180 = $pal_img_n$0&255; - HEAP32[$151>>2] = $180; - $181 = ($req_comp|0)>(2); - $req_comp$ = $181 ? $req_comp : $180; - HEAP32[$172>>2] = $req_comp$; - $182 = (_stbi__expand_png_palette($z,$palette,$req_comp$)|0); - $183 = ($182|0)==(0); - if ($183) { - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - } - $184 = HEAP32[$1>>2]|0; - _free($184); - HEAP32[$1>>2] = 0; - $$0 = 1; - STACKTOP = sp;return ($$0|0); - break; - } - case 98: { - _stbi__err(12704); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - break; - } - case 100: { - $188 = $15 >>> 24; - $189 = $188&255; - HEAP8[12872>>0] = $189; - $190 = HEAP32[$7>>2]|0; - $191 = $190 >>> 16; - $192 = $191&255; - HEAP8[((12872 + 1|0))>>0] = $192; - $193 = HEAP32[$7>>2]|0; - $194 = $193 >>> 8; - $195 = $194&255; - HEAP8[((12872 + 2|0))>>0] = $195; - $196 = HEAP32[$7>>2]|0; - $197 = $196&255; - HEAP8[((12872 + 3|0))>>0] = $197; - _stbi__err(12872); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - break; - } - case 103: { - STACKTOP = sp;return ($$0|0); - break; - } - } - return 0|0; -} -function _stbi__check_png_header($s) { - $s = $s|0; - var $$0 = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $i$01 = 0, label = 0, sp = 0; - sp = STACKTOP; - $i$01 = 0; - while(1) { - $2 = (_stbi__get8($s)|0); - $3 = (13344 + ($i$01)|0); - $4 = HEAP8[$3>>0]|0; - $5 = ($2<<24>>24)==($4<<24>>24); - $1 = (($i$01) + 1)|0; - if (!($5)) { - break; - } - $0 = ($1|0)<(8); - if ($0) { - $i$01 = $1; - } else { - $$0 = 1; - label = 5; - break; - } - } - if ((label|0) == 5) { - STACKTOP = sp;return ($$0|0); - } - _stbi__err(13352); - $$0 = 0; - STACKTOP = sp;return ($$0|0); -} -function _stbi__get_chunk_header($agg$result,$s) { - $agg$result = $agg$result|0; - $s = $s|0; - var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_stbi__get32be($s)|0); - $1 = (_stbi__get32be($s)|0); - HEAP32[$agg$result>>2] = $0; - $2 = (($agg$result) + 4|0); - HEAP32[$2>>2] = $1; - STACKTOP = sp;return; -} -function _stbi__getn($s,$buffer,$n) { - $s = $s|0; - $buffer = $buffer|0; - $n = $n|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (($s) + 16|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)==(0|0); - if (!($2)) { - $3 = (($s) + 172|0); - $4 = HEAP32[$3>>2]|0; - $5 = (($s) + 168|0); - $6 = HEAP32[$5>>2]|0; - $7 = $4; - $8 = $6; - $9 = (($7) - ($8))|0; - $10 = ($9|0)<($n|0); - if ($10) { - _memcpy(($buffer|0),($6|0),($9|0))|0; - $11 = HEAP32[$0>>2]|0; - $12 = (($s) + 28|0); - $13 = HEAP32[$12>>2]|0; - $14 = (($buffer) + ($9)|0); - $15 = (($n) - ($9))|0; - $16 = (FUNCTION_TABLE_iiii[$11 & 3]($13,$14,$15)|0); - $17 = ($16|0)==($15|0); - $18 = $17&1; - $19 = HEAP32[$3>>2]|0; - HEAP32[$5>>2] = $19; - $$0 = $18; - STACKTOP = sp;return ($$0|0); - } - } - $20 = (($s) + 168|0); - $21 = HEAP32[$20>>2]|0; - $22 = (($21) + ($n)|0); - $23 = (($s) + 172|0); - $24 = HEAP32[$23>>2]|0; - $25 = ($22>>>0)>($24>>>0); - if ($25) { - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - _memcpy(($buffer|0),($21|0),($n|0))|0; - $26 = HEAP32[$20>>2]|0; - $27 = (($26) + ($n)|0); - HEAP32[$20>>2] = $27; - $$0 = 1; - STACKTOP = sp;return ($$0|0); -} -function _stbi__create_png_image($a,$image_data,$image_data_len,$out_n,$depth,$color,$interlaced) { - $a = $a|0; - $image_data = $image_data|0; - $image_data_len = $image_data_len|0; - $out_n = $out_n|0; - $depth = $depth|0; - $color = $color|0; - $interlaced = $interlaced|0; - var $$0 = 0, $$0111 = 0, $$0210 = 0, $$1 = 0, $$13 = 0, $$sum = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0; - var $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0; - var $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0; - var $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $8 = 0, $9 = 0, $i$05 = 0; - var $j$07 = 0, $or$cond = 0, $p$09 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ($interlaced|0)==(0); - $1 = HEAP32[$a>>2]|0; - $2 = HEAP32[$1>>2]|0; - $3 = (($1) + 4|0); - $4 = HEAP32[$3>>2]|0; - if ($0) { - $5 = (_stbi__create_png_image_raw($a,$image_data,$image_data_len,$out_n,$2,$4,$depth,$color)|0); - $$0 = $5; - STACKTOP = sp;return ($$0|0); - } - $6 = Math_imul($2, $out_n)|0; - $7 = Math_imul($6, $4)|0; - $8 = (_stbi__malloc($7)|0); - $9 = (($a) + 12|0); - $10 = (($a) + 12|0); - $$0111 = $image_data;$$0210 = $image_data_len;$p$09 = 0; - while(1) { - $11 = HEAP32[$a>>2]|0; - $12 = HEAP32[$11>>2]|0; - $13 = (13024 + ($p$09<<2)|0); - $14 = HEAP32[$13>>2]|0; - $15 = (13088 + ($p$09<<2)|0); - $16 = HEAP32[$15>>2]|0; - $17 = (($12) + -1)|0; - $18 = (($17) - ($14))|0; - $19 = (($18) + ($16))|0; - $20 = (($19>>>0) / ($16>>>0))&-1; - $21 = (($11) + 4|0); - $22 = HEAP32[$21>>2]|0; - $23 = (13056 + ($p$09<<2)|0); - $24 = HEAP32[$23>>2]|0; - $25 = (13120 + ($p$09<<2)|0); - $26 = HEAP32[$25>>2]|0; - $27 = (($22) + -1)|0; - $28 = (($27) - ($24))|0; - $29 = (($28) + ($26))|0; - $30 = (($29>>>0) / ($26>>>0))&-1; - $31 = ($20|0)==(0); - $32 = ($30|0)==(0); - $or$cond = $31 | $32; - if ($or$cond) { - $$1 = $$0111;$$13 = $$0210; - } else { - $33 = (($11) + 8|0); - $34 = HEAP32[$33>>2]|0; - $35 = Math_imul($20, $depth)|0; - $36 = Math_imul($35, $34)|0; - $37 = (($36) + 7)|0; - $38 = $37 >> 3; - $39 = (($38) + 1)|0; - $40 = Math_imul($39, $30)|0; - $41 = (_stbi__create_png_image_raw($a,$$0111,$$0210,$out_n,$20,$30,$depth,$color)|0); - $42 = ($41|0)==(0); - if ($42) { - label = 8; - break; - } - $43 = ($30|0)>(0); - if ($43) { - $44 = ($20|0)>(0); - $j$07 = 0; - while(1) { - if ($44) { - $45 = HEAP32[$25>>2]|0; - $46 = Math_imul($45, $j$07)|0; - $47 = HEAP32[$23>>2]|0; - $48 = (($46) + ($47))|0; - $49 = HEAP32[$15>>2]|0; - $50 = HEAP32[$13>>2]|0; - $51 = Math_imul($j$07, $20)|0; - $i$05 = 0; - while(1) { - $52 = Math_imul($49, $i$05)|0; - $53 = (($52) + ($50))|0; - $54 = HEAP32[$a>>2]|0; - $55 = HEAP32[$54>>2]|0; - $56 = Math_imul($55, $48)|0; - $57 = (($53) + ($56))|0; - $$sum = Math_imul($57, $out_n)|0; - $58 = (($8) + ($$sum)|0); - $59 = HEAP32[$10>>2]|0; - $60 = (($i$05) + ($51))|0; - $61 = Math_imul($60, $out_n)|0; - $62 = (($59) + ($61)|0); - _memcpy(($58|0),($62|0),($out_n|0))|0; - $63 = (($i$05) + 1)|0; - $64 = ($63|0)<($20|0); - if ($64) { - $i$05 = $63; - } else { - break; - } - } - } - $65 = (($j$07) + 1)|0; - $66 = ($65|0)<($30|0); - if ($66) { - $j$07 = $65; - } else { - break; - } - } - } - $67 = HEAP32[$9>>2]|0; - _free($67); - $68 = (($$0111) + ($40)|0); - $69 = (($$0210) - ($40))|0; - $$1 = $68;$$13 = $69; - } - $70 = (($p$09) + 1)|0; - $71 = ($70|0)<(7); - if ($71) { - $$0111 = $$1;$$0210 = $$13;$p$09 = $70; - } else { - label = 15; - break; - } - } - if ((label|0) == 8) { - _free($8); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - else if ((label|0) == 15) { - $72 = (($a) + 12|0); - HEAP32[$72>>2] = $8; - $$0 = 1; - STACKTOP = sp;return ($$0|0); - } - return 0|0; -} -function _stbi__compute_transparency($z,$tc,$out_n) { - $z = $z|0; - $tc = $tc|0; - $out_n = $out_n|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond8 = 0, $i$01 = 0, $i$15 = 0, $not$ = 0, $p$02 = 0, $p$16 = 0; - var label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[$z>>2]|0; - $1 = HEAP32[$0>>2]|0; - $2 = (($0) + 4|0); - $3 = HEAP32[$2>>2]|0; - $4 = Math_imul($3, $1)|0; - $5 = (($z) + 12|0); - $6 = HEAP32[$5>>2]|0; - if ((($out_n|0) == 4)) { - $7 = ($4|0)==(0); - if ($7) { - STACKTOP = sp;return; - } - $8 = (($tc) + 1|0); - $9 = (($tc) + 2|0); - $10 = Math_imul($3, $1)|0; - $i$15 = 0;$p$16 = $6; - while(1) { - $19 = HEAP8[$p$16>>0]|0; - $20 = HEAP8[$tc>>0]|0; - $21 = ($19<<24>>24)==($20<<24>>24); - if ($21) { - $22 = (($p$16) + 1|0); - $23 = HEAP8[$22>>0]|0; - $24 = HEAP8[$8>>0]|0; - $25 = ($23<<24>>24)==($24<<24>>24); - if ($25) { - $26 = (($p$16) + 2|0); - $27 = HEAP8[$26>>0]|0; - $28 = HEAP8[$9>>0]|0; - $29 = ($27<<24>>24)==($28<<24>>24); - if ($29) { - $30 = (($p$16) + 3|0); - HEAP8[$30>>0] = 0; - } - } - } - $31 = (($p$16) + 4|0); - $32 = (($i$15) + 1)|0; - $exitcond8 = ($32|0)==($10|0); - if ($exitcond8) { - break; - } else { - $i$15 = $32;$p$16 = $31; - } - } - STACKTOP = sp;return; - } else if ((($out_n|0) == 2)) { - $11 = ($4|0)==(0); - if ($11) { - STACKTOP = sp;return; - } - $12 = Math_imul($3, $1)|0; - $i$01 = 0;$p$02 = $6; - while(1) { - $13 = HEAP8[$p$02>>0]|0; - $14 = HEAP8[$tc>>0]|0; - $not$ = ($13<<24>>24)!=($14<<24>>24); - $15 = $not$ << 31 >> 31; - $16 = (($p$02) + 1|0); - HEAP8[$16>>0] = $15; - $17 = (($p$02) + 2|0); - $18 = (($i$01) + 1)|0; - $exitcond = ($18|0)==($12|0); - if ($exitcond) { - break; - } else { - $i$01 = $18;$p$02 = $17; - } - } - STACKTOP = sp;return; - } else { - ___assert_fail((12960|0),(12928|0),4087,(12992|0)); - // unreachable; - } -} -function _stbi__de_iphone($z) { - $z = $z|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond13 = 0, $exitcond14 = 0, $i$02 = 0, $i$111 = 0, $i$26 = 0, $p$01 = 0, $p$110 = 0, $p$25 = 0, $storemerge = 0, label = 0; - var sp = 0; - sp = STACKTOP; - $0 = HEAP32[$z>>2]|0; - $1 = HEAP32[$0>>2]|0; - $2 = (($0) + 4|0); - $3 = HEAP32[$2>>2]|0; - $4 = Math_imul($3, $1)|0; - $5 = (($z) + 12|0); - $6 = HEAP32[$5>>2]|0; - $7 = (($0) + 12|0); - $8 = HEAP32[$7>>2]|0; - if ((($8|0) == 3)) { - $9 = ($4|0)==(0); - if ($9) { - STACKTOP = sp;return; - } - $10 = Math_imul($3, $1)|0; - $i$02 = 0;$p$01 = $6; - while(1) { - $11 = HEAP8[$p$01>>0]|0; - $12 = (($p$01) + 2|0); - $13 = HEAP8[$12>>0]|0; - HEAP8[$p$01>>0] = $13; - HEAP8[$12>>0] = $11; - $14 = (($p$01) + 3|0); - $15 = (($i$02) + 1)|0; - $exitcond = ($15|0)==($10|0); - if ($exitcond) { - break; - } else { - $i$02 = $15;$p$01 = $14; - } - } - STACKTOP = sp;return; - } else if ((($8|0) == 4)) { - $16 = HEAP32[11344>>2]|0; - $17 = ($16|0)==(0); - $18 = ($4|0)==(0); - if ($17) { - if ($18) { - STACKTOP = sp;return; - } - $20 = Math_imul($3, $1)|0; - $i$26 = 0;$p$25 = $6; - while(1) { - $44 = HEAP8[$p$25>>0]|0; - $45 = (($p$25) + 2|0); - $46 = HEAP8[$45>>0]|0; - HEAP8[$p$25>>0] = $46; - HEAP8[$45>>0] = $44; - $47 = (($p$25) + 4|0); - $48 = (($i$26) + 1)|0; - $exitcond13 = ($48|0)==($20|0); - if ($exitcond13) { - break; - } else { - $i$26 = $48;$p$25 = $47; - } - } - STACKTOP = sp;return; - } - if ($18) { - STACKTOP = sp;return; - } - $19 = Math_imul($3, $1)|0; - $i$111 = 0;$p$110 = $6; - while(1) { - $21 = (($p$110) + 3|0); - $22 = HEAP8[$21>>0]|0; - $23 = HEAP8[$p$110>>0]|0; - $24 = ($22<<24>>24)==(0); - $25 = (($p$110) + 2|0); - $26 = HEAP8[$25>>0]|0; - if ($24) { - HEAP8[$p$110>>0] = $26; - $storemerge = $23; - } else { - $27 = $26&255; - $28 = ($27*255)|0; - $29 = $22&255; - $30 = (($28>>>0) / ($29>>>0))&-1; - $31 = $30&255; - HEAP8[$p$110>>0] = $31; - $32 = (($p$110) + 1|0); - $33 = HEAP8[$32>>0]|0; - $34 = $33&255; - $35 = ($34*255)|0; - $36 = (($35>>>0) / ($29>>>0))&-1; - $37 = $36&255; - HEAP8[$32>>0] = $37; - $38 = $23&255; - $39 = ($38*255)|0; - $40 = (($39>>>0) / ($29>>>0))&-1; - $41 = $40&255; - $storemerge = $41; - } - HEAP8[$25>>0] = $storemerge; - $42 = (($p$110) + 4|0); - $43 = (($i$111) + 1)|0; - $exitcond14 = ($43|0)==($19|0); - if ($exitcond14) { - break; - } else { - $i$111 = $43;$p$110 = $42; - } - } - STACKTOP = sp;return; - } else { - ___assert_fail((12904|0),(12928|0),4168,(12944|0)); - // unreachable; - } -} -function _stbi__expand_png_palette($a,$palette,$pal_img_n) { - $a = $a|0; - $palette = $palette|0; - $pal_img_n = $pal_img_n|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; - var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond8 = 0, $i$02 = 0, $i$16 = 0, $p$01 = 0, $p$15 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[$a>>2]|0; - $1 = HEAP32[$0>>2]|0; - $2 = (($0) + 4|0); - $3 = HEAP32[$2>>2]|0; - $4 = Math_imul($3, $1)|0; - $5 = (($a) + 12|0); - $6 = HEAP32[$5>>2]|0; - $7 = Math_imul($4, $pal_img_n)|0; - $8 = (_stbi__malloc($7)|0); - $9 = ($8|0)==(0|0); - if ($9) { - _stbi__err(12832); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $10 = ($pal_img_n|0)==(3); - $11 = ($4|0)==(0); - if ($10) { - if (!($11)) { - $13 = Math_imul($3, $1)|0; - $i$02 = 0;$p$01 = $8; - while(1) { - $14 = (($6) + ($i$02)|0); - $15 = HEAP8[$14>>0]|0; - $16 = $15&255; - $17 = $16 << 2; - $18 = (($palette) + ($17)|0); - $19 = HEAP8[$18>>0]|0; - HEAP8[$p$01>>0] = $19; - $20 = $17 | 1; - $21 = (($palette) + ($20)|0); - $22 = HEAP8[$21>>0]|0; - $23 = (($p$01) + 1|0); - HEAP8[$23>>0] = $22; - $24 = $17 | 2; - $25 = (($palette) + ($24)|0); - $26 = HEAP8[$25>>0]|0; - $27 = (($p$01) + 2|0); - HEAP8[$27>>0] = $26; - $28 = (($p$01) + 3|0); - $29 = (($i$02) + 1)|0; - $exitcond = ($29|0)==($13|0); - if ($exitcond) { - break; - } else { - $i$02 = $29;$p$01 = $28; - } - } - } - } else { - if (!($11)) { - $12 = Math_imul($3, $1)|0; - $i$16 = 0;$p$15 = $8; - while(1) { - $30 = (($6) + ($i$16)|0); - $31 = HEAP8[$30>>0]|0; - $32 = $31&255; - $33 = $32 << 2; - $34 = (($palette) + ($33)|0); - $35 = HEAP8[$34>>0]|0; - HEAP8[$p$15>>0] = $35; - $36 = $33 | 1; - $37 = (($palette) + ($36)|0); - $38 = HEAP8[$37>>0]|0; - $39 = (($p$15) + 1|0); - HEAP8[$39>>0] = $38; - $40 = $33 | 2; - $41 = (($palette) + ($40)|0); - $42 = HEAP8[$41>>0]|0; - $43 = (($p$15) + 2|0); - HEAP8[$43>>0] = $42; - $44 = $33 | 3; - $45 = (($palette) + ($44)|0); - $46 = HEAP8[$45>>0]|0; - $47 = (($p$15) + 3|0); - HEAP8[$47>>0] = $46; - $48 = (($p$15) + 4|0); - $49 = (($i$16) + 1)|0; - $exitcond8 = ($49|0)==($12|0); - if ($exitcond8) { - break; - } else { - $i$16 = $49;$p$15 = $48; - } - } - } - } - $50 = HEAP32[$5>>2]|0; - _free($50); - HEAP32[$5>>2] = $8; - $$0 = 1; - STACKTOP = sp;return ($$0|0); -} -function _stbi__create_png_image_raw($a,$raw,$raw_len,$out_n,$x,$y,$depth,$color) { - $a = $a|0; - $raw = $raw|0; - $raw_len = $raw_len|0; - $out_n = $out_n|0; - $x = $x|0; - $y = $y|0; - $depth = $depth|0; - $color = $color|0; - var $$0 = 0, $$01208 = 0, $$1 = 0, $$2179 = 0, $$3168 = 0, $$4157 = 0, $$5145 = 0, $$6133 = 0, $$7121 = 0, $$8110 = 0, $$9 = 0, $$sum = 0, $$sum10 = 0, $$sum11 = 0, $$sum12 = 0, $$sum13 = 0, $$sum15 = 0, $$sum16$pn = 0, $$sum2 = 0, $$sum20 = 0; - var $$sum21 = 0, $$sum22 = 0, $$sum23 = 0, $$sum24 = 0, $$sum25 = 0, $$sum26 = 0, $$sum27 = 0, $$sum28 = 0, $$sum29 = 0, $$sum3 = 0, $$sum30 = 0, $$sum30$pn = 0, $$sum4 = 0, $$sum5 = 0, $$sum6 = 0, $$sum7 = 0, $$sum8 = 0, $$sum9 = 0, $0 = 0, $1 = 0; - var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; - var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; - var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; - var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0; - var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0; - var $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0; - var $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0; - var $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0; - var $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0; - var $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0; - var $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0; - var $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0; - var $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0; - var $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0; - var $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0; - var $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0; - var $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0; - var $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0; - var $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0; - var $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0; - var $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0, $478 = 0; - var $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0, $496 = 0; - var $497 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0, $513 = 0; - var $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0, $531 = 0; - var $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0, $549 = 0, $55 = 0; - var $550 = 0, $551 = 0, $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0, $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0, $562 = 0, $563 = 0, $564 = 0, $565 = 0, $566 = 0, $567 = 0, $568 = 0; - var $569 = 0, $57 = 0, $570 = 0, $571 = 0, $572 = 0, $573 = 0, $574 = 0, $575 = 0, $576 = 0, $577 = 0, $578 = 0, $579 = 0, $58 = 0, $580 = 0, $581 = 0, $582 = 0, $583 = 0, $584 = 0, $585 = 0, $586 = 0; - var $587 = 0, $588 = 0, $589 = 0, $59 = 0, $590 = 0, $591 = 0, $592 = 0, $593 = 0, $594 = 0, $595 = 0, $596 = 0, $597 = 0, $598 = 0, $599 = 0, $6 = 0, $60 = 0, $600 = 0, $601 = 0, $602 = 0, $603 = 0; - var $604 = 0, $605 = 0, $606 = 0, $607 = 0, $608 = 0, $609 = 0, $61 = 0, $610 = 0, $611 = 0, $612 = 0, $613 = 0, $614 = 0, $615 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0; - var $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0; - var $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $brmerge = 0, $cur$0$sum31$pn = 0, $cur$0$sum42 = 0, $cur$0$sum43 = 0, $cur$0$sum44 = 0, $cur$0$sum45 = 0; - var $cur$0$sum46 = 0, $cur$0$sum47 = 0, $cur$0$sum48 = 0, $cur$0$sum49 = 0, $cur$1 = 0, $cur$1$sum = 0, $cur$1$sum32 = 0, $cur$1$sum33 = 0, $cur$1$sum34 = 0, $cur$1$sum35 = 0, $cur$1$sum36 = 0, $cur$1$sum37 = 0, $cur$1$sum38 = 0, $cur$1$sum39 = 0, $cur$1$sum40 = 0, $cur$1$sum41 = 0, $cur$2178 = 0, $cur$3167 = 0, $cur$4155 = 0, $cur$5143 = 0; - var $cur$6131 = 0, $cur$7120 = 0, $cur$8109 = 0, $cur1$0$lcssa = 0, $cur1$078 = 0, $cur1$1$lcssa = 0, $cur1$169 = 0, $cur1$4$lcssa = 0, $cur1$463 = 0, $exitcond = 0, $exitcond233 = 0, $exitcond235 = 0, $exitcond237 = 0, $exitcond239 = 0, $exitcond241 = 0, $exitcond243 = 0, $exitcond245 = 0, $exitcond248 = 0, $exitcond249 = 0, $exitcond250 = 0; - var $exitcond251 = 0, $exitcond252 = 0, $exitcond253 = 0, $filter$0 = 0, $filter_bytes$0 = 0, $i$0 = 0, $i$0177 = 0, $i$0180 = 0, $i$1 = 0, $i$1166 = 0, $i$1169 = 0, $i$2 = 0, $i$2154 = 0, $i$2158 = 0, $i$3 = 0, $i$3142 = 0, $i$3146 = 0, $i$4 = 0, $i$4130 = 0, $i$4134 = 0; - var $i$5 = 0, $i$5119 = 0, $i$5122 = 0, $i$6 = 0, $i$6108 = 0, $i$6111 = 0, $i3$0 = 0, $i3$091 = 0, $i3$092 = 0, $i3$1 = 0, $i3$186 = 0, $i3$187 = 0, $in$0$lcssa = 0, $in$079 = 0, $in$1$lcssa = 0, $in$170 = 0, $in$2$lcssa = 0, $in$264 = 0, $indvars$iv = 0, $indvars$iv$next = 0; - var $indvars$iv$next215 = 0, $indvars$iv$next220 = 0, $indvars$iv$next223 = 0, $indvars$iv$next228 = 0, $indvars$iv$next231 = 0, $indvars$iv214 = 0, $indvars$iv219 = 0, $indvars$iv222 = 0, $indvars$iv227 = 0, $indvars$iv230 = 0, $j$0207 = 0, $j$196 = 0, $k$098 = 0, $k$10137 = 0, $k$11125 = 0, $k$1204 = 0, $k$12114 = 0, $k$13103 = 0, $k$14$lcssa = 0, $k$1477 = 0; - var $k$15$lcssa = 0, $k$1568 = 0, $k$16$lcssa = 0, $k$1662 = 0, $k$2200 = 0, $k$3196 = 0, $k$4192 = 0, $k$5188 = 0, $k$6184 = 0, $k$7172 = 0, $k$8161 = 0, $k$9149 = 0, $or$cond = 0, $or$cond254 = 0, $out_n$pn = 0, $prior$0 = 0, $prior$0$sum = 0, $prior$0$sum17 = 0, $prior$0$sum18 = 0, $prior$0$sum19 = 0; - var $prior$3156 = 0, $prior$4144 = 0, $prior$5132 = 0, $scevgep = 0, $scevgep216 = 0, $scevgep221 = 0, $scevgep224 = 0, $scevgep229 = 0, $scevgep232 = 0, $scevgep234 = 0, $scevgep236 = 0, $scevgep238 = 0, $scevgep240 = 0, $scevgep242 = 0, $scevgep244 = 0, $scevgep247 = 0, $width$0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[$a>>2]|0; - $1 = Math_imul($x, $out_n)|0; - $2 = (($0) + 8|0); - $3 = HEAP32[$2>>2]|0; - $4 = ($3|0)==($out_n|0); - $5 = (($3) + 1)|0; - $6 = ($5|0)==($out_n|0); - $or$cond = $4 | $6; - if (!($or$cond)) { - ___assert_fail((13152|0),(12928|0),3867,(13200|0)); - // unreachable; - } - $7 = Math_imul($x, $out_n)|0; - $8 = Math_imul($7, $y)|0; - $9 = (_stbi__malloc($8)|0); - $10 = (($a) + 12|0); - HEAP32[$10>>2] = $9; - $11 = ($9|0)==(0|0); - if ($11) { - _stbi__err(12832); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $12 = Math_imul($3, $x)|0; - $13 = Math_imul($12, $depth)|0; - $14 = (($13) + 7)|0; - $15 = $14 >>> 3; - $16 = (($15) + 1)|0; - $17 = Math_imul($16, $y)|0; - $18 = HEAP32[$0>>2]|0; - $19 = ($18|0)==($x|0); - if ($19) { - $20 = (($0) + 4|0); - $21 = HEAP32[$20>>2]|0; - $22 = ($21|0)==($y|0); - if ($22) { - $23 = ($17|0)==($raw_len|0); - if (!($23)) { - _stbi__err(13232); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - } else { - label = 9; - } - } else { - label = 9; - } - if ((label|0) == 9) { - $24 = ($17>>>0)>($raw_len>>>0); - if ($24) { - _stbi__err(13232); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - } - $25 = ($y|0)==(0); - L18: do { - if (!($25)) { - $26 = ($depth|0)<(8); - $27 = ($15>>>0)>($x>>>0); - $28 = (($1) - ($15))|0; - $29 = ($depth|0)==(8); - $$sum15 = (($3) + 1)|0; - $brmerge = $26 | $4; - $i$6108 = (($x) + -1)|0; - $30 = ($i$6108|0)==(0); - $31 = ($3|0)>(0); - $i$5119 = (($x) + -1)|0; - $32 = ($i$5119|0)==(0); - $33 = ($3|0)>(0); - $i$4130 = (($x) + -1)|0; - $34 = ($i$4130|0)==(0); - $35 = ($3|0)>(0); - $i$3142 = (($x) + -1)|0; - $36 = ($i$3142|0)==(0); - $37 = ($3|0)>(0); - $i$2154 = (($x) + -1)|0; - $38 = ($i$2154|0)==(0); - $39 = ($3|0)>(0); - $i$1166 = (($x) + -1)|0; - $40 = ($i$1166|0)==(0); - $41 = ($3|0)>(0); - $i$0177 = (($x) + -1)|0; - $42 = ($i$0177|0)==(0); - $43 = ($3|0)>(0); - $44 = Math_imul($3, $i$0177)|0; - $$01208 = $raw;$j$0207 = 0; - L20: while(1) { - $45 = HEAP32[$10>>2]|0; - $46 = Math_imul($j$0207, $1)|0; - $$sum13 = (($46) - ($1))|0; - $47 = HEAP8[$$01208>>0]|0; - $48 = $47&255; - $49 = ($47&255)>(4); - if ($49) { - label = 14; - break; - } - if ($26) { - if ($27) { - label = 17; - break; - } - $$sum30 = (($28) + ($46))|0; - $$sum30$pn = $$sum30;$filter_bytes$0 = 1;$width$0 = $15; - } else { - $$sum30$pn = $46;$filter_bytes$0 = $3;$width$0 = $x; - } - $50 = ($j$0207|0)==(0); - if ($50) { - $51 = (13296 + ($48)|0); - $52 = HEAP8[$51>>0]|0; - $53 = $52&255; - $filter$0 = $53; - } else { - $filter$0 = $48; - } - $54 = ($filter_bytes$0|0)>(0); - L30: do { - if ($54) { - $k$098 = 0; - while(1) { - switch ($filter$0|0) { - case 1: { - $$sum28 = (($k$098) + 1)|0; - $58 = (($$01208) + ($$sum28)|0); - $59 = HEAP8[$58>>0]|0; - $cur$0$sum44 = (($k$098) + ($$sum30$pn))|0; - $60 = (($45) + ($cur$0$sum44)|0); - HEAP8[$60>>0] = $59; - break; - } - case 4: { - $$sum22 = (($k$098) + 1)|0; - $80 = (($$01208) + ($$sum22)|0); - $81 = HEAP8[$80>>0]|0; - $82 = $81&255; - $$sum23 = (($k$098) + ($$sum13))|0; - $83 = (($45) + ($$sum23)|0); - $84 = HEAP8[$83>>0]|0; - $85 = $84&255; - $86 = (_stbi__paeth(0,$85,0)|0); - $87 = (($86) + ($82))|0; - $88 = $87&255; - $cur$0$sum47 = (($k$098) + ($$sum30$pn))|0; - $89 = (($45) + ($cur$0$sum47)|0); - HEAP8[$89>>0] = $88; - break; - } - case 2: { - $$sum26 = (($k$098) + 1)|0; - $61 = (($$01208) + ($$sum26)|0); - $62 = HEAP8[$61>>0]|0; - $63 = $62&255; - $$sum27 = (($k$098) + ($$sum13))|0; - $64 = (($45) + ($$sum27)|0); - $65 = HEAP8[$64>>0]|0; - $66 = $65&255; - $67 = (($66) + ($63))|0; - $68 = $67&255; - $cur$0$sum45 = (($k$098) + ($$sum30$pn))|0; - $69 = (($45) + ($cur$0$sum45)|0); - HEAP8[$69>>0] = $68; - break; - } - case 6: { - $$sum20 = (($k$098) + 1)|0; - $93 = (($$01208) + ($$sum20)|0); - $94 = HEAP8[$93>>0]|0; - $cur$0$sum49 = (($k$098) + ($$sum30$pn))|0; - $95 = (($45) + ($cur$0$sum49)|0); - HEAP8[$95>>0] = $94; - break; - } - case 0: { - $$sum29 = (($k$098) + 1)|0; - $55 = (($$01208) + ($$sum29)|0); - $56 = HEAP8[$55>>0]|0; - $cur$0$sum43 = (($k$098) + ($$sum30$pn))|0; - $57 = (($45) + ($cur$0$sum43)|0); - HEAP8[$57>>0] = $56; - break; - } - case 5: { - $$sum21 = (($k$098) + 1)|0; - $90 = (($$01208) + ($$sum21)|0); - $91 = HEAP8[$90>>0]|0; - $cur$0$sum48 = (($k$098) + ($$sum30$pn))|0; - $92 = (($45) + ($cur$0$sum48)|0); - HEAP8[$92>>0] = $91; - break; - } - case 3: { - $$sum24 = (($k$098) + 1)|0; - $70 = (($$01208) + ($$sum24)|0); - $71 = HEAP8[$70>>0]|0; - $72 = $71&255; - $$sum25 = (($k$098) + ($$sum13))|0; - $73 = (($45) + ($$sum25)|0); - $74 = HEAP8[$73>>0]|0; - $75 = $74&255; - $76 = $75 >>> 1; - $77 = (($76) + ($72))|0; - $78 = $77&255; - $cur$0$sum46 = (($k$098) + ($$sum30$pn))|0; - $79 = (($45) + ($cur$0$sum46)|0); - HEAP8[$79>>0] = $78; - break; - } - default: { - } - } - $96 = (($k$098) + 1)|0; - $exitcond = ($96|0)==($filter_bytes$0|0); - if ($exitcond) { - break L30; - } else { - $k$098 = $96; - } - } - } - } while(0); - if ($29) { - if (!($4)) { - $cur$0$sum42 = (($$sum30$pn) + ($3))|0; - $97 = (($45) + ($cur$0$sum42)|0); - HEAP8[$97>>0] = -1; - } - $98 = (($$01208) + ($$sum15)|0); - $$1 = $98;$out_n$pn = $out_n; - } else { - $99 = (($$01208) + 2|0); - $$1 = $99;$out_n$pn = 1; - } - $$sum16$pn = (($out_n$pn) + ($$sum13))|0; - $cur$0$sum31$pn = (($out_n$pn) + ($$sum30$pn))|0; - $cur$1 = (($45) + ($cur$0$sum31$pn)|0); - $prior$0 = (($45) + ($$sum16$pn)|0); - L50: do { - if ($brmerge) { - $100 = (($width$0) + -1)|0; - $101 = Math_imul($100, $3)|0; - switch ($filter$0|0) { - case 2: { - $106 = ($101|0)>(0); - if ($106) { - $107 = (($width$0) + -1)|0; - $108 = Math_imul($3, $107)|0; - $k$2200 = 0; - while(1) { - $134 = (($$1) + ($k$2200)|0); - $135 = HEAP8[$134>>0]|0; - $136 = $135&255; - $prior$0$sum = (($k$2200) + ($$sum16$pn))|0; - $137 = (($45) + ($prior$0$sum)|0); - $138 = HEAP8[$137>>0]|0; - $139 = $138&255; - $140 = (($139) + ($136))|0; - $141 = $140&255; - $cur$1$sum33 = (($k$2200) + ($cur$0$sum31$pn))|0; - $142 = (($45) + ($cur$1$sum33)|0); - HEAP8[$142>>0] = $141; - $143 = (($k$2200) + 1)|0; - $exitcond252 = ($143|0)==($108|0); - if ($exitcond252) { - break; - } else { - $k$2200 = $143; - } - } - } - break; - } - case 5: { - $116 = ($101|0)>(0); - if ($116) { - $117 = (($cur$0$sum31$pn) - ($filter_bytes$0))|0; - $118 = (($width$0) + -1)|0; - $119 = Math_imul($3, $118)|0; - $k$5188 = 0; - while(1) { - $177 = (($$1) + ($k$5188)|0); - $178 = HEAP8[$177>>0]|0; - $179 = $178&255; - $cur$1$sum39 = (($117) + ($k$5188))|0; - $180 = (($45) + ($cur$1$sum39)|0); - $181 = HEAP8[$180>>0]|0; - $182 = $181&255; - $183 = $182 >>> 1; - $184 = (($183) + ($179))|0; - $185 = $184&255; - $cur$1$sum38 = (($k$5188) + ($cur$0$sum31$pn))|0; - $186 = (($45) + ($cur$1$sum38)|0); - HEAP8[$186>>0] = $185; - $187 = (($k$5188) + 1)|0; - $exitcond249 = ($187|0)==($119|0); - if ($exitcond249) { - break; - } else { - $k$5188 = $187; - } - } - } - break; - } - case 6: { - $120 = ($101|0)>(0); - if ($120) { - $121 = (($cur$0$sum31$pn) - ($filter_bytes$0))|0; - $122 = (($width$0) + -1)|0; - $123 = Math_imul($3, $122)|0; - $k$6184 = 0; - while(1) { - $188 = (($$1) + ($k$6184)|0); - $189 = HEAP8[$188>>0]|0; - $190 = $189&255; - $cur$1$sum41 = (($121) + ($k$6184))|0; - $191 = (($45) + ($cur$1$sum41)|0); - $192 = HEAP8[$191>>0]|0; - $193 = $192&255; - $194 = (_stbi__paeth($193,0,0)|0); - $195 = (($194) + ($190))|0; - $196 = $195&255; - $cur$1$sum40 = (($k$6184) + ($cur$0$sum31$pn))|0; - $197 = (($45) + ($cur$1$sum40)|0); - HEAP8[$197>>0] = $196; - $198 = (($k$6184) + 1)|0; - $exitcond248 = ($198|0)==($123|0); - if ($exitcond248) { - break; - } else { - $k$6184 = $198; - } - } - } - break; - } - case 3: { - $109 = ($101|0)>(0); - if ($109) { - $110 = (($cur$0$sum31$pn) - ($filter_bytes$0))|0; - $111 = (($width$0) + -1)|0; - $112 = Math_imul($3, $111)|0; - $k$3196 = 0; - while(1) { - $144 = (($$1) + ($k$3196)|0); - $145 = HEAP8[$144>>0]|0; - $146 = $145&255; - $prior$0$sum17 = (($k$3196) + ($$sum16$pn))|0; - $147 = (($45) + ($prior$0$sum17)|0); - $148 = HEAP8[$147>>0]|0; - $149 = $148&255; - $cur$1$sum35 = (($110) + ($k$3196))|0; - $150 = (($45) + ($cur$1$sum35)|0); - $151 = HEAP8[$150>>0]|0; - $152 = $151&255; - $153 = (($152) + ($149))|0; - $154 = $153 >>> 1; - $155 = (($154) + ($146))|0; - $156 = $155&255; - $cur$1$sum34 = (($k$3196) + ($cur$0$sum31$pn))|0; - $157 = (($45) + ($cur$1$sum34)|0); - HEAP8[$157>>0] = $156; - $158 = (($k$3196) + 1)|0; - $exitcond251 = ($158|0)==($112|0); - if ($exitcond251) { - break; - } else { - $k$3196 = $158; - } - } - } - break; - } - case 0: { - _memcpy(($cur$1|0),($$1|0),($101|0))|0; - break; - } - case 1: { - $102 = ($101|0)>(0); - if ($102) { - $103 = (($cur$0$sum31$pn) - ($filter_bytes$0))|0; - $104 = (($width$0) + -1)|0; - $105 = Math_imul($3, $104)|0; - $k$1204 = 0; - while(1) { - $124 = (($$1) + ($k$1204)|0); - $125 = HEAP8[$124>>0]|0; - $126 = $125&255; - $cur$1$sum32 = (($103) + ($k$1204))|0; - $127 = (($45) + ($cur$1$sum32)|0); - $128 = HEAP8[$127>>0]|0; - $129 = $128&255; - $130 = (($129) + ($126))|0; - $131 = $130&255; - $cur$1$sum = (($k$1204) + ($cur$0$sum31$pn))|0; - $132 = (($45) + ($cur$1$sum)|0); - HEAP8[$132>>0] = $131; - $133 = (($k$1204) + 1)|0; - $exitcond253 = ($133|0)==($105|0); - if ($exitcond253) { - break; - } else { - $k$1204 = $133; - } - } - } - break; - } - case 4: { - $113 = ($101|0)>(0); - if ($113) { - $114 = (($width$0) + -1)|0; - $115 = Math_imul($3, $114)|0; - $k$4192 = 0; - while(1) { - $159 = (($$1) + ($k$4192)|0); - $160 = HEAP8[$159>>0]|0; - $161 = $160&255; - $162 = (($k$4192) - ($filter_bytes$0))|0; - $cur$1$sum37 = (($162) + ($cur$0$sum31$pn))|0; - $163 = (($45) + ($cur$1$sum37)|0); - $164 = HEAP8[$163>>0]|0; - $165 = $164&255; - $prior$0$sum19 = (($k$4192) + ($$sum16$pn))|0; - $166 = (($45) + ($prior$0$sum19)|0); - $167 = HEAP8[$166>>0]|0; - $168 = $167&255; - $prior$0$sum18 = (($162) + ($$sum16$pn))|0; - $169 = (($45) + ($prior$0$sum18)|0); - $170 = HEAP8[$169>>0]|0; - $171 = $170&255; - $172 = (_stbi__paeth($165,$168,$171)|0); - $173 = (($172) + ($161))|0; - $174 = $173&255; - $cur$1$sum36 = (($k$4192) + ($cur$0$sum31$pn))|0; - $175 = (($45) + ($cur$1$sum36)|0); - HEAP8[$175>>0] = $174; - $176 = (($k$4192) + 1)|0; - $exitcond250 = ($176|0)==($115|0); - if ($exitcond250) { - break; - } else { - $k$4192 = $176; - } - } - } - break; - } - default: { - } - } - $199 = (($$1) + ($101)|0); - $$9 = $199; - } else { - if (!($6)) { - label = 59; - break L20; - } - switch ($filter$0|0) { - case 0: { - if ($42) { - $$9 = $$1; - break L50; - } else { - $$2179 = $$1;$cur$2178 = $cur$1;$i$0180 = $i$0177; - } - while(1) { - if ($43) { - $k$7172 = 0; - while(1) { - $200 = (($$2179) + ($k$7172)|0); - $201 = HEAP8[$200>>0]|0; - $202 = (($cur$2178) + ($k$7172)|0); - HEAP8[$202>>0] = $201; - $203 = (($k$7172) + 1)|0; - $exitcond245 = ($203|0)==($3|0); - if ($exitcond245) { - break; - } else { - $k$7172 = $203; - } - } - } - $204 = (($cur$2178) + ($3)|0); - HEAP8[$204>>0] = -1; - $205 = (($$2179) + ($3)|0); - $206 = (($cur$2178) + ($out_n)|0); - $i$0 = (($i$0180) + -1)|0; - $207 = ($i$0|0)==(0); - if ($207) { - break; - } else { - $$2179 = $205;$cur$2178 = $206;$i$0180 = $i$0; - } - } - $scevgep247 = (($$1) + ($44)|0); - $$9 = $scevgep247; - break L50; - break; - } - case 1: { - if ($40) { - $$9 = $$1; - break L50; - } else { - $$3168 = $$1;$cur$3167 = $cur$1;$i$1169 = $i$1166; - } - while(1) { - if ($41) { - $k$8161 = 0; - while(1) { - $208 = (($$3168) + ($k$8161)|0); - $209 = HEAP8[$208>>0]|0; - $210 = $209&255; - $211 = (($k$8161) - ($out_n))|0; - $212 = (($cur$3167) + ($211)|0); - $213 = HEAP8[$212>>0]|0; - $214 = $213&255; - $215 = (($214) + ($210))|0; - $216 = $215&255; - $217 = (($cur$3167) + ($k$8161)|0); - HEAP8[$217>>0] = $216; - $218 = (($k$8161) + 1)|0; - $exitcond243 = ($218|0)==($3|0); - if ($exitcond243) { - break; - } else { - $k$8161 = $218; - } - } - } - $219 = (($cur$3167) + ($3)|0); - HEAP8[$219>>0] = -1; - $220 = (($$3168) + ($3)|0); - $221 = (($cur$3167) + ($out_n)|0); - $i$1 = (($i$1169) + -1)|0; - $222 = ($i$1|0)==(0); - if ($222) { - break; - } else { - $$3168 = $220;$cur$3167 = $221;$i$1169 = $i$1; - } - } - $scevgep244 = (($$1) + ($44)|0); - $$9 = $scevgep244; - break L50; - break; - } - case 2: { - if ($38) { - $$9 = $$1; - break L50; - } else { - $$4157 = $$1;$cur$4155 = $cur$1;$i$2158 = $i$2154;$prior$3156 = $prior$0; - } - while(1) { - if ($39) { - $k$9149 = 0; - while(1) { - $223 = (($$4157) + ($k$9149)|0); - $224 = HEAP8[$223>>0]|0; - $225 = $224&255; - $226 = (($prior$3156) + ($k$9149)|0); - $227 = HEAP8[$226>>0]|0; - $228 = $227&255; - $229 = (($228) + ($225))|0; - $230 = $229&255; - $231 = (($cur$4155) + ($k$9149)|0); - HEAP8[$231>>0] = $230; - $232 = (($k$9149) + 1)|0; - $exitcond241 = ($232|0)==($3|0); - if ($exitcond241) { - break; - } else { - $k$9149 = $232; - } - } - } - $233 = (($cur$4155) + ($3)|0); - HEAP8[$233>>0] = -1; - $234 = (($$4157) + ($3)|0); - $235 = (($cur$4155) + ($out_n)|0); - $236 = (($prior$3156) + ($out_n)|0); - $i$2 = (($i$2158) + -1)|0; - $237 = ($i$2|0)==(0); - if ($237) { - break; - } else { - $$4157 = $234;$cur$4155 = $235;$i$2158 = $i$2;$prior$3156 = $236; - } - } - $scevgep242 = (($$1) + ($44)|0); - $$9 = $scevgep242; - break L50; - break; - } - case 3: { - if ($36) { - $$9 = $$1; - break L50; - } else { - $$5145 = $$1;$cur$5143 = $cur$1;$i$3146 = $i$3142;$prior$4144 = $prior$0; - } - while(1) { - if ($37) { - $k$10137 = 0; - while(1) { - $238 = (($$5145) + ($k$10137)|0); - $239 = HEAP8[$238>>0]|0; - $240 = $239&255; - $241 = (($prior$4144) + ($k$10137)|0); - $242 = HEAP8[$241>>0]|0; - $243 = $242&255; - $244 = (($k$10137) - ($out_n))|0; - $245 = (($cur$5143) + ($244)|0); - $246 = HEAP8[$245>>0]|0; - $247 = $246&255; - $248 = (($247) + ($243))|0; - $249 = $248 >>> 1; - $250 = (($249) + ($240))|0; - $251 = $250&255; - $252 = (($cur$5143) + ($k$10137)|0); - HEAP8[$252>>0] = $251; - $253 = (($k$10137) + 1)|0; - $exitcond239 = ($253|0)==($3|0); - if ($exitcond239) { - break; - } else { - $k$10137 = $253; - } - } - } - $254 = (($cur$5143) + ($3)|0); - HEAP8[$254>>0] = -1; - $255 = (($$5145) + ($3)|0); - $256 = (($cur$5143) + ($out_n)|0); - $257 = (($prior$4144) + ($out_n)|0); - $i$3 = (($i$3146) + -1)|0; - $258 = ($i$3|0)==(0); - if ($258) { - break; - } else { - $$5145 = $255;$cur$5143 = $256;$i$3146 = $i$3;$prior$4144 = $257; - } - } - $scevgep240 = (($$1) + ($44)|0); - $$9 = $scevgep240; - break L50; - break; - } - case 5: { - if ($32) { - $$9 = $$1; - break L50; - } else { - $$7121 = $$1;$cur$7120 = $cur$1;$i$5122 = $i$5119; - } - while(1) { - if ($33) { - $k$12114 = 0; - while(1) { - $282 = (($$7121) + ($k$12114)|0); - $283 = HEAP8[$282>>0]|0; - $284 = $283&255; - $285 = (($k$12114) - ($out_n))|0; - $286 = (($cur$7120) + ($285)|0); - $287 = HEAP8[$286>>0]|0; - $288 = $287&255; - $289 = $288 >>> 1; - $290 = (($289) + ($284))|0; - $291 = $290&255; - $292 = (($cur$7120) + ($k$12114)|0); - HEAP8[$292>>0] = $291; - $293 = (($k$12114) + 1)|0; - $exitcond235 = ($293|0)==($3|0); - if ($exitcond235) { - break; - } else { - $k$12114 = $293; - } - } - } - $294 = (($cur$7120) + ($3)|0); - HEAP8[$294>>0] = -1; - $295 = (($$7121) + ($3)|0); - $296 = (($cur$7120) + ($out_n)|0); - $i$5 = (($i$5122) + -1)|0; - $297 = ($i$5|0)==(0); - if ($297) { - break; - } else { - $$7121 = $295;$cur$7120 = $296;$i$5122 = $i$5; - } - } - $scevgep236 = (($$1) + ($44)|0); - $$9 = $scevgep236; - break L50; - break; - } - case 6: { - if ($30) { - $$9 = $$1; - break L50; - } else { - $$8110 = $$1;$cur$8109 = $cur$1;$i$6111 = $i$6108; - } - while(1) { - if ($31) { - $k$13103 = 0; - while(1) { - $298 = (($$8110) + ($k$13103)|0); - $299 = HEAP8[$298>>0]|0; - $300 = $299&255; - $301 = (($k$13103) - ($out_n))|0; - $302 = (($cur$8109) + ($301)|0); - $303 = HEAP8[$302>>0]|0; - $304 = $303&255; - $305 = (_stbi__paeth($304,0,0)|0); - $306 = (($305) + ($300))|0; - $307 = $306&255; - $308 = (($cur$8109) + ($k$13103)|0); - HEAP8[$308>>0] = $307; - $309 = (($k$13103) + 1)|0; - $exitcond233 = ($309|0)==($3|0); - if ($exitcond233) { - break; - } else { - $k$13103 = $309; - } - } - } - $310 = (($cur$8109) + ($3)|0); - HEAP8[$310>>0] = -1; - $311 = (($$8110) + ($3)|0); - $312 = (($cur$8109) + ($out_n)|0); - $i$6 = (($i$6111) + -1)|0; - $313 = ($i$6|0)==(0); - if ($313) { - break; - } else { - $$8110 = $311;$cur$8109 = $312;$i$6111 = $i$6; - } - } - $scevgep234 = (($$1) + ($44)|0); - $$9 = $scevgep234; - break L50; - break; - } - case 4: { - if ($34) { - $$9 = $$1; - break L50; - } else { - $$6133 = $$1;$cur$6131 = $cur$1;$i$4134 = $i$4130;$prior$5132 = $prior$0; - } - while(1) { - if ($35) { - $k$11125 = 0; - while(1) { - $259 = (($$6133) + ($k$11125)|0); - $260 = HEAP8[$259>>0]|0; - $261 = $260&255; - $262 = (($k$11125) - ($out_n))|0; - $263 = (($cur$6131) + ($262)|0); - $264 = HEAP8[$263>>0]|0; - $265 = $264&255; - $266 = (($prior$5132) + ($k$11125)|0); - $267 = HEAP8[$266>>0]|0; - $268 = $267&255; - $269 = (($prior$5132) + ($262)|0); - $270 = HEAP8[$269>>0]|0; - $271 = $270&255; - $272 = (_stbi__paeth($265,$268,$271)|0); - $273 = (($272) + ($261))|0; - $274 = $273&255; - $275 = (($cur$6131) + ($k$11125)|0); - HEAP8[$275>>0] = $274; - $276 = (($k$11125) + 1)|0; - $exitcond237 = ($276|0)==($3|0); - if ($exitcond237) { - break; - } else { - $k$11125 = $276; - } - } - } - $277 = (($cur$6131) + ($3)|0); - HEAP8[$277>>0] = -1; - $278 = (($$6133) + ($3)|0); - $279 = (($cur$6131) + ($out_n)|0); - $280 = (($prior$5132) + ($out_n)|0); - $i$4 = (($i$4134) + -1)|0; - $281 = ($i$4|0)==(0); - if ($281) { - break; - } else { - $$6133 = $278;$cur$6131 = $279;$i$4134 = $i$4;$prior$5132 = $280; - } - } - $scevgep238 = (($$1) + ($44)|0); - $$9 = $scevgep238; - break L50; - break; - } - default: { - $$9 = $$1; - break L50; - } - } - } - } while(0); - $314 = (($j$0207) + 1)|0; - $315 = ($314>>>0)<($y>>>0); - if ($315) { - $$01208 = $$9;$j$0207 = $314; - } else { - break L18; - } - } - if ((label|0) == 14) { - _stbi__err(13256); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - else if ((label|0) == 17) { - ___assert_fail((13272|0),(12928|0),3889,(13200|0)); - // unreachable; - } - else if ((label|0) == 59) { - ___assert_fail((13304|0),(12928|0),3942,(13200|0)); - // unreachable; - } - } - } while(0); - $316 = ($depth|0)>(7); - $317 = ($y|0)==(0); - $or$cond254 = $316 | $317; - if ($or$cond254) { - $$0 = 1; - STACKTOP = sp;return ($$0|0); - } - $$sum = (($1) - ($15))|0; - $318 = ($color|0)==(0); - $319 = (12808 + ($depth)|0); - $i3$186 = (($x) + -1)|0; - $320 = ($i3$186|0)>(-1); - $i3$091 = (($x) + -1)|0; - $321 = ($i3$091|0)>(-1); - $322 = ($12|0)>(7); - $323 = ($12|0)>(3); - $324 = ($12|0)>(1); - $325 = Math_imul($3, $x)|0; - $326 = (($325) + -8)|0; - $327 = $326 >>> 3; - $328 = Math_imul($x, $out_n)|0; - $329 = (($327) + ($328))|0; - $330 = (($329) + 1)|0; - $331 = Math_imul($3, $depth)|0; - $332 = Math_imul($331, $x)|0; - $333 = (($332) + 7)|0; - $334 = $333 >>> 3; - $335 = (($330) - ($334))|0; - $336 = (($325) + -8)|0; - $337 = $327 << 3; - $338 = (($336) - ($337))|0; - $339 = (($337) + 8)|0; - $340 = Math_imul($3, $x)|0; - $341 = (($340) + -4)|0; - $342 = $341 >>> 2; - $343 = Math_imul($x, $out_n)|0; - $344 = (($342) + ($343))|0; - $345 = (($344) + 1)|0; - $346 = Math_imul($3, $depth)|0; - $347 = Math_imul($346, $x)|0; - $348 = (($347) + 7)|0; - $349 = $348 >>> 3; - $350 = (($345) - ($349))|0; - $351 = (($340) + -4)|0; - $352 = $342 << 2; - $353 = (($351) - ($352))|0; - $354 = (($352) + 4)|0; - $355 = Math_imul($3, $x)|0; - $356 = (($355) + -2)|0; - $357 = $356 >>> 1; - $358 = Math_imul($x, $out_n)|0; - $359 = (($357) + ($358))|0; - $360 = (($359) + 1)|0; - $361 = Math_imul($3, $depth)|0; - $362 = Math_imul($361, $x)|0; - $363 = (($362) + 7)|0; - $364 = $363 >>> 3; - $365 = (($360) - ($364))|0; - $366 = (($355) + -2)|0; - $367 = $357 << 1; - $368 = (($366) - ($367))|0; - $369 = (($367) + 2)|0; - $indvars$iv = $335;$indvars$iv214 = $339;$indvars$iv219 = $350;$indvars$iv222 = $354;$indvars$iv227 = $365;$indvars$iv230 = $369;$j$196 = 0; - L148: while(1) { - $370 = HEAP32[$10>>2]|0; - $371 = Math_imul($j$196, $1)|0; - $372 = (($370) + ($371)|0); - $$sum2 = (($$sum) + ($371))|0; - $373 = (($370) + ($$sum2)|0); - if ($318) { - $374 = HEAP8[$319>>0]|0; - $376 = $374; - } else { - $376 = 1; - } - if ((($depth|0) == 1)) { - if ($322) { - $378 = $376&255; - $scevgep = (($370) + ($indvars$iv)|0); - $cur1$463 = $372;$in$264 = $373;$k$1662 = $12; - while(1) { - $455 = HEAP8[$in$264>>0]|0; - $456 = $455&255; - $457 = $456 >>> 7; - $458 = (0 - ($457))|0; - $459 = $378 & $458; - $460 = $459&255; - $461 = (($cur1$463) + 1|0); - HEAP8[$cur1$463>>0] = $460; - $462 = HEAP8[$in$264>>0]|0; - $463 = $462&255; - $464 = $463 >>> 6; - $465 = $464 & 1; - $466 = (0 - ($465))|0; - $467 = $378 & $466; - $468 = $467&255; - $469 = (($cur1$463) + 2|0); - HEAP8[$461>>0] = $468; - $470 = HEAP8[$in$264>>0]|0; - $471 = $470&255; - $472 = $471 >>> 5; - $473 = $472 & 1; - $474 = (0 - ($473))|0; - $475 = $378 & $474; - $476 = $475&255; - $477 = (($cur1$463) + 3|0); - HEAP8[$469>>0] = $476; - $478 = HEAP8[$in$264>>0]|0; - $479 = $478&255; - $480 = $479 >>> 4; - $481 = $480 & 1; - $482 = (0 - ($481))|0; - $483 = $378 & $482; - $484 = $483&255; - $485 = (($cur1$463) + 4|0); - HEAP8[$477>>0] = $484; - $486 = HEAP8[$in$264>>0]|0; - $487 = $486&255; - $488 = $487 >>> 3; - $489 = $488 & 1; - $490 = (0 - ($489))|0; - $491 = $378 & $490; - $492 = $491&255; - $493 = (($cur1$463) + 5|0); - HEAP8[$485>>0] = $492; - $494 = HEAP8[$in$264>>0]|0; - $495 = $494&255; - $496 = $495 >>> 2; - $497 = $496 & 1; - $498 = (0 - ($497))|0; - $499 = $378 & $498; - $500 = $499&255; - $501 = (($cur1$463) + 6|0); - HEAP8[$493>>0] = $500; - $502 = HEAP8[$in$264>>0]|0; - $503 = $502&255; - $504 = $503 >>> 1; - $505 = $504 & 1; - $506 = (0 - ($505))|0; - $507 = $378 & $506; - $508 = $507&255; - $509 = (($cur1$463) + 7|0); - HEAP8[$501>>0] = $508; - $510 = HEAP8[$in$264>>0]|0; - $511 = $510&255; - $512 = $511 & 1; - $513 = (0 - ($512))|0; - $514 = $378 & $513; - $515 = $514&255; - $516 = (($cur1$463) + 8|0); - HEAP8[$509>>0] = $515; - $517 = (($k$1662) + -8)|0; - $518 = (($in$264) + 1|0); - $519 = ($517|0)>(7); - if ($519) { - $cur1$463 = $516;$in$264 = $518;$k$1662 = $517; - } else { - break; - } - } - $scevgep216 = (($370) + ($indvars$iv214)|0); - $cur1$4$lcssa = $scevgep216;$in$2$lcssa = $scevgep;$k$16$lcssa = $338; - } else { - $cur1$4$lcssa = $372;$in$2$lcssa = $373;$k$16$lcssa = $12; - } - $520 = ($k$16$lcssa|0)>(0); - if ($520) { - $521 = $376&255; - $522 = HEAP8[$in$2$lcssa>>0]|0; - $523 = $522&255; - $524 = $523 >>> 7; - $525 = (0 - ($524))|0; - $526 = $521 & $525; - $527 = $526&255; - HEAP8[$cur1$4$lcssa>>0] = $527; - $528 = ($k$16$lcssa|0)>(1); - if ($528) { - $529 = (($cur1$4$lcssa) + 1|0); - $530 = $376&255; - $531 = HEAP8[$in$2$lcssa>>0]|0; - $532 = $531&255; - $533 = $532 >>> 6; - $534 = $533 & 1; - $535 = (0 - ($534))|0; - $536 = $530 & $535; - $537 = $536&255; - HEAP8[$529>>0] = $537; - $538 = ($k$16$lcssa|0)>(2); - if ($538) { - $539 = (($cur1$4$lcssa) + 2|0); - $540 = $376&255; - $541 = HEAP8[$in$2$lcssa>>0]|0; - $542 = $541&255; - $543 = $542 >>> 5; - $544 = $543 & 1; - $545 = (0 - ($544))|0; - $546 = $540 & $545; - $547 = $546&255; - HEAP8[$539>>0] = $547; - $548 = ($k$16$lcssa|0)>(3); - if ($548) { - $549 = (($cur1$4$lcssa) + 3|0); - $550 = $376&255; - $551 = HEAP8[$in$2$lcssa>>0]|0; - $552 = $551&255; - $553 = $552 >>> 4; - $554 = $553 & 1; - $555 = (0 - ($554))|0; - $556 = $550 & $555; - $557 = $556&255; - HEAP8[$549>>0] = $557; - $558 = ($k$16$lcssa|0)>(4); - if ($558) { - $559 = (($cur1$4$lcssa) + 4|0); - $560 = $376&255; - $561 = HEAP8[$in$2$lcssa>>0]|0; - $562 = $561&255; - $563 = $562 >>> 3; - $564 = $563 & 1; - $565 = (0 - ($564))|0; - $566 = $560 & $565; - $567 = $566&255; - HEAP8[$559>>0] = $567; - $568 = ($k$16$lcssa|0)>(5); - if ($568) { - $569 = (($cur1$4$lcssa) + 5|0); - $570 = $376&255; - $571 = HEAP8[$in$2$lcssa>>0]|0; - $572 = $571&255; - $573 = $572 >>> 2; - $574 = $573 & 1; - $575 = (0 - ($574))|0; - $576 = $570 & $575; - $577 = $576&255; - HEAP8[$569>>0] = $577; - $578 = ($k$16$lcssa|0)>(6); - if ($578) { - $579 = (($cur1$4$lcssa) + 6|0); - $580 = $376&255; - $581 = HEAP8[$in$2$lcssa>>0]|0; - $582 = $581&255; - $583 = $582 >>> 1; - $584 = $583 & 1; - $585 = (0 - ($584))|0; - $586 = $580 & $585; - $587 = $586&255; - HEAP8[$579>>0] = $587; - } - } - } - } - } - } - } - } else if ((($depth|0) == 4)) { - if ($324) { - $375 = $376&255; - $scevgep229 = (($370) + ($indvars$iv227)|0); - $cur1$078 = $372;$in$079 = $373;$k$1477 = $12; - while(1) { - $379 = HEAP8[$in$079>>0]|0; - $380 = $379&255; - $381 = $380 >>> 4; - $382 = Math_imul($381, $375)|0; - $383 = $382&255; - $384 = (($cur1$078) + 1|0); - HEAP8[$cur1$078>>0] = $383; - $385 = HEAP8[$in$079>>0]|0; - $386 = $385&255; - $387 = $386 & 15; - $388 = Math_imul($387, $375)|0; - $389 = $388&255; - $390 = (($cur1$078) + 2|0); - HEAP8[$384>>0] = $389; - $391 = (($k$1477) + -2)|0; - $392 = (($in$079) + 1|0); - $393 = ($391|0)>(1); - if ($393) { - $cur1$078 = $390;$in$079 = $392;$k$1477 = $391; - } else { - break; - } - } - $scevgep232 = (($370) + ($indvars$iv230)|0); - $cur1$0$lcssa = $scevgep232;$in$0$lcssa = $scevgep229;$k$14$lcssa = $368; - } else { - $cur1$0$lcssa = $372;$in$0$lcssa = $373;$k$14$lcssa = $12; - } - $394 = ($k$14$lcssa|0)>(0); - if ($394) { - $395 = $376&255; - $396 = HEAP8[$in$0$lcssa>>0]|0; - $397 = $396&255; - $398 = $397 >>> 4; - $399 = Math_imul($398, $395)|0; - $400 = $399&255; - HEAP8[$cur1$0$lcssa>>0] = $400; - } - } else if ((($depth|0) == 2)) { - if ($323) { - $377 = $376&255; - $scevgep221 = (($370) + ($indvars$iv219)|0); - $cur1$169 = $372;$in$170 = $373;$k$1568 = $12; - while(1) { - $401 = HEAP8[$in$170>>0]|0; - $402 = $401&255; - $403 = $402 >>> 6; - $404 = Math_imul($403, $377)|0; - $405 = $404&255; - $406 = (($cur1$169) + 1|0); - HEAP8[$cur1$169>>0] = $405; - $407 = HEAP8[$in$170>>0]|0; - $408 = $407&255; - $409 = $408 >>> 4; - $410 = $409 & 3; - $411 = Math_imul($410, $377)|0; - $412 = $411&255; - $413 = (($cur1$169) + 2|0); - HEAP8[$406>>0] = $412; - $414 = HEAP8[$in$170>>0]|0; - $415 = $414&255; - $416 = $415 >>> 2; - $417 = $416 & 3; - $418 = Math_imul($417, $377)|0; - $419 = $418&255; - $420 = (($cur1$169) + 3|0); - HEAP8[$413>>0] = $419; - $421 = HEAP8[$in$170>>0]|0; - $422 = $421&255; - $423 = $422 & 3; - $424 = Math_imul($423, $377)|0; - $425 = $424&255; - $426 = (($cur1$169) + 4|0); - HEAP8[$420>>0] = $425; - $427 = (($k$1568) + -4)|0; - $428 = (($in$170) + 1|0); - $429 = ($427|0)>(3); - if ($429) { - $cur1$169 = $426;$in$170 = $428;$k$1568 = $427; - } else { - break; - } - } - $scevgep224 = (($370) + ($indvars$iv222)|0); - $cur1$1$lcssa = $scevgep224;$in$1$lcssa = $scevgep221;$k$15$lcssa = $353; - } else { - $cur1$1$lcssa = $372;$in$1$lcssa = $373;$k$15$lcssa = $12; - } - $430 = ($k$15$lcssa|0)>(0); - if ($430) { - $431 = $376&255; - $432 = HEAP8[$in$1$lcssa>>0]|0; - $433 = $432&255; - $434 = $433 >>> 6; - $435 = Math_imul($434, $431)|0; - $436 = $435&255; - HEAP8[$cur1$1$lcssa>>0] = $436; - $437 = ($k$15$lcssa|0)>(1); - if ($437) { - $438 = (($cur1$1$lcssa) + 1|0); - $439 = $376&255; - $440 = HEAP8[$in$1$lcssa>>0]|0; - $441 = $440&255; - $442 = $441 >>> 4; - $443 = $442 & 3; - $444 = Math_imul($443, $439)|0; - $445 = $444&255; - HEAP8[$438>>0] = $445; - $446 = ($k$15$lcssa|0)>(2); - if ($446) { - $447 = (($cur1$1$lcssa) + 2|0); - $448 = $376&255; - $449 = HEAP8[$in$1$lcssa>>0]|0; - $450 = $449&255; - $451 = $450 >>> 2; - $452 = $451 & 3; - $453 = Math_imul($452, $448)|0; - $454 = $453&255; - HEAP8[$447>>0] = $454; - } - } - } - } - L187: do { - if (!($4)) { - $588 = HEAP32[$10>>2]|0; - if ((($3|0) == 1)) { - if ($321) { - $i3$092 = $i3$091; - } else { - break; - } - while(1) { - $591 = $i3$092 << 1; - $592 = $591 | 1; - $$sum10 = (($592) + ($371))|0; - $593 = (($588) + ($$sum10)|0); - HEAP8[$593>>0] = -1; - $$sum11 = (($i3$092) + ($371))|0; - $594 = (($588) + ($$sum11)|0); - $595 = HEAP8[$594>>0]|0; - $$sum12 = (($591) + ($371))|0; - $596 = (($588) + ($$sum12)|0); - HEAP8[$596>>0] = $595; - $i3$0 = (($i3$092) + -1)|0; - $597 = ($i3$0|0)>(-1); - if ($597) { - $i3$092 = $i3$0; - } else { - break L187; - } - } - } else if (!((($3|0) == 3))) { - label = 134; - break L148; - } - if ($320) { - $589 = (($371) + 2)|0; - $590 = (($371) + 1)|0; - $i3$187 = $i3$186; - while(1) { - $598 = $i3$187 << 2; - $599 = $598 | 3; - $$sum3 = (($599) + ($371))|0; - $600 = (($588) + ($$sum3)|0); - HEAP8[$600>>0] = -1; - $601 = ($i3$187*3)|0; - $$sum4 = (($589) + ($601))|0; - $602 = (($588) + ($$sum4)|0); - $603 = HEAP8[$602>>0]|0; - $604 = $598 | 2; - $$sum5 = (($604) + ($371))|0; - $605 = (($588) + ($$sum5)|0); - HEAP8[$605>>0] = $603; - $$sum6 = (($590) + ($601))|0; - $606 = (($588) + ($$sum6)|0); - $607 = HEAP8[$606>>0]|0; - $608 = $598 | 1; - $$sum7 = (($608) + ($371))|0; - $609 = (($588) + ($$sum7)|0); - HEAP8[$609>>0] = $607; - $$sum8 = (($601) + ($371))|0; - $610 = (($588) + ($$sum8)|0); - $611 = HEAP8[$610>>0]|0; - $$sum9 = (($598) + ($371))|0; - $612 = (($588) + ($$sum9)|0); - HEAP8[$612>>0] = $611; - $i3$1 = (($i3$187) + -1)|0; - $613 = ($i3$1|0)>(-1); - if ($613) { - $i3$187 = $i3$1; - } else { - break; - } - } - } - } - } while(0); - $614 = (($j$196) + 1)|0; - $615 = ($614>>>0)<($y>>>0); - $indvars$iv$next = (($indvars$iv) + ($328))|0; - $indvars$iv$next215 = (($indvars$iv214) + ($328))|0; - $indvars$iv$next220 = (($indvars$iv219) + ($343))|0; - $indvars$iv$next223 = (($indvars$iv222) + ($343))|0; - $indvars$iv$next228 = (($indvars$iv227) + ($358))|0; - $indvars$iv$next231 = (($indvars$iv230) + ($358))|0; - if ($615) { - $indvars$iv = $indvars$iv$next;$indvars$iv214 = $indvars$iv$next215;$indvars$iv219 = $indvars$iv$next220;$indvars$iv222 = $indvars$iv$next223;$indvars$iv227 = $indvars$iv$next228;$indvars$iv230 = $indvars$iv$next231;$j$196 = $614; - } else { - $$0 = 1; - label = 137; - break; - } - } - if ((label|0) == 134) { - ___assert_fail((13328|0),(12928|0),4022,(13200|0)); - // unreachable; - } - else if ((label|0) == 137) { - STACKTOP = sp;return ($$0|0); - } - return 0|0; -} -function _stbi__paeth($a,$b,$c) { - $a = $a|0; - $b = $b|0; - $c = $c|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $c$b = 0, $ispos = 0, $ispos1 = 0, $ispos3 = 0, $neg = 0, $neg2 = 0, $neg4 = 0, $or$cond = 0; - var label = 0, sp = 0; - sp = STACKTOP; - $0 = (($b) + ($a))|0; - $1 = (($0) - ($c))|0; - $2 = (($1) - ($a))|0; - $ispos = ($2|0)>(-1); - $neg = (0 - ($2))|0; - $3 = $ispos ? $2 : $neg; - $4 = (($1) - ($b))|0; - $ispos1 = ($4|0)>(-1); - $neg2 = (0 - ($4))|0; - $5 = $ispos1 ? $4 : $neg2; - $6 = (($1) - ($c))|0; - $ispos3 = ($6|0)>(-1); - $neg4 = (0 - ($6))|0; - $7 = $ispos3 ? $6 : $neg4; - $8 = ($3|0)>($5|0); - $9 = ($3|0)>($7|0); - $or$cond = $8 | $9; - if (!($or$cond)) { - $$0 = $a; - STACKTOP = sp;return ($$0|0); - } - $10 = ($5|0)>($7|0); - $c$b = $10 ? $c : $b; - $$0 = $c$b; - STACKTOP = sp;return ($$0|0); -} -function _stbi__decode_jpeg_header($z,$scan) { - $z = $z|0; - $scan = $scan|0; - var $$ = 0, $$0 = 0, $$lcssa = 0, $$phitmp = 0, $$phitmp9 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0; - var $22 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $m$0$lcssa = 0, $m$010 = 0, $not$ = 0, $not$2 = 0, $not$8 = 0, $phitmp = 0, $phitmp7 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (($z) + 18116|0); - HEAP8[$0>>0] = -1; - $1 = (_stbi__get_marker($z)|0); - $2 = ($1<<24>>24)==(-40); - if (!($2)) { - _stbi__err(13368); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $3 = ($scan|0)==(1); - if ($3) { - $$0 = 1; - STACKTOP = sp;return ($$0|0); - } - $4 = (_stbi__get_marker($z)|0); - $5 = $4&255; - $6 = $5 & 254; - $phitmp7 = ($4<<24>>24)!=(-62); - $not$8 = ($6|0)!=(192); - $$phitmp9 = $phitmp7 & $not$8; - L8: do { - if ($$phitmp9) { - $m$010 = $5; - L10: while(1) { - $10 = (_stbi__process_marker($z,$m$010)|0); - $11 = ($10|0)==(0); - if ($11) { - $$0 = 0; - label = 14; - break; - } - $12 = (_stbi__get_marker($z)|0); - $13 = $12&255; - $14 = ($12<<24>>24)==(-1); - if ($14) { - while(1) { - $15 = HEAP32[$z>>2]|0; - $16 = (_stbi__at_eof($15)|0); - $17 = ($16|0)==(0); - if (!($17)) { - break L10; - } - $8 = (_stbi__get_marker($z)|0); - $18 = ($8<<24>>24)==(-1); - if (!($18)) { - break; - } - } - $7 = $8&255; - $$lcssa = $7; - } else { - $$lcssa = $13; - } - $9 = $$lcssa & 254; - $phitmp = ($$lcssa|0)!=(194); - $not$ = ($9|0)!=(192); - $$phitmp = $phitmp & $not$; - if ($$phitmp) { - $m$010 = $$lcssa; - } else { - $m$0$lcssa = $$lcssa; - break L8; - } - } - if ((label|0) == 14) { - STACKTOP = sp;return ($$0|0); - } - _stbi__err(13376); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } else { - $m$0$lcssa = $5; - } - } while(0); - $19 = ($m$0$lcssa|0)==(194); - $20 = $19&1; - $21 = (($z) + 18124|0); - HEAP32[$21>>2] = $20; - $22 = (_stbi__process_frame_header($z,$scan)|0); - $not$2 = ($22|0)!=(0); - $$ = $not$2&1; - $$0 = $$; - STACKTOP = sp;return ($$0|0); -} -function _stbi__get_marker($j) { - $j = $j|0; - var $$0 = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (($j) + 18116|0); - $1 = HEAP8[$0>>0]|0; - $2 = ($1<<24>>24)==(-1); - if ($2) { - $3 = HEAP32[$j>>2]|0; - $4 = (_stbi__get8($3)|0); - $5 = ($4<<24>>24)==(-1); - if ($5) { - while(1) { - $6 = HEAP32[$j>>2]|0; - $7 = (_stbi__get8($6)|0); - $8 = ($7<<24>>24)==(-1); - if (!($8)) { - $$0 = $7; - break; - } - } - } else { - $$0 = -1; - } - } else { - HEAP8[$0>>0] = -1; - $$0 = $1; - } - STACKTOP = sp;return ($$0|0); -} -function _stbi__process_marker($z,$m) { - $z = $z|0; - $m = $m|0; - var $$2 = 0, $$mask = 0, $$mask5 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; - var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; - var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0; - var $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $7 = 0, $8 = 0, $9 = 0, $L$0$lcssa = 0, $L$09 = 0, $L$1$lcssa = 0, $L$119 = 0, $exitcond = 0, $exitcond25 = 0, $exitcond26 = 0, $i$06 = 0; - var $i1$011 = 0, $i1$113 = 0, $m$off = 0, $n$012 = 0, $or$cond = 0, $or$cond3 = 0, $sizes = 0, $v$0 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); - $sizes = sp; - if ((($m|0) == 196)) { - $27 = HEAP32[$z>>2]|0; - $28 = (_stbi__get16be($27)|0); - $29 = (($28) + -2)|0; - $30 = ($29|0)>(0); - L3: do { - if ($30) { - $L$119 = $29; - while(1) { - $31 = HEAP32[$z>>2]|0; - $32 = (_stbi__get8($31)|0); - $33 = $32&255; - $34 = $33 & 15; - $35 = ($32&255)>(31); - $36 = ($34>>>0)>(3); - $or$cond = $35 | $36; - if ($or$cond) { - label = 17; - break; - } else { - $i1$011 = 0;$n$012 = 0; - } - while(1) { - $37 = HEAP32[$z>>2]|0; - $38 = (_stbi__get8($37)|0); - $39 = $38&255; - $40 = (($sizes) + ($i1$011<<2)|0); - HEAP32[$40>>2] = $39; - $41 = (($39) + ($n$012))|0; - $42 = (($i1$011) + 1)|0; - $exitcond25 = ($42|0)==(16); - if ($exitcond25) { - break; - } else { - $i1$011 = $42;$n$012 = $41; - } - } - $43 = (($L$119) + -17)|0; - $$mask5 = $33 & 240; - $44 = ($$mask5|0)==(0); - if ($44) { - $45 = ((($z) + (($34*1680)|0)|0) + 4|0); - $46 = (_stbi__build_huffman($45,$sizes)|0); - $47 = ($46|0)==(0); - if ($47) { - $$2 = 0; - label = 32; - break; - } - $48 = ((($z) + (($34*1680)|0)|0) + 1028|0); - $v$0 = $48; - } else { - $49 = ((($z) + (($34*1680)|0)|0) + 6724|0); - $50 = (_stbi__build_huffman($49,$sizes)|0); - $51 = ($50|0)==(0); - if ($51) { - $$2 = 0; - label = 32; - break; - } - $52 = ((($z) + (($34*1680)|0)|0) + 7748|0); - $v$0 = $52; - } - $53 = ($41|0)>(0); - if ($53) { - $i1$113 = 0; - while(1) { - $54 = HEAP32[$z>>2]|0; - $55 = (_stbi__get8($54)|0); - $56 = (($v$0) + ($i1$113)|0); - HEAP8[$56>>0] = $55; - $57 = (($i1$113) + 1)|0; - $exitcond26 = ($57|0)==($41|0); - if ($exitcond26) { - break; - } else { - $i1$113 = $57; - } - } - } - if (!($44)) { - $58 = ((($z) + ($34<<10)|0) + 13700|0); - $59 = ((($z) + (($34*1680)|0)|0) + 6724|0); - _stbi__build_fast_ac($58,$59); - } - $60 = (($43) - ($41))|0; - $61 = ($60|0)>(0); - if ($61) { - $L$119 = $60; - } else { - $L$1$lcssa = $60; - break L3; - } - } - if ((label|0) == 17) { - _stbi__err(13664); - $$2 = 0; - STACKTOP = sp;return ($$2|0); - } - else if ((label|0) == 32) { - STACKTOP = sp;return ($$2|0); - } - } else { - $L$1$lcssa = $29; - } - } while(0); - $62 = ($L$1$lcssa|0)==(0); - $63 = $62&1; - $$2 = $63; - STACKTOP = sp;return ($$2|0); - } else if ((($m|0) == 221)) { - $0 = HEAP32[$z>>2]|0; - $1 = (_stbi__get16be($0)|0); - $2 = ($1|0)==(4); - if ($2) { - $3 = HEAP32[$z>>2]|0; - $4 = (_stbi__get16be($3)|0); - $5 = (($z) + 18168|0); - HEAP32[$5>>2] = $4; - $$2 = 1; - STACKTOP = sp;return ($$2|0); - } else { - _stbi__err(13536); - $$2 = 0; - STACKTOP = sp;return ($$2|0); - } - } else if ((($m|0) == 255)) { - _stbi__err(13520); - $$2 = 0; - STACKTOP = sp;return ($$2|0); - } else if ((($m|0) == 219)) { - $6 = HEAP32[$z>>2]|0; - $7 = (_stbi__get16be($6)|0); - $8 = (($7) + -2)|0; - $9 = ($8|0)>(0); - L44: do { - if ($9) { - $L$09 = $8; - while(1) { - $10 = HEAP32[$z>>2]|0; - $11 = (_stbi__get8($10)|0); - $12 = $11&255; - $13 = $12 & 15; - $$mask = $12 & 240; - $14 = ($$mask|0)==(0); - if (!($14)) { - label = 8; - break; - } - $15 = ($13>>>0)>(3); - if ($15) { - label = 10; - break; - } else { - $i$06 = 0; - } - while(1) { - $16 = HEAP32[$z>>2]|0; - $17 = (_stbi__get8($16)|0); - $18 = (13584 + ($i$06)|0); - $19 = HEAP8[$18>>0]|0; - $20 = $19&255; - $21 = (((($z) + ($13<<6)|0) + ($20)|0) + 13444|0); - HEAP8[$21>>0] = $17; - $22 = (($i$06) + 1)|0; - $exitcond = ($22|0)==(64); - if ($exitcond) { - break; - } else { - $i$06 = $22; - } - } - $23 = (($L$09) + -65)|0; - $24 = ($23|0)>(0); - if ($24) { - $L$09 = $23; - } else { - $L$0$lcssa = $23; - break L44; - } - } - if ((label|0) == 8) { - _stbi__err(13552); - $$2 = 0; - STACKTOP = sp;return ($$2|0); - } - else if ((label|0) == 10) { - _stbi__err(13568); - $$2 = 0; - STACKTOP = sp;return ($$2|0); - } - } else { - $L$0$lcssa = $8; - } - } while(0); - $25 = ($L$0$lcssa|0)==(0); - $26 = $25&1; - $$2 = $26; - STACKTOP = sp;return ($$2|0); - } else { - $m$off = (($m) + -224)|0; - $64 = ($m$off>>>0)<(16); - $65 = ($m|0)==(254); - $or$cond3 = $64 | $65; - if (!($or$cond3)) { - $$2 = 0; - STACKTOP = sp;return ($$2|0); - } - $66 = HEAP32[$z>>2]|0; - $67 = (_stbi__get16be($66)|0); - $68 = (($67) + -2)|0; - _stbi__skip($66,$68); - $$2 = 1; - STACKTOP = sp;return ($$2|0); - } - return 0|0; -} -function _stbi__process_frame_header($z,$scan) { - $z = $z|0; - $scan = $scan|0; - var $$0 = 0, $$h_max$0 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0; - var $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0; - var $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0; - var $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0; - var $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0; - var $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0; - var $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0; - var $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $h_max$0$lcssa = 0, $h_max$012 = 0, $i$022 = 0, $i$1 = 0, $i$211 = 0, $i$37 = 0, $i$45 = 0, $i$45$in = 0; - var $or$cond = 0, $or$cond2 = 0, $or$cond3 = 0, $v_max$0$lcssa = 0, $v_max$013 = 0, $v_max$1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[$z>>2]|0; - $1 = (_stbi__get16be($0)|0); - $2 = ($1|0)<(11); - if ($2) { - _stbi__err(13384); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $3 = (_stbi__get8($0)|0); - $4 = ($3<<24>>24)==(8); - if (!($4)) { - _stbi__err(13400); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $5 = (_stbi__get16be($0)|0); - $6 = (($0) + 4|0); - HEAP32[$6>>2] = $5; - $7 = ($5|0)==(0); - if ($7) { - _stbi__err(13416); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $8 = (_stbi__get16be($0)|0); - HEAP32[$0>>2] = $8; - $9 = ($8|0)==(0); - if ($9) { - _stbi__err(13440); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $10 = (_stbi__get8($0)|0); - $11 = $10&255; - if (!((($10<<24>>24) == 1) | (($10<<24>>24) == 3))) { - _stbi__err(13448); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $12 = (($0) + 8|0); - HEAP32[$12>>2] = $11; - $i$022 = 0; - while(1) { - $13 = ((($z) + (($i$022*72)|0)|0) + 17864|0); - HEAP32[$13>>2] = 0; - $14 = ((($z) + (($i$022*72)|0)|0) + 17876|0); - HEAP32[$14>>2] = 0; - $15 = (($i$022) + 1)|0; - $16 = ($15|0)<($11|0); - if ($16) { - $i$022 = $15; - } else { - break; - } - } - $17 = HEAP32[$12>>2]|0; - $18 = ($17*3)|0; - $19 = (($18) + 8)|0; - $20 = ($1|0)==($19|0); - if ($20) { - $i$1 = 0; - } else { - _stbi__err(13384); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - while(1) { - $21 = HEAP32[$12>>2]|0; - $22 = ($i$1|0)<($21|0); - if (!($22)) { - label = 24; - break; - } - $23 = (_stbi__get8($0)|0); - $24 = $23&255; - $25 = ((($z) + (($i$1*72)|0)|0) + 17820|0); - HEAP32[$25>>2] = $24; - $26 = (($i$1) + 1)|0; - $27 = ($24|0)==($26|0); - $28 = ($24|0)==($i$1|0); - $or$cond = $27 | $28; - if (!($or$cond)) { - label = 17; - break; - } - $29 = (_stbi__get8($0)|0); - $30 = $29&255; - $31 = $30 >>> 4; - $32 = ((($z) + (($i$1*72)|0)|0) + 17824|0); - HEAP32[$32>>2] = $31; - $33 = ($31|0)==(0); - $34 = ($29&255)>(79); - $or$cond2 = $33 | $34; - if ($or$cond2) { - label = 19; - break; - } - $35 = $30 & 15; - $36 = ((($z) + (($i$1*72)|0)|0) + 17828|0); - HEAP32[$36>>2] = $35; - $37 = ($35|0)==(0); - $38 = ($35>>>0)>(4); - $or$cond3 = $37 | $38; - if ($or$cond3) { - label = 21; - break; - } - $39 = (_stbi__get8($0)|0); - $40 = $39&255; - $41 = ((($z) + (($i$1*72)|0)|0) + 17832|0); - HEAP32[$41>>2] = $40; - $42 = ($39&255)>(3); - if ($42) { - label = 23; - break; - } else { - $i$1 = $26; - } - } - if ((label|0) == 17) { - _stbi__err(13472); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - else if ((label|0) == 19) { - _stbi__err(13496); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - else if ((label|0) == 21) { - _stbi__err(13504); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - else if ((label|0) == 23) { - _stbi__err(13512); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - else if ((label|0) == 24) { - $43 = ($scan|0)==(0); - if (!($43)) { - $$0 = 1; - STACKTOP = sp;return ($$0|0); - } - $44 = HEAP32[$0>>2]|0; - $45 = (1073741824 / ($44>>>0))&-1; - $46 = (($45>>>0) / ($21>>>0))&-1; - $47 = HEAP32[$6>>2]|0; - $48 = ($46>>>0)<($47>>>0); - if ($48) { - _stbi__err(12568); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $49 = HEAP32[$12>>2]|0; - $50 = ($49|0)>(0); - if ($50) { - $51 = HEAP32[$12>>2]|0; - $h_max$012 = 1;$i$211 = 0;$v_max$013 = 1; - while(1) { - $52 = ((($z) + (($i$211*72)|0)|0) + 17824|0); - $53 = HEAP32[$52>>2]|0; - $54 = ($53|0)>($h_max$012|0); - $$h_max$0 = $54 ? $53 : $h_max$012; - $55 = ((($z) + (($i$211*72)|0)|0) + 17828|0); - $56 = HEAP32[$55>>2]|0; - $57 = ($56|0)>($v_max$013|0); - $v_max$1 = $57 ? $56 : $v_max$013; - $58 = (($i$211) + 1)|0; - $59 = ($58|0)<($51|0); - if ($59) { - $h_max$012 = $$h_max$0;$i$211 = $58;$v_max$013 = $v_max$1; - } else { - $h_max$0$lcssa = $$h_max$0;$v_max$0$lcssa = $v_max$1; - break; - } - } - } else { - $h_max$0$lcssa = 1;$v_max$0$lcssa = 1; - } - $60 = (($z) + 17796|0); - HEAP32[$60>>2] = $h_max$0$lcssa; - $61 = (($z) + 17800|0); - HEAP32[$61>>2] = $v_max$0$lcssa; - $62 = $h_max$0$lcssa << 3; - $63 = (($z) + 17812|0); - HEAP32[$63>>2] = $62; - $64 = $v_max$0$lcssa << 3; - $65 = (($z) + 17816|0); - HEAP32[$65>>2] = $64; - $66 = HEAP32[$0>>2]|0; - $67 = HEAP32[$63>>2]|0; - $68 = (($66) + -1)|0; - $69 = (($68) + ($67))|0; - $70 = (($69>>>0) / ($67>>>0))&-1; - $71 = (($z) + 17804|0); - HEAP32[$71>>2] = $70; - $72 = HEAP32[$6>>2]|0; - $73 = HEAP32[$65>>2]|0; - $74 = (($72) + -1)|0; - $75 = (($74) + ($73))|0; - $76 = (($75>>>0) / ($73>>>0))&-1; - $77 = (($z) + 17808|0); - HEAP32[$77>>2] = $76; - $78 = HEAP32[$12>>2]|0; - $79 = ($78|0)>(0); - if (!($79)) { - $$0 = 1; - STACKTOP = sp;return ($$0|0); - } - $80 = (($h_max$0$lcssa) + -1)|0; - $81 = (($v_max$0$lcssa) + -1)|0; - $82 = (($z) + 18124|0); - $i$37 = 0; - while(1) { - $83 = HEAP32[$0>>2]|0; - $84 = ((($z) + (($i$37*72)|0)|0) + 17824|0); - $85 = HEAP32[$84>>2]|0; - $86 = Math_imul($85, $83)|0; - $87 = (($80) + ($86))|0; - $88 = (($87>>>0) / ($h_max$0$lcssa>>>0))&-1; - $89 = ((($z) + (($i$37*72)|0)|0) + 17848|0); - HEAP32[$89>>2] = $88; - $90 = HEAP32[$6>>2]|0; - $91 = ((($z) + (($i$37*72)|0)|0) + 17828|0); - $92 = HEAP32[$91>>2]|0; - $93 = Math_imul($92, $90)|0; - $94 = (($81) + ($93))|0; - $95 = (($94>>>0) / ($v_max$0$lcssa>>>0))&-1; - $96 = ((($z) + (($i$37*72)|0)|0) + 17852|0); - HEAP32[$96>>2] = $95; - $97 = HEAP32[$71>>2]|0; - $98 = HEAP32[$84>>2]|0; - $99 = $97 << 3; - $100 = Math_imul($99, $98)|0; - $101 = ((($z) + (($i$37*72)|0)|0) + 17856|0); - HEAP32[$101>>2] = $100; - $102 = HEAP32[$77>>2]|0; - $103 = HEAP32[$91>>2]|0; - $104 = $102 << 3; - $105 = Math_imul($104, $103)|0; - $106 = ((($z) + (($i$37*72)|0)|0) + 17860|0); - HEAP32[$106>>2] = $105; - $107 = HEAP32[$101>>2]|0; - $108 = Math_imul($107, $105)|0; - $109 = (($108) + 15)|0; - $110 = (_stbi__malloc($109)|0); - $111 = ((($z) + (($i$37*72)|0)|0) + 17868|0); - HEAP32[$111>>2] = $110; - $112 = ($110|0)==(0|0); - if ($112) { - break; - } - $118 = $110; - $119 = (($118) + 15)|0; - $120 = $119 & -16; - $121 = $120; - $122 = ((($z) + (($i$37*72)|0)|0) + 17864|0); - HEAP32[$122>>2] = $121; - $123 = ((($z) + (($i$37*72)|0)|0) + 17876|0); - HEAP32[$123>>2] = 0; - $124 = HEAP32[$82>>2]|0; - $125 = ($124|0)==(0); - if ($125) { - $145 = ((($z) + (($i$37*72)|0)|0) + 17880|0); - HEAP32[$145>>2] = 0; - $146 = ((($z) + (($i$37*72)|0)|0) + 17872|0); - HEAP32[$146>>2] = 0; - } else { - $126 = HEAP32[$101>>2]|0; - $127 = (($126) + 7)|0; - $128 = $127 >> 3; - $129 = ((($z) + (($i$37*72)|0)|0) + 17884|0); - HEAP32[$129>>2] = $128; - $130 = HEAP32[$106>>2]|0; - $131 = (($130) + 7)|0; - $132 = $131 >> 3; - $133 = ((($z) + (($i$37*72)|0)|0) + 17888|0); - HEAP32[$133>>2] = $132; - $134 = HEAP32[$129>>2]|0; - $135 = $134 << 7; - $136 = Math_imul($135, $132)|0; - $137 = $136 | 15; - $138 = (_malloc($137)|0); - $139 = ((($z) + (($i$37*72)|0)|0) + 17872|0); - HEAP32[$139>>2] = $138; - $140 = $138; - $141 = (($140) + 15)|0; - $142 = $141 & -16; - $143 = $142; - $144 = ((($z) + (($i$37*72)|0)|0) + 17880|0); - HEAP32[$144>>2] = $143; - } - $147 = (($i$37) + 1)|0; - $148 = HEAP32[$12>>2]|0; - $149 = ($147|0)<($148|0); - if ($149) { - $i$37 = $147; - } else { - $$0 = 1; - label = 40; - break; - } - } - if ((label|0) == 40) { - STACKTOP = sp;return ($$0|0); - } - $113 = ($i$37|0)>(0); - if ($113) { - $i$45$in = $i$37; - while(1) { - $i$45 = (($i$45$in) + -1)|0; - $114 = ((($z) + (($i$45*72)|0)|0) + 17868|0); - $115 = HEAP32[$114>>2]|0; - _free($115); - $116 = ((($z) + (($i$45*72)|0)|0) + 17864|0); - HEAP32[$116>>2] = 0; - $117 = ($i$45|0)>(0); - if ($117) { - $i$45$in = $i$45; - } else { - break; - } - } - } - _stbi__err(12832); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - return 0|0; -} -function _stbi__build_huffman($h,$count) { - $h = $h|0; - $count = $count|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; - var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $code$012 = 0, $code$1$lcssa = 0, $code$16 = 0, $code$2 = 0, $exitcond = 0, $exitcond26 = 0, $i$022 = 0; - var $i$13 = 0, $j$017 = 0, $j$113 = 0, $k$021 = 0, $k$1$lcssa = 0, $k$116 = 0, $k$211 = 0, $k$3$lcssa = 0, $k$35 = 0, $k$4 = 0, $scevgep = 0, label = 0, sp = 0; - sp = STACKTOP; - $i$022 = 0;$k$021 = 0; - while(1) { - $1 = (($count) + ($i$022<<2)|0); - $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)>(0); - $0 = (($i$022) + 1)|0; - if ($3) { - $4 = $0&255; - $j$017 = 0;$k$116 = $k$021; - while(1) { - $5 = (($k$116) + 1)|0; - $6 = ((($h) + ($k$116)|0) + 1280|0); - HEAP8[$6>>0] = $4; - $7 = (($j$017) + 1)|0; - $8 = HEAP32[$1>>2]|0; - $9 = ($7|0)<($8|0); - if ($9) { - $j$017 = $7;$k$116 = $5; - } else { - $k$1$lcssa = $5; - break; - } - } - } else { - $k$1$lcssa = $k$021; - } - $exitcond26 = ($0|0)==(16); - if ($exitcond26) { - break; - } else { - $i$022 = $0;$k$021 = $k$1$lcssa; - } - } - $10 = ((($h) + ($k$1$lcssa)|0) + 1280|0); - HEAP8[$10>>0] = 0; - $code$012 = 0;$j$113 = 1;$k$211 = 0; - while(1) { - $11 = (($k$211) - ($code$012))|0; - $12 = ((($h) + ($j$113<<2)|0) + 1612|0); - HEAP32[$12>>2] = $11; - $13 = ((($h) + ($k$211)|0) + 1280|0); - $14 = HEAP8[$13>>0]|0; - $15 = $14&255; - $16 = ($15|0)==($j$113|0); - if ($16) { - $17 = ((($h) + ($k$211)|0) + 1280|0); - $18 = HEAP8[$17>>0]|0; - $19 = $18&255; - $20 = ($19|0)==($j$113|0); - if ($20) { - $code$16 = $code$012;$k$35 = $k$211; - while(1) { - $21 = (($code$16) + 1)|0; - $22 = $code$16&65535; - $23 = (($k$35) + 1)|0; - $24 = ((($h) + ($k$35<<1)|0) + 512|0); - HEAP16[$24>>1] = $22; - $25 = ((($h) + ($23)|0) + 1280|0); - $26 = HEAP8[$25>>0]|0; - $27 = $26&255; - $28 = ($27|0)==($j$113|0); - if ($28) { - $code$16 = $21;$k$35 = $23; - } else { - $code$1$lcssa = $21;$k$3$lcssa = $23; - break; - } - } - } else { - $code$1$lcssa = $code$012;$k$3$lcssa = $k$211; - } - $29 = 1 << $j$113; - $30 = ($code$1$lcssa|0)>($29|0); - if ($30) { - label = 11; - break; - } else { - $code$2 = $code$1$lcssa;$k$4 = $k$3$lcssa; - } - } else { - $code$2 = $code$012;$k$4 = $k$211; - } - $31 = (16 - ($j$113))|0; - $32 = $code$2 << $31; - $33 = ((($h) + ($j$113<<2)|0) + 1540|0); - HEAP32[$33>>2] = $32; - $34 = $code$2 << 1; - $35 = (($j$113) + 1)|0; - $36 = ($35|0)<(17); - if ($36) { - $code$012 = $34;$j$113 = $35;$k$211 = $k$4; - } else { - break; - } - } - if ((label|0) == 11) { - _stbi__err(13680); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $37 = ((($h) + ($35<<2)|0) + 1540|0); - HEAP32[$37>>2] = -1; - _memset(($h|0),-1,512)|0; - $38 = ($k$4|0)>(0); - if ($38) { - $i$13 = 0; - } else { - $$0 = 1; - STACKTOP = sp;return ($$0|0); - } - while(1) { - $39 = ((($h) + ($i$13)|0) + 1280|0); - $40 = HEAP8[$39>>0]|0; - $41 = ($40&255)<(10); - if ($41) { - $42 = $40&255; - $43 = (9 - ($42))|0; - $44 = 1 << $43; - $45 = ($44|0)>(0); - if ($45) { - $46 = ((($h) + ($i$13<<1)|0) + 512|0); - $47 = HEAP16[$46>>1]|0; - $48 = $47&65535; - $49 = $48 << $43; - $50 = $i$13&255; - $scevgep = (($h) + ($49)|0); - _memset(($scevgep|0),($50|0),($44|0))|0; - } - } - $51 = (($i$13) + 1)|0; - $exitcond = ($51|0)==($k$4|0); - if ($exitcond) { - $$0 = 1; - break; - } else { - $i$13 = $51; - } - } - STACKTOP = sp;return ($$0|0); -} -function _stbi__build_fast_ac($fast_ac,$h) { - $fast_ac = $fast_ac|0; - $h = $h|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $i$02 = 0, $k$0 = 0, $k$0$off = 0, label = 0, sp = 0; - sp = STACKTOP; - $i$02 = 0; - while(1) { - $0 = (($h) + ($i$02)|0); - $1 = HEAP8[$0>>0]|0; - $2 = (($fast_ac) + ($i$02<<1)|0); - HEAP16[$2>>1] = 0; - $3 = $1&255; - $4 = ($1<<24>>24)==(-1); - if (!($4)) { - $5 = ((($h) + ($3)|0) + 1024|0); - $6 = HEAP8[$5>>0]|0; - $7 = $6&255; - $8 = $7 & 240; - $9 = $7 & 15; - $10 = ((($h) + ($3)|0) + 1280|0); - $11 = HEAP8[$10>>0]|0; - $12 = $11&255; - $13 = ($9|0)==(0); - if (!($13)) { - $14 = (($12) + ($9))|0; - $15 = ($14|0)<(10); - if ($15) { - $16 = $i$02 << $12; - $17 = $16 & 511; - $18 = (9 - ($9))|0; - $19 = $17 >>> $18; - $20 = (($9) + -1)|0; - $21 = 1 << $20; - $22 = ($19|0)<($21|0); - if ($22) { - $23 = -1 << $9; - $24 = (($23) + 1)|0; - $25 = (($24) + ($19))|0; - $k$0 = $25; - } else { - $k$0 = $19; - } - $k$0$off = (($k$0) + 128)|0; - $26 = ($k$0$off>>>0)<(256); - if ($26) { - $27 = $k$0 << 8; - $28 = $27 | $8; - $29 = (($28) + ($14))|0; - $30 = $29&65535; - HEAP16[$2>>1] = $30; - } - } - } - } - $31 = (($i$02) + 1)|0; - $exitcond = ($31|0)==(512); - if ($exitcond) { - break; - } else { - $i$02 = $31; - } - } - STACKTOP = sp;return; -} -function _stbi__parse_zlib($a,$parse_header) { - $a = $a|0; - $parse_header = $parse_header|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0; - var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ($parse_header|0)==(0); - if ($0) { - label = 3; - } else { - $1 = (_stbi__parse_zlib_header($a)|0); - $2 = ($1|0)==(0); - if ($2) { - $$0 = 0; - } else { - label = 3; - } - } - L3: do { - if ((label|0) == 3) { - $3 = (($a) + 8|0); - HEAP32[$3>>2] = 0; - $4 = (($a) + 12|0); - HEAP32[$4>>2] = 0; - $5 = (($a) + 2052|0); - $6 = (($a) + 32|0); - while(1) { - $7 = (_stbi__zreceive($a,1)|0); - $8 = (_stbi__zreceive($a,2)|0); - if ((($8|0) == 3)) { - $$0 = 0; - break L3; - } else if ((($8|0) == 1)) { - $11 = HEAP8[((13704 + 31|0))>>0]|0; - $12 = ($11<<24>>24)==(0); - if ($12) { - _stbi__init_zdefaults(); - } - $13 = (_stbi__zbuild_huffman($6,13736,288)|0); - $14 = ($13|0)==(0); - if ($14) { - $$0 = 0; - break L3; - } - $15 = (_stbi__zbuild_huffman($5,13704,32)|0); - $16 = ($15|0)==(0); - if ($16) { - $$0 = 0; - break L3; - } else { - label = 11; - } - } else if ((($8|0) == 0)) { - $9 = (_stbi__parse_uncomperssed_block($a)|0); - $10 = ($9|0)==(0); - if ($10) { - $$0 = 0; - break L3; - } - } else { - $17 = (_stbi__compute_huffman_codes($a)|0); - $18 = ($17|0)==(0); - if ($18) { - $$0 = 0; - break L3; - } else { - label = 11; - } - } - if ((label|0) == 11) { - label = 0; - $19 = (_stbi__parse_huffman_block($a)|0); - $20 = ($19|0)==(0); - if ($20) { - $$0 = 0; - break L3; - } - } - $21 = ($7|0)==(0); - if (!($21)) { - $$0 = 1; - break; - } - } - } - } while(0); - STACKTOP = sp;return ($$0|0); -} -function _stbi__parse_zlib_header($a) { - $a = $a|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_stbi__zget8($a)|0); - $1 = $0&255; - $2 = $1 & 15; - $3 = (_stbi__zget8($a)|0); - $4 = $3&255; - $5 = $1 << 8; - $6 = $5 | $4; - $7 = (($6>>>0) % 31)&-1; - $8 = ($7|0)==(0); - do { - if ($8) { - $9 = $4 & 32; - $10 = ($9|0)==(0); - if (!($10)) { - _stbi__err(15008); - $$0 = 0; - break; - } - $11 = ($2|0)==(8); - if ($11) { - $$0 = 1; - } else { - _stbi__err(15024); - $$0 = 0; - } - } else { - _stbi__err(14992); - $$0 = 0; - } - } while(0); - STACKTOP = sp;return ($$0|0); -} -function _stbi__zreceive($z,$n) { - $z = $z|0; - $n = $n|0; - var $0 = 0, $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (($z) + 8|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)<($n|0); - if ($2) { - _stbi__fill_bits($z); - } - $3 = (($z) + 12|0); - $4 = HEAP32[$3>>2]|0; - $5 = 1 << $n; - $6 = (($5) + -1)|0; - $7 = $4 & $6; - $8 = $4 >>> $n; - HEAP32[$3>>2] = $8; - $9 = HEAP32[$0>>2]|0; - $10 = (($9) - ($n))|0; - HEAP32[$0>>2] = $10; - STACKTOP = sp;return ($7|0); -} -function _stbi__parse_uncomperssed_block($a) { - $a = $a|0; - var $$0 = 0, $$lcssa = 0, $$ph = 0, $$pr = 0, $$promoted = 0, $$promoted7 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0; - var $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0; - var $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0; - var $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $header = 0, $k$0$lcssa = 0, $k$03 = 0, $k$11 = 0, $smax = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); - $header = sp; - $0 = (($a) + 8|0); - $1 = HEAP32[$0>>2]|0; - $2 = $1 & 7; - $3 = ($2|0)==(0); - if ($3) { - $$ph = $1; - } else { - (_stbi__zreceive($a,$2)|0); - $$pr = HEAP32[$0>>2]|0; - $$ph = $$pr; - } - $4 = ($$ph|0)>(0); - if ($4) { - $5 = (($a) + 12|0); - $$promoted = HEAP32[$5>>2]|0; - $$promoted7 = HEAP32[$0>>2]|0; - $6 = (($$promoted7) + -8)|0; - $7 = (7 - ($$promoted7))|0; - $8 = ($7|0)>(-1); - $smax = $8 ? $7 : -1; - $9 = (($$promoted7) + ($smax))|0; - $10 = $9 >>> 3; - $11 = $10 << 3; - $12 = (($6) - ($11))|0; - $14 = $$promoted;$19 = $$promoted7;$k$03 = 0; - while(1) { - $13 = $14&255; - $15 = (($k$03) + 1)|0; - $16 = (($header) + ($k$03)|0); - HEAP8[$16>>0] = $13; - $17 = $14 >>> 8; - $18 = (($19) + -8)|0; - $20 = ($18|0)>(0); - if ($20) { - $14 = $17;$19 = $18;$k$03 = $15; - } else { - break; - } - } - $21 = (($10) + 1)|0; - HEAP32[$5>>2] = $17; - HEAP32[$0>>2] = $12; - $$lcssa = $12;$k$0$lcssa = $21; - } else { - $$lcssa = $$ph;$k$0$lcssa = 0; - } - $22 = ($$lcssa|0)==(0); - if (!($22)) { - ___assert_fail((14896|0),(12928|0),3627,(14920|0)); - // unreachable; - } - $23 = ($k$0$lcssa|0)<(4); - if ($23) { - $k$11 = $k$0$lcssa; - while(1) { - $24 = (_stbi__zget8($a)|0); - $25 = (($k$11) + 1)|0; - $26 = (($header) + ($k$11)|0); - HEAP8[$26>>0] = $24; - $exitcond = ($25|0)==(4); - if ($exitcond) { - break; - } else { - $k$11 = $25; - } - } - } - $27 = (($header) + 1|0); - $28 = HEAP8[$27>>0]|0; - $29 = $28&255; - $30 = $29 << 8; - $31 = HEAP8[$header>>0]|0; - $32 = $31&255; - $33 = $30 | $32; - $34 = (($header) + 3|0); - $35 = HEAP8[$34>>0]|0; - $36 = $35&255; - $37 = $36 << 8; - $38 = (($header) + 2|0); - $39 = HEAP8[$38>>0]|0; - $40 = $39&255; - $41 = $37 | $40; - $42 = $33 ^ 65535; - $43 = ($41|0)==($42|0); - if (!($43)) { - _stbi__err(14952); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $44 = HEAP32[$a>>2]|0; - $45 = (($44) + ($33)|0); - $46 = (($a) + 4|0); - $47 = HEAP32[$46>>2]|0; - $48 = ($45>>>0)>($47>>>0); - if ($48) { - _stbi__err(14968); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $49 = (($a) + 16|0); - $50 = HEAP32[$49>>2]|0; - $51 = (($50) + ($33)|0); - $52 = (($a) + 24|0); - $53 = HEAP32[$52>>2]|0; - $54 = ($51>>>0)>($53>>>0); - if ($54) { - $55 = (_stbi__zexpand($a,$50,$33)|0); - $56 = ($55|0)==(0); - if ($56) { - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - } - $57 = HEAP32[$49>>2]|0; - $58 = HEAP32[$a>>2]|0; - _memcpy(($57|0),($58|0),($33|0))|0; - $59 = HEAP32[$a>>2]|0; - $60 = (($59) + ($33)|0); - HEAP32[$a>>2] = $60; - $61 = HEAP32[$49>>2]|0; - $62 = (($61) + ($33)|0); - HEAP32[$49>>2] = $62; - $$0 = 1; - STACKTOP = sp;return ($$0|0); -} -function _stbi__init_zdefaults() { - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, dest = 0, label = 0, sp = 0, stop = 0; - sp = STACKTOP; - _memset((13736|0),8,144)|0; - dest=((13736 + 144|0))+0|0; stop=dest+112|0; do { HEAP8[dest>>0]=9|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); - dest=((13736 + 256|0))+0|0; stop=dest+24|0; do { HEAP8[dest>>0]=7|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); - $0 = ((13736 + 280|0)); - $1 = $0; - HEAP8[$1>>0]=134744072&255;HEAP8[$1+1>>0]=(134744072>>8)&255;HEAP8[$1+2>>0]=(134744072>>16)&255;HEAP8[$1+3>>0]=134744072>>24; - $2 = (($0) + 4)|0; - $3 = $2; - HEAP8[$3>>0]=134744072&255;HEAP8[$3+1>>0]=(134744072>>8)&255;HEAP8[$3+2>>0]=(134744072>>16)&255;HEAP8[$3+3>>0]=134744072>>24; - dest=13704+0|0; stop=dest+32|0; do { HEAP8[dest>>0]=5|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; -} -function _stbi__zbuild_huffman($z,$sizelist,$num) { - $z = $z|0; - $sizelist = $sizelist|0; - $num = $num|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; - var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0; - var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $7 = 0, $8 = 0, $9 = 0, $code$06 = 0, $exitcond = 0, $exitcond12 = 0, $i$010 = 0, $i$19 = 0, $i$28 = 0, $i$34 = 0, $k$07 = 0, $k1$02 = 0, $next_code = 0, $or$cond = 0, $sizes = 0, dest = 0; - var label = 0, sp = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 144|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); - $next_code = sp + 72|0; - $sizes = sp; - dest=$sizes+0|0; stop=dest+68|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - _memset(($z|0),0,1024)|0; - $0 = ($num|0)>(0); - if ($0) { - $i$010 = 0; - while(1) { - $1 = (($sizelist) + ($i$010)|0); - $2 = HEAP8[$1>>0]|0; - $3 = $2&255; - $4 = (($sizes) + ($3<<2)|0); - $5 = HEAP32[$4>>2]|0; - $6 = (($5) + 1)|0; - HEAP32[$4>>2] = $6; - $7 = (($i$010) + 1)|0; - $exitcond12 = ($7|0)==($num|0); - if ($exitcond12) { - break; - } else { - $i$010 = $7; - } - } - } - HEAP32[$sizes>>2] = 0; - $i$19 = 1; - while(1) { - $10 = (($sizes) + ($i$19<<2)|0); - $11 = HEAP32[$10>>2]|0; - $12 = 1 << $i$19; - $13 = ($11|0)>($12|0); - $9 = (($i$19) + 1)|0; - if ($13) { - label = 6; - break; - } - $8 = ($9|0)<(16); - if ($8) { - $i$19 = $9; - } else { - $code$06 = 0;$i$28 = 1;$k$07 = 0; - break; - } - } - if ((label|0) == 6) { - ___assert_fail((14848|0),(12928|0),3383,(14872|0)); - // unreachable; - } - while(1) { - $14 = (($next_code) + ($i$28<<2)|0); - HEAP32[$14>>2] = $code$06; - $15 = $code$06&65535; - $16 = ((($z) + ($i$28<<1)|0) + 1024|0); - HEAP16[$16>>1] = $15; - $17 = $k$07&65535; - $18 = ((($z) + ($i$28<<1)|0) + 1124|0); - HEAP16[$18>>1] = $17; - $19 = (($sizes) + ($i$28<<2)|0); - $20 = HEAP32[$19>>2]|0; - $21 = (($20) + ($code$06))|0; - $22 = ($20|0)!=(0); - $23 = 1 << $i$28; - $24 = ($21|0)>($23|0); - $or$cond = $22 & $24; - if ($or$cond) { - label = 8; - break; - } - $25 = (16 - ($i$28))|0; - $26 = $21 << $25; - $27 = ((($z) + ($i$28<<2)|0) + 1056|0); - HEAP32[$27>>2] = $26; - $28 = $21 << 1; - $29 = HEAP32[$19>>2]|0; - $30 = (($29) + ($k$07))|0; - $31 = (($i$28) + 1)|0; - $32 = ($31|0)<(16); - if ($32) { - $code$06 = $28;$i$28 = $31;$k$07 = $30; - } else { - break; - } - } - if ((label|0) == 8) { - _stbi__err(14832); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $33 = (($z) + 1120|0); - HEAP32[$33>>2] = 65536; - $34 = ($num|0)>(0); - if ($34) { - $i$34 = 0; - } else { - $$0 = 1; - STACKTOP = sp;return ($$0|0); - } - while(1) { - $35 = (($sizelist) + ($i$34)|0); - $36 = HEAP8[$35>>0]|0; - $37 = $36&255; - $38 = ($36<<24>>24)==(0); - if (!($38)) { - $39 = (($next_code) + ($37<<2)|0); - $40 = HEAP32[$39>>2]|0; - $41 = ((($z) + ($37<<1)|0) + 1024|0); - $42 = HEAP16[$41>>1]|0; - $43 = $42&65535; - $44 = (($40) - ($43))|0; - $45 = ((($z) + ($37<<1)|0) + 1124|0); - $46 = HEAP16[$45>>1]|0; - $47 = $46&65535; - $48 = (($44) + ($47))|0; - $49 = $37 << 9; - $50 = $49 | $i$34; - $51 = $50&65535; - $52 = ((($z) + ($48)|0) + 1156|0); - HEAP8[$52>>0] = $36; - $53 = $i$34&65535; - $54 = ((($z) + ($48<<1)|0) + 1444|0); - HEAP16[$54>>1] = $53; - $55 = ($36&255)<(10); - if ($55) { - $56 = HEAP32[$39>>2]|0; - $57 = (_stbi__bit_reverse($56,$37)|0); - $58 = ($57|0)<(512); - if ($58) { - $59 = 1 << $37; - $k1$02 = $57; - while(1) { - $60 = (($z) + ($k1$02<<1)|0); - HEAP16[$60>>1] = $51; - $61 = (($k1$02) + ($59))|0; - $62 = ($61|0)<(512); - if ($62) { - $k1$02 = $61; - } else { - break; - } - } - } - } - $63 = HEAP32[$39>>2]|0; - $64 = (($63) + 1)|0; - HEAP32[$39>>2] = $64; - } - $65 = (($i$34) + 1)|0; - $exitcond = ($65|0)==($num|0); - if ($exitcond) { - $$0 = 1; - break; - } else { - $i$34 = $65; - } - } - STACKTOP = sp;return ($$0|0); -} -function _stbi__compute_huffman_codes($a) { - $a = $a|0; - var $$ = 0, $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; - var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0; - var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $codelength_sizes = 0, $exitcond = 0, $i$08 = 0, $lencodes = 0, $n$0$be = 0, $n$0$lcssa = 0, $n$06 = 0, $not$ = 0, $z_codelength = 0, dest = 0; - var label = 0, sp = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 2496|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); - $z_codelength = sp; - $lencodes = sp + 2039|0; - $codelength_sizes = sp + 2020|0; - $0 = (_stbi__zreceive($a,5)|0); - $1 = (($0) + 257)|0; - $2 = (_stbi__zreceive($a,5)|0); - $3 = (($2) + 1)|0; - $4 = (_stbi__zreceive($a,4)|0); - $5 = (($4) + 4)|0; - dest=$codelength_sizes+0|0; stop=dest+19|0; do { HEAP8[dest>>0]=0|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); - $6 = ($5|0)>(0); - if ($6) { - $i$08 = 0; - while(1) { - $7 = (_stbi__zreceive($a,3)|0); - $8 = $7&255; - $9 = (14744 + ($i$08)|0); - $10 = HEAP8[$9>>0]|0; - $11 = $10&255; - $12 = (($codelength_sizes) + ($11)|0); - HEAP8[$12>>0] = $8; - $13 = (($i$08) + 1)|0; - $14 = (($4) + 3)|0; - $exitcond = ($i$08|0)==($14|0); - if ($exitcond) { - break; - } else { - $i$08 = $13; - } - } - } - $15 = (_stbi__zbuild_huffman($z_codelength,$codelength_sizes,19)|0); - $16 = ($15|0)==(0); - if ($16) { - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $17 = (($3) + ($1))|0; - $18 = ($17|0)>(0); - L8: do { - if ($18) { - $n$06 = 0; - L9: while(1) { - $19 = (_stbi__zhuffman_decode($a,$z_codelength)|0); - $20 = ($19>>>0)<(19); - if (!($20)) { - label = 6; - break; - } - $21 = ($19|0)<(16); - do { - if ($21) { - $22 = $19&255; - $23 = (($n$06) + 1)|0; - $24 = (($lencodes) + ($n$06)|0); - HEAP8[$24>>0] = $22; - $n$0$be = $23; - } else { - if ((($19|0) == 17)) { - $33 = (_stbi__zreceive($a,3)|0); - $34 = (($33) + 3)|0; - $35 = (($lencodes) + ($n$06)|0); - _memset(($35|0),0,($34|0))|0; - $36 = (($34) + ($n$06))|0; - $n$0$be = $36; - break; - } else if ((($19|0) == 18)) { - $37 = (_stbi__zreceive($a,7)|0); - $38 = (($37) + 11)|0; - $39 = (($lencodes) + ($n$06)|0); - _memset(($39|0),0,($38|0))|0; - $40 = (($38) + ($n$06))|0; - $n$0$be = $40; - break; - } else if ((($19|0) == 16)) { - $25 = (_stbi__zreceive($a,2)|0); - $26 = (($25) + 3)|0; - $27 = (($lencodes) + ($n$06)|0); - $28 = (($n$06) + -1)|0; - $29 = (($lencodes) + ($28)|0); - $30 = HEAP8[$29>>0]|0; - _memset(($27|0),($30|0),($26|0))|0; - $31 = (($26) + ($n$06))|0; - $n$0$be = $31; - break; - } else { - label = 13; - break L9; - } - } - } while(0); - $32 = ($n$0$be|0)<($17|0); - if ($32) { - $n$06 = $n$0$be; - } else { - $n$0$lcssa = $n$0$be; - break L8; - } - } - if ((label|0) == 6) { - ___assert_fail((14768|0),(12928|0),3590,(14792|0)); - // unreachable; - } - else if ((label|0) == 13) { - ___assert_fail((14824|0),(12928|0),3602,(14792|0)); - // unreachable; - } - } else { - $n$0$lcssa = 0; - } - } while(0); - $41 = ($n$0$lcssa|0)==($17|0); - if (!($41)) { - _stbi__err(14832); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $42 = (($a) + 32|0); - $43 = (_stbi__zbuild_huffman($42,$lencodes,$1)|0); - $44 = ($43|0)==(0); - if ($44) { - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $45 = (($a) + 2052|0); - $46 = (($lencodes) + ($1)|0); - $47 = (_stbi__zbuild_huffman($45,$46,$3)|0); - $not$ = ($47|0)!=(0); - $$ = $not$&1; - $$0 = $$; - STACKTOP = sp;return ($$0|0); -} -function _stbi__parse_huffman_block($a) { - $a = $a|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; - var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $dist$0 = 0, $len$0 = 0; - var $len$2 = 0, $p$0 = 0, $scevgep = 0, $scevgep8 = 0, $zout$0 = 0, $zout$1 = 0, $zout$2 = 0, $zout$4 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (($a) + 16|0); - $1 = HEAP32[$0>>2]|0; - $2 = (($a) + 32|0); - $3 = (($a) + 24|0); - $4 = (($a) + 2052|0); - $5 = (($a) + 20|0); - $6 = (($a) + 24|0); - $zout$0 = $1; - while(1) { - $9 = (_stbi__zhuffman_decode($a,$2)|0); - $10 = ($9|0)<(256); - if ($10) { - $11 = ($9|0)<(0); - if ($11) { - label = 6; - break; - } - $12 = HEAP32[$3>>2]|0; - $13 = ($zout$0>>>0)<($12>>>0); - if ($13) { - $zout$1 = $zout$0; - } else { - $14 = (_stbi__zexpand($a,$zout$0,1)|0); - $15 = ($14|0)==(0); - if ($15) { - $$0 = 0; - label = 26; - break; - } - $16 = HEAP32[$0>>2]|0; - $zout$1 = $16; - } - $17 = $9&255; - $18 = (($zout$1) + 1|0); - HEAP8[$zout$1>>0] = $17; - $zout$0 = $18; - continue; - } - $19 = ($9|0)==(256); - if ($19) { - label = 12; - break; - } - $20 = (($9) + -257)|0; - $21 = (14048 + ($20<<2)|0); - $22 = HEAP32[$21>>2]|0; - $23 = (($9) + -265)|0; - $24 = ($23>>>0)<(20); - if ($24) { - $25 = (14176 + ($20<<2)|0); - $26 = HEAP32[$25>>2]|0; - $27 = (_stbi__zreceive($a,$26)|0); - $28 = (($27) + ($22))|0; - $len$0 = $28; - } else { - $len$0 = $22; - } - $29 = (_stbi__zhuffman_decode($a,$4)|0); - $30 = ($29|0)<(0); - if ($30) { - label = 16; - break; - } - $31 = (14304 + ($29<<2)|0); - $32 = HEAP32[$31>>2]|0; - $33 = (($29) + -4)|0; - $34 = ($33>>>0)<(26); - if ($34) { - $35 = (14432 + ($29<<2)|0); - $36 = HEAP32[$35>>2]|0; - $37 = (_stbi__zreceive($a,$36)|0); - $38 = (($37) + ($32))|0; - $dist$0 = $38; - } else { - $dist$0 = $32; - } - $39 = HEAP32[$5>>2]|0; - $40 = $zout$0; - $41 = $39; - $42 = (($40) - ($41))|0; - $43 = ($42|0)<($dist$0|0); - if ($43) { - label = 20; - break; - } - $44 = (($zout$0) + ($len$0)|0); - $45 = HEAP32[$6>>2]|0; - $46 = ($44>>>0)>($45>>>0); - if ($46) { - $47 = (_stbi__zexpand($a,$zout$0,$len$0)|0); - $48 = ($47|0)==(0); - if ($48) { - $$0 = 0; - label = 26; - break; - } - $49 = HEAP32[$0>>2]|0; - $zout$2 = $49; - } else { - $zout$2 = $zout$0; - } - $50 = (0 - ($dist$0))|0; - $8 = (($zout$2) + ($50)|0); - $51 = ($dist$0|0)==(1); - if ($51) { - $7 = HEAP8[$8>>0]|0; - _memset(($zout$2|0),($7|0),($len$0|0))|0; - $scevgep8 = (($zout$2) + ($len$0)|0); - $zout$0 = $scevgep8; - continue; - } else { - $len$2 = $len$0;$p$0 = $8;$zout$4 = $zout$2; - } - while(1) { - $52 = (($p$0) + 1|0); - $53 = HEAP8[$p$0>>0]|0; - $54 = (($zout$4) + 1|0); - HEAP8[$zout$4>>0] = $53; - $55 = (($len$2) + -1)|0; - $56 = ($55|0)==(0); - if ($56) { - break; - } else { - $len$2 = $55;$p$0 = $52;$zout$4 = $54; - } - } - $scevgep = (($zout$2) + ($len$0)|0); - $zout$0 = $scevgep; - } - if ((label|0) == 6) { - _stbi__err(14024); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - else if ((label|0) == 12) { - HEAP32[$0>>2] = $zout$0; - $$0 = 1; - STACKTOP = sp;return ($$0|0); - } - else if ((label|0) == 16) { - _stbi__err(14024); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - else if ((label|0) == 20) { - _stbi__err(14560); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - else if ((label|0) == 26) { - STACKTOP = sp;return ($$0|0); - } - return 0|0; -} -function _stbi__zhuffman_decode($a,$z) { - $a = $a|0; - $z = $z|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (($a) + 8|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)<(16); - if ($2) { - _stbi__fill_bits($a); - } - $3 = (($a) + 12|0); - $4 = HEAP32[$3>>2]|0; - $5 = $4 & 511; - $6 = (($z) + ($5<<1)|0); - $7 = HEAP16[$6>>1]|0; - $8 = $7&65535; - $9 = ($7<<16>>16)==(0); - if ($9) { - $15 = (_stbi__zhuffman_decode_slowpath($a,$z)|0); - $$0 = $15; - STACKTOP = sp;return ($$0|0); - } else { - $10 = $8 >>> 9; - $11 = $4 >>> $10; - HEAP32[$3>>2] = $11; - $12 = HEAP32[$0>>2]|0; - $13 = (($12) - ($10))|0; - HEAP32[$0>>2] = $13; - $14 = $8 & 511; - $$0 = $14; - STACKTOP = sp;return ($$0|0); - } - return 0|0; -} -function _stbi__zexpand($z,$zout,$n) { - $z = $z|0; - $zout = $zout|0; - $n = $n|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; - var $8 = 0, $9 = 0, $limit$0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (($z) + 16|0); - HEAP32[$0>>2] = $zout; - $1 = (($z) + 28|0); - $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)==(0); - if ($3) { - _stbi__err(14576); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $4 = (($z) + 20|0); - $5 = HEAP32[$4>>2]|0; - $6 = $zout; - $7 = $5; - $8 = (($6) - ($7))|0; - $9 = (($z) + 24|0); - $10 = HEAP32[$9>>2]|0; - $11 = $10; - $12 = (($11) - ($7))|0; - $13 = (($8) + ($n))|0; - $limit$0 = $12; - while(1) { - $14 = ($13|0)>($limit$0|0); - $15 = $limit$0 << 1; - if ($14) { - $limit$0 = $15; - } else { - break; - } - } - $16 = HEAP32[$4>>2]|0; - $17 = (_realloc($16,$limit$0)|0); - $18 = ($17|0)==(0|0); - if ($18) { - _stbi__err(12832); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } else { - HEAP32[$4>>2] = $17; - $19 = (($17) + ($8)|0); - HEAP32[$0>>2] = $19; - $20 = (($17) + ($limit$0)|0); - HEAP32[$9>>2] = $20; - $$0 = 1; - STACKTOP = sp;return ($$0|0); - } - return 0|0; -} -function _stbi__fill_bits($z) { - $z = $z|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (($z) + 12|0); - $1 = (($z) + 8|0); - while(1) { - $2 = HEAP32[$0>>2]|0; - $3 = HEAP32[$1>>2]|0; - $4 = 1 << $3; - $5 = ($2>>>0)<($4>>>0); - if (!($5)) { - label = 3; - break; - } - $6 = (_stbi__zget8($z)|0); - $7 = $6&255; - $8 = HEAP32[$1>>2]|0; - $9 = $7 << $8; - $10 = HEAP32[$0>>2]|0; - $11 = $10 | $9; - HEAP32[$0>>2] = $11; - $12 = HEAP32[$1>>2]|0; - $13 = (($12) + 8)|0; - HEAP32[$1>>2] = $13; - $14 = ($13|0)<(25); - if (!($14)) { - label = 5; - break; - } - } - if ((label|0) == 3) { - ___assert_fail((14688|0),(12928|0),3446,(14728|0)); - // unreachable; - } - else if ((label|0) == 5) { - STACKTOP = sp;return; - } -} -function _stbi__zhuffman_decode_slowpath($a,$z) { - $a = $a|0; - $z = $z|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $s$0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (($a) + 12|0); - $1 = HEAP32[$0>>2]|0; - $2 = (_stbi__bit_reverse($1,16)|0); - $s$0 = 10; - while(1) { - $3 = ((($z) + ($s$0<<2)|0) + 1056|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($2|0)<($4|0); - $6 = (($s$0) + 1)|0; - if ($5) { - break; - } else { - $s$0 = $6; - } - } - $7 = ($s$0|0)==(16); - if ($7) { - $$0 = -1; - STACKTOP = sp;return ($$0|0); - } - $8 = (16 - ($s$0))|0; - $9 = $2 >> $8; - $10 = ((($z) + ($s$0<<1)|0) + 1024|0); - $11 = HEAP16[$10>>1]|0; - $12 = $11&65535; - $13 = (($9) - ($12))|0; - $14 = ((($z) + ($s$0<<1)|0) + 1124|0); - $15 = HEAP16[$14>>1]|0; - $16 = $15&65535; - $17 = (($13) + ($16))|0; - $18 = ((($z) + ($17)|0) + 1156|0); - $19 = HEAP8[$18>>0]|0; - $20 = $19&255; - $21 = ($20|0)==($s$0|0); - if (!($21)) { - ___assert_fail((14600|0),(12928|0),3474,(14616|0)); - // unreachable; - } - $22 = HEAP32[$0>>2]|0; - $23 = $22 >>> $s$0; - HEAP32[$0>>2] = $23; - $24 = (($a) + 8|0); - $25 = HEAP32[$24>>2]|0; - $26 = (($25) - ($s$0))|0; - HEAP32[$24>>2] = $26; - $27 = ((($z) + ($17<<1)|0) + 1444|0); - $28 = HEAP16[$27>>1]|0; - $29 = $28&65535; - $$0 = $29; - STACKTOP = sp;return ($$0|0); -} -function _stbi__bit_reverse($v,$bits) { - $v = $v|0; - $bits = $bits|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ($bits|0)<(17); - if ($0) { - $1 = (_stbi__bitreverse16($v)|0); - $2 = (16 - ($bits))|0; - $3 = $1 >> $2; - STACKTOP = sp;return ($3|0); - } else { - ___assert_fail((14648|0),(12928|0),3365,(14664|0)); - // unreachable; - } - return 0|0; -} -function _stbi__bitreverse16($n) { - $n = $n|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; - var sp = 0; - sp = STACKTOP; - $0 = $n >>> 1; - $1 = $0 & 21845; - $2 = $n << 1; - $3 = $2 & 43690; - $4 = $1 | $3; - $5 = $4 >>> 2; - $6 = $5 & 13107; - $7 = $4 << 2; - $8 = $7 & 52428; - $9 = $6 | $8; - $10 = $9 >>> 4; - $11 = $10 & 3855; - $12 = $9 << 4; - $13 = $12 & 61680; - $14 = $11 | $13; - $15 = $14 >>> 8; - $16 = $14 << 8; - $17 = $16 & 65280; - $18 = $17 | $15; - STACKTOP = sp;return ($18|0); -} -function _stbi__zget8($z) { - $z = $z|0; - var $$0 = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[$z>>2]|0; - $1 = (($z) + 4|0); - $2 = HEAP32[$1>>2]|0; - $3 = ($0>>>0)<($2>>>0); - if (!($3)) { - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $4 = (($0) + 1|0); - HEAP32[$z>>2] = $4; - $5 = HEAP8[$0>>0]|0; - $$0 = $5; - STACKTOP = sp;return ($$0|0); -} -function _stbi__jpeg_test($s) { - $s = $s|0; - var $0 = 0, $j = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 18192|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); - $j = sp; - HEAP32[$j>>2] = $s; - _stbi__setup_jpeg($j); - $0 = (_stbi__decode_jpeg_header($j,1)|0); - _stbi__rewind($s); - STACKTOP = sp;return ($0|0); -} -function _stbi__jpeg_load($s,$x,$y,$comp,$req_comp) { - $s = $s|0; - $x = $x|0; - $y = $y|0; - $comp = $comp|0; - $req_comp = $req_comp|0; - var $0 = 0, $j = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 18192|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); - $j = sp; - HEAP32[$j>>2] = $s; - _stbi__setup_jpeg($j); - $0 = (_load_jpeg_image($j,$x,$y,$comp,$req_comp)|0); - STACKTOP = sp;return ($0|0); -} -function _stbi__png_test($s) { - $s = $s|0; - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_stbi__check_png_header($s)|0); - _stbi__rewind($s); - STACKTOP = sp;return ($0|0); -} -function _stbi__png_load($s,$x,$y,$comp,$req_comp) { - $s = $s|0; - $x = $x|0; - $y = $y|0; - $comp = $comp|0; - $req_comp = $req_comp|0; - var $0 = 0, $p = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); - $p = sp; - HEAP32[$p>>2] = $s; - $0 = (_stbi__do_png($p,$x,$y,$comp,$req_comp)|0); - STACKTOP = sp;return ($0|0); -} -function _stbi__bmp_test($s) { - $s = $s|0; - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_stbi__bmp_test_raw($s)|0); - _stbi__rewind($s); - STACKTOP = sp;return ($0|0); -} -function _stbi__bmp_load($s,$x,$y,$comp,$req_comp) { - $s = $s|0; - $x = $x|0; - $y = $y|0; - $comp = $comp|0; - $req_comp = $req_comp|0; - var $$ = 0, $$0 = 0, $$23 = 0, $$24 = 0, $$25 = 0, $$33 = 0, $$off = 0, $$sum = 0, $$sum20 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0; - var $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0; - var $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0; - var $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0; - var $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0; - var $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0; - var $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0; - var $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0; - var $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; - var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; - var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0; - var $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0; - var $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $acount$0 = 0, $ashift$0 = 0, $bcount$0 = 0; - var $bshift$0 = 0, $easy$034 = 0, $exitcond = 0, $gcount$0 = 0, $gshift$0 = 0, $i$149 = 0, $i$240 = 0, $i$360 = 0, $i$454 = 0, $i$536 = 0, $ispos = 0, $j$046 = 0, $j$165 = 0, $j$237 = 0, $ma$0 = 0, $ma$1 = 0, $mb$0 = 0, $mb$1 = 0, $mg$0 = 0, $mg$1 = 0; - var $mr$0 = 0, $mr$1 = 0, $neg = 0, $or$cond = 0, $or$cond19 = 0, $or$cond26 = 0, $or$cond27 = 0, $or$cond28 = 0, $or$cond29 = 0, $or$cond30 = 0, $or$cond31 = 0, $or$cond32 = 0, $out$0 = 0, $pal = 0, $phitmp21 = 0, $psize$0 = 0, $rcount$0 = 0, $req_comp$ = 0, $rshift$0 = 0, $v$0 = 0; - var $v2$0 = 0, $width$0 = 0, $width$1$ph = 0, $z$047 = 0, $z$141 = 0, $z$2 = 0, $z$3 = 0, $z$4 = 0, $z1$066 = 0, $z1$161 = 0, $z1$2 = 0, $z1$355 = 0, $z1$4 = 0, $z1$5 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 1024|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); - $pal = sp; - $0 = (_stbi__get8($s)|0); - $1 = ($0<<24>>24)==(66); - if ($1) { - $2 = (_stbi__get8($s)|0); - $3 = ($2<<24>>24)==(77); - if ($3) { - (_stbi__get32le($s)|0); - (_stbi__get16le($s)|0); - (_stbi__get16le($s)|0); - $4 = (_stbi__get32le($s)|0); - $5 = (_stbi__get32le($s)|0); - $6 = ($5|0)==(12); - switch ($5|0) { - case 12: case 40: case 56: case 108: case 124: { - break; - } - default: { - _stbi__err(15392); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - } - $7 = ($5|0)==(12); - if ($7) { - $8 = (_stbi__get16le($s)|0); - HEAP32[$s>>2] = $8; - $9 = (_stbi__get16le($s)|0); - $10 = (($s) + 4|0); - HEAP32[$10>>2] = $9; - } else { - $11 = (_stbi__get32le($s)|0); - HEAP32[$s>>2] = $11; - $12 = (_stbi__get32le($s)|0); - $13 = (($s) + 4|0); - HEAP32[$13>>2] = $12; - } - $14 = (_stbi__get16le($s)|0); - $15 = ($14|0)==(1); - if (!($15)) { - _stbi__err(15408); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $16 = (_stbi__get16le($s)|0); - $17 = ($16|0)==(1); - if ($17) { - _stbi__err(15416); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $18 = (($s) + 4|0); - $19 = HEAP32[$18>>2]|0; - $20 = ($19|0)>(0); - $ispos = ($19|0)>(-1); - $neg = (0 - ($19))|0; - $21 = $ispos ? $19 : $neg; - HEAP32[$18>>2] = $21; - if ($7) { - $22 = ($16|0)<(24); - if ($22) { - $23 = (($4) + -38)|0; - $24 = (($23|0) / 3)&-1; - $ma$1 = 0;$mb$1 = 0;$mg$1 = 0;$mr$1 = 0;$psize$0 = $24; - } else { - $ma$1 = 0;$mb$1 = 0;$mg$1 = 0;$mr$1 = 0;$psize$0 = 0; - } - } else { - $25 = (_stbi__get32le($s)|0); - $$off = (($25) + -1)|0; - $26 = ($$off>>>0)<(2); - if ($26) { - _stbi__err(15432); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - (_stbi__get32le($s)|0); - (_stbi__get32le($s)|0); - (_stbi__get32le($s)|0); - (_stbi__get32le($s)|0); - (_stbi__get32le($s)|0); - $27 = $5 & -17; - do { - if ((($27|0) == 40)) { - $28 = ($5|0)==(56); - if ($28) { - (_stbi__get32le($s)|0); - (_stbi__get32le($s)|0); - (_stbi__get32le($s)|0); - (_stbi__get32le($s)|0); - } - $29 = ($16|0)==(32); - if ((($16|0) == 16) | (($16|0) == 32)) { - if ((($25|0) == 3)) { - $30 = (_stbi__get32le($s)|0); - $31 = (_stbi__get32le($s)|0); - $32 = (_stbi__get32le($s)|0); - $33 = ($30|0)==($31|0); - $34 = ($31|0)==($32|0); - $or$cond = $33 & $34; - if (!($or$cond)) { - $ma$0 = 0;$mb$0 = $32;$mg$0 = $31;$mr$0 = $30; - break; - } - _stbi__err(15408); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } else if ((($25|0) == 0)) { - $$ = $29 ? -16777216 : 0; - $$23 = $29 ? 255 : 31; - $$24 = $29 ? 65280 : 992; - $$25 = $29 ? 16711680 : 31744; - $ma$0 = $$;$mb$0 = $$23;$mg$0 = $$24;$mr$0 = $$25; - break; - } else { - _stbi__err(15408); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - } else { - $ma$0 = 0;$mb$0 = 0;$mg$0 = 0;$mr$0 = 0; - } - } else if ((($27|0) == 108)) { - $35 = ($5|0)==(124); - $36 = (_stbi__get32le($s)|0); - $37 = (_stbi__get32le($s)|0); - $38 = (_stbi__get32le($s)|0); - $39 = (_stbi__get32le($s)|0); - (_stbi__get32le($s)|0); - (_stbi__get32le($s)|0); - (_stbi__get32le($s)|0); - (_stbi__get32le($s)|0); - (_stbi__get32le($s)|0); - (_stbi__get32le($s)|0); - (_stbi__get32le($s)|0); - (_stbi__get32le($s)|0); - (_stbi__get32le($s)|0); - (_stbi__get32le($s)|0); - (_stbi__get32le($s)|0); - (_stbi__get32le($s)|0); - (_stbi__get32le($s)|0); - if ($35) { - (_stbi__get32le($s)|0); - (_stbi__get32le($s)|0); - (_stbi__get32le($s)|0); - (_stbi__get32le($s)|0); - $ma$0 = $39;$mb$0 = $38;$mg$0 = $37;$mr$0 = $36; - } else { - $ma$0 = $39;$mb$0 = $38;$mg$0 = $37;$mr$0 = $36; - } - } else { - ___assert_fail((15440|0),(12928|0),4550,(15472|0)); - // unreachable; - } - } while(0); - $40 = ($16|0)<(16); - if ($40) { - $41 = (($4) + -14)|0; - $42 = (($41) - ($5))|0; - $43 = $42 >> 2; - $ma$1 = $ma$0;$mb$1 = $mb$0;$mg$1 = $mg$0;$mr$1 = $mr$0;$psize$0 = $43; - } else { - $ma$1 = $ma$0;$mb$1 = $mb$0;$mg$1 = $mg$0;$mr$1 = $mr$0;$psize$0 = 0; - } - } - $44 = ($ma$1|0)!=(0); - $45 = $44 ? 4 : 3; - $46 = (($s) + 8|0); - HEAP32[$46>>2] = $45; - $47 = ($req_comp|0)==(0); - $48 = ($req_comp|0)>(2); - $req_comp$ = $48 ? $req_comp : $45; - $49 = HEAP32[$s>>2]|0; - $50 = Math_imul($49, $req_comp$)|0; - $51 = HEAP32[$18>>2]|0; - $52 = Math_imul($50, $51)|0; - $53 = (_stbi__malloc($52)|0); - $54 = ($53|0)==(0|0); - if ($54) { - _stbi__err(12832); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $55 = ($16|0)<(16); - if ($55) { - $56 = ($psize$0|0)==(0); - $57 = ($psize$0|0)>(256); - $or$cond19 = $56 | $57; - if ($or$cond19) { - _free($53); - _stbi__err(15488); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $58 = ($psize$0|0)>(0); - if ($58) { - $i$149 = 0; - while(1) { - $59 = (_stbi__get8($s)|0); - $60 = ((($pal) + ($i$149<<2)|0) + 2|0); - HEAP8[$60>>0] = $59; - $61 = (_stbi__get8($s)|0); - $62 = ((($pal) + ($i$149<<2)|0) + 1|0); - HEAP8[$62>>0] = $61; - $63 = (_stbi__get8($s)|0); - $64 = (($pal) + ($i$149<<2)|0); - HEAP8[$64>>0] = $63; - if (!($6)) { - (_stbi__get8($s)|0); - } - $65 = ((($pal) + ($i$149<<2)|0) + 3|0); - HEAP8[$65>>0] = -1; - $66 = (($i$149) + 1)|0; - $exitcond = ($66|0)==($psize$0|0); - if ($exitcond) { - break; - } else { - $i$149 = $66; - } - } - } - $67 = (($4) + -14)|0; - $68 = (($67) - ($5))|0; - $69 = $7 ? 3 : 4; - $70 = Math_imul($psize$0, $69)|0; - $71 = (($68) - ($70))|0; - _stbi__skip($s,$71); - $72 = ($16|0)==(4); - do { - if ($72) { - $73 = HEAP32[$s>>2]|0; - $74 = (($73) + 1)|0; - $75 = $74 >>> 1; - $width$0 = $75; - } else { - $76 = ($16|0)==(8); - if ($76) { - $77 = HEAP32[$s>>2]|0; - $width$0 = $77; - break; - } - _free($53); - _stbi__err(15496); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - } while(0); - $78 = (0 - ($width$0))|0; - $79 = $78 & 3; - $80 = HEAP32[$18>>2]|0; - $81 = ($80|0)>(0); - if ($81) { - $82 = ($req_comp$|0)==(4); - $83 = ($16|0)==(8); - $j$046 = 0;$z$047 = 0; - while(1) { - $84 = HEAP32[$s>>2]|0; - $85 = ($84|0)>(0); - L75: do { - if ($85) { - $i$240 = 0;$z$141 = $z$047; - while(1) { - $86 = (_stbi__get8($s)|0); - $87 = $86&255; - if ($72) { - $88 = $87 & 15; - $89 = $87 >>> 4; - $v$0 = $89;$v2$0 = $88; - } else { - $v$0 = $87;$v2$0 = 0; - } - $90 = (($pal) + ($v$0<<2)|0); - $91 = HEAP8[$90>>0]|0; - $92 = (($z$141) + 1)|0; - $93 = (($53) + ($z$141)|0); - HEAP8[$93>>0] = $91; - $94 = ((($pal) + ($v$0<<2)|0) + 1|0); - $95 = HEAP8[$94>>0]|0; - $96 = (($z$141) + 2)|0; - $97 = (($53) + ($92)|0); - HEAP8[$97>>0] = $95; - $98 = ((($pal) + ($v$0<<2)|0) + 2|0); - $99 = HEAP8[$98>>0]|0; - $100 = (($z$141) + 3)|0; - $101 = (($53) + ($96)|0); - HEAP8[$101>>0] = $99; - if ($82) { - $102 = (($z$141) + 4)|0; - $103 = (($53) + ($100)|0); - HEAP8[$103>>0] = -1; - $z$2 = $102; - } else { - $z$2 = $100; - } - $104 = $i$240 | 1; - $105 = HEAP32[$s>>2]|0; - $106 = ($104|0)==($105|0); - if ($106) { - $z$4 = $z$2; - break L75; - } - if ($83) { - $107 = (_stbi__get8($s)|0); - $108 = $107&255; - $110 = $108; - } else { - $110 = $v2$0; - } - $109 = (($pal) + ($110<<2)|0); - $111 = HEAP8[$109>>0]|0; - $112 = (($z$2) + 1)|0; - $113 = (($53) + ($z$2)|0); - HEAP8[$113>>0] = $111; - $114 = ((($pal) + ($110<<2)|0) + 1|0); - $115 = HEAP8[$114>>0]|0; - $116 = (($z$2) + 2)|0; - $117 = (($53) + ($112)|0); - HEAP8[$117>>0] = $115; - $118 = ((($pal) + ($110<<2)|0) + 2|0); - $119 = HEAP8[$118>>0]|0; - $120 = (($z$2) + 3)|0; - $121 = (($53) + ($116)|0); - HEAP8[$121>>0] = $119; - if ($82) { - $122 = (($z$2) + 4)|0; - $123 = (($53) + ($120)|0); - HEAP8[$123>>0] = -1; - $z$3 = $122; - } else { - $z$3 = $120; - } - $124 = (($i$240) + 2)|0; - $125 = HEAP32[$s>>2]|0; - $126 = ($124|0)<($125|0); - if ($126) { - $i$240 = $124;$z$141 = $z$3; - } else { - $z$4 = $z$3; - break; - } - } - } else { - $z$4 = $z$047; - } - } while(0); - _stbi__skip($s,$79); - $127 = (($j$046) + 1)|0; - $128 = HEAP32[$18>>2]|0; - $129 = ($127|0)<($128|0); - if ($129) { - $j$046 = $127;$z$047 = $z$4; - } else { - break; - } - } - } - } else { - $130 = (($4) + -14)|0; - $131 = (($130) - ($5))|0; - _stbi__skip($s,$131); - if ((($16|0) == 16)) { - $132 = HEAP32[$s>>2]|0; - $133 = $132 << 1; - $width$1$ph = $133; - label = 63; - } else if ((($16|0) == 24)) { - $134 = HEAP32[$s>>2]|0; - $135 = Math_imul($134, -3)|0; - $136 = $135 & 3; - $209 = $136;$247 = 1;$acount$0 = 0;$ashift$0 = 0;$bcount$0 = 0;$bshift$0 = 0;$easy$034 = 1;$gcount$0 = 0;$gshift$0 = 0;$rcount$0 = 0;$rshift$0 = 0; - } else { - $width$1$ph = 0; - label = 63; - } - do { - if ((label|0) == 63) { - $137 = (0 - ($width$1$ph))|0; - $138 = $137 & 2; - $139 = ($16|0)==(32); - $140 = ($mb$1|0)==(255); - $or$cond26 = $139 & $140; - $141 = ($mg$1|0)==(65280); - $or$cond27 = $or$cond26 & $141; - $142 = ($mr$1|0)==(16711680); - $or$cond28 = $or$cond27 & $142; - $143 = ($ma$1|0)==(-16777216); - $or$cond29 = $or$cond28 & $143; - $$33 = $or$cond29 ? 2 : 0; - if ($or$cond29) { - $209 = $138;$247 = 1;$acount$0 = 0;$ashift$0 = 0;$bcount$0 = 0;$bshift$0 = 0;$easy$034 = 2;$gcount$0 = 0;$gshift$0 = 0;$rcount$0 = 0;$rshift$0 = 0; - } else { - $144 = ($mr$1|0)==(0); - $145 = ($mg$1|0)==(0); - $or$cond30 = $144 | $145; - $146 = ($mb$1|0)==(0); - $or$cond31 = $or$cond30 | $146; - if (!($or$cond31)) { - $147 = (_stbi__high_bit($mr$1)|0); - $148 = (($147) + -7)|0; - $149 = (_stbi__bitcount($mr$1)|0); - $150 = (_stbi__high_bit($mg$1)|0); - $151 = (($150) + -7)|0; - $152 = (_stbi__bitcount($mg$1)|0); - $153 = (_stbi__high_bit($mb$1)|0); - $154 = (($153) + -7)|0; - $155 = (_stbi__bitcount($mb$1)|0); - $156 = (_stbi__high_bit($ma$1)|0); - $157 = (($156) + -7)|0; - $158 = (_stbi__bitcount($ma$1)|0); - $209 = $138;$247 = $or$cond29;$acount$0 = $158;$ashift$0 = $157;$bcount$0 = $155;$bshift$0 = $154;$easy$034 = $$33;$gcount$0 = $152;$gshift$0 = $151;$rcount$0 = $149;$rshift$0 = $148; - break; - } - _free($53); - _stbi__err(15504); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - } - } while(0); - $159 = HEAP32[$18>>2]|0; - $160 = ($159|0)>(0); - if ($160) { - $161 = ($16|0)==(16); - $162 = ($req_comp$|0)==(4); - $163 = ($easy$034|0)==(2); - $164 = ($req_comp$|0)==(4); - $j$165 = 0;$z1$066 = 0; - while(1) { - $165 = HEAP32[$s>>2]|0; - $166 = ($165|0)>(0); - if ($247) { - if ($166) { - $i$360 = 0;$z1$161 = $z1$066; - while(1) { - $167 = (_stbi__get8($s)|0); - $168 = (($z1$161) + 2)|0; - $169 = (($53) + ($168)|0); - HEAP8[$169>>0] = $167; - $170 = (_stbi__get8($s)|0); - $171 = (($z1$161) + 1)|0; - $172 = (($53) + ($171)|0); - HEAP8[$172>>0] = $170; - $173 = (_stbi__get8($s)|0); - $174 = (($53) + ($z1$161)|0); - HEAP8[$174>>0] = $173; - $175 = (($z1$161) + 3)|0; - if ($163) { - $176 = (_stbi__get8($s)|0); - $179 = $176; - } else { - $179 = -1; - } - if ($164) { - $177 = (($z1$161) + 4)|0; - $178 = (($53) + ($175)|0); - HEAP8[$178>>0] = $179; - $z1$2 = $177; - } else { - $z1$2 = $175; - } - $180 = (($i$360) + 1)|0; - $181 = HEAP32[$s>>2]|0; - $182 = ($180|0)<($181|0); - if ($182) { - $i$360 = $180;$z1$161 = $z1$2; - } else { - $z1$5 = $z1$2; - break; - } - } - } else { - $z1$5 = $z1$066; - } - } else { - if ($166) { - $i$454 = 0;$z1$355 = $z1$066; - while(1) { - if ($161) { - $183 = (_stbi__get16le($s)|0); - $186 = $183; - } else { - $184 = (_stbi__get32le($s)|0); - $186 = $184; - } - $185 = $186 & $mr$1; - $187 = (_stbi__shiftsigned($185,$rshift$0,$rcount$0)|0); - $188 = $187&255; - $189 = (($z1$355) + 1)|0; - $190 = (($53) + ($z1$355)|0); - HEAP8[$190>>0] = $188; - $191 = $186 & $mg$1; - $192 = (_stbi__shiftsigned($191,$gshift$0,$gcount$0)|0); - $193 = $192&255; - $194 = (($z1$355) + 2)|0; - $195 = (($53) + ($189)|0); - HEAP8[$195>>0] = $193; - $196 = $186 & $mb$1; - $197 = (_stbi__shiftsigned($196,$bshift$0,$bcount$0)|0); - $198 = $197&255; - $199 = (($z1$355) + 3)|0; - $200 = (($53) + ($194)|0); - HEAP8[$200>>0] = $198; - if ($44) { - $201 = $186 & $ma$1; - $202 = (_stbi__shiftsigned($201,$ashift$0,$acount$0)|0); - $phitmp21 = $202&255; - $205 = $phitmp21; - } else { - $205 = -1; - } - if ($162) { - $203 = (($z1$355) + 4)|0; - $204 = (($53) + ($199)|0); - HEAP8[$204>>0] = $205; - $z1$4 = $203; - } else { - $z1$4 = $199; - } - $206 = (($i$454) + 1)|0; - $207 = HEAP32[$s>>2]|0; - $208 = ($206|0)<($207|0); - if ($208) { - $i$454 = $206;$z1$355 = $z1$4; - } else { - $z1$5 = $z1$4; - break; - } - } - } else { - $z1$5 = $z1$066; - } - } - _stbi__skip($s,$209); - $210 = (($j$165) + 1)|0; - $211 = HEAP32[$18>>2]|0; - $212 = ($210|0)<($211|0); - if ($212) { - $j$165 = $210;$z1$066 = $z1$5; - } else { - break; - } - } - } - } - if ($20) { - $213 = HEAP32[$18>>2]|0; - $214 = $213 >> 1; - $215 = ($214|0)>(0); - if ($215) { - $216 = HEAP32[$s>>2]|0; - $217 = Math_imul($216, $req_comp$)|0; - $218 = ($217|0)>(0); - $219 = HEAP32[$18>>2]|0; - $220 = $219 >> 1; - $225 = $213;$j$237 = 0; - while(1) { - $221 = Math_imul($j$237, $req_comp$)|0; - $222 = Math_imul($221, $216)|0; - $223 = $j$237 ^ -1; - $224 = (($225) + ($223))|0; - $226 = Math_imul($224, $req_comp$)|0; - $227 = Math_imul($226, $216)|0; - if ($218) { - $228 = HEAP32[$s>>2]|0; - $229 = Math_imul($228, $req_comp$)|0; - $i$536 = 0; - while(1) { - $$sum = (($i$536) + ($222))|0; - $230 = (($53) + ($$sum)|0); - $231 = HEAP8[$230>>0]|0; - $$sum20 = (($i$536) + ($227))|0; - $232 = (($53) + ($$sum20)|0); - $233 = HEAP8[$232>>0]|0; - HEAP8[$230>>0] = $233; - HEAP8[$232>>0] = $231; - $234 = (($i$536) + 1)|0; - $235 = ($234|0)<($229|0); - if ($235) { - $i$536 = $234; - } else { - break; - } - } - } - $236 = (($j$237) + 1)|0; - $237 = ($236|0)<($220|0); - if ($237) { - $225 = $219;$j$237 = $236; - } else { - break; - } - } - } - } - $238 = ($req_comp$|0)==($req_comp|0); - $or$cond32 = $47 | $238; - if ($or$cond32) { - $out$0 = $53; - } else { - $239 = HEAP32[$s>>2]|0; - $240 = HEAP32[$18>>2]|0; - $241 = (_stbi__convert_format($53,$req_comp$,$req_comp,$239,$240)|0); - $242 = ($241|0)==(0|0); - if ($242) { - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } else { - $out$0 = $241; - } - } - $243 = HEAP32[$s>>2]|0; - HEAP32[$x>>2] = $243; - $244 = HEAP32[$18>>2]|0; - HEAP32[$y>>2] = $244; - $245 = ($comp|0)==(0|0); - if ($245) { - $$0 = $out$0; - STACKTOP = sp;return ($$0|0); - } - $246 = HEAP32[$46>>2]|0; - HEAP32[$comp>>2] = $246; - $$0 = $out$0; - STACKTOP = sp;return ($$0|0); - } - } - _stbi__err(15384); - $$0 = 0; - STACKTOP = sp;return ($$0|0); -} -function _stbi__gif_test($s) { - $s = $s|0; - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_stbi__gif_test_raw($s)|0); - _stbi__rewind($s); - STACKTOP = sp;return ($0|0); -} -function _stbi__gif_load($s,$x,$y,$comp,$req_comp) { - $s = $s|0; - $x = $x|0; - $y = $y|0; - $comp = $comp|0; - $req_comp = $req_comp|0; - var $$ = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $g = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 18512|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); - $g = sp; - _memset(($g|0),0,18508)|0; - $0 = (_stbi__gif_load_next($s,$g,$comp,$req_comp)|0); - $1 = ($0|0)==($s|0); - $$ = $1 ? 0 : $0; - $2 = ($$|0)==(0|0); - if ($2) { - STACKTOP = sp;return ($$|0); - } - $3 = HEAP32[$g>>2]|0; - HEAP32[$x>>2] = $3; - $4 = (($g) + 4|0); - $5 = HEAP32[$4>>2]|0; - HEAP32[$y>>2] = $5; - STACKTOP = sp;return ($$|0); -} -function _stbi__psd_test($s) { - $s = $s|0; - var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_stbi__get32be($s)|0); - $1 = ($0|0)==(943870035); - $2 = $1&1; - _stbi__rewind($s); - STACKTOP = sp;return ($2|0); -} -function _stbi__psd_load($s,$x,$y,$comp,$req_comp) { - $s = $s|0; - $x = $x|0; - $y = $y|0; - $comp = $comp|0; - $req_comp = $req_comp|0; - var $$0 = 0, $$pn = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; - var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0; - var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0; - var $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0; - var $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $9 = 0, $channel$032 = 0, $count$0$ph$be = 0, $count$0$ph29 = 0, $exitcond = 0, $exitcond$1 = 0, $exitcond$2 = 0, $exitcond$3 = 0, $exitcond33 = 0, $exitcond33$1 = 0, $exitcond33$2 = 0, $exitcond33$3 = 0, $exitcond35 = 0, $exitcond42 = 0; - var $i$016 = 0, $i$18 = 0, $i$18$1 = 0, $i$18$2 = 0, $i$18$3 = 0, $i$24 = 0, $i$24$1 = 0, $i$24$2 = 0, $i$24$3 = 0, $len$024 = 0, $len$120 = 0, $out$0 = 0, $p$017 = 0, $p$1$ph30 = 0, $p$225 = 0, $p$321 = 0, $p1$09 = 0, $p1$09$1 = 0, $p1$09$2 = 0, $p1$09$3 = 0; - var $p1$15 = 0, $p1$15$1 = 0, $p1$15$2 = 0, $p1$15$3 = 0, $scevgep$sum = 0, $scevgep$sum$sink = 0, $scevgep38 = 0, $scevgep40$sum = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_stbi__get32be($s)|0); - $1 = ($0|0)==(943870035); - if (!($1)) { - _stbi__err(15168); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $2 = (_stbi__get16be($s)|0); - $3 = ($2|0)==(1); - if (!($3)) { - _stbi__err(15176); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - _stbi__skip($s,6); - $4 = (_stbi__get16be($s)|0); - $5 = ($4>>>0)>(16); - if ($5) { - _stbi__err(15192); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $6 = (_stbi__get32be($s)|0); - $7 = (_stbi__get32be($s)|0); - $8 = (_stbi__get16be($s)|0); - $9 = ($8|0)==(8); - if (!($9)) { - _stbi__err(15216); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $10 = (_stbi__get16be($s)|0); - $11 = ($10|0)==(3); - if (!($11)) { - _stbi__err(15240); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $12 = (_stbi__get32be($s)|0); - _stbi__skip($s,$12); - $13 = (_stbi__get32be($s)|0); - _stbi__skip($s,$13); - $14 = (_stbi__get32be($s)|0); - _stbi__skip($s,$14); - $15 = (_stbi__get16be($s)|0); - $16 = ($15|0)>(1); - if ($16) { - _stbi__err(15024); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $17 = $6 << 2; - $18 = Math_imul($17, $7)|0; - $19 = (_stbi__malloc($18)|0); - $20 = ($19|0)==(0|0); - if ($20) { - _stbi__err(12832); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $21 = Math_imul($7, $6)|0; - $22 = ($15|0)==(0); - do { - if ($22) { - $52 = ($21|0)>(0); - $53 = ($21|0)>(0); - $54 = Math_imul($7, $6)|0; - $55 = ($4|0)<(0); - if ($55) { - if ($53) { - $i$18 = 0;$p1$09 = $19; - while(1) { - HEAP8[$p1$09>>0] = 0; - $56 = (($p1$09) + 4|0); - $57 = (($i$18) + 1)|0; - $exitcond33 = ($57|0)==($54|0); - if ($exitcond33) { - break; - } else { - $i$18 = $57;$p1$09 = $56; - } - } - } - } else { - if ($52) { - $i$24 = 0;$p1$15 = $19; - while(1) { - $58 = (_stbi__get8($s)|0); - HEAP8[$p1$15>>0] = $58; - $59 = (($p1$15) + 4|0); - $60 = (($i$24) + 1)|0; - $exitcond = ($60|0)==($54|0); - if ($exitcond) { - break; - } else { - $i$24 = $60;$p1$15 = $59; - } - } - } - } - $61 = (($19) + 1|0); - $62 = ($4|0)<(1); - if ($62) { - if ($53) { - $i$18$1 = 0;$p1$09$1 = $61; - while(1) { - HEAP8[$p1$09$1>>0] = 0; - $69 = (($p1$09$1) + 4|0); - $70 = (($i$18$1) + 1)|0; - $exitcond33$1 = ($70|0)==($54|0); - if ($exitcond33$1) { - break; - } else { - $i$18$1 = $70;$p1$09$1 = $69; - } - } - } - } else { - if ($52) { - $i$24$1 = 0;$p1$15$1 = $61; - while(1) { - $66 = (_stbi__get8($s)|0); - HEAP8[$p1$15$1>>0] = $66; - $67 = (($p1$15$1) + 4|0); - $68 = (($i$24$1) + 1)|0; - $exitcond$1 = ($68|0)==($54|0); - if ($exitcond$1) { - break; - } else { - $i$24$1 = $68;$p1$15$1 = $67; - } - } - } - } - $71 = (($19) + 2|0); - $72 = ($4|0)<(2); - if ($72) { - if ($53) { - $i$18$2 = 0;$p1$09$2 = $71; - while(1) { - HEAP8[$p1$09$2>>0] = 0; - $76 = (($p1$09$2) + 4|0); - $77 = (($i$18$2) + 1)|0; - $exitcond33$2 = ($77|0)==($54|0); - if ($exitcond33$2) { - break; - } else { - $i$18$2 = $77;$p1$09$2 = $76; - } - } - } - } else { - if ($52) { - $i$24$2 = 0;$p1$15$2 = $71; - while(1) { - $73 = (_stbi__get8($s)|0); - HEAP8[$p1$15$2>>0] = $73; - $74 = (($p1$15$2) + 4|0); - $75 = (($i$24$2) + 1)|0; - $exitcond$2 = ($75|0)==($54|0); - if ($exitcond$2) { - break; - } else { - $i$24$2 = $75;$p1$15$2 = $74; - } - } - } - } - $78 = (($19) + 3|0); - $79 = ($4|0)<(3); - if ($79) { - if ($53) { - $i$18$3 = 0;$p1$09$3 = $78; - } else { - break; - } - while(1) { - HEAP8[$p1$09$3>>0] = -1; - $83 = (($p1$09$3) + 4|0); - $84 = (($i$18$3) + 1)|0; - $exitcond33$3 = ($84|0)==($54|0); - if ($exitcond33$3) { - break; - } else { - $i$18$3 = $84;$p1$09$3 = $83; - } - } - } else { - if ($52) { - $i$24$3 = 0;$p1$15$3 = $78; - } else { - break; - } - while(1) { - $80 = (_stbi__get8($s)|0); - HEAP8[$p1$15$3>>0] = $80; - $81 = (($p1$15$3) + 4|0); - $82 = (($i$24$3) + 1)|0; - $exitcond$3 = ($82|0)==($54|0); - if ($exitcond$3) { - break; - } else { - $i$24$3 = $82;$p1$15$3 = $81; - } - } - } - } else { - $23 = $4 << 1; - $24 = Math_imul($23, $6)|0; - _stbi__skip($s,$24); - $25 = ($21|0)>(0); - $26 = ($21|0)>(0); - $27 = Math_imul($7, $6)|0; - $channel$032 = 0; - while(1) { - $28 = (($19) + ($channel$032)|0); - $29 = ($channel$032|0)<($4|0); - if ($29) { - if ($25) { - $count$0$ph29 = 0;$p$1$ph30 = $28; - while(1) { - while(1) { - $37 = (_stbi__get8($s)|0); - $38 = $37&255; - $39 = ($37<<24>>24)==(-128); - if (!($39)) { - break; - } - } - $40 = ($37<<24>>24)>(-1); - if ($40) { - $41 = (($38) + 1)|0; - $36 = $38 << 2; - $len$024 = $41;$p$225 = $p$1$ph30; - while(1) { - $42 = (_stbi__get8($s)|0); - HEAP8[$p$225>>0] = $42; - $43 = (($p$225) + 4|0); - $44 = (($len$024) + -1)|0; - $45 = ($44|0)==(0); - if ($45) { - break; - } else { - $len$024 = $44;$p$225 = $43; - } - } - $scevgep40$sum = (($36) + 4)|0; - $$pn = $41;$scevgep$sum$sink = $scevgep40$sum; - } else { - $46 = (257 - ($38))|0; - $47 = (_stbi__get8($s)|0); - $34 = Math_imul($38, -4)|0; - $len$120 = $46;$p$321 = $p$1$ph30; - while(1) { - HEAP8[$p$321>>0] = $47; - $48 = (($p$321) + 4|0); - $49 = (($len$120) + -1)|0; - $50 = ($49|0)==(0); - if ($50) { - break; - } else { - $len$120 = $49;$p$321 = $48; - } - } - $scevgep$sum = (($34) + 1028)|0; - $$pn = $46;$scevgep$sum$sink = $scevgep$sum; - } - $scevgep38 = (($p$1$ph30) + ($scevgep$sum$sink)|0); - $count$0$ph$be = (($$pn) + ($count$0$ph29))|0; - $35 = ($count$0$ph$be|0)<($21|0); - if ($35) { - $count$0$ph29 = $count$0$ph$be;$p$1$ph30 = $scevgep38; - } else { - break; - } - } - } - } else { - if ($26) { - $30 = ($channel$032|0)==(3); - $31 = $30 << 31 >> 31; - $i$016 = 0;$p$017 = $28; - while(1) { - HEAP8[$p$017>>0] = $31; - $32 = (($p$017) + 4|0); - $33 = (($i$016) + 1)|0; - $exitcond35 = ($33|0)==($27|0); - if ($exitcond35) { - break; - } else { - $i$016 = $33;$p$017 = $32; - } - } - } - } - $51 = (($channel$032) + 1)|0; - $exitcond42 = ($51|0)==(4); - if ($exitcond42) { - break; - } else { - $channel$032 = $51; - } - } - } - } while(0); - if ((($req_comp|0) == 0) | (($req_comp|0) == 4)) { - $out$0 = $19; - } else { - $63 = (_stbi__convert_format($19,4,$req_comp,$7,$6)|0); - $64 = ($63|0)==(0|0); - if ($64) { - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } else { - $out$0 = $63; - } - } - $65 = ($comp|0)==(0|0); - if (!($65)) { - HEAP32[$comp>>2] = $4; - } - HEAP32[$y>>2] = $6; - HEAP32[$x>>2] = $7; - $$0 = $out$0; - STACKTOP = sp;return ($$0|0); -} -function _stbi__pic_test($s) { - $s = $s|0; - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_stbi__pic_test_core($s)|0); - _stbi__rewind($s); - STACKTOP = sp;return ($0|0); -} -function _stbi__pic_load($s,$px,$py,$comp,$req_comp) { - $s = $s|0; - $px = $px|0; - $py = $py|0; - $comp = $comp|0; - $req_comp = $req_comp|0; - var $$0 = 0, $$01 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $i$02 = 0, $result$0 = 0; - var label = 0, sp = 0; - sp = STACKTOP; - $i$02 = 0; - while(1) { - (_stbi__get8($s)|0); - $0 = (($i$02) + 1)|0; - $exitcond = ($0|0)==(92); - if ($exitcond) { - break; - } else { - $i$02 = $0; - } - } - $1 = (_stbi__get16be($s)|0); - $2 = (_stbi__get16be($s)|0); - $3 = (_stbi__at_eof($s)|0); - $4 = ($3|0)==(0); - if (!($4)) { - _stbi__err(15120); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $5 = (268435456 / ($1|0))&-1; - $6 = ($5|0)<($2|0); - if ($6) { - _stbi__err(12568); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - (_stbi__get32be($s)|0); - (_stbi__get16be($s)|0); - (_stbi__get16be($s)|0); - $7 = $1 << 2; - $8 = Math_imul($7, $2)|0; - $9 = (_stbi__malloc($8)|0); - _memset(($9|0),-1,($8|0))|0; - $10 = (_stbi__pic_load_core($s,$1,$2,$comp,$9)|0); - $11 = ($10|0)==(0|0); - if ($11) { - _free($9); - $result$0 = 0; - } else { - $result$0 = $9; - } - HEAP32[$px>>2] = $1; - HEAP32[$py>>2] = $2; - $12 = ($req_comp|0)==(0); - if ($12) { - $13 = HEAP32[$comp>>2]|0; - $$01 = $13; - } else { - $$01 = $req_comp; - } - $14 = (_stbi__convert_format($result$0,4,$$01,$1,$2)|0); - $$0 = $14; - STACKTOP = sp;return ($$0|0); -} -function _stbi__pnm_test($s) { - $s = $s|0; - var $$0 = 0, $$off = 0, $0 = 0, $1 = 0, $2 = 0, $switch = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_stbi__get8($s)|0); - $1 = (_stbi__get8($s)|0); - $2 = ($0<<24>>24)==(80); - if ($2) { - $$off = (($1) + -53)<<24>>24; - $switch = ($$off&255)<(2); - if ($switch) { - $$0 = 1; - STACKTOP = sp;return ($$0|0); - } - } - _stbi__rewind($s); - $$0 = 0; - STACKTOP = sp;return ($$0|0); -} -function _stbi__pnm_load($s,$x,$y,$comp,$req_comp) { - $s = $s|0; - $x = $x|0; - $y = $y|0; - $comp = $comp|0; - $req_comp = $req_comp|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0; - var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (($s) + 4|0); - $1 = (($s) + 8|0); - $2 = (_stbi__pnm_info($s,$s,$0,$1)|0); - $3 = ($2|0)==(0); - if ($3) { - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $4 = HEAP32[$s>>2]|0; - HEAP32[$x>>2] = $4; - $5 = HEAP32[$0>>2]|0; - HEAP32[$y>>2] = $5; - $6 = HEAP32[$1>>2]|0; - HEAP32[$comp>>2] = $6; - $7 = HEAP32[$1>>2]|0; - $8 = HEAP32[$s>>2]|0; - $9 = Math_imul($8, $7)|0; - $10 = HEAP32[$0>>2]|0; - $11 = Math_imul($9, $10)|0; - $12 = (_stbi__malloc($11)|0); - $13 = ($12|0)==(0|0); - if ($13) { - _stbi__err(12832); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $14 = HEAP32[$1>>2]|0; - $15 = HEAP32[$s>>2]|0; - $16 = Math_imul($15, $14)|0; - $17 = HEAP32[$0>>2]|0; - $18 = Math_imul($16, $17)|0; - (_stbi__getn($s,$12,$18)|0); - $19 = ($req_comp|0)==(0); - if ($19) { - $$0 = $12; - STACKTOP = sp;return ($$0|0); - } - $20 = HEAP32[$1>>2]|0; - $21 = ($20|0)==($req_comp|0); - if ($21) { - $$0 = $12; - STACKTOP = sp;return ($$0|0); - } else { - $22 = HEAP32[$s>>2]|0; - $23 = HEAP32[$0>>2]|0; - $24 = (_stbi__convert_format($12,$20,$req_comp,$22,$23)|0); - STACKTOP = sp;return ($24|0); - } - return 0|0; -} -function _stbi__tga_test($s) { - $s = $s|0; - var $$0 = 0, $$off = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond3 = 0, $or$cond5 = 0, $or$cond7 = 0, $or$cond9 = 0, $res$0 = 0; - var label = 0, sp = 0; - sp = STACKTOP; - (_stbi__get8($s)|0); - $0 = (_stbi__get8($s)|0); - $1 = ($0&255)>(1); - if ($1) { - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $2 = (_stbi__get8($s)|0); - $$off = (($2) + -1)<<24>>24; - $3 = ($$off&255)>(1); - $4 = ($2<<24>>24)!=(3); - $or$cond3 = $3 & $4; - $5 = ($2<<24>>24)!=(9); - $or$cond5 = $or$cond3 & $5; - $6 = ($2<<24>>24)!=(10); - $or$cond7 = $or$cond5 & $6; - $7 = ($2<<24>>24)!=(11); - $or$cond9 = $or$cond7 & $7; - if ($or$cond9) { - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - (_stbi__get16be($s)|0); - (_stbi__get16be($s)|0); - (_stbi__get8($s)|0); - (_stbi__get16be($s)|0); - (_stbi__get16be($s)|0); - $8 = (_stbi__get16be($s)|0); - $9 = ($8|0)<(1); - if ($9) { - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $10 = (_stbi__get16be($s)|0); - $11 = ($10|0)<(1); - if ($11) { - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $12 = (_stbi__get8($s)|0); - if ((($12<<24>>24) == 8) | (($12<<24>>24) == 16) | (($12<<24>>24) == 24) | (($12<<24>>24) == 32)) { - $res$0 = 1; - } else { - $res$0 = 0; - } - _stbi__rewind($s); - $$0 = $res$0; - STACKTOP = sp;return ($$0|0); -} -function _stbi__tga_load($s,$x,$y,$comp,$req_comp) { - $s = $s|0; - $x = $x|0; - $y = $y|0; - $comp = $comp|0; - $req_comp = $req_comp|0; - var $$ = 0, $$0 = 0, $$10 = 0, $$9 = 0, $$i$048 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0; - var $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0; - var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0; - var $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0; - var $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0; - var $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $RLE_count$040 = 0, $RLE_count$113 = 0, $RLE_count$114 = 0, $RLE_repeating$041 = 0; - var $RLE_repeating$115 = 0, $RLE_repeating$116 = 0, $exitcond = 0, $exitcond51 = 0, $exitcond52 = 0, $i$048 = 0, $i$139 = 0, $i$219 = 0, $i$317 = 0, $index1$020 = 0, $index2$021 = 0, $j$032 = 0, $j$129 = 0, $j$325 = 0, $not$ = 0, $or$cond = 0, $or$cond11$demorgan = 0, $or$cond12 = 0, $or$cond53 = 0, $or$cond54 = 0; - var $raw_data = 0, $read_next_pixel$042 = 0, $scevgep = 0, $smax = 0, $tga_image_type$0$off = 0, $tga_palette$0 = 0, $tga_pixel$018 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); - $raw_data = sp; - $0 = (_stbi__get8($s)|0); - $1 = $0&255; - $2 = (_stbi__get8($s)|0); - $3 = (_stbi__get8($s)|0); - $4 = $3&255; - $5 = (_stbi__get16le($s)|0); - $6 = (_stbi__get16le($s)|0); - $7 = (_stbi__get8($s)|0); - $8 = $7&255; - (_stbi__get16le($s)|0); - (_stbi__get16le($s)|0); - $9 = (_stbi__get16le($s)|0); - $10 = (_stbi__get16le($s)|0); - $11 = (_stbi__get8($s)|0); - $12 = $11&255; - $13 = $12 >>> 3; - $14 = (_stbi__get8($s)|0); - $15 = $14&255; - $16 = ($3&255)>(7); - $17 = $15 >>> 5; - $18 = $17 & 1; - $19 = ($9|0)<(1); - $20 = ($10|0)<(1); - $or$cond = $19 | $20; - if ($or$cond) { - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $21 = (($4) + -8)|0; - $$9 = $16 ? $21 : $4; - $tga_image_type$0$off = (($$9) + -1)|0; - $22 = ($tga_image_type$0$off>>>0)>(2); - if ($22) { - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - if (!((($11<<24>>24) == 8) | (($11<<24>>24) == 16) | (($11<<24>>24) == 24) | (($11<<24>>24) == 32))) { - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $23 = ($2<<24>>24)!=(0); - $24 = $8 >>> 3; - $$10 = $23 ? $24 : $13; - HEAP32[$x>>2] = $9; - HEAP32[$y>>2] = $10; - $25 = ($comp|0)==(0|0); - if (!($25)) { - HEAP32[$comp>>2] = $$10; - } - $26 = Math_imul($10, $9)|0; - $27 = Math_imul($$10, $26)|0; - $28 = (_stbi__malloc($27)|0); - $29 = ($28|0)==(0|0); - if ($29) { - _stbi__err(12832); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - _stbi__skip($s,$1); - $or$cond11$demorgan = $23 | $16; - if ($or$cond11$demorgan) { - if ($23) { - _stbi__skip($s,$5); - $39 = Math_imul($8, $6)|0; - $40 = (($39|0) / 8)&-1; - $41 = (_stbi__malloc($40)|0); - $42 = ($41|0)==(0|0); - if ($42) { - _free($28); - _stbi__err(12832); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $43 = (_stbi__getn($s,$41,$40)|0); - $44 = ($43|0)==(0); - if ($44) { - _free($28); - _free($41); - _stbi__err(15040); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } else { - $tga_palette$0 = $41; - } - } else { - $tga_palette$0 = 0; - } - $45 = ($26|0)>(0); - if ($45) { - $46 = ($11<<24>>24)==(0); - $47 = ($11<<24>>24)==(0); - $48 = ($$10|0)==(0); - $49 = ($$10>>>0)>(1); - $smax = $49 ? $$10 : 1; - $50 = Math_imul($10, $9)|0; - $RLE_count$040 = 0;$RLE_repeating$041 = 0;$i$139 = 0;$read_next_pixel$042 = 1; - while(1) { - $51 = Math_imul($$10, $i$139)|0; - $scevgep = (($28) + ($51)|0); - do { - if ($16) { - $52 = ($RLE_count$040|0)==(0); - if ($52) { - $53 = (_stbi__get8($s)|0); - $54 = $53&255; - $55 = $54 & 127; - $56 = (($55) + 1)|0; - $57 = $54 >>> 7; - $RLE_count$113 = $56;$RLE_repeating$115 = $57; - label = 23; - break; - } else { - $58 = ($read_next_pixel$042|0)==(0); - $not$ = ($RLE_repeating$041|0)!=(0); - $59 = $58 & $not$; - if ($59) { - $RLE_count$114 = $RLE_count$040;$RLE_repeating$116 = $RLE_repeating$041; - break; - } else { - $RLE_count$113 = $RLE_count$040;$RLE_repeating$115 = $RLE_repeating$041; - label = 23; - break; - } - } - } else { - $RLE_count$113 = $RLE_count$040;$RLE_repeating$115 = $RLE_repeating$041; - label = 23; - } - } while(0); - do { - if ((label|0) == 23) { - label = 0; - if ($23) { - $60 = (_stbi__get8($s)|0); - $61 = $60&255; - $62 = ($61|0)>=($6|0); - $$ = $62 ? 0 : $61; - $63 = Math_imul($$, $13)|0; - if ($46) { - $RLE_count$114 = $RLE_count$113;$RLE_repeating$116 = $RLE_repeating$115; - break; - } else { - $j$032 = 0; - } - while(1) { - $64 = (($j$032) + ($63))|0; - $65 = (($tga_palette$0) + ($64)|0); - $66 = HEAP8[$65>>0]|0; - $67 = (($raw_data) + ($j$032)|0); - HEAP8[$67>>0] = $66; - $68 = (($j$032) + 1)|0; - $69 = $68 << 3; - $70 = ($69|0)<($12|0); - if ($70) { - $j$032 = $68; - } else { - $RLE_count$114 = $RLE_count$113;$RLE_repeating$116 = $RLE_repeating$115; - break; - } - } - } else { - if ($47) { - $RLE_count$114 = $RLE_count$113;$RLE_repeating$116 = $RLE_repeating$115; - break; - } else { - $j$129 = 0; - } - while(1) { - $71 = (_stbi__get8($s)|0); - $72 = (($raw_data) + ($j$129)|0); - HEAP8[$72>>0] = $71; - $73 = (($j$129) + 1)|0; - $74 = $73 << 3; - $75 = ($74|0)<($12|0); - if ($75) { - $j$129 = $73; - } else { - $RLE_count$114 = $RLE_count$113;$RLE_repeating$116 = $RLE_repeating$115; - break; - } - } - } - } - } while(0); - if (!($48)) { - _memcpy(($scevgep|0),($raw_data|0),($smax|0))|0; - } - $76 = (($RLE_count$114) + -1)|0; - $77 = (($i$139) + 1)|0; - $exitcond51 = ($77|0)==($50|0); - if ($exitcond51) { - break; - } else { - $RLE_count$040 = $76;$RLE_repeating$041 = $RLE_repeating$116;$i$139 = $77;$read_next_pixel$042 = 0; - } - } - } - $78 = ($18|0)==(0); - $79 = ($10|0)>(0); - $or$cond53 = $78 & $79; - if ($or$cond53) { - $80 = Math_imul($$10, $9)|0; - $81 = (($10) + -1)|0; - $82 = Math_imul($$10, $9)|0; - $83 = Math_imul($$10, $9)|0; - $84 = ($83|0)>(0); - $j$325 = 0; - while(1) { - if ($84) { - $85 = (($81) - ($j$325))|0; - $86 = Math_imul($82, $85)|0; - $87 = Math_imul($80, $j$325)|0; - $i$219 = $83;$index1$020 = $87;$index2$021 = $86; - while(1) { - $88 = (($28) + ($index1$020)|0); - $89 = HEAP8[$88>>0]|0; - $90 = (($28) + ($index2$021)|0); - $91 = HEAP8[$90>>0]|0; - HEAP8[$88>>0] = $91; - HEAP8[$90>>0] = $89; - $92 = (($index1$020) + 1)|0; - $93 = (($index2$021) + 1)|0; - $94 = (($i$219) + -1)|0; - $95 = ($94|0)>(0); - if ($95) { - $i$219 = $94;$index1$020 = $92;$index2$021 = $93; - } else { - break; - } - } - } - $96 = (($j$325) + 1)|0; - $97 = $96 << 1; - $98 = ($97|0)<($10|0); - if ($98) { - $j$325 = $96; - } else { - break; - } - } - } - $99 = ($tga_palette$0|0)==(0|0); - if (!($99)) { - _free($tga_palette$0); - } - } else { - $30 = ($10|0)>(0); - if ($30) { - $31 = ($18|0)==(0); - $32 = (($10) + -1)|0; - $33 = Math_imul($$10, $9)|0; - $34 = Math_imul($$10, $9)|0; - $i$048 = 0; - while(1) { - $35 = (($32) - ($i$048))|0; - $$i$048 = $31 ? $35 : $i$048; - $36 = Math_imul($33, $$i$048)|0; - $37 = (($28) + ($36)|0); - (_stbi__getn($s,$37,$34)|0); - $38 = (($i$048) + 1)|0; - $exitcond52 = ($38|0)==($10|0); - if ($exitcond52) { - break; - } else { - $i$048 = $38; - } - } - } - } - $100 = ($$10>>>0)>(2); - $101 = ($26|0)>(0); - $or$cond54 = $100 & $101; - if ($or$cond54) { - $102 = Math_imul($10, $9)|0; - $i$317 = 0;$tga_pixel$018 = $28; - while(1) { - $103 = HEAP8[$tga_pixel$018>>0]|0; - $104 = (($tga_pixel$018) + 2|0); - $105 = HEAP8[$104>>0]|0; - HEAP8[$tga_pixel$018>>0] = $105; - HEAP8[$104>>0] = $103; - $106 = (($tga_pixel$018) + ($$10)|0); - $107 = (($i$317) + 1)|0; - $exitcond = ($107|0)==($102|0); - if ($exitcond) { - break; - } else { - $i$317 = $107;$tga_pixel$018 = $106; - } - } - } - $108 = ($req_comp|0)==(0); - $109 = ($$10|0)==($req_comp|0); - $or$cond12 = $108 | $109; - if ($or$cond12) { - $$0 = $28; - STACKTOP = sp;return ($$0|0); - } - $110 = (_stbi__convert_format($28,$$10,$req_comp,$9,$10)|0); - $$0 = $110; - STACKTOP = sp;return ($$0|0); -} -function _stbi__convert_format($data,$img_n,$req_comp,$x,$y) { - $data = $data|0; - $img_n = $img_n|0; - $req_comp = $req_comp|0; - $x = $x|0; - $y = $y|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0; - var $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0; - var $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; - var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; - var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0; - var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0; - var $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $dest$080 = 0; - var $dest$1010 = 0, $dest$114 = 0, $dest$173 = 0, $dest$266 = 0, $dest$359 = 0, $dest$452 = 0, $dest$545 = 0, $dest$638 = 0, $dest$731 = 0, $dest$824 = 0, $dest$917 = 0, $i$0 = 0, $i$078 = 0, $i$081 = 0, $i$1 = 0, $i$10 = 0, $i$1011 = 0, $i$108 = 0, $i$11 = 0, $i$112 = 0; - var $i$115 = 0, $i$171 = 0, $i$174 = 0, $i$2 = 0, $i$264 = 0, $i$267 = 0, $i$3 = 0, $i$357 = 0, $i$360 = 0, $i$4 = 0, $i$450 = 0, $i$453 = 0, $i$5 = 0, $i$543 = 0, $i$546 = 0, $i$6 = 0, $i$636 = 0, $i$639 = 0, $i$7 = 0, $i$729 = 0; - var $i$732 = 0, $i$8 = 0, $i$822 = 0, $i$825 = 0, $i$9 = 0, $i$915 = 0, $i$918 = 0, $j$084 = 0, $req_comp$off = 0, $src$079 = 0, $src$109 = 0, $src$113 = 0, $src$172 = 0, $src$265 = 0, $src$358 = 0, $src$451 = 0, $src$544 = 0, $src$637 = 0, $src$730 = 0, $src$823 = 0; - var $src$916 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ($req_comp|0)==($img_n|0); - if ($0) { - $$0 = $data; - STACKTOP = sp;return ($$0|0); - } - $req_comp$off = (($req_comp) + -1)|0; - $1 = ($req_comp$off>>>0)<(4); - if (!($1)) { - ___assert_fail((15056|0),(12928|0),1225,(15088|0)); - // unreachable; - } - $2 = Math_imul($x, $req_comp)|0; - $3 = Math_imul($2, $y)|0; - $4 = (_stbi__malloc($3)|0); - $5 = ($4|0)==(0|0); - if ($5) { - _free($data); - _stbi__err(12832); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $6 = ($y|0)>(0); - L11: do { - if ($6) { - $7 = $img_n << 3; - $8 = (($7) + ($req_comp))|0; - $i$112 = (($x) + -1)|0; - $9 = ($i$112|0)>(-1); - $i$108 = (($x) + -1)|0; - $10 = ($i$108|0)>(-1); - $i$915 = (($x) + -1)|0; - $11 = ($i$915|0)>(-1); - $i$822 = (($x) + -1)|0; - $12 = ($i$822|0)>(-1); - $i$729 = (($x) + -1)|0; - $13 = ($i$729|0)>(-1); - $i$636 = (($x) + -1)|0; - $14 = ($i$636|0)>(-1); - $i$543 = (($x) + -1)|0; - $15 = ($i$543|0)>(-1); - $i$450 = (($x) + -1)|0; - $16 = ($i$450|0)>(-1); - $i$357 = (($x) + -1)|0; - $17 = ($i$357|0)>(-1); - $i$264 = (($x) + -1)|0; - $18 = ($i$264|0)>(-1); - $i$171 = (($x) + -1)|0; - $19 = ($i$171|0)>(-1); - $i$078 = (($x) + -1)|0; - $20 = ($i$078|0)>(-1); - $j$084 = 0; - L13: while(1) { - $21 = Math_imul($j$084, $x)|0; - $22 = Math_imul($21, $img_n)|0; - $23 = (($data) + ($22)|0); - $24 = Math_imul($21, $req_comp)|0; - $25 = (($4) + ($24)|0); - do { - switch ($8|0) { - case 20: { - if ($15) { - $dest$545 = $25;$i$546 = $i$543;$src$544 = $23; - while(1) { - $54 = HEAP8[$src$544>>0]|0; - $55 = (($dest$545) + 2|0); - HEAP8[$55>>0] = $54; - $56 = (($dest$545) + 1|0); - HEAP8[$56>>0] = $54; - HEAP8[$dest$545>>0] = $54; - $57 = (($src$544) + 1|0); - $58 = HEAP8[$57>>0]|0; - $59 = (($dest$545) + 3|0); - HEAP8[$59>>0] = $58; - $60 = (($src$544) + 2|0); - $61 = (($dest$545) + 4|0); - $i$5 = (($i$546) + -1)|0; - $62 = ($i$5|0)>(-1); - if ($62) { - $dest$545 = $61;$i$546 = $i$5;$src$544 = $60; - } else { - break; - } - } - } - break; - } - case 26: { - if ($12) { - $dest$824 = $25;$i$825 = $i$822;$src$823 = $23; - while(1) { - $86 = HEAP8[$src$823>>0]|0; - $87 = $86&255; - $88 = (($src$823) + 1|0); - $89 = HEAP8[$88>>0]|0; - $90 = $89&255; - $91 = (($src$823) + 2|0); - $92 = HEAP8[$91>>0]|0; - $93 = $92&255; - $94 = (_stbi__compute_y($87,$90,$93)|0); - HEAP8[$dest$824>>0] = $94; - $95 = (($dest$824) + 1|0); - HEAP8[$95>>0] = -1; - $96 = (($src$823) + 3|0); - $97 = (($dest$824) + 2|0); - $i$8 = (($i$825) + -1)|0; - $98 = ($i$8|0)>(-1); - if ($98) { - $dest$824 = $97;$i$825 = $i$8;$src$823 = $96; - } else { - break; - } - } - } - break; - } - case 17: { - if ($17) { - $dest$359 = $25;$i$360 = $i$357;$src$358 = $23; - while(1) { - $44 = HEAP8[$src$358>>0]|0; - HEAP8[$dest$359>>0] = $44; - $45 = (($src$358) + 2|0); - $46 = (($dest$359) + 1|0); - $i$3 = (($i$360) + -1)|0; - $47 = ($i$3|0)>(-1); - if ($47) { - $dest$359 = $46;$i$360 = $i$3;$src$358 = $45; - } else { - break; - } - } - } - break; - } - case 25: { - if ($13) { - $dest$731 = $25;$i$732 = $i$729;$src$730 = $23; - while(1) { - $74 = HEAP8[$src$730>>0]|0; - $75 = $74&255; - $76 = (($src$730) + 1|0); - $77 = HEAP8[$76>>0]|0; - $78 = $77&255; - $79 = (($src$730) + 2|0); - $80 = HEAP8[$79>>0]|0; - $81 = $80&255; - $82 = (_stbi__compute_y($75,$78,$81)|0); - HEAP8[$dest$731>>0] = $82; - $83 = (($src$730) + 3|0); - $84 = (($dest$731) + 1|0); - $i$7 = (($i$732) + -1)|0; - $85 = ($i$7|0)>(-1); - if ($85) { - $dest$731 = $84;$i$732 = $i$7;$src$730 = $83; - } else { - break; - } - } - } - break; - } - case 12: { - if ($18) { - $dest$266 = $25;$i$267 = $i$264;$src$265 = $23; - while(1) { - $37 = HEAP8[$src$265>>0]|0; - $38 = (($dest$266) + 2|0); - HEAP8[$38>>0] = $37; - $39 = (($dest$266) + 1|0); - HEAP8[$39>>0] = $37; - HEAP8[$dest$266>>0] = $37; - $40 = (($dest$266) + 3|0); - HEAP8[$40>>0] = -1; - $41 = (($src$265) + 1|0); - $42 = (($dest$266) + 4|0); - $i$2 = (($i$267) + -1)|0; - $43 = ($i$2|0)>(-1); - if ($43) { - $dest$266 = $42;$i$267 = $i$2;$src$265 = $41; - } else { - break; - } - } - } - break; - } - case 28: { - if ($14) { - $dest$638 = $25;$i$639 = $i$636;$src$637 = $23; - while(1) { - $63 = HEAP8[$src$637>>0]|0; - HEAP8[$dest$638>>0] = $63; - $64 = (($src$637) + 1|0); - $65 = HEAP8[$64>>0]|0; - $66 = (($dest$638) + 1|0); - HEAP8[$66>>0] = $65; - $67 = (($src$637) + 2|0); - $68 = HEAP8[$67>>0]|0; - $69 = (($dest$638) + 2|0); - HEAP8[$69>>0] = $68; - $70 = (($dest$638) + 3|0); - HEAP8[$70>>0] = -1; - $71 = (($src$637) + 3|0); - $72 = (($dest$638) + 4|0); - $i$6 = (($i$639) + -1)|0; - $73 = ($i$6|0)>(-1); - if ($73) { - $dest$638 = $72;$i$639 = $i$6;$src$637 = $71; - } else { - break; - } - } - } - break; - } - case 19: { - if ($16) { - $dest$452 = $25;$i$453 = $i$450;$src$451 = $23; - while(1) { - $48 = HEAP8[$src$451>>0]|0; - $49 = (($dest$452) + 2|0); - HEAP8[$49>>0] = $48; - $50 = (($dest$452) + 1|0); - HEAP8[$50>>0] = $48; - HEAP8[$dest$452>>0] = $48; - $51 = (($src$451) + 2|0); - $52 = (($dest$452) + 3|0); - $i$4 = (($i$453) + -1)|0; - $53 = ($i$4|0)>(-1); - if ($53) { - $dest$452 = $52;$i$453 = $i$4;$src$451 = $51; - } else { - break; - } - } - } - break; - } - case 33: { - if ($11) { - $dest$917 = $25;$i$918 = $i$915;$src$916 = $23; - while(1) { - $99 = HEAP8[$src$916>>0]|0; - $100 = $99&255; - $101 = (($src$916) + 1|0); - $102 = HEAP8[$101>>0]|0; - $103 = $102&255; - $104 = (($src$916) + 2|0); - $105 = HEAP8[$104>>0]|0; - $106 = $105&255; - $107 = (_stbi__compute_y($100,$103,$106)|0); - HEAP8[$dest$917>>0] = $107; - $108 = (($src$916) + 4|0); - $109 = (($dest$917) + 1|0); - $i$9 = (($i$918) + -1)|0; - $110 = ($i$9|0)>(-1); - if ($110) { - $dest$917 = $109;$i$918 = $i$9;$src$916 = $108; - } else { - break; - } - } - } - break; - } - case 11: { - if ($19) { - $dest$173 = $25;$i$174 = $i$171;$src$172 = $23; - while(1) { - $31 = HEAP8[$src$172>>0]|0; - $32 = (($dest$173) + 2|0); - HEAP8[$32>>0] = $31; - $33 = (($dest$173) + 1|0); - HEAP8[$33>>0] = $31; - HEAP8[$dest$173>>0] = $31; - $34 = (($src$172) + 1|0); - $35 = (($dest$173) + 3|0); - $i$1 = (($i$174) + -1)|0; - $36 = ($i$1|0)>(-1); - if ($36) { - $dest$173 = $35;$i$174 = $i$1;$src$172 = $34; - } else { - break; - } - } - } - break; - } - case 35: { - if ($9) { - $dest$114 = $25;$i$115 = $i$112;$src$113 = $23; - while(1) { - $126 = HEAP8[$src$113>>0]|0; - HEAP8[$dest$114>>0] = $126; - $127 = (($src$113) + 1|0); - $128 = HEAP8[$127>>0]|0; - $129 = (($dest$114) + 1|0); - HEAP8[$129>>0] = $128; - $130 = (($src$113) + 2|0); - $131 = HEAP8[$130>>0]|0; - $132 = (($dest$114) + 2|0); - HEAP8[$132>>0] = $131; - $133 = (($src$113) + 4|0); - $134 = (($dest$114) + 3|0); - $i$11 = (($i$115) + -1)|0; - $135 = ($i$11|0)>(-1); - if ($135) { - $dest$114 = $134;$i$115 = $i$11;$src$113 = $133; - } else { - break; - } - } - } - break; - } - case 10: { - if ($20) { - $dest$080 = $25;$i$081 = $i$078;$src$079 = $23; - while(1) { - $26 = HEAP8[$src$079>>0]|0; - HEAP8[$dest$080>>0] = $26; - $27 = (($dest$080) + 1|0); - HEAP8[$27>>0] = -1; - $28 = (($src$079) + 1|0); - $29 = (($dest$080) + 2|0); - $i$0 = (($i$081) + -1)|0; - $30 = ($i$0|0)>(-1); - if ($30) { - $dest$080 = $29;$i$081 = $i$0;$src$079 = $28; - } else { - break; - } - } - } - break; - } - case 34: { - if ($10) { - $dest$1010 = $25;$i$1011 = $i$108;$src$109 = $23; - while(1) { - $111 = HEAP8[$src$109>>0]|0; - $112 = $111&255; - $113 = (($src$109) + 1|0); - $114 = HEAP8[$113>>0]|0; - $115 = $114&255; - $116 = (($src$109) + 2|0); - $117 = HEAP8[$116>>0]|0; - $118 = $117&255; - $119 = (_stbi__compute_y($112,$115,$118)|0); - HEAP8[$dest$1010>>0] = $119; - $120 = (($src$109) + 3|0); - $121 = HEAP8[$120>>0]|0; - $122 = (($dest$1010) + 1|0); - HEAP8[$122>>0] = $121; - $123 = (($src$109) + 4|0); - $124 = (($dest$1010) + 2|0); - $i$10 = (($i$1011) + -1)|0; - $125 = ($i$10|0)>(-1); - if ($125) { - $dest$1010 = $124;$i$1011 = $i$10;$src$109 = $123; - } else { - break; - } - } - } - break; - } - default: { - break L13; - } - } - } while(0); - $136 = (($j$084) + 1)|0; - $137 = ($136|0)<($y|0); - if ($137) { - $j$084 = $136; - } else { - break L11; - } - } - ___assert_fail((15112|0),(12928|0),1254,(15088|0)); - // unreachable; - } - } while(0); - _free($data); - $$0 = $4; - STACKTOP = sp;return ($$0|0); -} -function _stbi__compute_y($r,$g,$b) { - $r = $r|0; - $g = $g|0; - $b = $b|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ($r*77)|0; - $1 = ($g*150)|0; - $2 = (($1) + ($0))|0; - $3 = ($b*29)|0; - $4 = (($2) + ($3))|0; - $5 = $4 >>> 8; - $6 = $5&255; - STACKTOP = sp;return ($6|0); -} -function _stbi__pic_load_core($s,$width,$height,$comp,$result) { - $s = $s|0; - $width = $width|0; - $height = $height|0; - $comp = $comp|0; - $result = $result|0; - var $$ = 0, $$0 = 0, $$op = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; - var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; - var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0; - var $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0; - var $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0; - var $act_comp$0 = 0, $count3$0 = 0, $count3$1 = 0, $dest$030 = 0, $dest$124 = 0, $dest$2$lcssa = 0, $dest$216 = 0, $dest$312 = 0, $dest$47 = 0, $dest$53 = 0, $dest$6 = 0, $exitcond = 0, $i$017 = 0, $i4$04 = 0, $i6$08 = 0, $left$025 = 0, $left2$013 = 0, $num_packets$0 = 0, $packet_idx$034 = 0, $packets = 0; - var $scevgep = 0, $scevgep47 = 0, $value = 0, $value5 = 0, $x$031 = 0, $y$038 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); - $packets = sp + 8|0; - $value = sp; - $value5 = sp + 4|0; - $act_comp$0 = 0;$num_packets$0 = 0; - while(1) { - $0 = ($num_packets$0|0)==(10); - if ($0) { - label = 3; - break; - } - $1 = (($num_packets$0) + 1)|0; - $2 = (_stbi__get8($s)|0); - $3 = (_stbi__get8($s)|0); - $4 = (($packets) + (($num_packets$0*3)|0)|0); - HEAP8[$4>>0] = $3; - $5 = (_stbi__get8($s)|0); - $6 = ((($packets) + (($num_packets$0*3)|0)|0) + 1|0); - HEAP8[$6>>0] = $5; - $7 = (_stbi__get8($s)|0); - $8 = ((($packets) + (($num_packets$0*3)|0)|0) + 2|0); - HEAP8[$8>>0] = $7; - $9 = $7&255; - $10 = $9 | $act_comp$0; - $11 = (_stbi__at_eof($s)|0); - $12 = ($11|0)==(0); - if (!($12)) { - label = 5; - break; - } - $13 = HEAP8[$4>>0]|0; - $14 = ($13<<24>>24)==(8); - if (!($14)) { - label = 7; - break; - } - $15 = ($2<<24>>24)==(0); - if ($15) { - label = 9; - break; - } else { - $act_comp$0 = $10;$num_packets$0 = $1; - } - } - if ((label|0) == 3) { - _stbi__err(15136); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - else if ((label|0) == 5) { - _stbi__err(15120); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - else if ((label|0) == 7) { - _stbi__err(15136); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - else if ((label|0) == 9) { - $16 = $10 >>> 4; - $17 = $16 & 1; - $18 = (($17) + 3)|0; - HEAP32[$comp>>2] = $18; - $19 = ($height|0)>(0); - if (!($19)) { - $$0 = $result; - STACKTOP = sp;return ($$0|0); - } - $20 = ($num_packets$0|0)>(-1); - $21 = $width << 2; - $22 = ($width|0)>(0); - $23 = ($width|0)>(0); - $24 = ($width|0)>(0); - $y$038 = 0; - L11: while(1) { - if ($20) { - $25 = Math_imul($21, $y$038)|0; - $26 = (($result) + ($25)|0); - $packet_idx$034 = 0; - while(1) { - $27 = ((($packets) + (($packet_idx$034*3)|0)|0) + 1|0); - $28 = HEAP8[$27>>0]|0; - $29 = $28&255; - if ((($29|0) == 1)) { - if ($23) { - $33 = ((($packets) + (($packet_idx$034*3)|0)|0) + 2|0); - $dest$124 = $26;$left$025 = $width; - while(1) { - $41 = (_stbi__get8($s)|0); - $42 = (_stbi__at_eof($s)|0); - $43 = ($42|0)==(0); - if (!($43)) { - label = 24; - break L11; - } - $44 = HEAP8[$33>>0]|0; - $45 = $44&255; - $46 = (_stbi__readval($s,$45,$value)|0); - $47 = ($46|0)==(0|0); - if ($47) { - $$0 = 0; - label = 52; - break L11; - } - $48 = $41&255; - $49 = $left$025&255; - $50 = ($48|0)>($left$025|0); - $$ = $50 ? $49 : $41; - $51 = $$&255; - $52 = ($$<<24>>24)==(0); - if ($52) { - $dest$2$lcssa = $dest$124; - } else { - $53 = $$&255; - $54 = ($$&255)>(1); - $$op = $53 << 2; - $55 = $54 ? $$op : 4; - $dest$216 = $dest$124;$i$017 = 0; - while(1) { - $56 = HEAP8[$33>>0]|0; - $57 = $56&255; - _stbi__copyval($57,$dest$216,$value); - $58 = (($i$017) + 1)|0; - $59 = (($dest$216) + 4|0); - $60 = ($58|0)<($51|0); - if ($60) { - $dest$216 = $59;$i$017 = $58; - } else { - break; - } - } - $scevgep47 = (($dest$124) + ($55)|0); - $dest$2$lcssa = $scevgep47; - } - $61 = (($left$025) - ($51))|0; - $62 = ($61|0)>(0); - if ($62) { - $dest$124 = $dest$2$lcssa;$left$025 = $61; - } else { - break; - } - } - } - } else if ((($29|0) == 2)) { - if ($22) { - $34 = ((($packets) + (($packet_idx$034*3)|0)|0) + 2|0); - $35 = ((($packets) + (($packet_idx$034*3)|0)|0) + 2|0); - $dest$312 = $26;$left2$013 = $width; - while(1) { - $63 = (_stbi__get8($s)|0); - $64 = $63&255; - $65 = (_stbi__at_eof($s)|0); - $66 = ($65|0)==(0); - if (!($66)) { - label = 32; - break L11; - } - $67 = ($63<<24>>24)<(0); - if ($67) { - $68 = ($63<<24>>24)==(-128); - if ($68) { - $69 = (_stbi__get16be($s)|0); - $count3$0 = $69; - } else { - $70 = (($64) + -127)|0; - $count3$0 = $70; - } - $71 = ($count3$0|0)>($left2$013|0); - if ($71) { - label = 38; - break L11; - } - $72 = HEAP8[$34>>0]|0; - $73 = $72&255; - $74 = (_stbi__readval($s,$73,$value5)|0); - $75 = ($74|0)==(0|0); - if ($75) { - $$0 = 0; - label = 52; - break L11; - } - $76 = ($count3$0|0)>(0); - if ($76) { - $77 = $count3$0 << 2; - $dest$47 = $dest$312;$i6$08 = 0; - while(1) { - $78 = HEAP8[$34>>0]|0; - $79 = $78&255; - _stbi__copyval($79,$dest$47,$value5); - $80 = (($i6$08) + 1)|0; - $81 = (($dest$47) + 4|0); - $exitcond = ($80|0)==($count3$0|0); - if ($exitcond) { - break; - } else { - $dest$47 = $81;$i6$08 = $80; - } - } - $scevgep = (($dest$312) + ($77)|0); - $count3$1 = $count3$0;$dest$6 = $scevgep; - } else { - $count3$1 = $count3$0;$dest$6 = $dest$312; - } - } else { - $82 = (($64) + 1)|0; - $83 = ($64|0)<($left2$013|0); - if (!($83)) { - label = 45; - break L11; - } - $84 = HEAP8[$35>>0]|0; - $85 = $84&255; - $dest$53 = $dest$312;$i4$04 = 0; - while(1) { - $86 = (_stbi__readval($s,$85,$dest$53)|0); - $87 = ($86|0)==(0|0); - if ($87) { - $$0 = 0; - label = 52; - break L11; - } - $88 = (($i4$04) + 1)|0; - $89 = (($dest$53) + 4|0); - $90 = ($88|0)<($82|0); - if ($90) { - $dest$53 = $89;$i4$04 = $88; - } else { - $count3$1 = $82;$dest$6 = $89; - break; - } - } - } - $91 = (($left2$013) - ($count3$1))|0; - $92 = ($91|0)>(0); - if ($92) { - $dest$312 = $dest$6;$left2$013 = $91; - } else { - break; - } - } - } - } else if ((($29|0) == 0)) { - if ($24) { - $30 = ((($packets) + (($packet_idx$034*3)|0)|0) + 2|0); - $31 = HEAP8[$30>>0]|0; - $32 = $31&255; - $dest$030 = $26;$x$031 = 0; - while(1) { - $36 = (_stbi__readval($s,$32,$dest$030)|0); - $37 = ($36|0)==(0|0); - if ($37) { - $$0 = 0; - label = 52; - break L11; - } - $38 = (($x$031) + 1)|0; - $39 = (($dest$030) + 4|0); - $40 = ($38|0)<($width|0); - if ($40) { - $dest$030 = $39;$x$031 = $38; - } else { - break; - } - } - } - } else { - label = 20; - break L11; - } - $93 = (($packet_idx$034) + 1)|0; - $94 = ($93|0)<($1|0); - if ($94) { - $packet_idx$034 = $93; - } else { - break; - } - } - } - $95 = (($y$038) + 1)|0; - $96 = ($95|0)<($height|0); - if ($96) { - $y$038 = $95; - } else { - $$0 = $result; - label = 52; - break; - } - } - if ((label|0) == 20) { - _stbi__err(15136); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - else if ((label|0) == 24) { - _stbi__err(15120); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - else if ((label|0) == 32) { - _stbi__err(15120); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - else if ((label|0) == 38) { - _stbi__err(15120); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - else if ((label|0) == 45) { - _stbi__err(15120); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - else if ((label|0) == 52) { - STACKTOP = sp;return ($$0|0); - } - } - return 0|0; -} -function _stbi__readval($s,$channel,$dest) { - $s = $s|0; - $channel = $channel|0; - $dest = $dest|0; - var $$0 = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $i$02 = 0, $mask$01 = 0, label = 0, sp = 0; - sp = STACKTOP; - $i$02 = 0;$mask$01 = 128; - while(1) { - $0 = $mask$01 & $channel; - $1 = ($0|0)==(0); - if (!($1)) { - $2 = (_stbi__at_eof($s)|0); - $3 = ($2|0)==(0); - if (!($3)) { - break; - } - $4 = (_stbi__get8($s)|0); - $5 = (($dest) + ($i$02)|0); - HEAP8[$5>>0] = $4; - } - $6 = (($i$02) + 1)|0; - $7 = $mask$01 >> 1; - $8 = ($6|0)<(4); - if ($8) { - $i$02 = $6;$mask$01 = $7; - } else { - $$0 = $dest; - label = 7; - break; - } - } - if ((label|0) == 7) { - STACKTOP = sp;return ($$0|0); - } - _stbi__err(15120); - $$0 = 0; - STACKTOP = sp;return ($$0|0); -} -function _stbi__copyval($channel,$dest,$src) { - $channel = $channel|0; - $dest = $dest|0; - $src = $src|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = $channel & 128; - $1 = ($0|0)==(0); - if (!($1)) { - $2 = HEAP8[$src>>0]|0; - HEAP8[$dest>>0] = $2; - } - $3 = $channel & 64; - $4 = ($3|0)==(0); - if (!($4)) { - $5 = (($src) + 1|0); - $6 = HEAP8[$5>>0]|0; - $7 = (($dest) + 1|0); - HEAP8[$7>>0] = $6; - } - $8 = $channel & 32; - $9 = ($8|0)==(0); - if (!($9)) { - $10 = (($src) + 2|0); - $11 = HEAP8[$10>>0]|0; - $12 = (($dest) + 2|0); - HEAP8[$12>>0] = $11; - } - $13 = $channel & 16; - $14 = ($13|0)==(0); - if ($14) { - STACKTOP = sp;return; - } - $15 = (($src) + 3|0); - $16 = HEAP8[$15>>0]|0; - $17 = (($dest) + 3|0); - HEAP8[$17>>0] = $16; - STACKTOP = sp;return; -} -function _stbi__pic_test_core($s) { - $s = $s|0; - var $$ = 0, $$0 = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $exitcond = 0, $i$01 = 0, $not$ = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_stbi__pic_is4($s,15152)|0); - $1 = ($0|0)==(0); - if ($1) { - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } else { - $i$01 = 0; - } - while(1) { - (_stbi__get8($s)|0); - $2 = (($i$01) + 1)|0; - $exitcond = ($2|0)==(84); - if ($exitcond) { - break; - } else { - $i$01 = $2; - } - } - $3 = (_stbi__pic_is4($s,15160)|0); - $not$ = ($3|0)!=(0); - $$ = $not$&1; - $$0 = $$; - STACKTOP = sp;return ($$0|0); -} -function _stbi__pic_is4($s,$str) { - $s = $s|0; - $str = $str|0; - var $$0 = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $i$01 = 0, label = 0, sp = 0; - sp = STACKTOP; - $i$01 = 0; - while(1) { - $2 = (_stbi__get8($s)|0); - $3 = (($str) + ($i$01)|0); - $4 = HEAP8[$3>>0]|0; - $5 = ($2<<24>>24)==($4<<24>>24); - $1 = (($i$01) + 1)|0; - if (!($5)) { - $$0 = 0; - label = 4; - break; - } - $0 = ($1|0)<(4); - if ($0) { - $i$01 = $1; - } else { - $$0 = 1; - label = 4; - break; - } - } - if ((label|0) == 4) { - STACKTOP = sp;return ($$0|0); - } - return 0|0; -} -function _stbi__gif_load_next($s,$g,$comp,$req_comp) { - $s = $s|0; - $g = $g|0; - $comp = $comp|0; - $req_comp = $req_comp|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0; - var $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0; - var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0; - var $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0; - var $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0; - var $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0; - var $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond = 0, $i$02 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (($g) + 8|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)==(0|0); - do { - if ($2) { - $3 = (_stbi__gif_header($s,$g,$comp,0)|0); - $4 = ($3|0)==(0); - if ($4) { - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $5 = HEAP32[$g>>2]|0; - $6 = $5 << 2; - $7 = (($g) + 4|0); - $8 = HEAP32[$7>>2]|0; - $9 = Math_imul($6, $8)|0; - $10 = (_stbi__malloc($9)|0); - HEAP32[$0>>2] = $10; - $11 = ($10|0)==(0|0); - if (!($11)) { - _stbi__fill_gif_background($g); - break; - } - _stbi__err(12832); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } else { - $12 = (($g) + 28|0); - $13 = HEAP32[$12>>2]|0; - $14 = $13 & 28; - $15 = ($14|0)==(12); - if ($15) { - $16 = HEAP32[$g>>2]|0; - $17 = $16 << 2; - $18 = (($g) + 4|0); - $19 = HEAP32[$18>>2]|0; - $20 = Math_imul($17, $19)|0; - $21 = (_stbi__malloc($20)|0); - HEAP32[$0>>2] = $21; - $22 = ($21|0)==(0|0); - if (!($22)) { - $23 = HEAP32[$g>>2]|0; - $24 = HEAP32[$18>>2]|0; - $25 = $23 << 2; - $26 = Math_imul($25, $24)|0; - _memcpy(($21|0),($1|0),($26|0))|0; - break; - } - _stbi__err(12832); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - } - } while(0); - $27 = (($g) + 28|0); - $28 = (($g) + 24|0); - L17: while(1) { - $29 = (_stbi__get8($s)|0); - $30 = $29&255; - if ((($30|0) == 44)) { - label = 12; - break; - } else if ((($30|0) == 59)) { - label = 38; - break; - } else if (!((($30|0) == 33))) { - label = 39; - break; - } - $108 = (_stbi__get8($s)|0); - $109 = ($108<<24>>24)==(-7); - do { - if ($109) { - $112 = (_stbi__get8($s)|0); - $113 = ($112<<24>>24)==(4); - if ($113) { - $114 = (_stbi__get8($s)|0); - $115 = $114&255; - HEAP32[$27>>2] = $115; - (_stbi__get16le($s)|0); - $116 = (_stbi__get8($s)|0); - $117 = $116&255; - HEAP32[$28>>2] = $117; - break; - } else { - $118 = $112&255; - _stbi__skip($s,$118); - continue L17; - } - } - } while(0); - $110 = (_stbi__get8($s)|0); - $111 = ($110<<24>>24)==(0); - if ($111) { - continue; - } else { - $120 = $110; - } - while(1) { - $119 = $120&255; - _stbi__skip($s,$119); - $121 = (_stbi__get8($s)|0); - $122 = ($121<<24>>24)==(0); - if ($122) { - continue L17; - } else { - $120 = $121; - } - } - } - if ((label|0) == 12) { - $31 = (_stbi__get16le($s)|0); - $32 = (_stbi__get16le($s)|0); - $33 = (_stbi__get16le($s)|0); - $34 = (_stbi__get16le($s)|0); - $35 = (($33) + ($31))|0; - $36 = HEAP32[$g>>2]|0; - $37 = ($35|0)>($36|0); - if (!($37)) { - $38 = (($34) + ($32))|0; - $39 = (($g) + 4|0); - $40 = HEAP32[$39>>2]|0; - $41 = ($38|0)>($40|0); - if (!($41)) { - $42 = $36 << 2; - $43 = (($g) + 18504|0); - HEAP32[$43>>2] = $42; - $44 = $31 << 2; - $45 = (($g) + 18480|0); - HEAP32[$45>>2] = $44; - $46 = HEAP32[$43>>2]|0; - $47 = Math_imul($46, $32)|0; - $48 = (($g) + 18484|0); - HEAP32[$48>>2] = $47; - $49 = HEAP32[$45>>2]|0; - $50 = $33 << 2; - $51 = (($49) + ($50))|0; - $52 = (($g) + 18488|0); - HEAP32[$52>>2] = $51; - $53 = HEAP32[$48>>2]|0; - $54 = HEAP32[$43>>2]|0; - $55 = Math_imul($54, $34)|0; - $56 = (($55) + ($53))|0; - $57 = (($g) + 18492|0); - HEAP32[$57>>2] = $56; - $58 = HEAP32[$45>>2]|0; - $59 = (($g) + 18496|0); - HEAP32[$59>>2] = $58; - $60 = HEAP32[$48>>2]|0; - $61 = (($g) + 18500|0); - HEAP32[$61>>2] = $60; - $62 = (_stbi__get8($s)|0); - $63 = $62&255; - $64 = (($g) + 18476|0); - HEAP32[$64>>2] = $63; - $65 = $63 & 64; - $66 = ($65|0)==(0); - $67 = HEAP32[$43>>2]|0; - if ($66) { - $71 = (($g) + 18472|0); - HEAP32[$71>>2] = $67; - $72 = (($g) + 18468|0); - HEAP32[$72>>2] = 0; - } else { - $68 = $67 << 3; - $69 = (($g) + 18472|0); - HEAP32[$69>>2] = $68; - $70 = (($g) + 18468|0); - HEAP32[$70>>2] = 3; - } - $73 = HEAP32[$64>>2]|0; - $74 = $73 & 128; - $75 = ($74|0)==(0); - if ($75) { - $87 = (($g) + 12|0); - $88 = HEAP32[$87>>2]|0; - $89 = $88 & 128; - $90 = ($89|0)==(0); - if ($90) { - _stbi__err(15288); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } else { - $i$02 = 0; - } - while(1) { - $91 = ((($g) + ($i$02<<2)|0) + 35|0); - HEAP8[$91>>0] = -1; - $92 = (($i$02) + 1)|0; - $exitcond = ($92|0)==(256); - if ($exitcond) { - break; - } else { - $i$02 = $92; - } - } - $93 = (($g) + 24|0); - $94 = HEAP32[$93>>2]|0; - $95 = ($94|0)>(-1); - if ($95) { - $96 = (($g) + 28|0); - $97 = HEAP32[$96>>2]|0; - $98 = $97 & 1; - $99 = ($98|0)==(0); - if (!($99)) { - $100 = ((($g) + ($94<<2)|0) + 35|0); - HEAP8[$100>>0] = 0; - } - } - $101 = (($g) + 32|0); - $102 = (($g) + 18464|0); - HEAP32[$102>>2] = $101; - } else { - $76 = (($g) + 1056|0); - $77 = $73 & 7; - $78 = 2 << $77; - $79 = (($g) + 28|0); - $80 = HEAP32[$79>>2]|0; - $81 = $80 & 1; - $82 = ($81|0)==(0); - if ($82) { - $85 = -1; - } else { - $83 = (($g) + 24|0); - $84 = HEAP32[$83>>2]|0; - $85 = $84; - } - _stbi__gif_parse_colortable($s,$76,$78,$85); - $86 = (($g) + 18464|0); - HEAP32[$86>>2] = $76; - } - $103 = (_stbi__process_gif_raster($s,$g)|0); - $104 = ($103|0)==(0|0); - if ($104) { - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - if ((($req_comp|0) == 0) | (($req_comp|0) == 4)) { - $$0 = $103; - STACKTOP = sp;return ($$0|0); - } - $105 = HEAP32[$g>>2]|0; - $106 = HEAP32[$39>>2]|0; - $107 = (_stbi__convert_format($103,4,$req_comp,$105,$106)|0); - $$0 = $107; - STACKTOP = sp;return ($$0|0); - } - } - _stbi__err(15264); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - else if ((label|0) == 38) { - $$0 = $s; - STACKTOP = sp;return ($$0|0); - } - else if ((label|0) == 39) { - _stbi__err(15312); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - return 0|0; -} -function _stbi__fill_gif_background($g) { - $g = $g|0; - var $$sum1 = 0, $$sum2 = 0, $$sum3 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; - var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i$04 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (($g) + 16|0); - $1 = HEAP32[$0>>2]|0; - $2 = ((($g) + ($1<<2)|0) + 32|0); - $3 = HEAP32[$g>>2]|0; - $4 = (($g) + 4|0); - $5 = HEAP32[$4>>2]|0; - $6 = $3 << 2; - $7 = Math_imul($6, $5)|0; - $8 = ($7|0)>(0); - if (!($8)) { - STACKTOP = sp;return; - } - $9 = (($g) + 8|0); - $10 = ((($g) + ($1<<2)|0) + 34|0); - $11 = ((($g) + ($1<<2)|0) + 33|0); - $12 = ((($g) + ($1<<2)|0) + 35|0); - $i$04 = 0; - while(1) { - $13 = HEAP32[$9>>2]|0; - $14 = (($13) + ($i$04)|0); - $15 = HEAP8[$10>>0]|0; - HEAP8[$14>>0] = $15; - $16 = HEAP8[$11>>0]|0; - $$sum1 = $i$04 | 1; - $17 = (($13) + ($$sum1)|0); - HEAP8[$17>>0] = $16; - $18 = HEAP8[$2>>0]|0; - $$sum2 = $i$04 | 2; - $19 = (($13) + ($$sum2)|0); - HEAP8[$19>>0] = $18; - $20 = HEAP8[$12>>0]|0; - $$sum3 = $i$04 | 3; - $21 = (($13) + ($$sum3)|0); - HEAP8[$21>>0] = $20; - $22 = (($i$04) + 4)|0; - $23 = HEAP32[$g>>2]|0; - $24 = HEAP32[$4>>2]|0; - $25 = $23 << 2; - $26 = Math_imul($25, $24)|0; - $27 = ($22|0)<($26|0); - if ($27) { - $i$04 = $22; - } else { - break; - } - } - STACKTOP = sp;return; -} -function _stbi__process_gif_raster($s,$g) { - $s = $s|0; - $g = $g|0; - var $$0 = 0, $$sink = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; - var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0; - var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $avail$0$ph = 0, $avail$0$ph7 = 0; - var $avail$1 = 0, $bits$0$lcssa = 0, $bits$0$ph = 0, $bits$0$ph3 = 0, $bits$0$ph9 = 0, $bits$015 = 0, $code$022 = 0, $codemask$0$ph = 0, $codemask$0$ph$in = 0, $codesize$0$ph = 0, $codesize$0$ph$in = 0, $exitcond = 0, $first$0$ph = 0, $len$0$lcssa = 0, $len$0$ph = 0, $len$0$ph11 = 0, $len$0$ph5 = 0, $len$017 = 0, $len$1 = 0, $oldcode$0$ph = 0; - var $oldcode$0$ph8 = 0, $or$cond = 0, $valid_bits$0$lcssa = 0, $valid_bits$0$ph = 0, $valid_bits$0$ph10 = 0, $valid_bits$0$ph4 = 0, $valid_bits$016 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_stbi__get8($s)|0); - $1 = $0&255; - $2 = 1 << $1; - $3 = ($2|0)>(0); - if ($3) { - $code$022 = 0; - while(1) { - $4 = ((($g) + ($code$022<<2)|0) + 2080|0); - HEAP16[$4>>1] = -1; - $5 = $code$022&255; - $6 = ((($g) + ($code$022<<2)|0) + 2082|0); - HEAP8[$6>>0] = $5; - $7 = ((($g) + ($code$022<<2)|0) + 2083|0); - HEAP8[$7>>0] = $5; - $8 = (($code$022) + 1)|0; - $exitcond = ($8|0)==($2|0); - if ($exitcond) { - break; - } else { - $code$022 = $8; - } - } - } - $9 = (($2) + 2)|0; - $10 = (($2) + 1)|0; - $bits$0$ph = 0;$first$0$ph = 0;$len$0$ph = 0;$valid_bits$0$ph = 0; - L5: while(1) { - $avail$0$ph = $9;$bits$0$ph3 = $bits$0$ph;$codesize$0$ph$in = $1;$len$0$ph5 = $len$0$ph;$oldcode$0$ph = -1;$valid_bits$0$ph4 = $valid_bits$0$ph; - L7: while(1) { - $codesize$0$ph = (($codesize$0$ph$in) + 1)|0; - $codemask$0$ph$in = 1 << $codesize$0$ph; - $codemask$0$ph = (($codemask$0$ph$in) + -1)|0; - $avail$0$ph7 = $avail$0$ph;$bits$0$ph9 = $bits$0$ph3;$len$0$ph11 = $len$0$ph5;$oldcode$0$ph8 = $oldcode$0$ph;$valid_bits$0$ph10 = $valid_bits$0$ph4; - while(1) { - $11 = ($valid_bits$0$ph10|0)<($codesize$0$ph|0); - if ($11) { - $bits$015 = $bits$0$ph9;$len$017 = $len$0$ph11;$valid_bits$016 = $valid_bits$0$ph10; - while(1) { - $12 = ($len$017|0)==(0); - if ($12) { - $13 = (_stbi__get8($s)|0); - $14 = $13&255; - $15 = ($13<<24>>24)==(0); - if ($15) { - label = 9; - break L5; - } else { - $len$1 = $14; - } - } else { - $len$1 = $len$017; - } - $18 = (($len$1) + -1)|0; - $19 = (_stbi__get8($s)|0); - $20 = $19&255; - $21 = $20 << $valid_bits$016; - $22 = $21 | $bits$015; - $23 = (($valid_bits$016) + 8)|0; - $24 = ($23|0)<($codesize$0$ph|0); - if ($24) { - $bits$015 = $22;$len$017 = $18;$valid_bits$016 = $23; - } else { - $bits$0$lcssa = $22;$len$0$lcssa = $18;$valid_bits$0$lcssa = $23; - break; - } - } - } else { - $bits$0$lcssa = $bits$0$ph9;$len$0$lcssa = $len$0$ph11;$valid_bits$0$lcssa = $valid_bits$0$ph10; - } - $25 = $bits$0$lcssa & $codemask$0$ph; - $26 = $bits$0$lcssa >> $codesize$0$ph; - $27 = (($valid_bits$0$lcssa) - ($codesize$0$ph))|0; - $28 = ($25|0)==($2|0); - if ($28) { - $bits$0$ph = $26;$first$0$ph = 1;$len$0$ph = $len$0$lcssa;$valid_bits$0$ph = $27; - continue L5; - } - $29 = ($25|0)==($10|0); - if ($29) { - label = 13; - break L5; - } - $38 = ($25|0)>($avail$0$ph7|0); - if ($38) { - label = 28; - break L5; - } - if (!($first$0$ph)) { - label = 18; - break L5; - } - $39 = ($oldcode$0$ph8|0)>(-1); - if ($39) { - $40 = (($avail$0$ph7) + 1)|0; - $41 = ($avail$0$ph7|0)>(4095); - if ($41) { - label = 21; - break L5; - } - $42 = $oldcode$0$ph8&65535; - $43 = ((($g) + ($avail$0$ph7<<2)|0) + 2080|0); - HEAP16[$43>>1] = $42; - $44 = ((($g) + ($oldcode$0$ph8<<2)|0) + 2082|0); - $45 = HEAP8[$44>>0]|0; - $46 = ((($g) + ($avail$0$ph7<<2)|0) + 2082|0); - HEAP8[$46>>0] = $45; - $47 = ($25|0)==($40|0); - if ($47) { - $$sink = $45; - } else { - $48 = ((($g) + ($25<<2)|0) + 2082|0); - $49 = HEAP8[$48>>0]|0; - $$sink = $49; - } - $50 = ((($g) + ($avail$0$ph7<<2)|0) + 2083|0); - HEAP8[$50>>0] = $$sink; - $avail$1 = $40; - } else { - $51 = ($25|0)==($avail$0$ph7|0); - if ($51) { - label = 26; - break L5; - } else { - $avail$1 = $avail$0$ph7; - } - } - $52 = $25&65535; - _stbi__out_gif_code($g,$52); - $53 = $avail$1 & $codemask$0$ph; - $54 = ($53|0)==(0); - $55 = ($avail$1|0)<(4096); - $or$cond = $54 & $55; - if ($or$cond) { - $avail$0$ph = $avail$1;$bits$0$ph3 = $26;$codesize$0$ph$in = $codesize$0$ph;$len$0$ph5 = $len$0$lcssa;$oldcode$0$ph = $25;$valid_bits$0$ph4 = $27; - continue L7; - } else { - $avail$0$ph7 = $avail$1;$bits$0$ph9 = $26;$len$0$ph11 = $len$0$lcssa;$oldcode$0$ph8 = $25;$valid_bits$0$ph10 = $27; - } - } - } - } - if ((label|0) == 9) { - $16 = (($g) + 8|0); - $17 = HEAP32[$16>>2]|0; - $$0 = $17; - STACKTOP = sp;return ($$0|0); - } - else if ((label|0) == 13) { - _stbi__skip($s,$len$0$lcssa); - $30 = (_stbi__get8($s)|0); - $31 = ($30<<24>>24)==(0); - if (!($31)) { - $33 = $30; - while(1) { - $32 = $33&255; - _stbi__skip($s,$32); - $34 = (_stbi__get8($s)|0); - $35 = ($34<<24>>24)==(0); - if ($35) { - break; - } else { - $33 = $34; - } - } - } - $36 = (($g) + 8|0); - $37 = HEAP32[$36>>2]|0; - $$0 = $37; - STACKTOP = sp;return ($$0|0); - } - else if ((label|0) == 18) { - _stbi__err(15328); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - else if ((label|0) == 21) { - _stbi__err(15344); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - else if ((label|0) == 26) { - _stbi__err(15360); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - else if ((label|0) == 28) { - _stbi__err(15360); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - return 0|0; -} -function _stbi__out_gif_code($g,$code) { - $g = $g|0; - $code = $code|0; - var $$pr = 0, $$sum = 0, $$sum1 = 0, $$sum2 = 0, $$sum3 = 0, $$sum4 = 0, $$sum5 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0; - var $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0; - var $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0; - var $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = $code&65535; - $1 = ((($g) + ($0<<2)|0) + 2080|0); - $2 = HEAP16[$1>>1]|0; - $3 = ($2<<16>>16)>(-1); - if ($3) { - _stbi__out_gif_code($g,$2); - } - $4 = (($g) + 18500|0); - $5 = HEAP32[$4>>2]|0; - $6 = (($g) + 18492|0); - $7 = HEAP32[$6>>2]|0; - $8 = ($5|0)<($7|0); - if (!($8)) { - STACKTOP = sp;return; - } - $9 = (($g) + 18496|0); - $10 = HEAP32[$9>>2]|0; - $11 = (($10) + ($5))|0; - $12 = (($g) + 8|0); - $13 = HEAP32[$12>>2]|0; - $14 = ((($g) + ($0<<2)|0) + 2083|0); - $15 = HEAP8[$14>>0]|0; - $16 = $15&255; - $17 = $16 << 2; - $18 = (($g) + 18464|0); - $19 = HEAP32[$18>>2]|0; - $$sum1 = $17 | 3; - $20 = (($19) + ($$sum1)|0); - $21 = HEAP8[$20>>0]|0; - $22 = ($21<<24>>24)<(0); - if ($22) { - $23 = (($19) + ($17)|0); - $24 = (($13) + ($11)|0); - $$sum2 = $17 | 2; - $25 = (($19) + ($$sum2)|0); - $26 = HEAP8[$25>>0]|0; - HEAP8[$24>>0] = $26; - $$sum3 = $17 | 1; - $27 = (($19) + ($$sum3)|0); - $28 = HEAP8[$27>>0]|0; - $$sum = (($11) + 1)|0; - $29 = (($13) + ($$sum)|0); - HEAP8[$29>>0] = $28; - $30 = HEAP8[$23>>0]|0; - $$sum4 = (($11) + 2)|0; - $31 = (($13) + ($$sum4)|0); - HEAP8[$31>>0] = $30; - $32 = HEAP8[$20>>0]|0; - $$sum5 = (($11) + 3)|0; - $33 = (($13) + ($$sum5)|0); - HEAP8[$33>>0] = $32; - } - $34 = HEAP32[$9>>2]|0; - $35 = (($34) + 4)|0; - HEAP32[$9>>2] = $35; - $36 = (($g) + 18488|0); - $37 = HEAP32[$36>>2]|0; - $38 = ($35|0)<($37|0); - if ($38) { - STACKTOP = sp;return; - } - $39 = (($g) + 18480|0); - $40 = HEAP32[$39>>2]|0; - HEAP32[$9>>2] = $40; - $41 = (($g) + 18472|0); - $42 = HEAP32[$41>>2]|0; - $43 = HEAP32[$4>>2]|0; - $44 = (($43) + ($42))|0; - HEAP32[$4>>2] = $44; - $45 = (($g) + 18468|0); - $46 = HEAP32[$6>>2]|0; - $47 = ($44|0)<($46|0); - if ($47) { - STACKTOP = sp;return; - } - $48 = (($g) + 18504|0); - $49 = (($g) + 18484|0); - $$pr = HEAP32[$45>>2]|0; - $51 = $$pr; - while(1) { - $50 = ($51|0)>(0); - if (!($50)) { - label = 11; - break; - } - $52 = HEAP32[$48>>2]|0; - $53 = $52 << $51; - HEAP32[$41>>2] = $53; - $54 = HEAP32[$49>>2]|0; - $55 = $53 >> 1; - $56 = (($55) + ($54))|0; - HEAP32[$4>>2] = $56; - $57 = HEAP32[$45>>2]|0; - $58 = (($57) + -1)|0; - HEAP32[$45>>2] = $58; - $59 = HEAP32[$4>>2]|0; - $60 = HEAP32[$6>>2]|0; - $61 = ($59|0)<($60|0); - if ($61) { - label = 11; - break; - } else { - $51 = $58; - } - } - if ((label|0) == 11) { - STACKTOP = sp;return; - } -} -function _stbi__gif_test_raw($s) { - $s = $s|0; - var $$ = 0, $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_stbi__get8($s)|0); - $1 = ($0<<24>>24)==(71); - if ($1) { - $2 = (_stbi__get8($s)|0); - $3 = ($2<<24>>24)==(73); - if ($3) { - $4 = (_stbi__get8($s)|0); - $5 = ($4<<24>>24)==(70); - if ($5) { - $6 = (_stbi__get8($s)|0); - $7 = ($6<<24>>24)==(56); - if ($7) { - $8 = (_stbi__get8($s)|0); - if ((($8<<24>>24) == 55) | (($8<<24>>24) == 57)) { - $9 = (_stbi__get8($s)|0); - $10 = ($9<<24>>24)==(97); - $$ = $10&1; - $$0 = $$; - } else { - $$0 = 0; - } - } else { - $$0 = 0; - } - } else { - $$0 = 0; - } - } else { - $$0 = 0; - } - } else { - $$0 = 0; - } - STACKTOP = sp;return ($$0|0); -} -function _stbi__high_bit($z) { - $z = $z|0; - var $$ = 0, $$01 = 0, $$1 = 0, $$2 = 0, $$3 = 0, $$n$3 = 0, $$z = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; - var $9 = 0, $n$1 = 0, $n$2 = 0, $n$3 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ($z|0)==(0); - if ($0) { - $$01 = -1; - STACKTOP = sp;return ($$01|0); - } - $1 = ($z>>>0)>(65535); - $2 = $z >>> 16; - $$z = $1 ? $2 : $z; - $$ = $1 ? 16 : 0; - $3 = ($$z>>>0)>(255); - if ($3) { - $4 = $$ | 8; - $5 = $$z >>> 8; - $$1 = $5;$n$1 = $4; - } else { - $$1 = $$z;$n$1 = $$; - } - $6 = ($$1>>>0)>(15); - if ($6) { - $7 = (($n$1) + 4)|0; - $8 = $$1 >>> 4; - $$2 = $8;$n$2 = $7; - } else { - $$2 = $$1;$n$2 = $n$1; - } - $9 = ($$2>>>0)>(3); - if ($9) { - $10 = (($n$2) + 2)|0; - $11 = $$2 >>> 2; - $$3 = $11;$n$3 = $10; - } else { - $$3 = $$2;$n$3 = $n$2; - } - $12 = ($$3>>>0)>(1); - $13 = $12&1; - $$n$3 = (($13) + ($n$3))|0; - $$01 = $$n$3; - STACKTOP = sp;return ($$01|0); -} -function _stbi__bitcount($a) { - $a = $a|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = $a & 1431655765; - $1 = $a >>> 1; - $2 = $1 & 1431655765; - $3 = (($2) + ($0))|0; - $4 = $3 & 858993459; - $5 = $3 >>> 2; - $6 = $5 & 858993459; - $7 = (($6) + ($4))|0; - $8 = $7 >>> 4; - $9 = (($8) + ($7))|0; - $10 = $9 & 252645135; - $11 = $10 >>> 8; - $12 = (($11) + ($10))|0; - $13 = $12 >>> 16; - $14 = (($13) + ($12))|0; - $15 = $14 & 255; - STACKTOP = sp;return ($15|0); -} -function _stbi__shiftsigned($v,$shift,$bits) { - $v = $v|0; - $shift = $shift|0; - $bits = $bits|0; - var $$0 = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $result$0$lcssa = 0, $result$01 = 0, $z$02 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ($shift|0)<(0); - if ($0) { - $1 = (0 - ($shift))|0; - $2 = $v << $1; - $$0 = $2; - } else { - $3 = $v >> $shift; - $$0 = $3; - } - $4 = ($bits|0)<(8); - if ($4) { - $result$01 = $$0;$z$02 = $bits; - } else { - $result$0$lcssa = $$0; - STACKTOP = sp;return ($result$0$lcssa|0); - } - while(1) { - $5 = $$0 >> $z$02; - $6 = (($5) + ($result$01))|0; - $7 = (($z$02) + ($bits))|0; - $8 = ($7|0)<(8); - if ($8) { - $result$01 = $6;$z$02 = $7; - } else { - $result$0$lcssa = $6; - break; - } - } - STACKTOP = sp;return ($result$0$lcssa|0); -} -function _stbi__bmp_test_raw($s) { - $s = $s|0; - var $$0 = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_stbi__get8($s)|0); - $1 = ($0<<24>>24)==(66); - L1: do { - if ($1) { - $2 = (_stbi__get8($s)|0); - $3 = ($2<<24>>24)==(77); - if ($3) { - (_stbi__get32le($s)|0); - (_stbi__get16le($s)|0); - (_stbi__get16le($s)|0); - (_stbi__get32le($s)|0); - $4 = (_stbi__get32le($s)|0); - switch ($4|0) { - case 124: case 12: case 40: case 56: case 108: { - $$0 = 1; - break L1; - break; - } - default: { - } - } - $$0 = 0; - } else { - $$0 = 0; - } - } else { - $$0 = 0; - } - } while(0); - STACKTOP = sp;return ($$0|0); -} -function _stbi__do_png($p,$x,$y,$n,$req_comp) { - $p = $p|0; - $x = $x|0; - $y = $y|0; - $n = $n|0; - $req_comp = $req_comp|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $result$0 = 0, $result$1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ($req_comp>>>0)>(4); - if ($0) { - _stbi__err(15520); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $1 = (_stbi__parse_png_file($p,0,$req_comp)|0); - $2 = ($1|0)==(0); - if ($2) { - $result$1 = 0; - } else { - $3 = (($p) + 12|0); - $4 = HEAP32[$3>>2]|0; - HEAP32[$3>>2] = 0; - $5 = ($req_comp|0)==(0); - if ($5) { - $result$0 = $4; - } else { - $6 = HEAP32[$p>>2]|0; - $7 = (($6) + 12|0); - $8 = HEAP32[$7>>2]|0; - $9 = ($8|0)==($req_comp|0); - if ($9) { - $result$0 = $4; - } else { - $10 = HEAP32[$6>>2]|0; - $11 = (($6) + 4|0); - $12 = HEAP32[$11>>2]|0; - $13 = (_stbi__convert_format($4,$8,$req_comp,$10,$12)|0); - $14 = HEAP32[$p>>2]|0; - $15 = (($14) + 12|0); - HEAP32[$15>>2] = $req_comp; - $16 = ($13|0)==(0|0); - if ($16) { - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } else { - $result$0 = $13; - } - } - } - $17 = HEAP32[$p>>2]|0; - $18 = HEAP32[$17>>2]|0; - HEAP32[$x>>2] = $18; - $19 = HEAP32[$p>>2]|0; - $20 = (($19) + 4|0); - $21 = HEAP32[$20>>2]|0; - HEAP32[$y>>2] = $21; - $22 = ($n|0)==(0|0); - if ($22) { - $result$1 = $result$0; - } else { - $23 = HEAP32[$p>>2]|0; - $24 = (($23) + 12|0); - $25 = HEAP32[$24>>2]|0; - HEAP32[$n>>2] = $25; - $result$1 = $result$0; - } - } - $26 = (($p) + 12|0); - $27 = HEAP32[$26>>2]|0; - _free($27); - HEAP32[$26>>2] = 0; - $28 = (($p) + 8|0); - $29 = HEAP32[$28>>2]|0; - _free($29); - HEAP32[$28>>2] = 0; - $30 = (($p) + 4|0); - $31 = HEAP32[$30>>2]|0; - _free($31); - HEAP32[$30>>2] = 0; - $$0 = $result$1; - STACKTOP = sp;return ($$0|0); -} -function _stbi__setup_jpeg($j) { - $j = $j|0; - var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (($j) + 18176|0); - HEAP32[$0>>2] = 2; - $1 = (($j) + 18180|0); - HEAP32[$1>>2] = 1; - $2 = (($j) + 18184|0); - HEAP32[$2>>2] = 1; - STACKTOP = sp;return; -} -function _load_jpeg_image($z,$out_x,$out_y,$comp,$req_comp) { - $z = $z|0; - $out_x = $out_x|0; - $out_y = $out_y|0; - $comp = $comp|0; - $req_comp = $req_comp|0; - var $$ = 0, $$1 = 0, $$in = 0, $$in2 = 0, $$pr = 0, $$pr3 = 0, $$sum = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0; - var $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0; - var $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0; - var $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0; - var $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0; - var $182 = 0, $183 = 0, $184 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0; - var $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0; - var $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0; - var $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0; - var $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $coutput = 0, $exitcond = 0, $i$017 = 0, $i$112 = 0, $i$28 = 0, $j$020 = 0, $k$023 = 0, $k$16 = 0; - var $or$cond = 0, $out$016 = 0, $out$17 = 0, $res_comp = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 144|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); - $coutput = sp + 128|0; - $res_comp = sp; - $0 = HEAP32[$z>>2]|0; - $1 = (($0) + 8|0); - HEAP32[$1>>2] = 0; - $2 = ($req_comp>>>0)>(4); - if ($2) { - _stbi__err(15520); - $$1 = 0; - STACKTOP = sp;return ($$1|0); - } - $3 = (_stbi__decode_jpeg_image($z)|0); - $4 = ($3|0)==(0); - if ($4) { - _stbi__cleanup_jpeg($z); - $$1 = 0; - STACKTOP = sp;return ($$1|0); - } - $5 = ($req_comp|0)==(0); - if ($5) { - $6 = HEAP32[$z>>2]|0; - $7 = (($6) + 8|0); - $8 = HEAP32[$7>>2]|0; - $14 = $8; - } else { - $14 = $req_comp; - } - $9 = HEAP32[$z>>2]|0; - $10 = (($9) + 8|0); - $11 = HEAP32[$10>>2]|0; - $12 = ($11|0)==(3); - $13 = ($14|0)<(3); - $or$cond = $12 & $13; - $$ = $or$cond ? 1 : $11; - $15 = ($$|0)>(0); - L12: do { - if ($15) { - $16 = (($z) + 17796|0); - $17 = (($z) + 17800|0); - $18 = (($z) + 18184|0); - $k$023 = 0; - while(1) { - $19 = (($res_comp) + ($k$023<<5)|0); - $20 = HEAP32[$z>>2]|0; - $21 = HEAP32[$20>>2]|0; - $22 = (($21) + 3)|0; - $23 = (_stbi__malloc($22)|0); - $24 = ((($z) + (($k$023*72)|0)|0) + 17876|0); - HEAP32[$24>>2] = $23; - $25 = ($23|0)==(0|0); - if ($25) { - break; - } - $26 = HEAP32[$16>>2]|0; - $27 = ((($z) + (($k$023*72)|0)|0) + 17824|0); - $28 = HEAP32[$27>>2]|0; - $29 = (($26|0) / ($28|0))&-1; - $30 = ((($res_comp) + ($k$023<<5)|0) + 12|0); - HEAP32[$30>>2] = $29; - $31 = HEAP32[$17>>2]|0; - $32 = ((($z) + (($k$023*72)|0)|0) + 17828|0); - $33 = HEAP32[$32>>2]|0; - $34 = (($31|0) / ($33|0))&-1; - $35 = ((($res_comp) + ($k$023<<5)|0) + 16|0); - HEAP32[$35>>2] = $34; - $36 = $34 >> 1; - $37 = ((($res_comp) + ($k$023<<5)|0) + 24|0); - HEAP32[$37>>2] = $36; - $38 = HEAP32[$z>>2]|0; - $39 = HEAP32[$38>>2]|0; - $40 = HEAP32[$30>>2]|0; - $41 = (($39) + -1)|0; - $42 = (($41) + ($40))|0; - $43 = (($42>>>0) / ($40>>>0))&-1; - $44 = ((($res_comp) + ($k$023<<5)|0) + 20|0); - HEAP32[$44>>2] = $43; - $45 = ((($res_comp) + ($k$023<<5)|0) + 28|0); - HEAP32[$45>>2] = 0; - $46 = ((($z) + (($k$023*72)|0)|0) + 17864|0); - $47 = HEAP32[$46>>2]|0; - $48 = ((($res_comp) + ($k$023<<5)|0) + 8|0); - HEAP32[$48>>2] = $47; - $49 = ((($res_comp) + ($k$023<<5)|0) + 4|0); - HEAP32[$49>>2] = $47; - $50 = HEAP32[$30>>2]|0; - $51 = ($50|0)==(1); - do { - if ($51) { - $52 = HEAP32[$35>>2]|0; - $53 = ($52|0)==(1); - if ($53) { - HEAP32[$19>>2] = 2; - break; - } - $$pr = HEAP32[$30>>2]|0; - $54 = ($$pr|0)==(1); - if ($54) { - $55 = HEAP32[$35>>2]|0; - $56 = ($55|0)==(2); - if ($56) { - HEAP32[$19>>2] = 3; - } else { - label = 17; - } - } else { - $58 = $$pr; - label = 18; - } - } else { - label = 17; - } - } while(0); - if ((label|0) == 17) { - label = 0; - $$pr3 = HEAP32[$30>>2]|0; - $58 = $$pr3; - label = 18; - } - do { - if ((label|0) == 18) { - label = 0; - $57 = ($58|0)==(2); - if ($57) { - $59 = HEAP32[$35>>2]|0; - $60 = ($59|0)==(1); - if ($60) { - HEAP32[$19>>2] = 4; - break; - } - } - $61 = HEAP32[$30>>2]|0; - $62 = ($61|0)==(2); - if ($62) { - $63 = HEAP32[$35>>2]|0; - $64 = ($63|0)==(2); - if ($64) { - $65 = HEAP32[$18>>2]|0; - HEAP32[$19>>2] = $65; - break; - } - } - HEAP32[$19>>2] = 5; - } - } while(0); - $66 = (($k$023) + 1)|0; - $67 = ($66|0)<($$|0); - if ($67) { - $k$023 = $66; - } else { - break L12; - } - } - _stbi__cleanup_jpeg($z); - _stbi__err(12832); - $$1 = 0; - STACKTOP = sp;return ($$1|0); - } - } while(0); - $68 = HEAP32[$z>>2]|0; - $69 = HEAP32[$68>>2]|0; - $70 = Math_imul($69, $14)|0; - $71 = (($68) + 4|0); - $72 = HEAP32[$71>>2]|0; - $73 = Math_imul($70, $72)|0; - $74 = (($73) + 1)|0; - $75 = (_stbi__malloc($74)|0); - $76 = ($75|0)==(0|0); - if ($76) { - _stbi__cleanup_jpeg($z); - _stbi__err(12832); - $$1 = 0; - STACKTOP = sp;return ($$1|0); - } - $77 = HEAP32[$z>>2]|0; - $78 = (($77) + 4|0); - $79 = HEAP32[$78>>2]|0; - $80 = ($79|0)==(0); - if (!($80)) { - $81 = ($$|0)>(0); - $82 = ($14|0)>(2); - $83 = (($z) + 18180|0); - $84 = (($coutput) + 4|0); - $85 = (($coutput) + 8|0); - $86 = ($14|0)==(1); - $88 = $77;$j$020 = 0; - while(1) { - $87 = HEAP32[$88>>2]|0; - $89 = Math_imul($j$020, $14)|0; - $90 = Math_imul($89, $87)|0; - $91 = (($75) + ($90)|0); - if ($81) { - $k$16 = 0; - while(1) { - $92 = ((($res_comp) + ($k$16<<5)|0) + 24|0); - $93 = HEAP32[$92>>2]|0; - $94 = ((($res_comp) + ($k$16<<5)|0) + 16|0); - $95 = HEAP32[$94>>2]|0; - $96 = $95 >> 1; - $97 = ($93|0)<($96|0); - $98 = (($res_comp) + ($k$16<<5)|0); - $99 = HEAP32[$98>>2]|0; - $100 = ((($z) + (($k$16*72)|0)|0) + 17876|0); - $101 = HEAP32[$100>>2]|0; - if ($97) { - $104 = ((($res_comp) + ($k$16<<5)|0) + 4|0); - $105 = ((($res_comp) + ($k$16<<5)|0) + 8|0); - $$in = $104;$$in2 = $105; - } else { - $102 = ((($res_comp) + ($k$16<<5)|0) + 8|0); - $103 = ((($res_comp) + ($k$16<<5)|0) + 4|0); - $$in = $102;$$in2 = $103; - } - $106 = HEAP32[$$in>>2]|0; - $107 = HEAP32[$$in2>>2]|0; - $108 = ((($res_comp) + ($k$16<<5)|0) + 20|0); - $109 = HEAP32[$108>>2]|0; - $110 = ((($res_comp) + ($k$16<<5)|0) + 12|0); - $111 = HEAP32[$110>>2]|0; - $112 = (FUNCTION_TABLE_iiiiii[$99 & 7]($101,$106,$107,$109,$111)|0); - $113 = (($coutput) + ($k$16<<2)|0); - HEAP32[$113>>2] = $112; - $114 = HEAP32[$92>>2]|0; - $115 = (($114) + 1)|0; - HEAP32[$92>>2] = $115; - $116 = HEAP32[$94>>2]|0; - $117 = ($115|0)<($116|0); - if (!($117)) { - HEAP32[$92>>2] = 0; - $118 = ((($res_comp) + ($k$16<<5)|0) + 8|0); - $119 = HEAP32[$118>>2]|0; - $120 = ((($res_comp) + ($k$16<<5)|0) + 4|0); - HEAP32[$120>>2] = $119; - $121 = ((($res_comp) + ($k$16<<5)|0) + 28|0); - $122 = HEAP32[$121>>2]|0; - $123 = (($122) + 1)|0; - HEAP32[$121>>2] = $123; - $124 = ((($z) + (($k$16*72)|0)|0) + 17852|0); - $125 = HEAP32[$124>>2]|0; - $126 = ($123|0)<($125|0); - if ($126) { - $127 = ((($z) + (($k$16*72)|0)|0) + 17856|0); - $128 = HEAP32[$127>>2]|0; - $129 = HEAP32[$118>>2]|0; - $130 = (($129) + ($128)|0); - HEAP32[$118>>2] = $130; - } - } - $131 = (($k$16) + 1)|0; - $exitcond = ($131|0)==($$|0); - if ($exitcond) { - break; - } else { - $k$16 = $131; - } - } - } - $132 = HEAP32[$coutput>>2]|0; - $133 = HEAP32[$z>>2]|0; - do { - if ($82) { - $134 = (($133) + 8|0); - $135 = HEAP32[$134>>2]|0; - $136 = ($135|0)==(3); - if ($136) { - $140 = HEAP32[$83>>2]|0; - $141 = HEAP32[$84>>2]|0; - $142 = HEAP32[$85>>2]|0; - $143 = HEAP32[$133>>2]|0; - FUNCTION_TABLE_viiiiii[$140 & 1]($91,$132,$141,$142,$143,$14); - break; - } - $137 = HEAP32[$z>>2]|0; - $138 = HEAP32[$137>>2]|0; - $139 = ($138|0)==(0); - if (!($139)) { - $i$017 = 0;$out$016 = $91; - while(1) { - $144 = (($132) + ($i$017)|0); - $145 = HEAP8[$144>>0]|0; - $146 = (($out$016) + 2|0); - HEAP8[$146>>0] = $145; - $147 = (($out$016) + 1|0); - HEAP8[$147>>0] = $145; - HEAP8[$out$016>>0] = $145; - $148 = (($out$016) + 3|0); - HEAP8[$148>>0] = -1; - $149 = (($out$016) + ($14)|0); - $150 = (($i$017) + 1)|0; - $151 = HEAP32[$z>>2]|0; - $152 = HEAP32[$151>>2]|0; - $153 = ($150>>>0)<($152>>>0); - if ($153) { - $i$017 = $150;$out$016 = $149; - } else { - break; - } - } - } - } else { - $154 = HEAP32[$133>>2]|0; - $155 = ($154|0)==(0); - if ($86) { - if ($155) { - break; - } else { - $i$112 = 0; - } - while(1) { - $156 = (($132) + ($i$112)|0); - $157 = HEAP8[$156>>0]|0; - $$sum = (($i$112) + ($90))|0; - $158 = (($75) + ($$sum)|0); - HEAP8[$158>>0] = $157; - $159 = (($i$112) + 1)|0; - $160 = HEAP32[$z>>2]|0; - $161 = HEAP32[$160>>2]|0; - $162 = ($159>>>0)<($161>>>0); - if ($162) { - $i$112 = $159; - } else { - break; - } - } - } else { - if ($155) { - break; - } else { - $i$28 = 0;$out$17 = $91; - } - while(1) { - $163 = (($132) + ($i$28)|0); - $164 = HEAP8[$163>>0]|0; - $165 = (($out$17) + 1|0); - HEAP8[$out$17>>0] = $164; - $166 = (($out$17) + 2|0); - HEAP8[$165>>0] = -1; - $167 = (($i$28) + 1)|0; - $168 = HEAP32[$z>>2]|0; - $169 = HEAP32[$168>>2]|0; - $170 = ($167>>>0)<($169>>>0); - if ($170) { - $i$28 = $167;$out$17 = $166; - } else { - break; - } - } - } - } - } while(0); - $171 = (($j$020) + 1)|0; - $172 = HEAP32[$z>>2]|0; - $173 = (($172) + 4|0); - $174 = HEAP32[$173>>2]|0; - $175 = ($171>>>0)<($174>>>0); - if ($175) { - $88 = $172;$j$020 = $171; - } else { - break; - } - } - } - _stbi__cleanup_jpeg($z); - $176 = HEAP32[$z>>2]|0; - $177 = HEAP32[$176>>2]|0; - HEAP32[$out_x>>2] = $177; - $178 = HEAP32[$z>>2]|0; - $179 = (($178) + 4|0); - $180 = HEAP32[$179>>2]|0; - HEAP32[$out_y>>2] = $180; - $181 = ($comp|0)==(0|0); - if ($181) { - $$1 = $75; - STACKTOP = sp;return ($$1|0); - } - $182 = HEAP32[$z>>2]|0; - $183 = (($182) + 8|0); - $184 = HEAP32[$183>>2]|0; - HEAP32[$comp>>2] = $184; - $$1 = $75; - STACKTOP = sp;return ($$1|0); -} -function _stbi__decode_jpeg_image($j) { - $j = $j|0; - var $$0 = 0, $$sink = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; - var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (($j) + 18168|0); - HEAP32[$0>>2] = 0; - $1 = (_stbi__decode_jpeg_header($j,0)|0); - $2 = ($1|0)==(0); - L1: do { - if ($2) { - $$0 = 0; - } else { - $3 = (_stbi__get_marker($j)|0); - $4 = (($j) + 18116|0); - $$sink = $3; - L3: while(1) { - $5 = $$sink&255; - L5: do { - if ((($5|0) == 218)) { - $6 = (_stbi__process_scan_header($j)|0); - $7 = ($6|0)==(0); - if ($7) { - $$0 = 0; - break L1; - } - $8 = (_stbi__parse_entropy_coded_data($j)|0); - $9 = ($8|0)==(0); - if ($9) { - $$0 = 0; - break L1; - } - $10 = HEAP8[$4>>0]|0; - $11 = ($10<<24>>24)==(-1); - if ($11) { - while(1) { - $12 = HEAP32[$j>>2]|0; - $13 = (_stbi__at_eof($12)|0); - $14 = ($13|0)==(0); - if (!($14)) { - break L5; - } - $15 = HEAP32[$j>>2]|0; - $16 = (_stbi__get8($15)|0); - if ((($16<<24>>24) == -1)) { - break; - } else if (!((($16<<24>>24) == 0))) { - label = 10; - break L3; - } - } - $17 = HEAP32[$j>>2]|0; - $18 = (_stbi__get8($17)|0); - HEAP8[$4>>0] = $18; - } - } else if ((($5|0) == 217)) { - break L3; - } else { - $19 = (_stbi__process_marker($j,$5)|0); - $20 = ($19|0)==(0); - if ($20) { - $$0 = 0; - break L1; - } - } - } while(0); - $21 = (_stbi__get_marker($j)|0); - $$sink = $21; - } - if ((label|0) == 10) { - _stbi__err(15536); - $$0 = 0; - break; - } - $22 = (($j) + 18124|0); - $23 = HEAP32[$22>>2]|0; - $24 = ($23|0)==(0); - if ($24) { - $$0 = 1; - } else { - _stbi__jpeg_finish($j); - $$0 = 1; - } - } - } while(0); - STACKTOP = sp;return ($$0|0); -} -function _stbi__cleanup_jpeg($j) { - $j = $j|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; - var $i$01 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[$j>>2]|0; - $1 = (($0) + 8|0); - $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)>(0); - if ($3) { - $i$01 = 0; - } else { - STACKTOP = sp;return; - } - while(1) { - $4 = ((($j) + (($i$01*72)|0)|0) + 17868|0); - $5 = HEAP32[$4>>2]|0; - $6 = ($5|0)==(0|0); - if (!($6)) { - _free($5); - HEAP32[$4>>2] = 0; - $7 = ((($j) + (($i$01*72)|0)|0) + 17864|0); - HEAP32[$7>>2] = 0; - } - $8 = ((($j) + (($i$01*72)|0)|0) + 17872|0); - $9 = HEAP32[$8>>2]|0; - $10 = ($9|0)==(0|0); - if (!($10)) { - _free($9); - HEAP32[$8>>2] = 0; - $11 = ((($j) + (($i$01*72)|0)|0) + 17880|0); - HEAP32[$11>>2] = 0; - } - $12 = ((($j) + (($i$01*72)|0)|0) + 17876|0); - $13 = HEAP32[$12>>2]|0; - $14 = ($13|0)==(0|0); - if (!($14)) { - _free($13); - HEAP32[$12>>2] = 0; - } - $15 = (($i$01) + 1)|0; - $16 = HEAP32[$j>>2]|0; - $17 = (($16) + 8|0); - $18 = HEAP32[$17>>2]|0; - $19 = ($15|0)<($18|0); - if ($19) { - $i$01 = $15; - } else { - break; - } - } - STACKTOP = sp;return; -} -function _resample_row_1($out,$in_near,$in_far,$w,$hs) { - $out = $out|0; - $in_near = $in_near|0; - $in_far = $in_far|0; - $w = $w|0; - $hs = $hs|0; - var label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = sp;return ($in_near|0); -} -function _stbi__resample_row_v_2($out,$in_near,$in_far,$w,$hs) { - $out = $out|0; - $in_near = $in_near|0; - $in_far = $in_far|0; - $w = $w|0; - $hs = $hs|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $i$01 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ($w|0)>(0); - if ($0) { - $i$01 = 0; - } else { - STACKTOP = sp;return ($out|0); - } - while(1) { - $1 = (($in_near) + ($i$01)|0); - $2 = HEAP8[$1>>0]|0; - $3 = $2&255; - $4 = ($3*3)|0; - $5 = (($in_far) + ($i$01)|0); - $6 = HEAP8[$5>>0]|0; - $7 = $6&255; - $8 = (($7) + 2)|0; - $9 = (($8) + ($4))|0; - $10 = $9 >>> 2; - $11 = $10&255; - $12 = (($out) + ($i$01)|0); - HEAP8[$12>>0] = $11; - $13 = (($i$01) + 1)|0; - $exitcond = ($13|0)==($w|0); - if ($exitcond) { - break; - } else { - $i$01 = $13; - } - } - STACKTOP = sp;return ($out|0); -} -function _stbi__resample_row_h_2($out,$in_near,$in_far,$w,$hs) { - $out = $out|0; - $in_near = $in_near|0; - $in_far = $in_far|0; - $w = $w|0; - $hs = $hs|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $i$0$lcssa = 0, $i$01 = 0, $phitmp = 0; - var label = 0, sp = 0; - sp = STACKTOP; - $0 = ($w|0)==(1); - $1 = HEAP8[$in_near>>0]|0; - if ($0) { - $2 = (($out) + 1|0); - HEAP8[$2>>0] = $1; - HEAP8[$out>>0] = $1; - STACKTOP = sp;return ($out|0); - } - HEAP8[$out>>0] = $1; - $3 = HEAP8[$in_near>>0]|0; - $4 = $3&255; - $5 = ($4*3)|0; - $6 = (($in_near) + 1|0); - $7 = HEAP8[$6>>0]|0; - $8 = $7&255; - $9 = (($8) + 2)|0; - $10 = (($9) + ($5))|0; - $11 = $10 >>> 2; - $12 = $11&255; - $13 = (($out) + 1|0); - HEAP8[$13>>0] = $12; - $14 = (($w) + -1)|0; - $15 = ($14|0)>(1); - if ($15) { - $16 = (($w) + -1)|0; - $i$01 = 1; - while(1) { - $17 = (($in_near) + ($i$01)|0); - $18 = HEAP8[$17>>0]|0; - $19 = $18&255; - $20 = ($19*3)|0; - $21 = (($20) + 2)|0; - $22 = (($i$01) + -1)|0; - $23 = (($in_near) + ($22)|0); - $24 = HEAP8[$23>>0]|0; - $25 = $24&255; - $26 = (($21) + ($25))|0; - $27 = $26 >>> 2; - $28 = $27&255; - $29 = $i$01 << 1; - $30 = (($out) + ($29)|0); - HEAP8[$30>>0] = $28; - $31 = (($i$01) + 1)|0; - $32 = (($in_near) + ($31)|0); - $33 = HEAP8[$32>>0]|0; - $34 = $33&255; - $35 = (($21) + ($34))|0; - $36 = $35 >>> 2; - $37 = $36&255; - $38 = $29 | 1; - $39 = (($out) + ($38)|0); - HEAP8[$39>>0] = $37; - $exitcond = ($31|0)==($16|0); - if ($exitcond) { - break; - } else { - $i$01 = $31; - } - } - $phitmp = $16 << 1; - $i$0$lcssa = $phitmp; - } else { - $i$0$lcssa = 2; - } - $40 = (($w) + -2)|0; - $41 = (($in_near) + ($40)|0); - $42 = HEAP8[$41>>0]|0; - $43 = $42&255; - $44 = ($43*3)|0; - $45 = (($in_near) + ($14)|0); - $46 = HEAP8[$45>>0]|0; - $47 = $46&255; - $48 = (($47) + 2)|0; - $49 = (($48) + ($44))|0; - $50 = $49 >>> 2; - $51 = $50&255; - $52 = (($out) + ($i$0$lcssa)|0); - HEAP8[$52>>0] = $51; - $53 = HEAP8[$45>>0]|0; - $54 = $i$0$lcssa | 1; - $55 = (($out) + ($54)|0); - HEAP8[$55>>0] = $53; - STACKTOP = sp;return ($out|0); -} -function _stbi__resample_row_generic($out,$in_near,$in_far,$w,$hs) { - $out = $out|0; - $in_near = $in_near|0; - $in_far = $in_far|0; - $w = $w|0; - $hs = $hs|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $exitcond = 0, $exitcond4 = 0, $i$02 = 0, $j$01 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ($w|0)>(0); - if (!($0)) { - STACKTOP = sp;return ($out|0); - } - $1 = ($hs|0)>(0); - $i$02 = 0; - while(1) { - if ($1) { - $2 = (($in_near) + ($i$02)|0); - $3 = Math_imul($i$02, $hs)|0; - $j$01 = 0; - while(1) { - $4 = HEAP8[$2>>0]|0; - $5 = (($j$01) + ($3))|0; - $6 = (($out) + ($5)|0); - HEAP8[$6>>0] = $4; - $7 = (($j$01) + 1)|0; - $exitcond = ($7|0)==($hs|0); - if ($exitcond) { - break; - } else { - $j$01 = $7; - } - } - } - $8 = (($i$02) + 1)|0; - $exitcond4 = ($8|0)==($w|0); - if ($exitcond4) { - break; - } else { - $i$02 = $8; - } - } - STACKTOP = sp;return ($out|0); -} -function _stbi__process_scan_header($z) { - $z = $z|0; - var $$0 = 0, $$lcssa = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; - var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0; - var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0; - var $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0; - var $8 = 0, $9 = 0, $i$09 = 0, $or$cond = 0, $or$cond1 = 0, $or$cond2 = 0, $which$0$lcssa = 0, $which$04 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[$z>>2]|0; - $1 = (_stbi__get16be($0)|0); - $2 = HEAP32[$z>>2]|0; - $3 = (_stbi__get8($2)|0); - $4 = $3&255; - $5 = (($z) + 18148|0); - HEAP32[$5>>2] = $4; - $6 = ($3<<24>>24)==(0); - $7 = ($3&255)>(4); - $or$cond = $6 | $7; - if (!($or$cond)) { - $8 = HEAP32[$z>>2]|0; - $9 = (($8) + 8|0); - $10 = HEAP32[$9>>2]|0; - $11 = ($4|0)>($10|0); - if (!($11)) { - $12 = $4 << 1; - $13 = (($12) + 6)|0; - $14 = ($1|0)==($13|0); - if (!($14)) { - _stbi__err(15856); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $15 = HEAP32[$5>>2]|0; - $16 = ($15|0)>(0); - $17 = HEAP32[$z>>2]|0; - $18 = (_stbi__get8($17)|0); - $19 = $18&255; - L8: do { - if ($16) { - $35 = $19;$i$09 = 0; - while(1) { - $20 = HEAP32[$z>>2]|0; - $21 = (_stbi__get8($20)|0); - $22 = $21&255; - $23 = HEAP32[$z>>2]|0; - $24 = (($23) + 8|0); - $25 = HEAP32[$24>>2]|0; - $26 = ($25|0)>(0); - L11: do { - if ($26) { - $which$04 = 0; - while(1) { - $32 = ((($z) + (($which$04*72)|0)|0) + 17820|0); - $33 = HEAP32[$32>>2]|0; - $34 = ($33|0)==($35|0); - $31 = (($which$04) + 1)|0; - if ($34) { - $which$0$lcssa = $which$04; - break L11; - } - $27 = HEAP32[$z>>2]|0; - $28 = (($27) + 8|0); - $29 = HEAP32[$28>>2]|0; - $30 = ($31|0)<($29|0); - if ($30) { - $which$04 = $31; - } else { - $which$0$lcssa = $31; - break; - } - } - } else { - $which$0$lcssa = 0; - } - } while(0); - $36 = HEAP32[$z>>2]|0; - $37 = (($36) + 8|0); - $38 = HEAP32[$37>>2]|0; - $39 = ($which$0$lcssa|0)==($38|0); - if ($39) { - $$0 = 0; - label = 26; - break; - } - $40 = $22 >>> 4; - $41 = ((($z) + (($which$0$lcssa*72)|0)|0) + 17836|0); - HEAP32[$41>>2] = $40; - $42 = ($21&255)>(63); - if ($42) { - label = 12; - break; - } - $43 = $22 & 15; - $44 = ((($z) + (($which$0$lcssa*72)|0)|0) + 17840|0); - HEAP32[$44>>2] = $43; - $45 = ($43>>>0)>(3); - if ($45) { - label = 14; - break; - } - $46 = ((($z) + ($i$09<<2)|0) + 18152|0); - HEAP32[$46>>2] = $which$0$lcssa; - $47 = (($i$09) + 1)|0; - $48 = HEAP32[$5>>2]|0; - $49 = ($47|0)<($48|0); - $50 = HEAP32[$z>>2]|0; - $51 = (_stbi__get8($50)|0); - $52 = $51&255; - if ($49) { - $35 = $52;$i$09 = $47; - } else { - $$lcssa = $52; - break L8; - } - } - if ((label|0) == 12) { - _stbi__err(15872); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - else if ((label|0) == 14) { - _stbi__err(15888); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - else if ((label|0) == 26) { - STACKTOP = sp;return ($$0|0); - } - } else { - $$lcssa = $19; - } - } while(0); - $53 = (($z) + 18128|0); - HEAP32[$53>>2] = $$lcssa; - $54 = HEAP32[$z>>2]|0; - $55 = (_stbi__get8($54)|0); - $56 = $55&255; - $57 = (($z) + 18132|0); - HEAP32[$57>>2] = $56; - $58 = HEAP32[$z>>2]|0; - $59 = (_stbi__get8($58)|0); - $60 = $59&255; - $61 = $60 >>> 4; - $62 = (($z) + 18136|0); - HEAP32[$62>>2] = $61; - $63 = $60 & 15; - $64 = (($z) + 18140|0); - HEAP32[$64>>2] = $63; - $65 = (($z) + 18124|0); - $66 = HEAP32[$65>>2]|0; - $67 = ($66|0)==(0); - $68 = HEAP32[$53>>2]|0; - if (!($67)) { - $69 = ($68|0)>(63); - if (!($69)) { - $70 = HEAP32[$57>>2]|0; - $71 = ($70|0)>(63); - $72 = ($68|0)>($70|0); - $or$cond1 = $71 | $72; - if (!($or$cond1)) { - $73 = HEAP32[$62>>2]|0; - $74 = ($73|0)>(13); - $75 = ($63>>>0)>(13); - $or$cond2 = $74 | $75; - if (!($or$cond2)) { - $$0 = 1; - STACKTOP = sp;return ($$0|0); - } - } - } - _stbi__err(15904); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $76 = ($68|0)==(0); - if (!($76)) { - _stbi__err(15904); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $77 = HEAP32[$62>>2]|0; - $78 = $77 | $63; - $79 = ($78|0)==(0); - if ($79) { - HEAP32[$57>>2] = 63; - $$0 = 1; - STACKTOP = sp;return ($$0|0); - } else { - _stbi__err(15904); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - } - } - _stbi__err(15832); - $$0 = 0; - STACKTOP = sp;return ($$0|0); -} -function _stbi__parse_entropy_coded_data($z) { - $z = $z|0; - var $$2 = 0, $$off = 0, $$off5 = 0, $$off6 = 0, $$off7 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0; - var $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0; - var $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0; - var $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0; - var $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0; - var $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0; - var $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0; - var $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0; - var $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0; - var $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0; - var $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0; - var $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $data = 0, $data3 = 0, $i$011 = 0, $i1$028 = 0, $i13$056 = 0, $i6$037 = 0, $j$013 = 0, $j14$061 = 0; - var $j2$032 = 0, $j7$041 = 0, $k$023 = 0, $k15$051 = 0, $tmp = 0, $tmp10 = 0, $tmp8 = 0, $tmp9 = 0, $x$017 = 0, $x16$045 = 0, $y$020 = 0, $y17$048 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); - $data = sp + 128|0; - $data3 = sp; - _stbi__jpeg_reset($z); - $0 = (($z) + 18124|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)==(0); - $3 = (($z) + 18148|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)==(1); - if ($2) { - if ($5) { - $6 = (($z) + 18152|0); - $7 = HEAP32[$6>>2]|0; - $8 = ((($z) + (($7*72)|0)|0) + 17848|0); - $9 = HEAP32[$8>>2]|0; - $10 = (($9) + 7)|0; - $11 = $10 >> 3; - $12 = ((($z) + (($7*72)|0)|0) + 17852|0); - $13 = HEAP32[$12>>2]|0; - $14 = (($13) + 7)|0; - $15 = $14 >> 3; - $16 = ($15|0)>(0); - if (!($16)) { - $$2 = 1; - STACKTOP = sp;return ($$2|0); - } - $17 = ($11|0)>(0); - $18 = ((($z) + (($7*72)|0)|0) + 17840|0); - $19 = ((($z) + (($7*72)|0)|0) + 17836|0); - $20 = ((($z) + (($7*72)|0)|0) + 17832|0); - $21 = (($z) + 18176|0); - $22 = ((($z) + (($7*72)|0)|0) + 17864|0); - $23 = ((($z) + (($7*72)|0)|0) + 17856|0); - $24 = (($z) + 18172|0); - $25 = (($z) + 18112|0); - $26 = (($z) + 18116|0); - $j$013 = 0; - L8: while(1) { - if ($17) { - $i$011 = 0; - while(1) { - $27 = HEAP32[$18>>2]|0; - $28 = HEAP32[$19>>2]|0; - $29 = ((($z) + (($28*1680)|0)|0) + 4|0); - $30 = ((($z) + (($27*1680)|0)|0) + 6724|0); - $31 = ((($z) + ($27<<10)|0) + 13700|0); - $32 = HEAP32[$20>>2]|0; - $33 = ((($z) + ($32<<6)|0) + 13444|0); - $34 = (_stbi__jpeg_decode_block($z,$data,$29,$30,$31,$7,$33)|0); - $35 = ($34|0)==(0); - if ($35) { - $$2 = 0; - label = 64; - break L8; - } - $36 = HEAP32[$21>>2]|0; - $37 = HEAP32[$22>>2]|0; - $38 = HEAP32[$23>>2]|0; - $39 = Math_imul($38, $j$013)|0; - $tmp = (($39) + ($i$011))|0; - $tmp8 = $tmp << 3; - $40 = (($37) + ($tmp8)|0); - FUNCTION_TABLE_viii[$36 & 3]($40,$38,$data); - $41 = HEAP32[$24>>2]|0; - $42 = (($41) + -1)|0; - HEAP32[$24>>2] = $42; - $43 = ($41|0)<(2); - if ($43) { - $44 = HEAP32[$25>>2]|0; - $45 = ($44|0)<(24); - if ($45) { - _stbi__grow_buffer_unsafe($z); - } - $46 = HEAP8[$26>>0]|0; - $$off7 = (($46) + 48)<<24>>24; - $47 = ($$off7&255)<(8); - if (!($47)) { - $$2 = 1; - label = 64; - break L8; - } - _stbi__jpeg_reset($z); - } - $48 = (($i$011) + 1)|0; - $49 = ($48|0)<($11|0); - if ($49) { - $i$011 = $48; - } else { - break; - } - } - } - $50 = (($j$013) + 1)|0; - $51 = ($50|0)<($15|0); - if ($51) { - $j$013 = $50; - } else { - $$2 = 1; - label = 64; - break; - } - } - if ((label|0) == 64) { - STACKTOP = sp;return ($$2|0); - } - } - $52 = (($z) + 17808|0); - $53 = HEAP32[$52>>2]|0; - $54 = ($53|0)>(0); - if (!($54)) { - $$2 = 1; - STACKTOP = sp;return ($$2|0); - } - $55 = (($z) + 17804|0); - $56 = (($z) + 18172|0); - $57 = (($z) + 18112|0); - $58 = (($z) + 18116|0); - $59 = (($z) + 18176|0); - $j2$032 = 0; - L30: while(1) { - $60 = HEAP32[$55>>2]|0; - $61 = ($60|0)>(0); - if ($61) { - $i1$028 = 0; - while(1) { - $62 = HEAP32[$3>>2]|0; - $63 = ($62|0)>(0); - if ($63) { - $k$023 = 0; - while(1) { - $64 = ((($z) + ($k$023<<2)|0) + 18152|0); - $65 = HEAP32[$64>>2]|0; - $66 = ((($z) + (($65*72)|0)|0) + 17828|0); - $67 = HEAP32[$66>>2]|0; - $68 = ($67|0)>(0); - if ($68) { - $69 = ((($z) + (($65*72)|0)|0) + 17824|0); - $70 = ((($z) + (($65*72)|0)|0) + 17840|0); - $71 = ((($z) + (($65*72)|0)|0) + 17836|0); - $72 = ((($z) + (($65*72)|0)|0) + 17832|0); - $73 = ((($z) + (($65*72)|0)|0) + 17864|0); - $74 = ((($z) + (($65*72)|0)|0) + 17856|0); - $y$020 = 0; - while(1) { - $75 = HEAP32[$69>>2]|0; - $76 = ($75|0)>(0); - if ($76) { - $89 = $75;$x$017 = 0; - while(1) { - $77 = HEAP32[$66>>2]|0; - $78 = HEAP32[$70>>2]|0; - $79 = HEAP32[$71>>2]|0; - $80 = ((($z) + (($79*1680)|0)|0) + 4|0); - $81 = ((($z) + (($78*1680)|0)|0) + 6724|0); - $82 = ((($z) + ($78<<10)|0) + 13700|0); - $83 = HEAP32[$72>>2]|0; - $84 = ((($z) + ($83<<6)|0) + 13444|0); - $85 = (_stbi__jpeg_decode_block($z,$data3,$80,$81,$82,$65,$84)|0); - $86 = ($85|0)==(0); - if ($86) { - $$2 = 0; - label = 64; - break L30; - } - $87 = Math_imul($77, $j2$032)|0; - $88 = Math_imul($89, $i1$028)|0; - $90 = (($87) + ($y$020))|0; - $91 = (($88) + ($x$017))|0; - $92 = HEAP32[$59>>2]|0; - $93 = HEAP32[$73>>2]|0; - $94 = HEAP32[$74>>2]|0; - $95 = Math_imul($94, $90)|0; - $tmp9 = (($91) + ($95))|0; - $tmp10 = $tmp9 << 3; - $96 = (($93) + ($tmp10)|0); - FUNCTION_TABLE_viii[$92 & 3]($96,$94,$data3); - $97 = (($x$017) + 1)|0; - $98 = HEAP32[$69>>2]|0; - $99 = ($97|0)<($98|0); - if ($99) { - $89 = $98;$x$017 = $97; - } else { - break; - } - } - } - $100 = (($y$020) + 1)|0; - $101 = HEAP32[$66>>2]|0; - $102 = ($100|0)<($101|0); - if ($102) { - $y$020 = $100; - } else { - break; - } - } - } - $103 = (($k$023) + 1)|0; - $104 = HEAP32[$3>>2]|0; - $105 = ($103|0)<($104|0); - if ($105) { - $k$023 = $103; - } else { - break; - } - } - } - $106 = HEAP32[$56>>2]|0; - $107 = (($106) + -1)|0; - HEAP32[$56>>2] = $107; - $108 = ($106|0)<(2); - if ($108) { - $109 = HEAP32[$57>>2]|0; - $110 = ($109|0)<(24); - if ($110) { - _stbi__grow_buffer_unsafe($z); - } - $111 = HEAP8[$58>>0]|0; - $$off6 = (($111) + 48)<<24>>24; - $112 = ($$off6&255)<(8); - if (!($112)) { - $$2 = 1; - label = 64; - break L30; - } - _stbi__jpeg_reset($z); - } - $113 = (($i1$028) + 1)|0; - $114 = HEAP32[$55>>2]|0; - $115 = ($113|0)<($114|0); - if ($115) { - $i1$028 = $113; - } else { - break; - } - } - } - $116 = (($j2$032) + 1)|0; - $117 = HEAP32[$52>>2]|0; - $118 = ($116|0)<($117|0); - if ($118) { - $j2$032 = $116; - } else { - $$2 = 1; - label = 64; - break; - } - } - if ((label|0) == 64) { - STACKTOP = sp;return ($$2|0); - } - } - if ($5) { - $126 = (($z) + 18152|0); - $127 = HEAP32[$126>>2]|0; - $128 = ((($z) + (($127*72)|0)|0) + 17848|0); - $129 = HEAP32[$128>>2]|0; - $130 = (($129) + 7)|0; - $131 = $130 >> 3; - $132 = ((($z) + (($127*72)|0)|0) + 17852|0); - $133 = HEAP32[$132>>2]|0; - $134 = (($133) + 7)|0; - $135 = $134 >> 3; - $136 = ($135|0)>(0); - if (!($136)) { - $$2 = 1; - STACKTOP = sp;return ($$2|0); - } - $137 = ($131|0)>(0); - $138 = ((($z) + (($127*72)|0)|0) + 17880|0); - $139 = ((($z) + (($127*72)|0)|0) + 17884|0); - $140 = (($z) + 18128|0); - $141 = ((($z) + (($127*72)|0)|0) + 17836|0); - $142 = (($z) + 18172|0); - $143 = (($z) + 18112|0); - $144 = (($z) + 18116|0); - $145 = ((($z) + (($127*72)|0)|0) + 17840|0); - $j7$041 = 0; - L67: while(1) { - if ($137) { - $i6$037 = 0; - while(1) { - $146 = HEAP32[$138>>2]|0; - $147 = HEAP32[$139>>2]|0; - $148 = Math_imul($147, $j7$041)|0; - $149 = (($148) + ($i6$037))|0; - $150 = $149 << 6; - $151 = (($146) + ($150<<1)|0); - $152 = HEAP32[$140>>2]|0; - $153 = ($152|0)==(0); - if ($153) { - $154 = HEAP32[$141>>2]|0; - $155 = ((($z) + (($154*1680)|0)|0) + 4|0); - $156 = (_stbi__jpeg_decode_block_prog_dc($z,$151,$155,$127)|0); - $157 = ($156|0)==(0); - if ($157) { - $$2 = 0; - label = 64; - break L67; - } - } else { - $158 = HEAP32[$145>>2]|0; - $159 = ((($z) + (($158*1680)|0)|0) + 6724|0); - $160 = ((($z) + ($158<<10)|0) + 13700|0); - $161 = (_stbi__jpeg_decode_block_prog_ac($z,$151,$159,$160)|0); - $162 = ($161|0)==(0); - if ($162) { - $$2 = 0; - label = 64; - break L67; - } - } - $163 = HEAP32[$142>>2]|0; - $164 = (($163) + -1)|0; - HEAP32[$142>>2] = $164; - $165 = ($163|0)<(2); - if ($165) { - $166 = HEAP32[$143>>2]|0; - $167 = ($166|0)<(24); - if ($167) { - _stbi__grow_buffer_unsafe($z); - } - $168 = HEAP8[$144>>0]|0; - $$off5 = (($168) + 48)<<24>>24; - $169 = ($$off5&255)<(8); - if (!($169)) { - $$2 = 1; - label = 64; - break L67; - } - _stbi__jpeg_reset($z); - } - $170 = (($i6$037) + 1)|0; - $171 = ($170|0)<($131|0); - if ($171) { - $i6$037 = $170; - } else { - break; - } - } - } - $172 = (($j7$041) + 1)|0; - $173 = ($172|0)<($135|0); - if ($173) { - $j7$041 = $172; - } else { - $$2 = 1; - label = 64; - break; - } - } - if ((label|0) == 64) { - STACKTOP = sp;return ($$2|0); - } - } - $119 = (($z) + 17808|0); - $120 = HEAP32[$119>>2]|0; - $121 = ($120|0)>(0); - if (!($121)) { - $$2 = 1; - STACKTOP = sp;return ($$2|0); - } - $122 = (($z) + 17804|0); - $123 = (($z) + 18172|0); - $124 = (($z) + 18112|0); - $125 = (($z) + 18116|0); - $j14$061 = 0; - L93: while(1) { - $174 = HEAP32[$122>>2]|0; - $175 = ($174|0)>(0); - if ($175) { - $i13$056 = 0; - while(1) { - $176 = HEAP32[$3>>2]|0; - $177 = ($176|0)>(0); - if ($177) { - $k15$051 = 0; - while(1) { - $178 = ((($z) + ($k15$051<<2)|0) + 18152|0); - $179 = HEAP32[$178>>2]|0; - $180 = ((($z) + (($179*72)|0)|0) + 17828|0); - $181 = HEAP32[$180>>2]|0; - $182 = ($181|0)>(0); - if ($182) { - $183 = ((($z) + (($179*72)|0)|0) + 17824|0); - $184 = ((($z) + (($179*72)|0)|0) + 17880|0); - $185 = ((($z) + (($179*72)|0)|0) + 17884|0); - $186 = ((($z) + (($179*72)|0)|0) + 17836|0); - $y17$048 = 0; - while(1) { - $187 = HEAP32[$183>>2]|0; - $188 = ($187|0)>(0); - if ($188) { - $193 = $187;$x16$045 = 0; - while(1) { - $192 = Math_imul($193, $i13$056)|0; - $194 = (($192) + ($x16$045))|0; - $195 = HEAP32[$180>>2]|0; - $196 = Math_imul($195, $j14$061)|0; - $197 = (($196) + ($y17$048))|0; - $198 = HEAP32[$184>>2]|0; - $199 = HEAP32[$185>>2]|0; - $200 = Math_imul($197, $199)|0; - $201 = (($194) + ($200))|0; - $202 = $201 << 6; - $203 = (($198) + ($202<<1)|0); - $204 = HEAP32[$186>>2]|0; - $205 = ((($z) + (($204*1680)|0)|0) + 4|0); - $206 = (_stbi__jpeg_decode_block_prog_dc($z,$203,$205,$179)|0); - $207 = ($206|0)==(0); - $191 = (($x16$045) + 1)|0; - if ($207) { - $$2 = 0; - label = 64; - break L93; - } - $189 = HEAP32[$183>>2]|0; - $190 = ($191|0)<($189|0); - if ($190) { - $193 = $189;$x16$045 = $191; - } else { - break; - } - } - } - $208 = (($y17$048) + 1)|0; - $209 = HEAP32[$180>>2]|0; - $210 = ($208|0)<($209|0); - if ($210) { - $y17$048 = $208; - } else { - break; - } - } - } - $211 = (($k15$051) + 1)|0; - $212 = HEAP32[$3>>2]|0; - $213 = ($211|0)<($212|0); - if ($213) { - $k15$051 = $211; - } else { - break; - } - } - } - $214 = HEAP32[$123>>2]|0; - $215 = (($214) + -1)|0; - HEAP32[$123>>2] = $215; - $216 = ($214|0)<(2); - if ($216) { - $217 = HEAP32[$124>>2]|0; - $218 = ($217|0)<(24); - if ($218) { - _stbi__grow_buffer_unsafe($z); - } - $219 = HEAP8[$125>>0]|0; - $$off = (($219) + 48)<<24>>24; - $220 = ($$off&255)<(8); - if (!($220)) { - $$2 = 1; - label = 64; - break L93; - } - _stbi__jpeg_reset($z); - } - $221 = (($i13$056) + 1)|0; - $222 = HEAP32[$122>>2]|0; - $223 = ($221|0)<($222|0); - if ($223) { - $i13$056 = $221; - } else { - break; - } - } - } - $224 = (($j14$061) + 1)|0; - $225 = HEAP32[$119>>2]|0; - $226 = ($224|0)<($225|0); - if ($226) { - $j14$061 = $224; - } else { - $$2 = 1; - label = 64; - break; - } - } - if ((label|0) == 64) { - STACKTOP = sp;return ($$2|0); - } - return 0|0; -} -function _stbi__jpeg_finish($z) { - $z = $z|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $5 = 0, $6 = 0; - var $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond9 = 0, $i$02 = 0, $j$03 = 0, $n$07 = 0, $tmp = 0, $tmp1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (($z) + 18124|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)==(0); - if ($2) { - STACKTOP = sp;return; - } - $3 = HEAP32[$z>>2]|0; - $4 = (($3) + 8|0); - $5 = HEAP32[$4>>2]|0; - $6 = ($5|0)>(0); - if (!($6)) { - STACKTOP = sp;return; - } - $7 = (($z) + 18176|0); - $n$07 = 0; - while(1) { - $8 = ((($z) + (($n$07*72)|0)|0) + 17848|0); - $9 = HEAP32[$8>>2]|0; - $10 = (($9) + 7)|0; - $11 = $10 >> 3; - $12 = ((($z) + (($n$07*72)|0)|0) + 17852|0); - $13 = HEAP32[$12>>2]|0; - $14 = (($13) + 7)|0; - $15 = $14 >> 3; - $16 = ($15|0)>(0); - if ($16) { - $17 = ($11|0)>(0); - $18 = ((($z) + (($n$07*72)|0)|0) + 17880|0); - $19 = ((($z) + (($n$07*72)|0)|0) + 17884|0); - $20 = ((($z) + (($n$07*72)|0)|0) + 17832|0); - $21 = ((($z) + (($n$07*72)|0)|0) + 17864|0); - $22 = ((($z) + (($n$07*72)|0)|0) + 17856|0); - $j$03 = 0; - while(1) { - if ($17) { - $i$02 = 0; - while(1) { - $23 = HEAP32[$18>>2]|0; - $24 = HEAP32[$19>>2]|0; - $25 = Math_imul($24, $j$03)|0; - $26 = (($25) + ($i$02))|0; - $27 = $26 << 6; - $28 = (($23) + ($27<<1)|0); - $29 = HEAP32[$20>>2]|0; - $30 = ((($z) + ($29<<6)|0) + 13444|0); - _stbi__jpeg_dequantize($28,$30); - $31 = HEAP32[$7>>2]|0; - $32 = HEAP32[$21>>2]|0; - $33 = HEAP32[$22>>2]|0; - $34 = Math_imul($33, $j$03)|0; - $tmp = (($34) + ($i$02))|0; - $tmp1 = $tmp << 3; - $35 = (($32) + ($tmp1)|0); - FUNCTION_TABLE_viii[$31 & 3]($35,$33,$28); - $36 = (($i$02) + 1)|0; - $exitcond = ($36|0)==($11|0); - if ($exitcond) { - break; - } else { - $i$02 = $36; - } - } - } - $37 = (($j$03) + 1)|0; - $exitcond9 = ($37|0)==($15|0); - if ($exitcond9) { - break; - } else { - $j$03 = $37; - } - } - } - $38 = (($n$07) + 1)|0; - $39 = HEAP32[$z>>2]|0; - $40 = (($39) + 8|0); - $41 = HEAP32[$40>>2]|0; - $42 = ($38|0)<($41|0); - if ($42) { - $n$07 = $38; - } else { - break; - } - } - STACKTOP = sp;return; -} -function _stbi__jpeg_dequantize($data,$dequant) { - $data = $data|0; - $dequant = $dequant|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $exitcond = 0, $i$01 = 0, label = 0, sp = 0; - sp = STACKTOP; - $i$01 = 0; - while(1) { - $0 = (($dequant) + ($i$01)|0); - $1 = HEAP8[$0>>0]|0; - $2 = $1&255; - $3 = (($data) + ($i$01<<1)|0); - $4 = HEAP16[$3>>1]|0; - $5 = $4 << 16 >> 16; - $6 = Math_imul($5, $2)|0; - $7 = $6&65535; - HEAP16[$3>>1] = $7; - $8 = (($i$01) + 1)|0; - $exitcond = ($8|0)==(64); - if ($exitcond) { - break; - } else { - $i$01 = $8; - } - } - STACKTOP = sp;return; -} -function _stbi__jpeg_reset($j) { - $j = $j|0; - var $$ = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (($j) + 18112|0); - HEAP32[$0>>2] = 0; - $1 = (($j) + 18108|0); - HEAP32[$1>>2] = 0; - $2 = (($j) + 18120|0); - HEAP32[$2>>2] = 0; - $3 = (($j) + 17988|0); - HEAP32[$3>>2] = 0; - $4 = (($j) + 17916|0); - HEAP32[$4>>2] = 0; - $5 = (($j) + 17844|0); - HEAP32[$5>>2] = 0; - $6 = (($j) + 18116|0); - HEAP8[$6>>0] = -1; - $7 = (($j) + 18168|0); - $8 = HEAP32[$7>>2]|0; - $9 = ($8|0)==(0); - $$ = $9 ? 2147483647 : $8; - $10 = (($j) + 18172|0); - HEAP32[$10>>2] = $$; - $11 = (($j) + 18144|0); - HEAP32[$11>>2] = 0; - STACKTOP = sp;return; -} -function _stbi__jpeg_decode_block($j,$data,$hdc,$hac,$fac,$b,$dequant) { - $j = $j|0; - $data = $data|0; - $hdc = $hdc|0; - $hac = $hac|0; - $fac = $fac|0; - $b = $b|0; - $dequant = $dequant|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; - var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0; - var $7 = 0, $8 = 0, $9 = 0, $k$0 = 0, $k$1 = 0, dest = 0, label = 0, sp = 0, stop = 0; - sp = STACKTOP; - $0 = (($j) + 18112|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)<(16); - if ($2) { - _stbi__grow_buffer_unsafe($j); - } - $3 = (_stbi__jpeg_huff_decode($j,$hdc)|0); - $4 = ($3|0)<(0); - if ($4) { - _stbi__err(14024); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - dest=$data+0|0; stop=dest+128|0; do { HEAP16[dest>>1]=0|0; dest=dest+2|0; } while ((dest|0) < (stop|0)); - $5 = ($3|0)==(0); - if ($5) { - $10 = 0; - } else { - $6 = (_stbi__extend_receive($j,$3)|0); - $10 = $6; - } - $7 = ((($j) + (($b*72)|0)|0) + 17844|0); - $8 = HEAP32[$7>>2]|0; - $9 = (($8) + ($10))|0; - HEAP32[$7>>2] = $9; - $11 = HEAP8[$dequant>>0]|0; - $12 = $11&255; - $13 = Math_imul($12, $9)|0; - $14 = $13&65535; - HEAP16[$data>>1] = $14; - $15 = (($j) + 18108|0); - $k$0 = 1; - L11: while(1) { - $16 = HEAP32[$0>>2]|0; - $17 = ($16|0)<(16); - if ($17) { - _stbi__grow_buffer_unsafe($j); - } - $18 = HEAP32[$15>>2]|0; - $19 = $18 >>> 23; - $20 = (($fac) + ($19<<1)|0); - $21 = HEAP16[$20>>1]|0; - $22 = $21 << 16 >> 16; - $23 = ($21<<16>>16)==(0); - do { - if ($23) { - $42 = (_stbi__jpeg_huff_decode($j,$hac)|0); - $43 = ($42|0)<(0); - if ($43) { - label = 13; - break L11; - } - $44 = $42 & 15; - $45 = ($44|0)==(0); - if (!($45)) { - $48 = $42 >> 4; - $49 = (($48) + ($k$0))|0; - $50 = (($49) + 1)|0; - $51 = (13584 + ($49)|0); - $52 = HEAP8[$51>>0]|0; - $53 = $52&255; - $54 = (_stbi__extend_receive($j,$44)|0); - $55 = (($dequant) + ($53)|0); - $56 = HEAP8[$55>>0]|0; - $57 = $56&255; - $58 = Math_imul($57, $54)|0; - $59 = $58&65535; - $60 = (($data) + ($53<<1)|0); - HEAP16[$60>>1] = $59; - $k$1 = $50; - break; - } - $46 = ($42|0)==(240); - if (!($46)) { - $$0 = 1; - label = 19; - break L11; - } - $47 = (($k$0) + 16)|0; - $k$1 = $47; - } else { - $24 = $22 >>> 4; - $25 = $24 & 15; - $26 = (($25) + ($k$0))|0; - $27 = $22 & 15; - $28 = $18 << $27; - HEAP32[$15>>2] = $28; - $29 = HEAP32[$0>>2]|0; - $30 = (($29) - ($27))|0; - HEAP32[$0>>2] = $30; - $31 = (($26) + 1)|0; - $32 = (13584 + ($26)|0); - $33 = HEAP8[$32>>0]|0; - $34 = $33&255; - $35 = $22 >> 8; - $36 = (($dequant) + ($34)|0); - $37 = HEAP8[$36>>0]|0; - $38 = $37&255; - $39 = Math_imul($38, $35)|0; - $40 = $39&65535; - $41 = (($data) + ($34<<1)|0); - HEAP16[$41>>1] = $40; - $k$1 = $31; - } - } while(0); - $61 = ($k$1|0)<(64); - if ($61) { - $k$0 = $k$1; - } else { - $$0 = 1; - label = 19; - break; - } - } - if ((label|0) == 13) { - _stbi__err(14024); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - else if ((label|0) == 19) { - STACKTOP = sp;return ($$0|0); - } - return 0|0; -} -function _stbi__grow_buffer_unsafe($j) { - $j = $j|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; - var $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (($j) + 18120|0); - $1 = (($j) + 18112|0); - $2 = (($j) + 18108|0); - while(1) { - $3 = HEAP32[$0>>2]|0; - $4 = ($3|0)==(0); - if ($4) { - $5 = HEAP32[$j>>2]|0; - $6 = (_stbi__get8($5)|0); - $7 = $6&255; - $8 = ($6<<24>>24)==(-1); - if ($8) { - $9 = HEAP32[$j>>2]|0; - $10 = (_stbi__get8($9)|0); - $11 = ($10<<24>>24)==(0); - if ($11) { - $16 = 255; - } else { - break; - } - } else { - $16 = $7; - } - } else { - $16 = 0; - } - $13 = HEAP32[$1>>2]|0; - $14 = (24 - ($13))|0; - $15 = $16 << $14; - $17 = HEAP32[$2>>2]|0; - $18 = $15 | $17; - HEAP32[$2>>2] = $18; - $19 = HEAP32[$1>>2]|0; - $20 = (($19) + 8)|0; - HEAP32[$1>>2] = $20; - $21 = ($20|0)<(25); - if (!($21)) { - label = 7; - break; - } - } - if ((label|0) == 7) { - STACKTOP = sp;return; - } - $12 = (($j) + 18116|0); - HEAP8[$12>>0] = $10; - HEAP32[$0>>2] = 1; - STACKTOP = sp;return; -} -function _stbi__jpeg_decode_block_prog_dc($j,$data,$hdc,$b) { - $j = $j|0; - $data = $data|0; - $hdc = $hdc|0; - $b = $b|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $sext = 0, dest = 0, label = 0, sp = 0, stop = 0; - sp = STACKTOP; - $0 = (($j) + 18132|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)==(0); - if (!($2)) { - _stbi__err(15560); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $3 = (($j) + 18112|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)<(16); - if ($5) { - _stbi__grow_buffer_unsafe($j); - } - $6 = (($j) + 18136|0); - $7 = HEAP32[$6>>2]|0; - $8 = ($7|0)==(0); - if ($8) { - dest=$data+0|0; stop=dest+128|0; do { HEAP16[dest>>1]=0|0; dest=dest+2|0; } while ((dest|0) < (stop|0)); - $9 = (_stbi__jpeg_huff_decode($j,$hdc)|0); - $10 = ($9|0)==(0); - if ($10) { - $15 = 0; - } else { - $11 = (_stbi__extend_receive($j,$9)|0); - $15 = $11; - } - $12 = ((($j) + (($b*72)|0)|0) + 17844|0); - $13 = HEAP32[$12>>2]|0; - $14 = (($13) + ($15))|0; - HEAP32[$12>>2] = $14; - $16 = (($j) + 18140|0); - $17 = HEAP32[$16>>2]|0; - $18 = $14 << $17; - $19 = $18&65535; - HEAP16[$data>>1] = $19; - $$0 = 1; - STACKTOP = sp;return ($$0|0); - } else { - $20 = (_stbi__jpeg_get_bit($j)|0); - $21 = ($20|0)==(0); - if ($21) { - $$0 = 1; - STACKTOP = sp;return ($$0|0); - } - $22 = (($j) + 18140|0); - $23 = HEAP32[$22>>2]|0; - $sext = 65536 << $23; - $24 = $sext >>> 16; - $25 = HEAP16[$data>>1]|0; - $26 = $25&65535; - $27 = (($26) + ($24))|0; - $28 = $27&65535; - HEAP16[$data>>1] = $28; - $$0 = 1; - STACKTOP = sp;return ($$0|0); - } - return 0|0; -} -function _stbi__jpeg_decode_block_prog_ac($j,$data,$hac,$fac) { - $j = $j|0; - $data = $data|0; - $hac = $hac|0; - $fac = $fac|0; - var $$ = 0, $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0; - var $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0; - var $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0; - var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0; - var $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0; - var $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0; - var $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0; - var $96 = 0, $97 = 0, $98 = 0, $99 = 0, $k$0 = 0, $k$1 = 0, $k$225 = 0, $k$3 = 0, $k$4$ph19 = 0, $k$411 = 0, $k$5 = 0, $r1$0$ph = 0, $r1$0$ph518 = 0, $s2$0$ph = 0, $sext = 0, $sext1 = 0, $sext2 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (($j) + 18128|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)==(0); - if ($2) { - _stbi__err(15560); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $3 = (($j) + 18136|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)==(0); - $6 = (($j) + 18140|0); - $7 = HEAP32[$6>>2]|0; - if ($5) { - $8 = (($j) + 18144|0); - $9 = HEAP32[$8>>2]|0; - $10 = ($9|0)==(0); - if (!($10)) { - $14 = (($9) + -1)|0; - HEAP32[$8>>2] = $14; - $$0 = 1; - STACKTOP = sp;return ($$0|0); - } - $11 = (($j) + 18112|0); - $12 = (($j) + 18108|0); - $13 = (($j) + 18132|0); - $k$0 = $1; - L11: while(1) { - $15 = HEAP32[$11>>2]|0; - $16 = ($15|0)<(16); - if ($16) { - _stbi__grow_buffer_unsafe($j); - } - $17 = HEAP32[$12>>2]|0; - $18 = $17 >>> 23; - $19 = (($fac) + ($18<<1)|0); - $20 = HEAP16[$19>>1]|0; - $21 = $20 << 16 >> 16; - $22 = ($20<<16>>16)==(0); - do { - if ($22) { - $38 = (_stbi__jpeg_huff_decode($j,$hac)|0); - $39 = ($38|0)<(0); - if ($39) { - label = 12; - break L11; - } - $40 = $38 & 15; - $41 = $38 >> 4; - $42 = ($40|0)==(0); - if (!($42)) { - $52 = (($41) + ($k$0))|0; - $53 = (($52) + 1)|0; - $54 = (13584 + ($52)|0); - $55 = HEAP8[$54>>0]|0; - $56 = $55&255; - $57 = (_stbi__extend_receive($j,$40)|0); - $58 = $57 << $7; - $59 = $58&65535; - $60 = (($data) + ($56<<1)|0); - HEAP16[$60>>1] = $59; - $k$1 = $53; - break; - } - $43 = ($41|0)<(15); - if ($43) { - label = 15; - break L11; - } - $51 = (($k$0) + 16)|0; - $k$1 = $51; - } else { - $23 = $21 >>> 4; - $24 = $23 & 15; - $25 = (($24) + ($k$0))|0; - $26 = $21 & 15; - $27 = $17 << $26; - HEAP32[$12>>2] = $27; - $28 = HEAP32[$11>>2]|0; - $29 = (($28) - ($26))|0; - HEAP32[$11>>2] = $29; - $30 = (($25) + 1)|0; - $31 = (13584 + ($25)|0); - $32 = HEAP8[$31>>0]|0; - $33 = $32&255; - $34 = $21 >> 8; - $35 = $34 << $7; - $36 = $35&65535; - $37 = (($data) + ($33<<1)|0); - HEAP16[$37>>1] = $36; - $k$1 = $30; - } - } while(0); - $61 = HEAP32[$13>>2]|0; - $62 = ($k$1|0)>($61|0); - if ($62) { - $$0 = 1; - label = 54; - break; - } else { - $k$0 = $k$1; - } - } - if ((label|0) == 12) { - _stbi__err(14024); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - else if ((label|0) == 15) { - $44 = 1 << $41; - HEAP32[$8>>2] = $44; - $45 = ($41|0)==(0); - if (!($45)) { - $46 = (_stbi__jpeg_get_bits($j,$41)|0); - $47 = HEAP32[$8>>2]|0; - $48 = (($47) + ($46))|0; - HEAP32[$8>>2] = $48; - } - $49 = HEAP32[$8>>2]|0; - $50 = (($49) + -1)|0; - HEAP32[$8>>2] = $50; - $$0 = 1; - STACKTOP = sp;return ($$0|0); - } - else if ((label|0) == 54) { - STACKTOP = sp;return ($$0|0); - } - } - $63 = 1 << $7; - $64 = (($j) + 18144|0); - $65 = HEAP32[$64>>2]|0; - $66 = ($65|0)==(0); - if (!($66)) { - $71 = (($65) + -1)|0; - HEAP32[$64>>2] = $71; - $72 = HEAP32[$0>>2]|0; - $73 = (($j) + 18132|0); - $74 = HEAP32[$73>>2]|0; - $75 = ($72|0)>($74|0); - if ($75) { - $$0 = 1; - STACKTOP = sp;return ($$0|0); - } - $sext2 = $63 << 16; - $76 = $sext2 >> 16; - $k$225 = $72; - while(1) { - $77 = (13584 + ($k$225)|0); - $78 = HEAP8[$77>>0]|0; - $79 = $78&255; - $80 = (($data) + ($79<<1)|0); - $81 = HEAP16[$80>>1]|0; - $82 = ($81<<16>>16)==(0); - do { - if (!($82)) { - $83 = (_stbi__jpeg_get_bit($j)|0); - $84 = ($83|0)==(0); - if (!($84)) { - $85 = HEAP16[$80>>1]|0; - $86 = $85 << 16 >> 16; - $87 = $86 & $76; - $88 = ($87|0)==(0); - if ($88) { - $89 = ($85<<16>>16)>(0); - if ($89) { - $90 = (($86) + ($76))|0; - $91 = $90&65535; - HEAP16[$80>>1] = $91; - break; - } else { - $92 = (($86) - ($76))|0; - $93 = $92&65535; - HEAP16[$80>>1] = $93; - break; - } - } - } - } - } while(0); - $94 = (($k$225) + 1)|0; - $95 = HEAP32[$73>>2]|0; - $96 = ($k$225|0)<($95|0); - if ($96) { - $k$225 = $94; - } else { - $$0 = 1; - break; - } - } - STACKTOP = sp;return ($$0|0); - } - $sext = $63 << 16; - $67 = $sext >> 16; - $68 = (0 - ($67))|0; - $69 = (($j) + 18132|0); - $sext1 = $63 << 16; - $70 = $sext1 >> 16; - $k$3 = $1; - while(1) { - $97 = (_stbi__jpeg_huff_decode($j,$hac)|0); - $98 = ($97|0)<(0); - if ($98) { - label = 33; - break; - } - $99 = $97 & 15; - $100 = $97 >> 4; - if ((($99|0) == 0)) { - $101 = ($100|0)<(15); - if ($101) { - $102 = 1 << $100; - $103 = (($102) + -1)|0; - HEAP32[$64>>2] = $103; - $104 = ($100|0)==(0); - if ($104) { - $r1$0$ph = 64;$s2$0$ph = 0; - } else { - $105 = (_stbi__jpeg_get_bits($j,$100)|0); - $106 = HEAP32[$64>>2]|0; - $107 = (($106) + ($105))|0; - HEAP32[$64>>2] = $107; - $r1$0$ph = 64;$s2$0$ph = $99; - } - } else { - $r1$0$ph = 16;$s2$0$ph = 0; - } - } else if ((($99|0) == 1)) { - $108 = (_stbi__jpeg_get_bit($j)|0); - $109 = ($108|0)==(0); - $$ = $109 ? $68 : $67; - $r1$0$ph = $100;$s2$0$ph = $$; - } else { - label = 38; - break; - } - $110 = HEAP32[$69>>2]|0; - $111 = ($k$3|0)>($110|0); - L61: do { - if ($111) { - $k$5 = $k$3; - } else { - $k$4$ph19 = $k$3;$r1$0$ph518 = $r1$0$ph; - while(1) { - $k$411 = $k$4$ph19; - while(1) { - $112 = (13584 + ($k$411)|0); - $113 = HEAP8[$112>>0]|0; - $114 = $113&255; - $115 = (($data) + ($114<<1)|0); - $116 = HEAP16[$115>>1]|0; - $117 = ($116<<16>>16)==(0); - if ($117) { - break; - } - $118 = (_stbi__jpeg_get_bit($j)|0); - $119 = ($118|0)==(0); - do { - if (!($119)) { - $120 = HEAP16[$115>>1]|0; - $121 = $120 << 16 >> 16; - $122 = $121 & $70; - $123 = ($122|0)==(0); - if ($123) { - $124 = ($120<<16>>16)>(0); - if ($124) { - $125 = (($121) + ($70))|0; - $126 = $125&65535; - HEAP16[$115>>1] = $126; - break; - } else { - $127 = (($121) - ($70))|0; - $128 = $127&65535; - HEAP16[$115>>1] = $128; - break; - } - } - } - } while(0); - $129 = (($k$411) + 1)|0; - $130 = HEAP32[$69>>2]|0; - $131 = ($k$411|0)<($130|0); - if ($131) { - $k$411 = $129; - } else { - $k$5 = $129; - break L61; - } - } - $132 = ($r1$0$ph518|0)==(0); - if ($132) { - break; - } - $136 = (($r1$0$ph518) + -1)|0; - $137 = (($k$411) + 1)|0; - $138 = HEAP32[$69>>2]|0; - $139 = ($k$411|0)<($138|0); - if ($139) { - $k$4$ph19 = $137;$r1$0$ph518 = $136; - } else { - $k$5 = $137; - break L61; - } - } - $133 = ($s2$0$ph|0)==(0); - if ($133) { - $k$5 = $k$411; - } else { - $134 = $s2$0$ph&65535; - $135 = (($k$411) + 1)|0; - HEAP16[$115>>1] = $134; - $k$5 = $135; - } - } - } while(0); - $140 = HEAP32[$69>>2]|0; - $141 = ($k$5|0)>($140|0); - if ($141) { - $$0 = 1; - label = 54; - break; - } else { - $k$3 = $k$5; - } - } - if ((label|0) == 33) { - _stbi__err(14024); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - else if ((label|0) == 38) { - _stbi__err(14024); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - else if ((label|0) == 54) { - STACKTOP = sp;return ($$0|0); - } - return 0|0; -} -function _stbi__jpeg_huff_decode($j,$h) { - $j = $j|0; - $h = $h|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; - var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $k$0 = 0, label = 0; - var sp = 0; - sp = STACKTOP; - $0 = (($j) + 18112|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)<(16); - if ($2) { - _stbi__grow_buffer_unsafe($j); - } - $3 = (($j) + 18108|0); - $4 = HEAP32[$3>>2]|0; - $5 = $4 >>> 23; - $6 = (($h) + ($5)|0); - $7 = HEAP8[$6>>0]|0; - $8 = $7&255; - $9 = ($7<<24>>24)==(-1); - if (!($9)) { - $10 = ((($h) + ($8)|0) + 1280|0); - $11 = HEAP8[$10>>0]|0; - $12 = $11&255; - $13 = HEAP32[$0>>2]|0; - $14 = ($12|0)>($13|0); - if ($14) { - $$0 = -1; - STACKTOP = sp;return ($$0|0); - } - $15 = $4 << $12; - HEAP32[$3>>2] = $15; - $16 = HEAP32[$0>>2]|0; - $17 = (($16) - ($12))|0; - HEAP32[$0>>2] = $17; - $18 = ((($h) + ($8)|0) + 1024|0); - $19 = HEAP8[$18>>0]|0; - $20 = $19&255; - $$0 = $20; - STACKTOP = sp;return ($$0|0); - } - $21 = $4 >>> 16; - $k$0 = 10; - while(1) { - $22 = ((($h) + ($k$0<<2)|0) + 1540|0); - $23 = HEAP32[$22>>2]|0; - $24 = ($21>>>0)<($23>>>0); - $25 = (($k$0) + 1)|0; - if ($24) { - break; - } else { - $k$0 = $25; - } - } - $26 = ($k$0|0)==(17); - $27 = HEAP32[$0>>2]|0; - if ($26) { - $28 = (($27) + -16)|0; - HEAP32[$0>>2] = $28; - $$0 = -1; - STACKTOP = sp;return ($$0|0); - } - $29 = ($k$0|0)>($27|0); - if ($29) { - $$0 = -1; - STACKTOP = sp;return ($$0|0); - } - $30 = HEAP32[$3>>2]|0; - $31 = (32 - ($k$0))|0; - $32 = $30 >>> $31; - $33 = (15584 + ($k$0<<2)|0); - $34 = HEAP32[$33>>2]|0; - $35 = $32 & $34; - $36 = ((($h) + ($k$0<<2)|0) + 1612|0); - $37 = HEAP32[$36>>2]|0; - $38 = (($35) + ($37))|0; - $39 = ((($h) + ($38)|0) + 1280|0); - $40 = HEAP8[$39>>0]|0; - $41 = $40&255; - $42 = (32 - ($41))|0; - $43 = $30 >>> $42; - $44 = (15584 + ($41<<2)|0); - $45 = HEAP32[$44>>2]|0; - $46 = $43 & $45; - $47 = ((($h) + ($38<<1)|0) + 512|0); - $48 = HEAP16[$47>>1]|0; - $49 = $48&65535; - $50 = ($46|0)==($49|0); - if (!($50)) { - ___assert_fail((15720|0),(12928|0),1528,(15808|0)); - // unreachable; - } - $51 = (($27) - ($k$0))|0; - HEAP32[$0>>2] = $51; - $52 = HEAP32[$3>>2]|0; - $53 = $52 << $k$0; - HEAP32[$3>>2] = $53; - $54 = ((($h) + ($38)|0) + 1024|0); - $55 = HEAP8[$54>>0]|0; - $56 = $55&255; - $$0 = $56; - STACKTOP = sp;return ($$0|0); -} -function _stbi__jpeg_get_bits($j,$n) { - $j = $j|0; - $n = $n|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (($j) + 18112|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)<($n|0); - if ($2) { - _stbi__grow_buffer_unsafe($j); - } - $3 = (($j) + 18108|0); - $4 = HEAP32[$3>>2]|0; - $5 = $4 << $n; - $6 = (32 - ($n))|0; - $7 = $4 >>> $6; - $8 = $5 | $7; - $9 = (15584 + ($n<<2)|0); - $10 = HEAP32[$9>>2]|0; - $11 = $10 ^ -1; - $12 = $8 & $11; - HEAP32[$3>>2] = $12; - $13 = HEAP32[$9>>2]|0; - $14 = $8 & $13; - $15 = HEAP32[$0>>2]|0; - $16 = (($15) - ($n))|0; - HEAP32[$0>>2] = $16; - STACKTOP = sp;return ($14|0); -} -function _stbi__extend_receive($j,$n) { - $j = $j|0; - $n = $n|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0; - var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (($j) + 18112|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)<($n|0); - if ($2) { - _stbi__grow_buffer_unsafe($j); - } - $3 = (($j) + 18108|0); - $4 = HEAP32[$3>>2]|0; - $5 = $4 >> 31; - $6 = $4 << $n; - $7 = (32 - ($n))|0; - $8 = $4 >>> $7; - $9 = $6 | $8; - $10 = (15584 + ($n<<2)|0); - $11 = HEAP32[$10>>2]|0; - $12 = $11 ^ -1; - $13 = $9 & $12; - HEAP32[$3>>2] = $13; - $14 = HEAP32[$10>>2]|0; - $15 = $9 & $14; - $16 = HEAP32[$0>>2]|0; - $17 = (($16) - ($n))|0; - HEAP32[$0>>2] = $17; - $18 = (15656 + ($n<<2)|0); - $19 = HEAP32[$18>>2]|0; - $20 = $5 ^ -1; - $21 = $19 & $20; - $22 = (($21) + ($15))|0; - STACKTOP = sp;return ($22|0); -} -function _stbi__jpeg_get_bit($j) { - $j = $j|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (($j) + 18112|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)<(1); - if ($2) { - _stbi__grow_buffer_unsafe($j); - } - $3 = (($j) + 18108|0); - $4 = HEAP32[$3>>2]|0; - $5 = $4 << 1; - HEAP32[$3>>2] = $5; - $6 = HEAP32[$0>>2]|0; - $7 = (($6) + -1)|0; - HEAP32[$0>>2] = $7; - $8 = $4 & -2147483648; - STACKTOP = sp;return ($8|0); -} -function _stbi__idct_block($out,$out_stride,$data) { - $out = $out|0; - $out_stride = $out_stride|0; - $data = $data|0; - var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; - var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; - var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0; - var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0; - var $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0; - var $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0; - var $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0; - var $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $d$04 = 0, $exitcond = 0, $exitcond9 = 0, $i$08 = 0, $i$13 = 0, $o$01 = 0, $v$06 = 0, $v$12 = 0; - var $val = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); - $val = sp; - $d$04 = $data;$i$08 = 0;$v$06 = $val; - while(1) { - $0 = (($d$04) + 16|0); - $1 = HEAP16[$0>>1]|0; - $2 = ($1<<16>>16)==(0); - if ($2) { - $3 = (($d$04) + 32|0); - $4 = HEAP16[$3>>1]|0; - $5 = ($4<<16>>16)==(0); - if ($5) { - $6 = (($d$04) + 48|0); - $7 = HEAP16[$6>>1]|0; - $8 = ($7<<16>>16)==(0); - if ($8) { - $9 = (($d$04) + 64|0); - $10 = HEAP16[$9>>1]|0; - $11 = ($10<<16>>16)==(0); - if ($11) { - $12 = (($d$04) + 80|0); - $13 = HEAP16[$12>>1]|0; - $14 = ($13<<16>>16)==(0); - if ($14) { - $15 = (($d$04) + 96|0); - $16 = HEAP16[$15>>1]|0; - $17 = ($16<<16>>16)==(0); - if ($17) { - $18 = (($d$04) + 112|0); - $19 = HEAP16[$18>>1]|0; - $20 = ($19<<16>>16)==(0); - if ($20) { - $21 = HEAP16[$d$04>>1]|0; - $22 = $21 << 16 >> 16; - $23 = $22 << 2; - $24 = (($v$06) + 224|0); - HEAP32[$24>>2] = $23; - $25 = (($v$06) + 192|0); - HEAP32[$25>>2] = $23; - $26 = (($v$06) + 160|0); - HEAP32[$26>>2] = $23; - $27 = (($v$06) + 128|0); - HEAP32[$27>>2] = $23; - $28 = (($v$06) + 96|0); - HEAP32[$28>>2] = $23; - $29 = (($v$06) + 64|0); - HEAP32[$29>>2] = $23; - $30 = (($v$06) + 32|0); - HEAP32[$30>>2] = $23; - HEAP32[$v$06>>2] = $23; - } else { - label = 10; - } - } else { - label = 10; - } - } else { - label = 10; - } - } else { - label = 10; - } - } else { - label = 10; - } - } else { - label = 10; - } - } else { - label = 10; - } - if ((label|0) == 10) { - label = 0; - $31 = (($d$04) + 32|0); - $32 = HEAP16[$31>>1]|0; - $33 = $32 << 16 >> 16; - $34 = (($d$04) + 96|0); - $35 = HEAP16[$34>>1]|0; - $36 = $35 << 16 >> 16; - $37 = (($36) + ($33))|0; - $38 = ($37*2217)|0; - $39 = Math_imul($36, -7567)|0; - $40 = (($38) + ($39))|0; - $41 = ($33*3135)|0; - $42 = (($38) + ($41))|0; - $43 = HEAP16[$d$04>>1]|0; - $44 = $43 << 16 >> 16; - $45 = (($d$04) + 64|0); - $46 = HEAP16[$45>>1]|0; - $47 = $46 << 16 >> 16; - $48 = (($47) + ($44))|0; - $49 = $48 << 12; - $50 = (($44) - ($47))|0; - $51 = $50 << 12; - $52 = (($49) - ($42))|0; - $53 = (($51) - ($40))|0; - $54 = (($d$04) + 112|0); - $55 = HEAP16[$54>>1]|0; - $56 = $55 << 16 >> 16; - $57 = (($d$04) + 80|0); - $58 = HEAP16[$57>>1]|0; - $59 = $58 << 16 >> 16; - $60 = (($d$04) + 48|0); - $61 = HEAP16[$60>>1]|0; - $62 = $61 << 16 >> 16; - $63 = HEAP16[$0>>1]|0; - $64 = $63 << 16 >> 16; - $65 = (($62) + ($56))|0; - $66 = (($64) + ($59))|0; - $67 = (($64) + ($56))|0; - $68 = (($62) + ($59))|0; - $69 = (($66) + ($65))|0; - $70 = ($69*4816)|0; - $71 = ($56*1223)|0; - $72 = ($59*8410)|0; - $73 = ($62*12586)|0; - $74 = ($64*6149)|0; - $75 = Math_imul($67, -3685)|0; - $76 = (($70) + ($75))|0; - $77 = Math_imul($68, -10497)|0; - $78 = (($70) + ($77))|0; - $79 = Math_imul($65, -8034)|0; - $80 = Math_imul($66, -1597)|0; - $81 = (($80) + ($74))|0; - $82 = (($81) + ($76))|0; - $83 = (($79) + ($73))|0; - $84 = (($83) + ($78))|0; - $85 = (($80) + ($72))|0; - $86 = (($85) + ($78))|0; - $87 = (($79) + ($71))|0; - $88 = (($87) + ($76))|0; - $89 = (($42) + 512)|0; - $90 = (($89) + ($49))|0; - $91 = (($40) + 512)|0; - $92 = (($91) + ($51))|0; - $93 = (($53) + 512)|0; - $94 = (($52) + 512)|0; - $95 = (($82) + ($90))|0; - $96 = $95 >> 10; - HEAP32[$v$06>>2] = $96; - $97 = (($90) - ($82))|0; - $98 = $97 >> 10; - $99 = (($v$06) + 224|0); - HEAP32[$99>>2] = $98; - $100 = (($84) + ($92))|0; - $101 = $100 >> 10; - $102 = (($v$06) + 32|0); - HEAP32[$102>>2] = $101; - $103 = (($92) - ($84))|0; - $104 = $103 >> 10; - $105 = (($v$06) + 192|0); - HEAP32[$105>>2] = $104; - $106 = (($86) + ($93))|0; - $107 = $106 >> 10; - $108 = (($v$06) + 64|0); - HEAP32[$108>>2] = $107; - $109 = (($93) - ($86))|0; - $110 = $109 >> 10; - $111 = (($v$06) + 160|0); - HEAP32[$111>>2] = $110; - $112 = (($88) + ($94))|0; - $113 = $112 >> 10; - $114 = (($v$06) + 96|0); - HEAP32[$114>>2] = $113; - $115 = (($94) - ($88))|0; - $116 = $115 >> 10; - $117 = (($v$06) + 128|0); - HEAP32[$117>>2] = $116; - } - $118 = (($i$08) + 1)|0; - $119 = (($d$04) + 2|0); - $120 = (($v$06) + 4|0); - $exitcond9 = ($118|0)==(8); - if ($exitcond9) { - $i$13 = 0;$o$01 = $out;$v$12 = $val; - break; - } else { - $d$04 = $119;$i$08 = $118;$v$06 = $120; - } - } - while(1) { - $121 = (($v$12) + 8|0); - $122 = HEAP32[$121>>2]|0; - $123 = (($v$12) + 24|0); - $124 = HEAP32[$123>>2]|0; - $125 = (($124) + ($122))|0; - $126 = ($125*2217)|0; - $127 = Math_imul($124, -7567)|0; - $128 = (($126) + ($127))|0; - $129 = ($122*3135)|0; - $130 = (($126) + ($129))|0; - $131 = HEAP32[$v$12>>2]|0; - $132 = (($v$12) + 16|0); - $133 = HEAP32[$132>>2]|0; - $134 = (($133) + ($131))|0; - $135 = $134 << 12; - $136 = (($131) - ($133))|0; - $137 = $136 << 12; - $138 = (($135) - ($130))|0; - $139 = (($137) - ($128))|0; - $140 = (($v$12) + 28|0); - $141 = HEAP32[$140>>2]|0; - $142 = (($v$12) + 20|0); - $143 = HEAP32[$142>>2]|0; - $144 = (($v$12) + 12|0); - $145 = HEAP32[$144>>2]|0; - $146 = (($v$12) + 4|0); - $147 = HEAP32[$146>>2]|0; - $148 = (($145) + ($141))|0; - $149 = (($147) + ($143))|0; - $150 = (($147) + ($141))|0; - $151 = (($145) + ($143))|0; - $152 = (($149) + ($148))|0; - $153 = ($152*4816)|0; - $154 = ($141*1223)|0; - $155 = ($143*8410)|0; - $156 = ($145*12586)|0; - $157 = ($147*6149)|0; - $158 = Math_imul($150, -3685)|0; - $159 = (($153) + ($158))|0; - $160 = Math_imul($151, -10497)|0; - $161 = (($153) + ($160))|0; - $162 = Math_imul($148, -8034)|0; - $163 = Math_imul($149, -1597)|0; - $164 = (($163) + ($157))|0; - $165 = (($164) + ($159))|0; - $166 = (($162) + ($156))|0; - $167 = (($166) + ($161))|0; - $168 = (($163) + ($155))|0; - $169 = (($168) + ($161))|0; - $170 = (($162) + ($154))|0; - $171 = (($170) + ($159))|0; - $172 = (($130) + 16842752)|0; - $173 = (($172) + ($135))|0; - $174 = (($128) + 16842752)|0; - $175 = (($174) + ($137))|0; - $176 = (($139) + 16842752)|0; - $177 = (($138) + 16842752)|0; - $178 = (($165) + ($173))|0; - $179 = $178 >> 17; - $180 = (_stbi__clamp($179)|0); - HEAP8[$o$01>>0] = $180; - $181 = (($173) - ($165))|0; - $182 = $181 >> 17; - $183 = (_stbi__clamp($182)|0); - $184 = (($o$01) + 7|0); - HEAP8[$184>>0] = $183; - $185 = (($167) + ($175))|0; - $186 = $185 >> 17; - $187 = (_stbi__clamp($186)|0); - $188 = (($o$01) + 1|0); - HEAP8[$188>>0] = $187; - $189 = (($175) - ($167))|0; - $190 = $189 >> 17; - $191 = (_stbi__clamp($190)|0); - $192 = (($o$01) + 6|0); - HEAP8[$192>>0] = $191; - $193 = (($169) + ($176))|0; - $194 = $193 >> 17; - $195 = (_stbi__clamp($194)|0); - $196 = (($o$01) + 2|0); - HEAP8[$196>>0] = $195; - $197 = (($176) - ($169))|0; - $198 = $197 >> 17; - $199 = (_stbi__clamp($198)|0); - $200 = (($o$01) + 5|0); - HEAP8[$200>>0] = $199; - $201 = (($171) + ($177))|0; - $202 = $201 >> 17; - $203 = (_stbi__clamp($202)|0); - $204 = (($o$01) + 3|0); - HEAP8[$204>>0] = $203; - $205 = (($177) - ($171))|0; - $206 = $205 >> 17; - $207 = (_stbi__clamp($206)|0); - $208 = (($o$01) + 4|0); - HEAP8[$208>>0] = $207; - $209 = (($i$13) + 1)|0; - $210 = (($v$12) + 32|0); - $211 = (($o$01) + ($out_stride)|0); - $exitcond = ($209|0)==(8); - if ($exitcond) { - break; - } else { - $i$13 = $209;$o$01 = $211;$v$12 = $210; - } - } - STACKTOP = sp;return; -} -function _stbi__YCbCr_to_RGB_row($out,$y,$pcb,$pcr,$count,$step) { - $out = $out|0; - $y = $y|0; - $pcb = $pcb|0; - $pcr = $pcr|0; - $count = $count|0; - $step = $step|0; - var $$04 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; - var $44 = 0, $45 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $b$0 = 0, $exitcond = 0, $g$0 = 0, $i$03 = 0, $r$0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ($count|0)>(0); - if ($0) { - $$04 = $out;$i$03 = 0; - } else { - STACKTOP = sp;return; - } - while(1) { - $1 = (($y) + ($i$03)|0); - $2 = HEAP8[$1>>0]|0; - $3 = $2&255; - $4 = $3 << 20; - $5 = $4 | 524288; - $6 = (($pcr) + ($i$03)|0); - $7 = HEAP8[$6>>0]|0; - $8 = $7&255; - $9 = (($8) + -128)|0; - $10 = (($pcb) + ($i$03)|0); - $11 = HEAP8[$10>>0]|0; - $12 = $11&255; - $13 = (($12) + -128)|0; - $14 = Math_imul($9, 1470208)|0; - $15 = (($14) + ($5))|0; - $16 = Math_imul($9, -748800)|0; - $17 = (($16) + ($5))|0; - $18 = Math_imul($13, -360960)|0; - $19 = $18 & -65536; - $20 = (($17) + ($19))|0; - $21 = Math_imul($13, 1858048)|0; - $22 = (($21) + ($5))|0; - $23 = $15 >> 20; - $24 = $20 >> 20; - $25 = $22 >> 20; - $26 = ($23>>>0)>(255); - if ($26) { - $27 = $15 >> 31; - $28 = $27 & -255; - $29 = (($28) + 255)|0; - $r$0 = $29; - } else { - $r$0 = $23; - } - $30 = ($24>>>0)>(255); - if ($30) { - $31 = $20 >> 31; - $32 = $31 & -255; - $33 = (($32) + 255)|0; - $g$0 = $33; - } else { - $g$0 = $24; - } - $34 = ($25>>>0)>(255); - if ($34) { - $35 = $22 >> 31; - $36 = $35 & -255; - $37 = (($36) + 255)|0; - $b$0 = $37; - } else { - $b$0 = $25; - } - $38 = $r$0&255; - HEAP8[$$04>>0] = $38; - $39 = $g$0&255; - $40 = (($$04) + 1|0); - HEAP8[$40>>0] = $39; - $41 = $b$0&255; - $42 = (($$04) + 2|0); - HEAP8[$42>>0] = $41; - $43 = (($$04) + 3|0); - HEAP8[$43>>0] = -1; - $44 = (($$04) + ($step)|0); - $45 = (($i$03) + 1)|0; - $exitcond = ($45|0)==($count|0); - if ($exitcond) { - break; - } else { - $$04 = $44;$i$03 = $45; - } - } - STACKTOP = sp;return; -} -function _stbi__resample_row_hv_2($out,$in_near,$in_far,$w,$hs) { - $out = $out|0; - $in_near = $in_near|0; - $in_far = $in_far|0; - $w = $w|0; - $hs = $hs|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; - var $9 = 0, $exitcond = 0, $i$01 = 0, $t1$0$lcssa = 0, $t1$02 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ($w|0)==(1); - $1 = HEAP8[$in_near>>0]|0; - $2 = $1&255; - $3 = ($2*3)|0; - $4 = HEAP8[$in_far>>0]|0; - $5 = $4&255; - $6 = (($3) + ($5))|0; - $7 = (($6) + 2)|0; - $8 = $7 >>> 2; - $9 = $8&255; - if ($0) { - $10 = (($out) + 1|0); - HEAP8[$10>>0] = $9; - HEAP8[$out>>0] = $9; - STACKTOP = sp;return ($out|0); - } - HEAP8[$out>>0] = $9; - $11 = ($w|0)>(1); - if ($11) { - $i$01 = 1;$t1$02 = $6; - while(1) { - $12 = (($in_near) + ($i$01)|0); - $13 = HEAP8[$12>>0]|0; - $14 = $13&255; - $15 = ($14*3)|0; - $16 = (($in_far) + ($i$01)|0); - $17 = HEAP8[$16>>0]|0; - $18 = $17&255; - $19 = (($15) + ($18))|0; - $20 = ($t1$02*3)|0; - $21 = (($20) + 8)|0; - $22 = (($21) + ($19))|0; - $23 = $22 >>> 4; - $24 = $23&255; - $25 = $i$01 << 1; - $26 = (($25) + -1)|0; - $27 = (($out) + ($26)|0); - HEAP8[$27>>0] = $24; - $28 = ($19*3)|0; - $29 = (($t1$02) + 8)|0; - $30 = (($29) + ($28))|0; - $31 = $30 >>> 4; - $32 = $31&255; - $33 = (($out) + ($25)|0); - HEAP8[$33>>0] = $32; - $34 = (($i$01) + 1)|0; - $exitcond = ($34|0)==($w|0); - if ($exitcond) { - $t1$0$lcssa = $19; - break; - } else { - $i$01 = $34;$t1$02 = $19; - } - } - } else { - $t1$0$lcssa = $6; - } - $35 = (($t1$0$lcssa) + 2)|0; - $36 = $35 >>> 2; - $37 = $36&255; - $38 = $w << 1; - $39 = (($38) + -1)|0; - $40 = (($out) + ($39)|0); - HEAP8[$40>>0] = $37; - STACKTOP = sp;return ($out|0); -} -function _stbi__clamp($x) { - $x = $x|0; - var $$not = 0, $0 = 0, $1 = 0, $2 = 0, $x$lobit = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ($x>>>0)>(255); - if ($0) { - $x$lobit = $x >> 31; - $1 = $x$lobit&255; - $$not = $1 ^ -1; - STACKTOP = sp;return ($$not|0); - } else { - $2 = $x&255; - STACKTOP = sp;return ($2|0); - } - return 0|0; -} -function _stbi__stdio_read($user,$data,$size) { - $user = $user|0; - $data = $data|0; - $size = $size|0; - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_fread(($data|0),1,($size|0),($user|0))|0); - STACKTOP = sp;return ($0|0); -} -function _stbi__stdio_skip($user,$n) { - $user = $user|0; - $n = $n|0; - var label = 0, sp = 0; - sp = STACKTOP; - (_fseek(($user|0),($n|0),1)|0); - STACKTOP = sp;return; -} -function _stbi__stdio_eof($user) { - $user = $user|0; - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_feof(($user|0))|0); - STACKTOP = sp;return ($0|0); -} -function _DrawCube($position,$width,$height,$lenght,$color) { - $position = $position|0; - $width = +$width; - $height = +$height; - $lenght = +$lenght; - $color = $color|0; - var $0 = 0.0, $1 = 0, $10 = 0, $11 = 0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $2 = 0.0, $20 = 0.0, $3 = 0, $4 = 0.0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; - var $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - _rlPushMatrix(); - $0 = +HEAPF32[$position>>2]; - $1 = (($position) + 4|0); - $2 = +HEAPF32[$1>>2]; - $3 = (($position) + 8|0); - $4 = +HEAPF32[$3>>2]; - _rlTranslatef($0,$2,$4); - _rlBegin(1); - $5 = HEAP8[$color>>0]|0; - $6 = (($color) + 1|0); - $7 = HEAP8[$6>>0]|0; - $8 = (($color) + 2|0); - $9 = HEAP8[$8>>0]|0; - $10 = (($color) + 3|0); - $11 = HEAP8[$10>>0]|0; - _rlColor4ub($5,$7,$9,$11); - $12 = $width * 0.5; - $13 = 0.0 - $12; - $14 = $height * 0.5; - $15 = 0.0 - $14; - $16 = $lenght * 0.5; - $17 = $16 + 0.0; - _rlVertex3f($13,$15,$17); - $18 = $12 + 0.0; - _rlVertex3f($18,$15,$17); - $19 = $14 + 0.0; - _rlVertex3f($13,$19,$17); - _rlVertex3f($18,$19,$17); - _rlVertex3f($13,$19,$17); - _rlVertex3f($18,$15,$17); - $20 = 0.0 - $16; - _rlVertex3f($13,$15,$20); - _rlVertex3f($13,$19,$20); - _rlVertex3f($18,$15,$20); - _rlVertex3f($18,$19,$20); - _rlVertex3f($18,$15,$20); - _rlVertex3f($13,$19,$20); - _rlVertex3f($13,$19,$20); - _rlVertex3f($13,$19,$17); - _rlVertex3f($18,$19,$17); - _rlVertex3f($18,$19,$20); - _rlVertex3f($13,$19,$20); - _rlVertex3f($18,$19,$17); - _rlVertex3f($13,$15,$20); - _rlVertex3f($18,$15,$17); - _rlVertex3f($13,$15,$17); - _rlVertex3f($18,$15,$20); - _rlVertex3f($18,$15,$17); - _rlVertex3f($13,$15,$20); - _rlVertex3f($18,$15,$20); - _rlVertex3f($18,$19,$20); - _rlVertex3f($18,$19,$17); - _rlVertex3f($18,$15,$17); - _rlVertex3f($18,$15,$20); - _rlVertex3f($18,$19,$17); - _rlVertex3f($13,$15,$20); - _rlVertex3f($13,$19,$17); - _rlVertex3f($13,$19,$20); - _rlVertex3f($13,$15,$17); - _rlVertex3f($13,$19,$17); - _rlVertex3f($13,$15,$20); - _rlEnd(); - _rlPopMatrix(); - STACKTOP = sp;return; -} -function _DrawCubeWires($position,$width,$height,$lenght,$color) { - $position = $position|0; - $width = +$width; - $height = +$height; - $lenght = +$lenght; - $color = $color|0; - var $0 = 0.0, $1 = 0, $10 = 0, $11 = 0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $2 = 0.0, $20 = 0.0, $3 = 0, $4 = 0.0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; - var $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - _rlPushMatrix(); - $0 = +HEAPF32[$position>>2]; - $1 = (($position) + 4|0); - $2 = +HEAPF32[$1>>2]; - $3 = (($position) + 8|0); - $4 = +HEAPF32[$3>>2]; - _rlTranslatef($0,$2,$4); - _rlBegin(0); - $5 = HEAP8[$color>>0]|0; - $6 = (($color) + 1|0); - $7 = HEAP8[$6>>0]|0; - $8 = (($color) + 2|0); - $9 = HEAP8[$8>>0]|0; - $10 = (($color) + 3|0); - $11 = HEAP8[$10>>0]|0; - _rlColor4ub($5,$7,$9,$11); - $12 = $width * 0.5; - $13 = 0.0 - $12; - $14 = $height * 0.5; - $15 = 0.0 - $14; - $16 = $lenght * 0.5; - $17 = $16 + 0.0; - _rlVertex3f($13,$15,$17); - $18 = $12 + 0.0; - _rlVertex3f($18,$15,$17); - _rlVertex3f($18,$15,$17); - $19 = $14 + 0.0; - _rlVertex3f($18,$19,$17); - _rlVertex3f($18,$19,$17); - _rlVertex3f($13,$19,$17); - _rlVertex3f($13,$19,$17); - _rlVertex3f($13,$15,$17); - $20 = 0.0 - $16; - _rlVertex3f($13,$15,$20); - _rlVertex3f($18,$15,$20); - _rlVertex3f($18,$15,$20); - _rlVertex3f($18,$19,$20); - _rlVertex3f($18,$19,$20); - _rlVertex3f($13,$19,$20); - _rlVertex3f($13,$19,$20); - _rlVertex3f($13,$15,$20); - _rlVertex3f($13,$19,$17); - _rlVertex3f($13,$19,$20); - _rlVertex3f($18,$19,$17); - _rlVertex3f($18,$19,$20); - _rlVertex3f($13,$15,$17); - _rlVertex3f($13,$15,$20); - _rlVertex3f($18,$15,$17); - _rlVertex3f($18,$15,$20); - _rlEnd(); - _rlPopMatrix(); - STACKTOP = sp;return; -} -function _DrawSphere($centerPos,$radius,$color) { - $centerPos = $centerPos|0; - $radius = +$radius; - $color = $color|0; - var $centerPos$byval_copy = 0, $color$byval_copy = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); - $color$byval_copy = sp + 12|0; - $centerPos$byval_copy = sp; - ;HEAP32[$centerPos$byval_copy+0>>2]=HEAP32[$centerPos+0>>2]|0;HEAP32[$centerPos$byval_copy+4>>2]=HEAP32[$centerPos+4>>2]|0;HEAP32[$centerPos$byval_copy+8>>2]=HEAP32[$centerPos+8>>2]|0; - ;HEAP8[$color$byval_copy+0>>0]=HEAP8[$color+0>>0]|0;HEAP8[$color$byval_copy+1>>0]=HEAP8[$color+1>>0]|0;HEAP8[$color$byval_copy+2>>0]=HEAP8[$color+2>>0]|0;HEAP8[$color$byval_copy+3>>0]=HEAP8[$color+3>>0]|0; - _DrawSphereEx($centerPos$byval_copy,$radius,16,16,$color$byval_copy); - STACKTOP = sp;return; -} -function _DrawSphereEx($centerPos,$radius,$rings,$slices,$color) { - $centerPos = $centerPos|0; - $radius = +$radius; - $rings = $rings|0; - $slices = $slices|0; - $color = $color|0; - var $0 = 0.0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0.0, $2 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0.0, $28 = 0.0, $29 = 0.0, $3 = 0, $30 = 0.0, $31 = 0.0, $32 = 0, $33 = 0, $34 = 0.0, $35 = 0.0, $36 = 0.0, $37 = 0.0, $38 = 0.0, $39 = 0.0, $4 = 0.0, $40 = 0.0, $41 = 0.0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0.0, $46 = 0.0, $47 = 0.0, $48 = 0.0, $49 = 0.0, $5 = 0, $50 = 0.0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0.0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0.0, $61 = 0, $62 = 0; - var $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond4 = 0, $i$02 = 0, $j$01 = 0, label = 0, sp = 0; - sp = STACKTOP; - _rlPushMatrix(); - $0 = +HEAPF32[$centerPos>>2]; - $1 = (($centerPos) + 4|0); - $2 = +HEAPF32[$1>>2]; - $3 = (($centerPos) + 8|0); - $4 = +HEAPF32[$3>>2]; - _rlTranslatef($0,$2,$4); - _rlScalef($radius,$radius,$radius); - _rlBegin(1); - $5 = HEAP8[$color>>0]|0; - $6 = (($color) + 1|0); - $7 = HEAP8[$6>>0]|0; - $8 = (($color) + 2|0); - $9 = HEAP8[$8>>0]|0; - $10 = (($color) + 3|0); - $11 = HEAP8[$10>>0]|0; - _rlColor4ub($5,$7,$9,$11); - $12 = (($rings) + 2)|0; - $13 = ($12|0)>(0); - if (!($13)) { - _rlEnd(); - _rlPopMatrix(); - STACKTOP = sp;return; - } - $14 = ($slices|0)>(0); - $15 = (($rings) + 1)|0; - $i$02 = 0; - while(1) { - if ($14) { - $16 = (180 / ($15|0))&-1; - $17 = Math_imul($16, $i$02)|0; - $18 = (($17) + 270)|0; - $19 = (+($18|0)); - $20 = $19 * 0.0174532925199432954744; - $21 = (+Math_cos((+$20))); - $22 = (+Math_sin((+$20))); - $23 = $22; - $24 = (($i$02) + 1)|0; - $25 = Math_imul($16, $24)|0; - $26 = (($25) + 270)|0; - $27 = (+($26|0)); - $28 = $27 * 0.0174532925199432954744; - $29 = (+Math_cos((+$28))); - $30 = (+Math_sin((+$28))); - $31 = $30; - $j$01 = 0; - while(1) { - $32 = ($j$01*360)|0; - $33 = (($32|0) / ($slices|0))&-1; - $34 = (+($33|0)); - $35 = $34 * 0.0174532925199432954744; - $36 = (+Math_sin((+$35))); - $37 = $21 * $36; - $38 = $37; - $39 = (+Math_cos((+$35))); - $40 = $21 * $39; - $41 = $40; - _rlVertex3f($38,$23,$41); - $42 = (($j$01) + 1)|0; - $43 = ($42*360)|0; - $44 = (($43|0) / ($slices|0))&-1; - $45 = (+($44|0)); - $46 = $45 * 0.0174532925199432954744; - $47 = (+Math_sin((+$46))); - $48 = $29 * $47; - $49 = $48; - $50 = (+Math_cos((+$46))); - $51 = $29 * $50; - $52 = $51; - _rlVertex3f($49,$31,$52); - $53 = $36 * $29; - $54 = $53; - $55 = $39 * $29; - $56 = $55; - _rlVertex3f($54,$31,$56); - _rlVertex3f($38,$23,$41); - $57 = $21 * $47; - $58 = $57; - $59 = $21 * $50; - $60 = $59; - _rlVertex3f($58,$23,$60); - _rlVertex3f($49,$31,$52); - $exitcond = ($42|0)==($slices|0); - if ($exitcond) { - break; - } else { - $j$01 = $42; - } - } - } - $61 = (($i$02) + 1)|0; - $62 = (($rings) + 1)|0; - $exitcond4 = ($i$02|0)==($62|0); - if ($exitcond4) { - break; - } else { - $i$02 = $61; - } - } - _rlEnd(); - _rlPopMatrix(); - STACKTOP = sp;return; -} -function _DrawSphereWires($centerPos,$radius,$rings,$slices,$color) { - $centerPos = $centerPos|0; - $radius = +$radius; - $rings = $rings|0; - $slices = $slices|0; - $color = $color|0; - var $0 = 0.0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0.0, $2 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0.0, $28 = 0.0, $29 = 0.0, $3 = 0, $30 = 0.0, $31 = 0.0, $32 = 0, $33 = 0, $34 = 0.0, $35 = 0.0, $36 = 0.0, $37 = 0.0, $38 = 0.0, $39 = 0.0, $4 = 0.0, $40 = 0.0, $41 = 0.0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0.0, $46 = 0.0, $47 = 0.0, $48 = 0.0, $49 = 0.0, $5 = 0, $50 = 0.0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0.0, $55 = 0.0, $56 = 0.0, $57 = 0, $58 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0; - var $exitcond4 = 0, $i$02 = 0, $j$01 = 0, label = 0, sp = 0; - sp = STACKTOP; - _rlPushMatrix(); - $0 = +HEAPF32[$centerPos>>2]; - $1 = (($centerPos) + 4|0); - $2 = +HEAPF32[$1>>2]; - $3 = (($centerPos) + 8|0); - $4 = +HEAPF32[$3>>2]; - _rlTranslatef($0,$2,$4); - _rlScalef($radius,$radius,$radius); - _rlBegin(0); - $5 = HEAP8[$color>>0]|0; - $6 = (($color) + 1|0); - $7 = HEAP8[$6>>0]|0; - $8 = (($color) + 2|0); - $9 = HEAP8[$8>>0]|0; - $10 = (($color) + 3|0); - $11 = HEAP8[$10>>0]|0; - _rlColor4ub($5,$7,$9,$11); - $12 = (($rings) + 2)|0; - $13 = ($12|0)>(0); - if (!($13)) { - _rlEnd(); - _rlPopMatrix(); - STACKTOP = sp;return; - } - $14 = ($slices|0)>(0); - $15 = (($rings) + 1)|0; - $i$02 = 0; - while(1) { - if ($14) { - $16 = (180 / ($15|0))&-1; - $17 = Math_imul($16, $i$02)|0; - $18 = (($17) + 270)|0; - $19 = (+($18|0)); - $20 = $19 * 0.0174532925199432954744; - $21 = (+Math_cos((+$20))); - $22 = (+Math_sin((+$20))); - $23 = $22; - $24 = (($i$02) + 1)|0; - $25 = Math_imul($16, $24)|0; - $26 = (($25) + 270)|0; - $27 = (+($26|0)); - $28 = $27 * 0.0174532925199432954744; - $29 = (+Math_cos((+$28))); - $30 = (+Math_sin((+$28))); - $31 = $30; - $j$01 = 0; - while(1) { - $32 = ($j$01*360)|0; - $33 = (($32|0) / ($slices|0))&-1; - $34 = (+($33|0)); - $35 = $34 * 0.0174532925199432954744; - $36 = (+Math_sin((+$35))); - $37 = $21 * $36; - $38 = $37; - $39 = (+Math_cos((+$35))); - $40 = $21 * $39; - $41 = $40; - _rlVertex3f($38,$23,$41); - $42 = (($j$01) + 1)|0; - $43 = ($42*360)|0; - $44 = (($43|0) / ($slices|0))&-1; - $45 = (+($44|0)); - $46 = $45 * 0.0174532925199432954744; - $47 = (+Math_sin((+$46))); - $48 = $29 * $47; - $49 = $48; - $50 = (+Math_cos((+$46))); - $51 = $29 * $50; - $52 = $51; - _rlVertex3f($49,$31,$52); - _rlVertex3f($49,$31,$52); - $53 = $36 * $29; - $54 = $53; - $55 = $39 * $29; - $56 = $55; - _rlVertex3f($54,$31,$56); - _rlVertex3f($54,$31,$56); - _rlVertex3f($38,$23,$41); - $exitcond = ($42|0)==($slices|0); - if ($exitcond) { - break; - } else { - $j$01 = $42; - } - } - } - $57 = (($i$02) + 1)|0; - $58 = (($rings) + 1)|0; - $exitcond4 = ($i$02|0)==($58|0); - if ($exitcond4) { - break; - } else { - $i$02 = $57; - } - } - _rlEnd(); - _rlPopMatrix(); - STACKTOP = sp;return; -} -function _DrawCylinder($position,$radiusTop,$radiusBottom,$height,$sides,$color) { - $position = $position|0; - $radiusTop = +$radiusTop; - $radiusBottom = +$radiusBottom; - $height = +$height; - $sides = $sides|0; - $color = $color|0; - var $$sides = 0, $0 = 0, $1 = 0.0, $10 = 0, $100 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0.0, $15 = 0, $16 = 0.0, $17 = 0.0, $18 = 0, $19 = 0.0, $2 = 0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0; - var $25 = 0.0, $26 = 0.0, $27 = 0, $28 = 0.0, $29 = 0.0, $3 = 0.0, $30 = 0.0, $31 = 0.0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0.0, $36 = 0.0, $37 = 0.0, $38 = 0.0, $39 = 0.0, $4 = 0, $40 = 0.0, $41 = 0.0, $42 = 0.0; - var $43 = 0.0, $44 = 0, $45 = 0, $46 = 0.0, $47 = 0.0, $48 = 0.0, $49 = 0.0, $5 = 0.0, $50 = 0.0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0.0, $55 = 0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0.0; - var $61 = 0.0, $62 = 0.0, $63 = 0.0, $64 = 0, $65 = 0.0, $66 = 0.0, $67 = 0.0, $68 = 0.0, $69 = 0.0, $7 = 0, $70 = 0.0, $71 = 0.0, $72 = 0.0, $73 = 0, $74 = 0.0, $75 = 0.0, $76 = 0.0, $77 = 0.0, $78 = 0.0, $79 = 0.0; - var $8 = 0, $80 = 0.0, $81 = 0.0, $82 = 0, $83 = 0, $84 = 0.0, $85 = 0.0, $86 = 0.0, $87 = 0.0, $88 = 0.0, $89 = 0.0, $9 = 0, $90 = 0.0, $91 = 0.0, $92 = 0.0, $93 = 0.0, $94 = 0.0, $95 = 0.0, $96 = 0.0, $97 = 0.0; - var $98 = 0.0, $99 = 0.0, $i$05 = 0, $i1$03 = 0, $i2$08 = 0, $i3$01 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ($sides|0)<(3); - $$sides = $0 ? 3 : $sides; - _rlPushMatrix(); - $1 = +HEAPF32[$position>>2]; - $2 = (($position) + 4|0); - $3 = +HEAPF32[$2>>2]; - $4 = (($position) + 8|0); - $5 = +HEAPF32[$4>>2]; - _rlTranslatef($1,$3,$5); - _rlBegin(1); - $6 = HEAP8[$color>>0]|0; - $7 = (($color) + 1|0); - $8 = HEAP8[$7>>0]|0; - $9 = (($color) + 2|0); - $10 = HEAP8[$9>>0]|0; - $11 = (($color) + 3|0); - $12 = HEAP8[$11>>0]|0; - _rlColor4ub($6,$8,$10,$12); - $13 = $radiusTop > 0.0; - $14 = $radiusBottom; - $15 = (360 / ($$sides|0))&-1; - if ($13) { - $16 = $radiusTop; - $i$05 = 0; - while(1) { - $19 = (+($i$05|0)); - $20 = $19 * 0.0174532925199432954744; - $21 = (+Math_sin((+$20))); - $22 = $14 * $21; - $23 = $22; - $24 = (+Math_cos((+$20))); - $25 = $14 * $24; - $26 = $25; - _rlVertex3f($23,0.0,$26); - $27 = (($15) + ($i$05))|0; - $28 = (+($27|0)); - $29 = $28 * 0.0174532925199432954744; - $30 = (+Math_sin((+$29))); - $31 = $14 * $30; - $32 = $31; - $33 = (+Math_cos((+$29))); - $34 = $14 * $33; - $35 = $34; - _rlVertex3f($32,0.0,$35); - $36 = $16 * $30; - $37 = $36; - $38 = $16 * $33; - $39 = $38; - _rlVertex3f($37,$height,$39); - $40 = $16 * $21; - $41 = $40; - $42 = $16 * $24; - $43 = $42; - _rlVertex3f($41,$height,$43); - _rlVertex3f($23,0.0,$26); - _rlVertex3f($37,$height,$39); - $44 = ($27|0)<(360); - if ($44) { - $i$05 = $27; - } else { - break; - } - } - $17 = $radiusTop; - $18 = (360 / ($$sides|0))&-1; - $i1$03 = 0; - while(1) { - _rlVertex3f(0.0,$height,0.0); - $47 = (+($i1$03|0)); - $48 = $47 * 0.0174532925199432954744; - $49 = (+Math_sin((+$48))); - $50 = $17 * $49; - $51 = $50; - $52 = (+Math_cos((+$48))); - $53 = $17 * $52; - $54 = $53; - _rlVertex3f($51,$height,$54); - $55 = (($18) + ($i1$03))|0; - $56 = (+($55|0)); - $57 = $56 * 0.0174532925199432954744; - $58 = (+Math_sin((+$57))); - $59 = $17 * $58; - $60 = $59; - $61 = (+Math_cos((+$57))); - $62 = $17 * $61; - $63 = $62; - _rlVertex3f($60,$height,$63); - $64 = ($55|0)<(360); - if ($64) { - $i1$03 = $55; - } else { - break; - } - } - } else { - $i2$08 = 0; - while(1) { - _rlVertex3f(0.0,$height,0.0); - $65 = (+($i2$08|0)); - $66 = $65 * 0.0174532925199432954744; - $67 = (+Math_sin((+$66))); - $68 = $14 * $67; - $69 = $68; - $70 = (+Math_cos((+$66))); - $71 = $14 * $70; - $72 = $71; - _rlVertex3f($69,0.0,$72); - $73 = (($15) + ($i2$08))|0; - $74 = (+($73|0)); - $75 = $74 * 0.0174532925199432954744; - $76 = (+Math_sin((+$75))); - $77 = $14 * $76; - $78 = $77; - $79 = (+Math_cos((+$75))); - $80 = $14 * $79; - $81 = $80; - _rlVertex3f($78,0.0,$81); - $82 = ($73|0)<(360); - if ($82) { - $i2$08 = $73; - } else { - break; - } - } - } - $45 = (360 / ($$sides|0))&-1; - $46 = $radiusBottom; - $i3$01 = 0; - while(1) { - _rlVertex3f(0.0,0.0,0.0); - $83 = (($45) + ($i3$01))|0; - $84 = (+($83|0)); - $85 = $84 * 0.0174532925199432954744; - $86 = (+Math_sin((+$85))); - $87 = $46 * $86; - $88 = $87; - $89 = (+Math_cos((+$85))); - $90 = $46 * $89; - $91 = $90; - _rlVertex3f($88,0.0,$91); - $92 = (+($i3$01|0)); - $93 = $92 * 0.0174532925199432954744; - $94 = (+Math_sin((+$93))); - $95 = $46 * $94; - $96 = $95; - $97 = (+Math_cos((+$93))); - $98 = $46 * $97; - $99 = $98; - _rlVertex3f($96,0.0,$99); - $100 = ($83|0)<(360); - if ($100) { - $i3$01 = $83; - } else { - break; - } - } - _rlEnd(); - _rlPopMatrix(); - STACKTOP = sp;return; -} -function _DrawCylinderWires($position,$radiusTop,$radiusBottom,$height,$sides,$color) { - $position = $position|0; - $radiusTop = +$radiusTop; - $radiusBottom = +$radiusBottom; - $height = +$height; - $sides = $sides|0; - $color = $color|0; - var $$sides = 0, $0 = 0, $1 = 0.0, $10 = 0, $11 = 0, $12 = 0, $13 = 0.0, $14 = 0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $2 = 0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0, $25 = 0.0; - var $26 = 0.0, $27 = 0.0, $28 = 0.0, $29 = 0.0, $3 = 0.0, $30 = 0.0, $31 = 0.0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0.0, $36 = 0.0, $37 = 0.0, $38 = 0.0, $39 = 0.0, $4 = 0, $40 = 0.0, $41 = 0, $5 = 0.0, $6 = 0; - var $7 = 0, $8 = 0, $9 = 0, $i$01 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ($sides|0)<(3); - $$sides = $0 ? 3 : $sides; - _rlPushMatrix(); - $1 = +HEAPF32[$position>>2]; - $2 = (($position) + 4|0); - $3 = +HEAPF32[$2>>2]; - $4 = (($position) + 8|0); - $5 = +HEAPF32[$4>>2]; - _rlTranslatef($1,$3,$5); - _rlBegin(0); - $6 = HEAP8[$color>>0]|0; - $7 = (($color) + 1|0); - $8 = HEAP8[$7>>0]|0; - $9 = (($color) + 2|0); - $10 = HEAP8[$9>>0]|0; - $11 = (($color) + 3|0); - $12 = HEAP8[$11>>0]|0; - _rlColor4ub($6,$8,$10,$12); - $13 = $radiusBottom; - $14 = (360 / ($$sides|0))&-1; - $15 = $radiusTop; - $i$01 = 0; - while(1) { - $16 = (+($i$01|0)); - $17 = $16 * 0.0174532925199432954744; - $18 = (+Math_sin((+$17))); - $19 = $13 * $18; - $20 = $19; - $21 = (+Math_cos((+$17))); - $22 = $13 * $21; - $23 = $22; - _rlVertex3f($20,0.0,$23); - $24 = (($14) + ($i$01))|0; - $25 = (+($24|0)); - $26 = $25 * 0.0174532925199432954744; - $27 = (+Math_sin((+$26))); - $28 = $13 * $27; - $29 = $28; - $30 = (+Math_cos((+$26))); - $31 = $13 * $30; - $32 = $31; - _rlVertex3f($29,0.0,$32); - _rlVertex3f($29,0.0,$32); - $33 = $15 * $27; - $34 = $33; - $35 = $15 * $30; - $36 = $35; - _rlVertex3f($34,$height,$36); - _rlVertex3f($34,$height,$36); - $37 = $15 * $18; - $38 = $37; - $39 = $15 * $21; - $40 = $39; - _rlVertex3f($38,$height,$40); - _rlVertex3f($38,$height,$40); - _rlVertex3f($20,0.0,$23); - $41 = ($24|0)<(360); - if ($41) { - $i$01 = $24; - } else { - break; - } - } - _rlEnd(); - _rlPopMatrix(); - STACKTOP = sp;return; -} -function _DrawGrid($slices,$spacing) { - $slices = $slices|0; - $spacing = +$spacing; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, $i$01 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (($slices|0) / 2)&-1; - _rlBegin(0); - $1 = (0 - ($0))|0; - $2 = ($0|0)<($1|0); - if ($2) { - _rlEnd(); - STACKTOP = sp;return; - } - $3 = (+($1|0)); - $4 = $3 * $spacing; - $5 = (+($0|0)); - $6 = $5 * $spacing; - $i$01 = $1; - while(1) { - $7 = ($i$01|0)==(0); - if ($7) { - _rlColor3f(0.5,0.5,0.5); - _rlColor3f(0.5,0.5,0.5); - _rlColor3f(0.5,0.5,0.5); - _rlColor3f(0.5,0.5,0.5); - } else { - _rlColor3f(0.75,0.75,0.75); - _rlColor3f(0.75,0.75,0.75); - _rlColor3f(0.75,0.75,0.75); - _rlColor3f(0.75,0.75,0.75); - } - $8 = (+($i$01|0)); - $9 = $8 * $spacing; - _rlVertex3f($9,0.0,$4); - _rlVertex3f($9,0.0,$6); - _rlVertex3f($4,0.0,$9); - _rlVertex3f($6,0.0,$9); - $10 = (($i$01) + 1)|0; - $11 = ($i$01|0)<($0|0); - if ($11) { - $i$01 = $10; - } else { - break; - } - } - _rlEnd(); - STACKTOP = sp;return; -} -function _DrawGizmo($position) { - $position = $position|0; - var $0 = 0.0, $1 = 0, $2 = 0.0, $3 = 0, $4 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - _rlPushMatrix(); - $0 = +HEAPF32[$position>>2]; - $1 = (($position) + 4|0); - $2 = +HEAPF32[$1>>2]; - $3 = (($position) + 8|0); - $4 = +HEAPF32[$3>>2]; - _rlTranslatef($0,$2,$4); - _rlScalef(1.0,1.0,1.0); - _rlBegin(0); - _rlColor3f(1.0,0.0,0.0); - _rlVertex3f(0.0,0.0,0.0); - _rlColor3f(1.0,0.0,0.0); - _rlVertex3f(1.0,0.0,0.0); - _rlColor3f(0.0,1.0,0.0); - _rlVertex3f(0.0,0.0,0.0); - _rlColor3f(0.0,1.0,0.0); - _rlVertex3f(0.0,1.0,0.0); - _rlColor3f(0.0,0.0,1.0); - _rlVertex3f(0.0,0.0,0.0); - _rlColor3f(0.0,0.0,1.0); - _rlVertex3f(0.0,0.0,1.0); - _rlEnd(); - _rlPopMatrix(); - STACKTOP = sp;return; -} -function _LoadModel($agg$result,$fileName) { - $agg$result = $agg$result|0; - $fileName = $fileName|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $model = 0, $vData = 0, $vData$byval_copy = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); - $vData$byval_copy = sp; - $vData = sp + 84|0; - $0 = sp + 20|0; - $model = sp + 40|0; - $1 = (_GetExtension($fileName)|0); - $2 = (_strcmp($1,15928)|0); - $3 = ($2|0)==(0); - if ($3) { - _LoadOBJ($0,$fileName); - ;HEAP32[$vData+0>>2]=HEAP32[$0+0>>2]|0;HEAP32[$vData+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$vData+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$vData+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$vData+16>>2]=HEAP32[$0+16>>2]|0; - } else { - HEAP32[$vData$byval_copy>>2] = $fileName; - _TraceLog(2,15936,$vData$byval_copy); - } - ;HEAP32[$vData$byval_copy+0>>2]=HEAP32[$vData+0>>2]|0;HEAP32[$vData$byval_copy+4>>2]=HEAP32[$vData+4>>2]|0;HEAP32[$vData$byval_copy+8>>2]=HEAP32[$vData+8>>2]|0;HEAP32[$vData$byval_copy+12>>2]=HEAP32[$vData+12>>2]|0;HEAP32[$vData$byval_copy+16>>2]=HEAP32[$vData+16>>2]|0; - _rlglLoadModel($model,$vData$byval_copy); - dest=$agg$result+0|0; src=$model+0|0; stop=dest+44|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; -} -function _LoadOBJ($agg$result,$fileName) { - $agg$result = $agg$result|0; - $fileName = $fileName|0; - var $$byval_copy89 = 0, $$byval_copy90 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0.0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0.0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0; - var $114 = 0.0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0.0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0.0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0; - var $132 = 0.0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0.0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0.0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0; - var $150 = 0.0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0.0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0.0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0.0; - var $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0.0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0.0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0.0; - var $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0.0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0.0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0; - var $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0.0, $213 = 0, $214 = 0.0, $215 = 0, $216 = 0, $217 = 0.0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0.0; - var $222 = 0, $223 = 0.0, $224 = 0, $225 = 0, $226 = 0.0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0.0, $231 = 0, $232 = 0.0, $233 = 0, $234 = 0, $235 = 0.0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0; - var $240 = 0, $241 = 0.0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0.0, $247 = 0.0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0.0, $255 = 0, $256 = 0, $257 = 0, $258 = 0; - var $259 = 0.0, $26 = 0, $260 = 0.0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0.0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0.0, $273 = 0.0, $274 = 0, $275 = 0, $276 = 0; - var $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0; - var $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0; - var $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0; - var $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0; - var $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0.0, $97 = 0, $98 = 0, $99 = 0, $comments = 0, $countNormals$0$ph1039 = 0, $countNormals$0$ph42 = 0, $countTexCoords$0$ph1140 = 0, $countTexCoords$0$ph1335 = 0, $countTexCoords$0$ph43 = 0, $countVertex$0$ph41 = 0, $dataType = 0, $midNormals$0 = 0, $midTexCoords$0 = 0, $nCounter$0$ph = 0, $nCounter$0$ph$ph = 0; - var $nCounter$1 = 0, $norm = 0, $numNormals$0$ph106 = 0, $numNormals$0$ph2068 = 0, $numNormals$0$ph2079 = 0, $numTexCoords$0$ph107 = 0, $numTexCoords$0$ph2180 = 0, $numTexCoords$0$ph2453 = 0, $numTexCoords$0$ph2460 = 0, $numTriangles$0$ph108 = 0, $numTriangles$0$ph2281 = 0, $numTriangles$0$ph2561 = 0, $numTriangles$0$ph2747 = 0, $numTriangles$0$ph2748 = 0, $numVertex$0$ph105 = 0, $numVertex$0$ph89 = 0, $or$cond = 0, $tcCounter$0$ph$ph = 0, $useless = 0, $vCounter$0$ph = 0; - var $vCounter$0$ph$ph = 0, $vNum = 0, $vararg_ptr10 = 0, $vararg_ptr14 = 0, $vararg_ptr18 = 0, $vararg_ptr22 = 0, $vararg_ptr32 = 0, $vararg_ptr33 = 0, $vararg_ptr40 = 0, $vararg_ptr41 = 0, $vararg_ptr48 = 0, $vararg_ptr49 = 0, $vararg_ptr62 = 0, $vararg_ptr63 = 0, $vararg_ptr67 = 0, $vararg_ptr68 = 0, $vararg_ptr69 = 0, $vararg_ptr70 = 0, $vararg_ptr71 = 0, $vararg_ptr75 = 0; - var $vararg_ptr76 = 0, $vararg_ptr77 = 0, $vararg_ptr78 = 0, $vararg_ptr79 = 0, $vararg_ptr80 = 0, $vararg_ptr81 = 0, $vararg_ptr82 = 0, $vnNum = 0, $vtNum = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 336|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); - $$byval_copy90 = sp; - $$byval_copy89 = sp + 100|0; - $dataType = sp + 124|0; - $comments = sp + 128|0; - $useless = sp + 96|0; - $vNum = sp + 112|0; - $vtNum = sp + 60|0; - $vnNum = sp + 48|0; - $norm = sp + 36|0; - $0 = sp + 72|0; - $1 = sp + 84|0; - $2 = (_fopen(($fileName|0),(15992|0))|0); - $3 = ($2|0)==(0|0); - if ($3) { - HEAP32[$$byval_copy90>>2] = $fileName; - _TraceLog(2,16000,$$byval_copy90); - STACKTOP = sp;return; - } - $4 = (_feof(($2|0))|0); - $5 = ($4|0)==(0); - L5: do { - if ($5) { - $numNormals$0$ph106 = 0;$numTexCoords$0$ph107 = 0;$numTriangles$0$ph108 = 0;$numVertex$0$ph105 = 0; - while(1) { - $numNormals$0$ph2079 = $numNormals$0$ph106;$numTexCoords$0$ph2180 = $numTexCoords$0$ph107;$numTriangles$0$ph2281 = $numTriangles$0$ph108; - L8: while(1) { - $numTexCoords$0$ph2460 = $numTexCoords$0$ph2180;$numTriangles$0$ph2561 = $numTriangles$0$ph2281; - while(1) { - $numTriangles$0$ph2748 = $numTriangles$0$ph2561; - L12: while(1) { - L14: while(1) { - HEAP32[$$byval_copy90>>2] = $dataType; - (_fscanf(($2|0),(16040|0),($$byval_copy90|0))|0); - $6 = HEAP8[$dataType>>0]|0; - $7 = $6 << 24 >> 24; - switch ($7|0) { - case 118: { - break L12; - break; - } - case 117: case 109: case 115: case 103: case 111: case 35: { - (_fgets(($comments|0),200,($2|0))|0); - break; - } - case 102: { - break L14; - break; - } - default: { - } - } - $8 = (_feof(($2|0))|0); - $9 = ($8|0)==(0); - if (!($9)) { - $numNormals$0$ph2068 = $numNormals$0$ph2079;$numTexCoords$0$ph2453 = $numTexCoords$0$ph2460;$numTriangles$0$ph2747 = $numTriangles$0$ph2748;$numVertex$0$ph89 = $numVertex$0$ph105; - break L5; - } - } - $20 = (($numTriangles$0$ph2748) + 1)|0; - (_fgets(($comments|0),200,($2|0))|0); - $21 = (_feof(($2|0))|0); - $22 = ($21|0)==(0); - if ($22) { - $numTriangles$0$ph2748 = $20; - } else { - $numNormals$0$ph2068 = $numNormals$0$ph2079;$numTexCoords$0$ph2453 = $numTexCoords$0$ph2460;$numTriangles$0$ph2747 = $20;$numVertex$0$ph89 = $numVertex$0$ph105; - break L5; - } - } - HEAP32[$$byval_copy90>>2] = $dataType; - (_fscanf(($2|0),(16040|0),($$byval_copy90|0))|0); - $10 = HEAP8[$dataType>>0]|0; - if ((($10<<24>>24) == 110)) { - break; - } else if (!((($10<<24>>24) == 116))) { - break L8; - } - $11 = (($numTexCoords$0$ph2460) + 1)|0; - (_fgets(($comments|0),200,($2|0))|0); - $12 = (_feof(($2|0))|0); - $13 = ($12|0)==(0); - if ($13) { - $numTexCoords$0$ph2460 = $11;$numTriangles$0$ph2561 = $numTriangles$0$ph2748; - } else { - $numNormals$0$ph2068 = $numNormals$0$ph2079;$numTexCoords$0$ph2453 = $11;$numTriangles$0$ph2747 = $numTriangles$0$ph2748;$numVertex$0$ph89 = $numVertex$0$ph105; - break L5; - } - } - $14 = (($numNormals$0$ph2079) + 1)|0; - (_fgets(($comments|0),200,($2|0))|0); - $15 = (_feof(($2|0))|0); - $16 = ($15|0)==(0); - if ($16) { - $numNormals$0$ph2079 = $14;$numTexCoords$0$ph2180 = $numTexCoords$0$ph2460;$numTriangles$0$ph2281 = $numTriangles$0$ph2748; - } else { - $numNormals$0$ph2068 = $14;$numTexCoords$0$ph2453 = $numTexCoords$0$ph2460;$numTriangles$0$ph2747 = $numTriangles$0$ph2748;$numVertex$0$ph89 = $numVertex$0$ph105; - break L5; - } - } - $17 = (($numVertex$0$ph105) + 1)|0; - (_fgets(($comments|0),200,($2|0))|0); - $18 = (_feof(($2|0))|0); - $19 = ($18|0)==(0); - if ($19) { - $numNormals$0$ph106 = $numNormals$0$ph2079;$numTexCoords$0$ph107 = $numTexCoords$0$ph2460;$numTriangles$0$ph108 = $numTriangles$0$ph2748;$numVertex$0$ph105 = $17; - } else { - $numNormals$0$ph2068 = $numNormals$0$ph2079;$numTexCoords$0$ph2453 = $numTexCoords$0$ph2460;$numTriangles$0$ph2747 = $numTriangles$0$ph2748;$numVertex$0$ph89 = $17; - break; - } - } - } else { - $numNormals$0$ph2068 = 0;$numTexCoords$0$ph2453 = 0;$numTriangles$0$ph2747 = 0;$numVertex$0$ph89 = 0; - } - } while(0); - HEAP32[$$byval_copy90>>2] = $fileName; - $vararg_ptr10 = (($$byval_copy90) + 4|0); - HEAP32[$vararg_ptr10>>2] = $numVertex$0$ph89; - _TraceLog(3,16048,$$byval_copy90); - HEAP32[$$byval_copy90>>2] = $fileName; - $vararg_ptr14 = (($$byval_copy90) + 4|0); - HEAP32[$vararg_ptr14>>2] = $numTexCoords$0$ph2453; - _TraceLog(3,16080,$$byval_copy90); - HEAP32[$$byval_copy90>>2] = $fileName; - $vararg_ptr18 = (($$byval_copy90) + 4|0); - HEAP32[$vararg_ptr18>>2] = $numNormals$0$ph2068; - _TraceLog(3,16112,$$byval_copy90); - HEAP32[$$byval_copy90>>2] = $fileName; - $vararg_ptr22 = (($$byval_copy90) + 4|0); - HEAP32[$vararg_ptr22>>2] = $numTriangles$0$ph2747; - _TraceLog(3,16144,$$byval_copy90); - $23 = ($numVertex$0$ph89*12)|0; - $24 = (_malloc($23)|0); - $25 = ($numNormals$0$ph2068|0)>(0); - if ($25) { - $26 = ($numNormals$0$ph2068*12)|0; - $27 = (_malloc($26)|0); - $midNormals$0 = $27; - } else { - $midNormals$0 = 0; - } - $28 = ($numTexCoords$0$ph2453|0)>(0); - if ($28) { - $29 = $numTexCoords$0$ph2453 << 3; - $30 = (_malloc($29)|0); - $midTexCoords$0 = $30; - } else { - $midTexCoords$0 = 0; - } - _rewind(($2|0)); - $31 = (_feof(($2|0))|0); - $32 = ($31|0)==(0); - L31: do { - if ($32) { - $countNormals$0$ph42 = 0;$countTexCoords$0$ph43 = 0;$countVertex$0$ph41 = 0; - while(1) { - $countNormals$0$ph1039 = $countNormals$0$ph42;$countTexCoords$0$ph1140 = $countTexCoords$0$ph43; - L34: while(1) { - $countTexCoords$0$ph1335 = $countTexCoords$0$ph1140; - while(1) { - L38: while(1) { - HEAP32[$$byval_copy90>>2] = $dataType; - (_fscanf(($2|0),(16040|0),($$byval_copy90|0))|0); - $33 = HEAP8[$dataType>>0]|0; - $34 = $33 << 24 >> 24; - switch ($34|0) { - case 118: { - break L38; - break; - } - case 102: case 117: case 109: case 115: case 103: case 111: case 35: { - (_fgets(($comments|0),200,($2|0))|0); - break; - } - default: { - } - } - $35 = (_feof(($2|0))|0); - $36 = ($35|0)==(0); - if (!($36)) { - break L31; - } - } - HEAP32[$$byval_copy90>>2] = $dataType; - (_fscanf(($2|0),(16040|0),($$byval_copy90|0))|0); - $37 = HEAP8[$dataType>>0]|0; - if ((($37<<24>>24) == 110)) { - break; - } else if (!((($37<<24>>24) == 116))) { - break L34; - } - HEAPF32[$useless>>2] = 0.0; - $38 = (($midTexCoords$0) + ($countTexCoords$0$ph1335<<3)|0); - $39 = ((($midTexCoords$0) + ($countTexCoords$0$ph1335<<3)|0) + 4|0); - HEAP32[$$byval_copy90>>2] = $38; - $vararg_ptr32 = (($$byval_copy90) + 4|0); - HEAP32[$vararg_ptr32>>2] = $39; - $vararg_ptr33 = (($$byval_copy90) + 8|0); - HEAP32[$vararg_ptr33>>2] = $useless; - (_fscanf(($2|0),(16176|0),($$byval_copy90|0))|0); - $40 = (($countTexCoords$0$ph1335) + 1)|0; - HEAP32[$$byval_copy90>>2] = $dataType; - (_fscanf(($2|0),(16040|0),($$byval_copy90|0))|0); - $41 = (_feof(($2|0))|0); - $42 = ($41|0)==(0); - if ($42) { - $countTexCoords$0$ph1335 = $40; - } else { - break L31; - } - } - $43 = (($midNormals$0) + (($countNormals$0$ph1039*12)|0)|0); - $44 = ((($midNormals$0) + (($countNormals$0$ph1039*12)|0)|0) + 4|0); - $45 = ((($midNormals$0) + (($countNormals$0$ph1039*12)|0)|0) + 8|0); - HEAP32[$$byval_copy90>>2] = $43; - $vararg_ptr40 = (($$byval_copy90) + 4|0); - HEAP32[$vararg_ptr40>>2] = $44; - $vararg_ptr41 = (($$byval_copy90) + 8|0); - HEAP32[$vararg_ptr41>>2] = $45; - (_fscanf(($2|0),(16176|0),($$byval_copy90|0))|0); - $46 = (($countNormals$0$ph1039) + 1)|0; - HEAP32[$$byval_copy90>>2] = $dataType; - (_fscanf(($2|0),(16040|0),($$byval_copy90|0))|0); - $47 = (_feof(($2|0))|0); - $48 = ($47|0)==(0); - if ($48) { - $countNormals$0$ph1039 = $46;$countTexCoords$0$ph1140 = $countTexCoords$0$ph1335; - } else { - break L31; - } - } - $49 = (($24) + (($countVertex$0$ph41*12)|0)|0); - $50 = ((($24) + (($countVertex$0$ph41*12)|0)|0) + 4|0); - $51 = ((($24) + (($countVertex$0$ph41*12)|0)|0) + 8|0); - HEAP32[$$byval_copy90>>2] = $49; - $vararg_ptr48 = (($$byval_copy90) + 4|0); - HEAP32[$vararg_ptr48>>2] = $50; - $vararg_ptr49 = (($$byval_copy90) + 8|0); - HEAP32[$vararg_ptr49>>2] = $51; - (_fscanf(($2|0),(16176|0),($$byval_copy90|0))|0); - $52 = (($countVertex$0$ph41) + 1)|0; - HEAP32[$$byval_copy90>>2] = $dataType; - (_fscanf(($2|0),(16040|0),($$byval_copy90|0))|0); - $53 = (_feof(($2|0))|0); - $54 = ($53|0)==(0); - if ($54) { - $countNormals$0$ph42 = $countNormals$0$ph1039;$countTexCoords$0$ph43 = $countTexCoords$0$ph1335;$countVertex$0$ph41 = $52; - } else { - break; - } - } - } - } while(0); - $55 = ($numTriangles$0$ph2747*3)|0; - $56 = ($numTriangles$0$ph2747*36)|0; - $57 = (_malloc($56)|0); - $58 = ($numTriangles$0$ph2747*6)|0; - $59 = ($numTriangles$0$ph2747*24)|0; - $60 = (_malloc($59)|0); - $61 = (_malloc($56)|0); - $62 = ($numTriangles$0$ph2747*12)|0; - $63 = (_malloc($62)|0); - _rewind(($2|0)); - $64 = ($numNormals$0$ph2068|0)==(0); - if ($64) { - HEAP32[$$byval_copy90>>2] = $fileName; - _TraceLog(0,16192,$$byval_copy90); - } - $65 = $numTexCoords$0$ph2453 | $numNormals$0$ph2068; - $66 = ($65|0)==(0); - $67 = (($vNum) + 4|0); - $68 = (($vNum) + 8|0); - $69 = (($vNum) + 4|0); - $70 = (($vNum) + 8|0); - $71 = (($vnNum) + 4|0); - $72 = (($vnNum) + 8|0); - $73 = (($norm) + 4|0); - $74 = (($norm) + 8|0); - $75 = (($vNum) + 4|0); - $76 = (($vtNum) + 4|0); - $77 = (($vNum) + 8|0); - $78 = (($vtNum) + 8|0); - $79 = (($vNum) + 4|0); - $80 = (($vtNum) + 4|0); - $81 = (($vnNum) + 4|0); - $82 = (($vNum) + 8|0); - $83 = (($vtNum) + 8|0); - $84 = (($vnNum) + 8|0); - $85 = (($vtNum) + 4|0); - $86 = (($vtNum) + 8|0); - $nCounter$0$ph$ph = 0;$tcCounter$0$ph$ph = 0;$vCounter$0$ph$ph = 0; - L51: while(1) { - $nCounter$0$ph = $nCounter$0$ph$ph;$vCounter$0$ph = $vCounter$0$ph$ph; - while(1) { - $87 = (_feof(($2|0))|0); - $88 = ($87|0)==(0); - if (!($88)) { - break L51; - } - L55: while(1) { - HEAP32[$$byval_copy90>>2] = $dataType; - (_fscanf(($2|0),(16040|0),($$byval_copy90|0))|0); - $89 = HEAP8[$dataType>>0]|0; - $90 = $89 << 24 >> 24; - switch ($90|0) { - case 118: case 117: case 109: case 115: case 103: case 111: case 35: { - (_fgets(($comments|0),200,($2|0))|0); - break; - } - case 102: { - break L55; - break; - } - default: { - } - } - $91 = (_feof(($2|0))|0); - $92 = ($91|0)==(0); - if (!($92)) { - break L51; - } - } - do { - if ($66) { - HEAP32[$$byval_copy90>>2] = $vNum; - $vararg_ptr62 = (($$byval_copy90) + 4|0); - HEAP32[$vararg_ptr62>>2] = $67; - $vararg_ptr63 = (($$byval_copy90) + 8|0); - HEAP32[$vararg_ptr63>>2] = $68; - (_fscanf(($2|0),(16264|0),($$byval_copy90|0))|0); - } else { - if ($64) { - HEAP32[$$byval_copy90>>2] = $vNum; - $vararg_ptr67 = (($$byval_copy90) + 4|0); - HEAP32[$vararg_ptr67>>2] = $vtNum; - $vararg_ptr68 = (($$byval_copy90) + 8|0); - HEAP32[$vararg_ptr68>>2] = $75; - $vararg_ptr69 = (($$byval_copy90) + 12|0); - HEAP32[$vararg_ptr69>>2] = $76; - $vararg_ptr70 = (($$byval_copy90) + 16|0); - HEAP32[$vararg_ptr70>>2] = $77; - $vararg_ptr71 = (($$byval_copy90) + 20|0); - HEAP32[$vararg_ptr71>>2] = $78; - (_fscanf(($2|0),(16280|0),($$byval_copy90|0))|0); - break; - } else { - HEAP32[$$byval_copy90>>2] = $vNum; - $vararg_ptr75 = (($$byval_copy90) + 4|0); - HEAP32[$vararg_ptr75>>2] = $vtNum; - $vararg_ptr76 = (($$byval_copy90) + 8|0); - HEAP32[$vararg_ptr76>>2] = $vnNum; - $vararg_ptr77 = (($$byval_copy90) + 12|0); - HEAP32[$vararg_ptr77>>2] = $79; - $vararg_ptr78 = (($$byval_copy90) + 16|0); - HEAP32[$vararg_ptr78>>2] = $80; - $vararg_ptr79 = (($$byval_copy90) + 20|0); - HEAP32[$vararg_ptr79>>2] = $81; - $vararg_ptr80 = (($$byval_copy90) + 24|0); - HEAP32[$vararg_ptr80>>2] = $82; - $vararg_ptr81 = (($$byval_copy90) + 28|0); - HEAP32[$vararg_ptr81>>2] = $83; - $vararg_ptr82 = (($$byval_copy90) + 32|0); - HEAP32[$vararg_ptr82>>2] = $84; - (_fscanf(($2|0),(16304|0),($$byval_copy90|0))|0); - break; - } - } - } while(0); - $93 = HEAP32[$vNum>>2]|0; - $94 = (($93) + -1)|0; - $95 = (($24) + (($94*12)|0)|0); - $96 = +HEAPF32[$95>>2]; - $97 = (($57) + ($vCounter$0$ph<<2)|0); - HEAPF32[$97>>2] = $96; - $98 = HEAP32[$vNum>>2]|0; - $99 = (($98) + -1)|0; - $100 = ((($24) + (($99*12)|0)|0) + 4|0); - $101 = +HEAPF32[$100>>2]; - $102 = (($vCounter$0$ph) + 1)|0; - $103 = (($57) + ($102<<2)|0); - HEAPF32[$103>>2] = $101; - $104 = HEAP32[$vNum>>2]|0; - $105 = (($104) + -1)|0; - $106 = ((($24) + (($105*12)|0)|0) + 8|0); - $107 = +HEAPF32[$106>>2]; - $108 = (($vCounter$0$ph) + 2)|0; - $109 = (($57) + ($108<<2)|0); - HEAPF32[$109>>2] = $107; - $110 = (($vCounter$0$ph) + 3)|0; - $111 = HEAP32[$69>>2]|0; - $112 = (($111) + -1)|0; - $113 = (($24) + (($112*12)|0)|0); - $114 = +HEAPF32[$113>>2]; - $115 = (($57) + ($110<<2)|0); - HEAPF32[$115>>2] = $114; - $116 = HEAP32[$69>>2]|0; - $117 = (($116) + -1)|0; - $118 = ((($24) + (($117*12)|0)|0) + 4|0); - $119 = +HEAPF32[$118>>2]; - $120 = (($vCounter$0$ph) + 4)|0; - $121 = (($57) + ($120<<2)|0); - HEAPF32[$121>>2] = $119; - $122 = HEAP32[$69>>2]|0; - $123 = (($122) + -1)|0; - $124 = ((($24) + (($123*12)|0)|0) + 8|0); - $125 = +HEAPF32[$124>>2]; - $126 = (($vCounter$0$ph) + 5)|0; - $127 = (($57) + ($126<<2)|0); - HEAPF32[$127>>2] = $125; - $128 = (($vCounter$0$ph) + 6)|0; - $129 = HEAP32[$70>>2]|0; - $130 = (($129) + -1)|0; - $131 = (($24) + (($130*12)|0)|0); - $132 = +HEAPF32[$131>>2]; - $133 = (($57) + ($128<<2)|0); - HEAPF32[$133>>2] = $132; - $134 = HEAP32[$70>>2]|0; - $135 = (($134) + -1)|0; - $136 = ((($24) + (($135*12)|0)|0) + 4|0); - $137 = +HEAPF32[$136>>2]; - $138 = (($vCounter$0$ph) + 7)|0; - $139 = (($57) + ($138<<2)|0); - HEAPF32[$139>>2] = $137; - $140 = HEAP32[$70>>2]|0; - $141 = (($140) + -1)|0; - $142 = ((($24) + (($141*12)|0)|0) + 8|0); - $143 = +HEAPF32[$142>>2]; - $144 = (($vCounter$0$ph) + 8)|0; - $145 = (($57) + ($144<<2)|0); - HEAPF32[$145>>2] = $143; - $146 = (($vCounter$0$ph) + 9)|0; - if ($25) { - $147 = HEAP32[$vnNum>>2]|0; - $148 = (($147) + -1)|0; - $149 = (($midNormals$0) + (($148*12)|0)|0); - $150 = +HEAPF32[$149>>2]; - $151 = (($61) + ($nCounter$0$ph<<2)|0); - HEAPF32[$151>>2] = $150; - $152 = HEAP32[$vnNum>>2]|0; - $153 = (($152) + -1)|0; - $154 = ((($midNormals$0) + (($153*12)|0)|0) + 4|0); - $155 = +HEAPF32[$154>>2]; - $156 = (($nCounter$0$ph) + 1)|0; - $157 = (($61) + ($156<<2)|0); - HEAPF32[$157>>2] = $155; - $158 = HEAP32[$vnNum>>2]|0; - $159 = (($158) + -1)|0; - $160 = ((($midNormals$0) + (($159*12)|0)|0) + 8|0); - $161 = +HEAPF32[$160>>2]; - $162 = (($nCounter$0$ph) + 2)|0; - $163 = (($61) + ($162<<2)|0); - HEAPF32[$163>>2] = $161; - $164 = (($nCounter$0$ph) + 3)|0; - $165 = HEAP32[$71>>2]|0; - $166 = (($165) + -1)|0; - $167 = (($midNormals$0) + (($166*12)|0)|0); - $168 = +HEAPF32[$167>>2]; - $169 = (($61) + ($164<<2)|0); - HEAPF32[$169>>2] = $168; - $170 = HEAP32[$71>>2]|0; - $171 = (($170) + -1)|0; - $172 = ((($midNormals$0) + (($171*12)|0)|0) + 4|0); - $173 = +HEAPF32[$172>>2]; - $174 = (($nCounter$0$ph) + 4)|0; - $175 = (($61) + ($174<<2)|0); - HEAPF32[$175>>2] = $173; - $176 = HEAP32[$71>>2]|0; - $177 = (($176) + -1)|0; - $178 = ((($midNormals$0) + (($177*12)|0)|0) + 8|0); - $179 = +HEAPF32[$178>>2]; - $180 = (($nCounter$0$ph) + 5)|0; - $181 = (($61) + ($180<<2)|0); - HEAPF32[$181>>2] = $179; - $182 = (($nCounter$0$ph) + 6)|0; - $183 = HEAP32[$72>>2]|0; - $184 = (($183) + -1)|0; - $185 = (($midNormals$0) + (($184*12)|0)|0); - $186 = +HEAPF32[$185>>2]; - $187 = (($61) + ($182<<2)|0); - HEAPF32[$187>>2] = $186; - $188 = HEAP32[$72>>2]|0; - $189 = (($188) + -1)|0; - $190 = ((($midNormals$0) + (($189*12)|0)|0) + 4|0); - $191 = +HEAPF32[$190>>2]; - $192 = (($nCounter$0$ph) + 7)|0; - $193 = (($61) + ($192<<2)|0); - HEAPF32[$193>>2] = $191; - $194 = HEAP32[$72>>2]|0; - $195 = (($194) + -1)|0; - $196 = ((($midNormals$0) + (($195*12)|0)|0) + 8|0); - $197 = +HEAPF32[$196>>2]; - $198 = (($nCounter$0$ph) + 8)|0; - $199 = (($61) + ($198<<2)|0); - HEAPF32[$199>>2] = $197; - } else { - $200 = HEAP32[$69>>2]|0; - $201 = (($200) + -1)|0; - $202 = (($24) + (($201*12)|0)|0); - $203 = HEAP32[$vNum>>2]|0; - $204 = (($203) + -1)|0; - $205 = (($24) + (($204*12)|0)|0); - ;HEAP32[$$byval_copy89+0>>2]=HEAP32[$202+0>>2]|0;HEAP32[$$byval_copy89+4>>2]=HEAP32[$202+4>>2]|0;HEAP32[$$byval_copy89+8>>2]=HEAP32[$202+8>>2]|0; - ;HEAP32[$$byval_copy90+0>>2]=HEAP32[$205+0>>2]|0;HEAP32[$$byval_copy90+4>>2]=HEAP32[$205+4>>2]|0;HEAP32[$$byval_copy90+8>>2]=HEAP32[$205+8>>2]|0; - _VectorSubtract($0,$$byval_copy89,$$byval_copy90); - $206 = HEAP32[$70>>2]|0; - $207 = (($206) + -1)|0; - $208 = (($24) + (($207*12)|0)|0); - $209 = HEAP32[$vNum>>2]|0; - $210 = (($209) + -1)|0; - $211 = (($24) + (($210*12)|0)|0); - ;HEAP32[$$byval_copy89+0>>2]=HEAP32[$208+0>>2]|0;HEAP32[$$byval_copy89+4>>2]=HEAP32[$208+4>>2]|0;HEAP32[$$byval_copy89+8>>2]=HEAP32[$208+8>>2]|0; - ;HEAP32[$$byval_copy90+0>>2]=HEAP32[$211+0>>2]|0;HEAP32[$$byval_copy90+4>>2]=HEAP32[$211+4>>2]|0;HEAP32[$$byval_copy90+8>>2]=HEAP32[$211+8>>2]|0; - _VectorSubtract($1,$$byval_copy89,$$byval_copy90); - ;HEAP32[$$byval_copy89+0>>2]=HEAP32[$0+0>>2]|0;HEAP32[$$byval_copy89+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy89+8>>2]=HEAP32[$0+8>>2]|0; - ;HEAP32[$$byval_copy90+0>>2]=HEAP32[$1+0>>2]|0;HEAP32[$$byval_copy90+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$$byval_copy90+8>>2]=HEAP32[$1+8>>2]|0; - _VectorCrossProduct($norm,$$byval_copy89,$$byval_copy90); - _VectorNormalize($norm); - $212 = +HEAPF32[$norm>>2]; - $213 = (($61) + ($nCounter$0$ph<<2)|0); - HEAPF32[$213>>2] = $212; - $214 = +HEAPF32[$73>>2]; - $215 = (($nCounter$0$ph) + 1)|0; - $216 = (($61) + ($215<<2)|0); - HEAPF32[$216>>2] = $214; - $217 = +HEAPF32[$74>>2]; - $218 = (($nCounter$0$ph) + 2)|0; - $219 = (($61) + ($218<<2)|0); - HEAPF32[$219>>2] = $217; - $220 = (($nCounter$0$ph) + 3)|0; - $221 = +HEAPF32[$norm>>2]; - $222 = (($61) + ($220<<2)|0); - HEAPF32[$222>>2] = $221; - $223 = +HEAPF32[$73>>2]; - $224 = (($nCounter$0$ph) + 4)|0; - $225 = (($61) + ($224<<2)|0); - HEAPF32[$225>>2] = $223; - $226 = +HEAPF32[$74>>2]; - $227 = (($nCounter$0$ph) + 5)|0; - $228 = (($61) + ($227<<2)|0); - HEAPF32[$228>>2] = $226; - $229 = (($nCounter$0$ph) + 6)|0; - $230 = +HEAPF32[$norm>>2]; - $231 = (($61) + ($229<<2)|0); - HEAPF32[$231>>2] = $230; - $232 = +HEAPF32[$73>>2]; - $233 = (($nCounter$0$ph) + 7)|0; - $234 = (($61) + ($233<<2)|0); - HEAPF32[$234>>2] = $232; - $235 = +HEAPF32[$74>>2]; - $236 = (($nCounter$0$ph) + 8)|0; - $237 = (($61) + ($236<<2)|0); - HEAPF32[$237>>2] = $235; - } - $nCounter$1 = (($nCounter$0$ph) + 9)|0; - if ($28) { - break; - } else { - $nCounter$0$ph = $nCounter$1;$vCounter$0$ph = $146; - } - } - $238 = HEAP32[$vtNum>>2]|0; - $239 = (($238) + -1)|0; - $240 = (($midTexCoords$0) + ($239<<3)|0); - $241 = +HEAPF32[$240>>2]; - $242 = (($60) + ($tcCounter$0$ph$ph<<2)|0); - HEAPF32[$242>>2] = $241; - $243 = HEAP32[$vtNum>>2]|0; - $244 = (($243) + -1)|0; - $245 = ((($midTexCoords$0) + ($244<<3)|0) + 4|0); - $246 = +HEAPF32[$245>>2]; - $247 = -$246; - $248 = $tcCounter$0$ph$ph | 1; - $249 = (($60) + ($248<<2)|0); - HEAPF32[$249>>2] = $247; - $250 = (($tcCounter$0$ph$ph) + 2)|0; - $251 = HEAP32[$85>>2]|0; - $252 = (($251) + -1)|0; - $253 = (($midTexCoords$0) + ($252<<3)|0); - $254 = +HEAPF32[$253>>2]; - $255 = (($60) + ($250<<2)|0); - HEAPF32[$255>>2] = $254; - $256 = HEAP32[$85>>2]|0; - $257 = (($256) + -1)|0; - $258 = ((($midTexCoords$0) + ($257<<3)|0) + 4|0); - $259 = +HEAPF32[$258>>2]; - $260 = -$259; - $261 = (($tcCounter$0$ph$ph) + 3)|0; - $262 = (($60) + ($261<<2)|0); - HEAPF32[$262>>2] = $260; - $263 = (($tcCounter$0$ph$ph) + 4)|0; - $264 = HEAP32[$86>>2]|0; - $265 = (($264) + -1)|0; - $266 = (($midTexCoords$0) + ($265<<3)|0); - $267 = +HEAPF32[$266>>2]; - $268 = (($60) + ($263<<2)|0); - HEAPF32[$268>>2] = $267; - $269 = HEAP32[$86>>2]|0; - $270 = (($269) + -1)|0; - $271 = ((($midTexCoords$0) + ($270<<3)|0) + 4|0); - $272 = +HEAPF32[$271>>2]; - $273 = -$272; - $274 = (($tcCounter$0$ph$ph) + 5)|0; - $275 = (($60) + ($274<<2)|0); - HEAPF32[$275>>2] = $273; - $276 = (($tcCounter$0$ph$ph) + 6)|0; - $nCounter$0$ph$ph = $nCounter$1;$tcCounter$0$ph$ph = $276;$vCounter$0$ph$ph = $146; - } - (_fclose(($2|0))|0); - $277 = ($numTexCoords$0$ph2453|0)==(0); - $278 = ($58|0)>(0); - $or$cond = $277 & $278; - if ($or$cond) { - $279 = ($numTriangles$0$ph2747*24)|0; - _memset(($60|0),0,($279|0))|0; - } - $280 = ($62|0)>(0); - if ($280) { - $281 = ($numTriangles$0$ph2747*12)|0; - _memset(($63|0),-1,($281|0))|0; - } - _free($24); - _free($midNormals$0); - _free($midTexCoords$0); - HEAP32[$$byval_copy90>>2] = $fileName; - _TraceLog(0,16336,$$byval_copy90); - HEAP32[$agg$result>>2] = $55; - $282 = (($agg$result) + 4|0); - HEAP32[$282>>2] = $57; - $283 = (($agg$result) + 8|0); - HEAP32[$283>>2] = $60; - $284 = (($agg$result) + 12|0); - HEAP32[$284>>2] = $61; - $285 = (($agg$result) + 16|0); - HEAP32[$285>>2] = $63; - STACKTOP = sp;return; -} -function _UnloadModel($model) { - $model = $model|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (($model) + 4|0); - $1 = HEAP32[$0>>2]|0; - _free($1); - $2 = (($model) + 8|0); - $3 = HEAP32[$2>>2]|0; - _free($3); - $4 = (($model) + 12|0); - $5 = HEAP32[$4>>2]|0; - _free($5); - $6 = (($model) + 24|0); - $7 = HEAP32[$6>>2]|0; - _rlDeleteBuffers($7); - $8 = (($model) + 28|0); - $9 = HEAP32[$8>>2]|0; - _rlDeleteBuffers($9); - $10 = (($model) + 32|0); - $11 = HEAP32[$10>>2]|0; - _rlDeleteBuffers($11); - STACKTOP = sp;return; -} -function _SetModelTexture($model,$texture) { - $model = $model|0; - $texture = $texture|0; - var $$ = 0, $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[$texture>>2]|0; - $1 = ($0|0)==(0); - $2 = (($model) + 40|0); - $$ = $1 ? 1 : $0; - HEAP32[$2>>2] = $$; - STACKTOP = sp;return; -} -function _DrawModelEx($model,$position,$rotation,$scale,$tint) { - $model = $model|0; - $position = $position|0; - $rotation = $rotation|0; - $scale = $scale|0; - $tint = $tint|0; - var $model$byval_copy = 0, $position$byval_copy = 0, $rotation$byval_copy = 0, $scale$byval_copy = 0, $tint$byval_copy = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); - $tint$byval_copy = sp + 80|0; - $scale$byval_copy = sp; - $rotation$byval_copy = sp + 12|0; - $position$byval_copy = sp + 24|0; - $model$byval_copy = sp + 36|0; - dest=$model$byval_copy+0|0; src=$model+0|0; stop=dest+44|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - ;HEAP32[$position$byval_copy+0>>2]=HEAP32[$position+0>>2]|0;HEAP32[$position$byval_copy+4>>2]=HEAP32[$position+4>>2]|0;HEAP32[$position$byval_copy+8>>2]=HEAP32[$position+8>>2]|0; - ;HEAP32[$rotation$byval_copy+0>>2]=HEAP32[$rotation+0>>2]|0;HEAP32[$rotation$byval_copy+4>>2]=HEAP32[$rotation+4>>2]|0;HEAP32[$rotation$byval_copy+8>>2]=HEAP32[$rotation+8>>2]|0; - ;HEAP32[$scale$byval_copy+0>>2]=HEAP32[$scale+0>>2]|0;HEAP32[$scale$byval_copy+4>>2]=HEAP32[$scale+4>>2]|0;HEAP32[$scale$byval_copy+8>>2]=HEAP32[$scale+8>>2]|0; - ;HEAP8[$tint$byval_copy+0>>0]=HEAP8[$tint+0>>0]|0;HEAP8[$tint$byval_copy+1>>0]=HEAP8[$tint+1>>0]|0;HEAP8[$tint$byval_copy+2>>0]=HEAP8[$tint+2>>0]|0;HEAP8[$tint$byval_copy+3>>0]=HEAP8[$tint+3>>0]|0; - _rlglDrawModel($model$byval_copy,$position$byval_copy,$rotation$byval_copy,$scale$byval_copy,$tint$byval_copy,0); - STACKTOP = sp;return; -} -function _InitAudioDevice() { - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $cond = 0, $vararg_buffer3 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); - $vararg_buffer3 = sp; - $0 = (_alcOpenDevice((0|0))|0); - $1 = ($0|0)==(0|0); - if ($1) { - _TraceLog(1,16392,$vararg_buffer3); - } - $2 = (_alcCreateContext(($0|0),(0|0))|0); - $cond = ($2|0)==(0|0); - if ($cond) { - label = 6; - } else { - $3 = (_alcMakeContextCurrent(($2|0))|0); - $4 = ($3<<24>>24)==(0); - if ($4) { - _alcDestroyContext(($2|0)); - label = 6; - } - } - if ((label|0) == 6) { - (_alcCloseDevice(($0|0))|0); - _TraceLog(1,16432,$vararg_buffer3); - } - $5 = (_alcGetString(($0|0),4101)|0); - HEAP32[$vararg_buffer3>>2] = $5; - _TraceLog(0,16464,$vararg_buffer3); - _alListener3f(4100,0.0,0.0,0.0); - _alListener3f(4102,0.0,0.0,0.0); - _alListener3f(4111,0.0,0.0,-1.0); - STACKTOP = sp;return; -} -function _CloseAudioDevice() { - var $0 = 0, $1 = 0, $2 = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); - $vararg_buffer = sp; - _StopMusicStream(); - $0 = (_alcGetCurrentContext()|0); - $1 = ($0|0)==(0|0); - if ($1) { - _TraceLog(2,16520,$vararg_buffer); - } - $2 = (_alcGetContextsDevice(($0|0))|0); - (_alcMakeContextCurrent((0|0))|0); - _alcDestroyContext(($0|0)); - (_alcCloseDevice(($2|0))|0); - STACKTOP = sp;return; -} -function _StopMusicStream() { - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[16384>>2]|0; - $1 = ($0|0)==(0); - if ($1) { - HEAP32[16384>>2] = 0; - STACKTOP = sp;return; - } - $2 = HEAP32[((16728 + 12|0))>>2]|0; - _alSourceStop(($2|0)); - _EmptyMusicStream(); - _alDeleteSources(1,(((16728 + 12|0))|0)); - _alDeleteBuffers(2,(((16728 + 4|0))|0)); - $3 = HEAP32[16728>>2]|0; - _stb_vorbis_close($3); - HEAP32[16384>>2] = 0; - STACKTOP = sp;return; -} -function _LoadSound($agg$result,$fileName) { - $agg$result = $agg$result|0; - $fileName = $fileName|0; - var $$ = 0, $$1 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; - var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; - var $buffer = 0, $format$0 = 0, $sound$sroa$0$0 = 0, $sound$sroa$1$0 = 0, $source = 0, $vararg_ptr4 = 0, $vararg_ptr5 = 0, $vararg_ptr6 = 0, $wave = 0, $wave$byval_copy = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); - $wave$byval_copy = sp; - $wave = sp + 24|0; - $source = sp + 16|0; - $buffer = sp + 20|0; - $0 = (($wave) + 4|0); - $1 = (($wave) + 8|0); - $2 = (($wave) + 12|0); - $3 = (($wave) + 14|0); - ;HEAP32[$wave+0>>2]=0|0;HEAP32[$wave+4>>2]=0|0;HEAP32[$wave+8>>2]=0|0;HEAP32[$wave+12>>2]=0|0; - $4 = (_GetExtension($fileName)|0); - $5 = (_strcmp($4,16568)|0); - $6 = ($5|0)==(0); - do { - if ($6) { - _LoadWAV($wave,$fileName); - } else { - $7 = (_GetExtension($fileName)|0); - $8 = (_strcmp($7,16576)|0); - $9 = ($8|0)==(0); - if ($9) { - _LoadOGG($wave,$fileName); - break; - } else { - HEAP32[$wave$byval_copy>>2] = $fileName; - _TraceLog(2,16584,$wave$byval_copy); - break; - } - } - } while(0); - $10 = HEAP32[$wave>>2]|0; - $11 = ($10|0)==(0|0); - if ($11) { - $sound$sroa$0$0 = 0;$sound$sroa$1$0 = 0; - HEAP32[$agg$result>>2] = $sound$sroa$0$0; - $37 = (($agg$result) + 4|0); - HEAP32[$37>>2] = $sound$sroa$1$0; - STACKTOP = sp;return; - } - $12 = HEAP16[$3>>1]|0; - if ((($12<<16>>16) == 1)) { - $13 = HEAP16[$2>>1]|0; - $14 = ($13<<16>>16)==(8); - if ($14) { - $format$0 = 4352; - } else { - $15 = ($13<<16>>16)==(16); - $$ = $15 ? 4353 : 0; - $format$0 = $$; - } - } else if ((($12<<16>>16) == 2)) { - $16 = HEAP16[$2>>1]|0; - $17 = ($16<<16>>16)==(8); - if ($17) { - $format$0 = 4354; - } else { - $18 = ($16<<16>>16)==(16); - $$1 = $18 ? 4355 : 0; - $format$0 = $$1; - } - } else { - $format$0 = 0; - } - _alGenSources(1,($source|0)); - $19 = HEAP32[$source>>2]|0; - _alSourcef(($19|0),4099,1.0); - $20 = HEAP32[$source>>2]|0; - _alSourcef(($20|0),4106,1.0); - $21 = HEAP32[$source>>2]|0; - _alSource3f(($21|0),4100,0.0,0.0,0.0); - $22 = HEAP32[$source>>2]|0; - _alSource3f(($22|0),4102,0.0,0.0,0.0); - $23 = HEAP32[$source>>2]|0; - _alSourcei(($23|0),4103,0); - _alGenBuffers(1,($buffer|0)); - $24 = HEAP32[$buffer>>2]|0; - $25 = HEAP32[$wave>>2]|0; - $26 = HEAP32[$0>>2]|0; - $27 = HEAP32[$1>>2]|0; - _alBufferData(($24|0),($format$0|0),($25|0),($26|0),($27|0)); - $28 = HEAP32[$source>>2]|0; - $29 = HEAP32[$buffer>>2]|0; - _alSourcei(($28|0),4105,($29|0)); - $30 = HEAP32[$1>>2]|0; - $31 = HEAP16[$2>>1]|0; - $32 = $31 << 16 >> 16; - $33 = HEAP16[$3>>1]|0; - $34 = $33 << 16 >> 16; - HEAP32[$wave$byval_copy>>2] = $fileName; - $vararg_ptr4 = (($wave$byval_copy) + 4|0); - HEAP32[$vararg_ptr4>>2] = $30; - $vararg_ptr5 = (($wave$byval_copy) + 8|0); - HEAP32[$vararg_ptr5>>2] = $32; - $vararg_ptr6 = (($wave$byval_copy) + 12|0); - HEAP32[$vararg_ptr6>>2] = $34; - _TraceLog(0,16640,$wave$byval_copy); - ;HEAP32[$wave$byval_copy+0>>2]=HEAP32[$wave+0>>2]|0;HEAP32[$wave$byval_copy+4>>2]=HEAP32[$wave+4>>2]|0;HEAP32[$wave$byval_copy+8>>2]=HEAP32[$wave+8>>2]|0;HEAP32[$wave$byval_copy+12>>2]=HEAP32[$wave+12>>2]|0; - _UnloadWave($wave$byval_copy); - $35 = HEAP32[$source>>2]|0; - $36 = HEAP32[$buffer>>2]|0; - $sound$sroa$0$0 = $35;$sound$sroa$1$0 = $36; - HEAP32[$agg$result>>2] = $sound$sroa$0$0; - $37 = (($agg$result) + 4|0); - HEAP32[$37>>2] = $sound$sroa$1$0; - STACKTOP = sp;return; -} -function _LoadWAV($agg$result,$fileName) { - $agg$result = $agg$result|0; - $fileName = $fileName|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $riffHeader = 0, $vararg_buffer10 = 0, $vararg_ptr13 = 0, $vararg_ptr14 = 0, $vararg_ptr15 = 0, $wave$sroa$0$0 = 0, $wave$sroa$0$1 = 0, $wave$sroa$1$0 = 0, $wave$sroa$1$1 = 0, $wave$sroa$2$0 = 0, $wave$sroa$2$1 = 0; - var $wave$sroa$3$0 = 0, $wave$sroa$3$1 = 0, $wave$sroa$4$0 = 0, $wave$sroa$4$1 = 0, $waveData = 0, $waveFormat = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); - $vararg_buffer10 = sp; - $riffHeader = sp + 48|0; - $waveFormat = sp + 16|0; - $waveData = sp + 40|0; - $0 = (_fopen(($fileName|0),(16720|0))|0); - $1 = ($0|0)==(0|0); - if ($1) { - HEAP32[$vararg_buffer10>>2] = $fileName; - _TraceLog(2,17304,$vararg_buffer10); - $wave$sroa$0$1 = 0;$wave$sroa$1$1 = 0;$wave$sroa$2$1 = 0;$wave$sroa$3$1 = 0;$wave$sroa$4$1 = 0; - HEAP32[$agg$result>>2] = $wave$sroa$0$1; - $45 = (($agg$result) + 4|0); - HEAP32[$45>>2] = $wave$sroa$1$1; - $46 = (($agg$result) + 8|0); - HEAP32[$46>>2] = $wave$sroa$2$1; - $47 = (($agg$result) + 12|0); - HEAP16[$47>>1] = $wave$sroa$3$1; - $48 = (($agg$result) + 14|0); - HEAP16[$48>>1] = $wave$sroa$4$1; - STACKTOP = sp;return; - } - (_fread(($riffHeader|0),12,1,($0|0))|0); - $2 = (_strncmp($riffHeader,17344,4)|0); - $3 = ($2|0)==(0); - do { - if ($3) { - $4 = (($riffHeader) + 8|0); - $5 = (_strncmp($4,17352,4)|0); - $6 = ($5|0)==(0); - if ($6) { - (_fread(($waveFormat|0),24,1,($0|0))|0); - $7 = HEAP8[$waveFormat>>0]|0; - $8 = ($7<<24>>24)==(102); - if ($8) { - $9 = (($waveFormat) + 1|0); - $10 = HEAP8[$9>>0]|0; - $11 = ($10<<24>>24)==(109); - if ($11) { - $12 = (($waveFormat) + 2|0); - $13 = HEAP8[$12>>0]|0; - $14 = ($13<<24>>24)==(116); - if ($14) { - $15 = (($waveFormat) + 3|0); - $16 = HEAP8[$15>>0]|0; - $17 = ($16<<24>>24)==(32); - if ($17) { - $18 = (($waveFormat) + 4|0); - $19 = HEAP32[$18>>2]|0; - $20 = ($19|0)>(16); - if ($20) { - (_fseek(($0|0),2,1)|0); - } - (_fread(($waveData|0),8,1,($0|0))|0); - $21 = HEAP8[$waveData>>0]|0; - $22 = ($21<<24>>24)==(100); - if ($22) { - $23 = (($waveData) + 1|0); - $24 = HEAP8[$23>>0]|0; - $25 = ($24<<24>>24)==(97); - if ($25) { - $26 = (($waveData) + 2|0); - $27 = HEAP8[$26>>0]|0; - $28 = ($27<<24>>24)==(116); - if ($28) { - $29 = (($waveData) + 3|0); - $30 = HEAP8[$29>>0]|0; - $31 = ($30<<24>>24)==(97); - if ($31) { - $32 = (($waveData) + 4|0); - $33 = HEAP32[$32>>2]|0; - $34 = (_malloc($33)|0); - $35 = HEAP32[$32>>2]|0; - (_fread(($34|0),($35|0),1,($0|0))|0); - $36 = HEAP32[$32>>2]|0; - $37 = (($waveFormat) + 12|0); - $38 = HEAP32[$37>>2]|0; - $39 = (($waveFormat) + 10|0); - $40 = HEAP16[$39>>1]|0; - $41 = (($waveFormat) + 22|0); - $42 = HEAP16[$41>>1]|0; - $43 = $42 << 16 >> 16; - $44 = $40 << 16 >> 16; - HEAP32[$vararg_buffer10>>2] = $fileName; - $vararg_ptr13 = (($vararg_buffer10) + 4|0); - HEAP32[$vararg_ptr13>>2] = $38; - $vararg_ptr14 = (($vararg_buffer10) + 8|0); - HEAP32[$vararg_ptr14>>2] = $43; - $vararg_ptr15 = (($vararg_buffer10) + 12|0); - HEAP32[$vararg_ptr15>>2] = $44; - _TraceLog(0,17464,$vararg_buffer10); - $wave$sroa$0$0 = $34;$wave$sroa$1$0 = $36;$wave$sroa$2$0 = $38;$wave$sroa$3$0 = $42;$wave$sroa$4$0 = $40; - break; - } - } - } - } - HEAP32[$vararg_buffer10>>2] = $fileName; - _TraceLog(2,17432,$vararg_buffer10); - $wave$sroa$0$0 = 0;$wave$sroa$1$0 = 0;$wave$sroa$2$0 = 0;$wave$sroa$3$0 = 0;$wave$sroa$4$0 = 0; - break; - } - } - } - } - HEAP32[$vararg_buffer10>>2] = $fileName; - _TraceLog(2,17400,$vararg_buffer10); - $wave$sroa$0$0 = 0;$wave$sroa$1$0 = 0;$wave$sroa$2$0 = 0;$wave$sroa$3$0 = 0;$wave$sroa$4$0 = 0; - } else { - label = 5; - } - } else { - label = 5; - } - } while(0); - if ((label|0) == 5) { - HEAP32[$vararg_buffer10>>2] = $fileName; - _TraceLog(2,17360,$vararg_buffer10); - $wave$sroa$0$0 = 0;$wave$sroa$1$0 = 0;$wave$sroa$2$0 = 0;$wave$sroa$3$0 = 0;$wave$sroa$4$0 = 0; - } - (_fclose(($0|0))|0); - $wave$sroa$0$1 = $wave$sroa$0$0;$wave$sroa$1$1 = $wave$sroa$1$0;$wave$sroa$2$1 = $wave$sroa$2$0;$wave$sroa$3$1 = $wave$sroa$3$0;$wave$sroa$4$1 = $wave$sroa$4$0; - HEAP32[$agg$result>>2] = $wave$sroa$0$1; - $45 = (($agg$result) + 4|0); - HEAP32[$45>>2] = $wave$sroa$1$1; - $46 = (($agg$result) + 8|0); - HEAP32[$46>>2] = $wave$sroa$2$1; - $47 = (($agg$result) + 12|0); - HEAP16[$47>>1] = $wave$sroa$3$1; - $48 = (($agg$result) + 14|0); - HEAP16[$48>>1] = $wave$sroa$4$1; - STACKTOP = sp;return; -} -function _LoadOGG($agg$result,$fileName) { - $agg$result = $agg$result|0; - $fileName = $fileName|0; - var $0 = 0, $1 = 0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0, $14 = 0.0, $15 = 0.0, $16 = 0, $17 = 0.0, $18 = 0.0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $info = 0, $sext = 0, $vararg_buffer26 = 0, $vararg_ptr1 = 0, $vararg_ptr13 = 0, $vararg_ptr17 = 0, $vararg_ptr21 = 0, $vararg_ptr25 = 0, $vararg_ptr29 = 0, $vararg_ptr30 = 0, $vararg_ptr31 = 0, $vararg_ptr5 = 0; - var $vararg_ptr9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); - $vararg_buffer26 = sp; - $info = sp + 16|0; - $0 = (_stb_vorbis_open_filename($fileName,0,0)|0); - _stb_vorbis_get_info($info,$0); - $1 = HEAP32[$info>>2]|0; - $2 = (($info) + 4|0); - $3 = HEAP32[$2>>2]|0; - $4 = $3&65535; - HEAP32[$vararg_buffer26>>2] = $fileName; - $vararg_ptr1 = (($vararg_buffer26) + 4|0); - HEAP32[$vararg_ptr1>>2] = $1; - _TraceLog(3,16808,$vararg_buffer26); - $5 = HEAP32[$2>>2]|0; - HEAP32[$vararg_buffer26>>2] = $fileName; - $vararg_ptr5 = (($vararg_buffer26) + 4|0); - HEAP32[$vararg_ptr5>>2] = $5; - _TraceLog(3,16840,$vararg_buffer26); - $6 = (_stb_vorbis_stream_length_in_samples($0)|0); - $7 = HEAP32[$2>>2]|0; - $8 = Math_imul($7, $6)|0; - $9 = $8 << 1; - HEAP32[$vararg_buffer26>>2] = $fileName; - $vararg_ptr9 = (($vararg_buffer26) + 4|0); - HEAP32[$vararg_ptr9>>2] = $8; - _TraceLog(3,16992,$vararg_buffer26); - $10 = (+_stb_vorbis_stream_length_in_seconds($0)); - $11 = $10; - HEAP32[$vararg_buffer26>>2] = $fileName; - $vararg_ptr13 = (($vararg_buffer26) + 4|0); - HEAPF64[tempDoublePtr>>3]=$11;HEAP32[$vararg_ptr13>>2]=HEAP32[tempDoublePtr>>2];HEAP32[$vararg_ptr13+4>>2]=HEAP32[tempDoublePtr+4>>2]; - _TraceLog(3,17016,$vararg_buffer26); - $12 = $10 > 10.0; - if ($12) { - HEAP32[$vararg_buffer26>>2] = $fileName; - $vararg_ptr17 = (($vararg_buffer26) + 4|0); - HEAPF64[tempDoublePtr>>3]=$11;HEAP32[$vararg_ptr17>>2]=HEAP32[tempDoublePtr>>2];HEAP32[$vararg_ptr17+4>>2]=HEAP32[tempDoublePtr+4>>2]; - _TraceLog(2,17040,$vararg_buffer26); - } - $13 = HEAP32[$info>>2]|0; - $14 = (+($13>>>0)); - $15 = $10 * $14; - $16 = HEAP32[$2>>2]|0; - $17 = (+($16|0)); - $18 = $15 * $17; - $19 = (~~(($18))); - HEAP32[$vararg_buffer26>>2] = $fileName; - $vararg_ptr21 = (($vararg_buffer26) + 4|0); - HEAP32[$vararg_ptr21>>2] = $19; - _TraceLog(3,17152,$vararg_buffer26); - $20 = (_malloc($9)|0); - $21 = HEAP32[$2>>2]|0; - $22 = (_stb_vorbis_get_samples_short_interleaved($0,$21,$20,$8)|0); - HEAP32[$vararg_buffer26>>2] = $fileName; - $vararg_ptr25 = (($vararg_buffer26) + 4|0); - HEAP32[$vararg_ptr25>>2] = $22; - _TraceLog(3,17192,$vararg_buffer26); - $sext = $3 << 16; - $23 = $sext >> 16; - HEAP32[$vararg_buffer26>>2] = $fileName; - $vararg_ptr29 = (($vararg_buffer26) + 4|0); - HEAP32[$vararg_ptr29>>2] = $1; - $vararg_ptr30 = (($vararg_buffer26) + 8|0); - HEAP32[$vararg_ptr30>>2] = 16; - $vararg_ptr31 = (($vararg_buffer26) + 12|0); - HEAP32[$vararg_ptr31>>2] = $23; - _TraceLog(0,17224,$vararg_buffer26); - _stb_vorbis_close($0); - HEAP32[$agg$result>>2] = $20; - $24 = (($agg$result) + 4|0); - HEAP32[$24>>2] = $9; - $25 = (($agg$result) + 8|0); - HEAP32[$25>>2] = $1; - $26 = (($agg$result) + 12|0); - HEAP16[$26>>1] = 16; - $27 = (($agg$result) + 14|0); - HEAP16[$27>>1] = $4; - STACKTOP = sp;return; -} -function _UnloadWave($wave) { - $wave = $wave|0; - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[$wave>>2]|0; - _free($0); - STACKTOP = sp;return; -} -function _UnloadSound($sound) { - $sound = $sound|0; - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - _alDeleteSources(1,($sound|0)); - $0 = (($sound) + 4|0); - _alDeleteBuffers(1,($0|0)); - STACKTOP = sp;return; -} -function _PlaySound($sound) { - $sound = $sound|0; - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[$sound>>2]|0; - _alSourcePlay(($0|0)); - STACKTOP = sp;return; -} -function _PlayMusicStream($fileName) { - $fileName = $fileName|0; - var $$ = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $info = 0, $vararg_buffer13 = 0, $vararg_ptr12 = 0, $vararg_ptr4 = 0, $vararg_ptr8 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); - $vararg_buffer13 = sp; - $info = sp + 8|0; - $0 = (_GetExtension($fileName)|0); - $1 = (_strcmp($0,16576)|0); - $2 = ($1|0)==(0); - if (!($2)) { - HEAP32[$vararg_buffer13>>2] = $fileName; - _TraceLog(2,16896,$vararg_buffer13); - STACKTOP = sp;return; - } - _StopMusicStream(); - $3 = (_stb_vorbis_open_filename($fileName,0,0)|0); - HEAP32[16728>>2] = $3; - $4 = ($3|0)==(0|0); - if ($4) { - HEAP32[$vararg_buffer13>>2] = $fileName; - _TraceLog(2,16768,$vararg_buffer13); - STACKTOP = sp;return; - } else { - _stb_vorbis_get_info($info,$3); - $5 = (($info) + 4|0); - $6 = HEAP32[$5>>2]|0; - HEAP32[((16728 + 20|0))>>2] = $6; - $7 = HEAP32[$info>>2]|0; - HEAP32[((16728 + 24|0))>>2] = $7; - $8 = HEAP32[$info>>2]|0; - HEAP32[$vararg_buffer13>>2] = $fileName; - $vararg_ptr4 = (($vararg_buffer13) + 4|0); - HEAP32[$vararg_ptr4>>2] = $8; - _TraceLog(0,16808,$vararg_buffer13); - $9 = HEAP32[$5>>2]|0; - HEAP32[$vararg_buffer13>>2] = $fileName; - $vararg_ptr8 = (($vararg_buffer13) + 4|0); - HEAP32[$vararg_ptr8>>2] = $9; - _TraceLog(0,16840,$vararg_buffer13); - $10 = (($info) + 16|0); - $11 = HEAP32[$10>>2]|0; - HEAP32[$vararg_buffer13>>2] = $fileName; - $vararg_ptr12 = (($vararg_buffer13) + 4|0); - HEAP32[$vararg_ptr12>>2] = $11; - _TraceLog(0,16864,$vararg_buffer13); - $12 = HEAP32[$5>>2]|0; - $13 = ($12|0)==(2); - $$ = $13 ? 4355 : 4353; - HEAP32[((16728 + 16|0))>>2] = $$; - HEAP32[((16728 + 32|0))>>2] = 1; - HEAP32[16384>>2] = 1; - _alGenSources(1,(((16728 + 12|0))|0)); - $14 = HEAP32[((16728 + 12|0))>>2]|0; - _alSourcef(($14|0),4099,1.0); - $15 = HEAP32[((16728 + 12|0))>>2]|0; - _alSourcef(($15|0),4106,1.0); - $16 = HEAP32[((16728 + 12|0))>>2]|0; - _alSource3f(($16|0),4100,0.0,0.0,0.0); - $17 = HEAP32[((16728 + 12|0))>>2]|0; - _alSource3f(($17|0),4102,0.0,0.0,0.0); - _alGenBuffers(2,(((16728 + 4|0))|0)); - $18 = HEAP32[((16728 + 4|0))>>2]|0; - (_BufferMusicStream($18)|0); - $19 = HEAP32[((16728 + 8|0))>>2]|0; - (_BufferMusicStream($19)|0); - $20 = HEAP32[((16728 + 12|0))>>2]|0; - _alSourceQueueBuffers(($20|0),2,(((16728 + 4|0))|0)); - $21 = HEAP32[((16728 + 12|0))>>2]|0; - _alSourcePlay(($21|0)); - $22 = HEAP32[16728>>2]|0; - $23 = (_stb_vorbis_stream_length_in_samples($22)|0); - $24 = HEAP32[((16728 + 20|0))>>2]|0; - $25 = Math_imul($24, $23)|0; - HEAP32[((16728 + 28|0))>>2] = $25; - STACKTOP = sp;return; - } -} -function _BufferMusicStream($buffer) { - $buffer = $buffer|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $active$0 = 0, $pcm = 0; - var $size$04 = 0, $size$05 = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 65552|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); - $vararg_buffer = sp; - $pcm = sp + 8|0; - $0 = HEAP32[16384>>2]|0; - $1 = ($0|0)==(0); - do { - if (!($1)) { - $size$05 = 0; - while(1) { - $2 = HEAP32[16728>>2]|0; - $3 = HEAP32[((16728 + 20|0))>>2]|0; - $4 = (($pcm) + ($size$05<<1)|0); - $5 = (32768 - ($size$05))|0; - $6 = (_stb_vorbis_get_samples_short_interleaved($2,$3,$4,$5)|0); - $7 = ($6|0)>(0); - if (!($7)) { - label = 4; - break; - } - $8 = HEAP32[((16728 + 20|0))>>2]|0; - $9 = Math_imul($8, $6)|0; - $10 = (($9) + ($size$05))|0; - $11 = ($10|0)<(32768); - if ($11) { - $size$05 = $10; - } else { - $size$04 = $10; - break; - } - } - if ((label|0) == 4) { - $12 = ($size$05|0)>(0); - if ($12) { - $size$04 = $size$05; - } else { - break; - } - } - $13 = HEAP32[((16728 + 16|0))>>2]|0; - $14 = $size$04 << 1; - $15 = HEAP32[((16728 + 24|0))>>2]|0; - _alBufferData(($buffer|0),($13|0),($pcm|0),($14|0),($15|0)); - $16 = HEAP32[((16728 + 28|0))>>2]|0; - $17 = (($16) - ($size$04))|0; - HEAP32[((16728 + 28|0))>>2] = $17; - $active$0 = 1; - STACKTOP = sp;return ($active$0|0); - } - } while(0); - _TraceLog(2,17544,$vararg_buffer); - $active$0 = 0; - STACKTOP = sp;return ($active$0|0); -} -function _EmptyMusicStream() { - var $$pr = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $buffer = 0, $queued = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); - $buffer = sp + 4|0; - $queued = sp; - HEAP32[$buffer>>2] = 0; - HEAP32[$queued>>2] = 0; - $0 = HEAP32[((16728 + 12|0))>>2]|0; - _alGetSourcei(($0|0),4117,($queued|0)); - $$pr = HEAP32[$queued>>2]|0; - $1 = ($$pr|0)>(0); - if (!($1)) { - STACKTOP = sp;return; - } - while(1) { - $2 = HEAP32[((16728 + 12|0))>>2]|0; - _alSourceUnqueueBuffers(($2|0),1,($buffer|0)); - $3 = HEAP32[$queued>>2]|0; - $4 = (($3) + -1)|0; - HEAP32[$queued>>2] = $4; - $5 = ($4|0)>(0); - if (!($5)) { - break; - } - } - STACKTOP = sp;return; -} -function _MusicIsPlaying() { - var $$ = 0, $0 = 0, $1 = 0, $2 = 0, $state = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); - $state = sp; - $0 = HEAP32[((16728 + 12|0))>>2]|0; - _alGetSourcei(($0|0),4112,($state|0)); - $1 = HEAP32[$state>>2]|0; - $2 = ($1|0)==(4114); - $$ = $2&1; - STACKTOP = sp;return ($$|0); -} -function _GetMusicTimeLength() { - var $0 = 0, $1 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[16728>>2]|0; - $1 = (+_stb_vorbis_stream_length_in_seconds($0)); - STACKTOP = sp;return (+$1); -} -function _GetMusicTimePlayed() { - var $0 = 0, $1 = 0, $10 = 0.0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[16728>>2]|0; - $1 = (_stb_vorbis_stream_length_in_samples($0)|0); - $2 = HEAP32[((16728 + 20|0))>>2]|0; - $3 = Math_imul($2, $1)|0; - $4 = HEAP32[((16728 + 28|0))>>2]|0; - $5 = (($3) - ($4))|0; - $6 = (+($5|0)); - $7 = HEAP32[((16728 + 24|0))>>2]|0; - $8 = Math_imul($7, $2)|0; - $9 = (+($8|0)); - $10 = $6 / $9; - STACKTOP = sp;return (+$10); -} -function _UpdateMusicStream() { - var $$lcssa = 0, $$pr = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; - var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $active$0$lcssa = 0, $active$1 = 0, $buffer = 0, $or$cond = 0, $or$cond4 = 0, $processed = 0, $state = 0, $vararg_buffer = 0, label = 0; - var sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); - $vararg_buffer = sp; - $buffer = sp + 12|0; - $processed = sp + 4|0; - $state = sp + 8|0; - HEAP32[$buffer>>2] = 0; - HEAP32[$processed>>2] = 0; - $0 = HEAP32[16384>>2]|0; - $1 = ($0|0)==(0); - if ($1) { - STACKTOP = sp;return; - } - $2 = HEAP32[((16728 + 12|0))>>2]|0; - _alGetSourcei(($2|0),4118,($processed|0)); - $$pr = HEAP32[$processed>>2]|0; - $3 = ($$pr|0)>(0); - $4 = HEAP32[((16728 + 12|0))>>2]|0; - if ($3) { - $5 = $4; - while(1) { - _alSourceUnqueueBuffers(($5|0),1,($buffer|0)); - $6 = HEAP32[$buffer>>2]|0; - $7 = (_BufferMusicStream($6)|0); - $8 = ($7|0)==(0); - $9 = HEAP32[((16728 + 32|0))>>2]|0; - $10 = ($9|0)!=(0); - $or$cond = $8 & $10; - if ($or$cond) { - $11 = HEAP32[16728>>2]|0; - _stb_vorbis_seek_start($11); - $12 = HEAP32[16728>>2]|0; - $13 = (_stb_vorbis_stream_length_in_samples($12)|0); - $14 = HEAP32[((16728 + 20|0))>>2]|0; - $15 = Math_imul($14, $13)|0; - HEAP32[((16728 + 28|0))>>2] = $15; - $16 = HEAP32[$buffer>>2]|0; - $17 = (_BufferMusicStream($16)|0); - $active$1 = $17; - } else { - $active$1 = $7; - } - $18 = HEAP32[((16728 + 12|0))>>2]|0; - _alSourceQueueBuffers(($18|0),1,($buffer|0)); - $19 = (_alGetError()|0); - $20 = ($19|0)==(0); - if (!($20)) { - _TraceLog(2,16952,$vararg_buffer); - } - $21 = HEAP32[$processed>>2]|0; - $22 = (($21) + -1)|0; - HEAP32[$processed>>2] = $22; - $23 = ($22|0)>(0); - $24 = HEAP32[((16728 + 12|0))>>2]|0; - if ($23) { - $5 = $24; - } else { - $$lcssa = $24;$active$0$lcssa = $active$1; - break; - } - } - } else { - $$lcssa = $4;$active$0$lcssa = 1; - } - _alGetSourcei(($$lcssa|0),4112,($state|0)); - $25 = HEAP32[$state>>2]|0; - $26 = ($25|0)==(4114); - $27 = ($active$0$lcssa|0)==(0); - $or$cond4 = $26 | $27; - if (!($or$cond4)) { - $28 = HEAP32[((16728 + 12|0))>>2]|0; - _alSourcePlay(($28|0)); - } - if (!($27)) { - STACKTOP = sp;return; - } - _StopMusicStream(); - STACKTOP = sp;return; -} -function _TraceLog($msgType,$text,$varargs) { - $msgType = $msgType|0; - $text = $text|0; - $varargs = $varargs|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $args = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); - $args = sp; - if ((($msgType|0) == 0)) { - $0 = HEAP32[_stdout>>2]|0; - (_fwrite((17584|0),6,1,($0|0))|0); - } else if ((($msgType|0) == 1)) { - $1 = HEAP32[_stdout>>2]|0; - (_fwrite((17592|0),7,1,($1|0))|0); - } else if ((($msgType|0) == 2)) { - $2 = HEAP32[_stdout>>2]|0; - (_fwrite((17600|0),9,1,($2|0))|0); - } else if ((($msgType|0) == 3)) { - STACKTOP = sp;return; - } - HEAP32[$args>>2] = $varargs; - $3 = HEAP32[_stdout>>2]|0; - (_vfprintf(($3|0),($text|0),($args|0))|0); - $4 = HEAP32[_stdout>>2]|0; - (_fputc(10,($4|0))|0); - $5 = ($msgType|0)==(1); - if ($5) { - _exit(1); - // unreachable; - } else { - STACKTOP = sp;return; - } -} -function _GetExtension($fileName) { - $fileName = $fileName|0; - var $$0 = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $or$cond = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_strrchr($fileName,46)|0); - $1 = ($0|0)==(0|0); - $2 = ($0|0)==($fileName|0); - $or$cond = $1 | $2; - $3 = (($0) + 1|0); - $$0 = $or$cond ? 17616 : $3; - STACKTOP = sp;return ($$0|0); -} -function _GetNextPOT($num) { - $num = $num|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ($num|0)==(0); - if ($0) { - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $1 = (($num) + -1)|0; - $2 = $1 >> 1; - $3 = $2 | $1; - $4 = $3 >> 2; - $5 = $4 | $3; - $6 = $5 >> 4; - $7 = $6 | $5; - $8 = $7 >> 8; - $9 = $8 | $7; - $10 = $9 >> 16; - $11 = $10 | $9; - $12 = (($11) + 1)|0; - $$0 = $12; - STACKTOP = sp;return ($$0|0); -} -function _stb_vorbis_close($p) { - $p = $p|0; - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ($p|0)==(0|0); - if (!($0)) { - _vorbis_deinit($p); - _setup_free($p,$p); - } - STACKTOP = sp;return; -} -function _vorbis_deinit($p) { - $p = $p|0; - var $$lcssa = 0, $$lcssa12 = 0, $$lcssa6 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $12 = 0, $13 = 0; - var $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0; - var $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0; - var $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0; - var $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0; - var $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $i$017 = 0, $i$17 = 0, $i$23 = 0, $i$32 = 0, $j$013 = 0, label = 0; - var sp = 0; - sp = STACKTOP; - $0 = (($p) + 280|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)>(0); - if ($2) { - $3 = (($p) + 412|0); - $4 = (($p) + 140|0); - $i$017 = 0; - while(1) { - $5 = HEAP32[$3>>2]|0; - $6 = ((($5) + (($i$017*24)|0)|0) + 16|0); - $7 = HEAP32[$6>>2]|0; - $8 = ($7|0)==(0|0); - if (!($8)) { - $9 = ((($5) + (($i$017*24)|0)|0) + 13|0); - $10 = HEAP8[$9>>0]|0; - $11 = $10&255; - $12 = HEAP32[$4>>2]|0; - $13 = ((($12) + (($11*2096)|0)|0) + 4|0); - $14 = HEAP32[$13>>2]|0; - $15 = ($14|0)>(0); - $16 = HEAP32[$6>>2]|0; - if ($15) { - $18 = $16;$j$013 = 0; - while(1) { - $17 = (($18) + ($j$013<<2)|0); - $19 = HEAP32[$17>>2]|0; - _setup_free($p,$19); - $20 = (($j$013) + 1)|0; - $21 = HEAP8[$9>>0]|0; - $22 = $21&255; - $23 = HEAP32[$4>>2]|0; - $24 = ((($23) + (($22*2096)|0)|0) + 4|0); - $25 = HEAP32[$24>>2]|0; - $26 = ($20|0)<($25|0); - $27 = HEAP32[$6>>2]|0; - if ($26) { - $18 = $27;$j$013 = $20; - } else { - $$lcssa12 = $27; - break; - } - } - } else { - $$lcssa12 = $16; - } - _setup_free($p,$$lcssa12); - } - $28 = ((($5) + (($i$017*24)|0)|0) + 20|0); - $29 = HEAP32[$28>>2]|0; - _setup_free($p,$29); - $30 = (($i$017) + 1)|0; - $31 = HEAP32[$0>>2]|0; - $32 = ($30|0)<($31|0); - if ($32) { - $i$017 = $30; - } else { - break; - } - } - } - $33 = (($p) + 140|0); - $34 = HEAP32[$33>>2]|0; - $35 = ($34|0)==(0|0); - if (!($35)) { - $36 = (($p) + 136|0); - $37 = HEAP32[$36>>2]|0; - $38 = ($37|0)>(0); - $39 = HEAP32[$33>>2]|0; - if ($38) { - $41 = $39;$i$17 = 0; - while(1) { - $40 = ((($41) + (($i$17*2096)|0)|0) + 8|0); - $42 = HEAP32[$40>>2]|0; - _setup_free($p,$42); - $43 = ((($41) + (($i$17*2096)|0)|0) + 28|0); - $44 = HEAP32[$43>>2]|0; - _setup_free($p,$44); - $45 = ((($41) + (($i$17*2096)|0)|0) + 32|0); - $46 = HEAP32[$45>>2]|0; - _setup_free($p,$46); - $47 = ((($41) + (($i$17*2096)|0)|0) + 2084|0); - $48 = HEAP32[$47>>2]|0; - _setup_free($p,$48); - $49 = ((($41) + (($i$17*2096)|0)|0) + 2088|0); - $50 = HEAP32[$49>>2]|0; - $51 = ($50|0)==(0|0); - if ($51) { - $53 = 0; - } else { - $52 = (($50) + -4|0); - $53 = $52; - } - _setup_free($p,$53); - $54 = (($i$17) + 1)|0; - $55 = HEAP32[$36>>2]|0; - $56 = ($54|0)<($55|0); - $57 = HEAP32[$33>>2]|0; - if ($56) { - $41 = $57;$i$17 = $54; - } else { - $$lcssa6 = $57; - break; - } - } - } else { - $$lcssa6 = $39; - } - _setup_free($p,$$lcssa6); - } - $58 = (($p) + 276|0); - $59 = HEAP32[$58>>2]|0; - _setup_free($p,$59); - $60 = (($p) + 412|0); - $61 = HEAP32[$60>>2]|0; - _setup_free($p,$61); - $62 = (($p) + 416|0); - $63 = HEAP32[$62>>2]|0; - $64 = ($63|0)>(0); - $65 = (($p) + 420|0); - $66 = HEAP32[$65>>2]|0; - if ($64) { - $68 = $66;$i$23 = 0; - while(1) { - $67 = ((($68) + (($i$23*40)|0)|0) + 4|0); - $69 = HEAP32[$67>>2]|0; - _setup_free($p,$69); - $70 = (($i$23) + 1)|0; - $71 = HEAP32[$62>>2]|0; - $72 = ($70|0)<($71|0); - $73 = HEAP32[$65>>2]|0; - if ($72) { - $68 = $73;$i$23 = $70; - } else { - $$lcssa = $73; - break; - } - } - } else { - $$lcssa = $66; - } - _setup_free($p,$$lcssa); - $74 = (($p) + 4|0); - $75 = HEAP32[$74>>2]|0; - $76 = ($75|0)>(0); - if ($76) { - $i$32 = 0; - while(1) { - $77 = ((($p) + ($i$32<<2)|0) + 816|0); - $78 = HEAP32[$77>>2]|0; - _setup_free($p,$78); - $79 = ((($p) + ($i$32<<2)|0) + 944|0); - $80 = HEAP32[$79>>2]|0; - _setup_free($p,$80); - $81 = ((($p) + ($i$32<<2)|0) + 1012|0); - $82 = HEAP32[$81>>2]|0; - _setup_free($p,$82); - $83 = (($i$32) + 1)|0; - $84 = HEAP32[$74>>2]|0; - $85 = ($83|0)<($84|0); - if ($85) { - $i$32 = $83; - } else { - break; - } - } - } - $86 = (($p) + 1084|0); - $87 = HEAP32[$86>>2]|0; - _setup_free($p,$87); - $88 = (($p) + 1092|0); - $89 = HEAP32[$88>>2]|0; - _setup_free($p,$89); - $90 = (($p) + 1100|0); - $91 = HEAP32[$90>>2]|0; - _setup_free($p,$91); - $92 = (($p) + 1108|0); - $93 = HEAP32[$92>>2]|0; - _setup_free($p,$93); - $94 = (($p) + 1116|0); - $95 = HEAP32[$94>>2]|0; - _setup_free($p,$95); - $96 = (($p) + 1088|0); - $97 = HEAP32[$96>>2]|0; - _setup_free($p,$97); - $98 = (($p) + 1096|0); - $99 = HEAP32[$98>>2]|0; - _setup_free($p,$99); - $100 = (($p) + 1104|0); - $101 = HEAP32[$100>>2]|0; - _setup_free($p,$101); - $102 = (($p) + 1112|0); - $103 = HEAP32[$102>>2]|0; - _setup_free($p,$103); - $104 = (($p) + 1120|0); - $105 = HEAP32[$104>>2]|0; - _setup_free($p,$105); - $106 = (($p) + 28|0); - $107 = HEAP32[$106>>2]|0; - $108 = ($107|0)==(0); - if ($108) { - STACKTOP = sp;return; - } - $109 = (($p) + 20|0); - $110 = HEAP32[$109>>2]|0; - (_fclose(($110|0))|0); - STACKTOP = sp;return; -} -function _setup_free($f,$p) { - $f = $f|0; - $p = $p|0; - var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (($f) + 96|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)==(0|0); - if ($2) { - _free($p); - } - STACKTOP = sp;return; -} -function _stb_vorbis_get_info($agg$result,$f) { - $agg$result = $agg$result|0; - $f = $f|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (($f) + 4|0); - $1 = HEAP32[$0>>2]|0; - $2 = HEAP32[$f>>2]|0; - $3 = (($f) + 8|0); - $4 = HEAP32[$3>>2]|0; - $5 = (($f) + 16|0); - $6 = HEAP32[$5>>2]|0; - $7 = (($f) + 12|0); - $8 = HEAP32[$7>>2]|0; - $9 = (($f) + 132|0); - $10 = HEAP32[$9>>2]|0; - $11 = $10 >> 1; - HEAP32[$agg$result>>2] = $2; - $12 = (($agg$result) + 4|0); - HEAP32[$12>>2] = $1; - $13 = (($agg$result) + 8|0); - HEAP32[$13>>2] = $4; - $14 = (($agg$result) + 12|0); - HEAP32[$14>>2] = $6; - $15 = (($agg$result) + 16|0); - HEAP32[$15>>2] = $8; - $16 = (($agg$result) + 20|0); - HEAP32[$16>>2] = $11; - STACKTOP = sp;return; -} -function _error($f,$e) { - $f = $f|0; - $e = $e|0; - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (($f) + 116|0); - HEAP32[$0>>2] = $e; - STACKTOP = sp;return; -} -function _is_whole_packet_present($f,$end_page) { - $f = $f|0; - $end_page = $end_page|0; - var $$0 = 0, $$s$0 = 0, $$s$3 = 0, $$sum = 0, $$sum1 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0; - var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0; - var $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0; - var $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $7 = 0, $8 = 0, $9 = 0, $first$0 = 0, $first$0$ph = 0, $p$08 = 0, $p$1 = 0, $p$2 = 0, $p$2$ph = 0, $p$32 = 0, $p$4 = 0, $s$0$lcssa = 0; - var $s$09 = 0, $s$2 = 0, $s$2$ph = 0, $s$3$lcssa = 0, $s$33 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (($f) + 1396|0); - $1 = HEAP32[$0>>2]|0; - $2 = (($f) + 32|0); - $3 = HEAP32[$2>>2]|0; - $4 = ($1|0)==(-1); - if ($4) { - $first$0$ph = 1;$p$2$ph = $3;$s$2$ph = -1; - } else { - $5 = (($f) + 1132|0); - $6 = HEAP32[$5>>2]|0; - $7 = ($1|0)<($6|0); - L3: do { - if ($7) { - $p$08 = $3;$s$09 = $1; - while(1) { - $11 = ((($f) + ($s$09)|0) + 1136|0); - $12 = HEAP8[$11>>0]|0; - $13 = $12&255; - $14 = (($p$08) + ($13)|0); - $15 = ($12<<24>>24)==(-1); - $10 = (($s$09) + 1)|0; - if (!($15)) { - $p$1 = $14;$s$0$lcssa = $s$09; - break L3; - } - $8 = HEAP32[$5>>2]|0; - $9 = ($10|0)<($8|0); - if ($9) { - $p$08 = $14;$s$09 = $10; - } else { - $p$1 = $14;$s$0$lcssa = $10; - break; - } - } - } else { - $p$1 = $3;$s$0$lcssa = $1; - } - } while(0); - $16 = ($end_page|0)==(0); - if (!($16)) { - $17 = HEAP32[$5>>2]|0; - $18 = (($17) + -1)|0; - $19 = ($s$0$lcssa|0)<($18|0); - if ($19) { - _error($f,21); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - } - $20 = HEAP32[$5>>2]|0; - $21 = ($s$0$lcssa|0)==($20|0); - $$s$0 = $21 ? -1 : $s$0$lcssa; - $22 = (($f) + 40|0); - $23 = HEAP32[$22>>2]|0; - $24 = ($p$1>>>0)>($23>>>0); - if ($24) { - _error($f,1); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } else { - $first$0$ph = 0;$p$2$ph = $p$1;$s$2$ph = $$s$0; - } - } - $25 = (($f) + 40|0); - $26 = ($end_page|0)==(0); - $27 = (($f) + 1008|0); - $first$0 = $first$0$ph;$p$2 = $p$2$ph;$s$2 = $s$2$ph; - while(1) { - $28 = ($s$2|0)==(-1); - if (!($28)) { - $$0 = 1; - label = 34; - break; - } - $29 = (($p$2) + 26|0); - $30 = HEAP32[$25>>2]|0; - $31 = ($29>>>0)<($30>>>0); - if (!($31)) { - label = 13; - break; - } - $32 = (_memcmp($p$2,17752,4)|0); - $33 = ($32|0)==(0); - if (!($33)) { - label = 15; - break; - } - $34 = (($p$2) + 4|0); - $35 = HEAP8[$34>>0]|0; - $36 = ($35<<24>>24)==(0); - if (!($36)) { - label = 17; - break; - } - $37 = ($first$0|0)==(0); - if ($37) { - $44 = (($p$2) + 5|0); - $45 = HEAP8[$44>>0]|0; - $46 = $45 & 1; - $47 = ($46<<24>>24)==(0); - if ($47) { - label = 23; - break; - } - } else { - $38 = HEAP32[$27>>2]|0; - $39 = ($38|0)==(0); - if (!($39)) { - $40 = (($p$2) + 5|0); - $41 = HEAP8[$40>>0]|0; - $42 = $41 & 1; - $43 = ($42<<24>>24)==(0); - if (!($43)) { - label = 21; - break; - } - } - } - $48 = HEAP8[$29>>0]|0; - $49 = $48&255; - $$sum = (($49) + 27)|0; - $50 = (($p$2) + ($$sum)|0); - $51 = HEAP32[$25>>2]|0; - $52 = ($50>>>0)>($51>>>0); - if ($52) { - label = 26; - break; - } - $53 = ($48<<24>>24)==(0); - L28: do { - if ($53) { - $p$4 = $50;$s$3$lcssa = 0; - } else { - $p$32 = $50;$s$33 = 0; - while(1) { - $$sum1 = (($s$33) + 27)|0; - $56 = (($p$2) + ($$sum1)|0); - $57 = HEAP8[$56>>0]|0; - $58 = $57&255; - $59 = (($p$32) + ($58)|0); - $60 = ($57<<24>>24)==(-1); - $55 = (($s$33) + 1)|0; - if (!($60)) { - $p$4 = $59;$s$3$lcssa = $s$33; - break L28; - } - $54 = ($55|0)<($49|0); - if ($54) { - $p$32 = $59;$s$33 = $55; - } else { - $p$4 = $59;$s$3$lcssa = $55; - break; - } - } - } - } while(0); - if (!($26)) { - $61 = (($49) + -1)|0; - $62 = ($s$3$lcssa|0)<($61|0); - if ($62) { - label = 31; - break; - } - } - $63 = ($s$3$lcssa|0)==($49|0); - $$s$3 = $63 ? -1 : $s$3$lcssa; - $64 = HEAP32[$25>>2]|0; - $65 = ($p$4>>>0)>($64>>>0); - if ($65) { - label = 33; - break; - } else { - $first$0 = 0;$p$2 = $p$4;$s$2 = $$s$3; - } - } - if ((label|0) == 13) { - _error($f,1); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - else if ((label|0) == 15) { - _error($f,21); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - else if ((label|0) == 17) { - _error($f,21); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - else if ((label|0) == 21) { - _error($f,21); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - else if ((label|0) == 23) { - _error($f,21); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - else if ((label|0) == 26) { - _error($f,1); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - else if ((label|0) == 31) { - _error($f,21); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - else if ((label|0) == 33) { - _error($f,1); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - else if ((label|0) == 34) { - STACKTOP = sp;return ($$0|0); - } - return 0|0; -} -function _vorbis_decode_packet($f,$len,$p_left,$p_right) { - $f = $f|0; - $len = $len|0; - $p_left = $p_left|0; - $p_right = $p_right|0; - var $$0 = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $left_end = 0, $mode = 0, $right_end = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); - $mode = sp + 8|0; - $left_end = sp; - $right_end = sp + 4|0; - $0 = (_vorbis_decode_initial($f,$p_left,$left_end,$p_right,$right_end,$mode)|0); - $1 = ($0|0)==(0); - if ($1) { - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $2 = HEAP32[$mode>>2]|0; - $3 = ((($f) + (($2*6)|0)|0) + 428|0); - $4 = HEAP32[$p_left>>2]|0; - $5 = HEAP32[$p_right>>2]|0; - $6 = HEAP32[$right_end>>2]|0; - $7 = (_vorbis_decode_packet_rest($f,$len,$3,$4,$5,$6,$p_left)|0); - $$0 = $7; - STACKTOP = sp;return ($$0|0); -} -function _get8_packet($f) { - $f = $f|0; - var $0 = 0, $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_get8_packet_raw($f)|0); - $1 = (($f) + 1412|0); - HEAP32[$1>>2] = 0; - STACKTOP = sp;return ($0|0); -} -function _vorbis_finish_frame($f,$len,$left,$right) { - $f = $f|0; - $len = $len|0; - $left = $left|0; - $right = $right|0; - var $$0 = 0, $$pr = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0.0, $17 = 0, $18 = 0.0, $19 = 0.0, $2 = 0, $20 = 0, $21 = 0.0, $22 = 0, $23 = 0, $24 = 0.0; - var $25 = 0.0, $26 = 0.0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0; - var $43 = 0.0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond10 = 0; - var $i$03 = 0, $i1$09 = 0, $j$02 = 0, $j2$06 = 0, $len$right = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (($f) + 1008|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)==(0); - if ($2) { - $50 = 0; - } else { - $3 = (_get_window($f,$1)|0); - $4 = (($f) + 4|0); - $5 = HEAP32[$4>>2]|0; - $6 = ($5|0)>(0); - if ($6) { - $7 = ($1|0)>(0); - $8 = HEAP32[$4>>2]|0; - $9 = (($1) + -1)|0; - $i1$09 = 0; - while(1) { - if ($7) { - $10 = ((($f) + ($i1$09<<2)|0) + 816|0); - $11 = HEAP32[$10>>2]|0; - $12 = ((($f) + ($i1$09<<2)|0) + 944|0); - $13 = HEAP32[$12>>2]|0; - $j2$06 = 0; - while(1) { - $14 = (($j2$06) + ($left))|0; - $15 = (($11) + ($14<<2)|0); - $16 = +HEAPF32[$15>>2]; - $17 = (($3) + ($j2$06<<2)|0); - $18 = +HEAPF32[$17>>2]; - $19 = $16 * $18; - $20 = (($13) + ($j2$06<<2)|0); - $21 = +HEAPF32[$20>>2]; - $22 = (($9) - ($j2$06))|0; - $23 = (($3) + ($22<<2)|0); - $24 = +HEAPF32[$23>>2]; - $25 = $21 * $24; - $26 = $19 + $25; - HEAPF32[$15>>2] = $26; - $27 = (($j2$06) + 1)|0; - $exitcond10 = ($27|0)==($1|0); - if ($exitcond10) { - break; - } else { - $j2$06 = $27; - } - } - } - $28 = (($i1$09) + 1)|0; - $29 = ($28|0)<($8|0); - if ($29) { - $i1$09 = $28; - } else { - break; - } - } - } - $$pr = HEAP32[$0>>2]|0; - $50 = $$pr; - } - $30 = (($len) - ($right))|0; - HEAP32[$0>>2] = $30; - $31 = (($f) + 4|0); - $32 = HEAP32[$31>>2]|0; - $33 = ($32|0)>(0); - if ($33) { - $34 = ($right|0)<($len|0); - $35 = HEAP32[$31>>2]|0; - $36 = (($len) - ($right))|0; - $i$03 = 0; - while(1) { - if ($34) { - $37 = ((($f) + ($i$03<<2)|0) + 816|0); - $38 = HEAP32[$37>>2]|0; - $39 = ((($f) + ($i$03<<2)|0) + 944|0); - $40 = HEAP32[$39>>2]|0; - $42 = $right;$j$02 = 0; - while(1) { - $41 = (($38) + ($42<<2)|0); - $43 = +HEAPF32[$41>>2]; - $44 = (($40) + ($j$02<<2)|0); - HEAPF32[$44>>2] = $43; - $45 = (($j$02) + 1)|0; - $46 = (($45) + ($right))|0; - $exitcond = ($45|0)==($36|0); - if ($exitcond) { - break; - } else { - $42 = $46;$j$02 = $45; - } - } - } - $47 = (($i$03) + 1)|0; - $48 = ($47|0)<($35|0); - if ($48) { - $i$03 = $47; - } else { - break; - } - } - } - $49 = ($50|0)==(0); - if ($49) { - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $51 = ($len|0)<($right|0); - $len$right = $51 ? $len : $right; - $52 = (($len$right) - ($left))|0; - $53 = (($f) + 1432|0); - $54 = HEAP32[$53>>2]|0; - $55 = (($54) + ($52))|0; - HEAP32[$53>>2] = $55; - $$0 = $52; - STACKTOP = sp;return ($$0|0); -} -function _vorbis_init($p,$z) { - $p = $p|0; - $z = $z|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $3 = 0, $4 = 0, $5 = 0; - var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - _memset(($p|0),0,1528)|0; - $0 = ($z|0)==(0|0); - if (!($0)) { - $1 = (($p) + 96|0); - $2 = $z; - $3 = $2; - $4 = HEAP32[$3>>2]|0; - $5 = (($2) + 4)|0; - $6 = $5; - $7 = HEAP32[$6>>2]|0; - $8 = $1; - $9 = $8; - HEAP32[$9>>2] = $4; - $10 = (($8) + 4)|0; - $11 = $10; - HEAP32[$11>>2] = $7; - $12 = (($p) + 100|0); - $13 = HEAP32[$12>>2]|0; - $14 = (($13) + 3)|0; - $15 = $14 & -4; - HEAP32[$12>>2] = $15; - $16 = (($p) + 108|0); - HEAP32[$16>>2] = $15; - } - $17 = (($p) + 112|0); - HEAP32[$17>>2] = 0; - $18 = (($p) + 116|0); - HEAP32[$18>>2] = 0; - $19 = (($p) + 32|0); - HEAP32[$19>>2] = 0; - $20 = (($p) + 140|0); - HEAP32[$20>>2] = 0; - $21 = (($p) + 1436|0); - HEAP32[$21>>2] = -1; - $22 = (($p) + 28|0); - HEAP32[$22>>2] = 0; - $23 = (($p) + 20|0); - HEAP32[$23>>2] = 0; - STACKTOP = sp;return; -} -function _start_decoder($f) { - $f = $f|0; - var $$ = 0, $$14 = 0, $$4 = 0, $$lcssa = 0, $$lcssa108 = 0, $$lcssa151 = 0, $$lcssa157 = 0, $$lcssa99 = 0, $$longest_floorlist$0 = 0, $$max_class$0 = 0, $$max_part_read$0 = 0, $$off = 0, $$off7 = 0, $$pr = 0, $$pr211 = 0, $$pr216 = 0, $$sum = 0, $0 = 0, $1 = 0, $10 = 0; - var $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0; - var $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0; - var $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0; - var $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0; - var $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0; - var $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0; - var $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0; - var $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0; - var $245 = 0, $246 = 0, $247 = 0.0, $248 = 0, $249 = 0, $25 = 0, $250 = 0.0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0; - var $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0; - var $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0; - var $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0; - var $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0.0, $325 = 0.0, $326 = 0.0, $327 = 0.0, $328 = 0.0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0; - var $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0.0, $35 = 0, $350 = 0.0, $351 = 0.0, $352 = 0.0; - var $353 = 0.0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0.0, $369 = 0, $37 = 0, $370 = 0; - var $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0; - var $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0; - var $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0, $424 = 0; - var $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0, $442 = 0; - var $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0, $460 = 0; - var $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0, $478 = 0, $479 = 0; - var $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0, $496 = 0, $497 = 0; - var $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0, $513 = 0, $514 = 0; - var $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0, $531 = 0, $532 = 0; - var $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0, $549 = 0, $55 = 0, $550 = 0; - var $551 = 0, $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0, $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0, $562 = 0, $563 = 0, $564 = 0, $565 = 0, $566 = 0, $567 = 0, $568 = 0, $569 = 0; - var $57 = 0, $570 = 0, $571 = 0, $572 = 0, $573 = 0, $574 = 0, $575 = 0, $576 = 0, $577 = 0, $578 = 0, $579 = 0, $58 = 0, $580 = 0, $581 = 0, $582 = 0, $583 = 0, $584 = 0, $585 = 0, $586 = 0, $587 = 0; - var $588 = 0, $589 = 0, $59 = 0, $590 = 0, $591 = 0, $592 = 0, $593 = 0, $594 = 0, $595 = 0, $596 = 0, $597 = 0, $598 = 0, $599 = 0, $6 = 0, $60 = 0, $600 = 0, $601 = 0, $602 = 0, $603 = 0, $604 = 0; - var $605 = 0, $606 = 0, $607 = 0, $608 = 0, $609 = 0, $61 = 0, $610 = 0, $611 = 0, $612 = 0, $613 = 0, $614 = 0, $615 = 0, $616 = 0, $617 = 0, $618 = 0, $619 = 0, $62 = 0, $620 = 0, $621 = 0, $622 = 0; - var $623 = 0, $624 = 0, $625 = 0, $626 = 0, $627 = 0, $628 = 0, $629 = 0, $63 = 0, $630 = 0, $631 = 0, $632 = 0, $633 = 0, $634 = 0, $635 = 0, $636 = 0, $637 = 0, $638 = 0, $639 = 0, $64 = 0, $640 = 0; - var $641 = 0, $642 = 0, $643 = 0, $644 = 0, $645 = 0, $646 = 0, $647 = 0, $648 = 0, $649 = 0, $65 = 0, $650 = 0, $651 = 0, $652 = 0, $653 = 0, $654 = 0, $655 = 0, $656 = 0, $657 = 0, $658 = 0, $659 = 0; - var $66 = 0, $660 = 0, $661 = 0, $662 = 0, $663 = 0, $664 = 0, $665 = 0, $666 = 0, $667 = 0, $668 = 0, $669 = 0, $67 = 0, $670 = 0, $671 = 0, $672 = 0, $673 = 0, $674 = 0, $675 = 0, $676 = 0, $677 = 0; - var $678 = 0, $679 = 0, $68 = 0, $680 = 0, $681 = 0, $682 = 0, $683 = 0, $684 = 0, $685 = 0, $686 = 0, $687 = 0, $688 = 0, $689 = 0, $69 = 0, $690 = 0, $691 = 0, $692 = 0, $693 = 0, $694 = 0, $695 = 0; - var $696 = 0, $697 = 0, $698 = 0, $699 = 0, $7 = 0, $70 = 0, $700 = 0, $701 = 0, $702 = 0, $703 = 0, $704 = 0, $705 = 0, $706 = 0, $707 = 0, $708 = 0, $709 = 0, $71 = 0, $710 = 0, $711 = 0, $712 = 0; - var $713 = 0, $714 = 0, $715 = 0, $716 = 0, $717 = 0, $718 = 0, $719 = 0, $72 = 0, $720 = 0, $721 = 0, $722 = 0, $723 = 0, $724 = 0, $725 = 0, $726 = 0, $727 = 0, $728 = 0, $729 = 0, $73 = 0, $730 = 0; - var $731 = 0, $732 = 0, $733 = 0, $734 = 0, $735 = 0, $736 = 0, $737 = 0, $738 = 0, $739 = 0, $74 = 0, $740 = 0, $741 = 0, $742 = 0, $743 = 0, $744 = 0, $745 = 0, $746 = 0, $747 = 0, $748 = 0, $749 = 0; - var $75 = 0, $750 = 0, $751 = 0, $752 = 0, $753 = 0, $754 = 0, $755 = 0, $756 = 0, $757 = 0, $758 = 0, $759 = 0, $76 = 0, $760 = 0, $761 = 0, $762 = 0, $763 = 0, $764 = 0, $765 = 0, $766 = 0, $767 = 0; - var $768 = 0, $769 = 0, $77 = 0, $770 = 0, $771 = 0, $772 = 0, $773 = 0, $774 = 0, $775 = 0, $776 = 0, $777 = 0, $778 = 0, $779 = 0, $78 = 0, $780 = 0, $781 = 0, $782 = 0, $783 = 0, $784 = 0, $785 = 0; - var $786 = 0, $787 = 0, $788 = 0, $789 = 0, $79 = 0, $790 = 0, $791 = 0, $792 = 0, $793 = 0, $794 = 0, $795 = 0, $796 = 0, $797 = 0, $798 = 0, $799 = 0, $8 = 0, $80 = 0, $800 = 0, $801 = 0, $802 = 0; - var $803 = 0, $804 = 0, $805 = 0, $806 = 0, $807 = 0, $808 = 0, $809 = 0, $81 = 0, $810 = 0, $811 = 0, $812 = 0, $813 = 0, $814 = 0, $815 = 0, $816 = 0, $817 = 0, $818 = 0, $819 = 0, $82 = 0, $820 = 0; - var $821 = 0, $822 = 0, $823 = 0, $824 = 0, $825 = 0, $826 = 0, $827 = 0, $828 = 0, $829 = 0, $83 = 0, $830 = 0, $831 = 0, $832 = 0, $833 = 0, $834 = 0, $835 = 0, $836 = 0, $837 = 0, $838 = 0, $839 = 0; - var $84 = 0, $840 = 0, $841 = 0, $842 = 0, $843 = 0, $844 = 0, $845 = 0, $846 = 0, $847 = 0, $848 = 0, $849 = 0, $85 = 0, $850 = 0, $851 = 0, $852 = 0, $853 = 0, $854 = 0, $855 = 0, $856 = 0, $857 = 0; - var $858 = 0, $859 = 0, $86 = 0, $860 = 0, $861 = 0, $862 = 0, $863 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0; - var $99 = 0, $current_entry$0140 = 0, $current_length$0141 = 0, $current_length$0141$in = 0, $div$0163 = 0, $exitcond = 0, $header = 0, $hi = 0, $high_bits$0 = 0, $i$1182 = 0, $i$2128 = 0, $i$3122 = 0, $i$473 = 0, $i$546 = 0, $i$627 = 0, $i$723 = 0, $i7$018 = 0, $j$0135 = 0, $j$10100 = 0, $j$11105 = 0; - var $j$1147 = 0, $j$12109 = 0, $j$1351 = 0, $j$1458 = 0, $j$1566 = 0, $j$1639 = 0, $j$1735 = 0, $j$1842 = 0, $j$2153 = 0, $j$3168 = 0, $j$4158 = 0, $j$5173 = 0, $j$617 = 0, $j$779 = 0, $j$887 = 0, $j$996 = 0, $k$0164 = 0, $k$184 = 0, $k$291 = 0, $k$357 = 0; - var $k$462 = 0, $k$462$in = 0, $k$531 = 0, $lengths$0 = 0, $lengths$1213 = 0, $lengths$1214 = 0, $longest_floorlist$0$lcssa = 0, $longest_floorlist$0121 = 0, $low = 0, $max_class$078 = 0, $max_part_read$0$lcssa = 0, $max_part_read$019 = 0, $or$cond = 0, $p = 0, $phitmp = 0, $phitmp10 = 0, $phitmp192 = 0, $phitmp193 = 0, $phitmp194 = 0, $phitmp8 = 0; - var $phitmp9 = 0, $sext = 0, $sorted_count$0146 = 0, $sorted_count$1 = 0, $sorted_count$2 = 0, $temp$061 = 0, $total$0134 = 0, $total$1 = 0, $total$2 = 0, $values$0 = 0, $values$1 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 1024|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); - $header = sp + 1008|0; - $p = sp + 8|0; - $low = sp; - $hi = sp + 4|0; - $0 = (_start_page($f)|0); - $1 = ($0|0)==(0); - if ($1) { - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - $2 = (($f) + 1391|0); - $3 = HEAP8[$2>>0]|0; - $4 = $3&255; - $5 = $4 & 2; - $6 = ($5|0)==(0); - if ($6) { - _error($f,34); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - $7 = $4 & 4; - $8 = ($7|0)==(0); - if (!($8)) { - _error($f,34); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - $9 = $4 & 1; - $10 = ($9|0)==(0); - if (!($10)) { - _error($f,34); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - $11 = (($f) + 1132|0); - $12 = HEAP32[$11>>2]|0; - $13 = ($12|0)==(1); - if (!($13)) { - _error($f,34); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - $14 = (($f) + 1136|0); - $15 = HEAP8[$14>>0]|0; - $16 = ($15<<24>>24)==(30); - if (!($16)) { - _error($f,34); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - $17 = (_get8($f)|0); - $18 = ($17<<24>>24)==(1); - if (!($18)) { - _error($f,34); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - $19 = (_getn($f,$header,6)|0); - $20 = ($19|0)==(0); - if ($20) { - _error($f,10); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - $21 = (_vorbis_validate($header)|0); - $22 = ($21|0)==(0); - if ($22) { - _error($f,34); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - $23 = (_get32($f)|0); - $24 = ($23|0)==(0); - if (!($24)) { - _error($f,34); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - $25 = (_get8($f)|0); - $26 = $25&255; - $27 = (($f) + 4|0); - HEAP32[$27>>2] = $26; - $28 = ($25<<24>>24)==(0); - if ($28) { - _error($f,34); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - $29 = ($25&255)>(16); - if ($29) { - _error($f,5); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - $30 = (_get32($f)|0); - HEAP32[$f>>2] = $30; - $31 = ($30|0)==(0); - if ($31) { - _error($f,34); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - (_get32($f)|0); - (_get32($f)|0); - (_get32($f)|0); - $32 = (_get8($f)|0); - $33 = $32&255; - $34 = $33 & 15; - $35 = $33 >>> 4; - $36 = 1 << $34; - $37 = (($f) + 128|0); - HEAP32[$37>>2] = $36; - $38 = 1 << $35; - $39 = (($f) + 132|0); - HEAP32[$39>>2] = $38; - $$off = (($34) + -6)|0; - $40 = ($$off>>>0)>(7); - if ($40) { - _error($f,20); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - $$off7 = (($32) + -96)<<24>>24; - $41 = ($$off7<<24>>24)<(0); - if ($41) { - _error($f,20); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - $42 = ($34>>>0)>($35>>>0); - if ($42) { - _error($f,20); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - $43 = (_get8($f)|0); - $44 = $43 & 1; - $45 = ($44<<24>>24)==(0); - if ($45) { - _error($f,34); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - $46 = (_start_page($f)|0); - $47 = ($46|0)==(0); - if ($47) { - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - $48 = (_start_packet($f)|0); - $49 = ($48|0)==(0); - if ($49) { - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - $50 = (($f) + 1392|0); - while(1) { - $51 = (_next_segment($f)|0); - _skip($f,$51); - HEAP8[$50>>0] = 0; - $52 = ($51|0)==(0); - if ($52) { - break; - } - } - $53 = (_start_packet($f)|0); - $54 = ($53|0)==(0); - if ($54) { - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - $55 = (($f) + 48|0); - $56 = HEAP8[$55>>0]|0; - $57 = ($56<<24>>24)==(0); - do { - if (!($57)) { - $58 = (_is_whole_packet_present($f,1)|0); - $59 = ($58|0)==(0); - if (!($59)) { - break; - } - $60 = (($f) + 116|0); - $61 = HEAP32[$60>>2]|0; - $62 = ($61|0)==(21); - if (!($62)) { - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - HEAP32[$60>>2] = 20; - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - } while(0); - _crc32_init(); - $63 = (_get8_packet($f)|0); - $64 = ($63|0)==(5); - if (!($64)) { - _error($f,20); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - $65 = (_get8_packet($f)|0); - $66 = $65&255; - HEAP8[$header>>0] = $66; - $67 = (_get8_packet($f)|0); - $68 = $67&255; - $69 = (($header) + 1|0); - HEAP8[$69>>0] = $68; - $70 = (_get8_packet($f)|0); - $71 = $70&255; - $72 = (($header) + 2|0); - HEAP8[$72>>0] = $71; - $73 = (_get8_packet($f)|0); - $74 = $73&255; - $75 = (($header) + 3|0); - HEAP8[$75>>0] = $74; - $76 = (_get8_packet($f)|0); - $77 = $76&255; - $78 = (($header) + 4|0); - HEAP8[$78>>0] = $77; - $79 = (_get8_packet($f)|0); - $80 = $79&255; - $81 = (($header) + 5|0); - HEAP8[$81>>0] = $80; - $82 = (_vorbis_validate($header)|0); - $83 = ($82|0)==(0); - if ($83) { - _error($f,20); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - $84 = (_get_bits($f,8)|0); - $85 = (($84) + 1)|0; - $86 = (($f) + 136|0); - HEAP32[$86>>2] = $85; - $87 = ($85*2096)|0; - $88 = (_setup_malloc($f,$87)|0); - $89 = (($f) + 140|0); - HEAP32[$89>>2] = $88; - $90 = ($88|0)==(0|0); - if ($90) { - _error($f,3); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - $91 = HEAP32[$86>>2]|0; - $92 = ($91*2096)|0; - _memset(($88|0),0,($92|0))|0; - $93 = HEAP32[$86>>2]|0; - $94 = ($93|0)>(0); - L100: do { - if ($94) { - $95 = (($f) + 16|0); - $96 = (($f) + 16|0); - $i$1182 = 0; - L102: while(1) { - $97 = HEAP32[$89>>2]|0; - $98 = (($97) + (($i$1182*2096)|0)|0); - $99 = (_get_bits($f,8)|0); - $100 = $99 & 255; - $101 = ($100|0)==(66); - if (!($101)) { - label = 52; - break; - } - $102 = (_get_bits($f,8)|0); - $103 = $102 & 255; - $104 = ($103|0)==(67); - if (!($104)) { - label = 54; - break; - } - $105 = (_get_bits($f,8)|0); - $106 = $105 & 255; - $107 = ($106|0)==(86); - if (!($107)) { - label = 56; - break; - } - $108 = (_get_bits($f,8)|0); - $109 = (_get_bits($f,8)|0); - $110 = $109 << 8; - $111 = $108 & 255; - $112 = $110 | $111; - HEAP32[$98>>2] = $112; - $113 = (_get_bits($f,8)|0); - $114 = (_get_bits($f,8)|0); - $115 = (_get_bits($f,8)|0); - $116 = $115 << 16; - $117 = $114 << 8; - $118 = $117 & 65280; - $119 = $113 & 255; - $120 = $118 | $119; - $121 = $120 | $116; - $122 = ((($97) + (($i$1182*2096)|0)|0) + 4|0); - HEAP32[$122>>2] = $121; - $123 = (_get_bits($f,1)|0); - $124 = ($123|0)!=(0); - do { - if ($124) { - $125 = ((($97) + (($i$1182*2096)|0)|0) + 23|0); - HEAP8[$125>>0] = 0; - $126 = HEAP32[$122>>2]|0; - $132 = $126;$863 = $125; - label = 61; - } else { - $127 = (_get_bits($f,1)|0); - $phitmp9 = $127&255; - $128 = ((($97) + (($i$1182*2096)|0)|0) + 23|0); - HEAP8[$128>>0] = $phitmp9; - $129 = ($phitmp9<<24>>24)==(0); - $130 = HEAP32[$122>>2]|0; - if ($129) { - $132 = $130;$863 = $128; - label = 61; - break; - } - $131 = (_setup_temp_malloc($f,$130)|0); - $153 = $128;$lengths$0 = $131; - } - } while(0); - if ((label|0) == 61) { - label = 0; - $133 = (_setup_malloc($f,$132)|0); - $134 = ((($97) + (($i$1182*2096)|0)|0) + 8|0); - HEAP32[$134>>2] = $133; - $153 = $863;$lengths$0 = $133; - } - $135 = ($lengths$0|0)==(0|0); - if ($135) { - label = 63; - break; - } - do { - if ($124) { - $138 = (_get_bits($f,5)|0); - $139 = HEAP32[$122>>2]|0; - $140 = ($139|0)>(0); - if ($140) { - $142 = $139;$current_entry$0140 = 0;$current_length$0141$in = $138; - } else { - $total$2 = 0; - break; - } - while(1) { - $current_length$0141 = (($current_length$0141$in) + 1)|0; - $141 = (($142) - ($current_entry$0140))|0; - $143 = (_ilog($141)|0); - $144 = (_get_bits($f,$143)|0); - $145 = (($144) + ($current_entry$0140))|0; - $146 = HEAP32[$122>>2]|0; - $147 = ($145|0)>($146|0); - if ($147) { - label = 68; - break L102; - } - $148 = (($lengths$0) + ($current_entry$0140)|0); - $149 = $current_length$0141&255; - _memset(($148|0),($149|0),($144|0))|0; - $150 = HEAP32[$122>>2]|0; - $151 = ($145|0)<($150|0); - if ($151) { - $142 = $150;$current_entry$0140 = $145;$current_length$0141$in = $current_length$0141; - } else { - $total$2 = 0; - break; - } - } - } else { - $136 = HEAP32[$122>>2]|0; - $137 = ($136|0)>(0); - if ($137) { - $j$0135 = 0;$total$0134 = 0; - } else { - $total$2 = 0; - break; - } - while(1) { - $152 = HEAP8[$153>>0]|0; - $154 = ($152<<24>>24)==(0); - do { - if ($154) { - label = 72; - } else { - $155 = (_get_bits($f,1)|0); - $phitmp10 = ($155|0)==(0); - if (!($phitmp10)) { - label = 72; - break; - } - $161 = (($lengths$0) + ($j$0135)|0); - HEAP8[$161>>0] = -1; - $total$1 = $total$0134; - } - } while(0); - if ((label|0) == 72) { - label = 0; - $156 = (_get_bits($f,5)|0); - $157 = (($156) + 1)|0; - $158 = $157&255; - $159 = (($lengths$0) + ($j$0135)|0); - HEAP8[$159>>0] = $158; - $160 = (($total$0134) + 1)|0; - $total$1 = $160; - } - $162 = (($j$0135) + 1)|0; - $163 = HEAP32[$122>>2]|0; - $164 = ($162|0)<($163|0); - if ($164) { - $j$0135 = $162;$total$0134 = $total$1; - } else { - $total$2 = $total$1; - break; - } - } - } - } while(0); - $165 = HEAP8[$153>>0]|0; - $166 = ($165<<24>>24)==(0); - do { - if ($166) { - $lengths$1214 = $lengths$0; - label = 81; - } else { - $167 = HEAP32[$122>>2]|0; - $168 = $167 >> 2; - $169 = ($total$2|0)<($168|0); - if ($169) { - $$pr211 = HEAP8[$153>>0]|0; - $178 = ($$pr211<<24>>24)==(0); - if ($178) { - $lengths$1214 = $lengths$0; - label = 81; - break; - } else { - $lengths$1213 = $lengths$0;$sorted_count$2 = $total$2; - break; - } - } - $170 = HEAP32[$96>>2]|0; - $171 = ($167|0)>($170|0); - if ($171) { - HEAP32[$96>>2] = $167; - } - $172 = HEAP32[$122>>2]|0; - $173 = (_setup_malloc($f,$172)|0); - $174 = ((($97) + (($i$1182*2096)|0)|0) + 8|0); - HEAP32[$174>>2] = $173; - $175 = HEAP32[$122>>2]|0; - _memcpy(($173|0),($lengths$0|0),($175|0))|0; - $176 = HEAP32[$122>>2]|0; - _setup_temp_free($f,$lengths$0,$176); - $177 = HEAP32[$174>>2]|0; - HEAP8[$153>>0] = 0; - $lengths$1214 = $177; - label = 81; - } - } while(0); - do { - if ((label|0) == 81) { - label = 0; - $179 = HEAP32[$122>>2]|0; - $180 = ($179|0)>(0); - if (!($180)) { - $lengths$1213 = $lengths$1214;$sorted_count$2 = 0; - break; - } - $181 = HEAP32[$122>>2]|0; - $j$1147 = 0;$sorted_count$0146 = 0; - while(1) { - $182 = (($lengths$1214) + ($j$1147)|0); - $183 = HEAP8[$182>>0]|0; - $184 = ($183&255)<(11); - $185 = ($183<<24>>24)==(-1); - $or$cond = $184 | $185; - $186 = $or$cond&1; - $187 = $186 ^ 1; - $sorted_count$1 = (($187) + ($sorted_count$0146))|0; - $188 = (($j$1147) + 1)|0; - $189 = ($188|0)<($181|0); - if ($189) { - $j$1147 = $188;$sorted_count$0146 = $sorted_count$1; - } else { - $lengths$1213 = $lengths$1214;$sorted_count$2 = $sorted_count$1; - break; - } - } - } - } while(0); - $190 = ((($97) + (($i$1182*2096)|0)|0) + 2092|0); - HEAP32[$190>>2] = $sorted_count$2; - $191 = HEAP8[$153>>0]|0; - $192 = ($191<<24>>24)==(0); - do { - if ($192) { - $193 = HEAP32[$122>>2]|0; - $194 = $193 << 2; - $195 = (_setup_malloc($f,$194)|0); - $196 = ((($97) + (($i$1182*2096)|0)|0) + 32|0); - HEAP32[$196>>2] = $195; - $197 = ($195|0)==(0|0); - if ($197) { - label = 86; - break L102; - } else { - $values$1 = 0; - } - } else { - $198 = ($sorted_count$2|0)==(0); - if ($198) { - $values$0 = 0; - } else { - $199 = (_setup_malloc($f,$sorted_count$2)|0); - $200 = ((($97) + (($i$1182*2096)|0)|0) + 8|0); - HEAP32[$200>>2] = $199; - $201 = ($199|0)==(0|0); - if ($201) { - label = 89; - break L102; - } - $202 = HEAP32[$190>>2]|0; - $203 = $202 << 2; - $204 = (_setup_temp_malloc($f,$203)|0); - $205 = ((($97) + (($i$1182*2096)|0)|0) + 32|0); - HEAP32[$205>>2] = $204; - $206 = ($204|0)==(0|0); - if ($206) { - label = 91; - break L102; - } - $207 = HEAP32[$190>>2]|0; - $208 = $207 << 2; - $209 = (_setup_temp_malloc($f,$208)|0); - $210 = ($209|0)==(0|0); - if ($210) { - label = 93; - break L102; - } else { - $values$0 = $209; - } - } - $211 = HEAP32[$122>>2]|0; - $212 = HEAP32[$190>>2]|0; - $213 = $212 << 3; - $214 = (($213) + ($211))|0; - $215 = HEAP32[$95>>2]|0; - $216 = ($214>>>0)>($215>>>0); - if (!($216)) { - $values$1 = $values$0; - break; - } - HEAP32[$95>>2] = $214; - $values$1 = $values$0; - } - } while(0); - $217 = HEAP32[$122>>2]|0; - _compute_codewords($98,$lengths$1213,$217,$values$1); - $218 = HEAP32[$190>>2]|0; - $219 = ($218|0)==(0); - if (!($219)) { - $220 = $218 << 2; - $221 = (($220) + 4)|0; - $222 = (_setup_malloc($f,$221)|0); - $223 = ((($97) + (($i$1182*2096)|0)|0) + 2084|0); - HEAP32[$223>>2] = $222; - $224 = HEAP32[$190>>2]|0; - $225 = $224 << 2; - $226 = (($225) + 4)|0; - $227 = (_setup_malloc($f,$226)|0); - $228 = ((($97) + (($i$1182*2096)|0)|0) + 2088|0); - HEAP32[$228>>2] = $227; - $229 = ($227|0)==(0|0); - if (!($229)) { - $230 = (($227) + 4|0); - HEAP32[$228>>2] = $230; - HEAP32[$227>>2] = -1; - } - _compute_sorted_huffman($98,$lengths$1213,$values$1); - } - $231 = HEAP8[$153>>0]|0; - $232 = ($231<<24>>24)==(0); - if (!($232)) { - $233 = HEAP32[$190>>2]|0; - $234 = $233 << 2; - _setup_temp_free($f,$values$1,$234); - $235 = ((($97) + (($i$1182*2096)|0)|0) + 32|0); - $236 = HEAP32[$235>>2]|0; - $237 = HEAP32[$190>>2]|0; - $238 = $237 << 2; - _setup_temp_free($f,$236,$238); - $239 = HEAP32[$122>>2]|0; - _setup_temp_free($f,$lengths$1213,$239); - HEAP32[$235>>2] = 0; - } - _compute_accelerated_huffman($98); - $240 = (_get_bits($f,4)|0); - $241 = $240&255; - $242 = ((($97) + (($i$1182*2096)|0)|0) + 21|0); - HEAP8[$242>>0] = $241; - $243 = $240 & 255; - $244 = ($243>>>0)>(2); - if ($244) { - label = 103; - break; - } - $245 = ($243|0)==(0); - do { - if (!($245)) { - $246 = (_get_bits($f,32)|0); - $247 = (+_float32_unpack($246)); - $248 = ((($97) + (($i$1182*2096)|0)|0) + 12|0); - HEAPF32[$248>>2] = $247; - $249 = (_get_bits($f,32)|0); - $250 = (+_float32_unpack($249)); - $251 = ((($97) + (($i$1182*2096)|0)|0) + 16|0); - HEAPF32[$251>>2] = $250; - $252 = (_get_bits($f,4)|0); - $253 = (($252) + 1)|0; - $254 = $253&255; - $255 = ((($97) + (($i$1182*2096)|0)|0) + 20|0); - HEAP8[$255>>0] = $254; - $256 = (_get_bits($f,1)|0); - $257 = $256&255; - $258 = ((($97) + (($i$1182*2096)|0)|0) + 22|0); - HEAP8[$258>>0] = $257; - $259 = HEAP8[$242>>0]|0; - $260 = ($259<<24>>24)==(1); - $261 = HEAP32[$122>>2]|0; - $262 = HEAP32[$98>>2]|0; - if ($260) { - $263 = (_lookup1_values($261,$262)|0); - $264 = ((($97) + (($i$1182*2096)|0)|0) + 24|0); - HEAP32[$264>>2] = $263; - } else { - $265 = Math_imul($262, $261)|0; - $266 = ((($97) + (($i$1182*2096)|0)|0) + 24|0); - HEAP32[$266>>2] = $265; - } - $267 = ((($97) + (($i$1182*2096)|0)|0) + 24|0); - $268 = HEAP32[$267>>2]|0; - $269 = $268 << 1; - $270 = (_setup_temp_malloc($f,$269)|0); - $271 = ($270|0)==(0|0); - if ($271) { - label = 110; - break L102; - } - $272 = HEAP32[$267>>2]|0; - $273 = ($272|0)>(0); - if ($273) { - $j$2153 = 0; - while(1) { - $274 = HEAP8[$255>>0]|0; - $275 = $274&255; - $276 = (_get_bits($f,$275)|0); - $277 = ($276|0)==(-1); - if ($277) { - label = 112; - break L102; - } - $280 = $276&65535; - $281 = (($270) + ($j$2153<<1)|0); - HEAP16[$281>>1] = $280; - $282 = (($j$2153) + 1)|0; - $283 = HEAP32[$267>>2]|0; - $284 = ($282|0)<($283|0); - if ($284) { - $j$2153 = $282; - } else { - $$lcssa151 = $283; - break; - } - } - } else { - $$lcssa151 = $272; - } - $285 = HEAP8[$242>>0]|0; - $286 = ($285<<24>>24)==(1); - do { - if ($286) { - $287 = HEAP8[$153>>0]|0; - $288 = ($287<<24>>24)!=(0); - if ($288) { - $289 = HEAP32[$190>>2]|0; - $290 = ($289|0)==(0); - if ($290) { - label = 134; - break; - } - $291 = $289 << 2; - $292 = HEAP32[$98>>2]|0; - $293 = Math_imul($291, $292)|0; - $294 = (_setup_malloc($f,$293)|0); - $295 = ((($97) + (($i$1182*2096)|0)|0) + 28|0); - HEAP32[$295>>2] = $294; - } else { - $296 = HEAP32[$122>>2]|0; - $297 = $296 << 2; - $298 = HEAP32[$98>>2]|0; - $299 = Math_imul($297, $298)|0; - $300 = (_setup_malloc($f,$299)|0); - $301 = ((($97) + (($i$1182*2096)|0)|0) + 28|0); - HEAP32[$301>>2] = $300; - } - $302 = ((($97) + (($i$1182*2096)|0)|0) + 28|0); - $303 = HEAP32[$302>>2]|0; - $304 = ($303|0)==(0|0); - if ($304) { - label = 120; - break L102; - } - $$ = $288 ? $190 : $122; - $307 = HEAP32[$$>>2]|0; - $308 = ($307|0)>(0); - if ($308) { - $309 = ((($97) + (($i$1182*2096)|0)|0) + 2088|0); - $310 = HEAP32[$98>>2]|0; - $311 = ($310|0)>(0); - $j$3168 = 0; - while(1) { - if ($288) { - $312 = HEAP32[$309>>2]|0; - $313 = (($312) + ($j$3168<<2)|0); - $314 = HEAP32[$313>>2]|0; - $319 = $314; - } else { - $319 = $j$3168; - } - if ($311) { - $315 = HEAP32[$267>>2]|0; - $316 = HEAP32[$302>>2]|0; - $317 = HEAP32[$98>>2]|0; - $330 = $310;$div$0163 = 1;$k$0164 = 0; - while(1) { - $318 = (($319|0) / ($div$0163|0))&-1; - $320 = (($318>>>0) % ($315>>>0))&-1; - $321 = (($270) + ($320<<1)|0); - $322 = HEAP16[$321>>1]|0; - $323 = $322&65535; - $324 = (+($323|0)); - $325 = +HEAPF32[$251>>2]; - $326 = $325 * $324; - $327 = +HEAPF32[$248>>2]; - $328 = $327 + $326; - $329 = Math_imul($330, $j$3168)|0; - $331 = (($329) + ($k$0164))|0; - $332 = (($316) + ($331<<2)|0); - HEAPF32[$332>>2] = $328; - $333 = Math_imul($315, $div$0163)|0; - $334 = (($k$0164) + 1)|0; - $335 = ($334|0)<($317|0); - if ($335) { - $330 = $317;$div$0163 = $333;$k$0164 = $334; - } else { - break; - } - } - } - $336 = (($j$3168) + 1)|0; - $exitcond = ($336|0)==($307|0); - if ($exitcond) { - break; - } else { - $j$3168 = $336; - } - } - } - $337 = HEAP32[$267>>2]|0; - $338 = $337 << 1; - _setup_temp_free($f,$270,$338); - HEAP8[$242>>0] = 2; - } else { - $339 = $$lcssa151 << 2; - $340 = (_setup_malloc($f,$339)|0); - $341 = ((($97) + (($i$1182*2096)|0)|0) + 28|0); - HEAP32[$341>>2] = $340; - $342 = HEAP32[$267>>2]|0; - $343 = ($342|0)>(0); - if ($343) { - $344 = HEAP32[$341>>2]|0; - $345 = HEAP32[$267>>2]|0; - $j$4158 = 0; - while(1) { - $346 = (($270) + ($j$4158<<1)|0); - $347 = HEAP16[$346>>1]|0; - $348 = $347&65535; - $349 = (+($348|0)); - $350 = +HEAPF32[$251>>2]; - $351 = $350 * $349; - $352 = +HEAPF32[$248>>2]; - $353 = $352 + $351; - $354 = (($344) + ($j$4158<<2)|0); - HEAPF32[$354>>2] = $353; - $355 = (($j$4158) + 1)|0; - $356 = ($355|0)<($345|0); - if ($356) { - $j$4158 = $355; - } else { - $$lcssa157 = $345; - break; - } - } - } else { - $$lcssa157 = $342; - } - $357 = $$lcssa157 << 1; - _setup_temp_free($f,$270,$357); - label = 134; - } - } while(0); - if ((label|0) == 134) { - label = 0; - $$pr = HEAP8[$242>>0]|0; - $358 = ($$pr<<24>>24)==(2); - if (!($358)) { - break; - } - } - $359 = HEAP8[$258>>0]|0; - $360 = ($359<<24>>24)==(0); - if ($360) { - break; - } - $361 = HEAP32[$267>>2]|0; - $362 = ($361|0)>(1); - if ($362) { - $363 = ((($97) + (($i$1182*2096)|0)|0) + 28|0); - $364 = HEAP32[$363>>2]|0; - $365 = HEAP32[$267>>2]|0; - $j$5173 = 1; - while(1) { - $366 = (($j$5173) + -1)|0; - $367 = (($364) + ($366<<2)|0); - $368 = +HEAPF32[$367>>2]; - $369 = (($364) + ($j$5173<<2)|0); - HEAPF32[$369>>2] = $368; - $370 = (($j$5173) + 1)|0; - $371 = ($370|0)<($365|0); - if ($371) { - $j$5173 = $370; - } else { - break; - } - } - } - HEAP8[$258>>0] = 0; - } - } while(0); - $372 = (($i$1182) + 1)|0; - $373 = HEAP32[$86>>2]|0; - $374 = ($372|0)<($373|0); - if ($374) { - $i$1182 = $372; - } else { - break L100; - } - } - switch (label|0) { - case 52: { - _error($f,20); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - break; - } - case 54: { - _error($f,20); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - break; - } - case 56: { - _error($f,20); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - break; - } - case 63: { - _error($f,3); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - break; - } - case 68: { - _error($f,20); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - break; - } - case 86: { - _error($f,3); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - break; - } - case 89: { - _error($f,3); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - break; - } - case 91: { - _error($f,3); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - break; - } - case 93: { - _error($f,3); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - break; - } - case 103: { - _error($f,20); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - break; - } - case 110: { - _error($f,3); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - break; - } - case 112: { - $278 = HEAP32[$267>>2]|0; - $279 = $278 << 1; - _setup_temp_free($f,$270,$279); - _error($f,20); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - break; - } - case 120: { - $305 = HEAP32[$267>>2]|0; - $306 = $305 << 1; - _setup_temp_free($f,$270,$306); - _error($f,3); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - break; - } - } - } - } while(0); - $375 = (_get_bits($f,6)|0); - $376 = (($375) + 1)|0; - $377 = $376 & 255; - $378 = ($377|0)==(0); - L241: do { - if (!($378)) { - $i$2128 = 0; - while(1) { - $381 = (_get_bits($f,16)|0); - $382 = ($381|0)==(0); - $380 = (($i$2128) + 1)|0; - if (!($382)) { - break; - } - $379 = ($380|0)<($377|0); - if ($379) { - $i$2128 = $380; - } else { - break L241; - } - } - _error($f,20); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - } while(0); - $383 = (_get_bits($f,6)|0); - $384 = (($383) + 1)|0; - $385 = (($f) + 144|0); - HEAP32[$385>>2] = $384; - $386 = ($384*1596)|0; - $387 = (_setup_malloc($f,$386)|0); - $388 = (($f) + 276|0); - HEAP32[$388>>2] = $387; - $389 = HEAP32[$385>>2]|0; - $390 = ($389|0)>(0); - do { - if ($390) { - $i$3122 = 0;$longest_floorlist$0121 = 0; - L250: while(1) { - $391 = (_get_bits($f,16)|0); - $392 = $391&65535; - $393 = ((($f) + ($i$3122<<1)|0) + 148|0); - HEAP16[$393>>1] = $392; - $394 = $391 & 65535; - $395 = ($394>>>0)>(1); - if ($395) { - label = 148; - break; - } - $396 = ($394|0)==(0); - if ($396) { - label = 150; - break; - } - $426 = HEAP32[$388>>2]|0; - $427 = (_get_bits($f,5)|0); - $428 = $427&255; - $429 = (($426) + (($i$3122*1596)|0)|0); - HEAP8[$429>>0] = $428; - $430 = $427 & 255; - $431 = ($430|0)==(0); - do { - if (!($431)) { - $j$779 = 0;$max_class$078 = -1; - while(1) { - $432 = (_get_bits($f,4)|0); - $433 = $432&255; - $434 = (((($426) + (($i$3122*1596)|0)|0) + ($j$779)|0) + 1|0); - HEAP8[$434>>0] = $433; - $435 = $432 & 255; - $436 = ($435|0)>($max_class$078|0); - $$max_class$0 = $436 ? $435 : $max_class$078; - $437 = (($j$779) + 1)|0; - $438 = HEAP8[$429>>0]|0; - $439 = $438&255; - $440 = ($437|0)<($439|0); - if ($440) { - $j$779 = $437;$max_class$078 = $$max_class$0; - } else { - break; - } - } - $441 = ($$max_class$0|0)<(0); - if ($441) { - break; - } else { - $j$887 = 0; - } - while(1) { - $442 = (_get_bits($f,3)|0); - $443 = (($442) + 1)|0; - $444 = $443&255; - $445 = (((($426) + (($i$3122*1596)|0)|0) + ($j$887)|0) + 33|0); - HEAP8[$445>>0] = $444; - $446 = (_get_bits($f,2)|0); - $447 = $446&255; - $448 = (((($426) + (($i$3122*1596)|0)|0) + ($j$887)|0) + 49|0); - HEAP8[$448>>0] = $447; - $449 = ($447<<24>>24)==(0); - if (!($449)) { - $454 = (_get_bits($f,8)|0); - $455 = $454&255; - $456 = (((($426) + (($i$3122*1596)|0)|0) + ($j$887)|0) + 65|0); - HEAP8[$456>>0] = $455; - $457 = $454 & 255; - $458 = HEAP32[$86>>2]|0; - $459 = ($457|0)<($458|0); - if (!($459)) { - label = 159; - break L250; - } - } - $450 = HEAP8[$448>>0]|0; - $451 = $450&255; - $452 = 1 << $451; - $453 = ($452|0)>(0); - if ($453) { - $k$184 = 0; - while(1) { - $465 = (_get_bits($f,8)|0); - $466 = (($465) + 65535)|0; - $467 = $466&65535; - $468 = ((((($426) + (($i$3122*1596)|0)|0) + ($j$887<<4)|0) + ($k$184<<1)|0) + 82|0); - HEAP16[$468>>1] = $467; - $sext = $466 << 16; - $469 = $sext >> 16; - $470 = HEAP32[$86>>2]|0; - $471 = ($469|0)<($470|0); - $464 = (($k$184) + 1)|0; - if (!($471)) { - label = 162; - break L250; - } - $460 = HEAP8[$448>>0]|0; - $461 = $460&255; - $462 = 1 << $461; - $463 = ($464|0)<($462|0); - if ($463) { - $k$184 = $464; - } else { - break; - } - } - } - $472 = (($j$887) + 1)|0; - $473 = ($j$887|0)<($$max_class$0|0); - if ($473) { - $j$887 = $472; - } else { - break; - } - } - } - } while(0); - $474 = (_get_bits($f,2)|0); - $475 = (($474) + 1)|0; - $476 = $475&255; - $477 = ((($426) + (($i$3122*1596)|0)|0) + 1588|0); - HEAP8[$477>>0] = $476; - $478 = (_get_bits($f,4)|0); - $479 = $478&255; - $480 = ((($426) + (($i$3122*1596)|0)|0) + 1589|0); - HEAP8[$480>>0] = $479; - $481 = ((($426) + (($i$3122*1596)|0)|0) + 338|0); - HEAP16[$481>>1] = 0; - $482 = HEAP8[$480>>0]|0; - $483 = $482&255; - $484 = 1 << $483; - $485 = $484&65535; - $486 = ((($426) + (($i$3122*1596)|0)|0) + 340|0); - HEAP16[$486>>1] = $485; - $487 = ((($426) + (($i$3122*1596)|0)|0) + 1592|0); - HEAP32[$487>>2] = 2; - $488 = HEAP8[$429>>0]|0; - $489 = ($488<<24>>24)==(0); - if ($489) { - $j$10100 = 0; - label = 169; - } else { - $j$996 = 0; - while(1) { - $490 = (((($426) + (($i$3122*1596)|0)|0) + ($j$996)|0) + 1|0); - $491 = HEAP8[$490>>0]|0; - $492 = $491&255; - $493 = (((($426) + (($i$3122*1596)|0)|0) + ($492)|0) + 33|0); - $494 = HEAP8[$493>>0]|0; - $495 = ($494<<24>>24)==(0); - if (!($495)) { - $k$291 = 0; - while(1) { - $496 = HEAP8[$480>>0]|0; - $497 = $496&255; - $498 = (_get_bits($f,$497)|0); - $499 = $498&65535; - $500 = HEAP32[$487>>2]|0; - $501 = (((($426) + (($i$3122*1596)|0)|0) + ($500<<1)|0) + 338|0); - HEAP16[$501>>1] = $499; - $502 = HEAP32[$487>>2]|0; - $503 = (($502) + 1)|0; - HEAP32[$487>>2] = $503; - $504 = (($k$291) + 1)|0; - $505 = HEAP8[$493>>0]|0; - $506 = $505&255; - $507 = ($504|0)<($506|0); - if ($507) { - $k$291 = $504; - } else { - break; - } - } - } - $508 = (($j$996) + 1)|0; - $509 = HEAP8[$429>>0]|0; - $510 = $509&255; - $511 = ($508|0)<($510|0); - if ($511) { - $j$996 = $508; - } else { - break; - } - } - $$pr216 = HEAP32[$487>>2]|0; - $512 = ($$pr216|0)>(0); - if ($512) { - $j$10100 = 0; - label = 169; - } else { - $$lcssa99 = $$pr216; - } - } - if ((label|0) == 169) { - while(1) { - label = 0; - $513 = (((($426) + (($i$3122*1596)|0)|0) + ($j$10100<<1)|0) + 338|0); - $514 = HEAP16[$513>>1]|0; - $515 = (($p) + ($j$10100<<2)|0); - HEAP16[$515>>1] = $514; - $516 = $j$10100&65535; - $517 = ((($p) + ($j$10100<<2)|0) + 2|0); - HEAP16[$517>>1] = $516; - $518 = (($j$10100) + 1)|0; - $519 = HEAP32[$487>>2]|0; - $520 = ($518|0)<($519|0); - if ($520) { - $j$10100 = $518; - label = 169; - } else { - $$lcssa99 = $519; - break; - } - } - } - _qsort($p,$$lcssa99,4,1); - $521 = HEAP32[$487>>2]|0; - $522 = ($521|0)>(0); - do { - if ($522) { - $j$11105 = 0; - while(1) { - $523 = ((($p) + ($j$11105<<2)|0) + 2|0); - $524 = HEAP16[$523>>1]|0; - $525 = $524&255; - $526 = (((($426) + (($i$3122*1596)|0)|0) + ($j$11105)|0) + 838|0); - HEAP8[$526>>0] = $525; - $527 = (($j$11105) + 1)|0; - $528 = HEAP32[$487>>2]|0; - $529 = ($527|0)<($528|0); - if ($529) { - $j$11105 = $527; - } else { - break; - } - } - $530 = ($528|0)>(2); - if ($530) { - $j$12109 = 2; - } else { - $$lcssa108 = $528; - break; - } - while(1) { - HEAP32[$low>>2] = 0; - HEAP32[$hi>>2] = 0; - _neighbors($481,$j$12109,$low,$hi); - $531 = HEAP32[$low>>2]|0; - $532 = $531&255; - $533 = (((($426) + (($i$3122*1596)|0)|0) + ($j$12109<<1)|0) + 1088|0); - HEAP8[$533>>0] = $532; - $534 = HEAP32[$hi>>2]|0; - $535 = $534&255; - $536 = (((($426) + (($i$3122*1596)|0)|0) + ($j$12109<<1)|0) + 1089|0); - HEAP8[$536>>0] = $535; - $537 = (($j$12109) + 1)|0; - $538 = HEAP32[$487>>2]|0; - $539 = ($537|0)<($538|0); - if ($539) { - $j$12109 = $537; - } else { - $$lcssa108 = $538; - break; - } - } - } else { - $$lcssa108 = $521; - } - } while(0); - $540 = ($$lcssa108|0)>($longest_floorlist$0121|0); - $$longest_floorlist$0 = $540 ? $$lcssa108 : $longest_floorlist$0121; - $541 = (($i$3122) + 1)|0; - $542 = HEAP32[$385>>2]|0; - $543 = ($541|0)<($542|0); - if ($543) { - $i$3122 = $541;$longest_floorlist$0121 = $$longest_floorlist$0; - } else { - label = 175; - break; - } - } - if ((label|0) == 148) { - _error($f,20); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - else if ((label|0) == 150) { - $397 = HEAP32[$388>>2]|0; - $398 = (_get_bits($f,8)|0); - $399 = $398&255; - $400 = (($397) + (($i$3122*1596)|0)|0); - HEAP8[$400>>0] = $399; - $401 = (_get_bits($f,16)|0); - $402 = $401&65535; - $403 = ((($397) + (($i$3122*1596)|0)|0) + 2|0); - HEAP16[$403>>1] = $402; - $404 = (_get_bits($f,16)|0); - $405 = $404&65535; - $406 = ((($397) + (($i$3122*1596)|0)|0) + 4|0); - HEAP16[$406>>1] = $405; - $407 = (_get_bits($f,6)|0); - $408 = $407&255; - $409 = ((($397) + (($i$3122*1596)|0)|0) + 6|0); - HEAP8[$409>>0] = $408; - $410 = (_get_bits($f,8)|0); - $411 = $410&255; - $412 = ((($397) + (($i$3122*1596)|0)|0) + 7|0); - HEAP8[$412>>0] = $411; - $413 = (_get_bits($f,4)|0); - $414 = (($413) + 1)|0; - $415 = $414&255; - $416 = ((($397) + (($i$3122*1596)|0)|0) + 8|0); - HEAP8[$416>>0] = $415; - $417 = $414 & 255; - $418 = ($417|0)==(0); - if (!($418)) { - $j$617 = 0; - while(1) { - $419 = (_get_bits($f,8)|0); - $420 = $419&255; - $$sum = (($j$617) + 8)|0; - $421 = (((($397) + (($i$3122*1596)|0)|0) + ($$sum)|0) + 1|0); - HEAP8[$421>>0] = $420; - $422 = (($j$617) + 1)|0; - $423 = HEAP8[$416>>0]|0; - $424 = $423&255; - $425 = ($422|0)<($424|0); - if ($425) { - $j$617 = $422; - } else { - break; - } - } - } - _error($f,4); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - else if ((label|0) == 159) { - _error($f,20); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - else if ((label|0) == 162) { - _error($f,20); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - else if ((label|0) == 175) { - $phitmp194 = $$longest_floorlist$0 << 1; - $longest_floorlist$0$lcssa = $phitmp194; - break; - } - } else { - $longest_floorlist$0$lcssa = 0; - } - } while(0); - $544 = (_get_bits($f,6)|0); - $545 = (($544) + 1)|0; - $546 = (($f) + 280|0); - HEAP32[$546>>2] = $545; - $547 = ($545*24)|0; - $548 = (_setup_malloc($f,$547)|0); - $549 = (($f) + 412|0); - HEAP32[$549>>2] = $548; - $550 = HEAP32[$546>>2]|0; - $551 = ($550|0)>(0); - L303: do { - if ($551) { - $i$473 = 0; - L305: while(1) { - $552 = HEAP32[$549>>2]|0; - $553 = (_get_bits($f,16)|0); - $554 = $553&65535; - $555 = ((($f) + ($i$473<<1)|0) + 284|0); - HEAP16[$555>>1] = $554; - $556 = $553 & 65535; - $557 = ($556>>>0)>(2); - if ($557) { - label = 179; - break; - } - $558 = (_get_bits($f,24)|0); - $559 = (($552) + (($i$473*24)|0)|0); - HEAP32[$559>>2] = $558; - $560 = (_get_bits($f,24)|0); - $561 = ((($552) + (($i$473*24)|0)|0) + 4|0); - HEAP32[$561>>2] = $560; - $562 = (_get_bits($f,24)|0); - $563 = (($562) + 1)|0; - $564 = ((($552) + (($i$473*24)|0)|0) + 8|0); - HEAP32[$564>>2] = $563; - $565 = (_get_bits($f,6)|0); - $566 = (($565) + 1)|0; - $567 = $566&255; - $568 = ((($552) + (($i$473*24)|0)|0) + 12|0); - HEAP8[$568>>0] = $567; - $569 = (_get_bits($f,8)|0); - $570 = $569&255; - $571 = ((($552) + (($i$473*24)|0)|0) + 13|0); - HEAP8[$571>>0] = $570; - $572 = HEAP8[$568>>0]|0; - $573 = $572&255; - $574 = ($572<<24>>24)==(0); - if ($574) { - $$lcssa = $573; - } else { - $j$1351 = 0; - while(1) { - $575 = (_get_bits($f,3)|0); - $576 = (_get_bits($f,1)|0); - $577 = ($576|0)==(0); - if ($577) { - $high_bits$0 = 0; - } else { - $578 = (_get_bits($f,5)|0); - $phitmp = $578 << 3; - $phitmp8 = $phitmp & 2040; - $high_bits$0 = $phitmp8; - } - $579 = (($high_bits$0) + ($575))|0; - $580 = $579&255; - $581 = (($p) + ($j$1351)|0); - HEAP8[$581>>0] = $580; - $582 = (($j$1351) + 1)|0; - $583 = HEAP8[$568>>0]|0; - $584 = $583&255; - $585 = ($582|0)<($584|0); - if ($585) { - $j$1351 = $582; - } else { - $$lcssa = $584; - break; - } - } - } - $586 = $$lcssa << 4; - $587 = (_setup_malloc($f,$586)|0); - $588 = ((($552) + (($i$473*24)|0)|0) + 20|0); - HEAP32[$588>>2] = $587; - $589 = HEAP8[$568>>0]|0; - $590 = ($589<<24>>24)==(0); - if (!($590)) { - $j$1458 = 0; - while(1) { - $591 = (($p) + ($j$1458)|0); - $592 = HEAP8[$591>>0]|0; - $593 = $592&255; - $k$357 = 0; - while(1) { - $594 = 1 << $k$357; - $595 = $593 & $594; - $596 = ($595|0)==(0); - if ($596) { - $607 = HEAP32[$588>>2]|0; - $608 = ((($607) + ($j$1458<<4)|0) + ($k$357<<1)|0); - HEAP16[$608>>1] = -1; - } else { - $597 = (_get_bits($f,8)|0); - $598 = $597&65535; - $599 = HEAP32[$588>>2]|0; - $600 = ((($599) + ($j$1458<<4)|0) + ($k$357<<1)|0); - HEAP16[$600>>1] = $598; - $601 = HEAP32[$588>>2]|0; - $602 = ((($601) + ($j$1458<<4)|0) + ($k$357<<1)|0); - $603 = HEAP16[$602>>1]|0; - $604 = $603 << 16 >> 16; - $605 = HEAP32[$86>>2]|0; - $606 = ($604|0)<($605|0); - if (!($606)) { - label = 188; - break L305; - } - } - $609 = (($k$357) + 1)|0; - $610 = ($609|0)<(8); - if ($610) { - $k$357 = $609; - } else { - break; - } - } - $611 = (($j$1458) + 1)|0; - $612 = HEAP8[$568>>0]|0; - $613 = $612&255; - $614 = ($611|0)<($613|0); - if ($614) { - $j$1458 = $611; - } else { - break; - } - } - } - $615 = HEAP8[$571>>0]|0; - $616 = $615&255; - $617 = HEAP32[$89>>2]|0; - $618 = ((($617) + (($616*2096)|0)|0) + 4|0); - $619 = HEAP32[$618>>2]|0; - $620 = $619 << 2; - $621 = (_setup_malloc($f,$620)|0); - $622 = ((($552) + (($i$473*24)|0)|0) + 16|0); - HEAP32[$622>>2] = $621; - $623 = ($621|0)==(0|0); - if ($623) { - label = 193; - break; - } - $624 = HEAP8[$571>>0]|0; - $625 = $624&255; - $626 = HEAP32[$89>>2]|0; - $627 = ((($626) + (($625*2096)|0)|0) + 4|0); - $628 = HEAP32[$627>>2]|0; - $629 = $628 << 2; - _memset(($621|0),0,($629|0))|0; - $630 = HEAP8[$571>>0]|0; - $631 = $630&255; - $632 = HEAP32[$89>>2]|0; - $633 = ((($632) + (($631*2096)|0)|0) + 4|0); - $634 = HEAP32[$633>>2]|0; - $635 = ($634|0)>(0); - if ($635) { - $637 = $632;$638 = $631;$j$1566 = 0; - while(1) { - $636 = (($637) + (($638*2096)|0)|0); - $639 = HEAP32[$636>>2]|0; - $640 = (_setup_malloc($f,$639)|0); - $641 = HEAP32[$622>>2]|0; - $642 = (($641) + ($j$1566<<2)|0); - HEAP32[$642>>2] = $640; - $643 = ($639|0)>(0); - if ($643) { - $k$462$in = $639;$temp$061 = $j$1566; - while(1) { - $k$462 = (($k$462$in) + -1)|0; - $644 = HEAP8[$568>>0]|0; - $645 = $644&255; - $646 = (($temp$061|0) % ($645|0))&-1; - $647 = $646&255; - $648 = HEAP32[$622>>2]|0; - $649 = (($648) + ($j$1566<<2)|0); - $650 = HEAP32[$649>>2]|0; - $651 = (($650) + ($k$462)|0); - HEAP8[$651>>0] = $647; - $652 = HEAP8[$568>>0]|0; - $653 = $652&255; - $654 = (($temp$061|0) / ($653|0))&-1; - $655 = ($k$462|0)>(0); - if ($655) { - $k$462$in = $k$462;$temp$061 = $654; - } else { - break; - } - } - } - $656 = (($j$1566) + 1)|0; - $657 = HEAP8[$571>>0]|0; - $658 = $657&255; - $659 = HEAP32[$89>>2]|0; - $660 = ((($659) + (($658*2096)|0)|0) + 4|0); - $661 = HEAP32[$660>>2]|0; - $662 = ($656|0)<($661|0); - if ($662) { - $637 = $659;$638 = $658;$j$1566 = $656; - } else { - break; - } - } - } - $663 = (($i$473) + 1)|0; - $664 = HEAP32[$546>>2]|0; - $665 = ($663|0)<($664|0); - if ($665) { - $i$473 = $663; - } else { - break L303; - } - } - if ((label|0) == 179) { - _error($f,20); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - else if ((label|0) == 188) { - _error($f,20); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - else if ((label|0) == 193) { - _error($f,3); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - } - } while(0); - $666 = (_get_bits($f,6)|0); - $667 = (($666) + 1)|0; - $668 = (($f) + 416|0); - HEAP32[$668>>2] = $667; - $669 = ($667*40)|0; - $670 = (_setup_malloc($f,$669)|0); - $671 = (($f) + 420|0); - HEAP32[$671>>2] = $670; - $672 = HEAP32[$668>>2]|0; - $673 = ($672|0)>(0); - L343: do { - if ($673) { - $i$546 = 0; - L344: while(1) { - $674 = HEAP32[$671>>2]|0; - $675 = (($674) + (($i$546*40)|0)|0); - $676 = (_get_bits($f,16)|0); - $677 = ($676|0)==(0); - if (!($677)) { - label = 201; - break; - } - $678 = HEAP32[$27>>2]|0; - $679 = ($678*3)|0; - $680 = (_setup_malloc($f,$679)|0); - $681 = ((($674) + (($i$546*40)|0)|0) + 4|0); - HEAP32[$681>>2] = $680; - $682 = (_get_bits($f,1)|0); - $683 = ($682|0)==(0); - if ($683) { - $688 = ((($674) + (($i$546*40)|0)|0) + 8|0); - HEAP8[$688>>0] = 1; - } else { - $684 = (_get_bits($f,4)|0); - $685 = (($684) + 1)|0; - $686 = $685&255; - $687 = ((($674) + (($i$546*40)|0)|0) + 8|0); - HEAP8[$687>>0] = $686; - } - $689 = ((($674) + (($i$546*40)|0)|0) + 8|0); - $690 = (_get_bits($f,1)|0); - $691 = ($690|0)==(0); - do { - if ($691) { - HEAP16[$675>>1] = 0; - } else { - $692 = (_get_bits($f,8)|0); - $693 = (($692) + 1)|0; - $694 = $693&65535; - HEAP16[$675>>1] = $694; - $695 = $693 & 65535; - $696 = ($695|0)==(0); - if ($696) { - break; - } else { - $k$531 = 0; - } - while(1) { - $701 = HEAP32[$27>>2]|0; - $702 = (($701) + -1)|0; - $703 = (_ilog($702)|0); - $704 = (_get_bits($f,$703)|0); - $705 = $704&255; - $706 = HEAP32[$681>>2]|0; - $707 = (($706) + (($k$531*3)|0)|0); - HEAP8[$707>>0] = $705; - $708 = HEAP32[$27>>2]|0; - $709 = (($708) + -1)|0; - $710 = (_ilog($709)|0); - $711 = (_get_bits($f,$710)|0); - $712 = $711&255; - $713 = HEAP32[$681>>2]|0; - $714 = ((($713) + (($k$531*3)|0)|0) + 1|0); - HEAP8[$714>>0] = $712; - $715 = HEAP32[$681>>2]|0; - $716 = (($715) + (($k$531*3)|0)|0); - $717 = HEAP8[$716>>0]|0; - $718 = $717&255; - $719 = HEAP32[$27>>2]|0; - $720 = ($718|0)<($719|0); - if (!($720)) { - label = 209; - break L344; - } - $721 = ((($715) + (($k$531*3)|0)|0) + 1|0); - $722 = HEAP8[$721>>0]|0; - $723 = $722&255; - $724 = ($723|0)<($719|0); - if (!($724)) { - label = 211; - break L344; - } - $725 = ($717<<24>>24)==($722<<24>>24); - $700 = (($k$531) + 1)|0; - if ($725) { - label = 213; - break L344; - } - $697 = HEAP16[$675>>1]|0; - $698 = $697&65535; - $699 = ($700|0)<($698|0); - if ($699) { - $k$531 = $700; - } else { - break; - } - } - } - } while(0); - $726 = (_get_bits($f,2)|0); - $727 = ($726|0)==(0); - if (!($727)) { - label = 216; - break; - } - $728 = HEAP8[$689>>0]|0; - $729 = ($728&255)>(1); - $730 = HEAP32[$27>>2]|0; - $731 = ($730|0)>(0); - do { - if ($729) { - if ($731) { - $j$1639 = 0; - } else { - break; - } - while(1) { - $735 = (_get_bits($f,4)|0); - $736 = $735&255; - $737 = HEAP32[$681>>2]|0; - $738 = ((($737) + (($j$1639*3)|0)|0) + 2|0); - HEAP8[$738>>0] = $736; - $739 = HEAP32[$681>>2]|0; - $740 = ((($739) + (($j$1639*3)|0)|0) + 2|0); - $741 = HEAP8[$740>>0]|0; - $742 = HEAP8[$689>>0]|0; - $743 = ($741&255)<($742&255); - $734 = (($j$1639) + 1)|0; - if (!($743)) { - label = 222; - break L344; - } - $732 = HEAP32[$27>>2]|0; - $733 = ($734|0)<($732|0); - if ($733) { - $j$1639 = $734; - } else { - break; - } - } - } else { - if ($731) { - $j$1735 = 0; - } else { - break; - } - while(1) { - $744 = HEAP32[$681>>2]|0; - $745 = ((($744) + (($j$1735*3)|0)|0) + 2|0); - HEAP8[$745>>0] = 0; - $746 = (($j$1735) + 1)|0; - $747 = HEAP32[$27>>2]|0; - $748 = ($746|0)<($747|0); - if ($748) { - $j$1735 = $746; - } else { - break; - } - } - } - } while(0); - $749 = HEAP8[$689>>0]|0; - $750 = ($749<<24>>24)==(0); - if (!($750)) { - $j$1842 = 0; - while(1) { - (_get_bits($f,8)|0); - $755 = (_get_bits($f,8)|0); - $756 = $755&255; - $757 = (((($674) + (($i$546*40)|0)|0) + ($j$1842)|0) + 9|0); - HEAP8[$757>>0] = $756; - $758 = (_get_bits($f,8)|0); - $759 = $758&255; - $760 = (((($674) + (($i$546*40)|0)|0) + ($j$1842)|0) + 24|0); - HEAP8[$760>>0] = $759; - $761 = HEAP8[$757>>0]|0; - $762 = $761&255; - $763 = HEAP32[$385>>2]|0; - $764 = ($762|0)<($763|0); - if (!($764)) { - label = 227; - break L344; - } - $765 = $758 & 255; - $766 = HEAP32[$546>>2]|0; - $767 = ($765|0)<($766|0); - $754 = (($j$1842) + 1)|0; - if (!($767)) { - label = 229; - break L344; - } - $751 = HEAP8[$689>>0]|0; - $752 = $751&255; - $753 = ($754|0)<($752|0); - if ($753) { - $j$1842 = $754; - } else { - break; - } - } - } - $768 = (($i$546) + 1)|0; - $769 = HEAP32[$668>>2]|0; - $770 = ($768|0)<($769|0); - if ($770) { - $i$546 = $768; - } else { - break L343; - } - } - if ((label|0) == 201) { - _error($f,20); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - else if ((label|0) == 209) { - _error($f,20); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - else if ((label|0) == 211) { - _error($f,20); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - else if ((label|0) == 213) { - _error($f,20); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - else if ((label|0) == 216) { - _error($f,20); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - else if ((label|0) == 222) { - _error($f,20); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - else if ((label|0) == 227) { - _error($f,20); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - else if ((label|0) == 229) { - _error($f,20); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - } - } while(0); - $771 = (_get_bits($f,6)|0); - $772 = (($771) + 1)|0; - $773 = (($f) + 424|0); - HEAP32[$773>>2] = $772; - $774 = ($772|0)>(0); - L394: do { - if ($774) { - $i$627 = 0; - while(1) { - $778 = (_get_bits($f,1)|0); - $779 = $778&255; - $780 = ((($f) + (($i$627*6)|0)|0) + 428|0); - HEAP8[$780>>0] = $779; - $781 = (_get_bits($f,16)|0); - $782 = $781&65535; - $783 = ((($f) + (($i$627*6)|0)|0) + 430|0); - HEAP16[$783>>1] = $782; - $784 = (_get_bits($f,16)|0); - $785 = $784&65535; - $786 = ((($f) + (($i$627*6)|0)|0) + 432|0); - HEAP16[$786>>1] = $785; - $787 = (_get_bits($f,8)|0); - $788 = $787&255; - $789 = ((($f) + (($i$627*6)|0)|0) + 429|0); - HEAP8[$789>>0] = $788; - $790 = HEAP16[$783>>1]|0; - $791 = ($790<<16>>16)==(0); - if (!($791)) { - label = 234; - break; - } - $792 = HEAP16[$786>>1]|0; - $793 = ($792<<16>>16)==(0); - if (!($793)) { - label = 236; - break; - } - $794 = $787 & 255; - $795 = HEAP32[$668>>2]|0; - $796 = ($794|0)<($795|0); - $777 = (($i$627) + 1)|0; - if (!($796)) { - label = 238; - break; - } - $775 = HEAP32[$773>>2]|0; - $776 = ($777|0)<($775|0); - if ($776) { - $i$627 = $777; - } else { - break L394; - } - } - if ((label|0) == 234) { - _error($f,20); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - else if ((label|0) == 236) { - _error($f,20); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - else if ((label|0) == 238) { - _error($f,20); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - } - } while(0); - _flush_packet($f); - $797 = (($f) + 1008|0); - HEAP32[$797>>2] = 0; - $798 = HEAP32[$27>>2]|0; - $799 = ($798|0)>(0); - if ($799) { - $i$723 = 0; - while(1) { - $800 = HEAP32[$39>>2]|0; - $801 = $800 << 2; - $802 = (_setup_malloc($f,$801)|0); - $803 = ((($f) + ($i$723<<2)|0) + 816|0); - HEAP32[$803>>2] = $802; - $804 = HEAP32[$39>>2]|0; - $805 = $804 << 1; - $806 = $805 & 2147483646; - $807 = (_setup_malloc($f,$806)|0); - $808 = ((($f) + ($i$723<<2)|0) + 944|0); - HEAP32[$808>>2] = $807; - $809 = (_setup_malloc($f,$longest_floorlist$0$lcssa)|0); - $810 = ((($f) + ($i$723<<2)|0) + 1012|0); - HEAP32[$810>>2] = $809; - $811 = (($i$723) + 1)|0; - $812 = HEAP32[$27>>2]|0; - $813 = ($811|0)<($812|0); - if ($813) { - $i$723 = $811; - } else { - break; - } - } - } - $814 = HEAP32[$37>>2]|0; - $815 = (_init_blocksize($f,0,$814)|0); - $816 = ($815|0)==(0); - if ($816) { - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - $817 = HEAP32[$39>>2]|0; - $818 = (_init_blocksize($f,1,$817)|0); - $819 = ($818|0)==(0); - if ($819) { - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - $820 = HEAP32[$37>>2]|0; - $821 = (($f) + 120|0); - HEAP32[$821>>2] = $820; - $822 = HEAP32[$39>>2]|0; - $823 = (($f) + 124|0); - HEAP32[$823>>2] = $822; - $824 = HEAP32[$39>>2]|0; - $825 = $824 << 1; - $826 = $825 & 2147483646; - $827 = HEAP32[$546>>2]|0; - $828 = ($827|0)>(0); - if ($828) { - $829 = HEAP32[$549>>2]|0; - $830 = HEAP32[$546>>2]|0; - $i7$018 = 0;$max_part_read$019 = 0; - while(1) { - $831 = ((($829) + (($i7$018*24)|0)|0) + 4|0); - $832 = HEAP32[$831>>2]|0; - $833 = (($829) + (($i7$018*24)|0)|0); - $834 = HEAP32[$833>>2]|0; - $835 = (($832) - ($834))|0; - $836 = ((($829) + (($i7$018*24)|0)|0) + 8|0); - $837 = HEAP32[$836>>2]|0; - $838 = (($835>>>0) / ($837>>>0))&-1; - $839 = ($838|0)>($max_part_read$019|0); - $$max_part_read$0 = $839 ? $838 : $max_part_read$019; - $840 = (($i7$018) + 1)|0; - $841 = ($840|0)<($830|0); - if ($841) { - $i7$018 = $840;$max_part_read$019 = $$max_part_read$0; - } else { - break; - } - } - $phitmp192 = $$max_part_read$0 << 2; - $phitmp193 = (($phitmp192) + 4)|0; - $max_part_read$0$lcssa = $phitmp193; - } else { - $max_part_read$0$lcssa = 4; - } - $842 = HEAP32[$27>>2]|0; - $843 = Math_imul($842, $max_part_read$0$lcssa)|0; - $844 = (($f) + 12|0); - $845 = ($826>>>0)>($843>>>0); - $$14 = $845 ? $826 : $843; - HEAP32[$844>>2] = $$14; - $846 = (($f) + 1393|0); - HEAP8[$846>>0] = 1; - $847 = (($f) + 96|0); - $848 = HEAP32[$847>>2]|0; - $849 = ($848|0)==(0|0); - do { - if (!($849)) { - $850 = (($f) + 108|0); - $851 = HEAP32[$850>>2]|0; - $852 = (($f) + 100|0); - $853 = HEAP32[$852>>2]|0; - $854 = ($851|0)==($853|0); - if (!($854)) { - ___assert_fail((18960|0),(17648|0),3735,(19016|0)); - // unreachable; - } - $855 = (($f) + 104|0); - $856 = HEAP32[$855>>2]|0; - $857 = (($856) + 1528)|0; - $858 = HEAP32[$844>>2]|0; - $859 = (($857) + ($858))|0; - $860 = ($859>>>0)>($851>>>0); - if (!($860)) { - break; - } - _error($f,3); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - } while(0); - $861 = (_stb_vorbis_get_file_offset($f)|0); - $862 = (($f) + 52|0); - HEAP32[$862>>2] = $861; - $$4 = 1; - STACKTOP = sp;return ($$4|0); -} -function _vorbis_alloc($f) { - $f = $f|0; - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_setup_malloc($f,1528)|0); - STACKTOP = sp;return ($0|0); -} -function _stb_vorbis_get_file_offset($f) { - $f = $f|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (($f) + 48|0); - $1 = HEAP8[$0>>0]|0; - $2 = ($1<<24>>24)==(0); - if (!($2)) { - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $3 = (($f) + 32|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)==(0|0); - if ($5) { - $11 = (($f) + 20|0); - $12 = HEAP32[$11>>2]|0; - $13 = (_ftell(($12|0))|0); - $14 = (($f) + 24|0); - $15 = HEAP32[$14>>2]|0; - $16 = (($13) - ($15))|0; - $$0 = $16; - STACKTOP = sp;return ($$0|0); - } else { - $6 = (($f) + 36|0); - $7 = HEAP32[$6>>2]|0; - $8 = $4; - $9 = $7; - $10 = (($8) - ($9))|0; - $$0 = $10; - STACKTOP = sp;return ($$0|0); - } - return 0|0; -} -function _stb_vorbis_seek_start($f) { - $f = $f|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (($f) + 48|0); - $1 = HEAP8[$0>>0]|0; - $2 = ($1<<24>>24)==(0); - if ($2) { - $3 = (($f) + 52|0); - $4 = HEAP32[$3>>2]|0; - _set_file_offset($f,$4); - $5 = (($f) + 1008|0); - HEAP32[$5>>2] = 0; - $6 = (($f) + 1393|0); - HEAP8[$6>>0] = 1; - $7 = (($f) + 1396|0); - HEAP32[$7>>2] = -1; - _vorbis_pump_first_frame($f); - STACKTOP = sp;return; - } else { - _error($f,2); - STACKTOP = sp;return; - } -} -function _set_file_offset($f,$loc) { - $f = $f|0; - $loc = $loc|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0; - var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (($f) + 48|0); - $1 = HEAP8[$0>>0]|0; - $2 = ($1<<24>>24)==(0); - if (!($2)) { - STACKTOP = sp;return; - } - $3 = (($f) + 112|0); - HEAP32[$3>>2] = 0; - $4 = (($f) + 32|0); - $5 = HEAP32[$4>>2]|0; - $6 = ($5|0)==(0|0); - if (!($6)) { - $7 = (($f) + 36|0); - $8 = HEAP32[$7>>2]|0; - $9 = (($8) + ($loc)|0); - $10 = (($f) + 40|0); - $11 = HEAP32[$10>>2]|0; - $12 = ($9>>>0)>=($11>>>0); - $13 = ($loc|0)<(0); - $or$cond1 = $12 | $13; - if ($or$cond1) { - HEAP32[$4>>2] = $11; - HEAP32[$3>>2] = 1; - STACKTOP = sp;return; - } else { - HEAP32[$4>>2] = $9; - STACKTOP = sp;return; - } - } - $14 = (($f) + 24|0); - $15 = HEAP32[$14>>2]|0; - $16 = (($15) + ($loc))|0; - $17 = ($16>>>0)<($loc>>>0); - $18 = ($loc|0)<(0); - $or$cond = $17 | $18; - if ($or$cond) { - HEAP32[$3>>2] = 1; - $$0 = 2147483647; - } else { - $$0 = $16; - } - $19 = (($f) + 20|0); - $20 = HEAP32[$19>>2]|0; - $21 = (_fseek(($20|0),($$0|0),0)|0); - $22 = ($21|0)==(0); - if ($22) { - STACKTOP = sp;return; - } - HEAP32[$3>>2] = 1; - $23 = HEAP32[$19>>2]|0; - $24 = HEAP32[$14>>2]|0; - (_fseek(($23|0),($24|0),2)|0); - STACKTOP = sp;return; -} -function _vorbis_pump_first_frame($f) { - $f = $f|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $left = 0, $len = 0, $right = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); - $len = sp + 8|0; - $right = sp; - $left = sp + 4|0; - $0 = (_vorbis_decode_packet($f,$len,$left,$right)|0); - $1 = ($0|0)==(0); - if ($1) { - STACKTOP = sp;return; - } - $2 = HEAP32[$len>>2]|0; - $3 = HEAP32[$left>>2]|0; - $4 = HEAP32[$right>>2]|0; - (_vorbis_finish_frame($f,$2,$3,$4)|0); - STACKTOP = sp;return; -} -function _stb_vorbis_stream_length_in_samples($f) { - $f = $f|0; - var $$ = 0, $$0 = 0, $$1 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; - var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; - var $42 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $end = 0, $header = 0, $last = 0, $last_page_loc$0$lcssa = 0, $last_page_loc$03 = 0, $or$cond = 0, $previous_safe$0 = 0, $previous_safe$1$lcssa = 0, $previous_safe$12 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); - $end = sp + 4|0; - $last = sp; - $header = sp + 8|0; - $0 = (($f) + 48|0); - $1 = HEAP8[$0>>0]|0; - $2 = ($1<<24>>24)==(0); - if (!($2)) { - _error($f,2); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $3 = (($f) + 812|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)==(0); - if ($5) { - $6 = (_stb_vorbis_get_file_offset($f)|0); - $7 = (($f) + 44|0); - $8 = HEAP32[$7>>2]|0; - $9 = ($8>>>0)>(65535); - if ($9) { - $10 = (($8) + -65536)|0; - $11 = (($f) + 52|0); - $12 = HEAP32[$11>>2]|0; - $13 = ($10>>>0)<($12>>>0); - if ($13) { - label = 6; - } else { - $previous_safe$0 = $10; - } - } else { - label = 6; - } - if ((label|0) == 6) { - $14 = (($f) + 52|0); - $15 = HEAP32[$14>>2]|0; - $previous_safe$0 = $15; - } - _set_file_offset($f,$previous_safe$0); - $16 = (_vorbis_find_page($f,$end,$last)|0); - $17 = ($16|0)==(0); - do { - if ($17) { - $18 = (($f) + 116|0); - HEAP32[$18>>2] = 36; - HEAP32[$3>>2] = -1; - } else { - $19 = (_stb_vorbis_get_file_offset($f)|0); - $20 = HEAP32[$last>>2]|0; - $21 = ($20|0)==(0); - L14: do { - if ($21) { - $last_page_loc$03 = $19;$previous_safe$12 = $previous_safe$0; - while(1) { - $22 = HEAP32[$end>>2]|0; - _set_file_offset($f,$22); - $23 = (_vorbis_find_page($f,$end,$last)|0); - $24 = ($23|0)==(0); - if ($24) { - $last_page_loc$0$lcssa = $last_page_loc$03;$previous_safe$1$lcssa = $previous_safe$12; - break L14; - } - $25 = (($last_page_loc$03) + 1)|0; - $26 = (_stb_vorbis_get_file_offset($f)|0); - $27 = HEAP32[$last>>2]|0; - $28 = ($27|0)==(0); - if ($28) { - $last_page_loc$03 = $26;$previous_safe$12 = $25; - } else { - $last_page_loc$0$lcssa = $26;$previous_safe$1$lcssa = $25; - break; - } - } - } else { - $last_page_loc$0$lcssa = $19;$previous_safe$1$lcssa = $previous_safe$0; - } - } while(0); - _set_file_offset($f,$last_page_loc$0$lcssa); - (_getn($f,$header,6)|0); - $29 = (_get32($f)|0); - $30 = (_get32($f)|0); - $31 = ($29|0)==(-1); - $32 = ($30|0)==(-1); - $or$cond = $31 & $32; - if ($or$cond) { - $33 = (($f) + 116|0); - HEAP32[$33>>2] = 36; - HEAP32[$3>>2] = -1; - break; - } else { - $34 = ($30|0)==(0); - $$ = $34 ? $29 : -2; - HEAP32[$3>>2] = $$; - $35 = (($f) + 76|0); - HEAP32[$35>>2] = $last_page_loc$0$lcssa; - $36 = HEAP32[$end>>2]|0; - $37 = (($f) + 80|0); - HEAP32[$37>>2] = $36; - $38 = (($f) + 92|0); - HEAP32[$38>>2] = $$; - $39 = (($f) + 88|0); - HEAP32[$39>>2] = -1; - $40 = (($f) + 84|0); - HEAP32[$40>>2] = $previous_safe$1$lcssa; - break; - } - } - } while(0); - _set_file_offset($f,$6); - } - $41 = HEAP32[$3>>2]|0; - $42 = ($41|0)==(-1); - $$1 = $42 ? 0 : $41; - $$0 = $$1; - STACKTOP = sp;return ($$0|0); -} -function _vorbis_find_page($f,$end,$last) { - $f = $f|0; - $end = $end|0; - $last = $last|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; - var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0; - var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $8 = 0, $9 = 0; - var $crc$09 = 0, $crc$111 = 0, $crc$2$lcssa = 0, $crc$218 = 0, $exitcond = 0, $exitcond27 = 0, $exitcond31 = 0, $header = 0, $i$0$lcssa = 0, $i$01 = 0, $i1$14 = 0, $i1$38 = 0, $i1$410 = 0, $i1$517 = 0, $len$012 = 0, $scevgep = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); - $header = sp; - $0 = (($f) + 112|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)==(0); - if (!($2)) { - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $3 = (($f) + 44|0); - $4 = (($header) + 4|0); - $5 = (($header) + 22|0); - $6 = (($header) + 23|0); - $7 = (($header) + 24|0); - $8 = (($header) + 25|0); - $9 = (($header) + 26|0); - $scevgep = (($header) + 22|0); - while(1) { - $10 = (_get8($f)|0); - $11 = ($10<<24>>24)==(79); - if ($11) { - $12 = (_stb_vorbis_get_file_offset($f)|0); - $13 = (($12) + -25)|0; - $14 = HEAP32[$3>>2]|0; - $15 = ($13>>>0)>($14>>>0); - if ($15) { - $$0 = 0; - label = 32; - break; - } else { - $i$01 = 1; - } - while(1) { - $18 = (_get8($f)|0); - $19 = (17752 + ($i$01)|0); - $20 = HEAP8[$19>>0]|0; - $21 = ($18<<24>>24)==($20<<24>>24); - $17 = (($i$01) + 1)|0; - if (!($21)) { - $i$0$lcssa = $i$01; - break; - } - $16 = ($17|0)<(4); - if ($16) { - $i$01 = $17; - } else { - $i$0$lcssa = $17; - break; - } - } - $22 = HEAP32[$0>>2]|0; - $23 = ($22|0)==(0); - if (!($23)) { - $$0 = 0; - label = 32; - break; - } - $24 = ($i$0$lcssa|0)==(4); - if ($24) { - $25 = HEAP32[17752>>2]|0; - HEAP32[$header>>2] = $25; - $i1$14 = 4; - while(1) { - $26 = (_get8($f)|0); - $27 = (($header) + ($i1$14)|0); - HEAP8[$27>>0] = $26; - $28 = (($i1$14) + 1)|0; - $exitcond = ($28|0)==(27); - if ($exitcond) { - break; - } else { - $i1$14 = $28; - } - } - $29 = HEAP32[$0>>2]|0; - $30 = ($29|0)==(0); - if (!($30)) { - $$0 = 0; - label = 32; - break; - } - $31 = HEAP8[$4>>0]|0; - $32 = ($31<<24>>24)==(0); - if ($32) { - $33 = HEAP8[$5>>0]|0; - $34 = HEAP8[$6>>0]|0; - $35 = HEAP8[$7>>0]|0; - $36 = HEAP8[$8>>0]|0; - $37 = $36&255; - $38 = $37 << 24; - HEAP16[$scevgep>>1]=0&65535;HEAP16[$scevgep+2>>1]=0>>>16; - $39 = $35&255; - $40 = $34&255; - $41 = $39 << 16; - $42 = $40 << 8; - $43 = $33&255; - $44 = $42 | $43; - $45 = $44 | $41; - $crc$09 = 0;$i1$38 = 0; - while(1) { - $46 = (($header) + ($i1$38)|0); - $47 = HEAP8[$46>>0]|0; - $48 = (_crc32_update($crc$09,$47)|0); - $49 = (($i1$38) + 1)|0; - $exitcond27 = ($49|0)==(27); - if ($exitcond27) { - break; - } else { - $crc$09 = $48;$i1$38 = $49; - } - } - $50 = $45 | $38; - $51 = HEAP8[$9>>0]|0; - $52 = ($51<<24>>24)==(0); - if ($52) { - $crc$2$lcssa = $48; - } else { - $53 = HEAP8[$9>>0]|0; - $54 = $53&255; - $crc$111 = $48;$i1$410 = 0;$len$012 = 0; - while(1) { - $55 = (_get8($f)|0); - $56 = $55&255; - $57 = (_crc32_update($crc$111,$55)|0); - $58 = (($56) + ($len$012))|0; - $59 = (($i1$410) + 1)|0; - $60 = ($59>>>0)<($54>>>0); - if ($60) { - $crc$111 = $57;$i1$410 = $59;$len$012 = $58; - } else { - break; - } - } - $61 = ($58|0)==(0); - if ($61) { - $crc$2$lcssa = $57; - } else { - $62 = HEAP32[$0>>2]|0; - $63 = ($62|0)==(0); - if (!($63)) { - $$0 = 0; - label = 32; - break; - } - $64 = ($58|0)==(0); - if ($64) { - $crc$2$lcssa = $57; - } else { - $crc$218 = $57;$i1$517 = 0; - while(1) { - $65 = (_get8($f)|0); - $66 = (_crc32_update($crc$218,$65)|0); - $67 = (($i1$517) + 1)|0; - $exitcond31 = ($67|0)==($58|0); - if ($exitcond31) { - $crc$2$lcssa = $66; - break; - } else { - $crc$218 = $66;$i1$517 = $67; - } - } - } - } - } - $68 = ($crc$2$lcssa|0)==($50|0); - if ($68) { - label = 23; - break; - } - } - } - _set_file_offset($f,$12); - } - $77 = HEAP32[$0>>2]|0; - $78 = ($77|0)==(0); - if (!($78)) { - $$0 = 0; - label = 32; - break; - } - } - if ((label|0) == 23) { - $69 = ($end|0)==(0|0); - if (!($69)) { - $70 = (_stb_vorbis_get_file_offset($f)|0); - HEAP32[$end>>2] = $70; - } - $71 = ($last|0)==(0|0); - do { - if (!($71)) { - $72 = (($header) + 5|0); - $73 = HEAP8[$72>>0]|0; - $74 = $73 & 4; - $75 = ($74<<24>>24)==(0); - if ($75) { - HEAP32[$last>>2] = 0; - break; - } else { - HEAP32[$last>>2] = 1; - break; - } - } - } while(0); - $76 = (($12) + -1)|0; - _set_file_offset($f,$76); - $$0 = 1; - STACKTOP = sp;return ($$0|0); - } - else if ((label|0) == 32) { - STACKTOP = sp;return ($$0|0); - } - return 0|0; -} -function _getn($z,$data,$n) { - $z = $z|0; - $data = $data|0; - $n = $n|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (($z) + 32|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)==(0|0); - if ($2) { - $10 = (($z) + 20|0); - $11 = HEAP32[$10>>2]|0; - $12 = (_fread(($data|0),($n|0),1,($11|0))|0); - $13 = ($12|0)==(1); - if ($13) { - $$0 = 1; - STACKTOP = sp;return ($$0|0); - } - $14 = (($z) + 112|0); - HEAP32[$14>>2] = 1; - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $3 = (($1) + ($n)|0); - $4 = (($z) + 40|0); - $5 = HEAP32[$4>>2]|0; - $6 = ($3>>>0)>($5>>>0); - if ($6) { - $7 = (($z) + 112|0); - HEAP32[$7>>2] = 1; - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } else { - _memcpy(($data|0),($1|0),($n|0))|0; - $8 = HEAP32[$0>>2]|0; - $9 = (($8) + ($n)|0); - HEAP32[$0>>2] = $9; - $$0 = 1; - STACKTOP = sp;return ($$0|0); - } - return 0|0; -} -function _get32($f) { - $f = $f|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_get8($f)|0); - $1 = $0&255; - $2 = (_get8($f)|0); - $3 = $2&255; - $4 = $3 << 8; - $5 = $4 | $1; - $6 = (_get8($f)|0); - $7 = $6&255; - $8 = $7 << 16; - $9 = $5 | $8; - $10 = (_get8($f)|0); - $11 = $10&255; - $12 = $11 << 24; - $13 = $9 | $12; - STACKTOP = sp;return ($13|0); -} -function _stb_vorbis_stream_length_in_seconds($f) { - $f = $f|0; - var $0 = 0, $1 = 0.0, $2 = 0, $3 = 0.0, $4 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_stb_vorbis_stream_length_in_samples($f)|0); - $1 = (+($0>>>0)); - $2 = HEAP32[$f>>2]|0; - $3 = (+($2>>>0)); - $4 = $1 / $3; - STACKTOP = sp;return (+$4); -} -function _stb_vorbis_get_frame_float($f,$channels,$output) { - $f = $f|0; - $channels = $channels|0; - $output = $output|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i$01 = 0, $left = 0, $len = 0, $right = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); - $len = sp + 8|0; - $right = sp; - $left = sp + 4|0; - $0 = (($f) + 48|0); - $1 = HEAP8[$0>>0]|0; - $2 = ($1<<24>>24)==(0); - if (!($2)) { - _error($f,2); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $3 = (_vorbis_decode_packet($f,$len,$left,$right)|0); - $4 = ($3|0)==(0); - if ($4) { - $5 = (($f) + 1524|0); - HEAP32[$5>>2] = 0; - $6 = (($f) + 1520|0); - HEAP32[$6>>2] = 0; - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $7 = HEAP32[$len>>2]|0; - $8 = HEAP32[$left>>2]|0; - $9 = HEAP32[$right>>2]|0; - $10 = (_vorbis_finish_frame($f,$7,$8,$9)|0); - HEAP32[$len>>2] = $10; - $11 = (($f) + 4|0); - $12 = HEAP32[$11>>2]|0; - $13 = ($12|0)>(0); - if ($13) { - $14 = HEAP32[$left>>2]|0; - $i$01 = 0; - while(1) { - $15 = ((($f) + ($i$01<<2)|0) + 816|0); - $16 = HEAP32[$15>>2]|0; - $17 = (($16) + ($14<<2)|0); - $18 = ((($f) + ($i$01<<2)|0) + 880|0); - HEAP32[$18>>2] = $17; - $19 = (($i$01) + 1)|0; - $20 = HEAP32[$11>>2]|0; - $21 = ($19|0)<($20|0); - if ($21) { - $i$01 = $19; - } else { - break; - } - } - } - $22 = HEAP32[$left>>2]|0; - $23 = (($f) + 1520|0); - HEAP32[$23>>2] = $22; - $24 = HEAP32[$left>>2]|0; - $25 = HEAP32[$len>>2]|0; - $26 = (($25) + ($24))|0; - $27 = (($f) + 1524|0); - HEAP32[$27>>2] = $26; - $28 = ($channels|0)==(0|0); - if (!($28)) { - $29 = HEAP32[$11>>2]|0; - HEAP32[$channels>>2] = $29; - } - $30 = ($output|0)==(0|0); - if (!($30)) { - $31 = (($f) + 880|0); - HEAP32[$output>>2] = $31; - } - $32 = HEAP32[$len>>2]|0; - $$0 = $32; - STACKTOP = sp;return ($$0|0); -} -function _stb_vorbis_open_file_section($file,$close_on_free,$error,$alloc,$length) { - $file = $file|0; - $close_on_free = $close_on_free|0; - $error = $error|0; - $alloc = $alloc|0; - $length = $length|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $p = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 1536|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); - $p = sp; - _vorbis_init($p,$alloc); - $0 = (($p) + 20|0); - HEAP32[$0>>2] = $file; - $1 = (_ftell(($file|0))|0); - $2 = (($p) + 24|0); - HEAP32[$2>>2] = $1; - $3 = (($p) + 44|0); - HEAP32[$3>>2] = $length; - $4 = (($p) + 28|0); - HEAP32[$4>>2] = $close_on_free; - $5 = (_start_decoder($p)|0); - $6 = ($5|0)==(0); - if (!($6)) { - $7 = (_vorbis_alloc($p)|0); - $8 = ($7|0)==(0|0); - if (!($8)) { - _memcpy(($7|0),($p|0),1528)|0; - _vorbis_pump_first_frame($7); - $$0 = $7; - STACKTOP = sp;return ($$0|0); - } - } - $9 = ($error|0)==(0|0); - if (!($9)) { - $10 = (($p) + 116|0); - $11 = HEAP32[$10>>2]|0; - HEAP32[$error>>2] = $11; - } - _vorbis_deinit($p); - $$0 = 0; - STACKTOP = sp;return ($$0|0); -} -function _stb_vorbis_open_file($file,$close_on_free,$error,$alloc) { - $file = $file|0; - $close_on_free = $close_on_free|0; - $error = $error|0; - $alloc = $alloc|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_ftell(($file|0))|0); - (_fseek(($file|0),0,2)|0); - $1 = (_ftell(($file|0))|0); - $2 = (($1) - ($0))|0; - (_fseek(($file|0),($0|0),0)|0); - $3 = (_stb_vorbis_open_file_section($file,$close_on_free,$error,$alloc,$2)|0); - STACKTOP = sp;return ($3|0); -} -function _stb_vorbis_open_filename($filename,$error,$alloc) { - $filename = $filename|0; - $error = $error|0; - $alloc = $alloc|0; - var $$0 = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_fopen(($filename|0),(17624|0))|0); - $1 = ($0|0)==(0|0); - if ($1) { - $3 = ($error|0)==(0|0); - if ($3) { - $$0 = 0; - } else { - HEAP32[$error>>2] = 6; - $$0 = 0; - } - } else { - $2 = (_stb_vorbis_open_file($0,1,$error,$alloc)|0); - $$0 = $2; - } - STACKTOP = sp;return ($$0|0); -} -function _convert_channels_short_interleaved($buf_c,$buffer,$data_c,$data,$d_offset,$len) { - $buf_c = $buf_c|0; - $buffer = $buffer|0; - $data_c = $data_c|0; - $data = $data|0; - $d_offset = $d_offset|0; - $len = $len|0; - var $$017 = 0, $$1$lcssa = 0, $$18 = 0, $$2$lcssa = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0.0, $18 = 0.0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0; - var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond19 = 0, $exitcond24 = 0; - var $i$04 = 0, $i$1$lcssa = 0, $i$17 = 0, $j$016 = 0, $or$cond = 0, $or$cond3 = 0, $scevgep = 0, $scevgep20$sum = 0, $scevgep21 = 0, $smax = 0, $v$0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ($buf_c|0)!=($data_c|0); - $1 = ($buf_c|0)<(3); - $or$cond = $0 & $1; - $2 = ($data_c|0)<(7); - $or$cond3 = $or$cond & $2; - if ($or$cond3) { - $3 = ($buf_c|0)==(2); - if ($3) { - $i$04 = 0; - } else { - ___assert_fail((17632|0),(17648|0),4817,(17664|0)); - // unreachable; - } - while(1) { - _compute_stereo_samples($buffer,$data_c,$data,$d_offset,$len); - $4 = (($i$04) + 1)|0; - $exitcond = ($4|0)==($buf_c|0); - if ($exitcond) { - break; - } else { - $i$04 = $4; - } - } - STACKTOP = sp;return; - } - $5 = ($len|0)>(0); - if (!($5)) { - STACKTOP = sp;return; - } - $6 = ($buf_c|0)<($data_c|0); - $7 = $6 ? $buf_c : $data_c; - $8 = ($7|0)>(0); - $9 = $data_c ^ -1; - $10 = $buf_c ^ -1; - $11 = ($9|0)>($10|0); - $smax = $11 ? $9 : $10; - $12 = $smax ^ -1; - $$017 = $buffer;$j$016 = 0; - while(1) { - if ($8) { - $13 = (($j$016) + ($d_offset))|0; - $$18 = $$017;$i$17 = 0; - while(1) { - $14 = (($data) + ($i$17<<2)|0); - $15 = HEAP32[$14>>2]|0; - $16 = (($15) + ($13<<2)|0); - $17 = +HEAPF32[$16>>2]; - $18 = $17 + 384.0; - $19 = (HEAPF32[tempDoublePtr>>2]=$18,HEAP32[tempDoublePtr>>2]|0); - $20 = (($19) + -1136656384)|0; - $21 = (($19) + -1136623616)|0; - $22 = ($21>>>0)>(65535); - if ($22) { - $23 = $20 >> 31; - $24 = $23 & -65535; - $25 = (($24) + 32767)|0; - $v$0 = $25; - } else { - $v$0 = $20; - } - $26 = $v$0&65535; - $27 = (($$18) + 2|0); - HEAP16[$$18>>1] = $26; - $28 = (($i$17) + 1)|0; - $exitcond19 = ($28|0)==($12|0); - if ($exitcond19) { - break; - } else { - $$18 = $27;$i$17 = $28; - } - } - $scevgep = (($$017) + ($12<<1)|0); - $$1$lcssa = $scevgep;$i$1$lcssa = $12; - } else { - $$1$lcssa = $$017;$i$1$lcssa = 0; - } - $29 = ($i$1$lcssa|0)<($buf_c|0); - if ($29) { - $30 = (($buf_c) - ($i$1$lcssa))|0; - $31 = $30 << 1; - _memset(($$1$lcssa|0),0,($31|0))|0; - $scevgep20$sum = (($buf_c) - ($i$1$lcssa))|0; - $scevgep21 = (($$1$lcssa) + ($scevgep20$sum<<1)|0); - $$2$lcssa = $scevgep21; - } else { - $$2$lcssa = $$1$lcssa; - } - $32 = (($j$016) + 1)|0; - $exitcond24 = ($32|0)==($len|0); - if ($exitcond24) { - break; - } else { - $$017 = $$2$lcssa;$j$016 = $32; - } - } - STACKTOP = sp;return; -} -function _stb_vorbis_get_samples_short_interleaved($f,$channels,$buffer,$num_shorts) { - $f = $f|0; - $channels = $channels|0; - $buffer = $buffer|0; - $num_shorts = $num_shorts|0; - var $$ = 0, $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0; - var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $n$0 = 0, $n$1 = 0, $outputs = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); - $outputs = sp; - $0 = (($num_shorts|0) / ($channels|0))&-1; - $1 = (($f) + 4|0); - $2 = (($f) + 1524|0); - $3 = (($f) + 1520|0); - $4 = (($f) + 816|0); - $$0 = $buffer;$n$0 = 0; - while(1) { - $5 = ($n$0|0)<($0|0); - if (!($5)) { - $n$1 = $n$0; - label = 7; - break; - } - $6 = HEAP32[$2>>2]|0; - $7 = HEAP32[$3>>2]|0; - $8 = (($6) - ($7))|0; - $9 = (($8) + ($n$0))|0; - $10 = ($9|0)<($0|0); - $11 = (($0) - ($n$0))|0; - $$ = $10 ? $8 : $11; - $12 = ($$|0)==(0); - if (!($12)) { - $13 = HEAP32[$1>>2]|0; - _convert_channels_short_interleaved($channels,$$0,$13,$4,$7,$$); - } - $14 = (($$) + ($n$0))|0; - $15 = HEAP32[$3>>2]|0; - $16 = (($15) + ($$))|0; - HEAP32[$3>>2] = $16; - $17 = ($14|0)==($0|0); - if ($17) { - $n$1 = $14; - label = 7; - break; - } - $18 = Math_imul($$, $channels)|0; - $19 = (($$0) + ($18<<1)|0); - $20 = (_stb_vorbis_get_frame_float($f,0,$outputs)|0); - $21 = ($20|0)==(0); - if ($21) { - $n$1 = $14; - label = 7; - break; - } else { - $$0 = $19;$n$0 = $14; - } - } - if ((label|0) == 7) { - STACKTOP = sp;return ($n$1|0); - } - return 0|0; -} -function _compute_stereo_samples($output,$num_c,$data,$d_offset,$len) { - $output = $output|0; - $num_c = $num_c|0; - $data = $data|0; - $d_offset = $d_offset|0; - $len = $len|0; - var $$n$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0.0, $35 = 0, $36 = 0, $37 = 0.0, $38 = 0.0, $39 = 0, $4 = 0, $40 = 0.0, $41 = 0, $42 = 0, $43 = 0.0; - var $44 = 0.0, $45 = 0, $46 = 0, $47 = 0, $48 = 0.0, $49 = 0, $5 = 0, $50 = 0, $51 = 0.0, $52 = 0.0, $53 = 0, $54 = 0, $55 = 0, $56 = 0.0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0.0, $61 = 0.0; - var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0.0, $72 = 0.0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0; - var $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $9 = 0, $buffer = 0, $exitcond = 0, $exitcond23 = 0, $exitcond27 = 0, $exitcond28 = 0, $exitcond32 = 0, $i$08 = 0, $i$14 = 0, $i$21 = 0, $i$313 = 0, $indvars$iv$next30 = 0, $indvars$iv29 = 0, $j$011 = 0; - var $n$015 = 0, $o$016 = 0, $smax = 0, $smax22 = 0, $smax26 = 0, $smax31 = 0, $v$0 = 0, dest = 0, label = 0, sp = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); - $buffer = sp; - $0 = ($len|0)>(0); - if (!($0)) { - STACKTOP = sp;return; - } - $1 = ($num_c|0)>(0); - $2 = $len ^ -1; - $indvars$iv29 = -1;$n$015 = 16;$o$016 = 0; - while(1) { - $3 = $o$016 << 1; - dest=$buffer+0|0; stop=dest+128|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - $4 = (($o$016) + ($n$015))|0; - $5 = ($4|0)>($len|0); - $6 = (($len) - ($o$016))|0; - $$n$0 = $5 ? $6 : $n$015; - if ($1) { - $7 = ($$n$0|0)>(0); - $8 = (($o$016) + ($d_offset))|0; - $9 = ($$n$0|0)>(0); - $10 = (($o$016) + ($d_offset))|0; - $11 = ($$n$0|0)>(0); - $12 = (($o$016) + ($d_offset))|0; - $13 = (($indvars$iv29) - ($n$015))|0; - $14 = ($13|0)>($2|0); - $smax = $14 ? $13 : $2; - $15 = (($indvars$iv29) - ($smax))|0; - $16 = (($indvars$iv29) - ($n$015))|0; - $17 = ($16|0)>($2|0); - $smax22 = $17 ? $16 : $2; - $18 = (($indvars$iv29) - ($smax22))|0; - $19 = (($indvars$iv29) - ($n$015))|0; - $20 = ($19|0)>($2|0); - $smax26 = $20 ? $19 : $2; - $21 = (($indvars$iv29) - ($smax26))|0; - $j$011 = 0; - while(1) { - $22 = ((17704 + (($num_c*6)|0)|0) + ($j$011)|0); - $23 = HEAP8[$22>>0]|0; - $24 = $23&255; - $25 = $24 & 6; - if ((($25|0) == 6)) { - if ($11) { - $26 = (($data) + ($j$011<<2)|0); - $27 = HEAP32[$26>>2]|0; - $i$08 = 0; - while(1) { - $32 = (($12) + ($i$08))|0; - $33 = (($27) + ($32<<2)|0); - $34 = +HEAPF32[$33>>2]; - $35 = $i$08 << 1; - $36 = (($buffer) + ($35<<2)|0); - $37 = +HEAPF32[$36>>2]; - $38 = $34 + $37; - HEAPF32[$36>>2] = $38; - $39 = (($27) + ($32<<2)|0); - $40 = +HEAPF32[$39>>2]; - $41 = $35 | 1; - $42 = (($buffer) + ($41<<2)|0); - $43 = +HEAPF32[$42>>2]; - $44 = $40 + $43; - HEAPF32[$42>>2] = $44; - $45 = (($i$08) + 1)|0; - $exitcond27 = ($45|0)==($21|0); - if ($exitcond27) { - break; - } else { - $i$08 = $45; - } - } - } - } else if ((($25|0) == 2)) { - if ($9) { - $28 = (($data) + ($j$011<<2)|0); - $29 = HEAP32[$28>>2]|0; - $i$14 = 0; - while(1) { - $46 = (($10) + ($i$14))|0; - $47 = (($29) + ($46<<2)|0); - $48 = +HEAPF32[$47>>2]; - $49 = $i$14 << 1; - $50 = (($buffer) + ($49<<2)|0); - $51 = +HEAPF32[$50>>2]; - $52 = $48 + $51; - HEAPF32[$50>>2] = $52; - $53 = (($i$14) + 1)|0; - $exitcond23 = ($53|0)==($18|0); - if ($exitcond23) { - break; - } else { - $i$14 = $53; - } - } - } - } else if ((($25|0) == 4)) { - if ($7) { - $30 = (($data) + ($j$011<<2)|0); - $31 = HEAP32[$30>>2]|0; - $i$21 = 0; - while(1) { - $54 = (($8) + ($i$21))|0; - $55 = (($31) + ($54<<2)|0); - $56 = +HEAPF32[$55>>2]; - $57 = $i$21 << 1; - $58 = $57 | 1; - $59 = (($buffer) + ($58<<2)|0); - $60 = +HEAPF32[$59>>2]; - $61 = $56 + $60; - HEAPF32[$59>>2] = $61; - $62 = (($i$21) + 1)|0; - $exitcond = ($62|0)==($15|0); - if ($exitcond) { - break; - } else { - $i$21 = $62; - } - } - } - } - $63 = (($j$011) + 1)|0; - $exitcond28 = ($63|0)==($num_c|0); - if ($exitcond28) { - break; - } else { - $j$011 = $63; - } - } - } - $64 = $$n$0 << 1; - $65 = ($64|0)>(0); - if ($65) { - $66 = (($indvars$iv29) - ($n$015))|0; - $67 = ($66|0)>($2|0); - $smax31 = $67 ? $66 : $2; - $68 = (($indvars$iv29) - ($smax31))|0; - $69 = $68 << 1; - $i$313 = 0; - while(1) { - $70 = (($buffer) + ($i$313<<2)|0); - $71 = +HEAPF32[$70>>2]; - $72 = $71 + 384.0; - $73 = (HEAPF32[tempDoublePtr>>2]=$72,HEAP32[tempDoublePtr>>2]|0); - $74 = (($73) + -1136656384)|0; - $75 = (($73) + -1136623616)|0; - $76 = ($75>>>0)>(65535); - if ($76) { - $77 = $74 >> 31; - $78 = $77 & -65535; - $79 = (($78) + 32767)|0; - $v$0 = $79; - } else { - $v$0 = $74; - } - $80 = $v$0&65535; - $81 = (($i$313) + ($3))|0; - $82 = (($output) + ($81<<1)|0); - HEAP16[$82>>1] = $80; - $83 = (($i$313) + 1)|0; - $exitcond32 = ($83|0)==($69|0); - if ($exitcond32) { - break; - } else { - $i$313 = $83; - } - } - } - $84 = (($o$016) + 16)|0; - $85 = ($84|0)<($len|0); - $indvars$iv$next30 = (($indvars$iv29) + -16)|0; - if ($85) { - $indvars$iv29 = $indvars$iv$next30;$n$015 = $$n$0;$o$016 = $84; - } else { - break; - } - } - STACKTOP = sp;return; -} -function _get8($z) { - $z = $z|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (($z) + 32|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)==(0|0); - do { - if ($2) { - $9 = (($z) + 20|0); - $10 = HEAP32[$9>>2]|0; - $11 = (_fgetc(($10|0))|0); - $12 = ($11|0)==(-1); - if ($12) { - $13 = (($z) + 112|0); - HEAP32[$13>>2] = 1; - $$0 = 0; - break; - } else { - $14 = $11&255; - $$0 = $14; - break; - } - } else { - $3 = (($z) + 40|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($1>>>0)<($4>>>0); - if ($5) { - $7 = (($1) + 1|0); - HEAP32[$0>>2] = $7; - $8 = HEAP8[$1>>0]|0; - $$0 = $8; - break; - } else { - $6 = (($z) + 112|0); - HEAP32[$6>>2] = 1; - $$0 = 0; - break; - } - } - } while(0); - STACKTOP = sp;return ($$0|0); -} -function _crc32_update($crc,$byte) { - $crc = $crc|0; - $byte = $byte|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = $crc << 8; - $1 = $byte&255; - $2 = $crc >>> 24; - $3 = $1 ^ $2; - $4 = (17760 + ($3<<2)|0); - $5 = HEAP32[$4>>2]|0; - $6 = $5 ^ $0; - STACKTOP = sp;return ($6|0); -} -function _ilog($n) { - $n = $n|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ($n|0)<(16384); - do { - if ($0) { - $1 = ($n|0)<(16); - if ($1) { - $2 = (18784 + ($n)|0); - $3 = HEAP8[$2>>0]|0; - $4 = $3 << 24 >> 24; - $$0 = $4; - break; - } - $5 = ($n|0)<(512); - if ($5) { - $6 = $n >> 5; - $7 = (18784 + ($6)|0); - $8 = HEAP8[$7>>0]|0; - $9 = $8 << 24 >> 24; - $10 = (($9) + 5)|0; - $$0 = $10; - break; - } else { - $11 = $n >> 10; - $12 = (18784 + ($11)|0); - $13 = HEAP8[$12>>0]|0; - $14 = $13 << 24 >> 24; - $15 = (($14) + 10)|0; - $$0 = $15; - break; - } - } else { - $16 = ($n|0)<(16777216); - if (!($16)) { - $28 = ($n|0)<(536870912); - if (!($28)) { - $$0 = 0; - break; - } - $29 = $n >> 25; - $30 = (18784 + ($29)|0); - $31 = HEAP8[$30>>0]|0; - $32 = $31 << 24 >> 24; - $33 = (($32) + 25)|0; - $$0 = $33; - break; - } - $17 = ($n|0)<(524288); - if ($17) { - $18 = $n >> 15; - $19 = (18784 + ($18)|0); - $20 = HEAP8[$19>>0]|0; - $21 = $20 << 24 >> 24; - $22 = (($21) + 15)|0; - $$0 = $22; - break; - } else { - $23 = $n >> 20; - $24 = (18784 + ($23)|0); - $25 = HEAP8[$24>>0]|0; - $26 = $25 << 24 >> 24; - $27 = (($26) + 20)|0; - $$0 = $27; - break; - } - } - } while(0); - STACKTOP = sp;return ($$0|0); -} -function _skip($z,$n) { - $z = $z|0; - $n = $n|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (($z) + 32|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)==(0|0); - if ($2) { - $8 = (($z) + 20|0); - $9 = HEAP32[$8>>2]|0; - $10 = (_ftell(($9|0))|0); - $11 = HEAP32[$8>>2]|0; - $12 = (($10) + ($n))|0; - (_fseek(($11|0),($12|0),0)|0); - STACKTOP = sp;return; - } - $3 = (($1) + ($n)|0); - HEAP32[$0>>2] = $3; - $4 = (($z) + 40|0); - $5 = HEAP32[$4>>2]|0; - $6 = ($3>>>0)<($5>>>0); - if ($6) { - STACKTOP = sp;return; - } - $7 = (($z) + 112|0); - HEAP32[$7>>2] = 1; - STACKTOP = sp;return; -} -function _vorbis_decode_initial($f,$p_left_start,$p_left_end,$p_right_start,$p_right_end,$mode) { - $f = $f|0; - $p_left_start = $p_left_start|0; - $p_left_end = $p_left_end|0; - $p_right_start = $p_right_start|0; - $p_right_end = $p_right_end|0; - $mode = $mode|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; - var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0; - var $7 = 0, $8 = 0, $9 = 0, $n$0 = 0, $next$0 = 0, $or$cond = 0, $or$cond2 = 0, $phitmp = 0, $prev$0 = 0, $storemerge = 0, $storemerge1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (($f) + 1524|0); - HEAP32[$0>>2] = 0; - $1 = (($f) + 1520|0); - HEAP32[$1>>2] = 0; - $2 = (($f) + 112|0); - $3 = HEAP32[$2>>2]|0; - $4 = ($3|0)==(0); - if (!($4)) { - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $5 = (($f) + 48|0); - while(1) { - $8 = (_maybe_start_packet($f)|0); - $9 = ($8|0)==(0); - if ($9) { - $$0 = 0; - label = 24; - break; - } - $10 = (_get_bits($f,1)|0); - $11 = ($10|0)==(0); - if ($11) { - label = 9; - break; - } - $12 = HEAP8[$5>>0]|0; - $13 = ($12<<24>>24)==(0); - if (!($13)) { - label = 7; - break; - } - while(1) { - $14 = (_get8_packet($f)|0); - $15 = ($14|0)==(-1); - if ($15) { - break; - } - } - $6 = HEAP32[$2>>2]|0; - $7 = ($6|0)==(0); - if (!($7)) { - $$0 = 0; - label = 24; - break; - } - } - if ((label|0) == 7) { - _error($f,35); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - else if ((label|0) == 9) { - $16 = (($f) + 96|0); - $17 = HEAP32[$16>>2]|0; - $18 = ($17|0)==(0|0); - if (!($18)) { - $19 = (($f) + 100|0); - $20 = HEAP32[$19>>2]|0; - $21 = (($f) + 108|0); - $22 = HEAP32[$21>>2]|0; - $23 = ($20|0)==($22|0); - if (!($23)) { - ___assert_fail((18880|0),(17648|0),2796,(18936|0)); - // unreachable; - } - } - $24 = (($f) + 424|0); - $25 = HEAP32[$24>>2]|0; - $26 = (($25) + -1)|0; - $27 = (_ilog($26)|0); - $28 = (_get_bits($f,$27)|0); - $29 = ($28|0)==(-1); - if ($29) { - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $30 = HEAP32[$24>>2]|0; - $31 = ($28|0)<($30|0); - if (!($31)) { - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - HEAP32[$mode>>2] = $28; - $32 = ((($f) + (($28*6)|0)|0) + 428|0); - $33 = HEAP8[$32>>0]|0; - $34 = ($33<<24>>24)==(0); - if ($34) { - $39 = (($f) + 128|0); - $40 = HEAP32[$39>>2]|0; - $n$0 = $40;$next$0 = 0;$prev$0 = 1; - } else { - $35 = (($f) + 132|0); - $36 = HEAP32[$35>>2]|0; - $37 = (_get_bits($f,1)|0); - $38 = (_get_bits($f,1)|0); - $phitmp = ($37|0)==(0); - $n$0 = $36;$next$0 = $38;$prev$0 = $phitmp; - } - $41 = $n$0 >> 1; - $42 = HEAP8[$32>>0]|0; - $43 = ($42<<24>>24)!=(0); - $or$cond = $43 & $prev$0; - if ($or$cond) { - $44 = (($f) + 128|0); - $45 = HEAP32[$44>>2]|0; - $46 = (($n$0) - ($45))|0; - $47 = $46 >> 2; - HEAP32[$p_left_start>>2] = $47; - $48 = HEAP32[$44>>2]|0; - $49 = (($48) + ($n$0))|0; - $50 = $49 >> 2; - $storemerge = $50; - } else { - HEAP32[$p_left_start>>2] = 0; - $storemerge = $41; - } - HEAP32[$p_left_end>>2] = $storemerge; - $51 = HEAP8[$32>>0]|0; - $52 = ($51<<24>>24)!=(0); - $53 = ($next$0|0)==(0); - $or$cond2 = $52 & $53; - if ($or$cond2) { - $54 = ($n$0*3)|0; - $55 = (($f) + 128|0); - $56 = HEAP32[$55>>2]|0; - $57 = (($54) - ($56))|0; - $58 = $57 >> 2; - HEAP32[$p_right_start>>2] = $58; - $59 = HEAP32[$55>>2]|0; - $60 = (($59) + ($54))|0; - $61 = $60 >> 2; - $storemerge1 = $61; - } else { - HEAP32[$p_right_start>>2] = $41; - $storemerge1 = $n$0; - } - HEAP32[$p_right_end>>2] = $storemerge1; - $$0 = 1; - STACKTOP = sp;return ($$0|0); - } - else if ((label|0) == 24) { - STACKTOP = sp;return ($$0|0); - } - return 0|0; -} -function _flush_packet($f) { - $f = $f|0; - var $0 = 0, $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - while(1) { - $0 = (_get8_packet_raw($f)|0); - $1 = ($0|0)==(-1); - if ($1) { - break; - } - } - STACKTOP = sp;return; -} -function _maybe_start_packet($f) { - $f = $f|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $3 = 0, $4 = 0, $5 = 0; - var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (($f) + 1396|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)==(-1); - do { - if ($2) { - $3 = (_get8($f)|0); - $4 = (($f) + 112|0); - $5 = HEAP32[$4>>2]|0; - $6 = ($5|0)==(0); - if ($6) { - $7 = ($3<<24>>24)==(79); - if (!($7)) { - _error($f,30); - $$0 = 0; - break; - } - $8 = (_get8($f)|0); - $9 = ($8<<24>>24)==(103); - if (!($9)) { - _error($f,30); - $$0 = 0; - break; - } - $10 = (_get8($f)|0); - $11 = ($10<<24>>24)==(103); - if (!($11)) { - _error($f,30); - $$0 = 0; - break; - } - $12 = (_get8($f)|0); - $13 = ($12<<24>>24)==(83); - if (!($13)) { - _error($f,30); - $$0 = 0; - break; - } - $14 = (_start_page_no_capturepattern($f)|0); - $15 = ($14|0)==(0); - if ($15) { - $$0 = 0; - } else { - $16 = (($f) + 1391|0); - $17 = HEAP8[$16>>0]|0; - $18 = $17 & 1; - $19 = ($18<<24>>24)==(0); - if ($19) { - label = 14; - } else { - $20 = (($f) + 1400|0); - HEAP32[$20>>2] = 0; - $21 = (($f) + 1392|0); - HEAP8[$21>>0] = 0; - _error($f,32); - $$0 = 0; - } - } - } else { - $$0 = 0; - } - } else { - label = 14; - } - } while(0); - if ((label|0) == 14) { - $22 = (_start_packet($f)|0); - $$0 = $22; - } - STACKTOP = sp;return ($$0|0); -} -function _start_page_no_capturepattern($f) { - $f = $f|0; - var $$0 = 0, $$lcssa = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; - var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0; - var $43 = 0, $44 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i$0 = 0, $i$0$in = 0, $i1$02 = 0, $len$0$lcssa = 0, $len$01 = 0, $or$cond = 0, $phitmp = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_get8($f)|0); - $1 = ($0<<24>>24)==(0); - if (!($1)) { - _error($f,31); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $2 = (_get8($f)|0); - $3 = (($f) + 1391|0); - HEAP8[$3>>0] = $2; - $4 = (_get32($f)|0); - $5 = (_get32($f)|0); - (_get32($f)|0); - $6 = (_get32($f)|0); - $7 = (($f) + 1128|0); - HEAP32[$7>>2] = $6; - (_get32($f)|0); - $8 = (_get8($f)|0); - $9 = $8&255; - $10 = (($f) + 1132|0); - HEAP32[$10>>2] = $9; - $11 = (($f) + 1136|0); - $12 = (_getn($f,$11,$9)|0); - $13 = ($12|0)==(0); - if ($13) { - _error($f,10); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $14 = (($f) + 1420|0); - HEAP32[$14>>2] = -2; - $15 = ($4|0)==(-1); - $16 = ($5|0)==(-1); - $or$cond = $15 & $16; - L9: do { - if (!($or$cond)) { - $17 = HEAP32[$10>>2]|0; - $i$0$in = $17; - while(1) { - $i$0 = (($i$0$in) + -1)|0; - $18 = ($i$0$in|0)>(0); - if (!($18)) { - break L9; - } - $19 = ((($f) + ($i$0)|0) + 1136|0); - $20 = HEAP8[$19>>0]|0; - $21 = ($20<<24>>24)==(-1); - if ($21) { - $i$0$in = $i$0; - } else { - break; - } - } - HEAP32[$14>>2] = $i$0; - $22 = (($f) + 1424|0); - HEAP32[$22>>2] = $4; - } - } while(0); - $23 = (($f) + 1393|0); - $24 = HEAP8[$23>>0]|0; - $25 = ($24<<24>>24)==(0); - if (!($25)) { - $26 = HEAP32[$10>>2]|0; - $27 = ($26|0)>(0); - if ($27) { - $28 = HEAP32[$10>>2]|0; - $i1$02 = 0;$len$01 = 0; - while(1) { - $29 = ((($f) + ($i1$02)|0) + 1136|0); - $30 = HEAP8[$29>>0]|0; - $31 = $30&255; - $32 = (($31) + ($len$01))|0; - $33 = (($i1$02) + 1)|0; - $34 = ($33|0)<($28|0); - if ($34) { - $i1$02 = $33;$len$01 = $32; - } else { - break; - } - } - $phitmp = (($32) + 27)|0; - $$lcssa = $28;$len$0$lcssa = $phitmp; - } else { - $$lcssa = $26;$len$0$lcssa = 27; - } - $35 = (($f) + 52|0); - $36 = HEAP32[$35>>2]|0; - $37 = (($len$0$lcssa) + ($$lcssa))|0; - $38 = (($37) + ($36))|0; - $39 = (($f) + 56|0); - HEAP32[$39>>2] = $36; - $40 = (($f) + 60|0); - HEAP32[$40>>2] = $38; - $41 = (($f) + 64|0); - HEAP32[$41>>2] = $36; - $42 = (($f) + 68|0); - HEAP32[$42>>2] = 0; - $43 = (($f) + 72|0); - HEAP32[$43>>2] = $4; - } - $44 = (($f) + 1396|0); - HEAP32[$44>>2] = 0; - $$0 = 1; - STACKTOP = sp;return ($$0|0); -} -function _start_packet($f) { - $f = $f|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (($f) + 1396|0); - $1 = (($f) + 1391|0); - while(1) { - $2 = HEAP32[$0>>2]|0; - $3 = ($2|0)==(-1); - if (!($3)) { - label = 6; - break; - } - $4 = (_start_page($f)|0); - $5 = ($4|0)==(0); - if ($5) { - $$0 = 0; - label = 7; - break; - } - $6 = HEAP8[$1>>0]|0; - $7 = $6 & 1; - $8 = ($7<<24>>24)==(0); - if (!($8)) { - label = 5; - break; - } - } - if ((label|0) == 5) { - _error($f,32); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - else if ((label|0) == 6) { - $9 = (($f) + 1400|0); - HEAP32[$9>>2] = 0; - $10 = (($f) + 1412|0); - HEAP32[$10>>2] = 0; - $11 = (($f) + 1416|0); - HEAP32[$11>>2] = 0; - $12 = (($f) + 1392|0); - HEAP8[$12>>0] = 0; - $$0 = 1; - STACKTOP = sp;return ($$0|0); - } - else if ((label|0) == 7) { - STACKTOP = sp;return ($$0|0); - } - return 0|0; -} -function _start_page($f) { - $f = $f|0; - var $$0 = 0, $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_capture_pattern($f)|0); - $1 = ($0|0)==(0); - if ($1) { - _error($f,30); - $$0 = 0; - } else { - $2 = (_start_page_no_capturepattern($f)|0); - $$0 = $2; - } - STACKTOP = sp;return ($$0|0); -} -function _capture_pattern($f) { - $f = $f|0; - var $$ = 0, $$0 = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_get8($f)|0); - $1 = ($0<<24>>24)==(79); - if ($1) { - $2 = (_get8($f)|0); - $3 = ($2<<24>>24)==(103); - if ($3) { - $4 = (_get8($f)|0); - $5 = ($4<<24>>24)==(103); - if ($5) { - $6 = (_get8($f)|0); - $7 = ($6<<24>>24)==(83); - $$ = $7&1; - $$0 = $$; - } else { - $$0 = 0; - } - } else { - $$0 = 0; - } - } else { - $$0 = 0; - } - STACKTOP = sp;return ($$0|0); -} -function _get8_packet_raw($f) { - $f = $f|0; - var $$0 = 0, $$pr = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (($f) + 1392|0); - $1 = HEAP8[$0>>0]|0; - $2 = ($1<<24>>24)==(0); - if ($2) { - $3 = (($f) + 1400|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)==(0); - if (!($5)) { - $$0 = -1; - STACKTOP = sp;return ($$0|0); - } - $6 = (_next_segment($f)|0); - $7 = ($6|0)==(0); - if ($7) { - $$0 = -1; - STACKTOP = sp;return ($$0|0); - } - $$pr = HEAP8[$0>>0]|0; - $8 = ($$pr<<24>>24)==(0); - if ($8) { - ___assert_fail((18800|0),(17648|0),1130,(18824|0)); - // unreachable; - } else { - $10 = $$pr; - } - } else { - $10 = $1; - } - $9 = (($10) + -1)<<24>>24; - HEAP8[$0>>0] = $9; - $11 = (($f) + 1416|0); - $12 = HEAP32[$11>>2]|0; - $13 = (($12) + 1)|0; - HEAP32[$11>>2] = $13; - $14 = (_get8($f)|0); - $15 = $14&255; - $$0 = $15; - STACKTOP = sp;return ($$0|0); -} -function _next_segment($f) { - $f = $f|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (($f) + 1400|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)==(0); - if (!($2)) { - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $3 = (($f) + 1396|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)==(-1); - if ($5) { - $6 = (($f) + 1132|0); - $7 = HEAP32[$6>>2]|0; - $8 = (($7) + -1)|0; - $9 = (($f) + 1404|0); - HEAP32[$9>>2] = $8; - $10 = (_start_page($f)|0); - $11 = ($10|0)==(0); - if ($11) { - HEAP32[$0>>2] = 1; - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $12 = (($f) + 1391|0); - $13 = HEAP8[$12>>0]|0; - $14 = $13 & 1; - $15 = ($14<<24>>24)==(0); - if ($15) { - _error($f,32); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - } - $16 = HEAP32[$3>>2]|0; - $17 = (($16) + 1)|0; - HEAP32[$3>>2] = $17; - $18 = ((($f) + ($16)|0) + 1136|0); - $19 = HEAP8[$18>>0]|0; - $20 = $19&255; - $21 = ($19<<24>>24)==(-1); - if (!($21)) { - HEAP32[$0>>2] = 1; - $22 = HEAP32[$3>>2]|0; - $23 = (($22) + -1)|0; - $24 = (($f) + 1404|0); - HEAP32[$24>>2] = $23; - } - $25 = HEAP32[$3>>2]|0; - $26 = (($f) + 1132|0); - $27 = HEAP32[$26>>2]|0; - $28 = ($25|0)<($27|0); - if (!($28)) { - HEAP32[$3>>2] = -1; - } - $29 = (($f) + 1392|0); - $30 = HEAP8[$29>>0]|0; - $31 = ($30<<24>>24)==(0); - if (!($31)) { - ___assert_fail((18840|0),(17648|0),1116,(18864|0)); - // unreachable; - } - HEAP8[$29>>0] = $19; - $$0 = $20; - STACKTOP = sp;return ($$0|0); -} -function _get_bits($f,$n) { - $f = $f|0; - $n = $n|0; - var $$0 = 0, $$pr = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; - var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (($f) + 1412|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)<(0); - if ($2) { - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $3 = ($1|0)<($n|0); - L4: do { - if ($3) { - $4 = ($n|0)>(24); - if ($4) { - $5 = (_get_bits($f,24)|0); - $6 = (($n) + -24)|0; - $7 = (_get_bits($f,$6)|0); - $8 = $7 << 24; - $9 = (($8) + ($5))|0; - STACKTOP = sp;return ($9|0); - } - $10 = ($1|0)==(0); - if ($10) { - $11 = (($f) + 1408|0); - HEAP32[$11>>2] = 0; - } - $12 = HEAP32[$0>>2]|0; - $13 = ($12|0)<($n|0); - if ($13) { - $14 = (($f) + 1408|0); - while(1) { - $15 = (_get8_packet_raw($f)|0); - $16 = ($15|0)==(-1); - if ($16) { - break; - } - $17 = HEAP32[$0>>2]|0; - $18 = $15 << $17; - $19 = HEAP32[$14>>2]|0; - $20 = (($19) + ($18))|0; - HEAP32[$14>>2] = $20; - $21 = HEAP32[$0>>2]|0; - $22 = (($21) + 8)|0; - HEAP32[$0>>2] = $22; - $23 = ($22|0)<($n|0); - if (!($23)) { - $25 = $22; - break L4; - } - } - HEAP32[$0>>2] = -1; - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } else { - $25 = $12; - } - } else { - $$pr = HEAP32[$0>>2]|0; - $25 = $$pr; - } - } while(0); - $24 = ($25|0)<(0); - if ($24) { - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $26 = (($f) + 1408|0); - $27 = HEAP32[$26>>2]|0; - $28 = 1 << $n; - $29 = (($28) + -1)|0; - $30 = $27 & $29; - $31 = $27 >>> $n; - HEAP32[$26>>2] = $31; - $32 = HEAP32[$0>>2]|0; - $33 = (($32) - ($n))|0; - HEAP32[$0>>2] = $33; - $$0 = $30; - STACKTOP = sp;return ($$0|0); -} -function _setup_malloc($f,$sz) { - $f = $f|0; - $sz = $sz|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (($sz) + 3)|0; - $1 = $0 & -4; - $2 = (($f) + 8|0); - $3 = HEAP32[$2>>2]|0; - $4 = (($3) + ($1))|0; - HEAP32[$2>>2] = $4; - $5 = (($f) + 96|0); - $6 = HEAP32[$5>>2]|0; - $7 = ($6|0)==(0|0); - if ($7) { - $15 = ($1|0)==(0); - if ($15) { - $$0 = 0; - } else { - $16 = (_malloc($1)|0); - $$0 = $16; - } - } else { - $8 = (($f) + 104|0); - $9 = HEAP32[$8>>2]|0; - $10 = (($9) + ($1))|0; - $11 = (($f) + 108|0); - $12 = HEAP32[$11>>2]|0; - $13 = ($10|0)>($12|0); - if ($13) { - $$0 = 0; - } else { - $14 = (($6) + ($9)|0); - HEAP32[$8>>2] = $10; - $$0 = $14; - } - } - STACKTOP = sp;return ($$0|0); -} -function _vorbis_validate($data) { - $data = $data|0; - var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_memcmp($data,19320,6)|0); - $1 = ($0|0)==(0); - $2 = $1&1; - STACKTOP = sp;return ($2|0); -} -function _crc32_init() { - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $i$03 = 0, label = 0, sp = 0; - sp = STACKTOP; - $i$03 = 0; - while(1) { - $0 = $i$03 << 24; - $1 = $i$03 << 25; - $2 = $0 >> 31; - $3 = $2 & 79764919; - $4 = $3 ^ $1; - $5 = $4 << 1; - $6 = $1 >> 31; - $7 = $6 & 79764919; - $8 = $7 ^ $5; - $9 = $8 << 1; - $10 = $5 >> 31; - $11 = $10 & 79764919; - $12 = $11 ^ $9; - $13 = $12 << 1; - $14 = $9 >> 31; - $15 = $14 & 79764919; - $16 = $15 ^ $13; - $17 = $16 << 1; - $18 = $13 >> 31; - $19 = $18 & 79764919; - $20 = $19 ^ $17; - $21 = $20 << 1; - $22 = $17 >> 31; - $23 = $22 & 79764919; - $24 = $23 ^ $21; - $25 = $24 << 1; - $26 = $21 >> 31; - $27 = $26 & 79764919; - $28 = $27 ^ $25; - $29 = $28 << 1; - $30 = $25 >> 31; - $31 = $30 & 79764919; - $32 = $31 ^ $29; - $33 = (17760 + ($i$03<<2)|0); - HEAP32[$33>>2] = $32; - $34 = (($i$03) + 1)|0; - $exitcond = ($34|0)==(256); - if ($exitcond) { - break; - } else { - $i$03 = $34; - } - } - STACKTOP = sp;return; -} -function _setup_temp_malloc($f,$sz) { - $f = $f|0; - $sz = $sz|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (($sz) + 3)|0; - $1 = $0 & -4; - $2 = (($f) + 96|0); - $3 = HEAP32[$2>>2]|0; - $4 = ($3|0)==(0|0); - if ($4) { - $13 = (_malloc($1)|0); - $$0 = $13; - STACKTOP = sp;return ($$0|0); - } - $5 = (($f) + 108|0); - $6 = HEAP32[$5>>2]|0; - $7 = (($6) - ($1))|0; - $8 = (($f) + 104|0); - $9 = HEAP32[$8>>2]|0; - $10 = ($7|0)<($9|0); - if ($10) { - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - HEAP32[$5>>2] = $7; - $11 = HEAP32[$2>>2]|0; - $12 = (($11) + ($7)|0); - $$0 = $12; - STACKTOP = sp;return ($$0|0); -} -function _setup_temp_free($f,$p,$sz) { - $f = $f|0; - $p = $p|0; - $sz = $sz|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (($f) + 96|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)==(0|0); - if ($2) { - _free($p); - STACKTOP = sp;return; - } else { - $3 = (($sz) + 3)|0; - $4 = $3 & -4; - $5 = (($f) + 108|0); - $6 = HEAP32[$5>>2]|0; - $7 = (($6) + ($4))|0; - HEAP32[$5>>2] = $7; - STACKTOP = sp;return; - } -} -function _compute_codewords($c,$len,$n,$values) { - $c = $c|0; - $len = $len|0; - $n = $n|0; - $values = $values|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $available = 0, $i$011 = 0, $i$1 = 0, $i$1$in = 0, $i$1$in$ph = 0, $k$0$lcssa = 0, $k$013 = 0, $m$0$ph = 0, $y$05 = 0, $z$0$lcssa = 0, $z$02 = 0; - var $z$03 = 0, dest = 0, label = 0, sp = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); - $available = sp; - dest=$available+0|0; stop=dest+128|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - $0 = ($n|0)>(0); - L1: do { - if ($0) { - $k$013 = 0; - while(1) { - $3 = (($len) + ($k$013)|0); - $4 = HEAP8[$3>>0]|0; - $5 = ($4<<24>>24)==(-1); - $2 = (($k$013) + 1)|0; - if (!($5)) { - $k$0$lcssa = $k$013; - break L1; - } - $1 = ($2|0)<($n|0); - if ($1) { - $k$013 = $2; - } else { - $k$0$lcssa = $2; - break; - } - } - } else { - $k$0$lcssa = 0; - } - } while(0); - $6 = ($k$0$lcssa|0)==($n|0); - if ($6) { - $7 = (($c) + 2092|0); - $8 = HEAP32[$7>>2]|0; - $9 = ($8|0)==(0); - if ($9) { - STACKTOP = sp;return; - } else { - ___assert_fail((19240|0),(17648|0),657,(19264|0)); - // unreachable; - } - } - $10 = (($len) + ($k$0$lcssa)|0); - $11 = HEAP8[$10>>0]|0; - $12 = $11&255; - _add_entry($c,0,$k$0$lcssa,0,$12,$values); - $13 = HEAP8[$10>>0]|0; - $14 = ($13<<24>>24)==(0); - if ($14) { - $i$1$in$ph = $k$0$lcssa;$m$0$ph = 1; - } else { - $15 = HEAP8[$10>>0]|0; - $16 = $15&255; - $i$011 = 1; - while(1) { - $17 = (32 - ($i$011))|0; - $18 = 1 << $17; - $19 = (($available) + ($i$011<<2)|0); - HEAP32[$19>>2] = $18; - $20 = (($i$011) + 1)|0; - $21 = ($i$011|0)<($16|0); - if ($21) { - $i$011 = $20; - } else { - $i$1$in$ph = $k$0$lcssa;$m$0$ph = 1; - break; - } - } - } - L16: while(1) { - $i$1$in = $i$1$in$ph; - while(1) { - $i$1 = (($i$1$in) + 1)|0; - $22 = ($i$1|0)<($n|0); - if (!($22)) { - label = 21; - break L16; - } - $23 = (($len) + ($i$1)|0); - $24 = HEAP8[$23>>0]|0; - $25 = $24&255; - if ((($24<<24>>24) == 0)) { - $z$0$lcssa = $25; - label = 15; - break; - } else if ((($24<<24>>24) == -1)) { - $i$1$in = $i$1; - } else { - $z$03 = $25; - label = 14; - break; - } - } - L21: do { - if ((label|0) == 14) { - while(1) { - label = 0; - $28 = (($available) + ($z$03<<2)|0); - $29 = HEAP32[$28>>2]|0; - $30 = ($29|0)==(0); - $27 = (($z$03) + -1)|0; - if (!($30)) { - $z$02 = $z$03; - break L21; - } - $26 = ($27|0)>(0); - if ($26) { - $z$03 = $27; - label = 14; - } else { - $z$0$lcssa = $27; - label = 15; - break; - } - } - } - } while(0); - if ((label|0) == 15) { - label = 0; - $31 = ($z$0$lcssa|0)==(0); - if ($31) { - label = 16; - break; - } else { - $z$02 = $z$0$lcssa; - } - } - $32 = (($available) + ($z$02<<2)|0); - $33 = HEAP32[$32>>2]|0; - HEAP32[$32>>2] = 0; - $34 = (_bit_reverse($33)|0); - $35 = (($m$0$ph) + 1)|0; - $36 = HEAP8[$23>>0]|0; - $37 = $36&255; - _add_entry($c,$34,$i$1,$m$0$ph,$37,$values); - $38 = HEAP8[$23>>0]|0; - $39 = $38&255; - $40 = ($39|0)>($z$02|0); - if ($40) { - $y$05 = $39; - } else { - $i$1$in$ph = $i$1;$m$0$ph = $35; - continue; - } - while(1) { - $41 = (($available) + ($y$05<<2)|0); - $42 = HEAP32[$41>>2]|0; - $43 = ($42|0)==(0); - if (!($43)) { - label = 19; - break L16; - } - $44 = (32 - ($y$05))|0; - $45 = 1 << $44; - $46 = (($45) + ($33))|0; - HEAP32[$41>>2] = $46; - $47 = (($y$05) + -1)|0; - $48 = ($47|0)>($z$02|0); - if ($48) { - $y$05 = $47; - } else { - $i$1$in$ph = $i$1;$m$0$ph = $35; - continue L16; - } - } - } - if ((label|0) == 16) { - ___assert_fail((19288|0),(17648|0),678,(19264|0)); - // unreachable; - } - else if ((label|0) == 19) { - ___assert_fail((19296|0),(17648|0),685,(19264|0)); - // unreachable; - } - else if ((label|0) == 21) { - STACKTOP = sp;return; - } -} -function _compute_sorted_huffman($c,$lengths,$values) { - $c = $c|0; - $lengths = $lengths|0; - $values = $values|0; - var $$ = 0, $$in = 0, $$pn = 0, $$sink = 0, $$sink$in = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0; - var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0; - var $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0; - var $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0; - var $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $i$08 = 0, $i$113 = 0, $i$23 = 0, $k$0$lcssa = 0; - var $k$07 = 0, $k$1 = 0, $n$02 = 0, $x$0$ = 0, $x$0$lcssa = 0, $x$01 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (($c) + 23|0); - $1 = HEAP8[$0>>0]|0; - $2 = ($1<<24>>24)==(0); - if ($2) { - $10 = (($c) + 4|0); - $11 = HEAP32[$10>>2]|0; - $12 = ($11|0)>(0); - if ($12) { - $13 = (($c) + 32|0); - $14 = (($c) + 2084|0); - $i$08 = 0;$k$07 = 0; - while(1) { - $15 = (($lengths) + ($i$08)|0); - $16 = HEAP8[$15>>0]|0; - $17 = (_include_in_sort($c,$16)|0); - $18 = ($17|0)==(0); - if ($18) { - $k$1 = $k$07; - } else { - $19 = HEAP32[$13>>2]|0; - $20 = (($19) + ($i$08<<2)|0); - $21 = HEAP32[$20>>2]|0; - $22 = (_bit_reverse($21)|0); - $23 = (($k$07) + 1)|0; - $24 = HEAP32[$14>>2]|0; - $25 = (($24) + ($k$07<<2)|0); - HEAP32[$25>>2] = $22; - $k$1 = $23; - } - $26 = (($i$08) + 1)|0; - $27 = HEAP32[$10>>2]|0; - $28 = ($26|0)<($27|0); - if ($28) { - $i$08 = $26;$k$07 = $k$1; - } else { - $k$0$lcssa = $k$1; - break; - } - } - } else { - $k$0$lcssa = 0; - } - $29 = (($c) + 2092|0); - $30 = HEAP32[$29>>2]|0; - $31 = ($k$0$lcssa|0)==($30|0); - if (!($31)) { - ___assert_fail((19128|0),(17648|0),752,(19152|0)); - // unreachable; - } - } else { - $3 = (($c) + 2092|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)>(0); - if ($5) { - $6 = (($c) + 32|0); - $7 = HEAP32[$6>>2]|0; - $8 = (($c) + 2084|0); - $9 = HEAP32[$8>>2]|0; - $i$113 = 0; - while(1) { - $32 = (($7) + ($i$113<<2)|0); - $33 = HEAP32[$32>>2]|0; - $34 = (_bit_reverse($33)|0); - $35 = (($9) + ($i$113<<2)|0); - HEAP32[$35>>2] = $34; - $36 = (($i$113) + 1)|0; - $37 = HEAP32[$3>>2]|0; - $38 = ($36|0)<($37|0); - if ($38) { - $i$113 = $36; - } else { - break; - } - } - } - } - $39 = (($c) + 2084|0); - $40 = HEAP32[$39>>2]|0; - $41 = (($c) + 2092|0); - $42 = HEAP32[$41>>2]|0; - _qsort($40,$42,4,2); - $43 = HEAP32[$41>>2]|0; - $44 = HEAP32[$39>>2]|0; - $45 = (($44) + ($43<<2)|0); - HEAP32[$45>>2] = -1; - $46 = HEAP8[$0>>0]|0; - $47 = ($46<<24>>24)==(0); - $48 = (($c) + 4|0); - $$in = $47 ? $48 : $41; - $49 = HEAP32[$$in>>2]|0; - $50 = ($49|0)>(0); - if (!($50)) { - STACKTOP = sp;return; - } - $51 = (($c) + 32|0); - $52 = (($c) + 2088|0); - $53 = (($c) + 2088|0); - $54 = (($c) + 8|0); - $i$23 = 0; - L20: while(1) { - $55 = HEAP8[$0>>0]|0; - $56 = ($55<<24>>24)==(0); - if ($56) { - $$pn = $i$23; - } else { - $57 = (($values) + ($i$23<<2)|0); - $58 = HEAP32[$57>>2]|0; - $$pn = $58; - } - $$sink$in = (($lengths) + ($$pn)|0); - $$sink = HEAP8[$$sink$in>>0]|0; - $59 = (_include_in_sort($c,$$sink)|0); - $60 = ($59|0)==(0); - do { - if (!($60)) { - $61 = HEAP32[$51>>2]|0; - $62 = (($61) + ($i$23<<2)|0); - $63 = HEAP32[$62>>2]|0; - $64 = (_bit_reverse($63)|0); - $65 = HEAP32[$41>>2]|0; - $66 = ($65|0)>(1); - if ($66) { - $67 = HEAP32[$39>>2]|0; - $n$02 = $65;$x$01 = 0; - while(1) { - $68 = $n$02 >> 1; - $69 = (($68) + ($x$01))|0; - $70 = (($67) + ($69<<2)|0); - $71 = HEAP32[$70>>2]|0; - $72 = ($71>>>0)>($64>>>0); - $73 = (($n$02) - ($68))|0; - $x$0$ = $72 ? $x$01 : $69; - $$ = $72 ? $68 : $73; - $74 = ($$|0)>(1); - if ($74) { - $n$02 = $$;$x$01 = $x$0$; - } else { - $x$0$lcssa = $x$0$; - break; - } - } - } else { - $x$0$lcssa = 0; - } - $75 = HEAP32[$39>>2]|0; - $76 = (($75) + ($x$0$lcssa<<2)|0); - $77 = HEAP32[$76>>2]|0; - $78 = ($77|0)==($64|0); - if (!($78)) { - label = 21; - break L20; - } - $79 = HEAP8[$0>>0]|0; - $80 = ($79<<24>>24)==(0); - if ($80) { - $87 = HEAP32[$52>>2]|0; - $88 = (($87) + ($x$0$lcssa<<2)|0); - HEAP32[$88>>2] = $i$23; - break; - } else { - $81 = (($values) + ($i$23<<2)|0); - $82 = HEAP32[$81>>2]|0; - $83 = HEAP32[$53>>2]|0; - $84 = (($83) + ($x$0$lcssa<<2)|0); - HEAP32[$84>>2] = $82; - $85 = HEAP32[$54>>2]|0; - $86 = (($85) + ($x$0$lcssa)|0); - HEAP8[$86>>0] = $$sink; - break; - } - } - } while(0); - $89 = (($i$23) + 1)|0; - $90 = ($89|0)<($49|0); - if ($90) { - $i$23 = $89; - } else { - label = 26; - break; - } - } - if ((label|0) == 21) { - ___assert_fail((19176|0),(17648|0),782,(19152|0)); - // unreachable; - } - else if ((label|0) == 26) { - STACKTOP = sp;return; - } -} -function _compute_accelerated_huffman($c) { - $c = $c|0; - var $$in = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $i$12 = 0, $scevgep = 0; - var $z$0$ph = 0, $z$01 = 0, label = 0, sp = 0; - sp = STACKTOP; - $scevgep = (($c) + 36|0); - _memset(($scevgep|0),-1,2048)|0; - $0 = (($c) + 23|0); - $1 = HEAP8[$0>>0]|0; - $2 = ($1<<24>>24)==(0); - $3 = (($c) + 2092|0); - $4 = (($c) + 4|0); - $$in = $2 ? $4 : $3; - $5 = HEAP32[$$in>>2]|0; - $6 = ($5|0)>(0); - if (!($6)) { - STACKTOP = sp;return; - } - $7 = (($c) + 8|0); - $8 = (($c) + 32|0); - $9 = (($c) + 2084|0); - $10 = ($5|0)<(32767); - $11 = $10 ? $5 : 32767; - $i$12 = 0; - while(1) { - $12 = HEAP32[$7>>2]|0; - $13 = (($12) + ($i$12)|0); - $14 = HEAP8[$13>>0]|0; - $15 = ($14&255)<(11); - if ($15) { - $16 = HEAP8[$0>>0]|0; - $17 = ($16<<24>>24)==(0); - if ($17) { - $22 = HEAP32[$8>>2]|0; - $23 = (($22) + ($i$12<<2)|0); - $24 = HEAP32[$23>>2]|0; - $z$0$ph = $24; - } else { - $18 = HEAP32[$9>>2]|0; - $19 = (($18) + ($i$12<<2)|0); - $20 = HEAP32[$19>>2]|0; - $21 = (_bit_reverse($20)|0); - $z$0$ph = $21; - } - $25 = ($z$0$ph>>>0)<(1024); - if ($25) { - $26 = $i$12&65535; - $z$01 = $z$0$ph; - while(1) { - $27 = ((($c) + ($z$01<<1)|0) + 36|0); - HEAP16[$27>>1] = $26; - $28 = HEAP32[$7>>2]|0; - $29 = (($28) + ($i$12)|0); - $30 = HEAP8[$29>>0]|0; - $31 = $30&255; - $32 = 1 << $31; - $33 = (($32) + ($z$01))|0; - $34 = ($33>>>0)<(1024); - if ($34) { - $z$01 = $33; - } else { - break; - } - } - } - } - $35 = (($i$12) + 1)|0; - $exitcond = ($35|0)==($11|0); - if ($exitcond) { - break; - } else { - $i$12 = $35; - } - } - STACKTOP = sp;return; -} -function _float32_unpack($x) { - $x = $x|0; - var $0 = 0, $1 = 0, $10 = 0.0, $11 = 0.0, $2 = 0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = $x & 2097151; - $1 = $x >>> 21; - $2 = $1 & 1023; - $3 = ($x|0)<(0); - $4 = (+($0>>>0)); - if ($3) { - $5 = -$4; - $7 = $5; - } else { - $7 = $4; - } - $6 = $7; - $8 = $6; - $9 = (($2) + -788)|0; - $10 = (+_ldexp($8,$9)); - $11 = $10; - STACKTOP = sp;return (+$11); -} -function _lookup1_values($entries,$dim) { - $entries = $entries|0; - $dim = $dim|0; - var $$ = 0, $0 = 0.0, $1 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0, $17 = 0, $18 = 0.0, $19 = 0.0, $2 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0, $24 = 0.0, $25 = 0.0; - var $26 = 0.0, $27 = 0, $28 = 0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0, $not$ = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (+($entries|0)); - $1 = $0; - $2 = (+Math_log((+$1))); - $3 = $2; - $4 = (+($dim|0)); - $5 = $3 / $4; - $6 = $5; - $7 = (+Math_exp((+$6))); - $8 = (+Math_floor((+$7))); - $9 = (~~(($8))); - $10 = (+($9|0)); - $11 = $10 + 1.0; - $12 = $11; - $13 = (+($dim|0)); - $14 = (+Math_pow((+$12),(+$13))); - $15 = (+Math_floor((+$14))); - $16 = (~~(($15))); - $not$ = ($16|0)<=($entries|0); - $17 = $not$&1; - $$ = (($17) + ($9))|0; - $18 = (+($$|0)); - $19 = $18 + 1.0; - $20 = $19; - $21 = (+Math_pow((+$20),(+$13))); - $22 = (+($entries|0)); - $23 = $21 > $22; - if (!($23)) { - ___assert_fail((19032|0),(17648|0),807,(19064|0)); - // unreachable; - } - $24 = $18; - $25 = (+Math_pow((+$24),(+$13))); - $26 = (+Math_floor((+$25))); - $27 = (~~(($26))); - $28 = ($27|0)>($entries|0); - if ($28) { - ___assert_fail((19080|0),(17648|0),808,(19064|0)); - // unreachable; - } else { - STACKTOP = sp;return ($$|0); - } - return 0|0; -} -function _point_compare($p,$q) { - $p = $p|0; - $q = $q|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP16[$p>>1]|0; - $1 = HEAP16[$q>>1]|0; - $2 = ($0&65535)<($1&65535); - if ($2) { - $5 = -1; - } else { - $3 = ($0&65535)>($1&65535); - $4 = $3&1; - $5 = $4; - } - STACKTOP = sp;return ($5|0); -} -function _neighbors($x,$n,$plow,$phigh) { - $x = $x|0; - $n = $n|0; - $plow = $plow|0; - $phigh = $phigh|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0; - var $high$02 = 0, $high$1 = 0, $i$03 = 0, $low$01 = 0, $low$1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ($n|0)>(0); - if (!($0)) { - STACKTOP = sp;return; - } - $1 = (($x) + ($n<<1)|0); - $2 = (($x) + ($n<<1)|0); - $high$02 = 65536;$i$03 = 0;$low$01 = -1; - while(1) { - $3 = (($x) + ($i$03<<1)|0); - $4 = HEAP16[$3>>1]|0; - $5 = $4&65535; - $6 = ($5|0)>($low$01|0); - if ($6) { - $7 = HEAP16[$1>>1]|0; - $8 = ($4&65535)<($7&65535); - if ($8) { - HEAP32[$plow>>2] = $i$03; - $9 = HEAP16[$3>>1]|0; - $10 = $9&65535; - $low$1 = $10; - } else { - $low$1 = $low$01; - } - } else { - $low$1 = $low$01; - } - $11 = HEAP16[$3>>1]|0; - $12 = $11&65535; - $13 = ($12|0)<($high$02|0); - if ($13) { - $14 = HEAP16[$2>>1]|0; - $15 = ($11&65535)>($14&65535); - if ($15) { - HEAP32[$phigh>>2] = $i$03; - $16 = HEAP16[$3>>1]|0; - $17 = $16&65535; - $high$1 = $17; - } else { - $high$1 = $high$02; - } - } else { - $high$1 = $high$02; - } - $18 = (($i$03) + 1)|0; - $exitcond = ($18|0)==($n|0); - if ($exitcond) { - break; - } else { - $high$02 = $high$1;$i$03 = $18;$low$01 = $low$1; - } - } - STACKTOP = sp;return; -} -function _init_blocksize($f,$b,$n) { - $f = $f|0; - $b = $b|0; - $n = $n|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0; - var $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = $n >>> 1; - $1 = $n & -4; - $2 = $n >> 3; - $3 = $0 << 2; - $4 = (_setup_malloc($f,$3)|0); - $5 = ((($f) + ($b<<2)|0) + 1084|0); - HEAP32[$5>>2] = $4; - $6 = (_setup_malloc($f,$3)|0); - $7 = ((($f) + ($b<<2)|0) + 1092|0); - HEAP32[$7>>2] = $6; - $8 = (_setup_malloc($f,$1)|0); - $9 = ((($f) + ($b<<2)|0) + 1100|0); - HEAP32[$9>>2] = $8; - $10 = HEAP32[$5>>2]|0; - $11 = ($10|0)==(0|0); - if (!($11)) { - $12 = HEAP32[$7>>2]|0; - $13 = ($12|0)==(0|0); - $14 = ($8|0)==(0|0); - $or$cond = $13 | $14; - if (!($or$cond)) { - _compute_twiddle_factors($n,$10,$12,$8); - $15 = (_setup_malloc($f,$3)|0); - $16 = ((($f) + ($b<<2)|0) + 1108|0); - HEAP32[$16>>2] = $15; - $17 = ($15|0)==(0|0); - if ($17) { - _error($f,3); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - _compute_window($n,$15); - $18 = $2 << 1; - $19 = (_setup_malloc($f,$18)|0); - $20 = ((($f) + ($b<<2)|0) + 1116|0); - HEAP32[$20>>2] = $19; - $21 = ($19|0)==(0|0); - if ($21) { - _error($f,3); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } else { - _compute_bitreverse($n,$19); - $$0 = 1; - STACKTOP = sp;return ($$0|0); - } - } - } - _error($f,3); - $$0 = 0; - STACKTOP = sp;return ($$0|0); -} -function _compute_twiddle_factors($n,$A,$B,$C) { - $n = $n|0; - $A = $A|0; - $B = $B|0; - $C = $C|0; - var $0 = 0, $1 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0, $18 = 0, $19 = 0.0, $2 = 0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0.0, $26 = 0.0; - var $27 = 0, $28 = 0.0, $29 = 0.0, $3 = 0.0, $30 = 0.0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0.0, $37 = 0.0, $38 = 0.0, $39 = 0.0, $4 = 0, $40 = 0.0, $41 = 0.0, $42 = 0, $43 = 0.0, $44 = 0.0; - var $45 = 0.0, $46 = 0, $47 = 0, $48 = 0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0.0, $9 = 0.0, $exitcond = 0, $exitcond7 = 0, $k$03 = 0, $k$11 = 0, $k2$04 = 0, $k2$12 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = $n >> 2; - $1 = $n >> 3; - $2 = ($0|0)>(0); - if ($2) { - $3 = (+($n|0)); - $k$03 = 0;$k2$04 = 0; - while(1) { - $6 = $k$03 << 2; - $7 = (+($6|0)); - $8 = $7 * 3.14159274101257324219; - $9 = $8 / $3; - $10 = $9; - $11 = (+Math_cos((+$10))); - $12 = $11; - $13 = (($A) + ($k2$04<<2)|0); - HEAPF32[$13>>2] = $12; - $14 = (+Math_sin((+$10))); - $15 = $14; - $16 = -$15; - $17 = $k2$04 | 1; - $18 = (($A) + ($17<<2)|0); - HEAPF32[$18>>2] = $16; - $19 = (+($17|0)); - $20 = $19 * 3.14159274101257324219; - $21 = $20 / $3; - $22 = $21 * 0.5; - $23 = $22; - $24 = (+Math_cos((+$23))); - $25 = $24; - $26 = $25 * 0.5; - $27 = (($B) + ($k2$04<<2)|0); - HEAPF32[$27>>2] = $26; - $28 = (+Math_sin((+$23))); - $29 = $28; - $30 = $29 * 0.5; - $31 = (($B) + ($17<<2)|0); - HEAPF32[$31>>2] = $30; - $32 = (($k$03) + 1)|0; - $33 = (($k2$04) + 2)|0; - $exitcond7 = ($32|0)==($0|0); - if ($exitcond7) { - break; - } else { - $k$03 = $32;$k2$04 = $33; - } - } - } - $4 = ($1|0)>(0); - if (!($4)) { - STACKTOP = sp;return; - } - $5 = (+($n|0)); - $k$11 = 0;$k2$12 = 0; - while(1) { - $34 = $k2$12 | 1; - $35 = $34 << 1; - $36 = (+($35|0)); - $37 = $36 * 3.14159274101257324219; - $38 = $37 / $5; - $39 = $38; - $40 = (+Math_cos((+$39))); - $41 = $40; - $42 = (($C) + ($k2$12<<2)|0); - HEAPF32[$42>>2] = $41; - $43 = (+Math_sin((+$39))); - $44 = $43; - $45 = -$44; - $46 = (($C) + ($34<<2)|0); - HEAPF32[$46>>2] = $45; - $47 = (($k$11) + 1)|0; - $48 = (($k2$12) + 2)|0; - $exitcond = ($47|0)==($1|0); - if ($exitcond) { - break; - } else { - $k$11 = $47;$k2$12 = $48; - } - } - STACKTOP = sp;return; -} -function _compute_window($n,$window) { - $n = $n|0; - $window = $window|0; - var $0 = 0, $1 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0, $16 = 0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, $exitcond = 0, $i$01 = 0, label = 0; - var sp = 0; - sp = STACKTOP; - $0 = $n >> 1; - $1 = ($0|0)>(0); - if (!($1)) { - STACKTOP = sp;return; - } - $2 = (+($0|0)); - $i$01 = 0; - while(1) { - $3 = (+($i$01|0)); - $4 = $3 + 0.5; - $5 = $4 / $2; - $6 = $5 * 0.5; - $7 = $6 * 3.14159274101257324219; - $8 = (+Math_sin((+$7))); - $9 = $8; - $10 = (+_square($9)); - $11 = $10; - $12 = $11 * 1.57079637050628662109; - $13 = (+Math_sin((+$12))); - $14 = $13; - $15 = (($window) + ($i$01<<2)|0); - HEAPF32[$15>>2] = $14; - $16 = (($i$01) + 1)|0; - $exitcond = ($16|0)==($0|0); - if ($exitcond) { - break; - } else { - $i$01 = $16; - } - } - STACKTOP = sp;return; -} -function _compute_bitreverse($n,$rev) { - $n = $n|0; - $rev = $rev|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $i$01 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = $n >> 3; - $1 = ($0|0)>(0); - if (!($1)) { - STACKTOP = sp;return; - } - $2 = (_ilog($n)|0); - $3 = (36 - ($2))|0; - $i$01 = 0; - while(1) { - $4 = (_bit_reverse($i$01)|0); - $5 = $4 >>> $3; - $6 = $5 << 2; - $7 = $6&65535; - $8 = (($rev) + ($i$01<<1)|0); - HEAP16[$8>>1] = $7; - $9 = (($i$01) + 1)|0; - $exitcond = ($9|0)==($0|0); - if ($exitcond) { - break; - } else { - $i$01 = $9; - } - } - STACKTOP = sp;return; -} -function _bit_reverse($n) { - $n = $n|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0; - var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = $n >>> 1; - $1 = $0 & 1431655765; - $2 = $n << 1; - $3 = $2 & -1431655766; - $4 = $1 | $3; - $5 = $4 >>> 2; - $6 = $5 & 858993459; - $7 = $4 << 2; - $8 = $7 & -858993460; - $9 = $6 | $8; - $10 = $9 >>> 4; - $11 = $10 & 252645135; - $12 = $9 << 4; - $13 = $12 & -252645136; - $14 = $11 | $13; - $15 = $14 >>> 8; - $16 = $15 & 16711935; - $17 = $14 << 8; - $18 = $17 & -16711936; - $19 = $16 | $18; - $20 = $19 >>> 16; - $21 = $19 << 16; - $22 = $20 | $21; - STACKTOP = sp;return ($22|0); -} -function _square($x) { - $x = +$x; - var $0 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $0 = $x * $x; - STACKTOP = sp;return (+$0); -} -function _include_in_sort($c,$len) { - $c = $c|0; - $len = $len|0; - var $$ = 0, $$0 = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (($c) + 23|0); - $1 = HEAP8[$0>>0]|0; - $2 = ($1<<24>>24)==(0); - $3 = ($len<<24>>24)==(-1); - if ($2) { - if ($3) { - $$0 = 0; - } else { - $4 = ($len&255)>(10); - $$ = $4&1; - $$0 = $$; - } - } else { - if ($3) { - ___assert_fail((19208|0),(17648|0),732,(19224|0)); - // unreachable; - } else { - $$0 = 1; - } - } - STACKTOP = sp;return ($$0|0); -} -function _uint32_compare($p,$q) { - $p = $p|0; - $q = $q|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[$p>>2]|0; - $1 = HEAP32[$q>>2]|0; - $2 = ($0>>>0)<($1>>>0); - if ($2) { - $5 = -1; - } else { - $3 = ($0>>>0)>($1>>>0); - $4 = $3&1; - $5 = $4; - } - STACKTOP = sp;return ($5|0); -} -function _add_entry($c,$huff_code,$symbol,$count,$len,$values) { - $c = $c|0; - $huff_code = $huff_code|0; - $symbol = $symbol|0; - $count = $count|0; - $len = $len|0; - $values = $values|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (($c) + 23|0); - $1 = HEAP8[$0>>0]|0; - $2 = ($1<<24>>24)==(0); - $3 = (($c) + 32|0); - $4 = HEAP32[$3>>2]|0; - if ($2) { - $5 = (($4) + ($symbol<<2)|0); - HEAP32[$5>>2] = $huff_code; - STACKTOP = sp;return; - } else { - $6 = (($4) + ($count<<2)|0); - HEAP32[$6>>2] = $huff_code; - $7 = $len&255; - $8 = (($c) + 8|0); - $9 = HEAP32[$8>>2]|0; - $10 = (($9) + ($count)|0); - HEAP8[$10>>0] = $7; - $11 = (($values) + ($count<<2)|0); - HEAP32[$11>>2] = $symbol; - STACKTOP = sp;return; - } -} -function _get_window($f,$len) { - $f = $f|0; - $len = $len|0; - var $$0 = 0, $$0$in = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = $len << 1; - $1 = (($f) + 128|0); - $2 = HEAP32[$1>>2]|0; - $3 = ($0|0)==($2|0); - if ($3) { - $4 = (($f) + 1108|0); - $$0$in = $4; - $$0 = HEAP32[$$0$in>>2]|0; - STACKTOP = sp;return ($$0|0); - } - $5 = (($f) + 132|0); - $6 = HEAP32[$5>>2]|0; - $7 = ($0|0)==($6|0); - if (!($7)) { - ___assert_fail((19288|0),(17648|0),2735,(19328|0)); - // unreachable; - } - $8 = (($f) + 1112|0); - $$0$in = $8; - $$0 = HEAP32[$$0$in>>2]|0; - STACKTOP = sp;return ($$0|0); -} -function _vorbis_decode_packet_rest($f,$len,$m,$left_start,$right_start,$right_end,$p_left) { - $f = $f|0; - $len = $len|0; - $m = $m|0; - $left_start = $left_start|0; - $right_start = $right_start|0; - $right_end = $right_end|0; - $p_left = $p_left|0; - var $$ = 0, $$0 = 0, $$01 = 0, $$1 = 0, $$2 = 0, $$3 = 0, $$4 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0; - var $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0; - var $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0; - var $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0; - var $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0; - var $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0; - var $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0; - var $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0; - var $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0; - var $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0; - var $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0; - var $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0; - var $308 = 0, $309 = 0, $31 = 0, $310 = 0.0, $311 = 0, $312 = 0, $313 = 0.0, $314 = 0, $315 = 0.0, $316 = 0.0, $317 = 0.0, $318 = 0.0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0; - var $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0; - var $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0; - var $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0; - var $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; - var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0; - var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0; - var $a2$0 = 0.0, $ch$0$lcssa = 0, $ch$016 = 0, $ch$1 = 0, $cval$0 = 0, $cval$2$ph = 0, $cval$231 = 0, $do_not_decode = 0, $exitcond = 0, $i$052 = 0, $i$125 = 0, $i$222 = 0, $i$313 = 0, $i$313$in = 0, $i$47 = 0, $i$55 = 0, $j$038 = 0, $j$144 = 0, $j$248 = 0, $j$317 = 0; - var $j$49 = 0, $k$033 = 0, $m2$0 = 0.0, $offset$037 = 0, $offset$1$lcssa = 0, $offset$132 = 0, $offset$2 = 0, $really_zero_channel = 0, $residue_buffers = 0, $room$0 = 0, $smax = 0, $step2_flag = 0, $storemerge = 0, $temp$0 = 0, $temp$1 = 0, $zero_channel = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 2624|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); - $zero_channel = sp + 1088|0; - $really_zero_channel = sp; - $step2_flag = sp + 2368|0; - $residue_buffers = sp + 1024|0; - $do_not_decode = sp + 2112|0; - $0 = HEAP8[$m>>0]|0; - $1 = $0&255; - $2 = ((($f) + ($1<<2)|0) + 120|0); - $3 = HEAP32[$2>>2]|0; - $4 = (($m) + 1|0); - $5 = HEAP8[$4>>0]|0; - $6 = $5&255; - $7 = (($f) + 420|0); - $8 = HEAP32[$7>>2]|0; - $9 = (($8) + (($6*40)|0)|0); - $10 = $3 >> 1; - $11 = (0 - ($10))|0; - $12 = (($f) + 4|0); - $13 = HEAP32[$12>>2]|0; - $14 = ($13|0)>(0); - L1: do { - if ($14) { - $15 = ((($8) + (($6*40)|0)|0) + 4|0); - $16 = (($f) + 276|0); - $17 = (($f) + 1412|0); - $18 = (($step2_flag) + 1|0); - $19 = (($f) + 140|0); - $20 = (($f) + 1412|0); - $21 = (($f) + 1408|0); - $22 = (($f) + 140|0); - $23 = (($f) + 1412|0); - $24 = (($f) + 1408|0); - $i$052 = 0; - while(1) { - $25 = HEAP32[$15>>2]|0; - $26 = ((($25) + (($i$052*3)|0)|0) + 2|0); - $27 = HEAP8[$26>>0]|0; - $28 = $27&255; - $29 = (($zero_channel) + ($i$052<<2)|0); - HEAP32[$29>>2] = 0; - $30 = (((($8) + (($6*40)|0)|0) + ($28)|0) + 9|0); - $31 = HEAP8[$30>>0]|0; - $32 = $31&255; - $33 = ((($f) + ($32<<1)|0) + 148|0); - $34 = HEAP16[$33>>1]|0; - $35 = ($34<<16>>16)==(0); - if ($35) { - break; - } - $36 = HEAP32[$16>>2]|0; - $37 = (_get_bits($f,1)|0); - $38 = ($37|0)==(0); - if ($38) { - label = 47; - } else { - $39 = ((($36) + (($32*1596)|0)|0) + 1588|0); - $40 = HEAP8[$39>>0]|0; - $41 = $40&255; - $42 = (($41) + -1)|0; - $43 = (19344 + ($42<<2)|0); - $44 = HEAP32[$43>>2]|0; - $45 = ((($f) + ($i$052<<2)|0) + 1012|0); - $46 = HEAP32[$45>>2]|0; - $47 = (_ilog($44)|0); - $48 = (($47) + -1)|0; - $49 = (_get_bits($f,$48)|0); - $50 = $49&65535; - HEAP16[$46>>1] = $50; - $51 = (_get_bits($f,$48)|0); - $52 = $51&65535; - $53 = (($46) + 2|0); - HEAP16[$53>>1] = $52; - $54 = (($36) + (($32*1596)|0)|0); - $55 = HEAP8[$54>>0]|0; - $56 = ($55<<24>>24)==(0); - if (!($56)) { - $j$038 = 0;$offset$037 = 2; - while(1) { - $57 = (((($36) + (($32*1596)|0)|0) + ($j$038)|0) + 1|0); - $58 = HEAP8[$57>>0]|0; - $59 = $58&255; - $60 = (((($36) + (($32*1596)|0)|0) + ($59)|0) + 33|0); - $61 = HEAP8[$60>>0]|0; - $62 = $61&255; - $63 = (((($36) + (($32*1596)|0)|0) + ($59)|0) + 49|0); - $64 = HEAP8[$63>>0]|0; - $65 = $64&255; - $66 = 1 << $65; - $67 = (($66) + -1)|0; - $68 = ($64<<24>>24)==(0); - if ($68) { - $cval$2$ph = 0; - } else { - $69 = HEAP32[$19>>2]|0; - $70 = (((($36) + (($32*1596)|0)|0) + ($59)|0) + 65|0); - $71 = HEAP8[$70>>0]|0; - $72 = $71&255; - $73 = (($69) + (($72*2096)|0)|0); - $74 = HEAP32[$20>>2]|0; - $75 = ($74|0)<(10); - if ($75) { - _prep_huffman($f); - } - $76 = HEAP32[$21>>2]|0; - $77 = $76 & 1023; - $78 = (((($69) + (($72*2096)|0)|0) + ($77<<1)|0) + 36|0); - $79 = HEAP16[$78>>1]|0; - $80 = $79 << 16 >> 16; - $81 = ($79<<16>>16)>(-1); - if ($81) { - $82 = ((($69) + (($72*2096)|0)|0) + 8|0); - $83 = HEAP32[$82>>2]|0; - $84 = (($83) + ($80)|0); - $85 = HEAP8[$84>>0]|0; - $86 = $85&255; - $87 = $76 >>> $86; - HEAP32[$21>>2] = $87; - $88 = HEAP32[$20>>2]|0; - $89 = (($88) - ($86))|0; - $90 = ($89|0)<(0); - $$ = $90 ? 0 : $89; - HEAP32[$20>>2] = $$; - $$1 = $90 ? -1 : $80; - $cval$0 = $$1; - } else { - $91 = (_codebook_decode_scalar_raw($f,$73)|0); - $cval$0 = $91; - } - $92 = ((($69) + (($72*2096)|0)|0) + 23|0); - $93 = HEAP8[$92>>0]|0; - $94 = ($93<<24>>24)==(0); - if ($94) { - $cval$2$ph = $cval$0; - } else { - $95 = ((($69) + (($72*2096)|0)|0) + 2088|0); - $96 = HEAP32[$95>>2]|0; - $97 = (($96) + ($cval$0<<2)|0); - $98 = HEAP32[$97>>2]|0; - $cval$2$ph = $98; - } - } - $99 = ($61<<24>>24)==(0); - if ($99) { - $offset$1$lcssa = $offset$037; - } else { - $100 = $61&255; - $101 = ($100>>>0)>(1); - $smax = $101 ? $100 : 1; - $cval$231 = $cval$2$ph;$k$033 = 0;$offset$132 = $offset$037; - while(1) { - $102 = $cval$231 & $67; - $103 = ((((($36) + (($32*1596)|0)|0) + ($59<<4)|0) + ($102<<1)|0) + 82|0); - $104 = HEAP16[$103>>1]|0; - $105 = $cval$231 >> $65; - $106 = ($104<<16>>16)>(-1); - if ($106) { - $107 = $104 << 16 >> 16; - $108 = HEAP32[$22>>2]|0; - $109 = (($108) + (($107*2096)|0)|0); - $110 = HEAP32[$23>>2]|0; - $111 = ($110|0)<(10); - if ($111) { - _prep_huffman($f); - } - $112 = HEAP32[$24>>2]|0; - $113 = $112 & 1023; - $114 = (((($108) + (($107*2096)|0)|0) + ($113<<1)|0) + 36|0); - $115 = HEAP16[$114>>1]|0; - $116 = $115 << 16 >> 16; - $117 = ($115<<16>>16)>(-1); - if ($117) { - $118 = ((($108) + (($107*2096)|0)|0) + 8|0); - $119 = HEAP32[$118>>2]|0; - $120 = (($119) + ($116)|0); - $121 = HEAP8[$120>>0]|0; - $122 = $121&255; - $123 = $112 >>> $122; - HEAP32[$24>>2] = $123; - $124 = HEAP32[$23>>2]|0; - $125 = (($124) - ($122))|0; - $126 = ($125|0)<(0); - $$2 = $126 ? 0 : $125; - HEAP32[$23>>2] = $$2; - $$3 = $126 ? -1 : $116; - $temp$0 = $$3; - } else { - $127 = (_codebook_decode_scalar_raw($f,$109)|0); - $temp$0 = $127; - } - $128 = ((($108) + (($107*2096)|0)|0) + 23|0); - $129 = HEAP8[$128>>0]|0; - $130 = ($129<<24>>24)==(0); - if ($130) { - $temp$1 = $temp$0; - } else { - $131 = ((($108) + (($107*2096)|0)|0) + 2088|0); - $132 = HEAP32[$131>>2]|0; - $133 = (($132) + ($temp$0<<2)|0); - $134 = HEAP32[$133>>2]|0; - $temp$1 = $134; - } - $135 = $temp$1&65535; - $136 = (($46) + ($offset$132<<1)|0); - HEAP16[$136>>1] = $135; - } else { - $137 = (($46) + ($offset$132<<1)|0); - HEAP16[$137>>1] = 0; - } - $offset$2 = (($offset$132) + 1)|0; - $138 = (($k$033) + 1)|0; - $139 = ($138|0)<($62|0); - if ($139) { - $cval$231 = $105;$k$033 = $138;$offset$132 = $offset$2; - } else { - break; - } - } - $140 = (($offset$037) + ($smax))|0; - $offset$1$lcssa = $140; - } - $141 = (($j$038) + 1)|0; - $142 = HEAP8[$54>>0]|0; - $143 = $142&255; - $144 = ($141|0)<($143|0); - if ($144) { - $j$038 = $141;$offset$037 = $offset$1$lcssa; - } else { - break; - } - } - } - $145 = HEAP32[$17>>2]|0; - $146 = ($145|0)==(-1); - if ($146) { - label = 47; - } else { - HEAP8[$18>>0] = 1; - HEAP8[$step2_flag>>0] = 1; - $147 = ((($36) + (($32*1596)|0)|0) + 1592|0); - $148 = HEAP32[$147>>2]|0; - $149 = ($148|0)>(2); - if ($149) { - $j$144 = 2; - while(1) { - $150 = (((($36) + (($32*1596)|0)|0) + ($j$144<<1)|0) + 1088|0); - $151 = HEAP8[$150>>0]|0; - $152 = $151&255; - $153 = (((($36) + (($32*1596)|0)|0) + ($j$144<<1)|0) + 1089|0); - $154 = HEAP8[$153>>0]|0; - $155 = $154&255; - $156 = (((($36) + (($32*1596)|0)|0) + ($j$144<<1)|0) + 338|0); - $157 = HEAP16[$156>>1]|0; - $158 = $157&65535; - $159 = (((($36) + (($32*1596)|0)|0) + ($152<<1)|0) + 338|0); - $160 = HEAP16[$159>>1]|0; - $161 = $160&65535; - $162 = (((($36) + (($32*1596)|0)|0) + ($155<<1)|0) + 338|0); - $163 = HEAP16[$162>>1]|0; - $164 = $163&65535; - $165 = (($46) + ($152<<1)|0); - $166 = HEAP16[$165>>1]|0; - $167 = $166 << 16 >> 16; - $168 = (($46) + ($155<<1)|0); - $169 = HEAP16[$168>>1]|0; - $170 = $169 << 16 >> 16; - $171 = (_predict_point($158,$161,$164,$167,$170)|0); - $172 = (($46) + ($j$144<<1)|0); - $173 = HEAP16[$172>>1]|0; - $174 = $173 << 16 >> 16; - $175 = (($44) - ($171))|0; - $176 = ($173<<16>>16)==(0); - do { - if ($176) { - $195 = (($step2_flag) + ($j$144)|0); - HEAP8[$195>>0] = 0; - $196 = $171&65535; - HEAP16[$172>>1] = $196; - } else { - $177 = ($175|0)<($171|0); - $$4 = $177 ? $175 : $171; - $room$0 = $$4 << 1; - $178 = (($step2_flag) + ($155)|0); - HEAP8[$178>>0] = 1; - $179 = (($step2_flag) + ($152)|0); - HEAP8[$179>>0] = 1; - $180 = (($step2_flag) + ($j$144)|0); - HEAP8[$180>>0] = 1; - $181 = ($174|0)<($room$0|0); - if ($181) { - $186 = $174 & 1; - $187 = ($186|0)==(0); - if ($187) { - $192 = $174 >>> 1; - $193 = (($192) + ($171))|0; - $194 = $193&65535; - HEAP16[$172>>1] = $194; - break; - } else { - $188 = (($174) + 1)|0; - $189 = $188 >>> 1; - $190 = (($171) - ($189))|0; - $191 = $190&65535; - HEAP16[$172>>1] = $191; - break; - } - } else { - $182 = ($175|0)>($171|0); - if ($182) { - HEAP16[$172>>1] = $173; - break; - } else { - $183 = (($44) + 65535)|0; - $184 = (($183) - ($174))|0; - $185 = $184&65535; - HEAP16[$172>>1] = $185; - break; - } - } - } - } while(0); - $197 = (($j$144) + 1)|0; - $198 = HEAP32[$147>>2]|0; - $199 = ($197|0)<($198|0); - if ($199) { - $j$144 = $197; - } else { - $201 = $198; - break; - } - } - } else { - $201 = $148; - } - $200 = ($201|0)>(0); - if ($200) { - $202 = HEAP32[$147>>2]|0; - $j$248 = 0; - while(1) { - $203 = (($step2_flag) + ($j$248)|0); - $204 = HEAP8[$203>>0]|0; - $205 = ($204<<24>>24)==(0); - if ($205) { - $206 = (($46) + ($j$248<<1)|0); - HEAP16[$206>>1] = -1; - } - $207 = (($j$248) + 1)|0; - $208 = ($207|0)<($202|0); - if ($208) { - $j$248 = $207; - } else { - break; - } - } - } - } - } - if ((label|0) == 47) { - label = 0; - HEAP32[$29>>2] = 1; - } - $209 = (($i$052) + 1)|0; - $210 = HEAP32[$12>>2]|0; - $211 = ($209|0)<($210|0); - if ($211) { - $i$052 = $209; - } else { - break L1; - } - } - _error($f,21); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - } while(0); - $212 = (($f) + 96|0); - $213 = HEAP32[$212>>2]|0; - $214 = ($213|0)==(0|0); - if (!($214)) { - $215 = (($f) + 100|0); - $216 = HEAP32[$215>>2]|0; - $217 = (($f) + 108|0); - $218 = HEAP32[$217>>2]|0; - $219 = ($216|0)==($218|0); - if (!($219)) { - ___assert_fail((18880|0),(17648|0),2943,(19360|0)); - // unreachable; - } - } - $220 = HEAP32[$12>>2]|0; - $221 = $220 << 2; - _memcpy(($really_zero_channel|0),($zero_channel|0),($221|0))|0; - $222 = HEAP16[$9>>1]|0; - $223 = ($222<<16>>16)==(0); - if (!($223)) { - $224 = ((($8) + (($6*40)|0)|0) + 4|0); - $225 = HEAP32[$224>>2]|0; - $226 = HEAP16[$9>>1]|0; - $227 = $226&65535; - $i$125 = 0; - while(1) { - $232 = (($225) + (($i$125*3)|0)|0); - $233 = HEAP8[$232>>0]|0; - $234 = $233&255; - $235 = (($zero_channel) + ($234<<2)|0); - $236 = HEAP32[$235>>2]|0; - $237 = ($236|0)==(0); - if ($237) { - label = 58; - } else { - $238 = ((($225) + (($i$125*3)|0)|0) + 1|0); - $239 = HEAP8[$238>>0]|0; - $240 = $239&255; - $241 = (($zero_channel) + ($240<<2)|0); - $242 = HEAP32[$241>>2]|0; - $243 = ($242|0)==(0); - if ($243) { - label = 58; - } - } - if ((label|0) == 58) { - label = 0; - $244 = HEAP32[$224>>2]|0; - $245 = ((($244) + (($i$125*3)|0)|0) + 1|0); - $246 = HEAP8[$245>>0]|0; - $247 = $246&255; - $248 = (($zero_channel) + ($247<<2)|0); - HEAP32[$248>>2] = 0; - $249 = HEAP32[$224>>2]|0; - $250 = (($249) + (($i$125*3)|0)|0); - $251 = HEAP8[$250>>0]|0; - $252 = $251&255; - $253 = (($zero_channel) + ($252<<2)|0); - HEAP32[$253>>2] = 0; - } - $254 = (($i$125) + 1)|0; - $255 = ($254|0)<($227|0); - if ($255) { - $i$125 = $254; - } else { - break; - } - } - } - $228 = ((($8) + (($6*40)|0)|0) + 8|0); - $229 = HEAP8[$228>>0]|0; - $230 = ($229<<24>>24)==(0); - if (!($230)) { - $231 = ((($8) + (($6*40)|0)|0) + 4|0); - $i$222 = 0; - while(1) { - $256 = HEAP32[$12>>2]|0; - $257 = ($256|0)>(0); - if ($257) { - $258 = HEAP32[$231>>2]|0; - $259 = HEAP32[$12>>2]|0; - $ch$016 = 0;$j$317 = 0; - while(1) { - $260 = ((($258) + (($j$317*3)|0)|0) + 2|0); - $261 = HEAP8[$260>>0]|0; - $262 = $261&255; - $263 = ($262|0)==($i$222|0); - if ($263) { - $264 = (($zero_channel) + ($j$317<<2)|0); - $265 = HEAP32[$264>>2]|0; - $266 = ($265|0)==(0); - $267 = (($do_not_decode) + ($ch$016)|0); - if ($266) { - HEAP8[$267>>0] = 0; - $269 = ((($f) + ($j$317<<2)|0) + 816|0); - $270 = HEAP32[$269>>2]|0; - $271 = (($residue_buffers) + ($ch$016<<2)|0); - HEAP32[$271>>2] = $270; - } else { - HEAP8[$267>>0] = 1; - $268 = (($residue_buffers) + ($ch$016<<2)|0); - HEAP32[$268>>2] = 0; - } - $272 = (($ch$016) + 1)|0; - $ch$1 = $272; - } else { - $ch$1 = $ch$016; - } - $273 = (($j$317) + 1)|0; - $274 = ($273|0)<($259|0); - if ($274) { - $ch$016 = $ch$1;$j$317 = $273; - } else { - $ch$0$lcssa = $ch$1; - break; - } - } - } else { - $ch$0$lcssa = 0; - } - $275 = (((($8) + (($6*40)|0)|0) + ($i$222)|0) + 24|0); - $276 = HEAP8[$275>>0]|0; - $277 = $276&255; - _decode_residue($f,$residue_buffers,$ch$0$lcssa,$10,$277,$do_not_decode); - $278 = (($i$222) + 1)|0; - $279 = HEAP8[$228>>0]|0; - $280 = $279&255; - $281 = ($278|0)<($280|0); - if ($281) { - $i$222 = $278; - } else { - break; - } - } - } - $282 = HEAP32[$212>>2]|0; - $283 = ($282|0)==(0|0); - if (!($283)) { - $284 = (($f) + 100|0); - $285 = HEAP32[$284>>2]|0; - $286 = (($f) + 108|0); - $287 = HEAP32[$286>>2]|0; - $288 = ($285|0)==($287|0); - if (!($288)) { - ___assert_fail((18880|0),(17648|0),2975,(19360|0)); - // unreachable; - } - } - $289 = HEAP16[$9>>1]|0; - $290 = ($289<<16>>16)==(0); - if (!($290)) { - $291 = $289&65535; - $292 = ((($8) + (($6*40)|0)|0) + 4|0); - $293 = ($10|0)>(0); - $i$313$in = $291; - while(1) { - $i$313 = (($i$313$in) + -1)|0; - $298 = HEAP32[$292>>2]|0; - $299 = (($298) + (($i$313*3)|0)|0); - $300 = HEAP8[$299>>0]|0; - $301 = $300&255; - $302 = ((($f) + ($301<<2)|0) + 816|0); - $303 = HEAP32[$302>>2]|0; - $304 = ((($298) + (($i$313*3)|0)|0) + 1|0); - $305 = HEAP8[$304>>0]|0; - $306 = $305&255; - $307 = ((($f) + ($306<<2)|0) + 816|0); - $308 = HEAP32[$307>>2]|0; - if ($293) { - $j$49 = 0; - while(1) { - $309 = (($303) + ($j$49<<2)|0); - $310 = +HEAPF32[$309>>2]; - $311 = $310 > 0.0; - $312 = (($308) + ($j$49<<2)|0); - $313 = +HEAPF32[$312>>2]; - $314 = $313 > 0.0; - do { - if ($311) { - if ($314) { - $315 = $310 - $313; - $a2$0 = $315;$m2$0 = $310; - break; - } else { - $316 = $310 + $313; - $a2$0 = $310;$m2$0 = $316; - break; - } - } else { - if ($314) { - $317 = $310 + $313; - $a2$0 = $317;$m2$0 = $310; - break; - } else { - $318 = $310 - $313; - $a2$0 = $310;$m2$0 = $318; - break; - } - } - } while(0); - HEAPF32[$309>>2] = $m2$0; - HEAPF32[$312>>2] = $a2$0; - $319 = (($j$49) + 1)|0; - $exitcond = ($319|0)==($10|0); - if ($exitcond) { - break; - } else { - $j$49 = $319; - } - } - } - $294 = ($i$313|0)>(0); - if ($294) { - $i$313$in = $i$313; - } else { - break; - } - } - } - $295 = HEAP32[$12>>2]|0; - $296 = ($295|0)>(0); - if ($296) { - $297 = $10 << 2; - $i$47 = 0; - while(1) { - $322 = (($really_zero_channel) + ($i$47<<2)|0); - $323 = HEAP32[$322>>2]|0; - $324 = ($323|0)==(0); - $325 = ((($f) + ($i$47<<2)|0) + 816|0); - $326 = HEAP32[$325>>2]|0; - if ($324) { - $327 = ((($f) + ($i$47<<2)|0) + 1012|0); - $328 = HEAP32[$327>>2]|0; - _do_floor($f,$9,$i$47,$3,$326,$328); - } else { - _memset(($326|0),0,($297|0))|0; - } - $329 = (($i$47) + 1)|0; - $321 = HEAP32[$12>>2]|0; - $330 = ($329|0)<($321|0); - if ($330) { - $i$47 = $329; - } else { - break; - } - } - $320 = ($321|0)>(0); - if ($320) { - $i$55 = 0; - while(1) { - $331 = ((($f) + ($i$55<<2)|0) + 816|0); - $332 = HEAP32[$331>>2]|0; - $333 = HEAP8[$m>>0]|0; - $334 = $333&255; - _inverse_mdct($332,$3,$f,$334); - $335 = (($i$55) + 1)|0; - $336 = HEAP32[$12>>2]|0; - $337 = ($335|0)<($336|0); - if ($337) { - $i$55 = $335; - } else { - break; - } - } - } - } - _flush_packet($f); - $338 = (($f) + 1393|0); - $339 = HEAP8[$338>>0]|0; - $340 = ($339<<24>>24)==(0); - if ($340) { - $345 = (($f) + 1428|0); - $346 = HEAP32[$345>>2]|0; - $347 = ($346|0)==(0); - if ($347) { - $$01 = $left_start; - } else { - $348 = (($346) + ($left_start))|0; - HEAP32[$p_left>>2] = $348; - HEAP32[$345>>2] = 0; - $$01 = $348; - } - } else { - $341 = (($f) + 1076|0); - HEAP32[$341>>2] = $11; - $342 = (($3) - ($right_end))|0; - $343 = (($f) + 1428|0); - HEAP32[$343>>2] = $342; - $344 = (($f) + 1080|0); - HEAP32[$344>>2] = 1; - HEAP8[$338>>0] = 0; - $$01 = $left_start; - } - $349 = (($f) + 1404|0); - $350 = HEAP32[$349>>2]|0; - $351 = (($f) + 1420|0); - $352 = HEAP32[$351>>2]|0; - $353 = ($350|0)==($352|0); - if ($353) { - $354 = (($f) + 1080|0); - $355 = HEAP32[$354>>2]|0; - $356 = ($355|0)==(0); - if (!($356)) { - $357 = (($f) + 1391|0); - $358 = HEAP8[$357>>0]|0; - $359 = $358 & 4; - $360 = ($359<<24>>24)==(0); - if (!($360)) { - $361 = (($f) + 1424|0); - $362 = HEAP32[$361>>2]|0; - $363 = (($right_end) - ($3))|0; - $364 = (($362) + ($363))|0; - $365 = (($f) + 1076|0); - $366 = HEAP32[$365>>2]|0; - $367 = (($366) + ($right_end))|0; - $368 = ($364>>>0)<($367>>>0); - if ($368) { - $369 = ($364>>>0)<($366>>>0); - $370 = (($364) - ($366))|0; - $storemerge = $369 ? 0 : $370; - $371 = (($storemerge) + ($$01))|0; - HEAP32[$len>>2] = $371; - $372 = HEAP32[$365>>2]|0; - $373 = (($372) + ($371))|0; - HEAP32[$365>>2] = $373; - $$0 = 1; - STACKTOP = sp;return ($$0|0); - } - } - } - $374 = (($f) + 1424|0); - $375 = HEAP32[$374>>2]|0; - $376 = (($$01) - ($10))|0; - $377 = (($376) + ($375))|0; - $378 = (($f) + 1076|0); - HEAP32[$378>>2] = $377; - HEAP32[$354>>2] = 1; - } - $379 = (($f) + 1080|0); - $380 = HEAP32[$379>>2]|0; - $381 = ($380|0)==(0); - if (!($381)) { - $382 = (($right_start) - ($$01))|0; - $383 = (($f) + 1076|0); - $384 = HEAP32[$383>>2]|0; - $385 = (($382) + ($384))|0; - HEAP32[$383>>2] = $385; - } - $386 = HEAP32[$212>>2]|0; - $387 = ($386|0)==(0|0); - if (!($387)) { - $388 = (($f) + 100|0); - $389 = HEAP32[$388>>2]|0; - $390 = (($f) + 108|0); - $391 = HEAP32[$390>>2]|0; - $392 = ($389|0)==($391|0); - if (!($392)) { - ___assert_fail((18880|0),(17648|0),3084,(19360|0)); - // unreachable; - } - } - HEAP32[$len>>2] = $right_end; - $$0 = 1; - STACKTOP = sp;return ($$0|0); -} -function _prep_huffman($f) { - $f = $f|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; - var $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (($f) + 1412|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)<(25); - if (!($2)) { - STACKTOP = sp;return; - } - $3 = ($1|0)==(0); - if ($3) { - $4 = (($f) + 1408|0); - HEAP32[$4>>2] = 0; - } - $5 = (($f) + 1392|0); - $6 = (($f) + 1400|0); - $7 = (($f) + 1408|0); - while(1) { - $8 = HEAP32[$6>>2]|0; - $9 = ($8|0)==(0); - if (!($9)) { - $10 = HEAP8[$5>>0]|0; - $11 = ($10<<24>>24)==(0); - if ($11) { - label = 9; - break; - } - } - $12 = (_get8_packet_raw($f)|0); - $13 = ($12|0)==(-1); - if ($13) { - label = 9; - break; - } - $14 = HEAP32[$0>>2]|0; - $15 = $12 << $14; - $16 = HEAP32[$7>>2]|0; - $17 = (($16) + ($15))|0; - HEAP32[$7>>2] = $17; - $18 = HEAP32[$0>>2]|0; - $19 = (($18) + 8)|0; - HEAP32[$0>>2] = $19; - $20 = ($19|0)<(25); - if (!($20)) { - label = 9; - break; - } - } - if ((label|0) == 9) { - STACKTOP = sp;return; - } -} -function _codebook_decode_scalar_raw($f,$c) { - $f = $f|0; - $c = $c|0; - var $$ = 0, $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; - var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0; - var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0; - var $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0; - var $8 = 0, $80 = 0, $81 = 0, $9 = 0, $i$05 = 0, $n$07 = 0, $x$0$ = 0, $x$0$lcssa = 0, $x$06 = 0, $x$1 = 0, label = 0, sp = 0; - sp = STACKTOP; - _prep_huffman($f); - $0 = (($c) + 2084|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)==(0|0); - if ($2) { - $3 = (($c) + 32|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)==(0|0); - if ($5) { - ___assert_fail((20584|0),(17648|0),1211,(20624|0)); - // unreachable; - } - } - $6 = (($c) + 4|0); - $7 = HEAP32[$6>>2]|0; - $8 = ($7|0)>(8); - if ($8) { - $9 = HEAP32[$0>>2]|0; - $10 = ($9|0)==(0|0); - if (!($10)) { - label = 7; - } - } else { - $11 = (($c) + 32|0); - $12 = HEAP32[$11>>2]|0; - $13 = ($12|0)==(0|0); - if ($13) { - label = 7; - } - } - if ((label|0) == 7) { - $14 = (($f) + 1408|0); - $15 = HEAP32[$14>>2]|0; - $16 = (_bit_reverse($15)|0); - $17 = (($c) + 2092|0); - $18 = HEAP32[$17>>2]|0; - $19 = ($18|0)>(1); - if ($19) { - $20 = HEAP32[$0>>2]|0; - $n$07 = $18;$x$06 = 0; - while(1) { - $21 = $n$07 >> 1; - $22 = (($21) + ($x$06))|0; - $23 = (($20) + ($22<<2)|0); - $24 = HEAP32[$23>>2]|0; - $25 = ($24>>>0)>($16>>>0); - $26 = (($n$07) - ($21))|0; - $x$0$ = $25 ? $x$06 : $22; - $$ = $25 ? $21 : $26; - $27 = ($$|0)>(1); - if ($27) { - $n$07 = $$;$x$06 = $x$0$; - } else { - $x$0$lcssa = $x$0$; - break; - } - } - } else { - $x$0$lcssa = 0; - } - $28 = (($c) + 23|0); - $29 = HEAP8[$28>>0]|0; - $30 = ($29<<24>>24)==(0); - if ($30) { - $31 = (($c) + 2088|0); - $32 = HEAP32[$31>>2]|0; - $33 = (($32) + ($x$0$lcssa<<2)|0); - $34 = HEAP32[$33>>2]|0; - $x$1 = $34; - } else { - $x$1 = $x$0$lcssa; - } - $35 = (($c) + 8|0); - $36 = HEAP32[$35>>2]|0; - $37 = (($36) + ($x$1)|0); - $38 = HEAP8[$37>>0]|0; - $39 = $38&255; - $40 = (($f) + 1412|0); - $41 = HEAP32[$40>>2]|0; - $42 = ($41|0)<($39|0); - if ($42) { - HEAP32[$40>>2] = 0; - $$0 = -1; - STACKTOP = sp;return ($$0|0); - } else { - $43 = HEAP32[$14>>2]|0; - $44 = $43 >>> $39; - HEAP32[$14>>2] = $44; - $45 = HEAP32[$40>>2]|0; - $46 = (($45) - ($39))|0; - HEAP32[$40>>2] = $46; - $$0 = $x$1; - STACKTOP = sp;return ($$0|0); - } - } - $47 = (($c) + 23|0); - $48 = HEAP8[$47>>0]|0; - $49 = ($48<<24>>24)==(0); - if (!($49)) { - ___assert_fail((20656|0),(17648|0),1244,(20624|0)); - // unreachable; - } - $50 = HEAP32[$6>>2]|0; - $51 = ($50|0)>(0); - L27: do { - if ($51) { - $52 = (($c) + 8|0); - $53 = HEAP32[$52>>2]|0; - $54 = (($c) + 32|0); - $55 = (($f) + 1408|0); - $i$05 = 0; - while(1) { - $56 = (($53) + ($i$05)|0); - $57 = HEAP8[$56>>0]|0; - $58 = $57&255; - $59 = ($57<<24>>24)==(-1); - if (!($59)) { - $60 = HEAP32[$54>>2]|0; - $61 = (($60) + ($i$05<<2)|0); - $62 = HEAP32[$61>>2]|0; - $63 = HEAP32[$55>>2]|0; - $64 = 1 << $58; - $65 = (($64) + -1)|0; - $66 = $63 & $65; - $67 = ($62|0)==($66|0); - if ($67) { - break; - } - } - $78 = (($i$05) + 1)|0; - $79 = HEAP32[$6>>2]|0; - $80 = ($78|0)<($79|0); - if ($80) { - $i$05 = $78; - } else { - break L27; - } - } - $68 = (($f) + 1412|0); - $69 = HEAP32[$68>>2]|0; - $70 = ($69|0)<($58|0); - if ($70) { - HEAP32[$68>>2] = 0; - $$0 = -1; - STACKTOP = sp;return ($$0|0); - } else { - $71 = $63 >>> $58; - HEAP32[$55>>2] = $71; - $72 = HEAP32[$52>>2]|0; - $73 = (($72) + ($i$05)|0); - $74 = HEAP8[$73>>0]|0; - $75 = $74&255; - $76 = HEAP32[$68>>2]|0; - $77 = (($76) - ($75))|0; - HEAP32[$68>>2] = $77; - $$0 = $i$05; - STACKTOP = sp;return ($$0|0); - } - } - } while(0); - _error($f,21); - $81 = (($f) + 1412|0); - HEAP32[$81>>2] = 0; - $$0 = -1; - STACKTOP = sp;return ($$0|0); -} -function _predict_point($x,$x0,$x1,$y0,$y1) { - $x = $x|0; - $x0 = $x0|0; - $x1 = $x1|0; - $y0 = $y0|0; - $y1 = $y1|0; - var $$p = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $ispos = 0, $neg = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (($y1) - ($y0))|0; - $1 = (($x1) - ($x0))|0; - $ispos = ($0|0)>(-1); - $neg = (0 - ($0))|0; - $2 = $ispos ? $0 : $neg; - $3 = (($x) - ($x0))|0; - $4 = Math_imul($2, $3)|0; - $5 = (($4|0) / ($1|0))&-1; - $6 = ($0|0)<(0); - $7 = (0 - ($5))|0; - $$p = $6 ? $7 : $5; - $8 = (($$p) + ($y0))|0; - STACKTOP = sp;return ($8|0); -} -function _decode_residue($f,$residue_buffers,$ch,$n,$rn,$do_not_decode) { - $f = $f|0; - $residue_buffers = $residue_buffers|0; - $ch = $ch|0; - $n = $n|0; - $rn = $rn|0; - $do_not_decode = $do_not_decode|0; - var $$ = 0, $$10 = 0, $$12 = 0, $$13 = 0, $$4 = 0, $$6 = 0, $$7 = 0, $$9 = 0, $$not = 0, $$not101 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0; - var $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0; - var $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0; - var $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0; - var $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0; - var $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0; - var $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0; - var $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0; - var $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0; - var $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0; - var $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0; - var $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0; - var $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0; - var $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0; - var $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0; - var $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0; - var $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0; - var $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0; - var $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $brmerge = 0, $c_inter = 0, $c_inter16 = 0, $c_inter6 = 0, $class_set$062 = 0; - var $class_set$148 = 0, $class_set$276 = 0, $class_set26$030 = 0, $exitcond = 0, $i$091 = 0, $i$156 = 0, $i$242 = 0, $i$370 = 0, $i$427 = 0, $j$0$lcssa = 0, $j$086 = 0, $j$116 = 0, $j$220 = 0, $or$cond = 0, $or$cond11 = 0, $or$cond1168 = 0, $or$cond14 = 0, $or$cond1424 = 0, $or$cond5 = 0, $or$cond554 = 0; - var $or$cond8 = 0, $or$cond840 = 0, $p_inter = 0, $p_inter17 = 0, $p_inter7 = 0, $pass$081 = 0, $pass$135 = 0, $pcount$063 = 0, $pcount$1$lcssa = 0, $pcount$155 = 0, $pcount$249 = 0, $pcount$3$lcssa = 0, $pcount$341 = 0, $pcount$477 = 0, $pcount$5$lcssa = 0, $pcount$569 = 0, $pcount25$029 = 0, $pcount25$1$lcssa = 0, $pcount25$125 = 0, $q$0 = 0; - var $q$1 = 0, $q19$0 = 0, $q19$1 = 0, $q9$0 = 0, $q9$1 = 0, $temp$0 = 0, $temp$1 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); - $c_inter = sp + 20|0; - $p_inter = sp; - $c_inter6 = sp + 4|0; - $p_inter7 = sp + 8|0; - $c_inter16 = sp + 12|0; - $p_inter17 = sp + 16|0; - $0 = (($f) + 412|0); - $1 = HEAP32[$0>>2]|0; - $2 = ((($f) + ($rn<<1)|0) + 284|0); - $3 = HEAP16[$2>>1]|0; - $4 = $3&65535; - $5 = ((($1) + (($rn*24)|0)|0) + 13|0); - $6 = HEAP8[$5>>0]|0; - $7 = $6&255; - $8 = (($f) + 140|0); - $9 = HEAP32[$8>>2]|0; - $10 = (($9) + (($7*2096)|0)|0); - $11 = HEAP32[$10>>2]|0; - $12 = ((($1) + (($rn*24)|0)|0) + 4|0); - $13 = HEAP32[$12>>2]|0; - $14 = (($1) + (($rn*24)|0)|0); - $15 = HEAP32[$14>>2]|0; - $16 = (($13) - ($15))|0; - $17 = ((($1) + (($rn*24)|0)|0) + 8|0); - $18 = HEAP32[$17>>2]|0; - $19 = (($16>>>0) / ($18>>>0))&-1; - $20 = (($f) + 108|0); - $21 = HEAP32[$20>>2]|0; - $22 = (($f) + 96|0); - $23 = HEAP32[$22>>2]|0; - $24 = ($23|0)==(0|0); - $25 = (($f) + 4|0); - $26 = HEAP32[$25>>2]|0; - $27 = $19 << 2; - $28 = (($27) + 4)|0; - $29 = Math_imul($26, $28)|0; - if ($24) { - $31 = STACKTOP; STACKTOP = STACKTOP + ((((1*$29)|0)+15)&-16)|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();; - $33 = $31; - } else { - $30 = (_setup_temp_malloc($f,$29)|0); - $33 = $30; - } - $32 = HEAP32[$25>>2]|0; - $34 = (_make_block_array($33,$32,$27)|0); - $35 = ($ch|0)>(0); - if ($35) { - $36 = $n << 2; - $i$091 = 0; - while(1) { - $37 = (($do_not_decode) + ($i$091)|0); - $38 = HEAP8[$37>>0]|0; - $39 = ($38<<24>>24)==(0); - if ($39) { - $40 = (($residue_buffers) + ($i$091<<2)|0); - $41 = HEAP32[$40>>2]|0; - _memset(($41|0),0,($36|0))|0; - } - $42 = (($i$091) + 1)|0; - $exitcond = ($42|0)==($ch|0); - if ($exitcond) { - break; - } else { - $i$091 = $42; - } - } - } - $43 = ($3<<16>>16)!=(2); - $44 = ($ch|0)==(1); - $or$cond = $43 | $44; - if ($or$cond) { - $46 = ($19|0)>(0); - $47 = (($f) + 1412|0); - $48 = (($f) + 1408|0); - $49 = ((($1) + (($rn*24)|0)|0) + 16|0); - $50 = ($11|0)>(0); - $51 = ($ch|0)>(0); - $52 = ((($1) + (($rn*24)|0)|0) + 20|0); - $pass$135 = 0; - L15: while(1) { - if ($46) { - $class_set26$030 = 0;$pcount25$029 = 0; - while(1) { - $$not = ($pass$135|0)!=(0); - $$not101 = ($ch|0)<(1); - $brmerge = $$not | $$not101; - if (!($brmerge)) { - $j$116 = 0; - while(1) { - $288 = (($do_not_decode) + ($j$116)|0); - $289 = HEAP8[$288>>0]|0; - $290 = ($289<<24>>24)==(0); - if ($290) { - $291 = HEAP32[$8>>2]|0; - $292 = HEAP8[$5>>0]|0; - $293 = $292&255; - $294 = (($291) + (($293*2096)|0)|0); - $295 = HEAP32[$47>>2]|0; - $296 = ($295|0)<(10); - if ($296) { - _prep_huffman($f); - } - $297 = HEAP32[$48>>2]|0; - $298 = $297 & 1023; - $299 = (((($291) + (($293*2096)|0)|0) + ($298<<1)|0) + 36|0); - $300 = HEAP16[$299>>1]|0; - $301 = $300 << 16 >> 16; - $302 = ($300<<16>>16)>(-1); - if ($302) { - $303 = ((($291) + (($293*2096)|0)|0) + 8|0); - $304 = HEAP32[$303>>2]|0; - $305 = (($304) + ($301)|0); - $306 = HEAP8[$305>>0]|0; - $307 = $306&255; - $308 = $297 >>> $307; - HEAP32[$48>>2] = $308; - $309 = HEAP32[$47>>2]|0; - $310 = (($309) - ($307))|0; - $311 = ($310|0)<(0); - $$12 = $311 ? 0 : $310; - HEAP32[$47>>2] = $$12; - $$13 = $311 ? -1 : $301; - $temp$0 = $$13; - } else { - $312 = (_codebook_decode_scalar_raw($f,$294)|0); - $temp$0 = $312; - } - $313 = ((($291) + (($293*2096)|0)|0) + 23|0); - $314 = HEAP8[$313>>0]|0; - $315 = ($314<<24>>24)==(0); - if ($315) { - $temp$1 = $temp$0; - } else { - $316 = ((($291) + (($293*2096)|0)|0) + 2088|0); - $317 = HEAP32[$316>>2]|0; - $318 = (($317) + ($temp$0<<2)|0); - $319 = HEAP32[$318>>2]|0; - $temp$1 = $319; - } - $320 = ($temp$1|0)==(-1); - if ($320) { - label = 94; - break L15; - } - $321 = HEAP32[$49>>2]|0; - $322 = (($321) + ($temp$1<<2)|0); - $323 = HEAP32[$322>>2]|0; - $324 = (($34) + ($j$116<<2)|0); - $325 = HEAP32[$324>>2]|0; - $326 = (($325) + ($class_set26$030<<2)|0); - HEAP32[$326>>2] = $323; - } - $327 = (($j$116) + 1)|0; - $328 = ($327|0)<($ch|0); - if ($328) { - $j$116 = $327; - } else { - break; - } - } - } - $329 = ($pcount25$029|0)<($19|0); - $or$cond1424 = $50 & $329; - if ($or$cond1424) { - $i$427 = 0;$pcount25$125 = $pcount25$029; - while(1) { - if ($51) { - $j$220 = 0; - while(1) { - $330 = (($do_not_decode) + ($j$220)|0); - $331 = HEAP8[$330>>0]|0; - $332 = ($331<<24>>24)==(0); - if ($332) { - $333 = (($34) + ($j$220<<2)|0); - $334 = HEAP32[$333>>2]|0; - $335 = (($334) + ($class_set26$030<<2)|0); - $336 = HEAP32[$335>>2]|0; - $337 = (($336) + ($i$427)|0); - $338 = HEAP8[$337>>0]|0; - $339 = $338&255; - $340 = HEAP32[$52>>2]|0; - $341 = ((($340) + ($339<<4)|0) + ($pass$135<<1)|0); - $342 = HEAP16[$341>>1]|0; - $343 = ($342<<16>>16)>(-1); - if ($343) { - $344 = $342 << 16 >> 16; - $345 = (($residue_buffers) + ($j$220<<2)|0); - $346 = HEAP32[$345>>2]|0; - $347 = HEAP32[$14>>2]|0; - $348 = HEAP32[$17>>2]|0; - $349 = Math_imul($348, $pcount25$125)|0; - $350 = (($349) + ($347))|0; - $351 = HEAP32[$8>>2]|0; - $352 = (($351) + (($344*2096)|0)|0); - $353 = (_residue_decode($f,$352,$346,$350,$348,$4)|0); - $354 = ($353|0)==(0); - if ($354) { - label = 94; - break L15; - } - } - } - $355 = (($j$220) + 1)|0; - $356 = ($355|0)<($ch|0); - if ($356) { - $j$220 = $355; - } else { - break; - } - } - } - $357 = (($i$427) + 1)|0; - $358 = (($pcount25$125) + 1)|0; - $359 = ($357|0)<($11|0); - $360 = ($358|0)<($19|0); - $or$cond14 = $359 & $360; - if ($or$cond14) { - $i$427 = $357;$pcount25$125 = $358; - } else { - $pcount25$1$lcssa = $358; - break; - } - } - } else { - $pcount25$1$lcssa = $pcount25$029; - } - $361 = (($class_set26$030) + 1)|0; - $362 = ($pcount25$1$lcssa|0)<($19|0); - if ($362) { - $class_set26$030 = $361;$pcount25$029 = $pcount25$1$lcssa; - } else { - break; - } - } - } - $363 = (($pass$135) + 1)|0; - $364 = ($363|0)<(8); - if ($364) { - $pass$135 = $363; - } else { - label = 94; - break; - } - } - if ((label|0) == 94) { - HEAP32[$20>>2] = $21; - STACKTOP = sp;return; - } - } - $45 = ($ch|0)>(0); - L56: do { - if ($45) { - $j$086 = 0; - while(1) { - $55 = (($do_not_decode) + ($j$086)|0); - $56 = HEAP8[$55>>0]|0; - $57 = ($56<<24>>24)==(0); - $54 = (($j$086) + 1)|0; - if ($57) { - $j$0$lcssa = $j$086; - break L56; - } - $53 = ($54|0)<($ch|0); - if ($53) { - $j$086 = $54; - } else { - $j$0$lcssa = $54; - break; - } - } - } else { - $j$0$lcssa = 0; - } - } while(0); - $58 = ($j$0$lcssa|0)==($ch|0); - if ($58) { - HEAP32[$20>>2] = $21; - STACKTOP = sp;return; - } - $59 = ($19|0)>(0); - $60 = (($f) + 1412|0); - $61 = (($f) + 1408|0); - $62 = ((($1) + (($rn*24)|0)|0) + 16|0); - $63 = ($11|0)>(0); - $64 = ((($1) + (($rn*24)|0)|0) + 20|0); - $65 = ($19|0)>(0); - $66 = (($f) + 1412|0); - $67 = (($f) + 1408|0); - $68 = ((($1) + (($rn*24)|0)|0) + 16|0); - $69 = ($11|0)>(0); - $70 = ((($1) + (($rn*24)|0)|0) + 20|0); - $71 = ($19|0)>(0); - $72 = (($f) + 1412|0); - $73 = (($f) + 1408|0); - $74 = ((($1) + (($rn*24)|0)|0) + 16|0); - $75 = ($11|0)>(0); - $76 = ((($1) + (($rn*24)|0)|0) + 20|0); - $pass$081 = 0; - L64: while(1) { - if ((($ch|0) == 1)) { - if ($59) { - $79 = ($pass$081|0)==(0); - $class_set$148 = 0;$pcount$249 = 0; - while(1) { - $150 = HEAP32[$14>>2]|0; - $151 = HEAP32[$17>>2]|0; - $152 = Math_imul($151, $pcount$249)|0; - $153 = (($152) + ($150))|0; - HEAP32[$c_inter6>>2] = 0; - HEAP32[$p_inter7>>2] = $153; - if ($79) { - $154 = HEAP32[$8>>2]|0; - $155 = HEAP8[$5>>0]|0; - $156 = $155&255; - $157 = (($154) + (($156*2096)|0)|0); - $158 = HEAP32[$60>>2]|0; - $159 = ($158|0)<(10); - if ($159) { - _prep_huffman($f); - } - $160 = HEAP32[$61>>2]|0; - $161 = $160 & 1023; - $162 = (((($154) + (($156*2096)|0)|0) + ($161<<1)|0) + 36|0); - $163 = HEAP16[$162>>1]|0; - $164 = $163 << 16 >> 16; - $165 = ($163<<16>>16)>(-1); - if ($165) { - $166 = ((($154) + (($156*2096)|0)|0) + 8|0); - $167 = HEAP32[$166>>2]|0; - $168 = (($167) + ($164)|0); - $169 = HEAP8[$168>>0]|0; - $170 = $169&255; - $171 = $160 >>> $170; - HEAP32[$61>>2] = $171; - $172 = HEAP32[$60>>2]|0; - $173 = (($172) - ($170))|0; - $174 = ($173|0)<(0); - $$6 = $174 ? 0 : $173; - HEAP32[$60>>2] = $$6; - $$7 = $174 ? -1 : $164; - $q9$0 = $$7; - } else { - $175 = (_codebook_decode_scalar_raw($f,$157)|0); - $q9$0 = $175; - } - $176 = ((($154) + (($156*2096)|0)|0) + 23|0); - $177 = HEAP8[$176>>0]|0; - $178 = ($177<<24>>24)==(0); - if ($178) { - $q9$1 = $q9$0; - } else { - $179 = ((($154) + (($156*2096)|0)|0) + 2088|0); - $180 = HEAP32[$179>>2]|0; - $181 = (($180) + ($q9$0<<2)|0); - $182 = HEAP32[$181>>2]|0; - $q9$1 = $182; - } - $183 = ($q9$1|0)==(-1); - if ($183) { - label = 94; - break L64; - } - $184 = HEAP32[$62>>2]|0; - $185 = (($184) + ($q9$1<<2)|0); - $186 = HEAP32[$185>>2]|0; - $187 = HEAP32[$34>>2]|0; - $188 = (($187) + ($class_set$148<<2)|0); - HEAP32[$188>>2] = $186; - } - $189 = ($pcount$249|0)<($19|0); - $or$cond840 = $63 & $189; - if ($or$cond840) { - $i$242 = 0;$pcount$341 = $pcount$249; - while(1) { - $190 = HEAP32[$17>>2]|0; - $191 = HEAP32[$34>>2]|0; - $192 = (($191) + ($class_set$148<<2)|0); - $193 = HEAP32[$192>>2]|0; - $194 = (($193) + ($i$242)|0); - $195 = HEAP8[$194>>0]|0; - $196 = $195&255; - $197 = HEAP32[$64>>2]|0; - $198 = ((($197) + ($196<<4)|0) + ($pass$081<<1)|0); - $199 = HEAP16[$198>>1]|0; - $200 = ($199<<16>>16)>(-1); - if ($200) { - $201 = $199 << 16 >> 16; - $202 = HEAP32[$8>>2]|0; - $203 = (($202) + (($201*2096)|0)|0); - $204 = (_codebook_decode_deinterleave_repeat($f,$203,$residue_buffers,$ch,$c_inter6,$p_inter7,$n,$190)|0); - $205 = ($204|0)==(0); - if ($205) { - label = 94; - break L64; - } - } else { - $206 = Math_imul($190, $pcount$341)|0; - $207 = HEAP32[$14>>2]|0; - $208 = (($206) + ($190))|0; - $209 = (($208) + ($207))|0; - HEAP32[$c_inter6>>2] = 0; - HEAP32[$p_inter7>>2] = $209; - } - $210 = (($i$242) + 1)|0; - $211 = (($pcount$341) + 1)|0; - $212 = ($210|0)<($11|0); - $213 = ($211|0)<($19|0); - $or$cond8 = $212 & $213; - if ($or$cond8) { - $i$242 = $210;$pcount$341 = $211; - } else { - $pcount$3$lcssa = $211; - break; - } - } - } else { - $pcount$3$lcssa = $pcount$249; - } - $214 = (($class_set$148) + 1)|0; - $215 = ($pcount$3$lcssa|0)<($19|0); - if ($215) { - $class_set$148 = $214;$pcount$249 = $pcount$3$lcssa; - } else { - break; - } - } - } - } else if ((($ch|0) == 2)) { - if ($65) { - $78 = ($pass$081|0)==(0); - $class_set$062 = 0;$pcount$063 = 0; - while(1) { - $80 = HEAP32[$14>>2]|0; - $81 = HEAP32[$17>>2]|0; - $82 = Math_imul($81, $pcount$063)|0; - $83 = (($82) + ($80))|0; - $84 = $83 & 1; - HEAP32[$c_inter>>2] = $84; - $85 = $83 >> 1; - HEAP32[$p_inter>>2] = $85; - if ($78) { - $86 = HEAP32[$8>>2]|0; - $87 = HEAP8[$5>>0]|0; - $88 = $87&255; - $89 = (($86) + (($88*2096)|0)|0); - $90 = HEAP32[$66>>2]|0; - $91 = ($90|0)<(10); - if ($91) { - _prep_huffman($f); - } - $92 = HEAP32[$67>>2]|0; - $93 = $92 & 1023; - $94 = (((($86) + (($88*2096)|0)|0) + ($93<<1)|0) + 36|0); - $95 = HEAP16[$94>>1]|0; - $96 = $95 << 16 >> 16; - $97 = ($95<<16>>16)>(-1); - if ($97) { - $98 = ((($86) + (($88*2096)|0)|0) + 8|0); - $99 = HEAP32[$98>>2]|0; - $100 = (($99) + ($96)|0); - $101 = HEAP8[$100>>0]|0; - $102 = $101&255; - $103 = $92 >>> $102; - HEAP32[$67>>2] = $103; - $104 = HEAP32[$66>>2]|0; - $105 = (($104) - ($102))|0; - $106 = ($105|0)<(0); - $$ = $106 ? 0 : $105; - HEAP32[$66>>2] = $$; - $$4 = $106 ? -1 : $96; - $q$0 = $$4; - } else { - $107 = (_codebook_decode_scalar_raw($f,$89)|0); - $q$0 = $107; - } - $108 = ((($86) + (($88*2096)|0)|0) + 23|0); - $109 = HEAP8[$108>>0]|0; - $110 = ($109<<24>>24)==(0); - if ($110) { - $q$1 = $q$0; - } else { - $111 = ((($86) + (($88*2096)|0)|0) + 2088|0); - $112 = HEAP32[$111>>2]|0; - $113 = (($112) + ($q$0<<2)|0); - $114 = HEAP32[$113>>2]|0; - $q$1 = $114; - } - $115 = ($q$1|0)==(-1); - if ($115) { - label = 94; - break L64; - } - $116 = HEAP32[$68>>2]|0; - $117 = (($116) + ($q$1<<2)|0); - $118 = HEAP32[$117>>2]|0; - $119 = HEAP32[$34>>2]|0; - $120 = (($119) + ($class_set$062<<2)|0); - HEAP32[$120>>2] = $118; - } - $121 = ($pcount$063|0)<($19|0); - $or$cond554 = $69 & $121; - if ($or$cond554) { - $i$156 = 0;$pcount$155 = $pcount$063; - while(1) { - $122 = HEAP32[$17>>2]|0; - $123 = HEAP32[$34>>2]|0; - $124 = (($123) + ($class_set$062<<2)|0); - $125 = HEAP32[$124>>2]|0; - $126 = (($125) + ($i$156)|0); - $127 = HEAP8[$126>>0]|0; - $128 = $127&255; - $129 = HEAP32[$70>>2]|0; - $130 = ((($129) + ($128<<4)|0) + ($pass$081<<1)|0); - $131 = HEAP16[$130>>1]|0; - $132 = ($131<<16>>16)>(-1); - if ($132) { - $133 = $131 << 16 >> 16; - $134 = HEAP32[$8>>2]|0; - $135 = (($134) + (($133*2096)|0)|0); - $136 = (_codebook_decode_deinterleave_repeat_2($f,$135,$residue_buffers,$c_inter,$p_inter,$n,$122)|0); - $137 = ($136|0)==(0); - if ($137) { - label = 94; - break L64; - } - } else { - $138 = Math_imul($122, $pcount$155)|0; - $139 = HEAP32[$14>>2]|0; - $140 = (($138) + ($122))|0; - $141 = (($140) + ($139))|0; - $142 = $141 & 1; - HEAP32[$c_inter>>2] = $142; - $143 = $141 >> 1; - HEAP32[$p_inter>>2] = $143; - } - $144 = (($i$156) + 1)|0; - $145 = (($pcount$155) + 1)|0; - $146 = ($144|0)<($11|0); - $147 = ($145|0)<($19|0); - $or$cond5 = $146 & $147; - if ($or$cond5) { - $i$156 = $144;$pcount$155 = $145; - } else { - $pcount$1$lcssa = $145; - break; - } - } - } else { - $pcount$1$lcssa = $pcount$063; - } - $148 = (($class_set$062) + 1)|0; - $149 = ($pcount$1$lcssa|0)<($19|0); - if ($149) { - $class_set$062 = $148;$pcount$063 = $pcount$1$lcssa; - } else { - break; - } - } - } - } else { - if ($71) { - $77 = ($pass$081|0)==(0); - $class_set$276 = 0;$pcount$477 = 0; - while(1) { - $216 = HEAP32[$14>>2]|0; - $217 = HEAP32[$17>>2]|0; - $218 = Math_imul($217, $pcount$477)|0; - $219 = (($218) + ($216))|0; - $220 = (($219|0) % ($ch|0))&-1; - HEAP32[$c_inter16>>2] = $220; - $221 = (($219|0) / ($ch|0))&-1; - HEAP32[$p_inter17>>2] = $221; - if ($77) { - $222 = HEAP32[$8>>2]|0; - $223 = HEAP8[$5>>0]|0; - $224 = $223&255; - $225 = (($222) + (($224*2096)|0)|0); - $226 = HEAP32[$72>>2]|0; - $227 = ($226|0)<(10); - if ($227) { - _prep_huffman($f); - } - $228 = HEAP32[$73>>2]|0; - $229 = $228 & 1023; - $230 = (((($222) + (($224*2096)|0)|0) + ($229<<1)|0) + 36|0); - $231 = HEAP16[$230>>1]|0; - $232 = $231 << 16 >> 16; - $233 = ($231<<16>>16)>(-1); - if ($233) { - $234 = ((($222) + (($224*2096)|0)|0) + 8|0); - $235 = HEAP32[$234>>2]|0; - $236 = (($235) + ($232)|0); - $237 = HEAP8[$236>>0]|0; - $238 = $237&255; - $239 = $228 >>> $238; - HEAP32[$73>>2] = $239; - $240 = HEAP32[$72>>2]|0; - $241 = (($240) - ($238))|0; - $242 = ($241|0)<(0); - $$9 = $242 ? 0 : $241; - HEAP32[$72>>2] = $$9; - $$10 = $242 ? -1 : $232; - $q19$0 = $$10; - } else { - $243 = (_codebook_decode_scalar_raw($f,$225)|0); - $q19$0 = $243; - } - $244 = ((($222) + (($224*2096)|0)|0) + 23|0); - $245 = HEAP8[$244>>0]|0; - $246 = ($245<<24>>24)==(0); - if ($246) { - $q19$1 = $q19$0; - } else { - $247 = ((($222) + (($224*2096)|0)|0) + 2088|0); - $248 = HEAP32[$247>>2]|0; - $249 = (($248) + ($q19$0<<2)|0); - $250 = HEAP32[$249>>2]|0; - $q19$1 = $250; - } - $251 = ($q19$1|0)==(-1); - if ($251) { - label = 94; - break L64; - } - $252 = HEAP32[$74>>2]|0; - $253 = (($252) + ($q19$1<<2)|0); - $254 = HEAP32[$253>>2]|0; - $255 = HEAP32[$34>>2]|0; - $256 = (($255) + ($class_set$276<<2)|0); - HEAP32[$256>>2] = $254; - } - $257 = ($pcount$477|0)<($19|0); - $or$cond1168 = $75 & $257; - if ($or$cond1168) { - $i$370 = 0;$pcount$569 = $pcount$477; - while(1) { - $258 = HEAP32[$17>>2]|0; - $259 = HEAP32[$34>>2]|0; - $260 = (($259) + ($class_set$276<<2)|0); - $261 = HEAP32[$260>>2]|0; - $262 = (($261) + ($i$370)|0); - $263 = HEAP8[$262>>0]|0; - $264 = $263&255; - $265 = HEAP32[$76>>2]|0; - $266 = ((($265) + ($264<<4)|0) + ($pass$081<<1)|0); - $267 = HEAP16[$266>>1]|0; - $268 = ($267<<16>>16)>(-1); - if ($268) { - $269 = $267 << 16 >> 16; - $270 = HEAP32[$8>>2]|0; - $271 = (($270) + (($269*2096)|0)|0); - $272 = (_codebook_decode_deinterleave_repeat($f,$271,$residue_buffers,$ch,$c_inter16,$p_inter17,$n,$258)|0); - $273 = ($272|0)==(0); - if ($273) { - label = 94; - break L64; - } - } else { - $274 = Math_imul($258, $pcount$569)|0; - $275 = HEAP32[$14>>2]|0; - $276 = (($274) + ($258))|0; - $277 = (($276) + ($275))|0; - $278 = (($277|0) % ($ch|0))&-1; - HEAP32[$c_inter16>>2] = $278; - $279 = (($277|0) / ($ch|0))&-1; - HEAP32[$p_inter17>>2] = $279; - } - $280 = (($i$370) + 1)|0; - $281 = (($pcount$569) + 1)|0; - $282 = ($280|0)<($11|0); - $283 = ($281|0)<($19|0); - $or$cond11 = $282 & $283; - if ($or$cond11) { - $i$370 = $280;$pcount$569 = $281; - } else { - $pcount$5$lcssa = $281; - break; - } - } - } else { - $pcount$5$lcssa = $pcount$477; - } - $284 = (($class_set$276) + 1)|0; - $285 = ($pcount$5$lcssa|0)<($19|0); - if ($285) { - $class_set$276 = $284;$pcount$477 = $pcount$5$lcssa; - } else { - break; - } - } - } - } - $286 = (($pass$081) + 1)|0; - $287 = ($286|0)<(8); - if ($287) { - $pass$081 = $286; - } else { - label = 94; - break; - } - } - if ((label|0) == 94) { - HEAP32[$20>>2] = $21; - STACKTOP = sp;return; - } -} -function _do_floor($f,$map,$i,$n,$target,$finalY) { - $f = $f|0; - $map = $map|0; - $i = $i|0; - $n = $n|0; - $target = $target|0; - $finalY = $finalY|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0.0, $42 = 0, $43 = 0.0, $44 = 0.0; - var $45 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $j$01 = 0, $lx$0$lcssa = 0, $lx$03 = 0, $lx$1 = 0, $ly$0$lcssa = 0, $ly$04 = 0, $ly$1 = 0, $q$02 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = $n >> 1; - $1 = (($map) + 4|0); - $2 = HEAP32[$1>>2]|0; - $3 = ((($2) + (($i*3)|0)|0) + 2|0); - $4 = HEAP8[$3>>0]|0; - $5 = $4&255; - $6 = ((($map) + ($5)|0) + 9|0); - $7 = HEAP8[$6>>0]|0; - $8 = $7&255; - $9 = ((($f) + ($8<<1)|0) + 148|0); - $10 = HEAP16[$9>>1]|0; - $11 = ($10<<16>>16)==(0); - if ($11) { - _error($f,21); - STACKTOP = sp;return; - } - $12 = (($f) + 276|0); - $13 = HEAP32[$12>>2]|0; - $14 = HEAP16[$finalY>>1]|0; - $15 = $14 << 16 >> 16; - $16 = ((($13) + (($8*1596)|0)|0) + 1588|0); - $17 = HEAP8[$16>>0]|0; - $18 = $17&255; - $19 = Math_imul($18, $15)|0; - $20 = ((($13) + (($8*1596)|0)|0) + 1592|0); - $21 = HEAP32[$20>>2]|0; - $22 = ($21|0)>(1); - if ($22) { - $lx$03 = 0;$ly$04 = $19;$q$02 = 1; - while(1) { - $23 = (((($13) + (($8*1596)|0)|0) + ($q$02)|0) + 838|0); - $24 = HEAP8[$23>>0]|0; - $25 = $24&255; - $26 = (($finalY) + ($25<<1)|0); - $27 = HEAP16[$26>>1]|0; - $28 = ($27<<16>>16)>(-1); - if ($28) { - $29 = $27 << 16 >> 16; - $30 = HEAP8[$16>>0]|0; - $31 = $30&255; - $32 = Math_imul($31, $29)|0; - $33 = (((($13) + (($8*1596)|0)|0) + ($25<<1)|0) + 338|0); - $34 = HEAP16[$33>>1]|0; - $35 = $34&65535; - _draw_line($target,$lx$03,$ly$04,$35,$32,$0); - $lx$1 = $35;$ly$1 = $32; - } else { - $lx$1 = $lx$03;$ly$1 = $ly$04; - } - $36 = (($q$02) + 1)|0; - $37 = HEAP32[$20>>2]|0; - $38 = ($36|0)<($37|0); - if ($38) { - $lx$03 = $lx$1;$ly$04 = $ly$1;$q$02 = $36; - } else { - $lx$0$lcssa = $lx$1;$ly$0$lcssa = $ly$1; - break; - } - } - } else { - $lx$0$lcssa = 0;$ly$0$lcssa = $19; - } - $39 = ($lx$0$lcssa|0)<($0|0); - if (!($39)) { - STACKTOP = sp;return; - } - $40 = (19432 + ($ly$0$lcssa<<2)|0); - $41 = +HEAPF32[$40>>2]; - $j$01 = $lx$0$lcssa; - while(1) { - $42 = (($target) + ($j$01<<2)|0); - $43 = +HEAPF32[$42>>2]; - $44 = $41 * $43; - HEAPF32[$42>>2] = $44; - $45 = (($j$01) + 1)|0; - $exitcond = ($45|0)==($0|0); - if ($exitcond) { - break; - } else { - $j$01 = $45; - } - } - STACKTOP = sp;return; -} -function _inverse_mdct($buffer,$n,$f,$blocktype) { - $buffer = $buffer|0; - $n = $n|0; - $f = $f|0; - $blocktype = $blocktype|0; - var $$sum = 0, $$sum1 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0.0, $101 = 0.0, $102 = 0, $103 = 0.0, $104 = 0, $105 = 0.0, $106 = 0.0, $107 = 0, $108 = 0.0, $109 = 0, $11 = 0, $110 = 0.0, $111 = 0.0, $112 = 0.0, $113 = 0; - var $114 = 0.0, $115 = 0.0, $116 = 0.0, $117 = 0, $118 = 0.0, $119 = 0.0, $12 = 0, $120 = 0, $121 = 0.0, $122 = 0.0, $123 = 0.0, $124 = 0, $125 = 0.0, $126 = 0.0, $127 = 0.0, $128 = 0.0, $129 = 0.0, $13 = 0, $130 = 0, $131 = 0; - var $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0; - var $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0; - var $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0; - var $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0.0, $196 = 0, $197 = 0, $198 = 0, $199 = 0.0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0.0; - var $204 = 0, $205 = 0, $206 = 0, $207 = 0.0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0.0, $214 = 0, $215 = 0, $216 = 0, $217 = 0.0, $218 = 0, $219 = 0, $22 = 0, $220 = 0.0, $221 = 0; - var $222 = 0, $223 = 0, $224 = 0.0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0.0, $234 = 0, $235 = 0.0, $236 = 0.0, $237 = 0, $238 = 0.0, $239 = 0, $24 = 0; - var $240 = 0.0, $241 = 0.0, $242 = 0, $243 = 0.0, $244 = 0.0, $245 = 0.0, $246 = 0.0, $247 = 0.0, $248 = 0.0, $249 = 0.0, $25 = 0.0, $250 = 0.0, $251 = 0.0, $252 = 0.0, $253 = 0.0, $254 = 0.0, $255 = 0.0, $256 = 0.0, $257 = 0, $258 = 0.0; - var $259 = 0.0, $26 = 0.0, $260 = 0.0, $261 = 0, $262 = 0.0, $263 = 0, $264 = 0.0, $265 = 0.0, $266 = 0, $267 = 0.0, $268 = 0.0, $269 = 0, $27 = 0.0, $270 = 0.0, $271 = 0.0, $272 = 0.0, $273 = 0.0, $274 = 0.0, $275 = 0.0, $276 = 0.0; - var $277 = 0.0, $278 = 0.0, $279 = 0.0, $28 = 0, $280 = 0.0, $281 = 0.0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0.0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0; - var $295 = 0.0, $296 = 0, $297 = 0.0, $298 = 0.0, $299 = 0, $3 = 0, $30 = 0, $300 = 0.0, $301 = 0, $302 = 0.0, $303 = 0.0, $304 = 0.0, $305 = 0.0, $306 = 0.0, $307 = 0.0, $308 = 0.0, $309 = 0.0, $31 = 0.0, $310 = 0, $311 = 0; - var $312 = 0, $313 = 0.0, $314 = 0, $315 = 0.0, $316 = 0.0, $317 = 0, $318 = 0.0, $319 = 0, $32 = 0.0, $320 = 0.0, $321 = 0.0, $322 = 0.0, $323 = 0.0, $324 = 0.0, $325 = 0.0, $326 = 0.0, $327 = 0, $328 = 0.0, $329 = 0, $33 = 0.0; - var $330 = 0, $331 = 0, $332 = 0, $333 = 0.0, $334 = 0, $335 = 0.0, $336 = 0.0, $337 = 0, $338 = 0.0, $339 = 0, $34 = 0, $340 = 0.0, $341 = 0.0, $342 = 0.0, $343 = 0.0, $344 = 0.0, $345 = 0.0, $346 = 0.0, $347 = 0, $348 = 0.0; - var $349 = 0, $35 = 0.0, $350 = 0, $351 = 0, $352 = 0.0, $353 = 0, $354 = 0.0, $355 = 0.0, $356 = 0, $357 = 0.0, $358 = 0.0, $359 = 0.0, $36 = 0.0, $360 = 0.0, $361 = 0.0, $362 = 0.0, $363 = 0.0, $364 = 0.0, $365 = 0, $366 = 0.0; - var $367 = 0, $368 = 0, $369 = 0, $37 = 0.0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $38 = 0.0, $39 = 0.0, $4 = 0, $40 = 0.0, $41 = 0.0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; - var $48 = 0, $49 = 0, $5 = 0, $50 = 0.0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0, $59 = 0.0, $6 = 0, $60 = 0.0, $61 = 0.0, $62 = 0.0, $63 = 0.0, $64 = 0.0, $65 = 0.0; - var $66 = 0.0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0.0, $78 = 0, $79 = 0.0, $8 = 0, $80 = 0.0, $81 = 0.0, $82 = 0.0, $83 = 0.0; - var $84 = 0.0, $85 = 0, $86 = 0.0, $87 = 0.0, $88 = 0.0, $89 = 0, $9 = 0, $90 = 0.0, $91 = 0.0, $92 = 0, $93 = 0.0, $94 = 0.0, $95 = 0.0, $96 = 0, $97 = 0.0, $98 = 0.0, $99 = 0.0, $A0$023 = 0, $AA$0$lcssa = 0, $AA$050 = 0; - var $AA$144 = 0, $AA1$040 = 0, $B$07 = 0, $C$09 = 0, $bitrev$015 = 0, $d$0$lcssa = 0, $d$052 = 0, $d$146 = 0, $d0$039 = 0, $d05$016 = 0, $d09$03 = 0, $d1$038 = 0, $d110$04 = 0, $d16$017 = 0, $d2$05 = 0, $d3$06 = 0, $d7$010 = 0, $e$051 = 0, $e$145 = 0, $e0$037 = 0; - var $e1$036 = 0, $e11$08 = 0, $e8$011 = 0, $exitcond = 0, $exitcond58 = 0, $exitcond59 = 0, $i$030 = 0, $i_off$022 = 0, $l$0$lcssa = 0, $l$033 = 0, $l$126 = 0, $r$021 = 0, $scevgep = 0, $scevgep61 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = $n >> 1; - $1 = $n >> 2; - $2 = $n >> 3; - $3 = (($f) + 108|0); - $4 = HEAP32[$3>>2]|0; - $5 = (($f) + 96|0); - $6 = HEAP32[$5>>2]|0; - $7 = ($6|0)==(0|0); - $8 = $0 << 2; - if ($7) { - $10 = STACKTOP; STACKTOP = STACKTOP + ((((1*$8)|0)+15)&-16)|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();; - $15 = $10; - } else { - $9 = (_setup_temp_malloc($f,$8)|0); - $15 = $9; - } - $11 = ((($f) + ($blocktype<<2)|0) + 1084|0); - $12 = HEAP32[$11>>2]|0; - $13 = (($0) + -2)|0; - $14 = (($15) + ($13<<2)|0); - $16 = (($buffer) + ($0<<2)|0); - $17 = ($0|0)==(0); - if ($17) { - $AA$0$lcssa = $12;$d$0$lcssa = $14; - } else { - $18 = $0 << 2; - $19 = (($18) + -16)|0; - $20 = $19 >>> 4; - $21 = $20 << 1; - $22 = (($21) + 2)|0; - $23 = $20 << 3; - $24 = (($19) - ($23))|0; - $scevgep61 = (($15) + ($24)|0); - $AA$050 = $12;$d$052 = $14;$e$051 = $buffer; - while(1) { - $25 = +HEAPF32[$e$051>>2]; - $26 = +HEAPF32[$AA$050>>2]; - $27 = $25 * $26; - $28 = (($e$051) + 8|0); - $29 = +HEAPF32[$28>>2]; - $30 = (($AA$050) + 4|0); - $31 = +HEAPF32[$30>>2]; - $32 = $29 * $31; - $33 = $27 - $32; - $34 = (($d$052) + 4|0); - HEAPF32[$34>>2] = $33; - $35 = +HEAPF32[$e$051>>2]; - $36 = +HEAPF32[$30>>2]; - $37 = $35 * $36; - $38 = +HEAPF32[$28>>2]; - $39 = +HEAPF32[$AA$050>>2]; - $40 = $38 * $39; - $41 = $37 + $40; - HEAPF32[$d$052>>2] = $41; - $42 = (($d$052) + -8|0); - $43 = (($AA$050) + 8|0); - $44 = (($e$051) + 16|0); - $45 = ($44|0)==($16|0); - if ($45) { - break; - } else { - $AA$050 = $43;$d$052 = $42;$e$051 = $44; - } - } - $scevgep = (($12) + ($22<<2)|0); - $AA$0$lcssa = $scevgep;$d$0$lcssa = $scevgep61; - } - $46 = ($d$0$lcssa>>>0)<($15>>>0); - if (!($46)) { - $47 = (($0) + -3)|0; - $48 = (($buffer) + ($47<<2)|0); - $AA$144 = $AA$0$lcssa;$d$146 = $d$0$lcssa;$e$145 = $48; - while(1) { - $49 = (($e$145) + 8|0); - $50 = +HEAPF32[$49>>2]; - $51 = +HEAPF32[$AA$144>>2]; - $52 = $50 * $51; - $53 = +HEAPF32[$e$145>>2]; - $54 = (($AA$144) + 4|0); - $55 = +HEAPF32[$54>>2]; - $56 = $53 * $55; - $57 = $56 - $52; - $58 = (($d$146) + 4|0); - HEAPF32[$58>>2] = $57; - $59 = +HEAPF32[$49>>2]; - $60 = +HEAPF32[$54>>2]; - $61 = $59 * $60; - $62 = +HEAPF32[$e$145>>2]; - $63 = +HEAPF32[$AA$144>>2]; - $64 = $62 * $63; - $65 = -$64; - $66 = $65 - $61; - HEAPF32[$d$146>>2] = $66; - $67 = (($d$146) + -8|0); - $68 = (($AA$144) + 8|0); - $69 = (($e$145) + -16|0); - $70 = ($67>>>0)<($15>>>0); - if ($70) { - break; - } else { - $AA$144 = $68;$d$146 = $67;$e$145 = $69; - } - } - } - $71 = (($0) + -8)|0; - $72 = ($71|0)<(0); - if (!($72)) { - $73 = (($12) + ($71<<2)|0); - $74 = (($buffer) + ($1<<2)|0); - $75 = (($15) + ($1<<2)|0); - $AA1$040 = $73;$d0$039 = $74;$d1$038 = $buffer;$e0$037 = $75;$e1$036 = $15; - while(1) { - $76 = (($e0$037) + 4|0); - $77 = +HEAPF32[$76>>2]; - $78 = (($e1$036) + 4|0); - $79 = +HEAPF32[$78>>2]; - $80 = $77 - $79; - $81 = +HEAPF32[$e0$037>>2]; - $82 = +HEAPF32[$e1$036>>2]; - $83 = $81 - $82; - $84 = $77 + $79; - $85 = (($d0$039) + 4|0); - HEAPF32[$85>>2] = $84; - $86 = +HEAPF32[$e0$037>>2]; - $87 = +HEAPF32[$e1$036>>2]; - $88 = $86 + $87; - HEAPF32[$d0$039>>2] = $88; - $89 = (($AA1$040) + 16|0); - $90 = +HEAPF32[$89>>2]; - $91 = $80 * $90; - $92 = (($AA1$040) + 20|0); - $93 = +HEAPF32[$92>>2]; - $94 = $83 * $93; - $95 = $91 - $94; - $96 = (($d1$038) + 4|0); - HEAPF32[$96>>2] = $95; - $97 = +HEAPF32[$89>>2]; - $98 = $83 * $97; - $99 = +HEAPF32[$92>>2]; - $100 = $80 * $99; - $101 = $98 + $100; - HEAPF32[$d1$038>>2] = $101; - $102 = (($e0$037) + 12|0); - $103 = +HEAPF32[$102>>2]; - $104 = (($e1$036) + 12|0); - $105 = +HEAPF32[$104>>2]; - $106 = $103 - $105; - $107 = (($e0$037) + 8|0); - $108 = +HEAPF32[$107>>2]; - $109 = (($e1$036) + 8|0); - $110 = +HEAPF32[$109>>2]; - $111 = $108 - $110; - $112 = $103 + $105; - $113 = (($d0$039) + 12|0); - HEAPF32[$113>>2] = $112; - $114 = +HEAPF32[$107>>2]; - $115 = +HEAPF32[$109>>2]; - $116 = $114 + $115; - $117 = (($d0$039) + 8|0); - HEAPF32[$117>>2] = $116; - $118 = +HEAPF32[$AA1$040>>2]; - $119 = $106 * $118; - $120 = (($AA1$040) + 4|0); - $121 = +HEAPF32[$120>>2]; - $122 = $111 * $121; - $123 = $119 - $122; - $124 = (($d1$038) + 12|0); - HEAPF32[$124>>2] = $123; - $125 = +HEAPF32[$AA1$040>>2]; - $126 = $111 * $125; - $127 = +HEAPF32[$120>>2]; - $128 = $106 * $127; - $129 = $126 + $128; - $130 = (($d1$038) + 8|0); - HEAPF32[$130>>2] = $129; - $131 = (($AA1$040) + -32|0); - $132 = (($d0$039) + 16|0); - $133 = (($d1$038) + 16|0); - $134 = (($e0$037) + 16|0); - $135 = (($e1$036) + 16|0); - $136 = ($131>>>0)<($12>>>0); - if ($136) { - break; - } else { - $AA1$040 = $131;$d0$039 = $132;$d1$038 = $133;$e0$037 = $134;$e1$036 = $135; - } - } - } - $137 = (_ilog($n)|0); - $138 = $n >> 4; - $139 = (($0) + -1)|0; - $140 = (0 - ($2))|0; - _imdct_step3_iter0_loop($138,$buffer,$139,$140,$12); - $141 = (($139) - ($1))|0; - _imdct_step3_iter0_loop($138,$buffer,$141,$140,$12); - $142 = $n >> 5; - $143 = (0 - ($138))|0; - _imdct_step3_inner_r_loop($142,$buffer,$139,$143,$12,16); - $144 = (($139) - ($2))|0; - _imdct_step3_inner_r_loop($142,$buffer,$144,$143,$12,16); - $145 = $2 << 1; - $146 = (($139) - ($145))|0; - _imdct_step3_inner_r_loop($142,$buffer,$146,$143,$12,16); - $147 = Math_imul($2, -3)|0; - $148 = (($139) + ($147))|0; - _imdct_step3_inner_r_loop($142,$buffer,$148,$143,$12,16); - $149 = (($137) + -4)|0; - $150 = $149 >> 1; - $151 = ($150|0)>(2); - if ($151) { - $l$033 = 2; - while(1) { - $156 = (($l$033) + 2)|0; - $157 = $n >> $156; - $152 = (($l$033) + 1)|0; - $158 = 1 << $152; - $159 = ($158|0)>(0); - if ($159) { - $160 = $157 >> 1; - $161 = (($l$033) + 4)|0; - $162 = $n >> $161; - $163 = (0 - ($160))|0; - $164 = (($l$033) + 3)|0; - $165 = 1 << $164; - $i$030 = 0; - while(1) { - $166 = Math_imul($i$030, $157)|0; - $167 = (($139) - ($166))|0; - _imdct_step3_inner_r_loop($162,$buffer,$167,$163,$12,$165); - $168 = (($i$030) + 1)|0; - $exitcond58 = ($168|0)==($158|0); - if ($exitcond58) { - break; - } else { - $i$030 = $168; - } - } - } - $exitcond59 = ($152|0)==($150|0); - if ($exitcond59) { - $l$0$lcssa = $150; - break; - } else { - $l$033 = $152; - } - } - } else { - $l$0$lcssa = 2; - } - $153 = (($137) + -7)|0; - $154 = ($l$0$lcssa|0)<($153|0); - if ($154) { - $155 = (($137) + -7)|0; - $l$126 = $l$0$lcssa; - while(1) { - $170 = (($l$126) + 2)|0; - $171 = $n >> $170; - $172 = (($l$126) + 3)|0; - $173 = 1 << $172; - $174 = (($l$126) + 6)|0; - $175 = $n >> $174; - $169 = (($l$126) + 1)|0; - $176 = 1 << $169; - $177 = ($175|0)>(0); - if ($177) { - $178 = $171 >> 1; - $179 = (0 - ($178))|0; - $180 = $173 << 2; - $A0$023 = $12;$i_off$022 = $139;$r$021 = $175; - while(1) { - _imdct_step3_inner_s_loop($176,$buffer,$i_off$022,$179,$A0$023,$173,$171); - $181 = (($A0$023) + ($180<<2)|0); - $182 = (($i_off$022) + -8)|0; - $183 = (($r$021) + -1)|0; - $184 = ($183|0)>(0); - if ($184) { - $A0$023 = $181;$i_off$022 = $182;$r$021 = $183; - } else { - break; - } - } - } - $exitcond = ($169|0)==($155|0); - if ($exitcond) { - break; - } else { - $l$126 = $169; - } - } - } - _imdct_step3_inner_s_loop_ld654($142,$buffer,$139,$12,$n); - $185 = (($1) + -4)|0; - $186 = (($15) + ($185<<2)|0); - $187 = (($0) + -4)|0; - $188 = ($186>>>0)<($15>>>0); - if (!($188)) { - $189 = ((($f) + ($blocktype<<2)|0) + 1116|0); - $190 = (($15) + ($187<<2)|0); - $191 = HEAP32[$189>>2]|0; - $bitrev$015 = $191;$d05$016 = $186;$d16$017 = $190; - while(1) { - $192 = HEAP16[$bitrev$015>>1]|0; - $193 = $192&65535; - $194 = (($buffer) + ($193<<2)|0); - $195 = +HEAPF32[$194>>2]; - $196 = (($d16$017) + 12|0); - HEAPF32[$196>>2] = $195; - $197 = (($193) + 1)|0; - $198 = (($buffer) + ($197<<2)|0); - $199 = +HEAPF32[$198>>2]; - $200 = (($d16$017) + 8|0); - HEAPF32[$200>>2] = $199; - $201 = (($193) + 2)|0; - $202 = (($buffer) + ($201<<2)|0); - $203 = +HEAPF32[$202>>2]; - $204 = (($d05$016) + 12|0); - HEAPF32[$204>>2] = $203; - $205 = (($193) + 3)|0; - $206 = (($buffer) + ($205<<2)|0); - $207 = +HEAPF32[$206>>2]; - $208 = (($d05$016) + 8|0); - HEAPF32[$208>>2] = $207; - $209 = (($bitrev$015) + 2|0); - $210 = HEAP16[$209>>1]|0; - $211 = $210&65535; - $212 = (($buffer) + ($211<<2)|0); - $213 = +HEAPF32[$212>>2]; - $214 = (($d16$017) + 4|0); - HEAPF32[$214>>2] = $213; - $215 = (($211) + 1)|0; - $216 = (($buffer) + ($215<<2)|0); - $217 = +HEAPF32[$216>>2]; - HEAPF32[$d16$017>>2] = $217; - $218 = (($211) + 2)|0; - $219 = (($buffer) + ($218<<2)|0); - $220 = +HEAPF32[$219>>2]; - $221 = (($d05$016) + 4|0); - HEAPF32[$221>>2] = $220; - $222 = (($211) + 3)|0; - $223 = (($buffer) + ($222<<2)|0); - $224 = +HEAPF32[$223>>2]; - HEAPF32[$d05$016>>2] = $224; - $225 = (($d05$016) + -16|0); - $226 = (($d16$017) + -16|0); - $227 = (($bitrev$015) + 4|0); - $228 = ($225>>>0)<($15>>>0); - if ($228) { - break; - } else { - $bitrev$015 = $227;$d05$016 = $225;$d16$017 = $226; - } - } - } - $$sum = (($0) + -4)|0; - $229 = (($15) + ($$sum<<2)|0); - $230 = ($15>>>0)<($229>>>0); - if ($230) { - $231 = ((($f) + ($blocktype<<2)|0) + 1100|0); - $232 = HEAP32[$231>>2]|0; - $C$09 = $232;$d7$010 = $15;$e8$011 = $229; - while(1) { - $233 = +HEAPF32[$d7$010>>2]; - $234 = (($e8$011) + 8|0); - $235 = +HEAPF32[$234>>2]; - $236 = $233 - $235; - $237 = (($d7$010) + 4|0); - $238 = +HEAPF32[$237>>2]; - $239 = (($e8$011) + 12|0); - $240 = +HEAPF32[$239>>2]; - $241 = $238 + $240; - $242 = (($C$09) + 4|0); - $243 = +HEAPF32[$242>>2]; - $244 = $236 * $243; - $245 = +HEAPF32[$C$09>>2]; - $246 = $241 * $245; - $247 = $244 + $246; - $248 = $243 * $241; - $249 = $236 * $245; - $250 = $248 - $249; - $251 = $233 + $235; - $252 = $238 - $240; - $253 = $251 + $247; - HEAPF32[$d7$010>>2] = $253; - $254 = $252 + $250; - HEAPF32[$237>>2] = $254; - $255 = $251 - $247; - HEAPF32[$234>>2] = $255; - $256 = $250 - $252; - HEAPF32[$239>>2] = $256; - $257 = (($d7$010) + 8|0); - $258 = +HEAPF32[$257>>2]; - $259 = +HEAPF32[$e8$011>>2]; - $260 = $258 - $259; - $261 = (($d7$010) + 12|0); - $262 = +HEAPF32[$261>>2]; - $263 = (($e8$011) + 4|0); - $264 = +HEAPF32[$263>>2]; - $265 = $262 + $264; - $266 = (($C$09) + 12|0); - $267 = +HEAPF32[$266>>2]; - $268 = $260 * $267; - $269 = (($C$09) + 8|0); - $270 = +HEAPF32[$269>>2]; - $271 = $265 * $270; - $272 = $268 + $271; - $273 = $267 * $265; - $274 = $260 * $270; - $275 = $273 - $274; - $276 = $258 + $259; - $277 = $262 - $264; - $278 = $276 + $272; - HEAPF32[$257>>2] = $278; - $279 = $277 + $275; - HEAPF32[$261>>2] = $279; - $280 = $276 - $272; - HEAPF32[$e8$011>>2] = $280; - $281 = $275 - $277; - HEAPF32[$263>>2] = $281; - $282 = (($C$09) + 16|0); - $283 = (($d7$010) + 16|0); - $284 = (($e8$011) + -16|0); - $285 = ($283>>>0)<($284>>>0); - if ($285) { - $C$09 = $282;$d7$010 = $283;$e8$011 = $284; - } else { - break; - } - } - } - $$sum1 = (($0) + -8)|0; - $286 = (($15) + ($$sum1<<2)|0); - $287 = ($286>>>0)<($15>>>0); - if ($287) { - HEAP32[$3>>2] = $4; - STACKTOP = sp;return; - } - $288 = ((($f) + ($blocktype<<2)|0) + 1092|0); - $289 = (($n) + -4)|0; - $290 = HEAP32[$288>>2]|0; - $291 = (($buffer) + ($289<<2)|0); - $292 = (($buffer) + ($187<<2)|0); - $293 = (($290) + ($$sum1<<2)|0); - $B$07 = $293;$d09$03 = $buffer;$d110$04 = $292;$d2$05 = $16;$d3$06 = $291;$e11$08 = $286; - while(1) { - $294 = (($e11$08) + 24|0); - $295 = +HEAPF32[$294>>2]; - $296 = (($B$07) + 28|0); - $297 = +HEAPF32[$296>>2]; - $298 = $295 * $297; - $299 = (($e11$08) + 28|0); - $300 = +HEAPF32[$299>>2]; - $301 = (($B$07) + 24|0); - $302 = +HEAPF32[$301>>2]; - $303 = $300 * $302; - $304 = $298 - $303; - $305 = $295 * $302; - $306 = -$305; - $307 = $297 * $300; - $308 = $306 - $307; - HEAPF32[$d09$03>>2] = $304; - $309 = -$304; - $310 = (($d110$04) + 12|0); - HEAPF32[$310>>2] = $309; - HEAPF32[$d2$05>>2] = $308; - $311 = (($d3$06) + 12|0); - HEAPF32[$311>>2] = $308; - $312 = (($e11$08) + 16|0); - $313 = +HEAPF32[$312>>2]; - $314 = (($B$07) + 20|0); - $315 = +HEAPF32[$314>>2]; - $316 = $313 * $315; - $317 = (($e11$08) + 20|0); - $318 = +HEAPF32[$317>>2]; - $319 = (($B$07) + 16|0); - $320 = +HEAPF32[$319>>2]; - $321 = $318 * $320; - $322 = $316 - $321; - $323 = $313 * $320; - $324 = -$323; - $325 = $315 * $318; - $326 = $324 - $325; - $327 = (($d09$03) + 4|0); - HEAPF32[$327>>2] = $322; - $328 = -$322; - $329 = (($d110$04) + 8|0); - HEAPF32[$329>>2] = $328; - $330 = (($d2$05) + 4|0); - HEAPF32[$330>>2] = $326; - $331 = (($d3$06) + 8|0); - HEAPF32[$331>>2] = $326; - $332 = (($e11$08) + 8|0); - $333 = +HEAPF32[$332>>2]; - $334 = (($B$07) + 12|0); - $335 = +HEAPF32[$334>>2]; - $336 = $333 * $335; - $337 = (($e11$08) + 12|0); - $338 = +HEAPF32[$337>>2]; - $339 = (($B$07) + 8|0); - $340 = +HEAPF32[$339>>2]; - $341 = $338 * $340; - $342 = $336 - $341; - $343 = $333 * $340; - $344 = -$343; - $345 = $335 * $338; - $346 = $344 - $345; - $347 = (($d09$03) + 8|0); - HEAPF32[$347>>2] = $342; - $348 = -$342; - $349 = (($d110$04) + 4|0); - HEAPF32[$349>>2] = $348; - $350 = (($d2$05) + 8|0); - HEAPF32[$350>>2] = $346; - $351 = (($d3$06) + 4|0); - HEAPF32[$351>>2] = $346; - $352 = +HEAPF32[$e11$08>>2]; - $353 = (($B$07) + 4|0); - $354 = +HEAPF32[$353>>2]; - $355 = $352 * $354; - $356 = (($e11$08) + 4|0); - $357 = +HEAPF32[$356>>2]; - $358 = +HEAPF32[$B$07>>2]; - $359 = $357 * $358; - $360 = $355 - $359; - $361 = $352 * $358; - $362 = -$361; - $363 = $354 * $357; - $364 = $362 - $363; - $365 = (($d09$03) + 12|0); - HEAPF32[$365>>2] = $360; - $366 = -$360; - HEAPF32[$d110$04>>2] = $366; - $367 = (($d2$05) + 12|0); - HEAPF32[$367>>2] = $364; - HEAPF32[$d3$06>>2] = $364; - $368 = (($B$07) + -32|0); - $369 = (($e11$08) + -32|0); - $370 = (($d09$03) + 16|0); - $371 = (($d2$05) + 16|0); - $372 = (($d110$04) + -16|0); - $373 = (($d3$06) + -16|0); - $374 = ($369>>>0)<($15>>>0); - if ($374) { - break; - } else { - $B$07 = $368;$d09$03 = $370;$d110$04 = $372;$d2$05 = $371;$d3$06 = $373;$e11$08 = $369; - } - } - HEAP32[$3>>2] = $4; - STACKTOP = sp;return; -} -function _imdct_step3_iter0_loop($n,$e,$i_off,$k_off,$A) { - $n = $n|0; - $e = $e|0; - $i_off = $i_off|0; - $k_off = $k_off|0; - $A = $A|0; - var $$04 = 0, $$sum = 0, $0 = 0, $1 = 0, $10 = 0.0, $100 = 0.0, $101 = 0.0, $102 = 0.0, $103 = 0.0, $104 = 0.0, $105 = 0.0, $106 = 0.0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $12 = 0.0, $13 = 0.0; - var $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $2 = 0, $20 = 0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0.0, $28 = 0.0, $29 = 0, $3 = 0, $30 = 0, $31 = 0.0; - var $32 = 0, $33 = 0.0, $34 = 0.0, $35 = 0, $36 = 0.0, $37 = 0, $38 = 0.0, $39 = 0.0, $4 = 0, $40 = 0.0, $41 = 0.0, $42 = 0.0, $43 = 0.0, $44 = 0.0, $45 = 0.0, $46 = 0, $47 = 0.0, $48 = 0.0, $49 = 0.0, $5 = 0; - var $50 = 0.0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0.0, $55 = 0, $56 = 0, $57 = 0.0, $58 = 0, $59 = 0.0, $6 = 0.0, $60 = 0.0, $61 = 0, $62 = 0.0, $63 = 0, $64 = 0.0, $65 = 0.0, $66 = 0.0, $67 = 0.0, $68 = 0.0; - var $69 = 0.0, $7 = 0.0, $70 = 0.0, $71 = 0.0, $72 = 0, $73 = 0.0, $74 = 0.0, $75 = 0.0, $76 = 0.0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0.0, $80 = 0.0, $81 = 0, $82 = 0, $83 = 0.0, $84 = 0, $85 = 0.0, $86 = 0.0; - var $87 = 0, $88 = 0.0, $89 = 0, $9 = 0, $90 = 0.0, $91 = 0.0, $92 = 0.0, $93 = 0.0, $94 = 0.0, $95 = 0.0, $96 = 0.0, $97 = 0.0, $98 = 0, $99 = 0.0, $ee0$03 = 0, $ee2$01 = 0, $i$02 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = $n & 3; - $1 = ($0|0)==(0); - if (!($1)) { - ___assert_fail((19392|0),(17648|0),2085,(19408|0)); - // unreachable; - } - $2 = $n >> 2; - $3 = ($2|0)>(0); - if (!($3)) { - STACKTOP = sp;return; - } - $$sum = (($k_off) + ($i_off))|0; - $4 = (($e) + ($$sum<<2)|0); - $5 = (($e) + ($i_off<<2)|0); - $$04 = $A;$ee0$03 = $5;$ee2$01 = $4;$i$02 = $2; - while(1) { - $6 = +HEAPF32[$ee0$03>>2]; - $7 = +HEAPF32[$ee2$01>>2]; - $8 = $6 - $7; - $9 = (($ee0$03) + -4|0); - $10 = +HEAPF32[$9>>2]; - $11 = (($ee2$01) + -4|0); - $12 = +HEAPF32[$11>>2]; - $13 = $10 - $12; - $14 = $6 + $7; - HEAPF32[$ee0$03>>2] = $14; - $15 = +HEAPF32[$11>>2]; - $16 = +HEAPF32[$9>>2]; - $17 = $15 + $16; - HEAPF32[$9>>2] = $17; - $18 = +HEAPF32[$$04>>2]; - $19 = $8 * $18; - $20 = (($$04) + 4|0); - $21 = +HEAPF32[$20>>2]; - $22 = $13 * $21; - $23 = $19 - $22; - HEAPF32[$ee2$01>>2] = $23; - $24 = +HEAPF32[$$04>>2]; - $25 = $13 * $24; - $26 = +HEAPF32[$20>>2]; - $27 = $8 * $26; - $28 = $25 + $27; - HEAPF32[$11>>2] = $28; - $29 = (($$04) + 32|0); - $30 = (($ee0$03) + -8|0); - $31 = +HEAPF32[$30>>2]; - $32 = (($ee2$01) + -8|0); - $33 = +HEAPF32[$32>>2]; - $34 = $31 - $33; - $35 = (($ee0$03) + -12|0); - $36 = +HEAPF32[$35>>2]; - $37 = (($ee2$01) + -12|0); - $38 = +HEAPF32[$37>>2]; - $39 = $36 - $38; - $40 = $31 + $33; - HEAPF32[$30>>2] = $40; - $41 = +HEAPF32[$37>>2]; - $42 = +HEAPF32[$35>>2]; - $43 = $41 + $42; - HEAPF32[$35>>2] = $43; - $44 = +HEAPF32[$29>>2]; - $45 = $34 * $44; - $46 = (($$04) + 36|0); - $47 = +HEAPF32[$46>>2]; - $48 = $39 * $47; - $49 = $45 - $48; - HEAPF32[$32>>2] = $49; - $50 = +HEAPF32[$29>>2]; - $51 = $39 * $50; - $52 = +HEAPF32[$46>>2]; - $53 = $34 * $52; - $54 = $51 + $53; - HEAPF32[$37>>2] = $54; - $55 = (($$04) + 64|0); - $56 = (($ee0$03) + -16|0); - $57 = +HEAPF32[$56>>2]; - $58 = (($ee2$01) + -16|0); - $59 = +HEAPF32[$58>>2]; - $60 = $57 - $59; - $61 = (($ee0$03) + -20|0); - $62 = +HEAPF32[$61>>2]; - $63 = (($ee2$01) + -20|0); - $64 = +HEAPF32[$63>>2]; - $65 = $62 - $64; - $66 = $57 + $59; - HEAPF32[$56>>2] = $66; - $67 = +HEAPF32[$63>>2]; - $68 = +HEAPF32[$61>>2]; - $69 = $67 + $68; - HEAPF32[$61>>2] = $69; - $70 = +HEAPF32[$55>>2]; - $71 = $60 * $70; - $72 = (($$04) + 68|0); - $73 = +HEAPF32[$72>>2]; - $74 = $65 * $73; - $75 = $71 - $74; - HEAPF32[$58>>2] = $75; - $76 = +HEAPF32[$55>>2]; - $77 = $65 * $76; - $78 = +HEAPF32[$72>>2]; - $79 = $60 * $78; - $80 = $77 + $79; - HEAPF32[$63>>2] = $80; - $81 = (($$04) + 96|0); - $82 = (($ee0$03) + -24|0); - $83 = +HEAPF32[$82>>2]; - $84 = (($ee2$01) + -24|0); - $85 = +HEAPF32[$84>>2]; - $86 = $83 - $85; - $87 = (($ee0$03) + -28|0); - $88 = +HEAPF32[$87>>2]; - $89 = (($ee2$01) + -28|0); - $90 = +HEAPF32[$89>>2]; - $91 = $88 - $90; - $92 = $83 + $85; - HEAPF32[$82>>2] = $92; - $93 = +HEAPF32[$89>>2]; - $94 = +HEAPF32[$87>>2]; - $95 = $93 + $94; - HEAPF32[$87>>2] = $95; - $96 = +HEAPF32[$81>>2]; - $97 = $86 * $96; - $98 = (($$04) + 100|0); - $99 = +HEAPF32[$98>>2]; - $100 = $91 * $99; - $101 = $97 - $100; - HEAPF32[$84>>2] = $101; - $102 = +HEAPF32[$81>>2]; - $103 = $91 * $102; - $104 = +HEAPF32[$98>>2]; - $105 = $86 * $104; - $106 = $103 + $105; - HEAPF32[$89>>2] = $106; - $107 = (($$04) + 128|0); - $108 = (($ee0$03) + -32|0); - $109 = (($ee2$01) + -32|0); - $110 = (($i$02) + -1)|0; - $111 = ($110|0)>(0); - if ($111) { - $$04 = $107;$ee0$03 = $108;$ee2$01 = $109;$i$02 = $110; - } else { - break; - } - } - STACKTOP = sp;return; -} -function _imdct_step3_inner_r_loop($lim,$e,$d0,$k_off,$A,$k1) { - $lim = $lim|0; - $e = $e|0; - $d0 = $d0|0; - $k_off = $k_off|0; - $A = $A|0; - $k1 = $k1|0; - var $$09 = 0, $$sum = 0, $$sum1 = 0, $$sum2 = 0, $$sum34 = 0, $$sum5 = 0, $$sum6 = 0, $$sum7 = 0, $0 = 0, $1 = 0, $10 = 0.0, $100 = 0.0, $101 = 0.0, $102 = 0.0, $103 = 0.0, $104 = 0.0, $105 = 0, $106 = 0, $107 = 0, $108 = 0; - var $109 = 0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0, $19 = 0.0, $2 = 0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0, $28 = 0; - var $29 = 0.0, $3 = 0, $30 = 0, $31 = 0.0, $32 = 0.0, $33 = 0, $34 = 0.0, $35 = 0, $36 = 0.0, $37 = 0.0, $38 = 0.0, $39 = 0.0, $4 = 0.0, $40 = 0.0, $41 = 0.0, $42 = 0.0, $43 = 0.0, $44 = 0, $45 = 0.0, $46 = 0.0; - var $47 = 0.0, $48 = 0.0, $49 = 0.0, $5 = 0.0, $50 = 0.0, $51 = 0.0, $52 = 0.0, $53 = 0, $54 = 0, $55 = 0.0, $56 = 0, $57 = 0.0, $58 = 0.0, $59 = 0, $6 = 0.0, $60 = 0.0, $61 = 0, $62 = 0.0, $63 = 0.0, $64 = 0.0; - var $65 = 0.0, $66 = 0.0, $67 = 0.0, $68 = 0.0, $69 = 0.0, $7 = 0, $70 = 0, $71 = 0.0, $72 = 0.0, $73 = 0.0, $74 = 0.0, $75 = 0.0, $76 = 0.0, $77 = 0.0, $78 = 0.0, $79 = 0, $8 = 0.0, $80 = 0, $81 = 0.0, $82 = 0; - var $83 = 0.0, $84 = 0.0, $85 = 0, $86 = 0.0, $87 = 0, $88 = 0.0, $89 = 0.0, $9 = 0, $90 = 0.0, $91 = 0.0, $92 = 0.0, $93 = 0.0, $94 = 0.0, $95 = 0.0, $96 = 0, $97 = 0.0, $98 = 0.0, $99 = 0.0, $e0$010 = 0, $e2$011 = 0; - var $i$08 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = $lim >> 2; - $1 = ($0|0)>(0); - if (!($1)) { - STACKTOP = sp;return; - } - $$sum = (($k_off) + ($d0))|0; - $2 = (($e) + ($$sum<<2)|0); - $3 = (($e) + ($d0<<2)|0); - $$sum1 = (($k1) + 1)|0; - $$sum2 = $k1 << 1; - $$sum34 = $$sum2 | 1; - $$sum5 = (($$sum2) + ($k1))|0; - $$sum6 = (($$sum5) + 1)|0; - $$sum7 = (($$sum5) + ($k1))|0; - $$09 = $A;$e0$010 = $3;$e2$011 = $2;$i$08 = $0; - while(1) { - $4 = +HEAPF32[$e0$010>>2]; - $5 = +HEAPF32[$e2$011>>2]; - $6 = $4 - $5; - $7 = (($e0$010) + -4|0); - $8 = +HEAPF32[$7>>2]; - $9 = (($e2$011) + -4|0); - $10 = +HEAPF32[$9>>2]; - $11 = $8 - $10; - $12 = $4 + $5; - HEAPF32[$e0$010>>2] = $12; - $13 = +HEAPF32[$9>>2]; - $14 = +HEAPF32[$7>>2]; - $15 = $13 + $14; - HEAPF32[$7>>2] = $15; - $16 = +HEAPF32[$$09>>2]; - $17 = $6 * $16; - $18 = (($$09) + 4|0); - $19 = +HEAPF32[$18>>2]; - $20 = $11 * $19; - $21 = $17 - $20; - HEAPF32[$e2$011>>2] = $21; - $22 = +HEAPF32[$$09>>2]; - $23 = $11 * $22; - $24 = +HEAPF32[$18>>2]; - $25 = $6 * $24; - $26 = $23 + $25; - HEAPF32[$9>>2] = $26; - $27 = (($$09) + ($k1<<2)|0); - $28 = (($e0$010) + -8|0); - $29 = +HEAPF32[$28>>2]; - $30 = (($e2$011) + -8|0); - $31 = +HEAPF32[$30>>2]; - $32 = $29 - $31; - $33 = (($e0$010) + -12|0); - $34 = +HEAPF32[$33>>2]; - $35 = (($e2$011) + -12|0); - $36 = +HEAPF32[$35>>2]; - $37 = $34 - $36; - $38 = $29 + $31; - HEAPF32[$28>>2] = $38; - $39 = +HEAPF32[$35>>2]; - $40 = +HEAPF32[$33>>2]; - $41 = $39 + $40; - HEAPF32[$33>>2] = $41; - $42 = +HEAPF32[$27>>2]; - $43 = $32 * $42; - $44 = (($$09) + ($$sum1<<2)|0); - $45 = +HEAPF32[$44>>2]; - $46 = $37 * $45; - $47 = $43 - $46; - HEAPF32[$30>>2] = $47; - $48 = +HEAPF32[$27>>2]; - $49 = $37 * $48; - $50 = +HEAPF32[$44>>2]; - $51 = $32 * $50; - $52 = $49 + $51; - HEAPF32[$35>>2] = $52; - $53 = (($$09) + ($$sum2<<2)|0); - $54 = (($e0$010) + -16|0); - $55 = +HEAPF32[$54>>2]; - $56 = (($e2$011) + -16|0); - $57 = +HEAPF32[$56>>2]; - $58 = $55 - $57; - $59 = (($e0$010) + -20|0); - $60 = +HEAPF32[$59>>2]; - $61 = (($e2$011) + -20|0); - $62 = +HEAPF32[$61>>2]; - $63 = $60 - $62; - $64 = $55 + $57; - HEAPF32[$54>>2] = $64; - $65 = +HEAPF32[$61>>2]; - $66 = +HEAPF32[$59>>2]; - $67 = $65 + $66; - HEAPF32[$59>>2] = $67; - $68 = +HEAPF32[$53>>2]; - $69 = $58 * $68; - $70 = (($$09) + ($$sum34<<2)|0); - $71 = +HEAPF32[$70>>2]; - $72 = $63 * $71; - $73 = $69 - $72; - HEAPF32[$56>>2] = $73; - $74 = +HEAPF32[$53>>2]; - $75 = $63 * $74; - $76 = +HEAPF32[$70>>2]; - $77 = $58 * $76; - $78 = $75 + $77; - HEAPF32[$61>>2] = $78; - $79 = (($$09) + ($$sum5<<2)|0); - $80 = (($e0$010) + -24|0); - $81 = +HEAPF32[$80>>2]; - $82 = (($e2$011) + -24|0); - $83 = +HEAPF32[$82>>2]; - $84 = $81 - $83; - $85 = (($e0$010) + -28|0); - $86 = +HEAPF32[$85>>2]; - $87 = (($e2$011) + -28|0); - $88 = +HEAPF32[$87>>2]; - $89 = $86 - $88; - $90 = $81 + $83; - HEAPF32[$80>>2] = $90; - $91 = +HEAPF32[$87>>2]; - $92 = +HEAPF32[$85>>2]; - $93 = $91 + $92; - HEAPF32[$85>>2] = $93; - $94 = +HEAPF32[$79>>2]; - $95 = $84 * $94; - $96 = (($$09) + ($$sum6<<2)|0); - $97 = +HEAPF32[$96>>2]; - $98 = $89 * $97; - $99 = $95 - $98; - HEAPF32[$82>>2] = $99; - $100 = +HEAPF32[$79>>2]; - $101 = $89 * $100; - $102 = +HEAPF32[$96>>2]; - $103 = $84 * $102; - $104 = $101 + $103; - HEAPF32[$87>>2] = $104; - $105 = (($e0$010) + -32|0); - $106 = (($e2$011) + -32|0); - $107 = (($$09) + ($$sum7<<2)|0); - $108 = (($i$08) + -1)|0; - $109 = ($108|0)>(0); - if ($109) { - $$09 = $107;$e0$010 = $105;$e2$011 = $106;$i$08 = $108; - } else { - break; - } - } - STACKTOP = sp;return; -} -function _imdct_step3_inner_s_loop($n,$e,$i_off,$k_off,$A,$a_off,$k0) { - $n = $n|0; - $e = $e|0; - $i_off = $i_off|0; - $k_off = $k_off|0; - $A = $A|0; - $a_off = $a_off|0; - $k0 = $k0|0; - var $$sum = 0, $0 = 0.0, $1 = 0, $10 = 0.0, $100 = 0.0, $101 = 0.0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $11 = 0, $12 = 0, $13 = 0.0, $14 = 0, $15 = 0, $16 = 0.0, $17 = 0, $18 = 0, $19 = 0.0, $2 = 0.0; - var $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0, $28 = 0.0, $29 = 0, $3 = 0, $30 = 0.0, $31 = 0.0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0.0, $36 = 0.0, $37 = 0.0, $38 = 0.0; - var $39 = 0.0, $4 = 0.0, $40 = 0.0, $41 = 0.0, $42 = 0, $43 = 0.0, $44 = 0, $45 = 0.0, $46 = 0.0, $47 = 0, $48 = 0.0, $49 = 0, $5 = 0, $50 = 0.0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0.0, $55 = 0.0, $56 = 0.0; - var $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0.0, $61 = 0.0, $62 = 0, $63 = 0.0, $64 = 0, $65 = 0.0, $66 = 0.0, $67 = 0, $68 = 0.0, $69 = 0, $7 = 0.0, $70 = 0.0, $71 = 0.0, $72 = 0.0, $73 = 0.0, $74 = 0.0; - var $75 = 0.0, $76 = 0.0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0, $80 = 0.0, $81 = 0.0, $82 = 0, $83 = 0.0, $84 = 0, $85 = 0.0, $86 = 0.0, $87 = 0, $88 = 0.0, $89 = 0, $9 = 0, $90 = 0.0, $91 = 0.0, $92 = 0.0; - var $93 = 0.0, $94 = 0.0, $95 = 0.0, $96 = 0.0, $97 = 0.0, $98 = 0.0, $99 = 0.0, $ee0$02 = 0, $ee2$03 = 0, $i$01 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = +HEAPF32[$A>>2]; - $1 = (($A) + 4|0); - $2 = +HEAPF32[$1>>2]; - $3 = (($A) + ($a_off<<2)|0); - $4 = +HEAPF32[$3>>2]; - $5 = (($a_off) + 1)|0; - $6 = (($A) + ($5<<2)|0); - $7 = +HEAPF32[$6>>2]; - $8 = $a_off << 1; - $9 = (($A) + ($8<<2)|0); - $10 = +HEAPF32[$9>>2]; - $11 = $8 | 1; - $12 = (($A) + ($11<<2)|0); - $13 = +HEAPF32[$12>>2]; - $14 = ($a_off*3)|0; - $15 = (($A) + ($14<<2)|0); - $16 = +HEAPF32[$15>>2]; - $17 = (($14) + 1)|0; - $18 = (($A) + ($17<<2)|0); - $19 = +HEAPF32[$18>>2]; - $20 = ($n|0)>(0); - if (!($20)) { - STACKTOP = sp;return; - } - $$sum = (($k_off) + ($i_off))|0; - $21 = (($e) + ($$sum<<2)|0); - $22 = (($e) + ($i_off<<2)|0); - $23 = (0 - ($k0))|0; - $ee0$02 = $22;$ee2$03 = $21;$i$01 = $n; - while(1) { - $24 = +HEAPF32[$ee0$02>>2]; - $25 = +HEAPF32[$ee2$03>>2]; - $26 = $24 - $25; - $27 = (($ee0$02) + -4|0); - $28 = +HEAPF32[$27>>2]; - $29 = (($ee2$03) + -4|0); - $30 = +HEAPF32[$29>>2]; - $31 = $28 - $30; - $32 = $24 + $25; - HEAPF32[$ee0$02>>2] = $32; - $33 = +HEAPF32[$27>>2]; - $34 = +HEAPF32[$29>>2]; - $35 = $33 + $34; - HEAPF32[$27>>2] = $35; - $36 = $0 * $26; - $37 = $2 * $31; - $38 = $36 - $37; - HEAPF32[$ee2$03>>2] = $38; - $39 = $0 * $31; - $40 = $2 * $26; - $41 = $40 + $39; - HEAPF32[$29>>2] = $41; - $42 = (($ee0$02) + -8|0); - $43 = +HEAPF32[$42>>2]; - $44 = (($ee2$03) + -8|0); - $45 = +HEAPF32[$44>>2]; - $46 = $43 - $45; - $47 = (($ee0$02) + -12|0); - $48 = +HEAPF32[$47>>2]; - $49 = (($ee2$03) + -12|0); - $50 = +HEAPF32[$49>>2]; - $51 = $48 - $50; - $52 = $43 + $45; - HEAPF32[$42>>2] = $52; - $53 = +HEAPF32[$47>>2]; - $54 = +HEAPF32[$49>>2]; - $55 = $53 + $54; - HEAPF32[$47>>2] = $55; - $56 = $4 * $46; - $57 = $7 * $51; - $58 = $56 - $57; - HEAPF32[$44>>2] = $58; - $59 = $4 * $51; - $60 = $7 * $46; - $61 = $60 + $59; - HEAPF32[$49>>2] = $61; - $62 = (($ee0$02) + -16|0); - $63 = +HEAPF32[$62>>2]; - $64 = (($ee2$03) + -16|0); - $65 = +HEAPF32[$64>>2]; - $66 = $63 - $65; - $67 = (($ee0$02) + -20|0); - $68 = +HEAPF32[$67>>2]; - $69 = (($ee2$03) + -20|0); - $70 = +HEAPF32[$69>>2]; - $71 = $68 - $70; - $72 = $63 + $65; - HEAPF32[$62>>2] = $72; - $73 = +HEAPF32[$67>>2]; - $74 = +HEAPF32[$69>>2]; - $75 = $73 + $74; - HEAPF32[$67>>2] = $75; - $76 = $10 * $66; - $77 = $13 * $71; - $78 = $76 - $77; - HEAPF32[$64>>2] = $78; - $79 = $10 * $71; - $80 = $13 * $66; - $81 = $80 + $79; - HEAPF32[$69>>2] = $81; - $82 = (($ee0$02) + -24|0); - $83 = +HEAPF32[$82>>2]; - $84 = (($ee2$03) + -24|0); - $85 = +HEAPF32[$84>>2]; - $86 = $83 - $85; - $87 = (($ee0$02) + -28|0); - $88 = +HEAPF32[$87>>2]; - $89 = (($ee2$03) + -28|0); - $90 = +HEAPF32[$89>>2]; - $91 = $88 - $90; - $92 = $83 + $85; - HEAPF32[$82>>2] = $92; - $93 = +HEAPF32[$87>>2]; - $94 = +HEAPF32[$89>>2]; - $95 = $93 + $94; - HEAPF32[$87>>2] = $95; - $96 = $16 * $86; - $97 = $19 * $91; - $98 = $96 - $97; - HEAPF32[$84>>2] = $98; - $99 = $16 * $91; - $100 = $19 * $86; - $101 = $100 + $99; - HEAPF32[$89>>2] = $101; - $102 = (($ee0$02) + ($23<<2)|0); - $103 = (($ee2$03) + ($23<<2)|0); - $104 = (($i$01) + -1)|0; - $105 = ($104|0)>(0); - if ($105) { - $ee0$02 = $102;$ee2$03 = $103;$i$01 = $104; - } else { - break; - } - } - STACKTOP = sp;return; -} -function _imdct_step3_inner_s_loop_ld654($n,$e,$i_off,$A,$base_n) { - $n = $n|0; - $e = $e|0; - $i_off = $i_off|0; - $A = $A|0; - $base_n = $base_n|0; - var $$sum = 0, $0 = 0, $1 = 0, $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $2 = 0.0, $20 = 0, $21 = 0.0, $22 = 0, $23 = 0.0, $24 = 0.0, $25 = 0; - var $26 = 0.0, $27 = 0, $28 = 0.0, $29 = 0.0, $3 = 0, $30 = 0.0, $31 = 0.0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0.0, $36 = 0.0, $37 = 0.0, $38 = 0, $39 = 0.0, $4 = 0, $40 = 0, $41 = 0.0, $42 = 0.0, $43 = 0; - var $44 = 0.0, $45 = 0, $46 = 0.0, $47 = 0.0, $48 = 0.0, $49 = 0.0, $5 = 0, $50 = 0.0, $51 = 0.0, $52 = 0, $53 = 0.0, $54 = 0, $55 = 0.0, $56 = 0.0, $57 = 0, $58 = 0.0, $59 = 0, $6 = 0, $60 = 0.0, $61 = 0.0; - var $62 = 0.0, $63 = 0.0, $64 = 0.0, $65 = 0.0, $66 = 0.0, $67 = 0.0, $68 = 0.0, $69 = 0.0, $7 = 0.0, $70 = 0, $71 = 0, $8 = 0, $9 = 0.0, $z$01 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = $base_n >> 3; - $1 = (($A) + ($0<<2)|0); - $2 = +HEAPF32[$1>>2]; - $3 = $n << 4; - $$sum = (($i_off) - ($3))|0; - $4 = (($e) + ($$sum<<2)|0); - $5 = ($$sum|0)<($i_off|0); - if (!($5)) { - STACKTOP = sp;return; - } - $6 = (($e) + ($i_off<<2)|0); - $z$01 = $6; - while(1) { - $7 = +HEAPF32[$z$01>>2]; - $8 = (($z$01) + -32|0); - $9 = +HEAPF32[$8>>2]; - $10 = $7 - $9; - $11 = (($z$01) + -4|0); - $12 = +HEAPF32[$11>>2]; - $13 = (($z$01) + -36|0); - $14 = +HEAPF32[$13>>2]; - $15 = $12 - $14; - $16 = $7 + $9; - HEAPF32[$z$01>>2] = $16; - $17 = +HEAPF32[$11>>2]; - $18 = +HEAPF32[$13>>2]; - $19 = $17 + $18; - HEAPF32[$11>>2] = $19; - HEAPF32[$8>>2] = $10; - HEAPF32[$13>>2] = $15; - $20 = (($z$01) + -8|0); - $21 = +HEAPF32[$20>>2]; - $22 = (($z$01) + -40|0); - $23 = +HEAPF32[$22>>2]; - $24 = $21 - $23; - $25 = (($z$01) + -12|0); - $26 = +HEAPF32[$25>>2]; - $27 = (($z$01) + -44|0); - $28 = +HEAPF32[$27>>2]; - $29 = $26 - $28; - $30 = $21 + $23; - HEAPF32[$20>>2] = $30; - $31 = +HEAPF32[$25>>2]; - $32 = +HEAPF32[$27>>2]; - $33 = $31 + $32; - HEAPF32[$25>>2] = $33; - $34 = $24 + $29; - $35 = $2 * $34; - HEAPF32[$22>>2] = $35; - $36 = $29 - $24; - $37 = $2 * $36; - HEAPF32[$27>>2] = $37; - $38 = (($z$01) + -48|0); - $39 = +HEAPF32[$38>>2]; - $40 = (($z$01) + -16|0); - $41 = +HEAPF32[$40>>2]; - $42 = $39 - $41; - $43 = (($z$01) + -20|0); - $44 = +HEAPF32[$43>>2]; - $45 = (($z$01) + -52|0); - $46 = +HEAPF32[$45>>2]; - $47 = $44 - $46; - $48 = $39 + $41; - HEAPF32[$40>>2] = $48; - $49 = +HEAPF32[$43>>2]; - $50 = +HEAPF32[$45>>2]; - $51 = $49 + $50; - HEAPF32[$43>>2] = $51; - HEAPF32[$38>>2] = $47; - HEAPF32[$45>>2] = $42; - $52 = (($z$01) + -56|0); - $53 = +HEAPF32[$52>>2]; - $54 = (($z$01) + -24|0); - $55 = +HEAPF32[$54>>2]; - $56 = $53 - $55; - $57 = (($z$01) + -28|0); - $58 = +HEAPF32[$57>>2]; - $59 = (($z$01) + -60|0); - $60 = +HEAPF32[$59>>2]; - $61 = $58 - $60; - $62 = $53 + $55; - HEAPF32[$54>>2] = $62; - $63 = +HEAPF32[$57>>2]; - $64 = +HEAPF32[$59>>2]; - $65 = $63 + $64; - HEAPF32[$57>>2] = $65; - $66 = $56 + $61; - $67 = $2 * $66; - HEAPF32[$52>>2] = $67; - $68 = $56 - $61; - $69 = $2 * $68; - HEAPF32[$59>>2] = $69; - _iter_54($z$01); - _iter_54($8); - $70 = (($z$01) + -64|0); - $71 = ($70>>>0)>($4>>>0); - if ($71) { - $z$01 = $70; - } else { - break; - } - } - STACKTOP = sp;return; -} -function _iter_54($z) { - $z = $z|0; - var $0 = 0.0, $1 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $2 = 0.0, $20 = 0, $21 = 0.0, $22 = 0, $23 = 0.0, $24 = 0.0, $25 = 0.0, $26 = 0.0; - var $27 = 0.0, $28 = 0.0, $29 = 0.0, $3 = 0.0, $30 = 0.0, $31 = 0.0, $32 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $0 = +HEAPF32[$z>>2]; - $1 = (($z) + -16|0); - $2 = +HEAPF32[$1>>2]; - $3 = $0 - $2; - $4 = $0 + $2; - $5 = (($z) + -8|0); - $6 = +HEAPF32[$5>>2]; - $7 = (($z) + -24|0); - $8 = +HEAPF32[$7>>2]; - $9 = $6 + $8; - $10 = $6 - $8; - $11 = $4 + $9; - HEAPF32[$z>>2] = $11; - $12 = $4 - $9; - HEAPF32[$5>>2] = $12; - $13 = (($z) + -12|0); - $14 = +HEAPF32[$13>>2]; - $15 = (($z) + -28|0); - $16 = +HEAPF32[$15>>2]; - $17 = $14 - $16; - $18 = $3 + $17; - HEAPF32[$1>>2] = $18; - $19 = $3 - $17; - HEAPF32[$7>>2] = $19; - $20 = (($z) + -4|0); - $21 = +HEAPF32[$20>>2]; - $22 = (($z) + -20|0); - $23 = +HEAPF32[$22>>2]; - $24 = $21 - $23; - $25 = $21 + $23; - $26 = +HEAPF32[$13>>2]; - $27 = +HEAPF32[$15>>2]; - $28 = $26 + $27; - $29 = $25 + $28; - HEAPF32[$20>>2] = $29; - $30 = $25 - $28; - HEAPF32[$13>>2] = $30; - $31 = $24 - $10; - HEAPF32[$22>>2] = $31; - $32 = $10 + $24; - HEAPF32[$15>>2] = $32; - STACKTOP = sp;return; -} -function _draw_line($output,$x0,$y0,$x1,$y1,$n) { - $output = $output|0; - $x0 = $x0|0; - $y0 = $y0|0; - $x1 = $x1|0; - $y1 = $y1|0; - $n = $n|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0.0, $12 = 0, $13 = 0.0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0.0, $25 = 0, $26 = 0.0; - var $27 = 0.0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $err$05 = 0, $err$1 = 0, $exitcond = 0, $ispos = 0, $ispos1 = 0, $n$x1 = 0, $neg = 0, $neg2 = 0, $smax = 0, $sy$0 = 0, $sy$0$pn = 0, $x$0 = 0; - var $x$03 = 0, $x$06 = 0, $y$04 = 0, $y$1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (($y1) - ($y0))|0; - $1 = (($x1) - ($x0))|0; - $ispos = ($0|0)>(-1); - $neg = (0 - ($0))|0; - $2 = $ispos ? $0 : $neg; - $3 = (($0|0) / ($1|0))&-1; - $4 = $0 >> 31; - $5 = $4 | 1; - $ispos1 = ($3|0)>(-1); - $neg2 = (0 - ($3))|0; - $6 = $ispos1 ? $3 : $neg2; - $7 = Math_imul($6, $1)|0; - $8 = (($2) - ($7))|0; - $9 = ($x1|0)>($n|0); - $n$x1 = $9 ? $n : $x1; - $10 = (19432 + ($y0<<2)|0); - $11 = +HEAPF32[$10>>2]; - $12 = (($output) + ($x0<<2)|0); - $13 = +HEAPF32[$12>>2]; - $14 = $11 * $13; - HEAPF32[$12>>2] = $14; - $x$03 = (($x0) + 1)|0; - $15 = ($x$03|0)<($n$x1|0); - if (!($15)) { - STACKTOP = sp;return; - } - $16 = $n ^ -1; - $17 = $x1 ^ -1; - $18 = ($16|0)>($17|0); - $smax = $18 ? $16 : $17; - $19 = $smax ^ -1; - $err$05 = 0;$x$06 = $x$03;$y$04 = $y0; - while(1) { - $20 = (($err$05) + ($8))|0; - $21 = ($20|0)<($1|0); - $sy$0 = $21 ? 0 : $5; - $22 = $21 ? 0 : $1; - $err$1 = (($20) - ($22))|0; - $sy$0$pn = (($y$04) + ($3))|0; - $y$1 = (($sy$0$pn) + ($sy$0))|0; - $23 = (19432 + ($y$1<<2)|0); - $24 = +HEAPF32[$23>>2]; - $25 = (($output) + ($x$06<<2)|0); - $26 = +HEAPF32[$25>>2]; - $27 = $24 * $26; - HEAPF32[$25>>2] = $27; - $x$0 = (($x$06) + 1)|0; - $exitcond = ($x$0|0)==($19|0); - if ($exitcond) { - break; - } else { - $err$05 = $err$1;$x$06 = $x$0;$y$04 = $y$1; - } - } - STACKTOP = sp;return; -} -function _make_block_array($mem,$count,$size) { - $mem = $mem|0; - $count = $count|0; - $size = $size|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $exitcond = 0, $i$01 = 0, $q$02 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ($count|0)>(0); - if (!($0)) { - STACKTOP = sp;return ($mem|0); - } - $1 = (($mem) + ($count<<2)|0); - $i$01 = 0;$q$02 = $1; - while(1) { - $2 = (($mem) + ($i$01<<2)|0); - HEAP32[$2>>2] = $q$02; - $3 = (($q$02) + ($size)|0); - $4 = (($i$01) + 1)|0; - $exitcond = ($4|0)==($count|0); - if ($exitcond) { - break; - } else { - $i$01 = $4;$q$02 = $3; - } - } - STACKTOP = sp;return ($mem|0); -} -function _codebook_decode_deinterleave_repeat_2($f,$c,$outputs,$c_inter_p,$p_inter_p,$len,$total_decode) { - $f = $f|0; - $c = $c|0; - $outputs = $outputs|0; - $c_inter_p = $c_inter_p|0; - $p_inter_p = $p_inter_p|0; - $len = $len|0; - $total_decode = $total_decode|0; - var $$ = 0, $$0 = 0, $$0121 = 0, $$2 = 0, $$3 = 0, $$4 = 0, $$p_inter$1 = 0, $$p_inter$4 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0; - var $109 = 0, $11 = 0, $110 = 0, $111 = 0.0, $112 = 0.0, $113 = 0, $114 = 0.0, $115 = 0.0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0; - var $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0; - var $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0; - var $55 = 0.0, $56 = 0.0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0.0, $62 = 0.0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0; - var $73 = 0.0, $74 = 0.0, $75 = 0, $76 = 0.0, $77 = 0.0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0.0, $9 = 0, $90 = 0.0; - var $91 = 0, $92 = 0.0, $93 = 0.0, $94 = 0, $95 = 0.0, $96 = 0.0, $97 = 0, $98 = 0.0, $99 = 0.0, $c_inter$0$lcssa = 0, $c_inter$020 = 0, $c_inter$18 = 0, $c_inter$3 = 0, $c_inter$4 = 0, $effective$018 = 0, $effective$1 = 0, $exitcond = 0, $i$06 = 0, $i$1 = 0, $i$2$lcssa = 0; - var $i$210 = 0, $last$05 = 0.0, $p_inter$0$lcssa = 0, $p_inter$019 = 0, $p_inter$17 = 0, $p_inter$3 = 0, $p_inter$4$lcssa = 0, $p_inter$411 = 0, $p_inter$5 = 0, $z$0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[$c_inter_p>>2]|0; - $1 = HEAP32[$p_inter_p>>2]|0; - $2 = HEAP32[$c>>2]|0; - $3 = (($c) + 21|0); - $4 = HEAP8[$3>>0]|0; - $5 = ($4<<24>>24)==(0); - if ($5) { - _error($f,21); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $6 = ($total_decode|0)>(0); - L5: do { - if ($6) { - $7 = (($f) + 1412|0); - $8 = (($f) + 1408|0); - $9 = (($c) + 8|0); - $10 = $len << 1; - $11 = (($c) + 22|0); - $12 = (($c) + 28|0); - $13 = (($outputs) + 4|0); - $14 = (($c) + 28|0); - $15 = (($c) + 28|0); - $16 = (($c) + 28|0); - $$0121 = $total_decode;$c_inter$020 = $0;$effective$018 = $2;$p_inter$019 = $1; - while(1) { - $17 = HEAP32[$7>>2]|0; - $18 = ($17|0)<(10); - if ($18) { - _prep_huffman($f); - } - $19 = HEAP32[$8>>2]|0; - $20 = $19 & 1023; - $21 = ((($c) + ($20<<1)|0) + 36|0); - $22 = HEAP16[$21>>1]|0; - $23 = $22 << 16 >> 16; - $24 = ($22<<16>>16)>(-1); - if ($24) { - $25 = HEAP32[$9>>2]|0; - $26 = (($25) + ($23)|0); - $27 = HEAP8[$26>>0]|0; - $28 = $27&255; - $29 = $19 >>> $28; - HEAP32[$8>>2] = $29; - $30 = HEAP32[$7>>2]|0; - $31 = (($30) - ($28))|0; - $32 = ($31|0)<(0); - $$ = $32 ? 0 : $31; - HEAP32[$7>>2] = $$; - $$2 = $32 ? -1 : $23; - $z$0 = $$2; - } else { - $33 = (_codebook_decode_scalar_raw($f,$c)|0); - $z$0 = $33; - } - $34 = ($z$0|0)<(0); - if ($34) { - break; - } - $41 = $p_inter$019 << 1; - $42 = (($41) + ($effective$018))|0; - $43 = (($42) + ($c_inter$020))|0; - $44 = ($43|0)>($10|0); - if ($44) { - $45 = (($10) - ($41))|0; - $46 = (($45) + ($c_inter$020))|0; - $effective$1 = $46; - } else { - $effective$1 = $effective$018; - } - $47 = HEAP32[$c>>2]|0; - $48 = Math_imul($47, $z$0)|0; - $49 = HEAP8[$11>>0]|0; - $50 = ($49<<24>>24)==(0); - if ($50) { - $67 = ($c_inter$020|0)==(1); - if ($67) { - $68 = (($outputs) + ($c_inter$020<<2)|0); - $69 = HEAP32[$68>>2]|0; - $70 = ($69|0)==(0|0); - if (!($70)) { - $71 = HEAP32[$12>>2]|0; - $72 = (($71) + ($48<<2)|0); - $73 = +HEAPF32[$72>>2]; - $74 = $73 + 0.0; - $75 = (($69) + ($p_inter$019<<2)|0); - $76 = +HEAPF32[$75>>2]; - $77 = $76 + $74; - HEAPF32[$75>>2] = $77; - } - $78 = (($p_inter$019) + 1)|0; - $c_inter$3 = 0;$i$1 = 1;$p_inter$3 = $78; - } else { - $c_inter$3 = $c_inter$020;$i$1 = 0;$p_inter$3 = $p_inter$019; - } - $79 = HEAP32[$outputs>>2]|0; - $80 = HEAP32[$13>>2]|0; - $81 = (($i$1) + 1)|0; - $82 = ($81|0)<($effective$1|0); - if ($82) { - $83 = HEAP32[$15>>2]|0; - $84 = ($79|0)==(0|0); - $85 = ($80|0)==(0|0); - $i$210 = $i$1;$p_inter$411 = $p_inter$3; - while(1) { - $86 = (($i$210) + ($48))|0; - $87 = (($86) + 1)|0; - $88 = (($83) + ($87<<2)|0); - $89 = +HEAPF32[$88>>2]; - $90 = $89 + 0.0; - if (!($84)) { - $91 = (($83) + ($86<<2)|0); - $92 = +HEAPF32[$91>>2]; - $93 = $92 + 0.0; - $94 = (($79) + ($p_inter$411<<2)|0); - $95 = +HEAPF32[$94>>2]; - $96 = $95 + $93; - HEAPF32[$94>>2] = $96; - } - if (!($85)) { - $97 = (($80) + ($p_inter$411<<2)|0); - $98 = +HEAPF32[$97>>2]; - $99 = $90 + $98; - HEAPF32[$97>>2] = $99; - } - $100 = (($p_inter$411) + 1)|0; - $101 = (($i$210) + 2)|0; - $102 = (($i$210) + 3)|0; - $103 = ($102|0)<($effective$1|0); - if ($103) { - $i$210 = $101;$p_inter$411 = $100; - } else { - $i$2$lcssa = $101;$p_inter$4$lcssa = $100; - break; - } - } - } else { - $i$2$lcssa = $i$1;$p_inter$4$lcssa = $p_inter$3; - } - $104 = ($i$2$lcssa|0)<($effective$1|0); - if ($104) { - $105 = (($outputs) + ($c_inter$3<<2)|0); - $106 = HEAP32[$105>>2]|0; - $107 = ($106|0)==(0|0); - if (!($107)) { - $108 = HEAP32[$14>>2]|0; - $109 = (($i$2$lcssa) + ($48))|0; - $110 = (($108) + ($109<<2)|0); - $111 = +HEAPF32[$110>>2]; - $112 = $111 + 0.0; - $113 = (($106) + ($p_inter$4$lcssa<<2)|0); - $114 = +HEAPF32[$113>>2]; - $115 = $114 + $112; - HEAPF32[$113>>2] = $115; - } - $116 = (($c_inter$3) + 1)|0; - $117 = ($116|0)==(2); - $118 = $117&1; - $$p_inter$4 = (($p_inter$4$lcssa) + ($118))|0; - $$4 = $117 ? 0 : $116; - $c_inter$4 = $$4;$p_inter$5 = $$p_inter$4; - } else { - $c_inter$4 = $c_inter$3;$p_inter$5 = $p_inter$4$lcssa; - } - } else { - $51 = ($effective$1|0)>(0); - if ($51) { - $52 = HEAP32[$16>>2]|0; - $c_inter$18 = $c_inter$020;$i$06 = 0;$last$05 = 0.0;$p_inter$17 = $p_inter$019; - while(1) { - $53 = (($i$06) + ($48))|0; - $54 = (($52) + ($53<<2)|0); - $55 = +HEAPF32[$54>>2]; - $56 = $last$05 + $55; - $57 = (($outputs) + ($c_inter$18<<2)|0); - $58 = HEAP32[$57>>2]|0; - $59 = ($58|0)==(0|0); - if (!($59)) { - $60 = (($58) + ($p_inter$17<<2)|0); - $61 = +HEAPF32[$60>>2]; - $62 = $56 + $61; - HEAPF32[$60>>2] = $62; - } - $63 = (($c_inter$18) + 1)|0; - $64 = ($63|0)==(2); - $65 = $64&1; - $$p_inter$1 = (($65) + ($p_inter$17))|0; - $$3 = $64 ? 0 : $63; - $66 = (($i$06) + 1)|0; - $exitcond = ($66|0)==($effective$1|0); - if ($exitcond) { - $c_inter$4 = $$3;$p_inter$5 = $$p_inter$1; - break; - } else { - $c_inter$18 = $$3;$i$06 = $66;$last$05 = $56;$p_inter$17 = $$p_inter$1; - } - } - } else { - $c_inter$4 = $c_inter$020;$p_inter$5 = $p_inter$019; - } - } - $119 = (($$0121) - ($effective$1))|0; - $120 = ($119|0)>(0); - if ($120) { - $$0121 = $119;$c_inter$020 = $c_inter$4;$effective$018 = $effective$1;$p_inter$019 = $p_inter$5; - } else { - $c_inter$0$lcssa = $c_inter$4;$p_inter$0$lcssa = $p_inter$5; - break L5; - } - } - $35 = (($f) + 1392|0); - $36 = HEAP8[$35>>0]|0; - $37 = ($36<<24>>24)==(0); - if ($37) { - $38 = (($f) + 1400|0); - $39 = HEAP32[$38>>2]|0; - $40 = ($39|0)==(0); - if (!($40)) { - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - } - _error($f,21); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } else { - $c_inter$0$lcssa = $0;$p_inter$0$lcssa = $1; - } - } while(0); - HEAP32[$c_inter_p>>2] = $c_inter$0$lcssa; - HEAP32[$p_inter_p>>2] = $p_inter$0$lcssa; - $$0 = 1; - STACKTOP = sp;return ($$0|0); -} -function _codebook_decode_deinterleave_repeat($f,$c,$outputs,$ch,$c_inter_p,$p_inter_p,$len,$total_decode) { - $f = $f|0; - $c = $c|0; - $outputs = $outputs|0; - $ch = $ch|0; - $c_inter_p = $c_inter_p|0; - $p_inter_p = $p_inter_p|0; - $len = $len|0; - $total_decode = $total_decode|0; - var $$ = 0, $$0 = 0, $$0126 = 0, $$2 = 0, $$3 = 0, $$4 = 0, $$p_inter$1 = 0, $$p_inter$3 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0; - var $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0; - var $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0; - var $56 = 0, $57 = 0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0.0, $65 = 0.0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0; - var $74 = 0, $75 = 0, $76 = 0.0, $77 = 0.0, $78 = 0, $79 = 0.0, $8 = 0, $80 = 0.0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $9 = 0, $c_inter$0$lcssa = 0, $c_inter$025 = 0, $c_inter$18 = 0, $c_inter$314 = 0, $c_inter$5 = 0; - var $effective$024 = 0, $effective$1 = 0, $exitcond = 0, $exitcond30 = 0, $i$06 = 0, $i$113 = 0, $last$07 = 0.0, $p_inter$0$lcssa = 0, $p_inter$023 = 0, $p_inter$15 = 0, $p_inter$312 = 0, $p_inter$5 = 0, $z$0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[$c_inter_p>>2]|0; - $1 = HEAP32[$p_inter_p>>2]|0; - $2 = HEAP32[$c>>2]|0; - $3 = (($c) + 21|0); - $4 = HEAP8[$3>>0]|0; - $5 = ($4<<24>>24)==(0); - if ($5) { - _error($f,21); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $6 = ($total_decode|0)>(0); - L5: do { - if ($6) { - $7 = (($f) + 1412|0); - $8 = (($f) + 1408|0); - $9 = (($c) + 8|0); - $10 = (($c) + 23|0); - $11 = Math_imul($len, $ch)|0; - $12 = (($c) + 22|0); - $13 = (($c) + 28|0); - $14 = (($c) + 28|0); - $15 = (($c) + 2092|0); - $$0126 = $total_decode;$c_inter$025 = $0;$effective$024 = $2;$p_inter$023 = $1; - while(1) { - $16 = HEAP32[$7>>2]|0; - $17 = ($16|0)<(10); - if ($17) { - _prep_huffman($f); - } - $18 = HEAP32[$8>>2]|0; - $19 = $18 & 1023; - $20 = ((($c) + ($19<<1)|0) + 36|0); - $21 = HEAP16[$20>>1]|0; - $22 = $21 << 16 >> 16; - $23 = ($21<<16>>16)>(-1); - if ($23) { - $24 = HEAP32[$9>>2]|0; - $25 = (($24) + ($22)|0); - $26 = HEAP8[$25>>0]|0; - $27 = $26&255; - $28 = $18 >>> $27; - HEAP32[$8>>2] = $28; - $29 = HEAP32[$7>>2]|0; - $30 = (($29) - ($27))|0; - $31 = ($30|0)<(0); - $$ = $31 ? 0 : $30; - HEAP32[$7>>2] = $$; - $$2 = $31 ? -1 : $22; - $z$0 = $$2; - } else { - $32 = (_codebook_decode_scalar_raw($f,$c)|0); - $z$0 = $32; - } - $33 = HEAP8[$10>>0]|0; - $34 = ($33<<24>>24)==(0); - if (!($34)) { - $35 = HEAP32[$15>>2]|0; - $36 = ($z$0|0)<($35|0); - if (!($36)) { - label = 12; - break; - } - } - $37 = ($z$0|0)<(0); - if ($37) { - break; - } - $44 = Math_imul($p_inter$023, $ch)|0; - $45 = (($effective$024) + ($44))|0; - $46 = (($45) + ($c_inter$025))|0; - $47 = ($46|0)>($11|0); - if ($47) { - $48 = (($11) - ($44))|0; - $49 = (($48) + ($c_inter$025))|0; - $effective$1 = $49; - } else { - $effective$1 = $effective$024; - } - $50 = HEAP32[$c>>2]|0; - $51 = Math_imul($50, $z$0)|0; - $52 = HEAP8[$12>>0]|0; - $53 = ($52<<24>>24)==(0); - $54 = ($effective$1|0)>(0); - if ($53) { - if ($54) { - $c_inter$314 = $c_inter$025;$i$113 = 0;$p_inter$312 = $p_inter$023; - while(1) { - $70 = (($outputs) + ($c_inter$314<<2)|0); - $71 = HEAP32[$70>>2]|0; - $72 = ($71|0)==(0|0); - if (!($72)) { - $73 = HEAP32[$14>>2]|0; - $74 = (($i$113) + ($51))|0; - $75 = (($73) + ($74<<2)|0); - $76 = +HEAPF32[$75>>2]; - $77 = $76 + 0.0; - $78 = (($71) + ($p_inter$312<<2)|0); - $79 = +HEAPF32[$78>>2]; - $80 = $79 + $77; - HEAPF32[$78>>2] = $80; - } - $81 = (($c_inter$314) + 1)|0; - $82 = ($81|0)==($ch|0); - $83 = $82&1; - $$p_inter$3 = (($83) + ($p_inter$312))|0; - $$4 = $82 ? 0 : $81; - $84 = (($i$113) + 1)|0; - $exitcond30 = ($84|0)==($effective$1|0); - if ($exitcond30) { - $c_inter$5 = $$4;$p_inter$5 = $$p_inter$3; - break; - } else { - $c_inter$314 = $$4;$i$113 = $84;$p_inter$312 = $$p_inter$3; - } - } - } else { - $c_inter$5 = $c_inter$025;$p_inter$5 = $p_inter$023; - } - } else { - if ($54) { - $55 = HEAP32[$13>>2]|0; - $c_inter$18 = $c_inter$025;$i$06 = 0;$last$07 = 0.0;$p_inter$15 = $p_inter$023; - while(1) { - $56 = (($i$06) + ($51))|0; - $57 = (($55) + ($56<<2)|0); - $58 = +HEAPF32[$57>>2]; - $59 = $last$07 + $58; - $60 = (($outputs) + ($c_inter$18<<2)|0); - $61 = HEAP32[$60>>2]|0; - $62 = ($61|0)==(0|0); - if (!($62)) { - $63 = (($61) + ($p_inter$15<<2)|0); - $64 = +HEAPF32[$63>>2]; - $65 = $59 + $64; - HEAPF32[$63>>2] = $65; - } - $66 = (($c_inter$18) + 1)|0; - $67 = ($66|0)==($ch|0); - $68 = $67&1; - $$p_inter$1 = (($68) + ($p_inter$15))|0; - $$3 = $67 ? 0 : $66; - $69 = (($i$06) + 1)|0; - $exitcond = ($69|0)==($effective$1|0); - if ($exitcond) { - $c_inter$5 = $$3;$p_inter$5 = $$p_inter$1; - break; - } else { - $c_inter$18 = $$3;$i$06 = $69;$last$07 = $59;$p_inter$15 = $$p_inter$1; - } - } - } else { - $c_inter$5 = $c_inter$025;$p_inter$5 = $p_inter$023; - } - } - $85 = (($$0126) - ($effective$1))|0; - $86 = ($85|0)>(0); - if ($86) { - $$0126 = $85;$c_inter$025 = $c_inter$5;$effective$024 = $effective$1;$p_inter$023 = $p_inter$5; - } else { - $c_inter$0$lcssa = $c_inter$5;$p_inter$0$lcssa = $p_inter$5; - break L5; - } - } - if ((label|0) == 12) { - ___assert_fail((20504|0),(17648|0),1432,(20544|0)); - // unreachable; - } - $38 = (($f) + 1392|0); - $39 = HEAP8[$38>>0]|0; - $40 = ($39<<24>>24)==(0); - if ($40) { - $41 = (($f) + 1400|0); - $42 = HEAP32[$41>>2]|0; - $43 = ($42|0)==(0); - if (!($43)) { - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - } - _error($f,21); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } else { - $c_inter$0$lcssa = $0;$p_inter$0$lcssa = $1; - } - } while(0); - HEAP32[$c_inter_p>>2] = $c_inter$0$lcssa; - HEAP32[$p_inter_p>>2] = $p_inter$0$lcssa; - $$0 = 1; - STACKTOP = sp;return ($$0|0); -} -function _residue_decode($f,$book,$target,$offset,$n,$rtype) { - $f = $f|0; - $book = $book|0; - $target = $target|0; - $offset = $offset|0; - $n = $n|0; - $rtype = $rtype|0; - var $$0 = 0, $$015 = 0, $$sum = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0; - var $7 = 0, $8 = 0, $9 = 0, $k$02 = 0, $k$16 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ($rtype|0)==(0); - L1: do { - if ($0) { - $2 = HEAP32[$book>>2]|0; - $3 = (($n|0) / ($2|0))&-1; - $4 = ($3|0)>(0); - if ($4) { - $5 = (($n) - ($offset))|0; - $k$02 = 0; - while(1) { - $$sum = (($k$02) + ($offset))|0; - $8 = (($target) + ($$sum<<2)|0); - $9 = (($5) - ($k$02))|0; - $10 = (_codebook_decode_step($f,$book,$8,$9,$3)|0); - $11 = ($10|0)==(0); - $7 = (($k$02) + 1)|0; - if ($11) { - $$0 = 0; - break L1; - } - $6 = ($7|0)<($3|0); - if ($6) { - $k$02 = $7; - } else { - $$0 = 1; - break; - } - } - } else { - $$0 = 1; - } - } else { - $1 = ($n|0)>(0); - if ($1) { - $$015 = $offset;$k$16 = 0; - while(1) { - $12 = (($target) + ($$015<<2)|0); - $13 = (($n) - ($k$16))|0; - $14 = (_codebook_decode($f,$book,$12,$13)|0); - $15 = ($14|0)==(0); - if ($15) { - $$0 = 0; - break L1; - } - $16 = HEAP32[$book>>2]|0; - $17 = (($16) + ($k$16))|0; - $18 = (($16) + ($$015))|0; - $19 = ($17|0)<($n|0); - if ($19) { - $$015 = $18;$k$16 = $17; - } else { - $$0 = 1; - break; - } - } - } else { - $$0 = 1; - } - } - } while(0); - STACKTOP = sp;return ($$0|0); -} -function _codebook_decode_step($f,$c,$output,$len,$step) { - $f = $f|0; - $c = $c|0; - $output = $output|0; - $len = $len|0; - $step = $step|0; - var $$0 = 0, $$len = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0.0, $16 = 0.0, $17 = 0, $18 = 0, $19 = 0.0, $2 = 0, $20 = 0.0, $21 = 0, $22 = 0, $23 = 0, $3 = 0; - var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $i$02 = 0, $last$0$ = 0.0, $last$03 = 0.0, $smax = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_codebook_decode_start($f,$c)|0); - $1 = ($0|0)<(0); - if ($1) { - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $2 = HEAP32[$c>>2]|0; - $3 = ($2|0)<($len|0); - $$len = $3 ? $2 : $len; - $4 = Math_imul($2, $0)|0; - $5 = ($$len|0)>(0); - if (!($5)) { - $$0 = 1; - STACKTOP = sp;return ($$0|0); - } - $6 = (($c) + 28|0); - $7 = HEAP32[$6>>2]|0; - $8 = (($c) + 22|0); - $9 = $2 ^ -1; - $10 = $len ^ -1; - $11 = ($9|0)>($10|0); - $smax = $11 ? $9 : $10; - $12 = $smax ^ -1; - $i$02 = 0;$last$03 = 0.0; - while(1) { - $13 = (($i$02) + ($4))|0; - $14 = (($7) + ($13<<2)|0); - $15 = +HEAPF32[$14>>2]; - $16 = $last$03 + $15; - $17 = Math_imul($i$02, $step)|0; - $18 = (($output) + ($17<<2)|0); - $19 = +HEAPF32[$18>>2]; - $20 = $19 + $16; - HEAPF32[$18>>2] = $20; - $21 = HEAP8[$8>>0]|0; - $22 = ($21<<24>>24)==(0); - $last$0$ = $22 ? $last$03 : $16; - $23 = (($i$02) + 1)|0; - $exitcond = ($23|0)==($12|0); - if ($exitcond) { - $$0 = 1; - break; - } else { - $i$02 = $23;$last$03 = $last$0$; - } - } - STACKTOP = sp;return ($$0|0); -} -function _codebook_decode($f,$c,$output,$len) { - $f = $f|0; - $c = $c|0; - $output = $output|0; - $len = $len|0; - var $$0 = 0, $$len = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0.0; - var $25 = 0.0, $26 = 0, $27 = 0.0, $28 = 0.0, $29 = 0.0, $3 = 0, $30 = 0.0, $31 = 0, $32 = 0, $33 = 0, $34 = 0.0, $35 = 0.0, $36 = 0, $37 = 0.0, $38 = 0.0, $39 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; - var $8 = 0, $9 = 0, $exitcond = 0, $exitcond9 = 0, $i$05 = 0, $i$12 = 0, $last$06 = 0.0, $smax = 0, $smax8 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_codebook_decode_start($f,$c)|0); - $1 = ($0|0)<(0); - if ($1) { - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $2 = HEAP32[$c>>2]|0; - $3 = ($2|0)<($len|0); - $$len = $3 ? $2 : $len; - $4 = Math_imul($2, $0)|0; - $5 = (($c) + 22|0); - $6 = HEAP8[$5>>0]|0; - $7 = ($6<<24>>24)==(0); - $8 = ($$len|0)>(0); - if ($7) { - if (!($8)) { - $$0 = 1; - STACKTOP = sp;return ($$0|0); - } - $16 = (($c) + 28|0); - $17 = HEAP32[$16>>2]|0; - $18 = $2 ^ -1; - $19 = $len ^ -1; - $20 = ($18|0)>($19|0); - $smax = $20 ? $18 : $19; - $21 = $smax ^ -1; - $i$12 = 0; - while(1) { - $32 = (($i$12) + ($4))|0; - $33 = (($17) + ($32<<2)|0); - $34 = +HEAPF32[$33>>2]; - $35 = $34 + 0.0; - $36 = (($output) + ($i$12<<2)|0); - $37 = +HEAPF32[$36>>2]; - $38 = $37 + $35; - HEAPF32[$36>>2] = $38; - $39 = (($i$12) + 1)|0; - $exitcond = ($39|0)==($21|0); - if ($exitcond) { - $$0 = 1; - break; - } else { - $i$12 = $39; - } - } - STACKTOP = sp;return ($$0|0); - } else { - if (!($8)) { - $$0 = 1; - STACKTOP = sp;return ($$0|0); - } - $9 = (($c) + 28|0); - $10 = HEAP32[$9>>2]|0; - $11 = (($c) + 12|0); - $12 = $2 ^ -1; - $13 = $len ^ -1; - $14 = ($12|0)>($13|0); - $smax8 = $14 ? $12 : $13; - $15 = $smax8 ^ -1; - $i$05 = 0;$last$06 = 0.0; - while(1) { - $22 = (($i$05) + ($4))|0; - $23 = (($10) + ($22<<2)|0); - $24 = +HEAPF32[$23>>2]; - $25 = $last$06 + $24; - $26 = (($output) + ($i$05<<2)|0); - $27 = +HEAPF32[$26>>2]; - $28 = $27 + $25; - HEAPF32[$26>>2] = $28; - $29 = +HEAPF32[$11>>2]; - $30 = $25 + $29; - $31 = (($i$05) + 1)|0; - $exitcond9 = ($31|0)==($15|0); - if ($exitcond9) { - $$0 = 1; - break; - } else { - $i$05 = $31;$last$06 = $30; - } - } - STACKTOP = sp;return ($$0|0); - } - return 0|0; -} -function _codebook_decode_start($f,$c) { - $f = $f|0; - $c = $c|0; - var $$ = 0, $$0 = 0, $$1 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; - var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $z$0 = 0; - var label = 0, sp = 0; - sp = STACKTOP; - $0 = (($c) + 21|0); - $1 = HEAP8[$0>>0]|0; - $2 = ($1<<24>>24)==(0); - if ($2) { - _error($f,21); - $$0 = -1; - STACKTOP = sp;return ($$0|0); - } - $3 = (($f) + 1412|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)<(10); - if ($5) { - _prep_huffman($f); - } - $6 = (($f) + 1408|0); - $7 = HEAP32[$6>>2]|0; - $8 = $7 & 1023; - $9 = ((($c) + ($8<<1)|0) + 36|0); - $10 = HEAP16[$9>>1]|0; - $11 = $10 << 16 >> 16; - $12 = ($10<<16>>16)>(-1); - if ($12) { - $13 = (($c) + 8|0); - $14 = HEAP32[$13>>2]|0; - $15 = (($14) + ($11)|0); - $16 = HEAP8[$15>>0]|0; - $17 = $16&255; - $18 = $7 >>> $17; - HEAP32[$6>>2] = $18; - $19 = HEAP32[$3>>2]|0; - $20 = (($19) - ($17))|0; - $21 = ($20|0)<(0); - $$ = $21 ? 0 : $20; - HEAP32[$3>>2] = $$; - $$1 = $21 ? -1 : $11; - $z$0 = $$1; - } else { - $22 = (_codebook_decode_scalar_raw($f,$c)|0); - $z$0 = $22; - } - $23 = (($c) + 23|0); - $24 = HEAP8[$23>>0]|0; - $25 = ($24<<24>>24)==(0); - if (!($25)) { - $26 = (($c) + 2092|0); - $27 = HEAP32[$26>>2]|0; - $28 = ($z$0|0)<($27|0); - if (!($28)) { - ___assert_fail((20456|0),(17648|0),1338,(20480|0)); - // unreachable; - } - } - $29 = ($z$0|0)<(0); - if (!($29)) { - $$0 = $z$0; - STACKTOP = sp;return ($$0|0); - } - $30 = (($f) + 1392|0); - $31 = HEAP8[$30>>0]|0; - $32 = ($31<<24>>24)==(0); - if ($32) { - $33 = (($f) + 1400|0); - $34 = HEAP32[$33>>2]|0; - $35 = ($34|0)==(0); - if (!($35)) { - $$0 = $z$0; - STACKTOP = sp;return ($$0|0); - } - } - _error($f,21); - $$0 = $z$0; - STACKTOP = sp;return ($$0|0); -} -function _ldexp($x,$n) { - $x = +$x; - $n = $n|0; - var $0 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (+_scalbn($x,$n)); - STACKTOP = sp;return (+$0); -} -function _qsort($base,$nel,$width,$cmp) { - $base = $base|0; - $nel = $nel|0; - $width = $width|0; - $cmp = $cmp|0; - var $$ = 0, $$$i = 0, $$0$be$i = 0, $$0$be$i20 = 0, $$0$i50 = 0, $$01$be$i = 0, $$01$be$i19 = 0, $$01$i5$i = 0, $$012$i = 0, $$012$i16 = 0, $$02$i$i = 0, $$02$i3$i = 0, $$02$i3469 = 0, $$02$i72 = 0, $$02$us$i = 0, $$02$us$i32 = 0, $$03$i = 0, $$03$i15 = 0, $$66 = 0, $$67 = 0; - var $$lcssa75 = 0, $$lcssa76 = 0, $$pre = 0, $$pre$i = 0, $$pre$i22 = 0, $$pre$i28 = 0, $$pre$i9 = 0, $$sum = 0, $$sum$i = 0, $$sum$i18 = 0, $$sum2 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0; - var $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0; - var $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0; - var $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0; - var $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0; - var $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0; - var $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $4$phi = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0; - var $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0; - var $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0; - var $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $ar$i = 0, $exitcond$i = 0, $exitcond$i31 = 0, $head$0$lcssa = 0, $head$077 = 0; - var $head$1 = 0, $i$0 = 0, $i$0$lcssa$i = 0, $i$0$lcssa$i24 = 0, $i$01$us$i = 0, $i$01$us$i30 = 0, $i$04$i = 0, $i$04$i14 = 0, $lp = 0, $nTrailingZeros$03$i$i = 0, $nTrailingZeros$03$i2$i = 0, $pshift$0$lcssa = 0, $pshift$078 = 0, $pshift$1 = 0, $pshift$2 = 0, $sum = 0, $sum$i = 0, $sum$i17 = 0, $tmp$i = 0, $tmp$i26 = 0; - var label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 944|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); - $tmp$i26 = sp + 680|0; - $tmp$i = sp + 424|0; - $ar$i = sp; - $lp = sp + 232|0; - $0 = Math_imul($width, $nel)|0; - $1 = ($0|0)==(0); - if ($1) { - STACKTOP = sp;return; - } - $$sum = (($0) - ($width))|0; - $2 = (($lp) + 4|0); - HEAP32[$2>>2] = $width; - HEAP32[$lp>>2] = $width; - $4 = $width;$6 = $width;$i$0 = 2; - while(1) { - $3 = (($4) + ($width))|0; - $5 = (($3) + ($6))|0; - $7 = (($lp) + ($i$0<<2)|0); - HEAP32[$7>>2] = $5; - $8 = ($5>>>0)<($0>>>0); - $9 = (($i$0) + 1)|0; - if ($8) { - $4$phi = $6;$6 = $5;$i$0 = $9;$4 = $4$phi; - } else { - break; - } - } - $10 = (0 - ($width))|0; - $11 = (($base) + ($$sum)|0); - $12 = ($$sum|0)>(0); - if ($12) { - $13 = ($width|0)==(0); - $14 = ($width>>>0)>(256); - $15 = $14 ? 256 : $width; - $16 = ($15|0)==($width|0); - $17 = $11; - $19 = 1;$61 = 0;$head$077 = $base;$pshift$078 = 1; - while(1) { - $18 = $19 & 3; - $20 = ($18|0)==(3); - do { - if ($20) { - HEAP32[$ar$i>>2] = $head$077; - $21 = ($pshift$078|0)>(1); - L13: do { - if ($21) { - $$012$i = $pshift$078;$$03$i = $head$077;$27 = $head$077;$i$04$i = 1; - while(1) { - $22 = (($$03$i) + ($10)|0); - $23 = (($$012$i) + -2)|0; - $24 = (($lp) + ($23<<2)|0); - $25 = HEAP32[$24>>2]|0; - $sum$i = (($25) + ($width))|0; - $$sum$i = (0 - ($sum$i))|0; - $26 = (($$03$i) + ($$sum$i)|0); - $28 = (FUNCTION_TABLE_iii[$cmp & 3]($27,$26)|0); - $29 = ($28|0)>(-1); - if ($29) { - $30 = (FUNCTION_TABLE_iii[$cmp & 3]($27,$22)|0); - $31 = ($30|0)>(-1); - if ($31) { - $i$0$lcssa$i = $i$04$i; - break; - } - } - $32 = (FUNCTION_TABLE_iii[$cmp & 3]($26,$22)|0); - $33 = ($32|0)>(-1); - $34 = (($i$04$i) + 1)|0; - $35 = (($ar$i) + ($i$04$i<<2)|0); - if ($33) { - HEAP32[$35>>2] = $26; - $36 = (($$012$i) + -1)|0; - $$0$be$i = $26;$$01$be$i = $36; - } else { - HEAP32[$35>>2] = $22; - $$0$be$i = $22;$$01$be$i = $23; - } - $37 = ($$01$be$i|0)>(1); - if (!($37)) { - $i$0$lcssa$i = $34; - break; - } - $$pre$i = HEAP32[$ar$i>>2]|0; - $$012$i = $$01$be$i;$$03$i = $$0$be$i;$27 = $$pre$i;$i$04$i = $34; - } - $38 = ($i$0$lcssa$i|0)<(2); - if (!($38)) { - $39 = (($ar$i) + ($i$0$lcssa$i<<2)|0); - HEAP32[$39>>2] = $tmp$i; - if (!($13)) { - $40 = ($i$0$lcssa$i|0)>(0); - if ($40) { - $$02$us$i = $width;$53 = $tmp$i; - } else { - $41 = HEAP32[$ar$i>>2]|0; - _memcpy(($tmp$i|0),($41|0),($15|0))|0; - if ($16) { - break; - } else { - $$02$i72 = $width;$55 = $15; - } - while(1) { - $54 = (($$02$i72) - ($55))|0; - $56 = ($54>>>0)>(256); - $57 = $56 ? 256 : $54; - _memcpy(($tmp$i|0),($41|0),($57|0))|0; - $58 = ($54|0)==($57|0); - if ($58) { - break L13; - } else { - $$02$i72 = $54;$55 = $57; - } - } - } - while(1) { - $51 = ($$02$us$i>>>0)>(256); - $43 = $51 ? 256 : $$02$us$i; - $52 = HEAP32[$ar$i>>2]|0; - _memcpy(($53|0),($52|0),($43|0))|0; - $49 = $52;$i$01$us$i = 0; - while(1) { - $45 = (($ar$i) + ($i$01$us$i<<2)|0); - $46 = (($i$01$us$i) + 1)|0; - $47 = (($ar$i) + ($46<<2)|0); - $48 = HEAP32[$47>>2]|0; - _memcpy(($49|0),($48|0),($43|0))|0; - $50 = (($49) + ($43)|0); - HEAP32[$45>>2] = $50; - $exitcond$i = ($46|0)==($i$0$lcssa$i|0); - if ($exitcond$i) { - break; - } else { - $49 = $48;$i$01$us$i = $46; - } - } - $42 = ($$02$us$i|0)==($43|0); - if ($42) { - break L13; - } - $44 = (($$02$us$i) - ($43))|0; - $$pre$i9 = HEAP32[$39>>2]|0; - $$02$us$i = $44;$53 = $$pre$i9; - } - } - } - } - } while(0); - $59 = $19 >>> 2; - $60 = $61 << 30; - $62 = $59 | $60; - $63 = $61 >>> 2; - $64 = (($pshift$078) + 2)|0; - $122 = $62;$182 = $63;$pshift$1 = $64; - } else { - $65 = (($pshift$078) + -1)|0; - $66 = (($lp) + ($65<<2)|0); - $67 = HEAP32[$66>>2]|0; - $68 = $head$077; - $69 = (($17) - ($68))|0; - $70 = ($67>>>0)<($69>>>0); - L39: do { - if ($70) { - HEAP32[$ar$i>>2] = $head$077; - $71 = ($pshift$078|0)>(1); - if ($71) { - $$012$i16 = $pshift$078;$$03$i15 = $head$077;$77 = $head$077;$i$04$i14 = 1; - while(1) { - $72 = (($$03$i15) + ($10)|0); - $73 = (($$012$i16) + -2)|0; - $74 = (($lp) + ($73<<2)|0); - $75 = HEAP32[$74>>2]|0; - $sum$i17 = (($75) + ($width))|0; - $$sum$i18 = (0 - ($sum$i17))|0; - $76 = (($$03$i15) + ($$sum$i18)|0); - $78 = (FUNCTION_TABLE_iii[$cmp & 3]($77,$76)|0); - $79 = ($78|0)>(-1); - if ($79) { - $80 = (FUNCTION_TABLE_iii[$cmp & 3]($77,$72)|0); - $81 = ($80|0)>(-1); - if ($81) { - $i$0$lcssa$i24 = $i$04$i14; - break; - } - } - $82 = (FUNCTION_TABLE_iii[$cmp & 3]($76,$72)|0); - $83 = ($82|0)>(-1); - $84 = (($i$04$i14) + 1)|0; - $85 = (($ar$i) + ($i$04$i14<<2)|0); - if ($83) { - HEAP32[$85>>2] = $76; - $86 = (($$012$i16) + -1)|0; - $$0$be$i20 = $76;$$01$be$i19 = $86; - } else { - HEAP32[$85>>2] = $72; - $$0$be$i20 = $72;$$01$be$i19 = $73; - } - $87 = ($$01$be$i19|0)>(1); - if (!($87)) { - $i$0$lcssa$i24 = $84; - break; - } - $$pre$i22 = HEAP32[$ar$i>>2]|0; - $$012$i16 = $$01$be$i19;$$03$i15 = $$0$be$i20;$77 = $$pre$i22;$i$04$i14 = $84; - } - $88 = ($i$0$lcssa$i24|0)<(2); - if (!($88)) { - $89 = (($ar$i) + ($i$0$lcssa$i24<<2)|0); - HEAP32[$89>>2] = $tmp$i26; - if (!($13)) { - $90 = ($i$0$lcssa$i24|0)>(0); - if ($90) { - $$02$us$i32 = $width;$103 = $tmp$i26; - } else { - $91 = HEAP32[$ar$i>>2]|0; - _memcpy(($tmp$i26|0),($91|0),($15|0))|0; - if ($16) { - break; - } else { - $$02$i3469 = $width;$105 = $15; - } - while(1) { - $104 = (($$02$i3469) - ($105))|0; - $106 = ($104>>>0)>(256); - $107 = $106 ? 256 : $104; - _memcpy(($tmp$i26|0),($91|0),($107|0))|0; - $108 = ($104|0)==($107|0); - if ($108) { - break L39; - } else { - $$02$i3469 = $104;$105 = $107; - } - } - } - while(1) { - $101 = ($$02$us$i32>>>0)>(256); - $93 = $101 ? 256 : $$02$us$i32; - $102 = HEAP32[$ar$i>>2]|0; - _memcpy(($103|0),($102|0),($93|0))|0; - $99 = $102;$i$01$us$i30 = 0; - while(1) { - $95 = (($ar$i) + ($i$01$us$i30<<2)|0); - $96 = (($i$01$us$i30) + 1)|0; - $97 = (($ar$i) + ($96<<2)|0); - $98 = HEAP32[$97>>2]|0; - _memcpy(($99|0),($98|0),($93|0))|0; - $100 = (($99) + ($93)|0); - HEAP32[$95>>2] = $100; - $exitcond$i31 = ($96|0)==($i$0$lcssa$i24|0); - if ($exitcond$i31) { - break; - } else { - $99 = $98;$i$01$us$i30 = $96; - } - } - $92 = ($$02$us$i32|0)==($93|0); - if ($92) { - break L39; - } - $94 = (($$02$us$i32) - ($93))|0; - $$pre$i28 = HEAP32[$89>>2]|0; - $$02$us$i32 = $94;$103 = $$pre$i28; - } - } - } - } - } else { - _trinkle($head$077,$width,$cmp,$19,$61,$pshift$078,0,$lp); - } - } while(0); - $109 = ($pshift$078|0)==(1); - if ($109) { - $110 = $61 << 1; - $111 = $19 >>> 31; - $112 = $111 | $110; - $113 = $19 << 1; - $122 = $113;$182 = $112;$pshift$1 = 0; - break; - } else { - $114 = ($65>>>0)>(31); - $115 = (($pshift$078) + -33)|0; - $$ = $114 ? 0 : $19; - $$66 = $114 ? $19 : $61; - $$67 = $114 ? $115 : $65; - $116 = $$66 << $$67; - $117 = (32 - ($$67))|0; - $118 = $$ >>> $117; - $119 = $118 | $116; - $120 = $$ << $$67; - $122 = $120;$182 = $119;$pshift$1 = 1; - break; - } - } - } while(0); - $121 = $122 | 1; - $123 = (($head$077) + ($width)|0); - $124 = ($123>>>0)<($11>>>0); - if ($124) { - $19 = $121;$61 = $182;$head$077 = $123;$pshift$078 = $pshift$1; - } else { - $$lcssa75 = $182;$$lcssa76 = $121;$head$0$lcssa = $123;$pshift$0$lcssa = $pshift$1; - break; - } - } - } else { - $$lcssa75 = 0;$$lcssa76 = 1;$head$0$lcssa = $base;$pshift$0$lcssa = 1; - } - _trinkle($head$0$lcssa,$width,$cmp,$$lcssa76,$$lcssa75,$pshift$0$lcssa,0,$lp); - $127 = $$lcssa76;$129 = $$lcssa75;$head$1 = $head$0$lcssa;$pshift$2 = $pshift$0$lcssa; - while(1) { - $125 = ($pshift$2|0)==(1); - if ($125) { - $126 = ($127|0)==(1); - if ($126) { - $128 = ($129|0)==(0); - if ($128) { - break; - } else { - label = 52; - } - } - } else { - label = 52; - } - if ((label|0) == 52) { - label = 0; - $130 = ($pshift$2|0)<(2); - if (!($130)) { - $162 = $129 << 2; - $163 = $127 >>> 30; - $164 = $163 | $162; - $165 = (($pshift$2) + -2)|0; - $166 = $127 << 1; - $167 = $166 & 2147483646; - $168 = $163 << 31; - $169 = $167 | $168; - $170 = $169 ^ 3; - $171 = $164 >>> 1; - $172 = (($lp) + ($165<<2)|0); - $173 = HEAP32[$172>>2]|0; - $sum = (($173) + ($width))|0; - $$sum2 = (0 - ($sum))|0; - $174 = (($head$1) + ($$sum2)|0); - $175 = (($pshift$2) + -1)|0; - _trinkle($174,$width,$cmp,$170,$171,$175,1,$lp); - $176 = $171 << 1; - $177 = $163 & 1; - $178 = $176 | $177; - $179 = $170 << 1; - $180 = $179 | 1; - $181 = (($head$1) + ($10)|0); - _trinkle($181,$width,$cmp,$180,$178,$165,1,$lp); - $127 = $180;$129 = $178;$head$1 = $181;$pshift$2 = $165; - continue; - } - } - $131 = (($127) + -1)|0; - $132 = ($131|0)==(0); - if ($132) { - $152 = 32; - label = 62; - } else { - $133 = $131 & 1; - $134 = ($133|0)==(0); - if ($134) { - $$02$i$i = $131;$nTrailingZeros$03$i$i = 0; - while(1) { - $135 = (($nTrailingZeros$03$i$i) + 1)|0; - $136 = $$02$i$i >>> 1; - $137 = $136 & 1; - $138 = ($137|0)==(0); - if ($138) { - $$02$i$i = $136;$nTrailingZeros$03$i$i = $135; - } else { - break; - } - } - $139 = ($135|0)==(0); - if ($139) { - label = 57; - } else { - $150 = $135; - } - } else { - label = 57; - } - if ((label|0) == 57) { - label = 0; - $140 = ($129|0)==(0); - if ($140) { - $$01$i5$i = 32; - } else { - $141 = $129 & 1; - $142 = ($141|0)==(0); - if ($142) { - $$02$i3$i = $129;$nTrailingZeros$03$i2$i = 0; - while(1) { - $143 = (($nTrailingZeros$03$i2$i) + 1)|0; - $144 = $$02$i3$i >>> 1; - $145 = $144 & 1; - $146 = ($145|0)==(0); - if ($146) { - $$02$i3$i = $144;$nTrailingZeros$03$i2$i = $143; - } else { - $$01$i5$i = $143; - break; - } - } - } else { - $$01$i5$i = 0; - } - } - $147 = (($$01$i5$i) + 32)|0; - $148 = ($$01$i5$i|0)==(0); - $$$i = $148 ? 0 : $147; - $150 = $$$i; - } - $149 = ($150>>>0)>(31); - if ($149) { - $152 = $150; - label = 62; - } else { - $$0$i50 = $150;$154 = $127;$157 = $129;$161 = $150; - } - } - if ((label|0) == 62) { - label = 0; - $151 = (($152) + -32)|0; - $$0$i50 = $151;$154 = $129;$157 = 0;$161 = $152; - } - $153 = $154 >>> $$0$i50; - $155 = (32 - ($$0$i50))|0; - $156 = $157 << $155; - $158 = $156 | $153; - $159 = $157 >>> $$0$i50; - $160 = (($161) + ($pshift$2))|0; - $$pre = (($head$1) + ($10)|0); - $127 = $158;$129 = $159;$head$1 = $$pre;$pshift$2 = $160; - } - STACKTOP = sp;return; -} -function _trinkle($head,$width,$cmp,$pp$val,$pp$1$val,$pshift,$trusty,$lp) { - $head = $head|0; - $width = $width|0; - $cmp = $cmp|0; - $pp$val = $pp$val|0; - $pp$1$val = $pp$1$val|0; - $pshift = $pshift|0; - $trusty = $trusty|0; - $lp = $lp|0; - var $$$i = 0, $$0$be$i = 0, $$0$i = 0, $$0$lcssa = 0, $$0$lcssa26 = 0, $$01$be$i = 0, $$01$i5$i = 0, $$01$lcssa = 0, $$01$lcssa28 = 0, $$0110 = 0, $$012 = 0, $$012$i = 0, $$02$i$i = 0, $$02$i146 = 0, $$02$i3 = 0, $$02$i3$i = 0, $$02$lcssa = 0, $$02$us$i = 0, $$02$us$i12 = 0, $$029 = 0; - var $$03$i = 0, $$pre = 0, $$pre$i = 0, $$pre$i3 = 0, $$pre$i8 = 0, $$sum = 0, $$sum$i = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0; - var $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $13 = 0; - var $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0; - var $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0; - var $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0; - var $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0; - var $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $ar = 0, $ar$i = 0, $exitcond$i = 0, $exitcond$i11 = 0, $i$0$lcssa = 0, $i$0$lcssa$i = 0; - var $i$0$lcssa27 = 0, $i$01$us$i = 0, $i$01$us$i10 = 0, $i$011 = 0, $i$04$i = 0, $nTrailingZeros$03$i$i = 0, $nTrailingZeros$03$i2$i = 0, $or$cond = 0, $or$cond1 = 0, $or$cond18 = 0, $sum = 0, $sum$i = 0, $tmp$i6 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 720|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); - $tmp$i6 = sp + 456|0; - $ar$i = sp; - $ar = sp + 228|0; - HEAP32[$ar>>2] = $head; - $0 = (0 - ($width))|0; - $1 = ($pp$val|0)==(1); - $2 = ($pp$1$val|0)==(0); - $or$cond18 = $1 & $2; - L1: do { - if ($or$cond18) { - $$0$lcssa = $head;$$01$lcssa = $pshift;$$02$lcssa = $trusty;$i$0$lcssa = 1; - label = 18; - } else { - $$0110 = $pshift;$$012 = $head;$$029 = $trusty;$24 = $pp$val;$34 = $pp$1$val;$7 = $head;$i$011 = 1; - while(1) { - $3 = (($lp) + ($$0110<<2)|0); - $4 = HEAP32[$3>>2]|0; - $5 = (0 - ($4))|0; - $6 = (($$012) + ($5)|0); - $8 = (FUNCTION_TABLE_iii[$cmp & 3]($6,$7)|0); - $9 = ($8|0)<(1); - if ($9) { - $$0$lcssa = $$012;$$01$lcssa = $$0110;$$02$lcssa = $$029;$i$0$lcssa = $i$011; - label = 18; - break L1; - } - $10 = ($$029|0)==(0); - $11 = ($$0110|0)>(1); - $or$cond = $10 & $11; - if ($or$cond) { - $12 = (($$012) + ($0)|0); - $13 = (($$0110) + -2)|0; - $14 = (($lp) + ($13<<2)|0); - $15 = HEAP32[$14>>2]|0; - $16 = (FUNCTION_TABLE_iii[$cmp & 3]($12,$6)|0); - $17 = ($16|0)>(-1); - if ($17) { - $$0$lcssa26 = $$012;$$01$lcssa28 = $$0110;$i$0$lcssa27 = $i$011; - break L1; - } - $sum = (($15) + ($width))|0; - $$sum = (0 - ($sum))|0; - $18 = (($$012) + ($$sum)|0); - $19 = (FUNCTION_TABLE_iii[$cmp & 3]($18,$6)|0); - $20 = ($19|0)>(-1); - if ($20) { - $$0$lcssa26 = $$012;$$01$lcssa28 = $$0110;$i$0$lcssa27 = $i$011; - break L1; - } - } - $21 = (($i$011) + 1)|0; - $22 = (($ar) + ($i$011<<2)|0); - HEAP32[$22>>2] = $6; - $23 = (($24) + -1)|0; - $25 = ($23|0)==(0); - if ($25) { - $46 = 32; - label = 15; - } else { - $26 = $23 & 1; - $27 = ($26|0)==(0); - if ($27) { - $$02$i$i = $23;$nTrailingZeros$03$i$i = 0; - while(1) { - $28 = (($nTrailingZeros$03$i$i) + 1)|0; - $29 = $$02$i$i >>> 1; - $30 = $29 & 1; - $31 = ($30|0)==(0); - if ($31) { - $$02$i$i = $29;$nTrailingZeros$03$i$i = $28; - } else { - break; - } - } - $32 = ($28|0)==(0); - if ($32) { - label = 10; - } else { - $44 = $28; - } - } else { - label = 10; - } - if ((label|0) == 10) { - label = 0; - $33 = ($34|0)==(0); - if ($33) { - $$01$i5$i = 32; - } else { - $35 = $34 & 1; - $36 = ($35|0)==(0); - if ($36) { - $$02$i3$i = $34;$nTrailingZeros$03$i2$i = 0; - while(1) { - $37 = (($nTrailingZeros$03$i2$i) + 1)|0; - $38 = $$02$i3$i >>> 1; - $39 = $38 & 1; - $40 = ($39|0)==(0); - if ($40) { - $$02$i3$i = $38;$nTrailingZeros$03$i2$i = $37; - } else { - $$01$i5$i = $37; - break; - } - } - } else { - $$01$i5$i = 0; - } - } - $41 = (($$01$i5$i) + 32)|0; - $42 = ($$01$i5$i|0)==(0); - $$$i = $42 ? 0 : $41; - $44 = $$$i; - } - $43 = ($44>>>0)>(31); - if ($43) { - $46 = $44; - label = 15; - } else { - $$0$i = $44;$48 = $24;$51 = $34;$55 = $44; - } - } - if ((label|0) == 15) { - label = 0; - $45 = (($46) + -32)|0; - $$0$i = $45;$48 = $34;$51 = 0;$55 = $46; - } - $47 = $48 >>> $$0$i; - $49 = (32 - ($$0$i))|0; - $50 = $51 << $49; - $52 = $50 | $47; - $53 = $51 >>> $$0$i; - $54 = (($55) + ($$0110))|0; - $56 = ($52|0)==(1); - $57 = ($53|0)==(0); - $or$cond1 = $56 & $57; - if ($or$cond1) { - $$0$lcssa26 = $6;$$01$lcssa28 = $54;$i$0$lcssa27 = $21; - break L1; - } - $$pre = HEAP32[$ar>>2]|0; - $$0110 = $54;$$012 = $6;$$029 = 0;$24 = $52;$34 = $53;$7 = $$pre;$i$011 = $21; - } - } - } while(0); - if ((label|0) == 18) { - $58 = ($$02$lcssa|0)==(0); - if ($58) { - $$0$lcssa26 = $$0$lcssa;$$01$lcssa28 = $$01$lcssa;$i$0$lcssa27 = $i$0$lcssa; - } else { - STACKTOP = sp;return; - } - } - $59 = ($i$0$lcssa27|0)<(2); - L31: do { - if (!($59)) { - $60 = (($ar) + ($i$0$lcssa27<<2)|0); - HEAP32[$60>>2] = $tmp$i6; - $61 = ($width|0)==(0); - if (!($61)) { - $62 = ($i$0$lcssa27|0)>(0); - if ($62) { - $$02$us$i12 = $width;$78 = $tmp$i6; - } else { - $63 = ($width>>>0)>(256); - $64 = $63 ? 256 : $width; - $65 = HEAP32[$ar>>2]|0; - _memcpy(($tmp$i6|0),($65|0),($64|0))|0; - $66 = ($64|0)==($width|0); - if ($66) { - break; - } else { - $$02$i146 = $width;$80 = $64; - } - while(1) { - $79 = (($$02$i146) - ($80))|0; - $81 = ($79>>>0)>(256); - $82 = $81 ? 256 : $79; - _memcpy(($tmp$i6|0),($65|0),($82|0))|0; - $83 = ($79|0)==($82|0); - if ($83) { - break L31; - } else { - $$02$i146 = $79;$80 = $82; - } - } - } - while(1) { - $76 = ($$02$us$i12>>>0)>(256); - $68 = $76 ? 256 : $$02$us$i12; - $77 = HEAP32[$ar>>2]|0; - _memcpy(($78|0),($77|0),($68|0))|0; - $74 = $77;$i$01$us$i10 = 0; - while(1) { - $70 = (($ar) + ($i$01$us$i10<<2)|0); - $71 = (($i$01$us$i10) + 1)|0; - $72 = (($ar) + ($71<<2)|0); - $73 = HEAP32[$72>>2]|0; - _memcpy(($74|0),($73|0),($68|0))|0; - $75 = (($74) + ($68)|0); - HEAP32[$70>>2] = $75; - $exitcond$i11 = ($71|0)==($i$0$lcssa27|0); - if ($exitcond$i11) { - break; - } else { - $74 = $73;$i$01$us$i10 = $71; - } - } - $67 = ($$02$us$i12|0)==($68|0); - if ($67) { - break L31; - } - $69 = (($$02$us$i12) - ($68))|0; - $$pre$i8 = HEAP32[$60>>2]|0; - $$02$us$i12 = $69;$78 = $$pre$i8; - } - } - } - } while(0); - HEAP32[$ar$i>>2] = $$0$lcssa26; - $84 = ($$01$lcssa28|0)>(1); - L45: do { - if ($84) { - $$012$i = $$01$lcssa28;$$03$i = $$0$lcssa26;$90 = $$0$lcssa26;$i$04$i = 1; - while(1) { - $85 = (($$03$i) + ($0)|0); - $86 = (($$012$i) + -2)|0; - $87 = (($lp) + ($86<<2)|0); - $88 = HEAP32[$87>>2]|0; - $sum$i = (($88) + ($width))|0; - $$sum$i = (0 - ($sum$i))|0; - $89 = (($$03$i) + ($$sum$i)|0); - $91 = (FUNCTION_TABLE_iii[$cmp & 3]($90,$89)|0); - $92 = ($91|0)>(-1); - if ($92) { - $93 = (FUNCTION_TABLE_iii[$cmp & 3]($90,$85)|0); - $94 = ($93|0)>(-1); - if ($94) { - $i$0$lcssa$i = $i$04$i; - break; - } - } - $95 = (FUNCTION_TABLE_iii[$cmp & 3]($89,$85)|0); - $96 = ($95|0)>(-1); - $97 = (($i$04$i) + 1)|0; - $98 = (($ar$i) + ($i$04$i<<2)|0); - if ($96) { - HEAP32[$98>>2] = $89; - $99 = (($$012$i) + -1)|0; - $$0$be$i = $89;$$01$be$i = $99; - } else { - HEAP32[$98>>2] = $85; - $$0$be$i = $85;$$01$be$i = $86; - } - $100 = ($$01$be$i|0)>(1); - if (!($100)) { - $i$0$lcssa$i = $97; - break; - } - $$pre$i = HEAP32[$ar$i>>2]|0; - $$012$i = $$01$be$i;$$03$i = $$0$be$i;$90 = $$pre$i;$i$04$i = $97; - } - $101 = ($i$0$lcssa$i|0)<(2); - if ($101) { - $126 = $tmp$i6; - } else { - $102 = (($ar$i) + ($i$0$lcssa$i<<2)|0); - HEAP32[$102>>2] = $tmp$i6; - $103 = ($width|0)==(0); - if ($103) { - $126 = $tmp$i6; - } else { - $104 = ($i$0$lcssa$i|0)>(0); - if ($104) { - $$02$us$i = $width;$120 = $tmp$i6; - } else { - $105 = ($width>>>0)>(256); - $106 = $105 ? 256 : $width; - $107 = HEAP32[$ar$i>>2]|0; - _memcpy(($tmp$i6|0),($107|0),($106|0))|0; - $108 = ($106|0)==($width|0); - if ($108) { - $126 = $tmp$i6; - break; - } else { - $$02$i3 = $width;$122 = $106; - } - while(1) { - $121 = (($$02$i3) - ($122))|0; - $123 = ($121>>>0)>(256); - $124 = $123 ? 256 : $121; - _memcpy(($tmp$i6|0),($107|0),($124|0))|0; - $125 = ($121|0)==($124|0); - if ($125) { - $126 = $tmp$i6; - break L45; - } else { - $$02$i3 = $121;$122 = $124; - } - } - } - while(1) { - $118 = ($$02$us$i>>>0)>(256); - $110 = $118 ? 256 : $$02$us$i; - $119 = HEAP32[$ar$i>>2]|0; - _memcpy(($120|0),($119|0),($110|0))|0; - $116 = $119;$i$01$us$i = 0; - while(1) { - $112 = (($ar$i) + ($i$01$us$i<<2)|0); - $113 = (($i$01$us$i) + 1)|0; - $114 = (($ar$i) + ($113<<2)|0); - $115 = HEAP32[$114>>2]|0; - _memcpy(($116|0),($115|0),($110|0))|0; - $117 = (($116) + ($110)|0); - HEAP32[$112>>2] = $117; - $exitcond$i = ($113|0)==($i$0$lcssa$i|0); - if ($exitcond$i) { - break; - } else { - $116 = $115;$i$01$us$i = $113; - } - } - $109 = ($$02$us$i|0)==($110|0); - if ($109) { - $126 = $tmp$i6; - break L45; - } - $111 = (($$02$us$i) - ($110))|0; - $$pre$i3 = HEAP32[$102>>2]|0; - $$02$us$i = $111;$120 = $$pre$i3; - } - } - } - } else { - $126 = $tmp$i6; - } - } while(0); - STACKTOP = sp;return; -} -function ___memrchr($m,$c,$n) { - $m = $m|0; - $c = $c|0; - $n = $n|0; - var $$0 = 0, $$01 = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = $c&255; - $$01 = $n; - while(1) { - $1 = (($$01) + -1)|0; - $2 = ($$01|0)==(0); - if ($2) { - $$0 = 0; - label = 4; - break; - } - $3 = (($m) + ($1)|0); - $4 = HEAP8[$3>>0]|0; - $5 = ($4<<24>>24)==($0<<24>>24); - if ($5) { - $$0 = $3; - label = 4; - break; - } else { - $$01 = $1; - } - } - if ((label|0) == 4) { - STACKTOP = sp;return ($$0|0); - } - return 0|0; -} -function _strrchr($s,$c) { - $s = $s|0; - $c = $c|0; - var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_strlen(($s|0))|0); - $1 = (($0) + 1)|0; - $2 = (___memrchr($s,$c,$1)|0); - STACKTOP = sp;return ($2|0); -} -function _malloc($bytes) { - $bytes = $bytes|0; - var $$$i = 0, $$3$i = 0, $$4$i = 0, $$pre = 0, $$pre$i = 0, $$pre$i$i = 0, $$pre$i25 = 0, $$pre$i25$i = 0, $$pre$phi$i$iZ2D = 0, $$pre$phi$i26$iZ2D = 0, $$pre$phi$i26Z2D = 0, $$pre$phi$iZ2D = 0, $$pre$phi58$i$iZ2D = 0, $$pre$phiZ2D = 0, $$pre57$i$i = 0, $$rsize$0$i = 0, $$rsize$3$i = 0, $$sum = 0, $$sum$i$i = 0, $$sum$i$i$i = 0; - var $$sum$i14$i = 0, $$sum$i15$i = 0, $$sum$i18$i = 0, $$sum$i21$i = 0, $$sum$i2334 = 0, $$sum$i32 = 0, $$sum$i35 = 0, $$sum1 = 0, $$sum1$i = 0, $$sum1$i$i = 0, $$sum1$i16$i = 0, $$sum1$i22$i = 0, $$sum1$i24 = 0, $$sum10 = 0, $$sum10$i = 0, $$sum10$i$i = 0, $$sum10$pre$i$i = 0, $$sum107$i = 0, $$sum108$i = 0, $$sum109$i = 0; - var $$sum11$i = 0, $$sum11$i$i = 0, $$sum11$i24$i = 0, $$sum110$i = 0, $$sum111$i = 0, $$sum1112 = 0, $$sum112$i = 0, $$sum113$i = 0, $$sum114$i = 0, $$sum115$i = 0, $$sum116$i = 0, $$sum117$i = 0, $$sum118$i = 0, $$sum119$i = 0, $$sum12$i = 0, $$sum12$i$i = 0, $$sum120$i = 0, $$sum13$i = 0, $$sum13$i$i = 0, $$sum14$i$i = 0; - var $$sum14$pre$i = 0, $$sum15$i = 0, $$sum15$i$i = 0, $$sum16$i = 0, $$sum16$i$i = 0, $$sum17$i = 0, $$sum17$i$i = 0, $$sum18$i = 0, $$sum1819$i$i = 0, $$sum2 = 0, $$sum2$i = 0, $$sum2$i$i = 0, $$sum2$i$i$i = 0, $$sum2$i17$i = 0, $$sum2$i19$i = 0, $$sum2$i23$i = 0, $$sum2$pre$i = 0, $$sum20$i$i = 0, $$sum21$i$i = 0, $$sum22$i$i = 0; - var $$sum23$i$i = 0, $$sum24$i$i = 0, $$sum25$i$i = 0, $$sum26$pre$i$i = 0, $$sum27$i$i = 0, $$sum28$i$i = 0, $$sum29$i$i = 0, $$sum3$i = 0, $$sum3$i$i = 0, $$sum3$i27 = 0, $$sum30$i$i = 0, $$sum3132$i$i = 0, $$sum34$i$i = 0, $$sum3536$i$i = 0, $$sum3738$i$i = 0, $$sum39$i$i = 0, $$sum4 = 0, $$sum4$i = 0, $$sum4$i28 = 0, $$sum40$i$i = 0; - var $$sum41$i$i = 0, $$sum42$i$i = 0, $$sum5$i = 0, $$sum5$i$i = 0, $$sum56 = 0, $$sum6$i = 0, $$sum67$i$i = 0, $$sum7$i = 0, $$sum8$i = 0, $$sum8$pre = 0, $$sum9 = 0, $$sum9$i = 0, $$sum9$i$i = 0, $$tsize$1$i = 0, $$v$0$i = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $1000 = 0; - var $1001 = 0, $1002 = 0, $1003 = 0, $1004 = 0, $1005 = 0, $1006 = 0, $1007 = 0, $1008 = 0, $1009 = 0, $101 = 0, $1010 = 0, $1011 = 0, $1012 = 0, $1013 = 0, $1014 = 0, $1015 = 0, $1016 = 0, $1017 = 0, $1018 = 0, $1019 = 0; - var $102 = 0, $1020 = 0, $1021 = 0, $1022 = 0, $1023 = 0, $1024 = 0, $1025 = 0, $1026 = 0, $1027 = 0, $1028 = 0, $1029 = 0, $103 = 0, $1030 = 0, $1031 = 0, $1032 = 0, $1033 = 0, $1034 = 0, $1035 = 0, $1036 = 0, $1037 = 0; - var $1038 = 0, $1039 = 0, $104 = 0, $1040 = 0, $1041 = 0, $1042 = 0, $1043 = 0, $1044 = 0, $1045 = 0, $1046 = 0, $1047 = 0, $1048 = 0, $1049 = 0, $105 = 0, $1050 = 0, $1051 = 0, $1052 = 0, $1053 = 0, $1054 = 0, $1055 = 0; - var $1056 = 0, $1057 = 0, $1058 = 0, $1059 = 0, $106 = 0, $1060 = 0, $1061 = 0, $1062 = 0, $1063 = 0, $1064 = 0, $1065 = 0, $1066 = 0, $1067 = 0, $1068 = 0, $1069 = 0, $107 = 0, $1070 = 0, $1071 = 0, $1072 = 0, $1073 = 0; - var $1074 = 0, $1075 = 0, $1076 = 0, $1077 = 0, $1078 = 0, $1079 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0; - var $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0; - var $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0; - var $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0; - var $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0; - var $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0; - var $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0; - var $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0; - var $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0; - var $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0; - var $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0; - var $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0; - var $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0; - var $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0; - var $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0; - var $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0; - var $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0; - var $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0; - var $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0; - var $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0; - var $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0; - var $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0; - var $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0; - var $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0, $531 = 0, $532 = 0, $533 = 0, $534 = 0; - var $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0, $549 = 0, $55 = 0, $550 = 0, $551 = 0, $552 = 0; - var $553 = 0, $554 = 0, $555 = 0, $556 = 0, $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0, $562 = 0, $563 = 0, $564 = 0, $565 = 0, $566 = 0, $567 = 0, $568 = 0, $569 = 0, $57 = 0, $570 = 0; - var $571 = 0, $572 = 0, $573 = 0, $574 = 0, $575 = 0, $576 = 0, $577 = 0, $578 = 0, $579 = 0, $58 = 0, $580 = 0, $581 = 0, $582 = 0, $583 = 0, $584 = 0, $585 = 0, $586 = 0, $587 = 0, $588 = 0, $589 = 0; - var $59 = 0, $590 = 0, $591 = 0, $592 = 0, $593 = 0, $594 = 0, $595 = 0, $596 = 0, $597 = 0, $598 = 0, $599 = 0, $6 = 0, $60 = 0, $600 = 0, $601 = 0, $602 = 0, $603 = 0, $604 = 0, $605 = 0, $606 = 0; - var $607 = 0, $608 = 0, $609 = 0, $61 = 0, $610 = 0, $611 = 0, $612 = 0, $613 = 0, $614 = 0, $615 = 0, $616 = 0, $617 = 0, $618 = 0, $619 = 0, $62 = 0, $620 = 0, $621 = 0, $622 = 0, $623 = 0, $624 = 0; - var $625 = 0, $626 = 0, $627 = 0, $628 = 0, $629 = 0, $63 = 0, $630 = 0, $631 = 0, $632 = 0, $633 = 0, $634 = 0, $635 = 0, $636 = 0, $637 = 0, $638 = 0, $639 = 0, $64 = 0, $640 = 0, $641 = 0, $642 = 0; - var $643 = 0, $644 = 0, $645 = 0, $646 = 0, $647 = 0, $648 = 0, $649 = 0, $65 = 0, $650 = 0, $651 = 0, $652 = 0, $653 = 0, $654 = 0, $655 = 0, $656 = 0, $657 = 0, $658 = 0, $659 = 0, $66 = 0, $660 = 0; - var $661 = 0, $662 = 0, $663 = 0, $664 = 0, $665 = 0, $666 = 0, $667 = 0, $668 = 0, $669 = 0, $67 = 0, $670 = 0, $671 = 0, $672 = 0, $673 = 0, $674 = 0, $675 = 0, $676 = 0, $677 = 0, $678 = 0, $679 = 0; - var $68 = 0, $680 = 0, $681 = 0, $682 = 0, $683 = 0, $684 = 0, $685 = 0, $686 = 0, $687 = 0, $688 = 0, $689 = 0, $69 = 0, $690 = 0, $691 = 0, $692 = 0, $693 = 0, $694 = 0, $695 = 0, $696 = 0, $697 = 0; - var $698 = 0, $699 = 0, $7 = 0, $70 = 0, $700 = 0, $701 = 0, $702 = 0, $703 = 0, $704 = 0, $705 = 0, $706 = 0, $707 = 0, $708 = 0, $709 = 0, $71 = 0, $710 = 0, $711 = 0, $712 = 0, $713 = 0, $714 = 0; - var $715 = 0, $716 = 0, $717 = 0, $718 = 0, $719 = 0, $72 = 0, $720 = 0, $721 = 0, $722 = 0, $723 = 0, $724 = 0, $725 = 0, $726 = 0, $727 = 0, $728 = 0, $729 = 0, $73 = 0, $730 = 0, $731 = 0, $732 = 0; - var $733 = 0, $734 = 0, $735 = 0, $736 = 0, $737 = 0, $738 = 0, $739 = 0, $74 = 0, $740 = 0, $741 = 0, $742 = 0, $743 = 0, $744 = 0, $745 = 0, $746 = 0, $747 = 0, $748 = 0, $749 = 0, $75 = 0, $750 = 0; - var $751 = 0, $752 = 0, $753 = 0, $754 = 0, $755 = 0, $756 = 0, $757 = 0, $758 = 0, $759 = 0, $76 = 0, $760 = 0, $761 = 0, $762 = 0, $763 = 0, $764 = 0, $765 = 0, $766 = 0, $767 = 0, $768 = 0, $769 = 0; - var $77 = 0, $770 = 0, $771 = 0, $772 = 0, $773 = 0, $774 = 0, $775 = 0, $776 = 0, $777 = 0, $778 = 0, $779 = 0, $78 = 0, $780 = 0, $781 = 0, $782 = 0, $783 = 0, $784 = 0, $785 = 0, $786 = 0, $787 = 0; - var $788 = 0, $789 = 0, $79 = 0, $790 = 0, $791 = 0, $792 = 0, $793 = 0, $794 = 0, $795 = 0, $796 = 0, $797 = 0, $798 = 0, $799 = 0, $8 = 0, $80 = 0, $800 = 0, $801 = 0, $802 = 0, $803 = 0, $804 = 0; - var $805 = 0, $806 = 0, $807 = 0, $808 = 0, $809 = 0, $81 = 0, $810 = 0, $811 = 0, $812 = 0, $813 = 0, $814 = 0, $815 = 0, $816 = 0, $817 = 0, $818 = 0, $819 = 0, $82 = 0, $820 = 0, $821 = 0, $822 = 0; - var $823 = 0, $824 = 0, $825 = 0, $826 = 0, $827 = 0, $828 = 0, $829 = 0, $83 = 0, $830 = 0, $831 = 0, $832 = 0, $833 = 0, $834 = 0, $835 = 0, $836 = 0, $837 = 0, $838 = 0, $839 = 0, $84 = 0, $840 = 0; - var $841 = 0, $842 = 0, $843 = 0, $844 = 0, $845 = 0, $846 = 0, $847 = 0, $848 = 0, $849 = 0, $85 = 0, $850 = 0, $851 = 0, $852 = 0, $853 = 0, $854 = 0, $855 = 0, $856 = 0, $857 = 0, $858 = 0, $859 = 0; - var $86 = 0, $860 = 0, $861 = 0, $862 = 0, $863 = 0, $864 = 0, $865 = 0, $866 = 0, $867 = 0, $868 = 0, $869 = 0, $87 = 0, $870 = 0, $871 = 0, $872 = 0, $873 = 0, $874 = 0, $875 = 0, $876 = 0, $877 = 0; - var $878 = 0, $879 = 0, $88 = 0, $880 = 0, $881 = 0, $882 = 0, $883 = 0, $884 = 0, $885 = 0, $886 = 0, $887 = 0, $888 = 0, $889 = 0, $89 = 0, $890 = 0, $891 = 0, $892 = 0, $893 = 0, $894 = 0, $895 = 0; - var $896 = 0, $897 = 0, $898 = 0, $899 = 0, $9 = 0, $90 = 0, $900 = 0, $901 = 0, $902 = 0, $903 = 0, $904 = 0, $905 = 0, $906 = 0, $907 = 0, $908 = 0, $909 = 0, $91 = 0, $910 = 0, $911 = 0, $912 = 0; - var $913 = 0, $914 = 0, $915 = 0, $916 = 0, $917 = 0, $918 = 0, $919 = 0, $92 = 0, $920 = 0, $921 = 0, $922 = 0, $923 = 0, $924 = 0, $925 = 0, $926 = 0, $927 = 0, $928 = 0, $929 = 0, $93 = 0, $930 = 0; - var $931 = 0, $932 = 0, $933 = 0, $934 = 0, $935 = 0, $936 = 0, $937 = 0, $938 = 0, $939 = 0, $94 = 0, $940 = 0, $941 = 0, $942 = 0, $943 = 0, $944 = 0, $945 = 0, $946 = 0, $947 = 0, $948 = 0, $949 = 0; - var $95 = 0, $950 = 0, $951 = 0, $952 = 0, $953 = 0, $954 = 0, $955 = 0, $956 = 0, $957 = 0, $958 = 0, $959 = 0, $96 = 0, $960 = 0, $961 = 0, $962 = 0, $963 = 0, $964 = 0, $965 = 0, $966 = 0, $967 = 0; - var $968 = 0, $969 = 0, $97 = 0, $970 = 0, $971 = 0, $972 = 0, $973 = 0, $974 = 0, $975 = 0, $976 = 0, $977 = 0, $978 = 0, $979 = 0, $98 = 0, $980 = 0, $981 = 0, $982 = 0, $983 = 0, $984 = 0, $985 = 0; - var $986 = 0, $987 = 0, $988 = 0, $989 = 0, $99 = 0, $990 = 0, $991 = 0, $992 = 0, $993 = 0, $994 = 0, $995 = 0, $996 = 0, $997 = 0, $998 = 0, $999 = 0, $F$0$i$i = 0, $F1$0$i = 0, $F4$0 = 0, $F4$0$i$i = 0, $F5$0$i = 0; - var $I1$0$c$i$i = 0, $I1$0$i$i = 0, $I7$0$i = 0, $I7$0$i$i = 0, $K12$025$i = 0, $K2$014$i$i = 0, $K8$052$i$i = 0, $R$0$i = 0, $R$0$i$i = 0, $R$0$i18 = 0, $R$1$i = 0, $R$1$i$i = 0, $R$1$i20 = 0, $RP$0$i = 0, $RP$0$i$i = 0, $RP$0$i17 = 0, $T$0$lcssa$i = 0, $T$0$lcssa$i$i = 0, $T$0$lcssa$i28$i = 0, $T$013$i$i = 0; - var $T$024$i = 0, $T$051$i$i = 0, $br$0$i = 0, $cond$i = 0, $cond$i$i = 0, $cond$i21 = 0, $exitcond$i$i = 0, $i$02$i$i = 0, $idx$0$i = 0, $mem$0 = 0, $nb$0 = 0, $notlhs$i = 0, $notrhs$i = 0, $oldfirst$0$i$i = 0, $or$cond$i = 0, $or$cond$i29 = 0, $or$cond1$i = 0, $or$cond10$i = 0, $or$cond19$i = 0, $or$cond2$i = 0; - var $or$cond49$i = 0, $or$cond5$i = 0, $or$cond6$i = 0, $or$cond8$not$i = 0, $or$cond9$i = 0, $qsize$0$i$i = 0, $rsize$0$i = 0, $rsize$0$i15 = 0, $rsize$1$i = 0, $rsize$2$i = 0, $rsize$3$lcssa$i = 0, $rsize$329$i = 0, $rst$0$i = 0, $rst$1$i = 0, $sizebits$0$i = 0, $sp$0$i$i = 0, $sp$0$i$i$i = 0, $sp$075$i = 0, $sp$168$i = 0, $ssize$0$$i = 0; - var $ssize$0$i = 0, $ssize$1$i = 0, $ssize$2$i = 0, $t$0$i = 0, $t$0$i14 = 0, $t$1$i = 0, $t$2$ph$i = 0, $t$2$v$3$i = 0, $t$228$i = 0, $tbase$0$i = 0, $tbase$247$i = 0, $tsize$0$i = 0, $tsize$0323841$i = 0, $tsize$1$i = 0, $tsize$246$i = 0, $v$0$i = 0, $v$0$i16 = 0, $v$1$i = 0, $v$2$i = 0, $v$3$lcssa$i = 0; - var $v$330$i = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ($bytes>>>0)<(245); - do { - if ($0) { - $1 = ($bytes>>>0)<(11); - if ($1) { - $5 = 16; - } else { - $2 = (($bytes) + 11)|0; - $3 = $2 & -8; - $5 = $3; - } - $4 = $5 >>> 3; - $6 = HEAP32[20672>>2]|0; - $7 = $6 >>> $4; - $8 = $7 & 3; - $9 = ($8|0)==(0); - if (!($9)) { - $10 = $7 & 1; - $11 = $10 ^ 1; - $12 = (($11) + ($4))|0; - $13 = $12 << 1; - $14 = ((20672 + ($13<<2)|0) + 40|0); - $$sum10 = (($13) + 2)|0; - $15 = ((20672 + ($$sum10<<2)|0) + 40|0); - $16 = HEAP32[$15>>2]|0; - $17 = (($16) + 8|0); - $18 = HEAP32[$17>>2]|0; - $19 = ($14|0)==($18|0); - do { - if ($19) { - $20 = 1 << $12; - $21 = $20 ^ -1; - $22 = $6 & $21; - HEAP32[20672>>2] = $22; - } else { - $23 = HEAP32[((20672 + 16|0))>>2]|0; - $24 = ($18>>>0)<($23>>>0); - if ($24) { - _abort(); - // unreachable; - } - $25 = (($18) + 12|0); - $26 = HEAP32[$25>>2]|0; - $27 = ($26|0)==($16|0); - if ($27) { - HEAP32[$25>>2] = $14; - HEAP32[$15>>2] = $18; - break; - } else { - _abort(); - // unreachable; - } - } - } while(0); - $28 = $12 << 3; - $29 = $28 | 3; - $30 = (($16) + 4|0); - HEAP32[$30>>2] = $29; - $$sum1112 = $28 | 4; - $31 = (($16) + ($$sum1112)|0); - $32 = HEAP32[$31>>2]|0; - $33 = $32 | 1; - HEAP32[$31>>2] = $33; - $mem$0 = $17; - STACKTOP = sp;return ($mem$0|0); - } - $34 = HEAP32[((20672 + 8|0))>>2]|0; - $35 = ($5>>>0)>($34>>>0); - if ($35) { - $36 = ($7|0)==(0); - if (!($36)) { - $37 = $7 << $4; - $38 = 2 << $4; - $39 = (0 - ($38))|0; - $40 = $38 | $39; - $41 = $37 & $40; - $42 = (0 - ($41))|0; - $43 = $41 & $42; - $44 = (($43) + -1)|0; - $45 = $44 >>> 12; - $46 = $45 & 16; - $47 = $44 >>> $46; - $48 = $47 >>> 5; - $49 = $48 & 8; - $50 = $49 | $46; - $51 = $47 >>> $49; - $52 = $51 >>> 2; - $53 = $52 & 4; - $54 = $50 | $53; - $55 = $51 >>> $53; - $56 = $55 >>> 1; - $57 = $56 & 2; - $58 = $54 | $57; - $59 = $55 >>> $57; - $60 = $59 >>> 1; - $61 = $60 & 1; - $62 = $58 | $61; - $63 = $59 >>> $61; - $64 = (($62) + ($63))|0; - $65 = $64 << 1; - $66 = ((20672 + ($65<<2)|0) + 40|0); - $$sum4 = (($65) + 2)|0; - $67 = ((20672 + ($$sum4<<2)|0) + 40|0); - $68 = HEAP32[$67>>2]|0; - $69 = (($68) + 8|0); - $70 = HEAP32[$69>>2]|0; - $71 = ($66|0)==($70|0); - do { - if ($71) { - $72 = 1 << $64; - $73 = $72 ^ -1; - $74 = $6 & $73; - HEAP32[20672>>2] = $74; - } else { - $75 = HEAP32[((20672 + 16|0))>>2]|0; - $76 = ($70>>>0)<($75>>>0); - if ($76) { - _abort(); - // unreachable; - } - $77 = (($70) + 12|0); - $78 = HEAP32[$77>>2]|0; - $79 = ($78|0)==($68|0); - if ($79) { - HEAP32[$77>>2] = $66; - HEAP32[$67>>2] = $70; - break; - } else { - _abort(); - // unreachable; - } - } - } while(0); - $80 = $64 << 3; - $81 = (($80) - ($5))|0; - $82 = $5 | 3; - $83 = (($68) + 4|0); - HEAP32[$83>>2] = $82; - $84 = (($68) + ($5)|0); - $85 = $81 | 1; - $$sum56 = $5 | 4; - $86 = (($68) + ($$sum56)|0); - HEAP32[$86>>2] = $85; - $87 = (($68) + ($80)|0); - HEAP32[$87>>2] = $81; - $88 = HEAP32[((20672 + 8|0))>>2]|0; - $89 = ($88|0)==(0); - if (!($89)) { - $90 = HEAP32[((20672 + 20|0))>>2]|0; - $91 = $88 >>> 3; - $92 = $91 << 1; - $93 = ((20672 + ($92<<2)|0) + 40|0); - $94 = HEAP32[20672>>2]|0; - $95 = 1 << $91; - $96 = $94 & $95; - $97 = ($96|0)==(0); - if ($97) { - $98 = $94 | $95; - HEAP32[20672>>2] = $98; - $$sum8$pre = (($92) + 2)|0; - $$pre = ((20672 + ($$sum8$pre<<2)|0) + 40|0); - $$pre$phiZ2D = $$pre;$F4$0 = $93; - } else { - $$sum9 = (($92) + 2)|0; - $99 = ((20672 + ($$sum9<<2)|0) + 40|0); - $100 = HEAP32[$99>>2]|0; - $101 = HEAP32[((20672 + 16|0))>>2]|0; - $102 = ($100>>>0)<($101>>>0); - if ($102) { - _abort(); - // unreachable; - } else { - $$pre$phiZ2D = $99;$F4$0 = $100; - } - } - HEAP32[$$pre$phiZ2D>>2] = $90; - $103 = (($F4$0) + 12|0); - HEAP32[$103>>2] = $90; - $104 = (($90) + 8|0); - HEAP32[$104>>2] = $F4$0; - $105 = (($90) + 12|0); - HEAP32[$105>>2] = $93; - } - HEAP32[((20672 + 8|0))>>2] = $81; - HEAP32[((20672 + 20|0))>>2] = $84; - $mem$0 = $69; - STACKTOP = sp;return ($mem$0|0); - } - $106 = HEAP32[((20672 + 4|0))>>2]|0; - $107 = ($106|0)==(0); - if ($107) { - $nb$0 = $5; - } else { - $108 = (0 - ($106))|0; - $109 = $106 & $108; - $110 = (($109) + -1)|0; - $111 = $110 >>> 12; - $112 = $111 & 16; - $113 = $110 >>> $112; - $114 = $113 >>> 5; - $115 = $114 & 8; - $116 = $115 | $112; - $117 = $113 >>> $115; - $118 = $117 >>> 2; - $119 = $118 & 4; - $120 = $116 | $119; - $121 = $117 >>> $119; - $122 = $121 >>> 1; - $123 = $122 & 2; - $124 = $120 | $123; - $125 = $121 >>> $123; - $126 = $125 >>> 1; - $127 = $126 & 1; - $128 = $124 | $127; - $129 = $125 >>> $127; - $130 = (($128) + ($129))|0; - $131 = ((20672 + ($130<<2)|0) + 304|0); - $132 = HEAP32[$131>>2]|0; - $133 = (($132) + 4|0); - $134 = HEAP32[$133>>2]|0; - $135 = $134 & -8; - $136 = (($135) - ($5))|0; - $rsize$0$i = $136;$t$0$i = $132;$v$0$i = $132; - while(1) { - $137 = (($t$0$i) + 16|0); - $138 = HEAP32[$137>>2]|0; - $139 = ($138|0)==(0|0); - if ($139) { - $140 = (($t$0$i) + 20|0); - $141 = HEAP32[$140>>2]|0; - $142 = ($141|0)==(0|0); - if ($142) { - break; - } else { - $144 = $141; - } - } else { - $144 = $138; - } - $143 = (($144) + 4|0); - $145 = HEAP32[$143>>2]|0; - $146 = $145 & -8; - $147 = (($146) - ($5))|0; - $148 = ($147>>>0)<($rsize$0$i>>>0); - $$rsize$0$i = $148 ? $147 : $rsize$0$i; - $$v$0$i = $148 ? $144 : $v$0$i; - $rsize$0$i = $$rsize$0$i;$t$0$i = $144;$v$0$i = $$v$0$i; - } - $149 = HEAP32[((20672 + 16|0))>>2]|0; - $150 = ($v$0$i>>>0)<($149>>>0); - if ($150) { - _abort(); - // unreachable; - } - $151 = (($v$0$i) + ($5)|0); - $152 = ($v$0$i>>>0)<($151>>>0); - if (!($152)) { - _abort(); - // unreachable; - } - $153 = (($v$0$i) + 24|0); - $154 = HEAP32[$153>>2]|0; - $155 = (($v$0$i) + 12|0); - $156 = HEAP32[$155>>2]|0; - $157 = ($156|0)==($v$0$i|0); - do { - if ($157) { - $167 = (($v$0$i) + 20|0); - $168 = HEAP32[$167>>2]|0; - $169 = ($168|0)==(0|0); - if ($169) { - $170 = (($v$0$i) + 16|0); - $171 = HEAP32[$170>>2]|0; - $172 = ($171|0)==(0|0); - if ($172) { - $R$1$i = 0; - break; - } else { - $R$0$i = $171;$RP$0$i = $170; - } - } else { - $R$0$i = $168;$RP$0$i = $167; - } - while(1) { - $173 = (($R$0$i) + 20|0); - $174 = HEAP32[$173>>2]|0; - $175 = ($174|0)==(0|0); - if (!($175)) { - $R$0$i = $174;$RP$0$i = $173; - continue; - } - $176 = (($R$0$i) + 16|0); - $177 = HEAP32[$176>>2]|0; - $178 = ($177|0)==(0|0); - if ($178) { - break; - } else { - $R$0$i = $177;$RP$0$i = $176; - } - } - $179 = ($RP$0$i>>>0)<($149>>>0); - if ($179) { - _abort(); - // unreachable; - } else { - HEAP32[$RP$0$i>>2] = 0; - $R$1$i = $R$0$i; - break; - } - } else { - $158 = (($v$0$i) + 8|0); - $159 = HEAP32[$158>>2]|0; - $160 = ($159>>>0)<($149>>>0); - if ($160) { - _abort(); - // unreachable; - } - $161 = (($159) + 12|0); - $162 = HEAP32[$161>>2]|0; - $163 = ($162|0)==($v$0$i|0); - if (!($163)) { - _abort(); - // unreachable; - } - $164 = (($156) + 8|0); - $165 = HEAP32[$164>>2]|0; - $166 = ($165|0)==($v$0$i|0); - if ($166) { - HEAP32[$161>>2] = $156; - HEAP32[$164>>2] = $159; - $R$1$i = $156; - break; - } else { - _abort(); - // unreachable; - } - } - } while(0); - $180 = ($154|0)==(0|0); - do { - if (!($180)) { - $181 = (($v$0$i) + 28|0); - $182 = HEAP32[$181>>2]|0; - $183 = ((20672 + ($182<<2)|0) + 304|0); - $184 = HEAP32[$183>>2]|0; - $185 = ($v$0$i|0)==($184|0); - if ($185) { - HEAP32[$183>>2] = $R$1$i; - $cond$i = ($R$1$i|0)==(0|0); - if ($cond$i) { - $186 = 1 << $182; - $187 = $186 ^ -1; - $188 = HEAP32[((20672 + 4|0))>>2]|0; - $189 = $188 & $187; - HEAP32[((20672 + 4|0))>>2] = $189; - break; - } - } else { - $190 = HEAP32[((20672 + 16|0))>>2]|0; - $191 = ($154>>>0)<($190>>>0); - if ($191) { - _abort(); - // unreachable; - } - $192 = (($154) + 16|0); - $193 = HEAP32[$192>>2]|0; - $194 = ($193|0)==($v$0$i|0); - if ($194) { - HEAP32[$192>>2] = $R$1$i; - } else { - $195 = (($154) + 20|0); - HEAP32[$195>>2] = $R$1$i; - } - $196 = ($R$1$i|0)==(0|0); - if ($196) { - break; - } - } - $197 = HEAP32[((20672 + 16|0))>>2]|0; - $198 = ($R$1$i>>>0)<($197>>>0); - if ($198) { - _abort(); - // unreachable; - } - $199 = (($R$1$i) + 24|0); - HEAP32[$199>>2] = $154; - $200 = (($v$0$i) + 16|0); - $201 = HEAP32[$200>>2]|0; - $202 = ($201|0)==(0|0); - do { - if (!($202)) { - $203 = HEAP32[((20672 + 16|0))>>2]|0; - $204 = ($201>>>0)<($203>>>0); - if ($204) { - _abort(); - // unreachable; - } else { - $205 = (($R$1$i) + 16|0); - HEAP32[$205>>2] = $201; - $206 = (($201) + 24|0); - HEAP32[$206>>2] = $R$1$i; - break; - } - } - } while(0); - $207 = (($v$0$i) + 20|0); - $208 = HEAP32[$207>>2]|0; - $209 = ($208|0)==(0|0); - if (!($209)) { - $210 = HEAP32[((20672 + 16|0))>>2]|0; - $211 = ($208>>>0)<($210>>>0); - if ($211) { - _abort(); - // unreachable; - } else { - $212 = (($R$1$i) + 20|0); - HEAP32[$212>>2] = $208; - $213 = (($208) + 24|0); - HEAP32[$213>>2] = $R$1$i; - break; - } - } - } - } while(0); - $214 = ($rsize$0$i>>>0)<(16); - if ($214) { - $215 = (($rsize$0$i) + ($5))|0; - $216 = $215 | 3; - $217 = (($v$0$i) + 4|0); - HEAP32[$217>>2] = $216; - $$sum4$i = (($215) + 4)|0; - $218 = (($v$0$i) + ($$sum4$i)|0); - $219 = HEAP32[$218>>2]|0; - $220 = $219 | 1; - HEAP32[$218>>2] = $220; - } else { - $221 = $5 | 3; - $222 = (($v$0$i) + 4|0); - HEAP32[$222>>2] = $221; - $223 = $rsize$0$i | 1; - $$sum$i35 = $5 | 4; - $224 = (($v$0$i) + ($$sum$i35)|0); - HEAP32[$224>>2] = $223; - $$sum1$i = (($rsize$0$i) + ($5))|0; - $225 = (($v$0$i) + ($$sum1$i)|0); - HEAP32[$225>>2] = $rsize$0$i; - $226 = HEAP32[((20672 + 8|0))>>2]|0; - $227 = ($226|0)==(0); - if (!($227)) { - $228 = HEAP32[((20672 + 20|0))>>2]|0; - $229 = $226 >>> 3; - $230 = $229 << 1; - $231 = ((20672 + ($230<<2)|0) + 40|0); - $232 = HEAP32[20672>>2]|0; - $233 = 1 << $229; - $234 = $232 & $233; - $235 = ($234|0)==(0); - if ($235) { - $236 = $232 | $233; - HEAP32[20672>>2] = $236; - $$sum2$pre$i = (($230) + 2)|0; - $$pre$i = ((20672 + ($$sum2$pre$i<<2)|0) + 40|0); - $$pre$phi$iZ2D = $$pre$i;$F1$0$i = $231; - } else { - $$sum3$i = (($230) + 2)|0; - $237 = ((20672 + ($$sum3$i<<2)|0) + 40|0); - $238 = HEAP32[$237>>2]|0; - $239 = HEAP32[((20672 + 16|0))>>2]|0; - $240 = ($238>>>0)<($239>>>0); - if ($240) { - _abort(); - // unreachable; - } else { - $$pre$phi$iZ2D = $237;$F1$0$i = $238; - } - } - HEAP32[$$pre$phi$iZ2D>>2] = $228; - $241 = (($F1$0$i) + 12|0); - HEAP32[$241>>2] = $228; - $242 = (($228) + 8|0); - HEAP32[$242>>2] = $F1$0$i; - $243 = (($228) + 12|0); - HEAP32[$243>>2] = $231; - } - HEAP32[((20672 + 8|0))>>2] = $rsize$0$i; - HEAP32[((20672 + 20|0))>>2] = $151; - } - $244 = (($v$0$i) + 8|0); - $mem$0 = $244; - STACKTOP = sp;return ($mem$0|0); - } - } else { - $nb$0 = $5; - } - } else { - $245 = ($bytes>>>0)>(4294967231); - if ($245) { - $nb$0 = -1; - } else { - $246 = (($bytes) + 11)|0; - $247 = $246 & -8; - $248 = HEAP32[((20672 + 4|0))>>2]|0; - $249 = ($248|0)==(0); - if ($249) { - $nb$0 = $247; - } else { - $250 = (0 - ($247))|0; - $251 = $246 >>> 8; - $252 = ($251|0)==(0); - if ($252) { - $idx$0$i = 0; - } else { - $253 = ($247>>>0)>(16777215); - if ($253) { - $idx$0$i = 31; - } else { - $254 = (($251) + 1048320)|0; - $255 = $254 >>> 16; - $256 = $255 & 8; - $257 = $251 << $256; - $258 = (($257) + 520192)|0; - $259 = $258 >>> 16; - $260 = $259 & 4; - $261 = $260 | $256; - $262 = $257 << $260; - $263 = (($262) + 245760)|0; - $264 = $263 >>> 16; - $265 = $264 & 2; - $266 = $261 | $265; - $267 = (14 - ($266))|0; - $268 = $262 << $265; - $269 = $268 >>> 15; - $270 = (($267) + ($269))|0; - $271 = $270 << 1; - $272 = (($270) + 7)|0; - $273 = $247 >>> $272; - $274 = $273 & 1; - $275 = $274 | $271; - $idx$0$i = $275; - } - } - $276 = ((20672 + ($idx$0$i<<2)|0) + 304|0); - $277 = HEAP32[$276>>2]|0; - $278 = ($277|0)==(0|0); - L126: do { - if ($278) { - $rsize$2$i = $250;$t$1$i = 0;$v$2$i = 0; - } else { - $279 = ($idx$0$i|0)==(31); - if ($279) { - $283 = 0; - } else { - $280 = $idx$0$i >>> 1; - $281 = (25 - ($280))|0; - $283 = $281; - } - $282 = $247 << $283; - $rsize$0$i15 = $250;$rst$0$i = 0;$sizebits$0$i = $282;$t$0$i14 = $277;$v$0$i16 = 0; - while(1) { - $284 = (($t$0$i14) + 4|0); - $285 = HEAP32[$284>>2]|0; - $286 = $285 & -8; - $287 = (($286) - ($247))|0; - $288 = ($287>>>0)<($rsize$0$i15>>>0); - if ($288) { - $289 = ($286|0)==($247|0); - if ($289) { - $rsize$2$i = $287;$t$1$i = $t$0$i14;$v$2$i = $t$0$i14; - break L126; - } else { - $rsize$1$i = $287;$v$1$i = $t$0$i14; - } - } else { - $rsize$1$i = $rsize$0$i15;$v$1$i = $v$0$i16; - } - $290 = (($t$0$i14) + 20|0); - $291 = HEAP32[$290>>2]|0; - $292 = $sizebits$0$i >>> 31; - $293 = ((($t$0$i14) + ($292<<2)|0) + 16|0); - $294 = HEAP32[$293>>2]|0; - $295 = ($291|0)==(0|0); - $296 = ($291|0)==($294|0); - $or$cond$i = $295 | $296; - $rst$1$i = $or$cond$i ? $rst$0$i : $291; - $297 = ($294|0)==(0|0); - $298 = $sizebits$0$i << 1; - if ($297) { - $rsize$2$i = $rsize$1$i;$t$1$i = $rst$1$i;$v$2$i = $v$1$i; - break; - } else { - $rsize$0$i15 = $rsize$1$i;$rst$0$i = $rst$1$i;$sizebits$0$i = $298;$t$0$i14 = $294;$v$0$i16 = $v$1$i; - } - } - } - } while(0); - $299 = ($t$1$i|0)==(0|0); - $300 = ($v$2$i|0)==(0|0); - $or$cond19$i = $299 & $300; - if ($or$cond19$i) { - $301 = 2 << $idx$0$i; - $302 = (0 - ($301))|0; - $303 = $301 | $302; - $304 = $248 & $303; - $305 = ($304|0)==(0); - if ($305) { - $nb$0 = $247; - break; - } - $306 = (0 - ($304))|0; - $307 = $304 & $306; - $308 = (($307) + -1)|0; - $309 = $308 >>> 12; - $310 = $309 & 16; - $311 = $308 >>> $310; - $312 = $311 >>> 5; - $313 = $312 & 8; - $314 = $313 | $310; - $315 = $311 >>> $313; - $316 = $315 >>> 2; - $317 = $316 & 4; - $318 = $314 | $317; - $319 = $315 >>> $317; - $320 = $319 >>> 1; - $321 = $320 & 2; - $322 = $318 | $321; - $323 = $319 >>> $321; - $324 = $323 >>> 1; - $325 = $324 & 1; - $326 = $322 | $325; - $327 = $323 >>> $325; - $328 = (($326) + ($327))|0; - $329 = ((20672 + ($328<<2)|0) + 304|0); - $330 = HEAP32[$329>>2]|0; - $t$2$ph$i = $330; - } else { - $t$2$ph$i = $t$1$i; - } - $331 = ($t$2$ph$i|0)==(0|0); - if ($331) { - $rsize$3$lcssa$i = $rsize$2$i;$v$3$lcssa$i = $v$2$i; - } else { - $rsize$329$i = $rsize$2$i;$t$228$i = $t$2$ph$i;$v$330$i = $v$2$i; - while(1) { - $332 = (($t$228$i) + 4|0); - $333 = HEAP32[$332>>2]|0; - $334 = $333 & -8; - $335 = (($334) - ($247))|0; - $336 = ($335>>>0)<($rsize$329$i>>>0); - $$rsize$3$i = $336 ? $335 : $rsize$329$i; - $t$2$v$3$i = $336 ? $t$228$i : $v$330$i; - $337 = (($t$228$i) + 16|0); - $338 = HEAP32[$337>>2]|0; - $339 = ($338|0)==(0|0); - if (!($339)) { - $rsize$329$i = $$rsize$3$i;$t$228$i = $338;$v$330$i = $t$2$v$3$i; - continue; - } - $340 = (($t$228$i) + 20|0); - $341 = HEAP32[$340>>2]|0; - $342 = ($341|0)==(0|0); - if ($342) { - $rsize$3$lcssa$i = $$rsize$3$i;$v$3$lcssa$i = $t$2$v$3$i; - break; - } else { - $rsize$329$i = $$rsize$3$i;$t$228$i = $341;$v$330$i = $t$2$v$3$i; - } - } - } - $343 = ($v$3$lcssa$i|0)==(0|0); - if ($343) { - $nb$0 = $247; - } else { - $344 = HEAP32[((20672 + 8|0))>>2]|0; - $345 = (($344) - ($247))|0; - $346 = ($rsize$3$lcssa$i>>>0)<($345>>>0); - if ($346) { - $347 = HEAP32[((20672 + 16|0))>>2]|0; - $348 = ($v$3$lcssa$i>>>0)<($347>>>0); - if ($348) { - _abort(); - // unreachable; - } - $349 = (($v$3$lcssa$i) + ($247)|0); - $350 = ($v$3$lcssa$i>>>0)<($349>>>0); - if (!($350)) { - _abort(); - // unreachable; - } - $351 = (($v$3$lcssa$i) + 24|0); - $352 = HEAP32[$351>>2]|0; - $353 = (($v$3$lcssa$i) + 12|0); - $354 = HEAP32[$353>>2]|0; - $355 = ($354|0)==($v$3$lcssa$i|0); - do { - if ($355) { - $365 = (($v$3$lcssa$i) + 20|0); - $366 = HEAP32[$365>>2]|0; - $367 = ($366|0)==(0|0); - if ($367) { - $368 = (($v$3$lcssa$i) + 16|0); - $369 = HEAP32[$368>>2]|0; - $370 = ($369|0)==(0|0); - if ($370) { - $R$1$i20 = 0; - break; - } else { - $R$0$i18 = $369;$RP$0$i17 = $368; - } - } else { - $R$0$i18 = $366;$RP$0$i17 = $365; - } - while(1) { - $371 = (($R$0$i18) + 20|0); - $372 = HEAP32[$371>>2]|0; - $373 = ($372|0)==(0|0); - if (!($373)) { - $R$0$i18 = $372;$RP$0$i17 = $371; - continue; - } - $374 = (($R$0$i18) + 16|0); - $375 = HEAP32[$374>>2]|0; - $376 = ($375|0)==(0|0); - if ($376) { - break; - } else { - $R$0$i18 = $375;$RP$0$i17 = $374; - } - } - $377 = ($RP$0$i17>>>0)<($347>>>0); - if ($377) { - _abort(); - // unreachable; - } else { - HEAP32[$RP$0$i17>>2] = 0; - $R$1$i20 = $R$0$i18; - break; - } - } else { - $356 = (($v$3$lcssa$i) + 8|0); - $357 = HEAP32[$356>>2]|0; - $358 = ($357>>>0)<($347>>>0); - if ($358) { - _abort(); - // unreachable; - } - $359 = (($357) + 12|0); - $360 = HEAP32[$359>>2]|0; - $361 = ($360|0)==($v$3$lcssa$i|0); - if (!($361)) { - _abort(); - // unreachable; - } - $362 = (($354) + 8|0); - $363 = HEAP32[$362>>2]|0; - $364 = ($363|0)==($v$3$lcssa$i|0); - if ($364) { - HEAP32[$359>>2] = $354; - HEAP32[$362>>2] = $357; - $R$1$i20 = $354; - break; - } else { - _abort(); - // unreachable; - } - } - } while(0); - $378 = ($352|0)==(0|0); - do { - if (!($378)) { - $379 = (($v$3$lcssa$i) + 28|0); - $380 = HEAP32[$379>>2]|0; - $381 = ((20672 + ($380<<2)|0) + 304|0); - $382 = HEAP32[$381>>2]|0; - $383 = ($v$3$lcssa$i|0)==($382|0); - if ($383) { - HEAP32[$381>>2] = $R$1$i20; - $cond$i21 = ($R$1$i20|0)==(0|0); - if ($cond$i21) { - $384 = 1 << $380; - $385 = $384 ^ -1; - $386 = HEAP32[((20672 + 4|0))>>2]|0; - $387 = $386 & $385; - HEAP32[((20672 + 4|0))>>2] = $387; - break; - } - } else { - $388 = HEAP32[((20672 + 16|0))>>2]|0; - $389 = ($352>>>0)<($388>>>0); - if ($389) { - _abort(); - // unreachable; - } - $390 = (($352) + 16|0); - $391 = HEAP32[$390>>2]|0; - $392 = ($391|0)==($v$3$lcssa$i|0); - if ($392) { - HEAP32[$390>>2] = $R$1$i20; - } else { - $393 = (($352) + 20|0); - HEAP32[$393>>2] = $R$1$i20; - } - $394 = ($R$1$i20|0)==(0|0); - if ($394) { - break; - } - } - $395 = HEAP32[((20672 + 16|0))>>2]|0; - $396 = ($R$1$i20>>>0)<($395>>>0); - if ($396) { - _abort(); - // unreachable; - } - $397 = (($R$1$i20) + 24|0); - HEAP32[$397>>2] = $352; - $398 = (($v$3$lcssa$i) + 16|0); - $399 = HEAP32[$398>>2]|0; - $400 = ($399|0)==(0|0); - do { - if (!($400)) { - $401 = HEAP32[((20672 + 16|0))>>2]|0; - $402 = ($399>>>0)<($401>>>0); - if ($402) { - _abort(); - // unreachable; - } else { - $403 = (($R$1$i20) + 16|0); - HEAP32[$403>>2] = $399; - $404 = (($399) + 24|0); - HEAP32[$404>>2] = $R$1$i20; - break; - } - } - } while(0); - $405 = (($v$3$lcssa$i) + 20|0); - $406 = HEAP32[$405>>2]|0; - $407 = ($406|0)==(0|0); - if (!($407)) { - $408 = HEAP32[((20672 + 16|0))>>2]|0; - $409 = ($406>>>0)<($408>>>0); - if ($409) { - _abort(); - // unreachable; - } else { - $410 = (($R$1$i20) + 20|0); - HEAP32[$410>>2] = $406; - $411 = (($406) + 24|0); - HEAP32[$411>>2] = $R$1$i20; - break; - } - } - } - } while(0); - $412 = ($rsize$3$lcssa$i>>>0)<(16); - L204: do { - if ($412) { - $413 = (($rsize$3$lcssa$i) + ($247))|0; - $414 = $413 | 3; - $415 = (($v$3$lcssa$i) + 4|0); - HEAP32[$415>>2] = $414; - $$sum18$i = (($413) + 4)|0; - $416 = (($v$3$lcssa$i) + ($$sum18$i)|0); - $417 = HEAP32[$416>>2]|0; - $418 = $417 | 1; - HEAP32[$416>>2] = $418; - } else { - $419 = $247 | 3; - $420 = (($v$3$lcssa$i) + 4|0); - HEAP32[$420>>2] = $419; - $421 = $rsize$3$lcssa$i | 1; - $$sum$i2334 = $247 | 4; - $422 = (($v$3$lcssa$i) + ($$sum$i2334)|0); - HEAP32[$422>>2] = $421; - $$sum1$i24 = (($rsize$3$lcssa$i) + ($247))|0; - $423 = (($v$3$lcssa$i) + ($$sum1$i24)|0); - HEAP32[$423>>2] = $rsize$3$lcssa$i; - $424 = $rsize$3$lcssa$i >>> 3; - $425 = ($rsize$3$lcssa$i>>>0)<(256); - if ($425) { - $426 = $424 << 1; - $427 = ((20672 + ($426<<2)|0) + 40|0); - $428 = HEAP32[20672>>2]|0; - $429 = 1 << $424; - $430 = $428 & $429; - $431 = ($430|0)==(0); - do { - if ($431) { - $432 = $428 | $429; - HEAP32[20672>>2] = $432; - $$sum14$pre$i = (($426) + 2)|0; - $$pre$i25 = ((20672 + ($$sum14$pre$i<<2)|0) + 40|0); - $$pre$phi$i26Z2D = $$pre$i25;$F5$0$i = $427; - } else { - $$sum17$i = (($426) + 2)|0; - $433 = ((20672 + ($$sum17$i<<2)|0) + 40|0); - $434 = HEAP32[$433>>2]|0; - $435 = HEAP32[((20672 + 16|0))>>2]|0; - $436 = ($434>>>0)<($435>>>0); - if (!($436)) { - $$pre$phi$i26Z2D = $433;$F5$0$i = $434; - break; - } - _abort(); - // unreachable; - } - } while(0); - HEAP32[$$pre$phi$i26Z2D>>2] = $349; - $437 = (($F5$0$i) + 12|0); - HEAP32[$437>>2] = $349; - $$sum15$i = (($247) + 8)|0; - $438 = (($v$3$lcssa$i) + ($$sum15$i)|0); - HEAP32[$438>>2] = $F5$0$i; - $$sum16$i = (($247) + 12)|0; - $439 = (($v$3$lcssa$i) + ($$sum16$i)|0); - HEAP32[$439>>2] = $427; - break; - } - $440 = $rsize$3$lcssa$i >>> 8; - $441 = ($440|0)==(0); - if ($441) { - $I7$0$i = 0; - } else { - $442 = ($rsize$3$lcssa$i>>>0)>(16777215); - if ($442) { - $I7$0$i = 31; - } else { - $443 = (($440) + 1048320)|0; - $444 = $443 >>> 16; - $445 = $444 & 8; - $446 = $440 << $445; - $447 = (($446) + 520192)|0; - $448 = $447 >>> 16; - $449 = $448 & 4; - $450 = $449 | $445; - $451 = $446 << $449; - $452 = (($451) + 245760)|0; - $453 = $452 >>> 16; - $454 = $453 & 2; - $455 = $450 | $454; - $456 = (14 - ($455))|0; - $457 = $451 << $454; - $458 = $457 >>> 15; - $459 = (($456) + ($458))|0; - $460 = $459 << 1; - $461 = (($459) + 7)|0; - $462 = $rsize$3$lcssa$i >>> $461; - $463 = $462 & 1; - $464 = $463 | $460; - $I7$0$i = $464; - } - } - $465 = ((20672 + ($I7$0$i<<2)|0) + 304|0); - $$sum2$i = (($247) + 28)|0; - $466 = (($v$3$lcssa$i) + ($$sum2$i)|0); - HEAP32[$466>>2] = $I7$0$i; - $$sum3$i27 = (($247) + 16)|0; - $467 = (($v$3$lcssa$i) + ($$sum3$i27)|0); - $$sum4$i28 = (($247) + 20)|0; - $468 = (($v$3$lcssa$i) + ($$sum4$i28)|0); - HEAP32[$468>>2] = 0; - HEAP32[$467>>2] = 0; - $469 = HEAP32[((20672 + 4|0))>>2]|0; - $470 = 1 << $I7$0$i; - $471 = $469 & $470; - $472 = ($471|0)==(0); - if ($472) { - $473 = $469 | $470; - HEAP32[((20672 + 4|0))>>2] = $473; - HEAP32[$465>>2] = $349; - $$sum5$i = (($247) + 24)|0; - $474 = (($v$3$lcssa$i) + ($$sum5$i)|0); - HEAP32[$474>>2] = $465; - $$sum6$i = (($247) + 12)|0; - $475 = (($v$3$lcssa$i) + ($$sum6$i)|0); - HEAP32[$475>>2] = $349; - $$sum7$i = (($247) + 8)|0; - $476 = (($v$3$lcssa$i) + ($$sum7$i)|0); - HEAP32[$476>>2] = $349; - break; - } - $477 = HEAP32[$465>>2]|0; - $478 = ($I7$0$i|0)==(31); - if ($478) { - $486 = 0; - } else { - $479 = $I7$0$i >>> 1; - $480 = (25 - ($479))|0; - $486 = $480; - } - $481 = (($477) + 4|0); - $482 = HEAP32[$481>>2]|0; - $483 = $482 & -8; - $484 = ($483|0)==($rsize$3$lcssa$i|0); - L225: do { - if ($484) { - $T$0$lcssa$i = $477; - } else { - $485 = $rsize$3$lcssa$i << $486; - $K12$025$i = $485;$T$024$i = $477; - while(1) { - $493 = $K12$025$i >>> 31; - $494 = ((($T$024$i) + ($493<<2)|0) + 16|0); - $489 = HEAP32[$494>>2]|0; - $495 = ($489|0)==(0|0); - if ($495) { - break; - } - $487 = $K12$025$i << 1; - $488 = (($489) + 4|0); - $490 = HEAP32[$488>>2]|0; - $491 = $490 & -8; - $492 = ($491|0)==($rsize$3$lcssa$i|0); - if ($492) { - $T$0$lcssa$i = $489; - break L225; - } else { - $K12$025$i = $487;$T$024$i = $489; - } - } - $496 = HEAP32[((20672 + 16|0))>>2]|0; - $497 = ($494>>>0)<($496>>>0); - if ($497) { - _abort(); - // unreachable; - } else { - HEAP32[$494>>2] = $349; - $$sum11$i = (($247) + 24)|0; - $498 = (($v$3$lcssa$i) + ($$sum11$i)|0); - HEAP32[$498>>2] = $T$024$i; - $$sum12$i = (($247) + 12)|0; - $499 = (($v$3$lcssa$i) + ($$sum12$i)|0); - HEAP32[$499>>2] = $349; - $$sum13$i = (($247) + 8)|0; - $500 = (($v$3$lcssa$i) + ($$sum13$i)|0); - HEAP32[$500>>2] = $349; - break L204; - } - } - } while(0); - $501 = (($T$0$lcssa$i) + 8|0); - $502 = HEAP32[$501>>2]|0; - $503 = HEAP32[((20672 + 16|0))>>2]|0; - $504 = ($T$0$lcssa$i>>>0)<($503>>>0); - if ($504) { - _abort(); - // unreachable; - } - $505 = ($502>>>0)<($503>>>0); - if ($505) { - _abort(); - // unreachable; - } else { - $506 = (($502) + 12|0); - HEAP32[$506>>2] = $349; - HEAP32[$501>>2] = $349; - $$sum8$i = (($247) + 8)|0; - $507 = (($v$3$lcssa$i) + ($$sum8$i)|0); - HEAP32[$507>>2] = $502; - $$sum9$i = (($247) + 12)|0; - $508 = (($v$3$lcssa$i) + ($$sum9$i)|0); - HEAP32[$508>>2] = $T$0$lcssa$i; - $$sum10$i = (($247) + 24)|0; - $509 = (($v$3$lcssa$i) + ($$sum10$i)|0); - HEAP32[$509>>2] = 0; - break; - } - } - } while(0); - $510 = (($v$3$lcssa$i) + 8|0); - $mem$0 = $510; - STACKTOP = sp;return ($mem$0|0); - } else { - $nb$0 = $247; - } - } - } - } - } - } while(0); - $511 = HEAP32[((20672 + 8|0))>>2]|0; - $512 = ($nb$0>>>0)>($511>>>0); - if (!($512)) { - $513 = (($511) - ($nb$0))|0; - $514 = HEAP32[((20672 + 20|0))>>2]|0; - $515 = ($513>>>0)>(15); - if ($515) { - $516 = (($514) + ($nb$0)|0); - HEAP32[((20672 + 20|0))>>2] = $516; - HEAP32[((20672 + 8|0))>>2] = $513; - $517 = $513 | 1; - $$sum2 = (($nb$0) + 4)|0; - $518 = (($514) + ($$sum2)|0); - HEAP32[$518>>2] = $517; - $519 = (($514) + ($511)|0); - HEAP32[$519>>2] = $513; - $520 = $nb$0 | 3; - $521 = (($514) + 4|0); - HEAP32[$521>>2] = $520; - } else { - HEAP32[((20672 + 8|0))>>2] = 0; - HEAP32[((20672 + 20|0))>>2] = 0; - $522 = $511 | 3; - $523 = (($514) + 4|0); - HEAP32[$523>>2] = $522; - $$sum1 = (($511) + 4)|0; - $524 = (($514) + ($$sum1)|0); - $525 = HEAP32[$524>>2]|0; - $526 = $525 | 1; - HEAP32[$524>>2] = $526; - } - $527 = (($514) + 8|0); - $mem$0 = $527; - STACKTOP = sp;return ($mem$0|0); - } - $528 = HEAP32[((20672 + 12|0))>>2]|0; - $529 = ($nb$0>>>0)<($528>>>0); - if ($529) { - $530 = (($528) - ($nb$0))|0; - HEAP32[((20672 + 12|0))>>2] = $530; - $531 = HEAP32[((20672 + 24|0))>>2]|0; - $532 = (($531) + ($nb$0)|0); - HEAP32[((20672 + 24|0))>>2] = $532; - $533 = $530 | 1; - $$sum = (($nb$0) + 4)|0; - $534 = (($531) + ($$sum)|0); - HEAP32[$534>>2] = $533; - $535 = $nb$0 | 3; - $536 = (($531) + 4|0); - HEAP32[$536>>2] = $535; - $537 = (($531) + 8|0); - $mem$0 = $537; - STACKTOP = sp;return ($mem$0|0); - } - $538 = HEAP32[21144>>2]|0; - $539 = ($538|0)==(0); - do { - if ($539) { - $540 = (_sysconf(30)|0); - $541 = (($540) + -1)|0; - $542 = $541 & $540; - $543 = ($542|0)==(0); - if ($543) { - HEAP32[((21144 + 8|0))>>2] = $540; - HEAP32[((21144 + 4|0))>>2] = $540; - HEAP32[((21144 + 12|0))>>2] = -1; - HEAP32[((21144 + 16|0))>>2] = -1; - HEAP32[((21144 + 20|0))>>2] = 0; - HEAP32[((20672 + 444|0))>>2] = 0; - $544 = (_time((0|0))|0); - $545 = $544 & -16; - $546 = $545 ^ 1431655768; - HEAP32[21144>>2] = $546; - break; - } else { - _abort(); - // unreachable; - } - } - } while(0); - $547 = (($nb$0) + 48)|0; - $548 = HEAP32[((21144 + 8|0))>>2]|0; - $549 = (($nb$0) + 47)|0; - $550 = (($548) + ($549))|0; - $551 = (0 - ($548))|0; - $552 = $550 & $551; - $553 = ($552>>>0)>($nb$0>>>0); - if (!($553)) { - $mem$0 = 0; - STACKTOP = sp;return ($mem$0|0); - } - $554 = HEAP32[((20672 + 440|0))>>2]|0; - $555 = ($554|0)==(0); - if (!($555)) { - $556 = HEAP32[((20672 + 432|0))>>2]|0; - $557 = (($556) + ($552))|0; - $558 = ($557>>>0)<=($556>>>0); - $559 = ($557>>>0)>($554>>>0); - $or$cond1$i = $558 | $559; - if ($or$cond1$i) { - $mem$0 = 0; - STACKTOP = sp;return ($mem$0|0); - } - } - $560 = HEAP32[((20672 + 444|0))>>2]|0; - $561 = $560 & 4; - $562 = ($561|0)==(0); - L269: do { - if ($562) { - $563 = HEAP32[((20672 + 24|0))>>2]|0; - $564 = ($563|0)==(0|0); - L271: do { - if ($564) { - label = 182; - } else { - $sp$0$i$i = ((20672 + 448|0)); - while(1) { - $565 = HEAP32[$sp$0$i$i>>2]|0; - $566 = ($565>>>0)>($563>>>0); - if (!($566)) { - $567 = (($sp$0$i$i) + 4|0); - $568 = HEAP32[$567>>2]|0; - $569 = (($565) + ($568)|0); - $570 = ($569>>>0)>($563>>>0); - if ($570) { - break; - } - } - $571 = (($sp$0$i$i) + 8|0); - $572 = HEAP32[$571>>2]|0; - $573 = ($572|0)==(0|0); - if ($573) { - label = 182; - break L271; - } else { - $sp$0$i$i = $572; - } - } - $574 = ($sp$0$i$i|0)==(0|0); - if ($574) { - label = 182; - } else { - $597 = HEAP32[((20672 + 12|0))>>2]|0; - $598 = (($550) - ($597))|0; - $599 = $598 & $551; - $600 = ($599>>>0)<(2147483647); - if ($600) { - $601 = (_sbrk(($599|0))|0); - $602 = HEAP32[$sp$0$i$i>>2]|0; - $603 = HEAP32[$567>>2]|0; - $604 = (($602) + ($603)|0); - $605 = ($601|0)==($604|0); - $$3$i = $605 ? $599 : 0; - $$4$i = $605 ? $601 : (-1); - $br$0$i = $601;$ssize$1$i = $599;$tbase$0$i = $$4$i;$tsize$0$i = $$3$i; - label = 191; - } else { - $tsize$0323841$i = 0; - } - } - } - } while(0); - do { - if ((label|0) == 182) { - $575 = (_sbrk(0)|0); - $576 = ($575|0)==((-1)|0); - if ($576) { - $tsize$0323841$i = 0; - } else { - $577 = $575; - $578 = HEAP32[((21144 + 4|0))>>2]|0; - $579 = (($578) + -1)|0; - $580 = $579 & $577; - $581 = ($580|0)==(0); - if ($581) { - $ssize$0$i = $552; - } else { - $582 = (($579) + ($577))|0; - $583 = (0 - ($578))|0; - $584 = $582 & $583; - $585 = (($552) - ($577))|0; - $586 = (($585) + ($584))|0; - $ssize$0$i = $586; - } - $587 = HEAP32[((20672 + 432|0))>>2]|0; - $588 = (($587) + ($ssize$0$i))|0; - $589 = ($ssize$0$i>>>0)>($nb$0>>>0); - $590 = ($ssize$0$i>>>0)<(2147483647); - $or$cond$i29 = $589 & $590; - if ($or$cond$i29) { - $591 = HEAP32[((20672 + 440|0))>>2]|0; - $592 = ($591|0)==(0); - if (!($592)) { - $593 = ($588>>>0)<=($587>>>0); - $594 = ($588>>>0)>($591>>>0); - $or$cond2$i = $593 | $594; - if ($or$cond2$i) { - $tsize$0323841$i = 0; - break; - } - } - $595 = (_sbrk(($ssize$0$i|0))|0); - $596 = ($595|0)==($575|0); - $ssize$0$$i = $596 ? $ssize$0$i : 0; - $$$i = $596 ? $575 : (-1); - $br$0$i = $595;$ssize$1$i = $ssize$0$i;$tbase$0$i = $$$i;$tsize$0$i = $ssize$0$$i; - label = 191; - } else { - $tsize$0323841$i = 0; - } - } - } - } while(0); - L291: do { - if ((label|0) == 191) { - $606 = (0 - ($ssize$1$i))|0; - $607 = ($tbase$0$i|0)==((-1)|0); - if (!($607)) { - $tbase$247$i = $tbase$0$i;$tsize$246$i = $tsize$0$i; - label = 202; - break L269; - } - $608 = ($br$0$i|0)!=((-1)|0); - $609 = ($ssize$1$i>>>0)<(2147483647); - $or$cond5$i = $608 & $609; - $610 = ($ssize$1$i>>>0)<($547>>>0); - $or$cond6$i = $or$cond5$i & $610; - do { - if ($or$cond6$i) { - $611 = HEAP32[((21144 + 8|0))>>2]|0; - $612 = (($549) - ($ssize$1$i))|0; - $613 = (($612) + ($611))|0; - $614 = (0 - ($611))|0; - $615 = $613 & $614; - $616 = ($615>>>0)<(2147483647); - if ($616) { - $617 = (_sbrk(($615|0))|0); - $618 = ($617|0)==((-1)|0); - if ($618) { - (_sbrk(($606|0))|0); - $tsize$0323841$i = $tsize$0$i; - break L291; - } else { - $619 = (($615) + ($ssize$1$i))|0; - $ssize$2$i = $619; - break; - } - } else { - $ssize$2$i = $ssize$1$i; - } - } else { - $ssize$2$i = $ssize$1$i; - } - } while(0); - $620 = ($br$0$i|0)==((-1)|0); - if ($620) { - $tsize$0323841$i = $tsize$0$i; - } else { - $tbase$247$i = $br$0$i;$tsize$246$i = $ssize$2$i; - label = 202; - break L269; - } - } - } while(0); - $621 = HEAP32[((20672 + 444|0))>>2]|0; - $622 = $621 | 4; - HEAP32[((20672 + 444|0))>>2] = $622; - $tsize$1$i = $tsize$0323841$i; - label = 199; - } else { - $tsize$1$i = 0; - label = 199; - } - } while(0); - if ((label|0) == 199) { - $623 = ($552>>>0)<(2147483647); - if ($623) { - $624 = (_sbrk(($552|0))|0); - $625 = (_sbrk(0)|0); - $notlhs$i = ($624|0)!=((-1)|0); - $notrhs$i = ($625|0)!=((-1)|0); - $or$cond8$not$i = $notrhs$i & $notlhs$i; - $626 = ($624>>>0)<($625>>>0); - $or$cond9$i = $or$cond8$not$i & $626; - if ($or$cond9$i) { - $627 = $625; - $628 = $624; - $629 = (($627) - ($628))|0; - $630 = (($nb$0) + 40)|0; - $631 = ($629>>>0)>($630>>>0); - $$tsize$1$i = $631 ? $629 : $tsize$1$i; - if ($631) { - $tbase$247$i = $624;$tsize$246$i = $$tsize$1$i; - label = 202; - } - } - } - } - if ((label|0) == 202) { - $632 = HEAP32[((20672 + 432|0))>>2]|0; - $633 = (($632) + ($tsize$246$i))|0; - HEAP32[((20672 + 432|0))>>2] = $633; - $634 = HEAP32[((20672 + 436|0))>>2]|0; - $635 = ($633>>>0)>($634>>>0); - if ($635) { - HEAP32[((20672 + 436|0))>>2] = $633; - } - $636 = HEAP32[((20672 + 24|0))>>2]|0; - $637 = ($636|0)==(0|0); - L311: do { - if ($637) { - $638 = HEAP32[((20672 + 16|0))>>2]|0; - $639 = ($638|0)==(0|0); - $640 = ($tbase$247$i>>>0)<($638>>>0); - $or$cond10$i = $639 | $640; - if ($or$cond10$i) { - HEAP32[((20672 + 16|0))>>2] = $tbase$247$i; - } - HEAP32[((20672 + 448|0))>>2] = $tbase$247$i; - HEAP32[((20672 + 452|0))>>2] = $tsize$246$i; - HEAP32[((20672 + 460|0))>>2] = 0; - $641 = HEAP32[21144>>2]|0; - HEAP32[((20672 + 36|0))>>2] = $641; - HEAP32[((20672 + 32|0))>>2] = -1; - $i$02$i$i = 0; - while(1) { - $642 = $i$02$i$i << 1; - $643 = ((20672 + ($642<<2)|0) + 40|0); - $$sum$i$i = (($642) + 3)|0; - $644 = ((20672 + ($$sum$i$i<<2)|0) + 40|0); - HEAP32[$644>>2] = $643; - $$sum1$i$i = (($642) + 2)|0; - $645 = ((20672 + ($$sum1$i$i<<2)|0) + 40|0); - HEAP32[$645>>2] = $643; - $646 = (($i$02$i$i) + 1)|0; - $exitcond$i$i = ($646|0)==(32); - if ($exitcond$i$i) { - break; - } else { - $i$02$i$i = $646; - } - } - $647 = (($tsize$246$i) + -40)|0; - $648 = (($tbase$247$i) + 8|0); - $649 = $648; - $650 = $649 & 7; - $651 = ($650|0)==(0); - if ($651) { - $655 = 0; - } else { - $652 = (0 - ($649))|0; - $653 = $652 & 7; - $655 = $653; - } - $654 = (($tbase$247$i) + ($655)|0); - $656 = (($647) - ($655))|0; - HEAP32[((20672 + 24|0))>>2] = $654; - HEAP32[((20672 + 12|0))>>2] = $656; - $657 = $656 | 1; - $$sum$i14$i = (($655) + 4)|0; - $658 = (($tbase$247$i) + ($$sum$i14$i)|0); - HEAP32[$658>>2] = $657; - $$sum2$i$i = (($tsize$246$i) + -36)|0; - $659 = (($tbase$247$i) + ($$sum2$i$i)|0); - HEAP32[$659>>2] = 40; - $660 = HEAP32[((21144 + 16|0))>>2]|0; - HEAP32[((20672 + 28|0))>>2] = $660; - } else { - $sp$075$i = ((20672 + 448|0)); - while(1) { - $661 = HEAP32[$sp$075$i>>2]|0; - $662 = (($sp$075$i) + 4|0); - $663 = HEAP32[$662>>2]|0; - $664 = (($661) + ($663)|0); - $665 = ($tbase$247$i|0)==($664|0); - if ($665) { - label = 214; - break; - } - $666 = (($sp$075$i) + 8|0); - $667 = HEAP32[$666>>2]|0; - $668 = ($667|0)==(0|0); - if ($668) { - break; - } else { - $sp$075$i = $667; - } - } - if ((label|0) == 214) { - $669 = (($sp$075$i) + 12|0); - $670 = HEAP32[$669>>2]|0; - $671 = $670 & 8; - $672 = ($671|0)==(0); - if ($672) { - $673 = ($636>>>0)>=($661>>>0); - $674 = ($636>>>0)<($tbase$247$i>>>0); - $or$cond49$i = $673 & $674; - if ($or$cond49$i) { - $675 = (($663) + ($tsize$246$i))|0; - HEAP32[$662>>2] = $675; - $676 = HEAP32[((20672 + 12|0))>>2]|0; - $677 = (($676) + ($tsize$246$i))|0; - $678 = (($636) + 8|0); - $679 = $678; - $680 = $679 & 7; - $681 = ($680|0)==(0); - if ($681) { - $685 = 0; - } else { - $682 = (0 - ($679))|0; - $683 = $682 & 7; - $685 = $683; - } - $684 = (($636) + ($685)|0); - $686 = (($677) - ($685))|0; - HEAP32[((20672 + 24|0))>>2] = $684; - HEAP32[((20672 + 12|0))>>2] = $686; - $687 = $686 | 1; - $$sum$i18$i = (($685) + 4)|0; - $688 = (($636) + ($$sum$i18$i)|0); - HEAP32[$688>>2] = $687; - $$sum2$i19$i = (($677) + 4)|0; - $689 = (($636) + ($$sum2$i19$i)|0); - HEAP32[$689>>2] = 40; - $690 = HEAP32[((21144 + 16|0))>>2]|0; - HEAP32[((20672 + 28|0))>>2] = $690; - break; - } - } - } - $691 = HEAP32[((20672 + 16|0))>>2]|0; - $692 = ($tbase$247$i>>>0)<($691>>>0); - if ($692) { - HEAP32[((20672 + 16|0))>>2] = $tbase$247$i; - } - $693 = (($tbase$247$i) + ($tsize$246$i)|0); - $sp$168$i = ((20672 + 448|0)); - while(1) { - $694 = HEAP32[$sp$168$i>>2]|0; - $695 = ($694|0)==($693|0); - if ($695) { - label = 224; - break; - } - $696 = (($sp$168$i) + 8|0); - $697 = HEAP32[$696>>2]|0; - $698 = ($697|0)==(0|0); - if ($698) { - break; - } else { - $sp$168$i = $697; - } - } - if ((label|0) == 224) { - $699 = (($sp$168$i) + 12|0); - $700 = HEAP32[$699>>2]|0; - $701 = $700 & 8; - $702 = ($701|0)==(0); - if ($702) { - HEAP32[$sp$168$i>>2] = $tbase$247$i; - $703 = (($sp$168$i) + 4|0); - $704 = HEAP32[$703>>2]|0; - $705 = (($704) + ($tsize$246$i))|0; - HEAP32[$703>>2] = $705; - $706 = (($tbase$247$i) + 8|0); - $707 = $706; - $708 = $707 & 7; - $709 = ($708|0)==(0); - if ($709) { - $713 = 0; - } else { - $710 = (0 - ($707))|0; - $711 = $710 & 7; - $713 = $711; - } - $712 = (($tbase$247$i) + ($713)|0); - $$sum107$i = (($tsize$246$i) + 8)|0; - $714 = (($tbase$247$i) + ($$sum107$i)|0); - $715 = $714; - $716 = $715 & 7; - $717 = ($716|0)==(0); - if ($717) { - $720 = 0; - } else { - $718 = (0 - ($715))|0; - $719 = $718 & 7; - $720 = $719; - } - $$sum108$i = (($720) + ($tsize$246$i))|0; - $721 = (($tbase$247$i) + ($$sum108$i)|0); - $722 = $721; - $723 = $712; - $724 = (($722) - ($723))|0; - $$sum$i21$i = (($713) + ($nb$0))|0; - $725 = (($tbase$247$i) + ($$sum$i21$i)|0); - $726 = (($724) - ($nb$0))|0; - $727 = $nb$0 | 3; - $$sum1$i22$i = (($713) + 4)|0; - $728 = (($tbase$247$i) + ($$sum1$i22$i)|0); - HEAP32[$728>>2] = $727; - $729 = HEAP32[((20672 + 24|0))>>2]|0; - $730 = ($721|0)==($729|0); - L348: do { - if ($730) { - $731 = HEAP32[((20672 + 12|0))>>2]|0; - $732 = (($731) + ($726))|0; - HEAP32[((20672 + 12|0))>>2] = $732; - HEAP32[((20672 + 24|0))>>2] = $725; - $733 = $732 | 1; - $$sum42$i$i = (($$sum$i21$i) + 4)|0; - $734 = (($tbase$247$i) + ($$sum42$i$i)|0); - HEAP32[$734>>2] = $733; - } else { - $735 = HEAP32[((20672 + 20|0))>>2]|0; - $736 = ($721|0)==($735|0); - if ($736) { - $737 = HEAP32[((20672 + 8|0))>>2]|0; - $738 = (($737) + ($726))|0; - HEAP32[((20672 + 8|0))>>2] = $738; - HEAP32[((20672 + 20|0))>>2] = $725; - $739 = $738 | 1; - $$sum40$i$i = (($$sum$i21$i) + 4)|0; - $740 = (($tbase$247$i) + ($$sum40$i$i)|0); - HEAP32[$740>>2] = $739; - $$sum41$i$i = (($738) + ($$sum$i21$i))|0; - $741 = (($tbase$247$i) + ($$sum41$i$i)|0); - HEAP32[$741>>2] = $738; - break; - } - $$sum2$i23$i = (($tsize$246$i) + 4)|0; - $$sum109$i = (($$sum2$i23$i) + ($720))|0; - $742 = (($tbase$247$i) + ($$sum109$i)|0); - $743 = HEAP32[$742>>2]|0; - $744 = $743 & 3; - $745 = ($744|0)==(1); - if ($745) { - $746 = $743 & -8; - $747 = $743 >>> 3; - $748 = ($743>>>0)<(256); - L356: do { - if ($748) { - $$sum3738$i$i = $720 | 8; - $$sum119$i = (($$sum3738$i$i) + ($tsize$246$i))|0; - $749 = (($tbase$247$i) + ($$sum119$i)|0); - $750 = HEAP32[$749>>2]|0; - $$sum39$i$i = (($tsize$246$i) + 12)|0; - $$sum120$i = (($$sum39$i$i) + ($720))|0; - $751 = (($tbase$247$i) + ($$sum120$i)|0); - $752 = HEAP32[$751>>2]|0; - $753 = $747 << 1; - $754 = ((20672 + ($753<<2)|0) + 40|0); - $755 = ($750|0)==($754|0); - do { - if (!($755)) { - $756 = HEAP32[((20672 + 16|0))>>2]|0; - $757 = ($750>>>0)<($756>>>0); - if ($757) { - _abort(); - // unreachable; - } - $758 = (($750) + 12|0); - $759 = HEAP32[$758>>2]|0; - $760 = ($759|0)==($721|0); - if ($760) { - break; - } - _abort(); - // unreachable; - } - } while(0); - $761 = ($752|0)==($750|0); - if ($761) { - $762 = 1 << $747; - $763 = $762 ^ -1; - $764 = HEAP32[20672>>2]|0; - $765 = $764 & $763; - HEAP32[20672>>2] = $765; - break; - } - $766 = ($752|0)==($754|0); - do { - if ($766) { - $$pre57$i$i = (($752) + 8|0); - $$pre$phi58$i$iZ2D = $$pre57$i$i; - } else { - $767 = HEAP32[((20672 + 16|0))>>2]|0; - $768 = ($752>>>0)<($767>>>0); - if ($768) { - _abort(); - // unreachable; - } - $769 = (($752) + 8|0); - $770 = HEAP32[$769>>2]|0; - $771 = ($770|0)==($721|0); - if ($771) { - $$pre$phi58$i$iZ2D = $769; - break; - } - _abort(); - // unreachable; - } - } while(0); - $772 = (($750) + 12|0); - HEAP32[$772>>2] = $752; - HEAP32[$$pre$phi58$i$iZ2D>>2] = $750; - } else { - $$sum34$i$i = $720 | 24; - $$sum110$i = (($$sum34$i$i) + ($tsize$246$i))|0; - $773 = (($tbase$247$i) + ($$sum110$i)|0); - $774 = HEAP32[$773>>2]|0; - $$sum5$i$i = (($tsize$246$i) + 12)|0; - $$sum111$i = (($$sum5$i$i) + ($720))|0; - $775 = (($tbase$247$i) + ($$sum111$i)|0); - $776 = HEAP32[$775>>2]|0; - $777 = ($776|0)==($721|0); - do { - if ($777) { - $$sum67$i$i = $720 | 16; - $$sum117$i = (($$sum2$i23$i) + ($$sum67$i$i))|0; - $788 = (($tbase$247$i) + ($$sum117$i)|0); - $789 = HEAP32[$788>>2]|0; - $790 = ($789|0)==(0|0); - if ($790) { - $$sum118$i = (($$sum67$i$i) + ($tsize$246$i))|0; - $791 = (($tbase$247$i) + ($$sum118$i)|0); - $792 = HEAP32[$791>>2]|0; - $793 = ($792|0)==(0|0); - if ($793) { - $R$1$i$i = 0; - break; - } else { - $R$0$i$i = $792;$RP$0$i$i = $791; - } - } else { - $R$0$i$i = $789;$RP$0$i$i = $788; - } - while(1) { - $794 = (($R$0$i$i) + 20|0); - $795 = HEAP32[$794>>2]|0; - $796 = ($795|0)==(0|0); - if (!($796)) { - $R$0$i$i = $795;$RP$0$i$i = $794; - continue; - } - $797 = (($R$0$i$i) + 16|0); - $798 = HEAP32[$797>>2]|0; - $799 = ($798|0)==(0|0); - if ($799) { - break; - } else { - $R$0$i$i = $798;$RP$0$i$i = $797; - } - } - $800 = HEAP32[((20672 + 16|0))>>2]|0; - $801 = ($RP$0$i$i>>>0)<($800>>>0); - if ($801) { - _abort(); - // unreachable; - } else { - HEAP32[$RP$0$i$i>>2] = 0; - $R$1$i$i = $R$0$i$i; - break; - } - } else { - $$sum3536$i$i = $720 | 8; - $$sum112$i = (($$sum3536$i$i) + ($tsize$246$i))|0; - $778 = (($tbase$247$i) + ($$sum112$i)|0); - $779 = HEAP32[$778>>2]|0; - $780 = HEAP32[((20672 + 16|0))>>2]|0; - $781 = ($779>>>0)<($780>>>0); - if ($781) { - _abort(); - // unreachable; - } - $782 = (($779) + 12|0); - $783 = HEAP32[$782>>2]|0; - $784 = ($783|0)==($721|0); - if (!($784)) { - _abort(); - // unreachable; - } - $785 = (($776) + 8|0); - $786 = HEAP32[$785>>2]|0; - $787 = ($786|0)==($721|0); - if ($787) { - HEAP32[$782>>2] = $776; - HEAP32[$785>>2] = $779; - $R$1$i$i = $776; - break; - } else { - _abort(); - // unreachable; - } - } - } while(0); - $802 = ($774|0)==(0|0); - if ($802) { - break; - } - $$sum30$i$i = (($tsize$246$i) + 28)|0; - $$sum113$i = (($$sum30$i$i) + ($720))|0; - $803 = (($tbase$247$i) + ($$sum113$i)|0); - $804 = HEAP32[$803>>2]|0; - $805 = ((20672 + ($804<<2)|0) + 304|0); - $806 = HEAP32[$805>>2]|0; - $807 = ($721|0)==($806|0); - do { - if ($807) { - HEAP32[$805>>2] = $R$1$i$i; - $cond$i$i = ($R$1$i$i|0)==(0|0); - if (!($cond$i$i)) { - break; - } - $808 = 1 << $804; - $809 = $808 ^ -1; - $810 = HEAP32[((20672 + 4|0))>>2]|0; - $811 = $810 & $809; - HEAP32[((20672 + 4|0))>>2] = $811; - break L356; - } else { - $812 = HEAP32[((20672 + 16|0))>>2]|0; - $813 = ($774>>>0)<($812>>>0); - if ($813) { - _abort(); - // unreachable; - } - $814 = (($774) + 16|0); - $815 = HEAP32[$814>>2]|0; - $816 = ($815|0)==($721|0); - if ($816) { - HEAP32[$814>>2] = $R$1$i$i; - } else { - $817 = (($774) + 20|0); - HEAP32[$817>>2] = $R$1$i$i; - } - $818 = ($R$1$i$i|0)==(0|0); - if ($818) { - break L356; - } - } - } while(0); - $819 = HEAP32[((20672 + 16|0))>>2]|0; - $820 = ($R$1$i$i>>>0)<($819>>>0); - if ($820) { - _abort(); - // unreachable; - } - $821 = (($R$1$i$i) + 24|0); - HEAP32[$821>>2] = $774; - $$sum3132$i$i = $720 | 16; - $$sum114$i = (($$sum3132$i$i) + ($tsize$246$i))|0; - $822 = (($tbase$247$i) + ($$sum114$i)|0); - $823 = HEAP32[$822>>2]|0; - $824 = ($823|0)==(0|0); - do { - if (!($824)) { - $825 = HEAP32[((20672 + 16|0))>>2]|0; - $826 = ($823>>>0)<($825>>>0); - if ($826) { - _abort(); - // unreachable; - } else { - $827 = (($R$1$i$i) + 16|0); - HEAP32[$827>>2] = $823; - $828 = (($823) + 24|0); - HEAP32[$828>>2] = $R$1$i$i; - break; - } - } - } while(0); - $$sum115$i = (($$sum2$i23$i) + ($$sum3132$i$i))|0; - $829 = (($tbase$247$i) + ($$sum115$i)|0); - $830 = HEAP32[$829>>2]|0; - $831 = ($830|0)==(0|0); - if ($831) { - break; - } - $832 = HEAP32[((20672 + 16|0))>>2]|0; - $833 = ($830>>>0)<($832>>>0); - if ($833) { - _abort(); - // unreachable; - } else { - $834 = (($R$1$i$i) + 20|0); - HEAP32[$834>>2] = $830; - $835 = (($830) + 24|0); - HEAP32[$835>>2] = $R$1$i$i; - break; - } - } - } while(0); - $$sum9$i$i = $746 | $720; - $$sum116$i = (($$sum9$i$i) + ($tsize$246$i))|0; - $836 = (($tbase$247$i) + ($$sum116$i)|0); - $837 = (($746) + ($726))|0; - $oldfirst$0$i$i = $836;$qsize$0$i$i = $837; - } else { - $oldfirst$0$i$i = $721;$qsize$0$i$i = $726; - } - $838 = (($oldfirst$0$i$i) + 4|0); - $839 = HEAP32[$838>>2]|0; - $840 = $839 & -2; - HEAP32[$838>>2] = $840; - $841 = $qsize$0$i$i | 1; - $$sum10$i$i = (($$sum$i21$i) + 4)|0; - $842 = (($tbase$247$i) + ($$sum10$i$i)|0); - HEAP32[$842>>2] = $841; - $$sum11$i24$i = (($qsize$0$i$i) + ($$sum$i21$i))|0; - $843 = (($tbase$247$i) + ($$sum11$i24$i)|0); - HEAP32[$843>>2] = $qsize$0$i$i; - $844 = $qsize$0$i$i >>> 3; - $845 = ($qsize$0$i$i>>>0)<(256); - if ($845) { - $846 = $844 << 1; - $847 = ((20672 + ($846<<2)|0) + 40|0); - $848 = HEAP32[20672>>2]|0; - $849 = 1 << $844; - $850 = $848 & $849; - $851 = ($850|0)==(0); - do { - if ($851) { - $852 = $848 | $849; - HEAP32[20672>>2] = $852; - $$sum26$pre$i$i = (($846) + 2)|0; - $$pre$i25$i = ((20672 + ($$sum26$pre$i$i<<2)|0) + 40|0); - $$pre$phi$i26$iZ2D = $$pre$i25$i;$F4$0$i$i = $847; - } else { - $$sum29$i$i = (($846) + 2)|0; - $853 = ((20672 + ($$sum29$i$i<<2)|0) + 40|0); - $854 = HEAP32[$853>>2]|0; - $855 = HEAP32[((20672 + 16|0))>>2]|0; - $856 = ($854>>>0)<($855>>>0); - if (!($856)) { - $$pre$phi$i26$iZ2D = $853;$F4$0$i$i = $854; - break; - } - _abort(); - // unreachable; - } - } while(0); - HEAP32[$$pre$phi$i26$iZ2D>>2] = $725; - $857 = (($F4$0$i$i) + 12|0); - HEAP32[$857>>2] = $725; - $$sum27$i$i = (($$sum$i21$i) + 8)|0; - $858 = (($tbase$247$i) + ($$sum27$i$i)|0); - HEAP32[$858>>2] = $F4$0$i$i; - $$sum28$i$i = (($$sum$i21$i) + 12)|0; - $859 = (($tbase$247$i) + ($$sum28$i$i)|0); - HEAP32[$859>>2] = $847; - break; - } - $860 = $qsize$0$i$i >>> 8; - $861 = ($860|0)==(0); - do { - if ($861) { - $I7$0$i$i = 0; - } else { - $862 = ($qsize$0$i$i>>>0)>(16777215); - if ($862) { - $I7$0$i$i = 31; - break; - } - $863 = (($860) + 1048320)|0; - $864 = $863 >>> 16; - $865 = $864 & 8; - $866 = $860 << $865; - $867 = (($866) + 520192)|0; - $868 = $867 >>> 16; - $869 = $868 & 4; - $870 = $869 | $865; - $871 = $866 << $869; - $872 = (($871) + 245760)|0; - $873 = $872 >>> 16; - $874 = $873 & 2; - $875 = $870 | $874; - $876 = (14 - ($875))|0; - $877 = $871 << $874; - $878 = $877 >>> 15; - $879 = (($876) + ($878))|0; - $880 = $879 << 1; - $881 = (($879) + 7)|0; - $882 = $qsize$0$i$i >>> $881; - $883 = $882 & 1; - $884 = $883 | $880; - $I7$0$i$i = $884; - } - } while(0); - $885 = ((20672 + ($I7$0$i$i<<2)|0) + 304|0); - $$sum12$i$i = (($$sum$i21$i) + 28)|0; - $886 = (($tbase$247$i) + ($$sum12$i$i)|0); - HEAP32[$886>>2] = $I7$0$i$i; - $$sum13$i$i = (($$sum$i21$i) + 16)|0; - $887 = (($tbase$247$i) + ($$sum13$i$i)|0); - $$sum14$i$i = (($$sum$i21$i) + 20)|0; - $888 = (($tbase$247$i) + ($$sum14$i$i)|0); - HEAP32[$888>>2] = 0; - HEAP32[$887>>2] = 0; - $889 = HEAP32[((20672 + 4|0))>>2]|0; - $890 = 1 << $I7$0$i$i; - $891 = $889 & $890; - $892 = ($891|0)==(0); - if ($892) { - $893 = $889 | $890; - HEAP32[((20672 + 4|0))>>2] = $893; - HEAP32[$885>>2] = $725; - $$sum15$i$i = (($$sum$i21$i) + 24)|0; - $894 = (($tbase$247$i) + ($$sum15$i$i)|0); - HEAP32[$894>>2] = $885; - $$sum16$i$i = (($$sum$i21$i) + 12)|0; - $895 = (($tbase$247$i) + ($$sum16$i$i)|0); - HEAP32[$895>>2] = $725; - $$sum17$i$i = (($$sum$i21$i) + 8)|0; - $896 = (($tbase$247$i) + ($$sum17$i$i)|0); - HEAP32[$896>>2] = $725; - break; - } - $897 = HEAP32[$885>>2]|0; - $898 = ($I7$0$i$i|0)==(31); - if ($898) { - $906 = 0; - } else { - $899 = $I7$0$i$i >>> 1; - $900 = (25 - ($899))|0; - $906 = $900; - } - $901 = (($897) + 4|0); - $902 = HEAP32[$901>>2]|0; - $903 = $902 & -8; - $904 = ($903|0)==($qsize$0$i$i|0); - L445: do { - if ($904) { - $T$0$lcssa$i28$i = $897; - } else { - $905 = $qsize$0$i$i << $906; - $K8$052$i$i = $905;$T$051$i$i = $897; - while(1) { - $913 = $K8$052$i$i >>> 31; - $914 = ((($T$051$i$i) + ($913<<2)|0) + 16|0); - $909 = HEAP32[$914>>2]|0; - $915 = ($909|0)==(0|0); - if ($915) { - break; - } - $907 = $K8$052$i$i << 1; - $908 = (($909) + 4|0); - $910 = HEAP32[$908>>2]|0; - $911 = $910 & -8; - $912 = ($911|0)==($qsize$0$i$i|0); - if ($912) { - $T$0$lcssa$i28$i = $909; - break L445; - } else { - $K8$052$i$i = $907;$T$051$i$i = $909; - } - } - $916 = HEAP32[((20672 + 16|0))>>2]|0; - $917 = ($914>>>0)<($916>>>0); - if ($917) { - _abort(); - // unreachable; - } else { - HEAP32[$914>>2] = $725; - $$sum23$i$i = (($$sum$i21$i) + 24)|0; - $918 = (($tbase$247$i) + ($$sum23$i$i)|0); - HEAP32[$918>>2] = $T$051$i$i; - $$sum24$i$i = (($$sum$i21$i) + 12)|0; - $919 = (($tbase$247$i) + ($$sum24$i$i)|0); - HEAP32[$919>>2] = $725; - $$sum25$i$i = (($$sum$i21$i) + 8)|0; - $920 = (($tbase$247$i) + ($$sum25$i$i)|0); - HEAP32[$920>>2] = $725; - break L348; - } - } - } while(0); - $921 = (($T$0$lcssa$i28$i) + 8|0); - $922 = HEAP32[$921>>2]|0; - $923 = HEAP32[((20672 + 16|0))>>2]|0; - $924 = ($T$0$lcssa$i28$i>>>0)<($923>>>0); - if ($924) { - _abort(); - // unreachable; - } - $925 = ($922>>>0)<($923>>>0); - if ($925) { - _abort(); - // unreachable; - } else { - $926 = (($922) + 12|0); - HEAP32[$926>>2] = $725; - HEAP32[$921>>2] = $725; - $$sum20$i$i = (($$sum$i21$i) + 8)|0; - $927 = (($tbase$247$i) + ($$sum20$i$i)|0); - HEAP32[$927>>2] = $922; - $$sum21$i$i = (($$sum$i21$i) + 12)|0; - $928 = (($tbase$247$i) + ($$sum21$i$i)|0); - HEAP32[$928>>2] = $T$0$lcssa$i28$i; - $$sum22$i$i = (($$sum$i21$i) + 24)|0; - $929 = (($tbase$247$i) + ($$sum22$i$i)|0); - HEAP32[$929>>2] = 0; - break; - } - } - } while(0); - $$sum1819$i$i = $713 | 8; - $930 = (($tbase$247$i) + ($$sum1819$i$i)|0); - $mem$0 = $930; - STACKTOP = sp;return ($mem$0|0); - } - } - $sp$0$i$i$i = ((20672 + 448|0)); - while(1) { - $931 = HEAP32[$sp$0$i$i$i>>2]|0; - $932 = ($931>>>0)>($636>>>0); - if (!($932)) { - $933 = (($sp$0$i$i$i) + 4|0); - $934 = HEAP32[$933>>2]|0; - $935 = (($931) + ($934)|0); - $936 = ($935>>>0)>($636>>>0); - if ($936) { - break; - } - } - $937 = (($sp$0$i$i$i) + 8|0); - $938 = HEAP32[$937>>2]|0; - $sp$0$i$i$i = $938; - } - $$sum$i15$i = (($934) + -47)|0; - $$sum1$i16$i = (($934) + -39)|0; - $939 = (($931) + ($$sum1$i16$i)|0); - $940 = $939; - $941 = $940 & 7; - $942 = ($941|0)==(0); - if ($942) { - $945 = 0; - } else { - $943 = (0 - ($940))|0; - $944 = $943 & 7; - $945 = $944; - } - $$sum2$i17$i = (($$sum$i15$i) + ($945))|0; - $946 = (($931) + ($$sum2$i17$i)|0); - $947 = (($636) + 16|0); - $948 = ($946>>>0)<($947>>>0); - $949 = $948 ? $636 : $946; - $950 = (($949) + 8|0); - $951 = (($tsize$246$i) + -40)|0; - $952 = (($tbase$247$i) + 8|0); - $953 = $952; - $954 = $953 & 7; - $955 = ($954|0)==(0); - if ($955) { - $959 = 0; - } else { - $956 = (0 - ($953))|0; - $957 = $956 & 7; - $959 = $957; - } - $958 = (($tbase$247$i) + ($959)|0); - $960 = (($951) - ($959))|0; - HEAP32[((20672 + 24|0))>>2] = $958; - HEAP32[((20672 + 12|0))>>2] = $960; - $961 = $960 | 1; - $$sum$i$i$i = (($959) + 4)|0; - $962 = (($tbase$247$i) + ($$sum$i$i$i)|0); - HEAP32[$962>>2] = $961; - $$sum2$i$i$i = (($tsize$246$i) + -36)|0; - $963 = (($tbase$247$i) + ($$sum2$i$i$i)|0); - HEAP32[$963>>2] = 40; - $964 = HEAP32[((21144 + 16|0))>>2]|0; - HEAP32[((20672 + 28|0))>>2] = $964; - $965 = (($949) + 4|0); - HEAP32[$965>>2] = 27; - ;HEAP32[$950+0>>2]=HEAP32[((20672 + 448|0))+0>>2]|0;HEAP32[$950+4>>2]=HEAP32[((20672 + 448|0))+4>>2]|0;HEAP32[$950+8>>2]=HEAP32[((20672 + 448|0))+8>>2]|0;HEAP32[$950+12>>2]=HEAP32[((20672 + 448|0))+12>>2]|0; - HEAP32[((20672 + 448|0))>>2] = $tbase$247$i; - HEAP32[((20672 + 452|0))>>2] = $tsize$246$i; - HEAP32[((20672 + 460|0))>>2] = 0; - HEAP32[((20672 + 456|0))>>2] = $950; - $966 = (($949) + 28|0); - HEAP32[$966>>2] = 7; - $967 = (($949) + 32|0); - $968 = ($967>>>0)<($935>>>0); - if ($968) { - $970 = $966; - while(1) { - $969 = (($970) + 4|0); - HEAP32[$969>>2] = 7; - $971 = (($970) + 8|0); - $972 = ($971>>>0)<($935>>>0); - if ($972) { - $970 = $969; - } else { - break; - } - } - } - $973 = ($949|0)==($636|0); - if (!($973)) { - $974 = $949; - $975 = $636; - $976 = (($974) - ($975))|0; - $977 = (($636) + ($976)|0); - $$sum3$i$i = (($976) + 4)|0; - $978 = (($636) + ($$sum3$i$i)|0); - $979 = HEAP32[$978>>2]|0; - $980 = $979 & -2; - HEAP32[$978>>2] = $980; - $981 = $976 | 1; - $982 = (($636) + 4|0); - HEAP32[$982>>2] = $981; - HEAP32[$977>>2] = $976; - $983 = $976 >>> 3; - $984 = ($976>>>0)<(256); - if ($984) { - $985 = $983 << 1; - $986 = ((20672 + ($985<<2)|0) + 40|0); - $987 = HEAP32[20672>>2]|0; - $988 = 1 << $983; - $989 = $987 & $988; - $990 = ($989|0)==(0); - do { - if ($990) { - $991 = $987 | $988; - HEAP32[20672>>2] = $991; - $$sum10$pre$i$i = (($985) + 2)|0; - $$pre$i$i = ((20672 + ($$sum10$pre$i$i<<2)|0) + 40|0); - $$pre$phi$i$iZ2D = $$pre$i$i;$F$0$i$i = $986; - } else { - $$sum11$i$i = (($985) + 2)|0; - $992 = ((20672 + ($$sum11$i$i<<2)|0) + 40|0); - $993 = HEAP32[$992>>2]|0; - $994 = HEAP32[((20672 + 16|0))>>2]|0; - $995 = ($993>>>0)<($994>>>0); - if (!($995)) { - $$pre$phi$i$iZ2D = $992;$F$0$i$i = $993; - break; - } - _abort(); - // unreachable; - } - } while(0); - HEAP32[$$pre$phi$i$iZ2D>>2] = $636; - $996 = (($F$0$i$i) + 12|0); - HEAP32[$996>>2] = $636; - $997 = (($636) + 8|0); - HEAP32[$997>>2] = $F$0$i$i; - $998 = (($636) + 12|0); - HEAP32[$998>>2] = $986; - break; - } - $999 = $976 >>> 8; - $1000 = ($999|0)==(0); - if ($1000) { - $I1$0$i$i = 0; - } else { - $1001 = ($976>>>0)>(16777215); - if ($1001) { - $I1$0$i$i = 31; - } else { - $1002 = (($999) + 1048320)|0; - $1003 = $1002 >>> 16; - $1004 = $1003 & 8; - $1005 = $999 << $1004; - $1006 = (($1005) + 520192)|0; - $1007 = $1006 >>> 16; - $1008 = $1007 & 4; - $1009 = $1008 | $1004; - $1010 = $1005 << $1008; - $1011 = (($1010) + 245760)|0; - $1012 = $1011 >>> 16; - $1013 = $1012 & 2; - $1014 = $1009 | $1013; - $1015 = (14 - ($1014))|0; - $1016 = $1010 << $1013; - $1017 = $1016 >>> 15; - $1018 = (($1015) + ($1017))|0; - $1019 = $1018 << 1; - $1020 = (($1018) + 7)|0; - $1021 = $976 >>> $1020; - $1022 = $1021 & 1; - $1023 = $1022 | $1019; - $I1$0$i$i = $1023; - } - } - $1024 = ((20672 + ($I1$0$i$i<<2)|0) + 304|0); - $1025 = (($636) + 28|0); - $I1$0$c$i$i = $I1$0$i$i; - HEAP32[$1025>>2] = $I1$0$c$i$i; - $1026 = (($636) + 20|0); - HEAP32[$1026>>2] = 0; - $1027 = (($636) + 16|0); - HEAP32[$1027>>2] = 0; - $1028 = HEAP32[((20672 + 4|0))>>2]|0; - $1029 = 1 << $I1$0$i$i; - $1030 = $1028 & $1029; - $1031 = ($1030|0)==(0); - if ($1031) { - $1032 = $1028 | $1029; - HEAP32[((20672 + 4|0))>>2] = $1032; - HEAP32[$1024>>2] = $636; - $1033 = (($636) + 24|0); - HEAP32[$1033>>2] = $1024; - $1034 = (($636) + 12|0); - HEAP32[$1034>>2] = $636; - $1035 = (($636) + 8|0); - HEAP32[$1035>>2] = $636; - break; - } - $1036 = HEAP32[$1024>>2]|0; - $1037 = ($I1$0$i$i|0)==(31); - if ($1037) { - $1045 = 0; - } else { - $1038 = $I1$0$i$i >>> 1; - $1039 = (25 - ($1038))|0; - $1045 = $1039; - } - $1040 = (($1036) + 4|0); - $1041 = HEAP32[$1040>>2]|0; - $1042 = $1041 & -8; - $1043 = ($1042|0)==($976|0); - L499: do { - if ($1043) { - $T$0$lcssa$i$i = $1036; - } else { - $1044 = $976 << $1045; - $K2$014$i$i = $1044;$T$013$i$i = $1036; - while(1) { - $1052 = $K2$014$i$i >>> 31; - $1053 = ((($T$013$i$i) + ($1052<<2)|0) + 16|0); - $1048 = HEAP32[$1053>>2]|0; - $1054 = ($1048|0)==(0|0); - if ($1054) { - break; - } - $1046 = $K2$014$i$i << 1; - $1047 = (($1048) + 4|0); - $1049 = HEAP32[$1047>>2]|0; - $1050 = $1049 & -8; - $1051 = ($1050|0)==($976|0); - if ($1051) { - $T$0$lcssa$i$i = $1048; - break L499; - } else { - $K2$014$i$i = $1046;$T$013$i$i = $1048; - } - } - $1055 = HEAP32[((20672 + 16|0))>>2]|0; - $1056 = ($1053>>>0)<($1055>>>0); - if ($1056) { - _abort(); - // unreachable; - } else { - HEAP32[$1053>>2] = $636; - $1057 = (($636) + 24|0); - HEAP32[$1057>>2] = $T$013$i$i; - $1058 = (($636) + 12|0); - HEAP32[$1058>>2] = $636; - $1059 = (($636) + 8|0); - HEAP32[$1059>>2] = $636; - break L311; - } - } - } while(0); - $1060 = (($T$0$lcssa$i$i) + 8|0); - $1061 = HEAP32[$1060>>2]|0; - $1062 = HEAP32[((20672 + 16|0))>>2]|0; - $1063 = ($T$0$lcssa$i$i>>>0)<($1062>>>0); - if ($1063) { - _abort(); - // unreachable; - } - $1064 = ($1061>>>0)<($1062>>>0); - if ($1064) { - _abort(); - // unreachable; - } else { - $1065 = (($1061) + 12|0); - HEAP32[$1065>>2] = $636; - HEAP32[$1060>>2] = $636; - $1066 = (($636) + 8|0); - HEAP32[$1066>>2] = $1061; - $1067 = (($636) + 12|0); - HEAP32[$1067>>2] = $T$0$lcssa$i$i; - $1068 = (($636) + 24|0); - HEAP32[$1068>>2] = 0; - break; - } - } - } - } while(0); - $1069 = HEAP32[((20672 + 12|0))>>2]|0; - $1070 = ($1069>>>0)>($nb$0>>>0); - if ($1070) { - $1071 = (($1069) - ($nb$0))|0; - HEAP32[((20672 + 12|0))>>2] = $1071; - $1072 = HEAP32[((20672 + 24|0))>>2]|0; - $1073 = (($1072) + ($nb$0)|0); - HEAP32[((20672 + 24|0))>>2] = $1073; - $1074 = $1071 | 1; - $$sum$i32 = (($nb$0) + 4)|0; - $1075 = (($1072) + ($$sum$i32)|0); - HEAP32[$1075>>2] = $1074; - $1076 = $nb$0 | 3; - $1077 = (($1072) + 4|0); - HEAP32[$1077>>2] = $1076; - $1078 = (($1072) + 8|0); - $mem$0 = $1078; - STACKTOP = sp;return ($mem$0|0); - } - } - $1079 = (___errno_location()|0); - HEAP32[$1079>>2] = 12; - $mem$0 = 0; - STACKTOP = sp;return ($mem$0|0); -} -function _free($mem) { - $mem = $mem|0; - var $$pre = 0, $$pre$phi68Z2D = 0, $$pre$phi70Z2D = 0, $$pre$phiZ2D = 0, $$pre67 = 0, $$pre69 = 0, $$sum = 0, $$sum16$pre = 0, $$sum17 = 0, $$sum18 = 0, $$sum19 = 0, $$sum2 = 0, $$sum20 = 0, $$sum2324 = 0, $$sum25 = 0, $$sum26 = 0, $$sum28 = 0, $$sum29 = 0, $$sum3 = 0, $$sum30 = 0; - var $$sum31 = 0, $$sum32 = 0, $$sum33 = 0, $$sum34 = 0, $$sum35 = 0, $$sum36 = 0, $$sum37 = 0, $$sum5 = 0, $$sum67 = 0, $$sum8 = 0, $$sum9 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0; - var $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0; - var $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0; - var $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0; - var $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0; - var $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0; - var $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0; - var $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0; - var $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0; - var $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0; - var $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0; - var $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0; - var $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0; - var $322 = 0, $323 = 0, $324 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0; - var $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0; - var $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0; - var $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $F16$0 = 0, $I18$0 = 0, $I18$0$c = 0, $K19$057 = 0; - var $R$0 = 0, $R$1 = 0, $R7$0 = 0, $R7$1 = 0, $RP$0 = 0, $RP9$0 = 0, $T$0$lcssa = 0, $T$056 = 0, $cond = 0, $cond54 = 0, $p$0 = 0, $psize$0 = 0, $psize$1 = 0, $sp$0$i = 0, $sp$0$in$i = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ($mem|0)==(0|0); - if ($0) { - STACKTOP = sp;return; - } - $1 = (($mem) + -8|0); - $2 = HEAP32[((20672 + 16|0))>>2]|0; - $3 = ($1>>>0)<($2>>>0); - if ($3) { - _abort(); - // unreachable; - } - $4 = (($mem) + -4|0); - $5 = HEAP32[$4>>2]|0; - $6 = $5 & 3; - $7 = ($6|0)==(1); - if ($7) { - _abort(); - // unreachable; - } - $8 = $5 & -8; - $$sum = (($8) + -8)|0; - $9 = (($mem) + ($$sum)|0); - $10 = $5 & 1; - $11 = ($10|0)==(0); - do { - if ($11) { - $12 = HEAP32[$1>>2]|0; - $13 = ($6|0)==(0); - if ($13) { - STACKTOP = sp;return; - } - $$sum2 = (-8 - ($12))|0; - $14 = (($mem) + ($$sum2)|0); - $15 = (($12) + ($8))|0; - $16 = ($14>>>0)<($2>>>0); - if ($16) { - _abort(); - // unreachable; - } - $17 = HEAP32[((20672 + 20|0))>>2]|0; - $18 = ($14|0)==($17|0); - if ($18) { - $$sum3 = (($8) + -4)|0; - $104 = (($mem) + ($$sum3)|0); - $105 = HEAP32[$104>>2]|0; - $106 = $105 & 3; - $107 = ($106|0)==(3); - if (!($107)) { - $p$0 = $14;$psize$0 = $15; - break; - } - HEAP32[((20672 + 8|0))>>2] = $15; - $108 = HEAP32[$104>>2]|0; - $109 = $108 & -2; - HEAP32[$104>>2] = $109; - $110 = $15 | 1; - $$sum26 = (($$sum2) + 4)|0; - $111 = (($mem) + ($$sum26)|0); - HEAP32[$111>>2] = $110; - HEAP32[$9>>2] = $15; - STACKTOP = sp;return; - } - $19 = $12 >>> 3; - $20 = ($12>>>0)<(256); - if ($20) { - $$sum36 = (($$sum2) + 8)|0; - $21 = (($mem) + ($$sum36)|0); - $22 = HEAP32[$21>>2]|0; - $$sum37 = (($$sum2) + 12)|0; - $23 = (($mem) + ($$sum37)|0); - $24 = HEAP32[$23>>2]|0; - $25 = $19 << 1; - $26 = ((20672 + ($25<<2)|0) + 40|0); - $27 = ($22|0)==($26|0); - if (!($27)) { - $28 = ($22>>>0)<($2>>>0); - if ($28) { - _abort(); - // unreachable; - } - $29 = (($22) + 12|0); - $30 = HEAP32[$29>>2]|0; - $31 = ($30|0)==($14|0); - if (!($31)) { - _abort(); - // unreachable; - } - } - $32 = ($24|0)==($22|0); - if ($32) { - $33 = 1 << $19; - $34 = $33 ^ -1; - $35 = HEAP32[20672>>2]|0; - $36 = $35 & $34; - HEAP32[20672>>2] = $36; - $p$0 = $14;$psize$0 = $15; - break; - } - $37 = ($24|0)==($26|0); - if ($37) { - $$pre69 = (($24) + 8|0); - $$pre$phi70Z2D = $$pre69; - } else { - $38 = ($24>>>0)<($2>>>0); - if ($38) { - _abort(); - // unreachable; - } - $39 = (($24) + 8|0); - $40 = HEAP32[$39>>2]|0; - $41 = ($40|0)==($14|0); - if ($41) { - $$pre$phi70Z2D = $39; - } else { - _abort(); - // unreachable; - } - } - $42 = (($22) + 12|0); - HEAP32[$42>>2] = $24; - HEAP32[$$pre$phi70Z2D>>2] = $22; - $p$0 = $14;$psize$0 = $15; - break; - } - $$sum28 = (($$sum2) + 24)|0; - $43 = (($mem) + ($$sum28)|0); - $44 = HEAP32[$43>>2]|0; - $$sum29 = (($$sum2) + 12)|0; - $45 = (($mem) + ($$sum29)|0); - $46 = HEAP32[$45>>2]|0; - $47 = ($46|0)==($14|0); - do { - if ($47) { - $$sum31 = (($$sum2) + 20)|0; - $57 = (($mem) + ($$sum31)|0); - $58 = HEAP32[$57>>2]|0; - $59 = ($58|0)==(0|0); - if ($59) { - $$sum30 = (($$sum2) + 16)|0; - $60 = (($mem) + ($$sum30)|0); - $61 = HEAP32[$60>>2]|0; - $62 = ($61|0)==(0|0); - if ($62) { - $R$1 = 0; - break; - } else { - $R$0 = $61;$RP$0 = $60; - } - } else { - $R$0 = $58;$RP$0 = $57; - } - while(1) { - $63 = (($R$0) + 20|0); - $64 = HEAP32[$63>>2]|0; - $65 = ($64|0)==(0|0); - if (!($65)) { - $R$0 = $64;$RP$0 = $63; - continue; - } - $66 = (($R$0) + 16|0); - $67 = HEAP32[$66>>2]|0; - $68 = ($67|0)==(0|0); - if ($68) { - break; - } else { - $R$0 = $67;$RP$0 = $66; - } - } - $69 = ($RP$0>>>0)<($2>>>0); - if ($69) { - _abort(); - // unreachable; - } else { - HEAP32[$RP$0>>2] = 0; - $R$1 = $R$0; - break; - } - } else { - $$sum35 = (($$sum2) + 8)|0; - $48 = (($mem) + ($$sum35)|0); - $49 = HEAP32[$48>>2]|0; - $50 = ($49>>>0)<($2>>>0); - if ($50) { - _abort(); - // unreachable; - } - $51 = (($49) + 12|0); - $52 = HEAP32[$51>>2]|0; - $53 = ($52|0)==($14|0); - if (!($53)) { - _abort(); - // unreachable; - } - $54 = (($46) + 8|0); - $55 = HEAP32[$54>>2]|0; - $56 = ($55|0)==($14|0); - if ($56) { - HEAP32[$51>>2] = $46; - HEAP32[$54>>2] = $49; - $R$1 = $46; - break; - } else { - _abort(); - // unreachable; - } - } - } while(0); - $70 = ($44|0)==(0|0); - if ($70) { - $p$0 = $14;$psize$0 = $15; - } else { - $$sum32 = (($$sum2) + 28)|0; - $71 = (($mem) + ($$sum32)|0); - $72 = HEAP32[$71>>2]|0; - $73 = ((20672 + ($72<<2)|0) + 304|0); - $74 = HEAP32[$73>>2]|0; - $75 = ($14|0)==($74|0); - if ($75) { - HEAP32[$73>>2] = $R$1; - $cond = ($R$1|0)==(0|0); - if ($cond) { - $76 = 1 << $72; - $77 = $76 ^ -1; - $78 = HEAP32[((20672 + 4|0))>>2]|0; - $79 = $78 & $77; - HEAP32[((20672 + 4|0))>>2] = $79; - $p$0 = $14;$psize$0 = $15; - break; - } - } else { - $80 = HEAP32[((20672 + 16|0))>>2]|0; - $81 = ($44>>>0)<($80>>>0); - if ($81) { - _abort(); - // unreachable; - } - $82 = (($44) + 16|0); - $83 = HEAP32[$82>>2]|0; - $84 = ($83|0)==($14|0); - if ($84) { - HEAP32[$82>>2] = $R$1; - } else { - $85 = (($44) + 20|0); - HEAP32[$85>>2] = $R$1; - } - $86 = ($R$1|0)==(0|0); - if ($86) { - $p$0 = $14;$psize$0 = $15; - break; - } - } - $87 = HEAP32[((20672 + 16|0))>>2]|0; - $88 = ($R$1>>>0)<($87>>>0); - if ($88) { - _abort(); - // unreachable; - } - $89 = (($R$1) + 24|0); - HEAP32[$89>>2] = $44; - $$sum33 = (($$sum2) + 16)|0; - $90 = (($mem) + ($$sum33)|0); - $91 = HEAP32[$90>>2]|0; - $92 = ($91|0)==(0|0); - do { - if (!($92)) { - $93 = HEAP32[((20672 + 16|0))>>2]|0; - $94 = ($91>>>0)<($93>>>0); - if ($94) { - _abort(); - // unreachable; - } else { - $95 = (($R$1) + 16|0); - HEAP32[$95>>2] = $91; - $96 = (($91) + 24|0); - HEAP32[$96>>2] = $R$1; - break; - } - } - } while(0); - $$sum34 = (($$sum2) + 20)|0; - $97 = (($mem) + ($$sum34)|0); - $98 = HEAP32[$97>>2]|0; - $99 = ($98|0)==(0|0); - if ($99) { - $p$0 = $14;$psize$0 = $15; - } else { - $100 = HEAP32[((20672 + 16|0))>>2]|0; - $101 = ($98>>>0)<($100>>>0); - if ($101) { - _abort(); - // unreachable; - } else { - $102 = (($R$1) + 20|0); - HEAP32[$102>>2] = $98; - $103 = (($98) + 24|0); - HEAP32[$103>>2] = $R$1; - $p$0 = $14;$psize$0 = $15; - break; - } - } - } - } else { - $p$0 = $1;$psize$0 = $8; - } - } while(0); - $112 = ($p$0>>>0)<($9>>>0); - if (!($112)) { - _abort(); - // unreachable; - } - $$sum25 = (($8) + -4)|0; - $113 = (($mem) + ($$sum25)|0); - $114 = HEAP32[$113>>2]|0; - $115 = $114 & 1; - $116 = ($115|0)==(0); - if ($116) { - _abort(); - // unreachable; - } - $117 = $114 & 2; - $118 = ($117|0)==(0); - if ($118) { - $119 = HEAP32[((20672 + 24|0))>>2]|0; - $120 = ($9|0)==($119|0); - if ($120) { - $121 = HEAP32[((20672 + 12|0))>>2]|0; - $122 = (($121) + ($psize$0))|0; - HEAP32[((20672 + 12|0))>>2] = $122; - HEAP32[((20672 + 24|0))>>2] = $p$0; - $123 = $122 | 1; - $124 = (($p$0) + 4|0); - HEAP32[$124>>2] = $123; - $125 = HEAP32[((20672 + 20|0))>>2]|0; - $126 = ($p$0|0)==($125|0); - if (!($126)) { - STACKTOP = sp;return; - } - HEAP32[((20672 + 20|0))>>2] = 0; - HEAP32[((20672 + 8|0))>>2] = 0; - STACKTOP = sp;return; - } - $127 = HEAP32[((20672 + 20|0))>>2]|0; - $128 = ($9|0)==($127|0); - if ($128) { - $129 = HEAP32[((20672 + 8|0))>>2]|0; - $130 = (($129) + ($psize$0))|0; - HEAP32[((20672 + 8|0))>>2] = $130; - HEAP32[((20672 + 20|0))>>2] = $p$0; - $131 = $130 | 1; - $132 = (($p$0) + 4|0); - HEAP32[$132>>2] = $131; - $133 = (($p$0) + ($130)|0); - HEAP32[$133>>2] = $130; - STACKTOP = sp;return; - } - $134 = $114 & -8; - $135 = (($134) + ($psize$0))|0; - $136 = $114 >>> 3; - $137 = ($114>>>0)<(256); - do { - if ($137) { - $138 = (($mem) + ($8)|0); - $139 = HEAP32[$138>>2]|0; - $$sum2324 = $8 | 4; - $140 = (($mem) + ($$sum2324)|0); - $141 = HEAP32[$140>>2]|0; - $142 = $136 << 1; - $143 = ((20672 + ($142<<2)|0) + 40|0); - $144 = ($139|0)==($143|0); - if (!($144)) { - $145 = HEAP32[((20672 + 16|0))>>2]|0; - $146 = ($139>>>0)<($145>>>0); - if ($146) { - _abort(); - // unreachable; - } - $147 = (($139) + 12|0); - $148 = HEAP32[$147>>2]|0; - $149 = ($148|0)==($9|0); - if (!($149)) { - _abort(); - // unreachable; - } - } - $150 = ($141|0)==($139|0); - if ($150) { - $151 = 1 << $136; - $152 = $151 ^ -1; - $153 = HEAP32[20672>>2]|0; - $154 = $153 & $152; - HEAP32[20672>>2] = $154; - break; - } - $155 = ($141|0)==($143|0); - if ($155) { - $$pre67 = (($141) + 8|0); - $$pre$phi68Z2D = $$pre67; - } else { - $156 = HEAP32[((20672 + 16|0))>>2]|0; - $157 = ($141>>>0)<($156>>>0); - if ($157) { - _abort(); - // unreachable; - } - $158 = (($141) + 8|0); - $159 = HEAP32[$158>>2]|0; - $160 = ($159|0)==($9|0); - if ($160) { - $$pre$phi68Z2D = $158; - } else { - _abort(); - // unreachable; - } - } - $161 = (($139) + 12|0); - HEAP32[$161>>2] = $141; - HEAP32[$$pre$phi68Z2D>>2] = $139; - } else { - $$sum5 = (($8) + 16)|0; - $162 = (($mem) + ($$sum5)|0); - $163 = HEAP32[$162>>2]|0; - $$sum67 = $8 | 4; - $164 = (($mem) + ($$sum67)|0); - $165 = HEAP32[$164>>2]|0; - $166 = ($165|0)==($9|0); - do { - if ($166) { - $$sum9 = (($8) + 12)|0; - $177 = (($mem) + ($$sum9)|0); - $178 = HEAP32[$177>>2]|0; - $179 = ($178|0)==(0|0); - if ($179) { - $$sum8 = (($8) + 8)|0; - $180 = (($mem) + ($$sum8)|0); - $181 = HEAP32[$180>>2]|0; - $182 = ($181|0)==(0|0); - if ($182) { - $R7$1 = 0; - break; - } else { - $R7$0 = $181;$RP9$0 = $180; - } - } else { - $R7$0 = $178;$RP9$0 = $177; - } - while(1) { - $183 = (($R7$0) + 20|0); - $184 = HEAP32[$183>>2]|0; - $185 = ($184|0)==(0|0); - if (!($185)) { - $R7$0 = $184;$RP9$0 = $183; - continue; - } - $186 = (($R7$0) + 16|0); - $187 = HEAP32[$186>>2]|0; - $188 = ($187|0)==(0|0); - if ($188) { - break; - } else { - $R7$0 = $187;$RP9$0 = $186; - } - } - $189 = HEAP32[((20672 + 16|0))>>2]|0; - $190 = ($RP9$0>>>0)<($189>>>0); - if ($190) { - _abort(); - // unreachable; - } else { - HEAP32[$RP9$0>>2] = 0; - $R7$1 = $R7$0; - break; - } - } else { - $167 = (($mem) + ($8)|0); - $168 = HEAP32[$167>>2]|0; - $169 = HEAP32[((20672 + 16|0))>>2]|0; - $170 = ($168>>>0)<($169>>>0); - if ($170) { - _abort(); - // unreachable; - } - $171 = (($168) + 12|0); - $172 = HEAP32[$171>>2]|0; - $173 = ($172|0)==($9|0); - if (!($173)) { - _abort(); - // unreachable; - } - $174 = (($165) + 8|0); - $175 = HEAP32[$174>>2]|0; - $176 = ($175|0)==($9|0); - if ($176) { - HEAP32[$171>>2] = $165; - HEAP32[$174>>2] = $168; - $R7$1 = $165; - break; - } else { - _abort(); - // unreachable; - } - } - } while(0); - $191 = ($163|0)==(0|0); - if (!($191)) { - $$sum18 = (($8) + 20)|0; - $192 = (($mem) + ($$sum18)|0); - $193 = HEAP32[$192>>2]|0; - $194 = ((20672 + ($193<<2)|0) + 304|0); - $195 = HEAP32[$194>>2]|0; - $196 = ($9|0)==($195|0); - if ($196) { - HEAP32[$194>>2] = $R7$1; - $cond54 = ($R7$1|0)==(0|0); - if ($cond54) { - $197 = 1 << $193; - $198 = $197 ^ -1; - $199 = HEAP32[((20672 + 4|0))>>2]|0; - $200 = $199 & $198; - HEAP32[((20672 + 4|0))>>2] = $200; - break; - } - } else { - $201 = HEAP32[((20672 + 16|0))>>2]|0; - $202 = ($163>>>0)<($201>>>0); - if ($202) { - _abort(); - // unreachable; - } - $203 = (($163) + 16|0); - $204 = HEAP32[$203>>2]|0; - $205 = ($204|0)==($9|0); - if ($205) { - HEAP32[$203>>2] = $R7$1; - } else { - $206 = (($163) + 20|0); - HEAP32[$206>>2] = $R7$1; - } - $207 = ($R7$1|0)==(0|0); - if ($207) { - break; - } - } - $208 = HEAP32[((20672 + 16|0))>>2]|0; - $209 = ($R7$1>>>0)<($208>>>0); - if ($209) { - _abort(); - // unreachable; - } - $210 = (($R7$1) + 24|0); - HEAP32[$210>>2] = $163; - $$sum19 = (($8) + 8)|0; - $211 = (($mem) + ($$sum19)|0); - $212 = HEAP32[$211>>2]|0; - $213 = ($212|0)==(0|0); - do { - if (!($213)) { - $214 = HEAP32[((20672 + 16|0))>>2]|0; - $215 = ($212>>>0)<($214>>>0); - if ($215) { - _abort(); - // unreachable; - } else { - $216 = (($R7$1) + 16|0); - HEAP32[$216>>2] = $212; - $217 = (($212) + 24|0); - HEAP32[$217>>2] = $R7$1; - break; - } - } - } while(0); - $$sum20 = (($8) + 12)|0; - $218 = (($mem) + ($$sum20)|0); - $219 = HEAP32[$218>>2]|0; - $220 = ($219|0)==(0|0); - if (!($220)) { - $221 = HEAP32[((20672 + 16|0))>>2]|0; - $222 = ($219>>>0)<($221>>>0); - if ($222) { - _abort(); - // unreachable; - } else { - $223 = (($R7$1) + 20|0); - HEAP32[$223>>2] = $219; - $224 = (($219) + 24|0); - HEAP32[$224>>2] = $R7$1; - break; - } - } - } - } - } while(0); - $225 = $135 | 1; - $226 = (($p$0) + 4|0); - HEAP32[$226>>2] = $225; - $227 = (($p$0) + ($135)|0); - HEAP32[$227>>2] = $135; - $228 = HEAP32[((20672 + 20|0))>>2]|0; - $229 = ($p$0|0)==($228|0); - if ($229) { - HEAP32[((20672 + 8|0))>>2] = $135; - STACKTOP = sp;return; - } else { - $psize$1 = $135; - } - } else { - $230 = $114 & -2; - HEAP32[$113>>2] = $230; - $231 = $psize$0 | 1; - $232 = (($p$0) + 4|0); - HEAP32[$232>>2] = $231; - $233 = (($p$0) + ($psize$0)|0); - HEAP32[$233>>2] = $psize$0; - $psize$1 = $psize$0; - } - $234 = $psize$1 >>> 3; - $235 = ($psize$1>>>0)<(256); - if ($235) { - $236 = $234 << 1; - $237 = ((20672 + ($236<<2)|0) + 40|0); - $238 = HEAP32[20672>>2]|0; - $239 = 1 << $234; - $240 = $238 & $239; - $241 = ($240|0)==(0); - if ($241) { - $242 = $238 | $239; - HEAP32[20672>>2] = $242; - $$sum16$pre = (($236) + 2)|0; - $$pre = ((20672 + ($$sum16$pre<<2)|0) + 40|0); - $$pre$phiZ2D = $$pre;$F16$0 = $237; - } else { - $$sum17 = (($236) + 2)|0; - $243 = ((20672 + ($$sum17<<2)|0) + 40|0); - $244 = HEAP32[$243>>2]|0; - $245 = HEAP32[((20672 + 16|0))>>2]|0; - $246 = ($244>>>0)<($245>>>0); - if ($246) { - _abort(); - // unreachable; - } else { - $$pre$phiZ2D = $243;$F16$0 = $244; - } - } - HEAP32[$$pre$phiZ2D>>2] = $p$0; - $247 = (($F16$0) + 12|0); - HEAP32[$247>>2] = $p$0; - $248 = (($p$0) + 8|0); - HEAP32[$248>>2] = $F16$0; - $249 = (($p$0) + 12|0); - HEAP32[$249>>2] = $237; - STACKTOP = sp;return; - } - $250 = $psize$1 >>> 8; - $251 = ($250|0)==(0); - if ($251) { - $I18$0 = 0; - } else { - $252 = ($psize$1>>>0)>(16777215); - if ($252) { - $I18$0 = 31; - } else { - $253 = (($250) + 1048320)|0; - $254 = $253 >>> 16; - $255 = $254 & 8; - $256 = $250 << $255; - $257 = (($256) + 520192)|0; - $258 = $257 >>> 16; - $259 = $258 & 4; - $260 = $259 | $255; - $261 = $256 << $259; - $262 = (($261) + 245760)|0; - $263 = $262 >>> 16; - $264 = $263 & 2; - $265 = $260 | $264; - $266 = (14 - ($265))|0; - $267 = $261 << $264; - $268 = $267 >>> 15; - $269 = (($266) + ($268))|0; - $270 = $269 << 1; - $271 = (($269) + 7)|0; - $272 = $psize$1 >>> $271; - $273 = $272 & 1; - $274 = $273 | $270; - $I18$0 = $274; - } - } - $275 = ((20672 + ($I18$0<<2)|0) + 304|0); - $276 = (($p$0) + 28|0); - $I18$0$c = $I18$0; - HEAP32[$276>>2] = $I18$0$c; - $277 = (($p$0) + 20|0); - HEAP32[$277>>2] = 0; - $278 = (($p$0) + 16|0); - HEAP32[$278>>2] = 0; - $279 = HEAP32[((20672 + 4|0))>>2]|0; - $280 = 1 << $I18$0; - $281 = $279 & $280; - $282 = ($281|0)==(0); - L199: do { - if ($282) { - $283 = $279 | $280; - HEAP32[((20672 + 4|0))>>2] = $283; - HEAP32[$275>>2] = $p$0; - $284 = (($p$0) + 24|0); - HEAP32[$284>>2] = $275; - $285 = (($p$0) + 12|0); - HEAP32[$285>>2] = $p$0; - $286 = (($p$0) + 8|0); - HEAP32[$286>>2] = $p$0; - } else { - $287 = HEAP32[$275>>2]|0; - $288 = ($I18$0|0)==(31); - if ($288) { - $296 = 0; - } else { - $289 = $I18$0 >>> 1; - $290 = (25 - ($289))|0; - $296 = $290; - } - $291 = (($287) + 4|0); - $292 = HEAP32[$291>>2]|0; - $293 = $292 & -8; - $294 = ($293|0)==($psize$1|0); - L204: do { - if ($294) { - $T$0$lcssa = $287; - } else { - $295 = $psize$1 << $296; - $K19$057 = $295;$T$056 = $287; - while(1) { - $303 = $K19$057 >>> 31; - $304 = ((($T$056) + ($303<<2)|0) + 16|0); - $299 = HEAP32[$304>>2]|0; - $305 = ($299|0)==(0|0); - if ($305) { - break; - } - $297 = $K19$057 << 1; - $298 = (($299) + 4|0); - $300 = HEAP32[$298>>2]|0; - $301 = $300 & -8; - $302 = ($301|0)==($psize$1|0); - if ($302) { - $T$0$lcssa = $299; - break L204; - } else { - $K19$057 = $297;$T$056 = $299; - } - } - $306 = HEAP32[((20672 + 16|0))>>2]|0; - $307 = ($304>>>0)<($306>>>0); - if ($307) { - _abort(); - // unreachable; - } else { - HEAP32[$304>>2] = $p$0; - $308 = (($p$0) + 24|0); - HEAP32[$308>>2] = $T$056; - $309 = (($p$0) + 12|0); - HEAP32[$309>>2] = $p$0; - $310 = (($p$0) + 8|0); - HEAP32[$310>>2] = $p$0; - break L199; - } - } - } while(0); - $311 = (($T$0$lcssa) + 8|0); - $312 = HEAP32[$311>>2]|0; - $313 = HEAP32[((20672 + 16|0))>>2]|0; - $314 = ($T$0$lcssa>>>0)<($313>>>0); - if ($314) { - _abort(); - // unreachable; - } - $315 = ($312>>>0)<($313>>>0); - if ($315) { - _abort(); - // unreachable; - } else { - $316 = (($312) + 12|0); - HEAP32[$316>>2] = $p$0; - HEAP32[$311>>2] = $p$0; - $317 = (($p$0) + 8|0); - HEAP32[$317>>2] = $312; - $318 = (($p$0) + 12|0); - HEAP32[$318>>2] = $T$0$lcssa; - $319 = (($p$0) + 24|0); - HEAP32[$319>>2] = 0; - break; - } - } - } while(0); - $320 = HEAP32[((20672 + 32|0))>>2]|0; - $321 = (($320) + -1)|0; - HEAP32[((20672 + 32|0))>>2] = $321; - $322 = ($321|0)==(0); - if ($322) { - $sp$0$in$i = ((20672 + 456|0)); - } else { - STACKTOP = sp;return; - } - while(1) { - $sp$0$i = HEAP32[$sp$0$in$i>>2]|0; - $323 = ($sp$0$i|0)==(0|0); - $324 = (($sp$0$i) + 8|0); - if ($323) { - break; - } else { - $sp$0$in$i = $324; - } - } - HEAP32[((20672 + 32|0))>>2] = -1; - STACKTOP = sp;return; -} -function _realloc($oldmem,$bytes) { - $oldmem = $oldmem|0; - $bytes = $bytes|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0; - var $7 = 0, $8 = 0, $9 = 0, $mem$0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ($oldmem|0)==(0|0); - do { - if ($0) { - $1 = (_malloc($bytes)|0); - $mem$0 = $1; - } else { - $2 = ($bytes>>>0)>(4294967231); - if ($2) { - $3 = (___errno_location()|0); - HEAP32[$3>>2] = 12; - $mem$0 = 0; - break; - } - $4 = ($bytes>>>0)<(11); - if ($4) { - $8 = 16; - } else { - $5 = (($bytes) + 11)|0; - $6 = $5 & -8; - $8 = $6; - } - $7 = (($oldmem) + -8|0); - $9 = (_try_realloc_chunk($7,$8)|0); - $10 = ($9|0)==(0|0); - if (!($10)) { - $11 = (($9) + 8|0); - $mem$0 = $11; - break; - } - $12 = (_malloc($bytes)|0); - $13 = ($12|0)==(0|0); - if ($13) { - $mem$0 = 0; - } else { - $14 = (($oldmem) + -4|0); - $15 = HEAP32[$14>>2]|0; - $16 = $15 & -8; - $17 = $15 & 3; - $18 = ($17|0)==(0); - $19 = $18 ? 8 : 4; - $20 = (($16) - ($19))|0; - $21 = ($20>>>0)<($bytes>>>0); - $22 = $21 ? $20 : $bytes; - _memcpy(($12|0),($oldmem|0),($22|0))|0; - _free($oldmem); - $mem$0 = $12; - } - } - } while(0); - STACKTOP = sp;return ($mem$0|0); -} -function _try_realloc_chunk($p,$nb) { - $p = $p|0; - $nb = $nb|0; - var $$pre = 0, $$pre$phiZ2D = 0, $$sum = 0, $$sum11 = 0, $$sum12 = 0, $$sum13 = 0, $$sum14 = 0, $$sum15 = 0, $$sum16 = 0, $$sum17 = 0, $$sum19 = 0, $$sum2 = 0, $$sum20 = 0, $$sum22 = 0, $$sum23 = 0, $$sum2728 = 0, $$sum3 = 0, $$sum4 = 0, $$sum5 = 0, $$sum78 = 0; - var $$sum910 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0; - var $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0; - var $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0; - var $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0; - var $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; - var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; - var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0; - var $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0; - var $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $R$0 = 0, $R$1 = 0, $RP$0 = 0; - var $cond = 0, $newp$0 = 0, $or$cond = 0, $storemerge = 0, $storemerge21 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (($p) + 4|0); - $1 = HEAP32[$0>>2]|0; - $2 = $1 & -8; - $3 = (($p) + ($2)|0); - $4 = HEAP32[((20672 + 16|0))>>2]|0; - $5 = ($p>>>0)<($4>>>0); - if ($5) { - _abort(); - // unreachable; - } - $6 = $1 & 3; - $7 = ($6|0)!=(1); - $8 = ($p>>>0)<($3>>>0); - $or$cond = $7 & $8; - if (!($or$cond)) { - _abort(); - // unreachable; - } - $$sum2728 = $2 | 4; - $9 = (($p) + ($$sum2728)|0); - $10 = HEAP32[$9>>2]|0; - $11 = $10 & 1; - $12 = ($11|0)==(0); - if ($12) { - _abort(); - // unreachable; - } - $13 = ($6|0)==(0); - if ($13) { - $14 = ($nb>>>0)<(256); - if ($14) { - $newp$0 = 0; - STACKTOP = sp;return ($newp$0|0); - } - $15 = (($nb) + 4)|0; - $16 = ($2>>>0)<($15>>>0); - if (!($16)) { - $17 = (($2) - ($nb))|0; - $18 = HEAP32[((21144 + 8|0))>>2]|0; - $19 = $18 << 1; - $20 = ($17>>>0)>($19>>>0); - if (!($20)) { - $newp$0 = $p; - STACKTOP = sp;return ($newp$0|0); - } - } - $newp$0 = 0; - STACKTOP = sp;return ($newp$0|0); - } - $21 = ($2>>>0)<($nb>>>0); - if (!($21)) { - $22 = (($2) - ($nb))|0; - $23 = ($22>>>0)>(15); - if (!($23)) { - $newp$0 = $p; - STACKTOP = sp;return ($newp$0|0); - } - $24 = (($p) + ($nb)|0); - $25 = $1 & 1; - $26 = $25 | $nb; - $27 = $26 | 2; - HEAP32[$0>>2] = $27; - $$sum23 = (($nb) + 4)|0; - $28 = (($p) + ($$sum23)|0); - $29 = $22 | 3; - HEAP32[$28>>2] = $29; - $30 = HEAP32[$9>>2]|0; - $31 = $30 | 1; - HEAP32[$9>>2] = $31; - _dispose_chunk($24,$22); - $newp$0 = $p; - STACKTOP = sp;return ($newp$0|0); - } - $32 = HEAP32[((20672 + 24|0))>>2]|0; - $33 = ($3|0)==($32|0); - if ($33) { - $34 = HEAP32[((20672 + 12|0))>>2]|0; - $35 = (($34) + ($2))|0; - $36 = ($35>>>0)>($nb>>>0); - if (!($36)) { - $newp$0 = 0; - STACKTOP = sp;return ($newp$0|0); - } - $37 = (($35) - ($nb))|0; - $38 = (($p) + ($nb)|0); - $39 = $1 & 1; - $40 = $39 | $nb; - $41 = $40 | 2; - HEAP32[$0>>2] = $41; - $$sum22 = (($nb) + 4)|0; - $42 = (($p) + ($$sum22)|0); - $43 = $37 | 1; - HEAP32[$42>>2] = $43; - HEAP32[((20672 + 24|0))>>2] = $38; - HEAP32[((20672 + 12|0))>>2] = $37; - $newp$0 = $p; - STACKTOP = sp;return ($newp$0|0); - } - $44 = HEAP32[((20672 + 20|0))>>2]|0; - $45 = ($3|0)==($44|0); - if ($45) { - $46 = HEAP32[((20672 + 8|0))>>2]|0; - $47 = (($46) + ($2))|0; - $48 = ($47>>>0)<($nb>>>0); - if ($48) { - $newp$0 = 0; - STACKTOP = sp;return ($newp$0|0); - } - $49 = (($47) - ($nb))|0; - $50 = ($49>>>0)>(15); - if ($50) { - $51 = (($p) + ($nb)|0); - $52 = (($p) + ($47)|0); - $53 = $1 & 1; - $54 = $53 | $nb; - $55 = $54 | 2; - HEAP32[$0>>2] = $55; - $$sum19 = (($nb) + 4)|0; - $56 = (($p) + ($$sum19)|0); - $57 = $49 | 1; - HEAP32[$56>>2] = $57; - HEAP32[$52>>2] = $49; - $$sum20 = (($47) + 4)|0; - $58 = (($p) + ($$sum20)|0); - $59 = HEAP32[$58>>2]|0; - $60 = $59 & -2; - HEAP32[$58>>2] = $60; - $storemerge = $51;$storemerge21 = $49; - } else { - $61 = $1 & 1; - $62 = $61 | $47; - $63 = $62 | 2; - HEAP32[$0>>2] = $63; - $$sum17 = (($47) + 4)|0; - $64 = (($p) + ($$sum17)|0); - $65 = HEAP32[$64>>2]|0; - $66 = $65 | 1; - HEAP32[$64>>2] = $66; - $storemerge = 0;$storemerge21 = 0; - } - HEAP32[((20672 + 8|0))>>2] = $storemerge21; - HEAP32[((20672 + 20|0))>>2] = $storemerge; - $newp$0 = $p; - STACKTOP = sp;return ($newp$0|0); - } - $67 = $10 & 2; - $68 = ($67|0)==(0); - if (!($68)) { - $newp$0 = 0; - STACKTOP = sp;return ($newp$0|0); - } - $69 = $10 & -8; - $70 = (($69) + ($2))|0; - $71 = ($70>>>0)<($nb>>>0); - if ($71) { - $newp$0 = 0; - STACKTOP = sp;return ($newp$0|0); - } - $72 = (($70) - ($nb))|0; - $73 = $10 >>> 3; - $74 = ($10>>>0)<(256); - do { - if ($74) { - $$sum15 = (($2) + 8)|0; - $75 = (($p) + ($$sum15)|0); - $76 = HEAP32[$75>>2]|0; - $$sum16 = (($2) + 12)|0; - $77 = (($p) + ($$sum16)|0); - $78 = HEAP32[$77>>2]|0; - $79 = $73 << 1; - $80 = ((20672 + ($79<<2)|0) + 40|0); - $81 = ($76|0)==($80|0); - if (!($81)) { - $82 = ($76>>>0)<($4>>>0); - if ($82) { - _abort(); - // unreachable; - } - $83 = (($76) + 12|0); - $84 = HEAP32[$83>>2]|0; - $85 = ($84|0)==($3|0); - if (!($85)) { - _abort(); - // unreachable; - } - } - $86 = ($78|0)==($76|0); - if ($86) { - $87 = 1 << $73; - $88 = $87 ^ -1; - $89 = HEAP32[20672>>2]|0; - $90 = $89 & $88; - HEAP32[20672>>2] = $90; - break; - } - $91 = ($78|0)==($80|0); - if ($91) { - $$pre = (($78) + 8|0); - $$pre$phiZ2D = $$pre; - } else { - $92 = ($78>>>0)<($4>>>0); - if ($92) { - _abort(); - // unreachable; - } - $93 = (($78) + 8|0); - $94 = HEAP32[$93>>2]|0; - $95 = ($94|0)==($3|0); - if ($95) { - $$pre$phiZ2D = $93; - } else { - _abort(); - // unreachable; - } - } - $96 = (($76) + 12|0); - HEAP32[$96>>2] = $78; - HEAP32[$$pre$phiZ2D>>2] = $76; - } else { - $$sum = (($2) + 24)|0; - $97 = (($p) + ($$sum)|0); - $98 = HEAP32[$97>>2]|0; - $$sum2 = (($2) + 12)|0; - $99 = (($p) + ($$sum2)|0); - $100 = HEAP32[$99>>2]|0; - $101 = ($100|0)==($3|0); - do { - if ($101) { - $$sum4 = (($2) + 20)|0; - $111 = (($p) + ($$sum4)|0); - $112 = HEAP32[$111>>2]|0; - $113 = ($112|0)==(0|0); - if ($113) { - $$sum3 = (($2) + 16)|0; - $114 = (($p) + ($$sum3)|0); - $115 = HEAP32[$114>>2]|0; - $116 = ($115|0)==(0|0); - if ($116) { - $R$1 = 0; - break; - } else { - $R$0 = $115;$RP$0 = $114; - } - } else { - $R$0 = $112;$RP$0 = $111; - } - while(1) { - $117 = (($R$0) + 20|0); - $118 = HEAP32[$117>>2]|0; - $119 = ($118|0)==(0|0); - if (!($119)) { - $R$0 = $118;$RP$0 = $117; - continue; - } - $120 = (($R$0) + 16|0); - $121 = HEAP32[$120>>2]|0; - $122 = ($121|0)==(0|0); - if ($122) { - break; - } else { - $R$0 = $121;$RP$0 = $120; - } - } - $123 = ($RP$0>>>0)<($4>>>0); - if ($123) { - _abort(); - // unreachable; - } else { - HEAP32[$RP$0>>2] = 0; - $R$1 = $R$0; - break; - } - } else { - $$sum14 = (($2) + 8)|0; - $102 = (($p) + ($$sum14)|0); - $103 = HEAP32[$102>>2]|0; - $104 = ($103>>>0)<($4>>>0); - if ($104) { - _abort(); - // unreachable; - } - $105 = (($103) + 12|0); - $106 = HEAP32[$105>>2]|0; - $107 = ($106|0)==($3|0); - if (!($107)) { - _abort(); - // unreachable; - } - $108 = (($100) + 8|0); - $109 = HEAP32[$108>>2]|0; - $110 = ($109|0)==($3|0); - if ($110) { - HEAP32[$105>>2] = $100; - HEAP32[$108>>2] = $103; - $R$1 = $100; - break; - } else { - _abort(); - // unreachable; - } - } - } while(0); - $124 = ($98|0)==(0|0); - if (!($124)) { - $$sum11 = (($2) + 28)|0; - $125 = (($p) + ($$sum11)|0); - $126 = HEAP32[$125>>2]|0; - $127 = ((20672 + ($126<<2)|0) + 304|0); - $128 = HEAP32[$127>>2]|0; - $129 = ($3|0)==($128|0); - if ($129) { - HEAP32[$127>>2] = $R$1; - $cond = ($R$1|0)==(0|0); - if ($cond) { - $130 = 1 << $126; - $131 = $130 ^ -1; - $132 = HEAP32[((20672 + 4|0))>>2]|0; - $133 = $132 & $131; - HEAP32[((20672 + 4|0))>>2] = $133; - break; - } - } else { - $134 = HEAP32[((20672 + 16|0))>>2]|0; - $135 = ($98>>>0)<($134>>>0); - if ($135) { - _abort(); - // unreachable; - } - $136 = (($98) + 16|0); - $137 = HEAP32[$136>>2]|0; - $138 = ($137|0)==($3|0); - if ($138) { - HEAP32[$136>>2] = $R$1; - } else { - $139 = (($98) + 20|0); - HEAP32[$139>>2] = $R$1; - } - $140 = ($R$1|0)==(0|0); - if ($140) { - break; - } - } - $141 = HEAP32[((20672 + 16|0))>>2]|0; - $142 = ($R$1>>>0)<($141>>>0); - if ($142) { - _abort(); - // unreachable; - } - $143 = (($R$1) + 24|0); - HEAP32[$143>>2] = $98; - $$sum12 = (($2) + 16)|0; - $144 = (($p) + ($$sum12)|0); - $145 = HEAP32[$144>>2]|0; - $146 = ($145|0)==(0|0); - do { - if (!($146)) { - $147 = HEAP32[((20672 + 16|0))>>2]|0; - $148 = ($145>>>0)<($147>>>0); - if ($148) { - _abort(); - // unreachable; - } else { - $149 = (($R$1) + 16|0); - HEAP32[$149>>2] = $145; - $150 = (($145) + 24|0); - HEAP32[$150>>2] = $R$1; - break; - } - } - } while(0); - $$sum13 = (($2) + 20)|0; - $151 = (($p) + ($$sum13)|0); - $152 = HEAP32[$151>>2]|0; - $153 = ($152|0)==(0|0); - if (!($153)) { - $154 = HEAP32[((20672 + 16|0))>>2]|0; - $155 = ($152>>>0)<($154>>>0); - if ($155) { - _abort(); - // unreachable; - } else { - $156 = (($R$1) + 20|0); - HEAP32[$156>>2] = $152; - $157 = (($152) + 24|0); - HEAP32[$157>>2] = $R$1; - break; - } - } - } - } - } while(0); - $158 = ($72>>>0)<(16); - if ($158) { - $159 = HEAP32[$0>>2]|0; - $160 = $159 & 1; - $161 = $70 | $160; - $162 = $161 | 2; - HEAP32[$0>>2] = $162; - $$sum910 = $70 | 4; - $163 = (($p) + ($$sum910)|0); - $164 = HEAP32[$163>>2]|0; - $165 = $164 | 1; - HEAP32[$163>>2] = $165; - $newp$0 = $p; - STACKTOP = sp;return ($newp$0|0); - } else { - $166 = (($p) + ($nb)|0); - $167 = HEAP32[$0>>2]|0; - $168 = $167 & 1; - $169 = $168 | $nb; - $170 = $169 | 2; - HEAP32[$0>>2] = $170; - $$sum5 = (($nb) + 4)|0; - $171 = (($p) + ($$sum5)|0); - $172 = $72 | 3; - HEAP32[$171>>2] = $172; - $$sum78 = $70 | 4; - $173 = (($p) + ($$sum78)|0); - $174 = HEAP32[$173>>2]|0; - $175 = $174 | 1; - HEAP32[$173>>2] = $175; - _dispose_chunk($166,$72); - $newp$0 = $p; - STACKTOP = sp;return ($newp$0|0); - } - return 0|0; -} -function _dispose_chunk($p,$psize) { - $p = $p|0; - $psize = $psize|0; - var $$0 = 0, $$02 = 0, $$1 = 0, $$pre = 0, $$pre$phi63Z2D = 0, $$pre$phi65Z2D = 0, $$pre$phiZ2D = 0, $$pre62 = 0, $$pre64 = 0, $$sum = 0, $$sum1 = 0, $$sum12$pre = 0, $$sum13 = 0, $$sum14 = 0, $$sum15 = 0, $$sum16 = 0, $$sum17 = 0, $$sum18 = 0, $$sum19 = 0, $$sum2 = 0; - var $$sum20 = 0, $$sum22 = 0, $$sum23 = 0, $$sum24 = 0, $$sum25 = 0, $$sum26 = 0, $$sum27 = 0, $$sum28 = 0, $$sum29 = 0, $$sum3 = 0, $$sum30 = 0, $$sum31 = 0, $$sum4 = 0, $$sum5 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0; - var $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0; - var $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0; - var $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0; - var $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0; - var $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0; - var $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0; - var $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0; - var $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0; - var $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0; - var $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0; - var $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0; - var $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0; - var $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0; - var $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0; - var $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0; - var $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $F16$0 = 0, $I19$0 = 0, $I19$0$c = 0, $K20$049 = 0, $R$0 = 0, $R$1 = 0, $R7$0 = 0, $R7$1 = 0, $RP$0 = 0, $RP9$0 = 0, $T$0$lcssa = 0, $T$048 = 0, $cond = 0, $cond46 = 0, label = 0; - var sp = 0; - sp = STACKTOP; - $0 = (($p) + ($psize)|0); - $1 = (($p) + 4|0); - $2 = HEAP32[$1>>2]|0; - $3 = $2 & 1; - $4 = ($3|0)==(0); - do { - if ($4) { - $5 = HEAP32[$p>>2]|0; - $6 = $2 & 3; - $7 = ($6|0)==(0); - if ($7) { - STACKTOP = sp;return; - } - $8 = (0 - ($5))|0; - $9 = (($p) + ($8)|0); - $10 = (($5) + ($psize))|0; - $11 = HEAP32[((20672 + 16|0))>>2]|0; - $12 = ($9>>>0)<($11>>>0); - if ($12) { - _abort(); - // unreachable; - } - $13 = HEAP32[((20672 + 20|0))>>2]|0; - $14 = ($9|0)==($13|0); - if ($14) { - $$sum = (($psize) + 4)|0; - $100 = (($p) + ($$sum)|0); - $101 = HEAP32[$100>>2]|0; - $102 = $101 & 3; - $103 = ($102|0)==(3); - if (!($103)) { - $$0 = $9;$$02 = $10; - break; - } - HEAP32[((20672 + 8|0))>>2] = $10; - $104 = HEAP32[$100>>2]|0; - $105 = $104 & -2; - HEAP32[$100>>2] = $105; - $106 = $10 | 1; - $$sum20 = (4 - ($5))|0; - $107 = (($p) + ($$sum20)|0); - HEAP32[$107>>2] = $106; - HEAP32[$0>>2] = $10; - STACKTOP = sp;return; - } - $15 = $5 >>> 3; - $16 = ($5>>>0)<(256); - if ($16) { - $$sum30 = (8 - ($5))|0; - $17 = (($p) + ($$sum30)|0); - $18 = HEAP32[$17>>2]|0; - $$sum31 = (12 - ($5))|0; - $19 = (($p) + ($$sum31)|0); - $20 = HEAP32[$19>>2]|0; - $21 = $15 << 1; - $22 = ((20672 + ($21<<2)|0) + 40|0); - $23 = ($18|0)==($22|0); - if (!($23)) { - $24 = ($18>>>0)<($11>>>0); - if ($24) { - _abort(); - // unreachable; - } - $25 = (($18) + 12|0); - $26 = HEAP32[$25>>2]|0; - $27 = ($26|0)==($9|0); - if (!($27)) { - _abort(); - // unreachable; - } - } - $28 = ($20|0)==($18|0); - if ($28) { - $29 = 1 << $15; - $30 = $29 ^ -1; - $31 = HEAP32[20672>>2]|0; - $32 = $31 & $30; - HEAP32[20672>>2] = $32; - $$0 = $9;$$02 = $10; - break; - } - $33 = ($20|0)==($22|0); - if ($33) { - $$pre64 = (($20) + 8|0); - $$pre$phi65Z2D = $$pre64; - } else { - $34 = ($20>>>0)<($11>>>0); - if ($34) { - _abort(); - // unreachable; - } - $35 = (($20) + 8|0); - $36 = HEAP32[$35>>2]|0; - $37 = ($36|0)==($9|0); - if ($37) { - $$pre$phi65Z2D = $35; - } else { - _abort(); - // unreachable; - } - } - $38 = (($18) + 12|0); - HEAP32[$38>>2] = $20; - HEAP32[$$pre$phi65Z2D>>2] = $18; - $$0 = $9;$$02 = $10; - break; - } - $$sum22 = (24 - ($5))|0; - $39 = (($p) + ($$sum22)|0); - $40 = HEAP32[$39>>2]|0; - $$sum23 = (12 - ($5))|0; - $41 = (($p) + ($$sum23)|0); - $42 = HEAP32[$41>>2]|0; - $43 = ($42|0)==($9|0); - do { - if ($43) { - $$sum24 = (16 - ($5))|0; - $$sum25 = (($$sum24) + 4)|0; - $53 = (($p) + ($$sum25)|0); - $54 = HEAP32[$53>>2]|0; - $55 = ($54|0)==(0|0); - if ($55) { - $56 = (($p) + ($$sum24)|0); - $57 = HEAP32[$56>>2]|0; - $58 = ($57|0)==(0|0); - if ($58) { - $R$1 = 0; - break; - } else { - $R$0 = $57;$RP$0 = $56; - } - } else { - $R$0 = $54;$RP$0 = $53; - } - while(1) { - $59 = (($R$0) + 20|0); - $60 = HEAP32[$59>>2]|0; - $61 = ($60|0)==(0|0); - if (!($61)) { - $R$0 = $60;$RP$0 = $59; - continue; - } - $62 = (($R$0) + 16|0); - $63 = HEAP32[$62>>2]|0; - $64 = ($63|0)==(0|0); - if ($64) { - break; - } else { - $R$0 = $63;$RP$0 = $62; - } - } - $65 = ($RP$0>>>0)<($11>>>0); - if ($65) { - _abort(); - // unreachable; - } else { - HEAP32[$RP$0>>2] = 0; - $R$1 = $R$0; - break; - } - } else { - $$sum29 = (8 - ($5))|0; - $44 = (($p) + ($$sum29)|0); - $45 = HEAP32[$44>>2]|0; - $46 = ($45>>>0)<($11>>>0); - if ($46) { - _abort(); - // unreachable; - } - $47 = (($45) + 12|0); - $48 = HEAP32[$47>>2]|0; - $49 = ($48|0)==($9|0); - if (!($49)) { - _abort(); - // unreachable; - } - $50 = (($42) + 8|0); - $51 = HEAP32[$50>>2]|0; - $52 = ($51|0)==($9|0); - if ($52) { - HEAP32[$47>>2] = $42; - HEAP32[$50>>2] = $45; - $R$1 = $42; - break; - } else { - _abort(); - // unreachable; - } - } - } while(0); - $66 = ($40|0)==(0|0); - if ($66) { - $$0 = $9;$$02 = $10; - } else { - $$sum26 = (28 - ($5))|0; - $67 = (($p) + ($$sum26)|0); - $68 = HEAP32[$67>>2]|0; - $69 = ((20672 + ($68<<2)|0) + 304|0); - $70 = HEAP32[$69>>2]|0; - $71 = ($9|0)==($70|0); - if ($71) { - HEAP32[$69>>2] = $R$1; - $cond = ($R$1|0)==(0|0); - if ($cond) { - $72 = 1 << $68; - $73 = $72 ^ -1; - $74 = HEAP32[((20672 + 4|0))>>2]|0; - $75 = $74 & $73; - HEAP32[((20672 + 4|0))>>2] = $75; - $$0 = $9;$$02 = $10; - break; - } - } else { - $76 = HEAP32[((20672 + 16|0))>>2]|0; - $77 = ($40>>>0)<($76>>>0); - if ($77) { - _abort(); - // unreachable; - } - $78 = (($40) + 16|0); - $79 = HEAP32[$78>>2]|0; - $80 = ($79|0)==($9|0); - if ($80) { - HEAP32[$78>>2] = $R$1; - } else { - $81 = (($40) + 20|0); - HEAP32[$81>>2] = $R$1; - } - $82 = ($R$1|0)==(0|0); - if ($82) { - $$0 = $9;$$02 = $10; - break; - } - } - $83 = HEAP32[((20672 + 16|0))>>2]|0; - $84 = ($R$1>>>0)<($83>>>0); - if ($84) { - _abort(); - // unreachable; - } - $85 = (($R$1) + 24|0); - HEAP32[$85>>2] = $40; - $$sum27 = (16 - ($5))|0; - $86 = (($p) + ($$sum27)|0); - $87 = HEAP32[$86>>2]|0; - $88 = ($87|0)==(0|0); - do { - if (!($88)) { - $89 = HEAP32[((20672 + 16|0))>>2]|0; - $90 = ($87>>>0)<($89>>>0); - if ($90) { - _abort(); - // unreachable; - } else { - $91 = (($R$1) + 16|0); - HEAP32[$91>>2] = $87; - $92 = (($87) + 24|0); - HEAP32[$92>>2] = $R$1; - break; - } - } - } while(0); - $$sum28 = (($$sum27) + 4)|0; - $93 = (($p) + ($$sum28)|0); - $94 = HEAP32[$93>>2]|0; - $95 = ($94|0)==(0|0); - if ($95) { - $$0 = $9;$$02 = $10; - } else { - $96 = HEAP32[((20672 + 16|0))>>2]|0; - $97 = ($94>>>0)<($96>>>0); - if ($97) { - _abort(); - // unreachable; - } else { - $98 = (($R$1) + 20|0); - HEAP32[$98>>2] = $94; - $99 = (($94) + 24|0); - HEAP32[$99>>2] = $R$1; - $$0 = $9;$$02 = $10; - break; - } - } - } - } else { - $$0 = $p;$$02 = $psize; - } - } while(0); - $108 = HEAP32[((20672 + 16|0))>>2]|0; - $109 = ($0>>>0)<($108>>>0); - if ($109) { - _abort(); - // unreachable; - } - $$sum1 = (($psize) + 4)|0; - $110 = (($p) + ($$sum1)|0); - $111 = HEAP32[$110>>2]|0; - $112 = $111 & 2; - $113 = ($112|0)==(0); - if ($113) { - $114 = HEAP32[((20672 + 24|0))>>2]|0; - $115 = ($0|0)==($114|0); - if ($115) { - $116 = HEAP32[((20672 + 12|0))>>2]|0; - $117 = (($116) + ($$02))|0; - HEAP32[((20672 + 12|0))>>2] = $117; - HEAP32[((20672 + 24|0))>>2] = $$0; - $118 = $117 | 1; - $119 = (($$0) + 4|0); - HEAP32[$119>>2] = $118; - $120 = HEAP32[((20672 + 20|0))>>2]|0; - $121 = ($$0|0)==($120|0); - if (!($121)) { - STACKTOP = sp;return; - } - HEAP32[((20672 + 20|0))>>2] = 0; - HEAP32[((20672 + 8|0))>>2] = 0; - STACKTOP = sp;return; - } - $122 = HEAP32[((20672 + 20|0))>>2]|0; - $123 = ($0|0)==($122|0); - if ($123) { - $124 = HEAP32[((20672 + 8|0))>>2]|0; - $125 = (($124) + ($$02))|0; - HEAP32[((20672 + 8|0))>>2] = $125; - HEAP32[((20672 + 20|0))>>2] = $$0; - $126 = $125 | 1; - $127 = (($$0) + 4|0); - HEAP32[$127>>2] = $126; - $128 = (($$0) + ($125)|0); - HEAP32[$128>>2] = $125; - STACKTOP = sp;return; - } - $129 = $111 & -8; - $130 = (($129) + ($$02))|0; - $131 = $111 >>> 3; - $132 = ($111>>>0)<(256); - do { - if ($132) { - $$sum18 = (($psize) + 8)|0; - $133 = (($p) + ($$sum18)|0); - $134 = HEAP32[$133>>2]|0; - $$sum19 = (($psize) + 12)|0; - $135 = (($p) + ($$sum19)|0); - $136 = HEAP32[$135>>2]|0; - $137 = $131 << 1; - $138 = ((20672 + ($137<<2)|0) + 40|0); - $139 = ($134|0)==($138|0); - if (!($139)) { - $140 = ($134>>>0)<($108>>>0); - if ($140) { - _abort(); - // unreachable; - } - $141 = (($134) + 12|0); - $142 = HEAP32[$141>>2]|0; - $143 = ($142|0)==($0|0); - if (!($143)) { - _abort(); - // unreachable; - } - } - $144 = ($136|0)==($134|0); - if ($144) { - $145 = 1 << $131; - $146 = $145 ^ -1; - $147 = HEAP32[20672>>2]|0; - $148 = $147 & $146; - HEAP32[20672>>2] = $148; - break; - } - $149 = ($136|0)==($138|0); - if ($149) { - $$pre62 = (($136) + 8|0); - $$pre$phi63Z2D = $$pre62; - } else { - $150 = ($136>>>0)<($108>>>0); - if ($150) { - _abort(); - // unreachable; - } - $151 = (($136) + 8|0); - $152 = HEAP32[$151>>2]|0; - $153 = ($152|0)==($0|0); - if ($153) { - $$pre$phi63Z2D = $151; - } else { - _abort(); - // unreachable; - } - } - $154 = (($134) + 12|0); - HEAP32[$154>>2] = $136; - HEAP32[$$pre$phi63Z2D>>2] = $134; - } else { - $$sum2 = (($psize) + 24)|0; - $155 = (($p) + ($$sum2)|0); - $156 = HEAP32[$155>>2]|0; - $$sum3 = (($psize) + 12)|0; - $157 = (($p) + ($$sum3)|0); - $158 = HEAP32[$157>>2]|0; - $159 = ($158|0)==($0|0); - do { - if ($159) { - $$sum5 = (($psize) + 20)|0; - $169 = (($p) + ($$sum5)|0); - $170 = HEAP32[$169>>2]|0; - $171 = ($170|0)==(0|0); - if ($171) { - $$sum4 = (($psize) + 16)|0; - $172 = (($p) + ($$sum4)|0); - $173 = HEAP32[$172>>2]|0; - $174 = ($173|0)==(0|0); - if ($174) { - $R7$1 = 0; - break; - } else { - $R7$0 = $173;$RP9$0 = $172; - } - } else { - $R7$0 = $170;$RP9$0 = $169; - } - while(1) { - $175 = (($R7$0) + 20|0); - $176 = HEAP32[$175>>2]|0; - $177 = ($176|0)==(0|0); - if (!($177)) { - $R7$0 = $176;$RP9$0 = $175; - continue; - } - $178 = (($R7$0) + 16|0); - $179 = HEAP32[$178>>2]|0; - $180 = ($179|0)==(0|0); - if ($180) { - break; - } else { - $R7$0 = $179;$RP9$0 = $178; - } - } - $181 = ($RP9$0>>>0)<($108>>>0); - if ($181) { - _abort(); - // unreachable; - } else { - HEAP32[$RP9$0>>2] = 0; - $R7$1 = $R7$0; - break; - } - } else { - $$sum17 = (($psize) + 8)|0; - $160 = (($p) + ($$sum17)|0); - $161 = HEAP32[$160>>2]|0; - $162 = ($161>>>0)<($108>>>0); - if ($162) { - _abort(); - // unreachable; - } - $163 = (($161) + 12|0); - $164 = HEAP32[$163>>2]|0; - $165 = ($164|0)==($0|0); - if (!($165)) { - _abort(); - // unreachable; - } - $166 = (($158) + 8|0); - $167 = HEAP32[$166>>2]|0; - $168 = ($167|0)==($0|0); - if ($168) { - HEAP32[$163>>2] = $158; - HEAP32[$166>>2] = $161; - $R7$1 = $158; - break; - } else { - _abort(); - // unreachable; - } - } - } while(0); - $182 = ($156|0)==(0|0); - if (!($182)) { - $$sum14 = (($psize) + 28)|0; - $183 = (($p) + ($$sum14)|0); - $184 = HEAP32[$183>>2]|0; - $185 = ((20672 + ($184<<2)|0) + 304|0); - $186 = HEAP32[$185>>2]|0; - $187 = ($0|0)==($186|0); - if ($187) { - HEAP32[$185>>2] = $R7$1; - $cond46 = ($R7$1|0)==(0|0); - if ($cond46) { - $188 = 1 << $184; - $189 = $188 ^ -1; - $190 = HEAP32[((20672 + 4|0))>>2]|0; - $191 = $190 & $189; - HEAP32[((20672 + 4|0))>>2] = $191; - break; - } - } else { - $192 = HEAP32[((20672 + 16|0))>>2]|0; - $193 = ($156>>>0)<($192>>>0); - if ($193) { - _abort(); - // unreachable; - } - $194 = (($156) + 16|0); - $195 = HEAP32[$194>>2]|0; - $196 = ($195|0)==($0|0); - if ($196) { - HEAP32[$194>>2] = $R7$1; - } else { - $197 = (($156) + 20|0); - HEAP32[$197>>2] = $R7$1; - } - $198 = ($R7$1|0)==(0|0); - if ($198) { - break; - } - } - $199 = HEAP32[((20672 + 16|0))>>2]|0; - $200 = ($R7$1>>>0)<($199>>>0); - if ($200) { - _abort(); - // unreachable; - } - $201 = (($R7$1) + 24|0); - HEAP32[$201>>2] = $156; - $$sum15 = (($psize) + 16)|0; - $202 = (($p) + ($$sum15)|0); - $203 = HEAP32[$202>>2]|0; - $204 = ($203|0)==(0|0); - do { - if (!($204)) { - $205 = HEAP32[((20672 + 16|0))>>2]|0; - $206 = ($203>>>0)<($205>>>0); - if ($206) { - _abort(); - // unreachable; - } else { - $207 = (($R7$1) + 16|0); - HEAP32[$207>>2] = $203; - $208 = (($203) + 24|0); - HEAP32[$208>>2] = $R7$1; - break; - } - } - } while(0); - $$sum16 = (($psize) + 20)|0; - $209 = (($p) + ($$sum16)|0); - $210 = HEAP32[$209>>2]|0; - $211 = ($210|0)==(0|0); - if (!($211)) { - $212 = HEAP32[((20672 + 16|0))>>2]|0; - $213 = ($210>>>0)<($212>>>0); - if ($213) { - _abort(); - // unreachable; - } else { - $214 = (($R7$1) + 20|0); - HEAP32[$214>>2] = $210; - $215 = (($210) + 24|0); - HEAP32[$215>>2] = $R7$1; - break; - } - } - } - } - } while(0); - $216 = $130 | 1; - $217 = (($$0) + 4|0); - HEAP32[$217>>2] = $216; - $218 = (($$0) + ($130)|0); - HEAP32[$218>>2] = $130; - $219 = HEAP32[((20672 + 20|0))>>2]|0; - $220 = ($$0|0)==($219|0); - if ($220) { - HEAP32[((20672 + 8|0))>>2] = $130; - STACKTOP = sp;return; - } else { - $$1 = $130; - } - } else { - $221 = $111 & -2; - HEAP32[$110>>2] = $221; - $222 = $$02 | 1; - $223 = (($$0) + 4|0); - HEAP32[$223>>2] = $222; - $224 = (($$0) + ($$02)|0); - HEAP32[$224>>2] = $$02; - $$1 = $$02; - } - $225 = $$1 >>> 3; - $226 = ($$1>>>0)<(256); - if ($226) { - $227 = $225 << 1; - $228 = ((20672 + ($227<<2)|0) + 40|0); - $229 = HEAP32[20672>>2]|0; - $230 = 1 << $225; - $231 = $229 & $230; - $232 = ($231|0)==(0); - if ($232) { - $233 = $229 | $230; - HEAP32[20672>>2] = $233; - $$sum12$pre = (($227) + 2)|0; - $$pre = ((20672 + ($$sum12$pre<<2)|0) + 40|0); - $$pre$phiZ2D = $$pre;$F16$0 = $228; - } else { - $$sum13 = (($227) + 2)|0; - $234 = ((20672 + ($$sum13<<2)|0) + 40|0); - $235 = HEAP32[$234>>2]|0; - $236 = HEAP32[((20672 + 16|0))>>2]|0; - $237 = ($235>>>0)<($236>>>0); - if ($237) { - _abort(); - // unreachable; - } else { - $$pre$phiZ2D = $234;$F16$0 = $235; - } - } - HEAP32[$$pre$phiZ2D>>2] = $$0; - $238 = (($F16$0) + 12|0); - HEAP32[$238>>2] = $$0; - $239 = (($$0) + 8|0); - HEAP32[$239>>2] = $F16$0; - $240 = (($$0) + 12|0); - HEAP32[$240>>2] = $228; - STACKTOP = sp;return; - } - $241 = $$1 >>> 8; - $242 = ($241|0)==(0); - if ($242) { - $I19$0 = 0; - } else { - $243 = ($$1>>>0)>(16777215); - if ($243) { - $I19$0 = 31; - } else { - $244 = (($241) + 1048320)|0; - $245 = $244 >>> 16; - $246 = $245 & 8; - $247 = $241 << $246; - $248 = (($247) + 520192)|0; - $249 = $248 >>> 16; - $250 = $249 & 4; - $251 = $250 | $246; - $252 = $247 << $250; - $253 = (($252) + 245760)|0; - $254 = $253 >>> 16; - $255 = $254 & 2; - $256 = $251 | $255; - $257 = (14 - ($256))|0; - $258 = $252 << $255; - $259 = $258 >>> 15; - $260 = (($257) + ($259))|0; - $261 = $260 << 1; - $262 = (($260) + 7)|0; - $263 = $$1 >>> $262; - $264 = $263 & 1; - $265 = $264 | $261; - $I19$0 = $265; - } - } - $266 = ((20672 + ($I19$0<<2)|0) + 304|0); - $267 = (($$0) + 28|0); - $I19$0$c = $I19$0; - HEAP32[$267>>2] = $I19$0$c; - $268 = (($$0) + 20|0); - HEAP32[$268>>2] = 0; - $269 = (($$0) + 16|0); - HEAP32[$269>>2] = 0; - $270 = HEAP32[((20672 + 4|0))>>2]|0; - $271 = 1 << $I19$0; - $272 = $270 & $271; - $273 = ($272|0)==(0); - if ($273) { - $274 = $270 | $271; - HEAP32[((20672 + 4|0))>>2] = $274; - HEAP32[$266>>2] = $$0; - $275 = (($$0) + 24|0); - HEAP32[$275>>2] = $266; - $276 = (($$0) + 12|0); - HEAP32[$276>>2] = $$0; - $277 = (($$0) + 8|0); - HEAP32[$277>>2] = $$0; - STACKTOP = sp;return; - } - $278 = HEAP32[$266>>2]|0; - $279 = ($I19$0|0)==(31); - if ($279) { - $287 = 0; - } else { - $280 = $I19$0 >>> 1; - $281 = (25 - ($280))|0; - $287 = $281; - } - $282 = (($278) + 4|0); - $283 = HEAP32[$282>>2]|0; - $284 = $283 & -8; - $285 = ($284|0)==($$1|0); - L194: do { - if ($285) { - $T$0$lcssa = $278; - } else { - $286 = $$1 << $287; - $K20$049 = $286;$T$048 = $278; - while(1) { - $294 = $K20$049 >>> 31; - $295 = ((($T$048) + ($294<<2)|0) + 16|0); - $290 = HEAP32[$295>>2]|0; - $296 = ($290|0)==(0|0); - if ($296) { - break; - } - $288 = $K20$049 << 1; - $289 = (($290) + 4|0); - $291 = HEAP32[$289>>2]|0; - $292 = $291 & -8; - $293 = ($292|0)==($$1|0); - if ($293) { - $T$0$lcssa = $290; - break L194; - } else { - $K20$049 = $288;$T$048 = $290; - } - } - $297 = HEAP32[((20672 + 16|0))>>2]|0; - $298 = ($295>>>0)<($297>>>0); - if ($298) { - _abort(); - // unreachable; - } - HEAP32[$295>>2] = $$0; - $299 = (($$0) + 24|0); - HEAP32[$299>>2] = $T$048; - $300 = (($$0) + 12|0); - HEAP32[$300>>2] = $$0; - $301 = (($$0) + 8|0); - HEAP32[$301>>2] = $$0; - STACKTOP = sp;return; - } - } while(0); - $302 = (($T$0$lcssa) + 8|0); - $303 = HEAP32[$302>>2]|0; - $304 = HEAP32[((20672 + 16|0))>>2]|0; - $305 = ($T$0$lcssa>>>0)<($304>>>0); - if ($305) { - _abort(); - // unreachable; - } - $306 = ($303>>>0)<($304>>>0); - if ($306) { - _abort(); - // unreachable; - } - $307 = (($303) + 12|0); - HEAP32[$307>>2] = $$0; - HEAP32[$302>>2] = $$0; - $308 = (($$0) + 8|0); - HEAP32[$308>>2] = $303; - $309 = (($$0) + 12|0); - HEAP32[$309>>2] = $T$0$lcssa; - $310 = (($$0) + 24|0); - HEAP32[$310>>2] = 0; - STACKTOP = sp;return; -} -function _frexp($x,$e) { - $x = +$x; - $e = $e|0; - var $$0 = 0.0, $$01 = 0.0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0, $storemerge = 0, label = 0, sp = 0; - sp = STACKTOP; - HEAPF64[tempDoublePtr>>3] = $x;$0 = HEAP32[tempDoublePtr>>2]|0; - $1 = HEAP32[tempDoublePtr+4>>2]|0; - $2 = (_bitshift64Lshr(($0|0),($1|0),52)|0); - $3 = tempRet0; - $4 = $2 & 2047; - if ((($4|0) == 0)) { - $5 = $x != 0.0; - if ($5) { - $6 = $x * 18446744073709551616.0; - $7 = (+_frexp($6,$e)); - $8 = HEAP32[$e>>2]|0; - $9 = (($8) + -64)|0; - $$01 = $7;$storemerge = $9; - } else { - $$01 = $x;$storemerge = 0; - } - HEAP32[$e>>2] = $storemerge; - $$0 = $$01; - STACKTOP = sp;return (+$$0); - } else if ((($4|0) == 2047)) { - $$0 = $x; - STACKTOP = sp;return (+$$0); - } else { - $10 = (($4) + -1022)|0; - HEAP32[$e>>2] = $10; - $11 = $1 & -2146435073; - $12 = $11 | 1071644672; - HEAP32[tempDoublePtr>>2] = $0;HEAP32[tempDoublePtr+4>>2] = $12;$13 = +HEAPF64[tempDoublePtr>>3]; - $$0 = $13; - STACKTOP = sp;return (+$$0); - } - return +0; -} -function _frexpl($x,$e) { - $x = +$x; - $e = $e|0; - var $0 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (+_frexp($x,$e)); - STACKTOP = sp;return (+$0); -} -function _scalbn($x,$n) { - $x = +$x; - $n = $n|0; - var $$ = 0, $$0 = 0, $$1 = 0, $0 = 0, $1 = 0.0, $10 = 0, $11 = 0.0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0.0, $18 = 0.0, $2 = 0, $3 = 0, $4 = 0.0, $5 = 0, $6 = 0, $7 = 0; - var $8 = 0.0, $9 = 0, $y$0 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ($n|0)>(1023); - if ($0) { - $1 = $x * 8.98846567431157953864E+307; - $2 = (($n) + -1023)|0; - $3 = ($2|0)>(1023); - if ($3) { - $4 = $1 * 8.98846567431157953864E+307; - $5 = (($n) + -2046)|0; - $6 = ($5|0)>(1023); - $$ = $6 ? 1023 : $5; - $$0 = $$;$y$0 = $4; - } else { - $$0 = $2;$y$0 = $1; - } - } else { - $7 = ($n|0)<(-1022); - if ($7) { - $8 = $x * 2.22507385850720138309E-308; - $9 = (($n) + 1022)|0; - $10 = ($9|0)<(-1022); - if ($10) { - $11 = $8 * 2.22507385850720138309E-308; - $12 = (($n) + 2044)|0; - $13 = ($12|0)<(-1022); - $$1 = $13 ? -1022 : $12; - $$0 = $$1;$y$0 = $11; - } else { - $$0 = $9;$y$0 = $8; - } - } else { - $$0 = $n;$y$0 = $x; - } - } - $14 = (($$0) + 1023)|0; - $15 = (_bitshift64Shl(($14|0),0,52)|0); - $16 = tempRet0; - HEAP32[tempDoublePtr>>2] = $15;HEAP32[tempDoublePtr+4>>2] = $16;$17 = +HEAPF64[tempDoublePtr>>3]; - $18 = $y$0 * $17; - STACKTOP = sp;return (+$18); -} -function _wctomb($s,$wc) { - $s = $s|0; - $wc = $wc|0; - var $$0 = 0, $0 = 0, $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ($s|0)==(0|0); - if ($0) { - $$0 = 0; - } else { - $1 = (_wcrtomb($s,$wc,0)|0); - $$0 = $1; - } - STACKTOP = sp;return ($$0|0); -} -function _wcrtomb($s,$wc,$st) { - $s = $s|0; - $wc = $wc|0; - $st = $st|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; - var $44 = 0, $45 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ($s|0)==(0|0); - if ($0) { - $$0 = 1; - STACKTOP = sp;return ($$0|0); - } - $1 = ($wc>>>0)<(128); - if ($1) { - $2 = $wc&255; - HEAP8[$s>>0] = $2; - $$0 = 1; - STACKTOP = sp;return ($$0|0); - } - $3 = ($wc>>>0)<(2048); - if ($3) { - $4 = $wc >>> 6; - $5 = $4 | 192; - $6 = $5&255; - $7 = (($s) + 1|0); - HEAP8[$s>>0] = $6; - $8 = $wc & 63; - $9 = $8 | 128; - $10 = $9&255; - HEAP8[$7>>0] = $10; - $$0 = 2; - STACKTOP = sp;return ($$0|0); - } - $11 = ($wc>>>0)<(55296); - $12 = (($wc) + -57344)|0; - $13 = ($12>>>0)<(8192); - $or$cond = $11 | $13; - if ($or$cond) { - $14 = $wc >>> 12; - $15 = $14 | 224; - $16 = $15&255; - $17 = (($s) + 1|0); - HEAP8[$s>>0] = $16; - $18 = $wc >>> 6; - $19 = $18 & 63; - $20 = $19 | 128; - $21 = $20&255; - $22 = (($s) + 2|0); - HEAP8[$17>>0] = $21; - $23 = $wc & 63; - $24 = $23 | 128; - $25 = $24&255; - HEAP8[$22>>0] = $25; - $$0 = 3; - STACKTOP = sp;return ($$0|0); - } - $26 = (($wc) + -65536)|0; - $27 = ($26>>>0)<(1048576); - if ($27) { - $28 = $wc >>> 18; - $29 = $28 | 240; - $30 = $29&255; - $31 = (($s) + 1|0); - HEAP8[$s>>0] = $30; - $32 = $wc >>> 12; - $33 = $32 & 63; - $34 = $33 | 128; - $35 = $34&255; - $36 = (($s) + 2|0); - HEAP8[$31>>0] = $35; - $37 = $wc >>> 6; - $38 = $37 & 63; - $39 = $38 | 128; - $40 = $39&255; - $41 = (($s) + 3|0); - HEAP8[$36>>0] = $40; - $42 = $wc & 63; - $43 = $42 | 128; - $44 = $43&255; - HEAP8[$41>>0] = $44; - $$0 = 4; - STACKTOP = sp;return ($$0|0); - } else { - $45 = (___errno_location()|0); - HEAP32[$45>>2] = 84; - $$0 = -1; - STACKTOP = sp;return ($$0|0); - } - return 0|0; -} -function _srand($s) { - $s = $s|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (($s) + -1)|0; - $1 = 21168; - $2 = $1; - HEAP32[$2>>2] = $0; - $3 = (($1) + 4)|0; - $4 = $3; - HEAP32[$4>>2] = 0; - STACKTOP = sp;return; -} -function _rand() { - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = 21168; - $1 = $0; - $2 = HEAP32[$1>>2]|0; - $3 = (($0) + 4)|0; - $4 = $3; - $5 = HEAP32[$4>>2]|0; - $6 = (___muldi3(($2|0),($5|0),1284865837,1481765933)|0); - $7 = tempRet0; - $8 = (_i64Add(($6|0),($7|0),1,0)|0); - $9 = tempRet0; - $10 = 21168; - $11 = $10; - HEAP32[$11>>2] = $8; - $12 = (($10) + 4)|0; - $13 = $12; - HEAP32[$13>>2] = $9; - $14 = (_bitshift64Lshr(($8|0),($9|0),33)|0); - $15 = tempRet0; - STACKTOP = sp;return ($14|0); -} -function ___towrite($f) { - $f = $f|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; - var $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (($f) + 74|0); - $1 = HEAP8[$0>>0]|0; - $2 = $1 << 24 >> 24; - $3 = (($2) + 255)|0; - $4 = $3 | $2; - $5 = $4&255; - HEAP8[$0>>0] = $5; - $6 = HEAP32[$f>>2]|0; - $7 = $6 & 8; - $8 = ($7|0)==(0); - if ($8) { - $10 = (($f) + 8|0); - HEAP32[$10>>2] = 0; - $11 = (($f) + 4|0); - HEAP32[$11>>2] = 0; - $12 = (($f) + 44|0); - $13 = HEAP32[$12>>2]|0; - $14 = (($f) + 28|0); - HEAP32[$14>>2] = $13; - $15 = (($f) + 20|0); - HEAP32[$15>>2] = $13; - $16 = (($f) + 48|0); - $17 = HEAP32[$16>>2]|0; - $18 = (($13) + ($17)|0); - $19 = (($f) + 16|0); - HEAP32[$19>>2] = $18; - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } else { - $9 = $6 | 32; - HEAP32[$f>>2] = $9; - $$0 = -1; - STACKTOP = sp;return ($$0|0); - } - return 0|0; -} -function ___fwritex($s,$l,$f) { - $s = $s|0; - $l = $l|0; - $f = $f|0; - var $$0 = 0, $$01 = 0, $$02 = 0, $$pre = 0, $$pre6 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0; - var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i$0 = 0, $i$1 = 0; - var label = 0, sp = 0; - sp = STACKTOP; - $0 = (($f) + 16|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)==(0|0); - do { - if ($2) { - $3 = (___towrite($f)|0); - $4 = ($3|0)==(0); - if ($4) { - $$pre6 = HEAP32[$0>>2]|0; - $8 = $$pre6; - break; - } else { - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - } else { - $8 = $1; - } - } while(0); - $5 = (($f) + 20|0); - $6 = HEAP32[$5>>2]|0; - $7 = $8; - $9 = $6; - $10 = (($7) - ($9))|0; - $11 = ($10>>>0)<($l>>>0); - if ($11) { - $12 = (($f) + 36|0); - $13 = HEAP32[$12>>2]|0; - $14 = (FUNCTION_TABLE_iiii[$13 & 3]($f,$s,$l)|0); - $$0 = $14; - STACKTOP = sp;return ($$0|0); - } - $15 = (($f) + 75|0); - $16 = HEAP8[$15>>0]|0; - $17 = ($16<<24>>24)>(-1); - L11: do { - if ($17) { - $i$0 = $l; - while(1) { - $18 = ($i$0|0)==(0); - if ($18) { - $$01 = $l;$$02 = $s;$29 = $6;$i$1 = 0; - break L11; - } - $19 = (($i$0) + -1)|0; - $20 = (($s) + ($19)|0); - $21 = HEAP8[$20>>0]|0; - $22 = ($21<<24>>24)==(10); - if ($22) { - break; - } else { - $i$0 = $19; - } - } - $23 = (($f) + 36|0); - $24 = HEAP32[$23>>2]|0; - $25 = (FUNCTION_TABLE_iiii[$24 & 3]($f,$s,$i$0)|0); - $26 = ($25>>>0)<($i$0>>>0); - if ($26) { - $$0 = $i$0; - STACKTOP = sp;return ($$0|0); - } else { - $27 = (($s) + ($i$0)|0); - $28 = (($l) - ($i$0))|0; - $$pre = HEAP32[$5>>2]|0; - $$01 = $28;$$02 = $27;$29 = $$pre;$i$1 = $i$0; - break; - } - } else { - $$01 = $l;$$02 = $s;$29 = $6;$i$1 = 0; - } - } while(0); - _memcpy(($29|0),($$02|0),($$01|0))|0; - $30 = HEAP32[$5>>2]|0; - $31 = (($30) + ($$01)|0); - HEAP32[$5>>2] = $31; - $32 = (($i$1) + ($$01))|0; - $$0 = $32; - STACKTOP = sp;return ($$0|0); -} -function _sprintf($s,$fmt,$varargs) { - $s = $s|0; - $fmt = $fmt|0; - $varargs = $varargs|0; - var $0 = 0, $ap = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); - $ap = sp; - HEAP32[$ap>>2] = $varargs; - $0 = (_vsprintf($s,$fmt,$ap)|0); - STACKTOP = sp;return ($0|0); -} -function _MUSL_vfprintf($f,$fmt,$ap) { - $f = $f|0; - $fmt = $fmt|0; - $ap = $ap|0; - var $$ = 0, $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; - var $ap2 = 0, $internal_buf = 0, $nl_arg = 0, $nl_type = 0, $ret$1 = 0, $vacopy_currentptr = 0, dest = 0, label = 0, sp = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 224|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); - $ap2 = sp + 120|0; - $nl_type = sp + 80|0; - $nl_arg = sp; - $internal_buf = sp + 136|0; - dest=$nl_type+0|0; stop=dest+40|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - $vacopy_currentptr = HEAP32[$ap>>2]|0; - HEAP32[$ap2>>2] = $vacopy_currentptr; - $0 = (_printf_core(0,$fmt,$ap2,$nl_arg,$nl_type)|0); - $1 = ($0|0)<(0); - if ($1) { - $$0 = -1; - STACKTOP = sp;return ($$0|0); - } - $2 = (($f) + 48|0); - $3 = HEAP32[$2>>2]|0; - $4 = ($3|0)==(0); - if ($4) { - $6 = (($f) + 44|0); - $7 = HEAP32[$6>>2]|0; - HEAP32[$6>>2] = $internal_buf; - $8 = (($f) + 28|0); - HEAP32[$8>>2] = $internal_buf; - $9 = (($f) + 20|0); - HEAP32[$9>>2] = $internal_buf; - HEAP32[$2>>2] = 80; - $10 = (($internal_buf) + 80|0); - $11 = (($f) + 16|0); - HEAP32[$11>>2] = $10; - $12 = (_printf_core($f,$fmt,$ap2,$nl_arg,$nl_type)|0); - $13 = ($7|0)==(0|0); - if ($13) { - $ret$1 = $12; - } else { - $14 = (($f) + 36|0); - $15 = HEAP32[$14>>2]|0; - (FUNCTION_TABLE_iiii[$15 & 3]($f,0,0)|0); - $16 = HEAP32[$9>>2]|0; - $17 = ($16|0)==(0|0); - $$ = $17 ? -1 : $12; - HEAP32[$6>>2] = $7; - HEAP32[$2>>2] = 0; - HEAP32[$11>>2] = 0; - HEAP32[$8>>2] = 0; - HEAP32[$9>>2] = 0; - $ret$1 = $$; - } - } else { - $5 = (_printf_core($f,$fmt,$ap2,$nl_arg,$nl_type)|0); - $ret$1 = $5; - } - $$0 = $ret$1; - STACKTOP = sp;return ($$0|0); -} -function _printf_core($f,$fmt,$ap,$nl_arg,$nl_type) { - $f = $f|0; - $fmt = $fmt|0; - $ap = $ap|0; - $nl_arg = $nl_arg|0; - $nl_type = $nl_type|0; - var $$ = 0, $$$5$i = 0, $$$i = 0, $$$p$i = 0, $$0 = 0, $$0$lcssa$i = 0, $$0$lcssa$i$i = 0, $$0$lcssa$i103$i = 0, $$0$lcssa$i127$i = 0, $$0$lcssa$i142$i = 0, $$0$lcssa$i37 = 0, $$0$lcssa$i38$i = 0, $$0$lcssa$i43 = 0, $$0$lcssa$i45 = 0, $$0$lcssa$i45$i = 0, $$0$lcssa$i48$i = 0, $$0$lcssa$i52 = 0, $$0$lcssa$i55$i = 0, $$0$lcssa$i59 = 0, $$0$lcssa$i62$i = 0; - var $$0$lcssa$i66 = 0, $$0$lcssa$i68$i = 0, $$0$lcssa$i75$i = 0, $$0$lcssa$i76 = 0, $$0$lcssa$i84$i = 0, $$0$lcssa$i96$i = 0, $$01$i = 0, $$01$i$i = 0, $$01$i101$i = 0, $$01$i125$i = 0, $$01$i140$i = 0, $$01$i35 = 0, $$01$i36$i = 0, $$01$i43$i = 0, $$01$i50 = 0, $$01$i53$i = 0, $$01$i57 = 0, $$01$i60$i = 0, $$01$i64 = 0, $$01$i66$i = 0; - var $$01$i73$i = 0, $$01$i74 = 0, $$01$i94$i = 0, $$01$lcssa$off0$i = 0, $$01$lcssa$off0$i$i = 0, $$01$lcssa$off0$i85$i = 0, $$012$i = 0, $$013$i = 0, $$03$i40 = 0, $$05$i = 0, $$05$i$i = 0, $$05$i79$i = 0, $$07$i = 0.0, $$1$i = 0.0, $$1$lcssa$i$i = 0, $$1$lcssa$i112$i = 0, $$114$i = 0, $$12$i = 0, $$12$i$i = 0, $$12$i110$i = 0; - var $$12$i119$i = 0, $$12$i134$i = 0, $$12$i87$i = 0, $$13 = 0, $$14 = 0, $$15 = 0, $$17 = 0, $$2$i = 0.0, $$2$us$i = 0.0, $$2$us$us$i = 0.0, $$2$us159$i = 0.0, $$20$i = 0, $$20$us$i = 0, $$21$i = 0, $$210$$23$i = 0, $$210$$25$i = 0, $$210$i = 0, $$22$i = 0.0, $$23$i = 0, $$25$i = 0; - var $$3$i = 0.0, $$31$i = 0, $$311$i = 0, $$4$i = 0.0, $$412$lcssa$i = 0, $$412175$i = 0, $$5193$i = 0, $$a$3$i = 0, $$a$3$us$i = 0, $$a$3$us322$i = 0, $$a$3$us323$i = 0, $$a$3324$i = 0, $$a$3325$i = 0, $$fl$4 = 0, $$lcssa300$i = 0, $$lcssa92 = 0, $$mask$i = 0, $$mask$i30 = 0, $$mask1$i = 0, $$mask1$i29 = 0; - var $$neg151$i = 0, $$neg152$i = 0, $$not$i = 0, $$p$5 = 0, $$p$i = 0, $$pn$i = 0, $$pr$i = 0, $$pr146$i = 0, $$pre = 0, $$pre$i = 0, $$pre290 = 0, $$pre292 = 0, $$pre319$i = 0, $$sum$i = 0, $$sum15$i = 0, $$sum16$i = 0, $$z$3$i = 0, $$z$4$us$i = 0, $0 = 0, $1 = 0; - var $10 = 0, $100 = 0, $1000 = 0, $1001 = 0, $1002 = 0, $1003 = 0, $1004 = 0, $1005 = 0, $1006 = 0, $1007 = 0, $1008 = 0, $1009 = 0, $101 = 0, $1010 = 0, $1011 = 0, $1012 = 0, $1013 = 0, $1014 = 0, $1015 = 0, $1016 = 0; - var $1017 = 0, $1018 = 0, $1019 = 0, $102 = 0, $1020 = 0, $1021 = 0, $1022 = 0, $1023 = 0, $1024 = 0, $1025 = 0, $1026 = 0, $1027 = 0, $1028 = 0, $1029 = 0, $103 = 0, $1030 = 0, $1031 = 0, $1032 = 0, $1033 = 0, $1034 = 0; - var $1035 = 0, $1036 = 0.0, $1037 = 0.0, $1038 = 0, $1039 = 0, $104 = 0, $1040 = 0, $1041 = 0, $1042 = 0, $1043 = 0, $1044 = 0, $1045 = 0, $1045$phi = 0, $1046 = 0, $1046$phi = 0, $1047 = 0, $1048 = 0, $1049 = 0, $105 = 0, $1050 = 0; - var $1051 = 0, $1052 = 0, $1053 = 0, $1054 = 0, $1055 = 0, $1056 = 0, $1057 = 0, $1058 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0; - var $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0; - var $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0; - var $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0; - var $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0; - var $19 = 0, $190 = 0.0, $191 = 0, $192 = 0, $193 = 0, $194 = 0.0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0; - var $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0; - var $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0; - var $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0; - var $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0; - var $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0; - var $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0; - var $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0; - var $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0; - var $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0.0; - var $37 = 0, $370 = 0, $371 = 0.0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0; - var $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0; - var $405 = 0, $406 = 0, $407 = 0.0, $408 = 0.0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0.0; - var $423 = 0, $424 = 0, $425 = 0, $426 = 0.0, $427 = 0.0, $428 = 0.0, $429 = 0.0, $43 = 0, $430 = 0.0, $431 = 0.0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0; - var $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0; - var $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0; - var $478 = 0, $479 = 0, $48 = 0, $480 = 0.0, $481 = 0.0, $482 = 0.0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0.0; - var $496 = 0.0, $497 = 0.0, $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0.0, $511 = 0.0, $512 = 0.0; - var $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0.0, $526 = 0.0, $527 = 0.0, $528 = 0, $529 = 0, $53 = 0, $530 = 0; - var $531 = 0, $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0, $549 = 0; - var $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0, $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0, $562 = 0, $563 = 0, $564 = 0, $565 = 0, $566 = 0, $567 = 0; - var $568 = 0, $569 = 0, $57 = 0, $570 = 0, $571 = 0, $572 = 0, $573 = 0, $574 = 0, $575 = 0, $576 = 0, $577 = 0, $578 = 0.0, $579 = 0, $58 = 0, $580 = 0, $581 = 0, $582 = 0, $583 = 0, $584 = 0, $585 = 0.0; - var $586 = 0.0, $587 = 0.0, $588 = 0, $589 = 0, $59 = 0, $590 = 0, $591 = 0, $592 = 0, $593 = 0, $594 = 0, $595 = 0, $596 = 0, $597 = 0, $598 = 0, $599 = 0, $6 = 0, $60 = 0, $600 = 0, $601 = 0, $602 = 0; - var $603 = 0, $604 = 0, $605 = 0, $606 = 0, $607 = 0, $608 = 0, $609 = 0, $61 = 0, $610 = 0, $611 = 0, $612 = 0, $613 = 0, $614 = 0, $615 = 0, $616 = 0, $617 = 0, $618 = 0, $619 = 0, $62 = 0, $620 = 0; - var $621 = 0, $622 = 0, $623 = 0, $624 = 0, $625 = 0, $626 = 0, $627 = 0, $628 = 0, $629 = 0, $63 = 0, $630 = 0, $631 = 0, $632 = 0, $633 = 0, $634 = 0, $635 = 0, $636 = 0, $637 = 0, $638 = 0, $639 = 0; - var $64 = 0, $640 = 0, $641 = 0, $642 = 0, $643 = 0, $644 = 0, $645 = 0, $646 = 0, $647 = 0, $648 = 0, $649 = 0, $65 = 0, $650 = 0, $651 = 0, $652 = 0, $653 = 0, $654 = 0, $655 = 0, $656 = 0, $657 = 0; - var $658 = 0, $659 = 0, $66 = 0, $660 = 0, $661 = 0, $662 = 0, $663 = 0, $664 = 0, $665 = 0, $666 = 0, $667 = 0, $668 = 0, $669 = 0, $67 = 0, $670 = 0, $671 = 0, $672 = 0, $673 = 0, $674 = 0, $675 = 0; - var $676 = 0, $677 = 0, $678 = 0, $679 = 0, $68 = 0, $680 = 0, $681 = 0, $682 = 0, $683 = 0, $684 = 0, $685 = 0, $686 = 0, $687 = 0, $688 = 0, $689 = 0, $69 = 0, $690 = 0, $691 = 0, $692 = 0, $693 = 0; - var $694 = 0, $695 = 0, $696 = 0, $697 = 0, $698 = 0, $699 = 0, $7 = 0, $70 = 0, $700 = 0, $701 = 0, $702 = 0, $703 = 0, $704 = 0, $705 = 0, $706 = 0, $707 = 0, $708 = 0, $709 = 0, $71 = 0, $710 = 0; - var $711 = 0, $712 = 0, $713 = 0, $714 = 0, $715 = 0, $716 = 0, $717 = 0, $718 = 0, $719 = 0, $72 = 0, $720 = 0, $721 = 0, $722 = 0, $723 = 0, $724 = 0, $725 = 0.0, $726 = 0.0, $727 = 0, $728 = 0.0, $729 = 0; - var $73 = 0, $730 = 0, $731 = 0, $732 = 0, $733 = 0, $734 = 0, $735 = 0, $736 = 0, $737 = 0, $738 = 0, $739 = 0, $74 = 0, $740 = 0, $741 = 0, $742 = 0, $743 = 0, $744 = 0, $745 = 0, $746 = 0, $747 = 0; - var $748 = 0, $749 = 0, $75 = 0, $750 = 0, $751 = 0, $752 = 0, $753 = 0, $754 = 0, $755 = 0, $756 = 0, $757 = 0, $758 = 0, $759 = 0, $76 = 0, $760 = 0, $761 = 0, $762 = 0, $763 = 0, $764 = 0, $765 = 0; - var $766 = 0, $767 = 0, $768 = 0, $769 = 0, $77 = 0, $770 = 0, $771 = 0, $772 = 0, $773 = 0, $774 = 0, $775 = 0, $776 = 0, $777 = 0, $778 = 0, $779 = 0, $78 = 0, $780 = 0, $781 = 0, $782 = 0, $783 = 0; - var $784 = 0, $785 = 0, $786 = 0, $787 = 0, $788 = 0, $789 = 0, $79 = 0, $790 = 0, $791 = 0, $792 = 0, $793 = 0, $794 = 0, $795 = 0, $796 = 0, $797 = 0, $798 = 0, $799 = 0, $8 = 0, $80 = 0, $800 = 0; - var $801 = 0, $802 = 0, $803 = 0, $804 = 0, $805 = 0, $806 = 0, $807 = 0, $808 = 0, $809 = 0, $81 = 0, $810 = 0, $811 = 0, $812 = 0, $813 = 0, $814 = 0, $815 = 0, $816 = 0, $817 = 0, $818 = 0, $819 = 0; - var $82 = 0, $820 = 0, $821 = 0, $822 = 0, $823 = 0, $824 = 0, $825 = 0, $826 = 0, $827 = 0, $828 = 0, $829 = 0, $83 = 0, $830 = 0, $831 = 0, $832 = 0, $833 = 0, $834 = 0, $835 = 0, $836 = 0, $837 = 0; - var $838 = 0, $839 = 0, $84 = 0, $840 = 0, $841 = 0, $842 = 0, $843 = 0, $844 = 0, $845 = 0, $846 = 0, $847 = 0, $848 = 0, $849 = 0, $85 = 0, $850 = 0, $851 = 0, $852 = 0, $853 = 0, $854 = 0, $855 = 0; - var $856 = 0, $857 = 0, $858 = 0, $859 = 0, $86 = 0, $860 = 0, $861 = 0, $862 = 0, $863 = 0, $864 = 0, $865 = 0, $866 = 0, $867 = 0, $868 = 0, $869 = 0, $87 = 0, $870 = 0, $871 = 0, $872 = 0, $873 = 0; - var $874 = 0, $875 = 0, $876 = 0, $877 = 0, $878 = 0, $879 = 0, $88 = 0, $880 = 0, $881 = 0, $882 = 0, $883 = 0, $884 = 0, $885 = 0, $886 = 0, $887 = 0, $888 = 0, $889 = 0, $89 = 0, $890 = 0, $891 = 0; - var $892 = 0, $893 = 0, $894 = 0, $895 = 0, $896 = 0, $897 = 0, $898 = 0, $899 = 0, $9 = 0, $90 = 0, $900 = 0, $901 = 0, $902 = 0, $903 = 0, $904 = 0, $905 = 0, $906 = 0, $907 = 0, $908 = 0, $909 = 0; - var $91 = 0, $910 = 0, $911 = 0, $912 = 0, $913 = 0, $914 = 0, $915 = 0, $916 = 0, $917 = 0, $918 = 0, $919 = 0, $92 = 0, $920 = 0, $921 = 0, $922 = 0, $923 = 0, $924 = 0, $925 = 0, $926 = 0, $927 = 0; - var $928 = 0, $929 = 0, $93 = 0, $930 = 0, $931 = 0, $932 = 0, $933 = 0, $934 = 0, $935 = 0, $936 = 0, $937 = 0, $938 = 0, $939 = 0, $94 = 0, $940 = 0, $941 = 0, $942 = 0, $943 = 0, $944 = 0, $945 = 0; - var $946 = 0, $947 = 0, $948 = 0, $949 = 0, $95 = 0, $950 = 0, $951 = 0, $952 = 0, $953 = 0, $954 = 0, $955 = 0, $956 = 0, $957 = 0, $958 = 0, $959 = 0, $96 = 0, $960 = 0, $961 = 0, $962 = 0, $963 = 0; - var $964 = 0, $965 = 0, $966 = 0, $967 = 0, $968 = 0, $969 = 0, $97 = 0, $970 = 0, $971 = 0, $972 = 0, $973 = 0, $974 = 0, $975 = 0, $976 = 0, $977 = 0, $978 = 0, $979 = 0, $98 = 0, $980 = 0, $981 = 0; - var $982 = 0, $983 = 0, $984 = 0, $985 = 0, $986 = 0, $987 = 0, $988 = 0, $989 = 0, $99 = 0, $990 = 0, $991 = 0, $992 = 0, $993 = 0, $994 = 0, $995 = 0, $996 = 0, $997 = 0, $998 = 0, $999 = 0, $a$0 = 0; - var $a$1 = 0, $a$1$lcssa$i = 0, $a$1263$i = 0, $a$2 = 0, $a$2$ph$i = 0, $a$3$lcssa$i = 0, $a$3249$i = 0, $a$3249$us$i = 0, $a$5$lcssa$i = 0, $a$5223$i = 0, $a$6$i = 0, $a$7$i = 0, $a$8$ph$i = 0, $arglist_current = 0, $arglist_current11 = 0, $arglist_current14 = 0, $arglist_current17 = 0, $arglist_current2 = 0, $arglist_current20 = 0, $arglist_current23 = 0; - var $arglist_current26 = 0, $arglist_current29 = 0, $arglist_current32 = 0, $arglist_current35 = 0, $arglist_current38 = 0, $arglist_current41 = 0, $arglist_current44 = 0, $arglist_current47 = 0, $arglist_current5 = 0, $arglist_current50 = 0, $arglist_current53 = 0, $arglist_current56 = 0, $arglist_current59 = 0, $arglist_current62 = 0, $arglist_current8 = 0, $arglist_next = 0, $arglist_next12 = 0, $arglist_next15 = 0, $arglist_next18 = 0, $arglist_next21 = 0; - var $arglist_next24 = 0, $arglist_next27 = 0, $arglist_next3 = 0, $arglist_next30 = 0, $arglist_next33 = 0, $arglist_next36 = 0, $arglist_next39 = 0, $arglist_next42 = 0, $arglist_next45 = 0, $arglist_next48 = 0, $arglist_next51 = 0, $arglist_next54 = 0, $arglist_next57 = 0, $arglist_next6 = 0, $arglist_next60 = 0, $arglist_next63 = 0, $arglist_next9 = 0, $argpos$0 = 0, $big$i = 0, $brmerge$i = 0; - var $buf = 0, $buf$i = 0, $carry$0255$i = 0, $carry3$0243$i = 0, $carry3$0243$us$i = 0, $cnt$0 = 0, $cnt$1 = 0, $d$0$i = 0, $d$0254$i = 0, $d$0256$i = 0, $d$1242$i = 0, $d$1242$us$i = 0, $d$2$lcssa$i = 0, $d$2222$i = 0, $d$3$i = 0, $d$4183$i = 0, $d$5174$i = 0, $d$6192$i = 0, $e$0238$i = 0, $e$1$i = 0; - var $e$2218$i = 0, $e$3$i = 0, $e$4$ph$i = 0, $e2$i = 0, $ebuf0$i = 0, $estr$0$i = 0, $estr$1$lcssa$i = 0, $estr$1$ph$i = 0, $estr$1200$i = 0, $estr$2$i = 0, $exitcond$i = 0, $fl$0100 = 0, $fl$0104 = 0, $fl$1 = 0, $fl$1$ = 0, $fl$3 = 0, $fl$4 = 0, $fl$6 = 0, $i$0$lcssa = 0, $i$0166 = 0; - var $i$0168 = 0, $i$0237$i = 0, $i$03$i = 0, $i$03$i22 = 0, $i$1$lcssa$i = 0, $i$1174 = 0, $i$1230$i = 0, $i$2217$i = 0, $i$289 = 0, $i$3209$i = 0, $i$388 = 0, $isdigit = 0, $isdigit$i = 0, $isdigit$i24 = 0, $isdigit11 = 0, $isdigit2$i = 0, $isdigit2$i21 = 0, $isdigit9 = 0, $isdigittmp = 0, $isdigittmp$i = 0; - var $isdigittmp$i23 = 0, $isdigittmp1$i = 0, $isdigittmp1$i20 = 0, $isdigittmp10 = 0, $isdigittmp8 = 0, $j$0$i = 0, $j$0229$i = 0, $j$0231$i = 0, $j$1210$i = 0, $j$2$i = 0, $l$0 = 0, $l$0$i = 0, $l$1$i = 0, $l$1$lcssa = 0, $l$1167 = 0, $l10n$0 = 0, $l10n$0$phi = 0, $l10n$1 = 0, $l10n$2 = 0, $l10n$3 = 0; - var $mb = 0, $or$cond = 0, $or$cond$i = 0, $or$cond$i$i = 0, $or$cond$i100$i = 0, $or$cond$i35$i = 0, $or$cond$i42$i = 0, $or$cond$i49 = 0, $or$cond$i52$i = 0, $or$cond$i56 = 0, $or$cond$i59$i = 0, $or$cond$i63 = 0, $or$cond$i71 = 0, $or$cond$i72$i = 0, $or$cond$i73 = 0, $or$cond$i93$i = 0, $or$cond28$i = 0, $or$cond28173$i = 0, $or$cond29$i = 0, $or$cond4$i = 0; - var $p$0 = 0, $p$1 = 0, $p$2 = 0, $p$2$ = 0, $p$4296 = 0, $p$5 = 0, $pad$i = 0, $pl$0 = 0, $pl$0$i = 0, $pl$1 = 0, $pl$1$i = 0, $pl$2 = 0, $prefix$0 = 0, $prefix$0$$i = 0, $prefix$0$i = 0, $prefix$1 = 0, $prefix$2 = 0, $r$0$a$8$i = 0, $re$0$i = 0, $re$1165$i = 0; - var $round$0164$i = 0.0, $round6$1$i = 0.0, $s$0$i = 0, $s$0$us$i = 0, $s$0$us$us$i = 0, $s$0$us158$i = 0, $s$1$i = 0, $s$1$lcssa$i = 0, $s$1$us$i = 0, $s$1$us$us$i = 0, $s$1$us160$i = 0, $s1$0$i = 0, $s7$0180$i = 0, $s7$1$i = 0, $s8$0$lcssa$i = 0, $s8$0169$i = 0, $s9$0$i = 0, $s9$1188$i = 0, $s9$2$i = 0, $sext = 0; - var $sext84 = 0, $small$0$i = 0.0, $small$1$i = 0.0, $st$0 = 0, $storemerge = 0, $storemerge12 = 0, $storemerge7103 = 0, $storemerge798 = 0, $t$0 = 0, $t$1 = 0, $w$$i = 0, $w$0 = 0, $w$1 = 0, $w$18$i = 0, $w$2 = 0, $w$30$i = 0, $wc = 0, $ws$0169 = 0, $ws$1175 = 0, $y$03$i = 0; - var $y$03$i$i = 0, $y$03$i109$i = 0, $y$03$i118$i = 0, $y$03$i133$i = 0, $y$03$i86$i = 0, $z$0$i = 0, $z$0$lcssa = 0, $z$093 = 0, $z$1$lcssa$i = 0, $z$1262$i = 0, $z$2 = 0, $z$2$i = 0, $z$3$lcssa$i = 0, $z$3248$i = 0, $z$3248$us$i = 0, $z$4$i = 0, $z$4$us$i = 0, $z$5$i = 0, $z$6$$i = 0, $z$6$i = 0; - var $z$6$ph$i = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 864|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); - $big$i = sp + 16|0; - $e2$i = sp; - $buf$i = sp + 832|0; - $0 = $buf$i; - $ebuf0$i = sp + 816|0; - $pad$i = sp + 520|0; - $buf = sp + 776|0; - $wc = sp + 8|0; - $mb = sp + 828|0; - $1 = ($f|0)!=(0|0); - $2 = (($buf) + 40|0); - $3 = $2; - $4 = (($buf) + 39|0); - $5 = (($wc) + 4|0); - $6 = (($ebuf0$i) + 12|0); - $7 = (($ebuf0$i) + 11|0); - $8 = $6; - $9 = (($8) - ($0))|0; - $10 = (-2 - ($0))|0; - $11 = (($8) + 2)|0; - $12 = (($big$i) + 288|0); - $13 = (($buf$i) + 9|0); - $14 = $13; - $15 = (($buf$i) + 8|0); - $1045 = 0;$1046 = 0;$22 = $fmt;$cnt$0 = 0;$l$0 = 0;$l10n$0 = 0; - L1: while(1) { - $16 = ($cnt$0|0)>(-1); - do { - if ($16) { - $17 = (2147483647 - ($cnt$0))|0; - $18 = ($l$0|0)>($17|0); - if ($18) { - $19 = (___errno_location()|0); - HEAP32[$19>>2] = 75; - $cnt$1 = -1; - break; - } else { - $20 = (($l$0) + ($cnt$0))|0; - $cnt$1 = $20; - break; - } - } else { - $cnt$1 = $cnt$0; - } - } while(0); - $21 = HEAP8[$22>>0]|0; - $23 = ($21<<24>>24)==(0); - if ($23) { - label = 344; - break; - } else { - $1047 = $21;$25 = $22; - } - while(1) { - if ((($1047<<24>>24) == 37)) { - $27 = $25;$z$093 = $25; - label = 9; - break; - } else if ((($1047<<24>>24) == 0)) { - $$lcssa92 = $25;$z$0$lcssa = $25; - break; - } - $24 = (($25) + 1|0); - $$pre = HEAP8[$24>>0]|0; - $1047 = $$pre;$25 = $24; - } - L12: do { - if ((label|0) == 9) { - while(1) { - label = 0; - $26 = (($27) + 1|0); - $28 = HEAP8[$26>>0]|0; - $29 = ($28<<24>>24)==(37); - if (!($29)) { - $$lcssa92 = $27;$z$0$lcssa = $z$093; - break L12; - } - $30 = (($z$093) + 1|0); - $31 = (($27) + 2|0); - $32 = HEAP8[$31>>0]|0; - $33 = ($32<<24>>24)==(37); - if ($33) { - $27 = $31;$z$093 = $30; - label = 9; - } else { - $$lcssa92 = $31;$z$0$lcssa = $30; - break; - } - } - } - } while(0); - $34 = $z$0$lcssa; - $35 = $22; - $36 = (($34) - ($35))|0; - if ($1) { - (___fwritex($22,$36,$f)|0); - } - $37 = ($z$0$lcssa|0)==($22|0); - if (!($37)) { - $l10n$0$phi = $l10n$0;$1046$phi = $1046;$1045$phi = $1045;$22 = $$lcssa92;$cnt$0 = $cnt$1;$l$0 = $36;$l10n$0 = $l10n$0$phi;$1046 = $1046$phi;$1045 = $1045$phi; - continue; - } - $38 = (($$lcssa92) + 1|0); - $39 = HEAP8[$38>>0]|0; - $40 = $39 << 24 >> 24; - $isdigittmp = (($40) + -48)|0; - $isdigit = ($isdigittmp>>>0)<(10); - if ($isdigit) { - $41 = (($$lcssa92) + 2|0); - $42 = HEAP8[$41>>0]|0; - $43 = ($42<<24>>24)==(36); - if ($43) { - $44 = (($$lcssa92) + 3|0); - $$pre290 = HEAP8[$44>>0]|0; - $46 = $$pre290;$argpos$0 = $isdigittmp;$l10n$1 = 1;$storemerge = $44; - } else { - $46 = $39;$argpos$0 = -1;$l10n$1 = $l10n$0;$storemerge = $38; - } - } else { - $46 = $39;$argpos$0 = -1;$l10n$1 = $l10n$0;$storemerge = $38; - } - $45 = $46 << 24 >> 24; - $47 = (($45) + -32)|0; - $48 = ($47>>>0)<(32); - L25: do { - if ($48) { - $50 = $45;$55 = $46;$fl$0104 = 0;$storemerge7103 = $storemerge; - while(1) { - $49 = (($50) + -32)|0; - $51 = 1 << $49; - $52 = $51 & 75913; - $53 = ($52|0)==(0); - if ($53) { - $65 = $55;$fl$0100 = $fl$0104;$storemerge798 = $storemerge7103; - break L25; - } - $54 = $55 << 24 >> 24; - $56 = (($54) + -32)|0; - $57 = 1 << $56; - $58 = $57 | $fl$0104; - $59 = (($storemerge7103) + 1|0); - $60 = HEAP8[$59>>0]|0; - $61 = $60 << 24 >> 24; - $62 = (($61) + -32)|0; - $63 = ($62>>>0)<(32); - if ($63) { - $50 = $61;$55 = $60;$fl$0104 = $58;$storemerge7103 = $59; - } else { - $65 = $60;$fl$0100 = $58;$storemerge798 = $59; - break; - } - } - } else { - $65 = $46;$fl$0100 = 0;$storemerge798 = $storemerge; - } - } while(0); - $64 = ($65<<24>>24)==(42); - do { - if ($64) { - $66 = (($storemerge798) + 1|0); - $67 = HEAP8[$66>>0]|0; - $68 = $67 << 24 >> 24; - $isdigittmp10 = (($68) + -48)|0; - $isdigit11 = ($isdigittmp10>>>0)<(10); - if ($isdigit11) { - $69 = (($storemerge798) + 2|0); - $70 = HEAP8[$69>>0]|0; - $71 = ($70<<24>>24)==(36); - if ($71) { - $72 = (($nl_type) + ($isdigittmp10<<2)|0); - HEAP32[$72>>2] = 10; - $73 = HEAP8[$66>>0]|0; - $74 = $73 << 24 >> 24; - $75 = (($74) + -48)|0; - $76 = (($nl_arg) + ($75<<3)|0); - $77 = $76; - $78 = $77; - $79 = HEAP32[$78>>2]|0; - $80 = (($77) + 4)|0; - $81 = $80; - $82 = HEAP32[$81>>2]|0; - $83 = (($storemerge798) + 3|0); - $l10n$2 = 1;$storemerge12 = $83;$w$0 = $79; - } else { - label = 24; - } - } else { - label = 24; - } - if ((label|0) == 24) { - label = 0; - $84 = ($l10n$1|0)==(0); - if (!($84)) { - $$0 = -1; - label = 362; - break L1; - } - if (!($1)) { - $100 = $66;$fl$1 = $fl$0100;$l10n$3 = 0;$w$1 = 0; - break; - } - $arglist_current = HEAP32[$ap>>2]|0; - $85 = HEAP32[$arglist_current>>2]|0; - $arglist_next = (($arglist_current) + 4|0); - HEAP32[$ap>>2] = $arglist_next; - $l10n$2 = 0;$storemerge12 = $66;$w$0 = $85; - } - $86 = ($w$0|0)<(0); - if ($86) { - $87 = $fl$0100 | 8192; - $88 = (0 - ($w$0))|0; - $100 = $storemerge12;$fl$1 = $87;$l10n$3 = $l10n$2;$w$1 = $88; - } else { - $100 = $storemerge12;$fl$1 = $fl$0100;$l10n$3 = $l10n$2;$w$1 = $w$0; - } - } else { - $89 = $65 << 24 >> 24; - $isdigittmp1$i = (($89) + -48)|0; - $isdigit2$i = ($isdigittmp1$i>>>0)<(10); - if ($isdigit2$i) { - $92 = $89;$95 = $storemerge798;$i$03$i = 0; - while(1) { - $90 = ($i$03$i*10)|0; - $91 = (($92) + -48)|0; - $93 = (($91) + ($90))|0; - $94 = (($95) + 1|0); - $96 = HEAP8[$94>>0]|0; - $97 = $96 << 24 >> 24; - $isdigittmp$i = (($97) + -48)|0; - $isdigit$i = ($isdigittmp$i>>>0)<(10); - if ($isdigit$i) { - $92 = $97;$95 = $94;$i$03$i = $93; - } else { - break; - } - } - $98 = ($93|0)<(0); - if ($98) { - $$0 = -1; - label = 362; - break L1; - } else { - $100 = $94;$fl$1 = $fl$0100;$l10n$3 = $l10n$1;$w$1 = $93; - } - } else { - $100 = $storemerge798;$fl$1 = $fl$0100;$l10n$3 = $l10n$1;$w$1 = 0; - } - } - } while(0); - $99 = HEAP8[$100>>0]|0; - $101 = ($99<<24>>24)==(46); - L46: do { - if ($101) { - $102 = (($100) + 1|0); - $103 = HEAP8[$102>>0]|0; - $104 = ($103<<24>>24)==(42); - if (!($104)) { - $125 = $103 << 24 >> 24; - $isdigittmp1$i20 = (($125) + -48)|0; - $isdigit2$i21 = ($isdigittmp1$i20>>>0)<(10); - if ($isdigit2$i21) { - $128 = $125;$131 = $102;$i$03$i22 = 0; - } else { - $1048 = $102;$p$0 = 0; - break; - } - while(1) { - $126 = ($i$03$i22*10)|0; - $127 = (($128) + -48)|0; - $129 = (($127) + ($126))|0; - $130 = (($131) + 1|0); - $132 = HEAP8[$130>>0]|0; - $133 = $132 << 24 >> 24; - $isdigittmp$i23 = (($133) + -48)|0; - $isdigit$i24 = ($isdigittmp$i23>>>0)<(10); - if ($isdigit$i24) { - $128 = $133;$131 = $130;$i$03$i22 = $129; - } else { - $1048 = $130;$p$0 = $129; - break L46; - } - } - } - $105 = (($100) + 2|0); - $106 = HEAP8[$105>>0]|0; - $107 = $106 << 24 >> 24; - $isdigittmp8 = (($107) + -48)|0; - $isdigit9 = ($isdigittmp8>>>0)<(10); - if ($isdigit9) { - $108 = (($100) + 3|0); - $109 = HEAP8[$108>>0]|0; - $110 = ($109<<24>>24)==(36); - if ($110) { - $111 = (($nl_type) + ($isdigittmp8<<2)|0); - HEAP32[$111>>2] = 10; - $112 = HEAP8[$105>>0]|0; - $113 = $112 << 24 >> 24; - $114 = (($113) + -48)|0; - $115 = (($nl_arg) + ($114<<3)|0); - $116 = $115; - $117 = $116; - $118 = HEAP32[$117>>2]|0; - $119 = (($116) + 4)|0; - $120 = $119; - $121 = HEAP32[$120>>2]|0; - $122 = (($100) + 4|0); - $1048 = $122;$p$0 = $118; - break; - } - } - $123 = ($l10n$3|0)==(0); - if (!($123)) { - $$0 = -1; - label = 362; - break L1; - } - if ($1) { - $arglist_current2 = HEAP32[$ap>>2]|0; - $124 = HEAP32[$arglist_current2>>2]|0; - $arglist_next3 = (($arglist_current2) + 4|0); - HEAP32[$ap>>2] = $arglist_next3; - $1048 = $105;$p$0 = $124; - } else { - $1048 = $105;$p$0 = 0; - } - } else { - $1048 = $100;$p$0 = -1; - } - } while(0); - $135 = $1048;$st$0 = 0; - while(1) { - $134 = HEAP8[$135>>0]|0; - $136 = $134 << 24 >> 24; - $137 = (($136) + -65)|0; - $138 = ($137>>>0)>(57); - if ($138) { - $$0 = -1; - label = 362; - break L1; - } - $139 = (($135) + 1|0); - $140 = ((21176 + (($st$0*58)|0)|0) + ($137)|0); - $141 = HEAP8[$140>>0]|0; - $142 = $141&255; - $143 = (($142) + -1)|0; - $144 = ($143>>>0)<(8); - if ($144) { - $135 = $139;$st$0 = $142; - } else { - break; - } - } - $145 = ($141<<24>>24)==(0); - if ($145) { - $$0 = -1; - label = 362; - break; - } - $146 = ($141<<24>>24)==(19); - $147 = ($argpos$0|0)>(-1); - L65: do { - if ($146) { - if ($147) { - $$0 = -1; - label = 362; - break L1; - } else { - $1049 = $1045;$1050 = $1046; - label = 63; - } - } else { - if ($147) { - $148 = (($nl_type) + ($argpos$0<<2)|0); - HEAP32[$148>>2] = $142; - $149 = (($nl_arg) + ($argpos$0<<3)|0); - $150 = $149; - $151 = $150; - $152 = HEAP32[$151>>2]|0; - $153 = (($150) + 4)|0; - $154 = $153; - $155 = HEAP32[$154>>2]|0; - $156 = $152; - $1049 = $155;$1050 = $156; - label = 63; - break; - } - if (!($1)) { - $$0 = 0; - label = 362; - break L1; - } - $157 = ($141&255)>(20); - if ($157) { - $199 = $134;$207 = $1046;$229 = $1045; - } else { - do { - switch ($142|0) { - case 10: { - $arglist_current8 = HEAP32[$ap>>2]|0; - $159 = HEAP32[$arglist_current8>>2]|0; - $arglist_next9 = (($arglist_current8) + 4|0); - HEAP32[$ap>>2] = $arglist_next9; - $160 = ($159|0)<(0); - $161 = $160 << 31 >> 31; - $162 = $159; - $1051 = $162;$1052 = $161; - label = 64; - break L65; - break; - } - case 11: { - $arglist_current11 = HEAP32[$ap>>2]|0; - $163 = HEAP32[$arglist_current11>>2]|0; - $arglist_next12 = (($arglist_current11) + 4|0); - HEAP32[$ap>>2] = $arglist_next12; - $164 = $163; - $1051 = $164;$1052 = 0; - label = 64; - break L65; - break; - } - case 12: { - $arglist_current14 = HEAP32[$ap>>2]|0; - $165 = $arglist_current14; - $166 = $165; - $167 = HEAP32[$166>>2]|0; - $168 = (($165) + 4)|0; - $169 = $168; - $170 = HEAP32[$169>>2]|0; - $arglist_next15 = (($arglist_current14) + 8|0); - HEAP32[$ap>>2] = $arglist_next15; - $171 = $167; - $1051 = $171;$1052 = $170; - label = 64; - break L65; - break; - } - case 13: { - $arglist_current17 = HEAP32[$ap>>2]|0; - $172 = HEAP32[$arglist_current17>>2]|0; - $arglist_next18 = (($arglist_current17) + 4|0); - HEAP32[$ap>>2] = $arglist_next18; - $173 = $172&65535; - $174 = $173 << 16 >> 16; - $175 = ($174|0)<(0); - $176 = $175 << 31 >> 31; - $sext84 = $172 << 16; - $177 = $sext84 >> 16; - $178 = $177; - $1051 = $178;$1052 = $176; - label = 64; - break L65; - break; - } - case 14: { - $arglist_current20 = HEAP32[$ap>>2]|0; - $179 = HEAP32[$arglist_current20>>2]|0; - $arglist_next21 = (($arglist_current20) + 4|0); - HEAP32[$ap>>2] = $arglist_next21; - $$mask1$i29 = $179 & 65535; - $180 = $$mask1$i29; - $1051 = $180;$1052 = 0; - label = 64; - break L65; - break; - } - case 15: { - $arglist_current23 = HEAP32[$ap>>2]|0; - $181 = HEAP32[$arglist_current23>>2]|0; - $arglist_next24 = (($arglist_current23) + 4|0); - HEAP32[$ap>>2] = $arglist_next24; - $182 = $181&255; - $183 = $182 << 24 >> 24; - $184 = ($183|0)<(0); - $185 = $184 << 31 >> 31; - $sext = $181 << 24; - $186 = $sext >> 24; - $187 = $186; - $1051 = $187;$1052 = $185; - label = 64; - break L65; - break; - } - case 16: { - $arglist_current26 = HEAP32[$ap>>2]|0; - $188 = HEAP32[$arglist_current26>>2]|0; - $arglist_next27 = (($arglist_current26) + 4|0); - HEAP32[$ap>>2] = $arglist_next27; - $$mask$i30 = $188 & 255; - $189 = $$mask$i30; - $1051 = $189;$1052 = 0; - label = 64; - break L65; - break; - } - case 17: { - $arglist_current29 = HEAP32[$ap>>2]|0; - HEAP32[tempDoublePtr>>2]=HEAP32[$arglist_current29>>2];HEAP32[tempDoublePtr+4>>2]=HEAP32[$arglist_current29+4>>2];$190 = +HEAPF64[tempDoublePtr>>3]; - $arglist_next30 = (($arglist_current29) + 8|0); - HEAP32[$ap>>2] = $arglist_next30; - HEAPF64[tempDoublePtr>>3] = $190;$191 = HEAP32[tempDoublePtr>>2]|0; - $192 = HEAP32[tempDoublePtr+4>>2]|0; - $193 = $191; - $1051 = $193;$1052 = $192; - label = 64; - break L65; - break; - } - case 9: { - $arglist_current5 = HEAP32[$ap>>2]|0; - $158 = HEAP32[$arglist_current5>>2]|0; - $arglist_next6 = (($arglist_current5) + 4|0); - HEAP32[$ap>>2] = $arglist_next6; - $1051 = $158;$1052 = $1045; - label = 64; - break L65; - break; - } - case 18: { - $arglist_current32 = HEAP32[$ap>>2]|0; - HEAP32[tempDoublePtr>>2]=HEAP32[$arglist_current32>>2];HEAP32[tempDoublePtr+4>>2]=HEAP32[$arglist_current32+4>>2];$194 = +HEAPF64[tempDoublePtr>>3]; - $arglist_next33 = (($arglist_current32) + 8|0); - HEAP32[$ap>>2] = $arglist_next33; - HEAPF64[tempDoublePtr>>3] = $194;$195 = HEAP32[tempDoublePtr>>2]|0; - $196 = HEAP32[tempDoublePtr+4>>2]|0; - $197 = $195; - $1049 = $196;$1050 = $197; - label = 63; - break L65; - break; - } - default: { - $1051 = $1046;$1052 = $1045; - label = 64; - break L65; - } - } - } while(0); - } - } - } while(0); - if ((label|0) == 63) { - label = 0; - if ($1) { - $1051 = $1050;$1052 = $1049; - label = 64; - } else { - $1045 = $1049;$1046 = $1050;$22 = $139;$cnt$0 = $cnt$1;$l$0 = $36;$l10n$0 = $l10n$3; - continue; - } - } - if ((label|0) == 64) { - label = 0; - $$pre292 = HEAP8[$135>>0]|0; - $199 = $$pre292;$207 = $1051;$229 = $1052; - } - $198 = $199 << 24 >> 24; - $200 = ($st$0|0)==(0); - if ($200) { - $t$0 = $198; - } else { - $201 = $198 & 15; - $202 = ($201|0)==(3); - $203 = $198 & -33; - $$ = $202 ? $203 : $198; - $t$0 = $$; - } - $204 = $fl$1 & 8192; - $205 = ($204|0)==(0); - $206 = $fl$1 & -65537; - $fl$1$ = $205 ? $fl$1 : $206; - L92: do { - switch ($t$0|0) { - case 111: { - $249 = $207; - $250 = ($249|0)==(0); - $251 = ($229|0)==(0); - $252 = $250 & $251; - if ($252) { - $$0$lcssa$i43 = $2; - } else { - $$03$i40 = $2;$254 = $249;$258 = $229; - while(1) { - $253 = $254 & 7; - $255 = $253 | 48; - $256 = $255&255; - $257 = (($$03$i40) + -1|0); - HEAP8[$257>>0] = $256; - $259 = (_bitshift64Lshr(($254|0),($258|0),3)|0); - $260 = tempRet0; - $261 = ($259|0)==(0); - $262 = ($260|0)==(0); - $263 = $261 & $262; - if ($263) { - $$0$lcssa$i43 = $257; - break; - } else { - $$03$i40 = $257;$254 = $259;$258 = $260; - } - } - } - $264 = $fl$1$ & 8; - $265 = ($264|0)==(0); - if ($265) { - $308 = $207;$311 = $229;$a$0 = $$0$lcssa$i43;$fl$4 = $fl$1$;$p$2 = $p$0;$pl$1 = 0;$prefix$1 = 21640; - label = 94; - } else { - $$13 = $252 ? 21640 : ((21640 + 5|0)); - $266 = $252&1; - $$14 = $266 ^ 1; - $308 = $207;$311 = $229;$a$0 = $$0$lcssa$i43;$fl$4 = $fl$1$;$p$2 = $p$0;$pl$1 = $$14;$prefix$1 = $$13; - label = 94; - } - break; - } - case 110: { - switch ($st$0|0) { - case 4: { - $215 = $cnt$1&255; - HEAP8[$207>>0] = $215; - $1045 = $229;$1046 = $207;$22 = $139;$cnt$0 = $cnt$1;$l$0 = $36;$l10n$0 = $l10n$3; - continue L1; - break; - } - case 3: { - $214 = $cnt$1&65535; - HEAP16[$207>>1] = $214; - $1045 = $229;$1046 = $207;$22 = $139;$cnt$0 = $cnt$1;$l$0 = $36;$l10n$0 = $l10n$3; - continue L1; - break; - } - case 1: { - HEAP32[$207>>2] = $cnt$1; - $1045 = $229;$1046 = $207;$22 = $139;$cnt$0 = $cnt$1;$l$0 = $36;$l10n$0 = $l10n$3; - continue L1; - break; - } - case 0: { - HEAP32[$207>>2] = $cnt$1; - $1045 = $229;$1046 = $207;$22 = $139;$cnt$0 = $cnt$1;$l$0 = $36;$l10n$0 = $l10n$3; - continue L1; - break; - } - case 2: { - $208 = ($cnt$1|0)<(0); - $209 = $208 << 31 >> 31; - $210 = $207; - $211 = $210; - HEAP32[$211>>2] = $cnt$1; - $212 = (($210) + 4)|0; - $213 = $212; - HEAP32[$213>>2] = $209; - $1045 = $229;$1046 = $207;$22 = $139;$cnt$0 = $cnt$1;$l$0 = $36;$l10n$0 = $l10n$3; - continue L1; - break; - } - case 7: { - $216 = ($cnt$1|0)<(0); - $217 = $216 << 31 >> 31; - $218 = $207; - $219 = $218; - HEAP32[$219>>2] = $cnt$1; - $220 = (($218) + 4)|0; - $221 = $220; - HEAP32[$221>>2] = $217; - $1045 = $229;$1046 = $207;$22 = $139;$cnt$0 = $cnt$1;$l$0 = $36;$l10n$0 = $l10n$3; - continue L1; - break; - } - case 6: { - HEAP32[$207>>2] = $cnt$1; - $1045 = $229;$1046 = $207;$22 = $139;$cnt$0 = $cnt$1;$l$0 = $36;$l10n$0 = $l10n$3; - continue L1; - break; - } - default: { - $1045 = $229;$1046 = $207;$22 = $139;$cnt$0 = $cnt$1;$l$0 = $36;$l10n$0 = $l10n$3; - continue L1; - } - } - break; - } - case 88: case 120: { - $fl$3 = $fl$1$;$p$1 = $p$0;$t$1 = $t$0; - label = 77; - break; - } - case 115: { - $324 = ($207|0)==(0|0); - $$17 = $324 ? 21656 : $207; - $a$1 = $$17; - label = 99; - break; - } - case 117: { - $277 = $207;$279 = $229;$pl$0 = 0;$prefix$0 = 21640; - label = 89; - break; - } - case 67: { - $331 = $207; - HEAP32[$wc>>2] = $331; - HEAP32[$5>>2] = 0; - $1055 = $wc;$1056 = $wc;$p$4296 = -1; - label = 104; - break; - } - case 105: case 100: { - $267 = $207; - $268 = ($229|0)<(0); - if ($268) { - $269 = (_i64Subtract(0,0,($267|0),($229|0))|0); - $270 = tempRet0; - $271 = $269; - $277 = $271;$279 = $270;$pl$0 = 1;$prefix$0 = 21640; - label = 89; - break L92; - } - $272 = $fl$1$ & 2048; - $273 = ($272|0)==(0); - if ($273) { - $274 = $fl$1$ & 1; - $275 = ($274|0)==(0); - $$15 = $275 ? 21640 : ((21640 + 2|0)); - $277 = $207;$279 = $229;$pl$0 = $274;$prefix$0 = $$15; - label = 89; - } else { - $277 = $207;$279 = $229;$pl$0 = 1;$prefix$0 = ((21640 + 1|0)); - label = 89; - } - break; - } - case 83: { - $332 = ($p$0|0)==(0); - if ($332) { - $1057 = $207;$1058 = $207;$i$0166 = 0; - label = 110; - } else { - $1055 = $207;$1056 = $207;$p$4296 = $p$0; - label = 104; - } - break; - } - case 99: { - $319 = $207; - $320 = $319&255; - HEAP8[$4>>0] = $320; - $1053 = $229;$1054 = $207;$a$2 = $4;$fl$6 = $206;$p$5 = 1;$pl$2 = 0;$prefix$2 = 21640;$z$2 = $2; - break; - } - case 109: { - $321 = (___errno_location()|0); - $322 = HEAP32[$321>>2]|0; - $323 = (_strerror(($322|0))|0); - $a$1 = $323; - label = 99; - break; - } - case 112: { - $222 = ($p$0>>>0)>(8); - $223 = $222 ? $p$0 : 8; - $224 = $fl$1$ | 8; - $fl$3 = $224;$p$1 = $223;$t$1 = 120; - label = 77; - break; - } - case 65: case 71: case 70: case 69: case 97: case 103: case 102: case 101: { - $368 = $207; - HEAP32[tempDoublePtr>>2] = $368;HEAP32[tempDoublePtr+4>>2] = $229;$369 = +HEAPF64[tempDoublePtr>>3]; - HEAP32[$e2$i>>2] = 0; - $370 = ($229|0)<(0); - if ($370) { - $371 = -$369; - $$07$i = $371;$pl$0$i = 1;$prefix$0$i = 21664; - } else { - $372 = $fl$1$ & 2048; - $373 = ($372|0)==(0); - if ($373) { - $374 = $fl$1$ & 1; - $375 = ($374|0)==(0); - $$$i = $375 ? ((21664 + 1|0)) : ((21664 + 6|0)); - $$07$i = $369;$pl$0$i = $374;$prefix$0$i = $$$i; - } else { - $$07$i = $369;$pl$0$i = 1;$prefix$0$i = ((21664 + 3|0)); - } - } - HEAPF64[tempDoublePtr>>3] = $$07$i;$376 = HEAP32[tempDoublePtr>>2]|0; - $377 = HEAP32[tempDoublePtr+4>>2]|0; - $378 = $377 & 2146435072; - $379 = ($378>>>0)<(2146435072); - $380 = ($378|0)==(2146435072); - $381 = (0)<(0); - $382 = $380 & $381; - $383 = $379 | $382; - if (!($383)) { - $384 = $t$0 & 32; - $385 = ($384|0)!=(0); - $386 = $385 ? 21688 : 21696; - $387 = ($$07$i != $$07$i) | (0.0 != 0.0); - if ($387) { - $388 = $385 ? 21704 : 21712; - $pl$1$i = 0;$s1$0$i = $388; - } else { - $pl$1$i = $pl$0$i;$s1$0$i = $386; - } - $389 = (($pl$1$i) + 3)|0; - $390 = $fl$1$ & 8192; - $391 = ($390|0)==(0); - $392 = ($389|0)<($w$1|0); - $or$cond$i35$i = $391 & $392; - if ($or$cond$i35$i) { - $393 = (($w$1) - ($389))|0; - $394 = ($393>>>0)>(256); - $395 = $394 ? 256 : $393; - _memset(($pad$i|0),32,($395|0))|0; - $396 = ($393>>>0)>(255); - if ($396) { - $$01$i36$i = $393; - while(1) { - (___fwritex($pad$i,256,$f)|0); - $397 = (($$01$i36$i) + -256)|0; - $398 = ($397>>>0)>(255); - if ($398) { - $$01$i36$i = $397; - } else { - $$0$lcssa$i38$i = $397; - break; - } - } - } else { - $$0$lcssa$i38$i = $393; - } - (___fwritex($pad$i,$$0$lcssa$i38$i,$f)|0); - } - (___fwritex($prefix$0$i,$pl$1$i,$f)|0); - (___fwritex($s1$0$i,3,$f)|0); - $399 = $fl$1$ & 73728; - $400 = ($399|0)==(8192); - $or$cond$i42$i = $400 & $392; - if ($or$cond$i42$i) { - $401 = (($w$1) - ($389))|0; - $402 = ($401>>>0)>(256); - $403 = $402 ? 256 : $401; - _memset(($pad$i|0),32,($403|0))|0; - $404 = ($401>>>0)>(255); - if ($404) { - $$01$i43$i = $401; - while(1) { - (___fwritex($pad$i,256,$f)|0); - $405 = (($$01$i43$i) + -256)|0; - $406 = ($405>>>0)>(255); - if ($406) { - $$01$i43$i = $405; - } else { - $$0$lcssa$i45$i = $405; - break; - } - } - } else { - $$0$lcssa$i45$i = $401; - } - (___fwritex($pad$i,$$0$lcssa$i45$i,$f)|0); - } - $w$$i = $392 ? $w$1 : $389; - $1045 = $229;$1046 = $207;$22 = $139;$cnt$0 = $cnt$1;$l$0 = $w$$i;$l10n$0 = $l10n$3; - continue L1; - } - $407 = (+_frexpl($$07$i,$e2$i)); - $408 = $407 * 2.0; - $409 = $408 != 0.0; - if ($409) { - $410 = HEAP32[$e2$i>>2]|0; - $411 = (($410) + -1)|0; - HEAP32[$e2$i>>2] = $411; - } - $412 = $t$0 | 32; - $413 = ($412|0)==(97); - if ($413) { - $414 = $t$0 & 32; - $415 = ($414|0)==(0); - $416 = (($prefix$0$i) + 9|0); - $prefix$0$$i = $415 ? $prefix$0$i : $416; - $417 = $pl$0$i | 2; - $418 = ($p$0>>>0)>(11); - $419 = (12 - ($p$0))|0; - $re$0$i = $418 ? 0 : $419; - $420 = ($re$0$i|0)==(0); - do { - if ($420) { - $$1$i = $408; - } else { - $re$1165$i = $re$0$i;$round$0164$i = 8.0; - while(1) { - $421 = (($re$1165$i) + -1)|0; - $422 = $round$0164$i * 16.0; - $423 = ($421|0)==(0); - if ($423) { - break; - } else { - $re$1165$i = $421;$round$0164$i = $422; - } - } - $424 = HEAP8[$prefix$0$$i>>0]|0; - $425 = ($424<<24>>24)==(45); - if ($425) { - $426 = -$408; - $427 = $426 - $422; - $428 = $422 + $427; - $429 = -$428; - $$1$i = $429; - break; - } else { - $430 = $408 + $422; - $431 = $430 - $422; - $$1$i = $431; - break; - } - } - } while(0); - $432 = HEAP32[$e2$i>>2]|0; - $433 = ($432|0)<(0); - $434 = (0 - ($432))|0; - $435 = $433 ? $434 : $432; - $436 = ($435|0)<(0); - if ($436) { - $437 = ($435|0)<(0); - $438 = $437 << 31 >> 31; - $$05$i$i = $6;$439 = $435;$440 = $438; - while(1) { - $441 = (___uremdi3(($439|0),($440|0),10,0)|0); - $442 = tempRet0; - $443 = $441 | 48; - $444 = $443&255; - $445 = (($$05$i$i) + -1|0); - HEAP8[$445>>0] = $444; - $446 = (___udivdi3(($439|0),($440|0),10,0)|0); - $447 = tempRet0; - $448 = ($440>>>0)>(9); - $449 = ($440|0)==(9); - $450 = ($439>>>0)>(4294967295); - $451 = $449 & $450; - $452 = $448 | $451; - if ($452) { - $$05$i$i = $445;$439 = $446;$440 = $447; - } else { - break; - } - } - $$0$lcssa$i48$i = $445;$$01$lcssa$off0$i$i = $446; - } else { - $$0$lcssa$i48$i = $6;$$01$lcssa$off0$i$i = $435; - } - $453 = ($$01$lcssa$off0$i$i|0)==(0); - if ($453) { - $$1$lcssa$i$i = $$0$lcssa$i48$i; - } else { - $$12$i$i = $$0$lcssa$i48$i;$y$03$i$i = $$01$lcssa$off0$i$i; - while(1) { - $454 = (($y$03$i$i>>>0) % 10)&-1; - $455 = $454 | 48; - $456 = $455&255; - $457 = (($$12$i$i) + -1|0); - HEAP8[$457>>0] = $456; - $458 = (($y$03$i$i>>>0) / 10)&-1; - $459 = ($y$03$i$i>>>0)<(10); - if ($459) { - $$1$lcssa$i$i = $457; - break; - } else { - $$12$i$i = $457;$y$03$i$i = $458; - } - } - } - $460 = ($$1$lcssa$i$i|0)==($6|0); - if ($460) { - HEAP8[$7>>0] = 48; - $estr$0$i = $7; - } else { - $estr$0$i = $$1$lcssa$i$i; - } - $461 = HEAP32[$e2$i>>2]|0; - $462 = $461 >> 31; - $463 = $462 & 2; - $464 = (($463) + 43)|0; - $465 = $464&255; - $466 = (($estr$0$i) + -1|0); - HEAP8[$466>>0] = $465; - $467 = (($t$0) + 15)|0; - $468 = $467&255; - $469 = (($estr$0$i) + -2|0); - HEAP8[$469>>0] = $468; - $470 = ($p$0|0)>(0); - $471 = $fl$1$ & 8; - $472 = ($471|0)==(0); - if ($470) { - if ($472) { - $$2$us$us$i = $$1$i;$s$0$us$us$i = $buf$i; - while(1) { - $473 = (~~(($$2$us$us$i))); - $474 = (21720 + ($473)|0); - $475 = HEAP8[$474>>0]|0; - $476 = $475&255; - $477 = $476 | $414; - $478 = $477&255; - $479 = (($s$0$us$us$i) + 1|0); - HEAP8[$s$0$us$us$i>>0] = $478; - $480 = (+($473|0)); - $481 = $$2$us$us$i - $480; - $482 = $481 * 16.0; - $483 = $479; - $484 = (($483) - ($0))|0; - $485 = ($484|0)==(1); - if ($485) { - $486 = (($s$0$us$us$i) + 2|0); - HEAP8[$479>>0] = 46; - $s$1$us$us$i = $486; - } else { - $s$1$us$us$i = $479; - } - $487 = $482 != 0.0; - if ($487) { - $$2$us$us$i = $482;$s$0$us$us$i = $s$1$us$us$i; - } else { - $s$1$lcssa$i = $s$1$us$us$i; - break; - } - } - } else { - $$2$us$i = $$1$i;$s$0$us$i = $buf$i; - while(1) { - $488 = (~~(($$2$us$i))); - $489 = (21720 + ($488)|0); - $490 = HEAP8[$489>>0]|0; - $491 = $490&255; - $492 = $491 | $414; - $493 = $492&255; - $494 = (($s$0$us$i) + 1|0); - HEAP8[$s$0$us$i>>0] = $493; - $495 = (+($488|0)); - $496 = $$2$us$i - $495; - $497 = $496 * 16.0; - $498 = $494; - $499 = (($498) - ($0))|0; - $500 = ($499|0)==(1); - if ($500) { - $501 = (($s$0$us$i) + 2|0); - HEAP8[$494>>0] = 46; - $s$1$us$i = $501; - } else { - $s$1$us$i = $494; - } - $502 = $497 != 0.0; - if ($502) { - $$2$us$i = $497;$s$0$us$i = $s$1$us$i; - } else { - $s$1$lcssa$i = $s$1$us$i; - break; - } - } - } - } else { - if ($472) { - $$2$us159$i = $$1$i;$s$0$us158$i = $buf$i; - while(1) { - $503 = (~~(($$2$us159$i))); - $504 = (21720 + ($503)|0); - $505 = HEAP8[$504>>0]|0; - $506 = $505&255; - $507 = $506 | $414; - $508 = $507&255; - $509 = (($s$0$us158$i) + 1|0); - HEAP8[$s$0$us158$i>>0] = $508; - $510 = (+($503|0)); - $511 = $$2$us159$i - $510; - $512 = $511 * 16.0; - $513 = $509; - $514 = (($513) - ($0))|0; - $515 = ($514|0)==(1); - $516 = $512 != 0.0; - $or$cond$i71 = $515 & $516; - if ($or$cond$i71) { - $517 = (($s$0$us158$i) + 2|0); - HEAP8[$509>>0] = 46; - $s$1$us160$i = $517; - } else { - $s$1$us160$i = $509; - } - if ($516) { - $$2$us159$i = $512;$s$0$us158$i = $s$1$us160$i; - } else { - $s$1$lcssa$i = $s$1$us160$i; - break; - } - } - } else { - $$2$i = $$1$i;$s$0$i = $buf$i; - while(1) { - $518 = (~~(($$2$i))); - $519 = (21720 + ($518)|0); - $520 = HEAP8[$519>>0]|0; - $521 = $520&255; - $522 = $521 | $414; - $523 = $522&255; - $524 = (($s$0$i) + 1|0); - HEAP8[$s$0$i>>0] = $523; - $525 = (+($518|0)); - $526 = $$2$i - $525; - $527 = $526 * 16.0; - $528 = $524; - $529 = (($528) - ($0))|0; - $530 = ($529|0)==(1); - if ($530) { - $531 = (($s$0$i) + 2|0); - HEAP8[$524>>0] = 46; - $s$1$i = $531; - } else { - $s$1$i = $524; - } - $532 = $527 != 0.0; - if ($532) { - $$2$i = $527;$s$0$i = $s$1$i; - } else { - $s$1$lcssa$i = $s$1$i; - break; - } - } - } - } - $533 = ($p$0|0)==(0); - $$pre319$i = $s$1$lcssa$i; - do { - if ($533) { - label = 173; - } else { - $534 = (($10) + ($$pre319$i))|0; - $535 = ($534|0)<($p$0|0); - if (!($535)) { - label = 173; - break; - } - $536 = $469; - $537 = (($11) + ($p$0))|0; - $538 = (($537) - ($536))|0; - $l$0$i = $538; - } - } while(0); - if ((label|0) == 173) { - label = 0; - $539 = $469; - $540 = (($9) - ($539))|0; - $541 = (($540) + ($$pre319$i))|0; - $l$0$i = $541; - } - $542 = (($l$0$i) + ($417))|0; - $543 = $fl$1$ & 73728; - $544 = ($543|0)==(0); - $545 = ($542|0)<($w$1|0); - $or$cond$i52$i = $544 & $545; - if ($or$cond$i52$i) { - $546 = (($w$1) - ($542))|0; - $547 = ($546>>>0)>(256); - $548 = $547 ? 256 : $546; - _memset(($pad$i|0),32,($548|0))|0; - $549 = ($546>>>0)>(255); - if ($549) { - $$01$i53$i = $546; - while(1) { - (___fwritex($pad$i,256,$f)|0); - $550 = (($$01$i53$i) + -256)|0; - $551 = ($550>>>0)>(255); - if ($551) { - $$01$i53$i = $550; - } else { - $$0$lcssa$i55$i = $550; - break; - } - } - } else { - $$0$lcssa$i55$i = $546; - } - (___fwritex($pad$i,$$0$lcssa$i55$i,$f)|0); - } - (___fwritex($prefix$0$$i,$417,$f)|0); - $552 = ($543|0)==(65536); - $or$cond$i59$i = $552 & $545; - if ($or$cond$i59$i) { - $553 = (($w$1) - ($542))|0; - $554 = ($553>>>0)>(256); - $555 = $554 ? 256 : $553; - _memset(($pad$i|0),48,($555|0))|0; - $556 = ($553>>>0)>(255); - if ($556) { - $$01$i60$i = $553; - while(1) { - (___fwritex($pad$i,256,$f)|0); - $557 = (($$01$i60$i) + -256)|0; - $558 = ($557>>>0)>(255); - if ($558) { - $$01$i60$i = $557; - } else { - $$0$lcssa$i62$i = $557; - break; - } - } - } else { - $$0$lcssa$i62$i = $553; - } - (___fwritex($pad$i,$$0$lcssa$i62$i,$f)|0); - } - $559 = (($$pre319$i) - ($0))|0; - (___fwritex($buf$i,$559,$f)|0); - $560 = $469; - $561 = (($8) - ($560))|0; - $562 = (($l$0$i) - ($561))|0; - $563 = (($562) - ($559))|0; - $564 = ($563|0)>(0); - if ($564) { - $565 = ($563>>>0)>(256); - $566 = $565 ? 256 : $563; - _memset(($pad$i|0),48,($566|0))|0; - $567 = ($563>>>0)>(255); - if ($567) { - $$01$i66$i = $563; - while(1) { - (___fwritex($pad$i,256,$f)|0); - $568 = (($$01$i66$i) + -256)|0; - $569 = ($568>>>0)>(255); - if ($569) { - $$01$i66$i = $568; - } else { - $$0$lcssa$i68$i = $568; - break; - } - } - } else { - $$0$lcssa$i68$i = $563; - } - (___fwritex($pad$i,$$0$lcssa$i68$i,$f)|0); - } - (___fwritex($469,$561,$f)|0); - $570 = ($543|0)==(8192); - $or$cond$i72$i = $570 & $545; - if ($or$cond$i72$i) { - $571 = (($w$1) - ($542))|0; - $572 = ($571>>>0)>(256); - $573 = $572 ? 256 : $571; - _memset(($pad$i|0),32,($573|0))|0; - $574 = ($571>>>0)>(255); - if ($574) { - $$01$i73$i = $571; - while(1) { - (___fwritex($pad$i,256,$f)|0); - $575 = (($$01$i73$i) + -256)|0; - $576 = ($575>>>0)>(255); - if ($576) { - $$01$i73$i = $575; - } else { - $$0$lcssa$i75$i = $575; - break; - } - } - } else { - $$0$lcssa$i75$i = $571; - } - (___fwritex($pad$i,$$0$lcssa$i75$i,$f)|0); - } - $w$18$i = $545 ? $w$1 : $542; - $1045 = $229;$1046 = $207;$22 = $139;$cnt$0 = $cnt$1;$l$0 = $w$18$i;$l10n$0 = $l10n$3; - continue L1; - } - $577 = ($p$0|0)<(0); - $$p$i = $577 ? 6 : $p$0; - if ($409) { - $578 = $408 * 268435456.0; - $579 = HEAP32[$e2$i>>2]|0; - $580 = (($579) + -28)|0; - HEAP32[$e2$i>>2] = $580; - $$3$i = $578;$582 = $580; - } else { - $$pre$i = HEAP32[$e2$i>>2]|0; - $$3$i = $408;$582 = $$pre$i; - } - $581 = ($582|0)<(0); - $$31$i = $581 ? $big$i : $12; - $$4$i = $$3$i;$z$0$i = $$31$i; - while(1) { - $583 = (~~(($$4$i))>>>0); - HEAP32[$z$0$i>>2] = $583; - $584 = (($z$0$i) + 4|0); - $585 = (+($583>>>0)); - $586 = $$4$i - $585; - $587 = $586 * 1.0E+9; - $588 = $587 != 0.0; - if ($588) { - $$4$i = $587;$z$0$i = $584; - } else { - break; - } - } - $$pr$i = HEAP32[$e2$i>>2]|0; - $589 = ($$pr$i|0)>(0); - if ($589) { - $591 = $$pr$i;$a$1263$i = $$31$i;$z$1262$i = $584; - while(1) { - $590 = ($591|0)>(29); - $592 = $590 ? 29 : $591; - $d$0254$i = (($z$1262$i) + -4|0); - $593 = ($d$0254$i>>>0)<($a$1263$i>>>0); - do { - if ($593) { - $a$2$ph$i = $a$1263$i; - } else { - $carry$0255$i = 0;$d$0256$i = $d$0254$i; - while(1) { - $594 = HEAP32[$d$0256$i>>2]|0; - $595 = (_bitshift64Shl(($594|0),0,($592|0))|0); - $596 = tempRet0; - $597 = (_i64Add(($595|0),($596|0),($carry$0255$i|0),0)|0); - $598 = tempRet0; - $599 = (___uremdi3(($597|0),($598|0),1000000000,0)|0); - $600 = tempRet0; - HEAP32[$d$0256$i>>2] = $599; - $601 = (___udivdi3(($597|0),($598|0),1000000000,0)|0); - $602 = tempRet0; - $d$0$i = (($d$0256$i) + -4|0); - $603 = ($d$0$i>>>0)<($a$1263$i>>>0); - if ($603) { - break; - } else { - $carry$0255$i = $601;$d$0256$i = $d$0$i; - } - } - $604 = ($601|0)==(0); - if ($604) { - $a$2$ph$i = $a$1263$i; - break; - } - $605 = (($a$1263$i) + -4|0); - HEAP32[$605>>2] = $601; - $a$2$ph$i = $605; - } - } while(0); - $z$2$i = $z$1262$i; - while(1) { - $606 = ($z$2$i>>>0)>($a$2$ph$i>>>0); - if (!($606)) { - break; - } - $607 = (($z$2$i) + -4|0); - $608 = HEAP32[$607>>2]|0; - $609 = ($608|0)==(0); - if ($609) { - $z$2$i = $607; - } else { - break; - } - } - $610 = HEAP32[$e2$i>>2]|0; - $611 = (($610) - ($592))|0; - HEAP32[$e2$i>>2] = $611; - $612 = ($611|0)>(0); - if ($612) { - $591 = $611;$a$1263$i = $a$2$ph$i;$z$1262$i = $z$2$i; - } else { - $$pr146$i = $611;$a$1$lcssa$i = $a$2$ph$i;$z$1$lcssa$i = $z$2$i; - break; - } - } - } else { - $$pr146$i = $$pr$i;$a$1$lcssa$i = $$31$i;$z$1$lcssa$i = $584; - } - $613 = ($$pr146$i|0)<(0); - L254: do { - if ($613) { - $614 = (($$p$i) + 25)|0; - $615 = (($614|0) / 9)&-1; - $616 = (($615) + 1)|0; - $617 = ($412|0)==(102); - if ($617) { - $618 = $$31$i; - $619 = (($$31$i) + ($616<<2)|0); - $621 = $$pr146$i;$a$3249$us$i = $a$1$lcssa$i;$z$3248$us$i = $z$1$lcssa$i; - while(1) { - $620 = (0 - ($621))|0; - $622 = ($620|0)>(9); - $$20$us$i = $622 ? 9 : $620; - $623 = ($a$3249$us$i>>>0)<($z$3248$us$i>>>0); - do { - if ($623) { - $648 = 1 << $$20$us$i; - $642 = (($648) + -1)|0; - $645 = 1000000000 >>> $$20$us$i; - $carry3$0243$us$i = 0;$d$1242$us$i = $a$3249$us$i; - while(1) { - $640 = HEAP32[$d$1242$us$i>>2]|0; - $641 = $640 & $642; - $643 = $640 >>> $$20$us$i; - $644 = (($643) + ($carry3$0243$us$i))|0; - HEAP32[$d$1242$us$i>>2] = $644; - $631 = Math_imul($641, $645)|0; - $646 = (($d$1242$us$i) + 4|0); - $647 = ($646>>>0)<($z$3248$us$i>>>0); - if ($647) { - $carry3$0243$us$i = $631;$d$1242$us$i = $646; - } else { - break; - } - } - $627 = HEAP32[$a$3249$us$i>>2]|0; - $628 = ($627|0)==(0); - $629 = (($a$3249$us$i) + 4|0); - $$a$3$us$i = $628 ? $629 : $a$3249$us$i; - $630 = ($631|0)==(0); - if ($630) { - $$a$3$us323$i = $$a$3$us$i;$z$4$us$i = $z$3248$us$i; - break; - } - $632 = (($z$3248$us$i) + 4|0); - HEAP32[$z$3248$us$i>>2] = $631; - $$a$3$us323$i = $$a$3$us$i;$z$4$us$i = $632; - } else { - $624 = HEAP32[$a$3249$us$i>>2]|0; - $625 = ($624|0)==(0); - $626 = (($a$3249$us$i) + 4|0); - $$a$3$us322$i = $625 ? $626 : $a$3249$us$i; - $$a$3$us323$i = $$a$3$us322$i;$z$4$us$i = $z$3248$us$i; - } - } while(0); - $633 = $z$4$us$i; - $634 = (($633) - ($618))|0; - $635 = $634 >> 2; - $636 = ($635|0)>($616|0); - $$z$4$us$i = $636 ? $619 : $z$4$us$i; - $637 = HEAP32[$e2$i>>2]|0; - $638 = (($637) + ($$20$us$i))|0; - HEAP32[$e2$i>>2] = $638; - $639 = ($638|0)<(0); - if ($639) { - $621 = $638;$a$3249$us$i = $$a$3$us323$i;$z$3248$us$i = $$z$4$us$i; - } else { - $a$3$lcssa$i = $$a$3$us323$i;$z$3$lcssa$i = $$z$4$us$i; - break L254; - } - } - } else { - $650 = $$pr146$i;$a$3249$i = $a$1$lcssa$i;$z$3248$i = $z$1$lcssa$i; - } - while(1) { - $649 = (0 - ($650))|0; - $651 = ($649|0)>(9); - $$20$i = $651 ? 9 : $649; - $652 = ($a$3249$i>>>0)<($z$3248$i>>>0); - do { - if ($652) { - $656 = 1 << $$20$i; - $657 = (($656) + -1)|0; - $658 = 1000000000 >>> $$20$i; - $carry3$0243$i = 0;$d$1242$i = $a$3249$i; - while(1) { - $659 = HEAP32[$d$1242$i>>2]|0; - $660 = $659 & $657; - $661 = $659 >>> $$20$i; - $662 = (($661) + ($carry3$0243$i))|0; - HEAP32[$d$1242$i>>2] = $662; - $663 = Math_imul($660, $658)|0; - $664 = (($d$1242$i) + 4|0); - $665 = ($664>>>0)<($z$3248$i>>>0); - if ($665) { - $carry3$0243$i = $663;$d$1242$i = $664; - } else { - break; - } - } - $666 = HEAP32[$a$3249$i>>2]|0; - $667 = ($666|0)==(0); - $668 = (($a$3249$i) + 4|0); - $$a$3$i = $667 ? $668 : $a$3249$i; - $669 = ($663|0)==(0); - if ($669) { - $$a$3325$i = $$a$3$i;$z$4$i = $z$3248$i; - break; - } - $670 = (($z$3248$i) + 4|0); - HEAP32[$z$3248$i>>2] = $663; - $$a$3325$i = $$a$3$i;$z$4$i = $670; - } else { - $653 = HEAP32[$a$3249$i>>2]|0; - $654 = ($653|0)==(0); - $655 = (($a$3249$i) + 4|0); - $$a$3324$i = $654 ? $655 : $a$3249$i; - $$a$3325$i = $$a$3324$i;$z$4$i = $z$3248$i; - } - } while(0); - $671 = $z$4$i; - $672 = $$a$3325$i; - $673 = (($671) - ($672))|0; - $674 = $673 >> 2; - $675 = ($674|0)>($616|0); - if ($675) { - $676 = (($$a$3325$i) + ($616<<2)|0); - $z$5$i = $676; - } else { - $z$5$i = $z$4$i; - } - $677 = HEAP32[$e2$i>>2]|0; - $678 = (($677) + ($$20$i))|0; - HEAP32[$e2$i>>2] = $678; - $679 = ($678|0)<(0); - if ($679) { - $650 = $678;$a$3249$i = $$a$3325$i;$z$3248$i = $z$5$i; - } else { - $a$3$lcssa$i = $$a$3325$i;$z$3$lcssa$i = $z$5$i; - break; - } - } - } else { - $a$3$lcssa$i = $a$1$lcssa$i;$z$3$lcssa$i = $z$1$lcssa$i; - } - } while(0); - $680 = ($a$3$lcssa$i>>>0)<($z$3$lcssa$i>>>0); - $681 = $$31$i; - do { - if ($680) { - $682 = $a$3$lcssa$i; - $683 = (($681) - ($682))|0; - $684 = $683 >> 2; - $685 = ($684*9)|0; - $686 = HEAP32[$a$3$lcssa$i>>2]|0; - $687 = ($686>>>0)<(10); - if ($687) { - $e$1$i = $685; - break; - } else { - $e$0238$i = $685;$i$0237$i = 10; - } - while(1) { - $688 = ($i$0237$i*10)|0; - $689 = (($e$0238$i) + 1)|0; - $690 = ($686>>>0)<($688>>>0); - if ($690) { - $e$1$i = $689; - break; - } else { - $e$0238$i = $689;$i$0237$i = $688; - } - } - } else { - $e$1$i = 0; - } - } while(0); - $691 = ($412|0)!=(102); - $692 = $691 ? $e$1$i : 0; - $693 = (($$p$i) - ($692))|0; - $694 = ($412|0)==(103); - $695 = ($$p$i|0)!=(0); - $$21$i = $694 & $695; - $$neg151$i = $$21$i << 31 >> 31; - $696 = (($693) + ($$neg151$i))|0; - $697 = $z$3$lcssa$i; - $698 = (($697) - ($681))|0; - $699 = $698 >> 2; - $700 = ($699*9)|0; - $701 = (($700) + -9)|0; - $702 = ($696|0)<($701|0); - if ($702) { - $703 = (($696) + 9216)|0; - $704 = (($703|0) / 9)&-1; - $$sum$i = (($704) + -1023)|0; - $705 = (($$31$i) + ($$sum$i<<2)|0); - $706 = (($703|0) % 9)&-1; - $j$0229$i = (($706) + 1)|0; - $707 = ($j$0229$i|0)<(9); - if ($707) { - $i$1230$i = 10;$j$0231$i = $j$0229$i; - while(1) { - $708 = ($i$1230$i*10)|0; - $j$0$i = (($j$0231$i) + 1)|0; - $exitcond$i = ($j$0$i|0)==(9); - if ($exitcond$i) { - $i$1$lcssa$i = $708; - break; - } else { - $i$1230$i = $708;$j$0231$i = $j$0$i; - } - } - } else { - $i$1$lcssa$i = 10; - } - $709 = HEAP32[$705>>2]|0; - $710 = (($709>>>0) % ($i$1$lcssa$i>>>0))&-1; - $711 = ($710|0)==(0); - if ($711) { - $$sum15$i = (($704) + -1022)|0; - $712 = (($$31$i) + ($$sum15$i<<2)|0); - $713 = ($712|0)==($z$3$lcssa$i|0); - if ($713) { - $a$7$i = $a$3$lcssa$i;$d$3$i = $705;$e$3$i = $e$1$i; - } else { - label = 233; - } - } else { - label = 233; - } - do { - if ((label|0) == 233) { - label = 0; - $714 = (($709>>>0) / ($i$1$lcssa$i>>>0))&-1; - $715 = $714 & 1; - $716 = ($715|0)==(0); - $$22$i = $716 ? 9007199254740992.0 : 9007199254740994.0; - $717 = (($i$1$lcssa$i|0) / 2)&-1; - $718 = ($710>>>0)<($717>>>0); - do { - if ($718) { - $small$0$i = 0.5; - } else { - $719 = ($710|0)==($717|0); - if ($719) { - $$sum16$i = (($704) + -1022)|0; - $720 = (($$31$i) + ($$sum16$i<<2)|0); - $721 = ($720|0)==($z$3$lcssa$i|0); - if ($721) { - $small$0$i = 1.0; - break; - } - } - $small$0$i = 1.5; - } - } while(0); - $722 = ($pl$0$i|0)==(0); - do { - if ($722) { - $round6$1$i = $$22$i;$small$1$i = $small$0$i; - } else { - $723 = HEAP8[$prefix$0$i>>0]|0; - $724 = ($723<<24>>24)==(45); - if (!($724)) { - $round6$1$i = $$22$i;$small$1$i = $small$0$i; - break; - } - $725 = $$22$i * -1.0; - $726 = $small$0$i * -1.0; - $round6$1$i = $725;$small$1$i = $726; - } - } while(0); - $727 = (($709) - ($710))|0; - HEAP32[$705>>2] = $727; - $728 = $round6$1$i + $small$1$i; - $729 = $728 != $round6$1$i; - if (!($729)) { - $a$7$i = $a$3$lcssa$i;$d$3$i = $705;$e$3$i = $e$1$i; - break; - } - $730 = (($727) + ($i$1$lcssa$i))|0; - HEAP32[$705>>2] = $730; - $731 = ($730>>>0)>(999999999); - if ($731) { - $a$5223$i = $a$3$lcssa$i;$d$2222$i = $705; - while(1) { - $732 = (($d$2222$i) + -4|0); - HEAP32[$d$2222$i>>2] = 0; - $733 = ($732>>>0)<($a$5223$i>>>0); - if ($733) { - $734 = (($a$5223$i) + -4|0); - HEAP32[$734>>2] = 0; - $a$6$i = $734; - } else { - $a$6$i = $a$5223$i; - } - $735 = HEAP32[$732>>2]|0; - $736 = (($735) + 1)|0; - HEAP32[$732>>2] = $736; - $737 = ($736>>>0)>(999999999); - if ($737) { - $a$5223$i = $a$6$i;$d$2222$i = $732; - } else { - $a$5$lcssa$i = $a$6$i;$d$2$lcssa$i = $732; - break; - } - } - } else { - $a$5$lcssa$i = $a$3$lcssa$i;$d$2$lcssa$i = $705; - } - $738 = $a$5$lcssa$i; - $739 = (($681) - ($738))|0; - $740 = $739 >> 2; - $741 = ($740*9)|0; - $742 = HEAP32[$a$5$lcssa$i>>2]|0; - $743 = ($742>>>0)<(10); - if ($743) { - $a$7$i = $a$5$lcssa$i;$d$3$i = $d$2$lcssa$i;$e$3$i = $741; - break; - } else { - $e$2218$i = $741;$i$2217$i = 10; - } - while(1) { - $744 = ($i$2217$i*10)|0; - $745 = (($e$2218$i) + 1)|0; - $746 = ($742>>>0)<($744>>>0); - if ($746) { - $a$7$i = $a$5$lcssa$i;$d$3$i = $d$2$lcssa$i;$e$3$i = $745; - break; - } else { - $e$2218$i = $745;$i$2217$i = $744; - } - } - } - } while(0); - $747 = (($d$3$i) + 4|0); - $748 = ($z$3$lcssa$i>>>0)>($747>>>0); - $$z$3$i = $748 ? $747 : $z$3$lcssa$i; - $a$8$ph$i = $a$7$i;$e$4$ph$i = $e$3$i;$z$6$ph$i = $$z$3$i; - } else { - $a$8$ph$i = $a$3$lcssa$i;$e$4$ph$i = $e$1$i;$z$6$ph$i = $z$3$lcssa$i; - } - $749 = (0 - ($e$4$ph$i))|0; - $z$6$i = $z$6$ph$i; - while(1) { - $750 = ($z$6$i>>>0)>($a$8$ph$i>>>0); - if (!($750)) { - $$lcssa300$i = 0; - break; - } - $751 = (($z$6$i) + -4|0); - $752 = HEAP32[$751>>2]|0; - $753 = ($752|0)==(0); - if ($753) { - $z$6$i = $751; - } else { - $$lcssa300$i = 1; - break; - } - } - do { - if ($694) { - $754 = ($$p$i|0)==(0); - $755 = $754&1; - $$$p$i = (($755) + ($$p$i))|0; - $756 = ($$$p$i|0)>($e$4$ph$i|0); - $757 = ($e$4$ph$i|0)>(-5); - $or$cond4$i = $756 & $757; - if ($or$cond4$i) { - $758 = (($t$0) + -1)|0; - $$neg152$i = (($$$p$i) + -1)|0; - $759 = (($$neg152$i) - ($e$4$ph$i))|0; - $$013$i = $758;$$210$i = $759; - } else { - $760 = (($t$0) + -2)|0; - $761 = (($$$p$i) + -1)|0; - $$013$i = $760;$$210$i = $761; - } - $762 = $fl$1$ & 8; - $763 = ($762|0)==(0); - if (!($763)) { - $$114$i = $$013$i;$$311$i = $$210$i; - break; - } - do { - if ($$lcssa300$i) { - $764 = (($z$6$i) + -4|0); - $765 = HEAP32[$764>>2]|0; - $766 = ($765|0)==(0); - if ($766) { - $j$2$i = 9; - break; - } - $767 = (($765>>>0) % 10)&-1; - $768 = ($767|0)==(0); - if ($768) { - $i$3209$i = 10;$j$1210$i = 0; - } else { - $j$2$i = 0; - break; - } - while(1) { - $769 = ($i$3209$i*10)|0; - $770 = (($j$1210$i) + 1)|0; - $771 = (($765>>>0) % ($769>>>0))&-1; - $772 = ($771|0)==(0); - if ($772) { - $i$3209$i = $769;$j$1210$i = $770; - } else { - $j$2$i = $770; - break; - } - } - } else { - $j$2$i = 9; - } - } while(0); - $773 = $$013$i | 32; - $774 = ($773|0)==(102); - $775 = $z$6$i; - $776 = (($775) - ($681))|0; - $777 = $776 >> 2; - $778 = ($777*9)|0; - $779 = (($778) + -9)|0; - if ($774) { - $780 = (($779) - ($j$2$i))|0; - $781 = ($780|0)<(0); - $$23$i = $781 ? 0 : $780; - $782 = ($$210$i|0)<($$23$i|0); - $$210$$23$i = $782 ? $$210$i : $$23$i; - $$114$i = $$013$i;$$311$i = $$210$$23$i; - break; - } else { - $783 = (($779) + ($e$4$ph$i))|0; - $784 = (($783) - ($j$2$i))|0; - $785 = ($784|0)<(0); - $$25$i = $785 ? 0 : $784; - $786 = ($$210$i|0)<($$25$i|0); - $$210$$25$i = $786 ? $$210$i : $$25$i; - $$114$i = $$013$i;$$311$i = $$210$$25$i; - break; - } - } else { - $$114$i = $t$0;$$311$i = $$p$i; - } - } while(0); - $787 = ($$311$i|0)!=(0); - if ($787) { - $791 = 1; - } else { - $788 = $fl$1$ & 8; - $789 = ($788|0)!=(0); - $791 = $789; - } - $790 = $791&1; - $792 = $$114$i | 32; - $793 = ($792|0)==(102); - if ($793) { - $794 = ($e$4$ph$i|0)>(0); - $795 = $794 ? $e$4$ph$i : 0; - $$pn$i = $795;$estr$2$i = 0; - } else { - $796 = ($e$4$ph$i|0)<(0); - $797 = $796 ? $749 : $e$4$ph$i; - $798 = ($797|0)<(0); - if ($798) { - $799 = ($797|0)<(0); - $800 = $799 << 31 >> 31; - $$05$i79$i = $6;$801 = $797;$802 = $800; - while(1) { - $803 = (___uremdi3(($801|0),($802|0),10,0)|0); - $804 = tempRet0; - $805 = $803 | 48; - $806 = $805&255; - $807 = (($$05$i79$i) + -1|0); - HEAP8[$807>>0] = $806; - $808 = (___udivdi3(($801|0),($802|0),10,0)|0); - $809 = tempRet0; - $810 = ($802>>>0)>(9); - $811 = ($802|0)==(9); - $812 = ($801>>>0)>(4294967295); - $813 = $811 & $812; - $814 = $810 | $813; - if ($814) { - $$05$i79$i = $807;$801 = $808;$802 = $809; - } else { - break; - } - } - $$0$lcssa$i84$i = $807;$$01$lcssa$off0$i85$i = $808; - } else { - $$0$lcssa$i84$i = $6;$$01$lcssa$off0$i85$i = $797; - } - $815 = ($$01$lcssa$off0$i85$i|0)==(0); - if ($815) { - $estr$1$ph$i = $$0$lcssa$i84$i; - } else { - $$12$i87$i = $$0$lcssa$i84$i;$y$03$i86$i = $$01$lcssa$off0$i85$i; - while(1) { - $816 = (($y$03$i86$i>>>0) % 10)&-1; - $817 = $816 | 48; - $818 = $817&255; - $819 = (($$12$i87$i) + -1|0); - HEAP8[$819>>0] = $818; - $820 = (($y$03$i86$i>>>0) / 10)&-1; - $821 = ($y$03$i86$i>>>0)<(10); - if ($821) { - $estr$1$ph$i = $819; - break; - } else { - $$12$i87$i = $819;$y$03$i86$i = $820; - } - } - } - $822 = $estr$1$ph$i; - $823 = (($8) - ($822))|0; - $824 = ($823|0)<(2); - if ($824) { - $estr$1200$i = $estr$1$ph$i; - while(1) { - $825 = (($estr$1200$i) + -1|0); - HEAP8[$825>>0] = 48; - $826 = $825; - $827 = (($8) - ($826))|0; - $828 = ($827|0)<(2); - if ($828) { - $estr$1200$i = $825; - } else { - $estr$1$lcssa$i = $825; - break; - } - } - } else { - $estr$1$lcssa$i = $estr$1$ph$i; - } - $829 = $e$4$ph$i >> 31; - $830 = $829 & 2; - $831 = (($830) + 43)|0; - $832 = $831&255; - $833 = (($estr$1$lcssa$i) + -1|0); - HEAP8[$833>>0] = $832; - $834 = $$114$i&255; - $835 = (($estr$1$lcssa$i) + -2|0); - HEAP8[$835>>0] = $834; - $836 = $835; - $837 = (($8) - ($836))|0; - $$pn$i = $837;$estr$2$i = $835; - } - $838 = (($pl$0$i) + 1)|0; - $839 = (($838) + ($$311$i))|0; - $l$1$i = (($839) + ($790))|0; - $840 = (($l$1$i) + ($$pn$i))|0; - $841 = $fl$1$ & 73728; - $842 = ($841|0)==(0); - $843 = ($840|0)<($w$1|0); - $or$cond$i93$i = $842 & $843; - if ($or$cond$i93$i) { - $844 = (($w$1) - ($840))|0; - $845 = ($844>>>0)>(256); - $846 = $845 ? 256 : $844; - _memset(($pad$i|0),32,($846|0))|0; - $847 = ($844>>>0)>(255); - if ($847) { - $$01$i94$i = $844; - while(1) { - (___fwritex($pad$i,256,$f)|0); - $848 = (($$01$i94$i) + -256)|0; - $849 = ($848>>>0)>(255); - if ($849) { - $$01$i94$i = $848; - } else { - $$0$lcssa$i96$i = $848; - break; - } - } - } else { - $$0$lcssa$i96$i = $844; - } - (___fwritex($pad$i,$$0$lcssa$i96$i,$f)|0); - } - (___fwritex($prefix$0$i,$pl$0$i,$f)|0); - $850 = ($841|0)==(65536); - $or$cond$i100$i = $850 & $843; - if ($or$cond$i100$i) { - $851 = (($w$1) - ($840))|0; - $852 = ($851>>>0)>(256); - $853 = $852 ? 256 : $851; - _memset(($pad$i|0),48,($853|0))|0; - $854 = ($851>>>0)>(255); - if ($854) { - $$01$i101$i = $851; - while(1) { - (___fwritex($pad$i,256,$f)|0); - $855 = (($$01$i101$i) + -256)|0; - $856 = ($855>>>0)>(255); - if ($856) { - $$01$i101$i = $855; - } else { - $$0$lcssa$i103$i = $855; - break; - } - } - } else { - $$0$lcssa$i103$i = $851; - } - (___fwritex($pad$i,$$0$lcssa$i103$i,$f)|0); - } - do { - if ($793) { - $857 = ($a$8$ph$i>>>0)>($$31$i>>>0); - $r$0$a$8$i = $857 ? $$31$i : $a$8$ph$i; - $d$4183$i = $r$0$a$8$i; - while(1) { - $858 = HEAP32[$d$4183$i>>2]|0; - $859 = ($858|0)==(0); - if ($859) { - $$1$lcssa$i112$i = $13; - } else { - $$12$i110$i = $13;$y$03$i109$i = $858; - while(1) { - $860 = (($y$03$i109$i>>>0) % 10)&-1; - $861 = $860 | 48; - $862 = $861&255; - $863 = (($$12$i110$i) + -1|0); - HEAP8[$863>>0] = $862; - $864 = (($y$03$i109$i>>>0) / 10)&-1; - $865 = ($y$03$i109$i>>>0)<(10); - if ($865) { - $$1$lcssa$i112$i = $863; - break; - } else { - $$12$i110$i = $863;$y$03$i109$i = $864; - } - } - } - $866 = ($d$4183$i|0)==($r$0$a$8$i|0); - do { - if ($866) { - $870 = ($$1$lcssa$i112$i|0)==($13|0); - if (!($870)) { - $s7$1$i = $$1$lcssa$i112$i; - break; - } - HEAP8[$15>>0] = 48; - $s7$1$i = $15; - } else { - $867 = ($$1$lcssa$i112$i>>>0)>($buf$i>>>0); - if ($867) { - $s7$0180$i = $$1$lcssa$i112$i; - } else { - $s7$1$i = $$1$lcssa$i112$i; - break; - } - while(1) { - $868 = (($s7$0180$i) + -1|0); - HEAP8[$868>>0] = 48; - $869 = ($868>>>0)>($buf$i>>>0); - if ($869) { - $s7$0180$i = $868; - } else { - $s7$1$i = $868; - break; - } - } - } - } while(0); - $871 = $s7$1$i; - $872 = (($14) - ($871))|0; - (___fwritex($s7$1$i,$872,$f)|0); - $873 = (($d$4183$i) + 4|0); - $874 = ($873>>>0)>($$31$i>>>0); - if ($874) { - break; - } else { - $d$4183$i = $873; - } - } - if (!($787)) { - $875 = $fl$1$ & 8; - $876 = ($875|0)==(0); - if ($876) { - break; - } - } - (___fwritex(21736,1,$f)|0); - $877 = ($873>>>0)<($z$6$i>>>0); - $878 = ($$311$i|0)>(0); - $or$cond28173$i = $877 & $878; - if ($or$cond28173$i) { - $$412175$i = $$311$i;$d$5174$i = $873; - while(1) { - $879 = HEAP32[$d$5174$i>>2]|0; - $880 = ($879|0)==(0); - if ($880) { - $s8$0169$i = $13; - label = 300; - } else { - $$12$i119$i = $13;$y$03$i118$i = $879; - while(1) { - $881 = (($y$03$i118$i>>>0) % 10)&-1; - $882 = $881 | 48; - $883 = $882&255; - $884 = (($$12$i119$i) + -1|0); - HEAP8[$884>>0] = $883; - $885 = (($y$03$i118$i>>>0) / 10)&-1; - $886 = ($y$03$i118$i>>>0)<(10); - if ($886) { - break; - } else { - $$12$i119$i = $884;$y$03$i118$i = $885; - } - } - $887 = ($884>>>0)>($buf$i>>>0); - if ($887) { - $s8$0169$i = $884; - label = 300; - } else { - $s8$0$lcssa$i = $884; - } - } - if ((label|0) == 300) { - while(1) { - label = 0; - $888 = (($s8$0169$i) + -1|0); - HEAP8[$888>>0] = 48; - $889 = ($888>>>0)>($buf$i>>>0); - if ($889) { - $s8$0169$i = $888; - label = 300; - } else { - $s8$0$lcssa$i = $888; - break; - } - } - } - $890 = ($$412175$i|0)>(9); - $891 = $890 ? 9 : $$412175$i; - (___fwritex($s8$0$lcssa$i,$891,$f)|0); - $892 = (($d$5174$i) + 4|0); - $893 = (($$412175$i) + -9)|0; - $894 = ($892>>>0)<($z$6$i>>>0); - $895 = ($893|0)>(0); - $or$cond28$i = $894 & $895; - if ($or$cond28$i) { - $$412175$i = $893;$d$5174$i = $892; - } else { - $$412$lcssa$i = $893; - break; - } - } - } else { - $$412$lcssa$i = $$311$i; - } - $896 = ($$412$lcssa$i|0)>(0); - if (!($896)) { - break; - } - $897 = ($$412$lcssa$i>>>0)>(256); - $898 = $897 ? 256 : $$412$lcssa$i; - _memset(($pad$i|0),48,($898|0))|0; - $899 = ($$412$lcssa$i>>>0)>(255); - if ($899) { - $$01$i125$i = $$412$lcssa$i; - while(1) { - (___fwritex($pad$i,256,$f)|0); - $900 = (($$01$i125$i) + -256)|0; - $901 = ($900>>>0)>(255); - if ($901) { - $$01$i125$i = $900; - } else { - $$0$lcssa$i127$i = $900; - break; - } - } - } else { - $$0$lcssa$i127$i = $$412$lcssa$i; - } - (___fwritex($pad$i,$$0$lcssa$i127$i,$f)|0); - } else { - $902 = (($a$8$ph$i) + 4|0); - $z$6$$i = $$lcssa300$i ? $z$6$i : $902; - $903 = ($$311$i|0)>(-1); - do { - if ($903) { - $904 = $fl$1$ & 8; - $$not$i = ($904|0)!=(0); - $$5193$i = $$311$i;$d$6192$i = $a$8$ph$i; - while(1) { - $905 = HEAP32[$d$6192$i>>2]|0; - $906 = ($905|0)==(0); - if ($906) { - label = 311; - } else { - $$12$i134$i = $13;$y$03$i133$i = $905; - while(1) { - $907 = (($y$03$i133$i>>>0) % 10)&-1; - $908 = $907 | 48; - $909 = $908&255; - $910 = (($$12$i134$i) + -1|0); - HEAP8[$910>>0] = $909; - $911 = (($y$03$i133$i>>>0) / 10)&-1; - $912 = ($y$03$i133$i>>>0)<(10); - if ($912) { - break; - } else { - $$12$i134$i = $910;$y$03$i133$i = $911; - } - } - $913 = ($910|0)==($13|0); - if ($913) { - label = 311; - } else { - $s9$0$i = $910; - } - } - if ((label|0) == 311) { - label = 0; - HEAP8[$15>>0] = 48; - $s9$0$i = $15; - } - $914 = ($d$6192$i|0)==($a$8$ph$i|0); - do { - if ($914) { - $918 = (($s9$0$i) + 1|0); - (___fwritex($s9$0$i,1,$f)|0); - $919 = ($$5193$i|0)>(0); - $brmerge$i = $919 | $$not$i; - if (!($brmerge$i)) { - $s9$2$i = $918; - break; - } - (___fwritex(21736,1,$f)|0); - $s9$2$i = $918; - } else { - $915 = ($s9$0$i>>>0)>($buf$i>>>0); - if ($915) { - $s9$1188$i = $s9$0$i; - } else { - $s9$2$i = $s9$0$i; - break; - } - while(1) { - $916 = (($s9$1188$i) + -1|0); - HEAP8[$916>>0] = 48; - $917 = ($916>>>0)>($buf$i>>>0); - if ($917) { - $s9$1188$i = $916; - } else { - $s9$2$i = $916; - break; - } - } - } - } while(0); - $920 = $s9$2$i; - $921 = (($14) - ($920))|0; - $922 = ($921|0)<($$5193$i|0); - $$$5$i = $922 ? $921 : $$5193$i; - (___fwritex($s9$2$i,$$$5$i,$f)|0); - $923 = (($$5193$i) - ($921))|0; - $924 = (($d$6192$i) + 4|0); - $925 = ($924>>>0)<($z$6$$i>>>0); - $926 = ($923|0)>(-1); - $or$cond29$i = $925 & $926; - if ($or$cond29$i) { - $$5193$i = $923;$d$6192$i = $924; - } else { - break; - } - } - $927 = ($923|0)>(0); - if (!($927)) { - break; - } - $928 = ($923>>>0)>(256); - $929 = $928 ? 256 : $923; - _memset(($pad$i|0),48,($929|0))|0; - $930 = ($923>>>0)>(255); - if ($930) { - $$01$i140$i = $923; - while(1) { - (___fwritex($pad$i,256,$f)|0); - $931 = (($$01$i140$i) + -256)|0; - $932 = ($931>>>0)>(255); - if ($932) { - $$01$i140$i = $931; - } else { - $$0$lcssa$i142$i = $931; - break; - } - } - } else { - $$0$lcssa$i142$i = $923; - } - (___fwritex($pad$i,$$0$lcssa$i142$i,$f)|0); - } - } while(0); - $933 = $estr$2$i; - $934 = (($8) - ($933))|0; - (___fwritex($estr$2$i,$934,$f)|0); - } - } while(0); - $935 = ($841|0)==(8192); - $or$cond$i$i = $935 & $843; - if ($or$cond$i$i) { - $936 = (($w$1) - ($840))|0; - $937 = ($936>>>0)>(256); - $938 = $937 ? 256 : $936; - _memset(($pad$i|0),32,($938|0))|0; - $939 = ($936>>>0)>(255); - if ($939) { - $$01$i$i = $936; - while(1) { - (___fwritex($pad$i,256,$f)|0); - $940 = (($$01$i$i) + -256)|0; - $941 = ($940>>>0)>(255); - if ($941) { - $$01$i$i = $940; - } else { - $$0$lcssa$i$i = $940; - break; - } - } - } else { - $$0$lcssa$i$i = $936; - } - (___fwritex($pad$i,$$0$lcssa$i$i,$f)|0); - } - $w$30$i = $843 ? $w$1 : $840; - $1045 = $229;$1046 = $207;$22 = $139;$cnt$0 = $cnt$1;$l$0 = $w$30$i;$l10n$0 = $l10n$3; - continue L1; - break; - } - default: { - $1053 = $229;$1054 = $207;$a$2 = $22;$fl$6 = $fl$1$;$p$5 = $p$0;$pl$2 = 0;$prefix$2 = 21640;$z$2 = $2; - } - } - } while(0); - L445: do { - if ((label|0) == 77) { - label = 0; - $225 = $207; - $226 = $t$1 & 32; - $227 = ($225|0)==(0); - $228 = ($229|0)==(0); - $230 = $227 & $228; - if ($230) { - $308 = $207;$311 = $229;$a$0 = $2;$fl$4 = $fl$3;$p$2 = $p$1;$pl$1 = 0;$prefix$1 = 21640; - label = 94; - } else { - $$012$i = $2;$232 = $225;$239 = $229; - while(1) { - $231 = $232 & 15; - $233 = (21720 + ($231)|0); - $234 = HEAP8[$233>>0]|0; - $235 = $234&255; - $236 = $235 | $226; - $237 = $236&255; - $238 = (($$012$i) + -1|0); - HEAP8[$238>>0] = $237; - $240 = (_bitshift64Lshr(($232|0),($239|0),4)|0); - $241 = tempRet0; - $242 = ($240|0)==(0); - $243 = ($241|0)==(0); - $244 = $242 & $243; - if ($244) { - break; - } else { - $$012$i = $238;$232 = $240;$239 = $241; - } - } - $245 = $fl$3 & 8; - $246 = ($245|0)==(0); - if ($246) { - $308 = $207;$311 = $229;$a$0 = $238;$fl$4 = $fl$3;$p$2 = $p$1;$pl$1 = 0;$prefix$1 = 21640; - label = 94; - } else { - $247 = $t$1 >> 4; - $248 = (21640 + ($247)|0); - $308 = $207;$311 = $229;$a$0 = $238;$fl$4 = $fl$3;$p$2 = $p$1;$pl$1 = 2;$prefix$1 = $248; - label = 94; - } - } - } - else if ((label|0) == 89) { - label = 0; - $276 = $277; - $278 = ($279>>>0)>(0); - $280 = ($279|0)==(0); - $281 = ($276>>>0)>(4294967295); - $282 = $280 & $281; - $283 = $278 | $282; - if ($283) { - $$05$i = $2;$284 = $276;$285 = $279; - while(1) { - $286 = (___uremdi3(($284|0),($285|0),10,0)|0); - $287 = tempRet0; - $288 = $286 | 48; - $289 = $288&255; - $290 = (($$05$i) + -1|0); - HEAP8[$290>>0] = $289; - $291 = (___udivdi3(($284|0),($285|0),10,0)|0); - $292 = tempRet0; - $293 = ($285>>>0)>(9); - $294 = ($285|0)==(9); - $295 = ($284>>>0)>(4294967295); - $296 = $294 & $295; - $297 = $293 | $296; - if ($297) { - $$05$i = $290;$284 = $291;$285 = $292; - } else { - break; - } - } - $$0$lcssa$i45 = $290;$$01$lcssa$off0$i = $291; - } else { - $$0$lcssa$i45 = $2;$$01$lcssa$off0$i = $276; - } - $298 = ($$01$lcssa$off0$i|0)==(0); - if ($298) { - $308 = $277;$311 = $279;$a$0 = $$0$lcssa$i45;$fl$4 = $fl$1$;$p$2 = $p$0;$pl$1 = $pl$0;$prefix$1 = $prefix$0; - label = 94; - } else { - $$12$i = $$0$lcssa$i45;$y$03$i = $$01$lcssa$off0$i; - while(1) { - $299 = (($y$03$i>>>0) % 10)&-1; - $300 = $299 | 48; - $301 = $300&255; - $302 = (($$12$i) + -1|0); - HEAP8[$302>>0] = $301; - $303 = (($y$03$i>>>0) / 10)&-1; - $304 = ($y$03$i>>>0)<(10); - if ($304) { - $308 = $277;$311 = $279;$a$0 = $302;$fl$4 = $fl$1$;$p$2 = $p$0;$pl$1 = $pl$0;$prefix$1 = $prefix$0; - label = 94; - break; - } else { - $$12$i = $302;$y$03$i = $303; - } - } - } - } - else if ((label|0) == 99) { - label = 0; - $325 = (_memchr($a$1,0,$p$0)|0); - $326 = ($325|0)==(0|0); - if ($326) { - $327 = (($a$1) + ($p$0)|0); - $1053 = $229;$1054 = $207;$a$2 = $a$1;$fl$6 = $206;$p$5 = $p$0;$pl$2 = 0;$prefix$2 = 21640;$z$2 = $327; - break; - } else { - $328 = $325; - $329 = $a$1; - $330 = (($328) - ($329))|0; - $1053 = $229;$1054 = $207;$a$2 = $a$1;$fl$6 = $206;$p$5 = $330;$pl$2 = 0;$prefix$2 = 21640;$z$2 = $325; - break; - } - } - else if ((label|0) == 104) { - label = 0; - $i$0168 = 0;$l$1167 = 0;$ws$0169 = $1055; - while(1) { - $336 = HEAP32[$ws$0169>>2]|0; - $337 = ($336|0)==(0); - if ($337) { - $i$0$lcssa = $i$0168;$l$1$lcssa = $l$1167; - break; - } - $338 = (_wctomb($mb,$336)|0); - $339 = ($338|0)>(-1); - if (!($339)) { - $$0 = -1; - label = 362; - break L1; - } - $340 = (($p$4296) - ($i$0168))|0; - $341 = ($338>>>0)>($340>>>0); - $335 = (($338) + ($i$0168))|0; - if ($341) { - $1057 = $1055;$1058 = $1056;$i$0166 = $i$0168; - label = 110; - break L445; - } - $333 = (($ws$0169) + 4|0); - $334 = ($335>>>0)<($p$4296>>>0); - if ($334) { - $i$0168 = $335;$l$1167 = $338;$ws$0169 = $333; - } else { - $i$0$lcssa = $335;$l$1$lcssa = $338; - break; - } - } - $342 = ($l$1$lcssa|0)<(0); - if ($342) { - $$0 = -1; - label = 362; - break L1; - } else { - $1057 = $1055;$1058 = $1056;$i$0166 = $i$0$lcssa; - label = 110; - } - } - } while(0); - if ((label|0) == 94) { - label = 0; - $305 = ($p$2|0)>(-1); - $306 = $fl$4 & -65537; - $$fl$4 = $305 ? $306 : $fl$4; - $307 = $308; - $309 = ($307|0)==(0); - $310 = ($311|0)==(0); - $312 = $309 & $310; - $313 = ($p$2|0)==(0); - $or$cond = $312 & $313; - if ($or$cond) { - $1053 = $311;$1054 = $308;$a$2 = $2;$fl$6 = $$fl$4;$p$5 = 0;$pl$2 = $pl$1;$prefix$2 = $prefix$1;$z$2 = $2; - } else { - $314 = $a$0; - $315 = (($3) - ($314))|0; - $316 = $312&1; - $317 = (($316) + ($315))|0; - $318 = ($p$2|0)>($317|0); - $p$2$ = $318 ? $p$2 : $317; - $1053 = $311;$1054 = $308;$a$2 = $a$0;$fl$6 = $$fl$4;$p$5 = $p$2$;$pl$2 = $pl$1;$prefix$2 = $prefix$1;$z$2 = $2; - } - } - else if ((label|0) == 110) { - label = 0; - $343 = $fl$1$ & 73728; - $344 = ($343|0)==(0); - $345 = ($i$0166|0)<($w$1|0); - $or$cond$i56 = $344 & $345; - if ($or$cond$i56) { - $346 = (($w$1) - ($i$0166))|0; - $347 = ($346>>>0)>(256); - $348 = $347 ? 256 : $346; - _memset(($pad$i|0),32,($348|0))|0; - $349 = ($346>>>0)>(255); - if ($349) { - $$01$i57 = $346; - while(1) { - (___fwritex($pad$i,256,$f)|0); - $350 = (($$01$i57) + -256)|0; - $351 = ($350>>>0)>(255); - if ($351) { - $$01$i57 = $350; - } else { - $$0$lcssa$i59 = $350; - break; - } - } - } else { - $$0$lcssa$i59 = $346; - } - (___fwritex($pad$i,$$0$lcssa$i59,$f)|0); - } - $352 = ($i$0166|0)==(0); - L481: do { - if (!($352)) { - $i$1174 = 0;$ws$1175 = $1057; - while(1) { - $353 = HEAP32[$ws$1175>>2]|0; - $354 = ($353|0)==(0); - if ($354) { - break L481; - } - $355 = (_wctomb($mb,$353)|0); - $356 = (($355) + ($i$1174))|0; - $357 = ($356|0)>($i$0166|0); - if ($357) { - break L481; - } - $358 = (($ws$1175) + 4|0); - (___fwritex($mb,$355,$f)|0); - $359 = ($356>>>0)<($i$0166>>>0); - if ($359) { - $i$1174 = $356;$ws$1175 = $358; - } else { - break; - } - } - } - } while(0); - $360 = ($343|0)==(8192); - $or$cond$i63 = $360 & $345; - if ($or$cond$i63) { - $361 = (($w$1) - ($i$0166))|0; - $362 = ($361>>>0)>(256); - $363 = $362 ? 256 : $361; - _memset(($pad$i|0),32,($363|0))|0; - $364 = ($361>>>0)>(255); - if ($364) { - $$01$i64 = $361; - while(1) { - (___fwritex($pad$i,256,$f)|0); - $365 = (($$01$i64) + -256)|0; - $366 = ($365>>>0)>(255); - if ($366) { - $$01$i64 = $365; - } else { - $$0$lcssa$i66 = $365; - break; - } - } - } else { - $$0$lcssa$i66 = $361; - } - (___fwritex($pad$i,$$0$lcssa$i66,$f)|0); - } - $367 = $345 ? $w$1 : $i$0166; - $1045 = $229;$1046 = $1058;$22 = $139;$cnt$0 = $cnt$1;$l$0 = $367;$l10n$0 = $l10n$3; - continue; - } - $942 = $z$2; - $943 = $a$2; - $944 = (($942) - ($943))|0; - $945 = ($p$5|0)<($944|0); - $$p$5 = $945 ? $944 : $p$5; - $946 = (($pl$2) + ($$p$5))|0; - $947 = ($w$1|0)<($946|0); - $w$2 = $947 ? $946 : $w$1; - $948 = $fl$6 & 73728; - $949 = ($948|0)==(0); - $950 = ($946|0)<($w$2|0); - $or$cond$i73 = $949 & $950; - if ($or$cond$i73) { - $951 = (($w$2) - ($946))|0; - $952 = ($951>>>0)>(256); - $953 = $952 ? 256 : $951; - _memset(($pad$i|0),32,($953|0))|0; - $954 = ($951>>>0)>(255); - if ($954) { - $$01$i74 = $951; - while(1) { - (___fwritex($pad$i,256,$f)|0); - $955 = (($$01$i74) + -256)|0; - $956 = ($955>>>0)>(255); - if ($956) { - $$01$i74 = $955; - } else { - $$0$lcssa$i76 = $955; - break; - } - } - } else { - $$0$lcssa$i76 = $951; - } - (___fwritex($pad$i,$$0$lcssa$i76,$f)|0); - } - (___fwritex($prefix$2,$pl$2,$f)|0); - $957 = ($948|0)==(65536); - $or$cond$i49 = $957 & $950; - if ($or$cond$i49) { - $958 = (($w$2) - ($946))|0; - $959 = ($958>>>0)>(256); - $960 = $959 ? 256 : $958; - _memset(($pad$i|0),48,($960|0))|0; - $961 = ($958>>>0)>(255); - if ($961) { - $$01$i50 = $958; - while(1) { - (___fwritex($pad$i,256,$f)|0); - $962 = (($$01$i50) + -256)|0; - $963 = ($962>>>0)>(255); - if ($963) { - $$01$i50 = $962; - } else { - $$0$lcssa$i52 = $962; - break; - } - } - } else { - $$0$lcssa$i52 = $958; - } - (___fwritex($pad$i,$$0$lcssa$i52,$f)|0); - } - $964 = ($944|0)<($$p$5|0); - if ($964) { - $965 = (($$p$5) - ($944))|0; - $966 = ($965>>>0)>(256); - $967 = $966 ? 256 : $965; - _memset(($pad$i|0),48,($967|0))|0; - $968 = ($965>>>0)>(255); - if ($968) { - $$01$i35 = $965; - while(1) { - (___fwritex($pad$i,256,$f)|0); - $969 = (($$01$i35) + -256)|0; - $970 = ($969>>>0)>(255); - if ($970) { - $$01$i35 = $969; - } else { - $$0$lcssa$i37 = $969; - break; - } - } - } else { - $$0$lcssa$i37 = $965; - } - (___fwritex($pad$i,$$0$lcssa$i37,$f)|0); - } - (___fwritex($a$2,$944,$f)|0); - $971 = ($948|0)==(8192); - $or$cond$i = $971 & $950; - if (!($or$cond$i)) { - $1045 = $1053;$1046 = $1054;$22 = $139;$cnt$0 = $cnt$1;$l$0 = $w$2;$l10n$0 = $l10n$3; - continue; - } - $972 = (($w$2) - ($946))|0; - $973 = ($972>>>0)>(256); - $974 = $973 ? 256 : $972; - _memset(($pad$i|0),32,($974|0))|0; - $975 = ($972>>>0)>(255); - if ($975) { - $$01$i = $972; - while(1) { - (___fwritex($pad$i,256,$f)|0); - $976 = (($$01$i) + -256)|0; - $977 = ($976>>>0)>(255); - if ($977) { - $$01$i = $976; - } else { - $$0$lcssa$i = $976; - break; - } - } - } else { - $$0$lcssa$i = $972; - } - (___fwritex($pad$i,$$0$lcssa$i,$f)|0); - $1045 = $1053;$1046 = $1054;$22 = $139;$cnt$0 = $cnt$1;$l$0 = $w$2;$l10n$0 = $l10n$3; - } - if ((label|0) == 344) { - $978 = ($f|0)==(0|0); - if (!($978)) { - $$0 = $cnt$1; - STACKTOP = sp;return ($$0|0); - } - $979 = ($l10n$0|0)==(0); - if ($979) { - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } else { - $i$289 = 1; - } - while(1) { - $980 = (($nl_type) + ($i$289<<2)|0); - $981 = HEAP32[$980>>2]|0; - $982 = ($981|0)==(0); - if ($982) { - $i$388 = $i$289; - break; - } - $983 = (($nl_arg) + ($i$289<<3)|0); - $984 = ($981>>>0)>(20); - L537: do { - if (!($984)) { - do { - switch ($981|0) { - case 10: { - $arglist_current38 = HEAP32[$ap>>2]|0; - $986 = HEAP32[$arglist_current38>>2]|0; - $arglist_next39 = (($arglist_current38) + 4|0); - HEAP32[$ap>>2] = $arglist_next39; - $987 = ($986|0)<(0); - $988 = $987 << 31 >> 31; - $989 = $983; - $990 = $989; - HEAP32[$990>>2] = $986; - $991 = (($989) + 4)|0; - $992 = $991; - HEAP32[$992>>2] = $988; - break L537; - break; - } - case 15: { - $arglist_current53 = HEAP32[$ap>>2]|0; - $1022 = HEAP32[$arglist_current53>>2]|0; - $arglist_next54 = (($arglist_current53) + 4|0); - HEAP32[$ap>>2] = $arglist_next54; - $1023 = $1022&255; - $1024 = $1023 << 24 >> 24; - $1025 = ($1024|0)<(0); - $1026 = $1025 << 31 >> 31; - $1027 = $983; - $1028 = $1027; - HEAP32[$1028>>2] = $1024; - $1029 = (($1027) + 4)|0; - $1030 = $1029; - HEAP32[$1030>>2] = $1026; - break L537; - break; - } - case 11: { - $arglist_current41 = HEAP32[$ap>>2]|0; - $993 = HEAP32[$arglist_current41>>2]|0; - $arglist_next42 = (($arglist_current41) + 4|0); - HEAP32[$ap>>2] = $arglist_next42; - $994 = $983; - $995 = $994; - HEAP32[$995>>2] = $993; - $996 = (($994) + 4)|0; - $997 = $996; - HEAP32[$997>>2] = 0; - break L537; - break; - } - case 17: { - $arglist_current59 = HEAP32[$ap>>2]|0; - HEAP32[tempDoublePtr>>2]=HEAP32[$arglist_current59>>2];HEAP32[tempDoublePtr+4>>2]=HEAP32[$arglist_current59+4>>2];$1036 = +HEAPF64[tempDoublePtr>>3]; - $arglist_next60 = (($arglist_current59) + 8|0); - HEAP32[$ap>>2] = $arglist_next60; - HEAPF64[$983>>3] = $1036; - break L537; - break; - } - case 13: { - $arglist_current47 = HEAP32[$ap>>2]|0; - $1008 = HEAP32[$arglist_current47>>2]|0; - $arglist_next48 = (($arglist_current47) + 4|0); - HEAP32[$ap>>2] = $arglist_next48; - $1009 = $1008&65535; - $1010 = $1009 << 16 >> 16; - $1011 = ($1010|0)<(0); - $1012 = $1011 << 31 >> 31; - $1013 = $983; - $1014 = $1013; - HEAP32[$1014>>2] = $1010; - $1015 = (($1013) + 4)|0; - $1016 = $1015; - HEAP32[$1016>>2] = $1012; - break L537; - break; - } - case 9: { - $arglist_current35 = HEAP32[$ap>>2]|0; - $985 = HEAP32[$arglist_current35>>2]|0; - $arglist_next36 = (($arglist_current35) + 4|0); - HEAP32[$ap>>2] = $arglist_next36; - HEAP32[$983>>2] = $985; - break L537; - break; - } - case 14: { - $arglist_current50 = HEAP32[$ap>>2]|0; - $1017 = HEAP32[$arglist_current50>>2]|0; - $arglist_next51 = (($arglist_current50) + 4|0); - HEAP32[$ap>>2] = $arglist_next51; - $$mask1$i = $1017 & 65535; - $1018 = $983; - $1019 = $1018; - HEAP32[$1019>>2] = $$mask1$i; - $1020 = (($1018) + 4)|0; - $1021 = $1020; - HEAP32[$1021>>2] = 0; - break L537; - break; - } - case 18: { - $arglist_current62 = HEAP32[$ap>>2]|0; - HEAP32[tempDoublePtr>>2]=HEAP32[$arglist_current62>>2];HEAP32[tempDoublePtr+4>>2]=HEAP32[$arglist_current62+4>>2];$1037 = +HEAPF64[tempDoublePtr>>3]; - $arglist_next63 = (($arglist_current62) + 8|0); - HEAP32[$ap>>2] = $arglist_next63; - HEAPF64[$983>>3] = $1037; - break L537; - break; - } - case 16: { - $arglist_current56 = HEAP32[$ap>>2]|0; - $1031 = HEAP32[$arglist_current56>>2]|0; - $arglist_next57 = (($arglist_current56) + 4|0); - HEAP32[$ap>>2] = $arglist_next57; - $$mask$i = $1031 & 255; - $1032 = $983; - $1033 = $1032; - HEAP32[$1033>>2] = $$mask$i; - $1034 = (($1032) + 4)|0; - $1035 = $1034; - HEAP32[$1035>>2] = 0; - break L537; - break; - } - case 12: { - $arglist_current44 = HEAP32[$ap>>2]|0; - $998 = $arglist_current44; - $999 = $998; - $1000 = HEAP32[$999>>2]|0; - $1001 = (($998) + 4)|0; - $1002 = $1001; - $1003 = HEAP32[$1002>>2]|0; - $arglist_next45 = (($arglist_current44) + 8|0); - HEAP32[$ap>>2] = $arglist_next45; - $1004 = $983; - $1005 = $1004; - HEAP32[$1005>>2] = $1000; - $1006 = (($1004) + 4)|0; - $1007 = $1006; - HEAP32[$1007>>2] = $1003; - break L537; - break; - } - default: { - break L537; - } - } - } while(0); - } - } while(0); - $1038 = (($i$289) + 1)|0; - $1039 = ($1038|0)<(10); - if ($1039) { - $i$289 = $1038; - } else { - $$0 = 1; - label = 362; - break; - } - } - if ((label|0) == 362) { - STACKTOP = sp;return ($$0|0); - } - while(1) { - $1042 = (($nl_type) + ($i$388<<2)|0); - $1043 = HEAP32[$1042>>2]|0; - $1044 = ($1043|0)==(0); - $1041 = (($i$388) + 1)|0; - if (!($1044)) { - $$0 = -1; - label = 362; - break; - } - $1040 = ($1041|0)<(10); - if ($1040) { - $i$388 = $1041; - } else { - $$0 = 1; - label = 362; - break; - } - } - if ((label|0) == 362) { - STACKTOP = sp;return ($$0|0); - } - } - else if ((label|0) == 362) { - STACKTOP = sp;return ($$0|0); - } - return 0|0; -} -function _vsnprintf($s,$n,$fmt,$ap) { - $s = $s|0; - $n = $n|0; - $fmt = $fmt|0; - $ap = $ap|0; - var $$$02 = 0, $$0 = 0, $$01 = 0, $$02 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0; - var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $b = 0, $f = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort(); - $b = sp + 112|0; - $f = sp; - dest=$f+0|0; src=21744+0|0; stop=dest+112|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $0 = (($n) + -1)|0; - $1 = ($0>>>0)>(2147483646); - if ($1) { - $2 = ($n|0)==(0); - if ($2) { - $$01 = $b;$$02 = 1; - } else { - $3 = (___errno_location()|0); - HEAP32[$3>>2] = 75; - $$0 = -1; - STACKTOP = sp;return ($$0|0); - } - } else { - $$01 = $s;$$02 = $n; - } - $4 = $$01; - $5 = (-2 - ($4))|0; - $6 = ($$02>>>0)>($5>>>0); - $$$02 = $6 ? $5 : $$02; - $7 = (($f) + 48|0); - HEAP32[$7>>2] = $$$02; - $8 = (($f) + 20|0); - HEAP32[$8>>2] = $$01; - $9 = (($f) + 44|0); - HEAP32[$9>>2] = $$01; - $10 = (($$01) + ($$$02)|0); - $11 = (($f) + 16|0); - HEAP32[$11>>2] = $10; - $12 = (($f) + 28|0); - HEAP32[$12>>2] = $10; - $13 = (_MUSL_vfprintf($f,$fmt,$ap)|0); - $14 = ($$$02|0)==(0); - if ($14) { - $$0 = $13; - STACKTOP = sp;return ($$0|0); - } - $15 = HEAP32[$8>>2]|0; - $16 = HEAP32[$11>>2]|0; - $17 = ($15|0)==($16|0); - $18 = $17 << 31 >> 31; - $19 = (($15) + ($18)|0); - HEAP8[$19>>0] = 0; - $$0 = $13; - STACKTOP = sp;return ($$0|0); -} -function _sn_write($f,$s,$l) { - $f = $f|0; - $s = $s|0; - $l = $l|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $l$ = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (($f) + 16|0); - $1 = HEAP32[$0>>2]|0; - $2 = (($f) + 20|0); - $3 = HEAP32[$2>>2]|0; - $4 = $1; - $5 = $3; - $6 = (($4) - ($5))|0; - $7 = ($6>>>0)>($l>>>0); - $l$ = $7 ? $l : $6; - _memcpy(($3|0),($s|0),($l$|0))|0; - $8 = HEAP32[$2>>2]|0; - $9 = (($8) + ($l$)|0); - HEAP32[$2>>2] = $9; - STACKTOP = sp;return ($l|0); -} -function _vsprintf($s,$fmt,$ap) { - $s = $s|0; - $fmt = $fmt|0; - $ap = $ap|0; - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_vsnprintf($s,2147483647,$fmt,$ap)|0); - STACKTOP = sp;return ($0|0); -} -function _memchr($src,$c,$n) { - $src = $src|0; - $c = $c|0; - $n = $n|0; - var $$0$lcssa = 0, $$0$lcssa34 = 0, $$013 = 0, $$1$lcssa = 0, $$17 = 0, $$24 = 0, $$3 = 0, $$lcssa = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0; - var $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $4 = 0; - var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond12 = 0, $s$0$lcssa = 0, $s$0$lcssa33 = 0, $s$014 = 0, $s$15 = 0, $s$2 = 0, $w$0$lcssa = 0, $w$08 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = $c & 255; - $1 = $src; - $2 = $1 & 3; - $3 = ($2|0)==(0); - $4 = ($n|0)==(0); - $or$cond12 = $3 | $4; - L1: do { - if ($or$cond12) { - $$0$lcssa = $n;$$lcssa = $4;$s$0$lcssa = $src; - label = 5; - } else { - $5 = $c&255; - $$013 = $n;$s$014 = $src; - while(1) { - $6 = HEAP8[$s$014>>0]|0; - $7 = ($6<<24>>24)==($5<<24>>24); - if ($7) { - $$0$lcssa34 = $$013;$s$0$lcssa33 = $s$014; - label = 6; - break L1; - } - $8 = (($s$014) + 1|0); - $9 = (($$013) + -1)|0; - $10 = $8; - $11 = $10 & 3; - $12 = ($11|0)==(0); - $13 = ($9|0)==(0); - $or$cond = $12 | $13; - if ($or$cond) { - $$0$lcssa = $9;$$lcssa = $13;$s$0$lcssa = $8; - label = 5; - break; - } else { - $$013 = $9;$s$014 = $8; - } - } - } - } while(0); - if ((label|0) == 5) { - if ($$lcssa) { - $$3 = 0;$s$2 = $s$0$lcssa; - } else { - $$0$lcssa34 = $$0$lcssa;$s$0$lcssa33 = $s$0$lcssa; - label = 6; - } - } - L8: do { - if ((label|0) == 6) { - $14 = HEAP8[$s$0$lcssa33>>0]|0; - $15 = $c&255; - $16 = ($14<<24>>24)==($15<<24>>24); - if ($16) { - $$3 = $$0$lcssa34;$s$2 = $s$0$lcssa33; - } else { - $17 = Math_imul($0, 16843009)|0; - $18 = ($$0$lcssa34>>>0)>(3); - L11: do { - if ($18) { - $$17 = $$0$lcssa34;$w$08 = $s$0$lcssa33; - while(1) { - $19 = HEAP32[$w$08>>2]|0; - $20 = $19 ^ $17; - $21 = (($20) + -16843009)|0; - $22 = $20 & -2139062144; - $23 = $22 ^ -2139062144; - $24 = $23 & $21; - $25 = ($24|0)==(0); - if (!($25)) { - $$1$lcssa = $$17;$w$0$lcssa = $w$08; - break L11; - } - $26 = (($w$08) + 4|0); - $27 = (($$17) + -4)|0; - $28 = ($27>>>0)>(3); - if ($28) { - $$17 = $27;$w$08 = $26; - } else { - $$1$lcssa = $27;$w$0$lcssa = $26; - break; - } - } - } else { - $$1$lcssa = $$0$lcssa34;$w$0$lcssa = $s$0$lcssa33; - } - } while(0); - $29 = ($$1$lcssa|0)==(0); - if ($29) { - $$3 = 0;$s$2 = $w$0$lcssa; - } else { - $$24 = $$1$lcssa;$s$15 = $w$0$lcssa; - while(1) { - $30 = HEAP8[$s$15>>0]|0; - $31 = ($30<<24>>24)==($15<<24>>24); - if ($31) { - $$3 = $$24;$s$2 = $s$15; - break L8; - } - $32 = (($s$15) + 1|0); - $33 = (($$24) + -1)|0; - $34 = ($33|0)==(0); - if ($34) { - $$3 = 0;$s$2 = $32; - break; - } else { - $$24 = $33;$s$15 = $32; - } - } - } - } - } - } while(0); - $35 = ($$3|0)!=(0); - $36 = $35 ? $s$2 : 0; - STACKTOP = sp;return ($36|0); -} -function _memcmp($vl,$vr,$n) { - $vl = $vl|0; - $vr = $vr|0; - $n = $n|0; - var $$03 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $l$04 = 0, $r$05 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ($n|0)==(0); - L1: do { - if ($0) { - $11 = 0; - } else { - $$03 = $n;$l$04 = $vl;$r$05 = $vr; - while(1) { - $1 = HEAP8[$l$04>>0]|0; - $2 = HEAP8[$r$05>>0]|0; - $3 = ($1<<24>>24)==($2<<24>>24); - if (!($3)) { - break; - } - $4 = (($$03) + -1)|0; - $5 = (($l$04) + 1|0); - $6 = (($r$05) + 1|0); - $7 = ($4|0)==(0); - if ($7) { - $11 = 0; - break L1; - } else { - $$03 = $4;$l$04 = $5;$r$05 = $6; - } - } - $8 = $1&255; - $9 = $2&255; - $10 = (($8) - ($9))|0; - $11 = $10; - } - } while(0); - STACKTOP = sp;return ($11|0); -} -function _strcmp($l,$r) { - $l = $l|0; - $r = $r|0; - var $$014 = 0, $$05 = 0, $$lcssa = 0, $$lcssa2 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond3 = 0, label = 0; - var sp = 0; - sp = STACKTOP; - $0 = HEAP8[$l>>0]|0; - $1 = HEAP8[$r>>0]|0; - $2 = ($0<<24>>24)!=($1<<24>>24); - $3 = ($0<<24>>24)==(0); - $or$cond3 = $2 | $3; - if ($or$cond3) { - $$lcssa = $0;$$lcssa2 = $1; - } else { - $$014 = $l;$$05 = $r; - while(1) { - $4 = (($$014) + 1|0); - $5 = (($$05) + 1|0); - $6 = HEAP8[$4>>0]|0; - $7 = HEAP8[$5>>0]|0; - $8 = ($6<<24>>24)!=($7<<24>>24); - $9 = ($6<<24>>24)==(0); - $or$cond = $8 | $9; - if ($or$cond) { - $$lcssa = $6;$$lcssa2 = $7; - break; - } else { - $$014 = $4;$$05 = $5; - } - } - } - $10 = $$lcssa&255; - $11 = $$lcssa2&255; - $12 = (($10) - ($11))|0; - STACKTOP = sp;return ($12|0); -} -function _strncmp($_l,$_r,$n) { - $_l = $_l|0; - $_r = $_r|0; - $n = $n|0; - var $$03 = 0, $$08 = 0, $$08$in = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $l$06 = 0, $notlhs = 0; - var $notrhs = 0, $or$cond$not = 0, $or$cond4 = 0, $r$0$lcssa = 0, $r$07 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ($n|0)==(0); - if ($0) { - $$03 = 0; - STACKTOP = sp;return ($$03|0); - } - $1 = HEAP8[$_l>>0]|0; - $2 = ($1<<24>>24)==(0); - L4: do { - if ($2) { - $11 = 0;$r$0$lcssa = $_r; - } else { - $$08$in = $n;$5 = $1;$l$06 = $_l;$r$07 = $_r; - while(1) { - $$08 = (($$08$in) + -1)|0; - $3 = HEAP8[$r$07>>0]|0; - $notlhs = ($3<<24>>24)!=(0); - $notrhs = ($$08|0)!=(0); - $or$cond$not = $notrhs & $notlhs; - $4 = ($5<<24>>24)==($3<<24>>24); - $or$cond4 = $or$cond$not & $4; - if (!($or$cond4)) { - $11 = $5;$r$0$lcssa = $r$07; - break L4; - } - $6 = (($l$06) + 1|0); - $7 = (($r$07) + 1|0); - $8 = HEAP8[$6>>0]|0; - $9 = ($8<<24>>24)==(0); - if ($9) { - $11 = 0;$r$0$lcssa = $7; - break; - } else { - $$08$in = $$08;$5 = $8;$l$06 = $6;$r$07 = $7; - } - } - } - } while(0); - $10 = $11&255; - $12 = HEAP8[$r$0$lcssa>>0]|0; - $13 = $12&255; - $14 = (($10) - ($13))|0; - $$03 = $14; - STACKTOP = sp;return ($$03|0); -} -function runPostSets() { - -} -function _memcpy(dest, src, num) { - - dest = dest|0; src = src|0; num = num|0; - var ret = 0; - if ((num|0) >= 4096) return _emscripten_memcpy_big(dest|0, src|0, num|0)|0; - ret = dest|0; - if ((dest&3) == (src&3)) { - while (dest & 3) { - if ((num|0) == 0) return ret|0; - HEAP8[((dest)>>0)]=((HEAP8[((src)>>0)])|0); - dest = (dest+1)|0; - src = (src+1)|0; - num = (num-1)|0; - } - while ((num|0) >= 4) { - HEAP32[((dest)>>2)]=((HEAP32[((src)>>2)])|0); - dest = (dest+4)|0; - src = (src+4)|0; - num = (num-4)|0; - } - } - while ((num|0) > 0) { - HEAP8[((dest)>>0)]=((HEAP8[((src)>>0)])|0); - dest = (dest+1)|0; - src = (src+1)|0; - num = (num-1)|0; - } - return ret|0; -} -function _memmove(dest, src, num) { - dest = dest|0; src = src|0; num = num|0; - var ret = 0; - if (((src|0) < (dest|0)) & ((dest|0) < ((src + num)|0))) { - // Unlikely case: Copy backwards in a safe manner - ret = dest; - src = (src + num)|0; - dest = (dest + num)|0; - while ((num|0) > 0) { - dest = (dest - 1)|0; - src = (src - 1)|0; - num = (num - 1)|0; - HEAP8[((dest)>>0)]=((HEAP8[((src)>>0)])|0); - } - dest = ret; - } else { - _memcpy(dest, src, num) | 0; - } - return dest | 0; -} -function _memset(ptr, value, num) { - ptr = ptr|0; value = value|0; num = num|0; - var stop = 0, value4 = 0, stop4 = 0, unaligned = 0; - stop = (ptr + num)|0; - if ((num|0) >= 20) { - // This is unaligned, but quite large, so work hard to get to aligned settings - value = value & 0xff; - unaligned = ptr & 3; - value4 = value | (value << 8) | (value << 16) | (value << 24); - stop4 = stop & ~3; - if (unaligned) { - unaligned = (ptr + 4 - unaligned)|0; - while ((ptr|0) < (unaligned|0)) { // no need to check for stop, since we have large num - HEAP8[((ptr)>>0)]=value; - ptr = (ptr+1)|0; - } - } - while ((ptr|0) < (stop4|0)) { - HEAP32[((ptr)>>2)]=value4; - ptr = (ptr+4)|0; - } - } - while ((ptr|0) < (stop|0)) { - HEAP8[((ptr)>>0)]=value; - ptr = (ptr+1)|0; - } - return (ptr-num)|0; -} -function _i64Subtract(a, b, c, d) { - a = a|0; b = b|0; c = c|0; d = d|0; - var l = 0, h = 0; - l = (a - c)>>>0; - h = (b - d)>>>0; - h = (b - d - (((c>>>0) > (a>>>0))|0))>>>0; // Borrow one from high word to low word on underflow. - return ((tempRet0 = h,l|0)|0); -} -function _i64Add(a, b, c, d) { - /* - x = a + b*2^32 - y = c + d*2^32 - result = l + h*2^32 - */ - a = a|0; b = b|0; c = c|0; d = d|0; - var l = 0, h = 0; - l = (a + c)>>>0; - h = (b + d + (((l>>>0) < (a>>>0))|0))>>>0; // Add carry from low word to high word on overflow. - return ((tempRet0 = h,l|0)|0); -} -function _strncpy(pdest, psrc, num) { - pdest = pdest|0; psrc = psrc|0; num = num|0; - var padding = 0, curr = 0, i = 0; - while ((i|0) < (num|0)) { - curr = padding ? 0 : ((HEAP8[(((psrc)+(i))>>0)])|0); - HEAP8[(((pdest)+(i))>>0)]=curr; - padding = padding ? 1 : (((HEAP8[(((psrc)+(i))>>0)])|0) == 0); - i = (i+1)|0; - } - return pdest|0; -} -function _bitshift64Lshr(low, high, bits) { - low = low|0; high = high|0; bits = bits|0; - var ander = 0; - if ((bits|0) < 32) { - ander = ((1 << bits) - 1)|0; - tempRet0 = high >>> bits; - return (low >>> bits) | ((high&ander) << (32 - bits)); - } - tempRet0 = 0; - return (high >>> (bits - 32))|0; -} -function _strlen(ptr) { - ptr = ptr|0; - var curr = 0; - curr = ptr; - while (((HEAP8[((curr)>>0)])|0)) { - curr = (curr + 1)|0; - } - return (curr - ptr)|0; -} -function _bitshift64Shl(low, high, bits) { - low = low|0; high = high|0; bits = bits|0; - var ander = 0; - if ((bits|0) < 32) { - ander = ((1 << bits) - 1)|0; - tempRet0 = (high << bits) | ((low&(ander << (32 - bits))) >>> (32 - bits)); - return low << bits; - } - tempRet0 = low << (bits - 32); - return 0; -} -function _bitshift64Ashr(low, high, bits) { - low = low|0; high = high|0; bits = bits|0; - var ander = 0; - if ((bits|0) < 32) { - ander = ((1 << bits) - 1)|0; - tempRet0 = high >> bits; - return (low >>> bits) | ((high&ander) << (32 - bits)); - } - tempRet0 = (high|0) < 0 ? -1 : 0; - return (high >> (bits - 32))|0; - } -function _llvm_ctlz_i32(x) { - x = x|0; - var ret = 0; - ret = ((HEAP8[(((ctlz_i8)+(x >>> 24))>>0)])|0); - if ((ret|0) < 8) return ret|0; - ret = ((HEAP8[(((ctlz_i8)+((x >> 16)&0xff))>>0)])|0); - if ((ret|0) < 8) return (ret + 8)|0; - ret = ((HEAP8[(((ctlz_i8)+((x >> 8)&0xff))>>0)])|0); - if ((ret|0) < 8) return (ret + 16)|0; - return (((HEAP8[(((ctlz_i8)+(x&0xff))>>0)])|0) + 24)|0; - } - -function _llvm_cttz_i32(x) { - x = x|0; - var ret = 0; - ret = ((HEAP8[(((cttz_i8)+(x & 0xff))>>0)])|0); - if ((ret|0) < 8) return ret|0; - ret = ((HEAP8[(((cttz_i8)+((x >> 8)&0xff))>>0)])|0); - if ((ret|0) < 8) return (ret + 8)|0; - ret = ((HEAP8[(((cttz_i8)+((x >> 16)&0xff))>>0)])|0); - if ((ret|0) < 8) return (ret + 16)|0; - return (((HEAP8[(((cttz_i8)+(x >>> 24))>>0)])|0) + 24)|0; - } - -// ======== compiled code from system/lib/compiler-rt , see readme therein -function ___muldsi3($a, $b) { - $a = $a | 0; - $b = $b | 0; - var $1 = 0, $2 = 0, $3 = 0, $6 = 0, $8 = 0, $11 = 0, $12 = 0; - $1 = $a & 65535; - $2 = $b & 65535; - $3 = Math_imul($2, $1) | 0; - $6 = $a >>> 16; - $8 = ($3 >>> 16) + (Math_imul($2, $6) | 0) | 0; - $11 = $b >>> 16; - $12 = Math_imul($11, $1) | 0; - return (tempRet0 = (($8 >>> 16) + (Math_imul($11, $6) | 0) | 0) + ((($8 & 65535) + $12 | 0) >>> 16) | 0, 0 | ($8 + $12 << 16 | $3 & 65535)) | 0; -} -function ___divdi3($a$0, $a$1, $b$0, $b$1) { - $a$0 = $a$0 | 0; - $a$1 = $a$1 | 0; - $b$0 = $b$0 | 0; - $b$1 = $b$1 | 0; - var $1$0 = 0, $1$1 = 0, $2$0 = 0, $2$1 = 0, $4$0 = 0, $4$1 = 0, $6$0 = 0, $7$0 = 0, $7$1 = 0, $8$0 = 0, $10$0 = 0; - $1$0 = $a$1 >> 31 | (($a$1 | 0) < 0 ? -1 : 0) << 1; - $1$1 = (($a$1 | 0) < 0 ? -1 : 0) >> 31 | (($a$1 | 0) < 0 ? -1 : 0) << 1; - $2$0 = $b$1 >> 31 | (($b$1 | 0) < 0 ? -1 : 0) << 1; - $2$1 = (($b$1 | 0) < 0 ? -1 : 0) >> 31 | (($b$1 | 0) < 0 ? -1 : 0) << 1; - $4$0 = _i64Subtract($1$0 ^ $a$0, $1$1 ^ $a$1, $1$0, $1$1) | 0; - $4$1 = tempRet0; - $6$0 = _i64Subtract($2$0 ^ $b$0, $2$1 ^ $b$1, $2$0, $2$1) | 0; - $7$0 = $2$0 ^ $1$0; - $7$1 = $2$1 ^ $1$1; - $8$0 = ___udivmoddi4($4$0, $4$1, $6$0, tempRet0, 0) | 0; - $10$0 = _i64Subtract($8$0 ^ $7$0, tempRet0 ^ $7$1, $7$0, $7$1) | 0; - return (tempRet0 = tempRet0, $10$0) | 0; -} -function ___remdi3($a$0, $a$1, $b$0, $b$1) { - $a$0 = $a$0 | 0; - $a$1 = $a$1 | 0; - $b$0 = $b$0 | 0; - $b$1 = $b$1 | 0; - var $rem = 0, $1$0 = 0, $1$1 = 0, $2$0 = 0, $2$1 = 0, $4$0 = 0, $4$1 = 0, $6$0 = 0, $10$0 = 0, $10$1 = 0, __stackBase__ = 0; - __stackBase__ = STACKTOP; - STACKTOP = STACKTOP + 8 | 0; - $rem = __stackBase__ | 0; - $1$0 = $a$1 >> 31 | (($a$1 | 0) < 0 ? -1 : 0) << 1; - $1$1 = (($a$1 | 0) < 0 ? -1 : 0) >> 31 | (($a$1 | 0) < 0 ? -1 : 0) << 1; - $2$0 = $b$1 >> 31 | (($b$1 | 0) < 0 ? -1 : 0) << 1; - $2$1 = (($b$1 | 0) < 0 ? -1 : 0) >> 31 | (($b$1 | 0) < 0 ? -1 : 0) << 1; - $4$0 = _i64Subtract($1$0 ^ $a$0, $1$1 ^ $a$1, $1$0, $1$1) | 0; - $4$1 = tempRet0; - $6$0 = _i64Subtract($2$0 ^ $b$0, $2$1 ^ $b$1, $2$0, $2$1) | 0; - ___udivmoddi4($4$0, $4$1, $6$0, tempRet0, $rem) | 0; - $10$0 = _i64Subtract(HEAP32[$rem >> 2] ^ $1$0, HEAP32[$rem + 4 >> 2] ^ $1$1, $1$0, $1$1) | 0; - $10$1 = tempRet0; - STACKTOP = __stackBase__; - return (tempRet0 = $10$1, $10$0) | 0; -} -function ___muldi3($a$0, $a$1, $b$0, $b$1) { - $a$0 = $a$0 | 0; - $a$1 = $a$1 | 0; - $b$0 = $b$0 | 0; - $b$1 = $b$1 | 0; - var $x_sroa_0_0_extract_trunc = 0, $y_sroa_0_0_extract_trunc = 0, $1$0 = 0, $1$1 = 0, $2 = 0; - $x_sroa_0_0_extract_trunc = $a$0; - $y_sroa_0_0_extract_trunc = $b$0; - $1$0 = ___muldsi3($x_sroa_0_0_extract_trunc, $y_sroa_0_0_extract_trunc) | 0; - $1$1 = tempRet0; - $2 = Math_imul($a$1, $y_sroa_0_0_extract_trunc) | 0; - return (tempRet0 = ((Math_imul($b$1, $x_sroa_0_0_extract_trunc) | 0) + $2 | 0) + $1$1 | $1$1 & 0, 0 | $1$0 & -1) | 0; -} -function ___udivdi3($a$0, $a$1, $b$0, $b$1) { - $a$0 = $a$0 | 0; - $a$1 = $a$1 | 0; - $b$0 = $b$0 | 0; - $b$1 = $b$1 | 0; - var $1$0 = 0; - $1$0 = ___udivmoddi4($a$0, $a$1, $b$0, $b$1, 0) | 0; - return (tempRet0 = tempRet0, $1$0) | 0; -} -function ___uremdi3($a$0, $a$1, $b$0, $b$1) { - $a$0 = $a$0 | 0; - $a$1 = $a$1 | 0; - $b$0 = $b$0 | 0; - $b$1 = $b$1 | 0; - var $rem = 0, __stackBase__ = 0; - __stackBase__ = STACKTOP; - STACKTOP = STACKTOP + 8 | 0; - $rem = __stackBase__ | 0; - ___udivmoddi4($a$0, $a$1, $b$0, $b$1, $rem) | 0; - STACKTOP = __stackBase__; - return (tempRet0 = HEAP32[$rem + 4 >> 2] | 0, HEAP32[$rem >> 2] | 0) | 0; -} -function ___udivmoddi4($a$0, $a$1, $b$0, $b$1, $rem) { - $a$0 = $a$0 | 0; - $a$1 = $a$1 | 0; - $b$0 = $b$0 | 0; - $b$1 = $b$1 | 0; - $rem = $rem | 0; - var $n_sroa_0_0_extract_trunc = 0, $n_sroa_1_4_extract_shift$0 = 0, $n_sroa_1_4_extract_trunc = 0, $d_sroa_0_0_extract_trunc = 0, $d_sroa_1_4_extract_shift$0 = 0, $d_sroa_1_4_extract_trunc = 0, $4 = 0, $17 = 0, $37 = 0, $49 = 0, $51 = 0, $57 = 0, $58 = 0, $66 = 0, $78 = 0, $86 = 0, $88 = 0, $89 = 0, $91 = 0, $92 = 0, $95 = 0, $105 = 0, $117 = 0, $119 = 0, $125 = 0, $126 = 0, $130 = 0, $q_sroa_1_1_ph = 0, $q_sroa_0_1_ph = 0, $r_sroa_1_1_ph = 0, $r_sroa_0_1_ph = 0, $sr_1_ph = 0, $d_sroa_0_0_insert_insert99$0 = 0, $d_sroa_0_0_insert_insert99$1 = 0, $137$0 = 0, $137$1 = 0, $carry_0203 = 0, $sr_1202 = 0, $r_sroa_0_1201 = 0, $r_sroa_1_1200 = 0, $q_sroa_0_1199 = 0, $q_sroa_1_1198 = 0, $147 = 0, $149 = 0, $r_sroa_0_0_insert_insert42$0 = 0, $r_sroa_0_0_insert_insert42$1 = 0, $150$1 = 0, $151$0 = 0, $152 = 0, $154$0 = 0, $r_sroa_0_0_extract_trunc = 0, $r_sroa_1_4_extract_trunc = 0, $155 = 0, $carry_0_lcssa$0 = 0, $carry_0_lcssa$1 = 0, $r_sroa_0_1_lcssa = 0, $r_sroa_1_1_lcssa = 0, $q_sroa_0_1_lcssa = 0, $q_sroa_1_1_lcssa = 0, $q_sroa_0_0_insert_ext75$0 = 0, $q_sroa_0_0_insert_ext75$1 = 0, $q_sroa_0_0_insert_insert77$1 = 0, $_0$0 = 0, $_0$1 = 0; - $n_sroa_0_0_extract_trunc = $a$0; - $n_sroa_1_4_extract_shift$0 = $a$1; - $n_sroa_1_4_extract_trunc = $n_sroa_1_4_extract_shift$0; - $d_sroa_0_0_extract_trunc = $b$0; - $d_sroa_1_4_extract_shift$0 = $b$1; - $d_sroa_1_4_extract_trunc = $d_sroa_1_4_extract_shift$0; - if (($n_sroa_1_4_extract_trunc | 0) == 0) { - $4 = ($rem | 0) != 0; - if (($d_sroa_1_4_extract_trunc | 0) == 0) { - if ($4) { - HEAP32[$rem >> 2] = ($n_sroa_0_0_extract_trunc >>> 0) % ($d_sroa_0_0_extract_trunc >>> 0); - HEAP32[$rem + 4 >> 2] = 0; - } - $_0$1 = 0; - $_0$0 = ($n_sroa_0_0_extract_trunc >>> 0) / ($d_sroa_0_0_extract_trunc >>> 0) >>> 0; - return (tempRet0 = $_0$1, $_0$0) | 0; - } else { - if (!$4) { - $_0$1 = 0; - $_0$0 = 0; - return (tempRet0 = $_0$1, $_0$0) | 0; - } - HEAP32[$rem >> 2] = $a$0 & -1; - HEAP32[$rem + 4 >> 2] = $a$1 & 0; - $_0$1 = 0; - $_0$0 = 0; - return (tempRet0 = $_0$1, $_0$0) | 0; - } - } - $17 = ($d_sroa_1_4_extract_trunc | 0) == 0; - do { - if (($d_sroa_0_0_extract_trunc | 0) == 0) { - if ($17) { - if (($rem | 0) != 0) { - HEAP32[$rem >> 2] = ($n_sroa_1_4_extract_trunc >>> 0) % ($d_sroa_0_0_extract_trunc >>> 0); - HEAP32[$rem + 4 >> 2] = 0; - } - $_0$1 = 0; - $_0$0 = ($n_sroa_1_4_extract_trunc >>> 0) / ($d_sroa_0_0_extract_trunc >>> 0) >>> 0; - return (tempRet0 = $_0$1, $_0$0) | 0; - } - if (($n_sroa_0_0_extract_trunc | 0) == 0) { - if (($rem | 0) != 0) { - HEAP32[$rem >> 2] = 0; - HEAP32[$rem + 4 >> 2] = ($n_sroa_1_4_extract_trunc >>> 0) % ($d_sroa_1_4_extract_trunc >>> 0); - } - $_0$1 = 0; - $_0$0 = ($n_sroa_1_4_extract_trunc >>> 0) / ($d_sroa_1_4_extract_trunc >>> 0) >>> 0; - return (tempRet0 = $_0$1, $_0$0) | 0; - } - $37 = $d_sroa_1_4_extract_trunc - 1 | 0; - if (($37 & $d_sroa_1_4_extract_trunc | 0) == 0) { - if (($rem | 0) != 0) { - HEAP32[$rem >> 2] = 0 | $a$0 & -1; - HEAP32[$rem + 4 >> 2] = $37 & $n_sroa_1_4_extract_trunc | $a$1 & 0; - } - $_0$1 = 0; - $_0$0 = $n_sroa_1_4_extract_trunc >>> ((_llvm_cttz_i32($d_sroa_1_4_extract_trunc | 0) | 0) >>> 0); - return (tempRet0 = $_0$1, $_0$0) | 0; - } - $49 = _llvm_ctlz_i32($d_sroa_1_4_extract_trunc | 0) | 0; - $51 = $49 - (_llvm_ctlz_i32($n_sroa_1_4_extract_trunc | 0) | 0) | 0; - if ($51 >>> 0 <= 30) { - $57 = $51 + 1 | 0; - $58 = 31 - $51 | 0; - $sr_1_ph = $57; - $r_sroa_0_1_ph = $n_sroa_1_4_extract_trunc << $58 | $n_sroa_0_0_extract_trunc >>> ($57 >>> 0); - $r_sroa_1_1_ph = $n_sroa_1_4_extract_trunc >>> ($57 >>> 0); - $q_sroa_0_1_ph = 0; - $q_sroa_1_1_ph = $n_sroa_0_0_extract_trunc << $58; - break; - } - if (($rem | 0) == 0) { - $_0$1 = 0; - $_0$0 = 0; - return (tempRet0 = $_0$1, $_0$0) | 0; - } - HEAP32[$rem >> 2] = 0 | $a$0 & -1; - HEAP32[$rem + 4 >> 2] = $n_sroa_1_4_extract_shift$0 | $a$1 & 0; - $_0$1 = 0; - $_0$0 = 0; - return (tempRet0 = $_0$1, $_0$0) | 0; - } else { - if (!$17) { - $117 = _llvm_ctlz_i32($d_sroa_1_4_extract_trunc | 0) | 0; - $119 = $117 - (_llvm_ctlz_i32($n_sroa_1_4_extract_trunc | 0) | 0) | 0; - if ($119 >>> 0 <= 31) { - $125 = $119 + 1 | 0; - $126 = 31 - $119 | 0; - $130 = $119 - 31 >> 31; - $sr_1_ph = $125; - $r_sroa_0_1_ph = $n_sroa_0_0_extract_trunc >>> ($125 >>> 0) & $130 | $n_sroa_1_4_extract_trunc << $126; - $r_sroa_1_1_ph = $n_sroa_1_4_extract_trunc >>> ($125 >>> 0) & $130; - $q_sroa_0_1_ph = 0; - $q_sroa_1_1_ph = $n_sroa_0_0_extract_trunc << $126; - break; - } - if (($rem | 0) == 0) { - $_0$1 = 0; - $_0$0 = 0; - return (tempRet0 = $_0$1, $_0$0) | 0; - } - HEAP32[$rem >> 2] = 0 | $a$0 & -1; - HEAP32[$rem + 4 >> 2] = $n_sroa_1_4_extract_shift$0 | $a$1 & 0; - $_0$1 = 0; - $_0$0 = 0; - return (tempRet0 = $_0$1, $_0$0) | 0; - } - $66 = $d_sroa_0_0_extract_trunc - 1 | 0; - if (($66 & $d_sroa_0_0_extract_trunc | 0) != 0) { - $86 = (_llvm_ctlz_i32($d_sroa_0_0_extract_trunc | 0) | 0) + 33 | 0; - $88 = $86 - (_llvm_ctlz_i32($n_sroa_1_4_extract_trunc | 0) | 0) | 0; - $89 = 64 - $88 | 0; - $91 = 32 - $88 | 0; - $92 = $91 >> 31; - $95 = $88 - 32 | 0; - $105 = $95 >> 31; - $sr_1_ph = $88; - $r_sroa_0_1_ph = $91 - 1 >> 31 & $n_sroa_1_4_extract_trunc >>> ($95 >>> 0) | ($n_sroa_1_4_extract_trunc << $91 | $n_sroa_0_0_extract_trunc >>> ($88 >>> 0)) & $105; - $r_sroa_1_1_ph = $105 & $n_sroa_1_4_extract_trunc >>> ($88 >>> 0); - $q_sroa_0_1_ph = $n_sroa_0_0_extract_trunc << $89 & $92; - $q_sroa_1_1_ph = ($n_sroa_1_4_extract_trunc << $89 | $n_sroa_0_0_extract_trunc >>> ($95 >>> 0)) & $92 | $n_sroa_0_0_extract_trunc << $91 & $88 - 33 >> 31; - break; - } - if (($rem | 0) != 0) { - HEAP32[$rem >> 2] = $66 & $n_sroa_0_0_extract_trunc; - HEAP32[$rem + 4 >> 2] = 0; - } - if (($d_sroa_0_0_extract_trunc | 0) == 1) { - $_0$1 = $n_sroa_1_4_extract_shift$0 | $a$1 & 0; - $_0$0 = 0 | $a$0 & -1; - return (tempRet0 = $_0$1, $_0$0) | 0; - } else { - $78 = _llvm_cttz_i32($d_sroa_0_0_extract_trunc | 0) | 0; - $_0$1 = 0 | $n_sroa_1_4_extract_trunc >>> ($78 >>> 0); - $_0$0 = $n_sroa_1_4_extract_trunc << 32 - $78 | $n_sroa_0_0_extract_trunc >>> ($78 >>> 0) | 0; - return (tempRet0 = $_0$1, $_0$0) | 0; - } - } - } while (0); - if (($sr_1_ph | 0) == 0) { - $q_sroa_1_1_lcssa = $q_sroa_1_1_ph; - $q_sroa_0_1_lcssa = $q_sroa_0_1_ph; - $r_sroa_1_1_lcssa = $r_sroa_1_1_ph; - $r_sroa_0_1_lcssa = $r_sroa_0_1_ph; - $carry_0_lcssa$1 = 0; - $carry_0_lcssa$0 = 0; - } else { - $d_sroa_0_0_insert_insert99$0 = 0 | $b$0 & -1; - $d_sroa_0_0_insert_insert99$1 = $d_sroa_1_4_extract_shift$0 | $b$1 & 0; - $137$0 = _i64Add($d_sroa_0_0_insert_insert99$0, $d_sroa_0_0_insert_insert99$1, -1, -1) | 0; - $137$1 = tempRet0; - $q_sroa_1_1198 = $q_sroa_1_1_ph; - $q_sroa_0_1199 = $q_sroa_0_1_ph; - $r_sroa_1_1200 = $r_sroa_1_1_ph; - $r_sroa_0_1201 = $r_sroa_0_1_ph; - $sr_1202 = $sr_1_ph; - $carry_0203 = 0; - while (1) { - $147 = $q_sroa_0_1199 >>> 31 | $q_sroa_1_1198 << 1; - $149 = $carry_0203 | $q_sroa_0_1199 << 1; - $r_sroa_0_0_insert_insert42$0 = 0 | ($r_sroa_0_1201 << 1 | $q_sroa_1_1198 >>> 31); - $r_sroa_0_0_insert_insert42$1 = $r_sroa_0_1201 >>> 31 | $r_sroa_1_1200 << 1 | 0; - _i64Subtract($137$0, $137$1, $r_sroa_0_0_insert_insert42$0, $r_sroa_0_0_insert_insert42$1) | 0; - $150$1 = tempRet0; - $151$0 = $150$1 >> 31 | (($150$1 | 0) < 0 ? -1 : 0) << 1; - $152 = $151$0 & 1; - $154$0 = _i64Subtract($r_sroa_0_0_insert_insert42$0, $r_sroa_0_0_insert_insert42$1, $151$0 & $d_sroa_0_0_insert_insert99$0, ((($150$1 | 0) < 0 ? -1 : 0) >> 31 | (($150$1 | 0) < 0 ? -1 : 0) << 1) & $d_sroa_0_0_insert_insert99$1) | 0; - $r_sroa_0_0_extract_trunc = $154$0; - $r_sroa_1_4_extract_trunc = tempRet0; - $155 = $sr_1202 - 1 | 0; - if (($155 | 0) == 0) { - break; - } else { - $q_sroa_1_1198 = $147; - $q_sroa_0_1199 = $149; - $r_sroa_1_1200 = $r_sroa_1_4_extract_trunc; - $r_sroa_0_1201 = $r_sroa_0_0_extract_trunc; - $sr_1202 = $155; - $carry_0203 = $152; - } - } - $q_sroa_1_1_lcssa = $147; - $q_sroa_0_1_lcssa = $149; - $r_sroa_1_1_lcssa = $r_sroa_1_4_extract_trunc; - $r_sroa_0_1_lcssa = $r_sroa_0_0_extract_trunc; - $carry_0_lcssa$1 = 0; - $carry_0_lcssa$0 = $152; - } - $q_sroa_0_0_insert_ext75$0 = $q_sroa_0_1_lcssa; - $q_sroa_0_0_insert_ext75$1 = 0; - $q_sroa_0_0_insert_insert77$1 = $q_sroa_1_1_lcssa | $q_sroa_0_0_insert_ext75$1; - if (($rem | 0) != 0) { - HEAP32[$rem >> 2] = 0 | $r_sroa_0_1_lcssa; - HEAP32[$rem + 4 >> 2] = $r_sroa_1_1_lcssa | 0; - } - $_0$1 = (0 | $q_sroa_0_0_insert_ext75$0) >>> 31 | $q_sroa_0_0_insert_insert77$1 << 1 | ($q_sroa_0_0_insert_ext75$1 << 1 | $q_sroa_0_0_insert_ext75$0 >>> 31) & 0 | $carry_0_lcssa$1; - $_0$0 = ($q_sroa_0_0_insert_ext75$0 << 1 | 0 >>> 31) & -2 | $carry_0_lcssa$0; - return (tempRet0 = $_0$1, $_0$0) | 0; -} -// ======================================================================= - - - -// EMSCRIPTEN_END_FUNCS - - - function dynCall_iiii(index,a1,a2,a3) { - index = index|0; - a1=a1|0; a2=a2|0; a3=a3|0; - return FUNCTION_TABLE_iiii[index&3](a1|0,a2|0,a3|0)|0; - } - - - function dynCall_viiiii(index,a1,a2,a3,a4,a5) { - index = index|0; - a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; - FUNCTION_TABLE_viiiii[index&1](a1|0,a2|0,a3|0,a4|0,a5|0); - } - - - function dynCall_vii(index,a1,a2) { - index = index|0; - a1=a1|0; a2=a2|0; - FUNCTION_TABLE_vii[index&7](a1|0,a2|0); - } - - - function dynCall_vidd(index,a1,a2,a3) { - index = index|0; - a1=a1|0; a2=+a2; a3=+a3; - FUNCTION_TABLE_vidd[index&1](a1|0,+a2,+a3); - } - - - function dynCall_ii(index,a1) { - index = index|0; - a1=a1|0; - return FUNCTION_TABLE_ii[index&1](a1|0)|0; - } - - - function dynCall_viii(index,a1,a2,a3) { - index = index|0; - a1=a1|0; a2=a2|0; a3=a3|0; - FUNCTION_TABLE_viii[index&3](a1|0,a2|0,a3|0); - } - - - function dynCall_v(index) { - index = index|0; - - FUNCTION_TABLE_v[index&1](); - } - - - function dynCall_viiiiii(index,a1,a2,a3,a4,a5,a6) { - index = index|0; - a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; a6=a6|0; - FUNCTION_TABLE_viiiiii[index&1](a1|0,a2|0,a3|0,a4|0,a5|0,a6|0); - } - - - function dynCall_iii(index,a1,a2) { - index = index|0; - a1=a1|0; a2=a2|0; - return FUNCTION_TABLE_iii[index&3](a1|0,a2|0)|0; - } - - - function dynCall_iiiiii(index,a1,a2,a3,a4,a5) { - index = index|0; - a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; - return FUNCTION_TABLE_iiiiii[index&7](a1|0,a2|0,a3|0,a4|0,a5|0)|0; - } - - - function dynCall_viiii(index,a1,a2,a3,a4) { - index = index|0; - a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; - FUNCTION_TABLE_viiii[index&1](a1|0,a2|0,a3|0,a4|0); - } - -function b0(p0,p1,p2) { p0 = p0|0;p1 = p1|0;p2 = p2|0; nullFunc_iiii(0);return 0; } - function b1(p0,p1,p2,p3,p4) { p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; nullFunc_viiiii(1); } - function b2(p0,p1) { p0 = p0|0;p1 = p1|0; nullFunc_vii(2); } - function b3(p0,p1,p2) { p0 = p0|0;p1 = +p1;p2 = +p2; nullFunc_vidd(3); } - function b4(p0) { p0 = p0|0; nullFunc_ii(4);return 0; } - function b5(p0,p1,p2) { p0 = p0|0;p1 = p1|0;p2 = p2|0; nullFunc_viii(5); } - function b6() { ; nullFunc_v(6); } - function b7(p0,p1,p2,p3,p4,p5) { p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0; nullFunc_viiiiii(7); } - function b8(p0,p1) { p0 = p0|0;p1 = p1|0; nullFunc_iii(8);return 0; } - function b9(p0,p1,p2,p3,p4) { p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; nullFunc_iiiiii(9);return 0; } - function b10(p0,p1,p2,p3) { p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; nullFunc_viiii(10); } - // EMSCRIPTEN_END_FUNCS - var FUNCTION_TABLE_iiii = [b0,_stbi__stdio_read,_sn_write,b0]; - var FUNCTION_TABLE_viiiii = [b1,_KeyCallback]; - var FUNCTION_TABLE_vii = [b2,_stbi__stdio_skip,_ErrorCallback,_CursorEnterCallback,_CharCallback,b2,b2,b2]; - var FUNCTION_TABLE_vidd = [b3,_ScrollCallback]; - var FUNCTION_TABLE_ii = [b4,_stbi__stdio_eof]; - var FUNCTION_TABLE_viii = [b5,_WindowSizeCallback,_stbi__idct_block,b5]; - var FUNCTION_TABLE_v = [b6,_UpdateDrawOneFrame]; - var FUNCTION_TABLE_viiiiii = [b7,_stbi__YCbCr_to_RGB_row]; - var FUNCTION_TABLE_iii = [b8,_point_compare,_uint32_compare,b8]; - var FUNCTION_TABLE_iiiiii = [b9,_stbi__resample_row_hv_2,_resample_row_1,_stbi__resample_row_v_2,_stbi__resample_row_h_2,_stbi__resample_row_generic,b9,b9]; - var FUNCTION_TABLE_viiii = [b10,_MouseButtonCallback]; - - return { _i64Subtract: _i64Subtract, _free: _free, _main: _main, _realloc: _realloc, _i64Add: _i64Add, _memmove: _memmove, _memset: _memset, _malloc: _malloc, _strncpy: _strncpy, _memcpy: _memcpy, _strlen: _strlen, _bitshift64Lshr: _bitshift64Lshr, _bitshift64Shl: _bitshift64Shl, runPostSets: runPostSets, stackAlloc: stackAlloc, stackSave: stackSave, stackRestore: stackRestore, setThrew: setThrew, setTempRet0: setTempRet0, getTempRet0: getTempRet0, dynCall_iiii: dynCall_iiii, dynCall_viiiii: dynCall_viiiii, dynCall_vii: dynCall_vii, dynCall_vidd: dynCall_vidd, dynCall_ii: dynCall_ii, dynCall_viii: dynCall_viii, dynCall_v: dynCall_v, dynCall_viiiiii: dynCall_viiiiii, dynCall_iii: dynCall_iii, dynCall_iiiiii: dynCall_iiiiii, dynCall_viiii: dynCall_viiii }; - }) - // EMSCRIPTEN_END_ASM - ({ "Math": Math, "Int8Array": Int8Array, "Int16Array": Int16Array, "Int32Array": Int32Array, "Uint8Array": Uint8Array, "Uint16Array": Uint16Array, "Uint32Array": Uint32Array, "Float32Array": Float32Array, "Float64Array": Float64Array }, { "abort": abort, "assert": assert, "min": Math_min, "nullFunc_iiii": nullFunc_iiii, "nullFunc_viiiii": nullFunc_viiiii, "nullFunc_vii": nullFunc_vii, "nullFunc_vidd": nullFunc_vidd, "nullFunc_ii": nullFunc_ii, "nullFunc_viii": nullFunc_viii, "nullFunc_v": nullFunc_v, "nullFunc_viiiiii": nullFunc_viiiiii, "nullFunc_iii": nullFunc_iii, "nullFunc_iiiiii": nullFunc_iiiiii, "nullFunc_viiii": nullFunc_viiii, "invoke_iiii": invoke_iiii, "invoke_viiiii": invoke_viiiii, "invoke_vii": invoke_vii, "invoke_vidd": invoke_vidd, "invoke_ii": invoke_ii, "invoke_viii": invoke_viii, "invoke_v": invoke_v, "invoke_viiiiii": invoke_viiiiii, "invoke_iii": invoke_iii, "invoke_iiiiii": invoke_iiiiii, "invoke_viiii": invoke_viiii, "_glUseProgram": _glUseProgram, "_alGetError": _alGetError, "_exp": _exp, "_glfwCreateWindow": _glfwCreateWindow, "_sqrtf": _sqrtf, "_fread": _fread, "_glUniformMatrix4fv": _glUniformMatrix4fv, "_glGetShaderiv": _glGetShaderiv, "_alBufferData": _alBufferData, "___assert_fail": ___assert_fail, "_glDeleteProgram": _glDeleteProgram, "_glBindBuffer": _glBindBuffer, "_glCreateProgram": _glCreateProgram, "_alSource3f": _alSource3f, "_fsync": _fsync, "_sbrk": _sbrk, "_glBlendFunc": _glBlendFunc, "_glGetAttribLocation": _glGetAttribLocation, "_glDisableVertexAttribArray": _glDisableVertexAttribArray, "_emscripten_memcpy_big": _emscripten_memcpy_big, "_sysconf": _sysconf, "_close": _close, "_rewind": _rewind, "_cos": _cos, "_recv": _recv, "_glfwSetWindowSizeCallback": _glfwSetWindowSizeCallback, "_glfwInit": _glfwInit, "_write": _write, "_ftell": _ftell, "_glGenBuffers": _glGenBuffers, "_glShaderSource": _glShaderSource, "_alSourcePlay": _alSourcePlay, "_glfwSetErrorCallback": _glfwSetErrorCallback, "_glfwDefaultWindowHints": _glfwDefaultWindowHints, "_glfwDestroyWindow": _glfwDestroyWindow, "_glGenerateMipmap": _glGenerateMipmap, "_glVertexAttribPointer": _glVertexAttribPointer, "_send": _send, "_alcCreateContext": _alcCreateContext, "_glGetProgramInfoLog": _glGetProgramInfoLog, "_llvm_stackrestore": _llvm_stackrestore, "_glDeleteShader": _glDeleteShader, "_glfwMakeContextCurrent": _glfwMakeContextCurrent, "_glDrawElements": _glDrawElements, "_alGetSourcei": _alGetSourcei, "_glBufferSubData": _glBufferSubData, "_alcMakeContextCurrent": _alcMakeContextCurrent, "_strerror_r": _strerror_r, "_glViewport": _glViewport, "_alSourceQueueBuffers": _alSourceQueueBuffers, "_fscanf": _fscanf, "___setErrNo": ___setErrNo, "_alcGetCurrentContext": _alcGetCurrentContext, "_alSourcef": _alSourcef, "_glDeleteTextures": _glDeleteTextures, "_glDepthFunc": _glDepthFunc, "_alSourcei": _alSourcei, "_alGenBuffers": _alGenBuffers, "_glEnable": _glEnable, "_glGenTextures": _glGenTextures, "_alDeleteSources": _alDeleteSources, "_pread": _pread, "_glfwSetWindowShouldClose": _glfwSetWindowShouldClose, "_emscripten_get_now": _emscripten_get_now, "_glAttachShader": _glAttachShader, "_read": _read, "_fwrite": _fwrite, "_time": _time, "_fprintf": _fprintf, "_glfwSetMouseButtonCallback": _glfwSetMouseButtonCallback, "_exit": _exit, "_glGetString": _glGetString, "_llvm_pow_f64": _llvm_pow_f64, "_glfwPollEvents": _glfwPollEvents, "_lseek": _lseek, "_vfprintf": _vfprintf, "_floor": _floor, "_glCompressedTexImage2D": _glCompressedTexImage2D, "_pwrite": _pwrite, "_open": _open, "_glClearColor": _glClearColor, "_glBindTexture": _glBindTexture, "__scanString": __scanString, "_glfwSetCharCallback": _glfwSetCharCallback, "_glUniform1i": _glUniform1i, "_glEnableVertexAttribArray": _glEnableVertexAttribArray, "_alcDestroyContext": _alcDestroyContext, "_glDrawArrays": _glDrawArrays, "_sinf": _sinf, "_fseek": _fseek, "_fclose": _fclose, "_log": _log, "_glfwSwapBuffers": _glfwSwapBuffers, "_alcGetString": _alcGetString, "_alSourceStop": _alSourceStop, "_glCompileShader": _glCompileShader, "_alcCloseDevice": _alcCloseDevice, "__getFloat": __getFloat, "_fputc": _fputc, "_abort": _abort, "_alcGetContextsDevice": _alcGetContextsDevice, "_glDeleteBuffers": _glDeleteBuffers, "_glBufferData": _glBufferData, "_glTexImage2D": _glTexImage2D, "_fopen": _fopen, "_sin": _sin, "_glGetProgramiv": _glGetProgramiv, "_glfwGetTime": _glfwGetTime, "_alListener3f": _alListener3f, "_ungetc": _ungetc, "_glfwGetPrimaryMonitor": _glfwGetPrimaryMonitor, "_glfwGetKey": _glfwGetKey, "_glLinkProgram": _glLinkProgram, "__reallyNegative": __reallyNegative, "_glGetUniformLocation": _glGetUniformLocation, "_strerror": _strerror, "_glClear": _glClear, "_fileno": _fileno, "__exit": __exit, "_glfwTerminate": _glfwTerminate, "_glPixelStorei": _glPixelStorei, "__formatString": __formatString, "_alDeleteBuffers": _alDeleteBuffers, "_llvm_stacksave": _llvm_stacksave, "_mkport": _mkport, "_glfwGetCursorPos": _glfwGetCursorPos, "_fflush": _fflush, "_feof": _feof, "_emscripten_set_main_loop": _emscripten_set_main_loop, "___errno_location": ___errno_location, "_glfwWindowHint": _glfwWindowHint, "_alGenSources": _alGenSources, "_fgetc": _fgetc, "_alcOpenDevice": _alcOpenDevice, "_glfwSetKeyCallback": _glfwSetKeyCallback, "_glTexParameteri": _glTexParameteri, "_fgets": _fgets, "_glfwSetScrollCallback": _glfwSetScrollCallback, "_glCreateShader": _glCreateShader, "_glfwSetCursorEnterCallback": _glfwSetCursorEnterCallback, "_alSourceUnqueueBuffers": _alSourceUnqueueBuffers, "STACKTOP": STACKTOP, "STACK_MAX": STACK_MAX, "tempDoublePtr": tempDoublePtr, "ABORT": ABORT, "cttz_i8": cttz_i8, "ctlz_i8": ctlz_i8, "NaN": NaN, "Infinity": Infinity, "_stdout": _stdout, "_whiteTexture": _whiteTexture }, buffer); - var real__i64Subtract = asm["_i64Subtract"]; asm["_i64Subtract"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real__i64Subtract.apply(null, arguments); -}; - -var real__main = asm["_main"]; asm["_main"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real__main.apply(null, arguments); -}; - -var real__realloc = asm["_realloc"]; asm["_realloc"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real__realloc.apply(null, arguments); -}; - -var real__i64Add = asm["_i64Add"]; asm["_i64Add"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real__i64Add.apply(null, arguments); -}; - -var real__memmove = asm["_memmove"]; asm["_memmove"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real__memmove.apply(null, arguments); -}; - -var real__strncpy = asm["_strncpy"]; asm["_strncpy"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real__strncpy.apply(null, arguments); -}; - -var real__strlen = asm["_strlen"]; asm["_strlen"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real__strlen.apply(null, arguments); -}; - -var real__bitshift64Lshr = asm["_bitshift64Lshr"]; asm["_bitshift64Lshr"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real__bitshift64Lshr.apply(null, arguments); -}; - -var real__bitshift64Shl = asm["_bitshift64Shl"]; asm["_bitshift64Shl"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real__bitshift64Shl.apply(null, arguments); -}; - -var real_runPostSets = asm["runPostSets"]; asm["runPostSets"] = function() { - assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); - assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); - return real_runPostSets.apply(null, arguments); -}; -var _i64Subtract = Module["_i64Subtract"] = asm["_i64Subtract"]; -var _free = Module["_free"] = asm["_free"]; -var _main = Module["_main"] = asm["_main"]; -var _realloc = Module["_realloc"] = asm["_realloc"]; -var _i64Add = Module["_i64Add"] = asm["_i64Add"]; -var _memmove = Module["_memmove"] = asm["_memmove"]; -var _memset = Module["_memset"] = asm["_memset"]; -var _malloc = Module["_malloc"] = asm["_malloc"]; -var _strncpy = Module["_strncpy"] = asm["_strncpy"]; -var _memcpy = Module["_memcpy"] = asm["_memcpy"]; -var _strlen = Module["_strlen"] = asm["_strlen"]; -var _bitshift64Lshr = Module["_bitshift64Lshr"] = asm["_bitshift64Lshr"]; -var _bitshift64Shl = Module["_bitshift64Shl"] = asm["_bitshift64Shl"]; -var runPostSets = Module["runPostSets"] = asm["runPostSets"]; -var dynCall_iiii = Module["dynCall_iiii"] = asm["dynCall_iiii"]; -var dynCall_viiiii = Module["dynCall_viiiii"] = asm["dynCall_viiiii"]; -var dynCall_vii = Module["dynCall_vii"] = asm["dynCall_vii"]; -var dynCall_vidd = Module["dynCall_vidd"] = asm["dynCall_vidd"]; -var dynCall_ii = Module["dynCall_ii"] = asm["dynCall_ii"]; -var dynCall_viii = Module["dynCall_viii"] = asm["dynCall_viii"]; -var dynCall_v = Module["dynCall_v"] = asm["dynCall_v"]; -var dynCall_viiiiii = Module["dynCall_viiiiii"] = asm["dynCall_viiiiii"]; -var dynCall_iii = Module["dynCall_iii"] = asm["dynCall_iii"]; -var dynCall_iiiiii = Module["dynCall_iiiiii"] = asm["dynCall_iiiiii"]; -var dynCall_viiii = Module["dynCall_viiii"] = asm["dynCall_viiii"]; - - Runtime.stackAlloc = asm['stackAlloc']; - Runtime.stackSave = asm['stackSave']; - Runtime.stackRestore = asm['stackRestore']; - Runtime.setTempRet0 = asm['setTempRet0']; - Runtime.getTempRet0 = asm['getTempRet0']; - - -// TODO: strip out parts of this we do not need - -//======= begin closure i64 code ======= - -// Copyright 2009 The Closure Library Authors. All Rights Reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS-IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -/** - * @fileoverview Defines a Long class for representing a 64-bit two's-complement - * integer value, which faithfully simulates the behavior of a Java "long". This - * implementation is derived from LongLib in GWT. - * - */ - -var i64Math = (function() { // Emscripten wrapper - var goog = { math: {} }; - - - /** - * Constructs a 64-bit two's-complement integer, given its low and high 32-bit - * values as *signed* integers. See the from* functions below for more - * convenient ways of constructing Longs. - * - * The internal representation of a long is the two given signed, 32-bit values. - * We use 32-bit pieces because these are the size of integers on which - * Javascript performs bit-operations. For operations like addition and - * multiplication, we split each number into 16-bit pieces, which can easily be - * multiplied within Javascript's floating-point representation without overflow - * or change in sign. - * - * In the algorithms below, we frequently reduce the negative case to the - * positive case by negating the input(s) and then post-processing the result. - * Note that we must ALWAYS check specially whether those values are MIN_VALUE - * (-2^63) because -MIN_VALUE == MIN_VALUE (since 2^63 cannot be represented as - * a positive number, it overflows back into a negative). Not handling this - * case would often result in infinite recursion. - * - * @param {number} low The low (signed) 32 bits of the long. - * @param {number} high The high (signed) 32 bits of the long. - * @constructor - */ - goog.math.Long = function(low, high) { - /** - * @type {number} - * @private - */ - this.low_ = low | 0; // force into 32 signed bits. - - /** - * @type {number} - * @private - */ - this.high_ = high | 0; // force into 32 signed bits. - }; - - - // NOTE: Common constant values ZERO, ONE, NEG_ONE, etc. are defined below the - // from* methods on which they depend. - - - /** - * A cache of the Long representations of small integer values. - * @type {!Object} - * @private - */ - goog.math.Long.IntCache_ = {}; - - - /** - * Returns a Long representing the given (32-bit) integer value. - * @param {number} value The 32-bit integer in question. - * @return {!goog.math.Long} The corresponding Long value. - */ - goog.math.Long.fromInt = function(value) { - if (-128 <= value && value < 128) { - var cachedObj = goog.math.Long.IntCache_[value]; - if (cachedObj) { - return cachedObj; - } - } - - var obj = new goog.math.Long(value | 0, value < 0 ? -1 : 0); - if (-128 <= value && value < 128) { - goog.math.Long.IntCache_[value] = obj; - } - return obj; - }; - - - /** - * Returns a Long representing the given value, provided that it is a finite - * number. Otherwise, zero is returned. - * @param {number} value The number in question. - * @return {!goog.math.Long} The corresponding Long value. - */ - goog.math.Long.fromNumber = function(value) { - if (isNaN(value) || !isFinite(value)) { - return goog.math.Long.ZERO; - } else if (value <= -goog.math.Long.TWO_PWR_63_DBL_) { - return goog.math.Long.MIN_VALUE; - } else if (value + 1 >= goog.math.Long.TWO_PWR_63_DBL_) { - return goog.math.Long.MAX_VALUE; - } else if (value < 0) { - return goog.math.Long.fromNumber(-value).negate(); - } else { - return new goog.math.Long( - (value % goog.math.Long.TWO_PWR_32_DBL_) | 0, - (value / goog.math.Long.TWO_PWR_32_DBL_) | 0); - } - }; - - - /** - * Returns a Long representing the 64-bit integer that comes by concatenating - * the given high and low bits. Each is assumed to use 32 bits. - * @param {number} lowBits The low 32-bits. - * @param {number} highBits The high 32-bits. - * @return {!goog.math.Long} The corresponding Long value. - */ - goog.math.Long.fromBits = function(lowBits, highBits) { - return new goog.math.Long(lowBits, highBits); - }; - - - /** - * Returns a Long representation of the given string, written using the given - * radix. - * @param {string} str The textual representation of the Long. - * @param {number=} opt_radix The radix in which the text is written. - * @return {!goog.math.Long} The corresponding Long value. - */ - goog.math.Long.fromString = function(str, opt_radix) { - if (str.length == 0) { - throw Error('number format error: empty string'); - } - - var radix = opt_radix || 10; - if (radix < 2 || 36 < radix) { - throw Error('radix out of range: ' + radix); - } - - if (str.charAt(0) == '-') { - return goog.math.Long.fromString(str.substring(1), radix).negate(); - } else if (str.indexOf('-') >= 0) { - throw Error('number format error: interior "-" character: ' + str); - } - - // Do several (8) digits each time through the loop, so as to - // minimize the calls to the very expensive emulated div. - var radixToPower = goog.math.Long.fromNumber(Math.pow(radix, 8)); - - var result = goog.math.Long.ZERO; - for (var i = 0; i < str.length; i += 8) { - var size = Math.min(8, str.length - i); - var value = parseInt(str.substring(i, i + size), radix); - if (size < 8) { - var power = goog.math.Long.fromNumber(Math.pow(radix, size)); - result = result.multiply(power).add(goog.math.Long.fromNumber(value)); - } else { - result = result.multiply(radixToPower); - result = result.add(goog.math.Long.fromNumber(value)); - } - } - return result; - }; - - - // NOTE: the compiler should inline these constant values below and then remove - // these variables, so there should be no runtime penalty for these. - - - /** - * Number used repeated below in calculations. This must appear before the - * first call to any from* function below. - * @type {number} - * @private - */ - goog.math.Long.TWO_PWR_16_DBL_ = 1 << 16; - - - /** - * @type {number} - * @private - */ - goog.math.Long.TWO_PWR_24_DBL_ = 1 << 24; - - - /** - * @type {number} - * @private - */ - goog.math.Long.TWO_PWR_32_DBL_ = - goog.math.Long.TWO_PWR_16_DBL_ * goog.math.Long.TWO_PWR_16_DBL_; - - - /** - * @type {number} - * @private - */ - goog.math.Long.TWO_PWR_31_DBL_ = - goog.math.Long.TWO_PWR_32_DBL_ / 2; - - - /** - * @type {number} - * @private - */ - goog.math.Long.TWO_PWR_48_DBL_ = - goog.math.Long.TWO_PWR_32_DBL_ * goog.math.Long.TWO_PWR_16_DBL_; - - - /** - * @type {number} - * @private - */ - goog.math.Long.TWO_PWR_64_DBL_ = - goog.math.Long.TWO_PWR_32_DBL_ * goog.math.Long.TWO_PWR_32_DBL_; - - - /** - * @type {number} - * @private - */ - goog.math.Long.TWO_PWR_63_DBL_ = - goog.math.Long.TWO_PWR_64_DBL_ / 2; - - - /** @type {!goog.math.Long} */ - goog.math.Long.ZERO = goog.math.Long.fromInt(0); - - - /** @type {!goog.math.Long} */ - goog.math.Long.ONE = goog.math.Long.fromInt(1); - - - /** @type {!goog.math.Long} */ - goog.math.Long.NEG_ONE = goog.math.Long.fromInt(-1); - - - /** @type {!goog.math.Long} */ - goog.math.Long.MAX_VALUE = - goog.math.Long.fromBits(0xFFFFFFFF | 0, 0x7FFFFFFF | 0); - - - /** @type {!goog.math.Long} */ - goog.math.Long.MIN_VALUE = goog.math.Long.fromBits(0, 0x80000000 | 0); - - - /** - * @type {!goog.math.Long} - * @private - */ - goog.math.Long.TWO_PWR_24_ = goog.math.Long.fromInt(1 << 24); - - - /** @return {number} The value, assuming it is a 32-bit integer. */ - goog.math.Long.prototype.toInt = function() { - return this.low_; - }; - - - /** @return {number} The closest floating-point representation to this value. */ - goog.math.Long.prototype.toNumber = function() { - return this.high_ * goog.math.Long.TWO_PWR_32_DBL_ + - this.getLowBitsUnsigned(); - }; - - - /** - * @param {number=} opt_radix The radix in which the text should be written. - * @return {string} The textual representation of this value. - */ - goog.math.Long.prototype.toString = function(opt_radix) { - var radix = opt_radix || 10; - if (radix < 2 || 36 < radix) { - throw Error('radix out of range: ' + radix); - } - - if (this.isZero()) { - return '0'; - } - - if (this.isNegative()) { - if (this.equals(goog.math.Long.MIN_VALUE)) { - // We need to change the Long value before it can be negated, so we remove - // the bottom-most digit in this base and then recurse to do the rest. - var radixLong = goog.math.Long.fromNumber(radix); - var div = this.div(radixLong); - var rem = div.multiply(radixLong).subtract(this); - return div.toString(radix) + rem.toInt().toString(radix); - } else { - return '-' + this.negate().toString(radix); - } - } - - // Do several (6) digits each time through the loop, so as to - // minimize the calls to the very expensive emulated div. - var radixToPower = goog.math.Long.fromNumber(Math.pow(radix, 6)); - - var rem = this; - var result = ''; - while (true) { - var remDiv = rem.div(radixToPower); - var intval = rem.subtract(remDiv.multiply(radixToPower)).toInt(); - var digits = intval.toString(radix); - - rem = remDiv; - if (rem.isZero()) { - return digits + result; - } else { - while (digits.length < 6) { - digits = '0' + digits; - } - result = '' + digits + result; - } - } - }; - - - /** @return {number} The high 32-bits as a signed value. */ - goog.math.Long.prototype.getHighBits = function() { - return this.high_; - }; - - - /** @return {number} The low 32-bits as a signed value. */ - goog.math.Long.prototype.getLowBits = function() { - return this.low_; - }; - - - /** @return {number} The low 32-bits as an unsigned value. */ - goog.math.Long.prototype.getLowBitsUnsigned = function() { - return (this.low_ >= 0) ? - this.low_ : goog.math.Long.TWO_PWR_32_DBL_ + this.low_; - }; - - - /** - * @return {number} Returns the number of bits needed to represent the absolute - * value of this Long. - */ - goog.math.Long.prototype.getNumBitsAbs = function() { - if (this.isNegative()) { - if (this.equals(goog.math.Long.MIN_VALUE)) { - return 64; - } else { - return this.negate().getNumBitsAbs(); - } - } else { - var val = this.high_ != 0 ? this.high_ : this.low_; - for (var bit = 31; bit > 0; bit--) { - if ((val & (1 << bit)) != 0) { - break; - } - } - return this.high_ != 0 ? bit + 33 : bit + 1; - } - }; - - - /** @return {boolean} Whether this value is zero. */ - goog.math.Long.prototype.isZero = function() { - return this.high_ == 0 && this.low_ == 0; - }; - - - /** @return {boolean} Whether this value is negative. */ - goog.math.Long.prototype.isNegative = function() { - return this.high_ < 0; - }; - - - /** @return {boolean} Whether this value is odd. */ - goog.math.Long.prototype.isOdd = function() { - return (this.low_ & 1) == 1; - }; - - - /** - * @param {goog.math.Long} other Long to compare against. - * @return {boolean} Whether this Long equals the other. - */ - goog.math.Long.prototype.equals = function(other) { - return (this.high_ == other.high_) && (this.low_ == other.low_); - }; - - - /** - * @param {goog.math.Long} other Long to compare against. - * @return {boolean} Whether this Long does not equal the other. - */ - goog.math.Long.prototype.notEquals = function(other) { - return (this.high_ != other.high_) || (this.low_ != other.low_); - }; - - - /** - * @param {goog.math.Long} other Long to compare against. - * @return {boolean} Whether this Long is less than the other. - */ - goog.math.Long.prototype.lessThan = function(other) { - return this.compare(other) < 0; - }; - - - /** - * @param {goog.math.Long} other Long to compare against. - * @return {boolean} Whether this Long is less than or equal to the other. - */ - goog.math.Long.prototype.lessThanOrEqual = function(other) { - return this.compare(other) <= 0; - }; - - - /** - * @param {goog.math.Long} other Long to compare against. - * @return {boolean} Whether this Long is greater than the other. - */ - goog.math.Long.prototype.greaterThan = function(other) { - return this.compare(other) > 0; - }; - - - /** - * @param {goog.math.Long} other Long to compare against. - * @return {boolean} Whether this Long is greater than or equal to the other. - */ - goog.math.Long.prototype.greaterThanOrEqual = function(other) { - return this.compare(other) >= 0; - }; - - - /** - * Compares this Long with the given one. - * @param {goog.math.Long} other Long to compare against. - * @return {number} 0 if they are the same, 1 if the this is greater, and -1 - * if the given one is greater. - */ - goog.math.Long.prototype.compare = function(other) { - if (this.equals(other)) { - return 0; - } - - var thisNeg = this.isNegative(); - var otherNeg = other.isNegative(); - if (thisNeg && !otherNeg) { - return -1; - } - if (!thisNeg && otherNeg) { - return 1; - } - - // at this point, the signs are the same, so subtraction will not overflow - if (this.subtract(other).isNegative()) { - return -1; - } else { - return 1; - } - }; - - - /** @return {!goog.math.Long} The negation of this value. */ - goog.math.Long.prototype.negate = function() { - if (this.equals(goog.math.Long.MIN_VALUE)) { - return goog.math.Long.MIN_VALUE; - } else { - return this.not().add(goog.math.Long.ONE); - } - }; - - - /** - * Returns the sum of this and the given Long. - * @param {goog.math.Long} other Long to add to this one. - * @return {!goog.math.Long} The sum of this and the given Long. - */ - goog.math.Long.prototype.add = function(other) { - // Divide each number into 4 chunks of 16 bits, and then sum the chunks. - - var a48 = this.high_ >>> 16; - var a32 = this.high_ & 0xFFFF; - var a16 = this.low_ >>> 16; - var a00 = this.low_ & 0xFFFF; - - var b48 = other.high_ >>> 16; - var b32 = other.high_ & 0xFFFF; - var b16 = other.low_ >>> 16; - var b00 = other.low_ & 0xFFFF; - - var c48 = 0, c32 = 0, c16 = 0, c00 = 0; - c00 += a00 + b00; - c16 += c00 >>> 16; - c00 &= 0xFFFF; - c16 += a16 + b16; - c32 += c16 >>> 16; - c16 &= 0xFFFF; - c32 += a32 + b32; - c48 += c32 >>> 16; - c32 &= 0xFFFF; - c48 += a48 + b48; - c48 &= 0xFFFF; - return goog.math.Long.fromBits((c16 << 16) | c00, (c48 << 16) | c32); - }; - - - /** - * Returns the difference of this and the given Long. - * @param {goog.math.Long} other Long to subtract from this. - * @return {!goog.math.Long} The difference of this and the given Long. - */ - goog.math.Long.prototype.subtract = function(other) { - return this.add(other.negate()); - }; - - - /** - * Returns the product of this and the given long. - * @param {goog.math.Long} other Long to multiply with this. - * @return {!goog.math.Long} The product of this and the other. - */ - goog.math.Long.prototype.multiply = function(other) { - if (this.isZero()) { - return goog.math.Long.ZERO; - } else if (other.isZero()) { - return goog.math.Long.ZERO; - } - - if (this.equals(goog.math.Long.MIN_VALUE)) { - return other.isOdd() ? goog.math.Long.MIN_VALUE : goog.math.Long.ZERO; - } else if (other.equals(goog.math.Long.MIN_VALUE)) { - return this.isOdd() ? goog.math.Long.MIN_VALUE : goog.math.Long.ZERO; - } - - if (this.isNegative()) { - if (other.isNegative()) { - return this.negate().multiply(other.negate()); - } else { - return this.negate().multiply(other).negate(); - } - } else if (other.isNegative()) { - return this.multiply(other.negate()).negate(); - } - - // If both longs are small, use float multiplication - if (this.lessThan(goog.math.Long.TWO_PWR_24_) && - other.lessThan(goog.math.Long.TWO_PWR_24_)) { - return goog.math.Long.fromNumber(this.toNumber() * other.toNumber()); - } - - // Divide each long into 4 chunks of 16 bits, and then add up 4x4 products. - // We can skip products that would overflow. - - var a48 = this.high_ >>> 16; - var a32 = this.high_ & 0xFFFF; - var a16 = this.low_ >>> 16; - var a00 = this.low_ & 0xFFFF; - - var b48 = other.high_ >>> 16; - var b32 = other.high_ & 0xFFFF; - var b16 = other.low_ >>> 16; - var b00 = other.low_ & 0xFFFF; - - var c48 = 0, c32 = 0, c16 = 0, c00 = 0; - c00 += a00 * b00; - c16 += c00 >>> 16; - c00 &= 0xFFFF; - c16 += a16 * b00; - c32 += c16 >>> 16; - c16 &= 0xFFFF; - c16 += a00 * b16; - c32 += c16 >>> 16; - c16 &= 0xFFFF; - c32 += a32 * b00; - c48 += c32 >>> 16; - c32 &= 0xFFFF; - c32 += a16 * b16; - c48 += c32 >>> 16; - c32 &= 0xFFFF; - c32 += a00 * b32; - c48 += c32 >>> 16; - c32 &= 0xFFFF; - c48 += a48 * b00 + a32 * b16 + a16 * b32 + a00 * b48; - c48 &= 0xFFFF; - return goog.math.Long.fromBits((c16 << 16) | c00, (c48 << 16) | c32); - }; - - - /** - * Returns this Long divided by the given one. - * @param {goog.math.Long} other Long by which to divide. - * @return {!goog.math.Long} This Long divided by the given one. - */ - goog.math.Long.prototype.div = function(other) { - if (other.isZero()) { - throw Error('division by zero'); - } else if (this.isZero()) { - return goog.math.Long.ZERO; - } - - if (this.equals(goog.math.Long.MIN_VALUE)) { - if (other.equals(goog.math.Long.ONE) || - other.equals(goog.math.Long.NEG_ONE)) { - return goog.math.Long.MIN_VALUE; // recall that -MIN_VALUE == MIN_VALUE - } else if (other.equals(goog.math.Long.MIN_VALUE)) { - return goog.math.Long.ONE; - } else { - // At this point, we have |other| >= 2, so |this/other| < |MIN_VALUE|. - var halfThis = this.shiftRight(1); - var approx = halfThis.div(other).shiftLeft(1); - if (approx.equals(goog.math.Long.ZERO)) { - return other.isNegative() ? goog.math.Long.ONE : goog.math.Long.NEG_ONE; - } else { - var rem = this.subtract(other.multiply(approx)); - var result = approx.add(rem.div(other)); - return result; - } - } - } else if (other.equals(goog.math.Long.MIN_VALUE)) { - return goog.math.Long.ZERO; - } - - if (this.isNegative()) { - if (other.isNegative()) { - return this.negate().div(other.negate()); - } else { - return this.negate().div(other).negate(); - } - } else if (other.isNegative()) { - return this.div(other.negate()).negate(); - } - - // Repeat the following until the remainder is less than other: find a - // floating-point that approximates remainder / other *from below*, add this - // into the result, and subtract it from the remainder. It is critical that - // the approximate value is less than or equal to the real value so that the - // remainder never becomes negative. - var res = goog.math.Long.ZERO; - var rem = this; - while (rem.greaterThanOrEqual(other)) { - // Approximate the result of division. This may be a little greater or - // smaller than the actual value. - var approx = Math.max(1, Math.floor(rem.toNumber() / other.toNumber())); - - // We will tweak the approximate result by changing it in the 48-th digit or - // the smallest non-fractional digit, whichever is larger. - var log2 = Math.ceil(Math.log(approx) / Math.LN2); - var delta = (log2 <= 48) ? 1 : Math.pow(2, log2 - 48); - - // Decrease the approximation until it is smaller than the remainder. Note - // that if it is too large, the product overflows and is negative. - var approxRes = goog.math.Long.fromNumber(approx); - var approxRem = approxRes.multiply(other); - while (approxRem.isNegative() || approxRem.greaterThan(rem)) { - approx -= delta; - approxRes = goog.math.Long.fromNumber(approx); - approxRem = approxRes.multiply(other); - } - - // We know the answer can't be zero... and actually, zero would cause - // infinite recursion since we would make no progress. - if (approxRes.isZero()) { - approxRes = goog.math.Long.ONE; - } - - res = res.add(approxRes); - rem = rem.subtract(approxRem); - } - return res; - }; - - - /** - * Returns this Long modulo the given one. - * @param {goog.math.Long} other Long by which to mod. - * @return {!goog.math.Long} This Long modulo the given one. - */ - goog.math.Long.prototype.modulo = function(other) { - return this.subtract(this.div(other).multiply(other)); - }; - - - /** @return {!goog.math.Long} The bitwise-NOT of this value. */ - goog.math.Long.prototype.not = function() { - return goog.math.Long.fromBits(~this.low_, ~this.high_); - }; - - - /** - * Returns the bitwise-AND of this Long and the given one. - * @param {goog.math.Long} other The Long with which to AND. - * @return {!goog.math.Long} The bitwise-AND of this and the other. - */ - goog.math.Long.prototype.and = function(other) { - return goog.math.Long.fromBits(this.low_ & other.low_, - this.high_ & other.high_); - }; - - - /** - * Returns the bitwise-OR of this Long and the given one. - * @param {goog.math.Long} other The Long with which to OR. - * @return {!goog.math.Long} The bitwise-OR of this and the other. - */ - goog.math.Long.prototype.or = function(other) { - return goog.math.Long.fromBits(this.low_ | other.low_, - this.high_ | other.high_); - }; - - - /** - * Returns the bitwise-XOR of this Long and the given one. - * @param {goog.math.Long} other The Long with which to XOR. - * @return {!goog.math.Long} The bitwise-XOR of this and the other. - */ - goog.math.Long.prototype.xor = function(other) { - return goog.math.Long.fromBits(this.low_ ^ other.low_, - this.high_ ^ other.high_); - }; - - - /** - * Returns this Long with bits shifted to the left by the given amount. - * @param {number} numBits The number of bits by which to shift. - * @return {!goog.math.Long} This shifted to the left by the given amount. - */ - goog.math.Long.prototype.shiftLeft = function(numBits) { - numBits &= 63; - if (numBits == 0) { - return this; - } else { - var low = this.low_; - if (numBits < 32) { - var high = this.high_; - return goog.math.Long.fromBits( - low << numBits, - (high << numBits) | (low >>> (32 - numBits))); - } else { - return goog.math.Long.fromBits(0, low << (numBits - 32)); - } - } - }; - - - /** - * Returns this Long with bits shifted to the right by the given amount. - * @param {number} numBits The number of bits by which to shift. - * @return {!goog.math.Long} This shifted to the right by the given amount. - */ - goog.math.Long.prototype.shiftRight = function(numBits) { - numBits &= 63; - if (numBits == 0) { - return this; - } else { - var high = this.high_; - if (numBits < 32) { - var low = this.low_; - return goog.math.Long.fromBits( - (low >>> numBits) | (high << (32 - numBits)), - high >> numBits); - } else { - return goog.math.Long.fromBits( - high >> (numBits - 32), - high >= 0 ? 0 : -1); - } - } - }; - - - /** - * Returns this Long with bits shifted to the right by the given amount, with - * the new top bits matching the current sign bit. - * @param {number} numBits The number of bits by which to shift. - * @return {!goog.math.Long} This shifted to the right by the given amount, with - * zeros placed into the new leading bits. - */ - goog.math.Long.prototype.shiftRightUnsigned = function(numBits) { - numBits &= 63; - if (numBits == 0) { - return this; - } else { - var high = this.high_; - if (numBits < 32) { - var low = this.low_; - return goog.math.Long.fromBits( - (low >>> numBits) | (high << (32 - numBits)), - high >>> numBits); - } else if (numBits == 32) { - return goog.math.Long.fromBits(high, 0); - } else { - return goog.math.Long.fromBits(high >>> (numBits - 32), 0); - } - } - }; - - //======= begin jsbn ======= - - var navigator = { appName: 'Modern Browser' }; // polyfill a little - - // Copyright (c) 2005 Tom Wu - // All Rights Reserved. - // http://www-cs-students.stanford.edu/~tjw/jsbn/ - - /* - * Copyright (c) 2003-2005 Tom Wu - * All Rights Reserved. - * - * Permission is hereby granted, free of charge, to any person obtaining - * a copy of this software and associated documentation files (the - * "Software"), to deal in the Software without restriction, including - * without limitation the rights to use, copy, modify, merge, publish, - * distribute, sublicense, and/or sell copies of the Software, and to - * permit persons to whom the Software is furnished to do so, subject to - * the following conditions: - * - * The above copyright notice and this permission notice shall be - * included in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND, - * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY - * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. - * - * IN NO EVENT SHALL TOM WU BE LIABLE FOR ANY SPECIAL, INCIDENTAL, - * INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND, OR ANY DAMAGES WHATSOEVER - * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER OR NOT ADVISED OF - * THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF LIABILITY, ARISING OUT - * OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - * - * In addition, the following condition applies: - * - * All redistributions must retain an intact copy of this copyright notice - * and disclaimer. - */ - - // Basic JavaScript BN library - subset useful for RSA encryption. - - // Bits per digit - var dbits; - - // JavaScript engine analysis - var canary = 0xdeadbeefcafe; - var j_lm = ((canary&0xffffff)==0xefcafe); - - // (public) Constructor - function BigInteger(a,b,c) { - if(a != null) - if("number" == typeof a) this.fromNumber(a,b,c); - else if(b == null && "string" != typeof a) this.fromString(a,256); - else this.fromString(a,b); - } - - // return new, unset BigInteger - function nbi() { return new BigInteger(null); } - - // am: Compute w_j += (x*this_i), propagate carries, - // c is initial carry, returns final carry. - // c < 3*dvalue, x < 2*dvalue, this_i < dvalue - // We need to select the fastest one that works in this environment. - - // am1: use a single mult and divide to get the high bits, - // max digit bits should be 26 because - // max internal value = 2*dvalue^2-2*dvalue (< 2^53) - function am1(i,x,w,j,c,n) { - while(--n >= 0) { - var v = x*this[i++]+w[j]+c; - c = Math.floor(v/0x4000000); - w[j++] = v&0x3ffffff; - } - return c; - } - // am2 avoids a big mult-and-extract completely. - // Max digit bits should be <= 30 because we do bitwise ops - // on values up to 2*hdvalue^2-hdvalue-1 (< 2^31) - function am2(i,x,w,j,c,n) { - var xl = x&0x7fff, xh = x>>15; - while(--n >= 0) { - var l = this[i]&0x7fff; - var h = this[i++]>>15; - var m = xh*l+h*xl; - l = xl*l+((m&0x7fff)<<15)+w[j]+(c&0x3fffffff); - c = (l>>>30)+(m>>>15)+xh*h+(c>>>30); - w[j++] = l&0x3fffffff; - } - return c; - } - // Alternately, set max digit bits to 28 since some - // browsers slow down when dealing with 32-bit numbers. - function am3(i,x,w,j,c,n) { - var xl = x&0x3fff, xh = x>>14; - while(--n >= 0) { - var l = this[i]&0x3fff; - var h = this[i++]>>14; - var m = xh*l+h*xl; - l = xl*l+((m&0x3fff)<<14)+w[j]+c; - c = (l>>28)+(m>>14)+xh*h; - w[j++] = l&0xfffffff; - } - return c; - } - if(j_lm && (navigator.appName == "Microsoft Internet Explorer")) { - BigInteger.prototype.am = am2; - dbits = 30; - } - else if(j_lm && (navigator.appName != "Netscape")) { - BigInteger.prototype.am = am1; - dbits = 26; - } - else { // Mozilla/Netscape seems to prefer am3 - BigInteger.prototype.am = am3; - dbits = 28; - } - - BigInteger.prototype.DB = dbits; - BigInteger.prototype.DM = ((1<= 0; --i) r[i] = this[i]; - r.t = this.t; - r.s = this.s; - } - - // (protected) set from integer value x, -DV <= x < DV - function bnpFromInt(x) { - this.t = 1; - this.s = (x<0)?-1:0; - if(x > 0) this[0] = x; - else if(x < -1) this[0] = x+DV; - else this.t = 0; - } - - // return bigint initialized to value - function nbv(i) { var r = nbi(); r.fromInt(i); return r; } - - // (protected) set from string and radix - function bnpFromString(s,b) { - var k; - if(b == 16) k = 4; - else if(b == 8) k = 3; - else if(b == 256) k = 8; // byte array - else if(b == 2) k = 1; - else if(b == 32) k = 5; - else if(b == 4) k = 2; - else { this.fromRadix(s,b); return; } - this.t = 0; - this.s = 0; - var i = s.length, mi = false, sh = 0; - while(--i >= 0) { - var x = (k==8)?s[i]&0xff:intAt(s,i); - if(x < 0) { - if(s.charAt(i) == "-") mi = true; - continue; - } - mi = false; - if(sh == 0) - this[this.t++] = x; - else if(sh+k > this.DB) { - this[this.t-1] |= (x&((1<<(this.DB-sh))-1))<>(this.DB-sh)); - } - else - this[this.t-1] |= x<= this.DB) sh -= this.DB; - } - if(k == 8 && (s[0]&0x80) != 0) { - this.s = -1; - if(sh > 0) this[this.t-1] |= ((1<<(this.DB-sh))-1)< 0 && this[this.t-1] == c) --this.t; - } - - // (public) return string representation in given radix - function bnToString(b) { - if(this.s < 0) return "-"+this.negate().toString(b); - var k; - if(b == 16) k = 4; - else if(b == 8) k = 3; - else if(b == 2) k = 1; - else if(b == 32) k = 5; - else if(b == 4) k = 2; - else return this.toRadix(b); - var km = (1< 0) { - if(p < this.DB && (d = this[i]>>p) > 0) { m = true; r = int2char(d); } - while(i >= 0) { - if(p < k) { - d = (this[i]&((1<>(p+=this.DB-k); - } - else { - d = (this[i]>>(p-=k))&km; - if(p <= 0) { p += this.DB; --i; } - } - if(d > 0) m = true; - if(m) r += int2char(d); - } - } - return m?r:"0"; - } - - // (public) -this - function bnNegate() { var r = nbi(); BigInteger.ZERO.subTo(this,r); return r; } - - // (public) |this| - function bnAbs() { return (this.s<0)?this.negate():this; } - - // (public) return + if this > a, - if this < a, 0 if equal - function bnCompareTo(a) { - var r = this.s-a.s; - if(r != 0) return r; - var i = this.t; - r = i-a.t; - if(r != 0) return (this.s<0)?-r:r; - while(--i >= 0) if((r=this[i]-a[i]) != 0) return r; - return 0; - } - - // returns bit length of the integer x - function nbits(x) { - var r = 1, t; - if((t=x>>>16) != 0) { x = t; r += 16; } - if((t=x>>8) != 0) { x = t; r += 8; } - if((t=x>>4) != 0) { x = t; r += 4; } - if((t=x>>2) != 0) { x = t; r += 2; } - if((t=x>>1) != 0) { x = t; r += 1; } - return r; - } - - // (public) return the number of bits in "this" - function bnBitLength() { - if(this.t <= 0) return 0; - return this.DB*(this.t-1)+nbits(this[this.t-1]^(this.s&this.DM)); - } - - // (protected) r = this << n*DB - function bnpDLShiftTo(n,r) { - var i; - for(i = this.t-1; i >= 0; --i) r[i+n] = this[i]; - for(i = n-1; i >= 0; --i) r[i] = 0; - r.t = this.t+n; - r.s = this.s; - } - - // (protected) r = this >> n*DB - function bnpDRShiftTo(n,r) { - for(var i = n; i < this.t; ++i) r[i-n] = this[i]; - r.t = Math.max(this.t-n,0); - r.s = this.s; - } - - // (protected) r = this << n - function bnpLShiftTo(n,r) { - var bs = n%this.DB; - var cbs = this.DB-bs; - var bm = (1<= 0; --i) { - r[i+ds+1] = (this[i]>>cbs)|c; - c = (this[i]&bm)<= 0; --i) r[i] = 0; - r[ds] = c; - r.t = this.t+ds+1; - r.s = this.s; - r.clamp(); - } - - // (protected) r = this >> n - function bnpRShiftTo(n,r) { - r.s = this.s; - var ds = Math.floor(n/this.DB); - if(ds >= this.t) { r.t = 0; return; } - var bs = n%this.DB; - var cbs = this.DB-bs; - var bm = (1<>bs; - for(var i = ds+1; i < this.t; ++i) { - r[i-ds-1] |= (this[i]&bm)<>bs; - } - if(bs > 0) r[this.t-ds-1] |= (this.s&bm)<>= this.DB; - } - if(a.t < this.t) { - c -= a.s; - while(i < this.t) { - c += this[i]; - r[i++] = c&this.DM; - c >>= this.DB; - } - c += this.s; - } - else { - c += this.s; - while(i < a.t) { - c -= a[i]; - r[i++] = c&this.DM; - c >>= this.DB; - } - c -= a.s; - } - r.s = (c<0)?-1:0; - if(c < -1) r[i++] = this.DV+c; - else if(c > 0) r[i++] = c; - r.t = i; - r.clamp(); - } - - // (protected) r = this * a, r != this,a (HAC 14.12) - // "this" should be the larger one if appropriate. - function bnpMultiplyTo(a,r) { - var x = this.abs(), y = a.abs(); - var i = x.t; - r.t = i+y.t; - while(--i >= 0) r[i] = 0; - for(i = 0; i < y.t; ++i) r[i+x.t] = x.am(0,y[i],r,i,0,x.t); - r.s = 0; - r.clamp(); - if(this.s != a.s) BigInteger.ZERO.subTo(r,r); - } - - // (protected) r = this^2, r != this (HAC 14.16) - function bnpSquareTo(r) { - var x = this.abs(); - var i = r.t = 2*x.t; - while(--i >= 0) r[i] = 0; - for(i = 0; i < x.t-1; ++i) { - var c = x.am(i,x[i],r,2*i,0,1); - if((r[i+x.t]+=x.am(i+1,2*x[i],r,2*i+1,c,x.t-i-1)) >= x.DV) { - r[i+x.t] -= x.DV; - r[i+x.t+1] = 1; - } - } - if(r.t > 0) r[r.t-1] += x.am(i,x[i],r,2*i,0,1); - r.s = 0; - r.clamp(); - } - - // (protected) divide this by m, quotient and remainder to q, r (HAC 14.20) - // r != q, this != m. q or r may be null. - function bnpDivRemTo(m,q,r) { - var pm = m.abs(); - if(pm.t <= 0) return; - var pt = this.abs(); - if(pt.t < pm.t) { - if(q != null) q.fromInt(0); - if(r != null) this.copyTo(r); - return; - } - if(r == null) r = nbi(); - var y = nbi(), ts = this.s, ms = m.s; - var nsh = this.DB-nbits(pm[pm.t-1]); // normalize modulus - if(nsh > 0) { pm.lShiftTo(nsh,y); pt.lShiftTo(nsh,r); } - else { pm.copyTo(y); pt.copyTo(r); } - var ys = y.t; - var y0 = y[ys-1]; - if(y0 == 0) return; - var yt = y0*(1<1)?y[ys-2]>>this.F2:0); - var d1 = this.FV/yt, d2 = (1<= 0) { - r[r.t++] = 1; - r.subTo(t,r); - } - BigInteger.ONE.dlShiftTo(ys,t); - t.subTo(y,y); // "negative" y so we can replace sub with am later - while(y.t < ys) y[y.t++] = 0; - while(--j >= 0) { - // Estimate quotient digit - var qd = (r[--i]==y0)?this.DM:Math.floor(r[i]*d1+(r[i-1]+e)*d2); - if((r[i]+=y.am(0,qd,r,j,0,ys)) < qd) { // Try it out - y.dlShiftTo(j,t); - r.subTo(t,r); - while(r[i] < --qd) r.subTo(t,r); - } - } - if(q != null) { - r.drShiftTo(ys,q); - if(ts != ms) BigInteger.ZERO.subTo(q,q); - } - r.t = ys; - r.clamp(); - if(nsh > 0) r.rShiftTo(nsh,r); // Denormalize remainder - if(ts < 0) BigInteger.ZERO.subTo(r,r); - } - - // (public) this mod a - function bnMod(a) { - var r = nbi(); - this.abs().divRemTo(a,null,r); - if(this.s < 0 && r.compareTo(BigInteger.ZERO) > 0) a.subTo(r,r); - return r; - } - - // Modular reduction using "classic" algorithm - function Classic(m) { this.m = m; } - function cConvert(x) { - if(x.s < 0 || x.compareTo(this.m) >= 0) return x.mod(this.m); - else return x; - } - function cRevert(x) { return x; } - function cReduce(x) { x.divRemTo(this.m,null,x); } - function cMulTo(x,y,r) { x.multiplyTo(y,r); this.reduce(r); } - function cSqrTo(x,r) { x.squareTo(r); this.reduce(r); } - - Classic.prototype.convert = cConvert; - Classic.prototype.revert = cRevert; - Classic.prototype.reduce = cReduce; - Classic.prototype.mulTo = cMulTo; - Classic.prototype.sqrTo = cSqrTo; - - // (protected) return "-1/this % 2^DB"; useful for Mont. reduction - // justification: - // xy == 1 (mod m) - // xy = 1+km - // xy(2-xy) = (1+km)(1-km) - // x[y(2-xy)] = 1-k^2m^2 - // x[y(2-xy)] == 1 (mod m^2) - // if y is 1/x mod m, then y(2-xy) is 1/x mod m^2 - // should reduce x and y(2-xy) by m^2 at each step to keep size bounded. - // JS multiply "overflows" differently from C/C++, so care is needed here. - function bnpInvDigit() { - if(this.t < 1) return 0; - var x = this[0]; - if((x&1) == 0) return 0; - var y = x&3; // y == 1/x mod 2^2 - y = (y*(2-(x&0xf)*y))&0xf; // y == 1/x mod 2^4 - y = (y*(2-(x&0xff)*y))&0xff; // y == 1/x mod 2^8 - y = (y*(2-(((x&0xffff)*y)&0xffff)))&0xffff; // y == 1/x mod 2^16 - // last step - calculate inverse mod DV directly; - // assumes 16 < DB <= 32 and assumes ability to handle 48-bit ints - y = (y*(2-x*y%this.DV))%this.DV; // y == 1/x mod 2^dbits - // we really want the negative inverse, and -DV < y < DV - return (y>0)?this.DV-y:-y; - } - - // Montgomery reduction - function Montgomery(m) { - this.m = m; - this.mp = m.invDigit(); - this.mpl = this.mp&0x7fff; - this.mph = this.mp>>15; - this.um = (1<<(m.DB-15))-1; - this.mt2 = 2*m.t; - } - - // xR mod m - function montConvert(x) { - var r = nbi(); - x.abs().dlShiftTo(this.m.t,r); - r.divRemTo(this.m,null,r); - if(x.s < 0 && r.compareTo(BigInteger.ZERO) > 0) this.m.subTo(r,r); - return r; - } - - // x/R mod m - function montRevert(x) { - var r = nbi(); - x.copyTo(r); - this.reduce(r); - return r; - } - - // x = x/R mod m (HAC 14.32) - function montReduce(x) { - while(x.t <= this.mt2) // pad x so am has enough room later - x[x.t++] = 0; - for(var i = 0; i < this.m.t; ++i) { - // faster way of calculating u0 = x[i]*mp mod DV - var j = x[i]&0x7fff; - var u0 = (j*this.mpl+(((j*this.mph+(x[i]>>15)*this.mpl)&this.um)<<15))&x.DM; - // use am to combine the multiply-shift-add into one call - j = i+this.m.t; - x[j] += this.m.am(0,u0,x,i,0,this.m.t); - // propagate carry - while(x[j] >= x.DV) { x[j] -= x.DV; x[++j]++; } - } - x.clamp(); - x.drShiftTo(this.m.t,x); - if(x.compareTo(this.m) >= 0) x.subTo(this.m,x); - } - - // r = "x^2/R mod m"; x != r - function montSqrTo(x,r) { x.squareTo(r); this.reduce(r); } - - // r = "xy/R mod m"; x,y != r - function montMulTo(x,y,r) { x.multiplyTo(y,r); this.reduce(r); } - - Montgomery.prototype.convert = montConvert; - Montgomery.prototype.revert = montRevert; - Montgomery.prototype.reduce = montReduce; - Montgomery.prototype.mulTo = montMulTo; - Montgomery.prototype.sqrTo = montSqrTo; - - // (protected) true iff this is even - function bnpIsEven() { return ((this.t>0)?(this[0]&1):this.s) == 0; } - - // (protected) this^e, e < 2^32, doing sqr and mul with "r" (HAC 14.79) - function bnpExp(e,z) { - if(e > 0xffffffff || e < 1) return BigInteger.ONE; - var r = nbi(), r2 = nbi(), g = z.convert(this), i = nbits(e)-1; - g.copyTo(r); - while(--i >= 0) { - z.sqrTo(r,r2); - if((e&(1< 0) z.mulTo(r2,g,r); - else { var t = r; r = r2; r2 = t; } - } - return z.revert(r); - } - - // (public) this^e % m, 0 <= e < 2^32 - function bnModPowInt(e,m) { - var z; - if(e < 256 || m.isEven()) z = new Classic(m); else z = new Montgomery(m); - return this.exp(e,z); - } - - // protected - BigInteger.prototype.copyTo = bnpCopyTo; - BigInteger.prototype.fromInt = bnpFromInt; - BigInteger.prototype.fromString = bnpFromString; - BigInteger.prototype.clamp = bnpClamp; - BigInteger.prototype.dlShiftTo = bnpDLShiftTo; - BigInteger.prototype.drShiftTo = bnpDRShiftTo; - BigInteger.prototype.lShiftTo = bnpLShiftTo; - BigInteger.prototype.rShiftTo = bnpRShiftTo; - BigInteger.prototype.subTo = bnpSubTo; - BigInteger.prototype.multiplyTo = bnpMultiplyTo; - BigInteger.prototype.squareTo = bnpSquareTo; - BigInteger.prototype.divRemTo = bnpDivRemTo; - BigInteger.prototype.invDigit = bnpInvDigit; - BigInteger.prototype.isEven = bnpIsEven; - BigInteger.prototype.exp = bnpExp; - - // public - BigInteger.prototype.toString = bnToString; - BigInteger.prototype.negate = bnNegate; - BigInteger.prototype.abs = bnAbs; - BigInteger.prototype.compareTo = bnCompareTo; - BigInteger.prototype.bitLength = bnBitLength; - BigInteger.prototype.mod = bnMod; - BigInteger.prototype.modPowInt = bnModPowInt; - - // "constants" - BigInteger.ZERO = nbv(0); - BigInteger.ONE = nbv(1); - - // jsbn2 stuff - - // (protected) convert from radix string - function bnpFromRadix(s,b) { - this.fromInt(0); - if(b == null) b = 10; - var cs = this.chunkSize(b); - var d = Math.pow(b,cs), mi = false, j = 0, w = 0; - for(var i = 0; i < s.length; ++i) { - var x = intAt(s,i); - if(x < 0) { - if(s.charAt(i) == "-" && this.signum() == 0) mi = true; - continue; - } - w = b*w+x; - if(++j >= cs) { - this.dMultiply(d); - this.dAddOffset(w,0); - j = 0; - w = 0; - } - } - if(j > 0) { - this.dMultiply(Math.pow(b,j)); - this.dAddOffset(w,0); - } - if(mi) BigInteger.ZERO.subTo(this,this); - } - - // (protected) return x s.t. r^x < DV - function bnpChunkSize(r) { return Math.floor(Math.LN2*this.DB/Math.log(r)); } - - // (public) 0 if this == 0, 1 if this > 0 - function bnSigNum() { - if(this.s < 0) return -1; - else if(this.t <= 0 || (this.t == 1 && this[0] <= 0)) return 0; - else return 1; - } - - // (protected) this *= n, this >= 0, 1 < n < DV - function bnpDMultiply(n) { - this[this.t] = this.am(0,n-1,this,0,0,this.t); - ++this.t; - this.clamp(); - } - - // (protected) this += n << w words, this >= 0 - function bnpDAddOffset(n,w) { - if(n == 0) return; - while(this.t <= w) this[this.t++] = 0; - this[w] += n; - while(this[w] >= this.DV) { - this[w] -= this.DV; - if(++w >= this.t) this[this.t++] = 0; - ++this[w]; - } - } - - // (protected) convert to radix string - function bnpToRadix(b) { - if(b == null) b = 10; - if(this.signum() == 0 || b < 2 || b > 36) return "0"; - var cs = this.chunkSize(b); - var a = Math.pow(b,cs); - var d = nbv(a), y = nbi(), z = nbi(), r = ""; - this.divRemTo(d,y,z); - while(y.signum() > 0) { - r = (a+z.intValue()).toString(b).substr(1) + r; - y.divRemTo(d,y,z); - } - return z.intValue().toString(b) + r; - } - - // (public) return value as integer - function bnIntValue() { - if(this.s < 0) { - if(this.t == 1) return this[0]-this.DV; - else if(this.t == 0) return -1; - } - else if(this.t == 1) return this[0]; - else if(this.t == 0) return 0; - // assumes 16 < DB < 32 - return ((this[1]&((1<<(32-this.DB))-1))<>= this.DB; - } - if(a.t < this.t) { - c += a.s; - while(i < this.t) { - c += this[i]; - r[i++] = c&this.DM; - c >>= this.DB; - } - c += this.s; - } - else { - c += this.s; - while(i < a.t) { - c += a[i]; - r[i++] = c&this.DM; - c >>= this.DB; - } - c += a.s; - } - r.s = (c<0)?-1:0; - if(c > 0) r[i++] = c; - else if(c < -1) r[i++] = this.DV+c; - r.t = i; - r.clamp(); - } - - BigInteger.prototype.fromRadix = bnpFromRadix; - BigInteger.prototype.chunkSize = bnpChunkSize; - BigInteger.prototype.signum = bnSigNum; - BigInteger.prototype.dMultiply = bnpDMultiply; - BigInteger.prototype.dAddOffset = bnpDAddOffset; - BigInteger.prototype.toRadix = bnpToRadix; - BigInteger.prototype.intValue = bnIntValue; - BigInteger.prototype.addTo = bnpAddTo; - - //======= end jsbn ======= - - // Emscripten wrapper - var Wrapper = { - abs: function(l, h) { - var x = new goog.math.Long(l, h); - var ret; - if (x.isNegative()) { - ret = x.negate(); - } else { - ret = x; - } - HEAP32[tempDoublePtr>>2] = ret.low_; - HEAP32[tempDoublePtr+4>>2] = ret.high_; - }, - ensureTemps: function() { - if (Wrapper.ensuredTemps) return; - Wrapper.ensuredTemps = true; - Wrapper.two32 = new BigInteger(); - Wrapper.two32.fromString('4294967296', 10); - Wrapper.two64 = new BigInteger(); - Wrapper.two64.fromString('18446744073709551616', 10); - Wrapper.temp1 = new BigInteger(); - Wrapper.temp2 = new BigInteger(); - }, - lh2bignum: function(l, h) { - var a = new BigInteger(); - a.fromString(h.toString(), 10); - var b = new BigInteger(); - a.multiplyTo(Wrapper.two32, b); - var c = new BigInteger(); - c.fromString(l.toString(), 10); - var d = new BigInteger(); - c.addTo(b, d); - return d; - }, - stringify: function(l, h, unsigned) { - var ret = new goog.math.Long(l, h).toString(); - if (unsigned && ret[0] == '-') { - // unsign slowly using jsbn bignums - Wrapper.ensureTemps(); - var bignum = new BigInteger(); - bignum.fromString(ret, 10); - ret = new BigInteger(); - Wrapper.two64.addTo(bignum, ret); - ret = ret.toString(10); - } - return ret; - }, - fromString: function(str, base, min, max, unsigned) { - Wrapper.ensureTemps(); - var bignum = new BigInteger(); - bignum.fromString(str, base); - var bigmin = new BigInteger(); - bigmin.fromString(min, 10); - var bigmax = new BigInteger(); - bigmax.fromString(max, 10); - if (unsigned && bignum.compareTo(BigInteger.ZERO) < 0) { - var temp = new BigInteger(); - bignum.addTo(Wrapper.two64, temp); - bignum = temp; - } - var error = false; - if (bignum.compareTo(bigmin) < 0) { - bignum = bigmin; - error = true; - } else if (bignum.compareTo(bigmax) > 0) { - bignum = bigmax; - error = true; - } - var ret = goog.math.Long.fromString(bignum.toString()); // min-max checks should have clamped this to a range goog.math.Long can handle well - HEAP32[tempDoublePtr>>2] = ret.low_; - HEAP32[tempDoublePtr+4>>2] = ret.high_; - if (error) throw 'range error'; - } - }; - return Wrapper; -})(); - -//======= end closure i64 code ======= - - - -// === Auto-generated postamble setup entry stuff === - -if (memoryInitializer) { - if (typeof Module['locateFile'] === 'function') { - memoryInitializer = Module['locateFile'](memoryInitializer); - } else if (Module['memoryInitializerPrefixURL']) { - memoryInitializer = Module['memoryInitializerPrefixURL'] + memoryInitializer; - } - if (ENVIRONMENT_IS_NODE || ENVIRONMENT_IS_SHELL) { - var data = Module['readBinary'](memoryInitializer); - HEAPU8.set(data, STATIC_BASE); - } else { - addRunDependency('memory initializer'); - Browser.asyncLoad(memoryInitializer, function(data) { - for (var i = 0; i < data.length; i++) { - assert(HEAPU8[STATIC_BASE + i] === 0, "area for memory initializer should not have been touched before it's loaded"); - } - HEAPU8.set(data, STATIC_BASE); - removeRunDependency('memory initializer'); - }, function(data) { - throw 'could not load memory initializer ' + memoryInitializer; - }); - } -} - -function ExitStatus(status) { - this.name = "ExitStatus"; - this.message = "Program terminated with exit(" + status + ")"; - this.status = status; -}; -ExitStatus.prototype = new Error(); -ExitStatus.prototype.constructor = ExitStatus; - -var initialStackTop; -var preloadStartTime = null; -var calledMain = false; - -dependenciesFulfilled = function runCaller() { - // If run has never been called, and we should call run (INVOKE_RUN is true, and Module.noInitialRun is not false) - if (!Module['calledRun'] && shouldRunNow) run(); - if (!Module['calledRun']) dependenciesFulfilled = runCaller; // try this again later, after new deps are fulfilled -} - -Module['callMain'] = Module.callMain = function callMain(args) { - assert(runDependencies == 0, 'cannot call main when async dependencies remain! (listen on __ATMAIN__)'); - assert(__ATPRERUN__.length == 0, 'cannot call main when preRun functions remain to be called'); - - args = args || []; - - ensureInitRuntime(); - - var argc = args.length+1; - function pad() { - for (var i = 0; i < 4-1; i++) { - argv.push(0); - } - } - var argv = [allocate(intArrayFromString(Module['thisProgram']), 'i8', ALLOC_NORMAL) ]; - pad(); - for (var i = 0; i < argc-1; i = i + 1) { - argv.push(allocate(intArrayFromString(args[i]), 'i8', ALLOC_NORMAL)); - pad(); - } - argv.push(0); - argv = allocate(argv, 'i32', ALLOC_NORMAL); - - initialStackTop = STACKTOP; - - try { - - var ret = Module['_main'](argc, argv, 0); - - - // if we're not running an evented main loop, it's time to exit - exit(ret); - } - catch(e) { - if (e instanceof ExitStatus) { - // exit() throws this once it's done to make sure execution - // has been stopped completely - return; - } else if (e == 'SimulateInfiniteLoop') { - // running an evented main loop, don't immediately exit - Module['noExitRuntime'] = true; - return; - } else { - if (e && typeof e === 'object' && e.stack) Module.printErr('exception thrown: ' + [e, e.stack]); - throw e; - } - } finally { - calledMain = true; - } -} - - - - -function run(args) { - args = args || Module['arguments']; - - if (preloadStartTime === null) preloadStartTime = Date.now(); - - if (runDependencies > 0) { - Module.printErr('run() called, but dependencies remain, so not running'); - return; - } - - preRun(); - - if (runDependencies > 0) return; // a preRun added a dependency, run will be called later - if (Module['calledRun']) return; // run may have just been called through dependencies being fulfilled just in this very frame - - function doRun() { - if (Module['calledRun']) return; // run may have just been called while the async setStatus time below was happening - Module['calledRun'] = true; - - if (ABORT) return; - - ensureInitRuntime(); - - preMain(); - - if (ENVIRONMENT_IS_WEB && preloadStartTime !== null) { - Module.printErr('pre-main prep time: ' + (Date.now() - preloadStartTime) + ' ms'); - } - - if (Module['_main'] && shouldRunNow) { - Module['callMain'](args); - } - - postRun(); - } - - if (Module['setStatus']) { - Module['setStatus']('Running...'); - setTimeout(function() { - setTimeout(function() { - Module['setStatus'](''); - }, 1); - doRun(); - }, 1); - } else { - doRun(); - } -} -Module['run'] = Module.run = run; - -function exit(status) { - if (Module['noExitRuntime']) { - Module.printErr('exit(' + status + ') called, but noExitRuntime, so not exiting'); - return; - } - - ABORT = true; - EXITSTATUS = status; - STACKTOP = initialStackTop; - - // exit the runtime - exitRuntime(); - - if (ENVIRONMENT_IS_NODE) { - // Work around a node.js bug where stdout buffer is not flushed at process exit: - // Instead of process.exit() directly, wait for stdout flush event. - // See https://github.com/joyent/node/issues/1669 and https://github.com/kripken/emscripten/issues/2582 - // Workaround is based on https://github.com/RReverser/acorn/commit/50ab143cecc9ed71a2d66f78b4aec3bb2e9844f6 - process['stdout']['once']('drain', function () { - process['exit'](status); - }); - console.log(' '); // Make sure to print something to force the drain event to occur, in case the stdout buffer was empty. - // Work around another node bug where sometimes 'drain' is never fired - make another effort - // to emit the exit status, after a significant delay (if node hasn't fired drain by then, give up) - setTimeout(function() { - process['exit'](status); - }, 500); - } else - if (ENVIRONMENT_IS_SHELL && typeof quit === 'function') { - quit(status); - } - // if we reach here, we must throw an exception to halt the current execution - throw new ExitStatus(status); -} -Module['exit'] = Module.exit = exit; - -function abort(text) { - if (text) { - Module.print(text); - Module.printErr(text); - } - - ABORT = true; - EXITSTATUS = 1; - - var extra = ''; - - throw 'abort() at ' + stackTrace() + extra; -} -Module['abort'] = Module.abort = abort; - -// {{PRE_RUN_ADDITIONS}} - -if (Module['preInit']) { - if (typeof Module['preInit'] == 'function') Module['preInit'] = [Module['preInit']]; - while (Module['preInit'].length > 0) { - Module['preInit'].pop()(); - } -} - -// shouldRunNow refers to calling main(), not run(). -var shouldRunNow = true; -if (Module['noInitialRun']) { - shouldRunNow = false; -} - - -run(); - -// {{POST_RUN_ADDITIONS}} - - - - - - -// {{MODULE_ADDITIONS}} - - - diff --git a/docs/games/raylib_zerouno.data b/docs/games/raylib_zerouno.data deleted file mode 100644 index f5503f9de..000000000 Binary files a/docs/games/raylib_zerouno.data and /dev/null differ diff --git a/docs/games/raylib_zerouno.js b/docs/games/raylib_zerouno.js deleted file mode 100644 index fc9edc56b..000000000 --- a/docs/games/raylib_zerouno.js +++ /dev/null @@ -1,67042 +0,0 @@ - -var Module; - -if (typeof Module === 'undefined') Module = {}; - -if (!Module.expectedDataFileDownloads) { - Module.expectedDataFileDownloads = 0; - Module.finishedDataFileDownloads = 0; -} -Module.expectedDataFileDownloads++; -(function() { - var loadPackage = function(metadata) { - - var PACKAGE_PATH; - if (typeof window === 'object') { - PACKAGE_PATH = window['encodeURIComponent'](window.location.pathname.toString().substring(0, window.location.pathname.toString().lastIndexOf('/')) + '/'); - } else if (typeof location !== 'undefined') { - // worker - PACKAGE_PATH = encodeURIComponent(location.pathname.toString().substring(0, location.pathname.toString().lastIndexOf('/')) + '/'); - } else { - throw 'using preloaded data can only be done on a web page or in a web worker'; - } - var PACKAGE_NAME = 'raylib_zerouno.data'; - var REMOTE_PACKAGE_BASE = 'raylib_zerouno.data'; - if (typeof Module['locateFilePackage'] === 'function' && !Module['locateFile']) { - Module['locateFile'] = Module['locateFilePackage']; - Module.printErr('warning: you defined Module.locateFilePackage, that has been renamed to Module.locateFile (using your locateFilePackage for now)'); - } - var REMOTE_PACKAGE_NAME = typeof Module['locateFile'] === 'function' ? - Module['locateFile'](REMOTE_PACKAGE_BASE) : - ((Module['filePackagePrefixURL'] || '') + REMOTE_PACKAGE_BASE); - - var REMOTE_PACKAGE_SIZE = metadata.remote_package_size; - var PACKAGE_UUID = metadata.package_uuid; - - function fetchRemotePackage(packageName, packageSize, callback, errback) { - var xhr = new XMLHttpRequest(); - xhr.open('GET', packageName, true); - xhr.responseType = 'arraybuffer'; - xhr.onprogress = function(event) { - var url = packageName; - var size = packageSize; - if (event.total) size = event.total; - if (event.loaded) { - if (!xhr.addedTotal) { - xhr.addedTotal = true; - if (!Module.dataFileDownloads) Module.dataFileDownloads = {}; - Module.dataFileDownloads[url] = { - loaded: event.loaded, - total: size - }; - } else { - Module.dataFileDownloads[url].loaded = event.loaded; - } - var total = 0; - var loaded = 0; - var num = 0; - for (var download in Module.dataFileDownloads) { - var data = Module.dataFileDownloads[download]; - total += data.total; - loaded += data.loaded; - num++; - } - total = Math.ceil(total * Module.expectedDataFileDownloads/num); - if (Module['setStatus']) Module['setStatus']('Downloading data... (' + loaded + '/' + total + ')'); - } else if (!Module.dataFileDownloads) { - if (Module['setStatus']) Module['setStatus']('Downloading data...'); - } - }; - xhr.onload = function(event) { - var packageData = xhr.response; - callback(packageData); - }; - xhr.send(null); - }; - - function handleError(error) { - console.error('package error:', error); - }; - - var fetched = null, fetchedCallback = null; - fetchRemotePackage(REMOTE_PACKAGE_NAME, REMOTE_PACKAGE_SIZE, function(data) { - if (fetchedCallback) { - fetchedCallback(data); - fetchedCallback = null; - } else { - fetched = data; - } - }, handleError); - - function runWithFS() { - - function assert(check, msg) { - if (!check) throw msg + new Error().stack; - } -Module['FS_createPath']('/', 'resources', true, true); - - function DataRequest(start, end, crunched, audio) { - this.start = start; - this.end = end; - this.crunched = crunched; - this.audio = audio; - } - DataRequest.prototype = { - requests: {}, - open: function(mode, name) { - this.name = name; - this.requests[name] = this; - Module['addRunDependency']('fp ' + this.name); - }, - send: function() {}, - onload: function() { - var byteArray = this.byteArray.subarray(this.start, this.end); - - this.finish(byteArray); - - }, - finish: function(byteArray) { - var that = this; - - Module['FS_createDataFile'](this.name, null, byteArray, true, true, true); // canOwn this data in the filesystem, it is a slide into the heap that will never change - Module['removeRunDependency']('fp ' + that.name); - - this.requests[this.name] = null; - }, - }; - - var files = metadata.files; - for (i = 0; i < files.length; ++i) { - new DataRequest(files[i].start, files[i].end, files[i].crunched, files[i].audio).open('GET', files[i].filename); - } - - - function processPackageData(arrayBuffer) { - Module.finishedDataFileDownloads++; - assert(arrayBuffer, 'Loading data file failed.'); - assert(arrayBuffer instanceof ArrayBuffer, 'bad input to processPackageData'); - var byteArray = new Uint8Array(arrayBuffer); - var curr; - - // copy the entire loaded file into a spot in the heap. Files will refer to slices in that. They cannot be freed though - // (we may be allocating before malloc is ready, during startup). - if (Module['SPLIT_MEMORY']) Module.printErr('warning: you should run the file packager with --no-heap-copy when SPLIT_MEMORY is used, otherwise copying into the heap may fail due to the splitting'); - var ptr = Module['getMemory'](byteArray.length); - Module['HEAPU8'].set(byteArray, ptr); - DataRequest.prototype.byteArray = Module['HEAPU8'].subarray(ptr, ptr+byteArray.length); - - var files = metadata.files; - for (i = 0; i < files.length; ++i) { - DataRequest.prototype.requests[files[i].filename].onload(); - } - Module['removeRunDependency']('datafile_raylib_zerouno.data'); - - }; - Module['addRunDependency']('datafile_raylib_zerouno.data'); - - if (!Module.preloadResults) Module.preloadResults = {}; - - Module.preloadResults[PACKAGE_NAME] = {fromCache: false}; - if (fetched) { - processPackageData(fetched); - fetched = null; - } else { - fetchedCallback = processPackageData; - } - - } - if (Module['calledRun']) { - runWithFS(); - } else { - if (!Module['preRun']) Module['preRun'] = []; - Module["preRun"].push(runWithFS); // FS is not initialized yet, wait for it - } - - } - loadPackage({"files": [{"audio": 1, "start": 0, "crunched": 0, "end": 1752213, "filename": "/resources/buddy.ogg"}, {"audio": 0, "start": 1752213, "crunched": 0, "end": 1766897, "filename": "/resources/courier.png"}, {"audio": 0, "start": 1766897, "crunched": 0, "end": 4515146, "filename": "/resources/dwarf.obj"}, {"audio": 0, "start": 4515146, "crunched": 0, "end": 5789769, "filename": "/resources/dwarf_diffuse.png"}, {"audio": 0, "start": 5789769, "crunched": 0, "end": 5799010, "filename": "/resources/example01.png"}, {"audio": 0, "start": 5799010, "crunched": 0, "end": 5814217, "filename": "/resources/example02.png"}, {"audio": 0, "start": 5814217, "crunched": 0, "end": 5865944, "filename": "/resources/example03.png"}, {"audio": 0, "start": 5865944, "crunched": 0, "end": 5905112, "filename": "/resources/example04.png"}, {"audio": 0, "start": 5905112, "crunched": 0, "end": 6011868, "filename": "/resources/example05.png"}, {"audio": 0, "start": 6011868, "crunched": 0, "end": 6110410, "filename": "/resources/parrot_head.png"}, {"audio": 0, "start": 6110410, "crunched": 0, "end": 6162976, "filename": "/resources/raylib_platforms.png"}, {"audio": 0, "start": 6162976, "crunched": 0, "end": 6166241, "filename": "/resources/sample01.png"}, {"audio": 0, "start": 6166241, "crunched": 0, "end": 6173325, "filename": "/resources/sample02.png"}, {"audio": 0, "start": 6173325, "crunched": 0, "end": 6177971, "filename": "/resources/sample03.png"}, {"audio": 0, "start": 6177971, "crunched": 0, "end": 6182206, "filename": "/resources/sample04.png"}, {"audio": 0, "start": 6182206, "crunched": 0, "end": 6187055, "filename": "/resources/sample05.png"}], "remote_package_size": 6187055, "package_uuid": "f758ed76-06b5-4734-9430-c1125a649aab"}); - -})(); - -// The Module object: Our interface to the outside world. We import -// and export values on it, and do the work to get that through -// closure compiler if necessary. There are various ways Module can be used: -// 1. Not defined. We create it here -// 2. A function parameter, function(Module) { ..generated code.. } -// 3. pre-run appended it, var Module = {}; ..generated code.. -// 4. External script tag defines var Module. -// We need to do an eval in order to handle the closure compiler -// case, where this code here is minified but Module was defined -// elsewhere (e.g. case 4 above). We also need to check if Module -// already exists (e.g. case 3 above). -// Note that if you want to run closure, and also to use Module -// after the generated code, you will need to define var Module = {}; -// before the code. Then that object will be used in the code, and you -// can continue to use Module afterwards as well. -var Module; -if (!Module) Module = (typeof Module !== 'undefined' ? Module : null) || {}; - -// Sometimes an existing Module object exists with properties -// meant to overwrite the default module functionality. Here -// we collect those properties and reapply _after_ we configure -// the current environment's defaults to avoid having to be so -// defensive during initialization. -var moduleOverrides = {}; -for (var key in Module) { - if (Module.hasOwnProperty(key)) { - moduleOverrides[key] = Module[key]; - } -} - -// The environment setup code below is customized to use Module. -// *** Environment setup code *** -var ENVIRONMENT_IS_WEB = typeof window === 'object'; -// Three configurations we can be running in: -// 1) We could be the application main() thread running in the main JS UI thread. (ENVIRONMENT_IS_WORKER == false and ENVIRONMENT_IS_PTHREAD == false) -// 2) We could be the application main() thread proxied to worker. (with Emscripten -s PROXY_TO_WORKER=1) (ENVIRONMENT_IS_WORKER == true, ENVIRONMENT_IS_PTHREAD == false) -// 3) We could be an application pthread running in a worker. (ENVIRONMENT_IS_WORKER == true and ENVIRONMENT_IS_PTHREAD == true) -var ENVIRONMENT_IS_WORKER = typeof importScripts === 'function'; -var ENVIRONMENT_IS_NODE = typeof process === 'object' && typeof require === 'function' && !ENVIRONMENT_IS_WEB && !ENVIRONMENT_IS_WORKER; -var ENVIRONMENT_IS_SHELL = !ENVIRONMENT_IS_WEB && !ENVIRONMENT_IS_NODE && !ENVIRONMENT_IS_WORKER; - -if (ENVIRONMENT_IS_NODE) { - // Expose functionality in the same simple way that the shells work - // Note that we pollute the global namespace here, otherwise we break in node - if (!Module['print']) Module['print'] = function print(x) { - process['stdout'].write(x + '\n'); - }; - if (!Module['printErr']) Module['printErr'] = function printErr(x) { - process['stderr'].write(x + '\n'); - }; - - var nodeFS = require('fs'); - var nodePath = require('path'); - - Module['read'] = function read(filename, binary) { - filename = nodePath['normalize'](filename); - var ret = nodeFS['readFileSync'](filename); - // The path is absolute if the normalized version is the same as the resolved. - if (!ret && filename != nodePath['resolve'](filename)) { - filename = path.join(__dirname, '..', 'src', filename); - ret = nodeFS['readFileSync'](filename); - } - if (ret && !binary) ret = ret.toString(); - return ret; - }; - - Module['readBinary'] = function readBinary(filename) { - var ret = Module['read'](filename, true); - if (!ret.buffer) { - ret = new Uint8Array(ret); - } - assert(ret.buffer); - return ret; - }; - - Module['load'] = function load(f) { - globalEval(read(f)); - }; - - if (!Module['thisProgram']) { - if (process['argv'].length > 1) { - Module['thisProgram'] = process['argv'][1].replace(/\\/g, '/'); - } else { - Module['thisProgram'] = 'unknown-program'; - } - } - - Module['arguments'] = process['argv'].slice(2); - - if (typeof module !== 'undefined') { - module['exports'] = Module; - } - - process['on']('uncaughtException', function(ex) { - // suppress ExitStatus exceptions from showing an error - if (!(ex instanceof ExitStatus)) { - throw ex; - } - }); - - Module['inspect'] = function () { return '[Emscripten Module object]'; }; -} -else if (ENVIRONMENT_IS_SHELL) { - if (!Module['print']) Module['print'] = print; - if (typeof printErr != 'undefined') Module['printErr'] = printErr; // not present in v8 or older sm - - if (typeof read != 'undefined') { - Module['read'] = read; - } else { - Module['read'] = function read() { throw 'no read() available (jsc?)' }; - } - - Module['readBinary'] = function readBinary(f) { - if (typeof readbuffer === 'function') { - return new Uint8Array(readbuffer(f)); - } - var data = read(f, 'binary'); - assert(typeof data === 'object'); - return data; - }; - - if (typeof scriptArgs != 'undefined') { - Module['arguments'] = scriptArgs; - } else if (typeof arguments != 'undefined') { - Module['arguments'] = arguments; - } - -} -else if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) { - Module['read'] = function read(url) { - var xhr = new XMLHttpRequest(); - xhr.open('GET', url, false); - xhr.send(null); - return xhr.responseText; - }; - - if (typeof arguments != 'undefined') { - Module['arguments'] = arguments; - } - - if (typeof console !== 'undefined') { - if (!Module['print']) Module['print'] = function print(x) { - console.log(x); - }; - if (!Module['printErr']) Module['printErr'] = function printErr(x) { - console.log(x); - }; - } else { - // Probably a worker, and without console.log. We can do very little here... - var TRY_USE_DUMP = false; - if (!Module['print']) Module['print'] = (TRY_USE_DUMP && (typeof(dump) !== "undefined") ? (function(x) { - dump(x); - }) : (function(x) { - // self.postMessage(x); // enable this if you want stdout to be sent as messages - })); - } - - if (ENVIRONMENT_IS_WORKER) { - Module['load'] = importScripts; - } - - if (typeof Module['setWindowTitle'] === 'undefined') { - Module['setWindowTitle'] = function(title) { document.title = title }; - } -} -else { - // Unreachable because SHELL is dependant on the others - throw 'Unknown runtime environment. Where are we?'; -} - -function globalEval(x) { - eval.call(null, x); -} -if (!Module['load'] && Module['read']) { - Module['load'] = function load(f) { - globalEval(Module['read'](f)); - }; -} -if (!Module['print']) { - Module['print'] = function(){}; -} -if (!Module['printErr']) { - Module['printErr'] = Module['print']; -} -if (!Module['arguments']) { - Module['arguments'] = []; -} -if (!Module['thisProgram']) { - Module['thisProgram'] = './this.program'; -} - -// *** Environment setup code *** - -// Closure helpers -Module.print = Module['print']; -Module.printErr = Module['printErr']; - -// Callbacks -Module['preRun'] = []; -Module['postRun'] = []; - -// Merge back in the overrides -for (var key in moduleOverrides) { - if (moduleOverrides.hasOwnProperty(key)) { - Module[key] = moduleOverrides[key]; - } -} - - - -// === Preamble library stuff === - -// Documentation for the public APIs defined in this file must be updated in: -// site/source/docs/api_reference/preamble.js.rst -// A prebuilt local version of the documentation is available at: -// site/build/text/docs/api_reference/preamble.js.txt -// You can also build docs locally as HTML or other formats in site/ -// An online HTML version (which may be of a different version of Emscripten) -// is up at http://kripken.github.io/emscripten-site/docs/api_reference/preamble.js.html - -//======================================== -// Runtime code shared with compiler -//======================================== - -var Runtime = { - setTempRet0: function (value) { - tempRet0 = value; - }, - getTempRet0: function () { - return tempRet0; - }, - stackSave: function () { - return STACKTOP; - }, - stackRestore: function (stackTop) { - STACKTOP = stackTop; - }, - getNativeTypeSize: function (type) { - switch (type) { - case 'i1': case 'i8': return 1; - case 'i16': return 2; - case 'i32': return 4; - case 'i64': return 8; - case 'float': return 4; - case 'double': return 8; - default: { - if (type[type.length-1] === '*') { - return Runtime.QUANTUM_SIZE; // A pointer - } else if (type[0] === 'i') { - var bits = parseInt(type.substr(1)); - assert(bits % 8 === 0); - return bits/8; - } else { - return 0; - } - } - } - }, - getNativeFieldSize: function (type) { - return Math.max(Runtime.getNativeTypeSize(type), Runtime.QUANTUM_SIZE); - }, - STACK_ALIGN: 16, - prepVararg: function (ptr, type) { - if (type === 'double' || type === 'i64') { - // move so the load is aligned - if (ptr & 7) { - assert((ptr & 7) === 4); - ptr += 4; - } - } else { - assert((ptr & 3) === 0); - } - return ptr; - }, - getAlignSize: function (type, size, vararg) { - // we align i64s and doubles on 64-bit boundaries, unlike x86 - if (!vararg && (type == 'i64' || type == 'double')) return 8; - if (!type) return Math.min(size, 8); // align structures internally to 64 bits - return Math.min(size || (type ? Runtime.getNativeFieldSize(type) : 0), Runtime.QUANTUM_SIZE); - }, - dynCall: function (sig, ptr, args) { - if (args && args.length) { - if (!args.splice) args = Array.prototype.slice.call(args); - args.splice(0, 0, ptr); - return Module['dynCall_' + sig].apply(null, args); - } else { - return Module['dynCall_' + sig].call(null, ptr); - } - }, - functionPointers: [], - addFunction: function (func) { - for (var i = 0; i < Runtime.functionPointers.length; i++) { - if (!Runtime.functionPointers[i]) { - Runtime.functionPointers[i] = func; - return 2*(1 + i); - } - } - throw 'Finished up all reserved function pointers. Use a higher value for RESERVED_FUNCTION_POINTERS.'; - }, - removeFunction: function (index) { - Runtime.functionPointers[(index-2)/2] = null; - }, - warnOnce: function (text) { - if (!Runtime.warnOnce.shown) Runtime.warnOnce.shown = {}; - if (!Runtime.warnOnce.shown[text]) { - Runtime.warnOnce.shown[text] = 1; - Module.printErr(text); - } - }, - funcWrappers: {}, - getFuncWrapper: function (func, sig) { - assert(sig); - if (!Runtime.funcWrappers[sig]) { - Runtime.funcWrappers[sig] = {}; - } - var sigCache = Runtime.funcWrappers[sig]; - if (!sigCache[func]) { - sigCache[func] = function dynCall_wrapper() { - return Runtime.dynCall(sig, func, arguments); - }; - } - return sigCache[func]; - }, - getCompilerSetting: function (name) { - throw 'You must build with -s RETAIN_COMPILER_SETTINGS=1 for Runtime.getCompilerSetting or emscripten_get_compiler_setting to work'; - }, - stackAlloc: function (size) { var ret = STACKTOP;STACKTOP = (STACKTOP + size)|0;STACKTOP = (((STACKTOP)+15)&-16); return ret; }, - staticAlloc: function (size) { var ret = STATICTOP;STATICTOP = (STATICTOP + size)|0;STATICTOP = (((STATICTOP)+15)&-16); return ret; }, - dynamicAlloc: function (size) { var ret = DYNAMICTOP;DYNAMICTOP = (DYNAMICTOP + size)|0;DYNAMICTOP = (((DYNAMICTOP)+15)&-16); if (DYNAMICTOP >= TOTAL_MEMORY) { var success = enlargeMemory(); if (!success) { DYNAMICTOP = ret; return 0; } }; return ret; }, - alignMemory: function (size,quantum) { var ret = size = Math.ceil((size)/(quantum ? quantum : 16))*(quantum ? quantum : 16); return ret; }, - makeBigInt: function (low,high,unsigned) { var ret = (unsigned ? ((+((low>>>0)))+((+((high>>>0)))*4294967296.0)) : ((+((low>>>0)))+((+((high|0)))*4294967296.0))); return ret; }, - GLOBAL_BASE: 8, - QUANTUM_SIZE: 4, - __dummy__: 0 -} - - - -Module["Runtime"] = Runtime; - - - -//======================================== -// Runtime essentials -//======================================== - -var __THREW__ = 0; // Used in checking for thrown exceptions. - -var ABORT = false; // whether we are quitting the application. no code should run after this. set in exit() and abort() -var EXITSTATUS = 0; - -var undef = 0; -// tempInt is used for 32-bit signed values or smaller. tempBigInt is used -// for 32-bit unsigned values or more than 32 bits. TODO: audit all uses of tempInt -var tempValue, tempInt, tempBigInt, tempInt2, tempBigInt2, tempPair, tempBigIntI, tempBigIntR, tempBigIntS, tempBigIntP, tempBigIntD, tempDouble, tempFloat; -var tempI64, tempI64b; -var tempRet0, tempRet1, tempRet2, tempRet3, tempRet4, tempRet5, tempRet6, tempRet7, tempRet8, tempRet9; - -function assert(condition, text) { - if (!condition) { - abort('Assertion failed: ' + text); - } -} - -var globalScope = this; - -// Returns the C function with a specified identifier (for C++, you need to do manual name mangling) -function getCFunc(ident) { - var func = Module['_' + ident]; // closure exported function - if (!func) { - try { - func = eval('_' + ident); // explicit lookup - } catch(e) {} - } - assert(func, 'Cannot call unknown function ' + ident + ' (perhaps LLVM optimizations or closure removed it?)'); - return func; -} - -var cwrap, ccall; -(function(){ - var JSfuncs = { - // Helpers for cwrap -- it can't refer to Runtime directly because it might - // be renamed by closure, instead it calls JSfuncs['stackSave'].body to find - // out what the minified function name is. - 'stackSave': function() { - Runtime.stackSave() - }, - 'stackRestore': function() { - Runtime.stackRestore() - }, - // type conversion from js to c - 'arrayToC' : function(arr) { - var ret = Runtime.stackAlloc(arr.length); - writeArrayToMemory(arr, ret); - return ret; - }, - 'stringToC' : function(str) { - var ret = 0; - if (str !== null && str !== undefined && str !== 0) { // null string - // at most 4 bytes per UTF-8 code point, +1 for the trailing '\0' - ret = Runtime.stackAlloc((str.length << 2) + 1); - writeStringToMemory(str, ret); - } - return ret; - } - }; - // For fast lookup of conversion functions - var toC = {'string' : JSfuncs['stringToC'], 'array' : JSfuncs['arrayToC']}; - - // C calling interface. - ccall = function ccallFunc(ident, returnType, argTypes, args, opts) { - var func = getCFunc(ident); - var cArgs = []; - var stack = 0; - if (args) { - for (var i = 0; i < args.length; i++) { - var converter = toC[argTypes[i]]; - if (converter) { - if (stack === 0) stack = Runtime.stackSave(); - cArgs[i] = converter(args[i]); - } else { - cArgs[i] = args[i]; - } - } - } - var ret = func.apply(null, cArgs); - if (returnType === 'string') ret = Pointer_stringify(ret); - if (stack !== 0) { - if (opts && opts.async) { - EmterpreterAsync.asyncFinalizers.push(function() { - Runtime.stackRestore(stack); - }); - return; - } - Runtime.stackRestore(stack); - } - return ret; - } - - var sourceRegex = /^function\s*\(([^)]*)\)\s*{\s*([^*]*?)[\s;]*(?:return\s*(.*?)[;\s]*)?}$/; - function parseJSFunc(jsfunc) { - // Match the body and the return value of a javascript function source - var parsed = jsfunc.toString().match(sourceRegex).slice(1); - return {arguments : parsed[0], body : parsed[1], returnValue: parsed[2]} - } - var JSsource = {}; - for (var fun in JSfuncs) { - if (JSfuncs.hasOwnProperty(fun)) { - // Elements of toCsource are arrays of three items: - // the code, and the return value - JSsource[fun] = parseJSFunc(JSfuncs[fun]); - } - } - - - cwrap = function cwrap(ident, returnType, argTypes) { - argTypes = argTypes || []; - var cfunc = getCFunc(ident); - // When the function takes numbers and returns a number, we can just return - // the original function - var numericArgs = argTypes.every(function(type){ return type === 'number'}); - var numericRet = (returnType !== 'string'); - if ( numericRet && numericArgs) { - return cfunc; - } - // Creation of the arguments list (["$1","$2",...,"$nargs"]) - var argNames = argTypes.map(function(x,i){return '$'+i}); - var funcstr = "(function(" + argNames.join(',') + ") {"; - var nargs = argTypes.length; - if (!numericArgs) { - // Generate the code needed to convert the arguments from javascript - // values to pointers - funcstr += 'var stack = ' + JSsource['stackSave'].body + ';'; - for (var i = 0; i < nargs; i++) { - var arg = argNames[i], type = argTypes[i]; - if (type === 'number') continue; - var convertCode = JSsource[type + 'ToC']; // [code, return] - funcstr += 'var ' + convertCode.arguments + ' = ' + arg + ';'; - funcstr += convertCode.body + ';'; - funcstr += arg + '=' + convertCode.returnValue + ';'; - } - } - - // When the code is compressed, the name of cfunc is not literally 'cfunc' anymore - var cfuncname = parseJSFunc(function(){return cfunc}).returnValue; - // Call the function - funcstr += 'var ret = ' + cfuncname + '(' + argNames.join(',') + ');'; - if (!numericRet) { // Return type can only by 'string' or 'number' - // Convert the result to a string - var strgfy = parseJSFunc(function(){return Pointer_stringify}).returnValue; - funcstr += 'ret = ' + strgfy + '(ret);'; - } - if (!numericArgs) { - // If we had a stack, restore it - funcstr += JSsource['stackRestore'].body.replace('()', '(stack)') + ';'; - } - funcstr += 'return ret})'; - return eval(funcstr); - }; -})(); -Module["ccall"] = ccall; -Module["cwrap"] = cwrap; - -function setValue(ptr, value, type, noSafe) { - type = type || 'i8'; - if (type.charAt(type.length-1) === '*') type = 'i32'; // pointers are 32-bit - switch(type) { - case 'i1': HEAP8[((ptr)>>0)]=value; break; - case 'i8': HEAP8[((ptr)>>0)]=value; break; - case 'i16': HEAP16[((ptr)>>1)]=value; break; - case 'i32': HEAP32[((ptr)>>2)]=value; break; - case 'i64': (tempI64 = [value>>>0,(tempDouble=value,(+(Math_abs(tempDouble))) >= 1.0 ? (tempDouble > 0.0 ? ((Math_min((+(Math_floor((tempDouble)/4294967296.0))), 4294967295.0))|0)>>>0 : (~~((+(Math_ceil((tempDouble - +(((~~(tempDouble)))>>>0))/4294967296.0)))))>>>0) : 0)],HEAP32[((ptr)>>2)]=tempI64[0],HEAP32[(((ptr)+(4))>>2)]=tempI64[1]); break; - case 'float': HEAPF32[((ptr)>>2)]=value; break; - case 'double': HEAPF64[((ptr)>>3)]=value; break; - default: abort('invalid type for setValue: ' + type); - } -} -Module["setValue"] = setValue; - - -function getValue(ptr, type, noSafe) { - type = type || 'i8'; - if (type.charAt(type.length-1) === '*') type = 'i32'; // pointers are 32-bit - switch(type) { - case 'i1': return HEAP8[((ptr)>>0)]; - case 'i8': return HEAP8[((ptr)>>0)]; - case 'i16': return HEAP16[((ptr)>>1)]; - case 'i32': return HEAP32[((ptr)>>2)]; - case 'i64': return HEAP32[((ptr)>>2)]; - case 'float': return HEAPF32[((ptr)>>2)]; - case 'double': return HEAPF64[((ptr)>>3)]; - default: abort('invalid type for setValue: ' + type); - } - return null; -} -Module["getValue"] = getValue; - -var ALLOC_NORMAL = 0; // Tries to use _malloc() -var ALLOC_STACK = 1; // Lives for the duration of the current function call -var ALLOC_STATIC = 2; // Cannot be freed -var ALLOC_DYNAMIC = 3; // Cannot be freed except through sbrk -var ALLOC_NONE = 4; // Do not allocate -Module["ALLOC_NORMAL"] = ALLOC_NORMAL; -Module["ALLOC_STACK"] = ALLOC_STACK; -Module["ALLOC_STATIC"] = ALLOC_STATIC; -Module["ALLOC_DYNAMIC"] = ALLOC_DYNAMIC; -Module["ALLOC_NONE"] = ALLOC_NONE; - -// allocate(): This is for internal use. You can use it yourself as well, but the interface -// is a little tricky (see docs right below). The reason is that it is optimized -// for multiple syntaxes to save space in generated code. So you should -// normally not use allocate(), and instead allocate memory using _malloc(), -// initialize it with setValue(), and so forth. -// @slab: An array of data, or a number. If a number, then the size of the block to allocate, -// in *bytes* (note that this is sometimes confusing: the next parameter does not -// affect this!) -// @types: Either an array of types, one for each byte (or 0 if no type at that position), -// or a single type which is used for the entire block. This only matters if there -// is initial data - if @slab is a number, then this does not matter at all and is -// ignored. -// @allocator: How to allocate memory, see ALLOC_* -function allocate(slab, types, allocator, ptr) { - var zeroinit, size; - if (typeof slab === 'number') { - zeroinit = true; - size = slab; - } else { - zeroinit = false; - size = slab.length; - } - - var singleType = typeof types === 'string' ? types : null; - - var ret; - if (allocator == ALLOC_NONE) { - ret = ptr; - } else { - ret = [_malloc, Runtime.stackAlloc, Runtime.staticAlloc, Runtime.dynamicAlloc][allocator === undefined ? ALLOC_STATIC : allocator](Math.max(size, singleType ? 1 : types.length)); - } - - if (zeroinit) { - var ptr = ret, stop; - assert((ret & 3) == 0); - stop = ret + (size & ~3); - for (; ptr < stop; ptr += 4) { - HEAP32[((ptr)>>2)]=0; - } - stop = ret + size; - while (ptr < stop) { - HEAP8[((ptr++)>>0)]=0; - } - return ret; - } - - if (singleType === 'i8') { - if (slab.subarray || slab.slice) { - HEAPU8.set(slab, ret); - } else { - HEAPU8.set(new Uint8Array(slab), ret); - } - return ret; - } - - var i = 0, type, typeSize, previousType; - while (i < size) { - var curr = slab[i]; - - if (typeof curr === 'function') { - curr = Runtime.getFunctionIndex(curr); - } - - type = singleType || types[i]; - if (type === 0) { - i++; - continue; - } - - if (type == 'i64') type = 'i32'; // special case: we have one i32 here, and one i32 later - - setValue(ret+i, curr, type); - - // no need to look up size unless type changes, so cache it - if (previousType !== type) { - typeSize = Runtime.getNativeTypeSize(type); - previousType = type; - } - i += typeSize; - } - - return ret; -} -Module["allocate"] = allocate; - -// Allocate memory during any stage of startup - static memory early on, dynamic memory later, malloc when ready -function getMemory(size) { - if (!staticSealed) return Runtime.staticAlloc(size); - if ((typeof _sbrk !== 'undefined' && !_sbrk.called) || !runtimeInitialized) return Runtime.dynamicAlloc(size); - return _malloc(size); -} -Module["getMemory"] = getMemory; - -function Pointer_stringify(ptr, /* optional */ length) { - if (length === 0 || !ptr) return ''; - // TODO: use TextDecoder - // Find the length, and check for UTF while doing so - var hasUtf = 0; - var t; - var i = 0; - while (1) { - t = HEAPU8[(((ptr)+(i))>>0)]; - hasUtf |= t; - if (t == 0 && !length) break; - i++; - if (length && i == length) break; - } - if (!length) length = i; - - var ret = ''; - - if (hasUtf < 128) { - var MAX_CHUNK = 1024; // split up into chunks, because .apply on a huge string can overflow the stack - var curr; - while (length > 0) { - curr = String.fromCharCode.apply(String, HEAPU8.subarray(ptr, ptr + Math.min(length, MAX_CHUNK))); - ret = ret ? ret + curr : curr; - ptr += MAX_CHUNK; - length -= MAX_CHUNK; - } - return ret; - } - return Module['UTF8ToString'](ptr); -} -Module["Pointer_stringify"] = Pointer_stringify; - -// Given a pointer 'ptr' to a null-terminated ASCII-encoded string in the emscripten HEAP, returns -// a copy of that string as a Javascript String object. - -function AsciiToString(ptr) { - var str = ''; - while (1) { - var ch = HEAP8[((ptr++)>>0)]; - if (!ch) return str; - str += String.fromCharCode(ch); - } -} -Module["AsciiToString"] = AsciiToString; - -// Copies the given Javascript String object 'str' to the emscripten HEAP at address 'outPtr', -// null-terminated and encoded in ASCII form. The copy will require at most str.length+1 bytes of space in the HEAP. - -function stringToAscii(str, outPtr) { - return writeAsciiToMemory(str, outPtr, false); -} -Module["stringToAscii"] = stringToAscii; - -// Given a pointer 'ptr' to a null-terminated UTF8-encoded string in the given array that contains uint8 values, returns -// a copy of that string as a Javascript String object. - -function UTF8ArrayToString(u8Array, idx) { - var u0, u1, u2, u3, u4, u5; - - var str = ''; - while (1) { - // For UTF8 byte structure, see http://en.wikipedia.org/wiki/UTF-8#Description and https://www.ietf.org/rfc/rfc2279.txt and https://tools.ietf.org/html/rfc3629 - u0 = u8Array[idx++]; - if (!u0) return str; - if (!(u0 & 0x80)) { str += String.fromCharCode(u0); continue; } - u1 = u8Array[idx++] & 63; - if ((u0 & 0xE0) == 0xC0) { str += String.fromCharCode(((u0 & 31) << 6) | u1); continue; } - u2 = u8Array[idx++] & 63; - if ((u0 & 0xF0) == 0xE0) { - u0 = ((u0 & 15) << 12) | (u1 << 6) | u2; - } else { - u3 = u8Array[idx++] & 63; - if ((u0 & 0xF8) == 0xF0) { - u0 = ((u0 & 7) << 18) | (u1 << 12) | (u2 << 6) | u3; - } else { - u4 = u8Array[idx++] & 63; - if ((u0 & 0xFC) == 0xF8) { - u0 = ((u0 & 3) << 24) | (u1 << 18) | (u2 << 12) | (u3 << 6) | u4; - } else { - u5 = u8Array[idx++] & 63; - u0 = ((u0 & 1) << 30) | (u1 << 24) | (u2 << 18) | (u3 << 12) | (u4 << 6) | u5; - } - } - } - if (u0 < 0x10000) { - str += String.fromCharCode(u0); - } else { - var ch = u0 - 0x10000; - str += String.fromCharCode(0xD800 | (ch >> 10), 0xDC00 | (ch & 0x3FF)); - } - } -} -Module["UTF8ArrayToString"] = UTF8ArrayToString; - -// Given a pointer 'ptr' to a null-terminated UTF8-encoded string in the emscripten HEAP, returns -// a copy of that string as a Javascript String object. - -function UTF8ToString(ptr) { - return UTF8ArrayToString(HEAPU8,ptr); -} -Module["UTF8ToString"] = UTF8ToString; - -// Copies the given Javascript String object 'str' to the given byte array at address 'outIdx', -// encoded in UTF8 form and null-terminated. The copy will require at most str.length*4+1 bytes of space in the HEAP. -// Use the function lengthBytesUTF8() to compute the exact number of bytes (excluding null terminator) that this function will write. -// Parameters: -// str: the Javascript string to copy. -// outU8Array: the array to copy to. Each index in this array is assumed to be one 8-byte element. -// outIdx: The starting offset in the array to begin the copying. -// maxBytesToWrite: The maximum number of bytes this function can write to the array. This count should include the null -// terminator, i.e. if maxBytesToWrite=1, only the null terminator will be written and nothing else. -// maxBytesToWrite=0 does not write any bytes to the output, not even the null terminator. -// Returns the number of bytes written, EXCLUDING the null terminator. - -function stringToUTF8Array(str, outU8Array, outIdx, maxBytesToWrite) { - if (!(maxBytesToWrite > 0)) // Parameter maxBytesToWrite is not optional. Negative values, 0, null, undefined and false each don't write out any bytes. - return 0; - - var startIdx = outIdx; - var endIdx = outIdx + maxBytesToWrite - 1; // -1 for string null terminator. - for (var i = 0; i < str.length; ++i) { - // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code unit, not a Unicode code point of the character! So decode UTF16->UTF32->UTF8. - // See http://unicode.org/faq/utf_bom.html#utf16-3 - // For UTF8 byte structure, see http://en.wikipedia.org/wiki/UTF-8#Description and https://www.ietf.org/rfc/rfc2279.txt and https://tools.ietf.org/html/rfc3629 - var u = str.charCodeAt(i); // possibly a lead surrogate - if (u >= 0xD800 && u <= 0xDFFF) u = 0x10000 + ((u & 0x3FF) << 10) | (str.charCodeAt(++i) & 0x3FF); - if (u <= 0x7F) { - if (outIdx >= endIdx) break; - outU8Array[outIdx++] = u; - } else if (u <= 0x7FF) { - if (outIdx + 1 >= endIdx) break; - outU8Array[outIdx++] = 0xC0 | (u >> 6); - outU8Array[outIdx++] = 0x80 | (u & 63); - } else if (u <= 0xFFFF) { - if (outIdx + 2 >= endIdx) break; - outU8Array[outIdx++] = 0xE0 | (u >> 12); - outU8Array[outIdx++] = 0x80 | ((u >> 6) & 63); - outU8Array[outIdx++] = 0x80 | (u & 63); - } else if (u <= 0x1FFFFF) { - if (outIdx + 3 >= endIdx) break; - outU8Array[outIdx++] = 0xF0 | (u >> 18); - outU8Array[outIdx++] = 0x80 | ((u >> 12) & 63); - outU8Array[outIdx++] = 0x80 | ((u >> 6) & 63); - outU8Array[outIdx++] = 0x80 | (u & 63); - } else if (u <= 0x3FFFFFF) { - if (outIdx + 4 >= endIdx) break; - outU8Array[outIdx++] = 0xF8 | (u >> 24); - outU8Array[outIdx++] = 0x80 | ((u >> 18) & 63); - outU8Array[outIdx++] = 0x80 | ((u >> 12) & 63); - outU8Array[outIdx++] = 0x80 | ((u >> 6) & 63); - outU8Array[outIdx++] = 0x80 | (u & 63); - } else { - if (outIdx + 5 >= endIdx) break; - outU8Array[outIdx++] = 0xFC | (u >> 30); - outU8Array[outIdx++] = 0x80 | ((u >> 24) & 63); - outU8Array[outIdx++] = 0x80 | ((u >> 18) & 63); - outU8Array[outIdx++] = 0x80 | ((u >> 12) & 63); - outU8Array[outIdx++] = 0x80 | ((u >> 6) & 63); - outU8Array[outIdx++] = 0x80 | (u & 63); - } - } - // Null-terminate the pointer to the buffer. - outU8Array[outIdx] = 0; - return outIdx - startIdx; -} -Module["stringToUTF8Array"] = stringToUTF8Array; - -// Copies the given Javascript String object 'str' to the emscripten HEAP at address 'outPtr', -// null-terminated and encoded in UTF8 form. The copy will require at most str.length*4+1 bytes of space in the HEAP. -// Use the function lengthBytesUTF8() to compute the exact number of bytes (excluding null terminator) that this function will write. -// Returns the number of bytes written, EXCLUDING the null terminator. - -function stringToUTF8(str, outPtr, maxBytesToWrite) { - return stringToUTF8Array(str, HEAPU8,outPtr, maxBytesToWrite); -} -Module["stringToUTF8"] = stringToUTF8; - -// Returns the number of bytes the given Javascript string takes if encoded as a UTF8 byte array, EXCLUDING the null terminator byte. - -function lengthBytesUTF8(str) { - var len = 0; - for (var i = 0; i < str.length; ++i) { - // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code unit, not a Unicode code point of the character! So decode UTF16->UTF32->UTF8. - // See http://unicode.org/faq/utf_bom.html#utf16-3 - var u = str.charCodeAt(i); // possibly a lead surrogate - if (u >= 0xD800 && u <= 0xDFFF) u = 0x10000 + ((u & 0x3FF) << 10) | (str.charCodeAt(++i) & 0x3FF); - if (u <= 0x7F) { - ++len; - } else if (u <= 0x7FF) { - len += 2; - } else if (u <= 0xFFFF) { - len += 3; - } else if (u <= 0x1FFFFF) { - len += 4; - } else if (u <= 0x3FFFFFF) { - len += 5; - } else { - len += 6; - } - } - return len; -} -Module["lengthBytesUTF8"] = lengthBytesUTF8; - -// Given a pointer 'ptr' to a null-terminated UTF16LE-encoded string in the emscripten HEAP, returns -// a copy of that string as a Javascript String object. - -function UTF16ToString(ptr) { - var i = 0; - - var str = ''; - while (1) { - var codeUnit = HEAP16[(((ptr)+(i*2))>>1)]; - if (codeUnit == 0) - return str; - ++i; - // fromCharCode constructs a character from a UTF-16 code unit, so we can pass the UTF16 string right through. - str += String.fromCharCode(codeUnit); - } -} -Module["UTF16ToString"] = UTF16ToString; - -// Copies the given Javascript String object 'str' to the emscripten HEAP at address 'outPtr', -// null-terminated and encoded in UTF16 form. The copy will require at most str.length*4+2 bytes of space in the HEAP. -// Use the function lengthBytesUTF16() to compute the exact number of bytes (excluding null terminator) that this function will write. -// Parameters: -// str: the Javascript string to copy. -// outPtr: Byte address in Emscripten HEAP where to write the string to. -// maxBytesToWrite: The maximum number of bytes this function can write to the array. This count should include the null -// terminator, i.e. if maxBytesToWrite=2, only the null terminator will be written and nothing else. -// maxBytesToWrite<2 does not write any bytes to the output, not even the null terminator. -// Returns the number of bytes written, EXCLUDING the null terminator. - -function stringToUTF16(str, outPtr, maxBytesToWrite) { - // Backwards compatibility: if max bytes is not specified, assume unsafe unbounded write is allowed. - if (maxBytesToWrite === undefined) { - maxBytesToWrite = 0x7FFFFFFF; - } - if (maxBytesToWrite < 2) return 0; - maxBytesToWrite -= 2; // Null terminator. - var startPtr = outPtr; - var numCharsToWrite = (maxBytesToWrite < str.length*2) ? (maxBytesToWrite / 2) : str.length; - for (var i = 0; i < numCharsToWrite; ++i) { - // charCodeAt returns a UTF-16 encoded code unit, so it can be directly written to the HEAP. - var codeUnit = str.charCodeAt(i); // possibly a lead surrogate - HEAP16[((outPtr)>>1)]=codeUnit; - outPtr += 2; - } - // Null-terminate the pointer to the HEAP. - HEAP16[((outPtr)>>1)]=0; - return outPtr - startPtr; -} -Module["stringToUTF16"] = stringToUTF16; - -// Returns the number of bytes the given Javascript string takes if encoded as a UTF16 byte array, EXCLUDING the null terminator byte. - -function lengthBytesUTF16(str) { - return str.length*2; -} -Module["lengthBytesUTF16"] = lengthBytesUTF16; - -function UTF32ToString(ptr) { - var i = 0; - - var str = ''; - while (1) { - var utf32 = HEAP32[(((ptr)+(i*4))>>2)]; - if (utf32 == 0) - return str; - ++i; - // Gotcha: fromCharCode constructs a character from a UTF-16 encoded code (pair), not from a Unicode code point! So encode the code point to UTF-16 for constructing. - // See http://unicode.org/faq/utf_bom.html#utf16-3 - if (utf32 >= 0x10000) { - var ch = utf32 - 0x10000; - str += String.fromCharCode(0xD800 | (ch >> 10), 0xDC00 | (ch & 0x3FF)); - } else { - str += String.fromCharCode(utf32); - } - } -} -Module["UTF32ToString"] = UTF32ToString; - -// Copies the given Javascript String object 'str' to the emscripten HEAP at address 'outPtr', -// null-terminated and encoded in UTF32 form. The copy will require at most str.length*4+4 bytes of space in the HEAP. -// Use the function lengthBytesUTF32() to compute the exact number of bytes (excluding null terminator) that this function will write. -// Parameters: -// str: the Javascript string to copy. -// outPtr: Byte address in Emscripten HEAP where to write the string to. -// maxBytesToWrite: The maximum number of bytes this function can write to the array. This count should include the null -// terminator, i.e. if maxBytesToWrite=4, only the null terminator will be written and nothing else. -// maxBytesToWrite<4 does not write any bytes to the output, not even the null terminator. -// Returns the number of bytes written, EXCLUDING the null terminator. - -function stringToUTF32(str, outPtr, maxBytesToWrite) { - // Backwards compatibility: if max bytes is not specified, assume unsafe unbounded write is allowed. - if (maxBytesToWrite === undefined) { - maxBytesToWrite = 0x7FFFFFFF; - } - if (maxBytesToWrite < 4) return 0; - var startPtr = outPtr; - var endPtr = startPtr + maxBytesToWrite - 4; - for (var i = 0; i < str.length; ++i) { - // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code unit, not a Unicode code point of the character! We must decode the string to UTF-32 to the heap. - // See http://unicode.org/faq/utf_bom.html#utf16-3 - var codeUnit = str.charCodeAt(i); // possibly a lead surrogate - if (codeUnit >= 0xD800 && codeUnit <= 0xDFFF) { - var trailSurrogate = str.charCodeAt(++i); - codeUnit = 0x10000 + ((codeUnit & 0x3FF) << 10) | (trailSurrogate & 0x3FF); - } - HEAP32[((outPtr)>>2)]=codeUnit; - outPtr += 4; - if (outPtr + 4 > endPtr) break; - } - // Null-terminate the pointer to the HEAP. - HEAP32[((outPtr)>>2)]=0; - return outPtr - startPtr; -} -Module["stringToUTF32"] = stringToUTF32; - -// Returns the number of bytes the given Javascript string takes if encoded as a UTF16 byte array, EXCLUDING the null terminator byte. - -function lengthBytesUTF32(str) { - var len = 0; - for (var i = 0; i < str.length; ++i) { - // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code unit, not a Unicode code point of the character! We must decode the string to UTF-32 to the heap. - // See http://unicode.org/faq/utf_bom.html#utf16-3 - var codeUnit = str.charCodeAt(i); - if (codeUnit >= 0xD800 && codeUnit <= 0xDFFF) ++i; // possibly a lead surrogate, so skip over the tail surrogate. - len += 4; - } - - return len; -} -Module["lengthBytesUTF32"] = lengthBytesUTF32; - -function demangle(func) { - var hasLibcxxabi = !!Module['___cxa_demangle']; - if (hasLibcxxabi) { - try { - var buf = _malloc(func.length); - writeStringToMemory(func.substr(1), buf); - var status = _malloc(4); - var ret = Module['___cxa_demangle'](buf, 0, 0, status); - if (getValue(status, 'i32') === 0 && ret) { - return Pointer_stringify(ret); - } - // otherwise, libcxxabi failed, we can try ours which may return a partial result - } catch(e) { - // failure when using libcxxabi, we can try ours which may return a partial result - } finally { - if (buf) _free(buf); - if (status) _free(status); - if (ret) _free(ret); - } - } - var i = 3; - // params, etc. - var basicTypes = { - 'v': 'void', - 'b': 'bool', - 'c': 'char', - 's': 'short', - 'i': 'int', - 'l': 'long', - 'f': 'float', - 'd': 'double', - 'w': 'wchar_t', - 'a': 'signed char', - 'h': 'unsigned char', - 't': 'unsigned short', - 'j': 'unsigned int', - 'm': 'unsigned long', - 'x': 'long long', - 'y': 'unsigned long long', - 'z': '...' - }; - var subs = []; - var first = true; - function dump(x) { - //return; - if (x) Module.print(x); - Module.print(func); - var pre = ''; - for (var a = 0; a < i; a++) pre += ' '; - Module.print (pre + '^'); - } - function parseNested() { - i++; - if (func[i] === 'K') i++; // ignore const - var parts = []; - while (func[i] !== 'E') { - if (func[i] === 'S') { // substitution - i++; - var next = func.indexOf('_', i); - var num = func.substring(i, next) || 0; - parts.push(subs[num] || '?'); - i = next+1; - continue; - } - if (func[i] === 'C') { // constructor - parts.push(parts[parts.length-1]); - i += 2; - continue; - } - var size = parseInt(func.substr(i)); - var pre = size.toString().length; - if (!size || !pre) { i--; break; } // counter i++ below us - var curr = func.substr(i + pre, size); - parts.push(curr); - subs.push(curr); - i += pre + size; - } - i++; // skip E - return parts; - } - function parse(rawList, limit, allowVoid) { // main parser - limit = limit || Infinity; - var ret = '', list = []; - function flushList() { - return '(' + list.join(', ') + ')'; - } - var name; - if (func[i] === 'N') { - // namespaced N-E - name = parseNested().join('::'); - limit--; - if (limit === 0) return rawList ? [name] : name; - } else { - // not namespaced - if (func[i] === 'K' || (first && func[i] === 'L')) i++; // ignore const and first 'L' - var size = parseInt(func.substr(i)); - if (size) { - var pre = size.toString().length; - name = func.substr(i + pre, size); - i += pre + size; - } - } - first = false; - if (func[i] === 'I') { - i++; - var iList = parse(true); - var iRet = parse(true, 1, true); - ret += iRet[0] + ' ' + name + '<' + iList.join(', ') + '>'; - } else { - ret = name; - } - paramLoop: while (i < func.length && limit-- > 0) { - //dump('paramLoop'); - var c = func[i++]; - if (c in basicTypes) { - list.push(basicTypes[c]); - } else { - switch (c) { - case 'P': list.push(parse(true, 1, true)[0] + '*'); break; // pointer - case 'R': list.push(parse(true, 1, true)[0] + '&'); break; // reference - case 'L': { // literal - i++; // skip basic type - var end = func.indexOf('E', i); - var size = end - i; - list.push(func.substr(i, size)); - i += size + 2; // size + 'EE' - break; - } - case 'A': { // array - var size = parseInt(func.substr(i)); - i += size.toString().length; - if (func[i] !== '_') throw '?'; - i++; // skip _ - list.push(parse(true, 1, true)[0] + ' [' + size + ']'); - break; - } - case 'E': break paramLoop; - default: ret += '?' + c; break paramLoop; - } - } - } - if (!allowVoid && list.length === 1 && list[0] === 'void') list = []; // avoid (void) - if (rawList) { - if (ret) { - list.push(ret + '?'); - } - return list; - } else { - return ret + flushList(); - } - } - var parsed = func; - try { - // Special-case the entry point, since its name differs from other name mangling. - if (func == 'Object._main' || func == '_main') { - return 'main()'; - } - if (typeof func === 'number') func = Pointer_stringify(func); - if (func[0] !== '_') return func; - if (func[1] !== '_') return func; // C function - if (func[2] !== 'Z') return func; - switch (func[3]) { - case 'n': return 'operator new()'; - case 'd': return 'operator delete()'; - } - parsed = parse(); - } catch(e) { - parsed += '?'; - } - if (parsed.indexOf('?') >= 0 && !hasLibcxxabi) { - Runtime.warnOnce('warning: a problem occurred in builtin C++ name demangling; build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling'); - } - return parsed; -} - -function demangleAll(text) { - return text.replace(/__Z[\w\d_]+/g, function(x) { var y = demangle(x); return x === y ? x : (x + ' [' + y + ']') }); -} - -function jsStackTrace() { - var err = new Error(); - if (!err.stack) { - // IE10+ special cases: It does have callstack info, but it is only populated if an Error object is thrown, - // so try that as a special-case. - try { - throw new Error(0); - } catch(e) { - err = e; - } - if (!err.stack) { - return '(no stack trace available)'; - } - } - return err.stack.toString(); -} - -function stackTrace() { - return demangleAll(jsStackTrace()); -} -Module["stackTrace"] = stackTrace; - -// Memory management - -var PAGE_SIZE = 4096; - -function alignMemoryPage(x) { - if (x % 4096 > 0) { - x += (4096 - (x % 4096)); - } - return x; -} - -var HEAP; -var HEAP8, HEAPU8, HEAP16, HEAPU16, HEAP32, HEAPU32, HEAPF32, HEAPF64; - -var STATIC_BASE = 0, STATICTOP = 0, staticSealed = false; // static area -var STACK_BASE = 0, STACKTOP = 0, STACK_MAX = 0; // stack area -var DYNAMIC_BASE = 0, DYNAMICTOP = 0; // dynamic area handled by sbrk - - - -function enlargeMemory() { - // TOTAL_MEMORY is the current size of the actual array, and DYNAMICTOP is the new top. - - var OLD_TOTAL_MEMORY = TOTAL_MEMORY; - - - var LIMIT = Math.pow(2, 31); // 2GB is a practical maximum, as we use signed ints as pointers - // and JS engines seem unhappy to give us 2GB arrays currently - if (DYNAMICTOP >= LIMIT) return false; - - while (TOTAL_MEMORY <= DYNAMICTOP) { // Simple heuristic. - if (TOTAL_MEMORY < LIMIT/2) { - TOTAL_MEMORY = alignMemoryPage(2*TOTAL_MEMORY); // double until 1GB - } else { - var last = TOTAL_MEMORY; - TOTAL_MEMORY = alignMemoryPage((3*TOTAL_MEMORY + LIMIT)/4); // add smaller increments towards 2GB, which we cannot reach - if (TOTAL_MEMORY <= last) return false; - } - } - - TOTAL_MEMORY = Math.max(TOTAL_MEMORY, 16*1024*1024); - - if (TOTAL_MEMORY >= LIMIT) return false; - - - - - try { - if (ArrayBuffer.transfer) { - buffer = ArrayBuffer.transfer(buffer, TOTAL_MEMORY); - } else { - var oldHEAP8 = HEAP8; - buffer = new ArrayBuffer(TOTAL_MEMORY); - } - } catch(e) { - return false; - } - - var success = _emscripten_replace_memory(buffer); - if (!success) return false; - - // everything worked - - Module['buffer'] = buffer; - Module['HEAP8'] = HEAP8 = new Int8Array(buffer); - Module['HEAP16'] = HEAP16 = new Int16Array(buffer); - Module['HEAP32'] = HEAP32 = new Int32Array(buffer); - Module['HEAPU8'] = HEAPU8 = new Uint8Array(buffer); - Module['HEAPU16'] = HEAPU16 = new Uint16Array(buffer); - Module['HEAPU32'] = HEAPU32 = new Uint32Array(buffer); - Module['HEAPF32'] = HEAPF32 = new Float32Array(buffer); - Module['HEAPF64'] = HEAPF64 = new Float64Array(buffer); - if (!ArrayBuffer.transfer) { - HEAP8.set(oldHEAP8); - } - - - return true; -} - -var byteLength; -try { - byteLength = Function.prototype.call.bind(Object.getOwnPropertyDescriptor(ArrayBuffer.prototype, 'byteLength').get); - byteLength(new ArrayBuffer(4)); // can fail on older ie -} catch(e) { // can fail on older node/v8 - byteLength = function(buffer) { return buffer.byteLength; }; -} - -var TOTAL_STACK = Module['TOTAL_STACK'] || 5242880; -var TOTAL_MEMORY = Module['TOTAL_MEMORY'] || 16777216; - -var totalMemory = 64*1024; -while (totalMemory < TOTAL_MEMORY || totalMemory < 2*TOTAL_STACK) { - if (totalMemory < 16*1024*1024) { - totalMemory *= 2; - } else { - totalMemory += 16*1024*1024 - } -} -totalMemory = Math.max(totalMemory, 16*1024*1024); -if (totalMemory !== TOTAL_MEMORY) { - TOTAL_MEMORY = totalMemory; -} - -// Initialize the runtime's memory -// check for full engine support (use string 'subarray' to avoid closure compiler confusion) -assert(typeof Int32Array !== 'undefined' && typeof Float64Array !== 'undefined' && !!(new Int32Array(1)['subarray']) && !!(new Int32Array(1)['set']), - 'JS engine does not provide full typed array support'); - -var buffer; - - - -buffer = new ArrayBuffer(TOTAL_MEMORY); -HEAP8 = new Int8Array(buffer); -HEAP16 = new Int16Array(buffer); -HEAP32 = new Int32Array(buffer); -HEAPU8 = new Uint8Array(buffer); -HEAPU16 = new Uint16Array(buffer); -HEAPU32 = new Uint32Array(buffer); -HEAPF32 = new Float32Array(buffer); -HEAPF64 = new Float64Array(buffer); - - -// Endianness check (note: assumes compiler arch was little-endian) -HEAP32[0] = 255; -assert(HEAPU8[0] === 255 && HEAPU8[3] === 0, 'Typed arrays 2 must be run on a little-endian system'); - -Module['HEAP'] = HEAP; -Module['buffer'] = buffer; -Module['HEAP8'] = HEAP8; -Module['HEAP16'] = HEAP16; -Module['HEAP32'] = HEAP32; -Module['HEAPU8'] = HEAPU8; -Module['HEAPU16'] = HEAPU16; -Module['HEAPU32'] = HEAPU32; -Module['HEAPF32'] = HEAPF32; -Module['HEAPF64'] = HEAPF64; - -function callRuntimeCallbacks(callbacks) { - while(callbacks.length > 0) { - var callback = callbacks.shift(); - if (typeof callback == 'function') { - callback(); - continue; - } - var func = callback.func; - if (typeof func === 'number') { - if (callback.arg === undefined) { - Runtime.dynCall('v', func); - } else { - Runtime.dynCall('vi', func, [callback.arg]); - } - } else { - func(callback.arg === undefined ? null : callback.arg); - } - } -} - -var __ATPRERUN__ = []; // functions called before the runtime is initialized -var __ATINIT__ = []; // functions called during startup -var __ATMAIN__ = []; // functions called when main() is to be run -var __ATEXIT__ = []; // functions called during shutdown -var __ATPOSTRUN__ = []; // functions called after the runtime has exited - -var runtimeInitialized = false; -var runtimeExited = false; - - -function preRun() { - // compatibility - merge in anything from Module['preRun'] at this time - if (Module['preRun']) { - if (typeof Module['preRun'] == 'function') Module['preRun'] = [Module['preRun']]; - while (Module['preRun'].length) { - addOnPreRun(Module['preRun'].shift()); - } - } - callRuntimeCallbacks(__ATPRERUN__); -} - -function ensureInitRuntime() { - if (runtimeInitialized) return; - runtimeInitialized = true; - callRuntimeCallbacks(__ATINIT__); -} - -function preMain() { - callRuntimeCallbacks(__ATMAIN__); -} - -function exitRuntime() { - callRuntimeCallbacks(__ATEXIT__); - runtimeExited = true; -} - -function postRun() { - // compatibility - merge in anything from Module['postRun'] at this time - if (Module['postRun']) { - if (typeof Module['postRun'] == 'function') Module['postRun'] = [Module['postRun']]; - while (Module['postRun'].length) { - addOnPostRun(Module['postRun'].shift()); - } - } - callRuntimeCallbacks(__ATPOSTRUN__); -} - -function addOnPreRun(cb) { - __ATPRERUN__.unshift(cb); -} -Module["addOnPreRun"] = addOnPreRun; - -function addOnInit(cb) { - __ATINIT__.unshift(cb); -} -Module["addOnInit"] = addOnInit; - -function addOnPreMain(cb) { - __ATMAIN__.unshift(cb); -} -Module["addOnPreMain"] = addOnPreMain; - -function addOnExit(cb) { - __ATEXIT__.unshift(cb); -} -Module["addOnExit"] = addOnExit; - -function addOnPostRun(cb) { - __ATPOSTRUN__.unshift(cb); -} -Module["addOnPostRun"] = addOnPostRun; - -// Tools - - -function intArrayFromString(stringy, dontAddNull, length /* optional */) { - var len = length > 0 ? length : lengthBytesUTF8(stringy)+1; - var u8array = new Array(len); - var numBytesWritten = stringToUTF8Array(stringy, u8array, 0, u8array.length); - if (dontAddNull) u8array.length = numBytesWritten; - return u8array; -} -Module["intArrayFromString"] = intArrayFromString; - -function intArrayToString(array) { - var ret = []; - for (var i = 0; i < array.length; i++) { - var chr = array[i]; - if (chr > 0xFF) { - chr &= 0xFF; - } - ret.push(String.fromCharCode(chr)); - } - return ret.join(''); -} -Module["intArrayToString"] = intArrayToString; - -function writeStringToMemory(string, buffer, dontAddNull) { - var array = intArrayFromString(string, dontAddNull); - var i = 0; - while (i < array.length) { - var chr = array[i]; - HEAP8[(((buffer)+(i))>>0)]=chr; - i = i + 1; - } -} -Module["writeStringToMemory"] = writeStringToMemory; - -function writeArrayToMemory(array, buffer) { - for (var i = 0; i < array.length; i++) { - HEAP8[((buffer++)>>0)]=array[i]; - } -} -Module["writeArrayToMemory"] = writeArrayToMemory; - -function writeAsciiToMemory(str, buffer, dontAddNull) { - for (var i = 0; i < str.length; ++i) { - HEAP8[((buffer++)>>0)]=str.charCodeAt(i); - } - // Null-terminate the pointer to the HEAP. - if (!dontAddNull) HEAP8[((buffer)>>0)]=0; -} -Module["writeAsciiToMemory"] = writeAsciiToMemory; - -function unSign(value, bits, ignore) { - if (value >= 0) { - return value; - } - return bits <= 32 ? 2*Math.abs(1 << (bits-1)) + value // Need some trickery, since if bits == 32, we are right at the limit of the bits JS uses in bitshifts - : Math.pow(2, bits) + value; -} -function reSign(value, bits, ignore) { - if (value <= 0) { - return value; - } - var half = bits <= 32 ? Math.abs(1 << (bits-1)) // abs is needed if bits == 32 - : Math.pow(2, bits-1); - if (value >= half && (bits <= 32 || value > half)) { // for huge values, we can hit the precision limit and always get true here. so don't do that - // but, in general there is no perfect solution here. With 64-bit ints, we get rounding and errors - // TODO: In i64 mode 1, resign the two parts separately and safely - value = -2*half + value; // Cannot bitshift half, as it may be at the limit of the bits JS uses in bitshifts - } - return value; -} - - -// check for imul support, and also for correctness ( https://bugs.webkit.org/show_bug.cgi?id=126345 ) -if (!Math['imul'] || Math['imul'](0xffffffff, 5) !== -5) Math['imul'] = function imul(a, b) { - var ah = a >>> 16; - var al = a & 0xffff; - var bh = b >>> 16; - var bl = b & 0xffff; - return (al*bl + ((ah*bl + al*bh) << 16))|0; -}; -Math.imul = Math['imul']; - - -if (!Math['clz32']) Math['clz32'] = function(x) { - x = x >>> 0; - for (var i = 0; i < 32; i++) { - if (x & (1 << (31 - i))) return i; - } - return 32; -}; -Math.clz32 = Math['clz32'] - -var Math_abs = Math.abs; -var Math_cos = Math.cos; -var Math_sin = Math.sin; -var Math_tan = Math.tan; -var Math_acos = Math.acos; -var Math_asin = Math.asin; -var Math_atan = Math.atan; -var Math_atan2 = Math.atan2; -var Math_exp = Math.exp; -var Math_log = Math.log; -var Math_sqrt = Math.sqrt; -var Math_ceil = Math.ceil; -var Math_floor = Math.floor; -var Math_pow = Math.pow; -var Math_imul = Math.imul; -var Math_fround = Math.fround; -var Math_min = Math.min; -var Math_clz32 = Math.clz32; - -// A counter of dependencies for calling run(). If we need to -// do asynchronous work before running, increment this and -// decrement it. Incrementing must happen in a place like -// PRE_RUN_ADDITIONS (used by emcc to add file preloading). -// Note that you can add dependencies in preRun, even though -// it happens right before run - run will be postponed until -// the dependencies are met. -var runDependencies = 0; -var runDependencyWatcher = null; -var dependenciesFulfilled = null; // overridden to take different actions when all run dependencies are fulfilled - -function getUniqueRunDependency(id) { - return id; -} - -function addRunDependency(id) { - runDependencies++; - if (Module['monitorRunDependencies']) { - Module['monitorRunDependencies'](runDependencies); - } -} -Module["addRunDependency"] = addRunDependency; - -function removeRunDependency(id) { - runDependencies--; - if (Module['monitorRunDependencies']) { - Module['monitorRunDependencies'](runDependencies); - } - if (runDependencies == 0) { - if (runDependencyWatcher !== null) { - clearInterval(runDependencyWatcher); - runDependencyWatcher = null; - } - if (dependenciesFulfilled) { - var callback = dependenciesFulfilled; - dependenciesFulfilled = null; - callback(); // can add another dependenciesFulfilled - } - } -} -Module["removeRunDependency"] = removeRunDependency; - -Module["preloadedImages"] = {}; // maps url to image data -Module["preloadedAudios"] = {}; // maps url to audio data - - - -var memoryInitializer = null; - - - -// === Body === - -var ASM_CONSTS = [function($0, $1) { { Module.printErr('bad name in getProcAddress: ' + [Pointer_stringify($0), Pointer_stringify($1)]); } }]; - -function _emscripten_asm_const_2(code, a0, a1) { - return ASM_CONSTS[code](a0, a1); -} - - - -STATIC_BASE = 8; - -STATICTOP = STATIC_BASE + 30528; - /* global initializers */ __ATINIT__.push(); - - -/* memory initializer */ allocate([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,16,0,0,0,16,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,128,63,0,0,128,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,60,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE); -/* memory initializer */ allocate([128,191,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,32,0,0,176,1,0,0,0,0,0,0,0,0,0,32,37,249,142,0,10,2,0,0,128,190,125,95,244,125,31,160,242,43,74,30,9,82,8,0,64,34,65,80,20,4,16,32,32,41,46,18,8,34,8,0,32,34,65,80,20,4,16,32,32,249,16,76,8,250,62,60,16,34,125,222,247,125,16,32,32,161,232,50,8,34,8,0,8,34,5,16,4,69,16,0,240,163,164,50,8,82,8,0,4,34,5,16,4,69,16,32,32,249,226,94,8,2,0,129,2,62,125,31,244,125,16,0,0,32,0,0,176,1,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,190,15,0,192,15,224,247,251,125,126,191,95,232,190,80,0,162,8,8,68,232,47,20,10,133,2,129,80,72,160,80,0,162,40,228,73,40,40,20,10,132,2,129,64,72,160,72,0,190,15,2,16,175,235,247,9,132,62,159,216,79,160,71,0,34,136,228,9,161,42,20,10,132,2,129,80,72,160,72,0,34,40,8,4,160,47,20,10,133,2,129,80,72,162,80,0,190,143,0,0,33,32,244,251,125,126,129,95,232,156,208,7,0,128,0,0,224,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,1,12,0,130,66,191,223,239,247,251,11,5,5,133,66,191,4,72,0,198,66,161,80,40,20,64,8,5,37,133,66,160,8,168,0,170,70,161,80,40,20,64,8,5,37,133,66,144,16,8,0,146,74,161,95,232,247,67,8,5,37,121,126,136,32,8,0,130,82,161,64,40,1,66,8,137,36,133,64,132,64,8,0,130,98,161,64,42,2,66,8,81,36,133,64,130,128,8,0,130,66,191,192,47,244,67,248,33,252,133,126,191,0,9,62,0,0,0,0,4,0,0,0,0,0,0,0,128,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,0,4,0,32,72,65,0,0,0,0,0,8,0,0,4,4,0,4,60,32,0,65,0,0,0,0,0,8,0,0,240,125,223,247,133,239,75,81,190,239,251,190,239,59,81,4,0,69,65,20,133,40,74,73,170,40,138,162,32,8,81,4,240,69,65,244,157,40,74,71,170,40,138,162,224,11,81,4,16,69,65,20,132,40,74,73,170,40,138,162,0,10,145,2,240,125,223,247,133,47,74,209,170,232,251,190,224,123,31,1,0,0,0,0,4,8,64,0,0,0,8,32,0,0,0,0,0,0,0,0,132,15,96,0,0,0,8,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,172,1,15,0,0,0,0,0,0,0,0,0,0,0,0,0,36,1,9,0,0,0,0,0,0,0,0,0,6,0,0,0,36,1,9,0,0,0,0,0,0,0,128,16,9,162,40,250,36,1,9,0,0,0,0,0,0,0,0,62,1,42,37,66,34,82,9,0,0,0,0,0,0,0,128,138,3,42,34,34,36,41,9,0,0,0,0,0,0,0,128,10,1,42,37,18,36,1,9,0,0,0,0,0,0,0,128,10,1,190,232,251,36,1,9,0,0,0,0,0,0,0,128,190,14,0,0,2,172,1,15,0,0,0,0,0,0,0,128,4,0,0,224,3,0,0,0,0,0,0,0,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,0,0,0,14,184,67,132,3,58,32,0,128,160,190,2,32,0,0,240,138,32,82,196,2,43,32,4,34,145,2,248,59,0,240,7,142,56,75,228,2,58,32,2,28,138,30,8,42,233,17,4,224,11,66,244,2,130,36,1,20,4,20,232,186,4,209,5,128,184,195,231,10,58,137,0,28,14,60,40,2,9,80,4,128,0,64,196,2,128,68,0,34,132,32,232,2,0,80,4,0,0,64,128,2,0,32,5,0,142,62,8,2,0,16,4,224,3,64,128,66,0,0,7,0,132,0,248,3,0,240,7,0,0,64,128,34,0,0,4,0,0,0,0,0,0,0,0,0,0,64,128,2,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,128,0,194,160,72,24,0,0,1,132,33,9,146,2,66,38,4,1,33,81,0,0,127,63,2,66,2,16,41,0,34,20,192,239,247,251,253,126,9,161,223,239,247,187,187,3,18,15,68,40,20,10,133,66,9,129,64,32,16,16,17,1,8,4,68,40,20,10,133,66,127,129,64,32,16,16,17,1,4,130,199,239,247,251,253,126,9,129,207,231,243,17,17,1,50,169,80,40,20,10,133,66,9,161,64,32,16,16,17,1,64,184,80,40,20,10,133,66,121,191,223,239,247,187,187,3,32,160,31,0,0,0,0,0,0,16,0,0,0,0,0,0,112,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,2,8,131,34,1,0,2,8,67,2,1,0,1,1,124,20,4,132,68,1,0,32,4,132,4,128,8,63,130,0,132,66,191,223,239,247,3,126,161,80,40,20,10,33,0,0,132,70,161,80,40,20,138,82,161,80,40,20,122,161,239,3,158,74,161,80,40,20,82,82,161,80,40,20,74,31,8,2,132,82,161,80,40,20,34,74,161,80,40,244,75,161,239,3,132,98,161,80,40,20,82,74,161,80,40,4,122,161,40,2,124,66,191,223,239,247,139,126,191,223,239,247,11,189,239,3,0,0,0,0,0,0,0,4,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,5,32,0,0,4,132,0,34,129,69,17,16,66,1,0,148,66,81,0,0,8,66,81,148,42,162,32,8,165,80,0,0,0,32,0,0,0,0,0,0,0,5,0,0,0,0,8,190,239,251,254,251,190,239,251,20,145,235,251,190,239,251,0,32,8,130,32,10,162,40,138,20,145,40,138,162,40,138,62,190,239,251,254,11,190,239,251,20,145,40,138,162,40,138,0,162,40,138,34,8,130,32,8,20,145,40,138,162,40,138,8,190,239,251,254,251,190,239,251,20,145,47,250,190,239,251,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,33,0,4,0,0,0,0,0,0,0,0,0,0,0,0,130,80,20,2,20,0,0,0,0,0,0,0,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,190,40,138,162,40,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,168,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,190,239,251,190,47,62,0,0,0,0,0,0,0,0,0,0,4,0,0,0,40,32,0,0,0,0,0,0,0,0,0,0,0,0,0,128,15,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,1,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,2,0,0,0,7,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,2,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,7,0,0,0,1,0,0,0,5,0,0,0,3,0,0,0,7,0,0,0,3,0,0,0,5,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,5,0,0,0,6,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,9,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,79,103,103,83], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+2222); -/* memory initializer */ allocate([1,0,0,128,0,0,0,86,0,0,0,64,0,0,0,62,180,228,51,9,145,243,51,139,178,1,52,60,32,10,52,35,26,19,52,96,169,28,52,167,215,38,52,75,175,49,52,80,59,61,52,112,135,73,52,35,160,86,52,184,146,100,52,85,109,115,52,136,159,129,52,252,11,138,52,147,4,147,52,105,146,156,52,50,191,166,52,63,149,177,52,147,31,189,52,228,105,201,52,173,128,214,52,54,113,228,52,166,73,243,52,136,140,1,53,192,247,9,53,6,239,18,53,118,123,28,53,192,166,38,53,55,123,49,53,218,3,61,53,94,76,73,53,59,97,86,53,185,79,100,53,252,37,115,53,138,121,129,53,134,227,137,53,124,217,146,53,133,100,156,53,82,142,166,53,51,97,177,53,37,232,188,53,220,46,201,53,206,65,214,53,65,46,228,53,87,2,243,53,143,102,1,54,79,207,9,54,245,195,18,54,152,77,28,54,232,117,38,54,50,71,49,54,116,204,60,54,94,17,73,54,101,34,86,54,206,12,100,54,184,222,114,54,151,83,129,54,28,187,137,54,114,174,146,54,175,54,156,54,129,93,166,54,53,45,177,54,199,176,188,54,228,243,200,54,1,3,214,54,96,235,227,54,30,187,242,54,162,64,1,55,235,166,9,55,241,152,18,55,201,31,28,55,30,69,38,55,61,19,49,55,30,149,60,55,111,214,72,55,162,227,85,55,247,201,99,55,137,151,114,55,175,45,129,55,190,146,137,55,116,131,146,55,230,8,156,55,190,44,166,55,71,249,176,55,121,121,188,55,254,184,200,55,71,196,213,55,146,168,227,55,248,115,242,55,192,26,1,56,147,126,9,56,249,109,18,56,6,242,27,56,98,20,38,56,86,223,48,56,216,93,60,56,146,155,72,56,242,164,85,56,51,135,99,56,110,80,114,56,211,7,129,56,107,106,137,56,130,88,146,56,42,219,155,56,9,252,165,56,104,197,176,56,59,66,188,56,41,126,200,56,160,133,213,56,217,101,227,56,232,44,242,56,233,244,0,57,70,86,9,57,14,67,18,57,81,196,27,57,181,227,37,57,127,171,48,57,162,38,60,57,197,96,72,57,83,102,85,57,131,68,99,57,104,9,114,57,1,226,128,57,36,66,137,57,157,45,146,57,123,173,155,57,99,203,165,57,153,145,176,57,13,11,188,57,102,67,200,57,11,71,213,57,50,35,227,57,237,229,241,57,29,207,0,58,5,46,9,58,48,24,18,58,169,150,27,58,21,179,37,58,183,119,48,58,124,239,59,58,10,38,72,58,199,39,85,58,230,1,99,58,120,194,113,58,59,188,128,58,233,25,137,58,198,2,146,58,219,127,155,58,203,154,165,58,216,93,176,58,239,211,187,58,179,8,200,58,136,8,213,58,159,224,226,58,7,159,241,58,92,169,0,59,208,5,9,59,94,237,17,59,15,105,27,59,132,130,37,59,253,67,48,59,103,184,59,59,97,235,71,59,77,233,84,59,93,191,98,59,156,123,113,59,127,150,128,59,186,241,136,59,249,215,145,59,71,82,155,59,65,106,165,59,39,42,176,59,226,156,187,59,18,206,199,59,23,202,212,59,32,158,226,59,53,88,241,59,166,131,0,60,167,221,8,60,152,194,17,60,130,59,27,60,1,82,37,60,84,16,48,60,97,129,59,60,200,176,71,60,229,170,84,60,232,124,98,60,212,52,113,60,207,112,128,60,150,201,136,60,58,173,145,60,192,36,155,60,197,57,165,60,133,246,175,60,229,101,187,60,130,147,199,60,185,139,212,60,180,91,226,60,121,17,241,60,251,93,0,61,137,181,8,61,223,151,17,61,2,14,27,61,141,33,37,61,185,220,47,61,109,74,59,61,64,118,71,61,145,108,84,61,133,58,98,61,34,238,112,61,42,75,128,61,127,161,136,61,136,130,145,61,72,247,154,61,88,9,165,61,242,194,175,61,248,46,187,61,3,89,199,61,109,77,212,61,92,25,226,61,209,202,240,61,91,56,0,62,119,141,8,62,51,109,17,62,144,224,26,62,39,241,36,62,46,169,47,62,135,19,59,62,202,59,71,62,77,46,84,62,55,248,97,62,132,167,112,62,143,37,128,62,115,121,136,62,226,87,145,62,220,201,154,62,249,216,164,62,109,143,175,62,27,248,186,62,149,30,199,62,51,15,212,62,23,215,225,62,61,132,240,62,198,18,0,63,114,101,8,63,147,66,17,63,43,179,26,63,206,192,36,63,177,117,47,63,178,220,58,63,101,1,71,63,29,240,83,63,251,181,97,63,251,96,112,63,0,0,128,63,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,13,0,0,0,15,0,0,0,17,0,0,0,19,0,0,0,23,0,0,0,27,0,0,0,31,0,0,0,35,0,0,0,43,0,0,0,51,0,0,0,59,0,0,0,67,0,0,0,83,0,0,0,99,0,0,0,115,0,0,0,131,0,0,0,163,0,0,0,195,0,0,0,227,0,0,0,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,7,0,0,0,9,0,0,0,13,0,0,0,17,0,0,0,25,0,0,0,33,0,0,0,49,0,0,0,65,0,0,0,97,0,0,0,129,0,0,0,193,0,0,0,1,1,0,0,129,1,0,0,1,2,0,0,1,3,0,0,1,4,0,0,1,6,0,0,1,8,0,0,1,12,0,0,1,16,0,0,1,24,0,0,1,32,0,0,1,48,0,0,1,64,0,0,1,96,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,9,0,0,0,9,0,0,0,10,0,0,0,10,0,0,0,11,0,0,0,11,0,0,0,12,0,0,0,12,0,0,0,13,0,0,0,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,3,0,0,0,7,0,0,0,15,0,0,0,31,0,0,0,63,0,0,0,127,0,0,0,255,0,0,0,255,1,0,0,255,3,0,0,255,7,0,0,255,15,0,0,255,31,0,0,255,63,0,0,255,127,0,0,255,255,0,0,0,0,0,0,255,255,255,255,253,255,255,255,249,255,255,255,241,255,255,255,225,255,255,255,193,255,255,255,129,255,255,255,1,255,255,255,1,254,255,255,1,252,255,255,1,248,255,255,1,240,255,255,1,224,255,255,1,192,255,255,1,128,255,255,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,192,3,0,0,192,4,0,0,192,5,0,0,192,6,0,0,192,7,0,0,192,8,0,0,192,9,0,0,192,10,0,0,192,11,0,0,192,12,0,0,192,13,0,0,192,14,0,0,192,15,0,0,192,16,0,0,192,17,0,0,192,18,0,0,192,19,0,0,192,20,0,0,192,21,0,0,192,22,0,0,192,23,0,0,192,24,0,0,192,25,0,0,192,26,0,0,192,27,0,0,192,28,0,0,192,29,0,0,192,30,0,0,192,31,0,0,192,0,0,0,179,1,0,0,195,2,0,0,195,3,0,0,195,4,0,0,195,5,0,0,195,6,0,0,195,7,0,0,195,8,0,0,195,9,0,0,195,10,0,0,195,11,0,0,195,12,0,0,195,13,0,0,211,14,0,0,195,15,0,0,195,0,0,12,187,1,0,12,195,2,0,12,195,3,0,12,195,4,0,12,211,248,34,0,0,248,34,0,0,0,0,0,0,10,0,0,0,100,0,0,0,232,3,0,0,16,39,0,0,160,134,1,0,64,66,15,0,128,150,152,0,0,225,245,5,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,37,113,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65,32,115,105,109,112,108,101,32,97,110,100,32,101,97,115,121,45,116,111,45,117,115,101,32,108,105,98,114,97,114,121,10,116,111,32,108,101,97,114,110,32,118,105,100,101,111,103,97,109,101,115,32,112,114,111,103,114,97,109,109,105,110,103,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,35,105,110,99,108,117,100,101,32,34,114,97,121,108,105,98,46,104,34,10,10,105,110,116,32,109,97,105,110,40,41,10,123,10,32,32,32,32,73,110,105,116,87,105,110,100,111,119,40,56,48,48,44,32,52,53,48,44,32,34,104,101,108,108,111,34,41,59,10,10,32,32,32,32,119,104,105,108,101,32,40,33,87,105,110,100,111,119,83,104,111,117,108,100,67,108,111,115,101,40,41,41,10,32,32,32,32,123,10,32,32,32,32,32,32,32,32,66,101,103,105,110,68,114,97,119,105,110,103,40,41,59,10,10,32,32,32,32,32,32,32,32,32,32,32,32,67,108,101,97,114,66,97,99,107,103,114,111,117,110,100,40,82,65,89,87,72,73,84,69,41,59,10,10,32,32,32,32,32,32,32,32,32,32,32,32,68,114,97,119,84,101,120,116,40,34,104,101,108,108,111,32,114,97,121,108,105,98,33,34,44,32,49,57,48,44,32,50,48,48,44,32,52,48,44,32,82,69,68,41,59,10,10,32,32,32,32,32,32,32,32,69,110,100,68,114,97,119,105,110,103,40,41,59,10,32,32,32,32,125,10,32,32,32,32,67,108,111,115,101,87,105,110,100,111,119,40,41,59,10,125,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,114,97,121,108,105,98,32,90,69,82,79,85,78,79,0,114,101,115,111,117,114,99,101,115,47,99,111,117,114,105,101,114,46,112,110,103,0,114,101,115,111,117,114,99,101,115,47,114,97,121,108,105,98,95,112,108,97,116,102,111,114,109,115,46,112,110,103,0,114,101,115,111,117,114,99,101,115,47,112,97,114,114,111,116,95,104,101,97,100,46,112,110,103,0,114,101,115,111,117,114,99,101,115,47,100,119,97,114,102,46,111,98,106,0,114,101,115,111,117,114,99,101,115,47,100,119,97,114,102,95,100,105,102,102,117,115,101,46,112,110,103,0,114,101,115,111,117,114,99,101,115,47,101,120,97,109,112,108,101,48,49,46,112,110,103,0,114,101,115,111,117,114,99,101,115,47,101,120,97,109,112,108,101,48,50,46,112,110,103,0,114,101,115,111,117,114,99,101,115,47,101,120,97,109,112,108,101,48,51,46,112,110,103,0,114,101,115,111,117,114,99,101,115,47,101,120,97,109,112,108,101,48,52,46,112,110,103,0,114,101,115,111,117,114,99,101,115,47,101,120,97,109,112,108,101,48,53,46,112,110,103,0,114,101,115,111,117,114,99,101,115,47,115,97,109,112,108,101,48,49,46,112,110,103,0,114,101,115,111,117,114,99,101,115,47,115,97,109,112,108,101,48,50,46,112,110,103,0,114,101,115,111,117,114,99,101,115,47,115,97,109,112,108,101,48,51,46,112,110,103,0,114,101,115,111,117,114,99,101,115,47,115,97,109,112,108,101,48,52,46,112,110,103,0,114,101,115,111,117,114,99,101,115,47,115,97,109,112,108,101,48,53,46,112,110,103,0,114,101,115,111,117,114,99,101,115,47,98,117,100,100,121,46,111,103,103,0,80,114,101,115,115,32,69,78,84,69,82,32,116,111,32,80,76,65,89,0,114,97,121,108,105,98,0,112,108,97,105,110,32,67,32,112,114,111,103,114,97,109,109,105,110,103,33,0,104,101,108,108,111,32,114,97,121,108,105,98,33,0,109,117,108,116,105,112,108,97,116,102,111,114,109,33,0,109,97,107,101,32,50,68,32,103,97,109,101,115,33,0,79,77,71,33,0,97,110,100,32,97,108,115,111,32,51,68,32,103,97,109,101,115,33,0,108,111,116,115,32,111,102,32,99,111,100,101,32,101,120,97,109,112,108,101,115,33,0,65,77,65,90,73,78,71,33,0,97,110,100,32,97,108,115,111,32,99,111,109,112,108,101,116,101,32,103,97,109,101,115,33,0,65,87,69,83,79,77,69,33,0,73,110,105,116,105,97,108,105,122,105,110,103,32,114,97,121,108,105,98,32,40,118,49,46,52,46,48,41,0,35,99,97,110,118,97,115,0,84,97,114,103,101,116,32,116,105,109,101,32,112,101,114,32,102,114,97,109,101,58,32,37,48,50,46,48,51,102,32,109,105,108,108,105,115,101,99,111,110,100,115,0,87,105,110,100,111,119,32,99,108,111,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+6841); -/* memory initializer */ allocate([83,116,97,99,107,32,66,117,102,102,101,114,32,79,118,101,114,102,108,111,119,32,40,77,65,88,32,37,105,32,77,97,116,114,105,120,41,0,77,65,88,95,76,73,78,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,84,82,73,65,78,71,76,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,81,85,65,68,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,71,80,85,58,32,86,101,110,100,111,114,58,32,32,32,37,115,0,71,80,85,58,32,82,101,110,100,101,114,101,114,58,32,37,115,0,71,80,85,58,32,86,101,114,115,105,111,110,58,32,32,37,115,0,71,80,85,58,32,71,76,83,76,58,32,32,32,32,32,37,115,0,32,0,78,117,109,98,101,114,32,111,102,32,115,117,112,112,111,114,116,101,100,32,101,120,116,101,110,115,105,111,110,115,58,32,37,105,0,71,76,95,79,69,83,95,118,101,114,116,101,120,95,97,114,114,97,121,95,111,98,106,101,99,116,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,79,69,83,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,71,76,95,79,69,83,95,116,101,120,116,117,114,101,95,110,112,111,116,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,115,51,116,99,0,71,76,95,87,69,66,75,73,84,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,79,69,83,95,99,111,109,112,114,101,115,115,101,100,95,69,84,67,49,95,82,71,66,56,95,116,101,120,116,117,114,101,0,71,76,95,65,82,66,95,69,83,51,95,99,111,109,112,97,116,105,98,105,108,105,116,121,0,71,76,95,73,77,71,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,112,118,114,116,99,0,71,76,95,75,72,82,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,97,115,116,99,95,104,100,114,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,86,65,79,32,102,117,110,99,116,105,111,110,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,86,65,79,32,117,115,97,103,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,102,117,108,108,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,108,105,109,105,116,101,100,32,78,80,79,84,32,115,117,112,112,111,114,116,32,40,110,111,45,109,105,112,109,97,112,115,44,32,110,111,45,114,101,112,101,97,116,41,0,91,69,88,84,69,78,83,73,79,78,93,32,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,50,47,69,65,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,50,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,84,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,84,101,120,116,117,114,101,32,99,114,101,97,116,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,91,86,65,79,32,73,68,32,37,105,93,32,77,111,100,101,108,32,117,112,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,116,111,32,86,82,65,77,32,40,71,80,85,41,0,77,111,100,101,108,32,99,111,117,108,100,32,110,111,116,32,98,101,32,117,112,108,111,97,100,101,100,32,116,111,32,86,82,65,77,32,40,71,80,85,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,77,111,100,101,108,32,117,112,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,116,111,32,86,82,65,77,32,40,71,80,85,41,0,91,70,66,79,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,102,114,97,109,101,98,117,102,102,101,114,32,111,98,106,101,99,116,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,40,98,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,41,32,102,114,111,109,32,86,82,65,77,0,85,110,108,111,97,100,101,100,32,112,111,115,116,112,114,111,99,101,115,115,105,110,103,32,100,97,116,97,0,79,112,101,110,71,76,32,103,114,97,112,104,105,99,32,100,101,118,105,99,101,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,118,101,114,116,101,120,80,111,115,105,116,105,111,110,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,0,118,101,114,116,101,120,78,111,114,109,97,108,0,109,118,112,77,97,116,114,105,120,0,102,114,97,103,84,105,110,116,67,111,108,111,114,0,116,101,120,116,117,114,101,48,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,118,101,114,116,101,120,32,115,104,97,100,101,114,46,46,46,0,37,115,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,86,101,114,116,101,120,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,102,114,97,103,109,101,110,116,32,115,104,97,100,101,114,46,46,46,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,114,97,103,109,101,110,116,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,108,105,110,107,32,115,104,97,100,101,114,32,112,114,111,103,114,97,109,46,46,46,0,91,83,72,68,82,32,73,68,32,37,105,93,32,83,104,97,100,101,114,32,112,114,111,103,114,97,109,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,99,109,97,112,0,108,111,99,97,0,104,101,97,100,0,103,108,121,102,0,104,104,101,97,0,104,109,116,120,0,107,101,114,110,0,109,97,120,112,0,46,47,115,116,98,95,116,114,117,101,116,121,112,101,46,104,0,115,116,98,116,116,95,70,105,110,100,71,108,121,112,104,73,110,100,101,120,0,117,110,105,99,111,100,101,95,99,111,100,101,112,111,105,110,116,32,60,61,32,116,116,85,83,72,79,82,84,40,100,97,116,97,32,43,32,101,110,100,67,111,117,110,116,32,43,32,50,42,105,116,101,109,41,0,115,116,98,116,116,95,71,101,116,71,108,121,112,104,83,104,97,112,101,0,120,43,103,119,32,60,32,112,119,0,115,116,98,116,116,95,66,97,107,101,70,111,110,116,66,105,116,109,97,112,0,121,43,103,104,32,60,32,112,104,0,91,84,69,88,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,102,111,110,116,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,114,98,109,102,0,116,116,102,0,102,110,116,0,91,37,115,93,32,83,112,114,105,116,101,70,111,110,116,32,100,97,116,97,32,112,97,114,115,101,100,32,99,111,114,114,101,99,116,108,121,0,91,37,115,93,32,83,112,114,105,116,101,70,111,110,116,32,110,117,109,32,99,104,97,114,115,32,100,101,116,101,99,116,101,100,58,32,37,105,0,91,37,115,93,32,83,112,114,105,116,101,70,111,110,116,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,44,32,117,115,105,110,103,32,100,101,102,97,117,108,116,32,102,111,110,116,0,85,110,108,111,97,100,101,100,32,115,112,114,105,116,101,32,102,111,110,116,32,100,97,116,97,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,97,110,39,116,32,102,111,112,101,110,0,112,110,103,0,98,109,112,0,116,103,97,0,106,112,103,0,103,105,102,0,112,115,100,0,112,105,99,0,100,100,115,0,112,107,109,0,107,116,120,0,112,118,114,0,97,115,116,99,0,91,37,115,93,32,73,109,97,103,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,91,37,115,93,32,73,109,97,103,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,44,32,102,105,108,101,32,110,111,116,32,114,101,99,111,103,110,105,122,101,100,0,84,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,99,114,101,97,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,70,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,102,111,114,32,112,105,120,101,108,32,100,97,116,97,32,114,101,116,114,105,101,118,97,108,0,73,109,97,103,101,32,100,97,116,97,32,102,111,114,109,97,116,32,105,115,32,99,111,109,112,114,101,115,115,101,100,44,32,99,97,110,32,110,111,116,32,98,101,32,99,111,110,118,101,114,116,101,100,0,111,98,106,0,91,37,115,93,32,77,111,100,101,108,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,114,101,99,111,103,110,105,122,101,100,44,32,105,116,32,99,97,110,39,116,32,98,101,32,108,111,97,100,101,100,0,77,111,100,101,108,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,91,86,65,79,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,109,111,100,101,108,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,109,111,100,101,108,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,65,117,100,105,111,32,100,101,118,105,99,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,67,111,117,108,100,32,110,111,116,32,115,101,116,117,112,32,97,117,100,105,111,32,99,111,110,116,101,120,116,0,65,117,100,105,111,32,100,101,118,105,99,101,32,97,110,100,32,99,111,110,116,101,120,116,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,58,32,37,115,0,67,111,117,108,100,32,110,111,116,32,103,101,116,32,99,117,114,114,101,110,116,32,97,117,100,105,111,32,99,111,110,116,101,120,116,32,102,111,114,32,99,108,111,115,105,110,103,0,111,103,103,0,91,37,115,93,32,79,71,71,32,97,117,100,105,111,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,91,37,115,93,32,79,103,103,32,115,97,109,112,108,101,32,114,97,116,101,58,32,37,105,0,91,37,115,93,32,79,103,103,32,99,104,97,110,110,101,108,115,58,32,37,105,0,91,37,115,93,32,84,101,109,112,32,109,101,109,111,114,121,32,114,101,113,117,105,114,101,100,58,32,37,105,0,91,37,115,93,32,77,117,115,105,99,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,114,101,99,111,103,110,105,122,101,100,44,32,105,116,32,99,97,110,39,116,32,98,101,32,108,111,97,100,101,100,0,79,103,103,32,112,108,97,121,105,110,103,44,32,101,114,114,111,114,32,98,117,102,102,101,114,105,110,103,32,100,97,116,97,46,46,46,0,115,116,98,95,118,111,114,98,105,115,46,99,0,73,78,70,79,58,32,0,69,82,82,79,82,58,32,0,87,65,82,78,73,78,71,58,32,0,98,117,102,95,99,32,61,61,32,50,0,99,111,110,118,101,114,116,95,99,104,97,110,110,101,108,115,95,115,104,111,114,116,95,105,110,116,101,114,108,101,97,118,101,100,0,0,0,0,0,0,0,7,0,0,0,0,0,3,5,0,0,0,0,3,7,5,0,0,0,3,5,3,5,0,0,3,7,5,3,5,0,3,7,5,3,5,7,102,45,62,98,121,116,101,115,95,105,110,95,115,101,103,32,62,32,48,0,103,101,116,56,95,112,97,99,107,101,116,95,114,97,119,0,102,45,62,98,121,116,101,115,95,105,110,95,115,101,103,32,61,61,32,48,0,110,101,120,116,95,115,101,103,109,101,110,116,0,0,1,2,2,3,3,3,3,4,4,4,4,4,4,4,4,102,45,62,97,108,108,111,99,46,97,108,108,111,99,95,98,117,102,102,101,114,95,108,101,110,103,116,104,95,105,110,95,98,121,116,101,115,32,61,61,32,102,45,62,116,101,109,112,95,111,102,102,115,101,116,0,118,111,114,98,105,115,95,100,101,99,111,100,101,95,105,110,105,116,105,97,108,0,102,45,62,116,101,109,112,95,111,102,102,115,101,116,32,61,61,32,102,45,62,97,108,108,111,99,46,97,108,108,111,99,95,98,117,102,102,101,114,95,108,101,110,103,116,104,95,105,110,95,98,121,116,101,115,0,115,116,97,114,116,95,100,101,99,111,100,101,114,0,112,111,119,40,40,102,108,111,97,116,41,32,114,43,49,44,32,100,105,109,41,32,62,32,101,110,116,114,105,101,115,0,108,111,111,107,117,112,49,95,118,97,108,117,101,115,0,40,105,110,116,41,32,102,108,111,111,114,40,112,111,119,40,40,102,108,111,97,116,41,32,114,44,32,100,105,109,41,41,32,60,61,32,101,110,116,114,105,101,115,0,107,32,61,61,32,99,45,62,115,111,114,116,101,100,95,101,110,116,114,105,101,115,0,99,111,109,112,117,116,101,95,115,111,114,116,101,100,95,104,117,102,102,109,97,110,0,99,45,62,115,111,114,116,101,100,95,99,111,100,101,119,111,114,100,115,91,120,93,32,61,61,32,99,111,100,101,0,108,101,110,32,33,61,32,78,79,95,67,79,68,69,0,105,110,99,108,117,100,101,95,105,110,95,115,111,114,116,0,99,45,62,115,111,114,116,101,100,95,101,110,116,114,105,101,115,32,61,61,32,48,0,99,111,109,112,117,116,101,95,99,111,100,101,119,111,114,100,115,0,122,32,62,61,32,48,32,38,38,32,122,32,60,32,51,50,0,108,101,110,91,105,93,32,62,61,32,48,32,38,38,32,108,101,110,91,105,93,32,60,32,51,50,0,97,118,97,105,108,97,98,108,101,91,121,93,32,61,61,32,48,0,118,111,114,98,105,115,103,101,116,95,119,105,110,100,111,119,0,118,111,114,98,105,115,95,100,101,99,111,100,101,95,112,97,99,107,101,116,95,114,101,115,116,0,40,110,32,38,32,51,41,32,61,61,32,48,0,105,109,100,99,116,95,115,116,101,112,51,95,105,116,101,114,48,95,108,111,111,112,0,122,32,60,32,99,45,62,115,111,114,116,101,100,95,101,110,116,114,105,101,115,0,99,111,100,101,98,111,111,107,95,100,101,99,111,100,101,95,115,116,97,114,116,0,33,99,45,62,115,112,97,114,115,101,32,124,124,32,122,32,60,32,99,45,62,115,111,114,116,101,100,95,101,110,116,114,105,101,115,0,99,111,100,101,98,111,111,107,95,100,101,99,111,100,101,95,100,101,105,110,116,101,114,108,101,97,118,101,95,114,101,112,101,97,116,0,33,99,45,62,115,112,97,114,115,101,0,99,111,100,101,98,111,111,107,95,100,101,99,111,100,101,95,115,99,97,108,97,114,95,114,97,119,0,78,111,32,109,111,114,101,32,100,97,116,97,32,111,98,116,97,105,110,101,100,32,102,114,111,109,32,115,116,114,101,97,109,0,91,37,115,93,32,79,66,74,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,37,99,0,91,37,115,93,32,77,111,100,101,108,32,110,117,109,32,118,101,114,116,105,99,101,115,58,32,37,105,0,91,37,115,93,32,77,111,100,101,108,32,110,117,109,32,116,101,120,99,111,111,114,100,115,58,32,37,105,0,91,37,115,93,32,77,111,100,101,108,32,110,117,109,32,110,111,114,109,97,108,115,58,32,37,105,0,91,37,115,93,32,77,111,100,101,108,32,110,117,109,32,116,114,105,97,110,103,108,101,115,58,32,37,105,0,37,102,32,37,102,32,37,102,0,91,37,115,93,32,78,111,32,110,111,114,109,97,108,115,32,100,97,116,97,32,111,110,32,79,66,74,44,32,110,111,114,109,97,108,115,32,119,105,108,108,32,98,101,32,103,101,110,101,114,97,116,101,100,32,102,114,111,109,32,102,97,99,101,115,32,100,97,116,97,0,37,105,32,37,105,32,37,105,0,37,105,47,37,105,32,37,105,47,37,105,32,37,105,47,37,105,0,37,105,47,37,105,47,37,105,32,37,105,47,37,105,47,37,105,32,37,105,47,37,105,47,37,105,0,91,37,115,93,32,77,111,100,101,108,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,105,110,32,82,65,77,32,40,67,80,85,41,0,91,37,115,93,32,65,83,84,67,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,91,37,115,93,32,65,83,84,67,32,102,105,108,101,32,100,111,101,115,32,110,111,116,32,115,101,101,109,32,116,111,32,98,101,32,97,32,118,97,108,105,100,32,105,109,97,103,101,0,65,83,84,67,32,105,109,97,103,101,32,119,105,100,116,104,58,32,37,105,0,65,83,84,67,32,105,109,97,103,101,32,104,101,105,103,104,116,58,32,37,105,0,65,83,84,67,32,105,109,97,103,101,32,98,108,111,99,107,115,58,32,37,105,120,37,105,0,91,37,115,93,32,65,83,84,67,32,98,108,111,99,107,32,115,105,122,101,32,99,111,110,102,105,103,117,114,97,116,105,111,110,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,37,115,93,32,80,86,82,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,91,37,115,93,32,80,86,82,32,102,105,108,101,32,100,111,101,115,32,110,111,116,32,115,101,101,109,32,116,111,32,98,101,32,97,32,118,97,108,105,100,32,105,109,97,103,101,0,80,86,82,32,118,50,32,110,111,116,32,115,117,112,112,111,114,116,101,100,44,32,117,112,100,97,116,101,32,121,111,117,114,32,102,105,108,101,115,32,116,111,32,80,86,82,32,118,51,0,91,37,115,93,32,75,84,88,32,105,109,97,103,101,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,91,37,115,93,32,75,84,88,32,102,105,108,101,32,100,111,101,115,32,110,111,116,32,115,101,101,109,32,116,111,32,98,101,32,97,32,118,97,108,105,100,32,102,105,108,101,0,75,84,88,32,40,69,84,67,41,32,105,109,97,103,101,32,119,105,100,116,104,58,32,37,105,0,75,84,88,32,40,69,84,67,41,32,105,109,97,103,101,32,104,101,105,103,104,116,58,32,37,105,0,75,84,88,32,40,69,84,67,41,32,105,109,97,103,101,32,102,111,114,109,97,116,58,32,48,120,37,120,0,91,37,115,93,32,80,75,77,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,80,75,77,32,0,91,37,115,93,32,80,75,77,32,102,105,108,101,32,100,111,101,115,32,110,111,116,32,115,101,101,109,32,116,111,32,98,101,32,97,32,118,97,108,105,100,32,105,109,97,103,101,0,80,75,77,32,40,69,84,67,41,32,105,109,97,103,101,32,119,105,100,116,104,58,32,37,105,0,80,75,77,32,40,69,84,67,41,32,105,109,97,103,101,32,104,101,105,103,104,116,58,32,37,105,0,80,75,77,32,40,69,84,67,41,32,105,109,97,103,101,32,102,111,114,109,97,116,58,32,37,105,0,91,37,115,93,32,68,68,83,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,68,68,83,32,0,91,37,115,93,32,68,68,83,32,102,105,108,101,32,100,111,101,115,32,110,111,116,32,115,101,101,109,32,116,111,32,98,101,32,97,32,118,97,108,105,100,32,105,109,97,103,101,0,91,37,115,93,32,68,68,83,32,102,105,108,101,32,104,101,97,100,101,114,32,115,105,122,101,58,32,37,105,0,91,37,115,93,32,68,68,83,32,102,105,108,101,32,112,105,120,101,108,32,102,111,114,109,97,116,32,115,105,122,101,58,32,37,105,0,91,37,115,93,32,68,68,83,32,102,105,108,101,32,112,105,120,101,108,32,102,111,114,109,97,116,32,102,108,97,103,115,58,32,48,120,37,120,0,91,37,115,93,32,68,68,83,32,102,105,108,101,32,102,111,114,109,97,116,58,32,48,120,37,120,0,91,37,115,93,32,68,68,83,32,102,105,108,101,32,98,105,116,32,99,111,117,110,116,58,32,48,120,37,120,0,80,105,116,99,104,32,111,114,32,108,105,110,101,97,114,32,115,105,122,101,58,32,37,105,0,117,110,107,110,111,119,110,32,105,109,97,103,101,32,116,121,112,101,0,109,97,120,32,118,97,108,117,101,32,62,32,50,53,53,0,83,128,246,52,0,110,111,116,32,66,77,80,0,117,110,107,110,111,119,110,32,66,77,80,0,98,97,100,32,66,77,80,0,109,111,110,111,99,104,114,111,109,101,0,66,77,80,32,82,76,69,0,110,111,116,32,71,73,70,0,0,109,117,108,116,105,112,108,101,32,73,72,68,82,0,98,97,100,32,73,72,68,82,32,108,101,110,0,116,111,111,32,108,97,114,103,101,0,49,47,50,47,52,47,56,45,98,105,116,32,111,110,108,121,0,98,97,100,32,99,116,121,112,101,0,98,97,100,32,99,111,109,112,32,109,101,116,104,111,100,0,98,97,100,32,102,105,108,116,101,114,32,109,101,116,104,111,100,0,98,97,100,32,105,110,116,101,114,108,97,99,101,32,109,101,116,104,111,100,0,48,45,112,105,120,101,108,32,105,109,97,103,101,0,102,105,114,115,116,32,110,111,116,32,73,72,68,82,0,105,110,118,97,108,105,100,32,80,76,84,69,0,116,82,78,83,32,97,102,116,101,114,32,73,68,65,84,0,116,82,78,83,32,98,101,102,111,114,101,32,80,76,84,69,0,98,97,100,32,116,82,78,83,32,108,101,110,0,116,82,78,83,32,119,105,116,104,32,97,108,112,104,97,0,0,255,85,0,17,0,0,0,1,110,111,32,80,76,84,69,0,111,117,116,111,102,109,101,109,0,111,117,116,111,102,100,97,116,97,0,110,111,32,73,68,65,84,0,88,88,88,88,32,80,78,71,32,99,104,117,110,107,32,110,111,116,32,107,110,111,119,110,0,115,45,62,105,109,103,95,111,117,116,95,110,32,61,61,32,52,0,46,47,115,116,98,95,105,109,97,103,101,46,104,0,115,116,98,105,95,95,100,101,95,105,112,104,111,110,101,0,111,117,116,95,110,32,61,61,32,50,32,124,124,32,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,0,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,32,124,124,32,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,43,49,0,115,116,98,105,95,95,99,114,101,97,116,101,95,112,110,103,95,105,109,97,103,101,95,114,97,119,0,110,111,116,32,101,110,111,117,103,104,32,112,105,120,101,108,115,0,105,110,118,97,108,105,100,32,102,105,108,116,101,114,0,105,109,103,95,119,105,100,116,104,95,98,121,116,101,115,32,60,61,32,120,0,0,1,0,5,6,105,109,103,95,110,43,49,32,61,61,32,111,117,116,95,110,0,105,109,103,95,110,32,61,61,32,51,0,98,97,100,32,112,110,103,32,115,105,103,0,110,111,32,83,79,73,0,110,111,32,83,79,70,0,98,97,100,32,83,79,70,32,108,101,110,0,111,110,108,121,32,56,45,98,105,116,0,110,111,32,104,101,97,100,101,114,32,104,101,105,103,104,116,0,48,32,119,105,100,116,104,0,98,97,100,32,99,111,109,112,111,110,101,110,116,32,99,111,117,110,116,0,98,97,100,32,99,111,109,112,111,110,101,110,116,32,73,68,0,98,97,100,32,72,0,98,97,100,32,86,0,98,97,100,32,84,81,0,101,120,112,101,99,116,101,100,32,109,97,114,107,101,114,0,98,97,100,32,68,82,73,32,108,101,110,0,98,97,100,32,68,81,84,32,116,121,112,101,0,98,97,100,32,68,81,84,32,116,97,98,108,101,0,0,1,8,16,9,2,3,10,17,24,32,25,18,11,4,5,12,19,26,33,40,48,41,34,27,20,13,6,7,14,21,28,35,42,49,56,57,50,43,36,29,22,15,23,30,37,44,51,58,59,52,45,38,31,39,46,53,60,61,54,47,55,62,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,98,97,100,32,68,72,84,32,104,101,97,100,101,114,0,98,97,100,32,99,111,100,101,32,108,101,110,103,116,104,115,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,97,100,32,104,117,102,102,109,97,110,32,99,111,100,101,0,98,97,100,32,100,105,115,116,0,111,117,116,112,117,116,32,98,117,102,102,101,114,32,108,105,109,105,116,0,122,45,62,115,105,122,101,91,98,93,32,61,61,32,115,0,115,116,98,105,95,95,122,104,117,102,102,109,97,110,95,100,101,99,111,100,101,95,115,108,111,119,112,97,116,104,0,98,105,116,115,32,60,61,32,49,54,0,115,116,98,105,95,95,98,105,116,95,114,101,118,101,114,115,101,0,122,45,62,99,111,100,101,95,98,117,102,102,101,114,32,60,32,40,49,85,32,60,60,32,122,45,62,110,117,109,95,98,105,116,115,41,0,115,116,98,105,95,95,102,105,108,108,95,98,105,116,115,0,16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15,98,97,100,32,99,111,100,101,108,101,110,103,116,104,115,0,99,32,61,61,32,49,56,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,104,117,102,102,109,97,110,95,99,111,100,101,115,0,98,97,100,32,115,105,122,101,115,0,97,45,62,110,117,109,95,98,105,116,115,32,61,61,32,48,0,115,116,98,105,95,95,112,97,114,115,101,95,117,110,99,111,109,112,101,114,115,115,101,100,95,98,108,111,99,107,0,122,108,105,98,32,99,111,114,114,117,112,116,0,114,101,97,100,32,112,97,115,116,32,98,117,102,102,101,114,0,98,97,100,32,122,108,105,98,32,104,101,97,100,101,114,0,110,111,32,112,114,101,115,101,116,32,100,105,99,116,0,98,97,100,32,99,111,109,112,114,101,115,115,105,111,110,0,98,97,100,32,102,111,114,109,97,116,0,116,103,97,95,99,111,109,112,32,61,61,32,83,84,66,73,95,114,103,98,0,115,116,98,105,95,95,116,103,97,95,108,111,97,100,0,98,97,100,32,112,97,108,101,116,116,101,0,114,101,113,95,99,111,109,112,32,62,61,32,49,32,38,38,32,114,101,113,95,99,111,109,112,32,60,61,32,52,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,0,48,0,98,97,100,32,102,105,108,101,0,80,73,67,84,0,110,111,116,32,80,83,68,0,119,114,111,110,103,32,118,101,114,115,105,111,110,0,119,114,111,110,103,32,99,104,97,110,110,101,108,32,99,111,117,110,116,0,117,110,115,117,112,112,111,114,116,101,100,32,98,105,116,32,100,101,112,116,104,0,119,114,111,110,103,32,99,111,108,111,114,32,102,111,114,109,97,116,0,98,97,100,32,73,109,97,103,101,32,68,101,115,99,114,105,112,116,111,114,0,109,105,115,115,105,110,103,32,99,111,108,111,114,32,116,97,98,108,101,0,117,110,107,110,111,119,110,32,99,111,100,101,0,110,111,32,99,108,101,97,114,32,99,111,100,101,0,116,111,111,32,109,97,110,121,32,99,111,100,101,115,0,105,108,108,101,103,97,108,32,99,111,100,101,32,105,110,32,114,97,115,116,101,114,0,105,110,118,97,108,105,100,0,98,97,100,32,98,112,112,0,98,97,100,32,109,97,115,107,115,0,98,97,100,32,114,101,113,95,99,111,109,112,0,106,117,110,107,32,98,101,102,111,114,101,32,109,97,114,107,101,114,0,99,97,110,39,116,32,109,101,114,103,101,32,100,99,32,97,110,100,32,97,99,0,110,32,62,61,32,48,32,38,38,32,110,32,60,32,40,105,110,116,41,32,40,115,105,122,101,111,102,40,115,116,98,105,95,95,98,109,97,115,107,41,47,115,105,122,101,111,102,40,42,115,116,98,105,95,95,98,109,97,115,107,41,41,0,115,116,98,105,95,95,101,120,116,101,110,100,95,114,101,99,101,105,118,101,0,40,40,40,106,45,62,99,111,100,101,95,98,117,102,102,101,114,41,32,62,62,32,40,51,50,32,45,32,104,45,62,115,105,122,101,91,99,93,41,41,32,38,32,115,116,98,105,95,95,98,109,97,115,107,91,104,45,62,115,105,122,101,91,99,93,93,41,32,61,61,32,104,45,62,99,111,100,101,91,99,93,0,115,116,98,105,95,95,106,112,101,103,95,104,117,102,102,95,100,101,99,111,100,101,0,98,97,100,32,83,79,83,32,99,111,109,112,111,110,101,110,116,32,99,111,117,110,116,0,98,97,100,32,83,79,83,32,108,101,110,0,98,97,100,32,68,67,32,104,117,102,102,0,98,97,100,32,65,67,32,104,117,102,102,0,98,97,100,32,83,79,83,0,114,116,0,91,37,115,93,32,70,78,84,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,108,105,110,101,72,101,105,103,104,116,0,108,105,110,101,72,101,105,103,104,116,61,37,105,32,98,97,115,101,61,37,105,32,115,99,97,108,101,87,61,37,105,32,115,99,97,108,101,72,61,37,105,0,91,37,115,93,32,70,111,110,116,32,115,105,122,101,58,32,37,105,0,91,37,115,93,32,70,111,110,116,32,116,101,120,116,117,114,101,32,115,99,97,108,101,58,32,37,105,120,37,105,0,102,105,108,101,0,102,105,108,101,61,34,37,49,50,56,91,94,34,93,34,0,91,37,115,93,32,70,111,110,116,32,116,101,120,116,117,114,101,32,102,105,108,101,110,97,109,101,58,32,37,115,0,99,111,117,110,116,0,99,111,117,110,116,61,37,105,0,91,37,115,93,32,70,111,110,116,32,110,117,109,32,99,104,97,114,115,58,32,37,105,0,91,37,115,93,32,70,111,110,116,32,116,101,120,116,117,114,101,32,108,111,97,100,105,110,103,32,112,97,116,104,58,32,37,115,0,99,104,97,114,32,105,100,61,37,105,32,120,61,37,105,32,121,61,37,105,32,119,105,100,116,104,61,37,105,32,104,101,105,103,104,116,61,37,105,32,120,111,102,102,115,101,116,61,37,105,32,121,111,102,102,115,101,116,61,37,105,32,120,97,100,118,97,110,99,101,61,37,105,0,91,37,115,93,32,83,112,114,105,116,101,70,111,110,116,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,114,98,0,91,37,115,93,32,114,66,77,70,32,102,111,110,116,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,44,32,117,115,105,110,103,32,100,101,102,97,117,108,116,32,102,111,110,116,0,91,37,115,93,32,76,111,97,100,105,110,103,32,114,66,77,70,32,102,105,108,101,44,32,115,105,122,101,58,32,37,105,120,37,105,44,32,110,117,109,67,104,97,114,115,58,32,37,105,44,32,99,104,97,114,72,101,105,103,104,116,58,32,37,105,0,91,37,115,93,32,73,109,97,103,101,32,114,101,99,111,110,115,116,114,117,99,116,101,100,32,99,111,114,114,101,99,116,108,121,44,32,110,111,119,32,99,111,110,118,101,114,116,105,110,103,32,105,116,32,116,111,32,116,101,120,116,117,114,101,0,91,37,115,93,32,114,66,77,70,32,102,105,108,101,32,108,111,97,100,101,100,32,99,111,114,114,101,99,116,108,121,32,97,115,32,83,112,114,105,116,101,70,111,110,116,0,122,45,62,100,105,114,101,99,116,105,111,110,0,115,116,98,116,116,95,95,114,97,115,116,101,114,105,122,101,95,115,111,114,116,101,100,95,101,100,103,101,115,0,122,45,62,101,121,32,62,61,32,115,99,97,110,95,121,95,116,111,112,0,101,45,62,101,121,32,62,61,32,121,95,116,111,112,0,115,116,98,116,116,95,95,102,105,108,108,95,97,99,116,105,118,101,95,101,100,103,101,115,95,110,101,119,0,101,45,62,115,121,32,60,61,32,121,95,98,111,116,116,111,109,32,38,38,32,101,45,62,101,121,32,62,61,32,121,95,116,111,112,0,120,32,62,61,32,48,32,38,38,32,120,32,60,32,108,101,110,0,102,97,98,115,40,97,114,101,97,41,32,60,61,32,49,46,48,49,102,0,121,48,32,60,32,121,49,0,115,116,98,116,116,95,95,104,97,110,100,108,101,95,99,108,105,112,112,101,100,95,101,100,103,101,0,101,45,62,115,121,32,60,61,32,101,45,62,101,121,0,120,49,32,60,61,32,120,43,49,0,120,49,32,62,61,32,120,0,120,49,32,60,61,32,120,0,120,49,32,62,61,32,120,43,49,0,120,49,32,62,61,32,120,32,38,38,32,120,49,32,60,61,32,120,43,49,0,120,48,32,62,61,32,120,32,38,38,32,120,48,32,60,61,32,120,43,49,32,38,38,32,120,49,32,62,61,32,120,32,38,38,32,120,49,32,60,61,32,120,43,49,0,122,32,33,61,32,40,40,118,111,105,100,42,41,48,41,0,115,116,98,116,116,95,95,110,101,119,95,97,99,116,105,118,101,0,91,86,65,79,32,73,68,32,37,105,93,32,76,105,110,101,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,76,105,110,101,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,86,65,79,32,73,68,32,37,105,93,32,84,114,105,97,110,103,108,101,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,84,114,105,97,110,103,108,101,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,86,65,79,32,73,68,32,37,105,93,32,81,117,97,100,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,81,117,97,100,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,67,80,85,32,98,117,102,102,101,114,115,32,40,108,105,110,101,115,44,32,116,114,105,97,110,103,108,101,115,44,32,113,117,97,100,115,41,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,51,32,118,101,114,116,101,120,80,111,115,105,116,105,111,110,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,50,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,51,32,118,101,114,116,101,120,78,111,114,109,97,108,59,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,109,97,116,52,32,109,118,112,77,97,116,114,105,120,59,32,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,102,114,97,103,84,101,120,67,111,111,114,100,32,61,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,10,32,32,32,32,103,108,95,80,111,115,105,116,105,111,110,32,61,32,109,118,112,77,97,116,114,105,120,42,118,101,99,52,40,118,101,114,116,101,120,80,111,115,105,116,105,111,110,44,32,49,46,48,41,59,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,10,112,114,101,99,105,115,105,111,110,32,109,101,100,105,117,109,112,32,102,108,111,97,116,59,32,32,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,115,97,109,112,108,101,114,50,68,32,116,101,120,116,117,114,101,48,59,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,118,101,99,52,32,102,114,97,103,84,105,110,116,67,111,108,111,114,59,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,118,101,99,52,32,116,101,120,101,108,67,111,108,111,114,32,61,32,116,101,120,116,117,114,101,50,68,40,116,101,120,116,117,114,101,48,44,32,102,114,97,103,84,101,120,67,111,111,114,100,41,59,32,10,32,32,32,32,103,108,95,70,114,97,103,67,111,108,111,114,32,61,32,116,101,120,101,108,67,111,108,111,114,42,102,114,97,103,84,105,110,116,67,111,108,111,114,59,32,10,125,32,32,32,32,32,32], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+11910); -/* memory initializer */ allocate([32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,91,83,72,68,82,32,73,68,32,37,105,93,32,83,105,109,112,108,101,32,115,104,97,100,101,114,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,83,105,109,112,108,101,32,115,104,97,100,101,114,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,51,32,118,101,114,116,101,120,80,111,115,105,116,105,111,110,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,50,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,52,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,84,105,110,116,67,111,108,111,114,59,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,109,97,116,52,32,109,118,112,77,97,116,114,105,120,59,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,102,114,97,103,84,101,120,67,111,111,114,100,32,61,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,10,32,32,32,32,102,114,97,103,84,105,110,116,67,111,108,111,114,32,61,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,10,32,32,32,32,103,108,95,80,111,115,105,116,105,111,110,32,61,32,109,118,112,77,97,116,114,105,120,42,118,101,99,52,40,118,101,114,116,101,120,80,111,115,105,116,105,111,110,44,32,49,46,48,41,59,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,10,112,114,101,99,105,115,105,111,110,32,109,101,100,105,117,109,112,32,102,108,111,97,116,59,32,32,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,84,105,110,116,67,111,108,111,114,59,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,115,97,109,112,108,101,114,50,68,32,116,101,120,116,117,114,101,48,59,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,118,101,99,52,32,116,101,120,101,108,67,111,108,111,114,32,61,32,116,101,120,116,117,114,101,50,68,40,116,101,120,116,117,114,101,48,44,32,102,114,97,103,84,101,120,67,111,111,114,100,41,59,32,10,32,32,32,32,103,108,95,70,114,97,103,67,111,108,111,114,32,61,32,116,101,120,101,108,67,111,108,111,114,42,102,114,97,103,84,105,110,116,67,111,108,111,114,59,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,118,101,114,116,101,120,67,111,108,111,114,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,102,117,108,108,115,99,114,101,101,110,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,119,105,110,100,111,119,101,100,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,71,76,70,87,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,77,83,65,65,32,120,52,0,71,76,70,87,32,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,87,105,110,100,111,119,0,68,105,115,112,108,97,121,32,100,101,118,105,99,101,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,82,101,110,100,101,114,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,83,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,86,105,101,119,112,111,114,116,32,111,102,102,115,101,116,115,58,32,37,105,44,32,37,105,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,86,83,89,78,67,0,68,79,87,78,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,32,40,37,105,120,37,105,41,32,105,115,32,98,105,103,103,101,114,32,116,104,97,110,32,100,105,115,112,108,97,121,32,115,105,122,101,32,40,37,105,120,37,105,41,0,68,111,119,110,115,99,97,108,101,32,109,97,116,114,105,120,32,103,101,110,101,114,97,116,101,100,44,32,99,111,110,116,101,110,116,32,119,105,108,108,32,98,101,32,114,101,110,100,101,114,101,100,32,97,116,58,32,37,105,32,120,32,37,105,0,85,80,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,32,45,62,32,68,105,115,112,108,97,121,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,91,71,76,70,87,51,32,69,114,114,111,114,93,32,67,111,100,101,58,32,37,105,32,68,101,99,114,105,112,116,105,111,110,58,32,37,115,0,69,88,84,0,65,82,66,0,79,69,83,0,65,78,71,76,69,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,0,103,108,85,115,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,85,115,101,80,114,111,103,114,97,109,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,0,103,108,65,116,116,97,99,104,79,98,106,101,99,116,0,103,108,65,116,116,97,99,104,83,104,97,100,101,114,0,103,108,68,101,116,97,99,104,79,98,106,101,99,116,0,103,108,68,101,116,97,99,104,83,104,97,100,101,114,0,103,108,80,105,120,101,108,83,116,111,114,101,105,0,103,108,71,101,116,83,116,114,105,110,103,0,103,108,71,101,116,73,110,116,101,103,101,114,118,0,103,108,71,101,116,70,108,111,97,116,118,0,103,108,71,101,116,66,111,111,108,101,97,110,118,0,103,108,71,101,110,84,101,120,116,117,114,101,115,0,103,108,68,101,108,101,116,101,84,101,120,116,117,114,101,115,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,84,101,120,73,109,97,103,101,50,68,0,103,108,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,82,101,97,100,80,105,120,101,108,115,0,103,108,66,105,110,100,84,101,120,116,117,114,101,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,84,101,120,116,117,114,101,0,103,108,71,101,110,66,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,66,117,102,102,101,114,115,0,103,108,71,101,116,66,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,66,117,102,102,101,114,68,97,116,97,0,103,108,66,117,102,102,101,114,83,117,98,68,97,116,97,0,103,108,73,115,66,117,102,102,101,114,0,103,108,71,101,110,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,66,105,110,100,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,82,101,110,100,101,114,98,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,85,110,105,102,111,114,109,102,118,0,103,108,71,101,116,85,110,105,102,111,114,109,105,118,0,103,108,71,101,116,85,110,105,102,111,114,109,76,111,99,97,116,105,111,110,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,102,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,105,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,118,0,103,108,71,101,116,65,99,116,105,118,101,85,110,105,102,111,114,109,0,103,108,85,110,105,102,111,114,109,49,102,0,103,108,85,110,105,102,111,114,109,50,102,0,103,108,85,110,105,102,111,114,109,51,102,0,103,108,85,110,105,102,111,114,109,52,102,0,103,108,85,110,105,102,111,114,109,49,105,0,103,108,85,110,105,102,111,114,109,50,105,0,103,108,85,110,105,102,111,114,109,51,105,0,103,108,85,110,105,102,111,114,109,52,105,0,103,108,85,110,105,102,111,114,109,49,105,118,0,103,108,85,110,105,102,111,114,109,50,105,118,0,103,108,85,110,105,102,111,114,109,51,105,118,0,103,108,85,110,105,102,111,114,109,52,105,118,0,103,108,85,110,105,102,111,114,109,49,102,118,0,103,108,85,110,105,102,111,114,109,50,102,118,0,103,108,85,110,105,102,111,114,109,51,102,118,0,103,108,85,110,105,102,111,114,109,52,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,50,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,51,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,52,102,118,0,103,108,66,105,110,100,66,117,102,102,101,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,118,0,103,108,71,101,116,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,71,101,116,65,99,116,105,118,101,65,116,116,114,105,98,0,103,108,68,101,108,101,116,101,83,104,97,100,101,114,0,103,108,71,101,116,65,116,116,97,99,104,101,100,83,104,97,100,101,114,115,0,103,108,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,71,101,116,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,67,111,109,112,105,108,101,83,104,97,100,101,114,0,103,108,71,101,116,83,104,97,100,101,114,73,110,102,111,76,111,103,0,103,108,71,101,116,83,104,97,100,101,114,105,118,0,103,108,71,101,116,80,114,111,103,114,97,109,105,118,0,103,108,73,115,83,104,97,100,101,114,0,103,108,68,101,108,101,116,101,80,114,111,103,114,97,109,0,103,108,71,101,116,83,104,97,100,101,114,80,114,101,99,105,115,105,111,110,70,111,114,109,97,116,0,103,108,76,105,110,107,80,114,111,103,114,97,109,0,103,108,71,101,116,80,114,111,103,114,97,109,73,110,102,111,76,111,103,0,103,108,86,97,108,105,100,97,116,101,80,114,111,103,114,97,109,0,103,108,73,115,80,114,111,103,114,97,109,0,103,108,66,105,110,100,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,66,105,110,100,70,114,97,109,101,98,117,102,102,101,114,0,103,108,71,101,110,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,70,114,97,109,101,98,117,102,102,101,114,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,70,114,97,109,101,98,117,102,102,101,114,84,101,120,116,117,114,101,50,68,0,103,108,71,101,116,70,114,97,109,101,98,117,102,102,101,114,65,116,116,97,99,104,109,101,110,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,70,114,97,109,101,98,117,102,102,101,114,0,103,108,68,101,108,101,116,101,79,98,106,101,99,116,0,103,108,71,101,116,79,98,106,101,99,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,71,101,116,73,110,102,111,76,111,103,0,103,108,66,105,110,100,80,114,111,103,114,97,109,0,103,108,71,101,116,80,111,105,110,116,101,114,118,0,103,108,68,114,97,119,82,97,110,103,101,69,108,101,109,101,110,116,115,0,103,108,69,110,97,98,108,101,67,108,105,101,110,116,83,116,97,116,101,0,103,108,86,101,114,116,101,120,80,111,105,110,116,101,114,0,103,108,84,101,120,67,111,111,114,100,80,111,105,110,116,101,114,0,103,108,78,111,114,109,97,108,80,111,105,110,116,101,114,0,103,108,67,111,108,111,114,80,111,105,110,116,101,114,0,103,108,67,108,105,101,110,116,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,0,103,108,77,97,116,114,105,120,77,111,100,101,0,103,108,76,111,97,100,73,100,101,110,116,105,116,121,0,103,108,76,111,97,100,77,97,116,114,105,120,102,0,103,108,70,114,117,115,116,117,109,0,103,108,82,111,116,97,116,101,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,0,103,108,69,110,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,105,115,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,114,97,119,65,114,114,97,121,115,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,0,103,108,83,104,97,100,101,114,66,105,110,97,114,121,0,103,108,82,101,108,101,97,115,101,83,104,97,100,101,114,67,111,109,112,105,108,101,114,0,103,108,71,101,116,69,114,114,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,68,105,118,105,115,111,114,0,103,108,68,114,97,119,65,114,114,97,121,115,73,110,115,116,97,110,99,101,100,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,73,110,115,116,97,110,99,101,100,0,103,108,70,105,110,105,115,104,0,103,108,70,108,117,115,104,0,103,108,67,108,101,97,114,68,101,112,116,104,0,103,108,67,108,101,97,114,68,101,112,116,104,102,0,103,108,68,101,112,116,104,70,117,110,99,0,103,108,69,110,97,98,108,101,0,103,108,68,105,115,97,98,108,101,0,103,108,70,114,111,110,116,70,97,99,101,0,103,108,67,117,108,108,70,97,99,101,0,103,108,67,108,101,97,114,0,103,108,76,105,110,101,87,105,100,116,104,0,103,108,67,108,101,97,114,83,116,101,110,99,105,108,0,103,108,68,101,112,116,104,77,97,115,107,0,103,108,83,116,101,110,99,105,108,77,97,115,107,0,103,108,67,104,101,99,107,70,114,97,109,101,98,117,102,102,101,114,83,116,97,116,117,115,0,103,108,71,101,110,101,114,97,116,101,77,105,112,109,97,112,0,103,108,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,0,103,108,73,115,69,110,97,98,108,101,100,0,103,108,66,108,101,110,100,70,117,110,99,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,83,101,112,97,114,97,116,101,0,103,108,68,101,112,116,104,82,97,110,103,101,0,103,108,68,101,112,116,104,82,97,110,103,101,102,0,103,108,83,116,101,110,99,105,108,77,97,115,107,83,101,112,97,114,97,116,101,0,103,108,72,105,110,116,0,103,108,80,111,108,121,103,111,110,79,102,102,115,101,116,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,0,103,108,83,97,109,112,108,101,67,111,118,101,114,97,103,101,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,0,103,108,83,116,101,110,99,105,108,70,117,110,99,0,103,108,83,116,101,110,99,105,108,79,112,0,103,108,86,105,101,119,112,111,114,116,0,103,108,67,108,101,97,114,67,111,108,111,114,0,103,108,83,99,105,115,115,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,0,103,108,67,111,108,111,114,77,97,115,107,0,103,108,82,101,110,100,101,114,98,117,102,102,101,114,83,116,111,114,97,103,101,0,103,108,66,108,101,110,100,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,66,108,101,110,100,67,111,108,111,114,0,103,108,83,116,101,110,99,105,108,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,83,116,101,110,99,105,108,79,112,83,101,112,97,114,97,116,101,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,0,103,108,67,111,112,121,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,112,121,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,68,114,97,119,66,117,102,102,101,114,115,0,123,32,77,111,100,117,108,101,46,112,114,105,110,116,69,114,114,40,39,98,97,100,32,110,97,109,101,32,105,110,32,103,101,116,80,114,111,99,65,100,100,114,101,115,115,58,32,39,32,43,32,91,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,48,41,44,32,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,49,41,93,41,59,32,125,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,105,110,102,105,110,105,116,121,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,1,2,3,4,5,6,7,8,9,255,255,255,255,255,255,255,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,255,255,255,255,255,255,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,1,2,4,7,3,6,5,0,114,119,97], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+22150); -/* memory initializer */ allocate([17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,110,97,110,0,78,65,78,0,46,0], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+29981); - - - - - -/* no memory initializer */ -var tempDoublePtr = Runtime.alignMemory(allocate(12, "i8", ALLOC_STATIC), 8); - -assert(tempDoublePtr % 8 == 0); - -function copyTempFloat(ptr) { // functions, because inlining this code increases code size too much - - HEAP8[tempDoublePtr] = HEAP8[ptr]; - - HEAP8[tempDoublePtr+1] = HEAP8[ptr+1]; - - HEAP8[tempDoublePtr+2] = HEAP8[ptr+2]; - - HEAP8[tempDoublePtr+3] = HEAP8[ptr+3]; - -} - -function copyTempDouble(ptr) { - - HEAP8[tempDoublePtr] = HEAP8[ptr]; - - HEAP8[tempDoublePtr+1] = HEAP8[ptr+1]; - - HEAP8[tempDoublePtr+2] = HEAP8[ptr+2]; - - HEAP8[tempDoublePtr+3] = HEAP8[ptr+3]; - - HEAP8[tempDoublePtr+4] = HEAP8[ptr+4]; - - HEAP8[tempDoublePtr+5] = HEAP8[ptr+5]; - - HEAP8[tempDoublePtr+6] = HEAP8[ptr+6]; - - HEAP8[tempDoublePtr+7] = HEAP8[ptr+7]; - -} - -// {{PRE_LIBRARY}} - - - - var GL={counter:1,lastError:0,buffers:[],mappedBuffers:{},programs:[],framebuffers:[],renderbuffers:[],textures:[],uniforms:[],shaders:[],vaos:[],contexts:[],currentContext:null,byteSizeByTypeRoot:5120,byteSizeByType:[1,1,2,2,4,4,4,2,3,4,8],programInfos:{},stringCache:{},packAlignment:4,unpackAlignment:4,init:function () { - GL.miniTempBuffer = new Float32Array(GL.MINI_TEMP_BUFFER_SIZE); - for (var i = 0; i < GL.MINI_TEMP_BUFFER_SIZE; i++) { - GL.miniTempBufferViews[i] = GL.miniTempBuffer.subarray(0, i+1); - } - },recordError:function recordError(errorCode) { - if (!GL.lastError) { - GL.lastError = errorCode; - } - },getNewId:function (table) { - var ret = GL.counter++; - for (var i = table.length; i < ret; i++) { - table[i] = null; - } - return ret; - },MINI_TEMP_BUFFER_SIZE:16,miniTempBuffer:null,miniTempBufferViews:[0],getSource:function (shader, count, string, length) { - var source = ''; - for (var i = 0; i < count; ++i) { - var frag; - if (length) { - var len = HEAP32[(((length)+(i*4))>>2)]; - if (len < 0) { - frag = Pointer_stringify(HEAP32[(((string)+(i*4))>>2)]); - } else { - frag = Pointer_stringify(HEAP32[(((string)+(i*4))>>2)], len); - } - } else { - frag = Pointer_stringify(HEAP32[(((string)+(i*4))>>2)]); - } - source += frag; - } - return source; - },createContext:function (canvas, webGLContextAttributes) { - if (typeof webGLContextAttributes.majorVersion === 'undefined' && typeof webGLContextAttributes.minorVersion === 'undefined') { - webGLContextAttributes.majorVersion = 1; - webGLContextAttributes.minorVersion = 0; - } - var ctx; - var errorInfo = '?'; - function onContextCreationError(event) { - errorInfo = event.statusMessage || errorInfo; - } - try { - canvas.addEventListener('webglcontextcreationerror', onContextCreationError, false); - try { - if (webGLContextAttributes.majorVersion == 1 && webGLContextAttributes.minorVersion == 0) { - ctx = canvas.getContext("webgl", webGLContextAttributes) || canvas.getContext("experimental-webgl", webGLContextAttributes); - } else if (webGLContextAttributes.majorVersion == 2 && webGLContextAttributes.minorVersion == 0) { - ctx = canvas.getContext("webgl2", webGLContextAttributes) || canvas.getContext("experimental-webgl2", webGLContextAttributes); - } else { - throw 'Unsupported WebGL context version ' + majorVersion + '.' + minorVersion + '!' - } - } finally { - canvas.removeEventListener('webglcontextcreationerror', onContextCreationError, false); - } - if (!ctx) throw ':('; - } catch (e) { - Module.print('Could not create canvas: ' + [errorInfo, e, JSON.stringify(webGLContextAttributes)]); - return 0; - } - // possible GL_DEBUG entry point: ctx = wrapDebugGL(ctx); - - if (!ctx) return 0; - return GL.registerContext(ctx, webGLContextAttributes); - },registerContext:function (ctx, webGLContextAttributes) { - var handle = GL.getNewId(GL.contexts); - var context = { - handle: handle, - version: webGLContextAttributes.majorVersion, - GLctx: ctx - }; - // Store the created context object so that we can access the context given a canvas without having to pass the parameters again. - if (ctx.canvas) ctx.canvas.GLctxObject = context; - GL.contexts[handle] = context; - if (typeof webGLContextAttributes['enableExtensionsByDefault'] === 'undefined' || webGLContextAttributes.enableExtensionsByDefault) { - GL.initExtensions(context); - } - return handle; - },makeContextCurrent:function (contextHandle) { - var context = GL.contexts[contextHandle]; - if (!context) return false; - GLctx = Module.ctx = context.GLctx; // Active WebGL context object. - GL.currentContext = context; // Active Emscripten GL layer context object. - return true; - },getContext:function (contextHandle) { - return GL.contexts[contextHandle]; - },deleteContext:function (contextHandle) { - if (GL.currentContext === GL.contexts[contextHandle]) GL.currentContext = null; - if (typeof JSEvents === 'object') JSEvents.removeAllHandlersOnTarget(GL.contexts[contextHandle].GLctx.canvas); // Release all JS event handlers on the DOM element that the GL context is associated with since the context is now deleted. - if (GL.contexts[contextHandle] && GL.contexts[contextHandle].GLctx.canvas) GL.contexts[contextHandle].GLctx.canvas.GLctxObject = undefined; // Make sure the canvas object no longer refers to the context object so there are no GC surprises. - GL.contexts[contextHandle] = null; - },initExtensions:function (context) { - // If this function is called without a specific context object, init the extensions of the currently active context. - if (!context) context = GL.currentContext; - - if (context.initExtensionsDone) return; - context.initExtensionsDone = true; - - var GLctx = context.GLctx; - - context.maxVertexAttribs = GLctx.getParameter(GLctx.MAX_VERTEX_ATTRIBS); - - // Detect the presence of a few extensions manually, this GL interop layer itself will need to know if they exist. - - if (context.version < 2) { - // Extension available from Firefox 26 and Google Chrome 30 - var instancedArraysExt = GLctx.getExtension('ANGLE_instanced_arrays'); - if (instancedArraysExt) { - GLctx['vertexAttribDivisor'] = function(index, divisor) { instancedArraysExt['vertexAttribDivisorANGLE'](index, divisor); }; - GLctx['drawArraysInstanced'] = function(mode, first, count, primcount) { instancedArraysExt['drawArraysInstancedANGLE'](mode, first, count, primcount); }; - GLctx['drawElementsInstanced'] = function(mode, count, type, indices, primcount) { instancedArraysExt['drawElementsInstancedANGLE'](mode, count, type, indices, primcount); }; - } - - // Extension available from Firefox 25 and WebKit - var vaoExt = GLctx.getExtension('OES_vertex_array_object'); - if (vaoExt) { - GLctx['createVertexArray'] = function() { return vaoExt['createVertexArrayOES'](); }; - GLctx['deleteVertexArray'] = function(vao) { vaoExt['deleteVertexArrayOES'](vao); }; - GLctx['bindVertexArray'] = function(vao) { vaoExt['bindVertexArrayOES'](vao); }; - GLctx['isVertexArray'] = function(vao) { return vaoExt['isVertexArrayOES'](vao); }; - } - - var drawBuffersExt = GLctx.getExtension('WEBGL_draw_buffers'); - if (drawBuffersExt) { - GLctx['drawBuffers'] = function(n, bufs) { drawBuffersExt['drawBuffersWEBGL'](n, bufs); }; - } - } - - // These are the 'safe' feature-enabling extensions that don't add any performance impact related to e.g. debugging, and - // should be enabled by default so that client GLES2/GL code will not need to go through extra hoops to get its stuff working. - // As new extensions are ratified at http://www.khronos.org/registry/webgl/extensions/ , feel free to add your new extensions - // here, as long as they don't produce a performance impact for users that might not be using those extensions. - // E.g. debugging-related extensions should probably be off by default. - var automaticallyEnabledExtensions = [ "OES_texture_float", "OES_texture_half_float", "OES_standard_derivatives", - "OES_vertex_array_object", "WEBGL_compressed_texture_s3tc", "WEBGL_depth_texture", - "OES_element_index_uint", "EXT_texture_filter_anisotropic", "ANGLE_instanced_arrays", - "OES_texture_float_linear", "OES_texture_half_float_linear", "WEBGL_compressed_texture_atc", - "WEBGL_compressed_texture_pvrtc", "EXT_color_buffer_half_float", "WEBGL_color_buffer_float", - "EXT_frag_depth", "EXT_sRGB", "WEBGL_draw_buffers", "WEBGL_shared_resources", - "EXT_shader_texture_lod" ]; - - function shouldEnableAutomatically(extension) { - var ret = false; - automaticallyEnabledExtensions.forEach(function(include) { - if (ext.indexOf(include) != -1) { - ret = true; - } - }); - return ret; - } - - var exts = GLctx.getSupportedExtensions(); - if (exts && exts.length > 0) { - GLctx.getSupportedExtensions().forEach(function(ext) { - if (automaticallyEnabledExtensions.indexOf(ext) != -1) { - GLctx.getExtension(ext); // Calling .getExtension enables that extension permanently, no need to store the return value to be enabled. - } - }); - } - },populateUniformTable:function (program) { - var p = GL.programs[program]; - GL.programInfos[program] = { - uniforms: {}, - maxUniformLength: 0, // This is eagerly computed below, since we already enumerate all uniforms anyway. - maxAttributeLength: -1 // This is lazily computed and cached, computed when/if first asked, "-1" meaning not computed yet. - }; - - var ptable = GL.programInfos[program]; - var utable = ptable.uniforms; - // A program's uniform table maps the string name of an uniform to an integer location of that uniform. - // The global GL.uniforms map maps integer locations to WebGLUniformLocations. - var numUniforms = GLctx.getProgramParameter(p, GLctx.ACTIVE_UNIFORMS); - for (var i = 0; i < numUniforms; ++i) { - var u = GLctx.getActiveUniform(p, i); - - var name = u.name; - ptable.maxUniformLength = Math.max(ptable.maxUniformLength, name.length+1); - - // Strip off any trailing array specifier we might have got, e.g. "[0]". - if (name.indexOf(']', name.length-1) !== -1) { - var ls = name.lastIndexOf('['); - name = name.slice(0, ls); - } - - // Optimize memory usage slightly: If we have an array of uniforms, e.g. 'vec3 colors[3];', then - // only store the string 'colors' in utable, and 'colors[0]', 'colors[1]' and 'colors[2]' will be parsed as 'colors'+i. - // Note that for the GL.uniforms table, we still need to fetch the all WebGLUniformLocations for all the indices. - var loc = GLctx.getUniformLocation(p, name); - var id = GL.getNewId(GL.uniforms); - utable[name] = [u.size, id]; - GL.uniforms[id] = loc; - - for (var j = 1; j < u.size; ++j) { - var n = name + '['+j+']'; - loc = GLctx.getUniformLocation(p, n); - id = GL.getNewId(GL.uniforms); - - GL.uniforms[id] = loc; - } - } - }};function _emscripten_glIsRenderbuffer(renderbuffer) { - var rb = GL.renderbuffers[renderbuffer]; - if (!rb) return 0; - return GLctx.isRenderbuffer(rb); - } - - function _emscripten_glStencilMaskSeparate(x0, x1) { GLctx.stencilMaskSeparate(x0, x1) } - - var _ceilf=Math_ceil; - - - - function _emscripten_get_now() { - if (!_emscripten_get_now.actual) { - if (ENVIRONMENT_IS_NODE) { - _emscripten_get_now.actual = function _emscripten_get_now_actual() { - var t = process['hrtime'](); - return t[0] * 1e3 + t[1] / 1e6; - } - } else if (typeof dateNow !== 'undefined') { - _emscripten_get_now.actual = dateNow; - } else if (typeof self === 'object' && self['performance'] && typeof self['performance']['now'] === 'function') { - _emscripten_get_now.actual = function _emscripten_get_now_actual() { return self['performance']['now'](); }; - } else if (typeof performance === 'object' && typeof performance['now'] === 'function') { - _emscripten_get_now.actual = function _emscripten_get_now_actual() { return performance['now'](); }; - } else { - _emscripten_get_now.actual = Date.now; - } - } - return _emscripten_get_now.actual(); - }var GLFW={Window:function (id, width, height, title, monitor, share) { - this.id = id; - this.x = 0; - this.y = 0; - this.storedX = 0; // Used to store X before fullscreen - this.storedY = 0; // Used to store Y before fullscreen - this.width = width; - this.height = height; - this.storedWidth = width; // Used to store width before fullscreen - this.storedHeight = height; // Used to store height before fullscreen - this.title = title; - this.monitor = monitor; - this.share = share; - this.attributes = GLFW.hints; - this.inputModes = { - 0x00033001:0x00034001, // GLFW_CURSOR (GLFW_CURSOR_NORMAL) - 0x00033002:0, // GLFW_STICKY_KEYS - 0x00033003:0, // GLFW_STICKY_MOUSE_BUTTONS - }; - this.buttons = 0; - this.keys = new Array(); - this.shouldClose = 0; - this.title = null; - this.windowPosFunc = null; // GLFWwindowposfun - this.windowSizeFunc = null; // GLFWwindowsizefun - this.windowCloseFunc = null; // GLFWwindowclosefun - this.windowRefreshFunc = null; // GLFWwindowrefreshfun - this.windowFocusFunc = null; // GLFWwindowfocusfun - this.windowIconifyFunc = null; // GLFWwindowiconifyfun - this.framebufferSizeFunc = null; // GLFWframebuffersizefun - this.mouseButtonFunc = null; // GLFWmousebuttonfun - this.cursorPosFunc = null; // GLFWcursorposfun - this.cursorEnterFunc = null; // GLFWcursorenterfun - this.scrollFunc = null; // GLFWscrollfun - this.keyFunc = null; // GLFWkeyfun - this.charFunc = null; // GLFWcharfun - this.userptr = null; - },WindowFromId:function (id) { - if (id <= 0 || !GLFW.windows) return null; - return GLFW.windows[id - 1]; - },errorFunc:null,monitorFunc:null,active:null,windows:null,monitors:null,monitorString:null,versionString:null,initialTime:null,extensions:null,hints:null,defaultHints:{131073:0,131074:0,131075:1,131076:1,131077:1,135169:8,135170:8,135171:8,135172:8,135173:24,135174:8,135175:0,135176:0,135177:0,135178:0,135179:0,135180:0,135181:0,135182:0,135183:0,139265:196609,139266:1,139267:0,139268:0,139269:0,139270:0,139271:0,139272:0},DOMToGLFWKeyCode:function (keycode) { - switch (keycode) { - case 0x20:return 32; // DOM_VK_SPACE -> GLFW_KEY_SPACE - case 0xDE:return 39; // DOM_VK_QUOTE -> GLFW_KEY_APOSTROPHE - case 0xBC:return 44; // DOM_VK_COMMA -> GLFW_KEY_COMMA - case 0xAD:return 45; // DOM_VK_HYPHEN_MINUS -> GLFW_KEY_MINUS - case 0xBE:return 46; // DOM_VK_PERIOD -> GLFW_KEY_PERIOD - case 0xBF:return 47; // DOM_VK_SLASH -> GLFW_KEY_SLASH - case 0x30:return 48; // DOM_VK_0 -> GLFW_KEY_0 - case 0x31:return 49; // DOM_VK_1 -> GLFW_KEY_1 - case 0x32:return 50; // DOM_VK_2 -> GLFW_KEY_2 - case 0x33:return 51; // DOM_VK_3 -> GLFW_KEY_3 - case 0x34:return 52; // DOM_VK_4 -> GLFW_KEY_4 - case 0x35:return 53; // DOM_VK_5 -> GLFW_KEY_5 - case 0x36:return 54; // DOM_VK_6 -> GLFW_KEY_6 - case 0x37:return 55; // DOM_VK_7 -> GLFW_KEY_7 - case 0x38:return 56; // DOM_VK_8 -> GLFW_KEY_8 - case 0x39:return 57; // DOM_VK_9 -> GLFW_KEY_9 - case 0x3B:return 59; // DOM_VK_SEMICOLON -> GLFW_KEY_SEMICOLON - case 0x61:return 61; // DOM_VK_EQUALS -> GLFW_KEY_EQUAL - case 0x41:return 65; // DOM_VK_A -> GLFW_KEY_A - case 0x42:return 66; // DOM_VK_B -> GLFW_KEY_B - case 0x43:return 67; // DOM_VK_C -> GLFW_KEY_C - case 0x44:return 68; // DOM_VK_D -> GLFW_KEY_D - case 0x45:return 69; // DOM_VK_E -> GLFW_KEY_E - case 0x46:return 70; // DOM_VK_F -> GLFW_KEY_F - case 0x47:return 71; // DOM_VK_G -> GLFW_KEY_G - case 0x48:return 72; // DOM_VK_H -> GLFW_KEY_H - case 0x49:return 73; // DOM_VK_I -> GLFW_KEY_I - case 0x4A:return 74; // DOM_VK_J -> GLFW_KEY_J - case 0x4B:return 75; // DOM_VK_K -> GLFW_KEY_K - case 0x4C:return 76; // DOM_VK_L -> GLFW_KEY_L - case 0x4D:return 77; // DOM_VK_M -> GLFW_KEY_M - case 0x4E:return 78; // DOM_VK_N -> GLFW_KEY_N - case 0x4F:return 79; // DOM_VK_O -> GLFW_KEY_O - case 0x50:return 80; // DOM_VK_P -> GLFW_KEY_P - case 0x51:return 81; // DOM_VK_Q -> GLFW_KEY_Q - case 0x52:return 82; // DOM_VK_R -> GLFW_KEY_R - case 0x53:return 83; // DOM_VK_S -> GLFW_KEY_S - case 0x54:return 84; // DOM_VK_T -> GLFW_KEY_T - case 0x55:return 85; // DOM_VK_U -> GLFW_KEY_U - case 0x56:return 86; // DOM_VK_V -> GLFW_KEY_V - case 0x57:return 87; // DOM_VK_W -> GLFW_KEY_W - case 0x58:return 88; // DOM_VK_X -> GLFW_KEY_X - case 0x59:return 89; // DOM_VK_Y -> GLFW_KEY_Y - case 0x5a:return 90; // DOM_VK_Z -> GLFW_KEY_Z - case 0xDB:return 91; // DOM_VK_OPEN_BRACKET -> GLFW_KEY_LEFT_BRACKET - case 0xDC:return 92; // DOM_VK_BACKSLASH -> GLFW_KEY_BACKSLASH - case 0xDD:return 93; // DOM_VK_CLOSE_BRACKET -> GLFW_KEY_RIGHT_BRACKET - case 0xC0:return 94; // DOM_VK_BACK_QUOTE -> GLFW_KEY_GRAVE_ACCENT - case 0x1B:return 256; // DOM_VK_ESCAPE -> GLFW_KEY_ESCAPE - case 0x0D:return 257; // DOM_VK_RETURN -> GLFW_KEY_ENTER - case 0x09:return 258; // DOM_VK_TAB -> GLFW_KEY_TAB - case 0x08:return 259; // DOM_VK_BACK -> GLFW_KEY_BACKSPACE - case 0x2D:return 260; // DOM_VK_INSERT -> GLFW_KEY_INSERT - case 0x2E:return 261; // DOM_VK_DELETE -> GLFW_KEY_DELETE - case 0x27:return 262; // DOM_VK_RIGHT -> GLFW_KEY_RIGHT - case 0x25:return 263; // DOM_VK_LEFT -> GLFW_KEY_LEFT - case 0x28:return 264; // DOM_VK_DOWN -> GLFW_KEY_DOWN - case 0x26:return 265; // DOM_VK_UP -> GLFW_KEY_UP - case 0x21:return 266; // DOM_VK_PAGE_UP -> GLFW_KEY_PAGE_UP - case 0x22:return 267; // DOM_VK_PAGE_DOWN -> GLFW_KEY_PAGE_DOWN - case 0x24:return 268; // DOM_VK_HOME -> GLFW_KEY_HOME - case 0x23:return 269; // DOM_VK_END -> GLFW_KEY_END - case 0x14:return 280; // DOM_VK_CAPS_LOCK -> GLFW_KEY_CAPS_LOCK - case 0x91:return 281; // DOM_VK_SCROLL_LOCK -> GLFW_KEY_SCROLL_LOCK - case 0x90:return 282; // DOM_VK_NUM_LOCK -> GLFW_KEY_NUM_LOCK - case 0x2C:return 283; // DOM_VK_SNAPSHOT -> GLFW_KEY_PRINT_SCREEN - case 0x13:return 284; // DOM_VK_PAUSE -> GLFW_KEY_PAUSE - case 0x70:return 290; // DOM_VK_F1 -> GLFW_KEY_F1 - case 0x71:return 291; // DOM_VK_F2 -> GLFW_KEY_F2 - case 0x72:return 292; // DOM_VK_F3 -> GLFW_KEY_F3 - case 0x73:return 293; // DOM_VK_F4 -> GLFW_KEY_F4 - case 0x74:return 294; // DOM_VK_F5 -> GLFW_KEY_F5 - case 0x75:return 295; // DOM_VK_F6 -> GLFW_KEY_F6 - case 0x76:return 296; // DOM_VK_F7 -> GLFW_KEY_F7 - case 0x77:return 297; // DOM_VK_F8 -> GLFW_KEY_F8 - case 0x78:return 298; // DOM_VK_F9 -> GLFW_KEY_F9 - case 0x79:return 299; // DOM_VK_F10 -> GLFW_KEY_F10 - case 0x7A:return 300; // DOM_VK_F11 -> GLFW_KEY_F11 - case 0x7B:return 301; // DOM_VK_F12 -> GLFW_KEY_F12 - case 0x7C:return 302; // DOM_VK_F13 -> GLFW_KEY_F13 - case 0x7D:return 303; // DOM_VK_F14 -> GLFW_KEY_F14 - case 0x7E:return 304; // DOM_VK_F15 -> GLFW_KEY_F15 - case 0x7F:return 305; // DOM_VK_F16 -> GLFW_KEY_F16 - case 0x80:return 306; // DOM_VK_F17 -> GLFW_KEY_F17 - case 0x81:return 307; // DOM_VK_F18 -> GLFW_KEY_F18 - case 0x82:return 308; // DOM_VK_F19 -> GLFW_KEY_F19 - case 0x83:return 309; // DOM_VK_F20 -> GLFW_KEY_F20 - case 0x84:return 310; // DOM_VK_F21 -> GLFW_KEY_F21 - case 0x85:return 311; // DOM_VK_F22 -> GLFW_KEY_F22 - case 0x86:return 312; // DOM_VK_F23 -> GLFW_KEY_F23 - case 0x87:return 313; // DOM_VK_F24 -> GLFW_KEY_F24 - case 0x88:return 314; // 0x88 (not used?) -> GLFW_KEY_F25 - case 0x60:return 320; // DOM_VK_NUMPAD0 -> GLFW_KEY_KP_0 - case 0x61:return 321; // DOM_VK_NUMPAD1 -> GLFW_KEY_KP_1 - case 0x62:return 322; // DOM_VK_NUMPAD2 -> GLFW_KEY_KP_2 - case 0x63:return 323; // DOM_VK_NUMPAD3 -> GLFW_KEY_KP_3 - case 0x64:return 324; // DOM_VK_NUMPAD4 -> GLFW_KEY_KP_4 - case 0x65:return 325; // DOM_VK_NUMPAD5 -> GLFW_KEY_KP_5 - case 0x66:return 326; // DOM_VK_NUMPAD6 -> GLFW_KEY_KP_6 - case 0x67:return 327; // DOM_VK_NUMPAD7 -> GLFW_KEY_KP_7 - case 0x68:return 328; // DOM_VK_NUMPAD8 -> GLFW_KEY_KP_8 - case 0x69:return 329; // DOM_VK_NUMPAD9 -> GLFW_KEY_KP_9 - case 0x6E:return 330; // DOM_VK_DECIMAL -> GLFW_KEY_KP_DECIMAL - case 0x6F:return 331; // DOM_VK_DIVIDE -> GLFW_KEY_KP_DIVIDE - case 0x6A:return 332; // DOM_VK_MULTIPLY -> GLFW_KEY_KP_MULTIPLY - case 0x6D:return 333; // DOM_VK_SUBTRACT -> GLFW_KEY_KP_SUBTRACT - case 0x6B:return 334; // DOM_VK_ADD -> GLFW_KEY_KP_ADD - // case 0x0D:return 335; // DOM_VK_RETURN -> GLFW_KEY_KP_ENTER (DOM_KEY_LOCATION_RIGHT) - // case 0x61:return 336; // DOM_VK_EQUALS -> GLFW_KEY_KP_EQUAL (DOM_KEY_LOCATION_RIGHT) - case 0x10:return 340; // DOM_VK_SHIFT -> GLFW_KEY_LEFT_SHIFT - case 0x11:return 341; // DOM_VK_CONTROL -> GLFW_KEY_LEFT_CONTROL - case 0x12:return 342; // DOM_VK_ALT -> GLFW_KEY_LEFT_ALT - case 0x5B:return 343; // DOM_VK_WIN -> GLFW_KEY_LEFT_SUPER - // case 0x10:return 344; // DOM_VK_SHIFT -> GLFW_KEY_RIGHT_SHIFT (DOM_KEY_LOCATION_RIGHT) - // case 0x11:return 345; // DOM_VK_CONTROL -> GLFW_KEY_RIGHT_CONTROL (DOM_KEY_LOCATION_RIGHT) - // case 0x12:return 346; // DOM_VK_ALT -> GLFW_KEY_RIGHT_ALT (DOM_KEY_LOCATION_RIGHT) - // case 0x5B:return 347; // DOM_VK_WIN -> GLFW_KEY_RIGHT_SUPER (DOM_KEY_LOCATION_RIGHT) - case 0x5D:return 348; // DOM_VK_CONTEXT_MENU -> GLFW_KEY_MENU - - // XXX: GLFW_KEY_WORLD_1, GLFW_KEY_WORLD_2 what are these? - default:return -1; // GLFW_KEY_UNKNOWN - }; - },getModBits:function (win) { - var mod = 0; - if (win.keys[340]) mod |= 0x0001; // GLFW_MOD_SHIFT - if (win.keys[341]) mod |= 0x0002; // GLFW_MOD_CONTROL - if (win.keys[342]) mod |= 0x0004; // GLFW_MOD_ALT - if (win.keys[343]) mod |= 0x0008; // GLFW_MOD_SUPER - return mod; - },onKeyPress:function (event) { - if (!GLFW.active || !GLFW.active.charFunc) return; - - // correct unicode charCode is only available with onKeyPress event - var charCode = event.charCode; - if (charCode == 0 || (charCode >= 0x00 && charCode <= 0x1F)) return; - - - Runtime.dynCall('vii', GLFW.active.charFunc, [GLFW.active.id, charCode]); - },onKeyChanged:function (event, status) { - if (!GLFW.active) return; - - var key = GLFW.DOMToGLFWKeyCode(event.keyCode); - if (key == -1) return; - - GLFW.active.keys[key] = status; - if (!GLFW.active.keyFunc) return; - - - Runtime.dynCall('viiiii', GLFW.active.keyFunc, [GLFW.active.id, key, event.keyCode, status, GLFW.getModBits(GLFW.active)]); - },onKeydown:function (event) { - GLFW.onKeyChanged(event, 1); // GLFW_PRESS - - // This logic comes directly from the sdl implementation. We cannot - // call preventDefault on all keydown events otherwise onKeyPress will - // not get called - if (event.keyCode === 8 /* backspace */ || event.keyCode === 9 /* tab */) { - event.preventDefault(); - } - },onKeyup:function (event) { - GLFW.onKeyChanged(event, 0); // GLFW_RELEASE - },onMousemove:function (event) { - if (!GLFW.active) return; - - Browser.calculateMouseEvent(event); - - if (event.target != Module["canvas"] || !GLFW.active.cursorPosFunc) return; - - - Runtime.dynCall('vidd', GLFW.active.cursorPosFunc, [GLFW.active.id, Browser.mouseX, Browser.mouseY]); - },onMouseButtonChanged:function (event, status) { - if (!GLFW.active || !GLFW.active.mouseButtonFunc) return; - - Browser.calculateMouseEvent(event); - - if (event.target != Module["canvas"]) return; - - if (status == 1) { // GLFW_PRESS - try { - event.target.setCapture(); - } catch (e) {} - } - - // DOM and glfw have different button codes - var eventButton = event['button']; - if (eventButton > 0) { - if (eventButton == 1) { - eventButton = 2; - } else { - eventButton = 1; - } - } - - - Runtime.dynCall('viiii', GLFW.active.mouseButtonFunc, [GLFW.active.id, eventButton, status, GLFW.getModBits(GLFW.active)]); - },onMouseButtonDown:function (event) { - if (!GLFW.active) return; - GLFW.active.buttons |= (1 << event['button']); - GLFW.onMouseButtonChanged(event, 1); // GLFW_PRESS - },onMouseButtonUp:function (event) { - if (!GLFW.active) return; - GLFW.active.buttons &= ~(1 << event['button']); - GLFW.onMouseButtonChanged(event, 0); // GLFW_RELEASE - },onMouseWheel:function (event) { - // Note the minus sign that flips browser wheel direction (positive direction scrolls page down) to native wheel direction (positive direction is mouse wheel up) - var delta = -Browser.getMouseWheelDelta(event); - delta = (delta == 0) ? 0 : (delta > 0 ? Math.max(delta, 1) : Math.min(delta, -1)); // Quantize to integer so that minimum scroll is at least +/- 1. - GLFW.wheelPos += delta; - - if (!GLFW.active || !GLFW.active.scrollFunc || event.target != Module['canvas']) return; - - - var sx = 0; - var sy = 0; - if (event.type == 'mousewheel') { - sx = event.wheelDeltaX; - sy = event.wheelDeltaY; - } else { - sx = event.deltaX; - sy = event.deltaY; - } - - Runtime.dynCall('vidd', GLFW.active.scrollFunc, [GLFW.active.id, sx, sy]); - - event.preventDefault(); - },onFullScreenEventChange:function () { - if (!GLFW.active) return; - - if (document["fullScreen"] || document["mozFullScreen"] || document["webkitIsFullScreen"]) { - GLFW.active.storedX = GLFW.active.x; - GLFW.active.storedY = GLFW.active.y; - GLFW.active.storedWidth = GLFW.active.width; - GLFW.active.storedHeight = GLFW.active.height; - GLFW.active.x = GLFW.active.y = 0; - GLFW.active.width = screen.width; - GLFW.active.height = screen.height; - } else { - GLFW.active.x = GLFW.active.storedX; - GLFW.active.y = GLFW.active.storedY; - GLFW.active.width = GLFW.active.storedWidth; - GLFW.active.height = GLFW.active.storedHeight; - } - - Browser.setCanvasSize(GLFW.active.width, GLFW.active.height, true); // resets the canvas size to counter the aspect preservation of Browser.updateCanvasDimensions - - if (!GLFW.active.windowSizeFunc) return; - - - Runtime.dynCall('viii', GLFW.active.windowSizeFunc, [GLFW.active.id, GLFW.active.width, GLFW.active.height]); - },requestFullScreen:function () { - var RFS = Module["canvas"]['requestFullscreen'] || - Module["canvas"]['requestFullScreen'] || - Module["canvas"]['mozRequestFullScreen'] || - Module["canvas"]['webkitRequestFullScreen'] || - (function() {}); - RFS.apply(Module["canvas"], []); - },cancelFullScreen:function () { - var CFS = document['exitFullscreen'] || - document['cancelFullScreen'] || - document['mozCancelFullScreen'] || - document['webkitCancelFullScreen'] || - (function() {}); - CFS.apply(document, []); - },getTime:function () { - return _emscripten_get_now() / 1000; - },setWindowTitle:function (winid, title) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - - win.title = Pointer_stringify(title); - if (GLFW.active.id == win.id) { - document.title = win.title; - } - },setKeyCallback:function (winid, cbfun) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.keyFunc = cbfun; - },setCharCallback:function (winid, cbfun) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.charFunc = cbfun; - },setMouseButtonCallback:function (winid, cbfun) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.mouseButtonFunc = cbfun; - },setCursorPosCallback:function (winid, cbfun) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.cursorPosFunc = cbfun; - },setScrollCallback:function (winid, cbfun) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.scrollFunc = cbfun; - },setWindowSizeCallback:function (winid, cbfun) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.windowSizeFunc = cbfun; - },setWindowCloseCallback:function (winid, cbfun) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.windowCloseFunc = cbfun; - },setWindowRefreshCallback:function (winid, cbfun) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.windowRefreshFunc = cbfun; - },getKey:function (winid, key) { - var win = GLFW.WindowFromId(winid); - if (!win) return 0; - return win.keys[key]; - },getMouseButton:function (winid, button) { - var win = GLFW.WindowFromId(winid); - if (!win) return 0; - return (win.buttons & (1 << button)) > 0; - },getCursorPos:function (winid, x, y) { - setValue(x, Browser.mouseX, 'double'); - setValue(y, Browser.mouseY, 'double'); - },getMousePos:function (winid, x, y) { - setValue(x, Browser.mouseX, 'i32'); - setValue(y, Browser.mouseY, 'i32'); - },setCursorPos:function (winid, x, y) { - },getWindowPos:function (winid, x, y) { - var wx = 0; - var wy = 0; - - var win = GLFW.WindowFromId(winid); - if (win) { - wx = win.x; - wy = win.y; - } - - setValue(x, wx, 'i32'); - setValue(y, wy, 'i32'); - },setWindowPos:function (winid, x, y) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.x = x; - win.y = y; - },getWindowSize:function (winid, width, height) { - var ww = 0; - var wh = 0; - - var win = GLFW.WindowFromId(winid); - if (win) { - ww = win.width; - wh = win.height; - } - - setValue(width, ww, 'i32'); - setValue(height, wh, 'i32'); - },setWindowSize:function (winid, width, height) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - - if (GLFW.active.id == win.id) { - if (width == screen.width && height == screen.height) { - GLFW.requestFullScreen(); - } else { - GLFW.cancelFullScreen(); - Browser.setCanvasSize(width, height); - win.width = width; - win.height = height; - } - } - - if (!win.windowResizeFunc) return; - - - Runtime.dynCall('viii', win.windowResizeFunc, [win.id, width, height]); - },createWindow:function (width, height, title, monitor, share) { - var i, id; - for (i = 0; i < GLFW.windows.length && GLFW.windows[i] !== null; i++); - if (i > 0) throw "glfwCreateWindow only supports one window at time currently"; - - // id for window - id = i + 1; - - // not valid - if (width <= 0 || height <= 0) return 0; - - if (monitor) { - GLFW.requestFullScreen(); - } else { - Browser.setCanvasSize(width, height); - } - - // Create context when there are no existing alive windows - for (i = 0; i < GLFW.windows.length && GLFW.windows[i] == null; i++); - if (i == GLFW.windows.length) { - var contextAttributes = { - antialias: (GLFW.hints[0x0002100D] > 1), // GLFW_SAMPLES - depth: (GLFW.hints[0x00021005] > 0), // GLFW_DEPTH_BITS - stencil: (GLFW.hints[0x00021006] > 0) // GLFW_STENCIL_BITS - } - Module.ctx = Browser.createContext(Module['canvas'], true, true, contextAttributes); - } - - // If context creation failed, do not return a valid window - if (!Module.ctx) return 0; - - // Get non alive id - var win = new GLFW.Window(id, width, height, title, monitor, share); - - // Set window to array - if (id - 1 == GLFW.windows.length) { - GLFW.windows.push(win); - } else { - GLFW.windows[id - 1] = win; - } - - GLFW.active = win; - return win.id; - },destroyWindow:function (winid) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - - if (win.windowCloseFunc) - Runtime.dynCall('vi', win.windowCloseFunc, [win.id]); - - GLFW.windows[win.id - 1] = null; - if (GLFW.active.id == win.id) - GLFW.active = null; - - // Destroy context when no alive windows - for (var i = 0; i < GLFW.windows.length; i++) - if (GLFW.windows[i] !== null) return; - - Module.ctx = Browser.destroyContext(Module['canvas'], true, true); - },swapBuffers:function (winid) { - },GLFW2ParamToGLFW3Param:function (param) { - table = { - 0x00030001:0, // GLFW_MOUSE_CURSOR - 0x00030002:0, // GLFW_STICKY_KEYS - 0x00030003:0, // GLFW_STICKY_MOUSE_BUTTONS - 0x00030004:0, // GLFW_SYSTEM_KEYS - 0x00030005:0, // GLFW_KEY_REPEAT - 0x00030006:0, // GLFW_AUTO_POLL_EVENTS - 0x00020001:0, // GLFW_OPENED - 0x00020002:0, // GLFW_ACTIVE - 0x00020003:0, // GLFW_ICONIFIED - 0x00020004:0, // GLFW_ACCELERATED - 0x00020005:0x00021001, // GLFW_RED_BITS - 0x00020006:0x00021002, // GLFW_GREEN_BITS - 0x00020007:0x00021003, // GLFW_BLUE_BITS - 0x00020008:0x00021004, // GLFW_ALPHA_BITS - 0x00020009:0x00021005, // GLFW_DEPTH_BITS - 0x0002000A:0x00021006, // GLFW_STENCIL_BITS - 0x0002000B:0x0002100F, // GLFW_REFRESH_RATE - 0x0002000C:0x00021007, // GLFW_ACCUM_RED_BITS - 0x0002000D:0x00021008, // GLFW_ACCUM_GREEN_BITS - 0x0002000E:0x00021009, // GLFW_ACCUM_BLUE_BITS - 0x0002000F:0x0002100A, // GLFW_ACCUM_ALPHA_BITS - 0x00020010:0x0002100B, // GLFW_AUX_BUFFERS - 0x00020011:0x0002100C, // GLFW_STEREO - 0x00020012:0, // GLFW_WINDOW_NO_RESIZE - 0x00020013:0x0002100D, // GLFW_FSAA_SAMPLES - 0x00020014:0x00022002, // GLFW_OPENGL_VERSION_MAJOR - 0x00020015:0x00022003, // GLFW_OPENGL_VERSION_MINOR - 0x00020016:0x00022006, // GLFW_OPENGL_FORWARD_COMPAT - 0x00020017:0x00022007, // GLFW_OPENGL_DEBUG_CONTEXT - 0x00020018:0x00022008, // GLFW_OPENGL_PROFILE - }; - return table[param]; - }};function _glfwGetVideoModes(monitor, count) { - setValue(count, 0, 'i32'); - return 0; - } - - function _glLinkProgram(program) { - GLctx.linkProgram(GL.programs[program]); - GL.programInfos[program] = null; // uniforms no longer keep the same names after linking - GL.populateUniformTable(program); - } - - function _glBindTexture(target, texture) { - GLctx.bindTexture(target, texture ? GL.textures[texture] : null); - } - - function _emscripten_glStencilFunc(x0, x1, x2) { GLctx.stencilFunc(x0, x1, x2) } - - function _glGetString(name_) { - if (GL.stringCache[name_]) return GL.stringCache[name_]; - var ret; - switch(name_) { - case 0x1F00 /* GL_VENDOR */: - case 0x1F01 /* GL_RENDERER */: - case 0x1F02 /* GL_VERSION */: - ret = allocate(intArrayFromString(GLctx.getParameter(name_)), 'i8', ALLOC_NORMAL); - break; - case 0x1F03 /* GL_EXTENSIONS */: - var exts = GLctx.getSupportedExtensions(); - var gl_exts = []; - for (var i in exts) { - gl_exts.push(exts[i]); - gl_exts.push("GL_" + exts[i]); - } - ret = allocate(intArrayFromString(gl_exts.join(' ')), 'i8', ALLOC_NORMAL); - break; - case 0x8B8C /* GL_SHADING_LANGUAGE_VERSION */: - ret = allocate(intArrayFromString('OpenGL ES GLSL 1.00 (WebGL)'), 'i8', ALLOC_NORMAL); - break; - default: - GL.recordError(0x0500/*GL_INVALID_ENUM*/); - return 0; - } - GL.stringCache[name_] = ret; - return ret; - } - - function _emscripten_glUniform3iv(location, count, value) { - location = GL.uniforms[location]; - count *= 3; - value = HEAP32.subarray((value)>>2,(value+count*4)>>2); - GLctx.uniform3iv(location, value); - } - - function _emscripten_glShaderSource(shader, count, string, length) { - var source = GL.getSource(shader, count, string, length); - GLctx.shaderSource(GL.shaders[shader], source); - } - - function _emscripten_glReleaseShaderCompiler() { - // NOP (as allowed by GLES 2.0 spec) - } - - function _glfwSetScrollCallback(winid, cbfun) { - GLFW.setScrollCallback(winid, cbfun); - } - - function _emscripten_glTexParameterf(x0, x1, x2) { GLctx.texParameterf(x0, x1, x2) } - - function _emscripten_glTexParameteri(x0, x1, x2) { GLctx.texParameteri(x0, x1, x2) } - - function _glCompileShader(shader) { - GLctx.compileShader(GL.shaders[shader]); - } - - - - - var ERRNO_CODES={EPERM:1,ENOENT:2,ESRCH:3,EINTR:4,EIO:5,ENXIO:6,E2BIG:7,ENOEXEC:8,EBADF:9,ECHILD:10,EAGAIN:11,EWOULDBLOCK:11,ENOMEM:12,EACCES:13,EFAULT:14,ENOTBLK:15,EBUSY:16,EEXIST:17,EXDEV:18,ENODEV:19,ENOTDIR:20,EISDIR:21,EINVAL:22,ENFILE:23,EMFILE:24,ENOTTY:25,ETXTBSY:26,EFBIG:27,ENOSPC:28,ESPIPE:29,EROFS:30,EMLINK:31,EPIPE:32,EDOM:33,ERANGE:34,ENOMSG:42,EIDRM:43,ECHRNG:44,EL2NSYNC:45,EL3HLT:46,EL3RST:47,ELNRNG:48,EUNATCH:49,ENOCSI:50,EL2HLT:51,EDEADLK:35,ENOLCK:37,EBADE:52,EBADR:53,EXFULL:54,ENOANO:55,EBADRQC:56,EBADSLT:57,EDEADLOCK:35,EBFONT:59,ENOSTR:60,ENODATA:61,ETIME:62,ENOSR:63,ENONET:64,ENOPKG:65,EREMOTE:66,ENOLINK:67,EADV:68,ESRMNT:69,ECOMM:70,EPROTO:71,EMULTIHOP:72,EDOTDOT:73,EBADMSG:74,ENOTUNIQ:76,EBADFD:77,EREMCHG:78,ELIBACC:79,ELIBBAD:80,ELIBSCN:81,ELIBMAX:82,ELIBEXEC:83,ENOSYS:38,ENOTEMPTY:39,ENAMETOOLONG:36,ELOOP:40,EOPNOTSUPP:95,EPFNOSUPPORT:96,ECONNRESET:104,ENOBUFS:105,EAFNOSUPPORT:97,EPROTOTYPE:91,ENOTSOCK:88,ENOPROTOOPT:92,ESHUTDOWN:108,ECONNREFUSED:111,EADDRINUSE:98,ECONNABORTED:103,ENETUNREACH:101,ENETDOWN:100,ETIMEDOUT:110,EHOSTDOWN:112,EHOSTUNREACH:113,EINPROGRESS:115,EALREADY:114,EDESTADDRREQ:89,EMSGSIZE:90,EPROTONOSUPPORT:93,ESOCKTNOSUPPORT:94,EADDRNOTAVAIL:99,ENETRESET:102,EISCONN:106,ENOTCONN:107,ETOOMANYREFS:109,EUSERS:87,EDQUOT:122,ESTALE:116,ENOTSUP:95,ENOMEDIUM:123,EILSEQ:84,EOVERFLOW:75,ECANCELED:125,ENOTRECOVERABLE:131,EOWNERDEAD:130,ESTRPIPE:86}; - - var ERRNO_MESSAGES={0:"Success",1:"Not super-user",2:"No such file or directory",3:"No such process",4:"Interrupted system call",5:"I/O error",6:"No such device or address",7:"Arg list too long",8:"Exec format error",9:"Bad file number",10:"No children",11:"No more processes",12:"Not enough core",13:"Permission denied",14:"Bad address",15:"Block device required",16:"Mount device busy",17:"File exists",18:"Cross-device link",19:"No such device",20:"Not a directory",21:"Is a directory",22:"Invalid argument",23:"Too many open files in system",24:"Too many open files",25:"Not a typewriter",26:"Text file busy",27:"File too large",28:"No space left on device",29:"Illegal seek",30:"Read only file system",31:"Too many links",32:"Broken pipe",33:"Math arg out of domain of func",34:"Math result not representable",35:"File locking deadlock error",36:"File or path name too long",37:"No record locks available",38:"Function not implemented",39:"Directory not empty",40:"Too many symbolic links",42:"No message of desired type",43:"Identifier removed",44:"Channel number out of range",45:"Level 2 not synchronized",46:"Level 3 halted",47:"Level 3 reset",48:"Link number out of range",49:"Protocol driver not attached",50:"No CSI structure available",51:"Level 2 halted",52:"Invalid exchange",53:"Invalid request descriptor",54:"Exchange full",55:"No anode",56:"Invalid request code",57:"Invalid slot",59:"Bad font file fmt",60:"Device not a stream",61:"No data (for no delay io)",62:"Timer expired",63:"Out of streams resources",64:"Machine is not on the network",65:"Package not installed",66:"The object is remote",67:"The link has been severed",68:"Advertise error",69:"Srmount error",70:"Communication error on send",71:"Protocol error",72:"Multihop attempted",73:"Cross mount point (not really error)",74:"Trying to read unreadable message",75:"Value too large for defined data type",76:"Given log. name not unique",77:"f.d. invalid for this operation",78:"Remote address changed",79:"Can access a needed shared lib",80:"Accessing a corrupted shared lib",81:".lib section in a.out corrupted",82:"Attempting to link in too many libs",83:"Attempting to exec a shared library",84:"Illegal byte sequence",86:"Streams pipe error",87:"Too many users",88:"Socket operation on non-socket",89:"Destination address required",90:"Message too long",91:"Protocol wrong type for socket",92:"Protocol not available",93:"Unknown protocol",94:"Socket type not supported",95:"Not supported",96:"Protocol family not supported",97:"Address family not supported by protocol family",98:"Address already in use",99:"Address not available",100:"Network interface is not configured",101:"Network is unreachable",102:"Connection reset by network",103:"Connection aborted",104:"Connection reset by peer",105:"No buffer space available",106:"Socket is already connected",107:"Socket is not connected",108:"Can't send after socket shutdown",109:"Too many references",110:"Connection timed out",111:"Connection refused",112:"Host is down",113:"Host is unreachable",114:"Socket already connected",115:"Connection already in progress",116:"Stale file handle",122:"Quota exceeded",123:"No medium (in tape drive)",125:"Operation canceled",130:"Previous owner died",131:"State not recoverable"}; - - function ___setErrNo(value) { - if (Module['___errno_location']) HEAP32[((Module['___errno_location']())>>2)]=value; - return value; - } - - var PATH={splitPath:function (filename) { - var splitPathRe = /^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/; - return splitPathRe.exec(filename).slice(1); - },normalizeArray:function (parts, allowAboveRoot) { - // if the path tries to go above the root, `up` ends up > 0 - var up = 0; - for (var i = parts.length - 1; i >= 0; i--) { - var last = parts[i]; - if (last === '.') { - parts.splice(i, 1); - } else if (last === '..') { - parts.splice(i, 1); - up++; - } else if (up) { - parts.splice(i, 1); - up--; - } - } - // if the path is allowed to go above the root, restore leading ..s - if (allowAboveRoot) { - for (; up--; up) { - parts.unshift('..'); - } - } - return parts; - },normalize:function (path) { - var isAbsolute = path.charAt(0) === '/', - trailingSlash = path.substr(-1) === '/'; - // Normalize the path - path = PATH.normalizeArray(path.split('/').filter(function(p) { - return !!p; - }), !isAbsolute).join('/'); - if (!path && !isAbsolute) { - path = '.'; - } - if (path && trailingSlash) { - path += '/'; - } - return (isAbsolute ? '/' : '') + path; - },dirname:function (path) { - var result = PATH.splitPath(path), - root = result[0], - dir = result[1]; - if (!root && !dir) { - // No dirname whatsoever - return '.'; - } - if (dir) { - // It has a dirname, strip trailing slash - dir = dir.substr(0, dir.length - 1); - } - return root + dir; - },basename:function (path) { - // EMSCRIPTEN return '/'' for '/', not an empty string - if (path === '/') return '/'; - var lastSlash = path.lastIndexOf('/'); - if (lastSlash === -1) return path; - return path.substr(lastSlash+1); - },extname:function (path) { - return PATH.splitPath(path)[3]; - },join:function () { - var paths = Array.prototype.slice.call(arguments, 0); - return PATH.normalize(paths.join('/')); - },join2:function (l, r) { - return PATH.normalize(l + '/' + r); - },resolve:function () { - var resolvedPath = '', - resolvedAbsolute = false; - for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) { - var path = (i >= 0) ? arguments[i] : FS.cwd(); - // Skip empty and invalid entries - if (typeof path !== 'string') { - throw new TypeError('Arguments to path.resolve must be strings'); - } else if (!path) { - return ''; // an invalid portion invalidates the whole thing - } - resolvedPath = path + '/' + resolvedPath; - resolvedAbsolute = path.charAt(0) === '/'; - } - // At this point the path should be resolved to a full absolute path, but - // handle relative paths to be safe (might happen when process.cwd() fails) - resolvedPath = PATH.normalizeArray(resolvedPath.split('/').filter(function(p) { - return !!p; - }), !resolvedAbsolute).join('/'); - return ((resolvedAbsolute ? '/' : '') + resolvedPath) || '.'; - },relative:function (from, to) { - from = PATH.resolve(from).substr(1); - to = PATH.resolve(to).substr(1); - function trim(arr) { - var start = 0; - for (; start < arr.length; start++) { - if (arr[start] !== '') break; - } - var end = arr.length - 1; - for (; end >= 0; end--) { - if (arr[end] !== '') break; - } - if (start > end) return []; - return arr.slice(start, end - start + 1); - } - var fromParts = trim(from.split('/')); - var toParts = trim(to.split('/')); - var length = Math.min(fromParts.length, toParts.length); - var samePartsLength = length; - for (var i = 0; i < length; i++) { - if (fromParts[i] !== toParts[i]) { - samePartsLength = i; - break; - } - } - var outputParts = []; - for (var i = samePartsLength; i < fromParts.length; i++) { - outputParts.push('..'); - } - outputParts = outputParts.concat(toParts.slice(samePartsLength)); - return outputParts.join('/'); - }}; - - var TTY={ttys:[],init:function () { - // https://github.com/kripken/emscripten/pull/1555 - // if (ENVIRONMENT_IS_NODE) { - // // currently, FS.init does not distinguish if process.stdin is a file or TTY - // // device, it always assumes it's a TTY device. because of this, we're forcing - // // process.stdin to UTF8 encoding to at least make stdin reading compatible - // // with text files until FS.init can be refactored. - // process['stdin']['setEncoding']('utf8'); - // } - },shutdown:function () { - // https://github.com/kripken/emscripten/pull/1555 - // if (ENVIRONMENT_IS_NODE) { - // // inolen: any idea as to why node -e 'process.stdin.read()' wouldn't exit immediately (with process.stdin being a tty)? - // // isaacs: because now it's reading from the stream, you've expressed interest in it, so that read() kicks off a _read() which creates a ReadReq operation - // // inolen: I thought read() in that case was a synchronous operation that just grabbed some amount of buffered data if it exists? - // // isaacs: it is. but it also triggers a _read() call, which calls readStart() on the handle - // // isaacs: do process.stdin.pause() and i'd think it'd probably close the pending call - // process['stdin']['pause'](); - // } - },register:function (dev, ops) { - TTY.ttys[dev] = { input: [], output: [], ops: ops }; - FS.registerDevice(dev, TTY.stream_ops); - },stream_ops:{open:function (stream) { - var tty = TTY.ttys[stream.node.rdev]; - if (!tty) { - throw new FS.ErrnoError(ERRNO_CODES.ENODEV); - } - stream.tty = tty; - stream.seekable = false; - },close:function (stream) { - // flush any pending line data - stream.tty.ops.flush(stream.tty); - },flush:function (stream) { - stream.tty.ops.flush(stream.tty); - },read:function (stream, buffer, offset, length, pos /* ignored */) { - if (!stream.tty || !stream.tty.ops.get_char) { - throw new FS.ErrnoError(ERRNO_CODES.ENXIO); - } - var bytesRead = 0; - for (var i = 0; i < length; i++) { - var result; - try { - result = stream.tty.ops.get_char(stream.tty); - } catch (e) { - throw new FS.ErrnoError(ERRNO_CODES.EIO); - } - if (result === undefined && bytesRead === 0) { - throw new FS.ErrnoError(ERRNO_CODES.EAGAIN); - } - if (result === null || result === undefined) break; - bytesRead++; - buffer[offset+i] = result; - } - if (bytesRead) { - stream.node.timestamp = Date.now(); - } - return bytesRead; - },write:function (stream, buffer, offset, length, pos) { - if (!stream.tty || !stream.tty.ops.put_char) { - throw new FS.ErrnoError(ERRNO_CODES.ENXIO); - } - for (var i = 0; i < length; i++) { - try { - stream.tty.ops.put_char(stream.tty, buffer[offset+i]); - } catch (e) { - throw new FS.ErrnoError(ERRNO_CODES.EIO); - } - } - if (length) { - stream.node.timestamp = Date.now(); - } - return i; - }},default_tty_ops:{get_char:function (tty) { - if (!tty.input.length) { - var result = null; - if (ENVIRONMENT_IS_NODE) { - // we will read data by chunks of BUFSIZE - var BUFSIZE = 256; - var buf = new Buffer(BUFSIZE); - var bytesRead = 0; - - var fd = process.stdin.fd; - // Linux and Mac cannot use process.stdin.fd (which isn't set up as sync) - var usingDevice = false; - try { - fd = fs.openSync('/dev/stdin', 'r'); - usingDevice = true; - } catch (e) {} - - bytesRead = fs.readSync(fd, buf, 0, BUFSIZE, null); - - if (usingDevice) { fs.closeSync(fd); } - if (bytesRead > 0) { - result = buf.slice(0, bytesRead).toString('utf-8'); - } else { - result = null; - } - - } else if (typeof window != 'undefined' && - typeof window.prompt == 'function') { - // Browser. - result = window.prompt('Input: '); // returns null on cancel - if (result !== null) { - result += '\n'; - } - } else if (typeof readline == 'function') { - // Command line. - result = readline(); - if (result !== null) { - result += '\n'; - } - } - if (!result) { - return null; - } - tty.input = intArrayFromString(result, true); - } - return tty.input.shift(); - },put_char:function (tty, val) { - if (val === null || val === 10) { - Module['print'](UTF8ArrayToString(tty.output, 0)); - tty.output = []; - } else { - if (val != 0) tty.output.push(val); // val == 0 would cut text output off in the middle. - } - },flush:function (tty) { - if (tty.output && tty.output.length > 0) { - Module['print'](UTF8ArrayToString(tty.output, 0)); - tty.output = []; - } - }},default_tty1_ops:{put_char:function (tty, val) { - if (val === null || val === 10) { - Module['printErr'](UTF8ArrayToString(tty.output, 0)); - tty.output = []; - } else { - if (val != 0) tty.output.push(val); - } - },flush:function (tty) { - if (tty.output && tty.output.length > 0) { - Module['printErr'](UTF8ArrayToString(tty.output, 0)); - tty.output = []; - } - }}}; - - var MEMFS={ops_table:null,mount:function (mount) { - return MEMFS.createNode(null, '/', 16384 | 511 /* 0777 */, 0); - },createNode:function (parent, name, mode, dev) { - if (FS.isBlkdev(mode) || FS.isFIFO(mode)) { - // no supported - throw new FS.ErrnoError(ERRNO_CODES.EPERM); - } - if (!MEMFS.ops_table) { - MEMFS.ops_table = { - dir: { - node: { - getattr: MEMFS.node_ops.getattr, - setattr: MEMFS.node_ops.setattr, - lookup: MEMFS.node_ops.lookup, - mknod: MEMFS.node_ops.mknod, - rename: MEMFS.node_ops.rename, - unlink: MEMFS.node_ops.unlink, - rmdir: MEMFS.node_ops.rmdir, - readdir: MEMFS.node_ops.readdir, - symlink: MEMFS.node_ops.symlink - }, - stream: { - llseek: MEMFS.stream_ops.llseek - } - }, - file: { - node: { - getattr: MEMFS.node_ops.getattr, - setattr: MEMFS.node_ops.setattr - }, - stream: { - llseek: MEMFS.stream_ops.llseek, - read: MEMFS.stream_ops.read, - write: MEMFS.stream_ops.write, - allocate: MEMFS.stream_ops.allocate, - mmap: MEMFS.stream_ops.mmap, - msync: MEMFS.stream_ops.msync - } - }, - link: { - node: { - getattr: MEMFS.node_ops.getattr, - setattr: MEMFS.node_ops.setattr, - readlink: MEMFS.node_ops.readlink - }, - stream: {} - }, - chrdev: { - node: { - getattr: MEMFS.node_ops.getattr, - setattr: MEMFS.node_ops.setattr - }, - stream: FS.chrdev_stream_ops - } - }; - } - var node = FS.createNode(parent, name, mode, dev); - if (FS.isDir(node.mode)) { - node.node_ops = MEMFS.ops_table.dir.node; - node.stream_ops = MEMFS.ops_table.dir.stream; - node.contents = {}; - } else if (FS.isFile(node.mode)) { - node.node_ops = MEMFS.ops_table.file.node; - node.stream_ops = MEMFS.ops_table.file.stream; - node.usedBytes = 0; // The actual number of bytes used in the typed array, as opposed to contents.buffer.byteLength which gives the whole capacity. - // When the byte data of the file is populated, this will point to either a typed array, or a normal JS array. Typed arrays are preferred - // for performance, and used by default. However, typed arrays are not resizable like normal JS arrays are, so there is a small disk size - // penalty involved for appending file writes that continuously grow a file similar to std::vector capacity vs used -scheme. - node.contents = null; - } else if (FS.isLink(node.mode)) { - node.node_ops = MEMFS.ops_table.link.node; - node.stream_ops = MEMFS.ops_table.link.stream; - } else if (FS.isChrdev(node.mode)) { - node.node_ops = MEMFS.ops_table.chrdev.node; - node.stream_ops = MEMFS.ops_table.chrdev.stream; - } - node.timestamp = Date.now(); - // add the new node to the parent - if (parent) { - parent.contents[name] = node; - } - return node; - },getFileDataAsRegularArray:function (node) { - if (node.contents && node.contents.subarray) { - var arr = []; - for (var i = 0; i < node.usedBytes; ++i) arr.push(node.contents[i]); - return arr; // Returns a copy of the original data. - } - return node.contents; // No-op, the file contents are already in a JS array. Return as-is. - },getFileDataAsTypedArray:function (node) { - if (!node.contents) return new Uint8Array; - if (node.contents.subarray) return node.contents.subarray(0, node.usedBytes); // Make sure to not return excess unused bytes. - return new Uint8Array(node.contents); - },expandFileStorage:function (node, newCapacity) { - // If we are asked to expand the size of a file that already exists, revert to using a standard JS array to store the file - // instead of a typed array. This makes resizing the array more flexible because we can just .push() elements at the back to - // increase the size. - if (node.contents && node.contents.subarray && newCapacity > node.contents.length) { - node.contents = MEMFS.getFileDataAsRegularArray(node); - node.usedBytes = node.contents.length; // We might be writing to a lazy-loaded file which had overridden this property, so force-reset it. - } - - if (!node.contents || node.contents.subarray) { // Keep using a typed array if creating a new storage, or if old one was a typed array as well. - var prevCapacity = node.contents ? node.contents.buffer.byteLength : 0; - if (prevCapacity >= newCapacity) return; // No need to expand, the storage was already large enough. - // Don't expand strictly to the given requested limit if it's only a very small increase, but instead geometrically grow capacity. - // For small filesizes (<1MB), perform size*2 geometric increase, but for large sizes, do a much more conservative size*1.125 increase to - // avoid overshooting the allocation cap by a very large margin. - var CAPACITY_DOUBLING_MAX = 1024 * 1024; - newCapacity = Math.max(newCapacity, (prevCapacity * (prevCapacity < CAPACITY_DOUBLING_MAX ? 2.0 : 1.125)) | 0); - if (prevCapacity != 0) newCapacity = Math.max(newCapacity, 256); // At minimum allocate 256b for each file when expanding. - var oldContents = node.contents; - node.contents = new Uint8Array(newCapacity); // Allocate new storage. - if (node.usedBytes > 0) node.contents.set(oldContents.subarray(0, node.usedBytes), 0); // Copy old data over to the new storage. - return; - } - // Not using a typed array to back the file storage. Use a standard JS array instead. - if (!node.contents && newCapacity > 0) node.contents = []; - while (node.contents.length < newCapacity) node.contents.push(0); - },resizeFileStorage:function (node, newSize) { - if (node.usedBytes == newSize) return; - if (newSize == 0) { - node.contents = null; // Fully decommit when requesting a resize to zero. - node.usedBytes = 0; - return; - } - if (!node.contents || node.contents.subarray) { // Resize a typed array if that is being used as the backing store. - var oldContents = node.contents; - node.contents = new Uint8Array(new ArrayBuffer(newSize)); // Allocate new storage. - if (oldContents) { - node.contents.set(oldContents.subarray(0, Math.min(newSize, node.usedBytes))); // Copy old data over to the new storage. - } - node.usedBytes = newSize; - return; - } - // Backing with a JS array. - if (!node.contents) node.contents = []; - if (node.contents.length > newSize) node.contents.length = newSize; - else while (node.contents.length < newSize) node.contents.push(0); - node.usedBytes = newSize; - },node_ops:{getattr:function (node) { - var attr = {}; - // device numbers reuse inode numbers. - attr.dev = FS.isChrdev(node.mode) ? node.id : 1; - attr.ino = node.id; - attr.mode = node.mode; - attr.nlink = 1; - attr.uid = 0; - attr.gid = 0; - attr.rdev = node.rdev; - if (FS.isDir(node.mode)) { - attr.size = 4096; - } else if (FS.isFile(node.mode)) { - attr.size = node.usedBytes; - } else if (FS.isLink(node.mode)) { - attr.size = node.link.length; - } else { - attr.size = 0; - } - attr.atime = new Date(node.timestamp); - attr.mtime = new Date(node.timestamp); - attr.ctime = new Date(node.timestamp); - // NOTE: In our implementation, st_blocks = Math.ceil(st_size/st_blksize), - // but this is not required by the standard. - attr.blksize = 4096; - attr.blocks = Math.ceil(attr.size / attr.blksize); - return attr; - },setattr:function (node, attr) { - if (attr.mode !== undefined) { - node.mode = attr.mode; - } - if (attr.timestamp !== undefined) { - node.timestamp = attr.timestamp; - } - if (attr.size !== undefined) { - MEMFS.resizeFileStorage(node, attr.size); - } - },lookup:function (parent, name) { - throw FS.genericErrors[ERRNO_CODES.ENOENT]; - },mknod:function (parent, name, mode, dev) { - return MEMFS.createNode(parent, name, mode, dev); - },rename:function (old_node, new_dir, new_name) { - // if we're overwriting a directory at new_name, make sure it's empty. - if (FS.isDir(old_node.mode)) { - var new_node; - try { - new_node = FS.lookupNode(new_dir, new_name); - } catch (e) { - } - if (new_node) { - for (var i in new_node.contents) { - throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY); - } - } - } - // do the internal rewiring - delete old_node.parent.contents[old_node.name]; - old_node.name = new_name; - new_dir.contents[new_name] = old_node; - old_node.parent = new_dir; - },unlink:function (parent, name) { - delete parent.contents[name]; - },rmdir:function (parent, name) { - var node = FS.lookupNode(parent, name); - for (var i in node.contents) { - throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY); - } - delete parent.contents[name]; - },readdir:function (node) { - var entries = ['.', '..'] - for (var key in node.contents) { - if (!node.contents.hasOwnProperty(key)) { - continue; - } - entries.push(key); - } - return entries; - },symlink:function (parent, newname, oldpath) { - var node = MEMFS.createNode(parent, newname, 511 /* 0777 */ | 40960, 0); - node.link = oldpath; - return node; - },readlink:function (node) { - if (!FS.isLink(node.mode)) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - return node.link; - }},stream_ops:{read:function (stream, buffer, offset, length, position) { - var contents = stream.node.contents; - if (position >= stream.node.usedBytes) return 0; - var size = Math.min(stream.node.usedBytes - position, length); - assert(size >= 0); - if (size > 8 && contents.subarray) { // non-trivial, and typed array - buffer.set(contents.subarray(position, position + size), offset); - } else { - for (var i = 0; i < size; i++) buffer[offset + i] = contents[position + i]; - } - return size; - },write:function (stream, buffer, offset, length, position, canOwn) { - if (!length) return 0; - var node = stream.node; - node.timestamp = Date.now(); - - if (buffer.subarray && (!node.contents || node.contents.subarray)) { // This write is from a typed array to a typed array? - if (canOwn) { // Can we just reuse the buffer we are given? - node.contents = buffer.subarray(offset, offset + length); - node.usedBytes = length; - return length; - } else if (node.usedBytes === 0 && position === 0) { // If this is a simple first write to an empty file, do a fast set since we don't need to care about old data. - node.contents = new Uint8Array(buffer.subarray(offset, offset + length)); - node.usedBytes = length; - return length; - } else if (position + length <= node.usedBytes) { // Writing to an already allocated and used subrange of the file? - node.contents.set(buffer.subarray(offset, offset + length), position); - return length; - } - } - - // Appending to an existing file and we need to reallocate, or source data did not come as a typed array. - MEMFS.expandFileStorage(node, position+length); - if (node.contents.subarray && buffer.subarray) node.contents.set(buffer.subarray(offset, offset + length), position); // Use typed array write if available. - else { - for (var i = 0; i < length; i++) { - node.contents[position + i] = buffer[offset + i]; // Or fall back to manual write if not. - } - } - node.usedBytes = Math.max(node.usedBytes, position+length); - return length; - },llseek:function (stream, offset, whence) { - var position = offset; - if (whence === 1) { // SEEK_CUR. - position += stream.position; - } else if (whence === 2) { // SEEK_END. - if (FS.isFile(stream.node.mode)) { - position += stream.node.usedBytes; - } - } - if (position < 0) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - return position; - },allocate:function (stream, offset, length) { - MEMFS.expandFileStorage(stream.node, offset + length); - stream.node.usedBytes = Math.max(stream.node.usedBytes, offset + length); - },mmap:function (stream, buffer, offset, length, position, prot, flags) { - if (!FS.isFile(stream.node.mode)) { - throw new FS.ErrnoError(ERRNO_CODES.ENODEV); - } - var ptr; - var allocated; - var contents = stream.node.contents; - // Only make a new copy when MAP_PRIVATE is specified. - if ( !(flags & 2) && - (contents.buffer === buffer || contents.buffer === buffer.buffer) ) { - // We can't emulate MAP_SHARED when the file is not backed by the buffer - // we're mapping to (e.g. the HEAP buffer). - allocated = false; - ptr = contents.byteOffset; - } else { - // Try to avoid unnecessary slices. - if (position > 0 || position + length < stream.node.usedBytes) { - if (contents.subarray) { - contents = contents.subarray(position, position + length); - } else { - contents = Array.prototype.slice.call(contents, position, position + length); - } - } - allocated = true; - ptr = _malloc(length); - if (!ptr) { - throw new FS.ErrnoError(ERRNO_CODES.ENOMEM); - } - buffer.set(contents, ptr); - } - return { ptr: ptr, allocated: allocated }; - },msync:function (stream, buffer, offset, length, mmapFlags) { - if (!FS.isFile(stream.node.mode)) { - throw new FS.ErrnoError(ERRNO_CODES.ENODEV); - } - if (mmapFlags & 2) { - // MAP_PRIVATE calls need not to be synced back to underlying fs - return 0; - } - - var bytesWritten = MEMFS.stream_ops.write(stream, buffer, 0, length, offset, false); - // should we check if bytesWritten and length are the same? - return 0; - }}}; - - var IDBFS={dbs:{},indexedDB:function () { - if (typeof indexedDB !== 'undefined') return indexedDB; - var ret = null; - if (typeof window === 'object') ret = window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB; - assert(ret, 'IDBFS used, but indexedDB not supported'); - return ret; - },DB_VERSION:21,DB_STORE_NAME:"FILE_DATA",mount:function (mount) { - // reuse all of the core MEMFS functionality - return MEMFS.mount.apply(null, arguments); - },syncfs:function (mount, populate, callback) { - IDBFS.getLocalSet(mount, function(err, local) { - if (err) return callback(err); - - IDBFS.getRemoteSet(mount, function(err, remote) { - if (err) return callback(err); - - var src = populate ? remote : local; - var dst = populate ? local : remote; - - IDBFS.reconcile(src, dst, callback); - }); - }); - },getDB:function (name, callback) { - // check the cache first - var db = IDBFS.dbs[name]; - if (db) { - return callback(null, db); - } - - var req; - try { - req = IDBFS.indexedDB().open(name, IDBFS.DB_VERSION); - } catch (e) { - return callback(e); - } - req.onupgradeneeded = function(e) { - var db = e.target.result; - var transaction = e.target.transaction; - - var fileStore; - - if (db.objectStoreNames.contains(IDBFS.DB_STORE_NAME)) { - fileStore = transaction.objectStore(IDBFS.DB_STORE_NAME); - } else { - fileStore = db.createObjectStore(IDBFS.DB_STORE_NAME); - } - - if (!fileStore.indexNames.contains('timestamp')) { - fileStore.createIndex('timestamp', 'timestamp', { unique: false }); - } - }; - req.onsuccess = function() { - db = req.result; - - // add to the cache - IDBFS.dbs[name] = db; - callback(null, db); - }; - req.onerror = function(e) { - callback(this.error); - e.preventDefault(); - }; - },getLocalSet:function (mount, callback) { - var entries = {}; - - function isRealDir(p) { - return p !== '.' && p !== '..'; - }; - function toAbsolute(root) { - return function(p) { - return PATH.join2(root, p); - } - }; - - var check = FS.readdir(mount.mountpoint).filter(isRealDir).map(toAbsolute(mount.mountpoint)); - - while (check.length) { - var path = check.pop(); - var stat; - - try { - stat = FS.stat(path); - } catch (e) { - return callback(e); - } - - if (FS.isDir(stat.mode)) { - check.push.apply(check, FS.readdir(path).filter(isRealDir).map(toAbsolute(path))); - } - - entries[path] = { timestamp: stat.mtime }; - } - - return callback(null, { type: 'local', entries: entries }); - },getRemoteSet:function (mount, callback) { - var entries = {}; - - IDBFS.getDB(mount.mountpoint, function(err, db) { - if (err) return callback(err); - - var transaction = db.transaction([IDBFS.DB_STORE_NAME], 'readonly'); - transaction.onerror = function(e) { - callback(this.error); - e.preventDefault(); - }; - - var store = transaction.objectStore(IDBFS.DB_STORE_NAME); - var index = store.index('timestamp'); - - index.openKeyCursor().onsuccess = function(event) { - var cursor = event.target.result; - - if (!cursor) { - return callback(null, { type: 'remote', db: db, entries: entries }); - } - - entries[cursor.primaryKey] = { timestamp: cursor.key }; - - cursor.continue(); - }; - }); - },loadLocalEntry:function (path, callback) { - var stat, node; - - try { - var lookup = FS.lookupPath(path); - node = lookup.node; - stat = FS.stat(path); - } catch (e) { - return callback(e); - } - - if (FS.isDir(stat.mode)) { - return callback(null, { timestamp: stat.mtime, mode: stat.mode }); - } else if (FS.isFile(stat.mode)) { - // Performance consideration: storing a normal JavaScript array to a IndexedDB is much slower than storing a typed array. - // Therefore always convert the file contents to a typed array first before writing the data to IndexedDB. - node.contents = MEMFS.getFileDataAsTypedArray(node); - return callback(null, { timestamp: stat.mtime, mode: stat.mode, contents: node.contents }); - } else { - return callback(new Error('node type not supported')); - } - },storeLocalEntry:function (path, entry, callback) { - try { - if (FS.isDir(entry.mode)) { - FS.mkdir(path, entry.mode); - } else if (FS.isFile(entry.mode)) { - FS.writeFile(path, entry.contents, { encoding: 'binary', canOwn: true }); - } else { - return callback(new Error('node type not supported')); - } - - FS.chmod(path, entry.mode); - FS.utime(path, entry.timestamp, entry.timestamp); - } catch (e) { - return callback(e); - } - - callback(null); - },removeLocalEntry:function (path, callback) { - try { - var lookup = FS.lookupPath(path); - var stat = FS.stat(path); - - if (FS.isDir(stat.mode)) { - FS.rmdir(path); - } else if (FS.isFile(stat.mode)) { - FS.unlink(path); - } - } catch (e) { - return callback(e); - } - - callback(null); - },loadRemoteEntry:function (store, path, callback) { - var req = store.get(path); - req.onsuccess = function(event) { callback(null, event.target.result); }; - req.onerror = function(e) { - callback(this.error); - e.preventDefault(); - }; - },storeRemoteEntry:function (store, path, entry, callback) { - var req = store.put(entry, path); - req.onsuccess = function() { callback(null); }; - req.onerror = function(e) { - callback(this.error); - e.preventDefault(); - }; - },removeRemoteEntry:function (store, path, callback) { - var req = store.delete(path); - req.onsuccess = function() { callback(null); }; - req.onerror = function(e) { - callback(this.error); - e.preventDefault(); - }; - },reconcile:function (src, dst, callback) { - var total = 0; - - var create = []; - Object.keys(src.entries).forEach(function (key) { - var e = src.entries[key]; - var e2 = dst.entries[key]; - if (!e2 || e.timestamp > e2.timestamp) { - create.push(key); - total++; - } - }); - - var remove = []; - Object.keys(dst.entries).forEach(function (key) { - var e = dst.entries[key]; - var e2 = src.entries[key]; - if (!e2) { - remove.push(key); - total++; - } - }); - - if (!total) { - return callback(null); - } - - var errored = false; - var completed = 0; - var db = src.type === 'remote' ? src.db : dst.db; - var transaction = db.transaction([IDBFS.DB_STORE_NAME], 'readwrite'); - var store = transaction.objectStore(IDBFS.DB_STORE_NAME); - - function done(err) { - if (err) { - if (!done.errored) { - done.errored = true; - return callback(err); - } - return; - } - if (++completed >= total) { - return callback(null); - } - }; - - transaction.onerror = function(e) { - done(this.error); - e.preventDefault(); - }; - - // sort paths in ascending order so directory entries are created - // before the files inside them - create.sort().forEach(function (path) { - if (dst.type === 'local') { - IDBFS.loadRemoteEntry(store, path, function (err, entry) { - if (err) return done(err); - IDBFS.storeLocalEntry(path, entry, done); - }); - } else { - IDBFS.loadLocalEntry(path, function (err, entry) { - if (err) return done(err); - IDBFS.storeRemoteEntry(store, path, entry, done); - }); - } - }); - - // sort paths in descending order so files are deleted before their - // parent directories - remove.sort().reverse().forEach(function(path) { - if (dst.type === 'local') { - IDBFS.removeLocalEntry(path, done); - } else { - IDBFS.removeRemoteEntry(store, path, done); - } - }); - }}; - - var NODEFS={isWindows:false,staticInit:function () { - NODEFS.isWindows = !!process.platform.match(/^win/); - },mount:function (mount) { - assert(ENVIRONMENT_IS_NODE); - return NODEFS.createNode(null, '/', NODEFS.getMode(mount.opts.root), 0); - },createNode:function (parent, name, mode, dev) { - if (!FS.isDir(mode) && !FS.isFile(mode) && !FS.isLink(mode)) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - var node = FS.createNode(parent, name, mode); - node.node_ops = NODEFS.node_ops; - node.stream_ops = NODEFS.stream_ops; - return node; - },getMode:function (path) { - var stat; - try { - stat = fs.lstatSync(path); - if (NODEFS.isWindows) { - // On Windows, directories return permission bits 'rw-rw-rw-', even though they have 'rwxrwxrwx', so - // propagate write bits to execute bits. - stat.mode = stat.mode | ((stat.mode & 146) >> 1); - } - } catch (e) { - if (!e.code) throw e; - throw new FS.ErrnoError(ERRNO_CODES[e.code]); - } - return stat.mode; - },realPath:function (node) { - var parts = []; - while (node.parent !== node) { - parts.push(node.name); - node = node.parent; - } - parts.push(node.mount.opts.root); - parts.reverse(); - return PATH.join.apply(null, parts); - },flagsToPermissionStringMap:{0:"r",1:"r+",2:"r+",64:"r",65:"r+",66:"r+",129:"rx+",193:"rx+",514:"w+",577:"w",578:"w+",705:"wx",706:"wx+",1024:"a",1025:"a",1026:"a+",1089:"a",1090:"a+",1153:"ax",1154:"ax+",1217:"ax",1218:"ax+",4096:"rs",4098:"rs+"},flagsToPermissionString:function (flags) { - flags &= ~0100000 /*O_LARGEFILE*/; // Ignore this flag from musl, otherwise node.js fails to open the file. - if (flags in NODEFS.flagsToPermissionStringMap) { - return NODEFS.flagsToPermissionStringMap[flags]; - } else { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - },node_ops:{getattr:function (node) { - var path = NODEFS.realPath(node); - var stat; - try { - stat = fs.lstatSync(path); - } catch (e) { - if (!e.code) throw e; - throw new FS.ErrnoError(ERRNO_CODES[e.code]); - } - // node.js v0.10.20 doesn't report blksize and blocks on Windows. Fake them with default blksize of 4096. - // See http://support.microsoft.com/kb/140365 - if (NODEFS.isWindows && !stat.blksize) { - stat.blksize = 4096; - } - if (NODEFS.isWindows && !stat.blocks) { - stat.blocks = (stat.size+stat.blksize-1)/stat.blksize|0; - } - return { - dev: stat.dev, - ino: stat.ino, - mode: stat.mode, - nlink: stat.nlink, - uid: stat.uid, - gid: stat.gid, - rdev: stat.rdev, - size: stat.size, - atime: stat.atime, - mtime: stat.mtime, - ctime: stat.ctime, - blksize: stat.blksize, - blocks: stat.blocks - }; - },setattr:function (node, attr) { - var path = NODEFS.realPath(node); - try { - if (attr.mode !== undefined) { - fs.chmodSync(path, attr.mode); - // update the common node structure mode as well - node.mode = attr.mode; - } - if (attr.timestamp !== undefined) { - var date = new Date(attr.timestamp); - fs.utimesSync(path, date, date); - } - if (attr.size !== undefined) { - fs.truncateSync(path, attr.size); - } - } catch (e) { - if (!e.code) throw e; - throw new FS.ErrnoError(ERRNO_CODES[e.code]); - } - },lookup:function (parent, name) { - var path = PATH.join2(NODEFS.realPath(parent), name); - var mode = NODEFS.getMode(path); - return NODEFS.createNode(parent, name, mode); - },mknod:function (parent, name, mode, dev) { - var node = NODEFS.createNode(parent, name, mode, dev); - // create the backing node for this in the fs root as well - var path = NODEFS.realPath(node); - try { - if (FS.isDir(node.mode)) { - fs.mkdirSync(path, node.mode); - } else { - fs.writeFileSync(path, '', { mode: node.mode }); - } - } catch (e) { - if (!e.code) throw e; - throw new FS.ErrnoError(ERRNO_CODES[e.code]); - } - return node; - },rename:function (oldNode, newDir, newName) { - var oldPath = NODEFS.realPath(oldNode); - var newPath = PATH.join2(NODEFS.realPath(newDir), newName); - try { - fs.renameSync(oldPath, newPath); - } catch (e) { - if (!e.code) throw e; - throw new FS.ErrnoError(ERRNO_CODES[e.code]); - } - },unlink:function (parent, name) { - var path = PATH.join2(NODEFS.realPath(parent), name); - try { - fs.unlinkSync(path); - } catch (e) { - if (!e.code) throw e; - throw new FS.ErrnoError(ERRNO_CODES[e.code]); - } - },rmdir:function (parent, name) { - var path = PATH.join2(NODEFS.realPath(parent), name); - try { - fs.rmdirSync(path); - } catch (e) { - if (!e.code) throw e; - throw new FS.ErrnoError(ERRNO_CODES[e.code]); - } - },readdir:function (node) { - var path = NODEFS.realPath(node); - try { - return fs.readdirSync(path); - } catch (e) { - if (!e.code) throw e; - throw new FS.ErrnoError(ERRNO_CODES[e.code]); - } - },symlink:function (parent, newName, oldPath) { - var newPath = PATH.join2(NODEFS.realPath(parent), newName); - try { - fs.symlinkSync(oldPath, newPath); - } catch (e) { - if (!e.code) throw e; - throw new FS.ErrnoError(ERRNO_CODES[e.code]); - } - },readlink:function (node) { - var path = NODEFS.realPath(node); - try { - path = fs.readlinkSync(path); - path = NODEJS_PATH.relative(NODEJS_PATH.resolve(node.mount.opts.root), path); - return path; - } catch (e) { - if (!e.code) throw e; - throw new FS.ErrnoError(ERRNO_CODES[e.code]); - } - }},stream_ops:{open:function (stream) { - var path = NODEFS.realPath(stream.node); - try { - if (FS.isFile(stream.node.mode)) { - stream.nfd = fs.openSync(path, NODEFS.flagsToPermissionString(stream.flags)); - } - } catch (e) { - if (!e.code) throw e; - throw new FS.ErrnoError(ERRNO_CODES[e.code]); - } - },close:function (stream) { - try { - if (FS.isFile(stream.node.mode) && stream.nfd) { - fs.closeSync(stream.nfd); - } - } catch (e) { - if (!e.code) throw e; - throw new FS.ErrnoError(ERRNO_CODES[e.code]); - } - },read:function (stream, buffer, offset, length, position) { - if (length === 0) return 0; // node errors on 0 length reads - // FIXME this is terrible. - var nbuffer = new Buffer(length); - var res; - try { - res = fs.readSync(stream.nfd, nbuffer, 0, length, position); - } catch (e) { - throw new FS.ErrnoError(ERRNO_CODES[e.code]); - } - if (res > 0) { - for (var i = 0; i < res; i++) { - buffer[offset + i] = nbuffer[i]; - } - } - return res; - },write:function (stream, buffer, offset, length, position) { - // FIXME this is terrible. - var nbuffer = new Buffer(buffer.subarray(offset, offset + length)); - var res; - try { - res = fs.writeSync(stream.nfd, nbuffer, 0, length, position); - } catch (e) { - throw new FS.ErrnoError(ERRNO_CODES[e.code]); - } - return res; - },llseek:function (stream, offset, whence) { - var position = offset; - if (whence === 1) { // SEEK_CUR. - position += stream.position; - } else if (whence === 2) { // SEEK_END. - if (FS.isFile(stream.node.mode)) { - try { - var stat = fs.fstatSync(stream.nfd); - position += stat.size; - } catch (e) { - throw new FS.ErrnoError(ERRNO_CODES[e.code]); - } - } - } - - if (position < 0) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - - return position; - }}}; - - var WORKERFS={DIR_MODE:16895,FILE_MODE:33279,reader:null,mount:function (mount) { - assert(ENVIRONMENT_IS_WORKER); - if (!WORKERFS.reader) WORKERFS.reader = new FileReaderSync(); - var root = WORKERFS.createNode(null, '/', WORKERFS.DIR_MODE, 0); - var createdParents = {}; - function ensureParent(path) { - // return the parent node, creating subdirs as necessary - var parts = path.split('/'); - var parent = root; - for (var i = 0; i < parts.length-1; i++) { - var curr = parts.slice(0, i+1).join('/'); - if (!createdParents[curr]) { - createdParents[curr] = WORKERFS.createNode(parent, curr, WORKERFS.DIR_MODE, 0); - } - parent = createdParents[curr]; - } - return parent; - } - function base(path) { - var parts = path.split('/'); - return parts[parts.length-1]; - } - // We also accept FileList here, by using Array.prototype - Array.prototype.forEach.call(mount.opts["files"] || [], function(file) { - WORKERFS.createNode(ensureParent(file.name), base(file.name), WORKERFS.FILE_MODE, 0, file, file.lastModifiedDate); - }); - (mount.opts["blobs"] || []).forEach(function(obj) { - WORKERFS.createNode(ensureParent(obj["name"]), base(obj["name"]), WORKERFS.FILE_MODE, 0, obj["data"]); - }); - (mount.opts["packages"] || []).forEach(function(pack) { - pack['metadata'].files.forEach(function(file) { - var name = file.filename.substr(1); // remove initial slash - WORKERFS.createNode(ensureParent(name), base(name), WORKERFS.FILE_MODE, 0, pack['blob'].slice(file.start, file.end)); - }); - }); - return root; - },createNode:function (parent, name, mode, dev, contents, mtime) { - var node = FS.createNode(parent, name, mode); - node.mode = mode; - node.node_ops = WORKERFS.node_ops; - node.stream_ops = WORKERFS.stream_ops; - node.timestamp = (mtime || new Date).getTime(); - assert(WORKERFS.FILE_MODE !== WORKERFS.DIR_MODE); - if (mode === WORKERFS.FILE_MODE) { - node.size = contents.size; - node.contents = contents; - } else { - node.size = 4096; - node.contents = {}; - } - if (parent) { - parent.contents[name] = node; - } - return node; - },node_ops:{getattr:function (node) { - return { - dev: 1, - ino: undefined, - mode: node.mode, - nlink: 1, - uid: 0, - gid: 0, - rdev: undefined, - size: node.size, - atime: new Date(node.timestamp), - mtime: new Date(node.timestamp), - ctime: new Date(node.timestamp), - blksize: 4096, - blocks: Math.ceil(node.size / 4096), - }; - },setattr:function (node, attr) { - if (attr.mode !== undefined) { - node.mode = attr.mode; - } - if (attr.timestamp !== undefined) { - node.timestamp = attr.timestamp; - } - },lookup:function (parent, name) { - throw new FS.ErrnoError(ERRNO_CODES.ENOENT); - },mknod:function (parent, name, mode, dev) { - throw new FS.ErrnoError(ERRNO_CODES.EPERM); - },rename:function (oldNode, newDir, newName) { - throw new FS.ErrnoError(ERRNO_CODES.EPERM); - },unlink:function (parent, name) { - throw new FS.ErrnoError(ERRNO_CODES.EPERM); - },rmdir:function (parent, name) { - throw new FS.ErrnoError(ERRNO_CODES.EPERM); - },readdir:function (node) { - throw new FS.ErrnoError(ERRNO_CODES.EPERM); - },symlink:function (parent, newName, oldPath) { - throw new FS.ErrnoError(ERRNO_CODES.EPERM); - },readlink:function (node) { - throw new FS.ErrnoError(ERRNO_CODES.EPERM); - }},stream_ops:{read:function (stream, buffer, offset, length, position) { - if (position >= stream.node.size) return 0; - var chunk = stream.node.contents.slice(position, position + length); - var ab = WORKERFS.reader.readAsArrayBuffer(chunk); - buffer.set(new Uint8Array(ab), offset); - return chunk.size; - },write:function (stream, buffer, offset, length, position) { - throw new FS.ErrnoError(ERRNO_CODES.EIO); - },llseek:function (stream, offset, whence) { - var position = offset; - if (whence === 1) { // SEEK_CUR. - position += stream.position; - } else if (whence === 2) { // SEEK_END. - if (FS.isFile(stream.node.mode)) { - position += stream.node.size; - } - } - if (position < 0) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - return position; - }}}; - - var _stdin=allocate(1, "i32*", ALLOC_STATIC); - - var _stdout=allocate(1, "i32*", ALLOC_STATIC); - - var _stderr=allocate(1, "i32*", ALLOC_STATIC);var FS={root:null,mounts:[],devices:[null],streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,handleFSError:function (e) { - if (!(e instanceof FS.ErrnoError)) throw e + ' : ' + stackTrace(); - return ___setErrNo(e.errno); - },lookupPath:function (path, opts) { - path = PATH.resolve(FS.cwd(), path); - opts = opts || {}; - - if (!path) return { path: '', node: null }; - - var defaults = { - follow_mount: true, - recurse_count: 0 - }; - for (var key in defaults) { - if (opts[key] === undefined) { - opts[key] = defaults[key]; - } - } - - if (opts.recurse_count > 8) { // max recursive lookup of 8 - throw new FS.ErrnoError(ERRNO_CODES.ELOOP); - } - - // split the path - var parts = PATH.normalizeArray(path.split('/').filter(function(p) { - return !!p; - }), false); - - // start at the root - var current = FS.root; - var current_path = '/'; - - for (var i = 0; i < parts.length; i++) { - var islast = (i === parts.length-1); - if (islast && opts.parent) { - // stop resolving - break; - } - - current = FS.lookupNode(current, parts[i]); - current_path = PATH.join2(current_path, parts[i]); - - // jump to the mount's root node if this is a mountpoint - if (FS.isMountpoint(current)) { - if (!islast || (islast && opts.follow_mount)) { - current = current.mounted.root; - } - } - - // by default, lookupPath will not follow a symlink if it is the final path component. - // setting opts.follow = true will override this behavior. - if (!islast || opts.follow) { - var count = 0; - while (FS.isLink(current.mode)) { - var link = FS.readlink(current_path); - current_path = PATH.resolve(PATH.dirname(current_path), link); - - var lookup = FS.lookupPath(current_path, { recurse_count: opts.recurse_count }); - current = lookup.node; - - if (count++ > 40) { // limit max consecutive symlinks to 40 (SYMLOOP_MAX). - throw new FS.ErrnoError(ERRNO_CODES.ELOOP); - } - } - } - } - - return { path: current_path, node: current }; - },getPath:function (node) { - var path; - while (true) { - if (FS.isRoot(node)) { - var mount = node.mount.mountpoint; - if (!path) return mount; - return mount[mount.length-1] !== '/' ? mount + '/' + path : mount + path; - } - path = path ? node.name + '/' + path : node.name; - node = node.parent; - } - },hashName:function (parentid, name) { - var hash = 0; - - - for (var i = 0; i < name.length; i++) { - hash = ((hash << 5) - hash + name.charCodeAt(i)) | 0; - } - return ((parentid + hash) >>> 0) % FS.nameTable.length; - },hashAddNode:function (node) { - var hash = FS.hashName(node.parent.id, node.name); - node.name_next = FS.nameTable[hash]; - FS.nameTable[hash] = node; - },hashRemoveNode:function (node) { - var hash = FS.hashName(node.parent.id, node.name); - if (FS.nameTable[hash] === node) { - FS.nameTable[hash] = node.name_next; - } else { - var current = FS.nameTable[hash]; - while (current) { - if (current.name_next === node) { - current.name_next = node.name_next; - break; - } - current = current.name_next; - } - } - },lookupNode:function (parent, name) { - var err = FS.mayLookup(parent); - if (err) { - throw new FS.ErrnoError(err, parent); - } - var hash = FS.hashName(parent.id, name); - for (var node = FS.nameTable[hash]; node; node = node.name_next) { - var nodeName = node.name; - if (node.parent.id === parent.id && nodeName === name) { - return node; - } - } - // if we failed to find it in the cache, call into the VFS - return FS.lookup(parent, name); - },createNode:function (parent, name, mode, rdev) { - if (!FS.FSNode) { - FS.FSNode = function(parent, name, mode, rdev) { - if (!parent) { - parent = this; // root node sets parent to itself - } - this.parent = parent; - this.mount = parent.mount; - this.mounted = null; - this.id = FS.nextInode++; - this.name = name; - this.mode = mode; - this.node_ops = {}; - this.stream_ops = {}; - this.rdev = rdev; - }; - - FS.FSNode.prototype = {}; - - // compatibility - var readMode = 292 | 73; - var writeMode = 146; - - // NOTE we must use Object.defineProperties instead of individual calls to - // Object.defineProperty in order to make closure compiler happy - Object.defineProperties(FS.FSNode.prototype, { - read: { - get: function() { return (this.mode & readMode) === readMode; }, - set: function(val) { val ? this.mode |= readMode : this.mode &= ~readMode; } - }, - write: { - get: function() { return (this.mode & writeMode) === writeMode; }, - set: function(val) { val ? this.mode |= writeMode : this.mode &= ~writeMode; } - }, - isFolder: { - get: function() { return FS.isDir(this.mode); } - }, - isDevice: { - get: function() { return FS.isChrdev(this.mode); } - } - }); - } - - var node = new FS.FSNode(parent, name, mode, rdev); - - FS.hashAddNode(node); - - return node; - },destroyNode:function (node) { - FS.hashRemoveNode(node); - },isRoot:function (node) { - return node === node.parent; - },isMountpoint:function (node) { - return !!node.mounted; - },isFile:function (mode) { - return (mode & 61440) === 32768; - },isDir:function (mode) { - return (mode & 61440) === 16384; - },isLink:function (mode) { - return (mode & 61440) === 40960; - },isChrdev:function (mode) { - return (mode & 61440) === 8192; - },isBlkdev:function (mode) { - return (mode & 61440) === 24576; - },isFIFO:function (mode) { - return (mode & 61440) === 4096; - },isSocket:function (mode) { - return (mode & 49152) === 49152; - },flagModes:{"r":0,"rs":1052672,"r+":2,"w":577,"wx":705,"xw":705,"w+":578,"wx+":706,"xw+":706,"a":1089,"ax":1217,"xa":1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:function (str) { - var flags = FS.flagModes[str]; - if (typeof flags === 'undefined') { - throw new Error('Unknown file open mode: ' + str); - } - return flags; - },flagsToPermissionString:function (flag) { - var perms = ['r', 'w', 'rw'][flag & 3]; - if ((flag & 512)) { - perms += 'w'; - } - return perms; - },nodePermissions:function (node, perms) { - if (FS.ignorePermissions) { - return 0; - } - // return 0 if any user, group or owner bits are set. - if (perms.indexOf('r') !== -1 && !(node.mode & 292)) { - return ERRNO_CODES.EACCES; - } else if (perms.indexOf('w') !== -1 && !(node.mode & 146)) { - return ERRNO_CODES.EACCES; - } else if (perms.indexOf('x') !== -1 && !(node.mode & 73)) { - return ERRNO_CODES.EACCES; - } - return 0; - },mayLookup:function (dir) { - var err = FS.nodePermissions(dir, 'x'); - if (err) return err; - if (!dir.node_ops.lookup) return ERRNO_CODES.EACCES; - return 0; - },mayCreate:function (dir, name) { - try { - var node = FS.lookupNode(dir, name); - return ERRNO_CODES.EEXIST; - } catch (e) { - } - return FS.nodePermissions(dir, 'wx'); - },mayDelete:function (dir, name, isdir) { - var node; - try { - node = FS.lookupNode(dir, name); - } catch (e) { - return e.errno; - } - var err = FS.nodePermissions(dir, 'wx'); - if (err) { - return err; - } - if (isdir) { - if (!FS.isDir(node.mode)) { - return ERRNO_CODES.ENOTDIR; - } - if (FS.isRoot(node) || FS.getPath(node) === FS.cwd()) { - return ERRNO_CODES.EBUSY; - } - } else { - if (FS.isDir(node.mode)) { - return ERRNO_CODES.EISDIR; - } - } - return 0; - },mayOpen:function (node, flags) { - if (!node) { - return ERRNO_CODES.ENOENT; - } - if (FS.isLink(node.mode)) { - return ERRNO_CODES.ELOOP; - } else if (FS.isDir(node.mode)) { - if ((flags & 2097155) !== 0 || // opening for write - (flags & 512)) { - return ERRNO_CODES.EISDIR; - } - } - return FS.nodePermissions(node, FS.flagsToPermissionString(flags)); - },MAX_OPEN_FDS:4096,nextfd:function (fd_start, fd_end) { - fd_start = fd_start || 0; - fd_end = fd_end || FS.MAX_OPEN_FDS; - for (var fd = fd_start; fd <= fd_end; fd++) { - if (!FS.streams[fd]) { - return fd; - } - } - throw new FS.ErrnoError(ERRNO_CODES.EMFILE); - },getStream:function (fd) { - return FS.streams[fd]; - },createStream:function (stream, fd_start, fd_end) { - if (!FS.FSStream) { - FS.FSStream = function(){}; - FS.FSStream.prototype = {}; - // compatibility - Object.defineProperties(FS.FSStream.prototype, { - object: { - get: function() { return this.node; }, - set: function(val) { this.node = val; } - }, - isRead: { - get: function() { return (this.flags & 2097155) !== 1; } - }, - isWrite: { - get: function() { return (this.flags & 2097155) !== 0; } - }, - isAppend: { - get: function() { return (this.flags & 1024); } - } - }); - } - // clone it, so we can return an instance of FSStream - var newStream = new FS.FSStream(); - for (var p in stream) { - newStream[p] = stream[p]; - } - stream = newStream; - var fd = FS.nextfd(fd_start, fd_end); - stream.fd = fd; - FS.streams[fd] = stream; - return stream; - },closeStream:function (fd) { - FS.streams[fd] = null; - },chrdev_stream_ops:{open:function (stream) { - var device = FS.getDevice(stream.node.rdev); - // override node's stream ops with the device's - stream.stream_ops = device.stream_ops; - // forward the open call - if (stream.stream_ops.open) { - stream.stream_ops.open(stream); - } - },llseek:function () { - throw new FS.ErrnoError(ERRNO_CODES.ESPIPE); - }},major:function (dev) { - return ((dev) >> 8); - },minor:function (dev) { - return ((dev) & 0xff); - },makedev:function (ma, mi) { - return ((ma) << 8 | (mi)); - },registerDevice:function (dev, ops) { - FS.devices[dev] = { stream_ops: ops }; - },getDevice:function (dev) { - return FS.devices[dev]; - },getMounts:function (mount) { - var mounts = []; - var check = [mount]; - - while (check.length) { - var m = check.pop(); - - mounts.push(m); - - check.push.apply(check, m.mounts); - } - - return mounts; - },syncfs:function (populate, callback) { - if (typeof(populate) === 'function') { - callback = populate; - populate = false; - } - - var mounts = FS.getMounts(FS.root.mount); - var completed = 0; - - function done(err) { - if (err) { - if (!done.errored) { - done.errored = true; - return callback(err); - } - return; - } - if (++completed >= mounts.length) { - callback(null); - } - }; - - // sync all mounts - mounts.forEach(function (mount) { - if (!mount.type.syncfs) { - return done(null); - } - mount.type.syncfs(mount, populate, done); - }); - },mount:function (type, opts, mountpoint) { - var root = mountpoint === '/'; - var pseudo = !mountpoint; - var node; - - if (root && FS.root) { - throw new FS.ErrnoError(ERRNO_CODES.EBUSY); - } else if (!root && !pseudo) { - var lookup = FS.lookupPath(mountpoint, { follow_mount: false }); - - mountpoint = lookup.path; // use the absolute path - node = lookup.node; - - if (FS.isMountpoint(node)) { - throw new FS.ErrnoError(ERRNO_CODES.EBUSY); - } - - if (!FS.isDir(node.mode)) { - throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR); - } - } - - var mount = { - type: type, - opts: opts, - mountpoint: mountpoint, - mounts: [] - }; - - // create a root node for the fs - var mountRoot = type.mount(mount); - mountRoot.mount = mount; - mount.root = mountRoot; - - if (root) { - FS.root = mountRoot; - } else if (node) { - // set as a mountpoint - node.mounted = mount; - - // add the new mount to the current mount's children - if (node.mount) { - node.mount.mounts.push(mount); - } - } - - return mountRoot; - },unmount:function (mountpoint) { - var lookup = FS.lookupPath(mountpoint, { follow_mount: false }); - - if (!FS.isMountpoint(lookup.node)) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - - // destroy the nodes for this mount, and all its child mounts - var node = lookup.node; - var mount = node.mounted; - var mounts = FS.getMounts(mount); - - Object.keys(FS.nameTable).forEach(function (hash) { - var current = FS.nameTable[hash]; - - while (current) { - var next = current.name_next; - - if (mounts.indexOf(current.mount) !== -1) { - FS.destroyNode(current); - } - - current = next; - } - }); - - // no longer a mountpoint - node.mounted = null; - - // remove this mount from the child mounts - var idx = node.mount.mounts.indexOf(mount); - assert(idx !== -1); - node.mount.mounts.splice(idx, 1); - },lookup:function (parent, name) { - return parent.node_ops.lookup(parent, name); - },mknod:function (path, mode, dev) { - var lookup = FS.lookupPath(path, { parent: true }); - var parent = lookup.node; - var name = PATH.basename(path); - if (!name || name === '.' || name === '..') { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - var err = FS.mayCreate(parent, name); - if (err) { - throw new FS.ErrnoError(err); - } - if (!parent.node_ops.mknod) { - throw new FS.ErrnoError(ERRNO_CODES.EPERM); - } - return parent.node_ops.mknod(parent, name, mode, dev); - },create:function (path, mode) { - mode = mode !== undefined ? mode : 438 /* 0666 */; - mode &= 4095; - mode |= 32768; - return FS.mknod(path, mode, 0); - },mkdir:function (path, mode) { - mode = mode !== undefined ? mode : 511 /* 0777 */; - mode &= 511 | 512; - mode |= 16384; - return FS.mknod(path, mode, 0); - },mkdev:function (path, mode, dev) { - if (typeof(dev) === 'undefined') { - dev = mode; - mode = 438 /* 0666 */; - } - mode |= 8192; - return FS.mknod(path, mode, dev); - },symlink:function (oldpath, newpath) { - if (!PATH.resolve(oldpath)) { - throw new FS.ErrnoError(ERRNO_CODES.ENOENT); - } - var lookup = FS.lookupPath(newpath, { parent: true }); - var parent = lookup.node; - if (!parent) { - throw new FS.ErrnoError(ERRNO_CODES.ENOENT); - } - var newname = PATH.basename(newpath); - var err = FS.mayCreate(parent, newname); - if (err) { - throw new FS.ErrnoError(err); - } - if (!parent.node_ops.symlink) { - throw new FS.ErrnoError(ERRNO_CODES.EPERM); - } - return parent.node_ops.symlink(parent, newname, oldpath); - },rename:function (old_path, new_path) { - var old_dirname = PATH.dirname(old_path); - var new_dirname = PATH.dirname(new_path); - var old_name = PATH.basename(old_path); - var new_name = PATH.basename(new_path); - // parents must exist - var lookup, old_dir, new_dir; - try { - lookup = FS.lookupPath(old_path, { parent: true }); - old_dir = lookup.node; - lookup = FS.lookupPath(new_path, { parent: true }); - new_dir = lookup.node; - } catch (e) { - throw new FS.ErrnoError(ERRNO_CODES.EBUSY); - } - if (!old_dir || !new_dir) throw new FS.ErrnoError(ERRNO_CODES.ENOENT); - // need to be part of the same mount - if (old_dir.mount !== new_dir.mount) { - throw new FS.ErrnoError(ERRNO_CODES.EXDEV); - } - // source must exist - var old_node = FS.lookupNode(old_dir, old_name); - // old path should not be an ancestor of the new path - var relative = PATH.relative(old_path, new_dirname); - if (relative.charAt(0) !== '.') { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - // new path should not be an ancestor of the old path - relative = PATH.relative(new_path, old_dirname); - if (relative.charAt(0) !== '.') { - throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY); - } - // see if the new path already exists - var new_node; - try { - new_node = FS.lookupNode(new_dir, new_name); - } catch (e) { - // not fatal - } - // early out if nothing needs to change - if (old_node === new_node) { - return; - } - // we'll need to delete the old entry - var isdir = FS.isDir(old_node.mode); - var err = FS.mayDelete(old_dir, old_name, isdir); - if (err) { - throw new FS.ErrnoError(err); - } - // need delete permissions if we'll be overwriting. - // need create permissions if new doesn't already exist. - err = new_node ? - FS.mayDelete(new_dir, new_name, isdir) : - FS.mayCreate(new_dir, new_name); - if (err) { - throw new FS.ErrnoError(err); - } - if (!old_dir.node_ops.rename) { - throw new FS.ErrnoError(ERRNO_CODES.EPERM); - } - if (FS.isMountpoint(old_node) || (new_node && FS.isMountpoint(new_node))) { - throw new FS.ErrnoError(ERRNO_CODES.EBUSY); - } - // if we are going to change the parent, check write permissions - if (new_dir !== old_dir) { - err = FS.nodePermissions(old_dir, 'w'); - if (err) { - throw new FS.ErrnoError(err); - } - } - try { - if (FS.trackingDelegate['willMovePath']) { - FS.trackingDelegate['willMovePath'](old_path, new_path); - } - } catch(e) { - console.log("FS.trackingDelegate['willMovePath']('"+old_path+"', '"+new_path+"') threw an exception: " + e.message); - } - // remove the node from the lookup hash - FS.hashRemoveNode(old_node); - // do the underlying fs rename - try { - old_dir.node_ops.rename(old_node, new_dir, new_name); - } catch (e) { - throw e; - } finally { - // add the node back to the hash (in case node_ops.rename - // changed its name) - FS.hashAddNode(old_node); - } - try { - if (FS.trackingDelegate['onMovePath']) FS.trackingDelegate['onMovePath'](old_path, new_path); - } catch(e) { - console.log("FS.trackingDelegate['onMovePath']('"+old_path+"', '"+new_path+"') threw an exception: " + e.message); - } - },rmdir:function (path) { - var lookup = FS.lookupPath(path, { parent: true }); - var parent = lookup.node; - var name = PATH.basename(path); - var node = FS.lookupNode(parent, name); - var err = FS.mayDelete(parent, name, true); - if (err) { - throw new FS.ErrnoError(err); - } - if (!parent.node_ops.rmdir) { - throw new FS.ErrnoError(ERRNO_CODES.EPERM); - } - if (FS.isMountpoint(node)) { - throw new FS.ErrnoError(ERRNO_CODES.EBUSY); - } - try { - if (FS.trackingDelegate['willDeletePath']) { - FS.trackingDelegate['willDeletePath'](path); - } - } catch(e) { - console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: " + e.message); - } - parent.node_ops.rmdir(parent, name); - FS.destroyNode(node); - try { - if (FS.trackingDelegate['onDeletePath']) FS.trackingDelegate['onDeletePath'](path); - } catch(e) { - console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: " + e.message); - } - },readdir:function (path) { - var lookup = FS.lookupPath(path, { follow: true }); - var node = lookup.node; - if (!node.node_ops.readdir) { - throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR); - } - return node.node_ops.readdir(node); - },unlink:function (path) { - var lookup = FS.lookupPath(path, { parent: true }); - var parent = lookup.node; - var name = PATH.basename(path); - var node = FS.lookupNode(parent, name); - var err = FS.mayDelete(parent, name, false); - if (err) { - // POSIX says unlink should set EPERM, not EISDIR - if (err === ERRNO_CODES.EISDIR) err = ERRNO_CODES.EPERM; - throw new FS.ErrnoError(err); - } - if (!parent.node_ops.unlink) { - throw new FS.ErrnoError(ERRNO_CODES.EPERM); - } - if (FS.isMountpoint(node)) { - throw new FS.ErrnoError(ERRNO_CODES.EBUSY); - } - try { - if (FS.trackingDelegate['willDeletePath']) { - FS.trackingDelegate['willDeletePath'](path); - } - } catch(e) { - console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: " + e.message); - } - parent.node_ops.unlink(parent, name); - FS.destroyNode(node); - try { - if (FS.trackingDelegate['onDeletePath']) FS.trackingDelegate['onDeletePath'](path); - } catch(e) { - console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: " + e.message); - } - },readlink:function (path) { - var lookup = FS.lookupPath(path); - var link = lookup.node; - if (!link) { - throw new FS.ErrnoError(ERRNO_CODES.ENOENT); - } - if (!link.node_ops.readlink) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - return PATH.resolve(FS.getPath(link.parent), link.node_ops.readlink(link)); - },stat:function (path, dontFollow) { - var lookup = FS.lookupPath(path, { follow: !dontFollow }); - var node = lookup.node; - if (!node) { - throw new FS.ErrnoError(ERRNO_CODES.ENOENT); - } - if (!node.node_ops.getattr) { - throw new FS.ErrnoError(ERRNO_CODES.EPERM); - } - return node.node_ops.getattr(node); - },lstat:function (path) { - return FS.stat(path, true); - },chmod:function (path, mode, dontFollow) { - var node; - if (typeof path === 'string') { - var lookup = FS.lookupPath(path, { follow: !dontFollow }); - node = lookup.node; - } else { - node = path; - } - if (!node.node_ops.setattr) { - throw new FS.ErrnoError(ERRNO_CODES.EPERM); - } - node.node_ops.setattr(node, { - mode: (mode & 4095) | (node.mode & ~4095), - timestamp: Date.now() - }); - },lchmod:function (path, mode) { - FS.chmod(path, mode, true); - },fchmod:function (fd, mode) { - var stream = FS.getStream(fd); - if (!stream) { - throw new FS.ErrnoError(ERRNO_CODES.EBADF); - } - FS.chmod(stream.node, mode); - },chown:function (path, uid, gid, dontFollow) { - var node; - if (typeof path === 'string') { - var lookup = FS.lookupPath(path, { follow: !dontFollow }); - node = lookup.node; - } else { - node = path; - } - if (!node.node_ops.setattr) { - throw new FS.ErrnoError(ERRNO_CODES.EPERM); - } - node.node_ops.setattr(node, { - timestamp: Date.now() - // we ignore the uid / gid for now - }); - },lchown:function (path, uid, gid) { - FS.chown(path, uid, gid, true); - },fchown:function (fd, uid, gid) { - var stream = FS.getStream(fd); - if (!stream) { - throw new FS.ErrnoError(ERRNO_CODES.EBADF); - } - FS.chown(stream.node, uid, gid); - },truncate:function (path, len) { - if (len < 0) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - var node; - if (typeof path === 'string') { - var lookup = FS.lookupPath(path, { follow: true }); - node = lookup.node; - } else { - node = path; - } - if (!node.node_ops.setattr) { - throw new FS.ErrnoError(ERRNO_CODES.EPERM); - } - if (FS.isDir(node.mode)) { - throw new FS.ErrnoError(ERRNO_CODES.EISDIR); - } - if (!FS.isFile(node.mode)) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - var err = FS.nodePermissions(node, 'w'); - if (err) { - throw new FS.ErrnoError(err); - } - node.node_ops.setattr(node, { - size: len, - timestamp: Date.now() - }); - },ftruncate:function (fd, len) { - var stream = FS.getStream(fd); - if (!stream) { - throw new FS.ErrnoError(ERRNO_CODES.EBADF); - } - if ((stream.flags & 2097155) === 0) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - FS.truncate(stream.node, len); - },utime:function (path, atime, mtime) { - var lookup = FS.lookupPath(path, { follow: true }); - var node = lookup.node; - node.node_ops.setattr(node, { - timestamp: Math.max(atime, mtime) - }); - },open:function (path, flags, mode, fd_start, fd_end) { - if (path === "") { - throw new FS.ErrnoError(ERRNO_CODES.ENOENT); - } - flags = typeof flags === 'string' ? FS.modeStringToFlags(flags) : flags; - mode = typeof mode === 'undefined' ? 438 /* 0666 */ : mode; - if ((flags & 64)) { - mode = (mode & 4095) | 32768; - } else { - mode = 0; - } - var node; - if (typeof path === 'object') { - node = path; - } else { - path = PATH.normalize(path); - try { - var lookup = FS.lookupPath(path, { - follow: !(flags & 131072) - }); - node = lookup.node; - } catch (e) { - // ignore - } - } - // perhaps we need to create the node - var created = false; - if ((flags & 64)) { - if (node) { - // if O_CREAT and O_EXCL are set, error out if the node already exists - if ((flags & 128)) { - throw new FS.ErrnoError(ERRNO_CODES.EEXIST); - } - } else { - // node doesn't exist, try to create it - node = FS.mknod(path, mode, 0); - created = true; - } - } - if (!node) { - throw new FS.ErrnoError(ERRNO_CODES.ENOENT); - } - // can't truncate a device - if (FS.isChrdev(node.mode)) { - flags &= ~512; - } - // if asked only for a directory, then this must be one - if ((flags & 65536) && !FS.isDir(node.mode)) { - throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR); - } - // check permissions, if this is not a file we just created now (it is ok to - // create and write to a file with read-only permissions; it is read-only - // for later use) - if (!created) { - var err = FS.mayOpen(node, flags); - if (err) { - throw new FS.ErrnoError(err); - } - } - // do truncation if necessary - if ((flags & 512)) { - FS.truncate(node, 0); - } - // we've already handled these, don't pass down to the underlying vfs - flags &= ~(128 | 512); - - // register the stream with the filesystem - var stream = FS.createStream({ - node: node, - path: FS.getPath(node), // we want the absolute path to the node - flags: flags, - seekable: true, - position: 0, - stream_ops: node.stream_ops, - // used by the file family libc calls (fopen, fwrite, ferror, etc.) - ungotten: [], - error: false - }, fd_start, fd_end); - // call the new stream's open function - if (stream.stream_ops.open) { - stream.stream_ops.open(stream); - } - if (Module['logReadFiles'] && !(flags & 1)) { - if (!FS.readFiles) FS.readFiles = {}; - if (!(path in FS.readFiles)) { - FS.readFiles[path] = 1; - Module['printErr']('read file: ' + path); - } - } - try { - if (FS.trackingDelegate['onOpenFile']) { - var trackingFlags = 0; - if ((flags & 2097155) !== 1) { - trackingFlags |= FS.tracking.openFlags.READ; - } - if ((flags & 2097155) !== 0) { - trackingFlags |= FS.tracking.openFlags.WRITE; - } - FS.trackingDelegate['onOpenFile'](path, trackingFlags); - } - } catch(e) { - console.log("FS.trackingDelegate['onOpenFile']('"+path+"', flags) threw an exception: " + e.message); - } - return stream; - },close:function (stream) { - if (stream.getdents) stream.getdents = null; // free readdir state - try { - if (stream.stream_ops.close) { - stream.stream_ops.close(stream); - } - } catch (e) { - throw e; - } finally { - FS.closeStream(stream.fd); - } - },llseek:function (stream, offset, whence) { - if (!stream.seekable || !stream.stream_ops.llseek) { - throw new FS.ErrnoError(ERRNO_CODES.ESPIPE); - } - stream.position = stream.stream_ops.llseek(stream, offset, whence); - stream.ungotten = []; - return stream.position; - },read:function (stream, buffer, offset, length, position) { - if (length < 0 || position < 0) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - if ((stream.flags & 2097155) === 1) { - throw new FS.ErrnoError(ERRNO_CODES.EBADF); - } - if (FS.isDir(stream.node.mode)) { - throw new FS.ErrnoError(ERRNO_CODES.EISDIR); - } - if (!stream.stream_ops.read) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - var seeking = true; - if (typeof position === 'undefined') { - position = stream.position; - seeking = false; - } else if (!stream.seekable) { - throw new FS.ErrnoError(ERRNO_CODES.ESPIPE); - } - var bytesRead = stream.stream_ops.read(stream, buffer, offset, length, position); - if (!seeking) stream.position += bytesRead; - return bytesRead; - },write:function (stream, buffer, offset, length, position, canOwn) { - if (length < 0 || position < 0) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - if ((stream.flags & 2097155) === 0) { - throw new FS.ErrnoError(ERRNO_CODES.EBADF); - } - if (FS.isDir(stream.node.mode)) { - throw new FS.ErrnoError(ERRNO_CODES.EISDIR); - } - if (!stream.stream_ops.write) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - if (stream.flags & 1024) { - // seek to the end before writing in append mode - FS.llseek(stream, 0, 2); - } - var seeking = true; - if (typeof position === 'undefined') { - position = stream.position; - seeking = false; - } else if (!stream.seekable) { - throw new FS.ErrnoError(ERRNO_CODES.ESPIPE); - } - var bytesWritten = stream.stream_ops.write(stream, buffer, offset, length, position, canOwn); - if (!seeking) stream.position += bytesWritten; - try { - if (stream.path && FS.trackingDelegate['onWriteToFile']) FS.trackingDelegate['onWriteToFile'](stream.path); - } catch(e) { - console.log("FS.trackingDelegate['onWriteToFile']('"+path+"') threw an exception: " + e.message); - } - return bytesWritten; - },allocate:function (stream, offset, length) { - if (offset < 0 || length <= 0) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - if ((stream.flags & 2097155) === 0) { - throw new FS.ErrnoError(ERRNO_CODES.EBADF); - } - if (!FS.isFile(stream.node.mode) && !FS.isDir(node.mode)) { - throw new FS.ErrnoError(ERRNO_CODES.ENODEV); - } - if (!stream.stream_ops.allocate) { - throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP); - } - stream.stream_ops.allocate(stream, offset, length); - },mmap:function (stream, buffer, offset, length, position, prot, flags) { - // TODO if PROT is PROT_WRITE, make sure we have write access - if ((stream.flags & 2097155) === 1) { - throw new FS.ErrnoError(ERRNO_CODES.EACCES); - } - if (!stream.stream_ops.mmap) { - throw new FS.ErrnoError(ERRNO_CODES.ENODEV); - } - return stream.stream_ops.mmap(stream, buffer, offset, length, position, prot, flags); - },msync:function (stream, buffer, offset, length, mmapFlags) { - if (!stream || !stream.stream_ops.msync) { - return 0; - } - return stream.stream_ops.msync(stream, buffer, offset, length, mmapFlags); - },munmap:function (stream) { - return 0; - },ioctl:function (stream, cmd, arg) { - if (!stream.stream_ops.ioctl) { - throw new FS.ErrnoError(ERRNO_CODES.ENOTTY); - } - return stream.stream_ops.ioctl(stream, cmd, arg); - },readFile:function (path, opts) { - opts = opts || {}; - opts.flags = opts.flags || 'r'; - opts.encoding = opts.encoding || 'binary'; - if (opts.encoding !== 'utf8' && opts.encoding !== 'binary') { - throw new Error('Invalid encoding type "' + opts.encoding + '"'); - } - var ret; - var stream = FS.open(path, opts.flags); - var stat = FS.stat(path); - var length = stat.size; - var buf = new Uint8Array(length); - FS.read(stream, buf, 0, length, 0); - if (opts.encoding === 'utf8') { - ret = UTF8ArrayToString(buf, 0); - } else if (opts.encoding === 'binary') { - ret = buf; - } - FS.close(stream); - return ret; - },writeFile:function (path, data, opts) { - opts = opts || {}; - opts.flags = opts.flags || 'w'; - opts.encoding = opts.encoding || 'utf8'; - if (opts.encoding !== 'utf8' && opts.encoding !== 'binary') { - throw new Error('Invalid encoding type "' + opts.encoding + '"'); - } - var stream = FS.open(path, opts.flags, opts.mode); - if (opts.encoding === 'utf8') { - var buf = new Uint8Array(lengthBytesUTF8(data)+1); - var actualNumBytes = stringToUTF8Array(data, buf, 0, buf.length); - FS.write(stream, buf, 0, actualNumBytes, 0, opts.canOwn); - } else if (opts.encoding === 'binary') { - FS.write(stream, data, 0, data.length, 0, opts.canOwn); - } - FS.close(stream); - },cwd:function () { - return FS.currentPath; - },chdir:function (path) { - var lookup = FS.lookupPath(path, { follow: true }); - if (!FS.isDir(lookup.node.mode)) { - throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR); - } - var err = FS.nodePermissions(lookup.node, 'x'); - if (err) { - throw new FS.ErrnoError(err); - } - FS.currentPath = lookup.path; - },createDefaultDirectories:function () { - FS.mkdir('/tmp'); - FS.mkdir('/home'); - FS.mkdir('/home/web_user'); - },createDefaultDevices:function () { - // create /dev - FS.mkdir('/dev'); - // setup /dev/null - FS.registerDevice(FS.makedev(1, 3), { - read: function() { return 0; }, - write: function(stream, buffer, offset, length, pos) { return length; } - }); - FS.mkdev('/dev/null', FS.makedev(1, 3)); - // setup /dev/tty and /dev/tty1 - // stderr needs to print output using Module['printErr'] - // so we register a second tty just for it. - TTY.register(FS.makedev(5, 0), TTY.default_tty_ops); - TTY.register(FS.makedev(6, 0), TTY.default_tty1_ops); - FS.mkdev('/dev/tty', FS.makedev(5, 0)); - FS.mkdev('/dev/tty1', FS.makedev(6, 0)); - // setup /dev/[u]random - var random_device; - if (typeof crypto !== 'undefined') { - // for modern web browsers - var randomBuffer = new Uint8Array(1); - random_device = function() { crypto.getRandomValues(randomBuffer); return randomBuffer[0]; }; - } else if (ENVIRONMENT_IS_NODE) { - // for nodejs - random_device = function() { return require('crypto').randomBytes(1)[0]; }; - } else { - // default for ES5 platforms - random_device = function() { return (Math.random()*256)|0; }; - } - FS.createDevice('/dev', 'random', random_device); - FS.createDevice('/dev', 'urandom', random_device); - // we're not going to emulate the actual shm device, - // just create the tmp dirs that reside in it commonly - FS.mkdir('/dev/shm'); - FS.mkdir('/dev/shm/tmp'); - },createSpecialDirectories:function () { - // create /proc/self/fd which allows /proc/self/fd/6 => readlink gives the name of the stream for fd 6 (see test_unistd_ttyname) - FS.mkdir('/proc'); - FS.mkdir('/proc/self'); - FS.mkdir('/proc/self/fd'); - FS.mount({ - mount: function() { - var node = FS.createNode('/proc/self', 'fd', 16384 | 0777, 73); - node.node_ops = { - lookup: function(parent, name) { - var fd = +name; - var stream = FS.getStream(fd); - if (!stream) throw new FS.ErrnoError(ERRNO_CODES.EBADF); - var ret = { - parent: null, - mount: { mountpoint: 'fake' }, - node_ops: { readlink: function() { return stream.path } } - }; - ret.parent = ret; // make it look like a simple root node - return ret; - } - }; - return node; - } - }, {}, '/proc/self/fd'); - },createStandardStreams:function () { - // TODO deprecate the old functionality of a single - // input / output callback and that utilizes FS.createDevice - // and instead require a unique set of stream ops - - // by default, we symlink the standard streams to the - // default tty devices. however, if the standard streams - // have been overwritten we create a unique device for - // them instead. - if (Module['stdin']) { - FS.createDevice('/dev', 'stdin', Module['stdin']); - } else { - FS.symlink('/dev/tty', '/dev/stdin'); - } - if (Module['stdout']) { - FS.createDevice('/dev', 'stdout', null, Module['stdout']); - } else { - FS.symlink('/dev/tty', '/dev/stdout'); - } - if (Module['stderr']) { - FS.createDevice('/dev', 'stderr', null, Module['stderr']); - } else { - FS.symlink('/dev/tty1', '/dev/stderr'); - } - - // open default streams for the stdin, stdout and stderr devices - var stdin = FS.open('/dev/stdin', 'r'); - assert(stdin.fd === 0, 'invalid handle for stdin (' + stdin.fd + ')'); - - var stdout = FS.open('/dev/stdout', 'w'); - assert(stdout.fd === 1, 'invalid handle for stdout (' + stdout.fd + ')'); - - var stderr = FS.open('/dev/stderr', 'w'); - assert(stderr.fd === 2, 'invalid handle for stderr (' + stderr.fd + ')'); - },ensureErrnoError:function () { - if (FS.ErrnoError) return; - FS.ErrnoError = function ErrnoError(errno, node) { - //Module.printErr(stackTrace()); // useful for debugging - this.node = node; - this.setErrno = function(errno) { - this.errno = errno; - for (var key in ERRNO_CODES) { - if (ERRNO_CODES[key] === errno) { - this.code = key; - break; - } - } - }; - this.setErrno(errno); - this.message = ERRNO_MESSAGES[errno]; - }; - FS.ErrnoError.prototype = new Error(); - FS.ErrnoError.prototype.constructor = FS.ErrnoError; - // Some errors may happen quite a bit, to avoid overhead we reuse them (and suffer a lack of stack info) - [ERRNO_CODES.ENOENT].forEach(function(code) { - FS.genericErrors[code] = new FS.ErrnoError(code); - FS.genericErrors[code].stack = ''; - }); - },staticInit:function () { - FS.ensureErrnoError(); - - FS.nameTable = new Array(4096); - - FS.mount(MEMFS, {}, '/'); - - FS.createDefaultDirectories(); - FS.createDefaultDevices(); - FS.createSpecialDirectories(); - - FS.filesystems = { - 'MEMFS': MEMFS, - 'IDBFS': IDBFS, - 'NODEFS': NODEFS, - 'WORKERFS': WORKERFS, - }; - },init:function (input, output, error) { - assert(!FS.init.initialized, 'FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)'); - FS.init.initialized = true; - - FS.ensureErrnoError(); - - // Allow Module.stdin etc. to provide defaults, if none explicitly passed to us here - Module['stdin'] = input || Module['stdin']; - Module['stdout'] = output || Module['stdout']; - Module['stderr'] = error || Module['stderr']; - - FS.createStandardStreams(); - },quit:function () { - FS.init.initialized = false; - // force-flush all streams, so we get musl std streams printed out - var fflush = Module['_fflush']; - if (fflush) fflush(0); - // close all of our streams - for (var i = 0; i < FS.streams.length; i++) { - var stream = FS.streams[i]; - if (!stream) { - continue; - } - FS.close(stream); - } - },getMode:function (canRead, canWrite) { - var mode = 0; - if (canRead) mode |= 292 | 73; - if (canWrite) mode |= 146; - return mode; - },joinPath:function (parts, forceRelative) { - var path = PATH.join.apply(null, parts); - if (forceRelative && path[0] == '/') path = path.substr(1); - return path; - },absolutePath:function (relative, base) { - return PATH.resolve(base, relative); - },standardizePath:function (path) { - return PATH.normalize(path); - },findObject:function (path, dontResolveLastLink) { - var ret = FS.analyzePath(path, dontResolveLastLink); - if (ret.exists) { - return ret.object; - } else { - ___setErrNo(ret.error); - return null; - } - },analyzePath:function (path, dontResolveLastLink) { - // operate from within the context of the symlink's target - try { - var lookup = FS.lookupPath(path, { follow: !dontResolveLastLink }); - path = lookup.path; - } catch (e) { - } - var ret = { - isRoot: false, exists: false, error: 0, name: null, path: null, object: null, - parentExists: false, parentPath: null, parentObject: null - }; - try { - var lookup = FS.lookupPath(path, { parent: true }); - ret.parentExists = true; - ret.parentPath = lookup.path; - ret.parentObject = lookup.node; - ret.name = PATH.basename(path); - lookup = FS.lookupPath(path, { follow: !dontResolveLastLink }); - ret.exists = true; - ret.path = lookup.path; - ret.object = lookup.node; - ret.name = lookup.node.name; - ret.isRoot = lookup.path === '/'; - } catch (e) { - ret.error = e.errno; - }; - return ret; - },createFolder:function (parent, name, canRead, canWrite) { - var path = PATH.join2(typeof parent === 'string' ? parent : FS.getPath(parent), name); - var mode = FS.getMode(canRead, canWrite); - return FS.mkdir(path, mode); - },createPath:function (parent, path, canRead, canWrite) { - parent = typeof parent === 'string' ? parent : FS.getPath(parent); - var parts = path.split('/').reverse(); - while (parts.length) { - var part = parts.pop(); - if (!part) continue; - var current = PATH.join2(parent, part); - try { - FS.mkdir(current); - } catch (e) { - // ignore EEXIST - } - parent = current; - } - return current; - },createFile:function (parent, name, properties, canRead, canWrite) { - var path = PATH.join2(typeof parent === 'string' ? parent : FS.getPath(parent), name); - var mode = FS.getMode(canRead, canWrite); - return FS.create(path, mode); - },createDataFile:function (parent, name, data, canRead, canWrite, canOwn) { - var path = name ? PATH.join2(typeof parent === 'string' ? parent : FS.getPath(parent), name) : parent; - var mode = FS.getMode(canRead, canWrite); - var node = FS.create(path, mode); - if (data) { - if (typeof data === 'string') { - var arr = new Array(data.length); - for (var i = 0, len = data.length; i < len; ++i) arr[i] = data.charCodeAt(i); - data = arr; - } - // make sure we can write to the file - FS.chmod(node, mode | 146); - var stream = FS.open(node, 'w'); - FS.write(stream, data, 0, data.length, 0, canOwn); - FS.close(stream); - FS.chmod(node, mode); - } - return node; - },createDevice:function (parent, name, input, output) { - var path = PATH.join2(typeof parent === 'string' ? parent : FS.getPath(parent), name); - var mode = FS.getMode(!!input, !!output); - if (!FS.createDevice.major) FS.createDevice.major = 64; - var dev = FS.makedev(FS.createDevice.major++, 0); - // Create a fake device that a set of stream ops to emulate - // the old behavior. - FS.registerDevice(dev, { - open: function(stream) { - stream.seekable = false; - }, - close: function(stream) { - // flush any pending line data - if (output && output.buffer && output.buffer.length) { - output(10); - } - }, - read: function(stream, buffer, offset, length, pos /* ignored */) { - var bytesRead = 0; - for (var i = 0; i < length; i++) { - var result; - try { - result = input(); - } catch (e) { - throw new FS.ErrnoError(ERRNO_CODES.EIO); - } - if (result === undefined && bytesRead === 0) { - throw new FS.ErrnoError(ERRNO_CODES.EAGAIN); - } - if (result === null || result === undefined) break; - bytesRead++; - buffer[offset+i] = result; - } - if (bytesRead) { - stream.node.timestamp = Date.now(); - } - return bytesRead; - }, - write: function(stream, buffer, offset, length, pos) { - for (var i = 0; i < length; i++) { - try { - output(buffer[offset+i]); - } catch (e) { - throw new FS.ErrnoError(ERRNO_CODES.EIO); - } - } - if (length) { - stream.node.timestamp = Date.now(); - } - return i; - } - }); - return FS.mkdev(path, mode, dev); - },createLink:function (parent, name, target, canRead, canWrite) { - var path = PATH.join2(typeof parent === 'string' ? parent : FS.getPath(parent), name); - return FS.symlink(target, path); - },forceLoadFile:function (obj) { - if (obj.isDevice || obj.isFolder || obj.link || obj.contents) return true; - var success = true; - if (typeof XMLHttpRequest !== 'undefined') { - throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread."); - } else if (Module['read']) { - // Command-line. - try { - // WARNING: Can't read binary files in V8's d8 or tracemonkey's js, as - // read() will try to parse UTF8. - obj.contents = intArrayFromString(Module['read'](obj.url), true); - obj.usedBytes = obj.contents.length; - } catch (e) { - success = false; - } - } else { - throw new Error('Cannot load without read() or XMLHttpRequest.'); - } - if (!success) ___setErrNo(ERRNO_CODES.EIO); - return success; - },createLazyFile:function (parent, name, url, canRead, canWrite) { - // Lazy chunked Uint8Array (implements get and length from Uint8Array). Actual getting is abstracted away for eventual reuse. - function LazyUint8Array() { - this.lengthKnown = false; - this.chunks = []; // Loaded chunks. Index is the chunk number - } - LazyUint8Array.prototype.get = function LazyUint8Array_get(idx) { - if (idx > this.length-1 || idx < 0) { - return undefined; - } - var chunkOffset = idx % this.chunkSize; - var chunkNum = (idx / this.chunkSize)|0; - return this.getter(chunkNum)[chunkOffset]; - } - LazyUint8Array.prototype.setDataGetter = function LazyUint8Array_setDataGetter(getter) { - this.getter = getter; - } - LazyUint8Array.prototype.cacheLength = function LazyUint8Array_cacheLength() { - // Find length - var xhr = new XMLHttpRequest(); - xhr.open('HEAD', url, false); - xhr.send(null); - if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error("Couldn't load " + url + ". Status: " + xhr.status); - var datalength = Number(xhr.getResponseHeader("Content-length")); - var header; - var hasByteServing = (header = xhr.getResponseHeader("Accept-Ranges")) && header === "bytes"; - var chunkSize = 1024*1024; // Chunk size in bytes - - if (!hasByteServing) chunkSize = datalength; - - // Function to get a range from the remote URL. - var doXHR = (function(from, to) { - if (from > to) throw new Error("invalid range (" + from + ", " + to + ") or no bytes requested!"); - if (to > datalength-1) throw new Error("only " + datalength + " bytes available! programmer error!"); - - // TODO: Use mozResponseArrayBuffer, responseStream, etc. if available. - var xhr = new XMLHttpRequest(); - xhr.open('GET', url, false); - if (datalength !== chunkSize) xhr.setRequestHeader("Range", "bytes=" + from + "-" + to); - - // Some hints to the browser that we want binary data. - if (typeof Uint8Array != 'undefined') xhr.responseType = 'arraybuffer'; - if (xhr.overrideMimeType) { - xhr.overrideMimeType('text/plain; charset=x-user-defined'); - } - - xhr.send(null); - if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error("Couldn't load " + url + ". Status: " + xhr.status); - if (xhr.response !== undefined) { - return new Uint8Array(xhr.response || []); - } else { - return intArrayFromString(xhr.responseText || '', true); - } - }); - var lazyArray = this; - lazyArray.setDataGetter(function(chunkNum) { - var start = chunkNum * chunkSize; - var end = (chunkNum+1) * chunkSize - 1; // including this byte - end = Math.min(end, datalength-1); // if datalength-1 is selected, this is the last block - if (typeof(lazyArray.chunks[chunkNum]) === "undefined") { - lazyArray.chunks[chunkNum] = doXHR(start, end); - } - if (typeof(lazyArray.chunks[chunkNum]) === "undefined") throw new Error("doXHR failed!"); - return lazyArray.chunks[chunkNum]; - }); - - this._length = datalength; - this._chunkSize = chunkSize; - this.lengthKnown = true; - } - if (typeof XMLHttpRequest !== 'undefined') { - if (!ENVIRONMENT_IS_WORKER) throw 'Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc'; - var lazyArray = new LazyUint8Array(); - Object.defineProperty(lazyArray, "length", { - get: function() { - if(!this.lengthKnown) { - this.cacheLength(); - } - return this._length; - } - }); - Object.defineProperty(lazyArray, "chunkSize", { - get: function() { - if(!this.lengthKnown) { - this.cacheLength(); - } - return this._chunkSize; - } - }); - - var properties = { isDevice: false, contents: lazyArray }; - } else { - var properties = { isDevice: false, url: url }; - } - - var node = FS.createFile(parent, name, properties, canRead, canWrite); - // This is a total hack, but I want to get this lazy file code out of the - // core of MEMFS. If we want to keep this lazy file concept I feel it should - // be its own thin LAZYFS proxying calls to MEMFS. - if (properties.contents) { - node.contents = properties.contents; - } else if (properties.url) { - node.contents = null; - node.url = properties.url; - } - // Add a function that defers querying the file size until it is asked the first time. - Object.defineProperty(node, "usedBytes", { - get: function() { return this.contents.length; } - }); - // override each stream op with one that tries to force load the lazy file first - var stream_ops = {}; - var keys = Object.keys(node.stream_ops); - keys.forEach(function(key) { - var fn = node.stream_ops[key]; - stream_ops[key] = function forceLoadLazyFile() { - if (!FS.forceLoadFile(node)) { - throw new FS.ErrnoError(ERRNO_CODES.EIO); - } - return fn.apply(null, arguments); - }; - }); - // use a custom read function - stream_ops.read = function stream_ops_read(stream, buffer, offset, length, position) { - if (!FS.forceLoadFile(node)) { - throw new FS.ErrnoError(ERRNO_CODES.EIO); - } - var contents = stream.node.contents; - if (position >= contents.length) - return 0; - var size = Math.min(contents.length - position, length); - assert(size >= 0); - if (contents.slice) { // normal array - for (var i = 0; i < size; i++) { - buffer[offset + i] = contents[position + i]; - } - } else { - for (var i = 0; i < size; i++) { // LazyUint8Array from sync binary XHR - buffer[offset + i] = contents.get(position + i); - } - } - return size; - }; - node.stream_ops = stream_ops; - return node; - },createPreloadedFile:function (parent, name, url, canRead, canWrite, onload, onerror, dontCreateFile, canOwn, preFinish) { - Browser.init(); - // TODO we should allow people to just pass in a complete filename instead - // of parent and name being that we just join them anyways - var fullname = name ? PATH.resolve(PATH.join2(parent, name)) : parent; - var dep = getUniqueRunDependency('cp ' + fullname); // might have several active requests for the same fullname - function processData(byteArray) { - function finish(byteArray) { - if (preFinish) preFinish(); - if (!dontCreateFile) { - FS.createDataFile(parent, name, byteArray, canRead, canWrite, canOwn); - } - if (onload) onload(); - removeRunDependency(dep); - } - var handled = false; - Module['preloadPlugins'].forEach(function(plugin) { - if (handled) return; - if (plugin['canHandle'](fullname)) { - plugin['handle'](byteArray, fullname, finish, function() { - if (onerror) onerror(); - removeRunDependency(dep); - }); - handled = true; - } - }); - if (!handled) finish(byteArray); - } - addRunDependency(dep); - if (typeof url == 'string') { - Browser.asyncLoad(url, function(byteArray) { - processData(byteArray); - }, onerror); - } else { - processData(url); - } - },indexedDB:function () { - return window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB; - },DB_NAME:function () { - return 'EM_FS_' + window.location.pathname; - },DB_VERSION:20,DB_STORE_NAME:"FILE_DATA",saveFilesToDB:function (paths, onload, onerror) { - onload = onload || function(){}; - onerror = onerror || function(){}; - var indexedDB = FS.indexedDB(); - try { - var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION); - } catch (e) { - return onerror(e); - } - openRequest.onupgradeneeded = function openRequest_onupgradeneeded() { - console.log('creating db'); - var db = openRequest.result; - db.createObjectStore(FS.DB_STORE_NAME); - }; - openRequest.onsuccess = function openRequest_onsuccess() { - var db = openRequest.result; - var transaction = db.transaction([FS.DB_STORE_NAME], 'readwrite'); - var files = transaction.objectStore(FS.DB_STORE_NAME); - var ok = 0, fail = 0, total = paths.length; - function finish() { - if (fail == 0) onload(); else onerror(); - } - paths.forEach(function(path) { - var putRequest = files.put(FS.analyzePath(path).object.contents, path); - putRequest.onsuccess = function putRequest_onsuccess() { ok++; if (ok + fail == total) finish() }; - putRequest.onerror = function putRequest_onerror() { fail++; if (ok + fail == total) finish() }; - }); - transaction.onerror = onerror; - }; - openRequest.onerror = onerror; - },loadFilesFromDB:function (paths, onload, onerror) { - onload = onload || function(){}; - onerror = onerror || function(){}; - var indexedDB = FS.indexedDB(); - try { - var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION); - } catch (e) { - return onerror(e); - } - openRequest.onupgradeneeded = onerror; // no database to load from - openRequest.onsuccess = function openRequest_onsuccess() { - var db = openRequest.result; - try { - var transaction = db.transaction([FS.DB_STORE_NAME], 'readonly'); - } catch(e) { - onerror(e); - return; - } - var files = transaction.objectStore(FS.DB_STORE_NAME); - var ok = 0, fail = 0, total = paths.length; - function finish() { - if (fail == 0) onload(); else onerror(); - } - paths.forEach(function(path) { - var getRequest = files.get(path); - getRequest.onsuccess = function getRequest_onsuccess() { - if (FS.analyzePath(path).exists) { - FS.unlink(path); - } - FS.createDataFile(PATH.dirname(path), PATH.basename(path), getRequest.result, true, true, true); - ok++; - if (ok + fail == total) finish(); - }; - getRequest.onerror = function getRequest_onerror() { fail++; if (ok + fail == total) finish() }; - }); - transaction.onerror = onerror; - }; - openRequest.onerror = onerror; - }};var SYSCALLS={DEFAULT_POLLMASK:5,mappings:{},umask:511,calculateAt:function (dirfd, path) { - if (path[0] !== '/') { - // relative path - var dir; - if (dirfd === -100) { - dir = FS.cwd(); - } else { - var dirstream = FS.getStream(dirfd); - if (!dirstream) throw new FS.ErrnoError(ERRNO_CODES.EBADF); - dir = dirstream.path; - } - path = PATH.join2(dir, path); - } - return path; - },doStat:function (func, path, buf) { - try { - var stat = func(path); - } catch (e) { - if (e && e.node && PATH.normalize(path) !== PATH.normalize(FS.getPath(e.node))) { - // an error occurred while trying to look up the path; we should just report ENOTDIR - return -ERRNO_CODES.ENOTDIR; - } - throw e; - } - HEAP32[((buf)>>2)]=stat.dev; - HEAP32[(((buf)+(4))>>2)]=0; - HEAP32[(((buf)+(8))>>2)]=stat.ino; - HEAP32[(((buf)+(12))>>2)]=stat.mode; - HEAP32[(((buf)+(16))>>2)]=stat.nlink; - HEAP32[(((buf)+(20))>>2)]=stat.uid; - HEAP32[(((buf)+(24))>>2)]=stat.gid; - HEAP32[(((buf)+(28))>>2)]=stat.rdev; - HEAP32[(((buf)+(32))>>2)]=0; - HEAP32[(((buf)+(36))>>2)]=stat.size; - HEAP32[(((buf)+(40))>>2)]=4096; - HEAP32[(((buf)+(44))>>2)]=stat.blocks; - HEAP32[(((buf)+(48))>>2)]=(stat.atime.getTime() / 1000)|0; - HEAP32[(((buf)+(52))>>2)]=0; - HEAP32[(((buf)+(56))>>2)]=(stat.mtime.getTime() / 1000)|0; - HEAP32[(((buf)+(60))>>2)]=0; - HEAP32[(((buf)+(64))>>2)]=(stat.ctime.getTime() / 1000)|0; - HEAP32[(((buf)+(68))>>2)]=0; - HEAP32[(((buf)+(72))>>2)]=stat.ino; - return 0; - },doMsync:function (addr, stream, len, flags) { - var buffer = new Uint8Array(HEAPU8.subarray(addr, addr + len)); - FS.msync(stream, buffer, 0, len, flags); - },doMkdir:function (path, mode) { - // remove a trailing slash, if one - /a/b/ has basename of '', but - // we want to create b in the context of this function - path = PATH.normalize(path); - if (path[path.length-1] === '/') path = path.substr(0, path.length-1); - FS.mkdir(path, mode, 0); - return 0; - },doMknod:function (path, mode, dev) { - // we don't want this in the JS API as it uses mknod to create all nodes. - switch (mode & 61440) { - case 32768: - case 8192: - case 24576: - case 4096: - case 49152: - break; - default: return -ERRNO_CODES.EINVAL; - } - FS.mknod(path, mode, dev); - return 0; - },doReadlink:function (path, buf, bufsize) { - if (bufsize <= 0) return -ERRNO_CODES.EINVAL; - var ret = FS.readlink(path); - ret = ret.slice(0, Math.max(0, bufsize)); - writeStringToMemory(ret, buf, true); - return ret.length; - },doAccess:function (path, amode) { - if (amode & ~7) { - // need a valid mode - return -ERRNO_CODES.EINVAL; - } - var node; - var lookup = FS.lookupPath(path, { follow: true }); - node = lookup.node; - var perms = ''; - if (amode & 4) perms += 'r'; - if (amode & 2) perms += 'w'; - if (amode & 1) perms += 'x'; - if (perms /* otherwise, they've just passed F_OK */ && FS.nodePermissions(node, perms)) { - return -ERRNO_CODES.EACCES; - } - return 0; - },doDup:function (path, flags, suggestFD) { - var suggest = FS.getStream(suggestFD); - if (suggest) FS.close(suggest); - return FS.open(path, flags, 0, suggestFD, suggestFD).fd; - },doReadv:function (stream, iov, iovcnt, offset) { - var ret = 0; - for (var i = 0; i < iovcnt; i++) { - var ptr = HEAP32[(((iov)+(i*8))>>2)]; - var len = HEAP32[(((iov)+(i*8 + 4))>>2)]; - var curr = FS.read(stream, HEAP8,ptr, len, offset); - if (curr < 0) return -1; - ret += curr; - if (curr < len) break; // nothing more to read - } - return ret; - },doWritev:function (stream, iov, iovcnt, offset) { - var ret = 0; - for (var i = 0; i < iovcnt; i++) { - var ptr = HEAP32[(((iov)+(i*8))>>2)]; - var len = HEAP32[(((iov)+(i*8 + 4))>>2)]; - var curr = FS.write(stream, HEAP8,ptr, len, offset); - if (curr < 0) return -1; - ret += curr; - } - return ret; - },varargs:0,get:function (varargs) { - SYSCALLS.varargs += 4; - var ret = HEAP32[(((SYSCALLS.varargs)-(4))>>2)]; - return ret; - },getStr:function () { - var ret = Pointer_stringify(SYSCALLS.get()); - return ret; - },getStreamFromFD:function () { - var stream = FS.getStream(SYSCALLS.get()); - if (!stream) throw new FS.ErrnoError(ERRNO_CODES.EBADF); - return stream; - },getSocketFromFD:function () { - var socket = SOCKFS.getSocket(SYSCALLS.get()); - if (!socket) throw new FS.ErrnoError(ERRNO_CODES.EBADF); - return socket; - },getSocketAddress:function (allowNull) { - var addrp = SYSCALLS.get(), addrlen = SYSCALLS.get(); - if (allowNull && addrp === 0) return null; - var info = __read_sockaddr(addrp, addrlen); - if (info.errno) throw new FS.ErrnoError(info.errno); - info.addr = DNS.lookup_addr(info.addr) || info.addr; - return info; - },get64:function () { - var low = SYSCALLS.get(), high = SYSCALLS.get(); - if (low >= 0) assert(high === 0); - else assert(high === -1); - return low; - },getZero:function () { - assert(SYSCALLS.get() === 0); - }};function ___syscall54(which, varargs) {SYSCALLS.varargs = varargs; - try { - // ioctl - var stream = SYSCALLS.getStreamFromFD(), op = SYSCALLS.get(); - switch (op) { - case 21505: { - if (!stream.tty) return -ERRNO_CODES.ENOTTY; - return 0; - } - case 21506: { - if (!stream.tty) return -ERRNO_CODES.ENOTTY; - return 0; // no-op, not actually adjusting terminal settings - } - case 21519: { - if (!stream.tty) return -ERRNO_CODES.ENOTTY; - var argp = SYSCALLS.get(); - HEAP32[((argp)>>2)]=0; - return 0; - } - case 21520: { - if (!stream.tty) return -ERRNO_CODES.ENOTTY; - return -ERRNO_CODES.EINVAL; // not supported - } - case 21531: { - var argp = SYSCALLS.get(); - return FS.ioctl(stream, op, argp); - } - default: abort('bad ioctl syscall ' + op); - } - } catch (e) { - if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); - return -e.errno; - } - } - - function _emscripten_glSampleCoverage(x0, x1) { GLctx.sampleCoverage(x0, x1) } - - function _glDeleteTextures(n, textures) { - for (var i = 0; i < n; i++) { - var id = HEAP32[(((textures)+(i*4))>>2)]; - var texture = GL.textures[id]; - if (!texture) continue; // GL spec: "glDeleteTextures silently ignores 0s and names that do not correspond to existing textures". - GLctx.deleteTexture(texture); - texture.name = 0; - GL.textures[id] = null; - } - } - - function _emscripten_glFrustum() { - Module['printErr']('missing function: emscripten_glFrustum'); abort(-1); - } - - function _glfwSetWindowSizeCallback(winid, cbfun) { - GLFW.setWindowSizeCallback(winid, cbfun); - } - - function _emscripten_glGetTexParameterfv(target, pname, params) { - if (!params) { - // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense - // if p == null, issue a GL error to notify user about it. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - HEAPF32[((params)>>2)]=GLctx.getTexParameter(target, pname); - } - - function _emscripten_glUniform4i(location, v0, v1, v2, v3) { - location = GL.uniforms[location]; - GLctx.uniform4i(location, v0, v1, v2, v3); - } - - function _emscripten_glBindRenderbuffer(target, renderbuffer) { - GLctx.bindRenderbuffer(target, renderbuffer ? GL.renderbuffers[renderbuffer] : null); - } - - - - - - function _emscripten_set_main_loop_timing(mode, value) { - Browser.mainLoop.timingMode = mode; - Browser.mainLoop.timingValue = value; - - if (!Browser.mainLoop.func) { - return 1; // Return non-zero on failure, can't set timing mode when there is no main loop. - } - - if (mode == 0 /*EM_TIMING_SETTIMEOUT*/) { - Browser.mainLoop.scheduler = function Browser_mainLoop_scheduler_setTimeout() { - setTimeout(Browser.mainLoop.runner, value); // doing this each time means that on exception, we stop - }; - Browser.mainLoop.method = 'timeout'; - } else if (mode == 1 /*EM_TIMING_RAF*/) { - Browser.mainLoop.scheduler = function Browser_mainLoop_scheduler_rAF() { - Browser.requestAnimationFrame(Browser.mainLoop.runner); - }; - Browser.mainLoop.method = 'rAF'; - } else if (mode == 2 /*EM_TIMING_SETIMMEDIATE*/) { - if (!window['setImmediate']) { - // Emulate setImmediate. (note: not a complete polyfill, we don't emulate clearImmediate() to keep code size to minimum, since not needed) - var setImmediates = []; - var emscriptenMainLoopMessageId = '__emcc'; - function Browser_setImmediate_messageHandler(event) { - if (event.source === window && event.data === emscriptenMainLoopMessageId) { - event.stopPropagation(); - setImmediates.shift()(); - } - } - window.addEventListener("message", Browser_setImmediate_messageHandler, true); - window['setImmediate'] = function Browser_emulated_setImmediate(func) { - setImmediates.push(func); - window.postMessage(emscriptenMainLoopMessageId, "*"); - } - } - Browser.mainLoop.scheduler = function Browser_mainLoop_scheduler_setImmediate() { - window['setImmediate'](Browser.mainLoop.runner); - }; - Browser.mainLoop.method = 'immediate'; - } - return 0; - }function _emscripten_set_main_loop(func, fps, simulateInfiniteLoop, arg, noSetTiming) { - Module['noExitRuntime'] = true; - - assert(!Browser.mainLoop.func, 'emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters.'); - - Browser.mainLoop.func = func; - Browser.mainLoop.arg = arg; - - var thisMainLoopId = Browser.mainLoop.currentlyRunningMainloop; - - Browser.mainLoop.runner = function Browser_mainLoop_runner() { - if (ABORT) return; - if (Browser.mainLoop.queue.length > 0) { - var start = Date.now(); - var blocker = Browser.mainLoop.queue.shift(); - blocker.func(blocker.arg); - if (Browser.mainLoop.remainingBlockers) { - var remaining = Browser.mainLoop.remainingBlockers; - var next = remaining%1 == 0 ? remaining-1 : Math.floor(remaining); - if (blocker.counted) { - Browser.mainLoop.remainingBlockers = next; - } else { - // not counted, but move the progress along a tiny bit - next = next + 0.5; // do not steal all the next one's progress - Browser.mainLoop.remainingBlockers = (8*remaining + next)/9; - } - } - console.log('main loop blocker "' + blocker.name + '" took ' + (Date.now() - start) + ' ms'); //, left: ' + Browser.mainLoop.remainingBlockers); - Browser.mainLoop.updateStatus(); - setTimeout(Browser.mainLoop.runner, 0); - return; - } - - // catch pauses from non-main loop sources - if (thisMainLoopId < Browser.mainLoop.currentlyRunningMainloop) return; - - // Implement very basic swap interval control - Browser.mainLoop.currentFrameNumber = Browser.mainLoop.currentFrameNumber + 1 | 0; - if (Browser.mainLoop.timingMode == 1/*EM_TIMING_RAF*/ && Browser.mainLoop.timingValue > 1 && Browser.mainLoop.currentFrameNumber % Browser.mainLoop.timingValue != 0) { - // Not the scheduled time to render this frame - skip. - Browser.mainLoop.scheduler(); - return; - } - - // Signal GL rendering layer that processing of a new frame is about to start. This helps it optimize - // VBO double-buffering and reduce GPU stalls. - - if (Browser.mainLoop.method === 'timeout' && Module.ctx) { - Module.printErr('Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!'); - Browser.mainLoop.method = ''; // just warn once per call to set main loop - } - - Browser.mainLoop.runIter(function() { - if (typeof arg !== 'undefined') { - Runtime.dynCall('vi', func, [arg]); - } else { - Runtime.dynCall('v', func); - } - }); - - // catch pauses from the main loop itself - if (thisMainLoopId < Browser.mainLoop.currentlyRunningMainloop) return; - - // Queue new audio data. This is important to be right after the main loop invocation, so that we will immediately be able - // to queue the newest produced audio samples. - // TODO: Consider adding pre- and post- rAF callbacks so that GL.newRenderingFrameStarted() and SDL.audio.queueNewAudioData() - // do not need to be hardcoded into this function, but can be more generic. - if (typeof SDL === 'object' && SDL.audio && SDL.audio.queueNewAudioData) SDL.audio.queueNewAudioData(); - - Browser.mainLoop.scheduler(); - } - - if (!noSetTiming) { - if (fps && fps > 0) _emscripten_set_main_loop_timing(0/*EM_TIMING_SETTIMEOUT*/, 1000.0 / fps); - else _emscripten_set_main_loop_timing(1/*EM_TIMING_RAF*/, 1); // Do rAF by rendering each frame (no decimating) - - Browser.mainLoop.scheduler(); - } - - if (simulateInfiniteLoop) { - throw 'SimulateInfiniteLoop'; - } - }var Browser={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function () { - Browser.mainLoop.scheduler = null; - Browser.mainLoop.currentlyRunningMainloop++; // Incrementing this signals the previous main loop that it's now become old, and it must return. - },resume:function () { - Browser.mainLoop.currentlyRunningMainloop++; - var timingMode = Browser.mainLoop.timingMode; - var timingValue = Browser.mainLoop.timingValue; - var func = Browser.mainLoop.func; - Browser.mainLoop.func = null; - _emscripten_set_main_loop(func, 0, false, Browser.mainLoop.arg, true /* do not set timing and call scheduler, we will do it on the next lines */); - _emscripten_set_main_loop_timing(timingMode, timingValue); - Browser.mainLoop.scheduler(); - },updateStatus:function () { - if (Module['setStatus']) { - var message = Module['statusMessage'] || 'Please wait...'; - var remaining = Browser.mainLoop.remainingBlockers; - var expected = Browser.mainLoop.expectedBlockers; - if (remaining) { - if (remaining < expected) { - Module['setStatus'](message + ' (' + (expected - remaining) + '/' + expected + ')'); - } else { - Module['setStatus'](message); - } - } else { - Module['setStatus'](''); - } - } - },runIter:function (func) { - if (ABORT) return; - if (Module['preMainLoop']) { - var preRet = Module['preMainLoop'](); - if (preRet === false) { - return; // |return false| skips a frame - } - } - try { - func(); - } catch (e) { - if (e instanceof ExitStatus) { - return; - } else { - if (e && typeof e === 'object' && e.stack) Module.printErr('exception thrown: ' + [e, e.stack]); - throw e; - } - } - if (Module['postMainLoop']) Module['postMainLoop'](); - }},isFullScreen:false,pointerLock:false,moduleContextCreatedCallbacks:[],workers:[],init:function () { - if (!Module["preloadPlugins"]) Module["preloadPlugins"] = []; // needs to exist even in workers - - if (Browser.initted) return; - Browser.initted = true; - - try { - new Blob(); - Browser.hasBlobConstructor = true; - } catch(e) { - Browser.hasBlobConstructor = false; - console.log("warning: no blob constructor, cannot create blobs with mimetypes"); - } - Browser.BlobBuilder = typeof MozBlobBuilder != "undefined" ? MozBlobBuilder : (typeof WebKitBlobBuilder != "undefined" ? WebKitBlobBuilder : (!Browser.hasBlobConstructor ? console.log("warning: no BlobBuilder") : null)); - Browser.URLObject = typeof window != "undefined" ? (window.URL ? window.URL : window.webkitURL) : undefined; - if (!Module.noImageDecoding && typeof Browser.URLObject === 'undefined') { - console.log("warning: Browser does not support creating object URLs. Built-in browser image decoding will not be available."); - Module.noImageDecoding = true; - } - - // Support for plugins that can process preloaded files. You can add more of these to - // your app by creating and appending to Module.preloadPlugins. - // - // Each plugin is asked if it can handle a file based on the file's name. If it can, - // it is given the file's raw data. When it is done, it calls a callback with the file's - // (possibly modified) data. For example, a plugin might decompress a file, or it - // might create some side data structure for use later (like an Image element, etc.). - - var imagePlugin = {}; - imagePlugin['canHandle'] = function imagePlugin_canHandle(name) { - return !Module.noImageDecoding && /\.(jpg|jpeg|png|bmp)$/i.test(name); - }; - imagePlugin['handle'] = function imagePlugin_handle(byteArray, name, onload, onerror) { - var b = null; - if (Browser.hasBlobConstructor) { - try { - b = new Blob([byteArray], { type: Browser.getMimetype(name) }); - if (b.size !== byteArray.length) { // Safari bug #118630 - // Safari's Blob can only take an ArrayBuffer - b = new Blob([(new Uint8Array(byteArray)).buffer], { type: Browser.getMimetype(name) }); - } - } catch(e) { - Runtime.warnOnce('Blob constructor present but fails: ' + e + '; falling back to blob builder'); - } - } - if (!b) { - var bb = new Browser.BlobBuilder(); - bb.append((new Uint8Array(byteArray)).buffer); // we need to pass a buffer, and must copy the array to get the right data range - b = bb.getBlob(); - } - var url = Browser.URLObject.createObjectURL(b); - var img = new Image(); - img.onload = function img_onload() { - assert(img.complete, 'Image ' + name + ' could not be decoded'); - var canvas = document.createElement('canvas'); - canvas.width = img.width; - canvas.height = img.height; - var ctx = canvas.getContext('2d'); - ctx.drawImage(img, 0, 0); - Module["preloadedImages"][name] = canvas; - Browser.URLObject.revokeObjectURL(url); - if (onload) onload(byteArray); - }; - img.onerror = function img_onerror(event) { - console.log('Image ' + url + ' could not be decoded'); - if (onerror) onerror(); - }; - img.src = url; - }; - Module['preloadPlugins'].push(imagePlugin); - - var audioPlugin = {}; - audioPlugin['canHandle'] = function audioPlugin_canHandle(name) { - return !Module.noAudioDecoding && name.substr(-4) in { '.ogg': 1, '.wav': 1, '.mp3': 1 }; - }; - audioPlugin['handle'] = function audioPlugin_handle(byteArray, name, onload, onerror) { - var done = false; - function finish(audio) { - if (done) return; - done = true; - Module["preloadedAudios"][name] = audio; - if (onload) onload(byteArray); - } - function fail() { - if (done) return; - done = true; - Module["preloadedAudios"][name] = new Audio(); // empty shim - if (onerror) onerror(); - } - if (Browser.hasBlobConstructor) { - try { - var b = new Blob([byteArray], { type: Browser.getMimetype(name) }); - } catch(e) { - return fail(); - } - var url = Browser.URLObject.createObjectURL(b); // XXX we never revoke this! - var audio = new Audio(); - audio.addEventListener('canplaythrough', function() { finish(audio) }, false); // use addEventListener due to chromium bug 124926 - audio.onerror = function audio_onerror(event) { - if (done) return; - console.log('warning: browser could not fully decode audio ' + name + ', trying slower base64 approach'); - function encode64(data) { - var BASE = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'; - var PAD = '='; - var ret = ''; - var leftchar = 0; - var leftbits = 0; - for (var i = 0; i < data.length; i++) { - leftchar = (leftchar << 8) | data[i]; - leftbits += 8; - while (leftbits >= 6) { - var curr = (leftchar >> (leftbits-6)) & 0x3f; - leftbits -= 6; - ret += BASE[curr]; - } - } - if (leftbits == 2) { - ret += BASE[(leftchar&3) << 4]; - ret += PAD + PAD; - } else if (leftbits == 4) { - ret += BASE[(leftchar&0xf) << 2]; - ret += PAD; - } - return ret; - } - audio.src = 'data:audio/x-' + name.substr(-3) + ';base64,' + encode64(byteArray); - finish(audio); // we don't wait for confirmation this worked - but it's worth trying - }; - audio.src = url; - // workaround for chrome bug 124926 - we do not always get oncanplaythrough or onerror - Browser.safeSetTimeout(function() { - finish(audio); // try to use it even though it is not necessarily ready to play - }, 10000); - } else { - return fail(); - } - }; - Module['preloadPlugins'].push(audioPlugin); - - // Canvas event setup - - var canvas = Module['canvas']; - function pointerLockChange() { - Browser.pointerLock = document['pointerLockElement'] === canvas || - document['mozPointerLockElement'] === canvas || - document['webkitPointerLockElement'] === canvas || - document['msPointerLockElement'] === canvas; - } - if (canvas) { - // forced aspect ratio can be enabled by defining 'forcedAspectRatio' on Module - // Module['forcedAspectRatio'] = 4 / 3; - - canvas.requestPointerLock = canvas['requestPointerLock'] || - canvas['mozRequestPointerLock'] || - canvas['webkitRequestPointerLock'] || - canvas['msRequestPointerLock'] || - function(){}; - canvas.exitPointerLock = document['exitPointerLock'] || - document['mozExitPointerLock'] || - document['webkitExitPointerLock'] || - document['msExitPointerLock'] || - function(){}; // no-op if function does not exist - canvas.exitPointerLock = canvas.exitPointerLock.bind(document); - - - document.addEventListener('pointerlockchange', pointerLockChange, false); - document.addEventListener('mozpointerlockchange', pointerLockChange, false); - document.addEventListener('webkitpointerlockchange', pointerLockChange, false); - document.addEventListener('mspointerlockchange', pointerLockChange, false); - - if (Module['elementPointerLock']) { - canvas.addEventListener("click", function(ev) { - if (!Browser.pointerLock && canvas.requestPointerLock) { - canvas.requestPointerLock(); - ev.preventDefault(); - } - }, false); - } - } - },createContext:function (canvas, useWebGL, setInModule, webGLContextAttributes) { - if (useWebGL && Module.ctx && canvas == Module.canvas) return Module.ctx; // no need to recreate GL context if it's already been created for this canvas. - - var ctx; - var contextHandle; - if (useWebGL) { - // For GLES2/desktop GL compatibility, adjust a few defaults to be different to WebGL defaults, so that they align better with the desktop defaults. - var contextAttributes = { - antialias: false, - alpha: false - }; - - if (webGLContextAttributes) { - for (var attribute in webGLContextAttributes) { - contextAttributes[attribute] = webGLContextAttributes[attribute]; - } - } - - contextHandle = GL.createContext(canvas, contextAttributes); - if (contextHandle) { - ctx = GL.getContext(contextHandle).GLctx; - } - // Set the background of the WebGL canvas to black - canvas.style.backgroundColor = "black"; - } else { - ctx = canvas.getContext('2d'); - } - - if (!ctx) return null; - - if (setInModule) { - if (!useWebGL) assert(typeof GLctx === 'undefined', 'cannot set in module if GLctx is used, but we are a non-GL context that would replace it'); - - Module.ctx = ctx; - if (useWebGL) GL.makeContextCurrent(contextHandle); - Module.useWebGL = useWebGL; - Browser.moduleContextCreatedCallbacks.forEach(function(callback) { callback() }); - Browser.init(); - } - return ctx; - },destroyContext:function (canvas, useWebGL, setInModule) {},fullScreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullScreen:function (lockPointer, resizeCanvas, vrDevice) { - Browser.lockPointer = lockPointer; - Browser.resizeCanvas = resizeCanvas; - Browser.vrDevice = vrDevice; - if (typeof Browser.lockPointer === 'undefined') Browser.lockPointer = true; - if (typeof Browser.resizeCanvas === 'undefined') Browser.resizeCanvas = false; - if (typeof Browser.vrDevice === 'undefined') Browser.vrDevice = null; - - var canvas = Module['canvas']; - function fullScreenChange() { - Browser.isFullScreen = false; - var canvasContainer = canvas.parentNode; - if ((document['webkitFullScreenElement'] || document['webkitFullscreenElement'] || - document['mozFullScreenElement'] || document['mozFullscreenElement'] || - document['fullScreenElement'] || document['fullscreenElement'] || - document['msFullScreenElement'] || document['msFullscreenElement'] || - document['webkitCurrentFullScreenElement']) === canvasContainer) { - canvas.cancelFullScreen = document['cancelFullScreen'] || - document['mozCancelFullScreen'] || - document['webkitCancelFullScreen'] || - document['msExitFullscreen'] || - document['exitFullscreen'] || - function() {}; - canvas.cancelFullScreen = canvas.cancelFullScreen.bind(document); - if (Browser.lockPointer) canvas.requestPointerLock(); - Browser.isFullScreen = true; - if (Browser.resizeCanvas) Browser.setFullScreenCanvasSize(); - } else { - - // remove the full screen specific parent of the canvas again to restore the HTML structure from before going full screen - canvasContainer.parentNode.insertBefore(canvas, canvasContainer); - canvasContainer.parentNode.removeChild(canvasContainer); - - if (Browser.resizeCanvas) Browser.setWindowedCanvasSize(); - } - if (Module['onFullScreen']) Module['onFullScreen'](Browser.isFullScreen); - Browser.updateCanvasDimensions(canvas); - } - - if (!Browser.fullScreenHandlersInstalled) { - Browser.fullScreenHandlersInstalled = true; - document.addEventListener('fullscreenchange', fullScreenChange, false); - document.addEventListener('mozfullscreenchange', fullScreenChange, false); - document.addEventListener('webkitfullscreenchange', fullScreenChange, false); - document.addEventListener('MSFullscreenChange', fullScreenChange, false); - } - - // create a new parent to ensure the canvas has no siblings. this allows browsers to optimize full screen performance when its parent is the full screen root - var canvasContainer = document.createElement("div"); - canvas.parentNode.insertBefore(canvasContainer, canvas); - canvasContainer.appendChild(canvas); - - // use parent of canvas as full screen root to allow aspect ratio correction (Firefox stretches the root to screen size) - canvasContainer.requestFullScreen = canvasContainer['requestFullScreen'] || - canvasContainer['mozRequestFullScreen'] || - canvasContainer['msRequestFullscreen'] || - (canvasContainer['webkitRequestFullScreen'] ? function() { canvasContainer['webkitRequestFullScreen'](Element['ALLOW_KEYBOARD_INPUT']) } : null); - - if (vrDevice) { - canvasContainer.requestFullScreen({ vrDisplay: vrDevice }); - } else { - canvasContainer.requestFullScreen(); - } - },nextRAF:0,fakeRequestAnimationFrame:function (func) { - // try to keep 60fps between calls to here - var now = Date.now(); - if (Browser.nextRAF === 0) { - Browser.nextRAF = now + 1000/60; - } else { - while (now + 2 >= Browser.nextRAF) { // fudge a little, to avoid timer jitter causing us to do lots of delay:0 - Browser.nextRAF += 1000/60; - } - } - var delay = Math.max(Browser.nextRAF - now, 0); - setTimeout(func, delay); - },requestAnimationFrame:function requestAnimationFrame(func) { - if (typeof window === 'undefined') { // Provide fallback to setTimeout if window is undefined (e.g. in Node.js) - Browser.fakeRequestAnimationFrame(func); - } else { - if (!window.requestAnimationFrame) { - window.requestAnimationFrame = window['requestAnimationFrame'] || - window['mozRequestAnimationFrame'] || - window['webkitRequestAnimationFrame'] || - window['msRequestAnimationFrame'] || - window['oRequestAnimationFrame'] || - Browser.fakeRequestAnimationFrame; - } - window.requestAnimationFrame(func); - } - },safeCallback:function (func) { - return function() { - if (!ABORT) return func.apply(null, arguments); - }; - },allowAsyncCallbacks:true,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function () { - Browser.allowAsyncCallbacks = false; - },resumeAsyncCallbacks:function () { // marks future callbacks as ok to execute, and synchronously runs any remaining ones right now - Browser.allowAsyncCallbacks = true; - if (Browser.queuedAsyncCallbacks.length > 0) { - var callbacks = Browser.queuedAsyncCallbacks; - Browser.queuedAsyncCallbacks = []; - callbacks.forEach(function(func) { - func(); - }); - } - },safeRequestAnimationFrame:function (func) { - return Browser.requestAnimationFrame(function() { - if (ABORT) return; - if (Browser.allowAsyncCallbacks) { - func(); - } else { - Browser.queuedAsyncCallbacks.push(func); - } - }); - },safeSetTimeout:function (func, timeout) { - Module['noExitRuntime'] = true; - return setTimeout(function() { - if (ABORT) return; - if (Browser.allowAsyncCallbacks) { - func(); - } else { - Browser.queuedAsyncCallbacks.push(func); - } - }, timeout); - },safeSetInterval:function (func, timeout) { - Module['noExitRuntime'] = true; - return setInterval(function() { - if (ABORT) return; - if (Browser.allowAsyncCallbacks) { - func(); - } // drop it on the floor otherwise, next interval will kick in - }, timeout); - },getMimetype:function (name) { - return { - 'jpg': 'image/jpeg', - 'jpeg': 'image/jpeg', - 'png': 'image/png', - 'bmp': 'image/bmp', - 'ogg': 'audio/ogg', - 'wav': 'audio/wav', - 'mp3': 'audio/mpeg' - }[name.substr(name.lastIndexOf('.')+1)]; - },getUserMedia:function (func) { - if(!window.getUserMedia) { - window.getUserMedia = navigator['getUserMedia'] || - navigator['mozGetUserMedia']; - } - window.getUserMedia(func); - },getMovementX:function (event) { - return event['movementX'] || - event['mozMovementX'] || - event['webkitMovementX'] || - 0; - },getMovementY:function (event) { - return event['movementY'] || - event['mozMovementY'] || - event['webkitMovementY'] || - 0; - },getMouseWheelDelta:function (event) { - var delta = 0; - switch (event.type) { - case 'DOMMouseScroll': - delta = event.detail; - break; - case 'mousewheel': - delta = event.wheelDelta; - break; - case 'wheel': - delta = event['deltaY']; - break; - default: - throw 'unrecognized mouse wheel event: ' + event.type; - } - return delta; - },mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function (event) { // event should be mousemove, mousedown or mouseup - if (Browser.pointerLock) { - // When the pointer is locked, calculate the coordinates - // based on the movement of the mouse. - // Workaround for Firefox bug 764498 - if (event.type != 'mousemove' && - ('mozMovementX' in event)) { - Browser.mouseMovementX = Browser.mouseMovementY = 0; - } else { - Browser.mouseMovementX = Browser.getMovementX(event); - Browser.mouseMovementY = Browser.getMovementY(event); - } - - // check if SDL is available - if (typeof SDL != "undefined") { - Browser.mouseX = SDL.mouseX + Browser.mouseMovementX; - Browser.mouseY = SDL.mouseY + Browser.mouseMovementY; - } else { - // just add the mouse delta to the current absolut mouse position - // FIXME: ideally this should be clamped against the canvas size and zero - Browser.mouseX += Browser.mouseMovementX; - Browser.mouseY += Browser.mouseMovementY; - } - } else { - // Otherwise, calculate the movement based on the changes - // in the coordinates. - var rect = Module["canvas"].getBoundingClientRect(); - var cw = Module["canvas"].width; - var ch = Module["canvas"].height; - - // Neither .scrollX or .pageXOffset are defined in a spec, but - // we prefer .scrollX because it is currently in a spec draft. - // (see: http://www.w3.org/TR/2013/WD-cssom-view-20131217/) - var scrollX = ((typeof window.scrollX !== 'undefined') ? window.scrollX : window.pageXOffset); - var scrollY = ((typeof window.scrollY !== 'undefined') ? window.scrollY : window.pageYOffset); - - if (event.type === 'touchstart' || event.type === 'touchend' || event.type === 'touchmove') { - var touch = event.touch; - if (touch === undefined) { - return; // the "touch" property is only defined in SDL - - } - var adjustedX = touch.pageX - (scrollX + rect.left); - var adjustedY = touch.pageY - (scrollY + rect.top); - - adjustedX = adjustedX * (cw / rect.width); - adjustedY = adjustedY * (ch / rect.height); - - var coords = { x: adjustedX, y: adjustedY }; - - if (event.type === 'touchstart') { - Browser.lastTouches[touch.identifier] = coords; - Browser.touches[touch.identifier] = coords; - } else if (event.type === 'touchend' || event.type === 'touchmove') { - var last = Browser.touches[touch.identifier]; - if (!last) last = coords; - Browser.lastTouches[touch.identifier] = last; - Browser.touches[touch.identifier] = coords; - } - return; - } - - var x = event.pageX - (scrollX + rect.left); - var y = event.pageY - (scrollY + rect.top); - - // the canvas might be CSS-scaled compared to its backbuffer; - // SDL-using content will want mouse coordinates in terms - // of backbuffer units. - x = x * (cw / rect.width); - y = y * (ch / rect.height); - - Browser.mouseMovementX = x - Browser.mouseX; - Browser.mouseMovementY = y - Browser.mouseY; - Browser.mouseX = x; - Browser.mouseY = y; - } - },xhrLoad:function (url, onload, onerror) { - var xhr = new XMLHttpRequest(); - xhr.open('GET', url, true); - xhr.responseType = 'arraybuffer'; - xhr.onload = function xhr_onload() { - if (xhr.status == 200 || (xhr.status == 0 && xhr.response)) { // file URLs can return 0 - onload(xhr.response); - } else { - onerror(); - } - }; - xhr.onerror = onerror; - xhr.send(null); - },asyncLoad:function (url, onload, onerror, noRunDep) { - Browser.xhrLoad(url, function(arrayBuffer) { - assert(arrayBuffer, 'Loading data file "' + url + '" failed (no arrayBuffer).'); - onload(new Uint8Array(arrayBuffer)); - if (!noRunDep) removeRunDependency('al ' + url); - }, function(event) { - if (onerror) { - onerror(); - } else { - throw 'Loading data file "' + url + '" failed.'; - } - }); - if (!noRunDep) addRunDependency('al ' + url); - },resizeListeners:[],updateResizeListeners:function () { - var canvas = Module['canvas']; - Browser.resizeListeners.forEach(function(listener) { - listener(canvas.width, canvas.height); - }); - },setCanvasSize:function (width, height, noUpdates) { - var canvas = Module['canvas']; - Browser.updateCanvasDimensions(canvas, width, height); - if (!noUpdates) Browser.updateResizeListeners(); - },windowedWidth:0,windowedHeight:0,setFullScreenCanvasSize:function () { - // check if SDL is available - if (typeof SDL != "undefined") { - var flags = HEAPU32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)]; - flags = flags | 0x00800000; // set SDL_FULLSCREEN flag - HEAP32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)]=flags - } - Browser.updateResizeListeners(); - },setWindowedCanvasSize:function () { - // check if SDL is available - if (typeof SDL != "undefined") { - var flags = HEAPU32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)]; - flags = flags & ~0x00800000; // clear SDL_FULLSCREEN flag - HEAP32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)]=flags - } - Browser.updateResizeListeners(); - },updateCanvasDimensions:function (canvas, wNative, hNative) { - if (wNative && hNative) { - canvas.widthNative = wNative; - canvas.heightNative = hNative; - } else { - wNative = canvas.widthNative; - hNative = canvas.heightNative; - } - var w = wNative; - var h = hNative; - if (Module['forcedAspectRatio'] && Module['forcedAspectRatio'] > 0) { - if (w/h < Module['forcedAspectRatio']) { - w = Math.round(h * Module['forcedAspectRatio']); - } else { - h = Math.round(w / Module['forcedAspectRatio']); - } - } - if (((document['webkitFullScreenElement'] || document['webkitFullscreenElement'] || - document['mozFullScreenElement'] || document['mozFullscreenElement'] || - document['fullScreenElement'] || document['fullscreenElement'] || - document['msFullScreenElement'] || document['msFullscreenElement'] || - document['webkitCurrentFullScreenElement']) === canvas.parentNode) && (typeof screen != 'undefined')) { - var factor = Math.min(screen.width / w, screen.height / h); - w = Math.round(w * factor); - h = Math.round(h * factor); - } - if (Browser.resizeCanvas) { - if (canvas.width != w) canvas.width = w; - if (canvas.height != h) canvas.height = h; - if (typeof canvas.style != 'undefined') { - canvas.style.removeProperty( "width"); - canvas.style.removeProperty("height"); - } - } else { - if (canvas.width != wNative) canvas.width = wNative; - if (canvas.height != hNative) canvas.height = hNative; - if (typeof canvas.style != 'undefined') { - if (w != wNative || h != hNative) { - canvas.style.setProperty( "width", w + "px", "important"); - canvas.style.setProperty("height", h + "px", "important"); - } else { - canvas.style.removeProperty( "width"); - canvas.style.removeProperty("height"); - } - } - } - },wgetRequests:{},nextWgetRequestHandle:0,getNextWgetRequestHandle:function () { - var handle = Browser.nextWgetRequestHandle; - Browser.nextWgetRequestHandle++; - return handle; - }};var AL={contexts:[],currentContext:null,alcErr:0,stringCache:{},alcStringCache:{},QUEUE_INTERVAL:25,QUEUE_LOOKAHEAD:100,newSrcId:1,updateSources:function updateSources(context) { - // If we are animating using the requestAnimationFrame method, then the main loop does not run when in the background. - // To give a perfect glitch-free audio stop when switching from foreground to background, we need to avoid updating - // audio altogether when in the background, so detect that case and kill audio buffer streaming if so. - if (Browser.mainLoop.timingMode == 1/*EM_TIMING_RAF*/ && document['visibilityState'] != 'visible') return; - - for (var srcId in context.src) { - AL.updateSource(context.src[srcId]); - } - },updateSource:function updateSource(src) { - if (src.state !== 0x1012 /* AL_PLAYING */) { - return; - } - - var currentTime = AL.currentContext.ctx.currentTime; - var startTime = src.bufferPosition; - - for (var i = src.buffersPlayed; i < src.queue.length; i++) { - var entry = src.queue[i]; - - var startOffset = startTime - currentTime; - var endTime = startTime + entry.buffer.duration; - - // Clean up old buffers. - if (currentTime >= endTime) { - // Update our location in the queue. - src.bufferPosition = endTime; - src.buffersPlayed = i + 1; - - // Stop / restart the source when we hit the end. - if (src.buffersPlayed >= src.queue.length) { - if (src.loop) { - AL.setSourceState(src, 0x1012 /* AL_PLAYING */); - } else { - AL.setSourceState(src, 0x1014 /* AL_STOPPED */); - } - } - } - // Process all buffers that'll be played before the next tick. - else if (startOffset < (AL.QUEUE_LOOKAHEAD / 1000) && !entry.src) { - // If the start offset is negative, we need to offset the actual buffer. - var offset = Math.abs(Math.min(startOffset, 0)); - - entry.src = AL.currentContext.ctx.createBufferSource(); - entry.src.buffer = entry.buffer; - entry.src.connect(src.gain); - if (typeof(entry.src.start) !== 'undefined') { - entry.src.start(startTime, offset); - } else if (typeof(entry.src.noteOn) !== 'undefined') { - entry.src.noteOn(startTime); - } - } - - startTime = endTime; - } - },setSourceState:function setSourceState(src, state) { - if (state === 0x1012 /* AL_PLAYING */) { - if (src.state !== 0x1013 /* AL_PAUSED */) { - src.state = 0x1012 /* AL_PLAYING */; - // Reset our position. - src.bufferPosition = AL.currentContext.ctx.currentTime; - src.buffersPlayed = 0; - } else { - src.state = 0x1012 /* AL_PLAYING */; - // Use the current offset from src.bufferPosition to resume at the correct point. - src.bufferPosition = AL.currentContext.ctx.currentTime - src.bufferPosition; - } - AL.stopSourceQueue(src); - AL.updateSource(src); - } else if (state === 0x1013 /* AL_PAUSED */) { - if (src.state === 0x1012 /* AL_PLAYING */) { - src.state = 0x1013 /* AL_PAUSED */; - // Store off the current offset to restore with on resume. - src.bufferPosition = AL.currentContext.ctx.currentTime - src.bufferPosition; - AL.stopSourceQueue(src); - } - } else if (state === 0x1014 /* AL_STOPPED */) { - if (src.state !== 0x1011 /* AL_INITIAL */) { - src.state = 0x1014 /* AL_STOPPED */; - src.buffersPlayed = src.queue.length; - AL.stopSourceQueue(src); - } - } else if (state == 0x1011 /* AL_INITIAL */) { - if (src.state !== 0x1011 /* AL_INITIAL */) { - src.state = 0x1011 /* AL_INITIAL */; - src.bufferPosition = 0; - src.buffersPlayed = 0; - } - } - },stopSourceQueue:function stopSourceQueue(src) { - for (var i = 0; i < src.queue.length; i++) { - var entry = src.queue[i]; - if (entry.src) { - entry.src.stop(0); - entry.src = null; - } - } - }};function _alcGetCurrentContext() { - for (var i = 0; i < AL.contexts.length; ++i) { - if (AL.contexts[i] == AL.currentContext) { - return i + 1; - } - } - return 0; - } - - function _emscripten_glViewport(x0, x1, x2, x3) { GLctx.viewport(x0, x1, x2, x3) } - - - function _emscripten_memcpy_big(dest, src, num) { - HEAPU8.set(HEAPU8.subarray(src, src+num), dest); - return dest; - } - Module["_memcpy"] = _memcpy; - - var _llvm_pow_f64=Math_pow; - - function _emscripten_glCopyTexImage2D(x0, x1, x2, x3, x4, x5, x6, x7) { GLctx.copyTexImage2D(x0, x1, x2, x3, x4, x5, x6, x7) } - - function _alcGetString(device, param) { - if (AL.alcStringCache[param]) return AL.alcStringCache[param]; - var ret; - switch (param) { - case 0 /* ALC_NO_ERROR */: - ret = 'No Error'; - break; - case 0xA001 /* ALC_INVALID_DEVICE */: - ret = 'Invalid Device'; - break; - case 0xA002 /* ALC_INVALID_CONTEXT */: - ret = 'Invalid Context'; - break; - case 0xA003 /* ALC_INVALID_ENUM */: - ret = 'Invalid Enum'; - break; - case 0xA004 /* ALC_INVALID_VALUE */: - ret = 'Invalid Value'; - break; - case 0xA005 /* ALC_OUT_OF_MEMORY */: - ret = 'Out of Memory'; - break; - case 0x1004 /* ALC_DEFAULT_DEVICE_SPECIFIER */: - if (typeof(AudioContext) !== "undefined" || - typeof(webkitAudioContext) !== "undefined") { - ret = 'Device'; - } else { - return 0; - } - break; - case 0x1005 /* ALC_DEVICE_SPECIFIER */: - if (typeof(AudioContext) !== "undefined" || - typeof(webkitAudioContext) !== "undefined") { - ret = 'Device\0'; - } else { - ret = '\0'; - } - break; - case 0x311 /* ALC_CAPTURE_DEFAULT_DEVICE_SPECIFIER */: - return 0; - break; - case 0x310 /* ALC_CAPTURE_DEVICE_SPECIFIER */: - ret = '\0' - break; - case 0x1006 /* ALC_EXTENSIONS */: - if (!device) { - AL.alcErr = 0xA001 /* ALC_INVALID_DEVICE */; - return 0; - } - ret = ''; - break; - default: - AL.alcErr = 0xA003 /* ALC_INVALID_ENUM */; - return 0; - } - - ret = allocate(intArrayFromString(ret), 'i8', ALLOC_NORMAL); - - AL.alcStringCache[param] = ret; - - return ret; - } - - function _emscripten_glTexParameterfv(target, pname, params) { - var param = HEAPF32[((params)>>2)]; - GLctx.texParameterf(target, pname, param); - } - - function _emscripten_glLinkProgram(program) { - GLctx.linkProgram(GL.programs[program]); - GL.programInfos[program] = null; // uniforms no longer keep the same names after linking - GL.populateUniformTable(program); - } - - function _emscripten_glUniform3f(location, v0, v1, v2) { - location = GL.uniforms[location]; - GLctx.uniform3f(location, v0, v1, v2); - } - - function _emscripten_glGetObjectParameterivARB() { - Module['printErr']('missing function: emscripten_glGetObjectParameterivARB'); abort(-1); - } - - function _emscripten_glBlendFunc(x0, x1) { GLctx.blendFunc(x0, x1) } - - function _emscripten_glUniform3i(location, v0, v1, v2) { - location = GL.uniforms[location]; - GLctx.uniform3i(location, v0, v1, v2); - } - - function _emscripten_glStencilOp(x0, x1, x2) { GLctx.stencilOp(x0, x1, x2) } - - function _glCreateShader(shaderType) { - var id = GL.getNewId(GL.shaders); - GL.shaders[id] = GLctx.createShader(shaderType); - return id; - } - - function _glUniform1i(location, v0) { - location = GL.uniforms[location]; - GLctx.uniform1i(location, v0); - } - - function _emscripten_glBindAttribLocation(program, index, name) { - name = Pointer_stringify(name); - GLctx.bindAttribLocation(GL.programs[program], index, name); - } - - var _cosf=Math_cos; - - function _glCompressedTexImage2D(target, level, internalFormat, width, height, border, imageSize, data) { - var heapView; - if (data) { - heapView = HEAPU8.subarray((data),(data+imageSize)); - } else { - heapView = null; - } - GLctx['compressedTexImage2D'](target, level, internalFormat, width, height, border, heapView); - } - - function _emscripten_glEnableVertexAttribArray(index) { - GLctx.enableVertexAttribArray(index); - } - - - Module["_memset"] = _memset; - - var _BDtoILow=true; - - function _alDeleteBuffers(count, buffers) - { - if (!AL.currentContext) { - return; - } - if (count > AL.currentContext.buf.length) { - AL.currentContext.err = 0xA003 /* AL_INVALID_VALUE */; - return; - } - - for (var i = 0; i < count; ++i) { - var bufferIdx = HEAP32[(((buffers)+(i*4))>>2)] - 1; - - // Make sure the buffer index is valid. - if (bufferIdx >= AL.currentContext.buf.length || !AL.currentContext.buf[bufferIdx]) { - AL.currentContext.err = 0xA001 /* AL_INVALID_NAME */; - return; - } - - // Make sure the buffer is no longer in use. - var buffer = AL.currentContext.buf[bufferIdx]; - for (var srcId in AL.currentContext.src) { - var src = AL.currentContext.src[srcId]; - if (!src) { - continue; - } - for (var k = 0; k < src.queue.length; k++) { - if (buffer === src.queue[k].buffer) { - AL.currentContext.err = 0xA004 /* AL_INVALID_OPERATION */; - return; - } - } - } - } - - for (var i = 0; i < count; ++i) { - var bufferIdx = HEAP32[(((buffers)+(i*4))>>2)] - 1; - delete AL.currentContext.buf[bufferIdx]; - } - } - - function _alListener3f(param, v1, v2, v3) { - if (!AL.currentContext) { - return; - } - switch (param) { - case 0x1004 /* AL_POSITION */: - AL.currentContext.ctx.listener._position = [v1, v2, v3]; - AL.currentContext.ctx.listener.setPosition(v1, v2, v3); - break; - case 0x1006 /* AL_VELOCITY */: - AL.currentContext.ctx.listener._velocity = [v1, v2, v3]; - AL.currentContext.ctx.listener.setVelocity(v1, v2, v3); - break; - default: - AL.currentContext.err = 0xA002 /* AL_INVALID_ENUM */; - break; - } - } - - function _glfwMakeContextCurrent(winid) {} - - - var JSEvents={keyEvent:0,mouseEvent:0,wheelEvent:0,uiEvent:0,focusEvent:0,deviceOrientationEvent:0,deviceMotionEvent:0,fullscreenChangeEvent:0,pointerlockChangeEvent:0,visibilityChangeEvent:0,touchEvent:0,previousFullscreenElement:null,previousScreenX:null,previousScreenY:null,removeEventListenersRegistered:false,registerRemoveEventListeners:function () { - if (!JSEvents.removeEventListenersRegistered) { - __ATEXIT__.push(function() { - for(var i = JSEvents.eventHandlers.length-1; i >= 0; --i) { - JSEvents._removeHandler(i); - } - }); - JSEvents.removeEventListenersRegistered = true; - } - },findEventTarget:function (target) { - if (target) { - if (typeof target == "number") { - target = Pointer_stringify(target); - } - if (target == '#window') return window; - else if (target == '#document') return document; - else if (target == '#screen') return window.screen; - else if (target == '#canvas') return Module['canvas']; - - if (typeof target == 'string') return document.getElementById(target); - else return target; - } else { - // The sensible target varies between events, but use window as the default - // since DOM events mostly can default to that. Specific callback registrations - // override their own defaults. - return window; - } - },deferredCalls:[],deferCall:function (targetFunction, precedence, argsList) { - function arraysHaveEqualContent(arrA, arrB) { - if (arrA.length != arrB.length) return false; - - for(var i in arrA) { - if (arrA[i] != arrB[i]) return false; - } - return true; - } - // Test if the given call was already queued, and if so, don't add it again. - for(var i in JSEvents.deferredCalls) { - var call = JSEvents.deferredCalls[i]; - if (call.targetFunction == targetFunction && arraysHaveEqualContent(call.argsList, argsList)) { - return; - } - } - JSEvents.deferredCalls.push({ - targetFunction: targetFunction, - precedence: precedence, - argsList: argsList - }); - - JSEvents.deferredCalls.sort(function(x,y) { return x.precedence < y.precedence; }); - },removeDeferredCalls:function (targetFunction) { - for(var i = 0; i < JSEvents.deferredCalls.length; ++i) { - if (JSEvents.deferredCalls[i].targetFunction == targetFunction) { - JSEvents.deferredCalls.splice(i, 1); - --i; - } - } - },canPerformEventHandlerRequests:function () { - return JSEvents.inEventHandler && JSEvents.currentEventHandler.allowsDeferredCalls; - },runDeferredCalls:function () { - if (!JSEvents.canPerformEventHandlerRequests()) { - return; - } - for(var i = 0; i < JSEvents.deferredCalls.length; ++i) { - var call = JSEvents.deferredCalls[i]; - JSEvents.deferredCalls.splice(i, 1); - --i; - call.targetFunction.apply(this, call.argsList); - } - },inEventHandler:0,currentEventHandler:null,eventHandlers:[],isInternetExplorer:function () { return navigator.userAgent.indexOf('MSIE') !== -1 || navigator.appVersion.indexOf('Trident/') > 0; },removeAllHandlersOnTarget:function (target, eventTypeString) { - for(var i = 0; i < JSEvents.eventHandlers.length; ++i) { - if (JSEvents.eventHandlers[i].target == target && - (!eventTypeString || eventTypeString == JSEvents.eventHandlers[i].eventTypeString)) { - JSEvents._removeHandler(i--); - } - } - },_removeHandler:function (i) { - var h = JSEvents.eventHandlers[i]; - h.target.removeEventListener(h.eventTypeString, h.eventListenerFunc, h.useCapture); - JSEvents.eventHandlers.splice(i, 1); - },registerOrRemoveHandler:function (eventHandler) { - var jsEventHandler = function jsEventHandler(event) { - // Increment nesting count for the event handler. - ++JSEvents.inEventHandler; - JSEvents.currentEventHandler = eventHandler; - // Process any old deferred calls the user has placed. - JSEvents.runDeferredCalls(); - // Process the actual event, calls back to user C code handler. - eventHandler.handlerFunc(event); - // Process any new deferred calls that were placed right now from this event handler. - JSEvents.runDeferredCalls(); - // Out of event handler - restore nesting count. - --JSEvents.inEventHandler; - } - - if (eventHandler.callbackfunc) { - eventHandler.eventListenerFunc = jsEventHandler; - eventHandler.target.addEventListener(eventHandler.eventTypeString, jsEventHandler, eventHandler.useCapture); - JSEvents.eventHandlers.push(eventHandler); - JSEvents.registerRemoveEventListeners(); - } else { - for(var i = 0; i < JSEvents.eventHandlers.length; ++i) { - if (JSEvents.eventHandlers[i].target == eventHandler.target - && JSEvents.eventHandlers[i].eventTypeString == eventHandler.eventTypeString) { - JSEvents._removeHandler(i--); - } - } - } - },registerKeyEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.keyEvent) { - JSEvents.keyEvent = _malloc( 164 ); - } - var handlerFunc = function(event) { - var e = event || window.event; - writeStringToMemory(e.key ? e.key : "", JSEvents.keyEvent + 0 ); - writeStringToMemory(e.code ? e.code : "", JSEvents.keyEvent + 32 ); - HEAP32[(((JSEvents.keyEvent)+(64))>>2)]=e.location; - HEAP32[(((JSEvents.keyEvent)+(68))>>2)]=e.ctrlKey; - HEAP32[(((JSEvents.keyEvent)+(72))>>2)]=e.shiftKey; - HEAP32[(((JSEvents.keyEvent)+(76))>>2)]=e.altKey; - HEAP32[(((JSEvents.keyEvent)+(80))>>2)]=e.metaKey; - HEAP32[(((JSEvents.keyEvent)+(84))>>2)]=e.repeat; - writeStringToMemory(e.locale ? e.locale : "", JSEvents.keyEvent + 88 ); - writeStringToMemory(e.char ? e.char : "", JSEvents.keyEvent + 120 ); - HEAP32[(((JSEvents.keyEvent)+(152))>>2)]=e.charCode; - HEAP32[(((JSEvents.keyEvent)+(156))>>2)]=e.keyCode; - HEAP32[(((JSEvents.keyEvent)+(160))>>2)]=e.which; - var shouldCancel = Runtime.dynCall('iiii', callbackfunc, [eventTypeId, JSEvents.keyEvent, userData]); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: JSEvents.findEventTarget(target), - allowsDeferredCalls: JSEvents.isInternetExplorer() ? false : true, // MSIE doesn't allow fullscreen and pointerlock requests from key handlers, others do. - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },getBoundingClientRectOrZeros:function (target) { - return target.getBoundingClientRect ? target.getBoundingClientRect() : { left: 0, top: 0 }; - },fillMouseEventData:function (eventStruct, e, target) { - HEAPF64[((eventStruct)>>3)]=JSEvents.tick(); - HEAP32[(((eventStruct)+(8))>>2)]=e.screenX; - HEAP32[(((eventStruct)+(12))>>2)]=e.screenY; - HEAP32[(((eventStruct)+(16))>>2)]=e.clientX; - HEAP32[(((eventStruct)+(20))>>2)]=e.clientY; - HEAP32[(((eventStruct)+(24))>>2)]=e.ctrlKey; - HEAP32[(((eventStruct)+(28))>>2)]=e.shiftKey; - HEAP32[(((eventStruct)+(32))>>2)]=e.altKey; - HEAP32[(((eventStruct)+(36))>>2)]=e.metaKey; - HEAP16[(((eventStruct)+(40))>>1)]=e.button; - HEAP16[(((eventStruct)+(42))>>1)]=e.buttons; - HEAP32[(((eventStruct)+(44))>>2)]=e["movementX"] || e["mozMovementX"] || e["webkitMovementX"] || (e.screenX-JSEvents.previousScreenX); - HEAP32[(((eventStruct)+(48))>>2)]=e["movementY"] || e["mozMovementY"] || e["webkitMovementY"] || (e.screenY-JSEvents.previousScreenY); - - if (Module['canvas']) { - var rect = Module['canvas'].getBoundingClientRect(); - HEAP32[(((eventStruct)+(60))>>2)]=e.clientX - rect.left; - HEAP32[(((eventStruct)+(64))>>2)]=e.clientY - rect.top; - } else { // Canvas is not initialized, return 0. - HEAP32[(((eventStruct)+(60))>>2)]=0; - HEAP32[(((eventStruct)+(64))>>2)]=0; - } - if (target) { - var rect = JSEvents.getBoundingClientRectOrZeros(target); - HEAP32[(((eventStruct)+(52))>>2)]=e.clientX - rect.left; - HEAP32[(((eventStruct)+(56))>>2)]=e.clientY - rect.top; - } else { // No specific target passed, return 0. - HEAP32[(((eventStruct)+(52))>>2)]=0; - HEAP32[(((eventStruct)+(56))>>2)]=0; - } - JSEvents.previousScreenX = e.screenX; - JSEvents.previousScreenY = e.screenY; - },registerMouseEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.mouseEvent) { - JSEvents.mouseEvent = _malloc( 72 ); - } - target = JSEvents.findEventTarget(target); - var handlerFunc = function(event) { - var e = event || window.event; - JSEvents.fillMouseEventData(JSEvents.mouseEvent, e, target); - var shouldCancel = Runtime.dynCall('iiii', callbackfunc, [eventTypeId, JSEvents.mouseEvent, userData]); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: target, - allowsDeferredCalls: eventTypeString != 'mousemove' && eventTypeString != 'mouseenter' && eventTypeString != 'mouseleave', // Mouse move events do not allow fullscreen/pointer lock requests to be handled in them! - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - // In IE, mousedown events don't either allow deferred calls to be run! - if (JSEvents.isInternetExplorer() && eventTypeString == 'mousedown') eventHandler.allowsDeferredCalls = false; - JSEvents.registerOrRemoveHandler(eventHandler); - },registerWheelEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.wheelEvent) { - JSEvents.wheelEvent = _malloc( 104 ); - } - target = JSEvents.findEventTarget(target); - // The DOM Level 3 events spec event 'wheel' - var wheelHandlerFunc = function(event) { - var e = event || window.event; - JSEvents.fillMouseEventData(JSEvents.wheelEvent, e, target); - HEAPF64[(((JSEvents.wheelEvent)+(72))>>3)]=e["deltaX"]; - HEAPF64[(((JSEvents.wheelEvent)+(80))>>3)]=e["deltaY"]; - HEAPF64[(((JSEvents.wheelEvent)+(88))>>3)]=e["deltaZ"]; - HEAP32[(((JSEvents.wheelEvent)+(96))>>2)]=e["deltaMode"]; - var shouldCancel = Runtime.dynCall('iiii', callbackfunc, [eventTypeId, JSEvents.wheelEvent, userData]); - if (shouldCancel) { - e.preventDefault(); - } - }; - // The 'mousewheel' event as implemented in Safari 6.0.5 - var mouseWheelHandlerFunc = function(event) { - var e = event || window.event; - JSEvents.fillMouseEventData(JSEvents.wheelEvent, e, target); - HEAPF64[(((JSEvents.wheelEvent)+(72))>>3)]=e["wheelDeltaX"]; - HEAPF64[(((JSEvents.wheelEvent)+(80))>>3)]=-e["wheelDeltaY"] /* Invert to unify direction with the DOM Level 3 wheel event. */; - HEAPF64[(((JSEvents.wheelEvent)+(88))>>3)]=0 /* Not available */; - HEAP32[(((JSEvents.wheelEvent)+(96))>>2)]=0 /* DOM_DELTA_PIXEL */; - var shouldCancel = Runtime.dynCall('iiii', callbackfunc, [eventTypeId, JSEvents.wheelEvent, userData]); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: target, - allowsDeferredCalls: true, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: (eventTypeString == 'wheel') ? wheelHandlerFunc : mouseWheelHandlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },pageScrollPos:function () { - if (window.pageXOffset > 0 || window.pageYOffset > 0) { - return [window.pageXOffset, window.pageYOffset]; - } - if (typeof document.documentElement.scrollLeft !== 'undefined' || typeof document.documentElement.scrollTop !== 'undefined') { - return [document.documentElement.scrollLeft, document.documentElement.scrollTop]; - } - return [document.body.scrollLeft|0, document.body.scrollTop|0]; - },registerUiEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.uiEvent) { - JSEvents.uiEvent = _malloc( 36 ); - } - - if (eventTypeString == "scroll" && !target) { - target = document; // By default read scroll events on document rather than window. - } else { - target = JSEvents.findEventTarget(target); - } - - var handlerFunc = function(event) { - var e = event || window.event; - if (e.target != target) { - // Never take ui events such as scroll via a 'bubbled' route, but always from the direct element that - // was targeted. Otherwise e.g. if app logs a message in response to a page scroll, the Emscripten log - // message box could cause to scroll, generating a new (bubbled) scroll message, causing a new log print, - // causing a new scroll, etc.. - return; - } - var scrollPos = JSEvents.pageScrollPos(); - HEAP32[((JSEvents.uiEvent)>>2)]=e.detail; - HEAP32[(((JSEvents.uiEvent)+(4))>>2)]=document.body.clientWidth; - HEAP32[(((JSEvents.uiEvent)+(8))>>2)]=document.body.clientHeight; - HEAP32[(((JSEvents.uiEvent)+(12))>>2)]=window.innerWidth; - HEAP32[(((JSEvents.uiEvent)+(16))>>2)]=window.innerHeight; - HEAP32[(((JSEvents.uiEvent)+(20))>>2)]=window.outerWidth; - HEAP32[(((JSEvents.uiEvent)+(24))>>2)]=window.outerHeight; - HEAP32[(((JSEvents.uiEvent)+(28))>>2)]=scrollPos[0]; - HEAP32[(((JSEvents.uiEvent)+(32))>>2)]=scrollPos[1]; - var shouldCancel = Runtime.dynCall('iiii', callbackfunc, [eventTypeId, JSEvents.uiEvent, userData]); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: target, - allowsDeferredCalls: false, // Neither scroll or resize events allow running requests inside them. - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },getNodeNameForTarget:function (target) { - if (!target) return ''; - if (target == window) return '#window'; - if (target == window.screen) return '#screen'; - return (target && target.nodeName) ? target.nodeName : ''; - },registerFocusEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.focusEvent) { - JSEvents.focusEvent = _malloc( 256 ); - } - var handlerFunc = function(event) { - var e = event || window.event; - - var nodeName = JSEvents.getNodeNameForTarget(e.target); - var id = e.target.id ? e.target.id : ''; - writeStringToMemory(nodeName, JSEvents.focusEvent + 0 ); - writeStringToMemory(id, JSEvents.focusEvent + 128 ); - var shouldCancel = Runtime.dynCall('iiii', callbackfunc, [eventTypeId, JSEvents.focusEvent, userData]); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: JSEvents.findEventTarget(target), - allowsDeferredCalls: false, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },tick:function () { - if (window['performance'] && window['performance']['now']) return window['performance']['now'](); - else return Date.now(); - },registerDeviceOrientationEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.deviceOrientationEvent) { - JSEvents.deviceOrientationEvent = _malloc( 40 ); - } - var handlerFunc = function(event) { - var e = event || window.event; - - HEAPF64[((JSEvents.deviceOrientationEvent)>>3)]=JSEvents.tick(); - HEAPF64[(((JSEvents.deviceOrientationEvent)+(8))>>3)]=e.alpha; - HEAPF64[(((JSEvents.deviceOrientationEvent)+(16))>>3)]=e.beta; - HEAPF64[(((JSEvents.deviceOrientationEvent)+(24))>>3)]=e.gamma; - HEAP32[(((JSEvents.deviceOrientationEvent)+(32))>>2)]=e.absolute; - - var shouldCancel = Runtime.dynCall('iiii', callbackfunc, [eventTypeId, JSEvents.deviceOrientationEvent, userData]); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: JSEvents.findEventTarget(target), - allowsDeferredCalls: false, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },registerDeviceMotionEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.deviceMotionEvent) { - JSEvents.deviceMotionEvent = _malloc( 80 ); - } - var handlerFunc = function(event) { - var e = event || window.event; - - HEAPF64[((JSEvents.deviceOrientationEvent)>>3)]=JSEvents.tick(); - HEAPF64[(((JSEvents.deviceMotionEvent)+(8))>>3)]=e.acceleration.x; - HEAPF64[(((JSEvents.deviceMotionEvent)+(16))>>3)]=e.acceleration.y; - HEAPF64[(((JSEvents.deviceMotionEvent)+(24))>>3)]=e.acceleration.z; - HEAPF64[(((JSEvents.deviceMotionEvent)+(32))>>3)]=e.accelerationIncludingGravity.x; - HEAPF64[(((JSEvents.deviceMotionEvent)+(40))>>3)]=e.accelerationIncludingGravity.y; - HEAPF64[(((JSEvents.deviceMotionEvent)+(48))>>3)]=e.accelerationIncludingGravity.z; - HEAPF64[(((JSEvents.deviceMotionEvent)+(56))>>3)]=e.rotationRate.alpha; - HEAPF64[(((JSEvents.deviceMotionEvent)+(64))>>3)]=e.rotationRate.beta; - HEAPF64[(((JSEvents.deviceMotionEvent)+(72))>>3)]=e.rotationRate.gamma; - - var shouldCancel = Runtime.dynCall('iiii', callbackfunc, [eventTypeId, JSEvents.deviceMotionEvent, userData]); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: JSEvents.findEventTarget(target), - allowsDeferredCalls: false, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },screenOrientation:function () { - if (!window.screen) return undefined; - return window.screen.orientation || window.screen.mozOrientation || window.screen.webkitOrientation || window.screen.msOrientation; - },fillOrientationChangeEventData:function (eventStruct, e) { - var orientations = ["portrait-primary", "portrait-secondary", "landscape-primary", "landscape-secondary"]; - var orientations2 = ["portrait", "portrait", "landscape", "landscape"]; - - var orientationString = JSEvents.screenOrientation(); - var orientation = orientations.indexOf(orientationString); - if (orientation == -1) { - orientation = orientations2.indexOf(orientationString); - } - - HEAP32[((eventStruct)>>2)]=1 << orientation; - HEAP32[(((eventStruct)+(4))>>2)]=window.orientation; - },registerOrientationChangeEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.orientationChangeEvent) { - JSEvents.orientationChangeEvent = _malloc( 8 ); - } - - if (!target) { - target = window.screen; // Orientation events need to be captured from 'window.screen' instead of 'window' - } else { - target = JSEvents.findEventTarget(target); - } - - var handlerFunc = function(event) { - var e = event || window.event; - - JSEvents.fillOrientationChangeEventData(JSEvents.orientationChangeEvent, e); - - var shouldCancel = Runtime.dynCall('iiii', callbackfunc, [eventTypeId, JSEvents.orientationChangeEvent, userData]); - if (shouldCancel) { - e.preventDefault(); - } - }; - - if (eventTypeString == "orientationchange" && window.screen.mozOrientation !== undefined) { - eventTypeString = "mozorientationchange"; - } - - var eventHandler = { - target: target, - allowsDeferredCalls: false, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },fullscreenEnabled:function () { - return document.fullscreenEnabled || document.mozFullscreenEnabled || document.mozFullScreenEnabled || document.webkitFullscreenEnabled || document.msFullscreenEnabled; - },fillFullscreenChangeEventData:function (eventStruct, e) { - var fullscreenElement = document.fullscreenElement || document.mozFullScreenElement || document.webkitFullscreenElement || document.msFullscreenElement; - var isFullscreen = !!fullscreenElement; - HEAP32[((eventStruct)>>2)]=isFullscreen; - HEAP32[(((eventStruct)+(4))>>2)]=JSEvents.fullscreenEnabled(); - // If transitioning to fullscreen, report info about the element that is now fullscreen. - // If transitioning to windowed mode, report info about the element that just was fullscreen. - var reportedElement = isFullscreen ? fullscreenElement : JSEvents.previousFullscreenElement; - var nodeName = JSEvents.getNodeNameForTarget(reportedElement); - var id = (reportedElement && reportedElement.id) ? reportedElement.id : ''; - writeStringToMemory(nodeName, eventStruct + 8 ); - writeStringToMemory(id, eventStruct + 136 ); - HEAP32[(((eventStruct)+(264))>>2)]=reportedElement ? reportedElement.clientWidth : 0; - HEAP32[(((eventStruct)+(268))>>2)]=reportedElement ? reportedElement.clientHeight : 0; - HEAP32[(((eventStruct)+(272))>>2)]=screen.width; - HEAP32[(((eventStruct)+(276))>>2)]=screen.height; - if (isFullscreen) { - JSEvents.previousFullscreenElement = fullscreenElement; - } - },registerFullscreenChangeEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.fullscreenChangeEvent) { - JSEvents.fullscreenChangeEvent = _malloc( 280 ); - } - - if (!target) { - target = document; // Fullscreen change events need to be captured from 'document' by default instead of 'window' - } else { - target = JSEvents.findEventTarget(target); - } - - var handlerFunc = function(event) { - var e = event || window.event; - - JSEvents.fillFullscreenChangeEventData(JSEvents.fullscreenChangeEvent, e); - - var shouldCancel = Runtime.dynCall('iiii', callbackfunc, [eventTypeId, JSEvents.fullscreenChangeEvent, userData]); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: target, - allowsDeferredCalls: false, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },resizeCanvasForFullscreen:function (target, strategy) { - var restoreOldStyle = __registerRestoreOldStyle(target); - var cssWidth = strategy.softFullscreen ? window.innerWidth : screen.width; - var cssHeight = strategy.softFullscreen ? window.innerHeight : screen.height; - var rect = target.getBoundingClientRect(); - var windowedCssWidth = rect.right - rect.left; - var windowedCssHeight = rect.bottom - rect.top; - var windowedRttWidth = target.width; - var windowedRttHeight = target.height; - - if (strategy.scaleMode == 3) { - __setLetterbox(target, (cssHeight - windowedCssHeight) / 2, (cssWidth - windowedCssWidth) / 2); - cssWidth = windowedCssWidth; - cssHeight = windowedCssHeight; - } else if (strategy.scaleMode == 2) { - if (cssWidth*windowedRttHeight < windowedRttWidth*cssHeight) { - var desiredCssHeight = windowedRttHeight * cssWidth / windowedRttWidth; - __setLetterbox(target, (cssHeight - desiredCssHeight) / 2, 0); - cssHeight = desiredCssHeight; - } else { - var desiredCssWidth = windowedRttWidth * cssHeight / windowedRttHeight; - __setLetterbox(target, 0, (cssWidth - desiredCssWidth) / 2); - cssWidth = desiredCssWidth; - } - } - - // If we are adding padding, must choose a background color or otherwise Chrome will give the - // padding a default white color. Do it only if user has not customized their own background color. - if (!target.style.backgroundColor) target.style.backgroundColor = 'black'; - // IE11 does the same, but requires the color to be set in the document body. - if (!document.body.style.backgroundColor) document.body.style.backgroundColor = 'black'; // IE11 - // Firefox always shows black letterboxes independent of style color. - - target.style.width = cssWidth + 'px'; - target.style.height = cssHeight + 'px'; - - if (strategy.filteringMode == 1) { - target.style.imageRendering = 'optimizeSpeed'; - target.style.imageRendering = '-moz-crisp-edges'; - target.style.imageRendering = '-o-crisp-edges'; - target.style.imageRendering = '-webkit-optimize-contrast'; - target.style.imageRendering = 'optimize-contrast'; - target.style.imageRendering = 'crisp-edges'; - target.style.imageRendering = 'pixelated'; - } - - var dpiScale = (strategy.canvasResolutionScaleMode == 2) ? window.devicePixelRatio : 1; - if (strategy.canvasResolutionScaleMode != 0) { - target.width = cssWidth * dpiScale; - target.height = cssHeight * dpiScale; - if (target.GLctxObject) target.GLctxObject.GLctx.viewport(0, 0, target.width, target.height); - } - return restoreOldStyle; - },requestFullscreen:function (target, strategy) { - // EMSCRIPTEN_FULLSCREEN_SCALE_DEFAULT + EMSCRIPTEN_FULLSCREEN_CANVAS_SCALE_NONE is a mode where no extra logic is performed to the DOM elements. - if (strategy.scaleMode != 0 || strategy.canvasResolutionScaleMode != 0) { - JSEvents.resizeCanvasForFullscreen(target, strategy); - } - - if (target.requestFullscreen) { - target.requestFullscreen(); - } else if (target.msRequestFullscreen) { - target.msRequestFullscreen(); - } else if (target.mozRequestFullScreen) { - target.mozRequestFullScreen(); - } else if (target.mozRequestFullscreen) { - target.mozRequestFullscreen(); - } else if (target.webkitRequestFullscreen) { - target.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT); - } else { - if (typeof JSEvents.fullscreenEnabled() === 'undefined') { - return -1; - } else { - return -3; - } - } - - if (strategy.canvasResizedCallback) { - Runtime.dynCall('iiii', strategy.canvasResizedCallback, [37, 0, strategy.canvasResizedCallbackUserData]); - } - - return 0; - },fillPointerlockChangeEventData:function (eventStruct, e) { - var pointerLockElement = document.pointerLockElement || document.mozPointerLockElement || document.webkitPointerLockElement || document.msPointerLockElement; - var isPointerlocked = !!pointerLockElement; - HEAP32[((eventStruct)>>2)]=isPointerlocked; - var nodeName = JSEvents.getNodeNameForTarget(pointerLockElement); - var id = (pointerLockElement && pointerLockElement.id) ? pointerLockElement.id : ''; - writeStringToMemory(nodeName, eventStruct + 4 ); - writeStringToMemory(id, eventStruct + 132); - },registerPointerlockChangeEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.pointerlockChangeEvent) { - JSEvents.pointerlockChangeEvent = _malloc( 260 ); - } - - if (!target) { - target = document; // Pointer lock change events need to be captured from 'document' by default instead of 'window' - } else { - target = JSEvents.findEventTarget(target); - } - - var handlerFunc = function(event) { - var e = event || window.event; - - JSEvents.fillPointerlockChangeEventData(JSEvents.pointerlockChangeEvent, e); - - var shouldCancel = Runtime.dynCall('iiii', callbackfunc, [eventTypeId, JSEvents.pointerlockChangeEvent, userData]); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: target, - allowsDeferredCalls: false, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },requestPointerLock:function (target) { - if (target.requestPointerLock) { - target.requestPointerLock(); - } else if (target.mozRequestPointerLock) { - target.mozRequestPointerLock(); - } else if (target.webkitRequestPointerLock) { - target.webkitRequestPointerLock(); - } else if (target.msRequestPointerLock) { - target.msRequestPointerLock(); - } else { - // document.body is known to accept pointer lock, so use that to differentiate if the user passed a bad element, - // or if the whole browser just doesn't support the feature. - if (document.body.requestPointerLock || document.body.mozRequestPointerLock || document.body.webkitRequestPointerLock || document.body.msRequestPointerLock) { - return -3; - } else { - return -1; - } - } - return 0; - },fillVisibilityChangeEventData:function (eventStruct, e) { - var visibilityStates = [ "hidden", "visible", "prerender", "unloaded" ]; - var visibilityState = visibilityStates.indexOf(document.visibilityState); - - HEAP32[((eventStruct)>>2)]=document.hidden; - HEAP32[(((eventStruct)+(4))>>2)]=visibilityState; - },registerVisibilityChangeEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.visibilityChangeEvent) { - JSEvents.visibilityChangeEvent = _malloc( 8 ); - } - - if (!target) { - target = document; // Visibility change events need to be captured from 'document' by default instead of 'window' - } else { - target = JSEvents.findEventTarget(target); - } - - var handlerFunc = function(event) { - var e = event || window.event; - - JSEvents.fillVisibilityChangeEventData(JSEvents.visibilityChangeEvent, e); - - var shouldCancel = Runtime.dynCall('iiii', callbackfunc, [eventTypeId, JSEvents.visibilityChangeEvent, userData]); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: target, - allowsDeferredCalls: false, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },registerTouchEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.touchEvent) { - JSEvents.touchEvent = _malloc( 1684 ); - } - - target = JSEvents.findEventTarget(target); - - var handlerFunc = function(event) { - var e = event || window.event; - - var touches = {}; - for(var i = 0; i < e.touches.length; ++i) { - var touch = e.touches[i]; - touches[touch.identifier] = touch; - } - for(var i = 0; i < e.changedTouches.length; ++i) { - var touch = e.changedTouches[i]; - touches[touch.identifier] = touch; - touch.changed = true; - } - for(var i = 0; i < e.targetTouches.length; ++i) { - var touch = e.targetTouches[i]; - touches[touch.identifier].onTarget = true; - } - - var ptr = JSEvents.touchEvent; - HEAP32[(((ptr)+(4))>>2)]=e.ctrlKey; - HEAP32[(((ptr)+(8))>>2)]=e.shiftKey; - HEAP32[(((ptr)+(12))>>2)]=e.altKey; - HEAP32[(((ptr)+(16))>>2)]=e.metaKey; - ptr += 20; // Advance to the start of the touch array. - var canvasRect = Module['canvas'] ? Module['canvas'].getBoundingClientRect() : undefined; - var targetRect = JSEvents.getBoundingClientRectOrZeros(target); - var numTouches = 0; - for(var i in touches) { - var t = touches[i]; - HEAP32[((ptr)>>2)]=t.identifier; - HEAP32[(((ptr)+(4))>>2)]=t.screenX; - HEAP32[(((ptr)+(8))>>2)]=t.screenY; - HEAP32[(((ptr)+(12))>>2)]=t.clientX; - HEAP32[(((ptr)+(16))>>2)]=t.clientY; - HEAP32[(((ptr)+(20))>>2)]=t.pageX; - HEAP32[(((ptr)+(24))>>2)]=t.pageY; - HEAP32[(((ptr)+(28))>>2)]=t.changed; - HEAP32[(((ptr)+(32))>>2)]=t.onTarget; - if (canvasRect) { - HEAP32[(((ptr)+(44))>>2)]=t.clientX - canvasRect.left; - HEAP32[(((ptr)+(48))>>2)]=t.clientY - canvasRect.top; - } else { - HEAP32[(((ptr)+(44))>>2)]=0; - HEAP32[(((ptr)+(48))>>2)]=0; - } - HEAP32[(((ptr)+(36))>>2)]=t.clientX - targetRect.left; - HEAP32[(((ptr)+(40))>>2)]=t.clientY - targetRect.top; - - ptr += 52; - - if (++numTouches >= 32) { - break; - } - } - HEAP32[((JSEvents.touchEvent)>>2)]=numTouches; - - var shouldCancel = Runtime.dynCall('iiii', callbackfunc, [eventTypeId, JSEvents.touchEvent, userData]); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: target, - allowsDeferredCalls: false, // XXX Currently disabled, see bug https://bugzilla.mozilla.org/show_bug.cgi?id=966493 - // Once the above bug is resolved, enable the following condition if possible: - // allowsDeferredCalls: eventTypeString == 'touchstart', - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },fillGamepadEventData:function (eventStruct, e) { - HEAPF64[((eventStruct)>>3)]=e.timestamp; - for(var i = 0; i < e.axes.length; ++i) { - HEAPF64[(((eventStruct+i*8)+(16))>>3)]=e.axes[i]; - } - for(var i = 0; i < e.buttons.length; ++i) { - if (typeof(e.buttons[i]) === 'object') { - HEAPF64[(((eventStruct+i*8)+(528))>>3)]=e.buttons[i].value; - } else { - HEAPF64[(((eventStruct+i*8)+(528))>>3)]=e.buttons[i]; - } - } - for(var i = 0; i < e.buttons.length; ++i) { - if (typeof(e.buttons[i]) === 'object') { - HEAP32[(((eventStruct+i*4)+(1040))>>2)]=e.buttons[i].pressed; - } else { - HEAP32[(((eventStruct+i*4)+(1040))>>2)]=e.buttons[i] == 1.0; - } - } - HEAP32[(((eventStruct)+(1296))>>2)]=e.connected; - HEAP32[(((eventStruct)+(1300))>>2)]=e.index; - HEAP32[(((eventStruct)+(8))>>2)]=e.axes.length; - HEAP32[(((eventStruct)+(12))>>2)]=e.buttons.length; - writeStringToMemory(e.id, eventStruct + 1304 ); - writeStringToMemory(e.mapping, eventStruct + 1368 ); - },registerGamepadEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.gamepadEvent) { - JSEvents.gamepadEvent = _malloc( 1432 ); - } - - var handlerFunc = function(event) { - var e = event || window.event; - - JSEvents.fillGamepadEventData(JSEvents.gamepadEvent, e.gamepad); - - var shouldCancel = Runtime.dynCall('iiii', callbackfunc, [eventTypeId, JSEvents.gamepadEvent, userData]); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: JSEvents.findEventTarget(target), - allowsDeferredCalls: true, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },registerBeforeUnloadEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - var handlerFunc = function(event) { - var e = event || window.event; - - var confirmationMessage = Runtime.dynCall('iiii', callbackfunc, [eventTypeId, 0, userData]); - - if (confirmationMessage) { - confirmationMessage = Pointer_stringify(confirmationMessage); - } - if (confirmationMessage) { - e.preventDefault(); - e.returnValue = confirmationMessage; - return confirmationMessage; - } - }; - - var eventHandler = { - target: JSEvents.findEventTarget(target), - allowsDeferredCalls: false, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },battery:function () { return navigator.battery || navigator.mozBattery || navigator.webkitBattery; },fillBatteryEventData:function (eventStruct, e) { - HEAPF64[((eventStruct)>>3)]=e.chargingTime; - HEAPF64[(((eventStruct)+(8))>>3)]=e.dischargingTime; - HEAPF64[(((eventStruct)+(16))>>3)]=e.level; - HEAP32[(((eventStruct)+(24))>>2)]=e.charging; - },registerBatteryEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.batteryEvent) { - JSEvents.batteryEvent = _malloc( 32 ); - } - - var handlerFunc = function(event) { - var e = event || window.event; - - JSEvents.fillBatteryEventData(JSEvents.batteryEvent, JSEvents.battery()); - - var shouldCancel = Runtime.dynCall('iiii', callbackfunc, [eventTypeId, JSEvents.batteryEvent, userData]); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: JSEvents.findEventTarget(target), - allowsDeferredCalls: false, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },registerWebGlEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!target) { - target = Module['canvas']; - } - var handlerFunc = function(event) { - var e = event || window.event; - - var shouldCancel = Runtime.dynCall('iiii', callbackfunc, [eventTypeId, 0, userData]); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: JSEvents.findEventTarget(target), - allowsDeferredCalls: false, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - }};function _emscripten_set_touchcancel_callback(target, userData, useCapture, callbackfunc) { - JSEvents.registerTouchEventCallback(target, userData, useCapture, callbackfunc, 25, "touchcancel"); - return 0; - } - - function _glBindFramebuffer(target, framebuffer) { - GLctx.bindFramebuffer(target, framebuffer ? GL.framebuffers[framebuffer] : null); - } - - function ___lock() {} - - function _emscripten_glBlendFuncSeparate(x0, x1, x2, x3) { GLctx.blendFuncSeparate(x0, x1, x2, x3) } - - function _emscripten_glGetVertexAttribPointerv(index, pname, pointer) { - if (!pointer) { - // GLES2 specification does not specify how to behave if pointer is a null pointer. Since calling this function does not make sense - // if pointer == null, issue a GL error to notify user about it. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - HEAP32[((pointer)>>2)]=GLctx.getVertexAttribOffset(index, pname); - } - - function _emscripten_glVertexAttrib3f(x0, x1, x2, x3) { GLctx.vertexAttrib3f(x0, x1, x2, x3) } - - function _alSource3f(source, param, v1, v2, v3) { - if (!AL.currentContext) { - return; - } - var src = AL.currentContext.src[source]; - if (!src) { - AL.currentContext.err = 0xA001 /* AL_INVALID_NAME */; - return; - } - switch (param) { - case 0x1004 /* AL_POSITION */: - src.position = [v1, v2, v3]; - break; - case 0x1005 /* AL_DIRECTION */: - src.direction = [v1, v2, v3]; - break; - case 0x1006 /* AL_VELOCITY */: - src.velocity = [v1, v2, v3]; - break; - default: - AL.currentContext.err = 0xA002 /* AL_INVALID_ENUM */; - break; - } - } - - function _emscripten_glNormalPointer() { - Module['printErr']('missing function: emscripten_glNormalPointer'); abort(-1); - } - - - var _emscripten_GetProcAddress=undefined; - Module["_emscripten_GetProcAddress"] = _emscripten_GetProcAddress; - - - function _eglWaitClient() { - EGL.setErrorCode(0x3000 /* EGL_SUCCESS */); - return 1; - }var EGL={errorCode:12288,defaultDisplayInitialized:false,currentContext:0,currentReadSurface:0,currentDrawSurface:0,stringCache:{},setErrorCode:function (code) { - EGL.errorCode = code; - },chooseConfig:function (display, attribList, config, config_size, numConfigs) { - if (display != 62000 /* Magic ID for Emscripten 'default display' */) { - EGL.setErrorCode(0x3008 /* EGL_BAD_DISPLAY */); - return 0; - } - // TODO: read attribList. - if ((!config || !config_size) && !numConfigs) { - EGL.setErrorCode(0x300C /* EGL_BAD_PARAMETER */); - return 0; - } - if (numConfigs) { - HEAP32[((numConfigs)>>2)]=1; // Total number of supported configs: 1. - } - if (config && config_size > 0) { - HEAP32[((config)>>2)]=62002; - } - - EGL.setErrorCode(0x3000 /* EGL_SUCCESS */); - return 1; - }};function _eglGetProcAddress(name_) { - return _emscripten_GetProcAddress(name_); - } - - function _glDeleteProgram(id) { - if (!id) return; - var program = GL.programs[id]; - if (!program) { // glDeleteProgram actually signals an error when deleting a nonexisting object, unlike some other GL delete functions. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - GLctx.deleteProgram(program); - program.name = 0; - GL.programs[id] = null; - GL.programInfos[id] = null; - } - - - - var _setSourceState=undefined;function _alSourcePlay(source) { - if (!AL.currentContext) { - return; - } - var src = AL.currentContext.src[source]; - if (!src) { - AL.currentContext.err = 0xA001 /* AL_INVALID_NAME */; - return; - } - AL.setSourceState(src, 0x1012 /* AL_PLAYING */); - } - - function _glAttachShader(program, shader) { - GLctx.attachShader(GL.programs[program], - GL.shaders[shader]); - } - - function _glfwGetPrimaryMonitor() { - return 1; - } - - - function emscriptenWebGLGetVertexAttrib(index, pname, params, type) { - if (!params) { - // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense - // if params == null, issue a GL error to notify user about it. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - var data = GLctx.getVertexAttrib(index, pname); - if (typeof data == 'number' || typeof data == 'boolean') { - switch (type) { - case 'Integer': HEAP32[((params)>>2)]=data; break; - case 'Float': HEAPF32[((params)>>2)]=data; break; - case 'FloatToInteger': HEAP32[((params)>>2)]=Math.fround(data); break; - default: throw 'internal emscriptenWebGLGetVertexAttrib() error, bad type: ' + type; - } - } else { - for (var i = 0; i < data.length; i++) { - switch (type) { - case 'Integer': HEAP32[(((params)+(i))>>2)]=data[i]; break; - case 'Float': HEAPF32[(((params)+(i))>>2)]=data[i]; break; - case 'FloatToInteger': HEAP32[(((params)+(i))>>2)]=Math.fround(data[i]); break; - default: throw 'internal emscriptenWebGLGetVertexAttrib() error, bad type: ' + type; - } - } - } - }function _emscripten_glGetVertexAttribfv(index, pname, params) { - // N.B. This function may only be called if the vertex attribute was specified using the function glVertexAttrib*f(), - // otherwise the results are undefined. (GLES3 spec 6.1.12) - emscriptenWebGLGetVertexAttrib(index, pname, params, 'Float'); - } - - function _emscripten_set_touchstart_callback(target, userData, useCapture, callbackfunc) { - JSEvents.registerTouchEventCallback(target, userData, useCapture, callbackfunc, 22, "touchstart"); - return 0; - } - - function _emscripten_glDeleteShader(id) { - if (!id) return; - var shader = GL.shaders[id]; - if (!shader) { // glDeleteShader actually signals an error when deleting a nonexisting object, unlike some other GL delete functions. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - GLctx.deleteShader(shader); - GL.shaders[id] = null; - } - - function _emscripten_glVertexPointer(){ throw 'Legacy GL function (glVertexPointer) called. If you want legacy GL emulation, you need to compile with -s LEGACY_GL_EMULATION=1 to enable legacy GL emulation.'; } - - function _emscripten_glDeleteBuffers(n, buffers) { - for (var i = 0; i < n; i++) { - var id = HEAP32[(((buffers)+(i*4))>>2)]; - var buffer = GL.buffers[id]; - - // From spec: "glDeleteBuffers silently ignores 0's and names that do not - // correspond to existing buffer objects." - if (!buffer) continue; - - GLctx.deleteBuffer(buffer); - buffer.name = 0; - GL.buffers[id] = null; - - if (id == GL.currArrayBuffer) GL.currArrayBuffer = 0; - if (id == GL.currElementArrayBuffer) GL.currElementArrayBuffer = 0; - } - } - - function _emscripten_glTexParameteriv(target, pname, params) { - var param = HEAP32[((params)>>2)]; - GLctx.texParameteri(target, pname, param); - } - - function _glDrawElements(mode, count, type, indices) { - - GLctx.drawElements(mode, count, type, indices); - - } - - function _glfwTerminate() { - window.removeEventListener("keydown", GLFW.onKeydown, true); - window.removeEventListener("keypress", GLFW.onKeyPress, true); - window.removeEventListener("keyup", GLFW.onKeyup, true); - Module["canvas"].removeEventListener("mousemove", GLFW.onMousemove, true); - Module["canvas"].removeEventListener("mousedown", GLFW.onMouseButtonDown, true); - Module["canvas"].removeEventListener("mouseup", GLFW.onMouseButtonUp, true); - Module["canvas"].removeEventListener('wheel', GLFW.onMouseWheel, true); - Module["canvas"].removeEventListener('mousewheel', GLFW.onMouseWheel, true); - Module["canvas"].width = Module["canvas"].height = 1; - GLFW.windows = null; - GLFW.active = null; - } - - function _emscripten_glUniformMatrix2fv(location, count, transpose, value) { - location = GL.uniforms[location]; - var view; - if (count === 1) { - // avoid allocation for the common case of uploading one uniform matrix - view = GL.miniTempBufferViews[3]; - for (var i = 0; i < 4; i++) { - view[i] = HEAPF32[(((value)+(i*4))>>2)]; - } - } else { - view = HEAPF32.subarray((value)>>2,(value+count*16)>>2); - } - GLctx.uniformMatrix2fv(location, transpose, view); - } - - function ___syscall5(which, varargs) {SYSCALLS.varargs = varargs; - try { - // open - var pathname = SYSCALLS.getStr(), flags = SYSCALLS.get(), mode = SYSCALLS.get() // optional TODO - var stream = FS.open(pathname, flags, mode); - return stream.fd; - } catch (e) { - if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); - return -e.errno; - } - } - - function ___syscall6(which, varargs) {SYSCALLS.varargs = varargs; - try { - // close - var stream = SYSCALLS.getStreamFromFD(); - FS.close(stream); - return 0; - } catch (e) { - if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); - return -e.errno; - } - } - - var _cos=Math_cos; - - function _llvm_stacksave() { - var self = _llvm_stacksave; - if (!self.LLVM_SAVEDSTACKS) { - self.LLVM_SAVEDSTACKS = []; - } - self.LLVM_SAVEDSTACKS.push(Runtime.stackSave()); - return self.LLVM_SAVEDSTACKS.length-1; - } - - function _emscripten_glGetVertexAttribiv(index, pname, params) { - // N.B. This function may only be called if the vertex attribute was specified using the function glVertexAttrib*f(), - // otherwise the results are undefined. (GLES3 spec 6.1.12) - emscriptenWebGLGetVertexAttrib(index, pname, params, 'FloatToInteger'); - } - - function _emscripten_glUniformMatrix4fv(location, count, transpose, value) { - location = GL.uniforms[location]; - var view; - if (count === 1) { - // avoid allocation for the common case of uploading one uniform matrix - view = GL.miniTempBufferViews[15]; - for (var i = 0; i < 16; i++) { - view[i] = HEAPF32[(((value)+(i*4))>>2)]; - } - } else { - view = HEAPF32.subarray((value)>>2,(value+count*64)>>2); - } - GLctx.uniformMatrix4fv(location, transpose, view); - } - - function _emscripten_glDrawArraysInstanced(mode, first, count, primcount) { - GLctx['drawArraysInstanced'](mode, first, count, primcount); - } - - function _emscripten_glEnableClientState() { - Module['printErr']('missing function: emscripten_glEnableClientState'); abort(-1); - } - - function _emscripten_glGetPointerv() { - Module['printErr']('missing function: emscripten_glGetPointerv'); abort(-1); - } - - function ___syscall140(which, varargs) {SYSCALLS.varargs = varargs; - try { - // llseek - var stream = SYSCALLS.getStreamFromFD(), offset_high = SYSCALLS.get(), offset_low = SYSCALLS.get(), result = SYSCALLS.get(), whence = SYSCALLS.get(); - var offset = offset_low; - assert(offset_high === 0); - FS.llseek(stream, offset, whence); - HEAP32[((result)>>2)]=stream.position; - if (stream.getdents && offset === 0 && whence === 0) stream.getdents = null; // reset readdir state - return 0; - } catch (e) { - if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); - return -e.errno; - } - } - - function ___syscall146(which, varargs) {SYSCALLS.varargs = varargs; - try { - // writev - var stream = SYSCALLS.getStreamFromFD(), iov = SYSCALLS.get(), iovcnt = SYSCALLS.get(); - return SYSCALLS.doWritev(stream, iov, iovcnt); - } catch (e) { - if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); - return -e.errno; - } - } - - function _emscripten_glUniform1i(location, v0) { - location = GL.uniforms[location]; - GLctx.uniform1i(location, v0); - } - - function ___syscall145(which, varargs) {SYSCALLS.varargs = varargs; - try { - // readv - var stream = SYSCALLS.getStreamFromFD(), iov = SYSCALLS.get(), iovcnt = SYSCALLS.get(); - return SYSCALLS.doReadv(stream, iov, iovcnt); - } catch (e) { - if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); - return -e.errno; - } - } - - function _emscripten_glStencilMask(x0) { GLctx.stencilMask(x0) } - - function _emscripten_glStencilFuncSeparate(x0, x1, x2, x3) { GLctx.stencilFuncSeparate(x0, x1, x2, x3) } - - - Module["_i64Subtract"] = _i64Subtract; - - var _fabsf=Math_abs; - - - Module["_i64Add"] = _i64Add; - - function _emscripten_set_touchend_callback(target, userData, useCapture, callbackfunc) { - JSEvents.registerTouchEventCallback(target, userData, useCapture, callbackfunc, 23, "touchend"); - return 0; - } - - function _glUseProgram(program) { - GLctx.useProgram(program ? GL.programs[program] : null); - } - - var _sinf=Math_sin; - - function _emscripten_glDisableVertexAttribArray(index) { - GLctx.disableVertexAttribArray(index); - } - - function _emscripten_glVertexAttrib1f(x0, x1) { GLctx.vertexAttrib1f(x0, x1) } - - function _emscripten_glFinish() { GLctx.finish() } - - function _glDeleteFramebuffers(n, framebuffers) { - for (var i = 0; i < n; ++i) { - var id = HEAP32[(((framebuffers)+(i*4))>>2)]; - var framebuffer = GL.framebuffers[id]; - if (!framebuffer) continue; // GL spec: "glDeleteFramebuffers silently ignores 0s and names that do not correspond to existing framebuffer objects". - GLctx.deleteFramebuffer(framebuffer); - framebuffer.name = 0; - GL.framebuffers[id] = null; - } - } - - function _glDrawArrays(mode, first, count) { - - GLctx.drawArrays(mode, first, count); - - } - - function _emscripten_glDepthFunc(x0) { GLctx.depthFunc(x0) } - - function _alcOpenDevice(deviceName) { - if (typeof(AudioContext) !== "undefined" || - typeof(webkitAudioContext) !== "undefined") { - return 1; // non-null pointer -- we just simulate one device - } else { - return 0; - } - } - - function _sysconf(name) { - // long sysconf(int name); - // http://pubs.opengroup.org/onlinepubs/009695399/functions/sysconf.html - switch(name) { - case 30: return PAGE_SIZE; - case 85: return totalMemory / PAGE_SIZE; - case 132: - case 133: - case 12: - case 137: - case 138: - case 15: - case 235: - case 16: - case 17: - case 18: - case 19: - case 20: - case 149: - case 13: - case 10: - case 236: - case 153: - case 9: - case 21: - case 22: - case 159: - case 154: - case 14: - case 77: - case 78: - case 139: - case 80: - case 81: - case 82: - case 68: - case 67: - case 164: - case 11: - case 29: - case 47: - case 48: - case 95: - case 52: - case 51: - case 46: - return 200809; - case 79: - return 0; - case 27: - case 246: - case 127: - case 128: - case 23: - case 24: - case 160: - case 161: - case 181: - case 182: - case 242: - case 183: - case 184: - case 243: - case 244: - case 245: - case 165: - case 178: - case 179: - case 49: - case 50: - case 168: - case 169: - case 175: - case 170: - case 171: - case 172: - case 97: - case 76: - case 32: - case 173: - case 35: - return -1; - case 176: - case 177: - case 7: - case 155: - case 8: - case 157: - case 125: - case 126: - case 92: - case 93: - case 129: - case 130: - case 131: - case 94: - case 91: - return 1; - case 74: - case 60: - case 69: - case 70: - case 4: - return 1024; - case 31: - case 42: - case 72: - return 32; - case 87: - case 26: - case 33: - return 2147483647; - case 34: - case 1: - return 47839; - case 38: - case 36: - return 99; - case 43: - case 37: - return 2048; - case 0: return 2097152; - case 3: return 65536; - case 28: return 32768; - case 44: return 32767; - case 75: return 16384; - case 39: return 1000; - case 89: return 700; - case 71: return 256; - case 40: return 255; - case 2: return 100; - case 180: return 64; - case 25: return 20; - case 5: return 16; - case 6: return 6; - case 73: return 4; - case 84: { - if (typeof navigator === 'object') return navigator['hardwareConcurrency'] || 1; - return 1; - } - } - ___setErrNo(ERRNO_CODES.EINVAL); - return -1; - } - - function _emscripten_glUniform4iv(location, count, value) { - location = GL.uniforms[location]; - count *= 4; - value = HEAP32.subarray((value)>>2,(value+count*4)>>2); - GLctx.uniform4iv(location, value); - } - - function _glClear(x0) { GLctx.clear(x0) } - - function _emscripten_glLoadIdentity(){ throw 'Legacy GL function (glLoadIdentity) called. If you want legacy GL emulation, you need to compile with -s LEGACY_GL_EMULATION=1 to enable legacy GL emulation.'; } - - function _emscripten_glUniform3fv(location, count, value) { - location = GL.uniforms[location]; - var view; - if (count === 1) { - // avoid allocation for the common case of uploading one uniform - view = GL.miniTempBufferViews[2]; - view[0] = HEAPF32[((value)>>2)]; - view[1] = HEAPF32[(((value)+(4))>>2)]; - view[2] = HEAPF32[(((value)+(8))>>2)]; - } else { - view = HEAPF32.subarray((value)>>2,(value+count*12)>>2); - } - GLctx.uniform3fv(location, view); - } - - function _emscripten_glIsTexture(texture) { - var texture = GL.textures[texture]; - if (!texture) return 0; - return GLctx.isTexture(texture); - } - - function _glEnableVertexAttribArray(index) { - GLctx.enableVertexAttribArray(index); - } - - function _emscripten_glAttachShader(program, shader) { - GLctx.attachShader(GL.programs[program], - GL.shaders[shader]); - } - - function _alSourceUnqueueBuffers(source, count, buffers) { - if (!AL.currentContext) { - return; - } - var src = AL.currentContext.src[source]; - if (!src) { - AL.currentContext.err = 0xA001 /* AL_INVALID_NAME */; - return; - } - - if (count > src.buffersPlayed) { - AL.currentContext.err = 0xA003 /* AL_INVALID_VALUE */; - return; - } - - for (var i = 0; i < count; i++) { - var entry = src.queue.shift(); - // Write the buffers index out to the return list. - for (var j = 0; j < AL.currentContext.buf.length; j++) { - var b = AL.currentContext.buf[j]; - if (b && b == entry.buffer) { - HEAP32[(((buffers)+(i*4))>>2)]=j+1; - break; - } - } - src.buffersPlayed--; - } - - AL.updateSource(src); - } - - function _glfwCreateWindow(width, height, title, monitor, share) { - return GLFW.createWindow(width, height, title, monitor, share); - } - - function _alGetSourcei(source, param, value) { - if (!AL.currentContext) { - return; - } - var src = AL.currentContext.src[source]; - if (!src) { - AL.currentContext.err = 0xA001 /* AL_INVALID_NAME */; - return; - } - - // Being that we have no way to receive end events from buffer nodes, - // we currently proccess and update a source's buffer queue every - // ~QUEUE_INTERVAL milliseconds. However, this interval is not precise, - // so we also forcefully update the source when alGetSourcei is queried - // to aid in the common scenario of application calling alGetSourcei(AL_BUFFERS_PROCESSED) - // to recycle buffers. - AL.updateSource(src); - - switch (param) { - case 0x202 /* AL_SOURCE_RELATIVE */: - HEAP32[((value)>>2)]=src.panner ? 1 : 0; - break; - case 0x1001 /* AL_CONE_INNER_ANGLE */: - HEAP32[((value)>>2)]=src.coneInnerAngle; - break; - case 0x1002 /* AL_CONE_OUTER_ANGLE */: - HEAP32[((value)>>2)]=src.coneOuterAngle; - break; - case 0x1007 /* AL_LOOPING */: - HEAP32[((value)>>2)]=src.loop; - break; - case 0x1009 /* AL_BUFFER */: - if (!src.queue.length) { - HEAP32[((value)>>2)]=0; - } else { - // Find the first unprocessed buffer. - var buffer = src.queue[src.buffersPlayed].buffer; - // Return its index. - for (var i = 0; i < AL.currentContext.buf.length; ++i) { - if (buffer == AL.currentContext.buf[i]) { - HEAP32[((value)>>2)]=i+1; - return; - } - } - HEAP32[((value)>>2)]=0; - } - break; - case 0x1010 /* AL_SOURCE_STATE */: - HEAP32[((value)>>2)]=src.state; - break; - case 0x1015 /* AL_BUFFERS_QUEUED */: - HEAP32[((value)>>2)]=src.queue.length - break; - case 0x1016 /* AL_BUFFERS_PROCESSED */: - if (src.loop) { - HEAP32[((value)>>2)]=0 - } else { - HEAP32[((value)>>2)]=src.buffersPlayed - } - break; - default: - AL.currentContext.err = 0xA002 /* AL_INVALID_ENUM */; - break; - } - } - - function _pthread_cleanup_pop() { - assert(_pthread_cleanup_push.level == __ATEXIT__.length, 'cannot pop if something else added meanwhile!'); - __ATEXIT__.pop(); - _pthread_cleanup_push.level = __ATEXIT__.length; - } - - function _emscripten_glClearStencil(x0) { GLctx.clearStencil(x0) } - - function _emscripten_glDetachShader(program, shader) { - GLctx.detachShader(GL.programs[program], - GL.shaders[shader]); - } - - function _emscripten_glDeleteVertexArrays(n, vaos) { - for(var i = 0; i < n; i++) { - var id = HEAP32[(((vaos)+(i*4))>>2)]; - GLctx['deleteVertexArray'](GL.vaos[id]); - GL.vaos[id] = null; - } - } - - function _alGenSources(count, sources) { - if (!AL.currentContext) { - return; - } - for (var i = 0; i < count; ++i) { - var gain = AL.currentContext.ctx.createGain(); - gain.connect(AL.currentContext.gain); - AL.currentContext.src[AL.newSrcId] = { - state: 0x1011 /* AL_INITIAL */, - queue: [], - loop: false, - get refDistance() { - return this._refDistance || 1; - }, - set refDistance(val) { - this._refDistance = val; - if (this.panner) this.panner.refDistance = val; - }, - get maxDistance() { - return this._maxDistance || 10000; - }, - set maxDistance(val) { - this._maxDistance = val; - if (this.panner) this.panner.maxDistance = val; - }, - get rolloffFactor() { - return this._rolloffFactor || 1; - }, - set rolloffFactor(val) { - this._rolloffFactor = val; - if (this.panner) this.panner.rolloffFactor = val; - }, - get position() { - return this._position || [0, 0, 0]; - }, - set position(val) { - this._position = val; - if (this.panner) this.panner.setPosition(val[0], val[1], val[2]); - }, - get velocity() { - return this._velocity || [0, 0, 0]; - }, - set velocity(val) { - this._velocity = val; - if (this.panner) this.panner.setVelocity(val[0], val[1], val[2]); - }, - get direction() { - return this._direction || [0, 0, 0]; - }, - set direction(val) { - this._direction = val; - if (this.panner) this.panner.setOrientation(val[0], val[1], val[2]); - }, - get coneOuterGain() { - return this._coneOuterGain || 0.0; - }, - set coneOuterGain(val) { - this._coneOuterGain = val; - if (this.panner) this.panner.coneOuterGain = val; - }, - get coneInnerAngle() { - return this._coneInnerAngle || 360.0; - }, - set coneInnerAngle(val) { - this._coneInnerAngle = val; - if (this.panner) this.panner.coneInnerAngle = val; - }, - get coneOuterAngle() { - return this._coneOuterAngle || 360.0; - }, - set coneOuterAngle(val) { - this._coneOuterAngle = val; - if (this.panner) this.panner.coneOuterAngle = val; - }, - gain: gain, - panner: null, - buffersPlayed: 0, - bufferPosition: 0 - }; - HEAP32[(((sources)+(i*4))>>2)]=AL.newSrcId; - AL.newSrcId++; - } - } - - function _glfwInit() { - if (GLFW.windows) return 1; // GL_TRUE - - GLFW.initialTime = GLFW.getTime(); - GLFW.hints = GLFW.defaultHints; - GLFW.windows = new Array() - GLFW.active = null; - - window.addEventListener("keydown", GLFW.onKeydown, true); - window.addEventListener("keypress", GLFW.onKeyPress, true); - window.addEventListener("keyup", GLFW.onKeyup, true); - Module["canvas"].addEventListener("mousemove", GLFW.onMousemove, true); - Module["canvas"].addEventListener("mousedown", GLFW.onMouseButtonDown, true); - Module["canvas"].addEventListener("mouseup", GLFW.onMouseButtonUp, true); - Module["canvas"].addEventListener('wheel', GLFW.onMouseWheel, true); - Module["canvas"].addEventListener('mousewheel', GLFW.onMouseWheel, true); - - Browser.resizeListeners.push(function(width, height) { - GLFW.onFullScreenEventChange(); - }); - return 1; // GL_TRUE - } - - function _emscripten_glGetTexParameteriv(target, pname, params) { - if (!params) { - // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense - // if p == null, issue a GL error to notify user about it. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - HEAP32[((params)>>2)]=GLctx.getTexParameter(target, pname); - } - - function _alDeleteSources(count, sources) { - if (!AL.currentContext) { - return; - } - for (var i = 0; i < count; ++i) { - var sourceIdx = HEAP32[(((sources)+(i*4))>>2)]; - delete AL.currentContext.src[sourceIdx]; - } - } - - function _glfwSwapBuffers(winid) { - GLFW.swapBuffers(winid); - } - - function _emscripten_glGenerateMipmap(x0) { GLctx.generateMipmap(x0) } - - function _emscripten_glCullFace(x0) { GLctx.cullFace(x0) } - - function _emscripten_glUniform4f(location, v0, v1, v2, v3) { - location = GL.uniforms[location]; - GLctx.uniform4f(location, v0, v1, v2, v3); - } - - function _glDisableVertexAttribArray(index) { - GLctx.disableVertexAttribArray(index); - } - - function _emscripten_glUseProgram(program) { - GLctx.useProgram(program ? GL.programs[program] : null); - } - - function _emscripten_glHint(x0, x1) { GLctx.hint(x0, x1) } - - function _emscripten_glUniform2fv(location, count, value) { - location = GL.uniforms[location]; - var view; - if (count === 1) { - // avoid allocation for the common case of uploading one uniform - view = GL.miniTempBufferViews[1]; - view[0] = HEAPF32[((value)>>2)]; - view[1] = HEAPF32[(((value)+(4))>>2)]; - } else { - view = HEAPF32.subarray((value)>>2,(value+count*8)>>2); - } - GLctx.uniform2fv(location, view); - } - - function _glfwSwapInterval(interval) { - interval = Math.abs(interval); // GLFW uses negative values to enable GLX_EXT_swap_control_tear, which we don't have, so just treat negative and positive the same. - if (interval == 0) _emscripten_set_main_loop_timing(0/*EM_TIMING_SETTIMEOUT*/, 0); - else _emscripten_set_main_loop_timing(1/*EM_TIMING_RAF*/, interval); - } - - function _glGetShaderInfoLog(shader, maxLength, length, infoLog) { - var log = GLctx.getShaderInfoLog(GL.shaders[shader]); - if (log === null) log = '(unknown error)'; - log = log.substr(0, maxLength - 1); - if (maxLength > 0 && infoLog) { - writeStringToMemory(log, infoLog); - if (length) HEAP32[((length)>>2)]=log.length; - } else { - if (length) HEAP32[((length)>>2)]=0; - } - } - - function _emscripten_glMatrixMode(){ throw 'Legacy GL function (glMatrixMode) called. If you want legacy GL emulation, you need to compile with -s LEGACY_GL_EMULATION=1 to enable legacy GL emulation.'; } - - function _abort() { - Module['abort'](); - } - - function _emscripten_glFramebufferRenderbuffer(target, attachment, renderbuffertarget, renderbuffer) { - GLctx.framebufferRenderbuffer(target, attachment, renderbuffertarget, - GL.renderbuffers[renderbuffer]); - } - - function _alGenBuffers(count, buffers) { - if (!AL.currentContext) { - return; - } - for (var i = 0; i < count; ++i) { - AL.currentContext.buf.push(null); - HEAP32[(((buffers)+(i*4))>>2)]=AL.currentContext.buf.length; - } - } - - function _emscripten_glDeleteFramebuffers(n, framebuffers) { - for (var i = 0; i < n; ++i) { - var id = HEAP32[(((framebuffers)+(i*4))>>2)]; - var framebuffer = GL.framebuffers[id]; - if (!framebuffer) continue; // GL spec: "glDeleteFramebuffers silently ignores 0s and names that do not correspond to existing framebuffer objects". - GLctx.deleteFramebuffer(framebuffer); - framebuffer.name = 0; - GL.framebuffers[id] = null; - } - } - - function _emscripten_glIsBuffer(buffer) { - var b = GL.buffers[buffer]; - if (!b) return 0; - return GLctx.isBuffer(b); - } - - function _emscripten_glUniform2iv(location, count, value) { - location = GL.uniforms[location]; - count *= 2; - value = HEAP32.subarray((value)>>2,(value+count*4)>>2); - GLctx.uniform2iv(location, value); - } - - function _emscripten_glVertexAttrib1fv(index, v) { - v = HEAPF32.subarray((v)>>2,(v+4)>>2); - GLctx.vertexAttrib1fv(index, v); - } - - function _glEnable(x0) { GLctx.enable(x0) } - - function _alBufferData(buffer, format, data, size, freq) { - if (!AL.currentContext) { - return; - } - if (buffer > AL.currentContext.buf.length) { - return; - } - var channels, bytes; - switch (format) { - case 0x1100 /* AL_FORMAT_MONO8 */: - bytes = 1; - channels = 1; - break; - case 0x1101 /* AL_FORMAT_MONO16 */: - bytes = 2; - channels = 1; - break; - case 0x1102 /* AL_FORMAT_STEREO8 */: - bytes = 1; - channels = 2; - break; - case 0x1103 /* AL_FORMAT_STEREO16 */: - bytes = 2; - channels = 2; - break; - case 0x10010 /* AL_FORMAT_MONO_FLOAT32 */: - bytes = 4; - channels = 1; - break; - case 0x10011 /* AL_FORMAT_STEREO_FLOAT32 */: - bytes = 4; - channels = 2; - break; - default: - return; - } - try { - AL.currentContext.buf[buffer - 1] = AL.currentContext.ctx.createBuffer(channels, size / (bytes * channels), freq); - AL.currentContext.buf[buffer - 1].bytesPerSample = bytes; - } catch (e) { - AL.currentContext.err = 0xA003 /* AL_INVALID_VALUE */; - return; - } - var buf = new Array(channels); - for (var i = 0; i < channels; ++i) { - buf[i] = AL.currentContext.buf[buffer - 1].getChannelData(i); - } - for (var i = 0; i < size / (bytes * channels); ++i) { - for (var j = 0; j < channels; ++j) { - switch (bytes) { - case 1: - var val = HEAP8[(((data)+(i*channels+j))>>0)] & 0xff; // unsigned - buf[j][i] = -1.0 + val * (2/256); - break; - case 2: - var val = HEAP16[(((data)+(2*(i*channels+j)))>>1)]; - buf[j][i] = val/32768; - break; - case 4: - buf[j][i] = HEAPF32[(((data)+(4*(i*channels+j)))>>2)]; - break; - } - } - } - } - - function _alSourceStop(source) { - if (!AL.currentContext) { - return; - } - var src = AL.currentContext.src[source]; - if (!src) { - AL.currentContext.err = 0xA001 /* AL_INVALID_NAME */; - return; - } - AL.setSourceState(src, 0x1014 /* AL_STOPPED */); - } - - - - function emscriptenWebGLComputeImageSize(width, height, sizePerPixel, alignment) { - function roundedToNextMultipleOf(x, y) { - return Math.floor((x + y - 1) / y) * y - } - var plainRowSize = width * sizePerPixel; - var alignedRowSize = roundedToNextMultipleOf(plainRowSize, alignment); - return (height <= 0) ? 0 : - ((height - 1) * alignedRowSize + plainRowSize); - }function emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, internalFormat) { - var sizePerPixel; - var numChannels; - switch(format) { - case 0x1906 /* GL_ALPHA */: - case 0x1909 /* GL_LUMINANCE */: - case 0x1902 /* GL_DEPTH_COMPONENT */: - case 0x1903 /* GL_RED */: - numChannels = 1; - break; - case 0x190A /* GL_LUMINANCE_ALPHA */: - case 0x8227 /* GL_RG */: - numChannels = 2; - break; - case 0x1907 /* GL_RGB */: - case 0x8C40 /* GL_SRGB_EXT */: - numChannels = 3; - break; - case 0x1908 /* GL_RGBA */: - case 0x8C42 /* GL_SRGB_ALPHA_EXT */: - numChannels = 4; - break; - default: - GL.recordError(0x0500); // GL_INVALID_ENUM - return { - pixels: null, - internalFormat: 0x0 - }; - } - switch (type) { - case 0x1401 /* GL_UNSIGNED_BYTE */: - sizePerPixel = numChannels*1; - break; - case 0x1403 /* GL_UNSIGNED_SHORT */: - case 0x8D61 /* GL_HALF_FLOAT_OES */: - sizePerPixel = numChannels*2; - break; - case 0x1405 /* GL_UNSIGNED_INT */: - case 0x1406 /* GL_FLOAT */: - sizePerPixel = numChannels*4; - break; - case 0x84FA /* UNSIGNED_INT_24_8_WEBGL/UNSIGNED_INT_24_8 */: - sizePerPixel = 4; - break; - case 0x8363 /* GL_UNSIGNED_SHORT_5_6_5 */: - case 0x8033 /* GL_UNSIGNED_SHORT_4_4_4_4 */: - case 0x8034 /* GL_UNSIGNED_SHORT_5_5_5_1 */: - sizePerPixel = 2; - break; - default: - GL.recordError(0x0500); // GL_INVALID_ENUM - return { - pixels: null, - internalFormat: 0x0 - }; - } - var bytes = emscriptenWebGLComputeImageSize(width, height, sizePerPixel, GL.unpackAlignment); - if (type == 0x1401 /* GL_UNSIGNED_BYTE */) { - pixels = HEAPU8.subarray((pixels),(pixels+bytes)); - } else if (type == 0x1406 /* GL_FLOAT */) { - pixels = HEAPF32.subarray((pixels)>>2,(pixels+bytes)>>2); - } else if (type == 0x1405 /* GL_UNSIGNED_INT */ || type == 0x84FA /* UNSIGNED_INT_24_8_WEBGL */) { - pixels = HEAPU32.subarray((pixels)>>2,(pixels+bytes)>>2); - } else { - pixels = HEAPU16.subarray((pixels)>>1,(pixels+bytes)>>1); - } - return { - pixels: pixels, - internalFormat: internalFormat - }; - }function _emscripten_glTexSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixels) { - var pixelData; - if (pixels) { - pixelData = emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, -1).pixels; - } else { - pixelData = null; - } - GLctx.texSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixelData); - } - - function _emscripten_glPolygonOffset(x0, x1) { GLctx.polygonOffset(x0, x1) } - - var _emscripten_asm_const_int=true; - - function _emscripten_glUniform2f(location, v0, v1) { - location = GL.uniforms[location]; - GLctx.uniform2f(location, v0, v1); - } - - function _glGetAttribLocation(program, name) { - program = GL.programs[program]; - name = Pointer_stringify(name); - return GLctx.getAttribLocation(program, name); - } - - function _glfwWindowHint(target, hint) { - GLFW.hints[target] = hint; - } - - var _sin=Math_sin; - - function _glBlendFunc(x0, x1) { GLctx.blendFunc(x0, x1) } - - function _glCreateProgram() { - var id = GL.getNewId(GL.programs); - var program = GLctx.createProgram(); - program.name = id; - GL.programs[id] = program; - return id; - } - - function _emscripten_glDeleteRenderbuffers(n, renderbuffers) { - for (var i = 0; i < n; i++) { - var id = HEAP32[(((renderbuffers)+(i*4))>>2)]; - var renderbuffer = GL.renderbuffers[id]; - if (!renderbuffer) continue; // GL spec: "glDeleteRenderbuffers silently ignores 0s and names that do not correspond to existing renderbuffer objects". - GLctx.deleteRenderbuffer(renderbuffer); - renderbuffer.name = 0; - GL.renderbuffers[id] = null; - } - } - - function _emscripten_glGetBufferParameteriv(target, value, data) { - if (!data) { - // GLES2 specification does not specify how to behave if data is a null pointer. Since calling this function does not make sense - // if data == null, issue a GL error to notify user about it. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - HEAP32[((data)>>2)]=GLctx.getBufferParameter(target, value); - } - - - function emscriptenWebGLGetUniform(program, location, params, type) { - if (!params) { - // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense - // if params == null, issue a GL error to notify user about it. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - var data = GLctx.getUniform(GL.programs[program], GL.uniforms[location]); - if (typeof data == 'number' || typeof data == 'boolean') { - switch (type) { - case 'Integer': HEAP32[((params)>>2)]=data; break; - case 'Float': HEAPF32[((params)>>2)]=data; break; - default: throw 'internal emscriptenWebGLGetUniform() error, bad type: ' + type; - } - } else { - for (var i = 0; i < data.length; i++) { - switch (type) { - case 'Integer': HEAP32[(((params)+(i))>>2)]=data[i]; break; - case 'Float': HEAPF32[(((params)+(i))>>2)]=data[i]; break; - default: throw 'internal emscriptenWebGLGetUniform() error, bad type: ' + type; - } - } - } - }function _emscripten_glGetUniformiv(program, location, params) { - emscriptenWebGLGetUniform(program, location, params, 'Integer'); - } - - function _emscripten_glDepthMask(x0) { GLctx.depthMask(x0) } - - - function _emscripten_glDepthRangef(x0, x1) { GLctx.depthRange(x0, x1) } - - function _emscripten_glDepthRange(x0, x1) { GLctx.depthRange(x0, x1) } - - function _emscripten_set_fullscreenchange_callback(target, userData, useCapture, callbackfunc) { - if (typeof JSEvents.fullscreenEnabled() === 'undefined') return -1; - if (!target) target = document; - else { - target = JSEvents.findEventTarget(target); - if (!target) return -4; - } - JSEvents.registerFullscreenChangeEventCallback(target, userData, useCapture, callbackfunc, 19, "fullscreenchange"); - JSEvents.registerFullscreenChangeEventCallback(target, userData, useCapture, callbackfunc, 19, "mozfullscreenchange"); - JSEvents.registerFullscreenChangeEventCallback(target, userData, useCapture, callbackfunc, 19, "webkitfullscreenchange"); - JSEvents.registerFullscreenChangeEventCallback(target, userData, useCapture, callbackfunc, 19, "msfullscreenchange"); - return 0; - } - - var _fabs=Math_abs; - - function _emscripten_glGetShaderPrecisionFormat(shaderType, precisionType, range, precision) { - var result = GLctx.getShaderPrecisionFormat(shaderType, precisionType); - HEAP32[((range)>>2)]=result.rangeMin; - HEAP32[(((range)+(4))>>2)]=result.rangeMax; - HEAP32[((precision)>>2)]=result.precision; - } - - function _emscripten_glUniform1fv(location, count, value) { - location = GL.uniforms[location]; - var view; - if (count === 1) { - // avoid allocation for the common case of uploading one uniform - view = GL.miniTempBufferViews[0]; - view[0] = HEAPF32[((value)>>2)]; - } else { - view = HEAPF32.subarray((value)>>2,(value+count*4)>>2); - } - GLctx.uniform1fv(location, view); - } - - function _glDeleteBuffers(n, buffers) { - for (var i = 0; i < n; i++) { - var id = HEAP32[(((buffers)+(i*4))>>2)]; - var buffer = GL.buffers[id]; - - // From spec: "glDeleteBuffers silently ignores 0's and names that do not - // correspond to existing buffer objects." - if (!buffer) continue; - - GLctx.deleteBuffer(buffer); - buffer.name = 0; - GL.buffers[id] = null; - - if (id == GL.currArrayBuffer) GL.currArrayBuffer = 0; - if (id == GL.currElementArrayBuffer) GL.currElementArrayBuffer = 0; - } - } - - var _atan2=Math_atan2; - - function _emscripten_glBindProgramARB() { - Module['printErr']('missing function: emscripten_glBindProgramARB'); abort(-1); - } - - function _emscripten_glBindTexture(target, texture) { - GLctx.bindTexture(target, texture ? GL.textures[texture] : null); - } - - function _glfwDefaultWindowHints() { - GLFW.hints = GLFW.defaultHints; - } - - function _emscripten_glDeleteProgram(id) { - if (!id) return; - var program = GL.programs[id]; - if (!program) { // glDeleteProgram actually signals an error when deleting a nonexisting object, unlike some other GL delete functions. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - GLctx.deleteProgram(program); - program.name = 0; - GL.programs[id] = null; - GL.programInfos[id] = null; - } - - function _emscripten_glDisable(x0) { GLctx.disable(x0) } - - function _emscripten_glVertexAttrib3fv(index, v) { - v = HEAPF32.subarray((v)>>2,(v+12)>>2); - GLctx.vertexAttrib3fv(index, v); - } - - function _glClearColor(x0, x1, x2, x3) { GLctx.clearColor(x0, x1, x2, x3) } - - function _emscripten_glGetActiveAttrib(program, index, bufSize, length, size, type, name) { - program = GL.programs[program]; - var info = GLctx.getActiveAttrib(program, index); - if (!info) return; // If an error occurs, nothing will be written to length, size and type and name. - - var infoname = info.name.slice(0, Math.max(0, bufSize - 1)); - if (bufSize > 0 && name) { - writeStringToMemory(infoname, name); - if (length) HEAP32[((length)>>2)]=infoname.length; - } else { - if (length) HEAP32[((length)>>2)]=0; - } - - if (size) HEAP32[((size)>>2)]=info.size; - if (type) HEAP32[((type)>>2)]=info.type; - } - - function _emscripten_glIsFramebuffer(framebuffer) { - var fb = GL.framebuffers[framebuffer]; - if (!fb) return 0; - return GLctx.isFramebuffer(fb); - } - - function _emscripten_glLineWidth(x0) { GLctx.lineWidth(x0) } - - function _glfwGetCursorPos(winid, x, y) { - GLFW.getCursorPos(winid, x, y); - } - - function _emscripten_glGetString(name_) { - if (GL.stringCache[name_]) return GL.stringCache[name_]; - var ret; - switch(name_) { - case 0x1F00 /* GL_VENDOR */: - case 0x1F01 /* GL_RENDERER */: - case 0x1F02 /* GL_VERSION */: - ret = allocate(intArrayFromString(GLctx.getParameter(name_)), 'i8', ALLOC_NORMAL); - break; - case 0x1F03 /* GL_EXTENSIONS */: - var exts = GLctx.getSupportedExtensions(); - var gl_exts = []; - for (var i in exts) { - gl_exts.push(exts[i]); - gl_exts.push("GL_" + exts[i]); - } - ret = allocate(intArrayFromString(gl_exts.join(' ')), 'i8', ALLOC_NORMAL); - break; - case 0x8B8C /* GL_SHADING_LANGUAGE_VERSION */: - ret = allocate(intArrayFromString('OpenGL ES GLSL 1.00 (WebGL)'), 'i8', ALLOC_NORMAL); - break; - default: - GL.recordError(0x0500/*GL_INVALID_ENUM*/); - return 0; - } - GL.stringCache[name_] = ret; - return ret; - } - - function _emscripten_glGetAttribLocation(program, name) { - program = GL.programs[program]; - name = Pointer_stringify(name); - return GLctx.getAttribLocation(program, name); - } - - function _emscripten_glRotatef() { - Module['printErr']('missing function: emscripten_glRotatef'); abort(-1); - } - - - function emscriptenWebGLGet(name_, p, type) { - // Guard against user passing a null pointer. - // Note that GLES2 spec does not say anything about how passing a null pointer should be treated. - // Testing on desktop core GL 3, the application crashes on glGetIntegerv to a null pointer, but - // better to report an error instead of doing anything random. - if (!p) { - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - var ret = undefined; - switch(name_) { // Handle a few trivial GLES values - case 0x8DFA: // GL_SHADER_COMPILER - ret = 1; - break; - case 0x8DF8: // GL_SHADER_BINARY_FORMATS - if (type !== 'Integer' && type !== 'Integer64') { - GL.recordError(0x0500); // GL_INVALID_ENUM - } - return; // Do not write anything to the out pointer, since no binary formats are supported. - case 0x8DF9: // GL_NUM_SHADER_BINARY_FORMATS - ret = 0; - break; - case 0x86A2: // GL_NUM_COMPRESSED_TEXTURE_FORMATS - // WebGL doesn't have GL_NUM_COMPRESSED_TEXTURE_FORMATS (it's obsolete since GL_COMPRESSED_TEXTURE_FORMATS returns a JS array that can be queried for length), - // so implement it ourselves to allow C++ GLES2 code get the length. - var formats = GLctx.getParameter(0x86A3 /*GL_COMPRESSED_TEXTURE_FORMATS*/); - ret = formats.length; - break; - case 0x8B9A: // GL_IMPLEMENTATION_COLOR_READ_TYPE - ret = 0x1401; // GL_UNSIGNED_BYTE - break; - case 0x8B9B: // GL_IMPLEMENTATION_COLOR_READ_FORMAT - ret = 0x1908; // GL_RGBA - break; - } - - if (ret === undefined) { - var result = GLctx.getParameter(name_); - switch (typeof(result)) { - case "number": - ret = result; - break; - case "boolean": - ret = result ? 1 : 0; - break; - case "string": - GL.recordError(0x0500); // GL_INVALID_ENUM - return; - case "object": - if (result === null) { - // null is a valid result for some (e.g., which buffer is bound - perhaps nothing is bound), but otherwise - // can mean an invalid name_, which we need to report as an error - switch(name_) { - case 0x8894: // ARRAY_BUFFER_BINDING - case 0x8B8D: // CURRENT_PROGRAM - case 0x8895: // ELEMENT_ARRAY_BUFFER_BINDING - case 0x8CA6: // FRAMEBUFFER_BINDING - case 0x8CA7: // RENDERBUFFER_BINDING - case 0x8069: // TEXTURE_BINDING_2D - case 0x8514: { // TEXTURE_BINDING_CUBE_MAP - ret = 0; - break; - } - default: { - GL.recordError(0x0500); // GL_INVALID_ENUM - return; - } - } - } else if (result instanceof Float32Array || - result instanceof Uint32Array || - result instanceof Int32Array || - result instanceof Array) { - for (var i = 0; i < result.length; ++i) { - switch (type) { - case 'Integer': HEAP32[(((p)+(i*4))>>2)]=result[i]; break; - case 'Float': HEAPF32[(((p)+(i*4))>>2)]=result[i]; break; - case 'Boolean': HEAP8[(((p)+(i))>>0)]=result[i] ? 1 : 0; break; - default: throw 'internal glGet error, bad type: ' + type; - } - } - return; - } else if (result instanceof WebGLBuffer || - result instanceof WebGLProgram || - result instanceof WebGLFramebuffer || - result instanceof WebGLRenderbuffer || - result instanceof WebGLTexture) { - ret = result.name | 0; - } else { - GL.recordError(0x0500); // GL_INVALID_ENUM - return; - } - break; - default: - GL.recordError(0x0500); // GL_INVALID_ENUM - return; - } - } - - switch (type) { - case 'Integer64': (tempI64 = [ret>>>0,(tempDouble=ret,(+(Math_abs(tempDouble))) >= 1.0 ? (tempDouble > 0.0 ? ((Math_min((+(Math_floor((tempDouble)/4294967296.0))), 4294967295.0))|0)>>>0 : (~~((+(Math_ceil((tempDouble - +(((~~(tempDouble)))>>>0))/4294967296.0)))))>>>0) : 0)],HEAP32[((p)>>2)]=tempI64[0],HEAP32[(((p)+(4))>>2)]=tempI64[1]); break; - case 'Integer': HEAP32[((p)>>2)]=ret; break; - case 'Float': HEAPF32[((p)>>2)]=ret; break; - case 'Boolean': HEAP8[((p)>>0)]=ret ? 1 : 0; break; - default: throw 'internal glGet error, bad type: ' + type; - } - }function _emscripten_glGetIntegerv(name_, p) { - emscriptenWebGLGet(name_, p, 'Integer'); - } - - function _emscripten_glGetFramebufferAttachmentParameteriv(target, attachment, pname, params) { - var result = GLctx.getFramebufferAttachmentParameter(target, attachment, pname); - HEAP32[((params)>>2)]=result; - } - - function _llvm_stackrestore(p) { - var self = _llvm_stacksave; - var ret = self.LLVM_SAVEDSTACKS[p]; - self.LLVM_SAVEDSTACKS.splice(p, 1); - Runtime.stackRestore(ret); - } - - function _glfwSetWindowShouldClose(winid, value) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.shouldClose = value; - } - - function _emscripten_glClientActiveTexture() { - Module['printErr']('missing function: emscripten_glClientActiveTexture'); abort(-1); - } - - function _glGenBuffers(n, buffers) { - for (var i = 0; i < n; i++) { - var buffer = GLctx.createBuffer(); - if (!buffer) { - GL.recordError(0x0502 /* GL_INVALID_OPERATION */); - while(i < n) HEAP32[(((buffers)+(i++*4))>>2)]=0; - return; - } - var id = GL.getNewId(GL.buffers); - buffer.name = id; - GL.buffers[id] = buffer; - HEAP32[(((buffers)+(i*4))>>2)]=id; - } - } - - function _emscripten_glGetShaderInfoLog(shader, maxLength, length, infoLog) { - var log = GLctx.getShaderInfoLog(GL.shaders[shader]); - if (log === null) log = '(unknown error)'; - log = log.substr(0, maxLength - 1); - if (maxLength > 0 && infoLog) { - writeStringToMemory(log, infoLog); - if (length) HEAP32[((length)>>2)]=log.length; - } else { - if (length) HEAP32[((length)>>2)]=0; - } - } - - function _glfwGetTime() { - return GLFW.getTime() - GLFW.initialTime; - } - - function _emscripten_glGetRenderbufferParameteriv(target, pname, params) { - if (!params) { - // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense - // if params == null, issue a GL error to notify user about it. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - HEAP32[((params)>>2)]=GLctx.getRenderbufferParameter(target, pname); - } - - function _emscripten_glStencilOpSeparate(x0, x1, x2, x3) { GLctx.stencilOpSeparate(x0, x1, x2, x3) } - - function _emscripten_glReadPixels(x, y, width, height, format, type, pixels) { - var data = emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, format); - if (!data.pixels) { - GL.recordError(0x0500/*GL_INVALID_ENUM*/); - return; - } - GLctx.readPixels(x, y, width, height, format, type, data.pixels); - } - - function _emscripten_glCompressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, imageSize, data) { - var heapView; - if (data) { - heapView = HEAPU8.subarray((data),(data+imageSize)); - } else { - heapView = null; - } - GLctx['compressedTexSubImage2D'](target, level, xoffset, yoffset, width, height, format, heapView); - } - - function _emscripten_glGetError() { - // First return any GL error generated by the emscripten library_gl.js interop layer. - if (GL.lastError) { - var error = GL.lastError; - GL.lastError = 0/*GL_NO_ERROR*/; - return error; - } else { // If there were none, return the GL error from the browser GL context. - return GLctx.getError(); - } - } - - function _emscripten_glFramebufferTexture2D(target, attachment, textarget, texture, level) { - GLctx.framebufferTexture2D(target, attachment, textarget, - GL.textures[texture], level); - } - - function _pthread_cleanup_push(routine, arg) { - __ATEXIT__.push(function() { Runtime.dynCall('vi', routine, [arg]) }) - _pthread_cleanup_push.level = __ATEXIT__.length; - } - - function _emscripten_glIsEnabled(x0) { return GLctx.isEnabled(x0) } - - function _alSourceQueueBuffers(source, count, buffers) { - if (!AL.currentContext) { - return; - } - var src = AL.currentContext.src[source]; - if (!src) { - AL.currentContext.err = 0xA001 /* AL_INVALID_NAME */; - return; - } - for (var i = 0; i < count; ++i) { - var bufferIdx = HEAP32[(((buffers)+(i*4))>>2)]; - if (bufferIdx > AL.currentContext.buf.length) { - AL.currentContext.err = 0xA001 /* AL_INVALID_NAME */; - return; - } - } - - for (var i = 0; i < count; ++i) { - var bufferIdx = HEAP32[(((buffers)+(i*4))>>2)]; - var buffer = AL.currentContext.buf[bufferIdx - 1]; - src.queue.push({ buffer: buffer, src: null }); - } - - AL.updateSource(src); - } - - function _alSourcef(source, param, value) { - if (!AL.currentContext) { - return; - } - var src = AL.currentContext.src[source]; - if (!src) { - AL.currentContext.err = 0xA001 /* AL_INVALID_NAME */; - return; - } - switch (param) { - case 0x1003 /* AL_PITCH */: - break; - case 0x100A /* AL_GAIN */: - src.gain.gain.value = value; - break; - // case 0x100D /* AL_MIN_GAIN */: - // break; - // case 0x100E /* AL_MAX_GAIN */: - // break; - case 0x1023 /* AL_MAX_DISTANCE */: - src.maxDistance = value; - break; - case 0x1021 /* AL_ROLLOFF_FACTOR */: - src.rolloffFactor = value; - break; - case 0x1022 /* AL_CONE_OUTER_GAIN */: - src.coneOuterGain = value; - break; - case 0x1001 /* AL_CONE_INNER_ANGLE */: - src.coneInnerAngle = value; - break; - case 0x1002 /* AL_CONE_OUTER_ANGLE */: - src.coneOuterAngle = value; - break; - case 0x1020 /* AL_REFERENCE_DISTANCE */: - src.refDistance = value; - break; - default: - AL.currentContext.err = 0xA002 /* AL_INVALID_ENUM */; - break; - } - } - - - Module["_memmove"] = _memmove; - - function _glGenTextures(n, textures) { - for (var i = 0; i < n; i++) { - var texture = GLctx.createTexture(); - if (!texture) { - GL.recordError(0x0502 /* GL_INVALID_OPERATION */); // GLES + EGL specs don't specify what should happen here, so best to issue an error and create IDs with 0. - while(i < n) HEAP32[(((textures)+(i++*4))>>2)]=0; - return; - } - var id = GL.getNewId(GL.textures); - texture.name = id; - GL.textures[id] = texture; - HEAP32[(((textures)+(i*4))>>2)]=id; - } - } - - function _emscripten_glVertexAttrib4f(x0, x1, x2, x3, x4) { GLctx.vertexAttrib4f(x0, x1, x2, x3, x4) } - - function _glDepthFunc(x0) { GLctx.depthFunc(x0) } - - function _emscripten_glUniform2i(location, v0, v1) { - location = GL.uniforms[location]; - GLctx.uniform2i(location, v0, v1); - } - - function _emscripten_glClearDepthf(x0) { GLctx.clearDepth(x0) } - - function _emscripten_glClear(x0) { GLctx.clear(x0) } - - function _alGetError() { - if (!AL.currentContext) { - return 0xA004 /* AL_INVALID_OPERATION */; - } else { - // Reset error on get. - var err = AL.currentContext.err; - AL.currentContext.err = 0 /* AL_NO_ERROR */; - return err; - } - } - - function _emscripten_glBindBuffer(target, buffer) { - var bufferObj = buffer ? GL.buffers[buffer] : null; - - - GLctx.bindBuffer(target, bufferObj); - } - - function _emscripten_glGetUniformfv(program, location, params) { - emscriptenWebGLGetUniform(program, location, params, 'Float'); - } - - function _glGetProgramiv(program, pname, p) { - if (!p) { - // GLES2 specification does not specify how to behave if p is a null pointer. Since calling this function does not make sense - // if p == null, issue a GL error to notify user about it. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - if (pname == 0x8B84) { // GL_INFO_LOG_LENGTH - var log = GLctx.getProgramInfoLog(GL.programs[program]); - if (log === null) log = '(unknown error)'; - HEAP32[((p)>>2)]=log.length + 1; - } else if (pname == 0x8B87 /* GL_ACTIVE_UNIFORM_MAX_LENGTH */) { - var ptable = GL.programInfos[program]; - if (ptable) { - HEAP32[((p)>>2)]=ptable.maxUniformLength; - return; - } else if (program < GL.counter) { - GL.recordError(0x0502 /* GL_INVALID_OPERATION */); - } else { - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - } - } else if (pname == 0x8B8A /* GL_ACTIVE_ATTRIBUTE_MAX_LENGTH */) { - var ptable = GL.programInfos[program]; - if (ptable) { - if (ptable.maxAttributeLength == -1) { - var program = GL.programs[program]; - var numAttribs = GLctx.getProgramParameter(program, GLctx.ACTIVE_ATTRIBUTES); - ptable.maxAttributeLength = 0; // Spec says if there are no active attribs, 0 must be returned. - for(var i = 0; i < numAttribs; ++i) { - var activeAttrib = GLctx.getActiveAttrib(program, i); - ptable.maxAttributeLength = Math.max(ptable.maxAttributeLength, activeAttrib.name.length+1); - } - } - HEAP32[((p)>>2)]=ptable.maxAttributeLength; - return; - } else if (program < GL.counter) { - GL.recordError(0x0502 /* GL_INVALID_OPERATION */); - } else { - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - } - } else { - HEAP32[((p)>>2)]=GLctx.getProgramParameter(GL.programs[program], pname); - } - } - - function _glVertexAttribPointer(index, size, type, normalized, stride, ptr) { - GLctx.vertexAttribPointer(index, size, type, normalized, stride, ptr); - } - - function _alcMakeContextCurrent(context) { - if (context == 0) { - AL.currentContext = null; - return 0; - } else { - AL.currentContext = AL.contexts[context - 1]; - return 1; - } - } - - function _glGetUniformLocation(program, name) { - name = Pointer_stringify(name); - - var arrayOffset = 0; - // If user passed an array accessor "[index]", parse the array index off the accessor. - if (name.indexOf(']', name.length-1) !== -1) { - var ls = name.lastIndexOf('['); - var arrayIndex = name.slice(ls+1, -1); - if (arrayIndex.length > 0) { - arrayOffset = parseInt(arrayIndex); - if (arrayOffset < 0) { - return -1; - } - } - name = name.slice(0, ls); - } - - var ptable = GL.programInfos[program]; - if (!ptable) { - return -1; - } - var utable = ptable.uniforms; - var uniformInfo = utable[name]; // returns pair [ dimension_of_uniform_array, uniform_location ] - if (uniformInfo && arrayOffset < uniformInfo[0]) { // Check if user asked for an out-of-bounds element, i.e. for 'vec4 colors[3];' user could ask for 'colors[10]' which should return -1. - return uniformInfo[1]+arrayOffset; - } else { - return -1; - } - } - - function _emscripten_glGetAttachedShaders(program, maxCount, count, shaders) { - var result = GLctx.getAttachedShaders(GL.programs[program]); - var len = result.length; - if (len > maxCount) { - len = maxCount; - } - HEAP32[((count)>>2)]=len; - for (var i = 0; i < len; ++i) { - var id = GL.shaders.indexOf(result[i]); - HEAP32[(((shaders)+(i*4))>>2)]=id; - } - } - - function _emscripten_glGenRenderbuffers(n, renderbuffers) { - for (var i = 0; i < n; i++) { - var renderbuffer = GLctx.createRenderbuffer(); - if (!renderbuffer) { - GL.recordError(0x0502 /* GL_INVALID_OPERATION */); - while(i < n) HEAP32[(((renderbuffers)+(i++*4))>>2)]=0; - return; - } - var id = GL.getNewId(GL.renderbuffers); - renderbuffer.name = id; - GL.renderbuffers[id] = renderbuffer; - HEAP32[(((renderbuffers)+(i*4))>>2)]=id; - } - } - - function _emscripten_glFrontFace(x0) { GLctx.frontFace(x0) } - - function _emscripten_glActiveTexture(x0) { GLctx.activeTexture(x0) } - - function _emscripten_glUniform1iv(location, count, value) { - location = GL.uniforms[location]; - value = HEAP32.subarray((value)>>2,(value+count*4)>>2); - GLctx.uniform1iv(location, value); - } - - function _glUniform4fv(location, count, value) { - location = GL.uniforms[location]; - var view; - if (count === 1) { - // avoid allocation for the common case of uploading one uniform - view = GL.miniTempBufferViews[3]; - view[0] = HEAPF32[((value)>>2)]; - view[1] = HEAPF32[(((value)+(4))>>2)]; - view[2] = HEAPF32[(((value)+(8))>>2)]; - view[3] = HEAPF32[(((value)+(12))>>2)]; - } else { - view = HEAPF32.subarray((value)>>2,(value+count*16)>>2); - } - GLctx.uniform4fv(location, view); - } - - function _emscripten_glTexCoordPointer() { - Module['printErr']('missing function: emscripten_glTexCoordPointer'); abort(-1); - } - - function _emscripten_glGetInfoLogARB() { - Module['printErr']('missing function: emscripten_glGetInfoLogARB'); abort(-1); - } - - - function __exit(status) { - // void _exit(int status); - // http://pubs.opengroup.org/onlinepubs/000095399/functions/exit.html - Module['exit'](status); - }function _exit(status) { - __exit(status); - } - - function _emscripten_glRenderbufferStorage(x0, x1, x2, x3) { GLctx.renderbufferStorage(x0, x1, x2, x3) } - - function _emscripten_glCopyTexSubImage2D(x0, x1, x2, x3, x4, x5, x6, x7) { GLctx.copyTexSubImage2D(x0, x1, x2, x3, x4, x5, x6, x7) } - - function _glfwSetCursorPosCallback(winid, cbfun) { - GLFW.setCursorPosCallback(winid, cbfun); - } - - function _emscripten_glShaderBinary() { - GL.recordError(0x0500/*GL_INVALID_ENUM*/); - } - - function _emscripten_glIsProgram(program) { - var program = GL.programs[program]; - if (!program) return 0; - return GLctx.isProgram(program); - } - - function _emscripten_glBlendColor(x0, x1, x2, x3) { GLctx.blendColor(x0, x1, x2, x3) } - - function _emscripten_glGetShaderiv(shader, pname, p) { - if (!p) { - // GLES2 specification does not specify how to behave if p is a null pointer. Since calling this function does not make sense - // if p == null, issue a GL error to notify user about it. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - if (pname == 0x8B84) { // GL_INFO_LOG_LENGTH - var log = GLctx.getShaderInfoLog(GL.shaders[shader]); - if (log === null) log = '(unknown error)'; - HEAP32[((p)>>2)]=log.length + 1; - } else { - HEAP32[((p)>>2)]=GLctx.getShaderParameter(GL.shaders[shader], pname); - } - } - - function _emscripten_glUniformMatrix3fv(location, count, transpose, value) { - location = GL.uniforms[location]; - var view; - if (count === 1) { - // avoid allocation for the common case of uploading one uniform matrix - view = GL.miniTempBufferViews[8]; - for (var i = 0; i < 9; i++) { - view[i] = HEAPF32[(((value)+(i*4))>>2)]; - } - } else { - view = HEAPF32.subarray((value)>>2,(value+count*36)>>2); - } - GLctx.uniformMatrix3fv(location, transpose, view); - } - - function _emscripten_glVertexAttrib2f(x0, x1, x2) { GLctx.vertexAttrib2f(x0, x1, x2) } - - function _emscripten_glUniform4fv(location, count, value) { - location = GL.uniforms[location]; - var view; - if (count === 1) { - // avoid allocation for the common case of uploading one uniform - view = GL.miniTempBufferViews[3]; - view[0] = HEAPF32[((value)>>2)]; - view[1] = HEAPF32[(((value)+(4))>>2)]; - view[2] = HEAPF32[(((value)+(8))>>2)]; - view[3] = HEAPF32[(((value)+(12))>>2)]; - } else { - view = HEAPF32.subarray((value)>>2,(value+count*16)>>2); - } - GLctx.uniform4fv(location, view); - } - - function _glBufferSubData(target, offset, size, data) { - GLctx.bufferSubData(target, offset, HEAPU8.subarray(data, data+size)); - } - - function _glGetProgramInfoLog(program, maxLength, length, infoLog) { - var log = GLctx.getProgramInfoLog(GL.programs[program]); - if (log === null) log = '(unknown error)'; - - log = log.substr(0, maxLength - 1); - if (maxLength > 0 && infoLog) { - writeStringToMemory(log, infoLog); - if (length) HEAP32[((length)>>2)]=log.length; - } else { - if (length) HEAP32[((length)>>2)]=0; - } - } - - function _alcDestroyContext(context) { - // Stop playback, etc - clearInterval(AL.contexts[context - 1].interval); - } - - function _emscripten_glGenFramebuffers(n, ids) { - for (var i = 0; i < n; ++i) { - var framebuffer = GLctx.createFramebuffer(); - if (!framebuffer) { - GL.recordError(0x0502 /* GL_INVALID_OPERATION */); - while(i < n) HEAP32[(((ids)+(i++*4))>>2)]=0; - return; - } - var id = GL.getNewId(GL.framebuffers); - framebuffer.name = id; - GL.framebuffers[id] = framebuffer; - HEAP32[(((ids)+(i*4))>>2)]=id; - } - } - - function _glGetShaderiv(shader, pname, p) { - if (!p) { - // GLES2 specification does not specify how to behave if p is a null pointer. Since calling this function does not make sense - // if p == null, issue a GL error to notify user about it. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - if (pname == 0x8B84) { // GL_INFO_LOG_LENGTH - var log = GLctx.getShaderInfoLog(GL.shaders[shader]); - if (log === null) log = '(unknown error)'; - HEAP32[((p)>>2)]=log.length + 1; - } else { - HEAP32[((p)>>2)]=GLctx.getShaderParameter(GL.shaders[shader], pname); - } - } - - function _emscripten_glBlendEquationSeparate(x0, x1) { GLctx.blendEquationSeparate(x0, x1) } - - function _glfwSetWindowIconifyCallback(winid, cbfun) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.windowIconifyFunc = cbfun; - } - - function _emscripten_glDrawRangeElements() { - Module['printErr']('missing function: emscripten_glDrawRangeElements'); abort(-1); - } - - function _emscripten_glGenTextures(n, textures) { - for (var i = 0; i < n; i++) { - var texture = GLctx.createTexture(); - if (!texture) { - GL.recordError(0x0502 /* GL_INVALID_OPERATION */); // GLES + EGL specs don't specify what should happen here, so best to issue an error and create IDs with 0. - while(i < n) HEAP32[(((textures)+(i++*4))>>2)]=0; - return; - } - var id = GL.getNewId(GL.textures); - texture.name = id; - GL.textures[id] = texture; - HEAP32[(((textures)+(i*4))>>2)]=id; - } - } - - function _emscripten_glVertexAttrib2fv(index, v) { - v = HEAPF32.subarray((v)>>2,(v+8)>>2); - GLctx.vertexAttrib2fv(index, v); - } - - var _floorf=Math_floor; - - function _emscripten_glGetActiveUniform(program, index, bufSize, length, size, type, name) { - program = GL.programs[program]; - var info = GLctx.getActiveUniform(program, index); - if (!info) return; // If an error occurs, nothing will be written to length, size, type and name. - - var infoname = info.name.slice(0, Math.max(0, bufSize - 1)); - if (bufSize > 0 && name) { - writeStringToMemory(infoname, name); - if (length) HEAP32[((length)>>2)]=infoname.length; - } else { - if (length) HEAP32[((length)>>2)]=0; - } - - if (size) HEAP32[((size)>>2)]=info.size; - if (type) HEAP32[((type)>>2)]=info.type; - } - - function _emscripten_glDeleteObjectARB() { - Module['printErr']('missing function: emscripten_glDeleteObjectARB'); abort(-1); - } - - function _emscripten_set_touchmove_callback(target, userData, useCapture, callbackfunc) { - JSEvents.registerTouchEventCallback(target, userData, useCapture, callbackfunc, 24, "touchmove"); - return 0; - } - - function _emscripten_glUniform1f(location, v0) { - location = GL.uniforms[location]; - GLctx.uniform1f(location, v0); - } - - function _alcCreateContext(device, attrList) { - if (device != 1) { - return 0; - } - - if (attrList) { - return 0; - } - - var ctx; - try { - ctx = new AudioContext(); - } catch (e) { - try { - ctx = new webkitAudioContext(); - } catch (e) {} - } - - if (ctx) { - // Old Web Audio API (e.g. Safari 6.0.5) had an inconsistently named createGainNode function. - if (typeof(ctx.createGain) === 'undefined') ctx.createGain = ctx.createGainNode; - - var gain = ctx.createGain(); - gain.connect(ctx.destination); - var context = { - ctx: ctx, - err: 0, - src: {}, - buf: [], - interval: setInterval(function() { AL.updateSources(context); }, AL.QUEUE_INTERVAL), - gain: gain - }; - AL.contexts.push(context); - return AL.contexts.length; - } else { - return 0; - } - } - - function _emscripten_glVertexAttribPointer(index, size, type, normalized, stride, ptr) { - GLctx.vertexAttribPointer(index, size, type, normalized, stride, ptr); - } - - function _alcCloseDevice(device) { - // Stop playback, etc - } - - function _glShaderSource(shader, count, string, length) { - var source = GL.getSource(shader, count, string, length); - GLctx.shaderSource(GL.shaders[shader], source); - } - - var _sqrtf=Math_sqrt; - - function _emscripten_glDrawArrays(mode, first, count) { - - GLctx.drawArrays(mode, first, count); - - } - - function _emscripten_glGenBuffers(n, buffers) { - for (var i = 0; i < n; i++) { - var buffer = GLctx.createBuffer(); - if (!buffer) { - GL.recordError(0x0502 /* GL_INVALID_OPERATION */); - while(i < n) HEAP32[(((buffers)+(i++*4))>>2)]=0; - return; - } - var id = GL.getNewId(GL.buffers); - buffer.name = id; - GL.buffers[id] = buffer; - HEAP32[(((buffers)+(i*4))>>2)]=id; - } - } - - var _log=Math_log; - - function _glfwSetCharCallback(winid, cbfun) { - GLFW.setCharCallback(winid, cbfun); - } - - function _emscripten_glGetUniformLocation(program, name) { - name = Pointer_stringify(name); - - var arrayOffset = 0; - // If user passed an array accessor "[index]", parse the array index off the accessor. - if (name.indexOf(']', name.length-1) !== -1) { - var ls = name.lastIndexOf('['); - var arrayIndex = name.slice(ls+1, -1); - if (arrayIndex.length > 0) { - arrayOffset = parseInt(arrayIndex); - if (arrayOffset < 0) { - return -1; - } - } - name = name.slice(0, ls); - } - - var ptable = GL.programInfos[program]; - if (!ptable) { - return -1; - } - var utable = ptable.uniforms; - var uniformInfo = utable[name]; // returns pair [ dimension_of_uniform_array, uniform_location ] - if (uniformInfo && arrayOffset < uniformInfo[0]) { // Check if user asked for an out-of-bounds element, i.e. for 'vec4 colors[3];' user could ask for 'colors[10]' which should return -1. - return uniformInfo[1]+arrayOffset; - } else { - return -1; - } - } - - function _glActiveTexture(x0) { GLctx.activeTexture(x0) } - - function _glBindBuffer(target, buffer) { - var bufferObj = buffer ? GL.buffers[buffer] : null; - - - GLctx.bindBuffer(target, bufferObj); - } - - function _glPixelStorei(pname, param) { - if (pname == 0x0D05 /* GL_PACK_ALIGNMENT */) { - GL.packAlignment = param; - } else if (pname == 0x0cf5 /* GL_UNPACK_ALIGNMENT */) { - GL.unpackAlignment = param; - } - GLctx.pixelStorei(pname, param); - } - - function _emscripten_glEnable(x0) { GLctx.enable(x0) } - - function _emscripten_glScissor(x0, x1, x2, x3) { GLctx.scissor(x0, x1, x2, x3) } - - function _glfwSetCursorEnterCallback(winid, cbfun) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.cursorEnterFunc = cbfun; - } - - - Module["_bitshift64Lshr"] = _bitshift64Lshr; - - function _glBufferData(target, size, data, usage) { - switch (usage) { // fix usages, WebGL only has *_DRAW - case 0x88E1: // GL_STREAM_READ - case 0x88E2: // GL_STREAM_COPY - usage = 0x88E0; // GL_STREAM_DRAW - break; - case 0x88E5: // GL_STATIC_READ - case 0x88E6: // GL_STATIC_COPY - usage = 0x88E4; // GL_STATIC_DRAW - break; - case 0x88E9: // GL_DYNAMIC_READ - case 0x88EA: // GL_DYNAMIC_COPY - usage = 0x88E8; // GL_DYNAMIC_DRAW - break; - } - if (!data) { - GLctx.bufferData(target, size, usage); - } else { - GLctx.bufferData(target, HEAPU8.subarray(data, data+size), usage); - } - } - - var _BDtoIHigh=true; - - function _emscripten_glIsShader(shader) { - var s = GL.shaders[shader]; - if (!s) return 0; - return GLctx.isShader(s); - } - - function _emscripten_glDrawBuffers(n, bufs) { - var bufArray = []; - for (var i = 0; i < n; i++) - bufArray.push(HEAP32[(((bufs)+(i*4))>>2)]); - - GLctx['drawBuffers'](bufArray); - } - - function _emscripten_glBindFramebuffer(target, framebuffer) { - GLctx.bindFramebuffer(target, framebuffer ? GL.framebuffers[framebuffer] : null); - } - - function _alcGetContextsDevice(context) { - if (context <= AL.contexts.length && context > 0) { - // Returns the only one audio device - return 1; - } - return 0; - } - - function _emscripten_glBlendEquation(x0) { GLctx.blendEquation(x0) } - - function _emscripten_glBufferSubData(target, offset, size, data) { - GLctx.bufferSubData(target, offset, HEAPU8.subarray(data, data+size)); - } - - function _emscripten_glBufferData(target, size, data, usage) { - switch (usage) { // fix usages, WebGL only has *_DRAW - case 0x88E1: // GL_STREAM_READ - case 0x88E2: // GL_STREAM_COPY - usage = 0x88E0; // GL_STREAM_DRAW - break; - case 0x88E5: // GL_STATIC_READ - case 0x88E6: // GL_STATIC_COPY - usage = 0x88E4; // GL_STATIC_DRAW - break; - case 0x88E9: // GL_DYNAMIC_READ - case 0x88EA: // GL_DYNAMIC_COPY - usage = 0x88E8; // GL_DYNAMIC_DRAW - break; - } - if (!data) { - GLctx.bufferData(target, size, usage); - } else { - GLctx.bufferData(target, HEAPU8.subarray(data, data+size), usage); - } - } - - function _sbrk(bytes) { - // Implement a Linux-like 'memory area' for our 'process'. - // Changes the size of the memory area by |bytes|; returns the - // address of the previous top ('break') of the memory area - // We control the "dynamic" memory - DYNAMIC_BASE to DYNAMICTOP - var self = _sbrk; - if (!self.called) { - DYNAMICTOP = alignMemoryPage(DYNAMICTOP); // make sure we start out aligned - self.called = true; - assert(Runtime.dynamicAlloc); - self.alloc = Runtime.dynamicAlloc; - Runtime.dynamicAlloc = function() { abort('cannot dynamically allocate, sbrk now has control') }; - } - var ret = DYNAMICTOP; - if (bytes != 0) { - var success = self.alloc(bytes); - if (!success) return -1 >>> 0; // sbrk failure code - } - return ret; // Previous break location. - } - - - Module["_bitshift64Shl"] = _bitshift64Shl; - - function _emscripten_glVertexAttrib4fv(index, v) { - v = HEAPF32.subarray((v)>>2,(v+16)>>2); - GLctx.vertexAttrib4fv(index, v); - } - - var _BItoD=true; - - function _emscripten_glGetShaderSource(shader, bufSize, length, source) { - var result = GLctx.getShaderSource(GL.shaders[shader]); - if (!result) return; // If an error occurs, nothing will be written to length or source. - result = result.slice(0, Math.max(0, bufSize - 1)); - if (bufSize > 0 && source) { - writeStringToMemory(result, source); - if (length) HEAP32[((length)>>2)]=result.length; - } else { - if (length) HEAP32[((length)>>2)]=0; - } - } - - function _emscripten_glClearDepth(x0) { GLctx.clearDepth(x0) } - - function _emscripten_glGetFloatv(name_, p) { - emscriptenWebGLGet(name_, p, 'Float'); - } - - function _glTexImage2D(target, level, internalFormat, width, height, border, format, type, pixels) { - var pixelData; - if (pixels) { - var data = emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, internalFormat); - pixelData = data.pixels; - internalFormat = data.internalFormat; - } else { - pixelData = null; - } - GLctx.texImage2D(target, level, internalFormat, width, height, border, format, type, pixelData); - } - - function ___assert_fail(condition, filename, line, func) { - ABORT = true; - throw 'Assertion failed: ' + Pointer_stringify(condition) + ', at: ' + [filename ? Pointer_stringify(filename) : 'unknown filename', line, func ? Pointer_stringify(func) : 'unknown function'] + ' at ' + stackTrace(); - } - - function _emscripten_glVertexAttribDivisor(index, divisor) { - GLctx['vertexAttribDivisor'](index, divisor); - } - - function _emscripten_glDrawElementsInstanced(mode, count, type, indices, primcount) { - GLctx['drawElementsInstanced'](mode, count, type, indices, primcount); - } - - function _emscripten_glDrawElements(mode, count, type, indices) { - - GLctx.drawElements(mode, count, type, indices); - - } - - function _glfwSetMouseButtonCallback(winid, cbfun) { - GLFW.setMouseButtonCallback(winid, cbfun); - } - - function _emscripten_glCreateProgram() { - var id = GL.getNewId(GL.programs); - var program = GLctx.createProgram(); - program.name = id; - GL.programs[id] = program; - return id; - } - - function _emscripten_glCompressedTexImage2D(target, level, internalFormat, width, height, border, imageSize, data) { - var heapView; - if (data) { - heapView = HEAPU8.subarray((data),(data+imageSize)); - } else { - heapView = null; - } - GLctx['compressedTexImage2D'](target, level, internalFormat, width, height, border, heapView); - } - - function _emscripten_glClearColor(x0, x1, x2, x3) { GLctx.clearColor(x0, x1, x2, x3) } - - function _emscripten_glBindVertexArray(vao) { - GLctx['bindVertexArray'](GL.vaos[vao]); - } - - var _floor=Math_floor; - - function _emscripten_glLoadMatrixf() { - Module['printErr']('missing function: emscripten_glLoadMatrixf'); abort(-1); - } - - function _glDeleteShader(id) { - if (!id) return; - var shader = GL.shaders[id]; - if (!shader) { // glDeleteShader actually signals an error when deleting a nonexisting object, unlike some other GL delete functions. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - GLctx.deleteShader(shader); - GL.shaders[id] = null; - } - - function _emscripten_glGetProgramiv(program, pname, p) { - if (!p) { - // GLES2 specification does not specify how to behave if p is a null pointer. Since calling this function does not make sense - // if p == null, issue a GL error to notify user about it. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - if (pname == 0x8B84) { // GL_INFO_LOG_LENGTH - var log = GLctx.getProgramInfoLog(GL.programs[program]); - if (log === null) log = '(unknown error)'; - HEAP32[((p)>>2)]=log.length + 1; - } else if (pname == 0x8B87 /* GL_ACTIVE_UNIFORM_MAX_LENGTH */) { - var ptable = GL.programInfos[program]; - if (ptable) { - HEAP32[((p)>>2)]=ptable.maxUniformLength; - return; - } else if (program < GL.counter) { - GL.recordError(0x0502 /* GL_INVALID_OPERATION */); - } else { - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - } - } else if (pname == 0x8B8A /* GL_ACTIVE_ATTRIBUTE_MAX_LENGTH */) { - var ptable = GL.programInfos[program]; - if (ptable) { - if (ptable.maxAttributeLength == -1) { - var program = GL.programs[program]; - var numAttribs = GLctx.getProgramParameter(program, GLctx.ACTIVE_ATTRIBUTES); - ptable.maxAttributeLength = 0; // Spec says if there are no active attribs, 0 must be returned. - for(var i = 0; i < numAttribs; ++i) { - var activeAttrib = GLctx.getActiveAttrib(program, i); - ptable.maxAttributeLength = Math.max(ptable.maxAttributeLength, activeAttrib.name.length+1); - } - } - HEAP32[((p)>>2)]=ptable.maxAttributeLength; - return; - } else if (program < GL.counter) { - GL.recordError(0x0502 /* GL_INVALID_OPERATION */); - } else { - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - } - } else { - HEAP32[((p)>>2)]=GLctx.getProgramParameter(GL.programs[program], pname); - } - } - - function _emscripten_glGetProgramInfoLog(program, maxLength, length, infoLog) { - var log = GLctx.getProgramInfoLog(GL.programs[program]); - if (log === null) log = '(unknown error)'; - - log = log.substr(0, maxLength - 1); - if (maxLength > 0 && infoLog) { - writeStringToMemory(log, infoLog); - if (length) HEAP32[((length)>>2)]=log.length; - } else { - if (length) HEAP32[((length)>>2)]=0; - } - } - - function _emscripten_glTexImage2D(target, level, internalFormat, width, height, border, format, type, pixels) { - var pixelData; - if (pixels) { - var data = emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, internalFormat); - pixelData = data.pixels; - internalFormat = data.internalFormat; - } else { - pixelData = null; - } - GLctx.texImage2D(target, level, internalFormat, width, height, border, format, type, pixelData); - } - - var _exp=Math_exp; - - function ___unlock() {} - - function _emscripten_glColorPointer() { - Module['printErr']('missing function: emscripten_glColorPointer'); abort(-1); - } - - function _glViewport(x0, x1, x2, x3) { GLctx.viewport(x0, x1, x2, x3) } - - function _glfwPollEvents() {} - - function _emscripten_glCheckFramebufferStatus(x0) { return GLctx.checkFramebufferStatus(x0) } - - function _glfwDestroyWindow(winid) { - return GLFW.destroyWindow(winid); - } - - function _emscripten_glFlush() { GLctx.flush() } - - function _glfwSetErrorCallback(cbfun) { - GLFW.errorFunc = cbfun; - } - - function _emscripten_glCreateShader(shaderType) { - var id = GL.getNewId(GL.shaders); - GL.shaders[id] = GLctx.createShader(shaderType); - return id; - } - - function _glUniformMatrix4fv(location, count, transpose, value) { - location = GL.uniforms[location]; - var view; - if (count === 1) { - // avoid allocation for the common case of uploading one uniform matrix - view = GL.miniTempBufferViews[15]; - for (var i = 0; i < 16; i++) { - view[i] = HEAPF32[(((value)+(i*4))>>2)]; - } - } else { - view = HEAPF32.subarray((value)>>2,(value+count*64)>>2); - } - GLctx.uniformMatrix4fv(location, transpose, view); - } - - function _emscripten_glValidateProgram(program) { - GLctx.validateProgram(GL.programs[program]); - } - - function _glTexParameteri(x0, x1, x2) { GLctx.texParameteri(x0, x1, x2) } - - function _glfwSetKeyCallback(winid, cbfun) { - GLFW.setKeyCallback(winid, cbfun); - } - - function _emscripten_glColorMask(x0, x1, x2, x3) { GLctx.colorMask(x0, x1, x2, x3) } - - function _emscripten_glPixelStorei(pname, param) { - if (pname == 0x0D05 /* GL_PACK_ALIGNMENT */) { - GL.packAlignment = param; - } else if (pname == 0x0cf5 /* GL_UNPACK_ALIGNMENT */) { - GL.unpackAlignment = param; - } - GLctx.pixelStorei(pname, param); - } - - function _emscripten_glDeleteTextures(n, textures) { - for (var i = 0; i < n; i++) { - var id = HEAP32[(((textures)+(i*4))>>2)]; - var texture = GL.textures[id]; - if (!texture) continue; // GL spec: "glDeleteTextures silently ignores 0s and names that do not correspond to existing textures". - GLctx.deleteTexture(texture); - texture.name = 0; - GL.textures[id] = null; - } - } - - function _emscripten_glCompileShader(shader) { - GLctx.compileShader(GL.shaders[shader]); - } - - function _emscripten_glGenVertexArrays(n, arrays) { - - for(var i = 0; i < n; i++) { - var vao = GLctx['createVertexArray'](); - if (!vao) { - GL.recordError(0x0502 /* GL_INVALID_OPERATION */); - while(i < n) HEAP32[(((arrays)+(i++*4))>>2)]=0; - return; - } - var id = GL.getNewId(GL.vaos); - vao.name = id; - GL.vaos[id] = vao; - HEAP32[(((arrays)+(i*4))>>2)]=id; - } - } - - function _time(ptr) { - var ret = (Date.now()/1000)|0; - if (ptr) { - HEAP32[((ptr)>>2)]=ret; - } - return ret; - } - - function _pthread_self() { - //FIXME: assumes only a single thread - return 0; - } - - function _emscripten_glGetBooleanv(name_, p) { - emscriptenWebGLGet(name_, p, 'Boolean'); - } - - function ___syscall221(which, varargs) {SYSCALLS.varargs = varargs; - try { - // fcntl64 - var stream = SYSCALLS.getStreamFromFD(), cmd = SYSCALLS.get(); - switch (cmd) { - case 0: { - var arg = SYSCALLS.get(); - if (arg < 0) { - return -ERRNO_CODES.EINVAL; - } - var newStream; - newStream = FS.open(stream.path, stream.flags, 0, arg); - return newStream.fd; - } - case 1: - case 2: - return 0; // FD_CLOEXEC makes no sense for a single process. - case 3: - return stream.flags; - case 4: { - var arg = SYSCALLS.get(); - stream.flags |= arg; - return 0; - } - case 12: - case 12: { - var arg = SYSCALLS.get(); - var offset = 0; - // We're always unlocked. - HEAP16[(((arg)+(offset))>>1)]=2; - return 0; - } - case 13: - case 14: - case 13: - case 14: - return 0; // Pretend that the locking is successful. - case 16: - case 8: - return -ERRNO_CODES.EINVAL; // These are for sockets. We don't have them fully implemented yet. - case 9: - // musl trusts getown return values, due to a bug where they must be, as they overlap with errors. just return -1 here, so fnctl() returns that, and we set errno ourselves. - ___setErrNo(ERRNO_CODES.EINVAL); - return -1; - default: { - return -ERRNO_CODES.EINVAL; - } - } - } catch (e) { - if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); - return -e.errno; - } - } -var GLctx; GL.init() -FS.staticInit();__ATINIT__.unshift(function() { if (!Module["noFSInit"] && !FS.init.initialized) FS.init() });__ATMAIN__.push(function() { FS.ignorePermissions = false });__ATEXIT__.push(function() { FS.quit() });Module["FS_createFolder"] = FS.createFolder;Module["FS_createPath"] = FS.createPath;Module["FS_createDataFile"] = FS.createDataFile;Module["FS_createPreloadedFile"] = FS.createPreloadedFile;Module["FS_createLazyFile"] = FS.createLazyFile;Module["FS_createLink"] = FS.createLink;Module["FS_createDevice"] = FS.createDevice;Module["FS_unlink"] = FS.unlink; -__ATINIT__.unshift(function() { TTY.init() });__ATEXIT__.push(function() { TTY.shutdown() }); -if (ENVIRONMENT_IS_NODE) { var fs = require("fs"); var NODEJS_PATH = require("path"); NODEFS.staticInit(); } -Module["requestFullScreen"] = function Module_requestFullScreen(lockPointer, resizeCanvas, vrDevice) { Browser.requestFullScreen(lockPointer, resizeCanvas, vrDevice) }; - Module["requestAnimationFrame"] = function Module_requestAnimationFrame(func) { Browser.requestAnimationFrame(func) }; - Module["setCanvasSize"] = function Module_setCanvasSize(width, height, noUpdates) { Browser.setCanvasSize(width, height, noUpdates) }; - Module["pauseMainLoop"] = function Module_pauseMainLoop() { Browser.mainLoop.pause() }; - Module["resumeMainLoop"] = function Module_resumeMainLoop() { Browser.mainLoop.resume() }; - Module["getUserMedia"] = function Module_getUserMedia() { Browser.getUserMedia() } - Module["createContext"] = function Module_createContext(canvas, useWebGL, setInModule, webGLContextAttributes) { return Browser.createContext(canvas, useWebGL, setInModule, webGLContextAttributes) } -STACK_BASE = STACKTOP = Runtime.alignMemory(STATICTOP); - -staticSealed = true; // seal the static portion of memory - -STACK_MAX = STACK_BASE + TOTAL_STACK; - -DYNAMIC_BASE = DYNAMICTOP = Runtime.alignMemory(STACK_MAX); - -assert(DYNAMIC_BASE < TOTAL_MEMORY, "TOTAL_MEMORY not big enough for stack"); - - var cttz_i8 = allocate([8,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,7,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0], "i8", ALLOC_DYNAMIC); - - -function invoke_viiiii(index,a1,a2,a3,a4,a5) { - try { - Module["dynCall_viiiii"](index,a1,a2,a3,a4,a5); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - asm["setThrew"](1, 0); - } -} - -function invoke_vd(index,a1) { - try { - Module["dynCall_vd"](index,a1); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - asm["setThrew"](1, 0); - } -} - -function invoke_vid(index,a1,a2) { - try { - Module["dynCall_vid"](index,a1,a2); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - asm["setThrew"](1, 0); - } -} - -function invoke_vi(index,a1) { - try { - Module["dynCall_vi"](index,a1); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - asm["setThrew"](1, 0); - } -} - -function invoke_vii(index,a1,a2) { - try { - Module["dynCall_vii"](index,a1,a2); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - asm["setThrew"](1, 0); - } -} - -function invoke_ii(index,a1) { - try { - return Module["dynCall_ii"](index,a1); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - asm["setThrew"](1, 0); - } -} - -function invoke_viddd(index,a1,a2,a3,a4) { - try { - Module["dynCall_viddd"](index,a1,a2,a3,a4); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - asm["setThrew"](1, 0); - } -} - -function invoke_vidd(index,a1,a2,a3) { - try { - Module["dynCall_vidd"](index,a1,a2,a3); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - asm["setThrew"](1, 0); - } -} - -function invoke_iiii(index,a1,a2,a3) { - try { - return Module["dynCall_iiii"](index,a1,a2,a3); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - asm["setThrew"](1, 0); - } -} - -function invoke_viiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8) { - try { - Module["dynCall_viiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - asm["setThrew"](1, 0); - } -} - -function invoke_viiiiii(index,a1,a2,a3,a4,a5,a6) { - try { - Module["dynCall_viiiiii"](index,a1,a2,a3,a4,a5,a6); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - asm["setThrew"](1, 0); - } -} - -function invoke_viii(index,a1,a2,a3) { - try { - Module["dynCall_viii"](index,a1,a2,a3); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - asm["setThrew"](1, 0); - } -} - -function invoke_vidddd(index,a1,a2,a3,a4,a5) { - try { - Module["dynCall_vidddd"](index,a1,a2,a3,a4,a5); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - asm["setThrew"](1, 0); - } -} - -function invoke_vdi(index,a1,a2) { - try { - Module["dynCall_vdi"](index,a1,a2); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - asm["setThrew"](1, 0); - } -} - -function invoke_viiiiiii(index,a1,a2,a3,a4,a5,a6,a7) { - try { - Module["dynCall_viiiiiii"](index,a1,a2,a3,a4,a5,a6,a7); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - asm["setThrew"](1, 0); - } -} - -function invoke_viiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9) { - try { - Module["dynCall_viiiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - asm["setThrew"](1, 0); - } -} - -function invoke_iii(index,a1,a2) { - try { - return Module["dynCall_iii"](index,a1,a2); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - asm["setThrew"](1, 0); - } -} - -function invoke_i(index) { - try { - return Module["dynCall_i"](index); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - asm["setThrew"](1, 0); - } -} - -function invoke_iiiiii(index,a1,a2,a3,a4,a5) { - try { - return Module["dynCall_iiiiii"](index,a1,a2,a3,a4,a5); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - asm["setThrew"](1, 0); - } -} - -function invoke_vdddddd(index,a1,a2,a3,a4,a5,a6) { - try { - Module["dynCall_vdddddd"](index,a1,a2,a3,a4,a5,a6); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - asm["setThrew"](1, 0); - } -} - -function invoke_vdddd(index,a1,a2,a3,a4) { - try { - Module["dynCall_vdddd"](index,a1,a2,a3,a4); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - asm["setThrew"](1, 0); - } -} - -function invoke_vdd(index,a1,a2) { - try { - Module["dynCall_vdd"](index,a1,a2); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - asm["setThrew"](1, 0); - } -} - -function invoke_v(index) { - try { - Module["dynCall_v"](index); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - asm["setThrew"](1, 0); - } -} - -function invoke_viid(index,a1,a2,a3) { - try { - Module["dynCall_viid"](index,a1,a2,a3); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - asm["setThrew"](1, 0); - } -} - -function invoke_viiii(index,a1,a2,a3,a4) { - try { - Module["dynCall_viiii"](index,a1,a2,a3,a4); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - asm["setThrew"](1, 0); - } -} - -Module.asmGlobalArg = { "Math": Math, "Int8Array": Int8Array, "Int16Array": Int16Array, "Int32Array": Int32Array, "Uint8Array": Uint8Array, "Uint16Array": Uint16Array, "Uint32Array": Uint32Array, "Float32Array": Float32Array, "Float64Array": Float64Array, "NaN": NaN, "Infinity": Infinity, "byteLength": byteLength }; - -Module.asmLibraryArg = { "abort": abort, "assert": assert, "invoke_viiiii": invoke_viiiii, "invoke_vd": invoke_vd, "invoke_vid": invoke_vid, "invoke_vi": invoke_vi, "invoke_vii": invoke_vii, "invoke_ii": invoke_ii, "invoke_viddd": invoke_viddd, "invoke_vidd": invoke_vidd, "invoke_iiii": invoke_iiii, "invoke_viiiiiiii": invoke_viiiiiiii, "invoke_viiiiii": invoke_viiiiii, "invoke_viii": invoke_viii, "invoke_vidddd": invoke_vidddd, "invoke_vdi": invoke_vdi, "invoke_viiiiiii": invoke_viiiiiii, "invoke_viiiiiiiii": invoke_viiiiiiiii, "invoke_iii": invoke_iii, "invoke_i": invoke_i, "invoke_iiiiii": invoke_iiiiii, "invoke_vdddddd": invoke_vdddddd, "invoke_vdddd": invoke_vdddd, "invoke_vdd": invoke_vdd, "invoke_v": invoke_v, "invoke_viid": invoke_viid, "invoke_viiii": invoke_viiii, "_emscripten_glGetTexParameterfv": _emscripten_glGetTexParameterfv, "_glUseProgram": _glUseProgram, "_exp": _exp, "_glfwCreateWindow": _glfwCreateWindow, "_emscripten_glReleaseShaderCompiler": _emscripten_glReleaseShaderCompiler, "_emscripten_glBlendFuncSeparate": _emscripten_glBlendFuncSeparate, "_emscripten_glUniform4iv": _emscripten_glUniform4iv, "_emscripten_glVertexAttribPointer": _emscripten_glVertexAttribPointer, "_emscripten_glGetIntegerv": _emscripten_glGetIntegerv, "_emscripten_glCullFace": _emscripten_glCullFace, "_emscripten_glIsProgram": _emscripten_glIsProgram, "_emscripten_glStencilMaskSeparate": _emscripten_glStencilMaskSeparate, "_emscripten_glViewport": _emscripten_glViewport, "_emscripten_glFrontFace": _emscripten_glFrontFace, "_alBufferData": _alBufferData, "___assert_fail": ___assert_fail, "_glDeleteProgram": _glDeleteProgram, "_emscripten_glUniform3fv": _emscripten_glUniform3fv, "_emscripten_glPolygonOffset": _emscripten_glPolygonOffset, "_emscripten_glUseProgram": _emscripten_glUseProgram, "_emscripten_glBlendColor": _emscripten_glBlendColor, "_glBindBuffer": _glBindBuffer, "_emscripten_glDepthFunc": _emscripten_glDepthFunc, "_glGetShaderInfoLog": _glGetShaderInfoLog, "_alSource3f": _alSource3f, "_sqrtf": _sqrtf, "_emscripten_set_fullscreenchange_callback": _emscripten_set_fullscreenchange_callback, "_emscripten_set_touchmove_callback": _emscripten_set_touchmove_callback, "_emscripten_set_main_loop_timing": _emscripten_set_main_loop_timing, "_ceilf": _ceilf, "_glBlendFunc": _glBlendFunc, "_emscripten_glDisableVertexAttribArray": _emscripten_glDisableVertexAttribArray, "_glGetAttribLocation": _glGetAttribLocation, "_glDisableVertexAttribArray": _glDisableVertexAttribArray, "_emscripten_memcpy_big": _emscripten_memcpy_big, "_emscripten_glReadPixels": _emscripten_glReadPixels, "_alcGetString": _alcGetString, "_sysconf": _sysconf, "_emscripten_glSampleCoverage": _emscripten_glSampleCoverage, "_emscripten_glVertexPointer": _emscripten_glVertexPointer, "_emscripten_set_touchstart_callback": _emscripten_set_touchstart_callback, "emscriptenWebGLComputeImageSize": emscriptenWebGLComputeImageSize, "_emscripten_glGetBooleanv": _emscripten_glGetBooleanv, "___syscall221": ___syscall221, "_cos": _cos, "_llvm_stacksave": _llvm_stacksave, "_emscripten_glUniform1i": _emscripten_glUniform1i, "_emscripten_glGenBuffers": _emscripten_glGenBuffers, "_emscripten_glDeleteObjectARB": _emscripten_glDeleteObjectARB, "_glfwSetWindowSizeCallback": _glfwSetWindowSizeCallback, "_emscripten_glGetShaderPrecisionFormat": _emscripten_glGetShaderPrecisionFormat, "_glfwInit": _glfwInit, "_emscripten_glGetPointerv": _emscripten_glGetPointerv, "_glGenBuffers": _glGenBuffers, "_glShaderSource": _glShaderSource, "_emscripten_glGetString": _emscripten_glGetString, "_emscripten_glIsFramebuffer": _emscripten_glIsFramebuffer, "_emscripten_glIsEnabled": _emscripten_glIsEnabled, "_emscripten_glScissor": _emscripten_glScissor, "_emscripten_glVertexAttrib4fv": _emscripten_glVertexAttrib4fv, "_emscripten_glTexParameteriv": _emscripten_glTexParameteriv, "_pthread_cleanup_push": _pthread_cleanup_push, "___syscall145": ___syscall145, "_emscripten_glBindProgramARB": _emscripten_glBindProgramARB, "_emscripten_glStencilOpSeparate": _emscripten_glStencilOpSeparate, "_alSourcePlay": _alSourcePlay, "_emscripten_glFramebufferRenderbuffer": _emscripten_glFramebufferRenderbuffer, "___syscall140": ___syscall140, "_glfwSetErrorCallback": _glfwSetErrorCallback, "_glfwSetCursorPosCallback": _glfwSetCursorPosCallback, "_glfwDefaultWindowHints": _glfwDefaultWindowHints, "_emscripten_glIsBuffer": _emscripten_glIsBuffer, "___syscall146": ___syscall146, "_glfwDestroyWindow": _glfwDestroyWindow, "_pthread_cleanup_pop": _pthread_cleanup_pop, "_emscripten_glAttachShader": _emscripten_glAttachShader, "_glVertexAttribPointer": _glVertexAttribPointer, "_emscripten_glCompressedTexSubImage2D": _emscripten_glCompressedTexSubImage2D, "_emscripten_glUniform2f": _emscripten_glUniform2f, "_alcCreateContext": _alcCreateContext, "_emscripten_glTexParameterfv": _emscripten_glTexParameterfv, "_abort": _abort, "_emscripten_glUniformMatrix2fv": _emscripten_glUniformMatrix2fv, "_atan2": _atan2, "_glGetProgramInfoLog": _glGetProgramInfoLog, "_emscripten_glGetUniformiv": _emscripten_glGetUniformiv, "_emscripten_glTexParameterf": _emscripten_glTexParameterf, "_emscripten_glGetAttachedShaders": _emscripten_glGetAttachedShaders, "_emscripten_glGenTextures": _emscripten_glGenTextures, "_emscripten_glTexParameteri": _emscripten_glTexParameteri, "_llvm_stackrestore": _llvm_stackrestore, "_fabsf": _fabsf, "_glfwMakeContextCurrent": _glfwMakeContextCurrent, "_emscripten_glShaderBinary": _emscripten_glShaderBinary, "_glDrawElements": _glDrawElements, "_alGetSourcei": _alGetSourcei, "_glBufferSubData": _glBufferSubData, "_alcMakeContextCurrent": _alcMakeContextCurrent, "_emscripten_glGenVertexArrays": _emscripten_glGenVertexArrays, "_emscripten_glVertexAttrib2fv": _emscripten_glVertexAttrib2fv, "_glViewport": _glViewport, "_alSourceQueueBuffers": _alSourceQueueBuffers, "_emscripten_glGetTexParameteriv": _emscripten_glGetTexParameteriv, "___setErrNo": ___setErrNo, "_eglGetProcAddress": _eglGetProcAddress, "_alcGetCurrentContext": _alcGetCurrentContext, "_emscripten_glBindAttribLocation": _emscripten_glBindAttribLocation, "_glDeleteTextures": _glDeleteTextures, "_glDepthFunc": _glDepthFunc, "_emscripten_glClientActiveTexture": _emscripten_glClientActiveTexture, "_emscripten_glVertexAttrib2f": _emscripten_glVertexAttrib2f, "_emscripten_glFlush": _emscripten_glFlush, "_emscripten_glUniform4i": _emscripten_glUniform4i, "_emscripten_glCheckFramebufferStatus": _emscripten_glCheckFramebufferStatus, "_emscripten_glGenerateMipmap": _emscripten_glGenerateMipmap, "_emscripten_glGetError": _emscripten_glGetError, "_alGenBuffers": _alGenBuffers, "_emscripten_glClearDepthf": _emscripten_glClearDepthf, "_emscripten_glBufferData": _emscripten_glBufferData, "_emscripten_glUniform3i": _emscripten_glUniform3i, "_emscripten_glRotatef": _emscripten_glRotatef, "_emscripten_glDeleteShader": _emscripten_glDeleteShader, "_glEnable": _glEnable, "_fabs": _fabs, "_glGenTextures": _glGenTextures, "_emscripten_glMatrixMode": _emscripten_glMatrixMode, "_alDeleteSources": _alDeleteSources, "_emscripten_glClearStencil": _emscripten_glClearStencil, "_emscripten_glGetUniformLocation": _emscripten_glGetUniformLocation, "emscriptenWebGLGet": emscriptenWebGLGet, "_alSourceUnqueueBuffers": _alSourceUnqueueBuffers, "_emscripten_glEnableVertexAttribArray": _emscripten_glEnableVertexAttribArray, "_alGetError": _alGetError, "_emscripten_get_now": _emscripten_get_now, "_emscripten_glNormalPointer": _emscripten_glNormalPointer, "_glAttachShader": _glAttachShader, "_emscripten_glTexCoordPointer": _emscripten_glTexCoordPointer, "_emscripten_glFinish": _emscripten_glFinish, "_glCreateProgram": _glCreateProgram, "_glUniformMatrix4fv": _glUniformMatrix4fv, "_emscripten_glClearDepth": _emscripten_glClearDepth, "___lock": ___lock, "_emscripten_glBindFramebuffer": _emscripten_glBindFramebuffer, "___syscall6": ___syscall6, "___syscall5": ___syscall5, "_emscripten_glStencilFuncSeparate": _emscripten_glStencilFuncSeparate, "_emscripten_glVertexAttrib3f": _emscripten_glVertexAttrib3f, "_time": _time, "_glBindFramebuffer": _glBindFramebuffer, "_emscripten_glVertexAttrib1f": _emscripten_glVertexAttrib1f, "_emscripten_glGetFramebufferAttachmentParameteriv": _emscripten_glGetFramebufferAttachmentParameteriv, "_emscripten_glBlendEquationSeparate": _emscripten_glBlendEquationSeparate, "_exit": _exit, "_emscripten_asm_const_2": _emscripten_asm_const_2, "_glGetString": _glGetString, "_emscripten_glGetActiveAttrib": _emscripten_glGetActiveAttrib, "_alSourcef": _alSourcef, "_emscripten_glDrawRangeElements": _emscripten_glDrawRangeElements, "_llvm_pow_f64": _llvm_pow_f64, "_glDeleteFramebuffers": _glDeleteFramebuffers, "_glCompressedTexImage2D": _glCompressedTexImage2D, "_glfwPollEvents": _glfwPollEvents, "_emscripten_glUniform4f": _emscripten_glUniform4f, "_glfwSwapInterval": _glfwSwapInterval, "_glfwGetVideoModes": _glfwGetVideoModes, "_sin": _sin, "_emscripten_glClear": _emscripten_glClear, "_emscripten_glDrawElements": _emscripten_glDrawElements, "_emscripten_glBlendFunc": _emscripten_glBlendFunc, "_emscripten_glGetShaderInfoLog": _emscripten_glGetShaderInfoLog, "_sbrk": _sbrk, "_emscripten_glStencilMask": _emscripten_glStencilMask, "_emscripten_glUniform1iv": _emscripten_glUniform1iv, "_emscripten_glGetVertexAttribPointerv": _emscripten_glGetVertexAttribPointerv, "_emscripten_glUniform2i": _emscripten_glUniform2i, "emscriptenWebGLGetUniform": emscriptenWebGLGetUniform, "_emscripten_glGenRenderbuffers": _emscripten_glGenRenderbuffers, "_emscripten_glDeleteVertexArrays": _emscripten_glDeleteVertexArrays, "_glfwSetWindowShouldClose": _glfwSetWindowShouldClose, "_emscripten_glUniform1fv": _emscripten_glUniform1fv, "_emscripten_glGetActiveUniform": _emscripten_glGetActiveUniform, "_glBindTexture": _glBindTexture, "_emscripten_glUniform3iv": _emscripten_glUniform3iv, "_emscripten_glUniform2iv": _emscripten_glUniform2iv, "_emscripten_glHint": _emscripten_glHint, "_glfwSetCharCallback": _glfwSetCharCallback, "_emscripten_glGetBufferParameteriv": _emscripten_glGetBufferParameteriv, "_emscripten_glLoadMatrixf": _emscripten_glLoadMatrixf, "_emscripten_glDeleteProgram": _emscripten_glDeleteProgram, "_emscripten_glDeleteRenderbuffers": _emscripten_glDeleteRenderbuffers, "_glfwSetScrollCallback": _glfwSetScrollCallback, "_emscripten_glDrawElementsInstanced": _emscripten_glDrawElementsInstanced, "_emscripten_glVertexAttrib4f": _emscripten_glVertexAttrib4f, "_alcDestroyContext": _alcDestroyContext, "_glDrawArrays": _glDrawArrays, "_emscripten_glTexSubImage2D": _emscripten_glTexSubImage2D, "_glCreateShader": _glCreateShader, "_emscripten_glPixelStorei": _emscripten_glPixelStorei, "_glCompileShader": _glCompileShader, "_emscripten_glUniformMatrix3fv": _emscripten_glUniformMatrix3fv, "_emscripten_glDepthRange": _emscripten_glDepthRange, "_emscripten_glCompressedTexImage2D": _emscripten_glCompressedTexImage2D, "_floorf": _floorf, "_log": _log, "_glActiveTexture": _glActiveTexture, "_glfwSwapBuffers": _glfwSwapBuffers, "_emscripten_glDepthMask": _emscripten_glDepthMask, "_glfwSetWindowIconifyCallback": _glfwSetWindowIconifyCallback, "_emscripten_glDrawBuffers": _emscripten_glDrawBuffers, "_alSourceStop": _alSourceStop, "_eglWaitClient": _eglWaitClient, "_emscripten_glGetObjectParameterivARB": _emscripten_glGetObjectParameterivARB, "_emscripten_glFramebufferTexture2D": _emscripten_glFramebufferTexture2D, "_alcCloseDevice": _alcCloseDevice, "_glUniform1i": _glUniform1i, "_glEnableVertexAttribArray": _glEnableVertexAttribArray, "_emscripten_glStencilFunc": _emscripten_glStencilFunc, "emscriptenWebGLGetVertexAttrib": emscriptenWebGLGetVertexAttrib, "_alcGetContextsDevice": _alcGetContextsDevice, "_emscripten_glUniform2fv": _emscripten_glUniform2fv, "_emscripten_glGetProgramiv": _emscripten_glGetProgramiv, "_glDeleteBuffers": _glDeleteBuffers, "_glBufferData": _glBufferData, "_glTexImage2D": _glTexImage2D, "_emscripten_glGetShaderiv": _emscripten_glGetShaderiv, "_emscripten_glEnable": _emscripten_glEnable, "_emscripten_glGenFramebuffers": _emscripten_glGenFramebuffers, "_floor": _floor, "_emscripten_glUniformMatrix4fv": _emscripten_glUniformMatrix4fv, "_emscripten_glLoadIdentity": _emscripten_glLoadIdentity, "_glDeleteShader": _glDeleteShader, "_cosf": _cosf, "_glGetProgramiv": _glGetProgramiv, "emscriptenWebGLGetTexPixelData": emscriptenWebGLGetTexPixelData, "_emscripten_glIsRenderbuffer": _emscripten_glIsRenderbuffer, "_glfwGetTime": _glfwGetTime, "_emscripten_glRenderbufferStorage": _emscripten_glRenderbufferStorage, "_alListener3f": _alListener3f, "_emscripten_glGetVertexAttribiv": _emscripten_glGetVertexAttribiv, "_emscripten_glBindVertexArray": _emscripten_glBindVertexArray, "_emscripten_glDrawArraysInstanced": _emscripten_glDrawArraysInstanced, "_emscripten_set_touchcancel_callback": _emscripten_set_touchcancel_callback, "_emscripten_glCreateShader": _emscripten_glCreateShader, "_glfwGetPrimaryMonitor": _glfwGetPrimaryMonitor, "_emscripten_glDeleteTextures": _emscripten_glDeleteTextures, "_emscripten_glBindRenderbuffer": _emscripten_glBindRenderbuffer, "_glLinkProgram": _glLinkProgram, "_emscripten_glVertexAttribDivisor": _emscripten_glVertexAttribDivisor, "_emscripten_set_touchend_callback": _emscripten_set_touchend_callback, "_emscripten_glGetUniformfv": _emscripten_glGetUniformfv, "_emscripten_glGetVertexAttribfv": _emscripten_glGetVertexAttribfv, "_emscripten_glGetRenderbufferParameteriv": _emscripten_glGetRenderbufferParameteriv, "_emscripten_glDeleteFramebuffers": _emscripten_glDeleteFramebuffers, "_glGetShaderiv": _glGetShaderiv, "_emscripten_glVertexAttrib3fv": _emscripten_glVertexAttrib3fv, "_glGetUniformLocation": _glGetUniformLocation, "_emscripten_glGetInfoLogARB": _emscripten_glGetInfoLogARB, "_emscripten_glCompileShader": _emscripten_glCompileShader, "_glClear": _glClear, "_glUniform4fv": _glUniform4fv, "_emscripten_glFrustum": _emscripten_glFrustum, "_emscripten_glDisable": _emscripten_glDisable, "_emscripten_glDepthRangef": _emscripten_glDepthRangef, "_sinf": _sinf, "__exit": __exit, "_glfwTerminate": _glfwTerminate, "_emscripten_glUniform3f": _emscripten_glUniform3f, "_emscripten_glStencilOp": _emscripten_glStencilOp, "_glPixelStorei": _glPixelStorei, "_emscripten_glColorMask": _emscripten_glColorMask, "_emscripten_glLinkProgram": _emscripten_glLinkProgram, "_emscripten_glBlendEquation": _emscripten_glBlendEquation, "_emscripten_glIsTexture": _emscripten_glIsTexture, "_alDeleteBuffers": _alDeleteBuffers, "_pthread_self": _pthread_self, "_emscripten_glVertexAttrib1fv": _emscripten_glVertexAttrib1fv, "_emscripten_glLineWidth": _emscripten_glLineWidth, "_emscripten_glBindTexture": _emscripten_glBindTexture, "_glfwSetMouseButtonCallback": _glfwSetMouseButtonCallback, "_glfwGetCursorPos": _glfwGetCursorPos, "_emscripten_glActiveTexture": _emscripten_glActiveTexture, "_emscripten_glDeleteBuffers": _emscripten_glDeleteBuffers, "___syscall54": ___syscall54, "___unlock": ___unlock, "_emscripten_glBufferSubData": _emscripten_glBufferSubData, "_emscripten_glColorPointer": _emscripten_glColorPointer, "_emscripten_set_main_loop": _emscripten_set_main_loop, "_emscripten_glGetProgramInfoLog": _emscripten_glGetProgramInfoLog, "_glfwWindowHint": _glfwWindowHint, "_alGenSources": _alGenSources, "_emscripten_glShaderSource": _emscripten_glShaderSource, "_emscripten_glIsShader": _emscripten_glIsShader, "_emscripten_glUniform4fv": _emscripten_glUniform4fv, "_emscripten_glUniform1f": _emscripten_glUniform1f, "_alcOpenDevice": _alcOpenDevice, "_emscripten_glDrawArrays": _emscripten_glDrawArrays, "_glfwSetKeyCallback": _glfwSetKeyCallback, "_emscripten_glClearColor": _emscripten_glClearColor, "_emscripten_glGetShaderSource": _emscripten_glGetShaderSource, "_emscripten_glCreateProgram": _emscripten_glCreateProgram, "_emscripten_glCopyTexSubImage2D": _emscripten_glCopyTexSubImage2D, "_emscripten_glGetAttribLocation": _emscripten_glGetAttribLocation, "_glTexParameteri": _glTexParameteri, "_emscripten_glValidateProgram": _emscripten_glValidateProgram, "_emscripten_glBindBuffer": _emscripten_glBindBuffer, "_emscripten_glGetFloatv": _emscripten_glGetFloatv, "_emscripten_glDetachShader": _emscripten_glDetachShader, "_glClearColor": _glClearColor, "_emscripten_glEnableClientState": _emscripten_glEnableClientState, "_glfwSetCursorEnterCallback": _glfwSetCursorEnterCallback, "_emscripten_glCopyTexImage2D": _emscripten_glCopyTexImage2D, "_emscripten_glTexImage2D": _emscripten_glTexImage2D, "STACKTOP": STACKTOP, "STACK_MAX": STACK_MAX, "tempDoublePtr": tempDoublePtr, "ABORT": ABORT, "cttz_i8": cttz_i8 }; -// EMSCRIPTEN_START_ASM -var asm = (function(global, env, buffer) { - 'use asm'; - - - var Int8View = global.Int8Array; - var Int16View = global.Int16Array; - var Int32View = global.Int32Array; - var Uint8View = global.Uint8Array; - var Uint16View = global.Uint16Array; - var Uint32View = global.Uint32Array; - var Float32View = global.Float32Array; - var Float64View = global.Float64Array; - var HEAP8 = new Int8View(buffer); - var HEAP16 = new Int16View(buffer); - var HEAP32 = new Int32View(buffer); - var HEAPU8 = new Uint8View(buffer); - var HEAPU16 = new Uint16View(buffer); - var HEAPU32 = new Uint32View(buffer); - var HEAPF32 = new Float32View(buffer); - var HEAPF64 = new Float64View(buffer); - var byteLength = global.byteLength; - - - var STACKTOP=env.STACKTOP|0; - var STACK_MAX=env.STACK_MAX|0; - var tempDoublePtr=env.tempDoublePtr|0; - var ABORT=env.ABORT|0; - var cttz_i8=env.cttz_i8|0; - - var __THREW__ = 0; - var threwValue = 0; - var setjmpId = 0; - var undef = 0; - var nan = global.NaN, inf = global.Infinity; - var tempInt = 0, tempBigInt = 0, tempBigIntP = 0, tempBigIntS = 0, tempBigIntR = 0.0, tempBigIntI = 0, tempBigIntD = 0, tempValue = 0, tempDouble = 0.0; - - var tempRet0 = 0; - var tempRet1 = 0; - var tempRet2 = 0; - var tempRet3 = 0; - var tempRet4 = 0; - var tempRet5 = 0; - var tempRet6 = 0; - var tempRet7 = 0; - var tempRet8 = 0; - var tempRet9 = 0; - var Math_floor=global.Math.floor; - var Math_abs=global.Math.abs; - var Math_sqrt=global.Math.sqrt; - var Math_pow=global.Math.pow; - var Math_cos=global.Math.cos; - var Math_sin=global.Math.sin; - var Math_tan=global.Math.tan; - var Math_acos=global.Math.acos; - var Math_asin=global.Math.asin; - var Math_atan=global.Math.atan; - var Math_atan2=global.Math.atan2; - var Math_exp=global.Math.exp; - var Math_log=global.Math.log; - var Math_ceil=global.Math.ceil; - var Math_imul=global.Math.imul; - var Math_min=global.Math.min; - var Math_clz32=global.Math.clz32; - var abort=env.abort; - var assert=env.assert; - var invoke_viiiii=env.invoke_viiiii; - var invoke_vd=env.invoke_vd; - var invoke_vid=env.invoke_vid; - var invoke_vi=env.invoke_vi; - var invoke_vii=env.invoke_vii; - var invoke_ii=env.invoke_ii; - var invoke_viddd=env.invoke_viddd; - var invoke_vidd=env.invoke_vidd; - var invoke_iiii=env.invoke_iiii; - var invoke_viiiiiiii=env.invoke_viiiiiiii; - var invoke_viiiiii=env.invoke_viiiiii; - var invoke_viii=env.invoke_viii; - var invoke_vidddd=env.invoke_vidddd; - var invoke_vdi=env.invoke_vdi; - var invoke_viiiiiii=env.invoke_viiiiiii; - var invoke_viiiiiiiii=env.invoke_viiiiiiiii; - var invoke_iii=env.invoke_iii; - var invoke_i=env.invoke_i; - var invoke_iiiiii=env.invoke_iiiiii; - var invoke_vdddddd=env.invoke_vdddddd; - var invoke_vdddd=env.invoke_vdddd; - var invoke_vdd=env.invoke_vdd; - var invoke_v=env.invoke_v; - var invoke_viid=env.invoke_viid; - var invoke_viiii=env.invoke_viiii; - var _emscripten_glGetTexParameterfv=env._emscripten_glGetTexParameterfv; - var _glUseProgram=env._glUseProgram; - var _exp=env._exp; - var _glfwCreateWindow=env._glfwCreateWindow; - var _emscripten_glReleaseShaderCompiler=env._emscripten_glReleaseShaderCompiler; - var _emscripten_glBlendFuncSeparate=env._emscripten_glBlendFuncSeparate; - var _emscripten_glUniform4iv=env._emscripten_glUniform4iv; - var _emscripten_glVertexAttribPointer=env._emscripten_glVertexAttribPointer; - var _emscripten_glGetIntegerv=env._emscripten_glGetIntegerv; - var _emscripten_glCullFace=env._emscripten_glCullFace; - var _emscripten_glIsProgram=env._emscripten_glIsProgram; - var _emscripten_glStencilMaskSeparate=env._emscripten_glStencilMaskSeparate; - var _emscripten_glViewport=env._emscripten_glViewport; - var _emscripten_glFrontFace=env._emscripten_glFrontFace; - var _alBufferData=env._alBufferData; - var ___assert_fail=env.___assert_fail; - var _glDeleteProgram=env._glDeleteProgram; - var _emscripten_glUniform3fv=env._emscripten_glUniform3fv; - var _emscripten_glPolygonOffset=env._emscripten_glPolygonOffset; - var _emscripten_glUseProgram=env._emscripten_glUseProgram; - var _emscripten_glBlendColor=env._emscripten_glBlendColor; - var _glBindBuffer=env._glBindBuffer; - var _emscripten_glDepthFunc=env._emscripten_glDepthFunc; - var _glGetShaderInfoLog=env._glGetShaderInfoLog; - var _alSource3f=env._alSource3f; - var _sqrtf=env._sqrtf; - var _emscripten_set_fullscreenchange_callback=env._emscripten_set_fullscreenchange_callback; - var _emscripten_set_touchmove_callback=env._emscripten_set_touchmove_callback; - var _emscripten_set_main_loop_timing=env._emscripten_set_main_loop_timing; - var _ceilf=env._ceilf; - var _glBlendFunc=env._glBlendFunc; - var _emscripten_glDisableVertexAttribArray=env._emscripten_glDisableVertexAttribArray; - var _glGetAttribLocation=env._glGetAttribLocation; - var _glDisableVertexAttribArray=env._glDisableVertexAttribArray; - var _emscripten_memcpy_big=env._emscripten_memcpy_big; - var _emscripten_glReadPixels=env._emscripten_glReadPixels; - var _alcGetString=env._alcGetString; - var _sysconf=env._sysconf; - var _emscripten_glSampleCoverage=env._emscripten_glSampleCoverage; - var _emscripten_glVertexPointer=env._emscripten_glVertexPointer; - var _emscripten_set_touchstart_callback=env._emscripten_set_touchstart_callback; - var emscriptenWebGLComputeImageSize=env.emscriptenWebGLComputeImageSize; - var _emscripten_glGetBooleanv=env._emscripten_glGetBooleanv; - var ___syscall221=env.___syscall221; - var _cos=env._cos; - var _llvm_stacksave=env._llvm_stacksave; - var _emscripten_glUniform1i=env._emscripten_glUniform1i; - var _emscripten_glGenBuffers=env._emscripten_glGenBuffers; - var _emscripten_glDeleteObjectARB=env._emscripten_glDeleteObjectARB; - var _glfwSetWindowSizeCallback=env._glfwSetWindowSizeCallback; - var _emscripten_glGetShaderPrecisionFormat=env._emscripten_glGetShaderPrecisionFormat; - var _glfwInit=env._glfwInit; - var _emscripten_glGetPointerv=env._emscripten_glGetPointerv; - var _glGenBuffers=env._glGenBuffers; - var _glShaderSource=env._glShaderSource; - var _emscripten_glGetString=env._emscripten_glGetString; - var _emscripten_glIsFramebuffer=env._emscripten_glIsFramebuffer; - var _emscripten_glIsEnabled=env._emscripten_glIsEnabled; - var _emscripten_glScissor=env._emscripten_glScissor; - var _emscripten_glVertexAttrib4fv=env._emscripten_glVertexAttrib4fv; - var _emscripten_glTexParameteriv=env._emscripten_glTexParameteriv; - var _pthread_cleanup_push=env._pthread_cleanup_push; - var ___syscall145=env.___syscall145; - var _emscripten_glBindProgramARB=env._emscripten_glBindProgramARB; - var _emscripten_glStencilOpSeparate=env._emscripten_glStencilOpSeparate; - var _alSourcePlay=env._alSourcePlay; - var _emscripten_glFramebufferRenderbuffer=env._emscripten_glFramebufferRenderbuffer; - var ___syscall140=env.___syscall140; - var _glfwSetErrorCallback=env._glfwSetErrorCallback; - var _glfwSetCursorPosCallback=env._glfwSetCursorPosCallback; - var _glfwDefaultWindowHints=env._glfwDefaultWindowHints; - var _emscripten_glIsBuffer=env._emscripten_glIsBuffer; - var ___syscall146=env.___syscall146; - var _glfwDestroyWindow=env._glfwDestroyWindow; - var _pthread_cleanup_pop=env._pthread_cleanup_pop; - var _emscripten_glAttachShader=env._emscripten_glAttachShader; - var _glVertexAttribPointer=env._glVertexAttribPointer; - var _emscripten_glCompressedTexSubImage2D=env._emscripten_glCompressedTexSubImage2D; - var _emscripten_glUniform2f=env._emscripten_glUniform2f; - var _alcCreateContext=env._alcCreateContext; - var _emscripten_glTexParameterfv=env._emscripten_glTexParameterfv; - var _abort=env._abort; - var _emscripten_glUniformMatrix2fv=env._emscripten_glUniformMatrix2fv; - var _atan2=env._atan2; - var _glGetProgramInfoLog=env._glGetProgramInfoLog; - var _emscripten_glGetUniformiv=env._emscripten_glGetUniformiv; - var _emscripten_glTexParameterf=env._emscripten_glTexParameterf; - var _emscripten_glGetAttachedShaders=env._emscripten_glGetAttachedShaders; - var _emscripten_glGenTextures=env._emscripten_glGenTextures; - var _emscripten_glTexParameteri=env._emscripten_glTexParameteri; - var _llvm_stackrestore=env._llvm_stackrestore; - var _fabsf=env._fabsf; - var _glfwMakeContextCurrent=env._glfwMakeContextCurrent; - var _emscripten_glShaderBinary=env._emscripten_glShaderBinary; - var _glDrawElements=env._glDrawElements; - var _alGetSourcei=env._alGetSourcei; - var _glBufferSubData=env._glBufferSubData; - var _alcMakeContextCurrent=env._alcMakeContextCurrent; - var _emscripten_glGenVertexArrays=env._emscripten_glGenVertexArrays; - var _emscripten_glVertexAttrib2fv=env._emscripten_glVertexAttrib2fv; - var _glViewport=env._glViewport; - var _alSourceQueueBuffers=env._alSourceQueueBuffers; - var _emscripten_glGetTexParameteriv=env._emscripten_glGetTexParameteriv; - var ___setErrNo=env.___setErrNo; - var _eglGetProcAddress=env._eglGetProcAddress; - var _alcGetCurrentContext=env._alcGetCurrentContext; - var _emscripten_glBindAttribLocation=env._emscripten_glBindAttribLocation; - var _glDeleteTextures=env._glDeleteTextures; - var _glDepthFunc=env._glDepthFunc; - var _emscripten_glClientActiveTexture=env._emscripten_glClientActiveTexture; - var _emscripten_glVertexAttrib2f=env._emscripten_glVertexAttrib2f; - var _emscripten_glFlush=env._emscripten_glFlush; - var _emscripten_glUniform4i=env._emscripten_glUniform4i; - var _emscripten_glCheckFramebufferStatus=env._emscripten_glCheckFramebufferStatus; - var _emscripten_glGenerateMipmap=env._emscripten_glGenerateMipmap; - var _emscripten_glGetError=env._emscripten_glGetError; - var _alGenBuffers=env._alGenBuffers; - var _emscripten_glClearDepthf=env._emscripten_glClearDepthf; - var _emscripten_glBufferData=env._emscripten_glBufferData; - var _emscripten_glUniform3i=env._emscripten_glUniform3i; - var _emscripten_glRotatef=env._emscripten_glRotatef; - var _emscripten_glDeleteShader=env._emscripten_glDeleteShader; - var _glEnable=env._glEnable; - var _fabs=env._fabs; - var _glGenTextures=env._glGenTextures; - var _emscripten_glMatrixMode=env._emscripten_glMatrixMode; - var _alDeleteSources=env._alDeleteSources; - var _emscripten_glClearStencil=env._emscripten_glClearStencil; - var _emscripten_glGetUniformLocation=env._emscripten_glGetUniformLocation; - var emscriptenWebGLGet=env.emscriptenWebGLGet; - var _alSourceUnqueueBuffers=env._alSourceUnqueueBuffers; - var _emscripten_glEnableVertexAttribArray=env._emscripten_glEnableVertexAttribArray; - var _alGetError=env._alGetError; - var _emscripten_get_now=env._emscripten_get_now; - var _emscripten_glNormalPointer=env._emscripten_glNormalPointer; - var _glAttachShader=env._glAttachShader; - var _emscripten_glTexCoordPointer=env._emscripten_glTexCoordPointer; - var _emscripten_glFinish=env._emscripten_glFinish; - var _glCreateProgram=env._glCreateProgram; - var _glUniformMatrix4fv=env._glUniformMatrix4fv; - var _emscripten_glClearDepth=env._emscripten_glClearDepth; - var ___lock=env.___lock; - var _emscripten_glBindFramebuffer=env._emscripten_glBindFramebuffer; - var ___syscall6=env.___syscall6; - var ___syscall5=env.___syscall5; - var _emscripten_glStencilFuncSeparate=env._emscripten_glStencilFuncSeparate; - var _emscripten_glVertexAttrib3f=env._emscripten_glVertexAttrib3f; - var _time=env._time; - var _glBindFramebuffer=env._glBindFramebuffer; - var _emscripten_glVertexAttrib1f=env._emscripten_glVertexAttrib1f; - var _emscripten_glGetFramebufferAttachmentParameteriv=env._emscripten_glGetFramebufferAttachmentParameteriv; - var _emscripten_glBlendEquationSeparate=env._emscripten_glBlendEquationSeparate; - var _exit=env._exit; - var _emscripten_asm_const_2=env._emscripten_asm_const_2; - var _glGetString=env._glGetString; - var _emscripten_glGetActiveAttrib=env._emscripten_glGetActiveAttrib; - var _alSourcef=env._alSourcef; - var _emscripten_glDrawRangeElements=env._emscripten_glDrawRangeElements; - var _llvm_pow_f64=env._llvm_pow_f64; - var _glDeleteFramebuffers=env._glDeleteFramebuffers; - var _glCompressedTexImage2D=env._glCompressedTexImage2D; - var _glfwPollEvents=env._glfwPollEvents; - var _emscripten_glUniform4f=env._emscripten_glUniform4f; - var _glfwSwapInterval=env._glfwSwapInterval; - var _glfwGetVideoModes=env._glfwGetVideoModes; - var _sin=env._sin; - var _emscripten_glClear=env._emscripten_glClear; - var _emscripten_glDrawElements=env._emscripten_glDrawElements; - var _emscripten_glBlendFunc=env._emscripten_glBlendFunc; - var _emscripten_glGetShaderInfoLog=env._emscripten_glGetShaderInfoLog; - var _sbrk=env._sbrk; - var _emscripten_glStencilMask=env._emscripten_glStencilMask; - var _emscripten_glUniform1iv=env._emscripten_glUniform1iv; - var _emscripten_glGetVertexAttribPointerv=env._emscripten_glGetVertexAttribPointerv; - var _emscripten_glUniform2i=env._emscripten_glUniform2i; - var emscriptenWebGLGetUniform=env.emscriptenWebGLGetUniform; - var _emscripten_glGenRenderbuffers=env._emscripten_glGenRenderbuffers; - var _emscripten_glDeleteVertexArrays=env._emscripten_glDeleteVertexArrays; - var _glfwSetWindowShouldClose=env._glfwSetWindowShouldClose; - var _emscripten_glUniform1fv=env._emscripten_glUniform1fv; - var _emscripten_glGetActiveUniform=env._emscripten_glGetActiveUniform; - var _glBindTexture=env._glBindTexture; - var _emscripten_glUniform3iv=env._emscripten_glUniform3iv; - var _emscripten_glUniform2iv=env._emscripten_glUniform2iv; - var _emscripten_glHint=env._emscripten_glHint; - var _glfwSetCharCallback=env._glfwSetCharCallback; - var _emscripten_glGetBufferParameteriv=env._emscripten_glGetBufferParameteriv; - var _emscripten_glLoadMatrixf=env._emscripten_glLoadMatrixf; - var _emscripten_glDeleteProgram=env._emscripten_glDeleteProgram; - var _emscripten_glDeleteRenderbuffers=env._emscripten_glDeleteRenderbuffers; - var _glfwSetScrollCallback=env._glfwSetScrollCallback; - var _emscripten_glDrawElementsInstanced=env._emscripten_glDrawElementsInstanced; - var _emscripten_glVertexAttrib4f=env._emscripten_glVertexAttrib4f; - var _alcDestroyContext=env._alcDestroyContext; - var _glDrawArrays=env._glDrawArrays; - var _emscripten_glTexSubImage2D=env._emscripten_glTexSubImage2D; - var _glCreateShader=env._glCreateShader; - var _emscripten_glPixelStorei=env._emscripten_glPixelStorei; - var _glCompileShader=env._glCompileShader; - var _emscripten_glUniformMatrix3fv=env._emscripten_glUniformMatrix3fv; - var _emscripten_glDepthRange=env._emscripten_glDepthRange; - var _emscripten_glCompressedTexImage2D=env._emscripten_glCompressedTexImage2D; - var _floorf=env._floorf; - var _log=env._log; - var _glActiveTexture=env._glActiveTexture; - var _glfwSwapBuffers=env._glfwSwapBuffers; - var _emscripten_glDepthMask=env._emscripten_glDepthMask; - var _glfwSetWindowIconifyCallback=env._glfwSetWindowIconifyCallback; - var _emscripten_glDrawBuffers=env._emscripten_glDrawBuffers; - var _alSourceStop=env._alSourceStop; - var _eglWaitClient=env._eglWaitClient; - var _emscripten_glGetObjectParameterivARB=env._emscripten_glGetObjectParameterivARB; - var _emscripten_glFramebufferTexture2D=env._emscripten_glFramebufferTexture2D; - var _alcCloseDevice=env._alcCloseDevice; - var _glUniform1i=env._glUniform1i; - var _glEnableVertexAttribArray=env._glEnableVertexAttribArray; - var _emscripten_glStencilFunc=env._emscripten_glStencilFunc; - var emscriptenWebGLGetVertexAttrib=env.emscriptenWebGLGetVertexAttrib; - var _alcGetContextsDevice=env._alcGetContextsDevice; - var _emscripten_glUniform2fv=env._emscripten_glUniform2fv; - var _emscripten_glGetProgramiv=env._emscripten_glGetProgramiv; - var _glDeleteBuffers=env._glDeleteBuffers; - var _glBufferData=env._glBufferData; - var _glTexImage2D=env._glTexImage2D; - var _emscripten_glGetShaderiv=env._emscripten_glGetShaderiv; - var _emscripten_glEnable=env._emscripten_glEnable; - var _emscripten_glGenFramebuffers=env._emscripten_glGenFramebuffers; - var _floor=env._floor; - var _emscripten_glUniformMatrix4fv=env._emscripten_glUniformMatrix4fv; - var _emscripten_glLoadIdentity=env._emscripten_glLoadIdentity; - var _glDeleteShader=env._glDeleteShader; - var _cosf=env._cosf; - var _glGetProgramiv=env._glGetProgramiv; - var emscriptenWebGLGetTexPixelData=env.emscriptenWebGLGetTexPixelData; - var _emscripten_glIsRenderbuffer=env._emscripten_glIsRenderbuffer; - var _glfwGetTime=env._glfwGetTime; - var _emscripten_glRenderbufferStorage=env._emscripten_glRenderbufferStorage; - var _alListener3f=env._alListener3f; - var _emscripten_glGetVertexAttribiv=env._emscripten_glGetVertexAttribiv; - var _emscripten_glBindVertexArray=env._emscripten_glBindVertexArray; - var _emscripten_glDrawArraysInstanced=env._emscripten_glDrawArraysInstanced; - var _emscripten_set_touchcancel_callback=env._emscripten_set_touchcancel_callback; - var _emscripten_glCreateShader=env._emscripten_glCreateShader; - var _glfwGetPrimaryMonitor=env._glfwGetPrimaryMonitor; - var _emscripten_glDeleteTextures=env._emscripten_glDeleteTextures; - var _emscripten_glBindRenderbuffer=env._emscripten_glBindRenderbuffer; - var _glLinkProgram=env._glLinkProgram; - var _emscripten_glVertexAttribDivisor=env._emscripten_glVertexAttribDivisor; - var _emscripten_set_touchend_callback=env._emscripten_set_touchend_callback; - var _emscripten_glGetUniformfv=env._emscripten_glGetUniformfv; - var _emscripten_glGetVertexAttribfv=env._emscripten_glGetVertexAttribfv; - var _emscripten_glGetRenderbufferParameteriv=env._emscripten_glGetRenderbufferParameteriv; - var _emscripten_glDeleteFramebuffers=env._emscripten_glDeleteFramebuffers; - var _glGetShaderiv=env._glGetShaderiv; - var _emscripten_glVertexAttrib3fv=env._emscripten_glVertexAttrib3fv; - var _glGetUniformLocation=env._glGetUniformLocation; - var _emscripten_glGetInfoLogARB=env._emscripten_glGetInfoLogARB; - var _emscripten_glCompileShader=env._emscripten_glCompileShader; - var _glClear=env._glClear; - var _glUniform4fv=env._glUniform4fv; - var _emscripten_glFrustum=env._emscripten_glFrustum; - var _emscripten_glDisable=env._emscripten_glDisable; - var _emscripten_glDepthRangef=env._emscripten_glDepthRangef; - var _sinf=env._sinf; - var __exit=env.__exit; - var _glfwTerminate=env._glfwTerminate; - var _emscripten_glUniform3f=env._emscripten_glUniform3f; - var _emscripten_glStencilOp=env._emscripten_glStencilOp; - var _glPixelStorei=env._glPixelStorei; - var _emscripten_glColorMask=env._emscripten_glColorMask; - var _emscripten_glLinkProgram=env._emscripten_glLinkProgram; - var _emscripten_glBlendEquation=env._emscripten_glBlendEquation; - var _emscripten_glIsTexture=env._emscripten_glIsTexture; - var _alDeleteBuffers=env._alDeleteBuffers; - var _pthread_self=env._pthread_self; - var _emscripten_glVertexAttrib1fv=env._emscripten_glVertexAttrib1fv; - var _emscripten_glLineWidth=env._emscripten_glLineWidth; - var _emscripten_glBindTexture=env._emscripten_glBindTexture; - var _glfwSetMouseButtonCallback=env._glfwSetMouseButtonCallback; - var _glfwGetCursorPos=env._glfwGetCursorPos; - var _emscripten_glActiveTexture=env._emscripten_glActiveTexture; - var _emscripten_glDeleteBuffers=env._emscripten_glDeleteBuffers; - var ___syscall54=env.___syscall54; - var ___unlock=env.___unlock; - var _emscripten_glBufferSubData=env._emscripten_glBufferSubData; - var _emscripten_glColorPointer=env._emscripten_glColorPointer; - var _emscripten_set_main_loop=env._emscripten_set_main_loop; - var _emscripten_glGetProgramInfoLog=env._emscripten_glGetProgramInfoLog; - var _glfwWindowHint=env._glfwWindowHint; - var _alGenSources=env._alGenSources; - var _emscripten_glShaderSource=env._emscripten_glShaderSource; - var _emscripten_glIsShader=env._emscripten_glIsShader; - var _emscripten_glUniform4fv=env._emscripten_glUniform4fv; - var _emscripten_glUniform1f=env._emscripten_glUniform1f; - var _alcOpenDevice=env._alcOpenDevice; - var _emscripten_glDrawArrays=env._emscripten_glDrawArrays; - var _glfwSetKeyCallback=env._glfwSetKeyCallback; - var _emscripten_glClearColor=env._emscripten_glClearColor; - var _emscripten_glGetShaderSource=env._emscripten_glGetShaderSource; - var _emscripten_glCreateProgram=env._emscripten_glCreateProgram; - var _emscripten_glCopyTexSubImage2D=env._emscripten_glCopyTexSubImage2D; - var _emscripten_glGetAttribLocation=env._emscripten_glGetAttribLocation; - var _glTexParameteri=env._glTexParameteri; - var _emscripten_glValidateProgram=env._emscripten_glValidateProgram; - var _emscripten_glBindBuffer=env._emscripten_glBindBuffer; - var _emscripten_glGetFloatv=env._emscripten_glGetFloatv; - var _emscripten_glDetachShader=env._emscripten_glDetachShader; - var _glClearColor=env._glClearColor; - var _emscripten_glEnableClientState=env._emscripten_glEnableClientState; - var _glfwSetCursorEnterCallback=env._glfwSetCursorEnterCallback; - var _emscripten_glCopyTexImage2D=env._emscripten_glCopyTexImage2D; - var _emscripten_glTexImage2D=env._emscripten_glTexImage2D; - var tempFloat = 0.0; - -function _emscripten_replace_memory(newBuffer) { - if ((byteLength(newBuffer) & 0xffffff || byteLength(newBuffer) <= 0xffffff) || byteLength(newBuffer) > 0x80000000) return false; - HEAP8 = new Int8View(newBuffer); - HEAP16 = new Int16View(newBuffer); - HEAP32 = new Int32View(newBuffer); - HEAPU8 = new Uint8View(newBuffer); - HEAPU16 = new Uint16View(newBuffer); - HEAPU32 = new Uint32View(newBuffer); - HEAPF32 = new Float32View(newBuffer); - HEAPF64 = new Float64View(newBuffer); - buffer = newBuffer; - return true; -} - -// EMSCRIPTEN_START_FUNCS -function stackAlloc(size) { - size = size|0; - var ret = 0; - ret = STACKTOP; - STACKTOP = (STACKTOP + size)|0; - STACKTOP = (STACKTOP + 15)&-16; - - return ret|0; -} -function stackSave() { - return STACKTOP|0; -} -function stackRestore(top) { - top = top|0; - STACKTOP = top; -} -function establishStackSpace(stackBase, stackMax) { - stackBase = stackBase|0; - stackMax = stackMax|0; - STACKTOP = stackBase; - STACK_MAX = stackMax; -} - -function setThrew(threw, value) { - threw = threw|0; - value = value|0; - if ((__THREW__|0) == 0) { - __THREW__ = threw; - threwValue = value; - } -} -function copyTempFloat(ptr) { - ptr = ptr|0; - HEAP8[tempDoublePtr>>0] = HEAP8[ptr>>0]; - HEAP8[tempDoublePtr+1>>0] = HEAP8[ptr+1>>0]; - HEAP8[tempDoublePtr+2>>0] = HEAP8[ptr+2>>0]; - HEAP8[tempDoublePtr+3>>0] = HEAP8[ptr+3>>0]; -} -function copyTempDouble(ptr) { - ptr = ptr|0; - HEAP8[tempDoublePtr>>0] = HEAP8[ptr>>0]; - HEAP8[tempDoublePtr+1>>0] = HEAP8[ptr+1>>0]; - HEAP8[tempDoublePtr+2>>0] = HEAP8[ptr+2>>0]; - HEAP8[tempDoublePtr+3>>0] = HEAP8[ptr+3>>0]; - HEAP8[tempDoublePtr+4>>0] = HEAP8[ptr+4>>0]; - HEAP8[tempDoublePtr+5>>0] = HEAP8[ptr+5>>0]; - HEAP8[tempDoublePtr+6>>0] = HEAP8[ptr+6>>0]; - HEAP8[tempDoublePtr+7>>0] = HEAP8[ptr+7>>0]; -} - -function setTempRet0(value) { - value = value|0; - tempRet0 = value; -} -function getTempRet0() { - return tempRet0|0; -} - -function _main() { - var $$byval_copy10 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; - var $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 752|0; - $$byval_copy10 = sp + 528|0; - $0 = sp + 480|0; - $1 = sp + 460|0; - $2 = sp + 440|0; - $3 = sp + 224|0; - $4 = sp + 200|0; - $5 = sp + 180|0; - $6 = sp + 160|0; - $7 = sp + 140|0; - $8 = sp + 120|0; - $9 = sp + 100|0; - $10 = sp + 80|0; - $11 = sp + 60|0; - $12 = sp + 40|0; - $13 = sp + 20|0; - $14 = sp; - _InitWindow(1280,720,10200); - _InitAudioDevice(); - $15 = (_GetScreenWidth()|0); - $16 = (($15|0) / 2)&-1; - $17 = (($16) + -128)|0; - HEAP32[232>>2] = $17; - $18 = (_GetScreenHeight()|0); - $19 = (($18|0) / 2)&-1; - $20 = (($19) + -128)|0; - HEAP32[236>>2] = $20; - _LoadSpriteFont($0,10215); - dest=240; src=$0; stop=dest+44|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _LoadTexture($1,10237); - ;HEAP32[284>>2]=HEAP32[$1>>2]|0;HEAP32[284+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[284+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[284+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[284+16>>2]=HEAP32[$1+16>>2]|0; - _LoadTexture($2,10268); - ;HEAP32[304>>2]=HEAP32[$2>>2]|0;HEAP32[304+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[304+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[304+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[304+16>>2]=HEAP32[$2+16>>2]|0; - HEAPF32[324>>2] = -4.0; - HEAPF32[(328)>>2] = 2.0; - HEAPF32[(332)>>2] = 3.0; - HEAPF32[(336)>>2] = -4.0; - HEAPF32[(340)>>2] = 0.80000001192092896; - HEAPF32[(344)>>2] = 0.0; - HEAPF32[(348)>>2] = 0.0; - HEAPF32[(352)>>2] = 1.0; - HEAPF32[(356)>>2] = 0.0; - _LoadModel($3,10294); - _memcpy((360|0),($3|0),216)|0; - _LoadTexture($4,10314); - ;HEAP32[576>>2]=HEAP32[$4>>2]|0;HEAP32[576+4>>2]=HEAP32[$4+4>>2]|0;HEAP32[576+8>>2]=HEAP32[$4+8>>2]|0;HEAP32[576+12>>2]=HEAP32[$4+12>>2]|0;HEAP32[576+16>>2]=HEAP32[$4+16>>2]|0; - ;HEAP32[$$byval_copy10>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy10+4>>2]=HEAP32[$4+4>>2]|0;HEAP32[$$byval_copy10+8>>2]=HEAP32[$4+8>>2]|0;HEAP32[$$byval_copy10+12>>2]=HEAP32[$4+12>>2]|0;HEAP32[$$byval_copy10+16>>2]=HEAP32[$4+16>>2]|0; - _SetModelTexture(360,$$byval_copy10); - HEAPF32[596>>2] = -1.0; - HEAPF32[(600)>>2] = 0.0; - HEAPF32[(604)>>2] = 0.0; - _LoadTexture($5,10342); - ;HEAP32[608>>2]=HEAP32[$5>>2]|0;HEAP32[608+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[608+8>>2]=HEAP32[$5+8>>2]|0;HEAP32[608+12>>2]=HEAP32[$5+12>>2]|0;HEAP32[608+16>>2]=HEAP32[$5+16>>2]|0; - _LoadTexture($6,10366); - ;HEAP32[(628)>>2]=HEAP32[$6>>2]|0;HEAP32[(628)+4>>2]=HEAP32[$6+4>>2]|0;HEAP32[(628)+8>>2]=HEAP32[$6+8>>2]|0;HEAP32[(628)+12>>2]=HEAP32[$6+12>>2]|0;HEAP32[(628)+16>>2]=HEAP32[$6+16>>2]|0; - _LoadTexture($7,10390); - ;HEAP32[(648)>>2]=HEAP32[$7>>2]|0;HEAP32[(648)+4>>2]=HEAP32[$7+4>>2]|0;HEAP32[(648)+8>>2]=HEAP32[$7+8>>2]|0;HEAP32[(648)+12>>2]=HEAP32[$7+12>>2]|0;HEAP32[(648)+16>>2]=HEAP32[$7+16>>2]|0; - _LoadTexture($8,10414); - ;HEAP32[(668)>>2]=HEAP32[$8>>2]|0;HEAP32[(668)+4>>2]=HEAP32[$8+4>>2]|0;HEAP32[(668)+8>>2]=HEAP32[$8+8>>2]|0;HEAP32[(668)+12>>2]=HEAP32[$8+12>>2]|0;HEAP32[(668)+16>>2]=HEAP32[$8+16>>2]|0; - _LoadTexture($9,10438); - ;HEAP32[(688)>>2]=HEAP32[$9>>2]|0;HEAP32[(688)+4>>2]=HEAP32[$9+4>>2]|0;HEAP32[(688)+8>>2]=HEAP32[$9+8>>2]|0;HEAP32[(688)+12>>2]=HEAP32[$9+12>>2]|0;HEAP32[(688)+16>>2]=HEAP32[$9+16>>2]|0; - _LoadTexture($10,10462); - ;HEAP32[708>>2]=HEAP32[$10>>2]|0;HEAP32[708+4>>2]=HEAP32[$10+4>>2]|0;HEAP32[708+8>>2]=HEAP32[$10+8>>2]|0;HEAP32[708+12>>2]=HEAP32[$10+12>>2]|0;HEAP32[708+16>>2]=HEAP32[$10+16>>2]|0; - _LoadTexture($11,10485); - ;HEAP32[(728)>>2]=HEAP32[$11>>2]|0;HEAP32[(728)+4>>2]=HEAP32[$11+4>>2]|0;HEAP32[(728)+8>>2]=HEAP32[$11+8>>2]|0;HEAP32[(728)+12>>2]=HEAP32[$11+12>>2]|0;HEAP32[(728)+16>>2]=HEAP32[$11+16>>2]|0; - _LoadTexture($12,10508); - ;HEAP32[(748)>>2]=HEAP32[$12>>2]|0;HEAP32[(748)+4>>2]=HEAP32[$12+4>>2]|0;HEAP32[(748)+8>>2]=HEAP32[$12+8>>2]|0;HEAP32[(748)+12>>2]=HEAP32[$12+12>>2]|0;HEAP32[(748)+16>>2]=HEAP32[$12+16>>2]|0; - _LoadTexture($13,10531); - ;HEAP32[(768)>>2]=HEAP32[$13>>2]|0;HEAP32[(768)+4>>2]=HEAP32[$13+4>>2]|0;HEAP32[(768)+8>>2]=HEAP32[$13+8>>2]|0;HEAP32[(768)+12>>2]=HEAP32[$13+12>>2]|0;HEAP32[(768)+16>>2]=HEAP32[$13+16>>2]|0; - _LoadTexture($14,10554); - ;HEAP32[(788)>>2]=HEAP32[$14>>2]|0;HEAP32[(788)+4>>2]=HEAP32[$14+4>>2]|0;HEAP32[(788)+8>>2]=HEAP32[$14+8>>2]|0;HEAP32[(788)+12>>2]=HEAP32[$14+12>>2]|0;HEAP32[(788)+16>>2]=HEAP32[$14+16>>2]|0; - _emscripten_set_main_loop((1|0),0,1); - dest=$$byval_copy10; src=240; stop=dest+44|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _UnloadSpriteFont($$byval_copy10); - ;HEAP32[$$byval_copy10>>2]=HEAP32[284>>2]|0;HEAP32[$$byval_copy10+4>>2]=HEAP32[284+4>>2]|0;HEAP32[$$byval_copy10+8>>2]=HEAP32[284+8>>2]|0;HEAP32[$$byval_copy10+12>>2]=HEAP32[284+12>>2]|0;HEAP32[$$byval_copy10+16>>2]=HEAP32[284+16>>2]|0; - _UnloadTexture($$byval_copy10); - ;HEAP32[$$byval_copy10>>2]=HEAP32[304>>2]|0;HEAP32[$$byval_copy10+4>>2]=HEAP32[304+4>>2]|0;HEAP32[$$byval_copy10+8>>2]=HEAP32[304+8>>2]|0;HEAP32[$$byval_copy10+12>>2]=HEAP32[304+12>>2]|0;HEAP32[$$byval_copy10+16>>2]=HEAP32[304+16>>2]|0; - _UnloadTexture($$byval_copy10); - _memcpy(($$byval_copy10|0),(360|0),216)|0; - _UnloadModel($$byval_copy10); - ;HEAP32[$$byval_copy10>>2]=HEAP32[576>>2]|0;HEAP32[$$byval_copy10+4>>2]=HEAP32[576+4>>2]|0;HEAP32[$$byval_copy10+8>>2]=HEAP32[576+8>>2]|0;HEAP32[$$byval_copy10+12>>2]=HEAP32[576+12>>2]|0;HEAP32[$$byval_copy10+16>>2]=HEAP32[576+16>>2]|0; - _UnloadTexture($$byval_copy10); - ;HEAP32[$$byval_copy10>>2]=HEAP32[608>>2]|0;HEAP32[$$byval_copy10+4>>2]=HEAP32[608+4>>2]|0;HEAP32[$$byval_copy10+8>>2]=HEAP32[608+8>>2]|0;HEAP32[$$byval_copy10+12>>2]=HEAP32[608+12>>2]|0;HEAP32[$$byval_copy10+16>>2]=HEAP32[608+16>>2]|0; - _UnloadTexture($$byval_copy10); - ;HEAP32[$$byval_copy10>>2]=HEAP32[(628)>>2]|0;HEAP32[$$byval_copy10+4>>2]=HEAP32[(628)+4>>2]|0;HEAP32[$$byval_copy10+8>>2]=HEAP32[(628)+8>>2]|0;HEAP32[$$byval_copy10+12>>2]=HEAP32[(628)+12>>2]|0;HEAP32[$$byval_copy10+16>>2]=HEAP32[(628)+16>>2]|0; - _UnloadTexture($$byval_copy10); - ;HEAP32[$$byval_copy10>>2]=HEAP32[(648)>>2]|0;HEAP32[$$byval_copy10+4>>2]=HEAP32[(648)+4>>2]|0;HEAP32[$$byval_copy10+8>>2]=HEAP32[(648)+8>>2]|0;HEAP32[$$byval_copy10+12>>2]=HEAP32[(648)+12>>2]|0;HEAP32[$$byval_copy10+16>>2]=HEAP32[(648)+16>>2]|0; - _UnloadTexture($$byval_copy10); - ;HEAP32[$$byval_copy10>>2]=HEAP32[(668)>>2]|0;HEAP32[$$byval_copy10+4>>2]=HEAP32[(668)+4>>2]|0;HEAP32[$$byval_copy10+8>>2]=HEAP32[(668)+8>>2]|0;HEAP32[$$byval_copy10+12>>2]=HEAP32[(668)+12>>2]|0;HEAP32[$$byval_copy10+16>>2]=HEAP32[(668)+16>>2]|0; - _UnloadTexture($$byval_copy10); - ;HEAP32[$$byval_copy10>>2]=HEAP32[(688)>>2]|0;HEAP32[$$byval_copy10+4>>2]=HEAP32[(688)+4>>2]|0;HEAP32[$$byval_copy10+8>>2]=HEAP32[(688)+8>>2]|0;HEAP32[$$byval_copy10+12>>2]=HEAP32[(688)+12>>2]|0;HEAP32[$$byval_copy10+16>>2]=HEAP32[(688)+16>>2]|0; - _UnloadTexture($$byval_copy10); - ;HEAP32[$$byval_copy10>>2]=HEAP32[708>>2]|0;HEAP32[$$byval_copy10+4>>2]=HEAP32[708+4>>2]|0;HEAP32[$$byval_copy10+8>>2]=HEAP32[708+8>>2]|0;HEAP32[$$byval_copy10+12>>2]=HEAP32[708+12>>2]|0;HEAP32[$$byval_copy10+16>>2]=HEAP32[708+16>>2]|0; - _UnloadTexture($$byval_copy10); - ;HEAP32[$$byval_copy10>>2]=HEAP32[(728)>>2]|0;HEAP32[$$byval_copy10+4>>2]=HEAP32[(728)+4>>2]|0;HEAP32[$$byval_copy10+8>>2]=HEAP32[(728)+8>>2]|0;HEAP32[$$byval_copy10+12>>2]=HEAP32[(728)+12>>2]|0;HEAP32[$$byval_copy10+16>>2]=HEAP32[(728)+16>>2]|0; - _UnloadTexture($$byval_copy10); - ;HEAP32[$$byval_copy10>>2]=HEAP32[(748)>>2]|0;HEAP32[$$byval_copy10+4>>2]=HEAP32[(748)+4>>2]|0;HEAP32[$$byval_copy10+8>>2]=HEAP32[(748)+8>>2]|0;HEAP32[$$byval_copy10+12>>2]=HEAP32[(748)+12>>2]|0;HEAP32[$$byval_copy10+16>>2]=HEAP32[(748)+16>>2]|0; - _UnloadTexture($$byval_copy10); - ;HEAP32[$$byval_copy10>>2]=HEAP32[(768)>>2]|0;HEAP32[$$byval_copy10+4>>2]=HEAP32[(768)+4>>2]|0;HEAP32[$$byval_copy10+8>>2]=HEAP32[(768)+8>>2]|0;HEAP32[$$byval_copy10+12>>2]=HEAP32[(768)+12>>2]|0;HEAP32[$$byval_copy10+16>>2]=HEAP32[(768)+16>>2]|0; - _UnloadTexture($$byval_copy10); - ;HEAP32[$$byval_copy10>>2]=HEAP32[(788)>>2]|0;HEAP32[$$byval_copy10+4>>2]=HEAP32[(788)+4>>2]|0;HEAP32[$$byval_copy10+8>>2]=HEAP32[(788)+8>>2]|0;HEAP32[$$byval_copy10+12>>2]=HEAP32[(788)+12>>2]|0;HEAP32[$$byval_copy10+16>>2]=HEAP32[(788)+16>>2]|0; - _UnloadTexture($$byval_copy10); - _CloseAudioDevice(); - _CloseWindow(); - STACKTOP = sp;return 0; -} -function _UpdateDrawFrame() { - var $$byval_copy103 = 0, $$byval_copy112 = 0, $$byval_copy76 = 0, $$off = 0, $$pr286 = 0, $$pr288 = 0, $$pr289 = 0, $$pr290 = 0, $$pr293$pr = 0, $$pr296$pr = 0, $$pr299$pr$pr = 0, $$pr302$pr$pr = 0, $$pr305 = 0, $$pr306 = 0, $$pr308 = 0, $$pr311$pr = 0, $$pr314$pr = 0, $$pr317$pr$pr = 0, $$pr320$pr$pr = 0, $$pr323$pr$pr = 0; - var $$pr326$pr$pr = 0, $$pr329$pr$pr$pr = 0, $$pr332 = 0, $$pr334 = 0, $$pr337$pr = 0, $$pr340$pr = 0, $$pr343$pr$pr = 0, $$pr346$pr$pr = 0, $$pr350$pr$pr = 0, $$pr352 = 0, $$pr355$pr = 0, $$pr358$pr = 0, $$pr361$pr$pr = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0; - var $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0; - var $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0; - var $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0.0; - var $159 = 0.0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0.0, $164 = 0.0, $165 = 0, $166 = 0.0, $167 = 0.0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0.0, $172 = 0.0, $173 = 0, $174 = 0, $175 = 0, $176 = 0; - var $177 = 0.0, $178 = 0.0, $179 = 0, $18 = 0, $180 = 0.0, $181 = 0.0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0; - var $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0; - var $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0; - var $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0; - var $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0; - var $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0; - var $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0; - var $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0.0, $32 = 0; - var $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0.0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0.0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0.0; - var $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0.0, $346 = 0.0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0.0, $353 = 0.0, $354 = 0, $355 = 0, $356 = 0; - var $357 = 0, $358 = 0, $359 = 0.0, $36 = 0, $360 = 0.0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0.0, $367 = 0.0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0.0, $374 = 0.0; - var $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0.0, $381 = 0.0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0.0, $39 = 0, $390 = 0, $391 = 0, $392 = 0; - var $393 = 0, $394 = 0, $395 = 0.0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0.0, $402 = 0, $403 = 0, $404 = 0, $405 = 0.0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0; - var $410 = 0.0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0.0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0.0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0; - var $429 = 0.0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0.0, $435 = 0, $436 = 0, $437 = 0, $438 = 0.0, $439 = 0, $44 = 0, $440 = 0.0, $441 = 0, $442 = 0.0, $443 = 0, $444 = 0, $445 = 0, $446 = 0; - var $447 = 0.0, $448 = 0, $449 = 0, $45 = 0, $450 = 0.0, $451 = 0, $452 = 0, $453 = 0.0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0, $460 = 0, $461 = 0.0, $462 = 0, $463 = 0, $464 = 0.0; - var $465 = 0, $466 = 0, $467 = 0.0, $468 = 0, $469 = 0.0, $47 = 0, $470 = 0, $471 = 0.0, $472 = 0, $473 = 0.0, $474 = 0, $475 = 0, $476 = 0, $477 = 0, $478 = 0.0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0; - var $483 = 0.0, $484 = 0, $485 = 0, $486 = 0.0, $487 = 0, $488 = 0, $489 = 0.0, $49 = 0, $490 = 0, $491 = 0.0, $492 = 0, $493 = 0.0, $494 = 0, $495 = 0.0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0; - var $500 = 0.0, $501 = 0, $502 = 0, $503 = 0, $504 = 0.0, $505 = 0, $506 = 0.0, $507 = 0, $508 = 0.0, $509 = 0.0, $51 = 0, $510 = 0.0, $511 = 0.0, $512 = 0, $513 = 0.0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0.0; - var $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0.0, $523 = 0, $524 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0; - var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0; - var $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $dwarf$byval_copy = 0, $or$cond = 0; - var $or$cond365 = 0, $position$byval_copy = 0, $storemerge = 0.0, $storemerge366 = 0.0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 976|0; - $$byval_copy112 = sp + 612|0; - $$byval_copy103 = sp + 592|0; - $$byval_copy76 = sp + 396|0; - $position$byval_copy = sp + 376|0; - $dwarf$byval_copy = sp + 152|0; - $0 = sp + 960|0; - $1 = sp + 956|0; - $2 = sp + 952|0; - $3 = sp + 948|0; - $4 = sp + 944|0; - $5 = sp + 940|0; - $6 = sp + 936|0; - $7 = sp + 932|0; - $8 = sp + 928|0; - $9 = sp + 924|0; - $10 = sp + 920|0; - $11 = sp + 916|0; - $12 = sp + 912|0; - $13 = sp + 908|0; - $14 = sp + 904|0; - $15 = sp + 900|0; - $16 = sp + 896|0; - $17 = sp + 892|0; - $18 = sp + 584|0; - $19 = sp + 888|0; - $20 = sp + 884|0; - $21 = sp + 880|0; - $22 = sp + 876|0; - $23 = sp + 872|0; - $24 = sp + 868|0; - $25 = sp + 568|0; - $26 = sp + 560|0; - $27 = sp + 864|0; - $28 = sp + 552|0; - $29 = sp + 536|0; - $30 = sp + 528|0; - $31 = sp + 860|0; - $32 = sp + 520|0; - $33 = sp + 504|0; - $34 = sp + 496|0; - $35 = sp + 856|0; - $36 = sp + 488|0; - $37 = sp + 472|0; - $38 = sp + 464|0; - $39 = sp + 852|0; - $40 = sp + 456|0; - $41 = sp + 440|0; - $42 = sp + 368|0; - $43 = sp + 848|0; - $44 = sp + 144|0; - $45 = sp + 128|0; - $46 = sp + 120|0; - $47 = sp + 844|0; - $48 = sp + 112|0; - $49 = sp + 840|0; - $50 = sp + 836|0; - $51 = sp + 832|0; - $52 = sp + 828|0; - $53 = sp + 824|0; - $54 = sp + 820|0; - $55 = sp + 816|0; - $56 = sp + 812|0; - $57 = sp + 808|0; - $58 = sp + 804|0; - $59 = sp + 104|0; - $60 = sp + 96|0; - $61 = sp + 88|0; - $62 = sp + 800|0; - $63 = sp + 796|0; - $64 = sp + 792|0; - $65 = sp + 788|0; - $66 = sp + 80|0; - $67 = sp + 784|0; - $68 = sp + 780|0; - $69 = sp + 776|0; - $70 = sp + 772|0; - $71 = sp + 768|0; - $72 = sp + 764|0; - $73 = sp + 760|0; - $74 = sp + 72|0; - $75 = sp + 756|0; - $76 = sp + 68|0; - $77 = sp + 752|0; - $78 = sp + 748|0; - $79 = sp + 56|0; - $80 = sp + 44|0; - $81 = sp + 744|0; - $82 = sp + 40|0; - $83 = sp + 740|0; - $84 = sp + 736|0; - $85 = sp + 732|0; - $86 = sp + 36|0; - $87 = sp + 728|0; - $88 = sp + 32|0; - $89 = sp + 724|0; - $90 = sp + 28|0; - $91 = sp + 720|0; - $92 = sp + 24|0; - $93 = sp + 716|0; - $94 = sp + 20|0; - $95 = sp + 712|0; - $96 = sp + 708|0; - $97 = sp + 704|0; - $98 = sp + 700|0; - $99 = sp + 696|0; - $100 = sp + 16|0; - $101 = sp + 692|0; - $102 = sp + 12|0; - $103 = sp + 688|0; - $104 = sp + 8|0; - $105 = sp + 684|0; - $106 = sp + 4|0; - $107 = sp + 680|0; - $108 = sp; - $109 = sp + 676|0; - $110 = sp + 672|0; - $111 = sp + 668|0; - $112 = sp + 664|0; - $113 = sp + 660|0; - $114 = sp + 656|0; - $115 = sp + 652|0; - $116 = sp + 648|0; - _UpdateMusicStream(); - $117 = HEAP32[200>>2]|0; - $118 = ($117|0)==(0); - L1: do { - if ($118) { - $119 = HEAP32[220>>2]|0; - switch ($119|0) { - case 0: { - $120 = (_IsKeyPressed(257)|0); - $121 = ($120|0)==(0); - if ($121) { - break L1; - } - _TransitionToScreen(1); - _PlayMusicStream(10577); - break L1; - break; - } - case 1: { - break; - } - default: { - break L1; - } - } - $122 = HEAP32[176>>2]|0; - switch ($122|0) { - case 0: { - $123 = HEAP32[216>>2]|0; - $124 = (($123) + 1)|0; - HEAP32[216>>2] = $124; - $125 = ($124|0)==(120); - if ($125) { - HEAP32[176>>2] = 1; - HEAP32[216>>2] = 0; - } - break; - } - case 1: { - $126 = HEAP32[160>>2]|0; - $127 = (($126) + 4)|0; - HEAP32[160>>2] = $127; - $128 = HEAP32[164>>2]|0; - $129 = (($128) + 4)|0; - HEAP32[164>>2] = $129; - $130 = ($127|0)==(256); - if ($130) { - HEAP32[176>>2] = 2; - } - break; - } - case 2: { - $131 = HEAP32[168>>2]|0; - $132 = (($131) + 4)|0; - HEAP32[168>>2] = $132; - $133 = HEAP32[172>>2]|0; - $134 = (($133) + 4)|0; - HEAP32[172>>2] = $134; - $135 = ($132|0)==(256); - if ($135) { - HEAP32[180>>2] = 0; - HEAP32[176>>2] = 3; - } - break; - } - case 3: { - $136 = HEAP32[216>>2]|0; - $137 = (($136) + 1)|0; - HEAP32[216>>2] = $137; - $138 = (($137|0) % 12)&-1; - $139 = ($138|0)==(0); - $140 = HEAP32[156>>2]|0; - if ($139) { - $141 = (($140) + 1)|0; - HEAP32[156>>2] = $141; - $142 = $141; - } else { - $142 = $140; - } - $143 = ($142|0)>(9); - if ($143) { - $144 = HEAP32[216>>2]|0; - $145 = $144 & 1; - $146 = ($145|0)==(0); - $147 = HEAP32[180>>2]|0; - if ($146) { - $148 = (($147) + 1)|0; - HEAP32[180>>2] = $148; - $149 = $148; - } else { - $149 = $147; - } - $150 = ($149|0)>(100); - if ($150) { - HEAP32[216>>2] = 0; - HEAP32[176>>2] = 4; - } - } - break; - } - case 4: { - $151 = HEAP32[216>>2]|0; - $152 = (($151) + 1)|0; - HEAP32[216>>2] = $152; - $153 = ($151|0)>(119); - if ($153) { - $154 = HEAP32[152>>2]|0; - $155 = (($154) + 1)|0; - HEAP32[152>>2] = $155; - $$pr286 = HEAP32[216>>2]|0; - $156 = $$pr286; - } else { - $156 = $152; - } - $157 = ($156|0)>(1230); - if ($157) { - $158 = +HEAPF32[184>>2]; - $159 = $158 + -0.05000000074505806; - HEAPF32[184>>2] = $159; - $160 = $159 < 0.0; - if ($160) { - HEAP32[216>>2] = 0; - HEAP32[176>>2] = 5; - HEAPF32[184>>2] = 1.0; - } - } - break; - } - case 5: { - $161 = HEAP32[216>>2]|0; - $162 = (($161) + 1)|0; - HEAP32[216>>2] = $162; - $163 = +HEAPF32[192>>2]; - $164 = $163 + 1.0; - HEAPF32[192>>2] = $164; - $165 = ($161|0)>(439); - if ($165) { - $166 = +HEAPF32[596>>2]; - $167 = $166 + -0.0099999997764825821; - $168 = $167 < -2.4000000953674316; - $storemerge366 = $168 ? -2.4000000953674316 : $167; - HEAPF32[596>>2] = $storemerge366; - $$pr288 = HEAP32[216>>2]|0; - $169 = $$pr288; - } else { - $169 = $162; - } - $170 = ($169|0)>(840); - if ($170) { - $171 = +HEAPF32[184>>2]; - $172 = $171 + -0.05000000074505806; - HEAPF32[184>>2] = $172; - $173 = $172 < 0.0; - if ($173) { - HEAP32[216>>2] = 0; - HEAP32[176>>2] = 6; - HEAPF32[184>>2] = 1.0; - } - } - break; - } - case 6: { - $174 = HEAP32[216>>2]|0; - $175 = (($174) + 1)|0; - HEAP32[216>>2] = $175; - $176 = ($174|0)>(899); - if ($176) { - $177 = +HEAPF32[184>>2]; - $178 = $177 + -0.05000000074505806; - HEAPF32[184>>2] = $178; - $179 = $178 < 0.0; - if ($179) { - HEAP32[216>>2] = 0; - HEAP32[176>>2] = 7; - HEAPF32[184>>2] = 1.0; - } - } - break; - } - case 7: { - $180 = +HEAPF32[188>>2]; - $181 = $180 + -0.004999999888241291; - $182 = $181 < 0.0; - $storemerge = $182 ? 0.0 : $181; - HEAPF32[188>>2] = $storemerge; - _SetMusicVolume($storemerge); - break; - } - default: { - } - } - $183 = HEAP32[228>>2]|0; - $184 = HEAP32[224>>2]|0; - $185 = ($183|0)<($184|0); - if ($185) { - $186 = (($183) + 1)|0; - HEAP32[228>>2] = $186; - } - } else { - _UpdateTransition(); - } - } while(0); - _BeginDrawing(); - HEAP8[$0>>0] = -11; - $187 = ((($0)) + 1|0); - HEAP8[$187>>0] = -11; - $188 = ((($0)) + 2|0); - HEAP8[$188>>0] = -11; - $189 = ((($0)) + 3|0); - HEAP8[$189>>0] = -1; - ;HEAP8[$$byval_copy112>>0]=HEAP8[$0>>0]|0;HEAP8[$$byval_copy112+1>>0]=HEAP8[$0+1>>0]|0;HEAP8[$$byval_copy112+2>>0]=HEAP8[$0+2>>0]|0;HEAP8[$$byval_copy112+3>>0]=HEAP8[$0+3>>0]|0; - _ClearBackground($$byval_copy112); - $190 = HEAP32[220>>2]|0; - switch ($190|0) { - case 0: { - HEAP8[$1>>0] = -56; - $191 = ((($1)) + 1|0); - HEAP8[$191>>0] = -56; - $192 = ((($1)) + 2|0); - HEAP8[$192>>0] = -56; - $193 = ((($1)) + 3|0); - HEAP8[$193>>0] = -1; - ;HEAP8[$$byval_copy112>>0]=HEAP8[$1>>0]|0;HEAP8[$$byval_copy112+1>>0]=HEAP8[$1+1>>0]|0;HEAP8[$$byval_copy112+2>>0]=HEAP8[$1+2>>0]|0;HEAP8[$$byval_copy112+3>>0]=HEAP8[$1+3>>0]|0; - _DrawText(10597,290,260,60,$$byval_copy112); - break; - } - case 1: { - $194 = HEAP32[176>>2]|0; - switch ($194|0) { - case 0: { - $195 = HEAP32[216>>2]|0; - $196 = (($195|0) / 15)&-1; - $197 = $196 & 1; - $198 = ($197|0)==(0); - if (!($198)) { - $199 = HEAP32[232>>2]|0; - $200 = HEAP32[236>>2]|0; - $201 = (($200) + -60)|0; - HEAP8[$2>>0] = 0; - $202 = ((($2)) + 1|0); - HEAP8[$202>>0] = 0; - $203 = ((($2)) + 2|0); - HEAP8[$203>>0] = 0; - $204 = ((($2)) + 3|0); - HEAP8[$204>>0] = -1; - ;HEAP8[$$byval_copy112>>0]=HEAP8[$2>>0]|0;HEAP8[$$byval_copy112+1>>0]=HEAP8[$2+1>>0]|0;HEAP8[$$byval_copy112+2>>0]=HEAP8[$2+2>>0]|0;HEAP8[$$byval_copy112+3>>0]=HEAP8[$2+3>>0]|0; - _DrawRectangle($199,$201,16,16,$$byval_copy112); - } - break; - } - case 1: { - $205 = HEAP32[232>>2]|0; - $206 = HEAP32[236>>2]|0; - $207 = (($206) + -60)|0; - $208 = HEAP32[160>>2]|0; - HEAP8[$3>>0] = 0; - $209 = ((($3)) + 1|0); - HEAP8[$209>>0] = 0; - $210 = ((($3)) + 2|0); - HEAP8[$210>>0] = 0; - $211 = ((($3)) + 3|0); - HEAP8[$211>>0] = -1; - ;HEAP8[$$byval_copy112>>0]=HEAP8[$3>>0]|0;HEAP8[$$byval_copy112+1>>0]=HEAP8[$3+1>>0]|0;HEAP8[$$byval_copy112+2>>0]=HEAP8[$3+2>>0]|0;HEAP8[$$byval_copy112+3>>0]=HEAP8[$3+3>>0]|0; - _DrawRectangle($205,$207,$208,16,$$byval_copy112); - $212 = HEAP32[232>>2]|0; - $213 = HEAP32[236>>2]|0; - $214 = (($213) + -60)|0; - $215 = HEAP32[164>>2]|0; - HEAP8[$4>>0] = 0; - $216 = ((($4)) + 1|0); - HEAP8[$216>>0] = 0; - $217 = ((($4)) + 2|0); - HEAP8[$217>>0] = 0; - $218 = ((($4)) + 3|0); - HEAP8[$218>>0] = -1; - ;HEAP8[$$byval_copy112>>0]=HEAP8[$4>>0]|0;HEAP8[$$byval_copy112+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$$byval_copy112+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$$byval_copy112+3>>0]=HEAP8[$4+3>>0]|0; - _DrawRectangle($212,$214,16,$215,$$byval_copy112); - break; - } - case 2: { - $219 = HEAP32[232>>2]|0; - $220 = HEAP32[236>>2]|0; - $221 = (($220) + -60)|0; - $222 = HEAP32[160>>2]|0; - HEAP8[$5>>0] = 0; - $223 = ((($5)) + 1|0); - HEAP8[$223>>0] = 0; - $224 = ((($5)) + 2|0); - HEAP8[$224>>0] = 0; - $225 = ((($5)) + 3|0); - HEAP8[$225>>0] = -1; - ;HEAP8[$$byval_copy112>>0]=HEAP8[$5>>0]|0;HEAP8[$$byval_copy112+1>>0]=HEAP8[$5+1>>0]|0;HEAP8[$$byval_copy112+2>>0]=HEAP8[$5+2>>0]|0;HEAP8[$$byval_copy112+3>>0]=HEAP8[$5+3>>0]|0; - _DrawRectangle($219,$221,$222,16,$$byval_copy112); - $226 = HEAP32[232>>2]|0; - $227 = HEAP32[236>>2]|0; - $228 = (($227) + -60)|0; - $229 = HEAP32[164>>2]|0; - HEAP8[$6>>0] = 0; - $230 = ((($6)) + 1|0); - HEAP8[$230>>0] = 0; - $231 = ((($6)) + 2|0); - HEAP8[$231>>0] = 0; - $232 = ((($6)) + 3|0); - HEAP8[$232>>0] = -1; - ;HEAP8[$$byval_copy112>>0]=HEAP8[$6>>0]|0;HEAP8[$$byval_copy112+1>>0]=HEAP8[$6+1>>0]|0;HEAP8[$$byval_copy112+2>>0]=HEAP8[$6+2>>0]|0;HEAP8[$$byval_copy112+3>>0]=HEAP8[$6+3>>0]|0; - _DrawRectangle($226,$228,16,$229,$$byval_copy112); - $233 = HEAP32[232>>2]|0; - $234 = (($233) + 240)|0; - $235 = HEAP32[236>>2]|0; - $236 = (($235) + -60)|0; - $237 = HEAP32[172>>2]|0; - HEAP8[$7>>0] = 0; - $238 = ((($7)) + 1|0); - HEAP8[$238>>0] = 0; - $239 = ((($7)) + 2|0); - HEAP8[$239>>0] = 0; - $240 = ((($7)) + 3|0); - HEAP8[$240>>0] = -1; - ;HEAP8[$$byval_copy112>>0]=HEAP8[$7>>0]|0;HEAP8[$$byval_copy112+1>>0]=HEAP8[$7+1>>0]|0;HEAP8[$$byval_copy112+2>>0]=HEAP8[$7+2>>0]|0;HEAP8[$$byval_copy112+3>>0]=HEAP8[$7+3>>0]|0; - _DrawRectangle($234,$236,16,$237,$$byval_copy112); - $241 = HEAP32[232>>2]|0; - $242 = HEAP32[236>>2]|0; - $243 = (($242) + 180)|0; - $244 = HEAP32[168>>2]|0; - HEAP8[$8>>0] = 0; - $245 = ((($8)) + 1|0); - HEAP8[$245>>0] = 0; - $246 = ((($8)) + 2|0); - HEAP8[$246>>0] = 0; - $247 = ((($8)) + 3|0); - HEAP8[$247>>0] = -1; - ;HEAP8[$$byval_copy112>>0]=HEAP8[$8>>0]|0;HEAP8[$$byval_copy112+1>>0]=HEAP8[$8+1>>0]|0;HEAP8[$$byval_copy112+2>>0]=HEAP8[$8+2>>0]|0;HEAP8[$$byval_copy112+3>>0]=HEAP8[$8+3>>0]|0; - _DrawRectangle($241,$243,$244,16,$$byval_copy112); - break; - } - default: { - $$off = (($194) + -3)|0; - $248 = ($$off>>>0)<(5); - if ($248) { - $249 = HEAP32[232>>2]|0; - $250 = HEAP32[236>>2]|0; - $251 = (($250) + -60)|0; - $252 = HEAP32[160>>2]|0; - HEAP8[$9>>0] = 0; - $253 = ((($9)) + 1|0); - HEAP8[$253>>0] = 0; - $254 = ((($9)) + 2|0); - HEAP8[$254>>0] = 0; - $255 = ((($9)) + 3|0); - HEAP8[$255>>0] = -1; - ;HEAP8[$$byval_copy112>>0]=HEAP8[$9>>0]|0;HEAP8[$$byval_copy112+1>>0]=HEAP8[$9+1>>0]|0;HEAP8[$$byval_copy112+2>>0]=HEAP8[$9+2>>0]|0;HEAP8[$$byval_copy112+3>>0]=HEAP8[$9+3>>0]|0; - _DrawRectangle($249,$251,$252,16,$$byval_copy112); - $256 = HEAP32[232>>2]|0; - $257 = HEAP32[236>>2]|0; - $258 = (($257) + -44)|0; - $259 = HEAP32[164>>2]|0; - $260 = (($259) + -32)|0; - HEAP8[$10>>0] = 0; - $261 = ((($10)) + 1|0); - HEAP8[$261>>0] = 0; - $262 = ((($10)) + 2|0); - HEAP8[$262>>0] = 0; - $263 = ((($10)) + 3|0); - HEAP8[$263>>0] = -1; - ;HEAP8[$$byval_copy112>>0]=HEAP8[$10>>0]|0;HEAP8[$$byval_copy112+1>>0]=HEAP8[$10+1>>0]|0;HEAP8[$$byval_copy112+2>>0]=HEAP8[$10+2>>0]|0;HEAP8[$$byval_copy112+3>>0]=HEAP8[$10+3>>0]|0; - _DrawRectangle($256,$258,16,$260,$$byval_copy112); - $264 = HEAP32[232>>2]|0; - $265 = (($264) + 240)|0; - $266 = HEAP32[236>>2]|0; - $267 = (($266) + -44)|0; - $268 = HEAP32[172>>2]|0; - $269 = (($268) + -32)|0; - HEAP8[$11>>0] = 0; - $270 = ((($11)) + 1|0); - HEAP8[$270>>0] = 0; - $271 = ((($11)) + 2|0); - HEAP8[$271>>0] = 0; - $272 = ((($11)) + 3|0); - HEAP8[$272>>0] = -1; - ;HEAP8[$$byval_copy112>>0]=HEAP8[$11>>0]|0;HEAP8[$$byval_copy112+1>>0]=HEAP8[$11+1>>0]|0;HEAP8[$$byval_copy112+2>>0]=HEAP8[$11+2>>0]|0;HEAP8[$$byval_copy112+3>>0]=HEAP8[$11+3>>0]|0; - _DrawRectangle($265,$267,16,$269,$$byval_copy112); - $273 = HEAP32[232>>2]|0; - $274 = HEAP32[236>>2]|0; - $275 = (($274) + 180)|0; - $276 = HEAP32[168>>2]|0; - HEAP8[$12>>0] = 0; - $277 = ((($12)) + 1|0); - HEAP8[$277>>0] = 0; - $278 = ((($12)) + 2|0); - HEAP8[$278>>0] = 0; - $279 = ((($12)) + 3|0); - HEAP8[$279>>0] = -1; - ;HEAP8[$$byval_copy112>>0]=HEAP8[$12>>0]|0;HEAP8[$$byval_copy112+1>>0]=HEAP8[$12+1>>0]|0;HEAP8[$$byval_copy112+2>>0]=HEAP8[$12+2>>0]|0;HEAP8[$$byval_copy112+3>>0]=HEAP8[$12+3>>0]|0; - _DrawRectangle($273,$275,$276,16,$$byval_copy112); - $280 = (_GetScreenWidth()|0); - $281 = (($280|0) / 2)&-1; - $282 = (($281) + -112)|0; - $283 = (_GetScreenHeight()|0); - $284 = (($283|0) / 2)&-1; - $285 = (($284) + -172)|0; - HEAP8[$13>>0] = -11; - $286 = ((($13)) + 1|0); - HEAP8[$286>>0] = -11; - $287 = ((($13)) + 2|0); - HEAP8[$287>>0] = -11; - $288 = ((($13)) + 3|0); - HEAP8[$288>>0] = -1; - ;HEAP8[$$byval_copy112>>0]=HEAP8[$13>>0]|0;HEAP8[$$byval_copy112+1>>0]=HEAP8[$13+1>>0]|0;HEAP8[$$byval_copy112+2>>0]=HEAP8[$13+2>>0]|0;HEAP8[$$byval_copy112+3>>0]=HEAP8[$13+3>>0]|0; - _DrawRectangle($282,$285,224,224,$$byval_copy112); - $289 = HEAP32[156>>2]|0; - $290 = (_SubText(10617,0,$289)|0); - $291 = (_GetScreenWidth()|0); - $292 = (($291|0) / 2)&-1; - $293 = (($292) + -44)|0; - $294 = (_GetScreenHeight()|0); - $295 = (($294|0) / 2)&-1; - $296 = (($295) + -12)|0; - HEAP8[$14>>0] = 0; - $297 = ((($14)) + 1|0); - HEAP8[$297>>0] = 0; - $298 = ((($14)) + 2|0); - HEAP8[$298>>0] = 0; - $299 = ((($14)) + 3|0); - HEAP8[$299>>0] = -1; - ;HEAP8[$$byval_copy112>>0]=HEAP8[$14>>0]|0;HEAP8[$$byval_copy112+1>>0]=HEAP8[$14+1>>0]|0;HEAP8[$$byval_copy112+2>>0]=HEAP8[$14+2>>0]|0;HEAP8[$$byval_copy112+3>>0]=HEAP8[$14+3>>0]|0; - _DrawText($290,$293,$296,50,$$byval_copy112); - $300 = HEAP32[180>>2]|0; - $301 = (_SubText(9560,0,$300)|0); - $302 = (_GetScreenWidth()|0); - $303 = (($302|0) / 2)&-1; - $304 = (_MeasureText(9560,30)|0); - $305 = (($304|0) / 2)&-1; - $306 = (($303) - ($305))|0; - $307 = HEAP32[236>>2]|0; - $308 = (($307) + 230)|0; - HEAP8[$15>>0] = -126; - $309 = ((($15)) + 1|0); - HEAP8[$309>>0] = -126; - $310 = ((($15)) + 2|0); - HEAP8[$310>>0] = -126; - $311 = ((($15)) + 3|0); - HEAP8[$311>>0] = -1; - ;HEAP8[$$byval_copy112>>0]=HEAP8[$15>>0]|0;HEAP8[$$byval_copy112+1>>0]=HEAP8[$15+1>>0]|0;HEAP8[$$byval_copy112+2>>0]=HEAP8[$15+2>>0]|0;HEAP8[$$byval_copy112+3>>0]=HEAP8[$15+3>>0]|0; - _DrawText($301,$306,$308,30,$$byval_copy112); - } - } - } - $312 = HEAP32[176>>2]|0; - $313 = ($312|0)==(4); - if ($313) { - $314 = HEAP32[216>>2]|0; - $315 = ($314|0)>(80); - if ($315) { - HEAP8[$17>>0] = 80; - $316 = ((($17)) + 1|0); - HEAP8[$316>>0] = 80; - $317 = ((($17)) + 2|0); - HEAP8[$317>>0] = 80; - $318 = ((($17)) + 3|0); - HEAP8[$318>>0] = -1; - $319 = +HEAPF32[184>>2]; - ;HEAP8[$$byval_copy112>>0]=HEAP8[$17>>0]|0;HEAP8[$$byval_copy112+1>>0]=HEAP8[$17+1>>0]|0;HEAP8[$$byval_copy112+2>>0]=HEAP8[$17+2>>0]|0;HEAP8[$$byval_copy112+3>>0]=HEAP8[$17+3>>0]|0; - _Fade($16,$$byval_copy112,$319); - ;HEAP8[$$byval_copy112>>0]=HEAP8[$16>>0]|0;HEAP8[$$byval_copy112+1>>0]=HEAP8[$16+1>>0]|0;HEAP8[$$byval_copy112+2>>0]=HEAP8[$16+2>>0]|0;HEAP8[$$byval_copy112+3>>0]=HEAP8[$16+3>>0]|0; - _DrawText(10624,50,50,40,$$byval_copy112); - $320 = HEAP32[152>>2]|0; - $321 = (_SubText(9688,0,$320)|0); - HEAPF32[$18>>2] = 60.0; - $322 = ((($18)) + 4|0); - HEAPF32[$322>>2] = 120.0; - $323 = HEAP32[(260)>>2]|0; - HEAP8[$20>>0] = -126; - $324 = ((($20)) + 1|0); - HEAP8[$324>>0] = -126; - $325 = ((($20)) + 2|0); - HEAP8[$325>>0] = -126; - $326 = ((($20)) + 3|0); - HEAP8[$326>>0] = -1; - $327 = +HEAPF32[184>>2]; - ;HEAP8[$$byval_copy112>>0]=HEAP8[$20>>0]|0;HEAP8[$$byval_copy112+1>>0]=HEAP8[$20+1>>0]|0;HEAP8[$$byval_copy112+2>>0]=HEAP8[$20+2>>0]|0;HEAP8[$$byval_copy112+3>>0]=HEAP8[$20+3>>0]|0; - _Fade($19,$$byval_copy112,$327); - dest=$$byval_copy76; src=240; stop=dest+44|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - ;HEAP32[$$byval_copy103>>2]=HEAP32[$18>>2]|0;HEAP32[$$byval_copy103+4>>2]=HEAP32[$18+4>>2]|0; - ;HEAP8[$$byval_copy112>>0]=HEAP8[$19>>0]|0;HEAP8[$$byval_copy112+1>>0]=HEAP8[$19+1>>0]|0;HEAP8[$$byval_copy112+2>>0]=HEAP8[$19+2>>0]|0;HEAP8[$$byval_copy112+3>>0]=HEAP8[$19+3>>0]|0; - _DrawTextEx($$byval_copy76,$321,$$byval_copy103,$323,0,$$byval_copy112); - $328 = HEAP32[216>>2]|0; - $329 = ($328|0)>(460); - if ($329) { - HEAP8[$22>>0] = -26; - $330 = ((($22)) + 1|0); - HEAP8[$330>>0] = 41; - $331 = ((($22)) + 2|0); - HEAP8[$331>>0] = 55; - $332 = ((($22)) + 3|0); - HEAP8[$332>>0] = -1; - $333 = +HEAPF32[184>>2]; - ;HEAP8[$$byval_copy112>>0]=HEAP8[$22>>0]|0;HEAP8[$$byval_copy112+1>>0]=HEAP8[$22+1>>0]|0;HEAP8[$$byval_copy112+2>>0]=HEAP8[$22+2>>0]|0;HEAP8[$$byval_copy112+3>>0]=HEAP8[$22+3>>0]|0; - _Fade($21,$$byval_copy112,$333); - ;HEAP8[$$byval_copy112>>0]=HEAP8[$21>>0]|0;HEAP8[$$byval_copy112+1>>0]=HEAP8[$21+1>>0]|0;HEAP8[$$byval_copy112+2>>0]=HEAP8[$21+2>>0]|0;HEAP8[$$byval_copy112+3>>0]=HEAP8[$21+3>>0]|0; - _DrawText(10645,70,318,60,$$byval_copy112); - $$pr289 = HEAP32[216>>2]|0; - $334 = ($$pr289|0)>(550); - if ($334) { - HEAP8[$24>>0] = 80; - $335 = ((($24)) + 1|0); - HEAP8[$335>>0] = 80; - $336 = ((($24)) + 2|0); - HEAP8[$336>>0] = 80; - $337 = ((($24)) + 3|0); - HEAP8[$337>>0] = -1; - $338 = +HEAPF32[184>>2]; - ;HEAP8[$$byval_copy112>>0]=HEAP8[$24>>0]|0;HEAP8[$$byval_copy112+1>>0]=HEAP8[$24+1>>0]|0;HEAP8[$$byval_copy112+2>>0]=HEAP8[$24+2>>0]|0;HEAP8[$$byval_copy112+3>>0]=HEAP8[$24+3>>0]|0; - _Fade($23,$$byval_copy112,$338); - ;HEAP8[$$byval_copy112>>0]=HEAP8[$23>>0]|0;HEAP8[$$byval_copy112+1>>0]=HEAP8[$23+1>>0]|0;HEAP8[$$byval_copy112+2>>0]=HEAP8[$23+2>>0]|0;HEAP8[$$byval_copy112+3>>0]=HEAP8[$23+3>>0]|0; - _DrawText(10659,870,50,40,$$byval_copy112); - $339 = HEAP32[216>>2]|0; - $340 = ($339|0)>(600); - if ($340) { - HEAP32[$25>>2] = 0; - $341 = ((($25)) + 4|0); - HEAP32[$341>>2] = 0; - $342 = ((($25)) + 8|0); - HEAP32[$342>>2] = 160; - $343 = ((($25)) + 12|0); - HEAP32[$343>>2] = 160; - HEAPF32[$26>>2] = 810.0; - $344 = ((($26)) + 4|0); - HEAPF32[$344>>2] = 130.0; - HEAP32[$28>>2] = -1; - $345 = +HEAPF32[184>>2]; - $346 = $345 * 0.60000002384185791; - ;HEAP8[$$byval_copy112>>0]=HEAP8[$28>>0]|0;HEAP8[$$byval_copy112+1>>0]=HEAP8[$28+1>>0]|0;HEAP8[$$byval_copy112+2>>0]=HEAP8[$28+2>>0]|0;HEAP8[$$byval_copy112+3>>0]=HEAP8[$28+3>>0]|0; - _Fade($27,$$byval_copy112,$346); - ;HEAP32[$position$byval_copy>>2]=HEAP32[284>>2]|0;HEAP32[$position$byval_copy+4>>2]=HEAP32[284+4>>2]|0;HEAP32[$position$byval_copy+8>>2]=HEAP32[284+8>>2]|0;HEAP32[$position$byval_copy+12>>2]=HEAP32[284+12>>2]|0;HEAP32[$position$byval_copy+16>>2]=HEAP32[284+16>>2]|0; - ;HEAP32[$$byval_copy76>>2]=HEAP32[$25>>2]|0;HEAP32[$$byval_copy76+4>>2]=HEAP32[$25+4>>2]|0;HEAP32[$$byval_copy76+8>>2]=HEAP32[$25+8>>2]|0;HEAP32[$$byval_copy76+12>>2]=HEAP32[$25+12>>2]|0; - ;HEAP32[$$byval_copy103>>2]=HEAP32[$26>>2]|0;HEAP32[$$byval_copy103+4>>2]=HEAP32[$26+4>>2]|0; - ;HEAP8[$$byval_copy112>>0]=HEAP8[$27>>0]|0;HEAP8[$$byval_copy112+1>>0]=HEAP8[$27+1>>0]|0;HEAP8[$$byval_copy112+2>>0]=HEAP8[$27+2>>0]|0;HEAP8[$$byval_copy112+3>>0]=HEAP8[$27+3>>0]|0; - _DrawTextureRec($position$byval_copy,$$byval_copy76,$$byval_copy103,$$byval_copy112); - $$pr290 = HEAP32[216>>2]|0; - $347 = ($$pr290|0)>(640); - if ($347) { - HEAP32[$29>>2] = 160; - $348 = ((($29)) + 4|0); - HEAP32[$348>>2] = 0; - $349 = ((($29)) + 8|0); - HEAP32[$349>>2] = 160; - $350 = ((($29)) + 12|0); - HEAP32[$350>>2] = 160; - HEAPF32[$30>>2] = 950.0; - $351 = ((($30)) + 4|0); - HEAPF32[$351>>2] = 130.0; - HEAP32[$32>>2] = -1; - $352 = +HEAPF32[184>>2]; - $353 = $352 * 0.60000002384185791; - ;HEAP8[$$byval_copy112>>0]=HEAP8[$32>>0]|0;HEAP8[$$byval_copy112+1>>0]=HEAP8[$32+1>>0]|0;HEAP8[$$byval_copy112+2>>0]=HEAP8[$32+2>>0]|0;HEAP8[$$byval_copy112+3>>0]=HEAP8[$32+3>>0]|0; - _Fade($31,$$byval_copy112,$353); - ;HEAP32[$position$byval_copy>>2]=HEAP32[284>>2]|0;HEAP32[$position$byval_copy+4>>2]=HEAP32[284+4>>2]|0;HEAP32[$position$byval_copy+8>>2]=HEAP32[284+8>>2]|0;HEAP32[$position$byval_copy+12>>2]=HEAP32[284+12>>2]|0;HEAP32[$position$byval_copy+16>>2]=HEAP32[284+16>>2]|0; - ;HEAP32[$$byval_copy76>>2]=HEAP32[$29>>2]|0;HEAP32[$$byval_copy76+4>>2]=HEAP32[$29+4>>2]|0;HEAP32[$$byval_copy76+8>>2]=HEAP32[$29+8>>2]|0;HEAP32[$$byval_copy76+12>>2]=HEAP32[$29+12>>2]|0; - ;HEAP32[$$byval_copy103>>2]=HEAP32[$30>>2]|0;HEAP32[$$byval_copy103+4>>2]=HEAP32[$30+4>>2]|0; - ;HEAP8[$$byval_copy112>>0]=HEAP8[$31>>0]|0;HEAP8[$$byval_copy112+1>>0]=HEAP8[$31+1>>0]|0;HEAP8[$$byval_copy112+2>>0]=HEAP8[$31+2>>0]|0;HEAP8[$$byval_copy112+3>>0]=HEAP8[$31+3>>0]|0; - _DrawTextureRec($position$byval_copy,$$byval_copy76,$$byval_copy103,$$byval_copy112); - $$pr293$pr = HEAP32[216>>2]|0; - $354 = ($$pr293$pr|0)>(680); - if ($354) { - HEAP32[$33>>2] = 320; - $355 = ((($33)) + 4|0); - HEAP32[$355>>2] = 0; - $356 = ((($33)) + 8|0); - HEAP32[$356>>2] = 160; - $357 = ((($33)) + 12|0); - HEAP32[$357>>2] = 160; - HEAPF32[$34>>2] = 1090.0; - $358 = ((($34)) + 4|0); - HEAPF32[$358>>2] = 130.0; - HEAP32[$36>>2] = -1; - $359 = +HEAPF32[184>>2]; - $360 = $359 * 0.60000002384185791; - ;HEAP8[$$byval_copy112>>0]=HEAP8[$36>>0]|0;HEAP8[$$byval_copy112+1>>0]=HEAP8[$36+1>>0]|0;HEAP8[$$byval_copy112+2>>0]=HEAP8[$36+2>>0]|0;HEAP8[$$byval_copy112+3>>0]=HEAP8[$36+3>>0]|0; - _Fade($35,$$byval_copy112,$360); - ;HEAP32[$position$byval_copy>>2]=HEAP32[284>>2]|0;HEAP32[$position$byval_copy+4>>2]=HEAP32[284+4>>2]|0;HEAP32[$position$byval_copy+8>>2]=HEAP32[284+8>>2]|0;HEAP32[$position$byval_copy+12>>2]=HEAP32[284+12>>2]|0;HEAP32[$position$byval_copy+16>>2]=HEAP32[284+16>>2]|0; - ;HEAP32[$$byval_copy76>>2]=HEAP32[$33>>2]|0;HEAP32[$$byval_copy76+4>>2]=HEAP32[$33+4>>2]|0;HEAP32[$$byval_copy76+8>>2]=HEAP32[$33+8>>2]|0;HEAP32[$$byval_copy76+12>>2]=HEAP32[$33+12>>2]|0; - ;HEAP32[$$byval_copy103>>2]=HEAP32[$34>>2]|0;HEAP32[$$byval_copy103+4>>2]=HEAP32[$34+4>>2]|0; - ;HEAP8[$$byval_copy112>>0]=HEAP8[$35>>0]|0;HEAP8[$$byval_copy112+1>>0]=HEAP8[$35+1>>0]|0;HEAP8[$$byval_copy112+2>>0]=HEAP8[$35+2>>0]|0;HEAP8[$$byval_copy112+3>>0]=HEAP8[$35+3>>0]|0; - _DrawTextureRec($position$byval_copy,$$byval_copy76,$$byval_copy103,$$byval_copy112); - $$pr296$pr = HEAP32[216>>2]|0; - $361 = ($$pr296$pr|0)>(730); - if ($361) { - HEAP32[$37>>2] = 480; - $362 = ((($37)) + 4|0); - HEAP32[$362>>2] = 0; - $363 = ((($37)) + 8|0); - HEAP32[$363>>2] = 160; - $364 = ((($37)) + 12|0); - HEAP32[$364>>2] = 160; - HEAPF32[$38>>2] = 880.0; - $365 = ((($38)) + 4|0); - HEAPF32[$365>>2] = 300.0; - HEAP32[$40>>2] = -1; - $366 = +HEAPF32[184>>2]; - $367 = $366 * 0.60000002384185791; - ;HEAP8[$$byval_copy112>>0]=HEAP8[$40>>0]|0;HEAP8[$$byval_copy112+1>>0]=HEAP8[$40+1>>0]|0;HEAP8[$$byval_copy112+2>>0]=HEAP8[$40+2>>0]|0;HEAP8[$$byval_copy112+3>>0]=HEAP8[$40+3>>0]|0; - _Fade($39,$$byval_copy112,$367); - ;HEAP32[$position$byval_copy>>2]=HEAP32[284>>2]|0;HEAP32[$position$byval_copy+4>>2]=HEAP32[284+4>>2]|0;HEAP32[$position$byval_copy+8>>2]=HEAP32[284+8>>2]|0;HEAP32[$position$byval_copy+12>>2]=HEAP32[284+12>>2]|0;HEAP32[$position$byval_copy+16>>2]=HEAP32[284+16>>2]|0; - ;HEAP32[$$byval_copy76>>2]=HEAP32[$37>>2]|0;HEAP32[$$byval_copy76+4>>2]=HEAP32[$37+4>>2]|0;HEAP32[$$byval_copy76+8>>2]=HEAP32[$37+8>>2]|0;HEAP32[$$byval_copy76+12>>2]=HEAP32[$37+12>>2]|0; - ;HEAP32[$$byval_copy103>>2]=HEAP32[$38>>2]|0;HEAP32[$$byval_copy103+4>>2]=HEAP32[$38+4>>2]|0; - ;HEAP8[$$byval_copy112>>0]=HEAP8[$39>>0]|0;HEAP8[$$byval_copy112+1>>0]=HEAP8[$39+1>>0]|0;HEAP8[$$byval_copy112+2>>0]=HEAP8[$39+2>>0]|0;HEAP8[$$byval_copy112+3>>0]=HEAP8[$39+3>>0]|0; - _DrawTextureRec($position$byval_copy,$$byval_copy76,$$byval_copy103,$$byval_copy112); - $$pr299$pr$pr = HEAP32[216>>2]|0; - $368 = ($$pr299$pr$pr|0)>(780); - if ($368) { - HEAP32[$41>>2] = 640; - $369 = ((($41)) + 4|0); - HEAP32[$369>>2] = 0; - $370 = ((($41)) + 8|0); - HEAP32[$370>>2] = 160; - $371 = ((($41)) + 12|0); - HEAP32[$371>>2] = 160; - HEAPF32[$42>>2] = 1020.0; - $372 = ((($42)) + 4|0); - HEAPF32[$372>>2] = 300.0; - HEAP32[$44>>2] = -1; - $373 = +HEAPF32[184>>2]; - $374 = $373 * 0.60000002384185791; - ;HEAP8[$$byval_copy112>>0]=HEAP8[$44>>0]|0;HEAP8[$$byval_copy112+1>>0]=HEAP8[$44+1>>0]|0;HEAP8[$$byval_copy112+2>>0]=HEAP8[$44+2>>0]|0;HEAP8[$$byval_copy112+3>>0]=HEAP8[$44+3>>0]|0; - _Fade($43,$$byval_copy112,$374); - ;HEAP32[$position$byval_copy>>2]=HEAP32[284>>2]|0;HEAP32[$position$byval_copy+4>>2]=HEAP32[284+4>>2]|0;HEAP32[$position$byval_copy+8>>2]=HEAP32[284+8>>2]|0;HEAP32[$position$byval_copy+12>>2]=HEAP32[284+12>>2]|0;HEAP32[$position$byval_copy+16>>2]=HEAP32[284+16>>2]|0; - ;HEAP32[$$byval_copy76>>2]=HEAP32[$41>>2]|0;HEAP32[$$byval_copy76+4>>2]=HEAP32[$41+4>>2]|0;HEAP32[$$byval_copy76+8>>2]=HEAP32[$41+8>>2]|0;HEAP32[$$byval_copy76+12>>2]=HEAP32[$41+12>>2]|0; - ;HEAP32[$$byval_copy103>>2]=HEAP32[$42>>2]|0;HEAP32[$$byval_copy103+4>>2]=HEAP32[$42+4>>2]|0; - ;HEAP8[$$byval_copy112>>0]=HEAP8[$43>>0]|0;HEAP8[$$byval_copy112+1>>0]=HEAP8[$43+1>>0]|0;HEAP8[$$byval_copy112+2>>0]=HEAP8[$43+2>>0]|0;HEAP8[$$byval_copy112+3>>0]=HEAP8[$43+3>>0]|0; - _DrawTextureRec($position$byval_copy,$$byval_copy76,$$byval_copy103,$$byval_copy112); - $$pr302$pr$pr = HEAP32[216>>2]|0; - $375 = ($$pr302$pr$pr|0)>(850); - if ($375) { - HEAP32[$45>>2] = 800; - $376 = ((($45)) + 4|0); - HEAP32[$376>>2] = 0; - $377 = ((($45)) + 8|0); - HEAP32[$377>>2] = 160; - $378 = ((($45)) + 12|0); - HEAP32[$378>>2] = 160; - HEAPF32[$46>>2] = 960.0; - $379 = ((($46)) + 4|0); - HEAPF32[$379>>2] = 450.0; - HEAP32[$48>>2] = -1; - $380 = +HEAPF32[184>>2]; - $381 = $380 * 0.60000002384185791; - ;HEAP8[$$byval_copy112>>0]=HEAP8[$48>>0]|0;HEAP8[$$byval_copy112+1>>0]=HEAP8[$48+1>>0]|0;HEAP8[$$byval_copy112+2>>0]=HEAP8[$48+2>>0]|0;HEAP8[$$byval_copy112+3>>0]=HEAP8[$48+3>>0]|0; - _Fade($47,$$byval_copy112,$381); - ;HEAP32[$position$byval_copy>>2]=HEAP32[284>>2]|0;HEAP32[$position$byval_copy+4>>2]=HEAP32[284+4>>2]|0;HEAP32[$position$byval_copy+8>>2]=HEAP32[284+8>>2]|0;HEAP32[$position$byval_copy+12>>2]=HEAP32[284+12>>2]|0;HEAP32[$position$byval_copy+16>>2]=HEAP32[284+16>>2]|0; - ;HEAP32[$$byval_copy76>>2]=HEAP32[$45>>2]|0;HEAP32[$$byval_copy76+4>>2]=HEAP32[$45+4>>2]|0;HEAP32[$$byval_copy76+8>>2]=HEAP32[$45+8>>2]|0;HEAP32[$$byval_copy76+12>>2]=HEAP32[$45+12>>2]|0; - ;HEAP32[$$byval_copy103>>2]=HEAP32[$46>>2]|0;HEAP32[$$byval_copy103+4>>2]=HEAP32[$46+4>>2]|0; - ;HEAP8[$$byval_copy112>>0]=HEAP8[$47>>0]|0;HEAP8[$$byval_copy112+1>>0]=HEAP8[$47+1>>0]|0;HEAP8[$$byval_copy112+2>>0]=HEAP8[$47+2>>0]|0;HEAP8[$$byval_copy112+3>>0]=HEAP8[$47+3>>0]|0; - _DrawTextureRec($position$byval_copy,$$byval_copy76,$$byval_copy103,$$byval_copy112); - } - } - } - } - } - } - } - } - } - $$pr305 = HEAP32[176>>2]|0; - $382 = $$pr305; - } else { - $382 = $312; - } - $383 = ($382|0)==(5); - $384 = HEAP32[216>>2]|0; - $385 = ($384|0)>(80); - $or$cond = $383 & $385; - if ($or$cond) { - HEAP8[$50>>0] = 80; - $386 = ((($50)) + 1|0); - HEAP8[$386>>0] = 80; - $387 = ((($50)) + 2|0); - HEAP8[$387>>0] = 80; - $388 = ((($50)) + 3|0); - HEAP8[$388>>0] = -1; - $389 = +HEAPF32[184>>2]; - ;HEAP8[$$byval_copy112>>0]=HEAP8[$50>>0]|0;HEAP8[$$byval_copy112+1>>0]=HEAP8[$50+1>>0]|0;HEAP8[$$byval_copy112+2>>0]=HEAP8[$50+2>>0]|0;HEAP8[$$byval_copy112+3>>0]=HEAP8[$50+3>>0]|0; - _Fade($49,$$byval_copy112,$389); - ;HEAP8[$$byval_copy112>>0]=HEAP8[$49>>0]|0;HEAP8[$$byval_copy112+1>>0]=HEAP8[$49+1>>0]|0;HEAP8[$$byval_copy112+2>>0]=HEAP8[$49+2>>0]|0;HEAP8[$$byval_copy112+3>>0]=HEAP8[$49+3>>0]|0; - _DrawText(10674,100,50,40,$$byval_copy112); - $$pr306 = HEAP32[216>>2]|0; - $390 = ($$pr306|0)>(120); - if ($390) { - $391 = ($$pr306|0)>(130); - if ($391) { - HEAP8[$52>>0] = 0; - $392 = ((($52)) + 1|0); - HEAP8[$392>>0] = -28; - $393 = ((($52)) + 2|0); - HEAP8[$393>>0] = 48; - $394 = ((($52)) + 3|0); - HEAP8[$394>>0] = -1; - $395 = +HEAPF32[184>>2]; - ;HEAP8[$$byval_copy112>>0]=HEAP8[$52>>0]|0;HEAP8[$$byval_copy112+1>>0]=HEAP8[$52+1>>0]|0;HEAP8[$$byval_copy112+2>>0]=HEAP8[$52+2>>0]|0;HEAP8[$$byval_copy112+3>>0]=HEAP8[$52+3>>0]|0; - _Fade($51,$$byval_copy112,$395); - ;HEAP8[$$byval_copy112>>0]=HEAP8[$51>>0]|0;HEAP8[$$byval_copy112+1>>0]=HEAP8[$51+1>>0]|0;HEAP8[$$byval_copy112+2>>0]=HEAP8[$51+2>>0]|0;HEAP8[$$byval_copy112+3>>0]=HEAP8[$51+3>>0]|0; - _DrawCircle(140,240,80.0,$$byval_copy112); - } - $396 = HEAP32[216>>2]|0; - $397 = ($396|0)>(150); - if ($397) { - HEAP8[$54>>0] = -66; - $398 = ((($54)) + 1|0); - HEAP8[$398>>0] = 33; - $399 = ((($54)) + 2|0); - HEAP8[$399>>0] = 55; - $400 = ((($54)) + 3|0); - HEAP8[$400>>0] = -1; - $401 = +HEAPF32[184>>2]; - ;HEAP8[$$byval_copy112>>0]=HEAP8[$54>>0]|0;HEAP8[$$byval_copy112+1>>0]=HEAP8[$54+1>>0]|0;HEAP8[$$byval_copy112+2>>0]=HEAP8[$54+2>>0]|0;HEAP8[$$byval_copy112+3>>0]=HEAP8[$54+3>>0]|0; - _Fade($53,$$byval_copy112,$401); - HEAP8[$56>>0] = -1; - $402 = ((($56)) + 1|0); - HEAP8[$402>>0] = -53; - $403 = ((($56)) + 2|0); - HEAP8[$403>>0] = 0; - $404 = ((($56)) + 3|0); - HEAP8[$404>>0] = -1; - $405 = +HEAPF32[184>>2]; - ;HEAP8[$$byval_copy112>>0]=HEAP8[$56>>0]|0;HEAP8[$$byval_copy112+1>>0]=HEAP8[$56+1>>0]|0;HEAP8[$$byval_copy112+2>>0]=HEAP8[$56+2>>0]|0;HEAP8[$$byval_copy112+3>>0]=HEAP8[$56+3>>0]|0; - _Fade($55,$$byval_copy112,$405); - ;HEAP8[$$byval_copy103>>0]=HEAP8[$53>>0]|0;HEAP8[$$byval_copy103+1>>0]=HEAP8[$53+1>>0]|0;HEAP8[$$byval_copy103+2>>0]=HEAP8[$53+2>>0]|0;HEAP8[$$byval_copy103+3>>0]=HEAP8[$53+3>>0]|0; - ;HEAP8[$$byval_copy112>>0]=HEAP8[$55>>0]|0;HEAP8[$$byval_copy112+1>>0]=HEAP8[$55+1>>0]|0;HEAP8[$$byval_copy112+2>>0]=HEAP8[$55+2>>0]|0;HEAP8[$$byval_copy112+3>>0]=HEAP8[$55+3>>0]|0; - _DrawRectangleGradient(220,140,250,130,$$byval_copy103,$$byval_copy112); - $$pr308 = HEAP32[216>>2]|0; - $406 = ($$pr308|0)>(170); - if ($406) { - HEAP8[$58>>0] = 0; - $407 = ((($58)) + 1|0); - HEAP8[$407>>0] = 82; - $408 = ((($58)) + 2|0); - HEAP8[$408>>0] = -84; - $409 = ((($58)) + 3|0); - HEAP8[$409>>0] = -1; - $410 = +HEAPF32[184>>2]; - ;HEAP8[$$byval_copy112>>0]=HEAP8[$58>>0]|0;HEAP8[$$byval_copy112+1>>0]=HEAP8[$58+1>>0]|0;HEAP8[$$byval_copy112+2>>0]=HEAP8[$58+2>>0]|0;HEAP8[$$byval_copy112+3>>0]=HEAP8[$58+3>>0]|0; - _Fade($57,$$byval_copy112,$410); - ;HEAP8[$$byval_copy112>>0]=HEAP8[$57>>0]|0;HEAP8[$$byval_copy112+1>>0]=HEAP8[$57+1>>0]|0;HEAP8[$$byval_copy112+2>>0]=HEAP8[$57+2>>0]|0;HEAP8[$$byval_copy112+3>>0]=HEAP8[$57+3>>0]|0; - _DrawCircleLines(380,330,80.0,$$byval_copy112); - $$pr311$pr = HEAP32[216>>2]|0; - $411 = ($$pr311$pr|0)>(190); - if ($411) { - HEAPF32[$59>>2] = 130.0; - $412 = ((($59)) + 4|0); - HEAPF32[$412>>2] = 350.0; - HEAPF32[$60>>2] = 40.0; - $413 = ((($60)) + 4|0); - HEAPF32[$413>>2] = 520.0; - HEAPF32[$61>>2] = 240.0; - $414 = ((($61)) + 4|0); - HEAPF32[$414>>2] = 520.0; - HEAP8[$63>>0] = -121; - $415 = ((($63)) + 1|0); - HEAP8[$415>>0] = 60; - $416 = ((($63)) + 2|0); - HEAP8[$416>>0] = -66; - $417 = ((($63)) + 3|0); - HEAP8[$417>>0] = -1; - $418 = +HEAPF32[184>>2]; - ;HEAP8[$$byval_copy112>>0]=HEAP8[$63>>0]|0;HEAP8[$$byval_copy112+1>>0]=HEAP8[$63+1>>0]|0;HEAP8[$$byval_copy112+2>>0]=HEAP8[$63+2>>0]|0;HEAP8[$$byval_copy112+3>>0]=HEAP8[$63+3>>0]|0; - _Fade($62,$$byval_copy112,$418); - ;HEAP32[$position$byval_copy>>2]=HEAP32[$59>>2]|0;HEAP32[$position$byval_copy+4>>2]=HEAP32[$59+4>>2]|0; - ;HEAP32[$$byval_copy76>>2]=HEAP32[$60>>2]|0;HEAP32[$$byval_copy76+4>>2]=HEAP32[$60+4>>2]|0; - ;HEAP32[$$byval_copy103>>2]=HEAP32[$61>>2]|0;HEAP32[$$byval_copy103+4>>2]=HEAP32[$61+4>>2]|0; - ;HEAP8[$$byval_copy112>>0]=HEAP8[$62>>0]|0;HEAP8[$$byval_copy112+1>>0]=HEAP8[$62+1>>0]|0;HEAP8[$$byval_copy112+2>>0]=HEAP8[$62+2>>0]|0;HEAP8[$$byval_copy112+3>>0]=HEAP8[$62+3>>0]|0; - _DrawTriangle($position$byval_copy,$$byval_copy76,$$byval_copy103,$$byval_copy112); - $$pr314$pr = HEAP32[216>>2]|0; - $419 = ($$pr314$pr|0)>(210); - if ($419) { - HEAP8[$65>>0] = -26; - $420 = ((($65)) + 1|0); - HEAP8[$420>>0] = 41; - $421 = ((($65)) + 2|0); - HEAP8[$421>>0] = 55; - $422 = ((($65)) + 3|0); - HEAP8[$422>>0] = -1; - $423 = +HEAPF32[184>>2]; - ;HEAP8[$$byval_copy112>>0]=HEAP8[$65>>0]|0;HEAP8[$$byval_copy112+1>>0]=HEAP8[$65+1>>0]|0;HEAP8[$$byval_copy112+2>>0]=HEAP8[$65+2>>0]|0;HEAP8[$$byval_copy112+3>>0]=HEAP8[$65+3>>0]|0; - _Fade($64,$$byval_copy112,$423); - ;HEAP8[$$byval_copy112>>0]=HEAP8[$64>>0]|0;HEAP8[$$byval_copy112+1>>0]=HEAP8[$64+1>>0]|0;HEAP8[$$byval_copy112+2>>0]=HEAP8[$64+2>>0]|0;HEAP8[$$byval_copy112+3>>0]=HEAP8[$64+3>>0]|0; - _DrawRectangle(230,300,200,90,$$byval_copy112); - $$pr317$pr$pr = HEAP32[216>>2]|0; - $424 = ($$pr317$pr$pr|0)>(230); - if ($424) { - HEAPF32[$66>>2] = 210.0; - $425 = ((($66)) + 4|0); - HEAPF32[$425>>2] = 560.0; - HEAP8[$68>>0] = 127; - $426 = ((($68)) + 1|0); - HEAP8[$426>>0] = 106; - $427 = ((($68)) + 2|0); - HEAP8[$427>>0] = 79; - $428 = ((($68)) + 3|0); - HEAP8[$428>>0] = -1; - $429 = +HEAPF32[184>>2]; - ;HEAP8[$$byval_copy112>>0]=HEAP8[$68>>0]|0;HEAP8[$$byval_copy112+1>>0]=HEAP8[$68+1>>0]|0;HEAP8[$$byval_copy112+2>>0]=HEAP8[$68+2>>0]|0;HEAP8[$$byval_copy112+3>>0]=HEAP8[$68+3>>0]|0; - _Fade($67,$$byval_copy112,$429); - ;HEAP32[$$byval_copy103>>2]=HEAP32[$66>>2]|0;HEAP32[$$byval_copy103+4>>2]=HEAP32[$66+4>>2]|0; - ;HEAP8[$$byval_copy112>>0]=HEAP8[$67>>0]|0;HEAP8[$$byval_copy112+1>>0]=HEAP8[$67+1>>0]|0;HEAP8[$$byval_copy112+2>>0]=HEAP8[$67+2>>0]|0;HEAP8[$$byval_copy112+3>>0]=HEAP8[$67+3>>0]|0; - _DrawPoly($$byval_copy103,6,90.0,0.0,$$byval_copy112); - $$pr320$pr$pr = HEAP32[216>>2]|0; - $430 = ($$pr320$pr$pr|0)>(250); - if ($430) { - HEAP8[$70>>0] = 0; - $431 = ((($70)) + 1|0); - HEAP8[$431>>0] = -28; - $432 = ((($70)) + 2|0); - HEAP8[$432>>0] = 48; - $433 = ((($70)) + 3|0); - HEAP8[$433>>0] = -1; - $434 = +HEAPF32[184>>2]; - ;HEAP8[$$byval_copy112>>0]=HEAP8[$70>>0]|0;HEAP8[$$byval_copy112+1>>0]=HEAP8[$70+1>>0]|0;HEAP8[$$byval_copy112+2>>0]=HEAP8[$70+2>>0]|0;HEAP8[$$byval_copy112+3>>0]=HEAP8[$70+3>>0]|0; - _Fade($69,$$byval_copy112,$434); - HEAP8[$72>>0] = 102; - $435 = ((($72)) + 1|0); - HEAP8[$435>>0] = -65; - $436 = ((($72)) + 2|0); - HEAP8[$436>>0] = -1; - $437 = ((($72)) + 3|0); - HEAP8[$437>>0] = -1; - $438 = +HEAPF32[184>>2]; - ;HEAP8[$$byval_copy112>>0]=HEAP8[$72>>0]|0;HEAP8[$$byval_copy112+1>>0]=HEAP8[$72+1>>0]|0;HEAP8[$$byval_copy112+2>>0]=HEAP8[$72+2>>0]|0;HEAP8[$$byval_copy112+3>>0]=HEAP8[$72+3>>0]|0; - _Fade($71,$$byval_copy112,$438); - ;HEAP8[$$byval_copy103>>0]=HEAP8[$69>>0]|0;HEAP8[$$byval_copy103+1>>0]=HEAP8[$69+1>>0]|0;HEAP8[$$byval_copy103+2>>0]=HEAP8[$69+2>>0]|0;HEAP8[$$byval_copy103+3>>0]=HEAP8[$69+3>>0]|0; - ;HEAP8[$$byval_copy112>>0]=HEAP8[$71>>0]|0;HEAP8[$$byval_copy112+1>>0]=HEAP8[$71+1>>0]|0;HEAP8[$$byval_copy112+2>>0]=HEAP8[$71+2>>0]|0;HEAP8[$$byval_copy112+3>>0]=HEAP8[$71+3>>0]|0; - _DrawCircleGradient(240,370,60.0,$$byval_copy103,$$byval_copy112); - $$pr323$pr$pr = HEAP32[216>>2]|0; - $439 = ($$pr323$pr$pr|0)>(300); - if ($439) { - HEAP32[$74>>2] = -1; - $440 = +HEAPF32[184>>2]; - ;HEAP8[$$byval_copy112>>0]=HEAP8[$74>>0]|0;HEAP8[$$byval_copy112+1>>0]=HEAP8[$74+1>>0]|0;HEAP8[$$byval_copy112+2>>0]=HEAP8[$74+2>>0]|0;HEAP8[$$byval_copy112+3>>0]=HEAP8[$74+3>>0]|0; - _Fade($73,$$byval_copy112,$440); - ;HEAP32[$$byval_copy103>>2]=HEAP32[304>>2]|0;HEAP32[$$byval_copy103+4>>2]=HEAP32[304+4>>2]|0;HEAP32[$$byval_copy103+8>>2]=HEAP32[304+8>>2]|0;HEAP32[$$byval_copy103+12>>2]=HEAP32[304+12>>2]|0;HEAP32[$$byval_copy103+16>>2]=HEAP32[304+16>>2]|0; - ;HEAP8[$$byval_copy112>>0]=HEAP8[$73>>0]|0;HEAP8[$$byval_copy112+1>>0]=HEAP8[$73+1>>0]|0;HEAP8[$$byval_copy112+2>>0]=HEAP8[$73+2>>0]|0;HEAP8[$$byval_copy112+3>>0]=HEAP8[$73+3>>0]|0; - _DrawTexture($$byval_copy103,100,250,$$byval_copy112); - $$pr326$pr$pr = HEAP32[216>>2]|0; - $441 = ($$pr326$pr$pr|0)>(360); - if ($441) { - HEAP32[$76>>2] = -1; - $442 = +HEAPF32[184>>2]; - ;HEAP8[$$byval_copy112>>0]=HEAP8[$76>>0]|0;HEAP8[$$byval_copy112+1>>0]=HEAP8[$76+1>>0]|0;HEAP8[$$byval_copy112+2>>0]=HEAP8[$76+2>>0]|0;HEAP8[$$byval_copy112+3>>0]=HEAP8[$76+3>>0]|0; - _Fade($75,$$byval_copy112,$442); - ;HEAP8[$$byval_copy112>>0]=HEAP8[$75>>0]|0;HEAP8[$$byval_copy112+1>>0]=HEAP8[$75+1>>0]|0;HEAP8[$$byval_copy112+2>>0]=HEAP8[$75+2>>0]|0;HEAP8[$$byval_copy112+3>>0]=HEAP8[$75+3>>0]|0; - _DrawText(10689,150,410,80,$$byval_copy112); - $$pr329$pr$pr$pr = HEAP32[216>>2]|0; - $443 = ($$pr329$pr$pr$pr|0)>(440); - if ($443) { - HEAP8[$78>>0] = 80; - $444 = ((($78)) + 1|0); - HEAP8[$444>>0] = 80; - $445 = ((($78)) + 2|0); - HEAP8[$445>>0] = 80; - $446 = ((($78)) + 3|0); - HEAP8[$446>>0] = -1; - $447 = +HEAPF32[184>>2]; - ;HEAP8[$$byval_copy112>>0]=HEAP8[$78>>0]|0;HEAP8[$$byval_copy112+1>>0]=HEAP8[$78+1>>0]|0;HEAP8[$$byval_copy112+2>>0]=HEAP8[$78+2>>0]|0;HEAP8[$$byval_copy112+3>>0]=HEAP8[$78+3>>0]|0; - _Fade($77,$$byval_copy112,$447); - ;HEAP8[$$byval_copy112>>0]=HEAP8[$77>>0]|0;HEAP8[$$byval_copy112+1>>0]=HEAP8[$77+1>>0]|0;HEAP8[$$byval_copy112+2>>0]=HEAP8[$77+2>>0]|0;HEAP8[$$byval_copy112+3>>0]=HEAP8[$77+3>>0]|0; - _DrawText(10694,840,50,40,$$byval_copy112); - dest=$$byval_copy112; src=324; stop=dest+36|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _Begin3dMode($$byval_copy112); - HEAPF32[$79>>2] = 0.0; - $448 = ((($79)) + 4|0); - HEAPF32[$448>>2] = 1.0; - $449 = ((($79)) + 8|0); - HEAPF32[$449>>2] = 0.0; - $450 = +HEAPF32[192>>2]; - HEAPF32[$80>>2] = 1.0; - $451 = ((($80)) + 4|0); - HEAPF32[$451>>2] = 1.0; - $452 = ((($80)) + 8|0); - HEAPF32[$452>>2] = 1.0; - HEAP32[$82>>2] = -1; - $453 = +HEAPF32[184>>2]; - ;HEAP8[$$byval_copy112>>0]=HEAP8[$82>>0]|0;HEAP8[$$byval_copy112+1>>0]=HEAP8[$82+1>>0]|0;HEAP8[$$byval_copy112+2>>0]=HEAP8[$82+2>>0]|0;HEAP8[$$byval_copy112+3>>0]=HEAP8[$82+3>>0]|0; - _Fade($81,$$byval_copy112,$453); - _memcpy(($dwarf$byval_copy|0),(360|0),216)|0; - ;HEAP32[$position$byval_copy>>2]=HEAP32[596>>2]|0;HEAP32[$position$byval_copy+4>>2]=HEAP32[596+4>>2]|0;HEAP32[$position$byval_copy+8>>2]=HEAP32[596+8>>2]|0; - ;HEAP32[$$byval_copy76>>2]=HEAP32[$79>>2]|0;HEAP32[$$byval_copy76+4>>2]=HEAP32[$79+4>>2]|0;HEAP32[$$byval_copy76+8>>2]=HEAP32[$79+8>>2]|0; - ;HEAP32[$$byval_copy103>>2]=HEAP32[$80>>2]|0;HEAP32[$$byval_copy103+4>>2]=HEAP32[$80+4>>2]|0;HEAP32[$$byval_copy103+8>>2]=HEAP32[$80+8>>2]|0; - ;HEAP8[$$byval_copy112>>0]=HEAP8[$81>>0]|0;HEAP8[$$byval_copy112+1>>0]=HEAP8[$81+1>>0]|0;HEAP8[$$byval_copy112+2>>0]=HEAP8[$81+2>>0]|0;HEAP8[$$byval_copy112+3>>0]=HEAP8[$81+3>>0]|0; - _DrawModelEx($dwarf$byval_copy,$position$byval_copy,$$byval_copy76,$450,$$byval_copy103,$$byval_copy112); - _End3dMode(); - } - } - } - } - } - } - } - } - } - } - } - $454 = HEAP32[176>>2]|0; - $455 = ($454|0)==(6); - $456 = HEAP32[216>>2]|0; - $457 = ($456|0)>(80); - $or$cond365 = $455 & $457; - do { - if ($or$cond365) { - HEAP8[$84>>0] = -66; - $458 = ((($84)) + 1|0); - HEAP8[$458>>0] = 33; - $459 = ((($84)) + 2|0); - HEAP8[$459>>0] = 55; - $460 = ((($84)) + 3|0); - HEAP8[$460>>0] = -1; - $461 = +HEAPF32[184>>2]; - ;HEAP8[$$byval_copy112>>0]=HEAP8[$84>>0]|0;HEAP8[$$byval_copy112+1>>0]=HEAP8[$84+1>>0]|0;HEAP8[$$byval_copy112+2>>0]=HEAP8[$84+2>>0]|0;HEAP8[$$byval_copy112+3>>0]=HEAP8[$84+3>>0]|0; - _Fade($83,$$byval_copy112,$461); - ;HEAP8[$$byval_copy112>>0]=HEAP8[$83>>0]|0;HEAP8[$$byval_copy112+1>>0]=HEAP8[$83+1>>0]|0;HEAP8[$$byval_copy112+2>>0]=HEAP8[$83+2>>0]|0;HEAP8[$$byval_copy112+3>>0]=HEAP8[$83+3>>0]|0; - _DrawText(10713,50,50,40,$$byval_copy112); - $$pr332 = HEAP32[216>>2]|0; - $462 = ($$pr332|0)>(120); - if ($462) { - $463 = ($$pr332|0)>(130); - if ($463) { - HEAP32[$86>>2] = -1; - $464 = +HEAPF32[184>>2]; - ;HEAP8[$$byval_copy112>>0]=HEAP8[$86>>0]|0;HEAP8[$$byval_copy112+1>>0]=HEAP8[$86+1>>0]|0;HEAP8[$$byval_copy112+2>>0]=HEAP8[$86+2>>0]|0;HEAP8[$$byval_copy112+3>>0]=HEAP8[$86+3>>0]|0; - _Fade($85,$$byval_copy112,$464); - ;HEAP32[$$byval_copy103>>2]=HEAP32[608>>2]|0;HEAP32[$$byval_copy103+4>>2]=HEAP32[608+4>>2]|0;HEAP32[$$byval_copy103+8>>2]=HEAP32[608+8>>2]|0;HEAP32[$$byval_copy103+12>>2]=HEAP32[608+12>>2]|0;HEAP32[$$byval_copy103+16>>2]=HEAP32[608+16>>2]|0; - ;HEAP8[$$byval_copy112>>0]=HEAP8[$85>>0]|0;HEAP8[$$byval_copy112+1>>0]=HEAP8[$85+1>>0]|0;HEAP8[$$byval_copy112+2>>0]=HEAP8[$85+2>>0]|0;HEAP8[$$byval_copy112+3>>0]=HEAP8[$85+3>>0]|0; - _DrawTexture($$byval_copy103,70,110,$$byval_copy112); - } - $465 = HEAP32[216>>2]|0; - $466 = ($465|0)>(160); - if ($466) { - HEAP32[$88>>2] = -1; - $467 = +HEAPF32[184>>2]; - ;HEAP8[$$byval_copy112>>0]=HEAP8[$88>>0]|0;HEAP8[$$byval_copy112+1>>0]=HEAP8[$88+1>>0]|0;HEAP8[$$byval_copy112+2>>0]=HEAP8[$88+2>>0]|0;HEAP8[$$byval_copy112+3>>0]=HEAP8[$88+3>>0]|0; - _Fade($87,$$byval_copy112,$467); - ;HEAP32[$$byval_copy103>>2]=HEAP32[(628)>>2]|0;HEAP32[$$byval_copy103+4>>2]=HEAP32[(628)+4>>2]|0;HEAP32[$$byval_copy103+8>>2]=HEAP32[(628)+8>>2]|0;HEAP32[$$byval_copy103+12>>2]=HEAP32[(628)+12>>2]|0;HEAP32[$$byval_copy103+16>>2]=HEAP32[(628)+16>>2]|0; - ;HEAP8[$$byval_copy112>>0]=HEAP8[$87>>0]|0;HEAP8[$$byval_copy112+1>>0]=HEAP8[$87+1>>0]|0;HEAP8[$$byval_copy112+2>>0]=HEAP8[$87+2>>0]|0;HEAP8[$$byval_copy112+3>>0]=HEAP8[$87+3>>0]|0; - _DrawTexture($$byval_copy103,50,135,$$byval_copy112); - $$pr334 = HEAP32[216>>2]|0; - $468 = ($$pr334|0)>(190); - if ($468) { - HEAP32[$90>>2] = -1; - $469 = +HEAPF32[184>>2]; - ;HEAP8[$$byval_copy112>>0]=HEAP8[$90>>0]|0;HEAP8[$$byval_copy112+1>>0]=HEAP8[$90+1>>0]|0;HEAP8[$$byval_copy112+2>>0]=HEAP8[$90+2>>0]|0;HEAP8[$$byval_copy112+3>>0]=HEAP8[$90+3>>0]|0; - _Fade($89,$$byval_copy112,$469); - ;HEAP32[$$byval_copy103>>2]=HEAP32[(648)>>2]|0;HEAP32[$$byval_copy103+4>>2]=HEAP32[(648)+4>>2]|0;HEAP32[$$byval_copy103+8>>2]=HEAP32[(648)+8>>2]|0;HEAP32[$$byval_copy103+12>>2]=HEAP32[(648)+12>>2]|0;HEAP32[$$byval_copy103+16>>2]=HEAP32[(648)+16>>2]|0; - ;HEAP8[$$byval_copy112>>0]=HEAP8[$89>>0]|0;HEAP8[$$byval_copy112+1>>0]=HEAP8[$89+1>>0]|0;HEAP8[$$byval_copy112+2>>0]=HEAP8[$89+2>>0]|0;HEAP8[$$byval_copy112+3>>0]=HEAP8[$89+3>>0]|0; - _DrawTexture($$byval_copy103,75,160,$$byval_copy112); - $$pr337$pr = HEAP32[216>>2]|0; - $470 = ($$pr337$pr|0)>(220); - if ($470) { - HEAP32[$92>>2] = -1; - $471 = +HEAPF32[184>>2]; - ;HEAP8[$$byval_copy112>>0]=HEAP8[$92>>0]|0;HEAP8[$$byval_copy112+1>>0]=HEAP8[$92+1>>0]|0;HEAP8[$$byval_copy112+2>>0]=HEAP8[$92+2>>0]|0;HEAP8[$$byval_copy112+3>>0]=HEAP8[$92+3>>0]|0; - _Fade($91,$$byval_copy112,$471); - ;HEAP32[$$byval_copy103>>2]=HEAP32[(668)>>2]|0;HEAP32[$$byval_copy103+4>>2]=HEAP32[(668)+4>>2]|0;HEAP32[$$byval_copy103+8>>2]=HEAP32[(668)+8>>2]|0;HEAP32[$$byval_copy103+12>>2]=HEAP32[(668)+12>>2]|0;HEAP32[$$byval_copy103+16>>2]=HEAP32[(668)+16>>2]|0; - ;HEAP8[$$byval_copy112>>0]=HEAP8[$91>>0]|0;HEAP8[$$byval_copy112+1>>0]=HEAP8[$91+1>>0]|0;HEAP8[$$byval_copy112+2>>0]=HEAP8[$91+2>>0]|0;HEAP8[$$byval_copy112+3>>0]=HEAP8[$91+3>>0]|0; - _DrawTexture($$byval_copy103,55,185,$$byval_copy112); - $$pr340$pr = HEAP32[216>>2]|0; - $472 = ($$pr340$pr|0)>(250); - if ($472) { - HEAP32[$94>>2] = -1; - $473 = +HEAPF32[184>>2]; - ;HEAP8[$$byval_copy112>>0]=HEAP8[$94>>0]|0;HEAP8[$$byval_copy112+1>>0]=HEAP8[$94+1>>0]|0;HEAP8[$$byval_copy112+2>>0]=HEAP8[$94+2>>0]|0;HEAP8[$$byval_copy112+3>>0]=HEAP8[$94+3>>0]|0; - _Fade($93,$$byval_copy112,$473); - ;HEAP32[$$byval_copy103>>2]=HEAP32[(688)>>2]|0;HEAP32[$$byval_copy103+4>>2]=HEAP32[(688)+4>>2]|0;HEAP32[$$byval_copy103+8>>2]=HEAP32[(688)+8>>2]|0;HEAP32[$$byval_copy103+12>>2]=HEAP32[(688)+12>>2]|0;HEAP32[$$byval_copy103+16>>2]=HEAP32[(688)+16>>2]|0; - ;HEAP8[$$byval_copy112>>0]=HEAP8[$93>>0]|0;HEAP8[$$byval_copy112+1>>0]=HEAP8[$93+1>>0]|0;HEAP8[$$byval_copy112+2>>0]=HEAP8[$93+2>>0]|0;HEAP8[$$byval_copy112+3>>0]=HEAP8[$93+3>>0]|0; - _DrawTexture($$byval_copy103,70,210,$$byval_copy112); - $$pr343$pr$pr = HEAP32[216>>2]|0; - $474 = ($$pr343$pr$pr|0)>(380); - if ($474) { - HEAP8[$96>>0] = -26; - $475 = ((($96)) + 1|0); - HEAP8[$475>>0] = 41; - $476 = ((($96)) + 2|0); - HEAP8[$476>>0] = 55; - $477 = ((($96)) + 3|0); - HEAP8[$477>>0] = -1; - $478 = +HEAPF32[184>>2]; - ;HEAP8[$$byval_copy112>>0]=HEAP8[$96>>0]|0;HEAP8[$$byval_copy112+1>>0]=HEAP8[$96+1>>0]|0;HEAP8[$$byval_copy112+2>>0]=HEAP8[$96+2>>0]|0;HEAP8[$$byval_copy112+3>>0]=HEAP8[$96+3>>0]|0; - _Fade($95,$$byval_copy112,$478); - ;HEAP8[$$byval_copy112>>0]=HEAP8[$95>>0]|0;HEAP8[$$byval_copy112+1>>0]=HEAP8[$95+1>>0]|0;HEAP8[$$byval_copy112+2>>0]=HEAP8[$95+2>>0]|0;HEAP8[$$byval_copy112+3>>0]=HEAP8[$95+3>>0]|0; - _DrawText(10736,70,570,80,$$byval_copy112); - $$pr346$pr$pr = HEAP32[216>>2]|0; - $479 = ($$pr346$pr$pr|0)>(440); - if ($479) { - HEAP8[$98>>0] = -66; - $480 = ((($98)) + 1|0); - HEAP8[$480>>0] = 33; - $481 = ((($98)) + 2|0); - HEAP8[$481>>0] = 55; - $482 = ((($98)) + 3|0); - HEAP8[$482>>0] = -1; - $483 = +HEAPF32[184>>2]; - ;HEAP8[$$byval_copy112>>0]=HEAP8[$98>>0]|0;HEAP8[$$byval_copy112+1>>0]=HEAP8[$98+1>>0]|0;HEAP8[$$byval_copy112+2>>0]=HEAP8[$98+2>>0]|0;HEAP8[$$byval_copy112+3>>0]=HEAP8[$98+3>>0]|0; - _Fade($97,$$byval_copy112,$483); - ;HEAP8[$$byval_copy112>>0]=HEAP8[$97>>0]|0;HEAP8[$$byval_copy112+1>>0]=HEAP8[$97+1>>0]|0;HEAP8[$$byval_copy112+2>>0]=HEAP8[$97+2>>0]|0;HEAP8[$$byval_copy112+3>>0]=HEAP8[$97+3>>0]|0; - _DrawText(10745,750,50,40,$$byval_copy112); - $$pr350$pr$pr = HEAP32[216>>2]|0; - $484 = ($$pr350$pr$pr|0)>(480); - if ($484) { - $485 = ($$pr350$pr$pr|0)>(510); - if ($485) { - HEAP32[$100>>2] = -1; - $486 = +HEAPF32[184>>2]; - ;HEAP8[$$byval_copy112>>0]=HEAP8[$100>>0]|0;HEAP8[$$byval_copy112+1>>0]=HEAP8[$100+1>>0]|0;HEAP8[$$byval_copy112+2>>0]=HEAP8[$100+2>>0]|0;HEAP8[$$byval_copy112+3>>0]=HEAP8[$100+3>>0]|0; - _Fade($99,$$byval_copy112,$486); - ;HEAP32[$$byval_copy103>>2]=HEAP32[708>>2]|0;HEAP32[$$byval_copy103+4>>2]=HEAP32[708+4>>2]|0;HEAP32[$$byval_copy103+8>>2]=HEAP32[708+8>>2]|0;HEAP32[$$byval_copy103+12>>2]=HEAP32[708+12>>2]|0;HEAP32[$$byval_copy103+16>>2]=HEAP32[708+16>>2]|0; - ;HEAP8[$$byval_copy112>>0]=HEAP8[$99>>0]|0;HEAP8[$$byval_copy112+1>>0]=HEAP8[$99+1>>0]|0;HEAP8[$$byval_copy112+2>>0]=HEAP8[$99+2>>0]|0;HEAP8[$$byval_copy112+3>>0]=HEAP8[$99+3>>0]|0; - _DrawTexture($$byval_copy103,800,110,$$byval_copy112); - } - $487 = HEAP32[216>>2]|0; - $488 = ($487|0)>(540); - if ($488) { - HEAP32[$102>>2] = -1; - $489 = +HEAPF32[184>>2]; - ;HEAP8[$$byval_copy112>>0]=HEAP8[$102>>0]|0;HEAP8[$$byval_copy112+1>>0]=HEAP8[$102+1>>0]|0;HEAP8[$$byval_copy112+2>>0]=HEAP8[$102+2>>0]|0;HEAP8[$$byval_copy112+3>>0]=HEAP8[$102+3>>0]|0; - _Fade($101,$$byval_copy112,$489); - ;HEAP32[$$byval_copy103>>2]=HEAP32[(728)>>2]|0;HEAP32[$$byval_copy103+4>>2]=HEAP32[(728)+4>>2]|0;HEAP32[$$byval_copy103+8>>2]=HEAP32[(728)+8>>2]|0;HEAP32[$$byval_copy103+12>>2]=HEAP32[(728)+12>>2]|0;HEAP32[$$byval_copy103+16>>2]=HEAP32[(728)+16>>2]|0; - ;HEAP8[$$byval_copy112>>0]=HEAP8[$101>>0]|0;HEAP8[$$byval_copy112+1>>0]=HEAP8[$101+1>>0]|0;HEAP8[$$byval_copy112+2>>0]=HEAP8[$101+2>>0]|0;HEAP8[$$byval_copy112+3>>0]=HEAP8[$101+3>>0]|0; - _DrawTexture($$byval_copy103,790,135,$$byval_copy112); - $$pr352 = HEAP32[216>>2]|0; - $490 = ($$pr352|0)>(570); - if ($490) { - HEAP32[$104>>2] = -1; - $491 = +HEAPF32[184>>2]; - ;HEAP8[$$byval_copy112>>0]=HEAP8[$104>>0]|0;HEAP8[$$byval_copy112+1>>0]=HEAP8[$104+1>>0]|0;HEAP8[$$byval_copy112+2>>0]=HEAP8[$104+2>>0]|0;HEAP8[$$byval_copy112+3>>0]=HEAP8[$104+3>>0]|0; - _Fade($103,$$byval_copy112,$491); - ;HEAP32[$$byval_copy103>>2]=HEAP32[(748)>>2]|0;HEAP32[$$byval_copy103+4>>2]=HEAP32[(748)+4>>2]|0;HEAP32[$$byval_copy103+8>>2]=HEAP32[(748)+8>>2]|0;HEAP32[$$byval_copy103+12>>2]=HEAP32[(748)+12>>2]|0;HEAP32[$$byval_copy103+16>>2]=HEAP32[(748)+16>>2]|0; - ;HEAP8[$$byval_copy112>>0]=HEAP8[$103>>0]|0;HEAP8[$$byval_copy112+1>>0]=HEAP8[$103+1>>0]|0;HEAP8[$$byval_copy112+2>>0]=HEAP8[$103+2>>0]|0;HEAP8[$$byval_copy112+3>>0]=HEAP8[$103+3>>0]|0; - _DrawTexture($$byval_copy103,810,160,$$byval_copy112); - $$pr355$pr = HEAP32[216>>2]|0; - $492 = ($$pr355$pr|0)>(600); - if ($492) { - HEAP32[$106>>2] = -1; - $493 = +HEAPF32[184>>2]; - ;HEAP8[$$byval_copy112>>0]=HEAP8[$106>>0]|0;HEAP8[$$byval_copy112+1>>0]=HEAP8[$106+1>>0]|0;HEAP8[$$byval_copy112+2>>0]=HEAP8[$106+2>>0]|0;HEAP8[$$byval_copy112+3>>0]=HEAP8[$106+3>>0]|0; - _Fade($105,$$byval_copy112,$493); - ;HEAP32[$$byval_copy103>>2]=HEAP32[(768)>>2]|0;HEAP32[$$byval_copy103+4>>2]=HEAP32[(768)+4>>2]|0;HEAP32[$$byval_copy103+8>>2]=HEAP32[(768)+8>>2]|0;HEAP32[$$byval_copy103+12>>2]=HEAP32[(768)+12>>2]|0;HEAP32[$$byval_copy103+16>>2]=HEAP32[(768)+16>>2]|0; - ;HEAP8[$$byval_copy112>>0]=HEAP8[$105>>0]|0;HEAP8[$$byval_copy112+1>>0]=HEAP8[$105+1>>0]|0;HEAP8[$$byval_copy112+2>>0]=HEAP8[$105+2>>0]|0;HEAP8[$$byval_copy112+3>>0]=HEAP8[$105+3>>0]|0; - _DrawTexture($$byval_copy103,795,185,$$byval_copy112); - $$pr358$pr = HEAP32[216>>2]|0; - $494 = ($$pr358$pr|0)>(630); - if ($494) { - HEAP32[$108>>2] = -1; - $495 = +HEAPF32[184>>2]; - ;HEAP8[$$byval_copy112>>0]=HEAP8[$108>>0]|0;HEAP8[$$byval_copy112+1>>0]=HEAP8[$108+1>>0]|0;HEAP8[$$byval_copy112+2>>0]=HEAP8[$108+2>>0]|0;HEAP8[$$byval_copy112+3>>0]=HEAP8[$108+3>>0]|0; - _Fade($107,$$byval_copy112,$495); - ;HEAP32[$$byval_copy103>>2]=HEAP32[(788)>>2]|0;HEAP32[$$byval_copy103+4>>2]=HEAP32[(788)+4>>2]|0;HEAP32[$$byval_copy103+8>>2]=HEAP32[(788)+8>>2]|0;HEAP32[$$byval_copy103+12>>2]=HEAP32[(788)+12>>2]|0;HEAP32[$$byval_copy103+16>>2]=HEAP32[(788)+16>>2]|0; - ;HEAP8[$$byval_copy112>>0]=HEAP8[$107>>0]|0;HEAP8[$$byval_copy112+1>>0]=HEAP8[$107+1>>0]|0;HEAP8[$$byval_copy112+2>>0]=HEAP8[$107+2>>0]|0;HEAP8[$$byval_copy112+3>>0]=HEAP8[$107+3>>0]|0; - _DrawTexture($$byval_copy103,800,210,$$byval_copy112); - $$pr361$pr$pr = HEAP32[216>>2]|0; - $496 = ($$pr361$pr$pr|0)>(690); - if (!($496)) { - break; - } - HEAP8[$110>>0] = -26; - $497 = ((($110)) + 1|0); - HEAP8[$497>>0] = 41; - $498 = ((($110)) + 2|0); - HEAP8[$498>>0] = 55; - $499 = ((($110)) + 3|0); - HEAP8[$499>>0] = -1; - $500 = +HEAPF32[184>>2]; - ;HEAP8[$$byval_copy112>>0]=HEAP8[$110>>0]|0;HEAP8[$$byval_copy112+1>>0]=HEAP8[$110+1>>0]|0;HEAP8[$$byval_copy112+2>>0]=HEAP8[$110+2>>0]|0;HEAP8[$$byval_copy112+3>>0]=HEAP8[$110+3>>0]|0; - _Fade($109,$$byval_copy112,$500); - ;HEAP8[$$byval_copy112>>0]=HEAP8[$109>>0]|0;HEAP8[$$byval_copy112+1>>0]=HEAP8[$109+1>>0]|0;HEAP8[$$byval_copy112+2>>0]=HEAP8[$109+2>>0]|0;HEAP8[$$byval_copy112+3>>0]=HEAP8[$109+3>>0]|0; - _DrawText(10770,810,570,80,$$byval_copy112); - } - } - } - } - } - } - } - } - } - } - } - } - } - } while(0); - HEAP8[$112>>0] = -126; - $501 = ((($112)) + 1|0); - HEAP8[$501>>0] = -126; - $502 = ((($112)) + 2|0); - HEAP8[$502>>0] = -126; - $503 = ((($112)) + 3|0); - HEAP8[$503>>0] = -1; - $504 = +HEAPF32[188>>2]; - ;HEAP8[$$byval_copy112>>0]=HEAP8[$112>>0]|0;HEAP8[$$byval_copy112+1>>0]=HEAP8[$112+1>>0]|0;HEAP8[$$byval_copy112+2>>0]=HEAP8[$112+2>>0]|0;HEAP8[$$byval_copy112+3>>0]=HEAP8[$112+3>>0]|0; - _Fade($111,$$byval_copy112,$504); - ;HEAP8[$$byval_copy112>>0]=HEAP8[$111>>0]|0;HEAP8[$$byval_copy112+1>>0]=HEAP8[$111+1>>0]|0;HEAP8[$$byval_copy112+2>>0]=HEAP8[$111+2>>0]|0;HEAP8[$$byval_copy112+3>>0]=HEAP8[$111+3>>0]|0; - _DrawRectangle(20,680,1240,20,$$byval_copy112); - $505 = HEAP32[228>>2]|0; - $506 = (+($505|0)); - $507 = HEAP32[224>>2]|0; - $508 = (+($507|0)); - $509 = $506 / $508; - $510 = $509 * 1240.0; - $511 = $510 + 20.0; - $512 = (~~(($511))); - $513 = 1240.0 - $510; - $514 = (~~(($513))); - HEAP8[$114>>0] = -11; - $515 = ((($114)) + 1|0); - HEAP8[$515>>0] = -11; - $516 = ((($114)) + 2|0); - HEAP8[$516>>0] = -11; - $517 = ((($114)) + 3|0); - HEAP8[$517>>0] = -1; - $518 = +HEAPF32[188>>2]; - ;HEAP8[$$byval_copy112>>0]=HEAP8[$114>>0]|0;HEAP8[$$byval_copy112+1>>0]=HEAP8[$114+1>>0]|0;HEAP8[$$byval_copy112+2>>0]=HEAP8[$114+2>>0]|0;HEAP8[$$byval_copy112+3>>0]=HEAP8[$114+3>>0]|0; - _Fade($113,$$byval_copy112,$518); - ;HEAP8[$$byval_copy112>>0]=HEAP8[$113>>0]|0;HEAP8[$$byval_copy112+1>>0]=HEAP8[$113+1>>0]|0;HEAP8[$$byval_copy112+2>>0]=HEAP8[$113+2>>0]|0;HEAP8[$$byval_copy112+3>>0]=HEAP8[$113+3>>0]|0; - _DrawRectangle($512,680,$514,20,$$byval_copy112); - HEAP8[$116>>0] = 80; - $519 = ((($116)) + 1|0); - HEAP8[$519>>0] = 80; - $520 = ((($116)) + 2|0); - HEAP8[$520>>0] = 80; - $521 = ((($116)) + 3|0); - HEAP8[$521>>0] = -1; - $522 = +HEAPF32[188>>2]; - ;HEAP8[$$byval_copy112>>0]=HEAP8[$116>>0]|0;HEAP8[$$byval_copy112+1>>0]=HEAP8[$116+1>>0]|0;HEAP8[$$byval_copy112+2>>0]=HEAP8[$116+2>>0]|0;HEAP8[$$byval_copy112+3>>0]=HEAP8[$116+3>>0]|0; - _Fade($115,$$byval_copy112,$522); - ;HEAP8[$$byval_copy112>>0]=HEAP8[$115>>0]|0;HEAP8[$$byval_copy112+1>>0]=HEAP8[$115+1>>0]|0;HEAP8[$$byval_copy112+2>>0]=HEAP8[$115+2>>0]|0;HEAP8[$$byval_copy112+3>>0]=HEAP8[$115+3>>0]|0; - _DrawRectangleLines(20,679,1240,20,$$byval_copy112); - break; - } - default: { - } - } - $523 = HEAP32[200>>2]|0; - $524 = ($523|0)==(0); - if ($524) { - _EndDrawing(); - STACKTOP = sp;return; - } - _DrawTransition(); - _EndDrawing(); - STACKTOP = sp;return; -} -function _TransitionToScreen($screen) { - $screen = $screen|0; - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - HEAP32[200>>2] = 1; - $0 = HEAP32[220>>2]|0; - HEAP32[208>>2] = $0; - HEAP32[212>>2] = $screen; - return; -} -function _UpdateTransition() { - var $0 = 0, $1 = 0, $2 = 0.0, $3 = 0.0, $4 = 0, $5 = 0, $6 = 0.0, $7 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[204>>2]|0; - $1 = ($0|0)==(0); - $2 = +HEAPF32[196>>2]; - if ($1) { - $3 = $2 + 0.05000000074505806; - HEAPF32[196>>2] = $3; - $4 = !($3 >= 1.0); - if ($4) { - return; - } - HEAPF32[196>>2] = 1.0; - $5 = HEAP32[212>>2]|0; - HEAP32[220>>2] = $5; - HEAP32[204>>2] = 1; - HEAP32[216>>2] = 0; - return; - } else { - $6 = $2 + -0.05000000074505806; - HEAPF32[196>>2] = $6; - $7 = !($6 <= 0.0); - if ($7) { - return; - } - HEAPF32[196>>2] = 0.0; - HEAP32[204>>2] = 0; - HEAP32[200>>2] = 0; - HEAP32[208>>2] = -1; - HEAP32[212>>2] = -1; - return; - } -} -function _DrawTransition() { - var $$byval_copy1 = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $$byval_copy1 = sp + 8|0; - $0 = sp + 4|0; - $1 = sp; - $2 = (_GetScreenWidth()|0); - $3 = (_GetScreenHeight()|0); - HEAP8[$1>>0] = -11; - $4 = ((($1)) + 1|0); - HEAP8[$4>>0] = -11; - $5 = ((($1)) + 2|0); - HEAP8[$5>>0] = -11; - $6 = ((($1)) + 3|0); - HEAP8[$6>>0] = -1; - $7 = +HEAPF32[196>>2]; - ;HEAP8[$$byval_copy1>>0]=HEAP8[$1>>0]|0;HEAP8[$$byval_copy1+1>>0]=HEAP8[$1+1>>0]|0;HEAP8[$$byval_copy1+2>>0]=HEAP8[$1+2>>0]|0;HEAP8[$$byval_copy1+3>>0]=HEAP8[$1+3>>0]|0; - _Fade($0,$$byval_copy1,$7); - ;HEAP8[$$byval_copy1>>0]=HEAP8[$0>>0]|0;HEAP8[$$byval_copy1+1>>0]=HEAP8[$0+1>>0]|0;HEAP8[$$byval_copy1+2>>0]=HEAP8[$0+2>>0]|0;HEAP8[$$byval_copy1+3>>0]=HEAP8[$0+3>>0]|0; - _DrawRectangle(0,0,$2,$3,$$byval_copy1); - STACKTOP = sp;return; -} -function _VectorSubtract($agg$result,$v1,$v2) { - $agg$result = $agg$result|0; - $v1 = $v1|0; - $v2 = $v2|0; - var $0 = 0.0, $1 = 0.0, $10 = 0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0, $2 = 0.0, $3 = 0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $0 = +HEAPF32[$v1>>2]; - $1 = +HEAPF32[$v2>>2]; - $2 = $0 - $1; - $3 = ((($v1)) + 4|0); - $4 = +HEAPF32[$3>>2]; - $5 = ((($v2)) + 4|0); - $6 = +HEAPF32[$5>>2]; - $7 = $4 - $6; - $8 = ((($v1)) + 8|0); - $9 = +HEAPF32[$8>>2]; - $10 = ((($v2)) + 8|0); - $11 = +HEAPF32[$10>>2]; - $12 = $9 - $11; - HEAPF32[$agg$result>>2] = $2; - $13 = ((($agg$result)) + 4|0); - HEAPF32[$13>>2] = $7; - $14 = ((($agg$result)) + 8|0); - HEAPF32[$14>>2] = $12; - return; -} -function _VectorCrossProduct($agg$result,$v1,$v2) { - $agg$result = $agg$result|0; - $v1 = $v1|0; - $v2 = $v2|0; - var $0 = 0, $1 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0, $2 = 0, $20 = 0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0.0; - var $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($v1)) + 4|0); - $1 = +HEAPF32[$0>>2]; - $2 = ((($v2)) + 8|0); - $3 = +HEAPF32[$2>>2]; - $4 = $1 * $3; - $5 = ((($v1)) + 8|0); - $6 = +HEAPF32[$5>>2]; - $7 = ((($v2)) + 4|0); - $8 = +HEAPF32[$7>>2]; - $9 = $6 * $8; - $10 = $4 - $9; - $11 = +HEAPF32[$v2>>2]; - $12 = $6 * $11; - $13 = +HEAPF32[$v1>>2]; - $14 = $3 * $13; - $15 = $12 - $14; - $16 = $8 * $13; - $17 = $1 * $11; - $18 = $16 - $17; - HEAPF32[$agg$result>>2] = $10; - $19 = ((($agg$result)) + 4|0); - HEAPF32[$19>>2] = $15; - $20 = ((($agg$result)) + 8|0); - HEAPF32[$20>>2] = $18; - return; -} -function _VectorLength($v) { - $v = $v|0; - var $0 = 0.0, $1 = 0.0, $2 = 0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0.0, $9 = 0.0, $sqrtf = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $0 = +HEAPF32[$v>>2]; - $1 = $0 * $0; - $2 = ((($v)) + 4|0); - $3 = +HEAPF32[$2>>2]; - $4 = $3 * $3; - $5 = $1 + $4; - $6 = ((($v)) + 8|0); - $7 = +HEAPF32[$6>>2]; - $8 = $7 * $7; - $9 = $5 + $8; - $sqrtf = (+Math_sqrt((+$9))); - return (+$sqrtf); -} -function _VectorNormalize($v) { - $v = $v|0; - var $$op = 0.0, $0 = 0.0, $1 = 0, $10 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0.0, $v$byval_copy = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $v$byval_copy = sp; - ;HEAP32[$v$byval_copy>>2]=HEAP32[$v>>2]|0;HEAP32[$v$byval_copy+4>>2]=HEAP32[$v+4>>2]|0;HEAP32[$v$byval_copy+8>>2]=HEAP32[$v+8>>2]|0; - $0 = (+_VectorLength($v$byval_copy)); - $1 = $0 == 0.0; - $$op = 1.0 / $0; - $2 = $1 ? 1.0 : $$op; - $3 = +HEAPF32[$v>>2]; - $4 = $3 * $2; - HEAPF32[$v>>2] = $4; - $5 = ((($v)) + 4|0); - $6 = +HEAPF32[$5>>2]; - $7 = $2 * $6; - HEAPF32[$5>>2] = $7; - $8 = ((($v)) + 8|0); - $9 = +HEAPF32[$8>>2]; - $10 = $2 * $9; - HEAPF32[$8>>2] = $10; - STACKTOP = sp;return; -} -function _VectorTransform($v,$mat) { - $v = $v|0; - $mat = $mat|0; - var $0 = 0.0, $1 = 0, $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0, $16 = 0.0, $17 = 0.0, $18 = 0, $19 = 0.0, $2 = 0.0, $20 = 0.0, $21 = 0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0, $26 = 0.0; - var $27 = 0.0, $28 = 0.0, $29 = 0, $3 = 0, $30 = 0.0, $31 = 0.0, $32 = 0, $33 = 0.0, $34 = 0.0, $35 = 0, $36 = 0.0, $37 = 0.0, $38 = 0.0, $39 = 0, $4 = 0.0, $40 = 0.0, $41 = 0.0, $42 = 0.0, $43 = 0, $44 = 0.0; - var $45 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $0 = +HEAPF32[$v>>2]; - $1 = ((($v)) + 4|0); - $2 = +HEAPF32[$1>>2]; - $3 = ((($v)) + 8|0); - $4 = +HEAPF32[$3>>2]; - $5 = +HEAPF32[$mat>>2]; - $6 = $0 * $5; - $7 = ((($mat)) + 4|0); - $8 = +HEAPF32[$7>>2]; - $9 = $2 * $8; - $10 = $6 + $9; - $11 = ((($mat)) + 8|0); - $12 = +HEAPF32[$11>>2]; - $13 = $4 * $12; - $14 = $10 + $13; - $15 = ((($mat)) + 12|0); - $16 = +HEAPF32[$15>>2]; - $17 = $16 + $14; - HEAPF32[$v>>2] = $17; - $18 = ((($mat)) + 16|0); - $19 = +HEAPF32[$18>>2]; - $20 = $0 * $19; - $21 = ((($mat)) + 20|0); - $22 = +HEAPF32[$21>>2]; - $23 = $2 * $22; - $24 = $20 + $23; - $25 = ((($mat)) + 24|0); - $26 = +HEAPF32[$25>>2]; - $27 = $4 * $26; - $28 = $24 + $27; - $29 = ((($mat)) + 28|0); - $30 = +HEAPF32[$29>>2]; - $31 = $30 + $28; - HEAPF32[$1>>2] = $31; - $32 = ((($mat)) + 32|0); - $33 = +HEAPF32[$32>>2]; - $34 = $0 * $33; - $35 = ((($mat)) + 36|0); - $36 = +HEAPF32[$35>>2]; - $37 = $2 * $36; - $38 = $34 + $37; - $39 = ((($mat)) + 40|0); - $40 = +HEAPF32[$39>>2]; - $41 = $4 * $40; - $42 = $38 + $41; - $43 = ((($mat)) + 44|0); - $44 = +HEAPF32[$43>>2]; - $45 = $44 + $42; - HEAPF32[$3>>2] = $45; - return; -} -function _VectorZero($agg$result) { - $agg$result = $agg$result|0; - var label = 0, sp = 0; - sp = STACKTOP; - ;HEAP32[$agg$result>>2]=0|0;HEAP32[$agg$result+4>>2]=0|0;HEAP32[$agg$result+8>>2]=0|0; - return; -} -function _MatrixTranspose($mat) { - $mat = $mat|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $3 = 0, $4 = 0, $5 = 0; - var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($mat)) + 4|0); - $1 = HEAP32[$0>>2]|0; - $2 = ((($mat)) + 8|0); - $3 = HEAP32[$2>>2]|0; - $4 = ((($mat)) + 12|0); - $5 = HEAP32[$4>>2]|0; - $6 = ((($mat)) + 16|0); - $7 = HEAP32[$6>>2]|0; - $8 = ((($mat)) + 24|0); - $9 = HEAP32[$8>>2]|0; - $10 = ((($mat)) + 28|0); - $11 = HEAP32[$10>>2]|0; - $12 = ((($mat)) + 32|0); - $13 = HEAP32[$12>>2]|0; - $14 = ((($mat)) + 36|0); - $15 = HEAP32[$14>>2]|0; - $16 = ((($mat)) + 44|0); - $17 = HEAP32[$16>>2]|0; - $18 = ((($mat)) + 48|0); - $19 = HEAP32[$18>>2]|0; - $20 = ((($mat)) + 52|0); - $21 = HEAP32[$20>>2]|0; - $22 = ((($mat)) + 56|0); - $23 = HEAP32[$22>>2]|0; - HEAP32[$0>>2] = $7; - HEAP32[$2>>2] = $13; - HEAP32[$4>>2] = $19; - HEAP32[$6>>2] = $1; - HEAP32[$8>>2] = $15; - HEAP32[$10>>2] = $21; - HEAP32[$12>>2] = $3; - HEAP32[$14>>2] = $9; - HEAP32[$16>>2] = $23; - HEAP32[$18>>2] = $5; - HEAP32[$20>>2] = $11; - HEAP32[$22>>2] = $17; - return; -} -function _MatrixIdentity($agg$result) { - $agg$result = $agg$result|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $result$sroa$5 = 0, $result$sroa$6 = 0, $result$sroa$7 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $result$sroa$5 = sp + 32|0; - $result$sroa$6 = sp + 16|0; - $result$sroa$7 = sp; - ;HEAP32[$result$sroa$5>>2]=0|0;HEAP32[$result$sroa$5+4>>2]=0|0;HEAP32[$result$sroa$5+8>>2]=0|0;HEAP32[$result$sroa$5+12>>2]=0|0; - ;HEAP32[$result$sroa$6>>2]=0|0;HEAP32[$result$sroa$6+4>>2]=0|0;HEAP32[$result$sroa$6+8>>2]=0|0;HEAP32[$result$sroa$6+12>>2]=0|0; - ;HEAP32[$result$sroa$7>>2]=0|0;HEAP32[$result$sroa$7+4>>2]=0|0;HEAP32[$result$sroa$7+8>>2]=0|0;HEAP32[$result$sroa$7+12>>2]=0|0; - HEAPF32[$agg$result>>2] = 1.0; - $0 = ((($agg$result)) + 4|0); - ;HEAP32[$0>>2]=HEAP32[$result$sroa$5>>2]|0;HEAP32[$0+4>>2]=HEAP32[$result$sroa$5+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$result$sroa$5+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$result$sroa$5+12>>2]|0; - $1 = ((($agg$result)) + 20|0); - HEAPF32[$1>>2] = 1.0; - $2 = ((($agg$result)) + 24|0); - ;HEAP32[$2>>2]=HEAP32[$result$sroa$6>>2]|0;HEAP32[$2+4>>2]=HEAP32[$result$sroa$6+4>>2]|0;HEAP32[$2+8>>2]=HEAP32[$result$sroa$6+8>>2]|0;HEAP32[$2+12>>2]=HEAP32[$result$sroa$6+12>>2]|0; - $3 = ((($agg$result)) + 40|0); - HEAPF32[$3>>2] = 1.0; - $4 = ((($agg$result)) + 44|0); - ;HEAP32[$4>>2]=HEAP32[$result$sroa$7>>2]|0;HEAP32[$4+4>>2]=HEAP32[$result$sroa$7+4>>2]|0;HEAP32[$4+8>>2]=HEAP32[$result$sroa$7+8>>2]|0;HEAP32[$4+12>>2]=HEAP32[$result$sroa$7+12>>2]|0; - $5 = ((($agg$result)) + 60|0); - HEAPF32[$5>>2] = 1.0; - STACKTOP = sp;return; -} -function _MatrixTranslate($agg$result,$x,$y,$z) { - $agg$result = $agg$result|0; - $x = +$x; - $y = +$y; - $z = +$z; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; - sp = STACKTOP; - HEAPF32[$agg$result>>2] = 1.0; - $0 = ((($agg$result)) + 4|0); - $1 = ((($agg$result)) + 20|0); - ;HEAP32[$0>>2]=0|0;HEAP32[$0+4>>2]=0|0;HEAP32[$0+8>>2]=0|0;HEAP32[$0+12>>2]=0|0; - HEAPF32[$1>>2] = 1.0; - $2 = ((($agg$result)) + 24|0); - $3 = ((($agg$result)) + 40|0); - ;HEAP32[$2>>2]=0|0;HEAP32[$2+4>>2]=0|0;HEAP32[$2+8>>2]=0|0;HEAP32[$2+12>>2]=0|0; - HEAPF32[$3>>2] = 1.0; - $4 = ((($agg$result)) + 44|0); - HEAPF32[$4>>2] = 0.0; - $5 = ((($agg$result)) + 48|0); - HEAPF32[$5>>2] = $x; - $6 = ((($agg$result)) + 52|0); - HEAPF32[$6>>2] = $y; - $7 = ((($agg$result)) + 56|0); - HEAPF32[$7>>2] = $z; - $8 = ((($agg$result)) + 60|0); - HEAPF32[$8>>2] = 1.0; - return; -} -function _MatrixRotate($agg$result,$axis,$angle) { - $agg$result = $agg$result|0; - $axis = $axis|0; - $angle = +$angle; - var $0 = 0.0, $1 = 0, $10 = 0, $100 = 0.0, $101 = 0.0, $102 = 0.0, $103 = 0.0, $104 = 0.0, $105 = 0.0, $106 = 0.0, $107 = 0.0, $108 = 0.0, $109 = 0.0, $11 = 0, $110 = 0.0, $111 = 0.0, $112 = 0.0, $113 = 0.0, $114 = 0.0, $115 = 0.0; - var $116 = 0.0, $117 = 0.0, $118 = 0.0, $119 = 0.0, $12 = 0.0, $120 = 0.0, $121 = 0.0, $122 = 0.0, $123 = 0.0, $124 = 0.0, $125 = 0.0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0.0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0.0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0; - var $19 = 0.0, $2 = 0.0, $20 = 0, $21 = 0.0, $22 = 0, $23 = 0.0, $24 = 0, $25 = 0.0, $26 = 0, $27 = 0.0, $28 = 0, $29 = 0.0, $3 = 0, $30 = 0, $31 = 0.0, $32 = 0, $33 = 0.0, $34 = 0, $35 = 0.0, $36 = 0; - var $37 = 0.0, $38 = 0, $39 = 0.0, $4 = 0.0, $40 = 0, $41 = 0.0, $42 = 0.0, $43 = 0.0, $44 = 0.0, $45 = 0.0, $46 = 0.0, $47 = 0.0, $48 = 0.0, $49 = 0.0, $5 = 0.0, $50 = 0.0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0.0; - var $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0.0, $60 = 0.0, $61 = 0.0, $62 = 0.0, $63 = 0.0, $64 = 0.0, $65 = 0.0, $66 = 0.0, $67 = 0.0, $68 = 0.0, $69 = 0.0, $7 = 0.0, $70 = 0.0, $71 = 0.0, $72 = 0.0; - var $73 = 0.0, $74 = 0.0, $75 = 0.0, $76 = 0.0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0.0, $80 = 0.0, $81 = 0.0, $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0.0, $86 = 0.0, $87 = 0.0, $88 = 0.0, $89 = 0.0, $9 = 0.0, $90 = 0.0; - var $91 = 0.0, $92 = 0.0, $93 = 0.0, $94 = 0.0, $95 = 0.0, $96 = 0.0, $97 = 0.0, $98 = 0.0, $99 = 0.0, $mat = 0, $or$cond = 0, $sqrtf = 0.0, $x$0 = 0.0, $y$0 = 0.0, $z$0 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; - $mat = sp; - _MatrixIdentity($mat); - $0 = +HEAPF32[$axis>>2]; - $1 = ((($axis)) + 4|0); - $2 = +HEAPF32[$1>>2]; - $3 = ((($axis)) + 8|0); - $4 = +HEAPF32[$3>>2]; - $5 = $0 * $0; - $6 = $2 * $2; - $7 = $5 + $6; - $8 = $4 * $4; - $9 = $7 + $8; - $sqrtf = (+Math_sqrt((+$9))); - $10 = $sqrtf != 1.0; - $11 = $sqrtf != 0.0; - $or$cond = $10 & $11; - if ($or$cond) { - $12 = 1.0 / $sqrtf; - $13 = $0 * $12; - $14 = $2 * $12; - $15 = $4 * $12; - $x$0 = $13;$y$0 = $14;$z$0 = $15; - } else { - $x$0 = $0;$y$0 = $2;$z$0 = $4; - } - $16 = (+Math_sin((+$angle))); - $17 = (+Math_cos((+$angle))); - $18 = 1.0 - $17; - $19 = +HEAPF32[$mat>>2]; - $20 = ((($mat)) + 16|0); - $21 = +HEAPF32[$20>>2]; - $22 = ((($mat)) + 32|0); - $23 = +HEAPF32[$22>>2]; - $24 = ((($mat)) + 48|0); - $25 = +HEAPF32[$24>>2]; - $26 = ((($mat)) + 4|0); - $27 = +HEAPF32[$26>>2]; - $28 = ((($mat)) + 20|0); - $29 = +HEAPF32[$28>>2]; - $30 = ((($mat)) + 36|0); - $31 = +HEAPF32[$30>>2]; - $32 = ((($mat)) + 52|0); - $33 = +HEAPF32[$32>>2]; - $34 = ((($mat)) + 8|0); - $35 = +HEAPF32[$34>>2]; - $36 = ((($mat)) + 24|0); - $37 = +HEAPF32[$36>>2]; - $38 = ((($mat)) + 40|0); - $39 = +HEAPF32[$38>>2]; - $40 = ((($mat)) + 56|0); - $41 = +HEAPF32[$40>>2]; - $42 = $x$0 * $x$0; - $43 = $42 * $18; - $44 = $17 + $43; - $45 = $y$0 * $x$0; - $46 = $45 * $18; - $47 = $z$0 * $16; - $48 = $47 + $46; - $49 = $z$0 * $x$0; - $50 = $49 * $18; - $51 = $y$0 * $16; - $52 = $50 - $51; - $53 = $46 - $47; - $54 = $y$0 * $y$0; - $55 = $54 * $18; - $56 = $17 + $55; - $57 = $z$0 * $y$0; - $58 = $57 * $18; - $59 = $x$0 * $16; - $60 = $59 + $58; - $61 = $51 + $50; - $62 = $58 - $59; - $63 = $z$0 * $z$0; - $64 = $63 * $18; - $65 = $17 + $64; - $66 = $19 * $44; - $67 = $48 * $27; - $68 = $66 + $67; - $69 = $52 * $35; - $70 = $68 + $69; - $71 = $21 * $44; - $72 = $48 * $29; - $73 = $71 + $72; - $74 = $52 * $37; - $75 = $73 + $74; - $76 = $23 * $44; - $77 = $48 * $31; - $78 = $76 + $77; - $79 = $52 * $39; - $80 = $78 + $79; - $81 = $44 * $25; - $82 = $48 * $33; - $83 = $81 + $82; - $84 = $52 * $41; - $85 = $83 + $84; - $86 = $19 * $53; - $87 = $56 * $27; - $88 = $86 + $87; - $89 = $60 * $35; - $90 = $88 + $89; - $91 = $21 * $53; - $92 = $56 * $29; - $93 = $91 + $92; - $94 = $60 * $37; - $95 = $93 + $94; - $96 = $23 * $53; - $97 = $56 * $31; - $98 = $96 + $97; - $99 = $60 * $39; - $100 = $98 + $99; - $101 = $53 * $25; - $102 = $56 * $33; - $103 = $101 + $102; - $104 = $60 * $41; - $105 = $103 + $104; - $106 = $19 * $61; - $107 = $62 * $27; - $108 = $106 + $107; - $109 = $65 * $35; - $110 = $108 + $109; - $111 = $21 * $61; - $112 = $62 * $29; - $113 = $111 + $112; - $114 = $65 * $37; - $115 = $113 + $114; - $116 = $23 * $61; - $117 = $62 * $31; - $118 = $116 + $117; - $119 = $65 * $39; - $120 = $118 + $119; - $121 = $61 * $25; - $122 = $62 * $33; - $123 = $121 + $122; - $124 = $65 * $41; - $125 = $123 + $124; - $126 = ((($mat)) + 12|0); - $127 = HEAP32[$126>>2]|0; - $128 = ((($mat)) + 28|0); - $129 = HEAP32[$128>>2]|0; - $130 = ((($mat)) + 44|0); - $131 = HEAP32[$130>>2]|0; - $132 = ((($mat)) + 60|0); - $133 = HEAP32[$132>>2]|0; - HEAPF32[$agg$result>>2] = $70; - $134 = ((($agg$result)) + 4|0); - HEAPF32[$134>>2] = $90; - $135 = ((($agg$result)) + 8|0); - HEAPF32[$135>>2] = $110; - $136 = ((($agg$result)) + 12|0); - HEAP32[$136>>2] = $127; - $137 = ((($agg$result)) + 16|0); - HEAPF32[$137>>2] = $75; - $138 = ((($agg$result)) + 20|0); - HEAPF32[$138>>2] = $95; - $139 = ((($agg$result)) + 24|0); - HEAPF32[$139>>2] = $115; - $140 = ((($agg$result)) + 28|0); - HEAP32[$140>>2] = $129; - $141 = ((($agg$result)) + 32|0); - HEAPF32[$141>>2] = $80; - $142 = ((($agg$result)) + 36|0); - HEAPF32[$142>>2] = $100; - $143 = ((($agg$result)) + 40|0); - HEAPF32[$143>>2] = $120; - $144 = ((($agg$result)) + 44|0); - HEAP32[$144>>2] = $131; - $145 = ((($agg$result)) + 48|0); - HEAPF32[$145>>2] = $85; - $146 = ((($agg$result)) + 52|0); - HEAPF32[$146>>2] = $105; - $147 = ((($agg$result)) + 56|0); - HEAPF32[$147>>2] = $125; - $148 = ((($agg$result)) + 60|0); - HEAP32[$148>>2] = $133; - STACKTOP = sp;return; -} -function _MatrixScale($agg$result,$x,$y,$z) { - $agg$result = $agg$result|0; - $x = +$x; - $y = +$y; - $z = +$z; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $result$sroa$5 = 0, $result$sroa$6 = 0, $result$sroa$7 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $result$sroa$5 = sp + 32|0; - $result$sroa$6 = sp + 16|0; - $result$sroa$7 = sp; - ;HEAP32[$result$sroa$5>>2]=0|0;HEAP32[$result$sroa$5+4>>2]=0|0;HEAP32[$result$sroa$5+8>>2]=0|0;HEAP32[$result$sroa$5+12>>2]=0|0; - ;HEAP32[$result$sroa$6>>2]=0|0;HEAP32[$result$sroa$6+4>>2]=0|0;HEAP32[$result$sroa$6+8>>2]=0|0;HEAP32[$result$sroa$6+12>>2]=0|0; - ;HEAP32[$result$sroa$7>>2]=0|0;HEAP32[$result$sroa$7+4>>2]=0|0;HEAP32[$result$sroa$7+8>>2]=0|0;HEAP32[$result$sroa$7+12>>2]=0|0; - HEAPF32[$agg$result>>2] = $x; - $0 = ((($agg$result)) + 4|0); - ;HEAP32[$0>>2]=HEAP32[$result$sroa$5>>2]|0;HEAP32[$0+4>>2]=HEAP32[$result$sroa$5+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$result$sroa$5+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$result$sroa$5+12>>2]|0; - $1 = ((($agg$result)) + 20|0); - HEAPF32[$1>>2] = $y; - $2 = ((($agg$result)) + 24|0); - ;HEAP32[$2>>2]=HEAP32[$result$sroa$6>>2]|0;HEAP32[$2+4>>2]=HEAP32[$result$sroa$6+4>>2]|0;HEAP32[$2+8>>2]=HEAP32[$result$sroa$6+8>>2]|0;HEAP32[$2+12>>2]=HEAP32[$result$sroa$6+12>>2]|0; - $3 = ((($agg$result)) + 40|0); - HEAPF32[$3>>2] = $z; - $4 = ((($agg$result)) + 44|0); - ;HEAP32[$4>>2]=HEAP32[$result$sroa$7>>2]|0;HEAP32[$4+4>>2]=HEAP32[$result$sroa$7+4>>2]|0;HEAP32[$4+8>>2]=HEAP32[$result$sroa$7+8>>2]|0;HEAP32[$4+12>>2]=HEAP32[$result$sroa$7+12>>2]|0; - $5 = ((($agg$result)) + 60|0); - HEAPF32[$5>>2] = 1.0; - STACKTOP = sp;return; -} -function _MatrixMultiply($agg$result,$left,$right) { - $agg$result = $agg$result|0; - $left = $left|0; - $right = $right|0; - var $0 = 0.0, $1 = 0.0, $10 = 0.0, $100 = 0.0, $101 = 0.0, $102 = 0, $103 = 0.0, $104 = 0.0, $105 = 0, $106 = 0.0, $107 = 0.0, $108 = 0.0, $109 = 0, $11 = 0, $110 = 0.0, $111 = 0.0, $112 = 0.0, $113 = 0, $114 = 0.0, $115 = 0.0; - var $116 = 0.0, $117 = 0.0, $118 = 0.0, $119 = 0.0, $12 = 0.0, $120 = 0.0, $121 = 0.0, $122 = 0.0, $123 = 0.0, $124 = 0.0, $125 = 0.0, $126 = 0.0, $127 = 0.0, $128 = 0.0, $129 = 0.0, $13 = 0.0, $130 = 0.0, $131 = 0.0, $132 = 0.0, $133 = 0.0; - var $134 = 0.0, $135 = 0.0, $136 = 0.0, $137 = 0.0, $138 = 0, $139 = 0.0, $14 = 0.0, $140 = 0.0, $141 = 0, $142 = 0.0, $143 = 0.0, $144 = 0.0, $145 = 0, $146 = 0.0, $147 = 0.0, $148 = 0.0, $149 = 0, $15 = 0, $150 = 0.0, $151 = 0.0; - var $152 = 0.0, $153 = 0.0, $154 = 0.0, $155 = 0.0, $156 = 0.0, $157 = 0.0, $158 = 0.0, $159 = 0.0, $16 = 0.0, $160 = 0.0, $161 = 0.0, $162 = 0.0, $163 = 0.0, $164 = 0.0, $165 = 0.0, $166 = 0.0, $167 = 0.0, $168 = 0.0, $169 = 0.0, $17 = 0; - var $170 = 0.0, $171 = 0.0, $172 = 0.0, $173 = 0.0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0.0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; - var $19 = 0.0, $2 = 0.0, $20 = 0.0, $21 = 0, $22 = 0.0, $23 = 0.0, $24 = 0, $25 = 0.0, $26 = 0.0, $27 = 0.0, $28 = 0, $29 = 0.0, $3 = 0, $30 = 0.0, $31 = 0.0, $32 = 0, $33 = 0.0, $34 = 0.0, $35 = 0.0, $36 = 0; - var $37 = 0.0, $38 = 0.0, $39 = 0, $4 = 0.0, $40 = 0.0, $41 = 0.0, $42 = 0.0, $43 = 0, $44 = 0.0, $45 = 0.0, $46 = 0.0, $47 = 0, $48 = 0.0, $49 = 0.0, $5 = 0, $50 = 0.0, $51 = 0, $52 = 0.0, $53 = 0.0, $54 = 0; - var $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0, $59 = 0.0, $6 = 0.0, $60 = 0.0, $61 = 0.0, $62 = 0, $63 = 0.0, $64 = 0.0, $65 = 0.0, $66 = 0, $67 = 0.0, $68 = 0.0, $69 = 0, $7 = 0.0, $70 = 0.0, $71 = 0.0, $72 = 0.0; - var $73 = 0, $74 = 0.0, $75 = 0.0, $76 = 0.0, $77 = 0, $78 = 0.0, $79 = 0.0, $8 = 0.0, $80 = 0.0, $81 = 0.0, $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0.0, $86 = 0.0, $87 = 0.0, $88 = 0.0, $89 = 0.0, $9 = 0, $90 = 0.0; - var $91 = 0.0, $92 = 0.0, $93 = 0.0, $94 = 0.0, $95 = 0.0, $96 = 0.0, $97 = 0.0, $98 = 0.0, $99 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $0 = +HEAPF32[$right>>2]; - $1 = +HEAPF32[$left>>2]; - $2 = $0 * $1; - $3 = ((($right)) + 16|0); - $4 = +HEAPF32[$3>>2]; - $5 = ((($left)) + 4|0); - $6 = +HEAPF32[$5>>2]; - $7 = $4 * $6; - $8 = $2 + $7; - $9 = ((($right)) + 32|0); - $10 = +HEAPF32[$9>>2]; - $11 = ((($left)) + 8|0); - $12 = +HEAPF32[$11>>2]; - $13 = $10 * $12; - $14 = $8 + $13; - $15 = ((($right)) + 48|0); - $16 = +HEAPF32[$15>>2]; - $17 = ((($left)) + 12|0); - $18 = +HEAPF32[$17>>2]; - $19 = $16 * $18; - $20 = $14 + $19; - $21 = ((($left)) + 16|0); - $22 = +HEAPF32[$21>>2]; - $23 = $0 * $22; - $24 = ((($left)) + 20|0); - $25 = +HEAPF32[$24>>2]; - $26 = $4 * $25; - $27 = $23 + $26; - $28 = ((($left)) + 24|0); - $29 = +HEAPF32[$28>>2]; - $30 = $10 * $29; - $31 = $27 + $30; - $32 = ((($left)) + 28|0); - $33 = +HEAPF32[$32>>2]; - $34 = $16 * $33; - $35 = $31 + $34; - $36 = ((($left)) + 32|0); - $37 = +HEAPF32[$36>>2]; - $38 = $0 * $37; - $39 = ((($left)) + 36|0); - $40 = +HEAPF32[$39>>2]; - $41 = $4 * $40; - $42 = $38 + $41; - $43 = ((($left)) + 40|0); - $44 = +HEAPF32[$43>>2]; - $45 = $10 * $44; - $46 = $42 + $45; - $47 = ((($left)) + 44|0); - $48 = +HEAPF32[$47>>2]; - $49 = $16 * $48; - $50 = $46 + $49; - $51 = ((($left)) + 48|0); - $52 = +HEAPF32[$51>>2]; - $53 = $0 * $52; - $54 = ((($left)) + 52|0); - $55 = +HEAPF32[$54>>2]; - $56 = $4 * $55; - $57 = $53 + $56; - $58 = ((($left)) + 56|0); - $59 = +HEAPF32[$58>>2]; - $60 = $10 * $59; - $61 = $57 + $60; - $62 = ((($left)) + 60|0); - $63 = +HEAPF32[$62>>2]; - $64 = $16 * $63; - $65 = $61 + $64; - $66 = ((($right)) + 4|0); - $67 = +HEAPF32[$66>>2]; - $68 = $1 * $67; - $69 = ((($right)) + 20|0); - $70 = +HEAPF32[$69>>2]; - $71 = $6 * $70; - $72 = $68 + $71; - $73 = ((($right)) + 36|0); - $74 = +HEAPF32[$73>>2]; - $75 = $12 * $74; - $76 = $72 + $75; - $77 = ((($right)) + 52|0); - $78 = +HEAPF32[$77>>2]; - $79 = $18 * $78; - $80 = $76 + $79; - $81 = $22 * $67; - $82 = $25 * $70; - $83 = $81 + $82; - $84 = $29 * $74; - $85 = $83 + $84; - $86 = $33 * $78; - $87 = $85 + $86; - $88 = $37 * $67; - $89 = $40 * $70; - $90 = $88 + $89; - $91 = $44 * $74; - $92 = $90 + $91; - $93 = $48 * $78; - $94 = $92 + $93; - $95 = $52 * $67; - $96 = $55 * $70; - $97 = $95 + $96; - $98 = $59 * $74; - $99 = $97 + $98; - $100 = $63 * $78; - $101 = $99 + $100; - $102 = ((($right)) + 8|0); - $103 = +HEAPF32[$102>>2]; - $104 = $1 * $103; - $105 = ((($right)) + 24|0); - $106 = +HEAPF32[$105>>2]; - $107 = $6 * $106; - $108 = $104 + $107; - $109 = ((($right)) + 40|0); - $110 = +HEAPF32[$109>>2]; - $111 = $12 * $110; - $112 = $108 + $111; - $113 = ((($right)) + 56|0); - $114 = +HEAPF32[$113>>2]; - $115 = $18 * $114; - $116 = $112 + $115; - $117 = $22 * $103; - $118 = $25 * $106; - $119 = $117 + $118; - $120 = $29 * $110; - $121 = $119 + $120; - $122 = $33 * $114; - $123 = $121 + $122; - $124 = $37 * $103; - $125 = $40 * $106; - $126 = $124 + $125; - $127 = $44 * $110; - $128 = $126 + $127; - $129 = $48 * $114; - $130 = $128 + $129; - $131 = $52 * $103; - $132 = $55 * $106; - $133 = $131 + $132; - $134 = $59 * $110; - $135 = $133 + $134; - $136 = $63 * $114; - $137 = $135 + $136; - $138 = ((($right)) + 12|0); - $139 = +HEAPF32[$138>>2]; - $140 = $1 * $139; - $141 = ((($right)) + 28|0); - $142 = +HEAPF32[$141>>2]; - $143 = $6 * $142; - $144 = $140 + $143; - $145 = ((($right)) + 44|0); - $146 = +HEAPF32[$145>>2]; - $147 = $12 * $146; - $148 = $144 + $147; - $149 = ((($right)) + 60|0); - $150 = +HEAPF32[$149>>2]; - $151 = $18 * $150; - $152 = $148 + $151; - $153 = $22 * $139; - $154 = $25 * $142; - $155 = $153 + $154; - $156 = $29 * $146; - $157 = $155 + $156; - $158 = $33 * $150; - $159 = $157 + $158; - $160 = $37 * $139; - $161 = $40 * $142; - $162 = $160 + $161; - $163 = $44 * $146; - $164 = $162 + $163; - $165 = $48 * $150; - $166 = $164 + $165; - $167 = $52 * $139; - $168 = $55 * $142; - $169 = $167 + $168; - $170 = $59 * $146; - $171 = $169 + $170; - $172 = $63 * $150; - $173 = $171 + $172; - HEAPF32[$agg$result>>2] = $20; - $174 = ((($agg$result)) + 4|0); - HEAPF32[$174>>2] = $80; - $175 = ((($agg$result)) + 8|0); - HEAPF32[$175>>2] = $116; - $176 = ((($agg$result)) + 12|0); - HEAPF32[$176>>2] = $152; - $177 = ((($agg$result)) + 16|0); - HEAPF32[$177>>2] = $35; - $178 = ((($agg$result)) + 20|0); - HEAPF32[$178>>2] = $87; - $179 = ((($agg$result)) + 24|0); - HEAPF32[$179>>2] = $123; - $180 = ((($agg$result)) + 28|0); - HEAPF32[$180>>2] = $159; - $181 = ((($agg$result)) + 32|0); - HEAPF32[$181>>2] = $50; - $182 = ((($agg$result)) + 36|0); - HEAPF32[$182>>2] = $94; - $183 = ((($agg$result)) + 40|0); - HEAPF32[$183>>2] = $130; - $184 = ((($agg$result)) + 44|0); - HEAPF32[$184>>2] = $166; - $185 = ((($agg$result)) + 48|0); - HEAPF32[$185>>2] = $65; - $186 = ((($agg$result)) + 52|0); - HEAPF32[$186>>2] = $101; - $187 = ((($agg$result)) + 56|0); - HEAPF32[$187>>2] = $137; - $188 = ((($agg$result)) + 60|0); - HEAPF32[$188>>2] = $173; - return; -} -function _MatrixFrustum($agg$result,$left,$right,$bottom,$top,$near,$far) { - $agg$result = $agg$result|0; - $left = +$left; - $right = +$right; - $bottom = +$bottom; - $top = +$top; - $near = +$near; - $far = +$far; - var $0 = 0.0, $1 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $2 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0.0, $26 = 0.0; - var $27 = 0.0, $28 = 0.0, $29 = 0, $3 = 0.0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0.0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $5 = 0.0; - var $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $0 = $right - $left; - $1 = $0; - $2 = $top - $bottom; - $3 = $2; - $4 = $far - $near; - $5 = $4; - $6 = $near * 2.0; - $7 = $1; - $8 = $6 / $7; - $9 = $8; - $10 = $3; - $11 = $6 / $10; - $12 = $11; - $13 = $left + $right; - $14 = $13 / $7; - $15 = $14; - $16 = $bottom + $top; - $17 = $16 / $10; - $18 = $17; - $19 = $near + $far; - $20 = -$19; - $21 = $5; - $22 = $20 / $21; - $23 = $22; - $24 = $near * $far; - $25 = $24 * 2.0; - $26 = -$25; - $27 = $26 / $21; - $28 = $27; - HEAPF32[$agg$result>>2] = $9; - $29 = ((($agg$result)) + 4|0); - HEAPF32[$29>>2] = 0.0; - $30 = ((($agg$result)) + 8|0); - HEAPF32[$30>>2] = $15; - $31 = ((($agg$result)) + 12|0); - HEAPF32[$31>>2] = 0.0; - $32 = ((($agg$result)) + 16|0); - HEAPF32[$32>>2] = 0.0; - $33 = ((($agg$result)) + 20|0); - HEAPF32[$33>>2] = $12; - $34 = ((($agg$result)) + 24|0); - HEAPF32[$34>>2] = $18; - $35 = ((($agg$result)) + 28|0); - HEAPF32[$35>>2] = 0.0; - $36 = ((($agg$result)) + 32|0); - HEAPF32[$36>>2] = 0.0; - $37 = ((($agg$result)) + 36|0); - HEAPF32[$37>>2] = 0.0; - $38 = ((($agg$result)) + 40|0); - HEAPF32[$38>>2] = $23; - $39 = ((($agg$result)) + 44|0); - HEAPF32[$39>>2] = $28; - $40 = ((($agg$result)) + 48|0); - HEAPF32[$40>>2] = 0.0; - $41 = ((($agg$result)) + 52|0); - HEAPF32[$41>>2] = 0.0; - $42 = ((($agg$result)) + 56|0); - HEAPF32[$42>>2] = -1.0; - $43 = ((($agg$result)) + 60|0); - HEAPF32[$43>>2] = 0.0; - return; -} -function _MatrixOrtho($agg$result,$left,$right,$bottom,$top,$near,$far) { - $agg$result = $agg$result|0; - $left = +$left; - $right = +$right; - $bottom = +$bottom; - $top = +$top; - $near = +$near; - $far = +$far; - var $0 = 0.0, $1 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $2 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0.0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0; - var sp = 0; - sp = STACKTOP; - $0 = $right - $left; - $1 = $0; - $2 = $top - $bottom; - $3 = $2; - $4 = $far - $near; - $5 = $4; - $6 = 2.0 / $1; - $7 = 2.0 / $3; - $8 = -2.0 / $5; - $9 = $left + $right; - $10 = -$9; - $11 = $1; - $12 = $10 / $11; - $13 = $12; - $14 = $bottom + $top; - $15 = -$14; - $16 = $3; - $17 = $15 / $16; - $18 = $17; - $19 = $near + $far; - $20 = -$19; - $21 = $5; - $22 = $20 / $21; - $23 = $22; - HEAPF32[$agg$result>>2] = $6; - $24 = ((($agg$result)) + 4|0); - HEAPF32[$24>>2] = 0.0; - $25 = ((($agg$result)) + 8|0); - HEAPF32[$25>>2] = 0.0; - $26 = ((($agg$result)) + 12|0); - HEAPF32[$26>>2] = $13; - $27 = ((($agg$result)) + 16|0); - HEAPF32[$27>>2] = 0.0; - $28 = ((($agg$result)) + 20|0); - HEAPF32[$28>>2] = $7; - $29 = ((($agg$result)) + 24|0); - HEAPF32[$29>>2] = 0.0; - $30 = ((($agg$result)) + 28|0); - HEAPF32[$30>>2] = $18; - $31 = ((($agg$result)) + 32|0); - HEAPF32[$31>>2] = 0.0; - $32 = ((($agg$result)) + 36|0); - HEAPF32[$32>>2] = 0.0; - $33 = ((($agg$result)) + 40|0); - HEAPF32[$33>>2] = $8; - $34 = ((($agg$result)) + 44|0); - HEAPF32[$34>>2] = $23; - $35 = ((($agg$result)) + 48|0); - HEAPF32[$35>>2] = 0.0; - $36 = ((($agg$result)) + 52|0); - HEAPF32[$36>>2] = 0.0; - $37 = ((($agg$result)) + 56|0); - HEAPF32[$37>>2] = 0.0; - $38 = ((($agg$result)) + 60|0); - HEAPF32[$38>>2] = 1.0; - return; -} -function _MatrixLookAt($agg$result,$eye,$target,$up) { - $agg$result = $agg$result|0; - $eye = $eye|0; - $target = $target|0; - $up = $up|0; - var $0 = 0.0, $1 = 0, $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0, $18 = 0.0, $19 = 0, $2 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0.0, $26 = 0.0; - var $27 = 0.0, $28 = 0, $29 = 0.0, $3 = 0, $30 = 0, $31 = 0.0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0.0, $36 = 0.0, $37 = 0.0, $38 = 0, $39 = 0, $4 = 0.0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0.0, $50 = 0, $51 = 0, $52 = 0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, $x = 0, $x$byval_copy = 0, $y = 0, $z = 0, $z$byval_copy1 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; - $x$byval_copy = sp + 48|0; - $z$byval_copy1 = sp + 36|0; - $z = sp + 24|0; - $x = sp + 12|0; - $y = sp; - ;HEAP32[$z$byval_copy1>>2]=HEAP32[$eye>>2]|0;HEAP32[$z$byval_copy1+4>>2]=HEAP32[$eye+4>>2]|0;HEAP32[$z$byval_copy1+8>>2]=HEAP32[$eye+8>>2]|0; - ;HEAP32[$x$byval_copy>>2]=HEAP32[$target>>2]|0;HEAP32[$x$byval_copy+4>>2]=HEAP32[$target+4>>2]|0;HEAP32[$x$byval_copy+8>>2]=HEAP32[$target+8>>2]|0; - _VectorSubtract($z,$z$byval_copy1,$x$byval_copy); - _VectorNormalize($z); - ;HEAP32[$z$byval_copy1>>2]=HEAP32[$up>>2]|0;HEAP32[$z$byval_copy1+4>>2]=HEAP32[$up+4>>2]|0;HEAP32[$z$byval_copy1+8>>2]=HEAP32[$up+8>>2]|0; - ;HEAP32[$x$byval_copy>>2]=HEAP32[$z>>2]|0;HEAP32[$x$byval_copy+4>>2]=HEAP32[$z+4>>2]|0;HEAP32[$x$byval_copy+8>>2]=HEAP32[$z+8>>2]|0; - _VectorCrossProduct($x,$z$byval_copy1,$x$byval_copy); - _VectorNormalize($x); - ;HEAP32[$z$byval_copy1>>2]=HEAP32[$z>>2]|0;HEAP32[$z$byval_copy1+4>>2]=HEAP32[$z+4>>2]|0;HEAP32[$z$byval_copy1+8>>2]=HEAP32[$z+8>>2]|0; - ;HEAP32[$x$byval_copy>>2]=HEAP32[$x>>2]|0;HEAP32[$x$byval_copy+4>>2]=HEAP32[$x+4>>2]|0;HEAP32[$x$byval_copy+8>>2]=HEAP32[$x+8>>2]|0; - _VectorCrossProduct($y,$z$byval_copy1,$x$byval_copy); - _VectorNormalize($y); - $0 = +HEAPF32[$x>>2]; - $1 = ((($x)) + 4|0); - $2 = +HEAPF32[$1>>2]; - $3 = ((($x)) + 8|0); - $4 = +HEAPF32[$3>>2]; - $5 = +HEAPF32[$eye>>2]; - $6 = $0 * $5; - $7 = ((($eye)) + 4|0); - $8 = +HEAPF32[$7>>2]; - $9 = $2 * $8; - $10 = $6 + $9; - $11 = ((($eye)) + 8|0); - $12 = +HEAPF32[$11>>2]; - $13 = $4 * $12; - $14 = $10 + $13; - $15 = -$14; - $16 = +HEAPF32[$y>>2]; - $17 = ((($y)) + 4|0); - $18 = +HEAPF32[$17>>2]; - $19 = ((($y)) + 8|0); - $20 = +HEAPF32[$19>>2]; - $21 = $5 * $16; - $22 = $8 * $18; - $23 = $21 + $22; - $24 = $12 * $20; - $25 = $23 + $24; - $26 = -$25; - $27 = +HEAPF32[$z>>2]; - $28 = ((($z)) + 4|0); - $29 = +HEAPF32[$28>>2]; - $30 = ((($z)) + 8|0); - $31 = +HEAPF32[$30>>2]; - $32 = $5 * $27; - $33 = $8 * $29; - $34 = $32 + $33; - $35 = $12 * $31; - $36 = $34 + $35; - $37 = -$36; - HEAPF32[$agg$result>>2] = $0; - $38 = ((($agg$result)) + 4|0); - HEAPF32[$38>>2] = $16; - $39 = ((($agg$result)) + 8|0); - HEAPF32[$39>>2] = $27; - $40 = ((($agg$result)) + 12|0); - HEAPF32[$40>>2] = 0.0; - $41 = ((($agg$result)) + 16|0); - HEAPF32[$41>>2] = $2; - $42 = ((($agg$result)) + 20|0); - HEAPF32[$42>>2] = $18; - $43 = ((($agg$result)) + 24|0); - HEAPF32[$43>>2] = $29; - $44 = ((($agg$result)) + 28|0); - HEAPF32[$44>>2] = 0.0; - $45 = ((($agg$result)) + 32|0); - HEAPF32[$45>>2] = $4; - $46 = ((($agg$result)) + 36|0); - HEAPF32[$46>>2] = $20; - $47 = ((($agg$result)) + 40|0); - HEAPF32[$47>>2] = $31; - $48 = ((($agg$result)) + 44|0); - HEAPF32[$48>>2] = 0.0; - $49 = ((($agg$result)) + 48|0); - HEAPF32[$49>>2] = $15; - $50 = ((($agg$result)) + 52|0); - HEAPF32[$50>>2] = $26; - $51 = ((($agg$result)) + 56|0); - HEAPF32[$51>>2] = $37; - $52 = ((($agg$result)) + 60|0); - HEAPF32[$52>>2] = 1.0; - STACKTOP = sp;return; -} -function _InitWindow($width,$height,$title) { - $width = $width|0; - $height = $height|0; - $title = $title|0; - var $0 = 0, $1 = 0.0, $2 = 0.0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $vararg_buffer = sp; - _TraceLog(0,10779,$vararg_buffer); - HEAP32[812>>2] = $title; - _InitDisplay($width,$height); - _InitGraphics(); - _LoadDefaultFont(); - _InitTimer(); - (_emscripten_set_fullscreenchange_callback((0|0),(0|0),1,(4|0))|0); - (_emscripten_set_touchstart_callback((10808|0),(0|0),1,(5|0))|0); - (_emscripten_set_touchend_callback((10808|0),(0|0),1,(5|0))|0); - (_emscripten_set_touchmove_callback((10808|0),(0|0),1,(5|0))|0); - (_emscripten_set_touchcancel_callback((10808|0),(0|0),1,(5|0))|0); - $0 = HEAP32[816>>2]|0; - $1 = (+($0|0)); - $2 = $1 * 0.5; - HEAPF32[8>>2] = $2; - $3 = HEAP32[820>>2]|0; - $4 = (+($3|0)); - $5 = $4 * 0.5; - HEAPF32[(12)>>2] = $5; - $6 = HEAP32[824>>2]|0; - $7 = ($6|0)==(0); - if ($7) { - STACKTOP = sp;return; - } - _SetTargetFPS(60); - _LogoAnimation(); - STACKTOP = sp;return; -} -function _SetTargetFPS($fps) { - $fps = $fps|0; - var $0 = 0.0, $1 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $vararg_buffer = sp; - $0 = (+($fps|0)); - $1 = 1.0 / $0; - HEAPF64[16>>3] = $1; - $2 = $1; - $3 = $2 * 1000.0; - $4 = $3; - HEAPF64[$vararg_buffer>>3] = $4; - _TraceLog(0,10816,$vararg_buffer); - STACKTOP = sp;return; -} -function _CloseWindow() { - var $0 = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $vararg_buffer = sp; - _UnloadDefaultFont(); - _rlglClose(); - $0 = HEAP32[828>>2]|0; - _glfwDestroyWindow(($0|0)); - _glfwTerminate(); - _TraceLog(0,10860,$vararg_buffer); - STACKTOP = sp;return; -} -function _GetScreenWidth() { - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[816>>2]|0; - return ($0|0); -} -function _GetScreenHeight() { - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[820>>2]|0; - return ($0|0); -} -function _ClearBackground($color) { - $color = $color|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP8[$color>>0]|0; - $1 = ((($color)) + 1|0); - $2 = HEAP8[$1>>0]|0; - $3 = ((($color)) + 2|0); - $4 = HEAP8[$3>>0]|0; - $5 = ((($color)) + 3|0); - $6 = HEAP8[$5>>0]|0; - _rlClearColor($0,$2,$4,$6); - return; -} -function _BeginDrawing() { - var $0 = 0.0, $1 = 0.0, $2 = 0.0, $3 = 0, $4 = 0, $downscaleView$byval_copy = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; - $downscaleView$byval_copy = sp; - $0 = (+_GetTime()); - HEAPF64[24>>3] = $0; - $1 = +HEAPF64[32>>3]; - $2 = $0 - $1; - HEAPF64[40>>3] = $2; - HEAPF64[32>>3] = $0; - $3 = (_IsPosproShaderEnabled()|0); - $4 = ($3|0)==(0); - if (!($4)) { - _rlEnablePostproFBO(); - } - _rlClearScreenBuffers(); - _rlLoadIdentity(); - dest=$downscaleView$byval_copy; src=840; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - (_MatrixToFloat($downscaleView$byval_copy)|0); - _rlMultMatrixf(904); - STACKTOP = sp;return; -} -function _MatrixToFloat($mat) { - $mat = $mat|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[$mat>>2]|0; - HEAP32[904>>2] = $0; - $1 = ((($mat)) + 4|0); - $2 = HEAP32[$1>>2]|0; - HEAP32[(908)>>2] = $2; - $3 = ((($mat)) + 8|0); - $4 = HEAP32[$3>>2]|0; - HEAP32[(912)>>2] = $4; - $5 = ((($mat)) + 12|0); - $6 = HEAP32[$5>>2]|0; - HEAP32[(916)>>2] = $6; - $7 = ((($mat)) + 16|0); - $8 = HEAP32[$7>>2]|0; - HEAP32[(920)>>2] = $8; - $9 = ((($mat)) + 20|0); - $10 = HEAP32[$9>>2]|0; - HEAP32[(924)>>2] = $10; - $11 = ((($mat)) + 24|0); - $12 = HEAP32[$11>>2]|0; - HEAP32[(928)>>2] = $12; - $13 = ((($mat)) + 28|0); - $14 = HEAP32[$13>>2]|0; - HEAP32[(932)>>2] = $14; - $15 = ((($mat)) + 32|0); - $16 = HEAP32[$15>>2]|0; - HEAP32[(936)>>2] = $16; - $17 = ((($mat)) + 36|0); - $18 = HEAP32[$17>>2]|0; - HEAP32[(940)>>2] = $18; - $19 = ((($mat)) + 40|0); - $20 = HEAP32[$19>>2]|0; - HEAP32[(944)>>2] = $20; - $21 = ((($mat)) + 44|0); - $22 = HEAP32[$21>>2]|0; - HEAP32[(948)>>2] = $22; - $23 = ((($mat)) + 48|0); - $24 = HEAP32[$23>>2]|0; - HEAP32[(952)>>2] = $24; - $25 = ((($mat)) + 52|0); - $26 = HEAP32[$25>>2]|0; - HEAP32[(956)>>2] = $26; - $27 = ((($mat)) + 56|0); - $28 = HEAP32[$27>>2]|0; - HEAP32[(960)>>2] = $28; - $29 = ((($mat)) + 60|0); - $30 = HEAP32[$29>>2]|0; - HEAP32[(964)>>2] = $30; - return (904|0); -} -function _EndDrawing() { - var $0 = 0, $1 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - _rlglDraw(); - $0 = (_IsPosproShaderEnabled()|0); - $1 = ($0|0)==(0); - if (!($1)) { - _rlglDrawPostpro(); - } - _SwapBuffers(); - _PollInputEvents(); - $2 = (+_GetTime()); - HEAPF64[24>>3] = $2; - $3 = +HEAPF64[32>>3]; - $4 = $2 - $3; - HEAPF64[48>>3] = $4; - HEAPF64[32>>3] = $2; - $5 = +HEAPF64[40>>3]; - $6 = $5 + $4; - HEAPF64[56>>3] = $6; - $7 = +HEAPF64[16>>3]; - $8 = $6 < $7; - if (!($8)) { - return; - } - while(1) { - $9 = (+_GetTime()); - HEAPF64[24>>3] = $9; - $10 = +HEAPF64[32>>3]; - $11 = $9 - $10; - HEAPF64[32>>3] = $9; - $12 = +HEAPF64[56>>3]; - $13 = $12 + $11; - HEAPF64[56>>3] = $13; - $14 = +HEAPF64[16>>3]; - $15 = $13 < $14; - if (!($15)) { - break; - } - } - return; -} -function _Begin3dMode($camera) { - $camera = $camera|0; - var $$byval_copy = 0, $$byval_copy1 = 0, $0 = 0, $1 = 0.0, $2 = 0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0, $matView = 0, $matView$byval_copy = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 160|0; - $matView$byval_copy = sp + 88|0; - $$byval_copy1 = sp + 76|0; - $$byval_copy = sp + 64|0; - $matView = sp; - _rlglDraw(); - _rlMatrixMode(0); - _rlPushMatrix(); - _rlLoadIdentity(); - $0 = HEAP32[816>>2]|0; - $1 = (+($0|0)); - $2 = HEAP32[820>>2]|0; - $3 = (+($2|0)); - $4 = $1 / $3; - $5 = $4; - $6 = $5 * 0.041421356237309505; - $7 = -$6; - _rlFrustum($7,$6,-0.041421356237309505,0.041421356237309505,0.10000000149011612,1000.0); - _rlMatrixMode(1); - _rlLoadIdentity(); - $8 = ((($camera)) + 12|0); - $9 = ((($camera)) + 24|0); - ;HEAP32[$$byval_copy>>2]=HEAP32[$camera>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$camera+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$camera+8>>2]|0; - ;HEAP32[$$byval_copy1>>2]=HEAP32[$8>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$8+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$8+8>>2]|0; - ;HEAP32[$matView$byval_copy>>2]=HEAP32[$9>>2]|0;HEAP32[$matView$byval_copy+4>>2]=HEAP32[$9+4>>2]|0;HEAP32[$matView$byval_copy+8>>2]=HEAP32[$9+8>>2]|0; - _MatrixLookAt($matView,$$byval_copy,$$byval_copy1,$matView$byval_copy); - dest=$matView$byval_copy; src=$matView; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - (_MatrixToFloat($matView$byval_copy)|0); - _rlMultMatrixf(904); - STACKTOP = sp;return; -} -function _End3dMode() { - var label = 0, sp = 0; - sp = STACKTOP; - _rlglDraw(); - _rlMatrixMode(0); - _rlPopMatrix(); - _rlMatrixMode(1); - _rlLoadIdentity(); - return; -} -function _Fade($agg$result,$color,$alpha) { - $agg$result = $agg$result|0; - $color = $color|0; - $alpha = +$alpha; - var $$0 = 0.0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = $alpha < 0.0; - if ($0) { - $$0 = 0.0; - } else { - $1 = $alpha > 1.0; - if ($1) { - $$0 = 1.0; - } else { - $$0 = $alpha; - } - } - $2 = ((($color)) + 3|0); - $3 = HEAP8[$2>>0]|0; - $4 = (+($3&255)); - $5 = $$0 * $4; - $6 = HEAP8[$color>>0]|0; - HEAP8[$agg$result>>0] = $6; - $7 = ((($agg$result)) + 1|0); - $8 = ((($color)) + 1|0); - $9 = HEAP8[$8>>0]|0; - HEAP8[$7>>0] = $9; - $10 = ((($agg$result)) + 2|0); - $11 = ((($color)) + 2|0); - $12 = HEAP8[$11>>0]|0; - HEAP8[$10>>0] = $12; - $13 = ((($agg$result)) + 3|0); - $14 = (~~(($5))&255); - HEAP8[$13>>0] = $14; - return; -} -function _IsKeyPressed($key) { - $key = $key|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $or$cond = 0, $pressed$0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (10888 + ($key)|0); - $1 = HEAP8[$0>>0]|0; - $2 = (11400 + ($key)|0); - $3 = HEAP8[$2>>0]|0; - $4 = ($1<<24>>24)!=($3<<24>>24); - $5 = ($1<<24>>24)==(1); - $or$cond = $5 & $4; - $pressed$0 = $or$cond&1; - return ($pressed$0|0); -} -function _IsMouseButtonPressed($button) { - $button = $button|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $or$cond = 0, $pressed$0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (11912 + ($button)|0); - $1 = HEAP8[$0>>0]|0; - $2 = (11915 + ($button)|0); - $3 = HEAP8[$2>>0]|0; - $4 = ($1<<24>>24)!=($3<<24>>24); - $5 = ($1<<24>>24)==(1); - $or$cond = $5 & $4; - $pressed$0 = $or$cond&1; - return ($pressed$0|0); -} -function _IsMouseButtonReleased($button) { - $button = $button|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $or$cond = 0, $released$0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (11912 + ($button)|0); - $1 = HEAP8[$0>>0]|0; - $2 = (11915 + ($button)|0); - $3 = HEAP8[$2>>0]|0; - $4 = ($1<<24>>24)!=($3<<24>>24); - $5 = ($1<<24>>24)==(0); - $or$cond = $5 & $4; - $released$0 = $or$cond&1; - return ($released$0|0); -} -function _GetMousePosition($agg$result) { - $agg$result = $agg$result|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = 8; - $1 = $0; - $2 = HEAP32[$1>>2]|0; - $3 = (($0) + 4)|0; - $4 = $3; - $5 = HEAP32[$4>>2]|0; - $6 = $agg$result; - $7 = $6; - HEAP32[$7>>2] = $2; - $8 = (($6) + 4)|0; - $9 = $8; - HEAP32[$9>>2] = $5; - return; -} -function _mystrdup($str) { - $str = $str|0; - var $$0 = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_strlen($str)|0); - $1 = (($0) + 1)|0; - $2 = (_malloc($1)|0); - $3 = ($2|0)==(0|0); - if ($3) { - $$0 = 0; - return ($$0|0); - } - _memcpy(($2|0),($str|0),($1|0))|0; - $$0 = $2; - return ($$0|0); -} -function _rlMatrixMode($mode) { - $mode = $mode|0; - var label = 0, sp = 0; - sp = STACKTOP; - switch ($mode|0) { - case 0: { - HEAP32[1068>>2] = 1004; - break; - } - case 1: { - HEAP32[1068>>2] = 1072; - break; - } - default: { - } - } - HEAP32[1136>>2] = $mode; - return; -} -function _rlPushMatrix() { - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $vararg_buffer = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $vararg_buffer = sp; - $0 = HEAP32[1140>>2]|0; - $1 = ($0|0)==(15); - if ($1) { - HEAP32[$vararg_buffer>>2] = 16; - _TraceLog(1,11918,$vararg_buffer); - } - $2 = HEAP32[1140>>2]|0; - $3 = (1144 + ($2<<6)|0); - $4 = HEAP32[1068>>2]|0; - dest=$3; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _rlLoadIdentity(); - $5 = HEAP32[1140>>2]|0; - $6 = (($5) + 1)|0; - HEAP32[1140>>2] = $6; - $7 = HEAP32[1136>>2]|0; - $8 = ($7|0)==(1); - if (!($8)) { - STACKTOP = sp;return; - } - HEAP32[2168>>2] = 1; - STACKTOP = sp;return; -} -function _rlLoadIdentity() { - var $0 = 0, $1 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; - $0 = sp; - $1 = HEAP32[1068>>2]|0; - _MatrixIdentity($0); - dest=$1; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; -} -function _rlPopMatrix() { - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[1140>>2]|0; - $1 = ($0|0)>(0); - if (!($1)) { - return; - } - $2 = HEAP32[1140>>2]|0; - $3 = (($2) + -1)|0; - $4 = (1144 + ($3<<6)|0); - $5 = HEAP32[1068>>2]|0; - _memmove(($5|0),($4|0),64)|0; - $6 = HEAP32[1140>>2]|0; - $7 = (($6) + -1)|0; - HEAP32[1140>>2] = $7; - return; -} -function _rlTranslatef($x,$y,$z) { - $x = +$x; - $y = +$y; - $z = +$z; - var $$byval_copy = 0, $0 = 0, $1 = 0, $matTranslation = 0, $matTranslation$byval_copy = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 256|0; - $matTranslation$byval_copy = sp + 192|0; - $$byval_copy = sp + 128|0; - $matTranslation = sp + 64|0; - $0 = sp; - _MatrixTranslate($matTranslation,$x,$y,$z); - _MatrixTranspose($matTranslation); - $1 = HEAP32[1068>>2]|0; - dest=$$byval_copy; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$matTranslation$byval_copy; src=$matTranslation; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixMultiply($0,$$byval_copy,$matTranslation$byval_copy); - dest=$1; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; -} -function _rlRotatef($angleDeg,$x,$y,$z) { - $angleDeg = +$angleDeg; - $x = +$x; - $y = +$y; - $z = +$z; - var $$byval_copy = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0, $axis = 0, $matRotation = 0, $matRotation$byval_copy = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 336|0; - $matRotation$byval_copy = sp + 272|0; - $$byval_copy = sp + 208|0; - $matRotation = sp + 144|0; - $axis = sp + 128|0; - $0 = sp + 64|0; - $1 = sp; - _MatrixIdentity($matRotation); - HEAPF32[$axis>>2] = $x; - $2 = ((($axis)) + 4|0); - HEAPF32[$2>>2] = $y; - $3 = ((($axis)) + 8|0); - HEAPF32[$3>>2] = $z; - _VectorNormalize($axis); - $4 = $angleDeg; - $5 = $4 * 0.017453292519943295; - $6 = $5; - ;HEAP32[$matRotation$byval_copy>>2]=HEAP32[$axis>>2]|0;HEAP32[$matRotation$byval_copy+4>>2]=HEAP32[$axis+4>>2]|0;HEAP32[$matRotation$byval_copy+8>>2]=HEAP32[$axis+8>>2]|0; - _MatrixRotate($0,$matRotation$byval_copy,$6); - dest=$matRotation; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixTranspose($matRotation); - $7 = HEAP32[1068>>2]|0; - dest=$$byval_copy; src=$7; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$matRotation$byval_copy; src=$matRotation; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixMultiply($1,$$byval_copy,$matRotation$byval_copy); - dest=$7; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; -} -function _rlMultMatrixf($m) { - $m = $m|0; - var $$byval_copy = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; - var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $mat = 0, $mat$byval_copy = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 256|0; - $mat$byval_copy = sp + 192|0; - $$byval_copy = sp + 128|0; - $mat = sp + 64|0; - $0 = sp; - $1 = HEAP32[$m>>2]|0; - HEAP32[$mat>>2] = $1; - $2 = ((($mat)) + 4|0); - $3 = ((($m)) + 4|0); - $4 = HEAP32[$3>>2]|0; - HEAP32[$2>>2] = $4; - $5 = ((($mat)) + 8|0); - $6 = ((($m)) + 8|0); - $7 = HEAP32[$6>>2]|0; - HEAP32[$5>>2] = $7; - $8 = ((($mat)) + 12|0); - $9 = ((($m)) + 12|0); - $10 = HEAP32[$9>>2]|0; - HEAP32[$8>>2] = $10; - $11 = ((($mat)) + 16|0); - $12 = ((($m)) + 16|0); - $13 = HEAP32[$12>>2]|0; - HEAP32[$11>>2] = $13; - $14 = ((($mat)) + 20|0); - $15 = ((($m)) + 20|0); - $16 = HEAP32[$15>>2]|0; - HEAP32[$14>>2] = $16; - $17 = ((($mat)) + 24|0); - $18 = ((($m)) + 24|0); - $19 = HEAP32[$18>>2]|0; - HEAP32[$17>>2] = $19; - $20 = ((($mat)) + 28|0); - $21 = ((($m)) + 28|0); - $22 = HEAP32[$21>>2]|0; - HEAP32[$20>>2] = $22; - $23 = ((($mat)) + 32|0); - $24 = ((($m)) + 32|0); - $25 = HEAP32[$24>>2]|0; - HEAP32[$23>>2] = $25; - $26 = ((($mat)) + 36|0); - $27 = ((($m)) + 36|0); - $28 = HEAP32[$27>>2]|0; - HEAP32[$26>>2] = $28; - $29 = ((($mat)) + 40|0); - $30 = ((($m)) + 40|0); - $31 = HEAP32[$30>>2]|0; - HEAP32[$29>>2] = $31; - $32 = ((($mat)) + 44|0); - $33 = ((($m)) + 44|0); - $34 = HEAP32[$33>>2]|0; - HEAP32[$32>>2] = $34; - $35 = ((($mat)) + 48|0); - $36 = ((($m)) + 48|0); - $37 = HEAP32[$36>>2]|0; - HEAP32[$35>>2] = $37; - $38 = ((($mat)) + 52|0); - $39 = ((($m)) + 52|0); - $40 = HEAP32[$39>>2]|0; - HEAP32[$38>>2] = $40; - $41 = ((($mat)) + 56|0); - $42 = ((($m)) + 56|0); - $43 = HEAP32[$42>>2]|0; - HEAP32[$41>>2] = $43; - $44 = ((($mat)) + 60|0); - $45 = ((($m)) + 60|0); - $46 = HEAP32[$45>>2]|0; - HEAP32[$44>>2] = $46; - $47 = HEAP32[1068>>2]|0; - dest=$$byval_copy; src=$47; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$mat$byval_copy; src=$mat; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixMultiply($0,$$byval_copy,$mat$byval_copy); - dest=$47; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; -} -function _rlFrustum($left,$right,$bottom,$top,$near,$far) { - $left = +$left; - $right = +$right; - $bottom = +$bottom; - $top = +$top; - $near = +$near; - $far = +$far; - var $$byval_copy = 0, $0 = 0, $1 = 0, $matPerps = 0, $matPerps$byval_copy = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 256|0; - $matPerps$byval_copy = sp + 192|0; - $$byval_copy = sp + 128|0; - $matPerps = sp + 64|0; - $0 = sp; - _MatrixFrustum($matPerps,$left,$right,$bottom,$top,$near,$far); - _MatrixTranspose($matPerps); - $1 = HEAP32[1068>>2]|0; - dest=$$byval_copy; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$matPerps$byval_copy; src=$matPerps; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixMultiply($0,$$byval_copy,$matPerps$byval_copy); - dest=$1; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; -} -function _rlOrtho($left,$right,$bottom,$top,$near,$far) { - $left = +$left; - $right = +$right; - $bottom = +$bottom; - $top = +$top; - $near = +$near; - $far = +$far; - var $$byval_copy = 0, $0 = 0, $1 = 0, $matOrtho = 0, $matOrtho$byval_copy = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 256|0; - $matOrtho$byval_copy = sp + 192|0; - $$byval_copy = sp + 128|0; - $matOrtho = sp + 64|0; - $0 = sp; - _MatrixOrtho($matOrtho,$left,$right,$bottom,$top,$near,$far); - _MatrixTranspose($matOrtho); - $1 = HEAP32[1068>>2]|0; - dest=$$byval_copy; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$matOrtho$byval_copy; src=$matOrtho; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixMultiply($0,$$byval_copy,$matOrtho$byval_copy); - dest=$1; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; -} -function _rlBegin($mode) { - $mode = $mode|0; - var label = 0, sp = 0; - sp = STACKTOP; - HEAP32[2172>>2] = $mode; - return; -} -function _rlEnd() { - var $$byval_copy = 0, $$lcssa = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0; - var $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0.0, $130 = 0, $131 = 0; - var $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0.0; - var $150 = 0, $151 = 0.0, $152 = 0.0, $16 = 0, $17 = 0.0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0; - var $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0; - var $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0; - var $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0; - var $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond = 0, $exitcond16 = 0, $exitcond17 = 0, $exitcond18 = 0, $i$013 = 0; - var $i1$011 = 0, $i2$04 = 0, $i4$05 = 0, $i6$09 = 0, $i7$07 = 0, $quads$1$promoted = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; - $$byval_copy = sp; - $0 = HEAP32[2168>>2]|0; - $1 = ($0|0)==(0); - if (!($1)) { - $2 = HEAP32[2176>>2]|0; - $3 = ($2|0)>(0); - if ($3) { - $i$013 = 0; - while(1) { - $4 = HEAP32[2180>>2]|0; - $5 = (($4) + (($i$013*12)|0)|0); - $6 = HEAP32[1068>>2]|0; - dest=$$byval_copy; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _VectorTransform($5,$$byval_copy); - $7 = (($i$013) + 1)|0; - $8 = HEAP32[2176>>2]|0; - $9 = ($7|0)<($8|0); - if ($9) { - $i$013 = $7; - } else { - $$lcssa = $8; - break; - } - } - HEAP32[2168>>2] = 0; - $10 = ($$lcssa|0)>(0); - if ($10) { - $i1$011 = 0; - while(1) { - $11 = HEAP32[2180>>2]|0; - $12 = (($11) + (($i1$011*12)|0)|0); - $13 = +HEAPF32[$12>>2]; - $14 = (((($11) + (($i1$011*12)|0)|0)) + 4|0); - $15 = +HEAPF32[$14>>2]; - $16 = (((($11) + (($i1$011*12)|0)|0)) + 8|0); - $17 = +HEAPF32[$16>>2]; - _rlVertex3f($13,$15,$17); - $18 = (($i1$011) + 1)|0; - $19 = HEAP32[2176>>2]|0; - $20 = ($18|0)<($19|0); - if ($20) { - $i1$011 = $18; - } else { - break; - } - } - } - } else { - HEAP32[2168>>2] = 0; - } - HEAP32[2176>>2] = 0; - } - $21 = HEAP32[2172>>2]|0; - switch ($21|0) { - case 0: { - $22 = HEAP32[2184>>2]|0; - $23 = HEAP32[2188>>2]|0; - $24 = ($22|0)>($23|0); - if (!($24)) { - $151 = +HEAPF32[2228>>2]; - $152 = $151 + 4.9999998736893758E-5; - HEAPF32[2228>>2] = $152; - STACKTOP = sp;return; - } - $25 = (($22) - ($23))|0; - $i2$04 = 0; - while(1) { - $26 = HEAP32[2188>>2]|0; - $27 = $26 << 2; - $28 = (($27) + -4)|0; - $29 = HEAP32[2192>>2]|0; - $30 = (($29) + ($28)|0); - $31 = HEAP8[$30>>0]|0; - $32 = (($29) + ($27)|0); - HEAP8[$32>>0] = $31; - $33 = HEAP32[2188>>2]|0; - $34 = $33 << 2; - $35 = (($34) + -3)|0; - $36 = HEAP32[2192>>2]|0; - $37 = (($36) + ($35)|0); - $38 = HEAP8[$37>>0]|0; - $39 = $34 | 1; - $40 = (($36) + ($39)|0); - HEAP8[$40>>0] = $38; - $41 = HEAP32[2188>>2]|0; - $42 = $41 << 2; - $43 = (($42) + -2)|0; - $44 = HEAP32[2192>>2]|0; - $45 = (($44) + ($43)|0); - $46 = HEAP8[$45>>0]|0; - $47 = $42 | 2; - $48 = (($44) + ($47)|0); - HEAP8[$48>>0] = $46; - $49 = HEAP32[2188>>2]|0; - $50 = $49 << 2; - $51 = (($50) + -1)|0; - $52 = HEAP32[2192>>2]|0; - $53 = (($52) + ($51)|0); - $54 = HEAP8[$53>>0]|0; - $55 = $50 | 3; - $56 = (($52) + ($55)|0); - HEAP8[$56>>0] = $54; - $57 = HEAP32[2188>>2]|0; - $58 = (($57) + 1)|0; - HEAP32[2188>>2] = $58; - $59 = (($i2$04) + 1)|0; - $exitcond = ($59|0)==($25|0); - if ($exitcond) { - break; - } else { - $i2$04 = $59; - } - } - $151 = +HEAPF32[2228>>2]; - $152 = $151 + 4.9999998736893758E-5; - HEAPF32[2228>>2] = $152; - STACKTOP = sp;return; - break; - } - case 1: { - $60 = HEAP32[2196>>2]|0; - $61 = HEAP32[2200>>2]|0; - $62 = ($60|0)>($61|0); - if (!($62)) { - $151 = +HEAPF32[2228>>2]; - $152 = $151 + 4.9999998736893758E-5; - HEAPF32[2228>>2] = $152; - STACKTOP = sp;return; - } - $63 = (($60) - ($61))|0; - $i4$05 = 0; - while(1) { - $64 = HEAP32[2200>>2]|0; - $65 = $64 << 2; - $66 = (($65) + -4)|0; - $67 = HEAP32[2204>>2]|0; - $68 = (($67) + ($66)|0); - $69 = HEAP8[$68>>0]|0; - $70 = (($67) + ($65)|0); - HEAP8[$70>>0] = $69; - $71 = HEAP32[2200>>2]|0; - $72 = $71 << 2; - $73 = (($72) + -3)|0; - $74 = HEAP32[2204>>2]|0; - $75 = (($74) + ($73)|0); - $76 = HEAP8[$75>>0]|0; - $77 = $72 | 1; - $78 = (($74) + ($77)|0); - HEAP8[$78>>0] = $76; - $79 = HEAP32[2200>>2]|0; - $80 = $79 << 2; - $81 = (($80) + -2)|0; - $82 = HEAP32[2204>>2]|0; - $83 = (($82) + ($81)|0); - $84 = HEAP8[$83>>0]|0; - $85 = $80 | 2; - $86 = (($82) + ($85)|0); - HEAP8[$86>>0] = $84; - $87 = HEAP32[2200>>2]|0; - $88 = $87 << 2; - $89 = (($88) + -1)|0; - $90 = HEAP32[2204>>2]|0; - $91 = (($90) + ($89)|0); - $92 = HEAP8[$91>>0]|0; - $93 = $88 | 3; - $94 = (($90) + ($93)|0); - HEAP8[$94>>0] = $92; - $95 = HEAP32[2200>>2]|0; - $96 = (($95) + 1)|0; - HEAP32[2200>>2] = $96; - $97 = (($i4$05) + 1)|0; - $exitcond16 = ($97|0)==($63|0); - if ($exitcond16) { - break; - } else { - $i4$05 = $97; - } - } - $151 = +HEAPF32[2228>>2]; - $152 = $151 + 4.9999998736893758E-5; - HEAPF32[2228>>2] = $152; - STACKTOP = sp;return; - break; - } - case 2: { - $98 = HEAP32[2208>>2]|0; - $99 = HEAP32[2212>>2]|0; - $100 = ($98|0)>($99|0); - if ($100) { - $101 = (($98) - ($99))|0; - $i6$09 = 0; - while(1) { - $102 = HEAP32[2212>>2]|0; - $103 = $102 << 2; - $104 = (($103) + -4)|0; - $105 = HEAP32[2216>>2]|0; - $106 = (($105) + ($104)|0); - $107 = HEAP8[$106>>0]|0; - $108 = (($105) + ($103)|0); - HEAP8[$108>>0] = $107; - $109 = HEAP32[2212>>2]|0; - $110 = $109 << 2; - $111 = (($110) + -3)|0; - $112 = HEAP32[2216>>2]|0; - $113 = (($112) + ($111)|0); - $114 = HEAP8[$113>>0]|0; - $115 = $110 | 1; - $116 = (($112) + ($115)|0); - HEAP8[$116>>0] = $114; - $117 = HEAP32[2212>>2]|0; - $118 = $117 << 2; - $119 = (($118) + -2)|0; - $120 = HEAP32[2216>>2]|0; - $121 = (($120) + ($119)|0); - $122 = HEAP8[$121>>0]|0; - $123 = $118 | 2; - $124 = (($120) + ($123)|0); - HEAP8[$124>>0] = $122; - $125 = HEAP32[2212>>2]|0; - $126 = $125 << 2; - $127 = (($126) + -1)|0; - $128 = HEAP32[2216>>2]|0; - $129 = (($128) + ($127)|0); - $130 = HEAP8[$129>>0]|0; - $131 = $126 | 3; - $132 = (($128) + ($131)|0); - HEAP8[$132>>0] = $130; - $133 = HEAP32[2212>>2]|0; - $134 = (($133) + 1)|0; - HEAP32[2212>>2] = $134; - $135 = (($i6$09) + 1)|0; - $exitcond18 = ($135|0)==($101|0); - if ($exitcond18) { - break; - } else { - $i6$09 = $135; - } - } - } - $136 = HEAP32[2208>>2]|0; - $137 = HEAP32[2220>>2]|0; - $138 = ($136|0)>($137|0); - if (!($138)) { - $151 = +HEAPF32[2228>>2]; - $152 = $151 + 4.9999998736893758E-5; - HEAPF32[2228>>2] = $152; - STACKTOP = sp;return; - } - $139 = HEAP32[2224>>2]|0; - $quads$1$promoted = HEAP32[2220>>2]|0; - $140 = (($136) + ($quads$1$promoted))|0; - $141 = (($136) - ($137))|0; - $143 = $quads$1$promoted;$i7$07 = 0; - while(1) { - $142 = $143 << 1; - $144 = (($139) + ($142<<2)|0); - HEAPF32[$144>>2] = 0.0; - $145 = $143 << 1; - $146 = $145 | 1; - $147 = (($139) + ($146<<2)|0); - HEAPF32[$147>>2] = 0.0; - $148 = (($143) + 1)|0; - $149 = (($i7$07) + 1)|0; - $exitcond17 = ($149|0)==($141|0); - if ($exitcond17) { - break; - } else { - $143 = $148;$i7$07 = $149; - } - } - $150 = (($140) - ($137))|0; - HEAP32[2220>>2] = $150; - $151 = +HEAPF32[2228>>2]; - $152 = $151 + 4.9999998736893758E-5; - HEAPF32[2228>>2] = $152; - STACKTOP = sp;return; - break; - } - default: { - $151 = +HEAPF32[2228>>2]; - $152 = $151 + 4.9999998736893758E-5; - HEAPF32[2228>>2] = $152; - STACKTOP = sp;return; - } - } -} -function _rlVertex3f($x,$y,$z) { - $x = +$x; - $y = +$y; - $z = +$z; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; - var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer3 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $vararg_buffer3 = sp + 16|0; - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $0 = HEAP32[2168>>2]|0; - $1 = ($0|0)==(0); - if (!($1)) { - $2 = HEAP32[2176>>2]|0; - $3 = HEAP32[2180>>2]|0; - $4 = (($3) + (($2*12)|0)|0); - HEAPF32[$4>>2] = $x; - $5 = HEAP32[2176>>2]|0; - $6 = HEAP32[2180>>2]|0; - $7 = (((($6) + (($5*12)|0)|0)) + 4|0); - HEAPF32[$7>>2] = $y; - $8 = HEAP32[2176>>2]|0; - $9 = HEAP32[2180>>2]|0; - $10 = (((($9) + (($8*12)|0)|0)) + 8|0); - HEAPF32[$10>>2] = $z; - $11 = HEAP32[2176>>2]|0; - $12 = (($11) + 1)|0; - HEAP32[2176>>2] = $12; - STACKTOP = sp;return; - } - $13 = HEAP32[2172>>2]|0; - switch ($13|0) { - case 0: { - $14 = HEAP32[2184>>2]|0; - $15 = ($14|0)<(2048); - if ($15) { - $16 = ($14*3)|0; - $17 = HEAP32[2232>>2]|0; - $18 = (($17) + ($16<<2)|0); - HEAPF32[$18>>2] = $x; - $19 = HEAP32[2184>>2]|0; - $20 = ($19*3)|0; - $21 = (($20) + 1)|0; - $22 = HEAP32[2232>>2]|0; - $23 = (($22) + ($21<<2)|0); - HEAPF32[$23>>2] = $y; - $24 = HEAP32[2184>>2]|0; - $25 = ($24*3)|0; - $26 = (($25) + 2)|0; - $27 = HEAP32[2232>>2]|0; - $28 = (($27) + ($26<<2)|0); - HEAPF32[$28>>2] = $z; - $29 = HEAP32[2184>>2]|0; - $30 = (($29) + 1)|0; - HEAP32[2184>>2] = $30; - STACKTOP = sp;return; - } else { - _TraceLog(1,11956,$vararg_buffer); - STACKTOP = sp;return; - } - break; - } - case 1: { - $31 = HEAP32[2196>>2]|0; - $32 = ($31|0)<(6144); - if ($32) { - $33 = ($31*3)|0; - $34 = HEAP32[2236>>2]|0; - $35 = (($34) + ($33<<2)|0); - HEAPF32[$35>>2] = $x; - $36 = HEAP32[2196>>2]|0; - $37 = ($36*3)|0; - $38 = (($37) + 1)|0; - $39 = HEAP32[2236>>2]|0; - $40 = (($39) + ($38<<2)|0); - HEAPF32[$40>>2] = $y; - $41 = HEAP32[2196>>2]|0; - $42 = ($41*3)|0; - $43 = (($42) + 2)|0; - $44 = HEAP32[2236>>2]|0; - $45 = (($44) + ($43<<2)|0); - HEAPF32[$45>>2] = $z; - $46 = HEAP32[2196>>2]|0; - $47 = (($46) + 1)|0; - HEAP32[2196>>2] = $47; - STACKTOP = sp;return; - } else { - _TraceLog(1,11981,$vararg_buffer1); - STACKTOP = sp;return; - } - break; - } - case 2: { - $48 = HEAP32[2208>>2]|0; - $49 = ($48|0)<(4096); - if ($49) { - $50 = ($48*3)|0; - $51 = HEAP32[2240>>2]|0; - $52 = (($51) + ($50<<2)|0); - HEAPF32[$52>>2] = $x; - $53 = HEAP32[2208>>2]|0; - $54 = ($53*3)|0; - $55 = (($54) + 1)|0; - $56 = HEAP32[2240>>2]|0; - $57 = (($56) + ($55<<2)|0); - HEAPF32[$57>>2] = $y; - $58 = HEAP32[2208>>2]|0; - $59 = ($58*3)|0; - $60 = (($59) + 2)|0; - $61 = HEAP32[2240>>2]|0; - $62 = (($61) + ($60<<2)|0); - HEAPF32[$62>>2] = $z; - $63 = HEAP32[2208>>2]|0; - $64 = (($63) + 1)|0; - HEAP32[2208>>2] = $64; - $65 = HEAP32[2244>>2]|0; - $66 = (($65) + -1)|0; - $67 = HEAP32[2248>>2]|0; - $68 = (((($67) + ($66<<3)|0)) + 4|0); - $69 = HEAP32[$68>>2]|0; - $70 = (($69) + 1)|0; - HEAP32[$68>>2] = $70; - STACKTOP = sp;return; - } else { - _TraceLog(1,12010,$vararg_buffer3); - STACKTOP = sp;return; - } - break; - } - default: { - STACKTOP = sp;return; - } - } -} -function _rlVertex2f($x,$y) { - $x = +$x; - $y = +$y; - var $0 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $0 = +HEAPF32[2228>>2]; - _rlVertex3f($x,$y,$0); - return; -} -function _rlVertex2i($x,$y) { - $x = $x|0; - $y = $y|0; - var $0 = 0.0, $1 = 0.0, $2 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (+($x|0)); - $1 = (+($y|0)); - $2 = +HEAPF32[2228>>2]; - _rlVertex3f($0,$1,$2); - return; -} -function _rlTexCoord2f($x,$y) { - $x = +$x; - $y = +$y; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[2172>>2]|0; - $1 = ($0|0)==(2); - if (!($1)) { - return; - } - $2 = HEAP32[2220>>2]|0; - $3 = $2 << 1; - $4 = HEAP32[2224>>2]|0; - $5 = (($4) + ($3<<2)|0); - HEAPF32[$5>>2] = $x; - $6 = HEAP32[2220>>2]|0; - $7 = $6 << 1; - $8 = $7 | 1; - $9 = HEAP32[2224>>2]|0; - $10 = (($9) + ($8<<2)|0); - HEAPF32[$10>>2] = $y; - $11 = HEAP32[2220>>2]|0; - $12 = (($11) + 1)|0; - HEAP32[2220>>2] = $12; - return; -} -function _rlNormal3f($x,$y,$z) { - $x = +$x; - $y = +$y; - $z = +$z; - var label = 0, sp = 0; - sp = STACKTOP; - return; -} -function _rlColor4ub($x,$y,$z,$w) { - $x = $x|0; - $y = $y|0; - $z = $z|0; - $w = $w|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; - var $63 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[2172>>2]|0; - switch ($0|0) { - case 0: { - $1 = HEAP32[2188>>2]|0; - $2 = $1 << 2; - $3 = HEAP32[2192>>2]|0; - $4 = (($3) + ($2)|0); - HEAP8[$4>>0] = $x; - $5 = HEAP32[2188>>2]|0; - $6 = $5 << 2; - $7 = $6 | 1; - $8 = HEAP32[2192>>2]|0; - $9 = (($8) + ($7)|0); - HEAP8[$9>>0] = $y; - $10 = HEAP32[2188>>2]|0; - $11 = $10 << 2; - $12 = $11 | 2; - $13 = HEAP32[2192>>2]|0; - $14 = (($13) + ($12)|0); - HEAP8[$14>>0] = $z; - $15 = HEAP32[2188>>2]|0; - $16 = $15 << 2; - $17 = $16 | 3; - $18 = HEAP32[2192>>2]|0; - $19 = (($18) + ($17)|0); - HEAP8[$19>>0] = $w; - $20 = HEAP32[2188>>2]|0; - $21 = (($20) + 1)|0; - HEAP32[2188>>2] = $21; - return; - break; - } - case 1: { - $22 = HEAP32[2200>>2]|0; - $23 = $22 << 2; - $24 = HEAP32[2204>>2]|0; - $25 = (($24) + ($23)|0); - HEAP8[$25>>0] = $x; - $26 = HEAP32[2200>>2]|0; - $27 = $26 << 2; - $28 = $27 | 1; - $29 = HEAP32[2204>>2]|0; - $30 = (($29) + ($28)|0); - HEAP8[$30>>0] = $y; - $31 = HEAP32[2200>>2]|0; - $32 = $31 << 2; - $33 = $32 | 2; - $34 = HEAP32[2204>>2]|0; - $35 = (($34) + ($33)|0); - HEAP8[$35>>0] = $z; - $36 = HEAP32[2200>>2]|0; - $37 = $36 << 2; - $38 = $37 | 3; - $39 = HEAP32[2204>>2]|0; - $40 = (($39) + ($38)|0); - HEAP8[$40>>0] = $w; - $41 = HEAP32[2200>>2]|0; - $42 = (($41) + 1)|0; - HEAP32[2200>>2] = $42; - return; - break; - } - case 2: { - $43 = HEAP32[2212>>2]|0; - $44 = $43 << 2; - $45 = HEAP32[2216>>2]|0; - $46 = (($45) + ($44)|0); - HEAP8[$46>>0] = $x; - $47 = HEAP32[2212>>2]|0; - $48 = $47 << 2; - $49 = $48 | 1; - $50 = HEAP32[2216>>2]|0; - $51 = (($50) + ($49)|0); - HEAP8[$51>>0] = $y; - $52 = HEAP32[2212>>2]|0; - $53 = $52 << 2; - $54 = $53 | 2; - $55 = HEAP32[2216>>2]|0; - $56 = (($55) + ($54)|0); - HEAP8[$56>>0] = $z; - $57 = HEAP32[2212>>2]|0; - $58 = $57 << 2; - $59 = $58 | 3; - $60 = HEAP32[2216>>2]|0; - $61 = (($60) + ($59)|0); - HEAP8[$61>>0] = $w; - $62 = HEAP32[2212>>2]|0; - $63 = (($62) + 1)|0; - HEAP32[2212>>2] = $63; - return; - break; - } - default: { - return; - } - } -} -function _rlEnableTexture($id) { - $id = $id|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[2244>>2]|0; - $1 = (($0) + -1)|0; - $2 = HEAP32[2248>>2]|0; - $3 = (($2) + ($1<<3)|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)==($id|0); - if ($5) { - return; - } - $6 = (((($2) + ($1<<3)|0)) + 4|0); - $7 = HEAP32[$6>>2]|0; - $8 = ($7|0)>(0); - if ($8) { - $9 = (($0) + 1)|0; - HEAP32[2244>>2] = $9; - } - $10 = HEAP32[2244>>2]|0; - $11 = (($10) + -1)|0; - $12 = HEAP32[2248>>2]|0; - $13 = (($12) + ($11<<3)|0); - HEAP32[$13>>2] = $id; - $14 = HEAP32[2244>>2]|0; - $15 = (($14) + -1)|0; - $16 = HEAP32[2248>>2]|0; - $17 = (((($16) + ($15<<3)|0)) + 4|0); - HEAP32[$17>>2] = 0; - return; -} -function _rlDisableTexture() { - var label = 0, sp = 0; - sp = STACKTOP; - return; -} -function _rlDeleteTextures($id) { - $id = $id|0; - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $id; - _glDeleteTextures(1,($0|0)); - STACKTOP = sp;return; -} -function _rlEnablePostproFBO() { - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[2252>>2]|0; - _glBindFramebuffer(36160,($0|0)); - return; -} -function _rlDeleteVertexArrays($id) { - $id = $id|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $id; - $1 = HEAP32[2264>>2]|0; - $2 = ($1|0)==(0); - if ($2) { - STACKTOP = sp;return; - } - $3 = HEAP32[2268>>2]|0; - FUNCTION_TABLE_vii[$3 & 63](1,$0); - STACKTOP = sp;return; -} -function _rlDeleteBuffers($id) { - $id = $id|0; - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $id; - _glDeleteBuffers(1,($0|0)); - STACKTOP = sp;return; -} -function _rlClearColor($r,$g,$b,$a) { - $r = $r|0; - $g = $g|0; - $b = $b|0; - $a = $a|0; - var $0 = 0.0, $1 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (+($r&255)); - $1 = $0 / 255.0; - $2 = (+($g&255)); - $3 = $2 / 255.0; - $4 = (+($b&255)); - $5 = $4 / 255.0; - $6 = (+($a&255)); - $7 = $6 / 255.0; - _glClearColor((+$1),(+$3),(+$5),(+$7)); - return; -} -function _rlClearScreenBuffers() { - var label = 0, sp = 0; - sp = STACKTOP; - _glClear(16640); - return; -} -function _rlGetVersion() { - var label = 0, sp = 0; - sp = STACKTOP; - return 3; -} -function _rlglInit() { - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; - var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond10 = 0, $exitcond12 = 0, $i$04 = 0, $i2$02 = 0, $i3$01 = 0, $numExt$0$lcssa = 0; - var $numExt$05 = 0, $pixels = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer13 = 0, $vararg_buffer15 = 0, $vararg_buffer17 = 0, $vararg_buffer19 = 0, $vararg_buffer21 = 0, $vararg_buffer23 = 0, $vararg_buffer25 = 0, $vararg_buffer27 = 0, $vararg_buffer29 = 0, $vararg_buffer31 = 0, $vararg_buffer34 = 0, $vararg_buffer4 = 0, $vararg_buffer7 = 0, dest = 0, label = 0; - var sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 2480|0; - $vararg_buffer34 = sp + 2160|0; - $vararg_buffer31 = sp + 2152|0; - $vararg_buffer29 = sp + 2144|0; - $vararg_buffer27 = sp + 2136|0; - $vararg_buffer25 = sp + 2128|0; - $vararg_buffer23 = sp + 2120|0; - $vararg_buffer21 = sp + 2112|0; - $vararg_buffer19 = sp + 2104|0; - $vararg_buffer17 = sp + 2096|0; - $vararg_buffer15 = sp + 2088|0; - $vararg_buffer13 = sp + 2080|0; - $vararg_buffer10 = sp + 2072|0; - $vararg_buffer7 = sp + 24|0; - $vararg_buffer4 = sp + 16|0; - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $0 = sp + 2416|0; - $1 = sp + 2352|0; - $2 = sp + 2288|0; - $pixels = sp + 2280|0; - $3 = sp + 2228|0; - $4 = sp + 2176|0; - $5 = sp + 2164|0; - $6 = (_glGetString(7936)|0); - HEAP32[$vararg_buffer>>2] = $6; - _TraceLog(0,12035,$vararg_buffer); - $7 = (_glGetString(7937)|0); - HEAP32[$vararg_buffer1>>2] = $7; - _TraceLog(0,12053,$vararg_buffer1); - $8 = (_glGetString(7938)|0); - HEAP32[$vararg_buffer4>>2] = $8; - _TraceLog(0,12071,$vararg_buffer4); - $9 = (_glGetString(35724)|0); - HEAP32[$vararg_buffer7>>2] = $9; - _TraceLog(0,12089,$vararg_buffer7); - $10 = (_glGetString(7939)|0); - $11 = (_mystrdup($10)|0); - $12 = (_strtok($11,12107)|0); - HEAP32[$vararg_buffer7>>2] = $12; - $13 = ($12|0)==(0|0); - if ($13) { - $numExt$0$lcssa = -1; - } else { - $numExt$05 = 0; - while(1) { - $14 = (($numExt$05) + 1)|0; - $15 = (_strtok(0,12107)|0); - $16 = (($vararg_buffer7) + ($14<<2)|0); - HEAP32[$16>>2] = $15; - $17 = ($15|0)==(0|0); - if ($17) { - $numExt$0$lcssa = $numExt$05; - break; - } else { - $numExt$05 = $14; - } - } - } - _free($11); - HEAP32[$vararg_buffer10>>2] = $numExt$0$lcssa; - _TraceLog(0,12109,$vararg_buffer10); - $18 = ($numExt$0$lcssa|0)>(0); - if ($18) { - $i$04 = 0; - while(1) { - $19 = (($vararg_buffer7) + ($i$04<<2)|0); - $20 = HEAP32[$19>>2]|0; - $21 = (_strcmp($20,12144)|0); - $22 = ($21|0)==(0); - if ($22) { - HEAP32[2264>>2] = 1; - $23 = (_eglGetProcAddress((12171|0))|0); - HEAP32[2272>>2] = $23; - $24 = (_eglGetProcAddress((12192|0))|0); - HEAP32[2276>>2] = $24; - $25 = (_eglGetProcAddress((12213|0))|0); - HEAP32[2268>>2] = $25; - } - $26 = HEAP32[$19>>2]|0; - $27 = (_strcmp($26,12237)|0); - $28 = ($27|0)==(0); - if ($28) { - HEAP32[2280>>2] = 1; - } - $29 = HEAP32[$19>>2]|0; - $30 = (_strcmp($29,12257)|0); - $31 = ($30|0)==(0); - if ($31) { - label = 10; - } else { - $32 = (_strcmp($29,12289)|0); - $33 = ($32|0)==(0); - if ($33) { - label = 10; - } - } - if ((label|0) == 10) { - label = 0; - HEAP32[2284>>2] = 1; - } - $34 = HEAP32[$19>>2]|0; - $35 = (_strcmp($34,12329)|0); - $36 = ($35|0)==(0); - if ($36) { - HEAP32[2288>>2] = 1; - } - $37 = HEAP32[$19>>2]|0; - $38 = (_strcmp($37,12365)|0); - $39 = ($38|0)==(0); - if ($39) { - HEAP32[2292>>2] = 1; - } - $40 = HEAP32[$19>>2]|0; - $41 = (_strcmp($40,12390)|0); - $42 = ($41|0)==(0); - if ($42) { - HEAP32[2296>>2] = 1; - } - $43 = HEAP32[$19>>2]|0; - $44 = (_strcmp($43,12423)|0); - $45 = ($44|0)==(0); - if ($45) { - HEAP32[2300>>2] = 1; - } - $46 = (($i$04) + 1)|0; - $exitcond12 = ($46|0)==($numExt$0$lcssa|0); - if ($exitcond12) { - break; - } else { - $i$04 = $46; - } - } - } - $47 = HEAP32[2264>>2]|0; - $48 = ($47|0)==(0); - if ($48) { - _TraceLog(2,12534,$vararg_buffer15); - } else { - _TraceLog(0,12459,$vararg_buffer13); - } - $49 = HEAP32[2280>>2]|0; - $50 = ($49|0)==(0); - if ($50) { - _TraceLog(2,12670,$vararg_buffer19); - } else { - _TraceLog(0,12595,$vararg_buffer17); - } - $51 = HEAP32[2284>>2]|0; - $52 = ($51|0)==(0); - if (!($52)) { - _TraceLog(0,12762,$vararg_buffer21); - } - $53 = HEAP32[2288>>2]|0; - $54 = ($53|0)==(0); - if (!($54)) { - _TraceLog(0,12808,$vararg_buffer23); - } - $55 = HEAP32[2292>>2]|0; - $56 = ($55|0)==(0); - if (!($56)) { - _TraceLog(0,12855,$vararg_buffer25); - } - $57 = HEAP32[2296>>2]|0; - $58 = ($57|0)==(0); - if (!($58)) { - _TraceLog(0,12906,$vararg_buffer27); - } - $59 = HEAP32[2300>>2]|0; - $60 = ($59|0)==(0); - if (!($60)) { - _TraceLog(0,12953,$vararg_buffer29); - } - HEAP32[2172>>2] = 1; - _MatrixIdentity($0); - dest=1004; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($1); - dest=1072; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - HEAP32[1068>>2] = 1072; - _MatrixIdentity($2); - dest=1144; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($2); - dest=(1208); src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($2); - dest=(1272); src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($2); - dest=(1336); src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($2); - dest=(1400); src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($2); - dest=(1464); src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($2); - dest=(1528); src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($2); - dest=(1592); src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($2); - dest=(1656); src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($2); - dest=(1720); src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($2); - dest=(1784); src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($2); - dest=(1848); src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($2); - dest=(1912); src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($2); - dest=(1976); src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($2); - dest=(2040); src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($2); - dest=(2104); src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - HEAP32[$pixels>>2] = -1; - $61 = (_rlglLoadTexture($pixels,1,1,7,1)|0); - HEAP32[808>>2] = $61; - $62 = ($61|0)==(0); - if ($62) { - _TraceLog(2,13051,$vararg_buffer34); - } else { - HEAP32[$vararg_buffer31>>2] = $61; - _TraceLog(0,13000,$vararg_buffer31); - } - _LoadDefaultShader($3); - dest=2304; src=$3; stop=dest+52|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _LoadSimpleShader($4); - dest=2356; src=$4; stop=dest+52|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=2408; src=2304; stop=dest+52|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _InitializeBuffers(); - _InitializeBuffersGPU(); - $63 = (_malloc(49152)|0); - HEAP32[2180>>2] = $63; - $i2$02 = 0; - while(1) { - $64 = HEAP32[2180>>2]|0; - $65 = (($64) + (($i2$02*12)|0)|0); - _VectorZero($5); - ;HEAP32[$65>>2]=HEAP32[$5>>2]|0;HEAP32[$65+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$65+8>>2]=HEAP32[$5+8>>2]|0; - $66 = (($i2$02) + 1)|0; - $exitcond10 = ($66|0)==(4096); - if ($exitcond10) { - break; - } else { - $i2$02 = $66; - } - } - $67 = (_malloc(2048)|0); - HEAP32[2248>>2] = $67; - $i3$01 = 0; - while(1) { - $68 = (($67) + ($i3$01<<3)|0); - HEAP32[$68>>2] = 0; - $69 = (((($67) + ($i3$01<<3)|0)) + 4|0); - HEAP32[$69>>2] = 0; - $70 = (($i3$01) + 1)|0; - $exitcond = ($70|0)==(256); - if ($exitcond) { - break; - } else { - $i3$01 = $70; - } - } - HEAP32[2244>>2] = 1; - $71 = HEAP32[808>>2]|0; - $72 = HEAP32[2248>>2]|0; - HEAP32[$72>>2] = $71; - STACKTOP = sp;return; -} -function _rlglLoadTexture($data,$width,$height,$textureFormat,$mipmapCount) { - $data = $data|0; - $width = $width|0; - $height = $height|0; - $textureFormat = $textureFormat|0; - $mipmapCount = $mipmapCount|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $5 = 0, $6 = 0; - var $7 = 0, $8 = 0, $9 = 0, $id = 0, $or$cond = 0, $or$cond20 = 0, $or$cond22 = 0, $or$cond24 = 0, $or$cond9 = 0, $switch = 0, $textureFormat$off = 0, $textureFormat$off16 = 0, $textureFormat$off17 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer11 = 0, $vararg_buffer15 = 0, $vararg_buffer3 = 0, $vararg_buffer5 = 0, $vararg_buffer7 = 0; - var $vararg_buffer9 = 0, $vararg_ptr13 = 0, $vararg_ptr14 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 80|0; - $vararg_buffer15 = sp + 64|0; - $vararg_buffer11 = sp + 48|0; - $vararg_buffer9 = sp + 40|0; - $vararg_buffer7 = sp + 32|0; - $vararg_buffer5 = sp + 24|0; - $vararg_buffer3 = sp + 16|0; - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $id = sp + 68|0; - _glBindTexture(3553,0); - HEAP32[$id>>2] = 0; - $0 = HEAP32[2284>>2]|0; - $1 = ($0|0)==(0); - $2 = $textureFormat & -4; - $switch = ($2|0)==(8); - $or$cond24 = $switch & $1; - if ($or$cond24) { - _TraceLog(2,13090,$vararg_buffer); - $$0 = HEAP32[$id>>2]|0; - STACKTOP = sp;return ($$0|0); - } - $3 = HEAP32[2288>>2]|0; - $4 = ($3|0)==(0); - $5 = ($textureFormat|0)==(12); - $or$cond9 = $5 & $4; - if ($or$cond9) { - _TraceLog(2,13134,$vararg_buffer1); - $$0 = HEAP32[$id>>2]|0; - STACKTOP = sp;return ($$0|0); - } - $6 = HEAP32[2292>>2]|0; - $7 = ($6|0)==(0); - $textureFormat$off = (($textureFormat) + -13)|0; - $8 = ($textureFormat$off>>>0)<(2); - $or$cond = $8 & $7; - if ($or$cond) { - _TraceLog(2,13179,$vararg_buffer3); - $$0 = HEAP32[$id>>2]|0; - STACKTOP = sp;return ($$0|0); - } - $9 = HEAP32[2296>>2]|0; - $10 = ($9|0)==(0); - $textureFormat$off16 = (($textureFormat) + -15)|0; - $11 = ($textureFormat$off16>>>0)<(2); - $or$cond20 = $11 & $10; - if ($or$cond20) { - _TraceLog(2,13224,$vararg_buffer5); - $$0 = HEAP32[$id>>2]|0; - STACKTOP = sp;return ($$0|0); - } - $12 = HEAP32[2300>>2]|0; - $13 = ($12|0)==(0); - $textureFormat$off17 = (($textureFormat) + -17)|0; - $14 = ($textureFormat$off17>>>0)<(2); - $or$cond22 = $14 & $13; - if ($or$cond22) { - _TraceLog(2,13269,$vararg_buffer7); - $$0 = HEAP32[$id>>2]|0; - STACKTOP = sp;return ($$0|0); - } - _glGenTextures(1,($id|0)); - $15 = HEAP32[$id>>2]|0; - _glBindTexture(3553,($15|0)); - do { - switch ($textureFormat|0) { - case 1: { - _glTexImage2D(3553,0,6409,($width|0),($height|0),0,6409,5121,($data|0)); - break; - } - case 2: { - _glTexImage2D(3553,0,6410,($width|0),($height|0),0,6410,5121,($data|0)); - break; - } - case 3: { - _glTexImage2D(3553,0,6407,($width|0),($height|0),0,6407,33635,($data|0)); - break; - } - case 4: { - _glTexImage2D(3553,0,6407,($width|0),($height|0),0,6407,5121,($data|0)); - break; - } - case 5: { - _glTexImage2D(3553,0,6408,($width|0),($height|0),0,6408,32820,($data|0)); - break; - } - case 6: { - _glTexImage2D(3553,0,6408,($width|0),($height|0),0,6408,32819,($data|0)); - break; - } - case 7: { - _glTexImage2D(3553,0,6408,($width|0),($height|0),0,6408,5121,($data|0)); - break; - } - case 8: { - $16 = HEAP32[2284>>2]|0; - $17 = ($16|0)==(0); - if (!($17)) { - _LoadCompressedTexture($data,$width,$height,$mipmapCount,33776); - } - break; - } - case 9: { - $18 = HEAP32[2284>>2]|0; - $19 = ($18|0)==(0); - if (!($19)) { - _LoadCompressedTexture($data,$width,$height,$mipmapCount,33777); - } - break; - } - case 10: { - $20 = HEAP32[2284>>2]|0; - $21 = ($20|0)==(0); - if (!($21)) { - _LoadCompressedTexture($data,$width,$height,$mipmapCount,33778); - } - break; - } - case 11: { - $22 = HEAP32[2284>>2]|0; - $23 = ($22|0)==(0); - if (!($23)) { - _LoadCompressedTexture($data,$width,$height,$mipmapCount,33779); - } - break; - } - case 12: { - $24 = HEAP32[2288>>2]|0; - $25 = ($24|0)==(0); - if (!($25)) { - _LoadCompressedTexture($data,$width,$height,$mipmapCount,36196); - } - break; - } - case 13: { - $26 = HEAP32[2292>>2]|0; - $27 = ($26|0)==(0); - if (!($27)) { - _LoadCompressedTexture($data,$width,$height,$mipmapCount,37492); - } - break; - } - case 14: { - $28 = HEAP32[2292>>2]|0; - $29 = ($28|0)==(0); - if (!($29)) { - _LoadCompressedTexture($data,$width,$height,$mipmapCount,37496); - } - break; - } - case 15: { - $30 = HEAP32[2296>>2]|0; - $31 = ($30|0)==(0); - if (!($31)) { - _LoadCompressedTexture($data,$width,$height,$mipmapCount,35840); - } - break; - } - case 16: { - $32 = HEAP32[2296>>2]|0; - $33 = ($32|0)==(0); - if (!($33)) { - _LoadCompressedTexture($data,$width,$height,$mipmapCount,35842); - } - break; - } - case 17: { - $34 = HEAP32[2300>>2]|0; - $35 = ($34|0)==(0); - if (!($35)) { - _LoadCompressedTexture($data,$width,$height,$mipmapCount,37808); - } - break; - } - case 18: { - $36 = HEAP32[2300>>2]|0; - $37 = ($36|0)==(0); - if (!($37)) { - _LoadCompressedTexture($data,$width,$height,$mipmapCount,37815); - } - break; - } - default: { - _TraceLog(2,13314,$vararg_buffer9); - } - } - } while(0); - $38 = HEAP32[2280>>2]|0; - $39 = ($38|0)==(0); - if ($39) { - _glTexParameteri(3553,10242,33071); - _glTexParameteri(3553,10243,33071); - } else { - _glTexParameteri(3553,10242,10497); - _glTexParameteri(3553,10243,10497); - } - _glTexParameteri(3553,10240,9728); - _glTexParameteri(3553,10241,9728); - _glBindTexture(3553,0); - $40 = HEAP32[$id>>2]|0; - $41 = ($40|0)==(0); - if ($41) { - _TraceLog(2,14761,$vararg_buffer15); - $$0 = HEAP32[$id>>2]|0; - STACKTOP = sp;return ($$0|0); - } else { - HEAP32[$vararg_buffer11>>2] = $40; - $vararg_ptr13 = ((($vararg_buffer11)) + 4|0); - HEAP32[$vararg_ptr13>>2] = $width; - $vararg_ptr14 = ((($vararg_buffer11)) + 8|0); - HEAP32[$vararg_ptr14>>2] = $height; - _TraceLog(0,13343,$vararg_buffer11); - $$0 = HEAP32[$id>>2]|0; - STACKTOP = sp;return ($$0|0); - } - return (0)|0; -} -function _rlglLoadModel($agg$result,$mesh) { - $agg$result = $agg$result|0; - $mesh = $mesh|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $model$sroa$0 = 0, $model$sroa$15 = 0, $model$sroa$20 = 0, $model$sroa$27 = 0, $model$sroa$4$0 = 0, $vaoModel = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer3 = 0, $vararg_ptr6 = 0; - var $vararg_ptr7 = 0, $vertexBuffer = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 288|0; - $vararg_buffer3 = sp + 112|0; - $vararg_buffer1 = sp + 104|0; - $vararg_buffer = sp + 96|0; - $model$sroa$0 = sp + 40|0; - $model$sroa$15 = sp + 208|0; - $model$sroa$20 = sp + 24|0; - $model$sroa$27 = sp; - $0 = sp + 144|0; - $vaoModel = sp + 136|0; - $vertexBuffer = sp + 124|0; - dest=$model$sroa$0; src=$mesh; stop=dest+52|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $1 = ((($mesh)) + 68|0); - ;HEAP32[$model$sroa$15>>2]=HEAP32[$1>>2]|0;HEAP32[$model$sroa$15+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$model$sroa$15+8>>2]=HEAP32[$1+8>>2]|0; - _MatrixIdentity($0); - $2 = ((($model$sroa$15)) + 12|0); - dest=$2; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $3 = HEAP32[808>>2]|0; - ;HEAP32[$model$sroa$20>>2]=HEAP32[2356>>2]|0;HEAP32[$model$sroa$20+4>>2]=HEAP32[2356+4>>2]|0;HEAP32[$model$sroa$20+8>>2]=HEAP32[2356+8>>2]|0;HEAP32[$model$sroa$20+12>>2]=HEAP32[2356+12>>2]|0; - $4 = HEAP32[(2372)>>2]|0; - $5 = HEAP32[(2376)>>2]|0; - $6 = HEAP32[(2380)>>2]|0; - ;HEAP32[$model$sroa$27>>2]=HEAP32[(2384)>>2]|0;HEAP32[$model$sroa$27+4>>2]=HEAP32[(2384)+4>>2]|0;HEAP32[$model$sroa$27+8>>2]=HEAP32[(2384)+8>>2]|0;HEAP32[$model$sroa$27+12>>2]=HEAP32[(2384)+12>>2]|0;HEAP32[$model$sroa$27+16>>2]=HEAP32[(2384)+16>>2]|0;HEAP32[$model$sroa$27+20>>2]=HEAP32[(2384)+20>>2]|0; - HEAP32[$vaoModel>>2] = 0; - $7 = HEAP32[2264>>2]|0; - $8 = ($7|0)==(0); - if (!($8)) { - $9 = HEAP32[2272>>2]|0; - FUNCTION_TABLE_vii[$9 & 63](1,$vaoModel); - $10 = HEAP32[2276>>2]|0; - $11 = HEAP32[$vaoModel>>2]|0; - FUNCTION_TABLE_vi[$10 & 31]($11); - } - _glGenBuffers(3,($vertexBuffer|0)); - $12 = HEAP32[$vertexBuffer>>2]|0; - _glBindBuffer(34962,($12|0)); - $13 = HEAP32[$mesh>>2]|0; - $14 = ($13*12)|0; - $15 = ((($mesh)) + 4|0); - $16 = HEAP32[$15>>2]|0; - _glBufferData(34962,($14|0),($16|0),35044); - _glVertexAttribPointer(($4|0),3,5126,0,0,(0|0)); - _glEnableVertexAttribArray(($4|0)); - $17 = ((($vertexBuffer)) + 4|0); - $18 = HEAP32[$17>>2]|0; - _glBindBuffer(34962,($18|0)); - $19 = HEAP32[$mesh>>2]|0; - $20 = $19 << 3; - $21 = ((($mesh)) + 8|0); - $22 = HEAP32[$21>>2]|0; - _glBufferData(34962,($20|0),($22|0),35044); - _glVertexAttribPointer(($5|0),2,5126,0,0,(0|0)); - _glEnableVertexAttribArray(($5|0)); - $23 = ((($vertexBuffer)) + 8|0); - $24 = HEAP32[$23>>2]|0; - _glBindBuffer(34962,($24|0)); - $25 = HEAP32[$mesh>>2]|0; - $26 = ($25*12)|0; - $27 = ((($mesh)) + 16|0); - $28 = HEAP32[$27>>2]|0; - _glBufferData(34962,($26|0),($28|0),35044); - _glVertexAttribPointer(($6|0),3,5126,0,0,(0|0)); - _glEnableVertexAttribArray(($6|0)); - $29 = HEAP32[$vertexBuffer>>2]|0; - $30 = HEAP32[$17>>2]|0; - $31 = HEAP32[$23>>2]|0; - $32 = HEAP32[2264>>2]|0; - $33 = ($32|0)==(0); - do { - if ($33) { - HEAP32[$vararg_buffer3>>2] = $29; - $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); - HEAP32[$vararg_ptr6>>2] = $30; - $vararg_ptr7 = ((($vararg_buffer3)) + 8|0); - HEAP32[$vararg_ptr7>>2] = $31; - _TraceLog(0,13488,$vararg_buffer3); - $model$sroa$4$0 = 0; - } else { - $34 = HEAP32[$vaoModel>>2]|0; - $35 = ($34|0)==(0); - if ($35) { - _TraceLog(2,13446,$vararg_buffer1); - $model$sroa$4$0 = 0; - break; - } else { - HEAP32[$vararg_buffer>>2] = $34; - _TraceLog(0,13392,$vararg_buffer); - $model$sroa$4$0 = $34; - break; - } - } - } while(0); - dest=$agg$result; src=$model$sroa$0; stop=dest+52|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $36 = ((($agg$result)) + 52|0); - HEAP32[$36>>2] = $model$sroa$4$0; - $37 = ((($agg$result)) + 56|0); - HEAP32[$37>>2] = $29; - $38 = ((($agg$result)) + 60|0); - HEAP32[$38>>2] = $30; - $39 = ((($agg$result)) + 64|0); - HEAP32[$39>>2] = $31; - $40 = ((($agg$result)) + 68|0); - dest=$40; src=$model$sroa$15; stop=dest+76|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $41 = ((($agg$result)) + 144|0); - HEAP32[$41>>2] = $3; - $42 = ((($agg$result)) + 148|0); - HEAP32[$42>>2] = 1; - $43 = ((($agg$result)) + 152|0); - HEAP32[$43>>2] = 1; - $44 = ((($agg$result)) + 160|0); - HEAP32[$44>>2] = 7; - $45 = ((($agg$result)) + 164|0); - ;HEAP32[$45>>2]=HEAP32[$model$sroa$20>>2]|0;HEAP32[$45+4>>2]=HEAP32[$model$sroa$20+4>>2]|0;HEAP32[$45+8>>2]=HEAP32[$model$sroa$20+8>>2]|0;HEAP32[$45+12>>2]=HEAP32[$model$sroa$20+12>>2]|0; - $46 = ((($agg$result)) + 180|0); - HEAP32[$46>>2] = $4; - $47 = ((($agg$result)) + 184|0); - HEAP32[$47>>2] = $5; - $48 = ((($agg$result)) + 188|0); - HEAP32[$48>>2] = $6; - $49 = ((($agg$result)) + 192|0); - ;HEAP32[$49>>2]=HEAP32[$model$sroa$27>>2]|0;HEAP32[$49+4>>2]=HEAP32[$model$sroa$27+4>>2]|0;HEAP32[$49+8>>2]=HEAP32[$model$sroa$27+8>>2]|0;HEAP32[$49+12>>2]=HEAP32[$model$sroa$27+12>>2]|0;HEAP32[$49+16>>2]=HEAP32[$model$sroa$27+16>>2]|0;HEAP32[$49+20>>2]=HEAP32[$model$sroa$27+20>>2]|0; - STACKTOP = sp;return; -} -function _rlglUnloadFBO($fbo) { - $fbo = $fbo|0; - var $0 = 0, $1 = 0, $2 = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $vararg_buffer = sp; - _glDeleteFramebuffers(1,($fbo|0)); - $0 = ((($fbo)) + 4|0); - _glDeleteTextures(1,($0|0)); - $1 = ((($fbo)) + 8|0); - _glDeleteTextures(1,($1|0)); - $2 = HEAP32[$fbo>>2]|0; - HEAP32[$vararg_buffer>>2] = $2; - _TraceLog(0,13564,$vararg_buffer); - STACKTOP = sp;return; -} -function _rlglClose() { - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $3 = 0; - var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $postproFbo$byval_copy = 0, $vararg_buffer1 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $postproFbo$byval_copy = sp + 8|0; - $vararg_buffer1 = sp; - $0 = HEAP32[2264>>2]|0; - $1 = ($0|0)==(0); - if (!($1)) { - $2 = HEAP32[2276>>2]|0; - FUNCTION_TABLE_vi[$2 & 31](0); - } - _glDisableVertexAttribArray(0); - _glDisableVertexAttribArray(1); - _glDisableVertexAttribArray(2); - _glDisableVertexAttribArray(3); - _glBindBuffer(34962,0); - _glBindBuffer(34963,0); - _glUseProgram(0); - _glDeleteBuffers(1,(2684|0)); - _glDeleteBuffers(1,((2688)|0)); - _glDeleteBuffers(1,(2692|0)); - _glDeleteBuffers(1,((2696)|0)); - _glDeleteBuffers(1,(2700|0)); - _glDeleteBuffers(1,((2704)|0)); - _glDeleteBuffers(1,((2708)|0)); - _glDeleteBuffers(1,((2712)|0)); - $3 = HEAP32[2264>>2]|0; - $4 = ($3|0)==(0); - if (!($4)) { - $5 = HEAP32[2268>>2]|0; - FUNCTION_TABLE_vii[$5 & 63](1,2716); - $6 = HEAP32[2268>>2]|0; - FUNCTION_TABLE_vii[$6 & 63](1,2720); - $7 = HEAP32[2268>>2]|0; - FUNCTION_TABLE_vii[$7 & 63](1,2724); - } - $8 = HEAP32[2304>>2]|0; - _glDeleteProgram(($8|0)); - $9 = HEAP32[2356>>2]|0; - _glDeleteProgram(($9|0)); - $10 = HEAP32[2232>>2]|0; - _free($10); - $11 = HEAP32[2192>>2]|0; - _free($11); - $12 = HEAP32[2236>>2]|0; - _free($12); - $13 = HEAP32[2204>>2]|0; - _free($13); - $14 = HEAP32[2240>>2]|0; - _free($14); - $15 = HEAP32[2224>>2]|0; - _free($15); - $16 = HEAP32[2216>>2]|0; - _free($16); - $17 = HEAP32[2728>>2]|0; - _free($17); - _glDeleteTextures(1,(808|0)); - $18 = HEAP32[808>>2]|0; - HEAP32[$postproFbo$byval_copy>>2] = $18; - _TraceLog(0,13617,$postproFbo$byval_copy); - $19 = HEAP32[2252>>2]|0; - $20 = ($19|0)==(0); - if ($20) { - $25 = HEAP32[2248>>2]|0; - _free($25); - STACKTOP = sp;return; - } - ;HEAP32[$postproFbo$byval_copy>>2]=HEAP32[2252>>2]|0;HEAP32[$postproFbo$byval_copy+4>>2]=HEAP32[2252+4>>2]|0;HEAP32[$postproFbo$byval_copy+8>>2]=HEAP32[2252+8>>2]|0; - _rlglUnloadFBO($postproFbo$byval_copy); - $21 = HEAP32[(2524)>>2]|0; - _rlDeleteBuffers($21); - $22 = HEAP32[(2528)>>2]|0; - _rlDeleteBuffers($22); - $23 = HEAP32[(2532)>>2]|0; - _rlDeleteBuffers($23); - $24 = HEAP32[(2520)>>2]|0; - _rlDeleteVertexArrays($24); - _TraceLog(0,13682,$vararg_buffer1); - $25 = HEAP32[2248>>2]|0; - _free($25); - STACKTOP = sp;return; -} -function _rlglDraw() { - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; - var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0; - var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $i$05 = 0, $indicesOffset$04 = 0, $matMVP = 0, $matMVP$byval_copy = 0, $modelview$byval_copy = 0, $or$cond = 0, $or$cond3 = 0; - var dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 192|0; - $matMVP$byval_copy = sp + 128|0; - $modelview$byval_copy = sp + 64|0; - $matMVP = sp; - _UpdateBuffers(); - $0 = HEAP32[2184>>2]|0; - $1 = ($0|0)>(0); - $2 = HEAP32[2196>>2]|0; - $3 = ($2|0)>(0); - $or$cond = $1 | $3; - $4 = HEAP32[2208>>2]|0; - $5 = ($4|0)>(0); - $or$cond3 = $or$cond | $5; - if ($or$cond3) { - $6 = HEAP32[2408>>2]|0; - _glUseProgram(($6|0)); - dest=$modelview$byval_copy; src=1072; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$matMVP$byval_copy; src=1004; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixMultiply($matMVP,$modelview$byval_copy,$matMVP$byval_copy); - $7 = HEAP32[(2440)>>2]|0; - dest=$matMVP$byval_copy; src=$matMVP; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $8 = (_MatrixToFloat($matMVP$byval_copy)|0); - _glUniformMatrix4fv(($7|0),1,0,($8|0)); - $9 = HEAP32[(2448)>>2]|0; - _glUniform1i(($9|0),0); - } - $10 = HEAP32[2184>>2]|0; - $11 = ($10|0)>(0); - if ($11) { - $12 = HEAP32[808>>2]|0; - _glBindTexture(3553,($12|0)); - $13 = HEAP32[2264>>2]|0; - $14 = ($13|0)==(0); - if ($14) { - $17 = HEAP32[2684>>2]|0; - _glBindBuffer(34962,($17|0)); - $18 = HEAP32[(2424)>>2]|0; - _glVertexAttribPointer(($18|0),3,5126,0,0,(0|0)); - $19 = HEAP32[(2424)>>2]|0; - _glEnableVertexAttribArray(($19|0)); - $20 = HEAP32[(2436)>>2]|0; - $21 = ($20|0)==(-1); - if (!($21)) { - $22 = HEAP32[(2688)>>2]|0; - _glBindBuffer(34962,($22|0)); - $23 = HEAP32[(2436)>>2]|0; - _glVertexAttribPointer(($23|0),4,5121,1,0,(0|0)); - $24 = HEAP32[(2436)>>2]|0; - _glEnableVertexAttribArray(($24|0)); - } - } else { - $15 = HEAP32[2276>>2]|0; - $16 = HEAP32[2716>>2]|0; - FUNCTION_TABLE_vi[$15 & 31]($16); - } - $25 = HEAP32[2184>>2]|0; - _glDrawArrays(1,0,($25|0)); - $26 = HEAP32[2264>>2]|0; - $27 = ($26|0)==(0); - if ($27) { - _glBindBuffer(34962,0); - } - _glBindTexture(3553,0); - } - $28 = HEAP32[2196>>2]|0; - $29 = ($28|0)>(0); - if ($29) { - $30 = HEAP32[808>>2]|0; - _glBindTexture(3553,($30|0)); - $31 = HEAP32[2264>>2]|0; - $32 = ($31|0)==(0); - if ($32) { - $35 = HEAP32[2692>>2]|0; - _glBindBuffer(34962,($35|0)); - $36 = HEAP32[(2424)>>2]|0; - _glVertexAttribPointer(($36|0),3,5126,0,0,(0|0)); - $37 = HEAP32[(2424)>>2]|0; - _glEnableVertexAttribArray(($37|0)); - $38 = HEAP32[(2436)>>2]|0; - $39 = ($38|0)==(-1); - if (!($39)) { - $40 = HEAP32[(2696)>>2]|0; - _glBindBuffer(34962,($40|0)); - $41 = HEAP32[(2436)>>2]|0; - _glVertexAttribPointer(($41|0),4,5121,1,0,(0|0)); - $42 = HEAP32[(2436)>>2]|0; - _glEnableVertexAttribArray(($42|0)); - } - } else { - $33 = HEAP32[2276>>2]|0; - $34 = HEAP32[2720>>2]|0; - FUNCTION_TABLE_vi[$33 & 31]($34); - } - $43 = HEAP32[2196>>2]|0; - _glDrawArrays(4,0,($43|0)); - $44 = HEAP32[2264>>2]|0; - $45 = ($44|0)==(0); - if ($45) { - _glBindBuffer(34962,0); - } - _glBindTexture(3553,0); - } - $46 = HEAP32[2208>>2]|0; - $47 = ($46|0)>(0); - if ($47) { - $48 = HEAP32[2264>>2]|0; - $49 = ($48|0)==(0); - if ($49) { - $52 = HEAP32[2700>>2]|0; - _glBindBuffer(34962,($52|0)); - $53 = HEAP32[(2424)>>2]|0; - _glVertexAttribPointer(($53|0),3,5126,0,0,(0|0)); - $54 = HEAP32[(2424)>>2]|0; - _glEnableVertexAttribArray(($54|0)); - $55 = HEAP32[(2704)>>2]|0; - _glBindBuffer(34962,($55|0)); - $56 = HEAP32[(2428)>>2]|0; - _glVertexAttribPointer(($56|0),2,5126,0,0,(0|0)); - $57 = HEAP32[(2428)>>2]|0; - _glEnableVertexAttribArray(($57|0)); - $58 = HEAP32[(2436)>>2]|0; - $59 = ($58|0)==(-1); - if (!($59)) { - $60 = HEAP32[(2708)>>2]|0; - _glBindBuffer(34962,($60|0)); - $61 = HEAP32[(2436)>>2]|0; - _glVertexAttribPointer(($61|0),4,5121,1,0,(0|0)); - $62 = HEAP32[(2436)>>2]|0; - _glEnableVertexAttribArray(($62|0)); - } - $63 = HEAP32[(2712)>>2]|0; - _glBindBuffer(34963,($63|0)); - } else { - $50 = HEAP32[2276>>2]|0; - $51 = HEAP32[2724>>2]|0; - FUNCTION_TABLE_vi[$50 & 31]($51); - } - $64 = HEAP32[2244>>2]|0; - $65 = ($64|0)>(0); - if ($65) { - $i$05 = 0;$indicesOffset$04 = 0; - while(1) { - $66 = HEAP32[2248>>2]|0; - $67 = (((($66) + ($i$05<<3)|0)) + 4|0); - $68 = HEAP32[$67>>2]|0; - $69 = (($68|0) / 4)&-1; - $70 = ($69*6)|0; - $71 = (($66) + ($i$05<<3)|0); - $72 = HEAP32[$71>>2]|0; - _glBindTexture(3553,($72|0)); - $73 = $indicesOffset$04 << 1; - $74 = $73; - _glDrawElements(4,($70|0),5123,($74|0)); - $75 = HEAP32[2248>>2]|0; - $76 = (((($75) + ($i$05<<3)|0)) + 4|0); - $77 = HEAP32[$76>>2]|0; - $78 = (($77|0) / 4)&-1; - $79 = ($78*6)|0; - $80 = (($79) + ($indicesOffset$04))|0; - $81 = (($i$05) + 1)|0; - $82 = HEAP32[2244>>2]|0; - $83 = ($81|0)<($82|0); - if ($83) { - $i$05 = $81;$indicesOffset$04 = $80; - } else { - break; - } - } - } - $84 = HEAP32[2264>>2]|0; - $85 = ($84|0)==(0); - if ($85) { - _glBindBuffer(34962,0); - _glBindBuffer(34963,0); - } - _glBindTexture(3553,0); - } - $86 = HEAP32[2264>>2]|0; - $87 = ($86|0)==(0); - if ($87) { - _glUseProgram(0); - HEAP32[2244>>2] = 1; - $89 = HEAP32[808>>2]|0; - $90 = HEAP32[2248>>2]|0; - HEAP32[$90>>2] = $89; - $91 = HEAP32[2248>>2]|0; - $92 = ((($91)) + 4|0); - HEAP32[$92>>2] = 0; - HEAP32[2184>>2] = 0; - HEAP32[2188>>2] = 0; - HEAP32[2196>>2] = 0; - HEAP32[2200>>2] = 0; - HEAP32[2208>>2] = 0; - HEAP32[2220>>2] = 0; - HEAP32[2212>>2] = 0; - HEAPF32[2228>>2] = -1.0; - STACKTOP = sp;return; - } - $88 = HEAP32[2276>>2]|0; - FUNCTION_TABLE_vi[$88 & 31](0); - _glUseProgram(0); - HEAP32[2244>>2] = 1; - $89 = HEAP32[808>>2]|0; - $90 = HEAP32[2248>>2]|0; - HEAP32[$90>>2] = $89; - $91 = HEAP32[2248>>2]|0; - $92 = ((($91)) + 4|0); - HEAP32[$92>>2] = 0; - HEAP32[2184>>2] = 0; - HEAP32[2188>>2] = 0; - HEAP32[2196>>2] = 0; - HEAP32[2200>>2] = 0; - HEAP32[2208>>2] = 0; - HEAP32[2220>>2] = 0; - HEAP32[2212>>2] = 0; - HEAPF32[2228>>2] = -1.0; - STACKTOP = sp;return; -} -function _rlglDrawPostpro() { - var $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $postproQuad$byval_copy = 0, $tmpcast$byval_copy = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 304|0; - $tmpcast$byval_copy = sp + 292|0; - $$byval_copy2 = sp + 280|0; - $$byval_copy1 = sp + 268|0; - $$byval_copy = sp + 256|0; - $postproQuad$byval_copy = sp + 40|0; - $0 = sp + 28|0; - $1 = sp + 16|0; - $2 = sp + 4|0; - $3 = sp; - _glBindFramebuffer(36160,0); - HEAPF32[$0>>2] = 0.0; - $4 = ((($0)) + 4|0); - HEAPF32[$4>>2] = 0.0; - $5 = ((($0)) + 8|0); - HEAPF32[$5>>2] = 0.0; - HEAPF32[$1>>2] = 0.0; - $6 = ((($1)) + 4|0); - HEAPF32[$6>>2] = 0.0; - $7 = ((($1)) + 8|0); - HEAPF32[$7>>2] = 0.0; - HEAPF32[$2>>2] = 1.0; - $8 = ((($2)) + 4|0); - HEAPF32[$8>>2] = 1.0; - $9 = ((($2)) + 8|0); - HEAPF32[$9>>2] = 1.0; - HEAP32[$3>>2] = -1; - _memcpy(($postproQuad$byval_copy|0),(2468|0),216)|0; - ;HEAP32[$$byval_copy>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$0+8>>2]|0; - ;HEAP32[$$byval_copy1>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$1+8>>2]|0; - ;HEAP32[$$byval_copy2>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$$byval_copy2+8>>2]=HEAP32[$2+8>>2]|0; - ;HEAP8[$tmpcast$byval_copy>>0]=HEAP8[$3>>0]|0;HEAP8[$tmpcast$byval_copy+1>>0]=HEAP8[$3+1>>0]|0;HEAP8[$tmpcast$byval_copy+2>>0]=HEAP8[$3+2>>0]|0;HEAP8[$tmpcast$byval_copy+3>>0]=HEAP8[$3+3>>0]|0; - _rlglDrawModel($postproQuad$byval_copy,$$byval_copy,$$byval_copy1,0.0,$$byval_copy2,$tmpcast$byval_copy,0); - STACKTOP = sp;return; -} -function _rlglDrawModel($model,$position,$rotationAxis,$rotationAngle,$scale,$color,$wires) { - $model = $model|0; - $position = $position|0; - $rotationAxis = $rotationAxis|0; - $rotationAngle = +$rotationAngle; - $scale = $scale|0; - $color = $color|0; - $wires = $wires|0; - var $0 = 0, $1 = 0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $14 = 0, $15 = 0.0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0.0, $22 = 0.0, $23 = 0, $24 = 0, $25 = 0, $26 = 0.0; - var $27 = 0.0, $28 = 0, $29 = 0, $3 = 0.0, $30 = 0, $31 = 0.0, $32 = 0.0, $33 = 0, $34 = 0, $35 = 0, $36 = 0.0, $37 = 0.0, $38 = 0, $39 = 0, $4 = 0.0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0.0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0.0, $60 = 0, $61 = 0, $62 = 0; - var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0.0, $80 = 0; - var $81 = 0, $9 = 0, $matMVP = 0, $matMVP$byval_copy = 0, $matModel = 0, $matModelView = 0, $matModelView$byval_copy = 0, $matProjection = 0, $matRotation = 0, $matScale = 0, $matTransform = 0, $matTranslation = 0, $matView = 0, $vColor = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 784|0; - $matMVP$byval_copy = sp + 720|0; - $matModelView$byval_copy = sp + 656|0; - $matView = sp + 512|0; - $matProjection = sp + 448|0; - $matRotation = sp + 384|0; - $matScale = sp + 320|0; - $matTranslation = sp + 256|0; - $matTransform = sp + 192|0; - $0 = sp + 592|0; - $matModel = sp + 128|0; - $matModelView = sp + 64|0; - $matMVP = sp; - $vColor = sp + 576|0; - $1 = ((($model)) + 164|0); - $2 = HEAP32[$1>>2]|0; - _glUseProgram(($2|0)); - dest=$matView; src=1072; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$matProjection; src=1004; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $3 = $rotationAngle; - $4 = $3 * 0.017453292519943295; - $5 = $4; - ;HEAP32[$matMVP$byval_copy>>2]=HEAP32[$rotationAxis>>2]|0;HEAP32[$matMVP$byval_copy+4>>2]=HEAP32[$rotationAxis+4>>2]|0;HEAP32[$matMVP$byval_copy+8>>2]=HEAP32[$rotationAxis+8>>2]|0; - _MatrixRotate($matRotation,$matMVP$byval_copy,$5); - $6 = +HEAPF32[$scale>>2]; - $7 = ((($scale)) + 4|0); - $8 = +HEAPF32[$7>>2]; - $9 = ((($scale)) + 8|0); - $10 = +HEAPF32[$9>>2]; - _MatrixScale($matScale,$6,$8,$10); - $11 = +HEAPF32[$position>>2]; - $12 = ((($position)) + 4|0); - $13 = +HEAPF32[$12>>2]; - $14 = ((($position)) + 8|0); - $15 = +HEAPF32[$14>>2]; - _MatrixTranslate($matTranslation,$11,$13,$15); - dest=$matModelView$byval_copy; src=$matScale; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$matMVP$byval_copy; src=$matRotation; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixMultiply($0,$matModelView$byval_copy,$matMVP$byval_copy); - dest=$matModelView$byval_copy; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$matMVP$byval_copy; src=$matTranslation; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixMultiply($matTransform,$matModelView$byval_copy,$matMVP$byval_copy); - $16 = ((($model)) + 80|0); - dest=$matModelView$byval_copy; src=$16; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$matMVP$byval_copy; src=$matTransform; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixMultiply($matModel,$matModelView$byval_copy,$matMVP$byval_copy); - dest=$matModelView$byval_copy; src=$matModel; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$matMVP$byval_copy; src=$matView; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixMultiply($matModelView,$matModelView$byval_copy,$matMVP$byval_copy); - dest=$matModelView$byval_copy; src=$matModelView; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$matMVP$byval_copy; src=$matProjection; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixMultiply($matMVP,$matModelView$byval_copy,$matMVP$byval_copy); - $17 = ((($model)) + 196|0); - $18 = HEAP32[$17>>2]|0; - dest=$matMVP$byval_copy; src=$matMVP; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $19 = (_MatrixToFloat($matMVP$byval_copy)|0); - _glUniformMatrix4fv(($18|0),1,0,($19|0)); - $20 = HEAP8[$color>>0]|0; - $21 = (+($20&255)); - $22 = $21 / 255.0; - HEAPF32[$vColor>>2] = $22; - $23 = ((($vColor)) + 4|0); - $24 = ((($color)) + 1|0); - $25 = HEAP8[$24>>0]|0; - $26 = (+($25&255)); - $27 = $26 / 255.0; - HEAPF32[$23>>2] = $27; - $28 = ((($vColor)) + 8|0); - $29 = ((($color)) + 2|0); - $30 = HEAP8[$29>>0]|0; - $31 = (+($30&255)); - $32 = $31 / 255.0; - HEAPF32[$28>>2] = $32; - $33 = ((($vColor)) + 12|0); - $34 = ((($color)) + 3|0); - $35 = HEAP8[$34>>0]|0; - $36 = (+($35&255)); - $37 = $36 / 255.0; - HEAPF32[$33>>2] = $37; - $38 = ((($model)) + 200|0); - $39 = HEAP32[$38>>2]|0; - _glUniform4fv(($39|0),1,($vColor|0)); - _glActiveTexture(33984); - $40 = ((($model)) + 168|0); - $41 = HEAP32[$40>>2]|0; - _glBindTexture(3553,($41|0)); - $42 = ((($model)) + 204|0); - $43 = HEAP32[$42>>2]|0; - _glUniform1i(($43|0),0); - $44 = ((($model)) + 172|0); - $45 = HEAP32[$44>>2]|0; - $46 = ($45|0)==(0); - if (!($46)) { - _glActiveTexture(33985); - $47 = HEAP32[$44>>2]|0; - _glBindTexture(3553,($47|0)); - } - $48 = ((($model)) + 176|0); - $49 = HEAP32[$48>>2]|0; - $50 = ($49|0)==(0); - if (!($50)) { - _glActiveTexture(33986); - $51 = HEAP32[$48>>2]|0; - _glBindTexture(3553,($51|0)); - } - $52 = HEAP32[2264>>2]|0; - $53 = ($52|0)==(0); - if ($53) { - $57 = ((($model)) + 56|0); - $58 = HEAP32[$57>>2]|0; - _glBindBuffer(34962,($58|0)); - $59 = ((($model)) + 180|0); - $60 = HEAP32[$59>>2]|0; - _glVertexAttribPointer(($60|0),3,5126,0,0,(0|0)); - $61 = HEAP32[$59>>2]|0; - _glEnableVertexAttribArray(($61|0)); - $62 = ((($model)) + 60|0); - $63 = HEAP32[$62>>2]|0; - _glBindBuffer(34962,($63|0)); - $64 = ((($model)) + 184|0); - $65 = HEAP32[$64>>2]|0; - _glVertexAttribPointer(($65|0),2,5126,0,0,(0|0)); - $66 = HEAP32[$64>>2]|0; - _glEnableVertexAttribArray(($66|0)); - $67 = ((($model)) + 188|0); - $68 = HEAP32[$67>>2]|0; - $69 = ($68|0)==(-1); - if (!($69)) { - $70 = ((($model)) + 64|0); - $71 = HEAP32[$70>>2]|0; - _glBindBuffer(34962,($71|0)); - $72 = HEAP32[$67>>2]|0; - _glVertexAttribPointer(($72|0),3,5126,0,0,(0|0)); - $73 = HEAP32[$67>>2]|0; - _glEnableVertexAttribArray(($73|0)); - } - } else { - $54 = HEAP32[2276>>2]|0; - $55 = ((($model)) + 52|0); - $56 = HEAP32[$55>>2]|0; - FUNCTION_TABLE_vi[$54 & 31]($56); - } - $74 = HEAP32[$model>>2]|0; - _glDrawArrays(4,0,($74|0)); - $75 = HEAP32[$44>>2]|0; - $76 = ($75|0)==(0); - if (!($76)) { - _glActiveTexture(33985); - _glBindTexture(3553,0); - } - $77 = HEAP32[$48>>2]|0; - $78 = ($77|0)==(0); - if (!($78)) { - _glActiveTexture(33986); - _glBindTexture(3553,0); - } - _glActiveTexture(33984); - _glBindTexture(3553,0); - $79 = HEAP32[2264>>2]|0; - $80 = ($79|0)==(0); - if ($80) { - _glBindBuffer(34962,0); - _glUseProgram(0); - STACKTOP = sp;return; - } else { - $81 = HEAP32[2276>>2]|0; - FUNCTION_TABLE_vi[$81 & 31](0); - _glUseProgram(0); - STACKTOP = sp;return; - } -} -function _rlglInitGraphics($offsetX,$offsetY,$width,$height) { - $offsetX = $offsetX|0; - $offsetY = $offsetY|0; - $width = $width|0; - $height = $height|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0.0, $5 = 0.0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $vararg_buffer = sp; - HEAP32[2460>>2] = $width; - HEAP32[2464>>2] = $height; - $0 = (($offsetX|0) / 2)&-1; - $1 = (($offsetY|0) / 2)&-1; - $2 = (($width) - ($offsetX))|0; - $3 = (($height) - ($offsetY))|0; - _glViewport(($0|0),($1|0),($2|0),($3|0)); - _glClearColor(0.0,0.0,0.0,1.0); - _glClear(16640); - _glEnable(2929); - _glDepthFunc(515); - _glEnable(3042); - _glBlendFunc(770,771); - _rlMatrixMode(0); - _rlLoadIdentity(); - $4 = (+($2|0)); - $5 = (+($3|0)); - _rlOrtho(0.0,$4,$5,0.0,0.0,1.0); - _rlMatrixMode(1); - _rlLoadIdentity(); - _glEnable(2884); - _TraceLog(0,13711,$vararg_buffer); - STACKTOP = sp;return; -} -function _LoadShaderProgram($vShaderStr,$fShaderStr) { - $vShaderStr = $vShaderStr|0; - $fShaderStr = $fShaderStr|0; - var $$alloca_mul = 0, $$alloca_mul25 = 0, $$alloca_mul27 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0; - var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $length = 0, $length2 = 0, $length4 = 0, $maxLength = 0, $maxLength1 = 0, $maxLength3 = 0, $pfs = 0, $program$0 = 0, $pvs = 0, $success = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer13 = 0, $vararg_buffer16 = 0, $vararg_buffer19 = 0; - var $vararg_buffer22 = 0, $vararg_buffer4 = 0, $vararg_buffer7 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 112|0; - $vararg_buffer22 = sp + 64|0; - $vararg_buffer19 = sp + 56|0; - $vararg_buffer16 = sp + 48|0; - $vararg_buffer13 = sp + 40|0; - $vararg_buffer10 = sp + 32|0; - $vararg_buffer7 = sp + 24|0; - $vararg_buffer4 = sp + 16|0; - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $pvs = sp + 100|0; - $pfs = sp + 96|0; - $success = sp + 92|0; - $maxLength = sp + 88|0; - $length = sp + 84|0; - $maxLength1 = sp + 80|0; - $length2 = sp + 76|0; - $maxLength3 = sp + 72|0; - $length4 = sp + 68|0; - $0 = (_glCreateShader(35633)|0); - $1 = (_glCreateShader(35632)|0); - HEAP32[$pvs>>2] = $vShaderStr; - HEAP32[$pfs>>2] = $fShaderStr; - _glShaderSource(($0|0),1,($pvs|0),(0|0)); - _glShaderSource(($1|0),1,($pfs|0),(0|0)); - HEAP32[$success>>2] = 0; - _glCompileShader(($0|0)); - _glGetShaderiv(($0|0),35713,($success|0)); - $2 = HEAP32[$success>>2]|0; - $3 = ($2|0)==(1); - if ($3) { - HEAP32[$vararg_buffer4>>2] = $0; - _TraceLog(0,13886,$vararg_buffer4); - } else { - HEAP32[$vararg_buffer>>2] = $0; - _TraceLog(2,13834,$vararg_buffer); - HEAP32[$maxLength>>2] = 0; - _glGetShaderiv(($0|0),35716,($maxLength|0)); - $4 = HEAP32[$maxLength>>2]|0; - $5 = (_llvm_stacksave()|0); - $$alloca_mul = $4; - $6 = STACKTOP; STACKTOP = STACKTOP + ((((1*$$alloca_mul)|0)+15)&-16)|0;; - $7 = HEAP32[$maxLength>>2]|0; - _glGetShaderInfoLog(($0|0),($7|0),($length|0),($6|0)); - HEAP32[$vararg_buffer1>>2] = $6; - _TraceLog(0,13883,$vararg_buffer1); - _llvm_stackrestore(($5|0)); - } - _glCompileShader(($1|0)); - _glGetShaderiv(($1|0),35713,($success|0)); - $8 = HEAP32[$success>>2]|0; - $9 = ($8|0)==(1); - if ($9) { - HEAP32[$vararg_buffer13>>2] = $1; - _TraceLog(0,13987,$vararg_buffer13); - } else { - HEAP32[$vararg_buffer7>>2] = $1; - _TraceLog(2,13936,$vararg_buffer7); - HEAP32[$maxLength1>>2] = 0; - _glGetShaderiv(($1|0),35716,($maxLength1|0)); - $10 = HEAP32[$maxLength1>>2]|0; - $11 = (_llvm_stacksave()|0); - $$alloca_mul25 = $10; - $12 = STACKTOP; STACKTOP = STACKTOP + ((((1*$$alloca_mul25)|0)+15)&-16)|0;; - $13 = HEAP32[$maxLength1>>2]|0; - _glGetShaderInfoLog(($1|0),($13|0),($length2|0),($12|0)); - HEAP32[$vararg_buffer10>>2] = $12; - _TraceLog(0,13883,$vararg_buffer10); - _llvm_stackrestore(($11|0)); - } - $14 = (_glCreateProgram()|0); - _glAttachShader(($14|0),($0|0)); - _glAttachShader(($14|0),($1|0)); - _glLinkProgram(($14|0)); - _glGetProgramiv(($14|0),35714,($success|0)); - $15 = HEAP32[$success>>2]|0; - $16 = ($15|0)==(0); - if ($16) { - HEAP32[$vararg_buffer16>>2] = $14; - _TraceLog(2,14039,$vararg_buffer16); - HEAP32[$maxLength3>>2] = 0; - _glGetProgramiv(($14|0),35716,($maxLength3|0)); - $17 = HEAP32[$maxLength3>>2]|0; - $18 = (_llvm_stacksave()|0); - $$alloca_mul27 = $17; - $19 = STACKTOP; STACKTOP = STACKTOP + ((((1*$$alloca_mul27)|0)+15)&-16)|0;; - $20 = HEAP32[$maxLength3>>2]|0; - _glGetProgramInfoLog(($14|0),($20|0),($length4|0),($19|0)); - HEAP32[$vararg_buffer19>>2] = $19; - _TraceLog(0,13883,$vararg_buffer19); - _glDeleteProgram(($14|0)); - _llvm_stackrestore(($18|0)); - $program$0 = 0; - _glDeleteShader(($0|0)); - _glDeleteShader(($1|0)); - STACKTOP = sp;return ($program$0|0); - } else { - HEAP32[$vararg_buffer22>>2] = $14; - _TraceLog(0,14085,$vararg_buffer22); - $program$0 = $14; - _glDeleteShader(($0|0)); - _glDeleteShader(($1|0)); - STACKTOP = sp;return ($program$0|0); - } - return (0)|0; -} -function _IsPosproShaderEnabled() { - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[2732>>2]|0; - return ($0|0); -} -function _DrawCircle($centerX,$centerY,$radius,$color) { - $centerX = $centerX|0; - $centerY = $centerY|0; - $radius = +$radius; - $color = $color|0; - var $$byval_copy = 0, $0 = 0, $1 = 0.0, $2 = 0.0, $3 = 0, $color$byval_copy = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $color$byval_copy = sp + 16|0; - $$byval_copy = sp + 8|0; - $0 = sp; - $1 = (+($centerX|0)); - $2 = (+($centerY|0)); - HEAPF32[$0>>2] = $1; - $3 = ((($0)) + 4|0); - HEAPF32[$3>>2] = $2; - ;HEAP32[$$byval_copy>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$0+4>>2]|0; - ;HEAP8[$color$byval_copy>>0]=HEAP8[$color>>0]|0;HEAP8[$color$byval_copy+1>>0]=HEAP8[$color+1>>0]|0;HEAP8[$color$byval_copy+2>>0]=HEAP8[$color+2>>0]|0;HEAP8[$color$byval_copy+3>>0]=HEAP8[$color+3>>0]|0; - _DrawPoly($$byval_copy,36,$radius,0.0,$color$byval_copy); - STACKTOP = sp;return; -} -function _DrawPoly($center,$sides,$radius,$rotation,$color) { - $center = $center|0; - $sides = $sides|0; - $radius = +$radius; - $rotation = +$rotation; - $color = $color|0; - var $$sides = 0, $0 = 0, $1 = 0.0, $10 = 0, $11 = 0.0, $12 = 0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $2 = 0, $20 = 0.0, $21 = 0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0.0; - var $26 = 0.0, $27 = 0.0, $28 = 0.0, $29 = 0.0, $3 = 0.0, $30 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i$01 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ($sides|0)<(3); - $$sides = $0 ? 3 : $sides; - _rlPushMatrix(); - $1 = +HEAPF32[$center>>2]; - $2 = ((($center)) + 4|0); - $3 = +HEAPF32[$2>>2]; - _rlTranslatef($1,$3,0.0); - _rlRotatef($rotation,0.0,0.0,1.0); - _rlBegin(1); - $4 = HEAP8[$color>>0]|0; - $5 = ((($color)) + 1|0); - $6 = HEAP8[$5>>0]|0; - $7 = ((($color)) + 2|0); - $8 = HEAP8[$7>>0]|0; - $9 = ((($color)) + 3|0); - $10 = HEAP8[$9>>0]|0; - $11 = $radius; - $12 = (360 / ($$sides|0))&-1; - $i$01 = 0; - while(1) { - _rlColor4ub($4,$6,$8,$10); - _rlVertex2i(0,0); - $13 = (+($i$01|0)); - $14 = $13 * 0.017453292519943295; - $15 = (+Math_sin((+$14))); - $16 = $11 * $15; - $17 = $16; - $18 = (+Math_cos((+$14))); - $19 = $11 * $18; - $20 = $19; - _rlVertex2f($17,$20); - $21 = (($12) + ($i$01))|0; - $22 = (+($21|0)); - $23 = $22 * 0.017453292519943295; - $24 = (+Math_sin((+$23))); - $25 = $11 * $24; - $26 = $25; - $27 = (+Math_cos((+$23))); - $28 = $11 * $27; - $29 = $28; - _rlVertex2f($26,$29); - $30 = ($21|0)<(360); - if ($30) { - $i$01 = $21; - } else { - break; - } - } - _rlEnd(); - _rlPopMatrix(); - return; -} -function _DrawCircleGradient($centerX,$centerY,$radius,$color1,$color2) { - $centerX = $centerX|0; - $centerY = $centerY|0; - $radius = +$radius; - $color1 = $color1|0; - $color2 = $color2|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0.0, $26 = 0.0; - var $27 = 0.0, $28 = 0.0, $29 = 0.0, $3 = 0, $30 = 0.0, $31 = 0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0.0, $36 = 0.0, $37 = 0.0, $38 = 0.0, $39 = 0.0, $4 = 0, $40 = 0.0, $41 = 0.0, $42 = 0, $5 = 0, $6 = 0; - var $7 = 0, $8 = 0, $9 = 0, $i$01 = 0, label = 0, sp = 0; - sp = STACKTOP; - _rlBegin(1); - $0 = HEAP8[$color1>>0]|0; - $1 = ((($color1)) + 1|0); - $2 = HEAP8[$1>>0]|0; - $3 = ((($color1)) + 2|0); - $4 = HEAP8[$3>>0]|0; - $5 = ((($color1)) + 3|0); - $6 = HEAP8[$5>>0]|0; - $7 = HEAP8[$color2>>0]|0; - $8 = ((($color2)) + 1|0); - $9 = HEAP8[$8>>0]|0; - $10 = ((($color2)) + 2|0); - $11 = HEAP8[$10>>0]|0; - $12 = ((($color2)) + 3|0); - $13 = HEAP8[$12>>0]|0; - $14 = (+($centerX|0)); - $15 = $radius; - $16 = (+($centerY|0)); - $17 = HEAP8[$color2>>0]|0; - $18 = HEAP8[$8>>0]|0; - $19 = HEAP8[$10>>0]|0; - $20 = HEAP8[$12>>0]|0; - $i$01 = 0; - while(1) { - _rlColor4ub($0,$2,$4,$6); - _rlVertex2i($centerX,$centerY); - _rlColor4ub($7,$9,$11,$13); - $21 = (+($i$01|0)); - $22 = $21 * 0.017453292519943295; - $23 = (+Math_sin((+$22))); - $24 = $15 * $23; - $25 = $14 + $24; - $26 = $25; - $27 = (+Math_cos((+$22))); - $28 = $15 * $27; - $29 = $16 + $28; - $30 = $29; - _rlVertex2f($26,$30); - _rlColor4ub($17,$18,$19,$20); - $31 = (($i$01) + 10)|0; - $32 = (+($31|0)); - $33 = $32 * 0.017453292519943295; - $34 = (+Math_sin((+$33))); - $35 = $15 * $34; - $36 = $14 + $35; - $37 = $36; - $38 = (+Math_cos((+$33))); - $39 = $15 * $38; - $40 = $16 + $39; - $41 = $40; - _rlVertex2f($37,$41); - $42 = ($31|0)<(360); - if ($42) { - $i$01 = $31; - } else { - break; - } - } - _rlEnd(); - return; -} -function _DrawCircleLines($centerX,$centerY,$radius,$color) { - $centerX = $centerX|0; - $centerY = $centerY|0; - $radius = +$radius; - $color = $color|0; - var $0 = 0, $1 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $2 = 0, $20 = 0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0.0, $26 = 0.0; - var $27 = 0.0, $28 = 0.0, $29 = 0.0, $3 = 0, $30 = 0.0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0.0, $8 = 0.0, $9 = 0.0, $i$01 = 0, label = 0, sp = 0; - sp = STACKTOP; - _rlBegin(0); - $0 = HEAP8[$color>>0]|0; - $1 = ((($color)) + 1|0); - $2 = HEAP8[$1>>0]|0; - $3 = ((($color)) + 2|0); - $4 = HEAP8[$3>>0]|0; - $5 = ((($color)) + 3|0); - $6 = HEAP8[$5>>0]|0; - _rlColor4ub($0,$2,$4,$6); - $7 = (+($centerX|0)); - $8 = $radius; - $9 = (+($centerY|0)); - $i$01 = 0; - while(1) { - $10 = (+($i$01|0)); - $11 = $10 * 0.017453292519943295; - $12 = (+Math_sin((+$11))); - $13 = $8 * $12; - $14 = $7 + $13; - $15 = $14; - $16 = (+Math_cos((+$11))); - $17 = $8 * $16; - $18 = $9 + $17; - $19 = $18; - _rlVertex2f($15,$19); - $20 = (($i$01) + 10)|0; - $21 = (+($20|0)); - $22 = $21 * 0.017453292519943295; - $23 = (+Math_sin((+$22))); - $24 = $8 * $23; - $25 = $7 + $24; - $26 = $25; - $27 = (+Math_cos((+$22))); - $28 = $8 * $27; - $29 = $9 + $28; - $30 = $29; - _rlVertex2f($26,$30); - $31 = ($20|0)<(360); - if ($31) { - $i$01 = $20; - } else { - break; - } - } - _rlEnd(); - return; -} -function _DrawRectangle($posX,$posY,$width,$height,$color) { - $posX = $posX|0; - $posY = $posY|0; - $width = $width|0; - $height = $height|0; - $color = $color|0; - var $0 = 0.0, $1 = 0, $2 = 0.0, $3 = 0.0, $4 = 0, $5 = 0.0, $color$byval_copy = 0, $position = 0, $position$byval_copy = 0, $size = 0, $size$byval_copy = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $color$byval_copy = sp + 32|0; - $size$byval_copy = sp + 24|0; - $position$byval_copy = sp + 16|0; - $position = sp + 8|0; - $size = sp; - $0 = (+($posX|0)); - HEAPF32[$position>>2] = $0; - $1 = ((($position)) + 4|0); - $2 = (+($posY|0)); - HEAPF32[$1>>2] = $2; - $3 = (+($width|0)); - HEAPF32[$size>>2] = $3; - $4 = ((($size)) + 4|0); - $5 = (+($height|0)); - HEAPF32[$4>>2] = $5; - ;HEAP32[$position$byval_copy>>2]=HEAP32[$position>>2]|0;HEAP32[$position$byval_copy+4>>2]=HEAP32[$position+4>>2]|0; - ;HEAP32[$size$byval_copy>>2]=HEAP32[$size>>2]|0;HEAP32[$size$byval_copy+4>>2]=HEAP32[$size+4>>2]|0; - ;HEAP8[$color$byval_copy>>0]=HEAP8[$color>>0]|0;HEAP8[$color$byval_copy+1>>0]=HEAP8[$color+1>>0]|0;HEAP8[$color$byval_copy+2>>0]=HEAP8[$color+2>>0]|0;HEAP8[$color$byval_copy+3>>0]=HEAP8[$color+3>>0]|0; - _DrawRectangleV($position$byval_copy,$size$byval_copy,$color$byval_copy); - STACKTOP = sp;return; -} -function _DrawRectangleV($position,$size,$color) { - $position = $position|0; - $size = $size|0; - $color = $color|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0, $16 = 0.0, $17 = 0, $18 = 0.0, $19 = 0.0, $2 = 0, $20 = 0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0, $25 = 0.0, $26 = 0.0; - var $27 = 0.0, $28 = 0, $29 = 0.0, $3 = 0, $30 = 0, $31 = 0.0, $32 = 0, $33 = 0.0, $34 = 0.0, $35 = 0.0, $36 = 0, $37 = 0.0, $38 = 0.0, $39 = 0.0, $4 = 0, $40 = 0, $41 = 0.0, $42 = 0.0, $43 = 0.0, $44 = 0; - var $45 = 0.0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0.0, $6 = 0, $60 = 0, $61 = 0.0, $62 = 0.0; - var $63 = 0.0, $64 = 0, $65 = 0.0, $66 = 0.0, $67 = 0.0, $68 = 0.0, $69 = 0.0, $7 = 0, $70 = 0.0, $71 = 0.0, $72 = 0.0, $73 = 0.0, $74 = 0.0, $75 = 0.0, $76 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_rlGetVersion()|0); - $1 = ($0|0)==(1); - if ($1) { - _rlBegin(1); - $2 = HEAP8[$color>>0]|0; - $3 = ((($color)) + 1|0); - $4 = HEAP8[$3>>0]|0; - $5 = ((($color)) + 2|0); - $6 = HEAP8[$5>>0]|0; - $7 = ((($color)) + 3|0); - $8 = HEAP8[$7>>0]|0; - _rlColor4ub($2,$4,$6,$8); - $9 = +HEAPF32[$position>>2]; - $10 = (~~(($9))); - $11 = ((($position)) + 4|0); - $12 = +HEAPF32[$11>>2]; - $13 = (~~(($12))); - _rlVertex2i($10,$13); - $14 = +HEAPF32[$position>>2]; - $15 = (~~(($14))); - $16 = +HEAPF32[$11>>2]; - $17 = ((($size)) + 4|0); - $18 = +HEAPF32[$17>>2]; - $19 = $16 + $18; - $20 = (~~(($19))); - _rlVertex2i($15,$20); - $21 = +HEAPF32[$position>>2]; - $22 = +HEAPF32[$size>>2]; - $23 = $21 + $22; - $24 = (~~(($23))); - $25 = +HEAPF32[$11>>2]; - $26 = +HEAPF32[$17>>2]; - $27 = $25 + $26; - $28 = (~~(($27))); - _rlVertex2i($24,$28); - $29 = +HEAPF32[$position>>2]; - $30 = (~~(($29))); - $31 = +HEAPF32[$11>>2]; - $32 = (~~(($31))); - _rlVertex2i($30,$32); - $33 = +HEAPF32[$position>>2]; - $34 = +HEAPF32[$size>>2]; - $35 = $33 + $34; - $36 = (~~(($35))); - $37 = +HEAPF32[$11>>2]; - $38 = +HEAPF32[$17>>2]; - $39 = $37 + $38; - $40 = (~~(($39))); - _rlVertex2i($36,$40); - $41 = +HEAPF32[$position>>2]; - $42 = +HEAPF32[$size>>2]; - $43 = $41 + $42; - $44 = (~~(($43))); - $45 = +HEAPF32[$11>>2]; - $46 = (~~(($45))); - _rlVertex2i($44,$46); - _rlEnd(); - return; - } - $47 = (_rlGetVersion()|0); - $48 = ($47|0)==(2); - if (!($48)) { - $49 = (_rlGetVersion()|0); - $50 = ($49|0)==(3); - if (!($50)) { - return; - } - } - $51 = HEAP32[808>>2]|0; - _rlEnableTexture($51); - _rlBegin(2); - $52 = HEAP8[$color>>0]|0; - $53 = ((($color)) + 1|0); - $54 = HEAP8[$53>>0]|0; - $55 = ((($color)) + 2|0); - $56 = HEAP8[$55>>0]|0; - $57 = ((($color)) + 3|0); - $58 = HEAP8[$57>>0]|0; - _rlColor4ub($52,$54,$56,$58); - _rlTexCoord2f(0.0,0.0); - $59 = +HEAPF32[$position>>2]; - $60 = ((($position)) + 4|0); - $61 = +HEAPF32[$60>>2]; - _rlVertex2f($59,$61); - _rlTexCoord2f(0.0,1.0); - $62 = +HEAPF32[$position>>2]; - $63 = +HEAPF32[$60>>2]; - $64 = ((($size)) + 4|0); - $65 = +HEAPF32[$64>>2]; - $66 = $63 + $65; - _rlVertex2f($62,$66); - _rlTexCoord2f(1.0,1.0); - $67 = +HEAPF32[$position>>2]; - $68 = +HEAPF32[$size>>2]; - $69 = $67 + $68; - $70 = +HEAPF32[$60>>2]; - $71 = +HEAPF32[$64>>2]; - $72 = $70 + $71; - _rlVertex2f($69,$72); - _rlTexCoord2f(1.0,0.0); - $73 = +HEAPF32[$position>>2]; - $74 = +HEAPF32[$size>>2]; - $75 = $73 + $74; - $76 = +HEAPF32[$60>>2]; - _rlVertex2f($75,$76); - _rlEnd(); - return; -} -function _DrawRectangleGradient($posX,$posY,$width,$height,$color1,$color2) { - $posX = $posX|0; - $posY = $posY|0; - $width = $width|0; - $height = $height|0; - $color1 = $color1|0; - $color2 = $color2|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - _rlBegin(1); - $0 = HEAP8[$color1>>0]|0; - $1 = ((($color1)) + 1|0); - $2 = HEAP8[$1>>0]|0; - $3 = ((($color1)) + 2|0); - $4 = HEAP8[$3>>0]|0; - $5 = ((($color1)) + 3|0); - $6 = HEAP8[$5>>0]|0; - _rlColor4ub($0,$2,$4,$6); - _rlVertex2i($posX,$posY); - $7 = HEAP8[$color2>>0]|0; - $8 = ((($color2)) + 1|0); - $9 = HEAP8[$8>>0]|0; - $10 = ((($color2)) + 2|0); - $11 = HEAP8[$10>>0]|0; - $12 = ((($color2)) + 3|0); - $13 = HEAP8[$12>>0]|0; - _rlColor4ub($7,$9,$11,$13); - $14 = (($height) + ($posY))|0; - _rlVertex2i($posX,$14); - $15 = HEAP8[$color2>>0]|0; - $16 = HEAP8[$8>>0]|0; - $17 = HEAP8[$10>>0]|0; - $18 = HEAP8[$12>>0]|0; - _rlColor4ub($15,$16,$17,$18); - $19 = (($width) + ($posX))|0; - _rlVertex2i($19,$14); - $20 = HEAP8[$color1>>0]|0; - $21 = HEAP8[$1>>0]|0; - $22 = HEAP8[$3>>0]|0; - $23 = HEAP8[$5>>0]|0; - _rlColor4ub($20,$21,$22,$23); - _rlVertex2i($posX,$posY); - $24 = HEAP8[$color2>>0]|0; - $25 = HEAP8[$8>>0]|0; - $26 = HEAP8[$10>>0]|0; - $27 = HEAP8[$12>>0]|0; - _rlColor4ub($24,$25,$26,$27); - _rlVertex2i($19,$14); - $28 = HEAP8[$color1>>0]|0; - $29 = HEAP8[$1>>0]|0; - $30 = HEAP8[$3>>0]|0; - $31 = HEAP8[$5>>0]|0; - _rlColor4ub($28,$29,$30,$31); - _rlVertex2i($19,$posY); - _rlEnd(); - return; -} -function _DrawRectangleLines($posX,$posY,$width,$height,$color) { - $posX = $posX|0; - $posY = $posY|0; - $width = $width|0; - $height = $height|0; - $color = $color|0; - var $0 = 0, $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - _rlBegin(0); - $0 = HEAP8[$color>>0]|0; - $1 = ((($color)) + 1|0); - $2 = HEAP8[$1>>0]|0; - $3 = ((($color)) + 2|0); - $4 = HEAP8[$3>>0]|0; - $5 = ((($color)) + 3|0); - $6 = HEAP8[$5>>0]|0; - _rlColor4ub($0,$2,$4,$6); - $7 = (($posX) + 1)|0; - $8 = (($posY) + 1)|0; - _rlVertex2i($7,$8); - $9 = (($width) + ($posX))|0; - _rlVertex2i($9,$8); - _rlVertex2i($9,$8); - $10 = (($height) + ($posY))|0; - _rlVertex2i($9,$10); - _rlVertex2i($9,$10); - _rlVertex2i($7,$10); - _rlVertex2i($7,$10); - _rlVertex2i($7,$8); - _rlEnd(); - return; -} -function _DrawTriangle($v1,$v2,$v3,$color) { - $v1 = $v1|0; - $v2 = $v2|0; - $v3 = $v3|0; - $color = $color|0; - var $0 = 0, $1 = 0, $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0.0, $14 = 0, $15 = 0.0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - _rlBegin(1); - $0 = HEAP8[$color>>0]|0; - $1 = ((($color)) + 1|0); - $2 = HEAP8[$1>>0]|0; - $3 = ((($color)) + 2|0); - $4 = HEAP8[$3>>0]|0; - $5 = ((($color)) + 3|0); - $6 = HEAP8[$5>>0]|0; - _rlColor4ub($0,$2,$4,$6); - $7 = +HEAPF32[$v1>>2]; - $8 = ((($v1)) + 4|0); - $9 = +HEAPF32[$8>>2]; - _rlVertex2f($7,$9); - $10 = +HEAPF32[$v2>>2]; - $11 = ((($v2)) + 4|0); - $12 = +HEAPF32[$11>>2]; - _rlVertex2f($10,$12); - $13 = +HEAPF32[$v3>>2]; - $14 = ((($v3)) + 4|0); - $15 = +HEAPF32[$14>>2]; - _rlVertex2f($13,$15); - _rlEnd(); - return; -} -function _stbtt_InitFont($info,$data2,$fontstart) { - $info = $info|0; - $data2 = $data2|0; - $fontstart = $fontstart|0; - var $$0 = 0, $$pr = 0, $$sum = 0, $$sum1 = 0, $$sum2 = 0, $$sum3 = 0, $$sum4 = 0, $$sum5 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0; - var $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0; - var $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0; - var $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $i$06 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($info)) + 4|0); - HEAP32[$0>>2] = $data2; - $1 = ((($info)) + 8|0); - HEAP32[$1>>2] = $fontstart; - $2 = (_stbtt__find_table($data2,$fontstart,14133)|0); - $3 = (_stbtt__find_table($data2,$fontstart,14138)|0); - $4 = ((($info)) + 16|0); - HEAP32[$4>>2] = $3; - $5 = (_stbtt__find_table($data2,$fontstart,14143)|0); - $6 = ((($info)) + 20|0); - HEAP32[$6>>2] = $5; - $7 = (_stbtt__find_table($data2,$fontstart,14148)|0); - $8 = ((($info)) + 24|0); - HEAP32[$8>>2] = $7; - $9 = (_stbtt__find_table($data2,$fontstart,14153)|0); - $10 = ((($info)) + 28|0); - HEAP32[$10>>2] = $9; - $11 = (_stbtt__find_table($data2,$fontstart,14158)|0); - $12 = ((($info)) + 32|0); - HEAP32[$12>>2] = $11; - $13 = (_stbtt__find_table($data2,$fontstart,14163)|0); - $14 = ((($info)) + 36|0); - HEAP32[$14>>2] = $13; - $15 = ($2|0)==(0); - if ($15) { - $$0 = 0; - return ($$0|0); - } - $16 = HEAP32[$4>>2]|0; - $17 = ($16|0)==(0); - if ($17) { - $$0 = 0; - return ($$0|0); - } - $18 = HEAP32[$6>>2]|0; - $19 = ($18|0)==(0); - if ($19) { - $$0 = 0; - return ($$0|0); - } - $20 = HEAP32[$8>>2]|0; - $21 = ($20|0)==(0); - if ($21) { - $$0 = 0; - return ($$0|0); - } - $22 = HEAP32[$10>>2]|0; - $23 = ($22|0)==(0); - if ($23) { - $$0 = 0; - return ($$0|0); - } - $24 = HEAP32[$12>>2]|0; - $25 = ($24|0)==(0); - if ($25) { - $$0 = 0; - return ($$0|0); - } - $26 = (_stbtt__find_table($data2,$fontstart,14168)|0); - $27 = ($26|0)==(0); - if ($27) { - $32 = ((($info)) + 12|0); - HEAP32[$32>>2] = 65535; - } else { - $$sum5 = (($26) + 4)|0; - $28 = (($data2) + ($$sum5)|0); - $29 = (_ttUSHORT($28)|0); - $30 = $29&65535; - $31 = ((($info)) + 12|0); - HEAP32[$31>>2] = $30; - } - $$sum = (($2) + 2)|0; - $33 = (($data2) + ($$sum)|0); - $34 = (_ttUSHORT($33)|0); - $35 = ((($info)) + 40|0); - HEAP32[$35>>2] = 0; - $36 = ($34<<16>>16)==(0); - if ($36) { - $$0 = 0; - return ($$0|0); - } - $37 = (($2) + 4)|0; - $38 = $34&65535; - $i$06 = 0; - while(1) { - $39 = $i$06 << 3; - $40 = (($37) + ($39))|0; - $41 = (($data2) + ($40)|0); - $42 = (_ttUSHORT($41)|0); - $43 = $42&65535; - L28: do { - switch ($43|0) { - case 3: { - $$sum3 = (($40) + 2)|0; - $44 = (($data2) + ($$sum3)|0); - $45 = (_ttUSHORT($44)|0); - $46 = $45&65535; - switch ($46|0) { - case 10: case 1: { - break; - } - default: { - break L28; - } - } - $$sum4 = (($40) + 4)|0; - $47 = (($data2) + ($$sum4)|0); - $48 = (_ttULONG($47)|0); - $49 = (($48) + ($2))|0; - HEAP32[$35>>2] = $49; - break; - } - case 0: { - $$sum2 = (($40) + 4)|0; - $50 = (($data2) + ($$sum2)|0); - $51 = (_ttULONG($50)|0); - $52 = (($51) + ($2))|0; - HEAP32[$35>>2] = $52; - break; - } - default: { - } - } - } while(0); - $53 = (($i$06) + 1)|0; - $exitcond = ($53|0)==($38|0); - if ($exitcond) { - break; - } else { - $i$06 = $53; - } - } - $$pr = HEAP32[$35>>2]|0; - $54 = ($$pr|0)==(0); - if ($54) { - $$0 = 0; - return ($$0|0); - } - $55 = HEAP32[$6>>2]|0; - $$sum1 = (($55) + 50)|0; - $56 = (($data2) + ($$sum1)|0); - $57 = (_ttUSHORT($56)|0); - $58 = $57&65535; - $59 = ((($info)) + 44|0); - HEAP32[$59>>2] = $58; - $$0 = 1; - return ($$0|0); -} -function _stbtt_FindGlyphIndex($info,$unicode_codepoint) { - $info = $info|0; - $unicode_codepoint = $unicode_codepoint|0; - var $$ = 0, $$0 = 0, $$lcssa = 0, $$lcssa50 = 0, $$lcssa50$lcssa = 0, $$neg = 0, $$search$1 = 0, $$sum = 0, $$sum1 = 0, $$sum10 = 0, $$sum12 = 0, $$sum13 = 0, $$sum14 = 0, $$sum15 = 0, $$sum16 = 0, $$sum17 = 0, $$sum19 = 0, $$sum2 = 0, $$sum2$lcssa = 0, $$sum2$lcssa$lcssa = 0; - var $$sum20 = 0, $$sum21 = 0, $$sum22 = 0, $$sum23 = 0, $$sum24 = 0, $$sum25 = 0, $$sum26 = 0, $$sum27 = 0, $$sum28 = 0, $$sum29 = 0, $$sum3 = 0, $$sum30 = 0, $$sum31 = 0, $$sum32 = 0, $$sum33 = 0, $$sum34 = 0, $$sum4 = 0, $$sum5 = 0, $$sum6 = 0, $$sum7 = 0; - var $$sum8 = 0, $$sum9 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0; - var $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0; - var $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0; - var $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0; - var $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0; - var $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $entrySelector$039 = 0, $high$0 = 0, $high$0$lcssa49 = 0, $high$0$ph = 0, $low$0$ph = 0, $search$1$lcssa = 0, $search$138 = 0, $searchRange$040 = 0, $switch = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($info)) + 4|0); - $1 = HEAP32[$0>>2]|0; - $2 = ((($info)) + 40|0); - $3 = HEAP32[$2>>2]|0; - $4 = (($1) + ($3)|0); - $5 = (_ttUSHORT($4)|0); - switch ($5<<16>>16) { - case 0: { - $$sum32 = (($3) + 2)|0; - $6 = (($1) + ($$sum32)|0); - $7 = (_ttUSHORT($6)|0); - $8 = $7&65535; - $9 = (($8) + -6)|0; - $10 = ($9|0)>($unicode_codepoint|0); - if (!($10)) { - $$0 = 0; - return ($$0|0); - } - $$sum33 = (($unicode_codepoint) + 6)|0; - $$sum34 = (($$sum33) + ($3))|0; - $11 = (($1) + ($$sum34)|0); - $12 = HEAP8[$11>>0]|0; - $13 = $12&255; - $$0 = $13; - return ($$0|0); - break; - } - case 6: { - $$sum28 = (($3) + 6)|0; - $14 = (($1) + ($$sum28)|0); - $15 = (_ttUSHORT($14)|0); - $16 = $15&65535; - $17 = ($16>>>0)>($unicode_codepoint>>>0); - if ($17) { - $$0 = 0; - return ($$0|0); - } - $$sum29 = (($3) + 8)|0; - $18 = (($1) + ($$sum29)|0); - $19 = (_ttUSHORT($18)|0); - $20 = $19&65535; - $21 = (($20) + ($16))|0; - $22 = ($21>>>0)>($unicode_codepoint>>>0); - if (!($22)) { - $$0 = 0; - return ($$0|0); - } - $$sum30 = (($3) + 10)|0; - $23 = (($unicode_codepoint) - ($16))|0; - $24 = $23 << 1; - $$sum31 = (($$sum30) + ($24))|0; - $25 = (($1) + ($$sum31)|0); - $26 = (_ttUSHORT($25)|0); - $27 = $26&65535; - $$0 = $27; - return ($$0|0); - break; - } - case 2: { - ___assert_fail((19474|0),(14173|0),1094,(14190|0)); - // unreachable; - break; - } - case 4: { - $$sum5 = (($3) + 6)|0; - $28 = (($1) + ($$sum5)|0); - $29 = (_ttUSHORT($28)|0); - $30 = ($29&65535) >>> 1; - $31 = (($3) + 14)|0; - $32 = ($unicode_codepoint|0)>(65535); - if ($32) { - $$0 = 0; - return ($$0|0); - } - $$sum8 = (($3) + 12)|0; - $33 = (($1) + ($$sum8)|0); - $34 = (_ttUSHORT($33)|0); - $$sum7 = (($3) + 10)|0; - $35 = (($1) + ($$sum7)|0); - $36 = (_ttUSHORT($35)|0); - $37 = ($34&65535) >>> 1; - $38 = $37&65535; - $39 = $38 << 1; - $$sum9 = (($39) + ($31))|0; - $40 = (($1) + ($$sum9)|0); - $41 = (_ttUSHORT($40)|0); - $42 = $41&65535; - $43 = ($42|0)>($unicode_codepoint|0); - $$ = $43 ? $31 : $$sum9; - $44 = (($$) + -2)|0; - $45 = ($36<<16>>16)==(0); - if ($45) { - $search$1$lcssa = $44; - } else { - $$sum6 = (($3) + 8)|0; - $46 = (($1) + ($$sum6)|0); - $47 = (_ttUSHORT($46)|0); - $48 = ($47&65535) >>> 1; - $entrySelector$039 = $36;$search$138 = $44;$searchRange$040 = $48; - while(1) { - $49 = ($searchRange$040&65535) >>> 1; - $50 = $49&65535; - $51 = $50 << 1; - $$sum27 = (($51) + ($search$138))|0; - $52 = (($1) + ($$sum27)|0); - $53 = (_ttUSHORT($52)|0); - $54 = $53&65535; - $55 = ($54|0)<($unicode_codepoint|0); - $$search$1 = $55 ? $$sum27 : $search$138; - $56 = (($entrySelector$039) + -1)<<16>>16; - $57 = ($56<<16>>16)==(0); - if ($57) { - $search$1$lcssa = $$search$1; - break; - } else { - $entrySelector$039 = $56;$search$138 = $$search$1;$searchRange$040 = $49; - } - } - } - $$neg = (-14 - ($3))|0; - $58 = (($$neg) + 2)|0; - $59 = (($58) + ($search$1$lcssa))|0; - $60 = $59 & 131070; - $$sum10 = (($60) + ($31))|0; - $61 = (($1) + ($$sum10)|0); - $62 = (_ttUSHORT($61)|0); - $63 = $62&65535; - $64 = ($63|0)<($unicode_codepoint|0); - if ($64) { - ___assert_fail((14211|0),(14173|0),1130,(14190|0)); - // unreachable; - } - $65 = $30&65535; - $66 = $65 << 1; - $$sum12 = (($3) + 16)|0; - $$sum13 = (($$sum12) + ($66))|0; - $$sum14 = (($$sum13) + ($60))|0; - $67 = (($1) + ($$sum14)|0); - $68 = (_ttUSHORT($67)|0); - $69 = $68&65535; - $70 = ($69|0)>($unicode_codepoint|0); - if ($70) { - $$0 = 0; - return ($$0|0); - } - $71 = ($65*6)|0; - $$sum15 = (($3) + 16)|0; - $$sum16 = (($$sum15) + ($71))|0; - $$sum17 = (($$sum16) + ($60))|0; - $72 = (($1) + ($$sum17)|0); - $73 = (_ttUSHORT($72)|0); - $74 = ($73<<16>>16)==(0); - if ($74) { - $75 = $65 << 2; - $$sum24 = (($3) + 16)|0; - $$sum25 = (($$sum24) + ($75))|0; - $$sum26 = (($$sum25) + ($60))|0; - $76 = (($1) + ($$sum26)|0); - $77 = (_ttSHORT($76)|0); - $78 = $77&65535; - $79 = (($78) + ($unicode_codepoint))|0; - $80 = $79 & 65535; - $$0 = $80; - return ($$0|0); - } else { - $81 = $73&65535; - $82 = (($unicode_codepoint) - ($69))|0; - $83 = $82 << 1; - $$sum19 = (($3) + 16)|0; - $$sum20 = (($$sum19) + ($71))|0; - $$sum21 = (($$sum20) + ($60))|0; - $$sum22 = (($$sum21) + ($83))|0; - $$sum23 = (($$sum22) + ($81))|0; - $84 = (($1) + ($$sum23)|0); - $85 = (_ttUSHORT($84)|0); - $86 = $85&65535; - $$0 = $86; - return ($$0|0); - } - break; - } - default: { - $87 = ($5<<16>>16)==(12); - $88 = $5 & -2; - $switch = ($88<<16>>16)==(12); - if (!($switch)) { - ___assert_fail((19474|0),(14173|0),1165,(14190|0)); - // unreachable; - } - $$sum = (($3) + 12)|0; - $89 = (($1) + ($$sum)|0); - $90 = (_ttULONG($89)|0); - $$sum1 = (($3) + 16)|0; - $high$0$ph = $90;$low$0$ph = 0; - L6: while(1) { - $high$0 = $high$0$ph; - while(1) { - $91 = ($high$0|0)>($low$0$ph|0); - if (!($91)) { - $$0 = 0; - label = 27; - break L6; - } - $92 = (($high$0) - ($low$0$ph))|0; - $93 = $92 >> 1; - $94 = (($93) + ($low$0$ph))|0; - $95 = ($94*12)|0; - $$sum2 = (($$sum1) + ($95))|0; - $96 = (($1) + ($$sum2)|0); - $97 = (_ttULONG($96)|0); - $98 = ($97>>>0)>($unicode_codepoint>>>0); - if ($98) { - $high$0 = $94; - } else { - $$lcssa = $94;$$lcssa50 = $97;$$sum2$lcssa = $$sum2;$high$0$lcssa49 = $high$0; - break; - } - } - $$sum3 = (($$sum2$lcssa) + 4)|0; - $99 = (($1) + ($$sum3)|0); - $100 = (_ttULONG($99)|0); - $101 = ($100>>>0)<($unicode_codepoint>>>0); - $102 = (($$lcssa) + 1)|0; - if ($101) { - $high$0$ph = $high$0$lcssa49;$low$0$ph = $102; - } else { - $$lcssa50$lcssa = $$lcssa50;$$sum2$lcssa$lcssa = $$sum2$lcssa; - break; - } - } - if ((label|0) == 27) { - return ($$0|0); - } - $$sum4 = (($$sum2$lcssa$lcssa) + 8)|0; - $103 = (($1) + ($$sum4)|0); - $104 = (_ttULONG($103)|0); - if (!($87)) { - $$0 = $104; - return ($$0|0); - } - $105 = (($unicode_codepoint) - ($$lcssa50$lcssa))|0; - $106 = (($105) + ($104))|0; - $$0 = $106; - return ($$0|0); - } - } - return (0)|0; -} -function _stbtt_GetGlyphShape($info,$glyph_index,$pvertices) { - $info = $info|0; - $glyph_index = $glyph_index|0; - $pvertices = $pvertices|0; - var $$0 = 0, $$sum = 0, $$sum2 = 0, $$sum3 = 0, $$sum4 = 0, $$sum5 = 0, $$sum6 = 0, $$sum7 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0; - var $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0; - var $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0; - var $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0.0; - var $163 = 0, $164 = 0, $165 = 0.0, $166 = 0, $167 = 0, $168 = 0.0, $169 = 0, $17 = 0, $170 = 0, $171 = 0.0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0.0, $177 = 0.0, $178 = 0, $179 = 0, $18 = 0, $180 = 0; - var $181 = 0, $182 = 0, $183 = 0.0, $184 = 0.0, $185 = 0, $186 = 0, $187 = 0.0, $188 = 0.0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0.0, $195 = 0.0, $196 = 0, $197 = 0, $198 = 0.0, $199 = 0.0; - var $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0.0, $203 = 0.0, $204 = 0, $205 = 0, $206 = 0, $207 = 0.0, $208 = 0.0, $209 = 0, $21 = 0, $210 = 0, $211 = 0.0, $212 = 0.0, $213 = 0.0, $214 = 0.0, $215 = 0.0, $216 = 0.0; - var $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0.0, $226 = 0.0, $227 = 0.0, $228 = 0.0, $229 = 0.0, $23 = 0, $230 = 0.0, $231 = 0.0, $232 = 0, $233 = 0.0, $234 = 0.0; - var $235 = 0.0, $236 = 0.0, $237 = 0.0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0.0, $244 = 0.0, $245 = 0.0, $246 = 0.0, $247 = 0.0, $248 = 0.0, $249 = 0.0, $25 = 0, $250 = 0, $251 = 0.0, $252 = 0.0; - var $253 = 0.0, $254 = 0.0, $255 = 0.0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0; - var $271 = 0, $272 = 0, $273 = 0, $274 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; - var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0; - var $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0; - var $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0; - var $97 = 0, $98 = 0, $99 = 0, $comp$046 = 0, $comp$1 = 0, $comp$2 = 0, $comp_verts = 0, $cx$024 = 0, $cx$1 = 0, $cx$1$lcssa = 0, $cy$025 = 0, $cy$1 = 0, $cy$1$lcssa = 0, $exitcond = 0, $exitcond51 = 0, $exitcond52 = 0, $exitcond53 = 0, $flagcount$043 = 0, $flagcount$1 = 0, $flags$044 = 0; - var $flags$1 = 0, $i$042 = 0, $i$140 = 0, $i$237 = 0, $i$333 = 0, $i$4 = 0, $i$5 = 0, $i2$045 = 0, $j$032 = 0, $j$1 = 0, $mtx$sroa$0$0 = 0.0, $mtx$sroa$15$0 = 0.0, $mtx$sroa$22$0 = 0.0, $mtx$sroa$29$0 = 0.0, $mtx$sroa$33$0 = 0.0, $mtx$sroa$8$0 = 0.0, $next_move$031 = 0, $next_move$1 = 0, $num_vertices$034 = 0, $num_vertices$1 = 0; - var $num_vertices$3 = 0, $num_vertices$3$lcssa = 0, $num_vertices$447 = 0, $num_vertices$5 = 0, $num_vertices$6 = 0, $points$041 = 0, $points$1 = 0, $points$1$lcssa = 0, $points$239 = 0, $points$3 = 0, $points$3$lcssa = 0, $points$436 = 0, $points$5 = 0, $scx$028 = 0, $scx$1 = 0, $scx$2 = 0, $scx$2$lcssa = 0, $scy$029 = 0, $scy$1 = 0, $scy$2 = 0; - var $scy$2$lcssa = 0, $sext = 0, $sext8 = 0, $sqrtf = 0.0, $sqrtf1 = 0.0, $start_off$023 = 0, $start_off$1 = 0, $start_off$1$lcssa = 0, $sx$026 = 0, $sx$1 = 0, $sx$2 = 0, $sx$2$lcssa = 0, $sy$027 = 0, $sy$1 = 0, $sy$2 = 0, $sy$2$lcssa = 0, $vertices$048 = 0, $vertices$048$lcssa60 = 0, $vertices$1 = 0, $vertices$2 = 0; - var $was_off$030 = 0, $was_off$1 = 0, $was_off$1$lcssa = 0, $x$038 = 0, $x$1 = 0, $y$035 = 0, $y$1 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $comp_verts = sp; - $0 = ((($info)) + 4|0); - $1 = HEAP32[$0>>2]|0; - $2 = (_stbtt__GetGlyfOffset($info,$glyph_index)|0); - HEAP32[$pvertices>>2] = 0; - $3 = ($2|0)<(0); - if ($3) { - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $4 = (($1) + ($2)|0); - $5 = (_ttSHORT($4)|0); - $6 = ($5<<16>>16)>(0); - L4: do { - if ($6) { - $7 = $5 << 16 >> 16; - $$sum2 = (($2) + 10)|0; - $8 = $7 << 1; - $$sum3 = (($8) + ($$sum2))|0; - $9 = (($1) + ($$sum3)|0); - $10 = (_ttUSHORT($9)|0); - $$sum6 = (($$sum3) + -2)|0; - $11 = (($1) + ($$sum6)|0); - $12 = (_ttUSHORT($11)|0); - $13 = $12&65535; - $14 = (($13) + 1)|0; - $15 = (($14) + ($8))|0; - $16 = ($15*10)|0; - $17 = (_malloc($16)|0); - $18 = ($17|0)==(0|0); - if ($18) { - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $$sum4 = (($$sum3) + 2)|0; - $19 = $10&65535; - $$sum5 = (($$sum4) + ($19))|0; - $20 = (($1) + ($$sum5)|0); - $21 = $12&65535; - $flagcount$043 = 0;$flags$044 = 0;$i$042 = 0;$points$041 = $20; - while(1) { - $23 = ($flagcount$043<<24>>24)==(0); - if ($23) { - $24 = ((($points$041)) + 1|0); - $25 = HEAP8[$points$041>>0]|0; - $26 = $25 & 8; - $27 = ($26<<24>>24)==(0); - if ($27) { - $flagcount$1 = 0;$flags$1 = $25;$points$1 = $24; - } else { - $28 = ((($points$041)) + 2|0); - $29 = HEAP8[$24>>0]|0; - $flagcount$1 = $29;$flags$1 = $25;$points$1 = $28; - } - } else { - $30 = (($flagcount$043) + -1)<<24>>24; - $flagcount$1 = $30;$flags$1 = $flags$044;$points$1 = $points$041; - } - $31 = (($i$042) + ($8))|0; - $32 = (((($17) + (($31*10)|0)|0)) + 8|0); - HEAP8[$32>>0] = $flags$1; - $33 = (($i$042) + 1)|0; - $exitcond52 = ($i$042|0)==($21|0); - if ($exitcond52) { - $points$1$lcssa = $points$1; - break; - } else { - $flagcount$043 = $flagcount$1;$flags$044 = $flags$1;$i$042 = $33;$points$041 = $points$1; - } - } - $22 = $12&65535; - $i$140 = 0;$points$239 = $points$1$lcssa;$x$038 = 0; - while(1) { - $35 = (($i$140) + ($8))|0; - $36 = (((($17) + (($35*10)|0)|0)) + 8|0); - $37 = HEAP8[$36>>0]|0; - $38 = $37&255; - $39 = $38 & 2; - $40 = ($39|0)==(0); - if ($40) { - $49 = $38 & 16; - $50 = ($49|0)==(0); - if ($50) { - $51 = HEAP8[$points$239>>0]|0; - $52 = $51&255; - $53 = $52 << 8; - $54 = ((($points$239)) + 1|0); - $55 = HEAP8[$54>>0]|0; - $56 = $55&255; - $57 = $53 | $56; - $sext8 = $57 << 16; - $58 = $sext8 >> 16; - $59 = (($58) + ($x$038))|0; - $60 = ((($points$239)) + 2|0); - $points$3 = $60;$x$1 = $59; - } else { - $points$3 = $points$239;$x$1 = $x$038; - } - } else { - $41 = ((($points$239)) + 1|0); - $42 = HEAP8[$points$239>>0]|0; - $43 = $38 & 16; - $44 = ($43|0)!=(0); - $45 = $42&255; - $46 = (0 - ($45))|0; - $47 = $44 ? $45 : $46; - $48 = (($47) + ($x$038))|0; - $points$3 = $41;$x$1 = $48; - } - $61 = $x$1&65535; - $62 = (($17) + (($35*10)|0)|0); - HEAP16[$62>>1] = $61; - $63 = (($i$140) + 1)|0; - $exitcond51 = ($i$140|0)==($22|0); - if ($exitcond51) { - $points$3$lcssa = $points$3; - break; - } else { - $i$140 = $63;$points$239 = $points$3;$x$038 = $x$1; - } - } - $34 = $12&65535; - $i$237 = 0;$points$436 = $points$3$lcssa;$y$035 = 0; - while(1) { - $64 = (($i$237) + ($8))|0; - $65 = (((($17) + (($64*10)|0)|0)) + 8|0); - $66 = HEAP8[$65>>0]|0; - $67 = $66&255; - $68 = $67 & 4; - $69 = ($68|0)==(0); - if ($69) { - $78 = $67 & 32; - $79 = ($78|0)==(0); - if ($79) { - $80 = HEAP8[$points$436>>0]|0; - $81 = $80&255; - $82 = $81 << 8; - $83 = ((($points$436)) + 1|0); - $84 = HEAP8[$83>>0]|0; - $85 = $84&255; - $86 = $82 | $85; - $sext = $86 << 16; - $87 = $sext >> 16; - $88 = (($87) + ($y$035))|0; - $89 = ((($points$436)) + 2|0); - $points$5 = $89;$y$1 = $88; - } else { - $points$5 = $points$436;$y$1 = $y$035; - } - } else { - $70 = ((($points$436)) + 1|0); - $71 = HEAP8[$points$436>>0]|0; - $72 = $67 & 32; - $73 = ($72|0)!=(0); - $74 = $71&255; - $75 = (0 - ($74))|0; - $76 = $73 ? $74 : $75; - $77 = (($76) + ($y$035))|0; - $points$5 = $70;$y$1 = $77; - } - $90 = $y$1&65535; - $91 = (((($17) + (($64*10)|0)|0)) + 2|0); - HEAP16[$91>>1] = $90; - $92 = (($i$237) + 1)|0; - $exitcond = ($i$237|0)==($34|0); - if ($exitcond) { - $cx$024 = 0;$cy$025 = 0;$i$333 = 0;$j$032 = 0;$next_move$031 = 0;$num_vertices$034 = 0;$scx$028 = 0;$scy$029 = 0;$start_off$023 = 0;$sx$026 = 0;$sy$027 = 0;$was_off$030 = 0; - break; - } else { - $i$237 = $92;$points$436 = $points$5;$y$035 = $y$1; - } - } - while(1) { - $93 = (($i$333) + ($8))|0; - $94 = (((($17) + (($93*10)|0)|0)) + 8|0); - $95 = HEAP8[$94>>0]|0; - $96 = (($17) + (($93*10)|0)|0); - $97 = HEAP16[$96>>1]|0; - $98 = $97 << 16 >> 16; - $99 = (((($17) + (($93*10)|0)|0)) + 2|0); - $100 = HEAP16[$99>>1]|0; - $101 = $100 << 16 >> 16; - $102 = ($next_move$031|0)==($i$333|0); - do { - if ($102) { - $103 = ($i$333|0)==(0); - if ($103) { - $num_vertices$1 = $num_vertices$034; - } else { - $104 = (_stbtt__close_shape($17,$num_vertices$034,$was_off$030,$start_off$023,$sx$026,$sy$027,$scx$028,$scy$029,$cx$024,$cy$025)|0); - $num_vertices$1 = $104; - } - $105 = $95 & 1; - $106 = ($105<<24>>24)==(0); - $107 = $105 ^ 1; - $108 = $107&255; - do { - if ($106) { - $109 = (($93) + 1)|0; - $110 = (((($17) + (($109*10)|0)|0)) + 8|0); - $111 = HEAP8[$110>>0]|0; - $112 = $111 & 1; - $113 = ($112<<24>>24)==(0); - $114 = (($17) + (($109*10)|0)|0); - $115 = HEAP16[$114>>1]|0; - $116 = $115 << 16 >> 16; - if ($113) { - $117 = (($116) + ($98))|0; - $118 = $117 >> 1; - $119 = (((($17) + (($109*10)|0)|0)) + 2|0); - $120 = HEAP16[$119>>1]|0; - $121 = $120 << 16 >> 16; - $122 = (($121) + ($101))|0; - $123 = $122 >> 1; - $i$4 = $i$333;$scx$1 = $98;$scy$1 = $101;$sx$1 = $118;$sy$1 = $123; - break; - } else { - $124 = (((($17) + (($109*10)|0)|0)) + 2|0); - $125 = HEAP16[$124>>1]|0; - $126 = $125 << 16 >> 16; - $127 = (($i$333) + 1)|0; - $i$4 = $127;$scx$1 = $98;$scy$1 = $101;$sx$1 = $116;$sy$1 = $126; - break; - } - } else { - $i$4 = $i$333;$scx$1 = $scx$028;$scy$1 = $scy$029;$sx$1 = $98;$sy$1 = $101; - } - } while(0); - $128 = (($num_vertices$1) + 1)|0; - $129 = (($17) + (($num_vertices$1*10)|0)|0); - _stbtt_setvertex($129,1,$sx$1,$sy$1,0,0); - $130 = $j$032 << 1; - $$sum7 = (($130) + ($$sum2))|0; - $131 = (($1) + ($$sum7)|0); - $132 = (_ttUSHORT($131)|0); - $133 = $132&65535; - $134 = (($133) + 1)|0; - $135 = (($j$032) + 1)|0; - $cx$1 = $cx$024;$cy$1 = $cy$025;$i$5 = $i$4;$j$1 = $135;$next_move$1 = $134;$num_vertices$3 = $128;$scx$2 = $scx$1;$scy$2 = $scy$1;$start_off$1 = $108;$sx$2 = $sx$1;$sy$2 = $sy$1;$was_off$1 = 0; - } else { - $136 = $95 & 1; - $137 = ($136<<24>>24)==(0); - $138 = ($was_off$030|0)!=(0); - if ($137) { - if (!($138)) { - $cx$1 = $98;$cy$1 = $101;$i$5 = $i$333;$j$1 = $j$032;$next_move$1 = $next_move$031;$num_vertices$3 = $num_vertices$034;$scx$2 = $scx$028;$scy$2 = $scy$029;$start_off$1 = $start_off$023;$sx$2 = $sx$026;$sy$2 = $sy$027;$was_off$1 = 1; - break; - } - $139 = (($num_vertices$034) + 1)|0; - $140 = (($17) + (($num_vertices$034*10)|0)|0); - $141 = (($98) + ($cx$024))|0; - $142 = $141 >> 1; - $143 = (($101) + ($cy$025))|0; - $144 = $143 >> 1; - _stbtt_setvertex($140,3,$142,$144,$cx$024,$cy$025); - $cx$1 = $98;$cy$1 = $101;$i$5 = $i$333;$j$1 = $j$032;$next_move$1 = $next_move$031;$num_vertices$3 = $139;$scx$2 = $scx$028;$scy$2 = $scy$029;$start_off$1 = $start_off$023;$sx$2 = $sx$026;$sy$2 = $sy$027;$was_off$1 = 1; - break; - } - $145 = (($num_vertices$034) + 1)|0; - $146 = (($17) + (($num_vertices$034*10)|0)|0); - if ($138) { - _stbtt_setvertex($146,3,$98,$101,$cx$024,$cy$025); - $cx$1 = $cx$024;$cy$1 = $cy$025;$i$5 = $i$333;$j$1 = $j$032;$next_move$1 = $next_move$031;$num_vertices$3 = $145;$scx$2 = $scx$028;$scy$2 = $scy$029;$start_off$1 = $start_off$023;$sx$2 = $sx$026;$sy$2 = $sy$027;$was_off$1 = 0; - break; - } else { - _stbtt_setvertex($146,2,$98,$101,0,0); - $cx$1 = $cx$024;$cy$1 = $cy$025;$i$5 = $i$333;$j$1 = $j$032;$next_move$1 = $next_move$031;$num_vertices$3 = $145;$scx$2 = $scx$028;$scy$2 = $scy$029;$start_off$1 = $start_off$023;$sx$2 = $sx$026;$sy$2 = $sy$027;$was_off$1 = 0; - break; - } - } - } while(0); - $147 = (($i$5) + 1)|0; - $148 = ($147|0)<($14|0); - if ($148) { - $cx$024 = $cx$1;$cy$025 = $cy$1;$i$333 = $147;$j$032 = $j$1;$next_move$031 = $next_move$1;$num_vertices$034 = $num_vertices$3;$scx$028 = $scx$2;$scy$029 = $scy$2;$start_off$023 = $start_off$1;$sx$026 = $sx$2;$sy$027 = $sy$2;$was_off$030 = $was_off$1; - } else { - $cx$1$lcssa = $cx$1;$cy$1$lcssa = $cy$1;$num_vertices$3$lcssa = $num_vertices$3;$scx$2$lcssa = $scx$2;$scy$2$lcssa = $scy$2;$start_off$1$lcssa = $start_off$1;$sx$2$lcssa = $sx$2;$sy$2$lcssa = $sy$2;$was_off$1$lcssa = $was_off$1; - break; - } - } - $149 = (_stbtt__close_shape($17,$num_vertices$3$lcssa,$was_off$1$lcssa,$start_off$1$lcssa,$sx$2$lcssa,$sy$2$lcssa,$scx$2$lcssa,$scy$2$lcssa,$cx$1$lcssa,$cy$1$lcssa)|0); - $num_vertices$6 = $149;$vertices$2 = $17; - } else { - $150 = ($5<<16>>16)==(-1); - if (!($150)) { - $274 = ($5<<16>>16)<(0); - if (!($274)) { - $num_vertices$6 = 0;$vertices$2 = 0; - break; - } - ___assert_fail((19474|0),(14173|0),1460,(14267|0)); - // unreachable; - } - $$sum = (($2) + 10)|0; - $151 = (($1) + ($$sum)|0); - $comp$046 = $151;$num_vertices$447 = 0;$vertices$048 = 0; - while(1) { - HEAP32[$comp_verts>>2] = 0; - $152 = (_ttSHORT($comp$046)|0); - $153 = ((($comp$046)) + 2|0); - $154 = (_ttSHORT($153)|0); - $155 = ((($comp$046)) + 4|0); - $156 = $152&65535; - $157 = $156 & 2; - $158 = ($157|0)==(0); - if ($158) { - label = 44; - break; - } - $159 = $156 & 1; - $160 = ($159|0)==(0); - if ($160) { - $167 = HEAP8[$155>>0]|0; - $168 = (+($167<<24>>24)); - $169 = ((($comp$046)) + 5|0); - $170 = HEAP8[$169>>0]|0; - $171 = (+($170<<24>>24)); - $172 = ((($comp$046)) + 6|0); - $179 = 8;$190 = 10;$205 = 12;$210 = 14;$comp$1 = $172;$mtx$sroa$29$0 = $168;$mtx$sroa$33$0 = $171; - } else { - $161 = (_ttSHORT($155)|0); - $162 = (+($161<<16>>16)); - $163 = ((($comp$046)) + 6|0); - $164 = (_ttSHORT($163)|0); - $165 = (+($164<<16>>16)); - $166 = ((($comp$046)) + 8|0); - $179 = 10;$190 = 12;$205 = 14;$210 = 16;$comp$1 = $166;$mtx$sroa$29$0 = $162;$mtx$sroa$33$0 = $165; - } - $173 = $156 & 8; - $174 = ($173|0)==(0); - do { - if ($174) { - $180 = $156 & 64; - $181 = ($180|0)==(0); - if (!($181)) { - $182 = (_ttSHORT($comp$1)|0); - $183 = (+($182<<16>>16)); - $184 = $183 * 6.103515625E-5; - $185 = (($comp$046) + ($179)|0); - $186 = (_ttSHORT($185)|0); - $187 = (+($186<<16>>16)); - $188 = $187 * 6.103515625E-5; - $189 = (($comp$046) + ($190)|0); - $comp$2 = $189;$mtx$sroa$0$0 = $184;$mtx$sroa$15$0 = 0.0;$mtx$sroa$22$0 = $188;$mtx$sroa$8$0 = 0.0; - break; - } - $191 = $156 & 128; - $192 = ($191|0)==(0); - if ($192) { - $comp$2 = $comp$1;$mtx$sroa$0$0 = 1.0;$mtx$sroa$15$0 = 0.0;$mtx$sroa$22$0 = 1.0;$mtx$sroa$8$0 = 0.0; - } else { - $193 = (_ttSHORT($comp$1)|0); - $194 = (+($193<<16>>16)); - $195 = $194 * 6.103515625E-5; - $196 = (($comp$046) + ($179)|0); - $197 = (_ttSHORT($196)|0); - $198 = (+($197<<16>>16)); - $199 = $198 * 6.103515625E-5; - $200 = (($comp$046) + ($190)|0); - $201 = (_ttSHORT($200)|0); - $202 = (+($201<<16>>16)); - $203 = $202 * 6.103515625E-5; - $204 = (($comp$046) + ($205)|0); - $206 = (_ttSHORT($204)|0); - $207 = (+($206<<16>>16)); - $208 = $207 * 6.103515625E-5; - $209 = (($comp$046) + ($210)|0); - $comp$2 = $209;$mtx$sroa$0$0 = $195;$mtx$sroa$15$0 = $203;$mtx$sroa$22$0 = $208;$mtx$sroa$8$0 = $199; - } - } else { - $175 = (_ttSHORT($comp$1)|0); - $176 = (+($175<<16>>16)); - $177 = $176 * 6.103515625E-5; - $178 = (($comp$046) + ($179)|0); - $comp$2 = $178;$mtx$sroa$0$0 = $177;$mtx$sroa$15$0 = 0.0;$mtx$sroa$22$0 = $177;$mtx$sroa$8$0 = 0.0; - } - } while(0); - $211 = $mtx$sroa$0$0 * $mtx$sroa$0$0; - $212 = $mtx$sroa$8$0 * $mtx$sroa$8$0; - $213 = $212 + $211; - $sqrtf = (+Math_sqrt((+$213))); - $214 = $mtx$sroa$15$0 * $mtx$sroa$15$0; - $215 = $mtx$sroa$22$0 * $mtx$sroa$22$0; - $216 = $215 + $214; - $sqrtf1 = (+Math_sqrt((+$216))); - $217 = $154&65535; - $218 = (_stbtt_GetGlyphShape($info,$217,$comp_verts)|0); - $219 = ($218|0)>(0); - if ($219) { - $220 = HEAP32[$comp_verts>>2]|0; - $i2$045 = 0; - while(1) { - $221 = (($220) + (($i2$045*10)|0)|0); - $222 = HEAP16[$221>>1]|0; - $223 = (((($220) + (($i2$045*10)|0)|0)) + 2|0); - $224 = HEAP16[$223>>1]|0; - $225 = (+($222<<16>>16)); - $226 = $mtx$sroa$0$0 * $225; - $227 = (+($224<<16>>16)); - $228 = $mtx$sroa$15$0 * $227; - $229 = $226 + $228; - $230 = $mtx$sroa$29$0 + $229; - $231 = $sqrtf * $230; - $232 = (~~(($231))); - HEAP16[$221>>1] = $232; - $233 = $mtx$sroa$8$0 * $225; - $234 = $mtx$sroa$22$0 * $227; - $235 = $233 + $234; - $236 = $mtx$sroa$33$0 + $235; - $237 = $sqrtf1 * $236; - $238 = (~~(($237))); - HEAP16[$223>>1] = $238; - $239 = (((($220) + (($i2$045*10)|0)|0)) + 4|0); - $240 = HEAP16[$239>>1]|0; - $241 = (((($220) + (($i2$045*10)|0)|0)) + 6|0); - $242 = HEAP16[$241>>1]|0; - $243 = (+($240<<16>>16)); - $244 = $mtx$sroa$0$0 * $243; - $245 = (+($242<<16>>16)); - $246 = $mtx$sroa$15$0 * $245; - $247 = $244 + $246; - $248 = $mtx$sroa$29$0 + $247; - $249 = $sqrtf * $248; - $250 = (~~(($249))); - HEAP16[$239>>1] = $250; - $251 = $mtx$sroa$8$0 * $243; - $252 = $mtx$sroa$22$0 * $245; - $253 = $251 + $252; - $254 = $mtx$sroa$33$0 + $253; - $255 = $sqrtf1 * $254; - $256 = (~~(($255))); - HEAP16[$241>>1] = $256; - $257 = (($i2$045) + 1)|0; - $exitcond53 = ($257|0)==($218|0); - if ($exitcond53) { - break; - } else { - $i2$045 = $257; - } - } - $258 = (($218) + ($num_vertices$447))|0; - $259 = ($258*10)|0; - $260 = (_malloc($259)|0); - $261 = ($260|0)==(0|0); - if ($261) { - $vertices$048$lcssa60 = $vertices$048; - break; - } - $265 = ($num_vertices$447|0)>(0); - if ($265) { - $266 = ($num_vertices$447*10)|0; - _memcpy(($260|0),($vertices$048|0),($266|0))|0; - } - $267 = (($260) + (($num_vertices$447*10)|0)|0); - $268 = HEAP32[$comp_verts>>2]|0; - $269 = ($218*10)|0; - _memcpy(($267|0),($268|0),($269|0))|0; - $270 = ($vertices$048|0)==(0|0); - if (!($270)) { - _free($vertices$048); - } - $271 = HEAP32[$comp_verts>>2]|0; - _free($271); - $num_vertices$5 = $258;$vertices$1 = $260; - } else { - $num_vertices$5 = $num_vertices$447;$vertices$1 = $vertices$048; - } - $272 = $156 & 32; - $273 = ($272|0)==(0); - if ($273) { - $num_vertices$6 = $num_vertices$5;$vertices$2 = $vertices$1; - break L4; - } else { - $comp$046 = $comp$2;$num_vertices$447 = $num_vertices$5;$vertices$048 = $vertices$1; - } - } - if ((label|0) == 44) { - ___assert_fail((19474|0),(14173|0),1407,(14267|0)); - // unreachable; - } - $262 = ($vertices$048$lcssa60|0)==(0|0); - if (!($262)) { - _free($vertices$048$lcssa60); - } - $263 = HEAP32[$comp_verts>>2]|0; - $264 = ($263|0)==(0|0); - if ($264) { - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - _free($263); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - } while(0); - HEAP32[$pvertices>>2] = $vertices$2; - $$0 = $num_vertices$6; - STACKTOP = sp;return ($$0|0); -} -function _stbtt_GetGlyphBox($info,$glyph_index,$x0,$y0,$x1,$y1) { - $info = $info|0; - $glyph_index = $glyph_index|0; - $x0 = $x0|0; - $y0 = $y0|0; - $x1 = $x1|0; - $y1 = $y1|0; - var $$0 = 0, $$sum = 0, $$sum1 = 0, $$sum2 = 0, $$sum3 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0; - var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_stbtt__GetGlyfOffset($info,$glyph_index)|0); - $1 = ($0|0)<(0); - if ($1) { - $$0 = 0; - return ($$0|0); - } - $2 = ($x0|0)==(0|0); - if (!($2)) { - $3 = ((($info)) + 4|0); - $4 = HEAP32[$3>>2]|0; - $$sum3 = (($0) + 2)|0; - $5 = (($4) + ($$sum3)|0); - $6 = (_ttSHORT($5)|0); - $7 = $6 << 16 >> 16; - HEAP32[$x0>>2] = $7; - } - $8 = ($y0|0)==(0|0); - if (!($8)) { - $9 = ((($info)) + 4|0); - $10 = HEAP32[$9>>2]|0; - $$sum2 = (($0) + 4)|0; - $11 = (($10) + ($$sum2)|0); - $12 = (_ttSHORT($11)|0); - $13 = $12 << 16 >> 16; - HEAP32[$y0>>2] = $13; - } - $14 = ($x1|0)==(0|0); - if (!($14)) { - $15 = ((($info)) + 4|0); - $16 = HEAP32[$15>>2]|0; - $$sum1 = (($0) + 6)|0; - $17 = (($16) + ($$sum1)|0); - $18 = (_ttSHORT($17)|0); - $19 = $18 << 16 >> 16; - HEAP32[$x1>>2] = $19; - } - $20 = ($y1|0)==(0|0); - if ($20) { - $$0 = 1; - return ($$0|0); - } - $21 = ((($info)) + 4|0); - $22 = HEAP32[$21>>2]|0; - $$sum = (($0) + 8)|0; - $23 = (($22) + ($$sum)|0); - $24 = (_ttSHORT($23)|0); - $25 = $24 << 16 >> 16; - HEAP32[$y1>>2] = $25; - $$0 = 1; - return ($$0|0); -} -function _stbtt_GetGlyphHMetrics($info,$glyph_index,$advanceWidth,$leftSideBearing) { - $info = $info|0; - $glyph_index = $glyph_index|0; - $advanceWidth = $advanceWidth|0; - $leftSideBearing = $leftSideBearing|0; - var $$sum = 0, $$sum1 = 0, $$sum2 = 0, $$sum3 = 0, $$sum47 = 0, $$sum5 = 0, $$sum6 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0; - var $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0; - var $39 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($info)) + 4|0); - $1 = HEAP32[$0>>2]|0; - $2 = ((($info)) + 28|0); - $3 = HEAP32[$2>>2]|0; - $$sum = (($3) + 34)|0; - $4 = (($1) + ($$sum)|0); - $5 = (_ttUSHORT($4)|0); - $6 = $5&65535; - $7 = ($6|0)>($glyph_index|0); - $8 = ($advanceWidth|0)!=(0|0); - if ($7) { - if ($8) { - $9 = ((($info)) + 32|0); - $10 = HEAP32[$9>>2]|0; - $11 = $glyph_index << 2; - $$sum6 = (($10) + ($11))|0; - $12 = (($1) + ($$sum6)|0); - $13 = (_ttSHORT($12)|0); - $14 = $13 << 16 >> 16; - HEAP32[$advanceWidth>>2] = $14; - } - $15 = ($leftSideBearing|0)==(0|0); - if ($15) { - return; - } - $16 = HEAP32[$0>>2]|0; - $17 = ((($info)) + 32|0); - $18 = HEAP32[$17>>2]|0; - $19 = $glyph_index << 2; - $$sum47 = $19 | 2; - $$sum5 = (($$sum47) + ($18))|0; - $20 = (($16) + ($$sum5)|0); - $21 = (_ttSHORT($20)|0); - $22 = $21 << 16 >> 16; - HEAP32[$leftSideBearing>>2] = $22; - return; - } else { - if ($8) { - $23 = ((($info)) + 32|0); - $24 = HEAP32[$23>>2]|0; - $25 = $6 << 2; - $26 = (($25) + -4)|0; - $$sum3 = (($26) + ($24))|0; - $27 = (($1) + ($$sum3)|0); - $28 = (_ttSHORT($27)|0); - $29 = $28 << 16 >> 16; - HEAP32[$advanceWidth>>2] = $29; - } - $30 = ($leftSideBearing|0)==(0|0); - if ($30) { - return; - } - $31 = HEAP32[$0>>2]|0; - $32 = ((($info)) + 32|0); - $33 = HEAP32[$32>>2]|0; - $34 = $6 << 2; - $35 = (($glyph_index) - ($6))|0; - $36 = $35 << 1; - $$sum1 = (($36) + ($34))|0; - $$sum2 = (($$sum1) + ($33))|0; - $37 = (($31) + ($$sum2)|0); - $38 = (_ttSHORT($37)|0); - $39 = $38 << 16 >> 16; - HEAP32[$leftSideBearing>>2] = $39; - return; - } -} -function _stbtt_ScaleForPixelHeight($info,$height) { - $info = $info|0; - $height = +$height; - var $$sum = 0, $$sum1 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0.0, $12 = 0.0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($info)) + 4|0); - $1 = HEAP32[$0>>2]|0; - $2 = ((($info)) + 28|0); - $3 = HEAP32[$2>>2]|0; - $$sum = (($3) + 4)|0; - $4 = (($1) + ($$sum)|0); - $5 = (_ttSHORT($4)|0); - $6 = $5 << 16 >> 16; - $$sum1 = (($3) + 6)|0; - $7 = (($1) + ($$sum1)|0); - $8 = (_ttSHORT($7)|0); - $9 = $8 << 16 >> 16; - $10 = (($6) - ($9))|0; - $11 = (+($10|0)); - $12 = $height / $11; - return (+$12); -} -function _stbtt_GetGlyphBitmapBoxSubpixel($font,$glyph,$scale_x,$scale_y,$shift_x,$shift_y,$ix0,$iy0,$ix1,$iy1) { - $font = $font|0; - $glyph = $glyph|0; - $scale_x = +$scale_x; - $scale_y = +$scale_y; - $shift_x = +$shift_x; - $shift_y = +$shift_y; - $ix0 = $ix0|0; - $iy0 = $iy0|0; - $ix1 = $ix1|0; - $iy1 = $iy1|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0.0, $28 = 0.0, $29 = 0.0, $3 = 0, $30 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0.0, $8 = 0.0, $9 = 0.0, $ceilf = 0.0, $ceilf1 = 0.0, $floorf = 0.0, $floorf2 = 0.0, $x0 = 0, $x1 = 0, $y0 = 0, $y1 = 0, label = 0; - var sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $x0 = sp + 12|0; - $y0 = sp + 8|0; - $x1 = sp + 4|0; - $y1 = sp; - HEAP32[$x0>>2] = 0; - HEAP32[$y0>>2] = 0; - $0 = (_stbtt_GetGlyphBox($font,$glyph,$x0,$y0,$x1,$y1)|0); - $1 = ($0|0)==(0); - $2 = ($ix0|0)!=(0|0); - if ($1) { - if ($2) { - HEAP32[$ix0>>2] = 0; - } - $3 = ($iy0|0)==(0|0); - if (!($3)) { - HEAP32[$iy0>>2] = 0; - } - $4 = ($ix1|0)==(0|0); - if (!($4)) { - HEAP32[$ix1>>2] = 0; - } - $5 = ($iy1|0)==(0|0); - if ($5) { - STACKTOP = sp;return; - } - HEAP32[$iy1>>2] = 0; - STACKTOP = sp;return; - } else { - if ($2) { - $6 = HEAP32[$x0>>2]|0; - $7 = (+($6|0)); - $8 = $7 * $scale_x; - $9 = $8 + $shift_x; - $floorf2 = (+Math_floor((+$9))); - $10 = (~~(($floorf2))); - HEAP32[$ix0>>2] = $10; - } - $11 = ($iy0|0)==(0|0); - if (!($11)) { - $12 = HEAP32[$y1>>2]|0; - $13 = (0 - ($12))|0; - $14 = (+($13|0)); - $15 = $14 * $scale_y; - $16 = $15 + $shift_y; - $floorf = (+Math_floor((+$16))); - $17 = (~~(($floorf))); - HEAP32[$iy0>>2] = $17; - } - $18 = ($ix1|0)==(0|0); - if (!($18)) { - $19 = HEAP32[$x1>>2]|0; - $20 = (+($19|0)); - $21 = $20 * $scale_x; - $22 = $21 + $shift_x; - $ceilf1 = (+Math_ceil((+$22))); - $23 = (~~(($ceilf1))); - HEAP32[$ix1>>2] = $23; - } - $24 = ($iy1|0)==(0|0); - if ($24) { - STACKTOP = sp;return; - } - $25 = HEAP32[$y0>>2]|0; - $26 = (0 - ($25))|0; - $27 = (+($26|0)); - $28 = $27 * $scale_y; - $29 = $28 + $shift_y; - $ceilf = (+Math_ceil((+$29))); - $30 = (~~(($ceilf))); - HEAP32[$iy1>>2] = $30; - STACKTOP = sp;return; - } -} -function _stbtt_GetGlyphBitmapBox($font,$glyph,$scale_x,$scale_y,$ix0,$iy0,$ix1,$iy1) { - $font = $font|0; - $glyph = $glyph|0; - $scale_x = +$scale_x; - $scale_y = +$scale_y; - $ix0 = $ix0|0; - $iy0 = $iy0|0; - $ix1 = $ix1|0; - $iy1 = $iy1|0; - var label = 0, sp = 0; - sp = STACKTOP; - _stbtt_GetGlyphBitmapBoxSubpixel($font,$glyph,$scale_x,$scale_y,0.0,0.0,$ix0,$iy0,$ix1,$iy1); - return; -} -function _stbtt_Rasterize($result,$flatness_in_pixels,$vertices,$num_verts,$scale_x,$scale_y,$shift_x,$shift_y,$x_off,$y_off,$invert,$userdata) { - $result = $result|0; - $flatness_in_pixels = +$flatness_in_pixels; - $vertices = $vertices|0; - $num_verts = $num_verts|0; - $scale_x = +$scale_x; - $scale_y = +$scale_y; - $shift_x = +$shift_x; - $shift_y = +$shift_y; - $x_off = $x_off|0; - $y_off = $y_off|0; - $invert = $invert|0; - $userdata = $userdata|0; - var $0 = 0, $1 = 0.0, $2 = 0.0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $winding_count = 0, $winding_lengths = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $winding_count = sp + 4|0; - $winding_lengths = sp; - $0 = $scale_x > $scale_y; - $1 = $0 ? $scale_y : $scale_x; - $2 = $flatness_in_pixels / $1; - $3 = (_stbtt_FlattenCurves($vertices,$num_verts,$2,$winding_lengths,$winding_count)|0); - $4 = ($3|0)==(0|0); - if ($4) { - STACKTOP = sp;return; - } - $5 = HEAP32[$winding_lengths>>2]|0; - $6 = HEAP32[$winding_count>>2]|0; - _stbtt__rasterize($result,$3,$5,$6,$scale_x,$scale_y,$shift_x,$shift_y,$x_off,$y_off,$invert); - $7 = HEAP32[$winding_lengths>>2]|0; - _free($7); - _free($3); - STACKTOP = sp;return; -} -function _stbtt_MakeGlyphBitmapSubpixel($info,$output,$out_w,$out_h,$out_stride,$scale_x,$scale_y,$shift_x,$shift_y,$glyph) { - $info = $info|0; - $output = $output|0; - $out_w = $out_w|0; - $out_h = $out_h|0; - $out_stride = $out_stride|0; - $scale_x = +$scale_x; - $scale_y = +$scale_y; - $shift_x = +$shift_x; - $shift_y = +$shift_y; - $glyph = $glyph|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $gbm = 0, $ix0 = 0, $iy0 = 0, $or$cond = 0, $vertices = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $ix0 = sp + 24|0; - $iy0 = sp + 20|0; - $vertices = sp + 16|0; - $gbm = sp; - $0 = (_stbtt_GetGlyphShape($info,$glyph,$vertices)|0); - _stbtt_GetGlyphBitmapBoxSubpixel($info,$glyph,$scale_x,$scale_y,$shift_x,$shift_y,$ix0,$iy0,0,0); - $1 = ((($gbm)) + 12|0); - HEAP32[$1>>2] = $output; - HEAP32[$gbm>>2] = $out_w; - $2 = ((($gbm)) + 4|0); - HEAP32[$2>>2] = $out_h; - $3 = ((($gbm)) + 8|0); - HEAP32[$3>>2] = $out_stride; - $4 = HEAP32[$gbm>>2]|0; - $5 = ($4|0)==(0); - $6 = HEAP32[$2>>2]|0; - $7 = ($6|0)==(0); - $or$cond = $5 | $7; - if ($or$cond) { - $11 = HEAP32[$vertices>>2]|0; - _free($11); - STACKTOP = sp;return; - } - $8 = HEAP32[$vertices>>2]|0; - $9 = HEAP32[$ix0>>2]|0; - $10 = HEAP32[$iy0>>2]|0; - _stbtt_Rasterize($gbm,0.34999999403953552,$8,$0,$scale_x,$scale_y,$shift_x,$shift_y,$9,$10,1,0); - $11 = HEAP32[$vertices>>2]|0; - _free($11); - STACKTOP = sp;return; -} -function _stbtt_MakeGlyphBitmap($info,$output,$out_w,$out_h,$out_stride,$scale_x,$scale_y,$glyph) { - $info = $info|0; - $output = $output|0; - $out_w = $out_w|0; - $out_h = $out_h|0; - $out_stride = $out_stride|0; - $scale_x = +$scale_x; - $scale_y = +$scale_y; - $glyph = $glyph|0; - var label = 0, sp = 0; - sp = STACKTOP; - _stbtt_MakeGlyphBitmapSubpixel($info,$output,$out_w,$out_h,$out_stride,$scale_x,$scale_y,0.0,0.0,$glyph); - return; -} -function _stbtt_BakeFontBitmap($data,$offset,$pixel_height,$pixels,$pw,$ph,$first_char,$num_chars,$chardata) { - $data = $data|0; - $offset = $offset|0; - $pixel_height = +$pixel_height; - $pixels = $pixels|0; - $pw = $pw|0; - $ph = $ph|0; - $first_char = $first_char|0; - $num_chars = $num_chars|0; - $chardata = $chardata|0; - var $$0 = 0, $$sum = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; - var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0.0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0.0, $35 = 0.0, $36 = 0, $37 = 0, $38 = 0.0, $39 = 0, $4 = 0, $40 = 0, $41 = 0.0, $42 = 0; - var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $advance = 0, $bottom_y$0$ = 0, $bottom_y$07 = 0, $f = 0, $i$08 = 0, $i$08$lcssa = 0, $lsb = 0, $x$0$ = 0, $x$010 = 0, $x0 = 0, $x1 = 0; - var $y$0$bottom_y$0 = 0, $y$09 = 0, $y0 = 0, $y1 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 80|0; - $f = sp + 24|0; - $advance = sp + 20|0; - $lsb = sp + 16|0; - $x0 = sp + 12|0; - $y0 = sp + 8|0; - $x1 = sp + 4|0; - $y1 = sp; - HEAP32[$f>>2] = 0; - $0 = (_stbtt_InitFont($f,$data,$offset)|0); - $1 = ($0|0)==(0); - if ($1) { - $$0 = -1; - STACKTOP = sp;return ($$0|0); - } - $2 = Math_imul($ph, $pw)|0; - _memset(($pixels|0),0,($2|0))|0; - $3 = (+_stbtt_ScaleForPixelHeight($f,$pixel_height)); - $4 = ($num_chars|0)>(0); - if ($4) { - $bottom_y$07 = 1;$i$08 = 0;$x$010 = 1;$y$09 = 1; - } else { - $$0 = 1; - STACKTOP = sp;return ($$0|0); - } - while(1) { - $5 = (($i$08) + ($first_char))|0; - $6 = (_stbtt_FindGlyphIndex($f,$5)|0); - _stbtt_GetGlyphHMetrics($f,$6,$advance,$lsb); - _stbtt_GetGlyphBitmapBox($f,$6,$3,$3,$x0,$y0,$x1,$y1); - $7 = HEAP32[$x1>>2]|0; - $8 = HEAP32[$x0>>2]|0; - $9 = (($7) - ($8))|0; - $10 = HEAP32[$y1>>2]|0; - $11 = HEAP32[$y0>>2]|0; - $12 = (($10) - ($11))|0; - $13 = (($x$010) + 1)|0; - $14 = (($13) + ($9))|0; - $15 = ($14|0)<($pw|0); - $y$0$bottom_y$0 = $15 ? $y$09 : $bottom_y$07; - $x$0$ = $15 ? $x$010 : 1; - $16 = (($y$0$bottom_y$0) + ($12))|0; - $17 = (($16) + 1)|0; - $18 = ($17|0)<($ph|0); - if (!($18)) { - $i$08$lcssa = $i$08; - label = 4; - break; - } - $20 = (($x$0$) + ($9))|0; - $21 = ($20|0)<($pw|0); - if (!($21)) { - label = 6; - break; - } - $22 = ($16|0)<($ph|0); - if (!($22)) { - label = 8; - break; - } - $23 = Math_imul($y$0$bottom_y$0, $pw)|0; - $$sum = (($23) + ($x$0$))|0; - $24 = (($pixels) + ($$sum)|0); - _stbtt_MakeGlyphBitmap($f,$24,$9,$12,$pw,$3,$3,$6); - $25 = $x$0$&65535; - $26 = (($chardata) + (($i$08*20)|0)|0); - HEAP16[$26>>1] = $25; - $27 = $y$0$bottom_y$0&65535; - $28 = (((($chardata) + (($i$08*20)|0)|0)) + 2|0); - HEAP16[$28>>1] = $27; - $29 = $20&65535; - $30 = (((($chardata) + (($i$08*20)|0)|0)) + 4|0); - HEAP16[$30>>1] = $29; - $31 = $16&65535; - $32 = (((($chardata) + (($i$08*20)|0)|0)) + 6|0); - HEAP16[$32>>1] = $31; - $33 = HEAP32[$advance>>2]|0; - $34 = (+($33|0)); - $35 = $3 * $34; - $36 = (((($chardata) + (($i$08*20)|0)|0)) + 16|0); - HEAPF32[$36>>2] = $35; - $37 = HEAP32[$x0>>2]|0; - $38 = (+($37|0)); - $39 = (((($chardata) + (($i$08*20)|0)|0)) + 8|0); - HEAPF32[$39>>2] = $38; - $40 = HEAP32[$y0>>2]|0; - $41 = (+($40|0)); - $42 = (((($chardata) + (($i$08*20)|0)|0)) + 12|0); - HEAPF32[$42>>2] = $41; - $43 = (($20) + 1)|0; - $44 = ($16|0)<($bottom_y$07|0); - $bottom_y$0$ = $44 ? $bottom_y$07 : $17; - $45 = (($i$08) + 1)|0; - $46 = ($45|0)<($num_chars|0); - if ($46) { - $bottom_y$07 = $bottom_y$0$;$i$08 = $45;$x$010 = $43;$y$09 = $y$0$bottom_y$0; - } else { - $$0 = $bottom_y$0$; - label = 10; - break; - } - } - if ((label|0) == 4) { - $19 = (0 - ($i$08$lcssa))|0; - $$0 = $19; - STACKTOP = sp;return ($$0|0); - } - else if ((label|0) == 6) { - ___assert_fail((14287|0),(14173|0),2545,(14297|0)); - // unreachable; - } - else if ((label|0) == 8) { - ___assert_fail((14318|0),(14173|0),2546,(14297|0)); - // unreachable; - } - else if ((label|0) == 10) { - STACKTOP = sp;return ($$0|0); - } - return (0)|0; -} -function _LoadDefaultFont() { - var $$ = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; - var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0; - var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $8 = 0, $9 = 0, $counter$013 = 0, $currentLine$08 = 0, $currentLine$1 = 0, $currentPosX$09 = 0, $currentPosX$1 = 0, $exitcond = 0; - var $i$014 = 0, $i1$012 = 0, $i2$010 = 0, $image = 0, $image$byval_copy1 = 0, $j$011 = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; - $image$byval_copy1 = sp + 44|0; - $vararg_buffer = sp; - $image = sp + 24|0; - $0 = sp + 4|0; - HEAP32[(2760)>>2] = 224; - $1 = (_malloc(65536)|0); - $i$014 = 0; - while(1) { - $2 = (($1) + ($i$014<<2)|0); - $3 = (($i$014) + 1)|0; - $exitcond = ($3|0)==(16384); - HEAP8[$2>>0]=0&255;HEAP8[$2+1>>0]=(0>>8)&255;HEAP8[$2+2>>0]=(0>>16)&255;HEAP8[$2+3>>0]=0>>24; - if ($exitcond) { - $counter$013 = 0;$i1$012 = 0; - break; - } else { - $i$014 = $3; - } - } - while(1) { - $4 = (2780 + ($counter$013<<2)|0); - $5 = HEAP32[$4>>2]|0; - $j$011 = 31; - while(1) { - $6 = 1 << $j$011; - $7 = $5 & $6; - $8 = ($7|0)==(0); - if (!($8)) { - $9 = (($j$011) + ($i1$012))|0; - $10 = (($1) + ($9<<2)|0); - HEAP8[$10>>0]=-1&255;HEAP8[$10+1>>0]=(-1>>8)&255;HEAP8[$10+2>>0]=(-1>>16)&255;HEAP8[$10+3>>0]=-1>>24; - } - $11 = (($j$011) + -1)|0; - $12 = ($j$011|0)>(0); - if ($12) { - $j$011 = $11; - } else { - break; - } - } - $13 = (($counter$013) + 1)|0; - $14 = ($counter$013|0)>(511); - $$ = $14 ? 0 : $13; - $15 = (($i1$012) + 32)|0; - $16 = ($15|0)<(16384); - if ($16) { - $counter$013 = $$;$i1$012 = $15; - } else { - break; - } - } - _LoadImageEx($image,$1,128,128); - _ImageFormat($image,2); - _free($1); - ;HEAP32[$image$byval_copy1>>2]=HEAP32[$image>>2]|0;HEAP32[$image$byval_copy1+4>>2]=HEAP32[$image+4>>2]|0;HEAP32[$image$byval_copy1+8>>2]=HEAP32[$image+8>>2]|0;HEAP32[$image$byval_copy1+12>>2]=HEAP32[$image+12>>2]|0;HEAP32[$image$byval_copy1+16>>2]=HEAP32[$image+16>>2]|0; - _LoadTextureFromImage($0,$image$byval_copy1); - ;HEAP32[2736>>2]=HEAP32[$0>>2]|0;HEAP32[2736+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[2736+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[2736+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[2736+16>>2]=HEAP32[$0+16>>2]|0; - ;HEAP32[$image$byval_copy1>>2]=HEAP32[$image>>2]|0;HEAP32[$image$byval_copy1+4>>2]=HEAP32[$image+4>>2]|0;HEAP32[$image$byval_copy1+8>>2]=HEAP32[$image+8>>2]|0;HEAP32[$image$byval_copy1+12>>2]=HEAP32[$image+12>>2]|0;HEAP32[$image$byval_copy1+16>>2]=HEAP32[$image+16>>2]|0; - _UnloadImage($image$byval_copy1); - $17 = HEAP32[(2760)>>2]|0; - $18 = $17 << 2; - $19 = (_malloc($18)|0); - HEAP32[(2764)>>2] = $19; - $20 = HEAP32[(2760)>>2]|0; - $21 = $20 << 4; - $22 = (_malloc($21)|0); - HEAP32[(2768)>>2] = $22; - $23 = HEAP32[(2760)>>2]|0; - $24 = $23 << 3; - $25 = (_malloc($24)|0); - HEAP32[(2772)>>2] = $25; - $26 = HEAP32[(2760)>>2]|0; - $27 = $26 << 2; - $28 = (_malloc($27)|0); - HEAP32[(2776)>>2] = $28; - $29 = HEAP32[(2760)>>2]|0; - $30 = ($29|0)>(0); - if ($30) { - $currentLine$08 = 0;$currentPosX$09 = 1;$i2$010 = 0; - } else { - $69 = HEAP32[(2768)>>2]|0; - $70 = ((($69)) + 12|0); - $71 = HEAP32[$70>>2]|0; - HEAP32[(2756)>>2] = $71; - $72 = HEAP32[2736>>2]|0; - HEAP32[$vararg_buffer>>2] = $72; - _TraceLog(0,14328,$vararg_buffer); - STACKTOP = sp;return; - } - while(1) { - $31 = (($i2$010) + 32)|0; - $32 = HEAP32[(2764)>>2]|0; - $33 = (($32) + ($i2$010<<2)|0); - HEAP32[$33>>2] = $31; - $34 = HEAP32[(2768)>>2]|0; - $35 = (($34) + ($i2$010<<4)|0); - HEAP32[$35>>2] = $currentPosX$09; - $36 = ($currentLine$08*11)|0; - $37 = (($36) + 1)|0; - $38 = HEAP32[(2768)>>2]|0; - $39 = (((($38) + ($i2$010<<4)|0)) + 4|0); - HEAP32[$39>>2] = $37; - $40 = (4828 + ($i2$010<<2)|0); - $41 = HEAP32[$40>>2]|0; - $42 = HEAP32[(2768)>>2]|0; - $43 = (((($42) + ($i2$010<<4)|0)) + 8|0); - HEAP32[$43>>2] = $41; - $44 = HEAP32[(2768)>>2]|0; - $45 = (((($44) + ($i2$010<<4)|0)) + 12|0); - HEAP32[$45>>2] = 10; - $46 = HEAP32[(2768)>>2]|0; - $47 = (((($46) + ($i2$010<<4)|0)) + 8|0); - $48 = HEAP32[$47>>2]|0; - $49 = (($currentPosX$09) + 1)|0; - $50 = (($49) + ($48))|0; - $51 = HEAP32[(2740)>>2]|0; - $52 = ($50|0)<($51|0); - if ($52) { - $currentLine$1 = $currentLine$08;$currentPosX$1 = $50; - } else { - $53 = (($currentLine$08) + 1)|0; - $54 = HEAP32[$40>>2]|0; - $55 = (($54) + 2)|0; - $56 = (($46) + ($i2$010<<4)|0); - HEAP32[$56>>2] = 1; - $57 = ($53*11)|0; - $58 = (($57) + 1)|0; - $59 = HEAP32[(2768)>>2]|0; - $60 = (((($59) + ($i2$010<<4)|0)) + 4|0); - HEAP32[$60>>2] = $58; - $currentLine$1 = $53;$currentPosX$1 = $55; - } - $61 = HEAP32[(2772)>>2]|0; - $62 = (($61) + ($i2$010<<3)|0); - HEAPF32[$62>>2] = 0.0; - $63 = (((($61) + ($i2$010<<3)|0)) + 4|0); - HEAPF32[$63>>2] = 0.0; - $64 = HEAP32[(2776)>>2]|0; - $65 = (($64) + ($i2$010<<2)|0); - HEAP32[$65>>2] = 0; - $66 = (($i2$010) + 1)|0; - $67 = HEAP32[(2760)>>2]|0; - $68 = ($66|0)<($67|0); - if ($68) { - $currentLine$08 = $currentLine$1;$currentPosX$09 = $currentPosX$1;$i2$010 = $66; - } else { - break; - } - } - $69 = HEAP32[(2768)>>2]|0; - $70 = ((($69)) + 12|0); - $71 = HEAP32[$70>>2]|0; - HEAP32[(2756)>>2] = $71; - $72 = HEAP32[2736>>2]|0; - HEAP32[$vararg_buffer>>2] = $72; - _TraceLog(0,14328,$vararg_buffer); - STACKTOP = sp;return; -} -function _UnloadDefaultFont() { - var $$byval_copy = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $$byval_copy = sp; - ;HEAP32[$$byval_copy>>2]=HEAP32[2736>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[2736+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[2736+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[2736+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[2736+16>>2]|0; - _UnloadTexture($$byval_copy); - $0 = HEAP32[(2764)>>2]|0; - _free($0); - $1 = HEAP32[(2768)>>2]|0; - _free($1); - $2 = HEAP32[(2772)>>2]|0; - _free($2); - $3 = HEAP32[(2776)>>2]|0; - _free($3); - STACKTOP = sp;return; -} -function _GetDefaultFont($agg$result) { - $agg$result = $agg$result|0; - var dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - dest=$agg$result; src=2736; stop=dest+44|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - return; -} -function _LoadSpriteFont($agg$result,$fileName) { - $agg$result = $agg$result|0; - $fileName = $fileName|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; - var $i$01 = 0, $image = 0, $image$byval_copy12 = 0, $spriteFont = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer5 = 0, $vararg_buffer8 = 0, $vararg_ptr4 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 144|0; - $image$byval_copy12 = sp + 112|0; - $vararg_buffer8 = sp + 24|0; - $vararg_buffer5 = sp + 16|0; - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $spriteFont = sp + 28|0; - $image = sp + 92|0; - $0 = sp + 72|0; - $1 = (_GetExtension($fileName)|0); - $2 = (_strcmp($1,14373)|0); - $3 = ($2|0)==(0); - do { - if ($3) { - _LoadRBMF($spriteFont,$fileName); - } else { - $4 = (_GetExtension($fileName)|0); - $5 = (_strcmp($4,14378)|0); - $6 = ($5|0)==(0); - if ($6) { - _LoadTTF($spriteFont,$fileName); - break; - } - $7 = (_GetExtension($fileName)|0); - $8 = (_strcmp($7,14382)|0); - $9 = ($8|0)==(0); - if ($9) { - _LoadBMFont($spriteFont,$fileName); - break; - } - _LoadImage($image,$fileName); - $10 = HEAP32[$image>>2]|0; - $11 = ($10|0)==(0|0); - if ($11) { - HEAP32[$vararg_buffer5>>2] = $fileName; - _TraceLog(2,14463,$vararg_buffer5); - _GetDefaultFont($spriteFont); - } else { - $12 = ((($spriteFont)) + 28|0); - $13 = ((($spriteFont)) + 32|0); - ;HEAP32[$image$byval_copy12>>2]=HEAP32[$image>>2]|0;HEAP32[$image$byval_copy12+4>>2]=HEAP32[$image+4>>2]|0;HEAP32[$image$byval_copy12+8>>2]=HEAP32[$image+8>>2]|0;HEAP32[$image$byval_copy12+12>>2]=HEAP32[$image+12>>2]|0;HEAP32[$image$byval_copy12+16>>2]=HEAP32[$image+16>>2]|0; - $14 = (_ParseImageData($image$byval_copy12,$12,$13)|0); - HEAP32[$vararg_buffer>>2] = $fileName; - _TraceLog(3,14386,$vararg_buffer); - HEAP32[$vararg_buffer1>>2] = $fileName; - $vararg_ptr4 = ((($vararg_buffer1)) + 4|0); - HEAP32[$vararg_ptr4>>2] = $14; - _TraceLog(3,14424,$vararg_buffer1); - $15 = ((($spriteFont)) + 24|0); - HEAP32[$15>>2] = $14; - ;HEAP32[$image$byval_copy12>>2]=HEAP32[$image>>2]|0;HEAP32[$image$byval_copy12+4>>2]=HEAP32[$image+4>>2]|0;HEAP32[$image$byval_copy12+8>>2]=HEAP32[$image+8>>2]|0;HEAP32[$image$byval_copy12+12>>2]=HEAP32[$image+12>>2]|0;HEAP32[$image$byval_copy12+16>>2]=HEAP32[$image+16>>2]|0; - _LoadTextureFromImage($0,$image$byval_copy12); - ;HEAP32[$spriteFont>>2]=HEAP32[$0>>2]|0;HEAP32[$spriteFont+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$spriteFont+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$spriteFont+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$spriteFont+16>>2]=HEAP32[$0+16>>2]|0; - $16 = HEAP32[$13>>2]|0; - $17 = ((($16)) + 12|0); - $18 = HEAP32[$17>>2]|0; - $19 = ((($spriteFont)) + 20|0); - HEAP32[$19>>2] = $18; - $20 = HEAP32[$15>>2]|0; - $21 = $20 << 3; - $22 = (_malloc($21)|0); - $23 = ((($spriteFont)) + 36|0); - HEAP32[$23>>2] = $22; - $24 = HEAP32[$15>>2]|0; - $25 = $24 << 2; - $26 = (_malloc($25)|0); - $27 = ((($spriteFont)) + 40|0); - HEAP32[$27>>2] = $26; - $28 = HEAP32[$15>>2]|0; - $29 = ($28|0)>(0); - if ($29) { - $30 = HEAP32[$23>>2]|0; - $31 = HEAP32[$27>>2]|0; - $32 = HEAP32[$15>>2]|0; - $i$01 = 0; - while(1) { - $33 = (($30) + ($i$01<<3)|0); - HEAPF32[$33>>2] = 0.0; - $34 = (((($30) + ($i$01<<3)|0)) + 4|0); - HEAPF32[$34>>2] = 0.0; - $35 = (($31) + ($i$01<<2)|0); - HEAP32[$35>>2] = 0; - $36 = (($i$01) + 1)|0; - $37 = ($36|0)<($32|0); - if ($37) { - $i$01 = $36; - } else { - break; - } - } - } - } - ;HEAP32[$image$byval_copy12>>2]=HEAP32[$image>>2]|0;HEAP32[$image$byval_copy12+4>>2]=HEAP32[$image+4>>2]|0;HEAP32[$image$byval_copy12+8>>2]=HEAP32[$image+8>>2]|0;HEAP32[$image$byval_copy12+12>>2]=HEAP32[$image+12>>2]|0;HEAP32[$image$byval_copy12+16>>2]=HEAP32[$image+16>>2]|0; - _UnloadImage($image$byval_copy12); - } - } while(0); - $38 = HEAP32[$spriteFont>>2]|0; - $39 = ($38|0)==(0); - if (!($39)) { - dest=$agg$result; src=$spriteFont; stop=dest+44|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; - } - HEAP32[$vararg_buffer8>>2] = $fileName; - _TraceLog(2,14463,$vararg_buffer8); - _GetDefaultFont($spriteFont); - dest=$agg$result; src=$spriteFont; stop=dest+44|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; -} -function _UnloadSpriteFont($spriteFont) { - $spriteFont = $spriteFont|0; - var $$byval_copy = 0, $0 = 0, $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $$byval_copy = sp + 4|0; - $vararg_buffer = sp; - $0 = HEAP32[$spriteFont>>2]|0; - $1 = HEAP32[2736>>2]|0; - $2 = ($0|0)==($1|0); - if ($2) { - STACKTOP = sp;return; - } - ;HEAP32[$$byval_copy>>2]=HEAP32[$spriteFont>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$spriteFont+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$spriteFont+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$spriteFont+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$spriteFont+16>>2]|0; - _UnloadTexture($$byval_copy); - $3 = ((($spriteFont)) + 28|0); - $4 = HEAP32[$3>>2]|0; - _free($4); - $5 = ((($spriteFont)) + 32|0); - $6 = HEAP32[$5>>2]|0; - _free($6); - $7 = ((($spriteFont)) + 36|0); - $8 = HEAP32[$7>>2]|0; - _free($8); - $9 = ((($spriteFont)) + 40|0); - $10 = HEAP32[$9>>2]|0; - _free($10); - _TraceLog(0,14519,$vararg_buffer); - STACKTOP = sp;return; -} -function _DrawText($text,$posX,$posY,$fontSize,$color) { - $text = $text|0; - $posX = $posX|0; - $posY = $posY|0; - $fontSize = $fontSize|0; - $color = $color|0; - var $$fontSize = 0, $0 = 0.0, $1 = 0, $2 = 0.0, $3 = 0, $4 = 0, $color$byval_copy = 0, $defaultFont$byval_copy = 0, $position = 0, $position$byval_copy = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 80|0; - $color$byval_copy = sp + 64|0; - $position$byval_copy = sp + 56|0; - $defaultFont$byval_copy = sp + 8|0; - $position = sp; - $0 = (+($posX|0)); - HEAPF32[$position>>2] = $0; - $1 = ((($position)) + 4|0); - $2 = (+($posY|0)); - HEAPF32[$1>>2] = $2; - $3 = ($fontSize|0)<(10); - $$fontSize = $3 ? 10 : $fontSize; - $4 = (($$fontSize|0) / 10)&-1; - dest=$defaultFont$byval_copy; src=2736; stop=dest+44|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - ;HEAP32[$position$byval_copy>>2]=HEAP32[$position>>2]|0;HEAP32[$position$byval_copy+4>>2]=HEAP32[$position+4>>2]|0; - ;HEAP8[$color$byval_copy>>0]=HEAP8[$color>>0]|0;HEAP8[$color$byval_copy+1>>0]=HEAP8[$color+1>>0]|0;HEAP8[$color$byval_copy+2>>0]=HEAP8[$color+2>>0]|0;HEAP8[$color$byval_copy+3>>0]=HEAP8[$color+3>>0]|0; - _DrawTextEx($defaultFont$byval_copy,$text,$position$byval_copy,$$fontSize,$4,$color$byval_copy); - STACKTOP = sp;return; -} -function _DrawTextEx($spriteFont,$text,$position,$fontSize,$spacing,$tint) { - $spriteFont = $spriteFont|0; - $text = $text|0; - $position = $position|0; - $fontSize = $fontSize|0; - $spacing = $spacing|0; - $tint = $tint|0; - var $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $$pr = 0, $0 = 0, $1 = 0, $10 = 0.0, $100 = 0, $11 = 0, $12 = 0, $13 = 0.0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0.0; - var $22 = 0.0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0.0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0; - var $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0.0, $45 = 0.0, $46 = 0.0, $47 = 0.0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0.0, $55 = 0.0, $56 = 0, $57 = 0, $58 = 0; - var $59 = 0, $6 = 0.0, $60 = 0, $61 = 0, $62 = 0.0, $63 = 0.0, $64 = 0.0, $65 = 0, $66 = 0.0, $67 = 0.0, $68 = 0, $69 = 0.0, $7 = 0.0, $70 = 0.0, $71 = 0.0, $72 = 0, $73 = 0, $74 = 0.0, $75 = 0.0, $76 = 0; - var $77 = 0, $78 = 0.0, $79 = 0.0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0.0, $9 = 0, $90 = 0.0, $91 = 0.0, $92 = 0.0, $93 = 0, $94 = 0.0; - var $95 = 0.0, $96 = 0.0, $97 = 0.0, $98 = 0, $99 = 0, $i$03 = 0, $i$1$ph = 0, $i$16 = 0, $rec = 0, $rec$byval_copy = 0, $textOffsetX$05 = 0, $textOffsetX$2 = 0, $textOffsetY$04 = 0, $textOffsetY$17 = 0, $tint$byval_copy = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 112|0; - $tint$byval_copy = sp + 104|0; - $$byval_copy2 = sp + 96|0; - $$byval_copy1 = sp + 80|0; - $rec$byval_copy = sp + 64|0; - $$byval_copy = sp + 40|0; - $rec = sp + 24|0; - $0 = sp + 8|0; - $1 = sp; - $2 = (_strlen($text)|0); - $3 = (+($fontSize|0)); - $4 = ((($spriteFont)) + 20|0); - $5 = HEAP32[$4>>2]|0; - $6 = (+($5|0)); - $7 = $3 / $6; - $8 = ($2|0)>(0); - if (!($8)) { - STACKTOP = sp;return; - } - $9 = ((($spriteFont)) + 32|0); - $10 = +HEAPF32[$position>>2]; - $11 = ((($spriteFont)) + 36|0); - $12 = ((($position)) + 4|0); - $13 = +HEAPF32[$12>>2]; - $14 = ((($rec)) + 8|0); - $15 = ((($rec)) + 12|0); - $16 = ((($0)) + 4|0); - $17 = ((($0)) + 8|0); - $18 = ((($0)) + 12|0); - $19 = ((($1)) + 4|0); - $20 = ((($spriteFont)) + 40|0); - $21 = (+($spacing|0)); - $22 = (+($spacing|0)); - $23 = ((($spriteFont)) + 32|0); - $24 = ((($spriteFont)) + 32|0); - $i$03 = 0;$textOffsetX$05 = 0;$textOffsetY$04 = 0; - while(1) { - $25 = (($text) + ($i$03)|0); - $26 = HEAP8[$25>>0]|0; - switch ($26<<24>>24) { - case -62: { - $27 = (($i$03) + 1)|0; - $28 = (($text) + ($27)|0); - $29 = HEAP8[$28>>0]|0; - $30 = $29&255; - $31 = (($30) + -32)|0; - $32 = HEAP32[$23>>2]|0; - $33 = (($32) + ($31<<4)|0); - ;HEAP32[$rec>>2]=HEAP32[$33>>2]|0;HEAP32[$rec+4>>2]=HEAP32[$33+4>>2]|0;HEAP32[$rec+8>>2]=HEAP32[$33+8>>2]|0;HEAP32[$rec+12>>2]=HEAP32[$33+12>>2]|0; - $i$1$ph = $27; - label = 8; - break; - } - case -61: { - $34 = (($i$03) + 1)|0; - $35 = (($text) + ($34)|0); - $36 = HEAP8[$35>>0]|0; - $37 = $36&255; - $38 = (($37) + 32)|0; - $39 = HEAP32[$24>>2]|0; - $40 = (($39) + ($38<<4)|0); - ;HEAP32[$rec>>2]=HEAP32[$40>>2]|0;HEAP32[$rec+4>>2]=HEAP32[$40+4>>2]|0;HEAP32[$rec+8>>2]=HEAP32[$40+8>>2]|0;HEAP32[$rec+12>>2]=HEAP32[$40+12>>2]|0; - $i$1$ph = $34; - label = 8; - break; - } - case 10: { - $41 = HEAP32[$4>>2]|0; - $42 = (($41|0) / 2)&-1; - $43 = (($42) + ($41))|0; - $44 = (+($43|0)); - $45 = $7 * $44; - $46 = (+($textOffsetY$04|0)); - $47 = $46 + $45; - $48 = (~~(($47))); - HEAP32[$rec>>2] = -1; - $i$16 = $i$03;$textOffsetX$2 = 0;$textOffsetY$17 = $48; - break; - } - default: { - $49 = $26 << 24 >> 24; - $50 = (($49) + -32)|0; - $51 = HEAP32[$9>>2]|0; - $52 = (($51) + ($50<<4)|0); - ;HEAP32[$rec>>2]=HEAP32[$52>>2]|0;HEAP32[$rec+4>>2]=HEAP32[$52+4>>2]|0;HEAP32[$rec+8>>2]=HEAP32[$52+8>>2]|0;HEAP32[$rec+12>>2]=HEAP32[$52+12>>2]|0; - $i$1$ph = $i$03; - label = 8; - } - } - do { - if ((label|0) == 8) { - label = 0; - $$pr = HEAP32[$rec>>2]|0; - $53 = ($$pr|0)>(0); - if ($53) { - $54 = (+($textOffsetX$05|0)); - $55 = $54 + $10; - $56 = (($text) + ($i$1$ph)|0); - $57 = HEAP8[$56>>0]|0; - $58 = $57 << 24 >> 24; - $59 = (($58) + -32)|0; - $60 = HEAP32[$11>>2]|0; - $61 = (($60) + ($59<<3)|0); - $62 = +HEAPF32[$61>>2]; - $63 = $7 * $62; - $64 = $55 + $63; - $65 = (~~(($64))); - $66 = (+($textOffsetY$04|0)); - $67 = $66 + $13; - $68 = (((($60) + ($59<<3)|0)) + 4|0); - $69 = +HEAPF32[$68>>2]; - $70 = $7 * $69; - $71 = $67 + $70; - $72 = (~~(($71))); - $73 = HEAP32[$14>>2]|0; - $74 = (+($73|0)); - $75 = $7 * $74; - $76 = (~~(($75))); - $77 = HEAP32[$15>>2]|0; - $78 = (+($77|0)); - $79 = $7 * $78; - $80 = (~~(($79))); - HEAP32[$0>>2] = $65; - HEAP32[$16>>2] = $72; - HEAP32[$17>>2] = $76; - HEAP32[$18>>2] = $80; - HEAPF32[$1>>2] = 0.0; - HEAPF32[$19>>2] = 0.0; - ;HEAP32[$$byval_copy>>2]=HEAP32[$spriteFont>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$spriteFont+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$spriteFont+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$spriteFont+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$spriteFont+16>>2]|0; - ;HEAP32[$rec$byval_copy>>2]=HEAP32[$rec>>2]|0;HEAP32[$rec$byval_copy+4>>2]=HEAP32[$rec+4>>2]|0;HEAP32[$rec$byval_copy+8>>2]=HEAP32[$rec+8>>2]|0;HEAP32[$rec$byval_copy+12>>2]=HEAP32[$rec+12>>2]|0; - ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0; - ;HEAP32[$$byval_copy2>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$1+4>>2]|0; - ;HEAP8[$tint$byval_copy>>0]=HEAP8[$tint>>0]|0;HEAP8[$tint$byval_copy+1>>0]=HEAP8[$tint+1>>0]|0;HEAP8[$tint$byval_copy+2>>0]=HEAP8[$tint+2>>0]|0;HEAP8[$tint$byval_copy+3>>0]=HEAP8[$tint+3>>0]|0; - _DrawTexturePro($$byval_copy,$rec$byval_copy,$$byval_copy1,$$byval_copy2,0.0,$tint$byval_copy); - $81 = HEAP8[$56>>0]|0; - $82 = $81 << 24 >> 24; - $83 = (($82) + -32)|0; - $84 = HEAP32[$20>>2]|0; - $85 = (($84) + ($83<<2)|0); - $86 = HEAP32[$85>>2]|0; - $87 = ($86|0)==(0); - if ($87) { - $88 = HEAP32[$14>>2]|0; - $89 = (+($88|0)); - $90 = $7 * $89; - $91 = $21 + $90; - $92 = $54 + $91; - $93 = (~~(($92))); - $i$16 = $i$1$ph;$textOffsetX$2 = $93;$textOffsetY$17 = $textOffsetY$04; - break; - } else { - $94 = (+($86|0)); - $95 = $7 * $94; - $96 = $22 + $95; - $97 = $54 + $96; - $98 = (~~(($97))); - $i$16 = $i$1$ph;$textOffsetX$2 = $98;$textOffsetY$17 = $textOffsetY$04; - break; - } - } else { - $i$16 = $i$1$ph;$textOffsetX$2 = $textOffsetX$05;$textOffsetY$17 = $textOffsetY$04; - } - } - } while(0); - $99 = (($i$16) + 1)|0; - $100 = ($99|0)<($2|0); - if ($100) { - $i$03 = $99;$textOffsetX$05 = $textOffsetX$2;$textOffsetY$04 = $textOffsetY$17; - } else { - break; - } - } - STACKTOP = sp;return; -} -function _SubText($text,$position,$length) { - $text = $text|0; - $position = $position|0; - $length = $length|0; - var $$03 = 0, $$1 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $c$04 = 0, $exitcond = 0, $length$ = 0, $position$ = 0, label = 0; - var sp = 0; - sp = STACKTOP; - $0 = (_strlen($text)|0); - $1 = ($0|0)>($position|0); - $2 = (($0) + -1)|0; - $position$ = $1 ? $position : $2; - $length$ = $1 ? $length : 0; - $3 = ($length$|0)<($0|0); - $$1 = $3 ? $length$ : $0; - $4 = ($$1|0)>(0); - if (!($4)) { - $12 = (14545 + ($$1)|0); - HEAP8[$12>>0] = 0; - return (14545|0); - } - $5 = ($0|0)>($length$|0); - $6 = $5 ? $length$ : $0; - $$03 = $text;$c$04 = 0; - while(1) { - $7 = (($$03) + ($position$)|0); - $8 = HEAP8[$7>>0]|0; - $9 = (14545 + ($c$04)|0); - HEAP8[$9>>0] = $8; - $10 = ((($$03)) + 1|0); - $11 = (($c$04) + 1)|0; - $exitcond = ($11|0)==($6|0); - if ($exitcond) { - break; - } else { - $$03 = $10;$c$04 = $11; - } - } - $12 = (14545 + ($$1)|0); - HEAP8[$12>>0] = 0; - return (14545|0); -} -function _MeasureText($text,$fontSize) { - $text = $text|0; - $fontSize = $fontSize|0; - var $$fontSize = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0.0, $4 = 0, $defaultFont$byval_copy = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; - $defaultFont$byval_copy = sp + 8|0; - $0 = sp; - $1 = ($fontSize|0)<(10); - $$fontSize = $1 ? 10 : $fontSize; - $2 = (($$fontSize|0) / 10)&-1; - dest=$defaultFont$byval_copy; src=2736; stop=dest+44|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MeasureTextEx($0,$defaultFont$byval_copy,$text,$$fontSize,$2); - $3 = +HEAPF32[$0>>2]; - $4 = (~~(($3))); - STACKTOP = sp;return ($4|0); -} -function _MeasureTextEx($agg$result,$spriteFont,$text,$fontSize,$spacing) { - $agg$result = $agg$result|0; - $spriteFont = $spriteFont|0; - $text = $text|0; - $fontSize = $fontSize|0; - $spacing = $spacing|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0.0, $25 = 0, $26 = 0.0; - var $27 = 0.0, $28 = 0.0, $29 = 0.0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0.0, $4 = 0, $40 = 0.0, $41 = 0.0, $42 = 0.0, $43 = 0.0, $44 = 0; - var $45 = 0.0, $46 = 0.0, $47 = 0.0, $48 = 0.0, $49 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $i$05 = 0, $lenCounter$06 = 0, $lenCounter$1 = 0, $lenCounter$1$tempLen$0 = 0, $lenCounter$1$tempLen$0$lcssa = 0, $phitmp = 0, $scaleFactor$0 = 0.0, $tempLen$0$lcssa = 0, $tempLen$07 = 0; - var $tempTextWidth$0$lcssa = 0, $tempTextWidth$03 = 0, $tempTextWidth$2 = 0, $tempTextWidth$2$lcssa = 0, $textHeight$0$lcssa = 0, $textHeight$04 = 0, $textHeight$1 = 0, $textHeight$1$lcssa = 0, $textWidth$0$lcssa = 0, $textWidth$0$tempTextWidth$0 = 0, $textWidth$0$tempTextWidth$01 = 0, $textWidth$02 = 0, $textWidth$1 = 0, $textWidth$1$lcssa = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_strlen($text)|0); - $1 = ((($spriteFont)) + 20|0); - $2 = HEAP32[$1>>2]|0; - $3 = ($0|0)>(0); - if ($3) { - $4 = HEAP32[$1>>2]|0; - $5 = (($4|0) / 2)&-1; - $6 = ((($spriteFont)) + 40|0); - $7 = HEAP32[$6>>2]|0; - $8 = ((($spriteFont)) + 32|0); - $9 = HEAP32[$8>>2]|0; - $10 = ((($spriteFont)) + 36|0); - $11 = HEAP32[$10>>2]|0; - $i$05 = 0;$lenCounter$06 = 0;$tempLen$07 = 0;$tempTextWidth$03 = 0;$textHeight$04 = $2;$textWidth$02 = 0; - while(1) { - $12 = (($lenCounter$06) + 1)|0; - $13 = (($text) + ($i$05)|0); - $14 = HEAP8[$13>>0]|0; - $15 = ($14<<24>>24)==(10); - do { - if ($15) { - $31 = ($tempTextWidth$03|0)<($textWidth$02|0); - $textWidth$0$tempTextWidth$0 = $31 ? $textWidth$02 : $tempTextWidth$03; - $32 = (($4) + ($textHeight$04))|0; - $33 = (($32) + ($5))|0; - $lenCounter$1 = 0;$tempTextWidth$2 = $textWidth$0$tempTextWidth$0;$textHeight$1 = $33;$textWidth$1 = 0; - } else { - $16 = $14 << 24 >> 24; - $17 = (($16) + -32)|0; - $18 = (($7) + ($17<<2)|0); - $19 = HEAP32[$18>>2]|0; - $20 = ($19|0)==(0); - if ($20) { - $22 = (((($9) + ($17<<4)|0)) + 8|0); - $23 = HEAP32[$22>>2]|0; - $24 = (+($23|0)); - $25 = (($11) + ($17<<3)|0); - $26 = +HEAPF32[$25>>2]; - $27 = $24 + $26; - $28 = (+($textWidth$02|0)); - $29 = $28 + $27; - $30 = (~~(($29))); - $lenCounter$1 = $12;$tempTextWidth$2 = $tempTextWidth$03;$textHeight$1 = $textHeight$04;$textWidth$1 = $30; - break; - } else { - $21 = (($19) + ($textWidth$02))|0; - $lenCounter$1 = $12;$tempTextWidth$2 = $tempTextWidth$03;$textHeight$1 = $textHeight$04;$textWidth$1 = $21; - break; - } - } - } while(0); - $34 = ($tempLen$07|0)<($lenCounter$1|0); - $lenCounter$1$tempLen$0 = $34 ? $lenCounter$1 : $tempLen$07; - $35 = (($i$05) + 1)|0; - $exitcond = ($35|0)==($0|0); - if ($exitcond) { - $lenCounter$1$tempLen$0$lcssa = $lenCounter$1$tempLen$0;$tempTextWidth$2$lcssa = $tempTextWidth$2;$textHeight$1$lcssa = $textHeight$1;$textWidth$1$lcssa = $textWidth$1; - break; - } else { - $i$05 = $35;$lenCounter$06 = $lenCounter$1;$tempLen$07 = $lenCounter$1$tempLen$0;$tempTextWidth$03 = $tempTextWidth$2;$textHeight$04 = $textHeight$1;$textWidth$02 = $textWidth$1; - } - } - $phitmp = (($lenCounter$1$tempLen$0$lcssa) + -1)|0; - $tempLen$0$lcssa = $phitmp;$tempTextWidth$0$lcssa = $tempTextWidth$2$lcssa;$textHeight$0$lcssa = $textHeight$1$lcssa;$textWidth$0$lcssa = $textWidth$1$lcssa; - } else { - $tempLen$0$lcssa = -1;$tempTextWidth$0$lcssa = 0;$textHeight$0$lcssa = $2;$textWidth$0$lcssa = 0; - } - $36 = ($tempTextWidth$0$lcssa|0)<($textWidth$0$lcssa|0); - $textWidth$0$tempTextWidth$01 = $36 ? $textWidth$0$lcssa : $tempTextWidth$0$lcssa; - $37 = HEAP32[$1>>2]|0; - $38 = ($37|0)<($fontSize|0); - if (!($38)) { - $scaleFactor$0 = 1.0; - $42 = (+($textWidth$0$tempTextWidth$01|0)); - $43 = $42 * $scaleFactor$0; - $44 = Math_imul($tempLen$0$lcssa, $spacing)|0; - $45 = (+($44|0)); - $46 = $45 + $43; - $47 = (+($textHeight$0$lcssa|0)); - $48 = $47 * $scaleFactor$0; - HEAPF32[$agg$result>>2] = $46; - $49 = ((($agg$result)) + 4|0); - HEAPF32[$49>>2] = $48; - return; - } - $39 = (+($fontSize|0)); - $40 = (+($37|0)); - $41 = $39 / $40; - $scaleFactor$0 = $41; - $42 = (+($textWidth$0$tempTextWidth$01|0)); - $43 = $42 * $scaleFactor$0; - $44 = Math_imul($tempLen$0$lcssa, $spacing)|0; - $45 = (+($44|0)); - $46 = $45 + $43; - $47 = (+($textHeight$0$lcssa|0)); - $48 = $47 * $scaleFactor$0; - HEAPF32[$agg$result>>2] = $46; - $49 = ((($agg$result)) + 4|0); - HEAPF32[$49>>2] = $48; - return; -} -function _stbi_load($filename,$x,$y,$comp,$req_comp) { - $filename = $filename|0; - $x = $x|0; - $y = $y|0; - $comp = $comp|0; - $req_comp = $req_comp|0; - var $$0 = 0, $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_stbi__fopen($filename)|0); - $1 = ($0|0)==(0|0); - if ($1) { - _stbi__err(14609); - $$0 = 0; - return ($$0|0); - } else { - $2 = (_stbi_load_from_file($0,$x,$y,$comp,$req_comp)|0); - (_fclose($0)|0); - $$0 = $2; - return ($$0|0); - } - return (0)|0; -} -function _stbi_load_from_file($f,$x,$y,$comp,$req_comp) { - $f = $f|0; - $x = $x|0; - $y = $y|0; - $comp = $comp|0; - $req_comp = $req_comp|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $s = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 192|0; - $s = sp; - _stbi__start_file($s,$f); - $0 = (_stbi__load_flip($s,$x,$y,$comp,$req_comp)|0); - $1 = ($0|0)==(0|0); - if ($1) { - STACKTOP = sp;return ($0|0); - } - $2 = ((($s)) + 172|0); - $3 = HEAP32[$2>>2]|0; - $4 = ((($s)) + 168|0); - $5 = HEAP32[$4>>2]|0; - $6 = $3; - $7 = $5; - $8 = (($7) - ($6))|0; - (_fseek($f,$8,1)|0); - STACKTOP = sp;return ($0|0); -} -function _stbi_zlib_decode_malloc_guesssize_headerflag($buffer,$len,$initial_size,$outlen,$parse_header) { - $buffer = $buffer|0; - $len = $len|0; - $initial_size = $initial_size|0; - $outlen = $outlen|0; - $parse_header = $parse_header|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $a = 0; - var label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 4080|0; - $a = sp; - $0 = (_stbi__malloc($initial_size)|0); - $1 = ($0|0)==(0|0); - if ($1) { - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - HEAP32[$a>>2] = $buffer; - $2 = (($buffer) + ($len)|0); - $3 = ((($a)) + 4|0); - HEAP32[$3>>2] = $2; - $4 = (_stbi__do_zlib($a,$0,$initial_size,1,$parse_header)|0); - $5 = ($4|0)==(0); - if ($5) { - $16 = ((($a)) + 20|0); - $17 = HEAP32[$16>>2]|0; - _free($17); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $6 = ($outlen|0)==(0|0); - if (!($6)) { - $7 = ((($a)) + 16|0); - $8 = HEAP32[$7>>2]|0; - $9 = ((($a)) + 20|0); - $10 = HEAP32[$9>>2]|0; - $11 = $8; - $12 = $10; - $13 = (($11) - ($12))|0; - HEAP32[$outlen>>2] = $13; - } - $14 = ((($a)) + 20|0); - $15 = HEAP32[$14>>2]|0; - $$0 = $15; - STACKTOP = sp;return ($$0|0); -} -function _stbi__tga_read_rgb16($s,$out) { - $s = $s|0; - $out = $out|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_stbi__get16le($s)|0); - $1 = $0 >>> 10; - $2 = $1 & 31; - $3 = $0 >>> 5; - $4 = $3 & 31; - $5 = $0 & 31; - $6 = ($2*255)|0; - $7 = (($6>>>0) / 31)&-1; - $8 = $7&255; - HEAP8[$out>>0] = $8; - $9 = ($4*255)|0; - $10 = (($9>>>0) / 31)&-1; - $11 = $10&255; - $12 = ((($out)) + 1|0); - HEAP8[$12>>0] = $11; - $13 = ($5*255)|0; - $14 = (($13>>>0) / 31)&-1; - $15 = $14&255; - $16 = ((($out)) + 2|0); - HEAP8[$16>>0] = $15; - return; -} -function _LoadImage($agg$result,$fileName) { - $agg$result = $agg$result|0; - $fileName = $fileName|0; - var $$ = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; - var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0; - var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0; - var $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $image$sroa$0$0 = 0, $image$sroa$0$09 = 0, $image$sroa$12$0 = 0; - var $image$sroa$12$05 = 0, $image$sroa$12$06 = 0, $image$sroa$15$0 = 0, $image$sroa$15$03 = 0, $image$sroa$15$04 = 0, $image$sroa$17$0 = 0, $image$sroa$17$01 = 0, $image$sroa$17$02 = 0, $image$sroa$9$0 = 0, $image$sroa$9$07 = 0, $image$sroa$9$08 = 0, $imgBpp = 0, $imgHeight = 0, $imgWidth = 0, $vararg_buffer = 0, $vararg_buffer3 = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 144|0; - $vararg_buffer3 = sp + 16|0; - $vararg_buffer = sp; - $imgWidth = sp + 128|0; - $imgHeight = sp + 124|0; - $imgBpp = sp + 120|0; - $0 = sp + 100|0; - $1 = sp + 80|0; - $2 = sp + 60|0; - $3 = sp + 40|0; - $4 = sp + 20|0; - $5 = (_GetExtension($fileName)|0); - $6 = (_strcmp($5,14621)|0); - $7 = ($6|0)==(0); - do { - if ($7) { - label = 8; - } else { - $8 = (_GetExtension($fileName)|0); - $9 = (_strcmp($8,14625)|0); - $10 = ($9|0)==(0); - if ($10) { - label = 8; - } else { - $11 = (_GetExtension($fileName)|0); - $12 = (_strcmp($11,14629)|0); - $13 = ($12|0)==(0); - if ($13) { - label = 8; - } else { - $14 = (_GetExtension($fileName)|0); - $15 = (_strcmp($14,14633)|0); - $16 = ($15|0)==(0); - if ($16) { - label = 8; - } else { - $17 = (_GetExtension($fileName)|0); - $18 = (_strcmp($17,14637)|0); - $19 = ($18|0)==(0); - if ($19) { - label = 8; - } else { - $20 = (_GetExtension($fileName)|0); - $21 = (_strcmp($20,14641)|0); - $22 = ($21|0)==(0); - if ($22) { - label = 8; - } else { - $23 = (_GetExtension($fileName)|0); - $24 = (_strcmp($23,14645)|0); - $25 = ($24|0)==(0); - if ($25) { - label = 8; - } else { - $31 = (_GetExtension($fileName)|0); - $32 = (_strcmp($31,14649)|0); - $33 = ($32|0)==(0); - if ($33) { - _LoadDDS($0,$fileName); - $34 = HEAP32[$0>>2]|0; - $35 = ((($0)) + 4|0); - $36 = HEAP32[$35>>2]|0; - $37 = ((($0)) + 8|0); - $38 = HEAP32[$37>>2]|0; - $39 = ((($0)) + 12|0); - $40 = HEAP32[$39>>2]|0; - $41 = ((($0)) + 16|0); - $42 = HEAP32[$41>>2]|0; - $image$sroa$0$0 = $34;$image$sroa$12$0 = $38;$image$sroa$15$0 = $40;$image$sroa$17$0 = $42;$image$sroa$9$0 = $36; - label = 22; - break; - } - $43 = (_GetExtension($fileName)|0); - $44 = (_strcmp($43,14653)|0); - $45 = ($44|0)==(0); - if ($45) { - _LoadPKM($1,$fileName); - $46 = HEAP32[$1>>2]|0; - $47 = ((($1)) + 4|0); - $48 = HEAP32[$47>>2]|0; - $49 = ((($1)) + 8|0); - $50 = HEAP32[$49>>2]|0; - $51 = ((($1)) + 12|0); - $52 = HEAP32[$51>>2]|0; - $53 = ((($1)) + 16|0); - $54 = HEAP32[$53>>2]|0; - $image$sroa$0$0 = $46;$image$sroa$12$0 = $50;$image$sroa$15$0 = $52;$image$sroa$17$0 = $54;$image$sroa$9$0 = $48; - label = 22; - break; - } - $55 = (_GetExtension($fileName)|0); - $56 = (_strcmp($55,14657)|0); - $57 = ($56|0)==(0); - if ($57) { - _LoadKTX($2,$fileName); - $58 = HEAP32[$2>>2]|0; - $59 = ((($2)) + 4|0); - $60 = HEAP32[$59>>2]|0; - $61 = ((($2)) + 8|0); - $62 = HEAP32[$61>>2]|0; - $63 = ((($2)) + 12|0); - $64 = HEAP32[$63>>2]|0; - $65 = ((($2)) + 16|0); - $66 = HEAP32[$65>>2]|0; - $image$sroa$0$0 = $58;$image$sroa$12$0 = $62;$image$sroa$15$0 = $64;$image$sroa$17$0 = $66;$image$sroa$9$0 = $60; - label = 22; - break; - } - $67 = (_GetExtension($fileName)|0); - $68 = (_strcmp($67,14661)|0); - $69 = ($68|0)==(0); - if ($69) { - _LoadPVR($3,$fileName); - $70 = HEAP32[$3>>2]|0; - $71 = ((($3)) + 4|0); - $72 = HEAP32[$71>>2]|0; - $73 = ((($3)) + 8|0); - $74 = HEAP32[$73>>2]|0; - $75 = ((($3)) + 12|0); - $76 = HEAP32[$75>>2]|0; - $77 = ((($3)) + 16|0); - $78 = HEAP32[$77>>2]|0; - $image$sroa$0$0 = $70;$image$sroa$12$0 = $74;$image$sroa$15$0 = $76;$image$sroa$17$0 = $78;$image$sroa$9$0 = $72; - label = 22; - break; - } - $79 = (_GetExtension($fileName)|0); - $80 = (_strcmp($79,14665)|0); - $81 = ($80|0)==(0); - if ($81) { - _LoadASTC($4,$fileName); - $82 = HEAP32[$4>>2]|0; - $83 = ((($4)) + 4|0); - $84 = HEAP32[$83>>2]|0; - $85 = ((($4)) + 8|0); - $86 = HEAP32[$85>>2]|0; - $87 = ((($4)) + 12|0); - $88 = HEAP32[$87>>2]|0; - $89 = ((($4)) + 16|0); - $90 = HEAP32[$89>>2]|0; - $image$sroa$0$0 = $82;$image$sroa$12$0 = $86;$image$sroa$15$0 = $88;$image$sroa$17$0 = $90;$image$sroa$9$0 = $84; - label = 22; - } else { - $image$sroa$12$06 = 0;$image$sroa$15$04 = 0;$image$sroa$17$02 = 0;$image$sroa$9$08 = 0; - } - } - } - } - } - } - } - } - } while(0); - L22: do { - if ((label|0) == 8) { - HEAP32[$imgWidth>>2] = 0; - HEAP32[$imgHeight>>2] = 0; - HEAP32[$imgBpp>>2] = 0; - $26 = (_stbi_load($fileName,$imgWidth,$imgHeight,$imgBpp,0)|0); - $27 = HEAP32[$imgWidth>>2]|0; - $28 = HEAP32[$imgHeight>>2]|0; - $29 = HEAP32[$imgBpp>>2]|0; - switch ($29|0) { - case 1: { - $image$sroa$0$0 = $26;$image$sroa$12$0 = $28;$image$sroa$15$0 = 1;$image$sroa$17$0 = 1;$image$sroa$9$0 = $27; - label = 22; - break L22; - break; - } - case 2: { - $image$sroa$0$0 = $26;$image$sroa$12$0 = $28;$image$sroa$15$0 = 1;$image$sroa$17$0 = 2;$image$sroa$9$0 = $27; - label = 22; - break L22; - break; - } - case 3: { - $image$sroa$0$0 = $26;$image$sroa$12$0 = $28;$image$sroa$15$0 = 1;$image$sroa$17$0 = 4;$image$sroa$9$0 = $27; - label = 22; - break L22; - break; - } - default: { - $30 = ($29|0)==(4); - $$ = $30 ? 7 : 0; - $image$sroa$0$0 = $26;$image$sroa$12$0 = $28;$image$sroa$15$0 = 1;$image$sroa$17$0 = $$;$image$sroa$9$0 = $27; - label = 22; - break L22; - } - } - } - } while(0); - if ((label|0) == 22) { - $91 = ($image$sroa$0$0|0)==(0|0); - if ($91) { - $image$sroa$12$06 = $image$sroa$12$0;$image$sroa$15$04 = $image$sroa$15$0;$image$sroa$17$02 = $image$sroa$17$0;$image$sroa$9$08 = $image$sroa$9$0; - } else { - HEAP32[$vararg_buffer>>2] = $fileName; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = $image$sroa$9$0; - $vararg_ptr2 = ((($vararg_buffer)) + 8|0); - HEAP32[$vararg_ptr2>>2] = $image$sroa$12$0; - _TraceLog(0,14670,$vararg_buffer); - $image$sroa$0$09 = $image$sroa$0$0;$image$sroa$12$05 = $image$sroa$12$0;$image$sroa$15$03 = $image$sroa$15$0;$image$sroa$17$01 = $image$sroa$17$0;$image$sroa$9$07 = $image$sroa$9$0; - HEAP32[$agg$result>>2] = $image$sroa$0$09; - $92 = ((($agg$result)) + 4|0); - HEAP32[$92>>2] = $image$sroa$9$07; - $93 = ((($agg$result)) + 8|0); - HEAP32[$93>>2] = $image$sroa$12$05; - $94 = ((($agg$result)) + 12|0); - HEAP32[$94>>2] = $image$sroa$15$03; - $95 = ((($agg$result)) + 16|0); - HEAP32[$95>>2] = $image$sroa$17$01; - STACKTOP = sp;return; - } - } - HEAP32[$vararg_buffer3>>2] = $fileName; - _TraceLog(2,14709,$vararg_buffer3); - $image$sroa$0$09 = 0;$image$sroa$12$05 = $image$sroa$12$06;$image$sroa$15$03 = $image$sroa$15$04;$image$sroa$17$01 = $image$sroa$17$02;$image$sroa$9$07 = $image$sroa$9$08; - HEAP32[$agg$result>>2] = $image$sroa$0$09; - $92 = ((($agg$result)) + 4|0); - HEAP32[$92>>2] = $image$sroa$9$07; - $93 = ((($agg$result)) + 8|0); - HEAP32[$93>>2] = $image$sroa$12$05; - $94 = ((($agg$result)) + 12|0); - HEAP32[$94>>2] = $image$sroa$15$03; - $95 = ((($agg$result)) + 16|0); - HEAP32[$95>>2] = $image$sroa$17$01; - STACKTOP = sp;return; -} -function _LoadImageEx($agg$result,$pixels,$width,$height) { - $agg$result = $agg$result|0; - $pixels = $pixels|0; - $width = $width|0; - $height = $height|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $i$02 = 0, $k$01 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = $width << 2; - $1 = Math_imul($0, $height)|0; - $2 = (_malloc($1)|0); - $3 = ($1|0)>(0); - if ($3) { - $4 = Math_imul($height, $width)|0; - $5 = $4 << 2; - $6 = (($5) + -1)|0; - $7 = $6 >>> 2; - $i$02 = 0;$k$01 = 0; - while(1) { - $8 = (($pixels) + ($k$01<<2)|0); - $9 = HEAP8[$8>>0]|0; - $10 = (($2) + ($i$02)|0); - HEAP8[$10>>0] = $9; - $11 = (((($pixels) + ($k$01<<2)|0)) + 1|0); - $12 = HEAP8[$11>>0]|0; - $13 = $i$02 | 1; - $14 = (($2) + ($13)|0); - HEAP8[$14>>0] = $12; - $15 = (((($pixels) + ($k$01<<2)|0)) + 2|0); - $16 = HEAP8[$15>>0]|0; - $17 = $i$02 | 2; - $18 = (($2) + ($17)|0); - HEAP8[$18>>0] = $16; - $19 = (((($pixels) + ($k$01<<2)|0)) + 3|0); - $20 = HEAP8[$19>>0]|0; - $21 = $i$02 | 3; - $22 = (($2) + ($21)|0); - HEAP8[$22>>0] = $20; - $23 = (($k$01) + 1)|0; - $24 = (($i$02) + 4)|0; - $exitcond = ($k$01|0)==($7|0); - if ($exitcond) { - break; - } else { - $i$02 = $24;$k$01 = $23; - } - } - } - HEAP32[$agg$result>>2] = $2; - $25 = ((($agg$result)) + 4|0); - HEAP32[$25>>2] = $width; - $26 = ((($agg$result)) + 8|0); - HEAP32[$26>>2] = $height; - $27 = ((($agg$result)) + 12|0); - HEAP32[$27>>2] = 1; - $28 = ((($agg$result)) + 16|0); - HEAP32[$28>>2] = 7; - return; -} -function _LoadTexture($agg$result,$fileName) { - $agg$result = $agg$result|0; - $fileName = $fileName|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $image = 0, $image$byval_copy1 = 0, $texture$sroa$0$0 = 0, $texture$sroa$3 = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 96|0; - $image$byval_copy1 = sp + 64|0; - $vararg_buffer = sp; - $texture$sroa$3 = sp + 8|0; - $image = sp + 44|0; - $0 = sp + 24|0; - _LoadImage($image,$fileName); - $1 = HEAP32[$image>>2]|0; - $2 = ($1|0)==(0|0); - if ($2) { - _TraceLog(2,14761,$vararg_buffer); - $texture$sroa$0$0 = 0; - } else { - ;HEAP32[$image$byval_copy1>>2]=HEAP32[$image>>2]|0;HEAP32[$image$byval_copy1+4>>2]=HEAP32[$image+4>>2]|0;HEAP32[$image$byval_copy1+8>>2]=HEAP32[$image+8>>2]|0;HEAP32[$image$byval_copy1+12>>2]=HEAP32[$image+12>>2]|0;HEAP32[$image$byval_copy1+16>>2]=HEAP32[$image+16>>2]|0; - _LoadTextureFromImage($0,$image$byval_copy1); - $3 = HEAP32[$0>>2]|0; - $4 = ((($0)) + 4|0); - ;HEAP32[$texture$sroa$3>>2]=HEAP32[$4>>2]|0;HEAP32[$texture$sroa$3+4>>2]=HEAP32[$4+4>>2]|0;HEAP32[$texture$sroa$3+8>>2]=HEAP32[$4+8>>2]|0;HEAP32[$texture$sroa$3+12>>2]=HEAP32[$4+12>>2]|0; - ;HEAP32[$image$byval_copy1>>2]=HEAP32[$image>>2]|0;HEAP32[$image$byval_copy1+4>>2]=HEAP32[$image+4>>2]|0;HEAP32[$image$byval_copy1+8>>2]=HEAP32[$image+8>>2]|0;HEAP32[$image$byval_copy1+12>>2]=HEAP32[$image+12>>2]|0;HEAP32[$image$byval_copy1+16>>2]=HEAP32[$image+16>>2]|0; - _UnloadImage($image$byval_copy1); - $texture$sroa$0$0 = $3; - } - HEAP32[$agg$result>>2] = $texture$sroa$0$0; - $5 = ((($agg$result)) + 4|0); - ;HEAP32[$5>>2]=HEAP32[$texture$sroa$3>>2]|0;HEAP32[$5+4>>2]=HEAP32[$texture$sroa$3+4>>2]|0;HEAP32[$5+8>>2]=HEAP32[$texture$sroa$3+8>>2]|0;HEAP32[$5+12>>2]=HEAP32[$texture$sroa$3+12>>2]|0; - STACKTOP = sp;return; -} -function _LoadTextureFromImage($agg$result,$image) { - $agg$result = $agg$result|0; - $image = $image|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[$image>>2]|0; - $1 = ((($image)) + 4|0); - $2 = HEAP32[$1>>2]|0; - $3 = ((($image)) + 8|0); - $4 = HEAP32[$3>>2]|0; - $5 = ((($image)) + 16|0); - $6 = HEAP32[$5>>2]|0; - $7 = ((($image)) + 12|0); - $8 = HEAP32[$7>>2]|0; - $9 = (_rlglLoadTexture($0,$2,$4,$6,$8)|0); - $10 = HEAP32[$1>>2]|0; - $11 = HEAP32[$3>>2]|0; - $12 = HEAP32[$7>>2]|0; - $13 = HEAP32[$5>>2]|0; - HEAP32[$agg$result>>2] = $9; - $14 = ((($agg$result)) + 4|0); - HEAP32[$14>>2] = $10; - $15 = ((($agg$result)) + 8|0); - HEAP32[$15>>2] = $11; - $16 = ((($agg$result)) + 12|0); - HEAP32[$16>>2] = $12; - $17 = ((($agg$result)) + 16|0); - HEAP32[$17>>2] = $13; - return; -} -function _UnloadImage($image) { - $image = $image|0; - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[$image>>2]|0; - _free($0); - return; -} -function _UnloadTexture($texture) { - $texture = $texture|0; - var $0 = 0, $1 = 0, $2 = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $vararg_buffer = sp; - $0 = HEAP32[$texture>>2]|0; - $1 = ($0|0)==(0); - if ($1) { - STACKTOP = sp;return; - } - _rlDeleteTextures($0); - $2 = HEAP32[$texture>>2]|0; - HEAP32[$vararg_buffer>>2] = $2; - _TraceLog(0,14790,$vararg_buffer); - STACKTOP = sp;return; -} -function _GetImageData($image) { - $image = $image|0; - var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0.0, $105 = 0.0, $106 = 0, $107 = 0, $108 = 0, $109 = 0.0, $11 = 0, $110 = 0.0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0; - var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0; - var $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0.0, $47 = 0.0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0.0, $53 = 0.0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0.0; - var $59 = 0.0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0.0, $72 = 0.0, $73 = 0, $74 = 0, $75 = 0, $76 = 0; - var $77 = 0.0, $78 = 0.0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0.0, $83 = 0.0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0.0, $93 = 0.0, $94 = 0; - var $95 = 0, $96 = 0, $97 = 0, $98 = 0.0, $99 = 0.0, $i$01 = 0, $k$02 = 0, $k$1 = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $vararg_buffer = sp; - $0 = ((($image)) + 4|0); - $1 = HEAP32[$0>>2]|0; - $2 = ((($image)) + 8|0); - $3 = HEAP32[$2>>2]|0; - $4 = $1 << 2; - $5 = Math_imul($4, $3)|0; - $6 = (_malloc($5)|0); - $7 = HEAP32[$0>>2]|0; - $8 = HEAP32[$2>>2]|0; - $9 = Math_imul($8, $7)|0; - $10 = ($9|0)>(0); - if (!($10)) { - STACKTOP = sp;return ($6|0); - } - $11 = ((($image)) + 16|0); - $12 = HEAP32[$11>>2]|0; - $13 = HEAP32[$0>>2]|0; - $14 = HEAP32[$2>>2]|0; - $15 = Math_imul($14, $13)|0; - $16 = HEAP32[$image>>2]|0; - $i$01 = 0;$k$02 = 0; - while(1) { - switch ($12|0) { - case 1: { - $17 = (($16) + ($k$02)|0); - $18 = HEAP8[$17>>0]|0; - $19 = (($6) + ($i$01<<2)|0); - HEAP8[$19>>0] = $18; - $20 = (($16) + ($k$02)|0); - $21 = HEAP8[$20>>0]|0; - $22 = (((($6) + ($i$01<<2)|0)) + 1|0); - HEAP8[$22>>0] = $21; - $23 = (($16) + ($k$02)|0); - $24 = HEAP8[$23>>0]|0; - $25 = (((($6) + ($i$01<<2)|0)) + 2|0); - HEAP8[$25>>0] = $24; - $26 = (((($6) + ($i$01<<2)|0)) + 3|0); - HEAP8[$26>>0] = -1; - $27 = (($k$02) + 1)|0; - $k$1 = $27; - break; - } - case 2: { - $28 = (($16) + ($k$02)|0); - $29 = HEAP8[$28>>0]|0; - $30 = (($6) + ($i$01<<2)|0); - HEAP8[$30>>0] = $29; - $31 = (($16) + ($k$02)|0); - $32 = HEAP8[$31>>0]|0; - $33 = (((($6) + ($i$01<<2)|0)) + 1|0); - HEAP8[$33>>0] = $32; - $34 = (($16) + ($k$02)|0); - $35 = HEAP8[$34>>0]|0; - $36 = (((($6) + ($i$01<<2)|0)) + 2|0); - HEAP8[$36>>0] = $35; - $37 = (($k$02) + 1)|0; - $38 = (($16) + ($37)|0); - $39 = HEAP8[$38>>0]|0; - $40 = (((($6) + ($i$01<<2)|0)) + 3|0); - HEAP8[$40>>0] = $39; - $41 = (($k$02) + 2)|0; - $k$1 = $41; - break; - } - case 5: { - $42 = (($16) + ($k$02<<1)|0); - $43 = HEAP16[$42>>1]|0; - $44 = $43&65535; - $45 = $44 >>> 11; - $46 = (+($45|0)); - $47 = $46 * 8.0; - $48 = (~~(($47))&255); - $49 = (($6) + ($i$01<<2)|0); - HEAP8[$49>>0] = $48; - $50 = $44 >>> 6; - $51 = $50 & 31; - $52 = (+($51|0)); - $53 = $52 * 8.0; - $54 = (~~(($53))&255); - $55 = (((($6) + ($i$01<<2)|0)) + 1|0); - HEAP8[$55>>0] = $54; - $56 = $44 >>> 1; - $57 = $56 & 31; - $58 = (+($57|0)); - $59 = $58 * 8.0; - $60 = (~~(($59))&255); - $61 = (((($6) + ($i$01<<2)|0)) + 2|0); - HEAP8[$61>>0] = $60; - $62 = $44 & 1; - $63 = (0 - ($62))|0; - $64 = $63&255; - $65 = (((($6) + ($i$01<<2)|0)) + 3|0); - HEAP8[$65>>0] = $64; - $66 = (($k$02) + 1)|0; - $k$1 = $66; - break; - } - case 3: { - $67 = (($16) + ($k$02<<1)|0); - $68 = HEAP16[$67>>1]|0; - $69 = $68&65535; - $70 = $69 >>> 11; - $71 = (+($70|0)); - $72 = $71 * 8.0; - $73 = (~~(($72))&255); - $74 = (($6) + ($i$01<<2)|0); - HEAP8[$74>>0] = $73; - $75 = $69 >>> 5; - $76 = $75 & 63; - $77 = (+($76|0)); - $78 = $77 * 4.0; - $79 = (~~(($78))&255); - $80 = (((($6) + ($i$01<<2)|0)) + 1|0); - HEAP8[$80>>0] = $79; - $81 = $69 & 31; - $82 = (+($81|0)); - $83 = $82 * 8.0; - $84 = (~~(($83))&255); - $85 = (((($6) + ($i$01<<2)|0)) + 2|0); - HEAP8[$85>>0] = $84; - $86 = (((($6) + ($i$01<<2)|0)) + 3|0); - HEAP8[$86>>0] = -1; - $87 = (($k$02) + 1)|0; - $k$1 = $87; - break; - } - case 6: { - $88 = (($16) + ($k$02<<1)|0); - $89 = HEAP16[$88>>1]|0; - $90 = $89&65535; - $91 = $90 >>> 12; - $92 = (+($91|0)); - $93 = $92 * 17.0; - $94 = (~~(($93))&255); - $95 = (($6) + ($i$01<<2)|0); - HEAP8[$95>>0] = $94; - $96 = $90 >>> 8; - $97 = $96 & 15; - $98 = (+($97|0)); - $99 = $98 * 17.0; - $100 = (~~(($99))&255); - $101 = (((($6) + ($i$01<<2)|0)) + 1|0); - HEAP8[$101>>0] = $100; - $102 = $90 >>> 4; - $103 = $102 & 15; - $104 = (+($103|0)); - $105 = $104 * 17.0; - $106 = (~~(($105))&255); - $107 = (((($6) + ($i$01<<2)|0)) + 2|0); - HEAP8[$107>>0] = $106; - $108 = $90 & 15; - $109 = (+($108|0)); - $110 = $109 * 17.0; - $111 = (~~(($110))&255); - $112 = (((($6) + ($i$01<<2)|0)) + 3|0); - HEAP8[$112>>0] = $111; - $113 = (($k$02) + 1)|0; - $k$1 = $113; - break; - } - case 7: { - $114 = (($16) + ($k$02)|0); - $115 = HEAP8[$114>>0]|0; - $116 = (($6) + ($i$01<<2)|0); - HEAP8[$116>>0] = $115; - $117 = (($k$02) + 1)|0; - $118 = (($16) + ($117)|0); - $119 = HEAP8[$118>>0]|0; - $120 = (((($6) + ($i$01<<2)|0)) + 1|0); - HEAP8[$120>>0] = $119; - $121 = (($k$02) + 2)|0; - $122 = (($16) + ($121)|0); - $123 = HEAP8[$122>>0]|0; - $124 = (((($6) + ($i$01<<2)|0)) + 2|0); - HEAP8[$124>>0] = $123; - $125 = (($k$02) + 3)|0; - $126 = (($16) + ($125)|0); - $127 = HEAP8[$126>>0]|0; - $128 = (((($6) + ($i$01<<2)|0)) + 3|0); - HEAP8[$128>>0] = $127; - $129 = (($k$02) + 4)|0; - $k$1 = $129; - break; - } - case 4: { - $130 = (($16) + ($k$02)|0); - $131 = HEAP8[$130>>0]|0; - $132 = (($6) + ($i$01<<2)|0); - HEAP8[$132>>0] = $131; - $133 = (($k$02) + 1)|0; - $134 = (($16) + ($133)|0); - $135 = HEAP8[$134>>0]|0; - $136 = (((($6) + ($i$01<<2)|0)) + 1|0); - HEAP8[$136>>0] = $135; - $137 = (($k$02) + 2)|0; - $138 = (($16) + ($137)|0); - $139 = HEAP8[$138>>0]|0; - $140 = (((($6) + ($i$01<<2)|0)) + 2|0); - HEAP8[$140>>0] = $139; - $141 = (((($6) + ($i$01<<2)|0)) + 3|0); - HEAP8[$141>>0] = -1; - $142 = (($k$02) + 3)|0; - $k$1 = $142; - break; - } - default: { - _TraceLog(2,14840,$vararg_buffer); - $k$1 = $k$02; - } - } - $143 = (($i$01) + 1)|0; - $144 = ($143|0)<($15|0); - if ($144) { - $i$01 = $143;$k$02 = $k$1; - } else { - break; - } - } - STACKTOP = sp;return ($6|0); -} -function _ImageFormat($image,$newFormat) { - $image = $image|0; - $newFormat = $newFormat|0; - var $0 = 0, $1 = 0, $10 = 0, $100 = 0.0, $101 = 0, $102 = 0, $103 = 0, $104 = 0.0, $105 = 0.0, $106 = 0.0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; - var $170 = 0, $171 = 0, $172 = 0, $173 = 0.0, $174 = 0.0, $175 = 0.0, $176 = 0, $177 = 0, $178 = 0, $179 = 0.0, $18 = 0, $180 = 0.0, $181 = 0.0, $182 = 0, $183 = 0, $184 = 0, $185 = 0.0, $186 = 0.0, $187 = 0.0, $188 = 0; - var $189 = 0, $19 = 0.0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0.0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0; - var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0.0; - var $224 = 0.0, $225 = 0.0, $226 = 0, $227 = 0, $228 = 0, $229 = 0.0, $23 = 0.0, $230 = 0.0, $231 = 0.0, $232 = 0, $233 = 0, $234 = 0, $235 = 0.0, $236 = 0.0, $237 = 0.0, $238 = 0, $239 = 0, $24 = 0.0, $240 = 0, $241 = 0.0; - var $242 = 0.0, $243 = 0.0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0.0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0; - var $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0; - var $279 = 0, $28 = 0.0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0.0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0; - var $3 = 0, $30 = 0.0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; - var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0.0, $54 = 0.0, $55 = 0, $56 = 0, $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0, $61 = 0, $62 = 0.0, $63 = 0.0, $64 = 0.0, $65 = 0; - var $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0; - var $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0.0, $93 = 0.0, $94 = 0.0, $95 = 0, $96 = 0, $97 = 0, $98 = 0.0, $99 = 0.0, $i$017 = 0, $i1$019 = 0, $i12$028 = 0; - var $i13$031 = 0, $i2$021 = 0, $i3$024 = 0, $i7$026 = 0, $image$byval_copy = 0, $k$018 = 0, $k$123 = 0, $k$230 = 0, $or$cond = 0, $roundf = 0.0, $roundf10 = 0.0, $roundf2 = 0.0, $roundf3 = 0.0, $roundf4 = 0.0, $roundf5 = 0.0, $roundf6 = 0.0, $roundf7 = 0.0, $roundf8 = 0.0, $roundf9 = 0.0, $vararg_buffer = 0; - var label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $image$byval_copy = sp + 4|0; - $vararg_buffer = sp; - $0 = ((($image)) + 16|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)==($newFormat|0); - if ($2) { - STACKTOP = sp;return; - } - $3 = ($1|0)<(8); - $4 = ($newFormat|0)<(8); - $or$cond = $4 & $3; - if (!($or$cond)) { - _TraceLog(2,14886,$vararg_buffer); - STACKTOP = sp;return; - } - ;HEAP32[$image$byval_copy>>2]=HEAP32[$image>>2]|0;HEAP32[$image$byval_copy+4>>2]=HEAP32[$image+4>>2]|0;HEAP32[$image$byval_copy+8>>2]=HEAP32[$image+8>>2]|0;HEAP32[$image$byval_copy+12>>2]=HEAP32[$image+12>>2]|0;HEAP32[$image$byval_copy+16>>2]=HEAP32[$image+16>>2]|0; - $5 = (_GetImageData($image$byval_copy)|0); - $6 = HEAP32[$image>>2]|0; - _free($6); - HEAP32[$0>>2] = $newFormat; - switch ($newFormat|0) { - case 1: { - $7 = ((($image)) + 4|0); - $8 = HEAP32[$7>>2]|0; - $9 = ((($image)) + 8|0); - $10 = HEAP32[$9>>2]|0; - $11 = Math_imul($10, $8)|0; - $12 = (_malloc($11)|0); - HEAP32[$image>>2] = $12; - $13 = HEAP32[$7>>2]|0; - $14 = HEAP32[$9>>2]|0; - $15 = Math_imul($14, $13)|0; - $16 = ($15|0)>(0); - if ($16) { - $i$017 = 0; - while(1) { - $17 = (($5) + ($i$017<<2)|0); - $18 = HEAP8[$17>>0]|0; - $19 = (+($18&255)); - $20 = $19 * 0.29899999499320984; - $21 = (((($5) + ($i$017<<2)|0)) + 1|0); - $22 = HEAP8[$21>>0]|0; - $23 = (+($22&255)); - $24 = $23 * 0.58700001239776611; - $25 = $20 + $24; - $26 = (((($5) + ($i$017<<2)|0)) + 2|0); - $27 = HEAP8[$26>>0]|0; - $28 = (+($27&255)); - $29 = $28 * 0.11400000005960464; - $30 = $25 + $29; - $31 = (~~(($30))&255); - $32 = HEAP32[$image>>2]|0; - $33 = (($32) + ($i$017)|0); - HEAP8[$33>>0] = $31; - $34 = (($i$017) + 1)|0; - $35 = HEAP32[$7>>2]|0; - $36 = HEAP32[$9>>2]|0; - $37 = Math_imul($36, $35)|0; - $38 = ($34|0)<($37|0); - if ($38) { - $i$017 = $34; - } else { - break; - } - } - } - break; - } - case 2: { - $39 = ((($image)) + 4|0); - $40 = HEAP32[$39>>2]|0; - $41 = ((($image)) + 8|0); - $42 = HEAP32[$41>>2]|0; - $43 = $40 << 1; - $44 = Math_imul($43, $42)|0; - $45 = (_malloc($44)|0); - HEAP32[$image>>2] = $45; - $46 = HEAP32[$39>>2]|0; - $47 = HEAP32[$41>>2]|0; - $48 = $46 << 1; - $49 = Math_imul($48, $47)|0; - $50 = ($49|0)>(0); - if ($50) { - $i1$019 = 0;$k$018 = 0; - while(1) { - $51 = (($5) + ($k$018<<2)|0); - $52 = HEAP8[$51>>0]|0; - $53 = (+($52&255)); - $54 = $53 * 0.29899999499320984; - $55 = (((($5) + ($k$018<<2)|0)) + 1|0); - $56 = HEAP8[$55>>0]|0; - $57 = (+($56&255)); - $58 = $57 * 0.58700001239776611; - $59 = $54 + $58; - $60 = (((($5) + ($k$018<<2)|0)) + 2|0); - $61 = HEAP8[$60>>0]|0; - $62 = (+($61&255)); - $63 = $62 * 0.11400000005960464; - $64 = $59 + $63; - $65 = (~~(($64))&255); - $66 = HEAP32[$image>>2]|0; - $67 = (($66) + ($i1$019)|0); - HEAP8[$67>>0] = $65; - $68 = (((($5) + ($k$018<<2)|0)) + 3|0); - $69 = HEAP8[$68>>0]|0; - $70 = $i1$019 | 1; - $71 = HEAP32[$image>>2]|0; - $72 = (($71) + ($70)|0); - HEAP8[$72>>0] = $69; - $73 = (($k$018) + 1)|0; - $74 = (($i1$019) + 2)|0; - $75 = HEAP32[$39>>2]|0; - $76 = HEAP32[$41>>2]|0; - $77 = $75 << 1; - $78 = Math_imul($77, $76)|0; - $79 = ($74|0)<($78|0); - if ($79) { - $i1$019 = $74;$k$018 = $73; - } else { - break; - } - } - } - break; - } - case 3: { - $80 = ((($image)) + 4|0); - $81 = HEAP32[$80>>2]|0; - $82 = ((($image)) + 8|0); - $83 = HEAP32[$82>>2]|0; - $84 = $81 << 1; - $85 = Math_imul($84, $83)|0; - $86 = (_malloc($85)|0); - HEAP32[$image>>2] = $86; - $87 = HEAP32[$80>>2]|0; - $88 = HEAP32[$82>>2]|0; - $89 = Math_imul($88, $87)|0; - $90 = ($89|0)>(0); - if ($90) { - $91 = HEAP8[$5>>0]|0; - $92 = (+($91&255)); - $93 = $92 * 31.0; - $94 = $93 / 255.0; - $roundf8 = (+_roundf($94)); - $95 = (~~(($roundf8))&255); - $96 = ((($5)) + 1|0); - $97 = HEAP8[$96>>0]|0; - $98 = (+($97&255)); - $99 = $98 * 63.0; - $100 = $99 / 255.0; - $roundf9 = (+_roundf($100)); - $101 = (~~(($roundf9))&255); - $102 = ((($5)) + 2|0); - $103 = HEAP8[$102>>0]|0; - $104 = (+($103&255)); - $105 = $104 * 31.0; - $106 = $105 / 255.0; - $roundf10 = (+_roundf($106)); - $107 = (~~(($roundf10))&255); - $108 = $95&255; - $109 = $108 << 11; - $110 = $101&255; - $111 = $110 << 5; - $112 = $111 | $109; - $113 = $107&255; - $114 = $112 | $113; - $115 = $114&65535; - $116 = HEAP32[$image>>2]|0; - $117 = HEAP32[$80>>2]|0; - $118 = HEAP32[$82>>2]|0; - $119 = Math_imul($118, $117)|0; - $i2$021 = 0; - while(1) { - $120 = (($116) + ($i2$021<<1)|0); - HEAP16[$120>>1] = $115; - $121 = (($i2$021) + 1)|0; - $122 = ($121|0)<($119|0); - if ($122) { - $i2$021 = $121; - } else { - break; - } - } - } - break; - } - case 4: { - $123 = ((($image)) + 4|0); - $124 = HEAP32[$123>>2]|0; - $125 = ((($image)) + 8|0); - $126 = HEAP32[$125>>2]|0; - $127 = ($124*3)|0; - $128 = Math_imul($127, $126)|0; - $129 = (_malloc($128)|0); - HEAP32[$image>>2] = $129; - $130 = HEAP32[$123>>2]|0; - $131 = HEAP32[$125>>2]|0; - $132 = ($130*3)|0; - $133 = Math_imul($132, $131)|0; - $134 = ($133|0)>(0); - if ($134) { - $i3$024 = 0;$k$123 = 0; - while(1) { - $135 = (($5) + ($k$123<<2)|0); - $136 = HEAP8[$135>>0]|0; - $137 = HEAP32[$image>>2]|0; - $138 = (($137) + ($i3$024)|0); - HEAP8[$138>>0] = $136; - $139 = (((($5) + ($k$123<<2)|0)) + 1|0); - $140 = HEAP8[$139>>0]|0; - $141 = (($i3$024) + 1)|0; - $142 = HEAP32[$image>>2]|0; - $143 = (($142) + ($141)|0); - HEAP8[$143>>0] = $140; - $144 = (((($5) + ($k$123<<2)|0)) + 2|0); - $145 = HEAP8[$144>>0]|0; - $146 = (($i3$024) + 2)|0; - $147 = HEAP32[$image>>2]|0; - $148 = (($147) + ($146)|0); - HEAP8[$148>>0] = $145; - $149 = (($k$123) + 1)|0; - $150 = (($i3$024) + 3)|0; - $151 = HEAP32[$123>>2]|0; - $152 = HEAP32[$125>>2]|0; - $153 = ($151*3)|0; - $154 = Math_imul($153, $152)|0; - $155 = ($150|0)<($154|0); - if ($155) { - $i3$024 = $150;$k$123 = $149; - } else { - break; - } - } - } - break; - } - case 5: { - $156 = ((($image)) + 4|0); - $157 = HEAP32[$156>>2]|0; - $158 = ((($image)) + 8|0); - $159 = HEAP32[$158>>2]|0; - $160 = $157 << 1; - $161 = Math_imul($160, $159)|0; - $162 = (_malloc($161)|0); - HEAP32[$image>>2] = $162; - $163 = HEAP32[$156>>2]|0; - $164 = HEAP32[$158>>2]|0; - $165 = Math_imul($164, $163)|0; - $166 = ($165|0)>(0); - if ($166) { - $167 = HEAP32[$image>>2]|0; - $168 = HEAP32[$156>>2]|0; - $169 = HEAP32[$158>>2]|0; - $170 = Math_imul($169, $168)|0; - $i7$026 = 0; - while(1) { - $171 = (($5) + ($i7$026<<2)|0); - $172 = HEAP8[$171>>0]|0; - $173 = (+($172&255)); - $174 = $173 * 31.0; - $175 = $174 / 255.0; - $roundf5 = (+_roundf($175)); - $176 = (~~(($roundf5))&255); - $177 = (((($5) + ($i7$026<<2)|0)) + 1|0); - $178 = HEAP8[$177>>0]|0; - $179 = (+($178&255)); - $180 = $179 * 31.0; - $181 = $180 / 255.0; - $roundf6 = (+_roundf($181)); - $182 = (~~(($roundf6))&255); - $183 = (((($5) + ($i7$026<<2)|0)) + 2|0); - $184 = HEAP8[$183>>0]|0; - $185 = (+($184&255)); - $186 = $185 * 31.0; - $187 = $186 / 255.0; - $roundf7 = (+_roundf($187)); - $188 = (~~(($roundf7))&255); - $189 = (((($5) + ($i7$026<<2)|0)) + 3|0); - $190 = HEAP8[$189>>0]|0; - $191 = ($190&255)>(50); - $192 = $176&255; - $193 = $192 << 11; - $194 = $182&255; - $195 = $194 << 6; - $196 = $195 | $193; - $197 = $188&255; - $198 = $197 << 1; - $199 = $196 | $198; - $200 = $191&1; - $201 = $199 | $200; - $202 = $201&65535; - $203 = (($167) + ($i7$026<<1)|0); - HEAP16[$203>>1] = $202; - $204 = (($i7$026) + 1)|0; - $205 = ($204|0)<($170|0); - if ($205) { - $i7$026 = $204; - } else { - break; - } - } - } - break; - } - case 6: { - $206 = ((($image)) + 4|0); - $207 = HEAP32[$206>>2]|0; - $208 = ((($image)) + 8|0); - $209 = HEAP32[$208>>2]|0; - $210 = $207 << 1; - $211 = Math_imul($210, $209)|0; - $212 = (_malloc($211)|0); - HEAP32[$image>>2] = $212; - $213 = HEAP32[$206>>2]|0; - $214 = HEAP32[$208>>2]|0; - $215 = Math_imul($214, $213)|0; - $216 = ($215|0)>(0); - if ($216) { - $217 = HEAP32[$image>>2]|0; - $218 = HEAP32[$206>>2]|0; - $219 = HEAP32[$208>>2]|0; - $220 = Math_imul($219, $218)|0; - $i12$028 = 0; - while(1) { - $221 = (($5) + ($i12$028<<2)|0); - $222 = HEAP8[$221>>0]|0; - $223 = (+($222&255)); - $224 = $223 * 15.0; - $225 = $224 / 255.0; - $roundf = (+_roundf($225)); - $226 = (~~(($roundf))&255); - $227 = (((($5) + ($i12$028<<2)|0)) + 1|0); - $228 = HEAP8[$227>>0]|0; - $229 = (+($228&255)); - $230 = $229 * 15.0; - $231 = $230 / 255.0; - $roundf2 = (+_roundf($231)); - $232 = (~~(($roundf2))&255); - $233 = (((($5) + ($i12$028<<2)|0)) + 2|0); - $234 = HEAP8[$233>>0]|0; - $235 = (+($234&255)); - $236 = $235 * 15.0; - $237 = $236 / 255.0; - $roundf3 = (+_roundf($237)); - $238 = (~~(($roundf3))&255); - $239 = (((($5) + ($i12$028<<2)|0)) + 3|0); - $240 = HEAP8[$239>>0]|0; - $241 = (+($240&255)); - $242 = $241 * 15.0; - $243 = $242 / 255.0; - $roundf4 = (+_roundf($243)); - $244 = (~~(($roundf4))&255); - $245 = $226&255; - $246 = $245 << 12; - $247 = $232&255; - $248 = $247 << 8; - $249 = $248 | $246; - $250 = $238&255; - $251 = $250 << 4; - $252 = $249 | $251; - $253 = $244&255; - $254 = $252 | $253; - $255 = $254&65535; - $256 = (($217) + ($i12$028<<1)|0); - HEAP16[$256>>1] = $255; - $257 = (($i12$028) + 1)|0; - $258 = ($257|0)<($220|0); - if ($258) { - $i12$028 = $257; - } else { - break; - } - } - } - break; - } - case 7: { - $259 = ((($image)) + 4|0); - $260 = HEAP32[$259>>2]|0; - $261 = ((($image)) + 8|0); - $262 = HEAP32[$261>>2]|0; - $263 = $260 << 2; - $264 = Math_imul($263, $262)|0; - $265 = (_malloc($264)|0); - HEAP32[$image>>2] = $265; - $266 = HEAP32[$259>>2]|0; - $267 = HEAP32[$261>>2]|0; - $268 = $266 << 2; - $269 = Math_imul($268, $267)|0; - $270 = ($269|0)>(0); - if ($270) { - $i13$031 = 0;$k$230 = 0; - while(1) { - $271 = (($5) + ($k$230<<2)|0); - $272 = HEAP8[$271>>0]|0; - $273 = HEAP32[$image>>2]|0; - $274 = (($273) + ($i13$031)|0); - HEAP8[$274>>0] = $272; - $275 = (((($5) + ($k$230<<2)|0)) + 1|0); - $276 = HEAP8[$275>>0]|0; - $277 = $i13$031 | 1; - $278 = HEAP32[$image>>2]|0; - $279 = (($278) + ($277)|0); - HEAP8[$279>>0] = $276; - $280 = (((($5) + ($k$230<<2)|0)) + 2|0); - $281 = HEAP8[$280>>0]|0; - $282 = $i13$031 | 2; - $283 = HEAP32[$image>>2]|0; - $284 = (($283) + ($282)|0); - HEAP8[$284>>0] = $281; - $285 = (((($5) + ($k$230<<2)|0)) + 3|0); - $286 = HEAP8[$285>>0]|0; - $287 = $i13$031 | 3; - $288 = HEAP32[$image>>2]|0; - $289 = (($288) + ($287)|0); - HEAP8[$289>>0] = $286; - $290 = (($k$230) + 1)|0; - $291 = (($i13$031) + 4)|0; - $292 = HEAP32[$259>>2]|0; - $293 = HEAP32[$261>>2]|0; - $294 = $292 << 2; - $295 = Math_imul($294, $293)|0; - $296 = ($291|0)<($295|0); - if ($296) { - $i13$031 = $291;$k$230 = $290; - } else { - break; - } - } - } - break; - } - default: { - } - } - _free($5); - STACKTOP = sp;return; -} -function _DrawTexture($texture,$posX,$posY,$tint) { - $texture = $texture|0; - $posX = $posX|0; - $posY = $posY|0; - $tint = $tint|0; - var $$byval_copy = 0, $0 = 0, $1 = 0.0, $2 = 0.0, $3 = 0, $texture$byval_copy = 0, $tint$byval_copy = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $tint$byval_copy = sp + 40|0; - $$byval_copy = sp + 32|0; - $texture$byval_copy = sp + 8|0; - $0 = sp; - $1 = (+($posX|0)); - $2 = (+($posY|0)); - HEAPF32[$0>>2] = $1; - $3 = ((($0)) + 4|0); - HEAPF32[$3>>2] = $2; - ;HEAP32[$texture$byval_copy>>2]=HEAP32[$texture>>2]|0;HEAP32[$texture$byval_copy+4>>2]=HEAP32[$texture+4>>2]|0;HEAP32[$texture$byval_copy+8>>2]=HEAP32[$texture+8>>2]|0;HEAP32[$texture$byval_copy+12>>2]=HEAP32[$texture+12>>2]|0;HEAP32[$texture$byval_copy+16>>2]=HEAP32[$texture+16>>2]|0; - ;HEAP32[$$byval_copy>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$0+4>>2]|0; - ;HEAP8[$tint$byval_copy>>0]=HEAP8[$tint>>0]|0;HEAP8[$tint$byval_copy+1>>0]=HEAP8[$tint+1>>0]|0;HEAP8[$tint$byval_copy+2>>0]=HEAP8[$tint+2>>0]|0;HEAP8[$tint$byval_copy+3>>0]=HEAP8[$tint+3>>0]|0; - _DrawTextureEx($texture$byval_copy,$$byval_copy,0.0,1.0,$tint$byval_copy); - STACKTOP = sp;return; -} -function _DrawTextureEx($texture,$position,$rotation,$scale,$tint) { - $texture = $texture|0; - $position = $position|0; - $rotation = +$rotation; - $scale = +$scale; - $tint = $tint|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0.0, $12 = 0, $13 = 0, $14 = 0, $15 = 0.0, $16 = 0.0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0.0, $21 = 0.0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0, $destRec = 0, $destRec$byval_copy = 0, $origin = 0, $sourceRec = 0, $sourceRec$byval_copy = 0, $texture$byval_copy = 0, $tint$byval_copy = 0, $tmpcast$byval_copy = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 112|0; - $tint$byval_copy = sp + 104|0; - $tmpcast$byval_copy = sp + 96|0; - $destRec$byval_copy = sp + 80|0; - $sourceRec$byval_copy = sp + 64|0; - $texture$byval_copy = sp + 40|0; - $sourceRec = sp + 24|0; - $destRec = sp + 8|0; - $origin = sp; - HEAP32[$sourceRec>>2] = 0; - $0 = ((($sourceRec)) + 4|0); - HEAP32[$0>>2] = 0; - $1 = ((($sourceRec)) + 8|0); - $2 = ((($texture)) + 4|0); - $3 = HEAP32[$2>>2]|0; - HEAP32[$1>>2] = $3; - $4 = ((($sourceRec)) + 12|0); - $5 = ((($texture)) + 8|0); - $6 = HEAP32[$5>>2]|0; - HEAP32[$4>>2] = $6; - $7 = +HEAPF32[$position>>2]; - $8 = (~~(($7))); - HEAP32[$destRec>>2] = $8; - $9 = ((($destRec)) + 4|0); - $10 = ((($position)) + 4|0); - $11 = +HEAPF32[$10>>2]; - $12 = (~~(($11))); - HEAP32[$9>>2] = $12; - $13 = ((($destRec)) + 8|0); - $14 = HEAP32[$2>>2]|0; - $15 = (+($14|0)); - $16 = $15 * $scale; - $17 = (~~(($16))); - HEAP32[$13>>2] = $17; - $18 = ((($destRec)) + 12|0); - $19 = HEAP32[$5>>2]|0; - $20 = (+($19|0)); - $21 = $20 * $scale; - $22 = (~~(($21))); - HEAP32[$18>>2] = $22; - $23 = $origin; - $24 = $23; - HEAP32[$24>>2] = 0; - $25 = (($23) + 4)|0; - $26 = $25; - HEAP32[$26>>2] = 0; - ;HEAP32[$texture$byval_copy>>2]=HEAP32[$texture>>2]|0;HEAP32[$texture$byval_copy+4>>2]=HEAP32[$texture+4>>2]|0;HEAP32[$texture$byval_copy+8>>2]=HEAP32[$texture+8>>2]|0;HEAP32[$texture$byval_copy+12>>2]=HEAP32[$texture+12>>2]|0;HEAP32[$texture$byval_copy+16>>2]=HEAP32[$texture+16>>2]|0; - ;HEAP32[$sourceRec$byval_copy>>2]=HEAP32[$sourceRec>>2]|0;HEAP32[$sourceRec$byval_copy+4>>2]=HEAP32[$sourceRec+4>>2]|0;HEAP32[$sourceRec$byval_copy+8>>2]=HEAP32[$sourceRec+8>>2]|0;HEAP32[$sourceRec$byval_copy+12>>2]=HEAP32[$sourceRec+12>>2]|0; - ;HEAP32[$destRec$byval_copy>>2]=HEAP32[$destRec>>2]|0;HEAP32[$destRec$byval_copy+4>>2]=HEAP32[$destRec+4>>2]|0;HEAP32[$destRec$byval_copy+8>>2]=HEAP32[$destRec+8>>2]|0;HEAP32[$destRec$byval_copy+12>>2]=HEAP32[$destRec+12>>2]|0; - ;HEAP32[$tmpcast$byval_copy>>2]=HEAP32[$origin>>2]|0;HEAP32[$tmpcast$byval_copy+4>>2]=HEAP32[$origin+4>>2]|0; - ;HEAP8[$tint$byval_copy>>0]=HEAP8[$tint>>0]|0;HEAP8[$tint$byval_copy+1>>0]=HEAP8[$tint+1>>0]|0;HEAP8[$tint$byval_copy+2>>0]=HEAP8[$tint+2>>0]|0;HEAP8[$tint$byval_copy+3>>0]=HEAP8[$tint+3>>0]|0; - _DrawTexturePro($texture$byval_copy,$sourceRec$byval_copy,$destRec$byval_copy,$tmpcast$byval_copy,$rotation,$tint$byval_copy); - STACKTOP = sp;return; -} -function _DrawTexturePro($texture,$sourceRec,$destRec,$origin,$rotation,$tint) { - $texture = $texture|0; - $sourceRec = $sourceRec|0; - $destRec = $destRec|0; - $origin = $origin|0; - $rotation = +$rotation; - $tint = $tint|0; - var $0 = 0, $1 = 0, $10 = 0.0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0.0, $2 = 0.0, $20 = 0, $21 = 0, $22 = 0.0, $23 = 0.0, $24 = 0, $25 = 0, $26 = 0.0; - var $27 = 0, $28 = 0, $29 = 0.0, $3 = 0, $30 = 0.0, $31 = 0, $32 = 0.0, $33 = 0, $34 = 0.0, $35 = 0.0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0.0, $41 = 0, $42 = 0.0, $43 = 0.0, $44 = 0; - var $45 = 0, $46 = 0.0, $47 = 0, $48 = 0, $49 = 0, $5 = 0.0, $50 = 0, $51 = 0.0, $52 = 0, $53 = 0.0, $54 = 0.0, $55 = 0, $56 = 0, $57 = 0, $58 = 0.0, $59 = 0, $6 = 0.0, $60 = 0.0, $61 = 0.0, $62 = 0; - var $63 = 0, $64 = 0.0, $65 = 0, $66 = 0.0, $67 = 0, $68 = 0, $69 = 0, $7 = 0.0, $70 = 0.0, $71 = 0, $72 = 0.0, $73 = 0.0, $74 = 0, $75 = 0.0, $76 = 0, $77 = 0.0, $78 = 0.0, $79 = 0, $8 = 0, $80 = 0.0; - var $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[$texture>>2]|0; - _rlEnableTexture($0); - _rlPushMatrix(); - $1 = HEAP32[$destRec>>2]|0; - $2 = (+($1|0)); - $3 = ((($destRec)) + 4|0); - $4 = HEAP32[$3>>2]|0; - $5 = (+($4|0)); - _rlTranslatef($2,$5,0.0); - _rlRotatef($rotation,0.0,0.0,1.0); - $6 = +HEAPF32[$origin>>2]; - $7 = -$6; - $8 = ((($origin)) + 4|0); - $9 = +HEAPF32[$8>>2]; - $10 = -$9; - _rlTranslatef($7,$10,0.0); - _rlBegin(2); - $11 = HEAP8[$tint>>0]|0; - $12 = ((($tint)) + 1|0); - $13 = HEAP8[$12>>0]|0; - $14 = ((($tint)) + 2|0); - $15 = HEAP8[$14>>0]|0; - $16 = ((($tint)) + 3|0); - $17 = HEAP8[$16>>0]|0; - _rlColor4ub($11,$13,$15,$17); - $18 = HEAP32[$sourceRec>>2]|0; - $19 = (+($18|0)); - $20 = ((($texture)) + 4|0); - $21 = HEAP32[$20>>2]|0; - $22 = (+($21|0)); - $23 = $19 / $22; - $24 = ((($sourceRec)) + 4|0); - $25 = HEAP32[$24>>2]|0; - $26 = (+($25|0)); - $27 = ((($texture)) + 8|0); - $28 = HEAP32[$27>>2]|0; - $29 = (+($28|0)); - $30 = $26 / $29; - _rlTexCoord2f($23,$30); - _rlVertex2f(0.0,0.0); - $31 = HEAP32[$sourceRec>>2]|0; - $32 = (+($31|0)); - $33 = HEAP32[$20>>2]|0; - $34 = (+($33|0)); - $35 = $32 / $34; - $36 = HEAP32[$24>>2]|0; - $37 = ((($sourceRec)) + 12|0); - $38 = HEAP32[$37>>2]|0; - $39 = (($38) + ($36))|0; - $40 = (+($39|0)); - $41 = HEAP32[$27>>2]|0; - $42 = (+($41|0)); - $43 = $40 / $42; - _rlTexCoord2f($35,$43); - $44 = ((($destRec)) + 12|0); - $45 = HEAP32[$44>>2]|0; - $46 = (+($45|0)); - _rlVertex2f(0.0,$46); - $47 = HEAP32[$sourceRec>>2]|0; - $48 = ((($sourceRec)) + 8|0); - $49 = HEAP32[$48>>2]|0; - $50 = (($49) + ($47))|0; - $51 = (+($50|0)); - $52 = HEAP32[$20>>2]|0; - $53 = (+($52|0)); - $54 = $51 / $53; - $55 = HEAP32[$24>>2]|0; - $56 = HEAP32[$37>>2]|0; - $57 = (($56) + ($55))|0; - $58 = (+($57|0)); - $59 = HEAP32[$27>>2]|0; - $60 = (+($59|0)); - $61 = $58 / $60; - _rlTexCoord2f($54,$61); - $62 = ((($destRec)) + 8|0); - $63 = HEAP32[$62>>2]|0; - $64 = (+($63|0)); - $65 = HEAP32[$44>>2]|0; - $66 = (+($65|0)); - _rlVertex2f($64,$66); - $67 = HEAP32[$sourceRec>>2]|0; - $68 = HEAP32[$48>>2]|0; - $69 = (($68) + ($67))|0; - $70 = (+($69|0)); - $71 = HEAP32[$20>>2]|0; - $72 = (+($71|0)); - $73 = $70 / $72; - $74 = HEAP32[$24>>2]|0; - $75 = (+($74|0)); - $76 = HEAP32[$27>>2]|0; - $77 = (+($76|0)); - $78 = $75 / $77; - _rlTexCoord2f($73,$78); - $79 = HEAP32[$62>>2]|0; - $80 = (+($79|0)); - _rlVertex2f($80,0.0); - _rlEnd(); - _rlPopMatrix(); - return; -} -function _DrawTextureRec($texture,$sourceRec,$position,$tint) { - $texture = $texture|0; - $sourceRec = $sourceRec|0; - $position = $position|0; - $tint = $tint|0; - var $0 = 0.0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0.0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $destRec = 0, $destRec$byval_copy = 0; - var $ispos = 0, $ispos1 = 0, $neg = 0, $neg2 = 0, $origin = 0, $sourceRec$byval_copy = 0, $texture$byval_copy = 0, $tint$byval_copy = 0, $tmpcast$byval_copy = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 96|0; - $tint$byval_copy = sp + 88|0; - $tmpcast$byval_copy = sp + 80|0; - $destRec$byval_copy = sp + 64|0; - $sourceRec$byval_copy = sp + 48|0; - $texture$byval_copy = sp + 24|0; - $destRec = sp + 8|0; - $origin = sp; - $0 = +HEAPF32[$position>>2]; - $1 = (~~(($0))); - HEAP32[$destRec>>2] = $1; - $2 = ((($destRec)) + 4|0); - $3 = ((($position)) + 4|0); - $4 = +HEAPF32[$3>>2]; - $5 = (~~(($4))); - HEAP32[$2>>2] = $5; - $6 = ((($destRec)) + 8|0); - $7 = ((($sourceRec)) + 8|0); - $8 = HEAP32[$7>>2]|0; - $ispos = ($8|0)>(-1); - $neg = (0 - ($8))|0; - $9 = $ispos ? $8 : $neg; - HEAP32[$6>>2] = $9; - $10 = ((($destRec)) + 12|0); - $11 = ((($sourceRec)) + 12|0); - $12 = HEAP32[$11>>2]|0; - $ispos1 = ($12|0)>(-1); - $neg2 = (0 - ($12))|0; - $13 = $ispos1 ? $12 : $neg2; - HEAP32[$10>>2] = $13; - $14 = $origin; - $15 = $14; - HEAP32[$15>>2] = 0; - $16 = (($14) + 4)|0; - $17 = $16; - HEAP32[$17>>2] = 0; - ;HEAP32[$texture$byval_copy>>2]=HEAP32[$texture>>2]|0;HEAP32[$texture$byval_copy+4>>2]=HEAP32[$texture+4>>2]|0;HEAP32[$texture$byval_copy+8>>2]=HEAP32[$texture+8>>2]|0;HEAP32[$texture$byval_copy+12>>2]=HEAP32[$texture+12>>2]|0;HEAP32[$texture$byval_copy+16>>2]=HEAP32[$texture+16>>2]|0; - ;HEAP32[$sourceRec$byval_copy>>2]=HEAP32[$sourceRec>>2]|0;HEAP32[$sourceRec$byval_copy+4>>2]=HEAP32[$sourceRec+4>>2]|0;HEAP32[$sourceRec$byval_copy+8>>2]=HEAP32[$sourceRec+8>>2]|0;HEAP32[$sourceRec$byval_copy+12>>2]=HEAP32[$sourceRec+12>>2]|0; - ;HEAP32[$destRec$byval_copy>>2]=HEAP32[$destRec>>2]|0;HEAP32[$destRec$byval_copy+4>>2]=HEAP32[$destRec+4>>2]|0;HEAP32[$destRec$byval_copy+8>>2]=HEAP32[$destRec+8>>2]|0;HEAP32[$destRec$byval_copy+12>>2]=HEAP32[$destRec+12>>2]|0; - ;HEAP32[$tmpcast$byval_copy>>2]=HEAP32[$origin>>2]|0;HEAP32[$tmpcast$byval_copy+4>>2]=HEAP32[$origin+4>>2]|0; - ;HEAP8[$tint$byval_copy>>0]=HEAP8[$tint>>0]|0;HEAP8[$tint$byval_copy+1>>0]=HEAP8[$tint+1>>0]|0;HEAP8[$tint$byval_copy+2>>0]=HEAP8[$tint+2>>0]|0;HEAP8[$tint$byval_copy+3>>0]=HEAP8[$tint+3>>0]|0; - _DrawTexturePro($texture$byval_copy,$sourceRec$byval_copy,$destRec$byval_copy,$tmpcast$byval_copy,0.0,$tint$byval_copy); - STACKTOP = sp;return; -} -function _LoadModel($agg$result,$fileName) { - $agg$result = $agg$result|0; - $fileName = $fileName|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $mesh = 0, $mesh$byval_copy = 0, $model = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 688|0; - $mesh$byval_copy = sp + 608|0; - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $model = sp + 392|0; - $mesh = sp + 312|0; - $0 = sp + 232|0; - $1 = sp + 16|0; - _memset(($model|0),0,216)|0; - dest=$mesh; stop=dest+80|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - $2 = (_GetExtension($fileName)|0); - $3 = (_strcmp($2,14940)|0); - $4 = ($3|0)==(0); - if ($4) { - _LoadOBJ($0,$fileName); - dest=$mesh; src=$0; stop=dest+80|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - } else { - HEAP32[$vararg_buffer>>2] = $fileName; - _TraceLog(2,14944,$vararg_buffer); - } - $5 = HEAP32[$mesh>>2]|0; - $6 = ($5|0)==(0); - if ($6) { - _TraceLog(2,15000,$vararg_buffer1); - _memcpy(($agg$result|0),($model|0),216)|0; - STACKTOP = sp;return; - } else { - dest=$mesh$byval_copy; src=$mesh; stop=dest+80|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _rlglLoadModel($1,$mesh$byval_copy); - _memcpy(($model|0),($1|0),216)|0; - _memcpy(($agg$result|0),($model|0),216)|0; - STACKTOP = sp;return; - } -} -function _UnloadModel($model) { - $model = $model|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; - var $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_ptr4 = 0, $vararg_ptr5 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $0 = (_rlGetVersion()|0); - $1 = ($0|0)==(1); - if ($1) { - $2 = ((($model)) + 4|0); - $3 = HEAP32[$2>>2]|0; - _free($3); - $4 = ((($model)) + 8|0); - $5 = HEAP32[$4>>2]|0; - _free($5); - $6 = ((($model)) + 16|0); - $7 = HEAP32[$6>>2]|0; - _free($7); - } - $8 = ((($model)) + 56|0); - $9 = HEAP32[$8>>2]|0; - _rlDeleteBuffers($9); - $10 = ((($model)) + 60|0); - $11 = HEAP32[$10>>2]|0; - _rlDeleteBuffers($11); - $12 = ((($model)) + 64|0); - $13 = HEAP32[$12>>2]|0; - _rlDeleteBuffers($13); - $14 = ((($model)) + 52|0); - $15 = HEAP32[$14>>2]|0; - _rlDeleteVertexArrays($15); - $16 = HEAP32[$14>>2]|0; - $17 = ($16|0)==(0); - if ($17) { - $18 = HEAP32[$8>>2]|0; - $19 = HEAP32[$10>>2]|0; - $20 = HEAP32[$12>>2]|0; - HEAP32[$vararg_buffer1>>2] = $18; - $vararg_ptr4 = ((($vararg_buffer1)) + 4|0); - HEAP32[$vararg_ptr4>>2] = $19; - $vararg_ptr5 = ((($vararg_buffer1)) + 8|0); - HEAP32[$vararg_ptr5>>2] = $20; - _TraceLog(0,15074,$vararg_buffer1); - STACKTOP = sp;return; - } else { - HEAP32[$vararg_buffer>>2] = $16; - _TraceLog(0,15026,$vararg_buffer); - STACKTOP = sp;return; - } -} -function _SetModelTexture($model,$texture) { - $model = $model|0; - $texture = $texture|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[$texture>>2]|0; - $1 = ($0|0)==(0); - if ($1) { - $2 = HEAP32[808>>2]|0; - $3 = ((($model)) + 144|0); - HEAP32[$3>>2] = $2; - $4 = HEAP32[808>>2]|0; - $5 = ((($model)) + 168|0); - HEAP32[$5>>2] = $4; - return; - } else { - $6 = ((($model)) + 144|0); - ;HEAP32[$6>>2]=HEAP32[$texture>>2]|0;HEAP32[$6+4>>2]=HEAP32[$texture+4>>2]|0;HEAP32[$6+8>>2]=HEAP32[$texture+8>>2]|0;HEAP32[$6+12>>2]=HEAP32[$texture+12>>2]|0;HEAP32[$6+16>>2]=HEAP32[$texture+16>>2]|0; - $7 = HEAP32[$texture>>2]|0; - $8 = ((($model)) + 168|0); - HEAP32[$8>>2] = $7; - return; - } -} -function _DrawModelEx($model,$position,$rotationAxis,$rotationAngle,$scale,$tint) { - $model = $model|0; - $position = $position|0; - $rotationAxis = $rotationAxis|0; - $rotationAngle = +$rotationAngle; - $scale = $scale|0; - $tint = $tint|0; - var $model$byval_copy = 0, $position$byval_copy = 0, $rotationAxis$byval_copy = 0, $scale$byval_copy = 0, $tint$byval_copy = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 256|0; - $tint$byval_copy = sp + 252|0; - $scale$byval_copy = sp + 240|0; - $rotationAxis$byval_copy = sp + 228|0; - $position$byval_copy = sp + 216|0; - $model$byval_copy = sp; - _memcpy(($model$byval_copy|0),($model|0),216)|0; - ;HEAP32[$position$byval_copy>>2]=HEAP32[$position>>2]|0;HEAP32[$position$byval_copy+4>>2]=HEAP32[$position+4>>2]|0;HEAP32[$position$byval_copy+8>>2]=HEAP32[$position+8>>2]|0; - ;HEAP32[$rotationAxis$byval_copy>>2]=HEAP32[$rotationAxis>>2]|0;HEAP32[$rotationAxis$byval_copy+4>>2]=HEAP32[$rotationAxis+4>>2]|0;HEAP32[$rotationAxis$byval_copy+8>>2]=HEAP32[$rotationAxis+8>>2]|0; - ;HEAP32[$scale$byval_copy>>2]=HEAP32[$scale>>2]|0;HEAP32[$scale$byval_copy+4>>2]=HEAP32[$scale+4>>2]|0;HEAP32[$scale$byval_copy+8>>2]=HEAP32[$scale+8>>2]|0; - ;HEAP8[$tint$byval_copy>>0]=HEAP8[$tint>>0]|0;HEAP8[$tint$byval_copy+1>>0]=HEAP8[$tint+1>>0]|0;HEAP8[$tint$byval_copy+2>>0]=HEAP8[$tint+2>>0]|0;HEAP8[$tint$byval_copy+3>>0]=HEAP8[$tint+3>>0]|0; - _rlglDrawModel($model$byval_copy,$position$byval_copy,$rotationAxis$byval_copy,$rotationAngle,$scale$byval_copy,$tint$byval_copy,0); - STACKTOP = sp;return; -} -function _InitAudioDevice() { - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $cond = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer3 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $vararg_buffer3 = sp + 16|0; - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $0 = (_alcOpenDevice((0|0))|0); - $1 = ($0|0)==(0|0); - if ($1) { - _TraceLog(1,15144,$vararg_buffer); - } - $2 = (_alcCreateContext(($0|0),(0|0))|0); - $cond = ($2|0)==(0|0); - if ($cond) { - label = 6; - } else { - $3 = (_alcMakeContextCurrent(($2|0))|0); - $4 = ($3<<24>>24)==(0); - if ($4) { - _alcDestroyContext(($2|0)); - label = 6; - } - } - if ((label|0) == 6) { - (_alcCloseDevice(($0|0))|0); - _TraceLog(1,15177,$vararg_buffer1); - } - $5 = (_alcGetString(($0|0),4101)|0); - HEAP32[$vararg_buffer3>>2] = $5; - _TraceLog(0,15207,$vararg_buffer3); - _alListener3f(4100,0.0,0.0,0.0); - _alListener3f(4102,0.0,0.0,0.0); - _alListener3f(4111,0.0,0.0,-1.0); - STACKTOP = sp;return; -} -function _CloseAudioDevice() { - var $0 = 0, $1 = 0, $2 = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $vararg_buffer = sp; - _StopMusicStream(); - $0 = (_alcGetCurrentContext()|0); - $1 = ($0|0)==(0|0); - if ($1) { - _TraceLog(2,15261,$vararg_buffer); - } - $2 = (_alcGetContextsDevice(($0|0))|0); - (_alcMakeContextCurrent((0|0))|0); - _alcDestroyContext(($0|0)); - (_alcCloseDevice(($2|0))|0); - STACKTOP = sp;return; -} -function _StopMusicStream() { - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[5740>>2]|0; - $1 = ($0|0)==(0); - if ($1) { - HEAP32[5740>>2] = 0; - return; - } - $2 = HEAP32[(5756)>>2]|0; - _alSourceStop(($2|0)); - _EmptyMusicStream(); - _alDeleteSources(1,((5756)|0)); - _alDeleteBuffers(2,((5748)|0)); - $3 = HEAP32[5744>>2]|0; - _stb_vorbis_close($3); - HEAP32[5740>>2] = 0; - return; -} -function _PlayMusicStream($fileName) { - $fileName = $fileName|0; - var $$ = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $info = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer13 = 0, $vararg_buffer5 = 0, $vararg_buffer9 = 0, $vararg_ptr12 = 0, $vararg_ptr4 = 0, $vararg_ptr8 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; - $vararg_buffer13 = sp + 32|0; - $vararg_buffer9 = sp + 24|0; - $vararg_buffer5 = sp + 16|0; - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $info = sp + 40|0; - $0 = (_GetExtension($fileName)|0); - $1 = (_strcmp($0,15309)|0); - $2 = ($1|0)==(0); - if (!($2)) { - HEAP32[$vararg_buffer13>>2] = $fileName; - _TraceLog(2,15430,$vararg_buffer13); - STACKTOP = sp;return; - } - _StopMusicStream(); - $3 = (_stb_vorbis_open_filename($fileName,0,0)|0); - HEAP32[5744>>2] = $3; - $4 = ($3|0)==(0|0); - if ($4) { - HEAP32[$vararg_buffer>>2] = $fileName; - _TraceLog(2,15313,$vararg_buffer); - STACKTOP = sp;return; - } else { - _stb_vorbis_get_info($info,$3); - $5 = ((($info)) + 4|0); - $6 = HEAP32[$5>>2]|0; - HEAP32[(5764)>>2] = $6; - $7 = HEAP32[$info>>2]|0; - HEAP32[(5768)>>2] = $7; - $8 = HEAP32[$info>>2]|0; - HEAP32[$vararg_buffer1>>2] = $fileName; - $vararg_ptr4 = ((($vararg_buffer1)) + 4|0); - HEAP32[$vararg_ptr4>>2] = $8; - _TraceLog(0,15353,$vararg_buffer1); - $9 = HEAP32[$5>>2]|0; - HEAP32[$vararg_buffer5>>2] = $fileName; - $vararg_ptr8 = ((($vararg_buffer5)) + 4|0); - HEAP32[$vararg_ptr8>>2] = $9; - _TraceLog(0,15378,$vararg_buffer5); - $10 = ((($info)) + 16|0); - $11 = HEAP32[$10>>2]|0; - HEAP32[$vararg_buffer9>>2] = $fileName; - $vararg_ptr12 = ((($vararg_buffer9)) + 4|0); - HEAP32[$vararg_ptr12>>2] = $11; - _TraceLog(3,15400,$vararg_buffer9); - $12 = HEAP32[$5>>2]|0; - $13 = ($12|0)==(2); - $$ = $13 ? 4355 : 4353; - HEAP32[(5760)>>2] = $$; - HEAP32[(5776)>>2] = 1; - HEAP32[5740>>2] = 1; - _alGenSources(1,((5756)|0)); - $14 = HEAP32[(5756)>>2]|0; - _alSourcef(($14|0),4099,1.0); - $15 = HEAP32[(5756)>>2]|0; - _alSourcef(($15|0),4106,1.0); - $16 = HEAP32[(5756)>>2]|0; - _alSource3f(($16|0),4100,0.0,0.0,0.0); - $17 = HEAP32[(5756)>>2]|0; - _alSource3f(($17|0),4102,0.0,0.0,0.0); - _alGenBuffers(2,((5748)|0)); - $18 = HEAP32[(5748)>>2]|0; - (_BufferMusicStream($18)|0); - $19 = HEAP32[(5752)>>2]|0; - (_BufferMusicStream($19)|0); - $20 = HEAP32[(5756)>>2]|0; - _alSourceQueueBuffers(($20|0),2,((5748)|0)); - $21 = HEAP32[(5756)>>2]|0; - _alSourcePlay(($21|0)); - $22 = HEAP32[5744>>2]|0; - $23 = (_stb_vorbis_stream_length_in_samples($22)|0); - $24 = HEAP32[(5764)>>2]|0; - $25 = Math_imul($24, $23)|0; - HEAP32[(5772)>>2] = $25; - STACKTOP = sp;return; - } -} -function _SetMusicVolume($volume) { - $volume = +$volume; - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[(5756)>>2]|0; - _alSourcef(($0|0),4106,(+$volume)); - return; -} -function _UpdateMusicStream() { - var $$lcssa = 0, $$pr = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; - var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $active$0$lcssa = 0, $active$1 = 0, $buffer = 0, $or$cond = 0, $or$cond3 = 0, $processed = 0, $state = 0, $vararg_buffer = 0, label = 0; - var sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $vararg_buffer = sp; - $buffer = sp + 12|0; - $processed = sp + 8|0; - $state = sp + 4|0; - HEAP32[$buffer>>2] = 0; - HEAP32[$processed>>2] = 0; - $0 = HEAP32[5740>>2]|0; - $1 = ($0|0)==(0); - if ($1) { - STACKTOP = sp;return; - } - $2 = HEAP32[(5756)>>2]|0; - _alGetSourcei(($2|0),4118,($processed|0)); - $$pr = HEAP32[$processed>>2]|0; - $3 = ($$pr|0)>(0); - $4 = HEAP32[(5756)>>2]|0; - if ($3) { - $5 = $4; - while(1) { - _alSourceUnqueueBuffers(($5|0),1,($buffer|0)); - $6 = HEAP32[$buffer>>2]|0; - $7 = (_BufferMusicStream($6)|0); - $8 = ($7|0)==(0); - $9 = HEAP32[(5776)>>2]|0; - $10 = ($9|0)!=(0); - $or$cond = $8 & $10; - if ($or$cond) { - $11 = HEAP32[5744>>2]|0; - _stb_vorbis_seek_start($11); - $12 = HEAP32[5744>>2]|0; - $13 = (_stb_vorbis_stream_length_in_samples($12)|0); - $14 = HEAP32[(5764)>>2]|0; - $15 = Math_imul($14, $13)|0; - HEAP32[(5772)>>2] = $15; - $16 = HEAP32[$buffer>>2]|0; - $17 = (_BufferMusicStream($16)|0); - $active$1 = $17; - } else { - $active$1 = $7; - } - $18 = HEAP32[(5756)>>2]|0; - _alSourceQueueBuffers(($18|0),1,($buffer|0)); - $19 = (_alGetError()|0); - $20 = ($19|0)==(0); - if (!($20)) { - _TraceLog(2,15486,$vararg_buffer); - } - $21 = HEAP32[$processed>>2]|0; - $22 = (($21) + -1)|0; - HEAP32[$processed>>2] = $22; - $23 = ($21|0)>(1); - $24 = HEAP32[(5756)>>2]|0; - if ($23) { - $5 = $24; - } else { - $$lcssa = $24;$active$0$lcssa = $active$1; - break; - } - } - } else { - $$lcssa = $4;$active$0$lcssa = 1; - } - _alGetSourcei(($$lcssa|0),4112,($state|0)); - $25 = HEAP32[$state>>2]|0; - $26 = ($25|0)!=(4114); - $27 = ($active$0$lcssa|0)!=(0); - $or$cond3 = $27 & $26; - if ($or$cond3) { - $28 = HEAP32[(5756)>>2]|0; - _alSourcePlay(($28|0)); - } - if ($27) { - STACKTOP = sp;return; - } - _StopMusicStream(); - STACKTOP = sp;return; -} -function _stb_vorbis_close($p) { - $p = $p|0; - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ($p|0)==(0|0); - if ($0) { - return; - } - _vorbis_deinit($p); - _setup_free($p,$p); - return; -} -function _stb_vorbis_get_info($agg$result,$f) { - $agg$result = $agg$result|0; - $f = $f|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($f)) + 4|0); - $1 = HEAP32[$0>>2]|0; - $2 = HEAP32[$f>>2]|0; - $3 = ((($f)) + 8|0); - $4 = HEAP32[$3>>2]|0; - $5 = ((($f)) + 16|0); - $6 = HEAP32[$5>>2]|0; - $7 = ((($f)) + 12|0); - $8 = HEAP32[$7>>2]|0; - $9 = ((($f)) + 116|0); - $10 = HEAP32[$9>>2]|0; - $11 = $10 >> 1; - HEAP32[$agg$result>>2] = $2; - $12 = ((($agg$result)) + 4|0); - HEAP32[$12>>2] = $1; - $13 = ((($agg$result)) + 8|0); - HEAP32[$13>>2] = $4; - $14 = ((($agg$result)) + 12|0); - HEAP32[$14>>2] = $6; - $15 = ((($agg$result)) + 16|0); - HEAP32[$15>>2] = $8; - $16 = ((($agg$result)) + 20|0); - HEAP32[$16>>2] = $11; - return; -} -function _stb_vorbis_get_file_offset($f) { - $f = $f|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($f)) + 48|0); - $1 = HEAP8[$0>>0]|0; - $2 = ($1<<24>>24)==(0); - if (!($2)) { - $$0 = 0; - return ($$0|0); - } - $3 = ((($f)) + 32|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)==(0|0); - if ($5) { - $11 = ((($f)) + 20|0); - $12 = HEAP32[$11>>2]|0; - $13 = (_ftell($12)|0); - $14 = ((($f)) + 24|0); - $15 = HEAP32[$14>>2]|0; - $16 = (($13) - ($15))|0; - $$0 = $16; - return ($$0|0); - } else { - $6 = ((($f)) + 36|0); - $7 = HEAP32[$6>>2]|0; - $8 = $4; - $9 = $7; - $10 = (($8) - ($9))|0; - $$0 = $10; - return ($$0|0); - } - return (0)|0; -} -function _stb_vorbis_get_frame_float($f,$channels,$output) { - $f = $f|0; - $channels = $channels|0; - $output = $output|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i$01 = 0, $left = 0, $len = 0, $right = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $len = sp + 8|0; - $right = sp + 4|0; - $left = sp; - $0 = ((($f)) + 48|0); - $1 = HEAP8[$0>>0]|0; - $2 = ($1<<24>>24)==(0); - if (!($2)) { - _error($f,2); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $3 = (_vorbis_decode_packet($f,$len,$left,$right)|0); - $4 = ($3|0)==(0); - if ($4) { - $5 = ((($f)) + 1508|0); - HEAP32[$5>>2] = 0; - $6 = ((($f)) + 1504|0); - HEAP32[$6>>2] = 0; - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $7 = HEAP32[$len>>2]|0; - $8 = HEAP32[$left>>2]|0; - $9 = HEAP32[$right>>2]|0; - $10 = (_vorbis_finish_frame($f,$7,$8,$9)|0); - HEAP32[$len>>2] = $10; - $11 = ((($f)) + 4|0); - $12 = HEAP32[$11>>2]|0; - $13 = ($12|0)>(0); - if ($13) { - $14 = HEAP32[$left>>2]|0; - $i$01 = 0; - while(1) { - $15 = (((($f)) + 800|0) + ($i$01<<2)|0); - $16 = HEAP32[$15>>2]|0; - $17 = (($16) + ($14<<2)|0); - $18 = (((($f)) + 864|0) + ($i$01<<2)|0); - HEAP32[$18>>2] = $17; - $19 = (($i$01) + 1)|0; - $20 = HEAP32[$11>>2]|0; - $21 = ($19|0)<($20|0); - if ($21) { - $i$01 = $19; - } else { - break; - } - } - } - $22 = HEAP32[$left>>2]|0; - $23 = ((($f)) + 1504|0); - HEAP32[$23>>2] = $22; - $24 = HEAP32[$left>>2]|0; - $25 = HEAP32[$len>>2]|0; - $26 = (($25) + ($24))|0; - $27 = ((($f)) + 1508|0); - HEAP32[$27>>2] = $26; - $28 = ($channels|0)==(0|0); - if (!($28)) { - $29 = HEAP32[$11>>2]|0; - HEAP32[$channels>>2] = $29; - } - $30 = ($output|0)==(0|0); - if (!($30)) { - $31 = ((($f)) + 864|0); - HEAP32[$output>>2] = $31; - } - $32 = HEAP32[$len>>2]|0; - $$0 = $32; - STACKTOP = sp;return ($$0|0); -} -function _stb_vorbis_seek_start($f) { - $f = $f|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($f)) + 48|0); - $1 = HEAP8[$0>>0]|0; - $2 = ($1<<24>>24)==(0); - if ($2) { - $3 = ((($f)) + 52|0); - $4 = HEAP32[$3>>2]|0; - _set_file_offset($f,$4); - $5 = ((($f)) + 992|0); - HEAP32[$5>>2] = 0; - $6 = ((($f)) + 1377|0); - HEAP8[$6>>0] = 1; - $7 = ((($f)) + 1380|0); - HEAP32[$7>>2] = -1; - _vorbis_pump_first_frame($f); - return; - } else { - _error($f,2); - return; - } -} -function _stb_vorbis_stream_length_in_samples($f) { - $f = $f|0; - var $$ = 0, $$0 = 0, $$2 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; - var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $5 = 0, $6 = 0; - var $7 = 0, $8 = 0, $9 = 0, $end = 0, $header = 0, $last = 0, $last_page_loc$0$lcssa = 0, $last_page_loc$03 = 0, $previous_safe$0 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $end = sp + 4|0; - $last = sp; - $header = sp + 8|0; - $0 = ((($f)) + 48|0); - $1 = HEAP8[$0>>0]|0; - $2 = ($1<<24>>24)==(0); - if (!($2)) { - _error($f,2); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $3 = ((($f)) + 796|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)==(0); - if ($5) { - $6 = (_stb_vorbis_get_file_offset($f)|0); - $7 = ((($f)) + 44|0); - $8 = HEAP32[$7>>2]|0; - $9 = ($8>>>0)>(65535); - if ($9) { - $10 = (($8) + -65536)|0; - $11 = ((($f)) + 52|0); - $12 = HEAP32[$11>>2]|0; - $13 = ($10>>>0)<($12>>>0); - if ($13) { - label = 6; - } else { - $previous_safe$0 = $10; - } - } else { - label = 6; - } - if ((label|0) == 6) { - $14 = ((($f)) + 52|0); - $15 = HEAP32[$14>>2]|0; - $previous_safe$0 = $15; - } - _set_file_offset($f,$previous_safe$0); - $16 = (_vorbis_find_page($f,$end,$last)|0); - $17 = ($16|0)==(0); - do { - if ($17) { - $18 = ((($f)) + 100|0); - HEAP32[$18>>2] = 36; - HEAP32[$3>>2] = -1; - } else { - $19 = (_stb_vorbis_get_file_offset($f)|0); - $20 = HEAP32[$last>>2]|0; - $21 = ($20|0)==(0); - L15: do { - if ($21) { - $last_page_loc$03 = $19; - while(1) { - $22 = HEAP32[$end>>2]|0; - _set_file_offset($f,$22); - $23 = (_vorbis_find_page($f,$end,$last)|0); - $24 = ($23|0)==(0); - if ($24) { - $last_page_loc$0$lcssa = $last_page_loc$03; - break L15; - } - $25 = (_stb_vorbis_get_file_offset($f)|0); - $26 = HEAP32[$last>>2]|0; - $27 = ($26|0)==(0); - if ($27) { - $last_page_loc$03 = $25; - } else { - $last_page_loc$0$lcssa = $25; - break; - } - } - } else { - $last_page_loc$0$lcssa = $19; - } - } while(0); - _set_file_offset($f,$last_page_loc$0$lcssa); - (_getn($f,$header,6)|0); - $28 = (_get32($f)|0); - $29 = (_get32($f)|0); - $30 = $29 & $28; - $31 = ($30|0)==(-1); - if ($31) { - $32 = ((($f)) + 100|0); - HEAP32[$32>>2] = 36; - HEAP32[$3>>2] = -1; - break; - } else { - $33 = ($29|0)==(0); - $$ = $33 ? $28 : -2; - HEAP32[$3>>2] = $$; - $34 = ((($f)) + 68|0); - HEAP32[$34>>2] = $last_page_loc$0$lcssa; - $35 = HEAP32[$end>>2]|0; - $36 = ((($f)) + 72|0); - HEAP32[$36>>2] = $35; - $37 = ((($f)) + 76|0); - HEAP32[$37>>2] = $$; - break; - } - } - } while(0); - _set_file_offset($f,$6); - } - $38 = HEAP32[$3>>2]|0; - $39 = ($38|0)==(-1); - $$2 = $39 ? 0 : $38; - $$0 = $$2; - STACKTOP = sp;return ($$0|0); -} -function _stb_vorbis_open_file_section($file,$close_on_free,$error,$alloc,$length) { - $file = $file|0; - $close_on_free = $close_on_free|0; - $error = $error|0; - $alloc = $alloc|0; - $length = $length|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $p = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 1520|0; - $p = sp; - _vorbis_init($p,$alloc); - $0 = ((($p)) + 20|0); - HEAP32[$0>>2] = $file; - $1 = (_ftell($file)|0); - $2 = ((($p)) + 24|0); - HEAP32[$2>>2] = $1; - $3 = ((($p)) + 44|0); - HEAP32[$3>>2] = $length; - $4 = ((($p)) + 28|0); - HEAP32[$4>>2] = $close_on_free; - $5 = (_start_decoder($p)|0); - $6 = ($5|0)==(0); - if (!($6)) { - $7 = (_vorbis_alloc($p)|0); - $8 = ($7|0)==(0|0); - if (!($8)) { - _memcpy(($7|0),($p|0),1512)|0; - _vorbis_pump_first_frame($7); - $$0 = $7; - STACKTOP = sp;return ($$0|0); - } - } - $9 = ($error|0)==(0|0); - if (!($9)) { - $10 = ((($p)) + 100|0); - $11 = HEAP32[$10>>2]|0; - HEAP32[$error>>2] = $11; - } - _vorbis_deinit($p); - $$0 = 0; - STACKTOP = sp;return ($$0|0); -} -function _stb_vorbis_open_file($file,$close_on_free,$error,$alloc) { - $file = $file|0; - $close_on_free = $close_on_free|0; - $error = $error|0; - $alloc = $alloc|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_ftell($file)|0); - (_fseek($file,0,2)|0); - $1 = (_ftell($file)|0); - $2 = (($1) - ($0))|0; - (_fseek($file,$0,0)|0); - $3 = (_stb_vorbis_open_file_section($file,$close_on_free,$error,$alloc,$2)|0); - return ($3|0); -} -function _stb_vorbis_open_filename($filename,$error,$alloc) { - $filename = $filename|0; - $error = $error|0; - $alloc = $alloc|0; - var $$0 = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_fopen($filename,20392)|0); - $1 = ($0|0)==(0|0); - if (!($1)) { - $2 = (_stb_vorbis_open_file($0,1,$error,$alloc)|0); - $$0 = $2; - return ($$0|0); - } - $3 = ($error|0)==(0|0); - if ($3) { - $$0 = 0; - return ($$0|0); - } - HEAP32[$error>>2] = 6; - $$0 = 0; - return ($$0|0); -} -function _stb_vorbis_get_samples_short_interleaved($f,$channels,$buffer,$num_shorts) { - $f = $f|0; - $channels = $channels|0; - $buffer = $buffer|0; - $num_shorts = $num_shorts|0; - var $$ = 0, $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0; - var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $n$0 = 0, $n$1 = 0, $outputs = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $outputs = sp; - $0 = (($num_shorts|0) / ($channels|0))&-1; - $1 = ((($f)) + 4|0); - $2 = ((($f)) + 1508|0); - $3 = ((($f)) + 1504|0); - $4 = ((($f)) + 800|0); - $$0 = $buffer;$n$0 = 0; - while(1) { - $5 = ($0|0)>($n$0|0); - if (!($5)) { - $n$1 = $n$0; - label = 7; - break; - } - $6 = HEAP32[$2>>2]|0; - $7 = HEAP32[$3>>2]|0; - $8 = (($6) - ($7))|0; - $9 = (($8) + ($n$0))|0; - $10 = ($9|0)<($0|0); - $11 = (($0) - ($n$0))|0; - $$ = $10 ? $8 : $11; - $12 = ($$|0)==(0); - if (!($12)) { - $13 = HEAP32[$1>>2]|0; - _convert_channels_short_interleaved($channels,$$0,$13,$4,$7,$$); - } - $14 = (($$) + ($n$0))|0; - $15 = HEAP32[$3>>2]|0; - $16 = (($15) + ($$))|0; - HEAP32[$3>>2] = $16; - $17 = ($14|0)==($0|0); - if ($17) { - $n$1 = $14; - label = 7; - break; - } - $18 = Math_imul($$, $channels)|0; - $19 = (($$0) + ($18<<1)|0); - $20 = (_stb_vorbis_get_frame_float($f,0,$outputs)|0); - $21 = ($20|0)==(0); - if ($21) { - $n$1 = $14; - label = 7; - break; - } else { - $$0 = $19;$n$0 = $14; - } - } - if ((label|0) == 7) { - STACKTOP = sp;return ($n$1|0); - } - return (0)|0; -} -function _TraceLog($msgType,$text,$varargs) { - $msgType = $msgType|0; - $text = $text|0; - $varargs = $varargs|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $args = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $args = sp; - switch ($msgType|0) { - case 0: { - $0 = HEAP32[8900>>2]|0; - (_fwrite(15536,6,1,$0)|0); - break; - } - case 1: { - $1 = HEAP32[8900>>2]|0; - (_fwrite(15543,7,1,$1)|0); - break; - } - case 2: { - $2 = HEAP32[8900>>2]|0; - (_fwrite(15551,9,1,$2)|0); - break; - } - case 3: { - STACKTOP = sp;return; - break; - } - default: { - } - } - HEAP32[$args>>2] = $varargs; - $3 = HEAP32[8900>>2]|0; - (_vfprintf($3,$text,$args)|0); - $4 = HEAP32[8900>>2]|0; - (_fputc(10,$4)|0); - $5 = ($msgType|0)==(1); - if ($5) { - _exit(1); - // unreachable; - } else { - STACKTOP = sp;return; - } -} -function _GetExtension($fileName) { - $fileName = $fileName|0; - var $$0 = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $or$cond = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_strrchr($fileName,46)|0); - $1 = ($0|0)==(0|0); - $2 = ($0|0)==($fileName|0); - $or$cond = $1 | $2; - $3 = ((($0)) + 1|0); - $$0 = $or$cond ? 17818 : $3; - return ($$0|0); -} -function _ProcessGestureEvent($event) { - $event = $event|0; - var $0 = 0, $1 = 0, $10 = 0, $100 = 0.0, $101 = 0.0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0.0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0.0, $126 = 0.0, $127 = 0.0, $128 = 0.0, $129 = 0.0, $13 = 0, $130 = 0.0, $131 = 0.0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; - var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0.0, $175 = 0.0, $176 = 0.0, $177 = 0.0, $178 = 0.0, $179 = 0.0, $18 = 0, $180 = 0.0, $181 = 0, $182 = 0.0, $183 = 0, $184 = 0.0, $185 = 0.0, $186 = 0.0, $187 = 0, $188 = 0.0; - var $189 = 0.0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0; - var $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0.0, $53 = 0.0; - var $54 = 0, $55 = 0, $56 = 0, $57 = 0.0, $58 = 0.0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0; - var $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0; - var $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0.0, $95 = 0, $96 = 0.0, $97 = 0.0, $98 = 0.0, $99 = 0.0, $moveDownPosition$byval_copy11 = 0, $moveDownPosition2$byval_copy12 = 0, $or$cond = 0, $or$cond11 = 0, $or$cond3 = 0, $or$cond5 = 0, $or$cond7 = 0, $or$cond9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $moveDownPosition2$byval_copy12 = sp + 8|0; - $moveDownPosition$byval_copy11 = sp; - $0 = ((($event)) + 4|0); - $1 = HEAP32[$0>>2]|0; - HEAP32[5780>>2] = $1; - $2 = ($1|0)<(2); - if (!($2)) { - $102 = HEAP32[$event>>2]|0; - switch ($102|0) { - case 1: { - $103 = ((($event)) + 16|0); - $104 = $103; - $105 = $104; - $106 = HEAP32[$105>>2]|0; - $107 = (($104) + 4)|0; - $108 = $107; - $109 = HEAP32[$108>>2]|0; - $110 = 80; - $111 = $110; - HEAP32[$111>>2] = $106; - $112 = (($110) + 4)|0; - $113 = $112; - HEAP32[$113>>2] = $109; - $114 = ((($event)) + 24|0); - $115 = $114; - $116 = $115; - $117 = HEAP32[$116>>2]|0; - $118 = (($115) + 4)|0; - $119 = $118; - $120 = HEAP32[$119>>2]|0; - $121 = 120; - $122 = $121; - HEAP32[$122>>2] = $117; - $123 = (($121) + 4)|0; - $124 = $123; - HEAP32[$124>>2] = $120; - $125 = +HEAPF32[120>>2]; - $126 = +HEAPF32[80>>2]; - $127 = $125 - $126; - HEAPF32[128>>2] = $127; - $128 = +HEAPF32[(124)>>2]; - $129 = +HEAPF32[(84)>>2]; - $130 = $128 - $129; - HEAPF32[(132)>>2] = $130; - HEAP32[5792>>2] = 4; - STACKTOP = sp;return; - break; - } - case 2: { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[112>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[112+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[136>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[136+4>>2]|0; - $131 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - HEAPF32[5812>>2] = $131; - $132 = 112; - $133 = $132; - $134 = HEAP32[$133>>2]|0; - $135 = (($132) + 4)|0; - $136 = $135; - $137 = HEAP32[$136>>2]|0; - $138 = 80; - $139 = $138; - HEAP32[$139>>2] = $134; - $140 = (($138) + 4)|0; - $141 = $140; - HEAP32[$141>>2] = $137; - $142 = 136; - $143 = $142; - $144 = HEAP32[$143>>2]|0; - $145 = (($142) + 4)|0; - $146 = $145; - $147 = HEAP32[$146>>2]|0; - $148 = 120; - $149 = $148; - HEAP32[$149>>2] = $144; - $150 = (($148) + 4)|0; - $151 = $150; - HEAP32[$151>>2] = $147; - $152 = ((($event)) + 16|0); - $153 = $152; - $154 = $153; - $155 = HEAP32[$154>>2]|0; - $156 = (($153) + 4)|0; - $157 = $156; - $158 = HEAP32[$157>>2]|0; - $159 = 112; - $160 = $159; - HEAP32[$160>>2] = $155; - $161 = (($159) + 4)|0; - $162 = $161; - HEAP32[$162>>2] = $158; - $163 = ((($event)) + 24|0); - $164 = $163; - $165 = $164; - $166 = HEAP32[$165>>2]|0; - $167 = (($164) + 4)|0; - $168 = $167; - $169 = HEAP32[$168>>2]|0; - $170 = 136; - $171 = $170; - HEAP32[$171>>2] = $166; - $172 = (($170) + 4)|0; - $173 = $172; - HEAP32[$173>>2] = $169; - $174 = +HEAPF32[136>>2]; - $175 = +HEAPF32[112>>2]; - $176 = $174 - $175; - HEAPF32[128>>2] = $176; - $177 = +HEAPF32[(140)>>2]; - $178 = +HEAPF32[(116)>>2]; - $179 = $177 - $178; - HEAPF32[(132)>>2] = $179; - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[80>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[80+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[112>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[112+4>>2]|0; - $180 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - $181 = !($180 >= 0.004999999888241291); - if ($181) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[120>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[120+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[136>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[136+4>>2]|0; - $182 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - $183 = !($182 >= 0.004999999888241291); - if ($183) { - HEAP32[5792>>2] = 4; - } else { - label = 34; - } - } else { - label = 34; - } - do { - if ((label|0) == 34) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[112>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[112+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[136>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[136+4>>2]|0; - $184 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - $185 = +HEAPF32[5812>>2]; - $186 = $184 - $185; - $187 = $186 < 0.0; - if ($187) { - HEAP32[5792>>2] = 256; - break; - } else { - HEAP32[5792>>2] = 512; - break; - } - } - } while(0); - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[112>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[112+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[136>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[136+4>>2]|0; - $188 = (+_Vector2Angle($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - $189 = 360.0 - $188; - HEAPF32[5816>>2] = $189; - STACKTOP = sp;return; - break; - } - case 0: { - HEAPF32[5812>>2] = 0.0; - HEAPF32[5816>>2] = 0.0; - HEAPF32[128>>2] = 0.0; - HEAPF32[(132)>>2] = 0.0; - HEAP32[5792>>2] = 0; - STACKTOP = sp;return; - break; - } - default: { - STACKTOP = sp;return; - } - } - } - $3 = ((($event)) + 8|0); - $4 = HEAP32[$3>>2]|0; - HEAP32[5784>>2] = $4; - $5 = HEAP32[$event>>2]|0; - switch ($5|0) { - case 1: { - $6 = HEAP32[5788>>2]|0; - $7 = (($6) + 1)|0; - HEAP32[5788>>2] = $7; - $8 = HEAP32[5792>>2]|0; - $9 = ($8|0)==(0); - $10 = ($6|0)>(0); - $or$cond = $10 & $9; - if ($or$cond) { - $11 = ((($event)) + 16|0); - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[80>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[80+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[$11>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[$11+4>>2]|0; - $12 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - $13 = $12 < 0.029999999329447746; - if ($13) { - HEAP32[5792>>2] = 2; - HEAP32[5788>>2] = 0; - } else { - label = 6; - } - } else { - label = 6; - } - if ((label|0) == 6) { - HEAP32[5788>>2] = 1; - HEAP32[5792>>2] = 1; - } - $14 = ((($event)) + 16|0); - $15 = $14; - $16 = $15; - $17 = HEAP32[$16>>2]|0; - $18 = (($15) + 4)|0; - $19 = $18; - $20 = HEAP32[$19>>2]|0; - $21 = 80; - $22 = $21; - HEAP32[$22>>2] = $17; - $23 = (($21) + 4)|0; - $24 = $23; - HEAP32[$24>>2] = $20; - $25 = $14; - $26 = $25; - $27 = HEAP32[$26>>2]|0; - $28 = (($25) + 4)|0; - $29 = $28; - $30 = HEAP32[$29>>2]|0; - $31 = 88; - $32 = $31; - HEAP32[$32>>2] = $27; - $33 = (($31) + 4)|0; - $34 = $33; - HEAP32[$34>>2] = $30; - $35 = 96; - $36 = $35; - HEAP32[$36>>2] = $17; - $37 = (($35) + 4)|0; - $38 = $37; - HEAP32[$38>>2] = $20; - HEAPF32[104>>2] = 0.0; - HEAPF32[(108)>>2] = 0.0; - STACKTOP = sp;return; - break; - } - case 0: { - $39 = HEAP32[5792>>2]|0; - $40 = ($39|0)==(8); - if ($40) { - $41 = ((($event)) + 16|0); - $42 = $41; - $43 = $42; - $44 = HEAP32[$43>>2]|0; - $45 = (($42) + 4)|0; - $46 = $45; - $47 = HEAP32[$46>>2]|0; - $48 = 96; - $49 = $48; - HEAP32[$49>>2] = $44; - $50 = (($48) + 4)|0; - $51 = $50; - HEAP32[$51>>2] = $47; - } - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[80>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[80+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[96>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[96+4>>2]|0; - $52 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - $53 = $52 / 0.0; - HEAPF32[5796>>2] = $53; - HEAP32[5800>>2] = 0; - $54 = $53 > 5.0000002374872565E-4; - $55 = HEAP32[5784>>2]|0; - $56 = ($55|0)==(0); - $or$cond3 = $54 & $56; - do { - if ($or$cond3) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[80>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[80+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[96>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[96+4>>2]|0; - $57 = (+_Vector2Angle($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - $58 = 360.0 - $57; - HEAPF32[5804>>2] = $58; - $59 = $58 < 30.0; - $60 = $58 > 330.0; - $or$cond5 = $59 | $60; - if ($or$cond5) { - HEAP32[5792>>2] = 16; - break; - } - $61 = $58 > 30.0; - $62 = $58 < 120.0; - $or$cond7 = $61 & $62; - if ($or$cond7) { - HEAP32[5792>>2] = 64; - break; - } - $63 = $58 > 120.0; - $64 = $58 < 210.0; - $or$cond9 = $63 & $64; - if ($or$cond9) { - HEAP32[5792>>2] = 32; - break; - } - $65 = $58 > 210.0; - $66 = $58 < 300.0; - $or$cond11 = $65 & $66; - if ($or$cond11) { - HEAP32[5792>>2] = 128; - break; - } else { - HEAP32[5792>>2] = 0; - break; - } - } else { - HEAPF32[5796>>2] = 0.0; - HEAPF32[5804>>2] = 0.0; - HEAP32[5792>>2] = 0; - } - } while(0); - HEAPF32[88>>2] = 0.0; - HEAPF32[(92)>>2] = 0.0; - STACKTOP = sp;return; - break; - } - case 2: { - $67 = HEAP32[5800>>2]|0; - $68 = ($67|0)==(0); - if ($68) { - HEAP32[5800>>2] = 1; - } - $69 = ((($event)) + 16|0); - $70 = $69; - $71 = $70; - $72 = HEAP32[$71>>2]|0; - $73 = (($70) + 4)|0; - $74 = $73; - $75 = HEAP32[$74>>2]|0; - $76 = 112; - $77 = $76; - HEAP32[$77>>2] = $72; - $78 = (($76) + 4)|0; - $79 = $78; - HEAP32[$79>>2] = $75; - $80 = HEAP32[5792>>2]|0; - $81 = ($80|0)==(4); - if ($81) { - $82 = HEAP32[5808>>2]|0; - $83 = ($82|0)==(1); - if ($83) { - $84 = $69; - $85 = $84; - $86 = HEAP32[$85>>2]|0; - $87 = (($84) + 4)|0; - $88 = $87; - $89 = HEAP32[$88>>2]|0; - $90 = 80; - $91 = $90; - HEAP32[$91>>2] = $86; - $92 = (($90) + 4)|0; - $93 = $92; - HEAP32[$93>>2] = $89; - } - HEAP32[5808>>2] = 2; - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[80>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[80+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[112>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[112+4>>2]|0; - $94 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - $95 = !($94 >= 0.014999999664723873); - if (!($95)) { - HEAP32[5792>>2] = 8; - } - } - $96 = +HEAPF32[112>>2]; - $97 = +HEAPF32[88>>2]; - $98 = $96 - $97; - HEAPF32[104>>2] = $98; - $99 = +HEAPF32[(116)>>2]; - $100 = +HEAPF32[(92)>>2]; - $101 = $99 - $100; - HEAPF32[(108)>>2] = $101; - STACKTOP = sp;return; - break; - } - default: { - STACKTOP = sp;return; - } - } -} -function _UpdateGestures() { - var $$off = 0, $$pr = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $or$cond3 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[5792>>2]|0; - $$off = (($0) + -1)|0; - $1 = ($$off>>>0)<(2); - $2 = HEAP32[5780>>2]|0; - $3 = ($2|0)<(2); - $or$cond3 = $1 & $3; - if ($or$cond3) { - HEAP32[5792>>2] = 4; - return; - } - $$pr = HEAP32[5792>>2]|0; - switch ($$pr|0) { - case 16: case 32: case 64: case 128: { - break; - } - default: { - return; - } - } - HEAP32[5792>>2] = 0; - return; -} -function _InitDisplay($width,$height) { - $width = $width|0; - $height = $height|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $count = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer14 = 0, $vararg_buffer18 = 0, $vararg_buffer3 = 0, $vararg_buffer5 = 0, $vararg_buffer7 = 0, $vararg_ptr13 = 0, $vararg_ptr17 = 0, $vararg_ptr9 = 0, dest = 0, label = 0; - var sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 128|0; - $vararg_buffer18 = sp + 56|0; - $vararg_buffer14 = sp + 48|0; - $vararg_buffer10 = sp + 40|0; - $vararg_buffer7 = sp + 32|0; - $vararg_buffer5 = sp + 24|0; - $vararg_buffer3 = sp + 16|0; - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $0 = sp + 64|0; - $count = sp + 60|0; - HEAP32[816>>2] = $width; - HEAP32[820>>2] = $height; - _MatrixIdentity($0); - dest=840; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - (_glfwSetErrorCallback((2|0))|0); - $1 = (_glfwInit()|0); - $2 = ($1|0)==(0); - if ($2) { - _TraceLog(1,23369,$vararg_buffer); - } - $3 = HEAP32[816>>2]|0; - HEAP32[980>>2] = $3; - $4 = HEAP32[820>>2]|0; - HEAP32[984>>2] = $4; - _glfwDefaultWindowHints(); - _glfwWindowHint(131075,0); - $5 = (_rlGetVersion()|0); - $6 = ($5|0)==(2); - if ($6) { - $7 = HEAP8[10887>>0]|0; - $8 = $7 & 16; - $9 = ($8<<24>>24)==(0); - if (!($9)) { - _glfwWindowHint(135181,4); - _TraceLog(0,23395,$vararg_buffer1); - } - _glfwWindowHint(139266,3); - _glfwWindowHint(139267,3); - _glfwWindowHint(139272,204801); - _glfwWindowHint(139270,0); - } - $10 = HEAP32[968>>2]|0; - $11 = ($10|0)==(0); - if ($11) { - $20 = HEAP32[816>>2]|0; - $21 = HEAP32[820>>2]|0; - $22 = HEAP32[812>>2]|0; - $23 = (_glfwCreateWindow(($20|0),($21|0),($22|0),(0|0),(0|0))|0); - HEAP32[828>>2] = $23; - $24 = HEAP32[816>>2]|0; - HEAP32[996>>2] = $24; - $25 = HEAP32[820>>2]|0; - HEAP32[1000>>2] = $25; - $26 = $23; - } else { - $12 = HEAP32[980>>2]|0; - $13 = HEAP32[984>>2]|0; - _SetupFramebufferSize($12,$13); - $14 = (_glfwGetPrimaryMonitor()|0); - (_glfwGetVideoModes(($14|0),($count|0))|0); - $15 = HEAP32[816>>2]|0; - $16 = HEAP32[820>>2]|0; - $17 = HEAP32[812>>2]|0; - $18 = (_glfwGetPrimaryMonitor()|0); - $19 = (_glfwCreateWindow(($15|0),($16|0),($17|0),($18|0),(0|0))|0); - HEAP32[828>>2] = $19; - $26 = $19; - } - $27 = ($26|0)==(0|0); - if ($27) { - _glfwTerminate(); - _TraceLog(1,23420,$vararg_buffer3); - } else { - _TraceLog(0,23453,$vararg_buffer5); - $28 = HEAP32[996>>2]|0; - $29 = HEAP32[1000>>2]|0; - HEAP32[$vararg_buffer7>>2] = $28; - $vararg_ptr9 = ((($vararg_buffer7)) + 4|0); - HEAP32[$vararg_ptr9>>2] = $29; - _TraceLog(0,23493,$vararg_buffer7); - $30 = HEAP32[816>>2]|0; - $31 = HEAP32[820>>2]|0; - HEAP32[$vararg_buffer10>>2] = $30; - $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); - HEAP32[$vararg_ptr13>>2] = $31; - _TraceLog(0,23514,$vararg_buffer10); - $32 = HEAP32[988>>2]|0; - $33 = HEAP32[992>>2]|0; - HEAP32[$vararg_buffer14>>2] = $32; - $vararg_ptr17 = ((($vararg_buffer14)) + 4|0); - HEAP32[$vararg_ptr17>>2] = $33; - _TraceLog(0,23535,$vararg_buffer14); - } - $34 = HEAP32[828>>2]|0; - (_glfwSetWindowSizeCallback(($34|0),(1|0))|0); - $35 = HEAP32[828>>2]|0; - (_glfwSetCursorEnterCallback(($35|0),(3|0))|0); - $36 = HEAP32[828>>2]|0; - (_glfwSetKeyCallback(($36|0),(1|0))|0); - $37 = HEAP32[828>>2]|0; - (_glfwSetMouseButtonCallback(($37|0),(1|0))|0); - $38 = HEAP32[828>>2]|0; - (_glfwSetCursorPosCallback(($38|0),(1|0))|0); - $39 = HEAP32[828>>2]|0; - (_glfwSetCharCallback(($39|0),(4|0))|0); - $40 = HEAP32[828>>2]|0; - (_glfwSetScrollCallback(($40|0),(2|0))|0); - $41 = HEAP32[828>>2]|0; - (_glfwSetWindowIconifyCallback(($41|0),(5|0))|0); - $42 = HEAP32[828>>2]|0; - _glfwMakeContextCurrent(($42|0)); - $43 = HEAP8[10887>>0]|0; - $44 = $43 & 32; - $45 = ($44<<24>>24)==(0); - if ($45) { - STACKTOP = sp;return; - } - _glfwSwapInterval(1); - _TraceLog(0,23560,$vararg_buffer18); - STACKTOP = sp;return; -} -function _InitGraphics() { - var $$byval_copy = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $$byval_copy = sp + 4|0; - $0 = sp; - _rlglInit(); - $1 = HEAP32[988>>2]|0; - $2 = HEAP32[992>>2]|0; - $3 = HEAP32[996>>2]|0; - $4 = HEAP32[1000>>2]|0; - _rlglInitGraphics($1,$2,$3,$4); - HEAP8[$0>>0] = -11; - $5 = ((($0)) + 1|0); - HEAP8[$5>>0] = -11; - $6 = ((($0)) + 2|0); - HEAP8[$6>>0] = -11; - $7 = ((($0)) + 3|0); - HEAP8[$7>>0] = -1; - ;HEAP8[$$byval_copy>>0]=HEAP8[$0>>0]|0;HEAP8[$$byval_copy+1>>0]=HEAP8[$0+1>>0]|0;HEAP8[$$byval_copy+2>>0]=HEAP8[$0+2>>0]|0;HEAP8[$$byval_copy+3>>0]=HEAP8[$0+3>>0]|0; - _ClearBackground($$byval_copy); - STACKTOP = sp;return; -} -function _InitTimer() { - var $0 = 0, $1 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_time((0|0))|0); - _srand($0); - $1 = (+_GetTime()); - HEAPF64[32>>3] = $1; - return; -} -function _EmscriptenFullscreenChangeCallback($eventType,$e,$userData) { - $eventType = $eventType|0; - $e = $e|0; - $userData = $userData|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer4 = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, $vararg_ptr9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $vararg_buffer4 = sp + 16|0; - $vararg_buffer = sp; - $0 = HEAP32[$e>>2]|0; - $1 = ($0|0)==(0); - $2 = ((($e)) + 264|0); - $3 = HEAP32[$2>>2]|0; - $4 = ((($e)) + 268|0); - $5 = HEAP32[$4>>2]|0; - $6 = ((($e)) + 272|0); - $7 = HEAP32[$6>>2]|0; - $8 = ((($e)) + 276|0); - $9 = HEAP32[$8>>2]|0; - if ($1) { - HEAP32[$vararg_buffer4>>2] = $3; - $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); - HEAP32[$vararg_ptr7>>2] = $5; - $vararg_ptr8 = ((($vararg_buffer4)) + 8|0); - HEAP32[$vararg_ptr8>>2] = $7; - $vararg_ptr9 = ((($vararg_buffer4)) + 12|0); - HEAP32[$vararg_ptr9>>2] = $9; - _TraceLog(0,23302,$vararg_buffer4); - STACKTOP = sp;return 0; - } else { - HEAP32[$vararg_buffer>>2] = $3; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = $5; - $vararg_ptr2 = ((($vararg_buffer)) + 8|0); - HEAP32[$vararg_ptr2>>2] = $7; - $vararg_ptr3 = ((($vararg_buffer)) + 12|0); - HEAP32[$vararg_ptr3>>2] = $9; - _TraceLog(0,23233,$vararg_buffer); - STACKTOP = sp;return 0; - } - return (0)|0; -} -function _EmscriptenInputCallback($eventType,$touchEvent,$userData) { - $eventType = $eventType|0; - $touchEvent = $touchEvent|0; - $userData = $userData|0; - var $0 = 0, $1 = 0, $10 = 0.0, $11 = 0, $12 = 0, $13 = 0.0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0.0, $19 = 0, $2 = 0, $20 = 0, $21 = 0.0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0.0, $48 = 0.0, $49 = 0.0, $5 = 0, $50 = 0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0, $59 = 0.0, $6 = 0, $60 = 0.0, $61 = 0.0, $7 = 0; - var $8 = 0, $9 = 0, $gestureEvent = 0, $gestureEvent$byval_copy = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; - $gestureEvent$byval_copy = sp + 32|0; - $gestureEvent = sp; - switch ($eventType|0) { - case 22: { - HEAP32[$gestureEvent>>2] = 1; - break; - } - case 23: { - HEAP32[$gestureEvent>>2] = 0; - break; - } - case 24: { - HEAP32[$gestureEvent>>2] = 2; - break; - } - default: { - } - } - $0 = HEAP32[$touchEvent>>2]|0; - $1 = ((($gestureEvent)) + 4|0); - HEAP32[$1>>2] = $0; - $2 = ((($touchEvent)) + 20|0); - $3 = HEAP32[$2>>2]|0; - $4 = ((($gestureEvent)) + 8|0); - HEAP32[$4>>2] = $3; - $5 = ((($touchEvent)) + 72|0); - $6 = HEAP32[$5>>2]|0; - $7 = ((($gestureEvent)) + 12|0); - HEAP32[$7>>2] = $6; - $8 = ((($touchEvent)) + 56|0); - $9 = HEAP32[$8>>2]|0; - $10 = (+($9|0)); - $11 = ((($touchEvent)) + 60|0); - $12 = HEAP32[$11>>2]|0; - $13 = (+($12|0)); - $14 = ((($gestureEvent)) + 16|0); - HEAPF32[$14>>2] = $10; - $15 = ((($gestureEvent)) + 20|0); - HEAPF32[$15>>2] = $13; - $16 = ((($touchEvent)) + 108|0); - $17 = HEAP32[$16>>2]|0; - $18 = (+($17|0)); - $19 = ((($touchEvent)) + 112|0); - $20 = HEAP32[$19>>2]|0; - $21 = (+($20|0)); - $22 = ((($gestureEvent)) + 24|0); - HEAPF32[$22>>2] = $18; - $23 = ((($gestureEvent)) + 28|0); - HEAPF32[$23>>2] = $21; - $24 = ((($gestureEvent)) + 16|0); - $25 = $24; - $26 = $25; - $27 = HEAP32[$26>>2]|0; - $28 = (($25) + 4)|0; - $29 = $28; - $30 = HEAP32[$29>>2]|0; - $31 = 64; - $32 = $31; - HEAP32[$32>>2] = $27; - $33 = (($31) + 4)|0; - $34 = $33; - HEAP32[$34>>2] = $30; - $35 = ((($gestureEvent)) + 24|0); - $36 = $35; - $37 = $36; - $38 = HEAP32[$37>>2]|0; - $39 = (($36) + 4)|0; - $40 = $39; - $41 = HEAP32[$40>>2]|0; - $42 = (72); - $43 = $42; - HEAP32[$43>>2] = $38; - $44 = (($42) + 4)|0; - $45 = $44; - HEAP32[$45>>2] = $41; - $46 = (_GetScreenWidth()|0); - $47 = (+($46|0)); - $48 = +HEAPF32[$24>>2]; - $49 = $48 / $47; - HEAPF32[$24>>2] = $49; - $50 = (_GetScreenHeight()|0); - $51 = (+($50|0)); - $52 = +HEAPF32[$15>>2]; - $53 = $52 / $51; - HEAPF32[$15>>2] = $53; - $54 = (_GetScreenWidth()|0); - $55 = (+($54|0)); - $56 = +HEAPF32[$35>>2]; - $57 = $56 / $55; - HEAPF32[$35>>2] = $57; - $58 = (_GetScreenHeight()|0); - $59 = (+($58|0)); - $60 = +HEAPF32[$23>>2]; - $61 = $60 / $59; - HEAPF32[$23>>2] = $61; - ;HEAP32[$gestureEvent$byval_copy>>2]=HEAP32[$gestureEvent>>2]|0;HEAP32[$gestureEvent$byval_copy+4>>2]=HEAP32[$gestureEvent+4>>2]|0;HEAP32[$gestureEvent$byval_copy+8>>2]=HEAP32[$gestureEvent+8>>2]|0;HEAP32[$gestureEvent$byval_copy+12>>2]=HEAP32[$gestureEvent+12>>2]|0;HEAP32[$gestureEvent$byval_copy+16>>2]=HEAP32[$gestureEvent+16>>2]|0;HEAP32[$gestureEvent$byval_copy+20>>2]=HEAP32[$gestureEvent+20>>2]|0;HEAP32[$gestureEvent$byval_copy+24>>2]=HEAP32[$gestureEvent+24>>2]|0;HEAP32[$gestureEvent$byval_copy+28>>2]=HEAP32[$gestureEvent+28>>2]|0; - _ProcessGestureEvent($gestureEvent$byval_copy); - STACKTOP = sp;return 1; -} -function _LogoAnimation() { - var label = 0, sp = 0; - sp = STACKTOP; - HEAP32[824>>2] = 0; - return; -} -function _GetTime() { - var $0 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (+_glfwGetTime()); - return (+$0); -} -function _SwapBuffers() { - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[828>>2]|0; - _glfwSwapBuffers(($0|0)); - return; -} -function _PollInputEvents() { - var $0 = 0, $1 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $mouseX = 0, $mouseY = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $mouseX = sp + 8|0; - $mouseY = sp; - _UpdateGestures(); - $0 = HEAP32[828>>2]|0; - _glfwGetCursorPos(($0|0),($mouseX|0),($mouseY|0)); - $1 = +HEAPF64[$mouseX>>3]; - $2 = $1; - HEAPF32[8>>2] = $2; - $3 = +HEAPF64[$mouseY>>3]; - $4 = $3; - HEAPF32[(12)>>2] = $4; - HEAP32[972>>2] = -1; - _memcpy((11400|0),(10888|0),512)|0; - ;HEAP8[11915>>0]=HEAP8[11912>>0]|0;HEAP8[11915+1>>0]=HEAP8[11912+1>>0]|0;HEAP8[11915+2>>0]=HEAP8[11912+2>>0]|0; - $5 = HEAP32[8648>>2]|0; - HEAP32[976>>2] = $5; - HEAP32[8648>>2] = 0; - _glfwPollEvents(); - STACKTOP = sp;return; -} -function _LoadDefaultShader($agg$result) { - $agg$result = $agg$result|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; - var $fShaderStr = 0, $vShaderStr = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 864|0; - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $vShaderStr = sp + 390|0; - $fShaderStr = sp + 12|0; - _memcpy(($vShaderStr|0),(22282|0),466)|0; - _memcpy(($fShaderStr|0),(22748|0),377)|0; - $0 = (_LoadShaderProgram($vShaderStr,$fShaderStr)|0); - $1 = ($0|0)==(0); - if ($1) { - HEAP32[$vararg_buffer1>>2] = $0; - _TraceLog(2,23173,$vararg_buffer1); - } else { - HEAP32[$vararg_buffer>>2] = $0; - _TraceLog(0,23125,$vararg_buffer); - } - $2 = (_glGetAttribLocation(($0|0),(13758|0))|0); - $3 = (_glGetAttribLocation(($0|0),(13773|0))|0); - $4 = (_glGetAttribLocation(($0|0),(23221|0))|0); - $5 = (_glGetUniformLocation(($0|0),(13801|0))|0); - $6 = (_glGetUniformLocation(($0|0),(13825|0))|0); - $7 = HEAP32[808>>2]|0; - HEAP32[$agg$result>>2] = $0; - $8 = ((($agg$result)) + 4|0); - HEAP32[$8>>2] = $7; - $9 = ((($agg$result)) + 8|0); - HEAP32[$9>>2] = 0; - $10 = ((($agg$result)) + 12|0); - HEAP32[$10>>2] = 0; - $11 = ((($agg$result)) + 16|0); - HEAP32[$11>>2] = $2; - $12 = ((($agg$result)) + 20|0); - HEAP32[$12>>2] = $3; - $13 = ((($agg$result)) + 24|0); - HEAP32[$13>>2] = -1; - $14 = ((($agg$result)) + 28|0); - HEAP32[$14>>2] = $4; - $15 = ((($agg$result)) + 32|0); - HEAP32[$15>>2] = $5; - $16 = ((($agg$result)) + 36|0); - HEAP32[$16>>2] = -1; - $17 = ((($agg$result)) + 40|0); - HEAP32[$17>>2] = $6; - $18 = ((($agg$result)) + 44|0); - HEAP32[$18>>2] = -1; - $19 = ((($agg$result)) + 48|0); - HEAP32[$19>>2] = -1; - STACKTOP = sp;return; -} -function _LoadSimpleShader($agg$result) { - $agg$result = $agg$result|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; - var $9 = 0, $fShaderStr = 0, $vShaderStr = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 800|0; - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $vShaderStr = sp + 389|0; - $fShaderStr = sp + 12|0; - _memcpy(($vShaderStr|0),(21410|0),401)|0; - _memcpy(($fShaderStr|0),(21811|0),377)|0; - $0 = (_LoadShaderProgram($vShaderStr,$fShaderStr)|0); - $1 = ($0|0)==(0); - if ($1) { - HEAP32[$vararg_buffer1>>2] = $0; - _TraceLog(2,22235,$vararg_buffer1); - } else { - HEAP32[$vararg_buffer>>2] = $0; - _TraceLog(0,22188,$vararg_buffer); - } - $2 = (_glGetAttribLocation(($0|0),(13758|0))|0); - $3 = (_glGetAttribLocation(($0|0),(13773|0))|0); - $4 = (_glGetAttribLocation(($0|0),(13788|0))|0); - $5 = (_glGetUniformLocation(($0|0),(13801|0))|0); - $6 = (_glGetUniformLocation(($0|0),(13811|0))|0); - $7 = (_glGetUniformLocation(($0|0),(13825|0))|0); - $8 = HEAP32[808>>2]|0; - HEAP32[$agg$result>>2] = $0; - $9 = ((($agg$result)) + 4|0); - HEAP32[$9>>2] = $8; - $10 = ((($agg$result)) + 8|0); - HEAP32[$10>>2] = 0; - $11 = ((($agg$result)) + 12|0); - HEAP32[$11>>2] = 0; - $12 = ((($agg$result)) + 16|0); - HEAP32[$12>>2] = $2; - $13 = ((($agg$result)) + 20|0); - HEAP32[$13>>2] = $3; - $14 = ((($agg$result)) + 24|0); - HEAP32[$14>>2] = $4; - $15 = ((($agg$result)) + 28|0); - HEAP32[$15>>2] = -1; - $16 = ((($agg$result)) + 32|0); - HEAP32[$16>>2] = $5; - $17 = ((($agg$result)) + 36|0); - HEAP32[$17>>2] = $6; - $18 = ((($agg$result)) + 40|0); - HEAP32[$18>>2] = $7; - $19 = ((($agg$result)) + 44|0); - HEAP32[$19>>2] = -1; - $20 = ((($agg$result)) + 48|0); - HEAP32[$20>>2] = -1; - STACKTOP = sp;return; -} -function _InitializeBuffers() { - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $5 = 0, $6 = 0; - var $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond14 = 0, $exitcond17 = 0, $exitcond19 = 0, $i1$012 = 0, $i3$010 = 0, $i6$07 = 0, $i7$06 = 0, $k$05 = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $vararg_buffer = sp; - $0 = (_malloc(24576)|0); - HEAP32[2232>>2] = $0; - $1 = (_malloc(8192)|0); - HEAP32[2192>>2] = $1; - $2 = HEAP32[2232>>2]|0; - _memset(($2|0),0,24576)|0; - $i1$012 = 0; - while(1) { - $3 = HEAP32[2192>>2]|0; - $4 = (($3) + ($i1$012)|0); - HEAP8[$4>>0] = 0; - $5 = (($i1$012) + 1)|0; - $exitcond19 = ($5|0)==(8192); - if ($exitcond19) { - break; - } else { - $i1$012 = $5; - } - } - HEAP32[2184>>2] = 0; - HEAP32[2188>>2] = 0; - $6 = (_malloc(73728)|0); - HEAP32[2236>>2] = $6; - $7 = (_malloc(24576)|0); - HEAP32[2204>>2] = $7; - $8 = HEAP32[2236>>2]|0; - _memset(($8|0),0,73728)|0; - $i3$010 = 0; - while(1) { - $9 = HEAP32[2204>>2]|0; - $10 = (($9) + ($i3$010)|0); - HEAP8[$10>>0] = 0; - $11 = (($i3$010) + 1)|0; - $exitcond17 = ($11|0)==(24576); - if ($exitcond17) { - break; - } else { - $i3$010 = $11; - } - } - HEAP32[2196>>2] = 0; - HEAP32[2200>>2] = 0; - $12 = (_malloc(49152)|0); - HEAP32[2240>>2] = $12; - $13 = (_malloc(32768)|0); - HEAP32[2224>>2] = $13; - $14 = (_malloc(16384)|0); - HEAP32[2216>>2] = $14; - $15 = (_malloc(12288)|0); - HEAP32[2728>>2] = $15; - $16 = HEAP32[2240>>2]|0; - _memset(($16|0),0,49152)|0; - $17 = HEAP32[2224>>2]|0; - _memset(($17|0),0,32768)|0; - $i6$07 = 0; - while(1) { - $19 = HEAP32[2216>>2]|0; - $20 = (($19) + ($i6$07)|0); - HEAP8[$20>>0] = 0; - $21 = (($i6$07) + 1)|0; - $exitcond14 = ($21|0)==(16384); - if ($exitcond14) { - break; - } else { - $i6$07 = $21; - } - } - $18 = HEAP32[2728>>2]|0; - $i7$06 = 0;$k$05 = 0; - while(1) { - $22 = $k$05 << 2; - $23 = $22&65535; - $24 = (($18) + ($i7$06<<1)|0); - HEAP16[$24>>1] = $23; - $25 = $22 | 1; - $26 = $25&65535; - $27 = $i7$06 | 1; - $28 = (($18) + ($27<<1)|0); - HEAP16[$28>>1] = $26; - $29 = $22 | 2; - $30 = $29&65535; - $31 = (($i7$06) + 2)|0; - $32 = (($18) + ($31<<1)|0); - HEAP16[$32>>1] = $30; - $33 = (($i7$06) + 3)|0; - $34 = (($18) + ($33<<1)|0); - HEAP16[$34>>1] = $23; - $35 = (($i7$06) + 4)|0; - $36 = (($18) + ($35<<1)|0); - HEAP16[$36>>1] = $30; - $37 = $22 | 3; - $38 = $37&65535; - $39 = (($i7$06) + 5)|0; - $40 = (($18) + ($39<<1)|0); - HEAP16[$40>>1] = $38; - $41 = (($k$05) + 1)|0; - $42 = (($i7$06) + 6)|0; - $exitcond = ($41|0)==(1024); - if ($exitcond) { - break; - } else { - $i7$06 = $42;$k$05 = $41; - } - } - HEAP32[2208>>2] = 0; - HEAP32[2220>>2] = 0; - HEAP32[2212>>2] = 0; - _TraceLog(0,21347,$vararg_buffer); - STACKTOP = sp;return; -} -function _InitializeBuffersGPU() { - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; - var $63 = 0, $64 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer12 = 0, $vararg_buffer15 = 0, $vararg_buffer5 = 0, $vararg_buffer8 = 0, $vararg_ptr11 = 0, $vararg_ptr18 = 0, $vararg_ptr19 = 0, $vararg_ptr20 = 0, $vararg_ptr4 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; - $vararg_buffer15 = sp + 40|0; - $vararg_buffer12 = sp + 32|0; - $vararg_buffer8 = sp + 24|0; - $vararg_buffer5 = sp + 16|0; - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $0 = HEAP32[2264>>2]|0; - $1 = ($0|0)==(0); - if (!($1)) { - $2 = HEAP32[2272>>2]|0; - FUNCTION_TABLE_vii[$2 & 63](1,2716); - $3 = HEAP32[2276>>2]|0; - $4 = HEAP32[2716>>2]|0; - FUNCTION_TABLE_vi[$3 & 31]($4); - } - _glGenBuffers(2,(2684|0)); - $5 = HEAP32[2684>>2]|0; - _glBindBuffer(34962,($5|0)); - $6 = HEAP32[2232>>2]|0; - _glBufferData(34962,24576,($6|0),35048); - $7 = HEAP32[(2424)>>2]|0; - _glEnableVertexAttribArray(($7|0)); - $8 = HEAP32[(2424)>>2]|0; - _glVertexAttribPointer(($8|0),3,5126,0,0,(0|0)); - $9 = HEAP32[(2688)>>2]|0; - _glBindBuffer(34962,($9|0)); - $10 = HEAP32[2192>>2]|0; - _glBufferData(34962,8192,($10|0),35048); - $11 = HEAP32[(2436)>>2]|0; - _glEnableVertexAttribArray(($11|0)); - $12 = HEAP32[(2436)>>2]|0; - _glVertexAttribPointer(($12|0),4,5121,1,0,(0|0)); - $13 = HEAP32[2264>>2]|0; - $14 = ($13|0)==(0); - if ($14) { - $16 = HEAP32[2684>>2]|0; - $17 = HEAP32[(2688)>>2]|0; - HEAP32[$vararg_buffer1>>2] = $16; - $vararg_ptr4 = ((($vararg_buffer1)) + 4|0); - HEAP32[$vararg_ptr4>>2] = $17; - _TraceLog(0,21046,$vararg_buffer1); - } else { - $15 = HEAP32[2716>>2]|0; - HEAP32[$vararg_buffer>>2] = $15; - _TraceLog(0,20999,$vararg_buffer); - } - $18 = HEAP32[2264>>2]|0; - $19 = ($18|0)==(0); - if (!($19)) { - $20 = HEAP32[2272>>2]|0; - FUNCTION_TABLE_vii[$20 & 63](1,2720); - $21 = HEAP32[2276>>2]|0; - $22 = HEAP32[2720>>2]|0; - FUNCTION_TABLE_vi[$21 & 31]($22); - } - _glGenBuffers(2,(2692|0)); - $23 = HEAP32[2692>>2]|0; - _glBindBuffer(34962,($23|0)); - $24 = HEAP32[2236>>2]|0; - _glBufferData(34962,73728,($24|0),35048); - $25 = HEAP32[(2424)>>2]|0; - _glEnableVertexAttribArray(($25|0)); - $26 = HEAP32[(2424)>>2]|0; - _glVertexAttribPointer(($26|0),3,5126,0,0,(0|0)); - $27 = HEAP32[(2696)>>2]|0; - _glBindBuffer(34962,($27|0)); - $28 = HEAP32[2204>>2]|0; - _glBufferData(34962,24576,($28|0),35048); - $29 = HEAP32[(2436)>>2]|0; - _glEnableVertexAttribArray(($29|0)); - $30 = HEAP32[(2436)>>2]|0; - _glVertexAttribPointer(($30|0),4,5121,1,0,(0|0)); - $31 = HEAP32[2264>>2]|0; - $32 = ($31|0)==(0); - if ($32) { - $34 = HEAP32[2692>>2]|0; - $35 = HEAP32[(2696)>>2]|0; - HEAP32[$vararg_buffer8>>2] = $34; - $vararg_ptr11 = ((($vararg_buffer8)) + 4|0); - HEAP32[$vararg_ptr11>>2] = $35; - _TraceLog(0,21156,$vararg_buffer8); - } else { - $33 = HEAP32[2720>>2]|0; - HEAP32[$vararg_buffer5>>2] = $33; - _TraceLog(0,21105,$vararg_buffer5); - } - $36 = HEAP32[2264>>2]|0; - $37 = ($36|0)==(0); - if (!($37)) { - $38 = HEAP32[2272>>2]|0; - FUNCTION_TABLE_vii[$38 & 63](1,2724); - $39 = HEAP32[2276>>2]|0; - $40 = HEAP32[2724>>2]|0; - FUNCTION_TABLE_vi[$39 & 31]($40); - } - _glGenBuffers(4,(2700|0)); - $41 = HEAP32[2700>>2]|0; - _glBindBuffer(34962,($41|0)); - $42 = HEAP32[2240>>2]|0; - _glBufferData(34962,49152,($42|0),35048); - $43 = HEAP32[(2424)>>2]|0; - _glEnableVertexAttribArray(($43|0)); - $44 = HEAP32[(2424)>>2]|0; - _glVertexAttribPointer(($44|0),3,5126,0,0,(0|0)); - $45 = HEAP32[(2704)>>2]|0; - _glBindBuffer(34962,($45|0)); - $46 = HEAP32[2224>>2]|0; - _glBufferData(34962,32768,($46|0),35048); - $47 = HEAP32[(2428)>>2]|0; - _glEnableVertexAttribArray(($47|0)); - $48 = HEAP32[(2428)>>2]|0; - _glVertexAttribPointer(($48|0),2,5126,0,0,(0|0)); - $49 = HEAP32[(2708)>>2]|0; - _glBindBuffer(34962,($49|0)); - $50 = HEAP32[2216>>2]|0; - _glBufferData(34962,16384,($50|0),35048); - $51 = HEAP32[(2436)>>2]|0; - _glEnableVertexAttribArray(($51|0)); - $52 = HEAP32[(2436)>>2]|0; - _glVertexAttribPointer(($52|0),4,5121,1,0,(0|0)); - $53 = HEAP32[(2712)>>2]|0; - _glBindBuffer(34963,($53|0)); - $54 = HEAP32[2728>>2]|0; - _glBufferData(34963,12288,($54|0),35044); - $55 = HEAP32[2264>>2]|0; - $56 = ($55|0)==(0); - if ($56) { - $58 = HEAP32[2700>>2]|0; - $59 = HEAP32[(2704)>>2]|0; - $60 = HEAP32[(2708)>>2]|0; - $61 = HEAP32[(2712)>>2]|0; - HEAP32[$vararg_buffer15>>2] = $58; - $vararg_ptr18 = ((($vararg_buffer15)) + 4|0); - HEAP32[$vararg_ptr18>>2] = $59; - $vararg_ptr19 = ((($vararg_buffer15)) + 8|0); - HEAP32[$vararg_ptr19>>2] = $60; - $vararg_ptr20 = ((($vararg_buffer15)) + 12|0); - HEAP32[$vararg_ptr20>>2] = $61; - _TraceLog(0,21266,$vararg_buffer15); - } else { - $57 = HEAP32[2724>>2]|0; - HEAP32[$vararg_buffer12>>2] = $57; - _TraceLog(0,21219,$vararg_buffer12); - } - $62 = HEAP32[2264>>2]|0; - $63 = ($62|0)==(0); - if ($63) { - STACKTOP = sp;return; - } - $64 = HEAP32[2276>>2]|0; - FUNCTION_TABLE_vi[$64 & 31](0); - STACKTOP = sp;return; -} -function _LoadCompressedTexture($data,$width,$height,$mipmapCount,$compressedFormat) { - $data = $data|0; - $width = $width|0; - $height = $height|0; - $mipmapCount = $mipmapCount|0; - $compressedFormat = $compressedFormat|0; - var $$ = 0, $$013 = 0, $$0610 = 0, $$17 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0; - var $7 = 0, $8 = 0, $9 = 0, $blockSize$0 = 0, $level$012 = 0, $offset$011 = 0, $or$cond = 0, $or$cond9 = 0, label = 0, sp = 0; - sp = STACKTOP; - _glPixelStorei(3317,1); - switch ($compressedFormat|0) { - case 33776: case 33777: case 36196: case 37492: { - $blockSize$0 = 8; - break; - } - default: { - $blockSize$0 = 16; - } - } - $0 = ($mipmapCount|0)<(1); - $1 = $width | $height; - $2 = ($1|0)==(0); - $or$cond9 = $0 | $2; - if ($or$cond9) { - return; - } else { - $$013 = $width;$$0610 = $height;$level$012 = 0;$offset$011 = 0; - } - while(1) { - $3 = (($$013) + 3)|0; - $4 = (($3|0) / 4)&-1; - $5 = (($$0610) + 3)|0; - $6 = (($5|0) / 4)&-1; - $7 = Math_imul($4, $blockSize$0)|0; - $8 = Math_imul($7, $6)|0; - $9 = (($data) + ($offset$011)|0); - _glCompressedTexImage2D(3553,($level$012|0),($compressedFormat|0),($$013|0),($$0610|0),0,($8|0),($9|0)); - $10 = (($8) + ($offset$011))|0; - $11 = (($$013|0) / 2)&-1; - $12 = (($$0610|0) / 2)&-1; - $13 = ($$013|0)<(2); - $$ = $13 ? 1 : $11; - $14 = ($$0610|0)<(2); - $$17 = $14 ? 1 : $12; - $15 = (($level$012) + 1)|0; - $16 = ($15|0)>=($mipmapCount|0); - $17 = $$ | $$17; - $18 = ($17|0)==(0); - $or$cond = $16 | $18; - if ($or$cond) { - break; - } else { - $$013 = $$;$$0610 = $$17;$level$012 = $15;$offset$011 = $10; - } - } - return; -} -function _UpdateBuffers() { - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[2184>>2]|0; - $1 = ($0|0)>(0); - if ($1) { - $2 = HEAP32[2264>>2]|0; - $3 = ($2|0)==(0); - if (!($3)) { - $4 = HEAP32[2276>>2]|0; - $5 = HEAP32[2716>>2]|0; - FUNCTION_TABLE_vi[$4 & 31]($5); - } - $6 = HEAP32[2684>>2]|0; - _glBindBuffer(34962,($6|0)); - $7 = HEAP32[2184>>2]|0; - $8 = ($7*12)|0; - $9 = HEAP32[2232>>2]|0; - _glBufferSubData(34962,0,($8|0),($9|0)); - $10 = HEAP32[(2688)>>2]|0; - _glBindBuffer(34962,($10|0)); - $11 = HEAP32[2188>>2]|0; - $12 = $11 << 2; - $13 = HEAP32[2192>>2]|0; - _glBufferSubData(34962,0,($12|0),($13|0)); - } - $14 = HEAP32[2196>>2]|0; - $15 = ($14|0)>(0); - if ($15) { - $16 = HEAP32[2264>>2]|0; - $17 = ($16|0)==(0); - if (!($17)) { - $18 = HEAP32[2276>>2]|0; - $19 = HEAP32[2720>>2]|0; - FUNCTION_TABLE_vi[$18 & 31]($19); - } - $20 = HEAP32[2692>>2]|0; - _glBindBuffer(34962,($20|0)); - $21 = HEAP32[2196>>2]|0; - $22 = ($21*12)|0; - $23 = HEAP32[2236>>2]|0; - _glBufferSubData(34962,0,($22|0),($23|0)); - $24 = HEAP32[(2696)>>2]|0; - _glBindBuffer(34962,($24|0)); - $25 = HEAP32[2200>>2]|0; - $26 = $25 << 2; - $27 = HEAP32[2204>>2]|0; - _glBufferSubData(34962,0,($26|0),($27|0)); - } - $28 = HEAP32[2208>>2]|0; - $29 = ($28|0)>(0); - if ($29) { - $30 = HEAP32[2264>>2]|0; - $31 = ($30|0)==(0); - if (!($31)) { - $32 = HEAP32[2276>>2]|0; - $33 = HEAP32[2724>>2]|0; - FUNCTION_TABLE_vi[$32 & 31]($33); - } - $34 = HEAP32[2700>>2]|0; - _glBindBuffer(34962,($34|0)); - $35 = HEAP32[2208>>2]|0; - $36 = ($35*12)|0; - $37 = HEAP32[2240>>2]|0; - _glBufferSubData(34962,0,($36|0),($37|0)); - $38 = HEAP32[(2704)>>2]|0; - _glBindBuffer(34962,($38|0)); - $39 = HEAP32[2208>>2]|0; - $40 = $39 << 3; - $41 = HEAP32[2224>>2]|0; - _glBufferSubData(34962,0,($40|0),($41|0)); - $42 = HEAP32[(2708)>>2]|0; - _glBindBuffer(34962,($42|0)); - $43 = HEAP32[2208>>2]|0; - $44 = $43 << 2; - $45 = HEAP32[2216>>2]|0; - _glBufferSubData(34962,0,($44|0),($45|0)); - } - $46 = HEAP32[2264>>2]|0; - $47 = ($46|0)==(0); - if ($47) { - return; - } - $48 = HEAP32[2276>>2]|0; - FUNCTION_TABLE_vi[$48 & 31](0); - return; -} -function _ttULONG($p) { - $p = $p|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP8[$p>>0]|0; - $1 = $0&255; - $2 = $1 << 24; - $3 = ((($p)) + 1|0); - $4 = HEAP8[$3>>0]|0; - $5 = $4&255; - $6 = $5 << 16; - $7 = $6 | $2; - $8 = ((($p)) + 2|0); - $9 = HEAP8[$8>>0]|0; - $10 = $9&255; - $11 = $10 << 8; - $12 = $7 | $11; - $13 = ((($p)) + 3|0); - $14 = HEAP8[$13>>0]|0; - $15 = $14&255; - $16 = $12 | $15; - return ($16|0); -} -function _stbtt__find_table($data,$fontstart,$tag) { - $data = $data|0; - $fontstart = $fontstart|0; - $tag = $tag|0; - var $$0 = 0, $$lcssa = 0, $$sum = 0, $$sum1 = 0, $$sum2 = 0, $$sum3 = 0, $$sum4 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0; - var $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $4 = 0; - var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i$05 = 0, label = 0, sp = 0; - sp = STACKTOP; - $$sum = (($fontstart) + 4)|0; - $0 = (($data) + ($$sum)|0); - $1 = (_ttUSHORT($0)|0); - $2 = $1&65535; - $3 = (($fontstart) + 12)|0; - $4 = ($1<<16>>16)==(0); - if ($4) { - $$0 = 0; - return ($$0|0); - } - $5 = HEAP8[$tag>>0]|0; - $6 = $5 << 24 >> 24; - $7 = ((($tag)) + 1|0); - $8 = ((($tag)) + 2|0); - $9 = ((($tag)) + 3|0); - $i$05 = 0; - while(1) { - $10 = $i$05 << 4; - $11 = (($3) + ($10))|0; - $12 = (($data) + ($11)|0); - $13 = HEAP8[$12>>0]|0; - $14 = $13&255; - $15 = ($14|0)==($6|0); - if ($15) { - $$sum1 = (($11) + 1)|0; - $16 = (($data) + ($$sum1)|0); - $17 = HEAP8[$16>>0]|0; - $18 = $17&255; - $19 = HEAP8[$7>>0]|0; - $20 = $19 << 24 >> 24; - $21 = ($18|0)==($20|0); - if ($21) { - $$sum2 = (($11) + 2)|0; - $22 = (($data) + ($$sum2)|0); - $23 = HEAP8[$22>>0]|0; - $24 = $23&255; - $25 = HEAP8[$8>>0]|0; - $26 = $25 << 24 >> 24; - $27 = ($24|0)==($26|0); - if ($27) { - $$sum3 = (($11) + 3)|0; - $28 = (($data) + ($$sum3)|0); - $29 = HEAP8[$28>>0]|0; - $30 = $29&255; - $31 = HEAP8[$9>>0]|0; - $32 = $31 << 24 >> 24; - $33 = ($30|0)==($32|0); - if ($33) { - $$lcssa = $11; - break; - } - } - } - } - $36 = (($i$05) + 1)|0; - $37 = ($36|0)<($2|0); - if ($37) { - $i$05 = $36; - } else { - $$0 = 0; - label = 9; - break; - } - } - if ((label|0) == 9) { - return ($$0|0); - } - $$sum4 = (($$lcssa) + 8)|0; - $34 = (($data) + ($$sum4)|0); - $35 = (_ttULONG($34)|0); - $$0 = $35; - return ($$0|0); -} -function _ttUSHORT($p) { - $p = $p|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP8[$p>>0]|0; - $1 = $0&255; - $2 = $1 << 8; - $3 = ((($p)) + 1|0); - $4 = HEAP8[$3>>0]|0; - $5 = $4&255; - $6 = $2 | $5; - $7 = $6&65535; - return ($7|0); -} -function _ttSHORT($p) { - $p = $p|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP8[$p>>0]|0; - $1 = $0&255; - $2 = $1 << 8; - $3 = ((($p)) + 1|0); - $4 = HEAP8[$3>>0]|0; - $5 = $4&255; - $6 = $2 | $5; - $7 = $6&65535; - return ($7|0); -} -function _stbtt__GetGlyfOffset($info,$glyph_index) { - $info = $info|0; - $glyph_index = $glyph_index|0; - var $$0 = 0, $$pn = 0, $$sink = 0, $$sum = 0, $$sum2 = 0, $$sum3 = 0, $$sum5 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0; - var $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $g1$0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($info)) + 12|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)>($glyph_index|0); - if (!($2)) { - $$0 = -1; - return ($$0|0); - } - $3 = ((($info)) + 44|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)>(1); - if ($5) { - $$0 = -1; - return ($$0|0); - } - $6 = ($4|0)==(0); - $7 = ((($info)) + 24|0); - $8 = HEAP32[$7>>2]|0; - $9 = ((($info)) + 4|0); - $10 = HEAP32[$9>>2]|0; - $11 = ((($info)) + 16|0); - $12 = HEAP32[$11>>2]|0; - if ($6) { - $13 = $glyph_index << 1; - $$sum3 = (($12) + ($13))|0; - $14 = (($10) + ($$sum3)|0); - $15 = (_ttUSHORT($14)|0); - $16 = $15&65535; - $17 = $16 << 1; - $$sum5 = (($$sum3) + 2)|0; - $18 = (($10) + ($$sum5)|0); - $19 = (_ttUSHORT($18)|0); - $20 = $19&65535; - $21 = $20 << 1; - $$pn = $17;$$sink = $21; - } else { - $22 = $glyph_index << 2; - $$sum = (($12) + ($22))|0; - $23 = (($10) + ($$sum)|0); - $24 = (_ttULONG($23)|0); - $$sum2 = (($$sum) + 4)|0; - $25 = (($10) + ($$sum2)|0); - $26 = (_ttULONG($25)|0); - $$pn = $24;$$sink = $26; - } - $27 = (($$sink) + ($8))|0; - $g1$0 = (($$pn) + ($8))|0; - $28 = ($g1$0|0)==($27|0); - $29 = $28 ? -1 : $g1$0; - $$0 = $29; - return ($$0|0); -} -function _stbtt__close_shape($vertices,$num_vertices,$was_off,$start_off,$sx,$sy,$scx,$scy,$cx,$cy) { - $vertices = $vertices|0; - $num_vertices = $num_vertices|0; - $was_off = $was_off|0; - $start_off = $start_off|0; - $sx = $sx|0; - $sy = $sy|0; - $scx = $scx|0; - $scy = $scy|0; - $cx = $cx|0; - $cy = $cy|0; - var $$0 = 0, $$1 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ($start_off|0)==(0); - $1 = ($was_off|0)!=(0); - if (!($0)) { - if ($1) { - $2 = (($num_vertices) + 1)|0; - $3 = (($vertices) + (($num_vertices*10)|0)|0); - $4 = (($cx) + ($scx))|0; - $5 = $4 >> 1; - $6 = (($cy) + ($scy))|0; - $7 = $6 >> 1; - _stbtt_setvertex($3,3,$5,$7,$cx,$cy); - $$0 = $2; - } else { - $$0 = $num_vertices; - } - $8 = (($$0) + 1)|0; - $9 = (($vertices) + (($$0*10)|0)|0); - _stbtt_setvertex($9,3,$sx,$sy,$scx,$scy); - $$1 = $8; - return ($$1|0); - } - $10 = (($num_vertices) + 1)|0; - $11 = (($vertices) + (($num_vertices*10)|0)|0); - if ($1) { - _stbtt_setvertex($11,3,$sx,$sy,$cx,$cy); - $$1 = $10; - return ($$1|0); - } else { - _stbtt_setvertex($11,2,$sx,$sy,0,0); - $$1 = $10; - return ($$1|0); - } - return (0)|0; -} -function _stbtt_setvertex($v,$type,$x,$y,$cx,$cy) { - $v = $v|0; - $type = $type|0; - $x = $x|0; - $y = $y|0; - $cx = $cx|0; - $cy = $cy|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($v)) + 8|0); - HEAP8[$0>>0] = $type; - $1 = $x&65535; - HEAP16[$v>>1] = $1; - $2 = $y&65535; - $3 = ((($v)) + 2|0); - HEAP16[$3>>1] = $2; - $4 = $cx&65535; - $5 = ((($v)) + 4|0); - HEAP16[$5>>1] = $4; - $6 = $cy&65535; - $7 = ((($v)) + 6|0); - HEAP16[$7>>1] = $6; - return; -} -function _stbtt_FlattenCurves($vertices,$num_verts,$objspace_flatness,$contour_lengths,$num_contours) { - $vertices = $vertices|0; - $num_verts = $num_verts|0; - $objspace_flatness = +$objspace_flatness; - $contour_lengths = $contour_lengths|0; - $num_contours = $num_contours|0; - var $$0 = 0, $$lcssa = 0, $$n$0 = 0, $$n$0$lcssa = 0, $0 = 0.0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0; - var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0.0, $3 = 0, $30 = 0, $31 = 0, $32 = 0.0, $33 = 0, $34 = 0, $35 = 0.0, $36 = 0, $37 = 0, $38 = 0.0, $39 = 0, $4 = 0, $40 = 0; - var $41 = 0, $42 = 0, $43 = 0.0, $44 = 0, $45 = 0, $46 = 0.0, $47 = 0, $48 = 0.0, $49 = 0, $5 = 0, $50 = 0, $51 = 0.0, $52 = 0, $53 = 0.0, $54 = 0, $55 = 0.0, $56 = 0, $57 = 0, $58 = 0, $59 = 0; - var $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond18 = 0, $i$012 = 0, $i$12 = 0, $n$013 = 0, $n$2$lcssa = 0, $n$24 = 0, $n$3 = 0, $num_points = 0, $pass$011 = 0, $points$09 = 0, $points$1 = 0; - var $start$010 = 0, $start$1$lcssa = 0, $start$15 = 0, $start$2 = 0, $x$06 = 0.0, $x$1 = 0.0, $y$07 = 0.0, $y$1 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $num_points = sp; - HEAP32[$num_points>>2] = 0; - $0 = $objspace_flatness * $objspace_flatness; - $1 = ($num_verts|0)>(0); - if ($1) { - $i$012 = 0;$n$013 = 0; - } else { - HEAP32[$num_contours>>2] = 0; - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - while(1) { - $2 = (((($vertices) + (($i$012*10)|0)|0)) + 8|0); - $3 = HEAP8[$2>>0]|0; - $4 = ($3<<24>>24)==(1); - $5 = $4&1; - $$n$0 = (($5) + ($n$013))|0; - $6 = (($i$012) + 1)|0; - $exitcond18 = ($6|0)==($num_verts|0); - if ($exitcond18) { - $$n$0$lcssa = $$n$0; - break; - } else { - $i$012 = $6;$n$013 = $$n$0; - } - } - HEAP32[$num_contours>>2] = $$n$0$lcssa; - $7 = ($$n$0$lcssa|0)==(0); - if ($7) { - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $8 = $$n$0$lcssa << 2; - $9 = (_malloc($8)|0); - HEAP32[$contour_lengths>>2] = $9; - $10 = ($9|0)==(0|0); - if ($10) { - HEAP32[$num_contours>>2] = 0; - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $11 = ($num_verts|0)>(0); - $pass$011 = 0;$points$09 = 0;$start$010 = 0; - while(1) { - $12 = ($pass$011|0)==(1); - if ($12) { - $13 = HEAP32[$num_points>>2]|0; - $14 = $13 << 3; - $15 = (_malloc($14)|0); - $16 = ($15|0)==(0|0); - if ($16) { - $$lcssa = $15; - break; - } else { - $points$1 = $15; - } - } else { - $points$1 = $points$09; - } - HEAP32[$num_points>>2] = 0; - L19: do { - if ($11) { - $i$12 = 0;$n$24 = -1;$start$15 = $start$010;$x$06 = 0.0;$y$07 = 0.0; - while(1) { - $17 = (($vertices) + (($i$12*10)|0)|0); - $18 = (((($vertices) + (($i$12*10)|0)|0)) + 8|0); - $19 = HEAP8[$18>>0]|0; - $20 = $19&255; - switch ($20|0) { - case 1: { - $21 = ($n$24|0)>(-1); - if ($21) { - $22 = HEAP32[$num_points>>2]|0; - $23 = (($22) - ($start$15))|0; - $24 = HEAP32[$contour_lengths>>2]|0; - $25 = (($24) + ($n$24<<2)|0); - HEAP32[$25>>2] = $23; - } - $26 = (($n$24) + 1)|0; - $27 = HEAP32[$num_points>>2]|0; - $28 = HEAP16[$17>>1]|0; - $29 = (+($28<<16>>16)); - $30 = (((($vertices) + (($i$12*10)|0)|0)) + 2|0); - $31 = HEAP16[$30>>1]|0; - $32 = (+($31<<16>>16)); - $33 = (($27) + 1)|0; - HEAP32[$num_points>>2] = $33; - _stbtt__add_point($points$1,$27,$29,$32); - $n$3 = $26;$start$2 = $27;$x$1 = $29;$y$1 = $32; - break; - } - case 2: { - $34 = HEAP16[$17>>1]|0; - $35 = (+($34<<16>>16)); - $36 = (((($vertices) + (($i$12*10)|0)|0)) + 2|0); - $37 = HEAP16[$36>>1]|0; - $38 = (+($37<<16>>16)); - $39 = HEAP32[$num_points>>2]|0; - $40 = (($39) + 1)|0; - HEAP32[$num_points>>2] = $40; - _stbtt__add_point($points$1,$39,$35,$38); - $n$3 = $n$24;$start$2 = $start$15;$x$1 = $35;$y$1 = $38; - break; - } - case 3: { - $41 = (((($vertices) + (($i$12*10)|0)|0)) + 4|0); - $42 = HEAP16[$41>>1]|0; - $43 = (+($42<<16>>16)); - $44 = (((($vertices) + (($i$12*10)|0)|0)) + 6|0); - $45 = HEAP16[$44>>1]|0; - $46 = (+($45<<16>>16)); - $47 = HEAP16[$17>>1]|0; - $48 = (+($47<<16>>16)); - $49 = (((($vertices) + (($i$12*10)|0)|0)) + 2|0); - $50 = HEAP16[$49>>1]|0; - $51 = (+($50<<16>>16)); - _stbtt__tesselate_curve($points$1,$num_points,$x$06,$y$07,$43,$46,$48,$51,$0,0); - $52 = HEAP16[$17>>1]|0; - $53 = (+($52<<16>>16)); - $54 = HEAP16[$49>>1]|0; - $55 = (+($54<<16>>16)); - $n$3 = $n$24;$start$2 = $start$15;$x$1 = $53;$y$1 = $55; - break; - } - default: { - $n$3 = $n$24;$start$2 = $start$15;$x$1 = $x$06;$y$1 = $y$07; - } - } - $56 = (($i$12) + 1)|0; - $exitcond = ($56|0)==($num_verts|0); - if ($exitcond) { - $n$2$lcssa = $n$3;$start$1$lcssa = $start$2; - break L19; - } else { - $i$12 = $56;$n$24 = $n$3;$start$15 = $start$2;$x$06 = $x$1;$y$07 = $y$1; - } - } - } else { - $n$2$lcssa = -1;$start$1$lcssa = $start$010; - } - } while(0); - $57 = HEAP32[$num_points>>2]|0; - $58 = (($57) - ($start$1$lcssa))|0; - $59 = HEAP32[$contour_lengths>>2]|0; - $60 = (($59) + ($n$2$lcssa<<2)|0); - HEAP32[$60>>2] = $58; - $61 = (($pass$011) + 1)|0; - $62 = ($61|0)<(2); - if ($62) { - $pass$011 = $61;$points$09 = $points$1;$start$010 = $start$1$lcssa; - } else { - $$0 = $points$1; - label = 20; - break; - } - } - if ((label|0) == 20) { - STACKTOP = sp;return ($$0|0); - } - _free($$lcssa); - $63 = HEAP32[$contour_lengths>>2]|0; - _free($63); - HEAP32[$contour_lengths>>2] = 0; - HEAP32[$num_contours>>2] = 0; - $$0 = 0; - STACKTOP = sp;return ($$0|0); -} -function _stbtt__rasterize($result,$pts,$wcount,$windings,$scale_x,$scale_y,$shift_x,$shift_y,$off_x,$off_y,$invert) { - $result = $result|0; - $pts = $pts|0; - $wcount = $wcount|0; - $windings = $windings|0; - $scale_x = +$scale_x; - $scale_y = +$scale_y; - $shift_x = +$shift_x; - $shift_y = +$shift_y; - $off_x = $off_x|0; - $off_y = $off_y|0; - $invert = $invert|0; - var $$lcssa = 0, $$sum = 0, $$sum1 = 0, $$sum2 = 0, $$sum3 = 0, $0 = 0, $1 = 0.0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0.0, $19 = 0, $2 = 0.0, $20 = 0.0, $21 = 0; - var $22 = 0, $23 = 0.0, $24 = 0.0, $25 = 0, $26 = 0, $27 = 0, $28 = 0.0, $29 = 0.0, $3 = 0, $30 = 0.0, $31 = 0, $32 = 0, $33 = 0.0, $34 = 0.0, $35 = 0.0, $36 = 0, $37 = 0, $38 = 0.0, $39 = 0.0, $4 = 0; - var $40 = 0.0, $41 = 0, $42 = 0, $43 = 0.0, $44 = 0.0, $45 = 0.0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $a$0 = 0, $b$0 = 0, $exitcond = 0, $exitcond20 = 0; - var $i$013 = 0, $i$18 = 0, $j$04 = 0, $j$04$phi = 0, $k$05 = 0, $m$07 = 0, $n$0$lcssa = 0, $n$014 = 0, $n$1$lcssa = 0, $n$19 = 0, $n$2$lcssa = 0, $n$26 = 0, $n$3 = 0, $phitmp = 0, $phitmp19 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ($invert|0)!=(0); - $1 = -$scale_y; - $2 = $0 ? $1 : $scale_y; - $3 = ($windings|0)>(0); - if ($3) { - $i$013 = 0;$n$014 = 0; - while(1) { - $4 = (($wcount) + ($i$013<<2)|0); - $5 = HEAP32[$4>>2]|0; - $6 = (($5) + ($n$014))|0; - $7 = (($i$013) + 1)|0; - $exitcond20 = ($7|0)==($windings|0); - if ($exitcond20) { - $$lcssa = $6; - break; - } else { - $i$013 = $7;$n$014 = $6; - } - } - $phitmp = ($$lcssa*20)|0; - $phitmp19 = (($phitmp) + 20)|0; - $n$0$lcssa = $phitmp19; - } else { - $n$0$lcssa = 20; - } - $8 = (_malloc($n$0$lcssa)|0); - $9 = ($8|0)==(0|0); - if ($9) { - return; - } - $10 = ($windings|0)>(0); - if ($10) { - $i$18 = 0;$m$07 = 0;$n$19 = 0; - while(1) { - $11 = (($wcount) + ($i$18<<2)|0); - $12 = HEAP32[$11>>2]|0; - $13 = (($12) + ($m$07))|0; - $14 = ($12|0)>(0); - if ($14) { - $15 = (($12) + -1)|0; - $16 = HEAP32[$11>>2]|0; - $j$04 = $15;$k$05 = 0;$n$26 = $n$19; - while(1) { - $$sum = (($j$04) + ($m$07))|0; - $17 = (((($pts) + ($$sum<<3)|0)) + 4|0); - $18 = +HEAPF32[$17>>2]; - $$sum1 = (($k$05) + ($m$07))|0; - $19 = (((($pts) + ($$sum1<<3)|0)) + 4|0); - $20 = +HEAPF32[$19>>2]; - $21 = $18 == $20; - if ($21) { - $n$3 = $n$26; - } else { - $22 = (((($8) + (($n$26*20)|0)|0)) + 16|0); - HEAP32[$22>>2] = 0; - $23 = +HEAPF32[$17>>2]; - $24 = +HEAPF32[$19>>2]; - if ($0) { - $25 = $23 > $24; - if ($25) { - label = 12; - } else { - $a$0 = $k$05;$b$0 = $j$04; - } - } else { - $26 = $23 < $24; - if ($26) { - label = 12; - } else { - $a$0 = $k$05;$b$0 = $j$04; - } - } - if ((label|0) == 12) { - label = 0; - HEAP32[$22>>2] = 1; - $a$0 = $j$04;$b$0 = $k$05; - } - $$sum2 = (($a$0) + ($m$07))|0; - $27 = (($pts) + ($$sum2<<3)|0); - $28 = +HEAPF32[$27>>2]; - $29 = $28 * $scale_x; - $30 = $29 + $shift_x; - $31 = (($8) + (($n$26*20)|0)|0); - HEAPF32[$31>>2] = $30; - $32 = (((($pts) + ($$sum2<<3)|0)) + 4|0); - $33 = +HEAPF32[$32>>2]; - $34 = $2 * $33; - $35 = $34 + $shift_y; - $36 = (((($8) + (($n$26*20)|0)|0)) + 4|0); - HEAPF32[$36>>2] = $35; - $$sum3 = (($b$0) + ($m$07))|0; - $37 = (($pts) + ($$sum3<<3)|0); - $38 = +HEAPF32[$37>>2]; - $39 = $38 * $scale_x; - $40 = $39 + $shift_x; - $41 = (((($8) + (($n$26*20)|0)|0)) + 8|0); - HEAPF32[$41>>2] = $40; - $42 = (((($pts) + ($$sum3<<3)|0)) + 4|0); - $43 = +HEAPF32[$42>>2]; - $44 = $2 * $43; - $45 = $44 + $shift_y; - $46 = (((($8) + (($n$26*20)|0)|0)) + 12|0); - HEAPF32[$46>>2] = $45; - $47 = (($n$26) + 1)|0; - $n$3 = $47; - } - $48 = (($k$05) + 1)|0; - $49 = ($48|0)<($16|0); - if ($49) { - $j$04$phi = $k$05;$k$05 = $48;$n$26 = $n$3;$j$04 = $j$04$phi; - } else { - $n$2$lcssa = $n$3; - break; - } - } - } else { - $n$2$lcssa = $n$19; - } - $50 = (($i$18) + 1)|0; - $exitcond = ($50|0)==($windings|0); - if ($exitcond) { - $n$1$lcssa = $n$2$lcssa; - break; - } else { - $i$18 = $50;$m$07 = $13;$n$19 = $n$2$lcssa; - } - } - } else { - $n$1$lcssa = 0; - } - _stbtt__sort_edges($8,$n$1$lcssa); - _stbtt__rasterize_sorted_edges($result,$8,$n$1$lcssa,$off_x,$off_y); - _free($8); - return; -} -function _LoadRBMF($agg$result,$fileName) { - $agg$result = $agg$result|0; - $fileName = $fileName|0; - var $$lcssa = 0, $$lcssa9 = 0, $$op = 0, $$op$op = 0, $$op$op$op = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0; - var $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0; - var $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0; - var $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; - var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0; - var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0; - var $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0; - var $99 = 0, $counter$014 = 0, $currentLine$010 = 0, $currentLine$1 = 0, $currentPosX$011 = 0, $currentPosX$1 = 0, $exitcond = 0, $exitcond29 = 0, $exitcond30 = 0, $i$025 = 0, $i1$021 = 0, $i2$018 = 0, $i3$015 = 0, $i4$012 = 0, $image = 0, $image$byval_copy14 = 0, $j$013 = 0, $rbmfCharWidthData$0 = 0, $rbmfFileData$0 = 0, $rbmfHeader = 0; - var $spriteFont$sroa$0$0 = 0, $spriteFont$sroa$16$0 = 0, $spriteFont$sroa$18$0 = 0, $spriteFont$sroa$27$0 = 0, $spriteFont$sroa$29$0 = 0, $spriteFont$sroa$6$0 = 0, $spriteFont$sroa$7 = 0, $spriteFont$sroa$77$0 = 0, $spriteFont$sroa$8$0 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer11 = 0, $vararg_ptr4 = 0, $vararg_ptr5 = 0, $vararg_ptr6 = 0, $vararg_ptr7 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 176|0; - $image$byval_copy14 = sp + 56|0; - $vararg_buffer11 = sp + 48|0; - $vararg_buffer1 = sp + 24|0; - $vararg_buffer = sp + 16|0; - $spriteFont$sroa$7 = sp; - $rbmfHeader = sp + 160|0; - $0 = sp + 116|0; - $image = sp + 96|0; - $1 = sp + 76|0; - ;HEAP32[$spriteFont$sroa$7>>2]=0|0;HEAP32[$spriteFont$sroa$7+4>>2]=0|0;HEAP32[$spriteFont$sroa$7+8>>2]=0|0; - $2 = (_fopen($fileName,20392)|0); - $3 = ($2|0)==(0|0); - if ($3) { - HEAP32[$vararg_buffer>>2] = $fileName; - _TraceLog(2,20395,$vararg_buffer); - _GetDefaultFont($0); - $4 = HEAP32[$0>>2]|0; - $5 = ((($0)) + 4|0); - $6 = HEAP32[$5>>2]|0; - $7 = ((($0)) + 8|0); - ;HEAP32[$spriteFont$sroa$7>>2]=HEAP32[$7>>2]|0;HEAP32[$spriteFont$sroa$7+4>>2]=HEAP32[$7+4>>2]|0;HEAP32[$spriteFont$sroa$7+8>>2]=HEAP32[$7+8>>2]|0; - $8 = ((($0)) + 20|0); - $9 = HEAP32[$8>>2]|0; - $10 = ((($0)) + 24|0); - $11 = HEAP32[$10>>2]|0; - $12 = ((($0)) + 28|0); - $13 = HEAP32[$12>>2]|0; - $14 = ((($0)) + 32|0); - $15 = HEAP32[$14>>2]|0; - $16 = ((($0)) + 36|0); - $17 = HEAP32[$16>>2]|0; - $18 = ((($0)) + 40|0); - $19 = HEAP32[$18>>2]|0; - $rbmfCharWidthData$0 = 0;$rbmfFileData$0 = 0;$spriteFont$sroa$0$0 = $4;$spriteFont$sroa$16$0 = $13;$spriteFont$sroa$18$0 = $15;$spriteFont$sroa$27$0 = $17;$spriteFont$sroa$29$0 = $19;$spriteFont$sroa$6$0 = $6;$spriteFont$sroa$77$0 = $9;$spriteFont$sroa$8$0 = $11; - (_fclose($2)|0); - _free($rbmfFileData$0); - _free($rbmfCharWidthData$0); - HEAP32[$agg$result>>2] = $spriteFont$sroa$0$0; - $148 = ((($agg$result)) + 4|0); - HEAP32[$148>>2] = $spriteFont$sroa$6$0; - $149 = ((($agg$result)) + 8|0); - ;HEAP32[$149>>2]=HEAP32[$spriteFont$sroa$7>>2]|0;HEAP32[$149+4>>2]=HEAP32[$spriteFont$sroa$7+4>>2]|0;HEAP32[$149+8>>2]=HEAP32[$spriteFont$sroa$7+8>>2]|0; - $150 = ((($agg$result)) + 20|0); - HEAP32[$150>>2] = $spriteFont$sroa$77$0; - $151 = ((($agg$result)) + 24|0); - HEAP32[$151>>2] = $spriteFont$sroa$8$0; - $152 = ((($agg$result)) + 28|0); - HEAP32[$152>>2] = $spriteFont$sroa$16$0; - $153 = ((($agg$result)) + 32|0); - HEAP32[$153>>2] = $spriteFont$sroa$18$0; - $154 = ((($agg$result)) + 36|0); - HEAP32[$154>>2] = $spriteFont$sroa$27$0; - $155 = ((($agg$result)) + 40|0); - HEAP32[$155>>2] = $spriteFont$sroa$29$0; - STACKTOP = sp;return; - } - (_fread($rbmfHeader,16,1,$2)|0); - $20 = ((($rbmfHeader)) + 6|0); - $21 = HEAP16[$20>>1]|0; - $22 = $21 << 16 >> 16; - $23 = ((($rbmfHeader)) + 8|0); - $24 = HEAP16[$23>>1]|0; - $25 = $24 << 16 >> 16; - $26 = ((($rbmfHeader)) + 10|0); - $27 = HEAP16[$26>>1]|0; - $28 = $27 << 16 >> 16; - $29 = ((($rbmfHeader)) + 12|0); - $30 = HEAP16[$29>>1]|0; - $31 = $30 << 16 >> 16; - HEAP32[$vararg_buffer1>>2] = $fileName; - $vararg_ptr4 = ((($vararg_buffer1)) + 4|0); - HEAP32[$vararg_ptr4>>2] = $22; - $vararg_ptr5 = ((($vararg_buffer1)) + 8|0); - HEAP32[$vararg_ptr5>>2] = $25; - $vararg_ptr6 = ((($vararg_buffer1)) + 12|0); - HEAP32[$vararg_ptr6>>2] = $28; - $vararg_ptr7 = ((($vararg_buffer1)) + 16|0); - HEAP32[$vararg_ptr7>>2] = $31; - _TraceLog(3,20455,$vararg_buffer1); - $32 = HEAP16[$26>>1]|0; - $33 = $32 << 16 >> 16; - $34 = HEAP16[$20>>1]|0; - $35 = $34 << 16 >> 16; - $36 = HEAP16[$23>>1]|0; - $37 = $36 << 16 >> 16; - $38 = Math_imul($37, $35)|0; - $39 = (($38|0) / 32)&-1; - $40 = $39 << 2; - $41 = (_malloc($40)|0); - $42 = ($38|0)>(31); - if ($42) { - $i$025 = 0; - while(1) { - $43 = (($41) + ($i$025<<2)|0); - (_fread($43,4,1,$2)|0); - $44 = (($i$025) + 1)|0; - $45 = ($44|0)<($39|0); - if ($45) { - $i$025 = $44; - } else { - break; - } - } - } - $46 = (_malloc($33)|0); - $47 = ($32<<16>>16)>(0); - if ($47) { - $48 = $32 << 16 >> 16; - $i1$021 = 0; - while(1) { - $49 = (($46) + ($i1$021)|0); - (_fread($49,1,1,$2)|0); - $50 = (($i1$021) + 1)|0; - $exitcond30 = ($50|0)==($48|0); - if ($exitcond30) { - break; - } else { - $i1$021 = $50; - } - } - } - $51 = HEAP16[$20>>1]|0; - $52 = $51 << 16 >> 16; - $53 = HEAP16[$23>>1]|0; - $54 = $53 << 16 >> 16; - $55 = $52 << 2; - $56 = Math_imul($55, $54)|0; - $57 = (_malloc($56)|0); - $58 = HEAP16[$20>>1]|0; - $59 = $58 << 16 >> 16; - $60 = HEAP16[$23>>1]|0; - $61 = $60 << 16 >> 16; - $62 = Math_imul($61, $59)|0; - $63 = ($62|0)>(0); - if ($63) { - $64 = HEAP16[$20>>1]|0; - $65 = $64 << 16 >> 16; - $66 = HEAP16[$23>>1]|0; - $67 = $66 << 16 >> 16; - $68 = Math_imul($67, $65)|0; - $i2$018 = 0; - while(1) { - $82 = (($57) + ($i2$018<<2)|0); - $83 = (($i2$018) + 1)|0; - $84 = ($83|0)<($68|0); - HEAP8[$82>>0]=0&255;HEAP8[$82+1>>0]=(0>>8)&255;HEAP8[$82+2>>0]=(0>>16)&255;HEAP8[$82+3>>0]=0>>24; - if ($84) { - $i2$018 = $83; - } else { - break; - } - } - } - $69 = HEAP16[$20>>1]|0; - $70 = $69 << 16 >> 16; - $71 = HEAP16[$23>>1]|0; - $72 = $71 << 16 >> 16; - $73 = Math_imul($72, $70)|0; - $74 = ($73|0)>(0); - if ($74) { - $75 = HEAP16[$20>>1]|0; - $76 = HEAP16[$23>>1]|0; - $77 = $76 << 16 >> 16; - $78 = $75 << 16 >> 16; - $79 = Math_imul($77, $78)|0; - $80 = ($79|0)>(32); - $$op = (($79) + -1)|0; - $$op$op = $$op >>> 5; - $$op$op$op = (($$op$op) + 1)|0; - $81 = $80 ? $$op$op$op : 1; - $counter$014 = 0;$i3$015 = 0; - while(1) { - $85 = (($41) + ($counter$014<<2)|0); - $86 = HEAP32[$85>>2]|0; - $j$013 = 31; - while(1) { - $87 = 1 << $j$013; - $88 = $86 & $87; - $89 = ($88|0)==(0); - if (!($89)) { - $90 = (($j$013) + ($i3$015))|0; - $91 = (($57) + ($90<<2)|0); - HEAP8[$91>>0]=-1&255;HEAP8[$91+1>>0]=(-1>>8)&255;HEAP8[$91+2>>0]=(-1>>16)&255;HEAP8[$91+3>>0]=-1>>24; - } - $92 = (($j$013) + -1)|0; - $93 = ($j$013|0)>(0); - if ($93) { - $j$013 = $92; - } else { - break; - } - } - $94 = (($counter$014) + 1)|0; - $95 = (($i3$015) + 32)|0; - $exitcond29 = ($94|0)==($81|0); - if ($exitcond29) { - break; - } else { - $counter$014 = $94;$i3$015 = $95; - } - } - $96 = $75 << 16 >> 16; - $97 = $76 << 16 >> 16; - $$lcssa = $96;$$lcssa9 = $97; - } else { - $$lcssa = $70;$$lcssa9 = $72; - } - _LoadImageEx($image,$57,$$lcssa,$$lcssa9); - _ImageFormat($image,2); - _free($57); - HEAP32[$image$byval_copy14>>2] = $fileName; - _TraceLog(3,20521,$image$byval_copy14); - ;HEAP32[$image$byval_copy14>>2]=HEAP32[$image>>2]|0;HEAP32[$image$byval_copy14+4>>2]=HEAP32[$image+4>>2]|0;HEAP32[$image$byval_copy14+8>>2]=HEAP32[$image+8>>2]|0;HEAP32[$image$byval_copy14+12>>2]=HEAP32[$image+12>>2]|0;HEAP32[$image$byval_copy14+16>>2]=HEAP32[$image+16>>2]|0; - _LoadTextureFromImage($1,$image$byval_copy14); - $98 = HEAP32[$1>>2]|0; - $99 = ((($1)) + 4|0); - $100 = HEAP32[$99>>2]|0; - $101 = ((($1)) + 8|0); - ;HEAP32[$spriteFont$sroa$7>>2]=HEAP32[$101>>2]|0;HEAP32[$spriteFont$sroa$7+4>>2]=HEAP32[$101+4>>2]|0;HEAP32[$spriteFont$sroa$7+8>>2]=HEAP32[$101+8>>2]|0; - ;HEAP32[$image$byval_copy14>>2]=HEAP32[$image>>2]|0;HEAP32[$image$byval_copy14+4>>2]=HEAP32[$image+4>>2]|0;HEAP32[$image$byval_copy14+8>>2]=HEAP32[$image+8>>2]|0;HEAP32[$image$byval_copy14+12>>2]=HEAP32[$image+12>>2]|0;HEAP32[$image$byval_copy14+16>>2]=HEAP32[$image+16>>2]|0; - _UnloadImage($image$byval_copy14); - $102 = $33 << 2; - $103 = (_malloc($102)|0); - $104 = $33 << 4; - $105 = (_malloc($104)|0); - $106 = $33 << 3; - $107 = (_malloc($106)|0); - $108 = (_malloc($102)|0); - $109 = ($32<<16>>16)>(0); - if ($109) { - $110 = ((($rbmfHeader)) + 5|0); - $111 = HEAP8[$110>>0]|0; - $112 = $111 << 24 >> 24; - $113 = HEAP16[$29>>1]|0; - $114 = $113 << 16 >> 16; - $115 = (($114) + 1)|0; - $116 = $113 << 16 >> 16; - $117 = $113 << 16 >> 16; - $118 = (($117) + 1)|0; - $119 = $32 << 16 >> 16; - $120 = $32 << 16 >> 16; - $121 = $120 << 2; - _memset(($108|0),0,($121|0))|0; - $currentLine$010 = 0;$currentPosX$011 = 1;$i4$012 = 0; - while(1) { - $122 = (($112) + ($i4$012))|0; - $123 = (($103) + ($i4$012<<2)|0); - HEAP32[$123>>2] = $122; - $124 = (($105) + ($i4$012<<4)|0); - HEAP32[$124>>2] = $currentPosX$011; - $125 = Math_imul($115, $currentLine$010)|0; - $126 = (($125) + 1)|0; - $127 = (((($105) + ($i4$012<<4)|0)) + 4|0); - HEAP32[$127>>2] = $126; - $128 = (($46) + ($i4$012)|0); - $129 = HEAP8[$128>>0]|0; - $130 = $129&255; - $131 = (((($105) + ($i4$012<<4)|0)) + 8|0); - HEAP32[$131>>2] = $130; - $132 = (((($105) + ($i4$012<<4)|0)) + 12|0); - HEAP32[$132>>2] = $116; - $133 = (($107) + ($i4$012<<3)|0); - HEAPF32[$133>>2] = 0.0; - $134 = (((($107) + ($i4$012<<3)|0)) + 4|0); - HEAPF32[$134>>2] = 0.0; - $135 = HEAP32[$131>>2]|0; - $136 = (($currentPosX$011) + 1)|0; - $137 = (($136) + ($135))|0; - $138 = ($137|0)>($100|0); - if ($138) { - $139 = (($currentLine$010) + 1)|0; - $140 = HEAP8[$128>>0]|0; - $141 = $140&255; - $142 = (($141) + 2)|0; - HEAP32[$124>>2] = 1; - $143 = Math_imul($118, $139)|0; - $144 = (($143) + 1)|0; - HEAP32[$127>>2] = $144; - $currentLine$1 = $139;$currentPosX$1 = $142; - } else { - $currentLine$1 = $currentLine$010;$currentPosX$1 = $137; - } - $145 = (($i4$012) + 1)|0; - $exitcond = ($145|0)==($119|0); - if ($exitcond) { - break; - } else { - $currentLine$010 = $currentLine$1;$currentPosX$011 = $currentPosX$1;$i4$012 = $145; - } - } - } - $146 = ((($105)) + 12|0); - $147 = HEAP32[$146>>2]|0; - HEAP32[$vararg_buffer11>>2] = $fileName; - _TraceLog(0,20586,$vararg_buffer11); - $rbmfCharWidthData$0 = $46;$rbmfFileData$0 = $41;$spriteFont$sroa$0$0 = $98;$spriteFont$sroa$16$0 = $103;$spriteFont$sroa$18$0 = $105;$spriteFont$sroa$27$0 = $107;$spriteFont$sroa$29$0 = $108;$spriteFont$sroa$6$0 = $100;$spriteFont$sroa$77$0 = $147;$spriteFont$sroa$8$0 = $33; - (_fclose($2)|0); - _free($rbmfFileData$0); - _free($rbmfCharWidthData$0); - HEAP32[$agg$result>>2] = $spriteFont$sroa$0$0; - $148 = ((($agg$result)) + 4|0); - HEAP32[$148>>2] = $spriteFont$sroa$6$0; - $149 = ((($agg$result)) + 8|0); - ;HEAP32[$149>>2]=HEAP32[$spriteFont$sroa$7>>2]|0;HEAP32[$149+4>>2]=HEAP32[$spriteFont$sroa$7+4>>2]|0;HEAP32[$149+8>>2]=HEAP32[$spriteFont$sroa$7+8>>2]|0; - $150 = ((($agg$result)) + 20|0); - HEAP32[$150>>2] = $spriteFont$sroa$77$0; - $151 = ((($agg$result)) + 24|0); - HEAP32[$151>>2] = $spriteFont$sroa$8$0; - $152 = ((($agg$result)) + 28|0); - HEAP32[$152>>2] = $spriteFont$sroa$16$0; - $153 = ((($agg$result)) + 32|0); - HEAP32[$153>>2] = $spriteFont$sroa$18$0; - $154 = ((($agg$result)) + 36|0); - HEAP32[$154>>2] = $spriteFont$sroa$27$0; - $155 = ((($agg$result)) + 40|0); - HEAP32[$155>>2] = $spriteFont$sroa$29$0; - STACKTOP = sp;return; -} -function _LoadTTF($agg$result,$fileName) { - $agg$result = $agg$result|0; - $fileName = $fileName|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0.0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; - var $7 = 0, $8 = 0, $9 = 0, $charData = 0, $exitcond = 0, $exitcond4 = 0, $font$sroa$0 = 0, $i$03 = 0, $i1$01 = 0, $image = 0, $image$byval_copy1 = 0, $k$02 = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 2000|0; - $image$byval_copy1 = sp + 1968|0; - $vararg_buffer = sp + 24|0; - $charData = sp + 68|0; - $font$sroa$0 = sp; - $image = sp + 48|0; - $0 = sp + 28|0; - $1 = (_malloc(33554432)|0); - $2 = (_malloc(262144)|0); - ;HEAP32[$font$sroa$0>>2]=0|0;HEAP32[$font$sroa$0+4>>2]=0|0;HEAP32[$font$sroa$0+8>>2]=0|0;HEAP32[$font$sroa$0+12>>2]=0|0;HEAP32[$font$sroa$0+16>>2]=0|0; - $3 = (_fopen($fileName,20392)|0); - $4 = ($3|0)==(0|0); - if ($4) { - HEAP32[$vararg_buffer>>2] = $fileName; - _TraceLog(2,20019,$vararg_buffer); - ;HEAP32[$agg$result>>2]=HEAP32[$font$sroa$0>>2]|0;HEAP32[$agg$result+4>>2]=HEAP32[$font$sroa$0+4>>2]|0;HEAP32[$agg$result+8>>2]=HEAP32[$font$sroa$0+8>>2]|0;HEAP32[$agg$result+12>>2]=HEAP32[$font$sroa$0+12>>2]|0;HEAP32[$agg$result+16>>2]=HEAP32[$font$sroa$0+16>>2]|0; - $5 = ((($agg$result)) + 20|0); - ;HEAP32[$5>>2]=0|0;HEAP32[$5+4>>2]=0|0;HEAP32[$5+8>>2]=0|0;HEAP32[$5+12>>2]=0|0;HEAP32[$5+16>>2]=0|0;HEAP32[$5+20>>2]=0|0; - STACKTOP = sp;return; - } - (_fread($1,1,33554432,$3)|0); - (_stbtt_BakeFontBitmap($1,0,32.0,$2,512,512,32,95,$charData)|0); - _free($1); - $6 = (_malloc(524288)|0); - $i$03 = 0;$k$02 = 0; - while(1) { - $7 = (($6) + ($k$02)|0); - HEAP8[$7>>0] = -1; - $8 = (($2) + ($i$03)|0); - $9 = HEAP8[$8>>0]|0; - $10 = $k$02 | 1; - $11 = (($6) + ($10)|0); - HEAP8[$11>>0] = $9; - $12 = (($k$02) + 2)|0; - $13 = (($i$03) + 1)|0; - $exitcond4 = ($13|0)==(262144); - if ($exitcond4) { - break; - } else { - $i$03 = $13;$k$02 = $12; - } - } - _free($2); - $14 = ((($image)) + 4|0); - HEAP32[$14>>2] = 512; - $15 = ((($image)) + 8|0); - HEAP32[$15>>2] = 512; - $16 = ((($image)) + 12|0); - HEAP32[$16>>2] = 1; - $17 = ((($image)) + 16|0); - HEAP32[$17>>2] = 2; - HEAP32[$image>>2] = $6; - ;HEAP32[$image$byval_copy1>>2]=HEAP32[$image>>2]|0;HEAP32[$image$byval_copy1+4>>2]=HEAP32[$image+4>>2]|0;HEAP32[$image$byval_copy1+8>>2]=HEAP32[$image+8>>2]|0;HEAP32[$image$byval_copy1+12>>2]=HEAP32[$image+12>>2]|0;HEAP32[$image$byval_copy1+16>>2]=HEAP32[$image+16>>2]|0; - _LoadTextureFromImage($0,$image$byval_copy1); - ;HEAP32[$font$sroa$0>>2]=HEAP32[$0>>2]|0;HEAP32[$font$sroa$0+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$font$sroa$0+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$font$sroa$0+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$font$sroa$0+16>>2]=HEAP32[$0+16>>2]|0; - ;HEAP32[$image$byval_copy1>>2]=HEAP32[$image>>2]|0;HEAP32[$image$byval_copy1+4>>2]=HEAP32[$image+4>>2]|0;HEAP32[$image$byval_copy1+8>>2]=HEAP32[$image+8>>2]|0;HEAP32[$image$byval_copy1+12>>2]=HEAP32[$image+12>>2]|0;HEAP32[$image$byval_copy1+16>>2]=HEAP32[$image+16>>2]|0; - _UnloadImage($image$byval_copy1); - $18 = (_malloc(380)|0); - $19 = (_malloc(1520)|0); - $20 = (_malloc(760)|0); - $21 = (_malloc(380)|0); - $i1$01 = 0; - while(1) { - $22 = (($i1$01) + 32)|0; - $23 = (($18) + ($i1$01<<2)|0); - HEAP32[$23>>2] = $22; - $24 = (($charData) + (($i1$01*20)|0)|0); - $25 = HEAP16[$24>>1]|0; - $26 = $25&65535; - $27 = (($19) + ($i1$01<<4)|0); - HEAP32[$27>>2] = $26; - $28 = (((($charData) + (($i1$01*20)|0)|0)) + 2|0); - $29 = HEAP16[$28>>1]|0; - $30 = $29&65535; - $31 = (((($19) + ($i1$01<<4)|0)) + 4|0); - HEAP32[$31>>2] = $30; - $32 = (((($charData) + (($i1$01*20)|0)|0)) + 4|0); - $33 = HEAP16[$32>>1]|0; - $34 = $33&65535; - $35 = HEAP16[$24>>1]|0; - $36 = $35&65535; - $37 = (($34) - ($36))|0; - $38 = (((($19) + ($i1$01<<4)|0)) + 8|0); - HEAP32[$38>>2] = $37; - $39 = (((($charData) + (($i1$01*20)|0)|0)) + 6|0); - $40 = HEAP16[$39>>1]|0; - $41 = $40&65535; - $42 = HEAP16[$28>>1]|0; - $43 = $42&65535; - $44 = (($41) - ($43))|0; - $45 = (((($19) + ($i1$01<<4)|0)) + 12|0); - HEAP32[$45>>2] = $44; - $46 = (($20) + ($i1$01<<3)|0); - $47 = (((($charData) + (($i1$01*20)|0)|0)) + 8|0); - $48 = HEAP32[$47>>2]|0; - $49 = (((($charData) + (($i1$01*20)|0)|0)) + 12|0); - $50 = HEAP32[$49>>2]|0; - HEAP32[$46>>2] = $48; - $51 = (((($20) + ($i1$01<<3)|0)) + 4|0); - HEAP32[$51>>2] = $50; - $52 = (((($charData) + (($i1$01*20)|0)|0)) + 16|0); - $53 = +HEAPF32[$52>>2]; - $54 = (~~(($53))); - $55 = (($21) + ($i1$01<<2)|0); - HEAP32[$55>>2] = $54; - $56 = (($i1$01) + 1)|0; - $exitcond = ($56|0)==(95); - if ($exitcond) { - break; - } else { - $i1$01 = $56; - } - } - ;HEAP32[$agg$result>>2]=HEAP32[$font$sroa$0>>2]|0;HEAP32[$agg$result+4>>2]=HEAP32[$font$sroa$0+4>>2]|0;HEAP32[$agg$result+8>>2]=HEAP32[$font$sroa$0+8>>2]|0;HEAP32[$agg$result+12>>2]=HEAP32[$font$sroa$0+12>>2]|0;HEAP32[$agg$result+16>>2]=HEAP32[$font$sroa$0+16>>2]|0; - $57 = ((($agg$result)) + 20|0); - HEAP32[$57>>2] = 32; - $58 = ((($agg$result)) + 24|0); - HEAP32[$58>>2] = 95; - $59 = ((($agg$result)) + 28|0); - HEAP32[$59>>2] = $18; - $60 = ((($agg$result)) + 32|0); - HEAP32[$60>>2] = $19; - $61 = ((($agg$result)) + 36|0); - HEAP32[$61>>2] = $20; - $62 = ((($agg$result)) + 40|0); - HEAP32[$62>>2] = $21; - STACKTOP = sp;return; -} -function _LoadBMFont($agg$result,$fileName) { - $agg$result = $agg$result|0; - $fileName = $fileName|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0.0, $52 = 0, $53 = 0.0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; - var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $7 = 0, $8 = 0, $9 = 0, $base = 0, $buffer = 0, $charAdvanceX = 0, $charHeight = 0, $charId = 0, $charOffsetX = 0, $charOffsetY = 0, $charWidth = 0, $charX = 0, $charY = 0, $endptr = 0, $font$sroa$7 = 0; - var $fontSize = 0, $i$04 = 0, $numChars = 0, $strlen = 0, $texFileName = 0, $texHeight = 0, $texWidth = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer11 = 0, $vararg_buffer16 = 0, $vararg_buffer19 = 0, $vararg_buffer23 = 0, $vararg_buffer26 = 0, $vararg_buffer30 = 0, $vararg_buffer34 = 0, $vararg_buffer44 = 0, $vararg_buffer7 = 0, $vararg_ptr10 = 0, $vararg_ptr14 = 0; - var $vararg_ptr15 = 0, $vararg_ptr22 = 0, $vararg_ptr29 = 0, $vararg_ptr33 = 0, $vararg_ptr37 = 0, $vararg_ptr38 = 0, $vararg_ptr39 = 0, $vararg_ptr4 = 0, $vararg_ptr40 = 0, $vararg_ptr41 = 0, $vararg_ptr42 = 0, $vararg_ptr43 = 0, $vararg_ptr5 = 0, $vararg_ptr6 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 608|0; - $vararg_buffer44 = sp + 136|0; - $vararg_buffer34 = sp + 104|0; - $vararg_buffer30 = sp + 96|0; - $vararg_buffer26 = sp + 88|0; - $vararg_buffer23 = sp + 80|0; - $vararg_buffer19 = sp + 72|0; - $vararg_buffer16 = sp + 64|0; - $vararg_buffer11 = sp + 48|0; - $vararg_buffer7 = sp + 40|0; - $vararg_buffer1 = sp + 24|0; - $vararg_buffer = sp + 16|0; - $font$sroa$7 = sp; - $buffer = sp + 344|0; - $fontSize = sp + 208|0; - $texWidth = sp + 204|0; - $texHeight = sp + 200|0; - $texFileName = sp + 216|0; - $numChars = sp + 196|0; - $base = sp + 192|0; - $0 = sp + 172|0; - $charId = sp + 168|0; - $charX = sp + 164|0; - $charY = sp + 160|0; - $charWidth = sp + 156|0; - $charHeight = sp + 152|0; - $charOffsetX = sp + 148|0; - $charOffsetY = sp + 144|0; - $charAdvanceX = sp + 140|0; - ;HEAP32[$font$sroa$7>>2]=0|0;HEAP32[$font$sroa$7+4>>2]=0|0;HEAP32[$font$sroa$7+8>>2]=0|0;HEAP32[$font$sroa$7+12>>2]=0|0; - HEAP32[$fontSize>>2] = 0; - HEAP32[$numChars>>2] = 0; - $1 = (_fopen($fileName,20016)|0); - $2 = ($1|0)==(0|0); - if ($2) { - HEAP32[$vararg_buffer>>2] = $fileName; - _TraceLog(2,20019,$vararg_buffer); - HEAP32[$agg$result>>2] = 0; - $3 = ((($agg$result)) + 4|0); - ;HEAP32[$3>>2]=HEAP32[$font$sroa$7>>2]|0;HEAP32[$3+4>>2]=HEAP32[$font$sroa$7+4>>2]|0;HEAP32[$3+8>>2]=HEAP32[$font$sroa$7+8>>2]|0;HEAP32[$3+12>>2]=HEAP32[$font$sroa$7+12>>2]|0; - $4 = ((($agg$result)) + 20|0); - ;HEAP32[$4>>2]=0|0;HEAP32[$4+4>>2]=0|0;HEAP32[$4+8>>2]=0|0;HEAP32[$4+12>>2]=0|0;HEAP32[$4+16>>2]=0|0;HEAP32[$4+20>>2]=0|0; - STACKTOP = sp;return; - } - (_fgets($buffer,256,$1)|0); - (_fgets($buffer,256,$1)|0); - $5 = (_strstr($buffer,20053)|0); - HEAP32[$vararg_buffer1>>2] = $fontSize; - $vararg_ptr4 = ((($vararg_buffer1)) + 4|0); - HEAP32[$vararg_ptr4>>2] = $base; - $vararg_ptr5 = ((($vararg_buffer1)) + 8|0); - HEAP32[$vararg_ptr5>>2] = $texWidth; - $vararg_ptr6 = ((($vararg_buffer1)) + 12|0); - HEAP32[$vararg_ptr6>>2] = $texHeight; - (_sscanf($5,20064,$vararg_buffer1)|0); - $6 = HEAP32[$fontSize>>2]|0; - HEAP32[$vararg_buffer7>>2] = $fileName; - $vararg_ptr10 = ((($vararg_buffer7)) + 4|0); - HEAP32[$vararg_ptr10>>2] = $6; - _TraceLog(3,20106,$vararg_buffer7); - $7 = HEAP32[$texWidth>>2]|0; - $8 = HEAP32[$texHeight>>2]|0; - HEAP32[$vararg_buffer11>>2] = $fileName; - $vararg_ptr14 = ((($vararg_buffer11)) + 4|0); - HEAP32[$vararg_ptr14>>2] = $7; - $vararg_ptr15 = ((($vararg_buffer11)) + 8|0); - HEAP32[$vararg_ptr15>>2] = $8; - _TraceLog(3,20125,$vararg_buffer11); - (_fgets($buffer,256,$1)|0); - $9 = (_strstr($buffer,20156)|0); - HEAP32[$vararg_buffer16>>2] = $texFileName; - (_sscanf($9,20161,$vararg_buffer16)|0); - HEAP32[$vararg_buffer19>>2] = $fileName; - $vararg_ptr22 = ((($vararg_buffer19)) + 4|0); - HEAP32[$vararg_ptr22>>2] = $texFileName; - _TraceLog(3,20177,$vararg_buffer19); - (_fgets($buffer,256,$1)|0); - $10 = (_strstr($buffer,20208)|0); - HEAP32[$vararg_buffer23>>2] = $numChars; - (_sscanf($10,20214,$vararg_buffer23)|0); - $11 = HEAP32[$numChars>>2]|0; - HEAP32[$vararg_buffer26>>2] = $fileName; - $vararg_ptr29 = ((($vararg_buffer26)) + 4|0); - HEAP32[$vararg_ptr29>>2] = $11; - _TraceLog(3,20223,$vararg_buffer26); - $12 = (_strrchr($fileName,47)|0); - $13 = (_strlen($fileName)|0); - $14 = (_strlen($12)|0); - $15 = (_strlen($texFileName)|0); - $16 = (($13) + 2)|0; - $17 = (($16) - ($14))|0; - $18 = (($17) + ($15))|0; - $19 = (_malloc($18)|0); - $20 = (_strlen($fileName)|0); - $21 = (_strlen($12)|0); - $22 = (($20) - ($21))|0; - _memcpy(($19|0),($fileName|0),($22|0))|0; - $strlen = (_strlen($19)|0); - $endptr = (($19) + ($strlen)|0); - HEAP8[$endptr>>0]=47&255;HEAP8[$endptr+1>>0]=47>>8; - (_strcat($19,$texFileName)|0); - HEAP32[$vararg_buffer30>>2] = $fileName; - $vararg_ptr33 = ((($vararg_buffer30)) + 4|0); - HEAP32[$vararg_ptr33>>2] = $19; - _TraceLog(3,20247,$vararg_buffer30); - _LoadTexture($0,$19); - $23 = HEAP32[$0>>2]|0; - $24 = ((($0)) + 4|0); - ;HEAP32[$font$sroa$7>>2]=HEAP32[$24>>2]|0;HEAP32[$font$sroa$7+4>>2]=HEAP32[$24+4>>2]|0;HEAP32[$font$sroa$7+8>>2]=HEAP32[$24+8>>2]|0;HEAP32[$font$sroa$7+12>>2]=HEAP32[$24+12>>2]|0; - $25 = HEAP32[$fontSize>>2]|0; - $26 = HEAP32[$numChars>>2]|0; - $27 = $26 << 2; - $28 = (_malloc($27)|0); - $29 = HEAP32[$numChars>>2]|0; - $30 = $29 << 4; - $31 = (_malloc($30)|0); - $32 = HEAP32[$numChars>>2]|0; - $33 = $32 << 3; - $34 = (_malloc($33)|0); - $35 = HEAP32[$numChars>>2]|0; - $36 = $35 << 2; - $37 = (_malloc($36)|0); - _free($19); - $38 = HEAP32[$numChars>>2]|0; - $39 = ($38|0)>(0); - if ($39) { - $i$04 = 0; - while(1) { - (_fgets($buffer,256,$1)|0); - HEAP32[$vararg_buffer34>>2] = $charId; - $vararg_ptr37 = ((($vararg_buffer34)) + 4|0); - HEAP32[$vararg_ptr37>>2] = $charX; - $vararg_ptr38 = ((($vararg_buffer34)) + 8|0); - HEAP32[$vararg_ptr38>>2] = $charY; - $vararg_ptr39 = ((($vararg_buffer34)) + 12|0); - HEAP32[$vararg_ptr39>>2] = $charWidth; - $vararg_ptr40 = ((($vararg_buffer34)) + 16|0); - HEAP32[$vararg_ptr40>>2] = $charHeight; - $vararg_ptr41 = ((($vararg_buffer34)) + 20|0); - HEAP32[$vararg_ptr41>>2] = $charOffsetX; - $vararg_ptr42 = ((($vararg_buffer34)) + 24|0); - HEAP32[$vararg_ptr42>>2] = $charOffsetY; - $vararg_ptr43 = ((($vararg_buffer34)) + 28|0); - HEAP32[$vararg_ptr43>>2] = $charAdvanceX; - (_sscanf($buffer,20282,$vararg_buffer34)|0); - $40 = HEAP32[$charId>>2]|0; - $41 = (($28) + ($i$04<<2)|0); - HEAP32[$41>>2] = $40; - $42 = HEAP32[$charX>>2]|0; - $43 = HEAP32[$charY>>2]|0; - $44 = HEAP32[$charWidth>>2]|0; - $45 = HEAP32[$charHeight>>2]|0; - $46 = (($31) + ($i$04<<4)|0); - HEAP32[$46>>2] = $42; - $47 = (((($31) + ($i$04<<4)|0)) + 4|0); - HEAP32[$47>>2] = $43; - $48 = (((($31) + ($i$04<<4)|0)) + 8|0); - HEAP32[$48>>2] = $44; - $49 = (((($31) + ($i$04<<4)|0)) + 12|0); - HEAP32[$49>>2] = $45; - $50 = HEAP32[$charOffsetX>>2]|0; - $51 = (+($50|0)); - $52 = HEAP32[$charOffsetY>>2]|0; - $53 = (+($52|0)); - $54 = (($34) + ($i$04<<3)|0); - HEAPF32[$54>>2] = $51; - $55 = (((($34) + ($i$04<<3)|0)) + 4|0); - HEAPF32[$55>>2] = $53; - $56 = HEAP32[$charAdvanceX>>2]|0; - $57 = (($37) + ($i$04<<2)|0); - HEAP32[$57>>2] = $56; - $58 = (($i$04) + 1)|0; - $59 = HEAP32[$numChars>>2]|0; - $60 = ($58|0)<($59|0); - if ($60) { - $i$04 = $58; - } else { - break; - } - } - } - (_fclose($1)|0); - HEAP32[$vararg_buffer44>>2] = $fileName; - _TraceLog(0,20356,$vararg_buffer44); - HEAP32[$agg$result>>2] = $23; - $61 = ((($agg$result)) + 4|0); - ;HEAP32[$61>>2]=HEAP32[$font$sroa$7>>2]|0;HEAP32[$61+4>>2]=HEAP32[$font$sroa$7+4>>2]|0;HEAP32[$61+8>>2]=HEAP32[$font$sroa$7+8>>2]|0;HEAP32[$61+12>>2]=HEAP32[$font$sroa$7+12>>2]|0; - $62 = ((($agg$result)) + 20|0); - HEAP32[$62>>2] = $25; - $63 = ((($agg$result)) + 24|0); - HEAP32[$63>>2] = $26; - $64 = ((($agg$result)) + 28|0); - HEAP32[$64>>2] = $28; - $65 = ((($agg$result)) + 32|0); - HEAP32[$65>>2] = $31; - $66 = ((($agg$result)) + 36|0); - HEAP32[$66>>2] = $34; - $67 = ((($agg$result)) + 40|0); - HEAP32[$67>>2] = $37; - STACKTOP = sp;return; -} -function _ParseImageData($image,$charValues,$charRecs) { - $image = $image|0; - $charValues = $charValues|0; - $charRecs = $charRecs|0; - var $$byval_copy4 = 0, $$lcssa = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; - var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0; - var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0; - var $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $8 = 0, $9 = 0, $charWidth$0 = 0, $charWidth$0$lcssa = 0; - var $exitcond = 0, $i$06 = 0, $index$0$lcssa = 0, $index$012 = 0, $index$1$lcssa = 0, $index$17 = 0, $j$0 = 0, $j$0$lcssa = 0, $lineToRead$013 = 0, $tempCharRecs = 0, $tempCharValues = 0, $x$1$lcssa = 0, $x$116 = 0, $x$2 = 0, $xPosToRead$18 = 0, $y$0$lcssa = 0, $y$024 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 2592|0; - $$byval_copy4 = sp + 2560|0; - $tempCharValues = sp + 2048|0; - $tempCharRecs = sp; - ;HEAP32[$$byval_copy4>>2]=HEAP32[$image>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$image+4>>2]|0;HEAP32[$$byval_copy4+8>>2]=HEAP32[$image+8>>2]|0;HEAP32[$$byval_copy4+12>>2]=HEAP32[$image+12>>2]|0;HEAP32[$$byval_copy4+16>>2]=HEAP32[$image+16>>2]|0; - $0 = (_GetImageData($$byval_copy4)|0); - $1 = ((($image)) + 8|0); - $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)>(0); - L1: do { - if ($3) { - $4 = ((($image)) + 4|0); - $5 = HEAP32[$4>>2]|0; - $6 = ($5|0)>(0); - $7 = HEAP32[$1>>2]|0; - $y$024 = 0; - while(1) { - L5: do { - if ($6) { - $8 = Math_imul($5, $y$024)|0; - $x$116 = 0; - while(1) { - $9 = (($8) + ($x$116))|0; - $10 = (($0) + ($9<<2)|0); - ;HEAP8[$$byval_copy4>>0]=HEAP8[$10>>0]|0;HEAP8[$$byval_copy4+1>>0]=HEAP8[$10+1>>0]|0;HEAP8[$$byval_copy4+2>>0]=HEAP8[$10+2>>0]|0;HEAP8[$$byval_copy4+3>>0]=HEAP8[$10+3>>0]|0; - $11 = (_PixelIsMagenta($$byval_copy4)|0); - $12 = ($11|0)==(0); - if ($12) { - $x$1$lcssa = $x$116; - break L5; - } - $13 = (($x$116) + 1)|0; - $14 = ($13|0)<($5|0); - if ($14) { - $x$116 = $13; - } else { - $x$1$lcssa = $13; - break; - } - } - } else { - $x$1$lcssa = 0; - } - } while(0); - $15 = Math_imul($5, $y$024)|0; - $16 = (($15) + ($x$1$lcssa))|0; - $17 = (($0) + ($16<<2)|0); - ;HEAP8[$$byval_copy4>>0]=HEAP8[$17>>0]|0;HEAP8[$$byval_copy4+1>>0]=HEAP8[$17+1>>0]|0;HEAP8[$$byval_copy4+2>>0]=HEAP8[$17+2>>0]|0;HEAP8[$$byval_copy4+3>>0]=HEAP8[$17+3>>0]|0; - $18 = (_PixelIsMagenta($$byval_copy4)|0); - $19 = ($18|0)==(0); - if ($19) { - $x$2 = $x$1$lcssa;$y$0$lcssa = $y$024; - break L1; - } - $20 = (($y$024) + 1)|0; - $21 = ($20|0)<($7|0); - if ($21) { - $y$024 = $20; - } else { - $x$2 = $x$1$lcssa;$y$0$lcssa = $20; - break; - } - } - } else { - $x$2 = 0;$y$0$lcssa = 0; - } - } while(0); - $22 = ((($image)) + 4|0); - $23 = HEAP32[$22>>2]|0; - $j$0 = 0; - while(1) { - $24 = (($j$0) + ($y$0$lcssa))|0; - $25 = Math_imul($24, $23)|0; - $26 = (($25) + ($x$2))|0; - $27 = (($0) + ($26<<2)|0); - ;HEAP8[$$byval_copy4>>0]=HEAP8[$27>>0]|0;HEAP8[$$byval_copy4+1>>0]=HEAP8[$27+1>>0]|0;HEAP8[$$byval_copy4+2>>0]=HEAP8[$27+2>>0]|0;HEAP8[$$byval_copy4+3>>0]=HEAP8[$27+3>>0]|0; - $28 = (_PixelIsMagenta($$byval_copy4)|0); - $29 = ($28|0)==(0); - $30 = (($j$0) + 1)|0; - if ($29) { - $j$0 = $30; - } else { - $$lcssa = $24;$j$0$lcssa = $j$0; - break; - } - } - $31 = HEAP32[$1>>2]|0; - $32 = ($y$0$lcssa|0)<($31|0); - if ($32) { - $33 = HEAP32[$22>>2]|0; - $34 = ($x$2|0)<($33|0); - $35 = HEAP32[$1>>2]|0; - $37 = $y$0$lcssa;$index$012 = 0;$lineToRead$013 = 0; - while(1) { - L20: do { - if ($34) { - $36 = Math_imul($33, $37)|0; - $38 = Math_imul($33, $37)|0; - $index$17 = $index$012;$xPosToRead$18 = $x$2; - while(1) { - $39 = (($38) + ($xPosToRead$18))|0; - $40 = (($0) + ($39<<2)|0); - ;HEAP8[$$byval_copy4>>0]=HEAP8[$40>>0]|0;HEAP8[$$byval_copy4+1>>0]=HEAP8[$40+1>>0]|0;HEAP8[$$byval_copy4+2>>0]=HEAP8[$40+2>>0]|0;HEAP8[$$byval_copy4+3>>0]=HEAP8[$40+3>>0]|0; - $41 = (_PixelIsMagenta($$byval_copy4)|0); - $42 = ($41|0)==(0); - if (!($42)) { - $index$1$lcssa = $index$17; - break L20; - } - $43 = (($index$17) + 32)|0; - $44 = (($tempCharValues) + ($index$17<<2)|0); - HEAP32[$44>>2] = $43; - $45 = (($tempCharRecs) + ($index$17<<4)|0); - HEAP32[$45>>2] = $xPosToRead$18; - $46 = (((($tempCharRecs) + ($index$17<<4)|0)) + 4|0); - HEAP32[$46>>2] = $37; - $47 = (((($tempCharRecs) + ($index$17<<4)|0)) + 12|0); - HEAP32[$47>>2] = $j$0$lcssa; - $charWidth$0 = 0; - while(1) { - $48 = (($charWidth$0) + ($xPosToRead$18))|0; - $49 = (($48) + ($36))|0; - $50 = (($0) + ($49<<2)|0); - ;HEAP8[$$byval_copy4>>0]=HEAP8[$50>>0]|0;HEAP8[$$byval_copy4+1>>0]=HEAP8[$50+1>>0]|0;HEAP8[$$byval_copy4+2>>0]=HEAP8[$50+2>>0]|0;HEAP8[$$byval_copy4+3>>0]=HEAP8[$50+3>>0]|0; - $51 = (_PixelIsMagenta($$byval_copy4)|0); - $52 = ($51|0)==(0); - $53 = (($charWidth$0) + 1)|0; - if ($52) { - $charWidth$0 = $53; - } else { - $charWidth$0$lcssa = $charWidth$0; - break; - } - } - $54 = (((($tempCharRecs) + ($index$17<<4)|0)) + 8|0); - HEAP32[$54>>2] = $charWidth$0$lcssa; - $55 = (($index$17) + 1)|0; - $56 = (($xPosToRead$18) + ($x$2))|0; - $57 = (($56) + ($charWidth$0$lcssa))|0; - $58 = ($57|0)<($33|0); - if ($58) { - $index$17 = $55;$xPosToRead$18 = $57; - } else { - $index$1$lcssa = $55; - break; - } - } - } else { - $index$1$lcssa = $index$012; - } - } while(0); - $59 = (($lineToRead$013) + 1)|0; - $60 = Math_imul($59, $$lcssa)|0; - $61 = (($60) + ($y$0$lcssa))|0; - $62 = ($61|0)<($35|0); - if ($62) { - $37 = $61;$index$012 = $index$1$lcssa;$lineToRead$013 = $59; - } else { - $index$0$lcssa = $index$1$lcssa; - break; - } - } - } else { - $index$0$lcssa = 0; - } - _free($0); - $63 = $index$0$lcssa << 4; - $64 = (_malloc($63)|0); - HEAP32[$charRecs>>2] = $64; - $65 = $index$0$lcssa << 2; - $66 = (_malloc($65)|0); - HEAP32[$charValues>>2] = $66; - $67 = ($index$0$lcssa|0)>(0); - if ($67) { - $i$06 = 0; - } else { - STACKTOP = sp;return ($index$0$lcssa|0); - } - while(1) { - $68 = (($tempCharValues) + ($i$06<<2)|0); - $69 = HEAP32[$68>>2]|0; - $70 = HEAP32[$charValues>>2]|0; - $71 = (($70) + ($i$06<<2)|0); - HEAP32[$71>>2] = $69; - $72 = HEAP32[$charRecs>>2]|0; - $73 = (($72) + ($i$06<<4)|0); - $74 = (($tempCharRecs) + ($i$06<<4)|0); - ;HEAP32[$73>>2]=HEAP32[$74>>2]|0;HEAP32[$73+4>>2]=HEAP32[$74+4>>2]|0;HEAP32[$73+8>>2]=HEAP32[$74+8>>2]|0;HEAP32[$73+12>>2]=HEAP32[$74+12>>2]|0; - $75 = (($i$06) + 1)|0; - $exitcond = ($75|0)==($index$0$lcssa|0); - if ($exitcond) { - break; - } else { - $i$06 = $75; - } - } - STACKTOP = sp;return ($index$0$lcssa|0); -} -function _stbi__fopen($filename) { - $filename = $filename|0; - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_fopen($filename,20392)|0); - return ($0|0); -} -function _stbi__err($str) { - $str = $str|0; - var label = 0, sp = 0; - sp = STACKTOP; - HEAP32[5724>>2] = $str; - return; -} -function _stbi__start_file($s,$f) { - $s = $s|0; - $f = $f|0; - var label = 0, sp = 0; - sp = STACKTOP; - _stbi__start_callbacks($s,8636,$f); - return; -} -function _stbi__load_flip($s,$x,$y,$comp,$req_comp) { - $s = $s|0; - $x = $x|0; - $y = $y|0; - $comp = $comp|0; - $req_comp = $req_comp|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $col$04 = 0, $exitcond = 0, $exitcond7 = 0, $exitcond8 = 0, $or$cond = 0, $row$06 = 0, $z$03 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_stbi__load_main($s,$x,$y,$comp,$req_comp)|0); - $1 = HEAP32[5728>>2]|0; - $2 = ($1|0)!=(0); - $3 = ($0|0)!=(0|0); - $or$cond = $3 & $2; - if (!($or$cond)) { - return ($0|0); - } - $4 = HEAP32[$x>>2]|0; - $5 = HEAP32[$y>>2]|0; - $6 = ($req_comp|0)==(0); - if ($6) { - $7 = HEAP32[$comp>>2]|0; - $11 = $7; - } else { - $11 = $req_comp; - } - $8 = $5 >> 1; - $9 = ($8|0)>(0); - if (!($9)) { - return ($0|0); - } - $10 = ($4|0)>(0); - $12 = ($11|0)>(0); - $13 = (($5) + -1)|0; - $row$06 = 0; - while(1) { - if ($10) { - $14 = Math_imul($row$06, $4)|0; - $15 = (($13) - ($row$06))|0; - $16 = Math_imul($15, $4)|0; - $col$04 = 0; - while(1) { - if ($12) { - $17 = (($col$04) + ($14))|0; - $18 = Math_imul($17, $11)|0; - $19 = (($col$04) + ($16))|0; - $20 = Math_imul($19, $11)|0; - $z$03 = 0; - while(1) { - $21 = (($z$03) + ($18))|0; - $22 = (($0) + ($21)|0); - $23 = HEAP8[$22>>0]|0; - $24 = (($z$03) + ($20))|0; - $25 = (($0) + ($24)|0); - $26 = HEAP8[$25>>0]|0; - HEAP8[$22>>0] = $26; - HEAP8[$25>>0] = $23; - $27 = (($z$03) + 1)|0; - $exitcond = ($27|0)==($11|0); - if ($exitcond) { - break; - } else { - $z$03 = $27; - } - } - } - $28 = (($col$04) + 1)|0; - $exitcond7 = ($28|0)==($4|0); - if ($exitcond7) { - break; - } else { - $col$04 = $28; - } - } - } - $29 = (($row$06) + 1)|0; - $exitcond8 = ($29|0)==($8|0); - if ($exitcond8) { - break; - } else { - $row$06 = $29; - } - } - return ($0|0); -} -function _stbi__start_callbacks($s,$c,$user) { - $s = $s|0; - $c = $c|0; - $user = $user|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($s)) + 16|0); - ;HEAP32[$0>>2]=HEAP32[$c>>2]|0;HEAP32[$0+4>>2]=HEAP32[$c+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$c+8>>2]|0; - $1 = ((($s)) + 28|0); - HEAP32[$1>>2] = $user; - $2 = ((($s)) + 36|0); - HEAP32[$2>>2] = 128; - $3 = ((($s)) + 32|0); - HEAP32[$3>>2] = 1; - $4 = ((($s)) + 40|0); - $5 = ((($s)) + 176|0); - HEAP32[$5>>2] = $4; - _stbi__refill_buffer($s); - $6 = ((($s)) + 172|0); - $7 = HEAP32[$6>>2]|0; - $8 = ((($s)) + 180|0); - HEAP32[$8>>2] = $7; - return; -} -function _stbi__malloc($size) { - $size = $size|0; - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_malloc($size)|0); - return ($0|0); -} -function _stbi__do_zlib($a,$obuf,$olen,$exp,$parse_header) { - $a = $a|0; - $obuf = $obuf|0; - $olen = $olen|0; - $exp = $exp|0; - $parse_header = $parse_header|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($a)) + 20|0); - HEAP32[$0>>2] = $obuf; - $1 = ((($a)) + 16|0); - HEAP32[$1>>2] = $obuf; - $2 = (($obuf) + ($olen)|0); - $3 = ((($a)) + 24|0); - HEAP32[$3>>2] = $2; - $4 = ((($a)) + 28|0); - HEAP32[$4>>2] = $exp; - $5 = (_stbi__parse_zlib($a,$parse_header)|0); - return ($5|0); -} -function _stbi__get16le($s) { - $s = $s|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_stbi__get8($s)|0); - $1 = $0&255; - $2 = (_stbi__get8($s)|0); - $3 = $2&255; - $4 = $3 << 8; - $5 = $4 | $1; - return ($5|0); -} -function _LoadDDS($agg$result,$fileName) { - $agg$result = $agg$result|0; - $fileName = $fileName|0; - var $$ = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; - var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0; - var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0; - var $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $bufsize$0 = 0, $exitcond = 0, $exitcond13 = 0, $filecode = 0, $header = 0, $i$09 = 0, $i2$011 = 0, $i3$08 = 0, $image$sroa$0$0 = 0; - var $image$sroa$0$1 = 0, $image$sroa$0$2 = 0, $image$sroa$0$3 = 0, $image$sroa$26$0 = 0, $image$sroa$26$1 = 0, $image$sroa$41$0 = 0, $image$sroa$41$1 = 0, $image$sroa$56$0 = 0, $image$sroa$56$1 = 0, $image$sroa$56$2 = 0, $image$sroa$59$0 = 0, $image$sroa$59$1 = 0, $image$sroa$59$2 = 0, $image$sroa$59$3 = 0, $or$cond = 0, $or$cond3 = 0, $or$cond5 = 0, $switch = 0, $switch$split12D = 0, $switch$split2D = 0; - var $switch$split42D = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer12 = 0, $vararg_buffer16 = 0, $vararg_buffer20 = 0, $vararg_buffer24 = 0, $vararg_buffer4 = 0, $vararg_buffer8 = 0, $vararg_ptr11 = 0, $vararg_ptr15 = 0, $vararg_ptr19 = 0, $vararg_ptr23 = 0, $vararg_ptr7 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 192|0; - $vararg_buffer24 = sp + 56|0; - $vararg_buffer20 = sp + 48|0; - $vararg_buffer16 = sp + 40|0; - $vararg_buffer12 = sp + 32|0; - $vararg_buffer8 = sp + 24|0; - $vararg_buffer4 = sp + 16|0; - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $filecode = sp + 184|0; - $header = sp + 60|0; - $0 = (_fopen($fileName,20392)|0); - $1 = ($0|0)==(0|0); - if ($1) { - HEAP32[$vararg_buffer>>2] = $fileName; - _TraceLog(2,17449,$vararg_buffer); - $image$sroa$0$3 = 0;$image$sroa$26$1 = 0;$image$sroa$41$1 = 0;$image$sroa$56$2 = 0;$image$sroa$59$3 = 0; - HEAP32[$agg$result>>2] = $image$sroa$0$3; - $86 = ((($agg$result)) + 4|0); - HEAP32[$86>>2] = $image$sroa$26$1; - $87 = ((($agg$result)) + 8|0); - HEAP32[$87>>2] = $image$sroa$41$1; - $88 = ((($agg$result)) + 12|0); - HEAP32[$88>>2] = $image$sroa$56$2; - $89 = ((($agg$result)) + 16|0); - HEAP32[$89>>2] = $image$sroa$59$3; - STACKTOP = sp;return; - } - (_fread($filecode,1,4,$0)|0); - $2 = (_strncmp($filecode,17483,4)|0); - $3 = ($2|0)==(0); - if ($3) { - (_fread($header,124,1,$0)|0); - HEAP32[$vararg_buffer4>>2] = $fileName; - $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); - HEAP32[$vararg_ptr7>>2] = 124; - _TraceLog(3,17536,$vararg_buffer4); - $4 = ((($header)) + 72|0); - $5 = HEAP32[$4>>2]|0; - HEAP32[$vararg_buffer8>>2] = $fileName; - $vararg_ptr11 = ((($vararg_buffer8)) + 4|0); - HEAP32[$vararg_ptr11>>2] = $5; - _TraceLog(3,17566,$vararg_buffer8); - $6 = ((($header)) + 76|0); - $7 = HEAP32[$6>>2]|0; - HEAP32[$vararg_buffer12>>2] = $fileName; - $vararg_ptr15 = ((($vararg_buffer12)) + 4|0); - HEAP32[$vararg_ptr15>>2] = $7; - _TraceLog(3,17602,$vararg_buffer12); - $8 = ((($header)) + 80|0); - $9 = HEAP32[$8>>2]|0; - HEAP32[$vararg_buffer16>>2] = $fileName; - $vararg_ptr19 = ((($vararg_buffer16)) + 4|0); - HEAP32[$vararg_ptr19>>2] = $9; - _TraceLog(3,17641,$vararg_buffer16); - $10 = ((($header)) + 84|0); - $11 = HEAP32[$10>>2]|0; - HEAP32[$vararg_buffer20>>2] = $fileName; - $vararg_ptr23 = ((($vararg_buffer20)) + 4|0); - HEAP32[$vararg_ptr23>>2] = $11; - _TraceLog(3,17668,$vararg_buffer20); - $12 = ((($header)) + 12|0); - $13 = HEAP32[$12>>2]|0; - $14 = ((($header)) + 8|0); - $15 = HEAP32[$14>>2]|0; - $16 = HEAP32[$10>>2]|0; - $17 = ($16|0)==(16); - L7: do { - if ($17) { - $18 = HEAP32[$6>>2]|0; - switch ($18|0) { - case 64: { - $19 = $13 << 1; - $20 = Math_imul($19, $15)|0; - $21 = (_malloc($20)|0); - (_fread($21,$20,1,$0)|0); - $image$sroa$0$0 = $21;$image$sroa$59$0 = 3; - break L7; - break; - } - case 65: { - break; - } - default: { - $image$sroa$0$0 = 0;$image$sroa$59$0 = 0; - break L7; - } - } - $22 = ((($header)) + 100|0); - $23 = HEAP32[$22>>2]|0; - $switch$split2D = ($23|0)<(61440); - if ($switch$split2D) { - switch ($23|0) { - case 32768: { - break; - } - default: { - $image$sroa$0$0 = 0;$image$sroa$59$0 = 0; - break L7; - } - } - $24 = Math_imul($15, $13)|0; - $25 = $24 << 1; - $26 = (_malloc($25)|0); - (_fread($26,$25,1,$0)|0); - $27 = ($24|0)>(0); - if (!($27)) { - $image$sroa$0$0 = $26;$image$sroa$59$0 = 5; - break; - } - $28 = Math_imul($15, $13)|0; - $i$09 = 0; - while(1) { - $29 = (($26) + ($i$09<<1)|0); - $30 = HEAP16[$29>>1]|0; - $31 = $30&65535; - $32 = ($30&65535) >>> 15; - $33 = $32&65535; - $34 = $31 << 1; - $35 = $34 | $33; - $36 = $35&65535; - HEAP16[$29>>1] = $36; - $37 = (($i$09) + 1)|0; - $exitcond = ($37|0)==($28|0); - if ($exitcond) { - $image$sroa$0$0 = $26;$image$sroa$59$0 = 5; - break; - } else { - $i$09 = $37; - } - } - } else { - switch ($23|0) { - case 61440: { - break; - } - default: { - $image$sroa$0$0 = 0;$image$sroa$59$0 = 0; - break L7; - } - } - $38 = Math_imul($15, $13)|0; - $39 = $38 << 1; - $40 = (_malloc($39)|0); - (_fread($40,$39,1,$0)|0); - $41 = ($38|0)>(0); - if (!($41)) { - $image$sroa$0$0 = $40;$image$sroa$59$0 = 6; - break; - } - $42 = Math_imul($15, $13)|0; - $i2$011 = 0; - while(1) { - $43 = (($40) + ($i2$011<<1)|0); - $44 = HEAP16[$43>>1]|0; - $45 = $44&65535; - $46 = ($44&65535) >>> 12; - $47 = $46&65535; - $48 = $45 << 4; - $49 = $48 | $47; - $50 = $49&65535; - HEAP16[$43>>1] = $50; - $51 = (($i2$011) + 1)|0; - $exitcond13 = ($51|0)==($42|0); - if ($exitcond13) { - $image$sroa$0$0 = $40;$image$sroa$59$0 = 6; - break; - } else { - $i2$011 = $51; - } - } - } - } else { - $image$sroa$0$0 = 0;$image$sroa$59$0 = 0; - } - } while(0); - $52 = HEAP32[$6>>2]|0; - $53 = ($52|0)==(64); - $54 = HEAP32[$10>>2]|0; - $55 = ($54|0)==(24); - $or$cond = $53 & $55; - L24: do { - if ($or$cond) { - $56 = ($13*3)|0; - $57 = Math_imul($56, $15)|0; - $58 = (_malloc($57)|0); - (_fread($58,$57,1,$0)|0); - $image$sroa$0$1 = $58;$image$sroa$56$0 = 1;$image$sroa$59$1 = 4; - } else { - $59 = ($52|0)==(65); - $60 = ($54|0)==(32); - $or$cond3 = $59 & $60; - if ($or$cond3) { - $61 = $13 << 2; - $62 = Math_imul($61, $15)|0; - $63 = (_malloc($62)|0); - (_fread($63,$62,1,$0)|0); - $64 = ($62|0)>(0); - if ($64) { - $i3$08 = 0; - } else { - $image$sroa$0$1 = $63;$image$sroa$56$0 = 1;$image$sroa$59$1 = 7; - break; - } - while(1) { - $65 = (($63) + ($i3$08)|0); - $66 = HEAP8[$65>>0]|0; - $67 = $i3$08 | 2; - $68 = (($63) + ($67)|0); - $69 = HEAP8[$68>>0]|0; - HEAP8[$65>>0] = $69; - HEAP8[$68>>0] = $66; - $70 = (($i3$08) + 4)|0; - $71 = ($70|0)<($62|0); - if ($71) { - $i3$08 = $70; - } else { - $image$sroa$0$1 = $63;$image$sroa$56$0 = 1;$image$sroa$59$1 = 7; - break L24; - } - } - } - $72 = $52 & -2; - $switch = ($72|0)!=(4); - $73 = HEAP32[$8>>2]|0; - $74 = ($73|0)==(0); - $or$cond5 = $switch | $74; - if ($or$cond5) { - $image$sroa$0$1 = $image$sroa$0$0;$image$sroa$56$0 = 1;$image$sroa$59$1 = $image$sroa$59$0; - } else { - $75 = ((($header)) + 24|0); - $76 = HEAP32[$75>>2]|0; - $77 = ($76>>>0)>(1); - $78 = ((($header)) + 16|0); - $79 = HEAP32[$78>>2]|0; - $80 = $77&1; - $bufsize$0 = $79 << $80; - HEAP32[$vararg_buffer24>>2] = $79; - _TraceLog(3,17698,$vararg_buffer24); - $81 = (_malloc($bufsize$0)|0); - (_fread($81,1,$bufsize$0,$0)|0); - $82 = HEAP32[$75>>2]|0; - $83 = HEAP32[$8>>2]|0; - $switch$split12D = ($83|0)<(861165636); - if ($switch$split12D) { - switch ($83|0) { - case 827611204: { - break; - } - default: { - $image$sroa$0$1 = $81;$image$sroa$56$0 = $82;$image$sroa$59$1 = $image$sroa$59$0; - break L24; - } - } - $84 = HEAP32[$6>>2]|0; - $85 = ($84|0)==(4); - $$ = $85 ? 8 : 9; - $image$sroa$0$1 = $81;$image$sroa$56$0 = $82;$image$sroa$59$1 = $$; - break; - } - $switch$split42D = ($83|0)<(894720068); - if ($switch$split42D) { - switch ($83|0) { - case 861165636: { - break; - } - default: { - $image$sroa$0$1 = $81;$image$sroa$56$0 = $82;$image$sroa$59$1 = $image$sroa$59$0; - break L24; - } - } - $image$sroa$0$1 = $81;$image$sroa$56$0 = $82;$image$sroa$59$1 = 10; - break; - } else { - switch ($83|0) { - case 894720068: { - break; - } - default: { - $image$sroa$0$1 = $81;$image$sroa$56$0 = $82;$image$sroa$59$1 = $image$sroa$59$0; - break L24; - } - } - $image$sroa$0$1 = $81;$image$sroa$56$0 = $82;$image$sroa$59$1 = 11; - break; - } - } - } - } while(0); - $image$sroa$0$2 = $image$sroa$0$1;$image$sroa$26$0 = $13;$image$sroa$41$0 = $15;$image$sroa$56$1 = $image$sroa$56$0;$image$sroa$59$2 = $image$sroa$59$1; - } else { - HEAP32[$vararg_buffer1>>2] = $fileName; - _TraceLog(2,17488,$vararg_buffer1); - $image$sroa$0$2 = 0;$image$sroa$26$0 = 0;$image$sroa$41$0 = 0;$image$sroa$56$1 = 0;$image$sroa$59$2 = 0; - } - (_fclose($0)|0); - $image$sroa$0$3 = $image$sroa$0$2;$image$sroa$26$1 = $image$sroa$26$0;$image$sroa$41$1 = $image$sroa$41$0;$image$sroa$56$2 = $image$sroa$56$1;$image$sroa$59$3 = $image$sroa$59$2; - HEAP32[$agg$result>>2] = $image$sroa$0$3; - $86 = ((($agg$result)) + 4|0); - HEAP32[$86>>2] = $image$sroa$26$1; - $87 = ((($agg$result)) + 8|0); - HEAP32[$87>>2] = $image$sroa$41$1; - $88 = ((($agg$result)) + 12|0); - HEAP32[$88>>2] = $image$sroa$56$2; - $89 = ((($agg$result)) + 16|0); - HEAP32[$89>>2] = $image$sroa$59$3; - STACKTOP = sp;return; -} -function _LoadPKM($agg$result,$fileName) { - $agg$result = $agg$result|0; - $fileName = $fileName|0; - var $$ = 0, $$1 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; - var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0; - var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $header = 0, $image$sroa$0$0 = 0, $image$sroa$0$1 = 0, $image$sroa$10$0 = 0, $image$sroa$10$1 = 0, $image$sroa$12$0 = 0, $image$sroa$12$1 = 0, $image$sroa$4$0 = 0, $image$sroa$4$1 = 0, $image$sroa$7$0 = 0, $image$sroa$7$1 = 0; - var $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer4 = 0, $vararg_buffer7 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; - $vararg_buffer10 = sp + 32|0; - $vararg_buffer7 = sp + 24|0; - $vararg_buffer4 = sp + 16|0; - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $header = sp + 40|0; - $0 = (_fopen($fileName,20392)|0); - $1 = ($0|0)==(0|0); - if ($1) { - HEAP32[$vararg_buffer>>2] = $fileName; - _TraceLog(2,17282,$vararg_buffer); - $image$sroa$0$1 = 0;$image$sroa$10$1 = 0;$image$sroa$12$1 = 0;$image$sroa$4$1 = 0;$image$sroa$7$1 = 0; - HEAP32[$agg$result>>2] = $image$sroa$0$1; - $43 = ((($agg$result)) + 4|0); - HEAP32[$43>>2] = $image$sroa$4$1; - $44 = ((($agg$result)) + 8|0); - HEAP32[$44>>2] = $image$sroa$7$1; - $45 = ((($agg$result)) + 12|0); - HEAP32[$45>>2] = $image$sroa$10$1; - $46 = ((($agg$result)) + 16|0); - HEAP32[$46>>2] = $image$sroa$12$1; - STACKTOP = sp;return; - } - (_fread($header,16,1,$0)|0); - $2 = (_strncmp($header,17316,4)|0); - $3 = ($2|0)==(0); - L5: do { - if ($3) { - $4 = ((($header)) + 6|0); - $5 = HEAP16[$4>>1]|0; - $6 = $5&65535; - $7 = $6 << 8; - $8 = $6 >>> 8; - $9 = $7 | $8; - $10 = $9&65535; - HEAP16[$4>>1] = $10; - $11 = ((($header)) + 8|0); - $12 = HEAP16[$11>>1]|0; - $13 = $12&65535; - $14 = $13 << 8; - $15 = $13 >>> 8; - $16 = $14 | $15; - $17 = $16&65535; - HEAP16[$11>>1] = $17; - $18 = ((($header)) + 10|0); - $19 = HEAP16[$18>>1]|0; - $20 = $19&65535; - $21 = $20 << 8; - $22 = $20 >>> 8; - $23 = $21 | $22; - $24 = $23&65535; - HEAP16[$18>>1] = $24; - $25 = HEAP16[$11>>1]|0; - $26 = $25&65535; - HEAP32[$vararg_buffer4>>2] = $26; - _TraceLog(3,17369,$vararg_buffer4); - $27 = HEAP16[$18>>1]|0; - $28 = $27&65535; - HEAP32[$vararg_buffer7>>2] = $28; - _TraceLog(3,17395,$vararg_buffer7); - $29 = HEAP16[$4>>1]|0; - $30 = $29&65535; - HEAP32[$vararg_buffer10>>2] = $30; - _TraceLog(3,17422,$vararg_buffer10); - $31 = HEAP16[$11>>1]|0; - $32 = $31&65535; - $33 = HEAP16[$18>>1]|0; - $34 = $33&65535; - $35 = HEAP16[$4>>1]|0; - $36 = ($35<<16>>16)==(3); - $$ = $36 ? 8 : 4; - $37 = Math_imul($34, $32)|0; - $38 = Math_imul($37, $$)|0; - $39 = $38 >>> 3; - $40 = (_malloc($39)|0); - (_fread($40,1,$39,$0)|0); - $41 = HEAP16[$4>>1]|0; - switch ($41<<16>>16) { - case 0: { - $image$sroa$0$0 = $40;$image$sroa$10$0 = 1;$image$sroa$12$0 = 12;$image$sroa$4$0 = $32;$image$sroa$7$0 = $34; - break L5; - break; - } - case 1: { - $image$sroa$0$0 = $40;$image$sroa$10$0 = 1;$image$sroa$12$0 = 13;$image$sroa$4$0 = $32;$image$sroa$7$0 = $34; - break L5; - break; - } - default: { - $42 = ($41<<16>>16)==(3); - $$1 = $42 ? 14 : 0; - $image$sroa$0$0 = $40;$image$sroa$10$0 = 1;$image$sroa$12$0 = $$1;$image$sroa$4$0 = $32;$image$sroa$7$0 = $34; - break L5; - } - } - } else { - HEAP32[$vararg_buffer1>>2] = $fileName; - _TraceLog(2,17321,$vararg_buffer1); - $image$sroa$0$0 = 0;$image$sroa$10$0 = 0;$image$sroa$12$0 = 0;$image$sroa$4$0 = 0;$image$sroa$7$0 = 0; - } - } while(0); - (_fclose($0)|0); - $image$sroa$0$1 = $image$sroa$0$0;$image$sroa$10$1 = $image$sroa$10$0;$image$sroa$12$1 = $image$sroa$12$0;$image$sroa$4$1 = $image$sroa$4$0;$image$sroa$7$1 = $image$sroa$7$0; - HEAP32[$agg$result>>2] = $image$sroa$0$1; - $43 = ((($agg$result)) + 4|0); - HEAP32[$43>>2] = $image$sroa$4$1; - $44 = ((($agg$result)) + 8|0); - HEAP32[$44>>2] = $image$sroa$7$1; - $45 = ((($agg$result)) + 12|0); - HEAP32[$45>>2] = $image$sroa$10$1; - $46 = ((($agg$result)) + 16|0); - HEAP32[$46>>2] = $image$sroa$12$1; - STACKTOP = sp;return; -} -function _LoadKTX($agg$result,$fileName) { - $agg$result = $agg$result|0; - $fileName = $fileName|0; - var $$ = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; - var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $dataSize = 0, $header = 0, $i$01 = 0, $image$sroa$0$0 = 0, $image$sroa$0$1 = 0, $image$sroa$3$0 = 0, $image$sroa$3$1 = 0, $image$sroa$5$0 = 0, $image$sroa$5$1 = 0, $image$sroa$7$0 = 0, $image$sroa$7$1 = 0, $image$sroa$9$0 = 0, $image$sroa$9$1 = 0, $unused = 0, $vararg_buffer = 0; - var $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer4 = 0, $vararg_buffer7 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 112|0; - $vararg_buffer10 = sp + 32|0; - $vararg_buffer7 = sp + 24|0; - $vararg_buffer4 = sp + 16|0; - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $header = sp + 40|0; - $unused = sp + 104|0; - $dataSize = sp + 36|0; - $0 = (_fopen($fileName,20392)|0); - $1 = ($0|0)==(0|0); - if ($1) { - HEAP32[$vararg_buffer>>2] = $fileName; - _TraceLog(2,17113,$vararg_buffer); - $image$sroa$0$1 = 0;$image$sroa$3$1 = 0;$image$sroa$5$1 = 0;$image$sroa$7$1 = 0;$image$sroa$9$1 = 0; - HEAP32[$agg$result>>2] = $image$sroa$0$1; - $40 = ((($agg$result)) + 4|0); - HEAP32[$40>>2] = $image$sroa$3$1; - $41 = ((($agg$result)) + 8|0); - HEAP32[$41>>2] = $image$sroa$5$1; - $42 = ((($agg$result)) + 12|0); - HEAP32[$42>>2] = $image$sroa$7$1; - $43 = ((($agg$result)) + 16|0); - HEAP32[$43>>2] = $image$sroa$9$1; - STACKTOP = sp;return; - } - (_fread($header,64,1,$0)|0); - $2 = ((($header)) + 1|0); - $3 = HEAP8[$2>>0]|0; - $4 = ($3<<24>>24)==(75); - L5: do { - if ($4) { - $5 = ((($header)) + 2|0); - $6 = HEAP8[$5>>0]|0; - $7 = ($6<<24>>24)==(84); - if ($7) { - $8 = ((($header)) + 3|0); - $9 = HEAP8[$8>>0]|0; - $10 = ($9<<24>>24)==(88); - if ($10) { - $11 = ((($header)) + 4|0); - $12 = HEAP8[$11>>0]|0; - $13 = ($12<<24>>24)==(32); - if ($13) { - $14 = ((($header)) + 5|0); - $15 = HEAP8[$14>>0]|0; - $16 = ($15<<24>>24)==(49); - if ($16) { - $17 = ((($header)) + 6|0); - $18 = HEAP8[$17>>0]|0; - $19 = ($18<<24>>24)==(49); - if ($19) { - $20 = ((($header)) + 36|0); - $21 = HEAP32[$20>>2]|0; - $22 = ((($header)) + 40|0); - $23 = HEAP32[$22>>2]|0; - $24 = ((($header)) + 56|0); - $25 = HEAP32[$24>>2]|0; - HEAP32[$vararg_buffer4>>2] = $21; - _TraceLog(3,17200,$vararg_buffer4); - $26 = HEAP32[$22>>2]|0; - HEAP32[$vararg_buffer7>>2] = $26; - _TraceLog(3,17226,$vararg_buffer7); - $27 = ((($header)) + 28|0); - $28 = HEAP32[$27>>2]|0; - HEAP32[$vararg_buffer10>>2] = $28; - _TraceLog(3,17253,$vararg_buffer10); - $29 = ((($header)) + 60|0); - $30 = HEAP32[$29>>2]|0; - $31 = ($30|0)==(0); - if (!($31)) { - $32 = HEAP32[$29>>2]|0; - $i$01 = 0; - while(1) { - (_fread($unused,1,1,$0)|0); - $33 = (($i$01) + 1)|0; - $34 = ($33>>>0)<($32>>>0); - if ($34) { - $i$01 = $33; - } else { - break; - } - } - } - (_fread($dataSize,4,1,$0)|0); - $35 = HEAP32[$dataSize>>2]|0; - $36 = (_malloc($35)|0); - $37 = HEAP32[$dataSize>>2]|0; - (_fread($36,1,$37,$0)|0); - $38 = HEAP32[$27>>2]|0; - switch ($38|0) { - case 36196: { - $image$sroa$0$0 = $36;$image$sroa$3$0 = $21;$image$sroa$5$0 = $23;$image$sroa$7$0 = $25;$image$sroa$9$0 = 12; - break L5; - break; - } - case 37492: { - $image$sroa$0$0 = $36;$image$sroa$3$0 = $21;$image$sroa$5$0 = $23;$image$sroa$7$0 = $25;$image$sroa$9$0 = 13; - break L5; - break; - } - default: { - $39 = ($38|0)==(37496); - $$ = $39 ? 14 : 0; - $image$sroa$0$0 = $36;$image$sroa$3$0 = $21;$image$sroa$5$0 = $23;$image$sroa$7$0 = $25;$image$sroa$9$0 = $$; - break L5; - } - } - } else { - label = 9; - } - } else { - label = 9; - } - } else { - label = 9; - } - } else { - label = 9; - } - } else { - label = 9; - } - } else { - label = 9; - } - } while(0); - if ((label|0) == 9) { - HEAP32[$vararg_buffer1>>2] = $fileName; - _TraceLog(2,17153,$vararg_buffer1); - $image$sroa$0$0 = 0;$image$sroa$3$0 = 0;$image$sroa$5$0 = 0;$image$sroa$7$0 = 0;$image$sroa$9$0 = 0; - } - (_fclose($0)|0); - $image$sroa$0$1 = $image$sroa$0$0;$image$sroa$3$1 = $image$sroa$3$0;$image$sroa$5$1 = $image$sroa$5$0;$image$sroa$7$1 = $image$sroa$7$0;$image$sroa$9$1 = $image$sroa$9$0; - HEAP32[$agg$result>>2] = $image$sroa$0$1; - $40 = ((($agg$result)) + 4|0); - HEAP32[$40>>2] = $image$sroa$3$1; - $41 = ((($agg$result)) + 8|0); - HEAP32[$41>>2] = $image$sroa$5$1; - $42 = ((($agg$result)) + 12|0); - HEAP32[$42>>2] = $image$sroa$7$1; - $43 = ((($agg$result)) + 16|0); - HEAP32[$43>>2] = $image$sroa$9$1; - STACKTOP = sp;return; -} -function _LoadPVR($agg$result,$fileName) { - $agg$result = $agg$result|0; - $fileName = $fileName|0; - var $$ = 0, $$1 = 0, $$2 = 0, $$pr = 0, $$pr3 = 0, $$pr5 = 0, $$pr7 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0; - var $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0; - var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0; - var $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0; - var $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0; - var $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0; - var $96 = 0, $97 = 0, $98 = 0, $99 = 0, $bpp$0 = 0, $header = 0, $i$08 = 0, $image$sroa$0$0 = 0, $image$sroa$0$1 = 0, $image$sroa$0$2 = 0, $image$sroa$10$0 = 0, $image$sroa$10$1 = 0, $image$sroa$10$2 = 0, $image$sroa$12$0 = 0, $image$sroa$12$1 = 0, $image$sroa$12$2 = 0, $image$sroa$12$3 = 0, $image$sroa$4$0 = 0, $image$sroa$4$1 = 0, $image$sroa$4$2 = 0; - var $image$sroa$7$0 = 0, $image$sroa$7$1 = 0, $image$sroa$7$2 = 0, $pvrVersion = 0, $unused = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer4 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 80|0; - $vararg_buffer4 = sp + 16|0; - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $pvrVersion = sp + 73|0; - $header = sp + 20|0; - $unused = sp + 72|0; - $0 = (_fopen($fileName,20392)|0); - $1 = ($0|0)==(0|0); - if ($1) { - HEAP32[$vararg_buffer>>2] = $fileName; - _TraceLog(2,16981,$vararg_buffer); - $image$sroa$0$2 = 0;$image$sroa$10$2 = 0;$image$sroa$12$3 = 0;$image$sroa$4$2 = 0;$image$sroa$7$2 = 0; - HEAP32[$agg$result>>2] = $image$sroa$0$2; - $113 = ((($agg$result)) + 4|0); - HEAP32[$113>>2] = $image$sroa$4$2; - $114 = ((($agg$result)) + 8|0); - HEAP32[$114>>2] = $image$sroa$7$2; - $115 = ((($agg$result)) + 12|0); - HEAP32[$115>>2] = $image$sroa$10$2; - $116 = ((($agg$result)) + 16|0); - HEAP32[$116>>2] = $image$sroa$12$3; - STACKTOP = sp;return; - } - HEAP8[$pvrVersion>>0] = 0; - (_fread($pvrVersion,1,1,$0)|0); - (_fseek($0,0,0)|0); - $2 = HEAP8[$pvrVersion>>0]|0; - switch ($2<<24>>24) { - case 80: { - (_fread($header,52,1,$0)|0); - $3 = HEAP8[$header>>0]|0; - $4 = ($3<<24>>24)==(80); - if ($4) { - $5 = ((($header)) + 1|0); - $6 = HEAP8[$5>>0]|0; - $7 = ($6<<24>>24)==(86); - if ($7) { - $8 = ((($header)) + 2|0); - $9 = HEAP8[$8>>0]|0; - $10 = ($9<<24>>24)==(82); - if ($10) { - $11 = ((($header)) + 3|0); - $12 = HEAP8[$11>>0]|0; - $13 = ($12<<24>>24)==(3); - if ($13) { - $14 = ((($header)) + 28|0); - $15 = HEAP32[$14>>2]|0; - $16 = ((($header)) + 24|0); - $17 = HEAP32[$16>>2]|0; - $18 = ((($header)) + 44|0); - $19 = HEAP32[$18>>2]|0; - $20 = ((($header)) + 8|0); - $21 = HEAP8[$20>>0]|0; - $22 = ($21<<24>>24)==(108); - do { - if ($22) { - $23 = ((($header)) + 9|0); - $24 = HEAP8[$23>>0]|0; - $25 = ($24<<24>>24)==(0); - if ($25) { - $26 = ((($header)) + 12|0); - $27 = HEAP8[$26>>0]|0; - $28 = ($27<<24>>24)==(8); - if ($28) { - $image$sroa$12$0 = 1; - break; - } - } - $$pr = HEAP8[$20>>0]|0; - $29 = ($$pr<<24>>24)==(108); - if ($29) { - $30 = ((($header)) + 9|0); - $31 = HEAP8[$30>>0]|0; - $32 = ($31<<24>>24)==(97); - if ($32) { - $33 = ((($header)) + 12|0); - $34 = HEAP8[$33>>0]|0; - $35 = ($34<<24>>24)==(8); - if ($35) { - $36 = ((($header)) + 13|0); - $37 = HEAP8[$36>>0]|0; - $38 = ($37<<24>>24)==(8); - if ($38) { - $image$sroa$12$0 = 2; - } else { - label = 16; - } - } else { - label = 16; - } - } else { - label = 16; - } - } else { - $39 = $$pr; - label = 17; - } - } else { - label = 16; - } - } while(0); - if ((label|0) == 16) { - $$pr3 = HEAP8[$20>>0]|0; - $39 = $$pr3; - label = 17; - } - L22: do { - if ((label|0) == 17) { - $40 = ($39<<24>>24)==(114); - if ($40) { - $41 = ((($header)) + 9|0); - $42 = HEAP8[$41>>0]|0; - $43 = ($42<<24>>24)==(103); - if ($43) { - $44 = ((($header)) + 10|0); - $45 = HEAP8[$44>>0]|0; - $46 = ($45<<24>>24)==(98); - if ($46) { - $47 = ((($header)) + 11|0); - $48 = HEAP8[$47>>0]|0; - switch ($48<<24>>24) { - case 97: { - break; - } - case 0: { - $83 = ((($header)) + 12|0); - $84 = HEAP8[$83>>0]|0; - $85 = ($84<<24>>24)==(5); - if ($85) { - $86 = ((($header)) + 13|0); - $87 = HEAP8[$86>>0]|0; - $88 = ($87<<24>>24)==(6); - if ($88) { - $89 = ((($header)) + 14|0); - $90 = HEAP8[$89>>0]|0; - $91 = ($90<<24>>24)==(5); - if ($91) { - $image$sroa$12$0 = 3; - break L22; - } - } - $$pr7 = HEAP8[$83>>0]|0; - $92 = $$pr7; - } else { - $92 = $84; - } - $93 = ($92<<24>>24)==(8); - if (!($93)) { - $image$sroa$12$0 = 0; - break L22; - } - $94 = ((($header)) + 13|0); - $95 = HEAP8[$94>>0]|0; - $96 = ($95<<24>>24)==(8); - if (!($96)) { - $image$sroa$12$0 = 0; - break L22; - } - $97 = ((($header)) + 14|0); - $98 = HEAP8[$97>>0]|0; - $99 = ($98<<24>>24)==(8); - $$1 = $99 ? 4 : 0; - $image$sroa$12$0 = $$1; - break L22; - break; - } - default: { - $image$sroa$12$0 = 0; - break L22; - } - } - $49 = ((($header)) + 12|0); - $50 = HEAP8[$49>>0]|0; - $51 = ($50<<24>>24)==(5); - if ($51) { - $52 = ((($header)) + 13|0); - $53 = HEAP8[$52>>0]|0; - $54 = ($53<<24>>24)==(5); - if ($54) { - $55 = ((($header)) + 14|0); - $56 = HEAP8[$55>>0]|0; - $57 = ($56<<24>>24)==(5); - if ($57) { - $58 = ((($header)) + 15|0); - $59 = HEAP8[$58>>0]|0; - $60 = ($59<<24>>24)==(1); - if ($60) { - $image$sroa$12$0 = 5; - break; - } - } - } - $$pr5 = HEAP8[$49>>0]|0; - $61 = $$pr5; - } else { - $61 = $50; - } - $62 = ($61<<24>>24)==(4); - if ($62) { - $63 = ((($header)) + 13|0); - $64 = HEAP8[$63>>0]|0; - $65 = ($64<<24>>24)==(4); - if ($65) { - $66 = ((($header)) + 14|0); - $67 = HEAP8[$66>>0]|0; - $68 = ($67<<24>>24)==(4); - if ($68) { - $69 = ((($header)) + 15|0); - $70 = HEAP8[$69>>0]|0; - $71 = ($70<<24>>24)==(4); - if ($71) { - $image$sroa$12$0 = 6; - break; - } - } - } - } - $72 = HEAP8[$49>>0]|0; - $73 = ($72<<24>>24)==(8); - if (!($73)) { - $image$sroa$12$0 = 0; - break; - } - $74 = ((($header)) + 13|0); - $75 = HEAP8[$74>>0]|0; - $76 = ($75<<24>>24)==(8); - if (!($76)) { - $image$sroa$12$0 = 0; - break; - } - $77 = ((($header)) + 14|0); - $78 = HEAP8[$77>>0]|0; - $79 = ($78<<24>>24)==(8); - if (!($79)) { - $image$sroa$12$0 = 0; - break; - } - $80 = ((($header)) + 15|0); - $81 = HEAP8[$80>>0]|0; - $82 = ($81<<24>>24)==(8); - $$ = $82 ? 7 : 0; - $image$sroa$12$0 = $$; - break; - } - } - } - $100 = HEAP8[$20>>0]|0; - $101 = ($100<<24>>24)==(2); - if ($101) { - $image$sroa$12$0 = 15; - } else { - $102 = ($100<<24>>24)==(3); - $$2 = $102 ? 16 : 0; - $image$sroa$12$0 = $$2; - } - } - } while(0); - HEAP8[$unused>>0] = 0; - $103 = ((($header)) + 48|0); - $104 = HEAP32[$103>>2]|0; - $105 = ($104|0)==(0); - if (!($105)) { - $i$08 = 0; - while(1) { - (_fread($unused,1,1,$0)|0); - $106 = (($i$08) + 1)|0; - $107 = HEAP32[$103>>2]|0; - $108 = ($106>>>0)<($107>>>0); - if ($108) { - $i$08 = $106; - } else { - break; - } - } - } - switch ($image$sroa$12$0|0) { - case 1: { - $bpp$0 = 8; - break; - } - case 6: case 3: case 5: case 2: { - $bpp$0 = 16; - break; - } - case 7: { - $bpp$0 = 32; - break; - } - case 4: { - $bpp$0 = 24; - break; - } - case 16: case 15: { - $bpp$0 = 4; - break; - } - default: { - $bpp$0 = 0; - } - } - $109 = Math_imul($17, $15)|0; - $110 = Math_imul($109, $bpp$0)|0; - $111 = (($110|0) / 8)&-1; - $112 = (_malloc($111)|0); - (_fread($112,$111,1,$0)|0); - $image$sroa$0$0 = $112;$image$sroa$10$0 = $19;$image$sroa$12$1 = $image$sroa$12$0;$image$sroa$4$0 = $15;$image$sroa$7$0 = $17; - } else { - label = 8; - } - } else { - label = 8; - } - } else { - label = 8; - } - } else { - label = 8; - } - if ((label|0) == 8) { - HEAP32[$vararg_buffer1>>2] = $fileName; - _TraceLog(2,17015,$vararg_buffer1); - $image$sroa$0$0 = 0;$image$sroa$10$0 = 0;$image$sroa$12$1 = 0;$image$sroa$4$0 = 0;$image$sroa$7$0 = 0; - } - $image$sroa$0$1 = $image$sroa$0$0;$image$sroa$10$1 = $image$sroa$10$0;$image$sroa$12$2 = $image$sroa$12$1;$image$sroa$4$1 = $image$sroa$4$0;$image$sroa$7$1 = $image$sroa$7$0; - break; - } - case 52: { - _TraceLog(0,17063,$vararg_buffer4); - $image$sroa$0$1 = 0;$image$sroa$10$1 = 0;$image$sroa$12$2 = 0;$image$sroa$4$1 = 0;$image$sroa$7$1 = 0; - break; - } - default: { - $image$sroa$0$1 = 0;$image$sroa$10$1 = 0;$image$sroa$12$2 = 0;$image$sroa$4$1 = 0;$image$sroa$7$1 = 0; - } - } - (_fclose($0)|0); - $image$sroa$0$2 = $image$sroa$0$1;$image$sroa$10$2 = $image$sroa$10$1;$image$sroa$12$3 = $image$sroa$12$2;$image$sroa$4$2 = $image$sroa$4$1;$image$sroa$7$2 = $image$sroa$7$1; - HEAP32[$agg$result>>2] = $image$sroa$0$2; - $113 = ((($agg$result)) + 4|0); - HEAP32[$113>>2] = $image$sroa$4$2; - $114 = ((($agg$result)) + 8|0); - HEAP32[$114>>2] = $image$sroa$7$2; - $115 = ((($agg$result)) + 12|0); - HEAP32[$115>>2] = $image$sroa$10$2; - $116 = ((($agg$result)) + 16|0); - HEAP32[$116>>2] = $image$sroa$12$3; - STACKTOP = sp;return; -} -function _LoadASTC($agg$result,$fileName) { - $agg$result = $agg$result|0; - $fileName = $fileName|0; - var $$$ = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; - var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0; - var $7 = 0, $8 = 0, $9 = 0, $header = 0, $image$sroa$0$0 = 0, $image$sroa$0$1 = 0, $image$sroa$12$0 = 0, $image$sroa$12$1 = 0, $image$sroa$14$0 = 0, $image$sroa$14$1 = 0, $image$sroa$4$0 = 0, $image$sroa$4$1 = 0, $image$sroa$8$0 = 0, $image$sroa$8$1 = 0, $or$cond = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer14 = 0, $vararg_buffer4 = 0; - var $vararg_buffer7 = 0, $vararg_ptr13 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; - $vararg_buffer14 = sp + 40|0; - $vararg_buffer10 = sp + 32|0; - $vararg_buffer7 = sp + 24|0; - $vararg_buffer4 = sp + 16|0; - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $header = sp + 48|0; - $0 = (_fopen($fileName,20392)|0); - $1 = ($0|0)==(0|0); - if ($1) { - HEAP32[$vararg_buffer>>2] = $fileName; - _TraceLog(2,16780,$vararg_buffer); - $image$sroa$0$1 = 0;$image$sroa$12$1 = 0;$image$sroa$14$1 = 0;$image$sroa$4$1 = 0;$image$sroa$8$1 = 0; - HEAP32[$agg$result>>2] = $image$sroa$0$1; - $58 = ((($agg$result)) + 4|0); - HEAP32[$58>>2] = $image$sroa$4$1; - $59 = ((($agg$result)) + 8|0); - HEAP32[$59>>2] = $image$sroa$8$1; - $60 = ((($agg$result)) + 12|0); - HEAP32[$60>>2] = $image$sroa$12$1; - $61 = ((($agg$result)) + 16|0); - HEAP32[$61>>2] = $image$sroa$14$1; - STACKTOP = sp;return; - } - (_fread($header,16,1,$0)|0); - $2 = ((($header)) + 3|0); - $3 = HEAP8[$2>>0]|0; - $4 = ($3<<24>>24)==(92); - L5: do { - if ($4) { - $5 = ((($header)) + 2|0); - $6 = HEAP8[$5>>0]|0; - $7 = ($6<<24>>24)==(-95); - if ($7) { - $8 = ((($header)) + 1|0); - $9 = HEAP8[$8>>0]|0; - $10 = ($9<<24>>24)==(-85); - $11 = HEAP8[$header>>0]|0; - $12 = ($11<<24>>24)==(19); - $or$cond = $10 & $12; - if ($or$cond) { - $13 = ((($header)) + 9|0); - $14 = HEAP8[$13>>0]|0; - $15 = $14&255; - $16 = $15 << 16; - $17 = ((($header)) + 8|0); - $18 = HEAP8[$17>>0]|0; - $19 = $18&255; - $20 = $19 << 8; - $21 = $20 | $16; - $22 = ((($header)) + 7|0); - $23 = HEAP8[$22>>0]|0; - $24 = $23&255; - $25 = $21 | $24; - $26 = ((($header)) + 12|0); - $27 = HEAP8[$26>>0]|0; - $28 = $27&255; - $29 = $28 << 16; - $30 = ((($header)) + 11|0); - $31 = HEAP8[$30>>0]|0; - $32 = $31&255; - $33 = $32 << 8; - $34 = $33 | $29; - $35 = ((($header)) + 10|0); - $36 = HEAP8[$35>>0]|0; - $37 = $36&255; - $38 = $34 | $37; - HEAP32[$vararg_buffer4>>2] = $25; - _TraceLog(3,16864,$vararg_buffer4); - HEAP32[$vararg_buffer7>>2] = $38; - _TraceLog(3,16885,$vararg_buffer7); - $39 = ((($header)) + 4|0); - $40 = HEAP8[$39>>0]|0; - $41 = $40&255; - $42 = ((($header)) + 5|0); - $43 = HEAP8[$42>>0]|0; - $44 = $43&255; - HEAP32[$vararg_buffer10>>2] = $41; - $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); - HEAP32[$vararg_ptr13>>2] = $44; - _TraceLog(3,16907,$vararg_buffer10); - $45 = HEAP8[$39>>0]|0; - $46 = $45&255; - $47 = HEAP8[$42>>0]|0; - $48 = $47&255; - $49 = Math_imul($48, $46)|0; - $50 = (128 / ($49>>>0))&-1; - $51 = ($50|0)==(8); - $52 = ($50|0)==(2); - switch ($50|0) { - case 2: case 8: { - $53 = Math_imul($38, $25)|0; - $54 = Math_imul($53, $50)|0; - $55 = $54 >>> 3; - $56 = (_malloc($55)|0); - (_fread($56,$55,1,$0)|0); - $57 = $51 | $52; - $$$ = $57 ? 17 : 0; - $image$sroa$0$0 = $56;$image$sroa$12$0 = 1;$image$sroa$14$0 = $$$;$image$sroa$4$0 = $25;$image$sroa$8$0 = $38; - break L5; - break; - } - default: { - HEAP32[$vararg_buffer14>>2] = $fileName; - _TraceLog(2,16932,$vararg_buffer14); - $image$sroa$0$0 = 0;$image$sroa$12$0 = 1;$image$sroa$14$0 = 0;$image$sroa$4$0 = $25;$image$sroa$8$0 = $38; - break L5; - } - } - } else { - label = 6; - } - } else { - label = 6; - } - } else { - label = 6; - } - } while(0); - if ((label|0) == 6) { - HEAP32[$vararg_buffer1>>2] = $fileName; - _TraceLog(2,16815,$vararg_buffer1); - $image$sroa$0$0 = 0;$image$sroa$12$0 = 0;$image$sroa$14$0 = 0;$image$sroa$4$0 = 0;$image$sroa$8$0 = 0; - } - (_fclose($0)|0); - $image$sroa$0$1 = $image$sroa$0$0;$image$sroa$12$1 = $image$sroa$12$0;$image$sroa$14$1 = $image$sroa$14$0;$image$sroa$4$1 = $image$sroa$4$0;$image$sroa$8$1 = $image$sroa$8$0; - HEAP32[$agg$result>>2] = $image$sroa$0$1; - $58 = ((($agg$result)) + 4|0); - HEAP32[$58>>2] = $image$sroa$4$1; - $59 = ((($agg$result)) + 8|0); - HEAP32[$59>>2] = $image$sroa$8$1; - $60 = ((($agg$result)) + 12|0); - HEAP32[$60>>2] = $image$sroa$12$1; - $61 = ((($agg$result)) + 16|0); - HEAP32[$61>>2] = $image$sroa$14$1; - STACKTOP = sp;return; -} -function _LoadOBJ($agg$result,$fileName) { - $agg$result = $agg$result|0; - $fileName = $fileName|0; - var $$byval_copy89 = 0, $$byval_copy90 = 0, $$lcssa = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0; - var $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0; - var $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0; - var $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0; - var $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0; - var $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0; - var $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0; - var $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0; - var $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0.0, $248 = 0.0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0; - var $258 = 0, $259 = 0, $26 = 0, $260 = 0.0, $261 = 0.0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0.0, $274 = 0.0, $275 = 0; - var $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0; - var $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0; - var $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0; - var $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0; - var $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $comments = 0, $countNormals$0$ph44 = 0, $countNormals$0$ph841 = 0, $countNormals$0$ph841$lcssa = 0, $countTexCoords$0$ph1140 = 0, $countTexCoords$0$ph1140$lcssa = 0, $countTexCoords$0$ph1140$lcssa221 = 0; - var $countTexCoords$0$ph45 = 0, $countTexCoords$0$ph942 = 0, $countVertex$0$ph43 = 0, $dataType = 0, $mesh$sroa$51 = 0, $midNormals$0 = 0, $midTexCoords$0 = 0, $nCounter$0$ph = 0, $nCounter$0$ph$ph = 0, $nCounter$1 = 0, $nCounter$1$lcssa = 0, $norm = 0, $numNormals$0$ph16$lcssa32 = 0, $numNormals$0$ph1674 = 0, $numNormals$0$ph1674$lcssa237 = 0, $numNormals$0$ph86 = 0, $numTexCoords$0$ph1775 = 0, $numTexCoords$0$ph20$lcssa31 = 0, $numTexCoords$0$ph2064 = 0, $numTexCoords$0$ph2064$lcssa232 = 0; - var $numTexCoords$0$ph2064$lcssa233 = 0, $numTexCoords$0$ph87 = 0, $numTriangles$0$ph1876 = 0, $numTriangles$0$ph2165 = 0, $numTriangles$0$ph23$lcssa28 = 0, $numTriangles$0$ph2355 = 0, $numTriangles$0$ph2355$lcssa = 0, $numTriangles$0$ph2355$lcssa$lcssa = 0, $numTriangles$0$ph2355$lcssa$lcssa229 = 0, $numTriangles$0$ph88 = 0, $numVertex$0$ph$lcssa = 0, $numVertex$0$ph85 = 0, $or$cond = 0, $tcCounter$0$ph$ph = 0, $useless = 0, $vCounter$0$ph = 0, $vCounter$0$ph$ph = 0, $vNum = 0, $vararg_buffer = 0, $vararg_buffer1 = 0; - var $vararg_buffer11 = 0, $vararg_buffer23 = 0, $vararg_buffer26 = 0, $vararg_buffer29 = 0, $vararg_buffer34 = 0, $vararg_buffer37 = 0, $vararg_buffer4 = 0, $vararg_buffer42 = 0, $vararg_buffer45 = 0, $vararg_buffer50 = 0, $vararg_buffer53 = 0, $vararg_buffer56 = 0, $vararg_buffer59 = 0, $vararg_buffer64 = 0, $vararg_buffer7 = 0, $vararg_buffer72 = 0, $vararg_buffer83 = 0, $vararg_ptr10 = 0, $vararg_ptr14 = 0, $vararg_ptr18 = 0; - var $vararg_ptr22 = 0, $vararg_ptr32 = 0, $vararg_ptr33 = 0, $vararg_ptr40 = 0, $vararg_ptr41 = 0, $vararg_ptr48 = 0, $vararg_ptr49 = 0, $vararg_ptr62 = 0, $vararg_ptr63 = 0, $vararg_ptr67 = 0, $vararg_ptr68 = 0, $vararg_ptr69 = 0, $vararg_ptr70 = 0, $vararg_ptr71 = 0, $vararg_ptr75 = 0, $vararg_ptr76 = 0, $vararg_ptr77 = 0, $vararg_ptr78 = 0, $vararg_ptr79 = 0, $vararg_ptr80 = 0; - var $vararg_ptr81 = 0, $vararg_ptr82 = 0, $vnNum = 0, $vtNum = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 608|0; - $$byval_copy90 = sp + 304|0; - $$byval_copy89 = sp + 288|0; - $vararg_buffer83 = sp + 280|0; - $vararg_buffer72 = sp + 240|0; - $vararg_buffer64 = sp + 216|0; - $vararg_buffer59 = sp + 200|0; - $vararg_buffer56 = sp + 192|0; - $vararg_buffer53 = sp + 184|0; - $vararg_buffer50 = sp + 176|0; - $vararg_buffer45 = sp + 160|0; - $vararg_buffer42 = sp + 152|0; - $vararg_buffer37 = sp + 136|0; - $vararg_buffer34 = sp + 128|0; - $vararg_buffer29 = sp + 112|0; - $vararg_buffer26 = sp + 104|0; - $vararg_buffer23 = sp + 96|0; - $vararg_buffer11 = sp + 88|0; - $vararg_buffer7 = sp + 80|0; - $vararg_buffer4 = sp + 72|0; - $vararg_buffer1 = sp + 64|0; - $vararg_buffer = sp + 56|0; - $mesh$sroa$51 = sp; - $dataType = sp + 592|0; - $comments = sp + 392|0; - $useless = sp + 388|0; - $vNum = sp + 376|0; - $vtNum = sp + 364|0; - $vnNum = sp + 352|0; - $norm = sp + 340|0; - $0 = sp + 328|0; - $1 = sp + 316|0; - dest=$mesh$sroa$51; stop=dest+52|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - $2 = (_fopen($fileName,20016)|0); - $3 = ($2|0)==(0|0); - if ($3) { - HEAP32[$vararg_buffer>>2] = $fileName; - _TraceLog(2,16452,$vararg_buffer); - $6 = ((($agg$result)) + 28|0); - ;HEAP32[$agg$result>>2]=0|0;HEAP32[$agg$result+4>>2]=0|0;HEAP32[$agg$result+8>>2]=0|0;HEAP32[$agg$result+12>>2]=0|0;HEAP32[$agg$result+16>>2]=0|0;HEAP32[$agg$result+20>>2]=0|0;HEAP32[$agg$result+24>>2]=0|0; - dest=$6; src=$mesh$sroa$51; stop=dest+52|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; - } - $4 = (_feof($2)|0); - $5 = ($4|0)==(0); - L5: do { - if ($5) { - $numNormals$0$ph86 = 0;$numTexCoords$0$ph87 = 0;$numTriangles$0$ph88 = 0;$numVertex$0$ph85 = 0; - while(1) { - $numNormals$0$ph1674 = $numNormals$0$ph86;$numTexCoords$0$ph1775 = $numTexCoords$0$ph87;$numTriangles$0$ph1876 = $numTriangles$0$ph88; - L8: while(1) { - $numTexCoords$0$ph2064 = $numTexCoords$0$ph1775;$numTriangles$0$ph2165 = $numTriangles$0$ph1876; - L10: while(1) { - $numTriangles$0$ph2355 = $numTriangles$0$ph2165; - L12: while(1) { - L14: while(1) { - HEAP32[$vararg_buffer1>>2] = $dataType; - (_fscanf($2,16486,$vararg_buffer1)|0); - $7 = HEAP8[$dataType>>0]|0; - $8 = $7 << 24 >> 24; - switch ($8|0) { - case 118: { - $numTriangles$0$ph2355$lcssa = $numTriangles$0$ph2355; - break L12; - break; - } - case 102: { - break L14; - break; - } - case 117: case 109: case 115: case 103: case 111: case 35: { - (_fgets($comments,200,$2)|0); - break; - } - default: { - } - } - $9 = (_feof($2)|0); - $10 = ($9|0)==(0); - if (!($10)) { - $numNormals$0$ph16$lcssa32 = $numNormals$0$ph1674;$numTexCoords$0$ph20$lcssa31 = $numTexCoords$0$ph2064;$numTriangles$0$ph23$lcssa28 = $numTriangles$0$ph2355;$numVertex$0$ph$lcssa = $numVertex$0$ph85; - break L5; - } - } - $21 = (($numTriangles$0$ph2355) + 1)|0; - (_fgets($comments,200,$2)|0); - $22 = (_feof($2)|0); - $23 = ($22|0)==(0); - if ($23) { - $numTriangles$0$ph2355 = $21; - } else { - $numNormals$0$ph16$lcssa32 = $numNormals$0$ph1674;$numTexCoords$0$ph20$lcssa31 = $numTexCoords$0$ph2064;$numTriangles$0$ph23$lcssa28 = $21;$numVertex$0$ph$lcssa = $numVertex$0$ph85; - break L5; - } - } - HEAP32[$vararg_buffer4>>2] = $dataType; - (_fscanf($2,16486,$vararg_buffer4)|0); - $11 = HEAP8[$dataType>>0]|0; - switch ($11<<24>>24) { - case 110: { - $numTexCoords$0$ph2064$lcssa233 = $numTexCoords$0$ph2064;$numTriangles$0$ph2355$lcssa$lcssa229 = $numTriangles$0$ph2355$lcssa; - break L10; - break; - } - case 116: { - break; - } - default: { - $numNormals$0$ph1674$lcssa237 = $numNormals$0$ph1674;$numTexCoords$0$ph2064$lcssa232 = $numTexCoords$0$ph2064;$numTriangles$0$ph2355$lcssa$lcssa = $numTriangles$0$ph2355$lcssa; - break L8; - } - } - $12 = (($numTexCoords$0$ph2064) + 1)|0; - (_fgets($comments,200,$2)|0); - $13 = (_feof($2)|0); - $14 = ($13|0)==(0); - if ($14) { - $numTexCoords$0$ph2064 = $12;$numTriangles$0$ph2165 = $numTriangles$0$ph2355$lcssa; - } else { - $numNormals$0$ph16$lcssa32 = $numNormals$0$ph1674;$numTexCoords$0$ph20$lcssa31 = $12;$numTriangles$0$ph23$lcssa28 = $numTriangles$0$ph2355$lcssa;$numVertex$0$ph$lcssa = $numVertex$0$ph85; - break L5; - } - } - $15 = (($numNormals$0$ph1674) + 1)|0; - (_fgets($comments,200,$2)|0); - $16 = (_feof($2)|0); - $17 = ($16|0)==(0); - if ($17) { - $numNormals$0$ph1674 = $15;$numTexCoords$0$ph1775 = $numTexCoords$0$ph2064$lcssa233;$numTriangles$0$ph1876 = $numTriangles$0$ph2355$lcssa$lcssa229; - } else { - $numNormals$0$ph16$lcssa32 = $15;$numTexCoords$0$ph20$lcssa31 = $numTexCoords$0$ph2064$lcssa233;$numTriangles$0$ph23$lcssa28 = $numTriangles$0$ph2355$lcssa$lcssa229;$numVertex$0$ph$lcssa = $numVertex$0$ph85; - break L5; - } - } - $18 = (($numVertex$0$ph85) + 1)|0; - (_fgets($comments,200,$2)|0); - $19 = (_feof($2)|0); - $20 = ($19|0)==(0); - if ($20) { - $numNormals$0$ph86 = $numNormals$0$ph1674$lcssa237;$numTexCoords$0$ph87 = $numTexCoords$0$ph2064$lcssa232;$numTriangles$0$ph88 = $numTriangles$0$ph2355$lcssa$lcssa;$numVertex$0$ph85 = $18; - } else { - $numNormals$0$ph16$lcssa32 = $numNormals$0$ph1674$lcssa237;$numTexCoords$0$ph20$lcssa31 = $numTexCoords$0$ph2064$lcssa232;$numTriangles$0$ph23$lcssa28 = $numTriangles$0$ph2355$lcssa$lcssa;$numVertex$0$ph$lcssa = $18; - break; - } - } - } else { - $numNormals$0$ph16$lcssa32 = 0;$numTexCoords$0$ph20$lcssa31 = 0;$numTriangles$0$ph23$lcssa28 = 0;$numVertex$0$ph$lcssa = 0; - } - } while(0); - HEAP32[$vararg_buffer7>>2] = $fileName; - $vararg_ptr10 = ((($vararg_buffer7)) + 4|0); - HEAP32[$vararg_ptr10>>2] = $numVertex$0$ph$lcssa; - _TraceLog(3,16489,$vararg_buffer7); - HEAP32[$vararg_buffer11>>2] = $fileName; - $vararg_ptr14 = ((($vararg_buffer11)) + 4|0); - HEAP32[$vararg_ptr14>>2] = $numTexCoords$0$ph20$lcssa31; - _TraceLog(3,16517,$vararg_buffer11); - HEAP32[$$byval_copy89>>2] = $fileName; - $vararg_ptr18 = ((($$byval_copy89)) + 4|0); - HEAP32[$vararg_ptr18>>2] = $numNormals$0$ph16$lcssa32; - _TraceLog(3,16546,$$byval_copy89); - HEAP32[$$byval_copy90>>2] = $fileName; - $vararg_ptr22 = ((($$byval_copy90)) + 4|0); - HEAP32[$vararg_ptr22>>2] = $numTriangles$0$ph23$lcssa28; - _TraceLog(3,16573,$$byval_copy90); - $24 = ($numVertex$0$ph$lcssa*12)|0; - $25 = (_malloc($24)|0); - $26 = ($numNormals$0$ph16$lcssa32|0)>(0); - if ($26) { - $27 = ($numNormals$0$ph16$lcssa32*12)|0; - $28 = (_malloc($27)|0); - $midNormals$0 = $28; - } else { - $midNormals$0 = 0; - } - $29 = ($numTexCoords$0$ph20$lcssa31|0)>(0); - if ($29) { - $30 = $numTexCoords$0$ph20$lcssa31 << 3; - $31 = (_malloc($30)|0); - $midTexCoords$0 = $31; - } else { - $midTexCoords$0 = 0; - } - _rewind($2); - $32 = (_feof($2)|0); - $33 = ($32|0)==(0); - L31: do { - if ($33) { - $countNormals$0$ph44 = 0;$countTexCoords$0$ph45 = 0;$countVertex$0$ph43 = 0; - while(1) { - $countNormals$0$ph841 = $countNormals$0$ph44;$countTexCoords$0$ph942 = $countTexCoords$0$ph45; - L34: while(1) { - $countTexCoords$0$ph1140 = $countTexCoords$0$ph942; - L36: while(1) { - L38: while(1) { - HEAP32[$vararg_buffer23>>2] = $dataType; - (_fscanf($2,16486,$vararg_buffer23)|0); - $34 = HEAP8[$dataType>>0]|0; - $35 = $34 << 24 >> 24; - switch ($35|0) { - case 118: { - break L38; - break; - } - case 102: case 117: case 109: case 115: case 103: case 111: case 35: { - (_fgets($comments,200,$2)|0); - break; - } - default: { - } - } - $36 = (_feof($2)|0); - $37 = ($36|0)==(0); - if (!($37)) { - break L31; - } - } - HEAP32[$vararg_buffer26>>2] = $dataType; - (_fscanf($2,16486,$vararg_buffer26)|0); - $38 = HEAP8[$dataType>>0]|0; - switch ($38<<24>>24) { - case 110: { - $countTexCoords$0$ph1140$lcssa221 = $countTexCoords$0$ph1140; - break L36; - break; - } - case 116: { - break; - } - default: { - $countNormals$0$ph841$lcssa = $countNormals$0$ph841;$countTexCoords$0$ph1140$lcssa = $countTexCoords$0$ph1140; - break L34; - } - } - HEAPF32[$useless>>2] = 0.0; - $39 = (($midTexCoords$0) + ($countTexCoords$0$ph1140<<3)|0); - $40 = (((($midTexCoords$0) + ($countTexCoords$0$ph1140<<3)|0)) + 4|0); - HEAP32[$vararg_buffer29>>2] = $39; - $vararg_ptr32 = ((($vararg_buffer29)) + 4|0); - HEAP32[$vararg_ptr32>>2] = $40; - $vararg_ptr33 = ((($vararg_buffer29)) + 8|0); - HEAP32[$vararg_ptr33>>2] = $useless; - (_fscanf($2,16602,$vararg_buffer29)|0); - $41 = (($countTexCoords$0$ph1140) + 1)|0; - HEAP32[$vararg_buffer34>>2] = $dataType; - (_fscanf($2,16486,$vararg_buffer34)|0); - $42 = (_feof($2)|0); - $43 = ($42|0)==(0); - if ($43) { - $countTexCoords$0$ph1140 = $41; - } else { - break L31; - } - } - $44 = (($midNormals$0) + (($countNormals$0$ph841*12)|0)|0); - $45 = (((($midNormals$0) + (($countNormals$0$ph841*12)|0)|0)) + 4|0); - $46 = (((($midNormals$0) + (($countNormals$0$ph841*12)|0)|0)) + 8|0); - HEAP32[$vararg_buffer37>>2] = $44; - $vararg_ptr40 = ((($vararg_buffer37)) + 4|0); - HEAP32[$vararg_ptr40>>2] = $45; - $vararg_ptr41 = ((($vararg_buffer37)) + 8|0); - HEAP32[$vararg_ptr41>>2] = $46; - (_fscanf($2,16602,$vararg_buffer37)|0); - $47 = (($countNormals$0$ph841) + 1)|0; - HEAP32[$vararg_buffer42>>2] = $dataType; - (_fscanf($2,16486,$vararg_buffer42)|0); - $48 = (_feof($2)|0); - $49 = ($48|0)==(0); - if ($49) { - $countNormals$0$ph841 = $47;$countTexCoords$0$ph942 = $countTexCoords$0$ph1140$lcssa221; - } else { - break L31; - } - } - $50 = (($25) + (($countVertex$0$ph43*12)|0)|0); - $51 = (((($25) + (($countVertex$0$ph43*12)|0)|0)) + 4|0); - $52 = (((($25) + (($countVertex$0$ph43*12)|0)|0)) + 8|0); - HEAP32[$vararg_buffer45>>2] = $50; - $vararg_ptr48 = ((($vararg_buffer45)) + 4|0); - HEAP32[$vararg_ptr48>>2] = $51; - $vararg_ptr49 = ((($vararg_buffer45)) + 8|0); - HEAP32[$vararg_ptr49>>2] = $52; - (_fscanf($2,16602,$vararg_buffer45)|0); - $53 = (($countVertex$0$ph43) + 1)|0; - HEAP32[$vararg_buffer50>>2] = $dataType; - (_fscanf($2,16486,$vararg_buffer50)|0); - $54 = (_feof($2)|0); - $55 = ($54|0)==(0); - if ($55) { - $countNormals$0$ph44 = $countNormals$0$ph841$lcssa;$countTexCoords$0$ph45 = $countTexCoords$0$ph1140$lcssa;$countVertex$0$ph43 = $53; - } else { - break; - } - } - } - } while(0); - $56 = ($numTriangles$0$ph23$lcssa28*3)|0; - $57 = ($numTriangles$0$ph23$lcssa28*36)|0; - $58 = (_malloc($57)|0); - $59 = ($numTriangles$0$ph23$lcssa28*6)|0; - $60 = ($numTriangles$0$ph23$lcssa28*24)|0; - $61 = (_malloc($60)|0); - $62 = (_malloc($57)|0); - $63 = ($numTriangles$0$ph23$lcssa28*12)|0; - $64 = (_malloc($63)|0); - _rewind($2); - $65 = ($numNormals$0$ph16$lcssa32|0)==(0); - if ($65) { - HEAP32[$vararg_buffer53>>2] = $fileName; - _TraceLog(0,16611,$vararg_buffer53); - } - $66 = $numTexCoords$0$ph20$lcssa31 | $numNormals$0$ph16$lcssa32; - $67 = ($66|0)==(0); - $68 = ((($vNum)) + 4|0); - $69 = ((($vNum)) + 8|0); - $70 = ((($vNum)) + 4|0); - $71 = ((($vNum)) + 8|0); - $72 = ((($vnNum)) + 4|0); - $73 = ((($vnNum)) + 8|0); - $74 = ((($norm)) + 4|0); - $75 = ((($norm)) + 8|0); - $76 = ((($vNum)) + 4|0); - $77 = ((($vtNum)) + 4|0); - $78 = ((($vNum)) + 8|0); - $79 = ((($vtNum)) + 8|0); - $80 = ((($vNum)) + 4|0); - $81 = ((($vtNum)) + 4|0); - $82 = ((($vnNum)) + 4|0); - $83 = ((($vNum)) + 8|0); - $84 = ((($vtNum)) + 8|0); - $85 = ((($vnNum)) + 8|0); - $86 = ((($vtNum)) + 4|0); - $87 = ((($vtNum)) + 8|0); - $nCounter$0$ph$ph = 0;$tcCounter$0$ph$ph = 0;$vCounter$0$ph$ph = 0; - L51: while(1) { - $nCounter$0$ph = $nCounter$0$ph$ph;$vCounter$0$ph = $vCounter$0$ph$ph; - while(1) { - $88 = (_feof($2)|0); - $89 = ($88|0)==(0); - if (!($89)) { - break L51; - } - L55: while(1) { - HEAP32[$vararg_buffer56>>2] = $dataType; - (_fscanf($2,16486,$vararg_buffer56)|0); - $90 = HEAP8[$dataType>>0]|0; - $91 = $90 << 24 >> 24; - switch ($91|0) { - case 102: { - break L55; - break; - } - case 118: case 117: case 109: case 115: case 103: case 111: case 35: { - (_fgets($comments,200,$2)|0); - break; - } - default: { - } - } - $92 = (_feof($2)|0); - $93 = ($92|0)==(0); - if (!($93)) { - break L51; - } - } - do { - if ($67) { - HEAP32[$vararg_buffer59>>2] = $vNum; - $vararg_ptr62 = ((($vararg_buffer59)) + 4|0); - HEAP32[$vararg_ptr62>>2] = $68; - $vararg_ptr63 = ((($vararg_buffer59)) + 8|0); - HEAP32[$vararg_ptr63>>2] = $69; - (_fscanf($2,16682,$vararg_buffer59)|0); - } else { - if ($65) { - HEAP32[$vararg_buffer64>>2] = $vNum; - $vararg_ptr67 = ((($vararg_buffer64)) + 4|0); - HEAP32[$vararg_ptr67>>2] = $vtNum; - $vararg_ptr68 = ((($vararg_buffer64)) + 8|0); - HEAP32[$vararg_ptr68>>2] = $76; - $vararg_ptr69 = ((($vararg_buffer64)) + 12|0); - HEAP32[$vararg_ptr69>>2] = $77; - $vararg_ptr70 = ((($vararg_buffer64)) + 16|0); - HEAP32[$vararg_ptr70>>2] = $78; - $vararg_ptr71 = ((($vararg_buffer64)) + 20|0); - HEAP32[$vararg_ptr71>>2] = $79; - (_fscanf($2,16691,$vararg_buffer64)|0); - break; - } else { - HEAP32[$vararg_buffer72>>2] = $vNum; - $vararg_ptr75 = ((($vararg_buffer72)) + 4|0); - HEAP32[$vararg_ptr75>>2] = $vtNum; - $vararg_ptr76 = ((($vararg_buffer72)) + 8|0); - HEAP32[$vararg_ptr76>>2] = $vnNum; - $vararg_ptr77 = ((($vararg_buffer72)) + 12|0); - HEAP32[$vararg_ptr77>>2] = $80; - $vararg_ptr78 = ((($vararg_buffer72)) + 16|0); - HEAP32[$vararg_ptr78>>2] = $81; - $vararg_ptr79 = ((($vararg_buffer72)) + 20|0); - HEAP32[$vararg_ptr79>>2] = $82; - $vararg_ptr80 = ((($vararg_buffer72)) + 24|0); - HEAP32[$vararg_ptr80>>2] = $83; - $vararg_ptr81 = ((($vararg_buffer72)) + 28|0); - HEAP32[$vararg_ptr81>>2] = $84; - $vararg_ptr82 = ((($vararg_buffer72)) + 32|0); - HEAP32[$vararg_ptr82>>2] = $85; - (_fscanf($2,16709,$vararg_buffer72)|0); - break; - } - } - } while(0); - $94 = HEAP32[$vNum>>2]|0; - $95 = (($94) + -1)|0; - $96 = (($25) + (($95*12)|0)|0); - $97 = HEAP32[$96>>2]|0; - $98 = (($58) + ($vCounter$0$ph<<2)|0); - HEAP32[$98>>2] = $97; - $99 = HEAP32[$vNum>>2]|0; - $100 = (($99) + -1)|0; - $101 = (((($25) + (($100*12)|0)|0)) + 4|0); - $102 = HEAP32[$101>>2]|0; - $103 = (($vCounter$0$ph) + 1)|0; - $104 = (($58) + ($103<<2)|0); - HEAP32[$104>>2] = $102; - $105 = HEAP32[$vNum>>2]|0; - $106 = (($105) + -1)|0; - $107 = (((($25) + (($106*12)|0)|0)) + 8|0); - $108 = HEAP32[$107>>2]|0; - $109 = (($vCounter$0$ph) + 2)|0; - $110 = (($58) + ($109<<2)|0); - HEAP32[$110>>2] = $108; - $111 = (($vCounter$0$ph) + 3)|0; - $112 = HEAP32[$70>>2]|0; - $113 = (($112) + -1)|0; - $114 = (($25) + (($113*12)|0)|0); - $115 = HEAP32[$114>>2]|0; - $116 = (($58) + ($111<<2)|0); - HEAP32[$116>>2] = $115; - $117 = HEAP32[$70>>2]|0; - $118 = (($117) + -1)|0; - $119 = (((($25) + (($118*12)|0)|0)) + 4|0); - $120 = HEAP32[$119>>2]|0; - $121 = (($vCounter$0$ph) + 4)|0; - $122 = (($58) + ($121<<2)|0); - HEAP32[$122>>2] = $120; - $123 = HEAP32[$70>>2]|0; - $124 = (($123) + -1)|0; - $125 = (((($25) + (($124*12)|0)|0)) + 8|0); - $126 = HEAP32[$125>>2]|0; - $127 = (($vCounter$0$ph) + 5)|0; - $128 = (($58) + ($127<<2)|0); - HEAP32[$128>>2] = $126; - $129 = (($vCounter$0$ph) + 6)|0; - $130 = HEAP32[$71>>2]|0; - $131 = (($130) + -1)|0; - $132 = (($25) + (($131*12)|0)|0); - $133 = HEAP32[$132>>2]|0; - $134 = (($58) + ($129<<2)|0); - HEAP32[$134>>2] = $133; - $135 = HEAP32[$71>>2]|0; - $136 = (($135) + -1)|0; - $137 = (((($25) + (($136*12)|0)|0)) + 4|0); - $138 = HEAP32[$137>>2]|0; - $139 = (($vCounter$0$ph) + 7)|0; - $140 = (($58) + ($139<<2)|0); - HEAP32[$140>>2] = $138; - $141 = HEAP32[$71>>2]|0; - $142 = (($141) + -1)|0; - $143 = (((($25) + (($142*12)|0)|0)) + 8|0); - $144 = HEAP32[$143>>2]|0; - $145 = (($vCounter$0$ph) + 8)|0; - $146 = (($58) + ($145<<2)|0); - HEAP32[$146>>2] = $144; - $147 = (($vCounter$0$ph) + 9)|0; - if ($26) { - $148 = HEAP32[$vnNum>>2]|0; - $149 = (($148) + -1)|0; - $150 = (($midNormals$0) + (($149*12)|0)|0); - $151 = HEAP32[$150>>2]|0; - $152 = (($62) + ($nCounter$0$ph<<2)|0); - HEAP32[$152>>2] = $151; - $153 = HEAP32[$vnNum>>2]|0; - $154 = (($153) + -1)|0; - $155 = (((($midNormals$0) + (($154*12)|0)|0)) + 4|0); - $156 = HEAP32[$155>>2]|0; - $157 = (($nCounter$0$ph) + 1)|0; - $158 = (($62) + ($157<<2)|0); - HEAP32[$158>>2] = $156; - $159 = HEAP32[$vnNum>>2]|0; - $160 = (($159) + -1)|0; - $161 = (((($midNormals$0) + (($160*12)|0)|0)) + 8|0); - $162 = HEAP32[$161>>2]|0; - $163 = (($nCounter$0$ph) + 2)|0; - $164 = (($62) + ($163<<2)|0); - HEAP32[$164>>2] = $162; - $165 = (($nCounter$0$ph) + 3)|0; - $166 = HEAP32[$72>>2]|0; - $167 = (($166) + -1)|0; - $168 = (($midNormals$0) + (($167*12)|0)|0); - $169 = HEAP32[$168>>2]|0; - $170 = (($62) + ($165<<2)|0); - HEAP32[$170>>2] = $169; - $171 = HEAP32[$72>>2]|0; - $172 = (($171) + -1)|0; - $173 = (((($midNormals$0) + (($172*12)|0)|0)) + 4|0); - $174 = HEAP32[$173>>2]|0; - $175 = (($nCounter$0$ph) + 4)|0; - $176 = (($62) + ($175<<2)|0); - HEAP32[$176>>2] = $174; - $177 = HEAP32[$72>>2]|0; - $178 = (($177) + -1)|0; - $179 = (((($midNormals$0) + (($178*12)|0)|0)) + 8|0); - $180 = HEAP32[$179>>2]|0; - $181 = (($nCounter$0$ph) + 5)|0; - $182 = (($62) + ($181<<2)|0); - HEAP32[$182>>2] = $180; - $183 = (($nCounter$0$ph) + 6)|0; - $184 = HEAP32[$73>>2]|0; - $185 = (($184) + -1)|0; - $186 = (($midNormals$0) + (($185*12)|0)|0); - $187 = HEAP32[$186>>2]|0; - $188 = (($62) + ($183<<2)|0); - HEAP32[$188>>2] = $187; - $189 = HEAP32[$73>>2]|0; - $190 = (($189) + -1)|0; - $191 = (((($midNormals$0) + (($190*12)|0)|0)) + 4|0); - $192 = HEAP32[$191>>2]|0; - $193 = (($nCounter$0$ph) + 7)|0; - $194 = (($62) + ($193<<2)|0); - HEAP32[$194>>2] = $192; - $195 = HEAP32[$73>>2]|0; - $196 = (($195) + -1)|0; - $197 = (((($midNormals$0) + (($196*12)|0)|0)) + 8|0); - $198 = HEAP32[$197>>2]|0; - $199 = (($nCounter$0$ph) + 8)|0; - $200 = (($62) + ($199<<2)|0); - HEAP32[$200>>2] = $198; - } else { - $201 = HEAP32[$70>>2]|0; - $202 = (($201) + -1)|0; - $203 = (($25) + (($202*12)|0)|0); - $204 = HEAP32[$vNum>>2]|0; - $205 = (($204) + -1)|0; - $206 = (($25) + (($205*12)|0)|0); - ;HEAP32[$$byval_copy89>>2]=HEAP32[$203>>2]|0;HEAP32[$$byval_copy89+4>>2]=HEAP32[$203+4>>2]|0;HEAP32[$$byval_copy89+8>>2]=HEAP32[$203+8>>2]|0; - ;HEAP32[$$byval_copy90>>2]=HEAP32[$206>>2]|0;HEAP32[$$byval_copy90+4>>2]=HEAP32[$206+4>>2]|0;HEAP32[$$byval_copy90+8>>2]=HEAP32[$206+8>>2]|0; - _VectorSubtract($0,$$byval_copy89,$$byval_copy90); - $207 = HEAP32[$71>>2]|0; - $208 = (($207) + -1)|0; - $209 = (($25) + (($208*12)|0)|0); - $210 = HEAP32[$vNum>>2]|0; - $211 = (($210) + -1)|0; - $212 = (($25) + (($211*12)|0)|0); - ;HEAP32[$$byval_copy89>>2]=HEAP32[$209>>2]|0;HEAP32[$$byval_copy89+4>>2]=HEAP32[$209+4>>2]|0;HEAP32[$$byval_copy89+8>>2]=HEAP32[$209+8>>2]|0; - ;HEAP32[$$byval_copy90>>2]=HEAP32[$212>>2]|0;HEAP32[$$byval_copy90+4>>2]=HEAP32[$212+4>>2]|0;HEAP32[$$byval_copy90+8>>2]=HEAP32[$212+8>>2]|0; - _VectorSubtract($1,$$byval_copy89,$$byval_copy90); - ;HEAP32[$$byval_copy89>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy89+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy89+8>>2]=HEAP32[$0+8>>2]|0; - ;HEAP32[$$byval_copy90>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy90+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$$byval_copy90+8>>2]=HEAP32[$1+8>>2]|0; - _VectorCrossProduct($norm,$$byval_copy89,$$byval_copy90); - _VectorNormalize($norm); - $213 = HEAP32[$norm>>2]|0; - $214 = (($62) + ($nCounter$0$ph<<2)|0); - HEAP32[$214>>2] = $213; - $215 = HEAP32[$74>>2]|0; - $216 = (($nCounter$0$ph) + 1)|0; - $217 = (($62) + ($216<<2)|0); - HEAP32[$217>>2] = $215; - $218 = HEAP32[$75>>2]|0; - $219 = (($nCounter$0$ph) + 2)|0; - $220 = (($62) + ($219<<2)|0); - HEAP32[$220>>2] = $218; - $221 = (($nCounter$0$ph) + 3)|0; - $222 = HEAP32[$norm>>2]|0; - $223 = (($62) + ($221<<2)|0); - HEAP32[$223>>2] = $222; - $224 = HEAP32[$74>>2]|0; - $225 = (($nCounter$0$ph) + 4)|0; - $226 = (($62) + ($225<<2)|0); - HEAP32[$226>>2] = $224; - $227 = HEAP32[$75>>2]|0; - $228 = (($nCounter$0$ph) + 5)|0; - $229 = (($62) + ($228<<2)|0); - HEAP32[$229>>2] = $227; - $230 = (($nCounter$0$ph) + 6)|0; - $231 = HEAP32[$norm>>2]|0; - $232 = (($62) + ($230<<2)|0); - HEAP32[$232>>2] = $231; - $233 = HEAP32[$74>>2]|0; - $234 = (($nCounter$0$ph) + 7)|0; - $235 = (($62) + ($234<<2)|0); - HEAP32[$235>>2] = $233; - $236 = HEAP32[$75>>2]|0; - $237 = (($nCounter$0$ph) + 8)|0; - $238 = (($62) + ($237<<2)|0); - HEAP32[$238>>2] = $236; - } - $nCounter$1 = (($nCounter$0$ph) + 9)|0; - if ($29) { - $$lcssa = $147;$nCounter$1$lcssa = $nCounter$1; - break; - } else { - $nCounter$0$ph = $nCounter$1;$vCounter$0$ph = $147; - } - } - $239 = HEAP32[$vtNum>>2]|0; - $240 = (($239) + -1)|0; - $241 = (($midTexCoords$0) + ($240<<3)|0); - $242 = HEAP32[$241>>2]|0; - $243 = (($61) + ($tcCounter$0$ph$ph<<2)|0); - HEAP32[$243>>2] = $242; - $244 = HEAP32[$vtNum>>2]|0; - $245 = (($244) + -1)|0; - $246 = (((($midTexCoords$0) + ($245<<3)|0)) + 4|0); - $247 = +HEAPF32[$246>>2]; - $248 = 1.0 - $247; - $249 = $tcCounter$0$ph$ph | 1; - $250 = (($61) + ($249<<2)|0); - HEAPF32[$250>>2] = $248; - $251 = (($tcCounter$0$ph$ph) + 2)|0; - $252 = HEAP32[$86>>2]|0; - $253 = (($252) + -1)|0; - $254 = (($midTexCoords$0) + ($253<<3)|0); - $255 = HEAP32[$254>>2]|0; - $256 = (($61) + ($251<<2)|0); - HEAP32[$256>>2] = $255; - $257 = HEAP32[$86>>2]|0; - $258 = (($257) + -1)|0; - $259 = (((($midTexCoords$0) + ($258<<3)|0)) + 4|0); - $260 = +HEAPF32[$259>>2]; - $261 = 1.0 - $260; - $262 = (($tcCounter$0$ph$ph) + 3)|0; - $263 = (($61) + ($262<<2)|0); - HEAPF32[$263>>2] = $261; - $264 = (($tcCounter$0$ph$ph) + 4)|0; - $265 = HEAP32[$87>>2]|0; - $266 = (($265) + -1)|0; - $267 = (($midTexCoords$0) + ($266<<3)|0); - $268 = HEAP32[$267>>2]|0; - $269 = (($61) + ($264<<2)|0); - HEAP32[$269>>2] = $268; - $270 = HEAP32[$87>>2]|0; - $271 = (($270) + -1)|0; - $272 = (((($midTexCoords$0) + ($271<<3)|0)) + 4|0); - $273 = +HEAPF32[$272>>2]; - $274 = 1.0 - $273; - $275 = (($tcCounter$0$ph$ph) + 5)|0; - $276 = (($61) + ($275<<2)|0); - HEAPF32[$276>>2] = $274; - $277 = (($tcCounter$0$ph$ph) + 6)|0; - $nCounter$0$ph$ph = $nCounter$1$lcssa;$tcCounter$0$ph$ph = $277;$vCounter$0$ph$ph = $$lcssa; - } - (_fclose($2)|0); - $278 = ($numTexCoords$0$ph20$lcssa31|0)==(0); - $279 = ($59|0)>(0); - $or$cond = $278 & $279; - if ($or$cond) { - $280 = ($numTriangles$0$ph23$lcssa28*24)|0; - _memset(($61|0),0,($280|0))|0; - } - $281 = ($63|0)>(0); - if ($281) { - $282 = ($numTriangles$0$ph23$lcssa28*12)|0; - _memset(($64|0),-1,($282|0))|0; - } - _free($25); - _free($midNormals$0); - _free($midTexCoords$0); - HEAP32[$vararg_buffer83>>2] = $fileName; - _TraceLog(0,16736,$vararg_buffer83); - HEAP32[$agg$result>>2] = $56; - $283 = ((($agg$result)) + 4|0); - HEAP32[$283>>2] = $58; - $284 = ((($agg$result)) + 8|0); - HEAP32[$284>>2] = $61; - $285 = ((($agg$result)) + 12|0); - HEAP32[$285>>2] = 0; - $286 = ((($agg$result)) + 16|0); - HEAP32[$286>>2] = $62; - $287 = ((($agg$result)) + 20|0); - HEAP32[$287>>2] = 0; - $288 = ((($agg$result)) + 24|0); - HEAP32[$288>>2] = $64; - $289 = ((($agg$result)) + 28|0); - dest=$289; src=$mesh$sroa$51; stop=dest+52|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; -} -function _EmptyMusicStream() { - var $$pr = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $buffer = 0, $queued = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $buffer = sp + 4|0; - $queued = sp; - HEAP32[$buffer>>2] = 0; - HEAP32[$queued>>2] = 0; - $0 = HEAP32[(5756)>>2]|0; - _alGetSourcei(($0|0),4117,($queued|0)); - $$pr = HEAP32[$queued>>2]|0; - $1 = ($$pr|0)>(0); - if (!($1)) { - STACKTOP = sp;return; - } - while(1) { - $2 = HEAP32[(5756)>>2]|0; - _alSourceUnqueueBuffers(($2|0),1,($buffer|0)); - $3 = HEAP32[$queued>>2]|0; - $4 = (($3) + -1)|0; - HEAP32[$queued>>2] = $4; - $5 = ($3|0)>(1); - if (!($5)) { - break; - } - } - STACKTOP = sp;return; -} -function _BufferMusicStream($buffer) { - $buffer = $buffer|0; - var $$old1 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $active$0 = 0, $pcm = 0; - var $size$0 = 0, $size$0$lcssa = 0, $size$12 = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 65552|0; - $vararg_buffer = sp; - $pcm = sp + 8|0; - $0 = HEAP32[5740>>2]|0; - $1 = ($0|0)==(0); - do { - if (!($1)) { - $size$0 = 0; - while(1) { - $2 = HEAP32[5744>>2]|0; - $3 = HEAP32[(5764)>>2]|0; - $4 = (($pcm) + ($size$0<<1)|0); - $5 = (32768 - ($size$0))|0; - $6 = (_stb_vorbis_get_samples_short_interleaved($2,$3,$4,$5)|0); - $7 = ($6|0)>(0); - if (!($7)) { - $size$0$lcssa = $size$0; - label = 4; - break; - } - $8 = HEAP32[(5764)>>2]|0; - $9 = Math_imul($8, $6)|0; - $10 = (($9) + ($size$0))|0; - $$old1 = ($10|0)<(32768); - if ($$old1) { - $size$0 = $10; - } else { - $size$12 = $10; - break; - } - } - if ((label|0) == 4) { - $11 = ($size$0$lcssa|0)>(0); - if ($11) { - $size$12 = $size$0$lcssa; - } else { - break; - } - } - $12 = HEAP32[(5760)>>2]|0; - $13 = $size$12 << 1; - $14 = HEAP32[(5768)>>2]|0; - _alBufferData(($buffer|0),($12|0),($pcm|0),($13|0),($14|0)); - $15 = HEAP32[(5772)>>2]|0; - $16 = (($15) - ($size$12))|0; - HEAP32[(5772)>>2] = $16; - $active$0 = 1; - STACKTOP = sp;return ($active$0|0); - } - } while(0); - _TraceLog(2,16418,$vararg_buffer); - $active$0 = 0; - STACKTOP = sp;return ($active$0|0); -} -function _vorbis_deinit($p) { - $p = $p|0; - var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $12 = 0, $13 = 0, $14 = 0; - var $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0; - var $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0; - var $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0; - var $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0; - var $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $i$016 = 0, $i$110 = 0, $i$28 = 0, $i$37 = 0, $j$013 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($p)) + 396|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)==(0|0); - if (!($2)) { - $3 = ((($p)) + 264|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)>(0); - if ($5) { - $6 = ((($p)) + 124|0); - $i$016 = 0; - while(1) { - $7 = HEAP32[$0>>2]|0; - $8 = (((($7) + (($i$016*24)|0)|0)) + 16|0); - $9 = HEAP32[$8>>2]|0; - $10 = ($9|0)==(0|0); - if (!($10)) { - $11 = (((($7) + (($i$016*24)|0)|0)) + 13|0); - $12 = HEAP8[$11>>0]|0; - $13 = $12&255; - $14 = HEAP32[$6>>2]|0; - $15 = (((($14) + (($13*2096)|0)|0)) + 4|0); - $16 = HEAP32[$15>>2]|0; - $17 = ($16|0)>(0); - if ($17) { - $j$013 = 0; - while(1) { - $18 = HEAP32[$8>>2]|0; - $19 = (($18) + ($j$013<<2)|0); - $20 = HEAP32[$19>>2]|0; - _setup_free($p,$20); - $21 = (($j$013) + 1)|0; - $22 = HEAP8[$11>>0]|0; - $23 = $22&255; - $24 = HEAP32[$6>>2]|0; - $25 = (((($24) + (($23*2096)|0)|0)) + 4|0); - $26 = HEAP32[$25>>2]|0; - $27 = ($21|0)<($26|0); - if ($27) { - $j$013 = $21; - } else { - break; - } - } - } - $28 = HEAP32[$8>>2]|0; - _setup_free($p,$28); - } - $29 = (((($7) + (($i$016*24)|0)|0)) + 20|0); - $30 = HEAP32[$29>>2]|0; - _setup_free($p,$30); - $31 = (($i$016) + 1)|0; - $32 = HEAP32[$3>>2]|0; - $33 = ($31|0)<($32|0); - if ($33) { - $i$016 = $31; - } else { - break; - } - } - } - } - $34 = ((($p)) + 124|0); - $35 = HEAP32[$34>>2]|0; - $36 = ($35|0)==(0|0); - if (!($36)) { - $37 = ((($p)) + 120|0); - $38 = HEAP32[$37>>2]|0; - $39 = ($38|0)>(0); - if ($39) { - $i$110 = 0; - while(1) { - $40 = HEAP32[$34>>2]|0; - $41 = (((($40) + (($i$110*2096)|0)|0)) + 8|0); - $42 = HEAP32[$41>>2]|0; - _setup_free($p,$42); - $43 = (((($40) + (($i$110*2096)|0)|0)) + 28|0); - $44 = HEAP32[$43>>2]|0; - _setup_free($p,$44); - $45 = (((($40) + (($i$110*2096)|0)|0)) + 32|0); - $46 = HEAP32[$45>>2]|0; - _setup_free($p,$46); - $47 = (((($40) + (($i$110*2096)|0)|0)) + 2084|0); - $48 = HEAP32[$47>>2]|0; - _setup_free($p,$48); - $49 = (((($40) + (($i$110*2096)|0)|0)) + 2088|0); - $50 = HEAP32[$49>>2]|0; - $51 = ($50|0)==(0|0); - $52 = ((($50)) + -4|0); - $53 = $51 ? 0 : $52; - _setup_free($p,$53); - $54 = (($i$110) + 1)|0; - $55 = HEAP32[$37>>2]|0; - $56 = ($54|0)<($55|0); - if ($56) { - $i$110 = $54; - } else { - break; - } - } - } - $57 = HEAP32[$34>>2]|0; - _setup_free($p,$57); - } - $58 = ((($p)) + 260|0); - $59 = HEAP32[$58>>2]|0; - _setup_free($p,$59); - $60 = HEAP32[$0>>2]|0; - _setup_free($p,$60); - $61 = ((($p)) + 404|0); - $62 = HEAP32[$61>>2]|0; - $63 = ($62|0)==(0|0); - if (!($63)) { - $64 = ((($p)) + 400|0); - $65 = HEAP32[$64>>2]|0; - $66 = ($65|0)>(0); - if ($66) { - $i$28 = 0; - while(1) { - $67 = HEAP32[$61>>2]|0; - $68 = (((($67) + (($i$28*40)|0)|0)) + 4|0); - $69 = HEAP32[$68>>2]|0; - _setup_free($p,$69); - $70 = (($i$28) + 1)|0; - $71 = HEAP32[$64>>2]|0; - $72 = ($70|0)<($71|0); - if ($72) { - $i$28 = $70; - } else { - break; - } - } - } - $73 = HEAP32[$61>>2]|0; - _setup_free($p,$73); - } - $74 = ((($p)) + 4|0); - $75 = HEAP32[$74>>2]|0; - $76 = ($75|0)>(0); - if ($76) { - $i$37 = 0; - while(1) { - $77 = (((($p)) + 800|0) + ($i$37<<2)|0); - $78 = HEAP32[$77>>2]|0; - _setup_free($p,$78); - $79 = (((($p)) + 928|0) + ($i$37<<2)|0); - $80 = HEAP32[$79>>2]|0; - _setup_free($p,$80); - $81 = (((($p)) + 996|0) + ($i$37<<2)|0); - $82 = HEAP32[$81>>2]|0; - _setup_free($p,$82); - $83 = (($i$37) + 1)|0; - $84 = HEAP32[$74>>2]|0; - $85 = ($83|0)<($84|0); - $86 = ($83|0)<(16); - $87 = $86 & $85; - if ($87) { - $i$37 = $83; - } else { - break; - } - } - } - $88 = ((($p)) + 1068|0); - $89 = HEAP32[$88>>2]|0; - _setup_free($p,$89); - $90 = ((($p)) + 1076|0); - $91 = HEAP32[$90>>2]|0; - _setup_free($p,$91); - $92 = ((($p)) + 1084|0); - $93 = HEAP32[$92>>2]|0; - _setup_free($p,$93); - $94 = ((($p)) + 1092|0); - $95 = HEAP32[$94>>2]|0; - _setup_free($p,$95); - $96 = ((($p)) + 1100|0); - $97 = HEAP32[$96>>2]|0; - _setup_free($p,$97); - $98 = ((($p)) + 1072|0); - $99 = HEAP32[$98>>2]|0; - _setup_free($p,$99); - $100 = ((($p)) + 1080|0); - $101 = HEAP32[$100>>2]|0; - _setup_free($p,$101); - $102 = ((($p)) + 1088|0); - $103 = HEAP32[$102>>2]|0; - _setup_free($p,$103); - $104 = ((($p)) + 1096|0); - $105 = HEAP32[$104>>2]|0; - _setup_free($p,$105); - $106 = ((($p)) + 1104|0); - $107 = HEAP32[$106>>2]|0; - _setup_free($p,$107); - $108 = ((($p)) + 28|0); - $109 = HEAP32[$108>>2]|0; - $110 = ($109|0)==(0); - if ($110) { - return; - } - $111 = ((($p)) + 20|0); - $112 = HEAP32[$111>>2]|0; - (_fclose($112)|0); - return; -} -function _setup_free($f,$p) { - $f = $f|0; - $p = $p|0; - var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($f)) + 80|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)==(0|0); - if (!($2)) { - return; - } - _free($p); - return; -} -function _error($f,$e) { - $f = $f|0; - $e = $e|0; - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($f)) + 100|0); - HEAP32[$0>>2] = $e; - return; -} -function _is_whole_packet_present($f,$end_page) { - $f = $f|0; - $end_page = $end_page|0; - var $$0 = 0, $$s$0 = 0, $$s$3 = 0, $$sum = 0, $$sum1 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0; - var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0; - var $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0; - var $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $7 = 0, $8 = 0, $9 = 0, $first$0 = 0, $first$0$ph = 0, $or$cond = 0, $p$011 = 0, $p$1 = 0, $p$2 = 0, $p$2$ph = 0, $p$35 = 0, $p$4 = 0; - var $s$0$lcssa = 0, $s$012 = 0, $s$2 = 0, $s$2$ph = 0, $s$3$lcssa = 0, $s$36 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($f)) + 1380|0); - $1 = HEAP32[$0>>2]|0; - $2 = ((($f)) + 32|0); - $3 = HEAP32[$2>>2]|0; - $4 = ($1|0)==(-1); - if ($4) { - $first$0$ph = 1;$p$2$ph = $3;$s$2$ph = -1; - } else { - $5 = ((($f)) + 1116|0); - $6 = HEAP32[$5>>2]|0; - $7 = ($1|0)<($6|0); - L3: do { - if ($7) { - $p$011 = $3;$s$012 = $1; - while(1) { - $8 = (((($f)) + 1120|0) + ($s$012)|0); - $9 = HEAP8[$8>>0]|0; - $10 = $9&255; - $11 = (($p$011) + ($10)|0); - $12 = ($9<<24>>24)==(-1); - if (!($12)) { - $p$1 = $11;$s$0$lcssa = $s$012; - break L3; - } - $13 = (($s$012) + 1)|0; - $14 = HEAP32[$5>>2]|0; - $15 = ($13|0)<($14|0); - if ($15) { - $p$011 = $11;$s$012 = $13; - } else { - $p$1 = $11;$s$0$lcssa = $13; - break; - } - } - } else { - $p$1 = $3;$s$0$lcssa = $1; - } - } while(0); - $16 = ($end_page|0)==(0); - if (!($16)) { - $17 = HEAP32[$5>>2]|0; - $18 = (($17) + -1)|0; - $19 = ($s$0$lcssa|0)<($18|0); - if ($19) { - _error($f,21); - $$0 = 0; - return ($$0|0); - } - } - $20 = HEAP32[$5>>2]|0; - $21 = ($s$0$lcssa|0)==($20|0); - $$s$0 = $21 ? -1 : $s$0$lcssa; - $22 = ((($f)) + 40|0); - $23 = HEAP32[$22>>2]|0; - $24 = ($p$1>>>0)>($23>>>0); - if ($24) { - _error($f,1); - $$0 = 0; - return ($$0|0); - } else { - $first$0$ph = 0;$p$2$ph = $p$1;$s$2$ph = $$s$0; - } - } - $25 = ((($f)) + 40|0); - $26 = ($end_page|0)!=(0); - $27 = ((($f)) + 992|0); - $first$0 = $first$0$ph;$p$2 = $p$2$ph;$s$2 = $s$2$ph; - while(1) { - $28 = ($s$2|0)==(-1); - if (!($28)) { - $$0 = 1; - label = 33; - break; - } - $29 = ((($p$2)) + 26|0); - $30 = HEAP32[$25>>2]|0; - $31 = ($29>>>0)<($30>>>0); - if (!($31)) { - label = 13; - break; - } - $32 = (_memcmp($p$2,5820,4)|0); - $33 = ($32|0)==(0); - if (!($33)) { - label = 15; - break; - } - $34 = ((($p$2)) + 4|0); - $35 = HEAP8[$34>>0]|0; - $36 = ($35<<24>>24)==(0); - if (!($36)) { - label = 17; - break; - } - $37 = ($first$0|0)==(0); - if ($37) { - $44 = ((($p$2)) + 5|0); - $45 = HEAP8[$44>>0]|0; - $46 = $45 & 1; - $47 = ($46<<24>>24)==(0); - if ($47) { - label = 23; - break; - } - } else { - $38 = HEAP32[$27>>2]|0; - $39 = ($38|0)==(0); - if (!($39)) { - $40 = ((($p$2)) + 5|0); - $41 = HEAP8[$40>>0]|0; - $42 = $41 & 1; - $43 = ($42<<24>>24)==(0); - if (!($43)) { - label = 21; - break; - } - } - } - $48 = HEAP8[$29>>0]|0; - $49 = $48&255; - $$sum = (($49) + 27)|0; - $50 = (($p$2) + ($$sum)|0); - $51 = HEAP32[$25>>2]|0; - $52 = ($50>>>0)>($51>>>0); - if ($52) { - label = 26; - break; - } - $53 = ($48<<24>>24)==(0); - L28: do { - if ($53) { - $p$4 = $50;$s$3$lcssa = 0; - } else { - $p$35 = $50;$s$36 = 0; - while(1) { - $$sum1 = (($s$36) + 27)|0; - $54 = (($p$2) + ($$sum1)|0); - $55 = HEAP8[$54>>0]|0; - $56 = $55&255; - $57 = (($p$35) + ($56)|0); - $58 = ($55<<24>>24)==(-1); - if (!($58)) { - $p$4 = $57;$s$3$lcssa = $s$36; - break L28; - } - $59 = (($s$36) + 1)|0; - $60 = ($59|0)<($49|0); - if ($60) { - $p$35 = $57;$s$36 = $59; - } else { - $p$4 = $57;$s$3$lcssa = $59; - break; - } - } - } - } while(0); - $61 = (($49) + -1)|0; - $62 = ($s$3$lcssa|0)<($61|0); - $or$cond = $26 & $62; - if ($or$cond) { - label = 30; - break; - } - $63 = ($s$3$lcssa|0)==($49|0); - $$s$3 = $63 ? -1 : $s$3$lcssa; - $64 = HEAP32[$25>>2]|0; - $65 = ($p$4>>>0)>($64>>>0); - if ($65) { - label = 32; - break; - } else { - $first$0 = 0;$p$2 = $p$4;$s$2 = $$s$3; - } - } - if ((label|0) == 13) { - _error($f,1); - $$0 = 0; - return ($$0|0); - } - else if ((label|0) == 15) { - _error($f,21); - $$0 = 0; - return ($$0|0); - } - else if ((label|0) == 17) { - _error($f,21); - $$0 = 0; - return ($$0|0); - } - else if ((label|0) == 21) { - _error($f,21); - $$0 = 0; - return ($$0|0); - } - else if ((label|0) == 23) { - _error($f,21); - $$0 = 0; - return ($$0|0); - } - else if ((label|0) == 26) { - _error($f,1); - $$0 = 0; - return ($$0|0); - } - else if ((label|0) == 30) { - _error($f,21); - $$0 = 0; - return ($$0|0); - } - else if ((label|0) == 32) { - _error($f,1); - $$0 = 0; - return ($$0|0); - } - else if ((label|0) == 33) { - return ($$0|0); - } - return (0)|0; -} -function _vorbis_decode_packet($f,$len,$p_left,$p_right) { - $f = $f|0; - $len = $len|0; - $p_left = $p_left|0; - $p_right = $p_right|0; - var $$0 = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $left_end = 0, $mode = 0, $right_end = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $mode = sp + 8|0; - $left_end = sp + 4|0; - $right_end = sp; - $0 = (_vorbis_decode_initial($f,$p_left,$left_end,$p_right,$right_end,$mode)|0); - $1 = ($0|0)==(0); - if ($1) { - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $2 = HEAP32[$mode>>2]|0; - $3 = (((($f)) + 412|0) + (($2*6)|0)|0); - $4 = HEAP32[$p_left>>2]|0; - $5 = HEAP32[$p_right>>2]|0; - $6 = HEAP32[$right_end>>2]|0; - $7 = (_vorbis_decode_packet_rest($f,$len,$3,$4,$5,$6,$p_left)|0); - $$0 = $7; - STACKTOP = sp;return ($$0|0); -} -function _get8_packet($f) { - $f = $f|0; - var $0 = 0, $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_get8_packet_raw($f)|0); - $1 = ((($f)) + 1396|0); - HEAP32[$1>>2] = 0; - return ($0|0); -} -function _vorbis_finish_frame($f,$len,$left,$right) { - $f = $f|0; - $len = $len|0; - $left = $left|0; - $right = $right|0; - var $$0 = 0, $$pr = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0.0, $17 = 0, $18 = 0.0, $19 = 0.0, $2 = 0, $20 = 0, $21 = 0.0, $22 = 0, $23 = 0, $24 = 0.0; - var $25 = 0.0, $26 = 0.0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0; - var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond10 = 0; - var $i$04 = 0, $i1$09 = 0, $j$03 = 0, $j2$06 = 0, $len$right = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($f)) + 992|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)==(0); - if ($2) { - $49 = 0; - } else { - $3 = (_get_window($f,$1)|0); - $4 = ((($f)) + 4|0); - $5 = HEAP32[$4>>2]|0; - $6 = ($5|0)>(0); - if ($6) { - $7 = ($1|0)>(0); - $8 = HEAP32[$4>>2]|0; - $9 = (($1) + -1)|0; - $i1$09 = 0; - while(1) { - if ($7) { - $10 = (((($f)) + 800|0) + ($i1$09<<2)|0); - $11 = HEAP32[$10>>2]|0; - $12 = (((($f)) + 928|0) + ($i1$09<<2)|0); - $13 = HEAP32[$12>>2]|0; - $j2$06 = 0; - while(1) { - $14 = (($j2$06) + ($left))|0; - $15 = (($11) + ($14<<2)|0); - $16 = +HEAPF32[$15>>2]; - $17 = (($3) + ($j2$06<<2)|0); - $18 = +HEAPF32[$17>>2]; - $19 = $16 * $18; - $20 = (($13) + ($j2$06<<2)|0); - $21 = +HEAPF32[$20>>2]; - $22 = (($9) - ($j2$06))|0; - $23 = (($3) + ($22<<2)|0); - $24 = +HEAPF32[$23>>2]; - $25 = $21 * $24; - $26 = $19 + $25; - HEAPF32[$15>>2] = $26; - $27 = (($j2$06) + 1)|0; - $exitcond10 = ($27|0)==($1|0); - if ($exitcond10) { - break; - } else { - $j2$06 = $27; - } - } - } - $28 = (($i1$09) + 1)|0; - $29 = ($28|0)<($8|0); - if ($29) { - $i1$09 = $28; - } else { - break; - } - } - } - $$pr = HEAP32[$0>>2]|0; - $49 = $$pr; - } - $30 = (($len) - ($right))|0; - HEAP32[$0>>2] = $30; - $31 = ((($f)) + 4|0); - $32 = HEAP32[$31>>2]|0; - $33 = ($32|0)>(0); - if ($33) { - $34 = ($len|0)>($right|0); - $35 = HEAP32[$31>>2]|0; - $36 = (($len) - ($right))|0; - $i$04 = 0; - while(1) { - if ($34) { - $37 = (((($f)) + 800|0) + ($i$04<<2)|0); - $38 = HEAP32[$37>>2]|0; - $39 = (((($f)) + 928|0) + ($i$04<<2)|0); - $40 = HEAP32[$39>>2]|0; - $42 = $right;$j$03 = 0; - while(1) { - $41 = (($38) + ($42<<2)|0); - $43 = HEAP32[$41>>2]|0; - $44 = (($40) + ($j$03<<2)|0); - HEAP32[$44>>2] = $43; - $45 = (($j$03) + 1)|0; - $46 = (($45) + ($right))|0; - $exitcond = ($45|0)==($36|0); - if ($exitcond) { - break; - } else { - $42 = $46;$j$03 = $45; - } - } - } - $47 = (($i$04) + 1)|0; - $48 = ($47|0)<($35|0); - if ($48) { - $i$04 = $47; - } else { - break; - } - } - } - $50 = ($49|0)==(0); - if ($50) { - $$0 = 0; - return ($$0|0); - } - $51 = ($len|0)<($right|0); - $len$right = $51 ? $len : $right; - $52 = (($len$right) - ($left))|0; - $53 = ((($f)) + 1416|0); - $54 = HEAP32[$53>>2]|0; - $55 = (($54) + ($52))|0; - HEAP32[$53>>2] = $55; - $$0 = $52; - return ($$0|0); -} -function _vorbis_init($p,$z) { - $p = $p|0; - $z = $z|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $3 = 0, $4 = 0, $5 = 0; - var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - _memset(($p|0),0,1512)|0; - $0 = ($z|0)==(0|0); - if (!($0)) { - $1 = ((($p)) + 80|0); - $2 = $z; - $3 = $2; - $4 = HEAP32[$3>>2]|0; - $5 = (($2) + 4)|0; - $6 = $5; - $7 = HEAP32[$6>>2]|0; - $8 = $1; - $9 = $8; - HEAP32[$9>>2] = $4; - $10 = (($8) + 4)|0; - $11 = $10; - HEAP32[$11>>2] = $7; - $12 = ((($p)) + 84|0); - $13 = HEAP32[$12>>2]|0; - $14 = (($13) + 3)|0; - $15 = $14 & -4; - HEAP32[$12>>2] = $15; - $16 = ((($p)) + 92|0); - HEAP32[$16>>2] = $15; - } - $17 = ((($p)) + 96|0); - HEAP32[$17>>2] = 0; - $18 = ((($p)) + 100|0); - HEAP32[$18>>2] = 0; - $19 = ((($p)) + 32|0); - HEAP32[$19>>2] = 0; - $20 = ((($p)) + 124|0); - HEAP32[$20>>2] = 0; - $21 = ((($p)) + 1420|0); - HEAP32[$21>>2] = -1; - $22 = ((($p)) + 28|0); - HEAP32[$22>>2] = 0; - $23 = ((($p)) + 20|0); - HEAP32[$23>>2] = 0; - return; -} -function _start_decoder($f) { - $f = $f|0; - var $$ = 0, $$15 = 0, $$4 = 0, $$lcssa = 0, $$lcssa457 = 0, $$lcssa465 = 0, $$lcssa466 = 0, $$lcssa476 = 0, $$lcssa499 = 0, $$lcssa50 = 0, $$lcssa501 = 0, $$lcssa504 = 0, $$lcssa505 = 0, $$lcssa506 = 0, $$lcssa507 = 0, $$lcssa508 = 0, $$lcssa51 = 0, $$lcssa63 = 0, $$lcssa65 = 0, $$longest_floorlist$0 = 0; - var $$longest_floorlist$0$lcssa = 0, $$max_class$0 = 0, $$max_class$0$lcssa = 0, $$max_part_read$0 = 0, $$max_part_read$0$lcssa = 0, $$off = 0, $$off7 = 0, $$pr = 0, $$pr17 = 0, $$pr287 = 0, $$pr288 = 0, $$sum = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0; - var $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0; - var $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0; - var $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0; - var $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0; - var $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0; - var $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0; - var $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0; - var $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0; - var $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0.0, $26 = 0, $260 = 0, $261 = 0, $262 = 0.0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0; - var $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0; - var $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0; - var $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0; - var $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0.0, $337 = 0.0, $338 = 0.0, $339 = 0.0; - var $34 = 0, $340 = 0.0, $341 = 0.0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0; - var $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0.0, $374 = 0.0, $375 = 0.0; - var $376 = 0.0, $377 = 0.0, $378 = 0.0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0; - var $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0; - var $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0; - var $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0; - var $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0; - var $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0; - var $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0; - var $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0; - var $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0, $531 = 0, $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0; - var $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0, $549 = 0, $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 0, $554 = 0, $555 = 0; - var $556 = 0, $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0, $562 = 0, $563 = 0, $564 = 0, $565 = 0, $566 = 0, $567 = 0, $568 = 0, $569 = 0, $57 = 0, $570 = 0, $571 = 0, $572 = 0, $573 = 0; - var $574 = 0, $575 = 0, $576 = 0, $577 = 0, $578 = 0, $579 = 0, $58 = 0, $580 = 0, $581 = 0, $582 = 0, $583 = 0, $584 = 0, $585 = 0, $586 = 0, $587 = 0, $588 = 0, $589 = 0, $59 = 0, $590 = 0, $591 = 0; - var $592 = 0, $593 = 0, $594 = 0, $595 = 0, $596 = 0, $597 = 0, $598 = 0, $599 = 0, $6 = 0, $60 = 0, $600 = 0, $601 = 0, $602 = 0, $603 = 0, $604 = 0, $605 = 0, $606 = 0, $607 = 0, $608 = 0, $609 = 0; - var $61 = 0, $610 = 0, $611 = 0, $612 = 0, $613 = 0, $614 = 0, $615 = 0, $616 = 0, $617 = 0, $618 = 0, $619 = 0, $62 = 0, $620 = 0, $621 = 0, $622 = 0, $623 = 0, $624 = 0, $625 = 0, $626 = 0, $627 = 0; - var $628 = 0, $629 = 0, $63 = 0, $630 = 0, $631 = 0, $632 = 0, $633 = 0, $634 = 0, $635 = 0, $636 = 0, $637 = 0, $638 = 0, $639 = 0, $64 = 0, $640 = 0, $641 = 0, $642 = 0, $643 = 0, $644 = 0, $645 = 0; - var $646 = 0, $647 = 0, $648 = 0, $649 = 0, $65 = 0, $650 = 0, $651 = 0, $652 = 0, $653 = 0, $654 = 0, $655 = 0, $656 = 0, $657 = 0, $658 = 0, $659 = 0, $66 = 0, $660 = 0, $661 = 0, $662 = 0, $663 = 0; - var $664 = 0, $665 = 0, $666 = 0, $667 = 0, $668 = 0, $669 = 0, $67 = 0, $670 = 0, $671 = 0, $672 = 0, $673 = 0, $674 = 0, $675 = 0, $676 = 0, $677 = 0, $678 = 0, $679 = 0, $68 = 0, $680 = 0, $681 = 0; - var $682 = 0, $683 = 0, $684 = 0, $685 = 0, $686 = 0, $687 = 0, $688 = 0, $689 = 0, $69 = 0, $690 = 0, $691 = 0, $692 = 0, $693 = 0, $694 = 0, $695 = 0, $696 = 0, $697 = 0, $698 = 0, $699 = 0, $7 = 0; - var $70 = 0, $700 = 0, $701 = 0, $702 = 0, $703 = 0, $704 = 0, $705 = 0, $706 = 0, $707 = 0, $708 = 0, $709 = 0, $71 = 0, $710 = 0, $711 = 0, $712 = 0, $713 = 0, $714 = 0, $715 = 0, $716 = 0, $717 = 0; - var $718 = 0, $719 = 0, $72 = 0, $720 = 0, $721 = 0, $722 = 0, $723 = 0, $724 = 0, $725 = 0, $726 = 0, $727 = 0, $728 = 0, $729 = 0, $73 = 0, $730 = 0, $731 = 0, $732 = 0, $733 = 0, $734 = 0, $735 = 0; - var $736 = 0, $737 = 0, $738 = 0, $739 = 0, $74 = 0, $740 = 0, $741 = 0, $742 = 0, $743 = 0, $744 = 0, $745 = 0, $746 = 0, $747 = 0, $748 = 0, $749 = 0, $75 = 0, $750 = 0, $751 = 0, $752 = 0, $753 = 0; - var $754 = 0, $755 = 0, $756 = 0, $757 = 0, $758 = 0, $759 = 0, $76 = 0, $760 = 0, $761 = 0, $762 = 0, $763 = 0, $764 = 0, $765 = 0, $766 = 0, $767 = 0, $768 = 0, $769 = 0, $77 = 0, $770 = 0, $771 = 0; - var $772 = 0, $773 = 0, $774 = 0, $775 = 0, $776 = 0, $777 = 0, $778 = 0, $779 = 0, $78 = 0, $780 = 0, $781 = 0, $782 = 0, $783 = 0, $784 = 0, $785 = 0, $786 = 0, $787 = 0, $788 = 0, $789 = 0, $79 = 0; - var $790 = 0, $791 = 0, $792 = 0, $793 = 0, $794 = 0, $795 = 0, $796 = 0, $797 = 0, $798 = 0, $799 = 0, $8 = 0, $80 = 0, $800 = 0, $801 = 0, $802 = 0, $803 = 0, $804 = 0, $805 = 0, $806 = 0, $807 = 0; - var $808 = 0, $809 = 0, $81 = 0, $810 = 0, $811 = 0, $812 = 0, $813 = 0, $814 = 0, $815 = 0, $816 = 0, $817 = 0, $818 = 0, $819 = 0, $82 = 0, $820 = 0, $821 = 0, $822 = 0, $823 = 0, $824 = 0, $825 = 0; - var $826 = 0, $827 = 0, $828 = 0, $829 = 0, $83 = 0, $830 = 0, $831 = 0, $832 = 0, $833 = 0, $834 = 0, $835 = 0, $836 = 0, $837 = 0, $838 = 0, $839 = 0, $84 = 0, $840 = 0, $841 = 0, $842 = 0, $843 = 0; - var $844 = 0, $845 = 0, $846 = 0, $847 = 0, $848 = 0, $849 = 0, $85 = 0, $850 = 0, $851 = 0, $852 = 0, $853 = 0, $854 = 0, $855 = 0, $856 = 0, $857 = 0, $858 = 0, $859 = 0, $86 = 0, $860 = 0, $861 = 0; - var $862 = 0, $863 = 0, $864 = 0, $865 = 0, $866 = 0, $867 = 0, $868 = 0, $869 = 0, $87 = 0, $870 = 0, $871 = 0, $872 = 0, $873 = 0, $874 = 0, $875 = 0, $876 = 0, $877 = 0, $878 = 0, $879 = 0, $88 = 0; - var $880 = 0, $881 = 0, $882 = 0, $883 = 0, $884 = 0, $885 = 0, $886 = 0, $887 = 0, $888 = 0, $889 = 0, $89 = 0, $890 = 0, $891 = 0, $892 = 0, $893 = 0, $894 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0; - var $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $current_entry$0203 = 0, $current_length$0204 = 0, $current_length$0204$in = 0, $div$0$ph = 0, $header = 0, $hi = 0, $high_bits$0 = 0, $i$1225 = 0, $i$2194 = 0, $i$3189 = 0, $i$3189$lcssa459 = 0, $i$4154 = 0, $i$5133 = 0; - var $i$6118 = 0, $i$7114 = 0, $i9$0109 = 0, $j$0199 = 0, $j$10181 = 0, $j$11184 = 0, $j$1208 = 0, $j$12138 = 0, $j$13143 = 0, $j$14150 = 0, $j$15127 = 0, $j$16125 = 0, $j$17129 = 0, $j$2211 = 0, $j$3221 = 0, $j$4216 = 0, $j$5108 = 0, $j$6159 = 0, $j$7166 = 0, $j$8174 = 0; - var $j$9177 = 0, $k$0 = 0, $k$0$ph = 0, $k$1163 = 0, $k$2170 = 0, $k$3142 = 0, $k$4147 = 0, $k$4147$in = 0, $k$5122 = 0, $last$0220 = 0.0, $last$1 = 0.0, $last$1$ = 0.0, $last$1$$lcssa = 0.0, $last$1$lcssa = 0.0, $last$1$ph = 0.0, $last2$0$ = 0.0, $last2$0215 = 0.0, $lengths$0 = 0, $lengths$119 = 0, $lengths$120$ph = 0; - var $longest_floorlist$0$lcssa = 0, $longest_floorlist$0188 = 0, $low = 0, $max_class$0158 = 0, $max_part_read$0$lcssa = 0, $max_part_read$0110 = 0, $or$cond = 0, $or$cond14 = 0, $p = 0, $phitmp = 0, $phitmp233 = 0, $phitmp234 = 0, $sext = 0, $sorted_count$0207 = 0, $sorted_count$1 = 0, $sorted_count$2 = 0, $temp$0146 = 0, $total$0198 = 0, $total$1 = 0, $total$2 = 0; - var $values$0 = 0, $values$1 = 0, $values$1$lcssa = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 1024|0; - $header = sp + 1008|0; - $p = sp + 8|0; - $low = sp + 4|0; - $hi = sp; - $0 = (_start_page($f)|0); - $1 = ($0|0)==(0); - if ($1) { - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - $2 = ((($f)) + 1375|0); - $3 = HEAP8[$2>>0]|0; - $4 = $3&255; - $5 = $4 & 2; - $6 = ($5|0)==(0); - if ($6) { - _error($f,34); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - $7 = $4 & 4; - $8 = ($7|0)==(0); - if (!($8)) { - _error($f,34); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - $9 = $4 & 1; - $10 = ($9|0)==(0); - if (!($10)) { - _error($f,34); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - $11 = ((($f)) + 1116|0); - $12 = HEAP32[$11>>2]|0; - $13 = ($12|0)==(1); - if (!($13)) { - _error($f,34); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - $14 = ((($f)) + 1120|0); - $15 = HEAP8[$14>>0]|0; - $16 = ($15<<24>>24)==(30); - if (!($16)) { - _error($f,34); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - $17 = (_get8($f)|0); - $18 = ($17<<24>>24)==(1); - if (!($18)) { - _error($f,34); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - $19 = (_getn($f,$header,6)|0); - $20 = ($19|0)==(0); - if ($20) { - _error($f,10); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - $21 = (_vorbis_validate($header)|0); - $22 = ($21|0)==(0); - if ($22) { - _error($f,34); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - $23 = (_get32($f)|0); - $24 = ($23|0)==(0); - if (!($24)) { - _error($f,34); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - $25 = (_get8($f)|0); - $26 = $25&255; - $27 = ((($f)) + 4|0); - HEAP32[$27>>2] = $26; - $28 = ($25<<24>>24)==(0); - if ($28) { - _error($f,34); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - $29 = ($25&255)>(16); - if ($29) { - _error($f,5); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - $30 = (_get32($f)|0); - HEAP32[$f>>2] = $30; - $31 = ($30|0)==(0); - if ($31) { - _error($f,34); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - (_get32($f)|0); - (_get32($f)|0); - (_get32($f)|0); - $32 = (_get8($f)|0); - $33 = $32&255; - $34 = $33 & 15; - $35 = $33 >>> 4; - $36 = 1 << $34; - $37 = ((($f)) + 112|0); - HEAP32[$37>>2] = $36; - $38 = 1 << $35; - $39 = ((($f)) + 116|0); - HEAP32[$39>>2] = $38; - $$off = (($34) + -6)|0; - $40 = ($$off>>>0)>(7); - if ($40) { - _error($f,20); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - $$off7 = (($32) + -96)<<24>>24; - $41 = ($$off7<<24>>24)<(0); - if ($41) { - _error($f,20); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - $42 = ($34>>>0)>($35>>>0); - if ($42) { - _error($f,20); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - $43 = (_get8($f)|0); - $44 = $43 & 1; - $45 = ($44<<24>>24)==(0); - if ($45) { - _error($f,34); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - $46 = (_start_page($f)|0); - $47 = ($46|0)==(0); - if ($47) { - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - $48 = (_start_packet($f)|0); - $49 = ($48|0)==(0); - if ($49) { - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - $50 = ((($f)) + 1376|0); - while(1) { - $51 = (_next_segment($f)|0); - _skip($f,$51); - HEAP8[$50>>0] = 0; - $52 = ($51|0)==(0); - if ($52) { - break; - } - } - $53 = (_start_packet($f)|0); - $54 = ($53|0)==(0); - if ($54) { - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - $55 = ((($f)) + 48|0); - $56 = HEAP8[$55>>0]|0; - $57 = ($56<<24>>24)==(0); - do { - if (!($57)) { - $58 = (_is_whole_packet_present($f,1)|0); - $59 = ($58|0)==(0); - if (!($59)) { - break; - } - $60 = ((($f)) + 100|0); - $61 = HEAP32[$60>>2]|0; - $62 = ($61|0)==(21); - if (!($62)) { - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - HEAP32[$60>>2] = 20; - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - } while(0); - _crc32_init(); - $63 = (_get8_packet($f)|0); - $64 = ($63|0)==(5); - if (!($64)) { - _error($f,20); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - $65 = (_get8_packet($f)|0); - $66 = $65&255; - HEAP8[$header>>0] = $66; - $67 = (_get8_packet($f)|0); - $68 = $67&255; - $69 = ((($header)) + 1|0); - HEAP8[$69>>0] = $68; - $70 = (_get8_packet($f)|0); - $71 = $70&255; - $72 = ((($header)) + 2|0); - HEAP8[$72>>0] = $71; - $73 = (_get8_packet($f)|0); - $74 = $73&255; - $75 = ((($header)) + 3|0); - HEAP8[$75>>0] = $74; - $76 = (_get8_packet($f)|0); - $77 = $76&255; - $78 = ((($header)) + 4|0); - HEAP8[$78>>0] = $77; - $79 = (_get8_packet($f)|0); - $80 = $79&255; - $81 = ((($header)) + 5|0); - HEAP8[$81>>0] = $80; - $82 = (_vorbis_validate($header)|0); - $83 = ($82|0)==(0); - if ($83) { - _error($f,20); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - $84 = (_get_bits($f,8)|0); - $85 = (($84) + 1)|0; - $86 = ((($f)) + 120|0); - HEAP32[$86>>2] = $85; - $87 = ($85*2096)|0; - $88 = (_setup_malloc($f,$87)|0); - $89 = ((($f)) + 124|0); - HEAP32[$89>>2] = $88; - $90 = ($88|0)==(0|0); - if ($90) { - _error($f,3); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - $91 = HEAP32[$86>>2]|0; - $92 = ($91*2096)|0; - _memset(($88|0),0,($92|0))|0; - $93 = HEAP32[$86>>2]|0; - $94 = ($93|0)>(0); - L100: do { - if ($94) { - $95 = ((($f)) + 16|0); - $96 = ((($f)) + 16|0); - $i$1225 = 0; - L102: while(1) { - $97 = HEAP32[$89>>2]|0; - $98 = (($97) + (($i$1225*2096)|0)|0); - $99 = (_get_bits($f,8)|0); - $100 = $99 & 255; - $101 = ($100|0)==(66); - if (!($101)) { - label = 52; - break; - } - $102 = (_get_bits($f,8)|0); - $103 = $102 & 255; - $104 = ($103|0)==(67); - if (!($104)) { - label = 54; - break; - } - $105 = (_get_bits($f,8)|0); - $106 = $105 & 255; - $107 = ($106|0)==(86); - if (!($107)) { - label = 56; - break; - } - $108 = (_get_bits($f,8)|0); - $109 = (_get_bits($f,8)|0); - $110 = $109 << 8; - $111 = $108 & 255; - $112 = $110 | $111; - HEAP32[$98>>2] = $112; - $113 = (_get_bits($f,8)|0); - $114 = (_get_bits($f,8)|0); - $115 = (_get_bits($f,8)|0); - $116 = $115 << 16; - $117 = $114 << 8; - $118 = $117 & 65280; - $119 = $113 & 255; - $120 = $118 | $119; - $121 = $120 | $116; - $122 = (((($97) + (($i$1225*2096)|0)|0)) + 4|0); - HEAP32[$122>>2] = $121; - $123 = (_get_bits($f,1)|0); - $124 = ($123|0)!=(0); - if ($124) { - $127 = 0; - } else { - $125 = (_get_bits($f,1)|0); - $127 = $125; - } - $126 = $127&255; - $128 = (((($97) + (($i$1225*2096)|0)|0)) + 23|0); - HEAP8[$128>>0] = $126; - $129 = HEAP32[$98>>2]|0; - $130 = ($129|0)==(0); - if ($130) { - $131 = HEAP32[$122>>2]|0; - $132 = ($131|0)==(0); - if (!($132)) { - label = 61; - break; - } - $$pr = HEAP8[$128>>0]|0; - $133 = $$pr; - } else { - $133 = $126; - } - $134 = ($133<<24>>24)==(0); - $135 = HEAP32[$122>>2]|0; - if ($134) { - $137 = (_setup_malloc($f,$135)|0); - $138 = (((($97) + (($i$1225*2096)|0)|0)) + 8|0); - HEAP32[$138>>2] = $137; - $lengths$0 = $137; - } else { - $136 = (_setup_temp_malloc($f,$135)|0); - $lengths$0 = $136; - } - $139 = ($lengths$0|0)==(0|0); - if ($139) { - label = 67; - break; - } - do { - if ($124) { - $142 = (_get_bits($f,5)|0); - $143 = HEAP32[$122>>2]|0; - $144 = ($143|0)>(0); - if ($144) { - $146 = $143;$current_entry$0203 = 0;$current_length$0204$in = $142; - } else { - $total$2 = 0; - break; - } - while(1) { - $current_length$0204 = (($current_length$0204$in) + 1)|0; - $145 = (($146) - ($current_entry$0203))|0; - $147 = (_ilog($145)|0); - $148 = (_get_bits($f,$147)|0); - $149 = (($148) + ($current_entry$0203))|0; - $150 = HEAP32[$122>>2]|0; - $151 = ($149|0)>($150|0); - if ($151) { - label = 72; - break L102; - } - $152 = (($lengths$0) + ($current_entry$0203)|0); - $153 = $current_length$0204&255; - _memset(($152|0),($153|0),($148|0))|0; - $154 = HEAP32[$122>>2]|0; - $155 = ($154|0)>($149|0); - if ($155) { - $146 = $154;$current_entry$0203 = $149;$current_length$0204$in = $current_length$0204; - } else { - $total$2 = 0; - break; - } - } - } else { - $140 = HEAP32[$122>>2]|0; - $141 = ($140|0)>(0); - if ($141) { - $j$0199 = 0;$total$0198 = 0; - } else { - $total$2 = 0; - break; - } - while(1) { - $156 = HEAP8[$128>>0]|0; - $157 = ($156<<24>>24)==(0); - do { - if ($157) { - label = 76; - } else { - $158 = (_get_bits($f,1)|0); - $159 = ($158|0)==(0); - if (!($159)) { - label = 76; - break; - } - $167 = (($lengths$0) + ($j$0199)|0); - HEAP8[$167>>0] = -1; - $total$1 = $total$0198; - } - } while(0); - if ((label|0) == 76) { - label = 0; - $160 = (_get_bits($f,5)|0); - $161 = (($160) + 1)|0; - $162 = $161&255; - $163 = (($lengths$0) + ($j$0199)|0); - HEAP8[$163>>0] = $162; - $164 = (($total$0198) + 1)|0; - $165 = $161 & 255; - $166 = ($165|0)==(32); - if ($166) { - label = 77; - break L102; - } else { - $total$1 = $164; - } - } - $168 = (($j$0199) + 1)|0; - $169 = HEAP32[$122>>2]|0; - $170 = ($168|0)<($169|0); - if ($170) { - $j$0199 = $168;$total$0198 = $total$1; - } else { - $total$2 = $total$1; - break; - } - } - } - } while(0); - $171 = HEAP8[$128>>0]|0; - $172 = ($171<<24>>24)==(0); - do { - if ($172) { - $lengths$120$ph = $lengths$0; - label = 88; - } else { - $173 = HEAP32[$122>>2]|0; - $174 = $173 >> 2; - $175 = ($total$2|0)<($174|0); - if ($175) { - $$pr17 = HEAP8[$128>>0]|0; - $185 = ($$pr17<<24>>24)==(0); - if ($185) { - $lengths$120$ph = $lengths$0; - label = 88; - break; - } else { - $lengths$119 = $lengths$0;$sorted_count$2 = $total$2; - break; - } - } - $176 = HEAP32[$96>>2]|0; - $177 = ($173|0)>($176|0); - if ($177) { - HEAP32[$96>>2] = $173; - } - $178 = HEAP32[$122>>2]|0; - $179 = (_setup_malloc($f,$178)|0); - $180 = (((($97) + (($i$1225*2096)|0)|0)) + 8|0); - HEAP32[$180>>2] = $179; - $181 = ($179|0)==(0|0); - if ($181) { - label = 85; - break L102; - } - $182 = HEAP32[$122>>2]|0; - _memcpy(($179|0),($lengths$0|0),($182|0))|0; - $183 = HEAP32[$122>>2]|0; - _setup_temp_free($f,$lengths$0,$183); - $184 = HEAP32[$180>>2]|0; - HEAP8[$128>>0] = 0; - $lengths$120$ph = $184; - label = 88; - } - } while(0); - do { - if ((label|0) == 88) { - label = 0; - $186 = HEAP32[$122>>2]|0; - $187 = ($186|0)>(0); - if (!($187)) { - $lengths$119 = $lengths$120$ph;$sorted_count$2 = 0; - break; - } - $188 = HEAP32[$122>>2]|0; - $j$1208 = 0;$sorted_count$0207 = 0; - while(1) { - $189 = (($lengths$120$ph) + ($j$1208)|0); - $190 = HEAP8[$189>>0]|0; - $191 = ($190&255)<(11); - $192 = ($190<<24>>24)==(-1); - $or$cond = $191 | $192; - $193 = $or$cond&1; - $194 = $193 ^ 1; - $sorted_count$1 = (($194) + ($sorted_count$0207))|0; - $195 = (($j$1208) + 1)|0; - $196 = ($195|0)<($188|0); - if ($196) { - $j$1208 = $195;$sorted_count$0207 = $sorted_count$1; - } else { - $lengths$119 = $lengths$120$ph;$sorted_count$2 = $sorted_count$1; - break; - } - } - } - } while(0); - $197 = (((($97) + (($i$1225*2096)|0)|0)) + 2092|0); - HEAP32[$197>>2] = $sorted_count$2; - $198 = HEAP8[$128>>0]|0; - $199 = ($198<<24>>24)==(0); - do { - if ($199) { - $200 = HEAP32[$122>>2]|0; - $201 = $200 << 2; - $202 = (_setup_malloc($f,$201)|0); - $203 = (((($97) + (($i$1225*2096)|0)|0)) + 32|0); - HEAP32[$203>>2] = $202; - $204 = ($202|0)==(0|0); - if ($204) { - label = 93; - break L102; - } else { - $values$1 = 0; - } - } else { - $205 = ($sorted_count$2|0)==(0); - if ($205) { - $values$0 = 0; - } else { - $206 = (_setup_malloc($f,$sorted_count$2)|0); - $207 = (((($97) + (($i$1225*2096)|0)|0)) + 8|0); - HEAP32[$207>>2] = $206; - $208 = ($206|0)==(0|0); - if ($208) { - label = 96; - break L102; - } - $209 = HEAP32[$197>>2]|0; - $210 = $209 << 2; - $211 = (_setup_temp_malloc($f,$210)|0); - $212 = (((($97) + (($i$1225*2096)|0)|0)) + 32|0); - HEAP32[$212>>2] = $211; - $213 = ($211|0)==(0|0); - if ($213) { - label = 98; - break L102; - } - $214 = HEAP32[$197>>2]|0; - $215 = $214 << 2; - $216 = (_setup_temp_malloc($f,$215)|0); - $217 = ($216|0)==(0|0); - if ($217) { - label = 100; - break L102; - } else { - $values$0 = $216; - } - } - $218 = HEAP32[$122>>2]|0; - $219 = HEAP32[$197>>2]|0; - $220 = $219 << 3; - $221 = (($220) + ($218))|0; - $222 = HEAP32[$95>>2]|0; - $223 = ($221>>>0)>($222>>>0); - if (!($223)) { - $values$1 = $values$0; - break; - } - HEAP32[$95>>2] = $221; - $values$1 = $values$0; - } - } while(0); - $224 = HEAP32[$122>>2]|0; - $225 = (_compute_codewords($98,$lengths$119,$224,$values$1)|0); - $226 = ($225|0)==(0); - if ($226) { - $$lcssa476 = $128;$values$1$lcssa = $values$1; - label = 104; - break; - } - $229 = HEAP32[$197>>2]|0; - $230 = ($229|0)==(0); - if (!($230)) { - $231 = $229 << 2; - $232 = (($231) + 4)|0; - $233 = (_setup_malloc($f,$232)|0); - $234 = (((($97) + (($i$1225*2096)|0)|0)) + 2084|0); - HEAP32[$234>>2] = $233; - $235 = ($233|0)==(0|0); - if ($235) { - label = 109; - break; - } - $236 = HEAP32[$197>>2]|0; - $237 = $236 << 2; - $238 = (($237) + 4)|0; - $239 = (_setup_malloc($f,$238)|0); - $240 = (((($97) + (($i$1225*2096)|0)|0)) + 2088|0); - HEAP32[$240>>2] = $239; - $241 = ($239|0)==(0|0); - if ($241) { - label = 111; - break; - } - $242 = ((($239)) + 4|0); - HEAP32[$240>>2] = $242; - HEAP32[$239>>2] = -1; - _compute_sorted_huffman($98,$lengths$119,$values$1); - } - $243 = HEAP8[$128>>0]|0; - $244 = ($243<<24>>24)==(0); - if (!($244)) { - $245 = HEAP32[$197>>2]|0; - $246 = $245 << 2; - _setup_temp_free($f,$values$1,$246); - $247 = (((($97) + (($i$1225*2096)|0)|0)) + 32|0); - $248 = HEAP32[$247>>2]|0; - $249 = HEAP32[$197>>2]|0; - $250 = $249 << 2; - _setup_temp_free($f,$248,$250); - $251 = HEAP32[$122>>2]|0; - _setup_temp_free($f,$lengths$119,$251); - HEAP32[$247>>2] = 0; - } - _compute_accelerated_huffman($98); - $252 = (_get_bits($f,4)|0); - $253 = $252&255; - $254 = (((($97) + (($i$1225*2096)|0)|0)) + 21|0); - HEAP8[$254>>0] = $253; - $255 = $252 & 255; - $256 = ($255>>>0)>(2); - if ($256) { - label = 116; - break; - } - $257 = ($255|0)==(0); - do { - if (!($257)) { - $258 = (_get_bits($f,32)|0); - $259 = (+_float32_unpack($258)); - $260 = (((($97) + (($i$1225*2096)|0)|0)) + 12|0); - HEAPF32[$260>>2] = $259; - $261 = (_get_bits($f,32)|0); - $262 = (+_float32_unpack($261)); - $263 = (((($97) + (($i$1225*2096)|0)|0)) + 16|0); - HEAPF32[$263>>2] = $262; - $264 = (_get_bits($f,4)|0); - $265 = (($264) + 1)|0; - $266 = $265&255; - $267 = (((($97) + (($i$1225*2096)|0)|0)) + 20|0); - HEAP8[$267>>0] = $266; - $268 = (_get_bits($f,1)|0); - $269 = $268&255; - $270 = (((($97) + (($i$1225*2096)|0)|0)) + 22|0); - HEAP8[$270>>0] = $269; - $271 = HEAP8[$254>>0]|0; - $272 = ($271<<24>>24)==(1); - $273 = HEAP32[$122>>2]|0; - $274 = HEAP32[$98>>2]|0; - if ($272) { - $275 = (_lookup1_values($273,$274)|0); - $276 = (((($97) + (($i$1225*2096)|0)|0)) + 24|0); - HEAP32[$276>>2] = $275; - } else { - $277 = Math_imul($274, $273)|0; - $278 = (((($97) + (($i$1225*2096)|0)|0)) + 24|0); - HEAP32[$278>>2] = $277; - } - $279 = (((($97) + (($i$1225*2096)|0)|0)) + 24|0); - $280 = HEAP32[$279>>2]|0; - $281 = ($280|0)==(0); - if ($281) { - label = 122; - break L102; - } - $282 = $280 << 1; - $283 = (_setup_temp_malloc($f,$282)|0); - $284 = ($283|0)==(0|0); - if ($284) { - label = 125; - break L102; - } - $285 = HEAP32[$279>>2]|0; - $286 = ($285|0)>(0); - if ($286) { - $j$2211 = 0; - while(1) { - $287 = HEAP8[$267>>0]|0; - $288 = $287&255; - $289 = (_get_bits($f,$288)|0); - $290 = ($289|0)==(-1); - if ($290) { - $$lcssa499 = $279;$$lcssa504 = $283; - label = 127; - break L102; - } - $293 = $289&65535; - $294 = (($283) + ($j$2211<<1)|0); - HEAP16[$294>>1] = $293; - $295 = (($j$2211) + 1)|0; - $296 = HEAP32[$279>>2]|0; - $297 = ($295|0)<($296|0); - if ($297) { - $j$2211 = $295; - } else { - $$lcssa63 = $296; - break; - } - } - } else { - $$lcssa63 = $285; - } - $298 = HEAP8[$254>>0]|0; - $299 = ($298<<24>>24)==(1); - if (!($299)) { - $359 = $$lcssa63 << 2; - $360 = (_setup_malloc($f,$359)|0); - $361 = (((($97) + (($i$1225*2096)|0)|0)) + 28|0); - HEAP32[$361>>2] = $360; - $362 = ($360|0)==(0|0); - $363 = HEAP32[$279>>2]|0; - if ($362) { - $$lcssa505 = $283;$$lcssa508 = $363; - label = 152; - break L102; - } - $364 = ($363|0)>(0); - if ($364) { - $365 = HEAP32[$361>>2]|0; - $366 = HEAP8[$270>>0]|0; - $367 = ($366<<24>>24)==(0); - $368 = HEAP32[$279>>2]|0; - $j$4216 = 0;$last2$0215 = 0.0; - while(1) { - $370 = (($283) + ($j$4216<<1)|0); - $371 = HEAP16[$370>>1]|0; - $372 = $371&65535; - $373 = (+($372|0)); - $374 = +HEAPF32[$263>>2]; - $375 = $374 * $373; - $376 = +HEAPF32[$260>>2]; - $377 = $376 + $375; - $378 = $last2$0215 + $377; - $379 = (($365) + ($j$4216<<2)|0); - HEAPF32[$379>>2] = $378; - $last2$0$ = $367 ? $last2$0215 : $378; - $380 = (($j$4216) + 1)|0; - $381 = ($380|0)<($368|0); - if ($381) { - $j$4216 = $380;$last2$0215 = $last2$0$; - } else { - $$lcssa65 = $368; - break; - } - } - } else { - $$lcssa65 = $363; - } - $382 = $$lcssa65 << 1; - _setup_temp_free($f,$283,$382); - break; - } - $300 = HEAP8[$128>>0]|0; - $301 = ($300<<24>>24)!=(0); - if ($301) { - $302 = HEAP32[$197>>2]|0; - $303 = ($302|0)==(0); - if ($303) { - break; - } - $304 = $302 << 2; - $305 = HEAP32[$98>>2]|0; - $306 = Math_imul($304, $305)|0; - $307 = (_setup_malloc($f,$306)|0); - $308 = (((($97) + (($i$1225*2096)|0)|0)) + 28|0); - HEAP32[$308>>2] = $307; - } else { - $309 = HEAP32[$122>>2]|0; - $310 = $309 << 2; - $311 = HEAP32[$98>>2]|0; - $312 = Math_imul($310, $311)|0; - $313 = (_setup_malloc($f,$312)|0); - $314 = (((($97) + (($i$1225*2096)|0)|0)) + 28|0); - HEAP32[$314>>2] = $313; - } - $315 = (((($97) + (($i$1225*2096)|0)|0)) + 28|0); - $316 = HEAP32[$315>>2]|0; - $317 = ($316|0)==(0|0); - if ($317) { - $$lcssa501 = $279;$$lcssa506 = $283; - label = 135; - break L102; - } - $$ = $301 ? $197 : $122; - $320 = HEAP32[$$>>2]|0; - $321 = ($320|0)>(0); - if ($321) { - $322 = (((($97) + (($i$1225*2096)|0)|0)) + 2088|0); - $323 = HEAP32[$98>>2]|0; - $j$3221 = 0;$last$0220 = 0.0; - while(1) { - if ($301) { - $324 = HEAP32[$322>>2]|0; - $325 = (($324) + ($j$3221<<2)|0); - $326 = HEAP32[$325>>2]|0; - $330 = $326; - } else { - $330 = $j$3221; - } - $327 = Math_imul($323, $j$3221)|0; - $div$0$ph = 1;$k$0$ph = 0;$last$1$ph = $last$0220; - L204: while(1) { - $k$0 = $k$0$ph;$last$1 = $last$1$ph; - while(1) { - $328 = ($k$0|0)<($323|0); - if (!($328)) { - $last$1$lcssa = $last$1; - break L204; - } - $329 = (($330>>>0) / ($div$0$ph>>>0))&-1; - $331 = HEAP32[$279>>2]|0; - $332 = (($329>>>0) % ($331>>>0))&-1; - $333 = (($283) + ($332<<1)|0); - $334 = HEAP16[$333>>1]|0; - $335 = $334&65535; - $336 = (+($335|0)); - $337 = +HEAPF32[$263>>2]; - $338 = $337 * $336; - $339 = +HEAPF32[$260>>2]; - $340 = $339 + $338; - $341 = $last$1 + $340; - $342 = (($327) + ($k$0))|0; - $343 = HEAP32[$315>>2]|0; - $344 = (($343) + ($342<<2)|0); - HEAPF32[$344>>2] = $341; - $345 = HEAP8[$270>>0]|0; - $346 = ($345<<24>>24)==(0); - $last$1$ = $346 ? $last$1 : $341; - $347 = (($k$0) + 1)|0; - $348 = HEAP32[$98>>2]|0; - $349 = ($347|0)<($348|0); - if ($349) { - $$lcssa465 = $347;$last$1$$lcssa = $last$1$; - break; - } else { - $k$0 = $347;$last$1 = $last$1$; - } - } - $350 = HEAP32[$279>>2]|0; - $351 = (4294967295 / ($350>>>0))&-1; - $352 = ($div$0$ph>>>0)>($351>>>0); - if ($352) { - $$lcssa466 = $350;$$lcssa507 = $283; - label = 145; - break L102; - } - $354 = Math_imul($350, $div$0$ph)|0; - $div$0$ph = $354;$k$0$ph = $$lcssa465;$last$1$ph = $last$1$$lcssa; - } - $355 = (($j$3221) + 1)|0; - $356 = ($355|0)<($320|0); - if ($356) { - $j$3221 = $355;$last$0220 = $last$1$lcssa; - } else { - break; - } - } - } - $357 = HEAP32[$279>>2]|0; - $358 = $357 << 1; - _setup_temp_free($f,$283,$358); - HEAP8[$254>>0] = 2; - } - } while(0); - $383 = (($i$1225) + 1)|0; - $384 = HEAP32[$86>>2]|0; - $385 = ($383|0)<($384|0); - if ($385) { - $i$1225 = $383; - } else { - break L100; - } - } - switch (label|0) { - case 52: { - _error($f,20); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - break; - } - case 54: { - _error($f,20); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - break; - } - case 56: { - _error($f,20); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - break; - } - case 61: { - _error($f,20); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - break; - } - case 67: { - _error($f,3); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - break; - } - case 72: { - _error($f,20); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - break; - } - case 77: { - _error($f,20); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - break; - } - case 85: { - _error($f,3); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - break; - } - case 93: { - _error($f,3); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - break; - } - case 96: { - _error($f,3); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - break; - } - case 98: { - _error($f,3); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - break; - } - case 100: { - _error($f,3); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - break; - } - case 104: { - $227 = HEAP8[$$lcssa476>>0]|0; - $228 = ($227<<24>>24)==(0); - if (!($228)) { - _setup_temp_free($f,$values$1$lcssa,0); - } - _error($f,20); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - break; - } - case 109: { - _error($f,3); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - break; - } - case 111: { - _error($f,3); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - break; - } - case 116: { - _error($f,20); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - break; - } - case 122: { - _error($f,20); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - break; - } - case 125: { - _error($f,3); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - break; - } - case 127: { - $291 = HEAP32[$$lcssa499>>2]|0; - $292 = $291 << 1; - _setup_temp_free($f,$$lcssa504,$292); - _error($f,20); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - break; - } - case 135: { - $318 = HEAP32[$$lcssa501>>2]|0; - $319 = $318 << 1; - _setup_temp_free($f,$$lcssa506,$319); - _error($f,3); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - break; - } - case 145: { - $353 = $$lcssa466 << 1; - _setup_temp_free($f,$$lcssa507,$353); - _error($f,20); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - break; - } - case 152: { - $369 = $$lcssa508 << 1; - _setup_temp_free($f,$$lcssa505,$369); - _error($f,3); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - break; - } - } - } - } while(0); - $386 = (_get_bits($f,6)|0); - $387 = (($386) + 1)|0; - $388 = $387 & 255; - $389 = ($388|0)==(0); - L263: do { - if (!($389)) { - $i$2194 = 0; - while(1) { - $392 = (_get_bits($f,16)|0); - $393 = ($392|0)==(0); - $390 = (($i$2194) + 1)|0; - if (!($393)) { - break; - } - $391 = ($390|0)<($388|0); - if ($391) { - $i$2194 = $390; - } else { - break L263; - } - } - _error($f,20); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - } while(0); - $394 = (_get_bits($f,6)|0); - $395 = (($394) + 1)|0; - $396 = ((($f)) + 128|0); - HEAP32[$396>>2] = $395; - $397 = ($395*1596)|0; - $398 = (_setup_malloc($f,$397)|0); - $399 = ((($f)) + 260|0); - HEAP32[$399>>2] = $398; - $400 = ($398|0)==(0|0); - if ($400) { - _error($f,3); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - $401 = HEAP32[$396>>2]|0; - $402 = ($401|0)>(0); - do { - if ($402) { - $i$3189 = 0;$longest_floorlist$0188 = 0; - L276: while(1) { - $403 = (_get_bits($f,16)|0); - $404 = $403&65535; - $405 = (((($f)) + 132|0) + ($i$3189<<1)|0); - HEAP16[$405>>1] = $404; - $406 = $403 & 65535; - $407 = ($406>>>0)>(1); - if ($407) { - label = 165; - break; - } - $408 = ($406|0)==(0); - if ($408) { - $i$3189$lcssa459 = $i$3189; - label = 167; - break; - } - $438 = HEAP32[$399>>2]|0; - $439 = (_get_bits($f,5)|0); - $440 = $439&255; - $441 = (($438) + (($i$3189*1596)|0)|0); - HEAP8[$441>>0] = $440; - $442 = $439 & 255; - $443 = ($442|0)==(0); - do { - if (!($443)) { - $j$6159 = 0;$max_class$0158 = -1; - while(1) { - $445 = (_get_bits($f,4)|0); - $446 = $445&255; - $447 = ((((($438) + (($i$3189*1596)|0)|0)) + 1|0) + ($j$6159)|0); - HEAP8[$447>>0] = $446; - $448 = $445 & 255; - $449 = ($448|0)>($max_class$0158|0); - $$max_class$0 = $449 ? $448 : $max_class$0158; - $450 = (($j$6159) + 1)|0; - $451 = HEAP8[$441>>0]|0; - $452 = $451&255; - $453 = ($450|0)<($452|0); - if ($453) { - $j$6159 = $450;$max_class$0158 = $$max_class$0; - } else { - $$max_class$0$lcssa = $$max_class$0; - break; - } - } - $444 = ($$max_class$0$lcssa|0)<(0); - if ($444) { - break; - } else { - $j$7166 = 0; - } - while(1) { - $454 = (_get_bits($f,3)|0); - $455 = (($454) + 1)|0; - $456 = $455&255; - $457 = ((((($438) + (($i$3189*1596)|0)|0)) + 33|0) + ($j$7166)|0); - HEAP8[$457>>0] = $456; - $458 = (_get_bits($f,2)|0); - $459 = $458&255; - $460 = ((((($438) + (($i$3189*1596)|0)|0)) + 49|0) + ($j$7166)|0); - HEAP8[$460>>0] = $459; - $461 = ($459<<24>>24)==(0); - if ($461) { - $k$1163 = 0; - label = 178; - } else { - $463 = (_get_bits($f,8)|0); - $464 = $463&255; - $465 = ((((($438) + (($i$3189*1596)|0)|0)) + 65|0) + ($j$7166)|0); - HEAP8[$465>>0] = $464; - $466 = $463 & 255; - $467 = HEAP32[$86>>2]|0; - $468 = ($466|0)<($467|0); - if (!($468)) { - label = 176; - break L276; - } - $$pr287 = HEAP8[$460>>0]|0; - $462 = ($$pr287<<24>>24)==(31); - if (!($462)) { - $k$1163 = 0; - label = 178; - } - } - if ((label|0) == 178) { - while(1) { - label = 0; - $474 = (_get_bits($f,8)|0); - $475 = (($474) + 65535)|0; - $476 = $475&65535; - $477 = (((((($438) + (($i$3189*1596)|0)|0)) + 82|0) + ($j$7166<<4)|0) + ($k$1163<<1)|0); - HEAP16[$477>>1] = $476; - $sext = $475 << 16; - $478 = $sext >> 16; - $479 = HEAP32[$86>>2]|0; - $480 = ($478|0)<($479|0); - $472 = (($k$1163) + 1)|0; - if (!($480)) { - label = 179; - break L276; - } - $469 = HEAP8[$460>>0]|0; - $470 = $469&255; - $471 = 1 << $470; - $473 = ($472|0)<($471|0); - if ($473) { - $k$1163 = $472; - label = 178; - } else { - break; - } - } - } - $481 = (($j$7166) + 1)|0; - $482 = ($j$7166|0)<($$max_class$0$lcssa|0); - if ($482) { - $j$7166 = $481; - } else { - break; - } - } - } - } while(0); - $483 = (_get_bits($f,2)|0); - $484 = (($483) + 1)|0; - $485 = $484&255; - $486 = (((($438) + (($i$3189*1596)|0)|0)) + 1588|0); - HEAP8[$486>>0] = $485; - $487 = (_get_bits($f,4)|0); - $488 = $487&255; - $489 = (((($438) + (($i$3189*1596)|0)|0)) + 1589|0); - HEAP8[$489>>0] = $488; - $490 = (((($438) + (($i$3189*1596)|0)|0)) + 338|0); - HEAP16[$490>>1] = 0; - $491 = HEAP8[$489>>0]|0; - $492 = $491&255; - $493 = 1 << $492; - $494 = $493&65535; - $495 = (((($438) + (($i$3189*1596)|0)|0)) + 340|0); - HEAP16[$495>>1] = $494; - $496 = (((($438) + (($i$3189*1596)|0)|0)) + 1592|0); - HEAP32[$496>>2] = 2; - $497 = HEAP8[$441>>0]|0; - $498 = ($497<<24>>24)==(0); - if ($498) { - $j$9177 = 0; - label = 186; - } else { - $j$8174 = 0; - while(1) { - $500 = ((((($438) + (($i$3189*1596)|0)|0)) + 1|0) + ($j$8174)|0); - $501 = HEAP8[$500>>0]|0; - $502 = $501&255; - $503 = ((((($438) + (($i$3189*1596)|0)|0)) + 33|0) + ($502)|0); - $504 = HEAP8[$503>>0]|0; - $505 = ($504<<24>>24)==(0); - if (!($505)) { - $k$2170 = 0; - while(1) { - $506 = HEAP8[$489>>0]|0; - $507 = $506&255; - $508 = (_get_bits($f,$507)|0); - $509 = $508&65535; - $510 = HEAP32[$496>>2]|0; - $511 = ((((($438) + (($i$3189*1596)|0)|0)) + 338|0) + ($510<<1)|0); - HEAP16[$511>>1] = $509; - $512 = HEAP32[$496>>2]|0; - $513 = (($512) + 1)|0; - HEAP32[$496>>2] = $513; - $514 = (($k$2170) + 1)|0; - $515 = HEAP8[$503>>0]|0; - $516 = $515&255; - $517 = ($514|0)<($516|0); - if ($517) { - $k$2170 = $514; - } else { - break; - } - } - } - $518 = (($j$8174) + 1)|0; - $519 = HEAP8[$441>>0]|0; - $520 = $519&255; - $521 = ($518|0)<($520|0); - if ($521) { - $j$8174 = $518; - } else { - break; - } - } - $$pr288 = HEAP32[$496>>2]|0; - $499 = ($$pr288|0)>(0); - if ($499) { - $j$9177 = 0; - label = 186; - } else { - $$lcssa50 = $$pr288; - } - } - if ((label|0) == 186) { - while(1) { - label = 0; - $522 = ((((($438) + (($i$3189*1596)|0)|0)) + 338|0) + ($j$9177<<1)|0); - $523 = HEAP16[$522>>1]|0; - $524 = (($p) + ($j$9177<<2)|0); - HEAP16[$524>>1] = $523; - $525 = $j$9177&65535; - $526 = (((($p) + ($j$9177<<2)|0)) + 2|0); - HEAP16[$526>>1] = $525; - $527 = (($j$9177) + 1)|0; - $528 = HEAP32[$496>>2]|0; - $529 = ($527|0)<($528|0); - if ($529) { - $j$9177 = $527; - label = 186; - } else { - $$lcssa50 = $528; - break; - } - } - } - _qsort($p,$$lcssa50,4,1); - $530 = HEAP32[$496>>2]|0; - $531 = ($530|0)>(0); - do { - if ($531) { - $j$10181 = 0; - while(1) { - $533 = (((($p) + ($j$10181<<2)|0)) + 2|0); - $534 = HEAP16[$533>>1]|0; - $535 = $534&255; - $536 = ((((($438) + (($i$3189*1596)|0)|0)) + 838|0) + ($j$10181)|0); - HEAP8[$536>>0] = $535; - $537 = (($j$10181) + 1)|0; - $538 = HEAP32[$496>>2]|0; - $539 = ($537|0)<($538|0); - if ($539) { - $j$10181 = $537; - } else { - $$lcssa457 = $538; - break; - } - } - $532 = ($$lcssa457|0)>(2); - if ($532) { - $j$11184 = 2; - } else { - $$lcssa51 = $$lcssa457; - break; - } - while(1) { - _neighbors($490,$j$11184,$low,$hi); - $540 = HEAP32[$low>>2]|0; - $541 = $540&255; - $542 = ((((($438) + (($i$3189*1596)|0)|0)) + 1088|0) + ($j$11184<<1)|0); - HEAP8[$542>>0] = $541; - $543 = HEAP32[$hi>>2]|0; - $544 = $543&255; - $545 = ((((((($438) + (($i$3189*1596)|0)|0)) + 1088|0) + ($j$11184<<1)|0)) + 1|0); - HEAP8[$545>>0] = $544; - $546 = (($j$11184) + 1)|0; - $547 = HEAP32[$496>>2]|0; - $548 = ($546|0)<($547|0); - if ($548) { - $j$11184 = $546; - } else { - $$lcssa51 = $547; - break; - } - } - } else { - $$lcssa51 = $530; - } - } while(0); - $549 = ($$lcssa51|0)>($longest_floorlist$0188|0); - $$longest_floorlist$0 = $549 ? $$lcssa51 : $longest_floorlist$0188; - $550 = (($i$3189) + 1)|0; - $551 = HEAP32[$396>>2]|0; - $552 = ($550|0)<($551|0); - if ($552) { - $i$3189 = $550;$longest_floorlist$0188 = $$longest_floorlist$0; - } else { - $$longest_floorlist$0$lcssa = $$longest_floorlist$0; - label = 193; - break; - } - } - if ((label|0) == 165) { - _error($f,20); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - else if ((label|0) == 167) { - $409 = HEAP32[$399>>2]|0; - $410 = (_get_bits($f,8)|0); - $411 = $410&255; - $412 = (($409) + (($i$3189$lcssa459*1596)|0)|0); - HEAP8[$412>>0] = $411; - $413 = (_get_bits($f,16)|0); - $414 = $413&65535; - $415 = (((($409) + (($i$3189$lcssa459*1596)|0)|0)) + 2|0); - HEAP16[$415>>1] = $414; - $416 = (_get_bits($f,16)|0); - $417 = $416&65535; - $418 = (((($409) + (($i$3189$lcssa459*1596)|0)|0)) + 4|0); - HEAP16[$418>>1] = $417; - $419 = (_get_bits($f,6)|0); - $420 = $419&255; - $421 = (((($409) + (($i$3189$lcssa459*1596)|0)|0)) + 6|0); - HEAP8[$421>>0] = $420; - $422 = (_get_bits($f,8)|0); - $423 = $422&255; - $424 = (((($409) + (($i$3189$lcssa459*1596)|0)|0)) + 7|0); - HEAP8[$424>>0] = $423; - $425 = (_get_bits($f,4)|0); - $426 = (($425) + 1)|0; - $427 = $426&255; - $428 = (((($409) + (($i$3189$lcssa459*1596)|0)|0)) + 8|0); - HEAP8[$428>>0] = $427; - $429 = $426 & 255; - $430 = ($429|0)==(0); - if (!($430)) { - $j$5108 = 0; - while(1) { - $431 = (_get_bits($f,8)|0); - $432 = $431&255; - $$sum = (($j$5108) + 8)|0; - $433 = ((((($409) + (($i$3189$lcssa459*1596)|0)|0)) + 1|0) + ($$sum)|0); - HEAP8[$433>>0] = $432; - $434 = (($j$5108) + 1)|0; - $435 = HEAP8[$428>>0]|0; - $436 = $435&255; - $437 = ($434|0)<($436|0); - if ($437) { - $j$5108 = $434; - } else { - break; - } - } - } - _error($f,4); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - else if ((label|0) == 176) { - _error($f,20); - } - else if ((label|0) == 179) { - _error($f,20); - } - else if ((label|0) == 193) { - $phitmp234 = $$longest_floorlist$0$lcssa << 1; - $longest_floorlist$0$lcssa = $phitmp234; - break; - } - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } else { - $longest_floorlist$0$lcssa = 0; - } - } while(0); - $553 = (_get_bits($f,6)|0); - $554 = (($553) + 1)|0; - $555 = ((($f)) + 264|0); - HEAP32[$555>>2] = $554; - $556 = ($554*24)|0; - $557 = (_setup_malloc($f,$556)|0); - $558 = ((($f)) + 396|0); - HEAP32[$558>>2] = $557; - $559 = ($557|0)==(0|0); - if ($559) { - _error($f,3); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - $560 = HEAP32[$555>>2]|0; - $561 = ($560*24)|0; - _memset(($557|0),0,($561|0))|0; - $562 = HEAP32[$555>>2]|0; - $563 = ($562|0)>(0); - L333: do { - if ($563) { - $i$4154 = 0; - L335: while(1) { - $564 = HEAP32[$558>>2]|0; - $565 = (_get_bits($f,16)|0); - $566 = $565&65535; - $567 = (((($f)) + 268|0) + ($i$4154<<1)|0); - HEAP16[$567>>1] = $566; - $568 = $565 & 65535; - $569 = ($568>>>0)>(2); - if ($569) { - label = 199; - break; - } - $570 = (_get_bits($f,24)|0); - $571 = (($564) + (($i$4154*24)|0)|0); - HEAP32[$571>>2] = $570; - $572 = (_get_bits($f,24)|0); - $573 = (((($564) + (($i$4154*24)|0)|0)) + 4|0); - HEAP32[$573>>2] = $572; - $574 = HEAP32[$571>>2]|0; - $575 = ($572>>>0)<($574>>>0); - if ($575) { - label = 201; - break; - } - $576 = (_get_bits($f,24)|0); - $577 = (($576) + 1)|0; - $578 = (((($564) + (($i$4154*24)|0)|0)) + 8|0); - HEAP32[$578>>2] = $577; - $579 = (_get_bits($f,6)|0); - $580 = (($579) + 1)|0; - $581 = $580&255; - $582 = (((($564) + (($i$4154*24)|0)|0)) + 12|0); - HEAP8[$582>>0] = $581; - $583 = (_get_bits($f,8)|0); - $584 = $583&255; - $585 = (((($564) + (($i$4154*24)|0)|0)) + 13|0); - HEAP8[$585>>0] = $584; - $586 = $583 & 255; - $587 = HEAP32[$86>>2]|0; - $588 = ($586|0)<($587|0); - if (!($588)) { - label = 204; - break; - } - $589 = HEAP8[$582>>0]|0; - $590 = $589&255; - $591 = ($589<<24>>24)==(0); - if ($591) { - $$lcssa = $590; - } else { - $j$12138 = 0; - while(1) { - $592 = (_get_bits($f,3)|0); - $593 = (_get_bits($f,1)|0); - $594 = ($593|0)==(0); - if ($594) { - $high_bits$0 = 0; - } else { - $595 = (_get_bits($f,5)|0); - $high_bits$0 = $595; - } - $596 = $high_bits$0 << 3; - $597 = (($596) + ($592))|0; - $598 = $597&255; - $599 = (($p) + ($j$12138)|0); - HEAP8[$599>>0] = $598; - $600 = (($j$12138) + 1)|0; - $601 = HEAP8[$582>>0]|0; - $602 = $601&255; - $603 = ($600|0)<($602|0); - if ($603) { - $j$12138 = $600; - } else { - $$lcssa = $602; - break; - } - } - } - $604 = $$lcssa << 4; - $605 = (_setup_malloc($f,$604)|0); - $606 = (((($564) + (($i$4154*24)|0)|0)) + 20|0); - HEAP32[$606>>2] = $605; - $607 = ($605|0)==(0|0); - if ($607) { - label = 210; - break; - } - $608 = HEAP8[$582>>0]|0; - $609 = ($608<<24>>24)==(0); - if (!($609)) { - $j$13143 = 0; - while(1) { - $610 = (($p) + ($j$13143)|0); - $611 = HEAP8[$610>>0]|0; - $612 = $611&255; - $k$3142 = 0; - while(1) { - $613 = 1 << $k$3142; - $614 = $612 & $613; - $615 = ($614|0)==(0); - if ($615) { - $626 = HEAP32[$606>>2]|0; - $627 = ((($626) + ($j$13143<<4)|0) + ($k$3142<<1)|0); - HEAP16[$627>>1] = -1; - } else { - $616 = (_get_bits($f,8)|0); - $617 = $616&65535; - $618 = HEAP32[$606>>2]|0; - $619 = ((($618) + ($j$13143<<4)|0) + ($k$3142<<1)|0); - HEAP16[$619>>1] = $617; - $620 = HEAP32[$606>>2]|0; - $621 = ((($620) + ($j$13143<<4)|0) + ($k$3142<<1)|0); - $622 = HEAP16[$621>>1]|0; - $623 = $622 << 16 >> 16; - $624 = HEAP32[$86>>2]|0; - $625 = ($623|0)<($624|0); - if (!($625)) { - label = 214; - break L335; - } - } - $628 = (($k$3142) + 1)|0; - $629 = ($628|0)<(8); - if ($629) { - $k$3142 = $628; - } else { - break; - } - } - $630 = (($j$13143) + 1)|0; - $631 = HEAP8[$582>>0]|0; - $632 = $631&255; - $633 = ($630|0)<($632|0); - if ($633) { - $j$13143 = $630; - } else { - break; - } - } - } - $634 = HEAP8[$585>>0]|0; - $635 = $634&255; - $636 = HEAP32[$89>>2]|0; - $637 = (((($636) + (($635*2096)|0)|0)) + 4|0); - $638 = HEAP32[$637>>2]|0; - $639 = $638 << 2; - $640 = (_setup_malloc($f,$639)|0); - $641 = (((($564) + (($i$4154*24)|0)|0)) + 16|0); - HEAP32[$641>>2] = $640; - $642 = ($640|0)==(0|0); - if ($642) { - label = 219; - break; - } - $643 = HEAP8[$585>>0]|0; - $644 = $643&255; - $645 = HEAP32[$89>>2]|0; - $646 = (((($645) + (($644*2096)|0)|0)) + 4|0); - $647 = HEAP32[$646>>2]|0; - $648 = $647 << 2; - _memset(($640|0),0,($648|0))|0; - $649 = HEAP8[$585>>0]|0; - $650 = $649&255; - $651 = HEAP32[$89>>2]|0; - $652 = (((($651) + (($650*2096)|0)|0)) + 4|0); - $653 = HEAP32[$652>>2]|0; - $654 = ($653|0)>(0); - if ($654) { - $656 = $651;$657 = $650;$j$14150 = 0; - while(1) { - $655 = (($656) + (($657*2096)|0)|0); - $658 = HEAP32[$655>>2]|0; - $659 = (_setup_malloc($f,$658)|0); - $660 = HEAP32[$641>>2]|0; - $661 = (($660) + ($j$14150<<2)|0); - HEAP32[$661>>2] = $659; - $662 = HEAP32[$641>>2]|0; - $663 = (($662) + ($j$14150<<2)|0); - $664 = HEAP32[$663>>2]|0; - $665 = ($664|0)==(0|0); - if ($665) { - label = 223; - break L335; - } - $666 = ($658|0)>(0); - if ($666) { - $k$4147$in = $658;$temp$0146 = $j$14150; - while(1) { - $k$4147 = (($k$4147$in) + -1)|0; - $667 = HEAP8[$582>>0]|0; - $668 = $667&255; - $669 = (($temp$0146|0) % ($668|0))&-1; - $670 = $669&255; - $671 = HEAP32[$641>>2]|0; - $672 = (($671) + ($j$14150<<2)|0); - $673 = HEAP32[$672>>2]|0; - $674 = (($673) + ($k$4147)|0); - HEAP8[$674>>0] = $670; - $675 = HEAP8[$582>>0]|0; - $676 = $675&255; - $677 = (($temp$0146|0) / ($676|0))&-1; - $678 = ($k$4147$in|0)>(1); - if ($678) { - $k$4147$in = $k$4147;$temp$0146 = $677; - } else { - break; - } - } - } - $679 = (($j$14150) + 1)|0; - $680 = HEAP8[$585>>0]|0; - $681 = $680&255; - $682 = HEAP32[$89>>2]|0; - $683 = (((($682) + (($681*2096)|0)|0)) + 4|0); - $684 = HEAP32[$683>>2]|0; - $685 = ($679|0)<($684|0); - if ($685) { - $656 = $682;$657 = $681;$j$14150 = $679; - } else { - break; - } - } - } - $686 = (($i$4154) + 1)|0; - $687 = HEAP32[$555>>2]|0; - $688 = ($686|0)<($687|0); - if ($688) { - $i$4154 = $686; - } else { - break L333; - } - } - if ((label|0) == 199) { - _error($f,20); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - else if ((label|0) == 201) { - _error($f,20); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - else if ((label|0) == 204) { - _error($f,20); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - else if ((label|0) == 210) { - _error($f,3); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - else if ((label|0) == 214) { - _error($f,20); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - else if ((label|0) == 219) { - _error($f,3); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - else if ((label|0) == 223) { - _error($f,3); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - } - } while(0); - $689 = (_get_bits($f,6)|0); - $690 = (($689) + 1)|0; - $691 = ((($f)) + 400|0); - HEAP32[$691>>2] = $690; - $692 = ($690*40)|0; - $693 = (_setup_malloc($f,$692)|0); - $694 = ((($f)) + 404|0); - HEAP32[$694>>2] = $693; - $695 = ($693|0)==(0|0); - if ($695) { - _error($f,3); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - $696 = HEAP32[$691>>2]|0; - $697 = ($696*40)|0; - _memset(($693|0),0,($697|0))|0; - $698 = HEAP32[$691>>2]|0; - $699 = ($698|0)>(0); - L389: do { - if ($699) { - $i$5133 = 0; - L390: while(1) { - $700 = HEAP32[$694>>2]|0; - $701 = (($700) + (($i$5133*40)|0)|0); - $702 = (_get_bits($f,16)|0); - $703 = ($702|0)==(0); - if (!($703)) { - label = 231; - break; - } - $704 = HEAP32[$27>>2]|0; - $705 = ($704*3)|0; - $706 = (_setup_malloc($f,$705)|0); - $707 = (((($700) + (($i$5133*40)|0)|0)) + 4|0); - HEAP32[$707>>2] = $706; - $708 = ($706|0)==(0|0); - if ($708) { - label = 233; - break; - } - $709 = (_get_bits($f,1)|0); - $710 = ($709|0)==(0); - if ($710) { - $715 = (((($700) + (($i$5133*40)|0)|0)) + 8|0); - HEAP8[$715>>0] = 1; - } else { - $711 = (_get_bits($f,4)|0); - $712 = (($711) + 1)|0; - $713 = $712&255; - $714 = (((($700) + (($i$5133*40)|0)|0)) + 8|0); - HEAP8[$714>>0] = $713; - } - $716 = (((($700) + (($i$5133*40)|0)|0)) + 8|0); - $717 = (_get_bits($f,1)|0); - $718 = ($717|0)==(0); - do { - if ($718) { - HEAP16[$701>>1] = 0; - } else { - $719 = (_get_bits($f,8)|0); - $720 = (($719) + 1)|0; - $721 = $720&65535; - HEAP16[$701>>1] = $721; - $722 = $720 & 65535; - $723 = ($722|0)==(0); - if ($723) { - break; - } else { - $k$5122 = 0; - } - while(1) { - $728 = HEAP32[$27>>2]|0; - $729 = (($728) + -1)|0; - $730 = (_ilog($729)|0); - $731 = (_get_bits($f,$730)|0); - $732 = $731&255; - $733 = HEAP32[$707>>2]|0; - $734 = (($733) + (($k$5122*3)|0)|0); - HEAP8[$734>>0] = $732; - $735 = HEAP32[$27>>2]|0; - $736 = (($735) + -1)|0; - $737 = (_ilog($736)|0); - $738 = (_get_bits($f,$737)|0); - $739 = $738&255; - $740 = HEAP32[$707>>2]|0; - $741 = (((($740) + (($k$5122*3)|0)|0)) + 1|0); - HEAP8[$741>>0] = $739; - $742 = HEAP32[$707>>2]|0; - $743 = (($742) + (($k$5122*3)|0)|0); - $744 = HEAP8[$743>>0]|0; - $745 = $744&255; - $746 = HEAP32[$27>>2]|0; - $747 = ($745|0)<($746|0); - if (!($747)) { - label = 241; - break L390; - } - $748 = (((($742) + (($k$5122*3)|0)|0)) + 1|0); - $749 = HEAP8[$748>>0]|0; - $750 = $749&255; - $751 = ($750|0)<($746|0); - if (!($751)) { - label = 243; - break L390; - } - $752 = ($744<<24>>24)==($749<<24>>24); - $726 = (($k$5122) + 1)|0; - if ($752) { - label = 245; - break L390; - } - $724 = HEAP16[$701>>1]|0; - $725 = $724&65535; - $727 = ($726|0)<($725|0); - if ($727) { - $k$5122 = $726; - } else { - break; - } - } - } - } while(0); - $753 = (_get_bits($f,2)|0); - $754 = ($753|0)==(0); - if (!($754)) { - label = 248; - break; - } - $755 = HEAP8[$716>>0]|0; - $756 = ($755&255)>(1); - $757 = HEAP32[$27>>2]|0; - $758 = ($757|0)>(0); - do { - if ($756) { - if ($758) { - $j$15127 = 0; - } else { - break; - } - while(1) { - $766 = (_get_bits($f,4)|0); - $767 = $766&255; - $768 = HEAP32[$707>>2]|0; - $769 = (((($768) + (($j$15127*3)|0)|0)) + 2|0); - HEAP8[$769>>0] = $767; - $770 = HEAP32[$707>>2]|0; - $771 = (((($770) + (($j$15127*3)|0)|0)) + 2|0); - $772 = HEAP8[$771>>0]|0; - $773 = HEAP8[$716>>0]|0; - $774 = ($772&255)<($773&255); - $762 = (($j$15127) + 1)|0; - if (!($774)) { - label = 256; - break L390; - } - $761 = HEAP32[$27>>2]|0; - $763 = ($762|0)<($761|0); - if ($763) { - $j$15127 = $762; - } else { - break; - } - } - } else { - if (!($758)) { - break; - } - $759 = HEAP32[$707>>2]|0; - $760 = HEAP32[$27>>2]|0; - $j$16125 = 0; - while(1) { - $775 = (((($759) + (($j$16125*3)|0)|0)) + 2|0); - HEAP8[$775>>0] = 0; - $776 = (($j$16125) + 1)|0; - $777 = ($776|0)<($760|0); - if ($777) { - $j$16125 = $776; - } else { - break; - } - } - } - } while(0); - $764 = HEAP8[$716>>0]|0; - $765 = ($764<<24>>24)==(0); - if (!($765)) { - $j$17129 = 0; - while(1) { - (_get_bits($f,8)|0); - $782 = (_get_bits($f,8)|0); - $783 = $782&255; - $784 = ((((($700) + (($i$5133*40)|0)|0)) + 9|0) + ($j$17129)|0); - HEAP8[$784>>0] = $783; - $785 = (_get_bits($f,8)|0); - $786 = $785&255; - $787 = ((((($700) + (($i$5133*40)|0)|0)) + 24|0) + ($j$17129)|0); - HEAP8[$787>>0] = $786; - $788 = HEAP8[$784>>0]|0; - $789 = $788&255; - $790 = HEAP32[$396>>2]|0; - $791 = ($789|0)<($790|0); - if (!($791)) { - label = 260; - break L390; - } - $792 = $785 & 255; - $793 = HEAP32[$555>>2]|0; - $794 = ($792|0)<($793|0); - $780 = (($j$17129) + 1)|0; - if (!($794)) { - label = 262; - break L390; - } - $778 = HEAP8[$716>>0]|0; - $779 = $778&255; - $781 = ($780|0)<($779|0); - if ($781) { - $j$17129 = $780; - } else { - break; - } - } - } - $795 = (($i$5133) + 1)|0; - $796 = HEAP32[$691>>2]|0; - $797 = ($795|0)<($796|0); - if ($797) { - $i$5133 = $795; - } else { - break L389; - } - } - if ((label|0) == 231) { - _error($f,20); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - else if ((label|0) == 233) { - _error($f,3); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - else if ((label|0) == 241) { - _error($f,20); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - else if ((label|0) == 243) { - _error($f,20); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - else if ((label|0) == 245) { - _error($f,20); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - else if ((label|0) == 248) { - _error($f,20); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - else if ((label|0) == 256) { - _error($f,20); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - else if ((label|0) == 260) { - _error($f,20); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - else if ((label|0) == 262) { - _error($f,20); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - } - } while(0); - $798 = (_get_bits($f,6)|0); - $799 = (($798) + 1)|0; - $800 = ((($f)) + 408|0); - HEAP32[$800>>2] = $799; - $801 = ($799|0)>(0); - L444: do { - if ($801) { - $i$6118 = 0; - while(1) { - $805 = (_get_bits($f,1)|0); - $806 = $805&255; - $807 = (((($f)) + 412|0) + (($i$6118*6)|0)|0); - HEAP8[$807>>0] = $806; - $808 = (_get_bits($f,16)|0); - $809 = $808&65535; - $810 = (((((($f)) + 412|0) + (($i$6118*6)|0)|0)) + 2|0); - HEAP16[$810>>1] = $809; - $811 = (_get_bits($f,16)|0); - $812 = $811&65535; - $813 = (((((($f)) + 412|0) + (($i$6118*6)|0)|0)) + 4|0); - HEAP16[$813>>1] = $812; - $814 = (_get_bits($f,8)|0); - $815 = $814&255; - $816 = (((((($f)) + 412|0) + (($i$6118*6)|0)|0)) + 1|0); - HEAP8[$816>>0] = $815; - $817 = HEAP16[$810>>1]|0; - $818 = ($817<<16>>16)==(0); - if (!($818)) { - label = 267; - break; - } - $819 = HEAP16[$813>>1]|0; - $820 = ($819<<16>>16)==(0); - if (!($820)) { - label = 269; - break; - } - $821 = $814 & 255; - $822 = HEAP32[$691>>2]|0; - $823 = ($821|0)<($822|0); - $803 = (($i$6118) + 1)|0; - if (!($823)) { - label = 271; - break; - } - $802 = HEAP32[$800>>2]|0; - $804 = ($803|0)<($802|0); - if ($804) { - $i$6118 = $803; - } else { - break L444; - } - } - if ((label|0) == 267) { - _error($f,20); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - else if ((label|0) == 269) { - _error($f,20); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - else if ((label|0) == 271) { - _error($f,20); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - } - } while(0); - _flush_packet($f); - $824 = ((($f)) + 992|0); - HEAP32[$824>>2] = 0; - $825 = HEAP32[$27>>2]|0; - $826 = ($825|0)>(0); - L458: do { - if ($826) { - $i$7114 = 0; - while(1) { - $830 = HEAP32[$39>>2]|0; - $831 = $830 << 2; - $832 = (_setup_malloc($f,$831)|0); - $833 = (((($f)) + 800|0) + ($i$7114<<2)|0); - HEAP32[$833>>2] = $832; - $834 = HEAP32[$39>>2]|0; - $835 = $834 << 1; - $836 = $835 & 2147483646; - $837 = (_setup_malloc($f,$836)|0); - $838 = (((($f)) + 928|0) + ($i$7114<<2)|0); - HEAP32[$838>>2] = $837; - $839 = (_setup_malloc($f,$longest_floorlist$0$lcssa)|0); - $840 = (((($f)) + 996|0) + ($i$7114<<2)|0); - HEAP32[$840>>2] = $839; - $841 = HEAP32[$833>>2]|0; - $842 = ($841|0)==(0|0); - if ($842) { - break; - } - $843 = HEAP32[$838>>2]|0; - $844 = ($843|0)==(0|0); - $845 = ($839|0)==(0|0); - $or$cond14 = $845 | $844; - $828 = (($i$7114) + 1)|0; - if ($or$cond14) { - break; - } - $827 = HEAP32[$27>>2]|0; - $829 = ($828|0)<($827|0); - if ($829) { - $i$7114 = $828; - } else { - break L458; - } - } - _error($f,3); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - } while(0); - $846 = HEAP32[$37>>2]|0; - $847 = (_init_blocksize($f,0,$846)|0); - $848 = ($847|0)==(0); - if ($848) { - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - $849 = HEAP32[$39>>2]|0; - $850 = (_init_blocksize($f,1,$849)|0); - $851 = ($850|0)==(0); - if ($851) { - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - $852 = HEAP32[$37>>2]|0; - $853 = ((($f)) + 104|0); - HEAP32[$853>>2] = $852; - $854 = HEAP32[$39>>2]|0; - $855 = ((($f)) + 108|0); - HEAP32[$855>>2] = $854; - $856 = HEAP32[$39>>2]|0; - $857 = $856 << 1; - $858 = $857 & 2147483646; - $859 = HEAP32[$555>>2]|0; - $860 = ($859|0)>(0); - if ($860) { - $861 = HEAP32[$558>>2]|0; - $862 = HEAP32[$555>>2]|0; - $i9$0109 = 0;$max_part_read$0110 = 0; - while(1) { - $863 = (((($861) + (($i9$0109*24)|0)|0)) + 4|0); - $864 = HEAP32[$863>>2]|0; - $865 = (($861) + (($i9$0109*24)|0)|0); - $866 = HEAP32[$865>>2]|0; - $867 = (($864) - ($866))|0; - $868 = (((($861) + (($i9$0109*24)|0)|0)) + 8|0); - $869 = HEAP32[$868>>2]|0; - $870 = (($867>>>0) / ($869>>>0))&-1; - $871 = ($870|0)>($max_part_read$0110|0); - $$max_part_read$0 = $871 ? $870 : $max_part_read$0110; - $872 = (($i9$0109) + 1)|0; - $873 = ($872|0)<($862|0); - if ($873) { - $i9$0109 = $872;$max_part_read$0110 = $$max_part_read$0; - } else { - $$max_part_read$0$lcssa = $$max_part_read$0; - break; - } - } - $phitmp = $$max_part_read$0$lcssa << 2; - $phitmp233 = (($phitmp) + 4)|0; - $max_part_read$0$lcssa = $phitmp233; - } else { - $max_part_read$0$lcssa = 4; - } - $874 = HEAP32[$27>>2]|0; - $875 = Math_imul($874, $max_part_read$0$lcssa)|0; - $876 = ((($f)) + 12|0); - $877 = ($858>>>0)>($875>>>0); - $$15 = $877 ? $858 : $875; - HEAP32[$876>>2] = $$15; - $878 = ((($f)) + 1377|0); - HEAP8[$878>>0] = 1; - $879 = ((($f)) + 80|0); - $880 = HEAP32[$879>>2]|0; - $881 = ($880|0)==(0|0); - do { - if (!($881)) { - $882 = ((($f)) + 92|0); - $883 = HEAP32[$882>>2]|0; - $884 = ((($f)) + 84|0); - $885 = HEAP32[$884>>2]|0; - $886 = ($883|0)==($885|0); - if (!($886)) { - ___assert_fail((15813|0),(15523|0),3780,(15869|0)); - // unreachable; - } - $887 = ((($f)) + 88|0); - $888 = HEAP32[$887>>2]|0; - $889 = (($888) + 1512)|0; - $890 = HEAP32[$876>>2]|0; - $891 = (($889) + ($890))|0; - $892 = ($891>>>0)>($883>>>0); - if (!($892)) { - break; - } - _error($f,3); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - } while(0); - $893 = (_stb_vorbis_get_file_offset($f)|0); - $894 = ((($f)) + 52|0); - HEAP32[$894>>2] = $893; - $$4 = 1; - STACKTOP = sp;return ($$4|0); -} -function _vorbis_alloc($f) { - $f = $f|0; - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_setup_malloc($f,1512)|0); - return ($0|0); -} -function _vorbis_pump_first_frame($f) { - $f = $f|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $left = 0, $len = 0, $right = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $len = sp + 8|0; - $right = sp + 4|0; - $left = sp; - $0 = (_vorbis_decode_packet($f,$len,$left,$right)|0); - $1 = ($0|0)==(0); - if ($1) { - STACKTOP = sp;return; - } - $2 = HEAP32[$len>>2]|0; - $3 = HEAP32[$left>>2]|0; - $4 = HEAP32[$right>>2]|0; - (_vorbis_finish_frame($f,$2,$3,$4)|0); - STACKTOP = sp;return; -} -function _maybe_start_packet($f) { - $f = $f|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $3 = 0, $4 = 0, $5 = 0; - var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($f)) + 1380|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)==(-1); - if ($2) { - $3 = (_get8($f)|0); - $4 = ((($f)) + 96|0); - $5 = HEAP32[$4>>2]|0; - $6 = ($5|0)==(0); - if (!($6)) { - $$0 = 0; - return ($$0|0); - } - $7 = ($3<<24>>24)==(79); - if (!($7)) { - _error($f,30); - $$0 = 0; - return ($$0|0); - } - $8 = (_get8($f)|0); - $9 = ($8<<24>>24)==(103); - if (!($9)) { - _error($f,30); - $$0 = 0; - return ($$0|0); - } - $10 = (_get8($f)|0); - $11 = ($10<<24>>24)==(103); - if (!($11)) { - _error($f,30); - $$0 = 0; - return ($$0|0); - } - $12 = (_get8($f)|0); - $13 = ($12<<24>>24)==(83); - if (!($13)) { - _error($f,30); - $$0 = 0; - return ($$0|0); - } - $14 = (_start_page_no_capturepattern($f)|0); - $15 = ($14|0)==(0); - if ($15) { - $$0 = 0; - return ($$0|0); - } - $16 = ((($f)) + 1375|0); - $17 = HEAP8[$16>>0]|0; - $18 = $17 & 1; - $19 = ($18<<24>>24)==(0); - if (!($19)) { - $20 = ((($f)) + 1384|0); - HEAP32[$20>>2] = 0; - $21 = ((($f)) + 1376|0); - HEAP8[$21>>0] = 0; - _error($f,32); - $$0 = 0; - return ($$0|0); - } - } - $22 = (_start_packet($f)|0); - $$0 = $22; - return ($$0|0); -} -function _flush_packet($f) { - $f = $f|0; - var $0 = 0, $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - while(1) { - $0 = (_get8_packet_raw($f)|0); - $1 = ($0|0)==(-1); - if ($1) { - break; - } - } - return; -} -function _set_file_offset($f,$loc) { - $f = $f|0; - $loc = $loc|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($f)) + 48|0); - $1 = HEAP8[$0>>0]|0; - $2 = ($1<<24>>24)==(0); - if (!($2)) { - return; - } - $3 = ((($f)) + 96|0); - HEAP32[$3>>2] = 0; - $4 = ((($f)) + 32|0); - $5 = HEAP32[$4>>2]|0; - $6 = ($5|0)==(0|0); - if (!($6)) { - $7 = ((($f)) + 36|0); - $8 = HEAP32[$7>>2]|0; - $9 = (($8) + ($loc)|0); - $10 = ((($f)) + 40|0); - $11 = HEAP32[$10>>2]|0; - $12 = ($9>>>0)>=($11>>>0); - $13 = ($loc|0)<(0); - $or$cond1 = $13 | $12; - if ($or$cond1) { - $14 = HEAP32[$10>>2]|0; - HEAP32[$4>>2] = $14; - HEAP32[$3>>2] = 1; - return; - } else { - HEAP32[$4>>2] = $9; - return; - } - } - $15 = ((($f)) + 24|0); - $16 = HEAP32[$15>>2]|0; - $17 = (($16) + ($loc))|0; - $18 = ($17>>>0)<($loc>>>0); - $19 = ($loc|0)<(0); - $or$cond = $19 | $18; - if ($or$cond) { - HEAP32[$3>>2] = 1; - $$0 = 2147483647; - } else { - $$0 = $17; - } - $20 = ((($f)) + 20|0); - $21 = HEAP32[$20>>2]|0; - $22 = (_fseek($21,$$0,0)|0); - $23 = ($22|0)==(0); - if ($23) { - return; - } - HEAP32[$3>>2] = 1; - $24 = HEAP32[$20>>2]|0; - $25 = HEAP32[$15>>2]|0; - (_fseek($24,$25,2)|0); - return; -} -function _vorbis_find_page($f,$end,$last) { - $f = $f|0; - $end = $end|0; - $last = $last|0; - var $$ = 0, $$0 = 0, $$lcssa = 0, $$lcssa58 = 0, $$lcssa59 = 0, $$lcssa61 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0; - var $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0; - var $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0; - var $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0; - var $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0; - var $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0; - var $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $crc$011 = 0, $crc$113 = 0, $crc$2$lcssa = 0, $crc$219 = 0, $exitcond = 0, $exitcond40 = 0, $header = 0, $i$0$lcssa = 0, $i1$310 = 0, $i1$412 = 0; - var $i1$518 = 0, $len$014 = 0, $scevgep = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $header = sp; - $0 = ((($f)) + 96|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)==(0); - if (!($2)) { - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $3 = ((($f)) + 44|0); - $4 = ((($header)) + 4|0); - $5 = ((($header)) + 22|0); - $6 = ((($header)) + 23|0); - $7 = ((($header)) + 24|0); - $8 = ((($header)) + 25|0); - $9 = ((($header)) + 26|0); - $scevgep = ((($header)) + 22|0); - $10 = ((($header)) + 4|0); - $11 = ((($header)) + 5|0); - $12 = ((($header)) + 6|0); - $13 = ((($header)) + 7|0); - $14 = ((($header)) + 8|0); - $15 = ((($header)) + 9|0); - $16 = ((($header)) + 10|0); - $17 = ((($header)) + 11|0); - $18 = ((($header)) + 12|0); - $19 = ((($header)) + 13|0); - $20 = ((($header)) + 14|0); - $21 = ((($header)) + 15|0); - $22 = ((($header)) + 16|0); - $23 = ((($header)) + 17|0); - $24 = ((($header)) + 18|0); - $25 = ((($header)) + 19|0); - $26 = ((($header)) + 20|0); - $27 = ((($header)) + 21|0); - $28 = ((($header)) + 22|0); - $29 = ((($header)) + 23|0); - $30 = ((($header)) + 24|0); - $31 = ((($header)) + 25|0); - $32 = ((($header)) + 26|0); - while(1) { - $33 = (_get8($f)|0); - $34 = ($33<<24>>24)==(79); - if ($34) { - $35 = (_stb_vorbis_get_file_offset($f)|0); - $36 = (($35) + -25)|0; - $37 = HEAP32[$3>>2]|0; - $38 = ($36>>>0)>($37>>>0); - if ($38) { - $$0 = 0; - label = 29; - break; - } - $39 = (_get8($f)|0); - $40 = HEAP8[(5821)>>0]|0; - $41 = ($39<<24>>24)==($40<<24>>24); - if ($41) { - $42 = (_get8($f)|0); - $43 = HEAP8[(5822)>>0]|0; - $44 = ($42<<24>>24)==($43<<24>>24); - if ($44) { - $121 = (_get8($f)|0); - $122 = HEAP8[(5823)>>0]|0; - $123 = ($121<<24>>24)==($122<<24>>24); - $$ = $123 ? 4 : 3; - $i$0$lcssa = $$; - } else { - $i$0$lcssa = 2; - } - } else { - $i$0$lcssa = 1; - } - $45 = HEAP32[$0>>2]|0; - $46 = ($45|0)==(0); - if (!($46)) { - $$0 = 0; - label = 29; - break; - } - $47 = ($i$0$lcssa|0)==(4); - if ($47) { - $48 = HEAP32[5820>>2]|0; - HEAP32[$header>>2] = $48; - $49 = (_get8($f)|0); - HEAP8[$10>>0] = $49; - $50 = (_get8($f)|0); - HEAP8[$11>>0] = $50; - $51 = (_get8($f)|0); - HEAP8[$12>>0] = $51; - $52 = (_get8($f)|0); - HEAP8[$13>>0] = $52; - $53 = (_get8($f)|0); - HEAP8[$14>>0] = $53; - $54 = (_get8($f)|0); - HEAP8[$15>>0] = $54; - $55 = (_get8($f)|0); - HEAP8[$16>>0] = $55; - $56 = (_get8($f)|0); - HEAP8[$17>>0] = $56; - $57 = (_get8($f)|0); - HEAP8[$18>>0] = $57; - $58 = (_get8($f)|0); - HEAP8[$19>>0] = $58; - $59 = (_get8($f)|0); - HEAP8[$20>>0] = $59; - $60 = (_get8($f)|0); - HEAP8[$21>>0] = $60; - $61 = (_get8($f)|0); - HEAP8[$22>>0] = $61; - $62 = (_get8($f)|0); - HEAP8[$23>>0] = $62; - $63 = (_get8($f)|0); - HEAP8[$24>>0] = $63; - $64 = (_get8($f)|0); - HEAP8[$25>>0] = $64; - $65 = (_get8($f)|0); - HEAP8[$26>>0] = $65; - $66 = (_get8($f)|0); - HEAP8[$27>>0] = $66; - $67 = (_get8($f)|0); - HEAP8[$28>>0] = $67; - $68 = (_get8($f)|0); - HEAP8[$29>>0] = $68; - $69 = (_get8($f)|0); - HEAP8[$30>>0] = $69; - $70 = (_get8($f)|0); - HEAP8[$31>>0] = $70; - $71 = (_get8($f)|0); - HEAP8[$32>>0] = $71; - $72 = HEAP32[$0>>2]|0; - $73 = ($72|0)==(0); - if (!($73)) { - $$0 = 0; - label = 29; - break; - } - $74 = HEAP8[$4>>0]|0; - $75 = ($74<<24>>24)==(0); - if ($75) { - $76 = HEAP8[$5>>0]|0; - $77 = HEAP8[$6>>0]|0; - $78 = HEAP8[$7>>0]|0; - $79 = HEAP8[$8>>0]|0; - $80 = $79&255; - $81 = $80 << 24; - HEAP16[$scevgep>>1]=0&65535;HEAP16[$scevgep+2>>1]=0>>>16; - $82 = $78&255; - $83 = $82 << 16; - $84 = $77&255; - $85 = $84 << 8; - $86 = $76&255; - $87 = $85 | $86; - $88 = $87 | $83; - $crc$011 = 0;$i1$310 = 0; - while(1) { - $94 = (($header) + ($i1$310)|0); - $95 = HEAP8[$94>>0]|0; - $96 = (_crc32_update($crc$011,$95)|0); - $97 = (($i1$310) + 1)|0; - $exitcond = ($97|0)==(27); - if ($exitcond) { - $$lcssa = $96; - break; - } else { - $crc$011 = $96;$i1$310 = $97; - } - } - $89 = $88 | $81; - $90 = HEAP8[$9>>0]|0; - $91 = ($90<<24>>24)==(0); - if ($91) { - $crc$2$lcssa = $$lcssa; - } else { - $92 = HEAP8[$9>>0]|0; - $93 = $92&255; - $crc$113 = $$lcssa;$i1$412 = 0;$len$014 = 0; - while(1) { - $98 = (_get8($f)|0); - $99 = $98&255; - $100 = (_crc32_update($crc$113,$98)|0); - $101 = (($99) + ($len$014))|0; - $102 = (($i1$412) + 1)|0; - $103 = ($102>>>0)<($93>>>0); - if ($103) { - $crc$113 = $100;$i1$412 = $102;$len$014 = $101; - } else { - $$lcssa58 = $100;$$lcssa59 = $101; - break; - } - } - $104 = ($$lcssa59|0)==(0); - if ($104) { - $crc$2$lcssa = $$lcssa58; - } else { - $105 = HEAP32[$0>>2]|0; - $106 = ($105|0)==(0); - if ($106) { - $crc$219 = $$lcssa58;$i1$518 = 0; - } else { - $$0 = 0; - label = 29; - break; - } - while(1) { - $107 = (_get8($f)|0); - $108 = (_crc32_update($crc$219,$107)|0); - $109 = (($i1$518) + 1)|0; - $exitcond40 = ($109|0)==($$lcssa59|0); - if ($exitcond40) { - $crc$2$lcssa = $108; - break; - } else { - $crc$219 = $108;$i1$518 = $109; - } - } - } - } - $110 = ($crc$2$lcssa|0)==($89|0); - if ($110) { - $$lcssa61 = $35; - label = 20; - break; - } - } - } - _set_file_offset($f,$35); - } - $119 = HEAP32[$0>>2]|0; - $120 = ($119|0)==(0); - if (!($120)) { - $$0 = 0; - label = 29; - break; - } - } - if ((label|0) == 20) { - $111 = ($end|0)==(0|0); - if (!($111)) { - $112 = (_stb_vorbis_get_file_offset($f)|0); - HEAP32[$end>>2] = $112; - } - $113 = ($last|0)==(0|0); - do { - if (!($113)) { - $114 = ((($header)) + 5|0); - $115 = HEAP8[$114>>0]|0; - $116 = $115 & 4; - $117 = ($116<<24>>24)==(0); - if ($117) { - HEAP32[$last>>2] = 0; - break; - } else { - HEAP32[$last>>2] = 1; - break; - } - } - } while(0); - $118 = (($$lcssa61) + -1)|0; - _set_file_offset($f,$118); - $$0 = 1; - STACKTOP = sp;return ($$0|0); - } - else if ((label|0) == 29) { - STACKTOP = sp;return ($$0|0); - } - return (0)|0; -} -function _getn($z,$data,$n) { - $z = $z|0; - $data = $data|0; - $n = $n|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($z)) + 32|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)==(0|0); - if ($2) { - $10 = ((($z)) + 20|0); - $11 = HEAP32[$10>>2]|0; - $12 = (_fread($data,$n,1,$11)|0); - $13 = ($12|0)==(1); - if ($13) { - $$0 = 1; - return ($$0|0); - } - $14 = ((($z)) + 96|0); - HEAP32[$14>>2] = 1; - $$0 = 0; - return ($$0|0); - } - $3 = (($1) + ($n)|0); - $4 = ((($z)) + 40|0); - $5 = HEAP32[$4>>2]|0; - $6 = ($3>>>0)>($5>>>0); - if ($6) { - $7 = ((($z)) + 96|0); - HEAP32[$7>>2] = 1; - $$0 = 0; - return ($$0|0); - } else { - _memcpy(($data|0),($1|0),($n|0))|0; - $8 = HEAP32[$0>>2]|0; - $9 = (($8) + ($n)|0); - HEAP32[$0>>2] = $9; - $$0 = 1; - return ($$0|0); - } - return (0)|0; -} -function _get32($f) { - $f = $f|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_get8($f)|0); - $1 = $0&255; - $2 = (_get8($f)|0); - $3 = $2&255; - $4 = $3 << 8; - $5 = $4 | $1; - $6 = (_get8($f)|0); - $7 = $6&255; - $8 = $7 << 16; - $9 = $5 | $8; - $10 = (_get8($f)|0); - $11 = $10&255; - $12 = $11 << 24; - $13 = $9 | $12; - return ($13|0); -} -function _convert_channels_short_interleaved($buf_c,$buffer,$data_c,$data,$d_offset,$len) { - $buf_c = $buf_c|0; - $buffer = $buffer|0; - $data_c = $data_c|0; - $data = $data|0; - $d_offset = $d_offset|0; - $len = $len|0; - var $$017 = 0, $$1$lcssa = 0, $$19 = 0, $$2$lcssa = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0.0, $17 = 0.0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0; - var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond20 = 0, $exitcond25 = 0, $i$07 = 0, $i$1$lcssa = 0, $i$18 = 0, $j$016 = 0; - var $or$cond = 0, $or$cond3 = 0, $scevgep = 0, $scevgep21$sum = 0, $scevgep22 = 0, $v$0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ($buf_c|0)!=($data_c|0); - $1 = ($buf_c|0)<(3); - $or$cond = $1 & $0; - $2 = ($data_c|0)<(7); - $or$cond3 = $2 & $or$cond; - if ($or$cond3) { - $3 = ($buf_c|0)==(2); - if ($3) { - $i$07 = 0; - } else { - ___assert_fail((15561|0),(15523|0),4820,(15572|0)); - // unreachable; - } - while(1) { - _compute_stereo_samples($buffer,$data_c,$data,$d_offset,$len); - $4 = (($i$07) + 1)|0; - $exitcond = ($4|0)==($buf_c|0); - if ($exitcond) { - break; - } else { - $i$07 = $4; - } - } - return; - } - $5 = ($len|0)>(0); - if (!($5)) { - return; - } - $6 = ($buf_c|0)<($data_c|0); - $7 = $6 ? $buf_c : $data_c; - $8 = ($7|0)>(0); - $9 = ($data_c|0)<($buf_c|0); - $10 = $9 ? $data_c : $buf_c; - $$017 = $buffer;$j$016 = 0; - while(1) { - if ($8) { - $11 = (($j$016) + ($d_offset))|0; - $$19 = $$017;$i$18 = 0; - while(1) { - $13 = (($data) + ($i$18<<2)|0); - $14 = HEAP32[$13>>2]|0; - $15 = (($14) + ($11<<2)|0); - $16 = +HEAPF32[$15>>2]; - $17 = $16 + 384.0; - $18 = (HEAPF32[tempDoublePtr>>2]=$17,HEAP32[tempDoublePtr>>2]|0); - $19 = (($18) + -1136623616)|0; - $20 = ($19>>>0)>(65535); - $21 = ($18|0)<(1136656384); - $22 = $21 ? 32768 : 32767; - $v$0 = $20 ? $22 : $18; - $23 = $v$0&65535; - $24 = ((($$19)) + 2|0); - HEAP16[$$19>>1] = $23; - $25 = (($i$18) + 1)|0; - $exitcond20 = ($25|0)==($10|0); - if ($exitcond20) { - break; - } else { - $$19 = $24;$i$18 = $25; - } - } - $scevgep = (($$017) + ($10<<1)|0); - $$1$lcssa = $scevgep;$i$1$lcssa = $10; - } else { - $$1$lcssa = $$017;$i$1$lcssa = 0; - } - $12 = ($i$1$lcssa|0)<($buf_c|0); - if ($12) { - $26 = (($buf_c) - ($i$1$lcssa))|0; - $27 = $26 << 1; - _memset(($$1$lcssa|0),0,($27|0))|0; - $scevgep21$sum = (($buf_c) - ($i$1$lcssa))|0; - $scevgep22 = (($$1$lcssa) + ($scevgep21$sum<<1)|0); - $$2$lcssa = $scevgep22; - } else { - $$2$lcssa = $$1$lcssa; - } - $28 = (($j$016) + 1)|0; - $exitcond25 = ($28|0)==($len|0); - if ($exitcond25) { - break; - } else { - $$017 = $$2$lcssa;$j$016 = $28; - } - } - return; -} -function _Vector2Distance($v1,$v2) { - $v1 = $v1|0; - $v2 = $v2|0; - var $0 = 0.0, $1 = 0.0, $10 = 0.0, $2 = 0.0, $3 = 0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, $sqrtf = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $0 = +HEAPF32[$v2>>2]; - $1 = +HEAPF32[$v1>>2]; - $2 = $0 - $1; - $3 = ((($v2)) + 4|0); - $4 = +HEAPF32[$3>>2]; - $5 = ((($v1)) + 4|0); - $6 = +HEAPF32[$5>>2]; - $7 = $4 - $6; - $8 = $2 * $2; - $9 = $7 * $7; - $10 = $8 + $9; - $sqrtf = (+Math_sqrt((+$10))); - return (+$sqrtf); -} -function _Vector2Angle($initialPosition,$finalPosition) { - $initialPosition = $initialPosition|0; - $finalPosition = $finalPosition|0; - var $0 = 0, $1 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0, $16 = 0.0, $2 = 0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, $angle$0 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($finalPosition)) + 4|0); - $1 = +HEAPF32[$0>>2]; - $2 = ((($initialPosition)) + 4|0); - $3 = +HEAPF32[$2>>2]; - $4 = $1 - $3; - $5 = $4; - $6 = +HEAPF32[$finalPosition>>2]; - $7 = +HEAPF32[$initialPosition>>2]; - $8 = $6 - $7; - $9 = $8; - $10 = (+Math_atan2((+$5),(+$9))); - $11 = $10; - $12 = $11; - $13 = $12 * 57.295779513082323; - $14 = $13; - $15 = $14 < 0.0; - $16 = $14 + 360.0; - $angle$0 = $15 ? $16 : $14; - return (+$angle$0); -} -function _compute_stereo_samples($output,$num_c,$data,$d_offset,$len) { - $output = $output|0; - $num_c = $num_c|0; - $data = $data|0; - $d_offset = $d_offset|0; - $len = $len|0; - var $$n$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0.0, $41 = 0, $42 = 0, $43 = 0.0; - var $44 = 0.0, $45 = 0, $46 = 0.0, $47 = 0, $48 = 0, $49 = 0.0, $5 = 0, $50 = 0.0, $51 = 0, $52 = 0, $53 = 0, $54 = 0.0, $55 = 0, $56 = 0, $57 = 0.0, $58 = 0.0, $59 = 0, $6 = 0, $60 = 0, $61 = 0; - var $62 = 0.0, $63 = 0, $64 = 0, $65 = 0, $66 = 0.0, $67 = 0.0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0.0, $72 = 0.0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0; - var $80 = 0, $81 = 0, $82 = 0, $83 = 0, $9 = 0, $buffer = 0, $exitcond = 0, $exitcond23 = 0, $exitcond27 = 0, $exitcond28 = 0, $exitcond34 = 0, $i$09 = 0, $i$17 = 0, $i$26 = 0, $i$313 = 0, $indvars$iv$next30 = 0, $indvars$iv$next32 = 0, $indvars$iv29 = 0, $indvars$iv31 = 0, $j$011 = 0; - var $n$015 = 0, $o$016 = 0, $smax = 0, $smax22 = 0, $smax26 = 0, $smax33 = 0, $v$0 = 0, dest = 0, label = 0, sp = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 128|0; - $buffer = sp; - $0 = ($len|0)>(0); - if (!($0)) { - STACKTOP = sp;return; - } - $1 = ($num_c|0)>(0); - $2 = $len ^ -1; - $indvars$iv29 = -2;$indvars$iv31 = -1;$n$015 = 16;$o$016 = 0; - while(1) { - $3 = $o$016 << 1; - dest=$buffer; stop=dest+128|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - $4 = (($o$016) + ($n$015))|0; - $5 = ($4|0)>($len|0); - $6 = (($len) - ($o$016))|0; - $$n$0 = $5 ? $6 : $n$015; - L6: do { - if ($1) { - $7 = ($$n$0|0)>(0); - $8 = (($o$016) + ($d_offset))|0; - $9 = ($$n$0|0)>(0); - $10 = (($o$016) + ($d_offset))|0; - $11 = ($$n$0|0)>(0); - $12 = (($o$016) + ($d_offset))|0; - $13 = (($indvars$iv31) - ($n$015))|0; - $14 = ($13|0)>($2|0); - $smax = $14 ? $13 : $2; - $15 = (($indvars$iv31) - ($smax))|0; - $16 = (($indvars$iv31) - ($n$015))|0; - $17 = ($16|0)>($2|0); - $smax22 = $17 ? $16 : $2; - $18 = (($indvars$iv31) - ($smax22))|0; - $19 = (($indvars$iv31) - ($n$015))|0; - $20 = ($19|0)>($2|0); - $smax26 = $20 ? $19 : $2; - $21 = (($indvars$iv31) - ($smax26))|0; - $j$011 = 0; - while(1) { - $28 = ((15607 + (($num_c*6)|0)|0) + ($j$011)|0); - $29 = HEAP8[$28>>0]|0; - $30 = $29&255; - $31 = $30 & 6; - switch ($31|0) { - case 6: { - if ($7) { - $36 = (($data) + ($j$011<<2)|0); - $37 = HEAP32[$36>>2]|0; - $i$09 = 0; - while(1) { - $38 = (($8) + ($i$09))|0; - $39 = (($37) + ($38<<2)|0); - $40 = +HEAPF32[$39>>2]; - $41 = $i$09 << 1; - $42 = (($buffer) + ($41<<2)|0); - $43 = +HEAPF32[$42>>2]; - $44 = $40 + $43; - HEAPF32[$42>>2] = $44; - $45 = (($37) + ($38<<2)|0); - $46 = +HEAPF32[$45>>2]; - $47 = $41 | 1; - $48 = (($buffer) + ($47<<2)|0); - $49 = +HEAPF32[$48>>2]; - $50 = $46 + $49; - HEAPF32[$48>>2] = $50; - $51 = (($i$09) + 1)|0; - $exitcond27 = ($51|0)==($21|0); - if ($exitcond27) { - break; - } else { - $i$09 = $51; - } - } - } - break; - } - case 2: { - if ($9) { - $34 = (($data) + ($j$011<<2)|0); - $35 = HEAP32[$34>>2]|0; - $i$17 = 0; - while(1) { - $52 = (($10) + ($i$17))|0; - $53 = (($35) + ($52<<2)|0); - $54 = +HEAPF32[$53>>2]; - $55 = $i$17 << 1; - $56 = (($buffer) + ($55<<2)|0); - $57 = +HEAPF32[$56>>2]; - $58 = $54 + $57; - HEAPF32[$56>>2] = $58; - $59 = (($i$17) + 1)|0; - $exitcond23 = ($59|0)==($18|0); - if ($exitcond23) { - break; - } else { - $i$17 = $59; - } - } - } - break; - } - case 4: { - if ($11) { - $32 = (($data) + ($j$011<<2)|0); - $33 = HEAP32[$32>>2]|0; - $i$26 = 0; - while(1) { - $60 = (($12) + ($i$26))|0; - $61 = (($33) + ($60<<2)|0); - $62 = +HEAPF32[$61>>2]; - $63 = $i$26 << 1; - $64 = $63 | 1; - $65 = (($buffer) + ($64<<2)|0); - $66 = +HEAPF32[$65>>2]; - $67 = $62 + $66; - HEAPF32[$65>>2] = $67; - $68 = (($i$26) + 1)|0; - $exitcond = ($68|0)==($15|0); - if ($exitcond) { - break; - } else { - $i$26 = $68; - } - } - } - break; - } - default: { - } - } - $69 = (($j$011) + 1)|0; - $exitcond28 = ($69|0)==($num_c|0); - if ($exitcond28) { - break L6; - } else { - $j$011 = $69; - } - } - } - } while(0); - $22 = $$n$0 << 1; - $23 = ($22|0)>(0); - if ($23) { - $24 = (($indvars$iv31) - ($n$015))|0; - $25 = ($24|0)>($2|0); - $smax33 = $25 ? $24 : $2; - $26 = $smax33 << 1; - $27 = (($indvars$iv29) - ($26))|0; - $i$313 = 0; - while(1) { - $70 = (($buffer) + ($i$313<<2)|0); - $71 = +HEAPF32[$70>>2]; - $72 = $71 + 384.0; - $73 = (HEAPF32[tempDoublePtr>>2]=$72,HEAP32[tempDoublePtr>>2]|0); - $74 = (($73) + -1136623616)|0; - $75 = ($74>>>0)>(65535); - $76 = ($73|0)<(1136656384); - $77 = $76 ? 32768 : 32767; - $v$0 = $75 ? $77 : $73; - $78 = $v$0&65535; - $79 = (($i$313) + ($3))|0; - $80 = (($output) + ($79<<1)|0); - HEAP16[$80>>1] = $78; - $81 = (($i$313) + 1)|0; - $exitcond34 = ($81|0)==($27|0); - if ($exitcond34) { - break; - } else { - $i$313 = $81; - } - } - } - $82 = (($o$016) + 16)|0; - $83 = ($82|0)<($len|0); - $indvars$iv$next32 = (($indvars$iv31) + -16)|0; - $indvars$iv$next30 = (($indvars$iv29) + -32)|0; - if ($83) { - $indvars$iv29 = $indvars$iv$next30;$indvars$iv31 = $indvars$iv$next32;$n$015 = $$n$0;$o$016 = $82; - } else { - break; - } - } - STACKTOP = sp;return; -} -function _get8($z) { - $z = $z|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($z)) + 32|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)==(0|0); - if ($2) { - $9 = ((($z)) + 20|0); - $10 = HEAP32[$9>>2]|0; - $11 = (_fgetc($10)|0); - $12 = ($11|0)==(-1); - if ($12) { - $13 = ((($z)) + 96|0); - HEAP32[$13>>2] = 1; - $$0 = 0; - return ($$0|0); - } else { - $14 = $11&255; - $$0 = $14; - return ($$0|0); - } - } else { - $3 = ((($z)) + 40|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($1>>>0)<($4>>>0); - if ($5) { - $7 = ((($1)) + 1|0); - HEAP32[$0>>2] = $7; - $8 = HEAP8[$1>>0]|0; - $$0 = $8; - return ($$0|0); - } else { - $6 = ((($z)) + 96|0); - HEAP32[$6>>2] = 1; - $$0 = 0; - return ($$0|0); - } - } - return (0)|0; -} -function _crc32_update($crc,$byte) { - $crc = $crc|0; - $byte = $byte|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = $crc << 8; - $1 = $byte&255; - $2 = $crc >>> 24; - $3 = $1 ^ $2; - $4 = (5824 + ($3<<2)|0); - $5 = HEAP32[$4>>2]|0; - $6 = $5 ^ $0; - return ($6|0); -} -function _get8_packet_raw($f) { - $f = $f|0; - var $$0 = 0, $$pr = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($f)) + 1376|0); - $1 = HEAP8[$0>>0]|0; - $2 = ($1<<24>>24)==(0); - if ($2) { - $3 = ((($f)) + 1384|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)==(0); - if (!($5)) { - $$0 = -1; - return ($$0|0); - } - $6 = (_next_segment($f)|0); - $7 = ($6|0)==(0); - if ($7) { - $$0 = -1; - return ($$0|0); - } - $$pr = HEAP8[$0>>0]|0; - $8 = ($$pr<<24>>24)==(0); - if ($8) { - ___assert_fail((15649|0),(15523|0),1132,(15669|0)); - // unreachable; - } else { - $10 = $$pr; - } - } else { - $10 = $1; - } - $9 = (($10) + -1)<<24>>24; - HEAP8[$0>>0] = $9; - $11 = ((($f)) + 1400|0); - $12 = HEAP32[$11>>2]|0; - $13 = (($12) + 1)|0; - HEAP32[$11>>2] = $13; - $14 = (_get8($f)|0); - $15 = $14&255; - $$0 = $15; - return ($$0|0); -} -function _next_segment($f) { - $f = $f|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($f)) + 1384|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)==(0); - if (!($2)) { - $$0 = 0; - return ($$0|0); - } - $3 = ((($f)) + 1380|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)==(-1); - if ($5) { - $6 = ((($f)) + 1116|0); - $7 = HEAP32[$6>>2]|0; - $8 = (($7) + -1)|0; - $9 = ((($f)) + 1388|0); - HEAP32[$9>>2] = $8; - $10 = (_start_page($f)|0); - $11 = ($10|0)==(0); - if ($11) { - HEAP32[$0>>2] = 1; - $$0 = 0; - return ($$0|0); - } - $12 = ((($f)) + 1375|0); - $13 = HEAP8[$12>>0]|0; - $14 = $13 & 1; - $15 = ($14<<24>>24)==(0); - if ($15) { - _error($f,32); - $$0 = 0; - return ($$0|0); - } - } - $16 = HEAP32[$3>>2]|0; - $17 = (($16) + 1)|0; - HEAP32[$3>>2] = $17; - $18 = (((($f)) + 1120|0) + ($16)|0); - $19 = HEAP8[$18>>0]|0; - $20 = $19&255; - $21 = ($19<<24>>24)==(-1); - if (!($21)) { - HEAP32[$0>>2] = 1; - $22 = HEAP32[$3>>2]|0; - $23 = (($22) + -1)|0; - $24 = ((($f)) + 1388|0); - HEAP32[$24>>2] = $23; - } - $25 = HEAP32[$3>>2]|0; - $26 = ((($f)) + 1116|0); - $27 = HEAP32[$26>>2]|0; - $28 = ($25|0)<($27|0); - if (!($28)) { - HEAP32[$3>>2] = -1; - } - $29 = ((($f)) + 1376|0); - $30 = HEAP8[$29>>0]|0; - $31 = ($30<<24>>24)==(0); - if (!($31)) { - ___assert_fail((15685|0),(15523|0),1118,(15706|0)); - // unreachable; - } - HEAP8[$29>>0] = $19; - $$0 = $20; - return ($$0|0); -} -function _start_page($f) { - $f = $f|0; - var $$0 = 0, $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_capture_pattern($f)|0); - $1 = ($0|0)==(0); - if ($1) { - _error($f,30); - $$0 = 0; - return ($$0|0); - } else { - $2 = (_start_page_no_capturepattern($f)|0); - $$0 = $2; - return ($$0|0); - } - return (0)|0; -} -function _capture_pattern($f) { - $f = $f|0; - var $$ = 0, $$0 = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_get8($f)|0); - $1 = ($0<<24>>24)==(79); - if ($1) { - $2 = (_get8($f)|0); - $3 = ($2<<24>>24)==(103); - if ($3) { - $4 = (_get8($f)|0); - $5 = ($4<<24>>24)==(103); - if ($5) { - $6 = (_get8($f)|0); - $7 = ($6<<24>>24)==(83); - $$ = $7&1; - $$0 = $$; - } else { - $$0 = 0; - } - } else { - $$0 = 0; - } - } else { - $$0 = 0; - } - return ($$0|0); -} -function _start_page_no_capturepattern($f) { - $f = $f|0; - var $$0 = 0, $$lcssa = 0, $$lcssa14 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; - var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; - var $42 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i$0 = 0, $i$0$in = 0, $i$0$lcssa15 = 0, $i1$04 = 0, $len$0$lcssa = 0, $len$03 = 0, $phitmp = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_get8($f)|0); - $1 = ($0<<24>>24)==(0); - if (!($1)) { - _error($f,31); - $$0 = 0; - return ($$0|0); - } - $2 = (_get8($f)|0); - $3 = ((($f)) + 1375|0); - HEAP8[$3>>0] = $2; - $4 = (_get32($f)|0); - $5 = (_get32($f)|0); - (_get32($f)|0); - $6 = (_get32($f)|0); - $7 = ((($f)) + 1112|0); - HEAP32[$7>>2] = $6; - (_get32($f)|0); - $8 = (_get8($f)|0); - $9 = $8&255; - $10 = ((($f)) + 1116|0); - HEAP32[$10>>2] = $9; - $11 = ((($f)) + 1120|0); - $12 = (_getn($f,$11,$9)|0); - $13 = ($12|0)==(0); - if ($13) { - _error($f,10); - $$0 = 0; - return ($$0|0); - } - $14 = ((($f)) + 1404|0); - HEAP32[$14>>2] = -2; - $15 = $5 & $4; - $16 = ($15|0)==(-1); - L9: do { - if (!($16)) { - $17 = HEAP32[$10>>2]|0; - $i$0$in = $17; - while(1) { - $i$0 = (($i$0$in) + -1)|0; - $18 = ($i$0$in|0)>(0); - if (!($18)) { - break L9; - } - $19 = (((($f)) + 1120|0) + ($i$0)|0); - $20 = HEAP8[$19>>0]|0; - $21 = ($20<<24>>24)==(-1); - if ($21) { - $i$0$in = $i$0; - } else { - $i$0$lcssa15 = $i$0; - break; - } - } - HEAP32[$14>>2] = $i$0$lcssa15; - $22 = ((($f)) + 1408|0); - HEAP32[$22>>2] = $4; - } - } while(0); - $23 = ((($f)) + 1377|0); - $24 = HEAP8[$23>>0]|0; - $25 = ($24<<24>>24)==(0); - if (!($25)) { - $26 = HEAP32[$10>>2]|0; - $27 = ($26|0)>(0); - if ($27) { - $28 = HEAP32[$10>>2]|0; - $i1$04 = 0;$len$03 = 0; - while(1) { - $29 = (((($f)) + 1120|0) + ($i1$04)|0); - $30 = HEAP8[$29>>0]|0; - $31 = $30&255; - $32 = (($31) + ($len$03))|0; - $33 = (($i1$04) + 1)|0; - $34 = ($33|0)<($28|0); - if ($34) { - $i1$04 = $33;$len$03 = $32; - } else { - $$lcssa14 = $32; - break; - } - } - $phitmp = (($$lcssa14) + 27)|0; - $$lcssa = $28;$len$0$lcssa = $phitmp; - } else { - $$lcssa = $26;$len$0$lcssa = 27; - } - $35 = ((($f)) + 52|0); - $36 = HEAP32[$35>>2]|0; - $37 = (($len$0$lcssa) + ($$lcssa))|0; - $38 = (($37) + ($36))|0; - $39 = ((($f)) + 56|0); - HEAP32[$39>>2] = $36; - $40 = ((($f)) + 60|0); - HEAP32[$40>>2] = $38; - $41 = ((($f)) + 64|0); - HEAP32[$41>>2] = $4; - } - $42 = ((($f)) + 1380|0); - HEAP32[$42>>2] = 0; - $$0 = 1; - return ($$0|0); -} -function _start_packet($f) { - $f = $f|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($f)) + 1380|0); - $1 = ((($f)) + 1375|0); - while(1) { - $2 = HEAP32[$0>>2]|0; - $3 = ($2|0)==(-1); - if (!($3)) { - label = 6; - break; - } - $4 = (_start_page($f)|0); - $5 = ($4|0)==(0); - if ($5) { - $$0 = 0; - label = 7; - break; - } - $6 = HEAP8[$1>>0]|0; - $7 = $6 & 1; - $8 = ($7<<24>>24)==(0); - if (!($8)) { - label = 5; - break; - } - } - if ((label|0) == 5) { - _error($f,32); - $$0 = 0; - return ($$0|0); - } - else if ((label|0) == 6) { - $9 = ((($f)) + 1384|0); - HEAP32[$9>>2] = 0; - $10 = ((($f)) + 1396|0); - HEAP32[$10>>2] = 0; - $11 = ((($f)) + 1400|0); - HEAP32[$11>>2] = 0; - $12 = ((($f)) + 1376|0); - HEAP8[$12>>0] = 0; - $$0 = 1; - return ($$0|0); - } - else if ((label|0) == 7) { - return ($$0|0); - } - return (0)|0; -} -function _vorbis_decode_initial($f,$p_left_start,$p_left_end,$p_right_start,$p_right_end,$mode) { - $f = $f|0; - $p_left_start = $p_left_start|0; - $p_left_end = $p_left_end|0; - $p_right_start = $p_right_start|0; - $p_right_end = $p_right_end|0; - $mode = $mode|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; - var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0; - var $7 = 0, $8 = 0, $9 = 0, $n$0 = 0, $next$0 = 0, $or$cond = 0, $or$cond3 = 0, $phitmp = 0, $prev$0 = 0, $storemerge = 0, $storemerge4 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($f)) + 1508|0); - HEAP32[$0>>2] = 0; - $1 = ((($f)) + 1504|0); - HEAP32[$1>>2] = 0; - $2 = ((($f)) + 96|0); - $3 = HEAP32[$2>>2]|0; - $4 = ($3|0)==(0); - if (!($4)) { - $$0 = 0; - return ($$0|0); - } - $5 = ((($f)) + 48|0); - while(1) { - $8 = (_maybe_start_packet($f)|0); - $9 = ($8|0)==(0); - if ($9) { - $$0 = 0; - label = 24; - break; - } - $10 = (_get_bits($f,1)|0); - $11 = ($10|0)==(0); - if ($11) { - label = 9; - break; - } - $12 = HEAP8[$5>>0]|0; - $13 = ($12<<24>>24)==(0); - if (!($13)) { - label = 7; - break; - } - while(1) { - $14 = (_get8_packet($f)|0); - $15 = ($14|0)==(-1); - if ($15) { - break; - } - } - $6 = HEAP32[$2>>2]|0; - $7 = ($6|0)==(0); - if (!($7)) { - $$0 = 0; - label = 24; - break; - } - } - if ((label|0) == 7) { - _error($f,35); - $$0 = 0; - return ($$0|0); - } - else if ((label|0) == 9) { - $16 = ((($f)) + 80|0); - $17 = HEAP32[$16>>2]|0; - $18 = ($17|0)==(0|0); - if (!($18)) { - $19 = ((($f)) + 84|0); - $20 = HEAP32[$19>>2]|0; - $21 = ((($f)) + 92|0); - $22 = HEAP32[$21>>2]|0; - $23 = ($20|0)==($22|0); - if (!($23)) { - ___assert_fail((15735|0),(15523|0),2804,(15791|0)); - // unreachable; - } - } - $24 = ((($f)) + 408|0); - $25 = HEAP32[$24>>2]|0; - $26 = (($25) + -1)|0; - $27 = (_ilog($26)|0); - $28 = (_get_bits($f,$27)|0); - $29 = ($28|0)==(-1); - if ($29) { - $$0 = 0; - return ($$0|0); - } - $30 = HEAP32[$24>>2]|0; - $31 = ($28|0)<($30|0); - if (!($31)) { - $$0 = 0; - return ($$0|0); - } - HEAP32[$mode>>2] = $28; - $32 = (((($f)) + 412|0) + (($28*6)|0)|0); - $33 = HEAP8[$32>>0]|0; - $34 = ($33<<24>>24)==(0); - if ($34) { - $39 = ((($f)) + 112|0); - $40 = HEAP32[$39>>2]|0; - $n$0 = $40;$next$0 = 0;$prev$0 = 0; - } else { - $35 = ((($f)) + 116|0); - $36 = HEAP32[$35>>2]|0; - $37 = (_get_bits($f,1)|0); - $38 = (_get_bits($f,1)|0); - $phitmp = ($37|0)!=(0); - $n$0 = $36;$next$0 = $38;$prev$0 = $phitmp; - } - $41 = $n$0 >> 1; - $42 = HEAP8[$32>>0]|0; - $43 = ($42<<24>>24)==(0); - $or$cond = $prev$0 | $43; - if ($or$cond) { - HEAP32[$p_left_start>>2] = 0; - $storemerge = $41; - } else { - $44 = ((($f)) + 112|0); - $45 = HEAP32[$44>>2]|0; - $46 = (($n$0) - ($45))|0; - $47 = $46 >> 2; - HEAP32[$p_left_start>>2] = $47; - $48 = HEAP32[$44>>2]|0; - $49 = (($48) + ($n$0))|0; - $50 = $49 >> 2; - $storemerge = $50; - } - HEAP32[$p_left_end>>2] = $storemerge; - $51 = HEAP8[$32>>0]|0; - $52 = ($51<<24>>24)==(0); - $53 = ($next$0|0)!=(0); - $or$cond3 = $53 | $52; - if ($or$cond3) { - HEAP32[$p_right_start>>2] = $41; - $storemerge4 = $n$0; - } else { - $54 = ($n$0*3)|0; - $55 = ((($f)) + 112|0); - $56 = HEAP32[$55>>2]|0; - $57 = (($54) - ($56))|0; - $58 = $57 >> 2; - HEAP32[$p_right_start>>2] = $58; - $59 = HEAP32[$55>>2]|0; - $60 = (($59) + ($54))|0; - $61 = $60 >> 2; - $storemerge4 = $61; - } - HEAP32[$p_right_end>>2] = $storemerge4; - $$0 = 1; - return ($$0|0); - } - else if ((label|0) == 24) { - return ($$0|0); - } - return (0)|0; -} -function _ilog($n) { - $n = $n|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ($n|0)<(16384); - if ($0) { - $1 = ($n|0)<(16); - if ($1) { - $2 = (15719 + ($n)|0); - $3 = HEAP8[$2>>0]|0; - $4 = $3 << 24 >> 24; - $$0 = $4; - return ($$0|0); - } - $5 = ($n|0)<(512); - if ($5) { - $6 = $n >> 5; - $7 = (15719 + ($6)|0); - $8 = HEAP8[$7>>0]|0; - $9 = $8 << 24 >> 24; - $10 = (($9) + 5)|0; - $$0 = $10; - return ($$0|0); - } else { - $11 = $n >> 10; - $12 = (15719 + ($11)|0); - $13 = HEAP8[$12>>0]|0; - $14 = $13 << 24 >> 24; - $15 = (($14) + 10)|0; - $$0 = $15; - return ($$0|0); - } - } - $16 = ($n|0)<(16777216); - if (!($16)) { - $28 = ($n|0)<(536870912); - if (!($28)) { - $$0 = 0; - return ($$0|0); - } - $29 = $n >> 25; - $30 = (15719 + ($29)|0); - $31 = HEAP8[$30>>0]|0; - $32 = $31 << 24 >> 24; - $33 = (($32) + 25)|0; - $$0 = $33; - return ($$0|0); - } - $17 = ($n|0)<(524288); - if ($17) { - $18 = $n >> 15; - $19 = (15719 + ($18)|0); - $20 = HEAP8[$19>>0]|0; - $21 = $20 << 24 >> 24; - $22 = (($21) + 15)|0; - $$0 = $22; - return ($$0|0); - } else { - $23 = $n >> 20; - $24 = (15719 + ($23)|0); - $25 = HEAP8[$24>>0]|0; - $26 = $25 << 24 >> 24; - $27 = (($26) + 20)|0; - $$0 = $27; - return ($$0|0); - } - return (0)|0; -} -function _skip($z,$n) { - $z = $z|0; - $n = $n|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($z)) + 32|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)==(0|0); - if ($2) { - $8 = ((($z)) + 20|0); - $9 = HEAP32[$8>>2]|0; - $10 = (_ftell($9)|0); - $11 = HEAP32[$8>>2]|0; - $12 = (($10) + ($n))|0; - (_fseek($11,$12,0)|0); - return; - } - $3 = (($1) + ($n)|0); - HEAP32[$0>>2] = $3; - $4 = ((($z)) + 40|0); - $5 = HEAP32[$4>>2]|0; - $6 = ($3>>>0)<($5>>>0); - if ($6) { - return; - } - $7 = ((($z)) + 96|0); - HEAP32[$7>>2] = 1; - return; -} -function _get_bits($f,$n) { - $f = $f|0; - $n = $n|0; - var $$0 = 0, $$pr = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; - var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($f)) + 1396|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)<(0); - if ($2) { - $$0 = 0; - return ($$0|0); - } - $3 = ($1|0)<($n|0); - L4: do { - if ($3) { - $4 = ($n|0)>(24); - if ($4) { - $5 = (_get_bits($f,24)|0); - $6 = (($n) + -24)|0; - $7 = (_get_bits($f,$6)|0); - $8 = $7 << 24; - $9 = (($8) + ($5))|0; - return ($9|0); - } - $10 = ($1|0)==(0); - if ($10) { - $11 = ((($f)) + 1392|0); - HEAP32[$11>>2] = 0; - } - $12 = HEAP32[$0>>2]|0; - $13 = ($12|0)<($n|0); - if ($13) { - $14 = ((($f)) + 1392|0); - while(1) { - $15 = (_get8_packet_raw($f)|0); - $16 = ($15|0)==(-1); - if ($16) { - break; - } - $17 = HEAP32[$0>>2]|0; - $18 = $15 << $17; - $19 = HEAP32[$14>>2]|0; - $20 = (($19) + ($18))|0; - HEAP32[$14>>2] = $20; - $21 = HEAP32[$0>>2]|0; - $22 = (($21) + 8)|0; - HEAP32[$0>>2] = $22; - $23 = ($22|0)<($n|0); - if (!($23)) { - $24 = $22; - break L4; - } - } - HEAP32[$0>>2] = -1; - $$0 = 0; - return ($$0|0); - } else { - $24 = $12; - } - } else { - $$pr = HEAP32[$0>>2]|0; - $24 = $$pr; - } - } while(0); - $25 = ($24|0)<(0); - if ($25) { - $$0 = 0; - return ($$0|0); - } - $26 = ((($f)) + 1392|0); - $27 = HEAP32[$26>>2]|0; - $28 = 1 << $n; - $29 = (($28) + -1)|0; - $30 = $27 & $29; - $31 = $27 >>> $n; - HEAP32[$26>>2] = $31; - $32 = HEAP32[$0>>2]|0; - $33 = (($32) - ($n))|0; - HEAP32[$0>>2] = $33; - $$0 = $30; - return ($$0|0); -} -function _setup_malloc($f,$sz) { - $f = $f|0; - $sz = $sz|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (($sz) + 3)|0; - $1 = $0 & -4; - $2 = ((($f)) + 8|0); - $3 = HEAP32[$2>>2]|0; - $4 = (($3) + ($1))|0; - HEAP32[$2>>2] = $4; - $5 = ((($f)) + 80|0); - $6 = HEAP32[$5>>2]|0; - $7 = ($6|0)==(0|0); - if ($7) { - $15 = ($1|0)==(0); - if ($15) { - $$0 = 0; - return ($$0|0); - } - $16 = (_malloc($1)|0); - $$0 = $16; - return ($$0|0); - } else { - $8 = ((($f)) + 88|0); - $9 = HEAP32[$8>>2]|0; - $10 = (($9) + ($1))|0; - $11 = ((($f)) + 92|0); - $12 = HEAP32[$11>>2]|0; - $13 = ($10|0)>($12|0); - if ($13) { - $$0 = 0; - return ($$0|0); - } - $14 = (($6) + ($9)|0); - HEAP32[$8>>2] = $10; - $$0 = $14; - return ($$0|0); - } - return (0)|0; -} -function _vorbis_validate($data) { - $data = $data|0; - var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_memcmp($data,16185,6)|0); - $1 = ($0|0)==(0); - $2 = $1&1; - return ($2|0); -} -function _crc32_init() { - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $i$03 = 0, label = 0, sp = 0; - sp = STACKTOP; - $i$03 = 0; - while(1) { - $0 = $i$03 << 24; - $1 = $i$03 << 25; - $2 = $0 >> 31; - $3 = $2 & 79764919; - $4 = $3 ^ $1; - $5 = $4 << 1; - $6 = $1 >> 31; - $7 = $6 & 79764919; - $8 = $7 ^ $5; - $9 = $8 << 1; - $10 = $5 >> 31; - $11 = $10 & 79764919; - $12 = $11 ^ $9; - $13 = $12 << 1; - $14 = $9 >> 31; - $15 = $14 & 79764919; - $16 = $15 ^ $13; - $17 = $16 << 1; - $18 = $13 >> 31; - $19 = $18 & 79764919; - $20 = $19 ^ $17; - $21 = $20 << 1; - $22 = $17 >> 31; - $23 = $22 & 79764919; - $24 = $23 ^ $21; - $25 = $24 << 1; - $26 = $21 >> 31; - $27 = $26 & 79764919; - $28 = $27 ^ $25; - $29 = $28 << 1; - $30 = $25 >> 31; - $31 = $30 & 79764919; - $32 = $31 ^ $29; - $33 = (5824 + ($i$03<<2)|0); - HEAP32[$33>>2] = $32; - $34 = (($i$03) + 1)|0; - $exitcond = ($34|0)==(256); - if ($exitcond) { - break; - } else { - $i$03 = $34; - } - } - return; -} -function _setup_temp_malloc($f,$sz) { - $f = $f|0; - $sz = $sz|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (($sz) + 3)|0; - $1 = $0 & -4; - $2 = ((($f)) + 80|0); - $3 = HEAP32[$2>>2]|0; - $4 = ($3|0)==(0|0); - if ($4) { - $13 = (_malloc($1)|0); - $$0 = $13; - return ($$0|0); - } - $5 = ((($f)) + 92|0); - $6 = HEAP32[$5>>2]|0; - $7 = (($6) - ($1))|0; - $8 = ((($f)) + 88|0); - $9 = HEAP32[$8>>2]|0; - $10 = ($7|0)<($9|0); - if ($10) { - $$0 = 0; - return ($$0|0); - } - HEAP32[$5>>2] = $7; - $11 = HEAP32[$2>>2]|0; - $12 = (($11) + ($7)|0); - $$0 = $12; - return ($$0|0); -} -function _setup_temp_free($f,$p,$sz) { - $f = $f|0; - $p = $p|0; - $sz = $sz|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($f)) + 80|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)==(0|0); - if ($2) { - _free($p); - return; - } else { - $3 = (($sz) + 3)|0; - $4 = $3 & -4; - $5 = ((($f)) + 92|0); - $6 = HEAP32[$5>>2]|0; - $7 = (($6) + ($4))|0; - HEAP32[$5>>2] = $7; - return; - } -} -function _compute_codewords($c,$len,$n,$values) { - $c = $c|0; - $len = $len|0; - $n = $n|0; - $values = $values|0; - var $$0 = 0, $$lcssa = 0, $$lcssa37 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; - var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; - var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $available = 0, $i$014 = 0, $i$1 = 0; - var $i$1$in = 0, $i$1$in$ph = 0, $i$1$lcssa36 = 0, $k$0$lcssa = 0, $k$016 = 0, $m$0$ph = 0, $y$012 = 0, $z$0$lcssa = 0, $z$09 = 0, dest = 0, label = 0, sp = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 128|0; - $available = sp; - dest=$available; stop=dest+128|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - $0 = ($n|0)>(0); - L1: do { - if ($0) { - $k$016 = 0; - while(1) { - $1 = (($len) + ($k$016)|0); - $2 = HEAP8[$1>>0]|0; - $3 = ($2<<24>>24)==(-1); - if (!($3)) { - $k$0$lcssa = $k$016; - break L1; - } - $4 = (($k$016) + 1)|0; - $5 = ($4|0)<($n|0); - if ($5) { - $k$016 = $4; - } else { - $k$0$lcssa = $4; - break; - } - } - } else { - $k$0$lcssa = 0; - } - } while(0); - $6 = ($k$0$lcssa|0)==($n|0); - if ($6) { - $7 = ((($c)) + 2092|0); - $8 = HEAP32[$7>>2]|0; - $9 = ($8|0)==(0); - if ($9) { - $$0 = 1; - STACKTOP = sp;return ($$0|0); - } else { - ___assert_fail((16082|0),(15523|0),659,(16105|0)); - // unreachable; - } - } - $10 = (($len) + ($k$0$lcssa)|0); - $11 = HEAP8[$10>>0]|0; - $12 = $11&255; - _add_entry($c,0,$k$0$lcssa,0,$12,$values); - $13 = HEAP8[$10>>0]|0; - $14 = ($13<<24>>24)==(0); - if ($14) { - $i$1$in$ph = $k$0$lcssa;$m$0$ph = 1; - } else { - $15 = HEAP8[$10>>0]|0; - $16 = $15&255; - $i$014 = 1; - while(1) { - $17 = (32 - ($i$014))|0; - $18 = 1 << $17; - $19 = (($available) + ($i$014<<2)|0); - HEAP32[$19>>2] = $18; - $20 = (($i$014) + 1)|0; - $21 = ($i$014|0)<($16|0); - if ($21) { - $i$014 = $20; - } else { - $i$1$in$ph = $k$0$lcssa;$m$0$ph = 1; - break; - } - } - } - L16: while(1) { - $i$1$in = $i$1$in$ph; - while(1) { - $i$1 = (($i$1$in) + 1)|0; - $22 = ($i$1|0)<($n|0); - if (!($22)) { - $$0 = 1; - label = 26; - break L16; - } - $23 = (($len) + ($i$1)|0); - $24 = HEAP8[$23>>0]|0; - $25 = ($24<<24>>24)==(-1); - if ($25) { - $i$1$in = $i$1; - } else { - $$lcssa = $23;$$lcssa37 = $24;$i$1$lcssa36 = $i$1; - break; - } - } - $26 = $$lcssa37&255; - $27 = ($$lcssa37<<24>>24)==(0); - L22: do { - if ($27) { - $z$0$lcssa = $26; - } else { - $z$09 = $26; - while(1) { - $28 = (($available) + ($z$09<<2)|0); - $29 = HEAP32[$28>>2]|0; - $30 = ($29|0)==(0); - if (!($30)) { - $z$0$lcssa = $z$09; - break L22; - } - $31 = (($z$09) + -1)|0; - $32 = ($z$09|0)>(1); - if ($32) { - $z$09 = $31; - } else { - $z$0$lcssa = $31; - break; - } - } - } - } while(0); - $33 = ($z$0$lcssa|0)==(0); - if ($33) { - $$0 = 0; - label = 26; - break; - } - $34 = (($available) + ($z$0$lcssa<<2)|0); - $35 = HEAP32[$34>>2]|0; - $36 = ($z$0$lcssa>>>0)<(32); - if (!($36)) { - label = 18; - break; - } - HEAP32[$34>>2] = 0; - $37 = (_bit_reverse($35)|0); - $38 = (($m$0$ph) + 1)|0; - $39 = HEAP8[$$lcssa>>0]|0; - $40 = $39&255; - _add_entry($c,$37,$i$1$lcssa36,$m$0$ph,$40,$values); - $41 = HEAP8[$$lcssa>>0]|0; - $42 = $41&255; - $43 = ($z$0$lcssa|0)==($42|0); - if ($43) { - $i$1$in$ph = $i$1$lcssa36;$m$0$ph = $38; - continue; - } - $44 = ($41&255)<(32); - if (!($44)) { - label = 22; - break; - } - $45 = ($42|0)>($z$0$lcssa|0); - if ($45) { - $y$012 = $42; - } else { - $i$1$in$ph = $i$1$lcssa36;$m$0$ph = $38; - continue; - } - while(1) { - $46 = (($available) + ($y$012<<2)|0); - $47 = HEAP32[$46>>2]|0; - $48 = ($47|0)==(0); - if (!($48)) { - label = 24; - break L16; - } - $49 = (32 - ($y$012))|0; - $50 = 1 << $49; - $51 = (($50) + ($35))|0; - HEAP32[$46>>2] = $51; - $52 = (($y$012) + -1)|0; - $53 = ($52|0)>($z$0$lcssa|0); - if ($53) { - $y$012 = $52; - } else { - $i$1$in$ph = $i$1$lcssa36;$m$0$ph = $38; - continue L16; - } - } - } - if ((label|0) == 18) { - ___assert_fail((16123|0),(15523|0),682,(16105|0)); - // unreachable; - } - else if ((label|0) == 22) { - ___assert_fail((16140|0),(15523|0),687,(16105|0)); - // unreachable; - } - else if ((label|0) == 24) { - ___assert_fail((16167|0),(15523|0),689,(16105|0)); - // unreachable; - } - else if ((label|0) == 26) { - STACKTOP = sp;return ($$0|0); - } - return (0)|0; -} -function _compute_sorted_huffman($c,$lengths,$values) { - $c = $c|0; - $lengths = $lengths|0; - $values = $values|0; - var $$ = 0, $$in = 0, $$pn = 0, $$sink$in = 0, $$sink1 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0; - var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0; - var $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0; - var $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0; - var $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $i$010 = 0, $i$114 = 0, $i$25 = 0, $k$0$lcssa = 0; - var $k$09 = 0, $k$1 = 0, $n$04 = 0, $x$0$ = 0, $x$0$lcssa = 0, $x$03 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($c)) + 23|0); - $1 = HEAP8[$0>>0]|0; - $2 = ($1<<24>>24)==(0); - if ($2) { - $10 = ((($c)) + 4|0); - $11 = HEAP32[$10>>2]|0; - $12 = ($11|0)>(0); - if ($12) { - $13 = ((($c)) + 32|0); - $14 = ((($c)) + 2084|0); - $i$010 = 0;$k$09 = 0; - while(1) { - $15 = (($lengths) + ($i$010)|0); - $16 = HEAP8[$15>>0]|0; - $17 = (_include_in_sort($c,$16)|0); - $18 = ($17|0)==(0); - if ($18) { - $k$1 = $k$09; - } else { - $19 = HEAP32[$13>>2]|0; - $20 = (($19) + ($i$010<<2)|0); - $21 = HEAP32[$20>>2]|0; - $22 = (_bit_reverse($21)|0); - $23 = (($k$09) + 1)|0; - $24 = HEAP32[$14>>2]|0; - $25 = (($24) + ($k$09<<2)|0); - HEAP32[$25>>2] = $22; - $k$1 = $23; - } - $26 = (($i$010) + 1)|0; - $27 = HEAP32[$10>>2]|0; - $28 = ($26|0)<($27|0); - if ($28) { - $i$010 = $26;$k$09 = $k$1; - } else { - $k$0$lcssa = $k$1; - break; - } - } - } else { - $k$0$lcssa = 0; - } - $29 = ((($c)) + 2092|0); - $30 = HEAP32[$29>>2]|0; - $31 = ($k$0$lcssa|0)==($30|0); - if (!($31)) { - ___assert_fail((15974|0),(15523|0),756,(15997|0)); - // unreachable; - } - } else { - $3 = ((($c)) + 2092|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)>(0); - if ($5) { - $6 = ((($c)) + 32|0); - $7 = HEAP32[$6>>2]|0; - $8 = ((($c)) + 2084|0); - $9 = HEAP32[$8>>2]|0; - $i$114 = 0; - while(1) { - $32 = (($7) + ($i$114<<2)|0); - $33 = HEAP32[$32>>2]|0; - $34 = (_bit_reverse($33)|0); - $35 = (($9) + ($i$114<<2)|0); - HEAP32[$35>>2] = $34; - $36 = (($i$114) + 1)|0; - $37 = HEAP32[$3>>2]|0; - $38 = ($36|0)<($37|0); - if ($38) { - $i$114 = $36; - } else { - break; - } - } - } - } - $39 = ((($c)) + 2084|0); - $40 = HEAP32[$39>>2]|0; - $41 = ((($c)) + 2092|0); - $42 = HEAP32[$41>>2]|0; - _qsort($40,$42,4,2); - $43 = HEAP32[$41>>2]|0; - $44 = HEAP32[$39>>2]|0; - $45 = (($44) + ($43<<2)|0); - HEAP32[$45>>2] = -1; - $46 = HEAP8[$0>>0]|0; - $47 = ($46<<24>>24)==(0); - $48 = ((($c)) + 4|0); - $$in = $47 ? $48 : $41; - $49 = HEAP32[$$in>>2]|0; - $50 = ($49|0)>(0); - if (!($50)) { - return; - } - $51 = ((($c)) + 32|0); - $52 = ((($c)) + 2088|0); - $53 = ((($c)) + 2088|0); - $54 = ((($c)) + 8|0); - $i$25 = 0; - L20: while(1) { - $55 = HEAP8[$0>>0]|0; - $56 = ($55<<24>>24)==(0); - if ($56) { - $$pn = $i$25; - } else { - $57 = (($values) + ($i$25<<2)|0); - $58 = HEAP32[$57>>2]|0; - $$pn = $58; - } - $$sink$in = (($lengths) + ($$pn)|0); - $$sink1 = HEAP8[$$sink$in>>0]|0; - $59 = (_include_in_sort($c,$$sink1)|0); - $60 = ($59|0)==(0); - do { - if (!($60)) { - $61 = HEAP32[$51>>2]|0; - $62 = (($61) + ($i$25<<2)|0); - $63 = HEAP32[$62>>2]|0; - $64 = (_bit_reverse($63)|0); - $65 = HEAP32[$41>>2]|0; - $66 = ($65|0)>(1); - if ($66) { - $67 = HEAP32[$39>>2]|0; - $n$04 = $65;$x$03 = 0; - while(1) { - $68 = $n$04 >> 1; - $69 = (($68) + ($x$03))|0; - $70 = (($67) + ($69<<2)|0); - $71 = HEAP32[$70>>2]|0; - $72 = ($71>>>0)>($64>>>0); - $73 = (($n$04) - ($68))|0; - $x$0$ = $72 ? $x$03 : $69; - $$ = $72 ? $68 : $73; - $74 = ($$|0)>(1); - if ($74) { - $n$04 = $$;$x$03 = $x$0$; - } else { - $x$0$lcssa = $x$0$; - break; - } - } - } else { - $x$0$lcssa = 0; - } - $75 = HEAP32[$39>>2]|0; - $76 = (($75) + ($x$0$lcssa<<2)|0); - $77 = HEAP32[$76>>2]|0; - $78 = ($77|0)==($64|0); - if (!($78)) { - label = 21; - break L20; - } - $79 = HEAP8[$0>>0]|0; - $80 = ($79<<24>>24)==(0); - if ($80) { - $87 = HEAP32[$52>>2]|0; - $88 = (($87) + ($x$0$lcssa<<2)|0); - HEAP32[$88>>2] = $i$25; - break; - } else { - $81 = (($values) + ($i$25<<2)|0); - $82 = HEAP32[$81>>2]|0; - $83 = HEAP32[$53>>2]|0; - $84 = (($83) + ($x$0$lcssa<<2)|0); - HEAP32[$84>>2] = $82; - $85 = HEAP32[$54>>2]|0; - $86 = (($85) + ($x$0$lcssa)|0); - HEAP8[$86>>0] = $$sink1; - break; - } - } - } while(0); - $89 = (($i$25) + 1)|0; - $90 = ($89|0)<($49|0); - if ($90) { - $i$25 = $89; - } else { - label = 26; - break; - } - } - if ((label|0) == 21) { - ___assert_fail((16020|0),(15523|0),786,(15997|0)); - // unreachable; - } - else if ((label|0) == 26) { - return; - } -} -function _compute_accelerated_huffman($c) { - $c = $c|0; - var $$in = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $i$12 = 0, $scevgep = 0; - var $z$0$ph = 0, $z$01 = 0, label = 0, sp = 0; - sp = STACKTOP; - $scevgep = ((($c)) + 36|0); - _memset(($scevgep|0),-1,2048)|0; - $0 = ((($c)) + 23|0); - $1 = HEAP8[$0>>0]|0; - $2 = ($1<<24>>24)==(0); - $3 = ((($c)) + 2092|0); - $4 = ((($c)) + 4|0); - $$in = $2 ? $4 : $3; - $5 = HEAP32[$$in>>2]|0; - $6 = ($5|0)>(0); - if (!($6)) { - return; - } - $7 = ((($c)) + 8|0); - $8 = ((($c)) + 32|0); - $9 = ((($c)) + 2084|0); - $10 = ($5|0)<(32767); - $11 = $10 ? $5 : 32767; - $i$12 = 0; - while(1) { - $12 = HEAP32[$7>>2]|0; - $13 = (($12) + ($i$12)|0); - $14 = HEAP8[$13>>0]|0; - $15 = ($14&255)<(11); - if ($15) { - $16 = HEAP8[$0>>0]|0; - $17 = ($16<<24>>24)==(0); - if ($17) { - $22 = HEAP32[$8>>2]|0; - $23 = (($22) + ($i$12<<2)|0); - $24 = HEAP32[$23>>2]|0; - $z$0$ph = $24; - } else { - $18 = HEAP32[$9>>2]|0; - $19 = (($18) + ($i$12<<2)|0); - $20 = HEAP32[$19>>2]|0; - $21 = (_bit_reverse($20)|0); - $z$0$ph = $21; - } - $25 = ($z$0$ph>>>0)<(1024); - if ($25) { - $26 = $i$12&65535; - $z$01 = $z$0$ph; - while(1) { - $27 = (((($c)) + 36|0) + ($z$01<<1)|0); - HEAP16[$27>>1] = $26; - $28 = HEAP32[$7>>2]|0; - $29 = (($28) + ($i$12)|0); - $30 = HEAP8[$29>>0]|0; - $31 = $30&255; - $32 = 1 << $31; - $33 = (($32) + ($z$01))|0; - $34 = ($33>>>0)<(1024); - if ($34) { - $z$01 = $33; - } else { - break; - } - } - } - } - $35 = (($i$12) + 1)|0; - $exitcond = ($35|0)==($11|0); - if ($exitcond) { - break; - } else { - $i$12 = $35; - } - } - return; -} -function _float32_unpack($x) { - $x = $x|0; - var $0 = 0, $1 = 0, $10 = 0.0, $11 = 0.0, $2 = 0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = $x & 2097151; - $1 = $x >>> 21; - $2 = $1 & 1023; - $3 = ($x|0)<(0); - $4 = (+($0>>>0)); - $5 = -$4; - $6 = $3 ? $5 : $4; - $7 = $6; - $8 = $7; - $9 = (($2) + -788)|0; - $10 = (+_ldexp($8,$9)); - $11 = $10; - return (+$11); -} -function _lookup1_values($entries,$dim) { - $entries = $entries|0; - $dim = $dim|0; - var $$ = 0, $0 = 0.0, $1 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0, $17 = 0, $18 = 0.0, $19 = 0.0, $2 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0, $24 = 0.0, $25 = 0.0; - var $26 = 0.0, $27 = 0, $28 = 0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0, $not$ = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (+($entries|0)); - $1 = $0; - $2 = (+Math_log((+$1))); - $3 = $2; - $4 = (+($dim|0)); - $5 = $3 / $4; - $6 = $5; - $7 = (+Math_exp((+$6))); - $8 = (+Math_floor((+$7))); - $9 = (~~(($8))); - $10 = (+($9|0)); - $11 = $10 + 1.0; - $12 = $11; - $13 = (+($dim|0)); - $14 = (+Math_pow((+$12),(+$13))); - $15 = (+Math_floor((+$14))); - $16 = (~~(($15))); - $not$ = ($16|0)<=($entries|0); - $17 = $not$&1; - $$ = (($17) + ($9))|0; - $18 = (+($$|0)); - $19 = $18 + 1.0; - $20 = $19; - $21 = (+Math_pow((+$20),(+$13))); - $22 = (+($entries|0)); - $23 = $21 > $22; - if (!($23)) { - ___assert_fail((15883|0),(15523|0),811,(15915|0)); - // unreachable; - } - $24 = $18; - $25 = (+Math_pow((+$24),(+$13))); - $26 = (+Math_floor((+$25))); - $27 = (~~(($26))); - $28 = ($27|0)>($entries|0); - if ($28) { - ___assert_fail((15930|0),(15523|0),812,(15915|0)); - // unreachable; - } else { - return ($$|0); - } - return (0)|0; -} -function _point_compare($p,$q) { - $p = $p|0; - $q = $q|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP16[$p>>1]|0; - $1 = HEAP16[$q>>1]|0; - $2 = ($0&65535)<($1&65535); - $3 = ($0&65535)>($1&65535); - $4 = $3&1; - $5 = $2 ? -1 : $4; - return ($5|0); -} -function _neighbors($x,$n,$plow,$phigh) { - $x = $x|0; - $n = $n|0; - $plow = $plow|0; - $phigh = $phigh|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0; - var $high$02 = 0, $high$1 = 0, $i$03 = 0, $low$01 = 0, $low$1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ($n|0)>(0); - if (!($0)) { - return; - } - $1 = (($x) + ($n<<1)|0); - $2 = (($x) + ($n<<1)|0); - $high$02 = 65536;$i$03 = 0;$low$01 = -1; - while(1) { - $3 = (($x) + ($i$03<<1)|0); - $4 = HEAP16[$3>>1]|0; - $5 = $4&65535; - $6 = ($5|0)>($low$01|0); - if ($6) { - $7 = HEAP16[$1>>1]|0; - $8 = ($4&65535)<($7&65535); - if ($8) { - HEAP32[$plow>>2] = $i$03; - $9 = HEAP16[$3>>1]|0; - $10 = $9&65535; - $low$1 = $10; - } else { - $low$1 = $low$01; - } - } else { - $low$1 = $low$01; - } - $11 = HEAP16[$3>>1]|0; - $12 = $11&65535; - $13 = ($12|0)<($high$02|0); - if ($13) { - $14 = HEAP16[$2>>1]|0; - $15 = ($11&65535)>($14&65535); - if ($15) { - HEAP32[$phigh>>2] = $i$03; - $16 = HEAP16[$3>>1]|0; - $17 = $16&65535; - $high$1 = $17; - } else { - $high$1 = $high$02; - } - } else { - $high$1 = $high$02; - } - $18 = (($i$03) + 1)|0; - $exitcond = ($18|0)==($n|0); - if ($exitcond) { - break; - } else { - $high$02 = $high$1;$i$03 = $18;$low$01 = $low$1; - } - } - return; -} -function _init_blocksize($f,$b,$n) { - $f = $f|0; - $b = $b|0; - $n = $n|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0; - var $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = $n >>> 1; - $1 = $n & -4; - $2 = $n >> 3; - $3 = $0 << 2; - $4 = (_setup_malloc($f,$3)|0); - $5 = (((($f)) + 1068|0) + ($b<<2)|0); - HEAP32[$5>>2] = $4; - $6 = (_setup_malloc($f,$3)|0); - $7 = (((($f)) + 1076|0) + ($b<<2)|0); - HEAP32[$7>>2] = $6; - $8 = (_setup_malloc($f,$1)|0); - $9 = (((($f)) + 1084|0) + ($b<<2)|0); - HEAP32[$9>>2] = $8; - $10 = HEAP32[$5>>2]|0; - $11 = ($10|0)==(0|0); - if (!($11)) { - $12 = HEAP32[$7>>2]|0; - $13 = ($12|0)==(0|0); - $14 = ($8|0)==(0|0); - $or$cond = $14 | $13; - if (!($or$cond)) { - _compute_twiddle_factors($n,$10,$12,$8); - $15 = (_setup_malloc($f,$3)|0); - $16 = (((($f)) + 1092|0) + ($b<<2)|0); - HEAP32[$16>>2] = $15; - $17 = ($15|0)==(0|0); - if ($17) { - _error($f,3); - $$0 = 0; - return ($$0|0); - } - _compute_window($n,$15); - $18 = $2 << 1; - $19 = (_setup_malloc($f,$18)|0); - $20 = (((($f)) + 1100|0) + ($b<<2)|0); - HEAP32[$20>>2] = $19; - $21 = ($19|0)==(0|0); - if ($21) { - _error($f,3); - $$0 = 0; - return ($$0|0); - } else { - _compute_bitreverse($n,$19); - $$0 = 1; - return ($$0|0); - } - } - } - _error($f,3); - $$0 = 0; - return ($$0|0); -} -function _compute_twiddle_factors($n,$A,$B,$C) { - $n = $n|0; - $A = $A|0; - $B = $B|0; - $C = $C|0; - var $0 = 0, $1 = 0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0, $17 = 0, $18 = 0.0, $19 = 0.0, $2 = 0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0, $26 = 0.0; - var $27 = 0.0, $28 = 0.0, $29 = 0, $3 = 0.0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0.0, $35 = 0.0, $36 = 0.0, $37 = 0.0, $38 = 0.0, $39 = 0, $4 = 0, $40 = 0.0, $41 = 0.0, $42 = 0.0, $43 = 0, $44 = 0; - var $45 = 0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0.0, $9 = 0.0, $exitcond = 0, $exitcond7 = 0, $k$03 = 0, $k$11 = 0, $k2$04 = 0, $k2$12 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = $n >> 2; - $1 = $n >> 3; - $2 = ($0|0)>(0); - if ($2) { - $3 = (+($n|0)); - $k$03 = 0;$k2$04 = 0; - while(1) { - $6 = $k$03 << 2; - $7 = (+($6|0)); - $8 = $7 * 3.1415926535897931; - $9 = $8 / $3; - $10 = (+Math_cos((+$9))); - $11 = $10; - $12 = (($A) + ($k2$04<<2)|0); - HEAPF32[$12>>2] = $11; - $13 = (+Math_sin((+$9))); - $14 = $13; - $15 = -$14; - $16 = $k2$04 | 1; - $17 = (($A) + ($16<<2)|0); - HEAPF32[$17>>2] = $15; - $18 = (+($16|0)); - $19 = $18 * 3.1415926535897931; - $20 = $19 / $3; - $21 = $20 * 0.5; - $22 = (+Math_cos((+$21))); - $23 = $22; - $24 = $23 * 0.5; - $25 = (($B) + ($k2$04<<2)|0); - HEAPF32[$25>>2] = $24; - $26 = (+Math_sin((+$21))); - $27 = $26; - $28 = $27 * 0.5; - $29 = (($B) + ($16<<2)|0); - HEAPF32[$29>>2] = $28; - $30 = (($k$03) + 1)|0; - $31 = (($k2$04) + 2)|0; - $exitcond7 = ($30|0)==($0|0); - if ($exitcond7) { - break; - } else { - $k$03 = $30;$k2$04 = $31; - } - } - } - $4 = ($1|0)>(0); - if (!($4)) { - return; - } - $5 = (+($n|0)); - $k$11 = 0;$k2$12 = 0; - while(1) { - $32 = $k2$12 | 1; - $33 = $32 << 1; - $34 = (+($33|0)); - $35 = $34 * 3.1415926535897931; - $36 = $35 / $5; - $37 = (+Math_cos((+$36))); - $38 = $37; - $39 = (($C) + ($k2$12<<2)|0); - HEAPF32[$39>>2] = $38; - $40 = (+Math_sin((+$36))); - $41 = $40; - $42 = -$41; - $43 = (($C) + ($32<<2)|0); - HEAPF32[$43>>2] = $42; - $44 = (($k$11) + 1)|0; - $45 = (($k2$12) + 2)|0; - $exitcond = ($44|0)==($1|0); - if ($exitcond) { - break; - } else { - $k$11 = $44;$k2$12 = $45; - } - } - return; -} -function _compute_window($n,$window) { - $n = $n|0; - $window = $window|0; - var $0 = 0, $1 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0, $16 = 0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, $exitcond = 0, $i$01 = 0, label = 0; - var sp = 0; - sp = STACKTOP; - $0 = $n >> 1; - $1 = ($0|0)>(0); - if (!($1)) { - return; - } - $2 = (+($0|0)); - $i$01 = 0; - while(1) { - $3 = (+($i$01|0)); - $4 = $3 + 0.5; - $5 = $4 / $2; - $6 = $5 * 0.5; - $7 = $6 * 3.1415926535897931; - $8 = (+Math_sin((+$7))); - $9 = $8; - $10 = (+_square($9)); - $11 = $10; - $12 = $11 * 1.5707963267948966; - $13 = (+Math_sin((+$12))); - $14 = $13; - $15 = (($window) + ($i$01<<2)|0); - HEAPF32[$15>>2] = $14; - $16 = (($i$01) + 1)|0; - $exitcond = ($16|0)==($0|0); - if ($exitcond) { - break; - } else { - $i$01 = $16; - } - } - return; -} -function _compute_bitreverse($n,$rev) { - $n = $n|0; - $rev = $rev|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $i$01 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = $n >> 3; - $1 = ($0|0)>(0); - if (!($1)) { - return; - } - $2 = (_ilog($n)|0); - $3 = (36 - ($2))|0; - $i$01 = 0; - while(1) { - $4 = (_bit_reverse($i$01)|0); - $5 = $4 >>> $3; - $6 = $5 << 2; - $7 = $6&65535; - $8 = (($rev) + ($i$01<<1)|0); - HEAP16[$8>>1] = $7; - $9 = (($i$01) + 1)|0; - $exitcond = ($9|0)==($0|0); - if ($exitcond) { - break; - } else { - $i$01 = $9; - } - } - return; -} -function _bit_reverse($n) { - $n = $n|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0; - var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = $n >>> 1; - $1 = $0 & 1431655765; - $2 = $n << 1; - $3 = $2 & -1431655766; - $4 = $1 | $3; - $5 = $4 >>> 2; - $6 = $5 & 858993459; - $7 = $4 << 2; - $8 = $7 & -858993460; - $9 = $6 | $8; - $10 = $9 >>> 4; - $11 = $10 & 252645135; - $12 = $9 << 4; - $13 = $12 & -252645136; - $14 = $11 | $13; - $15 = $14 >>> 8; - $16 = $15 & 16711935; - $17 = $14 << 8; - $18 = $17 & -16711936; - $19 = $16 | $18; - $20 = $19 >>> 16; - $21 = $19 << 16; - $22 = $20 | $21; - return ($22|0); -} -function _square($x) { - $x = +$x; - var $0 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $0 = $x * $x; - return (+$0); -} -function _include_in_sort($c,$len) { - $c = $c|0; - $len = $len|0; - var $$ = 0, $$0 = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($c)) + 23|0); - $1 = HEAP8[$0>>0]|0; - $2 = ($1<<24>>24)==(0); - $3 = ($len<<24>>24)==(-1); - if (!($2)) { - if ($3) { - ___assert_fail((16051|0),(15523|0),736,(16066|0)); - // unreachable; - } else { - $$0 = 1; - return ($$0|0); - } - } - if ($3) { - $$0 = 0; - return ($$0|0); - } - $4 = ($len&255)>(10); - $$ = $4&1; - $$0 = $$; - return ($$0|0); -} -function _uint32_compare($p,$q) { - $p = $p|0; - $q = $q|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[$p>>2]|0; - $1 = HEAP32[$q>>2]|0; - $2 = ($0>>>0)<($1>>>0); - $3 = ($0>>>0)>($1>>>0); - $4 = $3&1; - $5 = $2 ? -1 : $4; - return ($5|0); -} -function _add_entry($c,$huff_code,$symbol,$count,$len,$values) { - $c = $c|0; - $huff_code = $huff_code|0; - $symbol = $symbol|0; - $count = $count|0; - $len = $len|0; - $values = $values|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($c)) + 23|0); - $1 = HEAP8[$0>>0]|0; - $2 = ($1<<24>>24)==(0); - $3 = ((($c)) + 32|0); - $4 = HEAP32[$3>>2]|0; - if ($2) { - $5 = (($4) + ($symbol<<2)|0); - HEAP32[$5>>2] = $huff_code; - return; - } else { - $6 = (($4) + ($count<<2)|0); - HEAP32[$6>>2] = $huff_code; - $7 = $len&255; - $8 = ((($c)) + 8|0); - $9 = HEAP32[$8>>2]|0; - $10 = (($9) + ($count)|0); - HEAP8[$10>>0] = $7; - $11 = (($values) + ($count<<2)|0); - HEAP32[$11>>2] = $symbol; - return; - } -} -function _get_window($f,$len) { - $f = $f|0; - $len = $len|0; - var $$0 = 0, $$0$in = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = $len << 1; - $1 = ((($f)) + 112|0); - $2 = HEAP32[$1>>2]|0; - $3 = ($0|0)==($2|0); - if ($3) { - $4 = ((($f)) + 1092|0); - $$0$in = $4; - $$0 = HEAP32[$$0$in>>2]|0; - return ($$0|0); - } - $5 = ((($f)) + 116|0); - $6 = HEAP32[$5>>2]|0; - $7 = ($0|0)==($6|0); - if (!($7)) { - ___assert_fail((19474|0),(15523|0),2725,(16191|0)); - // unreachable; - } - $8 = ((($f)) + 1096|0); - $$0$in = $8; - $$0 = HEAP32[$$0$in>>2]|0; - return ($$0|0); -} -function _vorbis_decode_packet_rest($f,$len,$m,$left_start,$right_start,$right_end,$p_left) { - $f = $f|0; - $len = $len|0; - $m = $m|0; - $left_start = $left_start|0; - $right_start = $right_start|0; - $right_end = $right_end|0; - $p_left = $p_left|0; - var $$ = 0, $$0 = 0, $$01 = 0, $$2 = 0, $$3 = 0, $$4 = 0, $$5 = 0, $$lcssa = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0; - var $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0; - var $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0; - var $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0; - var $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0; - var $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0; - var $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0; - var $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0; - var $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0; - var $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0; - var $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0; - var $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0; - var $307 = 0.0, $308 = 0, $309 = 0, $31 = 0, $310 = 0.0, $311 = 0, $312 = 0.0, $313 = 0.0, $314 = 0.0, $315 = 0.0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0; - var $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0; - var $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0; - var $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0; - var $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $4 = 0, $40 = 0; - var $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0; - var $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0; - var $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0; - var $96 = 0, $97 = 0, $98 = 0, $99 = 0, $a2$0 = 0.0, $ch$0$lcssa = 0, $ch$023 = 0, $ch$1 = 0, $cval$0 = 0, $cval$2$ph = 0, $cval$236 = 0, $do_not_decode = 0, $exitcond = 0, $exitcond58 = 0, $i$053 = 0, $i$131 = 0, $i$228 = 0, $i$320 = 0, $i$320$in = 0, $i$414 = 0; - var $i$513 = 0, $j$043 = 0, $j$147 = 0, $j$251 = 0, $j$324 = 0, $j$416 = 0, $k$038 = 0, $m2$0 = 0.0, $offset$042 = 0, $offset$1$lcssa = 0, $offset$137 = 0, $offset$2 = 0, $really_zero_channel = 0, $right_end$ = 0, $room$0 = 0, $step2_flag = 0, $storemerge = 0, $temp$0 = 0, $temp$1 = 0, $zero_channel = 0; - var label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 2560|0; - $zero_channel = sp + 1280|0; - $really_zero_channel = sp + 256|0; - $step2_flag = sp; - $do_not_decode = sp + 2304|0; - $0 = HEAP8[$m>>0]|0; - $1 = $0&255; - $2 = (((($f)) + 104|0) + ($1<<2)|0); - $3 = HEAP32[$2>>2]|0; - $4 = ((($m)) + 1|0); - $5 = HEAP8[$4>>0]|0; - $6 = $5&255; - $7 = ((($f)) + 404|0); - $8 = HEAP32[$7>>2]|0; - $9 = (($8) + (($6*40)|0)|0); - $10 = $3 >> 1; - $11 = (0 - ($10))|0; - $12 = ((($f)) + 4|0); - $13 = HEAP32[$12>>2]|0; - $14 = ($13|0)>(0); - L1: do { - if ($14) { - $15 = (((($8) + (($6*40)|0)|0)) + 4|0); - $16 = ((($f)) + 260|0); - $17 = ((($f)) + 1396|0); - $18 = ((($step2_flag)) + 1|0); - $19 = ((($f)) + 124|0); - $20 = ((($f)) + 1396|0); - $21 = ((($f)) + 1392|0); - $22 = ((($f)) + 124|0); - $23 = ((($f)) + 1396|0); - $24 = ((($f)) + 1392|0); - $i$053 = 0; - while(1) { - $25 = HEAP32[$15>>2]|0; - $26 = (((($25) + (($i$053*3)|0)|0)) + 2|0); - $27 = HEAP8[$26>>0]|0; - $28 = $27&255; - $29 = (($zero_channel) + ($i$053<<2)|0); - HEAP32[$29>>2] = 0; - $30 = ((((($8) + (($6*40)|0)|0)) + 9|0) + ($28)|0); - $31 = HEAP8[$30>>0]|0; - $32 = $31&255; - $33 = (((($f)) + 132|0) + ($32<<1)|0); - $34 = HEAP16[$33>>1]|0; - $35 = ($34<<16>>16)==(0); - if ($35) { - break; - } - $36 = HEAP32[$16>>2]|0; - $37 = (_get_bits($f,1)|0); - $38 = ($37|0)==(0); - do { - if ($38) { - label = 50; - } else { - $39 = (((($36) + (($32*1596)|0)|0)) + 1588|0); - $40 = HEAP8[$39>>0]|0; - $41 = $40&255; - $42 = (($41) + -1)|0; - $43 = (6848 + ($42<<2)|0); - $44 = HEAP32[$43>>2]|0; - $45 = (((($f)) + 996|0) + ($i$053<<2)|0); - $46 = HEAP32[$45>>2]|0; - $47 = (_ilog($44)|0); - $48 = (($47) + -1)|0; - $49 = (_get_bits($f,$48)|0); - $50 = $49&65535; - HEAP16[$46>>1] = $50; - $51 = (_get_bits($f,$48)|0); - $52 = $51&65535; - $53 = ((($46)) + 2|0); - HEAP16[$53>>1] = $52; - $54 = (($36) + (($32*1596)|0)|0); - $55 = HEAP8[$54>>0]|0; - $56 = ($55<<24>>24)==(0); - if (!($56)) { - $j$043 = 0;$offset$042 = 2; - while(1) { - $57 = ((((($36) + (($32*1596)|0)|0)) + 1|0) + ($j$043)|0); - $58 = HEAP8[$57>>0]|0; - $59 = $58&255; - $60 = ((((($36) + (($32*1596)|0)|0)) + 33|0) + ($59)|0); - $61 = HEAP8[$60>>0]|0; - $62 = ((((($36) + (($32*1596)|0)|0)) + 49|0) + ($59)|0); - $63 = HEAP8[$62>>0]|0; - $64 = $63&255; - $65 = 1 << $64; - $66 = (($65) + -1)|0; - $67 = ($63<<24>>24)==(0); - if ($67) { - $cval$2$ph = 0; - } else { - $68 = HEAP32[$19>>2]|0; - $69 = ((((($36) + (($32*1596)|0)|0)) + 65|0) + ($59)|0); - $70 = HEAP8[$69>>0]|0; - $71 = $70&255; - $72 = (($68) + (($71*2096)|0)|0); - $73 = HEAP32[$20>>2]|0; - $74 = ($73|0)<(10); - if ($74) { - _prep_huffman($f); - } - $75 = HEAP32[$21>>2]|0; - $76 = $75 & 1023; - $77 = ((((($68) + (($71*2096)|0)|0)) + 36|0) + ($76<<1)|0); - $78 = HEAP16[$77>>1]|0; - $79 = $78 << 16 >> 16; - $80 = ($78<<16>>16)>(-1); - if ($80) { - $81 = (((($68) + (($71*2096)|0)|0)) + 8|0); - $82 = HEAP32[$81>>2]|0; - $83 = (($82) + ($79)|0); - $84 = HEAP8[$83>>0]|0; - $85 = $84&255; - $86 = $75 >>> $85; - HEAP32[$21>>2] = $86; - $87 = HEAP32[$20>>2]|0; - $88 = (($87) - ($85))|0; - $89 = ($88|0)<(0); - $$ = $89 ? 0 : $88; - HEAP32[$20>>2] = $$; - $$2 = $89 ? -1 : $79; - $cval$0 = $$2; - } else { - $90 = (_codebook_decode_scalar_raw($f,$72)|0); - $cval$0 = $90; - } - $91 = (((($68) + (($71*2096)|0)|0)) + 23|0); - $92 = HEAP8[$91>>0]|0; - $93 = ($92<<24>>24)==(0); - if ($93) { - $cval$2$ph = $cval$0; - } else { - $94 = (((($68) + (($71*2096)|0)|0)) + 2088|0); - $95 = HEAP32[$94>>2]|0; - $96 = (($95) + ($cval$0<<2)|0); - $97 = HEAP32[$96>>2]|0; - $cval$2$ph = $97; - } - } - $98 = ($61<<24>>24)==(0); - if ($98) { - $offset$1$lcssa = $offset$042; - } else { - $99 = $61&255; - $cval$236 = $cval$2$ph;$k$038 = 0;$offset$137 = $offset$042; - while(1) { - $100 = $cval$236 & $66; - $101 = (((((($36) + (($32*1596)|0)|0)) + 82|0) + ($59<<4)|0) + ($100<<1)|0); - $102 = HEAP16[$101>>1]|0; - $103 = $cval$236 >> $64; - $104 = ($102<<16>>16)>(-1); - if ($104) { - $105 = $102 << 16 >> 16; - $106 = HEAP32[$22>>2]|0; - $107 = (($106) + (($105*2096)|0)|0); - $108 = HEAP32[$23>>2]|0; - $109 = ($108|0)<(10); - if ($109) { - _prep_huffman($f); - } - $110 = HEAP32[$24>>2]|0; - $111 = $110 & 1023; - $112 = ((((($106) + (($105*2096)|0)|0)) + 36|0) + ($111<<1)|0); - $113 = HEAP16[$112>>1]|0; - $114 = $113 << 16 >> 16; - $115 = ($113<<16>>16)>(-1); - if ($115) { - $116 = (((($106) + (($105*2096)|0)|0)) + 8|0); - $117 = HEAP32[$116>>2]|0; - $118 = (($117) + ($114)|0); - $119 = HEAP8[$118>>0]|0; - $120 = $119&255; - $121 = $110 >>> $120; - HEAP32[$24>>2] = $121; - $122 = HEAP32[$23>>2]|0; - $123 = (($122) - ($120))|0; - $124 = ($123|0)<(0); - $$3 = $124 ? 0 : $123; - HEAP32[$23>>2] = $$3; - $$4 = $124 ? -1 : $114; - $temp$0 = $$4; - } else { - $125 = (_codebook_decode_scalar_raw($f,$107)|0); - $temp$0 = $125; - } - $126 = (((($106) + (($105*2096)|0)|0)) + 23|0); - $127 = HEAP8[$126>>0]|0; - $128 = ($127<<24>>24)==(0); - if ($128) { - $temp$1 = $temp$0; - } else { - $129 = (((($106) + (($105*2096)|0)|0)) + 2088|0); - $130 = HEAP32[$129>>2]|0; - $131 = (($130) + ($temp$0<<2)|0); - $132 = HEAP32[$131>>2]|0; - $temp$1 = $132; - } - $133 = $temp$1&65535; - $134 = (($46) + ($offset$137<<1)|0); - HEAP16[$134>>1] = $133; - } else { - $135 = (($46) + ($offset$137<<1)|0); - HEAP16[$135>>1] = 0; - } - $offset$2 = (($offset$137) + 1)|0; - $136 = (($k$038) + 1)|0; - $exitcond58 = ($136|0)==($99|0); - if ($exitcond58) { - break; - } else { - $cval$236 = $103;$k$038 = $136;$offset$137 = $offset$2; - } - } - $137 = (($offset$042) + ($99))|0; - $offset$1$lcssa = $137; - } - $138 = (($j$043) + 1)|0; - $139 = HEAP8[$54>>0]|0; - $140 = $139&255; - $141 = ($138|0)<($140|0); - if ($141) { - $j$043 = $138;$offset$042 = $offset$1$lcssa; - } else { - break; - } - } - } - $142 = HEAP32[$17>>2]|0; - $143 = ($142|0)==(-1); - if ($143) { - label = 50; - break; - } - HEAP8[$18>>0] = 1; - HEAP8[$step2_flag>>0] = 1; - $144 = (((($36) + (($32*1596)|0)|0)) + 1592|0); - $145 = HEAP32[$144>>2]|0; - $146 = ($145|0)>(2); - if ($146) { - $147 = (($44) + 65535)|0; - $j$147 = 2; - while(1) { - $151 = ((((($36) + (($32*1596)|0)|0)) + 1088|0) + ($j$147<<1)|0); - $152 = HEAP8[$151>>0]|0; - $153 = $152&255; - $154 = ((((((($36) + (($32*1596)|0)|0)) + 1088|0) + ($j$147<<1)|0)) + 1|0); - $155 = HEAP8[$154>>0]|0; - $156 = $155&255; - $157 = ((((($36) + (($32*1596)|0)|0)) + 338|0) + ($j$147<<1)|0); - $158 = HEAP16[$157>>1]|0; - $159 = $158&65535; - $160 = ((((($36) + (($32*1596)|0)|0)) + 338|0) + ($153<<1)|0); - $161 = HEAP16[$160>>1]|0; - $162 = $161&65535; - $163 = ((((($36) + (($32*1596)|0)|0)) + 338|0) + ($156<<1)|0); - $164 = HEAP16[$163>>1]|0; - $165 = $164&65535; - $166 = (($46) + ($153<<1)|0); - $167 = HEAP16[$166>>1]|0; - $168 = $167 << 16 >> 16; - $169 = (($46) + ($156<<1)|0); - $170 = HEAP16[$169>>1]|0; - $171 = $170 << 16 >> 16; - $172 = (_predict_point($159,$162,$165,$168,$171)|0); - $173 = (($46) + ($j$147<<1)|0); - $174 = HEAP16[$173>>1]|0; - $175 = $174 << 16 >> 16; - $176 = (($44) - ($172))|0; - $177 = ($174<<16>>16)==(0); - do { - if ($177) { - $195 = (($step2_flag) + ($j$147)|0); - HEAP8[$195>>0] = 0; - $196 = $172&65535; - HEAP16[$173>>1] = $196; - } else { - $178 = ($176|0)<($172|0); - $$5 = $178 ? $176 : $172; - $room$0 = $$5 << 1; - $179 = (($step2_flag) + ($156)|0); - HEAP8[$179>>0] = 1; - $180 = (($step2_flag) + ($153)|0); - HEAP8[$180>>0] = 1; - $181 = (($step2_flag) + ($j$147)|0); - HEAP8[$181>>0] = 1; - $182 = ($175|0)<($room$0|0); - if ($182) { - $186 = $175 & 1; - $187 = ($186|0)==(0); - if ($187) { - $192 = $175 >>> 1; - $193 = (($192) + ($172))|0; - $194 = $193&65535; - HEAP16[$173>>1] = $194; - break; - } else { - $188 = (($175) + 1)|0; - $189 = $188 >>> 1; - $190 = (($172) - ($189))|0; - $191 = $190&65535; - HEAP16[$173>>1] = $191; - break; - } - } else { - $183 = ($176|0)>($172|0); - if ($183) { - HEAP16[$173>>1] = $174; - break; - } else { - $184 = (($147) - ($175))|0; - $185 = $184&65535; - HEAP16[$173>>1] = $185; - break; - } - } - } - } while(0); - $197 = (($j$147) + 1)|0; - $198 = HEAP32[$144>>2]|0; - $199 = ($197|0)<($198|0); - if ($199) { - $j$147 = $197; - } else { - $148 = $198; - break; - } - } - } else { - $148 = $145; - } - $149 = ($148|0)>(0); - if ($149) { - $150 = HEAP32[$144>>2]|0; - $j$251 = 0; - while(1) { - $200 = (($step2_flag) + ($j$251)|0); - $201 = HEAP8[$200>>0]|0; - $202 = ($201<<24>>24)==(0); - if ($202) { - $203 = (($46) + ($j$251<<1)|0); - HEAP16[$203>>1] = -1; - } - $204 = (($j$251) + 1)|0; - $205 = ($204|0)<($150|0); - if ($205) { - $j$251 = $204; - } else { - break; - } - } - } - } - } while(0); - if ((label|0) == 50) { - label = 0; - HEAP32[$29>>2] = 1; - } - $206 = (($i$053) + 1)|0; - $207 = HEAP32[$12>>2]|0; - $208 = ($206|0)<($207|0); - if ($208) { - $i$053 = $206; - } else { - break L1; - } - } - _error($f,21); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - } while(0); - $209 = ((($f)) + 80|0); - $210 = HEAP32[$209>>2]|0; - $211 = ($210|0)==(0|0); - if (!($211)) { - $212 = ((($f)) + 84|0); - $213 = HEAP32[$212>>2]|0; - $214 = ((($f)) + 92|0); - $215 = HEAP32[$214>>2]|0; - $216 = ($213|0)==($215|0); - if (!($216)) { - ___assert_fail((15735|0),(15523|0),2953,(16202|0)); - // unreachable; - } - } - $217 = HEAP32[$12>>2]|0; - $218 = $217 << 2; - _memcpy(($really_zero_channel|0),($zero_channel|0),($218|0))|0; - $219 = HEAP16[$9>>1]|0; - $220 = ($219<<16>>16)==(0); - if (!($220)) { - $221 = (((($8) + (($6*40)|0)|0)) + 4|0); - $222 = HEAP32[$221>>2]|0; - $223 = HEAP16[$9>>1]|0; - $224 = $223&65535; - $i$131 = 0; - while(1) { - $229 = (($222) + (($i$131*3)|0)|0); - $230 = HEAP8[$229>>0]|0; - $231 = $230&255; - $232 = (($zero_channel) + ($231<<2)|0); - $233 = HEAP32[$232>>2]|0; - $234 = ($233|0)==(0); - if ($234) { - label = 61; - } else { - $235 = (((($222) + (($i$131*3)|0)|0)) + 1|0); - $236 = HEAP8[$235>>0]|0; - $237 = $236&255; - $238 = (($zero_channel) + ($237<<2)|0); - $239 = HEAP32[$238>>2]|0; - $240 = ($239|0)==(0); - if ($240) { - label = 61; - } - } - if ((label|0) == 61) { - label = 0; - $241 = HEAP32[$221>>2]|0; - $242 = (((($241) + (($i$131*3)|0)|0)) + 1|0); - $243 = HEAP8[$242>>0]|0; - $244 = $243&255; - $245 = (($zero_channel) + ($244<<2)|0); - HEAP32[$245>>2] = 0; - $246 = HEAP32[$221>>2]|0; - $247 = (($246) + (($i$131*3)|0)|0); - $248 = HEAP8[$247>>0]|0; - $249 = $248&255; - $250 = (($zero_channel) + ($249<<2)|0); - HEAP32[$250>>2] = 0; - } - $251 = (($i$131) + 1)|0; - $252 = ($251|0)<($224|0); - if ($252) { - $i$131 = $251; - } else { - break; - } - } - } - $225 = (((($8) + (($6*40)|0)|0)) + 8|0); - $226 = HEAP8[$225>>0]|0; - $227 = ($226<<24>>24)==(0); - if (!($227)) { - $228 = (((($8) + (($6*40)|0)|0)) + 4|0); - $i$228 = 0; - while(1) { - $253 = HEAP32[$12>>2]|0; - $254 = ($253|0)>(0); - if ($254) { - $255 = HEAP32[$228>>2]|0; - $256 = HEAP32[$12>>2]|0; - $ch$023 = 0;$j$324 = 0; - while(1) { - $257 = (((($255) + (($j$324*3)|0)|0)) + 2|0); - $258 = HEAP8[$257>>0]|0; - $259 = $258&255; - $260 = ($259|0)==($i$228|0); - if ($260) { - $261 = (($zero_channel) + ($j$324<<2)|0); - $262 = HEAP32[$261>>2]|0; - $263 = ($262|0)==(0); - $264 = (($do_not_decode) + ($ch$023)|0); - if ($263) { - HEAP8[$264>>0] = 0; - $266 = (((($f)) + 800|0) + ($j$324<<2)|0); - $267 = HEAP32[$266>>2]|0; - $268 = (($step2_flag) + ($ch$023<<2)|0); - HEAP32[$268>>2] = $267; - } else { - HEAP8[$264>>0] = 1; - $265 = (($step2_flag) + ($ch$023<<2)|0); - HEAP32[$265>>2] = 0; - } - $269 = (($ch$023) + 1)|0; - $ch$1 = $269; - } else { - $ch$1 = $ch$023; - } - $270 = (($j$324) + 1)|0; - $271 = ($270|0)<($256|0); - if ($271) { - $ch$023 = $ch$1;$j$324 = $270; - } else { - $ch$0$lcssa = $ch$1; - break; - } - } - } else { - $ch$0$lcssa = 0; - } - $272 = ((((($8) + (($6*40)|0)|0)) + 24|0) + ($i$228)|0); - $273 = HEAP8[$272>>0]|0; - $274 = $273&255; - _decode_residue($f,$step2_flag,$ch$0$lcssa,$10,$274,$do_not_decode); - $275 = (($i$228) + 1)|0; - $276 = HEAP8[$225>>0]|0; - $277 = $276&255; - $278 = ($275|0)<($277|0); - if ($278) { - $i$228 = $275; - } else { - break; - } - } - } - $279 = HEAP32[$209>>2]|0; - $280 = ($279|0)==(0|0); - if (!($280)) { - $281 = ((($f)) + 84|0); - $282 = HEAP32[$281>>2]|0; - $283 = ((($f)) + 92|0); - $284 = HEAP32[$283>>2]|0; - $285 = ($282|0)==($284|0); - if (!($285)) { - ___assert_fail((15735|0),(15523|0),2986,(16202|0)); - // unreachable; - } - } - $286 = HEAP16[$9>>1]|0; - $287 = ($286<<16>>16)==(0); - if (!($287)) { - $288 = $286&65535; - $289 = (((($8) + (($6*40)|0)|0)) + 4|0); - $290 = HEAP32[$289>>2]|0; - $291 = ($10|0)>(0); - $i$320$in = $288; - while(1) { - $i$320 = (($i$320$in) + -1)|0; - $296 = (($290) + (($i$320*3)|0)|0); - $297 = HEAP8[$296>>0]|0; - $298 = $297&255; - $299 = (((($f)) + 800|0) + ($298<<2)|0); - $300 = HEAP32[$299>>2]|0; - $301 = (((($290) + (($i$320*3)|0)|0)) + 1|0); - $302 = HEAP8[$301>>0]|0; - $303 = $302&255; - $304 = (((($f)) + 800|0) + ($303<<2)|0); - $305 = HEAP32[$304>>2]|0; - if ($291) { - $j$416 = 0; - while(1) { - $306 = (($300) + ($j$416<<2)|0); - $307 = +HEAPF32[$306>>2]; - $308 = $307 > 0.0; - $309 = (($305) + ($j$416<<2)|0); - $310 = +HEAPF32[$309>>2]; - $311 = $310 > 0.0; - do { - if ($308) { - if ($311) { - $312 = $307 - $310; - $a2$0 = $312;$m2$0 = $307; - break; - } else { - $313 = $307 + $310; - $a2$0 = $307;$m2$0 = $313; - break; - } - } else { - if ($311) { - $314 = $307 + $310; - $a2$0 = $314;$m2$0 = $307; - break; - } else { - $315 = $307 - $310; - $a2$0 = $307;$m2$0 = $315; - break; - } - } - } while(0); - HEAPF32[$306>>2] = $m2$0; - HEAPF32[$309>>2] = $a2$0; - $316 = (($j$416) + 1)|0; - $exitcond = ($316|0)==($10|0); - if ($exitcond) { - break; - } else { - $j$416 = $316; - } - } - } - $292 = ($i$320$in|0)>(1); - if ($292) { - $i$320$in = $i$320; - } else { - break; - } - } - } - $293 = HEAP32[$12>>2]|0; - $294 = ($293|0)>(0); - if ($294) { - $295 = $10 << 2; - $i$414 = 0; - while(1) { - $318 = (($really_zero_channel) + ($i$414<<2)|0); - $319 = HEAP32[$318>>2]|0; - $320 = ($319|0)==(0); - $321 = (((($f)) + 800|0) + ($i$414<<2)|0); - if ($320) { - $323 = HEAP32[$321>>2]|0; - $324 = (((($f)) + 996|0) + ($i$414<<2)|0); - $325 = HEAP32[$324>>2]|0; - _do_floor($f,$9,$i$414,$3,$323,$325); - } else { - $322 = HEAP32[$321>>2]|0; - _memset(($322|0),0,($295|0))|0; - } - $326 = (($i$414) + 1)|0; - $327 = HEAP32[$12>>2]|0; - $328 = ($326|0)<($327|0); - if ($328) { - $i$414 = $326; - } else { - $$lcssa = $327; - break; - } - } - $317 = ($$lcssa|0)>(0); - if ($317) { - $i$513 = 0; - while(1) { - $329 = (((($f)) + 800|0) + ($i$513<<2)|0); - $330 = HEAP32[$329>>2]|0; - $331 = HEAP8[$m>>0]|0; - $332 = $331&255; - _inverse_mdct($330,$3,$f,$332); - $333 = (($i$513) + 1)|0; - $334 = HEAP32[$12>>2]|0; - $335 = ($333|0)<($334|0); - if ($335) { - $i$513 = $333; - } else { - break; - } - } - } - } - _flush_packet($f); - $336 = ((($f)) + 1377|0); - $337 = HEAP8[$336>>0]|0; - $338 = ($337<<24>>24)==(0); - do { - if ($338) { - $343 = ((($f)) + 1412|0); - $344 = HEAP32[$343>>2]|0; - $345 = ($344|0)==(0); - if ($345) { - $$01 = $left_start; - } else { - $346 = (($right_start) - ($left_start))|0; - $347 = ($344|0)<($346|0); - if ($347) { - $349 = (($344) + ($left_start))|0; - HEAP32[$p_left>>2] = $349; - HEAP32[$343>>2] = 0; - $$01 = $349; - break; - } else { - $348 = (($344) - ($346))|0; - HEAP32[$343>>2] = $348; - HEAP32[$p_left>>2] = $right_start; - $$01 = $right_start; - break; - } - } - } else { - $339 = ((($f)) + 1060|0); - HEAP32[$339>>2] = $11; - $340 = (($3) - ($right_end))|0; - $341 = ((($f)) + 1412|0); - HEAP32[$341>>2] = $340; - $342 = ((($f)) + 1064|0); - HEAP32[$342>>2] = 1; - HEAP8[$336>>0] = 0; - $$01 = $left_start; - } - } while(0); - $350 = ((($f)) + 1388|0); - $351 = HEAP32[$350>>2]|0; - $352 = ((($f)) + 1404|0); - $353 = HEAP32[$352>>2]|0; - $354 = ($351|0)==($353|0); - if ($354) { - $355 = ((($f)) + 1064|0); - $356 = HEAP32[$355>>2]|0; - $357 = ($356|0)==(0); - if (!($357)) { - $358 = ((($f)) + 1375|0); - $359 = HEAP8[$358>>0]|0; - $360 = $359 & 4; - $361 = ($360<<24>>24)==(0); - if (!($361)) { - $362 = ((($f)) + 1408|0); - $363 = HEAP32[$362>>2]|0; - $364 = (($right_end) - ($3))|0; - $365 = (($363) + ($364))|0; - $366 = ((($f)) + 1060|0); - $367 = HEAP32[$366>>2]|0; - $368 = (($right_end) - ($$01))|0; - $369 = (($368) + ($367))|0; - $370 = ($365>>>0)<($369>>>0); - if ($370) { - $371 = ($365>>>0)<($367>>>0); - $372 = (($365) - ($367))|0; - $storemerge = $371 ? 0 : $372; - $373 = (($storemerge) + ($$01))|0; - $374 = ($373|0)>($right_end|0); - $right_end$ = $374 ? $right_end : $373; - HEAP32[$len>>2] = $right_end$; - $375 = HEAP32[$366>>2]|0; - $376 = (($375) + ($right_end$))|0; - HEAP32[$366>>2] = $376; - $$0 = 1; - STACKTOP = sp;return ($$0|0); - } - } - } - $377 = ((($f)) + 1408|0); - $378 = HEAP32[$377>>2]|0; - $379 = (($$01) - ($10))|0; - $380 = (($379) + ($378))|0; - $381 = ((($f)) + 1060|0); - HEAP32[$381>>2] = $380; - HEAP32[$355>>2] = 1; - } - $382 = ((($f)) + 1064|0); - $383 = HEAP32[$382>>2]|0; - $384 = ($383|0)==(0); - if (!($384)) { - $385 = (($right_start) - ($$01))|0; - $386 = ((($f)) + 1060|0); - $387 = HEAP32[$386>>2]|0; - $388 = (($385) + ($387))|0; - HEAP32[$386>>2] = $388; - } - $389 = HEAP32[$209>>2]|0; - $390 = ($389|0)==(0|0); - if (!($390)) { - $391 = ((($f)) + 84|0); - $392 = HEAP32[$391>>2]|0; - $393 = ((($f)) + 92|0); - $394 = HEAP32[$393>>2]|0; - $395 = ($392|0)==($394|0); - if (!($395)) { - ___assert_fail((15735|0),(15523|0),3102,(16202|0)); - // unreachable; - } - } - HEAP32[$len>>2] = $right_end; - $$0 = 1; - STACKTOP = sp;return ($$0|0); -} -function _prep_huffman($f) { - $f = $f|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; - var $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($f)) + 1396|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)<(25); - if (!($2)) { - return; - } - $3 = ($1|0)==(0); - if ($3) { - $4 = ((($f)) + 1392|0); - HEAP32[$4>>2] = 0; - } - $5 = ((($f)) + 1376|0); - $6 = ((($f)) + 1384|0); - $7 = ((($f)) + 1392|0); - while(1) { - $8 = HEAP32[$6>>2]|0; - $9 = ($8|0)==(0); - if (!($9)) { - $10 = HEAP8[$5>>0]|0; - $11 = ($10<<24>>24)==(0); - if ($11) { - label = 9; - break; - } - } - $12 = (_get8_packet_raw($f)|0); - $13 = ($12|0)==(-1); - if ($13) { - label = 9; - break; - } - $14 = HEAP32[$0>>2]|0; - $15 = $12 << $14; - $16 = HEAP32[$7>>2]|0; - $17 = (($16) + ($15))|0; - HEAP32[$7>>2] = $17; - $18 = HEAP32[$0>>2]|0; - $19 = (($18) + 8)|0; - HEAP32[$0>>2] = $19; - $20 = ($19|0)<(25); - if (!($20)) { - label = 9; - break; - } - } - if ((label|0) == 9) { - return; - } -} -function _codebook_decode_scalar_raw($f,$c) { - $f = $f|0; - $c = $c|0; - var $$ = 0, $$0 = 0, $$lcssa = 0, $$lcssa25 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0; - var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0; - var $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0; - var $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0; - var $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $9 = 0, $i$05 = 0, $i$05$lcssa = 0, $n$07 = 0, $x$0$ = 0, $x$0$lcssa = 0, $x$06 = 0, $x$1 = 0, label = 0, sp = 0; - sp = STACKTOP; - _prep_huffman($f); - $0 = ((($c)) + 32|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)==(0|0); - if ($2) { - $3 = ((($c)) + 2084|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)==(0|0); - if ($5) { - $$0 = -1; - return ($$0|0); - } - } - $6 = ((($c)) + 4|0); - $7 = HEAP32[$6>>2]|0; - $8 = ($7|0)>(8); - if ($8) { - $9 = ((($c)) + 2084|0); - $10 = HEAP32[$9>>2]|0; - $11 = ($10|0)==(0|0); - if (!($11)) { - label = 6; - } - } else { - $12 = HEAP32[$0>>2]|0; - $13 = ($12|0)==(0|0); - if ($13) { - label = 6; - } - } - if ((label|0) == 6) { - $14 = ((($f)) + 1392|0); - $15 = HEAP32[$14>>2]|0; - $16 = (_bit_reverse($15)|0); - $17 = ((($c)) + 2092|0); - $18 = HEAP32[$17>>2]|0; - $19 = ($18|0)>(1); - if ($19) { - $20 = ((($c)) + 2084|0); - $21 = HEAP32[$20>>2]|0; - $n$07 = $18;$x$06 = 0; - while(1) { - $22 = $n$07 >> 1; - $23 = (($22) + ($x$06))|0; - $24 = (($21) + ($23<<2)|0); - $25 = HEAP32[$24>>2]|0; - $26 = ($25>>>0)>($16>>>0); - $27 = (($n$07) - ($22))|0; - $x$0$ = $26 ? $x$06 : $23; - $$ = $26 ? $22 : $27; - $28 = ($$|0)>(1); - if ($28) { - $n$07 = $$;$x$06 = $x$0$; - } else { - $x$0$lcssa = $x$0$; - break; - } - } - } else { - $x$0$lcssa = 0; - } - $29 = ((($c)) + 23|0); - $30 = HEAP8[$29>>0]|0; - $31 = ($30<<24>>24)==(0); - if ($31) { - $32 = ((($c)) + 2088|0); - $33 = HEAP32[$32>>2]|0; - $34 = (($33) + ($x$0$lcssa<<2)|0); - $35 = HEAP32[$34>>2]|0; - $x$1 = $35; - } else { - $x$1 = $x$0$lcssa; - } - $36 = ((($c)) + 8|0); - $37 = HEAP32[$36>>2]|0; - $38 = (($37) + ($x$1)|0); - $39 = HEAP8[$38>>0]|0; - $40 = $39&255; - $41 = ((($f)) + 1396|0); - $42 = HEAP32[$41>>2]|0; - $43 = ($42|0)<($40|0); - if ($43) { - HEAP32[$41>>2] = 0; - $$0 = -1; - return ($$0|0); - } else { - $44 = HEAP32[$14>>2]|0; - $45 = $44 >>> $40; - HEAP32[$14>>2] = $45; - $46 = HEAP32[$41>>2]|0; - $47 = (($46) - ($40))|0; - HEAP32[$41>>2] = $47; - $$0 = $x$1; - return ($$0|0); - } - } - $48 = ((($c)) + 23|0); - $49 = HEAP8[$48>>0]|0; - $50 = ($49<<24>>24)==(0); - if (!($50)) { - ___assert_fail((16380|0),(15523|0),1248,(16391|0)); - // unreachable; - } - $51 = HEAP32[$6>>2]|0; - $52 = ($51|0)>(0); - L27: do { - if ($52) { - $53 = ((($c)) + 8|0); - $54 = HEAP32[$53>>2]|0; - $55 = ((($f)) + 1392|0); - $i$05 = 0; - while(1) { - $56 = (($54) + ($i$05)|0); - $57 = HEAP8[$56>>0]|0; - $58 = $57&255; - $59 = ($57<<24>>24)==(-1); - if (!($59)) { - $60 = HEAP32[$0>>2]|0; - $61 = (($60) + ($i$05<<2)|0); - $62 = HEAP32[$61>>2]|0; - $63 = HEAP32[$55>>2]|0; - $64 = 1 << $58; - $65 = (($64) + -1)|0; - $66 = $63 & $65; - $67 = ($62|0)==($66|0); - if ($67) { - $$lcssa = $58;$$lcssa25 = $63;$i$05$lcssa = $i$05; - break; - } - } - $78 = (($i$05) + 1)|0; - $79 = HEAP32[$6>>2]|0; - $80 = ($78|0)<($79|0); - if ($80) { - $i$05 = $78; - } else { - break L27; - } - } - $68 = ((($f)) + 1396|0); - $69 = HEAP32[$68>>2]|0; - $70 = ($69|0)<($$lcssa|0); - if ($70) { - HEAP32[$68>>2] = 0; - $$0 = -1; - return ($$0|0); - } else { - $71 = $$lcssa25 >>> $$lcssa; - HEAP32[$55>>2] = $71; - $72 = HEAP32[$53>>2]|0; - $73 = (($72) + ($i$05$lcssa)|0); - $74 = HEAP8[$73>>0]|0; - $75 = $74&255; - $76 = HEAP32[$68>>2]|0; - $77 = (($76) - ($75))|0; - HEAP32[$68>>2] = $77; - $$0 = $i$05$lcssa; - return ($$0|0); - } - } - } while(0); - _error($f,21); - $81 = ((($f)) + 1396|0); - HEAP32[$81>>2] = 0; - $$0 = -1; - return ($$0|0); -} -function _predict_point($x,$x0,$x1,$y0,$y1) { - $x = $x|0; - $x0 = $x0|0; - $x1 = $x1|0; - $y0 = $y0|0; - $y1 = $y1|0; - var $$p = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $ispos = 0, $neg = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (($y1) - ($y0))|0; - $1 = (($x1) - ($x0))|0; - $ispos = ($0|0)>(-1); - $neg = (0 - ($0))|0; - $2 = $ispos ? $0 : $neg; - $3 = (($x) - ($x0))|0; - $4 = Math_imul($2, $3)|0; - $5 = (($4|0) / ($1|0))&-1; - $6 = ($0|0)<(0); - $7 = (0 - ($5))|0; - $$p = $6 ? $7 : $5; - $8 = (($$p) + ($y0))|0; - return ($8|0); -} -function _decode_residue($f,$residue_buffers,$ch,$n,$rn,$do_not_decode) { - $f = $f|0; - $residue_buffers = $residue_buffers|0; - $ch = $ch|0; - $n = $n|0; - $rn = $rn|0; - $do_not_decode = $do_not_decode|0; - var $$ = 0, $$10 = 0, $$11 = 0, $$13 = 0, $$14 = 0, $$5 = 0, $$7 = 0, $$8 = 0, $$alloca_mul = 0, $$not = 0, $$not115 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0; - var $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0; - var $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0; - var $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0; - var $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0; - var $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0; - var $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0; - var $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0; - var $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0; - var $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0; - var $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0; - var $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0; - var $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0; - var $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0; - var $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0; - var $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0; - var $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0; - var $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0; - var $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $brmerge = 0, $c_inter = 0, $c_inter16 = 0, $c_inter6 = 0; - var $class_set$055 = 0, $class_set$147 = 0, $class_set$263 = 0, $class_set26$087 = 0, $exitcond = 0, $i$092 = 0, $i$152 = 0, $i$246 = 0, $i$360 = 0, $i$484 = 0, $j$0$lcssa = 0, $j$070 = 0, $j$175 = 0, $j$278 = 0, $or$cond = 0, $or$cond12 = 0, $or$cond1258 = 0, $or$cond15 = 0, $or$cond1581 = 0, $or$cond6 = 0; - var $or$cond650 = 0, $or$cond9 = 0, $or$cond944 = 0, $p_inter = 0, $p_inter17 = 0, $p_inter7 = 0, $pass$066 = 0, $pass$190 = 0, $pcount$056 = 0, $pcount$1$lcssa = 0, $pcount$151 = 0, $pcount$248 = 0, $pcount$3$lcssa = 0, $pcount$345 = 0, $pcount$464 = 0, $pcount$5$lcssa = 0, $pcount$559 = 0, $pcount25$086 = 0, $pcount25$1$lcssa = 0, $pcount25$182 = 0; - var $q$0 = 0, $q$1 = 0, $q19$0 = 0, $q19$1 = 0, $q9$0 = 0, $q9$1 = 0, $temp$0 = 0, $temp$1 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $c_inter = sp + 20|0; - $p_inter = sp + 16|0; - $c_inter6 = sp + 12|0; - $p_inter7 = sp + 8|0; - $c_inter16 = sp + 4|0; - $p_inter17 = sp; - $0 = ((($f)) + 396|0); - $1 = HEAP32[$0>>2]|0; - $2 = (((($f)) + 268|0) + ($rn<<1)|0); - $3 = HEAP16[$2>>1]|0; - $4 = $3&65535; - $5 = (((($1) + (($rn*24)|0)|0)) + 13|0); - $6 = HEAP8[$5>>0]|0; - $7 = $6&255; - $8 = ((($f)) + 124|0); - $9 = HEAP32[$8>>2]|0; - $10 = (($9) + (($7*2096)|0)|0); - $11 = HEAP32[$10>>2]|0; - $12 = (((($1) + (($rn*24)|0)|0)) + 4|0); - $13 = HEAP32[$12>>2]|0; - $14 = (($1) + (($rn*24)|0)|0); - $15 = HEAP32[$14>>2]|0; - $16 = (($13) - ($15))|0; - $17 = (((($1) + (($rn*24)|0)|0)) + 8|0); - $18 = HEAP32[$17>>2]|0; - $19 = (($16>>>0) / ($18>>>0))&-1; - $20 = ((($f)) + 92|0); - $21 = HEAP32[$20>>2]|0; - $22 = ((($f)) + 80|0); - $23 = HEAP32[$22>>2]|0; - $24 = ($23|0)==(0|0); - $25 = ((($f)) + 4|0); - $26 = HEAP32[$25>>2]|0; - $27 = $19 << 2; - $28 = (($27) + 4)|0; - $29 = Math_imul($26, $28)|0; - if ($24) { - $$alloca_mul = $29; - $31 = STACKTOP; STACKTOP = STACKTOP + ((((1*$$alloca_mul)|0)+15)&-16)|0;; - $33 = $31; - } else { - $30 = (_setup_temp_malloc($f,$29)|0); - $33 = $30; - } - $32 = HEAP32[$25>>2]|0; - $34 = (_make_block_array($33,$32,$27)|0); - $35 = ($ch|0)>(0); - if ($35) { - $36 = $n << 2; - $i$092 = 0; - while(1) { - $37 = (($do_not_decode) + ($i$092)|0); - $38 = HEAP8[$37>>0]|0; - $39 = ($38<<24>>24)==(0); - if ($39) { - $40 = (($residue_buffers) + ($i$092<<2)|0); - $41 = HEAP32[$40>>2]|0; - _memset(($41|0),0,($36|0))|0; - } - $42 = (($i$092) + 1)|0; - $exitcond = ($42|0)==($ch|0); - if ($exitcond) { - break; - } else { - $i$092 = $42; - } - } - } - $43 = ($3<<16>>16)==(2); - $44 = ($ch|0)!=(1); - $or$cond = $44 & $43; - if (!($or$cond)) { - $45 = ($19|0)>(0); - $46 = ($11|0)>(0); - $47 = ($ch|0)>(0); - $48 = (((($1) + (($rn*24)|0)|0)) + 20|0); - $49 = ((($f)) + 1396|0); - $50 = ((($f)) + 1392|0); - $51 = (((($1) + (($rn*24)|0)|0)) + 16|0); - $$not115 = ($ch|0)<(1); - $pass$190 = 0; - L15: while(1) { - if ($45) { - $$not = ($pass$190|0)!=(0); - $brmerge = $$not | $$not115; - $class_set26$087 = 0;$pcount25$086 = 0; - while(1) { - if (!($brmerge)) { - $j$175 = 0; - while(1) { - $289 = (($do_not_decode) + ($j$175)|0); - $290 = HEAP8[$289>>0]|0; - $291 = ($290<<24>>24)==(0); - if ($291) { - $292 = HEAP32[$8>>2]|0; - $293 = HEAP8[$5>>0]|0; - $294 = $293&255; - $295 = (($292) + (($294*2096)|0)|0); - $296 = HEAP32[$49>>2]|0; - $297 = ($296|0)<(10); - if ($297) { - _prep_huffman($f); - } - $298 = HEAP32[$50>>2]|0; - $299 = $298 & 1023; - $300 = ((((($292) + (($294*2096)|0)|0)) + 36|0) + ($299<<1)|0); - $301 = HEAP16[$300>>1]|0; - $302 = $301 << 16 >> 16; - $303 = ($301<<16>>16)>(-1); - if ($303) { - $304 = (((($292) + (($294*2096)|0)|0)) + 8|0); - $305 = HEAP32[$304>>2]|0; - $306 = (($305) + ($302)|0); - $307 = HEAP8[$306>>0]|0; - $308 = $307&255; - $309 = $298 >>> $308; - HEAP32[$50>>2] = $309; - $310 = HEAP32[$49>>2]|0; - $311 = (($310) - ($308))|0; - $312 = ($311|0)<(0); - $$13 = $312 ? 0 : $311; - HEAP32[$49>>2] = $$13; - $$14 = $312 ? -1 : $302; - $temp$0 = $$14; - } else { - $313 = (_codebook_decode_scalar_raw($f,$295)|0); - $temp$0 = $313; - } - $314 = (((($292) + (($294*2096)|0)|0)) + 23|0); - $315 = HEAP8[$314>>0]|0; - $316 = ($315<<24>>24)==(0); - if ($316) { - $temp$1 = $temp$0; - } else { - $317 = (((($292) + (($294*2096)|0)|0)) + 2088|0); - $318 = HEAP32[$317>>2]|0; - $319 = (($318) + ($temp$0<<2)|0); - $320 = HEAP32[$319>>2]|0; - $temp$1 = $320; - } - $321 = ($temp$1|0)==(-1); - if ($321) { - label = 95; - break L15; - } - $322 = HEAP32[$51>>2]|0; - $323 = (($322) + ($temp$1<<2)|0); - $324 = HEAP32[$323>>2]|0; - $325 = (($34) + ($j$175<<2)|0); - $326 = HEAP32[$325>>2]|0; - $327 = (($326) + ($class_set26$087<<2)|0); - HEAP32[$327>>2] = $324; - } - $328 = (($j$175) + 1)|0; - $329 = ($328|0)<($ch|0); - if ($329) { - $j$175 = $328; - } else { - break; - } - } - } - $288 = ($pcount25$086|0)<($19|0); - $or$cond1581 = $288 & $46; - if ($or$cond1581) { - $i$484 = 0;$pcount25$182 = $pcount25$086; - while(1) { - if ($47) { - $j$278 = 0; - while(1) { - $330 = (($do_not_decode) + ($j$278)|0); - $331 = HEAP8[$330>>0]|0; - $332 = ($331<<24>>24)==(0); - if ($332) { - $333 = (($34) + ($j$278<<2)|0); - $334 = HEAP32[$333>>2]|0; - $335 = (($334) + ($class_set26$087<<2)|0); - $336 = HEAP32[$335>>2]|0; - $337 = (($336) + ($i$484)|0); - $338 = HEAP8[$337>>0]|0; - $339 = $338&255; - $340 = HEAP32[$48>>2]|0; - $341 = ((($340) + ($339<<4)|0) + ($pass$190<<1)|0); - $342 = HEAP16[$341>>1]|0; - $343 = ($342<<16>>16)>(-1); - if ($343) { - $344 = $342 << 16 >> 16; - $345 = (($residue_buffers) + ($j$278<<2)|0); - $346 = HEAP32[$345>>2]|0; - $347 = HEAP32[$14>>2]|0; - $348 = HEAP32[$17>>2]|0; - $349 = Math_imul($348, $pcount25$182)|0; - $350 = (($349) + ($347))|0; - $351 = HEAP32[$8>>2]|0; - $352 = (($351) + (($344*2096)|0)|0); - $353 = (_residue_decode($f,$352,$346,$350,$348,$4)|0); - $354 = ($353|0)==(0); - if ($354) { - label = 95; - break L15; - } - } - } - $355 = (($j$278) + 1)|0; - $356 = ($355|0)<($ch|0); - if ($356) { - $j$278 = $355; - } else { - break; - } - } - } - $357 = (($i$484) + 1)|0; - $358 = (($pcount25$182) + 1)|0; - $359 = ($357|0)<($11|0); - $360 = ($358|0)<($19|0); - $or$cond15 = $360 & $359; - if ($or$cond15) { - $i$484 = $357;$pcount25$182 = $358; - } else { - $pcount25$1$lcssa = $358; - break; - } - } - } else { - $pcount25$1$lcssa = $pcount25$086; - } - $361 = (($class_set26$087) + 1)|0; - $362 = ($pcount25$1$lcssa|0)<($19|0); - if ($362) { - $class_set26$087 = $361;$pcount25$086 = $pcount25$1$lcssa; - } else { - break; - } - } - } - $363 = (($pass$190) + 1)|0; - $364 = ($363|0)<(8); - if ($364) { - $pass$190 = $363; - } else { - label = 95; - break; - } - } - if ((label|0) == 95) { - HEAP32[$20>>2] = $21; - STACKTOP = sp;return; - } - } - $52 = ($ch|0)>(0); - L57: do { - if ($52) { - $j$070 = 0; - while(1) { - $53 = (($do_not_decode) + ($j$070)|0); - $54 = HEAP8[$53>>0]|0; - $55 = ($54<<24>>24)==(0); - if ($55) { - $j$0$lcssa = $j$070; - break L57; - } - $56 = (($j$070) + 1)|0; - $57 = ($56|0)<($ch|0); - if ($57) { - $j$070 = $56; - } else { - $j$0$lcssa = $56; - break; - } - } - } else { - $j$0$lcssa = 0; - } - } while(0); - $58 = ($j$0$lcssa|0)==($ch|0); - if ($58) { - HEAP32[$20>>2] = $21; - STACKTOP = sp;return; - } - $59 = ($19|0)>(0); - $60 = ((($f)) + 1396|0); - $61 = ((($f)) + 1392|0); - $62 = (((($1) + (($rn*24)|0)|0)) + 16|0); - $63 = ($11|0)>(0); - $64 = (((($1) + (($rn*24)|0)|0)) + 20|0); - $65 = ($19|0)>(0); - $66 = ((($f)) + 1396|0); - $67 = ((($f)) + 1392|0); - $68 = (((($1) + (($rn*24)|0)|0)) + 16|0); - $69 = ($11|0)>(0); - $70 = (((($1) + (($rn*24)|0)|0)) + 20|0); - $71 = ($19|0)>(0); - $72 = ((($f)) + 1396|0); - $73 = ((($f)) + 1392|0); - $74 = (((($1) + (($rn*24)|0)|0)) + 16|0); - $75 = ($11|0)>(0); - $76 = (((($1) + (($rn*24)|0)|0)) + 20|0); - $pass$066 = 0; - L65: while(1) { - switch ($ch|0) { - case 2: { - if ($65) { - $78 = ($pass$066|0)==(0); - $class_set$055 = 0;$pcount$056 = 0; - while(1) { - $80 = HEAP32[$14>>2]|0; - $81 = HEAP32[$17>>2]|0; - $82 = Math_imul($81, $pcount$056)|0; - $83 = (($82) + ($80))|0; - $84 = $83 & 1; - HEAP32[$c_inter>>2] = $84; - $85 = $83 >> 1; - HEAP32[$p_inter>>2] = $85; - if ($78) { - $86 = HEAP32[$8>>2]|0; - $87 = HEAP8[$5>>0]|0; - $88 = $87&255; - $89 = (($86) + (($88*2096)|0)|0); - $90 = HEAP32[$66>>2]|0; - $91 = ($90|0)<(10); - if ($91) { - _prep_huffman($f); - } - $92 = HEAP32[$67>>2]|0; - $93 = $92 & 1023; - $94 = ((((($86) + (($88*2096)|0)|0)) + 36|0) + ($93<<1)|0); - $95 = HEAP16[$94>>1]|0; - $96 = $95 << 16 >> 16; - $97 = ($95<<16>>16)>(-1); - if ($97) { - $98 = (((($86) + (($88*2096)|0)|0)) + 8|0); - $99 = HEAP32[$98>>2]|0; - $100 = (($99) + ($96)|0); - $101 = HEAP8[$100>>0]|0; - $102 = $101&255; - $103 = $92 >>> $102; - HEAP32[$67>>2] = $103; - $104 = HEAP32[$66>>2]|0; - $105 = (($104) - ($102))|0; - $106 = ($105|0)<(0); - $$ = $106 ? 0 : $105; - HEAP32[$66>>2] = $$; - $$5 = $106 ? -1 : $96; - $q$0 = $$5; - } else { - $107 = (_codebook_decode_scalar_raw($f,$89)|0); - $q$0 = $107; - } - $108 = (((($86) + (($88*2096)|0)|0)) + 23|0); - $109 = HEAP8[$108>>0]|0; - $110 = ($109<<24>>24)==(0); - if ($110) { - $q$1 = $q$0; - } else { - $111 = (((($86) + (($88*2096)|0)|0)) + 2088|0); - $112 = HEAP32[$111>>2]|0; - $113 = (($112) + ($q$0<<2)|0); - $114 = HEAP32[$113>>2]|0; - $q$1 = $114; - } - $115 = ($q$1|0)==(-1); - if ($115) { - label = 95; - break L65; - } - $116 = HEAP32[$68>>2]|0; - $117 = (($116) + ($q$1<<2)|0); - $118 = HEAP32[$117>>2]|0; - $119 = HEAP32[$34>>2]|0; - $120 = (($119) + ($class_set$055<<2)|0); - HEAP32[$120>>2] = $118; - } - $121 = ($pcount$056|0)<($19|0); - $or$cond650 = $121 & $69; - if ($or$cond650) { - $i$152 = 0;$pcount$151 = $pcount$056; - while(1) { - $122 = HEAP32[$17>>2]|0; - $123 = HEAP32[$34>>2]|0; - $124 = (($123) + ($class_set$055<<2)|0); - $125 = HEAP32[$124>>2]|0; - $126 = (($125) + ($i$152)|0); - $127 = HEAP8[$126>>0]|0; - $128 = $127&255; - $129 = HEAP32[$70>>2]|0; - $130 = ((($129) + ($128<<4)|0) + ($pass$066<<1)|0); - $131 = HEAP16[$130>>1]|0; - $132 = ($131<<16>>16)>(-1); - if ($132) { - $133 = $131 << 16 >> 16; - $134 = HEAP32[$8>>2]|0; - $135 = (($134) + (($133*2096)|0)|0); - $136 = (_codebook_decode_deinterleave_repeat($f,$135,$residue_buffers,$ch,$c_inter,$p_inter,$n,$122)|0); - $137 = ($136|0)==(0); - if ($137) { - label = 95; - break L65; - } - } else { - $138 = HEAP32[$14>>2]|0; - $139 = Math_imul($122, $pcount$151)|0; - $140 = (($139) + ($122))|0; - $141 = (($140) + ($138))|0; - $142 = $141 & 1; - HEAP32[$c_inter>>2] = $142; - $143 = $141 >> 1; - HEAP32[$p_inter>>2] = $143; - } - $144 = (($i$152) + 1)|0; - $145 = (($pcount$151) + 1)|0; - $146 = ($144|0)<($11|0); - $147 = ($145|0)<($19|0); - $or$cond6 = $147 & $146; - if ($or$cond6) { - $i$152 = $144;$pcount$151 = $145; - } else { - $pcount$1$lcssa = $145; - break; - } - } - } else { - $pcount$1$lcssa = $pcount$056; - } - $148 = (($class_set$055) + 1)|0; - $149 = ($pcount$1$lcssa|0)<($19|0); - if ($149) { - $class_set$055 = $148;$pcount$056 = $pcount$1$lcssa; - } else { - break; - } - } - } - break; - } - case 1: { - if ($71) { - $77 = ($pass$066|0)==(0); - $class_set$147 = 0;$pcount$248 = 0; - while(1) { - $150 = HEAP32[$14>>2]|0; - $151 = HEAP32[$17>>2]|0; - $152 = Math_imul($151, $pcount$248)|0; - $153 = (($152) + ($150))|0; - HEAP32[$c_inter6>>2] = 0; - HEAP32[$p_inter7>>2] = $153; - if ($77) { - $154 = HEAP32[$8>>2]|0; - $155 = HEAP8[$5>>0]|0; - $156 = $155&255; - $157 = (($154) + (($156*2096)|0)|0); - $158 = HEAP32[$72>>2]|0; - $159 = ($158|0)<(10); - if ($159) { - _prep_huffman($f); - } - $160 = HEAP32[$73>>2]|0; - $161 = $160 & 1023; - $162 = ((((($154) + (($156*2096)|0)|0)) + 36|0) + ($161<<1)|0); - $163 = HEAP16[$162>>1]|0; - $164 = $163 << 16 >> 16; - $165 = ($163<<16>>16)>(-1); - if ($165) { - $166 = (((($154) + (($156*2096)|0)|0)) + 8|0); - $167 = HEAP32[$166>>2]|0; - $168 = (($167) + ($164)|0); - $169 = HEAP8[$168>>0]|0; - $170 = $169&255; - $171 = $160 >>> $170; - HEAP32[$73>>2] = $171; - $172 = HEAP32[$72>>2]|0; - $173 = (($172) - ($170))|0; - $174 = ($173|0)<(0); - $$7 = $174 ? 0 : $173; - HEAP32[$72>>2] = $$7; - $$8 = $174 ? -1 : $164; - $q9$0 = $$8; - } else { - $175 = (_codebook_decode_scalar_raw($f,$157)|0); - $q9$0 = $175; - } - $176 = (((($154) + (($156*2096)|0)|0)) + 23|0); - $177 = HEAP8[$176>>0]|0; - $178 = ($177<<24>>24)==(0); - if ($178) { - $q9$1 = $q9$0; - } else { - $179 = (((($154) + (($156*2096)|0)|0)) + 2088|0); - $180 = HEAP32[$179>>2]|0; - $181 = (($180) + ($q9$0<<2)|0); - $182 = HEAP32[$181>>2]|0; - $q9$1 = $182; - } - $183 = ($q9$1|0)==(-1); - if ($183) { - label = 95; - break L65; - } - $184 = HEAP32[$74>>2]|0; - $185 = (($184) + ($q9$1<<2)|0); - $186 = HEAP32[$185>>2]|0; - $187 = HEAP32[$34>>2]|0; - $188 = (($187) + ($class_set$147<<2)|0); - HEAP32[$188>>2] = $186; - } - $189 = ($pcount$248|0)<($19|0); - $or$cond944 = $189 & $75; - if ($or$cond944) { - $i$246 = 0;$pcount$345 = $pcount$248; - while(1) { - $190 = HEAP32[$17>>2]|0; - $191 = HEAP32[$34>>2]|0; - $192 = (($191) + ($class_set$147<<2)|0); - $193 = HEAP32[$192>>2]|0; - $194 = (($193) + ($i$246)|0); - $195 = HEAP8[$194>>0]|0; - $196 = $195&255; - $197 = HEAP32[$76>>2]|0; - $198 = ((($197) + ($196<<4)|0) + ($pass$066<<1)|0); - $199 = HEAP16[$198>>1]|0; - $200 = ($199<<16>>16)>(-1); - if ($200) { - $201 = $199 << 16 >> 16; - $202 = HEAP32[$8>>2]|0; - $203 = (($202) + (($201*2096)|0)|0); - $204 = (_codebook_decode_deinterleave_repeat($f,$203,$residue_buffers,$ch,$c_inter6,$p_inter7,$n,$190)|0); - $205 = ($204|0)==(0); - if ($205) { - label = 95; - break L65; - } - } else { - $206 = HEAP32[$14>>2]|0; - $207 = Math_imul($190, $pcount$345)|0; - $208 = (($207) + ($190))|0; - $209 = (($208) + ($206))|0; - HEAP32[$c_inter6>>2] = 0; - HEAP32[$p_inter7>>2] = $209; - } - $210 = (($i$246) + 1)|0; - $211 = (($pcount$345) + 1)|0; - $212 = ($210|0)<($11|0); - $213 = ($211|0)<($19|0); - $or$cond9 = $213 & $212; - if ($or$cond9) { - $i$246 = $210;$pcount$345 = $211; - } else { - $pcount$3$lcssa = $211; - break; - } - } - } else { - $pcount$3$lcssa = $pcount$248; - } - $214 = (($class_set$147) + 1)|0; - $215 = ($pcount$3$lcssa|0)<($19|0); - if ($215) { - $class_set$147 = $214;$pcount$248 = $pcount$3$lcssa; - } else { - break; - } - } - } - break; - } - default: { - if ($59) { - $79 = ($pass$066|0)==(0); - $class_set$263 = 0;$pcount$464 = 0; - while(1) { - $216 = HEAP32[$14>>2]|0; - $217 = HEAP32[$17>>2]|0; - $218 = Math_imul($217, $pcount$464)|0; - $219 = (($218) + ($216))|0; - $220 = (($219|0) % ($ch|0))&-1; - HEAP32[$c_inter16>>2] = $220; - $221 = (($219|0) / ($ch|0))&-1; - HEAP32[$p_inter17>>2] = $221; - if ($79) { - $222 = HEAP32[$8>>2]|0; - $223 = HEAP8[$5>>0]|0; - $224 = $223&255; - $225 = (($222) + (($224*2096)|0)|0); - $226 = HEAP32[$60>>2]|0; - $227 = ($226|0)<(10); - if ($227) { - _prep_huffman($f); - } - $228 = HEAP32[$61>>2]|0; - $229 = $228 & 1023; - $230 = ((((($222) + (($224*2096)|0)|0)) + 36|0) + ($229<<1)|0); - $231 = HEAP16[$230>>1]|0; - $232 = $231 << 16 >> 16; - $233 = ($231<<16>>16)>(-1); - if ($233) { - $234 = (((($222) + (($224*2096)|0)|0)) + 8|0); - $235 = HEAP32[$234>>2]|0; - $236 = (($235) + ($232)|0); - $237 = HEAP8[$236>>0]|0; - $238 = $237&255; - $239 = $228 >>> $238; - HEAP32[$61>>2] = $239; - $240 = HEAP32[$60>>2]|0; - $241 = (($240) - ($238))|0; - $242 = ($241|0)<(0); - $$10 = $242 ? 0 : $241; - HEAP32[$60>>2] = $$10; - $$11 = $242 ? -1 : $232; - $q19$0 = $$11; - } else { - $243 = (_codebook_decode_scalar_raw($f,$225)|0); - $q19$0 = $243; - } - $244 = (((($222) + (($224*2096)|0)|0)) + 23|0); - $245 = HEAP8[$244>>0]|0; - $246 = ($245<<24>>24)==(0); - if ($246) { - $q19$1 = $q19$0; - } else { - $247 = (((($222) + (($224*2096)|0)|0)) + 2088|0); - $248 = HEAP32[$247>>2]|0; - $249 = (($248) + ($q19$0<<2)|0); - $250 = HEAP32[$249>>2]|0; - $q19$1 = $250; - } - $251 = ($q19$1|0)==(-1); - if ($251) { - label = 95; - break L65; - } - $252 = HEAP32[$62>>2]|0; - $253 = (($252) + ($q19$1<<2)|0); - $254 = HEAP32[$253>>2]|0; - $255 = HEAP32[$34>>2]|0; - $256 = (($255) + ($class_set$263<<2)|0); - HEAP32[$256>>2] = $254; - } - $257 = ($pcount$464|0)<($19|0); - $or$cond1258 = $257 & $63; - if ($or$cond1258) { - $i$360 = 0;$pcount$559 = $pcount$464; - while(1) { - $258 = HEAP32[$17>>2]|0; - $259 = HEAP32[$34>>2]|0; - $260 = (($259) + ($class_set$263<<2)|0); - $261 = HEAP32[$260>>2]|0; - $262 = (($261) + ($i$360)|0); - $263 = HEAP8[$262>>0]|0; - $264 = $263&255; - $265 = HEAP32[$64>>2]|0; - $266 = ((($265) + ($264<<4)|0) + ($pass$066<<1)|0); - $267 = HEAP16[$266>>1]|0; - $268 = ($267<<16>>16)>(-1); - if ($268) { - $269 = $267 << 16 >> 16; - $270 = HEAP32[$8>>2]|0; - $271 = (($270) + (($269*2096)|0)|0); - $272 = (_codebook_decode_deinterleave_repeat($f,$271,$residue_buffers,$ch,$c_inter16,$p_inter17,$n,$258)|0); - $273 = ($272|0)==(0); - if ($273) { - label = 95; - break L65; - } - } else { - $274 = HEAP32[$14>>2]|0; - $275 = Math_imul($258, $pcount$559)|0; - $276 = (($275) + ($258))|0; - $277 = (($276) + ($274))|0; - $278 = (($277|0) % ($ch|0))&-1; - HEAP32[$c_inter16>>2] = $278; - $279 = (($277|0) / ($ch|0))&-1; - HEAP32[$p_inter17>>2] = $279; - } - $280 = (($i$360) + 1)|0; - $281 = (($pcount$559) + 1)|0; - $282 = ($280|0)<($11|0); - $283 = ($281|0)<($19|0); - $or$cond12 = $283 & $282; - if ($or$cond12) { - $i$360 = $280;$pcount$559 = $281; - } else { - $pcount$5$lcssa = $281; - break; - } - } - } else { - $pcount$5$lcssa = $pcount$464; - } - $284 = (($class_set$263) + 1)|0; - $285 = ($pcount$5$lcssa|0)<($19|0); - if ($285) { - $class_set$263 = $284;$pcount$464 = $pcount$5$lcssa; - } else { - break; - } - } - } - } - } - $286 = (($pass$066) + 1)|0; - $287 = ($286|0)<(8); - if ($287) { - $pass$066 = $286; - } else { - label = 95; - break; - } - } - if ((label|0) == 95) { - HEAP32[$20>>2] = $21; - STACKTOP = sp;return; - } -} -function _do_floor($f,$map,$i,$n,$target,$finalY) { - $f = $f|0; - $map = $map|0; - $i = $i|0; - $n = $n|0; - $target = $target|0; - $finalY = $finalY|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0.0, $43 = 0, $44 = 0.0; - var $45 = 0.0, $46 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $j$01 = 0, $lx$0$lcssa = 0, $lx$03 = 0, $lx$1 = 0, $ly$0$lcssa = 0, $ly$04 = 0, $ly$1 = 0, $q$02 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = $n >> 1; - $1 = ((($map)) + 4|0); - $2 = HEAP32[$1>>2]|0; - $3 = (((($2) + (($i*3)|0)|0)) + 2|0); - $4 = HEAP8[$3>>0]|0; - $5 = $4&255; - $6 = (((($map)) + 9|0) + ($5)|0); - $7 = HEAP8[$6>>0]|0; - $8 = $7&255; - $9 = (((($f)) + 132|0) + ($8<<1)|0); - $10 = HEAP16[$9>>1]|0; - $11 = ($10<<16>>16)==(0); - if ($11) { - _error($f,21); - return; - } - $12 = ((($f)) + 260|0); - $13 = HEAP32[$12>>2]|0; - $14 = HEAP16[$finalY>>1]|0; - $15 = $14 << 16 >> 16; - $16 = (((($13) + (($8*1596)|0)|0)) + 1588|0); - $17 = HEAP8[$16>>0]|0; - $18 = $17&255; - $19 = Math_imul($18, $15)|0; - $20 = (((($13) + (($8*1596)|0)|0)) + 1592|0); - $21 = HEAP32[$20>>2]|0; - $22 = ($21|0)>(1); - if ($22) { - $lx$03 = 0;$ly$04 = $19;$q$02 = 1; - while(1) { - $23 = ((((($13) + (($8*1596)|0)|0)) + 838|0) + ($q$02)|0); - $24 = HEAP8[$23>>0]|0; - $25 = $24&255; - $26 = (($finalY) + ($25<<1)|0); - $27 = HEAP16[$26>>1]|0; - $28 = ($27<<16>>16)>(-1); - if ($28) { - $29 = $27 << 16 >> 16; - $30 = HEAP8[$16>>0]|0; - $31 = $30&255; - $32 = Math_imul($31, $29)|0; - $33 = ((((($13) + (($8*1596)|0)|0)) + 338|0) + ($25<<1)|0); - $34 = HEAP16[$33>>1]|0; - $35 = $34&65535; - $36 = ($lx$03|0)==($35|0); - if ($36) { - $lx$1 = $35;$ly$1 = $32; - } else { - _draw_line($target,$lx$03,$ly$04,$35,$32,$0); - $lx$1 = $35;$ly$1 = $32; - } - } else { - $lx$1 = $lx$03;$ly$1 = $ly$04; - } - $37 = (($q$02) + 1)|0; - $38 = HEAP32[$20>>2]|0; - $39 = ($37|0)<($38|0); - if ($39) { - $lx$03 = $lx$1;$ly$04 = $ly$1;$q$02 = $37; - } else { - $lx$0$lcssa = $lx$1;$ly$0$lcssa = $ly$1; - break; - } - } - } else { - $lx$0$lcssa = 0;$ly$0$lcssa = $19; - } - $40 = ($lx$0$lcssa|0)<($0|0); - if (!($40)) { - return; - } - $41 = (6864 + ($ly$0$lcssa<<2)|0); - $42 = +HEAPF32[$41>>2]; - $j$01 = $lx$0$lcssa; - while(1) { - $43 = (($target) + ($j$01<<2)|0); - $44 = +HEAPF32[$43>>2]; - $45 = $42 * $44; - HEAPF32[$43>>2] = $45; - $46 = (($j$01) + 1)|0; - $exitcond = ($46|0)==($0|0); - if ($exitcond) { - break; - } else { - $j$01 = $46; - } - } - return; -} -function _inverse_mdct($buffer,$n,$f,$blocktype) { - $buffer = $buffer|0; - $n = $n|0; - $f = $f|0; - $blocktype = $blocktype|0; - var $$alloca_mul = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0.0, $101 = 0.0, $102 = 0, $103 = 0.0, $104 = 0, $105 = 0.0, $106 = 0.0, $107 = 0, $108 = 0.0, $109 = 0, $11 = 0, $110 = 0.0, $111 = 0.0, $112 = 0.0, $113 = 0, $114 = 0.0; - var $115 = 0.0, $116 = 0.0, $117 = 0, $118 = 0.0, $119 = 0.0, $12 = 0, $120 = 0, $121 = 0.0, $122 = 0.0, $123 = 0.0, $124 = 0, $125 = 0.0, $126 = 0.0, $127 = 0.0, $128 = 0.0, $129 = 0.0, $13 = 0, $130 = 0, $131 = 0, $132 = 0; - var $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0; - var $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0; - var $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0; - var $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0; - var $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0; - var $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0.0, $234 = 0, $235 = 0.0, $236 = 0.0, $237 = 0, $238 = 0.0, $239 = 0, $24 = 0, $240 = 0.0; - var $241 = 0.0, $242 = 0, $243 = 0.0, $244 = 0.0, $245 = 0.0, $246 = 0.0, $247 = 0.0, $248 = 0.0, $249 = 0.0, $25 = 0.0, $250 = 0.0, $251 = 0.0, $252 = 0.0, $253 = 0.0, $254 = 0.0, $255 = 0.0, $256 = 0.0, $257 = 0, $258 = 0.0, $259 = 0.0; - var $26 = 0.0, $260 = 0.0, $261 = 0, $262 = 0.0, $263 = 0, $264 = 0.0, $265 = 0.0, $266 = 0, $267 = 0.0, $268 = 0.0, $269 = 0, $27 = 0.0, $270 = 0.0, $271 = 0.0, $272 = 0.0, $273 = 0.0, $274 = 0.0, $275 = 0.0, $276 = 0.0, $277 = 0.0; - var $278 = 0.0, $279 = 0.0, $28 = 0, $280 = 0.0, $281 = 0.0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0.0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0.0; - var $296 = 0, $297 = 0.0, $298 = 0.0, $299 = 0, $3 = 0, $30 = 0, $300 = 0.0, $301 = 0, $302 = 0.0, $303 = 0.0, $304 = 0.0, $305 = 0.0, $306 = 0.0, $307 = 0.0, $308 = 0.0, $309 = 0.0, $31 = 0.0, $310 = 0, $311 = 0, $312 = 0; - var $313 = 0.0, $314 = 0, $315 = 0.0, $316 = 0.0, $317 = 0, $318 = 0.0, $319 = 0, $32 = 0.0, $320 = 0.0, $321 = 0.0, $322 = 0.0, $323 = 0.0, $324 = 0.0, $325 = 0.0, $326 = 0.0, $327 = 0, $328 = 0.0, $329 = 0, $33 = 0.0, $330 = 0; - var $331 = 0, $332 = 0, $333 = 0.0, $334 = 0, $335 = 0.0, $336 = 0.0, $337 = 0, $338 = 0.0, $339 = 0, $34 = 0, $340 = 0.0, $341 = 0.0, $342 = 0.0, $343 = 0.0, $344 = 0.0, $345 = 0.0, $346 = 0.0, $347 = 0, $348 = 0.0, $349 = 0; - var $35 = 0.0, $350 = 0, $351 = 0, $352 = 0.0, $353 = 0, $354 = 0.0, $355 = 0.0, $356 = 0, $357 = 0.0, $358 = 0.0, $359 = 0.0, $36 = 0.0, $360 = 0.0, $361 = 0.0, $362 = 0.0, $363 = 0.0, $364 = 0.0, $365 = 0, $366 = 0.0, $367 = 0; - var $368 = 0, $369 = 0, $37 = 0.0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $38 = 0.0, $39 = 0.0, $4 = 0, $40 = 0.0, $41 = 0.0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0; - var $49 = 0, $5 = 0, $50 = 0.0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0, $59 = 0.0, $6 = 0, $60 = 0.0, $61 = 0.0, $62 = 0.0, $63 = 0.0, $64 = 0.0, $65 = 0.0, $66 = 0.0; - var $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0.0, $78 = 0, $79 = 0.0, $8 = 0, $80 = 0.0, $81 = 0.0, $82 = 0.0, $83 = 0.0, $84 = 0.0; - var $85 = 0, $86 = 0.0, $87 = 0.0, $88 = 0.0, $89 = 0, $9 = 0, $90 = 0.0, $91 = 0.0, $92 = 0, $93 = 0.0, $94 = 0.0, $95 = 0.0, $96 = 0, $97 = 0.0, $98 = 0.0, $99 = 0.0, $A0$024 = 0, $AA$0$lcssa = 0, $AA$050 = 0, $AA$144 = 0; - var $AA1$040 = 0, $B$08 = 0, $C$010 = 0, $bitrev$016 = 0, $d$0$lcssa = 0, $d$052 = 0, $d$146 = 0, $d0$039 = 0, $d05$017 = 0, $d09$04 = 0, $d1$038 = 0, $d110$05 = 0, $d16$018 = 0, $d2$06 = 0, $d3$07 = 0, $d7$011 = 0, $e$051 = 0, $e$145 = 0, $e0$037 = 0, $e1$036 = 0; - var $e11$09 = 0, $e8$012 = 0, $exitcond = 0, $exitcond60 = 0, $i$030 = 0, $i_off$023 = 0, $l$0$lcssa = 0, $l$033 = 0, $l$127 = 0, $r$022 = 0, $scevgep = 0, $scevgep61 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = $n >> 1; - $1 = $n >> 2; - $2 = $n >> 3; - $3 = ((($f)) + 92|0); - $4 = HEAP32[$3>>2]|0; - $5 = ((($f)) + 80|0); - $6 = HEAP32[$5>>2]|0; - $7 = ($6|0)==(0|0); - $8 = $0 << 2; - if ($7) { - $$alloca_mul = $8; - $10 = STACKTOP; STACKTOP = STACKTOP + ((((1*$$alloca_mul)|0)+15)&-16)|0;; - $15 = $10; - } else { - $9 = (_setup_temp_malloc($f,$8)|0); - $15 = $9; - } - $11 = (((($f)) + 1068|0) + ($blocktype<<2)|0); - $12 = HEAP32[$11>>2]|0; - $13 = (($0) + -2)|0; - $14 = (($15) + ($13<<2)|0); - $16 = (($buffer) + ($0<<2)|0); - $17 = ($0|0)==(0); - if ($17) { - $AA$0$lcssa = $12;$d$0$lcssa = $14; - } else { - $18 = $0 << 2; - $19 = (($18) + -16)|0; - $20 = $19 >>> 4; - $21 = $20 << 1; - $22 = (($21) + 2)|0; - $23 = $20 << 3; - $24 = (($19) - ($23))|0; - $scevgep61 = (($15) + ($24)|0); - $AA$050 = $12;$d$052 = $14;$e$051 = $buffer; - while(1) { - $25 = +HEAPF32[$e$051>>2]; - $26 = +HEAPF32[$AA$050>>2]; - $27 = $25 * $26; - $28 = ((($e$051)) + 8|0); - $29 = +HEAPF32[$28>>2]; - $30 = ((($AA$050)) + 4|0); - $31 = +HEAPF32[$30>>2]; - $32 = $29 * $31; - $33 = $27 - $32; - $34 = ((($d$052)) + 4|0); - HEAPF32[$34>>2] = $33; - $35 = +HEAPF32[$e$051>>2]; - $36 = +HEAPF32[$30>>2]; - $37 = $35 * $36; - $38 = +HEAPF32[$28>>2]; - $39 = +HEAPF32[$AA$050>>2]; - $40 = $38 * $39; - $41 = $37 + $40; - HEAPF32[$d$052>>2] = $41; - $42 = ((($d$052)) + -8|0); - $43 = ((($AA$050)) + 8|0); - $44 = ((($e$051)) + 16|0); - $45 = ($44|0)==($16|0); - if ($45) { - break; - } else { - $AA$050 = $43;$d$052 = $42;$e$051 = $44; - } - } - $scevgep = (($12) + ($22<<2)|0); - $AA$0$lcssa = $scevgep;$d$0$lcssa = $scevgep61; - } - $46 = ($d$0$lcssa>>>0)<($15>>>0); - if (!($46)) { - $47 = (($0) + -3)|0; - $48 = (($buffer) + ($47<<2)|0); - $AA$144 = $AA$0$lcssa;$d$146 = $d$0$lcssa;$e$145 = $48; - while(1) { - $49 = ((($e$145)) + 8|0); - $50 = +HEAPF32[$49>>2]; - $51 = +HEAPF32[$AA$144>>2]; - $52 = $50 * $51; - $53 = +HEAPF32[$e$145>>2]; - $54 = ((($AA$144)) + 4|0); - $55 = +HEAPF32[$54>>2]; - $56 = $53 * $55; - $57 = $56 - $52; - $58 = ((($d$146)) + 4|0); - HEAPF32[$58>>2] = $57; - $59 = +HEAPF32[$49>>2]; - $60 = +HEAPF32[$54>>2]; - $61 = $59 * $60; - $62 = +HEAPF32[$e$145>>2]; - $63 = +HEAPF32[$AA$144>>2]; - $64 = $62 * $63; - $65 = -$64; - $66 = $65 - $61; - HEAPF32[$d$146>>2] = $66; - $67 = ((($d$146)) + -8|0); - $68 = ((($AA$144)) + 8|0); - $69 = ((($e$145)) + -16|0); - $70 = ($67>>>0)<($15>>>0); - if ($70) { - break; - } else { - $AA$144 = $68;$d$146 = $67;$e$145 = $69; - } - } - } - $71 = (($0) + -8)|0; - $72 = ($0|0)<(8); - if (!($72)) { - $73 = (($12) + ($71<<2)|0); - $74 = (($buffer) + ($1<<2)|0); - $75 = (($15) + ($1<<2)|0); - $AA1$040 = $73;$d0$039 = $74;$d1$038 = $buffer;$e0$037 = $75;$e1$036 = $15; - while(1) { - $76 = ((($e0$037)) + 4|0); - $77 = +HEAPF32[$76>>2]; - $78 = ((($e1$036)) + 4|0); - $79 = +HEAPF32[$78>>2]; - $80 = $77 - $79; - $81 = +HEAPF32[$e0$037>>2]; - $82 = +HEAPF32[$e1$036>>2]; - $83 = $81 - $82; - $84 = $77 + $79; - $85 = ((($d0$039)) + 4|0); - HEAPF32[$85>>2] = $84; - $86 = +HEAPF32[$e0$037>>2]; - $87 = +HEAPF32[$e1$036>>2]; - $88 = $86 + $87; - HEAPF32[$d0$039>>2] = $88; - $89 = ((($AA1$040)) + 16|0); - $90 = +HEAPF32[$89>>2]; - $91 = $80 * $90; - $92 = ((($AA1$040)) + 20|0); - $93 = +HEAPF32[$92>>2]; - $94 = $83 * $93; - $95 = $91 - $94; - $96 = ((($d1$038)) + 4|0); - HEAPF32[$96>>2] = $95; - $97 = +HEAPF32[$89>>2]; - $98 = $83 * $97; - $99 = +HEAPF32[$92>>2]; - $100 = $80 * $99; - $101 = $98 + $100; - HEAPF32[$d1$038>>2] = $101; - $102 = ((($e0$037)) + 12|0); - $103 = +HEAPF32[$102>>2]; - $104 = ((($e1$036)) + 12|0); - $105 = +HEAPF32[$104>>2]; - $106 = $103 - $105; - $107 = ((($e0$037)) + 8|0); - $108 = +HEAPF32[$107>>2]; - $109 = ((($e1$036)) + 8|0); - $110 = +HEAPF32[$109>>2]; - $111 = $108 - $110; - $112 = $103 + $105; - $113 = ((($d0$039)) + 12|0); - HEAPF32[$113>>2] = $112; - $114 = +HEAPF32[$107>>2]; - $115 = +HEAPF32[$109>>2]; - $116 = $114 + $115; - $117 = ((($d0$039)) + 8|0); - HEAPF32[$117>>2] = $116; - $118 = +HEAPF32[$AA1$040>>2]; - $119 = $106 * $118; - $120 = ((($AA1$040)) + 4|0); - $121 = +HEAPF32[$120>>2]; - $122 = $111 * $121; - $123 = $119 - $122; - $124 = ((($d1$038)) + 12|0); - HEAPF32[$124>>2] = $123; - $125 = +HEAPF32[$AA1$040>>2]; - $126 = $111 * $125; - $127 = +HEAPF32[$120>>2]; - $128 = $106 * $127; - $129 = $126 + $128; - $130 = ((($d1$038)) + 8|0); - HEAPF32[$130>>2] = $129; - $131 = ((($AA1$040)) + -32|0); - $132 = ((($d0$039)) + 16|0); - $133 = ((($d1$038)) + 16|0); - $134 = ((($e0$037)) + 16|0); - $135 = ((($e1$036)) + 16|0); - $136 = ($131>>>0)<($12>>>0); - if ($136) { - break; - } else { - $AA1$040 = $131;$d0$039 = $132;$d1$038 = $133;$e0$037 = $134;$e1$036 = $135; - } - } - } - $137 = (_ilog($n)|0); - $138 = $n >> 4; - $139 = (($0) + -1)|0; - $140 = (0 - ($2))|0; - _imdct_step3_iter0_loop($138,$buffer,$139,$140,$12); - $141 = (($139) - ($1))|0; - _imdct_step3_iter0_loop($138,$buffer,$141,$140,$12); - $142 = $n >> 5; - $143 = (0 - ($138))|0; - _imdct_step3_inner_r_loop($142,$buffer,$139,$143,$12,16); - $144 = (($139) - ($2))|0; - _imdct_step3_inner_r_loop($142,$buffer,$144,$143,$12,16); - $145 = $2 << 1; - $146 = (($139) - ($145))|0; - _imdct_step3_inner_r_loop($142,$buffer,$146,$143,$12,16); - $147 = Math_imul($2, -3)|0; - $148 = (($139) + ($147))|0; - _imdct_step3_inner_r_loop($142,$buffer,$148,$143,$12,16); - $149 = (($137) + -4)|0; - $150 = $149 >> 1; - $151 = ($150|0)>(2); - if ($151) { - $l$033 = 2; - while(1) { - $156 = (($l$033) + 2)|0; - $157 = $n >> $156; - $152 = (($l$033) + 1)|0; - $158 = 1 << $152; - $159 = ($152|0)==(31); - if (!($159)) { - $160 = $157 >> 1; - $161 = (($l$033) + 4)|0; - $162 = $n >> $161; - $163 = (0 - ($160))|0; - $164 = (($l$033) + 3)|0; - $165 = 1 << $164; - $i$030 = 0; - while(1) { - $166 = Math_imul($i$030, $157)|0; - $167 = (($139) - ($166))|0; - _imdct_step3_inner_r_loop($162,$buffer,$167,$163,$12,$165); - $168 = (($i$030) + 1)|0; - $169 = ($168|0)<($158|0); - if ($169) { - $i$030 = $168; - } else { - break; - } - } - } - $exitcond60 = ($152|0)==($150|0); - if ($exitcond60) { - $l$0$lcssa = $150; - break; - } else { - $l$033 = $152; - } - } - } else { - $l$0$lcssa = 2; - } - $153 = (($137) + -7)|0; - $154 = ($l$0$lcssa|0)<($153|0); - if ($154) { - $155 = (($137) + -7)|0; - $l$127 = $l$0$lcssa; - while(1) { - $171 = (($l$127) + 2)|0; - $172 = $n >> $171; - $173 = (($l$127) + 3)|0; - $174 = 1 << $173; - $175 = (($l$127) + 6)|0; - $176 = $n >> $175; - $170 = (($l$127) + 1)|0; - $177 = 1 << $170; - $178 = ($176|0)>(0); - if ($178) { - $179 = $172 >> 1; - $180 = (0 - ($179))|0; - $181 = $174 << 2; - $A0$024 = $12;$i_off$023 = $139;$r$022 = $176; - while(1) { - _imdct_step3_inner_s_loop($177,$buffer,$i_off$023,$180,$A0$024,$174,$172); - $182 = (($A0$024) + ($181<<2)|0); - $183 = (($i_off$023) + -8)|0; - $184 = (($r$022) + -1)|0; - $185 = ($r$022|0)>(1); - if ($185) { - $A0$024 = $182;$i_off$023 = $183;$r$022 = $184; - } else { - break; - } - } - } - $exitcond = ($170|0)==($155|0); - if ($exitcond) { - break; - } else { - $l$127 = $170; - } - } - } - _imdct_step3_inner_s_loop_ld654($142,$buffer,$139,$12,$n); - $186 = (($1) + -4)|0; - $187 = (($15) + ($186<<2)|0); - $188 = (($0) + -4)|0; - $189 = (($15) + ($188<<2)|0); - $190 = ($187>>>0)<($15>>>0); - if (!($190)) { - $191 = (((($f)) + 1100|0) + ($blocktype<<2)|0); - $192 = HEAP32[$191>>2]|0; - $bitrev$016 = $192;$d05$017 = $187;$d16$018 = $189; - while(1) { - $193 = HEAP16[$bitrev$016>>1]|0; - $194 = $193&65535; - $195 = (($buffer) + ($194<<2)|0); - $196 = HEAP32[$195>>2]|0; - $197 = ((($d16$018)) + 12|0); - HEAP32[$197>>2] = $196; - $198 = (($194) + 1)|0; - $199 = (($buffer) + ($198<<2)|0); - $200 = HEAP32[$199>>2]|0; - $201 = ((($d16$018)) + 8|0); - HEAP32[$201>>2] = $200; - $202 = (($194) + 2)|0; - $203 = (($buffer) + ($202<<2)|0); - $204 = HEAP32[$203>>2]|0; - $205 = ((($d05$017)) + 12|0); - HEAP32[$205>>2] = $204; - $206 = (($194) + 3)|0; - $207 = (($buffer) + ($206<<2)|0); - $208 = HEAP32[$207>>2]|0; - $209 = ((($d05$017)) + 8|0); - HEAP32[$209>>2] = $208; - $210 = ((($bitrev$016)) + 2|0); - $211 = HEAP16[$210>>1]|0; - $212 = $211&65535; - $213 = (($buffer) + ($212<<2)|0); - $214 = HEAP32[$213>>2]|0; - $215 = ((($d16$018)) + 4|0); - HEAP32[$215>>2] = $214; - $216 = (($212) + 1)|0; - $217 = (($buffer) + ($216<<2)|0); - $218 = HEAP32[$217>>2]|0; - HEAP32[$d16$018>>2] = $218; - $219 = (($212) + 2)|0; - $220 = (($buffer) + ($219<<2)|0); - $221 = HEAP32[$220>>2]|0; - $222 = ((($d05$017)) + 4|0); - HEAP32[$222>>2] = $221; - $223 = (($212) + 3)|0; - $224 = (($buffer) + ($223<<2)|0); - $225 = HEAP32[$224>>2]|0; - HEAP32[$d05$017>>2] = $225; - $226 = ((($d05$017)) + -16|0); - $227 = ((($d16$018)) + -16|0); - $228 = ((($bitrev$016)) + 4|0); - $229 = ($226>>>0)<($15>>>0); - if ($229) { - break; - } else { - $bitrev$016 = $228;$d05$017 = $226;$d16$018 = $227; - } - } - } - $230 = ($15>>>0)<($189>>>0); - if ($230) { - $231 = (((($f)) + 1084|0) + ($blocktype<<2)|0); - $232 = HEAP32[$231>>2]|0; - $C$010 = $232;$d7$011 = $15;$e8$012 = $189; - while(1) { - $233 = +HEAPF32[$d7$011>>2]; - $234 = ((($e8$012)) + 8|0); - $235 = +HEAPF32[$234>>2]; - $236 = $233 - $235; - $237 = ((($d7$011)) + 4|0); - $238 = +HEAPF32[$237>>2]; - $239 = ((($e8$012)) + 12|0); - $240 = +HEAPF32[$239>>2]; - $241 = $238 + $240; - $242 = ((($C$010)) + 4|0); - $243 = +HEAPF32[$242>>2]; - $244 = $236 * $243; - $245 = +HEAPF32[$C$010>>2]; - $246 = $241 * $245; - $247 = $244 + $246; - $248 = $243 * $241; - $249 = $236 * $245; - $250 = $248 - $249; - $251 = $233 + $235; - $252 = $238 - $240; - $253 = $251 + $247; - HEAPF32[$d7$011>>2] = $253; - $254 = $252 + $250; - HEAPF32[$237>>2] = $254; - $255 = $251 - $247; - HEAPF32[$234>>2] = $255; - $256 = $250 - $252; - HEAPF32[$239>>2] = $256; - $257 = ((($d7$011)) + 8|0); - $258 = +HEAPF32[$257>>2]; - $259 = +HEAPF32[$e8$012>>2]; - $260 = $258 - $259; - $261 = ((($d7$011)) + 12|0); - $262 = +HEAPF32[$261>>2]; - $263 = ((($e8$012)) + 4|0); - $264 = +HEAPF32[$263>>2]; - $265 = $262 + $264; - $266 = ((($C$010)) + 12|0); - $267 = +HEAPF32[$266>>2]; - $268 = $260 * $267; - $269 = ((($C$010)) + 8|0); - $270 = +HEAPF32[$269>>2]; - $271 = $265 * $270; - $272 = $268 + $271; - $273 = $267 * $265; - $274 = $260 * $270; - $275 = $273 - $274; - $276 = $258 + $259; - $277 = $262 - $264; - $278 = $276 + $272; - HEAPF32[$257>>2] = $278; - $279 = $277 + $275; - HEAPF32[$261>>2] = $279; - $280 = $276 - $272; - HEAPF32[$e8$012>>2] = $280; - $281 = $275 - $277; - HEAPF32[$263>>2] = $281; - $282 = ((($C$010)) + 16|0); - $283 = ((($d7$011)) + 16|0); - $284 = ((($e8$012)) + -16|0); - $285 = ($283>>>0)<($284>>>0); - if ($285) { - $C$010 = $282;$d7$011 = $283;$e8$012 = $284; - } else { - break; - } - } - } - $286 = (($15) + ($71<<2)|0); - $287 = ($286>>>0)<($15>>>0); - if ($287) { - HEAP32[$3>>2] = $4; - STACKTOP = sp;return; - } - $288 = (($n) + -4)|0; - $289 = (($buffer) + ($288<<2)|0); - $290 = (($buffer) + ($188<<2)|0); - $291 = (((($f)) + 1076|0) + ($blocktype<<2)|0); - $292 = HEAP32[$291>>2]|0; - $293 = (($292) + ($71<<2)|0); - $B$08 = $293;$d09$04 = $buffer;$d110$05 = $290;$d2$06 = $16;$d3$07 = $289;$e11$09 = $286; - while(1) { - $294 = ((($e11$09)) + 24|0); - $295 = +HEAPF32[$294>>2]; - $296 = ((($B$08)) + 28|0); - $297 = +HEAPF32[$296>>2]; - $298 = $295 * $297; - $299 = ((($e11$09)) + 28|0); - $300 = +HEAPF32[$299>>2]; - $301 = ((($B$08)) + 24|0); - $302 = +HEAPF32[$301>>2]; - $303 = $300 * $302; - $304 = $298 - $303; - $305 = $295 * $302; - $306 = -$305; - $307 = $297 * $300; - $308 = $306 - $307; - HEAPF32[$d09$04>>2] = $304; - $309 = -$304; - $310 = ((($d110$05)) + 12|0); - HEAPF32[$310>>2] = $309; - HEAPF32[$d2$06>>2] = $308; - $311 = ((($d3$07)) + 12|0); - HEAPF32[$311>>2] = $308; - $312 = ((($e11$09)) + 16|0); - $313 = +HEAPF32[$312>>2]; - $314 = ((($B$08)) + 20|0); - $315 = +HEAPF32[$314>>2]; - $316 = $313 * $315; - $317 = ((($e11$09)) + 20|0); - $318 = +HEAPF32[$317>>2]; - $319 = ((($B$08)) + 16|0); - $320 = +HEAPF32[$319>>2]; - $321 = $318 * $320; - $322 = $316 - $321; - $323 = $313 * $320; - $324 = -$323; - $325 = $315 * $318; - $326 = $324 - $325; - $327 = ((($d09$04)) + 4|0); - HEAPF32[$327>>2] = $322; - $328 = -$322; - $329 = ((($d110$05)) + 8|0); - HEAPF32[$329>>2] = $328; - $330 = ((($d2$06)) + 4|0); - HEAPF32[$330>>2] = $326; - $331 = ((($d3$07)) + 8|0); - HEAPF32[$331>>2] = $326; - $332 = ((($e11$09)) + 8|0); - $333 = +HEAPF32[$332>>2]; - $334 = ((($B$08)) + 12|0); - $335 = +HEAPF32[$334>>2]; - $336 = $333 * $335; - $337 = ((($e11$09)) + 12|0); - $338 = +HEAPF32[$337>>2]; - $339 = ((($B$08)) + 8|0); - $340 = +HEAPF32[$339>>2]; - $341 = $338 * $340; - $342 = $336 - $341; - $343 = $333 * $340; - $344 = -$343; - $345 = $335 * $338; - $346 = $344 - $345; - $347 = ((($d09$04)) + 8|0); - HEAPF32[$347>>2] = $342; - $348 = -$342; - $349 = ((($d110$05)) + 4|0); - HEAPF32[$349>>2] = $348; - $350 = ((($d2$06)) + 8|0); - HEAPF32[$350>>2] = $346; - $351 = ((($d3$07)) + 4|0); - HEAPF32[$351>>2] = $346; - $352 = +HEAPF32[$e11$09>>2]; - $353 = ((($B$08)) + 4|0); - $354 = +HEAPF32[$353>>2]; - $355 = $352 * $354; - $356 = ((($e11$09)) + 4|0); - $357 = +HEAPF32[$356>>2]; - $358 = +HEAPF32[$B$08>>2]; - $359 = $357 * $358; - $360 = $355 - $359; - $361 = $352 * $358; - $362 = -$361; - $363 = $354 * $357; - $364 = $362 - $363; - $365 = ((($d09$04)) + 12|0); - HEAPF32[$365>>2] = $360; - $366 = -$360; - HEAPF32[$d110$05>>2] = $366; - $367 = ((($d2$06)) + 12|0); - HEAPF32[$367>>2] = $364; - HEAPF32[$d3$07>>2] = $364; - $368 = ((($B$08)) + -32|0); - $369 = ((($e11$09)) + -32|0); - $370 = ((($d09$04)) + 16|0); - $371 = ((($d2$06)) + 16|0); - $372 = ((($d110$05)) + -16|0); - $373 = ((($d3$07)) + -16|0); - $374 = ($369>>>0)<($15>>>0); - if ($374) { - break; - } else { - $B$08 = $368;$d09$04 = $370;$d110$05 = $372;$d2$06 = $371;$d3$07 = $373;$e11$09 = $369; - } - } - HEAP32[$3>>2] = $4; - STACKTOP = sp;return; -} -function _imdct_step3_iter0_loop($n,$e,$i_off,$k_off,$A) { - $n = $n|0; - $e = $e|0; - $i_off = $i_off|0; - $k_off = $k_off|0; - $A = $A|0; - var $$04 = 0, $$sum = 0, $0 = 0, $1 = 0, $10 = 0.0, $100 = 0.0, $101 = 0.0, $102 = 0.0, $103 = 0.0, $104 = 0.0, $105 = 0.0, $106 = 0.0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $12 = 0.0, $13 = 0.0; - var $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $2 = 0, $20 = 0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0.0, $28 = 0.0, $29 = 0, $3 = 0, $30 = 0, $31 = 0.0; - var $32 = 0, $33 = 0.0, $34 = 0.0, $35 = 0, $36 = 0.0, $37 = 0, $38 = 0.0, $39 = 0.0, $4 = 0, $40 = 0.0, $41 = 0.0, $42 = 0.0, $43 = 0.0, $44 = 0.0, $45 = 0.0, $46 = 0, $47 = 0.0, $48 = 0.0, $49 = 0.0, $5 = 0; - var $50 = 0.0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0.0, $55 = 0, $56 = 0, $57 = 0.0, $58 = 0, $59 = 0.0, $6 = 0.0, $60 = 0.0, $61 = 0, $62 = 0.0, $63 = 0, $64 = 0.0, $65 = 0.0, $66 = 0.0, $67 = 0.0, $68 = 0.0; - var $69 = 0.0, $7 = 0.0, $70 = 0.0, $71 = 0.0, $72 = 0, $73 = 0.0, $74 = 0.0, $75 = 0.0, $76 = 0.0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0.0, $80 = 0.0, $81 = 0, $82 = 0, $83 = 0.0, $84 = 0, $85 = 0.0, $86 = 0.0; - var $87 = 0, $88 = 0.0, $89 = 0, $9 = 0, $90 = 0.0, $91 = 0.0, $92 = 0.0, $93 = 0.0, $94 = 0.0, $95 = 0.0, $96 = 0.0, $97 = 0.0, $98 = 0, $99 = 0.0, $ee0$03 = 0, $ee2$01 = 0, $i$02 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = $n & 3; - $1 = ($0|0)==(0); - if (!($1)) { - ___assert_fail((16228|0),(15523|0),2075,(16241|0)); - // unreachable; - } - $2 = $n >> 2; - $3 = ($2|0)>(0); - if (!($3)) { - return; - } - $$sum = (($k_off) + ($i_off))|0; - $4 = (($e) + ($$sum<<2)|0); - $5 = (($e) + ($i_off<<2)|0); - $$04 = $A;$ee0$03 = $5;$ee2$01 = $4;$i$02 = $2; - while(1) { - $6 = +HEAPF32[$ee0$03>>2]; - $7 = +HEAPF32[$ee2$01>>2]; - $8 = $6 - $7; - $9 = ((($ee0$03)) + -4|0); - $10 = +HEAPF32[$9>>2]; - $11 = ((($ee2$01)) + -4|0); - $12 = +HEAPF32[$11>>2]; - $13 = $10 - $12; - $14 = $6 + $7; - HEAPF32[$ee0$03>>2] = $14; - $15 = +HEAPF32[$11>>2]; - $16 = +HEAPF32[$9>>2]; - $17 = $15 + $16; - HEAPF32[$9>>2] = $17; - $18 = +HEAPF32[$$04>>2]; - $19 = $8 * $18; - $20 = ((($$04)) + 4|0); - $21 = +HEAPF32[$20>>2]; - $22 = $13 * $21; - $23 = $19 - $22; - HEAPF32[$ee2$01>>2] = $23; - $24 = +HEAPF32[$$04>>2]; - $25 = $13 * $24; - $26 = +HEAPF32[$20>>2]; - $27 = $8 * $26; - $28 = $25 + $27; - HEAPF32[$11>>2] = $28; - $29 = ((($$04)) + 32|0); - $30 = ((($ee0$03)) + -8|0); - $31 = +HEAPF32[$30>>2]; - $32 = ((($ee2$01)) + -8|0); - $33 = +HEAPF32[$32>>2]; - $34 = $31 - $33; - $35 = ((($ee0$03)) + -12|0); - $36 = +HEAPF32[$35>>2]; - $37 = ((($ee2$01)) + -12|0); - $38 = +HEAPF32[$37>>2]; - $39 = $36 - $38; - $40 = $31 + $33; - HEAPF32[$30>>2] = $40; - $41 = +HEAPF32[$37>>2]; - $42 = +HEAPF32[$35>>2]; - $43 = $41 + $42; - HEAPF32[$35>>2] = $43; - $44 = +HEAPF32[$29>>2]; - $45 = $34 * $44; - $46 = ((($$04)) + 36|0); - $47 = +HEAPF32[$46>>2]; - $48 = $39 * $47; - $49 = $45 - $48; - HEAPF32[$32>>2] = $49; - $50 = +HEAPF32[$29>>2]; - $51 = $39 * $50; - $52 = +HEAPF32[$46>>2]; - $53 = $34 * $52; - $54 = $51 + $53; - HEAPF32[$37>>2] = $54; - $55 = ((($$04)) + 64|0); - $56 = ((($ee0$03)) + -16|0); - $57 = +HEAPF32[$56>>2]; - $58 = ((($ee2$01)) + -16|0); - $59 = +HEAPF32[$58>>2]; - $60 = $57 - $59; - $61 = ((($ee0$03)) + -20|0); - $62 = +HEAPF32[$61>>2]; - $63 = ((($ee2$01)) + -20|0); - $64 = +HEAPF32[$63>>2]; - $65 = $62 - $64; - $66 = $57 + $59; - HEAPF32[$56>>2] = $66; - $67 = +HEAPF32[$63>>2]; - $68 = +HEAPF32[$61>>2]; - $69 = $67 + $68; - HEAPF32[$61>>2] = $69; - $70 = +HEAPF32[$55>>2]; - $71 = $60 * $70; - $72 = ((($$04)) + 68|0); - $73 = +HEAPF32[$72>>2]; - $74 = $65 * $73; - $75 = $71 - $74; - HEAPF32[$58>>2] = $75; - $76 = +HEAPF32[$55>>2]; - $77 = $65 * $76; - $78 = +HEAPF32[$72>>2]; - $79 = $60 * $78; - $80 = $77 + $79; - HEAPF32[$63>>2] = $80; - $81 = ((($$04)) + 96|0); - $82 = ((($ee0$03)) + -24|0); - $83 = +HEAPF32[$82>>2]; - $84 = ((($ee2$01)) + -24|0); - $85 = +HEAPF32[$84>>2]; - $86 = $83 - $85; - $87 = ((($ee0$03)) + -28|0); - $88 = +HEAPF32[$87>>2]; - $89 = ((($ee2$01)) + -28|0); - $90 = +HEAPF32[$89>>2]; - $91 = $88 - $90; - $92 = $83 + $85; - HEAPF32[$82>>2] = $92; - $93 = +HEAPF32[$89>>2]; - $94 = +HEAPF32[$87>>2]; - $95 = $93 + $94; - HEAPF32[$87>>2] = $95; - $96 = +HEAPF32[$81>>2]; - $97 = $86 * $96; - $98 = ((($$04)) + 100|0); - $99 = +HEAPF32[$98>>2]; - $100 = $91 * $99; - $101 = $97 - $100; - HEAPF32[$84>>2] = $101; - $102 = +HEAPF32[$81>>2]; - $103 = $91 * $102; - $104 = +HEAPF32[$98>>2]; - $105 = $86 * $104; - $106 = $103 + $105; - HEAPF32[$89>>2] = $106; - $107 = ((($$04)) + 128|0); - $108 = ((($ee0$03)) + -32|0); - $109 = ((($ee2$01)) + -32|0); - $110 = (($i$02) + -1)|0; - $111 = ($i$02|0)>(1); - if ($111) { - $$04 = $107;$ee0$03 = $108;$ee2$01 = $109;$i$02 = $110; - } else { - break; - } - } - return; -} -function _imdct_step3_inner_r_loop($lim,$e,$d0,$k_off,$A,$k1) { - $lim = $lim|0; - $e = $e|0; - $d0 = $d0|0; - $k_off = $k_off|0; - $A = $A|0; - $k1 = $k1|0; - var $$09 = 0, $$sum = 0, $$sum1 = 0, $$sum2 = 0, $$sum34 = 0, $$sum5 = 0, $$sum6 = 0, $$sum7 = 0, $0 = 0, $1 = 0, $10 = 0.0, $100 = 0.0, $101 = 0.0, $102 = 0.0, $103 = 0.0, $104 = 0.0, $105 = 0, $106 = 0, $107 = 0, $108 = 0; - var $109 = 0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0, $19 = 0.0, $2 = 0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0, $28 = 0; - var $29 = 0.0, $3 = 0, $30 = 0, $31 = 0.0, $32 = 0.0, $33 = 0, $34 = 0.0, $35 = 0, $36 = 0.0, $37 = 0.0, $38 = 0.0, $39 = 0.0, $4 = 0.0, $40 = 0.0, $41 = 0.0, $42 = 0.0, $43 = 0.0, $44 = 0, $45 = 0.0, $46 = 0.0; - var $47 = 0.0, $48 = 0.0, $49 = 0.0, $5 = 0.0, $50 = 0.0, $51 = 0.0, $52 = 0.0, $53 = 0, $54 = 0, $55 = 0.0, $56 = 0, $57 = 0.0, $58 = 0.0, $59 = 0, $6 = 0.0, $60 = 0.0, $61 = 0, $62 = 0.0, $63 = 0.0, $64 = 0.0; - var $65 = 0.0, $66 = 0.0, $67 = 0.0, $68 = 0.0, $69 = 0.0, $7 = 0, $70 = 0, $71 = 0.0, $72 = 0.0, $73 = 0.0, $74 = 0.0, $75 = 0.0, $76 = 0.0, $77 = 0.0, $78 = 0.0, $79 = 0, $8 = 0.0, $80 = 0, $81 = 0.0, $82 = 0; - var $83 = 0.0, $84 = 0.0, $85 = 0, $86 = 0.0, $87 = 0, $88 = 0.0, $89 = 0.0, $9 = 0, $90 = 0.0, $91 = 0.0, $92 = 0.0, $93 = 0.0, $94 = 0.0, $95 = 0.0, $96 = 0, $97 = 0.0, $98 = 0.0, $99 = 0.0, $e0$010 = 0, $e2$011 = 0; - var $i$08 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = $lim >> 2; - $1 = ($0|0)>(0); - if (!($1)) { - return; - } - $$sum = (($k_off) + ($d0))|0; - $2 = (($e) + ($$sum<<2)|0); - $3 = (($e) + ($d0<<2)|0); - $$sum1 = (($k1) + 1)|0; - $$sum2 = $k1 << 1; - $$sum34 = $$sum2 | 1; - $$sum5 = ($k1*3)|0; - $$sum6 = (($$sum5) + 1)|0; - $$sum7 = $k1 << 2; - $$09 = $A;$e0$010 = $3;$e2$011 = $2;$i$08 = $0; - while(1) { - $4 = +HEAPF32[$e0$010>>2]; - $5 = +HEAPF32[$e2$011>>2]; - $6 = $4 - $5; - $7 = ((($e0$010)) + -4|0); - $8 = +HEAPF32[$7>>2]; - $9 = ((($e2$011)) + -4|0); - $10 = +HEAPF32[$9>>2]; - $11 = $8 - $10; - $12 = $4 + $5; - HEAPF32[$e0$010>>2] = $12; - $13 = +HEAPF32[$9>>2]; - $14 = +HEAPF32[$7>>2]; - $15 = $13 + $14; - HEAPF32[$7>>2] = $15; - $16 = +HEAPF32[$$09>>2]; - $17 = $6 * $16; - $18 = ((($$09)) + 4|0); - $19 = +HEAPF32[$18>>2]; - $20 = $11 * $19; - $21 = $17 - $20; - HEAPF32[$e2$011>>2] = $21; - $22 = +HEAPF32[$$09>>2]; - $23 = $11 * $22; - $24 = +HEAPF32[$18>>2]; - $25 = $6 * $24; - $26 = $23 + $25; - HEAPF32[$9>>2] = $26; - $27 = (($$09) + ($k1<<2)|0); - $28 = ((($e0$010)) + -8|0); - $29 = +HEAPF32[$28>>2]; - $30 = ((($e2$011)) + -8|0); - $31 = +HEAPF32[$30>>2]; - $32 = $29 - $31; - $33 = ((($e0$010)) + -12|0); - $34 = +HEAPF32[$33>>2]; - $35 = ((($e2$011)) + -12|0); - $36 = +HEAPF32[$35>>2]; - $37 = $34 - $36; - $38 = $29 + $31; - HEAPF32[$28>>2] = $38; - $39 = +HEAPF32[$35>>2]; - $40 = +HEAPF32[$33>>2]; - $41 = $39 + $40; - HEAPF32[$33>>2] = $41; - $42 = +HEAPF32[$27>>2]; - $43 = $32 * $42; - $44 = (($$09) + ($$sum1<<2)|0); - $45 = +HEAPF32[$44>>2]; - $46 = $37 * $45; - $47 = $43 - $46; - HEAPF32[$30>>2] = $47; - $48 = +HEAPF32[$27>>2]; - $49 = $37 * $48; - $50 = +HEAPF32[$44>>2]; - $51 = $32 * $50; - $52 = $49 + $51; - HEAPF32[$35>>2] = $52; - $53 = (($$09) + ($$sum2<<2)|0); - $54 = ((($e0$010)) + -16|0); - $55 = +HEAPF32[$54>>2]; - $56 = ((($e2$011)) + -16|0); - $57 = +HEAPF32[$56>>2]; - $58 = $55 - $57; - $59 = ((($e0$010)) + -20|0); - $60 = +HEAPF32[$59>>2]; - $61 = ((($e2$011)) + -20|0); - $62 = +HEAPF32[$61>>2]; - $63 = $60 - $62; - $64 = $55 + $57; - HEAPF32[$54>>2] = $64; - $65 = +HEAPF32[$61>>2]; - $66 = +HEAPF32[$59>>2]; - $67 = $65 + $66; - HEAPF32[$59>>2] = $67; - $68 = +HEAPF32[$53>>2]; - $69 = $58 * $68; - $70 = (($$09) + ($$sum34<<2)|0); - $71 = +HEAPF32[$70>>2]; - $72 = $63 * $71; - $73 = $69 - $72; - HEAPF32[$56>>2] = $73; - $74 = +HEAPF32[$53>>2]; - $75 = $63 * $74; - $76 = +HEAPF32[$70>>2]; - $77 = $58 * $76; - $78 = $75 + $77; - HEAPF32[$61>>2] = $78; - $79 = (($$09) + ($$sum5<<2)|0); - $80 = ((($e0$010)) + -24|0); - $81 = +HEAPF32[$80>>2]; - $82 = ((($e2$011)) + -24|0); - $83 = +HEAPF32[$82>>2]; - $84 = $81 - $83; - $85 = ((($e0$010)) + -28|0); - $86 = +HEAPF32[$85>>2]; - $87 = ((($e2$011)) + -28|0); - $88 = +HEAPF32[$87>>2]; - $89 = $86 - $88; - $90 = $81 + $83; - HEAPF32[$80>>2] = $90; - $91 = +HEAPF32[$87>>2]; - $92 = +HEAPF32[$85>>2]; - $93 = $91 + $92; - HEAPF32[$85>>2] = $93; - $94 = +HEAPF32[$79>>2]; - $95 = $84 * $94; - $96 = (($$09) + ($$sum6<<2)|0); - $97 = +HEAPF32[$96>>2]; - $98 = $89 * $97; - $99 = $95 - $98; - HEAPF32[$82>>2] = $99; - $100 = +HEAPF32[$79>>2]; - $101 = $89 * $100; - $102 = +HEAPF32[$96>>2]; - $103 = $84 * $102; - $104 = $101 + $103; - HEAPF32[$87>>2] = $104; - $105 = ((($e0$010)) + -32|0); - $106 = ((($e2$011)) + -32|0); - $107 = (($$09) + ($$sum7<<2)|0); - $108 = (($i$08) + -1)|0; - $109 = ($i$08|0)>(1); - if ($109) { - $$09 = $107;$e0$010 = $105;$e2$011 = $106;$i$08 = $108; - } else { - break; - } - } - return; -} -function _imdct_step3_inner_s_loop($n,$e,$i_off,$k_off,$A,$a_off,$k0) { - $n = $n|0; - $e = $e|0; - $i_off = $i_off|0; - $k_off = $k_off|0; - $A = $A|0; - $a_off = $a_off|0; - $k0 = $k0|0; - var $$sum = 0, $0 = 0.0, $1 = 0, $10 = 0.0, $100 = 0.0, $101 = 0.0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $11 = 0, $12 = 0, $13 = 0.0, $14 = 0, $15 = 0, $16 = 0.0, $17 = 0, $18 = 0, $19 = 0.0, $2 = 0.0; - var $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0, $28 = 0.0, $29 = 0, $3 = 0, $30 = 0.0, $31 = 0.0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0.0, $36 = 0.0, $37 = 0.0, $38 = 0.0; - var $39 = 0.0, $4 = 0.0, $40 = 0.0, $41 = 0.0, $42 = 0, $43 = 0.0, $44 = 0, $45 = 0.0, $46 = 0.0, $47 = 0, $48 = 0.0, $49 = 0, $5 = 0, $50 = 0.0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0.0, $55 = 0.0, $56 = 0.0; - var $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0.0, $61 = 0.0, $62 = 0, $63 = 0.0, $64 = 0, $65 = 0.0, $66 = 0.0, $67 = 0, $68 = 0.0, $69 = 0, $7 = 0.0, $70 = 0.0, $71 = 0.0, $72 = 0.0, $73 = 0.0, $74 = 0.0; - var $75 = 0.0, $76 = 0.0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0, $80 = 0.0, $81 = 0.0, $82 = 0, $83 = 0.0, $84 = 0, $85 = 0.0, $86 = 0.0, $87 = 0, $88 = 0.0, $89 = 0, $9 = 0, $90 = 0.0, $91 = 0.0, $92 = 0.0; - var $93 = 0.0, $94 = 0.0, $95 = 0.0, $96 = 0.0, $97 = 0.0, $98 = 0.0, $99 = 0.0, $ee0$02 = 0, $ee2$03 = 0, $i$01 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = +HEAPF32[$A>>2]; - $1 = ((($A)) + 4|0); - $2 = +HEAPF32[$1>>2]; - $3 = (($A) + ($a_off<<2)|0); - $4 = +HEAPF32[$3>>2]; - $5 = (($a_off) + 1)|0; - $6 = (($A) + ($5<<2)|0); - $7 = +HEAPF32[$6>>2]; - $8 = $a_off << 1; - $9 = (($A) + ($8<<2)|0); - $10 = +HEAPF32[$9>>2]; - $11 = $8 | 1; - $12 = (($A) + ($11<<2)|0); - $13 = +HEAPF32[$12>>2]; - $14 = ($a_off*3)|0; - $15 = (($A) + ($14<<2)|0); - $16 = +HEAPF32[$15>>2]; - $17 = (($14) + 1)|0; - $18 = (($A) + ($17<<2)|0); - $19 = +HEAPF32[$18>>2]; - $20 = ($n|0)>(0); - if (!($20)) { - return; - } - $$sum = (($k_off) + ($i_off))|0; - $21 = (($e) + ($$sum<<2)|0); - $22 = (($e) + ($i_off<<2)|0); - $23 = (0 - ($k0))|0; - $ee0$02 = $22;$ee2$03 = $21;$i$01 = $n; - while(1) { - $24 = +HEAPF32[$ee0$02>>2]; - $25 = +HEAPF32[$ee2$03>>2]; - $26 = $24 - $25; - $27 = ((($ee0$02)) + -4|0); - $28 = +HEAPF32[$27>>2]; - $29 = ((($ee2$03)) + -4|0); - $30 = +HEAPF32[$29>>2]; - $31 = $28 - $30; - $32 = $24 + $25; - HEAPF32[$ee0$02>>2] = $32; - $33 = +HEAPF32[$27>>2]; - $34 = +HEAPF32[$29>>2]; - $35 = $33 + $34; - HEAPF32[$27>>2] = $35; - $36 = $0 * $26; - $37 = $2 * $31; - $38 = $36 - $37; - HEAPF32[$ee2$03>>2] = $38; - $39 = $0 * $31; - $40 = $2 * $26; - $41 = $40 + $39; - HEAPF32[$29>>2] = $41; - $42 = ((($ee0$02)) + -8|0); - $43 = +HEAPF32[$42>>2]; - $44 = ((($ee2$03)) + -8|0); - $45 = +HEAPF32[$44>>2]; - $46 = $43 - $45; - $47 = ((($ee0$02)) + -12|0); - $48 = +HEAPF32[$47>>2]; - $49 = ((($ee2$03)) + -12|0); - $50 = +HEAPF32[$49>>2]; - $51 = $48 - $50; - $52 = $43 + $45; - HEAPF32[$42>>2] = $52; - $53 = +HEAPF32[$47>>2]; - $54 = +HEAPF32[$49>>2]; - $55 = $53 + $54; - HEAPF32[$47>>2] = $55; - $56 = $4 * $46; - $57 = $7 * $51; - $58 = $56 - $57; - HEAPF32[$44>>2] = $58; - $59 = $4 * $51; - $60 = $7 * $46; - $61 = $60 + $59; - HEAPF32[$49>>2] = $61; - $62 = ((($ee0$02)) + -16|0); - $63 = +HEAPF32[$62>>2]; - $64 = ((($ee2$03)) + -16|0); - $65 = +HEAPF32[$64>>2]; - $66 = $63 - $65; - $67 = ((($ee0$02)) + -20|0); - $68 = +HEAPF32[$67>>2]; - $69 = ((($ee2$03)) + -20|0); - $70 = +HEAPF32[$69>>2]; - $71 = $68 - $70; - $72 = $63 + $65; - HEAPF32[$62>>2] = $72; - $73 = +HEAPF32[$67>>2]; - $74 = +HEAPF32[$69>>2]; - $75 = $73 + $74; - HEAPF32[$67>>2] = $75; - $76 = $10 * $66; - $77 = $13 * $71; - $78 = $76 - $77; - HEAPF32[$64>>2] = $78; - $79 = $10 * $71; - $80 = $13 * $66; - $81 = $80 + $79; - HEAPF32[$69>>2] = $81; - $82 = ((($ee0$02)) + -24|0); - $83 = +HEAPF32[$82>>2]; - $84 = ((($ee2$03)) + -24|0); - $85 = +HEAPF32[$84>>2]; - $86 = $83 - $85; - $87 = ((($ee0$02)) + -28|0); - $88 = +HEAPF32[$87>>2]; - $89 = ((($ee2$03)) + -28|0); - $90 = +HEAPF32[$89>>2]; - $91 = $88 - $90; - $92 = $83 + $85; - HEAPF32[$82>>2] = $92; - $93 = +HEAPF32[$87>>2]; - $94 = +HEAPF32[$89>>2]; - $95 = $93 + $94; - HEAPF32[$87>>2] = $95; - $96 = $16 * $86; - $97 = $19 * $91; - $98 = $96 - $97; - HEAPF32[$84>>2] = $98; - $99 = $16 * $91; - $100 = $19 * $86; - $101 = $100 + $99; - HEAPF32[$89>>2] = $101; - $102 = (($ee0$02) + ($23<<2)|0); - $103 = (($ee2$03) + ($23<<2)|0); - $104 = (($i$01) + -1)|0; - $105 = ($i$01|0)>(1); - if ($105) { - $ee0$02 = $102;$ee2$03 = $103;$i$01 = $104; - } else { - break; - } - } - return; -} -function _imdct_step3_inner_s_loop_ld654($n,$e,$i_off,$A,$base_n) { - $n = $n|0; - $e = $e|0; - $i_off = $i_off|0; - $A = $A|0; - $base_n = $base_n|0; - var $$sum = 0, $0 = 0, $1 = 0, $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $2 = 0.0, $20 = 0, $21 = 0.0, $22 = 0, $23 = 0.0, $24 = 0.0, $25 = 0; - var $26 = 0.0, $27 = 0, $28 = 0.0, $29 = 0.0, $3 = 0, $30 = 0.0, $31 = 0.0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0.0, $36 = 0.0, $37 = 0.0, $38 = 0, $39 = 0.0, $4 = 0, $40 = 0, $41 = 0.0, $42 = 0.0, $43 = 0; - var $44 = 0.0, $45 = 0, $46 = 0.0, $47 = 0.0, $48 = 0.0, $49 = 0.0, $5 = 0, $50 = 0.0, $51 = 0.0, $52 = 0, $53 = 0.0, $54 = 0, $55 = 0.0, $56 = 0.0, $57 = 0, $58 = 0.0, $59 = 0, $6 = 0, $60 = 0.0, $61 = 0.0; - var $62 = 0.0, $63 = 0.0, $64 = 0.0, $65 = 0.0, $66 = 0.0, $67 = 0.0, $68 = 0.0, $69 = 0.0, $7 = 0.0, $70 = 0, $71 = 0, $8 = 0, $9 = 0.0, $z$01 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = $base_n >> 3; - $1 = (($A) + ($0<<2)|0); - $2 = +HEAPF32[$1>>2]; - $3 = $n << 4; - $$sum = (($i_off) - ($3))|0; - $4 = (($e) + ($$sum<<2)|0); - $5 = ($$sum|0)<($i_off|0); - if (!($5)) { - return; - } - $6 = (($e) + ($i_off<<2)|0); - $z$01 = $6; - while(1) { - $7 = +HEAPF32[$z$01>>2]; - $8 = ((($z$01)) + -32|0); - $9 = +HEAPF32[$8>>2]; - $10 = $7 - $9; - $11 = ((($z$01)) + -4|0); - $12 = +HEAPF32[$11>>2]; - $13 = ((($z$01)) + -36|0); - $14 = +HEAPF32[$13>>2]; - $15 = $12 - $14; - $16 = $7 + $9; - HEAPF32[$z$01>>2] = $16; - $17 = +HEAPF32[$11>>2]; - $18 = +HEAPF32[$13>>2]; - $19 = $17 + $18; - HEAPF32[$11>>2] = $19; - HEAPF32[$8>>2] = $10; - HEAPF32[$13>>2] = $15; - $20 = ((($z$01)) + -8|0); - $21 = +HEAPF32[$20>>2]; - $22 = ((($z$01)) + -40|0); - $23 = +HEAPF32[$22>>2]; - $24 = $21 - $23; - $25 = ((($z$01)) + -12|0); - $26 = +HEAPF32[$25>>2]; - $27 = ((($z$01)) + -44|0); - $28 = +HEAPF32[$27>>2]; - $29 = $26 - $28; - $30 = $21 + $23; - HEAPF32[$20>>2] = $30; - $31 = +HEAPF32[$25>>2]; - $32 = +HEAPF32[$27>>2]; - $33 = $31 + $32; - HEAPF32[$25>>2] = $33; - $34 = $24 + $29; - $35 = $2 * $34; - HEAPF32[$22>>2] = $35; - $36 = $29 - $24; - $37 = $2 * $36; - HEAPF32[$27>>2] = $37; - $38 = ((($z$01)) + -48|0); - $39 = +HEAPF32[$38>>2]; - $40 = ((($z$01)) + -16|0); - $41 = +HEAPF32[$40>>2]; - $42 = $39 - $41; - $43 = ((($z$01)) + -20|0); - $44 = +HEAPF32[$43>>2]; - $45 = ((($z$01)) + -52|0); - $46 = +HEAPF32[$45>>2]; - $47 = $44 - $46; - $48 = $39 + $41; - HEAPF32[$40>>2] = $48; - $49 = +HEAPF32[$43>>2]; - $50 = +HEAPF32[$45>>2]; - $51 = $49 + $50; - HEAPF32[$43>>2] = $51; - HEAPF32[$38>>2] = $47; - HEAPF32[$45>>2] = $42; - $52 = ((($z$01)) + -56|0); - $53 = +HEAPF32[$52>>2]; - $54 = ((($z$01)) + -24|0); - $55 = +HEAPF32[$54>>2]; - $56 = $53 - $55; - $57 = ((($z$01)) + -28|0); - $58 = +HEAPF32[$57>>2]; - $59 = ((($z$01)) + -60|0); - $60 = +HEAPF32[$59>>2]; - $61 = $58 - $60; - $62 = $53 + $55; - HEAPF32[$54>>2] = $62; - $63 = +HEAPF32[$57>>2]; - $64 = +HEAPF32[$59>>2]; - $65 = $63 + $64; - HEAPF32[$57>>2] = $65; - $66 = $56 + $61; - $67 = $2 * $66; - HEAPF32[$52>>2] = $67; - $68 = $56 - $61; - $69 = $2 * $68; - HEAPF32[$59>>2] = $69; - _iter_54($z$01); - _iter_54($8); - $70 = ((($z$01)) + -64|0); - $71 = ($70>>>0)>($4>>>0); - if ($71) { - $z$01 = $70; - } else { - break; - } - } - return; -} -function _iter_54($z) { - $z = $z|0; - var $0 = 0.0, $1 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $2 = 0.0, $20 = 0, $21 = 0.0, $22 = 0, $23 = 0.0, $24 = 0.0, $25 = 0.0, $26 = 0.0; - var $27 = 0.0, $28 = 0.0, $29 = 0.0, $3 = 0.0, $30 = 0.0, $31 = 0.0, $32 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $0 = +HEAPF32[$z>>2]; - $1 = ((($z)) + -16|0); - $2 = +HEAPF32[$1>>2]; - $3 = $0 - $2; - $4 = $0 + $2; - $5 = ((($z)) + -8|0); - $6 = +HEAPF32[$5>>2]; - $7 = ((($z)) + -24|0); - $8 = +HEAPF32[$7>>2]; - $9 = $6 + $8; - $10 = $6 - $8; - $11 = $4 + $9; - HEAPF32[$z>>2] = $11; - $12 = $4 - $9; - HEAPF32[$5>>2] = $12; - $13 = ((($z)) + -12|0); - $14 = +HEAPF32[$13>>2]; - $15 = ((($z)) + -28|0); - $16 = +HEAPF32[$15>>2]; - $17 = $14 - $16; - $18 = $3 + $17; - HEAPF32[$1>>2] = $18; - $19 = $3 - $17; - HEAPF32[$7>>2] = $19; - $20 = ((($z)) + -4|0); - $21 = +HEAPF32[$20>>2]; - $22 = ((($z)) + -20|0); - $23 = +HEAPF32[$22>>2]; - $24 = $21 - $23; - $25 = $21 + $23; - $26 = +HEAPF32[$13>>2]; - $27 = +HEAPF32[$15>>2]; - $28 = $26 + $27; - $29 = $25 + $28; - HEAPF32[$20>>2] = $29; - $30 = $25 - $28; - HEAPF32[$13>>2] = $30; - $31 = $24 - $10; - HEAPF32[$22>>2] = $31; - $32 = $10 + $24; - HEAPF32[$15>>2] = $32; - return; -} -function _draw_line($output,$x0,$y0,$x1,$y1,$n) { - $output = $output|0; - $x0 = $x0|0; - $y0 = $y0|0; - $x1 = $x1|0; - $y1 = $y1|0; - $n = $n|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0.0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0.0, $24 = 0, $25 = 0.0, $26 = 0.0; - var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $err$05 = 0, $err$1 = 0, $exitcond = 0, $ispos = 0, $ispos1 = 0, $n$x1 = 0, $neg = 0, $neg2 = 0, $sy$0 = 0, $sy$0$pn = 0, $x$0 = 0, $x$03 = 0, $x$06 = 0; - var $y$04 = 0, $y$1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (($y1) - ($y0))|0; - $1 = (($x1) - ($x0))|0; - $ispos = ($0|0)>(-1); - $neg = (0 - ($0))|0; - $2 = $ispos ? $0 : $neg; - $3 = (($0|0) / ($1|0))&-1; - $4 = $0 >> 31; - $5 = $4 | 1; - $ispos1 = ($3|0)>(-1); - $neg2 = (0 - ($3))|0; - $6 = $ispos1 ? $3 : $neg2; - $7 = Math_imul($6, $1)|0; - $8 = (($2) - ($7))|0; - $9 = ($x1|0)>($n|0); - $n$x1 = $9 ? $n : $x1; - $10 = ($n$x1|0)>($x0|0); - if (!($10)) { - return; - } - $11 = (6864 + ($y0<<2)|0); - $12 = +HEAPF32[$11>>2]; - $13 = (($output) + ($x0<<2)|0); - $14 = +HEAPF32[$13>>2]; - $15 = $12 * $14; - HEAPF32[$13>>2] = $15; - $x$03 = (($x0) + 1)|0; - $16 = ($x$03|0)<($n$x1|0); - if (!($16)) { - return; - } - $17 = ($n|0)<($x1|0); - $18 = $17 ? $n : $x1; - $err$05 = 0;$x$06 = $x$03;$y$04 = $y0; - while(1) { - $19 = (($err$05) + ($8))|0; - $20 = ($19|0)<($1|0); - $sy$0 = $20 ? 0 : $5; - $21 = $20 ? 0 : $1; - $err$1 = (($19) - ($21))|0; - $sy$0$pn = (($y$04) + ($3))|0; - $y$1 = (($sy$0$pn) + ($sy$0))|0; - $22 = (6864 + ($y$1<<2)|0); - $23 = +HEAPF32[$22>>2]; - $24 = (($output) + ($x$06<<2)|0); - $25 = +HEAPF32[$24>>2]; - $26 = $23 * $25; - HEAPF32[$24>>2] = $26; - $x$0 = (($x$06) + 1)|0; - $exitcond = ($x$0|0)==($18|0); - if ($exitcond) { - break; - } else { - $err$05 = $err$1;$x$06 = $x$0;$y$04 = $y$1; - } - } - return; -} -function _make_block_array($mem,$count,$size) { - $mem = $mem|0; - $count = $count|0; - $size = $size|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $exitcond = 0, $i$01 = 0, $q$02 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ($count|0)>(0); - if (!($0)) { - return ($mem|0); - } - $1 = (($mem) + ($count<<2)|0); - $i$01 = 0;$q$02 = $1; - while(1) { - $2 = (($mem) + ($i$01<<2)|0); - HEAP32[$2>>2] = $q$02; - $3 = (($q$02) + ($size)|0); - $4 = (($i$01) + 1)|0; - $exitcond = ($4|0)==($count|0); - if ($exitcond) { - break; - } else { - $i$01 = $4;$q$02 = $3; - } - } - return ($mem|0); -} -function _codebook_decode_deinterleave_repeat($f,$c,$outputs,$ch,$c_inter_p,$p_inter_p,$len,$total_decode) { - $f = $f|0; - $c = $c|0; - $outputs = $outputs|0; - $ch = $ch|0; - $c_inter_p = $c_inter_p|0; - $p_inter_p = $p_inter_p|0; - $len = $len|0; - $total_decode = $total_decode|0; - var $$ = 0, $$0 = 0, $$0126 = 0, $$2 = 0, $$3 = 0, $$4 = 0, $$p_inter$1 = 0, $$p_inter$3 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0; - var $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0; - var $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0; - var $56 = 0, $57 = 0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0.0, $65 = 0.0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0; - var $74 = 0, $75 = 0, $76 = 0.0, $77 = 0.0, $78 = 0, $79 = 0.0, $8 = 0, $80 = 0.0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $9 = 0, $c_inter$0$lcssa = 0, $c_inter$025 = 0, $c_inter$115 = 0, $c_inter$319 = 0, $c_inter$5 = 0; - var $effective$024 = 0, $effective$1 = 0, $exitcond = 0, $exitcond30 = 0, $i$013 = 0, $i$118 = 0, $last$014 = 0.0, $p_inter$0$lcssa = 0, $p_inter$023 = 0, $p_inter$112 = 0, $p_inter$317 = 0, $p_inter$5 = 0, $z$0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[$c_inter_p>>2]|0; - $1 = HEAP32[$p_inter_p>>2]|0; - $2 = HEAP32[$c>>2]|0; - $3 = ((($c)) + 21|0); - $4 = HEAP8[$3>>0]|0; - $5 = ($4<<24>>24)==(0); - if ($5) { - _error($f,21); - $$0 = 0; - return ($$0|0); - } - $6 = ($total_decode|0)>(0); - L5: do { - if ($6) { - $7 = ((($f)) + 1396|0); - $8 = ((($f)) + 1392|0); - $9 = ((($c)) + 8|0); - $10 = ((($c)) + 23|0); - $11 = Math_imul($len, $ch)|0; - $12 = ((($c)) + 22|0); - $13 = ((($c)) + 28|0); - $14 = ((($c)) + 28|0); - $15 = ((($c)) + 2092|0); - $$0126 = $total_decode;$c_inter$025 = $0;$effective$024 = $2;$p_inter$023 = $1; - while(1) { - $16 = HEAP32[$7>>2]|0; - $17 = ($16|0)<(10); - if ($17) { - _prep_huffman($f); - } - $18 = HEAP32[$8>>2]|0; - $19 = $18 & 1023; - $20 = (((($c)) + 36|0) + ($19<<1)|0); - $21 = HEAP16[$20>>1]|0; - $22 = $21 << 16 >> 16; - $23 = ($21<<16>>16)>(-1); - if ($23) { - $24 = HEAP32[$9>>2]|0; - $25 = (($24) + ($22)|0); - $26 = HEAP8[$25>>0]|0; - $27 = $26&255; - $28 = $18 >>> $27; - HEAP32[$8>>2] = $28; - $29 = HEAP32[$7>>2]|0; - $30 = (($29) - ($27))|0; - $31 = ($30|0)<(0); - $$ = $31 ? 0 : $30; - HEAP32[$7>>2] = $$; - $$2 = $31 ? -1 : $22; - $z$0 = $$2; - } else { - $32 = (_codebook_decode_scalar_raw($f,$c)|0); - $z$0 = $32; - } - $33 = HEAP8[$10>>0]|0; - $34 = ($33<<24>>24)==(0); - if (!($34)) { - $35 = HEAP32[$15>>2]|0; - $36 = ($z$0|0)<($35|0); - if (!($36)) { - label = 12; - break; - } - } - $37 = ($z$0|0)<(0); - if ($37) { - break; - } - $44 = Math_imul($p_inter$023, $ch)|0; - $45 = (($effective$024) + ($44))|0; - $46 = (($45) + ($c_inter$025))|0; - $47 = ($46|0)>($11|0); - $48 = (($11) - ($44))|0; - $49 = (($48) + ($c_inter$025))|0; - $effective$1 = $47 ? $49 : $effective$024; - $50 = HEAP32[$c>>2]|0; - $51 = Math_imul($50, $z$0)|0; - $52 = HEAP8[$12>>0]|0; - $53 = ($52<<24>>24)==(0); - $54 = ($effective$1|0)>(0); - if ($53) { - if ($54) { - $c_inter$319 = $c_inter$025;$i$118 = 0;$p_inter$317 = $p_inter$023; - while(1) { - $70 = (($outputs) + ($c_inter$319<<2)|0); - $71 = HEAP32[$70>>2]|0; - $72 = ($71|0)==(0|0); - if (!($72)) { - $73 = HEAP32[$13>>2]|0; - $74 = (($i$118) + ($51))|0; - $75 = (($73) + ($74<<2)|0); - $76 = +HEAPF32[$75>>2]; - $77 = $76 + 0.0; - $78 = (($71) + ($p_inter$317<<2)|0); - $79 = +HEAPF32[$78>>2]; - $80 = $79 + $77; - HEAPF32[$78>>2] = $80; - } - $81 = (($c_inter$319) + 1)|0; - $82 = ($81|0)==($ch|0); - $83 = $82&1; - $$p_inter$3 = (($83) + ($p_inter$317))|0; - $$4 = $82 ? 0 : $81; - $84 = (($i$118) + 1)|0; - $exitcond30 = ($84|0)==($effective$1|0); - if ($exitcond30) { - $c_inter$5 = $$4;$p_inter$5 = $$p_inter$3; - break; - } else { - $c_inter$319 = $$4;$i$118 = $84;$p_inter$317 = $$p_inter$3; - } - } - } else { - $c_inter$5 = $c_inter$025;$p_inter$5 = $p_inter$023; - } - } else { - if ($54) { - $55 = HEAP32[$14>>2]|0; - $c_inter$115 = $c_inter$025;$i$013 = 0;$last$014 = 0.0;$p_inter$112 = $p_inter$023; - while(1) { - $56 = (($i$013) + ($51))|0; - $57 = (($55) + ($56<<2)|0); - $58 = +HEAPF32[$57>>2]; - $59 = $last$014 + $58; - $60 = (($outputs) + ($c_inter$115<<2)|0); - $61 = HEAP32[$60>>2]|0; - $62 = ($61|0)==(0|0); - if (!($62)) { - $63 = (($61) + ($p_inter$112<<2)|0); - $64 = +HEAPF32[$63>>2]; - $65 = $59 + $64; - HEAPF32[$63>>2] = $65; - } - $66 = (($c_inter$115) + 1)|0; - $67 = ($66|0)==($ch|0); - $68 = $67&1; - $$p_inter$1 = (($68) + ($p_inter$112))|0; - $$3 = $67 ? 0 : $66; - $69 = (($i$013) + 1)|0; - $exitcond = ($69|0)==($effective$1|0); - if ($exitcond) { - $c_inter$5 = $$3;$p_inter$5 = $$p_inter$1; - break; - } else { - $c_inter$115 = $$3;$i$013 = $69;$last$014 = $59;$p_inter$112 = $$p_inter$1; - } - } - } else { - $c_inter$5 = $c_inter$025;$p_inter$5 = $p_inter$023; - } - } - $85 = (($$0126) - ($effective$1))|0; - $86 = ($85|0)>(0); - if ($86) { - $$0126 = $85;$c_inter$025 = $c_inter$5;$effective$024 = $effective$1;$p_inter$023 = $p_inter$5; - } else { - $c_inter$0$lcssa = $c_inter$5;$p_inter$0$lcssa = $p_inter$5; - break L5; - } - } - if ((label|0) == 12) { - ___assert_fail((16308|0),(15523|0),1430,(16344|0)); - // unreachable; - } - $38 = ((($f)) + 1376|0); - $39 = HEAP8[$38>>0]|0; - $40 = ($39<<24>>24)==(0); - if ($40) { - $41 = ((($f)) + 1384|0); - $42 = HEAP32[$41>>2]|0; - $43 = ($42|0)==(0); - if (!($43)) { - $$0 = 0; - return ($$0|0); - } - } - _error($f,21); - $$0 = 0; - return ($$0|0); - } else { - $c_inter$0$lcssa = $0;$p_inter$0$lcssa = $1; - } - } while(0); - HEAP32[$c_inter_p>>2] = $c_inter$0$lcssa; - HEAP32[$p_inter_p>>2] = $p_inter$0$lcssa; - $$0 = 1; - return ($$0|0); -} -function _residue_decode($f,$book,$target,$offset,$n,$rtype) { - $f = $f|0; - $book = $book|0; - $target = $target|0; - $offset = $offset|0; - $n = $n|0; - $rtype = $rtype|0; - var $$0 = 0, $$017 = 0, $$sum = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0; - var $7 = 0, $8 = 0, $9 = 0, $k$04 = 0, $k$18 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ($rtype|0)==(0); - if ($0) { - $2 = HEAP32[$book>>2]|0; - $3 = (($n|0) / ($2|0))&-1; - $4 = ($3|0)>(0); - if (!($4)) { - $$0 = 1; - return ($$0|0); - } - $5 = (($n) - ($offset))|0; - $k$04 = 0; - while(1) { - $$sum = (($k$04) + ($offset))|0; - $8 = (($target) + ($$sum<<2)|0); - $9 = (($5) - ($k$04))|0; - $10 = (_codebook_decode_step($f,$book,$8,$9,$3)|0); - $11 = ($10|0)==(0); - $6 = (($k$04) + 1)|0; - if ($11) { - $$0 = 0; - label = 10; - break; - } - $7 = ($6|0)<($3|0); - if ($7) { - $k$04 = $6; - } else { - $$0 = 1; - label = 10; - break; - } - } - if ((label|0) == 10) { - return ($$0|0); - } - } else { - $1 = ($n|0)>(0); - if (!($1)) { - $$0 = 1; - return ($$0|0); - } - $$017 = $offset;$k$18 = 0; - while(1) { - $12 = (($target) + ($$017<<2)|0); - $13 = (($n) - ($k$18))|0; - $14 = (_codebook_decode($f,$book,$12,$13)|0); - $15 = ($14|0)==(0); - if ($15) { - $$0 = 0; - label = 10; - break; - } - $16 = HEAP32[$book>>2]|0; - $17 = (($16) + ($k$18))|0; - $18 = (($16) + ($$017))|0; - $19 = ($17|0)<($n|0); - if ($19) { - $$017 = $18;$k$18 = $17; - } else { - $$0 = 1; - label = 10; - break; - } - } - if ((label|0) == 10) { - return ($$0|0); - } - } - return (0)|0; -} -function _codebook_decode_step($f,$c,$output,$len,$step) { - $f = $f|0; - $c = $c|0; - $output = $output|0; - $len = $len|0; - $step = $step|0; - var $$0 = 0, $$len = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0.0, $16 = 0.0, $17 = 0, $18 = 0, $19 = 0.0, $2 = 0, $20 = 0.0, $21 = 0, $3 = 0, $4 = 0, $5 = 0; - var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $i$02 = 0, $last$0$ = 0.0, $last$03 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_codebook_decode_start($f,$c)|0); - $1 = ($0|0)<(0); - if ($1) { - $$0 = 0; - return ($$0|0); - } - $2 = HEAP32[$c>>2]|0; - $3 = ($2|0)<($len|0); - $$len = $3 ? $2 : $len; - $4 = Math_imul($2, $0)|0; - $5 = ($$len|0)>(0); - if (!($5)) { - $$0 = 1; - return ($$0|0); - } - $6 = ((($c)) + 28|0); - $7 = HEAP32[$6>>2]|0; - $8 = ((($c)) + 22|0); - $9 = HEAP8[$8>>0]|0; - $10 = ($9<<24>>24)==(0); - $11 = ($2|0)<($len|0); - $12 = $11 ? $2 : $len; - $i$02 = 0;$last$03 = 0.0; - while(1) { - $13 = (($i$02) + ($4))|0; - $14 = (($7) + ($13<<2)|0); - $15 = +HEAPF32[$14>>2]; - $16 = $last$03 + $15; - $17 = Math_imul($i$02, $step)|0; - $18 = (($output) + ($17<<2)|0); - $19 = +HEAPF32[$18>>2]; - $20 = $19 + $16; - HEAPF32[$18>>2] = $20; - $last$0$ = $10 ? $last$03 : $16; - $21 = (($i$02) + 1)|0; - $exitcond = ($21|0)==($12|0); - if ($exitcond) { - $$0 = 1; - break; - } else { - $i$02 = $21;$last$03 = $last$0$; - } - } - return ($$0|0); -} -function _codebook_decode($f,$c,$output,$len) { - $f = $f|0; - $c = $c|0; - $output = $output|0; - $len = $len|0; - var $$0 = 0, $$len = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0.0, $21 = 0.0, $22 = 0, $23 = 0.0, $24 = 0.0; - var $25 = 0.0, $26 = 0.0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0.0, $31 = 0.0, $32 = 0, $33 = 0.0, $34 = 0.0, $35 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond9 = 0; - var $i$05 = 0, $i$14 = 0, $last$06 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_codebook_decode_start($f,$c)|0); - $1 = ($0|0)<(0); - if ($1) { - $$0 = 0; - return ($$0|0); - } - $2 = HEAP32[$c>>2]|0; - $3 = ($2|0)<($len|0); - $$len = $3 ? $2 : $len; - $4 = Math_imul($2, $0)|0; - $5 = ((($c)) + 22|0); - $6 = HEAP8[$5>>0]|0; - $7 = ($6<<24>>24)==(0); - $8 = ($$len|0)>(0); - if ($7) { - if (!($8)) { - $$0 = 1; - return ($$0|0); - } - $14 = ((($c)) + 28|0); - $15 = HEAP32[$14>>2]|0; - $16 = ($2|0)<($len|0); - $17 = $16 ? $2 : $len; - $i$14 = 0; - while(1) { - $28 = (($i$14) + ($4))|0; - $29 = (($15) + ($28<<2)|0); - $30 = +HEAPF32[$29>>2]; - $31 = $30 + 0.0; - $32 = (($output) + ($i$14<<2)|0); - $33 = +HEAPF32[$32>>2]; - $34 = $33 + $31; - HEAPF32[$32>>2] = $34; - $35 = (($i$14) + 1)|0; - $exitcond = ($35|0)==($17|0); - if ($exitcond) { - $$0 = 1; - break; - } else { - $i$14 = $35; - } - } - return ($$0|0); - } else { - if (!($8)) { - $$0 = 1; - return ($$0|0); - } - $9 = ((($c)) + 28|0); - $10 = HEAP32[$9>>2]|0; - $11 = ((($c)) + 12|0); - $12 = ($2|0)<($len|0); - $13 = $12 ? $2 : $len; - $i$05 = 0;$last$06 = 0.0; - while(1) { - $18 = (($i$05) + ($4))|0; - $19 = (($10) + ($18<<2)|0); - $20 = +HEAPF32[$19>>2]; - $21 = $last$06 + $20; - $22 = (($output) + ($i$05<<2)|0); - $23 = +HEAPF32[$22>>2]; - $24 = $23 + $21; - HEAPF32[$22>>2] = $24; - $25 = +HEAPF32[$11>>2]; - $26 = $21 + $25; - $27 = (($i$05) + 1)|0; - $exitcond9 = ($27|0)==($13|0); - if ($exitcond9) { - $$0 = 1; - break; - } else { - $i$05 = $27;$last$06 = $26; - } - } - return ($$0|0); - } - return (0)|0; -} -function _codebook_decode_start($f,$c) { - $f = $f|0; - $c = $c|0; - var $$ = 0, $$0 = 0, $$1 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; - var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $z$0 = 0; - var label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($c)) + 21|0); - $1 = HEAP8[$0>>0]|0; - $2 = ($1<<24>>24)==(0); - if ($2) { - _error($f,21); - $$0 = -1; - return ($$0|0); - } - $3 = ((($f)) + 1396|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)<(10); - if ($5) { - _prep_huffman($f); - } - $6 = ((($f)) + 1392|0); - $7 = HEAP32[$6>>2]|0; - $8 = $7 & 1023; - $9 = (((($c)) + 36|0) + ($8<<1)|0); - $10 = HEAP16[$9>>1]|0; - $11 = $10 << 16 >> 16; - $12 = ($10<<16>>16)>(-1); - if ($12) { - $13 = ((($c)) + 8|0); - $14 = HEAP32[$13>>2]|0; - $15 = (($14) + ($11)|0); - $16 = HEAP8[$15>>0]|0; - $17 = $16&255; - $18 = $7 >>> $17; - HEAP32[$6>>2] = $18; - $19 = HEAP32[$3>>2]|0; - $20 = (($19) - ($17))|0; - $21 = ($20|0)<(0); - $$ = $21 ? 0 : $20; - HEAP32[$3>>2] = $$; - $$1 = $21 ? -1 : $11; - $z$0 = $$1; - } else { - $22 = (_codebook_decode_scalar_raw($f,$c)|0); - $z$0 = $22; - } - $23 = ((($c)) + 23|0); - $24 = HEAP8[$23>>0]|0; - $25 = ($24<<24>>24)==(0); - if (!($25)) { - $26 = ((($c)) + 2092|0); - $27 = HEAP32[$26>>2]|0; - $28 = ($z$0|0)<($27|0); - if (!($28)) { - ___assert_fail((16264|0),(15523|0),1336,(16286|0)); - // unreachable; - } - } - $29 = ($z$0|0)<(0); - if (!($29)) { - $$0 = $z$0; - return ($$0|0); - } - $30 = ((($f)) + 1376|0); - $31 = HEAP8[$30>>0]|0; - $32 = ($31<<24>>24)==(0); - if ($32) { - $33 = ((($f)) + 1384|0); - $34 = HEAP32[$33>>2]|0; - $35 = ($34|0)==(0); - if (!($35)) { - $$0 = $z$0; - return ($$0|0); - } - } - _error($f,21); - $$0 = $z$0; - return ($$0|0); -} -function _stbi__pnm_info($s,$x,$y,$comp) { - $s = $s|0; - $x = $x|0; - $y = $y|0; - $comp = $comp|0; - var $$0 = 0, $$off = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $c = 0, $or$cond = 0, $switch = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $c = sp; - _stbi__rewind($s); - $0 = (_stbi__get8($s)|0); - $1 = (_stbi__get8($s)|0); - $2 = ($0<<24>>24)==(80); - $$off = (($1) + -53)<<24>>24; - $switch = ($$off&255)<(2); - $or$cond = $2 & $switch; - if (!($or$cond)) { - _stbi__rewind($s); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $3 = ($1<<24>>24)==(54); - $4 = $3 ? 3 : 1; - HEAP32[$comp>>2] = $4; - $5 = (_stbi__get8($s)|0); - HEAP8[$c>>0] = $5; - _stbi__pnm_skip_whitespace($s,$c); - $6 = (_stbi__pnm_getinteger($s,$c)|0); - HEAP32[$x>>2] = $6; - _stbi__pnm_skip_whitespace($s,$c); - $7 = (_stbi__pnm_getinteger($s,$c)|0); - HEAP32[$y>>2] = $7; - _stbi__pnm_skip_whitespace($s,$c); - $8 = (_stbi__pnm_getinteger($s,$c)|0); - $9 = ($8|0)>(255); - if (!($9)) { - $$0 = 1; - STACKTOP = sp;return ($$0|0); - } - _stbi__err(17742); - $$0 = 0; - STACKTOP = sp;return ($$0|0); -} -function _stbi__get8($s) { - $s = $s|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($s)) + 168|0); - $1 = HEAP32[$0>>2]|0; - $2 = ((($s)) + 172|0); - $3 = HEAP32[$2>>2]|0; - $4 = ($1>>>0)<($3>>>0); - if ($4) { - $5 = ((($1)) + 1|0); - HEAP32[$0>>2] = $5; - $6 = HEAP8[$1>>0]|0; - $$0 = $6; - return ($$0|0); - } - $7 = ((($s)) + 32|0); - $8 = HEAP32[$7>>2]|0; - $9 = ($8|0)==(0); - if ($9) { - $$0 = 0; - return ($$0|0); - } - _stbi__refill_buffer($s); - $10 = HEAP32[$0>>2]|0; - $11 = ((($10)) + 1|0); - HEAP32[$0>>2] = $11; - $12 = HEAP8[$10>>0]|0; - $$0 = $12; - return ($$0|0); -} -function _stbi__rewind($s) { - $s = $s|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($s)) + 176|0); - $1 = HEAP32[$0>>2]|0; - $2 = ((($s)) + 168|0); - HEAP32[$2>>2] = $1; - $3 = ((($s)) + 180|0); - $4 = HEAP32[$3>>2]|0; - $5 = ((($s)) + 172|0); - HEAP32[$5>>2] = $4; - return; -} -function _stbi__skip($s,$n) { - $s = $s|0; - $n = $n|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0; - var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ($n|0)<(0); - if ($0) { - $1 = ((($s)) + 172|0); - $2 = HEAP32[$1>>2]|0; - $3 = ((($s)) + 168|0); - HEAP32[$3>>2] = $2; - return; - } - $4 = ((($s)) + 16|0); - $5 = HEAP32[$4>>2]|0; - $6 = ($5|0)==(0|0); - if (!($6)) { - $7 = ((($s)) + 172|0); - $8 = HEAP32[$7>>2]|0; - $9 = ((($s)) + 168|0); - $10 = HEAP32[$9>>2]|0; - $11 = $8; - $12 = $10; - $13 = (($11) - ($12))|0; - $14 = ($13|0)<($n|0); - if ($14) { - HEAP32[$9>>2] = $8; - $15 = ((($s)) + 20|0); - $16 = HEAP32[$15>>2]|0; - $17 = ((($s)) + 28|0); - $18 = HEAP32[$17>>2]|0; - $19 = (($n) - ($13))|0; - FUNCTION_TABLE_vii[$16 & 63]($18,$19); - return; - } - } - $20 = ((($s)) + 168|0); - $21 = HEAP32[$20>>2]|0; - $22 = (($21) + ($n)|0); - HEAP32[$20>>2] = $22; - return; -} -function _stbi__tga_get_comp($bits_per_pixel,$is_grey,$is_rgb16) { - $bits_per_pixel = $bits_per_pixel|0; - $is_grey = $is_grey|0; - $is_rgb16 = $is_rgb16|0; - var $$0 = 0, $$mux = 0, $$not = 0, $$not1 = 0, $0 = 0, $1 = 0, $brmerge = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ($is_rgb16|0)!=(0|0); - if ($0) { - HEAP32[$is_rgb16>>2] = 0; - } - switch ($bits_per_pixel|0) { - case 8: { - $$0 = 1; - break; - } - case 16: { - $$not = ($is_grey|0)!=(0); - $$not1 = $0 ^ 1; - $brmerge = $$not | $$not1; - $$mux = $$not ? 2 : 3; - if ($brmerge) { - $$0 = $$mux; - } else { - label = 6; - } - break; - } - case 15: { - if ($0) { - label = 6; - } else { - $$0 = 3; - } - break; - } - case 32: case 24: { - $1 = (($bits_per_pixel|0) / 8)&-1; - $$0 = $1; - break; - } - default: { - $$0 = 0; - } - } - if ((label|0) == 6) { - HEAP32[$is_rgb16>>2] = 1; - $$0 = 3; - } - return ($$0|0); -} -function _stbi__refill_buffer($s) { - $s = $s|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($s)) + 16|0); - $1 = HEAP32[$0>>2]|0; - $2 = ((($s)) + 28|0); - $3 = HEAP32[$2>>2]|0; - $4 = ((($s)) + 40|0); - $5 = ((($s)) + 36|0); - $6 = HEAP32[$5>>2]|0; - $7 = (FUNCTION_TABLE_iiii[$1 & 15]($3,$4,$6)|0); - $8 = ($7|0)==(0); - if ($8) { - $9 = ((($s)) + 32|0); - HEAP32[$9>>2] = 0; - $10 = ((($s)) + 168|0); - HEAP32[$10>>2] = $4; - $11 = ((($s)) + 41|0); - $12 = ((($s)) + 172|0); - HEAP32[$12>>2] = $11; - $13 = HEAP32[$10>>2]|0; - HEAP8[$13>>0] = 0; - return; - } else { - $14 = ((($s)) + 168|0); - HEAP32[$14>>2] = $4; - $15 = (((($s)) + 40|0) + ($7)|0); - $16 = ((($s)) + 172|0); - HEAP32[$16>>2] = $15; - return; - } -} -function _stbi__pnm_skip_whitespace($s,$c) { - $s = $s|0; - $c = $c|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - L1: while(1) { - $0 = (_stbi__at_eof($s)|0); - $1 = ($0|0)==(0); - if ($1) { - $2 = HEAP8[$c>>0]|0; - $3 = (_stbi__pnm_isspace($2)|0); - $4 = ($3|0)==(0); - if (!($4)) { - $5 = (_stbi__get8($s)|0); - HEAP8[$c>>0] = $5; - continue; - } - } - $6 = (_stbi__at_eof($s)|0); - $7 = ($6|0)==(0); - if (!($7)) { - label = 10; - break; - } - $8 = HEAP8[$c>>0]|0; - $9 = ($8<<24>>24)==(35); - if (!($9)) { - label = 10; - break; - } - $10 = (_stbi__at_eof($s)|0); - $11 = ($10|0)==(0); - if (!($11)) { - continue; - } - while(1) { - $12 = HEAP8[$c>>0]|0; - switch ($12<<24>>24) { - case 13: case 10: { - continue L1; - break; - } - default: { - } - } - $13 = (_stbi__get8($s)|0); - HEAP8[$c>>0] = $13; - $14 = (_stbi__at_eof($s)|0); - $15 = ($14|0)==(0); - if (!($15)) { - continue L1; - } - } - } - if ((label|0) == 10) { - return; - } -} -function _stbi__pnm_getinteger($s,$c) { - $s = $s|0; - $c = $c|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $value$0$lcssa = 0, $value$01 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_stbi__at_eof($s)|0); - $1 = ($0|0)==(0); - if ($1) { - $value$01 = 0; - } else { - $value$0$lcssa = 0; - return ($value$0$lcssa|0); - } - while(1) { - $2 = HEAP8[$c>>0]|0; - $3 = (_stbi__pnm_isdigit($2)|0); - $4 = ($3|0)==(0); - if ($4) { - $value$0$lcssa = $value$01; - label = 4; - break; - } - $5 = ($value$01*10)|0; - $6 = $2 << 24 >> 24; - $7 = (($5) + -48)|0; - $8 = (($7) + ($6))|0; - $9 = (_stbi__get8($s)|0); - HEAP8[$c>>0] = $9; - $10 = (_stbi__at_eof($s)|0); - $11 = ($10|0)==(0); - if ($11) { - $value$01 = $8; - } else { - $value$0$lcssa = $8; - label = 4; - break; - } - } - if ((label|0) == 4) { - return ($value$0$lcssa|0); - } - return (0)|0; -} -function _stbi__at_eof($s) { - $s = $s|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; - var sp = 0; - sp = STACKTOP; - $0 = ((($s)) + 16|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)==(0|0); - if (!($2)) { - $3 = ((($s)) + 24|0); - $4 = HEAP32[$3>>2]|0; - $5 = ((($s)) + 28|0); - $6 = HEAP32[$5>>2]|0; - $7 = (FUNCTION_TABLE_ii[$4 & 15]($6)|0); - $8 = ($7|0)==(0); - if ($8) { - $$0 = 0; - return ($$0|0); - } - $9 = ((($s)) + 32|0); - $10 = HEAP32[$9>>2]|0; - $11 = ($10|0)==(0); - if ($11) { - $$0 = 1; - return ($$0|0); - } - } - $12 = ((($s)) + 168|0); - $13 = HEAP32[$12>>2]|0; - $14 = ((($s)) + 172|0); - $15 = HEAP32[$14>>2]|0; - $16 = ($13>>>0)>=($15>>>0); - $17 = $16&1; - $$0 = $17; - return ($$0|0); -} -function _stbi__pnm_isdigit($c) { - $c = $c|0; - var $0 = 0, $1 = 0, $c$off = 0, label = 0, sp = 0; - sp = STACKTOP; - $c$off = (($c) + -48)<<24>>24; - $0 = ($c$off&255)<(10); - $1 = $0&1; - return ($1|0); -} -function _stbi__pnm_isspace($c) { - $c = $c|0; - var $0 = 0, $1 = 0, $phitmp = 0, $switch$cast = 0, $switch$cast$clear = 0, $switch$downshift = 0, $switch$masked = 0, $switch$tableidx = 0, label = 0, sp = 0; - sp = STACKTOP; - $switch$tableidx = (($c) + -9)<<24>>24; - $0 = ($switch$tableidx&255)<(24); - if (!($0)) { - $1 = 0; - return ($1|0); - } - $switch$cast = $switch$tableidx&255; - $switch$cast$clear = $switch$cast & 16777215; - $switch$downshift = 8388639 >>> $switch$cast$clear; - $switch$masked = $switch$downshift & 16777215; - $phitmp = $switch$masked & 1; - $1 = $phitmp; - return ($1|0); -} -function _stbi__pic_is4($s,$str) { - $s = $s|0; - $str = $str|0; - var $$ = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_stbi__get8($s)|0); - $1 = HEAP8[$str>>0]|0; - $2 = ($0<<24>>24)==($1<<24>>24); - if (!($2)) { - return 0; - } - $3 = (_stbi__get8($s)|0); - $4 = ((($str)) + 1|0); - $5 = HEAP8[$4>>0]|0; - $6 = ($3<<24>>24)==($5<<24>>24); - if (!($6)) { - return 0; - } - $7 = (_stbi__get8($s)|0); - $8 = ((($str)) + 2|0); - $9 = HEAP8[$8>>0]|0; - $10 = ($7<<24>>24)==($9<<24>>24); - if ($10) { - $11 = (_stbi__get8($s)|0); - $12 = ((($str)) + 3|0); - $13 = HEAP8[$12>>0]|0; - $14 = ($11<<24>>24)==($13<<24>>24); - $$ = $14&1; - return ($$|0); - } else { - return 0; - } - return (0)|0; -} -function _stbi__get16be($s) { - $s = $s|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_stbi__get8($s)|0); - $1 = $0&255; - $2 = $1 << 8; - $3 = (_stbi__get8($s)|0); - $4 = $3&255; - $5 = $2 | $4; - return ($5|0); -} -function _stbi__get32be($s) { - $s = $s|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_stbi__get16be($s)|0); - $1 = $0 << 16; - $2 = (_stbi__get16be($s)|0); - $3 = (($1) + ($2))|0; - return ($3|0); -} -function _stbi__bmp_parse_header($s,$info) { - $s = $s|0; - $info = $info|0; - var $$0 = 0, $$off = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; - var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0; - var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_stbi__get8($s)|0); - $1 = ($0<<24>>24)==(66); - if ($1) { - $2 = (_stbi__get8($s)|0); - $3 = ($2<<24>>24)==(77); - if ($3) { - (_stbi__get32le($s)|0); - (_stbi__get16le($s)|0); - (_stbi__get16le($s)|0); - $4 = (_stbi__get32le($s)|0); - $5 = ((($info)) + 4|0); - HEAP32[$5>>2] = $4; - $6 = (_stbi__get32le($s)|0); - $7 = ((($info)) + 8|0); - HEAP32[$7>>2] = $6; - $8 = ($6|0)==(12); - switch ($6|0) { - case 12: { - $9 = (_stbi__get16le($s)|0); - HEAP32[$s>>2] = $9; - $10 = (_stbi__get16le($s)|0); - $11 = ((($s)) + 4|0); - HEAP32[$11>>2] = $10; - break; - } - case 124: case 108: case 56: case 40: { - $12 = (_stbi__get32le($s)|0); - HEAP32[$s>>2] = $12; - $13 = (_stbi__get32le($s)|0); - $14 = ((($s)) + 4|0); - HEAP32[$14>>2] = $13; - break; - } - default: { - _stbi__err(17771); - $$0 = 0; - return ($$0|0); - } - } - $15 = (_stbi__get16le($s)|0); - $16 = ($15|0)==(1); - if (!($16)) { - _stbi__err(17783); - $$0 = 0; - return ($$0|0); - } - $17 = (_stbi__get16le($s)|0); - HEAP32[$info>>2] = $17; - $18 = ($17|0)==(1); - if ($18) { - _stbi__err(17791); - $$0 = 0; - return ($$0|0); - } - if ($8) { - $$0 = (1); - return ($$0|0); - } - $19 = (_stbi__get32le($s)|0); - $$off = (($19) + -1)|0; - $20 = ($$off>>>0)<(2); - if ($20) { - _stbi__err(17802); - $$0 = 0; - return ($$0|0); - } - (_stbi__get32le($s)|0); - (_stbi__get32le($s)|0); - (_stbi__get32le($s)|0); - (_stbi__get32le($s)|0); - (_stbi__get32le($s)|0); - $21 = $6 & -17; - $22 = ($21|0)==(40); - if (!($22)) { - switch ($6|0) { - case 108: case 124: { - break; - } - default: { - _stbi__err(17783); - $$0 = 0; - return ($$0|0); - } - } - $39 = (_stbi__get32le($s)|0); - $40 = ((($info)) + 12|0); - HEAP32[$40>>2] = $39; - $41 = (_stbi__get32le($s)|0); - $42 = ((($info)) + 16|0); - HEAP32[$42>>2] = $41; - $43 = (_stbi__get32le($s)|0); - $44 = ((($info)) + 20|0); - HEAP32[$44>>2] = $43; - $45 = (_stbi__get32le($s)|0); - $46 = ((($info)) + 24|0); - HEAP32[$46>>2] = $45; - (_stbi__get32le($s)|0); - (_stbi__get32le($s)|0); - (_stbi__get32le($s)|0); - (_stbi__get32le($s)|0); - (_stbi__get32le($s)|0); - (_stbi__get32le($s)|0); - (_stbi__get32le($s)|0); - (_stbi__get32le($s)|0); - (_stbi__get32le($s)|0); - (_stbi__get32le($s)|0); - (_stbi__get32le($s)|0); - (_stbi__get32le($s)|0); - (_stbi__get32le($s)|0); - $47 = ($6|0)==(124); - if (!($47)) { - $$0 = (1); - return ($$0|0); - } - (_stbi__get32le($s)|0); - (_stbi__get32le($s)|0); - (_stbi__get32le($s)|0); - (_stbi__get32le($s)|0); - $$0 = (1); - return ($$0|0); - } - $23 = ($6|0)==(56); - if ($23) { - (_stbi__get32le($s)|0); - (_stbi__get32le($s)|0); - (_stbi__get32le($s)|0); - (_stbi__get32le($s)|0); - } - $24 = HEAP32[$info>>2]|0; - switch ($24|0) { - case 32: case 16: { - break; - } - default: { - $$0 = (1); - return ($$0|0); - } - } - $25 = ((($info)) + 20|0); - HEAP32[$25>>2] = 0; - $26 = ((($info)) + 16|0); - HEAP32[$26>>2] = 0; - $27 = ((($info)) + 12|0); - HEAP32[$27>>2] = 0; - switch ($19|0) { - case 0: { - $28 = HEAP32[$info>>2]|0; - $29 = ($28|0)==(32); - if ($29) { - HEAP32[$27>>2] = 16711680; - HEAP32[$26>>2] = 65280; - HEAP32[$25>>2] = 255; - $30 = ((($info)) + 24|0); - HEAP32[$30>>2] = -16777216; - $31 = ((($info)) + 28|0); - HEAP32[$31>>2] = 0; - $$0 = (1); - return ($$0|0); - } else { - HEAP32[$27>>2] = 31744; - HEAP32[$26>>2] = 992; - HEAP32[$25>>2] = 31; - $$0 = (1); - return ($$0|0); - } - break; - } - case 3: { - $32 = (_stbi__get32le($s)|0); - HEAP32[$27>>2] = $32; - $33 = (_stbi__get32le($s)|0); - HEAP32[$26>>2] = $33; - $34 = (_stbi__get32le($s)|0); - HEAP32[$25>>2] = $34; - $35 = HEAP32[$27>>2]|0; - $36 = HEAP32[$26>>2]|0; - $37 = ($35|0)==($36|0); - $38 = ($36|0)==($34|0); - $or$cond = $37 & $38; - if (!($or$cond)) { - $$0 = (1); - return ($$0|0); - } - _stbi__err(17783); - $$0 = 0; - return ($$0|0); - break; - } - default: { - _stbi__err(17783); - $$0 = 0; - return ($$0|0); - } - } - } - } - _stbi__err(17763); - $$0 = 0; - return ($$0|0); -} -function _stbi__get32le($s) { - $s = $s|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_stbi__get16le($s)|0); - $1 = (_stbi__get16le($s)|0); - $2 = $1 << 16; - $3 = (($2) + ($0))|0; - return ($3|0); -} -function _stbi__gif_header($s,$g,$comp,$is_info) { - $s = $s|0; - $g = $g|0; - $comp = $comp|0; - $is_info = $is_info|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_stbi__get8($s)|0); - $1 = ($0<<24>>24)==(71); - if ($1) { - $2 = (_stbi__get8($s)|0); - $3 = ($2<<24>>24)==(73); - if ($3) { - $4 = (_stbi__get8($s)|0); - $5 = ($4<<24>>24)==(70); - if ($5) { - $6 = (_stbi__get8($s)|0); - $7 = ($6<<24>>24)==(56); - if ($7) { - $8 = (_stbi__get8($s)|0); - switch ($8<<24>>24) { - case 57: case 55: { - break; - } - default: { - _stbi__err(17810); - $$0 = 0; - return ($$0|0); - } - } - $9 = (_stbi__get8($s)|0); - $10 = ($9<<24>>24)==(97); - if (!($10)) { - _stbi__err(17810); - $$0 = 0; - return ($$0|0); - } - HEAP32[5724>>2] = 17818; - $11 = (_stbi__get16le($s)|0); - HEAP32[$g>>2] = $11; - $12 = (_stbi__get16le($s)|0); - $13 = ((($g)) + 4|0); - HEAP32[$13>>2] = $12; - $14 = (_stbi__get8($s)|0); - $15 = $14&255; - $16 = ((($g)) + 16|0); - HEAP32[$16>>2] = $15; - $17 = (_stbi__get8($s)|0); - $18 = $17&255; - $19 = ((($g)) + 20|0); - HEAP32[$19>>2] = $18; - $20 = (_stbi__get8($s)|0); - $21 = $20&255; - $22 = ((($g)) + 24|0); - HEAP32[$22>>2] = $21; - $23 = ((($g)) + 28|0); - HEAP32[$23>>2] = -1; - $24 = ($comp|0)==(0|0); - if (!($24)) { - HEAP32[$comp>>2] = 4; - } - $25 = ($is_info|0)==(0); - if (!($25)) { - $$0 = 1; - return ($$0|0); - } - $26 = HEAP32[$16>>2]|0; - $27 = $26 & 128; - $28 = ($27|0)==(0); - if ($28) { - $$0 = 1; - return ($$0|0); - } - $29 = ((($g)) + 40|0); - $30 = $26 & 7; - $31 = 2 << $30; - _stbi__gif_parse_colortable($s,$29,$31,-1); - $$0 = 1; - return ($$0|0); - } - } - } - } - _stbi__err(17810); - $$0 = 0; - return ($$0|0); -} -function _stbi__gif_parse_colortable($s,$pal,$num_entries,$transp) { - $s = $s|0; - $pal = $pal|0; - $num_entries = $num_entries|0; - $transp = $transp|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $i$01 = 0, $not$ = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ($num_entries|0)>(0); - if ($0) { - $i$01 = 0; - } else { - return; - } - while(1) { - $1 = (_stbi__get8($s)|0); - $2 = (((($pal) + ($i$01<<2)|0)) + 2|0); - HEAP8[$2>>0] = $1; - $3 = (_stbi__get8($s)|0); - $4 = (((($pal) + ($i$01<<2)|0)) + 1|0); - HEAP8[$4>>0] = $3; - $5 = (_stbi__get8($s)|0); - $6 = (($pal) + ($i$01<<2)|0); - HEAP8[$6>>0] = $5; - $not$ = ($i$01|0)!=($transp|0); - $7 = $not$ << 31 >> 31; - $8 = (((($pal) + ($i$01<<2)|0)) + 3|0); - HEAP8[$8>>0] = $7; - $9 = (($i$01) + 1)|0; - $exitcond = ($9|0)==($num_entries|0); - if ($exitcond) { - break; - } else { - $i$01 = $9; - } - } - return; -} -function _stbi__parse_png_file($z,$scan,$req_comp) { - $z = $z|0; - $scan = $scan|0; - $req_comp = $req_comp|0; - var $$ = 0, $$0 = 0, $$lcssa1740 = 0, $$lobit = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0; - var $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0; - var $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0; - var $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0; - var $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0; - var $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; - var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0; - var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0; - var $c = 0, $color$0 = 0, $color$0$lcssa = 0, $color$1 = 0, $depth$0 = 0, $depth$0$lcssa = 0, $depth$1 = 0, $first$0 = 0, $first$0$lcssa = 0, $first$1 = 0, $has_trans$0 = 0, $has_trans$0$lcssa = 0, $has_trans$1 = 0, $i$0337 = 0, $i$1334 = 0, $idata_limit$0 = 0, $idata_limit$1 = 0, $idata_limit$1$lcssa = 0, $idata_limit$1$ph = 0, $idata_limit$2 = 0; - var $idata_limit$3 = 0, $interlace$0 = 0, $interlace$0$lcssa = 0, $interlace$1 = 0, $ioff$0 = 0, $ioff$0$lcssa = 0, $ioff$1 = 0, $is_iphone$0 = 0, $is_iphone$0$lcssa = 0, $is_iphone$1 = 0, $k$0335 = 0, $notlhs = 0, $notrhs = 0, $or$cond = 0, $or$cond11 = 0, $or$cond13 = 0, $or$cond7 = 0, $or$cond9$not = 0, $pal_img_n$0 = 0, $pal_img_n$0$lcssa = 0; - var $pal_img_n$0$lcssa1681 = 0, $pal_img_n$1 = 0, $pal_img_n$2 = 0, $pal_len$0 = 0, $pal_len$1 = 0, $palette = 0, $raw_len = 0, $req_comp$ = 0, $switch$split102D = 0, $switch$split12D = 0, $switch$split2D = 0, $switch$split42D = 0, $switch$split72D = 0, $tc = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 1056|0; - $palette = sp + 24|0; - $tc = sp + 16|0; - $c = sp + 8|0; - $raw_len = sp; - $0 = HEAP32[$z>>2]|0; - $1 = ((($z)) + 8|0); - HEAP32[$1>>2] = 0; - $2 = ((($z)) + 4|0); - HEAP32[$2>>2] = 0; - $3 = ((($z)) + 12|0); - HEAP32[$3>>2] = 0; - $4 = (_stbi__check_png_header($0)|0); - $5 = ($4|0)==(0); - if ($5) { - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $6 = ($scan|0)==(1); - if ($6) { - $$0 = 1; - STACKTOP = sp;return ($$0|0); - } - $7 = ((($c)) + 4|0); - $8 = ((($0)) + 4|0); - $9 = ((($0)) + 8|0); - $10 = ($scan|0)==(2); - $11 = ((($0)) + 8|0); - $12 = ((($0)) + 8|0); - $13 = ($scan|0)==(2); - $14 = ($scan|0)==(2); - $color$0 = 0;$depth$0 = 0;$first$0 = 1;$has_trans$0 = 0;$idata_limit$0 = 0;$interlace$0 = 0;$ioff$0 = 0;$is_iphone$0 = 0;$pal_img_n$0 = 0;$pal_len$0 = 0; - L7: while(1) { - _stbi__get_chunk_header($c,$0); - $15 = HEAP32[$7>>2]|0; - $switch$split2D = ($15|0)<(1229472850); - L9: do { - if ($switch$split2D) { - $switch$split12D = ($15|0)<(1229209940); - if ($switch$split12D) { - switch ($15|0) { - case 1130840649: { - break; - } - default: { - label = 96; - break L9; - } - } - $16 = HEAP32[$c>>2]|0; - _stbi__skip($0,$16); - $color$1 = $color$0;$depth$1 = $depth$0;$first$1 = $first$0;$has_trans$1 = $has_trans$0;$idata_limit$3 = $idata_limit$0;$interlace$1 = $interlace$0;$ioff$1 = $ioff$0;$is_iphone$1 = 1;$pal_img_n$2 = $pal_img_n$0;$pal_len$1 = $pal_len$0; - break; - } - $switch$split72D = ($15|0)<(1229278788); - if (!($switch$split72D)) { - switch ($15|0) { - case 1229278788: { - $color$0$lcssa = $color$0;$depth$0$lcssa = $depth$0;$first$0$lcssa = $first$0;$has_trans$0$lcssa = $has_trans$0;$interlace$0$lcssa = $interlace$0;$ioff$0$lcssa = $ioff$0;$is_iphone$0$lcssa = $is_iphone$0;$pal_img_n$0$lcssa = $pal_img_n$0; - label = 81; - break L7; - break; - } - default: { - label = 96; - break L9; - } - } - } - switch ($15|0) { - case 1229209940: { - break; - } - default: { - label = 96; - break L9; - } - } - $114 = ($first$0|0)==(0); - if (!($114)) { - label = 66; - break L7; - } - $115 = ($pal_img_n$0<<24>>24)==(0); - $116 = ($pal_len$0|0)!=(0); - $or$cond7 = $116 | $115; - if (!($or$cond7)) { - label = 68; - break L7; - } - if ($14) { - $pal_img_n$0$lcssa1681 = $pal_img_n$0; - label = 70; - break L7; - } - $119 = HEAP32[$c>>2]|0; - $120 = (($119) + ($ioff$0))|0; - $121 = ($120|0)<($ioff$0|0); - if ($121) { - $$0 = 0; - label = 102; - break L7; - } - $122 = ($120>>>0)>($idata_limit$0>>>0); - if ($122) { - $123 = ($idata_limit$0|0)==(0); - $124 = ($119>>>0)>(4096); - $125 = $124 ? $119 : 4096; - $idata_limit$1$ph = $123 ? $125 : $idata_limit$0; - $126 = HEAP32[$c>>2]|0; - $127 = (($126) + ($ioff$0))|0; - $idata_limit$1 = $idata_limit$1$ph; - while(1) { - $128 = ($127>>>0)>($idata_limit$1>>>0); - $129 = $idata_limit$1 << 1; - if ($128) { - $idata_limit$1 = $129; - } else { - $idata_limit$1$lcssa = $idata_limit$1; - break; - } - } - $130 = HEAP32[$2>>2]|0; - $131 = (_realloc($130,$idata_limit$1$lcssa)|0); - $132 = ($131|0)==(0|0); - if ($132) { - label = 76; - break L7; - } - HEAP32[$2>>2] = $131; - $idata_limit$2 = $idata_limit$1$lcssa; - } else { - $idata_limit$2 = $idata_limit$0; - } - $133 = HEAP32[$2>>2]|0; - $134 = (($133) + ($ioff$0)|0); - $135 = HEAP32[$c>>2]|0; - $136 = (_stbi__getn($0,$134,$135)|0); - $137 = ($136|0)==(0); - if ($137) { - label = 79; - break L7; - } - $138 = HEAP32[$c>>2]|0; - $139 = (($138) + ($ioff$0))|0; - $color$1 = $color$0;$depth$1 = $depth$0;$first$1 = $first$0;$has_trans$1 = $has_trans$0;$idata_limit$3 = $idata_limit$2;$interlace$1 = $interlace$0;$ioff$1 = $139;$is_iphone$1 = $is_iphone$0;$pal_img_n$2 = $pal_img_n$0;$pal_len$1 = $pal_len$0; - } else { - $switch$split42D = ($15|0)<(1347179589); - if ($switch$split42D) { - switch ($15|0) { - case 1229472850: { - break; - } - default: { - label = 96; - break L9; - } - } - $17 = ($first$0|0)==(0); - if ($17) { - label = 7; - break L7; - } - $18 = HEAP32[$c>>2]|0; - $19 = ($18|0)==(13); - if (!($19)) { - label = 9; - break L7; - } - $20 = (_stbi__get32be($0)|0); - HEAP32[$0>>2] = $20; - $21 = ($20>>>0)>(16777216); - if ($21) { - label = 11; - break L7; - } - $22 = (_stbi__get32be($0)|0); - HEAP32[$8>>2] = $22; - $23 = ($22>>>0)>(16777216); - if ($23) { - label = 13; - break L7; - } - $24 = (_stbi__get8($0)|0); - $25 = $24&255; - switch ($24<<24>>24) { - case 1: case 2: case 4: case 8: { - break; - } - default: { - label = 15; - break L7; - } - } - $26 = (_stbi__get8($0)|0); - $27 = $26&255; - $28 = ($26&255)>(6); - if ($28) { - label = 17; - break L7; - } - $29 = ($26<<24>>24)==(3); - if ($29) { - $pal_img_n$1 = 3; - } else { - $30 = $27 & 1; - $31 = ($30|0)==(0); - if ($31) { - $pal_img_n$1 = $pal_img_n$0; - } else { - label = 20; - break L7; - } - } - $32 = (_stbi__get8($0)|0); - $33 = ($32<<24>>24)==(0); - if (!($33)) { - label = 22; - break L7; - } - $34 = (_stbi__get8($0)|0); - $35 = ($34<<24>>24)==(0); - if (!($35)) { - label = 24; - break L7; - } - $36 = (_stbi__get8($0)|0); - $37 = $36&255; - $38 = ($36&255)>(1); - if ($38) { - label = 26; - break L7; - } - $39 = HEAP32[$0>>2]|0; - $40 = ($39|0)==(0); - if ($40) { - label = 29; - break L7; - } - $41 = HEAP32[$8>>2]|0; - $42 = ($41|0)==(0); - if ($42) { - label = 29; - break L7; - } - $43 = ($pal_img_n$1<<24>>24)==(0); - if (!($43)) { - HEAP32[$11>>2] = 1; - $53 = HEAP32[$0>>2]|0; - $54 = (1073741824 / ($53>>>0))&-1; - $55 = $54 >>> 2; - $56 = HEAP32[$8>>2]|0; - $57 = ($55>>>0)<($56>>>0); - if ($57) { - label = 35; - break L7; - } else { - $color$1 = $27;$depth$1 = $25;$first$1 = 0;$has_trans$1 = $has_trans$0;$idata_limit$3 = $idata_limit$0;$interlace$1 = $37;$ioff$1 = $ioff$0;$is_iphone$1 = $is_iphone$0;$pal_img_n$2 = $pal_img_n$1;$pal_len$1 = $pal_len$0; - break; - } - } - $44 = $27 & 2; - $45 = $44 | 1; - $46 = $27 >>> 2; - $$lobit = $46 & 1; - $47 = (($45) + ($$lobit))|0; - HEAP32[$9>>2] = $47; - $48 = HEAP32[$0>>2]|0; - $49 = (1073741824 / ($48>>>0))&-1; - $50 = (($49>>>0) / ($47>>>0))&-1; - $51 = HEAP32[$8>>2]|0; - $52 = ($50>>>0)<($51>>>0); - if ($52) { - label = 32; - break L7; - } - if ($10) { - $$0 = 1; - label = 102; - break L7; - } else { - $color$1 = $27;$depth$1 = $25;$first$1 = 0;$has_trans$1 = $has_trans$0;$idata_limit$3 = $idata_limit$0;$interlace$1 = $37;$ioff$1 = $ioff$0;$is_iphone$1 = $is_iphone$0;$pal_img_n$2 = 0;$pal_len$1 = $pal_len$0; - break; - } - } - $switch$split102D = ($15|0)<(1951551059); - if ($switch$split102D) { - switch ($15|0) { - case 1347179589: { - break; - } - default: { - label = 96; - break L9; - } - } - $58 = ($first$0|0)==(0); - if (!($58)) { - label = 37; - break L7; - } - $59 = HEAP32[$c>>2]|0; - $60 = ($59>>>0)>(768); - if ($60) { - label = 39; - break L7; - } - $61 = (($59>>>0) / 3)&-1; - $62 = ($61*3)|0; - $63 = ($62|0)==($59|0); - if (!($63)) { - label = 42; - break L7; - } - $64 = ($59>>>0)>(2); - if ($64) { - $i$0337 = 0; - } else { - $color$1 = $color$0;$depth$1 = $depth$0;$first$1 = 0;$has_trans$1 = $has_trans$0;$idata_limit$3 = $idata_limit$0;$interlace$1 = $interlace$0;$ioff$1 = $ioff$0;$is_iphone$1 = $is_iphone$0;$pal_img_n$2 = $pal_img_n$0;$pal_len$1 = $61; - break; - } - while(1) { - $65 = (_stbi__get8($0)|0); - $66 = $i$0337 << 2; - $67 = (($palette) + ($66)|0); - HEAP8[$67>>0] = $65; - $68 = (_stbi__get8($0)|0); - $69 = $66 | 1; - $70 = (($palette) + ($69)|0); - HEAP8[$70>>0] = $68; - $71 = (_stbi__get8($0)|0); - $72 = $66 | 2; - $73 = (($palette) + ($72)|0); - HEAP8[$73>>0] = $71; - $74 = $66 | 3; - $75 = (($palette) + ($74)|0); - HEAP8[$75>>0] = -1; - $76 = (($i$0337) + 1)|0; - $77 = ($76>>>0)<($61>>>0); - if ($77) { - $i$0337 = $76; - } else { - $color$1 = $color$0;$depth$1 = $depth$0;$first$1 = $first$0;$has_trans$1 = $has_trans$0;$idata_limit$3 = $idata_limit$0;$interlace$1 = $interlace$0;$ioff$1 = $ioff$0;$is_iphone$1 = $is_iphone$0;$pal_img_n$2 = $pal_img_n$0;$pal_len$1 = $61; - break L9; - } - } - } - switch ($15|0) { - case 1951551059: { - break; - } - default: { - label = 96; - break L9; - } - } - $78 = ($first$0|0)==(0); - if (!($78)) { - label = 45; - break L7; - } - $79 = HEAP32[$2>>2]|0; - $80 = ($79|0)==(0|0); - if (!($80)) { - label = 47; - break L7; - } - $81 = ($pal_img_n$0<<24>>24)==(0); - if ($81) { - $95 = HEAP32[$12>>2]|0; - $96 = $95 & 1; - $97 = ($96|0)==(0); - if ($97) { - label = 59; - break L7; - } - $98 = HEAP32[$c>>2]|0; - $99 = $95 << 1; - $100 = ($98|0)==($99|0); - if (!($100)) { - label = 63; - break L7; - } - $101 = HEAP32[$12>>2]|0; - $102 = ($101|0)>(0); - if (!($102)) { - $color$1 = $color$0;$depth$1 = $depth$0;$first$1 = 0;$has_trans$1 = 1;$idata_limit$3 = $idata_limit$0;$interlace$1 = $interlace$0;$ioff$1 = $ioff$0;$is_iphone$1 = $is_iphone$0;$pal_img_n$2 = 0;$pal_len$1 = $pal_len$0; - break; - } - $103 = (18042 + ($depth$0)|0); - $104 = HEAP8[$103>>0]|0; - $105 = $104&255; - $k$0335 = 0; - while(1) { - $106 = (_stbi__get16be($0)|0); - $107 = $106 & 255; - $108 = Math_imul($105, $107)|0; - $109 = $108&255; - $110 = (($tc) + ($k$0335)|0); - HEAP8[$110>>0] = $109; - $111 = (($k$0335) + 1)|0; - $112 = HEAP32[$12>>2]|0; - $113 = ($111|0)<($112|0); - if ($113) { - $k$0335 = $111; - } else { - $color$1 = $color$0;$depth$1 = $depth$0;$first$1 = $first$0;$has_trans$1 = 1;$idata_limit$3 = $idata_limit$0;$interlace$1 = $interlace$0;$ioff$1 = $ioff$0;$is_iphone$1 = $is_iphone$0;$pal_img_n$2 = $pal_img_n$0;$pal_len$1 = $pal_len$0; - break L9; - } - } - } - if ($13) { - label = 50; - break L7; - } - $83 = ($pal_len$0|0)==(0); - if ($83) { - label = 52; - break L7; - } - $84 = HEAP32[$c>>2]|0; - $85 = ($84>>>0)>($pal_len$0>>>0); - if ($85) { - label = 56; - break L7; - } - $86 = HEAP32[$c>>2]|0; - $87 = ($86|0)==(0); - if ($87) { - $color$1 = $color$0;$depth$1 = $depth$0;$first$1 = 0;$has_trans$1 = $has_trans$0;$idata_limit$3 = $idata_limit$0;$interlace$1 = $interlace$0;$ioff$1 = $ioff$0;$is_iphone$1 = $is_iphone$0;$pal_img_n$2 = 4;$pal_len$1 = $pal_len$0; - } else { - $88 = HEAP32[$c>>2]|0; - $i$1334 = 0; - while(1) { - $89 = (_stbi__get8($0)|0); - $90 = $i$1334 << 2; - $91 = $90 | 3; - $92 = (($palette) + ($91)|0); - HEAP8[$92>>0] = $89; - $93 = (($i$1334) + 1)|0; - $94 = ($93>>>0)<($88>>>0); - if ($94) { - $i$1334 = $93; - } else { - $color$1 = $color$0;$depth$1 = $depth$0;$first$1 = $first$0;$has_trans$1 = $has_trans$0;$idata_limit$3 = $idata_limit$0;$interlace$1 = $interlace$0;$ioff$1 = $ioff$0;$is_iphone$1 = $is_iphone$0;$pal_img_n$2 = 4;$pal_len$1 = $pal_len$0; - break; - } - } - } - } - } while(0); - if ((label|0) == 96) { - label = 0; - $182 = ($first$0|0)==(0); - if (!($182)) { - label = 97; - break; - } - $183 = $15 & 536870912; - $184 = ($183|0)==(0); - if ($184) { - $$lcssa1740 = $15; - label = 99; - break; - } - $195 = HEAP32[$c>>2]|0; - _stbi__skip($0,$195); - $color$1 = $color$0;$depth$1 = $depth$0;$first$1 = 0;$has_trans$1 = $has_trans$0;$idata_limit$3 = $idata_limit$0;$interlace$1 = $interlace$0;$ioff$1 = $ioff$0;$is_iphone$1 = $is_iphone$0;$pal_img_n$2 = $pal_img_n$0;$pal_len$1 = $pal_len$0; - } - (_stbi__get32be($0)|0); - $color$0 = $color$1;$depth$0 = $depth$1;$first$0 = $first$1;$has_trans$0 = $has_trans$1;$idata_limit$0 = $idata_limit$3;$interlace$0 = $interlace$1;$ioff$0 = $ioff$1;$is_iphone$0 = $is_iphone$1;$pal_img_n$0 = $pal_img_n$2;$pal_len$0 = $pal_len$1; - } - switch (label|0) { - case 7: { - _stbi__err(17819); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - break; - } - case 9: { - _stbi__err(17833); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - break; - } - case 11: { - _stbi__err(17846); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - break; - } - case 13: { - _stbi__err(17846); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - break; - } - case 15: { - _stbi__err(17856); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - break; - } - case 17: { - _stbi__err(17873); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - break; - } - case 20: { - _stbi__err(17873); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - break; - } - case 22: { - _stbi__err(17883); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - break; - } - case 24: { - _stbi__err(17899); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - break; - } - case 26: { - _stbi__err(17917); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - break; - } - case 29: { - _stbi__err(17938); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - break; - } - case 32: { - _stbi__err(17846); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - break; - } - case 35: { - _stbi__err(17846); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - break; - } - case 37: { - _stbi__err(17952); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - break; - } - case 39: { - _stbi__err(17967); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - break; - } - case 42: { - _stbi__err(17967); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - break; - } - case 45: { - _stbi__err(17952); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - break; - } - case 47: { - _stbi__err(17980); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - break; - } - case 50: { - $82 = ((($0)) + 8|0); - HEAP32[$82>>2] = 4; - $$0 = 1; - STACKTOP = sp;return ($$0|0); - break; - } - case 52: { - _stbi__err(17996); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - break; - } - case 56: { - _stbi__err(18013); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - break; - } - case 59: { - _stbi__err(18026); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - break; - } - case 63: { - _stbi__err(18013); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - break; - } - case 66: { - _stbi__err(17952); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - break; - } - case 68: { - _stbi__err(18051); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - break; - } - case 70: { - $117 = $pal_img_n$0$lcssa1681&255; - $118 = ((($0)) + 8|0); - HEAP32[$118>>2] = $117; - $$0 = 1; - STACKTOP = sp;return ($$0|0); - break; - } - case 76: { - _stbi__err(18059); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - break; - } - case 79: { - _stbi__err(18068); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - break; - } - case 81: { - $140 = ($first$0$lcssa|0)==(0); - if (!($140)) { - _stbi__err(17952); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $141 = ($scan|0)==(0); - if (!($141)) { - $$0 = 1; - STACKTOP = sp;return ($$0|0); - } - $142 = HEAP32[$2>>2]|0; - $143 = ($142|0)==(0|0); - if ($143) { - _stbi__err(18078); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $144 = HEAP32[$0>>2]|0; - $145 = Math_imul($144, $depth$0$lcssa)|0; - $146 = (($145) + 7)|0; - $147 = $146 >>> 3; - $148 = ((($0)) + 4|0); - $149 = HEAP32[$148>>2]|0; - $150 = ((($0)) + 8|0); - $151 = HEAP32[$150>>2]|0; - $152 = Math_imul($151, $149)|0; - $153 = Math_imul($152, $147)|0; - $154 = (($153) + ($149))|0; - HEAP32[$raw_len>>2] = $154; - $155 = HEAP32[$2>>2]|0; - $156 = ($is_iphone$0$lcssa|0)!=(0); - $157 = $156&1; - $158 = $157 ^ 1; - $159 = (_stbi_zlib_decode_malloc_guesssize_headerflag($155,$ioff$0$lcssa,$154,$raw_len,$158)|0); - HEAP32[$1>>2] = $159; - $160 = ($159|0)==(0|0); - if ($160) { - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $161 = HEAP32[$2>>2]|0; - _free($161); - HEAP32[$2>>2] = 0; - $162 = HEAP32[$150>>2]|0; - $163 = (($162) + 1)|0; - $notlhs = ($163|0)!=($req_comp|0); - $notrhs = ($req_comp|0)==(3); - $or$cond9$not = $notrhs | $notlhs; - $164 = ($pal_img_n$0$lcssa<<24>>24)!=(0); - $or$cond11 = $164 | $or$cond9$not; - $165 = ($has_trans$0$lcssa<<24>>24)==(0); - $or$cond = $165 & $or$cond11; - $166 = ((($0)) + 12|0); - $$ = $or$cond ? $162 : $163; - HEAP32[$166>>2] = $$; - $167 = HEAP32[$1>>2]|0; - $168 = HEAP32[$raw_len>>2]|0; - $169 = ((($0)) + 12|0); - $170 = (_stbi__create_png_image($z,$167,$168,$$,$depth$0$lcssa,$color$0$lcssa,$interlace$0$lcssa)|0); - $171 = ($170|0)==(0); - if ($171) { - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - if (!($165)) { - $172 = HEAP32[$169>>2]|0; - _stbi__compute_transparency($z,$tc,$172); - } - $173 = HEAP32[5736>>2]|0; - $174 = ($173|0)!=(0); - $or$cond13 = $156 & $174; - if ($or$cond13) { - $175 = HEAP32[$169>>2]|0; - $176 = ($175|0)>(2); - if ($176) { - _stbi__de_iphone($z); - } - } - if ($164) { - $177 = $pal_img_n$0$lcssa&255; - HEAP32[$150>>2] = $177; - $178 = ($req_comp|0)>(2); - $req_comp$ = $178 ? $req_comp : $177; - HEAP32[$169>>2] = $req_comp$; - $179 = (_stbi__expand_png_palette($z,$palette,$req_comp$)|0); - $180 = ($179|0)==(0); - if ($180) { - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - } - $181 = HEAP32[$1>>2]|0; - _free($181); - HEAP32[$1>>2] = 0; - $$0 = 1; - STACKTOP = sp;return ($$0|0); - break; - } - case 97: { - _stbi__err(17952); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - break; - } - case 99: { - $185 = $$lcssa1740 >>> 24; - $186 = $185&255; - HEAP8[18086>>0] = $186; - $187 = HEAP32[$7>>2]|0; - $188 = $187 >>> 16; - $189 = $188&255; - HEAP8[(18087)>>0] = $189; - $190 = HEAP32[$7>>2]|0; - $191 = $190 >>> 8; - $192 = $191&255; - HEAP8[(18088)>>0] = $192; - $193 = HEAP32[$7>>2]|0; - $194 = $193&255; - HEAP8[(18089)>>0] = $194; - _stbi__err(18086); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - break; - } - case 102: { - STACKTOP = sp;return ($$0|0); - break; - } - } - return (0)|0; -} -function _stbi__check_png_header($s) { - $s = $s|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_stbi__get8($s)|0); - $1 = ($0<<24>>24)==(-119); - if ($1) { - $2 = (_stbi__get8($s)|0); - $3 = ($2<<24>>24)==(80); - if ($3) { - $4 = (_stbi__get8($s)|0); - $5 = ($4<<24>>24)==(78); - if ($5) { - $6 = (_stbi__get8($s)|0); - $7 = ($6<<24>>24)==(71); - if ($7) { - $8 = (_stbi__get8($s)|0); - $9 = ($8<<24>>24)==(13); - if ($9) { - $10 = (_stbi__get8($s)|0); - $11 = ($10<<24>>24)==(10); - if ($11) { - $12 = (_stbi__get8($s)|0); - $13 = ($12<<24>>24)==(26); - if ($13) { - $14 = (_stbi__get8($s)|0); - $15 = ($14<<24>>24)==(10); - if ($15) { - $$0 = 1; - return ($$0|0); - } - } - } - } - } - } - } - } - _stbi__err(18366); - $$0 = 0; - return ($$0|0); -} -function _stbi__get_chunk_header($agg$result,$s) { - $agg$result = $agg$result|0; - $s = $s|0; - var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_stbi__get32be($s)|0); - $1 = (_stbi__get32be($s)|0); - HEAP32[$agg$result>>2] = $0; - $2 = ((($agg$result)) + 4|0); - HEAP32[$2>>2] = $1; - return; -} -function _stbi__getn($s,$buffer,$n) { - $s = $s|0; - $buffer = $buffer|0; - $n = $n|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($s)) + 16|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)==(0|0); - if (!($2)) { - $3 = ((($s)) + 172|0); - $4 = HEAP32[$3>>2]|0; - $5 = ((($s)) + 168|0); - $6 = HEAP32[$5>>2]|0; - $7 = $4; - $8 = $6; - $9 = (($7) - ($8))|0; - $10 = ($9|0)<($n|0); - if ($10) { - _memcpy(($buffer|0),($6|0),($9|0))|0; - $11 = HEAP32[$0>>2]|0; - $12 = ((($s)) + 28|0); - $13 = HEAP32[$12>>2]|0; - $14 = (($buffer) + ($9)|0); - $15 = (($n) - ($9))|0; - $16 = (FUNCTION_TABLE_iiii[$11 & 15]($13,$14,$15)|0); - $17 = ($16|0)==($15|0); - $18 = $17&1; - $19 = HEAP32[$3>>2]|0; - HEAP32[$5>>2] = $19; - $$0 = $18; - return ($$0|0); - } - } - $20 = ((($s)) + 168|0); - $21 = HEAP32[$20>>2]|0; - $22 = (($21) + ($n)|0); - $23 = ((($s)) + 172|0); - $24 = HEAP32[$23>>2]|0; - $25 = ($22>>>0)>($24>>>0); - if ($25) { - $$0 = 0; - return ($$0|0); - } - _memcpy(($buffer|0),($21|0),($n|0))|0; - $26 = HEAP32[$20>>2]|0; - $27 = (($26) + ($n)|0); - HEAP32[$20>>2] = $27; - $$0 = 1; - return ($$0|0); -} -function _stbi__create_png_image($a,$image_data,$image_data_len,$out_n,$depth,$color,$interlaced) { - $a = $a|0; - $image_data = $image_data|0; - $image_data_len = $image_data_len|0; - $out_n = $out_n|0; - $depth = $depth|0; - $color = $color|0; - $interlaced = $interlaced|0; - var $$0 = 0, $$0212 = 0, $$0311 = 0, $$1 = 0, $$14 = 0, $$sum = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0; - var $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0; - var $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0; - var $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $8 = 0, $9 = 0, $i$07 = 0; - var $j$08 = 0, $or$cond = 0, $p$010 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ($interlaced|0)==(0); - $1 = HEAP32[$a>>2]|0; - $2 = HEAP32[$1>>2]|0; - $3 = ((($1)) + 4|0); - $4 = HEAP32[$3>>2]|0; - if ($0) { - $5 = (_stbi__create_png_image_raw($a,$image_data,$image_data_len,$out_n,$2,$4,$depth,$color)|0); - $$0 = $5; - return ($$0|0); - } - $6 = Math_imul($2, $out_n)|0; - $7 = Math_imul($6, $4)|0; - $8 = (_stbi__malloc($7)|0); - $9 = ((($a)) + 12|0); - $10 = ((($a)) + 12|0); - $$0212 = $image_data;$$0311 = $image_data_len;$p$010 = 0; - while(1) { - $11 = HEAP32[$a>>2]|0; - $12 = HEAP32[$11>>2]|0; - $13 = (7888 + ($p$010<<2)|0); - $14 = HEAP32[$13>>2]|0; - $15 = (7916 + ($p$010<<2)|0); - $16 = HEAP32[$15>>2]|0; - $17 = (($12) + -1)|0; - $18 = (($17) - ($14))|0; - $19 = (($18) + ($16))|0; - $20 = (($19>>>0) / ($16>>>0))&-1; - $21 = ((($11)) + 4|0); - $22 = HEAP32[$21>>2]|0; - $23 = (7944 + ($p$010<<2)|0); - $24 = HEAP32[$23>>2]|0; - $25 = (7972 + ($p$010<<2)|0); - $26 = HEAP32[$25>>2]|0; - $27 = (($22) + -1)|0; - $28 = (($27) - ($24))|0; - $29 = (($28) + ($26))|0; - $30 = (($29>>>0) / ($26>>>0))&-1; - $31 = ($20|0)!=(0); - $32 = ($30|0)!=(0); - $or$cond = $31 & $32; - if ($or$cond) { - $33 = ((($11)) + 8|0); - $34 = HEAP32[$33>>2]|0; - $35 = Math_imul($20, $depth)|0; - $36 = Math_imul($35, $34)|0; - $37 = (($36) + 7)|0; - $38 = $37 >> 3; - $39 = (($38) + 1)|0; - $40 = Math_imul($39, $30)|0; - $41 = (_stbi__create_png_image_raw($a,$$0212,$$0311,$out_n,$20,$30,$depth,$color)|0); - $42 = ($41|0)==(0); - if ($42) { - label = 8; - break; - } - $43 = ($30|0)>(0); - if ($43) { - $44 = ($20|0)>(0); - $j$08 = 0; - while(1) { - if ($44) { - $45 = HEAP32[$25>>2]|0; - $46 = Math_imul($45, $j$08)|0; - $47 = HEAP32[$23>>2]|0; - $48 = (($46) + ($47))|0; - $49 = HEAP32[$15>>2]|0; - $50 = HEAP32[$13>>2]|0; - $51 = Math_imul($j$08, $20)|0; - $i$07 = 0; - while(1) { - $52 = Math_imul($49, $i$07)|0; - $53 = (($52) + ($50))|0; - $54 = HEAP32[$a>>2]|0; - $55 = HEAP32[$54>>2]|0; - $56 = Math_imul($55, $48)|0; - $57 = (($53) + ($56))|0; - $$sum = Math_imul($57, $out_n)|0; - $58 = (($8) + ($$sum)|0); - $59 = HEAP32[$10>>2]|0; - $60 = (($i$07) + ($51))|0; - $61 = Math_imul($60, $out_n)|0; - $62 = (($59) + ($61)|0); - _memcpy(($58|0),($62|0),($out_n|0))|0; - $63 = (($i$07) + 1)|0; - $64 = ($63|0)<($20|0); - if ($64) { - $i$07 = $63; - } else { - break; - } - } - } - $65 = (($j$08) + 1)|0; - $66 = ($65|0)<($30|0); - if ($66) { - $j$08 = $65; - } else { - break; - } - } - } - $67 = HEAP32[$9>>2]|0; - _free($67); - $68 = (($$0212) + ($40)|0); - $69 = (($$0311) - ($40))|0; - $$1 = $68;$$14 = $69; - } else { - $$1 = $$0212;$$14 = $$0311; - } - $70 = (($p$010) + 1)|0; - $71 = ($70|0)<(7); - if ($71) { - $$0212 = $$1;$$0311 = $$14;$p$010 = $70; - } else { - label = 15; - break; - } - } - if ((label|0) == 8) { - _free($8); - $$0 = 0; - return ($$0|0); - } - else if ((label|0) == 15) { - $72 = ((($a)) + 12|0); - HEAP32[$72>>2] = $8; - $$0 = 1; - return ($$0|0); - } - return (0)|0; -} -function _stbi__compute_transparency($z,$tc,$out_n) { - $z = $z|0; - $tc = $tc|0; - $out_n = $out_n|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond8 = 0, $i$03 = 0, $i$15 = 0, $not$ = 0, $p$04 = 0, $p$16 = 0; - var label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[$z>>2]|0; - $1 = HEAP32[$0>>2]|0; - $2 = ((($0)) + 4|0); - $3 = HEAP32[$2>>2]|0; - $4 = Math_imul($3, $1)|0; - $5 = ((($z)) + 12|0); - $6 = HEAP32[$5>>2]|0; - switch ($out_n|0) { - case 2: { - $11 = ($4|0)==(0); - if ($11) { - return; - } - $12 = Math_imul($3, $1)|0; - $i$03 = 0;$p$04 = $6; - while(1) { - $13 = HEAP8[$p$04>>0]|0; - $14 = HEAP8[$tc>>0]|0; - $not$ = ($13<<24>>24)!=($14<<24>>24); - $15 = $not$ << 31 >> 31; - $16 = ((($p$04)) + 1|0); - HEAP8[$16>>0] = $15; - $17 = ((($p$04)) + 2|0); - $18 = (($i$03) + 1)|0; - $exitcond = ($18|0)==($12|0); - if ($exitcond) { - break; - } else { - $i$03 = $18;$p$04 = $17; - } - } - return; - break; - } - case 4: { - $7 = ($4|0)==(0); - if ($7) { - return; - } - $8 = ((($tc)) + 1|0); - $9 = ((($tc)) + 2|0); - $10 = Math_imul($3, $1)|0; - $i$15 = 0;$p$16 = $6; - while(1) { - $19 = HEAP8[$p$16>>0]|0; - $20 = HEAP8[$tc>>0]|0; - $21 = ($19<<24>>24)==($20<<24>>24); - if ($21) { - $22 = ((($p$16)) + 1|0); - $23 = HEAP8[$22>>0]|0; - $24 = HEAP8[$8>>0]|0; - $25 = ($23<<24>>24)==($24<<24>>24); - if ($25) { - $26 = ((($p$16)) + 2|0); - $27 = HEAP8[$26>>0]|0; - $28 = HEAP8[$9>>0]|0; - $29 = ($27<<24>>24)==($28<<24>>24); - if ($29) { - $30 = ((($p$16)) + 3|0); - HEAP8[$30>>0] = 0; - } - } - } - $31 = ((($p$16)) + 4|0); - $32 = (($i$15) + 1)|0; - $exitcond8 = ($32|0)==($10|0); - if ($exitcond8) { - break; - } else { - $i$15 = $32;$p$16 = $31; - } - } - return; - break; - } - default: { - ___assert_fail((18159|0),(18129|0),4214,(18184|0)); - // unreachable; - } - } -} -function _stbi__de_iphone($z) { - $z = $z|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond13 = 0, $exitcond14 = 0, $i$06 = 0, $i$111 = 0, $i$28 = 0, $p$05 = 0, $p$110 = 0, $p$27 = 0, $storemerge = 0, label = 0; - var sp = 0; - sp = STACKTOP; - $0 = HEAP32[$z>>2]|0; - $1 = HEAP32[$0>>2]|0; - $2 = ((($0)) + 4|0); - $3 = HEAP32[$2>>2]|0; - $4 = Math_imul($3, $1)|0; - $5 = ((($z)) + 12|0); - $6 = HEAP32[$5>>2]|0; - $7 = ((($0)) + 12|0); - $8 = HEAP32[$7>>2]|0; - switch ($8|0) { - case 3: { - $9 = ($4|0)==(0); - if ($9) { - return; - } - $10 = Math_imul($3, $1)|0; - $i$06 = 0;$p$05 = $6; - while(1) { - $11 = HEAP8[$p$05>>0]|0; - $12 = ((($p$05)) + 2|0); - $13 = HEAP8[$12>>0]|0; - HEAP8[$p$05>>0] = $13; - HEAP8[$12>>0] = $11; - $14 = ((($p$05)) + 3|0); - $15 = (($i$06) + 1)|0; - $exitcond = ($15|0)==($10|0); - if ($exitcond) { - break; - } else { - $i$06 = $15;$p$05 = $14; - } - } - return; - break; - } - case 4: { - $16 = HEAP32[5732>>2]|0; - $17 = ($16|0)==(0); - $18 = ($4|0)==(0); - if ($17) { - if ($18) { - return; - } - $20 = Math_imul($3, $1)|0; - $i$28 = 0;$p$27 = $6; - while(1) { - $44 = HEAP8[$p$27>>0]|0; - $45 = ((($p$27)) + 2|0); - $46 = HEAP8[$45>>0]|0; - HEAP8[$p$27>>0] = $46; - HEAP8[$45>>0] = $44; - $47 = ((($p$27)) + 4|0); - $48 = (($i$28) + 1)|0; - $exitcond13 = ($48|0)==($20|0); - if ($exitcond13) { - break; - } else { - $i$28 = $48;$p$27 = $47; - } - } - return; - } - if ($18) { - return; - } - $19 = Math_imul($3, $1)|0; - $i$111 = 0;$p$110 = $6; - while(1) { - $21 = ((($p$110)) + 3|0); - $22 = HEAP8[$21>>0]|0; - $23 = HEAP8[$p$110>>0]|0; - $24 = ($22<<24>>24)==(0); - $25 = ((($p$110)) + 2|0); - $26 = HEAP8[$25>>0]|0; - if ($24) { - HEAP8[$p$110>>0] = $26; - $storemerge = $23; - } else { - $27 = $26&255; - $28 = ($27*255)|0; - $29 = $22&255; - $30 = (($28>>>0) / ($29>>>0))&-1; - $31 = $30&255; - HEAP8[$p$110>>0] = $31; - $32 = ((($p$110)) + 1|0); - $33 = HEAP8[$32>>0]|0; - $34 = $33&255; - $35 = ($34*255)|0; - $36 = (($35>>>0) / ($29>>>0))&-1; - $37 = $36&255; - HEAP8[$32>>0] = $37; - $38 = $23&255; - $39 = ($38*255)|0; - $40 = (($39>>>0) / ($29>>>0))&-1; - $41 = $40&255; - $storemerge = $41; - } - HEAP8[$25>>0] = $storemerge; - $42 = ((($p$110)) + 4|0); - $43 = (($i$111) + 1)|0; - $exitcond14 = ($43|0)==($19|0); - if ($exitcond14) { - break; - } else { - $i$111 = $43;$p$110 = $42; - } - } - return; - break; - } - default: { - ___assert_fail((18111|0),(18129|0),4295,(18143|0)); - // unreachable; - } - } -} -function _stbi__expand_png_palette($a,$palette,$pal_img_n) { - $a = $a|0; - $palette = $palette|0; - $pal_img_n = $pal_img_n|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; - var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond8 = 0, $i$04 = 0, $i$16 = 0, $p$03 = 0, $p$15 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[$a>>2]|0; - $1 = HEAP32[$0>>2]|0; - $2 = ((($0)) + 4|0); - $3 = HEAP32[$2>>2]|0; - $4 = Math_imul($3, $1)|0; - $5 = ((($a)) + 12|0); - $6 = HEAP32[$5>>2]|0; - $7 = Math_imul($4, $pal_img_n)|0; - $8 = (_stbi__malloc($7)|0); - $9 = ($8|0)==(0|0); - if ($9) { - _stbi__err(18059); - $$0 = 0; - return ($$0|0); - } - $10 = ($pal_img_n|0)==(3); - $11 = ($4|0)==(0); - if ($10) { - if (!($11)) { - $13 = Math_imul($3, $1)|0; - $i$04 = 0;$p$03 = $8; - while(1) { - $14 = (($6) + ($i$04)|0); - $15 = HEAP8[$14>>0]|0; - $16 = $15&255; - $17 = $16 << 2; - $18 = (($palette) + ($17)|0); - $19 = HEAP8[$18>>0]|0; - HEAP8[$p$03>>0] = $19; - $20 = $17 | 1; - $21 = (($palette) + ($20)|0); - $22 = HEAP8[$21>>0]|0; - $23 = ((($p$03)) + 1|0); - HEAP8[$23>>0] = $22; - $24 = $17 | 2; - $25 = (($palette) + ($24)|0); - $26 = HEAP8[$25>>0]|0; - $27 = ((($p$03)) + 2|0); - HEAP8[$27>>0] = $26; - $28 = ((($p$03)) + 3|0); - $29 = (($i$04) + 1)|0; - $exitcond = ($29|0)==($13|0); - if ($exitcond) { - break; - } else { - $i$04 = $29;$p$03 = $28; - } - } - } - } else { - if (!($11)) { - $12 = Math_imul($3, $1)|0; - $i$16 = 0;$p$15 = $8; - while(1) { - $30 = (($6) + ($i$16)|0); - $31 = HEAP8[$30>>0]|0; - $32 = $31&255; - $33 = $32 << 2; - $34 = (($palette) + ($33)|0); - $35 = HEAP8[$34>>0]|0; - HEAP8[$p$15>>0] = $35; - $36 = $33 | 1; - $37 = (($palette) + ($36)|0); - $38 = HEAP8[$37>>0]|0; - $39 = ((($p$15)) + 1|0); - HEAP8[$39>>0] = $38; - $40 = $33 | 2; - $41 = (($palette) + ($40)|0); - $42 = HEAP8[$41>>0]|0; - $43 = ((($p$15)) + 2|0); - HEAP8[$43>>0] = $42; - $44 = $33 | 3; - $45 = (($palette) + ($44)|0); - $46 = HEAP8[$45>>0]|0; - $47 = ((($p$15)) + 3|0); - HEAP8[$47>>0] = $46; - $48 = ((($p$15)) + 4|0); - $49 = (($i$16) + 1)|0; - $exitcond8 = ($49|0)==($12|0); - if ($exitcond8) { - break; - } else { - $i$16 = $49;$p$15 = $48; - } - } - } - } - $50 = HEAP32[$5>>2]|0; - _free($50); - HEAP32[$5>>2] = $8; - $$0 = 1; - return ($$0|0); -} -function _stbi__create_png_image_raw($a,$raw,$raw_len,$out_n,$x,$y,$depth,$color) { - $a = $a|0; - $raw = $raw|0; - $raw_len = $raw_len|0; - $out_n = $out_n|0; - $x = $x|0; - $y = $y|0; - $depth = $depth|0; - $color = $color|0; - var $$0 = 0, $$01229 = 0, $$1 = 0, $$2213 = 0, $$3205 = 0, $$4197 = 0, $$5188 = 0, $$6179 = 0, $$7170 = 0, $$8162 = 0, $$9 = 0, $$sum = 0, $$sum10 = 0, $$sum11 = 0, $$sum12 = 0, $$sum13 = 0, $$sum15 = 0, $$sum16 = 0, $$sum17 = 0, $$sum18 = 0; - var $$sum19 = 0, $$sum2 = 0, $$sum20 = 0, $$sum21 = 0, $$sum22 = 0, $$sum23 = 0, $$sum24 = 0, $$sum25 = 0, $$sum26 = 0, $$sum27$pn = 0, $$sum290 = 0, $$sum291 = 0, $$sum292 = 0, $$sum293 = 0, $$sum294 = 0, $$sum295 = 0, $$sum296 = 0, $$sum297 = 0, $$sum298 = 0, $$sum299 = 0; - var $$sum3 = 0, $$sum300 = 0, $$sum301 = 0, $$sum302 = 0, $$sum303 = 0, $$sum304 = 0, $$sum31 = 0, $$sum32 = 0, $$sum33 = 0, $$sum34 = 0, $$sum35 = 0, $$sum36 = 0, $$sum37 = 0, $$sum38 = 0, $$sum39 = 0, $$sum4 = 0, $$sum40 = 0, $$sum41 = 0, $$sum41$pn = 0, $$sum5 = 0; - var $$sum6 = 0, $$sum63 = 0, $$sum64 = 0, $$sum65 = 0, $$sum66 = 0, $$sum67 = 0, $$sum68 = 0, $$sum69 = 0, $$sum7 = 0, $$sum8 = 0, $$sum9 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0; - var $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0; - var $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0; - var $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0; - var $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0; - var $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0; - var $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0; - var $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0; - var $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0; - var $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0; - var $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0; - var $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0; - var $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0; - var $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0; - var $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0; - var $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0; - var $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0; - var $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0; - var $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0; - var $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0; - var $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0; - var $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0; - var $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0; - var $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0; - var $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0, $531 = 0, $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0; - var $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0, $549 = 0, $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0; - var $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0, $562 = 0, $563 = 0, $564 = 0, $565 = 0, $566 = 0, $567 = 0, $568 = 0, $569 = 0, $57 = 0, $570 = 0, $571 = 0, $572 = 0, $573 = 0, $574 = 0; - var $575 = 0, $576 = 0, $577 = 0, $578 = 0, $579 = 0, $58 = 0, $580 = 0, $581 = 0, $582 = 0, $583 = 0, $584 = 0, $585 = 0, $586 = 0, $587 = 0, $588 = 0, $589 = 0, $59 = 0, $590 = 0, $591 = 0, $592 = 0; - var $593 = 0, $594 = 0, $595 = 0, $596 = 0, $597 = 0, $598 = 0, $599 = 0, $6 = 0, $60 = 0, $600 = 0, $601 = 0, $602 = 0, $603 = 0, $604 = 0, $605 = 0, $606 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0; - var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0; - var $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $brmerge = 0, $cur$0$sum = 0; - var $cur$0$sum42 = 0, $cur$0$sum43 = 0, $cur$0$sum44 = 0, $cur$0$sum45 = 0, $cur$0$sum46 = 0, $cur$0$sum47 = 0, $cur$0$sum48 = 0, $cur$0$sum49 = 0, $cur$0$sum50 = 0, $cur$0$sum51 = 0, $cur$0$sum53$pn = 0, $cur$0$sum54 = 0, $cur$0$sum55 = 0, $cur$0$sum56 = 0, $cur$0$sum57 = 0, $cur$0$sum58 = 0, $cur$0$sum59 = 0, $cur$0$sum60 = 0, $cur$0$sum61 = 0, $cur$1 = 0; - var $cur$2212 = 0, $cur$3204 = 0, $cur$4195 = 0, $cur$5186 = 0, $cur$6177 = 0, $cur$7169 = 0, $cur$8161 = 0, $cur1$0$lcssa = 0, $cur1$0138 = 0, $cur1$1$lcssa = 0, $cur1$1130 = 0, $cur1$4$lcssa = 0, $cur1$4125 = 0, $exitcond = 0, $exitcond269 = 0, $exitcond271 = 0, $exitcond273 = 0, $exitcond275 = 0, $exitcond277 = 0, $exitcond279 = 0; - var $exitcond281 = 0, $exitcond284 = 0, $exitcond285 = 0, $exitcond286 = 0, $exitcond287 = 0, $exitcond288 = 0, $exitcond289 = 0, $filter$0 = 0, $filter_bytes$0 = 0, $i$0 = 0, $i$0211 = 0, $i$0214 = 0, $i$1 = 0, $i$1203 = 0, $i$1206 = 0, $i$2 = 0, $i$2194 = 0, $i$2198 = 0, $i$3 = 0, $i$3185 = 0; - var $i$3189 = 0, $i$4 = 0, $i$4176 = 0, $i$4180 = 0, $i$5 = 0, $i$5168 = 0, $i$5171 = 0, $i$6 = 0, $i$6160 = 0, $i$6163 = 0, $in$0$lcssa = 0, $in$0139 = 0, $in$1$lcssa = 0, $in$1131 = 0, $in$2$lcssa = 0, $in$2126 = 0, $indvars$iv = 0, $indvars$iv$next = 0, $indvars$iv$next255 = 0, $indvars$iv$next258 = 0; - var $indvars$iv$next261 = 0, $indvars$iv$next264 = 0, $indvars$iv$next267 = 0, $indvars$iv254 = 0, $indvars$iv257 = 0, $indvars$iv260 = 0, $indvars$iv263 = 0, $indvars$iv266 = 0, $j$0228 = 0, $j$1151 = 0, $k$0153 = 0, $k$10182 = 0, $k$11173 = 0, $k$12165 = 0, $k$1226 = 0, $k$13157 = 0, $k$14$lcssa = 0, $k$14137 = 0, $k$15$lcssa = 0, $k$15129 = 0; - var $k$16$lcssa = 0, $k$16124 = 0, $k$2224 = 0, $k$3222 = 0, $k$4220 = 0, $k$5218 = 0, $k$6216 = 0, $k$7208 = 0, $k$8200 = 0, $k$9191 = 0, $or$cond = 0, $or$cond311 = 0, $prior$0 = 0, $prior$0$sum = 0, $prior$0$sum28 = 0, $prior$0$sum29 = 0, $prior$0$sum30 = 0, $prior$3196 = 0, $prior$4187 = 0, $prior$5178 = 0; - var $q$0 = 0, $q$0148 = 0, $q$0149 = 0, $q$1 = 0, $q$1145 = 0, $q$1146 = 0, $scevgep = 0, $scevgep256 = 0, $scevgep259 = 0, $scevgep262 = 0, $scevgep265 = 0, $scevgep268 = 0, $scevgep270 = 0, $scevgep272 = 0, $scevgep274 = 0, $scevgep276 = 0, $scevgep278 = 0, $scevgep280 = 0, $scevgep283 = 0, $width$0 = 0; - var label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[$a>>2]|0; - $1 = Math_imul($x, $out_n)|0; - $2 = ((($0)) + 8|0); - $3 = HEAP32[$2>>2]|0; - $4 = ($3|0)==($out_n|0); - $5 = (($3) + 1)|0; - $6 = ($5|0)==($out_n|0); - $or$cond = $4 | $6; - if (!($or$cond)) { - ___assert_fail((18211|0),(18129|0),3994,(18252|0)); - // unreachable; - } - $7 = Math_imul($x, $out_n)|0; - $8 = Math_imul($7, $y)|0; - $9 = (_stbi__malloc($8)|0); - $10 = ((($a)) + 12|0); - HEAP32[$10>>2] = $9; - $11 = ($9|0)==(0|0); - if ($11) { - _stbi__err(18059); - $$0 = 0; - return ($$0|0); - } - $12 = Math_imul($3, $x)|0; - $13 = Math_imul($12, $depth)|0; - $14 = (($13) + 7)|0; - $15 = $14 >>> 3; - $16 = (($15) + 1)|0; - $17 = Math_imul($16, $y)|0; - $18 = HEAP32[$0>>2]|0; - $19 = ($18|0)==($x|0); - if ($19) { - $20 = ((($0)) + 4|0); - $21 = HEAP32[$20>>2]|0; - $22 = ($21|0)==($y|0); - if ($22) { - $23 = ($17|0)==($raw_len|0); - if (!($23)) { - _stbi__err(18279); - $$0 = 0; - return ($$0|0); - } - } else { - label = 9; - } - } else { - label = 9; - } - if ((label|0) == 9) { - $24 = ($17>>>0)>($raw_len>>>0); - if ($24) { - _stbi__err(18279); - $$0 = 0; - return ($$0|0); - } - } - $25 = ($y|0)==(0); - L18: do { - if (!($25)) { - $26 = ($depth|0)<(8); - $27 = ($15>>>0)>($x>>>0); - $28 = (($1) - ($15))|0; - $29 = ($depth|0)==(8); - $$sum26 = (($3) + 1)|0; - $brmerge = $26 | $4; - $i$0211 = (($x) + -1)|0; - $30 = ($i$0211|0)==(0); - $31 = ($3|0)>(0); - $i$1203 = (($x) + -1)|0; - $32 = ($i$1203|0)==(0); - $33 = ($3|0)>(0); - $i$2194 = (($x) + -1)|0; - $34 = ($i$2194|0)==(0); - $35 = ($3|0)>(0); - $i$3185 = (($x) + -1)|0; - $36 = ($i$3185|0)==(0); - $37 = ($3|0)>(0); - $i$4176 = (($x) + -1)|0; - $38 = ($i$4176|0)==(0); - $39 = ($3|0)>(0); - $i$5168 = (($x) + -1)|0; - $40 = ($i$5168|0)==(0); - $41 = ($3|0)>(0); - $i$6160 = (($x) + -1)|0; - $42 = ($i$6160|0)==(0); - $43 = ($3|0)>(0); - $44 = Math_imul($3, $i$6160)|0; - $$01229 = $raw;$j$0228 = 0; - L20: while(1) { - $45 = HEAP32[$10>>2]|0; - $46 = Math_imul($j$0228, $1)|0; - $$sum13 = (($46) - ($1))|0; - $47 = HEAP8[$$01229>>0]|0; - $48 = $47&255; - $49 = ($47&255)>(4); - if ($49) { - label = 14; - break; - } - if ($26) { - if ($27) { - label = 17; - break; - } - $$sum41 = (($28) + ($46))|0; - $$sum41$pn = $$sum41;$filter_bytes$0 = 1;$width$0 = $15; - } else { - $$sum41$pn = $46;$filter_bytes$0 = $3;$width$0 = $x; - } - $50 = ($j$0228|0)==(0); - if ($50) { - $51 = (18333 + ($48)|0); - $52 = HEAP8[$51>>0]|0; - $53 = $52&255; - $filter$0 = $53; - } else { - $filter$0 = $48; - } - $54 = ($filter_bytes$0|0)>(0); - L30: do { - if ($54) { - $k$0153 = 0; - while(1) { - switch ($filter$0|0) { - case 0: { - $$sum40 = (($k$0153) + 1)|0; - $55 = (($$01229) + ($$sum40)|0); - $56 = HEAP8[$55>>0]|0; - $cur$0$sum55 = (($k$0153) + ($$sum41$pn))|0; - $57 = (($45) + ($cur$0$sum55)|0); - HEAP8[$57>>0] = $56; - break; - } - case 1: { - $$sum39 = (($k$0153) + 1)|0; - $58 = (($$01229) + ($$sum39)|0); - $59 = HEAP8[$58>>0]|0; - $cur$0$sum56 = (($k$0153) + ($$sum41$pn))|0; - $60 = (($45) + ($cur$0$sum56)|0); - HEAP8[$60>>0] = $59; - break; - } - case 2: { - $$sum37 = (($k$0153) + 1)|0; - $61 = (($$01229) + ($$sum37)|0); - $62 = HEAP8[$61>>0]|0; - $63 = $62&255; - $$sum38 = (($k$0153) + ($$sum13))|0; - $64 = (($45) + ($$sum38)|0); - $65 = HEAP8[$64>>0]|0; - $66 = $65&255; - $67 = (($66) + ($63))|0; - $68 = $67&255; - $cur$0$sum57 = (($k$0153) + ($$sum41$pn))|0; - $69 = (($45) + ($cur$0$sum57)|0); - HEAP8[$69>>0] = $68; - break; - } - case 3: { - $$sum35 = (($k$0153) + 1)|0; - $70 = (($$01229) + ($$sum35)|0); - $71 = HEAP8[$70>>0]|0; - $72 = $71&255; - $$sum36 = (($k$0153) + ($$sum13))|0; - $73 = (($45) + ($$sum36)|0); - $74 = HEAP8[$73>>0]|0; - $75 = $74&255; - $76 = $75 >>> 1; - $77 = (($76) + ($72))|0; - $78 = $77&255; - $cur$0$sum58 = (($k$0153) + ($$sum41$pn))|0; - $79 = (($45) + ($cur$0$sum58)|0); - HEAP8[$79>>0] = $78; - break; - } - case 4: { - $$sum33 = (($k$0153) + 1)|0; - $80 = (($$01229) + ($$sum33)|0); - $81 = HEAP8[$80>>0]|0; - $82 = $81&255; - $$sum34 = (($k$0153) + ($$sum13))|0; - $83 = (($45) + ($$sum34)|0); - $84 = HEAP8[$83>>0]|0; - $85 = $84&255; - $86 = (_stbi__paeth(0,$85,0)|0); - $87 = (($86) + ($82))|0; - $88 = $87&255; - $cur$0$sum59 = (($k$0153) + ($$sum41$pn))|0; - $89 = (($45) + ($cur$0$sum59)|0); - HEAP8[$89>>0] = $88; - break; - } - case 5: { - $$sum32 = (($k$0153) + 1)|0; - $90 = (($$01229) + ($$sum32)|0); - $91 = HEAP8[$90>>0]|0; - $cur$0$sum60 = (($k$0153) + ($$sum41$pn))|0; - $92 = (($45) + ($cur$0$sum60)|0); - HEAP8[$92>>0] = $91; - break; - } - case 6: { - $$sum31 = (($k$0153) + 1)|0; - $93 = (($$01229) + ($$sum31)|0); - $94 = HEAP8[$93>>0]|0; - $cur$0$sum61 = (($k$0153) + ($$sum41$pn))|0; - $95 = (($45) + ($cur$0$sum61)|0); - HEAP8[$95>>0] = $94; - break; - } - default: { - } - } - $96 = (($k$0153) + 1)|0; - $exitcond = ($96|0)==($filter_bytes$0|0); - if ($exitcond) { - break L30; - } else { - $k$0153 = $96; - } - } - } - } while(0); - if ($29) { - if (!($4)) { - $cur$0$sum54 = (($$sum41$pn) + ($3))|0; - $97 = (($45) + ($cur$0$sum54)|0); - HEAP8[$97>>0] = -1; - } - $98 = (($$01229) + ($$sum26)|0); - $$1 = $98;$100 = $out_n;$125 = $$sum26; - } else { - $99 = ((($$01229)) + 2|0); - $$1 = $99;$100 = 1;$125 = 2; - } - $$sum27$pn = (($100) + ($$sum13))|0; - $cur$0$sum53$pn = (($100) + ($$sum41$pn))|0; - $cur$1 = (($45) + ($cur$0$sum53$pn)|0); - $prior$0 = (($45) + ($$sum27$pn)|0); - L50: do { - if ($brmerge) { - $101 = (($width$0) + -1)|0; - $102 = Math_imul($101, $3)|0; - switch ($filter$0|0) { - case 0: { - _memcpy(($cur$1|0),($$1|0),($102|0))|0; - break; - } - case 1: { - $121 = ($102|0)>(0); - if ($121) { - $122 = (($$sum41$pn) - ($filter_bytes$0))|0; - $$sum24 = (($122) + ($100))|0; - $$sum25 = (($100) + ($$sum41$pn))|0; - $123 = (($width$0) + -1)|0; - $124 = Math_imul($3, $123)|0; - $k$1226 = 0; - while(1) { - $$sum69 = (($k$1226) + ($125))|0; - $126 = (($$01229) + ($$sum69)|0); - $127 = HEAP8[$126>>0]|0; - $128 = $127&255; - $cur$0$sum42 = (($$sum24) + ($k$1226))|0; - $129 = (($45) + ($cur$0$sum42)|0); - $130 = HEAP8[$129>>0]|0; - $131 = $130&255; - $132 = (($131) + ($128))|0; - $133 = $132&255; - $cur$0$sum = (($$sum25) + ($k$1226))|0; - $134 = (($45) + ($cur$0$sum)|0); - HEAP8[$134>>0] = $133; - $135 = (($k$1226) + 1)|0; - $exitcond289 = ($135|0)==($124|0); - if ($exitcond289) { - break; - } else { - $k$1226 = $135; - } - } - } - break; - } - case 2: { - $118 = ($102|0)>(0); - if ($118) { - $$sum23 = (($100) + ($$sum41$pn))|0; - $119 = (($width$0) + -1)|0; - $120 = Math_imul($3, $119)|0; - $k$2224 = 0; - while(1) { - $$sum68 = (($k$2224) + ($125))|0; - $136 = (($$01229) + ($$sum68)|0); - $137 = HEAP8[$136>>0]|0; - $138 = $137&255; - $prior$0$sum = (($k$2224) + ($$sum27$pn))|0; - $139 = (($45) + ($prior$0$sum)|0); - $140 = HEAP8[$139>>0]|0; - $141 = $140&255; - $142 = (($141) + ($138))|0; - $143 = $142&255; - $cur$0$sum43 = (($$sum23) + ($k$2224))|0; - $144 = (($45) + ($cur$0$sum43)|0); - HEAP8[$144>>0] = $143; - $145 = (($k$2224) + 1)|0; - $exitcond288 = ($145|0)==($120|0); - if ($exitcond288) { - break; - } else { - $k$2224 = $145; - } - } - } - break; - } - case 3: { - $114 = ($102|0)>(0); - if ($114) { - $115 = (($$sum41$pn) - ($filter_bytes$0))|0; - $$sum21 = (($115) + ($100))|0; - $$sum22 = (($100) + ($$sum41$pn))|0; - $116 = (($width$0) + -1)|0; - $117 = Math_imul($3, $116)|0; - $k$3222 = 0; - while(1) { - $$sum67 = (($k$3222) + ($125))|0; - $146 = (($$01229) + ($$sum67)|0); - $147 = HEAP8[$146>>0]|0; - $148 = $147&255; - $prior$0$sum28 = (($k$3222) + ($$sum27$pn))|0; - $149 = (($45) + ($prior$0$sum28)|0); - $150 = HEAP8[$149>>0]|0; - $151 = $150&255; - $cur$0$sum45 = (($$sum21) + ($k$3222))|0; - $152 = (($45) + ($cur$0$sum45)|0); - $153 = HEAP8[$152>>0]|0; - $154 = $153&255; - $155 = (($154) + ($151))|0; - $156 = $155 >>> 1; - $157 = (($156) + ($148))|0; - $158 = $157&255; - $cur$0$sum44 = (($$sum22) + ($k$3222))|0; - $159 = (($45) + ($cur$0$sum44)|0); - HEAP8[$159>>0] = $158; - $160 = (($k$3222) + 1)|0; - $exitcond287 = ($160|0)==($117|0); - if ($exitcond287) { - break; - } else { - $k$3222 = $160; - } - } - } - break; - } - case 4: { - $111 = ($102|0)>(0); - if ($111) { - $$sum19 = (($100) + ($$sum41$pn))|0; - $$sum20 = (($100) + ($$sum41$pn))|0; - $112 = (($width$0) + -1)|0; - $113 = Math_imul($3, $112)|0; - $k$4220 = 0; - while(1) { - $$sum66 = (($k$4220) + ($125))|0; - $161 = (($$01229) + ($$sum66)|0); - $162 = HEAP8[$161>>0]|0; - $163 = $162&255; - $164 = (($k$4220) - ($filter_bytes$0))|0; - $cur$0$sum47 = (($$sum19) + ($164))|0; - $165 = (($45) + ($cur$0$sum47)|0); - $166 = HEAP8[$165>>0]|0; - $167 = $166&255; - $prior$0$sum30 = (($k$4220) + ($$sum27$pn))|0; - $168 = (($45) + ($prior$0$sum30)|0); - $169 = HEAP8[$168>>0]|0; - $170 = $169&255; - $prior$0$sum29 = (($164) + ($$sum27$pn))|0; - $171 = (($45) + ($prior$0$sum29)|0); - $172 = HEAP8[$171>>0]|0; - $173 = $172&255; - $174 = (_stbi__paeth($167,$170,$173)|0); - $175 = (($174) + ($163))|0; - $176 = $175&255; - $cur$0$sum46 = (($$sum20) + ($k$4220))|0; - $177 = (($45) + ($cur$0$sum46)|0); - HEAP8[$177>>0] = $176; - $178 = (($k$4220) + 1)|0; - $exitcond286 = ($178|0)==($113|0); - if ($exitcond286) { - break; - } else { - $k$4220 = $178; - } - } - } - break; - } - case 5: { - $107 = ($102|0)>(0); - if ($107) { - $108 = (($$sum41$pn) - ($filter_bytes$0))|0; - $$sum17 = (($108) + ($100))|0; - $$sum18 = (($100) + ($$sum41$pn))|0; - $109 = (($width$0) + -1)|0; - $110 = Math_imul($3, $109)|0; - $k$5218 = 0; - while(1) { - $$sum65 = (($k$5218) + ($125))|0; - $179 = (($$01229) + ($$sum65)|0); - $180 = HEAP8[$179>>0]|0; - $181 = $180&255; - $cur$0$sum49 = (($$sum17) + ($k$5218))|0; - $182 = (($45) + ($cur$0$sum49)|0); - $183 = HEAP8[$182>>0]|0; - $184 = $183&255; - $185 = $184 >>> 1; - $186 = (($185) + ($181))|0; - $187 = $186&255; - $cur$0$sum48 = (($$sum18) + ($k$5218))|0; - $188 = (($45) + ($cur$0$sum48)|0); - HEAP8[$188>>0] = $187; - $189 = (($k$5218) + 1)|0; - $exitcond285 = ($189|0)==($110|0); - if ($exitcond285) { - break; - } else { - $k$5218 = $189; - } - } - } - break; - } - case 6: { - $103 = ($102|0)>(0); - if ($103) { - $104 = (($$sum41$pn) - ($filter_bytes$0))|0; - $$sum15 = (($104) + ($100))|0; - $$sum16 = (($100) + ($$sum41$pn))|0; - $105 = (($width$0) + -1)|0; - $106 = Math_imul($3, $105)|0; - $k$6216 = 0; - while(1) { - $$sum64 = (($k$6216) + ($125))|0; - $190 = (($$01229) + ($$sum64)|0); - $191 = HEAP8[$190>>0]|0; - $192 = $191&255; - $cur$0$sum51 = (($$sum15) + ($k$6216))|0; - $193 = (($45) + ($cur$0$sum51)|0); - $194 = HEAP8[$193>>0]|0; - $195 = $194&255; - $196 = (_stbi__paeth($195,0,0)|0); - $197 = (($196) + ($192))|0; - $198 = $197&255; - $cur$0$sum50 = (($$sum16) + ($k$6216))|0; - $199 = (($45) + ($cur$0$sum50)|0); - HEAP8[$199>>0] = $198; - $200 = (($k$6216) + 1)|0; - $exitcond284 = ($200|0)==($106|0); - if ($exitcond284) { - break; - } else { - $k$6216 = $200; - } - } - } - break; - } - default: { - } - } - $$sum63 = (($125) + ($102))|0; - $201 = (($$01229) + ($$sum63)|0); - $$9 = $201; - } else { - if (!($6)) { - label = 59; - break L20; - } - switch ($filter$0|0) { - case 0: { - if ($30) { - $$9 = $$1; - break L50; - } else { - $$2213 = $$1;$cur$2212 = $cur$1;$i$0214 = $i$0211; - } - while(1) { - if ($31) { - $k$7208 = 0; - while(1) { - $202 = (($$2213) + ($k$7208)|0); - $203 = HEAP8[$202>>0]|0; - $204 = (($cur$2212) + ($k$7208)|0); - HEAP8[$204>>0] = $203; - $205 = (($k$7208) + 1)|0; - $exitcond281 = ($205|0)==($3|0); - if ($exitcond281) { - break; - } else { - $k$7208 = $205; - } - } - } - $206 = (($cur$2212) + ($3)|0); - HEAP8[$206>>0] = -1; - $207 = (($$2213) + ($3)|0); - $208 = (($cur$2212) + ($out_n)|0); - $i$0 = (($i$0214) + -1)|0; - $209 = ($i$0|0)==(0); - if ($209) { - break; - } else { - $$2213 = $207;$cur$2212 = $208;$i$0214 = $i$0; - } - } - $$sum304 = (($125) + ($44))|0; - $scevgep283 = (($$01229) + ($$sum304)|0); - $$9 = $scevgep283; - break L50; - break; - } - case 1: { - if ($32) { - $$9 = $$1; - break L50; - } else { - $$3205 = $$1;$cur$3204 = $cur$1;$i$1206 = $i$1203; - } - while(1) { - if ($33) { - $k$8200 = 0; - while(1) { - $210 = (($$3205) + ($k$8200)|0); - $211 = HEAP8[$210>>0]|0; - $212 = $211&255; - $213 = (($k$8200) - ($out_n))|0; - $214 = (($cur$3204) + ($213)|0); - $215 = HEAP8[$214>>0]|0; - $216 = $215&255; - $217 = (($216) + ($212))|0; - $218 = $217&255; - $219 = (($cur$3204) + ($k$8200)|0); - HEAP8[$219>>0] = $218; - $220 = (($k$8200) + 1)|0; - $exitcond279 = ($220|0)==($3|0); - if ($exitcond279) { - break; - } else { - $k$8200 = $220; - } - } - } - $221 = (($cur$3204) + ($3)|0); - HEAP8[$221>>0] = -1; - $222 = (($$3205) + ($3)|0); - $223 = (($cur$3204) + ($out_n)|0); - $i$1 = (($i$1206) + -1)|0; - $224 = ($i$1|0)==(0); - if ($224) { - break; - } else { - $$3205 = $222;$cur$3204 = $223;$i$1206 = $i$1; - } - } - $$sum303 = (($125) + ($44))|0; - $scevgep280 = (($$01229) + ($$sum303)|0); - $$9 = $scevgep280; - break L50; - break; - } - case 2: { - if ($34) { - $$9 = $$1; - break L50; - } else { - $$4197 = $$1;$cur$4195 = $cur$1;$i$2198 = $i$2194;$prior$3196 = $prior$0; - } - while(1) { - if ($35) { - $k$9191 = 0; - while(1) { - $225 = (($$4197) + ($k$9191)|0); - $226 = HEAP8[$225>>0]|0; - $227 = $226&255; - $228 = (($prior$3196) + ($k$9191)|0); - $229 = HEAP8[$228>>0]|0; - $230 = $229&255; - $231 = (($230) + ($227))|0; - $232 = $231&255; - $233 = (($cur$4195) + ($k$9191)|0); - HEAP8[$233>>0] = $232; - $234 = (($k$9191) + 1)|0; - $exitcond277 = ($234|0)==($3|0); - if ($exitcond277) { - break; - } else { - $k$9191 = $234; - } - } - } - $235 = (($cur$4195) + ($3)|0); - HEAP8[$235>>0] = -1; - $236 = (($$4197) + ($3)|0); - $237 = (($cur$4195) + ($out_n)|0); - $238 = (($prior$3196) + ($out_n)|0); - $i$2 = (($i$2198) + -1)|0; - $239 = ($i$2|0)==(0); - if ($239) { - break; - } else { - $$4197 = $236;$cur$4195 = $237;$i$2198 = $i$2;$prior$3196 = $238; - } - } - $$sum302 = (($125) + ($44))|0; - $scevgep278 = (($$01229) + ($$sum302)|0); - $$9 = $scevgep278; - break L50; - break; - } - case 3: { - if ($36) { - $$9 = $$1; - break L50; - } else { - $$5188 = $$1;$cur$5186 = $cur$1;$i$3189 = $i$3185;$prior$4187 = $prior$0; - } - while(1) { - if ($37) { - $k$10182 = 0; - while(1) { - $240 = (($$5188) + ($k$10182)|0); - $241 = HEAP8[$240>>0]|0; - $242 = $241&255; - $243 = (($prior$4187) + ($k$10182)|0); - $244 = HEAP8[$243>>0]|0; - $245 = $244&255; - $246 = (($k$10182) - ($out_n))|0; - $247 = (($cur$5186) + ($246)|0); - $248 = HEAP8[$247>>0]|0; - $249 = $248&255; - $250 = (($249) + ($245))|0; - $251 = $250 >>> 1; - $252 = (($251) + ($242))|0; - $253 = $252&255; - $254 = (($cur$5186) + ($k$10182)|0); - HEAP8[$254>>0] = $253; - $255 = (($k$10182) + 1)|0; - $exitcond275 = ($255|0)==($3|0); - if ($exitcond275) { - break; - } else { - $k$10182 = $255; - } - } - } - $256 = (($cur$5186) + ($3)|0); - HEAP8[$256>>0] = -1; - $257 = (($$5188) + ($3)|0); - $258 = (($cur$5186) + ($out_n)|0); - $259 = (($prior$4187) + ($out_n)|0); - $i$3 = (($i$3189) + -1)|0; - $260 = ($i$3|0)==(0); - if ($260) { - break; - } else { - $$5188 = $257;$cur$5186 = $258;$i$3189 = $i$3;$prior$4187 = $259; - } - } - $$sum301 = (($125) + ($44))|0; - $scevgep276 = (($$01229) + ($$sum301)|0); - $$9 = $scevgep276; - break L50; - break; - } - case 4: { - if ($38) { - $$9 = $$1; - break L50; - } else { - $$6179 = $$1;$cur$6177 = $cur$1;$i$4180 = $i$4176;$prior$5178 = $prior$0; - } - while(1) { - if ($39) { - $k$11173 = 0; - while(1) { - $261 = (($$6179) + ($k$11173)|0); - $262 = HEAP8[$261>>0]|0; - $263 = $262&255; - $264 = (($k$11173) - ($out_n))|0; - $265 = (($cur$6177) + ($264)|0); - $266 = HEAP8[$265>>0]|0; - $267 = $266&255; - $268 = (($prior$5178) + ($k$11173)|0); - $269 = HEAP8[$268>>0]|0; - $270 = $269&255; - $271 = (($prior$5178) + ($264)|0); - $272 = HEAP8[$271>>0]|0; - $273 = $272&255; - $274 = (_stbi__paeth($267,$270,$273)|0); - $275 = (($274) + ($263))|0; - $276 = $275&255; - $277 = (($cur$6177) + ($k$11173)|0); - HEAP8[$277>>0] = $276; - $278 = (($k$11173) + 1)|0; - $exitcond273 = ($278|0)==($3|0); - if ($exitcond273) { - break; - } else { - $k$11173 = $278; - } - } - } - $279 = (($cur$6177) + ($3)|0); - HEAP8[$279>>0] = -1; - $280 = (($$6179) + ($3)|0); - $281 = (($cur$6177) + ($out_n)|0); - $282 = (($prior$5178) + ($out_n)|0); - $i$4 = (($i$4180) + -1)|0; - $283 = ($i$4|0)==(0); - if ($283) { - break; - } else { - $$6179 = $280;$cur$6177 = $281;$i$4180 = $i$4;$prior$5178 = $282; - } - } - $$sum300 = (($125) + ($44))|0; - $scevgep274 = (($$01229) + ($$sum300)|0); - $$9 = $scevgep274; - break L50; - break; - } - case 5: { - if ($40) { - $$9 = $$1; - break L50; - } else { - $$7170 = $$1;$cur$7169 = $cur$1;$i$5171 = $i$5168; - } - while(1) { - if ($41) { - $k$12165 = 0; - while(1) { - $284 = (($$7170) + ($k$12165)|0); - $285 = HEAP8[$284>>0]|0; - $286 = $285&255; - $287 = (($k$12165) - ($out_n))|0; - $288 = (($cur$7169) + ($287)|0); - $289 = HEAP8[$288>>0]|0; - $290 = $289&255; - $291 = $290 >>> 1; - $292 = (($291) + ($286))|0; - $293 = $292&255; - $294 = (($cur$7169) + ($k$12165)|0); - HEAP8[$294>>0] = $293; - $295 = (($k$12165) + 1)|0; - $exitcond271 = ($295|0)==($3|0); - if ($exitcond271) { - break; - } else { - $k$12165 = $295; - } - } - } - $296 = (($cur$7169) + ($3)|0); - HEAP8[$296>>0] = -1; - $297 = (($$7170) + ($3)|0); - $298 = (($cur$7169) + ($out_n)|0); - $i$5 = (($i$5171) + -1)|0; - $299 = ($i$5|0)==(0); - if ($299) { - break; - } else { - $$7170 = $297;$cur$7169 = $298;$i$5171 = $i$5; - } - } - $$sum299 = (($125) + ($44))|0; - $scevgep272 = (($$01229) + ($$sum299)|0); - $$9 = $scevgep272; - break L50; - break; - } - case 6: { - if ($42) { - $$9 = $$1; - break L50; - } else { - $$8162 = $$1;$cur$8161 = $cur$1;$i$6163 = $i$6160; - } - while(1) { - if ($43) { - $k$13157 = 0; - while(1) { - $300 = (($$8162) + ($k$13157)|0); - $301 = HEAP8[$300>>0]|0; - $302 = $301&255; - $303 = (($k$13157) - ($out_n))|0; - $304 = (($cur$8161) + ($303)|0); - $305 = HEAP8[$304>>0]|0; - $306 = $305&255; - $307 = (_stbi__paeth($306,0,0)|0); - $308 = (($307) + ($302))|0; - $309 = $308&255; - $310 = (($cur$8161) + ($k$13157)|0); - HEAP8[$310>>0] = $309; - $311 = (($k$13157) + 1)|0; - $exitcond269 = ($311|0)==($3|0); - if ($exitcond269) { - break; - } else { - $k$13157 = $311; - } - } - } - $312 = (($cur$8161) + ($3)|0); - HEAP8[$312>>0] = -1; - $313 = (($$8162) + ($3)|0); - $314 = (($cur$8161) + ($out_n)|0); - $i$6 = (($i$6163) + -1)|0; - $315 = ($i$6|0)==(0); - if ($315) { - break; - } else { - $$8162 = $313;$cur$8161 = $314;$i$6163 = $i$6; - } - } - $$sum290 = (($125) + ($44))|0; - $scevgep270 = (($$01229) + ($$sum290)|0); - $$9 = $scevgep270; - break L50; - break; - } - default: { - $$9 = $$1; - break L50; - } - } - } - } while(0); - $316 = (($j$0228) + 1)|0; - $317 = ($316>>>0)<($y>>>0); - if ($317) { - $$01229 = $$9;$j$0228 = $316; - } else { - break L18; - } - } - if ((label|0) == 14) { - _stbi__err(18297); - $$0 = 0; - return ($$0|0); - } - else if ((label|0) == 17) { - ___assert_fail((18312|0),(18129|0),4016,(18252|0)); - // unreachable; - } - else if ((label|0) == 59) { - ___assert_fail((18338|0),(18129|0),4069,(18252|0)); - // unreachable; - } - } - } while(0); - $318 = ($depth|0)>(7); - $319 = ($y|0)==(0); - $or$cond311 = $318 | $319; - if ($or$cond311) { - $$0 = 1; - return ($$0|0); - } - $$sum = (($1) - ($15))|0; - $320 = ($color|0)==(0); - $321 = (18042 + ($depth)|0); - $q$0148 = (($x) + -1)|0; - $322 = ($q$0148|0)>(-1); - $q$1145 = (($x) + -1)|0; - $323 = ($q$1145|0)>(-1); - $324 = ($12|0)>(1); - $325 = ($12|0)>(3); - $326 = ($12|0)>(7); - $327 = Math_imul($3, $x)|0; - $328 = (($327) + -8)|0; - $329 = $328 >>> 3; - $330 = Math_imul($x, $out_n)|0; - $331 = (($329) + ($330))|0; - $332 = (($331) + 1)|0; - $333 = Math_imul($3, $depth)|0; - $334 = Math_imul($333, $x)|0; - $335 = (($334) + 7)|0; - $336 = $335 >>> 3; - $337 = (($332) - ($336))|0; - $338 = (($327) + -8)|0; - $339 = $329 << 3; - $340 = (($338) - ($339))|0; - $341 = (($339) + 8)|0; - $342 = Math_imul($3, $x)|0; - $343 = (($342) + -4)|0; - $344 = $343 >>> 2; - $345 = Math_imul($x, $out_n)|0; - $346 = (($344) + ($345))|0; - $347 = (($346) + 1)|0; - $348 = Math_imul($3, $depth)|0; - $349 = Math_imul($348, $x)|0; - $350 = (($349) + 7)|0; - $351 = $350 >>> 3; - $352 = (($347) - ($351))|0; - $353 = (($342) + -4)|0; - $354 = $344 << 2; - $355 = (($353) - ($354))|0; - $356 = (($354) + 4)|0; - $357 = Math_imul($3, $x)|0; - $358 = (($357) + -2)|0; - $359 = $358 >>> 1; - $360 = Math_imul($x, $out_n)|0; - $361 = (($359) + ($360))|0; - $362 = (($361) + 1)|0; - $363 = Math_imul($3, $depth)|0; - $364 = Math_imul($363, $x)|0; - $365 = (($364) + 7)|0; - $366 = $365 >>> 3; - $367 = (($362) - ($366))|0; - $368 = (($357) + -2)|0; - $369 = $359 << 1; - $370 = (($368) - ($369))|0; - $371 = (($369) + 2)|0; - $indvars$iv = $337;$indvars$iv254 = $341;$indvars$iv257 = $352;$indvars$iv260 = $356;$indvars$iv263 = $367;$indvars$iv266 = $371;$j$1151 = 0; - L148: while(1) { - $372 = HEAP32[$10>>2]|0; - $373 = Math_imul($j$1151, $1)|0; - $374 = (($372) + ($373)|0); - $$sum2 = (($$sum) + ($373))|0; - $375 = (($372) + ($$sum2)|0); - if ($320) { - $376 = HEAP8[$321>>0]|0; - $377 = $376&255; - $382 = $377; - } else { - $382 = 1; - } - switch ($depth|0) { - case 4: { - if ($324) { - $scevgep265 = (($372) + ($indvars$iv263)|0); - $cur1$0138 = $374;$in$0139 = $375;$k$14137 = $12; - while(1) { - $378 = HEAP8[$in$0139>>0]|0; - $379 = $378&255; - $380 = $379 >>> 4; - $381 = Math_imul($380, $382)|0; - $383 = $381&255; - $384 = ((($cur1$0138)) + 1|0); - HEAP8[$cur1$0138>>0] = $383; - $385 = HEAP8[$in$0139>>0]|0; - $386 = $385&255; - $387 = $386 & 15; - $388 = Math_imul($387, $382)|0; - $389 = $388&255; - $390 = ((($cur1$0138)) + 2|0); - HEAP8[$384>>0] = $389; - $391 = (($k$14137) + -2)|0; - $392 = ((($in$0139)) + 1|0); - $393 = ($391|0)>(1); - if ($393) { - $cur1$0138 = $390;$in$0139 = $392;$k$14137 = $391; - } else { - break; - } - } - $scevgep268 = (($372) + ($indvars$iv266)|0); - $cur1$0$lcssa = $scevgep268;$in$0$lcssa = $scevgep265;$k$14$lcssa = $370; - } else { - $cur1$0$lcssa = $374;$in$0$lcssa = $375;$k$14$lcssa = $12; - } - $394 = ($k$14$lcssa|0)>(0); - if ($394) { - $395 = HEAP8[$in$0$lcssa>>0]|0; - $396 = $395&255; - $397 = $396 >>> 4; - $398 = Math_imul($397, $382)|0; - $399 = $398&255; - HEAP8[$cur1$0$lcssa>>0] = $399; - } - break; - } - case 2: { - if ($325) { - $scevgep259 = (($372) + ($indvars$iv257)|0); - $cur1$1130 = $374;$in$1131 = $375;$k$15129 = $12; - while(1) { - $400 = HEAP8[$in$1131>>0]|0; - $401 = $400&255; - $402 = $401 >>> 6; - $403 = Math_imul($402, $382)|0; - $404 = $403&255; - $405 = ((($cur1$1130)) + 1|0); - HEAP8[$cur1$1130>>0] = $404; - $406 = HEAP8[$in$1131>>0]|0; - $407 = $406&255; - $408 = $407 >>> 4; - $409 = $408 & 3; - $410 = Math_imul($409, $382)|0; - $411 = $410&255; - $412 = ((($cur1$1130)) + 2|0); - HEAP8[$405>>0] = $411; - $413 = HEAP8[$in$1131>>0]|0; - $414 = $413&255; - $415 = $414 >>> 2; - $416 = $415 & 3; - $417 = Math_imul($416, $382)|0; - $418 = $417&255; - $419 = ((($cur1$1130)) + 3|0); - HEAP8[$412>>0] = $418; - $420 = HEAP8[$in$1131>>0]|0; - $421 = $420&255; - $422 = $421 & 3; - $423 = Math_imul($422, $382)|0; - $424 = $423&255; - $425 = ((($cur1$1130)) + 4|0); - HEAP8[$419>>0] = $424; - $426 = (($k$15129) + -4)|0; - $427 = ((($in$1131)) + 1|0); - $428 = ($426|0)>(3); - if ($428) { - $cur1$1130 = $425;$in$1131 = $427;$k$15129 = $426; - } else { - break; - } - } - $scevgep262 = (($372) + ($indvars$iv260)|0); - $436 = $indvars$iv260;$cur1$1$lcssa = $scevgep262;$in$1$lcssa = $scevgep259;$k$15$lcssa = $355; - } else { - $436 = $373;$cur1$1$lcssa = $374;$in$1$lcssa = $375;$k$15$lcssa = $12; - } - $429 = ($k$15$lcssa|0)>(0); - if ($429) { - $430 = HEAP8[$in$1$lcssa>>0]|0; - $431 = $430&255; - $432 = $431 >>> 6; - $433 = Math_imul($432, $382)|0; - $434 = $433&255; - HEAP8[$cur1$1$lcssa>>0] = $434; - $435 = ($k$15$lcssa|0)>(1); - if ($435) { - $$sum297 = (($436) + 1)|0; - $437 = (($372) + ($$sum297)|0); - $438 = HEAP8[$in$1$lcssa>>0]|0; - $439 = $438&255; - $440 = $439 >>> 4; - $441 = $440 & 3; - $442 = Math_imul($441, $382)|0; - $443 = $442&255; - HEAP8[$437>>0] = $443; - $444 = ($k$15$lcssa|0)>(2); - if ($444) { - $$sum298 = (($436) + 2)|0; - $445 = (($372) + ($$sum298)|0); - $446 = HEAP8[$in$1$lcssa>>0]|0; - $447 = $446&255; - $448 = $447 >>> 2; - $449 = $448 & 3; - $450 = Math_imul($449, $382)|0; - $451 = $450&255; - HEAP8[$445>>0] = $451; - } - } - } - break; - } - case 1: { - if ($326) { - $scevgep = (($372) + ($indvars$iv)|0); - $cur1$4125 = $374;$in$2126 = $375;$k$16124 = $12; - while(1) { - $452 = HEAP8[$in$2126>>0]|0; - $453 = $452&255; - $454 = $453 >>> 7; - $455 = (0 - ($454))|0; - $456 = $382 & $455; - $457 = $456&255; - $458 = ((($cur1$4125)) + 1|0); - HEAP8[$cur1$4125>>0] = $457; - $459 = HEAP8[$in$2126>>0]|0; - $460 = $459&255; - $461 = $460 >>> 6; - $462 = $461 & 1; - $463 = (0 - ($462))|0; - $464 = $382 & $463; - $465 = $464&255; - $466 = ((($cur1$4125)) + 2|0); - HEAP8[$458>>0] = $465; - $467 = HEAP8[$in$2126>>0]|0; - $468 = $467&255; - $469 = $468 >>> 5; - $470 = $469 & 1; - $471 = (0 - ($470))|0; - $472 = $382 & $471; - $473 = $472&255; - $474 = ((($cur1$4125)) + 3|0); - HEAP8[$466>>0] = $473; - $475 = HEAP8[$in$2126>>0]|0; - $476 = $475&255; - $477 = $476 >>> 4; - $478 = $477 & 1; - $479 = (0 - ($478))|0; - $480 = $382 & $479; - $481 = $480&255; - $482 = ((($cur1$4125)) + 4|0); - HEAP8[$474>>0] = $481; - $483 = HEAP8[$in$2126>>0]|0; - $484 = $483&255; - $485 = $484 >>> 3; - $486 = $485 & 1; - $487 = (0 - ($486))|0; - $488 = $382 & $487; - $489 = $488&255; - $490 = ((($cur1$4125)) + 5|0); - HEAP8[$482>>0] = $489; - $491 = HEAP8[$in$2126>>0]|0; - $492 = $491&255; - $493 = $492 >>> 2; - $494 = $493 & 1; - $495 = (0 - ($494))|0; - $496 = $382 & $495; - $497 = $496&255; - $498 = ((($cur1$4125)) + 6|0); - HEAP8[$490>>0] = $497; - $499 = HEAP8[$in$2126>>0]|0; - $500 = $499&255; - $501 = $500 >>> 1; - $502 = $501 & 1; - $503 = (0 - ($502))|0; - $504 = $382 & $503; - $505 = $504&255; - $506 = ((($cur1$4125)) + 7|0); - HEAP8[$498>>0] = $505; - $507 = HEAP8[$in$2126>>0]|0; - $508 = $507&255; - $509 = $508 & 1; - $510 = (0 - ($509))|0; - $511 = $382 & $510; - $512 = $511&255; - $513 = ((($cur1$4125)) + 8|0); - HEAP8[$506>>0] = $512; - $514 = (($k$16124) + -8)|0; - $515 = ((($in$2126)) + 1|0); - $516 = ($514|0)>(7); - if ($516) { - $cur1$4125 = $513;$in$2126 = $515;$k$16124 = $514; - } else { - break; - } - } - $scevgep256 = (($372) + ($indvars$iv254)|0); - $525 = $indvars$iv254;$cur1$4$lcssa = $scevgep256;$in$2$lcssa = $scevgep;$k$16$lcssa = $340; - } else { - $525 = $373;$cur1$4$lcssa = $374;$in$2$lcssa = $375;$k$16$lcssa = $12; - } - $517 = ($k$16$lcssa|0)>(0); - if ($517) { - $518 = HEAP8[$in$2$lcssa>>0]|0; - $519 = $518&255; - $520 = $519 >>> 7; - $521 = (0 - ($520))|0; - $522 = $382 & $521; - $523 = $522&255; - HEAP8[$cur1$4$lcssa>>0] = $523; - $524 = ($k$16$lcssa|0)>(1); - if ($524) { - $$sum291 = (($525) + 1)|0; - $526 = (($372) + ($$sum291)|0); - $527 = HEAP8[$in$2$lcssa>>0]|0; - $528 = $527&255; - $529 = $528 >>> 6; - $530 = $529 & 1; - $531 = (0 - ($530))|0; - $532 = $382 & $531; - $533 = $532&255; - HEAP8[$526>>0] = $533; - $534 = ($k$16$lcssa|0)>(2); - if ($534) { - $$sum292 = (($525) + 2)|0; - $535 = (($372) + ($$sum292)|0); - $536 = HEAP8[$in$2$lcssa>>0]|0; - $537 = $536&255; - $538 = $537 >>> 5; - $539 = $538 & 1; - $540 = (0 - ($539))|0; - $541 = $382 & $540; - $542 = $541&255; - HEAP8[$535>>0] = $542; - $543 = ($k$16$lcssa|0)>(3); - if ($543) { - $$sum293 = (($525) + 3)|0; - $544 = (($372) + ($$sum293)|0); - $545 = HEAP8[$in$2$lcssa>>0]|0; - $546 = $545&255; - $547 = $546 >>> 4; - $548 = $547 & 1; - $549 = (0 - ($548))|0; - $550 = $382 & $549; - $551 = $550&255; - HEAP8[$544>>0] = $551; - $552 = ($k$16$lcssa|0)>(4); - if ($552) { - $$sum294 = (($525) + 4)|0; - $553 = (($372) + ($$sum294)|0); - $554 = HEAP8[$in$2$lcssa>>0]|0; - $555 = $554&255; - $556 = $555 >>> 3; - $557 = $556 & 1; - $558 = (0 - ($557))|0; - $559 = $382 & $558; - $560 = $559&255; - HEAP8[$553>>0] = $560; - $561 = ($k$16$lcssa|0)>(5); - if ($561) { - $$sum295 = (($525) + 5)|0; - $562 = (($372) + ($$sum295)|0); - $563 = HEAP8[$in$2$lcssa>>0]|0; - $564 = $563&255; - $565 = $564 >>> 2; - $566 = $565 & 1; - $567 = (0 - ($566))|0; - $568 = $382 & $567; - $569 = $568&255; - HEAP8[$562>>0] = $569; - $570 = ($k$16$lcssa|0)>(6); - if ($570) { - $$sum296 = (($525) + 6)|0; - $571 = (($372) + ($$sum296)|0); - $572 = HEAP8[$in$2$lcssa>>0]|0; - $573 = $572&255; - $574 = $573 >>> 1; - $575 = $574 & 1; - $576 = (0 - ($575))|0; - $577 = $382 & $576; - $578 = $577&255; - HEAP8[$571>>0] = $578; - } - } - } - } - } - } - } - break; - } - default: { - } - } - L187: do { - if (!($4)) { - $579 = HEAP32[$10>>2]|0; - switch ($3|0) { - case 1: { - if ($322) { - $q$0149 = $q$0148; - } else { - break L187; - } - while(1) { - $582 = $q$0149 << 1; - $583 = $582 | 1; - $$sum10 = (($583) + ($373))|0; - $584 = (($579) + ($$sum10)|0); - HEAP8[$584>>0] = -1; - $$sum11 = (($q$0149) + ($373))|0; - $585 = (($579) + ($$sum11)|0); - $586 = HEAP8[$585>>0]|0; - $$sum12 = (($582) + ($373))|0; - $587 = (($579) + ($$sum12)|0); - HEAP8[$587>>0] = $586; - $q$0 = (($q$0149) + -1)|0; - $588 = ($q$0|0)>(-1); - if ($588) { - $q$0149 = $q$0; - } else { - break L187; - } - } - break; - } - case 3: { - break; - } - default: { - label = 134; - break L148; - } - } - if ($323) { - $580 = (($373) + 2)|0; - $581 = (($373) + 1)|0; - $q$1146 = $q$1145; - while(1) { - $589 = $q$1146 << 2; - $590 = $589 | 3; - $$sum3 = (($590) + ($373))|0; - $591 = (($579) + ($$sum3)|0); - HEAP8[$591>>0] = -1; - $592 = ($q$1146*3)|0; - $$sum4 = (($580) + ($592))|0; - $593 = (($579) + ($$sum4)|0); - $594 = HEAP8[$593>>0]|0; - $595 = $589 | 2; - $$sum5 = (($595) + ($373))|0; - $596 = (($579) + ($$sum5)|0); - HEAP8[$596>>0] = $594; - $$sum6 = (($581) + ($592))|0; - $597 = (($579) + ($$sum6)|0); - $598 = HEAP8[$597>>0]|0; - $599 = $589 | 1; - $$sum7 = (($599) + ($373))|0; - $600 = (($579) + ($$sum7)|0); - HEAP8[$600>>0] = $598; - $$sum8 = (($592) + ($373))|0; - $601 = (($579) + ($$sum8)|0); - $602 = HEAP8[$601>>0]|0; - $$sum9 = (($589) + ($373))|0; - $603 = (($579) + ($$sum9)|0); - HEAP8[$603>>0] = $602; - $q$1 = (($q$1146) + -1)|0; - $604 = ($q$1|0)>(-1); - if ($604) { - $q$1146 = $q$1; - } else { - break; - } - } - } - } - } while(0); - $605 = (($j$1151) + 1)|0; - $606 = ($605>>>0)<($y>>>0); - $indvars$iv$next = (($indvars$iv) + ($330))|0; - $indvars$iv$next255 = (($indvars$iv254) + ($330))|0; - $indvars$iv$next258 = (($indvars$iv257) + ($345))|0; - $indvars$iv$next261 = (($indvars$iv260) + ($345))|0; - $indvars$iv$next264 = (($indvars$iv263) + ($360))|0; - $indvars$iv$next267 = (($indvars$iv266) + ($360))|0; - if ($606) { - $indvars$iv = $indvars$iv$next;$indvars$iv254 = $indvars$iv$next255;$indvars$iv257 = $indvars$iv$next258;$indvars$iv260 = $indvars$iv$next261;$indvars$iv263 = $indvars$iv$next264;$indvars$iv266 = $indvars$iv$next267;$j$1151 = $605; - } else { - $$0 = 1; - label = 137; - break; - } - } - if ((label|0) == 134) { - ___assert_fail((18355|0),(18129|0),4149,(18252|0)); - // unreachable; - } - else if ((label|0) == 137) { - return ($$0|0); - } - return (0)|0; -} -function _stbi__paeth($a,$b,$c) { - $a = $a|0; - $b = $b|0; - $c = $c|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $c$b = 0, $ispos = 0, $ispos1 = 0, $ispos3 = 0, $neg = 0, $neg2 = 0, $neg4 = 0, $or$cond = 0; - var label = 0, sp = 0; - sp = STACKTOP; - $0 = (($b) + ($a))|0; - $1 = (($0) - ($c))|0; - $2 = (($1) - ($a))|0; - $ispos = ($2|0)>(-1); - $neg = (0 - ($2))|0; - $3 = $ispos ? $2 : $neg; - $4 = (($1) - ($b))|0; - $ispos1 = ($4|0)>(-1); - $neg2 = (0 - ($4))|0; - $5 = $ispos1 ? $4 : $neg2; - $6 = (($1) - ($c))|0; - $ispos3 = ($6|0)>(-1); - $neg4 = (0 - ($6))|0; - $7 = $ispos3 ? $6 : $neg4; - $8 = ($3|0)>($5|0); - $9 = ($3|0)>($7|0); - $or$cond = $8 | $9; - $10 = ($5|0)>($7|0); - $c$b = $10 ? $c : $b; - $$0 = $or$cond ? $c$b : $a; - return ($$0|0); -} -function _stbi__decode_jpeg_header($z,$scan) { - $z = $z|0; - $scan = $scan|0; - var $$ = 0, $$0 = 0, $$2 = 0, $$9 = 0, $$lcssa = 0, $$lcssa20 = 0, $$lcssa5 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0; - var $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $m$010 = 0, $not$ = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($z)) + 18116|0); - HEAP8[$0>>0] = -1; - $1 = (_stbi__get_marker($z)|0); - $2 = ($1<<24>>24)==(-40); - if (!($2)) { - _stbi__err(18378); - $$0 = 0; - return ($$0|0); - } - $3 = ($scan|0)==(1); - if ($3) { - $$0 = 1; - return ($$0|0); - } - $4 = (_stbi__get_marker($z)|0); - $5 = $4&255; - $6 = $5 & 254; - $7 = ($6|0)==(192); - $8 = ($4<<24>>24)==(-62); - $$9 = $8 | $7; - L8: do { - if ($$9) { - $$lcssa5 = $8; - } else { - $m$010 = $5; - L10: while(1) { - $13 = (_stbi__process_marker($z,$m$010)|0); - $14 = ($13|0)==(0); - if ($14) { - $$0 = 0; - label = 14; - break; - } - $15 = (_stbi__get_marker($z)|0); - $16 = $15&255; - $17 = ($15<<24>>24)==(-1); - if ($17) { - while(1) { - $18 = HEAP32[$z>>2]|0; - $19 = (_stbi__at_eof($18)|0); - $20 = ($19|0)==(0); - if (!($20)) { - break L10; - } - $21 = (_stbi__get_marker($z)|0); - $22 = ($21<<24>>24)==(-1); - if (!($22)) { - $$lcssa20 = $21; - break; - } - } - $9 = $$lcssa20&255; - $$lcssa = $9; - } else { - $$lcssa = $16; - } - $10 = $$lcssa & 254; - $11 = ($10|0)==(192); - $12 = ($$lcssa|0)==(194); - $$ = $12 | $11; - if ($$) { - $$lcssa5 = $12; - break L8; - } else { - $m$010 = $$lcssa; - } - } - if ((label|0) == 14) { - return ($$0|0); - } - _stbi__err(18385); - $$0 = 0; - return ($$0|0); - } - } while(0); - $23 = $$lcssa5&1; - $24 = ((($z)) + 18124|0); - HEAP32[$24>>2] = $23; - $25 = (_stbi__process_frame_header($z,$scan)|0); - $not$ = ($25|0)!=(0); - $$2 = $not$&1; - $$0 = $$2; - return ($$0|0); -} -function _stbi__get_marker($j) { - $j = $j|0; - var $$0 = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($j)) + 18116|0); - $1 = HEAP8[$0>>0]|0; - $2 = ($1<<24>>24)==(-1); - if (!($2)) { - HEAP8[$0>>0] = -1; - $$0 = $1; - return ($$0|0); - } - $3 = HEAP32[$j>>2]|0; - $4 = (_stbi__get8($3)|0); - $5 = ($4<<24>>24)==(-1); - if (!($5)) { - $$0 = -1; - return ($$0|0); - } - while(1) { - $6 = HEAP32[$j>>2]|0; - $7 = (_stbi__get8($6)|0); - $8 = ($7<<24>>24)==(-1); - if (!($8)) { - $$0 = $7; - break; - } - } - return ($$0|0); -} -function _stbi__process_marker($z,$m) { - $z = $z|0; - $m = $m|0; - var $$2 = 0, $$mask = 0, $$mask7 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0; - var $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0; - var $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0; - var $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0; - var $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0; - var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0; - var $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0; - var $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0; - var $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $L$0$lcssa = 0, $L$015 = 0, $L$1$lcssa = 0, $L$122 = 0; - var $exitcond = 0, $exitcond30 = 0, $i$014 = 0, $i1$118 = 0, $or$cond = 0, $or$cond5 = 0, $sizes = 0, $v$0 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; - $sizes = sp; - switch ($m|0) { - case 255: { - _stbi__err(18496); - $$2 = 0; - STACKTOP = sp;return ($$2|0); - break; - } - case 221: { - $0 = HEAP32[$z>>2]|0; - $1 = (_stbi__get16be($0)|0); - $2 = ($1|0)==(4); - if ($2) { - $3 = HEAP32[$z>>2]|0; - $4 = (_stbi__get16be($3)|0); - $5 = ((($z)) + 18168|0); - HEAP32[$5>>2] = $4; - $$2 = 1; - STACKTOP = sp;return ($$2|0); - } else { - _stbi__err(18512); - $$2 = 0; - STACKTOP = sp;return ($$2|0); - } - break; - } - case 219: { - $6 = HEAP32[$z>>2]|0; - $7 = (_stbi__get16be($6)|0); - $8 = (($7) + -2)|0; - $9 = ($7|0)>(2); - L16: do { - if ($9) { - $L$015 = $8; - while(1) { - $10 = HEAP32[$z>>2]|0; - $11 = (_stbi__get8($10)|0); - $12 = $11&255; - $13 = $12 & 15; - $$mask = $12 & 240; - $14 = ($$mask|0)==(0); - if (!($14)) { - label = 8; - break; - } - $15 = ($13>>>0)>(3); - if ($15) { - label = 10; - break; - } else { - $i$014 = 0; - } - while(1) { - $16 = HEAP32[$z>>2]|0; - $17 = (_stbi__get8($16)|0); - $18 = (18551 + ($i$014)|0); - $19 = HEAP8[$18>>0]|0; - $20 = $19&255; - $21 = ((((($z)) + 13444|0) + ($13<<6)|0) + ($20)|0); - HEAP8[$21>>0] = $17; - $22 = (($i$014) + 1)|0; - $exitcond = ($22|0)==(64); - if ($exitcond) { - break; - } else { - $i$014 = $22; - } - } - $23 = (($L$015) + -65)|0; - $24 = ($L$015|0)>(65); - if ($24) { - $L$015 = $23; - } else { - $L$0$lcssa = $23; - break L16; - } - } - if ((label|0) == 8) { - _stbi__err(18524); - $$2 = 0; - STACKTOP = sp;return ($$2|0); - } - else if ((label|0) == 10) { - _stbi__err(18537); - $$2 = 0; - STACKTOP = sp;return ($$2|0); - } - } else { - $L$0$lcssa = $8; - } - } while(0); - $25 = ($L$0$lcssa|0)==(0); - $26 = $25&1; - $$2 = $26; - STACKTOP = sp;return ($$2|0); - break; - } - case 196: { - $27 = HEAP32[$z>>2]|0; - $28 = (_stbi__get16be($27)|0); - $29 = (($28) + -2)|0; - $30 = ($28|0)>(2); - L31: do { - if ($30) { - $31 = ((($sizes)) + 4|0); - $32 = ((($sizes)) + 8|0); - $33 = ((($sizes)) + 12|0); - $34 = ((($sizes)) + 16|0); - $35 = ((($sizes)) + 20|0); - $36 = ((($sizes)) + 24|0); - $37 = ((($sizes)) + 28|0); - $38 = ((($sizes)) + 32|0); - $39 = ((($sizes)) + 36|0); - $40 = ((($sizes)) + 40|0); - $41 = ((($sizes)) + 44|0); - $42 = ((($sizes)) + 48|0); - $43 = ((($sizes)) + 52|0); - $44 = ((($sizes)) + 56|0); - $45 = ((($sizes)) + 60|0); - $L$122 = $29; - while(1) { - $46 = HEAP32[$z>>2]|0; - $47 = (_stbi__get8($46)|0); - $48 = $47&255; - $49 = $48 & 15; - $50 = ($47&255)>(31); - $51 = ($49>>>0)>(3); - $or$cond = $50 | $51; - if ($or$cond) { - label = 17; - break; - } - $52 = HEAP32[$z>>2]|0; - $53 = (_stbi__get8($52)|0); - $54 = $53&255; - HEAP32[$sizes>>2] = $54; - $55 = HEAP32[$z>>2]|0; - $56 = (_stbi__get8($55)|0); - $57 = $56&255; - HEAP32[$31>>2] = $57; - $58 = (($57) + ($54))|0; - $59 = HEAP32[$z>>2]|0; - $60 = (_stbi__get8($59)|0); - $61 = $60&255; - HEAP32[$32>>2] = $61; - $62 = (($61) + ($58))|0; - $63 = HEAP32[$z>>2]|0; - $64 = (_stbi__get8($63)|0); - $65 = $64&255; - HEAP32[$33>>2] = $65; - $66 = (($65) + ($62))|0; - $67 = HEAP32[$z>>2]|0; - $68 = (_stbi__get8($67)|0); - $69 = $68&255; - HEAP32[$34>>2] = $69; - $70 = (($69) + ($66))|0; - $71 = HEAP32[$z>>2]|0; - $72 = (_stbi__get8($71)|0); - $73 = $72&255; - HEAP32[$35>>2] = $73; - $74 = (($73) + ($70))|0; - $75 = HEAP32[$z>>2]|0; - $76 = (_stbi__get8($75)|0); - $77 = $76&255; - HEAP32[$36>>2] = $77; - $78 = (($77) + ($74))|0; - $79 = HEAP32[$z>>2]|0; - $80 = (_stbi__get8($79)|0); - $81 = $80&255; - HEAP32[$37>>2] = $81; - $82 = (($81) + ($78))|0; - $83 = HEAP32[$z>>2]|0; - $84 = (_stbi__get8($83)|0); - $85 = $84&255; - HEAP32[$38>>2] = $85; - $86 = (($85) + ($82))|0; - $87 = HEAP32[$z>>2]|0; - $88 = (_stbi__get8($87)|0); - $89 = $88&255; - HEAP32[$39>>2] = $89; - $90 = (($89) + ($86))|0; - $91 = HEAP32[$z>>2]|0; - $92 = (_stbi__get8($91)|0); - $93 = $92&255; - HEAP32[$40>>2] = $93; - $94 = (($93) + ($90))|0; - $95 = HEAP32[$z>>2]|0; - $96 = (_stbi__get8($95)|0); - $97 = $96&255; - HEAP32[$41>>2] = $97; - $98 = (($97) + ($94))|0; - $99 = HEAP32[$z>>2]|0; - $100 = (_stbi__get8($99)|0); - $101 = $100&255; - HEAP32[$42>>2] = $101; - $102 = (($101) + ($98))|0; - $103 = HEAP32[$z>>2]|0; - $104 = (_stbi__get8($103)|0); - $105 = $104&255; - HEAP32[$43>>2] = $105; - $106 = (($105) + ($102))|0; - $107 = HEAP32[$z>>2]|0; - $108 = (_stbi__get8($107)|0); - $109 = $108&255; - HEAP32[$44>>2] = $109; - $110 = (($109) + ($106))|0; - $111 = HEAP32[$z>>2]|0; - $112 = (_stbi__get8($111)|0); - $113 = $112&255; - HEAP32[$45>>2] = $113; - $114 = (($113) + ($110))|0; - $115 = (($L$122) + -17)|0; - $$mask7 = $48 & 240; - $116 = ($$mask7|0)==(0); - if ($116) { - $117 = (((($z)) + 4|0) + (($49*1680)|0)|0); - $118 = (_stbi__build_huffman($117,$sizes)|0); - $119 = ($118|0)==(0); - if ($119) { - break; - } - $120 = (((((($z)) + 4|0) + (($49*1680)|0)|0)) + 1024|0); - $v$0 = $120; - } else { - $121 = (((($z)) + 6724|0) + (($49*1680)|0)|0); - $122 = (_stbi__build_huffman($121,$sizes)|0); - $123 = ($122|0)==(0); - if ($123) { - break; - } - $124 = (((((($z)) + 6724|0) + (($49*1680)|0)|0)) + 1024|0); - $v$0 = $124; - } - $125 = ($114|0)>(0); - if ($125) { - $126 = $56&255; - $127 = $53&255; - $128 = (($126) + ($127))|0; - $129 = $60&255; - $130 = (($128) + ($129))|0; - $131 = $64&255; - $132 = (($130) + ($131))|0; - $133 = $68&255; - $134 = (($132) + ($133))|0; - $135 = $72&255; - $136 = (($134) + ($135))|0; - $137 = $76&255; - $138 = (($136) + ($137))|0; - $139 = $80&255; - $140 = (($138) + ($139))|0; - $141 = $84&255; - $142 = (($140) + ($141))|0; - $143 = $88&255; - $144 = (($142) + ($143))|0; - $145 = $92&255; - $146 = (($144) + ($145))|0; - $147 = $96&255; - $148 = (($146) + ($147))|0; - $149 = $100&255; - $150 = (($148) + ($149))|0; - $151 = $104&255; - $152 = (($150) + ($151))|0; - $153 = $108&255; - $154 = (($152) + ($153))|0; - $155 = $112&255; - $156 = (($154) + ($155))|0; - $i1$118 = 0; - while(1) { - $157 = HEAP32[$z>>2]|0; - $158 = (_stbi__get8($157)|0); - $159 = (($v$0) + ($i1$118)|0); - HEAP8[$159>>0] = $158; - $160 = (($i1$118) + 1)|0; - $exitcond30 = ($160|0)==($156|0); - if ($exitcond30) { - break; - } else { - $i1$118 = $160; - } - } - } - if (!($116)) { - $161 = (((($z)) + 13700|0) + ($49<<10)|0); - $162 = (((($z)) + 6724|0) + (($49*1680)|0)|0); - _stbi__build_fast_ac($161,$162); - } - $163 = (($115) - ($114))|0; - $164 = ($163|0)>(0); - if ($164) { - $L$122 = $163; - } else { - $L$1$lcssa = $163; - break L31; - } - } - if ((label|0) == 17) { - _stbi__err(18630); - } - $$2 = 0; - STACKTOP = sp;return ($$2|0); - } else { - $L$1$lcssa = $29; - } - } while(0); - $165 = ($L$1$lcssa|0)==(0); - $166 = $165&1; - $$2 = $166; - STACKTOP = sp;return ($$2|0); - break; - } - default: { - $167 = $m & -16; - $168 = ($167|0)==(224); - $169 = ($m|0)==(254); - $or$cond5 = $169 | $168; - if (!($or$cond5)) { - $$2 = 0; - STACKTOP = sp;return ($$2|0); - } - $170 = HEAP32[$z>>2]|0; - $171 = (_stbi__get16be($170)|0); - $172 = (($171) + -2)|0; - _stbi__skip($170,$172); - $$2 = 1; - STACKTOP = sp;return ($$2|0); - } - } - return (0)|0; -} -function _stbi__process_frame_header($z,$scan) { - $z = $z|0; - $scan = $scan|0; - var $$0 = 0, $$h_max$0 = 0, $$lcssa = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0; - var $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0; - var $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $15 = 0; - var $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0; - var $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0; - var $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0; - var $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0; - var $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond = 0, $h_max$0$lcssa = 0, $h_max$017 = 0, $i$022 = 0, $i$1 = 0, $i$216 = 0, $i$313 = 0, $i$313$lcssa = 0; - var $i$412 = 0, $i$412$in = 0, $or$cond = 0, $or$cond2 = 0, $v_max$0$lcssa = 0, $v_max$018 = 0, $v_max$1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[$z>>2]|0; - $1 = (_stbi__get16be($0)|0); - $2 = ($1|0)<(11); - if ($2) { - _stbi__err(18392); - $$0 = 0; - return ($$0|0); - } - $3 = (_stbi__get8($0)|0); - $4 = ($3<<24>>24)==(8); - if (!($4)) { - _stbi__err(18404); - $$0 = 0; - return ($$0|0); - } - $5 = (_stbi__get16be($0)|0); - $6 = ((($0)) + 4|0); - HEAP32[$6>>2] = $5; - $7 = ($5|0)==(0); - if ($7) { - _stbi__err(18415); - $$0 = 0; - return ($$0|0); - } - $8 = (_stbi__get16be($0)|0); - HEAP32[$0>>2] = $8; - $9 = ($8|0)==(0); - if ($9) { - _stbi__err(18432); - $$0 = 0; - return ($$0|0); - } - $10 = (_stbi__get8($0)|0); - $11 = $10&255; - switch ($10<<24>>24) { - case 1: case 3: { - break; - } - default: { - _stbi__err(18440); - $$0 = 0; - return ($$0|0); - } - } - $12 = ((($0)) + 8|0); - HEAP32[$12>>2] = $11; - $13 = $10&255; - $i$022 = 0; - while(1) { - $14 = (((((($z)) + 17820|0) + (($i$022*72)|0)|0)) + 44|0); - HEAP32[$14>>2] = 0; - $15 = (((((($z)) + 17820|0) + (($i$022*72)|0)|0)) + 56|0); - HEAP32[$15>>2] = 0; - $16 = (($i$022) + 1)|0; - $exitcond = ($16|0)==($13|0); - if ($exitcond) { - break; - } else { - $i$022 = $16; - } - } - $17 = HEAP32[$12>>2]|0; - $18 = ($17*3)|0; - $19 = (($18) + 8)|0; - $20 = ($1|0)==($19|0); - if ($20) { - $i$1 = 0; - } else { - _stbi__err(18392); - $$0 = 0; - return ($$0|0); - } - while(1) { - $21 = HEAP32[$12>>2]|0; - $22 = ($i$1|0)<($21|0); - if (!($22)) { - $$lcssa = $21; - label = 24; - break; - } - $23 = (_stbi__get8($0)|0); - $24 = $23&255; - $25 = (((($z)) + 17820|0) + (($i$1*72)|0)|0); - HEAP32[$25>>2] = $24; - $26 = (($i$1) + 1)|0; - $27 = ($24|0)==($26|0); - $28 = ($24|0)==($i$1|0); - $or$cond = $27 | $28; - if (!($or$cond)) { - label = 17; - break; - } - $29 = (_stbi__get8($0)|0); - $30 = $29&255; - $31 = $30 >>> 4; - $32 = (((((($z)) + 17820|0) + (($i$1*72)|0)|0)) + 4|0); - HEAP32[$32>>2] = $31; - $33 = ($31|0)==(0); - $34 = ($29&255)>(79); - $or$cond2 = $34 | $33; - if ($or$cond2) { - label = 19; - break; - } - $35 = $30 & 15; - $36 = (((((($z)) + 17820|0) + (($i$1*72)|0)|0)) + 8|0); - HEAP32[$36>>2] = $35; - $37 = (($35) + -1)|0; - $38 = ($37>>>0)>(3); - if ($38) { - label = 21; - break; - } - $39 = (_stbi__get8($0)|0); - $40 = $39&255; - $41 = (((((($z)) + 17820|0) + (($i$1*72)|0)|0)) + 12|0); - HEAP32[$41>>2] = $40; - $42 = ($39&255)>(3); - if ($42) { - label = 23; - break; - } else { - $i$1 = $26; - } - } - if ((label|0) == 17) { - _stbi__err(18460); - $$0 = 0; - return ($$0|0); - } - else if ((label|0) == 19) { - _stbi__err(18477); - $$0 = 0; - return ($$0|0); - } - else if ((label|0) == 21) { - _stbi__err(18483); - $$0 = 0; - return ($$0|0); - } - else if ((label|0) == 23) { - _stbi__err(18489); - $$0 = 0; - return ($$0|0); - } - else if ((label|0) == 24) { - $43 = ($scan|0)==(0); - if (!($43)) { - $$0 = 1; - return ($$0|0); - } - $44 = HEAP32[$0>>2]|0; - $45 = (1073741824 / ($44>>>0))&-1; - $46 = (($45>>>0) / ($$lcssa>>>0))&-1; - $47 = HEAP32[$6>>2]|0; - $48 = ($46>>>0)<($47>>>0); - if ($48) { - _stbi__err(17846); - $$0 = 0; - return ($$0|0); - } - $49 = HEAP32[$12>>2]|0; - $50 = ($49|0)>(0); - if ($50) { - $51 = HEAP32[$12>>2]|0; - $h_max$017 = 1;$i$216 = 0;$v_max$018 = 1; - while(1) { - $52 = (((((($z)) + 17820|0) + (($i$216*72)|0)|0)) + 4|0); - $53 = HEAP32[$52>>2]|0; - $54 = ($53|0)>($h_max$017|0); - $$h_max$0 = $54 ? $53 : $h_max$017; - $55 = (((((($z)) + 17820|0) + (($i$216*72)|0)|0)) + 8|0); - $56 = HEAP32[$55>>2]|0; - $57 = ($56|0)>($v_max$018|0); - $v_max$1 = $57 ? $56 : $v_max$018; - $58 = (($i$216) + 1)|0; - $59 = ($58|0)<($51|0); - if ($59) { - $h_max$017 = $$h_max$0;$i$216 = $58;$v_max$018 = $v_max$1; - } else { - $h_max$0$lcssa = $$h_max$0;$v_max$0$lcssa = $v_max$1; - break; - } - } - } else { - $h_max$0$lcssa = 1;$v_max$0$lcssa = 1; - } - $60 = ((($z)) + 17796|0); - HEAP32[$60>>2] = $h_max$0$lcssa; - $61 = ((($z)) + 17800|0); - HEAP32[$61>>2] = $v_max$0$lcssa; - $62 = $h_max$0$lcssa << 3; - $63 = ((($z)) + 17812|0); - HEAP32[$63>>2] = $62; - $64 = $v_max$0$lcssa << 3; - $65 = ((($z)) + 17816|0); - HEAP32[$65>>2] = $64; - $66 = HEAP32[$0>>2]|0; - $67 = HEAP32[$63>>2]|0; - $68 = (($66) + -1)|0; - $69 = (($68) + ($67))|0; - $70 = (($69>>>0) / ($67>>>0))&-1; - $71 = ((($z)) + 17804|0); - HEAP32[$71>>2] = $70; - $72 = HEAP32[$6>>2]|0; - $73 = HEAP32[$65>>2]|0; - $74 = (($72) + -1)|0; - $75 = (($74) + ($73))|0; - $76 = (($75>>>0) / ($73>>>0))&-1; - $77 = ((($z)) + 17808|0); - HEAP32[$77>>2] = $76; - $78 = HEAP32[$12>>2]|0; - $79 = ($78|0)>(0); - if (!($79)) { - $$0 = 1; - return ($$0|0); - } - $80 = (($h_max$0$lcssa) + -1)|0; - $81 = (($v_max$0$lcssa) + -1)|0; - $82 = ((($z)) + 18124|0); - $i$313 = 0; - while(1) { - $83 = HEAP32[$0>>2]|0; - $84 = (((((($z)) + 17820|0) + (($i$313*72)|0)|0)) + 4|0); - $85 = HEAP32[$84>>2]|0; - $86 = Math_imul($85, $83)|0; - $87 = (($80) + ($86))|0; - $88 = (($87>>>0) / ($h_max$0$lcssa>>>0))&-1; - $89 = (((((($z)) + 17820|0) + (($i$313*72)|0)|0)) + 28|0); - HEAP32[$89>>2] = $88; - $90 = HEAP32[$6>>2]|0; - $91 = (((((($z)) + 17820|0) + (($i$313*72)|0)|0)) + 8|0); - $92 = HEAP32[$91>>2]|0; - $93 = Math_imul($92, $90)|0; - $94 = (($81) + ($93))|0; - $95 = (($94>>>0) / ($v_max$0$lcssa>>>0))&-1; - $96 = (((((($z)) + 17820|0) + (($i$313*72)|0)|0)) + 32|0); - HEAP32[$96>>2] = $95; - $97 = HEAP32[$71>>2]|0; - $98 = HEAP32[$84>>2]|0; - $99 = $97 << 3; - $100 = Math_imul($99, $98)|0; - $101 = (((((($z)) + 17820|0) + (($i$313*72)|0)|0)) + 36|0); - HEAP32[$101>>2] = $100; - $102 = HEAP32[$77>>2]|0; - $103 = HEAP32[$91>>2]|0; - $104 = $102 << 3; - $105 = Math_imul($104, $103)|0; - $106 = (((((($z)) + 17820|0) + (($i$313*72)|0)|0)) + 40|0); - HEAP32[$106>>2] = $105; - $107 = HEAP32[$101>>2]|0; - $108 = Math_imul($105, $107)|0; - $109 = (($108) + 15)|0; - $110 = (_stbi__malloc($109)|0); - $111 = (((((($z)) + 17820|0) + (($i$313*72)|0)|0)) + 48|0); - HEAP32[$111>>2] = $110; - $112 = ($110|0)==(0|0); - if ($112) { - $i$313$lcssa = $i$313; - break; - } - $117 = $110; - $118 = (($117) + 15)|0; - $119 = $118 & -16; - $120 = $119; - $121 = (((((($z)) + 17820|0) + (($i$313*72)|0)|0)) + 44|0); - HEAP32[$121>>2] = $120; - $122 = (((((($z)) + 17820|0) + (($i$313*72)|0)|0)) + 56|0); - HEAP32[$122>>2] = 0; - $123 = HEAP32[$82>>2]|0; - $124 = ($123|0)==(0); - if ($124) { - $144 = (((((($z)) + 17820|0) + (($i$313*72)|0)|0)) + 60|0); - HEAP32[$144>>2] = 0; - $145 = (((((($z)) + 17820|0) + (($i$313*72)|0)|0)) + 52|0); - HEAP32[$145>>2] = 0; - } else { - $125 = HEAP32[$101>>2]|0; - $126 = (($125) + 7)|0; - $127 = $126 >> 3; - $128 = (((((($z)) + 17820|0) + (($i$313*72)|0)|0)) + 64|0); - HEAP32[$128>>2] = $127; - $129 = HEAP32[$106>>2]|0; - $130 = (($129) + 7)|0; - $131 = $130 >> 3; - $132 = (((((($z)) + 17820|0) + (($i$313*72)|0)|0)) + 68|0); - HEAP32[$132>>2] = $131; - $133 = HEAP32[$128>>2]|0; - $134 = $133 << 7; - $135 = Math_imul($134, $131)|0; - $136 = $135 | 15; - $137 = (_malloc($136)|0); - $138 = (((((($z)) + 17820|0) + (($i$313*72)|0)|0)) + 52|0); - HEAP32[$138>>2] = $137; - $139 = $137; - $140 = (($139) + 15)|0; - $141 = $140 & -16; - $142 = $141; - $143 = (((((($z)) + 17820|0) + (($i$313*72)|0)|0)) + 60|0); - HEAP32[$143>>2] = $142; - } - $146 = (($i$313) + 1)|0; - $147 = HEAP32[$12>>2]|0; - $148 = ($146|0)<($147|0); - if ($148) { - $i$313 = $146; - } else { - $$0 = 1; - label = 40; - break; - } - } - if ((label|0) == 40) { - return ($$0|0); - } - $113 = ($i$313$lcssa|0)>(0); - if ($113) { - $i$412$in = $i$313$lcssa; - while(1) { - $i$412 = (($i$412$in) + -1)|0; - $114 = (((((($z)) + 17820|0) + (($i$412*72)|0)|0)) + 48|0); - $115 = HEAP32[$114>>2]|0; - _free($115); - HEAP32[$114>>2] = 0; - $116 = ($i$412$in|0)>(1); - if ($116) { - $i$412$in = $i$412; - } else { - break; - } - } - } - _stbi__err(18059); - $$0 = 0; - return ($$0|0); - } - return (0)|0; -} -function _stbi__build_huffman($h,$count) { - $h = $h|0; - $count = $count|0; - var $$0 = 0, $$lcssa37 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; - var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0; - var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $code$014 = 0, $code$1$lcssa = 0, $code$110 = 0, $code$2 = 0, $exitcond = 0; - var $exitcond26 = 0, $i$022 = 0, $i$17 = 0, $j$017 = 0, $j$115 = 0, $k$021 = 0, $k$1$lcssa = 0, $k$1$lcssa$lcssa = 0, $k$116 = 0, $k$213 = 0, $k$3$lcssa = 0, $k$39 = 0, $k$4 = 0, $k$4$lcssa = 0, $scevgep = 0, $smax = 0, label = 0, sp = 0; - sp = STACKTOP; - $i$022 = 0;$k$021 = 0; - while(1) { - $1 = (($count) + ($i$022<<2)|0); - $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)>(0); - $0 = (($i$022) + 1)|0; - if ($3) { - $4 = $0&255; - $j$017 = 0;$k$116 = $k$021; - while(1) { - $5 = (($k$116) + 1)|0; - $6 = (((($h)) + 1280|0) + ($k$116)|0); - HEAP8[$6>>0] = $4; - $7 = (($j$017) + 1)|0; - $8 = HEAP32[$1>>2]|0; - $9 = ($7|0)<($8|0); - if ($9) { - $j$017 = $7;$k$116 = $5; - } else { - $k$1$lcssa = $5; - break; - } - } - } else { - $k$1$lcssa = $k$021; - } - $exitcond26 = ($0|0)==(16); - if ($exitcond26) { - $k$1$lcssa$lcssa = $k$1$lcssa; - break; - } else { - $i$022 = $0;$k$021 = $k$1$lcssa; - } - } - $10 = (((($h)) + 1280|0) + ($k$1$lcssa$lcssa)|0); - HEAP8[$10>>0] = 0; - $code$014 = 0;$j$115 = 1;$k$213 = 0; - while(1) { - $11 = (($k$213) - ($code$014))|0; - $12 = (((($h)) + 1612|0) + ($j$115<<2)|0); - HEAP32[$12>>2] = $11; - $13 = (((($h)) + 1280|0) + ($k$213)|0); - $14 = HEAP8[$13>>0]|0; - $15 = $14&255; - $16 = ($15|0)==($j$115|0); - if ($16) { - $17 = (((($h)) + 1280|0) + ($k$213)|0); - $18 = HEAP8[$17>>0]|0; - $19 = $18&255; - $20 = ($19|0)==($j$115|0); - if ($20) { - $code$110 = $code$014;$k$39 = $k$213; - while(1) { - $21 = (($code$110) + 1)|0; - $22 = $code$110&65535; - $23 = (($k$39) + 1)|0; - $24 = (((($h)) + 512|0) + ($k$39<<1)|0); - HEAP16[$24>>1] = $22; - $25 = (((($h)) + 1280|0) + ($23)|0); - $26 = HEAP8[$25>>0]|0; - $27 = $26&255; - $28 = ($27|0)==($j$115|0); - if ($28) { - $code$110 = $21;$k$39 = $23; - } else { - $code$1$lcssa = $21;$k$3$lcssa = $23; - break; - } - } - } else { - $code$1$lcssa = $code$014;$k$3$lcssa = $k$213; - } - $29 = 1 << $j$115; - $30 = ($code$1$lcssa|0)>($29|0); - if ($30) { - label = 11; - break; - } else { - $code$2 = $code$1$lcssa;$k$4 = $k$3$lcssa; - } - } else { - $code$2 = $code$014;$k$4 = $k$213; - } - $31 = (16 - ($j$115))|0; - $32 = $code$2 << $31; - $33 = (((($h)) + 1540|0) + ($j$115<<2)|0); - HEAP32[$33>>2] = $32; - $34 = $code$2 << 1; - $35 = (($j$115) + 1)|0; - $36 = ($35|0)<(17); - if ($36) { - $code$014 = $34;$j$115 = $35;$k$213 = $k$4; - } else { - $$lcssa37 = $35;$k$4$lcssa = $k$4; - break; - } - } - if ((label|0) == 11) { - _stbi__err(18645); - $$0 = 0; - return ($$0|0); - } - $37 = (((($h)) + 1540|0) + ($$lcssa37<<2)|0); - HEAP32[$37>>2] = -1; - _memset(($h|0),-1,512)|0; - $38 = ($k$4$lcssa|0)>(0); - if ($38) { - $i$17 = 0; - } else { - $$0 = 1; - return ($$0|0); - } - while(1) { - $39 = (((($h)) + 1280|0) + ($i$17)|0); - $40 = HEAP8[$39>>0]|0; - $41 = ($40&255)<(10); - if ($41) { - $42 = $40&255; - $43 = (9 - ($42))|0; - $44 = 1 << $43; - $45 = ($43|0)==(31); - if (!($45)) { - $46 = (((($h)) + 512|0) + ($i$17<<1)|0); - $47 = HEAP16[$46>>1]|0; - $48 = $47&65535; - $49 = $48 << $43; - $50 = $i$17&255; - $scevgep = (($h) + ($49)|0); - $51 = ($44|0)>(1); - $smax = $51 ? $44 : 1; - _memset(($scevgep|0),($50|0),($smax|0))|0; - } - } - $52 = (($i$17) + 1)|0; - $exitcond = ($52|0)==($k$4$lcssa|0); - if ($exitcond) { - $$0 = 1; - break; - } else { - $i$17 = $52; - } - } - return ($$0|0); -} -function _stbi__build_fast_ac($fast_ac,$h) { - $fast_ac = $fast_ac|0; - $h = $h|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $i$02 = 0, $k$0 = 0, $k$0$off = 0, label = 0, sp = 0; - sp = STACKTOP; - $i$02 = 0; - while(1) { - $0 = (($h) + ($i$02)|0); - $1 = HEAP8[$0>>0]|0; - $2 = (($fast_ac) + ($i$02<<1)|0); - HEAP16[$2>>1] = 0; - $3 = $1&255; - $4 = ($1<<24>>24)==(-1); - if (!($4)) { - $5 = (((($h)) + 1024|0) + ($3)|0); - $6 = HEAP8[$5>>0]|0; - $7 = $6&255; - $8 = $7 & 240; - $9 = $7 & 15; - $10 = (((($h)) + 1280|0) + ($3)|0); - $11 = HEAP8[$10>>0]|0; - $12 = $11&255; - $13 = ($9|0)==(0); - if (!($13)) { - $14 = (($12) + ($9))|0; - $15 = ($14|0)<(10); - if ($15) { - $16 = $i$02 << $12; - $17 = $16 & 511; - $18 = (9 - ($9))|0; - $19 = $17 >>> $18; - $20 = (($9) + -1)|0; - $21 = 1 << $20; - $22 = ($19|0)<($21|0); - if ($22) { - $23 = -1 << $9; - $24 = (($23) + 1)|0; - $25 = (($24) + ($19))|0; - $k$0 = $25; - } else { - $k$0 = $19; - } - $k$0$off = (($k$0) + 128)|0; - $26 = ($k$0$off>>>0)<(256); - if ($26) { - $27 = $k$0 << 8; - $28 = $27 | $8; - $29 = (($28) + ($14))|0; - $30 = $29&65535; - HEAP16[$2>>1] = $30; - } - } - } - } - $31 = (($i$02) + 1)|0; - $exitcond = ($31|0)==(512); - if ($exitcond) { - break; - } else { - $i$02 = $31; - } - } - return; -} -function _stbi__parse_zlib($a,$parse_header) { - $a = $a|0; - $parse_header = $parse_header|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0; - var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ($parse_header|0)==(0); - if (!($0)) { - $1 = (_stbi__parse_zlib_header($a)|0); - $2 = ($1|0)==(0); - if ($2) { - $$0 = 0; - return ($$0|0); - } - } - $3 = ((($a)) + 8|0); - HEAP32[$3>>2] = 0; - $4 = ((($a)) + 12|0); - HEAP32[$4>>2] = 0; - $5 = ((($a)) + 2052|0); - $6 = ((($a)) + 32|0); - L5: while(1) { - $7 = (_stbi__zreceive($a,1)|0); - $8 = (_stbi__zreceive($a,2)|0); - switch ($8|0) { - case 3: { - $$0 = 0; - label = 13; - break L5; - break; - } - case 0: { - $9 = (_stbi__parse_uncomperssed_block($a)|0); - $10 = ($9|0)==(0); - if ($10) { - $$0 = 0; - label = 13; - break L5; - } - break; - } - case 1: { - $11 = HEAP8[(18693)>>0]|0; - $12 = ($11<<24>>24)==(0); - if ($12) { - _stbi__init_zdefaults(); - } - $13 = (_stbi__zbuild_huffman($6,18694,288)|0); - $14 = ($13|0)==(0); - if ($14) { - $$0 = 0; - label = 13; - break L5; - } - $15 = (_stbi__zbuild_huffman($5,18662,32)|0); - $16 = ($15|0)==(0); - if ($16) { - $$0 = 0; - label = 13; - break L5; - } else { - label = 11; - } - break; - } - default: { - $17 = (_stbi__compute_huffman_codes($a)|0); - $18 = ($17|0)==(0); - if ($18) { - $$0 = 0; - label = 13; - break L5; - } else { - label = 11; - } - } - } - if ((label|0) == 11) { - label = 0; - $19 = (_stbi__parse_huffman_block($a)|0); - $20 = ($19|0)==(0); - if ($20) { - $$0 = 0; - label = 13; - break; - } - } - $21 = ($7|0)==(0); - if (!($21)) { - $$0 = 1; - label = 13; - break; - } - } - if ((label|0) == 13) { - return ($$0|0); - } - return (0)|0; -} -function _stbi__parse_zlib_header($a) { - $a = $a|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_stbi__zget8($a)|0); - $1 = $0&255; - $2 = $1 & 15; - $3 = (_stbi__zget8($a)|0); - $4 = $3&255; - $5 = $1 << 8; - $6 = $5 | $4; - $7 = (($6>>>0) % 31)&-1; - $8 = ($7|0)==(0); - if (!($8)) { - _stbi__err(19316); - $$0 = 0; - return ($$0|0); - } - $9 = $4 & 32; - $10 = ($9|0)==(0); - if (!($10)) { - _stbi__err(19332); - $$0 = 0; - return ($$0|0); - } - $11 = ($2|0)==(8); - if ($11) { - $$0 = 1; - return ($$0|0); - } - _stbi__err(19347); - $$0 = 0; - return ($$0|0); -} -function _stbi__zreceive($z,$n) { - $z = $z|0; - $n = $n|0; - var $0 = 0, $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($z)) + 8|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)<($n|0); - if ($2) { - _stbi__fill_bits($z); - } - $3 = ((($z)) + 12|0); - $4 = HEAP32[$3>>2]|0; - $5 = 1 << $n; - $6 = (($5) + -1)|0; - $7 = $4 & $6; - $8 = $4 >>> $n; - HEAP32[$3>>2] = $8; - $9 = HEAP32[$0>>2]|0; - $10 = (($9) - ($n))|0; - HEAP32[$0>>2] = $10; - return ($7|0); -} -function _stbi__parse_uncomperssed_block($a) { - $a = $a|0; - var $$0 = 0, $$lcssa = 0, $$lcssa17 = 0, $$op = 0, $$ph = 0, $$pr = 0, $$promoted = 0, $$promoted8 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0; - var $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0; - var $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0; - var $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond13 = 0, $header = 0, $k$0$lcssa = 0, $k$03 = 0, $k$12 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $header = sp; - $0 = ((($a)) + 8|0); - $1 = HEAP32[$0>>2]|0; - $2 = $1 & 7; - $3 = ($2|0)==(0); - if ($3) { - $$ph = $1; - } else { - (_stbi__zreceive($a,$2)|0); - $$pr = HEAP32[$0>>2]|0; - $$ph = $$pr; - } - $4 = ($$ph|0)>(0); - if ($4) { - $5 = ((($a)) + 12|0); - $$promoted = HEAP32[$5>>2]|0; - $$promoted8 = HEAP32[$0>>2]|0; - $6 = ($$promoted8|0)<(8); - $$op = $$promoted8 ^ -1; - $7 = $6 ? $$op : -9; - $8 = (($$promoted8) + ($7))|0; - $9 = (($8) + 8)|0; - $10 = $9 >>> 3; - $11 = $10 << 3; - $12 = (($10) + 1)|0; - $14 = $$promoted;$k$03 = 0; - while(1) { - $13 = $14&255; - $15 = (($k$03) + 1)|0; - $16 = (($header) + ($k$03)|0); - HEAP8[$16>>0] = $13; - $17 = $14 >>> 8; - $exitcond13 = ($15|0)==($12|0); - if ($exitcond13) { - $$lcssa17 = $17; - break; - } else { - $14 = $17;$k$03 = $15; - } - } - $18 = (($$promoted8) + -8)|0; - $19 = (($18) - ($11))|0; - HEAP32[$5>>2] = $$lcssa17; - HEAP32[$0>>2] = $19; - $$lcssa = $19;$k$0$lcssa = $12; - } else { - $$lcssa = $$ph;$k$0$lcssa = 0; - } - $20 = ($$lcssa|0)==(0); - if (!($20)) { - ___assert_fail((19238|0),(18129|0),3754,(19255|0)); - // unreachable; - } - $21 = ($k$0$lcssa|0)<(4); - if ($21) { - $k$12 = $k$0$lcssa; - while(1) { - $22 = (_stbi__zget8($a)|0); - $23 = (($k$12) + 1)|0; - $24 = (($header) + ($k$12)|0); - HEAP8[$24>>0] = $22; - $exitcond = ($23|0)==(4); - if ($exitcond) { - break; - } else { - $k$12 = $23; - } - } - } - $25 = ((($header)) + 1|0); - $26 = HEAP8[$25>>0]|0; - $27 = $26&255; - $28 = $27 << 8; - $29 = HEAP8[$header>>0]|0; - $30 = $29&255; - $31 = $28 | $30; - $32 = ((($header)) + 3|0); - $33 = HEAP8[$32>>0]|0; - $34 = $33&255; - $35 = $34 << 8; - $36 = ((($header)) + 2|0); - $37 = HEAP8[$36>>0]|0; - $38 = $37&255; - $39 = $35 | $38; - $40 = $31 ^ 65535; - $41 = ($39|0)==($40|0); - if (!($41)) { - _stbi__err(19286); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $42 = HEAP32[$a>>2]|0; - $43 = (($42) + ($31)|0); - $44 = ((($a)) + 4|0); - $45 = HEAP32[$44>>2]|0; - $46 = ($43>>>0)>($45>>>0); - if ($46) { - _stbi__err(19299); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $47 = ((($a)) + 16|0); - $48 = HEAP32[$47>>2]|0; - $49 = (($48) + ($31)|0); - $50 = ((($a)) + 24|0); - $51 = HEAP32[$50>>2]|0; - $52 = ($49>>>0)>($51>>>0); - if ($52) { - $53 = (_stbi__zexpand($a,$48,$31)|0); - $54 = ($53|0)==(0); - if ($54) { - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - } - $55 = HEAP32[$47>>2]|0; - $56 = HEAP32[$a>>2]|0; - _memcpy(($55|0),($56|0),($31|0))|0; - $57 = HEAP32[$a>>2]|0; - $58 = (($57) + ($31)|0); - HEAP32[$a>>2] = $58; - $59 = HEAP32[$47>>2]|0; - $60 = (($59) + ($31)|0); - HEAP32[$47>>2] = $60; - $$0 = 1; - STACKTOP = sp;return ($$0|0); -} -function _stbi__init_zdefaults() { - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, dest = 0, label = 0, sp = 0, stop = 0; - sp = STACKTOP; - _memset((18694|0),8,144)|0; - dest=(18838); stop=dest+112|0; do { HEAP8[dest>>0]=9|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); - dest=(18950); stop=dest+24|0; do { HEAP8[dest>>0]=7|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); - $0 = (18974); - $1 = $0; - HEAP8[$1>>0]=134744072&255;HEAP8[$1+1>>0]=(134744072>>8)&255;HEAP8[$1+2>>0]=(134744072>>16)&255;HEAP8[$1+3>>0]=134744072>>24; - $2 = (($0) + 4)|0; - $3 = $2; - HEAP8[$3>>0]=134744072&255;HEAP8[$3+1>>0]=(134744072>>8)&255;HEAP8[$3+2>>0]=(134744072>>16)&255;HEAP8[$3+3>>0]=134744072>>24; - dest=18662; stop=dest+32|0; do { HEAP8[dest>>0]=5|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); - return; -} -function _stbi__zbuild_huffman($z,$sizelist,$num) { - $z = $z|0; - $sizelist = $sizelist|0; - $num = $num|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0; - var $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0; - var $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0; - var $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0; - var $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0; - var $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $code$06 = 0, $exitcond = 0, $exitcond13 = 0, $i$010 = 0, $i$28 = 0, $i$34 = 0, $j$03 = 0, $k$07 = 0, $next_code = 0, $or$cond = 0, $sizes = 0, dest = 0, label = 0, sp = 0; - var stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 144|0; - $next_code = sp + 72|0; - $sizes = sp; - dest=$sizes; stop=dest+68|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - _memset(($z|0),0,1024)|0; - $0 = ($num|0)>(0); - if ($0) { - $i$010 = 0; - while(1) { - $1 = (($sizelist) + ($i$010)|0); - $2 = HEAP8[$1>>0]|0; - $3 = $2&255; - $4 = (($sizes) + ($3<<2)|0); - $5 = HEAP32[$4>>2]|0; - $6 = (($5) + 1)|0; - HEAP32[$4>>2] = $6; - $7 = (($i$010) + 1)|0; - $exitcond13 = ($7|0)==($num|0); - if ($exitcond13) { - break; - } else { - $i$010 = $7; - } - } - } - HEAP32[$sizes>>2] = 0; - $11 = ((($sizes)) + 4|0); - $12 = HEAP32[$11>>2]|0; - $13 = ($12|0)>(2); - if (!($13)) { - $8 = ((($sizes)) + 8|0); - $9 = HEAP32[$8>>2]|0; - $10 = ($9|0)>(4); - if (!($10)) { - $66 = ((($sizes)) + 12|0); - $67 = HEAP32[$66>>2]|0; - $68 = ($67|0)>(8); - if (!($68)) { - $69 = ((($sizes)) + 16|0); - $70 = HEAP32[$69>>2]|0; - $71 = ($70|0)>(16); - if (!($71)) { - $72 = ((($sizes)) + 20|0); - $73 = HEAP32[$72>>2]|0; - $74 = ($73|0)>(32); - if (!($74)) { - $75 = ((($sizes)) + 24|0); - $76 = HEAP32[$75>>2]|0; - $77 = ($76|0)>(64); - if (!($77)) { - $78 = ((($sizes)) + 28|0); - $79 = HEAP32[$78>>2]|0; - $80 = ($79|0)>(128); - if (!($80)) { - $81 = ((($sizes)) + 32|0); - $82 = HEAP32[$81>>2]|0; - $83 = ($82|0)>(256); - if (!($83)) { - $84 = ((($sizes)) + 36|0); - $85 = HEAP32[$84>>2]|0; - $86 = ($85|0)>(512); - if (!($86)) { - $87 = ((($sizes)) + 40|0); - $88 = HEAP32[$87>>2]|0; - $89 = ($88|0)>(1024); - if (!($89)) { - $90 = ((($sizes)) + 44|0); - $91 = HEAP32[$90>>2]|0; - $92 = ($91|0)>(2048); - if (!($92)) { - $93 = ((($sizes)) + 48|0); - $94 = HEAP32[$93>>2]|0; - $95 = ($94|0)>(4096); - if (!($95)) { - $96 = ((($sizes)) + 52|0); - $97 = HEAP32[$96>>2]|0; - $98 = ($97|0)>(8192); - if (!($98)) { - $99 = ((($sizes)) + 56|0); - $100 = HEAP32[$99>>2]|0; - $101 = ($100|0)>(16384); - if (!($101)) { - $102 = ((($sizes)) + 60|0); - $103 = HEAP32[$102>>2]|0; - $104 = ($103|0)>(32768); - if (!($104)) { - $code$06 = 0;$i$28 = 1;$k$07 = 0; - while(1) { - $14 = (($next_code) + ($i$28<<2)|0); - HEAP32[$14>>2] = $code$06; - $15 = $code$06&65535; - $16 = (((($z)) + 1024|0) + ($i$28<<1)|0); - HEAP16[$16>>1] = $15; - $17 = $k$07&65535; - $18 = (((($z)) + 1124|0) + ($i$28<<1)|0); - HEAP16[$18>>1] = $17; - $19 = (($sizes) + ($i$28<<2)|0); - $20 = HEAP32[$19>>2]|0; - $21 = (($20) + ($code$06))|0; - $22 = ($20|0)!=(0); - $23 = 1 << $i$28; - $24 = ($21|0)>($23|0); - $or$cond = $22 & $24; - if ($or$cond) { - label = 7; - break; - } - $25 = (16 - ($i$28))|0; - $26 = $21 << $25; - $27 = (((($z)) + 1056|0) + ($i$28<<2)|0); - HEAP32[$27>>2] = $26; - $28 = $21 << 1; - $29 = HEAP32[$19>>2]|0; - $30 = (($29) + ($k$07))|0; - $31 = (($i$28) + 1)|0; - $32 = ($31|0)<(16); - if ($32) { - $code$06 = $28;$i$28 = $31;$k$07 = $30; - } else { - break; - } - } - if ((label|0) == 7) { - _stbi__err(19176); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $33 = ((($z)) + 1120|0); - HEAP32[$33>>2] = 65536; - $34 = ($num|0)>(0); - if ($34) { - $i$34 = 0; - } else { - $$0 = 1; - STACKTOP = sp;return ($$0|0); - } - while(1) { - $35 = (($sizelist) + ($i$34)|0); - $36 = HEAP8[$35>>0]|0; - $37 = $36&255; - $38 = ($36<<24>>24)==(0); - if (!($38)) { - $39 = (($next_code) + ($37<<2)|0); - $40 = HEAP32[$39>>2]|0; - $41 = (((($z)) + 1024|0) + ($37<<1)|0); - $42 = HEAP16[$41>>1]|0; - $43 = $42&65535; - $44 = (($40) - ($43))|0; - $45 = (((($z)) + 1124|0) + ($37<<1)|0); - $46 = HEAP16[$45>>1]|0; - $47 = $46&65535; - $48 = (($44) + ($47))|0; - $49 = $37 << 9; - $50 = $49 | $i$34; - $51 = $50&65535; - $52 = (((($z)) + 1156|0) + ($48)|0); - HEAP8[$52>>0] = $36; - $53 = $i$34&65535; - $54 = (((($z)) + 1444|0) + ($48<<1)|0); - HEAP16[$54>>1] = $53; - $55 = ($36&255)<(10); - do { - if ($55) { - $56 = HEAP32[$39>>2]|0; - $57 = (_stbi__bit_reverse($56,$37)|0); - $58 = ($57|0)<(512); - if (!($58)) { - break; - } - $59 = 1 << $37; - $j$03 = $57; - while(1) { - $60 = (($z) + ($j$03<<1)|0); - HEAP16[$60>>1] = $51; - $61 = (($j$03) + ($59))|0; - $62 = ($61|0)<(512); - if ($62) { - $j$03 = $61; - } else { - break; - } - } - } - } while(0); - $63 = HEAP32[$39>>2]|0; - $64 = (($63) + 1)|0; - HEAP32[$39>>2] = $64; - } - $65 = (($i$34) + 1)|0; - $exitcond = ($65|0)==($num|0); - if ($exitcond) { - $$0 = 1; - break; - } else { - $i$34 = $65; - } - } - STACKTOP = sp;return ($$0|0); - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - _stbi__err(19228); - $$0 = 0; - STACKTOP = sp;return ($$0|0); -} -function _stbi__compute_huffman_codes($a) { - $a = $a|0; - var $$ = 0, $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; - var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0; - var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $codelength_sizes = 0, $exitcond = 0, $i$08 = 0, $lencodes = 0, $n$0$be = 0, $n$0$lcssa = 0, $n$06 = 0, $not$ = 0, $z_codelength = 0, dest = 0; - var label = 0, sp = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 2496|0; - $z_codelength = sp; - $lencodes = sp + 2039|0; - $codelength_sizes = sp + 2020|0; - $0 = (_stbi__zreceive($a,5)|0); - $1 = (($0) + 257)|0; - $2 = (_stbi__zreceive($a,5)|0); - $3 = (($2) + 1)|0; - $4 = (_stbi__zreceive($a,4)|0); - $5 = (($4) + 4)|0; - dest=$codelength_sizes; stop=dest+19|0; do { HEAP8[dest>>0]=0|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); - $6 = ($5|0)>(0); - if ($6) { - $7 = (($4) + 3)|0; - $i$08 = 0; - while(1) { - $8 = (_stbi__zreceive($a,3)|0); - $9 = $8&255; - $10 = (19157 + ($i$08)|0); - $11 = HEAP8[$10>>0]|0; - $12 = $11&255; - $13 = (($codelength_sizes) + ($12)|0); - HEAP8[$13>>0] = $9; - $14 = (($i$08) + 1)|0; - $exitcond = ($i$08|0)==($7|0); - if ($exitcond) { - break; - } else { - $i$08 = $14; - } - } - } - $15 = (_stbi__zbuild_huffman($z_codelength,$codelength_sizes,19)|0); - $16 = ($15|0)==(0); - if ($16) { - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $17 = (($3) + ($1))|0; - $18 = ($17|0)>(0); - L9: do { - if ($18) { - $n$06 = 0; - L10: while(1) { - $19 = (_stbi__zhuffman_decode($a,$z_codelength)|0); - $20 = ($19>>>0)>(18); - if ($20) { - break; - } - $21 = ($19|0)<(16); - L13: do { - if ($21) { - $22 = $19&255; - $23 = (($n$06) + 1)|0; - $24 = (($lencodes) + ($n$06)|0); - HEAP8[$24>>0] = $22; - $n$0$be = $23; - } else { - switch ($19|0) { - case 16: { - $25 = (_stbi__zreceive($a,2)|0); - $26 = (($25) + 3)|0; - $27 = (($lencodes) + ($n$06)|0); - $28 = (($n$06) + -1)|0; - $29 = (($lencodes) + ($28)|0); - $30 = HEAP8[$29>>0]|0; - _memset(($27|0),($30|0),($26|0))|0; - $31 = (($26) + ($n$06))|0; - $n$0$be = $31; - break L13; - break; - } - case 17: { - $33 = (_stbi__zreceive($a,3)|0); - $34 = (($33) + 3)|0; - $35 = (($lencodes) + ($n$06)|0); - _memset(($35|0),0,($34|0))|0; - $36 = (($34) + ($n$06))|0; - $n$0$be = $36; - break L13; - break; - } - case 18: { - $37 = (_stbi__zreceive($a,7)|0); - $38 = (($37) + 11)|0; - $39 = (($lencodes) + ($n$06)|0); - _memset(($39|0),0,($38|0))|0; - $40 = (($38) + ($n$06))|0; - $n$0$be = $40; - break L13; - break; - } - default: { - label = 14; - break L10; - } - } - } - } while(0); - $32 = ($n$0$be|0)<($17|0); - if ($32) { - $n$06 = $n$0$be; - } else { - $n$0$lcssa = $n$0$be; - break L9; - } - } - if ((label|0) == 14) { - ___assert_fail((19192|0),(18129|0),3729,(19200|0)); - // unreachable; - } - _stbi__err(19176); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } else { - $n$0$lcssa = 0; - } - } while(0); - $41 = ($n$0$lcssa|0)==($17|0); - if (!($41)) { - _stbi__err(19176); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $42 = ((($a)) + 32|0); - $43 = (_stbi__zbuild_huffman($42,$lencodes,$1)|0); - $44 = ($43|0)==(0); - if ($44) { - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $45 = ((($a)) + 2052|0); - $46 = (($lencodes) + ($1)|0); - $47 = (_stbi__zbuild_huffman($45,$46,$3)|0); - $not$ = ($47|0)!=(0); - $$ = $not$&1; - $$0 = $$; - STACKTOP = sp;return ($$0|0); -} -function _stbi__parse_huffman_block($a) { - $a = $a|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; - var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $dist$0 = 0; - var $len$0 = 0, $len$2 = 0, $p$0 = 0, $scevgep = 0, $scevgep14 = 0, $zout$0 = 0, $zout$0$lcssa = 0, $zout$1 = 0, $zout$2 = 0, $zout$4 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($a)) + 16|0); - $1 = HEAP32[$0>>2]|0; - $2 = ((($a)) + 32|0); - $3 = ((($a)) + 24|0); - $4 = ((($a)) + 2052|0); - $5 = ((($a)) + 20|0); - $6 = ((($a)) + 24|0); - $zout$0 = $1; - while(1) { - $9 = (_stbi__zhuffman_decode($a,$2)|0); - $10 = ($9|0)<(256); - if ($10) { - $11 = ($9|0)<(0); - if ($11) { - label = 6; - break; - } - $12 = HEAP32[$3>>2]|0; - $13 = ($zout$0>>>0)<($12>>>0); - if ($13) { - $zout$1 = $zout$0; - } else { - $14 = (_stbi__zexpand($a,$zout$0,1)|0); - $15 = ($14|0)==(0); - if ($15) { - $$0 = 0; - label = 28; - break; - } - $16 = HEAP32[$0>>2]|0; - $zout$1 = $16; - } - $17 = $9&255; - $18 = ((($zout$1)) + 1|0); - HEAP8[$zout$1>>0] = $17; - $zout$0 = $18; - continue; - } - $19 = ($9|0)==(256); - if ($19) { - $zout$0$lcssa = $zout$0; - label = 12; - break; - } - $20 = (($9) + -257)|0; - $21 = (8000 + ($20<<2)|0); - $22 = HEAP32[$21>>2]|0; - $23 = (($9) + -265)|0; - $24 = ($23>>>0)<(20); - if ($24) { - $25 = (8124 + ($20<<2)|0); - $26 = HEAP32[$25>>2]|0; - $27 = (_stbi__zreceive($a,$26)|0); - $28 = (($27) + ($22))|0; - $len$0 = $28; - } else { - $len$0 = $22; - } - $29 = (_stbi__zhuffman_decode($a,$4)|0); - $30 = ($29|0)<(0); - if ($30) { - label = 16; - break; - } - $31 = (8248 + ($29<<2)|0); - $32 = HEAP32[$31>>2]|0; - $33 = (($29) + -4)|0; - $34 = ($33>>>0)<(26); - if ($34) { - $35 = (8376 + ($29<<2)|0); - $36 = HEAP32[$35>>2]|0; - $37 = (_stbi__zreceive($a,$36)|0); - $38 = (($37) + ($32))|0; - $dist$0 = $38; - } else { - $dist$0 = $32; - } - $39 = HEAP32[$5>>2]|0; - $40 = $zout$0; - $41 = $39; - $42 = (($40) - ($41))|0; - $43 = ($42|0)<($dist$0|0); - if ($43) { - label = 20; - break; - } - $44 = (($zout$0) + ($len$0)|0); - $45 = HEAP32[$6>>2]|0; - $46 = ($44>>>0)>($45>>>0); - if ($46) { - $47 = (_stbi__zexpand($a,$zout$0,$len$0)|0); - $48 = ($47|0)==(0); - if ($48) { - $$0 = 0; - label = 28; - break; - } - $49 = HEAP32[$0>>2]|0; - $zout$2 = $49; - } else { - $zout$2 = $zout$0; - } - $50 = (0 - ($dist$0))|0; - $8 = (($zout$2) + ($50)|0); - $51 = ($dist$0|0)==(1); - $52 = ($len$0|0)==(0); - if ($51) { - if ($52) { - $zout$0 = $zout$2; - continue; - } - $7 = HEAP8[$8>>0]|0; - _memset(($zout$2|0),($7|0),($len$0|0))|0; - $scevgep14 = (($zout$2) + ($len$0)|0); - $zout$0 = $scevgep14; - continue; - } - if ($52) { - $zout$0 = $zout$2; - continue; - } else { - $len$2 = $len$0;$p$0 = $8;$zout$4 = $zout$2; - } - while(1) { - $53 = ((($p$0)) + 1|0); - $54 = HEAP8[$p$0>>0]|0; - $55 = ((($zout$4)) + 1|0); - HEAP8[$zout$4>>0] = $54; - $56 = (($len$2) + -1)|0; - $57 = ($56|0)==(0); - if ($57) { - break; - } else { - $len$2 = $56;$p$0 = $53;$zout$4 = $55; - } - } - $scevgep = (($zout$2) + ($len$0)|0); - $zout$0 = $scevgep; - } - if ((label|0) == 6) { - _stbi__err(18982); - $$0 = 0; - return ($$0|0); - } - else if ((label|0) == 12) { - HEAP32[$0>>2] = $zout$0$lcssa; - $$0 = 1; - return ($$0|0); - } - else if ((label|0) == 16) { - _stbi__err(18982); - $$0 = 0; - return ($$0|0); - } - else if ((label|0) == 20) { - _stbi__err(18999); - $$0 = 0; - return ($$0|0); - } - else if ((label|0) == 28) { - return ($$0|0); - } - return (0)|0; -} -function _stbi__zhuffman_decode($a,$z) { - $a = $a|0; - $z = $z|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($a)) + 8|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)<(16); - if ($2) { - _stbi__fill_bits($a); - } - $3 = ((($a)) + 12|0); - $4 = HEAP32[$3>>2]|0; - $5 = $4 & 511; - $6 = (($z) + ($5<<1)|0); - $7 = HEAP16[$6>>1]|0; - $8 = $7&65535; - $9 = ($7<<16>>16)==(0); - if ($9) { - $15 = (_stbi__zhuffman_decode_slowpath($a,$z)|0); - $$0 = $15; - return ($$0|0); - } else { - $10 = $8 >>> 9; - $11 = $4 >>> $10; - HEAP32[$3>>2] = $11; - $12 = HEAP32[$0>>2]|0; - $13 = (($12) - ($10))|0; - HEAP32[$0>>2] = $13; - $14 = $8 & 511; - $$0 = $14; - return ($$0|0); - } - return (0)|0; -} -function _stbi__zexpand($z,$zout,$n) { - $z = $z|0; - $zout = $zout|0; - $n = $n|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; - var $8 = 0, $9 = 0, $limit$0 = 0, $limit$0$lcssa = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($z)) + 16|0); - HEAP32[$0>>2] = $zout; - $1 = ((($z)) + 28|0); - $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)==(0); - if ($3) { - _stbi__err(19008); - $$0 = 0; - return ($$0|0); - } - $4 = ((($z)) + 20|0); - $5 = HEAP32[$4>>2]|0; - $6 = $zout; - $7 = $5; - $8 = (($6) - ($7))|0; - $9 = ((($z)) + 24|0); - $10 = HEAP32[$9>>2]|0; - $11 = $10; - $12 = (($11) - ($7))|0; - $13 = (($8) + ($n))|0; - $limit$0 = $12; - while(1) { - $14 = ($13|0)>($limit$0|0); - $15 = $limit$0 << 1; - if ($14) { - $limit$0 = $15; - } else { - $limit$0$lcssa = $limit$0; - break; - } - } - $16 = HEAP32[$4>>2]|0; - $17 = (_realloc($16,$limit$0$lcssa)|0); - $18 = ($17|0)==(0|0); - if ($18) { - _stbi__err(18059); - $$0 = 0; - return ($$0|0); - } else { - HEAP32[$4>>2] = $17; - $19 = (($17) + ($8)|0); - HEAP32[$0>>2] = $19; - $20 = (($17) + ($limit$0$lcssa)|0); - HEAP32[$9>>2] = $20; - $$0 = 1; - return ($$0|0); - } - return (0)|0; -} -function _stbi__fill_bits($z) { - $z = $z|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($z)) + 12|0); - $1 = ((($z)) + 8|0); - while(1) { - $2 = HEAP32[$0>>2]|0; - $3 = HEAP32[$1>>2]|0; - $4 = 1 << $3; - $5 = ($2>>>0)<($4>>>0); - if (!($5)) { - label = 3; - break; - } - $6 = (_stbi__zget8($z)|0); - $7 = $6&255; - $8 = HEAP32[$1>>2]|0; - $9 = $7 << $8; - $10 = HEAP32[$0>>2]|0; - $11 = $10 | $9; - HEAP32[$0>>2] = $11; - $12 = HEAP32[$1>>2]|0; - $13 = (($12) + 8)|0; - HEAP32[$1>>2] = $13; - $14 = ($13|0)<(25); - if (!($14)) { - label = 5; - break; - } - } - if ((label|0) == 3) { - ___assert_fail((19104|0),(18129|0),3573,(19141|0)); - // unreachable; - } - else if ((label|0) == 5) { - return; - } -} -function _stbi__zhuffman_decode_slowpath($a,$z) { - $a = $a|0; - $z = $z|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $s$0 = 0, $s$0$lcssa = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($a)) + 12|0); - $1 = HEAP32[$0>>2]|0; - $2 = (_stbi__bit_reverse($1,16)|0); - $s$0 = 10; - while(1) { - $3 = (((($z)) + 1056|0) + ($s$0<<2)|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($2|0)<($4|0); - $6 = (($s$0) + 1)|0; - if ($5) { - $s$0$lcssa = $s$0; - break; - } else { - $s$0 = $6; - } - } - $7 = ($s$0$lcssa|0)==(16); - if ($7) { - $$0 = -1; - return ($$0|0); - } - $8 = (16 - ($s$0$lcssa))|0; - $9 = $2 >> $8; - $10 = (((($z)) + 1024|0) + ($s$0$lcssa<<1)|0); - $11 = HEAP16[$10>>1]|0; - $12 = $11&65535; - $13 = (($9) - ($12))|0; - $14 = (((($z)) + 1124|0) + ($s$0$lcssa<<1)|0); - $15 = HEAP16[$14>>1]|0; - $16 = $15&65535; - $17 = (($13) + ($16))|0; - $18 = (((($z)) + 1156|0) + ($17)|0); - $19 = HEAP8[$18>>0]|0; - $20 = $19&255; - $21 = ($20|0)==($s$0$lcssa|0); - if (!($21)) { - ___assert_fail((19028|0),(18129|0),3601,(19044|0)); - // unreachable; - } - $22 = HEAP32[$0>>2]|0; - $23 = $22 >>> $s$0$lcssa; - HEAP32[$0>>2] = $23; - $24 = ((($a)) + 8|0); - $25 = HEAP32[$24>>2]|0; - $26 = (($25) - ($s$0$lcssa))|0; - HEAP32[$24>>2] = $26; - $27 = (((($z)) + 1444|0) + ($17<<1)|0); - $28 = HEAP16[$27>>1]|0; - $29 = $28&65535; - $$0 = $29; - return ($$0|0); -} -function _stbi__bit_reverse($v,$bits) { - $v = $v|0; - $bits = $bits|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ($bits|0)<(17); - if ($0) { - $1 = (_stbi__bitreverse16($v)|0); - $2 = (16 - ($bits))|0; - $3 = $1 >> $2; - return ($3|0); - } else { - ___assert_fail((19075|0),(18129|0),3491,(19086|0)); - // unreachable; - } - return (0)|0; -} -function _stbi__bitreverse16($n) { - $n = $n|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; - var sp = 0; - sp = STACKTOP; - $0 = $n >>> 1; - $1 = $0 & 21845; - $2 = $n << 1; - $3 = $2 & 43690; - $4 = $1 | $3; - $5 = $4 >>> 2; - $6 = $5 & 13107; - $7 = $4 << 2; - $8 = $7 & 52428; - $9 = $6 | $8; - $10 = $9 >>> 4; - $11 = $10 & 3855; - $12 = $9 << 4; - $13 = $12 & 61680; - $14 = $11 | $13; - $15 = $14 >>> 8; - $16 = $14 << 8; - $17 = $16 & 65280; - $18 = $17 | $15; - return ($18|0); -} -function _stbi__zget8($z) { - $z = $z|0; - var $$0 = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[$z>>2]|0; - $1 = ((($z)) + 4|0); - $2 = HEAP32[$1>>2]|0; - $3 = ($0>>>0)<($2>>>0); - if (!($3)) { - $$0 = 0; - return ($$0|0); - } - $4 = ((($0)) + 1|0); - HEAP32[$z>>2] = $4; - $5 = HEAP8[$0>>0]|0; - $$0 = $5; - return ($$0|0); -} -function _stbi__load_main($s,$x,$y,$comp,$req_comp) { - $s = $s|0; - $x = $x|0; - $y = $y|0; - $comp = $comp|0; - $req_comp = $req_comp|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $3 = 0, $4 = 0; - var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_stbi__jpeg_test($s)|0); - $1 = ($0|0)==(0); - if (!($1)) { - $2 = (_stbi__jpeg_load($s,$x,$y,$comp,$req_comp)|0); - $$0 = $2; - return ($$0|0); - } - $3 = (_stbi__png_test($s)|0); - $4 = ($3|0)==(0); - if (!($4)) { - $5 = (_stbi__png_load($s,$x,$y,$comp,$req_comp)|0); - $$0 = $5; - return ($$0|0); - } - $6 = (_stbi__bmp_test($s)|0); - $7 = ($6|0)==(0); - if (!($7)) { - $8 = (_stbi__bmp_load($s,$x,$y,$comp,$req_comp)|0); - $$0 = $8; - return ($$0|0); - } - $9 = (_stbi__gif_test($s)|0); - $10 = ($9|0)==(0); - if (!($10)) { - $11 = (_stbi__gif_load($s,$x,$y,$comp,$req_comp)|0); - $$0 = $11; - return ($$0|0); - } - $12 = (_stbi__psd_test($s)|0); - $13 = ($12|0)==(0); - if (!($13)) { - $14 = (_stbi__psd_load($s,$x,$y,$comp,$req_comp)|0); - $$0 = $14; - return ($$0|0); - } - $15 = (_stbi__pic_test($s)|0); - $16 = ($15|0)==(0); - if (!($16)) { - $17 = (_stbi__pic_load($s,$x,$y,$comp,$req_comp)|0); - $$0 = $17; - return ($$0|0); - } - $18 = (_stbi__pnm_test($s)|0); - $19 = ($18|0)==(0); - if (!($19)) { - $20 = (_stbi__pnm_load($s,$x,$y,$comp,$req_comp)|0); - $$0 = $20; - return ($$0|0); - } - $21 = (_stbi__tga_test($s)|0); - $22 = ($21|0)==(0); - if ($22) { - _stbi__err(17723); - $$0 = 0; - return ($$0|0); - } else { - $23 = (_stbi__tga_load($s,$x,$y,$comp,$req_comp)|0); - $$0 = $23; - return ($$0|0); - } - return (0)|0; -} -function _stbi__jpeg_test($s) { - $s = $s|0; - var $0 = 0, $j = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 18192|0; - $j = sp; - HEAP32[$j>>2] = $s; - _stbi__setup_jpeg($j); - $0 = (_stbi__decode_jpeg_header($j,1)|0); - _stbi__rewind($s); - STACKTOP = sp;return ($0|0); -} -function _stbi__jpeg_load($s,$x,$y,$comp,$req_comp) { - $s = $s|0; - $x = $x|0; - $y = $y|0; - $comp = $comp|0; - $req_comp = $req_comp|0; - var $0 = 0, $j = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 18192|0; - $j = sp; - HEAP32[$j>>2] = $s; - _stbi__setup_jpeg($j); - $0 = (_load_jpeg_image($j,$x,$y,$comp,$req_comp)|0); - STACKTOP = sp;return ($0|0); -} -function _stbi__png_test($s) { - $s = $s|0; - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_stbi__check_png_header($s)|0); - _stbi__rewind($s); - return ($0|0); -} -function _stbi__png_load($s,$x,$y,$comp,$req_comp) { - $s = $s|0; - $x = $x|0; - $y = $y|0; - $comp = $comp|0; - $req_comp = $req_comp|0; - var $0 = 0, $p = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $p = sp; - HEAP32[$p>>2] = $s; - $0 = (_stbi__do_png($p,$x,$y,$comp,$req_comp)|0); - STACKTOP = sp;return ($0|0); -} -function _stbi__bmp_test($s) { - $s = $s|0; - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_stbi__bmp_test_raw($s)|0); - _stbi__rewind($s); - return ($0|0); -} -function _stbi__bmp_load($s,$x,$y,$comp,$req_comp) { - $s = $s|0; - $x = $x|0; - $y = $y|0; - $comp = $comp|0; - $req_comp = $req_comp|0; - var $$0 = 0, $$pr = 0, $$sum = 0, $$sum16 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0; - var $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0; - var $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0; - var $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0; - var $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0; - var $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0; - var $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0; - var $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0; - var $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0; - var $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0; - var $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0; - var $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0; - var $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0; - var $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $acount$0 = 0, $all_a$064 = 0, $all_a$158 = 0, $all_a$251 = 0, $all_a$3 = 0, $all_a$4 = 0, $ashift$0 = 0, $bcount$0 = 0, $bshift$0 = 0, $easy$017 = 0, $exitcond = 0, $gcount$0 = 0, $gshift$0 = 0, $i$046 = 0; - var $i$138 = 0, $i$256 = 0, $i$349 = 0, $i$435 = 0, $i$532 = 0, $info = 0, $ispos = 0, $j$044 = 0, $j$162 = 0, $j$233 = 0, $neg = 0, $or$cond = 0, $or$cond11 = 0, $or$cond13 = 0, $or$cond15 = 0, $or$cond3 = 0, $or$cond5 = 0, $or$cond7 = 0, $or$cond9 = 0, $out$0 = 0; - var $pal = 0, $psize$0 = 0, $rcount$0 = 0, $req_comp$ = 0, $rshift$0 = 0, $v$0 = 0, $v2$0 = 0, $width$0 = 0, $width$1 = 0, $width$1$ph = 0, $z$045 = 0, $z$139 = 0, $z$2 = 0, $z$3 = 0, $z$4 = 0, $z1$063 = 0, $z1$157 = 0, $z1$2 = 0, $z1$350 = 0, $z1$4 = 0; - var $z1$5 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 1056|0; - $pal = sp + 32|0; - $info = sp; - $0 = ((($info)) + 28|0); - HEAP32[$0>>2] = 255; - $1 = (_stbi__bmp_parse_header($s,$info)|0); - $2 = ($1|0)==(0|0); - if ($2) { - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $3 = ((($s)) + 4|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)>(0); - $ispos = ($4|0)>(-1); - $neg = (0 - ($4))|0; - $6 = $ispos ? $4 : $neg; - HEAP32[$3>>2] = $6; - $7 = ((($info)) + 12|0); - $8 = HEAP32[$7>>2]|0; - $9 = ((($info)) + 16|0); - $10 = HEAP32[$9>>2]|0; - $11 = ((($info)) + 20|0); - $12 = HEAP32[$11>>2]|0; - $13 = ((($info)) + 24|0); - $14 = HEAP32[$13>>2]|0; - $15 = HEAP32[$0>>2]|0; - $16 = ((($info)) + 8|0); - $17 = HEAP32[$16>>2]|0; - $18 = ($17|0)==(12); - $19 = HEAP32[$info>>2]|0; - if ($18) { - $20 = ($19|0)<(24); - if ($20) { - $21 = ((($info)) + 4|0); - $22 = HEAP32[$21>>2]|0; - $23 = (($22) + -38)|0; - $24 = (($23|0) / 3)&-1; - $psize$0 = $24; - } else { - $psize$0 = 0; - } - } else { - $25 = ($19|0)<(16); - if ($25) { - $26 = ((($info)) + 4|0); - $27 = HEAP32[$26>>2]|0; - $28 = (-14 - ($17))|0; - $29 = (($28) + ($27))|0; - $30 = $29 >> 2; - $psize$0 = $30; - } else { - $psize$0 = 0; - } - } - $31 = ($14|0)!=(0); - $32 = $31 ? 4 : 3; - $33 = ((($s)) + 8|0); - HEAP32[$33>>2] = $32; - $34 = ($req_comp|0)==(0); - $35 = ($req_comp|0)>(2); - $req_comp$ = $35 ? $req_comp : $32; - $36 = HEAP32[$s>>2]|0; - $37 = Math_imul($36, $req_comp$)|0; - $38 = HEAP32[$3>>2]|0; - $39 = Math_imul($37, $38)|0; - $40 = (_stbi__malloc($39)|0); - $41 = ($40|0)==(0|0); - if ($41) { - _stbi__err(18059); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $42 = HEAP32[$info>>2]|0; - $43 = ($42|0)<(16); - if ($43) { - $44 = ($psize$0|0)==(0); - $45 = ($psize$0|0)>(256); - $or$cond3 = $44 | $45; - if ($or$cond3) { - _free($40); - _stbi__err(19679); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $46 = ($psize$0|0)>(0); - if ($46) { - $47 = HEAP32[$16>>2]|0; - $48 = ($47|0)==(12); - $i$046 = 0; - while(1) { - $49 = (_stbi__get8($s)|0); - $50 = (((($pal) + ($i$046<<2)|0)) + 2|0); - HEAP8[$50>>0] = $49; - $51 = (_stbi__get8($s)|0); - $52 = (((($pal) + ($i$046<<2)|0)) + 1|0); - HEAP8[$52>>0] = $51; - $53 = (_stbi__get8($s)|0); - $54 = (($pal) + ($i$046<<2)|0); - HEAP8[$54>>0] = $53; - if (!($48)) { - (_stbi__get8($s)|0); - } - $55 = (((($pal) + ($i$046<<2)|0)) + 3|0); - HEAP8[$55>>0] = -1; - $56 = (($i$046) + 1)|0; - $exitcond = ($56|0)==($psize$0|0); - if ($exitcond) { - break; - } else { - $i$046 = $56; - } - } - } - $57 = ((($info)) + 4|0); - $58 = HEAP32[$57>>2]|0; - $59 = (($58) + -14)|0; - $60 = HEAP32[$16>>2]|0; - $61 = (($59) - ($60))|0; - $62 = ($60|0)==(12); - $63 = $62 ? 3 : 4; - $64 = Math_imul($63, $psize$0)|0; - $65 = (($61) - ($64))|0; - _stbi__skip($s,$65); - $66 = HEAP32[$info>>2]|0; - switch ($66|0) { - case 4: { - $67 = HEAP32[$s>>2]|0; - $68 = (($67) + 1)|0; - $69 = $68 >>> 1; - $width$0 = $69; - break; - } - case 8: { - $70 = HEAP32[$s>>2]|0; - $width$0 = $70; - break; - } - default: { - _free($40); - _stbi__err(19687); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - } - $71 = (0 - ($width$0))|0; - $72 = $71 & 3; - $73 = HEAP32[$3>>2]|0; - $74 = ($73|0)>(0); - if ($74) { - $75 = HEAP32[$info>>2]|0; - $76 = ($75|0)==(4); - $77 = ($req_comp$|0)==(4); - $78 = ($75|0)==(8); - $j$044 = 0;$z$045 = 0; - while(1) { - $79 = HEAP32[$s>>2]|0; - $80 = ($79|0)>(0); - L37: do { - if ($80) { - $i$138 = 0;$z$139 = $z$045; - while(1) { - $81 = (_stbi__get8($s)|0); - $82 = $81&255; - $83 = $82 & 15; - $84 = $82 >>> 4; - $v$0 = $76 ? $84 : $82; - $v2$0 = $76 ? $83 : 0; - $85 = (($pal) + ($v$0<<2)|0); - $86 = HEAP8[$85>>0]|0; - $87 = (($z$139) + 1)|0; - $88 = (($40) + ($z$139)|0); - HEAP8[$88>>0] = $86; - $89 = (((($pal) + ($v$0<<2)|0)) + 1|0); - $90 = HEAP8[$89>>0]|0; - $91 = (($z$139) + 2)|0; - $92 = (($40) + ($87)|0); - HEAP8[$92>>0] = $90; - $93 = (((($pal) + ($v$0<<2)|0)) + 2|0); - $94 = HEAP8[$93>>0]|0; - $95 = (($z$139) + 3)|0; - $96 = (($40) + ($91)|0); - HEAP8[$96>>0] = $94; - if ($77) { - $97 = (($z$139) + 4)|0; - $98 = (($40) + ($95)|0); - HEAP8[$98>>0] = -1; - $z$2 = $97; - } else { - $z$2 = $95; - } - $99 = $i$138 | 1; - $100 = HEAP32[$s>>2]|0; - $101 = ($99|0)==($100|0); - if ($101) { - $z$4 = $z$2; - break L37; - } - if ($78) { - $102 = (_stbi__get8($s)|0); - $103 = $102&255; - $105 = $103; - } else { - $105 = $v2$0; - } - $104 = (($pal) + ($105<<2)|0); - $106 = HEAP8[$104>>0]|0; - $107 = (($z$2) + 1)|0; - $108 = (($40) + ($z$2)|0); - HEAP8[$108>>0] = $106; - $109 = (((($pal) + ($105<<2)|0)) + 1|0); - $110 = HEAP8[$109>>0]|0; - $111 = (($z$2) + 2)|0; - $112 = (($40) + ($107)|0); - HEAP8[$112>>0] = $110; - $113 = (((($pal) + ($105<<2)|0)) + 2|0); - $114 = HEAP8[$113>>0]|0; - $115 = (($z$2) + 3)|0; - $116 = (($40) + ($111)|0); - HEAP8[$116>>0] = $114; - if ($77) { - $117 = (($z$2) + 4)|0; - $118 = (($40) + ($115)|0); - HEAP8[$118>>0] = -1; - $z$3 = $117; - } else { - $z$3 = $115; - } - $119 = (($i$138) + 2)|0; - $120 = HEAP32[$s>>2]|0; - $121 = ($119|0)<($120|0); - if ($121) { - $i$138 = $119;$z$139 = $z$3; - } else { - $z$4 = $z$3; - break; - } - } - } else { - $z$4 = $z$045; - } - } while(0); - _stbi__skip($s,$72); - $122 = (($j$044) + 1)|0; - $123 = HEAP32[$3>>2]|0; - $124 = ($122|0)<($123|0); - if ($124) { - $j$044 = $122;$z$045 = $z$4; - } else { - $all_a$4 = $15; - break; - } - } - } else { - $all_a$4 = $15; - } - } else { - $125 = ((($info)) + 4|0); - $126 = HEAP32[$125>>2]|0; - $127 = (($126) + -14)|0; - $128 = HEAP32[$16>>2]|0; - $129 = (($127) - ($128))|0; - _stbi__skip($s,$129); - $130 = HEAP32[$info>>2]|0; - switch ($130|0) { - case 24: { - $131 = HEAP32[$s>>2]|0; - $132 = ($131*3)|0; - $width$1$ph = $132; - label = 36; - break; - } - case 16: { - $133 = HEAP32[$s>>2]|0; - $134 = $133 << 1; - $width$1$ph = $134; - label = 36; - break; - } - default: { - $137 = $130;$width$1 = 0; - } - } - if ((label|0) == 36) { - $$pr = HEAP32[$info>>2]|0; - $137 = $$pr;$width$1 = $width$1$ph; - } - $135 = (0 - ($width$1))|0; - $136 = $135 & 3; - switch ($137|0) { - case 24: { - $261 = 1;$acount$0 = 0;$ashift$0 = 0;$bcount$0 = 0;$bshift$0 = 0;$easy$017 = 1;$gcount$0 = 0;$gshift$0 = 0;$rcount$0 = 0;$rshift$0 = 0; - break; - } - case 32: { - $138 = ($12|0)==(255); - $139 = ($10|0)==(65280); - $or$cond5 = $139 & $138; - $140 = ($8|0)==(16711680); - $or$cond7 = $140 & $or$cond5; - $141 = ($14|0)==(-16777216); - $or$cond9 = $141 & $or$cond7; - if ($or$cond9) { - $261 = 1;$acount$0 = 0;$ashift$0 = 0;$bcount$0 = 0;$bshift$0 = 0;$easy$017 = 2;$gcount$0 = 0;$gshift$0 = 0;$rcount$0 = 0;$rshift$0 = 0; - } else { - label = 39; - } - break; - } - default: { - label = 39; - } - } - do { - if ((label|0) == 39) { - $142 = ($8|0)!=(0); - $143 = ($10|0)!=(0); - $or$cond11 = $142 & $143; - $144 = ($12|0)!=(0); - $or$cond13 = $or$cond11 & $144; - if ($or$cond13) { - $145 = (_stbi__high_bit($8)|0); - $146 = (($145) + -7)|0; - $147 = (_stbi__bitcount($8)|0); - $148 = (_stbi__high_bit($10)|0); - $149 = (($148) + -7)|0; - $150 = (_stbi__bitcount($10)|0); - $151 = (_stbi__high_bit($12)|0); - $152 = (($151) + -7)|0; - $153 = (_stbi__bitcount($12)|0); - $154 = (_stbi__high_bit($14)|0); - $155 = (($154) + -7)|0; - $156 = (_stbi__bitcount($14)|0); - $261 = 0;$acount$0 = $156;$ashift$0 = $155;$bcount$0 = $153;$bshift$0 = $152;$easy$017 = 0;$gcount$0 = $150;$gshift$0 = $149;$rcount$0 = $147;$rshift$0 = $146; - break; - } - _free($40); - _stbi__err(19695); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - } while(0); - $157 = HEAP32[$3>>2]|0; - $158 = ($157|0)>(0); - if ($158) { - $159 = HEAP32[$info>>2]|0; - $160 = ($159|0)==(16); - $161 = ($req_comp$|0)==(4); - $162 = ($easy$017|0)==(2); - $163 = ($req_comp$|0)==(4); - $all_a$064 = $15;$j$162 = 0;$z1$063 = 0; - while(1) { - $164 = HEAP32[$s>>2]|0; - $165 = ($164|0)>(0); - if ($261) { - if ($165) { - $all_a$158 = $all_a$064;$i$256 = 0;$z1$157 = $z1$063; - while(1) { - $166 = (_stbi__get8($s)|0); - $167 = (($z1$157) + 2)|0; - $168 = (($40) + ($167)|0); - HEAP8[$168>>0] = $166; - $169 = (_stbi__get8($s)|0); - $170 = (($z1$157) + 1)|0; - $171 = (($40) + ($170)|0); - HEAP8[$171>>0] = $169; - $172 = (_stbi__get8($s)|0); - $173 = (($40) + ($z1$157)|0); - HEAP8[$173>>0] = $172; - $174 = (($z1$157) + 3)|0; - if ($162) { - $175 = (_stbi__get8($s)|0); - $176 = $175&255; - $178 = $176; - } else { - $178 = 255; - } - $177 = $178 | $all_a$158; - if ($163) { - $179 = $178&255; - $180 = (($z1$157) + 4)|0; - $181 = (($40) + ($174)|0); - HEAP8[$181>>0] = $179; - $z1$2 = $180; - } else { - $z1$2 = $174; - } - $182 = (($i$256) + 1)|0; - $183 = HEAP32[$s>>2]|0; - $184 = ($182|0)<($183|0); - if ($184) { - $all_a$158 = $177;$i$256 = $182;$z1$157 = $z1$2; - } else { - $all_a$3 = $177;$z1$5 = $z1$2; - break; - } - } - } else { - $all_a$3 = $all_a$064;$z1$5 = $z1$063; - } - } else { - if ($165) { - $all_a$251 = $all_a$064;$i$349 = 0;$z1$350 = $z1$063; - while(1) { - if ($160) { - $185 = (_stbi__get16le($s)|0); - $188 = $185; - } else { - $186 = (_stbi__get32le($s)|0); - $188 = $186; - } - $187 = $188 & $8; - $189 = (_stbi__shiftsigned($187,$rshift$0,$rcount$0)|0); - $190 = $189&255; - $191 = (($z1$350) + 1)|0; - $192 = (($40) + ($z1$350)|0); - HEAP8[$192>>0] = $190; - $193 = $188 & $10; - $194 = (_stbi__shiftsigned($193,$gshift$0,$gcount$0)|0); - $195 = $194&255; - $196 = (($z1$350) + 2)|0; - $197 = (($40) + ($191)|0); - HEAP8[$197>>0] = $195; - $198 = $188 & $12; - $199 = (_stbi__shiftsigned($198,$bshift$0,$bcount$0)|0); - $200 = $199&255; - $201 = (($z1$350) + 3)|0; - $202 = (($40) + ($196)|0); - HEAP8[$202>>0] = $200; - if ($31) { - $203 = $188 & $14; - $204 = (_stbi__shiftsigned($203,$ashift$0,$acount$0)|0); - $206 = $204; - } else { - $206 = 255; - } - $205 = $206 | $all_a$251; - if ($161) { - $207 = $206&255; - $208 = (($z1$350) + 4)|0; - $209 = (($40) + ($201)|0); - HEAP8[$209>>0] = $207; - $z1$4 = $208; - } else { - $z1$4 = $201; - } - $210 = (($i$349) + 1)|0; - $211 = HEAP32[$s>>2]|0; - $212 = ($210|0)<($211|0); - if ($212) { - $all_a$251 = $205;$i$349 = $210;$z1$350 = $z1$4; - } else { - $all_a$3 = $205;$z1$5 = $z1$4; - break; - } - } - } else { - $all_a$3 = $all_a$064;$z1$5 = $z1$063; - } - } - _stbi__skip($s,$136); - $213 = (($j$162) + 1)|0; - $214 = HEAP32[$3>>2]|0; - $215 = ($213|0)<($214|0); - if ($215) { - $all_a$064 = $all_a$3;$j$162 = $213;$z1$063 = $z1$5; - } else { - $all_a$4 = $all_a$3; - break; - } - } - } else { - $all_a$4 = $15; - } - } - $216 = ($req_comp$|0)==(4); - $217 = ($all_a$4|0)==(0); - $or$cond15 = $216 & $217; - if ($or$cond15) { - $218 = HEAP32[$s>>2]|0; - $219 = $218 << 2; - $220 = HEAP32[$3>>2]|0; - $221 = Math_imul($219, $220)|0; - $222 = (($221) + -1)|0; - $223 = ($222|0)>(-1); - if ($223) { - $i$435 = $222; - while(1) { - $224 = (($40) + ($i$435)|0); - HEAP8[$224>>0] = -1; - $225 = (($i$435) + -4)|0; - $226 = ($225|0)>(-1); - if ($226) { - $i$435 = $225; - } else { - break; - } - } - } - } - if ($5) { - $227 = HEAP32[$3>>2]|0; - $228 = $227 >> 1; - $229 = ($228|0)>(0); - if ($229) { - $230 = HEAP32[$s>>2]|0; - $231 = Math_imul($230, $req_comp$)|0; - $232 = ($231|0)>(0); - $233 = HEAP32[$3>>2]|0; - $234 = $233 >> 1; - $239 = $227;$j$233 = 0; - while(1) { - $235 = Math_imul($j$233, $req_comp$)|0; - $236 = Math_imul($235, $230)|0; - $237 = $j$233 ^ -1; - $238 = (($239) + ($237))|0; - $240 = Math_imul($238, $req_comp$)|0; - $241 = Math_imul($240, $230)|0; - if ($232) { - $242 = HEAP32[$s>>2]|0; - $243 = Math_imul($242, $req_comp$)|0; - $i$532 = 0; - while(1) { - $$sum = (($i$532) + ($236))|0; - $244 = (($40) + ($$sum)|0); - $245 = HEAP8[$244>>0]|0; - $$sum16 = (($i$532) + ($241))|0; - $246 = (($40) + ($$sum16)|0); - $247 = HEAP8[$246>>0]|0; - HEAP8[$244>>0] = $247; - HEAP8[$246>>0] = $245; - $248 = (($i$532) + 1)|0; - $249 = ($248|0)<($243|0); - if ($249) { - $i$532 = $248; - } else { - break; - } - } - } - $250 = (($j$233) + 1)|0; - $251 = ($250|0)<($234|0); - if ($251) { - $239 = $233;$j$233 = $250; - } else { - break; - } - } - } - } - $252 = ($req_comp$|0)==($req_comp|0); - $or$cond = $34 | $252; - if ($or$cond) { - $out$0 = $40; - } else { - $253 = HEAP32[$s>>2]|0; - $254 = HEAP32[$3>>2]|0; - $255 = (_stbi__convert_format($40,$req_comp$,$req_comp,$253,$254)|0); - $256 = ($255|0)==(0|0); - if ($256) { - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } else { - $out$0 = $255; - } - } - $257 = HEAP32[$s>>2]|0; - HEAP32[$x>>2] = $257; - $258 = HEAP32[$3>>2]|0; - HEAP32[$y>>2] = $258; - $259 = ($comp|0)==(0|0); - if ($259) { - $$0 = $out$0; - STACKTOP = sp;return ($$0|0); - } - $260 = HEAP32[$33>>2]|0; - HEAP32[$comp>>2] = $260; - $$0 = $out$0; - STACKTOP = sp;return ($$0|0); -} -function _stbi__gif_test($s) { - $s = $s|0; - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_stbi__gif_test_raw($s)|0); - _stbi__rewind($s); - return ($0|0); -} -function _stbi__gif_load($s,$x,$y,$comp,$req_comp) { - $s = $s|0; - $x = $x|0; - $y = $y|0; - $comp = $comp|0; - $req_comp = $req_comp|0; - var $$ = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $g = 0, $u$0 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 18528|0; - $g = sp; - _memset(($g|0),0,18516)|0; - $0 = (_stbi__gif_load_next($s,$g,$comp)|0); - $1 = ($0|0)==($s|0); - $$ = $1 ? 0 : $0; - $2 = ($$|0)==(0|0); - L1: do { - if ($2) { - $9 = ((($g)) + 8|0); - $10 = HEAP32[$9>>2]|0; - $11 = ($10|0)==(0|0); - if ($11) { - $u$0 = 0; - } else { - _free($10); - $u$0 = 0; - } - } else { - $3 = HEAP32[$g>>2]|0; - HEAP32[$x>>2] = $3; - $4 = ((($g)) + 4|0); - $5 = HEAP32[$4>>2]|0; - HEAP32[$y>>2] = $5; - switch ($req_comp|0) { - case 0: case 4: { - $u$0 = $$; - break L1; - break; - } - default: { - } - } - $6 = HEAP32[$g>>2]|0; - $7 = HEAP32[$4>>2]|0; - $8 = (_stbi__convert_format($$,4,$req_comp,$6,$7)|0); - $u$0 = $8; - } - } while(0); - STACKTOP = sp;return ($u$0|0); -} -function _stbi__psd_test($s) { - $s = $s|0; - var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_stbi__get32be($s)|0); - $1 = ($0|0)==(943870035); - $2 = $1&1; - _stbi__rewind($s); - return ($2|0); -} -function _stbi__psd_load($s,$x,$y,$comp,$req_comp) { - $s = $s|0; - $x = $x|0; - $y = $y|0; - $comp = $comp|0; - $req_comp = $req_comp|0; - var $$0 = 0, $$lcssa = 0, $$pn = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0; - var $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0; - var $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0; - var $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0; - var $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0; - var $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $channel$039 = 0, $count$0$ph$be = 0, $count$0$ph37 = 0, $exitcond = 0, $exitcond$1 = 0, $exitcond$2 = 0, $exitcond$3 = 0, $exitcond42 = 0; - var $exitcond42$1 = 0, $exitcond42$2 = 0, $exitcond42$3 = 0, $exitcond43 = 0, $exitcond43$1 = 0, $exitcond43$2 = 0, $exitcond43$3 = 0, $exitcond46 = 0, $exitcond50 = 0, $i$028 = 0, $i$119 = 0, $i$119$1 = 0, $i$119$2 = 0, $i$119$3 = 0, $i$224 = 0, $i$224$1 = 0, $i$224$2 = 0, $i$224$3 = 0, $i$321 = 0, $i$321$1 = 0; - var $i$321$2 = 0, $i$321$3 = 0, $len$035 = 0, $len$132 = 0, $out$0 = 0, $p$029 = 0, $p$1$ph$be = 0, $p$1$ph38 = 0, $p$236 = 0, $p$333 = 0, $p1$020 = 0, $p1$020$1 = 0, $p1$020$2 = 0, $p1$020$3 = 0, $p1$125 = 0, $p1$125$1 = 0, $p1$125$2 = 0, $p1$125$3 = 0, $p1$222 = 0, $p1$222$1 = 0; - var $p1$222$2 = 0, $p1$222$3 = 0, $scevgep$sum = 0, $scevgep47 = 0, $scevgep48$sum = 0, $scevgep49 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_stbi__get32be($s)|0); - $1 = ($0|0)==(943870035); - if (!($1)) { - _stbi__err(19490); - $$0 = 0; - return ($$0|0); - } - $2 = (_stbi__get16be($s)|0); - $3 = ($2|0)==(1); - if (!($3)) { - _stbi__err(19498); - $$0 = 0; - return ($$0|0); - } - _stbi__skip($s,6); - $4 = (_stbi__get16be($s)|0); - $5 = ($4>>>0)>(16); - if ($5) { - _stbi__err(19512); - $$0 = 0; - return ($$0|0); - } - $6 = (_stbi__get32be($s)|0); - $7 = (_stbi__get32be($s)|0); - $8 = (_stbi__get16be($s)|0); - switch ($8|0) { - case 8: case 16: { - break; - } - default: { - _stbi__err(19532); - $$0 = 0; - return ($$0|0); - } - } - $9 = (_stbi__get16be($s)|0); - $10 = ($9|0)==(3); - if (!($10)) { - _stbi__err(19554); - $$0 = 0; - return ($$0|0); - } - $11 = (_stbi__get32be($s)|0); - _stbi__skip($s,$11); - $12 = (_stbi__get32be($s)|0); - _stbi__skip($s,$12); - $13 = (_stbi__get32be($s)|0); - _stbi__skip($s,$13); - $14 = (_stbi__get16be($s)|0); - $15 = ($14|0)>(1); - if ($15) { - _stbi__err(19347); - $$0 = 0; - return ($$0|0); - } - $16 = $6 << 2; - $17 = Math_imul($16, $7)|0; - $18 = (_stbi__malloc($17)|0); - $19 = ($18|0)==(0|0); - if ($19) { - _stbi__err(18059); - $$0 = 0; - return ($$0|0); - } - $20 = Math_imul($7, $6)|0; - $21 = ($14|0)==(0); - L29: do { - if ($21) { - $54 = ($8|0)==(16); - $55 = ($20|0)>(0); - $56 = ($20|0)>(0); - $57 = ($20|0)>(0); - $58 = Math_imul($7, $6)|0; - $59 = ($4|0)>(0); - do { - if ($59) { - if ($54) { - if ($55) { - $i$224 = 0;$p1$125 = $18; - } else { - break; - } - while(1) { - $62 = (_stbi__get16be($s)|0); - $63 = $62 >>> 8; - $64 = $63&255; - HEAP8[$p1$125>>0] = $64; - $65 = (($i$224) + 1)|0; - $66 = ((($p1$125)) + 4|0); - $exitcond43 = ($65|0)==($58|0); - if ($exitcond43) { - break; - } else { - $i$224 = $65;$p1$125 = $66; - } - } - } else { - if ($56) { - $i$321 = 0;$p1$222 = $18; - } else { - break; - } - while(1) { - $67 = (_stbi__get8($s)|0); - HEAP8[$p1$222>>0] = $67; - $68 = (($i$321) + 1)|0; - $69 = ((($p1$222)) + 4|0); - $exitcond42 = ($68|0)==($58|0); - if ($exitcond42) { - break; - } else { - $i$321 = $68;$p1$222 = $69; - } - } - } - } else { - if ($57) { - $i$119 = 0;$p1$020 = $18; - } else { - break L29; - } - while(1) { - HEAP8[$p1$020>>0] = 0; - $60 = (($i$119) + 1)|0; - $61 = ((($p1$020)) + 4|0); - $exitcond = ($60|0)==($58|0); - if ($exitcond) { - break; - } else { - $i$119 = $60;$p1$020 = $61; - } - } - } - } while(0); - $70 = ((($18)) + 1|0); - $71 = ($4|0)>(1); - do { - if ($71) { - if ($54) { - if ($55) { - $i$224$1 = 0;$p1$125$1 = $70; - } else { - break; - } - while(1) { - $80 = (_stbi__get16be($s)|0); - $81 = $80 >>> 8; - $82 = $81&255; - HEAP8[$p1$125$1>>0] = $82; - $83 = (($i$224$1) + 1)|0; - $84 = ((($p1$125$1)) + 4|0); - $exitcond43$1 = ($83|0)==($58|0); - if ($exitcond43$1) { - break; - } else { - $i$224$1 = $83;$p1$125$1 = $84; - } - } - } else { - if ($56) { - $i$321$1 = 0;$p1$222$1 = $70; - } else { - break; - } - while(1) { - $77 = (_stbi__get8($s)|0); - HEAP8[$p1$222$1>>0] = $77; - $78 = (($i$321$1) + 1)|0; - $79 = ((($p1$222$1)) + 4|0); - $exitcond42$1 = ($78|0)==($58|0); - if ($exitcond42$1) { - break; - } else { - $i$321$1 = $78;$p1$222$1 = $79; - } - } - } - } else { - if ($57) { - $i$119$1 = 0;$p1$020$1 = $70; - } else { - break L29; - } - while(1) { - HEAP8[$p1$020$1>>0] = 0; - $75 = (($i$119$1) + 1)|0; - $76 = ((($p1$020$1)) + 4|0); - $exitcond$1 = ($75|0)==($58|0); - if ($exitcond$1) { - break; - } else { - $i$119$1 = $75;$p1$020$1 = $76; - } - } - } - } while(0); - $85 = ((($18)) + 2|0); - $86 = ($4|0)>(2); - do { - if ($86) { - if ($54) { - if ($55) { - $i$224$2 = 0;$p1$125$2 = $85; - } else { - break; - } - while(1) { - $92 = (_stbi__get16be($s)|0); - $93 = $92 >>> 8; - $94 = $93&255; - HEAP8[$p1$125$2>>0] = $94; - $95 = (($i$224$2) + 1)|0; - $96 = ((($p1$125$2)) + 4|0); - $exitcond43$2 = ($95|0)==($58|0); - if ($exitcond43$2) { - break; - } else { - $i$224$2 = $95;$p1$125$2 = $96; - } - } - } else { - if ($56) { - $i$321$2 = 0;$p1$222$2 = $85; - } else { - break; - } - while(1) { - $89 = (_stbi__get8($s)|0); - HEAP8[$p1$222$2>>0] = $89; - $90 = (($i$321$2) + 1)|0; - $91 = ((($p1$222$2)) + 4|0); - $exitcond42$2 = ($90|0)==($58|0); - if ($exitcond42$2) { - break; - } else { - $i$321$2 = $90;$p1$222$2 = $91; - } - } - } - } else { - if ($57) { - $i$119$2 = 0;$p1$020$2 = $85; - } else { - break L29; - } - while(1) { - HEAP8[$p1$020$2>>0] = 0; - $87 = (($i$119$2) + 1)|0; - $88 = ((($p1$020$2)) + 4|0); - $exitcond$2 = ($87|0)==($58|0); - if ($exitcond$2) { - break; - } else { - $i$119$2 = $87;$p1$020$2 = $88; - } - } - } - } while(0); - $97 = ((($18)) + 3|0); - $98 = ($4|0)>(3); - if (!($98)) { - if ($57) { - $i$119$3 = 0;$p1$020$3 = $97; - } else { - break; - } - while(1) { - HEAP8[$p1$020$3>>0] = -1; - $99 = (($i$119$3) + 1)|0; - $100 = ((($p1$020$3)) + 4|0); - $exitcond$3 = ($99|0)==($58|0); - if ($exitcond$3) { - break L29; - } else { - $i$119$3 = $99;$p1$020$3 = $100; - } - } - } - if ($54) { - if ($55) { - $i$224$3 = 0;$p1$125$3 = $97; - } else { - break; - } - while(1) { - $104 = (_stbi__get16be($s)|0); - $105 = $104 >>> 8; - $106 = $105&255; - HEAP8[$p1$125$3>>0] = $106; - $107 = (($i$224$3) + 1)|0; - $108 = ((($p1$125$3)) + 4|0); - $exitcond43$3 = ($107|0)==($58|0); - if ($exitcond43$3) { - break; - } else { - $i$224$3 = $107;$p1$125$3 = $108; - } - } - } else { - if ($56) { - $i$321$3 = 0;$p1$222$3 = $97; - } else { - break; - } - while(1) { - $101 = (_stbi__get8($s)|0); - HEAP8[$p1$222$3>>0] = $101; - $102 = (($i$321$3) + 1)|0; - $103 = ((($p1$222$3)) + 4|0); - $exitcond42$3 = ($102|0)==($58|0); - if ($exitcond42$3) { - break; - } else { - $i$321$3 = $102;$p1$222$3 = $103; - } - } - } - } else { - $22 = $4 << 1; - $23 = Math_imul($22, $6)|0; - _stbi__skip($s,$23); - $24 = ($20|0)>(0); - $25 = ($20|0)>(0); - $26 = Math_imul($7, $6)|0; - $channel$039 = 0; - while(1) { - $27 = (($18) + ($channel$039)|0); - $28 = ($channel$039|0)<($4|0); - if ($28) { - if ($24) { - $count$0$ph37 = 0;$p$1$ph38 = $27; - while(1) { - while(1) { - $36 = (_stbi__get8($s)|0); - $37 = ($36<<24>>24)==(-128); - if (!($37)) { - $$lcssa = $36; - break; - } - } - $38 = $$lcssa&255; - $39 = ($$lcssa<<24>>24)>(-1); - if ($39) { - $40 = (($38) + 1)|0; - $41 = $$lcssa&255; - $33 = $41 << 2; - $len$035 = $40;$p$236 = $p$1$ph38; - while(1) { - $42 = (_stbi__get8($s)|0); - HEAP8[$p$236>>0] = $42; - $43 = ((($p$236)) + 4|0); - $44 = (($len$035) + -1)|0; - $45 = ($44|0)==(0); - if ($45) { - break; - } else { - $len$035 = $44;$p$236 = $43; - } - } - $scevgep48$sum = (($33) + 4)|0; - $scevgep49 = (($p$1$ph38) + ($scevgep48$sum)|0); - $$pn = $40;$p$1$ph$be = $scevgep49; - } else { - $46 = (257 - ($38))|0; - $47 = (_stbi__get8($s)|0); - $48 = ($46|0)==(0); - if ($48) { - $$pn = 0;$p$1$ph$be = $p$1$ph38; - } else { - $49 = $$lcssa&255; - $35 = Math_imul($49, -4)|0; - $len$132 = $46;$p$333 = $p$1$ph38; - while(1) { - HEAP8[$p$333>>0] = $47; - $50 = ((($p$333)) + 4|0); - $51 = (($len$132) + -1)|0; - $52 = ($51|0)==(0); - if ($52) { - break; - } else { - $len$132 = $51;$p$333 = $50; - } - } - $scevgep$sum = (($35) + 1028)|0; - $scevgep47 = (($p$1$ph38) + ($scevgep$sum)|0); - $$pn = $46;$p$1$ph$be = $scevgep47; - } - } - $count$0$ph$be = (($$pn) + ($count$0$ph37))|0; - $34 = ($count$0$ph$be|0)<($20|0); - if ($34) { - $count$0$ph37 = $count$0$ph$be;$p$1$ph38 = $p$1$ph$be; - } else { - break; - } - } - } - } else { - if ($25) { - $29 = ($channel$039|0)==(3); - $30 = $29 << 31 >> 31; - $i$028 = 0;$p$029 = $27; - while(1) { - HEAP8[$p$029>>0] = $30; - $31 = (($i$028) + 1)|0; - $32 = ((($p$029)) + 4|0); - $exitcond46 = ($31|0)==($26|0); - if ($exitcond46) { - break; - } else { - $i$028 = $31;$p$029 = $32; - } - } - } - } - $53 = (($channel$039) + 1)|0; - $exitcond50 = ($53|0)==(4); - if ($exitcond50) { - break; - } else { - $channel$039 = $53; - } - } - } - } while(0); - switch ($req_comp|0) { - case 0: case 4: { - $out$0 = $18; - break; - } - default: { - $72 = (_stbi__convert_format($18,4,$req_comp,$7,$6)|0); - $73 = ($72|0)==(0|0); - if ($73) { - $$0 = 0; - return ($$0|0); - } else { - $out$0 = $72; - } - } - } - $74 = ($comp|0)==(0|0); - if (!($74)) { - HEAP32[$comp>>2] = 4; - } - HEAP32[$y>>2] = $6; - HEAP32[$x>>2] = $7; - $$0 = $out$0; - return ($$0|0); -} -function _stbi__pic_test($s) { - $s = $s|0; - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_stbi__pic_test_core($s)|0); - _stbi__rewind($s); - return ($0|0); -} -function _stbi__pic_load($s,$px,$py,$comp,$req_comp) { - $s = $s|0; - $px = $px|0; - $py = $py|0; - $comp = $comp|0; - $req_comp = $req_comp|0; - var $$0 = 0, $$01 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $i$02 = 0, $result$0 = 0; - var label = 0, sp = 0; - sp = STACKTOP; - $i$02 = 0; - while(1) { - (_stbi__get8($s)|0); - $0 = (($i$02) + 1)|0; - $exitcond = ($0|0)==(92); - if ($exitcond) { - break; - } else { - $i$02 = $0; - } - } - $1 = (_stbi__get16be($s)|0); - $2 = (_stbi__get16be($s)|0); - $3 = (_stbi__at_eof($s)|0); - $4 = ($3|0)==(0); - if (!($4)) { - _stbi__err(19476); - $$0 = 0; - return ($$0|0); - } - $5 = (268435456 / ($1|0))&-1; - $6 = ($5|0)<($2|0); - if ($6) { - _stbi__err(17846); - $$0 = 0; - return ($$0|0); - } - (_stbi__get32be($s)|0); - (_stbi__get16be($s)|0); - (_stbi__get16be($s)|0); - $7 = $1 << 2; - $8 = Math_imul($7, $2)|0; - $9 = (_stbi__malloc($8)|0); - _memset(($9|0),-1,($8|0))|0; - $10 = (_stbi__pic_load_core($s,$1,$2,$comp,$9)|0); - $11 = ($10|0)==(0|0); - if ($11) { - _free($9); - $result$0 = 0; - } else { - $result$0 = $9; - } - HEAP32[$px>>2] = $1; - HEAP32[$py>>2] = $2; - $12 = ($req_comp|0)==(0); - if ($12) { - $13 = HEAP32[$comp>>2]|0; - $$01 = $13; - } else { - $$01 = $req_comp; - } - $14 = (_stbi__convert_format($result$0,4,$$01,$1,$2)|0); - $$0 = $14; - return ($$0|0); -} -function _stbi__pnm_test($s) { - $s = $s|0; - var $$0 = 0, $$off = 0, $0 = 0, $1 = 0, $2 = 0, $or$cond = 0, $switch = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_stbi__get8($s)|0); - $1 = (_stbi__get8($s)|0); - $2 = ($0<<24>>24)==(80); - $$off = (($1) + -53)<<24>>24; - $switch = ($$off&255)<(2); - $or$cond = $2 & $switch; - if ($or$cond) { - $$0 = 1; - return ($$0|0); - } - _stbi__rewind($s); - $$0 = 0; - return ($$0|0); -} -function _stbi__pnm_load($s,$x,$y,$comp,$req_comp) { - $s = $s|0; - $x = $x|0; - $y = $y|0; - $comp = $comp|0; - $req_comp = $req_comp|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0; - var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($s)) + 4|0); - $1 = ((($s)) + 8|0); - $2 = (_stbi__pnm_info($s,$s,$0,$1)|0); - $3 = ($2|0)==(0); - if ($3) { - $$0 = 0; - return ($$0|0); - } - $4 = HEAP32[$s>>2]|0; - HEAP32[$x>>2] = $4; - $5 = HEAP32[$0>>2]|0; - HEAP32[$y>>2] = $5; - $6 = HEAP32[$1>>2]|0; - HEAP32[$comp>>2] = $6; - $7 = HEAP32[$1>>2]|0; - $8 = HEAP32[$s>>2]|0; - $9 = Math_imul($8, $7)|0; - $10 = HEAP32[$0>>2]|0; - $11 = Math_imul($9, $10)|0; - $12 = (_stbi__malloc($11)|0); - $13 = ($12|0)==(0|0); - if ($13) { - _stbi__err(18059); - $$0 = 0; - return ($$0|0); - } - $14 = HEAP32[$1>>2]|0; - $15 = HEAP32[$s>>2]|0; - $16 = Math_imul($15, $14)|0; - $17 = HEAP32[$0>>2]|0; - $18 = Math_imul($16, $17)|0; - (_stbi__getn($s,$12,$18)|0); - $19 = ($req_comp|0)==(0); - if ($19) { - $$0 = $12; - return ($$0|0); - } - $20 = HEAP32[$1>>2]|0; - $21 = ($20|0)==($req_comp|0); - if ($21) { - $$0 = $12; - return ($$0|0); - } else { - $22 = HEAP32[$s>>2]|0; - $23 = HEAP32[$0>>2]|0; - $24 = (_stbi__convert_format($12,$20,$req_comp,$22,$23)|0); - return ($24|0); - } - return (0)|0; -} -function _stbi__tga_test($s) { - $s = $s|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $res$0 = 0, label = 0, sp = 0; - sp = STACKTOP; - (_stbi__get8($s)|0); - $0 = (_stbi__get8($s)|0); - $1 = ($0&255)>(1); - L1: do { - if ($1) { - $res$0 = 0; - } else { - $2 = (_stbi__get8($s)|0); - $3 = ($0<<24>>24)==(1); - if ($3) { - switch ($2<<24>>24) { - case 1: case 9: { - break; - } - default: { - $res$0 = 0; - break L1; - } - } - _stbi__skip($s,4); - $4 = (_stbi__get8($s)|0); - switch ($4<<24>>24) { - case 8: case 15: case 16: case 24: case 32: { - break; - } - default: { - $res$0 = 0; - break L1; - } - } - _stbi__skip($s,4); - } else { - switch ($2<<24>>24) { - case 2: case 3: case 10: case 11: { - break; - } - default: { - $res$0 = 0; - break L1; - } - } - _stbi__skip($s,9); - } - $5 = (_stbi__get16le($s)|0); - $6 = ($5|0)<(1); - if ($6) { - $res$0 = 0; - } else { - $7 = (_stbi__get16le($s)|0); - $8 = ($7|0)<(1); - if ($8) { - $res$0 = 0; - } else { - $9 = (_stbi__get8($s)|0); - if ($3) { - switch ($9<<24>>24) { - case 8: case 16: { - break; - } - default: { - $res$0 = 0; - break L1; - } - } - } else { - switch ($9<<24>>24) { - case 8: case 15: case 16: case 24: case 32: { - break; - } - default: { - $res$0 = 0; - break L1; - } - } - } - $res$0 = 1; - } - } - } - } while(0); - _stbi__rewind($s); - return ($res$0|0); -} -function _stbi__tga_load($s,$x,$y,$comp,$req_comp) { - $s = $s|0; - $x = $x|0; - $y = $y|0; - $comp = $comp|0; - $req_comp = $req_comp|0; - var $$ = 0, $$0 = 0, $$6 = 0, $$7 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0; - var $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; - var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; - var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0; - var $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0; - var $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0; - var $97 = 0, $98 = 0, $99 = 0, $RLE_count$039 = 0, $RLE_count$18 = 0, $RLE_count$19 = 0, $RLE_repeating$040 = 0, $RLE_repeating$110 = 0, $RLE_repeating$111 = 0, $exitcond = 0, $exitcond50 = 0, $exitcond55 = 0, $exitcond56 = 0, $i$048 = 0, $i$145 = 0, $i$238 = 0, $i$323 = 0, $i$421 = 0, $index1$024 = 0, $index2$025 = 0; - var $j$129 = 0, $j$327 = 0, $notlhs = 0, $notrhs = 0, $or$cond = 0, $or$cond5$not = 0, $or$cond57 = 0, $or$cond59 = 0, $pal_entry$046 = 0, $raw_data = 0, $read_next_pixel$041 = 0, $scevgep = 0, $scevgep54 = 0, $tga_comp$0 = 0, $tga_palette$0 = 0, $tga_pixel$022 = 0, $tga_rgb16 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $tga_rgb16 = sp; - $raw_data = sp + 4|0; - $0 = (_stbi__get8($s)|0); - $1 = $0&255; - $2 = (_stbi__get8($s)|0); - $3 = (_stbi__get8($s)|0); - $4 = $3&255; - $5 = (_stbi__get16le($s)|0); - $6 = (_stbi__get16le($s)|0); - $7 = (_stbi__get8($s)|0); - (_stbi__get16le($s)|0); - (_stbi__get16le($s)|0); - $8 = (_stbi__get16le($s)|0); - $9 = (_stbi__get16le($s)|0); - $10 = (_stbi__get8($s)|0); - HEAP32[$tga_rgb16>>2] = 0; - $11 = (_stbi__get8($s)|0); - $12 = $11&255; - $13 = ($3&255)>(7); - $$6 = $13&1; - $14 = $12 >>> 5; - $15 = $14 & 1; - $16 = ($2<<24>>24)!=(0); - if ($16) { - $17 = $7&255; - $18 = (_stbi__tga_get_comp($17,0,$tga_rgb16)|0); - $tga_comp$0 = $18; - } else { - $19 = (($4) + -8)|0; - $$7 = $13 ? $19 : $4; - $20 = $10&255; - $21 = ($$7|0)==(3); - $22 = $21&1; - $23 = (_stbi__tga_get_comp($20,$22,$tga_rgb16)|0); - $tga_comp$0 = $23; - } - $24 = ($tga_comp$0|0)==(0); - if ($24) { - _stbi__err(19363); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - HEAP32[$x>>2] = $8; - HEAP32[$y>>2] = $9; - $25 = ($comp|0)==(0|0); - if (!($25)) { - HEAP32[$comp>>2] = $tga_comp$0; - } - $26 = Math_imul($9, $8)|0; - $27 = Math_imul($26, $tga_comp$0)|0; - $28 = (_stbi__malloc($27)|0); - $29 = ($28|0)==(0|0); - if ($29) { - _stbi__err(18059); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - _stbi__skip($s,$1); - $30 = HEAP32[$tga_rgb16>>2]|0; - $31 = $30 | $$6; - $32 = ($31|0)!=(0); - $33 = $16 | $32; - if ($33) { - do { - if ($16) { - _stbi__skip($s,$5); - $44 = Math_imul($tga_comp$0, $6)|0; - $45 = (_stbi__malloc($44)|0); - $46 = ($45|0)==(0|0); - if ($46) { - _free($28); - _stbi__err(18059); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $47 = HEAP32[$tga_rgb16>>2]|0; - $48 = ($47|0)==(0); - if ($48) { - $53 = (_stbi__getn($s,$45,$44)|0); - $54 = ($53|0)==(0); - if (!($54)) { - $tga_palette$0 = $45; - break; - } - _free($28); - _free($45); - _stbi__err(19410); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $49 = ($tga_comp$0|0)==(3); - if (!($49)) { - ___assert_fail((19374|0),(18129|0),5060,(19395|0)); - // unreachable; - } - $50 = ($6|0)>(0); - if ($50) { - $i$145 = 0;$pal_entry$046 = $45; - while(1) { - _stbi__tga_read_rgb16($s,$pal_entry$046); - $51 = (($pal_entry$046) + ($tga_comp$0)|0); - $52 = (($i$145) + 1)|0; - $exitcond55 = ($52|0)==($6|0); - if ($exitcond55) { - $tga_palette$0 = $45; - break; - } else { - $i$145 = $52;$pal_entry$046 = $51; - } - } - } else { - $tga_palette$0 = $45; - } - } else { - $tga_palette$0 = 0; - } - } while(0); - $55 = Math_imul($9, $8)|0; - $56 = ($55|0)>(0); - L35: do { - if ($56) { - $57 = ($10<<24>>24)==(8); - $58 = ($tga_comp$0|0)>(0); - $59 = ($tga_comp$0|0)==(3); - $60 = ($tga_comp$0|0)>(0); - $61 = ($tga_comp$0|0)>(0); - $RLE_count$039 = 0;$RLE_repeating$040 = 0;$i$238 = 0;$read_next_pixel$041 = 1; - L37: while(1) { - $62 = Math_imul($tga_comp$0, $i$238)|0; - $scevgep54 = (($28) + ($62)|0); - do { - if ($13) { - $63 = ($RLE_count$039|0)==(0); - if ($63) { - $64 = (_stbi__get8($s)|0); - $65 = $64&255; - $66 = $65 & 127; - $67 = (($66) + 1)|0; - $68 = $65 >>> 7; - $RLE_count$18 = $67;$RLE_repeating$110 = $68; - label = 31; - break; - } - $69 = ($RLE_repeating$040|0)==(0); - if ($69) { - $RLE_count$18 = $RLE_count$039;$RLE_repeating$110 = 0; - label = 31; - } else { - $70 = ($read_next_pixel$041|0)==(0); - if ($70) { - $RLE_count$19 = $RLE_count$039;$RLE_repeating$111 = $RLE_repeating$040; - } else { - $RLE_count$18 = $RLE_count$039;$RLE_repeating$110 = $RLE_repeating$040; - label = 31; - } - } - } else { - $RLE_count$18 = $RLE_count$039;$RLE_repeating$110 = $RLE_repeating$040; - label = 31; - } - } while(0); - do { - if ((label|0) == 31) { - label = 0; - if ($16) { - if ($57) { - $71 = (_stbi__get8($s)|0); - $72 = $71&255; - $79 = $72; - } else { - $73 = (_stbi__get16le($s)|0); - $79 = $73; - } - if (!($58)) { - $RLE_count$19 = $RLE_count$18;$RLE_repeating$111 = $RLE_repeating$110; - break; - } - $80 = ($79|0)>=($6|0); - $$ = $80 ? 0 : $79; - $81 = Math_imul($tga_comp$0, $$)|0; - $scevgep = (($tga_palette$0) + ($81)|0); - _memcpy(($raw_data|0),($scevgep|0),($tga_comp$0|0))|0; - $RLE_count$19 = $RLE_count$18;$RLE_repeating$111 = $RLE_repeating$110; - break; - } else { - $74 = HEAP32[$tga_rgb16>>2]|0; - $75 = ($74|0)==(0); - if ($75) { - if ($60) { - $j$129 = 0; - } else { - $RLE_count$19 = $RLE_count$18;$RLE_repeating$111 = $RLE_repeating$110; - break; - } - while(1) { - $76 = (_stbi__get8($s)|0); - $77 = (($raw_data) + ($j$129)|0); - HEAP8[$77>>0] = $76; - $78 = (($j$129) + 1)|0; - $exitcond50 = ($78|0)==($tga_comp$0|0); - if ($exitcond50) { - $RLE_count$19 = $RLE_count$18;$RLE_repeating$111 = $RLE_repeating$110; - break; - } else { - $j$129 = $78; - } - } - } else { - if (!($59)) { - break L37; - } - _stbi__tga_read_rgb16($s,$raw_data); - $RLE_count$19 = $RLE_count$18;$RLE_repeating$111 = $RLE_repeating$110; - break; - } - } - } - } while(0); - if ($61) { - _memcpy(($scevgep54|0),($raw_data|0),($tga_comp$0|0))|0; - } - $82 = (($RLE_count$19) + -1)|0; - $83 = (($i$238) + 1)|0; - $84 = ($83|0)<($55|0); - if ($84) { - $RLE_count$039 = $82;$RLE_repeating$040 = $RLE_repeating$111;$i$238 = $83;$read_next_pixel$041 = 0; - } else { - break L35; - } - } - ___assert_fail((19374|0),(18129|0),5109,(19395|0)); - // unreachable; - } - } while(0); - $85 = ($15|0)==(0); - $86 = ($9|0)>(0); - $or$cond57 = $85 & $86; - if ($or$cond57) { - $87 = Math_imul($tga_comp$0, $8)|0; - $88 = (($9) + -1)|0; - $89 = Math_imul($tga_comp$0, $8)|0; - $90 = Math_imul($tga_comp$0, $8)|0; - $91 = ($90|0)>(0); - $j$327 = 0; - while(1) { - if ($91) { - $92 = (($88) - ($j$327))|0; - $93 = Math_imul($89, $92)|0; - $94 = Math_imul($87, $j$327)|0; - $i$323 = $90;$index1$024 = $94;$index2$025 = $93; - while(1) { - $95 = (($28) + ($index1$024)|0); - $96 = HEAP8[$95>>0]|0; - $97 = (($28) + ($index2$025)|0); - $98 = HEAP8[$97>>0]|0; - HEAP8[$95>>0] = $98; - HEAP8[$97>>0] = $96; - $99 = (($index1$024) + 1)|0; - $100 = (($index2$025) + 1)|0; - $101 = (($i$323) + -1)|0; - $102 = ($i$323|0)>(1); - if ($102) { - $i$323 = $101;$index1$024 = $99;$index2$025 = $100; - } else { - break; - } - } - } - $103 = (($j$327) + 1)|0; - $104 = $103 << 1; - $105 = ($104|0)<($9|0); - if ($105) { - $j$327 = $103; - } else { - break; - } - } - } - $106 = ($tga_palette$0|0)==(0|0); - if (!($106)) { - _free($tga_palette$0); - } - } else { - $34 = ($9|0)>(0); - if ($34) { - $35 = ($15|0)==(0); - $36 = (($9) + -1)|0; - $37 = Math_imul($tga_comp$0, $8)|0; - $38 = Math_imul($tga_comp$0, $8)|0; - $i$048 = 0; - while(1) { - $39 = (($36) - ($i$048))|0; - $40 = $35 ? $39 : $i$048; - $41 = Math_imul($37, $40)|0; - $42 = (($28) + ($41)|0); - (_stbi__getn($s,$42,$38)|0); - $43 = (($i$048) + 1)|0; - $exitcond56 = ($43|0)==($9|0); - if ($exitcond56) { - break; - } else { - $i$048 = $43; - } - } - } - } - $107 = HEAP32[$tga_rgb16>>2]|0; - $notlhs = ($tga_comp$0|0)>(2); - $notrhs = ($107|0)==(0); - $or$cond5$not = $notrhs & $notlhs; - $108 = Math_imul($9, $8)|0; - $109 = ($108|0)>(0); - $or$cond59 = $or$cond5$not & $109; - if ($or$cond59) { - $110 = Math_imul($9, $8)|0; - $i$421 = 0;$tga_pixel$022 = $28; - while(1) { - $111 = HEAP8[$tga_pixel$022>>0]|0; - $112 = ((($tga_pixel$022)) + 2|0); - $113 = HEAP8[$112>>0]|0; - HEAP8[$tga_pixel$022>>0] = $113; - HEAP8[$112>>0] = $111; - $114 = (($tga_pixel$022) + ($tga_comp$0)|0); - $115 = (($i$421) + 1)|0; - $exitcond = ($115|0)==($110|0); - if ($exitcond) { - break; - } else { - $i$421 = $115;$tga_pixel$022 = $114; - } - } - } - $116 = ($req_comp|0)==(0); - $117 = ($tga_comp$0|0)==($req_comp|0); - $or$cond = $116 | $117; - if ($or$cond) { - $$0 = $28; - STACKTOP = sp;return ($$0|0); - } - $118 = (_stbi__convert_format($28,$tga_comp$0,$req_comp,$8,$9)|0); - $$0 = $118; - STACKTOP = sp;return ($$0|0); -} -function _stbi__convert_format($data,$img_n,$req_comp,$x,$y) { - $data = $data|0; - $img_n = $img_n|0; - $req_comp = $req_comp|0; - $x = $x|0; - $y = $y|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0; - var $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0; - var $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; - var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; - var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0; - var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0; - var $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $dest$081 = 0; - var $dest$1031 = 0, $dest$1127 = 0, $dest$176 = 0, $dest$271 = 0, $dest$366 = 0, $dest$461 = 0, $dest$556 = 0, $dest$651 = 0, $dest$746 = 0, $dest$841 = 0, $dest$936 = 0, $i$0 = 0, $i$079 = 0, $i$082 = 0, $i$1 = 0, $i$10 = 0, $i$1029 = 0, $i$1032 = 0, $i$11 = 0, $i$1125 = 0; - var $i$1128 = 0, $i$174 = 0, $i$177 = 0, $i$2 = 0, $i$269 = 0, $i$272 = 0, $i$3 = 0, $i$364 = 0, $i$367 = 0, $i$4 = 0, $i$459 = 0, $i$462 = 0, $i$5 = 0, $i$554 = 0, $i$557 = 0, $i$6 = 0, $i$649 = 0, $i$652 = 0, $i$7 = 0, $i$744 = 0; - var $i$747 = 0, $i$8 = 0, $i$839 = 0, $i$842 = 0, $i$9 = 0, $i$934 = 0, $i$937 = 0, $j$084 = 0, $req_comp$off = 0, $src$080 = 0, $src$1030 = 0, $src$1126 = 0, $src$175 = 0, $src$270 = 0, $src$365 = 0, $src$460 = 0, $src$555 = 0, $src$650 = 0, $src$745 = 0, $src$840 = 0; - var $src$935 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ($req_comp|0)==($img_n|0); - if ($0) { - $$0 = $data; - return ($$0|0); - } - $req_comp$off = (($req_comp) + -1)|0; - $1 = ($req_comp$off>>>0)<(4); - if (!($1)) { - ___assert_fail((19422|0),(18129|0),1353,(19453|0)); - // unreachable; - } - $2 = Math_imul($x, $req_comp)|0; - $3 = Math_imul($2, $y)|0; - $4 = (_stbi__malloc($3)|0); - $5 = ($4|0)==(0|0); - if ($5) { - _free($data); - _stbi__err(18059); - $$0 = 0; - return ($$0|0); - } - $6 = ($y|0)>(0); - L11: do { - if ($6) { - $7 = $img_n << 3; - $8 = (($7) + ($req_comp))|0; - $i$079 = (($x) + -1)|0; - $9 = ($i$079|0)>(-1); - $i$174 = (($x) + -1)|0; - $10 = ($i$174|0)>(-1); - $i$269 = (($x) + -1)|0; - $11 = ($i$269|0)>(-1); - $i$364 = (($x) + -1)|0; - $12 = ($i$364|0)>(-1); - $i$459 = (($x) + -1)|0; - $13 = ($i$459|0)>(-1); - $i$554 = (($x) + -1)|0; - $14 = ($i$554|0)>(-1); - $i$649 = (($x) + -1)|0; - $15 = ($i$649|0)>(-1); - $i$744 = (($x) + -1)|0; - $16 = ($i$744|0)>(-1); - $i$839 = (($x) + -1)|0; - $17 = ($i$839|0)>(-1); - $i$934 = (($x) + -1)|0; - $18 = ($i$934|0)>(-1); - $i$1029 = (($x) + -1)|0; - $19 = ($i$1029|0)>(-1); - $i$1125 = (($x) + -1)|0; - $20 = ($i$1125|0)>(-1); - $j$084 = 0; - L13: while(1) { - $21 = Math_imul($j$084, $x)|0; - $22 = Math_imul($21, $img_n)|0; - $23 = (($data) + ($22)|0); - $24 = Math_imul($21, $req_comp)|0; - $25 = (($4) + ($24)|0); - do { - switch ($8|0) { - case 10: { - if ($9) { - $dest$081 = $25;$i$082 = $i$079;$src$080 = $23; - while(1) { - $26 = HEAP8[$src$080>>0]|0; - HEAP8[$dest$081>>0] = $26; - $27 = ((($dest$081)) + 1|0); - HEAP8[$27>>0] = -1; - $28 = ((($src$080)) + 1|0); - $29 = ((($dest$081)) + 2|0); - $i$0 = (($i$082) + -1)|0; - $30 = ($i$0|0)>(-1); - if ($30) { - $dest$081 = $29;$i$082 = $i$0;$src$080 = $28; - } else { - break; - } - } - } - break; - } - case 11: { - if ($10) { - $dest$176 = $25;$i$177 = $i$174;$src$175 = $23; - while(1) { - $31 = HEAP8[$src$175>>0]|0; - $32 = ((($dest$176)) + 2|0); - HEAP8[$32>>0] = $31; - $33 = ((($dest$176)) + 1|0); - HEAP8[$33>>0] = $31; - HEAP8[$dest$176>>0] = $31; - $34 = ((($src$175)) + 1|0); - $35 = ((($dest$176)) + 3|0); - $i$1 = (($i$177) + -1)|0; - $36 = ($i$1|0)>(-1); - if ($36) { - $dest$176 = $35;$i$177 = $i$1;$src$175 = $34; - } else { - break; - } - } - } - break; - } - case 12: { - if ($11) { - $dest$271 = $25;$i$272 = $i$269;$src$270 = $23; - while(1) { - $37 = HEAP8[$src$270>>0]|0; - $38 = ((($dest$271)) + 2|0); - HEAP8[$38>>0] = $37; - $39 = ((($dest$271)) + 1|0); - HEAP8[$39>>0] = $37; - HEAP8[$dest$271>>0] = $37; - $40 = ((($dest$271)) + 3|0); - HEAP8[$40>>0] = -1; - $41 = ((($src$270)) + 1|0); - $42 = ((($dest$271)) + 4|0); - $i$2 = (($i$272) + -1)|0; - $43 = ($i$2|0)>(-1); - if ($43) { - $dest$271 = $42;$i$272 = $i$2;$src$270 = $41; - } else { - break; - } - } - } - break; - } - case 17: { - if ($12) { - $dest$366 = $25;$i$367 = $i$364;$src$365 = $23; - while(1) { - $44 = HEAP8[$src$365>>0]|0; - HEAP8[$dest$366>>0] = $44; - $45 = ((($src$365)) + 2|0); - $46 = ((($dest$366)) + 1|0); - $i$3 = (($i$367) + -1)|0; - $47 = ($i$3|0)>(-1); - if ($47) { - $dest$366 = $46;$i$367 = $i$3;$src$365 = $45; - } else { - break; - } - } - } - break; - } - case 19: { - if ($13) { - $dest$461 = $25;$i$462 = $i$459;$src$460 = $23; - while(1) { - $48 = HEAP8[$src$460>>0]|0; - $49 = ((($dest$461)) + 2|0); - HEAP8[$49>>0] = $48; - $50 = ((($dest$461)) + 1|0); - HEAP8[$50>>0] = $48; - HEAP8[$dest$461>>0] = $48; - $51 = ((($src$460)) + 2|0); - $52 = ((($dest$461)) + 3|0); - $i$4 = (($i$462) + -1)|0; - $53 = ($i$4|0)>(-1); - if ($53) { - $dest$461 = $52;$i$462 = $i$4;$src$460 = $51; - } else { - break; - } - } - } - break; - } - case 20: { - if ($14) { - $dest$556 = $25;$i$557 = $i$554;$src$555 = $23; - while(1) { - $54 = HEAP8[$src$555>>0]|0; - $55 = ((($dest$556)) + 2|0); - HEAP8[$55>>0] = $54; - $56 = ((($dest$556)) + 1|0); - HEAP8[$56>>0] = $54; - HEAP8[$dest$556>>0] = $54; - $57 = ((($src$555)) + 1|0); - $58 = HEAP8[$57>>0]|0; - $59 = ((($dest$556)) + 3|0); - HEAP8[$59>>0] = $58; - $60 = ((($src$555)) + 2|0); - $61 = ((($dest$556)) + 4|0); - $i$5 = (($i$557) + -1)|0; - $62 = ($i$5|0)>(-1); - if ($62) { - $dest$556 = $61;$i$557 = $i$5;$src$555 = $60; - } else { - break; - } - } - } - break; - } - case 28: { - if ($15) { - $dest$651 = $25;$i$652 = $i$649;$src$650 = $23; - while(1) { - $63 = HEAP8[$src$650>>0]|0; - HEAP8[$dest$651>>0] = $63; - $64 = ((($src$650)) + 1|0); - $65 = HEAP8[$64>>0]|0; - $66 = ((($dest$651)) + 1|0); - HEAP8[$66>>0] = $65; - $67 = ((($src$650)) + 2|0); - $68 = HEAP8[$67>>0]|0; - $69 = ((($dest$651)) + 2|0); - HEAP8[$69>>0] = $68; - $70 = ((($dest$651)) + 3|0); - HEAP8[$70>>0] = -1; - $71 = ((($src$650)) + 3|0); - $72 = ((($dest$651)) + 4|0); - $i$6 = (($i$652) + -1)|0; - $73 = ($i$6|0)>(-1); - if ($73) { - $dest$651 = $72;$i$652 = $i$6;$src$650 = $71; - } else { - break; - } - } - } - break; - } - case 25: { - if ($16) { - $dest$746 = $25;$i$747 = $i$744;$src$745 = $23; - while(1) { - $74 = HEAP8[$src$745>>0]|0; - $75 = $74&255; - $76 = ((($src$745)) + 1|0); - $77 = HEAP8[$76>>0]|0; - $78 = $77&255; - $79 = ((($src$745)) + 2|0); - $80 = HEAP8[$79>>0]|0; - $81 = $80&255; - $82 = (_stbi__compute_y($75,$78,$81)|0); - HEAP8[$dest$746>>0] = $82; - $83 = ((($src$745)) + 3|0); - $84 = ((($dest$746)) + 1|0); - $i$7 = (($i$747) + -1)|0; - $85 = ($i$7|0)>(-1); - if ($85) { - $dest$746 = $84;$i$747 = $i$7;$src$745 = $83; - } else { - break; - } - } - } - break; - } - case 26: { - if ($17) { - $dest$841 = $25;$i$842 = $i$839;$src$840 = $23; - while(1) { - $86 = HEAP8[$src$840>>0]|0; - $87 = $86&255; - $88 = ((($src$840)) + 1|0); - $89 = HEAP8[$88>>0]|0; - $90 = $89&255; - $91 = ((($src$840)) + 2|0); - $92 = HEAP8[$91>>0]|0; - $93 = $92&255; - $94 = (_stbi__compute_y($87,$90,$93)|0); - HEAP8[$dest$841>>0] = $94; - $95 = ((($dest$841)) + 1|0); - HEAP8[$95>>0] = -1; - $96 = ((($src$840)) + 3|0); - $97 = ((($dest$841)) + 2|0); - $i$8 = (($i$842) + -1)|0; - $98 = ($i$8|0)>(-1); - if ($98) { - $dest$841 = $97;$i$842 = $i$8;$src$840 = $96; - } else { - break; - } - } - } - break; - } - case 33: { - if ($18) { - $dest$936 = $25;$i$937 = $i$934;$src$935 = $23; - while(1) { - $99 = HEAP8[$src$935>>0]|0; - $100 = $99&255; - $101 = ((($src$935)) + 1|0); - $102 = HEAP8[$101>>0]|0; - $103 = $102&255; - $104 = ((($src$935)) + 2|0); - $105 = HEAP8[$104>>0]|0; - $106 = $105&255; - $107 = (_stbi__compute_y($100,$103,$106)|0); - HEAP8[$dest$936>>0] = $107; - $108 = ((($src$935)) + 4|0); - $109 = ((($dest$936)) + 1|0); - $i$9 = (($i$937) + -1)|0; - $110 = ($i$9|0)>(-1); - if ($110) { - $dest$936 = $109;$i$937 = $i$9;$src$935 = $108; - } else { - break; - } - } - } - break; - } - case 34: { - if ($19) { - $dest$1031 = $25;$i$1032 = $i$1029;$src$1030 = $23; - while(1) { - $111 = HEAP8[$src$1030>>0]|0; - $112 = $111&255; - $113 = ((($src$1030)) + 1|0); - $114 = HEAP8[$113>>0]|0; - $115 = $114&255; - $116 = ((($src$1030)) + 2|0); - $117 = HEAP8[$116>>0]|0; - $118 = $117&255; - $119 = (_stbi__compute_y($112,$115,$118)|0); - HEAP8[$dest$1031>>0] = $119; - $120 = ((($src$1030)) + 3|0); - $121 = HEAP8[$120>>0]|0; - $122 = ((($dest$1031)) + 1|0); - HEAP8[$122>>0] = $121; - $123 = ((($src$1030)) + 4|0); - $124 = ((($dest$1031)) + 2|0); - $i$10 = (($i$1032) + -1)|0; - $125 = ($i$10|0)>(-1); - if ($125) { - $dest$1031 = $124;$i$1032 = $i$10;$src$1030 = $123; - } else { - break; - } - } - } - break; - } - case 35: { - if ($20) { - $dest$1127 = $25;$i$1128 = $i$1125;$src$1126 = $23; - while(1) { - $126 = HEAP8[$src$1126>>0]|0; - HEAP8[$dest$1127>>0] = $126; - $127 = ((($src$1126)) + 1|0); - $128 = HEAP8[$127>>0]|0; - $129 = ((($dest$1127)) + 1|0); - HEAP8[$129>>0] = $128; - $130 = ((($src$1126)) + 2|0); - $131 = HEAP8[$130>>0]|0; - $132 = ((($dest$1127)) + 2|0); - HEAP8[$132>>0] = $131; - $133 = ((($src$1126)) + 4|0); - $134 = ((($dest$1127)) + 3|0); - $i$11 = (($i$1128) + -1)|0; - $135 = ($i$11|0)>(-1); - if ($135) { - $dest$1127 = $134;$i$1128 = $i$11;$src$1126 = $133; - } else { - break; - } - } - } - break; - } - default: { - break L13; - } - } - } while(0); - $136 = (($j$084) + 1)|0; - $137 = ($136|0)<($y|0); - if ($137) { - $j$084 = $136; - } else { - break L11; - } - } - ___assert_fail((19474|0),(18129|0),1382,(19453|0)); - // unreachable; - } - } while(0); - _free($data); - $$0 = $4; - return ($$0|0); -} -function _stbi__compute_y($r,$g,$b) { - $r = $r|0; - $g = $g|0; - $b = $b|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ($r*77)|0; - $1 = ($g*150)|0; - $2 = (($1) + ($0))|0; - $3 = ($b*29)|0; - $4 = (($2) + ($3))|0; - $5 = $4 >>> 8; - $6 = $5&255; - return ($6|0); -} -function _stbi__pic_load_core($s,$width,$height,$comp,$result) { - $s = $s|0; - $width = $width|0; - $height = $height|0; - $comp = $comp|0; - $result = $result|0; - var $$ = 0, $$0 = 0, $$lcssa108 = 0, $$lcssa111 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0; - var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0; - var $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0; - var $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0; - var $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $act_comp$0 = 0; - var $count3$0 = 0, $count3$1 = 0, $dest$038 = 0, $dest$135 = 0, $dest$2$lcssa = 0, $dest$230 = 0, $dest$327 = 0, $dest$425 = 0, $dest$523 = 0, $dest$6 = 0, $exitcond = 0, $exitcond57 = 0, $i$031 = 0, $i4$026 = 0, $i4$124 = 0, $left$036 = 0, $left2$028 = 0, $num_packets$0 = 0, $num_packets$0$lcssa105 = 0, $packet_idx$041 = 0; - var $packets = 0, $scevgep = 0, $scevgep56 = 0, $value = 0, $value5 = 0, $x$039 = 0, $y$044 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $packets = sp + 8|0; - $value = sp + 4|0; - $value5 = sp; - $act_comp$0 = 0;$num_packets$0 = 0; - while(1) { - $0 = ($num_packets$0|0)==(10); - if ($0) { - label = 3; - break; - } - $1 = (($num_packets$0) + 1)|0; - $2 = (_stbi__get8($s)|0); - $3 = (_stbi__get8($s)|0); - $4 = (($packets) + (($num_packets$0*3)|0)|0); - HEAP8[$4>>0] = $3; - $5 = (_stbi__get8($s)|0); - $6 = (((($packets) + (($num_packets$0*3)|0)|0)) + 1|0); - HEAP8[$6>>0] = $5; - $7 = (_stbi__get8($s)|0); - $8 = (((($packets) + (($num_packets$0*3)|0)|0)) + 2|0); - HEAP8[$8>>0] = $7; - $9 = $7&255; - $10 = $9 | $act_comp$0; - $11 = (_stbi__at_eof($s)|0); - $12 = ($11|0)==(0); - if (!($12)) { - label = 5; - break; - } - $13 = HEAP8[$4>>0]|0; - $14 = ($13<<24>>24)==(8); - if (!($14)) { - label = 7; - break; - } - $15 = ($2<<24>>24)==(0); - if ($15) { - $$lcssa108 = $1;$$lcssa111 = $10;$num_packets$0$lcssa105 = $num_packets$0; - label = 9; - break; - } else { - $act_comp$0 = $10;$num_packets$0 = $1; - } - } - if ((label|0) == 3) { - _stbi__err(19363); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - else if ((label|0) == 5) { - _stbi__err(19476); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - else if ((label|0) == 7) { - _stbi__err(19363); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - else if ((label|0) == 9) { - $16 = $$lcssa111 >>> 4; - $17 = $16 & 1; - $18 = (($17) + 3)|0; - HEAP32[$comp>>2] = $18; - $19 = ($height|0)>(0); - if (!($19)) { - $$0 = $result; - STACKTOP = sp;return ($$0|0); - } - $20 = ($num_packets$0$lcssa105|0)>(-1); - $21 = $width << 2; - $22 = ($width|0)>(0); - $23 = ($width|0)>(0); - $24 = ($width|0)>(0); - $y$044 = 0; - L13: while(1) { - L15: do { - if ($20) { - $25 = Math_imul($21, $y$044)|0; - $26 = (($result) + ($25)|0); - $packet_idx$041 = 0; - while(1) { - $27 = (((($packets) + (($packet_idx$041*3)|0)|0)) + 1|0); - $28 = HEAP8[$27>>0]|0; - $29 = $28&255; - switch ($29|0) { - case 0: { - if ($22) { - $33 = (((($packets) + (($packet_idx$041*3)|0)|0)) + 2|0); - $34 = HEAP8[$33>>0]|0; - $35 = $34&255; - $dest$038 = $26;$x$039 = 0; - while(1) { - $36 = (_stbi__readval($s,$35,$dest$038)|0); - $37 = ($36|0)==(0|0); - if ($37) { - $$0 = 0; - label = 52; - break L13; - } - $38 = (($x$039) + 1)|0; - $39 = ((($dest$038)) + 4|0); - $40 = ($38|0)<($width|0); - if ($40) { - $dest$038 = $39;$x$039 = $38; - } else { - break; - } - } - } - break; - } - case 1: { - if ($23) { - $32 = (((($packets) + (($packet_idx$041*3)|0)|0)) + 2|0); - $dest$135 = $26;$left$036 = $width; - while(1) { - $41 = (_stbi__get8($s)|0); - $42 = (_stbi__at_eof($s)|0); - $43 = ($42|0)==(0); - if (!($43)) { - label = 24; - break L13; - } - $44 = HEAP8[$32>>0]|0; - $45 = $44&255; - $46 = (_stbi__readval($s,$45,$value)|0); - $47 = ($46|0)==(0|0); - if ($47) { - $$0 = 0; - label = 52; - break L13; - } - $48 = $41&255; - $49 = ($48|0)>($left$036|0); - $50 = $left$036&255; - $$ = $49 ? $50 : $41; - $51 = $$&255; - $52 = ($$<<24>>24)==(0); - if ($52) { - $dest$2$lcssa = $dest$135; - } else { - $53 = $$&255; - $54 = $53 << 2; - $dest$230 = $dest$135;$i$031 = 0; - while(1) { - $55 = HEAP8[$32>>0]|0; - $56 = $55&255; - _stbi__copyval($56,$dest$230,$value); - $57 = (($i$031) + 1)|0; - $58 = ((($dest$230)) + 4|0); - $exitcond57 = ($57|0)==($53|0); - if ($exitcond57) { - break; - } else { - $dest$230 = $58;$i$031 = $57; - } - } - $scevgep56 = (($dest$135) + ($54)|0); - $dest$2$lcssa = $scevgep56; - } - $59 = (($left$036) - ($51))|0; - $60 = ($59|0)>(0); - if ($60) { - $dest$135 = $dest$2$lcssa;$left$036 = $59; - } else { - break; - } - } - } - break; - } - case 2: { - if ($24) { - $30 = (((($packets) + (($packet_idx$041*3)|0)|0)) + 2|0); - $31 = (((($packets) + (($packet_idx$041*3)|0)|0)) + 2|0); - $dest$327 = $26;$left2$028 = $width; - while(1) { - $61 = (_stbi__get8($s)|0); - $62 = $61&255; - $63 = (_stbi__at_eof($s)|0); - $64 = ($63|0)==(0); - if (!($64)) { - label = 32; - break L13; - } - $65 = ($61<<24>>24)<(0); - if ($65) { - $66 = ($61<<24>>24)==(-128); - if ($66) { - $67 = (_stbi__get16be($s)|0); - $count3$0 = $67; - } else { - $68 = (($62) + -127)|0; - $count3$0 = $68; - } - $69 = ($count3$0|0)>($left2$028|0); - if ($69) { - label = 38; - break L13; - } - $70 = HEAP8[$30>>0]|0; - $71 = $70&255; - $72 = (_stbi__readval($s,$71,$value5)|0); - $73 = ($72|0)==(0|0); - if ($73) { - $$0 = 0; - label = 52; - break L13; - } - $74 = ($count3$0|0)>(0); - if ($74) { - $75 = $count3$0 << 2; - $dest$425 = $dest$327;$i4$026 = 0; - while(1) { - $76 = HEAP8[$30>>0]|0; - $77 = $76&255; - _stbi__copyval($77,$dest$425,$value5); - $78 = (($i4$026) + 1)|0; - $79 = ((($dest$425)) + 4|0); - $exitcond = ($78|0)==($count3$0|0); - if ($exitcond) { - break; - } else { - $dest$425 = $79;$i4$026 = $78; - } - } - $scevgep = (($dest$327) + ($75)|0); - $count3$1 = $count3$0;$dest$6 = $scevgep; - } else { - $count3$1 = $count3$0;$dest$6 = $dest$327; - } - } else { - $80 = (($62) + 1)|0; - $81 = ($62|0)<($left2$028|0); - if (!($81)) { - label = 45; - break L13; - } - $82 = HEAP8[$31>>0]|0; - $83 = $82&255; - $dest$523 = $dest$327;$i4$124 = 0; - while(1) { - $84 = (_stbi__readval($s,$83,$dest$523)|0); - $85 = ($84|0)==(0|0); - if ($85) { - $$0 = 0; - label = 52; - break L13; - } - $86 = (($i4$124) + 1)|0; - $87 = ((($dest$523)) + 4|0); - $88 = ($86|0)<($80|0); - if ($88) { - $dest$523 = $87;$i4$124 = $86; - } else { - $count3$1 = $80;$dest$6 = $87; - break; - } - } - } - $89 = (($left2$028) - ($count3$1))|0; - $90 = ($89|0)>(0); - if ($90) { - $dest$327 = $dest$6;$left2$028 = $89; - } else { - break; - } - } - } - break; - } - default: { - label = 20; - break L13; - } - } - $91 = (($packet_idx$041) + 1)|0; - $92 = ($91|0)<($$lcssa108|0); - if ($92) { - $packet_idx$041 = $91; - } else { - break L15; - } - } - } - } while(0); - $93 = (($y$044) + 1)|0; - $94 = ($93|0)<($height|0); - if ($94) { - $y$044 = $93; - } else { - $$0 = $result; - label = 52; - break; - } - } - if ((label|0) == 20) { - _stbi__err(19363); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - else if ((label|0) == 24) { - _stbi__err(19476); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - else if ((label|0) == 32) { - _stbi__err(19476); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - else if ((label|0) == 38) { - _stbi__err(19476); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - else if ((label|0) == 45) { - _stbi__err(19476); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - else if ((label|0) == 52) { - STACKTOP = sp;return ($$0|0); - } - } - return (0)|0; -} -function _stbi__readval($s,$channel,$dest) { - $s = $s|0; - $channel = $channel|0; - $dest = $dest|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $3 = 0, $4 = 0, $5 = 0; - var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = $channel & 128; - $1 = ($0|0)==(0); - if ($1) { - label = 5; - } else { - $2 = (_stbi__at_eof($s)|0); - $3 = ($2|0)==(0); - if ($3) { - $4 = (_stbi__get8($s)|0); - HEAP8[$dest>>0] = $4; - label = 5; - } - } - do { - if ((label|0) == 5) { - $5 = $channel & 64; - $6 = ($5|0)==(0); - if (!($6)) { - $7 = (_stbi__at_eof($s)|0); - $8 = ($7|0)==(0); - if (!($8)) { - break; - } - $9 = (_stbi__get8($s)|0); - $10 = ((($dest)) + 1|0); - HEAP8[$10>>0] = $9; - } - $11 = $channel & 32; - $12 = ($11|0)==(0); - if (!($12)) { - $13 = (_stbi__at_eof($s)|0); - $14 = ($13|0)==(0); - if (!($14)) { - break; - } - $15 = (_stbi__get8($s)|0); - $16 = ((($dest)) + 2|0); - HEAP8[$16>>0] = $15; - } - $17 = $channel & 16; - $18 = ($17|0)==(0); - if ($18) { - $$0 = $dest; - return ($$0|0); - } - $19 = (_stbi__at_eof($s)|0); - $20 = ($19|0)==(0); - if ($20) { - $21 = (_stbi__get8($s)|0); - $22 = ((($dest)) + 3|0); - HEAP8[$22>>0] = $21; - $$0 = $dest; - return ($$0|0); - } - } - } while(0); - _stbi__err(19476); - $$0 = 0; - return ($$0|0); -} -function _stbi__copyval($channel,$dest,$src) { - $channel = $channel|0; - $dest = $dest|0; - $src = $src|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = $channel & 128; - $1 = ($0|0)==(0); - if (!($1)) { - $2 = HEAP8[$src>>0]|0; - HEAP8[$dest>>0] = $2; - } - $3 = $channel & 64; - $4 = ($3|0)==(0); - if (!($4)) { - $5 = ((($src)) + 1|0); - $6 = HEAP8[$5>>0]|0; - $7 = ((($dest)) + 1|0); - HEAP8[$7>>0] = $6; - } - $8 = $channel & 32; - $9 = ($8|0)==(0); - if (!($9)) { - $10 = ((($src)) + 2|0); - $11 = HEAP8[$10>>0]|0; - $12 = ((($dest)) + 2|0); - HEAP8[$12>>0] = $11; - } - $13 = $channel & 16; - $14 = ($13|0)==(0); - if ($14) { - return; - } - $15 = ((($src)) + 3|0); - $16 = HEAP8[$15>>0]|0; - $17 = ((($dest)) + 3|0); - HEAP8[$17>>0] = $16; - return; -} -function _stbi__pic_test_core($s) { - $s = $s|0; - var $$ = 0, $$0 = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $exitcond = 0, $i$01 = 0, $not$ = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_stbi__pic_is4($s,17758)|0); - $1 = ($0|0)==(0); - if ($1) { - $$0 = 0; - return ($$0|0); - } else { - $i$01 = 0; - } - while(1) { - (_stbi__get8($s)|0); - $2 = (($i$01) + 1)|0; - $exitcond = ($2|0)==(84); - if ($exitcond) { - break; - } else { - $i$01 = $2; - } - } - $3 = (_stbi__pic_is4($s,19485)|0); - $not$ = ($3|0)!=(0); - $$ = $not$&1; - $$0 = $$; - return ($$0|0); -} -function _stbi__gif_load_next($s,$g,$comp) { - $s = $s|0; - $g = $g|0; - $comp = $comp|0; - var $$0 = 0, $$pr = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0; - var $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0; - var $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0; - var $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; - var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0; - var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0; - var $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0; - var $99 = 0, $i$02 = 0, $prev_trans$0 = 0, $prev_trans$1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($g)) + 8|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)==(0|0); - do { - if ($2) { - $3 = (_stbi__gif_header($s,$g,$comp,0)|0); - $4 = ($3|0)==(0); - if ($4) { - $$0 = 0; - return ($$0|0); - } else { - $$pr = HEAP32[$0>>2]|0; - $20 = $$pr; - break; - } - } else { - $20 = $1; - } - } while(0); - $5 = HEAP32[$g>>2]|0; - $6 = $5 << 2; - $7 = ((($g)) + 4|0); - $8 = HEAP32[$7>>2]|0; - $9 = Math_imul($6, $8)|0; - $10 = (_stbi__malloc($9)|0); - HEAP32[$0>>2] = $10; - $11 = ($10|0)==(0|0); - if ($11) { - _stbi__err(18059); - $$0 = 0; - return ($$0|0); - } - $12 = ((($g)) + 32|0); - $13 = HEAP32[$12>>2]|0; - $14 = $13 >>> 2; - $15 = $14 & 7; - switch ($15|0) { - case 0: { - $16 = HEAP32[$g>>2]|0; - $17 = $16 << 2; - $18 = HEAP32[$7>>2]|0; - $19 = Math_imul($17, $18)|0; - _stbi__fill_gif_background($g,0,0,$17,$19); - break; - } - case 1: { - $21 = ($20|0)==(0|0); - if (!($21)) { - $22 = HEAP32[$g>>2]|0; - $23 = $22 << 2; - $24 = HEAP32[$7>>2]|0; - $25 = Math_imul($23, $24)|0; - _memcpy(($10|0),($20|0),($25|0))|0; - } - $26 = ((($g)) + 12|0); - HEAP32[$26>>2] = $20; - break; - } - case 2: { - $27 = ($20|0)==(0|0); - if (!($27)) { - $28 = HEAP32[$g>>2]|0; - $29 = $28 << 2; - $30 = HEAP32[$7>>2]|0; - $31 = Math_imul($29, $30)|0; - _memcpy(($10|0),($20|0),($31|0))|0; - } - $32 = ((($g)) + 18488|0); - $33 = HEAP32[$32>>2]|0; - $34 = ((($g)) + 18492|0); - $35 = HEAP32[$34>>2]|0; - $36 = ((($g)) + 18496|0); - $37 = HEAP32[$36>>2]|0; - $38 = ((($g)) + 18500|0); - $39 = HEAP32[$38>>2]|0; - _stbi__fill_gif_background($g,$33,$35,$37,$39); - break; - } - case 3: { - $40 = ((($g)) + 12|0); - $41 = HEAP32[$40>>2]|0; - $42 = ($41|0)==(0|0); - if (!($42)) { - $45 = ((($g)) + 18492|0); - $46 = HEAP32[$45>>2]|0; - $47 = ((($g)) + 18500|0); - $48 = HEAP32[$47>>2]|0; - $49 = ($46|0)<($48|0); - if ($49) { - $50 = ((($g)) + 18488|0); - $51 = ((($g)) + 18496|0); - $i$02 = $46; - while(1) { - $52 = HEAP32[$50>>2]|0; - $53 = (($52) + ($i$02))|0; - $54 = HEAP32[$0>>2]|0; - $55 = (($54) + ($53)|0); - $56 = HEAP32[$40>>2]|0; - $57 = (($56) + ($53)|0); - $58 = HEAP32[$51>>2]|0; - $59 = (($58) - ($52))|0; - _memcpy(($55|0),($57|0),($59|0))|0; - $60 = HEAP32[$g>>2]|0; - $61 = $60 << 2; - $62 = (($61) + ($i$02))|0; - $63 = HEAP32[$47>>2]|0; - $64 = ($62|0)<($63|0); - if ($64) { - $i$02 = $62; - } else { - break; - } - } - } - } - break; - } - default: { - } - } - $43 = ((($g)) + 36|0); - $44 = ((($g)) + 28|0); - L27: while(1) { - $65 = (_stbi__get8($s)|0); - $66 = $65&255; - switch ($66|0) { - case 44: { - label = 20; - break L27; - break; - } - case 59: { - label = 45; - break L27; - break; - } - case 33: { - break; - } - default: { - label = 46; - break L27; - } - } - $143 = (_stbi__get8($s)|0); - $144 = ($143<<24>>24)==(-7); - do { - if ($144) { - $147 = (_stbi__get8($s)|0); - $148 = ($147<<24>>24)==(4); - if ($148) { - $149 = (_stbi__get8($s)|0); - $150 = $149&255; - HEAP32[$12>>2] = $150; - $151 = (_stbi__get16le($s)|0); - HEAP32[$43>>2] = $151; - $152 = (_stbi__get8($s)|0); - $153 = $152&255; - HEAP32[$44>>2] = $153; - break; - } else { - $154 = $147&255; - _stbi__skip($s,$154); - continue L27; - } - } - } while(0); - $145 = (_stbi__get8($s)|0); - $146 = ($145<<24>>24)==(0); - if ($146) { - continue; - } else { - $156 = $145; - } - while(1) { - $155 = $156&255; - _stbi__skip($s,$155); - $157 = (_stbi__get8($s)|0); - $158 = ($157<<24>>24)==(0); - if ($158) { - continue L27; - } else { - $156 = $157; - } - } - } - if ((label|0) == 20) { - $67 = (_stbi__get16le($s)|0); - $68 = (_stbi__get16le($s)|0); - $69 = (_stbi__get16le($s)|0); - $70 = (_stbi__get16le($s)|0); - $71 = (($69) + ($67))|0; - $72 = HEAP32[$g>>2]|0; - $73 = ($71|0)>($72|0); - if (!($73)) { - $74 = (($70) + ($68))|0; - $75 = HEAP32[$7>>2]|0; - $76 = ($74|0)>($75|0); - if (!($76)) { - $77 = $72 << 2; - $78 = ((($g)) + 18512|0); - HEAP32[$78>>2] = $77; - $79 = $67 << 2; - $80 = ((($g)) + 18488|0); - HEAP32[$80>>2] = $79; - $81 = HEAP32[$78>>2]|0; - $82 = Math_imul($81, $68)|0; - $83 = ((($g)) + 18492|0); - HEAP32[$83>>2] = $82; - $84 = HEAP32[$80>>2]|0; - $85 = $69 << 2; - $86 = (($84) + ($85))|0; - $87 = ((($g)) + 18496|0); - HEAP32[$87>>2] = $86; - $88 = HEAP32[$83>>2]|0; - $89 = HEAP32[$78>>2]|0; - $90 = Math_imul($89, $70)|0; - $91 = (($90) + ($88))|0; - $92 = ((($g)) + 18500|0); - HEAP32[$92>>2] = $91; - $93 = HEAP32[$80>>2]|0; - $94 = ((($g)) + 18504|0); - HEAP32[$94>>2] = $93; - $95 = HEAP32[$83>>2]|0; - $96 = ((($g)) + 18508|0); - HEAP32[$96>>2] = $95; - $97 = (_stbi__get8($s)|0); - $98 = $97&255; - $99 = ((($g)) + 18484|0); - HEAP32[$99>>2] = $98; - $100 = $98 & 64; - $101 = ($100|0)==(0); - $102 = HEAP32[$78>>2]|0; - if ($101) { - $106 = ((($g)) + 18480|0); - HEAP32[$106>>2] = $102; - $107 = ((($g)) + 18476|0); - HEAP32[$107>>2] = 0; - } else { - $103 = $102 << 3; - $104 = ((($g)) + 18480|0); - HEAP32[$104>>2] = $103; - $105 = ((($g)) + 18476|0); - HEAP32[$105>>2] = 3; - } - $108 = HEAP32[$99>>2]|0; - $109 = $108 & 128; - $110 = ($109|0)==(0); - if ($110) { - $121 = ((($g)) + 16|0); - $122 = HEAP32[$121>>2]|0; - $123 = $122 & 128; - $124 = ($123|0)==(0); - if ($124) { - _stbi__err(19594); - $$0 = 0; - return ($$0|0); - } - $125 = ((($g)) + 28|0); - $126 = HEAP32[$125>>2]|0; - $127 = ($126|0)>(-1); - if ($127) { - $128 = HEAP32[$12>>2]|0; - $129 = $128 & 1; - $130 = ($129|0)==(0); - if ($130) { - $prev_trans$0 = -1; - } else { - $131 = (((((($g)) + 40|0) + ($126<<2)|0)) + 3|0); - $132 = HEAP8[$131>>0]|0; - $133 = $132&255; - HEAP8[$131>>0] = 0; - $prev_trans$0 = $133; - } - } else { - $prev_trans$0 = -1; - } - $134 = ((($g)) + 40|0); - $135 = ((($g)) + 18472|0); - HEAP32[$135>>2] = $134; - $prev_trans$1 = $prev_trans$0; - } else { - $111 = ((($g)) + 1064|0); - $112 = $108 & 7; - $113 = 2 << $112; - $114 = HEAP32[$12>>2]|0; - $115 = $114 & 1; - $116 = ($115|0)==(0); - if ($116) { - $119 = -1; - } else { - $117 = ((($g)) + 28|0); - $118 = HEAP32[$117>>2]|0; - $119 = $118; - } - _stbi__gif_parse_colortable($s,$111,$113,$119); - $120 = ((($g)) + 18472|0); - HEAP32[$120>>2] = $111; - $prev_trans$1 = -1; - } - $136 = (_stbi__process_gif_raster($s,$g)|0); - $137 = ($136|0)==(0|0); - if ($137) { - $$0 = 0; - return ($$0|0); - } - $138 = ($prev_trans$1|0)==(-1); - if ($138) { - $$0 = $136; - return ($$0|0); - } - $139 = $prev_trans$1&255; - $140 = ((($g)) + 28|0); - $141 = HEAP32[$140>>2]|0; - $142 = (((((($g)) + 40|0) + ($141<<2)|0)) + 3|0); - HEAP8[$142>>0] = $139; - $$0 = $136; - return ($$0|0); - } - } - _stbi__err(19573); - $$0 = 0; - return ($$0|0); - } - else if ((label|0) == 45) { - $$0 = $s; - return ($$0|0); - } - else if ((label|0) == 46) { - _stbi__err(19614); - $$0 = 0; - return ($$0|0); - } - return (0)|0; -} -function _stbi__fill_gif_background($g,$x0,$y0,$x1,$y1) { - $g = $g|0; - $x0 = $x0|0; - $y0 = $y0|0; - $x1 = $x1|0; - $y1 = $y1|0; - var $$sum = 0, $$sum1 = 0, $$sum2 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $3 = 0; - var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $x$03 = 0, $y$04 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($g)) + 20|0); - $1 = HEAP32[$0>>2]|0; - $2 = (((($g)) + 40|0) + ($1<<2)|0); - $3 = ($y0|0)<($y1|0); - if (!($3)) { - return; - } - $4 = ($x0|0)<($x1|0); - $5 = ((($g)) + 8|0); - $6 = (((((($g)) + 40|0) + ($1<<2)|0)) + 2|0); - $7 = (((((($g)) + 40|0) + ($1<<2)|0)) + 1|0); - $y$04 = $y0; - while(1) { - if ($4) { - $x$03 = $x0; - while(1) { - $8 = (($x$03) + ($y$04))|0; - $9 = HEAP32[$5>>2]|0; - $10 = (($9) + ($8)|0); - $11 = HEAP8[$6>>0]|0; - HEAP8[$10>>0] = $11; - $12 = HEAP8[$7>>0]|0; - $$sum = (($8) + 1)|0; - $13 = (($9) + ($$sum)|0); - HEAP8[$13>>0] = $12; - $14 = HEAP8[$2>>0]|0; - $$sum1 = (($8) + 2)|0; - $15 = (($9) + ($$sum1)|0); - HEAP8[$15>>0] = $14; - $$sum2 = (($8) + 3)|0; - $16 = (($9) + ($$sum2)|0); - HEAP8[$16>>0] = 0; - $17 = (($x$03) + 4)|0; - $18 = ($17|0)<($x1|0); - if ($18) { - $x$03 = $17; - } else { - break; - } - } - } - $19 = HEAP32[$g>>2]|0; - $20 = $19 << 2; - $21 = (($20) + ($y$04))|0; - $22 = ($21|0)<($y1|0); - if ($22) { - $y$04 = $21; - } else { - break; - } - } - return; -} -function _stbi__process_gif_raster($s,$g) { - $s = $s|0; - $g = $g|0; - var $$0 = 0, $$sink = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; - var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0; - var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $avail$0$ph = 0; - var $avail$0$ph7 = 0, $avail$1 = 0, $bits$0$lcssa = 0, $bits$0$ph = 0, $bits$0$ph3 = 0, $bits$0$ph9 = 0, $bits$040 = 0, $codemask$0$ph = 0, $codemask$0$ph$in = 0, $codesize$0$ph = 0, $codesize$0$ph$in = 0, $first$0$ph = 0, $init_code$047 = 0, $len$0$lcssa = 0, $len$0$lcssa$lcssa169 = 0, $len$0$ph = 0, $len$0$ph11 = 0, $len$0$ph5 = 0, $len$042 = 0, $len$1 = 0; - var $oldcode$0$ph = 0, $oldcode$0$ph8 = 0, $or$cond = 0, $valid_bits$0$lcssa = 0, $valid_bits$0$ph = 0, $valid_bits$0$ph10 = 0, $valid_bits$0$ph4 = 0, $valid_bits$041 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_stbi__get8($s)|0); - $1 = $0&255; - $2 = ($0&255)>(12); - if ($2) { - $$0 = 0; - return ($$0|0); - } - $3 = 1 << $1; - $init_code$047 = 0; - while(1) { - $4 = (((($g)) + 2088|0) + ($init_code$047<<2)|0); - HEAP16[$4>>1] = -1; - $5 = $init_code$047&255; - $6 = (((((($g)) + 2088|0) + ($init_code$047<<2)|0)) + 2|0); - HEAP8[$6>>0] = $5; - $7 = (((((($g)) + 2088|0) + ($init_code$047<<2)|0)) + 3|0); - HEAP8[$7>>0] = $5; - $8 = (($init_code$047) + 1)|0; - $9 = ($8|0)<($3|0); - if ($9) { - $init_code$047 = $8; - } else { - break; - } - } - $10 = (($3) + 2)|0; - $11 = (($3) + 1)|0; - $bits$0$ph = 0;$first$0$ph = 0;$len$0$ph = 0;$valid_bits$0$ph = 0; - L7: while(1) { - $avail$0$ph = $10;$bits$0$ph3 = $bits$0$ph;$codesize$0$ph$in = $1;$len$0$ph5 = $len$0$ph;$oldcode$0$ph = -1;$valid_bits$0$ph4 = $valid_bits$0$ph; - L9: while(1) { - $codesize$0$ph = (($codesize$0$ph$in) + 1)|0; - $codemask$0$ph$in = 1 << $codesize$0$ph; - $codemask$0$ph = (($codemask$0$ph$in) + -1)|0; - $avail$0$ph7 = $avail$0$ph;$bits$0$ph9 = $bits$0$ph3;$len$0$ph11 = $len$0$ph5;$oldcode$0$ph8 = $oldcode$0$ph;$valid_bits$0$ph10 = $valid_bits$0$ph4; - while(1) { - $12 = ($valid_bits$0$ph10|0)<($codesize$0$ph|0); - if ($12) { - $bits$040 = $bits$0$ph9;$len$042 = $len$0$ph11;$valid_bits$041 = $valid_bits$0$ph10; - while(1) { - $13 = ($len$042|0)==(0); - if ($13) { - $14 = (_stbi__get8($s)|0); - $15 = $14&255; - $16 = ($14<<24>>24)==(0); - if ($16) { - label = 10; - break L7; - } else { - $len$1 = $15; - } - } else { - $len$1 = $len$042; - } - $19 = (($len$1) + -1)|0; - $20 = (_stbi__get8($s)|0); - $21 = $20&255; - $22 = $21 << $valid_bits$041; - $23 = $22 | $bits$040; - $24 = (($valid_bits$041) + 8)|0; - $25 = ($24|0)<($codesize$0$ph|0); - if ($25) { - $bits$040 = $23;$len$042 = $19;$valid_bits$041 = $24; - } else { - $bits$0$lcssa = $23;$len$0$lcssa = $19;$valid_bits$0$lcssa = $24; - break; - } - } - } else { - $bits$0$lcssa = $bits$0$ph9;$len$0$lcssa = $len$0$ph11;$valid_bits$0$lcssa = $valid_bits$0$ph10; - } - $26 = $bits$0$lcssa & $codemask$0$ph; - $27 = $bits$0$lcssa >> $codesize$0$ph; - $28 = (($valid_bits$0$lcssa) - ($codesize$0$ph))|0; - $29 = ($26|0)==($3|0); - if ($29) { - $bits$0$ph = $27;$first$0$ph = 1;$len$0$ph = $len$0$lcssa;$valid_bits$0$ph = $28; - continue L7; - } - $30 = ($26|0)==($11|0); - if ($30) { - $len$0$lcssa$lcssa169 = $len$0$lcssa; - label = 14; - break L7; - } - $39 = ($26|0)>($avail$0$ph7|0); - if ($39) { - label = 29; - break L7; - } - if (!($first$0$ph)) { - label = 19; - break L7; - } - $40 = ($oldcode$0$ph8|0)>(-1); - if ($40) { - $41 = (($avail$0$ph7) + 1)|0; - $42 = ($avail$0$ph7|0)>(4095); - if ($42) { - label = 22; - break L7; - } - $43 = $oldcode$0$ph8&65535; - $44 = (((($g)) + 2088|0) + ($avail$0$ph7<<2)|0); - HEAP16[$44>>1] = $43; - $45 = (((((($g)) + 2088|0) + ($oldcode$0$ph8<<2)|0)) + 2|0); - $46 = HEAP8[$45>>0]|0; - $47 = (((((($g)) + 2088|0) + ($avail$0$ph7<<2)|0)) + 2|0); - HEAP8[$47>>0] = $46; - $48 = ($26|0)==($41|0); - if ($48) { - $$sink = $46; - } else { - $49 = (((((($g)) + 2088|0) + ($26<<2)|0)) + 2|0); - $50 = HEAP8[$49>>0]|0; - $$sink = $50; - } - $51 = (((((($g)) + 2088|0) + ($avail$0$ph7<<2)|0)) + 3|0); - HEAP8[$51>>0] = $$sink; - $avail$1 = $41; - } else { - $52 = ($26|0)==($avail$0$ph7|0); - if ($52) { - label = 27; - break L7; - } else { - $avail$1 = $avail$0$ph7; - } - } - $53 = $26&65535; - _stbi__out_gif_code($g,$53); - $54 = $avail$1 & $codemask$0$ph; - $55 = ($54|0)==(0); - $56 = ($avail$1|0)<(4096); - $or$cond = $56 & $55; - if ($or$cond) { - $avail$0$ph = $avail$1;$bits$0$ph3 = $27;$codesize$0$ph$in = $codesize$0$ph;$len$0$ph5 = $len$0$lcssa;$oldcode$0$ph = $26;$valid_bits$0$ph4 = $28; - continue L9; - } else { - $avail$0$ph7 = $avail$1;$bits$0$ph9 = $27;$len$0$ph11 = $len$0$lcssa;$oldcode$0$ph8 = $26;$valid_bits$0$ph10 = $28; - } - } - } - } - if ((label|0) == 10) { - $17 = ((($g)) + 8|0); - $18 = HEAP32[$17>>2]|0; - $$0 = $18; - return ($$0|0); - } - else if ((label|0) == 14) { - _stbi__skip($s,$len$0$lcssa$lcssa169); - $31 = (_stbi__get8($s)|0); - $32 = ($31<<24>>24)==(0); - if (!($32)) { - $34 = $31; - while(1) { - $33 = $34&255; - _stbi__skip($s,$33); - $35 = (_stbi__get8($s)|0); - $36 = ($35<<24>>24)==(0); - if ($36) { - break; - } else { - $34 = $35; - } - } - } - $37 = ((($g)) + 8|0); - $38 = HEAP32[$37>>2]|0; - $$0 = $38; - return ($$0|0); - } - else if ((label|0) == 19) { - _stbi__err(19627); - $$0 = 0; - return ($$0|0); - } - else if ((label|0) == 22) { - _stbi__err(19641); - $$0 = 0; - return ($$0|0); - } - else if ((label|0) == 27) { - _stbi__err(19656); - $$0 = 0; - return ($$0|0); - } - else if ((label|0) == 29) { - _stbi__err(19656); - $$0 = 0; - return ($$0|0); - } - return (0)|0; -} -function _stbi__out_gif_code($g,$code) { - $g = $g|0; - $code = $code|0; - var $$pr = 0, $$sum = 0, $$sum1 = 0, $$sum2 = 0, $$sum3 = 0, $$sum4 = 0, $$sum5 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0; - var $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0; - var $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0; - var $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = $code&65535; - $1 = (((($g)) + 2088|0) + ($0<<2)|0); - $2 = HEAP16[$1>>1]|0; - $3 = ($2<<16>>16)>(-1); - if ($3) { - _stbi__out_gif_code($g,$2); - } - $4 = ((($g)) + 18508|0); - $5 = HEAP32[$4>>2]|0; - $6 = ((($g)) + 18500|0); - $7 = HEAP32[$6>>2]|0; - $8 = ($5|0)<($7|0); - if (!($8)) { - return; - } - $9 = ((($g)) + 18504|0); - $10 = HEAP32[$9>>2]|0; - $11 = (($10) + ($5))|0; - $12 = ((($g)) + 8|0); - $13 = HEAP32[$12>>2]|0; - $14 = (((((($g)) + 2088|0) + ($0<<2)|0)) + 3|0); - $15 = HEAP8[$14>>0]|0; - $16 = $15&255; - $17 = $16 << 2; - $18 = ((($g)) + 18472|0); - $19 = HEAP32[$18>>2]|0; - $$sum1 = $17 | 3; - $20 = (($19) + ($$sum1)|0); - $21 = HEAP8[$20>>0]|0; - $22 = ($21<<24>>24)<(0); - if ($22) { - $23 = (($19) + ($17)|0); - $24 = (($13) + ($11)|0); - $$sum2 = $17 | 2; - $25 = (($19) + ($$sum2)|0); - $26 = HEAP8[$25>>0]|0; - HEAP8[$24>>0] = $26; - $$sum3 = $17 | 1; - $27 = (($19) + ($$sum3)|0); - $28 = HEAP8[$27>>0]|0; - $$sum = (($11) + 1)|0; - $29 = (($13) + ($$sum)|0); - HEAP8[$29>>0] = $28; - $30 = HEAP8[$23>>0]|0; - $$sum4 = (($11) + 2)|0; - $31 = (($13) + ($$sum4)|0); - HEAP8[$31>>0] = $30; - $32 = HEAP8[$20>>0]|0; - $$sum5 = (($11) + 3)|0; - $33 = (($13) + ($$sum5)|0); - HEAP8[$33>>0] = $32; - } - $34 = HEAP32[$9>>2]|0; - $35 = (($34) + 4)|0; - HEAP32[$9>>2] = $35; - $36 = ((($g)) + 18496|0); - $37 = HEAP32[$36>>2]|0; - $38 = ($35|0)<($37|0); - if ($38) { - return; - } - $39 = ((($g)) + 18488|0); - $40 = HEAP32[$39>>2]|0; - HEAP32[$9>>2] = $40; - $41 = ((($g)) + 18480|0); - $42 = HEAP32[$41>>2]|0; - $43 = HEAP32[$4>>2]|0; - $44 = (($43) + ($42))|0; - HEAP32[$4>>2] = $44; - $45 = ((($g)) + 18476|0); - $46 = HEAP32[$6>>2]|0; - $47 = ($44|0)<($46|0); - if ($47) { - return; - } - $48 = ((($g)) + 18512|0); - $49 = ((($g)) + 18492|0); - $$pr = HEAP32[$45>>2]|0; - $50 = $$pr; - while(1) { - $51 = ($50|0)>(0); - if (!($51)) { - label = 11; - break; - } - $52 = HEAP32[$48>>2]|0; - $53 = $52 << $50; - HEAP32[$41>>2] = $53; - $54 = HEAP32[$49>>2]|0; - $55 = $53 >> 1; - $56 = (($55) + ($54))|0; - HEAP32[$4>>2] = $56; - $57 = HEAP32[$45>>2]|0; - $58 = (($57) + -1)|0; - HEAP32[$45>>2] = $58; - $59 = HEAP32[$4>>2]|0; - $60 = HEAP32[$6>>2]|0; - $61 = ($59|0)<($60|0); - if ($61) { - label = 11; - break; - } else { - $50 = $58; - } - } - if ((label|0) == 11) { - return; - } -} -function _stbi__gif_test_raw($s) { - $s = $s|0; - var $$ = 0, $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_stbi__get8($s)|0); - $1 = ($0<<24>>24)==(71); - L1: do { - if ($1) { - $2 = (_stbi__get8($s)|0); - $3 = ($2<<24>>24)==(73); - if ($3) { - $4 = (_stbi__get8($s)|0); - $5 = ($4<<24>>24)==(70); - if ($5) { - $6 = (_stbi__get8($s)|0); - $7 = ($6<<24>>24)==(56); - if ($7) { - $8 = (_stbi__get8($s)|0); - switch ($8<<24>>24) { - case 55: case 57: { - break; - } - default: { - $$0 = 0; - break L1; - } - } - $9 = (_stbi__get8($s)|0); - $10 = ($9<<24>>24)==(97); - $$ = $10&1; - $$0 = $$; - } else { - $$0 = 0; - } - } else { - $$0 = 0; - } - } else { - $$0 = 0; - } - } else { - $$0 = 0; - } - } while(0); - return ($$0|0); -} -function _stbi__high_bit($z) { - $z = $z|0; - var $$ = 0, $$01 = 0, $$1 = 0, $$2 = 0, $$3 = 0, $$n$3 = 0, $$z = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; - var $9 = 0, $n$1 = 0, $n$2 = 0, $n$3 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ($z|0)==(0); - if ($0) { - $$01 = -1; - return ($$01|0); - } - $1 = ($z>>>0)>(65535); - $2 = $z >>> 16; - $$z = $1 ? $2 : $z; - $$ = $1 ? 16 : 0; - $3 = ($$z>>>0)>(255); - $4 = $$ | 8; - $5 = $$z >>> 8; - $$1 = $3 ? $5 : $$z; - $n$1 = $3 ? $4 : $$; - $6 = ($$1>>>0)>(15); - $7 = $n$1 | 4; - $8 = $$1 >>> 4; - $$2 = $6 ? $8 : $$1; - $n$2 = $6 ? $7 : $n$1; - $9 = ($$2>>>0)>(3); - $10 = $n$2 | 2; - $11 = $$2 >>> 2; - $$3 = $9 ? $11 : $$2; - $n$3 = $9 ? $10 : $n$2; - $12 = ($$3>>>0)>(1); - $13 = $12&1; - $$n$3 = (($13) + ($n$3))|0; - $$01 = $$n$3; - return ($$01|0); -} -function _stbi__bitcount($a) { - $a = $a|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = $a & 1431655765; - $1 = $a >>> 1; - $2 = $1 & 1431655765; - $3 = (($2) + ($0))|0; - $4 = $3 & 858993459; - $5 = $3 >>> 2; - $6 = $5 & 858993459; - $7 = (($6) + ($4))|0; - $8 = $7 >>> 4; - $9 = (($8) + ($7))|0; - $10 = $9 & 252645135; - $11 = $10 >>> 8; - $12 = (($11) + ($10))|0; - $13 = $12 >>> 16; - $14 = (($13) + ($12))|0; - $15 = $14 & 255; - return ($15|0); -} -function _stbi__shiftsigned($v,$shift,$bits) { - $v = $v|0; - $shift = $shift|0; - $bits = $bits|0; - var $$0 = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $result$0$lcssa = 0, $result$01 = 0, $z$02 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ($shift|0)<(0); - $1 = (0 - ($shift))|0; - $2 = $v << $1; - $3 = $v >> $shift; - $$0 = $0 ? $2 : $3; - $4 = ($bits|0)<(8); - if ($4) { - $result$01 = $$0;$z$02 = $bits; - } else { - $result$0$lcssa = $$0; - return ($result$0$lcssa|0); - } - while(1) { - $5 = $$0 >> $z$02; - $6 = (($5) + ($result$01))|0; - $7 = (($z$02) + ($bits))|0; - $8 = ($7|0)<(8); - if ($8) { - $result$01 = $6;$z$02 = $7; - } else { - $result$0$lcssa = $6; - break; - } - } - return ($result$0$lcssa|0); -} -function _stbi__bmp_test_raw($s) { - $s = $s|0; - var $$0 = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_stbi__get8($s)|0); - $1 = ($0<<24>>24)==(66); - if (!($1)) { - $$0 = 0; - return ($$0|0); - } - $2 = (_stbi__get8($s)|0); - $3 = ($2<<24>>24)==(77); - if (!($3)) { - $$0 = 0; - return ($$0|0); - } - (_stbi__get32le($s)|0); - (_stbi__get16le($s)|0); - (_stbi__get16le($s)|0); - (_stbi__get32le($s)|0); - $4 = (_stbi__get32le($s)|0); - switch ($4|0) { - case 124: case 12: case 40: case 56: case 108: { - $$0 = 1; - return ($$0|0); - break; - } - default: { - } - } - $$0 = 0; - return ($$0|0); -} -function _stbi__do_png($p,$x,$y,$n,$req_comp) { - $p = $p|0; - $x = $x|0; - $y = $y|0; - $n = $n|0; - $req_comp = $req_comp|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $result$0 = 0, $result$1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ($req_comp>>>0)>(4); - if ($0) { - _stbi__err(19705); - $$0 = 0; - return ($$0|0); - } - $1 = (_stbi__parse_png_file($p,0,$req_comp)|0); - $2 = ($1|0)==(0); - if ($2) { - $result$1 = 0; - } else { - $3 = ((($p)) + 12|0); - $4 = HEAP32[$3>>2]|0; - HEAP32[$3>>2] = 0; - $5 = ($req_comp|0)==(0); - if ($5) { - $result$0 = $4; - } else { - $6 = HEAP32[$p>>2]|0; - $7 = ((($6)) + 12|0); - $8 = HEAP32[$7>>2]|0; - $9 = ($8|0)==($req_comp|0); - if ($9) { - $result$0 = $4; - } else { - $10 = HEAP32[$6>>2]|0; - $11 = ((($6)) + 4|0); - $12 = HEAP32[$11>>2]|0; - $13 = (_stbi__convert_format($4,$8,$req_comp,$10,$12)|0); - $14 = HEAP32[$p>>2]|0; - $15 = ((($14)) + 12|0); - HEAP32[$15>>2] = $req_comp; - $16 = ($13|0)==(0|0); - if ($16) { - $$0 = 0; - return ($$0|0); - } else { - $result$0 = $13; - } - } - } - $17 = HEAP32[$p>>2]|0; - $18 = HEAP32[$17>>2]|0; - HEAP32[$x>>2] = $18; - $19 = HEAP32[$p>>2]|0; - $20 = ((($19)) + 4|0); - $21 = HEAP32[$20>>2]|0; - HEAP32[$y>>2] = $21; - $22 = ($n|0)==(0|0); - if ($22) { - $result$1 = $result$0; - } else { - $23 = HEAP32[$p>>2]|0; - $24 = ((($23)) + 12|0); - $25 = HEAP32[$24>>2]|0; - HEAP32[$n>>2] = $25; - $result$1 = $result$0; - } - } - $26 = ((($p)) + 12|0); - $27 = HEAP32[$26>>2]|0; - _free($27); - HEAP32[$26>>2] = 0; - $28 = ((($p)) + 8|0); - $29 = HEAP32[$28>>2]|0; - _free($29); - HEAP32[$28>>2] = 0; - $30 = ((($p)) + 4|0); - $31 = HEAP32[$30>>2]|0; - _free($31); - HEAP32[$30>>2] = 0; - $$0 = $result$1; - return ($$0|0); -} -function _stbi__setup_jpeg($j) { - $j = $j|0; - var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($j)) + 18176|0); - HEAP32[$0>>2] = 2; - $1 = ((($j)) + 18180|0); - HEAP32[$1>>2] = 1; - $2 = ((($j)) + 18184|0); - HEAP32[$2>>2] = 1; - return; -} -function _load_jpeg_image($z,$out_x,$out_y,$comp,$req_comp) { - $z = $z|0; - $out_x = $out_x|0; - $out_y = $out_y|0; - $comp = $comp|0; - $req_comp = $req_comp|0; - var $$ = 0, $$0 = 0, $$1 = 0, $$in = 0, $$in4 = 0, $$pr = 0, $$pr5 = 0, $$sum = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0; - var $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0; - var $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0; - var $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0; - var $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0; - var $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0; - var $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0; - var $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0; - var $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0; - var $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $coutput = 0, $exitcond = 0, $i$018 = 0, $i$115 = 0, $i$213 = 0, $j$020 = 0, $k$023 = 0, $k$111 = 0, $or$cond3 = 0, $out$017 = 0, $out$112 = 0; - var $res_comp = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 144|0; - $coutput = sp + 128|0; - $res_comp = sp; - $0 = HEAP32[$z>>2]|0; - $1 = ((($0)) + 8|0); - HEAP32[$1>>2] = 0; - $2 = ($req_comp>>>0)>(4); - if ($2) { - _stbi__err(19705); - $$1 = 0; - STACKTOP = sp;return ($$1|0); - } - $3 = (_stbi__decode_jpeg_image($z)|0); - $4 = ($3|0)==(0); - if ($4) { - _stbi__cleanup_jpeg($z); - $$1 = 0; - STACKTOP = sp;return ($$1|0); - } - $5 = ($req_comp|0)==(0); - if ($5) { - $6 = HEAP32[$z>>2]|0; - $7 = ((($6)) + 8|0); - $8 = HEAP32[$7>>2]|0; - $13 = $8; - } else { - $13 = $req_comp; - } - $9 = HEAP32[$z>>2]|0; - $10 = ((($9)) + 8|0); - $11 = HEAP32[$10>>2]|0; - $12 = ($11|0)==(3); - $14 = ($13|0)<(3); - $or$cond3 = $14 & $12; - $$ = $or$cond3 ? 1 : $11; - $15 = ($$|0)>(0); - L12: do { - if ($15) { - $16 = ((($z)) + 17796|0); - $17 = ((($z)) + 17800|0); - $18 = ((($z)) + 18184|0); - $k$023 = 0; - while(1) { - $19 = (($res_comp) + ($k$023<<5)|0); - $20 = HEAP32[$z>>2]|0; - $21 = HEAP32[$20>>2]|0; - $22 = (($21) + 3)|0; - $23 = (_stbi__malloc($22)|0); - $24 = (((((($z)) + 17820|0) + (($k$023*72)|0)|0)) + 56|0); - HEAP32[$24>>2] = $23; - $25 = ($23|0)==(0|0); - if ($25) { - break; - } - $26 = HEAP32[$16>>2]|0; - $27 = (((((($z)) + 17820|0) + (($k$023*72)|0)|0)) + 4|0); - $28 = HEAP32[$27>>2]|0; - $29 = (($26|0) / ($28|0))&-1; - $30 = (((($res_comp) + ($k$023<<5)|0)) + 12|0); - HEAP32[$30>>2] = $29; - $31 = HEAP32[$17>>2]|0; - $32 = (((((($z)) + 17820|0) + (($k$023*72)|0)|0)) + 8|0); - $33 = HEAP32[$32>>2]|0; - $34 = (($31|0) / ($33|0))&-1; - $35 = (((($res_comp) + ($k$023<<5)|0)) + 16|0); - HEAP32[$35>>2] = $34; - $36 = $34 >> 1; - $37 = (((($res_comp) + ($k$023<<5)|0)) + 24|0); - HEAP32[$37>>2] = $36; - $38 = HEAP32[$z>>2]|0; - $39 = HEAP32[$38>>2]|0; - $40 = HEAP32[$30>>2]|0; - $41 = (($39) + -1)|0; - $42 = (($41) + ($40))|0; - $43 = (($42>>>0) / ($40>>>0))&-1; - $44 = (((($res_comp) + ($k$023<<5)|0)) + 20|0); - HEAP32[$44>>2] = $43; - $45 = (((($res_comp) + ($k$023<<5)|0)) + 28|0); - HEAP32[$45>>2] = 0; - $46 = (((((($z)) + 17820|0) + (($k$023*72)|0)|0)) + 44|0); - $47 = HEAP32[$46>>2]|0; - $48 = (((($res_comp) + ($k$023<<5)|0)) + 8|0); - HEAP32[$48>>2] = $47; - $49 = (((($res_comp) + ($k$023<<5)|0)) + 4|0); - HEAP32[$49>>2] = $47; - $50 = HEAP32[$30>>2]|0; - $51 = ($50|0)==(1); - do { - if ($51) { - $52 = HEAP32[$35>>2]|0; - $53 = ($52|0)==(1); - if ($53) { - HEAP32[$19>>2] = 2; - break; - } - $$pr = HEAP32[$30>>2]|0; - $54 = ($$pr|0)==(1); - if ($54) { - $55 = HEAP32[$35>>2]|0; - $56 = ($55|0)==(2); - if ($56) { - HEAP32[$19>>2] = 3; - } else { - label = 17; - } - } else { - $57 = $$pr; - label = 18; - } - } else { - label = 17; - } - } while(0); - if ((label|0) == 17) { - label = 0; - $$pr5 = HEAP32[$30>>2]|0; - $57 = $$pr5; - label = 18; - } - do { - if ((label|0) == 18) { - label = 0; - $58 = ($57|0)==(2); - if ($58) { - $59 = HEAP32[$35>>2]|0; - $60 = ($59|0)==(1); - if ($60) { - HEAP32[$19>>2] = 4; - break; - } - } - $61 = HEAP32[$30>>2]|0; - $62 = ($61|0)==(2); - if ($62) { - $63 = HEAP32[$35>>2]|0; - $64 = ($63|0)==(2); - if ($64) { - $65 = HEAP32[$18>>2]|0; - HEAP32[$19>>2] = $65; - break; - } - } - HEAP32[$19>>2] = 5; - } - } while(0); - $66 = (($k$023) + 1)|0; - $67 = ($66|0)<($$|0); - if ($67) { - $k$023 = $66; - } else { - label = 26; - break L12; - } - } - _stbi__cleanup_jpeg($z); - _stbi__err(18059); - $$0 = 0; - } else { - label = 26; - } - } while(0); - do { - if ((label|0) == 26) { - $68 = HEAP32[$z>>2]|0; - $69 = HEAP32[$68>>2]|0; - $70 = Math_imul($69, $13)|0; - $71 = ((($68)) + 4|0); - $72 = HEAP32[$71>>2]|0; - $73 = Math_imul($70, $72)|0; - $74 = (($73) + 1)|0; - $75 = (_stbi__malloc($74)|0); - $76 = ($75|0)==(0|0); - if ($76) { - _stbi__cleanup_jpeg($z); - _stbi__err(18059); - $$0 = 0; - break; - } - $77 = HEAP32[$z>>2]|0; - $78 = ((($77)) + 4|0); - $79 = HEAP32[$78>>2]|0; - $80 = ($79|0)==(0); - if (!($80)) { - $81 = ($$|0)>(0); - $82 = ($13|0)>(2); - $83 = ((($z)) + 18180|0); - $84 = ((($coutput)) + 4|0); - $85 = ((($coutput)) + 8|0); - $86 = ($13|0)==(1); - $88 = $77;$j$020 = 0; - while(1) { - $87 = HEAP32[$88>>2]|0; - $89 = Math_imul($j$020, $13)|0; - $90 = Math_imul($89, $87)|0; - $91 = (($75) + ($90)|0); - if ($81) { - $k$111 = 0; - while(1) { - $92 = (((($res_comp) + ($k$111<<5)|0)) + 24|0); - $93 = HEAP32[$92>>2]|0; - $94 = (((($res_comp) + ($k$111<<5)|0)) + 16|0); - $95 = HEAP32[$94>>2]|0; - $96 = $95 >> 1; - $97 = ($93|0)>=($96|0); - $98 = (($res_comp) + ($k$111<<5)|0); - $99 = HEAP32[$98>>2]|0; - $100 = (((((($z)) + 17820|0) + (($k$111*72)|0)|0)) + 56|0); - $101 = HEAP32[$100>>2]|0; - $102 = (((($res_comp) + ($k$111<<5)|0)) + 8|0); - $103 = (((($res_comp) + ($k$111<<5)|0)) + 4|0); - $$in = $97 ? $102 : $103; - $104 = HEAP32[$$in>>2]|0; - $$in4 = $97 ? $103 : $102; - $105 = HEAP32[$$in4>>2]|0; - $106 = (((($res_comp) + ($k$111<<5)|0)) + 20|0); - $107 = HEAP32[$106>>2]|0; - $108 = (((($res_comp) + ($k$111<<5)|0)) + 12|0); - $109 = HEAP32[$108>>2]|0; - $110 = (FUNCTION_TABLE_iiiiii[$99 & 7]($101,$104,$105,$107,$109)|0); - $111 = (($coutput) + ($k$111<<2)|0); - HEAP32[$111>>2] = $110; - $112 = HEAP32[$92>>2]|0; - $113 = (($112) + 1)|0; - HEAP32[$92>>2] = $113; - $114 = HEAP32[$94>>2]|0; - $115 = ($113|0)<($114|0); - if (!($115)) { - HEAP32[$92>>2] = 0; - $116 = HEAP32[$102>>2]|0; - HEAP32[$103>>2] = $116; - $117 = (((($res_comp) + ($k$111<<5)|0)) + 28|0); - $118 = HEAP32[$117>>2]|0; - $119 = (($118) + 1)|0; - HEAP32[$117>>2] = $119; - $120 = (((((($z)) + 17820|0) + (($k$111*72)|0)|0)) + 32|0); - $121 = HEAP32[$120>>2]|0; - $122 = ($119|0)<($121|0); - if ($122) { - $123 = (((((($z)) + 17820|0) + (($k$111*72)|0)|0)) + 36|0); - $124 = HEAP32[$123>>2]|0; - $125 = HEAP32[$102>>2]|0; - $126 = (($125) + ($124)|0); - HEAP32[$102>>2] = $126; - } - } - $127 = (($k$111) + 1)|0; - $exitcond = ($127|0)==($$|0); - if ($exitcond) { - break; - } else { - $k$111 = $127; - } - } - } - $128 = HEAP32[$coutput>>2]|0; - $129 = HEAP32[$z>>2]|0; - do { - if ($82) { - $130 = ((($129)) + 8|0); - $131 = HEAP32[$130>>2]|0; - $132 = ($131|0)==(3); - if ($132) { - $136 = HEAP32[$83>>2]|0; - $137 = HEAP32[$84>>2]|0; - $138 = HEAP32[$85>>2]|0; - $139 = HEAP32[$129>>2]|0; - FUNCTION_TABLE_viiiiii[$136 & 3]($91,$128,$137,$138,$139,$13); - break; - } - $133 = HEAP32[$z>>2]|0; - $134 = HEAP32[$133>>2]|0; - $135 = ($134|0)==(0); - if (!($135)) { - $i$018 = 0;$out$017 = $91; - while(1) { - $140 = (($128) + ($i$018)|0); - $141 = HEAP8[$140>>0]|0; - $142 = ((($out$017)) + 2|0); - HEAP8[$142>>0] = $141; - $143 = ((($out$017)) + 1|0); - HEAP8[$143>>0] = $141; - HEAP8[$out$017>>0] = $141; - $144 = ((($out$017)) + 3|0); - HEAP8[$144>>0] = -1; - $145 = (($out$017) + ($13)|0); - $146 = (($i$018) + 1)|0; - $147 = HEAP32[$z>>2]|0; - $148 = HEAP32[$147>>2]|0; - $149 = ($146>>>0)<($148>>>0); - if ($149) { - $i$018 = $146;$out$017 = $145; - } else { - break; - } - } - } - } else { - $150 = HEAP32[$129>>2]|0; - $151 = ($150|0)==(0); - if ($86) { - if ($151) { - break; - } else { - $i$115 = 0; - } - while(1) { - $152 = (($128) + ($i$115)|0); - $153 = HEAP8[$152>>0]|0; - $$sum = (($i$115) + ($90))|0; - $154 = (($75) + ($$sum)|0); - HEAP8[$154>>0] = $153; - $155 = (($i$115) + 1)|0; - $156 = HEAP32[$z>>2]|0; - $157 = HEAP32[$156>>2]|0; - $158 = ($155>>>0)<($157>>>0); - if ($158) { - $i$115 = $155; - } else { - break; - } - } - } else { - if ($151) { - break; - } else { - $i$213 = 0;$out$112 = $91; - } - while(1) { - $159 = (($128) + ($i$213)|0); - $160 = HEAP8[$159>>0]|0; - $161 = ((($out$112)) + 1|0); - HEAP8[$out$112>>0] = $160; - $162 = ((($out$112)) + 2|0); - HEAP8[$161>>0] = -1; - $163 = (($i$213) + 1)|0; - $164 = HEAP32[$z>>2]|0; - $165 = HEAP32[$164>>2]|0; - $166 = ($163>>>0)<($165>>>0); - if ($166) { - $i$213 = $163;$out$112 = $162; - } else { - break; - } - } - } - } - } while(0); - $167 = (($j$020) + 1)|0; - $168 = HEAP32[$z>>2]|0; - $169 = ((($168)) + 4|0); - $170 = HEAP32[$169>>2]|0; - $171 = ($167>>>0)<($170>>>0); - if ($171) { - $88 = $168;$j$020 = $167; - } else { - break; - } - } - } - _stbi__cleanup_jpeg($z); - $172 = HEAP32[$z>>2]|0; - $173 = HEAP32[$172>>2]|0; - HEAP32[$out_x>>2] = $173; - $174 = HEAP32[$z>>2]|0; - $175 = ((($174)) + 4|0); - $176 = HEAP32[$175>>2]|0; - HEAP32[$out_y>>2] = $176; - $177 = ($comp|0)==(0|0); - if ($177) { - $$0 = $75; - } else { - $178 = HEAP32[$z>>2]|0; - $179 = ((($178)) + 8|0); - $180 = HEAP32[$179>>2]|0; - HEAP32[$comp>>2] = $180; - $$0 = $75; - } - } - } while(0); - $$1 = $$0; - STACKTOP = sp;return ($$1|0); -} -function _stbi__decode_jpeg_image($j) { - $j = $j|0; - var $$0 = 0, $$sink = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; - var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($j)) + 17868|0); - HEAP32[$0>>2] = 0; - $1 = ((($j)) + 17872|0); - HEAP32[$1>>2] = 0; - $2 = ((($j)) + 17940|0); - HEAP32[$2>>2] = 0; - $3 = ((($j)) + 17944|0); - HEAP32[$3>>2] = 0; - $4 = ((($j)) + 18012|0); - HEAP32[$4>>2] = 0; - $5 = ((($j)) + 18016|0); - HEAP32[$5>>2] = 0; - $6 = ((($j)) + 18084|0); - HEAP32[$6>>2] = 0; - $7 = ((($j)) + 18088|0); - HEAP32[$7>>2] = 0; - $8 = ((($j)) + 18168|0); - HEAP32[$8>>2] = 0; - $9 = (_stbi__decode_jpeg_header($j,0)|0); - $10 = ($9|0)==(0); - if ($10) { - $$0 = 0; - return ($$0|0); - } - $11 = (_stbi__get_marker($j)|0); - $12 = ((($j)) + 18116|0); - $$sink = $11; - L4: while(1) { - $13 = $$sink&255; - L6: do { - switch ($13|0) { - case 217: { - label = 13; - break L4; - break; - } - case 218: { - $14 = (_stbi__process_scan_header($j)|0); - $15 = ($14|0)==(0); - if ($15) { - $$0 = 0; - label = 15; - break L4; - } - $16 = (_stbi__parse_entropy_coded_data($j)|0); - $17 = ($16|0)==(0); - if ($17) { - $$0 = 0; - label = 15; - break L4; - } - $18 = HEAP8[$12>>0]|0; - $19 = ($18<<24>>24)==(-1); - if ($19) { - L11: while(1) { - $20 = HEAP32[$j>>2]|0; - $21 = (_stbi__at_eof($20)|0); - $22 = ($21|0)==(0); - if (!($22)) { - break L6; - } - $23 = HEAP32[$j>>2]|0; - $24 = (_stbi__get8($23)|0); - switch ($24<<24>>24) { - case 0: { - break; - } - case -1: { - break L11; - break; - } - default: { - label = 10; - break L4; - } - } - } - $25 = HEAP32[$j>>2]|0; - $26 = (_stbi__get8($25)|0); - HEAP8[$12>>0] = $26; - } - break; - } - default: { - $27 = (_stbi__process_marker($j,$13)|0); - $28 = ($27|0)==(0); - if ($28) { - $$0 = 0; - label = 15; - break L4; - } - } - } - } while(0); - $29 = (_stbi__get_marker($j)|0); - $$sink = $29; - } - if ((label|0) == 10) { - _stbi__err(19718); - $$0 = 0; - return ($$0|0); - } - else if ((label|0) == 13) { - $30 = ((($j)) + 18124|0); - $31 = HEAP32[$30>>2]|0; - $32 = ($31|0)==(0); - if ($32) { - $$0 = 1; - return ($$0|0); - } - _stbi__jpeg_finish($j); - $$0 = 1; - return ($$0|0); - } - else if ((label|0) == 15) { - return ($$0|0); - } - return (0)|0; -} -function _stbi__cleanup_jpeg($j) { - $j = $j|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; - var $i$01 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[$j>>2]|0; - $1 = ((($0)) + 8|0); - $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)>(0); - if ($3) { - $i$01 = 0; - } else { - return; - } - while(1) { - $4 = (((((($j)) + 17820|0) + (($i$01*72)|0)|0)) + 48|0); - $5 = HEAP32[$4>>2]|0; - $6 = ($5|0)==(0|0); - if (!($6)) { - _free($5); - HEAP32[$4>>2] = 0; - $7 = (((((($j)) + 17820|0) + (($i$01*72)|0)|0)) + 44|0); - HEAP32[$7>>2] = 0; - } - $8 = (((((($j)) + 17820|0) + (($i$01*72)|0)|0)) + 52|0); - $9 = HEAP32[$8>>2]|0; - $10 = ($9|0)==(0|0); - if (!($10)) { - _free($9); - HEAP32[$8>>2] = 0; - $11 = (((((($j)) + 17820|0) + (($i$01*72)|0)|0)) + 60|0); - HEAP32[$11>>2] = 0; - } - $12 = (((((($j)) + 17820|0) + (($i$01*72)|0)|0)) + 56|0); - $13 = HEAP32[$12>>2]|0; - $14 = ($13|0)==(0|0); - if (!($14)) { - _free($13); - HEAP32[$12>>2] = 0; - } - $15 = (($i$01) + 1)|0; - $16 = HEAP32[$j>>2]|0; - $17 = ((($16)) + 8|0); - $18 = HEAP32[$17>>2]|0; - $19 = ($15|0)<($18|0); - if ($19) { - $i$01 = $15; - } else { - break; - } - } - return; -} -function _resample_row_1($out,$in_near,$in_far,$w,$hs) { - $out = $out|0; - $in_near = $in_near|0; - $in_far = $in_far|0; - $w = $w|0; - $hs = $hs|0; - var label = 0, sp = 0; - sp = STACKTOP; - return ($in_near|0); -} -function _stbi__resample_row_v_2($out,$in_near,$in_far,$w,$hs) { - $out = $out|0; - $in_near = $in_near|0; - $in_far = $in_far|0; - $w = $w|0; - $hs = $hs|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $i$01 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ($w|0)>(0); - if ($0) { - $i$01 = 0; - } else { - return ($out|0); - } - while(1) { - $1 = (($in_near) + ($i$01)|0); - $2 = HEAP8[$1>>0]|0; - $3 = $2&255; - $4 = ($3*3)|0; - $5 = (($in_far) + ($i$01)|0); - $6 = HEAP8[$5>>0]|0; - $7 = $6&255; - $8 = (($7) + 2)|0; - $9 = (($8) + ($4))|0; - $10 = $9 >>> 2; - $11 = $10&255; - $12 = (($out) + ($i$01)|0); - HEAP8[$12>>0] = $11; - $13 = (($i$01) + 1)|0; - $exitcond = ($13|0)==($w|0); - if ($exitcond) { - break; - } else { - $i$01 = $13; - } - } - return ($out|0); -} -function _stbi__resample_row_h_2($out,$in_near,$in_far,$w,$hs) { - $out = $out|0; - $in_near = $in_near|0; - $in_far = $in_far|0; - $w = $w|0; - $hs = $hs|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $i$0$lcssa = 0, $i$01 = 0, $phitmp = 0; - var label = 0, sp = 0; - sp = STACKTOP; - $0 = ($w|0)==(1); - $1 = HEAP8[$in_near>>0]|0; - if ($0) { - $2 = ((($out)) + 1|0); - HEAP8[$2>>0] = $1; - HEAP8[$out>>0] = $1; - return ($out|0); - } - HEAP8[$out>>0] = $1; - $3 = HEAP8[$in_near>>0]|0; - $4 = $3&255; - $5 = ($4*3)|0; - $6 = ((($in_near)) + 1|0); - $7 = HEAP8[$6>>0]|0; - $8 = $7&255; - $9 = (($8) + 2)|0; - $10 = (($9) + ($5))|0; - $11 = $10 >>> 2; - $12 = $11&255; - $13 = ((($out)) + 1|0); - HEAP8[$13>>0] = $12; - $14 = (($w) + -1)|0; - $15 = ($14|0)>(1); - if ($15) { - $16 = (($w) + -1)|0; - $i$01 = 1; - while(1) { - $17 = (($in_near) + ($i$01)|0); - $18 = HEAP8[$17>>0]|0; - $19 = $18&255; - $20 = ($19*3)|0; - $21 = (($20) + 2)|0; - $22 = (($i$01) + -1)|0; - $23 = (($in_near) + ($22)|0); - $24 = HEAP8[$23>>0]|0; - $25 = $24&255; - $26 = (($21) + ($25))|0; - $27 = $26 >>> 2; - $28 = $27&255; - $29 = $i$01 << 1; - $30 = (($out) + ($29)|0); - HEAP8[$30>>0] = $28; - $31 = (($i$01) + 1)|0; - $32 = (($in_near) + ($31)|0); - $33 = HEAP8[$32>>0]|0; - $34 = $33&255; - $35 = (($21) + ($34))|0; - $36 = $35 >>> 2; - $37 = $36&255; - $38 = $29 | 1; - $39 = (($out) + ($38)|0); - HEAP8[$39>>0] = $37; - $exitcond = ($31|0)==($16|0); - if ($exitcond) { - break; - } else { - $i$01 = $31; - } - } - $phitmp = $16 << 1; - $i$0$lcssa = $phitmp; - } else { - $i$0$lcssa = 2; - } - $40 = (($w) + -2)|0; - $41 = (($in_near) + ($40)|0); - $42 = HEAP8[$41>>0]|0; - $43 = $42&255; - $44 = ($43*3)|0; - $45 = (($in_near) + ($14)|0); - $46 = HEAP8[$45>>0]|0; - $47 = $46&255; - $48 = (($47) + 2)|0; - $49 = (($48) + ($44))|0; - $50 = $49 >>> 2; - $51 = $50&255; - $52 = (($out) + ($i$0$lcssa)|0); - HEAP8[$52>>0] = $51; - $53 = HEAP8[$45>>0]|0; - $54 = $i$0$lcssa | 1; - $55 = (($out) + ($54)|0); - HEAP8[$55>>0] = $53; - return ($out|0); -} -function _stbi__resample_row_generic($out,$in_near,$in_far,$w,$hs) { - $out = $out|0; - $in_near = $in_near|0; - $in_far = $in_far|0; - $w = $w|0; - $hs = $hs|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $exitcond = 0, $exitcond4 = 0, $i$02 = 0, $j$01 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ($w|0)>(0); - if (!($0)) { - return ($out|0); - } - $1 = ($hs|0)>(0); - $i$02 = 0; - while(1) { - if ($1) { - $2 = (($in_near) + ($i$02)|0); - $3 = Math_imul($i$02, $hs)|0; - $j$01 = 0; - while(1) { - $4 = HEAP8[$2>>0]|0; - $5 = (($j$01) + ($3))|0; - $6 = (($out) + ($5)|0); - HEAP8[$6>>0] = $4; - $7 = (($j$01) + 1)|0; - $exitcond = ($7|0)==($hs|0); - if ($exitcond) { - break; - } else { - $j$01 = $7; - } - } - } - $8 = (($i$02) + 1)|0; - $exitcond4 = ($8|0)==($w|0); - if ($exitcond4) { - break; - } else { - $i$02 = $8; - } - } - return ($out|0); -} -function _stbi__process_scan_header($z) { - $z = $z|0; - var $$0 = 0, $$lcssa = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; - var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0; - var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0; - var $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0; - var $8 = 0, $9 = 0, $i$010 = 0, $or$cond1 = 0, $or$cond2 = 0, $which$0$lcssa = 0, $which$07 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[$z>>2]|0; - $1 = (_stbi__get16be($0)|0); - $2 = HEAP32[$z>>2]|0; - $3 = (_stbi__get8($2)|0); - $4 = $3&255; - $5 = ((($z)) + 18148|0); - HEAP32[$5>>2] = $4; - $6 = (($3) + -1)<<24>>24; - $7 = ($6&255)>(3); - if (!($7)) { - $8 = HEAP32[$z>>2]|0; - $9 = ((($8)) + 8|0); - $10 = HEAP32[$9>>2]|0; - $11 = ($4|0)>($10|0); - if (!($11)) { - $12 = $4 << 1; - $13 = (($12) + 6)|0; - $14 = ($1|0)==($13|0); - if (!($14)) { - _stbi__err(19972); - $$0 = 0; - return ($$0|0); - } - $15 = HEAP32[$5>>2]|0; - $16 = ($15|0)>(0); - $17 = HEAP32[$z>>2]|0; - $18 = (_stbi__get8($17)|0); - $19 = $18&255; - L8: do { - if ($16) { - $30 = $19;$i$010 = 0; - while(1) { - $20 = HEAP32[$z>>2]|0; - $21 = (_stbi__get8($20)|0); - $22 = $21&255; - $23 = HEAP32[$z>>2]|0; - $24 = ((($23)) + 8|0); - $25 = HEAP32[$24>>2]|0; - $26 = ($25|0)>(0); - L11: do { - if ($26) { - $which$07 = 0; - while(1) { - $27 = (((($z)) + 17820|0) + (($which$07*72)|0)|0); - $28 = HEAP32[$27>>2]|0; - $29 = ($28|0)==($30|0); - if ($29) { - $which$0$lcssa = $which$07; - break L11; - } - $31 = (($which$07) + 1)|0; - $32 = HEAP32[$z>>2]|0; - $33 = ((($32)) + 8|0); - $34 = HEAP32[$33>>2]|0; - $35 = ($31|0)<($34|0); - if ($35) { - $which$07 = $31; - } else { - $which$0$lcssa = $31; - break; - } - } - } else { - $which$0$lcssa = 0; - } - } while(0); - $36 = HEAP32[$z>>2]|0; - $37 = ((($36)) + 8|0); - $38 = HEAP32[$37>>2]|0; - $39 = ($which$0$lcssa|0)==($38|0); - if ($39) { - $$0 = 0; - label = 26; - break; - } - $40 = $22 >>> 4; - $41 = (((((($z)) + 17820|0) + (($which$0$lcssa*72)|0)|0)) + 16|0); - HEAP32[$41>>2] = $40; - $42 = ($21&255)>(63); - if ($42) { - label = 12; - break; - } - $43 = $22 & 15; - $44 = (((((($z)) + 17820|0) + (($which$0$lcssa*72)|0)|0)) + 20|0); - HEAP32[$44>>2] = $43; - $45 = ($43>>>0)>(3); - if ($45) { - label = 14; - break; - } - $46 = (((($z)) + 18152|0) + ($i$010<<2)|0); - HEAP32[$46>>2] = $which$0$lcssa; - $47 = (($i$010) + 1)|0; - $48 = HEAP32[$5>>2]|0; - $49 = ($47|0)<($48|0); - $50 = HEAP32[$z>>2]|0; - $51 = (_stbi__get8($50)|0); - $52 = $51&255; - if ($49) { - $30 = $52;$i$010 = $47; - } else { - $$lcssa = $52; - break L8; - } - } - if ((label|0) == 12) { - _stbi__err(19984); - $$0 = 0; - return ($$0|0); - } - else if ((label|0) == 14) { - _stbi__err(19996); - $$0 = 0; - return ($$0|0); - } - else if ((label|0) == 26) { - return ($$0|0); - } - } else { - $$lcssa = $19; - } - } while(0); - $53 = ((($z)) + 18128|0); - HEAP32[$53>>2] = $$lcssa; - $54 = HEAP32[$z>>2]|0; - $55 = (_stbi__get8($54)|0); - $56 = $55&255; - $57 = ((($z)) + 18132|0); - HEAP32[$57>>2] = $56; - $58 = HEAP32[$z>>2]|0; - $59 = (_stbi__get8($58)|0); - $60 = $59&255; - $61 = $60 >>> 4; - $62 = ((($z)) + 18136|0); - HEAP32[$62>>2] = $61; - $63 = $60 & 15; - $64 = ((($z)) + 18140|0); - HEAP32[$64>>2] = $63; - $65 = ((($z)) + 18124|0); - $66 = HEAP32[$65>>2]|0; - $67 = ($66|0)==(0); - $68 = HEAP32[$53>>2]|0; - if (!($67)) { - $69 = ($68|0)>(63); - if (!($69)) { - $70 = HEAP32[$57>>2]|0; - $71 = ($70|0)>(63); - $72 = ($68|0)>($70|0); - $or$cond1 = $71 | $72; - if (!($or$cond1)) { - $73 = HEAP32[$62>>2]|0; - $74 = ($73|0)>(13); - $75 = ($63>>>0)>(13); - $or$cond2 = $75 | $74; - if (!($or$cond2)) { - $$0 = 1; - return ($$0|0); - } - } - } - _stbi__err(20008); - $$0 = 0; - return ($$0|0); - } - $76 = ($68|0)==(0); - if (!($76)) { - _stbi__err(20008); - $$0 = 0; - return ($$0|0); - } - $77 = HEAP32[$62>>2]|0; - $78 = $77 | $63; - $79 = ($78|0)==(0); - if ($79) { - HEAP32[$57>>2] = 63; - $$0 = 1; - return ($$0|0); - } else { - _stbi__err(20008); - $$0 = 0; - return ($$0|0); - } - } - } - _stbi__err(19948); - $$0 = 0; - return ($$0|0); -} -function _stbi__parse_entropy_coded_data($z) { - $z = $z|0; - var $$0 = 0, $$1 = 0, $$2 = 0, $$sum1 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0; - var $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0; - var $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0; - var $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0; - var $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0; - var $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0; - var $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0; - var $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0; - var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0; - var $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0; - var $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0; - var $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $data = 0, $i$023 = 0, $i1$035 = 0, $i13$054 = 0; - var $i6$040 = 0, $j$024 = 0, $j14$057 = 0, $j2$038 = 0, $j7$043 = 0, $k$032 = 0, $k15$051 = 0, $tmp = 0, $tmp5 = 0, $x$026 = 0, $x16$045 = 0, $y$029 = 0, $y17$048 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 128|0; - $data = sp; - _stbi__jpeg_reset($z); - $0 = ((($z)) + 18124|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)==(0); - $3 = ((($z)) + 18148|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)==(1); - if ($2) { - if ($5) { - $6 = ((($z)) + 18152|0); - $7 = HEAP32[$6>>2]|0; - $8 = (((((($z)) + 17820|0) + (($7*72)|0)|0)) + 28|0); - $9 = HEAP32[$8>>2]|0; - $10 = (($9) + 7)|0; - $11 = $10 >> 3; - $12 = (((((($z)) + 17820|0) + (($7*72)|0)|0)) + 32|0); - $13 = HEAP32[$12>>2]|0; - $14 = (($13) + 7)|0; - $15 = $14 >> 3; - $16 = ($15|0)>(0); - L5: do { - if ($16) { - $17 = ($11|0)>(0); - $18 = (((((($z)) + 17820|0) + (($7*72)|0)|0)) + 20|0); - $19 = (((((($z)) + 17820|0) + (($7*72)|0)|0)) + 16|0); - $20 = (((((($z)) + 17820|0) + (($7*72)|0)|0)) + 12|0); - $21 = ((($z)) + 18176|0); - $22 = (((((($z)) + 17820|0) + (($7*72)|0)|0)) + 44|0); - $23 = (((((($z)) + 17820|0) + (($7*72)|0)|0)) + 36|0); - $24 = ((($z)) + 18172|0); - $25 = ((($z)) + 18112|0); - $26 = ((($z)) + 18116|0); - $j$024 = 0; - while(1) { - if ($17) { - $i$023 = 0; - while(1) { - $27 = HEAP32[$18>>2]|0; - $28 = HEAP32[$19>>2]|0; - $29 = (((($z)) + 4|0) + (($28*1680)|0)|0); - $30 = (((($z)) + 6724|0) + (($27*1680)|0)|0); - $31 = (((($z)) + 13700|0) + ($27<<10)|0); - $32 = HEAP32[$20>>2]|0; - $33 = (((($z)) + 13444|0) + ($32<<6)|0); - $34 = (_stbi__jpeg_decode_block($z,$data,$29,$30,$31,$7,$33)|0); - $35 = ($34|0)==(0); - if ($35) { - $$0 = 0; - break L5; - } - $36 = HEAP32[$21>>2]|0; - $37 = HEAP32[$22>>2]|0; - $38 = HEAP32[$23>>2]|0; - $39 = Math_imul($38, $j$024)|0; - $40 = (($39) + ($i$023))|0; - $$sum1 = $40 << 3; - $41 = (($37) + ($$sum1)|0); - FUNCTION_TABLE_viii[$36 & 31]($41,$38,$data); - $42 = HEAP32[$24>>2]|0; - $43 = (($42) + -1)|0; - HEAP32[$24>>2] = $43; - $44 = ($42|0)<(2); - if ($44) { - $45 = HEAP32[$25>>2]|0; - $46 = ($45|0)<(24); - if ($46) { - _stbi__grow_buffer_unsafe($z); - } - $47 = HEAP8[$26>>0]|0; - $48 = $47 & -8; - $49 = ($48<<24>>24)==(-48); - if (!($49)) { - $$0 = 1; - break L5; - } - _stbi__jpeg_reset($z); - } - $50 = (($i$023) + 1)|0; - $51 = ($50|0)<($11|0); - if ($51) { - $i$023 = $50; - } else { - break; - } - } - } - $52 = (($j$024) + 1)|0; - $53 = ($52|0)<($15|0); - if ($53) { - $j$024 = $52; - } else { - $$0 = 1; - break; - } - } - } else { - $$0 = 1; - } - } while(0); - $$2 = $$0; - STACKTOP = sp;return ($$2|0); - } - $54 = ((($z)) + 17808|0); - $55 = HEAP32[$54>>2]|0; - $56 = ($55|0)>(0); - L24: do { - if ($56) { - $57 = ((($z)) + 17804|0); - $58 = ((($z)) + 18172|0); - $59 = ((($z)) + 18112|0); - $60 = ((($z)) + 18116|0); - $61 = ((($z)) + 18176|0); - $j2$038 = 0; - while(1) { - $62 = HEAP32[$57>>2]|0; - $63 = ($62|0)>(0); - if ($63) { - $i1$035 = 0; - while(1) { - $64 = HEAP32[$3>>2]|0; - $65 = ($64|0)>(0); - if ($65) { - $k$032 = 0; - while(1) { - $66 = (((($z)) + 18152|0) + ($k$032<<2)|0); - $67 = HEAP32[$66>>2]|0; - $68 = (((((($z)) + 17820|0) + (($67*72)|0)|0)) + 8|0); - $69 = HEAP32[$68>>2]|0; - $70 = ($69|0)>(0); - if ($70) { - $71 = (((((($z)) + 17820|0) + (($67*72)|0)|0)) + 4|0); - $72 = (((((($z)) + 17820|0) + (($67*72)|0)|0)) + 20|0); - $73 = (((((($z)) + 17820|0) + (($67*72)|0)|0)) + 16|0); - $74 = (((((($z)) + 17820|0) + (($67*72)|0)|0)) + 12|0); - $75 = (((((($z)) + 17820|0) + (($67*72)|0)|0)) + 44|0); - $76 = (((((($z)) + 17820|0) + (($67*72)|0)|0)) + 36|0); - $y$029 = 0; - while(1) { - $77 = HEAP32[$71>>2]|0; - $78 = ($77|0)>(0); - if ($78) { - $92 = $77;$x$026 = 0; - while(1) { - $79 = HEAP32[$68>>2]|0; - $80 = HEAP32[$72>>2]|0; - $81 = HEAP32[$73>>2]|0; - $82 = (((($z)) + 4|0) + (($81*1680)|0)|0); - $83 = (((($z)) + 6724|0) + (($80*1680)|0)|0); - $84 = (((($z)) + 13700|0) + ($80<<10)|0); - $85 = HEAP32[$74>>2]|0; - $86 = (((($z)) + 13444|0) + ($85<<6)|0); - $87 = (_stbi__jpeg_decode_block($z,$data,$82,$83,$84,$67,$86)|0); - $88 = ($87|0)==(0); - if ($88) { - $$1 = 0; - break L24; - } - $89 = Math_imul($79, $j2$038)|0; - $90 = (($89) + ($y$029))|0; - $91 = Math_imul($92, $i1$035)|0; - $93 = (($91) + ($x$026))|0; - $94 = HEAP32[$61>>2]|0; - $95 = HEAP32[$75>>2]|0; - $96 = HEAP32[$76>>2]|0; - $97 = Math_imul($96, $90)|0; - $tmp = (($93) + ($97))|0; - $tmp5 = $tmp << 3; - $98 = (($95) + ($tmp5)|0); - FUNCTION_TABLE_viii[$94 & 31]($98,$96,$data); - $99 = (($x$026) + 1)|0; - $100 = HEAP32[$71>>2]|0; - $101 = ($99|0)<($100|0); - if ($101) { - $92 = $100;$x$026 = $99; - } else { - break; - } - } - } - $102 = (($y$029) + 1)|0; - $103 = HEAP32[$68>>2]|0; - $104 = ($102|0)<($103|0); - if ($104) { - $y$029 = $102; - } else { - break; - } - } - } - $105 = (($k$032) + 1)|0; - $106 = HEAP32[$3>>2]|0; - $107 = ($105|0)<($106|0); - if ($107) { - $k$032 = $105; - } else { - break; - } - } - } - $108 = HEAP32[$58>>2]|0; - $109 = (($108) + -1)|0; - HEAP32[$58>>2] = $109; - $110 = ($108|0)<(2); - if ($110) { - $111 = HEAP32[$59>>2]|0; - $112 = ($111|0)<(24); - if ($112) { - _stbi__grow_buffer_unsafe($z); - } - $113 = HEAP8[$60>>0]|0; - $114 = $113 & -8; - $115 = ($114<<24>>24)==(-48); - if (!($115)) { - $$1 = 1; - break L24; - } - _stbi__jpeg_reset($z); - } - $116 = (($i1$035) + 1)|0; - $117 = HEAP32[$57>>2]|0; - $118 = ($116|0)<($117|0); - if ($118) { - $i1$035 = $116; - } else { - break; - } - } - } - $119 = (($j2$038) + 1)|0; - $120 = HEAP32[$54>>2]|0; - $121 = ($119|0)<($120|0); - if ($121) { - $j2$038 = $119; - } else { - $$1 = 1; - break; - } - } - } else { - $$1 = 1; - } - } while(0); - $$2 = $$1; - STACKTOP = sp;return ($$2|0); - } - if ($5) { - $129 = ((($z)) + 18152|0); - $130 = HEAP32[$129>>2]|0; - $131 = (((((($z)) + 17820|0) + (($130*72)|0)|0)) + 28|0); - $132 = HEAP32[$131>>2]|0; - $133 = (($132) + 7)|0; - $134 = $133 >> 3; - $135 = (((((($z)) + 17820|0) + (($130*72)|0)|0)) + 32|0); - $136 = HEAP32[$135>>2]|0; - $137 = (($136) + 7)|0; - $138 = $137 >> 3; - $139 = ($138|0)>(0); - if (!($139)) { - $$2 = 1; - STACKTOP = sp;return ($$2|0); - } - $140 = ($134|0)>(0); - $141 = (((((($z)) + 17820|0) + (($130*72)|0)|0)) + 60|0); - $142 = (((((($z)) + 17820|0) + (($130*72)|0)|0)) + 64|0); - $143 = ((($z)) + 18128|0); - $144 = (((((($z)) + 17820|0) + (($130*72)|0)|0)) + 16|0); - $145 = ((($z)) + 18172|0); - $146 = ((($z)) + 18112|0); - $147 = ((($z)) + 18116|0); - $148 = (((((($z)) + 17820|0) + (($130*72)|0)|0)) + 20|0); - $j7$043 = 0; - L61: while(1) { - if ($140) { - $i6$040 = 0; - while(1) { - $149 = HEAP32[$141>>2]|0; - $150 = HEAP32[$142>>2]|0; - $151 = Math_imul($150, $j7$043)|0; - $152 = (($151) + ($i6$040))|0; - $153 = $152 << 6; - $154 = (($149) + ($153<<1)|0); - $155 = HEAP32[$143>>2]|0; - $156 = ($155|0)==(0); - if ($156) { - $157 = HEAP32[$144>>2]|0; - $158 = (((($z)) + 4|0) + (($157*1680)|0)|0); - $159 = (_stbi__jpeg_decode_block_prog_dc($z,$154,$158,$130)|0); - $160 = ($159|0)==(0); - if ($160) { - $$2 = 0; - label = 66; - break L61; - } - } else { - $161 = HEAP32[$148>>2]|0; - $162 = (((($z)) + 6724|0) + (($161*1680)|0)|0); - $163 = (((($z)) + 13700|0) + ($161<<10)|0); - $164 = (_stbi__jpeg_decode_block_prog_ac($z,$154,$162,$163)|0); - $165 = ($164|0)==(0); - if ($165) { - $$2 = 0; - label = 66; - break L61; - } - } - $166 = HEAP32[$145>>2]|0; - $167 = (($166) + -1)|0; - HEAP32[$145>>2] = $167; - $168 = ($166|0)<(2); - if ($168) { - $169 = HEAP32[$146>>2]|0; - $170 = ($169|0)<(24); - if ($170) { - _stbi__grow_buffer_unsafe($z); - } - $171 = HEAP8[$147>>0]|0; - $172 = $171 & -8; - $173 = ($172<<24>>24)==(-48); - if (!($173)) { - $$2 = 1; - label = 66; - break L61; - } - _stbi__jpeg_reset($z); - } - $174 = (($i6$040) + 1)|0; - $175 = ($174|0)<($134|0); - if ($175) { - $i6$040 = $174; - } else { - break; - } - } - } - $176 = (($j7$043) + 1)|0; - $177 = ($176|0)<($138|0); - if ($177) { - $j7$043 = $176; - } else { - $$2 = 1; - label = 66; - break; - } - } - if ((label|0) == 66) { - STACKTOP = sp;return ($$2|0); - } - } - $122 = ((($z)) + 17808|0); - $123 = HEAP32[$122>>2]|0; - $124 = ($123|0)>(0); - if (!($124)) { - $$2 = 1; - STACKTOP = sp;return ($$2|0); - } - $125 = ((($z)) + 17804|0); - $126 = ((($z)) + 18172|0); - $127 = ((($z)) + 18112|0); - $128 = ((($z)) + 18116|0); - $j14$057 = 0; - L87: while(1) { - $178 = HEAP32[$125>>2]|0; - $179 = ($178|0)>(0); - if ($179) { - $i13$054 = 0; - while(1) { - $180 = HEAP32[$3>>2]|0; - $181 = ($180|0)>(0); - if ($181) { - $k15$051 = 0; - while(1) { - $182 = (((($z)) + 18152|0) + ($k15$051<<2)|0); - $183 = HEAP32[$182>>2]|0; - $184 = (((((($z)) + 17820|0) + (($183*72)|0)|0)) + 8|0); - $185 = HEAP32[$184>>2]|0; - $186 = ($185|0)>(0); - if ($186) { - $187 = (((((($z)) + 17820|0) + (($183*72)|0)|0)) + 4|0); - $188 = (((((($z)) + 17820|0) + (($183*72)|0)|0)) + 60|0); - $189 = (((((($z)) + 17820|0) + (($183*72)|0)|0)) + 64|0); - $190 = (((((($z)) + 17820|0) + (($183*72)|0)|0)) + 16|0); - $y17$048 = 0; - while(1) { - $191 = HEAP32[$187>>2]|0; - $192 = ($191|0)>(0); - if ($192) { - $197 = $191;$x16$045 = 0; - while(1) { - $196 = Math_imul($197, $i13$054)|0; - $198 = (($196) + ($x16$045))|0; - $199 = HEAP32[$184>>2]|0; - $200 = Math_imul($199, $j14$057)|0; - $201 = (($200) + ($y17$048))|0; - $202 = HEAP32[$188>>2]|0; - $203 = HEAP32[$189>>2]|0; - $204 = Math_imul($201, $203)|0; - $205 = (($198) + ($204))|0; - $206 = $205 << 6; - $207 = (($202) + ($206<<1)|0); - $208 = HEAP32[$190>>2]|0; - $209 = (((($z)) + 4|0) + (($208*1680)|0)|0); - $210 = (_stbi__jpeg_decode_block_prog_dc($z,$207,$209,$183)|0); - $211 = ($210|0)==(0); - $194 = (($x16$045) + 1)|0; - if ($211) { - $$2 = 0; - label = 66; - break L87; - } - $193 = HEAP32[$187>>2]|0; - $195 = ($194|0)<($193|0); - if ($195) { - $197 = $193;$x16$045 = $194; - } else { - break; - } - } - } - $212 = (($y17$048) + 1)|0; - $213 = HEAP32[$184>>2]|0; - $214 = ($212|0)<($213|0); - if ($214) { - $y17$048 = $212; - } else { - break; - } - } - } - $215 = (($k15$051) + 1)|0; - $216 = HEAP32[$3>>2]|0; - $217 = ($215|0)<($216|0); - if ($217) { - $k15$051 = $215; - } else { - break; - } - } - } - $218 = HEAP32[$126>>2]|0; - $219 = (($218) + -1)|0; - HEAP32[$126>>2] = $219; - $220 = ($218|0)<(2); - if ($220) { - $221 = HEAP32[$127>>2]|0; - $222 = ($221|0)<(24); - if ($222) { - _stbi__grow_buffer_unsafe($z); - } - $223 = HEAP8[$128>>0]|0; - $224 = $223 & -8; - $225 = ($224<<24>>24)==(-48); - if (!($225)) { - $$2 = 1; - label = 66; - break L87; - } - _stbi__jpeg_reset($z); - } - $226 = (($i13$054) + 1)|0; - $227 = HEAP32[$125>>2]|0; - $228 = ($226|0)<($227|0); - if ($228) { - $i13$054 = $226; - } else { - break; - } - } - } - $229 = (($j14$057) + 1)|0; - $230 = HEAP32[$122>>2]|0; - $231 = ($229|0)<($230|0); - if ($231) { - $j14$057 = $229; - } else { - $$2 = 1; - label = 66; - break; - } - } - if ((label|0) == 66) { - STACKTOP = sp;return ($$2|0); - } - return (0)|0; -} -function _stbi__jpeg_finish($z) { - $z = $z|0; - var $$sum = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; - var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond8 = 0, $i$02 = 0, $j$03 = 0, $n$06 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($z)) + 18124|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)==(0); - if ($2) { - return; - } - $3 = HEAP32[$z>>2]|0; - $4 = ((($3)) + 8|0); - $5 = HEAP32[$4>>2]|0; - $6 = ($5|0)>(0); - if (!($6)) { - return; - } - $7 = ((($z)) + 18176|0); - $n$06 = 0; - while(1) { - $8 = (((((($z)) + 17820|0) + (($n$06*72)|0)|0)) + 28|0); - $9 = HEAP32[$8>>2]|0; - $10 = (($9) + 7)|0; - $11 = $10 >> 3; - $12 = (((((($z)) + 17820|0) + (($n$06*72)|0)|0)) + 32|0); - $13 = HEAP32[$12>>2]|0; - $14 = (($13) + 7)|0; - $15 = $14 >> 3; - $16 = ($15|0)>(0); - if ($16) { - $17 = ($11|0)>(0); - $18 = (((((($z)) + 17820|0) + (($n$06*72)|0)|0)) + 60|0); - $19 = (((((($z)) + 17820|0) + (($n$06*72)|0)|0)) + 64|0); - $20 = (((((($z)) + 17820|0) + (($n$06*72)|0)|0)) + 12|0); - $21 = (((((($z)) + 17820|0) + (($n$06*72)|0)|0)) + 44|0); - $22 = (((((($z)) + 17820|0) + (($n$06*72)|0)|0)) + 36|0); - $j$03 = 0; - while(1) { - if ($17) { - $i$02 = 0; - while(1) { - $23 = HEAP32[$18>>2]|0; - $24 = HEAP32[$19>>2]|0; - $25 = Math_imul($24, $j$03)|0; - $26 = (($25) + ($i$02))|0; - $27 = $26 << 6; - $28 = (($23) + ($27<<1)|0); - $29 = HEAP32[$20>>2]|0; - $30 = (((($z)) + 13444|0) + ($29<<6)|0); - _stbi__jpeg_dequantize($28,$30); - $31 = HEAP32[$7>>2]|0; - $32 = HEAP32[$21>>2]|0; - $33 = HEAP32[$22>>2]|0; - $34 = Math_imul($33, $j$03)|0; - $35 = (($34) + ($i$02))|0; - $$sum = $35 << 3; - $36 = (($32) + ($$sum)|0); - FUNCTION_TABLE_viii[$31 & 31]($36,$33,$28); - $37 = (($i$02) + 1)|0; - $exitcond = ($37|0)==($11|0); - if ($exitcond) { - break; - } else { - $i$02 = $37; - } - } - } - $38 = (($j$03) + 1)|0; - $exitcond8 = ($38|0)==($15|0); - if ($exitcond8) { - break; - } else { - $j$03 = $38; - } - } - } - $39 = (($n$06) + 1)|0; - $40 = HEAP32[$z>>2]|0; - $41 = ((($40)) + 8|0); - $42 = HEAP32[$41>>2]|0; - $43 = ($39|0)<($42|0); - if ($43) { - $n$06 = $39; - } else { - break; - } - } - return; -} -function _stbi__jpeg_dequantize($data,$dequant) { - $data = $data|0; - $dequant = $dequant|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $exitcond = 0, $i$01 = 0, label = 0, sp = 0; - sp = STACKTOP; - $i$01 = 0; - while(1) { - $0 = (($dequant) + ($i$01)|0); - $1 = HEAP8[$0>>0]|0; - $2 = $1&255; - $3 = (($data) + ($i$01<<1)|0); - $4 = HEAP16[$3>>1]|0; - $5 = $4 << 16 >> 16; - $6 = Math_imul($5, $2)|0; - $7 = $6&65535; - HEAP16[$3>>1] = $7; - $8 = (($i$01) + 1)|0; - $exitcond = ($8|0)==(64); - if ($exitcond) { - break; - } else { - $i$01 = $8; - } - } - return; -} -function _stbi__jpeg_reset($j) { - $j = $j|0; - var $$ = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($j)) + 18112|0); - HEAP32[$0>>2] = 0; - $1 = ((($j)) + 18108|0); - HEAP32[$1>>2] = 0; - $2 = ((($j)) + 18120|0); - HEAP32[$2>>2] = 0; - $3 = ((($j)) + 17988|0); - HEAP32[$3>>2] = 0; - $4 = ((($j)) + 17916|0); - HEAP32[$4>>2] = 0; - $5 = ((($j)) + 17844|0); - HEAP32[$5>>2] = 0; - $6 = ((($j)) + 18116|0); - HEAP8[$6>>0] = -1; - $7 = ((($j)) + 18168|0); - $8 = HEAP32[$7>>2]|0; - $9 = ($8|0)==(0); - $$ = $9 ? 2147483647 : $8; - $10 = ((($j)) + 18172|0); - HEAP32[$10>>2] = $$; - $11 = ((($j)) + 18144|0); - HEAP32[$11>>2] = 0; - return; -} -function _stbi__jpeg_decode_block($j,$data,$hdc,$hac,$fac,$b,$dequant) { - $j = $j|0; - $data = $data|0; - $hdc = $hdc|0; - $hac = $hac|0; - $fac = $fac|0; - $b = $b|0; - $dequant = $dequant|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; - var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0; - var $7 = 0, $8 = 0, $9 = 0, $k$0 = 0, $k$1 = 0, dest = 0, label = 0, sp = 0, stop = 0; - sp = STACKTOP; - $0 = ((($j)) + 18112|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)<(16); - if ($2) { - _stbi__grow_buffer_unsafe($j); - } - $3 = (_stbi__jpeg_huff_decode($j,$hdc)|0); - $4 = ($3|0)<(0); - if ($4) { - _stbi__err(18982); - $$0 = 0; - return ($$0|0); - } - dest=$data; stop=dest+128|0; do { HEAP16[dest>>1]=0|0; dest=dest+2|0; } while ((dest|0) < (stop|0)); - $5 = ($3|0)==(0); - if ($5) { - $10 = 0; - } else { - $6 = (_stbi__extend_receive($j,$3)|0); - $10 = $6; - } - $7 = (((((($j)) + 17820|0) + (($b*72)|0)|0)) + 24|0); - $8 = HEAP32[$7>>2]|0; - $9 = (($8) + ($10))|0; - HEAP32[$7>>2] = $9; - $11 = HEAP8[$dequant>>0]|0; - $12 = $11&255; - $13 = Math_imul($12, $9)|0; - $14 = $13&65535; - HEAP16[$data>>1] = $14; - $15 = ((($j)) + 18108|0); - $k$0 = 1; - L11: while(1) { - $16 = HEAP32[$0>>2]|0; - $17 = ($16|0)<(16); - if ($17) { - _stbi__grow_buffer_unsafe($j); - } - $18 = HEAP32[$15>>2]|0; - $19 = $18 >>> 23; - $20 = (($fac) + ($19<<1)|0); - $21 = HEAP16[$20>>1]|0; - $22 = $21 << 16 >> 16; - $23 = ($21<<16>>16)==(0); - do { - if ($23) { - $42 = (_stbi__jpeg_huff_decode($j,$hac)|0); - $43 = ($42|0)<(0); - if ($43) { - label = 13; - break L11; - } - $44 = $42 & 15; - $45 = ($44|0)==(0); - if (!($45)) { - $48 = $42 >> 4; - $49 = (($48) + ($k$0))|0; - $50 = (($49) + 1)|0; - $51 = (18551 + ($49)|0); - $52 = HEAP8[$51>>0]|0; - $53 = $52&255; - $54 = (_stbi__extend_receive($j,$44)|0); - $55 = (($dequant) + ($53)|0); - $56 = HEAP8[$55>>0]|0; - $57 = $56&255; - $58 = Math_imul($57, $54)|0; - $59 = $58&65535; - $60 = (($data) + ($53<<1)|0); - HEAP16[$60>>1] = $59; - $k$1 = $50; - break; - } - $46 = ($42|0)==(240); - if (!($46)) { - $$0 = 1; - label = 19; - break L11; - } - $47 = (($k$0) + 16)|0; - $k$1 = $47; - } else { - $24 = $22 >>> 4; - $25 = $24 & 15; - $26 = (($25) + ($k$0))|0; - $27 = $22 & 15; - $28 = $18 << $27; - HEAP32[$15>>2] = $28; - $29 = HEAP32[$0>>2]|0; - $30 = (($29) - ($27))|0; - HEAP32[$0>>2] = $30; - $31 = (($26) + 1)|0; - $32 = (18551 + ($26)|0); - $33 = HEAP8[$32>>0]|0; - $34 = $33&255; - $35 = $22 >> 8; - $36 = (($dequant) + ($34)|0); - $37 = HEAP8[$36>>0]|0; - $38 = $37&255; - $39 = Math_imul($38, $35)|0; - $40 = $39&65535; - $41 = (($data) + ($34<<1)|0); - HEAP16[$41>>1] = $40; - $k$1 = $31; - } - } while(0); - $61 = ($k$1|0)<(64); - if ($61) { - $k$0 = $k$1; - } else { - $$0 = 1; - label = 19; - break; - } - } - if ((label|0) == 13) { - _stbi__err(18982); - $$0 = 0; - return ($$0|0); - } - else if ((label|0) == 19) { - return ($$0|0); - } - return (0)|0; -} -function _stbi__grow_buffer_unsafe($j) { - $j = $j|0; - var $$lcssa = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0; - var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($j)) + 18120|0); - $1 = ((($j)) + 18112|0); - $2 = ((($j)) + 18108|0); - while(1) { - $3 = HEAP32[$0>>2]|0; - $4 = ($3|0)==(0); - if ($4) { - $5 = HEAP32[$j>>2]|0; - $6 = (_stbi__get8($5)|0); - $7 = $6&255; - $8 = ($6<<24>>24)==(-1); - if ($8) { - $9 = HEAP32[$j>>2]|0; - $10 = (_stbi__get8($9)|0); - $11 = ($10<<24>>24)==(0); - if ($11) { - $16 = 255; - } else { - $$lcssa = $10; - break; - } - } else { - $16 = $7; - } - } else { - $16 = 0; - } - $13 = HEAP32[$1>>2]|0; - $14 = (24 - ($13))|0; - $15 = $16 << $14; - $17 = HEAP32[$2>>2]|0; - $18 = $15 | $17; - HEAP32[$2>>2] = $18; - $19 = HEAP32[$1>>2]|0; - $20 = (($19) + 8)|0; - HEAP32[$1>>2] = $20; - $21 = ($20|0)<(25); - if (!($21)) { - label = 7; - break; - } - } - if ((label|0) == 7) { - return; - } - $12 = ((($j)) + 18116|0); - HEAP8[$12>>0] = $$lcssa; - HEAP32[$0>>2] = 1; - return; -} -function _stbi__jpeg_decode_block_prog_dc($j,$data,$hdc,$b) { - $j = $j|0; - $data = $data|0; - $hdc = $hdc|0; - $b = $b|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $sext = 0, dest = 0, label = 0, sp = 0, stop = 0; - sp = STACKTOP; - $0 = ((($j)) + 18132|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)==(0); - if (!($2)) { - _stbi__err(19737); - $$0 = 0; - return ($$0|0); - } - $3 = ((($j)) + 18112|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)<(16); - if ($5) { - _stbi__grow_buffer_unsafe($j); - } - $6 = ((($j)) + 18136|0); - $7 = HEAP32[$6>>2]|0; - $8 = ($7|0)==(0); - if ($8) { - dest=$data; stop=dest+128|0; do { HEAP16[dest>>1]=0|0; dest=dest+2|0; } while ((dest|0) < (stop|0)); - $9 = (_stbi__jpeg_huff_decode($j,$hdc)|0); - $10 = ($9|0)==(0); - if ($10) { - $15 = 0; - } else { - $11 = (_stbi__extend_receive($j,$9)|0); - $15 = $11; - } - $12 = (((((($j)) + 17820|0) + (($b*72)|0)|0)) + 24|0); - $13 = HEAP32[$12>>2]|0; - $14 = (($13) + ($15))|0; - HEAP32[$12>>2] = $14; - $16 = ((($j)) + 18140|0); - $17 = HEAP32[$16>>2]|0; - $18 = $14 << $17; - $19 = $18&65535; - HEAP16[$data>>1] = $19; - $$0 = 1; - return ($$0|0); - } else { - $20 = (_stbi__jpeg_get_bit($j)|0); - $21 = ($20|0)==(0); - if ($21) { - $$0 = 1; - return ($$0|0); - } - $22 = ((($j)) + 18140|0); - $23 = HEAP32[$22>>2]|0; - $sext = 65536 << $23; - $24 = $sext >>> 16; - $25 = HEAP16[$data>>1]|0; - $26 = $25&65535; - $27 = (($26) + ($24))|0; - $28 = $27&65535; - HEAP16[$data>>1] = $28; - $$0 = 1; - return ($$0|0); - } - return (0)|0; -} -function _stbi__jpeg_decode_block_prog_ac($j,$data,$hac,$fac) { - $j = $j|0; - $data = $data|0; - $hac = $hac|0; - $fac = $fac|0; - var $$ = 0, $$0 = 0, $$lcssa = 0, $$lcssa63 = 0, $$lcssa63$lcssa = 0, $$lcssa66 = 0, $$lcssa66$lcssa = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0; - var $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0; - var $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0; - var $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0; - var $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0; - var $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0; - var $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0; - var $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $k$0 = 0, $k$1 = 0, $k$223 = 0, $k$3 = 0, $k$4$ph20 = 0, $k$415 = 0, $k$415$lcssa = 0, $k$5 = 0, $r1$0$ph = 0, $r1$0$ph519 = 0, $s2$0$ph = 0, $sext = 0, $sext1 = 0, $sext2 = 0; - var label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($j)) + 18128|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)==(0); - if ($2) { - _stbi__err(19737); - $$0 = 0; - return ($$0|0); - } - $3 = ((($j)) + 18136|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)==(0); - $6 = ((($j)) + 18140|0); - $7 = HEAP32[$6>>2]|0; - if ($5) { - $8 = ((($j)) + 18144|0); - $9 = HEAP32[$8>>2]|0; - $10 = ($9|0)==(0); - if (!($10)) { - $14 = (($9) + -1)|0; - HEAP32[$8>>2] = $14; - $$0 = 1; - return ($$0|0); - } - $11 = ((($j)) + 18112|0); - $12 = ((($j)) + 18108|0); - $13 = ((($j)) + 18132|0); - $k$0 = $1; - L11: while(1) { - $15 = HEAP32[$11>>2]|0; - $16 = ($15|0)<(16); - if ($16) { - _stbi__grow_buffer_unsafe($j); - } - $17 = HEAP32[$12>>2]|0; - $18 = $17 >>> 23; - $19 = (($fac) + ($18<<1)|0); - $20 = HEAP16[$19>>1]|0; - $21 = $20 << 16 >> 16; - $22 = ($20<<16>>16)==(0); - do { - if ($22) { - $38 = (_stbi__jpeg_huff_decode($j,$hac)|0); - $39 = ($38|0)<(0); - if ($39) { - label = 12; - break L11; - } - $40 = $38 & 15; - $41 = $38 >> 4; - $42 = ($40|0)==(0); - if (!($42)) { - $52 = (($41) + ($k$0))|0; - $53 = (($52) + 1)|0; - $54 = (18551 + ($52)|0); - $55 = HEAP8[$54>>0]|0; - $56 = $55&255; - $57 = (_stbi__extend_receive($j,$40)|0); - $58 = $57 << $7; - $59 = $58&65535; - $60 = (($data) + ($56<<1)|0); - HEAP16[$60>>1] = $59; - $k$1 = $53; - break; - } - $43 = ($41|0)<(15); - if ($43) { - $$lcssa = $41; - label = 15; - break L11; - } - $51 = (($k$0) + 16)|0; - $k$1 = $51; - } else { - $23 = $21 >>> 4; - $24 = $23 & 15; - $25 = (($24) + ($k$0))|0; - $26 = $21 & 15; - $27 = $17 << $26; - HEAP32[$12>>2] = $27; - $28 = HEAP32[$11>>2]|0; - $29 = (($28) - ($26))|0; - HEAP32[$11>>2] = $29; - $30 = (($25) + 1)|0; - $31 = (18551 + ($25)|0); - $32 = HEAP8[$31>>0]|0; - $33 = $32&255; - $34 = $21 >> 8; - $35 = $34 << $7; - $36 = $35&65535; - $37 = (($data) + ($33<<1)|0); - HEAP16[$37>>1] = $36; - $k$1 = $30; - } - } while(0); - $61 = HEAP32[$13>>2]|0; - $62 = ($k$1|0)>($61|0); - if ($62) { - $$0 = 1; - label = 53; - break; - } else { - $k$0 = $k$1; - } - } - if ((label|0) == 12) { - _stbi__err(18982); - $$0 = 0; - return ($$0|0); - } - else if ((label|0) == 15) { - $44 = 1 << $$lcssa; - HEAP32[$8>>2] = $44; - $45 = ($$lcssa|0)==(0); - if (!($45)) { - $46 = (_stbi__jpeg_get_bits($j,$$lcssa)|0); - $47 = HEAP32[$8>>2]|0; - $48 = (($47) + ($46))|0; - HEAP32[$8>>2] = $48; - } - $49 = HEAP32[$8>>2]|0; - $50 = (($49) + -1)|0; - HEAP32[$8>>2] = $50; - $$0 = 1; - return ($$0|0); - } - else if ((label|0) == 53) { - return ($$0|0); - } - } - $63 = 1 << $7; - $64 = ((($j)) + 18144|0); - $65 = HEAP32[$64>>2]|0; - $66 = ($65|0)==(0); - if (!($66)) { - $71 = (($65) + -1)|0; - HEAP32[$64>>2] = $71; - $72 = HEAP32[$0>>2]|0; - $73 = ((($j)) + 18132|0); - $74 = HEAP32[$73>>2]|0; - $75 = ($72|0)>($74|0); - if ($75) { - $$0 = 1; - return ($$0|0); - } - $sext2 = $63 << 16; - $76 = $sext2 >> 16; - $k$223 = $72; - while(1) { - $77 = (18551 + ($k$223)|0); - $78 = HEAP8[$77>>0]|0; - $79 = $78&255; - $80 = (($data) + ($79<<1)|0); - $81 = HEAP16[$80>>1]|0; - $82 = ($81<<16>>16)==(0); - do { - if (!($82)) { - $83 = (_stbi__jpeg_get_bit($j)|0); - $84 = ($83|0)==(0); - if (!($84)) { - $85 = HEAP16[$80>>1]|0; - $86 = $85 << 16 >> 16; - $87 = $86 & $76; - $88 = ($87|0)==(0); - if ($88) { - $89 = ($85<<16>>16)>(0); - if ($89) { - $90 = (($86) + ($76))|0; - $91 = $90&65535; - HEAP16[$80>>1] = $91; - break; - } else { - $92 = (($86) - ($76))|0; - $93 = $92&65535; - HEAP16[$80>>1] = $93; - break; - } - } - } - } - } while(0); - $94 = (($k$223) + 1)|0; - $95 = HEAP32[$73>>2]|0; - $96 = ($k$223|0)<($95|0); - if ($96) { - $k$223 = $94; - } else { - $$0 = 1; - break; - } - } - return ($$0|0); - } - $sext = $63 << 16; - $67 = $sext >> 16; - $68 = (0 - ($67))|0; - $69 = ((($j)) + 18132|0); - $sext1 = $63 << 16; - $70 = $sext1 >> 16; - $k$3 = $1; - L52: while(1) { - $97 = (_stbi__jpeg_huff_decode($j,$hac)|0); - $98 = ($97|0)<(0); - if ($98) { - label = 33; - break; - } - $99 = $97 & 15; - $100 = $97 >> 4; - switch ($99|0) { - case 0: { - $101 = ($100|0)<(15); - if ($101) { - $102 = 1 << $100; - $103 = (($102) + -1)|0; - HEAP32[$64>>2] = $103; - $104 = ($100|0)==(0); - if ($104) { - $r1$0$ph = 64;$s2$0$ph = 0; - } else { - $105 = (_stbi__jpeg_get_bits($j,$100)|0); - $106 = HEAP32[$64>>2]|0; - $107 = (($106) + ($105))|0; - HEAP32[$64>>2] = $107; - $r1$0$ph = 64;$s2$0$ph = 0; - } - } else { - $r1$0$ph = $100;$s2$0$ph = 0; - } - break; - } - case 1: { - $108 = (_stbi__jpeg_get_bit($j)|0); - $109 = ($108|0)==(0); - $$ = $109 ? $68 : $67; - $r1$0$ph = $100;$s2$0$ph = $$; - break; - } - default: { - label = 38; - break L52; - } - } - $110 = HEAP32[$69>>2]|0; - $111 = ($k$3|0)>($110|0); - L61: do { - if ($111) { - $k$5 = $k$3; - } else { - $k$4$ph20 = $k$3;$r1$0$ph519 = $r1$0$ph; - while(1) { - $k$415 = $k$4$ph20; - while(1) { - $115 = (($k$415) + 1)|0; - $116 = (18551 + ($k$415)|0); - $117 = HEAP8[$116>>0]|0; - $118 = $117&255; - $119 = (($data) + ($118<<1)|0); - $120 = HEAP16[$119>>1]|0; - $121 = ($120<<16>>16)==(0); - if ($121) { - $$lcssa63 = $115;$$lcssa66 = $119;$k$415$lcssa = $k$415; - break; - } - $122 = (_stbi__jpeg_get_bit($j)|0); - $123 = ($122|0)==(0); - do { - if (!($123)) { - $124 = HEAP16[$119>>1]|0; - $125 = $124 << 16 >> 16; - $126 = $125 & $70; - $127 = ($126|0)==(0); - if ($127) { - $128 = ($124<<16>>16)>(0); - if ($128) { - $129 = (($125) + ($70))|0; - $130 = $129&65535; - HEAP16[$119>>1] = $130; - break; - } else { - $133 = (($125) - ($70))|0; - $134 = $133&65535; - HEAP16[$119>>1] = $134; - break; - } - } - } - } while(0); - $131 = HEAP32[$69>>2]|0; - $132 = ($k$415|0)<($131|0); - if ($132) { - $k$415 = $115; - } else { - $k$5 = $115; - break L61; - } - } - $135 = ($r1$0$ph519|0)==(0); - if ($135) { - $$lcssa63$lcssa = $$lcssa63;$$lcssa66$lcssa = $$lcssa66; - break; - } - $112 = (($r1$0$ph519) + -1)|0; - $113 = HEAP32[$69>>2]|0; - $114 = ($k$415$lcssa|0)<($113|0); - if ($114) { - $k$4$ph20 = $$lcssa63;$r1$0$ph519 = $112; - } else { - $k$5 = $$lcssa63; - break L61; - } - } - $136 = $s2$0$ph&65535; - HEAP16[$$lcssa66$lcssa>>1] = $136; - $k$5 = $$lcssa63$lcssa; - } - } while(0); - $137 = HEAP32[$69>>2]|0; - $138 = ($k$5|0)>($137|0); - if ($138) { - $$0 = 1; - label = 53; - break; - } else { - $k$3 = $k$5; - } - } - if ((label|0) == 33) { - _stbi__err(18982); - $$0 = 0; - return ($$0|0); - } - else if ((label|0) == 38) { - _stbi__err(18982); - $$0 = 0; - return ($$0|0); - } - else if ((label|0) == 53) { - return ($$0|0); - } - return (0)|0; -} -function _stbi__jpeg_huff_decode($j,$h) { - $j = $j|0; - $h = $h|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; - var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $k$0 = 0, $k$0$lcssa = 0; - var label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($j)) + 18112|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)<(16); - if ($2) { - _stbi__grow_buffer_unsafe($j); - } - $3 = ((($j)) + 18108|0); - $4 = HEAP32[$3>>2]|0; - $5 = $4 >>> 23; - $6 = (($h) + ($5)|0); - $7 = HEAP8[$6>>0]|0; - $8 = $7&255; - $9 = ($7<<24>>24)==(-1); - if (!($9)) { - $10 = (((($h)) + 1280|0) + ($8)|0); - $11 = HEAP8[$10>>0]|0; - $12 = $11&255; - $13 = HEAP32[$0>>2]|0; - $14 = ($12|0)>($13|0); - if ($14) { - $$0 = -1; - return ($$0|0); - } - $15 = $4 << $12; - HEAP32[$3>>2] = $15; - $16 = HEAP32[$0>>2]|0; - $17 = (($16) - ($12))|0; - HEAP32[$0>>2] = $17; - $18 = (((($h)) + 1024|0) + ($8)|0); - $19 = HEAP8[$18>>0]|0; - $20 = $19&255; - $$0 = $20; - return ($$0|0); - } - $21 = $4 >>> 16; - $k$0 = 10; - while(1) { - $22 = (((($h)) + 1540|0) + ($k$0<<2)|0); - $23 = HEAP32[$22>>2]|0; - $24 = ($21>>>0)<($23>>>0); - $25 = (($k$0) + 1)|0; - if ($24) { - $k$0$lcssa = $k$0; - break; - } else { - $k$0 = $25; - } - } - $26 = ($k$0$lcssa|0)==(17); - $27 = HEAP32[$0>>2]|0; - if ($26) { - $28 = (($27) + -16)|0; - HEAP32[$0>>2] = $28; - $$0 = -1; - return ($$0|0); - } - $29 = ($27|0)<($k$0$lcssa|0); - if ($29) { - $$0 = -1; - return ($$0|0); - } - $30 = HEAP32[$3>>2]|0; - $31 = (32 - ($k$0$lcssa))|0; - $32 = $30 >>> $31; - $33 = (8504 + ($k$0$lcssa<<2)|0); - $34 = HEAP32[$33>>2]|0; - $35 = $32 & $34; - $36 = (((($h)) + 1612|0) + ($k$0$lcssa<<2)|0); - $37 = HEAP32[$36>>2]|0; - $38 = (($35) + ($37))|0; - $39 = (((($h)) + 1280|0) + ($38)|0); - $40 = HEAP8[$39>>0]|0; - $41 = $40&255; - $42 = (32 - ($41))|0; - $43 = $30 >>> $42; - $44 = (8504 + ($41<<2)|0); - $45 = HEAP32[$44>>2]|0; - $46 = $43 & $45; - $47 = (((($h)) + 512|0) + ($38<<1)|0); - $48 = HEAP16[$47>>1]|0; - $49 = $48&65535; - $50 = ($46|0)==($49|0); - if (!($50)) { - ___assert_fail((19843|0),(18129|0),1656,(19925|0)); - // unreachable; - } - $51 = (($27) - ($k$0$lcssa))|0; - HEAP32[$0>>2] = $51; - $52 = HEAP32[$3>>2]|0; - $53 = $52 << $k$0$lcssa; - HEAP32[$3>>2] = $53; - $54 = (((($h)) + 1024|0) + ($38)|0); - $55 = HEAP8[$54>>0]|0; - $56 = $55&255; - $$0 = $56; - return ($$0|0); -} -function _stbi__jpeg_get_bits($j,$n) { - $j = $j|0; - $n = $n|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($j)) + 18112|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)<($n|0); - if ($2) { - _stbi__grow_buffer_unsafe($j); - } - $3 = ((($j)) + 18108|0); - $4 = HEAP32[$3>>2]|0; - $5 = $4 << $n; - $6 = (32 - ($n))|0; - $7 = $4 >>> $6; - $8 = $5 | $7; - $9 = (8504 + ($n<<2)|0); - $10 = HEAP32[$9>>2]|0; - $11 = $10 ^ -1; - $12 = $8 & $11; - HEAP32[$3>>2] = $12; - $13 = HEAP32[$9>>2]|0; - $14 = $8 & $13; - $15 = HEAP32[$0>>2]|0; - $16 = (($15) - ($n))|0; - HEAP32[$0>>2] = $16; - return ($14|0); -} -function _stbi__extend_receive($j,$n) { - $j = $j|0; - $n = $n|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $3 = 0, $4 = 0, $5 = 0; - var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($j)) + 18112|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)<($n|0); - if ($2) { - _stbi__grow_buffer_unsafe($j); - } - $3 = ((($j)) + 18108|0); - $4 = HEAP32[$3>>2]|0; - $5 = $4 << $n; - $6 = (32 - ($n))|0; - $7 = $4 >>> $6; - $8 = $5 | $7; - $9 = ($n>>>0)<(17); - if ($9) { - $10 = $4 >> 31; - $11 = (8504 + ($n<<2)|0); - $12 = HEAP32[$11>>2]|0; - $13 = $12 ^ -1; - $14 = $8 & $13; - HEAP32[$3>>2] = $14; - $15 = HEAP32[$11>>2]|0; - $16 = $15 & $8; - $17 = HEAP32[$0>>2]|0; - $18 = (($17) - ($n))|0; - HEAP32[$0>>2] = $18; - $19 = (8572 + ($n<<2)|0); - $20 = HEAP32[$19>>2]|0; - $21 = $10 ^ -1; - $22 = $20 & $21; - $23 = (($22) + ($16))|0; - return ($23|0); - } else { - ___assert_fail((19759|0),(18129|0),1677,(19822|0)); - // unreachable; - } - return (0)|0; -} -function _stbi__jpeg_get_bit($j) { - $j = $j|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($j)) + 18112|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)<(1); - if ($2) { - _stbi__grow_buffer_unsafe($j); - } - $3 = ((($j)) + 18108|0); - $4 = HEAP32[$3>>2]|0; - $5 = $4 << 1; - HEAP32[$3>>2] = $5; - $6 = HEAP32[$0>>2]|0; - $7 = (($6) + -1)|0; - HEAP32[$0>>2] = $7; - $8 = $4 & -2147483648; - return ($8|0); -} -function _stbi__idct_block($out,$out_stride,$data) { - $out = $out|0; - $out_stride = $out_stride|0; - $data = $data|0; - var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; - var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; - var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0; - var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0; - var $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0; - var $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0; - var $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0; - var $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $d$04 = 0, $exitcond = 0, $exitcond9 = 0, $i$08 = 0, $i$13 = 0, $o$01 = 0, $v$06 = 0, $v$12 = 0; - var $val = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 256|0; - $val = sp; - $d$04 = $data;$i$08 = 0;$v$06 = $val; - while(1) { - $0 = ((($d$04)) + 16|0); - $1 = HEAP16[$0>>1]|0; - $2 = ($1<<16>>16)==(0); - if ($2) { - $3 = ((($d$04)) + 32|0); - $4 = HEAP16[$3>>1]|0; - $5 = ($4<<16>>16)==(0); - if ($5) { - $6 = ((($d$04)) + 48|0); - $7 = HEAP16[$6>>1]|0; - $8 = ($7<<16>>16)==(0); - if ($8) { - $9 = ((($d$04)) + 64|0); - $10 = HEAP16[$9>>1]|0; - $11 = ($10<<16>>16)==(0); - if ($11) { - $12 = ((($d$04)) + 80|0); - $13 = HEAP16[$12>>1]|0; - $14 = ($13<<16>>16)==(0); - if ($14) { - $15 = ((($d$04)) + 96|0); - $16 = HEAP16[$15>>1]|0; - $17 = ($16<<16>>16)==(0); - if ($17) { - $18 = ((($d$04)) + 112|0); - $19 = HEAP16[$18>>1]|0; - $20 = ($19<<16>>16)==(0); - if ($20) { - $21 = HEAP16[$d$04>>1]|0; - $22 = $21 << 16 >> 16; - $23 = $22 << 2; - $24 = ((($v$06)) + 224|0); - HEAP32[$24>>2] = $23; - $25 = ((($v$06)) + 192|0); - HEAP32[$25>>2] = $23; - $26 = ((($v$06)) + 160|0); - HEAP32[$26>>2] = $23; - $27 = ((($v$06)) + 128|0); - HEAP32[$27>>2] = $23; - $28 = ((($v$06)) + 96|0); - HEAP32[$28>>2] = $23; - $29 = ((($v$06)) + 64|0); - HEAP32[$29>>2] = $23; - $30 = ((($v$06)) + 32|0); - HEAP32[$30>>2] = $23; - HEAP32[$v$06>>2] = $23; - } else { - label = 10; - } - } else { - label = 10; - } - } else { - label = 10; - } - } else { - label = 10; - } - } else { - label = 10; - } - } else { - label = 10; - } - } else { - label = 10; - } - if ((label|0) == 10) { - label = 0; - $31 = ((($d$04)) + 32|0); - $32 = HEAP16[$31>>1]|0; - $33 = $32 << 16 >> 16; - $34 = ((($d$04)) + 96|0); - $35 = HEAP16[$34>>1]|0; - $36 = $35 << 16 >> 16; - $37 = (($36) + ($33))|0; - $38 = ($37*2217)|0; - $39 = Math_imul($36, -7567)|0; - $40 = (($38) + ($39))|0; - $41 = ($33*3135)|0; - $42 = (($38) + ($41))|0; - $43 = HEAP16[$d$04>>1]|0; - $44 = $43 << 16 >> 16; - $45 = ((($d$04)) + 64|0); - $46 = HEAP16[$45>>1]|0; - $47 = $46 << 16 >> 16; - $48 = (($47) + ($44))|0; - $49 = $48 << 12; - $50 = (($44) - ($47))|0; - $51 = $50 << 12; - $52 = (($49) - ($42))|0; - $53 = (($51) - ($40))|0; - $54 = ((($d$04)) + 112|0); - $55 = HEAP16[$54>>1]|0; - $56 = $55 << 16 >> 16; - $57 = ((($d$04)) + 80|0); - $58 = HEAP16[$57>>1]|0; - $59 = $58 << 16 >> 16; - $60 = ((($d$04)) + 48|0); - $61 = HEAP16[$60>>1]|0; - $62 = $61 << 16 >> 16; - $63 = HEAP16[$0>>1]|0; - $64 = $63 << 16 >> 16; - $65 = (($62) + ($56))|0; - $66 = (($64) + ($59))|0; - $67 = (($64) + ($56))|0; - $68 = (($62) + ($59))|0; - $69 = (($66) + ($65))|0; - $70 = ($69*4816)|0; - $71 = ($56*1223)|0; - $72 = ($59*8410)|0; - $73 = ($62*12586)|0; - $74 = ($64*6149)|0; - $75 = Math_imul($67, -3685)|0; - $76 = (($70) + ($75))|0; - $77 = Math_imul($68, -10497)|0; - $78 = (($70) + ($77))|0; - $79 = Math_imul($65, -8034)|0; - $80 = Math_imul($66, -1597)|0; - $81 = (($80) + ($74))|0; - $82 = (($81) + ($76))|0; - $83 = (($79) + ($73))|0; - $84 = (($83) + ($78))|0; - $85 = (($80) + ($72))|0; - $86 = (($85) + ($78))|0; - $87 = (($79) + ($71))|0; - $88 = (($87) + ($76))|0; - $89 = (($42) + 512)|0; - $90 = (($89) + ($49))|0; - $91 = (($40) + 512)|0; - $92 = (($91) + ($51))|0; - $93 = (($53) + 512)|0; - $94 = (($52) + 512)|0; - $95 = (($82) + ($90))|0; - $96 = $95 >> 10; - HEAP32[$v$06>>2] = $96; - $97 = (($90) - ($82))|0; - $98 = $97 >> 10; - $99 = ((($v$06)) + 224|0); - HEAP32[$99>>2] = $98; - $100 = (($84) + ($92))|0; - $101 = $100 >> 10; - $102 = ((($v$06)) + 32|0); - HEAP32[$102>>2] = $101; - $103 = (($92) - ($84))|0; - $104 = $103 >> 10; - $105 = ((($v$06)) + 192|0); - HEAP32[$105>>2] = $104; - $106 = (($86) + ($93))|0; - $107 = $106 >> 10; - $108 = ((($v$06)) + 64|0); - HEAP32[$108>>2] = $107; - $109 = (($93) - ($86))|0; - $110 = $109 >> 10; - $111 = ((($v$06)) + 160|0); - HEAP32[$111>>2] = $110; - $112 = (($88) + ($94))|0; - $113 = $112 >> 10; - $114 = ((($v$06)) + 96|0); - HEAP32[$114>>2] = $113; - $115 = (($94) - ($88))|0; - $116 = $115 >> 10; - $117 = ((($v$06)) + 128|0); - HEAP32[$117>>2] = $116; - } - $118 = (($i$08) + 1)|0; - $119 = ((($d$04)) + 2|0); - $120 = ((($v$06)) + 4|0); - $exitcond9 = ($118|0)==(8); - if ($exitcond9) { - $i$13 = 0;$o$01 = $out;$v$12 = $val; - break; - } else { - $d$04 = $119;$i$08 = $118;$v$06 = $120; - } - } - while(1) { - $121 = ((($v$12)) + 8|0); - $122 = HEAP32[$121>>2]|0; - $123 = ((($v$12)) + 24|0); - $124 = HEAP32[$123>>2]|0; - $125 = (($124) + ($122))|0; - $126 = ($125*2217)|0; - $127 = Math_imul($124, -7567)|0; - $128 = (($126) + ($127))|0; - $129 = ($122*3135)|0; - $130 = (($126) + ($129))|0; - $131 = HEAP32[$v$12>>2]|0; - $132 = ((($v$12)) + 16|0); - $133 = HEAP32[$132>>2]|0; - $134 = (($133) + ($131))|0; - $135 = $134 << 12; - $136 = (($131) - ($133))|0; - $137 = $136 << 12; - $138 = (($135) - ($130))|0; - $139 = (($137) - ($128))|0; - $140 = ((($v$12)) + 28|0); - $141 = HEAP32[$140>>2]|0; - $142 = ((($v$12)) + 20|0); - $143 = HEAP32[$142>>2]|0; - $144 = ((($v$12)) + 12|0); - $145 = HEAP32[$144>>2]|0; - $146 = ((($v$12)) + 4|0); - $147 = HEAP32[$146>>2]|0; - $148 = (($145) + ($141))|0; - $149 = (($147) + ($143))|0; - $150 = (($147) + ($141))|0; - $151 = (($145) + ($143))|0; - $152 = (($149) + ($148))|0; - $153 = ($152*4816)|0; - $154 = ($141*1223)|0; - $155 = ($143*8410)|0; - $156 = ($145*12586)|0; - $157 = ($147*6149)|0; - $158 = Math_imul($150, -3685)|0; - $159 = (($153) + ($158))|0; - $160 = Math_imul($151, -10497)|0; - $161 = (($153) + ($160))|0; - $162 = Math_imul($148, -8034)|0; - $163 = Math_imul($149, -1597)|0; - $164 = (($163) + ($157))|0; - $165 = (($164) + ($159))|0; - $166 = (($162) + ($156))|0; - $167 = (($166) + ($161))|0; - $168 = (($163) + ($155))|0; - $169 = (($168) + ($161))|0; - $170 = (($162) + ($154))|0; - $171 = (($170) + ($159))|0; - $172 = (($130) + 16842752)|0; - $173 = (($172) + ($135))|0; - $174 = (($128) + 16842752)|0; - $175 = (($174) + ($137))|0; - $176 = (($139) + 16842752)|0; - $177 = (($138) + 16842752)|0; - $178 = (($165) + ($173))|0; - $179 = $178 >> 17; - $180 = (_stbi__clamp($179)|0); - HEAP8[$o$01>>0] = $180; - $181 = (($173) - ($165))|0; - $182 = $181 >> 17; - $183 = (_stbi__clamp($182)|0); - $184 = ((($o$01)) + 7|0); - HEAP8[$184>>0] = $183; - $185 = (($167) + ($175))|0; - $186 = $185 >> 17; - $187 = (_stbi__clamp($186)|0); - $188 = ((($o$01)) + 1|0); - HEAP8[$188>>0] = $187; - $189 = (($175) - ($167))|0; - $190 = $189 >> 17; - $191 = (_stbi__clamp($190)|0); - $192 = ((($o$01)) + 6|0); - HEAP8[$192>>0] = $191; - $193 = (($169) + ($176))|0; - $194 = $193 >> 17; - $195 = (_stbi__clamp($194)|0); - $196 = ((($o$01)) + 2|0); - HEAP8[$196>>0] = $195; - $197 = (($176) - ($169))|0; - $198 = $197 >> 17; - $199 = (_stbi__clamp($198)|0); - $200 = ((($o$01)) + 5|0); - HEAP8[$200>>0] = $199; - $201 = (($171) + ($177))|0; - $202 = $201 >> 17; - $203 = (_stbi__clamp($202)|0); - $204 = ((($o$01)) + 3|0); - HEAP8[$204>>0] = $203; - $205 = (($177) - ($171))|0; - $206 = $205 >> 17; - $207 = (_stbi__clamp($206)|0); - $208 = ((($o$01)) + 4|0); - HEAP8[$208>>0] = $207; - $209 = (($i$13) + 1)|0; - $210 = ((($v$12)) + 32|0); - $211 = (($o$01) + ($out_stride)|0); - $exitcond = ($209|0)==(8); - if ($exitcond) { - break; - } else { - $i$13 = $209;$o$01 = $211;$v$12 = $210; - } - } - STACKTOP = sp;return; -} -function _stbi__YCbCr_to_RGB_row($out,$y,$pcb,$pcr,$count,$step) { - $out = $out|0; - $y = $y|0; - $pcb = $pcb|0; - $pcr = $pcr|0; - $count = $count|0; - $step = $step|0; - var $$04 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $5 = 0; - var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $b$0 = 0, $exitcond = 0, $g$0 = 0, $i$03 = 0, $r$0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ($count|0)>(0); - if ($0) { - $$04 = $out;$i$03 = 0; - } else { - return; - } - while(1) { - $1 = (($y) + ($i$03)|0); - $2 = HEAP8[$1>>0]|0; - $3 = $2&255; - $4 = $3 << 20; - $5 = $4 | 524288; - $6 = (($pcr) + ($i$03)|0); - $7 = HEAP8[$6>>0]|0; - $8 = $7&255; - $9 = (($8) + -128)|0; - $10 = (($pcb) + ($i$03)|0); - $11 = HEAP8[$10>>0]|0; - $12 = $11&255; - $13 = (($12) + -128)|0; - $14 = Math_imul($9, 1470208)|0; - $15 = (($14) + ($5))|0; - $16 = Math_imul($9, -748800)|0; - $17 = (($5) + ($16))|0; - $18 = Math_imul($13, -360960)|0; - $19 = $18 & -65536; - $20 = (($19) + ($17))|0; - $21 = Math_imul($13, 1858048)|0; - $22 = (($21) + ($5))|0; - $23 = $15 >> 20; - $24 = $20 >> 20; - $25 = $22 >> 20; - $26 = ($23>>>0)>(255); - $27 = $15 >>> 31; - $28 = (($27) + 255)|0; - $r$0 = $26 ? $28 : $23; - $29 = ($24>>>0)>(255); - $30 = $20 >>> 31; - $31 = (($30) + 255)|0; - $g$0 = $29 ? $31 : $24; - $32 = ($25>>>0)>(255); - $33 = $22 >>> 31; - $34 = (($33) + 255)|0; - $b$0 = $32 ? $34 : $25; - $35 = $r$0&255; - HEAP8[$$04>>0] = $35; - $36 = $g$0&255; - $37 = ((($$04)) + 1|0); - HEAP8[$37>>0] = $36; - $38 = $b$0&255; - $39 = ((($$04)) + 2|0); - HEAP8[$39>>0] = $38; - $40 = ((($$04)) + 3|0); - HEAP8[$40>>0] = -1; - $41 = (($$04) + ($step)|0); - $42 = (($i$03) + 1)|0; - $exitcond = ($42|0)==($count|0); - if ($exitcond) { - break; - } else { - $$04 = $41;$i$03 = $42; - } - } - return; -} -function _stbi__resample_row_hv_2($out,$in_near,$in_far,$w,$hs) { - $out = $out|0; - $in_near = $in_near|0; - $in_far = $in_far|0; - $w = $w|0; - $hs = $hs|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; - var $9 = 0, $exitcond = 0, $i$01 = 0, $t1$0$lcssa = 0, $t1$02 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ($w|0)==(1); - $1 = HEAP8[$in_near>>0]|0; - $2 = $1&255; - $3 = ($2*3)|0; - $4 = HEAP8[$in_far>>0]|0; - $5 = $4&255; - $6 = (($3) + ($5))|0; - $7 = (($6) + 2)|0; - $8 = $7 >>> 2; - $9 = $8&255; - if ($0) { - $10 = ((($out)) + 1|0); - HEAP8[$10>>0] = $9; - HEAP8[$out>>0] = $9; - return ($out|0); - } - HEAP8[$out>>0] = $9; - $11 = ($w|0)>(1); - if ($11) { - $i$01 = 1;$t1$02 = $6; - while(1) { - $12 = (($in_near) + ($i$01)|0); - $13 = HEAP8[$12>>0]|0; - $14 = $13&255; - $15 = ($14*3)|0; - $16 = (($in_far) + ($i$01)|0); - $17 = HEAP8[$16>>0]|0; - $18 = $17&255; - $19 = (($15) + ($18))|0; - $20 = ($t1$02*3)|0; - $21 = (($20) + 8)|0; - $22 = (($21) + ($19))|0; - $23 = $22 >>> 4; - $24 = $23&255; - $25 = $i$01 << 1; - $26 = (($25) + -1)|0; - $27 = (($out) + ($26)|0); - HEAP8[$27>>0] = $24; - $28 = ($19*3)|0; - $29 = (($t1$02) + 8)|0; - $30 = (($29) + ($28))|0; - $31 = $30 >>> 4; - $32 = $31&255; - $33 = (($out) + ($25)|0); - HEAP8[$33>>0] = $32; - $34 = (($i$01) + 1)|0; - $exitcond = ($34|0)==($w|0); - if ($exitcond) { - $t1$0$lcssa = $19; - break; - } else { - $i$01 = $34;$t1$02 = $19; - } - } - } else { - $t1$0$lcssa = $6; - } - $35 = (($t1$0$lcssa) + 2)|0; - $36 = $35 >>> 2; - $37 = $36&255; - $38 = $w << 1; - $39 = (($38) + -1)|0; - $40 = (($out) + ($39)|0); - HEAP8[$40>>0] = $37; - return ($out|0); -} -function _stbi__clamp($x) { - $x = $x|0; - var $$not = 0, $0 = 0, $1 = 0, $2 = 0, $x$lobit = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ($x>>>0)>(255); - if ($0) { - $x$lobit = $x >> 31; - $1 = $x$lobit&255; - $$not = $1 ^ -1; - return ($$not|0); - } else { - $2 = $x&255; - return ($2|0); - } - return (0)|0; -} -function _stbi__stdio_read($user,$data,$size) { - $user = $user|0; - $data = $data|0; - $size = $size|0; - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_fread($data,1,$size,$user)|0); - return ($0|0); -} -function _stbi__stdio_skip($user,$n) { - $user = $user|0; - $n = $n|0; - var label = 0, sp = 0; - sp = STACKTOP; - (_fseek($user,$n,1)|0); - return; -} -function _stbi__stdio_eof($user) { - $user = $user|0; - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_feof($user)|0); - return ($0|0); -} -function _PixelIsMagenta($p) { - $p = $p|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP8[$p>>0]|0; - $1 = ($0<<24>>24)==(-1); - if ($1) { - $2 = ((($p)) + 1|0); - $3 = HEAP8[$2>>0]|0; - $4 = ($3<<24>>24)==(0); - if ($4) { - $5 = ((($p)) + 2|0); - $6 = HEAP8[$5>>0]|0; - $7 = ($6<<24>>24)==(-1); - if ($7) { - $8 = ((($p)) + 3|0); - $9 = HEAP8[$8>>0]|0; - $10 = ($9<<24>>24)==(-1); - $12 = $10; - } else { - $12 = 0; - } - } else { - $12 = 0; - } - } else { - $12 = 0; - } - $11 = $12&1; - return ($11|0); -} -function _stbtt__sort_edges($p,$n) { - $p = $p|0; - $n = $n|0; - var label = 0, sp = 0; - sp = STACKTOP; - _stbtt__sort_edges_quicksort($p,$n); - _stbtt__sort_edges_ins_sort($p,$n); - return; -} -function _stbtt__rasterize_sorted_edges($result,$e,$n,$off_x,$off_y) { - $result = $result|0; - $e = $e|0; - $n = $n|0; - $off_x = $off_x|0; - $off_y = $off_y|0; - var $$019 = 0, $$1$lcssa = 0, $$18 = 0, $$lcssa = 0, $$sum = 0, $$sum1 = 0, $0 = 0, $1 = 0, $10 = 0.0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0.0, $19 = 0.0, $2 = 0, $20 = 0; - var $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0.0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0.0, $33 = 0, $34 = 0, $35 = 0, $36 = 0.0, $37 = 0, $38 = 0, $39 = 0; - var $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0.0, $44 = 0, $45 = 0.0, $46 = 0, $47 = 0, $48 = 0, $49 = 0.0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0.0, $56 = 0, $57 = 0; - var $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0.0, $67 = 0.0, $68 = 0, $69 = 0.0, $7 = 0, $70 = 0.0, $71 = 0.0, $72 = 0.0, $73 = 0, $74 = 0, $75 = 0; - var $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0.0, $88 = 0, $89 = 0.0, $9 = 0.0, $90 = 0.0, $91 = 0, $92 = 0, $93 = 0; - var $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $active$sroa$0 = 0, $fabsf = 0.0, $hh = 0, $i$010 = 0, $j$016 = 0, $scanline$0 = 0, $scanline_data = 0, $step$0$ph7 = 0, $step$113 = 0, $sum$011 = 0.0, $y$018 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 544|0; - $hh = sp + 520|0; - $active$sroa$0 = sp; - $scanline_data = sp + 4|0; - ;HEAP32[$hh>>2]=0|0;HEAP32[$hh+4>>2]=0|0;HEAP32[$hh+8>>2]=0|0; - HEAP32[$active$sroa$0>>2] = 0; - $0 = HEAP32[$result>>2]|0; - $1 = ($0|0)>(64); - if ($1) { - $2 = $0 << 3; - $3 = $2 | 4; - $4 = (_malloc($3)|0); - $scanline$0 = $4; - } else { - $scanline$0 = $scanline_data; - } - $5 = HEAP32[$result>>2]|0; - $6 = ((($result)) + 4|0); - $7 = HEAP32[$6>>2]|0; - $8 = (($7) + ($off_y))|0; - $9 = (+($8|0)); - $10 = $9 + 1.0; - $11 = (((($e) + (($n*20)|0)|0)) + 4|0); - HEAPF32[$11>>2] = $10; - $12 = HEAP32[$6>>2]|0; - $13 = ($12|0)>(0); - L5: do { - if ($13) { - $14 = (($scanline$0) + ($5<<2)|0); - $$sum1 = (($5) + 1)|0; - $15 = (($scanline$0) + ($$sum1<<2)|0); - $16 = ((($result)) + 8|0); - $17 = ((($result)) + 12|0); - $$019 = $e;$j$016 = 0;$y$018 = $off_y; - L7: while(1) { - $18 = (+($y$018|0)); - $19 = $18 + 1.0; - $20 = HEAP32[$result>>2]|0; - $21 = $20 << 2; - _memset(($scanline$0|0),0,($21|0))|0; - $22 = HEAP32[$result>>2]|0; - $23 = $22 << 2; - $24 = (($23) + 4)|0; - _memset(($14|0),0,($24|0))|0; - $25 = HEAP32[$active$sroa$0>>2]|0; - $26 = ($25|0)==(0|0); - L9: do { - if (!($26)) { - $99 = $25;$step$0$ph7 = $active$sroa$0; - while(1) { - $31 = $99; - while(1) { - $30 = ((($31)) + 24|0); - $32 = +HEAPF32[$30>>2]; - $33 = !($32 <= $18); - if ($33) { - $$lcssa = $31; - break; - } - $34 = HEAP32[$31>>2]|0; - HEAP32[$step$0$ph7>>2] = $34; - $35 = ((($31)) + 16|0); - $36 = +HEAPF32[$35>>2]; - $37 = $36 != 0.0; - if (!($37)) { - label = 11; - break L7; - } - HEAPF32[$35>>2] = 0.0; - _stbtt__hheap_free($hh,$31); - $38 = HEAP32[$step$0$ph7>>2]|0; - $39 = ($38|0)==(0|0); - if ($39) { - break L9; - } else { - $31 = $38; - } - } - $40 = HEAP32[$$lcssa>>2]|0; - $41 = ($40|0)==(0|0); - if ($41) { - break; - } else { - $99 = $40;$step$0$ph7 = $$lcssa; - } - } - } - } while(0); - $27 = ((($$019)) + 4|0); - $28 = +HEAPF32[$27>>2]; - $29 = !($28 <= $19); - if ($29) { - $$1$lcssa = $$019; - } else { - $$18 = $$019;$45 = $28; - while(1) { - $42 = ((($$18)) + 12|0); - $43 = +HEAPF32[$42>>2]; - $44 = $45 != $43; - if ($44) { - $46 = (_stbtt__new_active($hh,$$18,$off_x,$18)|0); - $47 = ($46|0)==(0|0); - if (!($47)) { - $48 = ((($46)) + 24|0); - $49 = +HEAPF32[$48>>2]; - $50 = !($49 >= $18); - if ($50) { - label = 17; - break L7; - } - $51 = HEAP32[$active$sroa$0>>2]|0; - HEAP32[$46>>2] = $51; - $52 = $46; - HEAP32[$active$sroa$0>>2] = $52; - } - } - $53 = ((($$18)) + 20|0); - $54 = ((($$18)) + 24|0); - $55 = +HEAPF32[$54>>2]; - $56 = !($55 <= $19); - if ($56) { - $$1$lcssa = $53; - break; - } else { - $$18 = $53;$45 = $55; - } - } - } - $57 = HEAP32[$active$sroa$0>>2]|0; - $58 = ($57|0)==(0); - if (!($58)) { - $59 = $57; - $60 = HEAP32[$result>>2]|0; - _stbtt__fill_active_edges_new($scanline$0,$15,$60,$59,$18); - } - $61 = HEAP32[$result>>2]|0; - $62 = ($61|0)>(0); - if ($62) { - $i$010 = 0;$sum$011 = 0.0; - while(1) { - $$sum = (($i$010) + ($5))|0; - $65 = (($scanline$0) + ($$sum<<2)|0); - $66 = +HEAPF32[$65>>2]; - $67 = $sum$011 + $66; - $68 = (($scanline$0) + ($i$010<<2)|0); - $69 = +HEAPF32[$68>>2]; - $70 = $69 + $67; - $fabsf = (+Math_abs((+$70))); - $71 = $fabsf * 255.0; - $72 = $71 + 0.5; - $73 = (~~(($72))); - $74 = ($73|0)>(255); - $75 = $73&255; - $76 = $74 ? -1 : $75; - $77 = HEAP32[$16>>2]|0; - $78 = Math_imul($77, $j$016)|0; - $79 = (($78) + ($i$010))|0; - $80 = HEAP32[$17>>2]|0; - $81 = (($80) + ($79)|0); - HEAP8[$81>>0] = $76; - $82 = (($i$010) + 1)|0; - $83 = HEAP32[$result>>2]|0; - $84 = ($82|0)<($83|0); - if ($84) { - $i$010 = $82;$sum$011 = $67; - } else { - break; - } - } - } - $63 = HEAP32[$active$sroa$0>>2]|0; - $64 = ($63|0)==(0|0); - if (!($64)) { - $86 = $63;$step$113 = $active$sroa$0; - while(1) { - $85 = ((($86)) + 8|0); - $87 = +HEAPF32[$85>>2]; - $88 = ((($86)) + 4|0); - $89 = +HEAPF32[$88>>2]; - $90 = $87 + $89; - HEAPF32[$88>>2] = $90; - $91 = HEAP32[$step$113>>2]|0; - $92 = HEAP32[$91>>2]|0; - $93 = ($92|0)==(0|0); - if ($93) { - break; - } else { - $86 = $92;$step$113 = $91; - } - } - } - $94 = (($y$018) + 1)|0; - $95 = (($j$016) + 1)|0; - $96 = HEAP32[$6>>2]|0; - $97 = ($95|0)<($96|0); - if ($97) { - $$019 = $$1$lcssa;$j$016 = $95;$y$018 = $94; - } else { - break L5; - } - } - if ((label|0) == 11) { - ___assert_fail((20632|0),(14173|0),2099,(20645|0)); - // unreachable; - } - else if ((label|0) == 17) { - ___assert_fail((20675|0),(14173|0),2112,(20645|0)); - // unreachable; - } - } - } while(0); - _stbtt__hheap_cleanup($hh); - $98 = ($scanline$0|0)==($scanline_data|0); - if ($98) { - STACKTOP = sp;return; - } - _free($scanline$0); - STACKTOP = sp;return; -} -function _stbtt__hheap_free($hh,$p) { - $hh = $hh|0; - $p = $p|0; - var $0 = 0, $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($hh)) + 4|0); - $1 = HEAP32[$0>>2]|0; - HEAP32[$p>>2] = $1; - HEAP32[$0>>2] = $p; - return; -} -function _stbtt__new_active($hh,$e,$off_x,$start_point) { - $hh = $hh|0; - $e = $e|0; - $off_x = $off_x|0; - $start_point = +$start_point; - var $0 = 0, $1 = 0, $10 = 0.0, $11 = 0, $12 = 0, $13 = 0, $14 = 0.0, $15 = 0.0, $16 = 0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $2 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0, $23 = 0.0, $24 = 0.0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0.0, $29 = 0, $3 = 0.0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_stbtt__hheap_alloc($hh)|0); - $1 = ((($e)) + 8|0); - $2 = +HEAPF32[$1>>2]; - $3 = +HEAPF32[$e>>2]; - $4 = $2 - $3; - $5 = ((($e)) + 12|0); - $6 = +HEAPF32[$5>>2]; - $7 = ((($e)) + 4|0); - $8 = +HEAPF32[$7>>2]; - $9 = $6 - $8; - $10 = $4 / $9; - $11 = ($0|0)==(0|0); - if ($11) { - ___assert_fail((20965|0),(14173|0),1700,(20981|0)); - // unreachable; - } else { - $12 = ((($0)) + 8|0); - HEAPF32[$12>>2] = $10; - $13 = $10 != 0.0; - $14 = 1.0 / $10; - $15 = $13 ? $14 : 0.0; - $16 = ((($0)) + 12|0); - HEAPF32[$16>>2] = $15; - $17 = +HEAPF32[$e>>2]; - $18 = +HEAPF32[$7>>2]; - $19 = $start_point - $18; - $20 = $10 * $19; - $21 = $17 + $20; - $22 = ((($0)) + 4|0); - $23 = (+($off_x|0)); - $24 = $21 - $23; - HEAPF32[$22>>2] = $24; - $25 = ((($e)) + 16|0); - $26 = HEAP32[$25>>2]|0; - $27 = ($26|0)!=(0); - $28 = $27 ? 1.0 : -1.0; - $29 = ((($0)) + 16|0); - HEAPF32[$29>>2] = $28; - $30 = HEAP32[$7>>2]|0; - $31 = ((($0)) + 20|0); - HEAP32[$31>>2] = $30; - $32 = HEAP32[$5>>2]|0; - $33 = ((($0)) + 24|0); - HEAP32[$33>>2] = $32; - HEAP32[$0>>2] = 0; - return ($0|0); - } - return (0)|0; -} -function _stbtt__fill_active_edges_new($scanline,$scanline_fill,$len,$e,$y_top) { - $scanline = $scanline|0; - $scanline_fill = $scanline_fill|0; - $len = $len|0; - $e = $e|0; - $y_top = +$y_top; - var $$014 = 0, $$not = 0, $0 = 0.0, $1 = 0, $10 = 0, $100 = 0.0, $101 = 0.0, $102 = 0.0, $103 = 0.0, $104 = 0.0, $105 = 0.0, $106 = 0.0, $107 = 0.0, $108 = 0.0, $109 = 0.0, $11 = 0.0, $110 = 0.0, $111 = 0, $112 = 0.0, $113 = 0.0; - var $114 = 0.0, $115 = 0.0, $116 = 0, $117 = 0.0, $118 = 0.0, $119 = 0.0, $12 = 0, $120 = 0, $121 = 0.0, $122 = 0.0, $123 = 0.0, $124 = 0.0, $125 = 0.0, $126 = 0.0, $127 = 0.0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0; - var $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0.0, $2 = 0.0, $20 = 0, $21 = 0.0, $22 = 0, $23 = 0.0, $24 = 0, $25 = 0, $26 = 0.0; - var $27 = 0.0, $28 = 0.0, $29 = 0.0, $3 = 0, $30 = 0, $31 = 0.0, $32 = 0.0, $33 = 0.0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0.0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0.0, $46 = 0.0, $47 = 0.0, $48 = 0.0, $49 = 0.0, $5 = 0.0, $50 = 0.0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0, $6 = 0, $60 = 0.0, $61 = 0.0, $62 = 0; - var $63 = 0.0, $64 = 0.0, $65 = 0.0, $66 = 0.0, $67 = 0.0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0.0, $72 = 0.0, $73 = 0.0, $74 = 0.0, $75 = 0, $76 = 0.0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0.0, $80 = 0.0; - var $81 = 0.0, $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0, $86 = 0.0, $87 = 0.0, $88 = 0.0, $89 = 0, $9 = 0, $90 = 0.0, $91 = 0.0, $92 = 0, $93 = 0.0, $94 = 0.0, $95 = 0.0, $96 = 0, $97 = 0, $98 = 0, $99 = 0.0; - var $area$0$lcssa = 0.0, $area$012 = 0.0, $brmerge = 0, $dy$0 = 0.0, $exitcond = 0, $exitcond20 = 0, $fabsf = 0.0, $or$cond = 0, $or$cond2 = 0, $or$cond3 = 0, $or$cond4 = 0, $or$cond5 = 0, $or$cond6 = 0, $or$cond7 = 0, $or$cond8 = 0, $or$cond9 = 0, $sy0$0 = 0.0, $sy0$1 = 0.0, $sy1$0 = 0.0, $sy1$1 = 0.0; - var $x01$0 = 0.0, $x2$011 = 0, $x4$010 = 0, $x_bottom$0 = 0.0, $x_bottom$1 = 0.0, $x_top$0 = 0.0, $x_top$1 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $0 = $y_top + 1.0; - $1 = ($e|0)==(0|0); - if ($1) { - return; - } - $2 = (+($len|0)); - $3 = ((($scanline_fill)) + -4|0); - $4 = ((($scanline_fill)) + -4|0); - $5 = (+($len|0)); - $6 = ($len|0)>(0); - $$014 = $e; - L4: while(1) { - $7 = ((($$014)) + 24|0); - $8 = +HEAPF32[$7>>2]; - $9 = $8 >= $y_top; - if (!($9)) { - label = 4; - break; - } - $10 = ((($$014)) + 8|0); - $11 = +HEAPF32[$10>>2]; - $12 = $11 == 0.0; - $13 = ((($$014)) + 4|0); - $14 = +HEAPF32[$13>>2]; - do { - if ($12) { - $15 = $14 < $2; - if ($15) { - $16 = !($14 >= 0.0); - if ($16) { - _stbtt__handle_clipped_edge($3,0,$$014,$14,$y_top,$14,$0); - break; - } else { - $17 = (~~(($14))); - _stbtt__handle_clipped_edge($scanline,$17,$$014,$14,$y_top,$14,$0); - $18 = (($17) + 1)|0; - _stbtt__handle_clipped_edge($4,$18,$$014,$14,$y_top,$14,$0); - break; - } - } - } else { - $19 = $11 + $14; - $20 = ((($$014)) + 12|0); - $21 = +HEAPF32[$20>>2]; - $22 = ((($$014)) + 20|0); - $23 = +HEAPF32[$22>>2]; - $24 = !($23 <= $0); - $$not = $9 ^ 1; - $brmerge = $24 | $$not; - if ($brmerge) { - label = 11; - break L4; - } - $25 = $23 > $y_top; - if ($25) { - $26 = $23 - $y_top; - $27 = $11 * $26; - $28 = $14 + $27; - $sy0$0 = $23;$x_top$0 = $28; - } else { - $sy0$0 = $y_top;$x_top$0 = $14; - } - $29 = +HEAPF32[$7>>2]; - $30 = $29 < $0; - if ($30) { - $31 = $29 - $y_top; - $32 = $11 * $31; - $33 = $14 + $32; - $sy1$0 = $29;$x_bottom$0 = $33; - } else { - $sy1$0 = $0;$x_bottom$0 = $19; - } - $34 = $x_top$0 >= 0.0; - $35 = $x_bottom$0 >= 0.0; - $or$cond = $34 & $35; - if ($or$cond) { - $36 = $x_top$0 < $5; - $37 = $x_bottom$0 < $5; - $or$cond2 = $36 & $37; - if ($or$cond2) { - $38 = (~~(($x_top$0))); - $39 = (~~(($x_bottom$0))); - $40 = ($38|0)==($39|0); - if ($40) { - $41 = $sy1$0 - $sy0$0; - $42 = ($38|0)>(-1); - $43 = ($38|0)<($len|0); - $or$cond3 = $42 & $43; - if (!($or$cond3)) { - label = 21; - break L4; - } - $44 = ((($$014)) + 16|0); - $45 = +HEAPF32[$44>>2]; - $46 = (+($38|0)); - $47 = $x_top$0 - $46; - $48 = $x_bottom$0 - $46; - $49 = $47 + $48; - $50 = $49 * 0.5; - $51 = 1.0 - $50; - $52 = $51 * $45; - $53 = $41 * $52; - $54 = (($scanline) + ($38<<2)|0); - $55 = +HEAPF32[$54>>2]; - $56 = $55 + $53; - HEAPF32[$54>>2] = $56; - $57 = +HEAPF32[$44>>2]; - $58 = $41 * $57; - $59 = (($scanline_fill) + ($38<<2)|0); - $60 = +HEAPF32[$59>>2]; - $61 = $60 + $58; - HEAPF32[$59>>2] = $61; - break; - } - $62 = $x_top$0 > $x_bottom$0; - if ($62) { - $63 = $sy0$0 - $y_top; - $64 = $0 - $63; - $65 = $sy1$0 - $y_top; - $66 = $0 - $65; - $67 = -$21; - $dy$0 = $67;$sy0$1 = $66;$sy1$1 = $64;$x01$0 = $19;$x_bottom$1 = $x_top$0;$x_top$1 = $x_bottom$0; - } else { - $dy$0 = $21;$sy0$1 = $sy0$0;$sy1$1 = $sy1$0;$x01$0 = $14;$x_bottom$1 = $x_bottom$0;$x_top$1 = $x_top$0; - } - $68 = (~~(($x_top$1))); - $69 = (~~(($x_bottom$1))); - $70 = (($68) + 1)|0; - $71 = (+($70|0)); - $72 = $71 - $x01$0; - $73 = $dy$0 * $72; - $74 = $73 + $y_top; - $75 = ((($$014)) + 16|0); - $76 = +HEAPF32[$75>>2]; - $77 = $74 - $sy0$1; - $78 = $76 * $77; - $79 = (+($68|0)); - $80 = $x_top$1 - $79; - $81 = $80 + 1.0; - $82 = $81 * 0.5; - $83 = 1.0 - $82; - $84 = $83 * $78; - $85 = (($scanline) + ($68<<2)|0); - $86 = +HEAPF32[$85>>2]; - $87 = $86 + $84; - HEAPF32[$85>>2] = $87; - $88 = $dy$0 * $76; - $89 = ($69|0)>($70|0); - if ($89) { - $90 = $88 * 0.5; - $area$012 = $78;$x2$011 = $70; - while(1) { - $91 = $90 + $area$012; - $92 = (($scanline) + ($x2$011<<2)|0); - $93 = +HEAPF32[$92>>2]; - $94 = $91 + $93; - HEAPF32[$92>>2] = $94; - $95 = $88 + $area$012; - $96 = (($x2$011) + 1)|0; - $exitcond20 = ($96|0)==($69|0); - if ($exitcond20) { - $area$0$lcssa = $95; - break; - } else { - $area$012 = $95;$x2$011 = $96; - } - } - } else { - $area$0$lcssa = $78; - } - $fabsf = (+Math_abs((+$area$0$lcssa))); - $97 = !($fabsf <= 1.0099999904632568); - if ($97) { - label = 29; - break L4; - } - $98 = (($69) - ($70))|0; - $99 = (+($98|0)); - $100 = $dy$0 * $99; - $101 = $100 + $74; - $102 = (+($69|0)); - $103 = $x_bottom$1 - $102; - $104 = $103 + 0.0; - $105 = $104 * 0.5; - $106 = 1.0 - $105; - $107 = $76 * $106; - $108 = $sy1$1 - $101; - $109 = $107 * $108; - $110 = $109 + $area$0$lcssa; - $111 = (($scanline) + ($69<<2)|0); - $112 = +HEAPF32[$111>>2]; - $113 = $110 + $112; - HEAPF32[$111>>2] = $113; - $114 = $sy1$1 - $sy0$1; - $115 = $114 * $76; - $116 = (($scanline_fill) + ($69<<2)|0); - $117 = +HEAPF32[$116>>2]; - $118 = $115 + $117; - HEAPF32[$116>>2] = $118; - break; - } - } - if ($6) { - $x4$010 = 0; - while(1) { - $119 = (+($x4$010|0)); - $120 = (($x4$010) + 1)|0; - $121 = (+($120|0)); - $122 = $119 - $14; - $123 = $122 / $11; - $124 = $123 + $y_top; - $125 = $121 - $14; - $126 = $125 / $11; - $127 = $126 + $y_top; - $128 = $14 < $119; - $129 = $19 > $121; - $or$cond4 = $128 & $129; - do { - if ($or$cond4) { - _stbtt__handle_clipped_edge($scanline,$x4$010,$$014,$14,$y_top,$119,$124); - _stbtt__handle_clipped_edge($scanline,$x4$010,$$014,$119,$124,$121,$127); - _stbtt__handle_clipped_edge($scanline,$x4$010,$$014,$121,$127,$19,$0); - } else { - $130 = $19 < $119; - $131 = $14 > $121; - $or$cond5 = $130 & $131; - if ($or$cond5) { - _stbtt__handle_clipped_edge($scanline,$x4$010,$$014,$14,$y_top,$121,$127); - _stbtt__handle_clipped_edge($scanline,$x4$010,$$014,$121,$127,$119,$124); - _stbtt__handle_clipped_edge($scanline,$x4$010,$$014,$119,$124,$19,$0); - break; - } - $132 = $19 > $119; - $or$cond6 = $128 & $132; - if ($or$cond6) { - _stbtt__handle_clipped_edge($scanline,$x4$010,$$014,$14,$y_top,$119,$124); - _stbtt__handle_clipped_edge($scanline,$x4$010,$$014,$119,$124,$19,$0); - break; - } - $133 = $14 > $119; - $or$cond7 = $130 & $133; - if ($or$cond7) { - _stbtt__handle_clipped_edge($scanline,$x4$010,$$014,$14,$y_top,$119,$124); - _stbtt__handle_clipped_edge($scanline,$x4$010,$$014,$119,$124,$19,$0); - break; - } - $134 = $14 < $121; - $or$cond8 = $134 & $129; - if ($or$cond8) { - _stbtt__handle_clipped_edge($scanline,$x4$010,$$014,$14,$y_top,$121,$127); - _stbtt__handle_clipped_edge($scanline,$x4$010,$$014,$121,$127,$19,$0); - break; - } - $135 = $19 < $121; - $or$cond9 = $135 & $131; - if ($or$cond9) { - _stbtt__handle_clipped_edge($scanline,$x4$010,$$014,$14,$y_top,$121,$127); - _stbtt__handle_clipped_edge($scanline,$x4$010,$$014,$121,$127,$19,$0); - break; - } else { - _stbtt__handle_clipped_edge($scanline,$x4$010,$$014,$14,$y_top,$19,$0); - break; - } - } - } while(0); - $exitcond = ($120|0)==($len|0); - if ($exitcond) { - break; - } else { - $x4$010 = $120; - } - } - } - } - } while(0); - $136 = HEAP32[$$014>>2]|0; - $137 = ($136|0)==(0|0); - if ($137) { - label = 46; - break; - } else { - $$014 = $136; - } - } - if ((label|0) == 4) { - ___assert_fail((20695|0),(14173|0),1912,(20710|0)); - // unreachable; - } - else if ((label|0) == 11) { - ___assert_fail((20739|0),(14173|0),1931,(20710|0)); - // unreachable; - } - else if ((label|0) == 21) { - ___assert_fail((20775|0),(14173|0),1959,(20710|0)); - // unreachable; - } - else if ((label|0) == 29) { - ___assert_fail((20793|0),(14173|0),1996,(20710|0)); - // unreachable; - } - else if ((label|0) == 46) { - return; - } -} -function _stbtt__hheap_cleanup($hh) { - $hh = $hh|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $c$01 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[$hh>>2]|0; - $1 = ($0|0)==(0|0); - if ($1) { - return; - } else { - $c$01 = $0; - } - while(1) { - $2 = HEAP32[$c$01>>2]|0; - _free($c$01); - $3 = ($2|0)==(0|0); - if ($3) { - break; - } else { - $c$01 = $2; - } - } - return; -} -function _stbtt__handle_clipped_edge($scanline,$x,$e,$x0,$y0,$x1,$y1) { - $scanline = $scanline|0; - $x = $x|0; - $e = $e|0; - $x0 = +$x0; - $y0 = +$y0; - $x1 = +$x1; - $y1 = +$y1; - var $$0 = 0.0, $$01 = 0.0, $$02 = 0.0, $$03 = 0.0, $0 = 0, $1 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0, $18 = 0.0, $19 = 0.0, $2 = 0, $20 = 0.0, $21 = 0.0, $22 = 0.0; - var $23 = 0.0, $24 = 0.0, $25 = 0, $26 = 0, $27 = 0.0, $28 = 0, $29 = 0, $3 = 0.0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0.0; - var $41 = 0.0, $42 = 0.0, $43 = 0, $44 = 0.0, $45 = 0.0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0.0, $50 = 0, $51 = 0, $52 = 0, $53 = 0.0, $54 = 0.0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0.0; - var $6 = 0, $60 = 0.0, $61 = 0.0, $62 = 0, $63 = 0.0, $64 = 0.0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond4 = 0, $or$cond5 = 0, $or$cond6 = 0, $or$cond7 = 0, $or$cond8 = 0, $or$cond9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = $y0 == $y1; - if ($0) { - return; - } - $1 = $y0 < $y1; - if (!($1)) { - ___assert_fail((20813|0),(14173|0),1870,(20821|0)); - // unreachable; - } - $2 = ((($e)) + 20|0); - $3 = +HEAPF32[$2>>2]; - $4 = ((($e)) + 24|0); - $5 = +HEAPF32[$4>>2]; - $6 = !($3 <= $5); - if ($6) { - ___assert_fail((20848|0),(14173|0),1871,(20821|0)); - // unreachable; - } - $7 = $5 < $y0; - $8 = $3 > $y1; - $or$cond = $8 | $7; - if ($or$cond) { - return; - } - $9 = $3 > $y0; - if ($9) { - $10 = $x1 - $x0; - $11 = $3 - $y0; - $12 = $10 * $11; - $13 = $y1 - $y0; - $14 = $12 / $13; - $15 = $14 + $x0; - $$02 = $3;$$03 = $15; - } else { - $$02 = $y0;$$03 = $x0; - } - $16 = +HEAPF32[$4>>2]; - $17 = $16 < $y1; - if ($17) { - $18 = $x1 - $$03; - $19 = $16 - $y1; - $20 = $18 * $19; - $21 = $y1 - $$02; - $22 = $20 / $21; - $23 = $22 + $x1; - $$0 = $16;$$01 = $23; - } else { - $$0 = $y1;$$01 = $x1; - } - $24 = (+($x|0)); - $25 = $$03 == $24; - $26 = (($x) + 1)|0; - $27 = (+($26|0)); - do { - if ($25) { - $28 = !($$01 <= $27); - if ($28) { - ___assert_fail((20863|0),(14173|0),1884,(20821|0)); - // unreachable; - } - } else { - $29 = $$03 == $27; - if ($29) { - $30 = !($$01 >= $24); - if (!($30)) { - break; - } - ___assert_fail((20873|0),(14173|0),1886,(20821|0)); - // unreachable; - } - $31 = !($$03 <= $24); - if (!($31)) { - $32 = !($$01 <= $24); - if (!($32)) { - break; - } - ___assert_fail((20881|0),(14173|0),1888,(20821|0)); - // unreachable; - } - $33 = !($$03 >= $27); - if ($33) { - $35 = !($$01 >= $24); - $36 = !($$01 <= $27); - $or$cond4 = $35 | $36; - if (!($or$cond4)) { - break; - } - ___assert_fail((20899|0),(14173|0),1892,(20821|0)); - // unreachable; - } else { - $34 = !($$01 >= $27); - if (!($34)) { - break; - } - ___assert_fail((20889|0),(14173|0),1890,(20821|0)); - // unreachable; - } - } - } while(0); - $37 = !($$03 <= $24); - $38 = !($$01 <= $24); - $or$cond5 = $37 | $38; - if (!($or$cond5)) { - $39 = ((($e)) + 16|0); - $40 = +HEAPF32[$39>>2]; - $41 = $$0 - $$02; - $42 = $41 * $40; - $43 = (($scanline) + ($x<<2)|0); - $44 = +HEAPF32[$43>>2]; - $45 = $44 + $42; - HEAPF32[$43>>2] = $45; - return; - } - $46 = !($$03 >= $27); - $47 = !($$01 >= $27); - $or$cond6 = $46 | $47; - if (!($or$cond6)) { - return; - } - $48 = !($$03 >= $24); - $49 = !($$03 <= $27); - $or$cond7 = $48 | $49; - $50 = !($$01 >= $24); - $or$cond8 = $or$cond7 | $50; - $51 = !($$01 <= $27); - $or$cond9 = $51 | $or$cond8; - if ($or$cond9) { - ___assert_fail((20920|0),(14173|0),1899,(20821|0)); - // unreachable; - } - $52 = ((($e)) + 16|0); - $53 = +HEAPF32[$52>>2]; - $54 = $$0 - $$02; - $55 = $54 * $53; - $56 = $$03 - $24; - $57 = $$01 - $24; - $58 = $56 + $57; - $59 = $58 * 0.5; - $60 = 1.0 - $59; - $61 = $60 * $55; - $62 = (($scanline) + ($x<<2)|0); - $63 = +HEAPF32[$62>>2]; - $64 = $63 + $61; - HEAPF32[$62>>2] = $64; - return; -} -function _stbtt__hheap_alloc($hh) { - $hh = $hh|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($hh)) + 4|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)==(0|0); - if (!($2)) { - $3 = HEAP32[$1>>2]|0; - HEAP32[$0>>2] = $3; - $$0 = $1; - return ($$0|0); - } - $4 = ((($hh)) + 8|0); - $5 = HEAP32[$4>>2]|0; - $6 = ($5|0)==(0); - do { - if ($6) { - $7 = (_malloc(56004)|0); - $8 = ($7|0)==(0|0); - if ($8) { - $$0 = 0; - return ($$0|0); - } else { - $9 = HEAP32[$hh>>2]|0; - HEAP32[$7>>2] = $9; - HEAP32[$hh>>2] = $7; - HEAP32[$4>>2] = 2000; - break; - } - } - } while(0); - $10 = HEAP32[$4>>2]|0; - $11 = (($10) + -1)|0; - HEAP32[$4>>2] = $11; - $12 = HEAP32[$hh>>2]|0; - $13 = ($11*28)|0; - $14 = (($12) + ($13)|0); - $$0 = $14; - return ($$0|0); -} -function _stbtt__sort_edges_quicksort($p,$n) { - $p = $p|0; - $n = $n|0; - var $$0$ph9 = 0, $$01$ph8 = 0, $$017 = 0, $$lcssa = 0, $$lcssa$lcssa = 0, $$lcssa31 = 0, $0 = 0, $1 = 0, $10 = 0.0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0.0, $17 = 0, $18 = 0.0, $19 = 0, $2 = 0, $20 = 0; - var $21 = 0.0, $22 = 0, $23 = 0.0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0.0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $4 = 0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0; - var $9 = 0, $i$0 = 0, $i$0$lcssa = 0, $i$0$lcssa$lcssa = 0, $i$0$ph = 0, $j$0$ph = 0, $j$1 = 0, $j$1$lcssa = 0, $j$1$lcssa$lcssa = 0, $j$1$lcssa$lcssa$lcssa = 0, $t = 0, $tmp = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $t = sp; - $0 = ($n|0)>(12); - if (!($0)) { - STACKTOP = sp;return; - } - $$0$ph9 = $p;$$01$ph8 = $n; - L4: while(1) { - $1 = ((($$0$ph9)) + 4|0); - $$017 = $$01$ph8; - while(1) { - $2 = $$017 >> 1; - $3 = +HEAPF32[$1>>2]; - $4 = (($$0$ph9) + (($2*20)|0)|0); - $5 = (((($$0$ph9) + (($2*20)|0)|0)) + 4|0); - $6 = +HEAPF32[$5>>2]; - $7 = $3 < $6; - $8 = (($$017) + -1)|0; - $9 = (((($$0$ph9) + (($8*20)|0)|0)) + 4|0); - $10 = +HEAPF32[$9>>2]; - $11 = $6 < $10; - $12 = $7 ^ $11; - if ($12) { - $13 = $3 < $10; - $tmp = $13 ^ $11; - $14 = $tmp ? $8 : 0; - $15 = (($$0$ph9) + (($14*20)|0)|0); - ;HEAP32[$t>>2]=HEAP32[$15>>2]|0;HEAP32[$t+4>>2]=HEAP32[$15+4>>2]|0;HEAP32[$t+8>>2]=HEAP32[$15+8>>2]|0;HEAP32[$t+12>>2]=HEAP32[$15+12>>2]|0;HEAP32[$t+16>>2]=HEAP32[$15+16>>2]|0; - ;HEAP32[$15>>2]=HEAP32[$4>>2]|0;HEAP32[$15+4>>2]=HEAP32[$4+4>>2]|0;HEAP32[$15+8>>2]=HEAP32[$4+8>>2]|0;HEAP32[$15+12>>2]=HEAP32[$4+12>>2]|0;HEAP32[$15+16>>2]=HEAP32[$4+16>>2]|0; - ;HEAP32[$4>>2]=HEAP32[$t>>2]|0;HEAP32[$4+4>>2]=HEAP32[$t+4>>2]|0;HEAP32[$4+8>>2]=HEAP32[$t+8>>2]|0;HEAP32[$4+12>>2]=HEAP32[$t+12>>2]|0;HEAP32[$4+16>>2]=HEAP32[$t+16>>2]|0; - } - ;HEAP32[$t>>2]=HEAP32[$$0$ph9>>2]|0;HEAP32[$t+4>>2]=HEAP32[$$0$ph9+4>>2]|0;HEAP32[$t+8>>2]=HEAP32[$$0$ph9+8>>2]|0;HEAP32[$t+12>>2]=HEAP32[$$0$ph9+12>>2]|0;HEAP32[$t+16>>2]=HEAP32[$$0$ph9+16>>2]|0; - ;HEAP32[$$0$ph9>>2]=HEAP32[$4>>2]|0;HEAP32[$$0$ph9+4>>2]=HEAP32[$4+4>>2]|0;HEAP32[$$0$ph9+8>>2]=HEAP32[$4+8>>2]|0;HEAP32[$$0$ph9+12>>2]=HEAP32[$4+12>>2]|0;HEAP32[$$0$ph9+16>>2]=HEAP32[$4+16>>2]|0; - ;HEAP32[$4>>2]=HEAP32[$t>>2]|0;HEAP32[$4+4>>2]=HEAP32[$t+4>>2]|0;HEAP32[$4+8>>2]=HEAP32[$t+8>>2]|0;HEAP32[$4+12>>2]=HEAP32[$t+12>>2]|0;HEAP32[$4+16>>2]=HEAP32[$t+16>>2]|0; - $i$0$ph = 1;$j$0$ph = $8; - while(1) { - $16 = +HEAPF32[$1>>2]; - $i$0 = $i$0$ph; - while(1) { - $17 = (((($$0$ph9) + (($i$0*20)|0)|0)) + 4|0); - $18 = +HEAPF32[$17>>2]; - $19 = $18 < $16; - $20 = (($i$0) + 1)|0; - if ($19) { - $i$0 = $20; - } else { - $i$0$lcssa = $i$0; - break; - } - } - $21 = +HEAPF32[$1>>2]; - $j$1 = $j$0$ph; - while(1) { - $22 = (((($$0$ph9) + (($j$1*20)|0)|0)) + 4|0); - $23 = +HEAPF32[$22>>2]; - $24 = $21 < $23; - $25 = (($j$1) + -1)|0; - if ($24) { - $j$1 = $25; - } else { - $j$1$lcssa = $j$1; - break; - } - } - $26 = (($$0$ph9) + (($i$0$lcssa*20)|0)|0); - $27 = ($i$0$lcssa|0)<($j$1$lcssa|0); - if (!($27)) { - $$lcssa = $26;$i$0$lcssa$lcssa = $i$0$lcssa;$j$1$lcssa$lcssa = $j$1$lcssa; - break; - } - $28 = (($$0$ph9) + (($j$1$lcssa*20)|0)|0); - ;HEAP32[$t>>2]=HEAP32[$26>>2]|0;HEAP32[$t+4>>2]=HEAP32[$26+4>>2]|0;HEAP32[$t+8>>2]=HEAP32[$26+8>>2]|0;HEAP32[$t+12>>2]=HEAP32[$26+12>>2]|0;HEAP32[$t+16>>2]=HEAP32[$26+16>>2]|0; - ;HEAP32[$26>>2]=HEAP32[$28>>2]|0;HEAP32[$26+4>>2]=HEAP32[$28+4>>2]|0;HEAP32[$26+8>>2]=HEAP32[$28+8>>2]|0;HEAP32[$26+12>>2]=HEAP32[$28+12>>2]|0;HEAP32[$26+16>>2]=HEAP32[$28+16>>2]|0; - ;HEAP32[$28>>2]=HEAP32[$t>>2]|0;HEAP32[$28+4>>2]=HEAP32[$t+4>>2]|0;HEAP32[$28+8>>2]=HEAP32[$t+8>>2]|0;HEAP32[$28+12>>2]=HEAP32[$t+12>>2]|0;HEAP32[$28+16>>2]=HEAP32[$t+16>>2]|0; - $29 = (($i$0$lcssa) + 1)|0; - $30 = (($j$1$lcssa) + -1)|0; - $i$0$ph = $29;$j$0$ph = $30; - } - $31 = (($$017) - ($i$0$lcssa$lcssa))|0; - $32 = ($j$1$lcssa$lcssa|0)<($31|0); - if ($32) { - $$lcssa$lcssa = $$lcssa;$$lcssa31 = $31;$j$1$lcssa$lcssa$lcssa = $j$1$lcssa$lcssa; - break; - } - _stbtt__sort_edges_quicksort($$lcssa,$31); - $34 = ($j$1$lcssa$lcssa|0)>(12); - if ($34) { - $$017 = $j$1$lcssa$lcssa; - } else { - label = 16; - break L4; - } - } - _stbtt__sort_edges_quicksort($$0$ph9,$j$1$lcssa$lcssa$lcssa); - $33 = ($$lcssa31|0)>(12); - if ($33) { - $$0$ph9 = $$lcssa$lcssa;$$01$ph8 = $$lcssa31; - } else { - label = 16; - break; - } - } - if ((label|0) == 16) { - STACKTOP = sp;return; - } -} -function _stbtt__sort_edges_ins_sort($p,$n) { - $p = $p|0; - $n = $n|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0.0, $5 = 0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0, $exitcond = 0, $i$04 = 0; - var $j$0$lcssa = 0, $j$01 = 0, $t$sroa$3 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $t$sroa$3 = sp; - $0 = ($n|0)>(1); - if (!($0)) { - STACKTOP = sp;return; - } - $i$04 = 1; - while(1) { - $1 = (($p) + (($i$04*20)|0)|0); - $2 = HEAP32[$1>>2]|0; - $3 = (((($p) + (($i$04*20)|0)|0)) + 4|0); - $4 = +HEAPF32[$3>>2]; - $5 = (((($p) + (($i$04*20)|0)|0)) + 8|0); - ;HEAP32[$t$sroa$3>>2]=HEAP32[$5>>2]|0;HEAP32[$t$sroa$3+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$t$sroa$3+8>>2]=HEAP32[$5+8>>2]|0; - $j$01 = $i$04; - while(1) { - $6 = (($j$01) + -1)|0; - $7 = (((($p) + (($6*20)|0)|0)) + 4|0); - $8 = +HEAPF32[$7>>2]; - $9 = $4 < $8; - if (!($9)) { - $j$0$lcssa = $j$01; - break; - } - $10 = (($p) + (($6*20)|0)|0); - $11 = (($p) + (($j$01*20)|0)|0); - ;HEAP32[$11>>2]=HEAP32[$10>>2]|0;HEAP32[$11+4>>2]=HEAP32[$10+4>>2]|0;HEAP32[$11+8>>2]=HEAP32[$10+8>>2]|0;HEAP32[$11+12>>2]=HEAP32[$10+12>>2]|0;HEAP32[$11+16>>2]=HEAP32[$10+16>>2]|0; - $12 = ($j$01|0)>(1); - if ($12) { - $j$01 = $6; - } else { - $j$0$lcssa = $6; - break; - } - } - $13 = ($i$04|0)==($j$0$lcssa|0); - if (!($13)) { - $14 = (($p) + (($j$0$lcssa*20)|0)|0); - HEAP32[$14>>2] = $2; - $15 = (((($p) + (($j$0$lcssa*20)|0)|0)) + 4|0); - HEAPF32[$15>>2] = $4; - $16 = (((($p) + (($j$0$lcssa*20)|0)|0)) + 8|0); - ;HEAP32[$16>>2]=HEAP32[$t$sroa$3>>2]|0;HEAP32[$16+4>>2]=HEAP32[$t$sroa$3+4>>2]|0;HEAP32[$16+8>>2]=HEAP32[$t$sroa$3+8>>2]|0; - } - $17 = (($i$04) + 1)|0; - $exitcond = ($17|0)==($n|0); - if ($exitcond) { - break; - } else { - $i$04 = $17; - } - } - STACKTOP = sp;return; -} -function _stbtt__add_point($points,$n,$x,$y) { - $points = $points|0; - $n = $n|0; - $x = +$x; - $y = +$y; - var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ($points|0)==(0|0); - if ($0) { - return; - } - $1 = (($points) + ($n<<3)|0); - HEAPF32[$1>>2] = $x; - $2 = (((($points) + ($n<<3)|0)) + 4|0); - HEAPF32[$2>>2] = $y; - return; -} -function _stbtt__tesselate_curve($points,$num_points,$x0,$y0,$x1,$y1,$x2,$y2,$objspace_flatness_squared,$n) { - $points = $points|0; - $num_points = $num_points|0; - $x0 = +$x0; - $y0 = +$y0; - $x1 = +$x1; - $y1 = +$y1; - $x2 = +$x2; - $y2 = +$y2; - $objspace_flatness_squared = +$objspace_flatness_squared; - $n = $n|0; - var $0 = 0.0, $1 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $2 = 0.0, $20 = 0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0, $26 = 0.0; - var $27 = 0.0, $28 = 0.0, $29 = 0.0, $3 = 0.0, $30 = 0.0, $31 = 0.0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0.0, $36 = 0.0, $37 = 0.0, $38 = 0.0, $39 = 0.0, $4 = 0.0, $40 = 0.0, $41 = 0.0, $42 = 0.0, $43 = 0.0, $44 = 0.0; - var $45 = 0.0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0.0, $n$tr5 = 0, $x0$tr1 = 0.0, $x0$tr1$phi = 0.0, $x1$tr3 = 0.0, $y0$tr2 = 0.0, $y0$tr2$phi = 0.0, $y1$tr4 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $0 = $x1 * 2.0; - $1 = $0 + $x0; - $2 = $1 + $x2; - $3 = $2 * 0.25; - $4 = $y1 * 2.0; - $5 = $4 + $y0; - $6 = $5 + $y2; - $7 = $6 * 0.25; - $8 = ($n|0)>(16); - if ($8) { - return; - } - $9 = $y2 + $y0; - $10 = $9 * 0.5; - $11 = $10 - $7; - $12 = $x2 + $x0; - $13 = $12 * 0.5; - $14 = $13 - $3; - $16 = $14;$18 = $11;$26 = $3;$27 = $7;$n$tr5 = $n;$x0$tr1 = $x0;$x1$tr3 = $x1;$y0$tr2 = $y0;$y1$tr4 = $y1; - while(1) { - $15 = $16 * $16; - $17 = $18 * $18; - $19 = $15 + $17; - $20 = $19 > $objspace_flatness_squared; - if (!($20)) { - break; - } - $21 = $x0$tr1 + $x1$tr3; - $22 = $21 * 0.5; - $23 = $y0$tr2 + $y1$tr4; - $24 = $23 * 0.5; - $25 = (($n$tr5) + 1)|0; - _stbtt__tesselate_curve($points,$num_points,$x0$tr1,$y0$tr2,$22,$24,$26,$27,$objspace_flatness_squared,$25); - $28 = $x1$tr3 + $x2; - $29 = $28 * 0.5; - $30 = $y1$tr4 + $y2; - $31 = $30 * 0.5; - $32 = $29 * 2.0; - $33 = $26 + $32; - $34 = $33 + $x2; - $35 = $34 * 0.25; - $36 = $31 * 2.0; - $37 = $27 + $36; - $38 = $37 + $y2; - $39 = $38 * 0.25; - $40 = $26 + $x2; - $41 = $40 * 0.5; - $42 = $41 - $35; - $43 = $27 + $y2; - $44 = $43 * 0.5; - $45 = $44 - $39; - $46 = ($n$tr5|0)>(15); - if ($46) { - label = 6; - break; - } else { - $y0$tr2$phi = $27;$x0$tr1$phi = $26;$16 = $42;$18 = $45;$26 = $35;$27 = $39;$n$tr5 = $25;$x1$tr3 = $29;$y1$tr4 = $31;$y0$tr2 = $y0$tr2$phi;$x0$tr1 = $x0$tr1$phi; - } - } - if ((label|0) == 6) { - return; - } - $47 = HEAP32[$num_points>>2]|0; - _stbtt__add_point($points,$47,$x2,$y2); - $48 = HEAP32[$num_points>>2]|0; - $49 = (($48) + 1)|0; - HEAP32[$num_points>>2] = $49; - return; -} -function _ErrorCallback($error,$description) { - $error = $error|0; - $description = $description|0; - var $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $vararg_buffer = sp; - HEAP32[$vararg_buffer>>2] = $error; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = $description; - _TraceLog(2,23792,$vararg_buffer); - STACKTOP = sp;return; -} -function _SetupFramebufferSize($displayWidth,$displayHeight) { - $displayWidth = $displayWidth|0; - $displayHeight = $displayHeight|0; - var $0 = 0, $1 = 0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0.0, $18 = 0.0, $19 = 0, $2 = 0, $20 = 0, $21 = 0.0, $22 = 0, $23 = 0, $24 = 0, $25 = 0.0, $26 = 0; - var $27 = 0.0, $28 = 0.0, $29 = 0, $3 = 0, $30 = 0, $31 = 0.0, $32 = 0.0, $33 = 0.0, $34 = 0, $35 = 0.0, $36 = 0, $37 = 0.0, $38 = 0.0, $39 = 0, $4 = 0, $40 = 0, $41 = 0.0, $42 = 0.0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0.0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, $or$cond = 0, $roundf = 0.0, $roundf1 = 0.0, $roundf2 = 0.0, $roundf3 = 0.0, $storemerge = 0, $vararg_buffer = 0, $vararg_buffer4 = 0; - var $vararg_buffer8 = 0, $vararg_ptr1 = 0, $vararg_ptr11 = 0, $vararg_ptr12 = 0, $vararg_ptr13 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, $vararg_ptr7 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 112|0; - $vararg_buffer8 = sp + 24|0; - $vararg_buffer4 = sp + 16|0; - $vararg_buffer = sp; - $0 = sp + 40|0; - $1 = HEAP32[816>>2]|0; - $2 = ($1|0)>($displayWidth|0); - if (!($2)) { - $3 = HEAP32[820>>2]|0; - $4 = ($3|0)>($displayHeight|0); - if (!($4)) { - $29 = ($1|0)<($displayWidth|0); - $30 = ($3|0)<($displayHeight|0); - $or$cond = $29 | $30; - if (!($or$cond)) { - HEAP32[996>>2] = $1; - $51 = HEAP32[820>>2]|0; - HEAP32[1000>>2] = $51; - HEAP32[988>>2] = 0; - HEAP32[992>>2] = 0; - STACKTOP = sp;return; - } - HEAP32[$vararg_buffer8>>2] = $1; - $vararg_ptr11 = ((($vararg_buffer8)) + 4|0); - HEAP32[$vararg_ptr11>>2] = $3; - $vararg_ptr12 = ((($vararg_buffer8)) + 8|0); - HEAP32[$vararg_ptr12>>2] = $displayWidth; - $vararg_ptr13 = ((($vararg_buffer8)) + 12|0); - HEAP32[$vararg_ptr13>>2] = $displayHeight; - _TraceLog(0,23726,$vararg_buffer8); - $31 = (+($displayWidth|0)); - $32 = (+($displayHeight|0)); - $33 = $31 / $32; - $34 = HEAP32[816>>2]|0; - $35 = (+($34|0)); - $36 = HEAP32[820>>2]|0; - $37 = (+($36|0)); - $38 = $35 / $37; - $39 = !($33 <= $38); - if ($39) { - $46 = $33 * $37; - $roundf = (+_roundf($46)); - $47 = (~~(($roundf))); - HEAP32[996>>2] = $47; - $48 = HEAP32[820>>2]|0; - HEAP32[1000>>2] = $48; - $49 = HEAP32[816>>2]|0; - $50 = (($47) - ($49))|0; - HEAP32[988>>2] = $50; - HEAP32[992>>2] = 0; - STACKTOP = sp;return; - } else { - HEAP32[996>>2] = $34; - $40 = HEAP32[816>>2]|0; - $41 = (+($40|0)); - $42 = $41 / $33; - $roundf1 = (+_roundf($42)); - $43 = (~~(($roundf1))); - HEAP32[1000>>2] = $43; - HEAP32[988>>2] = 0; - $44 = HEAP32[820>>2]|0; - $45 = (($43) - ($44))|0; - HEAP32[992>>2] = $45; - STACKTOP = sp;return; - } - } - } - $5 = HEAP32[816>>2]|0; - $6 = HEAP32[820>>2]|0; - HEAP32[$vararg_buffer>>2] = $5; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = $6; - $vararg_ptr2 = ((($vararg_buffer)) + 8|0); - HEAP32[$vararg_ptr2>>2] = $displayWidth; - $vararg_ptr3 = ((($vararg_buffer)) + 12|0); - HEAP32[$vararg_ptr3>>2] = $displayHeight; - _TraceLog(2,23583,$vararg_buffer); - $7 = (+($displayWidth|0)); - $8 = HEAP32[816>>2]|0; - $9 = (+($8|0)); - $10 = $7 / $9; - $11 = (+($displayHeight|0)); - $12 = HEAP32[820>>2]|0; - $13 = (+($12|0)); - $14 = $11 / $13; - $15 = !($10 <= $14); - if ($15) { - $21 = $9 * $14; - $roundf2 = (+_roundf($21)); - $22 = (~~(($roundf2))); - HEAP32[996>>2] = $22; - HEAP32[1000>>2] = $displayHeight; - $23 = (($displayWidth) - ($22))|0; - HEAP32[988>>2] = $23; - $storemerge = 0; - } else { - HEAP32[996>>2] = $displayWidth; - $16 = HEAP32[820>>2]|0; - $17 = (+($16|0)); - $18 = $10 * $17; - $roundf3 = (+_roundf($18)); - $19 = (~~(($roundf3))); - HEAP32[1000>>2] = $19; - HEAP32[988>>2] = 0; - $20 = (($displayHeight) - ($19))|0; - $storemerge = $20; - } - HEAP32[992>>2] = $storemerge; - $24 = HEAP32[996>>2]|0; - $25 = (+($24|0)); - $26 = HEAP32[816>>2]|0; - $27 = (+($26|0)); - $28 = $25 / $27; - _MatrixScale($0,$28,$28,$28); - dest=840; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - HEAP32[996>>2] = $displayWidth; - HEAP32[1000>>2] = $displayHeight; - HEAP32[$vararg_buffer4>>2] = $displayWidth; - $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); - HEAP32[$vararg_ptr7>>2] = $displayHeight; - _TraceLog(2,23661,$vararg_buffer4); - STACKTOP = sp;return; -} -function _WindowSizeCallback($window,$width,$height) { - $window = $window|0; - $width = $width|0; - $height = $height|0; - var $$byval_copy = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $$byval_copy = sp + 4|0; - $0 = sp; - $1 = HEAP32[988>>2]|0; - $2 = HEAP32[992>>2]|0; - $3 = HEAP32[996>>2]|0; - $4 = HEAP32[1000>>2]|0; - _rlglInitGraphics($1,$2,$3,$4); - HEAP8[$0>>0] = -11; - $5 = ((($0)) + 1|0); - HEAP8[$5>>0] = -11; - $6 = ((($0)) + 2|0); - HEAP8[$6>>0] = -11; - $7 = ((($0)) + 3|0); - HEAP8[$7>>0] = -1; - ;HEAP8[$$byval_copy>>0]=HEAP8[$0>>0]|0;HEAP8[$$byval_copy+1>>0]=HEAP8[$0+1>>0]|0;HEAP8[$$byval_copy+2>>0]=HEAP8[$0+2>>0]|0;HEAP8[$$byval_copy+3>>0]=HEAP8[$0+3>>0]|0; - _ClearBackground($$byval_copy); - STACKTOP = sp;return; -} -function _CursorEnterCallback($window,$enter) { - $window = $window|0; - $enter = $enter|0; - var label = 0, sp = 0; - sp = STACKTOP; - return; -} -function _KeyCallback($window,$key,$scancode,$action,$mods) { - $window = $window|0; - $key = $key|0; - $scancode = $scancode|0; - $action = $action|0; - $mods = $mods|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $or$cond = 0, $or$cond3 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[836>>2]|0; - $1 = ($0|0)==($key|0); - $2 = ($action|0)==(1); - $or$cond = $2 & $1; - if ($or$cond) { - _glfwSetWindowShouldClose(($window|0),1); - } else { - $3 = $action&255; - $4 = (10888 + ($key)|0); - HEAP8[$4>>0] = $3; - } - $5 = ($key|0)==(259); - $or$cond3 = $5 & $2; - if (!($or$cond3)) { - return; - } - HEAP32[972>>2] = 3; - return; -} -function _MouseButtonCallback($window,$button,$action,$mods) { - $window = $window|0; - $button = $button|0; - $action = $action|0; - $mods = $mods|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0, $25 = 0.0, $26 = 0; - var $27 = 0.0, $28 = 0.0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $gestureEvent = 0, $gestureEvent$byval_copy = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 80|0; - $gestureEvent$byval_copy = sp + 40|0; - $gestureEvent = sp + 8|0; - $0 = sp; - $1 = $action&255; - $2 = (11912 + ($button)|0); - HEAP8[$2>>0] = $1; - $3 = (_IsMouseButtonPressed(0)|0); - $4 = ($3|0)==(0); - if ($4) { - $5 = (_IsMouseButtonReleased(0)|0); - $6 = ($5|0)==(0); - if (!($6)) { - HEAP32[$gestureEvent>>2] = 0; - } - } else { - HEAP32[$gestureEvent>>2] = 1; - } - $7 = ((($gestureEvent)) + 8|0); - HEAP32[$7>>2] = 0; - $8 = ((($gestureEvent)) + 4|0); - HEAP32[$8>>2] = 1; - $9 = ((($gestureEvent)) + 16|0); - _GetMousePosition($0); - $10 = $0; - $11 = $10; - $12 = HEAP32[$11>>2]|0; - $13 = (($10) + 4)|0; - $14 = $13; - $15 = HEAP32[$14>>2]|0; - $16 = $9; - $17 = $16; - HEAP32[$17>>2] = $12; - $18 = (($16) + 4)|0; - $19 = $18; - HEAP32[$19>>2] = $15; - $20 = (_GetScreenWidth()|0); - $21 = (+($20|0)); - $22 = +HEAPF32[$9>>2]; - $23 = $22 / $21; - HEAPF32[$9>>2] = $23; - $24 = (_GetScreenHeight()|0); - $25 = (+($24|0)); - $26 = ((($gestureEvent)) + 20|0); - $27 = +HEAPF32[$26>>2]; - $28 = $27 / $25; - HEAPF32[$26>>2] = $28; - ;HEAP32[$gestureEvent$byval_copy>>2]=HEAP32[$gestureEvent>>2]|0;HEAP32[$gestureEvent$byval_copy+4>>2]=HEAP32[$gestureEvent+4>>2]|0;HEAP32[$gestureEvent$byval_copy+8>>2]=HEAP32[$gestureEvent+8>>2]|0;HEAP32[$gestureEvent$byval_copy+12>>2]=HEAP32[$gestureEvent+12>>2]|0;HEAP32[$gestureEvent$byval_copy+16>>2]=HEAP32[$gestureEvent+16>>2]|0;HEAP32[$gestureEvent$byval_copy+20>>2]=HEAP32[$gestureEvent+20>>2]|0;HEAP32[$gestureEvent$byval_copy+24>>2]=HEAP32[$gestureEvent+24>>2]|0;HEAP32[$gestureEvent$byval_copy+28>>2]=HEAP32[$gestureEvent+28>>2]|0; - _ProcessGestureEvent($gestureEvent$byval_copy); - STACKTOP = sp;return; -} -function _MouseCursorPosCallback($window,$x,$y) { - $window = $window|0; - $x = +$x; - $y = +$y; - var $0 = 0, $1 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $2 = 0.0, $3 = 0, $4 = 0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0, $gestureEvent = 0, $gestureEvent$byval_copy = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; - $gestureEvent$byval_copy = sp + 32|0; - $gestureEvent = sp; - HEAP32[$gestureEvent>>2] = 2; - $0 = ((($gestureEvent)) + 4|0); - HEAP32[$0>>2] = 1; - $1 = $x; - $2 = $y; - $3 = ((($gestureEvent)) + 16|0); - HEAPF32[$3>>2] = $1; - $4 = ((($gestureEvent)) + 20|0); - HEAPF32[$4>>2] = $2; - $5 = (_GetScreenWidth()|0); - $6 = (+($5|0)); - $7 = +HEAPF32[$3>>2]; - $8 = $7 / $6; - HEAPF32[$3>>2] = $8; - $9 = (_GetScreenHeight()|0); - $10 = (+($9|0)); - $11 = +HEAPF32[$4>>2]; - $12 = $11 / $10; - HEAPF32[$4>>2] = $12; - ;HEAP32[$gestureEvent$byval_copy>>2]=HEAP32[$gestureEvent>>2]|0;HEAP32[$gestureEvent$byval_copy+4>>2]=HEAP32[$gestureEvent+4>>2]|0;HEAP32[$gestureEvent$byval_copy+8>>2]=HEAP32[$gestureEvent+8>>2]|0;HEAP32[$gestureEvent$byval_copy+12>>2]=HEAP32[$gestureEvent+12>>2]|0;HEAP32[$gestureEvent$byval_copy+16>>2]=HEAP32[$gestureEvent+16>>2]|0;HEAP32[$gestureEvent$byval_copy+20>>2]=HEAP32[$gestureEvent+20>>2]|0;HEAP32[$gestureEvent$byval_copy+24>>2]=HEAP32[$gestureEvent+24>>2]|0;HEAP32[$gestureEvent$byval_copy+28>>2]=HEAP32[$gestureEvent+28>>2]|0; - _ProcessGestureEvent($gestureEvent$byval_copy); - STACKTOP = sp;return; -} -function _CharCallback($window,$key) { - $window = $window|0; - $key = $key|0; - var label = 0, sp = 0; - sp = STACKTOP; - HEAP32[972>>2] = $key; - return; -} -function _ScrollCallback($window,$xoffset,$yoffset) { - $window = $window|0; - $xoffset = +$xoffset; - $yoffset = +$yoffset; - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (~~(($yoffset))); - HEAP32[8648>>2] = $0; - return; -} -function _WindowIconifyCallback($window,$iconified) { - $window = $window|0; - $iconified = $iconified|0; - var $$ = 0, $not$ = 0, label = 0, sp = 0; - sp = STACKTOP; - $not$ = ($iconified|0)!=(0); - $$ = $not$&1; - HEAP32[832>>2] = $$; - return; -} -function _emscripten_GetProcAddress($name_) { - $name_ = $name_|0; - var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; - var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; - var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0; - var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0; - var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0; - var $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0; - var $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0; - var $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0; - var $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0; - var $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0; - var $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0; - var $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0; - var $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0; - var $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0; - var $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0; - var $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0; - var $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0; - var $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0; - var $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0; - var $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0; - var $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0; - var $530 = 0, $531 = 0, $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0; - var $549 = 0, $55 = 0, $550 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0; - var $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0; - var $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $end = 0, $name = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $name = sp + 4|0; - $end = sp; - HEAP32[$1>>2] = $name_; - $2 = HEAP32[$1>>2]|0; - $3 = (_strlen($2)|0); - $4 = (($3) + 1)|0; - $5 = (_malloc($4)|0); - HEAP32[$name>>2] = $5; - $6 = HEAP32[$name>>2]|0; - $7 = HEAP32[$1>>2]|0; - (_strcpy($6,$7)|0); - $8 = HEAP32[$name>>2]|0; - $9 = (_strstr($8,23830)|0); - HEAP32[$end>>2] = $9; - $10 = HEAP32[$end>>2]|0; - $11 = ($10|0)!=(0|0); - if ($11) { - $12 = HEAP32[$end>>2]|0; - HEAP8[$12>>0] = 0; - } - $13 = HEAP32[$name>>2]|0; - $14 = (_strstr($13,23834)|0); - HEAP32[$end>>2] = $14; - $15 = HEAP32[$end>>2]|0; - $16 = ($15|0)!=(0|0); - if ($16) { - $17 = HEAP32[$end>>2]|0; - HEAP8[$17>>0] = 0; - } - $18 = HEAP32[$name>>2]|0; - $19 = (_strstr($18,23838)|0); - HEAP32[$end>>2] = $19; - $20 = HEAP32[$end>>2]|0; - $21 = ($20|0)!=(0|0); - if ($21) { - $22 = HEAP32[$end>>2]|0; - HEAP8[$22>>0] = 0; - } - $23 = HEAP32[$name>>2]|0; - $24 = (_strstr($23,23842)|0); - HEAP32[$end>>2] = $24; - $25 = HEAP32[$end>>2]|0; - $26 = ($25|0)!=(0|0); - if ($26) { - $27 = HEAP32[$end>>2]|0; - HEAP8[$27>>0] = 0; - } - $28 = HEAP32[$name>>2]|0; - $29 = (_strcmp($28,23848)|0); - $30 = ($29|0)!=(0); - do { - if ($30) { - $31 = HEAP32[$name>>2]|0; - $32 = (_strcmp($31,23886)|0); - $33 = ($32|0)!=(0); - if (!($33)) { - HEAP32[$name>>2] = 23905; - break; - } - $34 = HEAP32[$name>>2]|0; - $35 = (_strcmp($34,23918)|0); - $36 = ($35|0)!=(0); - if (!($36)) { - HEAP32[$name>>2] = 23939; - break; - } - $37 = HEAP32[$name>>2]|0; - $38 = (_strcmp($37,23954)|0); - $39 = ($38|0)!=(0); - if (!($39)) { - HEAP32[$name>>2] = 23969; - break; - } - $40 = HEAP32[$name>>2]|0; - $41 = (_strcmp($40,23984)|0); - $42 = ($41|0)!=(0); - if (!($42)) { - HEAP32[$name>>2] = 23999; - } - } else { - HEAP32[$name>>2] = 23870; - } - } while(0); - $43 = HEAP32[$name>>2]|0; - $44 = (_strcmp($43,24014)|0); - $45 = ($44|0)!=(0); - do { - if ($45) { - $46 = HEAP32[$name>>2]|0; - $47 = (_strcmp($46,24028)|0); - $48 = ($47|0)!=(0); - if (!($48)) { - HEAP32[$0>>2] = 3; - break; - } - $49 = HEAP32[$name>>2]|0; - $50 = (_strcmp($49,24040)|0); - $51 = ($50|0)!=(0); - if (!($51)) { - HEAP32[$0>>2] = 7; - break; - } - $52 = HEAP32[$name>>2]|0; - $53 = (_strcmp($52,24054)|0); - $54 = ($53|0)!=(0); - if (!($54)) { - HEAP32[$0>>2] = 8; - break; - } - $55 = HEAP32[$name>>2]|0; - $56 = (_strcmp($55,24066)|0); - $57 = ($56|0)!=(0); - if (!($57)) { - HEAP32[$0>>2] = 9; - break; - } - $58 = HEAP32[$name>>2]|0; - $59 = (_strcmp($58,24080)|0); - $60 = ($59|0)!=(0); - if (!($60)) { - HEAP32[$0>>2] = 10; - break; - } - $61 = HEAP32[$name>>2]|0; - $62 = (_strcmp($61,24094)|0); - $63 = ($62|0)!=(0); - if (!($63)) { - HEAP32[$0>>2] = 11; - break; - } - $64 = HEAP32[$name>>2]|0; - $65 = (_strcmp($64,24111)|0); - $66 = ($65|0)!=(0); - if (!($66)) { - HEAP32[$0>>2] = 1; - break; - } - $67 = HEAP32[$name>>2]|0; - $68 = (_strcmp($67,24134)|0); - $69 = ($68|0)!=(0); - if (!($69)) { - HEAP32[$0>>2] = 1; - break; - } - $70 = HEAP32[$name>>2]|0; - $71 = (_strcmp($70,24160)|0); - $72 = ($71|0)!=(0); - if (!($72)) { - HEAP32[$0>>2] = 2; - break; - } - $73 = HEAP32[$name>>2]|0; - $74 = (_strcmp($73,24173)|0); - $75 = ($74|0)!=(0); - if (!($75)) { - HEAP32[$0>>2] = 3; - break; - } - $76 = HEAP32[$name>>2]|0; - $77 = (_strcmp($76,24189)|0); - $78 = ($77|0)!=(0); - if (!($78)) { - HEAP32[$0>>2] = 1; - break; - } - $79 = HEAP32[$name>>2]|0; - $80 = (_strcmp($79,24202)|0); - $81 = ($80|0)!=(0); - if (!($81)) { - HEAP32[$0>>2] = 12; - break; - } - $82 = HEAP32[$name>>2]|0; - $83 = (_strcmp($82,24216)|0); - $84 = ($83|0)!=(0); - if (!($84)) { - HEAP32[$0>>2] = 3; - break; - } - $85 = HEAP32[$name>>2]|0; - $86 = (_strcmp($85,24236)|0); - $87 = ($86|0)!=(0); - if (!($87)) { - HEAP32[$0>>2] = 4; - break; - } - $88 = HEAP32[$name>>2]|0; - $89 = (_strcmp($88,24256)|0); - $90 = ($89|0)!=(0); - if (!($90)) { - HEAP32[$0>>2] = 5; - break; - } - $91 = HEAP32[$name>>2]|0; - $92 = (_strcmp($91,24273)|0); - $93 = ($92|0)!=(0); - if (!($93)) { - HEAP32[$0>>2] = 6; - break; - } - $94 = HEAP32[$name>>2]|0; - $95 = (_strcmp($94,24290)|0); - $96 = ($95|0)!=(0); - if (!($96)) { - HEAP32[$0>>2] = 4; - break; - } - $97 = HEAP32[$name>>2]|0; - $98 = (_strcmp($97,24302)|0); - $99 = ($98|0)!=(0); - if (!($99)) { - HEAP32[$0>>2] = 13; - break; - } - $100 = HEAP32[$name>>2]|0; - $101 = (_strcmp($100,24315)|0); - $102 = ($101|0)!=(0); - if (!($102)) { - HEAP32[$0>>2] = 14; - break; - } - $103 = HEAP32[$name>>2]|0; - $104 = (_strcmp($103,24331)|0); - $105 = ($104|0)!=(0); - if (!($105)) { - HEAP32[$0>>2] = 7; - break; - } - $106 = HEAP32[$name>>2]|0; - $107 = (_strcmp($106,24354)|0); - $108 = ($107|0)!=(0); - if (!($108)) { - HEAP32[$0>>2] = 2; - break; - } - $109 = HEAP32[$name>>2]|0; - $110 = (_strcmp($109,24367)|0); - $111 = ($110|0)!=(0); - if (!($111)) { - HEAP32[$0>>2] = 3; - break; - } - $112 = HEAP32[$name>>2]|0; - $113 = (_strcmp($112,24383)|0); - $114 = ($113|0)!=(0); - if (!($114)) { - HEAP32[$0>>2] = 5; - break; - } - $115 = HEAP32[$name>>2]|0; - $116 = (_strcmp($115,24394)|0); - $117 = ($116|0)!=(0); - if (!($117)) { - HEAP32[$0>>2] = 15; - break; - } - $118 = HEAP32[$name>>2]|0; - $119 = (_strcmp($118,24413)|0); - $120 = ($119|0)!=(0); - if (!($120)) { - HEAP32[$0>>2] = 16; - break; - } - $121 = HEAP32[$name>>2]|0; - $122 = (_strcmp($121,24435)|0); - $123 = ($122|0)!=(0); - if (!($123)) { - HEAP32[$0>>2] = 17; - break; - } - $124 = HEAP32[$name>>2]|0; - $125 = (_strcmp($124,24454)|0); - $126 = ($125|0)!=(0); - if (!($126)) { - HEAP32[$0>>2] = 8; - break; - } - $127 = HEAP32[$name>>2]|0; - $128 = (_strcmp($127,24483)|0); - $129 = ($128|0)!=(0); - if (!($129)) { - HEAP32[$0>>2] = 6; - break; - } - $130 = HEAP32[$name>>2]|0; - $131 = (_strcmp($130,24500)|0); - $132 = ($131|0)!=(0); - if (!($132)) { - HEAP32[$0>>2] = 9; - break; - } - $133 = HEAP32[$name>>2]|0; - $134 = (_strcmp($133,24515)|0); - $135 = ($134|0)!=(0); - if (!($135)) { - HEAP32[$0>>2] = 10; - break; - } - $136 = HEAP32[$name>>2]|0; - $137 = (_strcmp($136,24530)|0); - $138 = ($137|0)!=(0); - if (!($138)) { - HEAP32[$0>>2] = 3; - break; - } - $139 = HEAP32[$name>>2]|0; - $140 = (_strcmp($139,24551)|0); - $141 = ($140|0)!=(0); - if (!($141)) { - HEAP32[$0>>2] = 11; - break; - } - $142 = HEAP32[$name>>2]|0; - $143 = (_strcmp($142,24571)|0); - $144 = ($143|0)!=(0); - if (!($144)) { - HEAP32[$0>>2] = 12; - break; - } - $145 = HEAP32[$name>>2]|0; - $146 = (_strcmp($145,24591)|0); - $147 = ($146|0)!=(0); - if (!($147)) { - HEAP32[$0>>2] = 13; - break; - } - $148 = HEAP32[$name>>2]|0; - $149 = (_strcmp($148,24617)|0); - $150 = ($149|0)!=(0); - if (!($150)) { - HEAP32[$0>>2] = 2; - break; - } - $151 = HEAP32[$name>>2]|0; - $152 = (_strcmp($151,24636)|0); - $153 = ($152|0)!=(0); - if (!($153)) { - HEAP32[$0>>2] = 1; - break; - } - $154 = HEAP32[$name>>2]|0; - $155 = (_strcmp($154,24648)|0); - $156 = ($155|0)!=(0); - if (!($156)) { - HEAP32[$0>>2] = 3; - break; - } - $157 = HEAP32[$name>>2]|0; - $158 = (_strcmp($157,24660)|0); - $159 = ($158|0)!=(0); - if (!($159)) { - HEAP32[$0>>2] = 1; - break; - } - $160 = HEAP32[$name>>2]|0; - $161 = (_strcmp($160,24672)|0); - $162 = ($161|0)!=(0); - if (!($162)) { - HEAP32[$0>>2] = 1; - break; - } - $163 = HEAP32[$name>>2]|0; - $164 = (_strcmp($163,24684)|0); - $165 = ($164|0)!=(0); - if (!($165)) { - HEAP32[$0>>2] = 18; - break; - } - $166 = HEAP32[$name>>2]|0; - $167 = (_strcmp($166,24696)|0); - $168 = ($167|0)!=(0); - if (!($168)) { - HEAP32[$0>>2] = 14; - break; - } - $169 = HEAP32[$name>>2]|0; - $170 = (_strcmp($169,24708)|0); - $171 = ($170|0)!=(0); - if (!($171)) { - HEAP32[$0>>2] = 4; - break; - } - $172 = HEAP32[$name>>2]|0; - $173 = (_strcmp($172,24720)|0); - $174 = ($173|0)!=(0); - if (!($174)) { - HEAP32[$0>>2] = 2; - break; - } - $175 = HEAP32[$name>>2]|0; - $176 = (_strcmp($175,24732)|0); - $177 = ($176|0)!=(0); - if (!($177)) { - HEAP32[$0>>2] = 15; - break; - } - $178 = HEAP32[$name>>2]|0; - $179 = (_strcmp($178,24745)|0); - $180 = ($179|0)!=(0); - if (!($180)) { - HEAP32[$0>>2] = 16; - break; - } - $181 = HEAP32[$name>>2]|0; - $182 = (_strcmp($181,24758)|0); - $183 = ($182|0)!=(0); - if (!($183)) { - HEAP32[$0>>2] = 17; - break; - } - $184 = HEAP32[$name>>2]|0; - $185 = (_strcmp($184,24771)|0); - $186 = ($185|0)!=(0); - if (!($186)) { - HEAP32[$0>>2] = 18; - break; - } - $187 = HEAP32[$name>>2]|0; - $188 = (_strcmp($187,24784)|0); - $189 = ($188|0)!=(0); - if (!($189)) { - HEAP32[$0>>2] = 19; - break; - } - $190 = HEAP32[$name>>2]|0; - $191 = (_strcmp($190,24797)|0); - $192 = ($191|0)!=(0); - if (!($192)) { - HEAP32[$0>>2] = 20; - break; - } - $193 = HEAP32[$name>>2]|0; - $194 = (_strcmp($193,24810)|0); - $195 = ($194|0)!=(0); - if (!($195)) { - HEAP32[$0>>2] = 21; - break; - } - $196 = HEAP32[$name>>2]|0; - $197 = (_strcmp($196,24823)|0); - $198 = ($197|0)!=(0); - if (!($198)) { - HEAP32[$0>>2] = 22; - break; - } - $199 = HEAP32[$name>>2]|0; - $200 = (_strcmp($199,24836)|0); - $201 = ($200|0)!=(0); - if (!($201)) { - HEAP32[$0>>2] = 5; - break; - } - $202 = HEAP32[$name>>2]|0; - $203 = (_strcmp($202,24855)|0); - $204 = ($203|0)!=(0); - if (!($204)) { - HEAP32[$0>>2] = 6; - break; - } - $205 = HEAP32[$name>>2]|0; - $206 = (_strcmp($205,24874)|0); - $207 = ($206|0)!=(0); - if (!($207)) { - HEAP32[$0>>2] = 7; - break; - } - $208 = HEAP32[$name>>2]|0; - $209 = (_strcmp($208,24893)|0); - $210 = ($209|0)!=(0); - if (!($210)) { - HEAP32[$0>>2] = 19; - break; - } - $211 = HEAP32[$name>>2]|0; - $212 = (_strcmp($211,24906)|0); - $213 = ($212|0)!=(0); - if (!($213)) { - HEAP32[$0>>2] = 20; - break; - } - $214 = HEAP32[$name>>2]|0; - $215 = (_strcmp($214,24924)|0); - $216 = ($215|0)!=(0); - if (!($216)) { - HEAP32[$0>>2] = 21; - break; - } - $217 = HEAP32[$name>>2]|0; - $218 = (_strcmp($217,24942)|0); - $219 = ($218|0)!=(0); - if (!($219)) { - HEAP32[$0>>2] = 22; - break; - } - $220 = HEAP32[$name>>2]|0; - $221 = (_strcmp($220,24960)|0); - $222 = ($221|0)!=(0); - if (!($222)) { - HEAP32[$0>>2] = 23; - break; - } - $223 = HEAP32[$name>>2]|0; - $224 = (_strcmp($223,24978)|0); - $225 = ($224|0)!=(0); - if (!($225)) { - HEAP32[$0>>2] = 4; - break; - } - $226 = HEAP32[$name>>2]|0; - $227 = (_strcmp($226,24998)|0); - $228 = ($227|0)!=(0); - if (!($228)) { - HEAP32[$0>>2] = 3; - break; - } - $229 = HEAP32[$name>>2]|0; - $230 = (_strcmp($229,23939)|0); - $231 = ($230|0)!=(0); - if (!($231)) { - HEAP32[$0>>2] = 7; - break; - } - $232 = HEAP32[$name>>2]|0; - $233 = (_strcmp($232,25016)|0); - $234 = ($233|0)!=(0); - if (!($234)) { - HEAP32[$0>>2] = 1; - break; - } - $235 = HEAP32[$name>>2]|0; - $236 = (_strcmp($235,25031)|0); - $237 = ($236|0)!=(0); - if (!($237)) { - HEAP32[$0>>2] = 8; - break; - } - $238 = HEAP32[$name>>2]|0; - $239 = (_strcmp($238,25052)|0); - $240 = ($239|0)!=(0); - if (!($240)) { - HEAP32[$0>>2] = 9; - break; - } - $241 = HEAP32[$name>>2]|0; - $242 = (_strcmp($241,25067)|0); - $243 = ($242|0)!=(0); - if (!($243)) { - HEAP32[$0>>2] = 10; - break; - } - $244 = HEAP32[$name>>2]|0; - $245 = (_strcmp($244,25085)|0); - $246 = ($245|0)!=(0); - if (!($246)) { - HEAP32[$0>>2] = 2; - break; - } - $247 = HEAP32[$name>>2]|0; - $248 = (_strcmp($247,25101)|0); - $249 = ($248|0)!=(0); - if (!($249)) { - HEAP32[$0>>2] = 11; - break; - } - $250 = HEAP32[$name>>2]|0; - $251 = (_strcmp($250,25120)|0); - $252 = ($251|0)!=(0); - if (!($252)) { - HEAP32[$0>>2] = 23; - break; - } - $253 = HEAP32[$name>>2]|0; - $254 = (_strcmp($253,25134)|0); - $255 = ($254|0)!=(0); - if (!($255)) { - HEAP32[$0>>2] = 24; - break; - } - $256 = HEAP32[$name>>2]|0; - $257 = (_strcmp($256,25149)|0); - $258 = ($257|0)!=(0); - if (!($258)) { - HEAP32[$0>>2] = 8; - break; - } - $259 = HEAP32[$name>>2]|0; - $260 = (_strcmp($259,23870)|0); - $261 = ($260|0)!=(0); - if (!($261)) { - HEAP32[$0>>2] = 1; - break; - } - $262 = HEAP32[$name>>2]|0; - $263 = (_strcmp($262,25160)|0); - $264 = ($263|0)!=(0); - if (!($264)) { - HEAP32[$0>>2] = 3; - break; - } - $265 = HEAP32[$name>>2]|0; - $266 = (_strcmp($265,23969)|0); - $267 = ($266|0)!=(0); - if (!($267)) { - HEAP32[$0>>2] = 24; - break; - } - $268 = HEAP32[$name>>2]|0; - $269 = (_strcmp($268,23999)|0); - $270 = ($269|0)!=(0); - if (!($270)) { - HEAP32[$0>>2] = 25; - break; - } - $271 = HEAP32[$name>>2]|0; - $272 = (_strcmp($271,25176)|0); - $273 = ($272|0)!=(0); - if (!($273)) { - HEAP32[$0>>2] = 12; - break; - } - $274 = HEAP32[$name>>2]|0; - $275 = (_strcmp($274,25203)|0); - $276 = ($275|0)!=(0); - if (!($276)) { - HEAP32[$0>>2] = 4; - break; - } - $277 = HEAP32[$name>>2]|0; - $278 = (_strcmp($277,25217)|0); - $279 = ($278|0)!=(0); - if (!($279)) { - HEAP32[$0>>2] = 13; - break; - } - $280 = HEAP32[$name>>2]|0; - $281 = (_strcmp($280,23905)|0); - $282 = ($281|0)!=(0); - if (!($282)) { - HEAP32[$0>>2] = 5; - break; - } - $283 = HEAP32[$name>>2]|0; - $284 = (_strcmp($283,25237)|0); - $285 = ($284|0)!=(0); - if (!($285)) { - HEAP32[$0>>2] = 6; - break; - } - $286 = HEAP32[$name>>2]|0; - $287 = (_strcmp($286,25255)|0); - $288 = ($287|0)!=(0); - if (!($288)) { - HEAP32[$0>>2] = 9; - break; - } - $289 = HEAP32[$name>>2]|0; - $290 = (_strcmp($289,25267)|0); - $291 = ($290|0)!=(0); - if (!($291)) { - HEAP32[$0>>2] = 25; - break; - } - $292 = HEAP32[$name>>2]|0; - $293 = (_strcmp($292,25288)|0); - $294 = ($293|0)!=(0); - if (!($294)) { - HEAP32[$0>>2] = 26; - break; - } - $295 = HEAP32[$name>>2]|0; - $296 = (_strcmp($295,25306)|0); - $297 = ($296|0)!=(0); - if (!($297)) { - HEAP32[$0>>2] = 27; - break; - } - $298 = HEAP32[$name>>2]|0; - $299 = (_strcmp($298,25324)|0); - $300 = ($299|0)!=(0); - if (!($300)) { - HEAP32[$0>>2] = 28; - break; - } - $301 = HEAP32[$name>>2]|0; - $302 = (_strcmp($301,25345)|0); - $303 = ($302|0)!=(0); - if (!($303)) { - HEAP32[$0>>2] = 14; - break; - } - $304 = HEAP32[$name>>2]|0; - $305 = (_strcmp($304,25371)|0); - $306 = ($305|0)!=(0); - if (!($306)) { - HEAP32[$0>>2] = 3; - break; - } - $307 = HEAP32[$name>>2]|0; - $308 = (_strcmp($307,25394)|0); - $309 = ($308|0)!=(0); - if (!($309)) { - HEAP32[$0>>2] = 15; - break; - } - $310 = HEAP32[$name>>2]|0; - $311 = (_strcmp($310,25432)|0); - $312 = ($311|0)!=(0); - if (!($312)) { - HEAP32[$0>>2] = 10; - break; - } - $313 = HEAP32[$name>>2]|0; - $314 = (_strcmp($313,25448)|0); - $315 = ($314|0)!=(0); - if (!($315)) { - HEAP32[$0>>2] = 7; - break; - } - $316 = HEAP32[$name>>2]|0; - $317 = (_strcmp($316,25463)|0); - $318 = ($317|0)!=(0); - if (!($318)) { - HEAP32[$0>>2] = 26; - break; - } - $319 = HEAP32[$name>>2]|0; - $320 = (_strcmp($319,25486)|0); - $321 = ($320|0)!=(0); - if (!($321)) { - HEAP32[$0>>2] = 16; - break; - } - $322 = HEAP32[$name>>2]|0; - $323 = (_strcmp($322,25499)|0); - $324 = ($323|0)!=(0); - if (!($324)) { - HEAP32[$0>>2] = 29; - break; - } - $325 = HEAP32[$name>>2]|0; - $326 = (_strcmp($325,25513)|0); - $327 = ($326|0)!=(0); - if (!($327)) { - HEAP32[$0>>2] = 30; - break; - } - $328 = HEAP32[$name>>2]|0; - $329 = (_strcmp($328,25527)|0); - $330 = ($329|0)!=(0); - if (!($330)) { - HEAP32[$0>>2] = 2; - break; - } - $331 = HEAP32[$name>>2]|0; - $332 = (_strcmp($331,25547)|0); - $333 = ($332|0)!=(0); - if (!($333)) { - HEAP32[$0>>2] = 8; - break; - } - $334 = HEAP32[$name>>2]|0; - $335 = (_strcmp($334,25567)|0); - $336 = ($335|0)!=(0); - if (!($336)) { - HEAP32[$0>>2] = 17; - break; - } - $337 = HEAP32[$name>>2]|0; - $338 = (_strcmp($337,25583)|0); - $339 = ($338|0)!=(0); - if (!($339)) { - HEAP32[$0>>2] = 18; - break; - } - $340 = HEAP32[$name>>2]|0; - $341 = (_strcmp($340,25601)|0); - $342 = ($341|0)!=(0); - if (!($342)) { - HEAP32[$0>>2] = 27; - break; - } - $343 = HEAP32[$name>>2]|0; - $344 = (_strcmp($343,25617)|0); - $345 = ($344|0)!=(0); - if (!($345)) { - HEAP32[$0>>2] = 19; - break; - } - $346 = HEAP32[$name>>2]|0; - $347 = (_strcmp($346,25632)|0); - $348 = ($347|0)!=(0); - if (!($348)) { - HEAP32[$0>>2] = 9; - break; - } - $349 = HEAP32[$name>>2]|0; - $350 = (_strcmp($349,25654)|0); - $351 = ($350|0)!=(0); - if (!($351)) { - HEAP32[$0>>2] = 31; - break; - } - $352 = HEAP32[$name>>2]|0; - $353 = (_strcmp($352,25672)|0); - $354 = ($353|0)!=(0); - if (!($354)) { - HEAP32[$0>>2] = 32; - break; - } - $355 = HEAP32[$name>>2]|0; - $356 = (_strcmp($355,25693)|0); - $357 = ($356|0)!=(0); - if (!($357)) { - HEAP32[$0>>2] = 10; - break; - } - $358 = HEAP32[$name>>2]|0; - $359 = (_strcmp($358,25711)|0); - $360 = ($359|0)!=(0); - if (!($360)) { - HEAP32[$0>>2] = 11; - break; - } - $361 = HEAP32[$name>>2]|0; - $362 = (_strcmp($361,25724)|0); - $363 = ($362|0)!=(0); - if (!($363)) { - HEAP32[$0>>2] = 2; - break; - } - $364 = HEAP32[$name>>2]|0; - $365 = (_strcmp($364,25739)|0); - $366 = ($365|0)!=(0); - if (!($366)) { - HEAP32[$0>>2] = 12; - break; - } - $367 = HEAP32[$name>>2]|0; - $368 = (_strcmp($367,25753)|0); - $369 = ($368|0)!=(0); - if (!($369)) { - HEAP32[$0>>2] = 1; - break; - } - $370 = HEAP32[$name>>2]|0; - $371 = (_strcmp($370,25763)|0); - $372 = ($371|0)!=(0); - if (!($372)) { - HEAP32[$0>>2] = 1; - break; - } - $373 = HEAP32[$name>>2]|0; - $374 = (_strcmp($373,25773)|0); - $375 = ($374|0)!=(0); - if (!($375)) { - HEAP32[$0>>2] = 3; - break; - } - $376 = HEAP32[$name>>2]|0; - $377 = (_strcmp($376,25795)|0); - $378 = ($377|0)!=(0); - if (!($378)) { - HEAP32[$0>>2] = 13; - break; - } - $379 = HEAP32[$name>>2]|0; - $380 = (_strcmp($379,25821)|0); - $381 = ($380|0)!=(0); - if (!($381)) { - HEAP32[$0>>2] = 14; - break; - } - $382 = HEAP32[$name>>2]|0; - $383 = (_strcmp($382,25848)|0); - $384 = ($383|0)!=(0); - if (!($384)) { - HEAP32[$0>>2] = 28; - break; - } - $385 = HEAP32[$name>>2]|0; - $386 = (_strcmp($385,25861)|0); - $387 = ($386|0)!=(0); - if (!($387)) { - HEAP32[$0>>2] = 20; - break; - } - $388 = HEAP32[$name>>2]|0; - $389 = (_strcmp($388,25876)|0); - $390 = ($389|0)!=(0); - if (!($390)) { - HEAP32[$0>>2] = 4; - break; - } - $391 = HEAP32[$name>>2]|0; - $392 = (_strcmp($391,25891)|0); - $393 = ($392|0)!=(0); - if (!($393)) { - HEAP32[$0>>2] = 3; - break; - } - $394 = HEAP32[$name>>2]|0; - $395 = (_strcmp($394,25915)|0); - $396 = ($395|0)!=(0); - if (!($396)) { - HEAP32[$0>>2] = 2; - break; - } - $397 = HEAP32[$name>>2]|0; - $398 = (_strcmp($397,25926)|0); - $399 = ($398|0)!=(0); - if (!($399)) { - HEAP32[$0>>2] = 33; - break; - } - $400 = HEAP32[$name>>2]|0; - $401 = (_strcmp($400,25948)|0); - $402 = ($401|0)!=(0); - if (!($402)) { - HEAP32[$0>>2] = 21; - break; - } - $403 = HEAP32[$name>>2]|0; - $404 = (_strcmp($403,25970)|0); - $405 = ($404|0)!=(0); - if (!($405)) { - HEAP32[$0>>2] = 5; - break; - } - $406 = HEAP32[$name>>2]|0; - $407 = (_strcmp($406,25994)|0); - $408 = ($407|0)!=(0); - if (!($408)) { - HEAP32[$0>>2] = 4; - break; - } - $409 = HEAP32[$name>>2]|0; - $410 = (_strcmp($409,26003)|0); - $411 = ($410|0)!=(0); - if (!($411)) { - HEAP32[$0>>2] = 5; - break; - } - $412 = HEAP32[$name>>2]|0; - $413 = (_strcmp($412,26011)|0); - $414 = ($413|0)!=(0); - if (!($414)) { - HEAP32[$0>>2] = 1; - break; - } - $415 = HEAP32[$name>>2]|0; - $416 = (_strcmp($415,26024)|0); - $417 = ($416|0)!=(0); - if (!($417)) { - HEAP32[$0>>2] = 2; - break; - } - $418 = HEAP32[$name>>2]|0; - $419 = (_strcmp($418,26038)|0); - $420 = ($419|0)!=(0); - if (!($420)) { - HEAP32[$0>>2] = 15; - break; - } - $421 = HEAP32[$name>>2]|0; - $422 = (_strcmp($421,26050)|0); - $423 = ($422|0)!=(0); - if (!($423)) { - HEAP32[$0>>2] = 16; - break; - } - $424 = HEAP32[$name>>2]|0; - $425 = (_strcmp($424,26059)|0); - $426 = ($425|0)!=(0); - if (!($426)) { - HEAP32[$0>>2] = 17; - break; - } - $427 = HEAP32[$name>>2]|0; - $428 = (_strcmp($427,26069)|0); - $429 = ($428|0)!=(0); - if (!($429)) { - HEAP32[$0>>2] = 18; - break; - } - $430 = HEAP32[$name>>2]|0; - $431 = (_strcmp($430,26081)|0); - $432 = ($431|0)!=(0); - if (!($432)) { - HEAP32[$0>>2] = 19; - break; - } - $433 = HEAP32[$name>>2]|0; - $434 = (_strcmp($433,26092)|0); - $435 = ($434|0)!=(0); - if (!($435)) { - HEAP32[$0>>2] = 20; - break; - } - $436 = HEAP32[$name>>2]|0; - $437 = (_strcmp($436,26100)|0); - $438 = ($437|0)!=(0); - if (!($438)) { - HEAP32[$0>>2] = 3; - break; - } - $439 = HEAP32[$name>>2]|0; - $440 = (_strcmp($439,26112)|0); - $441 = ($440|0)!=(0); - if (!($441)) { - HEAP32[$0>>2] = 21; - break; - } - $442 = HEAP32[$name>>2]|0; - $443 = (_strcmp($442,26127)|0); - $444 = ($443|0)!=(0); - if (!($444)) { - HEAP32[$0>>2] = 22; - break; - } - $445 = HEAP32[$name>>2]|0; - $446 = (_strcmp($445,26139)|0); - $447 = ($446|0)!=(0); - if (!($447)) { - HEAP32[$0>>2] = 23; - break; - } - $448 = HEAP32[$name>>2]|0; - $449 = (_strcmp($448,26153)|0); - $450 = ($449|0)!=(0); - if (!($450)) { - HEAP32[$0>>2] = 11; - break; - } - $451 = HEAP32[$name>>2]|0; - $452 = (_strcmp($451,26178)|0); - $453 = ($452|0)!=(0); - if (!($453)) { - HEAP32[$0>>2] = 24; - break; - } - $454 = HEAP32[$name>>2]|0; - $455 = (_strcmp($454,26195)|0); - $456 = ($455|0)!=(0); - if (!($456)) { - HEAP32[$0>>2] = 25; - break; - } - $457 = HEAP32[$name>>2]|0; - $458 = (_strcmp($457,26211)|0); - $459 = ($458|0)!=(0); - if (!($459)) { - HEAP32[$0>>2] = 26; - break; - } - $460 = HEAP32[$name>>2]|0; - $461 = (_strcmp($460,26227)|0); - $462 = ($461|0)!=(0); - if (!($462)) { - HEAP32[$0>>2] = 12; - break; - } - $463 = HEAP32[$name>>2]|0; - $464 = (_strcmp($463,26239)|0); - $465 = ($464|0)!=(0); - if (!($465)) { - HEAP32[$0>>2] = 34; - break; - } - $466 = HEAP32[$name>>2]|0; - $467 = (_strcmp($466,26251)|0); - $468 = ($467|0)!=(0); - if (!($468)) { - HEAP32[$0>>2] = 35; - break; - } - $469 = HEAP32[$name>>2]|0; - $470 = (_strcmp($469,26275)|0); - $471 = ($470|0)!=(0); - if (!($471)) { - HEAP32[$0>>2] = 1; - break; - } - $472 = HEAP32[$name>>2]|0; - $473 = (_strcmp($472,26288)|0); - $474 = ($473|0)!=(0); - if (!($474)) { - HEAP32[$0>>2] = 2; - break; - } - $475 = HEAP32[$name>>2]|0; - $476 = (_strcmp($475,26302)|0); - $477 = ($476|0)!=(0); - if (!($477)) { - HEAP32[$0>>2] = 36; - break; - } - $478 = HEAP32[$name>>2]|0; - $479 = (_strcmp($478,26324)|0); - $480 = ($479|0)!=(0); - if (!($480)) { - HEAP32[$0>>2] = 37; - break; - } - $481 = HEAP32[$name>>2]|0; - $482 = (_strcmp($481,26331)|0); - $483 = ($482|0)!=(0); - if (!($483)) { - HEAP32[$0>>2] = 3; - break; - } - $484 = HEAP32[$name>>2]|0; - $485 = (_strcmp($484,26347)|0); - $486 = ($485|0)!=(0); - if (!($486)) { - HEAP32[$0>>2] = 2; - break; - } - $487 = HEAP32[$name>>2]|0; - $488 = (_strcmp($487,26364)|0); - $489 = ($488|0)!=(0); - if (!($489)) { - HEAP32[$0>>2] = 1; - break; - } - $490 = HEAP32[$name>>2]|0; - $491 = (_strcmp($490,26381)|0); - $492 = ($491|0)!=(0); - if (!($492)) { - HEAP32[$0>>2] = 29; - break; - } - $493 = HEAP32[$name>>2]|0; - $494 = (_strcmp($493,26397)|0); - $495 = ($494|0)!=(0); - if (!($495)) { - HEAP32[$0>>2] = 1; - break; - } - $496 = HEAP32[$name>>2]|0; - $497 = (_strcmp($496,26413)|0); - $498 = ($497|0)!=(0); - if (!($498)) { - HEAP32[$0>>2] = 4; - break; - } - $499 = HEAP32[$name>>2]|0; - $500 = (_strcmp($499,26430)|0); - $501 = ($500|0)!=(0); - if (!($501)) { - HEAP32[$0>>2] = 30; - break; - } - $502 = HEAP32[$name>>2]|0; - $503 = (_strcmp($502,26444)|0); - $504 = ($503|0)!=(0); - if (!($504)) { - HEAP32[$0>>2] = 31; - break; - } - $505 = HEAP32[$name>>2]|0; - $506 = (_strcmp($505,26456)|0); - $507 = ($506|0)!=(0); - if (!($507)) { - HEAP32[$0>>2] = 22; - break; - } - $508 = HEAP32[$name>>2]|0; - $509 = (_strcmp($508,26467)|0); - $510 = ($509|0)!=(0); - if (!($510)) { - HEAP32[$0>>2] = 2; - break; - } - $511 = HEAP32[$name>>2]|0; - $512 = (_strcmp($511,26480)|0); - $513 = ($512|0)!=(0); - if (!($513)) { - HEAP32[$0>>2] = 23; - break; - } - $514 = HEAP32[$name>>2]|0; - $515 = (_strcmp($514,26490)|0); - $516 = ($515|0)!=(0); - if (!($516)) { - HEAP32[$0>>2] = 2; - break; - } - $517 = HEAP32[$name>>2]|0; - $518 = (_strcmp($517,26507)|0); - $519 = ($518|0)!=(0); - if (!($519)) { - HEAP32[$0>>2] = 24; - break; - } - $520 = HEAP32[$name>>2]|0; - $521 = (_strcmp($520,26519)|0); - $522 = ($521|0)!=(0); - if (!($522)) { - HEAP32[$0>>2] = 25; - break; - } - $523 = HEAP32[$name>>2]|0; - $524 = (_strcmp($523,26541)|0); - $525 = ($524|0)!=(0); - if (!($525)) { - HEAP32[$0>>2] = 26; - break; - } - $526 = HEAP32[$name>>2]|0; - $527 = (_strcmp($526,26561)|0); - $528 = ($527|0)!=(0); - if (!($528)) { - HEAP32[$0>>2] = 3; - break; - } - $529 = HEAP32[$name>>2]|0; - $530 = (_strcmp($529,26574)|0); - $531 = ($530|0)!=(0); - if (!($531)) { - HEAP32[$0>>2] = 27; - break; - } - $532 = HEAP32[$name>>2]|0; - $533 = (_strcmp($532,26596)|0); - $534 = ($533|0)!=(0); - if (!($534)) { - HEAP32[$0>>2] = 28; - break; - } - $535 = HEAP32[$name>>2]|0; - $536 = (_strcmp($535,26616)|0); - $537 = ($536|0)!=(0); - if (!($537)) { - HEAP32[$0>>2] = 2; - break; - } - $538 = HEAP32[$name>>2]|0; - $539 = (_strcmp($538,26633)|0); - $540 = ($539|0)!=(0); - if (!($540)) { - HEAP32[$0>>2] = 2; - break; - } - $541 = HEAP32[$name>>2]|0; - $542 = (_strcmp($541,26650)|0); - $543 = ($542|0)!=(0); - if (!($543)) { - HEAP32[$0>>2] = 3; - break; - } - $544 = HEAP32[$name>>2]|0; - $545 = (_strcmp($544,26670)|0); - $546 = ($545|0)!=(0); - if ($546) { - $547 = HEAP32[$1>>2]|0; - $548 = HEAP32[$name>>2]|0; - $549 = _emscripten_asm_const_2(0, ($547|0), ($548|0))|0; - HEAP32[$0>>2] = 0; - break; - } else { - HEAP32[$0>>2] = 38; - break; - } - } else { - HEAP32[$0>>2] = 6; - } - } while(0); - $550 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($550|0); -} -function _isspace($c) { - $c = $c|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ($c|0)==(32); - $1 = (($c) + -9)|0; - $2 = ($1>>>0)<(5); - $3 = $0 | $2; - $4 = $3&1; - return ($4|0); -} -function _strerror($e) { - $e = $e|0; - var $$lcssa = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i$03 = 0, $i$03$lcssa = 0, $i$12 = 0, $s$0$lcssa = 0, $s$01 = 0, $s$1 = 0, label = 0; - var sp = 0; - sp = STACKTOP; - $i$03 = 0; - while(1) { - $1 = (26786 + ($i$03)|0); - $2 = HEAP8[$1>>0]|0; - $3 = $2&255; - $4 = ($3|0)==($e|0); - if ($4) { - $i$03$lcssa = $i$03; - label = 2; - break; - } - $5 = (($i$03) + 1)|0; - $6 = ($5|0)==(87); - if ($6) { - $i$12 = 87;$s$01 = 26874; - label = 5; - break; - } else { - $i$03 = $5; - } - } - if ((label|0) == 2) { - $0 = ($i$03$lcssa|0)==(0); - if ($0) { - $s$0$lcssa = 26874; - } else { - $i$12 = $i$03$lcssa;$s$01 = 26874; - label = 5; - } - } - if ((label|0) == 5) { - while(1) { - label = 0; - $s$1 = $s$01; - while(1) { - $7 = HEAP8[$s$1>>0]|0; - $8 = ($7<<24>>24)==(0); - $9 = ((($s$1)) + 1|0); - if ($8) { - $$lcssa = $9; - break; - } else { - $s$1 = $9; - } - } - $10 = (($i$12) + -1)|0; - $11 = ($10|0)==(0); - if ($11) { - $s$0$lcssa = $$lcssa; - break; - } else { - $i$12 = $10;$s$01 = $$lcssa; - label = 5; - } - } - } - return ($s$0$lcssa|0); -} -function ___errno_location() { - var $$0 = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[8652>>2]|0; - $1 = ($0|0)==(0|0); - if ($1) { - $$0 = 8908; - } else { - $2 = (_pthread_self()|0); - $3 = ((($2)) + 60|0); - $4 = HEAP32[$3>>2]|0; - $$0 = $4; - } - return ($$0|0); -} -function ___floatscan($f,$prec,$pok) { - $f = $f|0; - $prec = $prec|0; - $pok = $pok|0; - var $$$i = 0, $$0 = 0.0, $$0$i27 = 0.0, $$010$i = 0, $$07$i = 0, $$0710$i = 0, $$0711$i = 0, $$09$i = 0, $$1$be$i = 0, $$1$ph$i = 0, $$11$i = 0, $$18$i = 0, $$2$i = 0, $$3$be$i = 0, $$3$lcssa$i = 0, $$3105$i = 0, $$in = 0, $$k$0$i = 0, $$lcssa = 0, $$lcssa256 = 0; - var $$lcssa256$lcssa = 0, $$lcssa257 = 0, $$lcssa257$lcssa = 0, $$lcssa263 = 0, $$lcssa264 = 0, $$lcssa265 = 0, $$lcssa275 = 0, $$lnz$0$i = 0, $$neg32$i = 0, $$not$i = 0, $$old8 = 0, $$pn$i = 0.0, $$pre$i = 0, $$pre$i17 = 0, $$pre$phi42$iZ2D = 0.0, $$pre41$i = 0.0, $$promoted$i = 0, $$sink$off0$i = 0, $0 = 0, $1 = 0; - var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; - var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; - var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; - var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0; - var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0.0, $183 = 0.0, $184 = 0.0, $185 = 0.0, $186 = 0, $187 = 0, $188 = 0.0, $189 = 0.0, $19 = 0; - var $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0; - var $208 = 0, $209 = 0.0, $21 = 0, $210 = 0.0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0; - var $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0; - var $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0.0, $259 = 0.0, $26 = 0, $260 = 0, $261 = 0; - var $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0.0, $268 = 0.0, $269 = 0.0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0; - var $280 = 0.0, $281 = 0.0, $282 = 0.0, $283 = 0, $284 = 0, $285 = 0.0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0; - var $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0.0, $31 = 0, $310 = 0.0, $311 = 0.0, $312 = 0, $313 = 0, $314 = 0, $315 = 0; - var $316 = 0, $317 = 0.0, $318 = 0.0, $319 = 0.0, $32 = 0, $320 = 0.0, $321 = 0.0, $322 = 0.0, $323 = 0, $324 = 0, $325 = 0.0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0; - var $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0; - var $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0; - var $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0; - var $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0; - var $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0; - var $424 = 0.0, $425 = 0.0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0.0; - var $442 = 0.0, $443 = 0.0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0.0, $454 = 0.0, $455 = 0.0, $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0; - var $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0.0, $466 = 0.0, $467 = 0.0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0, $478 = 0; - var $479 = 0.0, $48 = 0, $480 = 0, $481 = 0.0, $482 = 0.0, $483 = 0, $484 = 0.0, $485 = 0, $486 = 0.0, $487 = 0.0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0.0, $492 = 0.0, $493 = 0, $494 = 0, $495 = 0, $496 = 0; - var $497 = 0, $498 = 0.0, $499 = 0.0, $5 = 0, $50 = 0.0, $500 = 0.0, $501 = 0, $502 = 0, $503 = 0, $504 = 0.0, $505 = 0.0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0.0, $510 = 0, $511 = 0, $512 = 0, $513 = 0; - var $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0.0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0, $531 = 0; - var $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0, $549 = 0, $55 = 0; - var $550 = 0, $551 = 0, $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0, $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0, $562 = 0, $563 = 0, $564 = 0, $565 = 0, $566 = 0, $567 = 0, $568 = 0; - var $569 = 0, $57 = 0, $570 = 0, $571 = 0, $572 = 0, $573 = 0, $574 = 0, $575 = 0, $576 = 0, $577 = 0, $578 = 0, $579 = 0, $58 = 0, $580 = 0, $581 = 0, $582 = 0, $583 = 0, $584 = 0, $585 = 0, $586 = 0; - var $587 = 0, $588 = 0, $589 = 0, $59 = 0, $590 = 0, $591 = 0, $592 = 0, $593 = 0, $594 = 0, $595 = 0, $596 = 0, $597 = 0, $598 = 0, $599 = 0, $6 = 0, $60 = 0, $600 = 0, $601 = 0, $602 = 0, $603 = 0; - var $604 = 0, $605 = 0, $606 = 0, $607 = 0, $608 = 0, $609 = 0, $61 = 0, $610 = 0, $611 = 0, $612 = 0, $613 = 0, $614 = 0, $615 = 0, $616 = 0, $617 = 0, $618 = 0, $619 = 0.0, $62 = 0, $620 = 0, $621 = 0; - var $622 = 0, $623 = 0, $624 = 0.0, $625 = 0.0, $626 = 0.0, $627 = 0, $628 = 0.0, $629 = 0.0, $63 = 0, $630 = 0.0, $631 = 0.0, $632 = 0, $633 = 0, $634 = 0, $635 = 0, $636 = 0, $637 = 0, $638 = 0, $639 = 0, $64 = 0; - var $640 = 0, $641 = 0, $642 = 0.0, $643 = 0.0, $644 = 0.0, $645 = 0, $646 = 0.0, $647 = 0.0, $648 = 0, $649 = 0, $65 = 0, $650 = 0, $651 = 0.0, $652 = 0.0, $653 = 0.0, $654 = 0.0, $655 = 0, $656 = 0, $657 = 0.0, $658 = 0; - var $659 = 0.0, $66 = 0, $660 = 0.0, $661 = 0.0, $662 = 0, $663 = 0, $664 = 0, $665 = 0, $666 = 0.0, $667 = 0, $668 = 0, $669 = 0, $67 = 0, $670 = 0, $671 = 0.0, $672 = 0, $673 = 0, $674 = 0, $675 = 0, $676 = 0; - var $677 = 0, $678 = 0.0, $679 = 0, $68 = 0, $680 = 0, $681 = 0, $682 = 0, $683 = 0.0, $684 = 0, $685 = 0, $686 = 0.0, $687 = 0.0, $688 = 0, $689 = 0, $69 = 0, $690 = 0, $691 = 0, $692 = 0, $693 = 0, $694 = 0; - var $695 = 0, $696 = 0, $697 = 0, $698 = 0, $699 = 0, $7 = 0, $70 = 0, $700 = 0, $701 = 0, $702 = 0, $703 = 0, $704 = 0, $705 = 0, $706 = 0, $707 = 0, $708 = 0, $709 = 0, $71 = 0, $710 = 0, $711 = 0; - var $712 = 0, $713 = 0, $714 = 0, $715 = 0, $716 = 0, $717 = 0, $718 = 0, $719 = 0, $72 = 0, $720 = 0, $721 = 0, $722 = 0, $723 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0; - var $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0; - var $98 = 0, $99 = 0, $a$0$lcssa151$i = 0, $a$085$i = 0, $a$1$i = 0, $a$1$i$lcssa = 0, $a$2$ph38$i = 0, $a$3$i = 0, $a$3$i$lcssa248 = 0, $a$3$i249 = 0, $a$3$ph$i = 0, $a$3$ph157$i = 0, $a$478$i = 0, $a$5$i = 0, $a$5$i$lcssa = 0, $a$5$i$lcssa$lcssa = 0, $bias$0$i = 0.0, $bias$0$i25 = 0.0, $bits$0$ph = 0, $brmerge$i28 = 0; - var $c$0 = 0, $c$0$i = 0, $c$1$lcssa = 0, $c$1$ph$i = 0, $c$179 = 0, $c$2 = 0, $c$2$i = 0, $c$2$lcssa$i = 0, $c$377 = 0, $c$4 = 0, $c$5 = 0, $c$6 = 0, $carry$087$i = 0, $carry1$0$i = 0, $carry1$1$i = 0, $carry1$1$i$lcssa = 0, $carry1$1$i$lcssa$lcssa = 0, $carry3$081$i = 0, $cond$i = 0, $d$0$i = 0; - var $denormal$0$i = 0, $denormal$1$i = 0, $denormal$2$i = 0, $e2$0$i19 = 0, $e2$0$ph$i = 0, $e2$1$i = 0, $e2$1$i246 = 0, $e2$1$ph$i = 0, $e2$1$ph156$i = 0, $e2$2$i = 0, $e2$3$i = 0, $emin$0$ph = 0, $exitcond$i = 0, $frac$0$i = 0.0, $frac$1$i = 0.0, $frac$2$i = 0.0, $gotdig$0$i = 0, $gotdig$0$i$lcssa242 = 0, $gotdig$0$i12 = 0, $gotdig$0$i12$lcssa273 = 0; - var $gotdig$2$i = 0, $gotdig$2$i$lcssa = 0, $gotdig$2$i13 = 0, $gotdig$3$i = 0, $gotdig$3$lcssa$i = 0, $gotdig$3101$i = 0, $gotdig$3101$i$lcssa = 0, $gotdig$4$i = 0, $gotrad$0$i = 0, $gotrad$0$i$lcssa = 0, $gotrad$0$i14 = 0, $gotrad$1$i = 0, $gotrad$1$lcssa$i = 0, $gotrad$1102$i = 0, $gotrad$2$i = 0, $gottail$0$i = 0, $gottail$1$i = 0, $gottail$2$i = 0, $i$0$lcssa = 0, $i$078 = 0; - var $i$1 = 0, $i$276 = 0, $i$3 = 0, $i$4 = 0, $i$4$lcssa = 0, $j$0$lcssa$i = 0, $j$0104$i = 0, $j$0104$i$lcssa = 0, $j$067$i = 0, $j$068$i = 0, $j$069$i = 0, $j$2$i = 0, $j$394$i = 0, $k$0$lcssa$i = 0, $k$0103$i = 0, $k$0103$i$lcssa = 0, $k$063$i = 0, $k$064$i = 0, $k$065$i = 0, $k$2$i = 0; - var $k$3$i = 0, $k$486$i = 0, $k$5$i = 0, $k$5$in$i = 0, $k$5$z$2$i = 0, $k$679$i = 0, $lnz$0$lcssa$i = 0, $lnz$0100$i = 0, $lnz$0100$i$lcssa = 0, $lnz$057$i = 0, $lnz$058$i = 0, $lnz$059$i = 0, $lnz$2$i = 0, $or$cond = 0, $or$cond$i = 0, $or$cond$i16 = 0, $or$cond13$i = 0, $or$cond15$i = 0, $or$cond16$i = 0, $or$cond17$i = 0; - var $or$cond182$i = 0, $or$cond19$i = 0, $or$cond20$i = 0, $or$cond3$i = 0, $or$cond4$i = 0, $or$cond5 = 0, $or$cond6$i = 0, $or$cond7 = 0, $or$cond8$i = 0, $or$cond9 = 0, $or$cond9$i = 0, $rp$0$lcssa152$i = 0, $rp$084$i = 0, $rp$1$i18 = 0, $rp$1$i18$lcssa = 0, $rp$2$ph36$i = 0, $rp$3$ph$i = 0, $rp$3$ph34$i = 0, $rp$477$i = 0, $rp$5$i = 0; - var $rp$5$i$lcssa = 0, $rp$5$i$lcssa$lcssa = 0, $scale$0$i = 0.0, $scale$1$i = 0.0, $scale$2$i = 0.0, $sign$0 = 0, $storemerge$i = 0, $sum$i = 0, $x$0$i = 0, $x$0$i$lcssa = 0, $x$1$i = 0, $x$2$i = 0, $x$3$lcssa$i = 0, $x$324$i = 0, $x$4$lcssa$i = 0, $x$419$i = 0, $x$5$i = 0, $x$6$i = 0, $x$i = 0, $y$0$i = 0.0; - var $y$0$i$lcssa = 0.0, $y$1$i = 0.0, $y$1$i24 = 0.0, $y$2$i = 0.0, $y$2$i26 = 0.0, $y$3$i = 0.0, $y$3$lcssa$i = 0.0, $y$320$i = 0.0, $y$4$i = 0.0, $y$5$i = 0.0, $z$0$i = 0, $z$1$i = 0, $z$1$ph37$i = 0, $z$2$i = 0, $z$3$i = 0, $z$3$i$lcssa = 0, $z$3$i$lcssa$lcssa = 0, $z$4$i = 0, $z$5$ph$i = 0, $z$7$1$i = 0; - var $z$7$i = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 512|0; - $x$i = sp; - switch ($prec|0) { - case 0: { - $bits$0$ph = 24;$emin$0$ph = -149; - label = 4; - break; - } - case 1: { - $bits$0$ph = 53;$emin$0$ph = -1074; - label = 4; - break; - } - case 2: { - $bits$0$ph = 53;$emin$0$ph = -1074; - label = 4; - break; - } - default: { - $$0 = 0.0; - } - } - L4: do { - if ((label|0) == 4) { - $0 = ((($f)) + 4|0); - $1 = ((($f)) + 100|0); - while(1) { - $2 = HEAP32[$0>>2]|0; - $3 = HEAP32[$1>>2]|0; - $4 = ($2>>>0)<($3>>>0); - if ($4) { - $5 = ((($2)) + 1|0); - HEAP32[$0>>2] = $5; - $6 = HEAP8[$2>>0]|0; - $7 = $6&255; - $9 = $7; - } else { - $8 = (___shgetc($f)|0); - $9 = $8; - } - $10 = (_isspace($9)|0); - $11 = ($10|0)==(0); - if ($11) { - $$lcssa275 = $9; - break; - } - } - $12 = ($$lcssa275|0)==(45); - L13: do { - switch ($$lcssa275|0) { - case 43: case 45: { - $13 = $12&1; - $14 = $13 << 1; - $15 = (1 - ($14))|0; - $16 = HEAP32[$0>>2]|0; - $17 = HEAP32[$1>>2]|0; - $18 = ($16>>>0)<($17>>>0); - if ($18) { - $19 = ((($16)) + 1|0); - HEAP32[$0>>2] = $19; - $20 = HEAP8[$16>>0]|0; - $21 = $20&255; - $c$0 = $21;$sign$0 = $15; - break L13; - } else { - $22 = (___shgetc($f)|0); - $c$0 = $22;$sign$0 = $15; - break L13; - } - break; - } - default: { - $c$0 = $$lcssa275;$sign$0 = 1; - } - } - } while(0); - $c$179 = $c$0;$i$078 = 0; - while(1) { - $23 = $c$179 | 32; - $24 = (28678 + ($i$078)|0); - $25 = HEAP8[$24>>0]|0; - $26 = $25 << 24 >> 24; - $27 = ($23|0)==($26|0); - if (!($27)) { - $c$1$lcssa = $c$179;$i$0$lcssa = $i$078; - break; - } - $28 = ($i$078>>>0)<(7); - do { - if ($28) { - $29 = HEAP32[$0>>2]|0; - $30 = HEAP32[$1>>2]|0; - $31 = ($29>>>0)<($30>>>0); - if ($31) { - $32 = ((($29)) + 1|0); - HEAP32[$0>>2] = $32; - $33 = HEAP8[$29>>0]|0; - $34 = $33&255; - $c$2 = $34; - break; - } else { - $35 = (___shgetc($f)|0); - $c$2 = $35; - break; - } - } else { - $c$2 = $c$179; - } - } while(0); - $36 = (($i$078) + 1)|0; - $37 = ($36>>>0)<(8); - if ($37) { - $c$179 = $c$2;$i$078 = $36; - } else { - $c$1$lcssa = $c$2;$i$0$lcssa = $36; - break; - } - } - L29: do { - switch ($i$0$lcssa|0) { - case 8: { - break; - } - case 3: { - label = 23; - break; - } - default: { - $38 = ($i$0$lcssa>>>0)>(3); - $39 = ($pok|0)!=(0); - $or$cond5 = $39 & $38; - if ($or$cond5) { - $40 = ($i$0$lcssa|0)==(8); - if ($40) { - break L29; - } else { - label = 23; - break L29; - } - } - $53 = ($i$0$lcssa|0)==(0); - L34: do { - if ($53) { - $c$377 = $c$1$lcssa;$i$276 = 0; - while(1) { - $54 = $c$377 | 32; - $55 = (30513 + ($i$276)|0); - $56 = HEAP8[$55>>0]|0; - $57 = $56 << 24 >> 24; - $58 = ($54|0)==($57|0); - if (!($58)) { - $c$5 = $c$377;$i$3 = $i$276; - break L34; - } - $59 = ($i$276>>>0)<(2); - do { - if ($59) { - $60 = HEAP32[$0>>2]|0; - $61 = HEAP32[$1>>2]|0; - $62 = ($60>>>0)<($61>>>0); - if ($62) { - $63 = ((($60)) + 1|0); - HEAP32[$0>>2] = $63; - $64 = HEAP8[$60>>0]|0; - $65 = $64&255; - $c$4 = $65; - break; - } else { - $66 = (___shgetc($f)|0); - $c$4 = $66; - break; - } - } else { - $c$4 = $c$377; - } - } while(0); - $67 = (($i$276) + 1)|0; - $68 = ($67>>>0)<(3); - if ($68) { - $c$377 = $c$4;$i$276 = $67; - } else { - $c$5 = $c$4;$i$3 = $67; - break; - } - } - } else { - $c$5 = $c$1$lcssa;$i$3 = $i$0$lcssa; - } - } while(0); - switch ($i$3|0) { - case 3: { - $69 = HEAP32[$0>>2]|0; - $70 = HEAP32[$1>>2]|0; - $71 = ($69>>>0)<($70>>>0); - if ($71) { - $72 = ((($69)) + 1|0); - HEAP32[$0>>2] = $72; - $73 = HEAP8[$69>>0]|0; - $74 = $73&255; - $76 = $74; - } else { - $75 = (___shgetc($f)|0); - $76 = $75; - } - $77 = ($76|0)==(40); - if ($77) { - $i$4 = 1; - } else { - $78 = HEAP32[$1>>2]|0; - $79 = ($78|0)==(0|0); - if ($79) { - $$0 = nan; - break L4; - } - $80 = HEAP32[$0>>2]|0; - $81 = ((($80)) + -1|0); - HEAP32[$0>>2] = $81; - $$0 = nan; - break L4; - } - while(1) { - $82 = HEAP32[$0>>2]|0; - $83 = HEAP32[$1>>2]|0; - $84 = ($82>>>0)<($83>>>0); - if ($84) { - $85 = ((($82)) + 1|0); - HEAP32[$0>>2] = $85; - $86 = HEAP8[$82>>0]|0; - $87 = $86&255; - $90 = $87; - } else { - $88 = (___shgetc($f)|0); - $90 = $88; - } - $89 = (($90) + -48)|0; - $91 = ($89>>>0)<(10); - $92 = (($90) + -65)|0; - $93 = ($92>>>0)<(26); - $or$cond = $91 | $93; - if (!($or$cond)) { - $94 = (($90) + -97)|0; - $95 = ($94>>>0)<(26); - $96 = ($90|0)==(95); - $or$cond7 = $96 | $95; - if (!($or$cond7)) { - $$lcssa = $90;$i$4$lcssa = $i$4; - break; - } - } - $108 = (($i$4) + 1)|0; - $i$4 = $108; - } - $97 = ($$lcssa|0)==(41); - if ($97) { - $$0 = nan; - break L4; - } - $98 = HEAP32[$1>>2]|0; - $99 = ($98|0)==(0|0); - if (!($99)) { - $100 = HEAP32[$0>>2]|0; - $101 = ((($100)) + -1|0); - HEAP32[$0>>2] = $101; - } - if (!($39)) { - $103 = (___errno_location()|0); - HEAP32[$103>>2] = 22; - ___shlim($f,0); - $$0 = 0.0; - break L4; - } - $102 = ($i$4$lcssa|0)==(0); - if ($102) { - $$0 = nan; - break L4; - } else { - $$in = $i$4$lcssa; - } - while(1) { - $104 = (($$in) + -1)|0; - if (!($99)) { - $105 = HEAP32[$0>>2]|0; - $106 = ((($105)) + -1|0); - HEAP32[$0>>2] = $106; - } - $107 = ($104|0)==(0); - if ($107) { - $$0 = nan; - break L4; - } else { - $$in = $104; - } - } - break; - } - case 0: { - $114 = ($c$5|0)==(48); - do { - if ($114) { - $115 = HEAP32[$0>>2]|0; - $116 = HEAP32[$1>>2]|0; - $117 = ($115>>>0)<($116>>>0); - if ($117) { - $118 = ((($115)) + 1|0); - HEAP32[$0>>2] = $118; - $119 = HEAP8[$115>>0]|0; - $120 = $119&255; - $123 = $120; - } else { - $121 = (___shgetc($f)|0); - $123 = $121; - } - $122 = $123 | 32; - $124 = ($122|0)==(120); - if (!($124)) { - $326 = HEAP32[$1>>2]|0; - $327 = ($326|0)==(0|0); - if ($327) { - $c$6 = 48; - break; - } - $328 = HEAP32[$0>>2]|0; - $329 = ((($328)) + -1|0); - HEAP32[$0>>2] = $329; - $c$6 = 48; - break; - } - $125 = HEAP32[$0>>2]|0; - $126 = HEAP32[$1>>2]|0; - $127 = ($125>>>0)<($126>>>0); - if ($127) { - $128 = ((($125)) + 1|0); - HEAP32[$0>>2] = $128; - $129 = HEAP8[$125>>0]|0; - $130 = $129&255; - $c$0$i = $130;$gotdig$0$i = 0; - } else { - $131 = (___shgetc($f)|0); - $c$0$i = $131;$gotdig$0$i = 0; - } - L94: while(1) { - switch ($c$0$i|0) { - case 46: { - $gotdig$0$i$lcssa242 = $gotdig$0$i; - label = 74; - break L94; - break; - } - case 48: { - break; - } - default: { - $168 = 0;$170 = 0;$694 = 0;$695 = 0;$c$2$i = $c$0$i;$gotdig$2$i = $gotdig$0$i;$gotrad$0$i = 0;$gottail$0$i = 0;$scale$0$i = 1.0;$x$0$i = 0;$y$0$i = 0.0; - break L94; - } - } - $132 = HEAP32[$0>>2]|0; - $133 = HEAP32[$1>>2]|0; - $134 = ($132>>>0)<($133>>>0); - if ($134) { - $135 = ((($132)) + 1|0); - HEAP32[$0>>2] = $135; - $136 = HEAP8[$132>>0]|0; - $137 = $136&255; - $c$0$i = $137;$gotdig$0$i = 1; - continue; - } else { - $138 = (___shgetc($f)|0); - $c$0$i = $138;$gotdig$0$i = 1; - continue; - } - } - if ((label|0) == 74) { - $139 = HEAP32[$0>>2]|0; - $140 = HEAP32[$1>>2]|0; - $141 = ($139>>>0)<($140>>>0); - if ($141) { - $142 = ((($139)) + 1|0); - HEAP32[$0>>2] = $142; - $143 = HEAP8[$139>>0]|0; - $144 = $143&255; - $c$1$ph$i = $144; - } else { - $145 = (___shgetc($f)|0); - $c$1$ph$i = $145; - } - $146 = ($c$1$ph$i|0)==(48); - if ($146) { - $154 = 0;$155 = 0; - while(1) { - $147 = HEAP32[$0>>2]|0; - $148 = HEAP32[$1>>2]|0; - $149 = ($147>>>0)<($148>>>0); - if ($149) { - $150 = ((($147)) + 1|0); - HEAP32[$0>>2] = $150; - $151 = HEAP8[$147>>0]|0; - $152 = $151&255; - $158 = $152; - } else { - $153 = (___shgetc($f)|0); - $158 = $153; - } - $156 = (_i64Add(($154|0),($155|0),-1,-1)|0); - $157 = tempRet0; - $159 = ($158|0)==(48); - if ($159) { - $154 = $156;$155 = $157; - } else { - $168 = 0;$170 = 0;$694 = $156;$695 = $157;$c$2$i = $158;$gotdig$2$i = 1;$gotrad$0$i = 1;$gottail$0$i = 0;$scale$0$i = 1.0;$x$0$i = 0;$y$0$i = 0.0; - break; - } - } - } else { - $168 = 0;$170 = 0;$694 = 0;$695 = 0;$c$2$i = $c$1$ph$i;$gotdig$2$i = $gotdig$0$i$lcssa242;$gotrad$0$i = 1;$gottail$0$i = 0;$scale$0$i = 1.0;$x$0$i = 0;$y$0$i = 0.0; - } - } - while(1) { - $160 = (($c$2$i) + -48)|0; - $161 = ($160>>>0)<(10); - $$pre$i = $c$2$i | 32; - if ($161) { - label = 86; - } else { - $162 = (($$pre$i) + -97)|0; - $163 = ($162>>>0)<(6); - $164 = ($c$2$i|0)==(46); - $or$cond6$i = $164 | $163; - if (!($or$cond6$i)) { - $212 = $694;$213 = $170;$215 = $695;$216 = $168;$c$2$lcssa$i = $c$2$i;$gotdig$2$i$lcssa = $gotdig$2$i;$gotrad$0$i$lcssa = $gotrad$0$i;$x$0$i$lcssa = $x$0$i;$y$0$i$lcssa = $y$0$i; - break; - } - if ($164) { - $165 = ($gotrad$0$i|0)==(0); - if ($165) { - $696 = $170;$697 = $168;$698 = $170;$699 = $168;$gotdig$3$i = $gotdig$2$i;$gotrad$1$i = 1;$gottail$2$i = $gottail$0$i;$scale$2$i = $scale$0$i;$x$2$i = $x$0$i;$y$2$i = $y$0$i; - } else { - $212 = $694;$213 = $170;$215 = $695;$216 = $168;$c$2$lcssa$i = 46;$gotdig$2$i$lcssa = $gotdig$2$i;$gotrad$0$i$lcssa = $gotrad$0$i;$x$0$i$lcssa = $x$0$i;$y$0$i$lcssa = $y$0$i; - break; - } - } else { - label = 86; - } - } - if ((label|0) == 86) { - label = 0; - $166 = ($c$2$i|0)>(57); - $167 = (($$pre$i) + -87)|0; - $d$0$i = $166 ? $167 : $160; - $169 = ($168|0)<(0); - $171 = ($170>>>0)<(8); - $172 = ($168|0)==(0); - $173 = $172 & $171; - $174 = $169 | $173; - do { - if ($174) { - $175 = $x$0$i << 4; - $176 = (($d$0$i) + ($175))|0; - $gottail$1$i = $gottail$0$i;$scale$1$i = $scale$0$i;$x$1$i = $176;$y$1$i = $y$0$i; - } else { - $177 = ($168|0)<(0); - $178 = ($170>>>0)<(14); - $179 = ($168|0)==(0); - $180 = $179 & $178; - $181 = $177 | $180; - if ($181) { - $182 = (+($d$0$i|0)); - $183 = $scale$0$i * 0.0625; - $184 = $183 * $182; - $185 = $y$0$i + $184; - $gottail$1$i = $gottail$0$i;$scale$1$i = $183;$x$1$i = $x$0$i;$y$1$i = $185; - break; - } - $186 = ($d$0$i|0)==(0); - $187 = ($gottail$0$i|0)!=(0); - $or$cond$i = $187 | $186; - if ($or$cond$i) { - $gottail$1$i = $gottail$0$i;$scale$1$i = $scale$0$i;$x$1$i = $x$0$i;$y$1$i = $y$0$i; - } else { - $188 = $scale$0$i * 0.5; - $189 = $y$0$i + $188; - $gottail$1$i = 1;$scale$1$i = $scale$0$i;$x$1$i = $x$0$i;$y$1$i = $189; - } - } - } while(0); - $190 = (_i64Add(($170|0),($168|0),1,0)|0); - $191 = tempRet0; - $696 = $694;$697 = $695;$698 = $190;$699 = $191;$gotdig$3$i = 1;$gotrad$1$i = $gotrad$0$i;$gottail$2$i = $gottail$1$i;$scale$2$i = $scale$1$i;$x$2$i = $x$1$i;$y$2$i = $y$1$i; - } - $192 = HEAP32[$0>>2]|0; - $193 = HEAP32[$1>>2]|0; - $194 = ($192>>>0)<($193>>>0); - if ($194) { - $195 = ((($192)) + 1|0); - HEAP32[$0>>2] = $195; - $196 = HEAP8[$192>>0]|0; - $197 = $196&255; - $168 = $699;$170 = $698;$694 = $696;$695 = $697;$c$2$i = $197;$gotdig$2$i = $gotdig$3$i;$gotrad$0$i = $gotrad$1$i;$gottail$0$i = $gottail$2$i;$scale$0$i = $scale$2$i;$x$0$i = $x$2$i;$y$0$i = $y$2$i; - continue; - } else { - $198 = (___shgetc($f)|0); - $168 = $699;$170 = $698;$694 = $696;$695 = $697;$c$2$i = $198;$gotdig$2$i = $gotdig$3$i;$gotrad$0$i = $gotrad$1$i;$gottail$0$i = $gottail$2$i;$scale$0$i = $scale$2$i;$x$0$i = $x$2$i;$y$0$i = $y$2$i; - continue; - } - } - $199 = ($gotdig$2$i$lcssa|0)==(0); - if ($199) { - $200 = HEAP32[$1>>2]|0; - $201 = ($200|0)==(0|0); - if (!($201)) { - $202 = HEAP32[$0>>2]|0; - $203 = ((($202)) + -1|0); - HEAP32[$0>>2] = $203; - } - $204 = ($pok|0)==(0); - if ($204) { - ___shlim($f,0); - } else { - if (!($201)) { - $205 = HEAP32[$0>>2]|0; - $206 = ((($205)) + -1|0); - HEAP32[$0>>2] = $206; - $207 = ($gotrad$0$i$lcssa|0)==(0); - if (!($207)) { - $208 = ((($205)) + -2|0); - HEAP32[$0>>2] = $208; - } - } - } - $209 = (+($sign$0|0)); - $210 = $209 * 0.0; - $$0 = $210; - break L4; - } - $211 = ($gotrad$0$i$lcssa|0)==(0); - $214 = $211 ? $213 : $212; - $217 = $211 ? $216 : $215; - $218 = ($216|0)<(0); - $219 = ($213>>>0)<(8); - $220 = ($216|0)==(0); - $221 = $220 & $219; - $222 = $218 | $221; - if ($222) { - $224 = $213;$225 = $216;$x$324$i = $x$0$i$lcssa; - while(1) { - $223 = $x$324$i << 4; - $226 = (_i64Add(($224|0),($225|0),1,0)|0); - $227 = tempRet0; - $228 = ($227|0)<(0); - $229 = ($226>>>0)<(8); - $230 = ($227|0)==(0); - $231 = $230 & $229; - $232 = $228 | $231; - if ($232) { - $224 = $226;$225 = $227;$x$324$i = $223; - } else { - $x$3$lcssa$i = $223; - break; - } - } - } else { - $x$3$lcssa$i = $x$0$i$lcssa; - } - $233 = $c$2$lcssa$i | 32; - $234 = ($233|0)==(112); - if ($234) { - $235 = (_scanexp($f,$pok)|0); - $236 = tempRet0; - $237 = ($235|0)==(0); - $238 = ($236|0)==(-2147483648); - $239 = $237 & $238; - if ($239) { - $240 = ($pok|0)==(0); - if ($240) { - ___shlim($f,0); - $$0 = 0.0; - break L4; - } - $241 = HEAP32[$1>>2]|0; - $242 = ($241|0)==(0|0); - if ($242) { - $253 = 0;$254 = 0; - } else { - $243 = HEAP32[$0>>2]|0; - $244 = ((($243)) + -1|0); - HEAP32[$0>>2] = $244; - $253 = 0;$254 = 0; - } - } else { - $253 = $235;$254 = $236; - } - } else { - $245 = HEAP32[$1>>2]|0; - $246 = ($245|0)==(0|0); - if ($246) { - $253 = 0;$254 = 0; - } else { - $247 = HEAP32[$0>>2]|0; - $248 = ((($247)) + -1|0); - HEAP32[$0>>2] = $248; - $253 = 0;$254 = 0; - } - } - $249 = (_bitshift64Shl(($214|0),($217|0),2)|0); - $250 = tempRet0; - $251 = (_i64Add(($249|0),($250|0),-32,-1)|0); - $252 = tempRet0; - $255 = (_i64Add(($251|0),($252|0),($253|0),($254|0))|0); - $256 = tempRet0; - $257 = ($x$3$lcssa$i|0)==(0); - if ($257) { - $258 = (+($sign$0|0)); - $259 = $258 * 0.0; - $$0 = $259; - break L4; - } - $260 = (0 - ($emin$0$ph))|0; - $261 = ($256|0)>(0); - $262 = ($255>>>0)>($260>>>0); - $263 = ($256|0)==(0); - $264 = $263 & $262; - $265 = $261 | $264; - if ($265) { - $266 = (___errno_location()|0); - HEAP32[$266>>2] = 34; - $267 = (+($sign$0|0)); - $268 = $267 * 1.7976931348623157E+308; - $269 = $268 * 1.7976931348623157E+308; - $$0 = $269; - break L4; - } - $270 = (($emin$0$ph) + -106)|0; - $271 = ($270|0)<(0); - $272 = $271 << 31 >> 31; - $273 = ($256|0)<($272|0); - $274 = ($255>>>0)<($270>>>0); - $275 = ($256|0)==($272|0); - $276 = $275 & $274; - $277 = $273 | $276; - if ($277) { - $279 = (___errno_location()|0); - HEAP32[$279>>2] = 34; - $280 = (+($sign$0|0)); - $281 = $280 * 2.2250738585072014E-308; - $282 = $281 * 2.2250738585072014E-308; - $$0 = $282; - break L4; - } - $278 = ($x$3$lcssa$i|0)>(-1); - if ($278) { - $288 = $255;$289 = $256;$x$419$i = $x$3$lcssa$i;$y$320$i = $y$0$i$lcssa; - while(1) { - $283 = !($y$320$i >= 0.5); - $284 = $x$419$i << 1; - $285 = $y$320$i + -1.0; - $286 = $283&1; - $287 = $286 | $284; - $x$5$i = $287 ^ 1; - $$pn$i = $283 ? $y$320$i : $285; - $y$4$i = $y$320$i + $$pn$i; - $290 = (_i64Add(($288|0),($289|0),-1,-1)|0); - $291 = tempRet0; - $292 = ($287|0)>(-1); - if ($292) { - $288 = $290;$289 = $291;$x$419$i = $x$5$i;$y$320$i = $y$4$i; - } else { - $297 = $290;$298 = $291;$x$4$lcssa$i = $x$5$i;$y$3$lcssa$i = $y$4$i; - break; - } - } - } else { - $297 = $255;$298 = $256;$x$4$lcssa$i = $x$3$lcssa$i;$y$3$lcssa$i = $y$0$i$lcssa; - } - $293 = ($emin$0$ph|0)<(0); - $294 = $293 << 31 >> 31; - $295 = (_i64Subtract(32,0,($emin$0$ph|0),($294|0))|0); - $296 = tempRet0; - $299 = (_i64Add(($297|0),($298|0),($295|0),($296|0))|0); - $300 = tempRet0; - $301 = (0)>($300|0); - $302 = ($bits$0$ph>>>0)>($299>>>0); - $303 = (0)==($300|0); - $304 = $303 & $302; - $305 = $301 | $304; - if ($305) { - $306 = ($299|0)<(0); - if ($306) { - $$0710$i = 0; - label = 127; - } else { - $$07$i = $299; - label = 125; - } - } else { - $$07$i = $bits$0$ph; - label = 125; - } - if ((label|0) == 125) { - $307 = ($$07$i|0)<(53); - if ($307) { - $$0710$i = $$07$i; - label = 127; - } else { - $$pre41$i = (+($sign$0|0)); - $$0711$i = $$07$i;$$pre$phi42$iZ2D = $$pre41$i;$bias$0$i = 0.0; - } - } - if ((label|0) == 127) { - $308 = (84 - ($$0710$i))|0; - $309 = (+_scalbn(1.0,$308)); - $310 = (+($sign$0|0)); - $311 = (+_copysignl($309,$310)); - $$0711$i = $$0710$i;$$pre$phi42$iZ2D = $310;$bias$0$i = $311; - } - $312 = ($$0711$i|0)<(32); - $313 = $y$3$lcssa$i != 0.0; - $or$cond4$i = $313 & $312; - $314 = $x$4$lcssa$i & 1; - $315 = ($314|0)==(0); - $or$cond9$i = $315 & $or$cond4$i; - $316 = $or$cond9$i&1; - $x$6$i = (($316) + ($x$4$lcssa$i))|0; - $y$5$i = $or$cond9$i ? 0.0 : $y$3$lcssa$i; - $317 = (+($x$6$i>>>0)); - $318 = $$pre$phi42$iZ2D * $317; - $319 = $bias$0$i + $318; - $320 = $$pre$phi42$iZ2D * $y$5$i; - $321 = $320 + $319; - $322 = $321 - $bias$0$i; - $323 = $322 != 0.0; - if (!($323)) { - $324 = (___errno_location()|0); - HEAP32[$324>>2] = 34; - } - $325 = (+_scalbnl($322,$297)); - $$0 = $325; - break L4; - } else { - $c$6 = $c$5; - } - } while(0); - $sum$i = (($emin$0$ph) + ($bits$0$ph))|0; - $330 = (0 - ($sum$i))|0; - $$09$i = $c$6;$gotdig$0$i12 = 0; - L184: while(1) { - switch ($$09$i|0) { - case 46: { - $gotdig$0$i12$lcssa273 = $gotdig$0$i12; - label = 138; - break L184; - break; - } - case 48: { - break; - } - default: { - $$2$i = $$09$i;$700 = 0;$701 = 0;$gotdig$2$i13 = $gotdig$0$i12;$gotrad$0$i14 = 0; - break L184; - } - } - $331 = HEAP32[$0>>2]|0; - $332 = HEAP32[$1>>2]|0; - $333 = ($331>>>0)<($332>>>0); - if ($333) { - $334 = ((($331)) + 1|0); - HEAP32[$0>>2] = $334; - $335 = HEAP8[$331>>0]|0; - $336 = $335&255; - $$09$i = $336;$gotdig$0$i12 = 1; - continue; - } else { - $337 = (___shgetc($f)|0); - $$09$i = $337;$gotdig$0$i12 = 1; - continue; - } - } - if ((label|0) == 138) { - $338 = HEAP32[$0>>2]|0; - $339 = HEAP32[$1>>2]|0; - $340 = ($338>>>0)<($339>>>0); - if ($340) { - $341 = ((($338)) + 1|0); - HEAP32[$0>>2] = $341; - $342 = HEAP8[$338>>0]|0; - $343 = $342&255; - $$1$ph$i = $343; - } else { - $344 = (___shgetc($f)|0); - $$1$ph$i = $344; - } - $345 = ($$1$ph$i|0)==(48); - if ($345) { - $346 = 0;$347 = 0; - while(1) { - $348 = (_i64Add(($346|0),($347|0),-1,-1)|0); - $349 = tempRet0; - $350 = HEAP32[$0>>2]|0; - $351 = HEAP32[$1>>2]|0; - $352 = ($350>>>0)<($351>>>0); - if ($352) { - $353 = ((($350)) + 1|0); - HEAP32[$0>>2] = $353; - $354 = HEAP8[$350>>0]|0; - $355 = $354&255; - $$1$be$i = $355; - } else { - $356 = (___shgetc($f)|0); - $$1$be$i = $356; - } - $357 = ($$1$be$i|0)==(48); - if ($357) { - $346 = $348;$347 = $349; - } else { - $$2$i = $$1$be$i;$700 = $348;$701 = $349;$gotdig$2$i13 = 1;$gotrad$0$i14 = 1; - break; - } - } - } else { - $$2$i = $$1$ph$i;$700 = 0;$701 = 0;$gotdig$2$i13 = $gotdig$0$i12$lcssa273;$gotrad$0$i14 = 1; - } - } - HEAP32[$x$i>>2] = 0; - $358 = (($$2$i) + -48)|0; - $359 = ($358>>>0)<(10); - $360 = ($$2$i|0)==(46); - $361 = $360 | $359; - L203: do { - if ($361) { - $362 = ((($x$i)) + 496|0); - $$3105$i = $$2$i;$365 = 0;$366 = 0;$702 = $360;$703 = $358;$704 = $700;$705 = $701;$gotdig$3101$i = $gotdig$2$i13;$gotrad$1102$i = $gotrad$0$i14;$j$0104$i = 0;$k$0103$i = 0;$lnz$0100$i = 0; - L205: while(1) { - do { - if ($702) { - $cond$i = ($gotrad$1102$i|0)==(0); - if ($cond$i) { - $706 = $365;$707 = $366;$708 = $365;$709 = $366;$gotdig$4$i = $gotdig$3101$i;$gotrad$2$i = 1;$j$2$i = $j$0104$i;$k$2$i = $k$0103$i;$lnz$2$i = $lnz$0100$i; - } else { - $710 = $704;$711 = $705;$712 = $365;$713 = $366;$gotdig$3101$i$lcssa = $gotdig$3101$i;$j$0104$i$lcssa = $j$0104$i;$k$0103$i$lcssa = $k$0103$i;$lnz$0100$i$lcssa = $lnz$0100$i; - break L205; - } - } else { - $364 = ($k$0103$i|0)<(125); - $367 = (_i64Add(($365|0),($366|0),1,0)|0); - $368 = tempRet0; - $369 = ($$3105$i|0)!=(48); - if (!($364)) { - if (!($369)) { - $706 = $704;$707 = $705;$708 = $367;$709 = $368;$gotdig$4$i = $gotdig$3101$i;$gotrad$2$i = $gotrad$1102$i;$j$2$i = $j$0104$i;$k$2$i = $k$0103$i;$lnz$2$i = $lnz$0100$i; - break; - } - $379 = HEAP32[$362>>2]|0; - $380 = $379 | 1; - HEAP32[$362>>2] = $380; - $706 = $704;$707 = $705;$708 = $367;$709 = $368;$gotdig$4$i = $gotdig$3101$i;$gotrad$2$i = $gotrad$1102$i;$j$2$i = $j$0104$i;$k$2$i = $k$0103$i;$lnz$2$i = $lnz$0100$i; - break; - } - $$lnz$0$i = $369 ? $367 : $lnz$0100$i; - $370 = ($j$0104$i|0)==(0); - $371 = (($x$i) + ($k$0103$i<<2)|0); - if ($370) { - $storemerge$i = $703; - } else { - $372 = HEAP32[$371>>2]|0; - $373 = ($372*10)|0; - $374 = (($$3105$i) + -48)|0; - $375 = (($374) + ($373))|0; - $storemerge$i = $375; - } - HEAP32[$371>>2] = $storemerge$i; - $376 = (($j$0104$i) + 1)|0; - $377 = ($376|0)==(9); - $378 = $377&1; - $$k$0$i = (($378) + ($k$0103$i))|0; - $$11$i = $377 ? 0 : $376; - $706 = $704;$707 = $705;$708 = $367;$709 = $368;$gotdig$4$i = 1;$gotrad$2$i = $gotrad$1102$i;$j$2$i = $$11$i;$k$2$i = $$k$0$i;$lnz$2$i = $$lnz$0$i; - } - } while(0); - $381 = HEAP32[$0>>2]|0; - $382 = HEAP32[$1>>2]|0; - $383 = ($381>>>0)<($382>>>0); - if ($383) { - $384 = ((($381)) + 1|0); - HEAP32[$0>>2] = $384; - $385 = HEAP8[$381>>0]|0; - $386 = $385&255; - $$3$be$i = $386; - } else { - $387 = (___shgetc($f)|0); - $$3$be$i = $387; - } - $388 = (($$3$be$i) + -48)|0; - $389 = ($388>>>0)<(10); - $390 = ($$3$be$i|0)==(46); - $391 = $390 | $389; - if ($391) { - $$3105$i = $$3$be$i;$365 = $708;$366 = $709;$702 = $390;$703 = $388;$704 = $706;$705 = $707;$gotdig$3101$i = $gotdig$4$i;$gotrad$1102$i = $gotrad$2$i;$j$0104$i = $j$2$i;$k$0103$i = $k$2$i;$lnz$0100$i = $lnz$2$i; - } else { - $$3$lcssa$i = $$3$be$i;$393 = $706;$394 = $708;$396 = $707;$397 = $709;$gotdig$3$lcssa$i = $gotdig$4$i;$gotrad$1$lcssa$i = $gotrad$2$i;$j$0$lcssa$i = $j$2$i;$k$0$lcssa$i = $k$2$i;$lnz$0$lcssa$i = $lnz$2$i; - label = 161; - break L203; - } - } - $363 = ($gotdig$3101$i$lcssa|0)!=(0); - $714 = $712;$715 = $713;$716 = $710;$717 = $711;$718 = $363;$j$069$i = $j$0104$i$lcssa;$k$065$i = $k$0103$i$lcssa;$lnz$059$i = $lnz$0100$i$lcssa; - label = 169; - } else { - $$3$lcssa$i = $$2$i;$393 = $700;$394 = 0;$396 = $701;$397 = 0;$gotdig$3$lcssa$i = $gotdig$2$i13;$gotrad$1$lcssa$i = $gotrad$0$i14;$j$0$lcssa$i = 0;$k$0$lcssa$i = 0;$lnz$0$lcssa$i = 0; - label = 161; - } - } while(0); - do { - if ((label|0) == 161) { - $392 = ($gotrad$1$lcssa$i|0)==(0); - $395 = $392 ? $394 : $393; - $398 = $392 ? $397 : $396; - $399 = ($gotdig$3$lcssa$i|0)!=(0); - $400 = $$3$lcssa$i | 32; - $401 = ($400|0)==(101); - $or$cond13$i = $401 & $399; - if (!($or$cond13$i)) { - $416 = ($$3$lcssa$i|0)>(-1); - if ($416) { - $714 = $394;$715 = $397;$716 = $395;$717 = $398;$718 = $399;$j$069$i = $j$0$lcssa$i;$k$065$i = $k$0$lcssa$i;$lnz$059$i = $lnz$0$lcssa$i; - label = 169; - break; - } else { - $719 = $394;$720 = $397;$721 = $399;$722 = $395;$723 = $398;$j$068$i = $j$0$lcssa$i;$k$064$i = $k$0$lcssa$i;$lnz$058$i = $lnz$0$lcssa$i; - label = 171; - break; - } - } - $402 = (_scanexp($f,$pok)|0); - $403 = tempRet0; - $404 = ($402|0)==(0); - $405 = ($403|0)==(-2147483648); - $406 = $404 & $405; - if ($406) { - $407 = ($pok|0)==(0); - if ($407) { - ___shlim($f,0); - $$0$i27 = 0.0; - break; - } - $408 = HEAP32[$1>>2]|0; - $409 = ($408|0)==(0|0); - if ($409) { - $412 = 0;$413 = 0; - } else { - $410 = HEAP32[$0>>2]|0; - $411 = ((($410)) + -1|0); - HEAP32[$0>>2] = $411; - $412 = 0;$413 = 0; - } - } else { - $412 = $402;$413 = $403; - } - $414 = (_i64Add(($412|0),($413|0),($395|0),($398|0))|0); - $415 = tempRet0; - $426 = $414;$428 = $394;$429 = $415;$431 = $397;$j$067$i = $j$0$lcssa$i;$k$063$i = $k$0$lcssa$i;$lnz$057$i = $lnz$0$lcssa$i; - label = 173; - } - } while(0); - if ((label|0) == 169) { - $417 = HEAP32[$1>>2]|0; - $418 = ($417|0)==(0|0); - if ($418) { - $719 = $714;$720 = $715;$721 = $718;$722 = $716;$723 = $717;$j$068$i = $j$069$i;$k$064$i = $k$065$i;$lnz$058$i = $lnz$059$i; - label = 171; - } else { - $419 = HEAP32[$0>>2]|0; - $420 = ((($419)) + -1|0); - HEAP32[$0>>2] = $420; - if ($718) { - $426 = $716;$428 = $714;$429 = $717;$431 = $715;$j$067$i = $j$069$i;$k$063$i = $k$065$i;$lnz$057$i = $lnz$059$i; - label = 173; - } else { - label = 172; - } - } - } - if ((label|0) == 171) { - if ($721) { - $426 = $722;$428 = $719;$429 = $723;$431 = $720;$j$067$i = $j$068$i;$k$063$i = $k$064$i;$lnz$057$i = $lnz$058$i; - label = 173; - } else { - label = 172; - } - } - do { - if ((label|0) == 172) { - $421 = (___errno_location()|0); - HEAP32[$421>>2] = 22; - ___shlim($f,0); - $$0$i27 = 0.0; - } - else if ((label|0) == 173) { - $422 = HEAP32[$x$i>>2]|0; - $423 = ($422|0)==(0); - if ($423) { - $424 = (+($sign$0|0)); - $425 = $424 * 0.0; - $$0$i27 = $425; - break; - } - $427 = ($426|0)==($428|0); - $430 = ($429|0)==($431|0); - $432 = $427 & $430; - $433 = ($431|0)<(0); - $434 = ($428>>>0)<(10); - $435 = ($431|0)==(0); - $436 = $435 & $434; - $437 = $433 | $436; - $or$cond$i16 = $437 & $432; - if ($or$cond$i16) { - $438 = ($bits$0$ph>>>0)>(30); - $439 = $422 >>> $bits$0$ph; - $440 = ($439|0)==(0); - $or$cond15$i = $438 | $440; - if ($or$cond15$i) { - $441 = (+($sign$0|0)); - $442 = (+($422>>>0)); - $443 = $441 * $442; - $$0$i27 = $443; - break; - } - } - $444 = (($emin$0$ph|0) / -2)&-1; - $445 = ($444|0)<(0); - $446 = $445 << 31 >> 31; - $447 = ($429|0)>($446|0); - $448 = ($426>>>0)>($444>>>0); - $449 = ($429|0)==($446|0); - $450 = $449 & $448; - $451 = $447 | $450; - if ($451) { - $452 = (___errno_location()|0); - HEAP32[$452>>2] = 34; - $453 = (+($sign$0|0)); - $454 = $453 * 1.7976931348623157E+308; - $455 = $454 * 1.7976931348623157E+308; - $$0$i27 = $455; - break; - } - $456 = (($emin$0$ph) + -106)|0; - $457 = ($456|0)<(0); - $458 = $457 << 31 >> 31; - $459 = ($429|0)<($458|0); - $460 = ($426>>>0)<($456>>>0); - $461 = ($429|0)==($458|0); - $462 = $461 & $460; - $463 = $459 | $462; - if ($463) { - $464 = (___errno_location()|0); - HEAP32[$464>>2] = 34; - $465 = (+($sign$0|0)); - $466 = $465 * 2.2250738585072014E-308; - $467 = $466 * 2.2250738585072014E-308; - $$0$i27 = $467; - break; - } - $468 = ($j$067$i|0)==(0); - if ($468) { - $k$3$i = $k$063$i; - } else { - $469 = ($j$067$i|0)<(9); - if ($469) { - $470 = (($x$i) + ($k$063$i<<2)|0); - $$promoted$i = HEAP32[$470>>2]|0; - $472 = $$promoted$i;$j$394$i = $j$067$i; - while(1) { - $471 = ($472*10)|0; - $473 = (($j$394$i) + 1)|0; - $exitcond$i = ($473|0)==(9); - if ($exitcond$i) { - $$lcssa265 = $471; - break; - } else { - $472 = $471;$j$394$i = $473; - } - } - HEAP32[$470>>2] = $$lcssa265; - } - $474 = (($k$063$i) + 1)|0; - $k$3$i = $474; - } - $475 = ($lnz$057$i|0)<(9); - if ($475) { - $476 = ($lnz$057$i|0)<=($426|0); - $477 = ($426|0)<(18); - $or$cond3$i = $476 & $477; - if ($or$cond3$i) { - $478 = ($426|0)==(9); - if ($478) { - $479 = (+($sign$0|0)); - $480 = HEAP32[$x$i>>2]|0; - $481 = (+($480>>>0)); - $482 = $479 * $481; - $$0$i27 = $482; - break; - } - $483 = ($426|0)<(9); - if ($483) { - $484 = (+($sign$0|0)); - $485 = HEAP32[$x$i>>2]|0; - $486 = (+($485>>>0)); - $487 = $484 * $486; - $488 = (8 - ($426))|0; - $489 = (8912 + ($488<<2)|0); - $490 = HEAP32[$489>>2]|0; - $491 = (+($490|0)); - $492 = $487 / $491; - $$0$i27 = $492; - break; - } - $$neg32$i = (($bits$0$ph) + 27)|0; - $493 = Math_imul($426, -3)|0; - $494 = (($$neg32$i) + ($493))|0; - $495 = ($494|0)>(30); - $$pre$i17 = HEAP32[$x$i>>2]|0; - $496 = $$pre$i17 >>> $494; - $497 = ($496|0)==(0); - $or$cond182$i = $495 | $497; - if ($or$cond182$i) { - $498 = (+($sign$0|0)); - $499 = (+($$pre$i17>>>0)); - $500 = $498 * $499; - $501 = (($426) + -10)|0; - $502 = (8912 + ($501<<2)|0); - $503 = HEAP32[$502>>2]|0; - $504 = (+($503|0)); - $505 = $500 * $504; - $$0$i27 = $505; - break; - } - } - } - $506 = (($426|0) % 9)&-1; - $507 = ($506|0)==(0); - if ($507) { - $a$2$ph38$i = 0;$e2$0$ph$i = 0;$rp$2$ph36$i = $426;$z$1$ph37$i = $k$3$i; - } else { - $508 = ($426|0)>(-1); - $509 = (($506) + 9)|0; - $510 = $508 ? $506 : $509; - $511 = (8 - ($510))|0; - $512 = (8912 + ($511<<2)|0); - $513 = HEAP32[$512>>2]|0; - $514 = ($k$3$i|0)==(0); - if ($514) { - $a$0$lcssa151$i = 0;$rp$0$lcssa152$i = $426;$z$0$i = 0; - } else { - $515 = (1000000000 / ($513|0))&-1; - $a$085$i = 0;$carry$087$i = 0;$k$486$i = 0;$rp$084$i = $426; - while(1) { - $516 = (($x$i) + ($k$486$i<<2)|0); - $517 = HEAP32[$516>>2]|0; - $518 = (($517>>>0) % ($513>>>0))&-1; - $519 = (($517>>>0) / ($513>>>0))&-1; - $520 = (($519) + ($carry$087$i))|0; - HEAP32[$516>>2] = $520; - $521 = Math_imul($518, $515)|0; - $522 = ($k$486$i|0)==($a$085$i|0); - $523 = ($520|0)==(0); - $or$cond16$i = $522 & $523; - $524 = (($k$486$i) + 1)|0; - $525 = $524 & 127; - $526 = (($rp$084$i) + -9)|0; - $rp$1$i18 = $or$cond16$i ? $526 : $rp$084$i; - $a$1$i = $or$cond16$i ? $525 : $a$085$i; - $527 = ($524|0)==($k$3$i|0); - if ($527) { - $$lcssa264 = $521;$a$1$i$lcssa = $a$1$i;$rp$1$i18$lcssa = $rp$1$i18; - break; - } else { - $a$085$i = $a$1$i;$carry$087$i = $521;$k$486$i = $524;$rp$084$i = $rp$1$i18; - } - } - $528 = ($$lcssa264|0)==(0); - if ($528) { - $a$0$lcssa151$i = $a$1$i$lcssa;$rp$0$lcssa152$i = $rp$1$i18$lcssa;$z$0$i = $k$3$i; - } else { - $529 = (($k$3$i) + 1)|0; - $530 = (($x$i) + ($k$3$i<<2)|0); - HEAP32[$530>>2] = $$lcssa264; - $a$0$lcssa151$i = $a$1$i$lcssa;$rp$0$lcssa152$i = $rp$1$i18$lcssa;$z$0$i = $529; - } - } - $531 = (9 - ($510))|0; - $532 = (($531) + ($rp$0$lcssa152$i))|0; - $a$2$ph38$i = $a$0$lcssa151$i;$e2$0$ph$i = 0;$rp$2$ph36$i = $532;$z$1$ph37$i = $z$0$i; - } - L284: while(1) { - $533 = ($rp$2$ph36$i|0)<(18); - $534 = ($rp$2$ph36$i|0)==(18); - $535 = (($x$i) + ($a$2$ph38$i<<2)|0); - $e2$0$i19 = $e2$0$ph$i;$z$1$i = $z$1$ph37$i; - while(1) { - if (!($533)) { - if (!($534)) { - $a$3$ph$i = $a$2$ph38$i;$e2$1$ph$i = $e2$0$i19;$rp$3$ph34$i = $rp$2$ph36$i;$z$5$ph$i = $z$1$i; - break L284; - } - $536 = HEAP32[$535>>2]|0; - $537 = ($536>>>0)<(9007199); - if (!($537)) { - $a$3$ph$i = $a$2$ph38$i;$e2$1$ph$i = $e2$0$i19;$rp$3$ph34$i = 18;$z$5$ph$i = $z$1$i; - break L284; - } - } - $538 = (($z$1$i) + 127)|0; - $carry1$0$i = 0;$k$5$in$i = $538;$z$2$i = $z$1$i; - while(1) { - $k$5$i = $k$5$in$i & 127; - $539 = (($x$i) + ($k$5$i<<2)|0); - $540 = HEAP32[$539>>2]|0; - $541 = (_bitshift64Shl(($540|0),0,29)|0); - $542 = tempRet0; - $543 = (_i64Add(($541|0),($542|0),($carry1$0$i|0),0)|0); - $544 = tempRet0; - $545 = ($544>>>0)>(0); - $546 = ($543>>>0)>(1000000000); - $547 = ($544|0)==(0); - $548 = $547 & $546; - $549 = $545 | $548; - if ($549) { - $550 = (___udivdi3(($543|0),($544|0),1000000000,0)|0); - $551 = tempRet0; - $552 = (___uremdi3(($543|0),($544|0),1000000000,0)|0); - $553 = tempRet0; - $$sink$off0$i = $552;$carry1$1$i = $550; - } else { - $$sink$off0$i = $543;$carry1$1$i = 0; - } - HEAP32[$539>>2] = $$sink$off0$i; - $554 = (($z$2$i) + 127)|0; - $555 = $554 & 127; - $556 = ($k$5$i|0)!=($555|0); - $557 = ($k$5$i|0)==($a$2$ph38$i|0); - $or$cond17$i = $556 | $557; - $558 = ($$sink$off0$i|0)==(0); - $k$5$z$2$i = $558 ? $k$5$i : $z$2$i; - $z$3$i = $or$cond17$i ? $z$2$i : $k$5$z$2$i; - $559 = (($k$5$i) + -1)|0; - if ($557) { - $carry1$1$i$lcssa = $carry1$1$i;$z$3$i$lcssa = $z$3$i; - break; - } else { - $carry1$0$i = $carry1$1$i;$k$5$in$i = $559;$z$2$i = $z$3$i; - } - } - $560 = (($e2$0$i19) + -29)|0; - $561 = ($carry1$1$i$lcssa|0)==(0); - if ($561) { - $e2$0$i19 = $560;$z$1$i = $z$3$i$lcssa; - } else { - $$lcssa263 = $560;$carry1$1$i$lcssa$lcssa = $carry1$1$i$lcssa;$z$3$i$lcssa$lcssa = $z$3$i$lcssa; - break; - } - } - $562 = (($rp$2$ph36$i) + 9)|0; - $563 = (($a$2$ph38$i) + 127)|0; - $564 = $563 & 127; - $565 = ($564|0)==($z$3$i$lcssa$lcssa|0); - if ($565) { - $566 = (($z$3$i$lcssa$lcssa) + 127)|0; - $567 = $566 & 127; - $568 = (($x$i) + ($567<<2)|0); - $569 = HEAP32[$568>>2]|0; - $570 = (($z$3$i$lcssa$lcssa) + 126)|0; - $571 = $570 & 127; - $572 = (($x$i) + ($571<<2)|0); - $573 = HEAP32[$572>>2]|0; - $574 = $573 | $569; - HEAP32[$572>>2] = $574; - $z$4$i = $567; - } else { - $z$4$i = $z$3$i$lcssa$lcssa; - } - $575 = (($x$i) + ($564<<2)|0); - HEAP32[$575>>2] = $carry1$1$i$lcssa$lcssa; - $a$2$ph38$i = $564;$e2$0$ph$i = $$lcssa263;$rp$2$ph36$i = $562;$z$1$ph37$i = $z$4$i; - } - L302: while(1) { - $606 = (($z$5$ph$i) + 1)|0; - $603 = $606 & 127; - $607 = (($z$5$ph$i) + 127)|0; - $608 = $607 & 127; - $609 = (($x$i) + ($608<<2)|0); - $a$3$ph157$i = $a$3$ph$i;$e2$1$ph156$i = $e2$1$ph$i;$rp$3$ph$i = $rp$3$ph34$i; - while(1) { - $610 = ($rp$3$ph$i|0)==(18); - $611 = ($rp$3$ph$i|0)>(27); - $$18$i = $611 ? 9 : 1; - $$not$i = $610 ^ 1; - $a$3$i = $a$3$ph157$i;$e2$1$i = $e2$1$ph156$i; - while(1) { - $576 = $a$3$i & 127; - $577 = ($576|0)==($z$5$ph$i|0); - do { - if ($577) { - label = 219; - } else { - $578 = (($x$i) + ($576<<2)|0); - $579 = HEAP32[$578>>2]|0; - $580 = ($579>>>0)<(9007199); - if ($580) { - label = 219; - break; - } - $581 = ($579>>>0)>(9007199); - if ($581) { - break; - } - $582 = (($a$3$i) + 1)|0; - $583 = $582 & 127; - $584 = ($583|0)==($z$5$ph$i|0); - if ($584) { - label = 219; - break; - } - $690 = (($x$i) + ($583<<2)|0); - $691 = HEAP32[$690>>2]|0; - $692 = ($691>>>0)<(254740991); - if ($692) { - label = 219; - break; - } - $693 = ($691>>>0)>(254740991); - $brmerge$i28 = $693 | $$not$i; - if (!($brmerge$i28)) { - $617 = $576;$a$3$i249 = $a$3$i;$e2$1$i246 = $e2$1$i;$z$7$i = $z$5$ph$i; - break L302; - } - } - } while(0); - if ((label|0) == 219) { - label = 0; - if ($610) { - label = 220; - break L302; - } - } - $585 = (($e2$1$i) + ($$18$i))|0; - $586 = ($a$3$i|0)==($z$5$ph$i|0); - if ($586) { - $a$3$i = $z$5$ph$i;$e2$1$i = $585; - } else { - $$lcssa256 = $585;$a$3$i$lcssa248 = $a$3$i; - break; - } - } - $587 = 1 << $$18$i; - $588 = (($587) + -1)|0; - $589 = 1000000000 >>> $$18$i; - $a$478$i = $a$3$i$lcssa248;$carry3$081$i = 0;$k$679$i = $a$3$i$lcssa248;$rp$477$i = $rp$3$ph$i; - while(1) { - $590 = (($x$i) + ($k$679$i<<2)|0); - $591 = HEAP32[$590>>2]|0; - $592 = $591 & $588; - $593 = $591 >>> $$18$i; - $594 = (($593) + ($carry3$081$i))|0; - HEAP32[$590>>2] = $594; - $595 = Math_imul($592, $589)|0; - $596 = ($k$679$i|0)==($a$478$i|0); - $597 = ($594|0)==(0); - $or$cond19$i = $596 & $597; - $598 = (($k$679$i) + 1)|0; - $599 = $598 & 127; - $600 = (($rp$477$i) + -9)|0; - $rp$5$i = $or$cond19$i ? $600 : $rp$477$i; - $a$5$i = $or$cond19$i ? $599 : $a$478$i; - $601 = ($599|0)==($z$5$ph$i|0); - if ($601) { - $$lcssa257 = $595;$a$5$i$lcssa = $a$5$i;$rp$5$i$lcssa = $rp$5$i; - break; - } else { - $a$478$i = $a$5$i;$carry3$081$i = $595;$k$679$i = $599;$rp$477$i = $rp$5$i; - } - } - $602 = ($$lcssa257|0)==(0); - if ($602) { - $a$3$ph157$i = $a$5$i$lcssa;$e2$1$ph156$i = $$lcssa256;$rp$3$ph$i = $rp$5$i$lcssa; - continue; - } - $604 = ($603|0)==($a$5$i$lcssa|0); - if (!($604)) { - $$lcssa256$lcssa = $$lcssa256;$$lcssa257$lcssa = $$lcssa257;$a$5$i$lcssa$lcssa = $a$5$i$lcssa;$rp$5$i$lcssa$lcssa = $rp$5$i$lcssa; - break; - } - $612 = HEAP32[$609>>2]|0; - $613 = $612 | 1; - HEAP32[$609>>2] = $613; - $a$3$ph157$i = $a$5$i$lcssa;$e2$1$ph156$i = $$lcssa256;$rp$3$ph$i = $rp$5$i$lcssa; - } - $605 = (($x$i) + ($z$5$ph$i<<2)|0); - HEAP32[$605>>2] = $$lcssa257$lcssa; - $a$3$ph$i = $a$5$i$lcssa$lcssa;$e2$1$ph$i = $$lcssa256$lcssa;$rp$3$ph34$i = $rp$5$i$lcssa$lcssa;$z$5$ph$i = $603; - } - if ((label|0) == 220) { - if ($577) { - $614 = (($603) + -1)|0; - $615 = (($x$i) + ($614<<2)|0); - HEAP32[$615>>2] = 0; - $617 = $z$5$ph$i;$a$3$i249 = $a$3$i;$e2$1$i246 = $e2$1$i;$z$7$i = $603; - } else { - $617 = $576;$a$3$i249 = $a$3$i;$e2$1$i246 = $e2$1$i;$z$7$i = $z$5$ph$i; - } - } - $616 = (($x$i) + ($617<<2)|0); - $618 = HEAP32[$616>>2]|0; - $619 = (+($618>>>0)); - $620 = (($a$3$i249) + 1)|0; - $621 = $620 & 127; - $622 = ($621|0)==($z$7$i|0); - if ($622) { - $679 = (($a$3$i249) + 2)|0; - $680 = $679 & 127; - $681 = (($680) + -1)|0; - $682 = (($x$i) + ($681<<2)|0); - HEAP32[$682>>2] = 0; - $z$7$1$i = $680; - } else { - $z$7$1$i = $z$7$i; - } - $683 = $619 * 1.0E+9; - $684 = (($x$i) + ($621<<2)|0); - $685 = HEAP32[$684>>2]|0; - $686 = (+($685>>>0)); - $687 = $683 + $686; - $643 = (+($sign$0|0)); - $625 = $643 * $687; - $663 = (($e2$1$i246) + 53)|0; - $669 = (($663) - ($emin$0$ph))|0; - $670 = ($669|0)<($bits$0$ph|0); - $688 = ($669|0)<(0); - $$$i = $688 ? 0 : $669; - $denormal$0$i = $670&1; - $$010$i = $670 ? $$$i : $bits$0$ph; - $689 = ($$010$i|0)<(53); - if ($689) { - $623 = (105 - ($$010$i))|0; - $624 = (+_scalbn(1.0,$623)); - $626 = (+_copysignl($624,$625)); - $627 = (53 - ($$010$i))|0; - $628 = (+_scalbn(1.0,$627)); - $629 = (+_fmodl($625,$628)); - $630 = $625 - $629; - $631 = $626 + $630; - $bias$0$i25 = $626;$frac$0$i = $629;$y$1$i24 = $631; - } else { - $bias$0$i25 = 0.0;$frac$0$i = 0.0;$y$1$i24 = $625; - } - $632 = (($a$3$i249) + 2)|0; - $633 = $632 & 127; - $634 = ($633|0)==($z$7$1$i|0); - do { - if ($634) { - $frac$2$i = $frac$0$i; - } else { - $635 = (($x$i) + ($633<<2)|0); - $636 = HEAP32[$635>>2]|0; - $637 = ($636>>>0)<(500000000); - do { - if ($637) { - $638 = ($636|0)==(0); - if ($638) { - $639 = (($a$3$i249) + 3)|0; - $640 = $639 & 127; - $641 = ($640|0)==($z$7$1$i|0); - if ($641) { - $frac$1$i = $frac$0$i; - break; - } - } - $642 = $643 * 0.25; - $644 = $642 + $frac$0$i; - $frac$1$i = $644; - } else { - $645 = ($636>>>0)>(500000000); - if ($645) { - $646 = $643 * 0.75; - $647 = $646 + $frac$0$i; - $frac$1$i = $647; - break; - } - $648 = (($a$3$i249) + 3)|0; - $649 = $648 & 127; - $650 = ($649|0)==($z$7$1$i|0); - if ($650) { - $651 = $643 * 0.5; - $652 = $651 + $frac$0$i; - $frac$1$i = $652; - break; - } else { - $653 = $643 * 0.75; - $654 = $653 + $frac$0$i; - $frac$1$i = $654; - break; - } - } - } while(0); - $655 = (53 - ($$010$i))|0; - $656 = ($655|0)>(1); - if (!($656)) { - $frac$2$i = $frac$1$i; - break; - } - $657 = (+_fmodl($frac$1$i,1.0)); - $658 = $657 != 0.0; - if ($658) { - $frac$2$i = $frac$1$i; - break; - } - $659 = $frac$1$i + 1.0; - $frac$2$i = $659; - } - } while(0); - $660 = $y$1$i24 + $frac$2$i; - $661 = $660 - $bias$0$i25; - $662 = $663 & 2147483647; - $664 = (-2 - ($sum$i))|0; - $665 = ($662|0)>($664|0); - do { - if ($665) { - $666 = (+Math_abs((+$661))); - $667 = !($666 >= 9007199254740992.0); - if ($667) { - $denormal$2$i = $denormal$0$i;$e2$2$i = $e2$1$i246;$y$2$i26 = $661; - } else { - $668 = ($$010$i|0)==($669|0); - $or$cond20$i = $670 & $668; - $denormal$1$i = $or$cond20$i ? 0 : $denormal$0$i; - $671 = $661 * 0.5; - $672 = (($e2$1$i246) + 1)|0; - $denormal$2$i = $denormal$1$i;$e2$2$i = $672;$y$2$i26 = $671; - } - $673 = (($e2$2$i) + 50)|0; - $674 = ($673|0)>($330|0); - if (!($674)) { - $675 = ($denormal$2$i|0)!=(0); - $676 = $frac$2$i != 0.0; - $or$cond8$i = $676 & $675; - if (!($or$cond8$i)) { - $e2$3$i = $e2$2$i;$y$3$i = $y$2$i26; - break; - } - } - $677 = (___errno_location()|0); - HEAP32[$677>>2] = 34; - $e2$3$i = $e2$2$i;$y$3$i = $y$2$i26; - } else { - $e2$3$i = $e2$1$i246;$y$3$i = $661; - } - } while(0); - $678 = (+_scalbnl($y$3$i,$e2$3$i)); - $$0$i27 = $678; - } - } while(0); - $$0 = $$0$i27; - break L4; - break; - } - default: { - $109 = HEAP32[$1>>2]|0; - $110 = ($109|0)==(0|0); - if (!($110)) { - $111 = HEAP32[$0>>2]|0; - $112 = ((($111)) + -1|0); - HEAP32[$0>>2] = $112; - } - $113 = (___errno_location()|0); - HEAP32[$113>>2] = 22; - ___shlim($f,0); - $$0 = 0.0; - break L4; - } - } - } - } - } while(0); - if ((label|0) == 23) { - $41 = HEAP32[$1>>2]|0; - $42 = ($41|0)==(0|0); - if (!($42)) { - $43 = HEAP32[$0>>2]|0; - $44 = ((($43)) + -1|0); - HEAP32[$0>>2] = $44; - } - $45 = ($pok|0)!=(0); - $46 = ($i$0$lcssa>>>0)>(3); - $or$cond9 = $45 & $46; - if ($or$cond9) { - $i$1 = $i$0$lcssa; - while(1) { - if (!($42)) { - $47 = HEAP32[$0>>2]|0; - $48 = ((($47)) + -1|0); - HEAP32[$0>>2] = $48; - } - $49 = (($i$1) + -1)|0; - $$old8 = ($49>>>0)>(3); - if ($$old8) { - $i$1 = $49; - } else { - break; - } - } - } - } - $50 = (+($sign$0|0)); - $51 = $50 * inf; - $52 = $51; - $$0 = $52; - } - } while(0); - STACKTOP = sp;return (+$$0); -} -function ___intscan($f,$base,$pok,$0,$1) { - $f = $f|0; - $base = $base|0; - $pok = $pok|0; - $0 = $0|0; - $1 = $1|0; - var $$1 = 0, $$122 = 0, $$123 = 0, $$base21 = 0, $$lcssa = 0, $$lcssa130 = 0, $$lcssa131 = 0, $$lcssa132 = 0, $$lcssa133 = 0, $$lcssa134 = 0, $$lcssa135 = 0, $$sum = 0, $$sum14 = 0, $$sum1445 = 0, $$sum15 = 0, $$sum16 = 0, $$sum17 = 0, $$sum18 = 0, $$sum1865 = 0, $$sum19 = 0; - var $$sum20 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0; - var $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0; - var $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0; - var $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0; - var $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0; - var $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0; - var $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0; - var $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0; - var $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0; - var $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0; - var $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $3 = 0, $30 = 0; - var $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0; - var $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0; - var $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0; - var $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $c$0 = 0, $c$1 = 0, $c$124 = 0, $c$2$be = 0, $c$2$be$lcssa = 0; - var $c$2$lcssa = 0, $c$3$be = 0, $c$3$lcssa = 0, $c$371 = 0, $c$4$be = 0, $c$4$be$lcssa = 0, $c$4$lcssa = 0, $c$5$be = 0, $c$6$be = 0, $c$6$be$lcssa = 0, $c$6$lcssa = 0, $c$7$be = 0, $c$753 = 0, $c$8 = 0, $c$9$be = 0, $neg$0 = 0, $neg$0$ = 0, $neg$1 = 0, $or$cond = 0, $or$cond12 = 0; - var $or$cond40 = 0, $or$cond5 = 0, $or$cond7 = 0, $x$082 = 0, $x$146 = 0, $x$266 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ($base>>>0)>(36); - L1: do { - if ($2) { - $5 = (___errno_location()|0); - HEAP32[$5>>2] = 22; - $286 = 0;$287 = 0; - } else { - $3 = ((($f)) + 4|0); - $4 = ((($f)) + 100|0); - while(1) { - $6 = HEAP32[$3>>2]|0; - $7 = HEAP32[$4>>2]|0; - $8 = ($6>>>0)<($7>>>0); - if ($8) { - $9 = ((($6)) + 1|0); - HEAP32[$3>>2] = $9; - $10 = HEAP8[$6>>0]|0; - $11 = $10&255; - $13 = $11; - } else { - $12 = (___shgetc($f)|0); - $13 = $12; - } - $14 = (_isspace($13)|0); - $15 = ($14|0)==(0); - if ($15) { - $$lcssa135 = $13; - break; - } - } - $16 = ($$lcssa135|0)==(45); - L11: do { - switch ($$lcssa135|0) { - case 43: case 45: { - $17 = $16 << 31 >> 31; - $18 = HEAP32[$3>>2]|0; - $19 = HEAP32[$4>>2]|0; - $20 = ($18>>>0)<($19>>>0); - if ($20) { - $21 = ((($18)) + 1|0); - HEAP32[$3>>2] = $21; - $22 = HEAP8[$18>>0]|0; - $23 = $22&255; - $c$0 = $23;$neg$0 = $17; - break L11; - } else { - $24 = (___shgetc($f)|0); - $c$0 = $24;$neg$0 = $17; - break L11; - } - break; - } - default: { - $c$0 = $$lcssa135;$neg$0 = 0; - } - } - } while(0); - $25 = ($base|0)==(0); - $26 = $base & -17; - $27 = ($26|0)==(0); - $28 = ($c$0|0)==(48); - $or$cond5 = $27 & $28; - do { - if ($or$cond5) { - $29 = HEAP32[$3>>2]|0; - $30 = HEAP32[$4>>2]|0; - $31 = ($29>>>0)<($30>>>0); - if ($31) { - $32 = ((($29)) + 1|0); - HEAP32[$3>>2] = $32; - $33 = HEAP8[$29>>0]|0; - $34 = $33&255; - $37 = $34; - } else { - $35 = (___shgetc($f)|0); - $37 = $35; - } - $36 = $37 | 32; - $38 = ($36|0)==(120); - if (!($38)) { - if ($25) { - $$123 = 8;$c$124 = $37; - label = 46; - break; - } else { - $$1 = $base;$c$1 = $37; - label = 32; - break; - } - } - $39 = HEAP32[$3>>2]|0; - $40 = HEAP32[$4>>2]|0; - $41 = ($39>>>0)<($40>>>0); - if ($41) { - $42 = ((($39)) + 1|0); - HEAP32[$3>>2] = $42; - $43 = HEAP8[$39>>0]|0; - $44 = $43&255; - $46 = $44; - } else { - $45 = (___shgetc($f)|0); - $46 = $45; - } - $$sum20 = (($46) + 1)|0; - $47 = (28687 + ($$sum20)|0); - $48 = HEAP8[$47>>0]|0; - $49 = ($48&255)>(15); - if ($49) { - $50 = HEAP32[$4>>2]|0; - $51 = ($50|0)==(0|0); - if (!($51)) { - $52 = HEAP32[$3>>2]|0; - $53 = ((($52)) + -1|0); - HEAP32[$3>>2] = $53; - } - $54 = ($pok|0)==(0); - if ($54) { - ___shlim($f,0); - $286 = 0;$287 = 0; - break L1; - } - if ($51) { - $286 = 0;$287 = 0; - break L1; - } - $55 = HEAP32[$3>>2]|0; - $56 = ((($55)) + -1|0); - HEAP32[$3>>2] = $56; - $286 = 0;$287 = 0; - break L1; - } else { - $$123 = 16;$c$124 = $46; - label = 46; - } - } else { - $$base21 = $25 ? 10 : $base; - $$sum = (($c$0) + 1)|0; - $57 = (28687 + ($$sum)|0); - $58 = HEAP8[$57>>0]|0; - $59 = $58&255; - $60 = ($59>>>0)<($$base21>>>0); - if ($60) { - $$1 = $$base21;$c$1 = $c$0; - label = 32; - } else { - $61 = HEAP32[$4>>2]|0; - $62 = ($61|0)==(0|0); - if (!($62)) { - $63 = HEAP32[$3>>2]|0; - $64 = ((($63)) + -1|0); - HEAP32[$3>>2] = $64; - } - ___shlim($f,0); - $65 = (___errno_location()|0); - HEAP32[$65>>2] = 22; - $286 = 0;$287 = 0; - break L1; - } - } - } while(0); - if ((label|0) == 32) { - $66 = ($$1|0)==(10); - if ($66) { - $67 = (($c$1) + -48)|0; - $68 = ($67>>>0)<(10); - if ($68) { - $71 = $67;$x$082 = 0; - while(1) { - $69 = ($x$082*10)|0; - $70 = (($69) + ($71))|0; - $72 = HEAP32[$3>>2]|0; - $73 = HEAP32[$4>>2]|0; - $74 = ($72>>>0)<($73>>>0); - if ($74) { - $75 = ((($72)) + 1|0); - HEAP32[$3>>2] = $75; - $76 = HEAP8[$72>>0]|0; - $77 = $76&255; - $c$2$be = $77; - } else { - $78 = (___shgetc($f)|0); - $c$2$be = $78; - } - $79 = (($c$2$be) + -48)|0; - $80 = ($79>>>0)<(10); - $81 = ($70>>>0)<(429496729); - $82 = $80 & $81; - if ($82) { - $71 = $79;$x$082 = $70; - } else { - $$lcssa134 = $70;$c$2$be$lcssa = $c$2$be; - break; - } - } - $288 = $$lcssa134;$289 = 0;$c$2$lcssa = $c$2$be$lcssa; - } else { - $288 = 0;$289 = 0;$c$2$lcssa = $c$1; - } - $83 = (($c$2$lcssa) + -48)|0; - $84 = ($83>>>0)<(10); - if ($84) { - $85 = $288;$86 = $289;$89 = $83;$c$371 = $c$2$lcssa; - while(1) { - $87 = (___muldi3(($85|0),($86|0),10,0)|0); - $88 = tempRet0; - $90 = ($89|0)<(0); - $91 = $90 << 31 >> 31; - $92 = $89 ^ -1; - $93 = $91 ^ -1; - $94 = ($88>>>0)>($93>>>0); - $95 = ($87>>>0)>($92>>>0); - $96 = ($88|0)==($93|0); - $97 = $96 & $95; - $98 = $94 | $97; - if ($98) { - $$lcssa = $89;$290 = $85;$291 = $86;$c$3$lcssa = $c$371; - break; - } - $99 = (_i64Add(($87|0),($88|0),($89|0),($91|0))|0); - $100 = tempRet0; - $101 = HEAP32[$3>>2]|0; - $102 = HEAP32[$4>>2]|0; - $103 = ($101>>>0)<($102>>>0); - if ($103) { - $104 = ((($101)) + 1|0); - HEAP32[$3>>2] = $104; - $105 = HEAP8[$101>>0]|0; - $106 = $105&255; - $c$3$be = $106; - } else { - $107 = (___shgetc($f)|0); - $c$3$be = $107; - } - $108 = (($c$3$be) + -48)|0; - $109 = ($108>>>0)<(10); - $110 = ($100>>>0)<(429496729); - $111 = ($99>>>0)<(2576980378); - $112 = ($100|0)==(429496729); - $113 = $112 & $111; - $114 = $110 | $113; - $or$cond7 = $109 & $114; - if ($or$cond7) { - $85 = $99;$86 = $100;$89 = $108;$c$371 = $c$3$be; - } else { - $$lcssa = $108;$290 = $99;$291 = $100;$c$3$lcssa = $c$3$be; - break; - } - } - $115 = ($$lcssa>>>0)>(9); - if ($115) { - $259 = $291;$261 = $290;$neg$1 = $neg$0; - } else { - $$122 = 10;$292 = $290;$293 = $291;$c$8 = $c$3$lcssa; - label = 72; - } - } else { - $259 = $289;$261 = $288;$neg$1 = $neg$0; - } - } else { - $$123 = $$1;$c$124 = $c$1; - label = 46; - } - } - L63: do { - if ((label|0) == 46) { - $116 = (($$123) + -1)|0; - $117 = $116 & $$123; - $118 = ($117|0)==(0); - if ($118) { - $123 = ($$123*23)|0; - $124 = $123 >>> 5; - $125 = $124 & 7; - $126 = (28944 + ($125)|0); - $127 = HEAP8[$126>>0]|0; - $128 = $127 << 24 >> 24; - $$sum1445 = (($c$124) + 1)|0; - $129 = (28687 + ($$sum1445)|0); - $130 = HEAP8[$129>>0]|0; - $131 = $130&255; - $132 = ($131>>>0)<($$123>>>0); - if ($132) { - $135 = $131;$x$146 = 0; - while(1) { - $133 = $x$146 << $128; - $134 = $135 | $133; - $136 = HEAP32[$3>>2]|0; - $137 = HEAP32[$4>>2]|0; - $138 = ($136>>>0)<($137>>>0); - if ($138) { - $139 = ((($136)) + 1|0); - HEAP32[$3>>2] = $139; - $140 = HEAP8[$136>>0]|0; - $141 = $140&255; - $c$4$be = $141; - } else { - $142 = (___shgetc($f)|0); - $c$4$be = $142; - } - $$sum14 = (($c$4$be) + 1)|0; - $143 = (28687 + ($$sum14)|0); - $144 = HEAP8[$143>>0]|0; - $145 = $144&255; - $146 = ($145>>>0)<($$123>>>0); - $147 = ($134>>>0)<(134217728); - $148 = $147 & $146; - if ($148) { - $135 = $145;$x$146 = $134; - } else { - $$lcssa130 = $134;$$lcssa131 = $144;$c$4$be$lcssa = $c$4$be; - break; - } - } - $152 = $$lcssa131;$154 = 0;$156 = $$lcssa130;$c$4$lcssa = $c$4$be$lcssa; - } else { - $152 = $130;$154 = 0;$156 = 0;$c$4$lcssa = $c$124; - } - $149 = (_bitshift64Lshr(-1,-1,($128|0))|0); - $150 = tempRet0; - $151 = $152&255; - $153 = ($151>>>0)>=($$123>>>0); - $155 = ($154>>>0)>($150>>>0); - $157 = ($156>>>0)>($149>>>0); - $158 = ($154|0)==($150|0); - $159 = $158 & $157; - $160 = $155 | $159; - $or$cond40 = $153 | $160; - if ($or$cond40) { - $$122 = $$123;$292 = $156;$293 = $154;$c$8 = $c$4$lcssa; - label = 72; - break; - } else { - $161 = $156;$162 = $154;$166 = $152; - } - while(1) { - $163 = (_bitshift64Shl(($161|0),($162|0),($128|0))|0); - $164 = tempRet0; - $165 = $166&255; - $167 = $165 | $163; - $168 = HEAP32[$3>>2]|0; - $169 = HEAP32[$4>>2]|0; - $170 = ($168>>>0)<($169>>>0); - if ($170) { - $171 = ((($168)) + 1|0); - HEAP32[$3>>2] = $171; - $172 = HEAP8[$168>>0]|0; - $173 = $172&255; - $c$5$be = $173; - } else { - $174 = (___shgetc($f)|0); - $c$5$be = $174; - } - $$sum15 = (($c$5$be) + 1)|0; - $175 = (28687 + ($$sum15)|0); - $176 = HEAP8[$175>>0]|0; - $177 = $176&255; - $178 = ($177>>>0)>=($$123>>>0); - $179 = ($164>>>0)>($150>>>0); - $180 = ($167>>>0)>($149>>>0); - $181 = ($164|0)==($150|0); - $182 = $181 & $180; - $183 = $179 | $182; - $or$cond = $178 | $183; - if ($or$cond) { - $$122 = $$123;$292 = $167;$293 = $164;$c$8 = $c$5$be; - label = 72; - break L63; - } else { - $161 = $167;$162 = $164;$166 = $176; - } - } - } - $$sum1865 = (($c$124) + 1)|0; - $119 = (28687 + ($$sum1865)|0); - $120 = HEAP8[$119>>0]|0; - $121 = $120&255; - $122 = ($121>>>0)<($$123>>>0); - if ($122) { - $186 = $121;$x$266 = 0; - while(1) { - $184 = Math_imul($x$266, $$123)|0; - $185 = (($186) + ($184))|0; - $187 = HEAP32[$3>>2]|0; - $188 = HEAP32[$4>>2]|0; - $189 = ($187>>>0)<($188>>>0); - if ($189) { - $190 = ((($187)) + 1|0); - HEAP32[$3>>2] = $190; - $191 = HEAP8[$187>>0]|0; - $192 = $191&255; - $c$6$be = $192; - } else { - $193 = (___shgetc($f)|0); - $c$6$be = $193; - } - $$sum18 = (($c$6$be) + 1)|0; - $194 = (28687 + ($$sum18)|0); - $195 = HEAP8[$194>>0]|0; - $196 = $195&255; - $197 = ($196>>>0)<($$123>>>0); - $198 = ($185>>>0)<(119304647); - $199 = $198 & $197; - if ($199) { - $186 = $196;$x$266 = $185; - } else { - $$lcssa132 = $185;$$lcssa133 = $195;$c$6$be$lcssa = $c$6$be; - break; - } - } - $201 = $$lcssa133;$294 = $$lcssa132;$295 = 0;$c$6$lcssa = $c$6$be$lcssa; - } else { - $201 = $120;$294 = 0;$295 = 0;$c$6$lcssa = $c$124; - } - $200 = $201&255; - $202 = ($200>>>0)<($$123>>>0); - if ($202) { - $203 = (___udivdi3(-1,-1,($$123|0),0)|0); - $204 = tempRet0; - $205 = $295;$207 = $294;$215 = $201;$c$753 = $c$6$lcssa; - while(1) { - $206 = ($205>>>0)>($204>>>0); - $208 = ($207>>>0)>($203>>>0); - $209 = ($205|0)==($204|0); - $210 = $209 & $208; - $211 = $206 | $210; - if ($211) { - $$122 = $$123;$292 = $207;$293 = $205;$c$8 = $c$753; - label = 72; - break L63; - } - $212 = (___muldi3(($207|0),($205|0),($$123|0),0)|0); - $213 = tempRet0; - $214 = $215&255; - $216 = $214 ^ -1; - $217 = ($213>>>0)>(4294967295); - $218 = ($212>>>0)>($216>>>0); - $219 = ($213|0)==(-1); - $220 = $219 & $218; - $221 = $217 | $220; - if ($221) { - $$122 = $$123;$292 = $207;$293 = $205;$c$8 = $c$753; - label = 72; - break L63; - } - $222 = (_i64Add(($214|0),0,($212|0),($213|0))|0); - $223 = tempRet0; - $224 = HEAP32[$3>>2]|0; - $225 = HEAP32[$4>>2]|0; - $226 = ($224>>>0)<($225>>>0); - if ($226) { - $227 = ((($224)) + 1|0); - HEAP32[$3>>2] = $227; - $228 = HEAP8[$224>>0]|0; - $229 = $228&255; - $c$7$be = $229; - } else { - $230 = (___shgetc($f)|0); - $c$7$be = $230; - } - $$sum19 = (($c$7$be) + 1)|0; - $231 = (28687 + ($$sum19)|0); - $232 = HEAP8[$231>>0]|0; - $233 = $232&255; - $234 = ($233>>>0)<($$123>>>0); - if ($234) { - $205 = $223;$207 = $222;$215 = $232;$c$753 = $c$7$be; - } else { - $$122 = $$123;$292 = $222;$293 = $223;$c$8 = $c$7$be; - label = 72; - break; - } - } - } else { - $$122 = $$123;$292 = $294;$293 = $295;$c$8 = $c$6$lcssa; - label = 72; - } - } - } while(0); - if ((label|0) == 72) { - $$sum16 = (($c$8) + 1)|0; - $235 = (28687 + ($$sum16)|0); - $236 = HEAP8[$235>>0]|0; - $237 = $236&255; - $238 = ($237>>>0)<($$122>>>0); - if ($238) { - while(1) { - $239 = HEAP32[$3>>2]|0; - $240 = HEAP32[$4>>2]|0; - $241 = ($239>>>0)<($240>>>0); - if ($241) { - $242 = ((($239)) + 1|0); - HEAP32[$3>>2] = $242; - $243 = HEAP8[$239>>0]|0; - $244 = $243&255; - $c$9$be = $244; - } else { - $245 = (___shgetc($f)|0); - $c$9$be = $245; - } - $$sum17 = (($c$9$be) + 1)|0; - $246 = (28687 + ($$sum17)|0); - $247 = HEAP8[$246>>0]|0; - $248 = $247&255; - $249 = ($248>>>0)<($$122>>>0); - if (!($249)) { - break; - } - } - $250 = (___errno_location()|0); - HEAP32[$250>>2] = 34; - $251 = $0 & 1; - $252 = ($251|0)==(0); - $253 = (0)==(0); - $254 = $252 & $253; - $neg$0$ = $254 ? $neg$0 : 0; - $259 = $1;$261 = $0;$neg$1 = $neg$0$; - } else { - $259 = $293;$261 = $292;$neg$1 = $neg$0; - } - } - $255 = HEAP32[$4>>2]|0; - $256 = ($255|0)==(0|0); - if (!($256)) { - $257 = HEAP32[$3>>2]|0; - $258 = ((($257)) + -1|0); - HEAP32[$3>>2] = $258; - } - $260 = ($259>>>0)<($1>>>0); - $262 = ($261>>>0)<($0>>>0); - $263 = ($259|0)==($1|0); - $264 = $263 & $262; - $265 = $260 | $264; - if (!($265)) { - $266 = $0 & 1; - $267 = ($266|0)!=(0); - $268 = (0)!=(0); - $269 = $267 | $268; - $270 = ($neg$1|0)!=(0); - $or$cond12 = $269 | $270; - if (!($or$cond12)) { - $271 = (___errno_location()|0); - HEAP32[$271>>2] = 34; - $272 = (_i64Add(($0|0),($1|0),-1,-1)|0); - $273 = tempRet0; - $286 = $273;$287 = $272; - break; - } - $274 = ($259>>>0)>($1>>>0); - $275 = ($261>>>0)>($0>>>0); - $276 = ($259|0)==($1|0); - $277 = $276 & $275; - $278 = $274 | $277; - if ($278) { - $279 = (___errno_location()|0); - HEAP32[$279>>2] = 34; - $286 = $1;$287 = $0; - break; - } - } - $280 = ($neg$1|0)<(0); - $281 = $280 << 31 >> 31; - $282 = $261 ^ $neg$1; - $283 = $259 ^ $281; - $284 = (_i64Subtract(($282|0),($283|0),($neg$1|0),($281|0))|0); - $285 = tempRet0; - $286 = $285;$287 = $284; - } - } while(0); - tempRet0 = ($286); - return ($287|0); -} -function ___shlim($f,$lim) { - $f = $f|0; - $lim = $lim|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($f)) + 104|0); - HEAP32[$0>>2] = $lim; - $1 = ((($f)) + 8|0); - $2 = HEAP32[$1>>2]|0; - $3 = ((($f)) + 4|0); - $4 = HEAP32[$3>>2]|0; - $5 = $2; - $6 = $4; - $7 = (($5) - ($6))|0; - $8 = ((($f)) + 108|0); - HEAP32[$8>>2] = $7; - $9 = ($lim|0)!=(0); - $10 = ($7|0)>($lim|0); - $or$cond = $9 & $10; - if ($or$cond) { - $11 = (($4) + ($lim)|0); - $12 = ((($f)) + 100|0); - HEAP32[$12>>2] = $11; - } else { - $13 = ((($f)) + 100|0); - HEAP32[$13>>2] = $5; - } - return; -} -function ___shgetc($f) { - $f = $f|0; - var $$0 = 0, $$phi$trans$insert = 0, $$phi$trans$insert3 = 0, $$pre = 0, $$pre4 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0; - var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0; - var $40 = 0, $41 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($f)) + 104|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)==(0); - if ($2) { - label = 3; - } else { - $3 = ((($f)) + 108|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)<($1|0); - if ($5) { - label = 3; - } else { - label = 4; - } - } - if ((label|0) == 3) { - $6 = (___uflow($f)|0); - $7 = ($6|0)<(0); - if ($7) { - label = 4; - } else { - $9 = HEAP32[$0>>2]|0; - $10 = ($9|0)==(0); - $$phi$trans$insert = ((($f)) + 8|0); - if ($10) { - $$pre = HEAP32[$$phi$trans$insert>>2]|0; - $11 = $$pre; - $26 = $$pre;$41 = $11; - label = 9; - } else { - $12 = HEAP32[$$phi$trans$insert>>2]|0; - $13 = ((($f)) + 4|0); - $14 = HEAP32[$13>>2]|0; - $15 = $12; - $16 = $14; - $17 = (($15) - ($16))|0; - $18 = ((($f)) + 108|0); - $19 = HEAP32[$18>>2]|0; - $20 = (($9) - ($19))|0; - $21 = (($20) + -1)|0; - $22 = ($17|0)>($21|0); - if ($22) { - $23 = (($14) + ($21)|0); - $24 = ((($f)) + 100|0); - HEAP32[$24>>2] = $23; - $27 = $12; - } else { - $26 = $15;$41 = $12; - label = 9; - } - } - if ((label|0) == 9) { - $25 = ((($f)) + 100|0); - HEAP32[$25>>2] = $26; - $27 = $41; - } - $28 = ($27|0)==(0|0); - $$phi$trans$insert3 = ((($f)) + 4|0); - $$pre4 = HEAP32[$$phi$trans$insert3>>2]|0; - if (!($28)) { - $29 = $27; - $30 = $$pre4; - $31 = ((($f)) + 108|0); - $32 = HEAP32[$31>>2]|0; - $33 = (($29) + 1)|0; - $34 = (($33) - ($30))|0; - $35 = (($34) + ($32))|0; - HEAP32[$31>>2] = $35; - } - $36 = ((($$pre4)) + -1|0); - $37 = HEAP8[$36>>0]|0; - $38 = $37&255; - $39 = ($38|0)==($6|0); - if ($39) { - $$0 = $6; - } else { - $40 = $6&255; - HEAP8[$36>>0] = $40; - $$0 = $6; - } - } - } - if ((label|0) == 4) { - $8 = ((($f)) + 100|0); - HEAP32[$8>>2] = 0; - $$0 = -1; - } - return ($$0|0); -} -function ___syscall_ret($r) { - $r = $r|0; - var $$0 = 0, $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ($r>>>0)>(4294963200); - if ($0) { - $1 = (0 - ($r))|0; - $2 = (___errno_location()|0); - HEAP32[$2>>2] = $1; - $$0 = -1; - } else { - $$0 = $r; - } - return ($$0|0); -} -function _copysign($x,$y) { - $x = +$x; - $y = +$y; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - HEAPF64[tempDoublePtr>>3] = $x;$0 = HEAP32[tempDoublePtr>>2]|0; - $1 = HEAP32[tempDoublePtr+4>>2]|0; - HEAPF64[tempDoublePtr>>3] = $y;$2 = HEAP32[tempDoublePtr>>2]|0; - $3 = HEAP32[tempDoublePtr+4>>2]|0; - $4 = $1 & 2147483647; - $5 = $3 & -2147483648; - $6 = $5 | $4; - HEAP32[tempDoublePtr>>2] = $0;HEAP32[tempDoublePtr+4>>2] = $6;$7 = +HEAPF64[tempDoublePtr>>3]; - return (+$7); -} -function _copysignl($x,$y) { - $x = +$x; - $y = +$y; - var $0 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (+_copysign($x,$y)); - return (+$0); -} -function _fmod($x,$y) { - $x = +$x; - $y = +$y; - var $$0 = 0.0, $$lcssa7 = 0, $$x = 0.0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0; - var $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0.0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0; - var $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0; - var $15 = 0, $150 = 0.0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0.0, $24 = 0.0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0.0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; - var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0; - var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0.0; - var $ex$0$lcssa = 0, $ex$026 = 0, $ex$1 = 0, $ex$2$lcssa = 0, $ex$212 = 0, $ex$3$lcssa = 0, $ex$39 = 0, $ey$0$lcssa = 0, $ey$020 = 0, $ey$1$ph = 0, $or$cond = 0, label = 0, sp = 0; - sp = STACKTOP; - HEAPF64[tempDoublePtr>>3] = $x;$0 = HEAP32[tempDoublePtr>>2]|0; - $1 = HEAP32[tempDoublePtr+4>>2]|0; - HEAPF64[tempDoublePtr>>3] = $y;$2 = HEAP32[tempDoublePtr>>2]|0; - $3 = HEAP32[tempDoublePtr+4>>2]|0; - $4 = (_bitshift64Lshr(($0|0),($1|0),52)|0); - $5 = tempRet0; - $6 = $4 & 2047; - $7 = (_bitshift64Lshr(($2|0),($3|0),52)|0); - $8 = tempRet0; - $9 = $7 & 2047; - $10 = $1 & -2147483648; - $11 = (_bitshift64Shl(($2|0),($3|0),1)|0); - $12 = tempRet0; - $13 = ($11|0)==(0); - $14 = ($12|0)==(0); - $15 = $13 & $14; - L1: do { - if ($15) { - label = 3; - } else { - $16 = $3 & 2147483647; - $17 = ($16>>>0)>(2146435072); - $18 = ($2>>>0)>(0); - $19 = ($16|0)==(2146435072); - $20 = $19 & $18; - $21 = $17 | $20; - $22 = ($6|0)==(2047); - $or$cond = $21 | $22; - if ($or$cond) { - label = 3; - } else { - $25 = (_bitshift64Shl(($0|0),($1|0),1)|0); - $26 = tempRet0; - $27 = ($26>>>0)>($12>>>0); - $28 = ($25>>>0)>($11>>>0); - $29 = ($26|0)==($12|0); - $30 = $29 & $28; - $31 = $27 | $30; - if (!($31)) { - $32 = ($25|0)==($11|0); - $33 = ($26|0)==($12|0); - $34 = $32 & $33; - $35 = $x * 0.0; - $$x = $34 ? $35 : $x; - return (+$$x); - } - $36 = ($6|0)==(0); - if ($36) { - $37 = (_bitshift64Shl(($0|0),($1|0),12)|0); - $38 = tempRet0; - $39 = ($38|0)>(-1); - $40 = ($37>>>0)>(4294967295); - $41 = ($38|0)==(-1); - $42 = $41 & $40; - $43 = $39 | $42; - if ($43) { - $45 = $37;$46 = $38;$ex$026 = 0; - while(1) { - $44 = (($ex$026) + -1)|0; - $47 = (_bitshift64Shl(($45|0),($46|0),1)|0); - $48 = tempRet0; - $49 = ($48|0)>(-1); - $50 = ($47>>>0)>(4294967295); - $51 = ($48|0)==(-1); - $52 = $51 & $50; - $53 = $49 | $52; - if ($53) { - $45 = $47;$46 = $48;$ex$026 = $44; - } else { - $ex$0$lcssa = $44; - break; - } - } - } else { - $ex$0$lcssa = 0; - } - $54 = (1 - ($ex$0$lcssa))|0; - $55 = (_bitshift64Shl(($0|0),($1|0),($54|0))|0); - $56 = tempRet0; - $83 = $55;$84 = $56;$ex$1 = $ex$0$lcssa; - } else { - $57 = $1 & 1048575; - $58 = $57 | 1048576; - $83 = $0;$84 = $58;$ex$1 = $6; - } - $59 = ($9|0)==(0); - if ($59) { - $60 = (_bitshift64Shl(($2|0),($3|0),12)|0); - $61 = tempRet0; - $62 = ($61|0)>(-1); - $63 = ($60>>>0)>(4294967295); - $64 = ($61|0)==(-1); - $65 = $64 & $63; - $66 = $62 | $65; - if ($66) { - $68 = $60;$69 = $61;$ey$020 = 0; - while(1) { - $67 = (($ey$020) + -1)|0; - $70 = (_bitshift64Shl(($68|0),($69|0),1)|0); - $71 = tempRet0; - $72 = ($71|0)>(-1); - $73 = ($70>>>0)>(4294967295); - $74 = ($71|0)==(-1); - $75 = $74 & $73; - $76 = $72 | $75; - if ($76) { - $68 = $70;$69 = $71;$ey$020 = $67; - } else { - $ey$0$lcssa = $67; - break; - } - } - } else { - $ey$0$lcssa = 0; - } - $77 = (1 - ($ey$0$lcssa))|0; - $78 = (_bitshift64Shl(($2|0),($3|0),($77|0))|0); - $79 = tempRet0; - $85 = $78;$86 = $79;$ey$1$ph = $ey$0$lcssa; - } else { - $80 = $3 & 1048575; - $81 = $80 | 1048576; - $85 = $2;$86 = $81;$ey$1$ph = $9; - } - $82 = ($ex$1|0)>($ey$1$ph|0); - $87 = (_i64Subtract(($83|0),($84|0),($85|0),($86|0))|0); - $88 = tempRet0; - $89 = ($88|0)>(-1); - $90 = ($87>>>0)>(4294967295); - $91 = ($88|0)==(-1); - $92 = $91 & $90; - $93 = $89 | $92; - L23: do { - if ($82) { - $152 = $93;$153 = $87;$154 = $88;$94 = $83;$96 = $84;$ex$212 = $ex$1; - while(1) { - if ($152) { - $95 = ($94|0)==($85|0); - $97 = ($96|0)==($86|0); - $98 = $95 & $97; - if ($98) { - break; - } else { - $100 = $153;$101 = $154; - } - } else { - $100 = $94;$101 = $96; - } - $102 = (_bitshift64Shl(($100|0),($101|0),1)|0); - $103 = tempRet0; - $104 = (($ex$212) + -1)|0; - $105 = ($104|0)>($ey$1$ph|0); - $106 = (_i64Subtract(($102|0),($103|0),($85|0),($86|0))|0); - $107 = tempRet0; - $108 = ($107|0)>(-1); - $109 = ($106>>>0)>(4294967295); - $110 = ($107|0)==(-1); - $111 = $110 & $109; - $112 = $108 | $111; - if ($105) { - $152 = $112;$153 = $106;$154 = $107;$94 = $102;$96 = $103;$ex$212 = $104; - } else { - $$lcssa7 = $112;$113 = $102;$115 = $103;$155 = $106;$156 = $107;$ex$2$lcssa = $104; - break L23; - } - } - $99 = $x * 0.0; - $$0 = $99; - break L1; - } else { - $$lcssa7 = $93;$113 = $83;$115 = $84;$155 = $87;$156 = $88;$ex$2$lcssa = $ex$1; - } - } while(0); - if ($$lcssa7) { - $114 = ($113|0)==($85|0); - $116 = ($115|0)==($86|0); - $117 = $114 & $116; - if ($117) { - $125 = $x * 0.0; - $$0 = $125; - break; - } else { - $118 = $156;$120 = $155; - } - } else { - $118 = $115;$120 = $113; - } - $119 = ($118>>>0)<(1048576); - $121 = ($120>>>0)<(0); - $122 = ($118|0)==(1048576); - $123 = $122 & $121; - $124 = $119 | $123; - if ($124) { - $126 = $120;$127 = $118;$ex$39 = $ex$2$lcssa; - while(1) { - $128 = (_bitshift64Shl(($126|0),($127|0),1)|0); - $129 = tempRet0; - $130 = (($ex$39) + -1)|0; - $131 = ($129>>>0)<(1048576); - $132 = ($128>>>0)<(0); - $133 = ($129|0)==(1048576); - $134 = $133 & $132; - $135 = $131 | $134; - if ($135) { - $126 = $128;$127 = $129;$ex$39 = $130; - } else { - $137 = $128;$138 = $129;$ex$3$lcssa = $130; - break; - } - } - } else { - $137 = $120;$138 = $118;$ex$3$lcssa = $ex$2$lcssa; - } - $136 = ($ex$3$lcssa|0)>(0); - if ($136) { - $139 = (_i64Add(($137|0),($138|0),0,-1048576)|0); - $140 = tempRet0; - $141 = (_bitshift64Shl(($ex$3$lcssa|0),0,52)|0); - $142 = tempRet0; - $143 = $139 | $141; - $144 = $140 | $142; - $149 = $144;$151 = $143; - } else { - $145 = (1 - ($ex$3$lcssa))|0; - $146 = (_bitshift64Lshr(($137|0),($138|0),($145|0))|0); - $147 = tempRet0; - $149 = $147;$151 = $146; - } - $148 = $149 | $10; - HEAP32[tempDoublePtr>>2] = $151;HEAP32[tempDoublePtr+4>>2] = $148;$150 = +HEAPF64[tempDoublePtr>>3]; - $$0 = $150; - } - } - } while(0); - if ((label|0) == 3) { - $23 = $x * $y; - $24 = $23 / $23; - $$0 = $24; - } - return (+$$0); -} -function _fmodl($x,$y) { - $x = +$x; - $y = +$y; - var $0 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (+_fmod($x,$y)); - return (+$0); -} -function _frexp($x,$e) { - $x = +$x; - $e = $e|0; - var $$0 = 0.0, $$01 = 0.0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0, $storemerge = 0, label = 0, sp = 0; - sp = STACKTOP; - HEAPF64[tempDoublePtr>>3] = $x;$0 = HEAP32[tempDoublePtr>>2]|0; - $1 = HEAP32[tempDoublePtr+4>>2]|0; - $2 = (_bitshift64Lshr(($0|0),($1|0),52)|0); - $3 = tempRet0; - $4 = $2 & 2047; - switch ($4|0) { - case 0: { - $5 = $x != 0.0; - if ($5) { - $6 = $x * 1.8446744073709552E+19; - $7 = (+_frexp($6,$e)); - $8 = HEAP32[$e>>2]|0; - $9 = (($8) + -64)|0; - $$01 = $7;$storemerge = $9; - } else { - $$01 = $x;$storemerge = 0; - } - HEAP32[$e>>2] = $storemerge; - $$0 = $$01; - break; - } - case 2047: { - $$0 = $x; - break; - } - default: { - $10 = (($4) + -1022)|0; - HEAP32[$e>>2] = $10; - $11 = $1 & -2146435073; - $12 = $11 | 1071644672; - HEAP32[tempDoublePtr>>2] = $0;HEAP32[tempDoublePtr+4>>2] = $12;$13 = +HEAPF64[tempDoublePtr>>3]; - $$0 = $13; - } - } - return (+$$0); -} -function _frexpl($x,$e) { - $x = +$x; - $e = $e|0; - var $0 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (+_frexp($x,$e)); - return (+$0); -} -function _ldexp($x,$n) { - $x = +$x; - $n = $n|0; - var $0 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (+_scalbn($x,$n)); - return (+$0); -} -function _roundf($x) { - $x = +$x; - var $$0 = 0.0, $$x = 0.0, $$y$0 = 0.0, $0 = 0, $1 = 0, $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0.0, $14 = 0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $2 = 0, $3 = 0, $4 = 0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0.0; - var $9 = 0.0, $y$0 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (HEAPF32[tempDoublePtr>>2]=$x,HEAP32[tempDoublePtr>>2]|0); - $1 = $0 >>> 23; - $2 = $1 & 255; - $3 = ($2>>>0)>(149); - do { - if ($3) { - $$0 = $x; - } else { - $4 = ($0|0)<(0); - $5 = -$x; - $$x = $4 ? $5 : $x; - $6 = ($2>>>0)<(126); - if ($6) { - $7 = $x * 0.0; - $$0 = $7; - break; - } - $8 = $$x + 8388608.0; - $9 = $8 + -8388608.0; - $10 = $9 - $$x; - $11 = $10 > 0.5; - if ($11) { - $12 = $$x + $10; - $13 = $12 + -1.0; - $y$0 = $13; - } else { - $14 = !($10 <= -0.5); - $15 = $$x + $10; - if ($14) { - $y$0 = $15; - } else { - $16 = $15 + 1.0; - $y$0 = $16; - } - } - $17 = -$y$0; - $$y$0 = $4 ? $17 : $y$0; - $$0 = $$y$0; - } - } while(0); - return (+$$0); -} -function _scalbn($x,$n) { - $x = +$x; - $n = $n|0; - var $$ = 0, $$0 = 0, $$1 = 0, $0 = 0, $1 = 0.0, $10 = 0, $11 = 0.0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0.0, $18 = 0.0, $2 = 0, $3 = 0, $4 = 0.0, $5 = 0, $6 = 0, $7 = 0; - var $8 = 0.0, $9 = 0, $y$0 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ($n|0)>(1023); - if ($0) { - $1 = $x * 8.9884656743115795E+307; - $2 = (($n) + -1023)|0; - $3 = ($2|0)>(1023); - if ($3) { - $4 = $1 * 8.9884656743115795E+307; - $5 = (($n) + -2046)|0; - $6 = ($5|0)>(1023); - $$ = $6 ? 1023 : $5; - $$0 = $$;$y$0 = $4; - } else { - $$0 = $2;$y$0 = $1; - } - } else { - $7 = ($n|0)<(-1022); - if ($7) { - $8 = $x * 2.2250738585072014E-308; - $9 = (($n) + 1022)|0; - $10 = ($9|0)<(-1022); - if ($10) { - $11 = $8 * 2.2250738585072014E-308; - $12 = (($n) + 2044)|0; - $13 = ($12|0)<(-1022); - $$1 = $13 ? -1022 : $12; - $$0 = $$1;$y$0 = $11; - } else { - $$0 = $9;$y$0 = $8; - } - } else { - $$0 = $n;$y$0 = $x; - } - } - $14 = (($$0) + 1023)|0; - $15 = (_bitshift64Shl(($14|0),0,52)|0); - $16 = tempRet0; - HEAP32[tempDoublePtr>>2] = $15;HEAP32[tempDoublePtr+4>>2] = $16;$17 = +HEAPF64[tempDoublePtr>>3]; - $18 = $y$0 * $17; - return (+$18); -} -function _scalbnl($x,$n) { - $x = +$x; - $n = $n|0; - var $0 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (+_scalbn($x,$n)); - return (+$0); -} -function _mbrtowc($wc,$src,$n,$st) { - $wc = $wc|0; - $src = $src|0; - $n = $n|0; - $st = $st|0; - var $$0 = 0, $$024 = 0, $$1 = 0, $$lcssa = 0, $$lcssa35 = 0, $$st = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0; - var $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0; - var $4 = 0, $40 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $c$05 = 0, $c$1 = 0, $c$2 = 0, $dummy = 0, $dummy$wc = 0, $s$06 = 0, $s$1 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $dummy = sp; - $0 = ($st|0)==(0|0); - $$st = $0 ? 8944 : $st; - $1 = HEAP32[$$st>>2]|0; - $2 = ($src|0)==(0|0); - L1: do { - if ($2) { - $3 = ($1|0)==(0); - if ($3) { - $$0 = 0; - } else { - label = 15; - } - } else { - $4 = ($wc|0)==(0|0); - $dummy$wc = $4 ? $dummy : $wc; - $5 = ($n|0)==(0); - if ($5) { - $$0 = -2; - } else { - $6 = ($1|0)==(0); - if ($6) { - $7 = HEAP8[$src>>0]|0; - $8 = $7&255; - $9 = ($7<<24>>24)>(-1); - if ($9) { - HEAP32[$dummy$wc>>2] = $8; - $10 = ($7<<24>>24)!=(0); - $11 = $10&1; - $$0 = $11; - break; - } - $12 = (($8) + -194)|0; - $13 = ($12>>>0)>(50); - if ($13) { - label = 15; - break; - } - $14 = ((($src)) + 1|0); - $15 = (8696 + ($12<<2)|0); - $16 = HEAP32[$15>>2]|0; - $17 = (($n) + -1)|0; - $18 = ($17|0)==(0); - if ($18) { - $c$2 = $16; - } else { - $$024 = $17;$c$05 = $16;$s$06 = $14; - label = 9; - } - } else { - $$024 = $n;$c$05 = $1;$s$06 = $src; - label = 9; - } - L11: do { - if ((label|0) == 9) { - $19 = HEAP8[$s$06>>0]|0; - $20 = $19&255; - $21 = $20 >>> 3; - $22 = (($21) + -16)|0; - $23 = $c$05 >> 26; - $24 = (($21) + ($23))|0; - $25 = $22 | $24; - $26 = ($25>>>0)>(7); - if ($26) { - label = 15; - break L1; - } else { - $$1 = $$024;$30 = $19;$c$1 = $c$05;$s$1 = $s$06; - } - while(1) { - $27 = $c$1 << 6; - $28 = ((($s$1)) + 1|0); - $29 = $30&255; - $31 = (($29) + -128)|0; - $32 = $31 | $27; - $33 = (($$1) + -1)|0; - $34 = ($32|0)<(0); - if (!($34)) { - $$lcssa = $32;$$lcssa35 = $33; - break; - } - $36 = ($33|0)==(0); - if ($36) { - $c$2 = $32; - break L11; - } - $37 = HEAP8[$28>>0]|0; - $38 = $37 & -64; - $39 = ($38<<24>>24)==(-128); - if ($39) { - $$1 = $33;$30 = $37;$c$1 = $32;$s$1 = $28; - } else { - label = 15; - break L1; - } - } - HEAP32[$$st>>2] = 0; - HEAP32[$dummy$wc>>2] = $$lcssa; - $35 = (($n) - ($$lcssa35))|0; - $$0 = $35; - break L1; - } - } while(0); - HEAP32[$$st>>2] = $c$2; - $$0 = -2; - } - } - } while(0); - if ((label|0) == 15) { - HEAP32[$$st>>2] = 0; - $40 = (___errno_location()|0); - HEAP32[$40>>2] = 84; - $$0 = -1; - } - STACKTOP = sp;return ($$0|0); -} -function _mbsinit($st) { - $st = $st|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ($st|0)==(0|0); - if ($0) { - $4 = 1; - } else { - $1 = HEAP32[$st>>2]|0; - $2 = ($1|0)==(0); - $4 = $2; - } - $3 = $4&1; - return ($3|0); -} -function _wcrtomb($s,$wc,$st) { - $s = $s|0; - $wc = $wc|0; - $st = $st|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; - var $44 = 0, $45 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ($s|0)==(0|0); - do { - if ($0) { - $$0 = 1; - } else { - $1 = ($wc>>>0)<(128); - if ($1) { - $2 = $wc&255; - HEAP8[$s>>0] = $2; - $$0 = 1; - break; - } - $3 = ($wc>>>0)<(2048); - if ($3) { - $4 = $wc >>> 6; - $5 = $4 | 192; - $6 = $5&255; - $7 = ((($s)) + 1|0); - HEAP8[$s>>0] = $6; - $8 = $wc & 63; - $9 = $8 | 128; - $10 = $9&255; - HEAP8[$7>>0] = $10; - $$0 = 2; - break; - } - $11 = ($wc>>>0)<(55296); - $12 = $wc & -8192; - $13 = ($12|0)==(57344); - $or$cond = $11 | $13; - if ($or$cond) { - $14 = $wc >>> 12; - $15 = $14 | 224; - $16 = $15&255; - $17 = ((($s)) + 1|0); - HEAP8[$s>>0] = $16; - $18 = $wc >>> 6; - $19 = $18 & 63; - $20 = $19 | 128; - $21 = $20&255; - $22 = ((($s)) + 2|0); - HEAP8[$17>>0] = $21; - $23 = $wc & 63; - $24 = $23 | 128; - $25 = $24&255; - HEAP8[$22>>0] = $25; - $$0 = 3; - break; - } - $26 = (($wc) + -65536)|0; - $27 = ($26>>>0)<(1048576); - if ($27) { - $28 = $wc >>> 18; - $29 = $28 | 240; - $30 = $29&255; - $31 = ((($s)) + 1|0); - HEAP8[$s>>0] = $30; - $32 = $wc >>> 12; - $33 = $32 & 63; - $34 = $33 | 128; - $35 = $34&255; - $36 = ((($s)) + 2|0); - HEAP8[$31>>0] = $35; - $37 = $wc >>> 6; - $38 = $37 & 63; - $39 = $38 | 128; - $40 = $39&255; - $41 = ((($s)) + 3|0); - HEAP8[$36>>0] = $40; - $42 = $wc & 63; - $43 = $42 | 128; - $44 = $43&255; - HEAP8[$41>>0] = $44; - $$0 = 4; - break; - } else { - $45 = (___errno_location()|0); - HEAP32[$45>>2] = 84; - $$0 = -1; - break; - } - } - } while(0); - return ($$0|0); -} -function _wctomb($s,$wc) { - $s = $s|0; - $wc = $wc|0; - var $$0 = 0, $0 = 0, $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ($s|0)==(0|0); - if ($0) { - $$0 = 0; - } else { - $1 = (_wcrtomb($s,$wc,0)|0); - $$0 = $1; - } - return ($$0|0); -} -function _srand($s) { - $s = $s|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (($s) + -1)|0; - $1 = 144; - $2 = $1; - HEAP32[$2>>2] = $0; - $3 = (($1) + 4)|0; - $4 = $3; - HEAP32[$4>>2] = 0; - return; -} -function _fclose($f) { - $f = $f|0; - var $$pre = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($f)) + 76|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)>(-1); - if ($2) { - (___lockfile($f)|0); - } - $3 = HEAP32[$f>>2]|0; - $4 = $3 & 1; - $5 = ($4|0)!=(0); - if (!($5)) { - ___lock(((8680)|0)); - $6 = ((($f)) + 52|0); - $7 = HEAP32[$6>>2]|0; - $8 = ($7|0)==(0|0); - $9 = $7; - $$pre = ((($f)) + 56|0); - if (!($8)) { - $10 = HEAP32[$$pre>>2]|0; - $11 = ((($7)) + 56|0); - HEAP32[$11>>2] = $10; - } - $12 = HEAP32[$$pre>>2]|0; - $13 = ($12|0)==(0|0); - $14 = $12; - if (!($13)) { - $15 = ((($12)) + 52|0); - HEAP32[$15>>2] = $9; - } - $16 = HEAP32[(8676)>>2]|0; - $17 = ($16|0)==($f|0); - if ($17) { - HEAP32[(8676)>>2] = $14; - } - ___unlock(((8680)|0)); - } - $18 = (_fflush($f)|0); - $19 = ((($f)) + 12|0); - $20 = HEAP32[$19>>2]|0; - $21 = (FUNCTION_TABLE_ii[$20 & 15]($f)|0); - $22 = $21 | $18; - $23 = ((($f)) + 92|0); - $24 = HEAP32[$23>>2]|0; - $25 = ($24|0)==(0|0); - if (!($25)) { - _free($24); - } - if (!($5)) { - _free($f); - } - return ($22|0); -} -function _feof($f) { - $f = $f|0; - var $$lobit = 0, $$lobit1 = 0, $$lobit2 = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $phitmp = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($f)) + 76|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)>(-1); - if ($2) { - $5 = (___lockfile($f)|0); - $phitmp = ($5|0)==(0); - $6 = HEAP32[$f>>2]|0; - $7 = $6 >>> 4; - $$lobit = $7 & 1; - if ($phitmp) { - $$lobit2 = $$lobit; - } else { - ___unlockfile($f); - $$lobit2 = $$lobit; - } - } else { - $3 = HEAP32[$f>>2]|0; - $4 = $3 >>> 4; - $$lobit1 = $4 & 1; - $$lobit2 = $$lobit1; - } - return ($$lobit2|0); -} -function _fflush($f) { - $f = $f|0; - var $$0 = 0, $$01 = 0, $$012 = 0, $$014 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0; - var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $phitmp = 0, $r$0$lcssa = 0, $r$03 = 0, $r$1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ($f|0)==(0|0); - do { - if ($0) { - $7 = HEAP32[8904>>2]|0; - $8 = ($7|0)==(0|0); - if ($8) { - $27 = 0; - } else { - $9 = HEAP32[8904>>2]|0; - $10 = (_fflush($9)|0); - $27 = $10; - } - ___lock(((8680)|0)); - $$012 = HEAP32[(8676)>>2]|0; - $11 = ($$012|0)==(0|0); - if ($11) { - $r$0$lcssa = $27; - } else { - $$014 = $$012;$r$03 = $27; - while(1) { - $12 = ((($$014)) + 76|0); - $13 = HEAP32[$12>>2]|0; - $14 = ($13|0)>(-1); - if ($14) { - $15 = (___lockfile($$014)|0); - $23 = $15; - } else { - $23 = 0; - } - $16 = ((($$014)) + 20|0); - $17 = HEAP32[$16>>2]|0; - $18 = ((($$014)) + 28|0); - $19 = HEAP32[$18>>2]|0; - $20 = ($17>>>0)>($19>>>0); - if ($20) { - $21 = (___fflush_unlocked($$014)|0); - $22 = $21 | $r$03; - $r$1 = $22; - } else { - $r$1 = $r$03; - } - $24 = ($23|0)==(0); - if (!($24)) { - ___unlockfile($$014); - } - $25 = ((($$014)) + 56|0); - $$01 = HEAP32[$25>>2]|0; - $26 = ($$01|0)==(0|0); - if ($26) { - $r$0$lcssa = $r$1; - break; - } else { - $$014 = $$01;$r$03 = $r$1; - } - } - } - ___unlock(((8680)|0)); - $$0 = $r$0$lcssa; - } else { - $1 = ((($f)) + 76|0); - $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)>(-1); - if (!($3)) { - $4 = (___fflush_unlocked($f)|0); - $$0 = $4; - break; - } - $5 = (___lockfile($f)|0); - $phitmp = ($5|0)==(0); - $6 = (___fflush_unlocked($f)|0); - if ($phitmp) { - $$0 = $6; - } else { - ___unlockfile($f); - $$0 = $6; - } - } - } while(0); - return ($$0|0); -} -function _fgetc($f) { - $f = $f|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $3 = 0, $4 = 0; - var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($f)) + 76|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)<(0); - if ($2) { - label = 3; - } else { - $3 = (___lockfile($f)|0); - $4 = ($3|0)==(0); - if ($4) { - label = 3; - } else { - $14 = ((($f)) + 4|0); - $15 = HEAP32[$14>>2]|0; - $16 = ((($f)) + 8|0); - $17 = HEAP32[$16>>2]|0; - $18 = ($15>>>0)<($17>>>0); - if ($18) { - $19 = ((($15)) + 1|0); - HEAP32[$14>>2] = $19; - $20 = HEAP8[$15>>0]|0; - $21 = $20&255; - $23 = $21; - } else { - $22 = (___uflow($f)|0); - $23 = $22; - } - ___unlockfile($f); - $$0 = $23; - } - } - do { - if ((label|0) == 3) { - $5 = ((($f)) + 4|0); - $6 = HEAP32[$5>>2]|0; - $7 = ((($f)) + 8|0); - $8 = HEAP32[$7>>2]|0; - $9 = ($6>>>0)<($8>>>0); - if ($9) { - $10 = ((($6)) + 1|0); - HEAP32[$5>>2] = $10; - $11 = HEAP8[$6>>0]|0; - $12 = $11&255; - $$0 = $12; - break; - } else { - $13 = (___uflow($f)|0); - $$0 = $13; - break; - } - } - } while(0); - return ($$0|0); -} -function _fgets($s,$n,$f) { - $s = $s|0; - $n = $n|0; - $f = $f|0; - var $$0 = 0, $$048 = 0, $$05 = 0, $$lcssa14 = 0, $$old2 = 0, $$pre = 0, $$sum$pre$phiZZ2D = 0, $$sum6 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0; - var $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0; - var $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $6 = 0, $7 = 0, $8 = 0; - var $9 = 0, $or$cond = 0, $or$cond3 = 0, $p$0 = 0, $p$1 = 0, $sext$mask = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($f)) + 76|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)>(-1); - if ($2) { - $3 = (___lockfile($f)|0); - $12 = $3; - } else { - $12 = 0; - } - $4 = (($n) + -1)|0; - $5 = ($n|0)<(2); - if ($5) { - $6 = ((($f)) + 74|0); - $7 = HEAP8[$6>>0]|0; - $8 = $7 << 24 >> 24; - $9 = (($8) + 255)|0; - $10 = $9 | $8; - $11 = $10&255; - HEAP8[$6>>0] = $11; - $13 = ($12|0)==(0); - if (!($13)) { - ___unlockfile($f); - } - $14 = ($4|0)==(0); - if ($14) { - HEAP8[$s>>0] = 0; - $$0 = $s; - } else { - $$0 = 0; - } - } else { - $$old2 = ($4|0)==(0); - L11: do { - if ($$old2) { - $p$1 = $s; - label = 18; - } else { - $15 = ((($f)) + 4|0); - $16 = ((($f)) + 8|0); - $$05 = $4;$p$0 = $s; - while(1) { - $17 = HEAP32[$15>>2]|0; - $18 = HEAP32[$16>>2]|0; - $19 = $18; - $20 = $17; - $21 = (($19) - ($20))|0; - $22 = (_memchr($17,10,$21)|0); - $23 = ($22|0)==(0|0); - $24 = $22; - $25 = (1 - ($20))|0; - $26 = (($25) + ($24))|0; - $27 = $23 ? $21 : $26; - $28 = ($27>>>0)<($$05>>>0); - $29 = $28 ? $27 : $$05; - _memcpy(($p$0|0),($17|0),($29|0))|0; - $30 = HEAP32[$15>>2]|0; - $31 = (($30) + ($29)|0); - HEAP32[$15>>2] = $31; - $32 = (($p$0) + ($29)|0); - $33 = (($$05) - ($29))|0; - $or$cond = $23 & $28; - if (!($or$cond)) { - $p$1 = $32; - label = 18; - break L11; - } - $34 = HEAP32[$16>>2]|0; - $35 = ($31>>>0)<($34>>>0); - if ($35) { - $$sum6 = (($29) + 1)|0; - $36 = (($30) + ($$sum6)|0); - HEAP32[$15>>2] = $36; - $37 = HEAP8[$31>>0]|0; - $38 = $37&255; - $$sum$pre$phiZZ2D = $$sum6;$47 = $38; - } else { - $39 = (___uflow($f)|0); - $40 = ($39|0)<(0); - if ($40) { - $$lcssa14 = $32; - break; - } - $$pre = (($29) + 1)|0; - $$sum$pre$phiZZ2D = $$pre;$47 = $39; - } - $45 = (($33) + -1)|0; - $46 = $47&255; - $48 = (($p$0) + ($$sum$pre$phiZZ2D)|0); - HEAP8[$32>>0] = $46; - $sext$mask = $47 & 255; - $49 = ($sext$mask|0)!=(10); - $50 = ($45|0)!=(0); - $or$cond3 = $50 & $49; - if ($or$cond3) { - $$05 = $45;$p$0 = $48; - } else { - $p$1 = $48; - label = 18; - break L11; - } - } - $41 = ($$lcssa14|0)==($s|0); - if ($41) { - $$048 = 0; - } else { - $42 = HEAP32[$f>>2]|0; - $43 = $42 & 16; - $44 = ($43|0)==(0); - if ($44) { - $$048 = 0; - } else { - $p$1 = $$lcssa14; - label = 18; - } - } - } - } while(0); - if ((label|0) == 18) { - $51 = ($s|0)==(0|0); - if ($51) { - $$048 = 0; - } else { - HEAP8[$p$1>>0] = 0; - $$048 = $s; - } - } - $52 = ($12|0)==(0); - if ($52) { - $$0 = $$048; - } else { - ___unlockfile($f); - $$0 = $$048; - } - } - return ($$0|0); -} -function _fopen($filename,$mode) { - $filename = $filename|0; - $mode = $mode|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $memchr = 0, $vararg_buffer = 0, $vararg_buffer3 = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $vararg_buffer3 = sp + 16|0; - $vararg_buffer = sp; - $0 = HEAP8[$mode>>0]|0; - $1 = $0 << 24 >> 24; - $memchr = (_memchr(28953,$1,4)|0); - $2 = ($memchr|0)==(0|0); - if ($2) { - $3 = (___errno_location()|0); - HEAP32[$3>>2] = 22; - $$0 = 0; - } else { - $4 = (___fmodeflags($mode)|0); - $5 = $4 | 32768; - HEAP32[$vararg_buffer>>2] = $filename; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = $5; - $vararg_ptr2 = ((($vararg_buffer)) + 8|0); - HEAP32[$vararg_ptr2>>2] = 438; - $6 = (___syscall5(5,($vararg_buffer|0))|0); - $7 = (___syscall_ret($6)|0); - $8 = ($7|0)<(0); - if ($8) { - $$0 = 0; - } else { - $9 = (___fdopen($7,$mode)|0); - $10 = ($9|0)==(0|0); - if ($10) { - HEAP32[$vararg_buffer3>>2] = $7; - (___syscall6(6,($vararg_buffer3|0))|0); - $$0 = 0; - } else { - $$0 = $9; - } - } - } - STACKTOP = sp;return ($$0|0); -} -function _fputc($c,$f) { - $c = $c|0; - $f = $f|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($f)) + 76|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)<(0); - if ($2) { - label = 3; - } else { - $3 = (___lockfile($f)|0); - $4 = ($3|0)==(0); - if ($4) { - label = 3; - } else { - $18 = ((($f)) + 75|0); - $19 = HEAP8[$18>>0]|0; - $20 = $19 << 24 >> 24; - $21 = ($20|0)==($c|0); - if ($21) { - label = 10; - } else { - $22 = ((($f)) + 20|0); - $23 = HEAP32[$22>>2]|0; - $24 = ((($f)) + 16|0); - $25 = HEAP32[$24>>2]|0; - $26 = ($23>>>0)<($25>>>0); - if ($26) { - $27 = $c&255; - $28 = ((($23)) + 1|0); - HEAP32[$22>>2] = $28; - HEAP8[$23>>0] = $27; - $29 = $c & 255; - $31 = $29; - } else { - label = 10; - } - } - if ((label|0) == 10) { - $30 = (___overflow($f,$c)|0); - $31 = $30; - } - ___unlockfile($f); - $$0 = $31; - } - } - do { - if ((label|0) == 3) { - $5 = ((($f)) + 75|0); - $6 = HEAP8[$5>>0]|0; - $7 = $6 << 24 >> 24; - $8 = ($7|0)==($c|0); - if (!($8)) { - $9 = ((($f)) + 20|0); - $10 = HEAP32[$9>>2]|0; - $11 = ((($f)) + 16|0); - $12 = HEAP32[$11>>2]|0; - $13 = ($10>>>0)<($12>>>0); - if ($13) { - $14 = $c&255; - $15 = ((($10)) + 1|0); - HEAP32[$9>>2] = $15; - HEAP8[$10>>0] = $14; - $16 = $c & 255; - $$0 = $16; - break; - } - } - $17 = (___overflow($f,$c)|0); - $$0 = $17; - } - } while(0); - return ($$0|0); -} -function _fread($destv,$size,$nmemb,$f) { - $destv = $destv|0; - $size = $size|0; - $nmemb = $nmemb|0; - $f = $f|0; - var $$ = 0, $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; - var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; - var $9 = 0, $dest$0$ph = 0, $dest$02 = 0, $l$0$ph = 0, $l$03 = 0, $l$03$lcssa = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = Math_imul($nmemb, $size)|0; - $1 = ((($f)) + 76|0); - $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)>(-1); - if ($3) { - $4 = (___lockfile($f)|0); - $31 = $4; - } else { - $31 = 0; - } - $5 = ((($f)) + 74|0); - $6 = HEAP8[$5>>0]|0; - $7 = $6 << 24 >> 24; - $8 = (($7) + 255)|0; - $9 = $8 | $7; - $10 = $9&255; - HEAP8[$5>>0] = $10; - $11 = ((($f)) + 8|0); - $12 = HEAP32[$11>>2]|0; - $13 = ((($f)) + 4|0); - $14 = HEAP32[$13>>2]|0; - $15 = $12; - $16 = $14; - $17 = (($15) - ($16))|0; - $18 = ($17|0)>(0); - if ($18) { - $19 = ($17>>>0)<($0>>>0); - $$ = $19 ? $17 : $0; - _memcpy(($destv|0),($14|0),($$|0))|0; - $20 = (($14) + ($$)|0); - HEAP32[$13>>2] = $20; - $21 = (($destv) + ($$)|0); - $22 = (($0) - ($$))|0; - $dest$0$ph = $21;$l$0$ph = $22; - } else { - $dest$0$ph = $destv;$l$0$ph = $0; - } - $23 = ($l$0$ph|0)==(0); - L7: do { - if ($23) { - label = 13; - } else { - $24 = ((($f)) + 32|0); - $dest$02 = $dest$0$ph;$l$03 = $l$0$ph; - while(1) { - $25 = (___toread($f)|0); - $26 = ($25|0)==(0); - if (!($26)) { - $l$03$lcssa = $l$03; - break; - } - $27 = HEAP32[$24>>2]|0; - $28 = (FUNCTION_TABLE_iiii[$27 & 15]($f,$dest$02,$l$03)|0); - $29 = (($28) + 1)|0; - $30 = ($29>>>0)<(2); - if ($30) { - $l$03$lcssa = $l$03; - break; - } - $35 = (($l$03) - ($28))|0; - $36 = (($dest$02) + ($28)|0); - $37 = ($l$03|0)==($28|0); - if ($37) { - label = 13; - break L7; - } else { - $dest$02 = $36;$l$03 = $35; - } - } - $32 = ($31|0)==(0); - if (!($32)) { - ___unlockfile($f); - } - $33 = (($0) - ($l$03$lcssa))|0; - $34 = (($33>>>0) / ($size>>>0))&-1; - $$0 = $34; - } - } while(0); - if ((label|0) == 13) { - $38 = ($31|0)==(0); - if ($38) { - $$0 = $nmemb; - } else { - ___unlockfile($f); - $$0 = $nmemb; - } - } - return ($$0|0); -} -function _fscanf($f,$fmt,$varargs) { - $f = $f|0; - $fmt = $fmt|0; - $varargs = $varargs|0; - var $0 = 0, $ap = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $ap = sp; - HEAP32[$ap>>2] = $varargs; - $0 = (_vfscanf($f,$fmt,$ap)|0); - STACKTOP = sp;return ($0|0); -} -function ___fseeko_unlocked($f,$off,$whence) { - $f = $f|0; - $off = $off|0; - $whence = $whence|0; - var $$0 = 0, $$01 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; - var $25 = 0, $26 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ($whence|0)==(1); - if ($0) { - $1 = ((($f)) + 8|0); - $2 = HEAP32[$1>>2]|0; - $3 = ((($f)) + 4|0); - $4 = HEAP32[$3>>2]|0; - $5 = $2; - $6 = $4; - $7 = (($off) - ($5))|0; - $8 = (($7) + ($6))|0; - $$01 = $8; - } else { - $$01 = $off; - } - $9 = ((($f)) + 20|0); - $10 = HEAP32[$9>>2]|0; - $11 = ((($f)) + 28|0); - $12 = HEAP32[$11>>2]|0; - $13 = ($10>>>0)>($12>>>0); - if ($13) { - $14 = ((($f)) + 36|0); - $15 = HEAP32[$14>>2]|0; - (FUNCTION_TABLE_iiii[$15 & 15]($f,0,0)|0); - $16 = HEAP32[$9>>2]|0; - $17 = ($16|0)==(0|0); - if ($17) { - $$0 = -1; - } else { - label = 5; - } - } else { - label = 5; - } - if ((label|0) == 5) { - $18 = ((($f)) + 16|0); - HEAP32[$18>>2] = 0; - HEAP32[$11>>2] = 0; - HEAP32[$9>>2] = 0; - $19 = ((($f)) + 40|0); - $20 = HEAP32[$19>>2]|0; - $21 = (FUNCTION_TABLE_iiii[$20 & 15]($f,$$01,$whence)|0); - $22 = ($21|0)<(0); - if ($22) { - $$0 = -1; - } else { - $23 = ((($f)) + 8|0); - HEAP32[$23>>2] = 0; - $24 = ((($f)) + 4|0); - HEAP32[$24>>2] = 0; - $25 = HEAP32[$f>>2]|0; - $26 = $25 & -17; - HEAP32[$f>>2] = $26; - $$0 = 0; - } - } - return ($$0|0); -} -function ___fseeko($f,$off,$whence) { - $f = $f|0; - $off = $off|0; - $whence = $whence|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $phitmp = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($f)) + 76|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)>(-1); - if ($2) { - $4 = (___lockfile($f)|0); - $phitmp = ($4|0)==(0); - $5 = (___fseeko_unlocked($f,$off,$whence)|0); - if ($phitmp) { - $6 = $5; - } else { - ___unlockfile($f); - $6 = $5; - } - } else { - $3 = (___fseeko_unlocked($f,$off,$whence)|0); - $6 = $3; - } - return ($6|0); -} -function _fseek($f,$off,$whence) { - $f = $f|0; - $off = $off|0; - $whence = $whence|0; - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (___fseeko($f,$off,$whence)|0); - return ($0|0); -} -function ___ftello_unlocked($f) { - $f = $f|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $phitmp = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($f)) + 40|0); - $1 = HEAP32[$0>>2]|0; - $2 = HEAP32[$f>>2]|0; - $3 = $2 & 128; - $4 = ($3|0)==(0); - if ($4) { - $10 = 1; - } else { - $5 = ((($f)) + 20|0); - $6 = HEAP32[$5>>2]|0; - $7 = ((($f)) + 28|0); - $8 = HEAP32[$7>>2]|0; - $9 = ($6>>>0)>($8>>>0); - $phitmp = $9 ? 2 : 1; - $10 = $phitmp; - } - $11 = (FUNCTION_TABLE_iiii[$1 & 15]($f,0,$10)|0); - $12 = ($11|0)<(0); - if ($12) { - $$0 = $11; - } else { - $13 = ((($f)) + 8|0); - $14 = HEAP32[$13>>2]|0; - $15 = ((($f)) + 4|0); - $16 = HEAP32[$15>>2]|0; - $17 = $14; - $18 = $16; - $19 = ((($f)) + 20|0); - $20 = HEAP32[$19>>2]|0; - $21 = ((($f)) + 28|0); - $22 = HEAP32[$21>>2]|0; - $23 = $20; - $24 = $22; - $25 = (($11) - ($17))|0; - $26 = (($25) + ($18))|0; - $27 = (($26) + ($23))|0; - $28 = (($27) - ($24))|0; - $$0 = $28; - } - return ($$0|0); -} -function ___ftello($f) { - $f = $f|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $phitmp = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($f)) + 76|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)>(-1); - if ($2) { - $4 = (___lockfile($f)|0); - $phitmp = ($4|0)==(0); - $5 = (___ftello_unlocked($f)|0); - if ($phitmp) { - $6 = $5; - } else { - ___unlockfile($f); - $6 = $5; - } - } else { - $3 = (___ftello_unlocked($f)|0); - $6 = $3; - } - return ($6|0); -} -function _ftell($f) { - $f = $f|0; - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (___ftello($f)|0); - return ($0|0); -} -function ___fwritex($s,$l,$f) { - $s = $s|0; - $l = $l|0; - $f = $f|0; - var $$0 = 0, $$01 = 0, $$02 = 0, $$pre = 0, $$pre6 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0; - var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i$0 = 0, $i$0$lcssa10 = 0; - var $i$1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($f)) + 16|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)==(0|0); - if ($2) { - $3 = (___towrite($f)|0); - $4 = ($3|0)==(0); - if ($4) { - $$pre = HEAP32[$0>>2]|0; - $7 = $$pre; - label = 4; - } else { - $$0 = 0; - } - } else { - $7 = $1; - label = 4; - } - L4: do { - if ((label|0) == 4) { - $5 = ((($f)) + 20|0); - $6 = HEAP32[$5>>2]|0; - $8 = $7; - $9 = $6; - $10 = (($8) - ($9))|0; - $11 = ($10>>>0)<($l>>>0); - if ($11) { - $12 = ((($f)) + 36|0); - $13 = HEAP32[$12>>2]|0; - $14 = (FUNCTION_TABLE_iiii[$13 & 15]($f,$s,$l)|0); - $$0 = $14; - break; - } - $15 = ((($f)) + 75|0); - $16 = HEAP8[$15>>0]|0; - $17 = ($16<<24>>24)>(-1); - L9: do { - if ($17) { - $i$0 = $l; - while(1) { - $18 = ($i$0|0)==(0); - if ($18) { - $$01 = $l;$$02 = $s;$29 = $6;$i$1 = 0; - break L9; - } - $19 = (($i$0) + -1)|0; - $20 = (($s) + ($19)|0); - $21 = HEAP8[$20>>0]|0; - $22 = ($21<<24>>24)==(10); - if ($22) { - $i$0$lcssa10 = $i$0; - break; - } else { - $i$0 = $19; - } - } - $23 = ((($f)) + 36|0); - $24 = HEAP32[$23>>2]|0; - $25 = (FUNCTION_TABLE_iiii[$24 & 15]($f,$s,$i$0$lcssa10)|0); - $26 = ($25>>>0)<($i$0$lcssa10>>>0); - if ($26) { - $$0 = $i$0$lcssa10; - break L4; - } - $27 = (($s) + ($i$0$lcssa10)|0); - $28 = (($l) - ($i$0$lcssa10))|0; - $$pre6 = HEAP32[$5>>2]|0; - $$01 = $28;$$02 = $27;$29 = $$pre6;$i$1 = $i$0$lcssa10; - } else { - $$01 = $l;$$02 = $s;$29 = $6;$i$1 = 0; - } - } while(0); - _memcpy(($29|0),($$02|0),($$01|0))|0; - $30 = HEAP32[$5>>2]|0; - $31 = (($30) + ($$01)|0); - HEAP32[$5>>2] = $31; - $32 = (($i$1) + ($$01))|0; - $$0 = $32; - } - } while(0); - return ($$0|0); -} -function _fwrite($src,$size,$nmemb,$f) { - $src = $src|0; - $size = $size|0; - $nmemb = $nmemb|0; - $f = $f|0; - var $0 = 0, $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $phitmp = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = Math_imul($nmemb, $size)|0; - $1 = ((($f)) + 76|0); - $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)>(-1); - if ($3) { - $5 = (___lockfile($f)|0); - $phitmp = ($5|0)==(0); - $6 = (___fwritex($src,$0,$f)|0); - if ($phitmp) { - $7 = $6; - } else { - ___unlockfile($f); - $7 = $6; - } - } else { - $4 = (___fwritex($src,$0,$f)|0); - $7 = $4; - } - $8 = ($7|0)==($0|0); - if ($8) { - $10 = $nmemb; - } else { - $9 = (($7>>>0) / ($size>>>0))&-1; - $10 = $9; - } - return ($10|0); -} -function _rewind($f) { - $f = $f|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $phitmp = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($f)) + 76|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)>(-1); - if ($2) { - $3 = (___lockfile($f)|0); - $phitmp = ($3|0)==(0); - (___fseeko_unlocked($f,0,0)|0); - $4 = HEAP32[$f>>2]|0; - $5 = $4 & -33; - HEAP32[$f>>2] = $5; - if (!($phitmp)) { - ___unlockfile($f); - } - } else { - (___fseeko_unlocked($f,0,0)|0); - $6 = HEAP32[$f>>2]|0; - $7 = $6 & -33; - HEAP32[$f>>2] = $7; - } - return; -} -function _sscanf($s,$fmt,$varargs) { - $s = $s|0; - $fmt = $fmt|0; - $varargs = $varargs|0; - var $0 = 0, $ap = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $ap = sp; - HEAP32[$ap>>2] = $varargs; - $0 = (_vsscanf($s,$fmt,$ap)|0); - STACKTOP = sp;return ($0|0); -} -function _vfprintf($f,$fmt,$ap) { - $f = $f|0; - $fmt = $fmt|0; - $ap = $ap|0; - var $$ = 0, $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; - var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $ap2 = 0, $internal_buf = 0, $nl_arg = 0, $nl_type = 0; - var $ret$1 = 0, $ret$1$ = 0, $vacopy_currentptr = 0, dest = 0, label = 0, sp = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 224|0; - $ap2 = sp + 120|0; - $nl_type = sp + 80|0; - $nl_arg = sp; - $internal_buf = sp + 136|0; - dest=$nl_type; stop=dest+40|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - $vacopy_currentptr = HEAP32[$ap>>2]|0; - HEAP32[$ap2>>2] = $vacopy_currentptr; - $0 = (_printf_core(0,$fmt,$ap2,$nl_arg,$nl_type)|0); - $1 = ($0|0)<(0); - if ($1) { - $$0 = -1; - } else { - $2 = ((($f)) + 76|0); - $3 = HEAP32[$2>>2]|0; - $4 = ($3|0)>(-1); - if ($4) { - $5 = (___lockfile($f)|0); - $32 = $5; - } else { - $32 = 0; - } - $6 = HEAP32[$f>>2]|0; - $7 = $6 & 32; - $8 = ((($f)) + 74|0); - $9 = HEAP8[$8>>0]|0; - $10 = ($9<<24>>24)<(1); - if ($10) { - $11 = $6 & -33; - HEAP32[$f>>2] = $11; - } - $12 = ((($f)) + 48|0); - $13 = HEAP32[$12>>2]|0; - $14 = ($13|0)==(0); - if ($14) { - $16 = ((($f)) + 44|0); - $17 = HEAP32[$16>>2]|0; - HEAP32[$16>>2] = $internal_buf; - $18 = ((($f)) + 28|0); - HEAP32[$18>>2] = $internal_buf; - $19 = ((($f)) + 20|0); - HEAP32[$19>>2] = $internal_buf; - HEAP32[$12>>2] = 80; - $20 = ((($internal_buf)) + 80|0); - $21 = ((($f)) + 16|0); - HEAP32[$21>>2] = $20; - $22 = (_printf_core($f,$fmt,$ap2,$nl_arg,$nl_type)|0); - $23 = ($17|0)==(0|0); - if ($23) { - $ret$1 = $22; - } else { - $24 = ((($f)) + 36|0); - $25 = HEAP32[$24>>2]|0; - (FUNCTION_TABLE_iiii[$25 & 15]($f,0,0)|0); - $26 = HEAP32[$19>>2]|0; - $27 = ($26|0)==(0|0); - $$ = $27 ? -1 : $22; - HEAP32[$16>>2] = $17; - HEAP32[$12>>2] = 0; - HEAP32[$21>>2] = 0; - HEAP32[$18>>2] = 0; - HEAP32[$19>>2] = 0; - $ret$1 = $$; - } - } else { - $15 = (_printf_core($f,$fmt,$ap2,$nl_arg,$nl_type)|0); - $ret$1 = $15; - } - $28 = HEAP32[$f>>2]|0; - $29 = $28 & 32; - $30 = ($29|0)==(0); - $ret$1$ = $30 ? $ret$1 : -1; - $31 = $28 | $7; - HEAP32[$f>>2] = $31; - $33 = ($32|0)==(0); - if (!($33)) { - ___unlockfile($f); - } - $$0 = $ret$1$; - } - STACKTOP = sp;return ($$0|0); -} -function _vfscanf($f,$fmt,$ap) { - $f = $f|0; - $fmt = $fmt|0; - $ap = $ap|0; - var $$ = 0, $$10 = 0, $$11 = 0, $$12 = 0, $$9 = 0, $$lcssa = 0, $$lcssa38 = 0, $$lcssa384 = 0, $$not = 0, $$old4 = 0, $$pre = 0, $$pre$phi182Z2D = 0, $$pre168 = 0, $$pre170 = 0, $$pre172 = 0, $$pre174 = 0, $$pre176 = 0, $$pre178 = 0, $$pre180 = 0, $$pre181 = 0; - var $$size$0 = 0, $$width$0 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0; - var $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0; - var $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0; - var $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0; - var $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0; - var $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0; - var $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0; - var $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0; - var $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0; - var $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0; - var $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0; - var $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0.0, $311 = 0; - var $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0.0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0; - var $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; - var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0; - var $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0; - var $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $alloc$0 = 0, $alloc$0400 = 0, $alloc$1 = 0; - var $alloc$2 = 0, $ap2$i = 0, $arglist_current = 0, $arglist_current2 = 0, $arglist_next = 0, $arglist_next3 = 0, $base$0 = 0, $c$0100 = 0, $dest$0 = 0, $expanded = 0, $expanded10 = 0, $expanded11 = 0, $expanded13 = 0, $expanded14 = 0, $expanded15 = 0, $expanded4 = 0, $expanded6 = 0, $expanded7 = 0, $expanded8 = 0, $factor = 0; - var $factor16 = 0, $i$0$i = 0, $i$0$ph = 0, $i$0$ph$phi = 0, $i$0$ph20 = 0, $i$0$ph20$lcssa = 0, $i$1 = 0, $i$2 = 0, $i$2$ph = 0, $i$2$ph$phi = 0, $i$3 = 0, $i$4 = 0, $invert$0 = 0, $isdigit = 0, $isdigit7 = 0, $isdigit795 = 0, $isdigittmp = 0, $isdigittmp6 = 0, $isdigittmp694 = 0, $k$0$ph = 0; - var $k$1$ph = 0, $matches$0$ = 0, $matches$0104 = 0, $matches$0104$lcssa = 0, $matches$0104376 = 0, $matches$1 = 0, $matches$2 = 0, $matches$3 = 0, $not$ = 0, $or$cond = 0, $or$cond3 = 0, $or$cond5 = 0, $or$cond8 = 0, $p$0109 = 0, $p$1 = 0, $p$1$lcssa = 0, $p$10 = 0, $p$11 = 0, $p$2 = 0, $p$3$lcssa = 0; - var $p$396 = 0, $p$4 = 0, $p$5 = 0, $p$6 = 0, $p$7 = 0, $p$7$ph = 0, $p$8 = 0, $p$9 = 0, $pos$0108 = 0, $pos$1 = 0, $pos$2 = 0, $s$0107 = 0, $s$0107$lcssa = 0, $s$1 = 0, $s$2$ph = 0, $s$3 = 0, $s$4 = 0, $s$5 = 0, $s$6 = 0, $s$7 = 0; - var $s$8 = 0, $scanset = 0, $size$0 = 0, $st = 0, $vacopy_currentptr = 0, $wc = 0, $wcs$0103 = 0, $wcs$0103$lcssa = 0, $wcs$1 = 0, $wcs$2 = 0, $wcs$3$ph = 0, $wcs$3$ph$lcssa = 0, $wcs$4 = 0, $wcs$5 = 0, $wcs$6 = 0, $wcs$7 = 0, $wcs$8 = 0, $wcs$9 = 0, $width$0$lcssa = 0, $width$097 = 0; - var $width$1 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 304|0; - $ap2$i = sp + 16|0; - $st = sp + 8|0; - $scanset = sp + 33|0; - $wc = sp; - $0 = sp + 32|0; - $1 = ((($f)) + 76|0); - $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)>(-1); - if ($3) { - $4 = (___lockfile($f)|0); - $333 = $4; - } else { - $333 = 0; - } - $5 = HEAP8[$fmt>>0]|0; - $6 = ($5<<24>>24)==(0); - L4: do { - if ($6) { - $matches$3 = 0; - } else { - $7 = ((($f)) + 4|0); - $8 = ((($f)) + 100|0); - $9 = ((($f)) + 108|0); - $10 = ((($f)) + 8|0); - $11 = ((($scanset)) + 10|0); - $12 = ((($scanset)) + 33|0); - $13 = ((($st)) + 4|0); - $14 = ((($scanset)) + 46|0); - $15 = ((($scanset)) + 94|0); - $17 = $5;$matches$0104 = 0;$p$0109 = $fmt;$pos$0108 = 0;$s$0107 = 0;$wcs$0103 = 0; - L6: while(1) { - $16 = $17&255; - $18 = (_isspace($16)|0); - $19 = ($18|0)==(0); - L8: do { - if ($19) { - $46 = HEAP8[$p$0109>>0]|0; - $47 = ($46<<24>>24)==(37); - L10: do { - if ($47) { - $48 = ((($p$0109)) + 1|0); - $49 = HEAP8[$48>>0]|0; - L12: do { - switch ($49<<24>>24) { - case 37: { - break L10; - break; - } - case 42: { - $70 = ((($p$0109)) + 2|0); - $dest$0 = 0;$p$2 = $70; - break; - } - default: { - $71 = $49&255; - $isdigittmp = (($71) + -48)|0; - $isdigit = ($isdigittmp>>>0)<(10); - if ($isdigit) { - $72 = ((($p$0109)) + 2|0); - $73 = HEAP8[$72>>0]|0; - $74 = ($73<<24>>24)==(36); - if ($74) { - $vacopy_currentptr = HEAP32[$ap>>2]|0; - HEAP32[$ap2$i>>2] = $vacopy_currentptr; - $i$0$i = $isdigittmp; - while(1) { - $75 = ($i$0$i>>>0)>(1); - $arglist_current = HEAP32[$ap2$i>>2]|0; - $76 = $arglist_current; - $77 = ((0) + 4|0); - $expanded4 = $77; - $expanded = (($expanded4) - 1)|0; - $78 = (($76) + ($expanded))|0; - $79 = ((0) + 4|0); - $expanded8 = $79; - $expanded7 = (($expanded8) - 1)|0; - $expanded6 = $expanded7 ^ -1; - $80 = $78 & $expanded6; - $81 = $80; - $82 = HEAP32[$81>>2]|0; - $arglist_next = ((($81)) + 4|0); - HEAP32[$ap2$i>>2] = $arglist_next; - $83 = (($i$0$i) + -1)|0; - if ($75) { - $i$0$i = $83; - } else { - $$lcssa = $82; - break; - } - } - $84 = ((($p$0109)) + 3|0); - $dest$0 = $$lcssa;$p$2 = $84; - break L12; - } - } - $arglist_current2 = HEAP32[$ap>>2]|0; - $85 = $arglist_current2; - $86 = ((0) + 4|0); - $expanded11 = $86; - $expanded10 = (($expanded11) - 1)|0; - $87 = (($85) + ($expanded10))|0; - $88 = ((0) + 4|0); - $expanded15 = $88; - $expanded14 = (($expanded15) - 1)|0; - $expanded13 = $expanded14 ^ -1; - $89 = $87 & $expanded13; - $90 = $89; - $91 = HEAP32[$90>>2]|0; - $arglist_next3 = ((($90)) + 4|0); - HEAP32[$ap>>2] = $arglist_next3; - $dest$0 = $91;$p$2 = $48; - } - } - } while(0); - $92 = HEAP8[$p$2>>0]|0; - $93 = $92&255; - $isdigittmp694 = (($93) + -48)|0; - $isdigit795 = ($isdigittmp694>>>0)<(10); - if ($isdigit795) { - $97 = $93;$p$396 = $p$2;$width$097 = 0; - while(1) { - $94 = ($width$097*10)|0; - $95 = (($94) + -48)|0; - $96 = (($95) + ($97))|0; - $98 = ((($p$396)) + 1|0); - $99 = HEAP8[$98>>0]|0; - $100 = $99&255; - $isdigittmp6 = (($100) + -48)|0; - $isdigit7 = ($isdigittmp6>>>0)<(10); - if ($isdigit7) { - $97 = $100;$p$396 = $98;$width$097 = $96; - } else { - $$lcssa38 = $99;$p$3$lcssa = $98;$width$0$lcssa = $96; - break; - } - } - } else { - $$lcssa38 = $92;$p$3$lcssa = $p$2;$width$0$lcssa = 0; - } - $101 = ($$lcssa38<<24>>24)==(109); - if ($101) { - $102 = ($dest$0|0)!=(0|0); - $103 = $102&1; - $104 = ((($p$3$lcssa)) + 1|0); - $$pre168 = HEAP8[$104>>0]|0; - $107 = $$pre168;$alloc$0 = $103;$p$4 = $104;$s$1 = 0;$wcs$1 = 0; - } else { - $107 = $$lcssa38;$alloc$0 = 0;$p$4 = $p$3$lcssa;$s$1 = $s$0107;$wcs$1 = $wcs$0103; - } - $105 = ((($p$4)) + 1|0); - $106 = $107&255; - switch ($106|0) { - case 104: { - $108 = HEAP8[$105>>0]|0; - $109 = ($108<<24>>24)==(104); - $110 = ((($p$4)) + 2|0); - $$9 = $109 ? $110 : $105; - $$10 = $109 ? -2 : -1; - $p$5 = $$9;$size$0 = $$10; - break; - } - case 108: { - $111 = HEAP8[$105>>0]|0; - $112 = ($111<<24>>24)==(108); - $113 = ((($p$4)) + 2|0); - $$11 = $112 ? $113 : $105; - $$12 = $112 ? 3 : 1; - $p$5 = $$11;$size$0 = $$12; - break; - } - case 106: { - $p$5 = $105;$size$0 = 3; - break; - } - case 116: case 122: { - $p$5 = $105;$size$0 = 1; - break; - } - case 76: { - $p$5 = $105;$size$0 = 2; - break; - } - case 110: case 112: case 67: case 83: case 91: case 99: case 115: case 88: case 71: case 70: case 69: case 65: case 103: case 102: case 101: case 97: case 120: case 117: case 111: case 105: case 100: { - $p$5 = $p$4;$size$0 = 0; - break; - } - default: { - $alloc$0400 = $alloc$0;$matches$0104376 = $matches$0104;$s$6 = $s$1;$wcs$7 = $wcs$1; - label = 152; - break L6; - } - } - $114 = HEAP8[$p$5>>0]|0; - $115 = $114&255; - $116 = $115 & 47; - $117 = ($116|0)==(3); - $118 = $115 | 32; - $$ = $117 ? $118 : $115; - $$size$0 = $117 ? 1 : $size$0; - switch ($$|0) { - case 99: { - $119 = ($width$0$lcssa|0)<(1); - $$width$0 = $119 ? 1 : $width$0$lcssa; - $pos$1 = $pos$0108;$width$1 = $$width$0; - break; - } - case 91: { - $pos$1 = $pos$0108;$width$1 = $width$0$lcssa; - break; - } - case 110: { - $120 = ($pos$0108|0)<(0); - $121 = $120 << 31 >> 31; - $122 = ($dest$0|0)==(0|0); - if ($122) { - $matches$1 = $matches$0104;$p$11 = $p$5;$pos$2 = $pos$0108;$s$5 = $s$1;$wcs$6 = $wcs$1; - break L8; - } - switch ($$size$0|0) { - case -2: { - $123 = $pos$0108&255; - HEAP8[$dest$0>>0] = $123; - $matches$1 = $matches$0104;$p$11 = $p$5;$pos$2 = $pos$0108;$s$5 = $s$1;$wcs$6 = $wcs$1; - break L8; - break; - } - case -1: { - $124 = $pos$0108&65535; - HEAP16[$dest$0>>1] = $124; - $matches$1 = $matches$0104;$p$11 = $p$5;$pos$2 = $pos$0108;$s$5 = $s$1;$wcs$6 = $wcs$1; - break L8; - break; - } - case 0: { - HEAP32[$dest$0>>2] = $pos$0108; - $matches$1 = $matches$0104;$p$11 = $p$5;$pos$2 = $pos$0108;$s$5 = $s$1;$wcs$6 = $wcs$1; - break L8; - break; - } - case 1: { - HEAP32[$dest$0>>2] = $pos$0108; - $matches$1 = $matches$0104;$p$11 = $p$5;$pos$2 = $pos$0108;$s$5 = $s$1;$wcs$6 = $wcs$1; - break L8; - break; - } - case 3: { - $125 = $dest$0; - $126 = $125; - HEAP32[$126>>2] = $pos$0108; - $127 = (($125) + 4)|0; - $128 = $127; - HEAP32[$128>>2] = $121; - $matches$1 = $matches$0104;$p$11 = $p$5;$pos$2 = $pos$0108;$s$5 = $s$1;$wcs$6 = $wcs$1; - break L8; - break; - } - default: { - $matches$1 = $matches$0104;$p$11 = $p$5;$pos$2 = $pos$0108;$s$5 = $s$1;$wcs$6 = $wcs$1; - break L8; - } - } - break; - } - default: { - ___shlim($f,0); - while(1) { - $129 = HEAP32[$7>>2]|0; - $130 = HEAP32[$8>>2]|0; - $131 = ($129>>>0)<($130>>>0); - if ($131) { - $132 = ((($129)) + 1|0); - HEAP32[$7>>2] = $132; - $133 = HEAP8[$129>>0]|0; - $134 = $133&255; - $136 = $134; - } else { - $135 = (___shgetc($f)|0); - $136 = $135; - } - $137 = (_isspace($136)|0); - $138 = ($137|0)==(0); - if ($138) { - break; - } - } - $139 = HEAP32[$8>>2]|0; - $140 = ($139|0)==(0|0); - $$pre170 = HEAP32[$7>>2]|0; - if ($140) { - $144 = $$pre170; - } else { - $141 = ((($$pre170)) + -1|0); - HEAP32[$7>>2] = $141; - $144 = $141; - } - $142 = HEAP32[$9>>2]|0; - $143 = HEAP32[$10>>2]|0; - $145 = $144; - $146 = $143; - $147 = (($142) + ($pos$0108))|0; - $148 = (($147) + ($145))|0; - $149 = (($148) - ($146))|0; - $pos$1 = $149;$width$1 = $width$0$lcssa; - } - } - ___shlim($f,$width$1); - $150 = HEAP32[$7>>2]|0; - $151 = HEAP32[$8>>2]|0; - $152 = ($150>>>0)<($151>>>0); - if ($152) { - $153 = ((($150)) + 1|0); - HEAP32[$7>>2] = $153; - $156 = $151; - } else { - $154 = (___shgetc($f)|0); - $155 = ($154|0)<(0); - if ($155) { - $alloc$0400 = $alloc$0;$matches$0104376 = $matches$0104;$s$6 = $s$1;$wcs$7 = $wcs$1; - label = 152; - break L6; - } - $$pre172 = HEAP32[$8>>2]|0; - $156 = $$pre172; - } - $157 = ($156|0)==(0|0); - if (!($157)) { - $158 = HEAP32[$7>>2]|0; - $159 = ((($158)) + -1|0); - HEAP32[$7>>2] = $159; - } - L67: do { - switch ($$|0) { - case 91: case 99: case 115: { - $160 = ($$|0)==(99); - $161 = $$ & 239; - $162 = ($161|0)==(99); - L69: do { - if ($162) { - $163 = ($$|0)==(115); - _memset(($scanset|0),-1,257)|0; - HEAP8[$scanset>>0] = 0; - if ($163) { - HEAP8[$12>>0] = 0; - ;HEAP8[$11>>0]=0|0;HEAP8[$11+1>>0]=0|0;HEAP8[$11+2>>0]=0|0;HEAP8[$11+3>>0]=0|0;HEAP8[$11+4>>0]=0|0; - $p$9 = $p$5; - } else { - $p$9 = $p$5; - } - } else { - $164 = ((($p$5)) + 1|0); - $165 = HEAP8[$164>>0]|0; - $166 = ($165<<24>>24)==(94); - $167 = ((($p$5)) + 2|0); - $invert$0 = $166&1; - $168 = $166 ? $164 : $p$5; - $p$6 = $166 ? $167 : $164; - $169 = $166&1; - _memset(($scanset|0),($169|0),257)|0; - HEAP8[$scanset>>0] = 0; - $170 = HEAP8[$p$6>>0]|0; - switch ($170<<24>>24) { - case 45: { - $171 = ((($168)) + 2|0); - $172 = $invert$0 ^ 1; - $173 = $172&255; - HEAP8[$14>>0] = $173; - $$pre$phi182Z2D = $173;$p$7$ph = $171; - break; - } - case 93: { - $174 = ((($168)) + 2|0); - $175 = $invert$0 ^ 1; - $176 = $175&255; - HEAP8[$15>>0] = $176; - $$pre$phi182Z2D = $176;$p$7$ph = $174; - break; - } - default: { - $$pre180 = $invert$0 ^ 1; - $$pre181 = $$pre180&255; - $$pre$phi182Z2D = $$pre181;$p$7$ph = $p$6; - } - } - $p$7 = $p$7$ph; - while(1) { - $177 = HEAP8[$p$7>>0]|0; - L80: do { - switch ($177<<24>>24) { - case 0: { - $alloc$0400 = $alloc$0;$matches$0104376 = $matches$0104;$s$6 = $s$1;$wcs$7 = $wcs$1; - label = 152; - break L6; - break; - } - case 93: { - $p$9 = $p$7; - break L69; - break; - } - case 45: { - $178 = ((($p$7)) + 1|0); - $179 = HEAP8[$178>>0]|0; - switch ($179<<24>>24) { - case 93: case 0: { - $190 = 45;$p$8 = $p$7; - break L80; - break; - } - default: { - } - } - $180 = ((($p$7)) + -1|0); - $181 = HEAP8[$180>>0]|0; - $182 = ($181&255)<($179&255); - if ($182) { - $183 = $181&255; - $c$0100 = $183; - while(1) { - $184 = (($c$0100) + 1)|0; - $185 = (($scanset) + ($184)|0); - HEAP8[$185>>0] = $$pre$phi182Z2D; - $186 = HEAP8[$178>>0]|0; - $187 = $186&255; - $188 = ($184|0)<($187|0); - if ($188) { - $c$0100 = $184; - } else { - $190 = $186;$p$8 = $178; - break; - } - } - } else { - $190 = $179;$p$8 = $178; - } - break; - } - default: { - $190 = $177;$p$8 = $p$7; - } - } - } while(0); - $189 = $190&255; - $191 = (($189) + 1)|0; - $192 = (($scanset) + ($191)|0); - HEAP8[$192>>0] = $$pre$phi182Z2D; - $193 = ((($p$8)) + 1|0); - $p$7 = $193; - } - } - } while(0); - $194 = (($width$1) + 1)|0; - $195 = $160 ? $194 : 31; - $196 = ($$size$0|0)==(1); - $197 = ($alloc$0|0)!=(0); - L88: do { - if ($196) { - if ($197) { - $198 = $195 << 2; - $199 = (_malloc($198)|0); - $200 = ($199|0)==(0|0); - if ($200) { - $alloc$0400 = $alloc$0;$matches$0104376 = $matches$0104;$s$6 = 0;$wcs$7 = $199; - label = 152; - break L6; - } else { - $wcs$2 = $199; - } - } else { - $wcs$2 = $dest$0; - } - HEAP32[$st>>2] = 0; - HEAP32[$13>>2] = 0; - $i$0$ph = 0;$k$0$ph = $195;$wcs$3$ph = $wcs$2; - L94: while(1) { - $201 = ($wcs$3$ph|0)==(0|0); - $i$0$ph20 = $i$0$ph; - while(1) { - L98: while(1) { - $202 = HEAP32[$7>>2]|0; - $203 = HEAP32[$8>>2]|0; - $204 = ($202>>>0)<($203>>>0); - if ($204) { - $205 = ((($202)) + 1|0); - HEAP32[$7>>2] = $205; - $206 = HEAP8[$202>>0]|0; - $207 = $206&255; - $210 = $207; - } else { - $208 = (___shgetc($f)|0); - $210 = $208; - } - $209 = (($210) + 1)|0; - $211 = (($scanset) + ($209)|0); - $212 = HEAP8[$211>>0]|0; - $213 = ($212<<24>>24)==(0); - if ($213) { - $i$0$ph20$lcssa = $i$0$ph20;$wcs$3$ph$lcssa = $wcs$3$ph; - break L94; - } - $214 = $210&255; - HEAP8[$0>>0] = $214; - $215 = (_mbrtowc($wc,$0,1,$st)|0); - switch ($215|0) { - case -1: { - $alloc$0400 = $alloc$0;$matches$0104376 = $matches$0104;$s$6 = 0;$wcs$7 = $wcs$3$ph; - label = 152; - break L6; - break; - } - case -2: { - break; - } - default: { - break L98; - } - } - } - if ($201) { - $i$1 = $i$0$ph20; - } else { - $216 = HEAP32[$wc>>2]|0; - $217 = (($i$0$ph20) + 1)|0; - $218 = (($wcs$3$ph) + ($i$0$ph20<<2)|0); - HEAP32[$218>>2] = $216; - $i$1 = $217; - } - $219 = ($i$1|0)==($k$0$ph|0); - $or$cond = $197 & $219; - if ($or$cond) { - break; - } else { - $i$0$ph20 = $i$1; - } - } - $factor = $k$0$ph << 1; - $220 = $factor | 1; - $221 = $220 << 2; - $222 = (_realloc($wcs$3$ph,$221)|0); - $223 = ($222|0)==(0|0); - if ($223) { - $alloc$0400 = $alloc$0;$matches$0104376 = $matches$0104;$s$6 = 0;$wcs$7 = $wcs$3$ph; - label = 152; - break L6; - } - $i$0$ph$phi = $k$0$ph;$k$0$ph = $220;$wcs$3$ph = $222;$i$0$ph = $i$0$ph$phi; - } - $224 = (_mbsinit($st)|0); - $225 = ($224|0)==(0); - if ($225) { - $alloc$0400 = $alloc$0;$matches$0104376 = $matches$0104;$s$6 = 0;$wcs$7 = $wcs$3$ph$lcssa; - label = 152; - break L6; - } else { - $i$4 = $i$0$ph20$lcssa;$s$3 = 0;$wcs$4 = $wcs$3$ph$lcssa; - } - } else { - if ($197) { - $226 = (_malloc($195)|0); - $227 = ($226|0)==(0|0); - if ($227) { - $alloc$0400 = $alloc$0;$matches$0104376 = $matches$0104;$s$6 = 0;$wcs$7 = 0; - label = 152; - break L6; - } else { - $i$2$ph = 0;$k$1$ph = $195;$s$2$ph = $226; - } - while(1) { - $i$2 = $i$2$ph; - while(1) { - $228 = HEAP32[$7>>2]|0; - $229 = HEAP32[$8>>2]|0; - $230 = ($228>>>0)<($229>>>0); - if ($230) { - $231 = ((($228)) + 1|0); - HEAP32[$7>>2] = $231; - $232 = HEAP8[$228>>0]|0; - $233 = $232&255; - $236 = $233; - } else { - $234 = (___shgetc($f)|0); - $236 = $234; - } - $235 = (($236) + 1)|0; - $237 = (($scanset) + ($235)|0); - $238 = HEAP8[$237>>0]|0; - $239 = ($238<<24>>24)==(0); - if ($239) { - $i$4 = $i$2;$s$3 = $s$2$ph;$wcs$4 = 0; - break L88; - } - $240 = $236&255; - $241 = (($i$2) + 1)|0; - $242 = (($s$2$ph) + ($i$2)|0); - HEAP8[$242>>0] = $240; - $243 = ($241|0)==($k$1$ph|0); - if ($243) { - break; - } else { - $i$2 = $241; - } - } - $factor16 = $k$1$ph << 1; - $244 = $factor16 | 1; - $245 = (_realloc($s$2$ph,$244)|0); - $246 = ($245|0)==(0|0); - if ($246) { - $alloc$0400 = $alloc$0;$matches$0104376 = $matches$0104;$s$6 = $s$2$ph;$wcs$7 = 0; - label = 152; - break L6; - } else { - $i$2$ph$phi = $k$1$ph;$k$1$ph = $244;$s$2$ph = $245;$i$2$ph = $i$2$ph$phi; - } - } - } - $247 = ($dest$0|0)==(0|0); - if ($247) { - $265 = $156; - while(1) { - $263 = HEAP32[$7>>2]|0; - $264 = ($263>>>0)<($265>>>0); - if ($264) { - $266 = ((($263)) + 1|0); - HEAP32[$7>>2] = $266; - $267 = HEAP8[$263>>0]|0; - $268 = $267&255; - $271 = $268; - } else { - $269 = (___shgetc($f)|0); - $271 = $269; - } - $270 = (($271) + 1)|0; - $272 = (($scanset) + ($270)|0); - $273 = HEAP8[$272>>0]|0; - $274 = ($273<<24>>24)==(0); - if ($274) { - $i$4 = 0;$s$3 = 0;$wcs$4 = 0; - break L88; - } - $$pre176 = HEAP32[$8>>2]|0; - $265 = $$pre176; - } - } else { - $250 = $156;$i$3 = 0; - while(1) { - $248 = HEAP32[$7>>2]|0; - $249 = ($248>>>0)<($250>>>0); - if ($249) { - $251 = ((($248)) + 1|0); - HEAP32[$7>>2] = $251; - $252 = HEAP8[$248>>0]|0; - $253 = $252&255; - $256 = $253; - } else { - $254 = (___shgetc($f)|0); - $256 = $254; - } - $255 = (($256) + 1)|0; - $257 = (($scanset) + ($255)|0); - $258 = HEAP8[$257>>0]|0; - $259 = ($258<<24>>24)==(0); - if ($259) { - $i$4 = $i$3;$s$3 = $dest$0;$wcs$4 = 0; - break L88; - } - $260 = $256&255; - $261 = (($i$3) + 1)|0; - $262 = (($dest$0) + ($i$3)|0); - HEAP8[$262>>0] = $260; - $$pre174 = HEAP32[$8>>2]|0; - $250 = $$pre174;$i$3 = $261; - } - } - } - } while(0); - $275 = HEAP32[$8>>2]|0; - $276 = ($275|0)==(0|0); - $$pre178 = HEAP32[$7>>2]|0; - if ($276) { - $280 = $$pre178; - } else { - $277 = ((($$pre178)) + -1|0); - HEAP32[$7>>2] = $277; - $280 = $277; - } - $278 = HEAP32[$9>>2]|0; - $279 = HEAP32[$10>>2]|0; - $281 = $280; - $282 = $279; - $283 = (($281) - ($282))|0; - $284 = (($283) + ($278))|0; - $285 = ($284|0)==(0); - if ($285) { - $alloc$2 = $alloc$0;$matches$2 = $matches$0104;$s$8 = $s$3;$wcs$9 = $wcs$4; - break L6; - } - $$not = $160 ^ 1; - $286 = ($284|0)==($width$1|0); - $or$cond8 = $286 | $$not; - if (!($or$cond8)) { - $alloc$2 = $alloc$0;$matches$2 = $matches$0104;$s$8 = $s$3;$wcs$9 = $wcs$4; - break L6; - } - do { - if ($197) { - if ($196) { - HEAP32[$dest$0>>2] = $wcs$4; - break; - } else { - HEAP32[$dest$0>>2] = $s$3; - break; - } - } - } while(0); - if ($160) { - $p$10 = $p$9;$s$4 = $s$3;$wcs$5 = $wcs$4; - } else { - $287 = ($wcs$4|0)==(0|0); - if (!($287)) { - $288 = (($wcs$4) + ($i$4<<2)|0); - HEAP32[$288>>2] = 0; - } - $289 = ($s$3|0)==(0|0); - if ($289) { - $p$10 = $p$9;$s$4 = 0;$wcs$5 = $wcs$4; - break L67; - } - $290 = (($s$3) + ($i$4)|0); - HEAP8[$290>>0] = 0; - $p$10 = $p$9;$s$4 = $s$3;$wcs$5 = $wcs$4; - } - break; - } - case 120: case 88: case 112: { - $base$0 = 16; - label = 134; - break; - } - case 111: { - $base$0 = 8; - label = 134; - break; - } - case 117: case 100: { - $base$0 = 10; - label = 134; - break; - } - case 105: { - $base$0 = 0; - label = 134; - break; - } - case 71: case 103: case 70: case 102: case 69: case 101: case 65: case 97: { - $310 = (+___floatscan($f,$$size$0,0)); - $311 = HEAP32[$9>>2]|0; - $312 = HEAP32[$7>>2]|0; - $313 = HEAP32[$10>>2]|0; - $314 = $312; - $315 = $313; - $316 = (($315) - ($314))|0; - $317 = ($311|0)==($316|0); - if ($317) { - $alloc$2 = $alloc$0;$matches$2 = $matches$0104;$s$8 = $s$1;$wcs$9 = $wcs$1; - break L6; - } - $318 = ($dest$0|0)==(0|0); - if ($318) { - $p$10 = $p$5;$s$4 = $s$1;$wcs$5 = $wcs$1; - } else { - switch ($$size$0|0) { - case 0: { - $319 = $310; - HEAPF32[$dest$0>>2] = $319; - $p$10 = $p$5;$s$4 = $s$1;$wcs$5 = $wcs$1; - break L67; - break; - } - case 1: { - HEAPF64[$dest$0>>3] = $310; - $p$10 = $p$5;$s$4 = $s$1;$wcs$5 = $wcs$1; - break L67; - break; - } - case 2: { - HEAPF64[$dest$0>>3] = $310; - $p$10 = $p$5;$s$4 = $s$1;$wcs$5 = $wcs$1; - break L67; - break; - } - default: { - $p$10 = $p$5;$s$4 = $s$1;$wcs$5 = $wcs$1; - break L67; - } - } - } - break; - } - default: { - $p$10 = $p$5;$s$4 = $s$1;$wcs$5 = $wcs$1; - } - } - } while(0); - L168: do { - if ((label|0) == 134) { - label = 0; - $291 = (___intscan($f,$base$0,0,-1,-1)|0); - $292 = tempRet0; - $293 = HEAP32[$9>>2]|0; - $294 = HEAP32[$7>>2]|0; - $295 = HEAP32[$10>>2]|0; - $296 = $294; - $297 = $295; - $298 = (($297) - ($296))|0; - $299 = ($293|0)==($298|0); - if ($299) { - $alloc$2 = $alloc$0;$matches$2 = $matches$0104;$s$8 = $s$1;$wcs$9 = $wcs$1; - break L6; - } - $300 = ($$|0)==(112); - $301 = ($dest$0|0)!=(0|0); - $or$cond3 = $301 & $300; - if ($or$cond3) { - $302 = $291; - HEAP32[$dest$0>>2] = $302; - $p$10 = $p$5;$s$4 = $s$1;$wcs$5 = $wcs$1; - break; - } - $303 = ($dest$0|0)==(0|0); - if ($303) { - $p$10 = $p$5;$s$4 = $s$1;$wcs$5 = $wcs$1; - } else { - switch ($$size$0|0) { - case -2: { - $304 = $291&255; - HEAP8[$dest$0>>0] = $304; - $p$10 = $p$5;$s$4 = $s$1;$wcs$5 = $wcs$1; - break L168; - break; - } - case -1: { - $305 = $291&65535; - HEAP16[$dest$0>>1] = $305; - $p$10 = $p$5;$s$4 = $s$1;$wcs$5 = $wcs$1; - break L168; - break; - } - case 0: { - HEAP32[$dest$0>>2] = $291; - $p$10 = $p$5;$s$4 = $s$1;$wcs$5 = $wcs$1; - break L168; - break; - } - case 1: { - HEAP32[$dest$0>>2] = $291; - $p$10 = $p$5;$s$4 = $s$1;$wcs$5 = $wcs$1; - break L168; - break; - } - case 3: { - $306 = $dest$0; - $307 = $306; - HEAP32[$307>>2] = $291; - $308 = (($306) + 4)|0; - $309 = $308; - HEAP32[$309>>2] = $292; - $p$10 = $p$5;$s$4 = $s$1;$wcs$5 = $wcs$1; - break L168; - break; - } - default: { - $p$10 = $p$5;$s$4 = $s$1;$wcs$5 = $wcs$1; - break L168; - } - } - } - } - } while(0); - $320 = HEAP32[$9>>2]|0; - $321 = HEAP32[$7>>2]|0; - $322 = HEAP32[$10>>2]|0; - $323 = $321; - $324 = $322; - $325 = (($320) + ($pos$1))|0; - $326 = (($325) + ($323))|0; - $327 = (($326) - ($324))|0; - $not$ = ($dest$0|0)!=(0|0); - $328 = $not$&1; - $matches$0$ = (($328) + ($matches$0104))|0; - $matches$1 = $matches$0$;$p$11 = $p$10;$pos$2 = $327;$s$5 = $s$4;$wcs$6 = $wcs$5; - break L8; - } - } while(0); - $50 = $47&1; - $51 = (($p$0109) + ($50)|0); - ___shlim($f,0); - $52 = HEAP32[$7>>2]|0; - $53 = HEAP32[$8>>2]|0; - $54 = ($52>>>0)<($53>>>0); - if ($54) { - $55 = ((($52)) + 1|0); - HEAP32[$7>>2] = $55; - $56 = HEAP8[$52>>0]|0; - $57 = $56&255; - $61 = $57; - } else { - $58 = (___shgetc($f)|0); - $61 = $58; - } - $59 = HEAP8[$51>>0]|0; - $60 = $59&255; - $62 = ($61|0)==($60|0); - if (!($62)) { - $$lcssa384 = $61;$matches$0104$lcssa = $matches$0104;$s$0107$lcssa = $s$0107;$wcs$0103$lcssa = $wcs$0103; - label = 21; - break L6; - } - $69 = (($pos$0108) + 1)|0; - $matches$1 = $matches$0104;$p$11 = $51;$pos$2 = $69;$s$5 = $s$0107;$wcs$6 = $wcs$0103; - } else { - $p$1 = $p$0109; - while(1) { - $20 = ((($p$1)) + 1|0); - $21 = HEAP8[$20>>0]|0; - $22 = $21&255; - $23 = (_isspace($22)|0); - $24 = ($23|0)==(0); - if ($24) { - $p$1$lcssa = $p$1; - break; - } else { - $p$1 = $20; - } - } - ___shlim($f,0); - while(1) { - $25 = HEAP32[$7>>2]|0; - $26 = HEAP32[$8>>2]|0; - $27 = ($25>>>0)<($26>>>0); - if ($27) { - $28 = ((($25)) + 1|0); - HEAP32[$7>>2] = $28; - $29 = HEAP8[$25>>0]|0; - $30 = $29&255; - $32 = $30; - } else { - $31 = (___shgetc($f)|0); - $32 = $31; - } - $33 = (_isspace($32)|0); - $34 = ($33|0)==(0); - if ($34) { - break; - } - } - $35 = HEAP32[$8>>2]|0; - $36 = ($35|0)==(0|0); - $$pre = HEAP32[$7>>2]|0; - if ($36) { - $40 = $$pre; - } else { - $37 = ((($$pre)) + -1|0); - HEAP32[$7>>2] = $37; - $40 = $37; - } - $38 = HEAP32[$9>>2]|0; - $39 = HEAP32[$10>>2]|0; - $41 = $40; - $42 = $39; - $43 = (($38) + ($pos$0108))|0; - $44 = (($43) + ($41))|0; - $45 = (($44) - ($42))|0; - $matches$1 = $matches$0104;$p$11 = $p$1$lcssa;$pos$2 = $45;$s$5 = $s$0107;$wcs$6 = $wcs$0103; - } - } while(0); - $329 = ((($p$11)) + 1|0); - $330 = HEAP8[$329>>0]|0; - $331 = ($330<<24>>24)==(0); - if ($331) { - $matches$3 = $matches$1; - break L4; - } else { - $17 = $330;$matches$0104 = $matches$1;$p$0109 = $329;$pos$0108 = $pos$2;$s$0107 = $s$5;$wcs$0103 = $wcs$6; - } - } - if ((label|0) == 21) { - $63 = HEAP32[$8>>2]|0; - $64 = ($63|0)==(0|0); - if (!($64)) { - $65 = HEAP32[$7>>2]|0; - $66 = ((($65)) + -1|0); - HEAP32[$7>>2] = $66; - } - $67 = ($$lcssa384|0)>(-1); - $68 = ($matches$0104$lcssa|0)!=(0); - $or$cond5 = $68 | $67; - if ($or$cond5) { - $matches$3 = $matches$0104$lcssa; - break; - } else { - $alloc$1 = 0;$s$7 = $s$0107$lcssa;$wcs$8 = $wcs$0103$lcssa; - label = 153; - } - } - else if ((label|0) == 152) { - $$old4 = ($matches$0104376|0)==(0); - if ($$old4) { - $alloc$1 = $alloc$0400;$s$7 = $s$6;$wcs$8 = $wcs$7; - label = 153; - } else { - $alloc$2 = $alloc$0400;$matches$2 = $matches$0104376;$s$8 = $s$6;$wcs$9 = $wcs$7; - } - } - if ((label|0) == 153) { - $alloc$2 = $alloc$1;$matches$2 = -1;$s$8 = $s$7;$wcs$9 = $wcs$8; - } - $332 = ($alloc$2|0)==(0); - if ($332) { - $matches$3 = $matches$2; - } else { - _free($s$8); - _free($wcs$9); - $matches$3 = $matches$2; - } - } - } while(0); - $334 = ($333|0)==(0); - if (!($334)) { - ___unlockfile($f); - } - STACKTOP = sp;return ($matches$3|0); -} -function _vsscanf($s,$fmt,$ap) { - $s = $s|0; - $fmt = $fmt|0; - $ap = $ap|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $f = 0, dest = 0, label = 0, sp = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 112|0; - $f = sp; - dest=$f; stop=dest+112|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - $0 = ((($f)) + 32|0); - HEAP32[$0>>2] = 6; - $1 = ((($f)) + 44|0); - HEAP32[$1>>2] = $s; - $2 = ((($f)) + 76|0); - HEAP32[$2>>2] = -1; - $3 = ((($f)) + 84|0); - HEAP32[$3>>2] = $s; - $4 = (_vfscanf($f,$fmt,$ap)|0); - STACKTOP = sp;return ($4|0); -} -function ___fdopen($fd,$mode) { - $fd = $fd|0; - $mode = $mode|0; - var $$0 = 0, $$pre = 0, $$pre1 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; - var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; - var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $memchr = 0, $tio = 0, $vararg_buffer = 0, $vararg_buffer12 = 0, $vararg_buffer3 = 0, $vararg_buffer7 = 0, $vararg_ptr1 = 0, $vararg_ptr10 = 0, $vararg_ptr11 = 0, $vararg_ptr15 = 0, $vararg_ptr16 = 0, $vararg_ptr2 = 0, $vararg_ptr6 = 0, dest = 0, label = 0; - var sp = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 112|0; - $vararg_buffer12 = sp + 40|0; - $vararg_buffer7 = sp + 24|0; - $vararg_buffer3 = sp + 16|0; - $vararg_buffer = sp; - $tio = sp + 52|0; - $0 = HEAP8[$mode>>0]|0; - $1 = $0 << 24 >> 24; - $memchr = (_memchr(28953,$1,4)|0); - $2 = ($memchr|0)==(0|0); - if ($2) { - $3 = (___errno_location()|0); - HEAP32[$3>>2] = 22; - $$0 = 0; - } else { - $4 = (_malloc(1144)|0); - $5 = ($4|0)==(0|0); - if ($5) { - $$0 = 0; - } else { - dest=$4; stop=dest+112|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - $6 = (_strchr($mode,43)|0); - $7 = ($6|0)==(0|0); - if ($7) { - $8 = ($0<<24>>24)==(114); - $9 = $8 ? 8 : 4; - HEAP32[$4>>2] = $9; - } - $10 = (_strchr($mode,101)|0); - $11 = ($10|0)==(0|0); - if ($11) { - $12 = $0; - } else { - HEAP32[$vararg_buffer>>2] = $fd; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = 2; - $vararg_ptr2 = ((($vararg_buffer)) + 8|0); - HEAP32[$vararg_ptr2>>2] = 1; - (___syscall221(221,($vararg_buffer|0))|0); - $$pre = HEAP8[$mode>>0]|0; - $12 = $$pre; - } - $13 = ($12<<24>>24)==(97); - if ($13) { - HEAP32[$vararg_buffer3>>2] = $fd; - $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); - HEAP32[$vararg_ptr6>>2] = 3; - $14 = (___syscall221(221,($vararg_buffer3|0))|0); - $15 = $14 & 1024; - $16 = ($15|0)==(0); - if ($16) { - $17 = $14 | 1024; - HEAP32[$vararg_buffer7>>2] = $fd; - $vararg_ptr10 = ((($vararg_buffer7)) + 4|0); - HEAP32[$vararg_ptr10>>2] = 4; - $vararg_ptr11 = ((($vararg_buffer7)) + 8|0); - HEAP32[$vararg_ptr11>>2] = $17; - (___syscall221(221,($vararg_buffer7|0))|0); - } - $18 = HEAP32[$4>>2]|0; - $19 = $18 | 128; - HEAP32[$4>>2] = $19; - $26 = $19; - } else { - $$pre1 = HEAP32[$4>>2]|0; - $26 = $$pre1; - } - $20 = ((($4)) + 60|0); - HEAP32[$20>>2] = $fd; - $21 = ((($4)) + 120|0); - $22 = ((($4)) + 44|0); - HEAP32[$22>>2] = $21; - $23 = ((($4)) + 48|0); - HEAP32[$23>>2] = 1024; - $24 = ((($4)) + 75|0); - HEAP8[$24>>0] = -1; - $25 = $26 & 8; - $27 = ($25|0)==(0); - if ($27) { - HEAP32[$vararg_buffer12>>2] = $fd; - $vararg_ptr15 = ((($vararg_buffer12)) + 4|0); - HEAP32[$vararg_ptr15>>2] = 21505; - $vararg_ptr16 = ((($vararg_buffer12)) + 8|0); - HEAP32[$vararg_ptr16>>2] = $tio; - $28 = (___syscall54(54,($vararg_buffer12|0))|0); - $29 = ($28|0)==(0); - if ($29) { - HEAP8[$24>>0] = 10; - } - } - $30 = ((($4)) + 32|0); - HEAP32[$30>>2] = 7; - $31 = ((($4)) + 36|0); - HEAP32[$31>>2] = 8; - $32 = ((($4)) + 40|0); - HEAP32[$32>>2] = 3; - $33 = ((($4)) + 12|0); - HEAP32[$33>>2] = 2; - $34 = HEAP32[(8656)>>2]|0; - $35 = ($34|0)==(0); - if ($35) { - $36 = ((($4)) + 76|0); - HEAP32[$36>>2] = -1; - } - ___lock(((8680)|0)); - $37 = HEAP32[(8676)>>2]|0; - $38 = ((($4)) + 56|0); - HEAP32[$38>>2] = $37; - $39 = ($37|0)==(0); - if (!($39)) { - $40 = $37; - $41 = ((($40)) + 52|0); - HEAP32[$41>>2] = $4; - } - HEAP32[(8676)>>2] = $4; - ___unlock(((8680)|0)); - $$0 = $4; - } - } - STACKTOP = sp;return ($$0|0); -} -function ___fmodeflags($mode) { - $mode = $mode|0; - var $$ = 0, $$flags$4 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $flags$0 = 0, $flags$0$ = 0, $flags$2 = 0; - var $flags$2$ = 0, $flags$4 = 0, $not$ = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_strchr($mode,43)|0); - $1 = ($0|0)==(0|0); - $2 = HEAP8[$mode>>0]|0; - $not$ = ($2<<24>>24)!=(114); - $$ = $not$&1; - $flags$0 = $1 ? $$ : 2; - $3 = (_strchr($mode,120)|0); - $4 = ($3|0)==(0|0); - $5 = $flags$0 | 128; - $flags$0$ = $4 ? $flags$0 : $5; - $6 = (_strchr($mode,101)|0); - $7 = ($6|0)==(0|0); - $8 = $flags$0$ | 524288; - $flags$2 = $7 ? $flags$0$ : $8; - $9 = ($2<<24>>24)==(114); - $10 = $flags$2 | 64; - $flags$2$ = $9 ? $flags$2 : $10; - $11 = ($2<<24>>24)==(119); - $12 = $flags$2$ | 512; - $flags$4 = $11 ? $12 : $flags$2$; - $13 = ($2<<24>>24)==(97); - $14 = $flags$4 | 1024; - $$flags$4 = $13 ? $14 : $flags$4; - return ($$flags$4|0); -} -function ___lockfile($f) { - $f = $f|0; - var label = 0, sp = 0; - sp = STACKTOP; - return 0; -} -function ___unlockfile($f) { - $f = $f|0; - var label = 0, sp = 0; - sp = STACKTOP; - return; -} -function ___overflow($f,$_c) { - $f = $f|0; - $_c = $_c|0; - var $$0 = 0, $$pre = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0; - var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $c = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $c = sp; - $0 = $_c&255; - HEAP8[$c>>0] = $0; - $1 = ((($f)) + 16|0); - $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)==(0|0); - if ($3) { - $4 = (___towrite($f)|0); - $5 = ($4|0)==(0); - if ($5) { - $$pre = HEAP32[$1>>2]|0; - $9 = $$pre; - label = 4; - } else { - $$0 = -1; - } - } else { - $9 = $2; - label = 4; - } - do { - if ((label|0) == 4) { - $6 = ((($f)) + 20|0); - $7 = HEAP32[$6>>2]|0; - $8 = ($7>>>0)<($9>>>0); - if ($8) { - $10 = $_c & 255; - $11 = ((($f)) + 75|0); - $12 = HEAP8[$11>>0]|0; - $13 = $12 << 24 >> 24; - $14 = ($10|0)==($13|0); - if (!($14)) { - $15 = ((($7)) + 1|0); - HEAP32[$6>>2] = $15; - HEAP8[$7>>0] = $0; - $$0 = $10; - break; - } - } - $16 = ((($f)) + 36|0); - $17 = HEAP32[$16>>2]|0; - $18 = (FUNCTION_TABLE_iiii[$17 & 15]($f,$c,1)|0); - $19 = ($18|0)==(1); - if ($19) { - $20 = HEAP8[$c>>0]|0; - $21 = $20&255; - $$0 = $21; - } else { - $$0 = -1; - } - } - } while(0); - STACKTOP = sp;return ($$0|0); -} -function ___stdio_close($f) { - $f = $f|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $vararg_buffer = sp; - $0 = ((($f)) + 60|0); - $1 = HEAP32[$0>>2]|0; - HEAP32[$vararg_buffer>>2] = $1; - $2 = (___syscall6(6,($vararg_buffer|0))|0); - $3 = (___syscall_ret($2)|0); - STACKTOP = sp;return ($3|0); -} -function ___stdio_read($f,$buf,$len) { - $f = $f|0; - $buf = $buf|0; - $len = $len|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $5 = 0, $6 = 0, $7 = 0; - var $8 = 0, $9 = 0, $cnt$0 = 0, $iov = 0, $vararg_buffer = 0, $vararg_buffer3 = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr6 = 0, $vararg_ptr7 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $vararg_buffer3 = sp + 16|0; - $vararg_buffer = sp; - $iov = sp + 32|0; - HEAP32[$iov>>2] = $buf; - $0 = ((($iov)) + 4|0); - $1 = ((($f)) + 48|0); - $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)!=(0); - $4 = $3&1; - $5 = (($len) - ($4))|0; - HEAP32[$0>>2] = $5; - $6 = ((($iov)) + 8|0); - $7 = ((($f)) + 44|0); - $8 = HEAP32[$7>>2]|0; - HEAP32[$6>>2] = $8; - $9 = ((($iov)) + 12|0); - HEAP32[$9>>2] = $2; - $10 = HEAP32[8652>>2]|0; - $11 = ($10|0)==(0|0); - if ($11) { - $16 = ((($f)) + 60|0); - $17 = HEAP32[$16>>2]|0; - HEAP32[$vararg_buffer3>>2] = $17; - $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); - HEAP32[$vararg_ptr6>>2] = $iov; - $vararg_ptr7 = ((($vararg_buffer3)) + 8|0); - HEAP32[$vararg_ptr7>>2] = 2; - $18 = (___syscall145(145,($vararg_buffer3|0))|0); - $19 = (___syscall_ret($18)|0); - $cnt$0 = $19; - } else { - _pthread_cleanup_push((27|0),($f|0)); - $12 = ((($f)) + 60|0); - $13 = HEAP32[$12>>2]|0; - HEAP32[$vararg_buffer>>2] = $13; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = $iov; - $vararg_ptr2 = ((($vararg_buffer)) + 8|0); - HEAP32[$vararg_ptr2>>2] = 2; - $14 = (___syscall145(145,($vararg_buffer|0))|0); - $15 = (___syscall_ret($14)|0); - _pthread_cleanup_pop(0); - $cnt$0 = $15; - } - $20 = ($cnt$0|0)<(1); - if ($20) { - $21 = $cnt$0 & 48; - $22 = $21 ^ 16; - $23 = HEAP32[$f>>2]|0; - $24 = $23 | $22; - HEAP32[$f>>2] = $24; - $25 = ((($f)) + 8|0); - HEAP32[$25>>2] = 0; - $26 = ((($f)) + 4|0); - HEAP32[$26>>2] = 0; - $$0 = $cnt$0; - } else { - $27 = HEAP32[$0>>2]|0; - $28 = ($cnt$0>>>0)>($27>>>0); - if ($28) { - $29 = (($cnt$0) - ($27))|0; - $30 = HEAP32[$7>>2]|0; - $31 = ((($f)) + 4|0); - HEAP32[$31>>2] = $30; - $32 = $30; - $33 = (($32) + ($29)|0); - $34 = ((($f)) + 8|0); - HEAP32[$34>>2] = $33; - $35 = HEAP32[$1>>2]|0; - $36 = ($35|0)==(0); - if ($36) { - $$0 = $len; - } else { - $37 = ((($32)) + 1|0); - HEAP32[$31>>2] = $37; - $38 = HEAP8[$32>>0]|0; - $39 = (($len) + -1)|0; - $40 = (($buf) + ($39)|0); - HEAP8[$40>>0] = $38; - $$0 = $len; - } - } else { - $$0 = $cnt$0; - } - } - STACKTOP = sp;return ($$0|0); -} -function ___stdio_seek($f,$off,$whence) { - $f = $f|0; - $off = $off|0; - $whence = $whence|0; - var $$pre = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $ret = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, $vararg_ptr4 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $vararg_buffer = sp; - $ret = sp + 20|0; - $0 = ((($f)) + 60|0); - $1 = HEAP32[$0>>2]|0; - HEAP32[$vararg_buffer>>2] = $1; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = 0; - $vararg_ptr2 = ((($vararg_buffer)) + 8|0); - HEAP32[$vararg_ptr2>>2] = $off; - $vararg_ptr3 = ((($vararg_buffer)) + 12|0); - HEAP32[$vararg_ptr3>>2] = $ret; - $vararg_ptr4 = ((($vararg_buffer)) + 16|0); - HEAP32[$vararg_ptr4>>2] = $whence; - $2 = (___syscall140(140,($vararg_buffer|0))|0); - $3 = (___syscall_ret($2)|0); - $4 = ($3|0)<(0); - if ($4) { - HEAP32[$ret>>2] = -1; - $5 = -1; - } else { - $$pre = HEAP32[$ret>>2]|0; - $5 = $$pre; - } - STACKTOP = sp;return ($5|0); -} -function ___stdio_write($f,$buf,$len) { - $f = $f|0; - $buf = $buf|0; - $len = $len|0; - var $$0 = 0, $$phi$trans$insert = 0, $$pre = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; - var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; - var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $cnt$0 = 0, $cnt$1 = 0, $iov$0 = 0, $iov$0$lcssa11 = 0, $iov$1 = 0, $iovcnt$0 = 0; - var $iovcnt$0$lcssa12 = 0, $iovcnt$1 = 0, $iovs = 0, $rem$0 = 0, $vararg_buffer = 0, $vararg_buffer3 = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr6 = 0, $vararg_ptr7 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $vararg_buffer3 = sp + 16|0; - $vararg_buffer = sp; - $iovs = sp + 32|0; - $0 = ((($f)) + 28|0); - $1 = HEAP32[$0>>2]|0; - HEAP32[$iovs>>2] = $1; - $2 = ((($iovs)) + 4|0); - $3 = ((($f)) + 20|0); - $4 = HEAP32[$3>>2]|0; - $5 = $4; - $6 = (($5) - ($1))|0; - HEAP32[$2>>2] = $6; - $7 = ((($iovs)) + 8|0); - HEAP32[$7>>2] = $buf; - $8 = ((($iovs)) + 12|0); - HEAP32[$8>>2] = $len; - $9 = (($6) + ($len))|0; - $10 = ((($f)) + 60|0); - $11 = ((($f)) + 44|0); - $iov$0 = $iovs;$iovcnt$0 = 2;$rem$0 = $9; - while(1) { - $12 = HEAP32[8652>>2]|0; - $13 = ($12|0)==(0|0); - if ($13) { - $17 = HEAP32[$10>>2]|0; - HEAP32[$vararg_buffer3>>2] = $17; - $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); - HEAP32[$vararg_ptr6>>2] = $iov$0; - $vararg_ptr7 = ((($vararg_buffer3)) + 8|0); - HEAP32[$vararg_ptr7>>2] = $iovcnt$0; - $18 = (___syscall146(146,($vararg_buffer3|0))|0); - $19 = (___syscall_ret($18)|0); - $cnt$0 = $19; - } else { - _pthread_cleanup_push((28|0),($f|0)); - $14 = HEAP32[$10>>2]|0; - HEAP32[$vararg_buffer>>2] = $14; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = $iov$0; - $vararg_ptr2 = ((($vararg_buffer)) + 8|0); - HEAP32[$vararg_ptr2>>2] = $iovcnt$0; - $15 = (___syscall146(146,($vararg_buffer|0))|0); - $16 = (___syscall_ret($15)|0); - _pthread_cleanup_pop(0); - $cnt$0 = $16; - } - $20 = ($rem$0|0)==($cnt$0|0); - if ($20) { - label = 6; - break; - } - $27 = ($cnt$0|0)<(0); - if ($27) { - $iov$0$lcssa11 = $iov$0;$iovcnt$0$lcssa12 = $iovcnt$0; - label = 8; - break; - } - $35 = (($rem$0) - ($cnt$0))|0; - $36 = ((($iov$0)) + 4|0); - $37 = HEAP32[$36>>2]|0; - $38 = ($cnt$0>>>0)>($37>>>0); - if ($38) { - $39 = HEAP32[$11>>2]|0; - HEAP32[$0>>2] = $39; - HEAP32[$3>>2] = $39; - $40 = (($cnt$0) - ($37))|0; - $41 = ((($iov$0)) + 8|0); - $42 = (($iovcnt$0) + -1)|0; - $$phi$trans$insert = ((($iov$0)) + 12|0); - $$pre = HEAP32[$$phi$trans$insert>>2]|0; - $50 = $$pre;$cnt$1 = $40;$iov$1 = $41;$iovcnt$1 = $42; - } else { - $43 = ($iovcnt$0|0)==(2); - if ($43) { - $44 = HEAP32[$0>>2]|0; - $45 = (($44) + ($cnt$0)|0); - HEAP32[$0>>2] = $45; - $50 = $37;$cnt$1 = $cnt$0;$iov$1 = $iov$0;$iovcnt$1 = 2; - } else { - $50 = $37;$cnt$1 = $cnt$0;$iov$1 = $iov$0;$iovcnt$1 = $iovcnt$0; - } - } - $46 = HEAP32[$iov$1>>2]|0; - $47 = (($46) + ($cnt$1)|0); - HEAP32[$iov$1>>2] = $47; - $48 = ((($iov$1)) + 4|0); - $49 = (($50) - ($cnt$1))|0; - HEAP32[$48>>2] = $49; - $iov$0 = $iov$1;$iovcnt$0 = $iovcnt$1;$rem$0 = $35; - } - if ((label|0) == 6) { - $21 = HEAP32[$11>>2]|0; - $22 = ((($f)) + 48|0); - $23 = HEAP32[$22>>2]|0; - $24 = (($21) + ($23)|0); - $25 = ((($f)) + 16|0); - HEAP32[$25>>2] = $24; - $26 = $21; - HEAP32[$0>>2] = $26; - HEAP32[$3>>2] = $26; - $$0 = $len; - } - else if ((label|0) == 8) { - $28 = ((($f)) + 16|0); - HEAP32[$28>>2] = 0; - HEAP32[$0>>2] = 0; - HEAP32[$3>>2] = 0; - $29 = HEAP32[$f>>2]|0; - $30 = $29 | 32; - HEAP32[$f>>2] = $30; - $31 = ($iovcnt$0$lcssa12|0)==(2); - if ($31) { - $$0 = 0; - } else { - $32 = ((($iov$0$lcssa11)) + 4|0); - $33 = HEAP32[$32>>2]|0; - $34 = (($len) - ($33))|0; - $$0 = $34; - } - } - STACKTOP = sp;return ($$0|0); -} -function ___stdout_write($f,$buf,$len) { - $f = $f|0; - $buf = $buf|0; - $len = $len|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $tio = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 80|0; - $vararg_buffer = sp; - $tio = sp + 12|0; - $0 = ((($f)) + 36|0); - HEAP32[$0>>2] = 8; - $1 = HEAP32[$f>>2]|0; - $2 = $1 & 64; - $3 = ($2|0)==(0); - if ($3) { - $4 = ((($f)) + 60|0); - $5 = HEAP32[$4>>2]|0; - HEAP32[$vararg_buffer>>2] = $5; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = 21505; - $vararg_ptr2 = ((($vararg_buffer)) + 8|0); - HEAP32[$vararg_ptr2>>2] = $tio; - $6 = (___syscall54(54,($vararg_buffer|0))|0); - $7 = ($6|0)==(0); - if (!($7)) { - $8 = ((($f)) + 75|0); - HEAP8[$8>>0] = -1; - } - } - $9 = (___stdio_write($f,$buf,$len)|0); - STACKTOP = sp;return ($9|0); -} -function ___string_read($f,$buf,$len) { - $f = $f|0; - $buf = $buf|0; - $len = $len|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $k$0 = 0, $k$0$len = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($f)) + 84|0); - $1 = HEAP32[$0>>2]|0; - $2 = (($len) + 256)|0; - $3 = (_memchr($1,0,$2)|0); - $4 = ($3|0)==(0|0); - $5 = $3; - $6 = $1; - $7 = (($5) - ($6))|0; - $k$0 = $4 ? $2 : $7; - $8 = ($k$0>>>0)<($len>>>0); - $k$0$len = $8 ? $k$0 : $len; - _memcpy(($buf|0),($1|0),($k$0$len|0))|0; - $9 = (($1) + ($k$0$len)|0); - $10 = ((($f)) + 4|0); - HEAP32[$10>>2] = $9; - $11 = (($1) + ($k$0)|0); - $12 = ((($f)) + 8|0); - HEAP32[$12>>2] = $11; - HEAP32[$0>>2] = $11; - return ($k$0$len|0); -} -function ___toread($f) { - $f = $f|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $3 = 0, $4 = 0; - var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($f)) + 74|0); - $1 = HEAP8[$0>>0]|0; - $2 = $1 << 24 >> 24; - $3 = (($2) + 255)|0; - $4 = $3 | $2; - $5 = $4&255; - HEAP8[$0>>0] = $5; - $6 = ((($f)) + 20|0); - $7 = HEAP32[$6>>2]|0; - $8 = ((($f)) + 44|0); - $9 = HEAP32[$8>>2]|0; - $10 = ($7>>>0)>($9>>>0); - if ($10) { - $11 = ((($f)) + 36|0); - $12 = HEAP32[$11>>2]|0; - (FUNCTION_TABLE_iiii[$12 & 15]($f,0,0)|0); - } - $13 = ((($f)) + 16|0); - HEAP32[$13>>2] = 0; - $14 = ((($f)) + 28|0); - HEAP32[$14>>2] = 0; - HEAP32[$6>>2] = 0; - $15 = HEAP32[$f>>2]|0; - $16 = $15 & 20; - $17 = ($16|0)==(0); - if ($17) { - $21 = HEAP32[$8>>2]|0; - $22 = ((($f)) + 8|0); - HEAP32[$22>>2] = $21; - $23 = ((($f)) + 4|0); - HEAP32[$23>>2] = $21; - $$0 = 0; - } else { - $18 = $15 & 4; - $19 = ($18|0)==(0); - if ($19) { - $$0 = -1; - } else { - $20 = $15 | 32; - HEAP32[$f>>2] = $20; - $$0 = -1; - } - } - return ($$0|0); -} -function ___towrite($f) { - $f = $f|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; - var $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($f)) + 74|0); - $1 = HEAP8[$0>>0]|0; - $2 = $1 << 24 >> 24; - $3 = (($2) + 255)|0; - $4 = $3 | $2; - $5 = $4&255; - HEAP8[$0>>0] = $5; - $6 = HEAP32[$f>>2]|0; - $7 = $6 & 8; - $8 = ($7|0)==(0); - if ($8) { - $10 = ((($f)) + 8|0); - HEAP32[$10>>2] = 0; - $11 = ((($f)) + 4|0); - HEAP32[$11>>2] = 0; - $12 = ((($f)) + 44|0); - $13 = HEAP32[$12>>2]|0; - $14 = ((($f)) + 28|0); - HEAP32[$14>>2] = $13; - $15 = ((($f)) + 20|0); - HEAP32[$15>>2] = $13; - $16 = $13; - $17 = ((($f)) + 48|0); - $18 = HEAP32[$17>>2]|0; - $19 = (($16) + ($18)|0); - $20 = ((($f)) + 16|0); - HEAP32[$20>>2] = $19; - $$0 = 0; - } else { - $9 = $6 | 32; - HEAP32[$f>>2] = $9; - $$0 = -1; - } - return ($$0|0); -} -function ___uflow($f) { - $f = $f|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $c = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $c = sp; - $0 = ((($f)) + 8|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)==(0|0); - if ($2) { - $3 = (___toread($f)|0); - $4 = ($3|0)==(0); - if ($4) { - label = 3; - } else { - $$0 = -1; - } - } else { - label = 3; - } - if ((label|0) == 3) { - $5 = ((($f)) + 32|0); - $6 = HEAP32[$5>>2]|0; - $7 = (FUNCTION_TABLE_iiii[$6 & 15]($f,$c,1)|0); - $8 = ($7|0)==(1); - if ($8) { - $9 = HEAP8[$c>>0]|0; - $10 = $9&255; - $$0 = $10; - } else { - $$0 = -1; - } - } - STACKTOP = sp;return ($$0|0); -} -function _qsort($base,$nel,$width,$cmp) { - $base = $base|0; - $nel = $nel|0; - $width = $width|0; - $cmp = $cmp|0; - var $$0$i = 0, $$0$i30 = 0, $$02$i$i = 0, $$02$i3$i = 0, $$lcssa = 0, $$lcssa57 = 0, $$phi$trans$insert$i = 0, $$pre = 0, $$pre$i = 0, $$pre$i11 = 0, $$pre$i20 = 0, $$pre$i5 = 0, $$pre$i8 = 0, $$pre1$i = 0, $$pre1$i12 = 0, $$pre1$i27$pre = 0, $$pre1$i6 = 0, $$pre1$i9 = 0, $$sum = 0, $$sum2 = 0; - var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; - var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; - var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0; - var $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $8$phi = 0, $80 = 0, $81 = 0, $82 = 0; - var $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $head$0$lcssa = 0, $head$036 = 0; - var $head$1$be = 0, $head$153 = 0, $i$0 = 0, $lp = 0, $nTrailingZeros$03$i$i = 0, $nTrailingZeros$03$i2$i = 0, $nTrailingZeros$03$i2$i$lcssa = 0, $or$cond = 0, $or$cond48 = 0, $or$cond4852 = 0, $or$cond51 = 0, $p = 0, $pshift$0$lcssa = 0, $pshift$037 = 0, $pshift$1 = 0, $pshift$2$be = 0, $pshift$254 = 0, $sum = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 208|0; - $lp = sp + 8|0; - $p = sp; - $0 = Math_imul($width, $nel)|0; - $1 = $p; - $2 = $1; - HEAP32[$2>>2] = 1; - $3 = (($1) + 4)|0; - $4 = $3; - HEAP32[$4>>2] = 0; - $5 = ($0|0)==(0); - if (!($5)) { - $$sum = (($0) - ($width))|0; - $6 = ((($lp)) + 4|0); - HEAP32[$6>>2] = $width; - HEAP32[$lp>>2] = $width; - $10 = $width;$8 = $width;$i$0 = 2; - while(1) { - $7 = (($8) + ($width))|0; - $9 = (($7) + ($10))|0; - $11 = (($lp) + ($i$0<<2)|0); - HEAP32[$11>>2] = $9; - $12 = ($9>>>0)<($0>>>0); - $13 = (($i$0) + 1)|0; - if ($12) { - $8$phi = $10;$10 = $9;$i$0 = $13;$8 = $8$phi; - } else { - break; - } - } - $14 = (0 - ($width))|0; - $15 = (($base) + ($$sum)|0); - $16 = ($$sum|0)>(0); - $$phi$trans$insert$i = ((($p)) + 4|0); - if ($16) { - $17 = $15; - $19 = 1;$head$036 = $base;$pshift$037 = 1; - while(1) { - $18 = $19 & 3; - $20 = ($18|0)==(3); - do { - if ($20) { - _sift($head$036,$width,$cmp,$pshift$037,$lp); - $$pre$i = HEAP32[$p>>2]|0; - $$pre1$i = HEAP32[$$phi$trans$insert$i>>2]|0; - $21 = $$pre$i >>> 2; - $22 = $$pre1$i << 30; - $23 = $22 | $21; - HEAP32[$p>>2] = $23; - $24 = $$pre1$i >>> 2; - HEAP32[$$phi$trans$insert$i>>2] = $24; - $25 = (($pshift$037) + 2)|0; - $48 = $23;$pshift$1 = $25; - } else { - $26 = (($pshift$037) + -1)|0; - $27 = (($lp) + ($26<<2)|0); - $28 = HEAP32[$27>>2]|0; - $29 = $head$036; - $30 = (($17) - ($29))|0; - $31 = ($28>>>0)<($30>>>0); - if ($31) { - _sift($head$036,$width,$cmp,$pshift$037,$lp); - } else { - _trinkle($head$036,$width,$cmp,$p,$pshift$037,0,$lp); - } - $32 = ($pshift$037|0)==(1); - if ($32) { - $$pre$i5 = HEAP32[$$phi$trans$insert$i>>2]|0; - $$pre1$i6 = HEAP32[$p>>2]|0; - $33 = $$pre$i5 << 1; - $34 = $$pre1$i6 >>> 31; - $35 = $34 | $33; - HEAP32[$$phi$trans$insert$i>>2] = $35; - $36 = $$pre1$i6 << 1; - HEAP32[$p>>2] = $36; - $48 = $36;$pshift$1 = 0; - break; - } - $37 = ($26>>>0)>(31); - if ($37) { - $38 = (($pshift$037) + -33)|0; - $39 = HEAP32[$p>>2]|0; - HEAP32[$$phi$trans$insert$i>>2] = $39; - HEAP32[$p>>2] = 0; - $$0$i = $38;$41 = $39;$44 = 0; - } else { - $$pre$i11 = HEAP32[$$phi$trans$insert$i>>2]|0; - $$pre1$i12 = HEAP32[$p>>2]|0; - $$0$i = $26;$41 = $$pre$i11;$44 = $$pre1$i12; - } - $40 = $41 << $$0$i; - $42 = (32 - ($$0$i))|0; - $43 = $44 >>> $42; - $45 = $43 | $40; - HEAP32[$$phi$trans$insert$i>>2] = $45; - $46 = $44 << $$0$i; - HEAP32[$p>>2] = $46; - $48 = $46;$pshift$1 = 1; - } - } while(0); - $47 = $48 | 1; - HEAP32[$p>>2] = $47; - $49 = (($head$036) + ($width)|0); - $50 = ($49>>>0)<($15>>>0); - if ($50) { - $19 = $47;$head$036 = $49;$pshift$037 = $pshift$1; - } else { - $head$0$lcssa = $49;$pshift$0$lcssa = $pshift$1; - break; - } - } - } else { - $head$0$lcssa = $base;$pshift$0$lcssa = 1; - } - _trinkle($head$0$lcssa,$width,$cmp,$p,$pshift$0$lcssa,0,$lp); - $51 = ((($p)) + 4|0); - $52 = ($pshift$0$lcssa|0)==(1); - $53 = HEAP32[$p>>2]|0; - $54 = ($53|0)==(1); - $or$cond51 = $52 & $54; - $55 = HEAP32[$51>>2]|0; - $56 = ($55|0)==(0); - $or$cond4852 = $or$cond51 & $56; - if (!($or$cond4852)) { - $59 = $53;$head$153 = $head$0$lcssa;$pshift$254 = $pshift$0$lcssa; - while(1) { - $57 = ($pshift$254|0)<(2); - if ($57) { - $58 = (($59) + -1)|0; - $60 = ($58|0)==(0); - do { - if ($60) { - $81 = 32; - label = 30; - } else { - $61 = $58 & 1; - $62 = ($61|0)==(0); - if ($62) { - $$02$i$i = $58;$nTrailingZeros$03$i$i = 0; - while(1) { - $63 = (($nTrailingZeros$03$i$i) + 1)|0; - $64 = $$02$i$i >>> 1; - $65 = $64 & 1; - $66 = ($65|0)==(0); - if ($66) { - $$02$i$i = $64;$nTrailingZeros$03$i$i = $63; - } else { - $$lcssa = $63; - break; - } - } - $67 = ($$lcssa|0)==(0); - if ($67) { - label = 24; - } else { - $78 = $$lcssa; - } - } else { - label = 24; - } - if ((label|0) == 24) { - label = 0; - $68 = HEAP32[$$phi$trans$insert$i>>2]|0; - $69 = ($68|0)==(0); - if ($69) { - $81 = 64; - label = 30; - break; - } - $70 = $68 & 1; - $71 = ($70|0)==(0); - if ($71) { - $$02$i3$i = $68;$nTrailingZeros$03$i2$i = 0; - } else { - $$0$i30 = 0;$84 = $59;$87 = $68;$91 = 0; - break; - } - while(1) { - $72 = (($nTrailingZeros$03$i2$i) + 1)|0; - $73 = $$02$i3$i >>> 1; - $74 = $73 & 1; - $75 = ($74|0)==(0); - if ($75) { - $$02$i3$i = $73;$nTrailingZeros$03$i2$i = $72; - } else { - $$lcssa57 = $72;$nTrailingZeros$03$i2$i$lcssa = $nTrailingZeros$03$i2$i; - break; - } - } - $76 = (($nTrailingZeros$03$i2$i$lcssa) + 33)|0; - $77 = ($$lcssa57|0)==(0); - if ($77) { - $$0$i30 = 0;$84 = $59;$87 = $68;$91 = 0; - break; - } else { - $78 = $76; - } - } - $79 = ($78>>>0)>(31); - if ($79) { - $81 = $78; - label = 30; - } else { - $$pre1$i27$pre = HEAP32[$$phi$trans$insert$i>>2]|0; - $$0$i30 = $78;$84 = $59;$87 = $$pre1$i27$pre;$91 = $78; - } - } - } while(0); - if ((label|0) == 30) { - label = 0; - $80 = (($81) + -32)|0; - $82 = HEAP32[$$phi$trans$insert$i>>2]|0; - HEAP32[$p>>2] = $82; - HEAP32[$$phi$trans$insert$i>>2] = 0; - $$0$i30 = $80;$84 = $82;$87 = 0;$91 = $81; - } - $83 = $84 >>> $$0$i30; - $85 = (32 - ($$0$i30))|0; - $86 = $87 << $85; - $88 = $86 | $83; - HEAP32[$p>>2] = $88; - $89 = $87 >>> $$0$i30; - HEAP32[$$phi$trans$insert$i>>2] = $89; - $90 = (($91) + ($pshift$254))|0; - $$pre = (($head$153) + ($14)|0); - $head$1$be = $$pre;$pshift$2$be = $90; - } else { - $$pre$i20 = HEAP32[$$phi$trans$insert$i>>2]|0; - $92 = $$pre$i20 << 2; - $93 = $59 >>> 30; - $94 = $93 | $92; - $95 = (($pshift$254) + -2)|0; - $96 = $59 << 1; - $97 = $96 & 2147483646; - $98 = $93 << 31; - $99 = $97 | $98; - $100 = $99 ^ 3; - HEAP32[$p>>2] = $100; - $101 = $94 >>> 1; - HEAP32[$$phi$trans$insert$i>>2] = $101; - $102 = (($lp) + ($95<<2)|0); - $103 = HEAP32[$102>>2]|0; - $sum = (($103) + ($width))|0; - $$sum2 = (0 - ($sum))|0; - $104 = (($head$153) + ($$sum2)|0); - $105 = (($pshift$254) + -1)|0; - _trinkle($104,$width,$cmp,$p,$105,1,$lp); - $$pre$i8 = HEAP32[$$phi$trans$insert$i>>2]|0; - $$pre1$i9 = HEAP32[$p>>2]|0; - $106 = $$pre$i8 << 1; - $107 = $$pre1$i9 >>> 31; - $108 = $107 | $106; - HEAP32[$$phi$trans$insert$i>>2] = $108; - $109 = $$pre1$i9 << 1; - $110 = $109 | 1; - HEAP32[$p>>2] = $110; - $111 = (($head$153) + ($14)|0); - _trinkle($111,$width,$cmp,$p,$95,1,$lp); - $head$1$be = $111;$pshift$2$be = $95; - } - $112 = ($pshift$2$be|0)==(1); - $113 = HEAP32[$p>>2]|0; - $114 = ($113|0)==(1); - $or$cond = $112 & $114; - $115 = HEAP32[$51>>2]|0; - $116 = ($115|0)==(0); - $or$cond48 = $or$cond & $116; - if ($or$cond48) { - break; - } else { - $59 = $113;$head$153 = $head$1$be;$pshift$254 = $pshift$2$be; - } - } - } - } - STACKTOP = sp;return; -} -function _memchr($src,$c,$n) { - $src = $src|0; - $c = $c|0; - $n = $n|0; - var $$0$lcssa = 0, $$0$lcssa44 = 0, $$019 = 0, $$1$lcssa = 0, $$110 = 0, $$110$lcssa = 0, $$24 = 0, $$3 = 0, $$lcssa = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0; - var $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0; - var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond18 = 0, $s$0$lcssa = 0, $s$0$lcssa43 = 0, $s$020 = 0, $s$15 = 0, $s$2 = 0, $w$0$lcssa = 0, $w$011 = 0, $w$011$lcssa = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = $c & 255; - $1 = $src; - $2 = $1 & 3; - $3 = ($2|0)!=(0); - $4 = ($n|0)!=(0); - $or$cond18 = $4 & $3; - L1: do { - if ($or$cond18) { - $5 = $c&255; - $$019 = $n;$s$020 = $src; - while(1) { - $6 = HEAP8[$s$020>>0]|0; - $7 = ($6<<24>>24)==($5<<24>>24); - if ($7) { - $$0$lcssa44 = $$019;$s$0$lcssa43 = $s$020; - label = 6; - break L1; - } - $8 = ((($s$020)) + 1|0); - $9 = (($$019) + -1)|0; - $10 = $8; - $11 = $10 & 3; - $12 = ($11|0)!=(0); - $13 = ($9|0)!=(0); - $or$cond = $13 & $12; - if ($or$cond) { - $$019 = $9;$s$020 = $8; - } else { - $$0$lcssa = $9;$$lcssa = $13;$s$0$lcssa = $8; - label = 5; - break; - } - } - } else { - $$0$lcssa = $n;$$lcssa = $4;$s$0$lcssa = $src; - label = 5; - } - } while(0); - if ((label|0) == 5) { - if ($$lcssa) { - $$0$lcssa44 = $$0$lcssa;$s$0$lcssa43 = $s$0$lcssa; - label = 6; - } else { - $$3 = 0;$s$2 = $s$0$lcssa; - } - } - L8: do { - if ((label|0) == 6) { - $14 = HEAP8[$s$0$lcssa43>>0]|0; - $15 = $c&255; - $16 = ($14<<24>>24)==($15<<24>>24); - if ($16) { - $$3 = $$0$lcssa44;$s$2 = $s$0$lcssa43; - } else { - $17 = Math_imul($0, 16843009)|0; - $18 = ($$0$lcssa44>>>0)>(3); - L11: do { - if ($18) { - $$110 = $$0$lcssa44;$w$011 = $s$0$lcssa43; - while(1) { - $19 = HEAP32[$w$011>>2]|0; - $20 = $19 ^ $17; - $21 = (($20) + -16843009)|0; - $22 = $20 & -2139062144; - $23 = $22 ^ -2139062144; - $24 = $23 & $21; - $25 = ($24|0)==(0); - if (!($25)) { - $$110$lcssa = $$110;$w$011$lcssa = $w$011; - break; - } - $26 = ((($w$011)) + 4|0); - $27 = (($$110) + -4)|0; - $28 = ($27>>>0)>(3); - if ($28) { - $$110 = $27;$w$011 = $26; - } else { - $$1$lcssa = $27;$w$0$lcssa = $26; - label = 11; - break L11; - } - } - $$24 = $$110$lcssa;$s$15 = $w$011$lcssa; - } else { - $$1$lcssa = $$0$lcssa44;$w$0$lcssa = $s$0$lcssa43; - label = 11; - } - } while(0); - if ((label|0) == 11) { - $29 = ($$1$lcssa|0)==(0); - if ($29) { - $$3 = 0;$s$2 = $w$0$lcssa; - break; - } else { - $$24 = $$1$lcssa;$s$15 = $w$0$lcssa; - } - } - while(1) { - $30 = HEAP8[$s$15>>0]|0; - $31 = ($30<<24>>24)==($15<<24>>24); - if ($31) { - $$3 = $$24;$s$2 = $s$15; - break L8; - } - $32 = ((($s$15)) + 1|0); - $33 = (($$24) + -1)|0; - $34 = ($33|0)==(0); - if ($34) { - $$3 = 0;$s$2 = $32; - break; - } else { - $$24 = $33;$s$15 = $32; - } - } - } - } - } while(0); - $35 = ($$3|0)!=(0); - $36 = $35 ? $s$2 : 0; - return ($36|0); -} -function _memcmp($vl,$vr,$n) { - $vl = $vl|0; - $vr = $vr|0; - $n = $n|0; - var $$03 = 0, $$lcssa = 0, $$lcssa19 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $l$04 = 0, $r$05 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ($n|0)==(0); - L1: do { - if ($0) { - $11 = 0; - } else { - $$03 = $n;$l$04 = $vl;$r$05 = $vr; - while(1) { - $1 = HEAP8[$l$04>>0]|0; - $2 = HEAP8[$r$05>>0]|0; - $3 = ($1<<24>>24)==($2<<24>>24); - if (!($3)) { - $$lcssa = $1;$$lcssa19 = $2; - break; - } - $4 = (($$03) + -1)|0; - $5 = ((($l$04)) + 1|0); - $6 = ((($r$05)) + 1|0); - $7 = ($4|0)==(0); - if ($7) { - $11 = 0; - break L1; - } else { - $$03 = $4;$l$04 = $5;$r$05 = $6; - } - } - $8 = $$lcssa&255; - $9 = $$lcssa19&255; - $10 = (($8) - ($9))|0; - $11 = $10; - } - } while(0); - return ($11|0); -} -function ___memrchr($m,$c,$n) { - $m = $m|0; - $c = $c|0; - $n = $n|0; - var $$0 = 0, $$01 = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = $c&255; - $$01 = $n; - while(1) { - $1 = (($$01) + -1)|0; - $2 = ($$01|0)==(0); - if ($2) { - $$0 = 0; - break; - } - $3 = (($m) + ($1)|0); - $4 = HEAP8[$3>>0]|0; - $5 = ($4<<24>>24)==($0<<24>>24); - if ($5) { - $$0 = $3; - break; - } else { - $$01 = $1; - } - } - return ($$0|0); -} -function ___stpcpy($d,$s) { - $d = $d|0; - $s = $s|0; - var $$0$lcssa = 0, $$01$lcssa = 0, $$0115 = 0, $$016 = 0, $$03 = 0, $$1$ph = 0, $$12$ph = 0, $$128 = 0, $$19 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0; - var $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $4 = 0, $5 = 0; - var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $wd$0$lcssa = 0, $wd$010 = 0, $ws$0$lcssa = 0, $ws$011 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = $s; - $1 = $d; - $2 = $0 ^ $1; - $3 = $2 & 3; - $4 = ($3|0)==(0); - L1: do { - if ($4) { - $5 = $0 & 3; - $6 = ($5|0)==(0); - if ($6) { - $$0$lcssa = $s;$$01$lcssa = $d; - } else { - $$0115 = $d;$$016 = $s; - while(1) { - $7 = HEAP8[$$016>>0]|0; - HEAP8[$$0115>>0] = $7; - $8 = ($7<<24>>24)==(0); - if ($8) { - $$03 = $$0115; - break L1; - } - $9 = ((($$016)) + 1|0); - $10 = ((($$0115)) + 1|0); - $11 = $9; - $12 = $11 & 3; - $13 = ($12|0)==(0); - if ($13) { - $$0$lcssa = $9;$$01$lcssa = $10; - break; - } else { - $$0115 = $10;$$016 = $9; - } - } - } - $14 = HEAP32[$$0$lcssa>>2]|0; - $15 = (($14) + -16843009)|0; - $16 = $14 & -2139062144; - $17 = $16 ^ -2139062144; - $18 = $17 & $15; - $19 = ($18|0)==(0); - if ($19) { - $22 = $14;$wd$010 = $$01$lcssa;$ws$011 = $$0$lcssa; - while(1) { - $20 = ((($ws$011)) + 4|0); - $21 = ((($wd$010)) + 4|0); - HEAP32[$wd$010>>2] = $22; - $23 = HEAP32[$20>>2]|0; - $24 = (($23) + -16843009)|0; - $25 = $23 & -2139062144; - $26 = $25 ^ -2139062144; - $27 = $26 & $24; - $28 = ($27|0)==(0); - if ($28) { - $22 = $23;$wd$010 = $21;$ws$011 = $20; - } else { - $wd$0$lcssa = $21;$ws$0$lcssa = $20; - break; - } - } - } else { - $wd$0$lcssa = $$01$lcssa;$ws$0$lcssa = $$0$lcssa; - } - $$1$ph = $ws$0$lcssa;$$12$ph = $wd$0$lcssa; - label = 8; - } else { - $$1$ph = $s;$$12$ph = $d; - label = 8; - } - } while(0); - if ((label|0) == 8) { - $29 = HEAP8[$$1$ph>>0]|0; - HEAP8[$$12$ph>>0] = $29; - $30 = ($29<<24>>24)==(0); - if ($30) { - $$03 = $$12$ph; - } else { - $$128 = $$12$ph;$$19 = $$1$ph; - while(1) { - $31 = ((($$19)) + 1|0); - $32 = ((($$128)) + 1|0); - $33 = HEAP8[$31>>0]|0; - HEAP8[$32>>0] = $33; - $34 = ($33<<24>>24)==(0); - if ($34) { - $$03 = $32; - break; - } else { - $$128 = $32;$$19 = $31; - } - } - } - } - return ($$03|0); -} -function _strcat($dest,$src) { - $dest = $dest|0; - $src = $src|0; - var $0 = 0, $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_strlen($dest)|0); - $1 = (($dest) + ($0)|0); - (_strcpy($1,$src)|0); - return ($dest|0); -} -function _strchr($s,$c) { - $s = $s|0; - $c = $c|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (___strchrnul($s,$c)|0); - $1 = HEAP8[$0>>0]|0; - $2 = $c&255; - $3 = ($1<<24>>24)==($2<<24>>24); - $4 = $3 ? $0 : 0; - return ($4|0); -} -function ___strchrnul($s,$c) { - $s = $s|0; - $c = $c|0; - var $$0 = 0, $$02$lcssa = 0, $$0211 = 0, $$1 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0; - var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0; - var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond5 = 0, $w$0$lcssa = 0, $w$08 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = $c & 255; - $1 = ($0|0)==(0); - L1: do { - if ($1) { - $6 = (_strlen($s)|0); - $7 = (($s) + ($6)|0); - $$0 = $7; - } else { - $2 = $s; - $3 = $2 & 3; - $4 = ($3|0)==(0); - if ($4) { - $$02$lcssa = $s; - } else { - $5 = $c&255; - $$0211 = $s; - while(1) { - $8 = HEAP8[$$0211>>0]|0; - $9 = ($8<<24>>24)==(0); - $10 = ($8<<24>>24)==($5<<24>>24); - $or$cond = $9 | $10; - if ($or$cond) { - $$0 = $$0211; - break L1; - } - $11 = ((($$0211)) + 1|0); - $12 = $11; - $13 = $12 & 3; - $14 = ($13|0)==(0); - if ($14) { - $$02$lcssa = $11; - break; - } else { - $$0211 = $11; - } - } - } - $15 = Math_imul($0, 16843009)|0; - $16 = HEAP32[$$02$lcssa>>2]|0; - $17 = (($16) + -16843009)|0; - $18 = $16 & -2139062144; - $19 = $18 ^ -2139062144; - $20 = $19 & $17; - $21 = ($20|0)==(0); - L10: do { - if ($21) { - $23 = $16;$w$08 = $$02$lcssa; - while(1) { - $22 = $23 ^ $15; - $24 = (($22) + -16843009)|0; - $25 = $22 & -2139062144; - $26 = $25 ^ -2139062144; - $27 = $26 & $24; - $28 = ($27|0)==(0); - if (!($28)) { - $w$0$lcssa = $w$08; - break L10; - } - $29 = ((($w$08)) + 4|0); - $30 = HEAP32[$29>>2]|0; - $31 = (($30) + -16843009)|0; - $32 = $30 & -2139062144; - $33 = $32 ^ -2139062144; - $34 = $33 & $31; - $35 = ($34|0)==(0); - if ($35) { - $23 = $30;$w$08 = $29; - } else { - $w$0$lcssa = $29; - break; - } - } - } else { - $w$0$lcssa = $$02$lcssa; - } - } while(0); - $36 = $c&255; - $$1 = $w$0$lcssa; - while(1) { - $37 = HEAP8[$$1>>0]|0; - $38 = ($37<<24>>24)==(0); - $39 = ($37<<24>>24)==($36<<24>>24); - $or$cond5 = $38 | $39; - $40 = ((($$1)) + 1|0); - if ($or$cond5) { - $$0 = $$1; - break; - } else { - $$1 = $40; - } - } - } - } while(0); - return ($$0|0); -} -function _strcmp($l,$r) { - $l = $l|0; - $r = $r|0; - var $$014 = 0, $$05 = 0, $$lcssa = 0, $$lcssa2 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond3 = 0, label = 0; - var sp = 0; - sp = STACKTOP; - $0 = HEAP8[$l>>0]|0; - $1 = HEAP8[$r>>0]|0; - $2 = ($0<<24>>24)!=($1<<24>>24); - $3 = ($0<<24>>24)==(0); - $or$cond3 = $3 | $2; - if ($or$cond3) { - $$lcssa = $0;$$lcssa2 = $1; - } else { - $$014 = $l;$$05 = $r; - while(1) { - $4 = ((($$014)) + 1|0); - $5 = ((($$05)) + 1|0); - $6 = HEAP8[$4>>0]|0; - $7 = HEAP8[$5>>0]|0; - $8 = ($6<<24>>24)!=($7<<24>>24); - $9 = ($6<<24>>24)==(0); - $or$cond = $9 | $8; - if ($or$cond) { - $$lcssa = $6;$$lcssa2 = $7; - break; - } else { - $$014 = $4;$$05 = $5; - } - } - } - $10 = $$lcssa&255; - $11 = $$lcssa2&255; - $12 = (($10) - ($11))|0; - return ($12|0); -} -function _strcpy($dest,$src) { - $dest = $dest|0; - $src = $src|0; - var label = 0, sp = 0; - sp = STACKTOP; - (___stpcpy($dest,$src)|0); - return ($dest|0); -} -function _strcspn($s,$c) { - $s = $s|0; - $c = $c|0; - var $$0 = 0, $$027 = 0, $$03$lcssa = 0, $$035 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0; - var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; - var $8 = 0, $9 = 0, $byteset = 0, $div = 0, $div4 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $byteset = sp; - $0 = HEAP8[$c>>0]|0; - $1 = ($0<<24>>24)==(0); - if ($1) { - label = 3; - } else { - $2 = ((($c)) + 1|0); - $3 = HEAP8[$2>>0]|0; - $4 = ($3<<24>>24)==(0); - if ($4) { - label = 3; - } else { - ;HEAP32[$byteset>>2]=0|0;HEAP32[$byteset+4>>2]=0|0;HEAP32[$byteset+8>>2]=0|0;HEAP32[$byteset+12>>2]=0|0;HEAP32[$byteset+16>>2]=0|0;HEAP32[$byteset+20>>2]=0|0;HEAP32[$byteset+24>>2]=0|0;HEAP32[$byteset+28>>2]=0|0; - $$027 = $c;$13 = $0; - while(1) { - $12 = $13 & 31; - $14 = $12&255; - $15 = 1 << $14; - $div4 = ($13&255) >>> 5; - $16 = $div4&255; - $17 = (($byteset) + ($16<<2)|0); - $18 = HEAP32[$17>>2]|0; - $19 = $18 | $15; - HEAP32[$17>>2] = $19; - $20 = ((($$027)) + 1|0); - $21 = HEAP8[$20>>0]|0; - $22 = ($21<<24>>24)==(0); - if ($22) { - break; - } else { - $$027 = $20;$13 = $21; - } - } - $10 = HEAP8[$s>>0]|0; - $11 = ($10<<24>>24)==(0); - L7: do { - if ($11) { - $$03$lcssa = $s; - } else { - $$035 = $s;$23 = $10; - while(1) { - $div = ($23&255) >>> 5; - $24 = $div&255; - $25 = (($byteset) + ($24<<2)|0); - $26 = HEAP32[$25>>2]|0; - $27 = $23 & 31; - $28 = $27&255; - $29 = 1 << $28; - $30 = $26 & $29; - $31 = ($30|0)==(0); - if (!($31)) { - $$03$lcssa = $$035; - break L7; - } - $32 = ((($$035)) + 1|0); - $33 = HEAP8[$32>>0]|0; - $34 = ($33<<24>>24)==(0); - if ($34) { - $$03$lcssa = $32; - break; - } else { - $$035 = $32;$23 = $33; - } - } - } - } while(0); - $35 = $$03$lcssa; - $36 = $s; - $37 = (($35) - ($36))|0; - $$0 = $37; - } - } - if ((label|0) == 3) { - $5 = $0 << 24 >> 24; - $6 = (___strchrnul($s,$5)|0); - $7 = $6; - $8 = $s; - $9 = (($7) - ($8))|0; - $$0 = $9; - } - STACKTOP = sp;return ($$0|0); -} -function _strlen($s) { - $s = $s|0; - var $$0 = 0, $$01$lcssa = 0, $$014 = 0, $$1$lcssa = 0, $$lcssa20 = 0, $$pn = 0, $$pn15 = 0, $$pre = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0; - var $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $w$0 = 0, $w$0$lcssa = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = $s; - $1 = $0 & 3; - $2 = ($1|0)==(0); - L1: do { - if ($2) { - $$01$lcssa = $s; - label = 4; - } else { - $$014 = $s;$21 = $0; - while(1) { - $3 = HEAP8[$$014>>0]|0; - $4 = ($3<<24>>24)==(0); - if ($4) { - $$pn = $21; - break L1; - } - $5 = ((($$014)) + 1|0); - $6 = $5; - $7 = $6 & 3; - $8 = ($7|0)==(0); - if ($8) { - $$01$lcssa = $5; - label = 4; - break; - } else { - $$014 = $5;$21 = $6; - } - } - } - } while(0); - if ((label|0) == 4) { - $w$0 = $$01$lcssa; - while(1) { - $9 = HEAP32[$w$0>>2]|0; - $10 = (($9) + -16843009)|0; - $11 = $9 & -2139062144; - $12 = $11 ^ -2139062144; - $13 = $12 & $10; - $14 = ($13|0)==(0); - $15 = ((($w$0)) + 4|0); - if ($14) { - $w$0 = $15; - } else { - $$lcssa20 = $9;$w$0$lcssa = $w$0; - break; - } - } - $16 = $$lcssa20&255; - $17 = ($16<<24>>24)==(0); - if ($17) { - $$1$lcssa = $w$0$lcssa; - } else { - $$pn15 = $w$0$lcssa; - while(1) { - $18 = ((($$pn15)) + 1|0); - $$pre = HEAP8[$18>>0]|0; - $19 = ($$pre<<24>>24)==(0); - if ($19) { - $$1$lcssa = $18; - break; - } else { - $$pn15 = $18; - } - } - } - $20 = $$1$lcssa; - $$pn = $20; - } - $$0 = (($$pn) - ($0))|0; - return ($$0|0); -} -function _strncmp($_l,$_r,$n) { - $_l = $_l|0; - $_r = $_r|0; - $n = $n|0; - var $$03 = 0, $$08 = 0, $$08$in = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; - var $l$06 = 0, $or$cond = 0, $or$cond4 = 0, $r$0$lcssa = 0, $r$07 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ($n|0)==(0); - if ($0) { - $$03 = 0; - } else { - $1 = HEAP8[$_l>>0]|0; - $2 = ($1<<24>>24)==(0); - L3: do { - if ($2) { - $13 = 0;$r$0$lcssa = $_r; - } else { - $$08$in = $n;$6 = $1;$l$06 = $_l;$r$07 = $_r; - while(1) { - $$08 = (($$08$in) + -1)|0; - $3 = HEAP8[$r$07>>0]|0; - $4 = ($3<<24>>24)!=(0); - $5 = ($$08|0)!=(0); - $or$cond = $5 & $4; - $7 = ($6<<24>>24)==($3<<24>>24); - $or$cond4 = $7 & $or$cond; - if (!($or$cond4)) { - $13 = $6;$r$0$lcssa = $r$07; - break L3; - } - $8 = ((($l$06)) + 1|0); - $9 = ((($r$07)) + 1|0); - $10 = HEAP8[$8>>0]|0; - $11 = ($10<<24>>24)==(0); - if ($11) { - $13 = 0;$r$0$lcssa = $9; - break; - } else { - $$08$in = $$08;$6 = $10;$l$06 = $8;$r$07 = $9; - } - } - } - } while(0); - $12 = $13&255; - $14 = HEAP8[$r$0$lcssa>>0]|0; - $15 = $14&255; - $16 = (($12) - ($15))|0; - $$03 = $16; - } - return ($$03|0); -} -function _strrchr($s,$c) { - $s = $s|0; - $c = $c|0; - var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_strlen($s)|0); - $1 = (($0) + 1)|0; - $2 = (___memrchr($s,$c,$1)|0); - return ($2|0); -} -function _strspn($s,$c) { - $s = $s|0; - $c = $c|0; - var $$0 = 0, $$028 = 0, $$03 = 0, $$03$lcssa = 0, $$1$lcssa = 0, $$16 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0; - var $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $4 = 0; - var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $byteset = 0, $div = 0, $div4 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $byteset = sp; - ;HEAP32[$byteset>>2]=0|0;HEAP32[$byteset+4>>2]=0|0;HEAP32[$byteset+8>>2]=0|0;HEAP32[$byteset+12>>2]=0|0;HEAP32[$byteset+16>>2]=0|0;HEAP32[$byteset+20>>2]=0|0;HEAP32[$byteset+24>>2]=0|0;HEAP32[$byteset+28>>2]=0|0; - $0 = HEAP8[$c>>0]|0; - $1 = ($0<<24>>24)==(0); - do { - if ($1) { - $$0 = 0; - } else { - $2 = ((($c)) + 1|0); - $3 = HEAP8[$2>>0]|0; - $4 = ($3<<24>>24)==(0); - if ($4) { - $$03 = $s; - while(1) { - $5 = HEAP8[$$03>>0]|0; - $6 = ($5<<24>>24)==($0<<24>>24); - $7 = ((($$03)) + 1|0); - if ($6) { - $$03 = $7; - } else { - $$03$lcssa = $$03; - break; - } - } - $8 = $$03$lcssa; - $9 = $s; - $10 = (($8) - ($9))|0; - $$0 = $10; - break; - } else { - $$028 = $c;$14 = $0; - } - while(1) { - $13 = $14 & 31; - $15 = $13&255; - $16 = 1 << $15; - $div4 = ($14&255) >>> 5; - $17 = $div4&255; - $18 = (($byteset) + ($17<<2)|0); - $19 = HEAP32[$18>>2]|0; - $20 = $19 | $16; - HEAP32[$18>>2] = $20; - $21 = ((($$028)) + 1|0); - $22 = HEAP8[$21>>0]|0; - $23 = ($22<<24>>24)==(0); - if ($23) { - break; - } else { - $$028 = $21;$14 = $22; - } - } - $11 = HEAP8[$s>>0]|0; - $12 = ($11<<24>>24)==(0); - L10: do { - if ($12) { - $$1$lcssa = $s; - } else { - $$16 = $s;$24 = $11; - while(1) { - $div = ($24&255) >>> 5; - $25 = $div&255; - $26 = (($byteset) + ($25<<2)|0); - $27 = HEAP32[$26>>2]|0; - $28 = $24 & 31; - $29 = $28&255; - $30 = 1 << $29; - $31 = $27 & $30; - $32 = ($31|0)==(0); - if ($32) { - $$1$lcssa = $$16; - break L10; - } - $33 = ((($$16)) + 1|0); - $34 = HEAP8[$33>>0]|0; - $35 = ($34<<24>>24)==(0); - if ($35) { - $$1$lcssa = $33; - break; - } else { - $$16 = $33;$24 = $34; - } - } - } - } while(0); - $36 = $$1$lcssa; - $37 = $s; - $38 = (($36) - ($37))|0; - $$0 = $38; - } - } while(0); - STACKTOP = sp;return ($$0|0); -} -function _strstr($h,$n) { - $h = $h|0; - $n = $n|0; - var $$0 = 0, $$0$i = 0, $$0$lcssa$i = 0, $$0$lcssa$i11 = 0, $$01$i = 0, $$02$i = 0, $$02$i7 = 0, $$03$i = 0, $$lcssa$i = 0, $$lcssa$i10 = 0, $$lcssa$i4 = 0, $$lcssa281 = 0, $$lcssa284 = 0, $$lcssa287 = 0, $$lcssa301 = 0, $$lcssa304 = 0, $$lcssa307 = 0, $$lcssa322 = 0, $$pr$i = 0, $0 = 0; - var $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0; - var $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0; - var $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0; - var $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0; - var $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0; - var $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0; - var $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0; - var $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $233$phi = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; - var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0; - var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0; - var $byteset$i = 0, $div$i = 0, $div4$i = 0, $hw$0$in2$i = 0, $hw$03$i = 0, $hw$03$i6 = 0, $ip$0$ph$lcssa$i = 0, $ip$0$ph$lcssa143$i = 0, $ip$0$ph76$i = 0, $ip$1$ip$0$$i = 0, $ip$1$ip$0$i = 0, $ip$1$ph$lcssa$i = 0, $ip$1$ph55$i = 0, $jp$0$ph13$ph70$i = 0, $jp$0$ph1365$i = 0, $jp$0$ph1365$i$lcssa = 0, $jp$0$ph1365$i$lcssa$lcssa = 0, $jp$0$ph77$i = 0, $jp$1$ph56$i = 0, $jp$1$ph9$ph49$i = 0; - var $jp$1$ph944$i = 0, $jp$1$ph944$i$lcssa = 0, $jp$1$ph944$i$lcssa$lcssa = 0, $k$059$i = 0, $k$139$i = 0, $k$2$i = 0, $k$338$i = 0, $k$338$i$lcssa = 0, $k$4$i = 0, $l$080$i = 0, $l$080$i$lcssa321 = 0, $mem$0$i = 0, $mem0$0$i = 0, $or$cond$i = 0, $or$cond$i2 = 0, $or$cond$i8 = 0, $or$cond5$i = 0, $p$0$ph$ph$lcssa32$i = 0, $p$0$ph$ph$lcssa32147$i = 0, $p$0$ph$ph71$i = 0; - var $p$1$p$0$i = 0, $p$1$ph$ph$lcssa23$i = 0, $p$1$ph$ph50$i = 0, $p$3$i = 0, $shift$i = 0, $z$0$i = 0, $z$1$i = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 1056|0; - $byteset$i = sp + 1024|0; - $shift$i = sp; - $0 = HEAP8[$n>>0]|0; - $1 = ($0<<24>>24)==(0); - do { - if ($1) { - $$0 = $h; - } else { - $2 = $0 << 24 >> 24; - $3 = (_strchr($h,$2)|0); - $4 = ($3|0)==(0|0); - if ($4) { - $$0 = 0; - } else { - $5 = ((($n)) + 1|0); - $6 = HEAP8[$5>>0]|0; - $7 = ($6<<24>>24)==(0); - if ($7) { - $$0 = $3; - } else { - $8 = ((($3)) + 1|0); - $9 = HEAP8[$8>>0]|0; - $10 = ($9<<24>>24)==(0); - if ($10) { - $$0 = 0; - } else { - $11 = ((($n)) + 2|0); - $12 = HEAP8[$11>>0]|0; - $13 = ($12<<24>>24)==(0); - if ($13) { - $14 = $0&255; - $15 = $14 << 8; - $16 = $6&255; - $17 = $16 | $15; - $18 = HEAP8[$3>>0]|0; - $19 = $18&255; - $20 = $19 << 8; - $21 = $9&255; - $22 = $20 | $21; - $$01$i = $8;$232 = $9;$233 = $3;$hw$0$in2$i = $22; - while(1) { - $23 = $hw$0$in2$i & 65535; - $24 = ($23|0)==($17|0); - if ($24) { - $$lcssa$i = $233;$31 = $232; - break; - } - $25 = $23 << 8; - $26 = ((($$01$i)) + 1|0); - $27 = HEAP8[$26>>0]|0; - $28 = $27&255; - $29 = $28 | $25; - $30 = ($27<<24>>24)==(0); - if ($30) { - $$lcssa$i = $$01$i;$31 = 0; - break; - } else { - $233$phi = $$01$i;$$01$i = $26;$232 = $27;$hw$0$in2$i = $29;$233 = $233$phi; - } - } - $32 = ($31<<24>>24)!=(0); - $33 = $32 ? $$lcssa$i : 0; - $$0 = $33; - break; - } - $34 = ((($3)) + 2|0); - $35 = HEAP8[$34>>0]|0; - $36 = ($35<<24>>24)==(0); - if ($36) { - $$0 = 0; - } else { - $37 = ((($n)) + 3|0); - $38 = HEAP8[$37>>0]|0; - $39 = ($38<<24>>24)==(0); - if ($39) { - $40 = $0&255; - $41 = $40 << 24; - $42 = $6&255; - $43 = $42 << 16; - $44 = $43 | $41; - $45 = $12&255; - $46 = $45 << 8; - $47 = $44 | $46; - $48 = HEAP8[$3>>0]|0; - $49 = $48&255; - $50 = $49 << 24; - $51 = $9&255; - $52 = $51 << 16; - $53 = $35&255; - $54 = $53 << 8; - $55 = $54 | $52; - $56 = $55 | $50; - $57 = ($56|0)==($47|0); - if ($57) { - $$0$lcssa$i = $34;$$lcssa$i4 = $35; - } else { - $$02$i = $34;$hw$03$i = $56; - while(1) { - $58 = ((($$02$i)) + 1|0); - $59 = HEAP8[$58>>0]|0; - $60 = $59&255; - $61 = $60 | $hw$03$i; - $62 = $61 << 8; - $63 = ($59<<24>>24)==(0); - $64 = ($62|0)==($47|0); - $or$cond$i2 = $63 | $64; - if ($or$cond$i2) { - $$0$lcssa$i = $58;$$lcssa$i4 = $59; - break; - } else { - $$02$i = $58;$hw$03$i = $62; - } - } - } - $65 = ($$lcssa$i4<<24>>24)!=(0); - $66 = ((($$0$lcssa$i)) + -2|0); - $67 = $65 ? $66 : 0; - $$0 = $67; - break; - } - $68 = ((($3)) + 3|0); - $69 = HEAP8[$68>>0]|0; - $70 = ($69<<24>>24)==(0); - if ($70) { - $$0 = 0; - } else { - $71 = ((($n)) + 4|0); - $72 = HEAP8[$71>>0]|0; - $73 = ($72<<24>>24)==(0); - if ($73) { - $74 = $0&255; - $75 = $74 << 24; - $76 = $6&255; - $77 = $76 << 16; - $78 = $77 | $75; - $79 = $12&255; - $80 = $79 << 8; - $81 = $78 | $80; - $82 = $38&255; - $83 = $81 | $82; - $84 = HEAP8[$3>>0]|0; - $85 = $84&255; - $86 = $85 << 24; - $87 = $9&255; - $88 = $87 << 16; - $89 = $35&255; - $90 = $89 << 8; - $91 = $69&255; - $92 = $90 | $88; - $93 = $92 | $91; - $94 = $93 | $86; - $95 = ($94|0)==($83|0); - if ($95) { - $$0$lcssa$i11 = $68;$$lcssa$i10 = $69; - } else { - $$02$i7 = $68;$hw$03$i6 = $94; - while(1) { - $96 = $hw$03$i6 << 8; - $97 = ((($$02$i7)) + 1|0); - $98 = HEAP8[$97>>0]|0; - $99 = $98&255; - $100 = $99 | $96; - $101 = ($98<<24>>24)==(0); - $102 = ($100|0)==($83|0); - $or$cond$i8 = $101 | $102; - if ($or$cond$i8) { - $$0$lcssa$i11 = $97;$$lcssa$i10 = $98; - break; - } else { - $$02$i7 = $97;$hw$03$i6 = $100; - } - } - } - $103 = ($$lcssa$i10<<24>>24)!=(0); - $104 = ((($$0$lcssa$i11)) + -3|0); - $105 = $103 ? $104 : 0; - $$0 = $105; - break; - } - ;HEAP32[$byteset$i>>2]=0|0;HEAP32[$byteset$i+4>>2]=0|0;HEAP32[$byteset$i+8>>2]=0|0;HEAP32[$byteset$i+12>>2]=0|0;HEAP32[$byteset$i+16>>2]=0|0;HEAP32[$byteset$i+20>>2]=0|0;HEAP32[$byteset$i+24>>2]=0|0;HEAP32[$byteset$i+28>>2]=0|0; - $110 = $0;$l$080$i = 0; - while(1) { - $106 = (($3) + ($l$080$i)|0); - $107 = HEAP8[$106>>0]|0; - $108 = ($107<<24>>24)==(0); - if ($108) { - $$0$i = 0; - break; - } - $109 = $110 & 31; - $111 = $109&255; - $112 = 1 << $111; - $div4$i = ($110&255) >>> 5; - $113 = $div4$i&255; - $114 = (($byteset$i) + ($113<<2)|0); - $115 = HEAP32[$114>>2]|0; - $116 = $115 | $112; - HEAP32[$114>>2] = $116; - $117 = (($l$080$i) + 1)|0; - $118 = $110&255; - $119 = (($shift$i) + ($118<<2)|0); - HEAP32[$119>>2] = $117; - $120 = (($n) + ($117)|0); - $121 = HEAP8[$120>>0]|0; - $122 = ($121<<24>>24)==(0); - if ($122) { - $$lcssa322 = $117;$l$080$i$lcssa321 = $l$080$i; - label = 23; - break; - } else { - $110 = $121;$l$080$i = $117; - } - } - L32: do { - if ((label|0) == 23) { - $123 = ($$lcssa322>>>0)>(1); - L34: do { - if ($123) { - $234 = 1;$ip$0$ph76$i = -1;$jp$0$ph77$i = 0; - L35: while(1) { - $235 = $234;$jp$0$ph13$ph70$i = $jp$0$ph77$i;$p$0$ph$ph71$i = 1; - while(1) { - $236 = $235;$jp$0$ph1365$i = $jp$0$ph13$ph70$i; - L39: while(1) { - $133 = $236;$k$059$i = 1; - while(1) { - $129 = (($k$059$i) + ($ip$0$ph76$i))|0; - $130 = (($n) + ($129)|0); - $131 = HEAP8[$130>>0]|0; - $132 = (($n) + ($133)|0); - $134 = HEAP8[$132>>0]|0; - $135 = ($131<<24>>24)==($134<<24>>24); - if (!($135)) { - $$lcssa301 = $133;$$lcssa304 = $131;$$lcssa307 = $134;$jp$0$ph1365$i$lcssa = $jp$0$ph1365$i; - break L39; - } - $136 = ($k$059$i|0)==($p$0$ph$ph71$i|0); - $127 = (($k$059$i) + 1)|0; - if ($136) { - break; - } - $126 = (($127) + ($jp$0$ph1365$i))|0; - $128 = ($126>>>0)<($$lcssa322>>>0); - if ($128) { - $133 = $126;$k$059$i = $127; - } else { - $ip$0$ph$lcssa$i = $ip$0$ph76$i;$p$0$ph$ph$lcssa32$i = $p$0$ph$ph71$i; - break L35; - } - } - $137 = (($jp$0$ph1365$i) + ($p$0$ph$ph71$i))|0; - $138 = (($137) + 1)|0; - $139 = ($138>>>0)<($$lcssa322>>>0); - if ($139) { - $236 = $138;$jp$0$ph1365$i = $137; - } else { - $ip$0$ph$lcssa$i = $ip$0$ph76$i;$p$0$ph$ph$lcssa32$i = $p$0$ph$ph71$i; - break L35; - } - } - $140 = ($$lcssa304&255)>($$lcssa307&255); - $141 = (($$lcssa301) - ($ip$0$ph76$i))|0; - if (!($140)) { - $jp$0$ph1365$i$lcssa$lcssa = $jp$0$ph1365$i$lcssa; - break; - } - $124 = (($$lcssa301) + 1)|0; - $125 = ($124>>>0)<($$lcssa322>>>0); - if ($125) { - $235 = $124;$jp$0$ph13$ph70$i = $$lcssa301;$p$0$ph$ph71$i = $141; - } else { - $ip$0$ph$lcssa$i = $ip$0$ph76$i;$p$0$ph$ph$lcssa32$i = $141; - break L35; - } - } - $142 = (($jp$0$ph1365$i$lcssa$lcssa) + 1)|0; - $143 = (($jp$0$ph1365$i$lcssa$lcssa) + 2)|0; - $144 = ($143>>>0)<($$lcssa322>>>0); - if ($144) { - $234 = $143;$ip$0$ph76$i = $jp$0$ph1365$i$lcssa$lcssa;$jp$0$ph77$i = $142; - } else { - $ip$0$ph$lcssa$i = $jp$0$ph1365$i$lcssa$lcssa;$p$0$ph$ph$lcssa32$i = 1; - break; - } - } - $237 = 1;$ip$1$ph55$i = -1;$jp$1$ph56$i = 0; - while(1) { - $239 = $237;$jp$1$ph9$ph49$i = $jp$1$ph56$i;$p$1$ph$ph50$i = 1; - while(1) { - $238 = $239;$jp$1$ph944$i = $jp$1$ph9$ph49$i; - L54: while(1) { - $152 = $238;$k$139$i = 1; - while(1) { - $148 = (($k$139$i) + ($ip$1$ph55$i))|0; - $149 = (($n) + ($148)|0); - $150 = HEAP8[$149>>0]|0; - $151 = (($n) + ($152)|0); - $153 = HEAP8[$151>>0]|0; - $154 = ($150<<24>>24)==($153<<24>>24); - if (!($154)) { - $$lcssa281 = $152;$$lcssa284 = $150;$$lcssa287 = $153;$jp$1$ph944$i$lcssa = $jp$1$ph944$i; - break L54; - } - $155 = ($k$139$i|0)==($p$1$ph$ph50$i|0); - $146 = (($k$139$i) + 1)|0; - if ($155) { - break; - } - $145 = (($146) + ($jp$1$ph944$i))|0; - $147 = ($145>>>0)<($$lcssa322>>>0); - if ($147) { - $152 = $145;$k$139$i = $146; - } else { - $ip$0$ph$lcssa143$i = $ip$0$ph$lcssa$i;$ip$1$ph$lcssa$i = $ip$1$ph55$i;$p$0$ph$ph$lcssa32147$i = $p$0$ph$ph$lcssa32$i;$p$1$ph$ph$lcssa23$i = $p$1$ph$ph50$i; - break L34; - } - } - $156 = (($jp$1$ph944$i) + ($p$1$ph$ph50$i))|0; - $157 = (($156) + 1)|0; - $158 = ($157>>>0)<($$lcssa322>>>0); - if ($158) { - $238 = $157;$jp$1$ph944$i = $156; - } else { - $ip$0$ph$lcssa143$i = $ip$0$ph$lcssa$i;$ip$1$ph$lcssa$i = $ip$1$ph55$i;$p$0$ph$ph$lcssa32147$i = $p$0$ph$ph$lcssa32$i;$p$1$ph$ph$lcssa23$i = $p$1$ph$ph50$i; - break L34; - } - } - $159 = ($$lcssa284&255)<($$lcssa287&255); - $160 = (($$lcssa281) - ($ip$1$ph55$i))|0; - if (!($159)) { - $jp$1$ph944$i$lcssa$lcssa = $jp$1$ph944$i$lcssa; - break; - } - $164 = (($$lcssa281) + 1)|0; - $165 = ($164>>>0)<($$lcssa322>>>0); - if ($165) { - $239 = $164;$jp$1$ph9$ph49$i = $$lcssa281;$p$1$ph$ph50$i = $160; - } else { - $ip$0$ph$lcssa143$i = $ip$0$ph$lcssa$i;$ip$1$ph$lcssa$i = $ip$1$ph55$i;$p$0$ph$ph$lcssa32147$i = $p$0$ph$ph$lcssa32$i;$p$1$ph$ph$lcssa23$i = $160; - break L34; - } - } - $161 = (($jp$1$ph944$i$lcssa$lcssa) + 1)|0; - $162 = (($jp$1$ph944$i$lcssa$lcssa) + 2)|0; - $163 = ($162>>>0)<($$lcssa322>>>0); - if ($163) { - $237 = $162;$ip$1$ph55$i = $jp$1$ph944$i$lcssa$lcssa;$jp$1$ph56$i = $161; - } else { - $ip$0$ph$lcssa143$i = $ip$0$ph$lcssa$i;$ip$1$ph$lcssa$i = $jp$1$ph944$i$lcssa$lcssa;$p$0$ph$ph$lcssa32147$i = $p$0$ph$ph$lcssa32$i;$p$1$ph$ph$lcssa23$i = 1; - break; - } - } - } else { - $ip$0$ph$lcssa143$i = -1;$ip$1$ph$lcssa$i = -1;$p$0$ph$ph$lcssa32147$i = 1;$p$1$ph$ph$lcssa23$i = 1; - } - } while(0); - $166 = (($ip$1$ph$lcssa$i) + 1)|0; - $167 = (($ip$0$ph$lcssa143$i) + 1)|0; - $168 = ($166>>>0)>($167>>>0); - $p$1$p$0$i = $168 ? $p$1$ph$ph$lcssa23$i : $p$0$ph$ph$lcssa32147$i; - $ip$1$ip$0$i = $168 ? $ip$1$ph$lcssa$i : $ip$0$ph$lcssa143$i; - $169 = (($n) + ($p$1$p$0$i)|0); - $170 = (($ip$1$ip$0$i) + 1)|0; - $171 = (_memcmp($n,$169,$170)|0); - $172 = ($171|0)==(0); - if ($172) { - $177 = (($$lcssa322) - ($p$1$p$0$i))|0; - $mem0$0$i = $177;$p$3$i = $p$1$p$0$i; - } else { - $173 = (($$lcssa322) - ($ip$1$ip$0$i))|0; - $174 = (($173) + -1)|0; - $175 = ($ip$1$ip$0$i>>>0)>($174>>>0); - $ip$1$ip$0$$i = $175 ? $ip$1$ip$0$i : $174; - $176 = (($ip$1$ip$0$$i) + 1)|0; - $mem0$0$i = 0;$p$3$i = $176; - } - $178 = $$lcssa322 | 63; - $179 = ($mem0$0$i|0)!=(0); - $180 = (($$lcssa322) - ($p$3$i))|0; - $$03$i = $3;$mem$0$i = 0;$z$0$i = $3; - L69: while(1) { - $181 = $z$0$i; - $182 = $$03$i; - $183 = (($181) - ($182))|0; - $184 = ($183>>>0)<($$lcssa322>>>0); - do { - if ($184) { - $185 = (_memchr($z$0$i,0,$178)|0); - $186 = ($185|0)==(0|0); - if ($186) { - $190 = (($z$0$i) + ($178)|0); - $z$1$i = $190; - break; - } else { - $187 = $185; - $188 = (($187) - ($182))|0; - $189 = ($188>>>0)<($$lcssa322>>>0); - if ($189) { - $$0$i = 0; - break L32; - } else { - $z$1$i = $185; - break; - } - } - } else { - $z$1$i = $z$0$i; - } - } while(0); - $191 = (($$03$i) + ($l$080$i$lcssa321)|0); - $192 = HEAP8[$191>>0]|0; - $div$i = ($192&255) >>> 5; - $193 = $div$i&255; - $194 = (($byteset$i) + ($193<<2)|0); - $195 = HEAP32[$194>>2]|0; - $196 = $192 & 31; - $197 = $196&255; - $198 = 1 << $197; - $199 = $198 & $195; - $200 = ($199|0)==(0); - if ($200) { - $209 = (($$03$i) + ($$lcssa322)|0); - $$03$i = $209;$mem$0$i = 0;$z$0$i = $z$1$i; - continue; - } - $201 = $192&255; - $202 = (($shift$i) + ($201<<2)|0); - $203 = HEAP32[$202>>2]|0; - $204 = (($$lcssa322) - ($203))|0; - $205 = ($$lcssa322|0)==($203|0); - if (!($205)) { - $206 = ($mem$0$i|0)!=(0); - $or$cond$i = $179 & $206; - $207 = ($204>>>0)<($p$3$i>>>0); - $or$cond5$i = $or$cond$i & $207; - $k$2$i = $or$cond5$i ? $180 : $204; - $208 = (($$03$i) + ($k$2$i)|0); - $$03$i = $208;$mem$0$i = 0;$z$0$i = $z$1$i; - continue; - } - $210 = ($170>>>0)>($mem$0$i>>>0); - $211 = $210 ? $170 : $mem$0$i; - $212 = (($n) + ($211)|0); - $213 = HEAP8[$212>>0]|0; - $214 = ($213<<24>>24)==(0); - L83: do { - if ($214) { - $k$4$i = $170; - } else { - $$pr$i = $213;$k$338$i = $211; - while(1) { - $215 = (($$03$i) + ($k$338$i)|0); - $216 = HEAP8[$215>>0]|0; - $217 = ($$pr$i<<24>>24)==($216<<24>>24); - if (!($217)) { - $k$338$i$lcssa = $k$338$i; - break; - } - $218 = (($k$338$i) + 1)|0; - $219 = (($n) + ($218)|0); - $220 = HEAP8[$219>>0]|0; - $221 = ($220<<24>>24)==(0); - if ($221) { - $k$4$i = $170; - break L83; - } else { - $$pr$i = $220;$k$338$i = $218; - } - } - $222 = (($k$338$i$lcssa) - ($ip$1$ip$0$i))|0; - $223 = (($$03$i) + ($222)|0); - $$03$i = $223;$mem$0$i = 0;$z$0$i = $z$1$i; - continue L69; - } - } while(0); - while(1) { - $224 = ($k$4$i>>>0)>($mem$0$i>>>0); - if (!($224)) { - $$0$i = $$03$i; - break L32; - } - $225 = (($k$4$i) + -1)|0; - $226 = (($n) + ($225)|0); - $227 = HEAP8[$226>>0]|0; - $228 = (($$03$i) + ($225)|0); - $229 = HEAP8[$228>>0]|0; - $230 = ($227<<24>>24)==($229<<24>>24); - if ($230) { - $k$4$i = $225; - } else { - break; - } - } - $231 = (($$03$i) + ($p$3$i)|0); - $$03$i = $231;$mem$0$i = $mem0$0$i;$z$0$i = $z$1$i; - } - } - } while(0); - $$0 = $$0$i; - } - } - } - } - } - } - } while(0); - STACKTOP = sp;return ($$0|0); -} -function _strtok($s,$sep) { - $s = $s|0; - $sep = $sep|0; - var $$0 = 0, $$01 = 0, $$sum = 0, $$sum2 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ($s|0)==(0|0); - if ($0) { - $1 = HEAP32[8948>>2]|0; - $2 = ($1|0)==(0|0); - if ($2) { - $$0 = 0; - } else { - $$01 = $1; - label = 3; - } - } else { - $$01 = $s; - label = 3; - } - do { - if ((label|0) == 3) { - $3 = (_strspn($$01,$sep)|0); - $4 = (($$01) + ($3)|0); - $5 = HEAP8[$4>>0]|0; - $6 = ($5<<24>>24)==(0); - if ($6) { - HEAP32[8948>>2] = 0; - $$0 = 0; - break; - } - $7 = (_strcspn($4,$sep)|0); - $$sum = (($7) + ($3))|0; - $8 = (($$01) + ($$sum)|0); - HEAP32[8948>>2] = $8; - $9 = HEAP8[$8>>0]|0; - $10 = ($9<<24>>24)==(0); - if ($10) { - HEAP32[8948>>2] = 0; - $$0 = $4; - break; - } else { - $$sum2 = (($$sum) + 1)|0; - $11 = (($$01) + ($$sum2)|0); - HEAP32[8948>>2] = $11; - HEAP8[$8>>0] = 0; - $$0 = $4; - break; - } - } - } while(0); - return ($$0|0); -} -function _scanexp($f,$pok) { - $f = $f|0; - $pok = $pok|0; - var $$lcssa22 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; - var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0; - var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0; - var $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0; - var $99 = 0, $c$0 = 0, $c$1$be = 0, $c$1$be$lcssa = 0, $c$112 = 0, $c$2$be = 0, $c$2$lcssa = 0, $c$27 = 0, $c$3$be = 0, $neg$0 = 0, $or$cond3 = 0, $x$013 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($f)) + 4|0); - $1 = HEAP32[$0>>2]|0; - $2 = ((($f)) + 100|0); - $3 = HEAP32[$2>>2]|0; - $4 = ($1>>>0)<($3>>>0); - if ($4) { - $5 = ((($1)) + 1|0); - HEAP32[$0>>2] = $5; - $6 = HEAP8[$1>>0]|0; - $7 = $6&255; - $9 = $7; - } else { - $8 = (___shgetc($f)|0); - $9 = $8; - } - $10 = ($9|0)==(45); - switch ($9|0) { - case 43: case 45: { - $11 = $10&1; - $12 = HEAP32[$0>>2]|0; - $13 = HEAP32[$2>>2]|0; - $14 = ($12>>>0)<($13>>>0); - if ($14) { - $15 = ((($12)) + 1|0); - HEAP32[$0>>2] = $15; - $16 = HEAP8[$12>>0]|0; - $17 = $16&255; - $20 = $17; - } else { - $18 = (___shgetc($f)|0); - $20 = $18; - } - $19 = (($20) + -48)|0; - $21 = ($19>>>0)>(9); - $22 = ($pok|0)!=(0); - $or$cond3 = $22 & $21; - if ($or$cond3) { - $23 = HEAP32[$2>>2]|0; - $24 = ($23|0)==(0|0); - if ($24) { - $c$0 = $20;$neg$0 = $11; - } else { - $25 = HEAP32[$0>>2]|0; - $26 = ((($25)) + -1|0); - HEAP32[$0>>2] = $26; - $c$0 = $20;$neg$0 = $11; - } - } else { - $c$0 = $20;$neg$0 = $11; - } - break; - } - default: { - $c$0 = $9;$neg$0 = 0; - } - } - $27 = (($c$0) + -48)|0; - $28 = ($27>>>0)>(9); - if ($28) { - $29 = HEAP32[$2>>2]|0; - $30 = ($29|0)==(0|0); - if ($30) { - $98 = -2147483648;$99 = 0; - } else { - $31 = HEAP32[$0>>2]|0; - $32 = ((($31)) + -1|0); - HEAP32[$0>>2] = $32; - $98 = -2147483648;$99 = 0; - } - } else { - $c$112 = $c$0;$x$013 = 0; - while(1) { - $33 = ($x$013*10)|0; - $34 = (($c$112) + -48)|0; - $35 = (($34) + ($33))|0; - $36 = HEAP32[$0>>2]|0; - $37 = HEAP32[$2>>2]|0; - $38 = ($36>>>0)<($37>>>0); - if ($38) { - $39 = ((($36)) + 1|0); - HEAP32[$0>>2] = $39; - $40 = HEAP8[$36>>0]|0; - $41 = $40&255; - $c$1$be = $41; - } else { - $42 = (___shgetc($f)|0); - $c$1$be = $42; - } - $43 = (($c$1$be) + -48)|0; - $44 = ($43>>>0)<(10); - $45 = ($35|0)<(214748364); - $46 = $44 & $45; - if ($46) { - $c$112 = $c$1$be;$x$013 = $35; - } else { - $$lcssa22 = $35;$c$1$be$lcssa = $c$1$be; - break; - } - } - $47 = ($$lcssa22|0)<(0); - $48 = $47 << 31 >> 31; - $49 = (($c$1$be$lcssa) + -48)|0; - $50 = ($49>>>0)<(10); - if ($50) { - $53 = $$lcssa22;$54 = $48;$c$27 = $c$1$be$lcssa; - while(1) { - $55 = (___muldi3(($53|0),($54|0),10,0)|0); - $56 = tempRet0; - $57 = ($c$27|0)<(0); - $58 = $57 << 31 >> 31; - $59 = (_i64Add(($c$27|0),($58|0),-48,-1)|0); - $60 = tempRet0; - $61 = (_i64Add(($59|0),($60|0),($55|0),($56|0))|0); - $62 = tempRet0; - $63 = HEAP32[$0>>2]|0; - $64 = HEAP32[$2>>2]|0; - $65 = ($63>>>0)<($64>>>0); - if ($65) { - $66 = ((($63)) + 1|0); - HEAP32[$0>>2] = $66; - $67 = HEAP8[$63>>0]|0; - $68 = $67&255; - $c$2$be = $68; - } else { - $69 = (___shgetc($f)|0); - $c$2$be = $69; - } - $70 = (($c$2$be) + -48)|0; - $71 = ($70>>>0)<(10); - $72 = ($62|0)<(21474836); - $73 = ($61>>>0)<(2061584302); - $74 = ($62|0)==(21474836); - $75 = $74 & $73; - $76 = $72 | $75; - $77 = $71 & $76; - if ($77) { - $53 = $61;$54 = $62;$c$27 = $c$2$be; - } else { - $92 = $61;$93 = $62;$c$2$lcssa = $c$2$be; - break; - } - } - } else { - $92 = $$lcssa22;$93 = $48;$c$2$lcssa = $c$1$be$lcssa; - } - $51 = (($c$2$lcssa) + -48)|0; - $52 = ($51>>>0)<(10); - if ($52) { - while(1) { - $78 = HEAP32[$0>>2]|0; - $79 = HEAP32[$2>>2]|0; - $80 = ($78>>>0)<($79>>>0); - if ($80) { - $81 = ((($78)) + 1|0); - HEAP32[$0>>2] = $81; - $82 = HEAP8[$78>>0]|0; - $83 = $82&255; - $c$3$be = $83; - } else { - $84 = (___shgetc($f)|0); - $c$3$be = $84; - } - $85 = (($c$3$be) + -48)|0; - $86 = ($85>>>0)<(10); - if (!($86)) { - break; - } - } - } - $87 = HEAP32[$2>>2]|0; - $88 = ($87|0)==(0|0); - if (!($88)) { - $89 = HEAP32[$0>>2]|0; - $90 = ((($89)) + -1|0); - HEAP32[$0>>2] = $90; - } - $91 = ($neg$0|0)!=(0); - $94 = (_i64Subtract(0,0,($92|0),($93|0))|0); - $95 = tempRet0; - $96 = $91 ? $94 : $92; - $97 = $91 ? $95 : $93; - $98 = $97;$99 = $96; - } - tempRet0 = ($98); - return ($99|0); -} -function ___fflush_unlocked($f) { - $f = $f|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; - var $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($f)) + 20|0); - $1 = HEAP32[$0>>2]|0; - $2 = ((($f)) + 28|0); - $3 = HEAP32[$2>>2]|0; - $4 = ($1>>>0)>($3>>>0); - if ($4) { - $5 = ((($f)) + 36|0); - $6 = HEAP32[$5>>2]|0; - (FUNCTION_TABLE_iiii[$6 & 15]($f,0,0)|0); - $7 = HEAP32[$0>>2]|0; - $8 = ($7|0)==(0|0); - if ($8) { - $$0 = -1; - } else { - label = 3; - } - } else { - label = 3; - } - if ((label|0) == 3) { - $9 = ((($f)) + 4|0); - $10 = HEAP32[$9>>2]|0; - $11 = ((($f)) + 8|0); - $12 = HEAP32[$11>>2]|0; - $13 = ($10>>>0)<($12>>>0); - if ($13) { - $14 = ((($f)) + 40|0); - $15 = HEAP32[$14>>2]|0; - $16 = $10; - $17 = $12; - $18 = (($16) - ($17))|0; - (FUNCTION_TABLE_iiii[$15 & 15]($f,$18,1)|0); - } - $19 = ((($f)) + 16|0); - HEAP32[$19>>2] = 0; - HEAP32[$2>>2] = 0; - HEAP32[$0>>2] = 0; - HEAP32[$11>>2] = 0; - HEAP32[$9>>2] = 0; - $$0 = 0; - } - return ($$0|0); -} -function _printf_core($f,$fmt,$ap,$nl_arg,$nl_type) { - $f = $f|0; - $fmt = $fmt|0; - $ap = $ap|0; - $nl_arg = $nl_arg|0; - $nl_type = $nl_type|0; - var $$ = 0, $$$i = 0, $$0 = 0, $$0$i = 0, $$0$lcssa$i = 0, $$012$i = 0, $$013$i = 0, $$03$i33 = 0, $$07$i = 0.0, $$1$i = 0.0, $$114$i = 0, $$2$i = 0.0, $$20$i = 0.0, $$21$i = 0, $$210$$22$i = 0, $$210$$24$i = 0, $$210$i = 0, $$23$i = 0, $$3$i = 0.0, $$31$i = 0; - var $$311$i = 0, $$4$i = 0.0, $$412$lcssa$i = 0, $$41276$i = 0, $$5$lcssa$i = 0, $$51 = 0, $$587$i = 0, $$a$3$i = 0, $$a$3185$i = 0, $$a$3186$i = 0, $$fl$4 = 0, $$l10n$0 = 0, $$lcssa = 0, $$lcssa159$i = 0, $$lcssa318 = 0, $$lcssa323 = 0, $$lcssa324 = 0, $$lcssa325 = 0, $$lcssa326 = 0, $$lcssa327 = 0; - var $$lcssa329 = 0, $$lcssa339 = 0, $$lcssa342 = 0.0, $$lcssa344 = 0, $$neg52$i = 0, $$neg53$i = 0, $$p$$i = 0, $$p$0 = 0, $$p$5 = 0, $$p$i = 0, $$pn$i = 0, $$pr$i = 0, $$pr47$i = 0, $$pre = 0, $$pre$i = 0, $$pre$phi184$iZ2D = 0, $$pre179$i = 0, $$pre182$i = 0, $$pre183$i = 0, $$pre193 = 0; - var $$sum$i = 0, $$sum15$i = 0, $$sum16$i = 0, $$z$3$i = 0, $$z$4$i = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0; - var $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0; - var $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0; - var $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0; - var $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0; - var $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0; - var $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0; - var $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0; - var $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0; - var $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0; - var $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0; - var $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0; - var $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0; - var $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0; - var $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0.0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0.0; - var $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0; - var $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0.0, $392 = 0.0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0; - var $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0.0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0.0, $412 = 0.0, $413 = 0.0, $414 = 0.0, $415 = 0.0, $416 = 0.0, $417 = 0; - var $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0; - var $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0, $442 = 0.0, $443 = 0.0, $444 = 0.0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0; - var $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0; - var $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0.0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0.0, $486 = 0.0, $487 = 0.0, $488 = 0, $489 = 0, $49 = 0; - var $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0; - var $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0; - var $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0, $531 = 0, $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0; - var $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0, $549 = 0, $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0, $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0; - var $562 = 0, $563 = 0, $564 = 0, $565 = 0, $566 = 0, $567 = 0, $568 = 0, $569 = 0, $57 = 0, $570 = 0, $571 = 0, $572 = 0, $573 = 0, $574 = 0, $575 = 0, $576 = 0, $577 = 0, $578 = 0, $579 = 0, $58 = 0; - var $580 = 0, $581 = 0, $582 = 0, $583 = 0, $584 = 0, $585 = 0, $586 = 0, $587 = 0, $588 = 0, $589 = 0, $59 = 0, $590 = 0, $591 = 0, $592 = 0, $593 = 0, $594 = 0, $595 = 0, $596 = 0.0, $597 = 0.0, $598 = 0; - var $599 = 0.0, $6 = 0, $60 = 0, $600 = 0, $601 = 0, $602 = 0, $603 = 0, $604 = 0, $605 = 0, $606 = 0, $607 = 0, $608 = 0, $609 = 0, $61 = 0, $610 = 0, $611 = 0, $612 = 0, $613 = 0, $614 = 0, $615 = 0; - var $616 = 0, $617 = 0, $618 = 0, $619 = 0, $62 = 0, $620 = 0, $621 = 0, $622 = 0, $623 = 0, $624 = 0, $625 = 0, $626 = 0, $627 = 0, $628 = 0, $629 = 0, $63 = 0, $630 = 0, $631 = 0, $632 = 0, $633 = 0; - var $634 = 0, $635 = 0, $636 = 0, $637 = 0, $638 = 0, $639 = 0, $64 = 0, $640 = 0, $641 = 0, $642 = 0, $643 = 0, $644 = 0, $645 = 0, $646 = 0, $647 = 0, $648 = 0, $649 = 0, $65 = 0, $650 = 0, $651 = 0; - var $652 = 0, $653 = 0, $654 = 0, $655 = 0, $656 = 0, $657 = 0, $658 = 0, $659 = 0, $66 = 0, $660 = 0, $661 = 0, $662 = 0, $663 = 0, $664 = 0, $665 = 0, $666 = 0, $667 = 0, $668 = 0, $669 = 0, $67 = 0; - var $670 = 0, $671 = 0, $672 = 0, $673 = 0, $674 = 0, $675 = 0, $676 = 0, $677 = 0, $678 = 0, $679 = 0, $68 = 0, $680 = 0, $681 = 0, $682 = 0, $683 = 0, $684 = 0, $685 = 0, $686 = 0, $687 = 0, $688 = 0; - var $689 = 0, $69 = 0, $690 = 0, $691 = 0, $692 = 0, $693 = 0, $694 = 0, $695 = 0, $696 = 0, $697 = 0, $698 = 0, $699 = 0, $7 = 0, $70 = 0, $700 = 0, $701 = 0, $702 = 0, $703 = 0, $704 = 0, $705 = 0; - var $706 = 0, $707 = 0, $708 = 0, $709 = 0, $71 = 0, $710 = 0, $711 = 0, $712 = 0, $713 = 0, $714 = 0, $715 = 0, $716 = 0, $717 = 0, $718 = 0, $719 = 0, $72 = 0, $720 = 0, $721 = 0, $722 = 0, $723 = 0; - var $724 = 0, $725 = 0, $726 = 0, $727 = 0, $728 = 0, $729 = 0, $73 = 0, $730 = 0, $731 = 0, $732 = 0, $733 = 0, $734 = 0, $735 = 0, $736 = 0, $737 = 0, $738 = 0, $739 = 0, $74 = 0, $740 = 0, $741 = 0; - var $742 = 0, $743 = 0, $744 = 0, $745 = 0, $746 = 0, $747 = 0, $748 = 0, $749 = 0, $75 = 0, $750 = 0, $751 = 0, $752 = 0, $753 = 0, $754 = 0, $755 = 0, $756 = 0, $757 = 0, $758 = 0, $759 = 0, $76 = 0; - var $760 = 0, $761 = 0, $762 = 0, $763 = 0, $764 = 0, $765 = 0, $766 = 0, $767 = 0, $768 = 0, $769 = 0, $77 = 0, $770 = 0, $771 = 0, $772 = 0, $773 = 0, $774 = 0, $775 = 0, $776 = 0, $777 = 0, $778 = 0; - var $779 = 0, $78 = 0, $780 = 0, $781 = 0, $782 = 0, $783 = 0, $784 = 0, $785 = 0, $786 = 0, $787 = 0, $788 = 0, $789 = 0, $79 = 0, $790 = 0, $791 = 0, $792 = 0, $793 = 0, $794 = 0, $795 = 0, $796 = 0; - var $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0; - var $98 = 0, $99 = 0, $a$0 = 0, $a$1 = 0, $a$1$lcssa$i = 0, $a$1147$i = 0, $a$2 = 0, $a$2$ph$i = 0, $a$3$lcssa$i = 0, $a$3134$i = 0, $a$5$lcssa$i = 0, $a$5109$i = 0, $a$6$i = 0, $a$7$i = 0, $a$8$ph$i = 0, $arg = 0, $arglist_current = 0, $arglist_current2 = 0, $arglist_next = 0, $arglist_next3 = 0; - var $argpos$0 = 0, $big$i = 0, $buf = 0, $buf$i = 0, $carry$0140$i = 0, $carry3$0128$i = 0, $cnt$0 = 0, $cnt$1 = 0, $cnt$1$lcssa = 0, $d$0$i = 0, $d$0139$i = 0, $d$0141$i = 0, $d$1127$i = 0, $d$2$lcssa$i = 0, $d$2108$i = 0, $d$3$i = 0, $d$482$i = 0, $d$575$i = 0, $d$686$i = 0, $e$0123$i = 0; - var $e$1$i = 0, $e$2104$i = 0, $e$3$i = 0, $e$4$ph$i = 0, $e2$i = 0, $ebuf0$i = 0, $estr$0$i = 0, $estr$1$lcssa$i = 0, $estr$193$i = 0, $estr$2$i = 0, $exitcond$i = 0, $expanded = 0, $expanded10 = 0, $expanded11 = 0, $expanded13 = 0, $expanded14 = 0, $expanded15 = 0, $expanded4 = 0, $expanded6 = 0, $expanded7 = 0; - var $expanded8 = 0, $fl$0109 = 0, $fl$062 = 0, $fl$1 = 0, $fl$1$ = 0, $fl$3 = 0, $fl$4 = 0, $fl$6 = 0, $fmt39$lcssa = 0, $fmt39101 = 0, $fmt40 = 0, $fmt41 = 0, $fmt42 = 0, $fmt44 = 0, $fmt44$lcssa321 = 0, $fmt45 = 0, $i$0$lcssa = 0, $i$0$lcssa200 = 0, $i$0114 = 0, $i$0122$i = 0; - var $i$03$i = 0, $i$03$i25 = 0, $i$1$lcssa$i = 0, $i$1116$i = 0, $i$1125 = 0, $i$2100 = 0, $i$2100$lcssa = 0, $i$2103$i = 0, $i$398 = 0, $i$399$i = 0, $isdigit = 0, $isdigit$i = 0, $isdigit$i27 = 0, $isdigit10 = 0, $isdigit12 = 0, $isdigit2$i = 0, $isdigit2$i23 = 0, $isdigittmp = 0, $isdigittmp$ = 0, $isdigittmp$i = 0; - var $isdigittmp$i26 = 0, $isdigittmp1$i = 0, $isdigittmp1$i22 = 0, $isdigittmp11 = 0, $isdigittmp4$i = 0, $isdigittmp4$i24 = 0, $isdigittmp9 = 0, $j$0$i = 0, $j$0115$i = 0, $j$0117$i = 0, $j$1100$i = 0, $j$2$i = 0, $l$0 = 0, $l$0$i = 0, $l$1$i = 0, $l$1113 = 0, $l$2 = 0, $l10n$0 = 0, $l10n$0$lcssa = 0, $l10n$0$phi = 0; - var $l10n$1 = 0, $l10n$2 = 0, $l10n$3 = 0, $mb = 0, $notlhs$i = 0, $notrhs$i = 0, $or$cond = 0, $or$cond$i = 0, $or$cond15 = 0, $or$cond17 = 0, $or$cond20 = 0, $or$cond240 = 0, $or$cond29$i = 0, $or$cond3$not$i = 0, $or$cond6$i = 0, $p$0 = 0, $p$1 = 0, $p$2 = 0, $p$2$ = 0, $p$3 = 0; - var $p$4198 = 0, $p$5 = 0, $pl$0 = 0, $pl$0$i = 0, $pl$1 = 0, $pl$1$i = 0, $pl$2 = 0, $prefix$0 = 0, $prefix$0$$i = 0, $prefix$0$i = 0, $prefix$1 = 0, $prefix$2 = 0, $r$0$a$8$i = 0, $re$169$i = 0, $round$068$i = 0.0, $round6$1$i = 0.0, $s$0$i = 0, $s$1$i = 0, $s$1$i$lcssa = 0, $s1$0$i = 0; - var $s7$079$i = 0, $s7$1$i = 0, $s8$0$lcssa$i = 0, $s8$070$i = 0, $s9$0$i = 0, $s9$183$i = 0, $s9$2$i = 0, $small$0$i = 0.0, $small$1$i = 0.0, $st$0 = 0, $st$0$lcssa322 = 0, $storemerge = 0, $storemerge13 = 0, $storemerge8108 = 0, $storemerge860 = 0, $sum = 0, $t$0 = 0, $t$1 = 0, $w$$i = 0, $w$0 = 0; - var $w$1 = 0, $w$2 = 0, $w$30$i = 0, $wc = 0, $ws$0115 = 0, $ws$1126 = 0, $z$0$i = 0, $z$0$lcssa = 0, $z$0102 = 0, $z$1 = 0, $z$1$lcssa$i = 0, $z$1146$i = 0, $z$2 = 0, $z$2$i = 0, $z$2$i$lcssa = 0, $z$3$lcssa$i = 0, $z$3133$i = 0, $z$4$i = 0, $z$6$$i = 0, $z$6$i = 0; - var $z$6$i$lcssa = 0, $z$6$ph$i = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 624|0; - $big$i = sp + 24|0; - $e2$i = sp + 16|0; - $buf$i = sp + 588|0; - $ebuf0$i = sp + 576|0; - $arg = sp; - $buf = sp + 536|0; - $wc = sp + 8|0; - $mb = sp + 528|0; - $0 = ($f|0)!=(0|0); - $1 = ((($buf)) + 40|0); - $2 = $1; - $3 = ((($buf)) + 39|0); - $4 = ((($wc)) + 4|0); - $5 = ((($ebuf0$i)) + 12|0); - $6 = ((($ebuf0$i)) + 11|0); - $7 = $buf$i; - $8 = $5; - $9 = (($8) - ($7))|0; - $10 = (-2 - ($7))|0; - $11 = (($8) + 2)|0; - $12 = ((($big$i)) + 288|0); - $13 = ((($buf$i)) + 9|0); - $14 = $13; - $15 = ((($buf$i)) + 8|0); - $cnt$0 = 0;$fmt41 = $fmt;$l$0 = 0;$l10n$0 = 0; - L1: while(1) { - $16 = ($cnt$0|0)>(-1); - do { - if ($16) { - $17 = (2147483647 - ($cnt$0))|0; - $18 = ($l$0|0)>($17|0); - if ($18) { - $19 = (___errno_location()|0); - HEAP32[$19>>2] = 75; - $cnt$1 = -1; - break; - } else { - $20 = (($l$0) + ($cnt$0))|0; - $cnt$1 = $20; - break; - } - } else { - $cnt$1 = $cnt$0; - } - } while(0); - $21 = HEAP8[$fmt41>>0]|0; - $22 = ($21<<24>>24)==(0); - if ($22) { - $cnt$1$lcssa = $cnt$1;$l10n$0$lcssa = $l10n$0; - label = 245; - break; - } else { - $23 = $21;$fmt40 = $fmt41; - } - L9: while(1) { - switch ($23<<24>>24) { - case 37: { - $fmt39101 = $fmt40;$z$0102 = $fmt40; - label = 9; - break L9; - break; - } - case 0: { - $fmt39$lcssa = $fmt40;$z$0$lcssa = $fmt40; - break L9; - break; - } - default: { - } - } - $24 = ((($fmt40)) + 1|0); - $$pre = HEAP8[$24>>0]|0; - $23 = $$pre;$fmt40 = $24; - } - L12: do { - if ((label|0) == 9) { - while(1) { - label = 0; - $25 = ((($fmt39101)) + 1|0); - $26 = HEAP8[$25>>0]|0; - $27 = ($26<<24>>24)==(37); - if (!($27)) { - $fmt39$lcssa = $fmt39101;$z$0$lcssa = $z$0102; - break L12; - } - $28 = ((($z$0102)) + 1|0); - $29 = ((($fmt39101)) + 2|0); - $30 = HEAP8[$29>>0]|0; - $31 = ($30<<24>>24)==(37); - if ($31) { - $fmt39101 = $29;$z$0102 = $28; - label = 9; - } else { - $fmt39$lcssa = $29;$z$0$lcssa = $28; - break; - } - } - } - } while(0); - $32 = $z$0$lcssa; - $33 = $fmt41; - $34 = (($32) - ($33))|0; - if ($0) { - $35 = HEAP32[$f>>2]|0; - $36 = $35 & 32; - $37 = ($36|0)==(0); - if ($37) { - (___fwritex($fmt41,$34,$f)|0); - } - } - $38 = ($z$0$lcssa|0)==($fmt41|0); - if (!($38)) { - $l10n$0$phi = $l10n$0;$cnt$0 = $cnt$1;$fmt41 = $fmt39$lcssa;$l$0 = $34;$l10n$0 = $l10n$0$phi; - continue; - } - $39 = ((($fmt39$lcssa)) + 1|0); - $40 = HEAP8[$39>>0]|0; - $41 = $40 << 24 >> 24; - $isdigittmp = (($41) + -48)|0; - $isdigit = ($isdigittmp>>>0)<(10); - if ($isdigit) { - $42 = ((($fmt39$lcssa)) + 2|0); - $43 = HEAP8[$42>>0]|0; - $44 = ($43<<24>>24)==(36); - $45 = ((($fmt39$lcssa)) + 3|0); - $$51 = $44 ? $45 : $39; - $$l10n$0 = $44 ? 1 : $l10n$0; - $isdigittmp$ = $44 ? $isdigittmp : -1; - $$pre193 = HEAP8[$$51>>0]|0; - $47 = $$pre193;$argpos$0 = $isdigittmp$;$l10n$1 = $$l10n$0;$storemerge = $$51; - } else { - $47 = $40;$argpos$0 = -1;$l10n$1 = $l10n$0;$storemerge = $39; - } - $46 = $47 << 24 >> 24; - $48 = $46 & -32; - $49 = ($48|0)==(32); - L25: do { - if ($49) { - $51 = $46;$56 = $47;$fl$0109 = 0;$storemerge8108 = $storemerge; - while(1) { - $50 = (($51) + -32)|0; - $52 = 1 << $50; - $53 = $52 & 75913; - $54 = ($53|0)==(0); - if ($54) { - $65 = $56;$fl$062 = $fl$0109;$storemerge860 = $storemerge8108; - break L25; - } - $55 = $56 << 24 >> 24; - $57 = (($55) + -32)|0; - $58 = 1 << $57; - $59 = $58 | $fl$0109; - $60 = ((($storemerge8108)) + 1|0); - $61 = HEAP8[$60>>0]|0; - $62 = $61 << 24 >> 24; - $63 = $62 & -32; - $64 = ($63|0)==(32); - if ($64) { - $51 = $62;$56 = $61;$fl$0109 = $59;$storemerge8108 = $60; - } else { - $65 = $61;$fl$062 = $59;$storemerge860 = $60; - break; - } - } - } else { - $65 = $47;$fl$062 = 0;$storemerge860 = $storemerge; - } - } while(0); - $66 = ($65<<24>>24)==(42); - do { - if ($66) { - $67 = ((($storemerge860)) + 1|0); - $68 = HEAP8[$67>>0]|0; - $69 = $68 << 24 >> 24; - $isdigittmp11 = (($69) + -48)|0; - $isdigit12 = ($isdigittmp11>>>0)<(10); - if ($isdigit12) { - $70 = ((($storemerge860)) + 2|0); - $71 = HEAP8[$70>>0]|0; - $72 = ($71<<24>>24)==(36); - if ($72) { - $73 = (($nl_type) + ($isdigittmp11<<2)|0); - HEAP32[$73>>2] = 10; - $74 = HEAP8[$67>>0]|0; - $75 = $74 << 24 >> 24; - $76 = (($75) + -48)|0; - $77 = (($nl_arg) + ($76<<3)|0); - $78 = $77; - $79 = $78; - $80 = HEAP32[$79>>2]|0; - $81 = (($78) + 4)|0; - $82 = $81; - $83 = HEAP32[$82>>2]|0; - $84 = ((($storemerge860)) + 3|0); - $l10n$2 = 1;$storemerge13 = $84;$w$0 = $80; - } else { - label = 24; - } - } else { - label = 24; - } - if ((label|0) == 24) { - label = 0; - $85 = ($l10n$1|0)==(0); - if (!($85)) { - $$0 = -1; - break L1; - } - if (!($0)) { - $fl$1 = $fl$062;$fmt42 = $67;$l10n$3 = 0;$w$1 = 0; - break; - } - $arglist_current = HEAP32[$ap>>2]|0; - $86 = $arglist_current; - $87 = ((0) + 4|0); - $expanded4 = $87; - $expanded = (($expanded4) - 1)|0; - $88 = (($86) + ($expanded))|0; - $89 = ((0) + 4|0); - $expanded8 = $89; - $expanded7 = (($expanded8) - 1)|0; - $expanded6 = $expanded7 ^ -1; - $90 = $88 & $expanded6; - $91 = $90; - $92 = HEAP32[$91>>2]|0; - $arglist_next = ((($91)) + 4|0); - HEAP32[$ap>>2] = $arglist_next; - $l10n$2 = 0;$storemerge13 = $67;$w$0 = $92; - } - $93 = ($w$0|0)<(0); - if ($93) { - $94 = $fl$062 | 8192; - $95 = (0 - ($w$0))|0; - $fl$1 = $94;$fmt42 = $storemerge13;$l10n$3 = $l10n$2;$w$1 = $95; - } else { - $fl$1 = $fl$062;$fmt42 = $storemerge13;$l10n$3 = $l10n$2;$w$1 = $w$0; - } - } else { - $96 = $65 << 24 >> 24; - $isdigittmp1$i = (($96) + -48)|0; - $isdigit2$i = ($isdigittmp1$i>>>0)<(10); - if ($isdigit2$i) { - $100 = $storemerge860;$i$03$i = 0;$isdigittmp4$i = $isdigittmp1$i; - while(1) { - $97 = ($i$03$i*10)|0; - $98 = (($97) + ($isdigittmp4$i))|0; - $99 = ((($100)) + 1|0); - $101 = HEAP8[$99>>0]|0; - $102 = $101 << 24 >> 24; - $isdigittmp$i = (($102) + -48)|0; - $isdigit$i = ($isdigittmp$i>>>0)<(10); - if ($isdigit$i) { - $100 = $99;$i$03$i = $98;$isdigittmp4$i = $isdigittmp$i; - } else { - $$lcssa = $98;$$lcssa318 = $99; - break; - } - } - $103 = ($$lcssa|0)<(0); - if ($103) { - $$0 = -1; - break L1; - } else { - $fl$1 = $fl$062;$fmt42 = $$lcssa318;$l10n$3 = $l10n$1;$w$1 = $$lcssa; - } - } else { - $fl$1 = $fl$062;$fmt42 = $storemerge860;$l10n$3 = $l10n$1;$w$1 = 0; - } - } - } while(0); - $104 = HEAP8[$fmt42>>0]|0; - $105 = ($104<<24>>24)==(46); - L46: do { - if ($105) { - $106 = ((($fmt42)) + 1|0); - $107 = HEAP8[$106>>0]|0; - $108 = ($107<<24>>24)==(42); - if (!($108)) { - $135 = $107 << 24 >> 24; - $isdigittmp1$i22 = (($135) + -48)|0; - $isdigit2$i23 = ($isdigittmp1$i22>>>0)<(10); - if ($isdigit2$i23) { - $139 = $106;$i$03$i25 = 0;$isdigittmp4$i24 = $isdigittmp1$i22; - } else { - $fmt45 = $106;$p$0 = 0; - break; - } - while(1) { - $136 = ($i$03$i25*10)|0; - $137 = (($136) + ($isdigittmp4$i24))|0; - $138 = ((($139)) + 1|0); - $140 = HEAP8[$138>>0]|0; - $141 = $140 << 24 >> 24; - $isdigittmp$i26 = (($141) + -48)|0; - $isdigit$i27 = ($isdigittmp$i26>>>0)<(10); - if ($isdigit$i27) { - $139 = $138;$i$03$i25 = $137;$isdigittmp4$i24 = $isdigittmp$i26; - } else { - $fmt45 = $138;$p$0 = $137; - break L46; - } - } - } - $109 = ((($fmt42)) + 2|0); - $110 = HEAP8[$109>>0]|0; - $111 = $110 << 24 >> 24; - $isdigittmp9 = (($111) + -48)|0; - $isdigit10 = ($isdigittmp9>>>0)<(10); - if ($isdigit10) { - $112 = ((($fmt42)) + 3|0); - $113 = HEAP8[$112>>0]|0; - $114 = ($113<<24>>24)==(36); - if ($114) { - $115 = (($nl_type) + ($isdigittmp9<<2)|0); - HEAP32[$115>>2] = 10; - $116 = HEAP8[$109>>0]|0; - $117 = $116 << 24 >> 24; - $118 = (($117) + -48)|0; - $119 = (($nl_arg) + ($118<<3)|0); - $120 = $119; - $121 = $120; - $122 = HEAP32[$121>>2]|0; - $123 = (($120) + 4)|0; - $124 = $123; - $125 = HEAP32[$124>>2]|0; - $126 = ((($fmt42)) + 4|0); - $fmt45 = $126;$p$0 = $122; - break; - } - } - $127 = ($l10n$3|0)==(0); - if (!($127)) { - $$0 = -1; - break L1; - } - if ($0) { - $arglist_current2 = HEAP32[$ap>>2]|0; - $128 = $arglist_current2; - $129 = ((0) + 4|0); - $expanded11 = $129; - $expanded10 = (($expanded11) - 1)|0; - $130 = (($128) + ($expanded10))|0; - $131 = ((0) + 4|0); - $expanded15 = $131; - $expanded14 = (($expanded15) - 1)|0; - $expanded13 = $expanded14 ^ -1; - $132 = $130 & $expanded13; - $133 = $132; - $134 = HEAP32[$133>>2]|0; - $arglist_next3 = ((($133)) + 4|0); - HEAP32[$ap>>2] = $arglist_next3; - $fmt45 = $109;$p$0 = $134; - } else { - $fmt45 = $109;$p$0 = 0; - } - } else { - $fmt45 = $fmt42;$p$0 = -1; - } - } while(0); - $fmt44 = $fmt45;$st$0 = 0; - while(1) { - $142 = HEAP8[$fmt44>>0]|0; - $143 = $142 << 24 >> 24; - $144 = (($143) + -65)|0; - $145 = ($144>>>0)>(57); - if ($145) { - $$0 = -1; - break L1; - } - $146 = ((($fmt44)) + 1|0); - $147 = ((29989 + (($st$0*58)|0)|0) + ($144)|0); - $148 = HEAP8[$147>>0]|0; - $149 = $148&255; - $150 = (($149) + -1)|0; - $151 = ($150>>>0)<(8); - if ($151) { - $fmt44 = $146;$st$0 = $149; - } else { - $$lcssa323 = $146;$$lcssa324 = $148;$$lcssa325 = $149;$fmt44$lcssa321 = $fmt44;$st$0$lcssa322 = $st$0; - break; - } - } - $152 = ($$lcssa324<<24>>24)==(0); - if ($152) { - $$0 = -1; - break; - } - $153 = ($$lcssa324<<24>>24)==(19); - $154 = ($argpos$0|0)>(-1); - do { - if ($153) { - if ($154) { - $$0 = -1; - break L1; - } else { - label = 52; - } - } else { - if ($154) { - $155 = (($nl_type) + ($argpos$0<<2)|0); - HEAP32[$155>>2] = $$lcssa325; - $156 = (($nl_arg) + ($argpos$0<<3)|0); - $157 = $156; - $158 = $157; - $159 = HEAP32[$158>>2]|0; - $160 = (($157) + 4)|0; - $161 = $160; - $162 = HEAP32[$161>>2]|0; - $163 = $arg; - $164 = $163; - HEAP32[$164>>2] = $159; - $165 = (($163) + 4)|0; - $166 = $165; - HEAP32[$166>>2] = $162; - label = 52; - break; - } - if (!($0)) { - $$0 = 0; - break L1; - } - _pop_arg($arg,$$lcssa325,$ap); - } - } while(0); - if ((label|0) == 52) { - label = 0; - if (!($0)) { - $cnt$0 = $cnt$1;$fmt41 = $$lcssa323;$l$0 = $34;$l10n$0 = $l10n$3; - continue; - } - } - $167 = HEAP8[$fmt44$lcssa321>>0]|0; - $168 = $167 << 24 >> 24; - $169 = ($st$0$lcssa322|0)!=(0); - $170 = $168 & 15; - $171 = ($170|0)==(3); - $or$cond15 = $169 & $171; - $172 = $168 & -33; - $t$0 = $or$cond15 ? $172 : $168; - $173 = $fl$1 & 8192; - $174 = ($173|0)==(0); - $175 = $fl$1 & -65537; - $fl$1$ = $174 ? $fl$1 : $175; - L75: do { - switch ($t$0|0) { - case 110: { - switch ($st$0$lcssa322|0) { - case 0: { - $182 = HEAP32[$arg>>2]|0; - HEAP32[$182>>2] = $cnt$1; - $cnt$0 = $cnt$1;$fmt41 = $$lcssa323;$l$0 = $34;$l10n$0 = $l10n$3; - continue L1; - break; - } - case 1: { - $183 = HEAP32[$arg>>2]|0; - HEAP32[$183>>2] = $cnt$1; - $cnt$0 = $cnt$1;$fmt41 = $$lcssa323;$l$0 = $34;$l10n$0 = $l10n$3; - continue L1; - break; - } - case 2: { - $184 = ($cnt$1|0)<(0); - $185 = $184 << 31 >> 31; - $186 = HEAP32[$arg>>2]|0; - $187 = $186; - $188 = $187; - HEAP32[$188>>2] = $cnt$1; - $189 = (($187) + 4)|0; - $190 = $189; - HEAP32[$190>>2] = $185; - $cnt$0 = $cnt$1;$fmt41 = $$lcssa323;$l$0 = $34;$l10n$0 = $l10n$3; - continue L1; - break; - } - case 3: { - $191 = $cnt$1&65535; - $192 = HEAP32[$arg>>2]|0; - HEAP16[$192>>1] = $191; - $cnt$0 = $cnt$1;$fmt41 = $$lcssa323;$l$0 = $34;$l10n$0 = $l10n$3; - continue L1; - break; - } - case 4: { - $193 = $cnt$1&255; - $194 = HEAP32[$arg>>2]|0; - HEAP8[$194>>0] = $193; - $cnt$0 = $cnt$1;$fmt41 = $$lcssa323;$l$0 = $34;$l10n$0 = $l10n$3; - continue L1; - break; - } - case 6: { - $195 = HEAP32[$arg>>2]|0; - HEAP32[$195>>2] = $cnt$1; - $cnt$0 = $cnt$1;$fmt41 = $$lcssa323;$l$0 = $34;$l10n$0 = $l10n$3; - continue L1; - break; - } - case 7: { - $196 = ($cnt$1|0)<(0); - $197 = $196 << 31 >> 31; - $198 = HEAP32[$arg>>2]|0; - $199 = $198; - $200 = $199; - HEAP32[$200>>2] = $cnt$1; - $201 = (($199) + 4)|0; - $202 = $201; - HEAP32[$202>>2] = $197; - $cnt$0 = $cnt$1;$fmt41 = $$lcssa323;$l$0 = $34;$l10n$0 = $l10n$3; - continue L1; - break; - } - default: { - $cnt$0 = $cnt$1;$fmt41 = $$lcssa323;$l$0 = $34;$l10n$0 = $l10n$3; - continue L1; - } - } - break; - } - case 112: { - $203 = ($p$0>>>0)>(8); - $204 = $203 ? $p$0 : 8; - $205 = $fl$1$ | 8; - $fl$3 = $205;$p$1 = $204;$t$1 = 120; - label = 64; - break; - } - case 88: case 120: { - $fl$3 = $fl$1$;$p$1 = $p$0;$t$1 = $t$0; - label = 64; - break; - } - case 111: { - $243 = $arg; - $244 = $243; - $245 = HEAP32[$244>>2]|0; - $246 = (($243) + 4)|0; - $247 = $246; - $248 = HEAP32[$247>>2]|0; - $249 = ($245|0)==(0); - $250 = ($248|0)==(0); - $251 = $249 & $250; - if ($251) { - $$0$lcssa$i = $1; - } else { - $$03$i33 = $1;$253 = $245;$257 = $248; - while(1) { - $252 = $253 & 7; - $254 = $252 | 48; - $255 = $254&255; - $256 = ((($$03$i33)) + -1|0); - HEAP8[$256>>0] = $255; - $258 = (_bitshift64Lshr(($253|0),($257|0),3)|0); - $259 = tempRet0; - $260 = ($258|0)==(0); - $261 = ($259|0)==(0); - $262 = $260 & $261; - if ($262) { - $$0$lcssa$i = $256; - break; - } else { - $$03$i33 = $256;$253 = $258;$257 = $259; - } - } - } - $263 = $fl$1$ & 8; - $264 = ($263|0)==(0); - if ($264) { - $a$0 = $$0$lcssa$i;$fl$4 = $fl$1$;$p$2 = $p$0;$pl$1 = 0;$prefix$1 = 30469; - label = 77; - } else { - $265 = $$0$lcssa$i; - $266 = (($2) - ($265))|0; - $267 = (($266) + 1)|0; - $268 = ($p$0|0)<($267|0); - $$p$0 = $268 ? $267 : $p$0; - $a$0 = $$0$lcssa$i;$fl$4 = $fl$1$;$p$2 = $$p$0;$pl$1 = 0;$prefix$1 = 30469; - label = 77; - } - break; - } - case 105: case 100: { - $269 = $arg; - $270 = $269; - $271 = HEAP32[$270>>2]|0; - $272 = (($269) + 4)|0; - $273 = $272; - $274 = HEAP32[$273>>2]|0; - $275 = ($274|0)<(0); - if ($275) { - $276 = (_i64Subtract(0,0,($271|0),($274|0))|0); - $277 = tempRet0; - $278 = $arg; - $279 = $278; - HEAP32[$279>>2] = $276; - $280 = (($278) + 4)|0; - $281 = $280; - HEAP32[$281>>2] = $277; - $286 = $276;$287 = $277;$pl$0 = 1;$prefix$0 = 30469; - label = 76; - break L75; - } - $282 = $fl$1$ & 2048; - $283 = ($282|0)==(0); - if ($283) { - $284 = $fl$1$ & 1; - $285 = ($284|0)==(0); - $$ = $285 ? 30469 : (30471); - $286 = $271;$287 = $274;$pl$0 = $284;$prefix$0 = $$; - label = 76; - } else { - $286 = $271;$287 = $274;$pl$0 = 1;$prefix$0 = (30470); - label = 76; - } - break; - } - case 117: { - $176 = $arg; - $177 = $176; - $178 = HEAP32[$177>>2]|0; - $179 = (($176) + 4)|0; - $180 = $179; - $181 = HEAP32[$180>>2]|0; - $286 = $178;$287 = $181;$pl$0 = 0;$prefix$0 = 30469; - label = 76; - break; - } - case 99: { - $307 = $arg; - $308 = $307; - $309 = HEAP32[$308>>2]|0; - $310 = (($307) + 4)|0; - $311 = $310; - $312 = HEAP32[$311>>2]|0; - $313 = $309&255; - HEAP8[$3>>0] = $313; - $a$2 = $3;$fl$6 = $175;$p$5 = 1;$pl$2 = 0;$prefix$2 = 30469;$z$2 = $1; - break; - } - case 109: { - $314 = (___errno_location()|0); - $315 = HEAP32[$314>>2]|0; - $316 = (_strerror($315)|0); - $a$1 = $316; - label = 82; - break; - } - case 115: { - $317 = HEAP32[$arg>>2]|0; - $318 = ($317|0)!=(0|0); - $319 = $318 ? $317 : 30479; - $a$1 = $319; - label = 82; - break; - } - case 67: { - $326 = $arg; - $327 = $326; - $328 = HEAP32[$327>>2]|0; - $329 = (($326) + 4)|0; - $330 = $329; - $331 = HEAP32[$330>>2]|0; - HEAP32[$wc>>2] = $328; - HEAP32[$4>>2] = 0; - HEAP32[$arg>>2] = $wc; - $p$4198 = -1; - label = 86; - break; - } - case 83: { - $332 = ($p$0|0)==(0); - if ($332) { - _pad($f,32,$w$1,0,$fl$1$); - $i$0$lcssa200 = 0; - label = 98; - } else { - $p$4198 = $p$0; - label = 86; - } - break; - } - case 65: case 71: case 70: case 69: case 97: case 103: case 102: case 101: { - $359 = +HEAPF64[$arg>>3]; - HEAP32[$e2$i>>2] = 0; - HEAPF64[tempDoublePtr>>3] = $359;$360 = HEAP32[tempDoublePtr>>2]|0; - $361 = HEAP32[tempDoublePtr+4>>2]|0; - $362 = ($361|0)<(0); - if ($362) { - $363 = -$359; - $$07$i = $363;$pl$0$i = 1;$prefix$0$i = 30486; - } else { - $364 = $fl$1$ & 2048; - $365 = ($364|0)==(0); - if ($365) { - $366 = $fl$1$ & 1; - $367 = ($366|0)==(0); - $$$i = $367 ? (30487) : (30492); - $$07$i = $359;$pl$0$i = $366;$prefix$0$i = $$$i; - } else { - $$07$i = $359;$pl$0$i = 1;$prefix$0$i = (30489); - } - } - HEAPF64[tempDoublePtr>>3] = $$07$i;$368 = HEAP32[tempDoublePtr>>2]|0; - $369 = HEAP32[tempDoublePtr+4>>2]|0; - $370 = $369 & 2146435072; - $371 = ($370>>>0)<(2146435072); - $372 = (0)<(0); - $373 = ($370|0)==(2146435072); - $374 = $373 & $372; - $375 = $371 | $374; - do { - if ($375) { - $391 = (+_frexpl($$07$i,$e2$i)); - $392 = $391 * 2.0; - $393 = $392 != 0.0; - if ($393) { - $394 = HEAP32[$e2$i>>2]|0; - $395 = (($394) + -1)|0; - HEAP32[$e2$i>>2] = $395; - } - $396 = $t$0 | 32; - $397 = ($396|0)==(97); - if ($397) { - $398 = $t$0 & 32; - $399 = ($398|0)==(0); - $400 = ((($prefix$0$i)) + 9|0); - $prefix$0$$i = $399 ? $prefix$0$i : $400; - $401 = $pl$0$i | 2; - $402 = ($p$0>>>0)>(11); - $403 = (12 - ($p$0))|0; - $404 = ($403|0)==(0); - $405 = $402 | $404; - do { - if ($405) { - $$1$i = $392; - } else { - $re$169$i = $403;$round$068$i = 8.0; - while(1) { - $406 = (($re$169$i) + -1)|0; - $407 = $round$068$i * 16.0; - $408 = ($406|0)==(0); - if ($408) { - $$lcssa342 = $407; - break; - } else { - $re$169$i = $406;$round$068$i = $407; - } - } - $409 = HEAP8[$prefix$0$$i>>0]|0; - $410 = ($409<<24>>24)==(45); - if ($410) { - $411 = -$392; - $412 = $411 - $$lcssa342; - $413 = $$lcssa342 + $412; - $414 = -$413; - $$1$i = $414; - break; - } else { - $415 = $392 + $$lcssa342; - $416 = $415 - $$lcssa342; - $$1$i = $416; - break; - } - } - } while(0); - $417 = HEAP32[$e2$i>>2]|0; - $418 = ($417|0)<(0); - $419 = (0 - ($417))|0; - $420 = $418 ? $419 : $417; - $421 = ($420|0)<(0); - $422 = $421 << 31 >> 31; - $423 = (_fmt_u($420,$422,$5)|0); - $424 = ($423|0)==($5|0); - if ($424) { - HEAP8[$6>>0] = 48; - $estr$0$i = $6; - } else { - $estr$0$i = $423; - } - $425 = $417 >> 31; - $426 = $425 & 2; - $427 = (($426) + 43)|0; - $428 = $427&255; - $429 = ((($estr$0$i)) + -1|0); - HEAP8[$429>>0] = $428; - $430 = (($t$0) + 15)|0; - $431 = $430&255; - $432 = ((($estr$0$i)) + -2|0); - HEAP8[$432>>0] = $431; - $notrhs$i = ($p$0|0)<(1); - $433 = $fl$1$ & 8; - $434 = ($433|0)==(0); - $$2$i = $$1$i;$s$0$i = $buf$i; - while(1) { - $435 = (~~(($$2$i))); - $436 = (30453 + ($435)|0); - $437 = HEAP8[$436>>0]|0; - $438 = $437&255; - $439 = $438 | $398; - $440 = $439&255; - $441 = ((($s$0$i)) + 1|0); - HEAP8[$s$0$i>>0] = $440; - $442 = (+($435|0)); - $443 = $$2$i - $442; - $444 = $443 * 16.0; - $445 = $441; - $446 = (($445) - ($7))|0; - $447 = ($446|0)==(1); - do { - if ($447) { - $notlhs$i = $444 == 0.0; - $or$cond3$not$i = $notrhs$i & $notlhs$i; - $or$cond$i = $434 & $or$cond3$not$i; - if ($or$cond$i) { - $s$1$i = $441; - break; - } - $448 = ((($s$0$i)) + 2|0); - HEAP8[$441>>0] = 46; - $s$1$i = $448; - } else { - $s$1$i = $441; - } - } while(0); - $449 = $444 != 0.0; - if ($449) { - $$2$i = $444;$s$0$i = $s$1$i; - } else { - $s$1$i$lcssa = $s$1$i; - break; - } - } - $450 = ($p$0|0)!=(0); - $$pre182$i = $s$1$i$lcssa; - $451 = (($10) + ($$pre182$i))|0; - $452 = ($451|0)<($p$0|0); - $or$cond240 = $450 & $452; - $453 = $432; - $454 = (($11) + ($p$0))|0; - $455 = (($454) - ($453))|0; - $456 = $432; - $457 = (($9) - ($456))|0; - $458 = (($457) + ($$pre182$i))|0; - $l$0$i = $or$cond240 ? $455 : $458; - $459 = (($l$0$i) + ($401))|0; - _pad($f,32,$w$1,$459,$fl$1$); - $460 = HEAP32[$f>>2]|0; - $461 = $460 & 32; - $462 = ($461|0)==(0); - if ($462) { - (___fwritex($prefix$0$$i,$401,$f)|0); - } - $463 = $fl$1$ ^ 65536; - _pad($f,48,$w$1,$459,$463); - $464 = (($$pre182$i) - ($7))|0; - $465 = HEAP32[$f>>2]|0; - $466 = $465 & 32; - $467 = ($466|0)==(0); - if ($467) { - (___fwritex($buf$i,$464,$f)|0); - } - $468 = $432; - $469 = (($8) - ($468))|0; - $sum = (($464) + ($469))|0; - $470 = (($l$0$i) - ($sum))|0; - _pad($f,48,$470,0,0); - $471 = HEAP32[$f>>2]|0; - $472 = $471 & 32; - $473 = ($472|0)==(0); - if ($473) { - (___fwritex($432,$469,$f)|0); - } - $474 = $fl$1$ ^ 8192; - _pad($f,32,$w$1,$459,$474); - $475 = ($459|0)<($w$1|0); - $w$$i = $475 ? $w$1 : $459; - $$0$i = $w$$i; - break; - } - $476 = ($p$0|0)<(0); - $$p$i = $476 ? 6 : $p$0; - if ($393) { - $477 = $392 * 268435456.0; - $478 = HEAP32[$e2$i>>2]|0; - $479 = (($478) + -28)|0; - HEAP32[$e2$i>>2] = $479; - $$3$i = $477;$480 = $479; - } else { - $$pre179$i = HEAP32[$e2$i>>2]|0; - $$3$i = $392;$480 = $$pre179$i; - } - $481 = ($480|0)<(0); - $$31$i = $481 ? $big$i : $12; - $482 = $$31$i; - $$4$i = $$3$i;$z$0$i = $$31$i; - while(1) { - $483 = (~~(($$4$i))>>>0); - HEAP32[$z$0$i>>2] = $483; - $484 = ((($z$0$i)) + 4|0); - $485 = (+($483>>>0)); - $486 = $$4$i - $485; - $487 = $486 * 1.0E+9; - $488 = $487 != 0.0; - if ($488) { - $$4$i = $487;$z$0$i = $484; - } else { - $$lcssa326 = $484; - break; - } - } - $$pr$i = HEAP32[$e2$i>>2]|0; - $489 = ($$pr$i|0)>(0); - if ($489) { - $490 = $$pr$i;$a$1147$i = $$31$i;$z$1146$i = $$lcssa326; - while(1) { - $491 = ($490|0)>(29); - $492 = $491 ? 29 : $490; - $d$0139$i = ((($z$1146$i)) + -4|0); - $493 = ($d$0139$i>>>0)<($a$1147$i>>>0); - do { - if ($493) { - $a$2$ph$i = $a$1147$i; - } else { - $carry$0140$i = 0;$d$0141$i = $d$0139$i; - while(1) { - $494 = HEAP32[$d$0141$i>>2]|0; - $495 = (_bitshift64Shl(($494|0),0,($492|0))|0); - $496 = tempRet0; - $497 = (_i64Add(($495|0),($496|0),($carry$0140$i|0),0)|0); - $498 = tempRet0; - $499 = (___uremdi3(($497|0),($498|0),1000000000,0)|0); - $500 = tempRet0; - HEAP32[$d$0141$i>>2] = $499; - $501 = (___udivdi3(($497|0),($498|0),1000000000,0)|0); - $502 = tempRet0; - $d$0$i = ((($d$0141$i)) + -4|0); - $503 = ($d$0$i>>>0)<($a$1147$i>>>0); - if ($503) { - $$lcssa327 = $501; - break; - } else { - $carry$0140$i = $501;$d$0141$i = $d$0$i; - } - } - $504 = ($$lcssa327|0)==(0); - if ($504) { - $a$2$ph$i = $a$1147$i; - break; - } - $505 = ((($a$1147$i)) + -4|0); - HEAP32[$505>>2] = $$lcssa327; - $a$2$ph$i = $505; - } - } while(0); - $z$2$i = $z$1146$i; - while(1) { - $506 = ($z$2$i>>>0)>($a$2$ph$i>>>0); - if (!($506)) { - $z$2$i$lcssa = $z$2$i; - break; - } - $507 = ((($z$2$i)) + -4|0); - $508 = HEAP32[$507>>2]|0; - $509 = ($508|0)==(0); - if ($509) { - $z$2$i = $507; - } else { - $z$2$i$lcssa = $z$2$i; - break; - } - } - $510 = HEAP32[$e2$i>>2]|0; - $511 = (($510) - ($492))|0; - HEAP32[$e2$i>>2] = $511; - $512 = ($511|0)>(0); - if ($512) { - $490 = $511;$a$1147$i = $a$2$ph$i;$z$1146$i = $z$2$i$lcssa; - } else { - $$pr47$i = $511;$a$1$lcssa$i = $a$2$ph$i;$z$1$lcssa$i = $z$2$i$lcssa; - break; - } - } - } else { - $$pr47$i = $$pr$i;$a$1$lcssa$i = $$31$i;$z$1$lcssa$i = $$lcssa326; - } - $513 = ($$pr47$i|0)<(0); - if ($513) { - $514 = (($$p$i) + 25)|0; - $515 = (($514|0) / 9)&-1; - $516 = (($515) + 1)|0; - $517 = ($396|0)==(102); - $519 = $$pr47$i;$a$3134$i = $a$1$lcssa$i;$z$3133$i = $z$1$lcssa$i; - while(1) { - $518 = (0 - ($519))|0; - $520 = ($518|0)>(9); - $521 = $520 ? 9 : $518; - $522 = ($a$3134$i>>>0)<($z$3133$i>>>0); - do { - if ($522) { - $526 = 1 << $521; - $527 = (($526) + -1)|0; - $528 = 1000000000 >>> $521; - $carry3$0128$i = 0;$d$1127$i = $a$3134$i; - while(1) { - $529 = HEAP32[$d$1127$i>>2]|0; - $530 = $529 & $527; - $531 = $529 >>> $521; - $532 = (($531) + ($carry3$0128$i))|0; - HEAP32[$d$1127$i>>2] = $532; - $533 = Math_imul($530, $528)|0; - $534 = ((($d$1127$i)) + 4|0); - $535 = ($534>>>0)<($z$3133$i>>>0); - if ($535) { - $carry3$0128$i = $533;$d$1127$i = $534; - } else { - $$lcssa329 = $533; - break; - } - } - $536 = HEAP32[$a$3134$i>>2]|0; - $537 = ($536|0)==(0); - $538 = ((($a$3134$i)) + 4|0); - $$a$3$i = $537 ? $538 : $a$3134$i; - $539 = ($$lcssa329|0)==(0); - if ($539) { - $$a$3186$i = $$a$3$i;$z$4$i = $z$3133$i; - break; - } - $540 = ((($z$3133$i)) + 4|0); - HEAP32[$z$3133$i>>2] = $$lcssa329; - $$a$3186$i = $$a$3$i;$z$4$i = $540; - } else { - $523 = HEAP32[$a$3134$i>>2]|0; - $524 = ($523|0)==(0); - $525 = ((($a$3134$i)) + 4|0); - $$a$3185$i = $524 ? $525 : $a$3134$i; - $$a$3186$i = $$a$3185$i;$z$4$i = $z$3133$i; - } - } while(0); - $541 = $517 ? $$31$i : $$a$3186$i; - $542 = $z$4$i; - $543 = $541; - $544 = (($542) - ($543))|0; - $545 = $544 >> 2; - $546 = ($545|0)>($516|0); - $547 = (($541) + ($516<<2)|0); - $$z$4$i = $546 ? $547 : $z$4$i; - $548 = HEAP32[$e2$i>>2]|0; - $549 = (($548) + ($521))|0; - HEAP32[$e2$i>>2] = $549; - $550 = ($549|0)<(0); - if ($550) { - $519 = $549;$a$3134$i = $$a$3186$i;$z$3133$i = $$z$4$i; - } else { - $a$3$lcssa$i = $$a$3186$i;$z$3$lcssa$i = $$z$4$i; - break; - } - } - } else { - $a$3$lcssa$i = $a$1$lcssa$i;$z$3$lcssa$i = $z$1$lcssa$i; - } - $551 = ($a$3$lcssa$i>>>0)<($z$3$lcssa$i>>>0); - do { - if ($551) { - $552 = $a$3$lcssa$i; - $553 = (($482) - ($552))|0; - $554 = $553 >> 2; - $555 = ($554*9)|0; - $556 = HEAP32[$a$3$lcssa$i>>2]|0; - $557 = ($556>>>0)<(10); - if ($557) { - $e$1$i = $555; - break; - } else { - $e$0123$i = $555;$i$0122$i = 10; - } - while(1) { - $558 = ($i$0122$i*10)|0; - $559 = (($e$0123$i) + 1)|0; - $560 = ($556>>>0)<($558>>>0); - if ($560) { - $e$1$i = $559; - break; - } else { - $e$0123$i = $559;$i$0122$i = $558; - } - } - } else { - $e$1$i = 0; - } - } while(0); - $561 = ($396|0)!=(102); - $562 = $561 ? $e$1$i : 0; - $563 = (($$p$i) - ($562))|0; - $564 = ($396|0)==(103); - $565 = ($$p$i|0)!=(0); - $566 = $565 & $564; - $$neg52$i = $566 << 31 >> 31; - $567 = (($563) + ($$neg52$i))|0; - $568 = $z$3$lcssa$i; - $569 = (($568) - ($482))|0; - $570 = $569 >> 2; - $571 = ($570*9)|0; - $572 = (($571) + -9)|0; - $573 = ($567|0)<($572|0); - if ($573) { - $574 = (($567) + 9216)|0; - $575 = (($574|0) / 9)&-1; - $$sum$i = (($575) + -1023)|0; - $576 = (($$31$i) + ($$sum$i<<2)|0); - $577 = (($574|0) % 9)&-1; - $j$0115$i = (($577) + 1)|0; - $578 = ($j$0115$i|0)<(9); - if ($578) { - $i$1116$i = 10;$j$0117$i = $j$0115$i; - while(1) { - $579 = ($i$1116$i*10)|0; - $j$0$i = (($j$0117$i) + 1)|0; - $exitcond$i = ($j$0$i|0)==(9); - if ($exitcond$i) { - $i$1$lcssa$i = $579; - break; - } else { - $i$1116$i = $579;$j$0117$i = $j$0$i; - } - } - } else { - $i$1$lcssa$i = 10; - } - $580 = HEAP32[$576>>2]|0; - $581 = (($580>>>0) % ($i$1$lcssa$i>>>0))&-1; - $582 = ($581|0)==(0); - if ($582) { - $$sum15$i = (($575) + -1022)|0; - $583 = (($$31$i) + ($$sum15$i<<2)|0); - $584 = ($583|0)==($z$3$lcssa$i|0); - if ($584) { - $a$7$i = $a$3$lcssa$i;$d$3$i = $576;$e$3$i = $e$1$i; - } else { - label = 163; - } - } else { - label = 163; - } - do { - if ((label|0) == 163) { - label = 0; - $585 = (($580>>>0) / ($i$1$lcssa$i>>>0))&-1; - $586 = $585 & 1; - $587 = ($586|0)==(0); - $$20$i = $587 ? 9007199254740992.0 : 9007199254740994.0; - $588 = (($i$1$lcssa$i|0) / 2)&-1; - $589 = ($581>>>0)<($588>>>0); - do { - if ($589) { - $small$0$i = 0.5; - } else { - $590 = ($581|0)==($588|0); - if ($590) { - $$sum16$i = (($575) + -1022)|0; - $591 = (($$31$i) + ($$sum16$i<<2)|0); - $592 = ($591|0)==($z$3$lcssa$i|0); - if ($592) { - $small$0$i = 1.0; - break; - } - } - $small$0$i = 1.5; - } - } while(0); - $593 = ($pl$0$i|0)==(0); - do { - if ($593) { - $round6$1$i = $$20$i;$small$1$i = $small$0$i; - } else { - $594 = HEAP8[$prefix$0$i>>0]|0; - $595 = ($594<<24>>24)==(45); - if (!($595)) { - $round6$1$i = $$20$i;$small$1$i = $small$0$i; - break; - } - $596 = -$$20$i; - $597 = -$small$0$i; - $round6$1$i = $596;$small$1$i = $597; - } - } while(0); - $598 = (($580) - ($581))|0; - HEAP32[$576>>2] = $598; - $599 = $round6$1$i + $small$1$i; - $600 = $599 != $round6$1$i; - if (!($600)) { - $a$7$i = $a$3$lcssa$i;$d$3$i = $576;$e$3$i = $e$1$i; - break; - } - $601 = (($598) + ($i$1$lcssa$i))|0; - HEAP32[$576>>2] = $601; - $602 = ($601>>>0)>(999999999); - if ($602) { - $a$5109$i = $a$3$lcssa$i;$d$2108$i = $576; - while(1) { - $603 = ((($d$2108$i)) + -4|0); - HEAP32[$d$2108$i>>2] = 0; - $604 = ($603>>>0)<($a$5109$i>>>0); - if ($604) { - $605 = ((($a$5109$i)) + -4|0); - HEAP32[$605>>2] = 0; - $a$6$i = $605; - } else { - $a$6$i = $a$5109$i; - } - $606 = HEAP32[$603>>2]|0; - $607 = (($606) + 1)|0; - HEAP32[$603>>2] = $607; - $608 = ($607>>>0)>(999999999); - if ($608) { - $a$5109$i = $a$6$i;$d$2108$i = $603; - } else { - $a$5$lcssa$i = $a$6$i;$d$2$lcssa$i = $603; - break; - } - } - } else { - $a$5$lcssa$i = $a$3$lcssa$i;$d$2$lcssa$i = $576; - } - $609 = $a$5$lcssa$i; - $610 = (($482) - ($609))|0; - $611 = $610 >> 2; - $612 = ($611*9)|0; - $613 = HEAP32[$a$5$lcssa$i>>2]|0; - $614 = ($613>>>0)<(10); - if ($614) { - $a$7$i = $a$5$lcssa$i;$d$3$i = $d$2$lcssa$i;$e$3$i = $612; - break; - } else { - $e$2104$i = $612;$i$2103$i = 10; - } - while(1) { - $615 = ($i$2103$i*10)|0; - $616 = (($e$2104$i) + 1)|0; - $617 = ($613>>>0)<($615>>>0); - if ($617) { - $a$7$i = $a$5$lcssa$i;$d$3$i = $d$2$lcssa$i;$e$3$i = $616; - break; - } else { - $e$2104$i = $616;$i$2103$i = $615; - } - } - } - } while(0); - $618 = ((($d$3$i)) + 4|0); - $619 = ($z$3$lcssa$i>>>0)>($618>>>0); - $$z$3$i = $619 ? $618 : $z$3$lcssa$i; - $a$8$ph$i = $a$7$i;$e$4$ph$i = $e$3$i;$z$6$ph$i = $$z$3$i; - } else { - $a$8$ph$i = $a$3$lcssa$i;$e$4$ph$i = $e$1$i;$z$6$ph$i = $z$3$lcssa$i; - } - $620 = (0 - ($e$4$ph$i))|0; - $z$6$i = $z$6$ph$i; - while(1) { - $621 = ($z$6$i>>>0)>($a$8$ph$i>>>0); - if (!($621)) { - $$lcssa159$i = 0;$z$6$i$lcssa = $z$6$i; - break; - } - $622 = ((($z$6$i)) + -4|0); - $623 = HEAP32[$622>>2]|0; - $624 = ($623|0)==(0); - if ($624) { - $z$6$i = $622; - } else { - $$lcssa159$i = 1;$z$6$i$lcssa = $z$6$i; - break; - } - } - do { - if ($564) { - $625 = $565&1; - $626 = $625 ^ 1; - $$p$$i = (($626) + ($$p$i))|0; - $627 = ($$p$$i|0)>($e$4$ph$i|0); - $628 = ($e$4$ph$i|0)>(-5); - $or$cond6$i = $627 & $628; - if ($or$cond6$i) { - $629 = (($t$0) + -1)|0; - $$neg53$i = (($$p$$i) + -1)|0; - $630 = (($$neg53$i) - ($e$4$ph$i))|0; - $$013$i = $629;$$210$i = $630; - } else { - $631 = (($t$0) + -2)|0; - $632 = (($$p$$i) + -1)|0; - $$013$i = $631;$$210$i = $632; - } - $633 = $fl$1$ & 8; - $634 = ($633|0)==(0); - if (!($634)) { - $$114$i = $$013$i;$$311$i = $$210$i;$$pre$phi184$iZ2D = $633; - break; - } - do { - if ($$lcssa159$i) { - $635 = ((($z$6$i$lcssa)) + -4|0); - $636 = HEAP32[$635>>2]|0; - $637 = ($636|0)==(0); - if ($637) { - $j$2$i = 9; - break; - } - $638 = (($636>>>0) % 10)&-1; - $639 = ($638|0)==(0); - if ($639) { - $i$399$i = 10;$j$1100$i = 0; - } else { - $j$2$i = 0; - break; - } - while(1) { - $640 = ($i$399$i*10)|0; - $641 = (($j$1100$i) + 1)|0; - $642 = (($636>>>0) % ($640>>>0))&-1; - $643 = ($642|0)==(0); - if ($643) { - $i$399$i = $640;$j$1100$i = $641; - } else { - $j$2$i = $641; - break; - } - } - } else { - $j$2$i = 9; - } - } while(0); - $644 = $$013$i | 32; - $645 = ($644|0)==(102); - $646 = $z$6$i$lcssa; - $647 = (($646) - ($482))|0; - $648 = $647 >> 2; - $649 = ($648*9)|0; - $650 = (($649) + -9)|0; - if ($645) { - $651 = (($650) - ($j$2$i))|0; - $652 = ($651|0)<(0); - $$21$i = $652 ? 0 : $651; - $653 = ($$210$i|0)<($$21$i|0); - $$210$$22$i = $653 ? $$210$i : $$21$i; - $$114$i = $$013$i;$$311$i = $$210$$22$i;$$pre$phi184$iZ2D = 0; - break; - } else { - $654 = (($650) + ($e$4$ph$i))|0; - $655 = (($654) - ($j$2$i))|0; - $656 = ($655|0)<(0); - $$23$i = $656 ? 0 : $655; - $657 = ($$210$i|0)<($$23$i|0); - $$210$$24$i = $657 ? $$210$i : $$23$i; - $$114$i = $$013$i;$$311$i = $$210$$24$i;$$pre$phi184$iZ2D = 0; - break; - } - } else { - $$pre183$i = $fl$1$ & 8; - $$114$i = $t$0;$$311$i = $$p$i;$$pre$phi184$iZ2D = $$pre183$i; - } - } while(0); - $658 = $$311$i | $$pre$phi184$iZ2D; - $659 = ($658|0)!=(0); - $660 = $659&1; - $661 = $$114$i | 32; - $662 = ($661|0)==(102); - if ($662) { - $663 = ($e$4$ph$i|0)>(0); - $664 = $663 ? $e$4$ph$i : 0; - $$pn$i = $664;$estr$2$i = 0; - } else { - $665 = ($e$4$ph$i|0)<(0); - $666 = $665 ? $620 : $e$4$ph$i; - $667 = ($666|0)<(0); - $668 = $667 << 31 >> 31; - $669 = (_fmt_u($666,$668,$5)|0); - $670 = $669; - $671 = (($8) - ($670))|0; - $672 = ($671|0)<(2); - if ($672) { - $estr$193$i = $669; - while(1) { - $673 = ((($estr$193$i)) + -1|0); - HEAP8[$673>>0] = 48; - $674 = $673; - $675 = (($8) - ($674))|0; - $676 = ($675|0)<(2); - if ($676) { - $estr$193$i = $673; - } else { - $estr$1$lcssa$i = $673; - break; - } - } - } else { - $estr$1$lcssa$i = $669; - } - $677 = $e$4$ph$i >> 31; - $678 = $677 & 2; - $679 = (($678) + 43)|0; - $680 = $679&255; - $681 = ((($estr$1$lcssa$i)) + -1|0); - HEAP8[$681>>0] = $680; - $682 = $$114$i&255; - $683 = ((($estr$1$lcssa$i)) + -2|0); - HEAP8[$683>>0] = $682; - $684 = $683; - $685 = (($8) - ($684))|0; - $$pn$i = $685;$estr$2$i = $683; - } - $686 = (($pl$0$i) + 1)|0; - $687 = (($686) + ($$311$i))|0; - $l$1$i = (($687) + ($660))|0; - $688 = (($l$1$i) + ($$pn$i))|0; - _pad($f,32,$w$1,$688,$fl$1$); - $689 = HEAP32[$f>>2]|0; - $690 = $689 & 32; - $691 = ($690|0)==(0); - if ($691) { - (___fwritex($prefix$0$i,$pl$0$i,$f)|0); - } - $692 = $fl$1$ ^ 65536; - _pad($f,48,$w$1,$688,$692); - do { - if ($662) { - $693 = ($a$8$ph$i>>>0)>($$31$i>>>0); - $r$0$a$8$i = $693 ? $$31$i : $a$8$ph$i; - $d$482$i = $r$0$a$8$i; - while(1) { - $694 = HEAP32[$d$482$i>>2]|0; - $695 = (_fmt_u($694,0,$13)|0); - $696 = ($d$482$i|0)==($r$0$a$8$i|0); - do { - if ($696) { - $700 = ($695|0)==($13|0); - if (!($700)) { - $s7$1$i = $695; - break; - } - HEAP8[$15>>0] = 48; - $s7$1$i = $15; - } else { - $697 = ($695>>>0)>($buf$i>>>0); - if ($697) { - $s7$079$i = $695; - } else { - $s7$1$i = $695; - break; - } - while(1) { - $698 = ((($s7$079$i)) + -1|0); - HEAP8[$698>>0] = 48; - $699 = ($698>>>0)>($buf$i>>>0); - if ($699) { - $s7$079$i = $698; - } else { - $s7$1$i = $698; - break; - } - } - } - } while(0); - $701 = HEAP32[$f>>2]|0; - $702 = $701 & 32; - $703 = ($702|0)==(0); - if ($703) { - $704 = $s7$1$i; - $705 = (($14) - ($704))|0; - (___fwritex($s7$1$i,$705,$f)|0); - } - $706 = ((($d$482$i)) + 4|0); - $707 = ($706>>>0)>($$31$i>>>0); - if ($707) { - $$lcssa339 = $706; - break; - } else { - $d$482$i = $706; - } - } - $708 = ($658|0)==(0); - do { - if (!($708)) { - $709 = HEAP32[$f>>2]|0; - $710 = $709 & 32; - $711 = ($710|0)==(0); - if (!($711)) { - break; - } - (___fwritex(30521,1,$f)|0); - } - } while(0); - $712 = ($$lcssa339>>>0)<($z$6$i$lcssa>>>0); - $713 = ($$311$i|0)>(0); - $714 = $713 & $712; - if ($714) { - $$41276$i = $$311$i;$d$575$i = $$lcssa339; - while(1) { - $715 = HEAP32[$d$575$i>>2]|0; - $716 = (_fmt_u($715,0,$13)|0); - $717 = ($716>>>0)>($buf$i>>>0); - if ($717) { - $s8$070$i = $716; - while(1) { - $718 = ((($s8$070$i)) + -1|0); - HEAP8[$718>>0] = 48; - $719 = ($718>>>0)>($buf$i>>>0); - if ($719) { - $s8$070$i = $718; - } else { - $s8$0$lcssa$i = $718; - break; - } - } - } else { - $s8$0$lcssa$i = $716; - } - $720 = HEAP32[$f>>2]|0; - $721 = $720 & 32; - $722 = ($721|0)==(0); - if ($722) { - $723 = ($$41276$i|0)>(9); - $724 = $723 ? 9 : $$41276$i; - (___fwritex($s8$0$lcssa$i,$724,$f)|0); - } - $725 = ((($d$575$i)) + 4|0); - $726 = (($$41276$i) + -9)|0; - $727 = ($725>>>0)<($z$6$i$lcssa>>>0); - $728 = ($$41276$i|0)>(9); - $729 = $728 & $727; - if ($729) { - $$41276$i = $726;$d$575$i = $725; - } else { - $$412$lcssa$i = $726; - break; - } - } - } else { - $$412$lcssa$i = $$311$i; - } - $730 = (($$412$lcssa$i) + 9)|0; - _pad($f,48,$730,9,0); - } else { - $731 = ((($a$8$ph$i)) + 4|0); - $z$6$$i = $$lcssa159$i ? $z$6$i$lcssa : $731; - $732 = ($$311$i|0)>(-1); - if ($732) { - $733 = ($$pre$phi184$iZ2D|0)==(0); - $$587$i = $$311$i;$d$686$i = $a$8$ph$i; - while(1) { - $734 = HEAP32[$d$686$i>>2]|0; - $735 = (_fmt_u($734,0,$13)|0); - $736 = ($735|0)==($13|0); - if ($736) { - HEAP8[$15>>0] = 48; - $s9$0$i = $15; - } else { - $s9$0$i = $735; - } - $737 = ($d$686$i|0)==($a$8$ph$i|0); - do { - if ($737) { - $741 = ((($s9$0$i)) + 1|0); - $742 = HEAP32[$f>>2]|0; - $743 = $742 & 32; - $744 = ($743|0)==(0); - if ($744) { - (___fwritex($s9$0$i,1,$f)|0); - } - $745 = ($$587$i|0)<(1); - $or$cond29$i = $733 & $745; - if ($or$cond29$i) { - $s9$2$i = $741; - break; - } - $746 = HEAP32[$f>>2]|0; - $747 = $746 & 32; - $748 = ($747|0)==(0); - if (!($748)) { - $s9$2$i = $741; - break; - } - (___fwritex(30521,1,$f)|0); - $s9$2$i = $741; - } else { - $738 = ($s9$0$i>>>0)>($buf$i>>>0); - if ($738) { - $s9$183$i = $s9$0$i; - } else { - $s9$2$i = $s9$0$i; - break; - } - while(1) { - $739 = ((($s9$183$i)) + -1|0); - HEAP8[$739>>0] = 48; - $740 = ($739>>>0)>($buf$i>>>0); - if ($740) { - $s9$183$i = $739; - } else { - $s9$2$i = $739; - break; - } - } - } - } while(0); - $749 = $s9$2$i; - $750 = (($14) - ($749))|0; - $751 = HEAP32[$f>>2]|0; - $752 = $751 & 32; - $753 = ($752|0)==(0); - if ($753) { - $754 = ($$587$i|0)>($750|0); - $755 = $754 ? $750 : $$587$i; - (___fwritex($s9$2$i,$755,$f)|0); - } - $756 = (($$587$i) - ($750))|0; - $757 = ((($d$686$i)) + 4|0); - $758 = ($757>>>0)<($z$6$$i>>>0); - $759 = ($756|0)>(-1); - $760 = $758 & $759; - if ($760) { - $$587$i = $756;$d$686$i = $757; - } else { - $$5$lcssa$i = $756; - break; - } - } - } else { - $$5$lcssa$i = $$311$i; - } - $761 = (($$5$lcssa$i) + 18)|0; - _pad($f,48,$761,18,0); - $762 = HEAP32[$f>>2]|0; - $763 = $762 & 32; - $764 = ($763|0)==(0); - if (!($764)) { - break; - } - $765 = $estr$2$i; - $766 = (($8) - ($765))|0; - (___fwritex($estr$2$i,$766,$f)|0); - } - } while(0); - $767 = $fl$1$ ^ 8192; - _pad($f,32,$w$1,$688,$767); - $768 = ($688|0)<($w$1|0); - $w$30$i = $768 ? $w$1 : $688; - $$0$i = $w$30$i; - } else { - $376 = $t$0 & 32; - $377 = ($376|0)!=(0); - $378 = $377 ? 30505 : 30509; - $379 = ($$07$i != $$07$i) | (0.0 != 0.0); - $380 = $377 ? 30513 : 30517; - $pl$1$i = $379 ? 0 : $pl$0$i; - $s1$0$i = $379 ? $380 : $378; - $381 = (($pl$1$i) + 3)|0; - _pad($f,32,$w$1,$381,$175); - $382 = HEAP32[$f>>2]|0; - $383 = $382 & 32; - $384 = ($383|0)==(0); - if ($384) { - (___fwritex($prefix$0$i,$pl$1$i,$f)|0); - $$pre$i = HEAP32[$f>>2]|0; - $386 = $$pre$i; - } else { - $386 = $382; - } - $385 = $386 & 32; - $387 = ($385|0)==(0); - if ($387) { - (___fwritex($s1$0$i,3,$f)|0); - } - $388 = $fl$1$ ^ 8192; - _pad($f,32,$w$1,$381,$388); - $389 = ($381|0)<($w$1|0); - $390 = $389 ? $w$1 : $381; - $$0$i = $390; - } - } while(0); - $cnt$0 = $cnt$1;$fmt41 = $$lcssa323;$l$0 = $$0$i;$l10n$0 = $l10n$3; - continue L1; - break; - } - default: { - $a$2 = $fmt41;$fl$6 = $fl$1$;$p$5 = $p$0;$pl$2 = 0;$prefix$2 = 30469;$z$2 = $1; - } - } - } while(0); - L313: do { - if ((label|0) == 64) { - label = 0; - $206 = $arg; - $207 = $206; - $208 = HEAP32[$207>>2]|0; - $209 = (($206) + 4)|0; - $210 = $209; - $211 = HEAP32[$210>>2]|0; - $212 = $t$1 & 32; - $213 = ($208|0)==(0); - $214 = ($211|0)==(0); - $215 = $213 & $214; - if ($215) { - $a$0 = $1;$fl$4 = $fl$3;$p$2 = $p$1;$pl$1 = 0;$prefix$1 = 30469; - label = 77; - } else { - $$012$i = $1;$217 = $208;$224 = $211; - while(1) { - $216 = $217 & 15; - $218 = (30453 + ($216)|0); - $219 = HEAP8[$218>>0]|0; - $220 = $219&255; - $221 = $220 | $212; - $222 = $221&255; - $223 = ((($$012$i)) + -1|0); - HEAP8[$223>>0] = $222; - $225 = (_bitshift64Lshr(($217|0),($224|0),4)|0); - $226 = tempRet0; - $227 = ($225|0)==(0); - $228 = ($226|0)==(0); - $229 = $227 & $228; - if ($229) { - $$lcssa344 = $223; - break; - } else { - $$012$i = $223;$217 = $225;$224 = $226; - } - } - $230 = $arg; - $231 = $230; - $232 = HEAP32[$231>>2]|0; - $233 = (($230) + 4)|0; - $234 = $233; - $235 = HEAP32[$234>>2]|0; - $236 = ($232|0)==(0); - $237 = ($235|0)==(0); - $238 = $236 & $237; - $239 = $fl$3 & 8; - $240 = ($239|0)==(0); - $or$cond17 = $240 | $238; - if ($or$cond17) { - $a$0 = $$lcssa344;$fl$4 = $fl$3;$p$2 = $p$1;$pl$1 = 0;$prefix$1 = 30469; - label = 77; - } else { - $241 = $t$1 >> 4; - $242 = (30469 + ($241)|0); - $a$0 = $$lcssa344;$fl$4 = $fl$3;$p$2 = $p$1;$pl$1 = 2;$prefix$1 = $242; - label = 77; - } - } - } - else if ((label|0) == 76) { - label = 0; - $288 = (_fmt_u($286,$287,$1)|0); - $a$0 = $288;$fl$4 = $fl$1$;$p$2 = $p$0;$pl$1 = $pl$0;$prefix$1 = $prefix$0; - label = 77; - } - else if ((label|0) == 82) { - label = 0; - $320 = (_memchr($a$1,0,$p$0)|0); - $321 = ($320|0)==(0|0); - $322 = $320; - $323 = $a$1; - $324 = (($322) - ($323))|0; - $325 = (($a$1) + ($p$0)|0); - $z$1 = $321 ? $325 : $320; - $p$3 = $321 ? $p$0 : $324; - $a$2 = $a$1;$fl$6 = $175;$p$5 = $p$3;$pl$2 = 0;$prefix$2 = 30469;$z$2 = $z$1; - } - else if ((label|0) == 86) { - label = 0; - $333 = HEAP32[$arg>>2]|0; - $i$0114 = 0;$l$1113 = 0;$ws$0115 = $333; - while(1) { - $334 = HEAP32[$ws$0115>>2]|0; - $335 = ($334|0)==(0); - if ($335) { - $i$0$lcssa = $i$0114;$l$2 = $l$1113; - break; - } - $336 = (_wctomb($mb,$334)|0); - $337 = ($336|0)<(0); - $338 = (($p$4198) - ($i$0114))|0; - $339 = ($336>>>0)>($338>>>0); - $or$cond20 = $337 | $339; - if ($or$cond20) { - $i$0$lcssa = $i$0114;$l$2 = $336; - break; - } - $340 = ((($ws$0115)) + 4|0); - $341 = (($336) + ($i$0114))|0; - $342 = ($p$4198>>>0)>($341>>>0); - if ($342) { - $i$0114 = $341;$l$1113 = $336;$ws$0115 = $340; - } else { - $i$0$lcssa = $341;$l$2 = $336; - break; - } - } - $343 = ($l$2|0)<(0); - if ($343) { - $$0 = -1; - break L1; - } - _pad($f,32,$w$1,$i$0$lcssa,$fl$1$); - $344 = ($i$0$lcssa|0)==(0); - if ($344) { - $i$0$lcssa200 = 0; - label = 98; - } else { - $345 = HEAP32[$arg>>2]|0; - $i$1125 = 0;$ws$1126 = $345; - while(1) { - $346 = HEAP32[$ws$1126>>2]|0; - $347 = ($346|0)==(0); - if ($347) { - $i$0$lcssa200 = $i$0$lcssa; - label = 98; - break L313; - } - $348 = ((($ws$1126)) + 4|0); - $349 = (_wctomb($mb,$346)|0); - $350 = (($349) + ($i$1125))|0; - $351 = ($350|0)>($i$0$lcssa|0); - if ($351) { - $i$0$lcssa200 = $i$0$lcssa; - label = 98; - break L313; - } - $352 = HEAP32[$f>>2]|0; - $353 = $352 & 32; - $354 = ($353|0)==(0); - if ($354) { - (___fwritex($mb,$349,$f)|0); - } - $355 = ($350>>>0)<($i$0$lcssa>>>0); - if ($355) { - $i$1125 = $350;$ws$1126 = $348; - } else { - $i$0$lcssa200 = $i$0$lcssa; - label = 98; - break; - } - } - } - } - } while(0); - if ((label|0) == 98) { - label = 0; - $356 = $fl$1$ ^ 8192; - _pad($f,32,$w$1,$i$0$lcssa200,$356); - $357 = ($w$1|0)>($i$0$lcssa200|0); - $358 = $357 ? $w$1 : $i$0$lcssa200; - $cnt$0 = $cnt$1;$fmt41 = $$lcssa323;$l$0 = $358;$l10n$0 = $l10n$3; - continue; - } - if ((label|0) == 77) { - label = 0; - $289 = ($p$2|0)>(-1); - $290 = $fl$4 & -65537; - $$fl$4 = $289 ? $290 : $fl$4; - $291 = $arg; - $292 = $291; - $293 = HEAP32[$292>>2]|0; - $294 = (($291) + 4)|0; - $295 = $294; - $296 = HEAP32[$295>>2]|0; - $297 = ($293|0)!=(0); - $298 = ($296|0)!=(0); - $299 = $297 | $298; - $300 = ($p$2|0)!=(0); - $or$cond = $300 | $299; - if ($or$cond) { - $301 = $a$0; - $302 = (($2) - ($301))|0; - $303 = $299&1; - $304 = $303 ^ 1; - $305 = (($304) + ($302))|0; - $306 = ($p$2|0)>($305|0); - $p$2$ = $306 ? $p$2 : $305; - $a$2 = $a$0;$fl$6 = $$fl$4;$p$5 = $p$2$;$pl$2 = $pl$1;$prefix$2 = $prefix$1;$z$2 = $1; - } else { - $a$2 = $1;$fl$6 = $$fl$4;$p$5 = 0;$pl$2 = $pl$1;$prefix$2 = $prefix$1;$z$2 = $1; - } - } - $769 = $z$2; - $770 = $a$2; - $771 = (($769) - ($770))|0; - $772 = ($p$5|0)<($771|0); - $$p$5 = $772 ? $771 : $p$5; - $773 = (($pl$2) + ($$p$5))|0; - $774 = ($w$1|0)<($773|0); - $w$2 = $774 ? $773 : $w$1; - _pad($f,32,$w$2,$773,$fl$6); - $775 = HEAP32[$f>>2]|0; - $776 = $775 & 32; - $777 = ($776|0)==(0); - if ($777) { - (___fwritex($prefix$2,$pl$2,$f)|0); - } - $778 = $fl$6 ^ 65536; - _pad($f,48,$w$2,$773,$778); - _pad($f,48,$$p$5,$771,0); - $779 = HEAP32[$f>>2]|0; - $780 = $779 & 32; - $781 = ($780|0)==(0); - if ($781) { - (___fwritex($a$2,$771,$f)|0); - } - $782 = $fl$6 ^ 8192; - _pad($f,32,$w$2,$773,$782); - $cnt$0 = $cnt$1;$fmt41 = $$lcssa323;$l$0 = $w$2;$l10n$0 = $l10n$3; - } - L348: do { - if ((label|0) == 245) { - $783 = ($f|0)==(0|0); - if ($783) { - $784 = ($l10n$0$lcssa|0)==(0); - if ($784) { - $$0 = 0; - } else { - $i$2100 = 1; - while(1) { - $785 = (($nl_type) + ($i$2100<<2)|0); - $786 = HEAP32[$785>>2]|0; - $787 = ($786|0)==(0); - if ($787) { - $i$2100$lcssa = $i$2100; - break; - } - $789 = (($nl_arg) + ($i$2100<<3)|0); - _pop_arg($789,$786,$ap); - $790 = (($i$2100) + 1)|0; - $791 = ($790|0)<(10); - if ($791) { - $i$2100 = $790; - } else { - $$0 = 1; - break L348; - } - } - $788 = ($i$2100$lcssa|0)<(10); - if ($788) { - $i$398 = $i$2100$lcssa; - while(1) { - $794 = (($nl_type) + ($i$398<<2)|0); - $795 = HEAP32[$794>>2]|0; - $796 = ($795|0)==(0); - $792 = (($i$398) + 1)|0; - if (!($796)) { - $$0 = -1; - break L348; - } - $793 = ($792|0)<(10); - if ($793) { - $i$398 = $792; - } else { - $$0 = 1; - break; - } - } - } else { - $$0 = 1; - } - } - } else { - $$0 = $cnt$1$lcssa; - } - } - } while(0); - STACKTOP = sp;return ($$0|0); -} -function _do_read($f,$buf,$len) { - $f = $f|0; - $buf = $buf|0; - $len = $len|0; - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (___string_read($f,$buf,$len)|0); - return ($0|0); -} -function _cleanup521($p) { - $p = $p|0; - var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($p)) + 68|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)==(0); - if ($2) { - ___unlockfile($p); - } - return; -} -function _cleanup526($p) { - $p = $p|0; - var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($p)) + 68|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)==(0); - if ($2) { - ___unlockfile($p); - } - return; -} -function _sift($head,$width,$cmp,$pshift,$lp) { - $head = $head|0; - $width = $width|0; - $cmp = $cmp|0; - $pshift = $pshift|0; - $lp = $lp|0; - var $$0$be = 0, $$01$be = 0, $$012 = 0, $$03 = 0, $$pre = 0, $$sum = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0; - var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $ar = 0, $i$0$lcssa = 0, $i$04 = 0, $sum = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 240|0; - $ar = sp; - HEAP32[$ar>>2] = $head; - $0 = ($pshift|0)>(1); - L1: do { - if ($0) { - $1 = (0 - ($width))|0; - $$012 = $pshift;$$03 = $head;$7 = $head;$i$04 = 1; - while(1) { - $2 = (($$03) + ($1)|0); - $3 = (($$012) + -2)|0; - $4 = (($lp) + ($3<<2)|0); - $5 = HEAP32[$4>>2]|0; - $sum = (($5) + ($width))|0; - $$sum = (0 - ($sum))|0; - $6 = (($$03) + ($$sum)|0); - $8 = (FUNCTION_TABLE_iii[$cmp & 7]($7,$6)|0); - $9 = ($8|0)>(-1); - if ($9) { - $10 = (FUNCTION_TABLE_iii[$cmp & 7]($7,$2)|0); - $11 = ($10|0)>(-1); - if ($11) { - $i$0$lcssa = $i$04; - break L1; - } - } - $12 = (FUNCTION_TABLE_iii[$cmp & 7]($6,$2)|0); - $13 = ($12|0)>(-1); - $14 = (($i$04) + 1)|0; - $15 = (($ar) + ($i$04<<2)|0); - if ($13) { - HEAP32[$15>>2] = $6; - $16 = (($$012) + -1)|0; - $$0$be = $6;$$01$be = $16; - } else { - HEAP32[$15>>2] = $2; - $$0$be = $2;$$01$be = $3; - } - $17 = ($$01$be|0)>(1); - if (!($17)) { - $i$0$lcssa = $14; - break L1; - } - $$pre = HEAP32[$ar>>2]|0; - $$012 = $$01$be;$$03 = $$0$be;$7 = $$pre;$i$04 = $14; - } - } else { - $i$0$lcssa = 1; - } - } while(0); - _cycle($width,$ar,$i$0$lcssa); - STACKTOP = sp;return; -} -function _trinkle($head,$width,$cmp,$pp,$pshift,$trusty,$lp) { - $head = $head|0; - $width = $width|0; - $cmp = $cmp|0; - $pp = $pp|0; - $pshift = $pshift|0; - $trusty = $trusty|0; - $lp = $lp|0; - var $$0$i = 0, $$0$lcssa = 0, $$0$lcssa49 = 0, $$01162 = 0, $$01162$phi = 0, $$02$i$i = 0, $$02$i3$i = 0, $$02$lcssa = 0, $$02$lcssa51 = 0, $$02964 = 0, $$03$lcssa = 0, $$03865 = 0, $$lcssa = 0, $$lcssa75 = 0, $$pre = 0, $$sum = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0; - var $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0; - var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0; - var $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0; - var $67 = 0, $68 = 0, $7 = 0, $8 = 0, $9 = 0, $ar = 0, $i$0$lcssa = 0, $i$0$lcssa50 = 0, $i$01063 = 0, $nTrailingZeros$03$i$i = 0, $nTrailingZeros$03$i2$i = 0, $nTrailingZeros$03$i2$i$lcssa = 0, $or$cond = 0, $phitmp = 0, $sum = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 240|0; - $ar = sp; - $0 = HEAP32[$pp>>2]|0; - $1 = ((($pp)) + 4|0); - $2 = HEAP32[$1>>2]|0; - HEAP32[$ar>>2] = $head; - $3 = (0 - ($width))|0; - $4 = ($0|0)!=(1); - $5 = ($2|0)!=(0); - $6 = $5 | $4; - L1: do { - if ($6) { - $7 = (($lp) + ($pshift<<2)|0); - $8 = HEAP32[$7>>2]|0; - $9 = (0 - ($8))|0; - $10 = (($head) + ($9)|0); - $11 = (FUNCTION_TABLE_iii[$cmp & 7]($10,$head)|0); - $12 = ($11|0)<(1); - if ($12) { - $$0$lcssa = $head;$$02$lcssa = $pshift;$$03$lcssa = $trusty;$i$0$lcssa = 1; - label = 19; - } else { - $phitmp = ($trusty|0)==(0); - $$01162 = $head;$$02964 = $pshift;$$03865 = $phitmp;$18 = $10;$27 = $0;$36 = $2;$i$01063 = 1; - while(1) { - $13 = ($$02964|0)>(1); - $or$cond = $$03865 & $13; - if ($or$cond) { - $14 = (($$01162) + ($3)|0); - $15 = (($$02964) + -2)|0; - $16 = (($lp) + ($15<<2)|0); - $17 = HEAP32[$16>>2]|0; - $19 = (FUNCTION_TABLE_iii[$cmp & 7]($14,$18)|0); - $20 = ($19|0)>(-1); - if ($20) { - $$0$lcssa49 = $$01162;$$02$lcssa51 = $$02964;$i$0$lcssa50 = $i$01063; - label = 20; - break L1; - } - $sum = (($17) + ($width))|0; - $$sum = (0 - ($sum))|0; - $21 = (($$01162) + ($$sum)|0); - $22 = (FUNCTION_TABLE_iii[$cmp & 7]($21,$18)|0); - $23 = ($22|0)>(-1); - if ($23) { - $$0$lcssa49 = $$01162;$$02$lcssa51 = $$02964;$i$0$lcssa50 = $i$01063; - label = 20; - break L1; - } - } - $24 = (($i$01063) + 1)|0; - $25 = (($ar) + ($i$01063<<2)|0); - HEAP32[$25>>2] = $18; - $26 = (($27) + -1)|0; - $28 = ($26|0)==(0); - do { - if ($28) { - $49 = 32; - label = 16; - } else { - $29 = $26 & 1; - $30 = ($29|0)==(0); - if ($30) { - $$02$i$i = $26;$nTrailingZeros$03$i$i = 0; - while(1) { - $31 = (($nTrailingZeros$03$i$i) + 1)|0; - $32 = $$02$i$i >>> 1; - $33 = $32 & 1; - $34 = ($33|0)==(0); - if ($34) { - $$02$i$i = $32;$nTrailingZeros$03$i$i = $31; - } else { - $$lcssa = $31; - break; - } - } - $35 = ($$lcssa|0)==(0); - if ($35) { - label = 11; - } else { - $46 = $$lcssa; - } - } else { - label = 11; - } - if ((label|0) == 11) { - label = 0; - $37 = ($36|0)==(0); - if ($37) { - $49 = 64; - label = 16; - break; - } - $38 = $36 & 1; - $39 = ($38|0)==(0); - if ($39) { - $$02$i3$i = $36;$nTrailingZeros$03$i2$i = 0; - } else { - $$0$i = 0;$51 = $27;$54 = $36;$58 = 0; - break; - } - while(1) { - $40 = (($nTrailingZeros$03$i2$i) + 1)|0; - $41 = $$02$i3$i >>> 1; - $42 = $41 & 1; - $43 = ($42|0)==(0); - if ($43) { - $$02$i3$i = $41;$nTrailingZeros$03$i2$i = $40; - } else { - $$lcssa75 = $40;$nTrailingZeros$03$i2$i$lcssa = $nTrailingZeros$03$i2$i; - break; - } - } - $44 = (($nTrailingZeros$03$i2$i$lcssa) + 33)|0; - $45 = ($$lcssa75|0)==(0); - if ($45) { - $$0$i = 0;$51 = $27;$54 = $36;$58 = 0; - break; - } else { - $46 = $44; - } - } - $47 = ($46>>>0)>(31); - if ($47) { - $49 = $46; - label = 16; - } else { - $$0$i = $46;$51 = $27;$54 = $36;$58 = $46; - } - } - } while(0); - if ((label|0) == 16) { - label = 0; - $48 = (($49) + -32)|0; - $$0$i = $48;$51 = $36;$54 = 0;$58 = $49; - } - $50 = $51 >>> $$0$i; - $52 = (32 - ($$0$i))|0; - $53 = $54 << $52; - $55 = $53 | $50; - $56 = $54 >>> $$0$i; - $57 = (($58) + ($$02964))|0; - $59 = ($55|0)!=(1); - $60 = ($56|0)!=(0); - $61 = $60 | $59; - if (!($61)) { - $$0$lcssa49 = $18;$$02$lcssa51 = $57;$i$0$lcssa50 = $24; - label = 20; - break L1; - } - $$pre = HEAP32[$ar>>2]|0; - $62 = (($lp) + ($57<<2)|0); - $63 = HEAP32[$62>>2]|0; - $64 = (0 - ($63))|0; - $65 = (($18) + ($64)|0); - $66 = (FUNCTION_TABLE_iii[$cmp & 7]($65,$$pre)|0); - $67 = ($66|0)<(1); - if ($67) { - $$0$lcssa = $18;$$02$lcssa = $57;$$03$lcssa = 0;$i$0$lcssa = $24; - label = 19; - break; - } else { - $$01162$phi = $18;$$02964 = $57;$$03865 = 1;$18 = $65;$27 = $55;$36 = $56;$i$01063 = $24;$$01162 = $$01162$phi; - } - } - } - } else { - $$0$lcssa = $head;$$02$lcssa = $pshift;$$03$lcssa = $trusty;$i$0$lcssa = 1; - label = 19; - } - } while(0); - if ((label|0) == 19) { - $68 = ($$03$lcssa|0)==(0); - if ($68) { - $$0$lcssa49 = $$0$lcssa;$$02$lcssa51 = $$02$lcssa;$i$0$lcssa50 = $i$0$lcssa; - label = 20; - } - } - if ((label|0) == 20) { - _cycle($width,$ar,$i$0$lcssa50); - _sift($$0$lcssa49,$width,$cmp,$$02$lcssa51,$lp); - } - STACKTOP = sp;return; -} -function _cycle($width,$ar,$n) { - $width = $width|0; - $ar = $ar|0; - $n = $n|0; - var $$02 = 0, $$pre = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $i$01 = 0; - var $tmp = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 256|0; - $tmp = sp; - $0 = ($n|0)<(2); - L1: do { - if (!($0)) { - $1 = (($ar) + ($n<<2)|0); - HEAP32[$1>>2] = $tmp; - $2 = ($width|0)==(0); - if (!($2)) { - $$02 = $width;$6 = $tmp; - while(1) { - $3 = ($$02>>>0)>(256); - $4 = $3 ? 256 : $$02; - $5 = HEAP32[$ar>>2]|0; - _memcpy(($6|0),($5|0),($4|0))|0; - $i$01 = 0; - while(1) { - $7 = (($ar) + ($i$01<<2)|0); - $8 = HEAP32[$7>>2]|0; - $9 = (($i$01) + 1)|0; - $10 = (($ar) + ($9<<2)|0); - $11 = HEAP32[$10>>2]|0; - _memcpy(($8|0),($11|0),($4|0))|0; - $12 = HEAP32[$7>>2]|0; - $13 = (($12) + ($4)|0); - HEAP32[$7>>2] = $13; - $exitcond = ($9|0)==($n|0); - if ($exitcond) { - break; - } else { - $i$01 = $9; - } - } - $14 = ($$02|0)==($4|0); - if ($14) { - break L1; - } - $15 = (($$02) - ($4))|0; - $$pre = HEAP32[$1>>2]|0; - $$02 = $15;$6 = $$pre; - } - } - } - } while(0); - STACKTOP = sp;return; -} -function _pop_arg($arg,$type,$ap) { - $arg = $arg|0; - $type = $type|0; - $ap = $ap|0; - var $$mask = 0, $$mask1 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0.0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0.0; - var $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0; - var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0; - var $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0; - var $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0; - var $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $arglist_current = 0, $arglist_current11 = 0, $arglist_current14 = 0, $arglist_current17 = 0; - var $arglist_current2 = 0, $arglist_current20 = 0, $arglist_current23 = 0, $arglist_current26 = 0, $arglist_current5 = 0, $arglist_current8 = 0, $arglist_next = 0, $arglist_next12 = 0, $arglist_next15 = 0, $arglist_next18 = 0, $arglist_next21 = 0, $arglist_next24 = 0, $arglist_next27 = 0, $arglist_next3 = 0, $arglist_next6 = 0, $arglist_next9 = 0, $expanded = 0, $expanded28 = 0, $expanded30 = 0, $expanded31 = 0; - var $expanded32 = 0, $expanded34 = 0, $expanded35 = 0, $expanded37 = 0, $expanded38 = 0, $expanded39 = 0, $expanded41 = 0, $expanded42 = 0, $expanded44 = 0, $expanded45 = 0, $expanded46 = 0, $expanded48 = 0, $expanded49 = 0, $expanded51 = 0, $expanded52 = 0, $expanded53 = 0, $expanded55 = 0, $expanded56 = 0, $expanded58 = 0, $expanded59 = 0; - var $expanded60 = 0, $expanded62 = 0, $expanded63 = 0, $expanded65 = 0, $expanded66 = 0, $expanded67 = 0, $expanded69 = 0, $expanded70 = 0, $expanded72 = 0, $expanded73 = 0, $expanded74 = 0, $expanded76 = 0, $expanded77 = 0, $expanded79 = 0, $expanded80 = 0, $expanded81 = 0, $expanded83 = 0, $expanded84 = 0, $expanded86 = 0, $expanded87 = 0; - var $expanded88 = 0, $expanded90 = 0, $expanded91 = 0, $expanded93 = 0, $expanded94 = 0, $expanded95 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ($type>>>0)>(20); - L1: do { - if (!($0)) { - do { - switch ($type|0) { - case 9: { - $arglist_current = HEAP32[$ap>>2]|0; - $1 = $arglist_current; - $2 = ((0) + 4|0); - $expanded28 = $2; - $expanded = (($expanded28) - 1)|0; - $3 = (($1) + ($expanded))|0; - $4 = ((0) + 4|0); - $expanded32 = $4; - $expanded31 = (($expanded32) - 1)|0; - $expanded30 = $expanded31 ^ -1; - $5 = $3 & $expanded30; - $6 = $5; - $7 = HEAP32[$6>>2]|0; - $arglist_next = ((($6)) + 4|0); - HEAP32[$ap>>2] = $arglist_next; - HEAP32[$arg>>2] = $7; - break L1; - break; - } - case 10: { - $arglist_current2 = HEAP32[$ap>>2]|0; - $8 = $arglist_current2; - $9 = ((0) + 4|0); - $expanded35 = $9; - $expanded34 = (($expanded35) - 1)|0; - $10 = (($8) + ($expanded34))|0; - $11 = ((0) + 4|0); - $expanded39 = $11; - $expanded38 = (($expanded39) - 1)|0; - $expanded37 = $expanded38 ^ -1; - $12 = $10 & $expanded37; - $13 = $12; - $14 = HEAP32[$13>>2]|0; - $arglist_next3 = ((($13)) + 4|0); - HEAP32[$ap>>2] = $arglist_next3; - $15 = ($14|0)<(0); - $16 = $15 << 31 >> 31; - $17 = $arg; - $18 = $17; - HEAP32[$18>>2] = $14; - $19 = (($17) + 4)|0; - $20 = $19; - HEAP32[$20>>2] = $16; - break L1; - break; - } - case 11: { - $arglist_current5 = HEAP32[$ap>>2]|0; - $21 = $arglist_current5; - $22 = ((0) + 4|0); - $expanded42 = $22; - $expanded41 = (($expanded42) - 1)|0; - $23 = (($21) + ($expanded41))|0; - $24 = ((0) + 4|0); - $expanded46 = $24; - $expanded45 = (($expanded46) - 1)|0; - $expanded44 = $expanded45 ^ -1; - $25 = $23 & $expanded44; - $26 = $25; - $27 = HEAP32[$26>>2]|0; - $arglist_next6 = ((($26)) + 4|0); - HEAP32[$ap>>2] = $arglist_next6; - $28 = $arg; - $29 = $28; - HEAP32[$29>>2] = $27; - $30 = (($28) + 4)|0; - $31 = $30; - HEAP32[$31>>2] = 0; - break L1; - break; - } - case 12: { - $arglist_current8 = HEAP32[$ap>>2]|0; - $32 = $arglist_current8; - $33 = ((0) + 8|0); - $expanded49 = $33; - $expanded48 = (($expanded49) - 1)|0; - $34 = (($32) + ($expanded48))|0; - $35 = ((0) + 8|0); - $expanded53 = $35; - $expanded52 = (($expanded53) - 1)|0; - $expanded51 = $expanded52 ^ -1; - $36 = $34 & $expanded51; - $37 = $36; - $38 = $37; - $39 = $38; - $40 = HEAP32[$39>>2]|0; - $41 = (($38) + 4)|0; - $42 = $41; - $43 = HEAP32[$42>>2]|0; - $arglist_next9 = ((($37)) + 8|0); - HEAP32[$ap>>2] = $arglist_next9; - $44 = $arg; - $45 = $44; - HEAP32[$45>>2] = $40; - $46 = (($44) + 4)|0; - $47 = $46; - HEAP32[$47>>2] = $43; - break L1; - break; - } - case 13: { - $arglist_current11 = HEAP32[$ap>>2]|0; - $48 = $arglist_current11; - $49 = ((0) + 4|0); - $expanded56 = $49; - $expanded55 = (($expanded56) - 1)|0; - $50 = (($48) + ($expanded55))|0; - $51 = ((0) + 4|0); - $expanded60 = $51; - $expanded59 = (($expanded60) - 1)|0; - $expanded58 = $expanded59 ^ -1; - $52 = $50 & $expanded58; - $53 = $52; - $54 = HEAP32[$53>>2]|0; - $arglist_next12 = ((($53)) + 4|0); - HEAP32[$ap>>2] = $arglist_next12; - $55 = $54&65535; - $56 = $55 << 16 >> 16; - $57 = ($56|0)<(0); - $58 = $57 << 31 >> 31; - $59 = $arg; - $60 = $59; - HEAP32[$60>>2] = $56; - $61 = (($59) + 4)|0; - $62 = $61; - HEAP32[$62>>2] = $58; - break L1; - break; - } - case 14: { - $arglist_current14 = HEAP32[$ap>>2]|0; - $63 = $arglist_current14; - $64 = ((0) + 4|0); - $expanded63 = $64; - $expanded62 = (($expanded63) - 1)|0; - $65 = (($63) + ($expanded62))|0; - $66 = ((0) + 4|0); - $expanded67 = $66; - $expanded66 = (($expanded67) - 1)|0; - $expanded65 = $expanded66 ^ -1; - $67 = $65 & $expanded65; - $68 = $67; - $69 = HEAP32[$68>>2]|0; - $arglist_next15 = ((($68)) + 4|0); - HEAP32[$ap>>2] = $arglist_next15; - $$mask1 = $69 & 65535; - $70 = $arg; - $71 = $70; - HEAP32[$71>>2] = $$mask1; - $72 = (($70) + 4)|0; - $73 = $72; - HEAP32[$73>>2] = 0; - break L1; - break; - } - case 15: { - $arglist_current17 = HEAP32[$ap>>2]|0; - $74 = $arglist_current17; - $75 = ((0) + 4|0); - $expanded70 = $75; - $expanded69 = (($expanded70) - 1)|0; - $76 = (($74) + ($expanded69))|0; - $77 = ((0) + 4|0); - $expanded74 = $77; - $expanded73 = (($expanded74) - 1)|0; - $expanded72 = $expanded73 ^ -1; - $78 = $76 & $expanded72; - $79 = $78; - $80 = HEAP32[$79>>2]|0; - $arglist_next18 = ((($79)) + 4|0); - HEAP32[$ap>>2] = $arglist_next18; - $81 = $80&255; - $82 = $81 << 24 >> 24; - $83 = ($82|0)<(0); - $84 = $83 << 31 >> 31; - $85 = $arg; - $86 = $85; - HEAP32[$86>>2] = $82; - $87 = (($85) + 4)|0; - $88 = $87; - HEAP32[$88>>2] = $84; - break L1; - break; - } - case 16: { - $arglist_current20 = HEAP32[$ap>>2]|0; - $89 = $arglist_current20; - $90 = ((0) + 4|0); - $expanded77 = $90; - $expanded76 = (($expanded77) - 1)|0; - $91 = (($89) + ($expanded76))|0; - $92 = ((0) + 4|0); - $expanded81 = $92; - $expanded80 = (($expanded81) - 1)|0; - $expanded79 = $expanded80 ^ -1; - $93 = $91 & $expanded79; - $94 = $93; - $95 = HEAP32[$94>>2]|0; - $arglist_next21 = ((($94)) + 4|0); - HEAP32[$ap>>2] = $arglist_next21; - $$mask = $95 & 255; - $96 = $arg; - $97 = $96; - HEAP32[$97>>2] = $$mask; - $98 = (($96) + 4)|0; - $99 = $98; - HEAP32[$99>>2] = 0; - break L1; - break; - } - case 17: { - $arglist_current23 = HEAP32[$ap>>2]|0; - $100 = $arglist_current23; - $101 = ((0) + 8|0); - $expanded84 = $101; - $expanded83 = (($expanded84) - 1)|0; - $102 = (($100) + ($expanded83))|0; - $103 = ((0) + 8|0); - $expanded88 = $103; - $expanded87 = (($expanded88) - 1)|0; - $expanded86 = $expanded87 ^ -1; - $104 = $102 & $expanded86; - $105 = $104; - $106 = +HEAPF64[$105>>3]; - $arglist_next24 = ((($105)) + 8|0); - HEAP32[$ap>>2] = $arglist_next24; - HEAPF64[$arg>>3] = $106; - break L1; - break; - } - case 18: { - $arglist_current26 = HEAP32[$ap>>2]|0; - $107 = $arglist_current26; - $108 = ((0) + 8|0); - $expanded91 = $108; - $expanded90 = (($expanded91) - 1)|0; - $109 = (($107) + ($expanded90))|0; - $110 = ((0) + 8|0); - $expanded95 = $110; - $expanded94 = (($expanded95) - 1)|0; - $expanded93 = $expanded94 ^ -1; - $111 = $109 & $expanded93; - $112 = $111; - $113 = +HEAPF64[$112>>3]; - $arglist_next27 = ((($112)) + 8|0); - HEAP32[$ap>>2] = $arglist_next27; - HEAPF64[$arg>>3] = $113; - break L1; - break; - } - default: { - break L1; - } - } - } while(0); - } - } while(0); - return; -} -function _fmt_u($0,$1,$s) { - $0 = $0|0; - $1 = $1|0; - $s = $s|0; - var $$0$lcssa = 0, $$01$lcssa$off0 = 0, $$05 = 0, $$1$lcssa = 0, $$12 = 0, $$lcssa20 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0; - var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $y$03 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ($1>>>0)>(0); - $3 = ($0>>>0)>(4294967295); - $4 = ($1|0)==(0); - $5 = $4 & $3; - $6 = $2 | $5; - if ($6) { - $$05 = $s;$7 = $0;$8 = $1; - while(1) { - $9 = (___uremdi3(($7|0),($8|0),10,0)|0); - $10 = tempRet0; - $11 = $9 | 48; - $12 = $11&255; - $13 = ((($$05)) + -1|0); - HEAP8[$13>>0] = $12; - $14 = (___udivdi3(($7|0),($8|0),10,0)|0); - $15 = tempRet0; - $16 = ($8>>>0)>(9); - $17 = ($7>>>0)>(4294967295); - $18 = ($8|0)==(9); - $19 = $18 & $17; - $20 = $16 | $19; - if ($20) { - $$05 = $13;$7 = $14;$8 = $15; - } else { - $$lcssa20 = $13;$28 = $14;$29 = $15; - break; - } - } - $$0$lcssa = $$lcssa20;$$01$lcssa$off0 = $28; - } else { - $$0$lcssa = $s;$$01$lcssa$off0 = $0; - } - $21 = ($$01$lcssa$off0|0)==(0); - if ($21) { - $$1$lcssa = $$0$lcssa; - } else { - $$12 = $$0$lcssa;$y$03 = $$01$lcssa$off0; - while(1) { - $22 = (($y$03>>>0) % 10)&-1; - $23 = $22 | 48; - $24 = $23&255; - $25 = ((($$12)) + -1|0); - HEAP8[$25>>0] = $24; - $26 = (($y$03>>>0) / 10)&-1; - $27 = ($y$03>>>0)<(10); - if ($27) { - $$1$lcssa = $25; - break; - } else { - $$12 = $25;$y$03 = $26; - } - } - } - return ($$1$lcssa|0); -} -function _pad($f,$c,$w,$l,$fl) { - $f = $f|0; - $c = $c|0; - $w = $w|0; - $l = $l|0; - $fl = $fl|0; - var $$0$lcssa6 = 0, $$02 = 0, $$pre = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; - var $8 = 0, $9 = 0, $or$cond = 0, $pad = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 256|0; - $pad = sp; - $0 = $fl & 73728; - $1 = ($0|0)==(0); - $2 = ($w|0)>($l|0); - $or$cond = $2 & $1; - do { - if ($or$cond) { - $3 = (($w) - ($l))|0; - $4 = ($3>>>0)>(256); - $5 = $4 ? 256 : $3; - _memset(($pad|0),($c|0),($5|0))|0; - $6 = ($3>>>0)>(255); - $7 = HEAP32[$f>>2]|0; - $8 = $7 & 32; - $9 = ($8|0)==(0); - if ($6) { - $10 = (($w) - ($l))|0; - $$02 = $3;$17 = $7;$18 = $9; - while(1) { - if ($18) { - (___fwritex($pad,256,$f)|0); - $$pre = HEAP32[$f>>2]|0; - $14 = $$pre; - } else { - $14 = $17; - } - $11 = (($$02) + -256)|0; - $12 = ($11>>>0)>(255); - $13 = $14 & 32; - $15 = ($13|0)==(0); - if ($12) { - $$02 = $11;$17 = $14;$18 = $15; - } else { - break; - } - } - $16 = $10 & 255; - if ($15) { - $$0$lcssa6 = $16; - } else { - break; - } - } else { - if ($9) { - $$0$lcssa6 = $3; - } else { - break; - } - } - (___fwritex($pad,$$0$lcssa6,$f)|0); - } - } while(0); - STACKTOP = sp;return; -} -function _malloc($bytes) { - $bytes = $bytes|0; - var $$3$i = 0, $$lcssa = 0, $$lcssa211 = 0, $$lcssa215 = 0, $$lcssa216 = 0, $$lcssa217 = 0, $$lcssa219 = 0, $$lcssa222 = 0, $$lcssa224 = 0, $$lcssa226 = 0, $$lcssa228 = 0, $$lcssa230 = 0, $$lcssa232 = 0, $$pre = 0, $$pre$i = 0, $$pre$i$i = 0, $$pre$i22$i = 0, $$pre$i25 = 0, $$pre$phi$i$iZ2D = 0, $$pre$phi$i23$iZ2D = 0; - var $$pre$phi$i26Z2D = 0, $$pre$phi$iZ2D = 0, $$pre$phi58$i$iZ2D = 0, $$pre$phiZ2D = 0, $$pre105 = 0, $$pre106 = 0, $$pre14$i$i = 0, $$pre43$i = 0, $$pre56$i$i = 0, $$pre57$i$i = 0, $$pre8$i = 0, $$rsize$0$i = 0, $$rsize$3$i = 0, $$sum = 0, $$sum$i$i = 0, $$sum$i$i$i = 0, $$sum$i13$i = 0, $$sum$i14$i = 0, $$sum$i17$i = 0, $$sum$i19$i = 0; - var $$sum$i2334 = 0, $$sum$i32 = 0, $$sum$i35 = 0, $$sum1 = 0, $$sum1$i = 0, $$sum1$i$i = 0, $$sum1$i15$i = 0, $$sum1$i20$i = 0, $$sum1$i24 = 0, $$sum10 = 0, $$sum10$i = 0, $$sum10$i$i = 0, $$sum11$i = 0, $$sum11$i$i = 0, $$sum1112 = 0, $$sum112$i = 0, $$sum113$i = 0, $$sum114$i = 0, $$sum115$i = 0, $$sum116$i = 0; - var $$sum117$i = 0, $$sum118$i = 0, $$sum119$i = 0, $$sum12$i = 0, $$sum12$i$i = 0, $$sum120$i = 0, $$sum121$i = 0, $$sum122$i = 0, $$sum123$i = 0, $$sum124$i = 0, $$sum125$i = 0, $$sum13$i = 0, $$sum13$i$i = 0, $$sum14$i$i = 0, $$sum15$i = 0, $$sum15$i$i = 0, $$sum16$i = 0, $$sum16$i$i = 0, $$sum17$i = 0, $$sum17$i$i = 0; - var $$sum18$i = 0, $$sum1819$i$i = 0, $$sum2 = 0, $$sum2$i = 0, $$sum2$i$i = 0, $$sum2$i$i$i = 0, $$sum2$i16$i = 0, $$sum2$i18$i = 0, $$sum2$i21$i = 0, $$sum20$i$i = 0, $$sum21$i$i = 0, $$sum22$i$i = 0, $$sum23$i$i = 0, $$sum24$i$i = 0, $$sum25$i$i = 0, $$sum27$i$i = 0, $$sum28$i$i = 0, $$sum29$i$i = 0, $$sum3$i = 0, $$sum3$i27 = 0; - var $$sum30$i$i = 0, $$sum3132$i$i = 0, $$sum34$i$i = 0, $$sum3536$i$i = 0, $$sum3738$i$i = 0, $$sum39$i$i = 0, $$sum4 = 0, $$sum4$i = 0, $$sum4$i$i = 0, $$sum4$i28 = 0, $$sum40$i$i = 0, $$sum41$i$i = 0, $$sum42$i$i = 0, $$sum5$i = 0, $$sum5$i$i = 0, $$sum56 = 0, $$sum6$i = 0, $$sum67$i$i = 0, $$sum7$i = 0, $$sum8$i = 0; - var $$sum9 = 0, $$sum9$i = 0, $$sum9$i$i = 0, $$tsize$1$i = 0, $$v$0$i = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $1000 = 0, $1001 = 0, $1002 = 0, $1003 = 0, $1004 = 0, $1005 = 0, $1006 = 0, $1007 = 0, $1008 = 0, $1009 = 0, $101 = 0; - var $1010 = 0, $1011 = 0, $1012 = 0, $1013 = 0, $1014 = 0, $1015 = 0, $1016 = 0, $1017 = 0, $1018 = 0, $1019 = 0, $102 = 0, $1020 = 0, $1021 = 0, $1022 = 0, $1023 = 0, $1024 = 0, $1025 = 0, $1026 = 0, $1027 = 0, $1028 = 0; - var $1029 = 0, $103 = 0, $1030 = 0, $1031 = 0, $1032 = 0, $1033 = 0, $1034 = 0, $1035 = 0, $1036 = 0, $1037 = 0, $1038 = 0, $1039 = 0, $104 = 0, $1040 = 0, $1041 = 0, $1042 = 0, $1043 = 0, $1044 = 0, $1045 = 0, $1046 = 0; - var $1047 = 0, $1048 = 0, $1049 = 0, $105 = 0, $1050 = 0, $1051 = 0, $1052 = 0, $1053 = 0, $1054 = 0, $1055 = 0, $1056 = 0, $1057 = 0, $1058 = 0, $1059 = 0, $106 = 0, $1060 = 0, $1061 = 0, $1062 = 0, $1063 = 0, $1064 = 0; - var $1065 = 0, $1066 = 0, $1067 = 0, $1068 = 0, $1069 = 0, $107 = 0, $1070 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0; - var $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0; - var $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0; - var $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0; - var $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0; - var $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0; - var $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0; - var $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0; - var $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0; - var $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0; - var $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0; - var $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0; - var $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0; - var $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0; - var $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0; - var $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0; - var $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0; - var $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0, $424 = 0, $425 = 0; - var $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0, $442 = 0, $443 = 0; - var $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0, $460 = 0, $461 = 0; - var $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0, $478 = 0, $479 = 0, $48 = 0; - var $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0, $496 = 0, $497 = 0, $498 = 0; - var $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0, $513 = 0, $514 = 0, $515 = 0; - var $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0, $531 = 0, $532 = 0, $533 = 0; - var $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0, $549 = 0, $55 = 0, $550 = 0, $551 = 0; - var $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0, $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0, $562 = 0, $563 = 0, $564 = 0, $565 = 0, $566 = 0, $567 = 0, $568 = 0, $569 = 0, $57 = 0; - var $570 = 0, $571 = 0, $572 = 0, $573 = 0, $574 = 0, $575 = 0, $576 = 0, $577 = 0, $578 = 0, $579 = 0, $58 = 0, $580 = 0, $581 = 0, $582 = 0, $583 = 0, $584 = 0, $585 = 0, $586 = 0, $587 = 0, $588 = 0; - var $589 = 0, $59 = 0, $590 = 0, $591 = 0, $592 = 0, $593 = 0, $594 = 0, $595 = 0, $596 = 0, $597 = 0, $598 = 0, $599 = 0, $6 = 0, $60 = 0, $600 = 0, $601 = 0, $602 = 0, $603 = 0, $604 = 0, $605 = 0; - var $606 = 0, $607 = 0, $608 = 0, $609 = 0, $61 = 0, $610 = 0, $611 = 0, $612 = 0, $613 = 0, $614 = 0, $615 = 0, $616 = 0, $617 = 0, $618 = 0, $619 = 0, $62 = 0, $620 = 0, $621 = 0, $622 = 0, $623 = 0; - var $624 = 0, $625 = 0, $626 = 0, $627 = 0, $628 = 0, $629 = 0, $63 = 0, $630 = 0, $631 = 0, $632 = 0, $633 = 0, $634 = 0, $635 = 0, $636 = 0, $637 = 0, $638 = 0, $639 = 0, $64 = 0, $640 = 0, $641 = 0; - var $642 = 0, $643 = 0, $644 = 0, $645 = 0, $646 = 0, $647 = 0, $648 = 0, $649 = 0, $65 = 0, $650 = 0, $651 = 0, $652 = 0, $653 = 0, $654 = 0, $655 = 0, $656 = 0, $657 = 0, $658 = 0, $659 = 0, $66 = 0; - var $660 = 0, $661 = 0, $662 = 0, $663 = 0, $664 = 0, $665 = 0, $666 = 0, $667 = 0, $668 = 0, $669 = 0, $67 = 0, $670 = 0, $671 = 0, $672 = 0, $673 = 0, $674 = 0, $675 = 0, $676 = 0, $677 = 0, $678 = 0; - var $679 = 0, $68 = 0, $680 = 0, $681 = 0, $682 = 0, $683 = 0, $684 = 0, $685 = 0, $686 = 0, $687 = 0, $688 = 0, $689 = 0, $69 = 0, $690 = 0, $691 = 0, $692 = 0, $693 = 0, $694 = 0, $695 = 0, $696 = 0; - var $697 = 0, $698 = 0, $699 = 0, $7 = 0, $70 = 0, $700 = 0, $701 = 0, $702 = 0, $703 = 0, $704 = 0, $705 = 0, $706 = 0, $707 = 0, $708 = 0, $709 = 0, $71 = 0, $710 = 0, $711 = 0, $712 = 0, $713 = 0; - var $714 = 0, $715 = 0, $716 = 0, $717 = 0, $718 = 0, $719 = 0, $72 = 0, $720 = 0, $721 = 0, $722 = 0, $723 = 0, $724 = 0, $725 = 0, $726 = 0, $727 = 0, $728 = 0, $729 = 0, $73 = 0, $730 = 0, $731 = 0; - var $732 = 0, $733 = 0, $734 = 0, $735 = 0, $736 = 0, $737 = 0, $738 = 0, $739 = 0, $74 = 0, $740 = 0, $741 = 0, $742 = 0, $743 = 0, $744 = 0, $745 = 0, $746 = 0, $747 = 0, $748 = 0, $749 = 0, $75 = 0; - var $750 = 0, $751 = 0, $752 = 0, $753 = 0, $754 = 0, $755 = 0, $756 = 0, $757 = 0, $758 = 0, $759 = 0, $76 = 0, $760 = 0, $761 = 0, $762 = 0, $763 = 0, $764 = 0, $765 = 0, $766 = 0, $767 = 0, $768 = 0; - var $769 = 0, $77 = 0, $770 = 0, $771 = 0, $772 = 0, $773 = 0, $774 = 0, $775 = 0, $776 = 0, $777 = 0, $778 = 0, $779 = 0, $78 = 0, $780 = 0, $781 = 0, $782 = 0, $783 = 0, $784 = 0, $785 = 0, $786 = 0; - var $787 = 0, $788 = 0, $789 = 0, $79 = 0, $790 = 0, $791 = 0, $792 = 0, $793 = 0, $794 = 0, $795 = 0, $796 = 0, $797 = 0, $798 = 0, $799 = 0, $8 = 0, $80 = 0, $800 = 0, $801 = 0, $802 = 0, $803 = 0; - var $804 = 0, $805 = 0, $806 = 0, $807 = 0, $808 = 0, $809 = 0, $81 = 0, $810 = 0, $811 = 0, $812 = 0, $813 = 0, $814 = 0, $815 = 0, $816 = 0, $817 = 0, $818 = 0, $819 = 0, $82 = 0, $820 = 0, $821 = 0; - var $822 = 0, $823 = 0, $824 = 0, $825 = 0, $826 = 0, $827 = 0, $828 = 0, $829 = 0, $83 = 0, $830 = 0, $831 = 0, $832 = 0, $833 = 0, $834 = 0, $835 = 0, $836 = 0, $837 = 0, $838 = 0, $839 = 0, $84 = 0; - var $840 = 0, $841 = 0, $842 = 0, $843 = 0, $844 = 0, $845 = 0, $846 = 0, $847 = 0, $848 = 0, $849 = 0, $85 = 0, $850 = 0, $851 = 0, $852 = 0, $853 = 0, $854 = 0, $855 = 0, $856 = 0, $857 = 0, $858 = 0; - var $859 = 0, $86 = 0, $860 = 0, $861 = 0, $862 = 0, $863 = 0, $864 = 0, $865 = 0, $866 = 0, $867 = 0, $868 = 0, $869 = 0, $87 = 0, $870 = 0, $871 = 0, $872 = 0, $873 = 0, $874 = 0, $875 = 0, $876 = 0; - var $877 = 0, $878 = 0, $879 = 0, $88 = 0, $880 = 0, $881 = 0, $882 = 0, $883 = 0, $884 = 0, $885 = 0, $886 = 0, $887 = 0, $888 = 0, $889 = 0, $89 = 0, $890 = 0, $891 = 0, $892 = 0, $893 = 0, $894 = 0; - var $895 = 0, $896 = 0, $897 = 0, $898 = 0, $899 = 0, $9 = 0, $90 = 0, $900 = 0, $901 = 0, $902 = 0, $903 = 0, $904 = 0, $905 = 0, $906 = 0, $907 = 0, $908 = 0, $909 = 0, $91 = 0, $910 = 0, $911 = 0; - var $912 = 0, $913 = 0, $914 = 0, $915 = 0, $916 = 0, $917 = 0, $918 = 0, $919 = 0, $92 = 0, $920 = 0, $921 = 0, $922 = 0, $923 = 0, $924 = 0, $925 = 0, $926 = 0, $927 = 0, $928 = 0, $929 = 0, $93 = 0; - var $930 = 0, $931 = 0, $932 = 0, $933 = 0, $934 = 0, $935 = 0, $936 = 0, $937 = 0, $938 = 0, $939 = 0, $94 = 0, $940 = 0, $941 = 0, $942 = 0, $943 = 0, $944 = 0, $945 = 0, $946 = 0, $947 = 0, $948 = 0; - var $949 = 0, $95 = 0, $950 = 0, $951 = 0, $952 = 0, $953 = 0, $954 = 0, $955 = 0, $956 = 0, $957 = 0, $958 = 0, $959 = 0, $96 = 0, $960 = 0, $961 = 0, $962 = 0, $963 = 0, $964 = 0, $965 = 0, $966 = 0; - var $967 = 0, $968 = 0, $969 = 0, $97 = 0, $970 = 0, $971 = 0, $972 = 0, $973 = 0, $974 = 0, $975 = 0, $976 = 0, $977 = 0, $978 = 0, $979 = 0, $98 = 0, $980 = 0, $981 = 0, $982 = 0, $983 = 0, $984 = 0; - var $985 = 0, $986 = 0, $987 = 0, $988 = 0, $989 = 0, $99 = 0, $990 = 0, $991 = 0, $992 = 0, $993 = 0, $994 = 0, $995 = 0, $996 = 0, $997 = 0, $998 = 0, $999 = 0, $F$0$i$i = 0, $F1$0$i = 0, $F4$0 = 0, $F4$0$i$i = 0; - var $F5$0$i = 0, $I1$0$i$i = 0, $I7$0$i = 0, $I7$0$i$i = 0, $K12$029$i = 0, $K2$07$i$i = 0, $K8$051$i$i = 0, $R$0$i = 0, $R$0$i$i = 0, $R$0$i$i$lcssa = 0, $R$0$i$lcssa = 0, $R$0$i18 = 0, $R$0$i18$lcssa = 0, $R$1$i = 0, $R$1$i$i = 0, $R$1$i20 = 0, $RP$0$i = 0, $RP$0$i$i = 0, $RP$0$i$i$lcssa = 0, $RP$0$i$lcssa = 0; - var $RP$0$i17 = 0, $RP$0$i17$lcssa = 0, $T$0$lcssa$i = 0, $T$0$lcssa$i$i = 0, $T$0$lcssa$i25$i = 0, $T$028$i = 0, $T$028$i$lcssa = 0, $T$050$i$i = 0, $T$050$i$i$lcssa = 0, $T$06$i$i = 0, $T$06$i$i$lcssa = 0, $br$0$ph$i = 0, $cond$i = 0, $cond$i$i = 0, $cond$i21 = 0, $exitcond$i$i = 0, $i$02$i$i = 0, $idx$0$i = 0, $mem$0 = 0, $nb$0 = 0; - var $not$$i = 0, $not$$i$i = 0, $not$$i26$i = 0, $oldfirst$0$i$i = 0, $or$cond$i = 0, $or$cond$i30 = 0, $or$cond1$i = 0, $or$cond19$i = 0, $or$cond2$i = 0, $or$cond3$i = 0, $or$cond5$i = 0, $or$cond57$i = 0, $or$cond6$i = 0, $or$cond8$i = 0, $or$cond9$i = 0, $qsize$0$i$i = 0, $rsize$0$i = 0, $rsize$0$i$lcssa = 0, $rsize$0$i15 = 0, $rsize$1$i = 0; - var $rsize$2$i = 0, $rsize$3$lcssa$i = 0, $rsize$331$i = 0, $rst$0$i = 0, $rst$1$i = 0, $sizebits$0$i = 0, $sp$0$i$i = 0, $sp$0$i$i$i = 0, $sp$084$i = 0, $sp$084$i$lcssa = 0, $sp$183$i = 0, $sp$183$i$lcssa = 0, $ssize$0$$i = 0, $ssize$0$i = 0, $ssize$1$ph$i = 0, $ssize$2$i = 0, $t$0$i = 0, $t$0$i14 = 0, $t$1$i = 0, $t$2$ph$i = 0; - var $t$2$v$3$i = 0, $t$230$i = 0, $tbase$255$i = 0, $tsize$0$ph$i = 0, $tsize$0323944$i = 0, $tsize$1$i = 0, $tsize$254$i = 0, $v$0$i = 0, $v$0$i$lcssa = 0, $v$0$i16 = 0, $v$1$i = 0, $v$2$i = 0, $v$3$lcssa$i = 0, $v$3$ph$i = 0, $v$332$i = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ($bytes>>>0)<(245); - do { - if ($0) { - $1 = ($bytes>>>0)<(11); - $2 = (($bytes) + 11)|0; - $3 = $2 & -8; - $4 = $1 ? 16 : $3; - $5 = $4 >>> 3; - $6 = HEAP32[9064>>2]|0; - $7 = $6 >>> $5; - $8 = $7 & 3; - $9 = ($8|0)==(0); - if (!($9)) { - $10 = $7 & 1; - $11 = $10 ^ 1; - $12 = (($11) + ($5))|0; - $13 = $12 << 1; - $14 = (9104 + ($13<<2)|0); - $$sum10 = (($13) + 2)|0; - $15 = (9104 + ($$sum10<<2)|0); - $16 = HEAP32[$15>>2]|0; - $17 = ((($16)) + 8|0); - $18 = HEAP32[$17>>2]|0; - $19 = ($14|0)==($18|0); - do { - if ($19) { - $20 = 1 << $12; - $21 = $20 ^ -1; - $22 = $6 & $21; - HEAP32[9064>>2] = $22; - } else { - $23 = HEAP32[(9080)>>2]|0; - $24 = ($18>>>0)<($23>>>0); - if ($24) { - _abort(); - // unreachable; - } - $25 = ((($18)) + 12|0); - $26 = HEAP32[$25>>2]|0; - $27 = ($26|0)==($16|0); - if ($27) { - HEAP32[$25>>2] = $14; - HEAP32[$15>>2] = $18; - break; - } else { - _abort(); - // unreachable; - } - } - } while(0); - $28 = $12 << 3; - $29 = $28 | 3; - $30 = ((($16)) + 4|0); - HEAP32[$30>>2] = $29; - $$sum1112 = $28 | 4; - $31 = (($16) + ($$sum1112)|0); - $32 = HEAP32[$31>>2]|0; - $33 = $32 | 1; - HEAP32[$31>>2] = $33; - $mem$0 = $17; - return ($mem$0|0); - } - $34 = HEAP32[(9072)>>2]|0; - $35 = ($4>>>0)>($34>>>0); - if ($35) { - $36 = ($7|0)==(0); - if (!($36)) { - $37 = $7 << $5; - $38 = 2 << $5; - $39 = (0 - ($38))|0; - $40 = $38 | $39; - $41 = $37 & $40; - $42 = (0 - ($41))|0; - $43 = $41 & $42; - $44 = (($43) + -1)|0; - $45 = $44 >>> 12; - $46 = $45 & 16; - $47 = $44 >>> $46; - $48 = $47 >>> 5; - $49 = $48 & 8; - $50 = $49 | $46; - $51 = $47 >>> $49; - $52 = $51 >>> 2; - $53 = $52 & 4; - $54 = $50 | $53; - $55 = $51 >>> $53; - $56 = $55 >>> 1; - $57 = $56 & 2; - $58 = $54 | $57; - $59 = $55 >>> $57; - $60 = $59 >>> 1; - $61 = $60 & 1; - $62 = $58 | $61; - $63 = $59 >>> $61; - $64 = (($62) + ($63))|0; - $65 = $64 << 1; - $66 = (9104 + ($65<<2)|0); - $$sum4 = (($65) + 2)|0; - $67 = (9104 + ($$sum4<<2)|0); - $68 = HEAP32[$67>>2]|0; - $69 = ((($68)) + 8|0); - $70 = HEAP32[$69>>2]|0; - $71 = ($66|0)==($70|0); - do { - if ($71) { - $72 = 1 << $64; - $73 = $72 ^ -1; - $74 = $6 & $73; - HEAP32[9064>>2] = $74; - $88 = $34; - } else { - $75 = HEAP32[(9080)>>2]|0; - $76 = ($70>>>0)<($75>>>0); - if ($76) { - _abort(); - // unreachable; - } - $77 = ((($70)) + 12|0); - $78 = HEAP32[$77>>2]|0; - $79 = ($78|0)==($68|0); - if ($79) { - HEAP32[$77>>2] = $66; - HEAP32[$67>>2] = $70; - $$pre = HEAP32[(9072)>>2]|0; - $88 = $$pre; - break; - } else { - _abort(); - // unreachable; - } - } - } while(0); - $80 = $64 << 3; - $81 = (($80) - ($4))|0; - $82 = $4 | 3; - $83 = ((($68)) + 4|0); - HEAP32[$83>>2] = $82; - $84 = (($68) + ($4)|0); - $85 = $81 | 1; - $$sum56 = $4 | 4; - $86 = (($68) + ($$sum56)|0); - HEAP32[$86>>2] = $85; - $87 = (($68) + ($80)|0); - HEAP32[$87>>2] = $81; - $89 = ($88|0)==(0); - if (!($89)) { - $90 = HEAP32[(9084)>>2]|0; - $91 = $88 >>> 3; - $92 = $91 << 1; - $93 = (9104 + ($92<<2)|0); - $94 = HEAP32[9064>>2]|0; - $95 = 1 << $91; - $96 = $94 & $95; - $97 = ($96|0)==(0); - if ($97) { - $98 = $94 | $95; - HEAP32[9064>>2] = $98; - $$pre105 = (($92) + 2)|0; - $$pre106 = (9104 + ($$pre105<<2)|0); - $$pre$phiZ2D = $$pre106;$F4$0 = $93; - } else { - $$sum9 = (($92) + 2)|0; - $99 = (9104 + ($$sum9<<2)|0); - $100 = HEAP32[$99>>2]|0; - $101 = HEAP32[(9080)>>2]|0; - $102 = ($100>>>0)<($101>>>0); - if ($102) { - _abort(); - // unreachable; - } else { - $$pre$phiZ2D = $99;$F4$0 = $100; - } - } - HEAP32[$$pre$phiZ2D>>2] = $90; - $103 = ((($F4$0)) + 12|0); - HEAP32[$103>>2] = $90; - $104 = ((($90)) + 8|0); - HEAP32[$104>>2] = $F4$0; - $105 = ((($90)) + 12|0); - HEAP32[$105>>2] = $93; - } - HEAP32[(9072)>>2] = $81; - HEAP32[(9084)>>2] = $84; - $mem$0 = $69; - return ($mem$0|0); - } - $106 = HEAP32[(9068)>>2]|0; - $107 = ($106|0)==(0); - if ($107) { - $nb$0 = $4; - } else { - $108 = (0 - ($106))|0; - $109 = $106 & $108; - $110 = (($109) + -1)|0; - $111 = $110 >>> 12; - $112 = $111 & 16; - $113 = $110 >>> $112; - $114 = $113 >>> 5; - $115 = $114 & 8; - $116 = $115 | $112; - $117 = $113 >>> $115; - $118 = $117 >>> 2; - $119 = $118 & 4; - $120 = $116 | $119; - $121 = $117 >>> $119; - $122 = $121 >>> 1; - $123 = $122 & 2; - $124 = $120 | $123; - $125 = $121 >>> $123; - $126 = $125 >>> 1; - $127 = $126 & 1; - $128 = $124 | $127; - $129 = $125 >>> $127; - $130 = (($128) + ($129))|0; - $131 = (9368 + ($130<<2)|0); - $132 = HEAP32[$131>>2]|0; - $133 = ((($132)) + 4|0); - $134 = HEAP32[$133>>2]|0; - $135 = $134 & -8; - $136 = (($135) - ($4))|0; - $rsize$0$i = $136;$t$0$i = $132;$v$0$i = $132; - while(1) { - $137 = ((($t$0$i)) + 16|0); - $138 = HEAP32[$137>>2]|0; - $139 = ($138|0)==(0|0); - if ($139) { - $140 = ((($t$0$i)) + 20|0); - $141 = HEAP32[$140>>2]|0; - $142 = ($141|0)==(0|0); - if ($142) { - $rsize$0$i$lcssa = $rsize$0$i;$v$0$i$lcssa = $v$0$i; - break; - } else { - $144 = $141; - } - } else { - $144 = $138; - } - $143 = ((($144)) + 4|0); - $145 = HEAP32[$143>>2]|0; - $146 = $145 & -8; - $147 = (($146) - ($4))|0; - $148 = ($147>>>0)<($rsize$0$i>>>0); - $$rsize$0$i = $148 ? $147 : $rsize$0$i; - $$v$0$i = $148 ? $144 : $v$0$i; - $rsize$0$i = $$rsize$0$i;$t$0$i = $144;$v$0$i = $$v$0$i; - } - $149 = HEAP32[(9080)>>2]|0; - $150 = ($v$0$i$lcssa>>>0)<($149>>>0); - if ($150) { - _abort(); - // unreachable; - } - $151 = (($v$0$i$lcssa) + ($4)|0); - $152 = ($v$0$i$lcssa>>>0)<($151>>>0); - if (!($152)) { - _abort(); - // unreachable; - } - $153 = ((($v$0$i$lcssa)) + 24|0); - $154 = HEAP32[$153>>2]|0; - $155 = ((($v$0$i$lcssa)) + 12|0); - $156 = HEAP32[$155>>2]|0; - $157 = ($156|0)==($v$0$i$lcssa|0); - do { - if ($157) { - $167 = ((($v$0$i$lcssa)) + 20|0); - $168 = HEAP32[$167>>2]|0; - $169 = ($168|0)==(0|0); - if ($169) { - $170 = ((($v$0$i$lcssa)) + 16|0); - $171 = HEAP32[$170>>2]|0; - $172 = ($171|0)==(0|0); - if ($172) { - $R$1$i = 0; - break; - } else { - $R$0$i = $171;$RP$0$i = $170; - } - } else { - $R$0$i = $168;$RP$0$i = $167; - } - while(1) { - $173 = ((($R$0$i)) + 20|0); - $174 = HEAP32[$173>>2]|0; - $175 = ($174|0)==(0|0); - if (!($175)) { - $R$0$i = $174;$RP$0$i = $173; - continue; - } - $176 = ((($R$0$i)) + 16|0); - $177 = HEAP32[$176>>2]|0; - $178 = ($177|0)==(0|0); - if ($178) { - $R$0$i$lcssa = $R$0$i;$RP$0$i$lcssa = $RP$0$i; - break; - } else { - $R$0$i = $177;$RP$0$i = $176; - } - } - $179 = ($RP$0$i$lcssa>>>0)<($149>>>0); - if ($179) { - _abort(); - // unreachable; - } else { - HEAP32[$RP$0$i$lcssa>>2] = 0; - $R$1$i = $R$0$i$lcssa; - break; - } - } else { - $158 = ((($v$0$i$lcssa)) + 8|0); - $159 = HEAP32[$158>>2]|0; - $160 = ($159>>>0)<($149>>>0); - if ($160) { - _abort(); - // unreachable; - } - $161 = ((($159)) + 12|0); - $162 = HEAP32[$161>>2]|0; - $163 = ($162|0)==($v$0$i$lcssa|0); - if (!($163)) { - _abort(); - // unreachable; - } - $164 = ((($156)) + 8|0); - $165 = HEAP32[$164>>2]|0; - $166 = ($165|0)==($v$0$i$lcssa|0); - if ($166) { - HEAP32[$161>>2] = $156; - HEAP32[$164>>2] = $159; - $R$1$i = $156; - break; - } else { - _abort(); - // unreachable; - } - } - } while(0); - $180 = ($154|0)==(0|0); - do { - if (!($180)) { - $181 = ((($v$0$i$lcssa)) + 28|0); - $182 = HEAP32[$181>>2]|0; - $183 = (9368 + ($182<<2)|0); - $184 = HEAP32[$183>>2]|0; - $185 = ($v$0$i$lcssa|0)==($184|0); - if ($185) { - HEAP32[$183>>2] = $R$1$i; - $cond$i = ($R$1$i|0)==(0|0); - if ($cond$i) { - $186 = 1 << $182; - $187 = $186 ^ -1; - $188 = HEAP32[(9068)>>2]|0; - $189 = $188 & $187; - HEAP32[(9068)>>2] = $189; - break; - } - } else { - $190 = HEAP32[(9080)>>2]|0; - $191 = ($154>>>0)<($190>>>0); - if ($191) { - _abort(); - // unreachable; - } - $192 = ((($154)) + 16|0); - $193 = HEAP32[$192>>2]|0; - $194 = ($193|0)==($v$0$i$lcssa|0); - if ($194) { - HEAP32[$192>>2] = $R$1$i; - } else { - $195 = ((($154)) + 20|0); - HEAP32[$195>>2] = $R$1$i; - } - $196 = ($R$1$i|0)==(0|0); - if ($196) { - break; - } - } - $197 = HEAP32[(9080)>>2]|0; - $198 = ($R$1$i>>>0)<($197>>>0); - if ($198) { - _abort(); - // unreachable; - } - $199 = ((($R$1$i)) + 24|0); - HEAP32[$199>>2] = $154; - $200 = ((($v$0$i$lcssa)) + 16|0); - $201 = HEAP32[$200>>2]|0; - $202 = ($201|0)==(0|0); - do { - if (!($202)) { - $203 = ($201>>>0)<($197>>>0); - if ($203) { - _abort(); - // unreachable; - } else { - $204 = ((($R$1$i)) + 16|0); - HEAP32[$204>>2] = $201; - $205 = ((($201)) + 24|0); - HEAP32[$205>>2] = $R$1$i; - break; - } - } - } while(0); - $206 = ((($v$0$i$lcssa)) + 20|0); - $207 = HEAP32[$206>>2]|0; - $208 = ($207|0)==(0|0); - if (!($208)) { - $209 = HEAP32[(9080)>>2]|0; - $210 = ($207>>>0)<($209>>>0); - if ($210) { - _abort(); - // unreachable; - } else { - $211 = ((($R$1$i)) + 20|0); - HEAP32[$211>>2] = $207; - $212 = ((($207)) + 24|0); - HEAP32[$212>>2] = $R$1$i; - break; - } - } - } - } while(0); - $213 = ($rsize$0$i$lcssa>>>0)<(16); - if ($213) { - $214 = (($rsize$0$i$lcssa) + ($4))|0; - $215 = $214 | 3; - $216 = ((($v$0$i$lcssa)) + 4|0); - HEAP32[$216>>2] = $215; - $$sum4$i = (($214) + 4)|0; - $217 = (($v$0$i$lcssa) + ($$sum4$i)|0); - $218 = HEAP32[$217>>2]|0; - $219 = $218 | 1; - HEAP32[$217>>2] = $219; - } else { - $220 = $4 | 3; - $221 = ((($v$0$i$lcssa)) + 4|0); - HEAP32[$221>>2] = $220; - $222 = $rsize$0$i$lcssa | 1; - $$sum$i35 = $4 | 4; - $223 = (($v$0$i$lcssa) + ($$sum$i35)|0); - HEAP32[$223>>2] = $222; - $$sum1$i = (($rsize$0$i$lcssa) + ($4))|0; - $224 = (($v$0$i$lcssa) + ($$sum1$i)|0); - HEAP32[$224>>2] = $rsize$0$i$lcssa; - $225 = HEAP32[(9072)>>2]|0; - $226 = ($225|0)==(0); - if (!($226)) { - $227 = HEAP32[(9084)>>2]|0; - $228 = $225 >>> 3; - $229 = $228 << 1; - $230 = (9104 + ($229<<2)|0); - $231 = HEAP32[9064>>2]|0; - $232 = 1 << $228; - $233 = $231 & $232; - $234 = ($233|0)==(0); - if ($234) { - $235 = $231 | $232; - HEAP32[9064>>2] = $235; - $$pre$i = (($229) + 2)|0; - $$pre8$i = (9104 + ($$pre$i<<2)|0); - $$pre$phi$iZ2D = $$pre8$i;$F1$0$i = $230; - } else { - $$sum3$i = (($229) + 2)|0; - $236 = (9104 + ($$sum3$i<<2)|0); - $237 = HEAP32[$236>>2]|0; - $238 = HEAP32[(9080)>>2]|0; - $239 = ($237>>>0)<($238>>>0); - if ($239) { - _abort(); - // unreachable; - } else { - $$pre$phi$iZ2D = $236;$F1$0$i = $237; - } - } - HEAP32[$$pre$phi$iZ2D>>2] = $227; - $240 = ((($F1$0$i)) + 12|0); - HEAP32[$240>>2] = $227; - $241 = ((($227)) + 8|0); - HEAP32[$241>>2] = $F1$0$i; - $242 = ((($227)) + 12|0); - HEAP32[$242>>2] = $230; - } - HEAP32[(9072)>>2] = $rsize$0$i$lcssa; - HEAP32[(9084)>>2] = $151; - } - $243 = ((($v$0$i$lcssa)) + 8|0); - $mem$0 = $243; - return ($mem$0|0); - } - } else { - $nb$0 = $4; - } - } else { - $244 = ($bytes>>>0)>(4294967231); - if ($244) { - $nb$0 = -1; - } else { - $245 = (($bytes) + 11)|0; - $246 = $245 & -8; - $247 = HEAP32[(9068)>>2]|0; - $248 = ($247|0)==(0); - if ($248) { - $nb$0 = $246; - } else { - $249 = (0 - ($246))|0; - $250 = $245 >>> 8; - $251 = ($250|0)==(0); - if ($251) { - $idx$0$i = 0; - } else { - $252 = ($246>>>0)>(16777215); - if ($252) { - $idx$0$i = 31; - } else { - $253 = (($250) + 1048320)|0; - $254 = $253 >>> 16; - $255 = $254 & 8; - $256 = $250 << $255; - $257 = (($256) + 520192)|0; - $258 = $257 >>> 16; - $259 = $258 & 4; - $260 = $259 | $255; - $261 = $256 << $259; - $262 = (($261) + 245760)|0; - $263 = $262 >>> 16; - $264 = $263 & 2; - $265 = $260 | $264; - $266 = (14 - ($265))|0; - $267 = $261 << $264; - $268 = $267 >>> 15; - $269 = (($266) + ($268))|0; - $270 = $269 << 1; - $271 = (($269) + 7)|0; - $272 = $246 >>> $271; - $273 = $272 & 1; - $274 = $273 | $270; - $idx$0$i = $274; - } - } - $275 = (9368 + ($idx$0$i<<2)|0); - $276 = HEAP32[$275>>2]|0; - $277 = ($276|0)==(0|0); - L123: do { - if ($277) { - $rsize$2$i = $249;$t$1$i = 0;$v$2$i = 0; - label = 86; - } else { - $278 = ($idx$0$i|0)==(31); - $279 = $idx$0$i >>> 1; - $280 = (25 - ($279))|0; - $281 = $278 ? 0 : $280; - $282 = $246 << $281; - $rsize$0$i15 = $249;$rst$0$i = 0;$sizebits$0$i = $282;$t$0$i14 = $276;$v$0$i16 = 0; - while(1) { - $283 = ((($t$0$i14)) + 4|0); - $284 = HEAP32[$283>>2]|0; - $285 = $284 & -8; - $286 = (($285) - ($246))|0; - $287 = ($286>>>0)<($rsize$0$i15>>>0); - if ($287) { - $288 = ($285|0)==($246|0); - if ($288) { - $rsize$331$i = $286;$t$230$i = $t$0$i14;$v$332$i = $t$0$i14; - label = 90; - break L123; - } else { - $rsize$1$i = $286;$v$1$i = $t$0$i14; - } - } else { - $rsize$1$i = $rsize$0$i15;$v$1$i = $v$0$i16; - } - $289 = ((($t$0$i14)) + 20|0); - $290 = HEAP32[$289>>2]|0; - $291 = $sizebits$0$i >>> 31; - $292 = (((($t$0$i14)) + 16|0) + ($291<<2)|0); - $293 = HEAP32[$292>>2]|0; - $294 = ($290|0)==(0|0); - $295 = ($290|0)==($293|0); - $or$cond19$i = $294 | $295; - $rst$1$i = $or$cond19$i ? $rst$0$i : $290; - $296 = ($293|0)==(0|0); - $297 = $sizebits$0$i << 1; - if ($296) { - $rsize$2$i = $rsize$1$i;$t$1$i = $rst$1$i;$v$2$i = $v$1$i; - label = 86; - break; - } else { - $rsize$0$i15 = $rsize$1$i;$rst$0$i = $rst$1$i;$sizebits$0$i = $297;$t$0$i14 = $293;$v$0$i16 = $v$1$i; - } - } - } - } while(0); - if ((label|0) == 86) { - $298 = ($t$1$i|0)==(0|0); - $299 = ($v$2$i|0)==(0|0); - $or$cond$i = $298 & $299; - if ($or$cond$i) { - $300 = 2 << $idx$0$i; - $301 = (0 - ($300))|0; - $302 = $300 | $301; - $303 = $247 & $302; - $304 = ($303|0)==(0); - if ($304) { - $nb$0 = $246; - break; - } - $305 = (0 - ($303))|0; - $306 = $303 & $305; - $307 = (($306) + -1)|0; - $308 = $307 >>> 12; - $309 = $308 & 16; - $310 = $307 >>> $309; - $311 = $310 >>> 5; - $312 = $311 & 8; - $313 = $312 | $309; - $314 = $310 >>> $312; - $315 = $314 >>> 2; - $316 = $315 & 4; - $317 = $313 | $316; - $318 = $314 >>> $316; - $319 = $318 >>> 1; - $320 = $319 & 2; - $321 = $317 | $320; - $322 = $318 >>> $320; - $323 = $322 >>> 1; - $324 = $323 & 1; - $325 = $321 | $324; - $326 = $322 >>> $324; - $327 = (($325) + ($326))|0; - $328 = (9368 + ($327<<2)|0); - $329 = HEAP32[$328>>2]|0; - $t$2$ph$i = $329;$v$3$ph$i = 0; - } else { - $t$2$ph$i = $t$1$i;$v$3$ph$i = $v$2$i; - } - $330 = ($t$2$ph$i|0)==(0|0); - if ($330) { - $rsize$3$lcssa$i = $rsize$2$i;$v$3$lcssa$i = $v$3$ph$i; - } else { - $rsize$331$i = $rsize$2$i;$t$230$i = $t$2$ph$i;$v$332$i = $v$3$ph$i; - label = 90; - } - } - if ((label|0) == 90) { - while(1) { - label = 0; - $331 = ((($t$230$i)) + 4|0); - $332 = HEAP32[$331>>2]|0; - $333 = $332 & -8; - $334 = (($333) - ($246))|0; - $335 = ($334>>>0)<($rsize$331$i>>>0); - $$rsize$3$i = $335 ? $334 : $rsize$331$i; - $t$2$v$3$i = $335 ? $t$230$i : $v$332$i; - $336 = ((($t$230$i)) + 16|0); - $337 = HEAP32[$336>>2]|0; - $338 = ($337|0)==(0|0); - if (!($338)) { - $rsize$331$i = $$rsize$3$i;$t$230$i = $337;$v$332$i = $t$2$v$3$i; - label = 90; - continue; - } - $339 = ((($t$230$i)) + 20|0); - $340 = HEAP32[$339>>2]|0; - $341 = ($340|0)==(0|0); - if ($341) { - $rsize$3$lcssa$i = $$rsize$3$i;$v$3$lcssa$i = $t$2$v$3$i; - break; - } else { - $rsize$331$i = $$rsize$3$i;$t$230$i = $340;$v$332$i = $t$2$v$3$i; - label = 90; - } - } - } - $342 = ($v$3$lcssa$i|0)==(0|0); - if ($342) { - $nb$0 = $246; - } else { - $343 = HEAP32[(9072)>>2]|0; - $344 = (($343) - ($246))|0; - $345 = ($rsize$3$lcssa$i>>>0)<($344>>>0); - if ($345) { - $346 = HEAP32[(9080)>>2]|0; - $347 = ($v$3$lcssa$i>>>0)<($346>>>0); - if ($347) { - _abort(); - // unreachable; - } - $348 = (($v$3$lcssa$i) + ($246)|0); - $349 = ($v$3$lcssa$i>>>0)<($348>>>0); - if (!($349)) { - _abort(); - // unreachable; - } - $350 = ((($v$3$lcssa$i)) + 24|0); - $351 = HEAP32[$350>>2]|0; - $352 = ((($v$3$lcssa$i)) + 12|0); - $353 = HEAP32[$352>>2]|0; - $354 = ($353|0)==($v$3$lcssa$i|0); - do { - if ($354) { - $364 = ((($v$3$lcssa$i)) + 20|0); - $365 = HEAP32[$364>>2]|0; - $366 = ($365|0)==(0|0); - if ($366) { - $367 = ((($v$3$lcssa$i)) + 16|0); - $368 = HEAP32[$367>>2]|0; - $369 = ($368|0)==(0|0); - if ($369) { - $R$1$i20 = 0; - break; - } else { - $R$0$i18 = $368;$RP$0$i17 = $367; - } - } else { - $R$0$i18 = $365;$RP$0$i17 = $364; - } - while(1) { - $370 = ((($R$0$i18)) + 20|0); - $371 = HEAP32[$370>>2]|0; - $372 = ($371|0)==(0|0); - if (!($372)) { - $R$0$i18 = $371;$RP$0$i17 = $370; - continue; - } - $373 = ((($R$0$i18)) + 16|0); - $374 = HEAP32[$373>>2]|0; - $375 = ($374|0)==(0|0); - if ($375) { - $R$0$i18$lcssa = $R$0$i18;$RP$0$i17$lcssa = $RP$0$i17; - break; - } else { - $R$0$i18 = $374;$RP$0$i17 = $373; - } - } - $376 = ($RP$0$i17$lcssa>>>0)<($346>>>0); - if ($376) { - _abort(); - // unreachable; - } else { - HEAP32[$RP$0$i17$lcssa>>2] = 0; - $R$1$i20 = $R$0$i18$lcssa; - break; - } - } else { - $355 = ((($v$3$lcssa$i)) + 8|0); - $356 = HEAP32[$355>>2]|0; - $357 = ($356>>>0)<($346>>>0); - if ($357) { - _abort(); - // unreachable; - } - $358 = ((($356)) + 12|0); - $359 = HEAP32[$358>>2]|0; - $360 = ($359|0)==($v$3$lcssa$i|0); - if (!($360)) { - _abort(); - // unreachable; - } - $361 = ((($353)) + 8|0); - $362 = HEAP32[$361>>2]|0; - $363 = ($362|0)==($v$3$lcssa$i|0); - if ($363) { - HEAP32[$358>>2] = $353; - HEAP32[$361>>2] = $356; - $R$1$i20 = $353; - break; - } else { - _abort(); - // unreachable; - } - } - } while(0); - $377 = ($351|0)==(0|0); - do { - if (!($377)) { - $378 = ((($v$3$lcssa$i)) + 28|0); - $379 = HEAP32[$378>>2]|0; - $380 = (9368 + ($379<<2)|0); - $381 = HEAP32[$380>>2]|0; - $382 = ($v$3$lcssa$i|0)==($381|0); - if ($382) { - HEAP32[$380>>2] = $R$1$i20; - $cond$i21 = ($R$1$i20|0)==(0|0); - if ($cond$i21) { - $383 = 1 << $379; - $384 = $383 ^ -1; - $385 = HEAP32[(9068)>>2]|0; - $386 = $385 & $384; - HEAP32[(9068)>>2] = $386; - break; - } - } else { - $387 = HEAP32[(9080)>>2]|0; - $388 = ($351>>>0)<($387>>>0); - if ($388) { - _abort(); - // unreachable; - } - $389 = ((($351)) + 16|0); - $390 = HEAP32[$389>>2]|0; - $391 = ($390|0)==($v$3$lcssa$i|0); - if ($391) { - HEAP32[$389>>2] = $R$1$i20; - } else { - $392 = ((($351)) + 20|0); - HEAP32[$392>>2] = $R$1$i20; - } - $393 = ($R$1$i20|0)==(0|0); - if ($393) { - break; - } - } - $394 = HEAP32[(9080)>>2]|0; - $395 = ($R$1$i20>>>0)<($394>>>0); - if ($395) { - _abort(); - // unreachable; - } - $396 = ((($R$1$i20)) + 24|0); - HEAP32[$396>>2] = $351; - $397 = ((($v$3$lcssa$i)) + 16|0); - $398 = HEAP32[$397>>2]|0; - $399 = ($398|0)==(0|0); - do { - if (!($399)) { - $400 = ($398>>>0)<($394>>>0); - if ($400) { - _abort(); - // unreachable; - } else { - $401 = ((($R$1$i20)) + 16|0); - HEAP32[$401>>2] = $398; - $402 = ((($398)) + 24|0); - HEAP32[$402>>2] = $R$1$i20; - break; - } - } - } while(0); - $403 = ((($v$3$lcssa$i)) + 20|0); - $404 = HEAP32[$403>>2]|0; - $405 = ($404|0)==(0|0); - if (!($405)) { - $406 = HEAP32[(9080)>>2]|0; - $407 = ($404>>>0)<($406>>>0); - if ($407) { - _abort(); - // unreachable; - } else { - $408 = ((($R$1$i20)) + 20|0); - HEAP32[$408>>2] = $404; - $409 = ((($404)) + 24|0); - HEAP32[$409>>2] = $R$1$i20; - break; - } - } - } - } while(0); - $410 = ($rsize$3$lcssa$i>>>0)<(16); - L199: do { - if ($410) { - $411 = (($rsize$3$lcssa$i) + ($246))|0; - $412 = $411 | 3; - $413 = ((($v$3$lcssa$i)) + 4|0); - HEAP32[$413>>2] = $412; - $$sum18$i = (($411) + 4)|0; - $414 = (($v$3$lcssa$i) + ($$sum18$i)|0); - $415 = HEAP32[$414>>2]|0; - $416 = $415 | 1; - HEAP32[$414>>2] = $416; - } else { - $417 = $246 | 3; - $418 = ((($v$3$lcssa$i)) + 4|0); - HEAP32[$418>>2] = $417; - $419 = $rsize$3$lcssa$i | 1; - $$sum$i2334 = $246 | 4; - $420 = (($v$3$lcssa$i) + ($$sum$i2334)|0); - HEAP32[$420>>2] = $419; - $$sum1$i24 = (($rsize$3$lcssa$i) + ($246))|0; - $421 = (($v$3$lcssa$i) + ($$sum1$i24)|0); - HEAP32[$421>>2] = $rsize$3$lcssa$i; - $422 = $rsize$3$lcssa$i >>> 3; - $423 = ($rsize$3$lcssa$i>>>0)<(256); - if ($423) { - $424 = $422 << 1; - $425 = (9104 + ($424<<2)|0); - $426 = HEAP32[9064>>2]|0; - $427 = 1 << $422; - $428 = $426 & $427; - $429 = ($428|0)==(0); - if ($429) { - $430 = $426 | $427; - HEAP32[9064>>2] = $430; - $$pre$i25 = (($424) + 2)|0; - $$pre43$i = (9104 + ($$pre$i25<<2)|0); - $$pre$phi$i26Z2D = $$pre43$i;$F5$0$i = $425; - } else { - $$sum17$i = (($424) + 2)|0; - $431 = (9104 + ($$sum17$i<<2)|0); - $432 = HEAP32[$431>>2]|0; - $433 = HEAP32[(9080)>>2]|0; - $434 = ($432>>>0)<($433>>>0); - if ($434) { - _abort(); - // unreachable; - } else { - $$pre$phi$i26Z2D = $431;$F5$0$i = $432; - } - } - HEAP32[$$pre$phi$i26Z2D>>2] = $348; - $435 = ((($F5$0$i)) + 12|0); - HEAP32[$435>>2] = $348; - $$sum15$i = (($246) + 8)|0; - $436 = (($v$3$lcssa$i) + ($$sum15$i)|0); - HEAP32[$436>>2] = $F5$0$i; - $$sum16$i = (($246) + 12)|0; - $437 = (($v$3$lcssa$i) + ($$sum16$i)|0); - HEAP32[$437>>2] = $425; - break; - } - $438 = $rsize$3$lcssa$i >>> 8; - $439 = ($438|0)==(0); - if ($439) { - $I7$0$i = 0; - } else { - $440 = ($rsize$3$lcssa$i>>>0)>(16777215); - if ($440) { - $I7$0$i = 31; - } else { - $441 = (($438) + 1048320)|0; - $442 = $441 >>> 16; - $443 = $442 & 8; - $444 = $438 << $443; - $445 = (($444) + 520192)|0; - $446 = $445 >>> 16; - $447 = $446 & 4; - $448 = $447 | $443; - $449 = $444 << $447; - $450 = (($449) + 245760)|0; - $451 = $450 >>> 16; - $452 = $451 & 2; - $453 = $448 | $452; - $454 = (14 - ($453))|0; - $455 = $449 << $452; - $456 = $455 >>> 15; - $457 = (($454) + ($456))|0; - $458 = $457 << 1; - $459 = (($457) + 7)|0; - $460 = $rsize$3$lcssa$i >>> $459; - $461 = $460 & 1; - $462 = $461 | $458; - $I7$0$i = $462; - } - } - $463 = (9368 + ($I7$0$i<<2)|0); - $$sum2$i = (($246) + 28)|0; - $464 = (($v$3$lcssa$i) + ($$sum2$i)|0); - HEAP32[$464>>2] = $I7$0$i; - $$sum3$i27 = (($246) + 16)|0; - $465 = (($v$3$lcssa$i) + ($$sum3$i27)|0); - $$sum4$i28 = (($246) + 20)|0; - $466 = (($v$3$lcssa$i) + ($$sum4$i28)|0); - HEAP32[$466>>2] = 0; - HEAP32[$465>>2] = 0; - $467 = HEAP32[(9068)>>2]|0; - $468 = 1 << $I7$0$i; - $469 = $467 & $468; - $470 = ($469|0)==(0); - if ($470) { - $471 = $467 | $468; - HEAP32[(9068)>>2] = $471; - HEAP32[$463>>2] = $348; - $$sum5$i = (($246) + 24)|0; - $472 = (($v$3$lcssa$i) + ($$sum5$i)|0); - HEAP32[$472>>2] = $463; - $$sum6$i = (($246) + 12)|0; - $473 = (($v$3$lcssa$i) + ($$sum6$i)|0); - HEAP32[$473>>2] = $348; - $$sum7$i = (($246) + 8)|0; - $474 = (($v$3$lcssa$i) + ($$sum7$i)|0); - HEAP32[$474>>2] = $348; - break; - } - $475 = HEAP32[$463>>2]|0; - $476 = ((($475)) + 4|0); - $477 = HEAP32[$476>>2]|0; - $478 = $477 & -8; - $479 = ($478|0)==($rsize$3$lcssa$i|0); - L217: do { - if ($479) { - $T$0$lcssa$i = $475; - } else { - $480 = ($I7$0$i|0)==(31); - $481 = $I7$0$i >>> 1; - $482 = (25 - ($481))|0; - $483 = $480 ? 0 : $482; - $484 = $rsize$3$lcssa$i << $483; - $K12$029$i = $484;$T$028$i = $475; - while(1) { - $491 = $K12$029$i >>> 31; - $492 = (((($T$028$i)) + 16|0) + ($491<<2)|0); - $487 = HEAP32[$492>>2]|0; - $493 = ($487|0)==(0|0); - if ($493) { - $$lcssa232 = $492;$T$028$i$lcssa = $T$028$i; - break; - } - $485 = $K12$029$i << 1; - $486 = ((($487)) + 4|0); - $488 = HEAP32[$486>>2]|0; - $489 = $488 & -8; - $490 = ($489|0)==($rsize$3$lcssa$i|0); - if ($490) { - $T$0$lcssa$i = $487; - break L217; - } else { - $K12$029$i = $485;$T$028$i = $487; - } - } - $494 = HEAP32[(9080)>>2]|0; - $495 = ($$lcssa232>>>0)<($494>>>0); - if ($495) { - _abort(); - // unreachable; - } else { - HEAP32[$$lcssa232>>2] = $348; - $$sum11$i = (($246) + 24)|0; - $496 = (($v$3$lcssa$i) + ($$sum11$i)|0); - HEAP32[$496>>2] = $T$028$i$lcssa; - $$sum12$i = (($246) + 12)|0; - $497 = (($v$3$lcssa$i) + ($$sum12$i)|0); - HEAP32[$497>>2] = $348; - $$sum13$i = (($246) + 8)|0; - $498 = (($v$3$lcssa$i) + ($$sum13$i)|0); - HEAP32[$498>>2] = $348; - break L199; - } - } - } while(0); - $499 = ((($T$0$lcssa$i)) + 8|0); - $500 = HEAP32[$499>>2]|0; - $501 = HEAP32[(9080)>>2]|0; - $502 = ($500>>>0)>=($501>>>0); - $not$$i = ($T$0$lcssa$i>>>0)>=($501>>>0); - $503 = $502 & $not$$i; - if ($503) { - $504 = ((($500)) + 12|0); - HEAP32[$504>>2] = $348; - HEAP32[$499>>2] = $348; - $$sum8$i = (($246) + 8)|0; - $505 = (($v$3$lcssa$i) + ($$sum8$i)|0); - HEAP32[$505>>2] = $500; - $$sum9$i = (($246) + 12)|0; - $506 = (($v$3$lcssa$i) + ($$sum9$i)|0); - HEAP32[$506>>2] = $T$0$lcssa$i; - $$sum10$i = (($246) + 24)|0; - $507 = (($v$3$lcssa$i) + ($$sum10$i)|0); - HEAP32[$507>>2] = 0; - break; - } else { - _abort(); - // unreachable; - } - } - } while(0); - $508 = ((($v$3$lcssa$i)) + 8|0); - $mem$0 = $508; - return ($mem$0|0); - } else { - $nb$0 = $246; - } - } - } - } - } - } while(0); - $509 = HEAP32[(9072)>>2]|0; - $510 = ($509>>>0)<($nb$0>>>0); - if (!($510)) { - $511 = (($509) - ($nb$0))|0; - $512 = HEAP32[(9084)>>2]|0; - $513 = ($511>>>0)>(15); - if ($513) { - $514 = (($512) + ($nb$0)|0); - HEAP32[(9084)>>2] = $514; - HEAP32[(9072)>>2] = $511; - $515 = $511 | 1; - $$sum2 = (($nb$0) + 4)|0; - $516 = (($512) + ($$sum2)|0); - HEAP32[$516>>2] = $515; - $517 = (($512) + ($509)|0); - HEAP32[$517>>2] = $511; - $518 = $nb$0 | 3; - $519 = ((($512)) + 4|0); - HEAP32[$519>>2] = $518; - } else { - HEAP32[(9072)>>2] = 0; - HEAP32[(9084)>>2] = 0; - $520 = $509 | 3; - $521 = ((($512)) + 4|0); - HEAP32[$521>>2] = $520; - $$sum1 = (($509) + 4)|0; - $522 = (($512) + ($$sum1)|0); - $523 = HEAP32[$522>>2]|0; - $524 = $523 | 1; - HEAP32[$522>>2] = $524; - } - $525 = ((($512)) + 8|0); - $mem$0 = $525; - return ($mem$0|0); - } - $526 = HEAP32[(9076)>>2]|0; - $527 = ($526>>>0)>($nb$0>>>0); - if ($527) { - $528 = (($526) - ($nb$0))|0; - HEAP32[(9076)>>2] = $528; - $529 = HEAP32[(9088)>>2]|0; - $530 = (($529) + ($nb$0)|0); - HEAP32[(9088)>>2] = $530; - $531 = $528 | 1; - $$sum = (($nb$0) + 4)|0; - $532 = (($529) + ($$sum)|0); - HEAP32[$532>>2] = $531; - $533 = $nb$0 | 3; - $534 = ((($529)) + 4|0); - HEAP32[$534>>2] = $533; - $535 = ((($529)) + 8|0); - $mem$0 = $535; - return ($mem$0|0); - } - $536 = HEAP32[9536>>2]|0; - $537 = ($536|0)==(0); - do { - if ($537) { - $538 = (_sysconf(30)|0); - $539 = (($538) + -1)|0; - $540 = $539 & $538; - $541 = ($540|0)==(0); - if ($541) { - HEAP32[(9544)>>2] = $538; - HEAP32[(9540)>>2] = $538; - HEAP32[(9548)>>2] = -1; - HEAP32[(9552)>>2] = -1; - HEAP32[(9556)>>2] = 0; - HEAP32[(9508)>>2] = 0; - $542 = (_time((0|0))|0); - $543 = $542 & -16; - $544 = $543 ^ 1431655768; - HEAP32[9536>>2] = $544; - break; - } else { - _abort(); - // unreachable; - } - } - } while(0); - $545 = (($nb$0) + 48)|0; - $546 = HEAP32[(9544)>>2]|0; - $547 = (($nb$0) + 47)|0; - $548 = (($546) + ($547))|0; - $549 = (0 - ($546))|0; - $550 = $548 & $549; - $551 = ($550>>>0)>($nb$0>>>0); - if (!($551)) { - $mem$0 = 0; - return ($mem$0|0); - } - $552 = HEAP32[(9504)>>2]|0; - $553 = ($552|0)==(0); - if (!($553)) { - $554 = HEAP32[(9496)>>2]|0; - $555 = (($554) + ($550))|0; - $556 = ($555>>>0)<=($554>>>0); - $557 = ($555>>>0)>($552>>>0); - $or$cond1$i = $556 | $557; - if ($or$cond1$i) { - $mem$0 = 0; - return ($mem$0|0); - } - } - $558 = HEAP32[(9508)>>2]|0; - $559 = $558 & 4; - $560 = ($559|0)==(0); - L258: do { - if ($560) { - $561 = HEAP32[(9088)>>2]|0; - $562 = ($561|0)==(0|0); - L260: do { - if ($562) { - label = 174; - } else { - $sp$0$i$i = (9512); - while(1) { - $563 = HEAP32[$sp$0$i$i>>2]|0; - $564 = ($563>>>0)>($561>>>0); - if (!($564)) { - $565 = ((($sp$0$i$i)) + 4|0); - $566 = HEAP32[$565>>2]|0; - $567 = (($563) + ($566)|0); - $568 = ($567>>>0)>($561>>>0); - if ($568) { - $$lcssa228 = $sp$0$i$i;$$lcssa230 = $565; - break; - } - } - $569 = ((($sp$0$i$i)) + 8|0); - $570 = HEAP32[$569>>2]|0; - $571 = ($570|0)==(0|0); - if ($571) { - label = 174; - break L260; - } else { - $sp$0$i$i = $570; - } - } - $594 = HEAP32[(9076)>>2]|0; - $595 = (($548) - ($594))|0; - $596 = $595 & $549; - $597 = ($596>>>0)<(2147483647); - if ($597) { - $598 = (_sbrk(($596|0))|0); - $599 = HEAP32[$$lcssa228>>2]|0; - $600 = HEAP32[$$lcssa230>>2]|0; - $601 = (($599) + ($600)|0); - $602 = ($598|0)==($601|0); - $$3$i = $602 ? $596 : 0; - if ($602) { - $603 = ($598|0)==((-1)|0); - if ($603) { - $tsize$0323944$i = $$3$i; - } else { - $tbase$255$i = $598;$tsize$254$i = $$3$i; - label = 194; - break L258; - } - } else { - $br$0$ph$i = $598;$ssize$1$ph$i = $596;$tsize$0$ph$i = $$3$i; - label = 184; - } - } else { - $tsize$0323944$i = 0; - } - } - } while(0); - do { - if ((label|0) == 174) { - $572 = (_sbrk(0)|0); - $573 = ($572|0)==((-1)|0); - if ($573) { - $tsize$0323944$i = 0; - } else { - $574 = $572; - $575 = HEAP32[(9540)>>2]|0; - $576 = (($575) + -1)|0; - $577 = $576 & $574; - $578 = ($577|0)==(0); - if ($578) { - $ssize$0$i = $550; - } else { - $579 = (($576) + ($574))|0; - $580 = (0 - ($575))|0; - $581 = $579 & $580; - $582 = (($550) - ($574))|0; - $583 = (($582) + ($581))|0; - $ssize$0$i = $583; - } - $584 = HEAP32[(9496)>>2]|0; - $585 = (($584) + ($ssize$0$i))|0; - $586 = ($ssize$0$i>>>0)>($nb$0>>>0); - $587 = ($ssize$0$i>>>0)<(2147483647); - $or$cond$i30 = $586 & $587; - if ($or$cond$i30) { - $588 = HEAP32[(9504)>>2]|0; - $589 = ($588|0)==(0); - if (!($589)) { - $590 = ($585>>>0)<=($584>>>0); - $591 = ($585>>>0)>($588>>>0); - $or$cond2$i = $590 | $591; - if ($or$cond2$i) { - $tsize$0323944$i = 0; - break; - } - } - $592 = (_sbrk(($ssize$0$i|0))|0); - $593 = ($592|0)==($572|0); - $ssize$0$$i = $593 ? $ssize$0$i : 0; - if ($593) { - $tbase$255$i = $572;$tsize$254$i = $ssize$0$$i; - label = 194; - break L258; - } else { - $br$0$ph$i = $592;$ssize$1$ph$i = $ssize$0$i;$tsize$0$ph$i = $ssize$0$$i; - label = 184; - } - } else { - $tsize$0323944$i = 0; - } - } - } - } while(0); - L280: do { - if ((label|0) == 184) { - $604 = (0 - ($ssize$1$ph$i))|0; - $605 = ($br$0$ph$i|0)!=((-1)|0); - $606 = ($ssize$1$ph$i>>>0)<(2147483647); - $or$cond5$i = $606 & $605; - $607 = ($545>>>0)>($ssize$1$ph$i>>>0); - $or$cond6$i = $607 & $or$cond5$i; - do { - if ($or$cond6$i) { - $608 = HEAP32[(9544)>>2]|0; - $609 = (($547) - ($ssize$1$ph$i))|0; - $610 = (($609) + ($608))|0; - $611 = (0 - ($608))|0; - $612 = $610 & $611; - $613 = ($612>>>0)<(2147483647); - if ($613) { - $614 = (_sbrk(($612|0))|0); - $615 = ($614|0)==((-1)|0); - if ($615) { - (_sbrk(($604|0))|0); - $tsize$0323944$i = $tsize$0$ph$i; - break L280; - } else { - $616 = (($612) + ($ssize$1$ph$i))|0; - $ssize$2$i = $616; - break; - } - } else { - $ssize$2$i = $ssize$1$ph$i; - } - } else { - $ssize$2$i = $ssize$1$ph$i; - } - } while(0); - $617 = ($br$0$ph$i|0)==((-1)|0); - if ($617) { - $tsize$0323944$i = $tsize$0$ph$i; - } else { - $tbase$255$i = $br$0$ph$i;$tsize$254$i = $ssize$2$i; - label = 194; - break L258; - } - } - } while(0); - $618 = HEAP32[(9508)>>2]|0; - $619 = $618 | 4; - HEAP32[(9508)>>2] = $619; - $tsize$1$i = $tsize$0323944$i; - label = 191; - } else { - $tsize$1$i = 0; - label = 191; - } - } while(0); - if ((label|0) == 191) { - $620 = ($550>>>0)<(2147483647); - if ($620) { - $621 = (_sbrk(($550|0))|0); - $622 = (_sbrk(0)|0); - $623 = ($621|0)!=((-1)|0); - $624 = ($622|0)!=((-1)|0); - $or$cond3$i = $623 & $624; - $625 = ($621>>>0)<($622>>>0); - $or$cond8$i = $625 & $or$cond3$i; - if ($or$cond8$i) { - $626 = $622; - $627 = $621; - $628 = (($626) - ($627))|0; - $629 = (($nb$0) + 40)|0; - $630 = ($628>>>0)>($629>>>0); - $$tsize$1$i = $630 ? $628 : $tsize$1$i; - if ($630) { - $tbase$255$i = $621;$tsize$254$i = $$tsize$1$i; - label = 194; - } - } - } - } - if ((label|0) == 194) { - $631 = HEAP32[(9496)>>2]|0; - $632 = (($631) + ($tsize$254$i))|0; - HEAP32[(9496)>>2] = $632; - $633 = HEAP32[(9500)>>2]|0; - $634 = ($632>>>0)>($633>>>0); - if ($634) { - HEAP32[(9500)>>2] = $632; - } - $635 = HEAP32[(9088)>>2]|0; - $636 = ($635|0)==(0|0); - L299: do { - if ($636) { - $637 = HEAP32[(9080)>>2]|0; - $638 = ($637|0)==(0|0); - $639 = ($tbase$255$i>>>0)<($637>>>0); - $or$cond9$i = $638 | $639; - if ($or$cond9$i) { - HEAP32[(9080)>>2] = $tbase$255$i; - } - HEAP32[(9512)>>2] = $tbase$255$i; - HEAP32[(9516)>>2] = $tsize$254$i; - HEAP32[(9524)>>2] = 0; - $640 = HEAP32[9536>>2]|0; - HEAP32[(9100)>>2] = $640; - HEAP32[(9096)>>2] = -1; - $i$02$i$i = 0; - while(1) { - $641 = $i$02$i$i << 1; - $642 = (9104 + ($641<<2)|0); - $$sum$i$i = (($641) + 3)|0; - $643 = (9104 + ($$sum$i$i<<2)|0); - HEAP32[$643>>2] = $642; - $$sum1$i$i = (($641) + 2)|0; - $644 = (9104 + ($$sum1$i$i<<2)|0); - HEAP32[$644>>2] = $642; - $645 = (($i$02$i$i) + 1)|0; - $exitcond$i$i = ($645|0)==(32); - if ($exitcond$i$i) { - break; - } else { - $i$02$i$i = $645; - } - } - $646 = (($tsize$254$i) + -40)|0; - $647 = ((($tbase$255$i)) + 8|0); - $648 = $647; - $649 = $648 & 7; - $650 = ($649|0)==(0); - $651 = (0 - ($648))|0; - $652 = $651 & 7; - $653 = $650 ? 0 : $652; - $654 = (($tbase$255$i) + ($653)|0); - $655 = (($646) - ($653))|0; - HEAP32[(9088)>>2] = $654; - HEAP32[(9076)>>2] = $655; - $656 = $655 | 1; - $$sum$i13$i = (($653) + 4)|0; - $657 = (($tbase$255$i) + ($$sum$i13$i)|0); - HEAP32[$657>>2] = $656; - $$sum2$i$i = (($tsize$254$i) + -36)|0; - $658 = (($tbase$255$i) + ($$sum2$i$i)|0); - HEAP32[$658>>2] = 40; - $659 = HEAP32[(9552)>>2]|0; - HEAP32[(9092)>>2] = $659; - } else { - $sp$084$i = (9512); - while(1) { - $660 = HEAP32[$sp$084$i>>2]|0; - $661 = ((($sp$084$i)) + 4|0); - $662 = HEAP32[$661>>2]|0; - $663 = (($660) + ($662)|0); - $664 = ($tbase$255$i|0)==($663|0); - if ($664) { - $$lcssa222 = $660;$$lcssa224 = $661;$$lcssa226 = $662;$sp$084$i$lcssa = $sp$084$i; - label = 204; - break; - } - $665 = ((($sp$084$i)) + 8|0); - $666 = HEAP32[$665>>2]|0; - $667 = ($666|0)==(0|0); - if ($667) { - break; - } else { - $sp$084$i = $666; - } - } - if ((label|0) == 204) { - $668 = ((($sp$084$i$lcssa)) + 12|0); - $669 = HEAP32[$668>>2]|0; - $670 = $669 & 8; - $671 = ($670|0)==(0); - if ($671) { - $672 = ($635>>>0)>=($$lcssa222>>>0); - $673 = ($635>>>0)<($tbase$255$i>>>0); - $or$cond57$i = $673 & $672; - if ($or$cond57$i) { - $674 = (($$lcssa226) + ($tsize$254$i))|0; - HEAP32[$$lcssa224>>2] = $674; - $675 = HEAP32[(9076)>>2]|0; - $676 = (($675) + ($tsize$254$i))|0; - $677 = ((($635)) + 8|0); - $678 = $677; - $679 = $678 & 7; - $680 = ($679|0)==(0); - $681 = (0 - ($678))|0; - $682 = $681 & 7; - $683 = $680 ? 0 : $682; - $684 = (($635) + ($683)|0); - $685 = (($676) - ($683))|0; - HEAP32[(9088)>>2] = $684; - HEAP32[(9076)>>2] = $685; - $686 = $685 | 1; - $$sum$i17$i = (($683) + 4)|0; - $687 = (($635) + ($$sum$i17$i)|0); - HEAP32[$687>>2] = $686; - $$sum2$i18$i = (($676) + 4)|0; - $688 = (($635) + ($$sum2$i18$i)|0); - HEAP32[$688>>2] = 40; - $689 = HEAP32[(9552)>>2]|0; - HEAP32[(9092)>>2] = $689; - break; - } - } - } - $690 = HEAP32[(9080)>>2]|0; - $691 = ($tbase$255$i>>>0)<($690>>>0); - if ($691) { - HEAP32[(9080)>>2] = $tbase$255$i; - $755 = $tbase$255$i; - } else { - $755 = $690; - } - $692 = (($tbase$255$i) + ($tsize$254$i)|0); - $sp$183$i = (9512); - while(1) { - $693 = HEAP32[$sp$183$i>>2]|0; - $694 = ($693|0)==($692|0); - if ($694) { - $$lcssa219 = $sp$183$i;$sp$183$i$lcssa = $sp$183$i; - label = 212; - break; - } - $695 = ((($sp$183$i)) + 8|0); - $696 = HEAP32[$695>>2]|0; - $697 = ($696|0)==(0|0); - if ($697) { - $sp$0$i$i$i = (9512); - break; - } else { - $sp$183$i = $696; - } - } - if ((label|0) == 212) { - $698 = ((($sp$183$i$lcssa)) + 12|0); - $699 = HEAP32[$698>>2]|0; - $700 = $699 & 8; - $701 = ($700|0)==(0); - if ($701) { - HEAP32[$$lcssa219>>2] = $tbase$255$i; - $702 = ((($sp$183$i$lcssa)) + 4|0); - $703 = HEAP32[$702>>2]|0; - $704 = (($703) + ($tsize$254$i))|0; - HEAP32[$702>>2] = $704; - $705 = ((($tbase$255$i)) + 8|0); - $706 = $705; - $707 = $706 & 7; - $708 = ($707|0)==(0); - $709 = (0 - ($706))|0; - $710 = $709 & 7; - $711 = $708 ? 0 : $710; - $712 = (($tbase$255$i) + ($711)|0); - $$sum112$i = (($tsize$254$i) + 8)|0; - $713 = (($tbase$255$i) + ($$sum112$i)|0); - $714 = $713; - $715 = $714 & 7; - $716 = ($715|0)==(0); - $717 = (0 - ($714))|0; - $718 = $717 & 7; - $719 = $716 ? 0 : $718; - $$sum113$i = (($719) + ($tsize$254$i))|0; - $720 = (($tbase$255$i) + ($$sum113$i)|0); - $721 = $720; - $722 = $712; - $723 = (($721) - ($722))|0; - $$sum$i19$i = (($711) + ($nb$0))|0; - $724 = (($tbase$255$i) + ($$sum$i19$i)|0); - $725 = (($723) - ($nb$0))|0; - $726 = $nb$0 | 3; - $$sum1$i20$i = (($711) + 4)|0; - $727 = (($tbase$255$i) + ($$sum1$i20$i)|0); - HEAP32[$727>>2] = $726; - $728 = ($720|0)==($635|0); - L324: do { - if ($728) { - $729 = HEAP32[(9076)>>2]|0; - $730 = (($729) + ($725))|0; - HEAP32[(9076)>>2] = $730; - HEAP32[(9088)>>2] = $724; - $731 = $730 | 1; - $$sum42$i$i = (($$sum$i19$i) + 4)|0; - $732 = (($tbase$255$i) + ($$sum42$i$i)|0); - HEAP32[$732>>2] = $731; - } else { - $733 = HEAP32[(9084)>>2]|0; - $734 = ($720|0)==($733|0); - if ($734) { - $735 = HEAP32[(9072)>>2]|0; - $736 = (($735) + ($725))|0; - HEAP32[(9072)>>2] = $736; - HEAP32[(9084)>>2] = $724; - $737 = $736 | 1; - $$sum40$i$i = (($$sum$i19$i) + 4)|0; - $738 = (($tbase$255$i) + ($$sum40$i$i)|0); - HEAP32[$738>>2] = $737; - $$sum41$i$i = (($736) + ($$sum$i19$i))|0; - $739 = (($tbase$255$i) + ($$sum41$i$i)|0); - HEAP32[$739>>2] = $736; - break; - } - $$sum2$i21$i = (($tsize$254$i) + 4)|0; - $$sum114$i = (($$sum2$i21$i) + ($719))|0; - $740 = (($tbase$255$i) + ($$sum114$i)|0); - $741 = HEAP32[$740>>2]|0; - $742 = $741 & 3; - $743 = ($742|0)==(1); - if ($743) { - $744 = $741 & -8; - $745 = $741 >>> 3; - $746 = ($741>>>0)<(256); - L332: do { - if ($746) { - $$sum3738$i$i = $719 | 8; - $$sum124$i = (($$sum3738$i$i) + ($tsize$254$i))|0; - $747 = (($tbase$255$i) + ($$sum124$i)|0); - $748 = HEAP32[$747>>2]|0; - $$sum39$i$i = (($tsize$254$i) + 12)|0; - $$sum125$i = (($$sum39$i$i) + ($719))|0; - $749 = (($tbase$255$i) + ($$sum125$i)|0); - $750 = HEAP32[$749>>2]|0; - $751 = $745 << 1; - $752 = (9104 + ($751<<2)|0); - $753 = ($748|0)==($752|0); - do { - if (!($753)) { - $754 = ($748>>>0)<($755>>>0); - if ($754) { - _abort(); - // unreachable; - } - $756 = ((($748)) + 12|0); - $757 = HEAP32[$756>>2]|0; - $758 = ($757|0)==($720|0); - if ($758) { - break; - } - _abort(); - // unreachable; - } - } while(0); - $759 = ($750|0)==($748|0); - if ($759) { - $760 = 1 << $745; - $761 = $760 ^ -1; - $762 = HEAP32[9064>>2]|0; - $763 = $762 & $761; - HEAP32[9064>>2] = $763; - break; - } - $764 = ($750|0)==($752|0); - do { - if ($764) { - $$pre57$i$i = ((($750)) + 8|0); - $$pre$phi58$i$iZ2D = $$pre57$i$i; - } else { - $765 = ($750>>>0)<($755>>>0); - if ($765) { - _abort(); - // unreachable; - } - $766 = ((($750)) + 8|0); - $767 = HEAP32[$766>>2]|0; - $768 = ($767|0)==($720|0); - if ($768) { - $$pre$phi58$i$iZ2D = $766; - break; - } - _abort(); - // unreachable; - } - } while(0); - $769 = ((($748)) + 12|0); - HEAP32[$769>>2] = $750; - HEAP32[$$pre$phi58$i$iZ2D>>2] = $748; - } else { - $$sum34$i$i = $719 | 24; - $$sum115$i = (($$sum34$i$i) + ($tsize$254$i))|0; - $770 = (($tbase$255$i) + ($$sum115$i)|0); - $771 = HEAP32[$770>>2]|0; - $$sum5$i$i = (($tsize$254$i) + 12)|0; - $$sum116$i = (($$sum5$i$i) + ($719))|0; - $772 = (($tbase$255$i) + ($$sum116$i)|0); - $773 = HEAP32[$772>>2]|0; - $774 = ($773|0)==($720|0); - do { - if ($774) { - $$sum67$i$i = $719 | 16; - $$sum122$i = (($$sum2$i21$i) + ($$sum67$i$i))|0; - $784 = (($tbase$255$i) + ($$sum122$i)|0); - $785 = HEAP32[$784>>2]|0; - $786 = ($785|0)==(0|0); - if ($786) { - $$sum123$i = (($$sum67$i$i) + ($tsize$254$i))|0; - $787 = (($tbase$255$i) + ($$sum123$i)|0); - $788 = HEAP32[$787>>2]|0; - $789 = ($788|0)==(0|0); - if ($789) { - $R$1$i$i = 0; - break; - } else { - $R$0$i$i = $788;$RP$0$i$i = $787; - } - } else { - $R$0$i$i = $785;$RP$0$i$i = $784; - } - while(1) { - $790 = ((($R$0$i$i)) + 20|0); - $791 = HEAP32[$790>>2]|0; - $792 = ($791|0)==(0|0); - if (!($792)) { - $R$0$i$i = $791;$RP$0$i$i = $790; - continue; - } - $793 = ((($R$0$i$i)) + 16|0); - $794 = HEAP32[$793>>2]|0; - $795 = ($794|0)==(0|0); - if ($795) { - $R$0$i$i$lcssa = $R$0$i$i;$RP$0$i$i$lcssa = $RP$0$i$i; - break; - } else { - $R$0$i$i = $794;$RP$0$i$i = $793; - } - } - $796 = ($RP$0$i$i$lcssa>>>0)<($755>>>0); - if ($796) { - _abort(); - // unreachable; - } else { - HEAP32[$RP$0$i$i$lcssa>>2] = 0; - $R$1$i$i = $R$0$i$i$lcssa; - break; - } - } else { - $$sum3536$i$i = $719 | 8; - $$sum117$i = (($$sum3536$i$i) + ($tsize$254$i))|0; - $775 = (($tbase$255$i) + ($$sum117$i)|0); - $776 = HEAP32[$775>>2]|0; - $777 = ($776>>>0)<($755>>>0); - if ($777) { - _abort(); - // unreachable; - } - $778 = ((($776)) + 12|0); - $779 = HEAP32[$778>>2]|0; - $780 = ($779|0)==($720|0); - if (!($780)) { - _abort(); - // unreachable; - } - $781 = ((($773)) + 8|0); - $782 = HEAP32[$781>>2]|0; - $783 = ($782|0)==($720|0); - if ($783) { - HEAP32[$778>>2] = $773; - HEAP32[$781>>2] = $776; - $R$1$i$i = $773; - break; - } else { - _abort(); - // unreachable; - } - } - } while(0); - $797 = ($771|0)==(0|0); - if ($797) { - break; - } - $$sum30$i$i = (($tsize$254$i) + 28)|0; - $$sum118$i = (($$sum30$i$i) + ($719))|0; - $798 = (($tbase$255$i) + ($$sum118$i)|0); - $799 = HEAP32[$798>>2]|0; - $800 = (9368 + ($799<<2)|0); - $801 = HEAP32[$800>>2]|0; - $802 = ($720|0)==($801|0); - do { - if ($802) { - HEAP32[$800>>2] = $R$1$i$i; - $cond$i$i = ($R$1$i$i|0)==(0|0); - if (!($cond$i$i)) { - break; - } - $803 = 1 << $799; - $804 = $803 ^ -1; - $805 = HEAP32[(9068)>>2]|0; - $806 = $805 & $804; - HEAP32[(9068)>>2] = $806; - break L332; - } else { - $807 = HEAP32[(9080)>>2]|0; - $808 = ($771>>>0)<($807>>>0); - if ($808) { - _abort(); - // unreachable; - } - $809 = ((($771)) + 16|0); - $810 = HEAP32[$809>>2]|0; - $811 = ($810|0)==($720|0); - if ($811) { - HEAP32[$809>>2] = $R$1$i$i; - } else { - $812 = ((($771)) + 20|0); - HEAP32[$812>>2] = $R$1$i$i; - } - $813 = ($R$1$i$i|0)==(0|0); - if ($813) { - break L332; - } - } - } while(0); - $814 = HEAP32[(9080)>>2]|0; - $815 = ($R$1$i$i>>>0)<($814>>>0); - if ($815) { - _abort(); - // unreachable; - } - $816 = ((($R$1$i$i)) + 24|0); - HEAP32[$816>>2] = $771; - $$sum3132$i$i = $719 | 16; - $$sum119$i = (($$sum3132$i$i) + ($tsize$254$i))|0; - $817 = (($tbase$255$i) + ($$sum119$i)|0); - $818 = HEAP32[$817>>2]|0; - $819 = ($818|0)==(0|0); - do { - if (!($819)) { - $820 = ($818>>>0)<($814>>>0); - if ($820) { - _abort(); - // unreachable; - } else { - $821 = ((($R$1$i$i)) + 16|0); - HEAP32[$821>>2] = $818; - $822 = ((($818)) + 24|0); - HEAP32[$822>>2] = $R$1$i$i; - break; - } - } - } while(0); - $$sum120$i = (($$sum2$i21$i) + ($$sum3132$i$i))|0; - $823 = (($tbase$255$i) + ($$sum120$i)|0); - $824 = HEAP32[$823>>2]|0; - $825 = ($824|0)==(0|0); - if ($825) { - break; - } - $826 = HEAP32[(9080)>>2]|0; - $827 = ($824>>>0)<($826>>>0); - if ($827) { - _abort(); - // unreachable; - } else { - $828 = ((($R$1$i$i)) + 20|0); - HEAP32[$828>>2] = $824; - $829 = ((($824)) + 24|0); - HEAP32[$829>>2] = $R$1$i$i; - break; - } - } - } while(0); - $$sum9$i$i = $744 | $719; - $$sum121$i = (($$sum9$i$i) + ($tsize$254$i))|0; - $830 = (($tbase$255$i) + ($$sum121$i)|0); - $831 = (($744) + ($725))|0; - $oldfirst$0$i$i = $830;$qsize$0$i$i = $831; - } else { - $oldfirst$0$i$i = $720;$qsize$0$i$i = $725; - } - $832 = ((($oldfirst$0$i$i)) + 4|0); - $833 = HEAP32[$832>>2]|0; - $834 = $833 & -2; - HEAP32[$832>>2] = $834; - $835 = $qsize$0$i$i | 1; - $$sum10$i$i = (($$sum$i19$i) + 4)|0; - $836 = (($tbase$255$i) + ($$sum10$i$i)|0); - HEAP32[$836>>2] = $835; - $$sum11$i$i = (($qsize$0$i$i) + ($$sum$i19$i))|0; - $837 = (($tbase$255$i) + ($$sum11$i$i)|0); - HEAP32[$837>>2] = $qsize$0$i$i; - $838 = $qsize$0$i$i >>> 3; - $839 = ($qsize$0$i$i>>>0)<(256); - if ($839) { - $840 = $838 << 1; - $841 = (9104 + ($840<<2)|0); - $842 = HEAP32[9064>>2]|0; - $843 = 1 << $838; - $844 = $842 & $843; - $845 = ($844|0)==(0); - do { - if ($845) { - $846 = $842 | $843; - HEAP32[9064>>2] = $846; - $$pre$i22$i = (($840) + 2)|0; - $$pre56$i$i = (9104 + ($$pre$i22$i<<2)|0); - $$pre$phi$i23$iZ2D = $$pre56$i$i;$F4$0$i$i = $841; - } else { - $$sum29$i$i = (($840) + 2)|0; - $847 = (9104 + ($$sum29$i$i<<2)|0); - $848 = HEAP32[$847>>2]|0; - $849 = HEAP32[(9080)>>2]|0; - $850 = ($848>>>0)<($849>>>0); - if (!($850)) { - $$pre$phi$i23$iZ2D = $847;$F4$0$i$i = $848; - break; - } - _abort(); - // unreachable; - } - } while(0); - HEAP32[$$pre$phi$i23$iZ2D>>2] = $724; - $851 = ((($F4$0$i$i)) + 12|0); - HEAP32[$851>>2] = $724; - $$sum27$i$i = (($$sum$i19$i) + 8)|0; - $852 = (($tbase$255$i) + ($$sum27$i$i)|0); - HEAP32[$852>>2] = $F4$0$i$i; - $$sum28$i$i = (($$sum$i19$i) + 12)|0; - $853 = (($tbase$255$i) + ($$sum28$i$i)|0); - HEAP32[$853>>2] = $841; - break; - } - $854 = $qsize$0$i$i >>> 8; - $855 = ($854|0)==(0); - do { - if ($855) { - $I7$0$i$i = 0; - } else { - $856 = ($qsize$0$i$i>>>0)>(16777215); - if ($856) { - $I7$0$i$i = 31; - break; - } - $857 = (($854) + 1048320)|0; - $858 = $857 >>> 16; - $859 = $858 & 8; - $860 = $854 << $859; - $861 = (($860) + 520192)|0; - $862 = $861 >>> 16; - $863 = $862 & 4; - $864 = $863 | $859; - $865 = $860 << $863; - $866 = (($865) + 245760)|0; - $867 = $866 >>> 16; - $868 = $867 & 2; - $869 = $864 | $868; - $870 = (14 - ($869))|0; - $871 = $865 << $868; - $872 = $871 >>> 15; - $873 = (($870) + ($872))|0; - $874 = $873 << 1; - $875 = (($873) + 7)|0; - $876 = $qsize$0$i$i >>> $875; - $877 = $876 & 1; - $878 = $877 | $874; - $I7$0$i$i = $878; - } - } while(0); - $879 = (9368 + ($I7$0$i$i<<2)|0); - $$sum12$i$i = (($$sum$i19$i) + 28)|0; - $880 = (($tbase$255$i) + ($$sum12$i$i)|0); - HEAP32[$880>>2] = $I7$0$i$i; - $$sum13$i$i = (($$sum$i19$i) + 16)|0; - $881 = (($tbase$255$i) + ($$sum13$i$i)|0); - $$sum14$i$i = (($$sum$i19$i) + 20)|0; - $882 = (($tbase$255$i) + ($$sum14$i$i)|0); - HEAP32[$882>>2] = 0; - HEAP32[$881>>2] = 0; - $883 = HEAP32[(9068)>>2]|0; - $884 = 1 << $I7$0$i$i; - $885 = $883 & $884; - $886 = ($885|0)==(0); - if ($886) { - $887 = $883 | $884; - HEAP32[(9068)>>2] = $887; - HEAP32[$879>>2] = $724; - $$sum15$i$i = (($$sum$i19$i) + 24)|0; - $888 = (($tbase$255$i) + ($$sum15$i$i)|0); - HEAP32[$888>>2] = $879; - $$sum16$i$i = (($$sum$i19$i) + 12)|0; - $889 = (($tbase$255$i) + ($$sum16$i$i)|0); - HEAP32[$889>>2] = $724; - $$sum17$i$i = (($$sum$i19$i) + 8)|0; - $890 = (($tbase$255$i) + ($$sum17$i$i)|0); - HEAP32[$890>>2] = $724; - break; - } - $891 = HEAP32[$879>>2]|0; - $892 = ((($891)) + 4|0); - $893 = HEAP32[$892>>2]|0; - $894 = $893 & -8; - $895 = ($894|0)==($qsize$0$i$i|0); - L418: do { - if ($895) { - $T$0$lcssa$i25$i = $891; - } else { - $896 = ($I7$0$i$i|0)==(31); - $897 = $I7$0$i$i >>> 1; - $898 = (25 - ($897))|0; - $899 = $896 ? 0 : $898; - $900 = $qsize$0$i$i << $899; - $K8$051$i$i = $900;$T$050$i$i = $891; - while(1) { - $907 = $K8$051$i$i >>> 31; - $908 = (((($T$050$i$i)) + 16|0) + ($907<<2)|0); - $903 = HEAP32[$908>>2]|0; - $909 = ($903|0)==(0|0); - if ($909) { - $$lcssa = $908;$T$050$i$i$lcssa = $T$050$i$i; - break; - } - $901 = $K8$051$i$i << 1; - $902 = ((($903)) + 4|0); - $904 = HEAP32[$902>>2]|0; - $905 = $904 & -8; - $906 = ($905|0)==($qsize$0$i$i|0); - if ($906) { - $T$0$lcssa$i25$i = $903; - break L418; - } else { - $K8$051$i$i = $901;$T$050$i$i = $903; - } - } - $910 = HEAP32[(9080)>>2]|0; - $911 = ($$lcssa>>>0)<($910>>>0); - if ($911) { - _abort(); - // unreachable; - } else { - HEAP32[$$lcssa>>2] = $724; - $$sum23$i$i = (($$sum$i19$i) + 24)|0; - $912 = (($tbase$255$i) + ($$sum23$i$i)|0); - HEAP32[$912>>2] = $T$050$i$i$lcssa; - $$sum24$i$i = (($$sum$i19$i) + 12)|0; - $913 = (($tbase$255$i) + ($$sum24$i$i)|0); - HEAP32[$913>>2] = $724; - $$sum25$i$i = (($$sum$i19$i) + 8)|0; - $914 = (($tbase$255$i) + ($$sum25$i$i)|0); - HEAP32[$914>>2] = $724; - break L324; - } - } - } while(0); - $915 = ((($T$0$lcssa$i25$i)) + 8|0); - $916 = HEAP32[$915>>2]|0; - $917 = HEAP32[(9080)>>2]|0; - $918 = ($916>>>0)>=($917>>>0); - $not$$i26$i = ($T$0$lcssa$i25$i>>>0)>=($917>>>0); - $919 = $918 & $not$$i26$i; - if ($919) { - $920 = ((($916)) + 12|0); - HEAP32[$920>>2] = $724; - HEAP32[$915>>2] = $724; - $$sum20$i$i = (($$sum$i19$i) + 8)|0; - $921 = (($tbase$255$i) + ($$sum20$i$i)|0); - HEAP32[$921>>2] = $916; - $$sum21$i$i = (($$sum$i19$i) + 12)|0; - $922 = (($tbase$255$i) + ($$sum21$i$i)|0); - HEAP32[$922>>2] = $T$0$lcssa$i25$i; - $$sum22$i$i = (($$sum$i19$i) + 24)|0; - $923 = (($tbase$255$i) + ($$sum22$i$i)|0); - HEAP32[$923>>2] = 0; - break; - } else { - _abort(); - // unreachable; - } - } - } while(0); - $$sum1819$i$i = $711 | 8; - $924 = (($tbase$255$i) + ($$sum1819$i$i)|0); - $mem$0 = $924; - return ($mem$0|0); - } else { - $sp$0$i$i$i = (9512); - } - } - while(1) { - $925 = HEAP32[$sp$0$i$i$i>>2]|0; - $926 = ($925>>>0)>($635>>>0); - if (!($926)) { - $927 = ((($sp$0$i$i$i)) + 4|0); - $928 = HEAP32[$927>>2]|0; - $929 = (($925) + ($928)|0); - $930 = ($929>>>0)>($635>>>0); - if ($930) { - $$lcssa215 = $925;$$lcssa216 = $928;$$lcssa217 = $929; - break; - } - } - $931 = ((($sp$0$i$i$i)) + 8|0); - $932 = HEAP32[$931>>2]|0; - $sp$0$i$i$i = $932; - } - $$sum$i14$i = (($$lcssa216) + -47)|0; - $$sum1$i15$i = (($$lcssa216) + -39)|0; - $933 = (($$lcssa215) + ($$sum1$i15$i)|0); - $934 = $933; - $935 = $934 & 7; - $936 = ($935|0)==(0); - $937 = (0 - ($934))|0; - $938 = $937 & 7; - $939 = $936 ? 0 : $938; - $$sum2$i16$i = (($$sum$i14$i) + ($939))|0; - $940 = (($$lcssa215) + ($$sum2$i16$i)|0); - $941 = ((($635)) + 16|0); - $942 = ($940>>>0)<($941>>>0); - $943 = $942 ? $635 : $940; - $944 = ((($943)) + 8|0); - $945 = (($tsize$254$i) + -40)|0; - $946 = ((($tbase$255$i)) + 8|0); - $947 = $946; - $948 = $947 & 7; - $949 = ($948|0)==(0); - $950 = (0 - ($947))|0; - $951 = $950 & 7; - $952 = $949 ? 0 : $951; - $953 = (($tbase$255$i) + ($952)|0); - $954 = (($945) - ($952))|0; - HEAP32[(9088)>>2] = $953; - HEAP32[(9076)>>2] = $954; - $955 = $954 | 1; - $$sum$i$i$i = (($952) + 4)|0; - $956 = (($tbase$255$i) + ($$sum$i$i$i)|0); - HEAP32[$956>>2] = $955; - $$sum2$i$i$i = (($tsize$254$i) + -36)|0; - $957 = (($tbase$255$i) + ($$sum2$i$i$i)|0); - HEAP32[$957>>2] = 40; - $958 = HEAP32[(9552)>>2]|0; - HEAP32[(9092)>>2] = $958; - $959 = ((($943)) + 4|0); - HEAP32[$959>>2] = 27; - ;HEAP32[$944>>2]=HEAP32[(9512)>>2]|0;HEAP32[$944+4>>2]=HEAP32[(9512)+4>>2]|0;HEAP32[$944+8>>2]=HEAP32[(9512)+8>>2]|0;HEAP32[$944+12>>2]=HEAP32[(9512)+12>>2]|0; - HEAP32[(9512)>>2] = $tbase$255$i; - HEAP32[(9516)>>2] = $tsize$254$i; - HEAP32[(9524)>>2] = 0; - HEAP32[(9520)>>2] = $944; - $960 = ((($943)) + 28|0); - HEAP32[$960>>2] = 7; - $961 = ((($943)) + 32|0); - $962 = ($961>>>0)<($$lcssa217>>>0); - if ($962) { - $964 = $960; - while(1) { - $963 = ((($964)) + 4|0); - HEAP32[$963>>2] = 7; - $965 = ((($964)) + 8|0); - $966 = ($965>>>0)<($$lcssa217>>>0); - if ($966) { - $964 = $963; - } else { - break; - } - } - } - $967 = ($943|0)==($635|0); - if (!($967)) { - $968 = $943; - $969 = $635; - $970 = (($968) - ($969))|0; - $971 = HEAP32[$959>>2]|0; - $972 = $971 & -2; - HEAP32[$959>>2] = $972; - $973 = $970 | 1; - $974 = ((($635)) + 4|0); - HEAP32[$974>>2] = $973; - HEAP32[$943>>2] = $970; - $975 = $970 >>> 3; - $976 = ($970>>>0)<(256); - if ($976) { - $977 = $975 << 1; - $978 = (9104 + ($977<<2)|0); - $979 = HEAP32[9064>>2]|0; - $980 = 1 << $975; - $981 = $979 & $980; - $982 = ($981|0)==(0); - if ($982) { - $983 = $979 | $980; - HEAP32[9064>>2] = $983; - $$pre$i$i = (($977) + 2)|0; - $$pre14$i$i = (9104 + ($$pre$i$i<<2)|0); - $$pre$phi$i$iZ2D = $$pre14$i$i;$F$0$i$i = $978; - } else { - $$sum4$i$i = (($977) + 2)|0; - $984 = (9104 + ($$sum4$i$i<<2)|0); - $985 = HEAP32[$984>>2]|0; - $986 = HEAP32[(9080)>>2]|0; - $987 = ($985>>>0)<($986>>>0); - if ($987) { - _abort(); - // unreachable; - } else { - $$pre$phi$i$iZ2D = $984;$F$0$i$i = $985; - } - } - HEAP32[$$pre$phi$i$iZ2D>>2] = $635; - $988 = ((($F$0$i$i)) + 12|0); - HEAP32[$988>>2] = $635; - $989 = ((($635)) + 8|0); - HEAP32[$989>>2] = $F$0$i$i; - $990 = ((($635)) + 12|0); - HEAP32[$990>>2] = $978; - break; - } - $991 = $970 >>> 8; - $992 = ($991|0)==(0); - if ($992) { - $I1$0$i$i = 0; - } else { - $993 = ($970>>>0)>(16777215); - if ($993) { - $I1$0$i$i = 31; - } else { - $994 = (($991) + 1048320)|0; - $995 = $994 >>> 16; - $996 = $995 & 8; - $997 = $991 << $996; - $998 = (($997) + 520192)|0; - $999 = $998 >>> 16; - $1000 = $999 & 4; - $1001 = $1000 | $996; - $1002 = $997 << $1000; - $1003 = (($1002) + 245760)|0; - $1004 = $1003 >>> 16; - $1005 = $1004 & 2; - $1006 = $1001 | $1005; - $1007 = (14 - ($1006))|0; - $1008 = $1002 << $1005; - $1009 = $1008 >>> 15; - $1010 = (($1007) + ($1009))|0; - $1011 = $1010 << 1; - $1012 = (($1010) + 7)|0; - $1013 = $970 >>> $1012; - $1014 = $1013 & 1; - $1015 = $1014 | $1011; - $I1$0$i$i = $1015; - } - } - $1016 = (9368 + ($I1$0$i$i<<2)|0); - $1017 = ((($635)) + 28|0); - HEAP32[$1017>>2] = $I1$0$i$i; - $1018 = ((($635)) + 20|0); - HEAP32[$1018>>2] = 0; - HEAP32[$941>>2] = 0; - $1019 = HEAP32[(9068)>>2]|0; - $1020 = 1 << $I1$0$i$i; - $1021 = $1019 & $1020; - $1022 = ($1021|0)==(0); - if ($1022) { - $1023 = $1019 | $1020; - HEAP32[(9068)>>2] = $1023; - HEAP32[$1016>>2] = $635; - $1024 = ((($635)) + 24|0); - HEAP32[$1024>>2] = $1016; - $1025 = ((($635)) + 12|0); - HEAP32[$1025>>2] = $635; - $1026 = ((($635)) + 8|0); - HEAP32[$1026>>2] = $635; - break; - } - $1027 = HEAP32[$1016>>2]|0; - $1028 = ((($1027)) + 4|0); - $1029 = HEAP32[$1028>>2]|0; - $1030 = $1029 & -8; - $1031 = ($1030|0)==($970|0); - L459: do { - if ($1031) { - $T$0$lcssa$i$i = $1027; - } else { - $1032 = ($I1$0$i$i|0)==(31); - $1033 = $I1$0$i$i >>> 1; - $1034 = (25 - ($1033))|0; - $1035 = $1032 ? 0 : $1034; - $1036 = $970 << $1035; - $K2$07$i$i = $1036;$T$06$i$i = $1027; - while(1) { - $1043 = $K2$07$i$i >>> 31; - $1044 = (((($T$06$i$i)) + 16|0) + ($1043<<2)|0); - $1039 = HEAP32[$1044>>2]|0; - $1045 = ($1039|0)==(0|0); - if ($1045) { - $$lcssa211 = $1044;$T$06$i$i$lcssa = $T$06$i$i; - break; - } - $1037 = $K2$07$i$i << 1; - $1038 = ((($1039)) + 4|0); - $1040 = HEAP32[$1038>>2]|0; - $1041 = $1040 & -8; - $1042 = ($1041|0)==($970|0); - if ($1042) { - $T$0$lcssa$i$i = $1039; - break L459; - } else { - $K2$07$i$i = $1037;$T$06$i$i = $1039; - } - } - $1046 = HEAP32[(9080)>>2]|0; - $1047 = ($$lcssa211>>>0)<($1046>>>0); - if ($1047) { - _abort(); - // unreachable; - } else { - HEAP32[$$lcssa211>>2] = $635; - $1048 = ((($635)) + 24|0); - HEAP32[$1048>>2] = $T$06$i$i$lcssa; - $1049 = ((($635)) + 12|0); - HEAP32[$1049>>2] = $635; - $1050 = ((($635)) + 8|0); - HEAP32[$1050>>2] = $635; - break L299; - } - } - } while(0); - $1051 = ((($T$0$lcssa$i$i)) + 8|0); - $1052 = HEAP32[$1051>>2]|0; - $1053 = HEAP32[(9080)>>2]|0; - $1054 = ($1052>>>0)>=($1053>>>0); - $not$$i$i = ($T$0$lcssa$i$i>>>0)>=($1053>>>0); - $1055 = $1054 & $not$$i$i; - if ($1055) { - $1056 = ((($1052)) + 12|0); - HEAP32[$1056>>2] = $635; - HEAP32[$1051>>2] = $635; - $1057 = ((($635)) + 8|0); - HEAP32[$1057>>2] = $1052; - $1058 = ((($635)) + 12|0); - HEAP32[$1058>>2] = $T$0$lcssa$i$i; - $1059 = ((($635)) + 24|0); - HEAP32[$1059>>2] = 0; - break; - } else { - _abort(); - // unreachable; - } - } - } - } while(0); - $1060 = HEAP32[(9076)>>2]|0; - $1061 = ($1060>>>0)>($nb$0>>>0); - if ($1061) { - $1062 = (($1060) - ($nb$0))|0; - HEAP32[(9076)>>2] = $1062; - $1063 = HEAP32[(9088)>>2]|0; - $1064 = (($1063) + ($nb$0)|0); - HEAP32[(9088)>>2] = $1064; - $1065 = $1062 | 1; - $$sum$i32 = (($nb$0) + 4)|0; - $1066 = (($1063) + ($$sum$i32)|0); - HEAP32[$1066>>2] = $1065; - $1067 = $nb$0 | 3; - $1068 = ((($1063)) + 4|0); - HEAP32[$1068>>2] = $1067; - $1069 = ((($1063)) + 8|0); - $mem$0 = $1069; - return ($mem$0|0); - } - } - $1070 = (___errno_location()|0); - HEAP32[$1070>>2] = 12; - $mem$0 = 0; - return ($mem$0|0); -} -function _free($mem) { - $mem = $mem|0; - var $$lcssa = 0, $$pre = 0, $$pre$phi59Z2D = 0, $$pre$phi61Z2D = 0, $$pre$phiZ2D = 0, $$pre57 = 0, $$pre58 = 0, $$pre60 = 0, $$sum = 0, $$sum11 = 0, $$sum12 = 0, $$sum13 = 0, $$sum14 = 0, $$sum1718 = 0, $$sum19 = 0, $$sum2 = 0, $$sum20 = 0, $$sum22 = 0, $$sum23 = 0, $$sum24 = 0; - var $$sum25 = 0, $$sum26 = 0, $$sum27 = 0, $$sum28 = 0, $$sum29 = 0, $$sum3 = 0, $$sum30 = 0, $$sum31 = 0, $$sum5 = 0, $$sum67 = 0, $$sum8 = 0, $$sum9 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0; - var $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0; - var $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0; - var $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0; - var $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0; - var $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0; - var $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0; - var $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0; - var $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0; - var $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0; - var $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0; - var $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0; - var $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0; - var $321 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0; - var $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0; - var $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0; - var $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $F16$0 = 0, $I18$0 = 0, $K19$052 = 0, $R$0 = 0, $R$0$lcssa = 0, $R$1 = 0; - var $R7$0 = 0, $R7$0$lcssa = 0, $R7$1 = 0, $RP$0 = 0, $RP$0$lcssa = 0, $RP9$0 = 0, $RP9$0$lcssa = 0, $T$0$lcssa = 0, $T$051 = 0, $T$051$lcssa = 0, $cond = 0, $cond47 = 0, $not$ = 0, $p$0 = 0, $psize$0 = 0, $psize$1 = 0, $sp$0$i = 0, $sp$0$in$i = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ($mem|0)==(0|0); - if ($0) { - return; - } - $1 = ((($mem)) + -8|0); - $2 = HEAP32[(9080)>>2]|0; - $3 = ($1>>>0)<($2>>>0); - if ($3) { - _abort(); - // unreachable; - } - $4 = ((($mem)) + -4|0); - $5 = HEAP32[$4>>2]|0; - $6 = $5 & 3; - $7 = ($6|0)==(1); - if ($7) { - _abort(); - // unreachable; - } - $8 = $5 & -8; - $$sum = (($8) + -8)|0; - $9 = (($mem) + ($$sum)|0); - $10 = $5 & 1; - $11 = ($10|0)==(0); - do { - if ($11) { - $12 = HEAP32[$1>>2]|0; - $13 = ($6|0)==(0); - if ($13) { - return; - } - $$sum2 = (-8 - ($12))|0; - $14 = (($mem) + ($$sum2)|0); - $15 = (($12) + ($8))|0; - $16 = ($14>>>0)<($2>>>0); - if ($16) { - _abort(); - // unreachable; - } - $17 = HEAP32[(9084)>>2]|0; - $18 = ($14|0)==($17|0); - if ($18) { - $$sum3 = (($8) + -4)|0; - $103 = (($mem) + ($$sum3)|0); - $104 = HEAP32[$103>>2]|0; - $105 = $104 & 3; - $106 = ($105|0)==(3); - if (!($106)) { - $p$0 = $14;$psize$0 = $15; - break; - } - HEAP32[(9072)>>2] = $15; - $107 = $104 & -2; - HEAP32[$103>>2] = $107; - $108 = $15 | 1; - $$sum20 = (($$sum2) + 4)|0; - $109 = (($mem) + ($$sum20)|0); - HEAP32[$109>>2] = $108; - HEAP32[$9>>2] = $15; - return; - } - $19 = $12 >>> 3; - $20 = ($12>>>0)<(256); - if ($20) { - $$sum30 = (($$sum2) + 8)|0; - $21 = (($mem) + ($$sum30)|0); - $22 = HEAP32[$21>>2]|0; - $$sum31 = (($$sum2) + 12)|0; - $23 = (($mem) + ($$sum31)|0); - $24 = HEAP32[$23>>2]|0; - $25 = $19 << 1; - $26 = (9104 + ($25<<2)|0); - $27 = ($22|0)==($26|0); - if (!($27)) { - $28 = ($22>>>0)<($2>>>0); - if ($28) { - _abort(); - // unreachable; - } - $29 = ((($22)) + 12|0); - $30 = HEAP32[$29>>2]|0; - $31 = ($30|0)==($14|0); - if (!($31)) { - _abort(); - // unreachable; - } - } - $32 = ($24|0)==($22|0); - if ($32) { - $33 = 1 << $19; - $34 = $33 ^ -1; - $35 = HEAP32[9064>>2]|0; - $36 = $35 & $34; - HEAP32[9064>>2] = $36; - $p$0 = $14;$psize$0 = $15; - break; - } - $37 = ($24|0)==($26|0); - if ($37) { - $$pre60 = ((($24)) + 8|0); - $$pre$phi61Z2D = $$pre60; - } else { - $38 = ($24>>>0)<($2>>>0); - if ($38) { - _abort(); - // unreachable; - } - $39 = ((($24)) + 8|0); - $40 = HEAP32[$39>>2]|0; - $41 = ($40|0)==($14|0); - if ($41) { - $$pre$phi61Z2D = $39; - } else { - _abort(); - // unreachable; - } - } - $42 = ((($22)) + 12|0); - HEAP32[$42>>2] = $24; - HEAP32[$$pre$phi61Z2D>>2] = $22; - $p$0 = $14;$psize$0 = $15; - break; - } - $$sum22 = (($$sum2) + 24)|0; - $43 = (($mem) + ($$sum22)|0); - $44 = HEAP32[$43>>2]|0; - $$sum23 = (($$sum2) + 12)|0; - $45 = (($mem) + ($$sum23)|0); - $46 = HEAP32[$45>>2]|0; - $47 = ($46|0)==($14|0); - do { - if ($47) { - $$sum25 = (($$sum2) + 20)|0; - $57 = (($mem) + ($$sum25)|0); - $58 = HEAP32[$57>>2]|0; - $59 = ($58|0)==(0|0); - if ($59) { - $$sum24 = (($$sum2) + 16)|0; - $60 = (($mem) + ($$sum24)|0); - $61 = HEAP32[$60>>2]|0; - $62 = ($61|0)==(0|0); - if ($62) { - $R$1 = 0; - break; - } else { - $R$0 = $61;$RP$0 = $60; - } - } else { - $R$0 = $58;$RP$0 = $57; - } - while(1) { - $63 = ((($R$0)) + 20|0); - $64 = HEAP32[$63>>2]|0; - $65 = ($64|0)==(0|0); - if (!($65)) { - $R$0 = $64;$RP$0 = $63; - continue; - } - $66 = ((($R$0)) + 16|0); - $67 = HEAP32[$66>>2]|0; - $68 = ($67|0)==(0|0); - if ($68) { - $R$0$lcssa = $R$0;$RP$0$lcssa = $RP$0; - break; - } else { - $R$0 = $67;$RP$0 = $66; - } - } - $69 = ($RP$0$lcssa>>>0)<($2>>>0); - if ($69) { - _abort(); - // unreachable; - } else { - HEAP32[$RP$0$lcssa>>2] = 0; - $R$1 = $R$0$lcssa; - break; - } - } else { - $$sum29 = (($$sum2) + 8)|0; - $48 = (($mem) + ($$sum29)|0); - $49 = HEAP32[$48>>2]|0; - $50 = ($49>>>0)<($2>>>0); - if ($50) { - _abort(); - // unreachable; - } - $51 = ((($49)) + 12|0); - $52 = HEAP32[$51>>2]|0; - $53 = ($52|0)==($14|0); - if (!($53)) { - _abort(); - // unreachable; - } - $54 = ((($46)) + 8|0); - $55 = HEAP32[$54>>2]|0; - $56 = ($55|0)==($14|0); - if ($56) { - HEAP32[$51>>2] = $46; - HEAP32[$54>>2] = $49; - $R$1 = $46; - break; - } else { - _abort(); - // unreachable; - } - } - } while(0); - $70 = ($44|0)==(0|0); - if ($70) { - $p$0 = $14;$psize$0 = $15; - } else { - $$sum26 = (($$sum2) + 28)|0; - $71 = (($mem) + ($$sum26)|0); - $72 = HEAP32[$71>>2]|0; - $73 = (9368 + ($72<<2)|0); - $74 = HEAP32[$73>>2]|0; - $75 = ($14|0)==($74|0); - if ($75) { - HEAP32[$73>>2] = $R$1; - $cond = ($R$1|0)==(0|0); - if ($cond) { - $76 = 1 << $72; - $77 = $76 ^ -1; - $78 = HEAP32[(9068)>>2]|0; - $79 = $78 & $77; - HEAP32[(9068)>>2] = $79; - $p$0 = $14;$psize$0 = $15; - break; - } - } else { - $80 = HEAP32[(9080)>>2]|0; - $81 = ($44>>>0)<($80>>>0); - if ($81) { - _abort(); - // unreachable; - } - $82 = ((($44)) + 16|0); - $83 = HEAP32[$82>>2]|0; - $84 = ($83|0)==($14|0); - if ($84) { - HEAP32[$82>>2] = $R$1; - } else { - $85 = ((($44)) + 20|0); - HEAP32[$85>>2] = $R$1; - } - $86 = ($R$1|0)==(0|0); - if ($86) { - $p$0 = $14;$psize$0 = $15; - break; - } - } - $87 = HEAP32[(9080)>>2]|0; - $88 = ($R$1>>>0)<($87>>>0); - if ($88) { - _abort(); - // unreachable; - } - $89 = ((($R$1)) + 24|0); - HEAP32[$89>>2] = $44; - $$sum27 = (($$sum2) + 16)|0; - $90 = (($mem) + ($$sum27)|0); - $91 = HEAP32[$90>>2]|0; - $92 = ($91|0)==(0|0); - do { - if (!($92)) { - $93 = ($91>>>0)<($87>>>0); - if ($93) { - _abort(); - // unreachable; - } else { - $94 = ((($R$1)) + 16|0); - HEAP32[$94>>2] = $91; - $95 = ((($91)) + 24|0); - HEAP32[$95>>2] = $R$1; - break; - } - } - } while(0); - $$sum28 = (($$sum2) + 20)|0; - $96 = (($mem) + ($$sum28)|0); - $97 = HEAP32[$96>>2]|0; - $98 = ($97|0)==(0|0); - if ($98) { - $p$0 = $14;$psize$0 = $15; - } else { - $99 = HEAP32[(9080)>>2]|0; - $100 = ($97>>>0)<($99>>>0); - if ($100) { - _abort(); - // unreachable; - } else { - $101 = ((($R$1)) + 20|0); - HEAP32[$101>>2] = $97; - $102 = ((($97)) + 24|0); - HEAP32[$102>>2] = $R$1; - $p$0 = $14;$psize$0 = $15; - break; - } - } - } - } else { - $p$0 = $1;$psize$0 = $8; - } - } while(0); - $110 = ($p$0>>>0)<($9>>>0); - if (!($110)) { - _abort(); - // unreachable; - } - $$sum19 = (($8) + -4)|0; - $111 = (($mem) + ($$sum19)|0); - $112 = HEAP32[$111>>2]|0; - $113 = $112 & 1; - $114 = ($113|0)==(0); - if ($114) { - _abort(); - // unreachable; - } - $115 = $112 & 2; - $116 = ($115|0)==(0); - if ($116) { - $117 = HEAP32[(9088)>>2]|0; - $118 = ($9|0)==($117|0); - if ($118) { - $119 = HEAP32[(9076)>>2]|0; - $120 = (($119) + ($psize$0))|0; - HEAP32[(9076)>>2] = $120; - HEAP32[(9088)>>2] = $p$0; - $121 = $120 | 1; - $122 = ((($p$0)) + 4|0); - HEAP32[$122>>2] = $121; - $123 = HEAP32[(9084)>>2]|0; - $124 = ($p$0|0)==($123|0); - if (!($124)) { - return; - } - HEAP32[(9084)>>2] = 0; - HEAP32[(9072)>>2] = 0; - return; - } - $125 = HEAP32[(9084)>>2]|0; - $126 = ($9|0)==($125|0); - if ($126) { - $127 = HEAP32[(9072)>>2]|0; - $128 = (($127) + ($psize$0))|0; - HEAP32[(9072)>>2] = $128; - HEAP32[(9084)>>2] = $p$0; - $129 = $128 | 1; - $130 = ((($p$0)) + 4|0); - HEAP32[$130>>2] = $129; - $131 = (($p$0) + ($128)|0); - HEAP32[$131>>2] = $128; - return; - } - $132 = $112 & -8; - $133 = (($132) + ($psize$0))|0; - $134 = $112 >>> 3; - $135 = ($112>>>0)<(256); - do { - if ($135) { - $136 = (($mem) + ($8)|0); - $137 = HEAP32[$136>>2]|0; - $$sum1718 = $8 | 4; - $138 = (($mem) + ($$sum1718)|0); - $139 = HEAP32[$138>>2]|0; - $140 = $134 << 1; - $141 = (9104 + ($140<<2)|0); - $142 = ($137|0)==($141|0); - if (!($142)) { - $143 = HEAP32[(9080)>>2]|0; - $144 = ($137>>>0)<($143>>>0); - if ($144) { - _abort(); - // unreachable; - } - $145 = ((($137)) + 12|0); - $146 = HEAP32[$145>>2]|0; - $147 = ($146|0)==($9|0); - if (!($147)) { - _abort(); - // unreachable; - } - } - $148 = ($139|0)==($137|0); - if ($148) { - $149 = 1 << $134; - $150 = $149 ^ -1; - $151 = HEAP32[9064>>2]|0; - $152 = $151 & $150; - HEAP32[9064>>2] = $152; - break; - } - $153 = ($139|0)==($141|0); - if ($153) { - $$pre58 = ((($139)) + 8|0); - $$pre$phi59Z2D = $$pre58; - } else { - $154 = HEAP32[(9080)>>2]|0; - $155 = ($139>>>0)<($154>>>0); - if ($155) { - _abort(); - // unreachable; - } - $156 = ((($139)) + 8|0); - $157 = HEAP32[$156>>2]|0; - $158 = ($157|0)==($9|0); - if ($158) { - $$pre$phi59Z2D = $156; - } else { - _abort(); - // unreachable; - } - } - $159 = ((($137)) + 12|0); - HEAP32[$159>>2] = $139; - HEAP32[$$pre$phi59Z2D>>2] = $137; - } else { - $$sum5 = (($8) + 16)|0; - $160 = (($mem) + ($$sum5)|0); - $161 = HEAP32[$160>>2]|0; - $$sum67 = $8 | 4; - $162 = (($mem) + ($$sum67)|0); - $163 = HEAP32[$162>>2]|0; - $164 = ($163|0)==($9|0); - do { - if ($164) { - $$sum9 = (($8) + 12)|0; - $175 = (($mem) + ($$sum9)|0); - $176 = HEAP32[$175>>2]|0; - $177 = ($176|0)==(0|0); - if ($177) { - $$sum8 = (($8) + 8)|0; - $178 = (($mem) + ($$sum8)|0); - $179 = HEAP32[$178>>2]|0; - $180 = ($179|0)==(0|0); - if ($180) { - $R7$1 = 0; - break; - } else { - $R7$0 = $179;$RP9$0 = $178; - } - } else { - $R7$0 = $176;$RP9$0 = $175; - } - while(1) { - $181 = ((($R7$0)) + 20|0); - $182 = HEAP32[$181>>2]|0; - $183 = ($182|0)==(0|0); - if (!($183)) { - $R7$0 = $182;$RP9$0 = $181; - continue; - } - $184 = ((($R7$0)) + 16|0); - $185 = HEAP32[$184>>2]|0; - $186 = ($185|0)==(0|0); - if ($186) { - $R7$0$lcssa = $R7$0;$RP9$0$lcssa = $RP9$0; - break; - } else { - $R7$0 = $185;$RP9$0 = $184; - } - } - $187 = HEAP32[(9080)>>2]|0; - $188 = ($RP9$0$lcssa>>>0)<($187>>>0); - if ($188) { - _abort(); - // unreachable; - } else { - HEAP32[$RP9$0$lcssa>>2] = 0; - $R7$1 = $R7$0$lcssa; - break; - } - } else { - $165 = (($mem) + ($8)|0); - $166 = HEAP32[$165>>2]|0; - $167 = HEAP32[(9080)>>2]|0; - $168 = ($166>>>0)<($167>>>0); - if ($168) { - _abort(); - // unreachable; - } - $169 = ((($166)) + 12|0); - $170 = HEAP32[$169>>2]|0; - $171 = ($170|0)==($9|0); - if (!($171)) { - _abort(); - // unreachable; - } - $172 = ((($163)) + 8|0); - $173 = HEAP32[$172>>2]|0; - $174 = ($173|0)==($9|0); - if ($174) { - HEAP32[$169>>2] = $163; - HEAP32[$172>>2] = $166; - $R7$1 = $163; - break; - } else { - _abort(); - // unreachable; - } - } - } while(0); - $189 = ($161|0)==(0|0); - if (!($189)) { - $$sum12 = (($8) + 20)|0; - $190 = (($mem) + ($$sum12)|0); - $191 = HEAP32[$190>>2]|0; - $192 = (9368 + ($191<<2)|0); - $193 = HEAP32[$192>>2]|0; - $194 = ($9|0)==($193|0); - if ($194) { - HEAP32[$192>>2] = $R7$1; - $cond47 = ($R7$1|0)==(0|0); - if ($cond47) { - $195 = 1 << $191; - $196 = $195 ^ -1; - $197 = HEAP32[(9068)>>2]|0; - $198 = $197 & $196; - HEAP32[(9068)>>2] = $198; - break; - } - } else { - $199 = HEAP32[(9080)>>2]|0; - $200 = ($161>>>0)<($199>>>0); - if ($200) { - _abort(); - // unreachable; - } - $201 = ((($161)) + 16|0); - $202 = HEAP32[$201>>2]|0; - $203 = ($202|0)==($9|0); - if ($203) { - HEAP32[$201>>2] = $R7$1; - } else { - $204 = ((($161)) + 20|0); - HEAP32[$204>>2] = $R7$1; - } - $205 = ($R7$1|0)==(0|0); - if ($205) { - break; - } - } - $206 = HEAP32[(9080)>>2]|0; - $207 = ($R7$1>>>0)<($206>>>0); - if ($207) { - _abort(); - // unreachable; - } - $208 = ((($R7$1)) + 24|0); - HEAP32[$208>>2] = $161; - $$sum13 = (($8) + 8)|0; - $209 = (($mem) + ($$sum13)|0); - $210 = HEAP32[$209>>2]|0; - $211 = ($210|0)==(0|0); - do { - if (!($211)) { - $212 = ($210>>>0)<($206>>>0); - if ($212) { - _abort(); - // unreachable; - } else { - $213 = ((($R7$1)) + 16|0); - HEAP32[$213>>2] = $210; - $214 = ((($210)) + 24|0); - HEAP32[$214>>2] = $R7$1; - break; - } - } - } while(0); - $$sum14 = (($8) + 12)|0; - $215 = (($mem) + ($$sum14)|0); - $216 = HEAP32[$215>>2]|0; - $217 = ($216|0)==(0|0); - if (!($217)) { - $218 = HEAP32[(9080)>>2]|0; - $219 = ($216>>>0)<($218>>>0); - if ($219) { - _abort(); - // unreachable; - } else { - $220 = ((($R7$1)) + 20|0); - HEAP32[$220>>2] = $216; - $221 = ((($216)) + 24|0); - HEAP32[$221>>2] = $R7$1; - break; - } - } - } - } - } while(0); - $222 = $133 | 1; - $223 = ((($p$0)) + 4|0); - HEAP32[$223>>2] = $222; - $224 = (($p$0) + ($133)|0); - HEAP32[$224>>2] = $133; - $225 = HEAP32[(9084)>>2]|0; - $226 = ($p$0|0)==($225|0); - if ($226) { - HEAP32[(9072)>>2] = $133; - return; - } else { - $psize$1 = $133; - } - } else { - $227 = $112 & -2; - HEAP32[$111>>2] = $227; - $228 = $psize$0 | 1; - $229 = ((($p$0)) + 4|0); - HEAP32[$229>>2] = $228; - $230 = (($p$0) + ($psize$0)|0); - HEAP32[$230>>2] = $psize$0; - $psize$1 = $psize$0; - } - $231 = $psize$1 >>> 3; - $232 = ($psize$1>>>0)<(256); - if ($232) { - $233 = $231 << 1; - $234 = (9104 + ($233<<2)|0); - $235 = HEAP32[9064>>2]|0; - $236 = 1 << $231; - $237 = $235 & $236; - $238 = ($237|0)==(0); - if ($238) { - $239 = $235 | $236; - HEAP32[9064>>2] = $239; - $$pre = (($233) + 2)|0; - $$pre57 = (9104 + ($$pre<<2)|0); - $$pre$phiZ2D = $$pre57;$F16$0 = $234; - } else { - $$sum11 = (($233) + 2)|0; - $240 = (9104 + ($$sum11<<2)|0); - $241 = HEAP32[$240>>2]|0; - $242 = HEAP32[(9080)>>2]|0; - $243 = ($241>>>0)<($242>>>0); - if ($243) { - _abort(); - // unreachable; - } else { - $$pre$phiZ2D = $240;$F16$0 = $241; - } - } - HEAP32[$$pre$phiZ2D>>2] = $p$0; - $244 = ((($F16$0)) + 12|0); - HEAP32[$244>>2] = $p$0; - $245 = ((($p$0)) + 8|0); - HEAP32[$245>>2] = $F16$0; - $246 = ((($p$0)) + 12|0); - HEAP32[$246>>2] = $234; - return; - } - $247 = $psize$1 >>> 8; - $248 = ($247|0)==(0); - if ($248) { - $I18$0 = 0; - } else { - $249 = ($psize$1>>>0)>(16777215); - if ($249) { - $I18$0 = 31; - } else { - $250 = (($247) + 1048320)|0; - $251 = $250 >>> 16; - $252 = $251 & 8; - $253 = $247 << $252; - $254 = (($253) + 520192)|0; - $255 = $254 >>> 16; - $256 = $255 & 4; - $257 = $256 | $252; - $258 = $253 << $256; - $259 = (($258) + 245760)|0; - $260 = $259 >>> 16; - $261 = $260 & 2; - $262 = $257 | $261; - $263 = (14 - ($262))|0; - $264 = $258 << $261; - $265 = $264 >>> 15; - $266 = (($263) + ($265))|0; - $267 = $266 << 1; - $268 = (($266) + 7)|0; - $269 = $psize$1 >>> $268; - $270 = $269 & 1; - $271 = $270 | $267; - $I18$0 = $271; - } - } - $272 = (9368 + ($I18$0<<2)|0); - $273 = ((($p$0)) + 28|0); - HEAP32[$273>>2] = $I18$0; - $274 = ((($p$0)) + 16|0); - $275 = ((($p$0)) + 20|0); - HEAP32[$275>>2] = 0; - HEAP32[$274>>2] = 0; - $276 = HEAP32[(9068)>>2]|0; - $277 = 1 << $I18$0; - $278 = $276 & $277; - $279 = ($278|0)==(0); - L199: do { - if ($279) { - $280 = $276 | $277; - HEAP32[(9068)>>2] = $280; - HEAP32[$272>>2] = $p$0; - $281 = ((($p$0)) + 24|0); - HEAP32[$281>>2] = $272; - $282 = ((($p$0)) + 12|0); - HEAP32[$282>>2] = $p$0; - $283 = ((($p$0)) + 8|0); - HEAP32[$283>>2] = $p$0; - } else { - $284 = HEAP32[$272>>2]|0; - $285 = ((($284)) + 4|0); - $286 = HEAP32[$285>>2]|0; - $287 = $286 & -8; - $288 = ($287|0)==($psize$1|0); - L202: do { - if ($288) { - $T$0$lcssa = $284; - } else { - $289 = ($I18$0|0)==(31); - $290 = $I18$0 >>> 1; - $291 = (25 - ($290))|0; - $292 = $289 ? 0 : $291; - $293 = $psize$1 << $292; - $K19$052 = $293;$T$051 = $284; - while(1) { - $300 = $K19$052 >>> 31; - $301 = (((($T$051)) + 16|0) + ($300<<2)|0); - $296 = HEAP32[$301>>2]|0; - $302 = ($296|0)==(0|0); - if ($302) { - $$lcssa = $301;$T$051$lcssa = $T$051; - break; - } - $294 = $K19$052 << 1; - $295 = ((($296)) + 4|0); - $297 = HEAP32[$295>>2]|0; - $298 = $297 & -8; - $299 = ($298|0)==($psize$1|0); - if ($299) { - $T$0$lcssa = $296; - break L202; - } else { - $K19$052 = $294;$T$051 = $296; - } - } - $303 = HEAP32[(9080)>>2]|0; - $304 = ($$lcssa>>>0)<($303>>>0); - if ($304) { - _abort(); - // unreachable; - } else { - HEAP32[$$lcssa>>2] = $p$0; - $305 = ((($p$0)) + 24|0); - HEAP32[$305>>2] = $T$051$lcssa; - $306 = ((($p$0)) + 12|0); - HEAP32[$306>>2] = $p$0; - $307 = ((($p$0)) + 8|0); - HEAP32[$307>>2] = $p$0; - break L199; - } - } - } while(0); - $308 = ((($T$0$lcssa)) + 8|0); - $309 = HEAP32[$308>>2]|0; - $310 = HEAP32[(9080)>>2]|0; - $311 = ($309>>>0)>=($310>>>0); - $not$ = ($T$0$lcssa>>>0)>=($310>>>0); - $312 = $311 & $not$; - if ($312) { - $313 = ((($309)) + 12|0); - HEAP32[$313>>2] = $p$0; - HEAP32[$308>>2] = $p$0; - $314 = ((($p$0)) + 8|0); - HEAP32[$314>>2] = $309; - $315 = ((($p$0)) + 12|0); - HEAP32[$315>>2] = $T$0$lcssa; - $316 = ((($p$0)) + 24|0); - HEAP32[$316>>2] = 0; - break; - } else { - _abort(); - // unreachable; - } - } - } while(0); - $317 = HEAP32[(9096)>>2]|0; - $318 = (($317) + -1)|0; - HEAP32[(9096)>>2] = $318; - $319 = ($318|0)==(0); - if ($319) { - $sp$0$in$i = (9520); - } else { - return; - } - while(1) { - $sp$0$i = HEAP32[$sp$0$in$i>>2]|0; - $320 = ($sp$0$i|0)==(0|0); - $321 = ((($sp$0$i)) + 8|0); - if ($320) { - break; - } else { - $sp$0$in$i = $321; - } - } - HEAP32[(9096)>>2] = -1; - return; -} -function _realloc($oldmem,$bytes) { - $oldmem = $oldmem|0; - $bytes = $bytes|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0; - var $7 = 0, $8 = 0, $9 = 0, $mem$0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ($oldmem|0)==(0|0); - if ($0) { - $1 = (_malloc($bytes)|0); - $mem$0 = $1; - return ($mem$0|0); - } - $2 = ($bytes>>>0)>(4294967231); - if ($2) { - $3 = (___errno_location()|0); - HEAP32[$3>>2] = 12; - $mem$0 = 0; - return ($mem$0|0); - } - $4 = ($bytes>>>0)<(11); - $5 = (($bytes) + 11)|0; - $6 = $5 & -8; - $7 = $4 ? 16 : $6; - $8 = ((($oldmem)) + -8|0); - $9 = (_try_realloc_chunk($8,$7)|0); - $10 = ($9|0)==(0|0); - if (!($10)) { - $11 = ((($9)) + 8|0); - $mem$0 = $11; - return ($mem$0|0); - } - $12 = (_malloc($bytes)|0); - $13 = ($12|0)==(0|0); - if ($13) { - $mem$0 = 0; - return ($mem$0|0); - } - $14 = ((($oldmem)) + -4|0); - $15 = HEAP32[$14>>2]|0; - $16 = $15 & -8; - $17 = $15 & 3; - $18 = ($17|0)==(0); - $19 = $18 ? 8 : 4; - $20 = (($16) - ($19))|0; - $21 = ($20>>>0)<($bytes>>>0); - $22 = $21 ? $20 : $bytes; - _memcpy(($12|0),($oldmem|0),($22|0))|0; - _free($oldmem); - $mem$0 = $12; - return ($mem$0|0); -} -function _try_realloc_chunk($p,$nb) { - $p = $p|0; - $nb = $nb|0; - var $$pre = 0, $$pre$phiZ2D = 0, $$sum = 0, $$sum11 = 0, $$sum12 = 0, $$sum13 = 0, $$sum14 = 0, $$sum15 = 0, $$sum16 = 0, $$sum17 = 0, $$sum19 = 0, $$sum2 = 0, $$sum20 = 0, $$sum22 = 0, $$sum23 = 0, $$sum2728 = 0, $$sum3 = 0, $$sum4 = 0, $$sum5 = 0, $$sum78 = 0; - var $$sum910 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0; - var $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0; - var $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0; - var $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0; - var $17 = 0, $170 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0; - var $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0; - var $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0; - var $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0; - var $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $R$0 = 0, $R$0$lcssa = 0, $R$1 = 0, $RP$0 = 0, $RP$0$lcssa = 0, $cond = 0, $newp$0 = 0, $notlhs = 0; - var $notrhs = 0, $or$cond$not = 0, $or$cond30 = 0, $storemerge = 0, $storemerge21 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($p)) + 4|0); - $1 = HEAP32[$0>>2]|0; - $2 = $1 & -8; - $3 = (($p) + ($2)|0); - $4 = HEAP32[(9080)>>2]|0; - $5 = $1 & 3; - $notlhs = ($p>>>0)>=($4>>>0); - $notrhs = ($5|0)!=(1); - $or$cond$not = $notrhs & $notlhs; - $6 = ($p>>>0)<($3>>>0); - $or$cond30 = $or$cond$not & $6; - if (!($or$cond30)) { - _abort(); - // unreachable; - } - $$sum2728 = $2 | 4; - $7 = (($p) + ($$sum2728)|0); - $8 = HEAP32[$7>>2]|0; - $9 = $8 & 1; - $10 = ($9|0)==(0); - if ($10) { - _abort(); - // unreachable; - } - $11 = ($5|0)==(0); - if ($11) { - $12 = ($nb>>>0)<(256); - if ($12) { - $newp$0 = 0; - return ($newp$0|0); - } - $13 = (($nb) + 4)|0; - $14 = ($2>>>0)<($13>>>0); - if (!($14)) { - $15 = (($2) - ($nb))|0; - $16 = HEAP32[(9544)>>2]|0; - $17 = $16 << 1; - $18 = ($15>>>0)>($17>>>0); - if (!($18)) { - $newp$0 = $p; - return ($newp$0|0); - } - } - $newp$0 = 0; - return ($newp$0|0); - } - $19 = ($2>>>0)<($nb>>>0); - if (!($19)) { - $20 = (($2) - ($nb))|0; - $21 = ($20>>>0)>(15); - if (!($21)) { - $newp$0 = $p; - return ($newp$0|0); - } - $22 = (($p) + ($nb)|0); - $23 = $1 & 1; - $24 = $23 | $nb; - $25 = $24 | 2; - HEAP32[$0>>2] = $25; - $$sum23 = (($nb) + 4)|0; - $26 = (($p) + ($$sum23)|0); - $27 = $20 | 3; - HEAP32[$26>>2] = $27; - $28 = HEAP32[$7>>2]|0; - $29 = $28 | 1; - HEAP32[$7>>2] = $29; - _dispose_chunk($22,$20); - $newp$0 = $p; - return ($newp$0|0); - } - $30 = HEAP32[(9088)>>2]|0; - $31 = ($3|0)==($30|0); - if ($31) { - $32 = HEAP32[(9076)>>2]|0; - $33 = (($32) + ($2))|0; - $34 = ($33>>>0)>($nb>>>0); - if (!($34)) { - $newp$0 = 0; - return ($newp$0|0); - } - $35 = (($33) - ($nb))|0; - $36 = (($p) + ($nb)|0); - $37 = $1 & 1; - $38 = $37 | $nb; - $39 = $38 | 2; - HEAP32[$0>>2] = $39; - $$sum22 = (($nb) + 4)|0; - $40 = (($p) + ($$sum22)|0); - $41 = $35 | 1; - HEAP32[$40>>2] = $41; - HEAP32[(9088)>>2] = $36; - HEAP32[(9076)>>2] = $35; - $newp$0 = $p; - return ($newp$0|0); - } - $42 = HEAP32[(9084)>>2]|0; - $43 = ($3|0)==($42|0); - if ($43) { - $44 = HEAP32[(9072)>>2]|0; - $45 = (($44) + ($2))|0; - $46 = ($45>>>0)<($nb>>>0); - if ($46) { - $newp$0 = 0; - return ($newp$0|0); - } - $47 = (($45) - ($nb))|0; - $48 = ($47>>>0)>(15); - if ($48) { - $49 = (($p) + ($nb)|0); - $50 = (($p) + ($45)|0); - $51 = $1 & 1; - $52 = $51 | $nb; - $53 = $52 | 2; - HEAP32[$0>>2] = $53; - $$sum19 = (($nb) + 4)|0; - $54 = (($p) + ($$sum19)|0); - $55 = $47 | 1; - HEAP32[$54>>2] = $55; - HEAP32[$50>>2] = $47; - $$sum20 = (($45) + 4)|0; - $56 = (($p) + ($$sum20)|0); - $57 = HEAP32[$56>>2]|0; - $58 = $57 & -2; - HEAP32[$56>>2] = $58; - $storemerge = $49;$storemerge21 = $47; - } else { - $59 = $1 & 1; - $60 = $59 | $45; - $61 = $60 | 2; - HEAP32[$0>>2] = $61; - $$sum17 = (($45) + 4)|0; - $62 = (($p) + ($$sum17)|0); - $63 = HEAP32[$62>>2]|0; - $64 = $63 | 1; - HEAP32[$62>>2] = $64; - $storemerge = 0;$storemerge21 = 0; - } - HEAP32[(9072)>>2] = $storemerge21; - HEAP32[(9084)>>2] = $storemerge; - $newp$0 = $p; - return ($newp$0|0); - } - $65 = $8 & 2; - $66 = ($65|0)==(0); - if (!($66)) { - $newp$0 = 0; - return ($newp$0|0); - } - $67 = $8 & -8; - $68 = (($67) + ($2))|0; - $69 = ($68>>>0)<($nb>>>0); - if ($69) { - $newp$0 = 0; - return ($newp$0|0); - } - $70 = (($68) - ($nb))|0; - $71 = $8 >>> 3; - $72 = ($8>>>0)<(256); - do { - if ($72) { - $$sum15 = (($2) + 8)|0; - $73 = (($p) + ($$sum15)|0); - $74 = HEAP32[$73>>2]|0; - $$sum16 = (($2) + 12)|0; - $75 = (($p) + ($$sum16)|0); - $76 = HEAP32[$75>>2]|0; - $77 = $71 << 1; - $78 = (9104 + ($77<<2)|0); - $79 = ($74|0)==($78|0); - if (!($79)) { - $80 = ($74>>>0)<($4>>>0); - if ($80) { - _abort(); - // unreachable; - } - $81 = ((($74)) + 12|0); - $82 = HEAP32[$81>>2]|0; - $83 = ($82|0)==($3|0); - if (!($83)) { - _abort(); - // unreachable; - } - } - $84 = ($76|0)==($74|0); - if ($84) { - $85 = 1 << $71; - $86 = $85 ^ -1; - $87 = HEAP32[9064>>2]|0; - $88 = $87 & $86; - HEAP32[9064>>2] = $88; - break; - } - $89 = ($76|0)==($78|0); - if ($89) { - $$pre = ((($76)) + 8|0); - $$pre$phiZ2D = $$pre; - } else { - $90 = ($76>>>0)<($4>>>0); - if ($90) { - _abort(); - // unreachable; - } - $91 = ((($76)) + 8|0); - $92 = HEAP32[$91>>2]|0; - $93 = ($92|0)==($3|0); - if ($93) { - $$pre$phiZ2D = $91; - } else { - _abort(); - // unreachable; - } - } - $94 = ((($74)) + 12|0); - HEAP32[$94>>2] = $76; - HEAP32[$$pre$phiZ2D>>2] = $74; - } else { - $$sum = (($2) + 24)|0; - $95 = (($p) + ($$sum)|0); - $96 = HEAP32[$95>>2]|0; - $$sum2 = (($2) + 12)|0; - $97 = (($p) + ($$sum2)|0); - $98 = HEAP32[$97>>2]|0; - $99 = ($98|0)==($3|0); - do { - if ($99) { - $$sum4 = (($2) + 20)|0; - $109 = (($p) + ($$sum4)|0); - $110 = HEAP32[$109>>2]|0; - $111 = ($110|0)==(0|0); - if ($111) { - $$sum3 = (($2) + 16)|0; - $112 = (($p) + ($$sum3)|0); - $113 = HEAP32[$112>>2]|0; - $114 = ($113|0)==(0|0); - if ($114) { - $R$1 = 0; - break; - } else { - $R$0 = $113;$RP$0 = $112; - } - } else { - $R$0 = $110;$RP$0 = $109; - } - while(1) { - $115 = ((($R$0)) + 20|0); - $116 = HEAP32[$115>>2]|0; - $117 = ($116|0)==(0|0); - if (!($117)) { - $R$0 = $116;$RP$0 = $115; - continue; - } - $118 = ((($R$0)) + 16|0); - $119 = HEAP32[$118>>2]|0; - $120 = ($119|0)==(0|0); - if ($120) { - $R$0$lcssa = $R$0;$RP$0$lcssa = $RP$0; - break; - } else { - $R$0 = $119;$RP$0 = $118; - } - } - $121 = ($RP$0$lcssa>>>0)<($4>>>0); - if ($121) { - _abort(); - // unreachable; - } else { - HEAP32[$RP$0$lcssa>>2] = 0; - $R$1 = $R$0$lcssa; - break; - } - } else { - $$sum14 = (($2) + 8)|0; - $100 = (($p) + ($$sum14)|0); - $101 = HEAP32[$100>>2]|0; - $102 = ($101>>>0)<($4>>>0); - if ($102) { - _abort(); - // unreachable; - } - $103 = ((($101)) + 12|0); - $104 = HEAP32[$103>>2]|0; - $105 = ($104|0)==($3|0); - if (!($105)) { - _abort(); - // unreachable; - } - $106 = ((($98)) + 8|0); - $107 = HEAP32[$106>>2]|0; - $108 = ($107|0)==($3|0); - if ($108) { - HEAP32[$103>>2] = $98; - HEAP32[$106>>2] = $101; - $R$1 = $98; - break; - } else { - _abort(); - // unreachable; - } - } - } while(0); - $122 = ($96|0)==(0|0); - if (!($122)) { - $$sum11 = (($2) + 28)|0; - $123 = (($p) + ($$sum11)|0); - $124 = HEAP32[$123>>2]|0; - $125 = (9368 + ($124<<2)|0); - $126 = HEAP32[$125>>2]|0; - $127 = ($3|0)==($126|0); - if ($127) { - HEAP32[$125>>2] = $R$1; - $cond = ($R$1|0)==(0|0); - if ($cond) { - $128 = 1 << $124; - $129 = $128 ^ -1; - $130 = HEAP32[(9068)>>2]|0; - $131 = $130 & $129; - HEAP32[(9068)>>2] = $131; - break; - } - } else { - $132 = HEAP32[(9080)>>2]|0; - $133 = ($96>>>0)<($132>>>0); - if ($133) { - _abort(); - // unreachable; - } - $134 = ((($96)) + 16|0); - $135 = HEAP32[$134>>2]|0; - $136 = ($135|0)==($3|0); - if ($136) { - HEAP32[$134>>2] = $R$1; - } else { - $137 = ((($96)) + 20|0); - HEAP32[$137>>2] = $R$1; - } - $138 = ($R$1|0)==(0|0); - if ($138) { - break; - } - } - $139 = HEAP32[(9080)>>2]|0; - $140 = ($R$1>>>0)<($139>>>0); - if ($140) { - _abort(); - // unreachable; - } - $141 = ((($R$1)) + 24|0); - HEAP32[$141>>2] = $96; - $$sum12 = (($2) + 16)|0; - $142 = (($p) + ($$sum12)|0); - $143 = HEAP32[$142>>2]|0; - $144 = ($143|0)==(0|0); - do { - if (!($144)) { - $145 = ($143>>>0)<($139>>>0); - if ($145) { - _abort(); - // unreachable; - } else { - $146 = ((($R$1)) + 16|0); - HEAP32[$146>>2] = $143; - $147 = ((($143)) + 24|0); - HEAP32[$147>>2] = $R$1; - break; - } - } - } while(0); - $$sum13 = (($2) + 20)|0; - $148 = (($p) + ($$sum13)|0); - $149 = HEAP32[$148>>2]|0; - $150 = ($149|0)==(0|0); - if (!($150)) { - $151 = HEAP32[(9080)>>2]|0; - $152 = ($149>>>0)<($151>>>0); - if ($152) { - _abort(); - // unreachable; - } else { - $153 = ((($R$1)) + 20|0); - HEAP32[$153>>2] = $149; - $154 = ((($149)) + 24|0); - HEAP32[$154>>2] = $R$1; - break; - } - } - } - } - } while(0); - $155 = ($70>>>0)<(16); - if ($155) { - $156 = $1 & 1; - $157 = $68 | $156; - $158 = $157 | 2; - HEAP32[$0>>2] = $158; - $$sum910 = $68 | 4; - $159 = (($p) + ($$sum910)|0); - $160 = HEAP32[$159>>2]|0; - $161 = $160 | 1; - HEAP32[$159>>2] = $161; - $newp$0 = $p; - return ($newp$0|0); - } else { - $162 = (($p) + ($nb)|0); - $163 = $1 & 1; - $164 = $163 | $nb; - $165 = $164 | 2; - HEAP32[$0>>2] = $165; - $$sum5 = (($nb) + 4)|0; - $166 = (($p) + ($$sum5)|0); - $167 = $70 | 3; - HEAP32[$166>>2] = $167; - $$sum78 = $68 | 4; - $168 = (($p) + ($$sum78)|0); - $169 = HEAP32[$168>>2]|0; - $170 = $169 | 1; - HEAP32[$168>>2] = $170; - _dispose_chunk($162,$70); - $newp$0 = $p; - return ($newp$0|0); - } - return (0)|0; -} -function _dispose_chunk($p,$psize) { - $p = $p|0; - $psize = $psize|0; - var $$0 = 0, $$02 = 0, $$1 = 0, $$lcssa = 0, $$pre = 0, $$pre$phi50Z2D = 0, $$pre$phi52Z2D = 0, $$pre$phiZ2D = 0, $$pre48 = 0, $$pre49 = 0, $$pre51 = 0, $$sum = 0, $$sum1 = 0, $$sum10 = 0, $$sum11 = 0, $$sum12 = 0, $$sum13 = 0, $$sum14 = 0, $$sum16 = 0, $$sum17 = 0; - var $$sum18 = 0, $$sum19 = 0, $$sum2 = 0, $$sum20 = 0, $$sum21 = 0, $$sum22 = 0, $$sum23 = 0, $$sum24 = 0, $$sum25 = 0, $$sum3 = 0, $$sum4 = 0, $$sum5 = 0, $$sum7 = 0, $$sum8 = 0, $$sum9 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0; - var $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0; - var $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0; - var $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0; - var $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0; - var $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0; - var $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0; - var $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0; - var $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0; - var $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0; - var $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0; - var $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0; - var $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; - var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0; - var $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0; - var $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0; - var $97 = 0, $98 = 0, $99 = 0, $F16$0 = 0, $I19$0 = 0, $K20$043 = 0, $R$0 = 0, $R$0$lcssa = 0, $R$1 = 0, $R7$0 = 0, $R7$0$lcssa = 0, $R7$1 = 0, $RP$0 = 0, $RP$0$lcssa = 0, $RP9$0 = 0, $RP9$0$lcssa = 0, $T$0$lcssa = 0, $T$042 = 0, $T$042$lcssa = 0, $cond = 0; - var $cond39 = 0, $not$ = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (($p) + ($psize)|0); - $1 = ((($p)) + 4|0); - $2 = HEAP32[$1>>2]|0; - $3 = $2 & 1; - $4 = ($3|0)==(0); - do { - if ($4) { - $5 = HEAP32[$p>>2]|0; - $6 = $2 & 3; - $7 = ($6|0)==(0); - if ($7) { - return; - } - $8 = (0 - ($5))|0; - $9 = (($p) + ($8)|0); - $10 = (($5) + ($psize))|0; - $11 = HEAP32[(9080)>>2]|0; - $12 = ($9>>>0)<($11>>>0); - if ($12) { - _abort(); - // unreachable; - } - $13 = HEAP32[(9084)>>2]|0; - $14 = ($9|0)==($13|0); - if ($14) { - $$sum = (($psize) + 4)|0; - $99 = (($p) + ($$sum)|0); - $100 = HEAP32[$99>>2]|0; - $101 = $100 & 3; - $102 = ($101|0)==(3); - if (!($102)) { - $$0 = $9;$$02 = $10; - break; - } - HEAP32[(9072)>>2] = $10; - $103 = $100 & -2; - HEAP32[$99>>2] = $103; - $104 = $10 | 1; - $$sum14 = (4 - ($5))|0; - $105 = (($p) + ($$sum14)|0); - HEAP32[$105>>2] = $104; - HEAP32[$0>>2] = $10; - return; - } - $15 = $5 >>> 3; - $16 = ($5>>>0)<(256); - if ($16) { - $$sum24 = (8 - ($5))|0; - $17 = (($p) + ($$sum24)|0); - $18 = HEAP32[$17>>2]|0; - $$sum25 = (12 - ($5))|0; - $19 = (($p) + ($$sum25)|0); - $20 = HEAP32[$19>>2]|0; - $21 = $15 << 1; - $22 = (9104 + ($21<<2)|0); - $23 = ($18|0)==($22|0); - if (!($23)) { - $24 = ($18>>>0)<($11>>>0); - if ($24) { - _abort(); - // unreachable; - } - $25 = ((($18)) + 12|0); - $26 = HEAP32[$25>>2]|0; - $27 = ($26|0)==($9|0); - if (!($27)) { - _abort(); - // unreachable; - } - } - $28 = ($20|0)==($18|0); - if ($28) { - $29 = 1 << $15; - $30 = $29 ^ -1; - $31 = HEAP32[9064>>2]|0; - $32 = $31 & $30; - HEAP32[9064>>2] = $32; - $$0 = $9;$$02 = $10; - break; - } - $33 = ($20|0)==($22|0); - if ($33) { - $$pre51 = ((($20)) + 8|0); - $$pre$phi52Z2D = $$pre51; - } else { - $34 = ($20>>>0)<($11>>>0); - if ($34) { - _abort(); - // unreachable; - } - $35 = ((($20)) + 8|0); - $36 = HEAP32[$35>>2]|0; - $37 = ($36|0)==($9|0); - if ($37) { - $$pre$phi52Z2D = $35; - } else { - _abort(); - // unreachable; - } - } - $38 = ((($18)) + 12|0); - HEAP32[$38>>2] = $20; - HEAP32[$$pre$phi52Z2D>>2] = $18; - $$0 = $9;$$02 = $10; - break; - } - $$sum16 = (24 - ($5))|0; - $39 = (($p) + ($$sum16)|0); - $40 = HEAP32[$39>>2]|0; - $$sum17 = (12 - ($5))|0; - $41 = (($p) + ($$sum17)|0); - $42 = HEAP32[$41>>2]|0; - $43 = ($42|0)==($9|0); - do { - if ($43) { - $$sum18 = (16 - ($5))|0; - $$sum19 = (($$sum18) + 4)|0; - $53 = (($p) + ($$sum19)|0); - $54 = HEAP32[$53>>2]|0; - $55 = ($54|0)==(0|0); - if ($55) { - $56 = (($p) + ($$sum18)|0); - $57 = HEAP32[$56>>2]|0; - $58 = ($57|0)==(0|0); - if ($58) { - $R$1 = 0; - break; - } else { - $R$0 = $57;$RP$0 = $56; - } - } else { - $R$0 = $54;$RP$0 = $53; - } - while(1) { - $59 = ((($R$0)) + 20|0); - $60 = HEAP32[$59>>2]|0; - $61 = ($60|0)==(0|0); - if (!($61)) { - $R$0 = $60;$RP$0 = $59; - continue; - } - $62 = ((($R$0)) + 16|0); - $63 = HEAP32[$62>>2]|0; - $64 = ($63|0)==(0|0); - if ($64) { - $R$0$lcssa = $R$0;$RP$0$lcssa = $RP$0; - break; - } else { - $R$0 = $63;$RP$0 = $62; - } - } - $65 = ($RP$0$lcssa>>>0)<($11>>>0); - if ($65) { - _abort(); - // unreachable; - } else { - HEAP32[$RP$0$lcssa>>2] = 0; - $R$1 = $R$0$lcssa; - break; - } - } else { - $$sum23 = (8 - ($5))|0; - $44 = (($p) + ($$sum23)|0); - $45 = HEAP32[$44>>2]|0; - $46 = ($45>>>0)<($11>>>0); - if ($46) { - _abort(); - // unreachable; - } - $47 = ((($45)) + 12|0); - $48 = HEAP32[$47>>2]|0; - $49 = ($48|0)==($9|0); - if (!($49)) { - _abort(); - // unreachable; - } - $50 = ((($42)) + 8|0); - $51 = HEAP32[$50>>2]|0; - $52 = ($51|0)==($9|0); - if ($52) { - HEAP32[$47>>2] = $42; - HEAP32[$50>>2] = $45; - $R$1 = $42; - break; - } else { - _abort(); - // unreachable; - } - } - } while(0); - $66 = ($40|0)==(0|0); - if ($66) { - $$0 = $9;$$02 = $10; - } else { - $$sum20 = (28 - ($5))|0; - $67 = (($p) + ($$sum20)|0); - $68 = HEAP32[$67>>2]|0; - $69 = (9368 + ($68<<2)|0); - $70 = HEAP32[$69>>2]|0; - $71 = ($9|0)==($70|0); - if ($71) { - HEAP32[$69>>2] = $R$1; - $cond = ($R$1|0)==(0|0); - if ($cond) { - $72 = 1 << $68; - $73 = $72 ^ -1; - $74 = HEAP32[(9068)>>2]|0; - $75 = $74 & $73; - HEAP32[(9068)>>2] = $75; - $$0 = $9;$$02 = $10; - break; - } - } else { - $76 = HEAP32[(9080)>>2]|0; - $77 = ($40>>>0)<($76>>>0); - if ($77) { - _abort(); - // unreachable; - } - $78 = ((($40)) + 16|0); - $79 = HEAP32[$78>>2]|0; - $80 = ($79|0)==($9|0); - if ($80) { - HEAP32[$78>>2] = $R$1; - } else { - $81 = ((($40)) + 20|0); - HEAP32[$81>>2] = $R$1; - } - $82 = ($R$1|0)==(0|0); - if ($82) { - $$0 = $9;$$02 = $10; - break; - } - } - $83 = HEAP32[(9080)>>2]|0; - $84 = ($R$1>>>0)<($83>>>0); - if ($84) { - _abort(); - // unreachable; - } - $85 = ((($R$1)) + 24|0); - HEAP32[$85>>2] = $40; - $$sum21 = (16 - ($5))|0; - $86 = (($p) + ($$sum21)|0); - $87 = HEAP32[$86>>2]|0; - $88 = ($87|0)==(0|0); - do { - if (!($88)) { - $89 = ($87>>>0)<($83>>>0); - if ($89) { - _abort(); - // unreachable; - } else { - $90 = ((($R$1)) + 16|0); - HEAP32[$90>>2] = $87; - $91 = ((($87)) + 24|0); - HEAP32[$91>>2] = $R$1; - break; - } - } - } while(0); - $$sum22 = (($$sum21) + 4)|0; - $92 = (($p) + ($$sum22)|0); - $93 = HEAP32[$92>>2]|0; - $94 = ($93|0)==(0|0); - if ($94) { - $$0 = $9;$$02 = $10; - } else { - $95 = HEAP32[(9080)>>2]|0; - $96 = ($93>>>0)<($95>>>0); - if ($96) { - _abort(); - // unreachable; - } else { - $97 = ((($R$1)) + 20|0); - HEAP32[$97>>2] = $93; - $98 = ((($93)) + 24|0); - HEAP32[$98>>2] = $R$1; - $$0 = $9;$$02 = $10; - break; - } - } - } - } else { - $$0 = $p;$$02 = $psize; - } - } while(0); - $106 = HEAP32[(9080)>>2]|0; - $107 = ($0>>>0)<($106>>>0); - if ($107) { - _abort(); - // unreachable; - } - $$sum1 = (($psize) + 4)|0; - $108 = (($p) + ($$sum1)|0); - $109 = HEAP32[$108>>2]|0; - $110 = $109 & 2; - $111 = ($110|0)==(0); - if ($111) { - $112 = HEAP32[(9088)>>2]|0; - $113 = ($0|0)==($112|0); - if ($113) { - $114 = HEAP32[(9076)>>2]|0; - $115 = (($114) + ($$02))|0; - HEAP32[(9076)>>2] = $115; - HEAP32[(9088)>>2] = $$0; - $116 = $115 | 1; - $117 = ((($$0)) + 4|0); - HEAP32[$117>>2] = $116; - $118 = HEAP32[(9084)>>2]|0; - $119 = ($$0|0)==($118|0); - if (!($119)) { - return; - } - HEAP32[(9084)>>2] = 0; - HEAP32[(9072)>>2] = 0; - return; - } - $120 = HEAP32[(9084)>>2]|0; - $121 = ($0|0)==($120|0); - if ($121) { - $122 = HEAP32[(9072)>>2]|0; - $123 = (($122) + ($$02))|0; - HEAP32[(9072)>>2] = $123; - HEAP32[(9084)>>2] = $$0; - $124 = $123 | 1; - $125 = ((($$0)) + 4|0); - HEAP32[$125>>2] = $124; - $126 = (($$0) + ($123)|0); - HEAP32[$126>>2] = $123; - return; - } - $127 = $109 & -8; - $128 = (($127) + ($$02))|0; - $129 = $109 >>> 3; - $130 = ($109>>>0)<(256); - do { - if ($130) { - $$sum12 = (($psize) + 8)|0; - $131 = (($p) + ($$sum12)|0); - $132 = HEAP32[$131>>2]|0; - $$sum13 = (($psize) + 12)|0; - $133 = (($p) + ($$sum13)|0); - $134 = HEAP32[$133>>2]|0; - $135 = $129 << 1; - $136 = (9104 + ($135<<2)|0); - $137 = ($132|0)==($136|0); - if (!($137)) { - $138 = ($132>>>0)<($106>>>0); - if ($138) { - _abort(); - // unreachable; - } - $139 = ((($132)) + 12|0); - $140 = HEAP32[$139>>2]|0; - $141 = ($140|0)==($0|0); - if (!($141)) { - _abort(); - // unreachable; - } - } - $142 = ($134|0)==($132|0); - if ($142) { - $143 = 1 << $129; - $144 = $143 ^ -1; - $145 = HEAP32[9064>>2]|0; - $146 = $145 & $144; - HEAP32[9064>>2] = $146; - break; - } - $147 = ($134|0)==($136|0); - if ($147) { - $$pre49 = ((($134)) + 8|0); - $$pre$phi50Z2D = $$pre49; - } else { - $148 = ($134>>>0)<($106>>>0); - if ($148) { - _abort(); - // unreachable; - } - $149 = ((($134)) + 8|0); - $150 = HEAP32[$149>>2]|0; - $151 = ($150|0)==($0|0); - if ($151) { - $$pre$phi50Z2D = $149; - } else { - _abort(); - // unreachable; - } - } - $152 = ((($132)) + 12|0); - HEAP32[$152>>2] = $134; - HEAP32[$$pre$phi50Z2D>>2] = $132; - } else { - $$sum2 = (($psize) + 24)|0; - $153 = (($p) + ($$sum2)|0); - $154 = HEAP32[$153>>2]|0; - $$sum3 = (($psize) + 12)|0; - $155 = (($p) + ($$sum3)|0); - $156 = HEAP32[$155>>2]|0; - $157 = ($156|0)==($0|0); - do { - if ($157) { - $$sum5 = (($psize) + 20)|0; - $167 = (($p) + ($$sum5)|0); - $168 = HEAP32[$167>>2]|0; - $169 = ($168|0)==(0|0); - if ($169) { - $$sum4 = (($psize) + 16)|0; - $170 = (($p) + ($$sum4)|0); - $171 = HEAP32[$170>>2]|0; - $172 = ($171|0)==(0|0); - if ($172) { - $R7$1 = 0; - break; - } else { - $R7$0 = $171;$RP9$0 = $170; - } - } else { - $R7$0 = $168;$RP9$0 = $167; - } - while(1) { - $173 = ((($R7$0)) + 20|0); - $174 = HEAP32[$173>>2]|0; - $175 = ($174|0)==(0|0); - if (!($175)) { - $R7$0 = $174;$RP9$0 = $173; - continue; - } - $176 = ((($R7$0)) + 16|0); - $177 = HEAP32[$176>>2]|0; - $178 = ($177|0)==(0|0); - if ($178) { - $R7$0$lcssa = $R7$0;$RP9$0$lcssa = $RP9$0; - break; - } else { - $R7$0 = $177;$RP9$0 = $176; - } - } - $179 = ($RP9$0$lcssa>>>0)<($106>>>0); - if ($179) { - _abort(); - // unreachable; - } else { - HEAP32[$RP9$0$lcssa>>2] = 0; - $R7$1 = $R7$0$lcssa; - break; - } - } else { - $$sum11 = (($psize) + 8)|0; - $158 = (($p) + ($$sum11)|0); - $159 = HEAP32[$158>>2]|0; - $160 = ($159>>>0)<($106>>>0); - if ($160) { - _abort(); - // unreachable; - } - $161 = ((($159)) + 12|0); - $162 = HEAP32[$161>>2]|0; - $163 = ($162|0)==($0|0); - if (!($163)) { - _abort(); - // unreachable; - } - $164 = ((($156)) + 8|0); - $165 = HEAP32[$164>>2]|0; - $166 = ($165|0)==($0|0); - if ($166) { - HEAP32[$161>>2] = $156; - HEAP32[$164>>2] = $159; - $R7$1 = $156; - break; - } else { - _abort(); - // unreachable; - } - } - } while(0); - $180 = ($154|0)==(0|0); - if (!($180)) { - $$sum8 = (($psize) + 28)|0; - $181 = (($p) + ($$sum8)|0); - $182 = HEAP32[$181>>2]|0; - $183 = (9368 + ($182<<2)|0); - $184 = HEAP32[$183>>2]|0; - $185 = ($0|0)==($184|0); - if ($185) { - HEAP32[$183>>2] = $R7$1; - $cond39 = ($R7$1|0)==(0|0); - if ($cond39) { - $186 = 1 << $182; - $187 = $186 ^ -1; - $188 = HEAP32[(9068)>>2]|0; - $189 = $188 & $187; - HEAP32[(9068)>>2] = $189; - break; - } - } else { - $190 = HEAP32[(9080)>>2]|0; - $191 = ($154>>>0)<($190>>>0); - if ($191) { - _abort(); - // unreachable; - } - $192 = ((($154)) + 16|0); - $193 = HEAP32[$192>>2]|0; - $194 = ($193|0)==($0|0); - if ($194) { - HEAP32[$192>>2] = $R7$1; - } else { - $195 = ((($154)) + 20|0); - HEAP32[$195>>2] = $R7$1; - } - $196 = ($R7$1|0)==(0|0); - if ($196) { - break; - } - } - $197 = HEAP32[(9080)>>2]|0; - $198 = ($R7$1>>>0)<($197>>>0); - if ($198) { - _abort(); - // unreachable; - } - $199 = ((($R7$1)) + 24|0); - HEAP32[$199>>2] = $154; - $$sum9 = (($psize) + 16)|0; - $200 = (($p) + ($$sum9)|0); - $201 = HEAP32[$200>>2]|0; - $202 = ($201|0)==(0|0); - do { - if (!($202)) { - $203 = ($201>>>0)<($197>>>0); - if ($203) { - _abort(); - // unreachable; - } else { - $204 = ((($R7$1)) + 16|0); - HEAP32[$204>>2] = $201; - $205 = ((($201)) + 24|0); - HEAP32[$205>>2] = $R7$1; - break; - } - } - } while(0); - $$sum10 = (($psize) + 20)|0; - $206 = (($p) + ($$sum10)|0); - $207 = HEAP32[$206>>2]|0; - $208 = ($207|0)==(0|0); - if (!($208)) { - $209 = HEAP32[(9080)>>2]|0; - $210 = ($207>>>0)<($209>>>0); - if ($210) { - _abort(); - // unreachable; - } else { - $211 = ((($R7$1)) + 20|0); - HEAP32[$211>>2] = $207; - $212 = ((($207)) + 24|0); - HEAP32[$212>>2] = $R7$1; - break; - } - } - } - } - } while(0); - $213 = $128 | 1; - $214 = ((($$0)) + 4|0); - HEAP32[$214>>2] = $213; - $215 = (($$0) + ($128)|0); - HEAP32[$215>>2] = $128; - $216 = HEAP32[(9084)>>2]|0; - $217 = ($$0|0)==($216|0); - if ($217) { - HEAP32[(9072)>>2] = $128; - return; - } else { - $$1 = $128; - } - } else { - $218 = $109 & -2; - HEAP32[$108>>2] = $218; - $219 = $$02 | 1; - $220 = ((($$0)) + 4|0); - HEAP32[$220>>2] = $219; - $221 = (($$0) + ($$02)|0); - HEAP32[$221>>2] = $$02; - $$1 = $$02; - } - $222 = $$1 >>> 3; - $223 = ($$1>>>0)<(256); - if ($223) { - $224 = $222 << 1; - $225 = (9104 + ($224<<2)|0); - $226 = HEAP32[9064>>2]|0; - $227 = 1 << $222; - $228 = $226 & $227; - $229 = ($228|0)==(0); - if ($229) { - $230 = $226 | $227; - HEAP32[9064>>2] = $230; - $$pre = (($224) + 2)|0; - $$pre48 = (9104 + ($$pre<<2)|0); - $$pre$phiZ2D = $$pre48;$F16$0 = $225; - } else { - $$sum7 = (($224) + 2)|0; - $231 = (9104 + ($$sum7<<2)|0); - $232 = HEAP32[$231>>2]|0; - $233 = HEAP32[(9080)>>2]|0; - $234 = ($232>>>0)<($233>>>0); - if ($234) { - _abort(); - // unreachable; - } else { - $$pre$phiZ2D = $231;$F16$0 = $232; - } - } - HEAP32[$$pre$phiZ2D>>2] = $$0; - $235 = ((($F16$0)) + 12|0); - HEAP32[$235>>2] = $$0; - $236 = ((($$0)) + 8|0); - HEAP32[$236>>2] = $F16$0; - $237 = ((($$0)) + 12|0); - HEAP32[$237>>2] = $225; - return; - } - $238 = $$1 >>> 8; - $239 = ($238|0)==(0); - if ($239) { - $I19$0 = 0; - } else { - $240 = ($$1>>>0)>(16777215); - if ($240) { - $I19$0 = 31; - } else { - $241 = (($238) + 1048320)|0; - $242 = $241 >>> 16; - $243 = $242 & 8; - $244 = $238 << $243; - $245 = (($244) + 520192)|0; - $246 = $245 >>> 16; - $247 = $246 & 4; - $248 = $247 | $243; - $249 = $244 << $247; - $250 = (($249) + 245760)|0; - $251 = $250 >>> 16; - $252 = $251 & 2; - $253 = $248 | $252; - $254 = (14 - ($253))|0; - $255 = $249 << $252; - $256 = $255 >>> 15; - $257 = (($254) + ($256))|0; - $258 = $257 << 1; - $259 = (($257) + 7)|0; - $260 = $$1 >>> $259; - $261 = $260 & 1; - $262 = $261 | $258; - $I19$0 = $262; - } - } - $263 = (9368 + ($I19$0<<2)|0); - $264 = ((($$0)) + 28|0); - HEAP32[$264>>2] = $I19$0; - $265 = ((($$0)) + 16|0); - $266 = ((($$0)) + 20|0); - HEAP32[$266>>2] = 0; - HEAP32[$265>>2] = 0; - $267 = HEAP32[(9068)>>2]|0; - $268 = 1 << $I19$0; - $269 = $267 & $268; - $270 = ($269|0)==(0); - if ($270) { - $271 = $267 | $268; - HEAP32[(9068)>>2] = $271; - HEAP32[$263>>2] = $$0; - $272 = ((($$0)) + 24|0); - HEAP32[$272>>2] = $263; - $273 = ((($$0)) + 12|0); - HEAP32[$273>>2] = $$0; - $274 = ((($$0)) + 8|0); - HEAP32[$274>>2] = $$0; - return; - } - $275 = HEAP32[$263>>2]|0; - $276 = ((($275)) + 4|0); - $277 = HEAP32[$276>>2]|0; - $278 = $277 & -8; - $279 = ($278|0)==($$1|0); - L191: do { - if ($279) { - $T$0$lcssa = $275; - } else { - $280 = ($I19$0|0)==(31); - $281 = $I19$0 >>> 1; - $282 = (25 - ($281))|0; - $283 = $280 ? 0 : $282; - $284 = $$1 << $283; - $K20$043 = $284;$T$042 = $275; - while(1) { - $291 = $K20$043 >>> 31; - $292 = (((($T$042)) + 16|0) + ($291<<2)|0); - $287 = HEAP32[$292>>2]|0; - $293 = ($287|0)==(0|0); - if ($293) { - $$lcssa = $292;$T$042$lcssa = $T$042; - break; - } - $285 = $K20$043 << 1; - $286 = ((($287)) + 4|0); - $288 = HEAP32[$286>>2]|0; - $289 = $288 & -8; - $290 = ($289|0)==($$1|0); - if ($290) { - $T$0$lcssa = $287; - break L191; - } else { - $K20$043 = $285;$T$042 = $287; - } - } - $294 = HEAP32[(9080)>>2]|0; - $295 = ($$lcssa>>>0)<($294>>>0); - if ($295) { - _abort(); - // unreachable; - } - HEAP32[$$lcssa>>2] = $$0; - $296 = ((($$0)) + 24|0); - HEAP32[$296>>2] = $T$042$lcssa; - $297 = ((($$0)) + 12|0); - HEAP32[$297>>2] = $$0; - $298 = ((($$0)) + 8|0); - HEAP32[$298>>2] = $$0; - return; - } - } while(0); - $299 = ((($T$0$lcssa)) + 8|0); - $300 = HEAP32[$299>>2]|0; - $301 = HEAP32[(9080)>>2]|0; - $302 = ($300>>>0)>=($301>>>0); - $not$ = ($T$0$lcssa>>>0)>=($301>>>0); - $303 = $302 & $not$; - if (!($303)) { - _abort(); - // unreachable; - } - $304 = ((($300)) + 12|0); - HEAP32[$304>>2] = $$0; - HEAP32[$299>>2] = $$0; - $305 = ((($$0)) + 8|0); - HEAP32[$305>>2] = $300; - $306 = ((($$0)) + 12|0); - HEAP32[$306>>2] = $T$0$lcssa; - $307 = ((($$0)) + 24|0); - HEAP32[$307>>2] = 0; - return; -} -function runPostSets() { -} -function _memcpy(dest, src, num) { - dest = dest|0; src = src|0; num = num|0; - var ret = 0; - if ((num|0) >= 4096) return _emscripten_memcpy_big(dest|0, src|0, num|0)|0; - ret = dest|0; - if ((dest&3) == (src&3)) { - while (dest & 3) { - if ((num|0) == 0) return ret|0; - HEAP8[((dest)>>0)]=((HEAP8[((src)>>0)])|0); - dest = (dest+1)|0; - src = (src+1)|0; - num = (num-1)|0; - } - while ((num|0) >= 4) { - HEAP32[((dest)>>2)]=((HEAP32[((src)>>2)])|0); - dest = (dest+4)|0; - src = (src+4)|0; - num = (num-4)|0; - } - } - while ((num|0) > 0) { - HEAP8[((dest)>>0)]=((HEAP8[((src)>>0)])|0); - dest = (dest+1)|0; - src = (src+1)|0; - num = (num-1)|0; - } - return ret|0; -} -function _memset(ptr, value, num) { - ptr = ptr|0; value = value|0; num = num|0; - var stop = 0, value4 = 0, stop4 = 0, unaligned = 0; - stop = (ptr + num)|0; - if ((num|0) >= 20) { - // This is unaligned, but quite large, so work hard to get to aligned settings - value = value & 0xff; - unaligned = ptr & 3; - value4 = value | (value << 8) | (value << 16) | (value << 24); - stop4 = stop & ~3; - if (unaligned) { - unaligned = (ptr + 4 - unaligned)|0; - while ((ptr|0) < (unaligned|0)) { // no need to check for stop, since we have large num - HEAP8[((ptr)>>0)]=value; - ptr = (ptr+1)|0; - } - } - while ((ptr|0) < (stop4|0)) { - HEAP32[((ptr)>>2)]=value4; - ptr = (ptr+4)|0; - } - } - while ((ptr|0) < (stop|0)) { - HEAP8[((ptr)>>0)]=value; - ptr = (ptr+1)|0; - } - return (ptr-num)|0; -} -function _i64Subtract(a, b, c, d) { - a = a|0; b = b|0; c = c|0; d = d|0; - var l = 0, h = 0; - l = (a - c)>>>0; - h = (b - d)>>>0; - h = (b - d - (((c>>>0) > (a>>>0))|0))>>>0; // Borrow one from high word to low word on underflow. - return ((tempRet0 = h,l|0)|0); -} -function _i64Add(a, b, c, d) { - /* - x = a + b*2^32 - y = c + d*2^32 - result = l + h*2^32 - */ - a = a|0; b = b|0; c = c|0; d = d|0; - var l = 0, h = 0; - l = (a + c)>>>0; - h = (b + d + (((l>>>0) < (a>>>0))|0))>>>0; // Add carry from low word to high word on overflow. - return ((tempRet0 = h,l|0)|0); -} -function _memmove(dest, src, num) { - dest = dest|0; src = src|0; num = num|0; - var ret = 0; - if (((src|0) < (dest|0)) & ((dest|0) < ((src + num)|0))) { - // Unlikely case: Copy backwards in a safe manner - ret = dest; - src = (src + num)|0; - dest = (dest + num)|0; - while ((num|0) > 0) { - dest = (dest - 1)|0; - src = (src - 1)|0; - num = (num - 1)|0; - HEAP8[((dest)>>0)]=((HEAP8[((src)>>0)])|0); - } - dest = ret; - } else { - _memcpy(dest, src, num) | 0; - } - return dest | 0; -} -function _bitshift64Lshr(low, high, bits) { - low = low|0; high = high|0; bits = bits|0; - var ander = 0; - if ((bits|0) < 32) { - ander = ((1 << bits) - 1)|0; - tempRet0 = high >>> bits; - return (low >>> bits) | ((high&ander) << (32 - bits)); - } - tempRet0 = 0; - return (high >>> (bits - 32))|0; -} -function _bitshift64Shl(low, high, bits) { - low = low|0; high = high|0; bits = bits|0; - var ander = 0; - if ((bits|0) < 32) { - ander = ((1 << bits) - 1)|0; - tempRet0 = (high << bits) | ((low&(ander << (32 - bits))) >>> (32 - bits)); - return low << bits; - } - tempRet0 = low << (bits - 32); - return 0; -} -function _bitshift64Ashr(low, high, bits) { - low = low|0; high = high|0; bits = bits|0; - var ander = 0; - if ((bits|0) < 32) { - ander = ((1 << bits) - 1)|0; - tempRet0 = high >> bits; - return (low >>> bits) | ((high&ander) << (32 - bits)); - } - tempRet0 = (high|0) < 0 ? -1 : 0; - return (high >> (bits - 32))|0; - } -function _llvm_cttz_i32(x) { - x = x|0; - var ret = 0; - ret = ((HEAP8[(((cttz_i8)+(x & 0xff))>>0)])|0); - if ((ret|0) < 8) return ret|0; - ret = ((HEAP8[(((cttz_i8)+((x >> 8)&0xff))>>0)])|0); - if ((ret|0) < 8) return (ret + 8)|0; - ret = ((HEAP8[(((cttz_i8)+((x >> 16)&0xff))>>0)])|0); - if ((ret|0) < 8) return (ret + 16)|0; - return (((HEAP8[(((cttz_i8)+(x >>> 24))>>0)])|0) + 24)|0; - } - -// ======== compiled code from system/lib/compiler-rt , see readme therein -function ___muldsi3($a, $b) { - $a = $a | 0; - $b = $b | 0; - var $1 = 0, $2 = 0, $3 = 0, $6 = 0, $8 = 0, $11 = 0, $12 = 0; - $1 = $a & 65535; - $2 = $b & 65535; - $3 = Math_imul($2, $1) | 0; - $6 = $a >>> 16; - $8 = ($3 >>> 16) + (Math_imul($2, $6) | 0) | 0; - $11 = $b >>> 16; - $12 = Math_imul($11, $1) | 0; - return (tempRet0 = (($8 >>> 16) + (Math_imul($11, $6) | 0) | 0) + ((($8 & 65535) + $12 | 0) >>> 16) | 0, 0 | ($8 + $12 << 16 | $3 & 65535)) | 0; -} -function ___divdi3($a$0, $a$1, $b$0, $b$1) { - $a$0 = $a$0 | 0; - $a$1 = $a$1 | 0; - $b$0 = $b$0 | 0; - $b$1 = $b$1 | 0; - var $1$0 = 0, $1$1 = 0, $2$0 = 0, $2$1 = 0, $4$0 = 0, $4$1 = 0, $6$0 = 0, $7$0 = 0, $7$1 = 0, $8$0 = 0, $10$0 = 0; - $1$0 = $a$1 >> 31 | (($a$1 | 0) < 0 ? -1 : 0) << 1; - $1$1 = (($a$1 | 0) < 0 ? -1 : 0) >> 31 | (($a$1 | 0) < 0 ? -1 : 0) << 1; - $2$0 = $b$1 >> 31 | (($b$1 | 0) < 0 ? -1 : 0) << 1; - $2$1 = (($b$1 | 0) < 0 ? -1 : 0) >> 31 | (($b$1 | 0) < 0 ? -1 : 0) << 1; - $4$0 = _i64Subtract($1$0 ^ $a$0, $1$1 ^ $a$1, $1$0, $1$1) | 0; - $4$1 = tempRet0; - $6$0 = _i64Subtract($2$0 ^ $b$0, $2$1 ^ $b$1, $2$0, $2$1) | 0; - $7$0 = $2$0 ^ $1$0; - $7$1 = $2$1 ^ $1$1; - $8$0 = ___udivmoddi4($4$0, $4$1, $6$0, tempRet0, 0) | 0; - $10$0 = _i64Subtract($8$0 ^ $7$0, tempRet0 ^ $7$1, $7$0, $7$1) | 0; - return $10$0 | 0; -} -function ___remdi3($a$0, $a$1, $b$0, $b$1) { - $a$0 = $a$0 | 0; - $a$1 = $a$1 | 0; - $b$0 = $b$0 | 0; - $b$1 = $b$1 | 0; - var $rem = 0, $1$0 = 0, $1$1 = 0, $2$0 = 0, $2$1 = 0, $4$0 = 0, $4$1 = 0, $6$0 = 0, $10$0 = 0, $10$1 = 0, __stackBase__ = 0; - __stackBase__ = STACKTOP; - STACKTOP = STACKTOP + 16 | 0; - $rem = __stackBase__ | 0; - $1$0 = $a$1 >> 31 | (($a$1 | 0) < 0 ? -1 : 0) << 1; - $1$1 = (($a$1 | 0) < 0 ? -1 : 0) >> 31 | (($a$1 | 0) < 0 ? -1 : 0) << 1; - $2$0 = $b$1 >> 31 | (($b$1 | 0) < 0 ? -1 : 0) << 1; - $2$1 = (($b$1 | 0) < 0 ? -1 : 0) >> 31 | (($b$1 | 0) < 0 ? -1 : 0) << 1; - $4$0 = _i64Subtract($1$0 ^ $a$0, $1$1 ^ $a$1, $1$0, $1$1) | 0; - $4$1 = tempRet0; - $6$0 = _i64Subtract($2$0 ^ $b$0, $2$1 ^ $b$1, $2$0, $2$1) | 0; - ___udivmoddi4($4$0, $4$1, $6$0, tempRet0, $rem) | 0; - $10$0 = _i64Subtract(HEAP32[$rem >> 2] ^ $1$0, HEAP32[$rem + 4 >> 2] ^ $1$1, $1$0, $1$1) | 0; - $10$1 = tempRet0; - STACKTOP = __stackBase__; - return (tempRet0 = $10$1, $10$0) | 0; -} -function ___muldi3($a$0, $a$1, $b$0, $b$1) { - $a$0 = $a$0 | 0; - $a$1 = $a$1 | 0; - $b$0 = $b$0 | 0; - $b$1 = $b$1 | 0; - var $x_sroa_0_0_extract_trunc = 0, $y_sroa_0_0_extract_trunc = 0, $1$0 = 0, $1$1 = 0, $2 = 0; - $x_sroa_0_0_extract_trunc = $a$0; - $y_sroa_0_0_extract_trunc = $b$0; - $1$0 = ___muldsi3($x_sroa_0_0_extract_trunc, $y_sroa_0_0_extract_trunc) | 0; - $1$1 = tempRet0; - $2 = Math_imul($a$1, $y_sroa_0_0_extract_trunc) | 0; - return (tempRet0 = ((Math_imul($b$1, $x_sroa_0_0_extract_trunc) | 0) + $2 | 0) + $1$1 | $1$1 & 0, 0 | $1$0 & -1) | 0; -} -function ___udivdi3($a$0, $a$1, $b$0, $b$1) { - $a$0 = $a$0 | 0; - $a$1 = $a$1 | 0; - $b$0 = $b$0 | 0; - $b$1 = $b$1 | 0; - var $1$0 = 0; - $1$0 = ___udivmoddi4($a$0, $a$1, $b$0, $b$1, 0) | 0; - return $1$0 | 0; -} -function ___uremdi3($a$0, $a$1, $b$0, $b$1) { - $a$0 = $a$0 | 0; - $a$1 = $a$1 | 0; - $b$0 = $b$0 | 0; - $b$1 = $b$1 | 0; - var $rem = 0, __stackBase__ = 0; - __stackBase__ = STACKTOP; - STACKTOP = STACKTOP + 16 | 0; - $rem = __stackBase__ | 0; - ___udivmoddi4($a$0, $a$1, $b$0, $b$1, $rem) | 0; - STACKTOP = __stackBase__; - return (tempRet0 = HEAP32[$rem + 4 >> 2] | 0, HEAP32[$rem >> 2] | 0) | 0; -} -function ___udivmoddi4($a$0, $a$1, $b$0, $b$1, $rem) { - $a$0 = $a$0 | 0; - $a$1 = $a$1 | 0; - $b$0 = $b$0 | 0; - $b$1 = $b$1 | 0; - $rem = $rem | 0; - var $n_sroa_0_0_extract_trunc = 0, $n_sroa_1_4_extract_shift$0 = 0, $n_sroa_1_4_extract_trunc = 0, $d_sroa_0_0_extract_trunc = 0, $d_sroa_1_4_extract_shift$0 = 0, $d_sroa_1_4_extract_trunc = 0, $4 = 0, $17 = 0, $37 = 0, $49 = 0, $51 = 0, $57 = 0, $58 = 0, $66 = 0, $78 = 0, $86 = 0, $88 = 0, $89 = 0, $91 = 0, $92 = 0, $95 = 0, $105 = 0, $117 = 0, $119 = 0, $125 = 0, $126 = 0, $130 = 0, $q_sroa_1_1_ph = 0, $q_sroa_0_1_ph = 0, $r_sroa_1_1_ph = 0, $r_sroa_0_1_ph = 0, $sr_1_ph = 0, $d_sroa_0_0_insert_insert99$0 = 0, $d_sroa_0_0_insert_insert99$1 = 0, $137$0 = 0, $137$1 = 0, $carry_0203 = 0, $sr_1202 = 0, $r_sroa_0_1201 = 0, $r_sroa_1_1200 = 0, $q_sroa_0_1199 = 0, $q_sroa_1_1198 = 0, $147 = 0, $149 = 0, $r_sroa_0_0_insert_insert42$0 = 0, $r_sroa_0_0_insert_insert42$1 = 0, $150$1 = 0, $151$0 = 0, $152 = 0, $154$0 = 0, $r_sroa_0_0_extract_trunc = 0, $r_sroa_1_4_extract_trunc = 0, $155 = 0, $carry_0_lcssa$0 = 0, $carry_0_lcssa$1 = 0, $r_sroa_0_1_lcssa = 0, $r_sroa_1_1_lcssa = 0, $q_sroa_0_1_lcssa = 0, $q_sroa_1_1_lcssa = 0, $q_sroa_0_0_insert_ext75$0 = 0, $q_sroa_0_0_insert_ext75$1 = 0, $q_sroa_0_0_insert_insert77$1 = 0, $_0$0 = 0, $_0$1 = 0; - $n_sroa_0_0_extract_trunc = $a$0; - $n_sroa_1_4_extract_shift$0 = $a$1; - $n_sroa_1_4_extract_trunc = $n_sroa_1_4_extract_shift$0; - $d_sroa_0_0_extract_trunc = $b$0; - $d_sroa_1_4_extract_shift$0 = $b$1; - $d_sroa_1_4_extract_trunc = $d_sroa_1_4_extract_shift$0; - if (($n_sroa_1_4_extract_trunc | 0) == 0) { - $4 = ($rem | 0) != 0; - if (($d_sroa_1_4_extract_trunc | 0) == 0) { - if ($4) { - HEAP32[$rem >> 2] = ($n_sroa_0_0_extract_trunc >>> 0) % ($d_sroa_0_0_extract_trunc >>> 0); - HEAP32[$rem + 4 >> 2] = 0; - } - $_0$1 = 0; - $_0$0 = ($n_sroa_0_0_extract_trunc >>> 0) / ($d_sroa_0_0_extract_trunc >>> 0) >>> 0; - return (tempRet0 = $_0$1, $_0$0) | 0; - } else { - if (!$4) { - $_0$1 = 0; - $_0$0 = 0; - return (tempRet0 = $_0$1, $_0$0) | 0; - } - HEAP32[$rem >> 2] = $a$0 & -1; - HEAP32[$rem + 4 >> 2] = $a$1 & 0; - $_0$1 = 0; - $_0$0 = 0; - return (tempRet0 = $_0$1, $_0$0) | 0; - } - } - $17 = ($d_sroa_1_4_extract_trunc | 0) == 0; - do { - if (($d_sroa_0_0_extract_trunc | 0) == 0) { - if ($17) { - if (($rem | 0) != 0) { - HEAP32[$rem >> 2] = ($n_sroa_1_4_extract_trunc >>> 0) % ($d_sroa_0_0_extract_trunc >>> 0); - HEAP32[$rem + 4 >> 2] = 0; - } - $_0$1 = 0; - $_0$0 = ($n_sroa_1_4_extract_trunc >>> 0) / ($d_sroa_0_0_extract_trunc >>> 0) >>> 0; - return (tempRet0 = $_0$1, $_0$0) | 0; - } - if (($n_sroa_0_0_extract_trunc | 0) == 0) { - if (($rem | 0) != 0) { - HEAP32[$rem >> 2] = 0; - HEAP32[$rem + 4 >> 2] = ($n_sroa_1_4_extract_trunc >>> 0) % ($d_sroa_1_4_extract_trunc >>> 0); - } - $_0$1 = 0; - $_0$0 = ($n_sroa_1_4_extract_trunc >>> 0) / ($d_sroa_1_4_extract_trunc >>> 0) >>> 0; - return (tempRet0 = $_0$1, $_0$0) | 0; - } - $37 = $d_sroa_1_4_extract_trunc - 1 | 0; - if (($37 & $d_sroa_1_4_extract_trunc | 0) == 0) { - if (($rem | 0) != 0) { - HEAP32[$rem >> 2] = 0 | $a$0 & -1; - HEAP32[$rem + 4 >> 2] = $37 & $n_sroa_1_4_extract_trunc | $a$1 & 0; - } - $_0$1 = 0; - $_0$0 = $n_sroa_1_4_extract_trunc >>> ((_llvm_cttz_i32($d_sroa_1_4_extract_trunc | 0) | 0) >>> 0); - return (tempRet0 = $_0$1, $_0$0) | 0; - } - $49 = Math_clz32($d_sroa_1_4_extract_trunc | 0) | 0; - $51 = $49 - (Math_clz32($n_sroa_1_4_extract_trunc | 0) | 0) | 0; - if ($51 >>> 0 <= 30) { - $57 = $51 + 1 | 0; - $58 = 31 - $51 | 0; - $sr_1_ph = $57; - $r_sroa_0_1_ph = $n_sroa_1_4_extract_trunc << $58 | $n_sroa_0_0_extract_trunc >>> ($57 >>> 0); - $r_sroa_1_1_ph = $n_sroa_1_4_extract_trunc >>> ($57 >>> 0); - $q_sroa_0_1_ph = 0; - $q_sroa_1_1_ph = $n_sroa_0_0_extract_trunc << $58; - break; - } - if (($rem | 0) == 0) { - $_0$1 = 0; - $_0$0 = 0; - return (tempRet0 = $_0$1, $_0$0) | 0; - } - HEAP32[$rem >> 2] = 0 | $a$0 & -1; - HEAP32[$rem + 4 >> 2] = $n_sroa_1_4_extract_shift$0 | $a$1 & 0; - $_0$1 = 0; - $_0$0 = 0; - return (tempRet0 = $_0$1, $_0$0) | 0; - } else { - if (!$17) { - $117 = Math_clz32($d_sroa_1_4_extract_trunc | 0) | 0; - $119 = $117 - (Math_clz32($n_sroa_1_4_extract_trunc | 0) | 0) | 0; - if ($119 >>> 0 <= 31) { - $125 = $119 + 1 | 0; - $126 = 31 - $119 | 0; - $130 = $119 - 31 >> 31; - $sr_1_ph = $125; - $r_sroa_0_1_ph = $n_sroa_0_0_extract_trunc >>> ($125 >>> 0) & $130 | $n_sroa_1_4_extract_trunc << $126; - $r_sroa_1_1_ph = $n_sroa_1_4_extract_trunc >>> ($125 >>> 0) & $130; - $q_sroa_0_1_ph = 0; - $q_sroa_1_1_ph = $n_sroa_0_0_extract_trunc << $126; - break; - } - if (($rem | 0) == 0) { - $_0$1 = 0; - $_0$0 = 0; - return (tempRet0 = $_0$1, $_0$0) | 0; - } - HEAP32[$rem >> 2] = 0 | $a$0 & -1; - HEAP32[$rem + 4 >> 2] = $n_sroa_1_4_extract_shift$0 | $a$1 & 0; - $_0$1 = 0; - $_0$0 = 0; - return (tempRet0 = $_0$1, $_0$0) | 0; - } - $66 = $d_sroa_0_0_extract_trunc - 1 | 0; - if (($66 & $d_sroa_0_0_extract_trunc | 0) != 0) { - $86 = (Math_clz32($d_sroa_0_0_extract_trunc | 0) | 0) + 33 | 0; - $88 = $86 - (Math_clz32($n_sroa_1_4_extract_trunc | 0) | 0) | 0; - $89 = 64 - $88 | 0; - $91 = 32 - $88 | 0; - $92 = $91 >> 31; - $95 = $88 - 32 | 0; - $105 = $95 >> 31; - $sr_1_ph = $88; - $r_sroa_0_1_ph = $91 - 1 >> 31 & $n_sroa_1_4_extract_trunc >>> ($95 >>> 0) | ($n_sroa_1_4_extract_trunc << $91 | $n_sroa_0_0_extract_trunc >>> ($88 >>> 0)) & $105; - $r_sroa_1_1_ph = $105 & $n_sroa_1_4_extract_trunc >>> ($88 >>> 0); - $q_sroa_0_1_ph = $n_sroa_0_0_extract_trunc << $89 & $92; - $q_sroa_1_1_ph = ($n_sroa_1_4_extract_trunc << $89 | $n_sroa_0_0_extract_trunc >>> ($95 >>> 0)) & $92 | $n_sroa_0_0_extract_trunc << $91 & $88 - 33 >> 31; - break; - } - if (($rem | 0) != 0) { - HEAP32[$rem >> 2] = $66 & $n_sroa_0_0_extract_trunc; - HEAP32[$rem + 4 >> 2] = 0; - } - if (($d_sroa_0_0_extract_trunc | 0) == 1) { - $_0$1 = $n_sroa_1_4_extract_shift$0 | $a$1 & 0; - $_0$0 = 0 | $a$0 & -1; - return (tempRet0 = $_0$1, $_0$0) | 0; - } else { - $78 = _llvm_cttz_i32($d_sroa_0_0_extract_trunc | 0) | 0; - $_0$1 = 0 | $n_sroa_1_4_extract_trunc >>> ($78 >>> 0); - $_0$0 = $n_sroa_1_4_extract_trunc << 32 - $78 | $n_sroa_0_0_extract_trunc >>> ($78 >>> 0) | 0; - return (tempRet0 = $_0$1, $_0$0) | 0; - } - } - } while (0); - if (($sr_1_ph | 0) == 0) { - $q_sroa_1_1_lcssa = $q_sroa_1_1_ph; - $q_sroa_0_1_lcssa = $q_sroa_0_1_ph; - $r_sroa_1_1_lcssa = $r_sroa_1_1_ph; - $r_sroa_0_1_lcssa = $r_sroa_0_1_ph; - $carry_0_lcssa$1 = 0; - $carry_0_lcssa$0 = 0; - } else { - $d_sroa_0_0_insert_insert99$0 = 0 | $b$0 & -1; - $d_sroa_0_0_insert_insert99$1 = $d_sroa_1_4_extract_shift$0 | $b$1 & 0; - $137$0 = _i64Add($d_sroa_0_0_insert_insert99$0 | 0, $d_sroa_0_0_insert_insert99$1 | 0, -1, -1) | 0; - $137$1 = tempRet0; - $q_sroa_1_1198 = $q_sroa_1_1_ph; - $q_sroa_0_1199 = $q_sroa_0_1_ph; - $r_sroa_1_1200 = $r_sroa_1_1_ph; - $r_sroa_0_1201 = $r_sroa_0_1_ph; - $sr_1202 = $sr_1_ph; - $carry_0203 = 0; - while (1) { - $147 = $q_sroa_0_1199 >>> 31 | $q_sroa_1_1198 << 1; - $149 = $carry_0203 | $q_sroa_0_1199 << 1; - $r_sroa_0_0_insert_insert42$0 = 0 | ($r_sroa_0_1201 << 1 | $q_sroa_1_1198 >>> 31); - $r_sroa_0_0_insert_insert42$1 = $r_sroa_0_1201 >>> 31 | $r_sroa_1_1200 << 1 | 0; - _i64Subtract($137$0, $137$1, $r_sroa_0_0_insert_insert42$0, $r_sroa_0_0_insert_insert42$1) | 0; - $150$1 = tempRet0; - $151$0 = $150$1 >> 31 | (($150$1 | 0) < 0 ? -1 : 0) << 1; - $152 = $151$0 & 1; - $154$0 = _i64Subtract($r_sroa_0_0_insert_insert42$0, $r_sroa_0_0_insert_insert42$1, $151$0 & $d_sroa_0_0_insert_insert99$0, ((($150$1 | 0) < 0 ? -1 : 0) >> 31 | (($150$1 | 0) < 0 ? -1 : 0) << 1) & $d_sroa_0_0_insert_insert99$1) | 0; - $r_sroa_0_0_extract_trunc = $154$0; - $r_sroa_1_4_extract_trunc = tempRet0; - $155 = $sr_1202 - 1 | 0; - if (($155 | 0) == 0) { - break; - } else { - $q_sroa_1_1198 = $147; - $q_sroa_0_1199 = $149; - $r_sroa_1_1200 = $r_sroa_1_4_extract_trunc; - $r_sroa_0_1201 = $r_sroa_0_0_extract_trunc; - $sr_1202 = $155; - $carry_0203 = $152; - } - } - $q_sroa_1_1_lcssa = $147; - $q_sroa_0_1_lcssa = $149; - $r_sroa_1_1_lcssa = $r_sroa_1_4_extract_trunc; - $r_sroa_0_1_lcssa = $r_sroa_0_0_extract_trunc; - $carry_0_lcssa$1 = 0; - $carry_0_lcssa$0 = $152; - } - $q_sroa_0_0_insert_ext75$0 = $q_sroa_0_1_lcssa; - $q_sroa_0_0_insert_ext75$1 = 0; - $q_sroa_0_0_insert_insert77$1 = $q_sroa_1_1_lcssa | $q_sroa_0_0_insert_ext75$1; - if (($rem | 0) != 0) { - HEAP32[$rem >> 2] = 0 | $r_sroa_0_1_lcssa; - HEAP32[$rem + 4 >> 2] = $r_sroa_1_1_lcssa | 0; - } - $_0$1 = (0 | $q_sroa_0_0_insert_ext75$0) >>> 31 | $q_sroa_0_0_insert_insert77$1 << 1 | ($q_sroa_0_0_insert_ext75$1 << 1 | $q_sroa_0_0_insert_ext75$0 >>> 31) & 0 | $carry_0_lcssa$1; - $_0$0 = ($q_sroa_0_0_insert_ext75$0 << 1 | 0 >>> 31) & -2 | $carry_0_lcssa$0; - return (tempRet0 = $_0$1, $_0$0) | 0; -} -// ======================================================================= - - - - -function dynCall_viiiii(index,a1,a2,a3,a4,a5) { - index = index|0; - a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; - FUNCTION_TABLE_viiiii[index&7](a1|0,a2|0,a3|0,a4|0,a5|0); -} - - -function dynCall_vd(index,a1) { - index = index|0; - a1=+a1; - FUNCTION_TABLE_vd[index&3](+a1); -} - - -function dynCall_vid(index,a1,a2) { - index = index|0; - a1=a1|0; a2=+a2; - FUNCTION_TABLE_vid[index&3](a1|0,+a2); -} - - -function dynCall_vi(index,a1) { - index = index|0; - a1=a1|0; - FUNCTION_TABLE_vi[index&31](a1|0); -} - - -function dynCall_vii(index,a1,a2) { - index = index|0; - a1=a1|0; a2=a2|0; - FUNCTION_TABLE_vii[index&63](a1|0,a2|0); -} - - -function dynCall_ii(index,a1) { - index = index|0; - a1=a1|0; - return FUNCTION_TABLE_ii[index&15](a1|0)|0; -} - - -function dynCall_viddd(index,a1,a2,a3,a4) { - index = index|0; - a1=a1|0; a2=+a2; a3=+a3; a4=+a4; - FUNCTION_TABLE_viddd[index&3](a1|0,+a2,+a3,+a4); -} - - -function dynCall_vidd(index,a1,a2,a3) { - index = index|0; - a1=a1|0; a2=+a2; a3=+a3; - FUNCTION_TABLE_vidd[index&7](a1|0,+a2,+a3); -} - - -function dynCall_iiii(index,a1,a2,a3) { - index = index|0; - a1=a1|0; a2=a2|0; a3=a3|0; - return FUNCTION_TABLE_iiii[index&15](a1|0,a2|0,a3|0)|0; -} - - -function dynCall_viiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8) { - index = index|0; - a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; a6=a6|0; a7=a7|0; a8=a8|0; - FUNCTION_TABLE_viiiiiiii[index&3](a1|0,a2|0,a3|0,a4|0,a5|0,a6|0,a7|0,a8|0); -} - - -function dynCall_viiiiii(index,a1,a2,a3,a4,a5,a6) { - index = index|0; - a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; a6=a6|0; - FUNCTION_TABLE_viiiiii[index&3](a1|0,a2|0,a3|0,a4|0,a5|0,a6|0); -} - - -function dynCall_viii(index,a1,a2,a3) { - index = index|0; - a1=a1|0; a2=a2|0; a3=a3|0; - FUNCTION_TABLE_viii[index&31](a1|0,a2|0,a3|0); -} - - -function dynCall_vidddd(index,a1,a2,a3,a4,a5) { - index = index|0; - a1=a1|0; a2=+a2; a3=+a3; a4=+a4; a5=+a5; - FUNCTION_TABLE_vidddd[index&3](a1|0,+a2,+a3,+a4,+a5); -} - - -function dynCall_vdi(index,a1,a2) { - index = index|0; - a1=+a1; a2=a2|0; - FUNCTION_TABLE_vdi[index&1](+a1,a2|0); -} - - -function dynCall_viiiiiii(index,a1,a2,a3,a4,a5,a6,a7) { - index = index|0; - a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; a6=a6|0; a7=a7|0; - FUNCTION_TABLE_viiiiiii[index&3](a1|0,a2|0,a3|0,a4|0,a5|0,a6|0,a7|0); -} - - -function dynCall_viiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9) { - index = index|0; - a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; a6=a6|0; a7=a7|0; a8=a8|0; a9=a9|0; - FUNCTION_TABLE_viiiiiiiii[index&3](a1|0,a2|0,a3|0,a4|0,a5|0,a6|0,a7|0,a8|0,a9|0); -} - - -function dynCall_iii(index,a1,a2) { - index = index|0; - a1=a1|0; a2=a2|0; - return FUNCTION_TABLE_iii[index&7](a1|0,a2|0)|0; -} - - -function dynCall_i(index) { - index = index|0; - - return FUNCTION_TABLE_i[index&3]()|0; -} - - -function dynCall_iiiiii(index,a1,a2,a3,a4,a5) { - index = index|0; - a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; - return FUNCTION_TABLE_iiiiii[index&7](a1|0,a2|0,a3|0,a4|0,a5|0)|0; -} - - -function dynCall_vdddddd(index,a1,a2,a3,a4,a5,a6) { - index = index|0; - a1=+a1; a2=+a2; a3=+a3; a4=+a4; a5=+a5; a6=+a6; - FUNCTION_TABLE_vdddddd[index&1](+a1,+a2,+a3,+a4,+a5,+a6); -} - - -function dynCall_vdddd(index,a1,a2,a3,a4) { - index = index|0; - a1=+a1; a2=+a2; a3=+a3; a4=+a4; - FUNCTION_TABLE_vdddd[index&3](+a1,+a2,+a3,+a4); -} - - -function dynCall_vdd(index,a1,a2) { - index = index|0; - a1=+a1; a2=+a2; - FUNCTION_TABLE_vdd[index&3](+a1,+a2); -} - - -function dynCall_v(index) { - index = index|0; - - FUNCTION_TABLE_v[index&7](); -} - - -function dynCall_viid(index,a1,a2,a3) { - index = index|0; - a1=a1|0; a2=a2|0; a3=+a3; - FUNCTION_TABLE_viid[index&1](a1|0,a2|0,+a3); -} - - -function dynCall_viiii(index,a1,a2,a3,a4) { - index = index|0; - a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; - FUNCTION_TABLE_viiii[index&31](a1|0,a2|0,a3|0,a4|0); -} - -function b0(p0,p1,p2,p3,p4) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; abort(0); -} -function _emscripten_glUniform4i__wrapper(p0,p1,p2,p3,p4) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; _emscripten_glUniform4i(p0|0,p1|0,p2|0,p3|0,p4|0); -} -function _emscripten_glFramebufferTexture2D__wrapper(p0,p1,p2,p3,p4) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; _emscripten_glFramebufferTexture2D(p0|0,p1|0,p2|0,p3|0,p4|0); -} -function _emscripten_glShaderBinary__wrapper(p0,p1,p2,p3,p4) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; _emscripten_glShaderBinary(p0|0,p1|0,p2|0,p3|0,p4|0); -} -function _emscripten_glDrawElementsInstanced__wrapper(p0,p1,p2,p3,p4) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; _emscripten_glDrawElementsInstanced(p0|0,p1|0,p2|0,p3|0,p4|0); -} -function b1(p0) { - p0 = +p0; abort(1); -} -function _emscripten_glClearDepth__wrapper(p0) { - p0 = +p0; _emscripten_glClearDepth(+p0); -} -function _emscripten_glClearDepthf__wrapper(p0) { - p0 = +p0; _emscripten_glClearDepthf(+p0); -} -function _emscripten_glLineWidth__wrapper(p0) { - p0 = +p0; _emscripten_glLineWidth(+p0); -} -function b2(p0,p1) { - p0 = p0|0;p1 = +p1; abort(2); -} -function _emscripten_glUniform1f__wrapper(p0,p1) { - p0 = p0|0;p1 = +p1; _emscripten_glUniform1f(p0|0,+p1); -} -function _emscripten_glVertexAttrib1f__wrapper(p0,p1) { - p0 = p0|0;p1 = +p1; _emscripten_glVertexAttrib1f(p0|0,+p1); -} -function b3(p0) { - p0 = p0|0; abort(3); -} -function _emscripten_glDeleteShader__wrapper(p0) { - p0 = p0|0; _emscripten_glDeleteShader(p0|0); -} -function _emscripten_glCompileShader__wrapper(p0) { - p0 = p0|0; _emscripten_glCompileShader(p0|0); -} -function _emscripten_glDeleteProgram__wrapper(p0) { - p0 = p0|0; _emscripten_glDeleteProgram(p0|0); -} -function _emscripten_glLinkProgram__wrapper(p0) { - p0 = p0|0; _emscripten_glLinkProgram(p0|0); -} -function _emscripten_glUseProgram__wrapper(p0) { - p0 = p0|0; _emscripten_glUseProgram(p0|0); -} -function _emscripten_glValidateProgram__wrapper(p0) { - p0 = p0|0; _emscripten_glValidateProgram(p0|0); -} -function _emscripten_glDeleteObjectARB__wrapper(p0) { - p0 = p0|0; _emscripten_glDeleteObjectARB(p0|0); -} -function _emscripten_glEnableClientState__wrapper(p0) { - p0 = p0|0; _emscripten_glEnableClientState(p0|0); -} -function _emscripten_glClientActiveTexture__wrapper(p0) { - p0 = p0|0; _emscripten_glClientActiveTexture(p0|0); -} -function _emscripten_glBindVertexArray__wrapper(p0) { - p0 = p0|0; _emscripten_glBindVertexArray(p0|0); -} -function _emscripten_glMatrixMode__wrapper(p0) { - p0 = p0|0; _emscripten_glMatrixMode(p0|0); -} -function _emscripten_glLoadMatrixf__wrapper(p0) { - p0 = p0|0; _emscripten_glLoadMatrixf(p0|0); -} -function _emscripten_glEnableVertexAttribArray__wrapper(p0) { - p0 = p0|0; _emscripten_glEnableVertexAttribArray(p0|0); -} -function _emscripten_glDisableVertexAttribArray__wrapper(p0) { - p0 = p0|0; _emscripten_glDisableVertexAttribArray(p0|0); -} -function _emscripten_glDepthFunc__wrapper(p0) { - p0 = p0|0; _emscripten_glDepthFunc(p0|0); -} -function _emscripten_glEnable__wrapper(p0) { - p0 = p0|0; _emscripten_glEnable(p0|0); -} -function _emscripten_glDisable__wrapper(p0) { - p0 = p0|0; _emscripten_glDisable(p0|0); -} -function _emscripten_glFrontFace__wrapper(p0) { - p0 = p0|0; _emscripten_glFrontFace(p0|0); -} -function _emscripten_glCullFace__wrapper(p0) { - p0 = p0|0; _emscripten_glCullFace(p0|0); -} -function _emscripten_glClear__wrapper(p0) { - p0 = p0|0; _emscripten_glClear(p0|0); -} -function _emscripten_glClearStencil__wrapper(p0) { - p0 = p0|0; _emscripten_glClearStencil(p0|0); -} -function _emscripten_glDepthMask__wrapper(p0) { - p0 = p0|0; _emscripten_glDepthMask(p0|0); -} -function _emscripten_glStencilMask__wrapper(p0) { - p0 = p0|0; _emscripten_glStencilMask(p0|0); -} -function _emscripten_glGenerateMipmap__wrapper(p0) { - p0 = p0|0; _emscripten_glGenerateMipmap(p0|0); -} -function _emscripten_glActiveTexture__wrapper(p0) { - p0 = p0|0; _emscripten_glActiveTexture(p0|0); -} -function _emscripten_glBlendEquation__wrapper(p0) { - p0 = p0|0; _emscripten_glBlendEquation(p0|0); -} -function b4(p0,p1) { - p0 = p0|0;p1 = p1|0; abort(4); -} -function _emscripten_glPixelStorei__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glPixelStorei(p0|0,p1|0); -} -function _emscripten_glGetIntegerv__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glGetIntegerv(p0|0,p1|0); -} -function _emscripten_glGetFloatv__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glGetFloatv(p0|0,p1|0); -} -function _emscripten_glGetBooleanv__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glGetBooleanv(p0|0,p1|0); -} -function _emscripten_glGenTextures__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glGenTextures(p0|0,p1|0); -} -function _emscripten_glDeleteTextures__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glDeleteTextures(p0|0,p1|0); -} -function _emscripten_glBindTexture__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glBindTexture(p0|0,p1|0); -} -function _emscripten_glGenBuffers__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glGenBuffers(p0|0,p1|0); -} -function _emscripten_glDeleteBuffers__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glDeleteBuffers(p0|0,p1|0); -} -function _emscripten_glGenRenderbuffers__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glGenRenderbuffers(p0|0,p1|0); -} -function _emscripten_glDeleteRenderbuffers__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glDeleteRenderbuffers(p0|0,p1|0); -} -function _emscripten_glBindRenderbuffer__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glBindRenderbuffer(p0|0,p1|0); -} -function _emscripten_glUniform1i__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glUniform1i(p0|0,p1|0); -} -function _emscripten_glBindBuffer__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glBindBuffer(p0|0,p1|0); -} -function _emscripten_glVertexAttrib1fv__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glVertexAttrib1fv(p0|0,p1|0); -} -function _emscripten_glVertexAttrib2fv__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glVertexAttrib2fv(p0|0,p1|0); -} -function _emscripten_glVertexAttrib3fv__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glVertexAttrib3fv(p0|0,p1|0); -} -function _emscripten_glVertexAttrib4fv__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glVertexAttrib4fv(p0|0,p1|0); -} -function _emscripten_glAttachShader__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glAttachShader(p0|0,p1|0); -} -function _emscripten_glDetachShader__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glDetachShader(p0|0,p1|0); -} -function _emscripten_glBindFramebuffer__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glBindFramebuffer(p0|0,p1|0); -} -function _emscripten_glGenFramebuffers__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glGenFramebuffers(p0|0,p1|0); -} -function _emscripten_glDeleteFramebuffers__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glDeleteFramebuffers(p0|0,p1|0); -} -function _emscripten_glBindProgramARB__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glBindProgramARB(p0|0,p1|0); -} -function _emscripten_glGetPointerv__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glGetPointerv(p0|0,p1|0); -} -function _emscripten_glGenVertexArrays__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glGenVertexArrays(p0|0,p1|0); -} -function _emscripten_glDeleteVertexArrays__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glDeleteVertexArrays(p0|0,p1|0); -} -function _emscripten_glVertexAttribDivisor__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glVertexAttribDivisor(p0|0,p1|0); -} -function _emscripten_glBlendFunc__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glBlendFunc(p0|0,p1|0); -} -function _emscripten_glBlendEquationSeparate__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glBlendEquationSeparate(p0|0,p1|0); -} -function _emscripten_glStencilMaskSeparate__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glStencilMaskSeparate(p0|0,p1|0); -} -function _emscripten_glHint__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glHint(p0|0,p1|0); -} -function _emscripten_glDrawBuffers__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glDrawBuffers(p0|0,p1|0); -} -function b5(p0) { - p0 = p0|0; abort(5);return 0; -} -function _emscripten_glGetString__wrapper(p0) { - p0 = p0|0; return _emscripten_glGetString(p0|0)|0; -} -function _emscripten_glIsTexture__wrapper(p0) { - p0 = p0|0; return _emscripten_glIsTexture(p0|0)|0; -} -function _emscripten_glIsBuffer__wrapper(p0) { - p0 = p0|0; return _emscripten_glIsBuffer(p0|0)|0; -} -function _emscripten_glIsRenderbuffer__wrapper(p0) { - p0 = p0|0; return _emscripten_glIsRenderbuffer(p0|0)|0; -} -function _emscripten_glCreateShader__wrapper(p0) { - p0 = p0|0; return _emscripten_glCreateShader(p0|0)|0; -} -function _emscripten_glIsShader__wrapper(p0) { - p0 = p0|0; return _emscripten_glIsShader(p0|0)|0; -} -function _emscripten_glIsProgram__wrapper(p0) { - p0 = p0|0; return _emscripten_glIsProgram(p0|0)|0; -} -function _emscripten_glIsFramebuffer__wrapper(p0) { - p0 = p0|0; return _emscripten_glIsFramebuffer(p0|0)|0; -} -function _emscripten_glCheckFramebufferStatus__wrapper(p0) { - p0 = p0|0; return _emscripten_glCheckFramebufferStatus(p0|0)|0; -} -function _emscripten_glIsEnabled__wrapper(p0) { - p0 = p0|0; return _emscripten_glIsEnabled(p0|0)|0; -} -function b6(p0,p1,p2,p3) { - p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3; abort(6); -} -function _emscripten_glUniform3f__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glUniform3f(p0|0,+p1,+p2,+p3); -} -function _emscripten_glVertexAttrib3f__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glVertexAttrib3f(p0|0,+p1,+p2,+p3); -} -function b7(p0,p1,p2) { - p0 = p0|0;p1 = +p1;p2 = +p2; abort(7); -} -function _emscripten_glUniform2f__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = +p1;p2 = +p2; _emscripten_glUniform2f(p0|0,+p1,+p2); -} -function _emscripten_glVertexAttrib2f__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = +p1;p2 = +p2; _emscripten_glVertexAttrib2f(p0|0,+p1,+p2); -} -function b8(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; abort(8);return 0; -} -function b9(p0,p1,p2,p3,p4,p5,p6,p7) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0; abort(9); -} -function _emscripten_glCompressedTexImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0; _emscripten_glCompressedTexImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0); -} -function _emscripten_glCopyTexImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0; _emscripten_glCopyTexImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0); -} -function _emscripten_glCopyTexSubImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0; _emscripten_glCopyTexSubImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0); -} -function b10(p0,p1,p2,p3,p4,p5) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0; abort(10); -} -function _emscripten_glDrawRangeElements__wrapper(p0,p1,p2,p3,p4,p5) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0; _emscripten_glDrawRangeElements(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0); -} -function _emscripten_glVertexAttribPointer__wrapper(p0,p1,p2,p3,p4,p5) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0; _emscripten_glVertexAttribPointer(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0); -} -function b11(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; abort(11); -} -function _emscripten_glGetTexParameterfv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetTexParameterfv(p0|0,p1|0,p2|0); -} -function _emscripten_glGetTexParameteriv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetTexParameteriv(p0|0,p1|0,p2|0); -} -function _emscripten_glTexParameterfv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glTexParameterfv(p0|0,p1|0,p2|0); -} -function _emscripten_glTexParameteriv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glTexParameteriv(p0|0,p1|0,p2|0); -} -function _emscripten_glGetBufferParameteriv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetBufferParameteriv(p0|0,p1|0,p2|0); -} -function _emscripten_glGetRenderbufferParameteriv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetRenderbufferParameteriv(p0|0,p1|0,p2|0); -} -function _emscripten_glGetUniformfv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetUniformfv(p0|0,p1|0,p2|0); -} -function _emscripten_glGetUniformiv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetUniformiv(p0|0,p1|0,p2|0); -} -function _emscripten_glGetVertexAttribfv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetVertexAttribfv(p0|0,p1|0,p2|0); -} -function _emscripten_glGetVertexAttribiv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetVertexAttribiv(p0|0,p1|0,p2|0); -} -function _emscripten_glGetVertexAttribPointerv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetVertexAttribPointerv(p0|0,p1|0,p2|0); -} -function _emscripten_glUniform2i__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform2i(p0|0,p1|0,p2|0); -} -function _emscripten_glUniform1iv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform1iv(p0|0,p1|0,p2|0); -} -function _emscripten_glUniform2iv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform2iv(p0|0,p1|0,p2|0); -} -function _emscripten_glUniform3iv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform3iv(p0|0,p1|0,p2|0); -} -function _emscripten_glUniform4iv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform4iv(p0|0,p1|0,p2|0); -} -function _emscripten_glUniform1fv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform1fv(p0|0,p1|0,p2|0); -} -function _emscripten_glUniform2fv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform2fv(p0|0,p1|0,p2|0); -} -function _emscripten_glUniform3fv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform3fv(p0|0,p1|0,p2|0); -} -function _emscripten_glUniform4fv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform4fv(p0|0,p1|0,p2|0); -} -function _emscripten_glGetShaderiv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetShaderiv(p0|0,p1|0,p2|0); -} -function _emscripten_glGetProgramiv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetProgramiv(p0|0,p1|0,p2|0); -} -function _emscripten_glBindAttribLocation__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glBindAttribLocation(p0|0,p1|0,p2|0); -} -function _emscripten_glGetObjectParameterivARB__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetObjectParameterivARB(p0|0,p1|0,p2|0); -} -function _emscripten_glNormalPointer__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glNormalPointer(p0|0,p1|0,p2|0); -} -function _emscripten_glDrawArrays__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glDrawArrays(p0|0,p1|0,p2|0); -} -function _emscripten_glTexParameteri__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glTexParameteri(p0|0,p1|0,p2|0); -} -function _emscripten_glStencilFunc__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glStencilFunc(p0|0,p1|0,p2|0); -} -function _emscripten_glStencilOp__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glStencilOp(p0|0,p1|0,p2|0); -} -function b12(p0,p1,p2,p3,p4) { - p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4; abort(12); -} -function _emscripten_glUniform4f__wrapper(p0,p1,p2,p3,p4) { - p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4; _emscripten_glUniform4f(p0|0,+p1,+p2,+p3,+p4); -} -function _emscripten_glVertexAttrib4f__wrapper(p0,p1,p2,p3,p4) { - p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4; _emscripten_glVertexAttrib4f(p0|0,+p1,+p2,+p3,+p4); -} -function b13(p0,p1) { - p0 = +p0;p1 = p1|0; abort(13); -} -function _emscripten_glSampleCoverage__wrapper(p0,p1) { - p0 = +p0;p1 = p1|0; _emscripten_glSampleCoverage(+p0,p1|0); -} -function b14(p0,p1,p2,p3,p4,p5,p6) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0; abort(14); -} -function _emscripten_glReadPixels__wrapper(p0,p1,p2,p3,p4,p5,p6) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0; _emscripten_glReadPixels(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0); -} -function _emscripten_glGetActiveUniform__wrapper(p0,p1,p2,p3,p4,p5,p6) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0; _emscripten_glGetActiveUniform(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0); -} -function _emscripten_glGetActiveAttrib__wrapper(p0,p1,p2,p3,p4,p5,p6) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0; _emscripten_glGetActiveAttrib(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0); -} -function b15(p0,p1,p2,p3,p4,p5,p6,p7,p8) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0;p8 = p8|0; abort(15); -} -function _emscripten_glCompressedTexSubImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7,p8) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0;p8 = p8|0; _emscripten_glCompressedTexSubImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0,p8|0); -} -function _emscripten_glTexImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7,p8) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0;p8 = p8|0; _emscripten_glTexImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0,p8|0); -} -function _emscripten_glTexSubImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7,p8) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0;p8 = p8|0; _emscripten_glTexSubImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0,p8|0); -} -function b16(p0,p1) { - p0 = p0|0;p1 = p1|0; abort(16);return 0; -} -function _emscripten_glGetUniformLocation__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; return _emscripten_glGetUniformLocation(p0|0,p1|0)|0; -} -function _emscripten_glGetAttribLocation__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; return _emscripten_glGetAttribLocation(p0|0,p1|0)|0; -} -function b17() { - ; abort(17);return 0; -} -function _emscripten_glCreateProgram__wrapper() { - ; return _emscripten_glCreateProgram()|0; -} -function _emscripten_glGetError__wrapper() { - ; return _emscripten_glGetError()|0; -} -function b18(p0,p1,p2,p3,p4) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; abort(18);return 0; -} -function b19(p0,p1,p2,p3,p4,p5) { - p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4;p5 = +p5; abort(19); -} -function _emscripten_glFrustum__wrapper(p0,p1,p2,p3,p4,p5) { - p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4;p5 = +p5; _emscripten_glFrustum(+p0,+p1,+p2,+p3,+p4,+p5); -} -function b20(p0,p1,p2,p3) { - p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3; abort(20); -} -function _emscripten_glRotatef__wrapper(p0,p1,p2,p3) { - p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glRotatef(+p0,+p1,+p2,+p3); -} -function _emscripten_glClearColor__wrapper(p0,p1,p2,p3) { - p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glClearColor(+p0,+p1,+p2,+p3); -} -function _emscripten_glBlendColor__wrapper(p0,p1,p2,p3) { - p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glBlendColor(+p0,+p1,+p2,+p3); -} -function b21(p0,p1) { - p0 = +p0;p1 = +p1; abort(21); -} -function _emscripten_glDepthRange__wrapper(p0,p1) { - p0 = +p0;p1 = +p1; _emscripten_glDepthRange(+p0,+p1); -} -function _emscripten_glDepthRangef__wrapper(p0,p1) { - p0 = +p0;p1 = +p1; _emscripten_glDepthRangef(+p0,+p1); -} -function _emscripten_glPolygonOffset__wrapper(p0,p1) { - p0 = +p0;p1 = +p1; _emscripten_glPolygonOffset(+p0,+p1); -} -function b22() { - ; abort(22); -} -function _emscripten_glLoadIdentity__wrapper() { - ; _emscripten_glLoadIdentity(); -} -function _emscripten_glReleaseShaderCompiler__wrapper() { - ; _emscripten_glReleaseShaderCompiler(); -} -function _emscripten_glFinish__wrapper() { - ; _emscripten_glFinish(); -} -function _emscripten_glFlush__wrapper() { - ; _emscripten_glFlush(); -} -function b23(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = +p2; abort(23); -} -function _emscripten_glTexParameterf__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = +p2; _emscripten_glTexParameterf(p0|0,p1|0,+p2); -} -function b24(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; abort(24); -} -function _emscripten_glBufferData__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glBufferData(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glBufferSubData__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glBufferSubData(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glUniform3i__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glUniform3i(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glUniformMatrix2fv__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glUniformMatrix2fv(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glUniformMatrix3fv__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glUniformMatrix3fv(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glUniformMatrix4fv__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glUniformMatrix4fv(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glGetAttachedShaders__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetAttachedShaders(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glShaderSource__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glShaderSource(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glGetShaderSource__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetShaderSource(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glGetShaderInfoLog__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetShaderInfoLog(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glGetShaderPrecisionFormat__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetShaderPrecisionFormat(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glGetProgramInfoLog__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetProgramInfoLog(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glFramebufferRenderbuffer__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glFramebufferRenderbuffer(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glGetFramebufferAttachmentParameteriv__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetFramebufferAttachmentParameteriv(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glGetInfoLogARB__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetInfoLogARB(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glVertexPointer__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glVertexPointer(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glTexCoordPointer__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glTexCoordPointer(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glColorPointer__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glColorPointer(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glDrawElements__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glDrawElements(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glDrawArraysInstanced__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glDrawArraysInstanced(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glViewport__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glViewport(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glScissor__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glScissor(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glColorMask__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glColorMask(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glRenderbufferStorage__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glRenderbufferStorage(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glBlendFuncSeparate__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glBlendFuncSeparate(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glStencilFuncSeparate__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glStencilFuncSeparate(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glStencilOpSeparate__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glStencilOpSeparate(p0|0,p1|0,p2|0,p3|0); -} - -// EMSCRIPTEN_END_FUNCS -var FUNCTION_TABLE_viiiii = [b0,_KeyCallback,_emscripten_glUniform4i__wrapper,_emscripten_glFramebufferTexture2D__wrapper,_emscripten_glShaderBinary__wrapper,_emscripten_glDrawElementsInstanced__wrapper,b0,b0]; -var FUNCTION_TABLE_vd = [b1,_emscripten_glClearDepth__wrapper,_emscripten_glClearDepthf__wrapper,_emscripten_glLineWidth__wrapper]; -var FUNCTION_TABLE_vid = [b2,_emscripten_glUniform1f__wrapper,_emscripten_glVertexAttrib1f__wrapper,b2]; -var FUNCTION_TABLE_vi = [b3,_emscripten_glDeleteShader__wrapper,_emscripten_glCompileShader__wrapper,_emscripten_glDeleteProgram__wrapper,_emscripten_glLinkProgram__wrapper,_emscripten_glUseProgram__wrapper,_emscripten_glValidateProgram__wrapper,_emscripten_glDeleteObjectARB__wrapper,_emscripten_glEnableClientState__wrapper,_emscripten_glClientActiveTexture__wrapper,_emscripten_glBindVertexArray__wrapper,_emscripten_glMatrixMode__wrapper,_emscripten_glLoadMatrixf__wrapper,_emscripten_glEnableVertexAttribArray__wrapper,_emscripten_glDisableVertexAttribArray__wrapper,_emscripten_glDepthFunc__wrapper,_emscripten_glEnable__wrapper,_emscripten_glDisable__wrapper,_emscripten_glFrontFace__wrapper,_emscripten_glCullFace__wrapper,_emscripten_glClear__wrapper,_emscripten_glClearStencil__wrapper,_emscripten_glDepthMask__wrapper,_emscripten_glStencilMask__wrapper,_emscripten_glGenerateMipmap__wrapper,_emscripten_glActiveTexture__wrapper,_emscripten_glBlendEquation__wrapper,_cleanup521,_cleanup526 -,b3,b3,b3]; -var FUNCTION_TABLE_vii = [b4,_stbi__stdio_skip,_ErrorCallback,_CursorEnterCallback,_CharCallback,_WindowIconifyCallback,_emscripten_glPixelStorei__wrapper,_emscripten_glGetIntegerv__wrapper,_emscripten_glGetFloatv__wrapper,_emscripten_glGetBooleanv__wrapper,_emscripten_glGenTextures__wrapper,_emscripten_glDeleteTextures__wrapper,_emscripten_glBindTexture__wrapper,_emscripten_glGenBuffers__wrapper,_emscripten_glDeleteBuffers__wrapper,_emscripten_glGenRenderbuffers__wrapper,_emscripten_glDeleteRenderbuffers__wrapper,_emscripten_glBindRenderbuffer__wrapper,_emscripten_glUniform1i__wrapper,_emscripten_glBindBuffer__wrapper,_emscripten_glVertexAttrib1fv__wrapper,_emscripten_glVertexAttrib2fv__wrapper,_emscripten_glVertexAttrib3fv__wrapper,_emscripten_glVertexAttrib4fv__wrapper,_emscripten_glAttachShader__wrapper,_emscripten_glDetachShader__wrapper,_emscripten_glBindFramebuffer__wrapper,_emscripten_glGenFramebuffers__wrapper,_emscripten_glDeleteFramebuffers__wrapper,_emscripten_glBindProgramARB__wrapper,_emscripten_glGetPointerv__wrapper,_emscripten_glGenVertexArrays__wrapper,_emscripten_glDeleteVertexArrays__wrapper,_emscripten_glVertexAttribDivisor__wrapper,_emscripten_glBlendFunc__wrapper,_emscripten_glBlendEquationSeparate__wrapper,_emscripten_glStencilMaskSeparate__wrapper,_emscripten_glHint__wrapper,_emscripten_glDrawBuffers__wrapper,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4 -,b4,b4,b4,b4,b4]; -var FUNCTION_TABLE_ii = [b5,_stbi__stdio_eof,___stdio_close,_emscripten_glGetString__wrapper,_emscripten_glIsTexture__wrapper,_emscripten_glIsBuffer__wrapper,_emscripten_glIsRenderbuffer__wrapper,_emscripten_glCreateShader__wrapper,_emscripten_glIsShader__wrapper,_emscripten_glIsProgram__wrapper,_emscripten_glIsFramebuffer__wrapper,_emscripten_glCheckFramebufferStatus__wrapper,_emscripten_glIsEnabled__wrapper,b5,b5,b5]; -var FUNCTION_TABLE_viddd = [b6,_emscripten_glUniform3f__wrapper,_emscripten_glVertexAttrib3f__wrapper,b6]; -var FUNCTION_TABLE_vidd = [b7,_MouseCursorPosCallback,_ScrollCallback,_emscripten_glUniform2f__wrapper,_emscripten_glVertexAttrib2f__wrapper,b7,b7,b7]; -var FUNCTION_TABLE_iiii = [b8,_stbi__stdio_read,___stdout_write,___stdio_seek,_EmscriptenFullscreenChangeCallback,_EmscriptenInputCallback,_do_read,___stdio_read,___stdio_write,b8,b8,b8,b8,b8,b8,b8]; -var FUNCTION_TABLE_viiiiiiii = [b9,_emscripten_glCompressedTexImage2D__wrapper,_emscripten_glCopyTexImage2D__wrapper,_emscripten_glCopyTexSubImage2D__wrapper]; -var FUNCTION_TABLE_viiiiii = [b10,_stbi__YCbCr_to_RGB_row,_emscripten_glDrawRangeElements__wrapper,_emscripten_glVertexAttribPointer__wrapper]; -var FUNCTION_TABLE_viii = [b11,_WindowSizeCallback,_stbi__idct_block,_emscripten_glGetTexParameterfv__wrapper,_emscripten_glGetTexParameteriv__wrapper,_emscripten_glTexParameterfv__wrapper,_emscripten_glTexParameteriv__wrapper,_emscripten_glGetBufferParameteriv__wrapper,_emscripten_glGetRenderbufferParameteriv__wrapper,_emscripten_glGetUniformfv__wrapper,_emscripten_glGetUniformiv__wrapper,_emscripten_glGetVertexAttribfv__wrapper,_emscripten_glGetVertexAttribiv__wrapper,_emscripten_glGetVertexAttribPointerv__wrapper,_emscripten_glUniform2i__wrapper,_emscripten_glUniform1iv__wrapper,_emscripten_glUniform2iv__wrapper,_emscripten_glUniform3iv__wrapper,_emscripten_glUniform4iv__wrapper,_emscripten_glUniform1fv__wrapper,_emscripten_glUniform2fv__wrapper,_emscripten_glUniform3fv__wrapper,_emscripten_glUniform4fv__wrapper,_emscripten_glGetShaderiv__wrapper,_emscripten_glGetProgramiv__wrapper,_emscripten_glBindAttribLocation__wrapper,_emscripten_glGetObjectParameterivARB__wrapper,_emscripten_glNormalPointer__wrapper,_emscripten_glDrawArrays__wrapper,_emscripten_glTexParameteri__wrapper,_emscripten_glStencilFunc__wrapper,_emscripten_glStencilOp__wrapper]; -var FUNCTION_TABLE_vidddd = [b12,_emscripten_glUniform4f__wrapper,_emscripten_glVertexAttrib4f__wrapper,b12]; -var FUNCTION_TABLE_vdi = [b13,_emscripten_glSampleCoverage__wrapper]; -var FUNCTION_TABLE_viiiiiii = [b14,_emscripten_glReadPixels__wrapper,_emscripten_glGetActiveUniform__wrapper,_emscripten_glGetActiveAttrib__wrapper]; -var FUNCTION_TABLE_viiiiiiiii = [b15,_emscripten_glCompressedTexSubImage2D__wrapper,_emscripten_glTexImage2D__wrapper,_emscripten_glTexSubImage2D__wrapper]; -var FUNCTION_TABLE_iii = [b16,_point_compare,_uint32_compare,_emscripten_glGetUniformLocation__wrapper,_emscripten_glGetAttribLocation__wrapper,b16,b16,b16]; -var FUNCTION_TABLE_i = [b17,_emscripten_glCreateProgram__wrapper,_emscripten_glGetError__wrapper,b17]; -var FUNCTION_TABLE_iiiiii = [b18,_stbi__resample_row_hv_2,_resample_row_1,_stbi__resample_row_v_2,_stbi__resample_row_h_2,_stbi__resample_row_generic,b18,b18]; -var FUNCTION_TABLE_vdddddd = [b19,_emscripten_glFrustum__wrapper]; -var FUNCTION_TABLE_vdddd = [b20,_emscripten_glRotatef__wrapper,_emscripten_glClearColor__wrapper,_emscripten_glBlendColor__wrapper]; -var FUNCTION_TABLE_vdd = [b21,_emscripten_glDepthRange__wrapper,_emscripten_glDepthRangef__wrapper,_emscripten_glPolygonOffset__wrapper]; -var FUNCTION_TABLE_v = [b22,_UpdateDrawFrame,_emscripten_glLoadIdentity__wrapper,_emscripten_glReleaseShaderCompiler__wrapper,_emscripten_glFinish__wrapper,_emscripten_glFlush__wrapper,b22,b22]; -var FUNCTION_TABLE_viid = [b23,_emscripten_glTexParameterf__wrapper]; -var FUNCTION_TABLE_viiii = [b24,_MouseButtonCallback,_emscripten_glBufferData__wrapper,_emscripten_glBufferSubData__wrapper,_emscripten_glUniform3i__wrapper,_emscripten_glUniformMatrix2fv__wrapper,_emscripten_glUniformMatrix3fv__wrapper,_emscripten_glUniformMatrix4fv__wrapper,_emscripten_glGetAttachedShaders__wrapper,_emscripten_glShaderSource__wrapper,_emscripten_glGetShaderSource__wrapper,_emscripten_glGetShaderInfoLog__wrapper,_emscripten_glGetShaderPrecisionFormat__wrapper,_emscripten_glGetProgramInfoLog__wrapper,_emscripten_glFramebufferRenderbuffer__wrapper,_emscripten_glGetFramebufferAttachmentParameteriv__wrapper,_emscripten_glGetInfoLogARB__wrapper,_emscripten_glVertexPointer__wrapper,_emscripten_glTexCoordPointer__wrapper,_emscripten_glColorPointer__wrapper,_emscripten_glDrawElements__wrapper,_emscripten_glDrawArraysInstanced__wrapper,_emscripten_glViewport__wrapper,_emscripten_glScissor__wrapper,_emscripten_glColorMask__wrapper,_emscripten_glRenderbufferStorage__wrapper,_emscripten_glBlendFuncSeparate__wrapper,_emscripten_glStencilFuncSeparate__wrapper,_emscripten_glStencilOpSeparate__wrapper,b24,b24,b24]; - - return { _i64Subtract: _i64Subtract, _fflush: _fflush, _main: _main, _i64Add: _i64Add, _memmove: _memmove, _strstr: _strstr, _memset: _memset, _malloc: _malloc, _memcpy: _memcpy, _bitshift64Lshr: _bitshift64Lshr, _free: _free, _emscripten_GetProcAddress: _emscripten_GetProcAddress, ___errno_location: ___errno_location, _bitshift64Shl: _bitshift64Shl, runPostSets: runPostSets, _emscripten_replace_memory: _emscripten_replace_memory, stackAlloc: stackAlloc, stackSave: stackSave, stackRestore: stackRestore, establishStackSpace: establishStackSpace, setThrew: setThrew, setTempRet0: setTempRet0, getTempRet0: getTempRet0, dynCall_viiiii: dynCall_viiiii, dynCall_vd: dynCall_vd, dynCall_vid: dynCall_vid, dynCall_vi: dynCall_vi, dynCall_vii: dynCall_vii, dynCall_ii: dynCall_ii, dynCall_viddd: dynCall_viddd, dynCall_vidd: dynCall_vidd, dynCall_iiii: dynCall_iiii, dynCall_viiiiiiii: dynCall_viiiiiiii, dynCall_viiiiii: dynCall_viiiiii, dynCall_viii: dynCall_viii, dynCall_vidddd: dynCall_vidddd, dynCall_vdi: dynCall_vdi, dynCall_viiiiiii: dynCall_viiiiiii, dynCall_viiiiiiiii: dynCall_viiiiiiiii, dynCall_iii: dynCall_iii, dynCall_i: dynCall_i, dynCall_iiiiii: dynCall_iiiiii, dynCall_vdddddd: dynCall_vdddddd, dynCall_vdddd: dynCall_vdddd, dynCall_vdd: dynCall_vdd, dynCall_v: dynCall_v, dynCall_viid: dynCall_viid, dynCall_viiii: dynCall_viiii }; -}) -// EMSCRIPTEN_END_ASM -(Module.asmGlobalArg, Module.asmLibraryArg, buffer); -var _i64Subtract = Module["_i64Subtract"] = asm["_i64Subtract"]; -var _fflush = Module["_fflush"] = asm["_fflush"]; -var _main = Module["_main"] = asm["_main"]; -var _i64Add = Module["_i64Add"] = asm["_i64Add"]; -var _memmove = Module["_memmove"] = asm["_memmove"]; -var _strstr = Module["_strstr"] = asm["_strstr"]; -var _memset = Module["_memset"] = asm["_memset"]; -var runPostSets = Module["runPostSets"] = asm["runPostSets"]; -var _malloc = Module["_malloc"] = asm["_malloc"]; -var _memcpy = Module["_memcpy"] = asm["_memcpy"]; -var _emscripten_replace_memory = Module["_emscripten_replace_memory"] = asm["_emscripten_replace_memory"]; -var _bitshift64Lshr = Module["_bitshift64Lshr"] = asm["_bitshift64Lshr"]; -var _free = Module["_free"] = asm["_free"]; -var _emscripten_GetProcAddress = Module["_emscripten_GetProcAddress"] = asm["_emscripten_GetProcAddress"]; -var ___errno_location = Module["___errno_location"] = asm["___errno_location"]; -var _bitshift64Shl = Module["_bitshift64Shl"] = asm["_bitshift64Shl"]; -var dynCall_viiiii = Module["dynCall_viiiii"] = asm["dynCall_viiiii"]; -var dynCall_vd = Module["dynCall_vd"] = asm["dynCall_vd"]; -var dynCall_vid = Module["dynCall_vid"] = asm["dynCall_vid"]; -var dynCall_vi = Module["dynCall_vi"] = asm["dynCall_vi"]; -var dynCall_vii = Module["dynCall_vii"] = asm["dynCall_vii"]; -var dynCall_ii = Module["dynCall_ii"] = asm["dynCall_ii"]; -var dynCall_viddd = Module["dynCall_viddd"] = asm["dynCall_viddd"]; -var dynCall_vidd = Module["dynCall_vidd"] = asm["dynCall_vidd"]; -var dynCall_iiii = Module["dynCall_iiii"] = asm["dynCall_iiii"]; -var dynCall_viiiiiiii = Module["dynCall_viiiiiiii"] = asm["dynCall_viiiiiiii"]; -var dynCall_viiiiii = Module["dynCall_viiiiii"] = asm["dynCall_viiiiii"]; -var dynCall_viii = Module["dynCall_viii"] = asm["dynCall_viii"]; -var dynCall_vidddd = Module["dynCall_vidddd"] = asm["dynCall_vidddd"]; -var dynCall_vdi = Module["dynCall_vdi"] = asm["dynCall_vdi"]; -var dynCall_viiiiiii = Module["dynCall_viiiiiii"] = asm["dynCall_viiiiiii"]; -var dynCall_viiiiiiiii = Module["dynCall_viiiiiiiii"] = asm["dynCall_viiiiiiiii"]; -var dynCall_iii = Module["dynCall_iii"] = asm["dynCall_iii"]; -var dynCall_i = Module["dynCall_i"] = asm["dynCall_i"]; -var dynCall_iiiiii = Module["dynCall_iiiiii"] = asm["dynCall_iiiiii"]; -var dynCall_vdddddd = Module["dynCall_vdddddd"] = asm["dynCall_vdddddd"]; -var dynCall_vdddd = Module["dynCall_vdddd"] = asm["dynCall_vdddd"]; -var dynCall_vdd = Module["dynCall_vdd"] = asm["dynCall_vdd"]; -var dynCall_v = Module["dynCall_v"] = asm["dynCall_v"]; -var dynCall_viid = Module["dynCall_viid"] = asm["dynCall_viid"]; -var dynCall_viiii = Module["dynCall_viiii"] = asm["dynCall_viiii"]; -; - -Runtime.stackAlloc = asm['stackAlloc']; -Runtime.stackSave = asm['stackSave']; -Runtime.stackRestore = asm['stackRestore']; -Runtime.establishStackSpace = asm['establishStackSpace']; - -Runtime.setTempRet0 = asm['setTempRet0']; -Runtime.getTempRet0 = asm['getTempRet0']; - - - -// === Auto-generated postamble setup entry stuff === - - -function ExitStatus(status) { - this.name = "ExitStatus"; - this.message = "Program terminated with exit(" + status + ")"; - this.status = status; -}; -ExitStatus.prototype = new Error(); -ExitStatus.prototype.constructor = ExitStatus; - -var initialStackTop; -var preloadStartTime = null; -var calledMain = false; - -dependenciesFulfilled = function runCaller() { - // If run has never been called, and we should call run (INVOKE_RUN is true, and Module.noInitialRun is not false) - if (!Module['calledRun']) run(); - if (!Module['calledRun']) dependenciesFulfilled = runCaller; // try this again later, after new deps are fulfilled -} - -Module['callMain'] = Module.callMain = function callMain(args) { - assert(runDependencies == 0, 'cannot call main when async dependencies remain! (listen on __ATMAIN__)'); - assert(__ATPRERUN__.length == 0, 'cannot call main when preRun functions remain to be called'); - - args = args || []; - - ensureInitRuntime(); - - var argc = args.length+1; - function pad() { - for (var i = 0; i < 4-1; i++) { - argv.push(0); - } - } - var argv = [allocate(intArrayFromString(Module['thisProgram']), 'i8', ALLOC_NORMAL) ]; - pad(); - for (var i = 0; i < argc-1; i = i + 1) { - argv.push(allocate(intArrayFromString(args[i]), 'i8', ALLOC_NORMAL)); - pad(); - } - argv.push(0); - argv = allocate(argv, 'i32', ALLOC_NORMAL); - - - try { - - var ret = Module['_main'](argc, argv, 0); - - - // if we're not running an evented main loop, it's time to exit - exit(ret, /* implicit = */ true); - } - catch(e) { - if (e instanceof ExitStatus) { - // exit() throws this once it's done to make sure execution - // has been stopped completely - return; - } else if (e == 'SimulateInfiniteLoop') { - // running an evented main loop, don't immediately exit - Module['noExitRuntime'] = true; - return; - } else { - if (e && typeof e === 'object' && e.stack) Module.printErr('exception thrown: ' + [e, e.stack]); - throw e; - } - } finally { - calledMain = true; - } -} - - - - -function run(args) { - args = args || Module['arguments']; - - if (preloadStartTime === null) preloadStartTime = Date.now(); - - if (runDependencies > 0) { - return; - } - - preRun(); - - if (runDependencies > 0) return; // a preRun added a dependency, run will be called later - if (Module['calledRun']) return; // run may have just been called through dependencies being fulfilled just in this very frame - - function doRun() { - if (Module['calledRun']) return; // run may have just been called while the async setStatus time below was happening - Module['calledRun'] = true; - - if (ABORT) return; - - ensureInitRuntime(); - - preMain(); - - - if (Module['onRuntimeInitialized']) Module['onRuntimeInitialized'](); - - if (Module['_main'] && shouldRunNow) Module['callMain'](args); - - postRun(); - } - - if (Module['setStatus']) { - Module['setStatus']('Running...'); - setTimeout(function() { - setTimeout(function() { - Module['setStatus'](''); - }, 1); - doRun(); - }, 1); - } else { - doRun(); - } -} -Module['run'] = Module.run = run; - -function exit(status, implicit) { - if (implicit && Module['noExitRuntime']) { - return; - } - - if (Module['noExitRuntime']) { - } else { - - ABORT = true; - EXITSTATUS = status; - STACKTOP = initialStackTop; - - exitRuntime(); - - if (Module['onExit']) Module['onExit'](status); - } - - if (ENVIRONMENT_IS_NODE) { - // Work around a node.js bug where stdout buffer is not flushed at process exit: - // Instead of process.exit() directly, wait for stdout flush event. - // See https://github.com/joyent/node/issues/1669 and https://github.com/kripken/emscripten/issues/2582 - // Workaround is based on https://github.com/RReverser/acorn/commit/50ab143cecc9ed71a2d66f78b4aec3bb2e9844f6 - process['stdout']['once']('drain', function () { - process['exit'](status); - }); - console.log(' '); // Make sure to print something to force the drain event to occur, in case the stdout buffer was empty. - // Work around another node bug where sometimes 'drain' is never fired - make another effort - // to emit the exit status, after a significant delay (if node hasn't fired drain by then, give up) - setTimeout(function() { - process['exit'](status); - }, 500); - } else - if (ENVIRONMENT_IS_SHELL && typeof quit === 'function') { - quit(status); - } - // if we reach here, we must throw an exception to halt the current execution - throw new ExitStatus(status); -} -Module['exit'] = Module.exit = exit; - -var abortDecorators = []; - -function abort(what) { - if (what !== undefined) { - Module.print(what); - Module.printErr(what); - what = JSON.stringify(what) - } else { - what = ''; - } - - ABORT = true; - EXITSTATUS = 1; - - var extra = '\nIf this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.'; - - var output = 'abort(' + what + ') at ' + stackTrace() + extra; - if (abortDecorators) { - abortDecorators.forEach(function(decorator) { - output = decorator(output, what); - }); - } - throw output; -} -Module['abort'] = Module.abort = abort; - -// {{PRE_RUN_ADDITIONS}} - -if (Module['preInit']) { - if (typeof Module['preInit'] == 'function') Module['preInit'] = [Module['preInit']]; - while (Module['preInit'].length > 0) { - Module['preInit'].pop()(); - } -} - -// shouldRunNow refers to calling main(), not run(). -var shouldRunNow = true; -if (Module['noInitialRun']) { - shouldRunNow = false; -} - - -run(); - -// {{POST_RUN_ADDITIONS}} - - - - - - -// {{MODULE_ADDITIONS}} - - - diff --git a/docs/games/skully_escape.html b/docs/games/skully_escape.html index 7136499ad..88d84e75f 100644 --- a/docs/games/skully_escape.html +++ b/docs/games/skully_escape.html @@ -4,26 +4,26 @@ - King GameJam - Skully Escape + raylib HTML5 GAME - - - + + + - + - + - + - - + + @@ -51,18 +51,19 @@ margin:10px; background-image:url(http://www.raylib.com/common/img/raylib_logo_64x64.png); } - + .emscripten { padding-right: 0; margin-left: auto; margin-right: auto; display: block; } div.emscripten { text-align: center; } div.emscripten_border { border: 1px solid black; } + /* the canvas *must not* have any border or padding, or mouse coords will be wrong */ - canvas.emscripten { border: 0px none; } - + canvas.emscripten { border: 0px none; background: black; } + #emscripten_logo { display: inline-block; margin: 0; } - + .spinner { height: 30px; width: 30px; @@ -71,21 +72,18 @@ margin-left: 20px; display: inline-block; vertical-align: top; - -webkit-animation: rotation .8s linear infinite; -moz-animation: rotation .8s linear infinite; -o-animation: rotation .8s linear infinite; animation: rotation 0.8s linear infinite; - - border-left: 5px solid rgb(235, 235, 235); - border-right: 5px solid rgb(235, 235, 235); - border-bottom: 5px solid rgb(235, 235, 235); - border-top: 5px solid rgb(120, 120, 120); + border-left: 5px solid black; + border-right: 5px solid black; + border-bottom: 5px solid black; + border-top: 5px solid red; border-radius: 100%; - background-color: rgb(189, 215, 46); + background-color: rgb(245, 245, 245); } - @-webkit-keyframes rotation { from {-webkit-transform: rotate(0deg);} to {-webkit-transform: rotate(360deg);} @@ -102,21 +100,21 @@ from {transform: rotate(0deg);} to {transform: rotate(360deg);} } - + #status { display: inline-block; vertical-align: top; margin-top: 30px; margin-left: 20px; font-weight: bold; - color: rgb(120, 120, 120); + color: rgb(40, 40, 40); } - + #progress { height: 20px; width: 30px; } - + #controls { display: inline-block; float: right; @@ -124,15 +122,15 @@ margin-top: 30px; margin-right: 20px; } - + #output { width: 100%; - height: 200px; + height: 140px; margin: 0 auto; margin-top: 10px; display: block; background-color: black; - color: white; + color: rgb(37, 174, 38); font-family: 'Lucida Console', Monaco, monospace; outline: none; } @@ -146,7 +144,7 @@
Downloading...
- +
@@ -164,7 +162,6 @@ var statusElement = document.getElementById('status'); var progressElement = document.getElementById('progress'); var spinnerElement = document.getElementById('spinner'); - var Module = { preRun: [], postRun: [], @@ -195,12 +192,10 @@ }, canvas: (function() { var canvas = document.getElementById('canvas'); - // As a default initial behavior, pop up an alert when webgl context is lost. To make your // application robust, you may want to override this behavior before shipping! // See http://www.khronos.org/registry/webgl/specs/latest/1.0/#5.15.2 canvas.addEventListener("webglcontextlost", function(e) { alert('WebGL context lost. You will need to reload the page.'); e.preventDefault(); }, false); - return canvas; })(), setStatus: function(text) { @@ -240,17 +235,5 @@ }; - - - - + \ No newline at end of file diff --git a/docs/games/skully_escape.js b/docs/games/skully_escape.js index 1e8553519..69fc0b212 100644 --- a/docs/games/skully_escape.js +++ b/docs/games/skully_escape.js @@ -30,9 +30,9 @@ Module.expectedDataFileDownloads++; Module['locateFile'](REMOTE_PACKAGE_BASE) : ((Module['filePackagePrefixURL'] || '') + REMOTE_PACKAGE_BASE); - var REMOTE_PACKAGE_SIZE = 6432857; - var PACKAGE_UUID = '42e79e6e-0d53-4bc2-be18-d26919c24a50'; - + var REMOTE_PACKAGE_SIZE = metadata.remote_package_size; + var PACKAGE_UUID = metadata.package_uuid; + function fetchRemotePackage(packageName, packageSize, callback, errback) { var xhr = new XMLHttpRequest(); xhr.open('GET', packageName, true); @@ -67,9 +67,16 @@ Module.expectedDataFileDownloads++; if (Module['setStatus']) Module['setStatus']('Downloading data...'); } }; + xhr.onerror = function(event) { + throw new Error("NetworkError for: " + packageName); + } xhr.onload = function(event) { - var packageData = xhr.response; - callback(packageData); + if (xhr.status == 200 || xhr.status == 304 || xhr.status == 206 || (xhr.status == 0 && xhr.response)) { // file URLs can return 0 + var packageData = xhr.response; + callback(packageData); + } else { + throw new Error(xhr.statusText + " : " + xhr.responseURL); + } }; xhr.send(null); }; @@ -78,8 +85,10 @@ Module.expectedDataFileDownloads++; console.error('package error:', error); }; - var fetched = null, fetchedCallback = null; - fetchRemotePackage(REMOTE_PACKAGE_NAME, REMOTE_PACKAGE_SIZE, function(data) { + var fetchedCallback = null; + var fetched = Module['getPreloadedPackage'] ? Module['getPreloadedPackage'](REMOTE_PACKAGE_NAME, REMOTE_PACKAGE_SIZE) : null; + + if (!fetched) fetchRemotePackage(REMOTE_PACKAGE_NAME, REMOTE_PACKAGE_SIZE, function(data) { if (fetchedCallback) { fetchedCallback(data); fetchedCallback = null; @@ -119,92 +128,39 @@ Module['FS_createPath']('/resources', 'textures', true, true); }, finish: function(byteArray) { var that = this; - Module['FS_createPreloadedFile'](this.name, null, byteArray, true, true, function() { - Module['removeRunDependency']('fp ' + that.name); - }, function() { - if (that.audio) { - Module['removeRunDependency']('fp ' + that.name); // workaround for chromium bug 124926 (still no audio with this, but at least we don't hang) - } else { - Module.printErr('Preloading file ' + that.name + ' failed'); - } - }, false, true); // canOwn this data in the filesystem, it is a slide into the heap that will never change + + Module['FS_createDataFile'](this.name, null, byteArray, true, true, true); // canOwn this data in the filesystem, it is a slide into the heap that will never change + Module['removeRunDependency']('fp ' + that.name); + this.requests[this.name] = null; - }, + } }; - new DataRequest(0, 2310768, 0, 1).open('GET', '/resources/audio/come_play_with_me.ogg'); - new DataRequest(2310768, 2343202, 0, 1).open('GET', '/resources/audio/door.ogg'); - new DataRequest(2343202, 2362898, 0, 1).open('GET', '/resources/audio/scream.ogg'); - new DataRequest(2362898, 2399557, 0, 0).open('GET', '/resources/textures/alagard.png'); - new DataRequest(2399557, 3070038, 0, 0).open('GET', '/resources/textures/background_aisle01.png'); - new DataRequest(3070038, 3577292, 0, 0).open('GET', '/resources/textures/background_aisle02.png'); - new DataRequest(3577292, 3829298, 0, 0).open('GET', '/resources/textures/background_armory.png'); - new DataRequest(3829298, 4116002, 0, 0).open('GET', '/resources/textures/background_attic.png'); - new DataRequest(4116002, 4370711, 0, 0).open('GET', '/resources/textures/background_bathroom.png'); - new DataRequest(4370711, 4680872, 0, 0).open('GET', '/resources/textures/background_kitchen.png'); - new DataRequest(4680872, 4999968, 0, 0).open('GET', '/resources/textures/background_livingroom.png'); - new DataRequest(4999968, 5082453, 0, 0).open('GET', '/resources/textures/doors.png'); - new DataRequest(5082453, 5131795, 0, 0).open('GET', '/resources/textures/monster_arc.png'); - new DataRequest(5131795, 5179262, 0, 0).open('GET', '/resources/textures/monster_blazon01.png'); - new DataRequest(5179262, 5226347, 0, 0).open('GET', '/resources/textures/monster_blazon02.png'); - new DataRequest(5226347, 5278940, 0, 0).open('GET', '/resources/textures/monster_blazon03.png'); - new DataRequest(5278940, 5349385, 0, 0).open('GET', '/resources/textures/monster_candle.png'); - new DataRequest(5349385, 5391914, 0, 0).open('GET', '/resources/textures/monster_chair_left.png'); - new DataRequest(5391914, 5438217, 0, 0).open('GET', '/resources/textures/monster_chair_right.png'); - new DataRequest(5438217, 5531711, 0, 0).open('GET', '/resources/textures/monster_closet.png'); - new DataRequest(5531711, 5612124, 0, 0).open('GET', '/resources/textures/monster_lamp_left.png'); - new DataRequest(5612124, 5760423, 0, 0).open('GET', '/resources/textures/monster_lamp_right.png'); - new DataRequest(5760423, 5827806, 0, 0).open('GET', '/resources/textures/monster_mirror.png'); - new DataRequest(5827806, 5879351, 0, 0).open('GET', '/resources/textures/monster_phone.png'); - new DataRequest(5879351, 5975857, 0, 0).open('GET', '/resources/textures/monster_picture.png'); - new DataRequest(5975857, 6151452, 0, 0).open('GET', '/resources/textures/monster_window.png'); - new DataRequest(6151452, 6290217, 0, 0).open('GET', '/resources/textures/skully.png'); - new DataRequest(6290217, 6293382, 0, 0).open('GET', '/resources/textures/skully_icon.png'); - new DataRequest(6293382, 6312519, 0, 0).open('GET', '/resources/textures/skully_logo.png'); - new DataRequest(6312519, 6432857, 0, 0).open('GET', '/resources/textures/title.png'); + var files = metadata.files; + for (i = 0; i < files.length; ++i) { + new DataRequest(files[i].start, files[i].end, files[i].crunched, files[i].audio).open('GET', files[i].filename); + } + function processPackageData(arrayBuffer) { Module.finishedDataFileDownloads++; assert(arrayBuffer, 'Loading data file failed.'); + assert(arrayBuffer instanceof ArrayBuffer, 'bad input to processPackageData'); var byteArray = new Uint8Array(arrayBuffer); var curr; - // copy the entire loaded file into a spot in the heap. Files will refer to slices in that. They cannot be freed though - // (we may be allocating before malloc is ready, during startup). - var ptr = Module['getMemory'](byteArray.length); - Module['HEAPU8'].set(byteArray, ptr); - DataRequest.prototype.byteArray = Module['HEAPU8'].subarray(ptr, ptr+byteArray.length); - DataRequest.prototype.requests["/resources/audio/come_play_with_me.ogg"].onload(); - DataRequest.prototype.requests["/resources/audio/door.ogg"].onload(); - DataRequest.prototype.requests["/resources/audio/scream.ogg"].onload(); - DataRequest.prototype.requests["/resources/textures/alagard.png"].onload(); - DataRequest.prototype.requests["/resources/textures/background_aisle01.png"].onload(); - DataRequest.prototype.requests["/resources/textures/background_aisle02.png"].onload(); - DataRequest.prototype.requests["/resources/textures/background_armory.png"].onload(); - DataRequest.prototype.requests["/resources/textures/background_attic.png"].onload(); - DataRequest.prototype.requests["/resources/textures/background_bathroom.png"].onload(); - DataRequest.prototype.requests["/resources/textures/background_kitchen.png"].onload(); - DataRequest.prototype.requests["/resources/textures/background_livingroom.png"].onload(); - DataRequest.prototype.requests["/resources/textures/doors.png"].onload(); - DataRequest.prototype.requests["/resources/textures/monster_arc.png"].onload(); - DataRequest.prototype.requests["/resources/textures/monster_blazon01.png"].onload(); - DataRequest.prototype.requests["/resources/textures/monster_blazon02.png"].onload(); - DataRequest.prototype.requests["/resources/textures/monster_blazon03.png"].onload(); - DataRequest.prototype.requests["/resources/textures/monster_candle.png"].onload(); - DataRequest.prototype.requests["/resources/textures/monster_chair_left.png"].onload(); - DataRequest.prototype.requests["/resources/textures/monster_chair_right.png"].onload(); - DataRequest.prototype.requests["/resources/textures/monster_closet.png"].onload(); - DataRequest.prototype.requests["/resources/textures/monster_lamp_left.png"].onload(); - DataRequest.prototype.requests["/resources/textures/monster_lamp_right.png"].onload(); - DataRequest.prototype.requests["/resources/textures/monster_mirror.png"].onload(); - DataRequest.prototype.requests["/resources/textures/monster_phone.png"].onload(); - DataRequest.prototype.requests["/resources/textures/monster_picture.png"].onload(); - DataRequest.prototype.requests["/resources/textures/monster_window.png"].onload(); - DataRequest.prototype.requests["/resources/textures/skully.png"].onload(); - DataRequest.prototype.requests["/resources/textures/skully_icon.png"].onload(); - DataRequest.prototype.requests["/resources/textures/skully_logo.png"].onload(); - DataRequest.prototype.requests["/resources/textures/title.png"].onload(); - Module['removeRunDependency']('datafile_skully_escape.data'); + // copy the entire loaded file into a spot in the heap. Files will refer to slices in that. They cannot be freed though + // (we may be allocating before malloc is ready, during startup). + if (Module['SPLIT_MEMORY']) Module.printErr('warning: you should run the file packager with --no-heap-copy when SPLIT_MEMORY is used, otherwise copying into the heap may fail due to the splitting'); + var ptr = Module['getMemory'](byteArray.length); + Module['HEAPU8'].set(byteArray, ptr); + DataRequest.prototype.byteArray = Module['HEAPU8'].subarray(ptr, ptr+byteArray.length); + + var files = metadata.files; + for (i = 0; i < files.length; ++i) { + DataRequest.prototype.requests[files[i].filename].onload(); + } + Module['removeRunDependency']('datafile_skully_escape.data'); }; Module['addRunDependency']('datafile_skully_escape.data'); @@ -228,7 +184,7 @@ Module['FS_createPath']('/resources', 'textures', true, true); } } - loadPackage(); + loadPackage({"files": [{"audio": 1, "start": 0, "crunched": 0, "end": 2310768, "filename": "/resources/audio/come_play_with_me.ogg"}, {"audio": 1, "start": 2310768, "crunched": 0, "end": 2343202, "filename": "/resources/audio/door.ogg"}, {"audio": 1, "start": 2343202, "crunched": 0, "end": 2362898, "filename": "/resources/audio/scream.ogg"}, {"audio": 0, "start": 2362898, "crunched": 0, "end": 2399557, "filename": "/resources/textures/alagard.png"}, {"audio": 0, "start": 2399557, "crunched": 0, "end": 3070038, "filename": "/resources/textures/background_aisle01.png"}, {"audio": 0, "start": 3070038, "crunched": 0, "end": 3577292, "filename": "/resources/textures/background_aisle02.png"}, {"audio": 0, "start": 3577292, "crunched": 0, "end": 3829298, "filename": "/resources/textures/background_armory.png"}, {"audio": 0, "start": 3829298, "crunched": 0, "end": 4116002, "filename": "/resources/textures/background_attic.png"}, {"audio": 0, "start": 4116002, "crunched": 0, "end": 4370711, "filename": "/resources/textures/background_bathroom.png"}, {"audio": 0, "start": 4370711, "crunched": 0, "end": 4680872, "filename": "/resources/textures/background_kitchen.png"}, {"audio": 0, "start": 4680872, "crunched": 0, "end": 4999968, "filename": "/resources/textures/background_livingroom.png"}, {"audio": 0, "start": 4999968, "crunched": 0, "end": 5082453, "filename": "/resources/textures/doors.png"}, {"audio": 0, "start": 5082453, "crunched": 0, "end": 5131795, "filename": "/resources/textures/monster_arc.png"}, {"audio": 0, "start": 5131795, "crunched": 0, "end": 5179262, "filename": "/resources/textures/monster_blazon01.png"}, {"audio": 0, "start": 5179262, "crunched": 0, "end": 5226347, "filename": "/resources/textures/monster_blazon02.png"}, {"audio": 0, "start": 5226347, "crunched": 0, "end": 5278940, "filename": "/resources/textures/monster_blazon03.png"}, {"audio": 0, "start": 5278940, "crunched": 0, "end": 5349385, "filename": "/resources/textures/monster_candle.png"}, {"audio": 0, "start": 5349385, "crunched": 0, "end": 5391914, "filename": "/resources/textures/monster_chair_left.png"}, {"audio": 0, "start": 5391914, "crunched": 0, "end": 5438217, "filename": "/resources/textures/monster_chair_right.png"}, {"audio": 0, "start": 5438217, "crunched": 0, "end": 5531711, "filename": "/resources/textures/monster_closet.png"}, {"audio": 0, "start": 5531711, "crunched": 0, "end": 5612124, "filename": "/resources/textures/monster_lamp_left.png"}, {"audio": 0, "start": 5612124, "crunched": 0, "end": 5760423, "filename": "/resources/textures/monster_lamp_right.png"}, {"audio": 0, "start": 5760423, "crunched": 0, "end": 5827806, "filename": "/resources/textures/monster_mirror.png"}, {"audio": 0, "start": 5827806, "crunched": 0, "end": 5879351, "filename": "/resources/textures/monster_phone.png"}, {"audio": 0, "start": 5879351, "crunched": 0, "end": 5975857, "filename": "/resources/textures/monster_picture.png"}, {"audio": 0, "start": 5975857, "crunched": 0, "end": 6151452, "filename": "/resources/textures/monster_window.png"}, {"audio": 0, "start": 6151452, "crunched": 0, "end": 6290217, "filename": "/resources/textures/skully.png"}, {"audio": 0, "start": 6290217, "crunched": 0, "end": 6293382, "filename": "/resources/textures/skully_icon.png"}, {"audio": 0, "start": 6293382, "crunched": 0, "end": 6312519, "filename": "/resources/textures/skully_logo.png"}, {"audio": 0, "start": 6312519, "crunched": 0, "end": 6432857, "filename": "/resources/textures/title.png"}], "remote_package_size": 6432857, "package_uuid": "871fb0fb-eda1-4627-8d29-ea6c20c126ad"}); })(); @@ -264,41 +220,61 @@ for (var key in Module) { // The environment setup code below is customized to use Module. // *** Environment setup code *** -var ENVIRONMENT_IS_WEB = typeof window === 'object'; -var ENVIRONMENT_IS_NODE = typeof process === 'object' && typeof require === 'function' && !ENVIRONMENT_IS_WEB; +var ENVIRONMENT_IS_WEB = false; +var ENVIRONMENT_IS_WORKER = false; +var ENVIRONMENT_IS_NODE = false; +var ENVIRONMENT_IS_SHELL = false; + // Three configurations we can be running in: // 1) We could be the application main() thread running in the main JS UI thread. (ENVIRONMENT_IS_WORKER == false and ENVIRONMENT_IS_PTHREAD == false) // 2) We could be the application main() thread proxied to worker. (with Emscripten -s PROXY_TO_WORKER=1) (ENVIRONMENT_IS_WORKER == true, ENVIRONMENT_IS_PTHREAD == false) // 3) We could be an application pthread running in a worker. (ENVIRONMENT_IS_WORKER == true and ENVIRONMENT_IS_PTHREAD == true) -var ENVIRONMENT_IS_WORKER = typeof importScripts === 'function'; -var ENVIRONMENT_IS_SHELL = !ENVIRONMENT_IS_WEB && !ENVIRONMENT_IS_NODE && !ENVIRONMENT_IS_WORKER; + +if (Module['ENVIRONMENT']) { + if (Module['ENVIRONMENT'] === 'WEB') { + ENVIRONMENT_IS_WEB = true; + } else if (Module['ENVIRONMENT'] === 'WORKER') { + ENVIRONMENT_IS_WORKER = true; + } else if (Module['ENVIRONMENT'] === 'NODE') { + ENVIRONMENT_IS_NODE = true; + } else if (Module['ENVIRONMENT'] === 'SHELL') { + ENVIRONMENT_IS_SHELL = true; + } else { + throw new Error('The provided Module[\'ENVIRONMENT\'] value is not valid. It must be one of: WEB|WORKER|NODE|SHELL.'); + } +} else { + ENVIRONMENT_IS_WEB = typeof window === 'object'; + ENVIRONMENT_IS_WORKER = typeof importScripts === 'function'; + ENVIRONMENT_IS_NODE = typeof process === 'object' && typeof require === 'function' && !ENVIRONMENT_IS_WEB && !ENVIRONMENT_IS_WORKER; + ENVIRONMENT_IS_SHELL = !ENVIRONMENT_IS_WEB && !ENVIRONMENT_IS_NODE && !ENVIRONMENT_IS_WORKER; +} + if (ENVIRONMENT_IS_NODE) { // Expose functionality in the same simple way that the shells work // Note that we pollute the global namespace here, otherwise we break in node - if (!Module['print']) Module['print'] = function print(x) { - process['stdout'].write(x + '\n'); - }; - if (!Module['printErr']) Module['printErr'] = function printErr(x) { - process['stderr'].write(x + '\n'); - }; + if (!Module['print']) Module['print'] = console.log; + if (!Module['printErr']) Module['printErr'] = console.warn; - var nodeFS = require('fs'); - var nodePath = require('path'); + var nodeFS; + var nodePath; Module['read'] = function read(filename, binary) { + if (!nodeFS) nodeFS = require('fs'); + if (!nodePath) nodePath = require('path'); filename = nodePath['normalize'](filename); var ret = nodeFS['readFileSync'](filename); - // The path is absolute if the normalized version is the same as the resolved. - if (!ret && filename != nodePath['resolve'](filename)) { - filename = path.join(__dirname, '..', 'src', filename); - ret = nodeFS['readFileSync'](filename); - } - if (ret && !binary) ret = ret.toString(); - return ret; + return binary ? ret : ret.toString(); }; - Module['readBinary'] = function readBinary(filename) { return Module['read'](filename, true) }; + Module['readBinary'] = function readBinary(filename) { + var ret = Module['read'](filename, true); + if (!ret.buffer) { + ret = new Uint8Array(ret); + } + assert(ret.buffer); + return ret; + }; Module['load'] = function load(f) { globalEval(read(f)); @@ -334,7 +310,7 @@ else if (ENVIRONMENT_IS_SHELL) { if (typeof read != 'undefined') { Module['read'] = read; } else { - Module['read'] = function read() { throw 'no read() available (jsc?)' }; + Module['read'] = function read() { throw 'no read() available' }; } Module['readBinary'] = function readBinary(f) { @@ -352,6 +328,12 @@ else if (ENVIRONMENT_IS_SHELL) { Module['arguments'] = arguments; } + if (typeof quit === 'function') { + Module['quit'] = function(status, toThrow) { + quit(status); + } + } + } else if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) { Module['read'] = function read(url) { @@ -361,6 +343,31 @@ else if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) { return xhr.responseText; }; + if (ENVIRONMENT_IS_WORKER) { + Module['readBinary'] = function read(url) { + var xhr = new XMLHttpRequest(); + xhr.open('GET', url, false); + xhr.responseType = 'arraybuffer'; + xhr.send(null); + return xhr.response; + }; + } + + Module['readAsync'] = function readAsync(url, onload, onerror) { + var xhr = new XMLHttpRequest(); + xhr.open('GET', url, true); + xhr.responseType = 'arraybuffer'; + xhr.onload = function xhr_onload() { + if (xhr.status == 200 || (xhr.status == 0 && xhr.response)) { // file URLs can return 0 + onload(xhr.response); + } else { + onerror(); + } + }; + xhr.onerror = onerror; + xhr.send(null); + }; + if (typeof arguments != 'undefined') { Module['arguments'] = arguments; } @@ -370,7 +377,7 @@ else if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) { console.log(x); }; if (!Module['printErr']) Module['printErr'] = function printErr(x) { - console.log(x); + console.warn(x); }; } else { // Probably a worker, and without console.log. We can do very little here... @@ -415,6 +422,11 @@ if (!Module['arguments']) { if (!Module['thisProgram']) { Module['thisProgram'] = './this.program'; } +if (!Module['quit']) { + Module['quit'] = function(status, toThrow) { + throw toThrow; + } +} // *** Environment setup code *** @@ -432,14 +444,19 @@ for (var key in moduleOverrides) { Module[key] = moduleOverrides[key]; } } +// Free the object hierarchy contained in the overrides, this lets the GC +// reclaim data used e.g. in memoryInitializerRequest, which is a large typed array. +moduleOverrides = undefined; +// {{PREAMBLE_ADDITIONS}} + // === Preamble library stuff === -// Documentation for the public APIs defined in this file must be updated in: +// Documentation for the public APIs defined in this file must be updated in: // site/source/docs/api_reference/preamble.js.rst -// A prebuilt local version of the documentation is available at: +// A prebuilt local version of the documentation is available at: // site/build/text/docs/api_reference/preamble.js.txt // You can also build docs locally as HTML or other formats in site/ // An online HTML version (which may be of a different version of Emscripten) @@ -452,6 +469,7 @@ for (var key in moduleOverrides) { var Runtime = { setTempRet0: function (value) { tempRet0 = value; + return value; }, getTempRet0: function () { return tempRet0; @@ -507,10 +525,12 @@ var Runtime = { }, dynCall: function (sig, ptr, args) { if (args && args.length) { - if (!args.splice) args = Array.prototype.slice.call(args); - args.splice(0, 0, ptr); - return Module['dynCall_' + sig].apply(null, args); + assert(args.length == sig.length-1); + assert(('dynCall_' + sig) in Module, 'bad function pointer type - no table for sig \'' + sig + '\''); + return Module['dynCall_' + sig].apply(null, [ptr].concat(args)); } else { + assert(sig.length == 1); + assert(('dynCall_' + sig) in Module, 'bad function pointer type - no table for sig \'' + sig + '\''); return Module['dynCall_' + sig].call(null, ptr); } }, @@ -542,18 +562,30 @@ var Runtime = { } var sigCache = Runtime.funcWrappers[sig]; if (!sigCache[func]) { - sigCache[func] = function dynCall_wrapper() { - return Runtime.dynCall(sig, func, arguments); - }; + // optimize away arguments usage in common cases + if (sig.length === 1) { + sigCache[func] = function dynCall_wrapper() { + return Runtime.dynCall(sig, func); + }; + } else if (sig.length === 2) { + sigCache[func] = function dynCall_wrapper(arg) { + return Runtime.dynCall(sig, func, [arg]); + }; + } else { + // general case + sigCache[func] = function dynCall_wrapper() { + return Runtime.dynCall(sig, func, Array.prototype.slice.call(arguments)); + }; + } } return sigCache[func]; }, getCompilerSetting: function (name) { throw 'You must build with -s RETAIN_COMPILER_SETTINGS=1 for Runtime.getCompilerSetting or emscripten_get_compiler_setting to work'; }, - stackAlloc: function (size) { var ret = STACKTOP;STACKTOP = (STACKTOP + size)|0;STACKTOP = (((STACKTOP)+15)&-16); return ret; }, - staticAlloc: function (size) { var ret = STATICTOP;STATICTOP = (STATICTOP + size)|0;STATICTOP = (((STATICTOP)+15)&-16); return ret; }, - dynamicAlloc: function (size) { var ret = DYNAMICTOP;DYNAMICTOP = (DYNAMICTOP + size)|0;DYNAMICTOP = (((DYNAMICTOP)+15)&-16); if (DYNAMICTOP >= TOTAL_MEMORY) { var success = enlargeMemory(); if (!success) { DYNAMICTOP = ret; return 0; } }; return ret; }, + stackAlloc: function (size) { var ret = STACKTOP;STACKTOP = (STACKTOP + size)|0;STACKTOP = (((STACKTOP)+15)&-16);(assert((((STACKTOP|0) < (STACK_MAX|0))|0))|0); return ret; }, + staticAlloc: function (size) { var ret = STATICTOP;STATICTOP = (STATICTOP + (assert(!staticSealed),size))|0;STATICTOP = (((STATICTOP)+15)&-16); return ret; }, + dynamicAlloc: function (size) { assert(DYNAMICTOP_PTR);var ret = HEAP32[DYNAMICTOP_PTR>>2];var end = (((ret + size + 15)|0) & -16);HEAP32[DYNAMICTOP_PTR>>2] = end;if (end >= TOTAL_MEMORY) {var success = enlargeMemory();if (!success) {HEAP32[DYNAMICTOP_PTR>>2] = ret;return 0;}}return ret;}, alignMemory: function (size,quantum) { var ret = size = Math.ceil((size)/(quantum ? quantum : 16))*(quantum ? quantum : 16); return ret; }, makeBigInt: function (low,high,unsigned) { var ret = (unsigned ? ((+((low>>>0)))+((+((high>>>0)))*4294967296.0)) : ((+((low>>>0)))+((+((high|0)))*4294967296.0))); return ret; }, GLOBAL_BASE: 8, @@ -562,7 +594,8 @@ var Runtime = { } -Module['Runtime'] = Runtime; + +Module["Runtime"] = Runtime; @@ -570,18 +603,9 @@ Module['Runtime'] = Runtime; // Runtime essentials //======================================== -var __THREW__ = 0; // Used in checking for thrown exceptions. - -var ABORT = false; // whether we are quitting the application. no code should run after this. set in exit() and abort() +var ABORT = 0; // whether we are quitting the application. no code should run after this. set in exit() and abort() var EXITSTATUS = 0; -var undef = 0; -// tempInt is used for 32-bit signed values or smaller. tempBigInt is used -// for 32-bit unsigned values or more than 32 bits. TODO: audit all uses of tempInt -var tempValue, tempInt, tempBigInt, tempInt2, tempBigInt2, tempPair, tempBigIntI, tempBigIntR, tempBigIntS, tempBigIntP, tempBigIntD, tempDouble, tempFloat; -var tempI64, tempI64b; -var tempRet0, tempRet1, tempRet2, tempRet3, tempRet4, tempRet5, tempRet6, tempRet7, tempRet8, tempRet9; - function assert(condition, text) { if (!condition) { abort('Assertion failed: ' + text); @@ -594,9 +618,7 @@ var globalScope = this; function getCFunc(ident) { var func = Module['_' + ident]; // closure exported function if (!func) { - try { - func = eval('_' + ident); // explicit lookup - } catch(e) {} + try { func = eval('_' + ident); } catch(e) {} } assert(func, 'Cannot call unknown function ' + ident + ' (perhaps LLVM optimizations or closure removed it?)'); return func; @@ -624,8 +646,9 @@ var cwrap, ccall; var ret = 0; if (str !== null && str !== undefined && str !== 0) { // null string // at most 4 bytes per UTF-8 code point, +1 for the trailing '\0' - ret = Runtime.stackAlloc((str.length << 2) + 1); - writeStringToMemory(str, ret); + var len = (str.length << 2) + 1; + ret = Runtime.stackAlloc(len); + stringToUTF8(str, ret, len); } return ret; } @@ -633,11 +656,12 @@ var cwrap, ccall; // For fast lookup of conversion functions var toC = {'string' : JSfuncs['stringToC'], 'array' : JSfuncs['arrayToC']}; - // C calling interface. + // C calling interface. ccall = function ccallFunc(ident, returnType, argTypes, args, opts) { var func = getCFunc(ident); var cArgs = []; var stack = 0; + assert(returnType !== 'array', 'Return type should not be "array".'); if (args) { for (var i = 0; i < args.length; i++) { var converter = toC[argTypes[i]]; @@ -650,6 +674,10 @@ var cwrap, ccall; } } var ret = func.apply(null, cArgs); + if ((!opts || !opts.async) && typeof EmterpreterAsync === 'object') { + assert(!EmterpreterAsync.state, 'cannot start async op with normal JS calling ccall'); + } + if (opts && opts.async) assert(!returnType, 'async ccalls cannot return values'); if (returnType === 'string') ret = Pointer_stringify(ret); if (stack !== 0) { if (opts && opts.async) { @@ -663,22 +691,28 @@ var cwrap, ccall; return ret; } - var sourceRegex = /^function\s*\(([^)]*)\)\s*{\s*([^*]*?)[\s;]*(?:return\s*(.*?)[;\s]*)?}$/; + var sourceRegex = /^function\s*[a-zA-Z$_0-9]*\s*\(([^)]*)\)\s*{\s*([^*]*?)[\s;]*(?:return\s*(.*?)[;\s]*)?}$/; function parseJSFunc(jsfunc) { // Match the body and the return value of a javascript function source var parsed = jsfunc.toString().match(sourceRegex).slice(1); return {arguments : parsed[0], body : parsed[1], returnValue: parsed[2]} } - var JSsource = {}; - for (var fun in JSfuncs) { - if (JSfuncs.hasOwnProperty(fun)) { - // Elements of toCsource are arrays of three items: - // the code, and the return value - JSsource[fun] = parseJSFunc(JSfuncs[fun]); + + // sources of useful functions. we create this lazily as it can trigger a source decompression on this entire file + var JSsource = null; + function ensureJSsource() { + if (!JSsource) { + JSsource = {}; + for (var fun in JSfuncs) { + if (JSfuncs.hasOwnProperty(fun)) { + // Elements of toCsource are arrays of three items: + // the code, and the return value + JSsource[fun] = parseJSFunc(JSfuncs[fun]); + } + } } } - cwrap = function cwrap(ident, returnType, argTypes) { argTypes = argTypes || []; var cfunc = getCFunc(ident); @@ -696,6 +730,7 @@ var cwrap, ccall; if (!numericArgs) { // Generate the code needed to convert the arguments from javascript // values to pointers + ensureJSsource(); funcstr += 'var stack = ' + JSsource['stackSave'].body + ';'; for (var i = 0; i < nargs; i++) { var arg = argNames[i], type = argTypes[i]; @@ -703,7 +738,7 @@ var cwrap, ccall; var convertCode = JSsource[type + 'ToC']; // [code, return] funcstr += 'var ' + convertCode.arguments + ' = ' + arg + ';'; funcstr += convertCode.body + ';'; - funcstr += arg + '=' + convertCode.returnValue + ';'; + funcstr += arg + '=(' + convertCode.returnValue + ');'; } } @@ -716,17 +751,18 @@ var cwrap, ccall; var strgfy = parseJSFunc(function(){return Pointer_stringify}).returnValue; funcstr += 'ret = ' + strgfy + '(ret);'; } + funcstr += "if (typeof EmterpreterAsync === 'object') { assert(!EmterpreterAsync.state, 'cannot start async op with normal JS calling cwrap') }"; if (!numericArgs) { // If we had a stack, restore it + ensureJSsource(); funcstr += JSsource['stackRestore'].body.replace('()', '(stack)') + ';'; } funcstr += 'return ret})'; return eval(funcstr); }; })(); -Module["cwrap"] = cwrap; Module["ccall"] = ccall; - +Module["cwrap"] = cwrap; function setValue(ptr, value, type, noSafe) { type = type || 'i8'; @@ -742,7 +778,7 @@ function setValue(ptr, value, type, noSafe) { default: abort('invalid type for setValue: ' + type); } } -Module['setValue'] = setValue; +Module["setValue"] = setValue; function getValue(ptr, type, noSafe) { @@ -760,18 +796,18 @@ function getValue(ptr, type, noSafe) { } return null; } -Module['getValue'] = getValue; +Module["getValue"] = getValue; var ALLOC_NORMAL = 0; // Tries to use _malloc() var ALLOC_STACK = 1; // Lives for the duration of the current function call var ALLOC_STATIC = 2; // Cannot be freed var ALLOC_DYNAMIC = 3; // Cannot be freed except through sbrk var ALLOC_NONE = 4; // Do not allocate -Module['ALLOC_NORMAL'] = ALLOC_NORMAL; -Module['ALLOC_STACK'] = ALLOC_STACK; -Module['ALLOC_STATIC'] = ALLOC_STATIC; -Module['ALLOC_DYNAMIC'] = ALLOC_DYNAMIC; -Module['ALLOC_NONE'] = ALLOC_NONE; +Module["ALLOC_NORMAL"] = ALLOC_NORMAL; +Module["ALLOC_STACK"] = ALLOC_STACK; +Module["ALLOC_STATIC"] = ALLOC_STATIC; +Module["ALLOC_DYNAMIC"] = ALLOC_DYNAMIC; +Module["ALLOC_NONE"] = ALLOC_NONE; // allocate(): This is for internal use. You can use it yourself as well, but the interface // is a little tricky (see docs right below). The reason is that it is optimized @@ -802,7 +838,7 @@ function allocate(slab, types, allocator, ptr) { if (allocator == ALLOC_NONE) { ret = ptr; } else { - ret = [_malloc, Runtime.stackAlloc, Runtime.staticAlloc, Runtime.dynamicAlloc][allocator === undefined ? ALLOC_STATIC : allocator](Math.max(size, singleType ? 1 : types.length)); + ret = [typeof _malloc === 'function' ? _malloc : Runtime.staticAlloc, Runtime.stackAlloc, Runtime.staticAlloc, Runtime.dynamicAlloc][allocator === undefined ? ALLOC_STATIC : allocator](Math.max(size, singleType ? 1 : types.length)); } if (zeroinit) { @@ -841,6 +877,7 @@ function allocate(slab, types, allocator, ptr) { i++; continue; } + assert(type, 'Must know what type to store in allocate!'); if (type == 'i64') type = 'i32'; // special case: we have one i32 here, and one i32 later @@ -856,15 +893,15 @@ function allocate(slab, types, allocator, ptr) { return ret; } -Module['allocate'] = allocate; +Module["allocate"] = allocate; // Allocate memory during any stage of startup - static memory early on, dynamic memory later, malloc when ready function getMemory(size) { if (!staticSealed) return Runtime.staticAlloc(size); - if ((typeof _sbrk !== 'undefined' && !_sbrk.called) || !runtimeInitialized) return Runtime.dynamicAlloc(size); + if (!runtimeInitialized) return Runtime.dynamicAlloc(size); return _malloc(size); } -Module['getMemory'] = getMemory; +Module["getMemory"] = getMemory; function Pointer_stringify(ptr, /* optional */ length) { if (length === 0 || !ptr) return ''; @@ -874,6 +911,7 @@ function Pointer_stringify(ptr, /* optional */ length) { var t; var i = 0; while (1) { + assert(ptr + i < TOTAL_MEMORY); t = HEAPU8[(((ptr)+(i))>>0)]; hasUtf |= t; if (t == 0 && !length) break; @@ -897,7 +935,7 @@ function Pointer_stringify(ptr, /* optional */ length) { } return Module['UTF8ToString'](ptr); } -Module['Pointer_stringify'] = Pointer_stringify; +Module["Pointer_stringify"] = Pointer_stringify; // Given a pointer 'ptr' to a null-terminated ASCII-encoded string in the emscripten HEAP, returns // a copy of that string as a Javascript String object. @@ -910,7 +948,7 @@ function AsciiToString(ptr) { str += String.fromCharCode(ch); } } -Module['AsciiToString'] = AsciiToString; +Module["AsciiToString"] = AsciiToString; // Copies the given Javascript String object 'str' to the emscripten HEAP at address 'outPtr', // null-terminated and encoded in ASCII form. The copy will require at most str.length+1 bytes of space in the HEAP. @@ -918,65 +956,75 @@ Module['AsciiToString'] = AsciiToString; function stringToAscii(str, outPtr) { return writeAsciiToMemory(str, outPtr, false); } -Module['stringToAscii'] = stringToAscii; +Module["stringToAscii"] = stringToAscii; // Given a pointer 'ptr' to a null-terminated UTF8-encoded string in the given array that contains uint8 values, returns // a copy of that string as a Javascript String object. +var UTF8Decoder = typeof TextDecoder !== 'undefined' ? new TextDecoder('utf8') : undefined; function UTF8ArrayToString(u8Array, idx) { - var u0, u1, u2, u3, u4, u5; + var endPtr = idx; + // TextDecoder needs to know the byte length in advance, it doesn't stop on null terminator by itself. + // Also, use the length info to avoid running tiny strings through TextDecoder, since .subarray() allocates garbage. + while (u8Array[endPtr]) ++endPtr; - var str = ''; - while (1) { - // For UTF8 byte structure, see http://en.wikipedia.org/wiki/UTF-8#Description and https://www.ietf.org/rfc/rfc2279.txt and https://tools.ietf.org/html/rfc3629 - u0 = u8Array[idx++]; - if (!u0) return str; - if (!(u0 & 0x80)) { str += String.fromCharCode(u0); continue; } - u1 = u8Array[idx++] & 63; - if ((u0 & 0xE0) == 0xC0) { str += String.fromCharCode(((u0 & 31) << 6) | u1); continue; } - u2 = u8Array[idx++] & 63; - if ((u0 & 0xF0) == 0xE0) { - u0 = ((u0 & 15) << 12) | (u1 << 6) | u2; - } else { - u3 = u8Array[idx++] & 63; - if ((u0 & 0xF8) == 0xF0) { - u0 = ((u0 & 7) << 18) | (u1 << 12) | (u2 << 6) | u3; + if (endPtr - idx > 16 && u8Array.subarray && UTF8Decoder) { + return UTF8Decoder.decode(u8Array.subarray(idx, endPtr)); + } else { + var u0, u1, u2, u3, u4, u5; + + var str = ''; + while (1) { + // For UTF8 byte structure, see http://en.wikipedia.org/wiki/UTF-8#Description and https://www.ietf.org/rfc/rfc2279.txt and https://tools.ietf.org/html/rfc3629 + u0 = u8Array[idx++]; + if (!u0) return str; + if (!(u0 & 0x80)) { str += String.fromCharCode(u0); continue; } + u1 = u8Array[idx++] & 63; + if ((u0 & 0xE0) == 0xC0) { str += String.fromCharCode(((u0 & 31) << 6) | u1); continue; } + u2 = u8Array[idx++] & 63; + if ((u0 & 0xF0) == 0xE0) { + u0 = ((u0 & 15) << 12) | (u1 << 6) | u2; } else { - u4 = u8Array[idx++] & 63; - if ((u0 & 0xFC) == 0xF8) { - u0 = ((u0 & 3) << 24) | (u1 << 18) | (u2 << 12) | (u3 << 6) | u4; + u3 = u8Array[idx++] & 63; + if ((u0 & 0xF8) == 0xF0) { + u0 = ((u0 & 7) << 18) | (u1 << 12) | (u2 << 6) | u3; } else { - u5 = u8Array[idx++] & 63; - u0 = ((u0 & 1) << 30) | (u1 << 24) | (u2 << 18) | (u3 << 12) | (u4 << 6) | u5; + u4 = u8Array[idx++] & 63; + if ((u0 & 0xFC) == 0xF8) { + u0 = ((u0 & 3) << 24) | (u1 << 18) | (u2 << 12) | (u3 << 6) | u4; + } else { + u5 = u8Array[idx++] & 63; + u0 = ((u0 & 1) << 30) | (u1 << 24) | (u2 << 18) | (u3 << 12) | (u4 << 6) | u5; + } } } - } - if (u0 < 0x10000) { - str += String.fromCharCode(u0); - } else { - var ch = u0 - 0x10000; - str += String.fromCharCode(0xD800 | (ch >> 10), 0xDC00 | (ch & 0x3FF)); + if (u0 < 0x10000) { + str += String.fromCharCode(u0); + } else { + var ch = u0 - 0x10000; + str += String.fromCharCode(0xD800 | (ch >> 10), 0xDC00 | (ch & 0x3FF)); + } } } } -Module['UTF8ArrayToString'] = UTF8ArrayToString; +Module["UTF8ArrayToString"] = UTF8ArrayToString; // Given a pointer 'ptr' to a null-terminated UTF8-encoded string in the emscripten HEAP, returns // a copy of that string as a Javascript String object. function UTF8ToString(ptr) { - return UTF8ArrayToString(HEAPU8, ptr); + return UTF8ArrayToString(HEAPU8,ptr); } -Module['UTF8ToString'] = UTF8ToString; +Module["UTF8ToString"] = UTF8ToString; // Copies the given Javascript String object 'str' to the given byte array at address 'outIdx', // encoded in UTF8 form and null-terminated. The copy will require at most str.length*4+1 bytes of space in the HEAP. -// Use the function lengthBytesUTF8() to compute the exact number of bytes (excluding null terminator) that this function will write. +// Use the function lengthBytesUTF8 to compute the exact number of bytes (excluding null terminator) that this function will write. // Parameters: // str: the Javascript string to copy. // outU8Array: the array to copy to. Each index in this array is assumed to be one 8-byte element. // outIdx: The starting offset in the array to begin the copying. -// maxBytesToWrite: The maximum number of bytes this function can write to the array. This count should include the null +// maxBytesToWrite: The maximum number of bytes this function can write to the array. This count should include the null // terminator, i.e. if maxBytesToWrite=1, only the null terminator will be written and nothing else. // maxBytesToWrite=0 does not write any bytes to the output, not even the null terminator. // Returns the number of bytes written, EXCLUDING the null terminator. @@ -1032,17 +1080,18 @@ function stringToUTF8Array(str, outU8Array, outIdx, maxBytesToWrite) { outU8Array[outIdx] = 0; return outIdx - startIdx; } -Module['stringToUTF8Array'] = stringToUTF8Array; +Module["stringToUTF8Array"] = stringToUTF8Array; // Copies the given Javascript String object 'str' to the emscripten HEAP at address 'outPtr', // null-terminated and encoded in UTF8 form. The copy will require at most str.length*4+1 bytes of space in the HEAP. -// Use the function lengthBytesUTF8() to compute the exact number of bytes (excluding null terminator) that this function will write. +// Use the function lengthBytesUTF8 to compute the exact number of bytes (excluding null terminator) that this function will write. // Returns the number of bytes written, EXCLUDING the null terminator. function stringToUTF8(str, outPtr, maxBytesToWrite) { - return stringToUTF8Array(str, HEAPU8, outPtr, maxBytesToWrite); + assert(typeof maxBytesToWrite == 'number', 'stringToUTF8(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!'); + return stringToUTF8Array(str, HEAPU8,outPtr, maxBytesToWrite); } -Module['stringToUTF8'] = stringToUTF8; +Module["stringToUTF8"] = stringToUTF8; // Returns the number of bytes the given Javascript string takes if encoded as a UTF8 byte array, EXCLUDING the null terminator byte. @@ -1069,25 +1118,37 @@ function lengthBytesUTF8(str) { } return len; } -Module['lengthBytesUTF8'] = lengthBytesUTF8; +Module["lengthBytesUTF8"] = lengthBytesUTF8; // Given a pointer 'ptr' to a null-terminated UTF16LE-encoded string in the emscripten HEAP, returns // a copy of that string as a Javascript String object. +var UTF16Decoder = typeof TextDecoder !== 'undefined' ? new TextDecoder('utf-16le') : undefined; function UTF16ToString(ptr) { - var i = 0; + assert(ptr % 2 == 0, 'Pointer passed to UTF16ToString must be aligned to two bytes!'); + var endPtr = ptr; + // TextDecoder needs to know the byte length in advance, it doesn't stop on null terminator by itself. + // Also, use the length info to avoid running tiny strings through TextDecoder, since .subarray() allocates garbage. + var idx = endPtr >> 1; + while (HEAP16[idx]) ++idx; + endPtr = idx << 1; - var str = ''; - while (1) { - var codeUnit = HEAP16[(((ptr)+(i*2))>>1)]; - if (codeUnit == 0) - return str; - ++i; - // fromCharCode constructs a character from a UTF-16 code unit, so we can pass the UTF16 string right through. - str += String.fromCharCode(codeUnit); + if (endPtr - ptr > 32 && UTF16Decoder) { + return UTF16Decoder.decode(HEAPU8.subarray(ptr, endPtr)); + } else { + var i = 0; + + var str = ''; + while (1) { + var codeUnit = HEAP16[(((ptr)+(i*2))>>1)]; + if (codeUnit == 0) return str; + ++i; + // fromCharCode constructs a character from a UTF-16 code unit, so we can pass the UTF16 string right through. + str += String.fromCharCode(codeUnit); + } } } -Module['UTF16ToString'] = UTF16ToString; + // Copies the given Javascript String object 'str' to the emscripten HEAP at address 'outPtr', // null-terminated and encoded in UTF16 form. The copy will require at most str.length*4+2 bytes of space in the HEAP. @@ -1095,12 +1156,14 @@ Module['UTF16ToString'] = UTF16ToString; // Parameters: // str: the Javascript string to copy. // outPtr: Byte address in Emscripten HEAP where to write the string to. -// maxBytesToWrite: The maximum number of bytes this function can write to the array. This count should include the null +// maxBytesToWrite: The maximum number of bytes this function can write to the array. This count should include the null // terminator, i.e. if maxBytesToWrite=2, only the null terminator will be written and nothing else. // maxBytesToWrite<2 does not write any bytes to the output, not even the null terminator. // Returns the number of bytes written, EXCLUDING the null terminator. function stringToUTF16(str, outPtr, maxBytesToWrite) { + assert(outPtr % 2 == 0, 'Pointer passed to stringToUTF16 must be aligned to two bytes!'); + assert(typeof maxBytesToWrite == 'number', 'stringToUTF16(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!'); // Backwards compatibility: if max bytes is not specified, assume unsafe unbounded write is allowed. if (maxBytesToWrite === undefined) { maxBytesToWrite = 0x7FFFFFFF; @@ -1119,16 +1182,17 @@ function stringToUTF16(str, outPtr, maxBytesToWrite) { HEAP16[((outPtr)>>1)]=0; return outPtr - startPtr; } -Module['stringToUTF16'] = stringToUTF16; + // Returns the number of bytes the given Javascript string takes if encoded as a UTF16 byte array, EXCLUDING the null terminator byte. function lengthBytesUTF16(str) { return str.length*2; } -Module['lengthBytesUTF16'] = lengthBytesUTF16; + function UTF32ToString(ptr) { + assert(ptr % 4 == 0, 'Pointer passed to UTF32ToString must be aligned to four bytes!'); var i = 0; var str = ''; @@ -1147,7 +1211,7 @@ function UTF32ToString(ptr) { } } } -Module['UTF32ToString'] = UTF32ToString; + // Copies the given Javascript String object 'str' to the emscripten HEAP at address 'outPtr', // null-terminated and encoded in UTF32 form. The copy will require at most str.length*4+4 bytes of space in the HEAP. @@ -1155,12 +1219,14 @@ Module['UTF32ToString'] = UTF32ToString; // Parameters: // str: the Javascript string to copy. // outPtr: Byte address in Emscripten HEAP where to write the string to. -// maxBytesToWrite: The maximum number of bytes this function can write to the array. This count should include the null +// maxBytesToWrite: The maximum number of bytes this function can write to the array. This count should include the null // terminator, i.e. if maxBytesToWrite=4, only the null terminator will be written and nothing else. // maxBytesToWrite<4 does not write any bytes to the output, not even the null terminator. // Returns the number of bytes written, EXCLUDING the null terminator. function stringToUTF32(str, outPtr, maxBytesToWrite) { + assert(outPtr % 4 == 0, 'Pointer passed to stringToUTF32 must be aligned to four bytes!'); + assert(typeof maxBytesToWrite == 'number', 'stringToUTF32(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!'); // Backwards compatibility: if max bytes is not specified, assume unsafe unbounded write is allowed. if (maxBytesToWrite === undefined) { maxBytesToWrite = 0x7FFFFFFF; @@ -1184,7 +1250,7 @@ function stringToUTF32(str, outPtr, maxBytesToWrite) { HEAP32[((outPtr)>>2)]=0; return outPtr - startPtr; } -Module['stringToUTF32'] = stringToUTF32; + // Returns the number of bytes the given Javascript string takes if encoded as a UTF16 byte array, EXCLUDING the null terminator byte. @@ -1200,185 +1266,45 @@ function lengthBytesUTF32(str) { return len; } -Module['lengthBytesUTF32'] = lengthBytesUTF32; + function demangle(func) { - var hasLibcxxabi = !!Module['___cxa_demangle']; - if (hasLibcxxabi) { + var __cxa_demangle_func = Module['___cxa_demangle'] || Module['__cxa_demangle']; + if (__cxa_demangle_func) { try { - var buf = _malloc(func.length); - writeStringToMemory(func.substr(1), buf); + var s = + func.substr(1); + var len = lengthBytesUTF8(s)+1; + var buf = _malloc(len); + stringToUTF8(s, buf, len); var status = _malloc(4); - var ret = Module['___cxa_demangle'](buf, 0, 0, status); + var ret = __cxa_demangle_func(buf, 0, 0, status); if (getValue(status, 'i32') === 0 && ret) { return Pointer_stringify(ret); } - // otherwise, libcxxabi failed, we can try ours which may return a partial result + // otherwise, libcxxabi failed } catch(e) { - // failure when using libcxxabi, we can try ours which may return a partial result + // ignore problems here } finally { if (buf) _free(buf); if (status) _free(status); if (ret) _free(ret); } + // failure when using libcxxabi, don't demangle + return func; } - var i = 3; - // params, etc. - var basicTypes = { - 'v': 'void', - 'b': 'bool', - 'c': 'char', - 's': 'short', - 'i': 'int', - 'l': 'long', - 'f': 'float', - 'd': 'double', - 'w': 'wchar_t', - 'a': 'signed char', - 'h': 'unsigned char', - 't': 'unsigned short', - 'j': 'unsigned int', - 'm': 'unsigned long', - 'x': 'long long', - 'y': 'unsigned long long', - 'z': '...' - }; - var subs = []; - var first = true; - function dump(x) { - //return; - if (x) Module.print(x); - Module.print(func); - var pre = ''; - for (var a = 0; a < i; a++) pre += ' '; - Module.print (pre + '^'); - } - function parseNested() { - i++; - if (func[i] === 'K') i++; // ignore const - var parts = []; - while (func[i] !== 'E') { - if (func[i] === 'S') { // substitution - i++; - var next = func.indexOf('_', i); - var num = func.substring(i, next) || 0; - parts.push(subs[num] || '?'); - i = next+1; - continue; - } - if (func[i] === 'C') { // constructor - parts.push(parts[parts.length-1]); - i += 2; - continue; - } - var size = parseInt(func.substr(i)); - var pre = size.toString().length; - if (!size || !pre) { i--; break; } // counter i++ below us - var curr = func.substr(i + pre, size); - parts.push(curr); - subs.push(curr); - i += pre + size; - } - i++; // skip E - return parts; - } - function parse(rawList, limit, allowVoid) { // main parser - limit = limit || Infinity; - var ret = '', list = []; - function flushList() { - return '(' + list.join(', ') + ')'; - } - var name; - if (func[i] === 'N') { - // namespaced N-E - name = parseNested().join('::'); - limit--; - if (limit === 0) return rawList ? [name] : name; - } else { - // not namespaced - if (func[i] === 'K' || (first && func[i] === 'L')) i++; // ignore const and first 'L' - var size = parseInt(func.substr(i)); - if (size) { - var pre = size.toString().length; - name = func.substr(i + pre, size); - i += pre + size; - } - } - first = false; - if (func[i] === 'I') { - i++; - var iList = parse(true); - var iRet = parse(true, 1, true); - ret += iRet[0] + ' ' + name + '<' + iList.join(', ') + '>'; - } else { - ret = name; - } - paramLoop: while (i < func.length && limit-- > 0) { - //dump('paramLoop'); - var c = func[i++]; - if (c in basicTypes) { - list.push(basicTypes[c]); - } else { - switch (c) { - case 'P': list.push(parse(true, 1, true)[0] + '*'); break; // pointer - case 'R': list.push(parse(true, 1, true)[0] + '&'); break; // reference - case 'L': { // literal - i++; // skip basic type - var end = func.indexOf('E', i); - var size = end - i; - list.push(func.substr(i, size)); - i += size + 2; // size + 'EE' - break; - } - case 'A': { // array - var size = parseInt(func.substr(i)); - i += size.toString().length; - if (func[i] !== '_') throw '?'; - i++; // skip _ - list.push(parse(true, 1, true)[0] + ' [' + size + ']'); - break; - } - case 'E': break paramLoop; - default: ret += '?' + c; break paramLoop; - } - } - } - if (!allowVoid && list.length === 1 && list[0] === 'void') list = []; // avoid (void) - if (rawList) { - if (ret) { - list.push(ret + '?'); - } - return list; - } else { - return ret + flushList(); - } - } - var parsed = func; - try { - // Special-case the entry point, since its name differs from other name mangling. - if (func == 'Object._main' || func == '_main') { - return 'main()'; - } - if (typeof func === 'number') func = Pointer_stringify(func); - if (func[0] !== '_') return func; - if (func[1] !== '_') return func; // C function - if (func[2] !== 'Z') return func; - switch (func[3]) { - case 'n': return 'operator new()'; - case 'd': return 'operator delete()'; - } - parsed = parse(); - } catch(e) { - parsed += '?'; - } - if (parsed.indexOf('?') >= 0 && !hasLibcxxabi) { - Runtime.warnOnce('warning: a problem occurred in builtin C++ name demangling; build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling'); - } - return parsed; + Runtime.warnOnce('warning: build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling'); + return func; } function demangleAll(text) { - return text.replace(/__Z[\w\d_]+/g, function(x) { var y = demangle(x); return x === y ? x : (x + ' [' + y + ']') }); + var regex = + /__Z[\w\d_]+/g; + return text.replace(regex, + function(x) { + var y = demangle(x); + return x === y ? x : (x + ' [' + y + ']'); + }); } function jsStackTrace() { @@ -1399,73 +1325,35 @@ function jsStackTrace() { } function stackTrace() { - return demangleAll(jsStackTrace()); + var js = jsStackTrace(); + if (Module['extraStackTrace']) js += '\n' + Module['extraStackTrace'](); + return demangleAll(js); } -Module['stackTrace'] = stackTrace; +Module["stackTrace"] = stackTrace; // Memory management -var PAGE_SIZE = 4096; +var PAGE_SIZE = 16384; +var WASM_PAGE_SIZE = 65536; +var ASMJS_PAGE_SIZE = 16777216; +var MIN_TOTAL_MEMORY = 16777216; -function alignMemoryPage(x) { - if (x % 4096 > 0) { - x += (4096 - (x % 4096)); +function alignUp(x, multiple) { + if (x % multiple > 0) { + x += multiple - (x % multiple); } return x; } var HEAP; +var buffer; var HEAP8, HEAPU8, HEAP16, HEAPU16, HEAP32, HEAPU32, HEAPF32, HEAPF64; -var STATIC_BASE = 0, STATICTOP = 0, staticSealed = false; // static area -var STACK_BASE = 0, STACKTOP = 0, STACK_MAX = 0; // stack area -var DYNAMIC_BASE = 0, DYNAMICTOP = 0; // dynamic area handled by sbrk +function updateGlobalBuffer(buf) { + Module['buffer'] = buffer = buf; +} - -function enlargeMemory() { - // TOTAL_MEMORY is the current size of the actual array, and DYNAMICTOP is the new top. - - var OLD_TOTAL_MEMORY = TOTAL_MEMORY; - - - var LIMIT = Math.pow(2, 31); // 2GB is a practical maximum, as we use signed ints as pointers - // and JS engines seem unhappy to give us 2GB arrays currently - if (DYNAMICTOP >= LIMIT) return false; - - while (TOTAL_MEMORY <= DYNAMICTOP) { // Simple heuristic. - if (TOTAL_MEMORY < LIMIT/2) { - TOTAL_MEMORY = alignMemoryPage(2*TOTAL_MEMORY); // double until 1GB - } else { - var last = TOTAL_MEMORY; - TOTAL_MEMORY = alignMemoryPage((3*TOTAL_MEMORY + LIMIT)/4); // add smaller increments towards 2GB, which we cannot reach - if (TOTAL_MEMORY <= last) return false; - } - } - - TOTAL_MEMORY = Math.max(TOTAL_MEMORY, 16*1024*1024); - - if (TOTAL_MEMORY >= LIMIT) return false; - - - - - try { - if (ArrayBuffer.transfer) { - buffer = ArrayBuffer.transfer(buffer, TOTAL_MEMORY); - } else { - var oldHEAP8 = HEAP8; - buffer = new ArrayBuffer(TOTAL_MEMORY); - } - } catch(e) { - return false; - } - - var success = _emscripten_replace_memory(buffer); - if (!success) return false; - - // everything worked - - Module['buffer'] = buffer; +function updateGlobalBufferViews() { Module['HEAP8'] = HEAP8 = new Int8Array(buffer); Module['HEAP16'] = HEAP16 = new Int16Array(buffer); Module['HEAP32'] = HEAP32 = new Int32Array(buffer); @@ -1474,58 +1362,78 @@ function enlargeMemory() { Module['HEAPU32'] = HEAPU32 = new Uint32Array(buffer); Module['HEAPF32'] = HEAPF32 = new Float32Array(buffer); Module['HEAPF64'] = HEAPF64 = new Float64Array(buffer); - if (!ArrayBuffer.transfer) { - HEAP8.set(oldHEAP8); +} + +var STATIC_BASE, STATICTOP, staticSealed; // static area +var STACK_BASE, STACKTOP, STACK_MAX; // stack area +var DYNAMIC_BASE, DYNAMICTOP_PTR; // dynamic area handled by sbrk + + STATIC_BASE = STATICTOP = STACK_BASE = STACKTOP = STACK_MAX = DYNAMIC_BASE = DYNAMICTOP_PTR = 0; + staticSealed = false; + + +// Initializes the stack cookie. Called at the startup of main and at the startup of each thread in pthreads mode. +function writeStackCookie() { + assert((STACK_MAX & 3) == 0); + HEAPU32[(STACK_MAX >> 2)-1] = 0x02135467; + HEAPU32[(STACK_MAX >> 2)-2] = 0x89BACDFE; +} + +function checkStackCookie() { + if (HEAPU32[(STACK_MAX >> 2)-1] != 0x02135467 || HEAPU32[(STACK_MAX >> 2)-2] != 0x89BACDFE) { + abort('Stack overflow! Stack cookie has been overwritten, expected hex dwords 0x89BACDFE and 0x02135467, but received 0x' + HEAPU32[(STACK_MAX >> 2)-2].toString(16) + ' ' + HEAPU32[(STACK_MAX >> 2)-1].toString(16)); } - - - return true; + // Also test the global address 0 for integrity. This check is not compatible with SAFE_SPLIT_MEMORY though, since that mode already tests all address 0 accesses on its own. + if (HEAP32[0] !== 0x63736d65 /* 'emsc' */) throw 'Runtime error: The application has corrupted its heap memory area (address zero)!'; } -var byteLength; -try { - byteLength = Function.prototype.call.bind(Object.getOwnPropertyDescriptor(ArrayBuffer.prototype, 'byteLength').get); - byteLength(new ArrayBuffer(4)); // can fail on older ie -} catch(e) { // can fail on older node/v8 - byteLength = function(buffer) { return buffer.byteLength; }; +function abortStackOverflow(allocSize) { + abort('Stack overflow! Attempted to allocate ' + allocSize + ' bytes on the stack, but stack has only ' + (STACK_MAX - asm.stackSave() + allocSize) + ' bytes available!'); } +function abortOnCannotGrowMemory() { + abort('Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value ' + TOTAL_MEMORY + ', (2) compile with -s ALLOW_MEMORY_GROWTH=1 which adjusts the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 '); +} + + +function enlargeMemory() { + abortOnCannotGrowMemory(); +} + + var TOTAL_STACK = Module['TOTAL_STACK'] || 5242880; -var TOTAL_MEMORY = Module['TOTAL_MEMORY'] || 16777216; - -var totalMemory = 64*1024; -while (totalMemory < TOTAL_MEMORY || totalMemory < 2*TOTAL_STACK) { - if (totalMemory < 16*1024*1024) { - totalMemory *= 2; - } else { - totalMemory += 16*1024*1024 - } -} -totalMemory = Math.max(totalMemory, 16*1024*1024); -if (totalMemory !== TOTAL_MEMORY) { - Module.printErr('increasing TOTAL_MEMORY to ' + totalMemory + ' to be compliant with the asm.js spec (and given that TOTAL_STACK=' + TOTAL_STACK + ')'); - TOTAL_MEMORY = totalMemory; -} +var TOTAL_MEMORY = Module['TOTAL_MEMORY'] || 67108864; +if (TOTAL_MEMORY < TOTAL_STACK) Module.printErr('TOTAL_MEMORY should be larger than TOTAL_STACK, was ' + TOTAL_MEMORY + '! (TOTAL_STACK=' + TOTAL_STACK + ')'); // Initialize the runtime's memory // check for full engine support (use string 'subarray' to avoid closure compiler confusion) assert(typeof Int32Array !== 'undefined' && typeof Float64Array !== 'undefined' && !!(new Int32Array(1)['subarray']) && !!(new Int32Array(1)['set']), 'JS engine does not provide full typed array support'); -var buffer; -buffer = new ArrayBuffer(TOTAL_MEMORY); -HEAP8 = new Int8Array(buffer); -HEAP16 = new Int16Array(buffer); -HEAP32 = new Int32Array(buffer); -HEAPU8 = new Uint8Array(buffer); -HEAPU16 = new Uint16Array(buffer); -HEAPU32 = new Uint32Array(buffer); -HEAPF32 = new Float32Array(buffer); -HEAPF64 = new Float64Array(buffer); + + +// Use a provided buffer, if there is one, or else allocate a new one +if (Module['buffer']) { + buffer = Module['buffer']; + assert(buffer.byteLength === TOTAL_MEMORY, 'provided buffer should be ' + TOTAL_MEMORY + ' bytes, but it is ' + buffer.byteLength); +} else { + // Use a WebAssembly memory where available + { + buffer = new ArrayBuffer(TOTAL_MEMORY); + } + assert(buffer.byteLength === TOTAL_MEMORY); +} +updateGlobalBufferViews(); + + +function getTotalMemory() { + return TOTAL_MEMORY; +} // Endianness check (note: assumes compiler arch was little-endian) -HEAP32[0] = 255; -assert(HEAPU8[0] === 255 && HEAPU8[3] === 0, 'Typed arrays 2 must be run on a little-endian system'); + HEAP32[0] = 0x63736d65; /* 'emsc' */ +HEAP16[1] = 0x6373; +if (HEAPU8[2] !== 0x73 || HEAPU8[3] !== 0x63) throw 'Runtime error: expected the system to be little-endian!'; Module['HEAP'] = HEAP; Module['buffer'] = buffer; @@ -1548,9 +1456,9 @@ function callRuntimeCallbacks(callbacks) { var func = callback.func; if (typeof func === 'number') { if (callback.arg === undefined) { - Runtime.dynCall('v', func); + Module['dynCall_v'](func); } else { - Runtime.dynCall('vi', func, [callback.arg]); + Module['dynCall_vi'](func, callback.arg); } } else { func(callback.arg === undefined ? null : callback.arg); @@ -1580,21 +1488,25 @@ function preRun() { } function ensureInitRuntime() { + checkStackCookie(); if (runtimeInitialized) return; runtimeInitialized = true; callRuntimeCallbacks(__ATINIT__); } function preMain() { + checkStackCookie(); callRuntimeCallbacks(__ATMAIN__); } function exitRuntime() { + checkStackCookie(); callRuntimeCallbacks(__ATEXIT__); runtimeExited = true; } function postRun() { + checkStackCookie(); // compatibility - merge in anything from Module['postRun'] at this time if (Module['postRun']) { if (typeof Module['postRun'] == 'function') Module['postRun'] = [Module['postRun']]; @@ -1608,27 +1520,27 @@ function postRun() { function addOnPreRun(cb) { __ATPRERUN__.unshift(cb); } -Module['addOnPreRun'] = Module.addOnPreRun = addOnPreRun; +Module["addOnPreRun"] = addOnPreRun; function addOnInit(cb) { __ATINIT__.unshift(cb); } -Module['addOnInit'] = Module.addOnInit = addOnInit; +Module["addOnInit"] = addOnInit; function addOnPreMain(cb) { __ATMAIN__.unshift(cb); } -Module['addOnPreMain'] = Module.addOnPreMain = addOnPreMain; +Module["addOnPreMain"] = addOnPreMain; function addOnExit(cb) { __ATEXIT__.unshift(cb); } -Module['addOnExit'] = Module.addOnExit = addOnExit; +Module["addOnExit"] = addOnExit; function addOnPostRun(cb) { __ATPOSTRUN__.unshift(cb); } -Module['addOnPostRun'] = Module.addOnPostRun = addOnPostRun; +Module["addOnPostRun"] = addOnPostRun; // Tools @@ -1640,47 +1552,57 @@ function intArrayFromString(stringy, dontAddNull, length /* optional */) { if (dontAddNull) u8array.length = numBytesWritten; return u8array; } -Module['intArrayFromString'] = intArrayFromString; +Module["intArrayFromString"] = intArrayFromString; function intArrayToString(array) { var ret = []; for (var i = 0; i < array.length; i++) { var chr = array[i]; if (chr > 0xFF) { + assert(false, 'Character code ' + chr + ' (' + String.fromCharCode(chr) + ') at offset ' + i + ' not in 0x00-0xFF.'); chr &= 0xFF; } ret.push(String.fromCharCode(chr)); } return ret.join(''); } -Module['intArrayToString'] = intArrayToString; +Module["intArrayToString"] = intArrayToString; +// Deprecated: This function should not be called because it is unsafe and does not provide +// a maximum length limit of how many bytes it is allowed to write. Prefer calling the +// function stringToUTF8Array() instead, which takes in a maximum length that can be used +// to be secure from out of bounds writes. function writeStringToMemory(string, buffer, dontAddNull) { - var array = intArrayFromString(string, dontAddNull); - var i = 0; - while (i < array.length) { - var chr = array[i]; - HEAP8[(((buffer)+(i))>>0)]=chr; - i = i + 1; + Runtime.warnOnce('writeStringToMemory is deprecated and should not be called! Use stringToUTF8() instead!'); + + var lastChar, end; + if (dontAddNull) { + // stringToUTF8Array always appends null. If we don't want to do that, remember the + // character that existed at the location where the null will be placed, and restore + // that after the write (below). + end = buffer + lengthBytesUTF8(string); + lastChar = HEAP8[end]; } + stringToUTF8(string, buffer, Infinity); + if (dontAddNull) HEAP8[end] = lastChar; // Restore the value under the null character. } -Module['writeStringToMemory'] = writeStringToMemory; +Module["writeStringToMemory"] = writeStringToMemory; function writeArrayToMemory(array, buffer) { - for (var i = 0; i < array.length; i++) { - HEAP8[((buffer++)>>0)]=array[i]; - } + assert(array.length >= 0, 'writeArrayToMemory array must have a length (should be an array or typed array)') + HEAP8.set(array, buffer); } -Module['writeArrayToMemory'] = writeArrayToMemory; +Module["writeArrayToMemory"] = writeArrayToMemory; function writeAsciiToMemory(str, buffer, dontAddNull) { for (var i = 0; i < str.length; ++i) { + assert(str.charCodeAt(i) === str.charCodeAt(i)&0xff); HEAP8[((buffer++)>>0)]=str.charCodeAt(i); } // Null-terminate the pointer to the HEAP. if (!dontAddNull) HEAP8[((buffer)>>0)]=0; } -Module['writeAsciiToMemory'] = writeAsciiToMemory; +Module["writeAsciiToMemory"] = writeAsciiToMemory; function unSign(value, bits, ignore) { if (value >= 0) { @@ -1724,6 +1646,11 @@ if (!Math['clz32']) Math['clz32'] = function(x) { }; Math.clz32 = Math['clz32'] +if (!Math['trunc']) Math['trunc'] = function(x) { + return x < 0 ? Math.ceil(x) : Math.floor(x); +}; +Math.trunc = Math['trunc']; + var Math_abs = Math.abs; var Math_cos = Math.cos; var Math_sin = Math.sin; @@ -1740,8 +1667,10 @@ var Math_floor = Math.floor; var Math_pow = Math.pow; var Math_imul = Math.imul; var Math_fround = Math.fround; +var Math_round = Math.round; var Math_min = Math.min; var Math_clz32 = Math.clz32; +var Math_trunc = Math.trunc; // A counter of dependencies for calling run(). If we need to // do asynchronous work before running, increment this and @@ -1753,8 +1682,14 @@ var Math_clz32 = Math.clz32; var runDependencies = 0; var runDependencyWatcher = null; var dependenciesFulfilled = null; // overridden to take different actions when all run dependencies are fulfilled +var runDependencyTracking = {}; function getUniqueRunDependency(id) { + var orig = id; + while (1) { + if (!runDependencyTracking[id]) return id; + id = orig + Math.random(); + } return id; } @@ -1763,13 +1698,47 @@ function addRunDependency(id) { if (Module['monitorRunDependencies']) { Module['monitorRunDependencies'](runDependencies); } + if (id) { + assert(!runDependencyTracking[id]); + runDependencyTracking[id] = 1; + if (runDependencyWatcher === null && typeof setInterval !== 'undefined') { + // Check for missing dependencies every few seconds + runDependencyWatcher = setInterval(function() { + if (ABORT) { + clearInterval(runDependencyWatcher); + runDependencyWatcher = null; + return; + } + var shown = false; + for (var dep in runDependencyTracking) { + if (!shown) { + shown = true; + Module.printErr('still waiting on run dependencies:'); + } + Module.printErr('dependency: ' + dep); + } + if (shown) { + Module.printErr('(end of list)'); + } + }, 10000); + } + } else { + Module.printErr('warning: run dependency added without ID'); + } } -Module['addRunDependency'] = addRunDependency; +Module["addRunDependency"] = addRunDependency; + function removeRunDependency(id) { runDependencies--; if (Module['monitorRunDependencies']) { Module['monitorRunDependencies'](runDependencies); } + if (id) { + assert(runDependencyTracking[id]); + delete runDependencyTracking[id]; + } else { + Module.printErr('warning: run dependency removed without ID'); + } if (runDependencies == 0) { if (runDependencyWatcher !== null) { clearInterval(runDependencyWatcher); @@ -1782,7 +1751,7 @@ function removeRunDependency(id) { } } } -Module['removeRunDependency'] = removeRunDependency; +Module["removeRunDependency"] = removeRunDependency; Module["preloadedImages"] = {}; // maps url to image data Module["preloadedAudios"] = {}; // maps url to audio data @@ -1793,34 +1762,35 @@ var memoryInitializer = null; + + + // === Body === var ASM_CONSTS = [function($0, $1) { { Module.printErr('bad name in getProcAddress: ' + [Pointer_stringify($0), Pointer_stringify($1)]); } }]; -function _emscripten_asm_const_2(code, a0, a1) { - return ASM_CONSTS[code](a0, a1) | 0; +function _emscripten_asm_const_iii(code, a0, a1) { + return ASM_CONSTS[code](a0, a1); } STATIC_BASE = 8; -STATICTOP = STATIC_BASE + 35232; +STATICTOP = STATIC_BASE + 37904; /* global initializers */ __ATINIT__.push(); -/* memory initializer */ allocate([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,75,73,78,71,32,71,65,77,69,74,65,77,32,45,32,83,75,85,76,76,89,32,69,83,67,65,80,69,0,0,0,0,114,101,115,111,117,114,99,101,115,47,97,117,100,105,111,47,99,111,109,101,95,112,108,97,121,95,119,105,116,104,95,109,101,46,111,103,103,0,0,0,114,101,115,111,117,114,99,101,115,47,116,101,120,116,117,114,101,115,47,97,108,97,103,97,114,100,46,112,110,103,0,0,114,101,115,111,117,114,99,101,115,47,116,101,120,116,117,114,101,115,47,100,111,111,114,115,46,112,110,103,0,0,0,0,114,101,115,111,117,114,99,101,115,47,97,117,100,105,111,47,100,111,111,114,46,111,103,103,0,0,0,0,0,0,0,0,114,101,115,111,117,114,99,101,115,47,97,117,100,105,111,47,115,99,114,101,97,109,46,111,103,103,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,114,101,115,111,117,114,99,101,115,47,116,101,120,116,117,114,101,115,47,115,107,117,108,108,121,95,108,111,103,111,46,112,110,103,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,71,82,65,89,32,84,69,65,77,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,63,0,0,0,0,112,111,119,101,114,101,100,32,98,121,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,114,101,115,111,117,114,99,101,115,47,116,101,120,116,117,114,101,115,47,116,105,116,108,101,46,112,110,103,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,82,69,83,83,32,69,78,84,69,82,32,116,111,32,83,84,65,82,84,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,114,101,115,111,117,114,99,101,115,47,116,101,120,116,117,114,101,115,47,98,97,99,107,103,114,111,117,110,100,95,97,116,116,105,99,46,112,110,103,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,89,79,85,82,32,80,65,82,69,78,84,83,32,65,82,69,32,71,79,78,69,33,32,84,73,77,69,32,84,79,32,69,83,67,65,80,69,33,10,84,72,69,32,68,79,79,82,32,73,83,32,76,79,67,75,69,68,46,46,46,32,84,85,82,78,32,79,78,32,84,72,69,32,76,73,71,72,84,83,33,32,59,41,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,114,101,115,111,117,114,99,101,115,47,116,101,120,116,117,114,101,115,47,98,97,99,107,103,114,111,117,110,100,95,97,105,115,108,101,48,49,46,112,110,103,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,87,72,79,32,73,83,32,84,72,69,82,69,63,63,63,10,65,78,89,66,79,68,89,32,73,78,32,84,72,69,32,82,79,79,77,63,63,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,114,101,115,111,117,114,99,101,115,47,116,101,120,116,117,114,101,115,47,98,97,99,107,103,114,111,117,110,100,95,97,105,115,108,101,48,50,46,112,110,103,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,114,101,115,111,117,114,99,101,115,47,116,101,120,116,117,114,101,115,47,109,111,110,115,116,101,114,95,108,97,109,112,95,114,105,103,104,116,46,112,110,103,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,114,101,115,111,117,114,99,101,115,47,116,101,120,116,117,114,101,115,47,109,111,110,115,116,101,114,95,97,114,99,46,112,110,103,0,0,0,0,0,0,0,0,0,0,0,0,0,0,72,65,83,32,76,69,71,83,32,66,85,84,32,67,65,78,32,78,79,84,32,87,65,76,75,46,46,46,10,83,69,65,82,67,72,32,70,79,82,32,73,84,32,84,79,32,79,80,69,78,32,84,72,69,32,68,79,79,82,33,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,114,101,115,111,117,114,99,101,115,47,116,101,120,116,117,114,101,115,47,98,97,99,107,103,114,111,117,110,100,95,97,114,109,111,114,121,46,112,110,103,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,114,101,115,111,117,114,99,101,115,47,116,101,120,116,117,114,101,115,47,109,111,110,115,116,101,114,95,98,108,97,122,111,110,48,49,46,112,110,103,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,114,101,115,111,117,114,99,101,115,47,116,101,120,116,117,114,101,115,47,109,111,110,115,116,101,114,95,98,108,97,122,111,110,48,50,46,112,110,103,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,114,101,115,111,117,114,99,101,115,47,116,101,120,116,117,114,101,115,47,109,111,110,115,116,101,114,95,98,108,97,122,111,110,48,51,46,112,110,103,0,0,0,0,0,0,0,0,0,78,79,32,77,79,82,69,32,84,73,80,83,46,46,46,10,70,79,76,76,79,87,32,89,79,85,82,32,73,78,83,84,73,78,67,84,33,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,114,101,115,111,117,114,99,101,115,47,116,101,120,116,117,114,101,115,47,98,97,99,107,103,114,111,117,110,100,95,108,105,118,105,110,103,114,111,111,109,46,112,110,103,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,114,101,115,111,117,114,99,101,115,47,116,101,120,116,117,114,101,115,47,109,111,110,115,116,101,114,95,99,97,110,100,108,101,46,112,110,103,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,114,101,115,111,117,114,99,101,115,47,116,101,120,116,117,114,101,115,47,109,111,110,115,116,101,114,95,112,105,99,116,117,114,101,46,112,110,103,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,114,101,115,111,117,114,99,101,115,47,116,101,120,116,117,114,101,115,47,109,111,110,115,116,101,114,95,112,104,111,110,101,46,112,110,103,0,0,0,0,0,0,0,0,0,0,0,0,87,72,69,78,32,87,73,78,68,32,66,76,79,87,83,44,32,73,84,32,75,78,79,87,83,32,84,72,69,32,68,73,82,69,67,84,73,79,78,10,76,69,84,32,73,84,32,71,85,73,68,69,32,89,79,85,33,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,114,101,115,111,117,114,99,101,115,47,116,101,120,116,117,114,101,115,47,98,97,99,107,103,114,111,117,110,100,95,107,105,116,99,104,101,110,46,112,110,103,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,114,101,115,111,117,114,99,101,115,47,116,101,120,116,117,114,101,115,47,109,111,110,115,116,101,114,95,99,108,111,115,101,116,46,112,110,103,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,114,101,115,111,117,114,99,101,115,47,116,101,120,116,117,114,101,115,47,109,111,110,115,116,101,114,95,99,104,97,105,114,95,108,101,102,116,46,112,110,103,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,114,101,115,111,117,114,99,101,115,47,116,101,120,116,117,114,101,115,47,109,111,110,115,116,101,114,95,119,105,110,100,111,119,46,112,110,103,0,0,0,0,0,0,0,0,0,0,0,81,85,73,84,69,32,66,79,82,73,78,71,32,65,82,79,85,78,68,46,46,46,10,65,78,89,32,66,69,84,84,69,82,32,69,78,84,69,82,84,65,73,78,73,78,71,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,114,101,115,111,117,114,99,101,115,47,116,101,120,116,117,114,101,115,47,98,97,99,107,103,114,111,117,110,100,95,98,97,116,104,114,111,111,109,46,112,110,103,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,114,101,115,111,117,114,99,101,115,47,116,101,120,116,117,114,101,115,47,109,111,110,115,116,101,114,95,108,97,109,112,95,108,101,102,116,46,112,110,103,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,114,101,115,111,117,114,99,101,115,47,116,101,120,116,117,114,101,115,47,109,111,110,115,116,101,114,95,109,105,114,114,111,114,46,112,110,103,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,114,101,115,111,117,114,99,101,115,47,116,101,120,116,117,114,101,115,47,109,111,110,115,116,101,114,95,99,104,97,105,114,95,114,105,103,104,116,46,112,110,103,0,0,0,0,0,0,0,0,0,0,0,0,0,0,84,82,73,67,75,32,79,82,32,84,82,69,65,84,33,32,87,72,79,32,73,83,32,84,72,69,32,77,79,83,84,32,66,69,65,85,84,73,70,85,76,10,83,75,69,76,69,84,79,78,32,73,78,32,84,72,69,32,87,79,82,76,68,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,67,72,79,79,83,69,32,87,73,83,69,76,89,33,0,0,80,82,69,83,83,32,83,80,65,67,69,32,111,114,32,67,76,73,67,75,32,116,111,32,73,78,84,69,82,65,67,84,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,67,79,78,71,82,65,84,85,76,65,84,73,79,78,83,33,0,0,0,0,0,0,0,0,83,75,85,76,76,89,32,69,83,67,65,80,69,68,33,0,80,82,69,83,83,32,69,78,84,69,82,32,111,114,32,67,76,73,67,75,0,0,0,0,114,101,115,111,117,114,99,101,115,47,116,101,120,116,117,114,101,115,47,115,107,117,108,108,121,46,112,110,103,0,0,0,0,0,0,0,0,0,0,0,114,101,115,111,117,114,99,101,115,47,116,101,120,116,117,114,101,115,47,115,107,117,108,108,121,95,105,99,111,110,46,112,110,103,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,73,110,105,116,105,97,108,105,122,105,110,103,32,114,97,121,108,105,98,32,40,118,49,46,51,46,48,41,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,84,97,114,103,101,116,32,116,105,109,101,32,112,101,114,32,102,114,97,109,101,58,32,37,48,50,46,48,51,102,32,109,105,108,108,105,115,101,99,111,110,100,115,0,0,0,0,0,0,0,0,0,0,0,0,0,87,105,110,100,111,119,32,99,108,111,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE); -/* memory initializer */ allocate([255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,83,116,97,99,107,32,66,117,102,102,101,114,32,79,118,101,114,102,108,111,119,32,40,77,65,88,32,37,105,32,77,97,116,114,105,120,41], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+10136); -/* memory initializer */ allocate([128,191,0,0,0,0,0,0,0,0,0,0,0,0,77,65,88,95,76,73,78,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,77,65,88,95,84,82,73,65,78,71,76,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,77,65,88,95,81,85,65,68,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,71,80,85,58,32,86,101,110,100,111,114,58,32,32,32,37,115,0,0,0,0,0,0,0,71,80,85,58,32,82,101,110,100,101,114,101,114,58,32,37,115,0,0,0,0,0,0,0,71,80,85,58,32,86,101,114,115,105,111,110,58,32,32,37,115,0,0,0,0,0,0,0,71,80,85,58,32,71,76,83,76,58,32,32,32,32,32,37,115,0,0,0,0,0,0,0,32,0,0,0,0,0,0,0,78,117,109,98,101,114,32,111,102,32,115,117,112,112,111,114,116,101,100,32,101,120,116,101,110,115,105,111,110,115,58,32,37,105,0,0,0,0,0,0,71,76,95,79,69,83,95,118,101,114,116,101,120,95,97,114,114,97,121,95,111,98,106,101,99,116,0,0,0,0,0,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,0,0,0,0,0,0,0,0,0,0,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,79,69,83,0,0,0,0,0,0,0,0,0,0,0,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,71,76,95,79,69,83,95,116,101,120,116,117,114,101,95,110,112,111,116,0,0,0,0,0,0,0,0,0,0,0,0,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,115,51,116,99,0,71,76,95,87,69,66,75,73,84,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,0,0,0,0,0,0,0,0,71,76,95,79,69,83,95,99,111,109,112,114,101,115,115,101,100,95,69,84,67,49,95,82,71,66,56,95,116,101,120,116,117,114,101,0,0,0,0,0,0,0,0,0,0,0,0,0,71,76,95,65,82,66,95,69,83,51,95,99,111,109,112,97,116,105,98,105,108,105,116,121,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,71,76,95,73,77,71,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,112,118,114,116,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,71,76,95,75,72,82,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,97,115,116,99,95,104,100,114,0,0,0,0,0,0,0,0,0,0,0,0,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,86,65,79,32,102,117,110,99,116,105,111,110,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,0,0,0,0,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,86,65,79,32,117,115,97,103,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,0,0,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,102,117,108,108,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,0,0,0,0,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,32,105,115,32,108,105,109,105,116,101,100,32,40,110,111,45,109,105,112,109,97,112,115,44,32,110,111,45,114,101,112,101,97,116,41,0,91,69,88,84,69,78,83,73,79,78,93,32,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,0,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,50,47,69,65,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,0,0,0,0,0,91,69,88,84,69,78,83,73,79,78,93,32,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,0,91,69,88,84,69,78,83,73,79,78,93,32,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,0,91,84,69,88,32,73,68,32,37,105,93,32,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,0,0,0,0,0,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,0,0,0,0,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,0,0,0,69,84,67,50,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,0,0,0,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,0,0,0,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,0,0,0,84,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,0,0,0,91,84,69,88,32,73,68,32,37,105,93,32,84,101,120,116,117,114,101,32,99,114,101,97,116,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,91,70,66,79,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,102,114,97,109,101,98,117,102,102,101,114,32,111,98,106,101,99,116,32,115,117,99,99,101,115,115,102,117,108,108,121,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,40,98,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,41,32,102,114,111,109,32,86,82,65,77,0,0,0,0,0,0,0,0,85,110,108,111,97,100,101,100,32,112,111,115,116,112,114,111,99,101,115,115,105,110,103,32,100,97,116,97,0,0,0,0,79,112,101,110,71,76,32,103,114,97,112,104,105,99,32,100,101,118,105,99,101,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,0,118,101,114,116,101,120,80,111,115,105,116,105,111,110,0,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,0,0,118,101,114,116,101,120,78,111,114,109,97,108,0,0,0,0,109,111,100,101,108,118,105,101,119,77,97,116,114,105,120,0,112,114,111,106,101,99,116,105,111,110,77,97,116,114,105,120,0,0,0,0,0,0,0,0,116,105,110,116,67,111,108,111,114,0,0,0,0,0,0,0,116,101,120,116,117,114,101,48,0,0,0,0,0,0,0,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,118,101,114,116,101,120,32,115,104,97,100,101,114,46,46,46,0,0,0,0,0,0,0,0,37,115,0,0,0,0,0,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,86,101,114,116,101,120,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,0,0,0,0,0,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,102,114,97,103,109,101,110,116,32,115,104,97,100,101,114,46,46,46,0,0,0,0,0,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,114,97,103,109,101,110,116,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,0,0,0,0,91,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,108,105,110,107,32,115,104,97,100,101,114,32,112,114,111,103,114,97,109,46,46,46,0,0,0,91,83,72,68,82,32,73,68,32,37,105,93,32,83,104,97,100,101,114,32,112,114,111,103,114,97,109,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,97,110,39,116,32,102,111,112,101,110,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,110,103,0,0,0,0,0,98,109,112,0,0,0,0,0,116,103,97,0,0,0,0,0,106,112,103,0,0,0,0,0,103,105,102,0,0,0,0,0,112,115,100,0,0,0,0,0,112,105,99,0,0,0,0,0,100,100,115,0,0,0,0,0,112,107,109,0,0,0,0,0,107,116,120,0,0,0,0,0,112,118,114,0,0,0,0,0,97,115,116,99,0,0,0,0,91,37,115,93,32,73,109,97,103,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,0,91,37,115,93,32,73,109,97,103,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,44,32,102,105,108,101,32,110,111,116,32,114,101,99,111,103,110,105,122,101,100,0,0,0,0,0,84,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,99,114,101,97,116,101,100,0,0,0,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,0,0,0,0,0,0,70,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,102,111,114,32,112,105,120,101,108,32,100,97,116,97,32,114,101,116,114,105,101,118,97,108,0,0,0,73,109,97,103,101,32,100,97,116,97,32,102,111,114,109,97,116,32,105,115,32,99,111,109,112,114,101,115,115,101,100,44,32,99,97,110,32,110,111,116,32,98,101,32,99,111,110,118,101,114,116,101,100,0,0,0,73,109,97,103,101,32,99,111,110,118,101,114,116,101,100,32,116,111,32,80,79,84,58,32,40,37,105,120,37,105,41,32,45,62,32,40,37,105,120,37,105,41,0,0,0,0,0,0,46,47,115,116,98,95,114,101,99,116,95,112,97,99,107,46,104,0,0,0,0,0,0,0,119,105,100,116,104,32,60,61,32,48,120,102,102,102,102,32,38,38,32,104,101,105,103,104,116,32,60,61,32,48,120,102,102,102,102,0,0,0,0,0,115,116,98,114,112,95,105,110,105,116,95,116,97,114,103,101,116,0,0,0,0,0,0,0,99,109,97,112,0,0,0,0,108,111,99,97,0,0,0,0,104,101,97,100,0,0,0,0,103,108,121,102,0,0,0,0,104,104,101,97,0,0,0,0,104,109,116,120,0,0,0,0,107,101,114,110,0,0,0,0,109,97,120,112,0,0,0,0,46,47,115,116,98,95,116,114,117,101,116,121,112,101,46,104,0,0,0,0,0,0,0,0,115,116,98,116,116,95,70,105,110,100,71,108,121,112,104,73,110,100,101,120,0,0,0,0,117,110,105,99,111,100,101,95,99,111,100,101,112,111,105,110,116,32,60,61,32,116,116,85,83,72,79,82,84,40,100,97,116,97,32,43,32,101,110,100,67,111,117,110,116,32,43,32,50,42,105,116,101,109,41,0,115,116,98,116,116,95,71,101,116,71,108,121,112,104,83,104,97,112,101,0,0,0,0,0,104,95,111,118,101,114,115,97,109,112,108,101,32,60,61,32,56,0,0,0,0,0,0,0,115,116,98,116,116,95,80,97,99,107,83,101,116,79,118,101,114,115,97,109,112,108,105,110,103,0,0,0,0,0,0,0,118,95,111,118,101,114,115,97,109,112,108,101,32,60,61,32,56,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,32,0,0,176,1,0,0,0,0,0,0,0,0,0,32,37,249,142,0,10,2,0,0,128,190,125,95,244,125,31,160,242,43,74,30,9,82,8,0,64,34,65,80,20,4,16,32,32,41,46,18,8,34,8,0,32,34,65,80,20,4,16,32,32,249,16,76,8,250,62,60,16,34,125,222,247,125,16,32,32,161,232,50,8,34,8,0,8,34,5,16,4,69,16,0,240,163,164,50,8,82,8,0,4,34,5,16,4,69,16,32,32,249,226,94,8,2,0,129,2,62,125,31,244,125,16,0,0,32,0,0,176,1,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,190,15,0,192,15,224,247,251,125,126,191,95,232,190,80,0,162,8,8,68,232,47,20,10,133,2,129,80,72,160,80,0,162,40,228,73,40,40,20,10,132,2,129,64,72,160,72,0,190,15,2,16,175,235,247,9,132,62,159,216,79,160,71,0,34,136,228,9,161,42,20,10,132,2,129,80,72,160,72,0,34,40,8,4,160,47,20,10,133,2,129,80,72,162,80,0,190,143,0,0,33,32,244,251,125,126,129,95,232,156,208,7,0,128,0,0,224,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,1,12,0,130,66,191,223,239,247,251,11,5,5,133,66,191,4,72,0,198,66,161,80,40,20,64,8,5,37,133,66,160,8,168,0,170,70,161,80,40,20,64,8,5,37,133,66,144,16,8,0,146,74,161,95,232,247,67,8,5,37,121,126,136,32,8,0,130,82,161,64,40,1,66,8,137,36,133,64,132,64,8,0,130,98,161,64,42,2,66,8,81,36,133,64,130,128,8,0,130,66,191,192,47,244,67,248,33,252,133,126,191,0,9,62,0,0,0,0,4,0,0,0,0,0,0,0,128,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,0,4,0,32,72,65,0,0,0,0,0,8,0,0,4,4,0,4,60,32,0,65,0,0,0,0,0,8,0,0,240,125,223,247,133,239,75,81,190,239,251,190,239,59,81,4,0,69,65,20,133,40,74,73,170,40,138,162,32,8,81,4,240,69,65,244,157,40,74,71,170,40,138,162,224,11,81,4,16,69,65,20,132,40,74,73,170,40,138,162,0,10,145,2,240,125,223,247,133,47,74,209,170,232,251,190,224,123,31,1,0,0,0,0,4,8,64,0,0,0,8,32,0,0,0,0,0,0,0,0,132,15,96,0,0,0,8,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,172,1,15,0,0,0,0,0,0,0,0,0,0,0,0,0,36,1,9,0,0,0,0,0,0,0,0,0,6,0,0,0,36,1,9,0,0,0,0,0,0,0,128,16,9,162,40,250,36,1,9,0,0,0,0,0,0,0,0,62,1,42,37,66,34,82,9,0,0,0,0,0,0,0,128,138,3,42,34,34,36,41,9,0,0,0,0,0,0,0,128,10,1,42,37,18,36,1,9,0,0,0,0,0,0,0,128,10,1,190,232,251,36,1,9,0,0,0,0,0,0,0,128,190,14,0,0,2,172,1,15,0,0,0,0,0,0,0,128,4,0,0,224,3,0,0,0,0,0,0,0,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,0,0,0,14,184,67,132,3,58,32,0,128,160,190,2,32,0,0,240,138,32,82,196,2,43,32,4,34,145,2,248,59,0,240,7,142,56,75,228,2,58,32,2,28,138,30,8,42,233,17,4,224,11,66,244,2,130,36,1,20,4,20,232,186,4,209,5,128,184,195,231,10,58,137,0,28,14,60,40,2,9,80,4,128,0,64,196,2,128,68,0,34,132,32,232,2,0,80,4,0,0,64,128,2,0,32,5,0,142,62,8,2,0,16,4,224,3,64,128,66,0,0,7,0,132,0,248,3,0,240,7,0,0,64,128,34,0,0,4,0,0,0,0,0,0,0,0,0,0,64,128,2,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,128,0,194,160,72,24,0,0,1,132,33,9,146,2,66,38,4,1,33,81,0,0,127,63,2,66,2,16,41,0,34,20,192,239,247,251,253,126,9,161,223,239,247,187,187,3,18,15,68,40,20,10,133,66,9,129,64,32,16,16,17,1,8,4,68,40,20,10,133,66,127,129,64,32,16,16,17,1,4,130,199,239,247,251,253,126,9,129,207,231,243,17,17,1,50,169,80,40,20,10,133,66,9,161,64,32,16,16,17,1,64,184,80,40,20,10,133,66,121,191,223,239,247,187,187,3,32,160,31,0,0,0,0,0,0,16,0,0,0,0,0,0,112,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,2,8,131,34,1,0,2,8,67,2,1,0,1,1,124,20,4,132,68,1,0,32,4,132,4,128,8,63,130,0,132,66,191,223,239,247,3,126,161,80,40,20,10,33,0,0,132,70,161,80,40,20,138,82,161,80,40,20,122,161,239,3,158,74,161,80,40,20,82,82,161,80,40,20,74,31,8,2,132,82,161,80,40,20,34,74,161,80,40,244,75,161,239,3,132,98,161,80,40,20,82,74,161,80,40,4,122,161,40,2,124,66,191,223,239,247,139,126,191,223,239,247,11,189,239,3,0,0,0,0,0,0,0,4,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,5,32,0,0,4,132,0,34,129,69,17,16,66,1,0,148,66,81,0,0,8,66,81,148,42,162,32,8,165,80,0,0,0,32,0,0,0,0,0,0,0,5,0,0,0,0,8,190,239,251,254,251,190,239,251,20,145,235,251,190,239,251,0,32,8,130,32,10,162,40,138,20,145,40,138,162,40,138,62,190,239,251,254,11,190,239,251,20,145,40,138,162,40,138,0,162,40,138,34,8,130,32,8,20,145,40,138,162,40,138,8,190,239,251,254,251,190,239,251,20,145,47,250,190,239,251,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,33,0,4,0,0,0,0,0,0,0,0,0,0,0,0,130,80,20,2,20,0,0,0,0,0,0,0,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,190,40,138,162,40,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,168,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,190,239,251,190,47,62,0,0,0,0,0,0,0,0,0,0,4,0,0,0,40,32,0,0,0,0,0,0,0,0,0,0,0,0,0,128,15,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,1,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,2,0,0,0,7,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,2,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,7,0,0,0,1,0,0,0,5,0,0,0,3,0,0,0,7,0,0,0,3,0,0,0,5,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,5,0,0,0,6,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,9,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,5,0,0,0,91,84,69,88,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,102,111,110,116,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,0,0,0,114,98,109,102,0,0,0,0,116,116,102,0,0,0,0,0,91,37,115,93,32,83,112,114,105,116,101,70,111,110,116,32,100,97,116,97,32,112,97,114,115,101,100,32,99,111,114,114,101,99,116,108,121,0,0,0,91,37,115,93,32,83,112,114,105,116,101,70,111,110,116,32,110,117,109,32,99,104,97,114,115,32,100,101,116,101,99,116,101,100,58,32,37,105,0,0,85,110,108,111,97,100,101,100,32,115,112,114,105,116,101,32,102,111,110,116,32,100,97,116,97,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,73,78,70,79,58,32,0,0,69,82,82,79,82,58,32,0,87,65,82,78,73,78,71,58,32,0,0,0,0,0,0,0,65,117,100,105,111,32,100,101,118,105,99,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,0,0,0,0,0,0,0,67,111,117,108,100,32,110,111,116,32,115,101,116,117,112,32,97,117,100,105,111,32,99,111,110,116,101,120,116,0,0,0,65,117,100,105,111,32,100,101,118,105,99,101,32,97,110,100,32,99,111,110,116,101,120,116,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,58,32,37,115,0,0,0,67,111,117,108,100,32,110,111,116,32,103,101,116,32,99,117,114,114,101,110,116,32,97,117,100,105,111,32,99,111,110,116,101,120,116,32,102,111,114,32,99,108,111,115,105,110,103,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,119,97,118,0,0,0,0,0,111,103,103,0,0,0,0,0,91,37,115,93,32,83,111,117,110,100,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,114,101,99,111,103,110,105,122,101,100,44,32,105,116,32,99,97,110,39,116,32,98,101,32,108,111,97,100,101,100,0,91,37,115,93,32,83,111,117,110,100,32,102,105,108,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,83,97,109,112,108,101,82,97,116,101,58,32,37,105,44,32,66,105,116,82,97,116,101,58,32,37,105,44,32,67,104,97,110,110,101,108,115,58,32,37,105,41,0,85,110,108,111,97,100,101,100,32,115,111,117,110,100,32,100,97,116,97,0,0,0,0,0,91,37,115,93,32,79,71,71,32,97,117,100,105,111,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,91,37,115,93,32,79,103,103,32,115,97,109,112,108,101,32,114,97,116,101,58,32,37,105,0,0,0,0,0,0,0,0,91,37,115,93,32,79,103,103,32,99,104,97,110,110,101,108,115,58,32,37,105,0,0,0,91,37,115,93,32,84,101,109,112,32,109,101,109,111,114,121,32,114,101,113,117,105,114,101,100,58,32,37,105,0,0,0,91,37,115,93,32,77,117,115,105,99,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,114,101,99,111,103,110,105,122,101,100,44,32,105,116,32,99,97,110,39,116,32,98,101,32,108,111,97,100,101,100,0,79,103,103,32,112,108,97,121,105,110,103,44,32,101,114,114,111,114,32,98,117,102,102,101,114,105,110,103,32,100,97,116,97,46,46,46,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,35,99,97,110,118,97,115,0,1,0,0,0,0,0,0,0,69,86,69,78,84,32,68,69,84,69,67,84,69,68,33,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,78,111,32,109,111,114,101,32,100,97,116,97,32,111,98,116,97,105,110,101,100,32,102,114,111,109,32,115,116,114,101,97,109,0,0,0,0,0,0,0,85,110,108,111,97,100,101,100,32,119,97,118,101,32,100,97,116,97,0,0,0,0,0,0,91,37,115,93,32,79,71,71,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,0,0,0,0,0,0,91,37,115,93,32,83,97,109,112,108,101,115,32,108,101,110,103,116,104,58,32,37,105,0,91,37,115,93,32,84,111,116,97,108,32,115,101,99,111,110,100,115,58,32,37,102,0,0,91,37,115,93,32,79,103,103,32,97,117,100,105,111,32,108,101,110,103,104,116,32,105,115,32,108,97,114,103,101,114,32,116,104,97,110,32,49,48,32,115,101,99,111,110,100,115,32,40,37,102,41,44,32,116,104,97,116,39,115,32,97,32,98,105,103,32,102,105,108,101,32,105,110,32,109,101,109,111,114,121,44,32,99,111,110,115,105,100,101,114,32,109,117,115,105,99,32,115,116,114,101,97,109,105,110,103,0,0,0,0,0,91,37,115,93,32,84,111,116,97,108,32,115,97,109,112,108,101,115,32,99,97,108,99,117,108,97,116,101,100,58,32,37,105,0,0,0,0,0,0,0,91,37,115,93,32,83,97,109,112,108,101,115,32,111,98,116,97,105,110,101,100,58,32,37,105,0,0,0,0,0,0,0,91,37,115,93,32,79,71,71,32,102,105,108,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,83,97,109,112,108,101,82,97,116,101,58,32,37,105,44,32,66,105,116,82,97,116,101,58,32,37,105,44,32,67,104,97,110,110,101,108,115,58,32,37,105,41,0,0,0,91,37,115,93,32,87,65,86,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,0,0,0,0,0,0,82,73,70,70,0,0,0,0,87,65,86,69,0,0,0,0,91,37,115,93,32,73,110,118,97,108,105,100,32,82,73,70,70,32,111,114,32,87,65,86,69,32,72,101,97,100,101,114,0,0,0,0,0,0,0,0,91,37,115,93,32,73,110,118,97,108,105,100,32,87,97,118,101,32,102,111,114,109,97,116,0,0,0,0,0,0,0,0,91,37,115,93,32,73,110,118,97,108,105,100,32,100,97,116,97,32,104,101,97,100,101,114,0,0,0,0,0,0,0,0,91,37,115,93,32,87,65,86,32,102,105,108,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,83,97,109,112,108,101,82,97,116,101,58,32,37,105,44,32,66,105,116,82,97,116,101,58,32,37,105,44,32,67,104,97,110,110,101,108,115,58,32,37,105,41,0,0,0,114,98,0,0,0,0,0,0,91,37,115,93,32,114,66,77,70,32,102,111,110,116,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,91,37,115,93,32,76,111,97,100,105,110,103,32,114,66,77,70,32,102,105,108,101,44,32,115,105,122,101,58,32,37,105,120,37,105,44,32,110,117,109,67,104,97,114,115,58,32,37,105,44,32,99,104,97,114,72,101,105,103,104,116,58,32,37,105,0,0,0,0,0,0,0,91,37,115,93,32,73,109,97,103,101,32,114,101,99,111,110,115,116,114,117,99,116,101,100,32,99,111,114,114,101,99,116,108,121,44,32,110,111,119,32,99,111,110,118,101,114,116,105,110,103,32,105,116,32,116,111,32,116,101,120,116,117,114,101,0,0,0,0,0,0,0,0,91,37,115,93,32,114,66,77,70,32,102,105,108,101,32,108,111,97,100,101,100,32,99,111,114,114,101,99,116,108,121,32,97,115,32,83,112,114,105,116,101,70,111,110,116,0,0,0,112,105,120,101,108,115,91,105,42,115,116,114,105,100,101,95,105,110,95,98,121,116,101,115,93,32,61,61,32,48,0,0,115,116,98,116,116,95,95,118,95,112,114,101,102,105,108,116,101,114,0,0,0,0,0,0,112,105,120,101,108,115,91,105,93,32,61,61,32,48,0,0,115,116,98,116,116,95,95,104,95,112,114,101,102,105,108,116,101,114,0,0,0,0,0,0,122,45,62,118,97,108,105,100,0,0,0,0,0,0,0,0,115,116,98,116,116,95,95,114,97,115,116,101,114,105,122,101,95,115,111,114,116,101,100,95,101,100,103,101,115,0,0,0,101,45,62,121,48,32,60,61,32,115,116,97,114,116,95,112,111,105,110,116,0,0,0,0,110,101,119,95,97,99,116,105,118,101,0,0,0,0,0,0,119,105,100,116,104,32,37,32,99,45,62,97,108,105,103,110,32,61,61,32,48,0,0,0,115,116,98,114,112,95,95,115,107,121,108,105,110,101,95,102,105,110,100,95,98,101,115,116,95,112,111,115,0,0,0,0,120,112,111,115,32,62,61,32,48,0,0,0,0,0,0,0,110,111,100,101,45,62,110,101,120,116,45,62,120,32,62,32,120,112,111,115,32,38,38,32,110,111,100,101,45,62,120,32,60,61,32,120,112,111,115,0,102,105,114,115,116,45,62,120,32,60,61,32,120,48,0,0,115,116,98,114,112,95,95,115,107,121,108,105,110,101,95,102,105,110,100,95,109,105,110,95,121,0,0,0,0,0,0,0,110,111,100,101,45,62,110,101,120,116,45,62,120,32,62,32,120,48,0,0,0,0,0,0,98,117,102,95,99,32,61,61,32,50,0,0,0,0,0,0,115,116,98,95,118,111,114,98,105,115,46,99,0,0,0,0,99,111,110,118,101,114,116,95,99,104,97,110,110,101,108,115,95,115,104,111,114,116,95,105,110,116,101,114,108,101,97,118,101,100,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,3,5,0,0,0,0,3,7,5,0,0,0,3,5,3,5,0,0,3,7,5,3,5,0,3,7,5,3,5,7,0,0,0,0,0,0,79,103,103,83], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+11562); -/* memory initializer */ allocate([1,2,2,3,3,3,3,4,4,4,4,4,4,4,4,102,45,62,98,121,116,101,115,95,105,110,95,115,101,103,32,62,32,48,0,0,0,0,0,103,101,116,56,95,112,97,99,107,101,116,95,114,97,119,0,102,45,62,98,121,116,101,115,95,105,110,95,115,101,103,32,61,61,32,48,0,0,0,0,110,101,120,116,95,115,101,103,109,101,110,116,0,0,0,0,102,45,62,97,108,108,111,99,46,97,108,108,111,99,95,98,117,102,102,101,114,95,108,101,110,103,116,104,95,105,110,95,98,121,116,101,115,32,61,61,32,102,45,62,116,101,109,112,95,111,102,102,115,101,116,0,118,111,114,98,105,115,95,100,101,99,111,100,101,95,105,110,105,116,105,97,108,0,0,0,102,45,62,116,101,109,112,95,111,102,102,115,101,116,32,61,61,32,102,45,62,97,108,108,111,99,46,97,108,108,111,99,95,98,117,102,102,101,114,95,108,101,110,103,116,104,95,105,110,95,98,121,116,101,115,0,115,116,97,114,116,95,100,101,99,111,100,101,114,0,0,0,112,111,119,40,40,102,108,111,97,116,41,32,114,43,49,44,32,100,105,109,41,32,62,32,101,110,116,114,105,101,115,0,108,111,111,107,117,112,49,95,118,97,108,117,101,115,0,0,40,105,110,116,41,32,102,108,111,111,114,40,112,111,119,40,40,102,108,111,97,116,41,32,114,44,32,100,105,109,41,41,32,60,61,32,101,110,116,114,105,101,115,0,0,0,0,0,107,32,61,61,32,99,45,62,115,111,114,116,101,100,95,101,110,116,114,105,101,115,0,0,99,111,109,112,117,116,101,95,115,111,114,116,101,100,95,104,117,102,102,109,97,110,0,0,99,45,62,115,111,114,116,101,100,95,99,111,100,101,119,111,114,100,115,91,120,93,32,61,61,32,99,111,100,101,0,0,108,101,110,32,33,61,32,78,79,95,67,79,68,69,0,0,105,110,99,108,117,100,101,95,105,110,95,115,111,114,116,0,99,45,62,115,111,114,116,101,100,95,101,110,116,114,105,101,115,32,61,61,32,48,0,0,99,111,109,112,117,116,101,95,99,111,100,101,119,111,114,100,115,0,0,0,0,0,0,0,97,118,97,105,108,97,98,108,101,91,121,93,32,61,61,32,48,0,0,0,0,0,0,0,118,111,114,98,105,115,0,0,103,101,116,95,119,105,110,100,111,119,0,0,0,0,0,0,0,1,0,0,128,0,0,0,86,0,0,0,64,0,0,0,118,111,114,98,105,115,95,100,101,99,111,100,101,95,112,97,99,107,101,116,95,114,101,115,116,0,0,0,0,0,0,0,40,110,32,38,32,51,41,32,61,61,32,48,0,0,0,0,105,109,100,99,116,95,115,116,101,112,51,95,105,116,101,114,48,95,108,111,111,112,0,0,62,180,228,51,9,145,243,51,139,178,1,52,60,32,10,52,35,26,19,52,96,169,28,52,167,215,38,52,75,175,49,52,80,59,61,52,112,135,73,52,35,160,86,52,184,146,100,52,85,109,115,52,136,159,129,52,252,11,138,52,147,4,147,52,105,146,156,52,50,191,166,52,63,149,177,52,147,31,189,52,228,105,201,52,173,128,214,52,54,113,228,52,166,73,243,52,136,140,1,53,192,247,9,53,6,239,18,53,118,123,28,53,192,166,38,53,55,123,49,53,218,3,61,53,94,76,73,53,59,97,86,53,185,79,100,53,252,37,115,53,138,121,129,53,134,227,137,53,124,217,146,53,133,100,156,53,82,142,166,53,51,97,177,53,37,232,188,53,220,46,201,53,206,65,214,53,65,46,228,53,87,2,243,53,143,102,1,54,79,207,9,54,245,195,18,54,152,77,28,54,232,117,38,54,50,71,49,54,116,204,60,54,94,17,73,54,101,34,86,54,206,12,100,54,184,222,114,54,151,83,129,54,28,187,137,54,114,174,146,54,175,54,156,54,129,93,166,54,53,45,177,54,199,176,188,54,228,243,200,54,1,3,214,54,96,235,227,54,30,187,242,54,162,64,1,55,235,166,9,55,241,152,18,55,201,31,28,55,30,69,38,55,61,19,49,55,30,149,60,55,111,214,72,55,162,227,85,55,247,201,99,55,137,151,114,55,175,45,129,55,190,146,137,55,116,131,146,55,230,8,156,55,190,44,166,55,71,249,176,55,121,121,188,55,254,184,200,55,71,196,213,55,146,168,227,55,248,115,242,55,192,26,1,56,147,126,9,56,249,109,18,56,6,242,27,56,98,20,38,56,86,223,48,56,216,93,60,56,146,155,72,56,242,164,85,56,51,135,99,56,110,80,114,56,211,7,129,56,107,106,137,56,130,88,146,56,42,219,155,56,9,252,165,56,104,197,176,56,59,66,188,56,41,126,200,56,160,133,213,56,217,101,227,56,232,44,242,56,233,244,0,57,70,86,9,57,14,67,18,57,81,196,27,57,181,227,37,57,127,171,48,57,162,38,60,57,197,96,72,57,83,102,85,57,131,68,99,57,104,9,114,57,1,226,128,57,36,66,137,57,157,45,146,57,123,173,155,57,99,203,165,57,153,145,176,57,13,11,188,57,102,67,200,57,11,71,213,57,50,35,227,57,237,229,241,57,29,207,0,58,5,46,9,58,48,24,18,58,169,150,27,58,21,179,37,58,183,119,48,58,124,239,59,58,10,38,72,58,199,39,85,58,230,1,99,58,120,194,113,58,59,188,128,58,233,25,137,58,198,2,146,58,219,127,155,58,203,154,165,58,216,93,176,58,239,211,187,58,179,8,200,58,136,8,213,58,159,224,226,58,7,159,241,58,92,169,0,59,208,5,9,59,94,237,17,59,15,105,27,59,132,130,37,59,253,67,48,59,103,184,59,59,97,235,71,59,77,233,84,59,93,191,98,59,156,123,113,59,127,150,128,59,186,241,136,59,249,215,145,59,71,82,155,59,65,106,165,59,39,42,176,59,226,156,187,59,18,206,199,59,23,202,212,59,32,158,226,59,53,88,241,59,166,131,0,60,167,221,8,60,152,194,17,60,130,59,27,60,1,82,37,60,84,16,48,60,97,129,59,60,200,176,71,60,229,170,84,60,232,124,98,60,212,52,113,60,207,112,128,60,150,201,136,60,58,173,145,60,192,36,155,60,197,57,165,60,133,246,175,60,229,101,187,60,130,147,199,60,185,139,212,60,180,91,226,60,121,17,241,60,251,93,0,61,137,181,8,61,223,151,17,61,2,14,27,61,141,33,37,61,185,220,47,61,109,74,59,61,64,118,71,61,145,108,84,61,133,58,98,61,34,238,112,61,42,75,128,61,127,161,136,61,136,130,145,61,72,247,154,61,88,9,165,61,242,194,175,61,248,46,187,61,3,89,199,61,109,77,212,61,92,25,226,61,209,202,240,61,91,56,0,62,119,141,8,62,51,109,17,62,144,224,26,62,39,241,36,62,46,169,47,62,135,19,59,62,202,59,71,62,77,46,84,62,55,248,97,62,132,167,112,62,143,37,128,62,115,121,136,62,226,87,145,62,220,201,154,62,249,216,164,62,109,143,175,62,27,248,186,62,149,30,199,62,51,15,212,62,23,215,225,62,61,132,240,62,198,18,0,63,114,101,8,63,147,66,17,63,43,179,26,63,206,192,36,63,177,117,47,63,178,220,58,63,101,1,71,63,29,240,83,63,251,181,97,63,251,96,112,63,0,0,128,63,122,32,60,32,99,45,62,115,111,114,116,101,100,95,101,110,116,114,105,101,115,0,0,0,99,111,100,101,98,111,111,107,95,100,101,99,111,100,101,95,115,116,97,114,116,0,0,0,33,99,45,62,115,112,97,114,115,101,32,124,124,32,122,32,60,32,99,45,62,115,111,114,116,101,100,95,101,110,116,114,105,101,115,0,0,0,0,0,99,111,100,101,98,111,111,107,95,100,101,99,111,100,101,95,100,101,105,110,116,101,114,108,101,97,118,101,95,114,101,112,101,97,116,0,0,0,0,0,99,45,62,115,111,114,116,101,100,95,99,111,100,101,119,111,114,100,115,32,124,124,32,99,45,62,99,111,100,101,119,111,114,100,115,0,0,0,0,0,99,111,100,101,98,111,111,107,95,100,101,99,111,100,101,95,115,99,97,108,97,114,95,114,97,119,0,0,0,0,0,0,33,99,45,62,115,112,97,114,115,101,0,0,0,0,0,0,91,37,115,93,32,65,83,84,67,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,0,0,0,0,0,91,37,115,93,32,65,83,84,67,32,102,105,108,101,32,100,111,101,115,32,110,111,116,32,115,101,101,109,32,116,111,32,98,101,32,97,32,118,97,108,105,100,32,105,109,97,103,101,0,0,0,0,0,0,0,0,65,83,84,67,32,105,109,97,103,101,32,119,105,100,116,104,58,32,37,105,0,0,0,0,65,83,84,67,32,105,109,97,103,101,32,104,101,105,103,104,116,58,32,37,105,0,0,0,65,83,84,67,32,105,109,97,103,101,32,98,108,111,99,107,115,58,32,37,105,120,37,105,0,0,0,0,0,0,0,0,91,37,115,93,32,65,83,84,67,32,98,108,111,99,107,32,115,105,122,101,32,99,111,110,102,105,103,117,114,97,116,105,111,110,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,0,0,0,0,0,0,0,91,37,115,93,32,80,86,82,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,0,0,0,0,0,0,91,37,115,93,32,80,86,82,32,102,105,108,101,32,100,111,101,115,32,110,111,116,32,115,101,101,109,32,116,111,32,98,101,32,97,32,118,97,108,105,100,32,105,109,97,103,101,0,80,86,82,32,118,50,32,110,111,116,32,115,117,112,112,111,114,116,101,100,44,32,117,112,100,97,116,101,32,121,111,117,114,32,102,105,108,101,115,32,116,111,32,80,86,82,32,118,51,0,0,0,0,0,0,0,91,37,115,93,32,75,84,88,32,105,109,97,103,101,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,91,37,115,93,32,75,84,88,32,102,105,108,101,32,100,111,101,115,32,110,111,116,32,115,101,101,109,32,116,111,32,98,101,32,97,32,118,97,108,105,100,32,102,105,108,101,0,0,75,84,88,32,40,69,84,67,41,32,105,109,97,103,101,32,119,105,100,116,104,58,32,37,105,0,0,0,0,0,0,0,75,84,88,32,40,69,84,67,41,32,105,109,97,103,101,32,104,101,105,103,104,116,58,32,37,105,0,0,0,0,0,0,75,84,88,32,40,69,84,67,41,32,105,109,97,103,101,32,102,111,114,109,97,116,58,32,48,120,37,120,0,0,0,0,91,37,115,93,32,80,75,77,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,0,0,0,0,0,0,80,75,77,32,0,0,0,0,91,37,115,93,32,80,75,77,32,102,105,108,101,32,100,111,101,115,32,110,111,116,32,115,101,101,109,32,116,111,32,98,101,32,97,32,118,97,108,105,100,32,105,109,97,103,101,0,80,75,77,32,40,69,84,67,41,32,105,109,97,103,101,32,119,105,100,116,104,58,32,37,105,0,0,0,0,0,0,0,80,75,77,32,40,69,84,67,41,32,105,109,97,103,101,32,104,101,105,103,104,116,58,32,37,105,0,0,0,0,0,0,80,75,77,32,40,69,84,67,41,32,105,109,97,103,101,32,102,111,114,109,97,116,58,32,37,105,0,0,0,0,0,0,91,37,115,93,32,68,68,83,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,0,0,0,0,0,0,68,68,83,32,0,0,0,0,91,37,115,93,32,68,68,83,32,102,105,108,101,32,100,111,101,115,32,110,111,116,32,115,101,101,109,32,116,111,32,98,101,32,97,32,118,97,108,105,100,32,105,109,97,103,101,0,91,37,115,93,32,68,68,83,32,102,105,108,101,32,104,101,97,100,101,114,32,115,105,122,101,58,32,37,105,0,0,0,91,37,115,93,32,68,68,83,32,102,105,108,101,32,112,105,120,101,108,32,102,111,114,109,97,116,32,115,105,122,101,58,32,37,105,0,0,0,0,0,91,37,115,93,32,68,68,83,32,102,105,108,101,32,112,105,120,101,108,32,102,111,114,109,97,116,32,102,108,97,103,115,58,32,48,120,37,120,0,0,91,37,115,93,32,68,68,83,32,102,105,108,101,32,102,111,114,109,97,116,58,32,48,120,37,120,0,0,0,0,0,0,91,37,115,93,32,68,68,83,32,102,105,108,101,32,98,105,116,32,99,111,117,110,116,58,32,48,120,37,120,0,0,0,80,105,116,99,104,32,111,114,32,108,105,110,101,97,114,32,115,105,122,101,58,32,37,105,0,0,0,0,0,0,0,0,117,110,107,110,111,119,110,32,105,109,97,103,101,32,116,121,112,101,0,0,0,0,0,0,109,97,120,32,118,97,108,117,101,32,62,32,50,53,53,0,110,111,116,32,71,73,70,0,0,0,0,0,0,0,0,0,109,117,108,116,105,112,108,101,32,73,72,68,82,0,0,0,98,97,100,32,73,72,68,82,32,108,101,110,0,0,0,0,116,111,111,32,108,97,114,103,101,0,0,0,0,0,0,0,49,47,50,47,52,47,56,45,98,105,116,32,111,110,108,121,0,0,0,0,0,0,0,0,98,97,100,32,99,116,121,112,101,0,0,0,0,0,0,0,98,97,100,32,99,111,109,112,32,109,101,116,104,111,100,0,98,97,100,32,102,105,108,116,101,114,32,109,101,116,104,111,100,0,0,0,0,0,0,0,98,97,100,32,105,110,116,101,114,108,97,99,101,32,109,101,116,104,111,100,0,0,0,0,48,45,112,105,120,101,108,32,105,109,97,103,101,0,0,0,102,105,114,115,116,32,110,111,116,32,73,72,68,82,0,0,105,110,118,97,108,105,100,32,80,76,84,69,0,0,0,0,116,82,78,83,32,97,102,116,101,114,32,73,68,65,84,0,116,82,78,83,32,98,101,102,111,114,101,32,80,76,84,69,0,0,0,0,0,0,0,0,98,97,100,32,116,82,78,83,32,108,101,110,0,0,0,0,116,82,78,83,32,119,105,116,104,32,97,108,112,104,97,0,0,255,85,0,17,0,0,0,1,0,0,0,0,0,0,0,110,111,32,80,76,84,69,0,111,117,116,111,102,109,101,109,0,0,0,0,0,0,0,0,111,117,116,111,102,100,97,116,97,0,0,0,0,0,0,0,110,111,32,73,68,65,84,0,88,88,88,88,32,80,78,71,32,99,104,117,110,107,32,110,111,116,32,107,110,111,119,110,0,0,0,0,0,0,0,0,115,45,62,105,109,103,95,111,117,116,95,110,32,61,61,32,52,0,0,0,0,0,0,0,46,47,115,116,98,95,105,109,97,103,101,46,104,0,0,0,115,116,98,105,95,95,100,101,95,105,112,104,111,110,101,0,111,117,116,95,110,32,61,61,32,50,32,124,124,32,111,117,116,95,110,32,61,61,32,52,0,0,0,0,0,0,0,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,32,124,124,32,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,43,49,0,0,0,0,0,0,0,0,115,116,98,105,95,95,99,114,101,97,116,101,95,112,110,103,95,105,109,97,103,101,95,114,97,119,0,0,0,0,0,0,110,111,116,32,101,110,111,117,103,104,32,112,105,120,101,108,115,0,0,0,0,0,0,0,105,110,118,97,108,105,100,32,102,105,108,116,101,114,0,0,105,109,103,95,119,105,100,116,104,95,98,121,116,101,115,32,60,61,32,120,0,0,0,0,0,1,0,5,6,0,0,0,105,109,103,95,110,43,49,32,61,61,32,111,117,116,95,110,0,0,0,0,0,0,0,0,105,109,103,95,110,32,61,61,32,51,0,0,0,0,0,0,98,97,100,32,112,110,103,32,115,105,103,0,0,0,0,0,110,111,32,83,79,73,0,0,110,111,32,83,79,70,0,0,98,97,100,32,83,79,70,32,108,101,110,0,0,0,0,0,111,110,108,121,32,56,45,98,105,116,0,0,0,0,0,0,110,111,32,104,101,97,100,101,114,32,104,101,105,103,104,116,0,0,0,0,0,0,0,0,48,32,119,105,100,116,104,0,98,97,100,32,99,111,109,112,111,110,101,110,116,32,99,111,117,110,116,0,0,0,0,0,98,97,100,32,99,111,109,112,111,110,101,110,116,32,73,68,0,0,0,0,0,0,0,0,98,97,100,32,72,0,0,0,98,97,100,32,86,0,0,0,98,97,100,32,84,81,0,0,101,120,112,101,99,116,101,100,32,109,97,114,107,101,114,0,98,97,100,32,68,82,73,32,108,101,110,0,0,0,0,0,98,97,100,32,68,81,84,32,116,121,112,101,0,0,0,0,98,97,100,32,68,81,84,32,116,97,98,108,101,0,0,0,0,1,8,16,9,2,3,10,17,24,32,25,18,11,4,5,12,19,26,33,40,48,41,34,27,20,13,6,7,14,21,28,35,42,49,56,57,50,43,36,29,22,15,23,30,37,44,51,58,59,52,45,38,31,39,46,53,60,61,54,47,55,62,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,0,98,97,100,32,68,72,84,32,104,101,97,100,101,114,0,0,98,97,100,32,99,111,100,101,32,108,101,110,103,116,104,115,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,97,100,32,104,117,102,102,109,97,110,32,99,111,100,101,0,0,0,0,0,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,13,0,0,0,15,0,0,0,17,0,0,0,19,0,0,0,23,0,0,0,27,0,0,0,31,0,0,0,35,0,0,0,43,0,0,0,51,0,0,0,59,0,0,0,67,0,0,0,83,0,0,0,99,0,0,0,115,0,0,0,131,0,0,0,163,0,0,0,195,0,0,0,227,0,0,0,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,7,0,0,0,9,0,0,0,13,0,0,0,17,0,0,0,25,0,0,0,33,0,0,0,49,0,0,0,65,0,0,0,97,0,0,0,129,0,0,0,193,0,0,0,1,1,0,0,129,1,0,0,1,2,0,0,1,3,0,0,1,4,0,0,1,6,0,0,1,8,0,0,1,12,0,0,1,16,0,0,1,24,0,0,1,32,0,0,1,48,0,0,1,64,0,0,1,96,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,9,0,0,0,9,0,0,0,10,0,0,0,10,0,0,0,11,0,0,0,11,0,0,0,12,0,0,0,12,0,0,0,13,0,0,0,13,0,0,0,0,0,0,0,0,0,0,0,98,97,100,32,100,105,115,116,0,0,0,0,0,0,0,0,111,117,116,112,117,116,32,98,117,102,102,101,114,32,108,105,109,105,116,0,0,0,0,0,122,45,62,115,105,122,101,91,98,93,32,61,61,32,115,0,115,116,98,105,95,95,122,104,117,102,102,109,97,110,95,100,101,99,111,100,101,95,115,108,111,119,112,97,116,104,0,0,98,105,116,115,32,60,61,32,49,54,0,0,0,0,0,0,115,116,98,105,95,95,98,105,116,95,114,101,118,101,114,115,101,0,0,0,0,0,0,0,122,45,62,99,111,100,101,95,98,117,102,102,101,114,32,60,32,40,49,85,32,60,60,32,122,45,62,110,117,109,95,98,105,116,115,41,0,0,0,0,115,116,98,105,95,95,102,105,108,108,95,98,105,116,115,0,16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15,0,0,0,0,0,98,97,100,32,99,111,100,101,108,101,110,103,116,104,115,0,99,32,61,61,32,49,56,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,104,117,102,102,109,97,110,95,99,111,100,101,115,0,0,0,0,0,98,97,100,32,115,105,122,101,115,0,0,0,0,0,0,0,97,45,62,110,117,109,95,98,105,116,115,32,61,61,32,48,0,0,0,0,0,0,0,0,115,116,98,105,95,95,112,97,114,115,101,95,117,110,99,111,109,112,101,114,115,115,101,100,95,98,108,111,99,107,0,0,122,108,105,98,32,99,111,114,114,117,112,116,0,0,0,0,114,101,97,100,32,112,97,115,116,32,98,117,102,102,101,114,0,0,0,0,0,0,0,0,98,97,100,32,122,108,105,98,32,104,101,97,100,101,114,0,110,111,32,112,114,101,115,101,116,32,100,105,99,116,0,0,98,97,100,32,99,111,109,112,114,101,115,115,105,111,110,0,98,97,100,32,112,97,108,101,116,116,101,0,0,0,0,0,114,101,113,95,99,111,109,112,32,62,61,32,49,32,38,38,32,114,101,113,95,99,111,109,112,32,60,61,32,52,0,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,0,0,0,0,48,0,0,0,0,0,0,0,98,97,100,32,102,105,108,101,0,0,0,0,0,0,0,0,98,97,100,32,102,111,114,109,97,116,0,0,0,0,0,0,83,128,246,52,0,0,0,0,80,73,67,84,0,0,0,0,110,111,116,32,80,83,68,0,119,114,111,110,103,32,118,101,114,115,105,111,110,0,0,0,119,114,111,110,103,32,99,104,97,110,110,101,108,32,99,111,117,110,116,0,0,0,0,0,117,110,115,117,112,112,111,114,116,101,100,32,98,105,116,32,100,101,112,116,104,0,0,0,119,114,111,110,103,32,99,111,108,111,114,32,102,111,114,109,97,116,0,0,0,0,0,0,98,97,100,32,73,109,97,103,101,32,68,101,115,99,114,105,112,116,111,114,0,0,0,0,109,105,115,115,105,110,103,32,99,111,108,111,114,32,116,97,98,108,101,0,0,0,0,0,117,110,107,110,111,119,110,32,99,111,100,101,0,0,0,0,110,111,32,99,108,101,97,114,32,99,111,100,101,0,0,0,116,111,111,32,109,97,110,121,32,99,111,100,101,115,0,0,105,108,108,101,103,97,108,32,99,111,100,101,32,105,110,32,114,97,115,116,101,114,0,0,110,111,116,32,66,77,80,0,117,110,107,110,111,119,110,32,66,77,80,0,0,0,0,0,98,97,100,32,66,77,80,0,109,111,110,111,99,104,114,111,109,101,0,0,0,0,0,0,66,77,80,32,82,76,69,0,104,115,122,32,61,61,32,49,48,56,32,124,124,32,104,115,122,32,61,61,32,49,50,52,0,0,0,0,0,0,0,0,115,116,98,105,95,95,98,109,112,95,108,111,97,100,0,0,105,110,118,97,108,105,100,0,98,97,100,32,98,112,112,0,98,97,100,32,109,97,115,107,115,0,0,0,0,0,0,0,98,97,100,32,114,101,113,95,99,111,109,112,0,0,0,0,106,117,110,107,32,98,101,102,111,114,101,32,109,97,114,107,101,114,0,0,0,0,0,0,99,97,110,39,116,32,109,101,114,103,101,32,100,99,32,97,110,100,32,97,99,0,0,0,110,32,62,61,32,48,32,38,38,32,110,32,60,32,40,105,110,116,41,32,40,115,105,122,101,111,102,40,115,116,98,105,95,95,98,109,97,115,107,41,47,115,105,122,101,111,102,40,42,115,116,98,105,95,95,98,109,97,115,107,41,41,0,0,115,116,98,105,95,95,101,120,116,101,110,100,95,114,101,99,101,105,118,101,0,0,0,0,0,0,0,0,1,0,0,0,3,0,0,0,7,0,0,0,15,0,0,0,31,0,0,0,63,0,0,0,127,0,0,0,255,0,0,0,255,1,0,0,255,3,0,0,255,7,0,0,255,15,0,0,255,31,0,0,255,63,0,0,255,127,0,0,255,255,0,0,0,0,0,0,0,0,0,0,255,255,255,255,253,255,255,255,249,255,255,255,241,255,255,255,225,255,255,255,193,255,255,255,129,255,255,255,1,255,255,255,1,254,255,255,1,252,255,255,1,248,255,255,1,240,255,255,1,224,255,255,1,192,255,255,1,128,255,255,40,40,40,106,45,62,99,111,100,101,95,98,117,102,102,101,114,41,32,62,62,32,40,51,50,32,45,32,104,45,62,115,105,122,101,91,99,93,41,41,32,38,32,115,116,98,105,95,95,98,109,97,115,107,91,104,45,62,115,105,122,101,91,99,93,93,41,32,61,61,32,104,45,62,99,111,100,101,91,99,93,0,0,0,0,0,0,0,115,116,98,105,95,95,106,112,101,103,95,104,117,102,102,95,100,101,99,111,100,101,0,0,98,97,100,32,83,79,83,32,99,111,109,112,111,110,101,110,116,32,99,111,117,110,116,0,98,97,100,32,83,79,83,32,108,101,110,0,0,0,0,0,98,97,100,32,68,67,32,104,117,102,102,0,0,0,0,0,98,97,100,32,65,67,32,104,117,102,102,0,0,0,0,0,98,97,100,32,83,79,83,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,91,86,65,79,32,73,68,32,37,105,93,32,76,105,110,101,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,76,105,110,101,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,0,0,0,0,0,91,86,65,79,32,73,68,32,37,105,93,32,84,114,105,97,110,103,108,101,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,0,0,0,0,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,84,114,105,97,110,103,108,101,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,0,91,86,65,79,32,73,68,32,37,105,93,32,81,117,97,100,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,81,117,97,100,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,0,0,0,0,0,0,0,67,80,85,32,98,117,102,102,101,114,115,32,40,108,105,110,101,115,44,32,116,114,105,97,110,103,108,101,115,44,32,113,117,97,100,115,41,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,51,32,118,101,114,116,101,120,80,111,115,105,116,105,111,110,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,50,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,51,32,118,101,114,116,101,120,78,111,114,109,97,108,59,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,109,97,116,52,32,112,114,111,106,101,99,116,105,111,110,77,97,116,114,105,120,59,32,32,32,32,32,10,117,110,105,102,111,114,109,32,109,97,116,52,32,109,111,100,101,108,118,105,101,119,77,97,116,114,105,120,59,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,102,114,97,103,84,101,120,67,111,111,114,100,32,61,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,10,32,32,32,32,103,108,95,80,111,115,105,116,105,111,110,32,61,32,112,114,111,106,101,99,116,105,111,110,77,97,116,114,105,120,42,109,111,100,101,108,118,105,101,119,77,97,116,114,105,120,42,118,101,99,52,40,118,101,114,116,101,120,80,111,115,105,116,105,111,110,44,32,49,46,48,41,59,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,0,0,0,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,10,112,114,101,99,105,115,105,111,110,32,109,101,100,105,117,109,112,32,102,108,111,97,116,59,32,32,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,115,97,109,112,108,101,114,50,68,32,116,101,120,116,117,114,101,48,59,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,118,101,99,52,32,116,105,110,116,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,118,101,99,52,32,116,101,120,101,108,67,111,108,111,114,32,61,32,116,101,120,116,117,114,101,50,68,40,116,101,120,116,117,114,101,48,44,32,102,114,97,103,84,101,120,67,111,111,114,100,41,59,32,10,32,32,32,32,103,108,95,70,114,97,103,67,111,108,111,114,32,61,32,116,101,120,101,108,67,111,108,111,114,42,116,105,110,116,67,111,108,111,114,59,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,0,0,0,91,83,72,68,82,32,73,68,32,37,105,93,32,83,105,109,112,108,101,32,115,104,97,100,101,114,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,0,91,83,72,68,82,32,73,68,32,37,105,93,32,83,105,109,112,108,101,32,115,104,97,100,101,114,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,51,32,118,101,114,116,101,120,80,111,115,105,116,105,111,110,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,50,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,52,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,116,105,110,116,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,109,97,116,52,32,112,114,111,106,101,99,116,105,111,110,77,97,116,114,105,120,59,32,32,32,32,32,10,117,110,105,102,111,114,109,32,109,97,116,52,32,109,111,100,101,108,118,105,101,119,77,97,116,114,105,120,59,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,102,114,97,103,84,101,120,67,111,111,114,100,32,61,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,10,32,32,32,32,116,105,110,116,67,111,108,111,114,32,61,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,10,32,32,32,32,103,108,95,80,111,115,105,116,105,111,110,32,61,32,112,114,111,106,101,99,116,105,111,110,77,97,116,114,105,120,42,109,111,100,101,108,118,105,101,119,77,97,116,114,105,120,42,118,101,99,52,40,118,101,114,116,101,120,80,111,115,105,116,105,111,110,44,32,49,46,48,41,59,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,0,0,0,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,10,112,114,101,99,105,115,105,111,110,32,109,101,100,105,117,109,112,32,102,108,111,97,116,59,32,32,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,116,105,110,116,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,115,97,109,112,108,101,114,50,68,32,116,101,120,116,117,114,101,48,59,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,118,101,99,52,32,116,101,120,101,108,67,111,108,111,114,32,61,32,116,101,120,116,117,114,101,50,68,40,116,101,120,116,117,114,101,48,44,32,102,114,97,103,84,101,120,67,111,111,114,100,41,59,32,10,32,32,32,32,103,108,95,70,114,97,103,67,111,108,111,114,32,61,32,116,101,120,101,108,67,111,108,111,114,42,116,105,110,116,67,111,108,111,114,59,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,0,0,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,118,101,114,116,101,120,67,111,108,111,114,0,0,0,0,0,0,0,0,0,0,0,0,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,102,117,108,108,115,99,114,101,101,110,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,0,0,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,119,105,110,100,111,119,101,100,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,0,0,0,0,0,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,71,76,70,87,0,0,0,0,0,0,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,77,83,65,65,32,120,52,0,0,0,0,0,0,0,0,71,76,70,87,32,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,87,105,110,100,111,119,0,0,0,0,0,0,0,0,68,105,115,112,108,97,121,32,100,101,118,105,99,101,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,82,101,110,100,101,114,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,0,0,0,83,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,0,0,0,86,105,101,119,112,111,114,116,32,111,102,102,115,101,116,115,58,32,37,105,44,32,37,105,0,0,0,0,0,0,0,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,86,83,89,78,67,0,0,68,79,87,78,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,32,40,37,105,120,37,105,41,32,105,115,32,98,105,103,103,101,114,32,116,104,97,110,32,100,105,115,112,108,97,121,32,115,105,122,101,32,40,37,105,120,37,105,41,0,0,0,68,111,119,110,115,99,97,108,101,32,109,97,116,114,105,120,32,103,101,110,101,114,97,116,101,100,44,32,99,111,110,116,101,110,116,32,119,105,108,108,32,98,101,32,114,101,110,100,101,114,101,100,32,97,116,58,32,37,105,32,120,32,37,105,0,0,0,0,0,0,0,0,85,80,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,32,45,62,32,68,105,115,112,108,97,121,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,0,0,0,0,0,0,91,71,76,70,87,51,32,69,114,114,111,114,93,32,67,111,100,101,58,32,37,105,32,68,101,99,114,105,112,116,105,111,110,58,32,37,115,0,0,0,0,0,0,0,0,0,0,0,69,88,84,0,0,0,0,0,65,82,66,0,0,0,0,0,79,69,83,0,0,0,0,0,65,78,71,76,69,0,0,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,0,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,0,103,108,85,115,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,0,0,0,0,0,103,108,85,115,101,80,114,111,103,114,97,109,0,0,0,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,79,98,106,101,99,116,0,0,0,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,0,0,103,108,65,116,116,97,99,104,79,98,106,101,99,116,0,0,103,108,65,116,116,97,99,104,83,104,97,100,101,114,0,0,103,108,68,101,116,97,99,104,79,98,106,101,99,116,0,0,103,108,68,101,116,97,99,104,83,104,97,100,101,114,0,0,103,108,80,105,120,101,108,83,116,111,114,101,105,0,0,0,103,108,71,101,116,83,116,114,105,110,103,0,0,0,0,0,103,108,71,101,116,73,110,116,101,103,101,114,118,0,0,0,103,108,71,101,116,70,108,111,97,116,118,0,0,0,0,0,103,108,71,101,116,66,111,111,108,101,97,110,118,0,0,0,103,108,71,101,110,84,101,120,116,117,114,101,115,0,0,0,103,108,68,101,108,101,116,101,84,101,120,116,117,114,101,115,0,0,0,0,0,0,0,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,73,109,97,103,101,50,68,0,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,83,117,98,73,109,97,103,101,50,68,0,0,0,0,0,0,0,103,108,84,101,120,73,109,97,103,101,50,68,0,0,0,0,103,108,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,82,101,97,100,80,105,120,101,108,115,0,0,0,0,103,108,66,105,110,100,84,101,120,116,117,114,101,0,0,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,0,0,0,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,0,0,0,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,0,0,0,0,0,0,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,0,0,0,0,0,0,0,103,108,73,115,84,101,120,116,117,114,101,0,0,0,0,0,103,108,71,101,110,66,117,102,102,101,114,115,0,0,0,0,103,108,68,101,108,101,116,101,66,117,102,102,101,114,115,0,103,108,71,101,116,66,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,0,103,108,66,117,102,102,101,114,68,97,116,97,0,0,0,0,103,108,66,117,102,102,101,114,83,117,98,68,97,116,97,0,103,108,73,115,66,117,102,102,101,114,0,0,0,0,0,0,103,108,71,101,110,82,101,110,100,101,114,98,117,102,102,101,114,115,0,0,0,0,0,0,103,108,68,101,108,101,116,101,82,101,110,100,101,114,98,117,102,102,101,114,115,0,0,0,103,108,66,105,110,100,82,101,110,100,101,114,98,117,102,102,101,114,0,0,0,0,0,0,103,108,71,101,116,82,101,110,100,101,114,98,117,102,102,101,114,80,97,114,97,109,101,116,101], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+21705); -/* memory initializer */ allocate([114,105,118,0,0,0,0,103,108,73,115,82,101,110,100,101,114,98,117,102,102,101,114,0,0,0,0,0,0,0,0,103,108,71,101,116,85,110,105,102,111,114,109,102,118,0,0,103,108,71,101,116,85,110,105,102,111,114,109,105,118,0,0,103,108,71,101,116,85,110,105,102,111,114,109,76,111,99,97,116,105,111,110,0,0,0,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,102,118,0,0,0,0,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,105,118,0,0,0,0,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,118,0,0,0,0,0,0,0,103,108,71,101,116,65,99,116,105,118,101,85,110,105,102,111,114,109,0,0,0,0,0,0,103,108,85,110,105,102,111,114,109,49,102,0,0,0,0,0,103,108,85,110,105,102,111,114,109,50,102,0,0,0,0,0,103,108,85,110,105,102,111,114,109,51,102,0,0,0,0,0,103,108,85,110,105,102,111,114,109,52,102,0,0,0,0,0,103,108,85,110,105,102,111,114,109,49,105,0,0,0,0,0,103,108,85,110,105,102,111,114,109,50,105,0,0,0,0,0,103,108,85,110,105,102,111,114,109,51,105,0,0,0,0,0,103,108,85,110,105,102,111,114,109,52,105,0,0,0,0,0,103,108,85,110,105,102,111,114,109,49,105,118,0,0,0,0,103,108,85,110,105,102,111,114,109,50,105,118,0,0,0,0,103,108,85,110,105,102,111,114,109,51,105,118,0,0,0,0,103,108,85,110,105,102,111,114,109,52,105,118,0,0,0,0,103,108,85,110,105,102,111,114,109,49,102,118,0,0,0,0,103,108,85,110,105,102,111,114,109,50,102,118,0,0,0,0,103,108,85,110,105,102,111,114,109,51,102,118,0,0,0,0,103,108,85,110,105,102,111,114,109,52,102,118,0,0,0,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,50,102,118,0,0,0,0,0,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,51,102,118,0,0,0,0,0,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,52,102,118,0,0,0,0,0,0,103,108,66,105,110,100,66,117,102,102,101,114,0,0,0,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,118,0,0,0,0,0,0,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,118,0,0,0,0,0,0,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,118,0,0,0,0,0,0,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,118,0,0,0,0,0,0,0,103,108,71,101,116,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,0,0,0,0,103,108,71,101,116,65,99,116,105,118,101,65,116,116,114,105,98,0,0,0,0,0,0,0,103,108,68,101,108,101,116,101,83,104,97,100,101,114,0,0,103,108,71,101,116,65,116,116,97,99,104,101,100,83,104,97,100,101,114,115,0,0,0,0,103,108,83,104,97,100,101,114,83,111,117,114,99,101,0,0,103,108,71,101,116,83,104,97,100,101,114,83,111,117,114,99,101,0,0,0,0,0,0,0,103,108,67,111,109,112,105,108,101,83,104,97,100,101,114,0,103,108,71,101,116,83,104,97,100,101,114,73,110,102,111,76,111,103,0,0,0,0,0,0,103,108,71,101,116,83,104,97,100,101,114,105,118,0,0,0,103,108,71,101,116,80,114,111,103,114,97,109,105,118,0,0,103,108,73,115,83,104,97,100,101,114,0,0,0,0,0,0,103,108,68,101,108,101,116,101,80,114,111,103,114,97,109,0,103,108,71,101,116,83,104,97,100,101,114,80,114,101,99,105,115,105,111,110,70,111,114,109,97,116,0,0,0,0,0,0,103,108,76,105,110,107,80,114,111,103,114,97,109,0,0,0,103,108,71,101,116,80,114,111,103,114,97,109,73,110,102,111,76,111,103,0,0,0,0,0,103,108,86,97,108,105,100,97,116,101,80,114,111,103,114,97,109,0,0,0,0,0,0,0,103,108,73,115,80,114,111,103,114,97,109,0,0,0,0,0,103,108,66,105,110,100,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,0,0,0,103,108,66,105,110,100,70,114,97,109,101,98,117,102,102,101,114,0,0,0,0,0,0,0,103,108,71,101,110,70,114,97,109,101,98,117,102,102,101,114,115,0,0,0,0,0,0,0,103,108,68,101,108,101,116,101,70,114,97,109,101,98,117,102,102,101,114,115,0,0,0,0,103,108,70,114,97,109,101,98,117,102,102,101,114,82,101,110,100,101,114,98,117,102,102,101,114,0,0,0,0,0,0,0,103,108,70,114,97,109,101,98,117,102,102,101,114,84,101,120,116,117,114,101,50,68,0,0,103,108,71,101,116,70,114,97,109,101,98,117,102,102,101,114,65,116,116,97,99,104,109,101,110,116,80,97,114,97,109,101,116,101,114,105,118,0,0,0,103,108,73,115,70,114,97,109,101,98,117,102,102,101,114,0,103,108,68,101,108,101,116,101,79,98,106,101,99,116,0,0,103,108,71,101,116,79,98,106,101,99,116,80,97,114,97,109,101,116,101,114,105,118,0,0,103,108,71,101,116,73,110,102,111,76,111,103,0,0,0,0,103,108,66,105,110,100,80,114,111,103,114,97,109,0,0,0,103,108,71,101,116,80,111,105,110,116,101,114,118,0,0,0,103,108,68,114,97,119,82,97,110,103,101,69,108,101,109,101,110,116,115,0,0,0,0,0,103,108,69,110,97,98,108,101,67,108,105,101,110,116,83,116,97,116,101,0,0,0,0,0,103,108,86,101,114,116,101,120,80,111,105,110,116,101,114,0,103,108,84,101,120,67,111,111,114,100,80,111,105,110,116,101,114,0,0,0,0,0,0,0,103,108,78,111,114,109,97,108,80,111,105,110,116,101,114,0,103,108,67,111,108,111,114,80,111,105,110,116,101,114,0,0,103,108,67,108,105,101,110,116,65,99,116,105,118,101,84,101,120,116,117,114,101,0,0,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,0,0,0,0,0,0,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,0,0,0,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,0,0,0,0,0,0,0,103,108,77,97,116,114,105,120,77,111,100,101,0,0,0,0,103,108,76,111,97,100,73,100,101,110,116,105,116,121,0,0,103,108,76,111,97,100,77,97,116,114,105,120,102,0,0,0,103,108,70,114,117,115,116,117,109,0,0,0,0,0,0,0,103,108,82,111,116,97,116,101,102,0,0,0,0,0,0,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,0,0,0,103,108,69,110,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,0,0,0,0,0,0,103,108,68,105,115,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,0,0,0,0,0,103,108,68,114,97,119,65,114,114,97,121,115,0,0,0,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,0,0,103,108,83,104,97,100,101,114,66,105,110,97,114,121,0,0,103,108,82,101,108,101,97,115,101,83,104,97,100,101,114,67,111,109,112,105,108,101,114,0,103,108,71,101,116,69,114,114,111,114,0,0,0,0,0,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,68,105,118,105,115,111,114,0,0,0,103,108,68,114,97,119,65,114,114,97,121,115,73,110,115,116,97,110,99,101,100,0,0,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,73,110,115,116,97,110,99,101,100,0,103,108,70,105,110,105,115,104,0,0,0,0,0,0,0,0,103,108,70,108,117,115,104,0,103,108,67,108,101,97,114,68,101,112,116,104,0,0,0,0,103,108,67,108,101,97,114,68,101,112,116,104,102,0,0,0,103,108,68,101,112,116,104,70,117,110,99,0,0,0,0,0,103,108,69,110,97,98,108,101,0,0,0,0,0,0,0,0,103,108,68,105,115,97,98,108,101,0,0,0,0,0,0,0,103,108,70,114,111,110,116,70,97,99,101,0,0,0,0,0,103,108,67,117,108,108,70,97,99,101,0,0,0,0,0,0,103,108,67,108,101,97,114,0,103,108,76,105,110,101,87,105,100,116,104,0,0,0,0,0,103,108,67,108,101,97,114,83,116,101,110,99,105,108,0,0,103,108,68,101,112,116,104,77,97,115,107,0,0,0,0,0,103,108,83,116,101,110,99,105,108,77,97,115,107,0,0,0,103,108,67,104,101,99,107,70,114,97,109,101,98,117,102,102,101,114,83,116,97,116,117,115,0,0,0,0,0,0,0,0,103,108,71,101,110,101,114,97,116,101,77,105,112,109,97,112,0,0,0,0,0,0,0,0,103,108,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,0,103,108,73,115,69,110,97,98,108,101,100,0,0,0,0,0,103,108,66,108,101,110,100,70,117,110,99,0,0,0,0,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,83,101,112,97,114,97,116,101,0,103,108,68,101,112,116,104,82,97,110,103,101,0,0,0,0,103,108,68,101,112,116,104,82,97,110,103,101,102,0,0,0,103,108,83,116,101,110,99,105,108,77,97,115,107,83,101,112,97,114,97,116,101,0,0,0,103,108,72,105,110,116,0,0,103,108,80,111,108,121,103,111,110,79,102,102,115,101,116,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,0,0,0,0,0,0,0,0,103,108,83,97,109,112,108,101,67,111,118,101,114,97,103,101,0,0,0,0,0,0,0,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,0,0,0,0,0,0,0,0,103,108,83,116,101,110,99,105,108,70,117,110,99,0,0,0,103,108,83,116,101,110,99,105,108,79,112,0,0,0,0,0,103,108,86,105,101,119,112,111,114,116,0,0,0,0,0,0,103,108,67,108,101,97,114,67,111,108,111,114,0,0,0,0,103,108,83,99,105,115,115,111,114,0,0,0,0,0,0,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,0,0,0,0,0,0,0,0,103,108,67,111,108,111,114,77,97,115,107,0,0,0,0,0,103,108,82,101,110,100,101,114,98,117,102,102,101,114,83,116,111,114,97,103,101,0,0,0,103,108,66,108,101,110,100,70,117,110,99,83,101,112,97,114,97,116,101,0,0,0,0,0,103,108,66,108,101,110,100,67,111,108,111,114,0,0,0,0,103,108,83,116,101,110,99,105,108,70,117,110,99,83,101,112,97,114,97,116,101,0,0,0,103,108,83,116,101,110,99,105,108,79,112,83,101,112,97,114,97,116,101,0,0,0,0,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,0,0,0,0,0,0,0,0,103,108,67,111,112,121,84,101,120,73,109,97,103,101,50,68,0,0,0,0,0,0,0,0,103,108,67,111,112,121,84,101,120,83,117,98,73,109,97,103,101,50,68,0,0,0,0,0,103,108,68,114,97,119,66,117,102,102,101,114,115,0,0,0,123,32,77,111,100,117,108,101,46,112,114,105,110,116,69,114,114,40,39,98,97,100,32,110,97,109,101,32,105,110,32,103,101,116,80,114,111,99,65,100,100,114,101,115,115,58,32,39,32,43,32,91,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,48,41,44,32,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,49,41,93,41,59,32,125,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+31945); +/* memory initializer */ allocate([255,255,255,255,255,255,255,255,16,0,0,0,16,0,0,0,16,0,0,0,16,0,0,0,0,0,128,63,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,32,0,0,176,1,0,0,0,0,0,0,0,0,0,32,37,249,142,0,10,2,0,0,128,190,125,95,244,125,31,160,242,43,74,30,9,82,8,0,64,34,65,80,20,4,16,32,32,41,46,18,8,34,8,0,32,34,65,80,20,4,16,32,32,249,16,76,8,250,62,60,16,34,125,222,247,125,16,32,32,161,232,50,8,34,8,0,8,34,5,16,4,69,16,0,240,163,164,50,8,82,8,0,4,34,5,16,4,69,16,32,32,249,226,94,8,2,0,129,2,62,125,31,244,125,16,0,0,32,0,0,176,1,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,190,15,0,192,15,224,247,251,125,126,191,95,232,190,80,0,162,8,8,68,232,47,20,10,133,2,129,80,72,160,80,0,162,40,228,73,40,40,20,10,132,2,129,64,72,160,72,0,190,15,2,16,175,235,247,9,132,62,159,216,79,160,71,0,34,136,228,9,161,42,20,10,132,2,129,80,72,160,72,0,34,40,8,4,160,47,20,10,133,2,129,80,72,162,80,0,190,143,0,0,33,32,244,251,125,126,129,95,232,156,208,7,0,128,0,0,224,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,1,12,0,130,66,191,223,239,247,251,11,5,5,133,66,191,4,72,0,198,66,161,80,40,20,64,8,5,37,133,66,160,8,168,0,170,70,161,80,40,20,64,8,5,37,133,66,144,16,8,0,146,74,161,95,232,247,67,8,5,37,121,126,136,32,8,0,130,82,161,64,40,1,66,8,137,36,133,64,132,64,8,0,130,98,161,64,42,2,66,8,81,36,133,64,130,128,8,0,130,66,191,192,47,244,67,248,33,252,133,126,191,0,9,62,0,0,0,0,4,0,0,0,0,0,0,0,128,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,0,4,0,32,72,65,0,0,0,0,0,8,0,0,4,4,0,4,60,32,0,65,0,0,0,0,0,8,0,0,240,125,223,247,133,239,75,81,190,239,251,190,239,59,81,4,0,69,65,20,133,40,74,73,170,40,138,162,32,8,81,4,240,69,65,244,157,40,74,71,170,40,138,162,224,11,81,4,16,69,65,20,132,40,74,73,170,40,138,162,0,10,145,2,240,125,223,247,133,47,74,209,170,232,251,190,224,123,31,1,0,0,0,0,4,8,64,0,0,0,8,32,0,0,0,0,0,0,0,0,132,15,96,0,0,0,8,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,172,1,15,0,0,0,0,0,0,0,0,0,0,0,0,0,36,1,9,0,0,0,0,0,0,0,0,0,6,0,0,0,36,1,9,0,0,0,0,0,0,0,128,16,9,162,40,250,36,1,9,0,0,0,0,0,0,0,0,62,1,42,37,66,34,82,9,0,0,0,0,0,0,0,128,138,3,42,34,34,36,41,9,0,0,0,0,0,0,0,128,10,1,42,37,18,36,1,9,0,0,0,0,0,0,0,128,10,1,190,232,251,36,1,9,0,0,0,0,0,0,0,128,190,14,0,0,2,172,1,15,0,0,0,0,0,0,0,128,4,0,0,224,3,0,0,0,0,0,0,0,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,0,0,0,14,184,67,132,3,58,32,0,128,160,190,2,32,0,0,240,138,32,82,196,2,43,32,4,34,145,2,248,59,0,240,7,142,56,75,228,2,58,32,2,28,138,30,8,42,233,17,4,224,11,66,244,2,130,36,1,20,4,20,232,186,4,209,5,128,184,195,231,10,58,137,0,28,14,60,40,2,9,80,4,128,0,64,196,2,128,68,0,34,132,32,232,2,0,80,4,0,0,64,128,2,0,32,5,0,142,62,8,2,0,16,4,224,3,64,128,66,0,0,7,0,132,0,248,3,0,240,7,0,0,64,128,34,0,0,4,0,0,0,0,0,0,0,0,0,0,64,128,2,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,128,0,194,160,72,24,0,0,1,132,33,9,146,2,66,38,4,1,33,81,0,0,127,63,2,66,2,16,41,0,34,20,192,239,247,251,253,126,9,161,223,239,247,187,187,3,18,15,68,40,20,10,133,66,9,129,64,32,16,16,17,1,8,4,68,40,20,10,133,66,127,129,64,32,16,16,17,1,4,130,199,239,247,251,253,126,9,129,207,231,243,17,17,1,50,169,80,40,20,10,133,66,9,161,64,32,16,16,17,1,64,184,80,40,20,10,133,66,121,191,223,239,247,187,187,3,32,160,31,0,0,0,0,0,0,16,0,0,0,0,0,0,112,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,2,8,131,34,1,0,2,8,67,2,1,0,1,1,124,20,4,132,68,1,0,32,4,132,4,128,8,63,130,0,132,66,191,223,239,247,3,126,161,80,40,20,10,33,0,0,132,70,161,80,40,20,138,82,161,80,40,20,122,161,239,3,158,74,161,80,40,20,82,82,161,80,40,20,74,31,8,2,132,82,161,80,40,20,34,74,161,80,40,244,75,161,239,3,132,98,161,80,40,20,82,74,161,80,40,4,122,161,40,2,124,66,191,223,239,247,139,126,191,223,239,247,11,189,239,3,0,0,0,0,0,0,0,4,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,5,32,0,0,4,132,0,34,129,69,17,16,66,1,0,148,66,81,0,0,8,66,81,148,42,162,32,8,165,80,0,0,0,32,0,0,0,0,0,0,0,5,0,0,0,0,8,190,239,251,254,251,190,239,251,20,145,235,251,190,239,251,0,32,8,130,32,10,162,40,138,20,145,40,138,162,40,138,62,190,239,251,254,11,190,239,251,20,145,40,138,162,40,138,0,162,40,138,34,8,130,32,8,20,145,40,138,162,40,138,8,190,239,251,254,251,190,239,251,20,145,47,250,190,239,251,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,33,0,4,0,0,0,0,0,0,0,0,0,0,0,0,130,80,20,2,20,0,0,0,0,0,0,0,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,190,40,138,162,40,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,168,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,190,239,251,190,47,62,0,0,0,0,0,0,0,0,0,0,4,0,0,0,40,32,0,0,0,0,0,0,0,0,0,0,0,0,0,128,15,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,1,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,2,0,0,0,7,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,2,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,7,0,0,0,1,0,0,0,5,0,0,0,3,0,0,0,7,0,0,0,3,0,0,0,5,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,5,0,0,0,6,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,9,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,5,0,0,0,255,255,255,255,0,1,0,0,255,255,255,255,0,0,128,191,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,1,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,13,0,0,0,15,0,0,0,17,0,0,0,19,0,0,0,23,0,0,0,27,0,0,0,31,0,0,0,35,0,0,0,43,0,0,0,51,0,0,0,59,0,0,0,67,0,0,0,83,0,0,0,99,0,0,0,115,0,0,0,131,0,0,0,163,0,0,0,195,0,0,0,227,0,0,0,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,9,0,0,0,9,0,0,0,10,0,0,0,10,0,0,0,11,0,0,0,11,0,0,0,12,0,0,0,12,0,0,0,13,0,0,0,13,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,7,0,0,0,9,0,0,0,13,0,0,0,17,0,0,0,25,0,0,0,33,0,0,0,49,0,0,0,65,0,0,0,97,0,0,0,129,0,0,0,193,0,0,0,1,1,0,0,129,1,0,0,1,2,0,0,1,3,0,0,1,4,0,0,1,6,0,0,1,8,0,0,1,12,0,0,1,16,0,0,1,24,0,0,1,32,0,0,1,48,0,0,1,64,0,0,1,96,0,0,0,0,0,0,0,0,0,0,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,171,170,42,63,0,0,0,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,192,63,0,0,0,64,0,0,0,0,0,0,128,191,0,0,0,192,0,0,128,192,0,0,0,193,0,0,128,193,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,63,0,0,0,64,0,0,128,64,0,0,0,65,0,0,128,65,0,0,0,0,0,0,0,0,172,95,0,0,0,1,0,0,128,0,0,0,86,0,0,0,64,0,0,0,62,180,228,51,9,145,243,51,139,178,1,52,60,32,10,52,35,26,19,52,96,169,28,52,167,215,38,52,75,175,49,52,80,59,61,52,112,135,73,52,35,160,86,52,184,146,100,52,85,109,115,52,136,159,129,52,252,11,138,52,147,4,147,52,105,146,156,52,50,191,166,52,63,149,177,52,147,31,189,52,228,105,201,52,173,128,214,52,54,113,228,52,166,73,243,52,136,140,1,53,192,247,9,53,6,239,18,53,118,123,28,53,192,166,38,53,55,123,49,53,218,3,61,53,94,76,73,53,59,97,86,53,185,79,100,53,252,37,115,53,138,121,129,53,134,227,137,53,124,217,146,53,133,100,156,53,82,142,166,53,51,97,177,53,37,232,188,53,220,46,201,53,206,65,214,53,65,46,228,53,87,2,243,53,143,102,1,54,79,207,9,54,245,195,18,54,152,77,28,54,232,117,38,54,50,71,49,54,116,204,60,54,94,17,73,54,101,34,86,54,206,12,100,54,184,222,114,54,151,83,129,54,28,187,137,54,114,174,146,54,175,54,156,54,129,93,166,54,53,45,177,54,199,176,188,54,228,243,200,54,1,3,214,54,96,235,227,54,30,187,242,54,162,64,1,55,235,166,9,55,241,152,18,55,201,31,28,55,30,69,38,55,61,19,49,55,30,149,60,55,111,214,72,55,162,227,85,55,247,201,99,55,137,151,114,55,175,45,129,55,190,146,137,55,116,131,146,55,230,8,156,55,190,44,166,55,71,249,176,55,121,121,188,55,254,184,200,55,71,196,213,55,146,168,227,55,248,115,242,55,192,26,1,56,147,126,9,56,249,109,18,56,6,242,27,56,98,20,38,56,86,223,48,56,216,93,60,56,146,155,72,56,242,164,85,56,51,135,99,56,110,80,114,56,211,7,129,56,107,106,137,56,130,88,146,56,42,219,155,56,9,252,165,56,104,197,176,56,59,66,188,56,41,126,200,56,160,133,213,56,217,101,227,56,232,44,242,56,233,244,0,57,70,86,9,57,14,67,18,57,81,196,27,57,181,227,37,57,127,171,48,57,162,38,60,57,197,96,72,57,83,102,85,57,131,68,99,57,104,9,114,57,1,226,128,57,36,66,137,57,157,45,146,57,123,173,155,57,99,203,165,57,153,145,176,57,13,11,188,57,102,67,200,57,11,71,213,57,50,35,227,57,237,229,241,57,29,207,0,58,5,46,9,58,48,24,18,58,169,150,27,58,21,179,37,58,183,119,48,58,124,239,59,58,10,38,72,58,199,39,85,58,230,1,99,58,120,194,113,58,59,188,128,58,233,25,137,58,198,2,146,58,219,127,155,58,203,154,165,58,216,93,176,58,239,211,187,58,179,8,200,58,136,8,213,58,159,224,226,58,7,159,241,58,92,169,0,59,208,5,9,59,94,237,17,59,15,105,27,59,132,130,37,59,253,67,48,59,103,184,59,59,97,235,71,59,77,233,84,59,93,191,98,59,156,123,113,59,127,150,128,59,186,241,136,59,249,215,145,59,71,82,155,59,65,106,165,59,39,42,176,59,226,156,187,59,18,206,199,59,23,202,212,59,32,158,226,59,53,88,241,59,166,131,0,60,167,221,8,60,152,194,17,60,130,59,27,60,1,82,37,60,84,16,48,60,97,129,59,60,200,176,71,60,229,170,84,60,232,124,98,60,212,52,113,60,207,112,128,60,150,201,136,60,58,173,145,60,192,36,155,60,197,57,165,60,133,246,175,60,229,101,187,60,130,147,199,60,185,139,212,60,180,91,226,60,121,17,241,60,251,93,0,61,137,181,8,61,223,151,17,61,2,14,27,61,141,33,37,61,185,220,47,61,109,74,59,61,64,118,71,61,145,108,84,61,133,58,98,61,34,238,112,61,42,75,128,61,127,161,136,61,136,130,145,61,72,247,154,61,88,9,165,61,242,194,175,61,248,46,187,61,3,89,199,61,109,77,212,61,92,25,226,61,209,202,240,61,91,56,0,62,119,141,8,62,51,109,17,62,144,224,26,62,39,241,36,62,46,169,47,62,135,19,59,62,202,59,71,62,77,46,84,62,55,248,97,62,132,167,112,62,143,37,128,62,115,121,136,62,226,87,145,62,220,201,154,62,249,216,164,62,109,143,175,62,27,248,186,62,149,30,199,62,51,15,212,62,23,215,225,62,61,132,240,62,198,18,0,63,114,101,8,63,147,66,17,63,43,179,26,63,206,192,36,63,177,117,47,63,178,220,58,63,101,1,71,63,29,240,83,63,251,181,97,63,251,96,112,63,0,0,128,63,79,103,103,83,2,0,0,192,3,0,0,192,4,0,0,192,5,0,0,192,6,0,0,192,7,0,0,192,8,0,0,192,9,0,0,192,10,0,0,192,11,0,0,192,12,0,0,192,13,0,0,192,14,0,0,192,15,0,0,192,16,0,0,192,17,0,0,192,18,0,0,192,19,0,0,192,20,0,0,192,21,0,0,192,22,0,0,192,23,0,0,192,24,0,0,192,25,0,0,192,26,0,0,192,27,0,0,192,28,0,0,192,29,0,0,192,30,0,0,192,31,0,0,192,0,0,0,179,1,0,0,195,2,0,0,195,3,0,0,195,4,0,0,195,5,0,0,195,6,0,0,195,7,0,0,195,8,0,0,195,9,0,0,195,10,0,0,195,11,0,0,195,12,0,0,195,13,0,0,211,14,0,0,195,15,0,0,195,0,0,12,187,1,0,12,195,2,0,12,195,3,0,12,195,4,0,12,211,184,19,0,0,5,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,7,144,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,220,129,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,44,21,0,0,5,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,15,144,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,44,21,0,0,10,0,0,0,100,0,0,0,232,3,0,0,16,39,0,0,160,134,1,0,64,66,15,0,128,150,152,0,0,225,245,5,95,112,137,0,255,9,47,15,176,6,80,6,245,5,160,5,77,5,1,5,185,4,117,4,53,4,249,3,193,3,139,3,88,3,83,75,85,76,76,89,32,69,83,67,65,80,69,32,91,75,73,78,71,32,71,65,77,69,74,65,77,93,0,0,114,101,115,111,117,114,99,101,115,47,97,117,100,105,111,47,99,111,109,101,95,112,108,97,121,95,119,105,116,104,95,109,101,46,111,103,103,0,114,101,115,111,117,114,99,101,115,47,116,101,120,116,117,114,101,115,47,97,108,97,103,97,114,100,46,112,110,103,0,114,101,115,111,117,114,99,101,115,47,116,101,120,116,117,114,101,115,47,100,111,111,114,115,46,112,110,103,0,114,101,115,111,117,114,99,101,115,47,97,117,100,105,111,47,100,111,111,114,46,111,103,103,0,114,101,115,111,117,114,99,101,115,47,97,117,100,105,111,47,115,99,114,101,97,109,46,111,103,103,0,114,101,115,111,117,114,99,101,115,47,116,101,120,116,117,114,101,115,47,115,107,117,108,108,121,95,108,111,103,111,46,112,110,103,0,71,82,65,89,32,84,69,65,77,0,112,111,119,101,114,101,100,32,98,121,0,114,101,115,111,117,114,99,101,115,47,116,101,120,116,117,114,101,115,47,116,105,116,108,101,46,112,110,103,0,80,82,69,83,83,32,69,78,84,69,82,32,116,111,32,83,84,65,82,84,0,114,101,115,111,117,114,99,101,115,47,116,101,120,116,117,114,101,115,47,98,97,99,107,103,114,111,117,110,100,95,97,116,116,105,99,46,112,110,103,0,89,79,85,82,32,80,65,82,69,78,84,83,32,65,82,69,32,71,79,78,69,33,32,84,73,77,69,32,84,79,32,69,83,67,65,80,69,33,10,84,72,69,32,68,79,79,82,32,73,83,32,76,79,67,75,69,68,46,46,46,32,84,85,82,78,32,79,78,32,84,72,69,32,76,73,71,72,84,83,33,32,59,41,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,114,101,115,111,117,114,99,101,115,47,116,101,120,116,117,114,101,115,47,98,97,99,107,103,114,111,117,110,100,95,97,105,115,108,101,48,49,46,112,110,103,0,87,72,79,32,73,83,32,84,72,69,82,69,63,63,63,10,65,78,89,66,79,68,89,32,73,78,32,84,72,69,32,82,79,79,77,63,63,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,114,101,115,111,117,114,99,101,115,47,116,101,120,116,117,114,101,115,47,98,97,99,107,103,114,111,117,110,100,95,97,105,115,108,101,48,50,46,112,110,103,0,114,101,115,111,117,114,99,101,115,47,116,101,120,116,117,114,101,115,47,109,111,110,115,116,101,114,95,108,97,109,112,95,114,105,103,104,116,46,112,110,103,0,114,101,115,111,117,114,99,101,115,47,116,101,120,116,117,114,101,115,47,109,111,110,115,116,101,114,95,97,114,99,46,112,110,103,0,72,65,83,32,76,69,71,83,32,66,85,84,32,67,65,78,32,78,79,84,32,87,65,76,75,46,46,46,10,83,69,65,82,67,72,32,70,79,82,32,73,84,32,84,79,32,79,80,69,78,32,84,72,69,32,68,79,79,82,33,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,114,101,115,111,117,114,99,101,115,47,116,101,120,116,117,114,101,115,47,98,97,99,107,103,114,111,117,110,100,95,97,114,109,111,114,121,46,112,110,103,0,114,101,115,111,117,114,99,101,115,47,116,101,120,116,117,114,101,115,47,109,111,110,115,116,101,114,95,98,108,97,122,111,110,48,49,46,112,110,103,0,114,101,115,111,117,114,99,101,115,47,116,101,120,116,117,114,101,115,47,109,111,110,115,116,101,114,95,98,108,97,122,111,110,48,50,46,112,110,103,0,114,101,115,111,117,114,99,101,115,47,116,101,120,116,117,114,101,115,47,109,111,110,115,116,101,114,95,98,108,97,122,111,110,48,51,46,112,110,103,0,78,79,32,77,79,82,69,32,84,73,80,83,46,46,46,10,70,79,76,76,79,87,32,89,79,85,82,32,73,78,83,84,73,78,67,84,33,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,114,101,115,111,117,114,99,101,115,47,116,101,120,116,117,114,101,115,47,98,97,99,107,103,114,111,117,110,100,95,108,105,118,105,110,103,114,111,111,109,46,112,110,103,0,114,101,115,111,117,114,99,101,115,47,116,101,120,116,117,114,101,115,47,109,111,110,115,116,101,114,95,99,97,110,100,108,101,46,112,110,103,0,114,101,115,111,117,114,99,101,115,47,116,101,120,116,117,114,101,115,47,109,111,110,115,116,101,114,95,112,105,99,116,117,114,101,46,112,110,103,0,114,101,115,111,117,114,99,101,115,47,116,101,120,116,117,114,101,115,47,109,111,110,115,116,101,114,95,112,104,111,110,101,46,112,110,103,0,87,72,69,78,32,87,73,78,68,32,66,76,79,87,83,44,32,73,84,32,75,78,79,87,83,32,84,72,69,32,68,73,82,69,67,84,73,79,78,10,76,69,84,32,73,84,32,71,85,73,68,69,32,89,79,85,33,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,114,101,115,111,117,114,99,101,115,47,116,101,120,116,117,114,101,115,47,98,97,99,107,103,114,111,117,110,100,95,107,105,116,99,104,101,110,46,112,110,103,0,114,101,115,111,117,114,99,101,115,47,116,101,120,116,117,114,101,115,47,109,111,110,115,116,101,114,95,99,108,111,115,101,116,46,112,110,103,0,114,101,115,111,117,114,99,101,115,47,116,101,120,116,117,114,101,115,47,109,111,110,115,116,101,114,95,99,104,97,105,114,95,108,101,102,116,46,112,110,103,0,114,101,115,111,117,114,99,101,115,47,116,101,120,116,117,114,101,115,47,109,111,110,115,116,101,114,95,119,105,110,100,111,119,46,112,110,103,0,81,85,73,84,69,32,66,79,82,73,78,71,32,65,82,79,85,78,68,46,46,46,10,65,78,89,32,66,69,84,84,69,82,32,69,78,84,69,82,84,65,73,78,73,78,71,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,114,101,115,111,117,114,99,101,115,47,116,101,120,116,117,114,101,115,47,98,97,99,107,103,114,111,117,110,100,95,98,97,116,104,114,111,111,109,46,112,110,103,0,114,101,115,111,117,114,99,101,115,47,116,101,120,116,117,114,101,115,47,109,111,110,115,116,101,114,95,108,97,109,112,95,108,101,102,116,46,112,110,103,0,114,101,115,111,117,114,99,101,115,47,116,101,120,116,117,114,101,115,47,109,111,110,115,116,101,114,95,109,105,114,114,111,114,46,112,110,103,0,114,101,115,111,117,114,99,101,115,47,116,101,120,116,117,114,101,115,47,109,111,110,115,116,101,114,95,99,104,97,105,114,95,114,105,103,104,116,46,112,110,103,0,84,82,73,67,75,32,79,82,32,84,82,69,65,84,33,32,87,72,79,32,73,83,32,84,72,69,32,77,79,83,84,32,66,69,65,85,84,73,70,85,76,10,83,75,69,76,69,84,79,78,32,73,78,32,84,72,69,32,87,79,82,76,68,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,67,72,79,79,83,69,32,87,73,83,69,76,89,33,0,80,82,69,83,83,32,83,80,65,67,69,32,111,114,32,67,76,73,67,75,32,116,111,32,73,78,84,69,82,65,67,84,0,67,79,78,71,82,65,84,85,76,65,84,73,79,78,83,33,0,83,75,85,76,76,89,32,69,83,67,65,80,69,68,33,0,80,82,69,83,83,32,69,78,84,69,82,32,111,114,32,67,76,73,67,75,0,114,101,115,111,117,114,99,101,115,47,116,101,120,116,117,114,101,115,47,115,107,117,108,108,121,46,112,110,103,0,114,101,115,111,117,114,99,101,115,47,116,101,120,116,117,114,101,115,47,115,107,117,108,108,121,95,105,99,111,110,46,112,110,103,0,73,110,105,116,105,97,108,105,122,105,110,103,32,114,97,121,108,105,98,32,40,118,49,46,55,46,48,41,0,35,99,97,110,118,97,115,0,84,97,114,103,101,116,32,116,105,109,101,32,112,101,114,32,102,114,97,109,101,58,32,37,48,50,46,48,51,102,32,109,105,108,108,105,115,101,99,111,110,100,115,0,69,115,99,97,112,101,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,102,117,108,108,115,99,114,101,101,110,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,119,105,110,100,111,119,101,100,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,91,84,69,88,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,102,111,110,116,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,84,69,88,32,37,105,93,32,80,97,114,97,109,101,116,101,114,115,58,32,37,105,120,37,105,44,32,37,105,32,109,105,112,115,44,32,102,111,114,109,97,116,32,37,105,0,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,50,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,84,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,84,101,120,116,117,114,101,32,99,114,101,97,116,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,73,109,97,103,101,32,100,97,116,97,32,102,111,114,109,97,116,32,105,115,32,99,111,109,112,114,101,115,115,101,100,44,32,99,97,110,32,110,111,116,32,98,101,32,99,111,110,118,101,114,116,101,100,0,70,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,102,111,114,32,112,105,120,101,108,32,100,97,116,97,32,114,101,116,114,105,101,118,97,108,0,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,71,76,70,87,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,77,83,65,65,32,120,52,0,67,108,111,115,101,115,116,32,102,117,108,108,115,99,114,101,101,110,32,118,105,100,101,111,109,111,100,101,58,32,37,105,32,120,32,37,105,0,71,76,70,87,32,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,87,105,110,100,111,119,0,68,105,115,112,108,97,121,32,100,101,118,105,99,101,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,82,101,110,100,101,114,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,83,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,86,105,101,119,112,111,114,116,32,111,102,102,115,101,116,115,58,32,37,105,44,32,37,105,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,86,83,89,78,67,0,71,80,85,58,32,86,101,110,100,111,114,58,32,32,32,37,115,0,71,80,85,58,32,82,101,110,100,101,114,101,114,58,32,37,115,0,71,80,85,58,32,86,101,114,115,105,111,110,58,32,32,37,115,0,71,80,85,58,32,71,76,83,76,58,32,32,32,32,32,37,115,0,32,0,78,117,109,98,101,114,32,111,102,32,115,117,112,112,111,114,116,101,100,32,101,120,116,101,110,115,105,111,110,115,58,32,37,105,0,71,76,95,79,69,83,95,118,101,114,116,101,120,95,97,114,114,97,121,95,111,98,106,101,99,116,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,79,69,83,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,71,76,95,79,69,83,95,116,101,120,116,117,114,101,95,110,112,111,116,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,115,51,116,99,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,87,69,66,75,73,84,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,79,69,83,95,99,111,109,112,114,101,115,115,101,100,95,69,84,67,49,95,82,71,66,56,95,116,101,120,116,117,114,101,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,101,116,99,49,0,71,76,95,65,82,66,95,69,83,51,95,99,111,109,112,97,116,105,98,105,108,105,116,121,0,71,76,95,73,77,71,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,112,118,114,116,99,0,71,76,95,75,72,82,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,97,115,116,99,95,104,100,114,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,102,105,108,116,101,114,95,97,110,105,115,111,116,114,111,112,105,99,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,109,105,114,114,111,114,95,99,108,97,109,112,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE); +/* memory initializer */ allocate([115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,86,65,79,32,102,117,110,99,116,105,111,110,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,86,65,79,32,117,115,97,103,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,102,117,108,108,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,108,105,109,105,116,101,100,32,78,80,79,84,32,115,117,112,112,111,114,116,32,40,110,111,45,109,105,112,109,97,112,115,44,32,110,111,45,114,101,112,101,97,116,41,0,91,69,88,84,69,78,83,73,79,78,93,32,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,50,47,69,65,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,110,105,115,111,116,114,111,112,105,99,32,116,101,120,116,117,114,101,115,32,102,105,108,116,101,114,105,110,103,32,115,117,112,112,111,114,116,101,100,32,40,109,97,120,58,32,37,46,48,102,88,41,0,91,69,88,84,69,78,83,73,79,78,93,32,67,108,97,109,112,32,109,105,114,114,111,114,32,119,114,97,112,32,116,101,120,116,117,114,101,32,109,111,100,101,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,79,112,101,110,71,76,32,100,101,102,97,117,108,116,32,115,116,97,116,101,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,67,80,85,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,44,32,116,114,105,97,110,103,108,101,115,44,32,113,117,97,100,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,51,32,118,101,114,116,101,120,80,111,115,105,116,105,111,110,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,50,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,52,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,109,97,116,52,32,109,118,112,77,97,116,114,105,120,59,32,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,102,114,97,103,84,101,120,67,111,111,114,100,32,61,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,10,32,32,32,32,102,114,97,103,67,111,108,111,114,32,61,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,10,32,32,32,32,103,108,95,80,111,115,105,116,105,111,110,32,61,32,109,118,112,77,97,116,114,105,120,42,118,101,99,52,40,118,101,114,116,101,120,80,111,115,105,116,105,111,110,44,32,49,46,48,41,59,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,112,114,101,99,105,115,105,111,110,32,109,101,100,105,117,109,112,32,102,108,111,97,116,59,32,32,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,115,97,109,112,108,101,114,50,68,32,116,101,120,116,117,114,101,48,59,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,118,101,99,52,32,99,111,108,68,105,102,102,117,115,101,59,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,118,101,99,52,32,116,101,120,101,108,67,111,108,111,114,32,61,32,116,101,120,116,117,114,101,50,68,40,116,101,120,116,117,114,101,48,44,32,102,114,97,103,84,101,120,67,111,111,114,100,41,59,32,10,32,32,32,32,103,108,95,70,114,97,103,67,111,108,111,114,32,61,32,116,101,120,101,108,67,111,108,111,114,42,99,111,108,68,105,102,102,117,115,101,42,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,118,101,114,116,101,120,80,111,115,105,116,105,111,110,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,50,0,118,101,114,116,101,120,78,111,114,109,97,108,0,118,101,114,116,101,120,84,97,110,103,101,110,116,0,118,101,114,116,101,120,67,111,108,111,114,0,109,118,112,77,97,116,114,105,120,0,99,111,108,68,105,102,102,117,115,101,0,99,111,108,65,109,98,105,101,110,116,0,99,111,108,83,112,101,99,117,108,97,114,0,116,101,120,116,117,114,101,48,0,116,101,120,116,117,114,101,49,0,116,101,120,116,117,114,101,50,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,118,101,114,116,101,120,32,115,104,97,100,101,114,46,46,46,0,37,115,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,86,101,114,116,101,120,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,102,114,97,103,109,101,110,116,32,115,104,97,100,101,114,46,46,46,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,114,97,103,109,101,110,116,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,108,105,110,107,32,115,104,97,100,101,114,32,112,114,111,103,114,97,109,46,46,46,0,91,83,72,68,82,32,73,68,32,37,105,93,32,83,104,97,100,101,114,32,112,114,111,103,114,97,109,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,79,87,78,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,32,40,37,105,120,37,105,41,32,105,115,32,98,105,103,103,101,114,32,116,104,97,110,32,100,105,115,112,108,97,121,32,115,105,122,101,32,40,37,105,120,37,105,41,0,68,111,119,110,115,99,97,108,101,32,109,97,116,114,105,120,32,103,101,110,101,114,97,116,101,100,44,32,99,111,110,116,101,110,116,32,119,105,108,108,32,98,101,32,114,101,110,100,101,114,101,100,32,97,116,58,32,37,105,32,120,32,37,105,0,85,80,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,32,45,62,32,68,105,115,112,108,97,121,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,91,71,76,70,87,51,32,69,114,114,111,114,93,32,67,111,100,101,58,32,37,105,32,68,101,99,114,105,112,116,105,111,110,58,32,37,115,0,73,78,70,79,58,32,0,87,65,82,78,73,78,71,58,32,0,87,105,110,100,111,119,32,99,108,111,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,40,98,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,41,32,102,114,111,109,32,86,82,65,77,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,83,116,97,99,107,32,66,117,102,102,101,114,32,79,118,101,114,102,108,111,119,32,40,77,65,88,32,37,105,32,77,97,116,114,105,120,41,0,77,65,88,95,76,73,78,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,84,82,73,65,78,71,76,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,81,85,65,68,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,67,108,97,109,112,32,109,105,114,114,111,114,32,119,114,97,112,32,109,111,100,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,77,97,120,105,109,117,109,32,97,110,105,115,111,116,114,111,112,105,99,32,102,105,108,116,101,114,32,108,101,118,101,108,32,115,117,112,112,111,114,116,101,100,32,105,115,32,37,105,88,0,65,110,105,115,111,116,114,111,112,105,99,32,102,105,108,116,101,114,105,110,103,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,114,105,46,98,105,116,115,95,112,101,114,95,99,104,97,110,110,101,108,32,61,61,32,49,54,0,46,47,101,120,116,101,114,110,97,108,47,115,116,98,95,105,109,97,103,101,46,104,0,115,116,98,105,95,95,108,111,97,100,95,97,110,100,95,112,111,115,116,112,114,111,99,101,115,115,95,56,98,105,116,0,111,117,116,111,102,109,101,109,0,117,110,107,110,111,119,110,32,105,109,97,103,101,32,116,121,112,101,0,98,97,100,32,114,101,113,95,99,111,109,112,0,114,101,113,95,99,111,109,112,32,62,61,32,49,32,38,38,32,114,101,113,95,99,111,109,112,32,60,61,32,52,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,49,54,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,0,109,117,108,116,105,112,108,101,32,73,72,68,82,0,98,97,100,32,73,72,68,82,32,108,101,110,0,116,111,111,32,108,97,114,103,101,0,49,47,50,47,52,47,56,47,49,54,45,98,105,116,32,111,110,108,121,0,98,97,100,32,99,116,121,112,101,0,98,97,100,32,99,111,109,112,32,109,101,116,104,111,100,0,98,97,100,32,102,105,108,116,101,114,32,109,101,116,104,111,100,0,98,97,100,32,105,110,116,101,114,108,97,99,101,32,109,101,116,104,111,100,0,48,45,112,105,120,101,108,32,105,109,97,103,101,0,102,105,114,115,116,32,110,111,116,32,73,72,68,82,0,105,110,118,97,108,105,100,32,80,76,84,69,0,116,82,78,83,32,97,102,116,101,114,32,73,68,65,84,0,116,82,78,83,32,98,101,102,111,114,101,32,80,76,84,69,0,98,97,100,32,116,82,78,83,32,108,101,110,0,116,82,78,83,32,119,105,116,104,32,97,108,112,104,97,0,0,255,85,0,17,0,0,0,1,110,111,32,80,76,84,69,0,111,117,116,111,102,100,97,116,97,0,110,111,32,73,68,65,84,0,88,88,88,88,32,80,78,71,32,99,104,117,110,107,32,110,111,116,32,107,110,111,119,110,0,115,45,62,105,109,103,95,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,100,101,95,105,112,104,111,110,101,0,111,117,116,95,110,32,61,61,32,50,32,124,124,32,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,49,54,0,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,32,124,124,32,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,43,49,0,115,116,98,105,95,95,99,114,101,97,116,101,95,112,110,103,95,105,109,97,103,101,95,114,97,119,0,110,111,116,32,101,110,111,117,103,104,32,112,105,120,101,108,115,0,105,109,103,95,119,105,100,116,104,95,98,121,116,101,115,32,60,61,32,120,0,0,1,0,5,6,105,109,103,95,110,43,49,32,61,61,32,111,117,116,95,110,0,105,110,118,97,108,105,100,32,102,105,108,116,101,114,0,105,109,103,95,110,32,61,61,32,51,0,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,98,97,100,32,104,117,102,102,109,97,110,32,99,111,100,101,0,98,97,100,32,100,105,115,116,0,111,117,116,112,117,116,32,98,117,102,102,101,114,32,108,105,109,105,116,0,122,45,62,115,105,122,101,91,98,93,32,61,61,32,115,0,115,116,98,105,95,95,122,104,117,102,102,109,97,110,95,100,101,99,111,100,101,95,115,108,111,119,112,97,116,104,0,98,105,116,115,32,60,61,32,49,54,0,115,116,98,105,95,95,98,105,116,95,114,101,118,101,114,115,101,0,122,45,62,99,111,100,101,95,98,117,102,102,101,114,32,60,32,40,49,85,32,60,60,32,122,45,62,110,117,109,95,98,105,116,115,41,0,115,116,98,105,95,95,102,105,108,108,95,98,105,116,115,0,98,97,100,32,99,111,100,101,108,101,110,103,116,104,115,0,99,32,61,61,32,49,56,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,104,117,102,102,109,97,110,95,99,111,100,101,115,0,98,97,100,32,115,105,122,101,115,0,97,45,62,110,117,109,95,98,105,116,115,32,61,61,32,48,0,115,116,98,105,95,95,112,97,114,115,101,95,117,110,99,111,109,112,114,101,115,115,101,100,95,98,108,111,99,107,0,122,108,105,98,32,99,111,114,114,117,112,116,0,114,101,97,100,32,112,97,115,116,32,98,117,102,102,101,114,0,98,97,100,32,122,108,105,98,32,104,101,97,100,101,114,0,110,111,32,112,114,101,115,101,116,32,100,105,99,116,0,98,97,100,32,99,111,109,112,114,101,115,115,105,111,110,0,98,97,100,32,112,110,103,32,115,105,103,0,91,37,115,93,32,82,101,115,111,117,114,99,101,32,102,105,108,101,32,100,111,101,115,32,110,111,116,32,99,111,110,116,97,105,110,32,105,109,97,103,101,32,100,97,116,97,0,46,112,110,103,0,91,37,115,93,32,73,109,97,103,101,32,102,105,108,101,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,37,115,93,32,73,109,97,103,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,91,37,115,93,32,73,109,97,103,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,73,109,97,103,101,32,102,111,114,109,97,116,32,110,111,116,32,114,101,99,111,103,110,105,122,101,100,0,91,37,115,93,32,114,82,69,83,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,91,37,115,93,32,84,104,105,115,32,105,115,32,110,111,116,32,97,32,118,97,108,105,100,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,115,111,117,114,99,101,32,100,97,116,97,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,113,117,101,115,116,101,100,32,114,101,115,111,117,114,99,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,102,111,117,110,100,0,79,117,116,32,111,102,32,109,101,109,111,114,121,32,119,104,105,108,101,32,100,101,99,111,109,112,114,101,115,115,105,110,103,32,100,97,116,97,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,105,111,110,32,102,97,105,108,101,100,0,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,32,100,111,32,110,111,116,32,109,97,116,99,104,44,32,100,97,116,97,32,109,97,121,32,98,101,32,99,111,114,114,117,112,116,101,100,0,32,45,45,32,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,32,45,45,32,82,101,116,117,114,110,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,102,114,111,109,32,37,117,32,98,121,116,101,115,32,116,111,32,37,117,32,98,121,116,101,115,0,5,5,4,0,16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15,2,3,7,0,3,3,11,0,84,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,99,114,101,97,116,101,100,0,65,108,112,104,97,32,109,97,115,107,32,109,117,115,116,32,98,101,32,115,97,109,101,32,115,105,122,101,32,97,115,32,105,109,97,103,101,0,65,108,112,104,97,32,109,97,115,107,32,99,97,110,32,110,111,116,32,98,101,32,97,112,112,108,105,101,100,32,116,111,32,99,111,109,112,114,101,115,115,101,100,32,100,97,116,97,32,102,111,114,109,97,116,115,0,91,84,69,88,32,73,68,32,37,105,93,32,78,111,32,109,105,112,109,97,112,115,32,97,118,97,105,108,97,98,108,101,32,102,111,114,32,84,82,73,76,73,78,69,65,82,32,116,101,120,116,117,114,101,32,102,105,108,116,101,114,105,110,103,0,46,116,116,102,0,46,102,110,116,0,91,37,115,93,32,83,112,114,105,116,101,70,111,110,116,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,44,32,117,115,105,110,103,32,100,101,102,97,117,108,116,32,102,111,110,116,0,83,112,114,105,116,101,70,111,110,116,32,100,97,116,97,32,112,97,114,115,101,100,32,99,111,114,114,101,99,116,108,121,32,102,114,111,109,32,105,109,97,103,101,0,73,109,97,103,101,32,102,105,108,101,32,108,111,97,100,101,100,32,99,111,114,114,101,99,116,108,121,32,97,115,32,83,112,114,105,116,101,70,111,110,116,0,114,116,0,91,37,115,93,32,70,78,84,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,108,105,110,101,72,101,105,103,104,116,0,108,105,110,101,72,101,105,103,104,116,61,37,105,32,98,97,115,101,61,37,105,32,115,99,97,108,101,87,61,37,105,32,115,99,97,108,101,72,61,37,105,0,91,37,115,93,32,70,111,110,116,32,115,105,122,101,58,32,37,105,0,91,37,115,93,32,70,111,110,116,32,116,101,120,116,117,114,101,32,115,99,97,108,101,58,32,37,105,120,37,105,0,102,105,108,101,0,102,105,108,101,61,34,37,49,50,56,91,94,34,93,34,0,91,37,115,93,32,70,111,110,116,32,116,101,120,116,117,114,101,32,102,105,108,101,110,97,109,101,58,32,37,115,0,99,111,117,110,116,0,99,111,117,110,116,61,37,105,0,91,37,115,93,32,70,111,110,116,32,110,117,109,32,99,104,97,114,115,58,32,37,105,0,91,37,115,93,32,70,111,110,116,32,116,101,120,116,117,114,101,32,108,111,97,100,105,110,103,32,112,97,116,104,58,32,37,115,0,99,104,97,114,32,105,100,61,37,105,32,120,61,37,105,32,121,61,37,105,32,119,105,100,116,104,61,37,105,32,104,101,105,103,104,116,61,37,105,32,120,111,102,102,115,101,116,61,37,105,32,121,111,102,102,115,101,116,61,37,105,32,120,97,100,118,97,110,99,101,61,37,105,0,91,37,115,93,32,83,112,114,105,116,101,70,111,110,116,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,85,110,108,111,97,100,101,100,32,115,112,114,105,116,101,32,102,111,110,116,32,100,97,116,97,0,91,37,115,93,32,83,112,114,105,116,101,70,111,110,116,32,99,111,117,108,100,32,110,111,116,32,98,101,32,103,101,110,101,114,97,116,101,100,44,32,117,115,105,110,103,32,100,101,102,97,117,108,116,32,102,111,110,116,0,84,84,70,32,115,112,114,105,116,101,102,111,110,116,32,108,111,97,100,105,110,103,58,32,80,114,101,100,105,99,116,101,100,32,116,101,120,116,117,114,101,32,115,105,122,101,58,32,37,105,120,37,105,0,91,37,115,93,32,84,84,70,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,84,84,70,32,115,112,114,105,116,101,102,111,110,116,32,108,111,97,100,105,110,103,58,32,102,105,114,115,116,32,99,104,97,114,97,99,116,101,114,32,105,115,32,110,111,116,32,83,80,65,67,69,40,51,50,41,32,99,104,97,114,97,99,116,101,114,0,84,84,70,32,115,112,114,105,116,101,102,111,110,116,32,108,111,97,100,105,110,103,58,32,78,111,116,32,97,108,108,32,116,104,101,32,99,104,97,114,97,99,116,101,114,115,32,102,105,116,32,105,110,32,116,104,101,32,102,111,110,116,0,120,43,103,119,32,60,32,112,119,0,46,47,101,120,116,101,114,110,97,108,47,115,116,98,95,116,114,117,101,116,121,112,101,46,104,0,115,116,98,116,116,95,66,97,107,101,70,111,110,116,66,105,116,109,97,112,95,105,110,116,101,114,110,97,108,0,122,45,62,100,105,114,101,99,116,105,111,110,0,115,116,98,116,116,95,95,114,97,115,116,101,114,105,122,101,95,115,111,114,116,101,100,95,101,100,103,101,115,0,122,45,62,101,121,32,62,61,32,115,99,97,110,95,121,95,116,111,112,0,101,45,62,101,121,32,62,61,32,121,95,116,111,112,0,115,116,98,116,116,95,95,102,105,108,108,95,97,99,116,105,118,101,95,101,100,103,101,115,95,110,101,119,0,101,45,62,115,121,32,60,61,32,121,95,98,111,116,116,111,109,32,38,38,32,101,45,62,101,121,32,62,61,32,121,95,116,111,112,0,120,32,62,61,32,48,32,38,38,32,120,32,60,32,108,101,110,0,102,97,98,115,40,97,114,101,97,41,32,60,61,32,49,46,48,49,102,0,121,48,32,60,32,121,49,0,115,116,98,116,116,95,95,104,97,110,100,108,101,95,99,108,105,112,112,101,100,95,101,100,103,101,0,101,45,62,115,121,32,60,61,32,101,45,62,101,121,0,120,49,32,60,61,32,120,43,49,0,120,49,32,62,61,32,120,0,120,49,32,60,61,32,120,0,120,49,32,62,61,32,120,43,49,0,120,49,32,62,61,32,120,32,38,38,32,120,49,32,60,61,32,120,43,49,0,120,48,32,62,61,32,120,32,38,38,32,120,48,32,60,61,32,120,43,49,32,38,38,32,120,49,32,62,61,32,120,32,38,38,32,120,49,32,60,61,32,120,43,49,0,122,32,33,61,32,40,40,118,111,105,100,42,41,48,41,0,115,116,98,116,116,95,95,110,101,119,95,97,99,116,105,118,101,0,33,105,110,102,111,45,62,99,102,102,46,115,105,122,101,0,115,116,98,116,116,95,95,71,101,116,71,108,121,102,79,102,102,115,101,116,0,115,116,98,116,116,95,95,99,102,102,95,105,110,116,0,110,32,62,61,32,49,32,38,38,32,110,32,60,61,32,52,0,115,116,98,116,116,95,95,98,117,102,95,103,101,116,0,115,105,122,101,32,60,32,48,120,52,48,48,48,48,48,48,48,0,115,116,98,116,116,95,95,110,101,119,95,98,117,102,0,33,40,111,32,62,32,98,45,62,115,105,122,101,32,124,124,32,111,32,60,32,48,41,0,115,116,98,116,116,95,95,98,117,102,95,115,101,101,107,0,111,102,102,115,105,122,101,32,62,61,32,49,32,38,38,32,111,102,102,115,105,122,101,32,60,61,32,52,0,115,116,98,116,116,95,95,99,102,102,95,103,101,116,95,105,110,100,101,120,0,98,48,32,62,61,32,50,56,0,115,116,98,116,116,95,95,99,102,102,95,115,107,105,112,95,111,112,101,114,97,110,100,0,105,32,62,61,32,48,32,38,38,32,105,32,60,32,99,111,117,110,116,0,115,116,98,116,116,95,95,99,102,102,95,105,110,100,101,120,95,103,101,116,0,111,117,116,112,117,116,95,99,116,120,46,110,117,109,95,118,101,114,116,105,99,101,115,32,61,61,32,99,111,117,110,116,95,99,116,120,46,110,117,109,95,118,101,114,116,105,99,101,115,0,115,116,98,116,116,95,95,71,101,116,71,108,121,112,104,83,104,97,112,101,84,50,0,115,116,98,116,116,95,95,71,101,116,71,108,121,112,104,83,104,97,112,101,84,84,0,115,116,98,116,116,95,70,105,110,100,71,108,121,112,104,73,110,100,101,120,0,117,110,105,99,111,100,101,95,99,111,100,101,112,111,105,110,116,32,60,61,32,116,116,85,83,72,79,82,84,40,100,97,116,97,32,43,32,101,110,100,67,111,117,110,116,32,43,32,50,42,105,116,101,109,41,0,99,109,97,112,0,108,111,99,97,0,104,101,97,100,0,103,108,121,102,0,104,104,101,97,0,104,109,116,120,0,107,101,114,110,0,67,70,70,32,0,109,97,120,112,0,37,115,40,41,58,32,106,97,114,95,120,109,95,99,104,101,99,107,95,115,97,110,105,116,121,95,112,114,101,108,111,97,100,40,41,32,114,101,116,117,114,110,101,100,32,37,105,44,32,109,111,100,117,108,101,32,105,115,32,110,111,116,32,115,97,102,101,32,116,111,32,108,111,97,100,10,0,106,97,114,95,120,109,95,99,114,101,97,116,101,95,99,111,110,116,101,120,116,95,115,97,102,101,0,37,115,40,41,58,32,99,97,108,108,32,116,111,32,109,97,108,108,111,99,40,41,32,102,97,105,108,101,100,44,32,114,101,116,117,114,110,101,100,32,37,112,10,0,37,115,40,41,58,32,106,97,114,95,120,109,95,99,104,101,99,107,95,115,97,110,105,116,121,95,112,111,115,116,108,111,97,100,40,41,32,114,101,116,117,114,110,101,100,32,37,105,44,32,109,111,100,117,108,101,32,105,115,32,110,111,116,32,115,97,102,101,32,116,111,32,112,108,97,121,10,0,37,115,40,41,58,32,116,114,105,109,109,105,110,103,32,105,110,118,97,108,105,100,32,80,79,84,32,97,116,32,112,111,115,32,37,88,10,0,106,97,114,95,120,109,95,99,104,101,99,107,95,115,97,110,105,116,121,95,112,111,115,116,108,111,97,100,0,37,115,40,41,58,32,109,111,100,117,108,101,32,104,97,115,32,105,110,118,97,108,105,100,32,80,79,84,44,32,112,111,115,32,37,88,32,114,101,102,101,114,101,110,99,101,115,32,110,111,110,101,120,105,115,116,101,110,116,32,112,97,116,116,101,114,110,32,37,88,10,0,69,120,116,101,110,100,101,100,32,77,111,100,117,108,101,58,32,0,67,111,117,108,100,32,110,111,116,32,111,112,101,110,32,105,110,112,117,116,32,102,105,108,101,0,102,115,101,101,107,40,41,32,102,97,105,108,101,100,0,102,114,101,97,100,40,41,32,102,97,105,108,101,100,0,99,111,117,108,100,32,110,111,116,32,99,114,101,97,116,101,32,99,111,110,116,101,120,116,58,32,109,111,100,117,108,101,32,105,115,32,110,111,116,32,115,97,110,101,10,0,99,111,117,108,100,32,110,111,116,32,99,114,101,97,116,101,32,99,111,110,116,101,120,116,58,32,109,97,108,108,111,99,32,102,97,105,108,101,100,10,0,99,111,117,108,100,32,110,111,116,32,99,114,101,97,116,101,32,99,111,110,116,101,120,116,58,32,117,110,107,110,111,119,110,32,101,114,114,111,114,10,0,65,117,100,105,111,32,100,101,118,105,99,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,67,111,117,108,100,32,110,111,116,32,105,110,105,116,105,97,108,105,122,101,32,97,117,100,105,111,32,99,111,110,116,101,120,116,0,65,117,100,105,111,32,100,101,118,105,99,101,32,97,110,100,32,99,111,110,116,101,120,116,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,58,32,37,115,0,67,111,117,108,100,32,110,111,116,32,103,101,116,32,99,117,114,114,101,110,116,32,97,117,100,105,111,32,99,111,110,116,101,120,116,32,102,111,114,32,99,108,111,115,105,110,103,0,65,117,100,105,111,32,100,101,118,105,99,101,32,99,108,111,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,46,119,97,118,0,46,111,103,103,0,46,114,114,101,115,0,91,37,115,93,32,82,101,115,111,117,114,99,101,32,102,105,108,101,32,100,111,101,115,32,110,111,116,32,99,111,110,116,97,105,110,32,119,97,118,101,32,100,97,116,97,0,91,37,115,93,32,65,117,100,105,111,32,102,105,108,101,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,44,32,105,116,32,99,97,110,39,116,32,98,101,32,108,111,97,100,101,100,0,91,37,115,93,32,79,71,71,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,91,37,115,93,32,79,103,103,32,97,117,100,105,111,32,108,101,110,103,116,104,32,105,115,32,108,97,114,103,101,114,32,116,104,97,110,32,49,48,32,115,101,99,111,110,100,115,32,40,37,102,41,44,32,116,104,97,116,39,115,32,97,32,98,105,103,32,102,105,108,101,32,105,110,32,109,101,109,111,114,121,44,32,99,111,110,115,105,100,101,114,32,109,117,115,105,99,32,115,116,114,101,97,109,105,110,103,0,91,37,115,93,32,83,97,109,112,108,101,115,32,111,98,116,97,105,110,101,100,58,32,37,105,0,77,111,110,111,0,83,116,101,114,101,111,0,91,37,115,93,32,79,71,71,32,102,105,108,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,32,72,122,44,32,37,105,32,98,105,116,44,32,37,115,41,0,48,0,101,120,116,101,114,110,97,108,47,115,116,98,95,118,111,114,98,105,115,46,99,0,103,101,116,95,119,105,110,100,111,119,0,102,45,62,97,108,108,111,99,46,97,108,108,111,99,95,98,117,102,102,101,114,95,108,101,110,103,116,104,95,105,110,95,98,121,116,101,115,32,61,61,32,102,45,62,116,101,109,112,95,111,102,102,115,101,116,0,118,111,114,98,105,115,95,100,101,99,111,100,101,95,112,97,99,107,101,116,95,114,101,115,116,0,102,45,62,98,121,116,101,115,95,105,110,95,115,101,103,32,62,32,48,0,103,101,116,56,95,112,97,99,107,101,116,95,114,97,119,0,102,45,62,98,121,116,101,115,95,105,110,95,115,101,103,32,61,61,32,48,0,110,101,120,116,95,115,101,103,109,101,110,116,0,40,110,32,38,32,51,41,32,61,61,32,48,0,105,109,100,99,116,95,115,116,101,112,51,95,105,116,101,114,48,95,108,111,111,112,0,122,32,60,32,99,45,62,115,111,114,116,101,100,95,101,110,116,114,105,101,115,0,99,111,100,101,98,111,111,107,95,100,101,99,111,100,101,95,115,116,97,114,116,0,33,99,45,62,115,112,97,114,115,101,32,124,124,32,122,32,60,32,99,45,62,115,111,114,116,101,100,95,101,110,116,114,105,101,115,0,99,111,100,101,98,111,111,107,95,100,101,99,111,100,101,95,100,101,105,110,116,101,114,108,101,97,118,101,95,114,101,112,101,97,116,0,33,99,45,62,115,112,97,114,115,101,0,99,111,100,101,98,111,111,107,95,100,101,99,111,100,101,95,115,99,97,108,97,114,95,114,97,119,0,0,1,2,2,3,3,3,3,4,4,4,4,4,4,4,4,118,111,114,98,105,115,95,100,101,99,111,100,101,95,105,110,105,116,105,97,108,0,98,117,102,95,99,32,61,61,32,50,0,99,111,110,118,101,114,116,95,99,104,97,110,110,101,108,115,95,115,104,111,114,116,95,105,110,116,101,114,108,101,97,118,101,100,0,0,0,0,0,0,0,7,0,0,0,0,0,3,5,0,0,0,0,3,7,5,0,0,0,3,5,3,5,0,0,3,7,5,3,5,0,3,7,5,3,5,7,114,98,0,102,45,62,116,101,109,112,95,111,102,102,115,101,116,32,61,61,32,102,45,62,97,108,108,111,99,46,97,108,108,111,99,95,98,117,102,102,101,114,95,108,101,110,103,116,104,95,105,110,95,98,121,116,101,115,0,115,116,97,114,116,95,100,101,99,111,100,101,114,0,112,111,119,40,40,102,108,111,97,116,41,32,114,43,49,44,32,100,105,109,41,32,62,32,101,110,116,114,105,101,115,0,108,111,111,107,117,112,49,95,118,97,108,117,101,115,0,40,105,110,116,41,32,102,108,111,111,114,40,112,111,119,40,40,102,108,111,97,116,41,32,114,44,32,100,105,109,41,41,32,60,61,32,101,110,116,114,105,101,115,0,107,32,61,61,32,99,45,62,115,111,114,116,101,100,95,101,110,116,114,105,101,115,0,99,111,109,112,117,116,101,95,115,111,114,116,101,100,95,104,117,102,102,109,97,110,0,99,45,62,115,111,114,116,101,100,95,99,111,100,101,119,111,114,100,115,91,120,93,32,61,61,32,99,111,100,101,0,108,101,110,32,33,61,32,78,79,95,67,79,68,69,0,105,110,99,108,117,100,101,95,105,110,95,115,111,114,116,0,99,45,62,115,111,114,116,101,100,95,101,110,116,114,105,101,115,32,61,61,32,48,0,99,111,109,112,117,116,101,95,99,111,100,101,119,111,114,100,115,0,122,32,62,61,32,48,32,38,38,32,122,32,60,32,51,50,0,108,101,110,91,105,93,32,62,61,32,48,32,38,38,32,108,101,110,91,105,93,32,60,32,51,50,0,97,118,97,105,108,97,98,108,101,91,121,93,32,61,61,32,48,0,118,111,114,98,105,115,91,37,115,93,32,87,65,86,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,82,73,70,70,0,87,65,86,69,0,91,37,115,93,32,73,110,118,97,108,105,100,32,82,73,70,70,32,111,114,32,87,65,86,69,32,72,101,97,100,101,114,0,91,37,115,93,32,73,110,118,97,108,105,100,32,87,97,118,101,32,102,111,114,109,97,116,0,91,37,115,93,32,73,110,118,97,108,105,100,32,100,97,116,97,32,104,101,97,100,101,114,0,91,37,115,93,32,87,65,86,32,115,97,109,112,108,101,32,115,105,122,101,32,40,37,105,98,105,116,41,32,110,111,116,32,115,117,112,112,111,114,116,101,100,44,32,99,111,110,118,101,114,116,101,100,32,116,111,32,49,54,98,105,116,0,91,37,115,93,32,87,65,86,32,99,104,97,110,110,101,108,115,32,110,117,109,98,101,114,32,40,37,105,41,32,110,111,116,32,115,117,112,112,111,114,116,101,100,44,32,99,111,110,118,101,114,116,101,100,32,116,111,32,50,32,99,104,97,110,110,101,108,115,0,91,37,115,93,32,87,65,86,32,102,105,108,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,32,72,122,44,32,37,105,32,98,105,116,44,32,37,115,41,0,85,110,108,111,97,100,101,100,32,119,97,118,101,32,100,97,116,97,32,102,114,111,109,32,82,65,77,0,87,97,118,101,32,115,97,109,112,108,101,32,115,105,122,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,58,32,37,105,0,87,97,118,101,32,110,117,109,98,101,114,32,111,102,32,99,104,97,110,110,101,108,115,32,110,111,116,32,115,117,112,112,111,114,116,101,100,58,32,37,105,0,91,83,78,68,32,73,68,32,37,105,93,91,66,85,70,82,32,73,68,32,37,105,93,32,83,111,117,110,100,32,100,97,116,97,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,32,72,122,44,32,37,105,32,98,105,116,44,32,37,115,41,0,91,83,78,68,32,73,68,32,37,105,93,91,66,85,70,82,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,115,111,117,110,100,32,100,97,116,97,32,102,114,111,109,32,82,65,77,0,91,37,115,93,32,79,71,71,32,97,117,100,105,111,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,91,37,115,93,32,70,76,65,67,32,116,111,116,97,108,32,115,97,109,112,108,101,115,58,32,37,105,0,91,37,115,93,32,79,71,71,32,115,97,109,112,108,101,32,114,97,116,101,58,32,37,105,0,91,37,115,93,32,79,71,71,32,99,104,97,110,110,101,108,115,58,32,37,105,0,91,37,115,93,32,79,71,71,32,109,101,109,111,114,121,32,114,101,113,117,105,114,101,100,58,32,37,105,0,46,120,109,0,91,37,115,93,32,88,77,32,110,117,109,98,101,114,32,111,102,32,115,97,109,112,108,101,115,58,32,37,105,0,91,37], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+10240); +/* memory initializer */ allocate([115,93,32,88,77,32,116,114,97,99,107,32,108,101,110,103,116,104,58,32,37,49,49,46,54,102,32,115,101,99,0,91,37,115,93,32,88,77,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,73,110,105,116,32,97,117,100,105,111,32,115,116,114,101,97,109,58,32,78,117,109,98,101,114,32,111,102,32,99,104,97,110,110,101,108,115,32,110,111,116,32,115,117,112,112,111,114,116,101,100,58,32,37,105,0,73,110,105,116,32,97,117,100,105,111,32,115,116,114,101,97,109,58,32,83,97,109,112,108,101,32,115,105,122,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,58,32,37,105,0,91,65,85,68,32,73,68,32,37,105,93,32,65,117,100,105,111,32,115,116,114,101,97,109,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,32,72,122,44,32,37,105,32,98,105,116,44,32,37,115,41,0,91,65,85,68,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,97,117,100,105,111,32,115,116,114,101,97,109,32,100,97,116,97,0,79,112,101,110,65,76,58,32,69,114,114,111,114,32,98,117,102,102,101,114,105,110,103,32,100,97,116,97,46,46,46,0,69,88,84,0,65,82,66,0,79,69,83,0,65,78,71,76,69,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,0,103,108,85,115,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,85,115,101,80,114,111,103,114,97,109,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,0,103,108,65,116,116,97,99,104,79,98,106,101,99,116,0,103,108,65,116,116,97,99,104,83,104,97,100,101,114,0,103,108,68,101,116,97,99,104,79,98,106,101,99,116,0,103,108,68,101,116,97,99,104,83,104,97,100,101,114,0,103,108,80,105,120,101,108,83,116,111,114,101,105,0,103,108,71,101,116,83,116,114,105,110,103,0,103,108,71,101,116,73,110,116,101,103,101,114,118,0,103,108,71,101,116,70,108,111,97,116,118,0,103,108,71,101,116,66,111,111,108,101,97,110,118,0,103,108,71,101,110,84,101,120,116,117,114,101,115,0,103,108,68,101,108,101,116,101,84,101,120,116,117,114,101,115,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,84,101,120,73,109,97,103,101,50,68,0,103,108,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,82,101,97,100,80,105,120,101,108,115,0,103,108,66,105,110,100,84,101,120,116,117,114,101,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,84,101,120,116,117,114,101,0,103,108,71,101,110,66,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,66,117,102,102,101,114,115,0,103,108,71,101,116,66,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,66,117,102,102,101,114,68,97,116,97,0,103,108,66,117,102,102,101,114,83,117,98,68,97,116,97,0,103,108,73,115,66,117,102,102,101,114,0,103,108,71,101,110,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,66,105,110,100,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,82,101,110,100,101,114,98,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,85,110,105,102,111,114,109,102,118,0,103,108,71,101,116,85,110,105,102,111,114,109,105,118,0,103,108,71,101,116,85,110,105,102,111,114,109,76,111,99,97,116,105,111,110,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,102,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,105,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,118,0,103,108,71,101,116,65,99,116,105,118,101,85,110,105,102,111,114,109,0,103,108,85,110,105,102,111,114,109,49,102,0,103,108,85,110,105,102,111,114,109,50,102,0,103,108,85,110,105,102,111,114,109,51,102,0,103,108,85,110,105,102,111,114,109,52,102,0,103,108,85,110,105,102,111,114,109,49,105,0,103,108,85,110,105,102,111,114,109,50,105,0,103,108,85,110,105,102,111,114,109,51,105,0,103,108,85,110,105,102,111,114,109,52,105,0,103,108,85,110,105,102,111,114,109,49,105,118,0,103,108,85,110,105,102,111,114,109,50,105,118,0,103,108,85,110,105,102,111,114,109,51,105,118,0,103,108,85,110,105,102,111,114,109,52,105,118,0,103,108,85,110,105,102,111,114,109,49,102,118,0,103,108,85,110,105,102,111,114,109,50,102,118,0,103,108,85,110,105,102,111,114,109,51,102,118,0,103,108,85,110,105,102,111,114,109,52,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,50,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,51,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,52,102,118,0,103,108,66,105,110,100,66,117,102,102,101,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,118,0,103,108,71,101,116,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,71,101,116,65,99,116,105,118,101,65,116,116,114,105,98,0,103,108,68,101,108,101,116,101,83,104,97,100,101,114,0,103,108,71,101,116,65,116,116,97,99,104,101,100,83,104,97,100,101,114,115,0,103,108,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,71,101,116,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,67,111,109,112,105,108,101,83,104,97,100,101,114,0,103,108,71,101,116,83,104,97,100,101,114,73,110,102,111,76,111,103,0,103,108,71,101,116,83,104,97,100,101,114,105,118,0,103,108,71,101,116,80,114,111,103,114,97,109,105,118,0,103,108,73,115,83,104,97,100,101,114,0,103,108,68,101,108,101,116,101,80,114,111,103,114,97,109,0,103,108,71,101,116,83,104,97,100,101,114,80,114,101,99,105,115,105,111,110,70,111,114,109,97,116,0,103,108,76,105,110,107,80,114,111,103,114,97,109,0,103,108,71,101,116,80,114,111,103,114,97,109,73,110,102,111,76,111,103,0,103,108,86,97,108,105,100,97,116,101,80,114,111,103,114,97,109,0,103,108,73,115,80,114,111,103,114,97,109,0,103,108,66,105,110,100,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,66,105,110,100,70,114,97,109,101,98,117,102,102,101,114,0,103,108,71,101,110,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,70,114,97,109,101,98,117,102,102,101,114,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,70,114,97,109,101,98,117,102,102,101,114,84,101,120,116,117,114,101,50,68,0,103,108,71,101,116,70,114,97,109,101,98,117,102,102,101,114,65,116,116,97,99,104,109,101,110,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,70,114,97,109,101,98,117,102,102,101,114,0,103,108,68,101,108,101,116,101,79,98,106,101,99,116,0,103,108,71,101,116,79,98,106,101,99,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,71,101,116,73,110,102,111,76,111,103,0,103,108,66,105,110,100,80,114,111,103,114,97,109,0,103,108,71,101,116,80,111,105,110,116,101,114,118,0,103,108,68,114,97,119,82,97,110,103,101,69,108,101,109,101,110,116,115,0,103,108,69,110,97,98,108,101,67,108,105,101,110,116,83,116,97,116,101,0,103,108,86,101,114,116,101,120,80,111,105,110,116,101,114,0,103,108,84,101,120,67,111,111,114,100,80,111,105,110,116,101,114,0,103,108,78,111,114,109,97,108,80,111,105,110,116,101,114,0,103,108,67,111,108,111,114,80,111,105,110,116,101,114,0,103,108,67,108,105,101,110,116,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,0,103,108,77,97,116,114,105,120,77,111,100,101,0,103,108,76,111,97,100,73,100,101,110,116,105,116,121,0,103,108,76,111,97,100,77,97,116,114,105,120,102,0,103,108,70,114,117,115,116,117,109,0,103,108,82,111,116,97,116,101,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,0,103,108,69,110,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,105,115,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,114,97,119,65,114,114,97,121,115,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,0,103,108,83,104,97,100,101,114,66,105,110,97,114,121,0,103,108,82,101,108,101,97,115,101,83,104,97,100,101,114,67,111,109,112,105,108,101,114,0,103,108,71,101,116,69,114,114,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,68,105,118,105,115,111,114,0,103,108,68,114,97,119,65,114,114,97,121,115,73,110,115,116,97,110,99,101,100,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,73,110,115,116,97,110,99,101,100,0,103,108,70,105,110,105,115,104,0,103,108,70,108,117,115,104,0,103,108,67,108,101,97,114,68,101,112,116,104,0,103,108,67,108,101,97,114,68,101,112,116,104,102,0,103,108,68,101,112,116,104,70,117,110,99,0,103,108,69,110,97,98,108,101,0,103,108,68,105,115,97,98,108,101,0,103,108,70,114,111,110,116,70,97,99,101,0,103,108,67,117,108,108,70,97,99,101,0,103,108,67,108,101,97,114,0,103,108,76,105,110,101,87,105,100,116,104,0,103,108,67,108,101,97,114,83,116,101,110,99,105,108,0,103,108,68,101,112,116,104,77,97,115,107,0,103,108,83,116,101,110,99,105,108,77,97,115,107,0,103,108,67,104,101,99,107,70,114,97,109,101,98,117,102,102,101,114,83,116,97,116,117,115,0,103,108,71,101,110,101,114,97,116,101,77,105,112,109,97,112,0,103,108,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,0,103,108,73,115,69,110,97,98,108,101,100,0,103,108,66,108,101,110,100,70,117,110,99,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,83,101,112,97,114,97,116,101,0,103,108,68,101,112,116,104,82,97,110,103,101,0,103,108,68,101,112,116,104,82,97,110,103,101,102,0,103,108,83,116,101,110,99,105,108,77,97,115,107,83,101,112,97,114,97,116,101,0,103,108,72,105,110,116,0,103,108,80,111,108,121,103,111,110,79,102,102,115,101,116,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,0,103,108,83,97,109,112,108,101,67,111,118,101,114,97,103,101,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,0,103,108,83,116,101,110,99,105,108,70,117,110,99,0,103,108,83,116,101,110,99,105,108,79,112,0,103,108,86,105,101,119,112,111,114,116,0,103,108,67,108,101,97,114,67,111,108,111,114,0,103,108,83,99,105,115,115,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,0,103,108,67,111,108,111,114,77,97,115,107,0,103,108,82,101,110,100,101,114,98,117,102,102,101,114,83,116,111,114,97,103,101,0,103,108,66,108,101,110,100,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,66,108,101,110,100,67,111,108,111,114,0,103,108,83,116,101,110,99,105,108,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,83,116,101,110,99,105,108,79,112,83,101,112,97,114,97,116,101,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,0,103,108,67,111,112,121,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,112,121,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,68,114,97,119,66,117,102,102,101,114,115,0,123,32,77,111,100,117,108,101,46,112,114,105,110,116,69,114,114,40,39,98,97,100,32,110,97,109,101,32,105,110,32,103,101,116,80,114,111,99,65,100,100,114,101,115,115,58,32,39,32,43,32,91,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,48,41,44,32,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,49,41,93,41,59,32,125,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,1,2,3,4,5,6,7,8,9,255,255,255,255,255,255,255,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,255,255,255,255,255,255,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,1,2,4,7,3,6,5,0,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,78,65,78,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,46,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,105,110,102,105,110,105,116,121,0,110,97,110,0,114,119,97,0], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+20480); /* no memory initializer */ -var tempDoublePtr = Runtime.alignMemory(allocate(12, "i8", ALLOC_STATIC), 8); +var tempDoublePtr = STATICTOP; STATICTOP += 16; assert(tempDoublePtr % 8 == 0); @@ -1860,11 +1830,17 @@ function copyTempDouble(ptr) { - var GL={counter:1,lastError:0,buffers:[],mappedBuffers:{},programs:[],framebuffers:[],renderbuffers:[],textures:[],uniforms:[],shaders:[],vaos:[],contexts:[],currentContext:null,byteSizeByTypeRoot:5120,byteSizeByType:[1,1,2,2,4,4,4,2,3,4,8],programInfos:{},stringCache:{},packAlignment:4,unpackAlignment:4,init:function () { + var GL={counter:1,lastError:0,buffers:[],mappedBuffers:{},programs:[],framebuffers:[],renderbuffers:[],textures:[],uniforms:[],shaders:[],vaos:[],contexts:[],currentContext:null,offscreenCanvases:{},timerQueriesEXT:[],byteSizeByTypeRoot:5120,byteSizeByType:[1,1,2,2,4,4,4,2,3,4,8],programInfos:{},stringCache:{},tempFixedLengthArray:[],packAlignment:4,unpackAlignment:4,init:function () { GL.miniTempBuffer = new Float32Array(GL.MINI_TEMP_BUFFER_SIZE); for (var i = 0; i < GL.MINI_TEMP_BUFFER_SIZE; i++) { GL.miniTempBufferViews[i] = GL.miniTempBuffer.subarray(0, i+1); } + + // For functions such as glDrawBuffers, glInvalidateFramebuffer and glInvalidateSubFramebuffer that need to pass a short array to the WebGL API, + // create a set of short fixed-length arrays to avoid having to generate any garbage when calling those functions. + for (var i = 0; i < 32; i++) { + GL.tempFixedLengthArray.push(new Array(i)); + } },recordError:function recordError(errorCode) { if (!GL.lastError) { GL.lastError = errorCode; @@ -1875,7 +1851,7 @@ function copyTempDouble(ptr) { table[i] = null; } return ret; - },MINI_TEMP_BUFFER_SIZE:16,miniTempBuffer:null,miniTempBufferViews:[0],getSource:function (shader, count, string, length) { + },MINI_TEMP_BUFFER_SIZE:256,miniTempBuffer:null,miniTempBufferViews:[0],getSource:function (shader, count, string, length) { var source = ''; for (var i = 0; i < count; ++i) { var frag; @@ -1892,205 +1868,10 @@ function copyTempDouble(ptr) { source += frag; } return source; - },computeImageSize:function (width, height, sizePerPixel, alignment) { - function roundedToNextMultipleOf(x, y) { - return Math.floor((x + y - 1) / y) * y - } - var plainRowSize = width * sizePerPixel; - var alignedRowSize = roundedToNextMultipleOf(plainRowSize, alignment); - return (height <= 0) ? 0 : - ((height - 1) * alignedRowSize + plainRowSize); - },get:function (name_, p, type) { - // Guard against user passing a null pointer. - // Note that GLES2 spec does not say anything about how passing a null pointer should be treated. - // Testing on desktop core GL 3, the application crashes on glGetIntegerv to a null pointer, but - // better to report an error instead of doing anything random. - if (!p) { - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - var ret = undefined; - switch(name_) { // Handle a few trivial GLES values - case 0x8DFA: // GL_SHADER_COMPILER - ret = 1; - break; - case 0x8DF8: // GL_SHADER_BINARY_FORMATS - if (type !== 'Integer') { - GL.recordError(0x0500); // GL_INVALID_ENUM - } - return; // Do not write anything to the out pointer, since no binary formats are supported. - case 0x8DF9: // GL_NUM_SHADER_BINARY_FORMATS - ret = 0; - break; - case 0x86A2: // GL_NUM_COMPRESSED_TEXTURE_FORMATS - // WebGL doesn't have GL_NUM_COMPRESSED_TEXTURE_FORMATS (it's obsolete since GL_COMPRESSED_TEXTURE_FORMATS returns a JS array that can be queried for length), - // so implement it ourselves to allow C++ GLES2 code get the length. - var formats = GLctx.getParameter(0x86A3 /*GL_COMPRESSED_TEXTURE_FORMATS*/); - ret = formats.length; - break; - case 0x8B9A: // GL_IMPLEMENTATION_COLOR_READ_TYPE - ret = 0x1401; // GL_UNSIGNED_BYTE - break; - case 0x8B9B: // GL_IMPLEMENTATION_COLOR_READ_FORMAT - ret = 0x1908; // GL_RGBA - break; - } - - if (ret === undefined) { - var result = GLctx.getParameter(name_); - switch (typeof(result)) { - case "number": - ret = result; - break; - case "boolean": - ret = result ? 1 : 0; - break; - case "string": - GL.recordError(0x0500); // GL_INVALID_ENUM - return; - case "object": - if (result === null) { - // null is a valid result for some (e.g., which buffer is bound - perhaps nothing is bound), but otherwise - // can mean an invalid name_, which we need to report as an error - switch(name_) { - case 0x8894: // ARRAY_BUFFER_BINDING - case 0x8B8D: // CURRENT_PROGRAM - case 0x8895: // ELEMENT_ARRAY_BUFFER_BINDING - case 0x8CA6: // FRAMEBUFFER_BINDING - case 0x8CA7: // RENDERBUFFER_BINDING - case 0x8069: // TEXTURE_BINDING_2D - case 0x8514: { // TEXTURE_BINDING_CUBE_MAP - ret = 0; - break; - } - default: { - GL.recordError(0x0500); // GL_INVALID_ENUM - return; - } - } - } else if (result instanceof Float32Array || - result instanceof Uint32Array || - result instanceof Int32Array || - result instanceof Array) { - for (var i = 0; i < result.length; ++i) { - switch (type) { - case 'Integer': HEAP32[(((p)+(i*4))>>2)]=result[i]; break; - case 'Float': HEAPF32[(((p)+(i*4))>>2)]=result[i]; break; - case 'Boolean': HEAP8[(((p)+(i))>>0)]=result[i] ? 1 : 0; break; - default: throw 'internal glGet error, bad type: ' + type; - } - } - return; - } else if (result instanceof WebGLBuffer || - result instanceof WebGLProgram || - result instanceof WebGLFramebuffer || - result instanceof WebGLRenderbuffer || - result instanceof WebGLTexture) { - ret = result.name | 0; - } else { - GL.recordError(0x0500); // GL_INVALID_ENUM - return; - } - break; - default: - GL.recordError(0x0500); // GL_INVALID_ENUM - return; - } - } - - switch (type) { - case 'Integer': HEAP32[((p)>>2)]=ret; break; - case 'Float': HEAPF32[((p)>>2)]=ret; break; - case 'Boolean': HEAP8[((p)>>0)]=ret ? 1 : 0; break; - default: throw 'internal glGet error, bad type: ' + type; - } - },getTexPixelData:function (type, format, width, height, pixels, internalFormat) { - var sizePerPixel; - var numChannels; - switch(format) { - case 0x1906 /* GL_ALPHA */: - case 0x1909 /* GL_LUMINANCE */: - case 0x1902 /* GL_DEPTH_COMPONENT */: - case 0x1903 /* GL_RED */: - numChannels = 1; - break; - case 0x190A /* GL_LUMINANCE_ALPHA */: - case 0x8227 /* GL_RG */: - numChannels = 2; - break; - case 0x1907 /* GL_RGB */: - numChannels = 3; - break; - case 0x1908 /* GL_RGBA */: - numChannels = 4; - break; - default: - GL.recordError(0x0500); // GL_INVALID_ENUM - return { - pixels: null, - internalFormat: 0x0 - }; - } - switch (type) { - case 0x1401 /* GL_UNSIGNED_BYTE */: - sizePerPixel = numChannels*1; - break; - case 0x1403 /* GL_UNSIGNED_SHORT */: - case 0x8D61 /* GL_HALF_FLOAT_OES */: - sizePerPixel = numChannels*2; - break; - case 0x1405 /* GL_UNSIGNED_INT */: - case 0x1406 /* GL_FLOAT */: - sizePerPixel = numChannels*4; - break; - case 0x84FA /* UNSIGNED_INT_24_8_WEBGL */: - sizePerPixel = 4; - break; - case 0x8363 /* GL_UNSIGNED_SHORT_5_6_5 */: - case 0x8033 /* GL_UNSIGNED_SHORT_4_4_4_4 */: - case 0x8034 /* GL_UNSIGNED_SHORT_5_5_5_1 */: - sizePerPixel = 2; - break; - default: - GL.recordError(0x0500); // GL_INVALID_ENUM - return { - pixels: null, - internalFormat: 0x0 - }; - } - var bytes = GL.computeImageSize(width, height, sizePerPixel, GL.unpackAlignment); - if (type == 0x1401 /* GL_UNSIGNED_BYTE */) { - pixels = HEAPU8.subarray((pixels),(pixels+bytes)); - } else if (type == 0x1406 /* GL_FLOAT */) { - pixels = HEAPF32.subarray((pixels)>>2,(pixels+bytes)>>2); - } else if (type == 0x1405 /* GL_UNSIGNED_INT */ || type == 0x84FA /* UNSIGNED_INT_24_8_WEBGL */) { - pixels = HEAPU32.subarray((pixels)>>2,(pixels+bytes)>>2); - } else { - pixels = HEAPU16.subarray((pixels)>>1,(pixels+bytes)>>1); - } - return { - pixels: pixels, - internalFormat: internalFormat - }; - },validateBufferTarget:function (target) { - switch (target) { - case 0x8892: // GL_ARRAY_BUFFER - case 0x8893: // GL_ELEMENT_ARRAY_BUFFER - case 0x8F36: // GL_COPY_READ_BUFFER - case 0x8F37: // GL_COPY_WRITE_BUFFER - case 0x88EB: // GL_PIXEL_PACK_BUFFER - case 0x88EC: // GL_PIXEL_UNPACK_BUFFER - case 0x8C2A: // GL_TEXTURE_BUFFER - case 0x8C8E: // GL_TRANSFORM_FEEDBACK_BUFFER - case 0x8A11: // GL_UNIFORM_BUFFER - return true; - default: - return false; - } },createContext:function (canvas, webGLContextAttributes) { - if (typeof webGLContextAttributes.majorVersion === 'undefined' && typeof webGLContextAttributes.minorVersion === 'undefined') { - webGLContextAttributes.majorVersion = 1; - webGLContextAttributes.minorVersion = 0; + if (typeof webGLContextAttributes['majorVersion'] === 'undefined' && typeof webGLContextAttributes['minorVersion'] === 'undefined') { + webGLContextAttributes['majorVersion'] = 1; + webGLContextAttributes['minorVersion'] = 0; } var ctx; var errorInfo = '?'; @@ -2100,9 +1881,9 @@ function copyTempDouble(ptr) { try { canvas.addEventListener('webglcontextcreationerror', onContextCreationError, false); try { - if (webGLContextAttributes.majorVersion == 1 && webGLContextAttributes.minorVersion == 0) { + if (webGLContextAttributes['majorVersion'] == 1 && webGLContextAttributes['minorVersion'] == 0) { ctx = canvas.getContext("webgl", webGLContextAttributes) || canvas.getContext("experimental-webgl", webGLContextAttributes); - } else if (webGLContextAttributes.majorVersion == 2 && webGLContextAttributes.minorVersion == 0) { + } else if (webGLContextAttributes['majorVersion'] == 2 && webGLContextAttributes['minorVersion'] == 0) { ctx = canvas.getContext("webgl2", webGLContextAttributes) || canvas.getContext("experimental-webgl2", webGLContextAttributes); } else { throw 'Unsupported WebGL context version ' + majorVersion + '.' + minorVersion + '!' @@ -2123,13 +1904,16 @@ function copyTempDouble(ptr) { var handle = GL.getNewId(GL.contexts); var context = { handle: handle, - version: webGLContextAttributes.majorVersion, + attributes: webGLContextAttributes, + version: webGLContextAttributes['majorVersion'], GLctx: ctx }; + + // Store the created context object so that we can access the context given a canvas without having to pass the parameters again. if (ctx.canvas) ctx.canvas.GLctxObject = context; GL.contexts[handle] = context; - if (typeof webGLContextAttributes['enableExtensionsByDefault'] === 'undefined' || webGLContextAttributes.enableExtensionsByDefault) { + if (typeof webGLContextAttributes['enableExtensionsByDefault'] === 'undefined' || webGLContextAttributes['enableExtensionsByDefault']) { GL.initExtensions(context); } return handle; @@ -2147,7 +1931,6 @@ function copyTempDouble(ptr) { if (GL.contexts[contextHandle] && GL.contexts[contextHandle].GLctx.canvas) GL.contexts[contextHandle].GLctx.canvas.GLctxObject = undefined; // Make sure the canvas object no longer refers to the context object so there are no GC surprises. GL.contexts[contextHandle] = null; },initExtensions:function (context) { - // If this function is called without a specific context object, init the extensions of the currently active context. if (!context) context = GL.currentContext; @@ -2159,30 +1942,33 @@ function copyTempDouble(ptr) { context.maxVertexAttribs = GLctx.getParameter(GLctx.MAX_VERTEX_ATTRIBS); // Detect the presence of a few extensions manually, this GL interop layer itself will need to know if they exist. - context.compressionExt = GLctx.getExtension('WEBGL_compressed_texture_s3tc'); - context.anisotropicExt = GLctx.getExtension('EXT_texture_filter_anisotropic'); - context.floatExt = GLctx.getExtension('OES_texture_float'); - // Extension available from Firefox 26 and Google Chrome 30 - context.instancedArraysExt = GLctx.getExtension('ANGLE_instanced_arrays'); - - // Extension available from Firefox 25 and WebKit - context.vaoExt = GLctx.getExtension('OES_vertex_array_object'); + if (context.version < 2) { + // Extension available from Firefox 26 and Google Chrome 30 + var instancedArraysExt = GLctx.getExtension('ANGLE_instanced_arrays'); + if (instancedArraysExt) { + GLctx['vertexAttribDivisor'] = function(index, divisor) { instancedArraysExt['vertexAttribDivisorANGLE'](index, divisor); }; + GLctx['drawArraysInstanced'] = function(mode, first, count, primcount) { instancedArraysExt['drawArraysInstancedANGLE'](mode, first, count, primcount); }; + GLctx['drawElementsInstanced'] = function(mode, count, type, indices, primcount) { instancedArraysExt['drawElementsInstancedANGLE'](mode, count, type, indices, primcount); }; + } - if (context.version === 2) { - // drawBuffers is available in WebGL2 by default. - context.drawBuffersExt = function(n, bufs) { - GLctx.drawBuffers(n, bufs); - }; - } else { - var ext = GLctx.getExtension('WEBGL_draw_buffers'); - if (ext) { - context.drawBuffersExt = function(n, bufs) { - ext.drawBuffersWEBGL(n, bufs); - }; + // Extension available from Firefox 25 and WebKit + var vaoExt = GLctx.getExtension('OES_vertex_array_object'); + if (vaoExt) { + GLctx['createVertexArray'] = function() { return vaoExt['createVertexArrayOES'](); }; + GLctx['deleteVertexArray'] = function(vao) { vaoExt['deleteVertexArrayOES'](vao); }; + GLctx['bindVertexArray'] = function(vao) { vaoExt['bindVertexArrayOES'](vao); }; + GLctx['isVertexArray'] = function(vao) { return vaoExt['isVertexArrayOES'](vao); }; + } + + var drawBuffersExt = GLctx.getExtension('WEBGL_draw_buffers'); + if (drawBuffersExt) { + GLctx['drawBuffers'] = function(n, bufs) { drawBuffersExt['drawBuffersWEBGL'](n, bufs); }; } } + GLctx.disjointTimerQueryExt = GLctx.getExtension("EXT_disjoint_timer_query"); + // These are the 'safe' feature-enabling extensions that don't add any performance impact related to e.g. debugging, and // should be enabled by default so that client GLES2/GL code will not need to go through extra hoops to get its stuff working. // As new extensions are ratified at http://www.khronos.org/registry/webgl/extensions/ , feel free to add your new extensions @@ -2194,7 +1980,7 @@ function copyTempDouble(ptr) { "OES_texture_float_linear", "OES_texture_half_float_linear", "WEBGL_compressed_texture_atc", "WEBGL_compressed_texture_pvrtc", "EXT_color_buffer_half_float", "WEBGL_color_buffer_float", "EXT_frag_depth", "EXT_sRGB", "WEBGL_draw_buffers", "WEBGL_shared_resources", - "EXT_shader_texture_lod" ]; + "EXT_shader_texture_lod", "EXT_color_buffer_float"]; function shouldEnableAutomatically(extension) { var ret = false; @@ -2219,7 +2005,8 @@ function copyTempDouble(ptr) { GL.programInfos[program] = { uniforms: {}, maxUniformLength: 0, // This is eagerly computed below, since we already enumerate all uniforms anyway. - maxAttributeLength: -1 // This is lazily computed and cached, computed when/if first asked, "-1" meaning not computed yet. + maxAttributeLength: -1, // This is lazily computed and cached, computed when/if first asked, "-1" meaning not computed yet. + maxUniformBlockNameLength: -1 // Lazily computed as well }; var ptable = GL.programInfos[program]; @@ -2243,16 +2030,19 @@ function copyTempDouble(ptr) { // only store the string 'colors' in utable, and 'colors[0]', 'colors[1]' and 'colors[2]' will be parsed as 'colors'+i. // Note that for the GL.uniforms table, we still need to fetch the all WebGLUniformLocations for all the indices. var loc = GLctx.getUniformLocation(p, name); - var id = GL.getNewId(GL.uniforms); - utable[name] = [u.size, id]; - GL.uniforms[id] = loc; - - for (var j = 1; j < u.size; ++j) { - var n = name + '['+j+']'; - loc = GLctx.getUniformLocation(p, n); - id = GL.getNewId(GL.uniforms); - + if (loc != null) + { + var id = GL.getNewId(GL.uniforms); + utable[name] = [u.size, id]; GL.uniforms[id] = loc; + + for (var j = 1; j < u.size; ++j) { + var n = name + '['+j+']'; + loc = GLctx.getUniformLocation(p, n); + id = GL.getNewId(GL.uniforms); + + GL.uniforms[id] = loc; + } } } }};function _emscripten_glIsRenderbuffer(renderbuffer) { @@ -2261,7 +2051,1477 @@ function copyTempDouble(ptr) { return GLctx.isRenderbuffer(rb); } - function _emscripten_glStencilMaskSeparate(x0, x1) { GLctx.stencilMaskSeparate(x0, x1) } + function _emscripten_glStencilMaskSeparate(x0, x1) { GLctx['stencilMaskSeparate'](x0, x1) } + + + + function _emscripten_get_now() { abort() } + + + + function _emscripten_set_main_loop_timing(mode, value) { + Browser.mainLoop.timingMode = mode; + Browser.mainLoop.timingValue = value; + + if (!Browser.mainLoop.func) { + console.error('emscripten_set_main_loop_timing: Cannot set timing mode for main loop since a main loop does not exist! Call emscripten_set_main_loop first to set one up.'); + return 1; // Return non-zero on failure, can't set timing mode when there is no main loop. + } + + if (mode == 0 /*EM_TIMING_SETTIMEOUT*/) { + Browser.mainLoop.scheduler = function Browser_mainLoop_scheduler_setTimeout() { + var timeUntilNextTick = Math.max(0, Browser.mainLoop.tickStartTime + value - _emscripten_get_now())|0; + setTimeout(Browser.mainLoop.runner, timeUntilNextTick); // doing this each time means that on exception, we stop + }; + Browser.mainLoop.method = 'timeout'; + } else if (mode == 1 /*EM_TIMING_RAF*/) { + Browser.mainLoop.scheduler = function Browser_mainLoop_scheduler_rAF() { + Browser.requestAnimationFrame(Browser.mainLoop.runner); + }; + Browser.mainLoop.method = 'rAF'; + } else if (mode == 2 /*EM_TIMING_SETIMMEDIATE*/) { + if (!window['setImmediate']) { + // Emulate setImmediate. (note: not a complete polyfill, we don't emulate clearImmediate() to keep code size to minimum, since not needed) + var setImmediates = []; + var emscriptenMainLoopMessageId = 'setimmediate'; + function Browser_setImmediate_messageHandler(event) { + if (event.source === window && event.data === emscriptenMainLoopMessageId) { + event.stopPropagation(); + setImmediates.shift()(); + } + } + window.addEventListener("message", Browser_setImmediate_messageHandler, true); + window['setImmediate'] = function Browser_emulated_setImmediate(func) { + setImmediates.push(func); + if (ENVIRONMENT_IS_WORKER) { + if (Module['setImmediates'] === undefined) Module['setImmediates'] = []; + Module['setImmediates'].push(func); + window.postMessage({target: emscriptenMainLoopMessageId}); // In --proxy-to-worker, route the message via proxyClient.js + } else window.postMessage(emscriptenMainLoopMessageId, "*"); // On the main thread, can just send the message to itself. + } + } + Browser.mainLoop.scheduler = function Browser_mainLoop_scheduler_setImmediate() { + window['setImmediate'](Browser.mainLoop.runner); + }; + Browser.mainLoop.method = 'immediate'; + } + return 0; + }function _emscripten_set_main_loop(func, fps, simulateInfiniteLoop, arg, noSetTiming) { + Module['noExitRuntime'] = true; + + assert(!Browser.mainLoop.func, 'emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters.'); + + Browser.mainLoop.func = func; + Browser.mainLoop.arg = arg; + + var browserIterationFunc; + if (typeof arg !== 'undefined') { + browserIterationFunc = function() { + Module['dynCall_vi'](func, arg); + }; + } else { + browserIterationFunc = function() { + Module['dynCall_v'](func); + }; + } + + var thisMainLoopId = Browser.mainLoop.currentlyRunningMainloop; + + Browser.mainLoop.runner = function Browser_mainLoop_runner() { + if (ABORT) return; + if (Browser.mainLoop.queue.length > 0) { + var start = Date.now(); + var blocker = Browser.mainLoop.queue.shift(); + blocker.func(blocker.arg); + if (Browser.mainLoop.remainingBlockers) { + var remaining = Browser.mainLoop.remainingBlockers; + var next = remaining%1 == 0 ? remaining-1 : Math.floor(remaining); + if (blocker.counted) { + Browser.mainLoop.remainingBlockers = next; + } else { + // not counted, but move the progress along a tiny bit + next = next + 0.5; // do not steal all the next one's progress + Browser.mainLoop.remainingBlockers = (8*remaining + next)/9; + } + } + console.log('main loop blocker "' + blocker.name + '" took ' + (Date.now() - start) + ' ms'); //, left: ' + Browser.mainLoop.remainingBlockers); + Browser.mainLoop.updateStatus(); + + // catches pause/resume main loop from blocker execution + if (thisMainLoopId < Browser.mainLoop.currentlyRunningMainloop) return; + + setTimeout(Browser.mainLoop.runner, 0); + return; + } + + // catch pauses from non-main loop sources + if (thisMainLoopId < Browser.mainLoop.currentlyRunningMainloop) return; + + // Implement very basic swap interval control + Browser.mainLoop.currentFrameNumber = Browser.mainLoop.currentFrameNumber + 1 | 0; + if (Browser.mainLoop.timingMode == 1/*EM_TIMING_RAF*/ && Browser.mainLoop.timingValue > 1 && Browser.mainLoop.currentFrameNumber % Browser.mainLoop.timingValue != 0) { + // Not the scheduled time to render this frame - skip. + Browser.mainLoop.scheduler(); + return; + } else if (Browser.mainLoop.timingMode == 0/*EM_TIMING_SETTIMEOUT*/) { + Browser.mainLoop.tickStartTime = _emscripten_get_now(); + } + + // Signal GL rendering layer that processing of a new frame is about to start. This helps it optimize + // VBO double-buffering and reduce GPU stalls. + + + if (Browser.mainLoop.method === 'timeout' && Module.ctx) { + Module.printErr('Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!'); + Browser.mainLoop.method = ''; // just warn once per call to set main loop + } + + Browser.mainLoop.runIter(browserIterationFunc); + + checkStackCookie(); + + // catch pauses from the main loop itself + if (thisMainLoopId < Browser.mainLoop.currentlyRunningMainloop) return; + + // Queue new audio data. This is important to be right after the main loop invocation, so that we will immediately be able + // to queue the newest produced audio samples. + // TODO: Consider adding pre- and post- rAF callbacks so that GL.newRenderingFrameStarted() and SDL.audio.queueNewAudioData() + // do not need to be hardcoded into this function, but can be more generic. + if (typeof SDL === 'object' && SDL.audio && SDL.audio.queueNewAudioData) SDL.audio.queueNewAudioData(); + + Browser.mainLoop.scheduler(); + } + + if (!noSetTiming) { + if (fps && fps > 0) _emscripten_set_main_loop_timing(0/*EM_TIMING_SETTIMEOUT*/, 1000.0 / fps); + else _emscripten_set_main_loop_timing(1/*EM_TIMING_RAF*/, 1); // Do rAF by rendering each frame (no decimating) + + Browser.mainLoop.scheduler(); + } + + if (simulateInfiniteLoop) { + throw 'SimulateInfiniteLoop'; + } + }var Browser={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function () { + Browser.mainLoop.scheduler = null; + Browser.mainLoop.currentlyRunningMainloop++; // Incrementing this signals the previous main loop that it's now become old, and it must return. + },resume:function () { + Browser.mainLoop.currentlyRunningMainloop++; + var timingMode = Browser.mainLoop.timingMode; + var timingValue = Browser.mainLoop.timingValue; + var func = Browser.mainLoop.func; + Browser.mainLoop.func = null; + _emscripten_set_main_loop(func, 0, false, Browser.mainLoop.arg, true /* do not set timing and call scheduler, we will do it on the next lines */); + _emscripten_set_main_loop_timing(timingMode, timingValue); + Browser.mainLoop.scheduler(); + },updateStatus:function () { + if (Module['setStatus']) { + var message = Module['statusMessage'] || 'Please wait...'; + var remaining = Browser.mainLoop.remainingBlockers; + var expected = Browser.mainLoop.expectedBlockers; + if (remaining) { + if (remaining < expected) { + Module['setStatus'](message + ' (' + (expected - remaining) + '/' + expected + ')'); + } else { + Module['setStatus'](message); + } + } else { + Module['setStatus'](''); + } + } + },runIter:function (func) { + if (ABORT) return; + if (Module['preMainLoop']) { + var preRet = Module['preMainLoop'](); + if (preRet === false) { + return; // |return false| skips a frame + } + } + try { + func(); + } catch (e) { + if (e instanceof ExitStatus) { + return; + } else { + if (e && typeof e === 'object' && e.stack) Module.printErr('exception thrown: ' + [e, e.stack]); + throw e; + } + } + if (Module['postMainLoop']) Module['postMainLoop'](); + }},isFullscreen:false,pointerLock:false,moduleContextCreatedCallbacks:[],workers:[],init:function () { + if (!Module["preloadPlugins"]) Module["preloadPlugins"] = []; // needs to exist even in workers + + if (Browser.initted) return; + Browser.initted = true; + + try { + new Blob(); + Browser.hasBlobConstructor = true; + } catch(e) { + Browser.hasBlobConstructor = false; + console.log("warning: no blob constructor, cannot create blobs with mimetypes"); + } + Browser.BlobBuilder = typeof MozBlobBuilder != "undefined" ? MozBlobBuilder : (typeof WebKitBlobBuilder != "undefined" ? WebKitBlobBuilder : (!Browser.hasBlobConstructor ? console.log("warning: no BlobBuilder") : null)); + Browser.URLObject = typeof window != "undefined" ? (window.URL ? window.URL : window.webkitURL) : undefined; + if (!Module.noImageDecoding && typeof Browser.URLObject === 'undefined') { + console.log("warning: Browser does not support creating object URLs. Built-in browser image decoding will not be available."); + Module.noImageDecoding = true; + } + + // Support for plugins that can process preloaded files. You can add more of these to + // your app by creating and appending to Module.preloadPlugins. + // + // Each plugin is asked if it can handle a file based on the file's name. If it can, + // it is given the file's raw data. When it is done, it calls a callback with the file's + // (possibly modified) data. For example, a plugin might decompress a file, or it + // might create some side data structure for use later (like an Image element, etc.). + + var imagePlugin = {}; + imagePlugin['canHandle'] = function imagePlugin_canHandle(name) { + return !Module.noImageDecoding && /\.(jpg|jpeg|png|bmp)$/i.test(name); + }; + imagePlugin['handle'] = function imagePlugin_handle(byteArray, name, onload, onerror) { + var b = null; + if (Browser.hasBlobConstructor) { + try { + b = new Blob([byteArray], { type: Browser.getMimetype(name) }); + if (b.size !== byteArray.length) { // Safari bug #118630 + // Safari's Blob can only take an ArrayBuffer + b = new Blob([(new Uint8Array(byteArray)).buffer], { type: Browser.getMimetype(name) }); + } + } catch(e) { + Runtime.warnOnce('Blob constructor present but fails: ' + e + '; falling back to blob builder'); + } + } + if (!b) { + var bb = new Browser.BlobBuilder(); + bb.append((new Uint8Array(byteArray)).buffer); // we need to pass a buffer, and must copy the array to get the right data range + b = bb.getBlob(); + } + var url = Browser.URLObject.createObjectURL(b); + assert(typeof url == 'string', 'createObjectURL must return a url as a string'); + var img = new Image(); + img.onload = function img_onload() { + assert(img.complete, 'Image ' + name + ' could not be decoded'); + var canvas = document.createElement('canvas'); + canvas.width = img.width; + canvas.height = img.height; + var ctx = canvas.getContext('2d'); + ctx.drawImage(img, 0, 0); + Module["preloadedImages"][name] = canvas; + Browser.URLObject.revokeObjectURL(url); + if (onload) onload(byteArray); + }; + img.onerror = function img_onerror(event) { + console.log('Image ' + url + ' could not be decoded'); + if (onerror) onerror(); + }; + img.src = url; + }; + Module['preloadPlugins'].push(imagePlugin); + + var audioPlugin = {}; + audioPlugin['canHandle'] = function audioPlugin_canHandle(name) { + return !Module.noAudioDecoding && name.substr(-4) in { '.ogg': 1, '.wav': 1, '.mp3': 1 }; + }; + audioPlugin['handle'] = function audioPlugin_handle(byteArray, name, onload, onerror) { + var done = false; + function finish(audio) { + if (done) return; + done = true; + Module["preloadedAudios"][name] = audio; + if (onload) onload(byteArray); + } + function fail() { + if (done) return; + done = true; + Module["preloadedAudios"][name] = new Audio(); // empty shim + if (onerror) onerror(); + } + if (Browser.hasBlobConstructor) { + try { + var b = new Blob([byteArray], { type: Browser.getMimetype(name) }); + } catch(e) { + return fail(); + } + var url = Browser.URLObject.createObjectURL(b); // XXX we never revoke this! + assert(typeof url == 'string', 'createObjectURL must return a url as a string'); + var audio = new Audio(); + audio.addEventListener('canplaythrough', function() { finish(audio) }, false); // use addEventListener due to chromium bug 124926 + audio.onerror = function audio_onerror(event) { + if (done) return; + console.log('warning: browser could not fully decode audio ' + name + ', trying slower base64 approach'); + function encode64(data) { + var BASE = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'; + var PAD = '='; + var ret = ''; + var leftchar = 0; + var leftbits = 0; + for (var i = 0; i < data.length; i++) { + leftchar = (leftchar << 8) | data[i]; + leftbits += 8; + while (leftbits >= 6) { + var curr = (leftchar >> (leftbits-6)) & 0x3f; + leftbits -= 6; + ret += BASE[curr]; + } + } + if (leftbits == 2) { + ret += BASE[(leftchar&3) << 4]; + ret += PAD + PAD; + } else if (leftbits == 4) { + ret += BASE[(leftchar&0xf) << 2]; + ret += PAD; + } + return ret; + } + audio.src = 'data:audio/x-' + name.substr(-3) + ';base64,' + encode64(byteArray); + finish(audio); // we don't wait for confirmation this worked - but it's worth trying + }; + audio.src = url; + // workaround for chrome bug 124926 - we do not always get oncanplaythrough or onerror + Browser.safeSetTimeout(function() { + finish(audio); // try to use it even though it is not necessarily ready to play + }, 10000); + } else { + return fail(); + } + }; + Module['preloadPlugins'].push(audioPlugin); + + // Canvas event setup + + function pointerLockChange() { + Browser.pointerLock = document['pointerLockElement'] === Module['canvas'] || + document['mozPointerLockElement'] === Module['canvas'] || + document['webkitPointerLockElement'] === Module['canvas'] || + document['msPointerLockElement'] === Module['canvas']; + } + var canvas = Module['canvas']; + if (canvas) { + // forced aspect ratio can be enabled by defining 'forcedAspectRatio' on Module + // Module['forcedAspectRatio'] = 4 / 3; + + canvas.requestPointerLock = canvas['requestPointerLock'] || + canvas['mozRequestPointerLock'] || + canvas['webkitRequestPointerLock'] || + canvas['msRequestPointerLock'] || + function(){}; + canvas.exitPointerLock = document['exitPointerLock'] || + document['mozExitPointerLock'] || + document['webkitExitPointerLock'] || + document['msExitPointerLock'] || + function(){}; // no-op if function does not exist + canvas.exitPointerLock = canvas.exitPointerLock.bind(document); + + document.addEventListener('pointerlockchange', pointerLockChange, false); + document.addEventListener('mozpointerlockchange', pointerLockChange, false); + document.addEventListener('webkitpointerlockchange', pointerLockChange, false); + document.addEventListener('mspointerlockchange', pointerLockChange, false); + + if (Module['elementPointerLock']) { + canvas.addEventListener("click", function(ev) { + if (!Browser.pointerLock && Module['canvas'].requestPointerLock) { + Module['canvas'].requestPointerLock(); + ev.preventDefault(); + } + }, false); + } + } + },createContext:function (canvas, useWebGL, setInModule, webGLContextAttributes) { + if (useWebGL && Module.ctx && canvas == Module.canvas) return Module.ctx; // no need to recreate GL context if it's already been created for this canvas. + + var ctx; + var contextHandle; + if (useWebGL) { + // For GLES2/desktop GL compatibility, adjust a few defaults to be different to WebGL defaults, so that they align better with the desktop defaults. + var contextAttributes = { + antialias: false, + alpha: false + }; + + if (webGLContextAttributes) { + for (var attribute in webGLContextAttributes) { + contextAttributes[attribute] = webGLContextAttributes[attribute]; + } + } + + contextHandle = GL.createContext(canvas, contextAttributes); + if (contextHandle) { + ctx = GL.getContext(contextHandle).GLctx; + } + } else { + ctx = canvas.getContext('2d'); + } + + if (!ctx) return null; + + if (setInModule) { + if (!useWebGL) assert(typeof GLctx === 'undefined', 'cannot set in module if GLctx is used, but we are a non-GL context that would replace it'); + + Module.ctx = ctx; + if (useWebGL) GL.makeContextCurrent(contextHandle); + Module.useWebGL = useWebGL; + Browser.moduleContextCreatedCallbacks.forEach(function(callback) { callback() }); + Browser.init(); + } + return ctx; + },destroyContext:function (canvas, useWebGL, setInModule) {},fullscreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullscreen:function (lockPointer, resizeCanvas, vrDevice) { + Browser.lockPointer = lockPointer; + Browser.resizeCanvas = resizeCanvas; + Browser.vrDevice = vrDevice; + if (typeof Browser.lockPointer === 'undefined') Browser.lockPointer = true; + if (typeof Browser.resizeCanvas === 'undefined') Browser.resizeCanvas = false; + if (typeof Browser.vrDevice === 'undefined') Browser.vrDevice = null; + + var canvas = Module['canvas']; + function fullscreenChange() { + Browser.isFullscreen = false; + var canvasContainer = canvas.parentNode; + if ((document['fullscreenElement'] || document['mozFullScreenElement'] || + document['msFullscreenElement'] || document['webkitFullscreenElement'] || + document['webkitCurrentFullScreenElement']) === canvasContainer) { + canvas.exitFullscreen = document['exitFullscreen'] || + document['cancelFullScreen'] || + document['mozCancelFullScreen'] || + document['msExitFullscreen'] || + document['webkitCancelFullScreen'] || + function() {}; + canvas.exitFullscreen = canvas.exitFullscreen.bind(document); + if (Browser.lockPointer) canvas.requestPointerLock(); + Browser.isFullscreen = true; + if (Browser.resizeCanvas) Browser.setFullscreenCanvasSize(); + } else { + + // remove the full screen specific parent of the canvas again to restore the HTML structure from before going full screen + canvasContainer.parentNode.insertBefore(canvas, canvasContainer); + canvasContainer.parentNode.removeChild(canvasContainer); + + if (Browser.resizeCanvas) Browser.setWindowedCanvasSize(); + } + if (Module['onFullScreen']) Module['onFullScreen'](Browser.isFullscreen); + if (Module['onFullscreen']) Module['onFullscreen'](Browser.isFullscreen); + Browser.updateCanvasDimensions(canvas); + } + + if (!Browser.fullscreenHandlersInstalled) { + Browser.fullscreenHandlersInstalled = true; + document.addEventListener('fullscreenchange', fullscreenChange, false); + document.addEventListener('mozfullscreenchange', fullscreenChange, false); + document.addEventListener('webkitfullscreenchange', fullscreenChange, false); + document.addEventListener('MSFullscreenChange', fullscreenChange, false); + } + + // create a new parent to ensure the canvas has no siblings. this allows browsers to optimize full screen performance when its parent is the full screen root + var canvasContainer = document.createElement("div"); + canvas.parentNode.insertBefore(canvasContainer, canvas); + canvasContainer.appendChild(canvas); + + // use parent of canvas as full screen root to allow aspect ratio correction (Firefox stretches the root to screen size) + canvasContainer.requestFullscreen = canvasContainer['requestFullscreen'] || + canvasContainer['mozRequestFullScreen'] || + canvasContainer['msRequestFullscreen'] || + (canvasContainer['webkitRequestFullscreen'] ? function() { canvasContainer['webkitRequestFullscreen'](Element['ALLOW_KEYBOARD_INPUT']) } : null) || + (canvasContainer['webkitRequestFullScreen'] ? function() { canvasContainer['webkitRequestFullScreen'](Element['ALLOW_KEYBOARD_INPUT']) } : null); + + if (vrDevice) { + canvasContainer.requestFullscreen({ vrDisplay: vrDevice }); + } else { + canvasContainer.requestFullscreen(); + } + },requestFullScreen:function (lockPointer, resizeCanvas, vrDevice) { + Module.printErr('Browser.requestFullScreen() is deprecated. Please call Browser.requestFullscreen instead.'); + Browser.requestFullScreen = function(lockPointer, resizeCanvas, vrDevice) { + return Browser.requestFullscreen(lockPointer, resizeCanvas, vrDevice); + } + return Browser.requestFullscreen(lockPointer, resizeCanvas, vrDevice); + },nextRAF:0,fakeRequestAnimationFrame:function (func) { + // try to keep 60fps between calls to here + var now = Date.now(); + if (Browser.nextRAF === 0) { + Browser.nextRAF = now + 1000/60; + } else { + while (now + 2 >= Browser.nextRAF) { // fudge a little, to avoid timer jitter causing us to do lots of delay:0 + Browser.nextRAF += 1000/60; + } + } + var delay = Math.max(Browser.nextRAF - now, 0); + setTimeout(func, delay); + },requestAnimationFrame:function requestAnimationFrame(func) { + if (typeof window === 'undefined') { // Provide fallback to setTimeout if window is undefined (e.g. in Node.js) + Browser.fakeRequestAnimationFrame(func); + } else { + if (!window.requestAnimationFrame) { + window.requestAnimationFrame = window['requestAnimationFrame'] || + window['mozRequestAnimationFrame'] || + window['webkitRequestAnimationFrame'] || + window['msRequestAnimationFrame'] || + window['oRequestAnimationFrame'] || + Browser.fakeRequestAnimationFrame; + } + window.requestAnimationFrame(func); + } + },safeCallback:function (func) { + return function() { + if (!ABORT) return func.apply(null, arguments); + }; + },allowAsyncCallbacks:true,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function () { + Browser.allowAsyncCallbacks = false; + },resumeAsyncCallbacks:function () { // marks future callbacks as ok to execute, and synchronously runs any remaining ones right now + Browser.allowAsyncCallbacks = true; + if (Browser.queuedAsyncCallbacks.length > 0) { + var callbacks = Browser.queuedAsyncCallbacks; + Browser.queuedAsyncCallbacks = []; + callbacks.forEach(function(func) { + func(); + }); + } + },safeRequestAnimationFrame:function (func) { + return Browser.requestAnimationFrame(function() { + if (ABORT) return; + if (Browser.allowAsyncCallbacks) { + func(); + } else { + Browser.queuedAsyncCallbacks.push(func); + } + }); + },safeSetTimeout:function (func, timeout) { + Module['noExitRuntime'] = true; + return setTimeout(function() { + if (ABORT) return; + if (Browser.allowAsyncCallbacks) { + func(); + } else { + Browser.queuedAsyncCallbacks.push(func); + } + }, timeout); + },safeSetInterval:function (func, timeout) { + Module['noExitRuntime'] = true; + return setInterval(function() { + if (ABORT) return; + if (Browser.allowAsyncCallbacks) { + func(); + } // drop it on the floor otherwise, next interval will kick in + }, timeout); + },getMimetype:function (name) { + return { + 'jpg': 'image/jpeg', + 'jpeg': 'image/jpeg', + 'png': 'image/png', + 'bmp': 'image/bmp', + 'ogg': 'audio/ogg', + 'wav': 'audio/wav', + 'mp3': 'audio/mpeg' + }[name.substr(name.lastIndexOf('.')+1)]; + },getUserMedia:function (func) { + if(!window.getUserMedia) { + window.getUserMedia = navigator['getUserMedia'] || + navigator['mozGetUserMedia']; + } + window.getUserMedia(func); + },getMovementX:function (event) { + return event['movementX'] || + event['mozMovementX'] || + event['webkitMovementX'] || + 0; + },getMovementY:function (event) { + return event['movementY'] || + event['mozMovementY'] || + event['webkitMovementY'] || + 0; + },getMouseWheelDelta:function (event) { + var delta = 0; + switch (event.type) { + case 'DOMMouseScroll': + delta = event.detail; + break; + case 'mousewheel': + delta = event.wheelDelta; + break; + case 'wheel': + delta = event['deltaY']; + break; + default: + throw 'unrecognized mouse wheel event: ' + event.type; + } + return delta; + },mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function (event) { // event should be mousemove, mousedown or mouseup + if (Browser.pointerLock) { + // When the pointer is locked, calculate the coordinates + // based on the movement of the mouse. + // Workaround for Firefox bug 764498 + if (event.type != 'mousemove' && + ('mozMovementX' in event)) { + Browser.mouseMovementX = Browser.mouseMovementY = 0; + } else { + Browser.mouseMovementX = Browser.getMovementX(event); + Browser.mouseMovementY = Browser.getMovementY(event); + } + + // check if SDL is available + if (typeof SDL != "undefined") { + Browser.mouseX = SDL.mouseX + Browser.mouseMovementX; + Browser.mouseY = SDL.mouseY + Browser.mouseMovementY; + } else { + // just add the mouse delta to the current absolut mouse position + // FIXME: ideally this should be clamped against the canvas size and zero + Browser.mouseX += Browser.mouseMovementX; + Browser.mouseY += Browser.mouseMovementY; + } + } else { + // Otherwise, calculate the movement based on the changes + // in the coordinates. + var rect = Module["canvas"].getBoundingClientRect(); + var cw = Module["canvas"].width; + var ch = Module["canvas"].height; + + // Neither .scrollX or .pageXOffset are defined in a spec, but + // we prefer .scrollX because it is currently in a spec draft. + // (see: http://www.w3.org/TR/2013/WD-cssom-view-20131217/) + var scrollX = ((typeof window.scrollX !== 'undefined') ? window.scrollX : window.pageXOffset); + var scrollY = ((typeof window.scrollY !== 'undefined') ? window.scrollY : window.pageYOffset); + // If this assert lands, it's likely because the browser doesn't support scrollX or pageXOffset + // and we have no viable fallback. + assert((typeof scrollX !== 'undefined') && (typeof scrollY !== 'undefined'), 'Unable to retrieve scroll position, mouse positions likely broken.'); + + if (event.type === 'touchstart' || event.type === 'touchend' || event.type === 'touchmove') { + var touch = event.touch; + if (touch === undefined) { + return; // the "touch" property is only defined in SDL + + } + var adjustedX = touch.pageX - (scrollX + rect.left); + var adjustedY = touch.pageY - (scrollY + rect.top); + + adjustedX = adjustedX * (cw / rect.width); + adjustedY = adjustedY * (ch / rect.height); + + var coords = { x: adjustedX, y: adjustedY }; + + if (event.type === 'touchstart') { + Browser.lastTouches[touch.identifier] = coords; + Browser.touches[touch.identifier] = coords; + } else if (event.type === 'touchend' || event.type === 'touchmove') { + var last = Browser.touches[touch.identifier]; + if (!last) last = coords; + Browser.lastTouches[touch.identifier] = last; + Browser.touches[touch.identifier] = coords; + } + return; + } + + var x = event.pageX - (scrollX + rect.left); + var y = event.pageY - (scrollY + rect.top); + + // the canvas might be CSS-scaled compared to its backbuffer; + // SDL-using content will want mouse coordinates in terms + // of backbuffer units. + x = x * (cw / rect.width); + y = y * (ch / rect.height); + + Browser.mouseMovementX = x - Browser.mouseX; + Browser.mouseMovementY = y - Browser.mouseY; + Browser.mouseX = x; + Browser.mouseY = y; + } + },asyncLoad:function (url, onload, onerror, noRunDep) { + var dep = !noRunDep ? getUniqueRunDependency('al ' + url) : ''; + Module['readAsync'](url, function(arrayBuffer) { + assert(arrayBuffer, 'Loading data file "' + url + '" failed (no arrayBuffer).'); + onload(new Uint8Array(arrayBuffer)); + if (dep) removeRunDependency(dep); + }, function(event) { + if (onerror) { + onerror(); + } else { + throw 'Loading data file "' + url + '" failed.'; + } + }); + if (dep) addRunDependency(dep); + },resizeListeners:[],updateResizeListeners:function () { + var canvas = Module['canvas']; + Browser.resizeListeners.forEach(function(listener) { + listener(canvas.width, canvas.height); + }); + },setCanvasSize:function (width, height, noUpdates) { + var canvas = Module['canvas']; + Browser.updateCanvasDimensions(canvas, width, height); + if (!noUpdates) Browser.updateResizeListeners(); + },windowedWidth:0,windowedHeight:0,setFullscreenCanvasSize:function () { + // check if SDL is available + if (typeof SDL != "undefined") { + var flags = HEAPU32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)]; + flags = flags | 0x00800000; // set SDL_FULLSCREEN flag + HEAP32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)]=flags + } + Browser.updateResizeListeners(); + },setWindowedCanvasSize:function () { + // check if SDL is available + if (typeof SDL != "undefined") { + var flags = HEAPU32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)]; + flags = flags & ~0x00800000; // clear SDL_FULLSCREEN flag + HEAP32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)]=flags + } + Browser.updateResizeListeners(); + },updateCanvasDimensions:function (canvas, wNative, hNative) { + if (wNative && hNative) { + canvas.widthNative = wNative; + canvas.heightNative = hNative; + } else { + wNative = canvas.widthNative; + hNative = canvas.heightNative; + } + var w = wNative; + var h = hNative; + if (Module['forcedAspectRatio'] && Module['forcedAspectRatio'] > 0) { + if (w/h < Module['forcedAspectRatio']) { + w = Math.round(h * Module['forcedAspectRatio']); + } else { + h = Math.round(w / Module['forcedAspectRatio']); + } + } + if (((document['fullscreenElement'] || document['mozFullScreenElement'] || + document['msFullscreenElement'] || document['webkitFullscreenElement'] || + document['webkitCurrentFullScreenElement']) === canvas.parentNode) && (typeof screen != 'undefined')) { + var factor = Math.min(screen.width / w, screen.height / h); + w = Math.round(w * factor); + h = Math.round(h * factor); + } + if (Browser.resizeCanvas) { + if (canvas.width != w) canvas.width = w; + if (canvas.height != h) canvas.height = h; + if (typeof canvas.style != 'undefined') { + canvas.style.removeProperty( "width"); + canvas.style.removeProperty("height"); + } + } else { + if (canvas.width != wNative) canvas.width = wNative; + if (canvas.height != hNative) canvas.height = hNative; + if (typeof canvas.style != 'undefined') { + if (w != wNative || h != hNative) { + canvas.style.setProperty( "width", w + "px", "important"); + canvas.style.setProperty("height", h + "px", "important"); + } else { + canvas.style.removeProperty( "width"); + canvas.style.removeProperty("height"); + } + } + } + },wgetRequests:{},nextWgetRequestHandle:0,getNextWgetRequestHandle:function () { + var handle = Browser.nextWgetRequestHandle; + Browser.nextWgetRequestHandle++; + return handle; + }};var GLFW={Window:function (id, width, height, title, monitor, share) { + this.id = id; + this.x = 0; + this.y = 0; + this.fullscreen = false; // Used to determine if app in fullscreen mode + this.storedX = 0; // Used to store X before fullscreen + this.storedY = 0; // Used to store Y before fullscreen + this.width = width; + this.height = height; + this.storedWidth = width; // Used to store width before fullscreen + this.storedHeight = height; // Used to store height before fullscreen + this.title = title; + this.monitor = monitor; + this.share = share; + this.attributes = GLFW.hints; + this.inputModes = { + 0x00033001:0x00034001, // GLFW_CURSOR (GLFW_CURSOR_NORMAL) + 0x00033002:0, // GLFW_STICKY_KEYS + 0x00033003:0, // GLFW_STICKY_MOUSE_BUTTONS + }; + this.buttons = 0; + this.keys = new Array(); + this.shouldClose = 0; + this.title = null; + this.windowPosFunc = null; // GLFWwindowposfun + this.windowSizeFunc = null; // GLFWwindowsizefun + this.windowCloseFunc = null; // GLFWwindowclosefun + this.windowRefreshFunc = null; // GLFWwindowrefreshfun + this.windowFocusFunc = null; // GLFWwindowfocusfun + this.windowIconifyFunc = null; // GLFWwindowiconifyfun + this.framebufferSizeFunc = null; // GLFWframebuffersizefun + this.mouseButtonFunc = null; // GLFWmousebuttonfun + this.cursorPosFunc = null; // GLFWcursorposfun + this.cursorEnterFunc = null; // GLFWcursorenterfun + this.scrollFunc = null; // GLFWscrollfun + this.keyFunc = null; // GLFWkeyfun + this.charFunc = null; // GLFWcharfun + this.userptr = null; + },WindowFromId:function (id) { + if (id <= 0 || !GLFW.windows) return null; + return GLFW.windows[id - 1]; + },errorFunc:null,monitorFunc:null,active:null,windows:null,monitors:null,monitorString:null,versionString:null,initialTime:null,extensions:null,hints:null,defaultHints:{131073:0,131074:0,131075:1,131076:1,131077:1,135169:8,135170:8,135171:8,135172:8,135173:24,135174:8,135175:0,135176:0,135177:0,135178:0,135179:0,135180:0,135181:0,135182:0,135183:0,139265:196609,139266:1,139267:0,139268:0,139269:0,139270:0,139271:0,139272:0},DOMToGLFWKeyCode:function (keycode) { + switch (keycode) { + // these keycodes are only defined for GLFW3, assume they are the same for GLFW2 + case 0x20:return 32; // DOM_VK_SPACE -> GLFW_KEY_SPACE + case 0xDE:return 39; // DOM_VK_QUOTE -> GLFW_KEY_APOSTROPHE + case 0xBC:return 44; // DOM_VK_COMMA -> GLFW_KEY_COMMA + case 0xAD:return 45; // DOM_VK_HYPHEN_MINUS -> GLFW_KEY_MINUS + case 0xBD:return 45; // DOM_VK_MINUS -> GLFW_KEY_MINUS + case 0xBE:return 46; // DOM_VK_PERIOD -> GLFW_KEY_PERIOD + case 0xBF:return 47; // DOM_VK_SLASH -> GLFW_KEY_SLASH + case 0x30:return 48; // DOM_VK_0 -> GLFW_KEY_0 + case 0x31:return 49; // DOM_VK_1 -> GLFW_KEY_1 + case 0x32:return 50; // DOM_VK_2 -> GLFW_KEY_2 + case 0x33:return 51; // DOM_VK_3 -> GLFW_KEY_3 + case 0x34:return 52; // DOM_VK_4 -> GLFW_KEY_4 + case 0x35:return 53; // DOM_VK_5 -> GLFW_KEY_5 + case 0x36:return 54; // DOM_VK_6 -> GLFW_KEY_6 + case 0x37:return 55; // DOM_VK_7 -> GLFW_KEY_7 + case 0x38:return 56; // DOM_VK_8 -> GLFW_KEY_8 + case 0x39:return 57; // DOM_VK_9 -> GLFW_KEY_9 + case 0x3B:return 59; // DOM_VK_SEMICOLON -> GLFW_KEY_SEMICOLON + case 0x3D:return 61; // DOM_VK_EQUALS -> GLFW_KEY_EQUAL + case 0xBB:return 61; // DOM_VK_EQUALS -> GLFW_KEY_EQUAL + case 0x41:return 65; // DOM_VK_A -> GLFW_KEY_A + case 0x42:return 66; // DOM_VK_B -> GLFW_KEY_B + case 0x43:return 67; // DOM_VK_C -> GLFW_KEY_C + case 0x44:return 68; // DOM_VK_D -> GLFW_KEY_D + case 0x45:return 69; // DOM_VK_E -> GLFW_KEY_E + case 0x46:return 70; // DOM_VK_F -> GLFW_KEY_F + case 0x47:return 71; // DOM_VK_G -> GLFW_KEY_G + case 0x48:return 72; // DOM_VK_H -> GLFW_KEY_H + case 0x49:return 73; // DOM_VK_I -> GLFW_KEY_I + case 0x4A:return 74; // DOM_VK_J -> GLFW_KEY_J + case 0x4B:return 75; // DOM_VK_K -> GLFW_KEY_K + case 0x4C:return 76; // DOM_VK_L -> GLFW_KEY_L + case 0x4D:return 77; // DOM_VK_M -> GLFW_KEY_M + case 0x4E:return 78; // DOM_VK_N -> GLFW_KEY_N + case 0x4F:return 79; // DOM_VK_O -> GLFW_KEY_O + case 0x50:return 80; // DOM_VK_P -> GLFW_KEY_P + case 0x51:return 81; // DOM_VK_Q -> GLFW_KEY_Q + case 0x52:return 82; // DOM_VK_R -> GLFW_KEY_R + case 0x53:return 83; // DOM_VK_S -> GLFW_KEY_S + case 0x54:return 84; // DOM_VK_T -> GLFW_KEY_T + case 0x55:return 85; // DOM_VK_U -> GLFW_KEY_U + case 0x56:return 86; // DOM_VK_V -> GLFW_KEY_V + case 0x57:return 87; // DOM_VK_W -> GLFW_KEY_W + case 0x58:return 88; // DOM_VK_X -> GLFW_KEY_X + case 0x59:return 89; // DOM_VK_Y -> GLFW_KEY_Y + case 0x5a:return 90; // DOM_VK_Z -> GLFW_KEY_Z + case 0xDB:return 91; // DOM_VK_OPEN_BRACKET -> GLFW_KEY_LEFT_BRACKET + case 0xDC:return 92; // DOM_VK_BACKSLASH -> GLFW_KEY_BACKSLASH + case 0xDD:return 93; // DOM_VK_CLOSE_BRACKET -> GLFW_KEY_RIGHT_BRACKET + case 0xC0:return 94; // DOM_VK_BACK_QUOTE -> GLFW_KEY_GRAVE_ACCENT + + + case 0x1B:return 256; // DOM_VK_ESCAPE -> GLFW_KEY_ESCAPE + case 0x0D:return 257; // DOM_VK_RETURN -> GLFW_KEY_ENTER + case 0x09:return 258; // DOM_VK_TAB -> GLFW_KEY_TAB + case 0x08:return 259; // DOM_VK_BACK -> GLFW_KEY_BACKSPACE + case 0x2D:return 260; // DOM_VK_INSERT -> GLFW_KEY_INSERT + case 0x2E:return 261; // DOM_VK_DELETE -> GLFW_KEY_DELETE + case 0x27:return 262; // DOM_VK_RIGHT -> GLFW_KEY_RIGHT + case 0x25:return 263; // DOM_VK_LEFT -> GLFW_KEY_LEFT + case 0x28:return 264; // DOM_VK_DOWN -> GLFW_KEY_DOWN + case 0x26:return 265; // DOM_VK_UP -> GLFW_KEY_UP + case 0x21:return 266; // DOM_VK_PAGE_UP -> GLFW_KEY_PAGE_UP + case 0x22:return 267; // DOM_VK_PAGE_DOWN -> GLFW_KEY_PAGE_DOWN + case 0x24:return 268; // DOM_VK_HOME -> GLFW_KEY_HOME + case 0x23:return 269; // DOM_VK_END -> GLFW_KEY_END + case 0x14:return 280; // DOM_VK_CAPS_LOCK -> GLFW_KEY_CAPS_LOCK + case 0x91:return 281; // DOM_VK_SCROLL_LOCK -> GLFW_KEY_SCROLL_LOCK + case 0x90:return 282; // DOM_VK_NUM_LOCK -> GLFW_KEY_NUM_LOCK + case 0x2C:return 283; // DOM_VK_SNAPSHOT -> GLFW_KEY_PRINT_SCREEN + case 0x13:return 284; // DOM_VK_PAUSE -> GLFW_KEY_PAUSE + case 0x70:return 290; // DOM_VK_F1 -> GLFW_KEY_F1 + case 0x71:return 291; // DOM_VK_F2 -> GLFW_KEY_F2 + case 0x72:return 292; // DOM_VK_F3 -> GLFW_KEY_F3 + case 0x73:return 293; // DOM_VK_F4 -> GLFW_KEY_F4 + case 0x74:return 294; // DOM_VK_F5 -> GLFW_KEY_F5 + case 0x75:return 295; // DOM_VK_F6 -> GLFW_KEY_F6 + case 0x76:return 296; // DOM_VK_F7 -> GLFW_KEY_F7 + case 0x77:return 297; // DOM_VK_F8 -> GLFW_KEY_F8 + case 0x78:return 298; // DOM_VK_F9 -> GLFW_KEY_F9 + case 0x79:return 299; // DOM_VK_F10 -> GLFW_KEY_F10 + case 0x7A:return 300; // DOM_VK_F11 -> GLFW_KEY_F11 + case 0x7B:return 301; // DOM_VK_F12 -> GLFW_KEY_F12 + case 0x7C:return 302; // DOM_VK_F13 -> GLFW_KEY_F13 + case 0x7D:return 303; // DOM_VK_F14 -> GLFW_KEY_F14 + case 0x7E:return 304; // DOM_VK_F15 -> GLFW_KEY_F15 + case 0x7F:return 305; // DOM_VK_F16 -> GLFW_KEY_F16 + case 0x80:return 306; // DOM_VK_F17 -> GLFW_KEY_F17 + case 0x81:return 307; // DOM_VK_F18 -> GLFW_KEY_F18 + case 0x82:return 308; // DOM_VK_F19 -> GLFW_KEY_F19 + case 0x83:return 309; // DOM_VK_F20 -> GLFW_KEY_F20 + case 0x84:return 310; // DOM_VK_F21 -> GLFW_KEY_F21 + case 0x85:return 311; // DOM_VK_F22 -> GLFW_KEY_F22 + case 0x86:return 312; // DOM_VK_F23 -> GLFW_KEY_F23 + case 0x87:return 313; // DOM_VK_F24 -> GLFW_KEY_F24 + case 0x88:return 314; // 0x88 (not used?) -> GLFW_KEY_F25 + case 0x60:return 320; // DOM_VK_NUMPAD0 -> GLFW_KEY_KP_0 + case 0x61:return 321; // DOM_VK_NUMPAD1 -> GLFW_KEY_KP_1 + case 0x62:return 322; // DOM_VK_NUMPAD2 -> GLFW_KEY_KP_2 + case 0x63:return 323; // DOM_VK_NUMPAD3 -> GLFW_KEY_KP_3 + case 0x64:return 324; // DOM_VK_NUMPAD4 -> GLFW_KEY_KP_4 + case 0x65:return 325; // DOM_VK_NUMPAD5 -> GLFW_KEY_KP_5 + case 0x66:return 326; // DOM_VK_NUMPAD6 -> GLFW_KEY_KP_6 + case 0x67:return 327; // DOM_VK_NUMPAD7 -> GLFW_KEY_KP_7 + case 0x68:return 328; // DOM_VK_NUMPAD8 -> GLFW_KEY_KP_8 + case 0x69:return 329; // DOM_VK_NUMPAD9 -> GLFW_KEY_KP_9 + case 0x6E:return 330; // DOM_VK_DECIMAL -> GLFW_KEY_KP_DECIMAL + case 0x6F:return 331; // DOM_VK_DIVIDE -> GLFW_KEY_KP_DIVIDE + case 0x6A:return 332; // DOM_VK_MULTIPLY -> GLFW_KEY_KP_MULTIPLY + case 0x6D:return 333; // DOM_VK_SUBTRACT -> GLFW_KEY_KP_SUBTRACT + case 0x6B:return 334; // DOM_VK_ADD -> GLFW_KEY_KP_ADD + // case 0x0D:return 335; // DOM_VK_RETURN -> GLFW_KEY_KP_ENTER (DOM_KEY_LOCATION_RIGHT) + // case 0x61:return 336; // DOM_VK_EQUALS -> GLFW_KEY_KP_EQUAL (DOM_KEY_LOCATION_RIGHT) + case 0x10:return 340; // DOM_VK_SHIFT -> GLFW_KEY_LEFT_SHIFT + case 0x11:return 341; // DOM_VK_CONTROL -> GLFW_KEY_LEFT_CONTROL + case 0x12:return 342; // DOM_VK_ALT -> GLFW_KEY_LEFT_ALT + case 0x5B:return 343; // DOM_VK_WIN -> GLFW_KEY_LEFT_SUPER + // case 0x10:return 344; // DOM_VK_SHIFT -> GLFW_KEY_RIGHT_SHIFT (DOM_KEY_LOCATION_RIGHT) + // case 0x11:return 345; // DOM_VK_CONTROL -> GLFW_KEY_RIGHT_CONTROL (DOM_KEY_LOCATION_RIGHT) + // case 0x12:return 346; // DOM_VK_ALT -> GLFW_KEY_RIGHT_ALT (DOM_KEY_LOCATION_RIGHT) + // case 0x5B:return 347; // DOM_VK_WIN -> GLFW_KEY_RIGHT_SUPER (DOM_KEY_LOCATION_RIGHT) + case 0x5D:return 348; // DOM_VK_CONTEXT_MENU -> GLFW_KEY_MENU + // XXX: GLFW_KEY_WORLD_1, GLFW_KEY_WORLD_2 what are these? + default:return -1; // GLFW_KEY_UNKNOWN + }; + },getModBits:function (win) { + var mod = 0; + if (win.keys[340]) mod |= 0x0001; // GLFW_MOD_SHIFT + if (win.keys[341]) mod |= 0x0002; // GLFW_MOD_CONTROL + if (win.keys[342]) mod |= 0x0004; // GLFW_MOD_ALT + if (win.keys[343]) mod |= 0x0008; // GLFW_MOD_SUPER + return mod; + },onKeyPress:function (event) { + if (!GLFW.active || !GLFW.active.charFunc) return; + + // correct unicode charCode is only available with onKeyPress event + var charCode = event.charCode; + if (charCode == 0 || (charCode >= 0x00 && charCode <= 0x1F)) return; + + + Module['dynCall_vii'](GLFW.active.charFunc, GLFW.active.id, charCode); + },onKeyChanged:function (event, status) { + if (!GLFW.active) return; + + var key = GLFW.DOMToGLFWKeyCode(event.keyCode); + if (key == -1) return; + + var repeat = status && GLFW.active.keys[key]; + GLFW.active.keys[key] = status; + if (!GLFW.active.keyFunc) return; + + + if (repeat) status = 2; // GLFW_REPEAT + Module['dynCall_viiiii'](GLFW.active.keyFunc, GLFW.active.id, key, event.keyCode, status, GLFW.getModBits(GLFW.active)); + },onKeydown:function (event) { + GLFW.onKeyChanged(event, 1); // GLFW_PRESS or GLFW_REPEAT + + // This logic comes directly from the sdl implementation. We cannot + // call preventDefault on all keydown events otherwise onKeyPress will + // not get called + if (event.keyCode === 8 /* backspace */ || event.keyCode === 9 /* tab */) { + event.preventDefault(); + } + },onKeyup:function (event) { + GLFW.onKeyChanged(event, 0); // GLFW_RELEASE + },onMousemove:function (event) { + if (!GLFW.active) return; + + Browser.calculateMouseEvent(event); + + if (event.target != Module["canvas"] || !GLFW.active.cursorPosFunc) return; + + + Module['dynCall_vidd'](GLFW.active.cursorPosFunc, GLFW.active.id, Browser.mouseX, Browser.mouseY); + },DOMToGLFWMouseButton:function (event) { + // DOM and glfw have different button codes. + // See http://www.w3schools.com/jsref/event_button.asp. + var eventButton = event['button']; + if (eventButton > 0) { + if (eventButton == 1) { + eventButton = 2; + } else { + eventButton = 1; + } + } + return eventButton; + },onMouseenter:function (event) { + if (!GLFW.active) return; + + if (event.target != Module["canvas"] || !GLFW.active.cursorEnterFunc) return; + + Module['dynCall_vii'](GLFW.active.cursorEnterFunc, GLFW.active.id, 1); + },onMouseleave:function (event) { + if (!GLFW.active) return; + + if (event.target != Module["canvas"] || !GLFW.active.cursorEnterFunc) return; + + Module['dynCall_vii'](GLFW.active.cursorEnterFunc, GLFW.active.id, 0); + },onMouseButtonChanged:function (event, status) { + if (!GLFW.active) return; + + Browser.calculateMouseEvent(event); + + if (event.target != Module["canvas"]) return; + + eventButton = GLFW.DOMToGLFWMouseButton(event); + + if (status == 1) { // GLFW_PRESS + GLFW.active.buttons |= (1 << eventButton); + try { + event.target.setCapture(); + } catch (e) {} + } else { // GLFW_RELEASE + GLFW.active.buttons &= ~(1 << eventButton); + } + + if (!GLFW.active.mouseButtonFunc) return; + + + Module['dynCall_viiii'](GLFW.active.mouseButtonFunc, GLFW.active.id, eventButton, status, GLFW.getModBits(GLFW.active)); + },onMouseButtonDown:function (event) { + if (!GLFW.active) return; + GLFW.onMouseButtonChanged(event, 1); // GLFW_PRESS + },onMouseButtonUp:function (event) { + if (!GLFW.active) return; + GLFW.onMouseButtonChanged(event, 0); // GLFW_RELEASE + },onMouseWheel:function (event) { + // Note the minus sign that flips browser wheel direction (positive direction scrolls page down) to native wheel direction (positive direction is mouse wheel up) + var delta = -Browser.getMouseWheelDelta(event); + delta = (delta == 0) ? 0 : (delta > 0 ? Math.max(delta, 1) : Math.min(delta, -1)); // Quantize to integer so that minimum scroll is at least +/- 1. + GLFW.wheelPos += delta; + + if (!GLFW.active || !GLFW.active.scrollFunc || event.target != Module['canvas']) return; + + + var sx = 0; + var sy = 0; + if (event.type == 'mousewheel') { + sx = event.wheelDeltaX; + sy = event.wheelDeltaY; + } else { + sx = event.deltaX; + sy = event.deltaY; + } + + Module['dynCall_vidd'](GLFW.active.scrollFunc, GLFW.active.id, sx, sy); + + event.preventDefault(); + },onCanvasResize:function (width, height) { + if (!GLFW.active) return; + + var resizeNeeded = true; + + // If the client is requestiong fullscreen mode + if (document["fullscreen"] || document["fullScreen"] || document["mozFullScreen"] || document["webkitIsFullScreen"]) { + GLFW.active.storedX = GLFW.active.x; + GLFW.active.storedY = GLFW.active.y; + GLFW.active.storedWidth = GLFW.active.width; + GLFW.active.storedHeight = GLFW.active.height; + GLFW.active.x = GLFW.active.y = 0; + GLFW.active.width = screen.width; + GLFW.active.height = screen.height; + GLFW.active.fullscreen = true; + + // If the client is reverting from fullscreen mode + } else if (GLFW.active.fullscreen == true) { + GLFW.active.x = GLFW.active.storedX; + GLFW.active.y = GLFW.active.storedY; + GLFW.active.width = GLFW.active.storedWidth; + GLFW.active.height = GLFW.active.storedHeight; + GLFW.active.fullscreen = false; + + // If the width/height values do not match current active window sizes + } else if (GLFW.active.width != width || GLFW.active.height != height) { + GLFW.active.width = width; + GLFW.active.height = height; + } else { + resizeNeeded = false; + } + + // If any of the above conditions were true, we need to resize the canvas + if (resizeNeeded) { + // resets the canvas size to counter the aspect preservation of Browser.updateCanvasDimensions + Browser.setCanvasSize(GLFW.active.width, GLFW.active.height, true); + // TODO: Client dimensions (clientWidth/clientHeight) vs pixel dimensions (width/height) of + // the canvas should drive window and framebuffer size respectfully. + GLFW.onWindowSizeChanged(); + GLFW.onFramebufferSizeChanged(); + } + },onWindowSizeChanged:function () { + if (!GLFW.active) return; + + if (!GLFW.active.windowSizeFunc) return; + + + Module['dynCall_viii'](GLFW.active.windowSizeFunc, GLFW.active.id, GLFW.active.width, GLFW.active.height); + },onFramebufferSizeChanged:function () { + if (!GLFW.active) return; + + if (!GLFW.active.framebufferSizeFunc) return; + + Module['dynCall_viii'](GLFW.active.framebufferSizeFunc, GLFW.active.id, GLFW.active.width, GLFW.active.height); + },requestFullscreen:function () { + var RFS = Module["canvas"]['requestFullscreen'] || + Module["canvas"]['mozRequestFullScreen'] || + Module["canvas"]['webkitRequestFullScreen'] || + (function() {}); + RFS.apply(Module["canvas"], []); + },requestFullScreen:function () { + Module.printErr('GLFW.requestFullScreen() is deprecated. Please call GLFW.requestFullscreen instead.'); + GLFW.requestFullScreen = function() { + return GLFW.requestFullscreen(); + } + return GLFW.requestFullscreen(); + },exitFullscreen:function () { + var CFS = document['exitFullscreen'] || + document['cancelFullScreen'] || + document['mozCancelFullScreen'] || + document['webkitCancelFullScreen'] || + (function() {}); + CFS.apply(document, []); + },cancelFullScreen:function () { + Module.printErr('GLFW.cancelFullScreen() is deprecated. Please call GLFW.exitFullscreen instead.'); + GLFW.cancelFullScreen = function() { + return GLFW.exitFullscreen(); + } + return GLFW.exitFullscreen(); + },getTime:function () { + return _emscripten_get_now() / 1000; + },setWindowTitle:function (winid, title) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + + win.title = Pointer_stringify(title); + if (GLFW.active.id == win.id) { + document.title = win.title; + } + },setKeyCallback:function (winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.keyFunc = cbfun; + },setCharCallback:function (winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.charFunc = cbfun; + },setMouseButtonCallback:function (winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.mouseButtonFunc = cbfun; + },setCursorPosCallback:function (winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.cursorPosFunc = cbfun; + },setScrollCallback:function (winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.scrollFunc = cbfun; + },setWindowSizeCallback:function (winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.windowSizeFunc = cbfun; + + },setWindowCloseCallback:function (winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.windowCloseFunc = cbfun; + },setWindowRefreshCallback:function (winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.windowRefreshFunc = cbfun; + },onClickRequestPointerLock:function (e) { + if (!Browser.pointerLock && Module['canvas'].requestPointerLock) { + Module['canvas'].requestPointerLock(); + e.preventDefault(); + } + },setInputMode:function (winid, mode, value) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + + switch(mode) { + case 0x00033001: { // GLFW_CURSOR + switch(value) { + case 0x00034001: { // GLFW_CURSOR_NORMAL + win.inputModes[mode] = value; + Module['canvas'].removeEventListener('click', GLFW.onClickRequestPointerLock, true); + Module['canvas'].exitPointerLock(); + break; + } + case 0x00034002: { // GLFW_CURSOR_HIDDEN + console.log("glfwSetInputMode called with GLFW_CURSOR_HIDDEN value not implemented."); + break; + } + case 0x00034003: { // GLFW_CURSOR_DISABLED + win.inputModes[mode] = value; + Module['canvas'].addEventListener('click', GLFW.onClickRequestPointerLock, true); + Module['canvas'].requestPointerLock(); + break; + } + default: { + console.log("glfwSetInputMode called with unknown value parameter value: " + value + "."); + break; + } + } + break; + } + case 0x00033002: { // GLFW_STICKY_KEYS + console.log("glfwSetInputMode called with GLFW_STICKY_KEYS mode not implemented."); + break; + } + case 0x00033003: { // GLFW_STICKY_MOUSE_BUTTONS + console.log("glfwSetInputMode called with GLFW_STICKY_MOUSE_BUTTONS mode not implemented."); + break; + } + default: { + console.log("glfwSetInputMode called with unknown mode parameter value: " + mode + "."); + break; + } + } + },getKey:function (winid, key) { + var win = GLFW.WindowFromId(winid); + if (!win) return 0; + return win.keys[key]; + },getMouseButton:function (winid, button) { + var win = GLFW.WindowFromId(winid); + if (!win) return 0; + return (win.buttons & (1 << button)) > 0; + },getCursorPos:function (winid, x, y) { + setValue(x, Browser.mouseX, 'double'); + setValue(y, Browser.mouseY, 'double'); + },getMousePos:function (winid, x, y) { + setValue(x, Browser.mouseX, 'i32'); + setValue(y, Browser.mouseY, 'i32'); + },setCursorPos:function (winid, x, y) { + },getWindowPos:function (winid, x, y) { + var wx = 0; + var wy = 0; + + var win = GLFW.WindowFromId(winid); + if (win) { + wx = win.x; + wy = win.y; + } + + setValue(x, wx, 'i32'); + setValue(y, wy, 'i32'); + },setWindowPos:function (winid, x, y) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.x = x; + win.y = y; + },getWindowSize:function (winid, width, height) { + var ww = 0; + var wh = 0; + + var win = GLFW.WindowFromId(winid); + if (win) { + ww = win.width; + wh = win.height; + } + + setValue(width, ww, 'i32'); + setValue(height, wh, 'i32'); + },setWindowSize:function (winid, width, height) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + + if (GLFW.active.id == win.id) { + if (width == screen.width && height == screen.height) { + GLFW.requestFullscreen(); + } else { + GLFW.exitFullscreen(); + Browser.setCanvasSize(width, height); + win.width = width; + win.height = height; + } + } + + if (!win.windowSizeFunc) return; + + + Module['dynCall_viii'](win.windowSizeFunc, win.id, width, height); + },createWindow:function (width, height, title, monitor, share) { + var i, id; + for (i = 0; i < GLFW.windows.length && GLFW.windows[i] !== null; i++); + if (i > 0) throw "glfwCreateWindow only supports one window at time currently"; + + // id for window + id = i + 1; + + // not valid + if (width <= 0 || height <= 0) return 0; + + if (monitor) { + GLFW.requestFullscreen(); + } else { + Browser.setCanvasSize(width, height); + } + + // Create context when there are no existing alive windows + for (i = 0; i < GLFW.windows.length && GLFW.windows[i] == null; i++); + if (i == GLFW.windows.length) { + var contextAttributes = { + antialias: (GLFW.hints[0x0002100D] > 1), // GLFW_SAMPLES + depth: (GLFW.hints[0x00021005] > 0), // GLFW_DEPTH_BITS + stencil: (GLFW.hints[0x00021006] > 0), // GLFW_STENCIL_BITS + alpha: (GLFW.hints[0x00021004] > 0) // GLFW_ALPHA_BITS + } + Module.ctx = Browser.createContext(Module['canvas'], true, true, contextAttributes); + } + + // If context creation failed, do not return a valid window + if (!Module.ctx) return 0; + + // Get non alive id + var win = new GLFW.Window(id, width, height, title, monitor, share); + + // Set window to array + if (id - 1 == GLFW.windows.length) { + GLFW.windows.push(win); + } else { + GLFW.windows[id - 1] = win; + } + + GLFW.active = win; + return win.id; + },destroyWindow:function (winid) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + + if (win.windowCloseFunc) + Module['dynCall_vi'](win.windowCloseFunc, win.id); + + GLFW.windows[win.id - 1] = null; + if (GLFW.active.id == win.id) + GLFW.active = null; + + // Destroy context when no alive windows + for (var i = 0; i < GLFW.windows.length; i++) + if (GLFW.windows[i] !== null) return; + + Module.ctx = Browser.destroyContext(Module['canvas'], true, true); + },swapBuffers:function (winid) { + },GLFW2ParamToGLFW3Param:function (param) { + table = { + 0x00030001:0, // GLFW_MOUSE_CURSOR + 0x00030002:0, // GLFW_STICKY_KEYS + 0x00030003:0, // GLFW_STICKY_MOUSE_BUTTONS + 0x00030004:0, // GLFW_SYSTEM_KEYS + 0x00030005:0, // GLFW_KEY_REPEAT + 0x00030006:0, // GLFW_AUTO_POLL_EVENTS + 0x00020001:0, // GLFW_OPENED + 0x00020002:0, // GLFW_ACTIVE + 0x00020003:0, // GLFW_ICONIFIED + 0x00020004:0, // GLFW_ACCELERATED + 0x00020005:0x00021001, // GLFW_RED_BITS + 0x00020006:0x00021002, // GLFW_GREEN_BITS + 0x00020007:0x00021003, // GLFW_BLUE_BITS + 0x00020008:0x00021004, // GLFW_ALPHA_BITS + 0x00020009:0x00021005, // GLFW_DEPTH_BITS + 0x0002000A:0x00021006, // GLFW_STENCIL_BITS + 0x0002000B:0x0002100F, // GLFW_REFRESH_RATE + 0x0002000C:0x00021007, // GLFW_ACCUM_RED_BITS + 0x0002000D:0x00021008, // GLFW_ACCUM_GREEN_BITS + 0x0002000E:0x00021009, // GLFW_ACCUM_BLUE_BITS + 0x0002000F:0x0002100A, // GLFW_ACCUM_ALPHA_BITS + 0x00020010:0x0002100B, // GLFW_AUX_BUFFERS + 0x00020011:0x0002100C, // GLFW_STEREO + 0x00020012:0, // GLFW_WINDOW_NO_RESIZE + 0x00020013:0x0002100D, // GLFW_FSAA_SAMPLES + 0x00020014:0x00022002, // GLFW_OPENGL_VERSION_MAJOR + 0x00020015:0x00022003, // GLFW_OPENGL_VERSION_MINOR + 0x00020016:0x00022006, // GLFW_OPENGL_FORWARD_COMPAT + 0x00020017:0x00022007, // GLFW_OPENGL_DEBUG_CONTEXT + 0x00020018:0x00022008, // GLFW_OPENGL_PROFILE + }; + return table[param]; + }};function _glfwGetVideoModes(monitor, count) { + setValue(count, 0, 'i32'); + return 0; + } + + function _glLinkProgram(program) { + GLctx.linkProgram(GL.programs[program]); + GL.programInfos[program] = null; // uniforms no longer keep the same names after linking + GL.populateUniformTable(program); + } + + function _glBindTexture(target, texture) { + GLctx.bindTexture(target, texture ? GL.textures[texture] : null); + } + + function _emscripten_glStencilFunc(x0, x1, x2) { GLctx['stencilFunc'](x0, x1, x2) } + + function _glGetString(name_) { + if (GL.stringCache[name_]) return GL.stringCache[name_]; + var ret; + switch(name_) { + case 0x1F00 /* GL_VENDOR */: + case 0x1F01 /* GL_RENDERER */: + case 0x9245 /* UNMASKED_VENDOR_WEBGL */: + case 0x9246 /* UNMASKED_RENDERER_WEBGL */: + ret = allocate(intArrayFromString(GLctx.getParameter(name_)), 'i8', ALLOC_NORMAL); + break; + case 0x1F02 /* GL_VERSION */: + var glVersion = GLctx.getParameter(GLctx.VERSION); + // return GLES version string corresponding to the version of the WebGL context + { + glVersion = 'OpenGL ES 2.0 (' + glVersion + ')'; + } + ret = allocate(intArrayFromString(glVersion), 'i8', ALLOC_NORMAL); + break; + case 0x1F03 /* GL_EXTENSIONS */: + var exts = GLctx.getSupportedExtensions(); + var gl_exts = []; + for (var i = 0; i < exts.length; ++i) { + gl_exts.push(exts[i]); + gl_exts.push("GL_" + exts[i]); + } + ret = allocate(intArrayFromString(gl_exts.join(' ')), 'i8', ALLOC_NORMAL); + break; + case 0x8B8C /* GL_SHADING_LANGUAGE_VERSION */: + var glslVersion = GLctx.getParameter(GLctx.SHADING_LANGUAGE_VERSION); + // extract the version number 'N.M' from the string 'WebGL GLSL ES N.M ...' + var ver_re = /^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/; + var ver_num = glslVersion.match(ver_re); + if (ver_num !== null) { + if (ver_num[1].length == 3) ver_num[1] = ver_num[1] + '0'; // ensure minor version has 2 digits + glslVersion = 'OpenGL ES GLSL ES ' + ver_num[1] + ' (' + glslVersion + ')'; + } + ret = allocate(intArrayFromString(glslVersion), 'i8', ALLOC_NORMAL); + break; + default: + GL.recordError(0x0500/*GL_INVALID_ENUM*/); + return 0; + } + GL.stringCache[name_] = ret; + return ret; + } + + function _emscripten_glUniform3iv(location, count, value) { + + + GLctx.uniform3iv(GL.uniforms[location], HEAP32.subarray((value)>>2,(value+count*12)>>2)); + } + + function _emscripten_glShaderSource(shader, count, string, length) { + var source = GL.getSource(shader, count, string, length); + + + GLctx.shaderSource(GL.shaders[shader], source); + } + + function _emscripten_glReleaseShaderCompiler() { + // NOP (as allowed by GLES 2.0 spec) + } + + function _glfwSetScrollCallback(winid, cbfun) { + GLFW.setScrollCallback(winid, cbfun); + } + + function _emscripten_glTexParameterf(x0, x1, x2) { GLctx['texParameterf'](x0, x1, x2) } + + function _emscripten_glTexParameteri(x0, x1, x2) { GLctx['texParameteri'](x0, x1, x2) } + + function _glCompileShader(shader) { + GLctx.compileShader(GL.shaders[shader]); + } @@ -2270,10 +3530,9 @@ function copyTempDouble(ptr) { var ERRNO_MESSAGES={0:"Success",1:"Not super-user",2:"No such file or directory",3:"No such process",4:"Interrupted system call",5:"I/O error",6:"No such device or address",7:"Arg list too long",8:"Exec format error",9:"Bad file number",10:"No children",11:"No more processes",12:"Not enough core",13:"Permission denied",14:"Bad address",15:"Block device required",16:"Mount device busy",17:"File exists",18:"Cross-device link",19:"No such device",20:"Not a directory",21:"Is a directory",22:"Invalid argument",23:"Too many open files in system",24:"Too many open files",25:"Not a typewriter",26:"Text file busy",27:"File too large",28:"No space left on device",29:"Illegal seek",30:"Read only file system",31:"Too many links",32:"Broken pipe",33:"Math arg out of domain of func",34:"Math result not representable",35:"File locking deadlock error",36:"File or path name too long",37:"No record locks available",38:"Function not implemented",39:"Directory not empty",40:"Too many symbolic links",42:"No message of desired type",43:"Identifier removed",44:"Channel number out of range",45:"Level 2 not synchronized",46:"Level 3 halted",47:"Level 3 reset",48:"Link number out of range",49:"Protocol driver not attached",50:"No CSI structure available",51:"Level 2 halted",52:"Invalid exchange",53:"Invalid request descriptor",54:"Exchange full",55:"No anode",56:"Invalid request code",57:"Invalid slot",59:"Bad font file fmt",60:"Device not a stream",61:"No data (for no delay io)",62:"Timer expired",63:"Out of streams resources",64:"Machine is not on the network",65:"Package not installed",66:"The object is remote",67:"The link has been severed",68:"Advertise error",69:"Srmount error",70:"Communication error on send",71:"Protocol error",72:"Multihop attempted",73:"Cross mount point (not really error)",74:"Trying to read unreadable message",75:"Value too large for defined data type",76:"Given log. name not unique",77:"f.d. invalid for this operation",78:"Remote address changed",79:"Can access a needed shared lib",80:"Accessing a corrupted shared lib",81:".lib section in a.out corrupted",82:"Attempting to link in too many libs",83:"Attempting to exec a shared library",84:"Illegal byte sequence",86:"Streams pipe error",87:"Too many users",88:"Socket operation on non-socket",89:"Destination address required",90:"Message too long",91:"Protocol wrong type for socket",92:"Protocol not available",93:"Unknown protocol",94:"Socket type not supported",95:"Not supported",96:"Protocol family not supported",97:"Address family not supported by protocol family",98:"Address already in use",99:"Address not available",100:"Network interface is not configured",101:"Network is unreachable",102:"Connection reset by network",103:"Connection aborted",104:"Connection reset by peer",105:"No buffer space available",106:"Socket is already connected",107:"Socket is not connected",108:"Can't send after socket shutdown",109:"Too many references",110:"Connection timed out",111:"Connection refused",112:"Host is down",113:"Host is unreachable",114:"Socket already connected",115:"Connection already in progress",116:"Stale file handle",122:"Quota exceeded",123:"No medium (in tape drive)",125:"Operation canceled",130:"Previous owner died",131:"State not recoverable"}; - - var ___errno_state=0;function ___setErrNo(value) { - // For convenient setting and returning of errno. - HEAP32[((___errno_state)>>2)]=value; + function ___setErrNo(value) { + if (Module['___errno_location']) HEAP32[((Module['___errno_location']())>>2)]=value; + else Module.printErr('failed to set errno from JS'); return value; } @@ -2476,15 +3735,26 @@ function copyTempDouble(ptr) { var buf = new Buffer(BUFSIZE); var bytesRead = 0; - var fd = process.stdin.fd; - // Linux and Mac cannot use process.stdin.fd (which isn't set up as sync) - var usingDevice = false; - try { - fd = fs.openSync('/dev/stdin', 'r'); - usingDevice = true; - } catch (e) {} + var isPosixPlatform = (process.platform != 'win32'); // Node doesn't offer a direct check, so test by exclusion - bytesRead = fs.readSync(fd, buf, 0, BUFSIZE, null); + var fd = process.stdin.fd; + if (isPosixPlatform) { + // Linux and Mac cannot use process.stdin.fd (which isn't set up as sync) + var usingDevice = false; + try { + fd = fs.openSync('/dev/stdin', 'r'); + usingDevice = true; + } catch (e) {} + } + + try { + bytesRead = fs.readSync(fd, buf, 0, BUFSIZE, null); + } catch(e) { + // Cross-platform differences: on Windows, reading EOF throws an exception, but on other OSes, + // reading EOF returns 0. Uniformize behavior by treating the EOF exception to return 0. + if (e.toString().indexOf('EOF') != -1) bytesRead = 0; + else throw e; + } if (usingDevice) { fs.closeSync(fd); } if (bytesRead > 0) { @@ -2603,7 +3873,7 @@ function copyTempDouble(ptr) { } else if (FS.isFile(node.mode)) { node.node_ops = MEMFS.ops_table.file.node; node.stream_ops = MEMFS.ops_table.file.stream; - node.usedBytes = 0; // The actual number of bytes used in the typed array, as opposed to contents.buffer.byteLength which gives the whole capacity. + node.usedBytes = 0; // The actual number of bytes used in the typed array, as opposed to contents.length which gives the whole capacity. // When the byte data of the file is populated, this will point to either a typed array, or a normal JS array. Typed arrays are preferred // for performance, and used by default. However, typed arrays are not resizable like normal JS arrays are, so there is a small disk size // penalty involved for appending file writes that continuously grow a file similar to std::vector capacity vs used -scheme. @@ -2642,7 +3912,7 @@ function copyTempDouble(ptr) { } if (!node.contents || node.contents.subarray) { // Keep using a typed array if creating a new storage, or if old one was a typed array as well. - var prevCapacity = node.contents ? node.contents.buffer.byteLength : 0; + var prevCapacity = node.contents ? node.contents.length : 0; if (prevCapacity >= newCapacity) return; // No need to expand, the storage was already large enough. // Don't expand strictly to the given requested limit if it's only a very small increase, but instead geometrically grow capacity. // For small filesizes (<1MB), perform size*2 geometric increase, but for large sizes, do a much more conservative size*1.125 increase to @@ -2782,7 +4052,8 @@ function copyTempDouble(ptr) { node.timestamp = Date.now(); if (buffer.subarray && (!node.contents || node.contents.subarray)) { // This write is from a typed array to a typed array? - if (canOwn) { // Can we just reuse the buffer we are given? + if (canOwn) { + assert(position === 0, 'canOwn must imply no weird position inside the file'); node.contents = buffer.subarray(offset, offset + length); node.usedBytes = length; return length; @@ -2902,6 +4173,9 @@ function copyTempDouble(ptr) { } catch (e) { return callback(e); } + if (!req) { + return callback("Unable to connect to IndexedDB"); + } req.onupgradeneeded = function(e) { var db = e.target.result; var transaction = e.target.transaction; @@ -3177,10 +4451,14 @@ function copyTempDouble(ptr) { parts.reverse(); return PATH.join.apply(null, parts); },flagsToPermissionStringMap:{0:"r",1:"r+",2:"r+",64:"r",65:"r+",66:"r+",129:"rx+",193:"rx+",514:"w+",577:"w",578:"w+",705:"wx",706:"wx+",1024:"a",1025:"a",1026:"a+",1089:"a",1090:"a+",1153:"ax",1154:"ax+",1217:"ax",1218:"ax+",4096:"rs",4098:"rs+"},flagsToPermissionString:function (flags) { + flags &= ~0x200000 /*O_PATH*/; // Ignore this flag from musl, otherwise node.js fails to open the file. + flags &= ~0x800 /*O_NONBLOCK*/; // Ignore this flag from musl, otherwise node.js fails to open the file. + flags &= ~0x8000 /*O_LARGEFILE*/; // Ignore this flag from musl, otherwise node.js fails to open the file. + flags &= ~0x80000 /*O_CLOEXEC*/; // Some applications may pass it; it makes no sense for a single process. if (flags in NODEFS.flagsToPermissionStringMap) { return NODEFS.flagsToPermissionStringMap[flags]; } else { - return flags; + throw new FS.ErrnoError(ERRNO_CODES.EINVAL); } },node_ops:{getattr:function (node) { var path = NODEFS.realPath(node); @@ -3370,24 +4648,141 @@ function copyTempDouble(ptr) { return position; }}}; - var _stdin=allocate(1, "i32*", ALLOC_STATIC); + var WORKERFS={DIR_MODE:16895,FILE_MODE:33279,reader:null,mount:function (mount) { + assert(ENVIRONMENT_IS_WORKER); + if (!WORKERFS.reader) WORKERFS.reader = new FileReaderSync(); + var root = WORKERFS.createNode(null, '/', WORKERFS.DIR_MODE, 0); + var createdParents = {}; + function ensureParent(path) { + // return the parent node, creating subdirs as necessary + var parts = path.split('/'); + var parent = root; + for (var i = 0; i < parts.length-1; i++) { + var curr = parts.slice(0, i+1).join('/'); + // Issue 4254: Using curr as a node name will prevent the node + // from being found in FS.nameTable when FS.open is called on + // a path which holds a child of this node, + // given that all FS functions assume node names + // are just their corresponding parts within their given path, + // rather than incremental aggregates which include their parent's + // directories. + if (!createdParents[curr]) { + createdParents[curr] = WORKERFS.createNode(parent, parts[i], WORKERFS.DIR_MODE, 0); + } + parent = createdParents[curr]; + } + return parent; + } + function base(path) { + var parts = path.split('/'); + return parts[parts.length-1]; + } + // We also accept FileList here, by using Array.prototype + Array.prototype.forEach.call(mount.opts["files"] || [], function(file) { + WORKERFS.createNode(ensureParent(file.name), base(file.name), WORKERFS.FILE_MODE, 0, file, file.lastModifiedDate); + }); + (mount.opts["blobs"] || []).forEach(function(obj) { + WORKERFS.createNode(ensureParent(obj["name"]), base(obj["name"]), WORKERFS.FILE_MODE, 0, obj["data"]); + }); + (mount.opts["packages"] || []).forEach(function(pack) { + pack['metadata'].files.forEach(function(file) { + var name = file.filename.substr(1); // remove initial slash + WORKERFS.createNode(ensureParent(name), base(name), WORKERFS.FILE_MODE, 0, pack['blob'].slice(file.start, file.end)); + }); + }); + return root; + },createNode:function (parent, name, mode, dev, contents, mtime) { + var node = FS.createNode(parent, name, mode); + node.mode = mode; + node.node_ops = WORKERFS.node_ops; + node.stream_ops = WORKERFS.stream_ops; + node.timestamp = (mtime || new Date).getTime(); + assert(WORKERFS.FILE_MODE !== WORKERFS.DIR_MODE); + if (mode === WORKERFS.FILE_MODE) { + node.size = contents.size; + node.contents = contents; + } else { + node.size = 4096; + node.contents = {}; + } + if (parent) { + parent.contents[name] = node; + } + return node; + },node_ops:{getattr:function (node) { + return { + dev: 1, + ino: undefined, + mode: node.mode, + nlink: 1, + uid: 0, + gid: 0, + rdev: undefined, + size: node.size, + atime: new Date(node.timestamp), + mtime: new Date(node.timestamp), + ctime: new Date(node.timestamp), + blksize: 4096, + blocks: Math.ceil(node.size / 4096), + }; + },setattr:function (node, attr) { + if (attr.mode !== undefined) { + node.mode = attr.mode; + } + if (attr.timestamp !== undefined) { + node.timestamp = attr.timestamp; + } + },lookup:function (parent, name) { + throw new FS.ErrnoError(ERRNO_CODES.ENOENT); + },mknod:function (parent, name, mode, dev) { + throw new FS.ErrnoError(ERRNO_CODES.EPERM); + },rename:function (oldNode, newDir, newName) { + throw new FS.ErrnoError(ERRNO_CODES.EPERM); + },unlink:function (parent, name) { + throw new FS.ErrnoError(ERRNO_CODES.EPERM); + },rmdir:function (parent, name) { + throw new FS.ErrnoError(ERRNO_CODES.EPERM); + },readdir:function (node) { + var entries = ['.', '..']; + for (var key in node.contents) { + if (!node.contents.hasOwnProperty(key)) { + continue; + } + entries.push(key); + } + return entries; + },symlink:function (parent, newName, oldPath) { + throw new FS.ErrnoError(ERRNO_CODES.EPERM); + },readlink:function (node) { + throw new FS.ErrnoError(ERRNO_CODES.EPERM); + }},stream_ops:{read:function (stream, buffer, offset, length, position) { + if (position >= stream.node.size) return 0; + var chunk = stream.node.contents.slice(position, position + length); + var ab = WORKERFS.reader.readAsArrayBuffer(chunk); + buffer.set(new Uint8Array(ab), offset); + return chunk.size; + },write:function (stream, buffer, offset, length, position) { + throw new FS.ErrnoError(ERRNO_CODES.EIO); + },llseek:function (stream, offset, whence) { + var position = offset; + if (whence === 1) { // SEEK_CUR. + position += stream.position; + } else if (whence === 2) { // SEEK_END. + if (FS.isFile(stream.node.mode)) { + position += stream.node.size; + } + } + if (position < 0) { + throw new FS.ErrnoError(ERRNO_CODES.EINVAL); + } + return position; + }}}; - var _stdout=allocate(1, "i32*", ALLOC_STATIC); + var _stdin=STATICTOP; STATICTOP += 16;; - var _stderr=allocate(1, "i32*", ALLOC_STATIC); + var _stdout=STATICTOP; STATICTOP += 16;; - function _fflush(stream) { - // int fflush(FILE *stream); - // http://pubs.opengroup.org/onlinepubs/000095399/functions/fflush.html - - /* - // Disabled, see https://github.com/kripken/emscripten/issues/2770 - stream = FS.getStreamFromPtr(stream); - if (stream.stream_ops.flush) { - stream.stream_ops.flush(stream); - } - */ - }var FS={root:null,mounts:[],devices:[null],streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},handleFSError:function (e) { + var _stderr=STATICTOP; STATICTOP += 16;;var FS={root:null,mounts:[],devices:[null],streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,handleFSError:function (e) { if (!(e instanceof FS.ErrnoError)) throw e + ' : ' + stackTrace(); return ___setErrNo(e.errno); },lookupPath:function (path, opts) { @@ -3581,8 +4976,7 @@ function copyTempDouble(ptr) { } return flags; },flagsToPermissionString:function (flag) { - var accmode = flag & 2097155; - var perms = ['r', 'w', 'rw'][accmode]; + var perms = ['r', 'w', 'rw'][flag & 3]; if ((flag & 512)) { perms += 'w'; } @@ -3643,8 +5037,8 @@ function copyTempDouble(ptr) { if (FS.isLink(node.mode)) { return ERRNO_CODES.ELOOP; } else if (FS.isDir(node.mode)) { - if ((flags & 2097155) !== 0 || // opening for write - (flags & 512)) { + if (FS.flagsToPermissionString(flags) !== 'r' || // opening for write + (flags & 512)) { // TODO: check for O_SEARCH? (== search for dir only) return ERRNO_CODES.EISDIR; } } @@ -3693,10 +5087,6 @@ function copyTempDouble(ptr) { return stream; },closeStream:function (fd) { FS.streams[fd] = null; - },getStreamFromPtr:function (ptr) { - return FS.streams[ptr - 1]; - },getPtrForStream:function (stream) { - return stream ? stream.fd + 1 : 0; },chrdev_stream_ops:{open:function (stream) { var device = FS.getDevice(stream.node.rdev); // override node's stream ops with the device's @@ -3736,19 +5126,31 @@ function copyTempDouble(ptr) { populate = false; } + FS.syncFSRequests++; + + if (FS.syncFSRequests > 1) { + console.log('warning: ' + FS.syncFSRequests + ' FS.syncfs operations in flight at once, probably just doing extra work'); + } + var mounts = FS.getMounts(FS.root.mount); var completed = 0; + function doCallback(err) { + assert(FS.syncFSRequests > 0); + FS.syncFSRequests--; + return callback(err); + } + function done(err) { if (err) { if (!done.errored) { done.errored = true; - return callback(err); + return doCallback(err); } return; } if (++completed >= mounts.length) { - callback(null); + doCallback(null); } }; @@ -3866,6 +5268,18 @@ function copyTempDouble(ptr) { mode &= 511 | 512; mode |= 16384; return FS.mknod(path, mode, 0); + },mkdirTree:function (path, mode) { + var dirs = path.split('/'); + var d = ''; + for (var i = 0; i < dirs.length; ++i) { + if (!dirs[i]) continue; + d += '/' + dirs[i]; + try { + FS.mkdir(d, mode); + } catch(e) { + if (e.errno != ERRNO_CODES.EEXIST) throw e; + } + } },mkdev:function (path, mode, dev) { if (typeof(dev) === 'undefined') { dev = mode; @@ -4028,8 +5442,9 @@ function copyTempDouble(ptr) { var node = FS.lookupNode(parent, name); var err = FS.mayDelete(parent, name, false); if (err) { - // POSIX says unlink should set EPERM, not EISDIR - if (err === ERRNO_CODES.EISDIR) err = ERRNO_CODES.EPERM; + // According to POSIX, we should map EISDIR to EPERM, but + // we instead do what Linux does (and we must, as we use + // the musl linux libc). throw new FS.ErrnoError(err); } if (!parent.node_ops.unlink) { @@ -4061,7 +5476,7 @@ function copyTempDouble(ptr) { if (!link.node_ops.readlink) { throw new FS.ErrnoError(ERRNO_CODES.EINVAL); } - return PATH.resolve(FS.getPath(lookup.node.parent), link.node_ops.readlink(link)); + return PATH.resolve(FS.getPath(link.parent), link.node_ops.readlink(link)); },stat:function (path, dontFollow) { var lookup = FS.lookupPath(path, { follow: !dontFollow }); var node = lookup.node; @@ -4209,6 +5624,10 @@ function copyTempDouble(ptr) { if (FS.isChrdev(node.mode)) { flags &= ~512; } + // if asked only for a directory, then this must be one + if ((flags & 65536) && !FS.isDir(node.mode)) { + throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR); + } // check permissions, if this is not a file we just created now (it is ok to // create and write to a file with read-only permissions; it is read-only // for later use) @@ -4264,6 +5683,7 @@ function copyTempDouble(ptr) { } return stream; },close:function (stream) { + if (stream.getdents) stream.getdents = null; // free readdir state try { if (stream.stream_ops.close) { stream.stream_ops.close(stream); @@ -4410,6 +5830,9 @@ function copyTempDouble(ptr) { return FS.currentPath; },chdir:function (path) { var lookup = FS.lookupPath(path, { follow: true }); + if (lookup.node === null) { + throw new FS.ErrnoError(ERRNO_CODES.ENOENT); + } if (!FS.isDir(lookup.node.mode)) { throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR); } @@ -4457,6 +5880,31 @@ function copyTempDouble(ptr) { // just create the tmp dirs that reside in it commonly FS.mkdir('/dev/shm'); FS.mkdir('/dev/shm/tmp'); + },createSpecialDirectories:function () { + // create /proc/self/fd which allows /proc/self/fd/6 => readlink gives the name of the stream for fd 6 (see test_unistd_ttyname) + FS.mkdir('/proc'); + FS.mkdir('/proc/self'); + FS.mkdir('/proc/self/fd'); + FS.mount({ + mount: function() { + var node = FS.createNode('/proc/self', 'fd', 16384 | 511 /* 0777 */, 73); + node.node_ops = { + lookup: function(parent, name) { + var fd = +name; + var stream = FS.getStream(fd); + if (!stream) throw new FS.ErrnoError(ERRNO_CODES.EBADF); + var ret = { + parent: null, + mount: { mountpoint: 'fake' }, + node_ops: { readlink: function() { return stream.path } } + }; + ret.parent = ret; // make it look like a simple root node + return ret; + } + }; + return node; + } + }, {}, '/proc/self/fd'); },createStandardStreams:function () { // TODO deprecate the old functionality of a single // input / output callback and that utilizes FS.createDevice @@ -4484,19 +5932,17 @@ function copyTempDouble(ptr) { // open default streams for the stdin, stdout and stderr devices var stdin = FS.open('/dev/stdin', 'r'); - HEAP32[((_stdin)>>2)]=FS.getPtrForStream(stdin); assert(stdin.fd === 0, 'invalid handle for stdin (' + stdin.fd + ')'); var stdout = FS.open('/dev/stdout', 'w'); - HEAP32[((_stdout)>>2)]=FS.getPtrForStream(stdout); assert(stdout.fd === 1, 'invalid handle for stdout (' + stdout.fd + ')'); var stderr = FS.open('/dev/stderr', 'w'); - HEAP32[((_stderr)>>2)]=FS.getPtrForStream(stderr); assert(stderr.fd === 2, 'invalid handle for stderr (' + stderr.fd + ')'); },ensureErrnoError:function () { if (FS.ErrnoError) return; FS.ErrnoError = function ErrnoError(errno, node) { + //Module.printErr(stackTrace()); // useful for debugging this.node = node; this.setErrno = function(errno) { this.errno = errno; @@ -4509,6 +5955,7 @@ function copyTempDouble(ptr) { }; this.setErrno(errno); this.message = ERRNO_MESSAGES[errno]; + if (this.stack) this.stack = demangleAll(this.stack); }; FS.ErrnoError.prototype = new Error(); FS.ErrnoError.prototype.constructor = FS.ErrnoError; @@ -4526,6 +5973,14 @@ function copyTempDouble(ptr) { FS.createDefaultDirectories(); FS.createDefaultDevices(); + FS.createSpecialDirectories(); + + FS.filesystems = { + 'MEMFS': MEMFS, + 'IDBFS': IDBFS, + 'NODEFS': NODEFS, + 'WORKERFS': WORKERFS, + }; },init:function (input, output, error) { assert(!FS.init.initialized, 'FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)'); FS.init.initialized = true; @@ -4540,6 +5995,10 @@ function copyTempDouble(ptr) { FS.createStandardStreams(); },quit:function () { FS.init.initialized = false; + // force-flush all streams, so we get musl std streams printed out + var fflush = Module['_fflush']; + if (fflush) fflush(0); + // close all of our streams for (var i = 0; i < FS.streams.length; i++) { var stream = FS.streams[i]; if (!stream) { @@ -4738,6 +6197,8 @@ function copyTempDouble(ptr) { var datalength = Number(xhr.getResponseHeader("Content-length")); var header; var hasByteServing = (header = xhr.getResponseHeader("Accept-Ranges")) && header === "bytes"; + var usesGzip = (header = xhr.getResponseHeader("Content-Encoding")) && header === "gzip"; + var chunkSize = 1024*1024; // Chunk size in bytes if (!hasByteServing) chunkSize = datalength; @@ -4778,6 +6239,14 @@ function copyTempDouble(ptr) { return lazyArray.chunks[chunkNum]; }); + if (usesGzip || !datalength) { + // if the server uses gzip or doesn't supply the length, we have to download the whole file to get the (uncompressed) length + chunkSize = datalength = 1; // this will force getter(0)/doXHR do download the whole file + datalength = this.getter(0).length; + chunkSize = datalength; + console.log("LazyFiles on gzip forces download of the whole file when length is accessed"); + } + this._length = datalength; this._chunkSize = chunkSize; this.lengthKnown = true; @@ -4785,21 +6254,23 @@ function copyTempDouble(ptr) { if (typeof XMLHttpRequest !== 'undefined') { if (!ENVIRONMENT_IS_WORKER) throw 'Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc'; var lazyArray = new LazyUint8Array(); - Object.defineProperty(lazyArray, "length", { + Object.defineProperties(lazyArray, { + length: { get: function() { - if(!this.lengthKnown) { - this.cacheLength(); - } - return this._length; + if(!this.lengthKnown) { + this.cacheLength(); + } + return this._length; } - }); - Object.defineProperty(lazyArray, "chunkSize", { + }, + chunkSize: { get: function() { - if(!this.lengthKnown) { - this.cacheLength(); - } - return this._chunkSize; + if(!this.lengthKnown) { + this.cacheLength(); + } + return this._chunkSize; } + } }); var properties = { isDevice: false, contents: lazyArray }; @@ -4818,8 +6289,10 @@ function copyTempDouble(ptr) { node.url = properties.url; } // Add a function that defers querying the file size until it is asked the first time. - Object.defineProperty(node, "usedBytes", { + Object.defineProperties(node, { + usedBytes: { get: function() { return this.contents.length; } + } }); // override each stream op with one that tries to force load the lazy file first var stream_ops = {}; @@ -4857,7 +6330,7 @@ function copyTempDouble(ptr) { node.stream_ops = stream_ops; return node; },createPreloadedFile:function (parent, name, url, canRead, canWrite, onload, onerror, dontCreateFile, canOwn, preFinish) { - Browser.init(); + Browser.init(); // XXX perhaps this method should move onto Browser? // TODO we should allow people to just pass in a complete filename instead // of parent and name being that we just join them anyways var fullname = name ? PATH.resolve(PATH.join2(parent, name)) : parent; @@ -4964,1267 +6437,200 @@ function copyTempDouble(ptr) { transaction.onerror = onerror; }; openRequest.onerror = onerror; - }};function _close(fildes) { - // int close(int fildes); - // http://pubs.opengroup.org/onlinepubs/000095399/functions/close.html - var stream = FS.getStream(fildes); - if (!stream) { - ___setErrNo(ERRNO_CODES.EBADF); - return -1; - } - try { - FS.close(stream); + }};var SYSCALLS={DEFAULT_POLLMASK:5,mappings:{},umask:511,calculateAt:function (dirfd, path) { + if (path[0] !== '/') { + // relative path + var dir; + if (dirfd === -100) { + dir = FS.cwd(); + } else { + var dirstream = FS.getStream(dirfd); + if (!dirstream) throw new FS.ErrnoError(ERRNO_CODES.EBADF); + dir = dirstream.path; + } + path = PATH.join2(dir, path); + } + return path; + },doStat:function (func, path, buf) { + try { + var stat = func(path); + } catch (e) { + if (e && e.node && PATH.normalize(path) !== PATH.normalize(FS.getPath(e.node))) { + // an error occurred while trying to look up the path; we should just report ENOTDIR + return -ERRNO_CODES.ENOTDIR; + } + throw e; + } + HEAP32[((buf)>>2)]=stat.dev; + HEAP32[(((buf)+(4))>>2)]=0; + HEAP32[(((buf)+(8))>>2)]=stat.ino; + HEAP32[(((buf)+(12))>>2)]=stat.mode; + HEAP32[(((buf)+(16))>>2)]=stat.nlink; + HEAP32[(((buf)+(20))>>2)]=stat.uid; + HEAP32[(((buf)+(24))>>2)]=stat.gid; + HEAP32[(((buf)+(28))>>2)]=stat.rdev; + HEAP32[(((buf)+(32))>>2)]=0; + HEAP32[(((buf)+(36))>>2)]=stat.size; + HEAP32[(((buf)+(40))>>2)]=4096; + HEAP32[(((buf)+(44))>>2)]=stat.blocks; + HEAP32[(((buf)+(48))>>2)]=(stat.atime.getTime() / 1000)|0; + HEAP32[(((buf)+(52))>>2)]=0; + HEAP32[(((buf)+(56))>>2)]=(stat.mtime.getTime() / 1000)|0; + HEAP32[(((buf)+(60))>>2)]=0; + HEAP32[(((buf)+(64))>>2)]=(stat.ctime.getTime() / 1000)|0; + HEAP32[(((buf)+(68))>>2)]=0; + HEAP32[(((buf)+(72))>>2)]=stat.ino; return 0; - } catch (e) { - FS.handleFSError(e); - return -1; - } - } - - function _fileno(stream) { - // int fileno(FILE *stream); - // http://pubs.opengroup.org/onlinepubs/000095399/functions/fileno.html - stream = FS.getStreamFromPtr(stream); - if (!stream) return -1; - return stream.fd; - }function _fclose(stream) { - // int fclose(FILE *stream); - // http://pubs.opengroup.org/onlinepubs/000095399/functions/fclose.html - var fd = _fileno(stream); - return _close(fd); - } - - var _ceilf=Math_ceil; - - function _glLinkProgram(program) { - GLctx.linkProgram(GL.programs[program]); - GL.programInfos[program] = null; // uniforms no longer keep the same names after linking - GL.populateUniformTable(program); - } - - function _glBindTexture(target, texture) { - GLctx.bindTexture(target, texture ? GL.textures[texture] : null); - } - - function _emscripten_glStencilFunc(x0, x1, x2) { GLctx.stencilFunc(x0, x1, x2) } - - - - - - function _mkport() { throw 'TODO' }var SOCKFS={mount:function (mount) { - // If Module['websocket'] has already been defined (e.g. for configuring - // the subprotocol/url) use that, if not initialise it to a new object. - Module['websocket'] = (Module['websocket'] && - ('object' === typeof Module['websocket'])) ? Module['websocket'] : {}; - - // Add the Event registration mechanism to the exported websocket configuration - // object so we can register network callbacks from native JavaScript too. - // For more documentation see system/include/emscripten/emscripten.h - Module['websocket']._callbacks = {}; - Module['websocket']['on'] = function(event, callback) { - if ('function' === typeof callback) { - this._callbacks[event] = callback; - } - return this; - }; - - Module['websocket'].emit = function(event, param) { - if ('function' === typeof this._callbacks[event]) { - this._callbacks[event].call(this, param); - } - }; - - // If debug is enabled register simple default logging callbacks for each Event. - - return FS.createNode(null, '/', 16384 | 511 /* 0777 */, 0); - },createSocket:function (family, type, protocol) { - var streaming = type == 1; - if (protocol) { - assert(streaming == (protocol == 6)); // if SOCK_STREAM, must be tcp + },doMsync:function (addr, stream, len, flags) { + var buffer = new Uint8Array(HEAPU8.subarray(addr, addr + len)); + FS.msync(stream, buffer, 0, len, flags); + },doMkdir:function (path, mode) { + // remove a trailing slash, if one - /a/b/ has basename of '', but + // we want to create b in the context of this function + path = PATH.normalize(path); + if (path[path.length-1] === '/') path = path.substr(0, path.length-1); + FS.mkdir(path, mode, 0); + return 0; + },doMknod:function (path, mode, dev) { + // we don't want this in the JS API as it uses mknod to create all nodes. + switch (mode & 61440) { + case 32768: + case 8192: + case 24576: + case 4096: + case 49152: + break; + default: return -ERRNO_CODES.EINVAL; } + FS.mknod(path, mode, dev); + return 0; + },doReadlink:function (path, buf, bufsize) { + if (bufsize <= 0) return -ERRNO_CODES.EINVAL; + var ret = FS.readlink(path); - // create our internal socket structure - var sock = { - family: family, - type: type, - protocol: protocol, - server: null, - error: null, // Used in getsockopt for SOL_SOCKET/SO_ERROR test - peers: {}, - pending: [], - recv_queue: [], - sock_ops: SOCKFS.websocket_sock_ops - }; + var len = Math.min(bufsize, lengthBytesUTF8(ret)); + var endChar = HEAP8[buf+len]; + stringToUTF8(ret, buf, bufsize+1); + // readlink is one of the rare functions that write out a C string, but does never append a null to the output buffer(!) + // stringToUTF8() always appends a null byte, so restore the character under the null byte after the write. + HEAP8[buf+len] = endChar; - // create the filesystem node to store the socket structure - var name = SOCKFS.nextname(); - var node = FS.createNode(SOCKFS.root, name, 49152, 0); - node.sock = sock; - - // and the wrapping stream that enables library functions such - // as read and write to indirectly interact with the socket - var stream = FS.createStream({ - path: name, - node: node, - flags: FS.modeStringToFlags('r+'), - seekable: false, - stream_ops: SOCKFS.stream_ops - }); - - // map the new stream to the socket structure (sockets have a 1:1 - // relationship with a stream) - sock.stream = stream; - - return sock; - },getSocket:function (fd) { - var stream = FS.getStream(fd); - if (!stream || !FS.isSocket(stream.node.mode)) { - return null; + return len; + },doAccess:function (path, amode) { + if (amode & ~7) { + // need a valid mode + return -ERRNO_CODES.EINVAL; } - return stream.node.sock; - },stream_ops:{poll:function (stream) { - var sock = stream.node.sock; - return sock.sock_ops.poll(sock); - },ioctl:function (stream, request, varargs) { - var sock = stream.node.sock; - return sock.sock_ops.ioctl(sock, request, varargs); - },read:function (stream, buffer, offset, length, position /* ignored */) { - var sock = stream.node.sock; - var msg = sock.sock_ops.recvmsg(sock, length); - if (!msg) { - // socket is closed - return 0; - } - buffer.set(msg.buffer, offset); - return msg.buffer.length; - },write:function (stream, buffer, offset, length, position /* ignored */) { - var sock = stream.node.sock; - return sock.sock_ops.sendmsg(sock, buffer, offset, length); - },close:function (stream) { - var sock = stream.node.sock; - sock.sock_ops.close(sock); - }},nextname:function () { - if (!SOCKFS.nextname.current) { - SOCKFS.nextname.current = 0; + var node; + var lookup = FS.lookupPath(path, { follow: true }); + node = lookup.node; + var perms = ''; + if (amode & 4) perms += 'r'; + if (amode & 2) perms += 'w'; + if (amode & 1) perms += 'x'; + if (perms /* otherwise, they've just passed F_OK */ && FS.nodePermissions(node, perms)) { + return -ERRNO_CODES.EACCES; } - return 'socket[' + (SOCKFS.nextname.current++) + ']'; - },websocket_sock_ops:{createPeer:function (sock, addr, port) { - var ws; - - if (typeof addr === 'object') { - ws = addr; - addr = null; - port = null; - } - - if (ws) { - // for sockets that've already connected (e.g. we're the server) - // we can inspect the _socket property for the address - if (ws._socket) { - addr = ws._socket.remoteAddress; - port = ws._socket.remotePort; - } - // if we're just now initializing a connection to the remote, - // inspect the url property - else { - var result = /ws[s]?:\/\/([^:]+):(\d+)/.exec(ws.url); - if (!result) { - throw new Error('WebSocket URL must be in the format ws(s)://address:port'); - } - addr = result[1]; - port = parseInt(result[2], 10); - } - } else { - // create the actual websocket object and connect - try { - // runtimeConfig gets set to true if WebSocket runtime configuration is available. - var runtimeConfig = (Module['websocket'] && ('object' === typeof Module['websocket'])); - - // The default value is 'ws://' the replace is needed because the compiler replaces '//' comments with '#' - // comments without checking context, so we'd end up with ws:#, the replace swaps the '#' for '//' again. - var url = 'ws:#'.replace('#', '//'); - - if (runtimeConfig) { - if ('string' === typeof Module['websocket']['url']) { - url = Module['websocket']['url']; // Fetch runtime WebSocket URL config. - } - } - - if (url === 'ws://' || url === 'wss://') { // Is the supplied URL config just a prefix, if so complete it. - var parts = addr.split('/'); - url = url + parts[0] + ":" + port + "/" + parts.slice(1).join('/'); - } - - // Make the WebSocket subprotocol (Sec-WebSocket-Protocol) default to binary if no configuration is set. - var subProtocols = 'binary'; // The default value is 'binary' - - if (runtimeConfig) { - if ('string' === typeof Module['websocket']['subprotocol']) { - subProtocols = Module['websocket']['subprotocol']; // Fetch runtime WebSocket subprotocol config. - } - } - - // The regex trims the string (removes spaces at the beginning and end, then splits the string by - // , into an Array. Whitespace removal is important for Websockify and ws. - subProtocols = subProtocols.replace(/^ +| +$/g,"").split(/ *, */); - - // The node ws library API for specifying optional subprotocol is slightly different than the browser's. - var opts = ENVIRONMENT_IS_NODE ? {'protocol': subProtocols.toString()} : subProtocols; - - // If node we use the ws library. - var WebSocket = ENVIRONMENT_IS_NODE ? require('ws') : window['WebSocket']; - ws = new WebSocket(url, opts); - ws.binaryType = 'arraybuffer'; - } catch (e) { - throw new FS.ErrnoError(ERRNO_CODES.EHOSTUNREACH); - } - } - - - var peer = { - addr: addr, - port: port, - socket: ws, - dgram_send_queue: [] - }; - - SOCKFS.websocket_sock_ops.addPeer(sock, peer); - SOCKFS.websocket_sock_ops.handlePeerEvents(sock, peer); - - // if this is a bound dgram socket, send the port number first to allow - // us to override the ephemeral port reported to us by remotePort on the - // remote end. - if (sock.type === 2 && typeof sock.sport !== 'undefined') { - peer.dgram_send_queue.push(new Uint8Array([ - 255, 255, 255, 255, - 'p'.charCodeAt(0), 'o'.charCodeAt(0), 'r'.charCodeAt(0), 't'.charCodeAt(0), - ((sock.sport & 0xff00) >> 8) , (sock.sport & 0xff) - ])); - } - - return peer; - },getPeer:function (sock, addr, port) { - return sock.peers[addr + ':' + port]; - },addPeer:function (sock, peer) { - sock.peers[peer.addr + ':' + peer.port] = peer; - },removePeer:function (sock, peer) { - delete sock.peers[peer.addr + ':' + peer.port]; - },handlePeerEvents:function (sock, peer) { - var first = true; - - var handleOpen = function () { - - Module['websocket'].emit('open', sock.stream.fd); - - try { - var queued = peer.dgram_send_queue.shift(); - while (queued) { - peer.socket.send(queued); - queued = peer.dgram_send_queue.shift(); - } - } catch (e) { - // not much we can do here in the way of proper error handling as we've already - // lied and said this data was sent. shut it down. - peer.socket.close(); - } - }; - - function handleMessage(data) { - assert(typeof data !== 'string' && data.byteLength !== undefined); // must receive an ArrayBuffer - data = new Uint8Array(data); // make a typed array view on the array buffer - - - // if this is the port message, override the peer's port with it - var wasfirst = first; - first = false; - if (wasfirst && - data.length === 10 && - data[0] === 255 && data[1] === 255 && data[2] === 255 && data[3] === 255 && - data[4] === 'p'.charCodeAt(0) && data[5] === 'o'.charCodeAt(0) && data[6] === 'r'.charCodeAt(0) && data[7] === 't'.charCodeAt(0)) { - // update the peer's port and it's key in the peer map - var newport = ((data[8] << 8) | data[9]); - SOCKFS.websocket_sock_ops.removePeer(sock, peer); - peer.port = newport; - SOCKFS.websocket_sock_ops.addPeer(sock, peer); - return; - } - - sock.recv_queue.push({ addr: peer.addr, port: peer.port, data: data }); - Module['websocket'].emit('message', sock.stream.fd); - }; - - if (ENVIRONMENT_IS_NODE) { - peer.socket.on('open', handleOpen); - peer.socket.on('message', function(data, flags) { - if (!flags.binary) { - return; - } - handleMessage((new Uint8Array(data)).buffer); // copy from node Buffer -> ArrayBuffer - }); - peer.socket.on('close', function() { - Module['websocket'].emit('close', sock.stream.fd); - }); - peer.socket.on('error', function(error) { - // Although the ws library may pass errors that may be more descriptive than - // ECONNREFUSED they are not necessarily the expected error code e.g. - // ENOTFOUND on getaddrinfo seems to be node.js specific, so using ECONNREFUSED - // is still probably the most useful thing to do. - sock.error = ERRNO_CODES.ECONNREFUSED; // Used in getsockopt for SOL_SOCKET/SO_ERROR test. - Module['websocket'].emit('error', [sock.stream.fd, sock.error, 'ECONNREFUSED: Connection refused']); - // don't throw - }); - } else { - peer.socket.onopen = handleOpen; - peer.socket.onclose = function() { - Module['websocket'].emit('close', sock.stream.fd); - }; - peer.socket.onmessage = function peer_socket_onmessage(event) { - handleMessage(event.data); - }; - peer.socket.onerror = function(error) { - // The WebSocket spec only allows a 'simple event' to be thrown on error, - // so we only really know as much as ECONNREFUSED. - sock.error = ERRNO_CODES.ECONNREFUSED; // Used in getsockopt for SOL_SOCKET/SO_ERROR test. - Module['websocket'].emit('error', [sock.stream.fd, sock.error, 'ECONNREFUSED: Connection refused']); - }; - } - },poll:function (sock) { - if (sock.type === 1 && sock.server) { - // listen sockets should only say they're available for reading - // if there are pending clients. - return sock.pending.length ? (64 | 1) : 0; - } - - var mask = 0; - var dest = sock.type === 1 ? // we only care about the socket state for connection-based sockets - SOCKFS.websocket_sock_ops.getPeer(sock, sock.daddr, sock.dport) : - null; - - if (sock.recv_queue.length || - !dest || // connection-less sockets are always ready to read - (dest && dest.socket.readyState === dest.socket.CLOSING) || - (dest && dest.socket.readyState === dest.socket.CLOSED)) { // let recv return 0 once closed - mask |= (64 | 1); - } - - if (!dest || // connection-less sockets are always ready to write - (dest && dest.socket.readyState === dest.socket.OPEN)) { - mask |= 4; - } - - if ((dest && dest.socket.readyState === dest.socket.CLOSING) || - (dest && dest.socket.readyState === dest.socket.CLOSED)) { - mask |= 16; - } - - return mask; - },ioctl:function (sock, request, arg) { - switch (request) { - case 21531: - var bytes = 0; - if (sock.recv_queue.length) { - bytes = sock.recv_queue[0].data.length; - } - HEAP32[((arg)>>2)]=bytes; - return 0; - default: - return ERRNO_CODES.EINVAL; - } - },close:function (sock) { - // if we've spawned a listen server, close it - if (sock.server) { - try { - sock.server.close(); - } catch (e) { - } - sock.server = null; - } - // close any peer connections - var peers = Object.keys(sock.peers); - for (var i = 0; i < peers.length; i++) { - var peer = sock.peers[peers[i]]; - try { - peer.socket.close(); - } catch (e) { - } - SOCKFS.websocket_sock_ops.removePeer(sock, peer); - } + return 0; + },doDup:function (path, flags, suggestFD) { + var suggest = FS.getStream(suggestFD); + if (suggest) FS.close(suggest); + return FS.open(path, flags, 0, suggestFD, suggestFD).fd; + },doReadv:function (stream, iov, iovcnt, offset) { + var ret = 0; + for (var i = 0; i < iovcnt; i++) { + var ptr = HEAP32[(((iov)+(i*8))>>2)]; + var len = HEAP32[(((iov)+(i*8 + 4))>>2)]; + var curr = FS.read(stream, HEAP8,ptr, len, offset); + if (curr < 0) return -1; + ret += curr; + if (curr < len) break; // nothing more to read + } + return ret; + },doWritev:function (stream, iov, iovcnt, offset) { + var ret = 0; + for (var i = 0; i < iovcnt; i++) { + var ptr = HEAP32[(((iov)+(i*8))>>2)]; + var len = HEAP32[(((iov)+(i*8 + 4))>>2)]; + var curr = FS.write(stream, HEAP8,ptr, len, offset); + if (curr < 0) return -1; + ret += curr; + } + return ret; + },varargs:0,get:function (varargs) { + SYSCALLS.varargs += 4; + var ret = HEAP32[(((SYSCALLS.varargs)-(4))>>2)]; + return ret; + },getStr:function () { + var ret = Pointer_stringify(SYSCALLS.get()); + return ret; + },getStreamFromFD:function () { + var stream = FS.getStream(SYSCALLS.get()); + if (!stream) throw new FS.ErrnoError(ERRNO_CODES.EBADF); + return stream; + },getSocketFromFD:function () { + var socket = SOCKFS.getSocket(SYSCALLS.get()); + if (!socket) throw new FS.ErrnoError(ERRNO_CODES.EBADF); + return socket; + },getSocketAddress:function (allowNull) { + var addrp = SYSCALLS.get(), addrlen = SYSCALLS.get(); + if (allowNull && addrp === 0) return null; + var info = __read_sockaddr(addrp, addrlen); + if (info.errno) throw new FS.ErrnoError(info.errno); + info.addr = DNS.lookup_addr(info.addr) || info.addr; + return info; + },get64:function () { + var low = SYSCALLS.get(), high = SYSCALLS.get(); + if (low >= 0) assert(high === 0); + else assert(high === -1); + return low; + },getZero:function () { + assert(SYSCALLS.get() === 0); + }};function ___syscall54(which, varargs) {SYSCALLS.varargs = varargs; + try { + // ioctl + var stream = SYSCALLS.getStreamFromFD(), op = SYSCALLS.get(); + switch (op) { + case 21505: { + if (!stream.tty) return -ERRNO_CODES.ENOTTY; return 0; - },bind:function (sock, addr, port) { - if (typeof sock.saddr !== 'undefined' || typeof sock.sport !== 'undefined') { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); // already bound - } - sock.saddr = addr; - sock.sport = port || _mkport(); - // in order to emulate dgram sockets, we need to launch a listen server when - // binding on a connection-less socket - // note: this is only required on the server side - if (sock.type === 2) { - // close the existing server if it exists - if (sock.server) { - sock.server.close(); - sock.server = null; - } - // swallow error operation not supported error that occurs when binding in the - // browser where this isn't supported - try { - sock.sock_ops.listen(sock, 0); - } catch (e) { - if (!(e instanceof FS.ErrnoError)) throw e; - if (e.errno !== ERRNO_CODES.EOPNOTSUPP) throw e; - } - } - },connect:function (sock, addr, port) { - if (sock.server) { - throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP); - } - - // TODO autobind - // if (!sock.addr && sock.type == 2) { - // } - - // early out if we're already connected / in the middle of connecting - if (typeof sock.daddr !== 'undefined' && typeof sock.dport !== 'undefined') { - var dest = SOCKFS.websocket_sock_ops.getPeer(sock, sock.daddr, sock.dport); - if (dest) { - if (dest.socket.readyState === dest.socket.CONNECTING) { - throw new FS.ErrnoError(ERRNO_CODES.EALREADY); - } else { - throw new FS.ErrnoError(ERRNO_CODES.EISCONN); - } - } - } - - // add the socket to our peer list and set our - // destination address / port to match - var peer = SOCKFS.websocket_sock_ops.createPeer(sock, addr, port); - sock.daddr = peer.addr; - sock.dport = peer.port; - - // always "fail" in non-blocking mode - throw new FS.ErrnoError(ERRNO_CODES.EINPROGRESS); - },listen:function (sock, backlog) { - if (!ENVIRONMENT_IS_NODE) { - throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP); - } - if (sock.server) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); // already listening - } - var WebSocketServer = require('ws').Server; - var host = sock.saddr; - sock.server = new WebSocketServer({ - host: host, - port: sock.sport - // TODO support backlog - }); - Module['websocket'].emit('listen', sock.stream.fd); // Send Event with listen fd. - - sock.server.on('connection', function(ws) { - if (sock.type === 1) { - var newsock = SOCKFS.createSocket(sock.family, sock.type, sock.protocol); - - // create a peer on the new socket - var peer = SOCKFS.websocket_sock_ops.createPeer(newsock, ws); - newsock.daddr = peer.addr; - newsock.dport = peer.port; - - // push to queue for accept to pick up - sock.pending.push(newsock); - Module['websocket'].emit('connection', newsock.stream.fd); - } else { - // create a peer on the listen socket so calling sendto - // with the listen socket and an address will resolve - // to the correct client - SOCKFS.websocket_sock_ops.createPeer(sock, ws); - Module['websocket'].emit('connection', sock.stream.fd); - } - }); - sock.server.on('closed', function() { - Module['websocket'].emit('close', sock.stream.fd); - sock.server = null; - }); - sock.server.on('error', function(error) { - // Although the ws library may pass errors that may be more descriptive than - // ECONNREFUSED they are not necessarily the expected error code e.g. - // ENOTFOUND on getaddrinfo seems to be node.js specific, so using EHOSTUNREACH - // is still probably the most useful thing to do. This error shouldn't - // occur in a well written app as errors should get trapped in the compiled - // app's own getaddrinfo call. - sock.error = ERRNO_CODES.EHOSTUNREACH; // Used in getsockopt for SOL_SOCKET/SO_ERROR test. - Module['websocket'].emit('error', [sock.stream.fd, sock.error, 'EHOSTUNREACH: Host is unreachable']); - // don't throw - }); - },accept:function (listensock) { - if (!listensock.server) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - var newsock = listensock.pending.shift(); - newsock.stream.flags = listensock.stream.flags; - return newsock; - },getname:function (sock, peer) { - var addr, port; - if (peer) { - if (sock.daddr === undefined || sock.dport === undefined) { - throw new FS.ErrnoError(ERRNO_CODES.ENOTCONN); - } - addr = sock.daddr; - port = sock.dport; - } else { - // TODO saddr and sport will be set for bind()'d UDP sockets, but what - // should we be returning for TCP sockets that've been connect()'d? - addr = sock.saddr || 0; - port = sock.sport || 0; - } - return { addr: addr, port: port }; - },sendmsg:function (sock, buffer, offset, length, addr, port) { - if (sock.type === 2) { - // connection-less sockets will honor the message address, - // and otherwise fall back to the bound destination address - if (addr === undefined || port === undefined) { - addr = sock.daddr; - port = sock.dport; - } - // if there was no address to fall back to, error out - if (addr === undefined || port === undefined) { - throw new FS.ErrnoError(ERRNO_CODES.EDESTADDRREQ); - } - } else { - // connection-based sockets will only use the bound - addr = sock.daddr; - port = sock.dport; - } - - // find the peer for the destination address - var dest = SOCKFS.websocket_sock_ops.getPeer(sock, addr, port); - - // early out if not connected with a connection-based socket - if (sock.type === 1) { - if (!dest || dest.socket.readyState === dest.socket.CLOSING || dest.socket.readyState === dest.socket.CLOSED) { - throw new FS.ErrnoError(ERRNO_CODES.ENOTCONN); - } else if (dest.socket.readyState === dest.socket.CONNECTING) { - throw new FS.ErrnoError(ERRNO_CODES.EAGAIN); - } - } - - // create a copy of the incoming data to send, as the WebSocket API - // doesn't work entirely with an ArrayBufferView, it'll just send - // the entire underlying buffer - var data; - if (buffer instanceof Array || buffer instanceof ArrayBuffer) { - data = buffer.slice(offset, offset + length); - } else { // ArrayBufferView - data = buffer.buffer.slice(buffer.byteOffset + offset, buffer.byteOffset + offset + length); - } - - // if we're emulating a connection-less dgram socket and don't have - // a cached connection, queue the buffer to send upon connect and - // lie, saying the data was sent now. - if (sock.type === 2) { - if (!dest || dest.socket.readyState !== dest.socket.OPEN) { - // if we're not connected, open a new connection - if (!dest || dest.socket.readyState === dest.socket.CLOSING || dest.socket.readyState === dest.socket.CLOSED) { - dest = SOCKFS.websocket_sock_ops.createPeer(sock, addr, port); - } - dest.dgram_send_queue.push(data); - return length; - } - } - - try { - // send the actual data - dest.socket.send(data); - return length; - } catch (e) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - },recvmsg:function (sock, length) { - // http://pubs.opengroup.org/onlinepubs/7908799/xns/recvmsg.html - if (sock.type === 1 && sock.server) { - // tcp servers should not be recv()'ing on the listen socket - throw new FS.ErrnoError(ERRNO_CODES.ENOTCONN); - } - - var queued = sock.recv_queue.shift(); - if (!queued) { - if (sock.type === 1) { - var dest = SOCKFS.websocket_sock_ops.getPeer(sock, sock.daddr, sock.dport); - - if (!dest) { - // if we have a destination address but are not connected, error out - throw new FS.ErrnoError(ERRNO_CODES.ENOTCONN); - } - else if (dest.socket.readyState === dest.socket.CLOSING || dest.socket.readyState === dest.socket.CLOSED) { - // return null if the socket has closed - return null; - } - else { - // else, our socket is in a valid state but truly has nothing available - throw new FS.ErrnoError(ERRNO_CODES.EAGAIN); - } - } else { - throw new FS.ErrnoError(ERRNO_CODES.EAGAIN); - } - } - - // queued.data will be an ArrayBuffer if it's unadulterated, but if it's - // requeued TCP data it'll be an ArrayBufferView - var queuedLength = queued.data.byteLength || queued.data.length; - var queuedOffset = queued.data.byteOffset || 0; - var queuedBuffer = queued.data.buffer || queued.data; - var bytesRead = Math.min(length, queuedLength); - var res = { - buffer: new Uint8Array(queuedBuffer, queuedOffset, bytesRead), - addr: queued.addr, - port: queued.port - }; - - - // push back any unread data for TCP connections - if (sock.type === 1 && bytesRead < queuedLength) { - var bytesRemaining = queuedLength - bytesRead; - queued.data = new Uint8Array(queuedBuffer, queuedOffset + bytesRead, bytesRemaining); - sock.recv_queue.unshift(queued); - } - - return res; - }}};function _send(fd, buf, len, flags) { - var sock = SOCKFS.getSocket(fd); - if (!sock) { - ___setErrNo(ERRNO_CODES.EBADF); - return -1; - } - // TODO honor flags - return _write(fd, buf, len); - } - - function _pwrite(fildes, buf, nbyte, offset) { - // ssize_t pwrite(int fildes, const void *buf, size_t nbyte, off_t offset); - // http://pubs.opengroup.org/onlinepubs/000095399/functions/write.html - var stream = FS.getStream(fildes); - if (!stream) { - ___setErrNo(ERRNO_CODES.EBADF); - return -1; - } - try { - var slab = HEAP8; - return FS.write(stream, slab, buf, nbyte, offset); - } catch (e) { - FS.handleFSError(e); - return -1; - } - }function _write(fildes, buf, nbyte) { - // ssize_t write(int fildes, const void *buf, size_t nbyte); - // http://pubs.opengroup.org/onlinepubs/000095399/functions/write.html - var stream = FS.getStream(fildes); - if (!stream) { - ___setErrNo(ERRNO_CODES.EBADF); - return -1; - } - - - try { - var slab = HEAP8; - return FS.write(stream, slab, buf, nbyte); - } catch (e) { - FS.handleFSError(e); - return -1; - } - }function _fputc(c, stream) { - // int fputc(int c, FILE *stream); - // http://pubs.opengroup.org/onlinepubs/000095399/functions/fputc.html - var chr = unSign(c & 0xFF); - HEAP8[((_fputc.ret)>>0)]=chr; - var fd = _fileno(stream); - var ret = _write(fd, _fputc.ret, 1); - if (ret == -1) { - var streamObj = FS.getStreamFromPtr(stream); - if (streamObj) streamObj.error = true; - return -1; - } else { - return chr; - } - } - - function _glGetString(name_) { - if (GL.stringCache[name_]) return GL.stringCache[name_]; - var ret; - switch(name_) { - case 0x1F00 /* GL_VENDOR */: - case 0x1F01 /* GL_RENDERER */: - case 0x1F02 /* GL_VERSION */: - ret = allocate(intArrayFromString(GLctx.getParameter(name_)), 'i8', ALLOC_NORMAL); - break; - case 0x1F03 /* GL_EXTENSIONS */: - var exts = GLctx.getSupportedExtensions(); - var gl_exts = []; - for (var i in exts) { - gl_exts.push(exts[i]); - gl_exts.push("GL_" + exts[i]); - } - ret = allocate(intArrayFromString(gl_exts.join(' ')), 'i8', ALLOC_NORMAL); - break; - case 0x8B8C /* GL_SHADING_LANGUAGE_VERSION */: - ret = allocate(intArrayFromString('OpenGL ES GLSL 1.00 (WebGL)'), 'i8', ALLOC_NORMAL); - break; - default: - GL.recordError(0x0500/*GL_INVALID_ENUM*/); + } + case 21506: { + if (!stream.tty) return -ERRNO_CODES.ENOTTY; + return 0; // no-op, not actually adjusting terminal settings + } + case 21519: { + if (!stream.tty) return -ERRNO_CODES.ENOTTY; + var argp = SYSCALLS.get(); + HEAP32[((argp)>>2)]=0; return 0; + } + case 21520: { + if (!stream.tty) return -ERRNO_CODES.ENOTTY; + return -ERRNO_CODES.EINVAL; // not supported + } + case 21531: { + var argp = SYSCALLS.get(); + return FS.ioctl(stream, op, argp); + } + case 21523: { + // TODO: in theory we should write to the winsize struct that gets + // passed in, but for now musl doesn't read anything on it + if (!stream.tty) return -ERRNO_CODES.ENOTTY; + return 0; + } + default: abort('bad ioctl syscall ' + op); } - GL.stringCache[name_] = ret; - return ret; + } catch (e) { + if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno; + } + } + + function _emscripten_glSampleCoverage(value, invert) { + GLctx.sampleCoverage(value, !!invert); } - function _emscripten_glUniform3iv(location, count, value) { - location = GL.uniforms[location]; - count *= 3; - value = HEAP32.subarray((value)>>2,(value+count*4)>>2); - GLctx.uniform3iv(location, value); - } - - function _emscripten_glShaderSource(shader, count, string, length) { - var source = GL.getSource(shader, count, string, length); - GLctx.shaderSource(GL.shaders[shader], source); - } - - function _emscripten_glReleaseShaderCompiler() { - // NOP (as allowed by GLES 2.0 spec) - } - - - - function _emscripten_get_now() { - if (!_emscripten_get_now.actual) { - if (ENVIRONMENT_IS_NODE) { - _emscripten_get_now.actual = function _emscripten_get_now_actual() { - var t = process['hrtime'](); - return t[0] * 1e3 + t[1] / 1e6; - } - } else if (typeof dateNow !== 'undefined') { - _emscripten_get_now.actual = dateNow; - } else if (typeof self === 'object' && self['performance'] && typeof self['performance']['now'] === 'function') { - _emscripten_get_now.actual = function _emscripten_get_now_actual() { return self['performance']['now'](); }; - } else if (typeof performance === 'object' && typeof performance['now'] === 'function') { - _emscripten_get_now.actual = function _emscripten_get_now_actual() { return performance['now'](); }; - } else { - _emscripten_get_now.actual = Date.now; - } - } - return _emscripten_get_now.actual(); - }var GLFW={Window:function (id, width, height, title, monitor, share) { - this.id = id; - this.x = 0; - this.y = 0; - this.storedX = 0; // Used to store X before fullscreen - this.storedY = 0; // Used to store Y before fullscreen - this.width = width; - this.height = height; - this.storedWidth = width; // Used to store width before fullscreen - this.storedHeight = height; // Used to store height before fullscreen - this.title = title; - this.monitor = monitor; - this.share = share; - this.attributes = GLFW.hints; - this.inputModes = { - 0x00033001:0x00034001, // GLFW_CURSOR (GLFW_CURSOR_NORMAL) - 0x00033002:0, // GLFW_STICKY_KEYS - 0x00033003:0, // GLFW_STICKY_MOUSE_BUTTONS - }; - this.buttons = 0; - this.keys = new Array(); - this.shouldClose = 0; - this.title = null; - this.windowPosFunc = null; // GLFWwindowposfun - this.windowSizeFunc = null; // GLFWwindowsizefun - this.windowCloseFunc = null; // GLFWwindowclosefun - this.windowRefreshFunc = null; // GLFWwindowrefreshfun - this.windowFocusFunc = null; // GLFWwindowfocusfun - this.windowIconifyFunc = null; // GLFWwindowiconifyfun - this.framebufferSizeFunc = null; // GLFWframebuffersizefun - this.mouseButtonFunc = null; // GLFWmousebuttonfun - this.cursorPosFunc = null; // GLFWcursorposfun - this.cursorEnterFunc = null; // GLFWcursorenterfun - this.scrollFunc = null; // GLFWscrollfun - this.keyFunc = null; // GLFWkeyfun - this.charFunc = null; // GLFWcharfun - this.userptr = null; - },WindowFromId:function (id) { - if (id <= 0 || !GLFW.windows) return null; - return GLFW.windows[id - 1]; - },errorFunc:null,monitorFunc:null,active:null,windows:null,monitors:null,monitorString:null,versionString:null,initialTime:null,extensions:null,hints:null,defaultHints:{131073:0,131074:0,131075:1,131076:1,131077:1,135169:8,135170:8,135171:8,135172:8,135173:24,135174:8,135175:0,135176:0,135177:0,135178:0,135179:0,135180:0,135181:0,135182:0,135183:0,139265:196609,139266:1,139267:0,139268:0,139269:0,139270:0,139271:0,139272:0},DOMToGLFWKeyCode:function (keycode) { - switch (keycode) { - case 0x20:return 32; // DOM_VK_SPACE -> GLFW_KEY_SPACE - case 0xDE:return 39; // DOM_VK_QUOTE -> GLFW_KEY_APOSTROPHE - case 0xBC:return 44; // DOM_VK_COMMA -> GLFW_KEY_COMMA - case 0xAD:return 45; // DOM_VK_HYPHEN_MINUS -> GLFW_KEY_MINUS - case 0xBE:return 46; // DOM_VK_PERIOD -> GLFW_KEY_PERIOD - case 0xBF:return 47; // DOM_VK_SLASH -> GLFW_KEY_SLASH - case 0x30:return 48; // DOM_VK_0 -> GLFW_KEY_0 - case 0x31:return 49; // DOM_VK_1 -> GLFW_KEY_1 - case 0x32:return 50; // DOM_VK_2 -> GLFW_KEY_2 - case 0x33:return 51; // DOM_VK_3 -> GLFW_KEY_3 - case 0x34:return 52; // DOM_VK_4 -> GLFW_KEY_4 - case 0x35:return 53; // DOM_VK_5 -> GLFW_KEY_5 - case 0x36:return 54; // DOM_VK_6 -> GLFW_KEY_6 - case 0x37:return 55; // DOM_VK_7 -> GLFW_KEY_7 - case 0x38:return 56; // DOM_VK_8 -> GLFW_KEY_8 - case 0x39:return 57; // DOM_VK_9 -> GLFW_KEY_9 - case 0x3B:return 59; // DOM_VK_SEMICOLON -> GLFW_KEY_SEMICOLON - case 0x61:return 61; // DOM_VK_EQUALS -> GLFW_KEY_EQUAL - case 0x41:return 65; // DOM_VK_A -> GLFW_KEY_A - case 0x42:return 66; // DOM_VK_B -> GLFW_KEY_B - case 0x43:return 67; // DOM_VK_C -> GLFW_KEY_C - case 0x44:return 68; // DOM_VK_D -> GLFW_KEY_D - case 0x45:return 69; // DOM_VK_E -> GLFW_KEY_E - case 0x46:return 70; // DOM_VK_F -> GLFW_KEY_F - case 0x47:return 71; // DOM_VK_G -> GLFW_KEY_G - case 0x48:return 72; // DOM_VK_H -> GLFW_KEY_H - case 0x49:return 73; // DOM_VK_I -> GLFW_KEY_I - case 0x4A:return 74; // DOM_VK_J -> GLFW_KEY_J - case 0x4B:return 75; // DOM_VK_K -> GLFW_KEY_K - case 0x4C:return 76; // DOM_VK_L -> GLFW_KEY_L - case 0x4D:return 77; // DOM_VK_M -> GLFW_KEY_M - case 0x4E:return 78; // DOM_VK_N -> GLFW_KEY_N - case 0x4F:return 79; // DOM_VK_O -> GLFW_KEY_O - case 0x50:return 80; // DOM_VK_P -> GLFW_KEY_P - case 0x51:return 81; // DOM_VK_Q -> GLFW_KEY_Q - case 0x52:return 82; // DOM_VK_R -> GLFW_KEY_R - case 0x53:return 83; // DOM_VK_S -> GLFW_KEY_S - case 0x54:return 84; // DOM_VK_T -> GLFW_KEY_T - case 0x55:return 85; // DOM_VK_U -> GLFW_KEY_U - case 0x56:return 86; // DOM_VK_V -> GLFW_KEY_V - case 0x57:return 87; // DOM_VK_W -> GLFW_KEY_W - case 0x58:return 88; // DOM_VK_X -> GLFW_KEY_X - case 0x59:return 89; // DOM_VK_Y -> GLFW_KEY_Y - case 0x5a:return 90; // DOM_VK_Z -> GLFW_KEY_Z - case 0xDB:return 91; // DOM_VK_OPEN_BRACKET -> GLFW_KEY_LEFT_BRACKET - case 0xDC:return 92; // DOM_VK_BACKSLASH -> GLFW_KEY_BACKSLASH - case 0xDD:return 93; // DOM_VK_CLOSE_BRACKET -> GLFW_KEY_RIGHT_BRACKET - case 0xC0:return 94; // DOM_VK_BACK_QUOTE -> GLFW_KEY_GRAVE_ACCENT - case 0x1B:return 256; // DOM_VK_ESCAPE -> GLFW_KEY_ESCAPE - case 0x0D:return 257; // DOM_VK_RETURN -> GLFW_KEY_ENTER - case 0x09:return 258; // DOM_VK_TAB -> GLFW_KEY_TAB - case 0x08:return 259; // DOM_VK_BACK -> GLFW_KEY_BACKSPACE - case 0x2D:return 260; // DOM_VK_INSERT -> GLFW_KEY_INSERT - case 0x2E:return 261; // DOM_VK_DELETE -> GLFW_KEY_DELETE - case 0x27:return 262; // DOM_VK_RIGHT -> GLFW_KEY_RIGHT - case 0x25:return 263; // DOM_VK_LEFT -> GLFW_KEY_LEFT - case 0x28:return 264; // DOM_VK_DOWN -> GLFW_KEY_DOWN - case 0x26:return 265; // DOM_VK_UP -> GLFW_KEY_UP - case 0x21:return 266; // DOM_VK_PAGE_UP -> GLFW_KEY_PAGE_UP - case 0x22:return 267; // DOM_VK_PAGE_DOWN -> GLFW_KEY_PAGE_DOWN - case 0x24:return 268; // DOM_VK_HOME -> GLFW_KEY_HOME - case 0x23:return 269; // DOM_VK_END -> GLFW_KEY_END - case 0x14:return 280; // DOM_VK_CAPS_LOCK -> GLFW_KEY_CAPS_LOCK - case 0x91:return 281; // DOM_VK_SCROLL_LOCK -> GLFW_KEY_SCROLL_LOCK - case 0x90:return 282; // DOM_VK_NUM_LOCK -> GLFW_KEY_NUM_LOCK - case 0x2C:return 283; // DOM_VK_SNAPSHOT -> GLFW_KEY_PRINT_SCREEN - case 0x13:return 284; // DOM_VK_PAUSE -> GLFW_KEY_PAUSE - case 0x70:return 290; // DOM_VK_F1 -> GLFW_KEY_F1 - case 0x71:return 291; // DOM_VK_F2 -> GLFW_KEY_F2 - case 0x72:return 292; // DOM_VK_F3 -> GLFW_KEY_F3 - case 0x73:return 293; // DOM_VK_F4 -> GLFW_KEY_F4 - case 0x74:return 294; // DOM_VK_F5 -> GLFW_KEY_F5 - case 0x75:return 295; // DOM_VK_F6 -> GLFW_KEY_F6 - case 0x76:return 296; // DOM_VK_F7 -> GLFW_KEY_F7 - case 0x77:return 297; // DOM_VK_F8 -> GLFW_KEY_F8 - case 0x78:return 298; // DOM_VK_F9 -> GLFW_KEY_F9 - case 0x79:return 299; // DOM_VK_F10 -> GLFW_KEY_F10 - case 0x7A:return 300; // DOM_VK_F11 -> GLFW_KEY_F11 - case 0x7B:return 301; // DOM_VK_F12 -> GLFW_KEY_F12 - case 0x7C:return 302; // DOM_VK_F13 -> GLFW_KEY_F13 - case 0x7D:return 303; // DOM_VK_F14 -> GLFW_KEY_F14 - case 0x7E:return 304; // DOM_VK_F15 -> GLFW_KEY_F15 - case 0x7F:return 305; // DOM_VK_F16 -> GLFW_KEY_F16 - case 0x80:return 306; // DOM_VK_F17 -> GLFW_KEY_F17 - case 0x81:return 307; // DOM_VK_F18 -> GLFW_KEY_F18 - case 0x82:return 308; // DOM_VK_F19 -> GLFW_KEY_F19 - case 0x83:return 309; // DOM_VK_F20 -> GLFW_KEY_F20 - case 0x84:return 310; // DOM_VK_F21 -> GLFW_KEY_F21 - case 0x85:return 311; // DOM_VK_F22 -> GLFW_KEY_F22 - case 0x86:return 312; // DOM_VK_F23 -> GLFW_KEY_F23 - case 0x87:return 313; // DOM_VK_F24 -> GLFW_KEY_F24 - case 0x88:return 314; // 0x88 (not used?) -> GLFW_KEY_F25 - case 0x60:return 320; // DOM_VK_NUMPAD0 -> GLFW_KEY_KP_0 - case 0x61:return 321; // DOM_VK_NUMPAD1 -> GLFW_KEY_KP_1 - case 0x62:return 322; // DOM_VK_NUMPAD2 -> GLFW_KEY_KP_2 - case 0x63:return 323; // DOM_VK_NUMPAD3 -> GLFW_KEY_KP_3 - case 0x64:return 324; // DOM_VK_NUMPAD4 -> GLFW_KEY_KP_4 - case 0x65:return 325; // DOM_VK_NUMPAD5 -> GLFW_KEY_KP_5 - case 0x66:return 326; // DOM_VK_NUMPAD6 -> GLFW_KEY_KP_6 - case 0x67:return 327; // DOM_VK_NUMPAD7 -> GLFW_KEY_KP_7 - case 0x68:return 328; // DOM_VK_NUMPAD8 -> GLFW_KEY_KP_8 - case 0x69:return 329; // DOM_VK_NUMPAD9 -> GLFW_KEY_KP_9 - case 0x6E:return 330; // DOM_VK_DECIMAL -> GLFW_KEY_KP_DECIMAL - case 0x6F:return 331; // DOM_VK_DIVIDE -> GLFW_KEY_KP_DIVIDE - case 0x6A:return 332; // DOM_VK_MULTIPLY -> GLFW_KEY_KP_MULTIPLY - case 0x6D:return 333; // DOM_VK_SUBTRACT -> GLFW_KEY_KP_SUBTRACT - case 0x6B:return 334; // DOM_VK_ADD -> GLFW_KEY_KP_ADD - // case 0x0D:return 335; // DOM_VK_RETURN -> GLFW_KEY_KP_ENTER (DOM_KEY_LOCATION_RIGHT) - // case 0x61:return 336; // DOM_VK_EQUALS -> GLFW_KEY_KP_EQUAL (DOM_KEY_LOCATION_RIGHT) - case 0x10:return 340; // DOM_VK_SHIFT -> GLFW_KEY_LEFT_SHIFT - case 0x11:return 341; // DOM_VK_CONTROL -> GLFW_KEY_LEFT_CONTROL - case 0x12:return 342; // DOM_VK_ALT -> GLFW_KEY_LEFT_ALT - case 0x5B:return 343; // DOM_VK_WIN -> GLFW_KEY_LEFT_SUPER - // case 0x10:return 344; // DOM_VK_SHIFT -> GLFW_KEY_RIGHT_SHIFT (DOM_KEY_LOCATION_RIGHT) - // case 0x11:return 345; // DOM_VK_CONTROL -> GLFW_KEY_RIGHT_CONTROL (DOM_KEY_LOCATION_RIGHT) - // case 0x12:return 346; // DOM_VK_ALT -> GLFW_KEY_RIGHT_ALT (DOM_KEY_LOCATION_RIGHT) - // case 0x5B:return 347; // DOM_VK_WIN -> GLFW_KEY_RIGHT_SUPER (DOM_KEY_LOCATION_RIGHT) - case 0x5D:return 348; // DOM_VK_CONTEXT_MENU -> GLFW_KEY_MENU - - // XXX: GLFW_KEY_WORLD_1, GLFW_KEY_WORLD_2 what are these? - default:return -1; // GLFW_KEY_UNKNOWN - }; - },getModBits:function (win) { - var mod = 0; - if (win.keys[340]) mod |= 0x0001; // GLFW_MOD_SHIFT - if (win.keys[341]) mod |= 0x0002; // GLFW_MOD_CONTROL - if (win.keys[342]) mod |= 0x0004; // GLFW_MOD_ALT - if (win.keys[343]) mod |= 0x0008; // GLFW_MOD_SUPER - return mod; - },onKeyPress:function (event) { - if (!GLFW.active || !GLFW.active.charFunc) return; - - // correct unicode charCode is only available with onKeyPress event - var charCode = event.charCode; - if (charCode == 0 || (charCode >= 0x00 && charCode <= 0x1F)) return; - - - Runtime.dynCall('vii', GLFW.active.charFunc, [GLFW.active.id, charCode]); - },onKeyChanged:function (event, status) { - if (!GLFW.active) return; - - var key = GLFW.DOMToGLFWKeyCode(event.keyCode); - if (key == -1) return; - - GLFW.active.keys[key] = status; - if (!GLFW.active.keyFunc) return; - - - Runtime.dynCall('viiiii', GLFW.active.keyFunc, [GLFW.active.id, key, event.keyCode, status, GLFW.getModBits(GLFW.active)]); - },onKeydown:function (event) { - GLFW.onKeyChanged(event, 1); // GLFW_PRESS - - // This logic comes directly from the sdl implementation. We cannot - // call preventDefault on all keydown events otherwise onKeyPress will - // not get called - if (event.keyCode === 8 /* backspace */ || event.keyCode === 9 /* tab */) { - event.preventDefault(); - } - },onKeyup:function (event) { - GLFW.onKeyChanged(event, 0); // GLFW_RELEASE - },onMousemove:function (event) { - if (!GLFW.active) return; - - Browser.calculateMouseEvent(event); - - if (event.target != Module["canvas"] || !GLFW.active.cursorPosFunc) return; - - - Runtime.dynCall('vidd', GLFW.active.cursorPosFunc, [GLFW.active.id, Browser.mouseX, Browser.mouseY]); - },onMouseButtonChanged:function (event, status) { - if (!GLFW.active || !GLFW.active.mouseButtonFunc) return; - - Browser.calculateMouseEvent(event); - - if (event.target != Module["canvas"]) return; - - if (status == 1) { // GLFW_PRESS - try { - event.target.setCapture(); - } catch (e) {} - } - - // DOM and glfw have different button codes - var eventButton = event['button']; - if (eventButton > 0) { - if (eventButton == 1) { - eventButton = 2; - } else { - eventButton = 1; - } - } - - - Runtime.dynCall('viiii', GLFW.active.mouseButtonFunc, [GLFW.active.id, eventButton, status, GLFW.getModBits(GLFW.active)]); - },onMouseButtonDown:function (event) { - if (!GLFW.active) return; - GLFW.active.buttons |= (1 << event['button']); - GLFW.onMouseButtonChanged(event, 1); // GLFW_PRESS - },onMouseButtonUp:function (event) { - if (!GLFW.active) return; - GLFW.active.buttons &= ~(1 << event['button']); - GLFW.onMouseButtonChanged(event, 0); // GLFW_RELEASE - },onMouseWheel:function (event) { - // Note the minus sign that flips browser wheel direction (positive direction scrolls page down) to native wheel direction (positive direction is mouse wheel up) - var delta = -Browser.getMouseWheelDelta(event); - delta = (delta == 0) ? 0 : (delta > 0 ? Math.max(delta, 1) : Math.min(delta, -1)); // Quantize to integer so that minimum scroll is at least +/- 1. - GLFW.wheelPos += delta; - - if (!GLFW.active || !GLFW.active.scrollFunc || event.target != Module['canvas']) return; - - - var sx = 0; - var sy = 0; - if (event.type == 'mousewheel') { - sx = event.wheelDeltaX; - sy = event.wheelDeltaY; - } else { - sx = event.deltaX; - sy = event.deltaY; - } - - Runtime.dynCall('vidd', GLFW.active.scrollFunc, [GLFW.active.id, sx, sy]); - - event.preventDefault(); - },onFullScreenEventChange:function () { - if (!GLFW.active) return; - - if (document["fullScreen"] || document["mozFullScreen"] || document["webkitIsFullScreen"]) { - GLFW.active.storedX = GLFW.active.x; - GLFW.active.storedY = GLFW.active.y; - GLFW.active.storedWidth = GLFW.active.width; - GLFW.active.storedHeight = GLFW.active.height; - GLFW.active.x = GLFW.active.y = 0; - GLFW.active.width = screen.width; - GLFW.active.height = screen.height; - } else { - GLFW.active.x = GLFW.active.storedX; - GLFW.active.y = GLFW.active.storedY; - GLFW.active.width = GLFW.active.storedWidth; - GLFW.active.height = GLFW.active.storedHeight; - } - - Browser.setCanvasSize(GLFW.active.width, GLFW.active.height, true); // resets the canvas size to counter the aspect preservation of Browser.updateCanvasDimensions - - if (!GLFW.active.windowSizeFunc) return; - - - Runtime.dynCall('viii', GLFW.active.windowSizeFunc, [GLFW.active.id, GLFW.active.width, GLFW.active.height]); - },requestFullScreen:function () { - var RFS = Module["canvas"]['requestFullscreen'] || - Module["canvas"]['requestFullScreen'] || - Module["canvas"]['mozRequestFullScreen'] || - Module["canvas"]['webkitRequestFullScreen'] || - (function() {}); - RFS.apply(Module["canvas"], []); - },cancelFullScreen:function () { - var CFS = document['exitFullscreen'] || - document['cancelFullScreen'] || - document['mozCancelFullScreen'] || - document['webkitCancelFullScreen'] || - (function() {}); - CFS.apply(document, []); - },getTime:function () { - return _emscripten_get_now() / 1000; - },setWindowTitle:function (winid, title) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - - win.title = Pointer_stringify(title); - if (GLFW.active.id == win.id) { - document.title = win.title; - } - },setKeyCallback:function (winid, cbfun) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.keyFunc = cbfun; - },setCharCallback:function (winid, cbfun) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.charFunc = cbfun; - },setMouseButtonCallback:function (winid, cbfun) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.mouseButtonFunc = cbfun; - },setCursorPosCallback:function (winid, cbfun) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.cursorPosFunc = cbfun; - },setScrollCallback:function (winid, cbfun) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.scrollFunc = cbfun; - },setWindowSizeCallback:function (winid, cbfun) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.windowSizeFunc = cbfun; - },setWindowCloseCallback:function (winid, cbfun) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.windowCloseFunc = cbfun; - },setWindowRefreshCallback:function (winid, cbfun) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.windowRefreshFunc = cbfun; - },getKey:function (winid, key) { - var win = GLFW.WindowFromId(winid); - if (!win) return 0; - return win.keys[key]; - },getMouseButton:function (winid, button) { - var win = GLFW.WindowFromId(winid); - if (!win) return 0; - return (win.buttons & (1 << button)) > 0; - },getCursorPos:function (winid, x, y) { - setValue(x, Browser.mouseX, 'double'); - setValue(y, Browser.mouseY, 'double'); - },getMousePos:function (winid, x, y) { - setValue(x, Browser.mouseX, 'i32'); - setValue(y, Browser.mouseY, 'i32'); - },setCursorPos:function (winid, x, y) { - },getWindowPos:function (winid, x, y) { - var wx = 0; - var wy = 0; - - var win = GLFW.WindowFromId(winid); - if (win) { - wx = win.x; - wy = win.y; - } - - setValue(x, wx, 'i32'); - setValue(y, wy, 'i32'); - },setWindowPos:function (winid, x, y) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.x = x; - win.y = y; - },getWindowSize:function (winid, width, height) { - var ww = 0; - var wh = 0; - - var win = GLFW.WindowFromId(winid); - if (win) { - ww = win.width; - wh = win.height; - } - - setValue(width, ww, 'i32'); - setValue(height, wh, 'i32'); - },setWindowSize:function (winid, width, height) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - - if (GLFW.active.id == win.id) { - if (width == screen.width && height == screen.height) { - GLFW.requestFullScreen(); - } else { - GLFW.cancelFullScreen(); - Browser.setCanvasSize(width, height); - win.width = width; - win.height = height; - } - } - - if (!win.windowResizeFunc) return; - - - Runtime.dynCall('viii', win.windowResizeFunc, [win.id, width, height]); - },createWindow:function (width, height, title, monitor, share) { - var i, id; - for (i = 0; i < GLFW.windows.length && GLFW.windows[i] !== null; i++); - if (i > 0) throw "glfwCreateWindow only supports one window at time currently"; - - // id for window - id = i + 1; - - // not valid - if (width <= 0 || height <= 0) return 0; - - if (monitor) { - GLFW.requestFullScreen(); - } else { - Browser.setCanvasSize(width, height); - } - - // Create context when there are no existing alive windows - for (i = 0; i < GLFW.windows.length && GLFW.windows[i] == null; i++); - if (i == GLFW.windows.length) { - var contextAttributes = { - antialias: (GLFW.hints[0x0002100D] > 1), // GLFW_SAMPLES - depth: (GLFW.hints[0x00021005] > 0), // GLFW_DEPTH_BITS - stencil: (GLFW.hints[0x00021006] > 0) // GLFW_STENCIL_BITS - } - Module.ctx = Browser.createContext(Module['canvas'], true, true, contextAttributes); - } - - // Get non alive id - var win = new GLFW.Window(id, width, height, title, monitor, share); - - // Set window to array - if (id - 1 == GLFW.windows.length) { - GLFW.windows.push(win); - } else { - GLFW.windows[id - 1] = win; - } - - GLFW.active = win; - return win.id; - },destroyWindow:function (winid) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - - if (win.windowCloseFunc) - Runtime.dynCall('vi', win.windowCloseFunc, [win.id]); - - GLFW.windows[win.id - 1] = null; - if (GLFW.active.id == win.id) - GLFW.active = null; - - // Destroy context when no alive windows - for (var i = 0; i < GLFW.windows.length; i++) - if (GLFW.windows[i] !== null) return; - - Module.ctx = Browser.destroyContext(Module['canvas'], true, true); - },swapBuffers:function (winid) { - },GLFW2ParamToGLFW3Param:function (param) { - table = { - 0x00030001:0, // GLFW_MOUSE_CURSOR - 0x00030002:0, // GLFW_STICKY_KEYS - 0x00030003:0, // GLFW_STICKY_MOUSE_BUTTONS - 0x00030004:0, // GLFW_SYSTEM_KEYS - 0x00030005:0, // GLFW_KEY_REPEAT - 0x00030006:0, // GLFW_AUTO_POLL_EVENTS - 0x00020001:0, // GLFW_OPENED - 0x00020002:0, // GLFW_ACTIVE - 0x00020003:0, // GLFW_ICONIFIED - 0x00020004:0, // GLFW_ACCELERATED - 0x00020005:0x00021001, // GLFW_RED_BITS - 0x00020006:0x00021002, // GLFW_GREEN_BITS - 0x00020007:0x00021003, // GLFW_BLUE_BITS - 0x00020008:0x00021004, // GLFW_ALPHA_BITS - 0x00020009:0x00021005, // GLFW_DEPTH_BITS - 0x0002000A:0x00021006, // GLFW_STENCIL_BITS - 0x0002000B:0x0002100F, // GLFW_REFRESH_RATE - 0x0002000C:0x00021007, // GLFW_ACCUM_RED_BITS - 0x0002000D:0x00021008, // GLFW_ACCUM_GREEN_BITS - 0x0002000E:0x00021009, // GLFW_ACCUM_BLUE_BITS - 0x0002000F:0x0002100A, // GLFW_ACCUM_ALPHA_BITS - 0x00020010:0x0002100B, // GLFW_AUX_BUFFERS - 0x00020011:0x0002100C, // GLFW_STEREO - 0x00020012:0, // GLFW_WINDOW_NO_RESIZE - 0x00020013:0x0002100D, // GLFW_FSAA_SAMPLES - 0x00020014:0x00022002, // GLFW_OPENGL_VERSION_MAJOR - 0x00020015:0x00022003, // GLFW_OPENGL_VERSION_MINOR - 0x00020016:0x00022006, // GLFW_OPENGL_FORWARD_COMPAT - 0x00020017:0x00022007, // GLFW_OPENGL_DEBUG_CONTEXT - 0x00020018:0x00022008, // GLFW_OPENGL_PROFILE - }; - return table[param]; - }};function _glfwSetScrollCallback(winid, cbfun) { - GLFW.setScrollCallback(winid, cbfun); - } - - function _emscripten_glTexParameterf(x0, x1, x2) { GLctx.texParameterf(x0, x1, x2) } - - function _emscripten_glTexParameteri(x0, x1, x2) { GLctx.texParameteri(x0, x1, x2) } - - function _glCompileShader(shader) { - GLctx.compileShader(GL.shaders[shader]); - } - - function _emscripten_glSampleCoverage(x0, x1) { GLctx.sampleCoverage(x0, x1) } - function _glDeleteTextures(n, textures) { for (var i = 0; i < n; i++) { var id = HEAP32[(((textures)+(i*4))>>2)]; @@ -6245,12 +6651,17 @@ function copyTempDouble(ptr) { } function _emscripten_glGetTexParameterfv(target, pname, params) { + if (!params) { + // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense + // if p == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } HEAPF32[((params)>>2)]=GLctx.getTexParameter(target, pname); } function _emscripten_glUniform4i(location, v0, v1, v2, v3) { - location = GL.uniforms[location]; - GLctx.uniform4i(location, v0, v1, v2, v3); + GLctx.uniform4i(GL.uniforms[location], v0, v1, v2, v3); } function _emscripten_glBindRenderbuffer(target, renderbuffer) { @@ -6258,727 +6669,7 @@ function copyTempDouble(ptr) { } - - - - function _emscripten_set_main_loop_timing(mode, value) { - Browser.mainLoop.timingMode = mode; - Browser.mainLoop.timingValue = value; - - if (!Browser.mainLoop.func) { - return 1; // Return non-zero on failure, can't set timing mode when there is no main loop. - } - - if (mode == 0 /*EM_TIMING_SETTIMEOUT*/) { - Browser.mainLoop.scheduler = function Browser_mainLoop_scheduler() { - setTimeout(Browser.mainLoop.runner, value); // doing this each time means that on exception, we stop - }; - Browser.mainLoop.method = 'timeout'; - } else if (mode == 1 /*EM_TIMING_RAF*/) { - Browser.mainLoop.scheduler = function Browser_mainLoop_scheduler() { - Browser.requestAnimationFrame(Browser.mainLoop.runner); - }; - Browser.mainLoop.method = 'rAF'; - } - return 0; - }function _emscripten_set_main_loop(func, fps, simulateInfiniteLoop, arg, noSetTiming) { - Module['noExitRuntime'] = true; - - assert(!Browser.mainLoop.func, 'emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters.'); - - Browser.mainLoop.func = func; - Browser.mainLoop.arg = arg; - - var thisMainLoopId = Browser.mainLoop.currentlyRunningMainloop; - - Browser.mainLoop.runner = function Browser_mainLoop_runner() { - if (ABORT) return; - if (Browser.mainLoop.queue.length > 0) { - var start = Date.now(); - var blocker = Browser.mainLoop.queue.shift(); - blocker.func(blocker.arg); - if (Browser.mainLoop.remainingBlockers) { - var remaining = Browser.mainLoop.remainingBlockers; - var next = remaining%1 == 0 ? remaining-1 : Math.floor(remaining); - if (blocker.counted) { - Browser.mainLoop.remainingBlockers = next; - } else { - // not counted, but move the progress along a tiny bit - next = next + 0.5; // do not steal all the next one's progress - Browser.mainLoop.remainingBlockers = (8*remaining + next)/9; - } - } - console.log('main loop blocker "' + blocker.name + '" took ' + (Date.now() - start) + ' ms'); //, left: ' + Browser.mainLoop.remainingBlockers); - Browser.mainLoop.updateStatus(); - setTimeout(Browser.mainLoop.runner, 0); - return; - } - - // catch pauses from non-main loop sources - if (thisMainLoopId < Browser.mainLoop.currentlyRunningMainloop) return; - - // Implement very basic swap interval control - Browser.mainLoop.currentFrameNumber = Browser.mainLoop.currentFrameNumber + 1 | 0; - if (Browser.mainLoop.timingMode == 1/*EM_TIMING_RAF*/ && Browser.mainLoop.timingValue > 1 && Browser.mainLoop.currentFrameNumber % Browser.mainLoop.timingValue != 0) { - // Not the scheduled time to render this frame - skip. - Browser.mainLoop.scheduler(); - return; - } - - // Signal GL rendering layer that processing of a new frame is about to start. This helps it optimize - // VBO double-buffering and reduce GPU stalls. - - if (Browser.mainLoop.method === 'timeout' && Module.ctx) { - Module.printErr('Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!'); - Browser.mainLoop.method = ''; // just warn once per call to set main loop - } - - Browser.mainLoop.runIter(function() { - if (typeof arg !== 'undefined') { - Runtime.dynCall('vi', func, [arg]); - } else { - Runtime.dynCall('v', func); - } - }); - - // catch pauses from the main loop itself - if (thisMainLoopId < Browser.mainLoop.currentlyRunningMainloop) return; - - // Queue new audio data. This is important to be right after the main loop invocation, so that we will immediately be able - // to queue the newest produced audio samples. - // TODO: Consider adding pre- and post- rAF callbacks so that GL.newRenderingFrameStarted() and SDL.audio.queueNewAudioData() - // do not need to be hardcoded into this function, but can be more generic. - if (typeof SDL === 'object' && SDL.audio && SDL.audio.queueNewAudioData) SDL.audio.queueNewAudioData(); - - Browser.mainLoop.scheduler(); - } - - if (!noSetTiming) { - if (fps && fps > 0) _emscripten_set_main_loop_timing(0/*EM_TIMING_SETTIMEOUT*/, 1000.0 / fps); - else _emscripten_set_main_loop_timing(1/*EM_TIMING_RAF*/, 1); // Do rAF by rendering each frame (no decimating) - - Browser.mainLoop.scheduler(); - } - - if (simulateInfiniteLoop) { - throw 'SimulateInfiniteLoop'; - } - }var Browser={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function () { - Browser.mainLoop.scheduler = null; - Browser.mainLoop.currentlyRunningMainloop++; // Incrementing this signals the previous main loop that it's now become old, and it must return. - },resume:function () { - Browser.mainLoop.currentlyRunningMainloop++; - var timingMode = Browser.mainLoop.timingMode; - var timingValue = Browser.mainLoop.timingValue; - var func = Browser.mainLoop.func; - Browser.mainLoop.func = null; - _emscripten_set_main_loop(func, 0, false, Browser.mainLoop.arg, true /* do not set timing and call scheduler, we will do it on the next lines */); - _emscripten_set_main_loop_timing(timingMode, timingValue); - Browser.mainLoop.scheduler(); - },updateStatus:function () { - if (Module['setStatus']) { - var message = Module['statusMessage'] || 'Please wait...'; - var remaining = Browser.mainLoop.remainingBlockers; - var expected = Browser.mainLoop.expectedBlockers; - if (remaining) { - if (remaining < expected) { - Module['setStatus'](message + ' (' + (expected - remaining) + '/' + expected + ')'); - } else { - Module['setStatus'](message); - } - } else { - Module['setStatus'](''); - } - } - },runIter:function (func) { - if (ABORT) return; - if (Module['preMainLoop']) { - var preRet = Module['preMainLoop'](); - if (preRet === false) { - return; // |return false| skips a frame - } - } - try { - func(); - } catch (e) { - if (e instanceof ExitStatus) { - return; - } else { - if (e && typeof e === 'object' && e.stack) Module.printErr('exception thrown: ' + [e, e.stack]); - throw e; - } - } - if (Module['postMainLoop']) Module['postMainLoop'](); - }},isFullScreen:false,pointerLock:false,moduleContextCreatedCallbacks:[],workers:[],init:function () { - if (!Module["preloadPlugins"]) Module["preloadPlugins"] = []; // needs to exist even in workers - - if (Browser.initted) return; - Browser.initted = true; - - try { - new Blob(); - Browser.hasBlobConstructor = true; - } catch(e) { - Browser.hasBlobConstructor = false; - console.log("warning: no blob constructor, cannot create blobs with mimetypes"); - } - Browser.BlobBuilder = typeof MozBlobBuilder != "undefined" ? MozBlobBuilder : (typeof WebKitBlobBuilder != "undefined" ? WebKitBlobBuilder : (!Browser.hasBlobConstructor ? console.log("warning: no BlobBuilder") : null)); - Browser.URLObject = typeof window != "undefined" ? (window.URL ? window.URL : window.webkitURL) : undefined; - if (!Module.noImageDecoding && typeof Browser.URLObject === 'undefined') { - console.log("warning: Browser does not support creating object URLs. Built-in browser image decoding will not be available."); - Module.noImageDecoding = true; - } - - // Support for plugins that can process preloaded files. You can add more of these to - // your app by creating and appending to Module.preloadPlugins. - // - // Each plugin is asked if it can handle a file based on the file's name. If it can, - // it is given the file's raw data. When it is done, it calls a callback with the file's - // (possibly modified) data. For example, a plugin might decompress a file, or it - // might create some side data structure for use later (like an Image element, etc.). - - var imagePlugin = {}; - imagePlugin['canHandle'] = function imagePlugin_canHandle(name) { - return !Module.noImageDecoding && /\.(jpg|jpeg|png|bmp)$/i.test(name); - }; - imagePlugin['handle'] = function imagePlugin_handle(byteArray, name, onload, onerror) { - var b = null; - if (Browser.hasBlobConstructor) { - try { - b = new Blob([byteArray], { type: Browser.getMimetype(name) }); - if (b.size !== byteArray.length) { // Safari bug #118630 - // Safari's Blob can only take an ArrayBuffer - b = new Blob([(new Uint8Array(byteArray)).buffer], { type: Browser.getMimetype(name) }); - } - } catch(e) { - Runtime.warnOnce('Blob constructor present but fails: ' + e + '; falling back to blob builder'); - } - } - if (!b) { - var bb = new Browser.BlobBuilder(); - bb.append((new Uint8Array(byteArray)).buffer); // we need to pass a buffer, and must copy the array to get the right data range - b = bb.getBlob(); - } - var url = Browser.URLObject.createObjectURL(b); - var img = new Image(); - img.onload = function img_onload() { - assert(img.complete, 'Image ' + name + ' could not be decoded'); - var canvas = document.createElement('canvas'); - canvas.width = img.width; - canvas.height = img.height; - var ctx = canvas.getContext('2d'); - ctx.drawImage(img, 0, 0); - Module["preloadedImages"][name] = canvas; - Browser.URLObject.revokeObjectURL(url); - if (onload) onload(byteArray); - }; - img.onerror = function img_onerror(event) { - console.log('Image ' + url + ' could not be decoded'); - if (onerror) onerror(); - }; - img.src = url; - }; - Module['preloadPlugins'].push(imagePlugin); - - var audioPlugin = {}; - audioPlugin['canHandle'] = function audioPlugin_canHandle(name) { - return !Module.noAudioDecoding && name.substr(-4) in { '.ogg': 1, '.wav': 1, '.mp3': 1 }; - }; - audioPlugin['handle'] = function audioPlugin_handle(byteArray, name, onload, onerror) { - var done = false; - function finish(audio) { - if (done) return; - done = true; - Module["preloadedAudios"][name] = audio; - if (onload) onload(byteArray); - } - function fail() { - if (done) return; - done = true; - Module["preloadedAudios"][name] = new Audio(); // empty shim - if (onerror) onerror(); - } - if (Browser.hasBlobConstructor) { - try { - var b = new Blob([byteArray], { type: Browser.getMimetype(name) }); - } catch(e) { - return fail(); - } - var url = Browser.URLObject.createObjectURL(b); // XXX we never revoke this! - var audio = new Audio(); - audio.addEventListener('canplaythrough', function() { finish(audio) }, false); // use addEventListener due to chromium bug 124926 - audio.onerror = function audio_onerror(event) { - if (done) return; - console.log('warning: browser could not fully decode audio ' + name + ', trying slower base64 approach'); - function encode64(data) { - var BASE = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'; - var PAD = '='; - var ret = ''; - var leftchar = 0; - var leftbits = 0; - for (var i = 0; i < data.length; i++) { - leftchar = (leftchar << 8) | data[i]; - leftbits += 8; - while (leftbits >= 6) { - var curr = (leftchar >> (leftbits-6)) & 0x3f; - leftbits -= 6; - ret += BASE[curr]; - } - } - if (leftbits == 2) { - ret += BASE[(leftchar&3) << 4]; - ret += PAD + PAD; - } else if (leftbits == 4) { - ret += BASE[(leftchar&0xf) << 2]; - ret += PAD; - } - return ret; - } - audio.src = 'data:audio/x-' + name.substr(-3) + ';base64,' + encode64(byteArray); - finish(audio); // we don't wait for confirmation this worked - but it's worth trying - }; - audio.src = url; - // workaround for chrome bug 124926 - we do not always get oncanplaythrough or onerror - Browser.safeSetTimeout(function() { - finish(audio); // try to use it even though it is not necessarily ready to play - }, 10000); - } else { - return fail(); - } - }; - Module['preloadPlugins'].push(audioPlugin); - - // Canvas event setup - - var canvas = Module['canvas']; - function pointerLockChange() { - Browser.pointerLock = document['pointerLockElement'] === canvas || - document['mozPointerLockElement'] === canvas || - document['webkitPointerLockElement'] === canvas || - document['msPointerLockElement'] === canvas; - } - if (canvas) { - // forced aspect ratio can be enabled by defining 'forcedAspectRatio' on Module - // Module['forcedAspectRatio'] = 4 / 3; - - canvas.requestPointerLock = canvas['requestPointerLock'] || - canvas['mozRequestPointerLock'] || - canvas['webkitRequestPointerLock'] || - canvas['msRequestPointerLock'] || - function(){}; - canvas.exitPointerLock = document['exitPointerLock'] || - document['mozExitPointerLock'] || - document['webkitExitPointerLock'] || - document['msExitPointerLock'] || - function(){}; // no-op if function does not exist - canvas.exitPointerLock = canvas.exitPointerLock.bind(document); - - - document.addEventListener('pointerlockchange', pointerLockChange, false); - document.addEventListener('mozpointerlockchange', pointerLockChange, false); - document.addEventListener('webkitpointerlockchange', pointerLockChange, false); - document.addEventListener('mspointerlockchange', pointerLockChange, false); - - if (Module['elementPointerLock']) { - canvas.addEventListener("click", function(ev) { - if (!Browser.pointerLock && canvas.requestPointerLock) { - canvas.requestPointerLock(); - ev.preventDefault(); - } - }, false); - } - } - },createContext:function (canvas, useWebGL, setInModule, webGLContextAttributes) { - if (useWebGL && Module.ctx && canvas == Module.canvas) return Module.ctx; // no need to recreate GL context if it's already been created for this canvas. - - var ctx; - var contextHandle; - if (useWebGL) { - // For GLES2/desktop GL compatibility, adjust a few defaults to be different to WebGL defaults, so that they align better with the desktop defaults. - var contextAttributes = { - antialias: false, - alpha: false - }; - - if (webGLContextAttributes) { - for (var attribute in webGLContextAttributes) { - contextAttributes[attribute] = webGLContextAttributes[attribute]; - } - } - - contextHandle = GL.createContext(canvas, contextAttributes); - if (contextHandle) { - ctx = GL.getContext(contextHandle).GLctx; - } - // Set the background of the WebGL canvas to black - canvas.style.backgroundColor = "black"; - } else { - ctx = canvas.getContext('2d'); - } - - if (!ctx) return null; - - if (setInModule) { - if (!useWebGL) assert(typeof GLctx === 'undefined', 'cannot set in module if GLctx is used, but we are a non-GL context that would replace it'); - - Module.ctx = ctx; - if (useWebGL) GL.makeContextCurrent(contextHandle); - Module.useWebGL = useWebGL; - Browser.moduleContextCreatedCallbacks.forEach(function(callback) { callback() }); - Browser.init(); - } - return ctx; - },destroyContext:function (canvas, useWebGL, setInModule) {},fullScreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullScreen:function (lockPointer, resizeCanvas, vrDevice) { - Browser.lockPointer = lockPointer; - Browser.resizeCanvas = resizeCanvas; - Browser.vrDevice = vrDevice; - if (typeof Browser.lockPointer === 'undefined') Browser.lockPointer = true; - if (typeof Browser.resizeCanvas === 'undefined') Browser.resizeCanvas = false; - if (typeof Browser.vrDevice === 'undefined') Browser.vrDevice = null; - - var canvas = Module['canvas']; - function fullScreenChange() { - Browser.isFullScreen = false; - var canvasContainer = canvas.parentNode; - if ((document['webkitFullScreenElement'] || document['webkitFullscreenElement'] || - document['mozFullScreenElement'] || document['mozFullscreenElement'] || - document['fullScreenElement'] || document['fullscreenElement'] || - document['msFullScreenElement'] || document['msFullscreenElement'] || - document['webkitCurrentFullScreenElement']) === canvasContainer) { - canvas.cancelFullScreen = document['cancelFullScreen'] || - document['mozCancelFullScreen'] || - document['webkitCancelFullScreen'] || - document['msExitFullscreen'] || - document['exitFullscreen'] || - function() {}; - canvas.cancelFullScreen = canvas.cancelFullScreen.bind(document); - if (Browser.lockPointer) canvas.requestPointerLock(); - Browser.isFullScreen = true; - if (Browser.resizeCanvas) Browser.setFullScreenCanvasSize(); - } else { - - // remove the full screen specific parent of the canvas again to restore the HTML structure from before going full screen - canvasContainer.parentNode.insertBefore(canvas, canvasContainer); - canvasContainer.parentNode.removeChild(canvasContainer); - - if (Browser.resizeCanvas) Browser.setWindowedCanvasSize(); - } - if (Module['onFullScreen']) Module['onFullScreen'](Browser.isFullScreen); - Browser.updateCanvasDimensions(canvas); - } - - if (!Browser.fullScreenHandlersInstalled) { - Browser.fullScreenHandlersInstalled = true; - document.addEventListener('fullscreenchange', fullScreenChange, false); - document.addEventListener('mozfullscreenchange', fullScreenChange, false); - document.addEventListener('webkitfullscreenchange', fullScreenChange, false); - document.addEventListener('MSFullscreenChange', fullScreenChange, false); - } - - // create a new parent to ensure the canvas has no siblings. this allows browsers to optimize full screen performance when its parent is the full screen root - var canvasContainer = document.createElement("div"); - canvas.parentNode.insertBefore(canvasContainer, canvas); - canvasContainer.appendChild(canvas); - - // use parent of canvas as full screen root to allow aspect ratio correction (Firefox stretches the root to screen size) - canvasContainer.requestFullScreen = canvasContainer['requestFullScreen'] || - canvasContainer['mozRequestFullScreen'] || - canvasContainer['msRequestFullscreen'] || - (canvasContainer['webkitRequestFullScreen'] ? function() { canvasContainer['webkitRequestFullScreen'](Element['ALLOW_KEYBOARD_INPUT']) } : null); - - if (vrDevice) { - canvasContainer.requestFullScreen({ vrDisplay: vrDevice }); - } else { - canvasContainer.requestFullScreen(); - } - },nextRAF:0,fakeRequestAnimationFrame:function (func) { - // try to keep 60fps between calls to here - var now = Date.now(); - if (Browser.nextRAF === 0) { - Browser.nextRAF = now + 1000/60; - } else { - while (now + 2 >= Browser.nextRAF) { // fudge a little, to avoid timer jitter causing us to do lots of delay:0 - Browser.nextRAF += 1000/60; - } - } - var delay = Math.max(Browser.nextRAF - now, 0); - setTimeout(func, delay); - },requestAnimationFrame:function requestAnimationFrame(func) { - if (typeof window === 'undefined') { // Provide fallback to setTimeout if window is undefined (e.g. in Node.js) - Browser.fakeRequestAnimationFrame(func); - } else { - if (!window.requestAnimationFrame) { - window.requestAnimationFrame = window['requestAnimationFrame'] || - window['mozRequestAnimationFrame'] || - window['webkitRequestAnimationFrame'] || - window['msRequestAnimationFrame'] || - window['oRequestAnimationFrame'] || - Browser.fakeRequestAnimationFrame; - } - window.requestAnimationFrame(func); - } - },safeCallback:function (func) { - return function() { - if (!ABORT) return func.apply(null, arguments); - }; - },allowAsyncCallbacks:true,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function () { - Browser.allowAsyncCallbacks = false; - },resumeAsyncCallbacks:function () { // marks future callbacks as ok to execute, and synchronously runs any remaining ones right now - Browser.allowAsyncCallbacks = true; - if (Browser.queuedAsyncCallbacks.length > 0) { - var callbacks = Browser.queuedAsyncCallbacks; - Browser.queuedAsyncCallbacks = []; - callbacks.forEach(function(func) { - func(); - }); - } - },safeRequestAnimationFrame:function (func) { - return Browser.requestAnimationFrame(function() { - if (ABORT) return; - if (Browser.allowAsyncCallbacks) { - func(); - } else { - Browser.queuedAsyncCallbacks.push(func); - } - }); - },safeSetTimeout:function (func, timeout) { - Module['noExitRuntime'] = true; - return setTimeout(function() { - if (ABORT) return; - if (Browser.allowAsyncCallbacks) { - func(); - } else { - Browser.queuedAsyncCallbacks.push(func); - } - }, timeout); - },safeSetInterval:function (func, timeout) { - Module['noExitRuntime'] = true; - return setInterval(function() { - if (ABORT) return; - if (Browser.allowAsyncCallbacks) { - func(); - } // drop it on the floor otherwise, next interval will kick in - }, timeout); - },getMimetype:function (name) { - return { - 'jpg': 'image/jpeg', - 'jpeg': 'image/jpeg', - 'png': 'image/png', - 'bmp': 'image/bmp', - 'ogg': 'audio/ogg', - 'wav': 'audio/wav', - 'mp3': 'audio/mpeg' - }[name.substr(name.lastIndexOf('.')+1)]; - },getUserMedia:function (func) { - if(!window.getUserMedia) { - window.getUserMedia = navigator['getUserMedia'] || - navigator['mozGetUserMedia']; - } - window.getUserMedia(func); - },getMovementX:function (event) { - return event['movementX'] || - event['mozMovementX'] || - event['webkitMovementX'] || - 0; - },getMovementY:function (event) { - return event['movementY'] || - event['mozMovementY'] || - event['webkitMovementY'] || - 0; - },getMouseWheelDelta:function (event) { - var delta = 0; - switch (event.type) { - case 'DOMMouseScroll': - delta = event.detail; - break; - case 'mousewheel': - delta = event.wheelDelta; - break; - case 'wheel': - delta = event['deltaY']; - break; - default: - throw 'unrecognized mouse wheel event: ' + event.type; - } - return delta; - },mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function (event) { // event should be mousemove, mousedown or mouseup - if (Browser.pointerLock) { - // When the pointer is locked, calculate the coordinates - // based on the movement of the mouse. - // Workaround for Firefox bug 764498 - if (event.type != 'mousemove' && - ('mozMovementX' in event)) { - Browser.mouseMovementX = Browser.mouseMovementY = 0; - } else { - Browser.mouseMovementX = Browser.getMovementX(event); - Browser.mouseMovementY = Browser.getMovementY(event); - } - - // check if SDL is available - if (typeof SDL != "undefined") { - Browser.mouseX = SDL.mouseX + Browser.mouseMovementX; - Browser.mouseY = SDL.mouseY + Browser.mouseMovementY; - } else { - // just add the mouse delta to the current absolut mouse position - // FIXME: ideally this should be clamped against the canvas size and zero - Browser.mouseX += Browser.mouseMovementX; - Browser.mouseY += Browser.mouseMovementY; - } - } else { - // Otherwise, calculate the movement based on the changes - // in the coordinates. - var rect = Module["canvas"].getBoundingClientRect(); - var cw = Module["canvas"].width; - var ch = Module["canvas"].height; - - // Neither .scrollX or .pageXOffset are defined in a spec, but - // we prefer .scrollX because it is currently in a spec draft. - // (see: http://www.w3.org/TR/2013/WD-cssom-view-20131217/) - var scrollX = ((typeof window.scrollX !== 'undefined') ? window.scrollX : window.pageXOffset); - var scrollY = ((typeof window.scrollY !== 'undefined') ? window.scrollY : window.pageYOffset); - - if (event.type === 'touchstart' || event.type === 'touchend' || event.type === 'touchmove') { - var touch = event.touch; - if (touch === undefined) { - return; // the "touch" property is only defined in SDL - - } - var adjustedX = touch.pageX - (scrollX + rect.left); - var adjustedY = touch.pageY - (scrollY + rect.top); - - adjustedX = adjustedX * (cw / rect.width); - adjustedY = adjustedY * (ch / rect.height); - - var coords = { x: adjustedX, y: adjustedY }; - - if (event.type === 'touchstart') { - Browser.lastTouches[touch.identifier] = coords; - Browser.touches[touch.identifier] = coords; - } else if (event.type === 'touchend' || event.type === 'touchmove') { - var last = Browser.touches[touch.identifier]; - if (!last) last = coords; - Browser.lastTouches[touch.identifier] = last; - Browser.touches[touch.identifier] = coords; - } - return; - } - - var x = event.pageX - (scrollX + rect.left); - var y = event.pageY - (scrollY + rect.top); - - // the canvas might be CSS-scaled compared to its backbuffer; - // SDL-using content will want mouse coordinates in terms - // of backbuffer units. - x = x * (cw / rect.width); - y = y * (ch / rect.height); - - Browser.mouseMovementX = x - Browser.mouseX; - Browser.mouseMovementY = y - Browser.mouseY; - Browser.mouseX = x; - Browser.mouseY = y; - } - },xhrLoad:function (url, onload, onerror) { - var xhr = new XMLHttpRequest(); - xhr.open('GET', url, true); - xhr.responseType = 'arraybuffer'; - xhr.onload = function xhr_onload() { - if (xhr.status == 200 || (xhr.status == 0 && xhr.response)) { // file URLs can return 0 - onload(xhr.response); - } else { - onerror(); - } - }; - xhr.onerror = onerror; - xhr.send(null); - },asyncLoad:function (url, onload, onerror, noRunDep) { - Browser.xhrLoad(url, function(arrayBuffer) { - assert(arrayBuffer, 'Loading data file "' + url + '" failed (no arrayBuffer).'); - onload(new Uint8Array(arrayBuffer)); - if (!noRunDep) removeRunDependency('al ' + url); - }, function(event) { - if (onerror) { - onerror(); - } else { - throw 'Loading data file "' + url + '" failed.'; - } - }); - if (!noRunDep) addRunDependency('al ' + url); - },resizeListeners:[],updateResizeListeners:function () { - var canvas = Module['canvas']; - Browser.resizeListeners.forEach(function(listener) { - listener(canvas.width, canvas.height); - }); - },setCanvasSize:function (width, height, noUpdates) { - var canvas = Module['canvas']; - Browser.updateCanvasDimensions(canvas, width, height); - if (!noUpdates) Browser.updateResizeListeners(); - },windowedWidth:0,windowedHeight:0,setFullScreenCanvasSize:function () { - // check if SDL is available - if (typeof SDL != "undefined") { - var flags = HEAPU32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)]; - flags = flags | 0x00800000; // set SDL_FULLSCREEN flag - HEAP32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)]=flags - } - Browser.updateResizeListeners(); - },setWindowedCanvasSize:function () { - // check if SDL is available - if (typeof SDL != "undefined") { - var flags = HEAPU32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)]; - flags = flags & ~0x00800000; // clear SDL_FULLSCREEN flag - HEAP32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)]=flags - } - Browser.updateResizeListeners(); - },updateCanvasDimensions:function (canvas, wNative, hNative) { - if (wNative && hNative) { - canvas.widthNative = wNative; - canvas.heightNative = hNative; - } else { - wNative = canvas.widthNative; - hNative = canvas.heightNative; - } - var w = wNative; - var h = hNative; - if (Module['forcedAspectRatio'] && Module['forcedAspectRatio'] > 0) { - if (w/h < Module['forcedAspectRatio']) { - w = Math.round(h * Module['forcedAspectRatio']); - } else { - h = Math.round(w / Module['forcedAspectRatio']); - } - } - if (((document['webkitFullScreenElement'] || document['webkitFullscreenElement'] || - document['mozFullScreenElement'] || document['mozFullscreenElement'] || - document['fullScreenElement'] || document['fullscreenElement'] || - document['msFullScreenElement'] || document['msFullscreenElement'] || - document['webkitCurrentFullScreenElement']) === canvas.parentNode) && (typeof screen != 'undefined')) { - var factor = Math.min(screen.width / w, screen.height / h); - w = Math.round(w * factor); - h = Math.round(h * factor); - } - if (Browser.resizeCanvas) { - if (canvas.width != w) canvas.width = w; - if (canvas.height != h) canvas.height = h; - if (typeof canvas.style != 'undefined') { - canvas.style.removeProperty( "width"); - canvas.style.removeProperty("height"); - } - } else { - if (canvas.width != wNative) canvas.width = wNative; - if (canvas.height != hNative) canvas.height = hNative; - if (typeof canvas.style != 'undefined') { - if (w != wNative || h != hNative) { - canvas.style.setProperty( "width", w + "px", "important"); - canvas.style.setProperty("height", h + "px", "important"); - } else { - canvas.style.removeProperty( "width"); - canvas.style.removeProperty("height"); - } - } - } - },wgetRequests:{},nextWgetRequestHandle:0,getNextWgetRequestHandle:function () { - var handle = Browser.nextWgetRequestHandle; - Browser.nextWgetRequestHandle++; - return handle; - }};var AL={contexts:[],currentContext:null,alcErr:0,stringCache:{},alcStringCache:{},QUEUE_INTERVAL:25,QUEUE_LOOKAHEAD:100,newSrcId:1,updateSources:function updateSources(context) { + var AL={contexts:[],currentContext:null,alcErr:0,stringCache:{},alcStringCache:{},QUEUE_INTERVAL:25,QUEUE_LOOKAHEAD:100,newSrcId:1,updateSources:function updateSources(context) { // If we are animating using the requestAnimationFrame method, then the main loop does not run when in the background. // To give a perfect glitch-free audio stop when switching from foreground to background, we need to avoid updating // audio altogether when in the background, so detect that case and kill audio buffer streaming if so. @@ -6988,18 +6679,23 @@ function copyTempDouble(ptr) { AL.updateSource(context.src[srcId]); } },updateSource:function updateSource(src) { + // See comment on updateSources above. + if (Browser.mainLoop.timingMode == 1/*EM_TIMING_RAF*/ && document['visibilityState'] != 'visible') return; + if (src.state !== 0x1012 /* AL_PLAYING */) { return; } - var currentTime = AL.currentContext.ctx.currentTime; + var currentTime = src.context.ctx.currentTime; var startTime = src.bufferPosition; for (var i = src.buffersPlayed; i < src.queue.length; i++) { var entry = src.queue[i]; - var startOffset = startTime - currentTime; - var endTime = startTime + entry.buffer.duration; + var startOffset = (startTime - currentTime) / src.playbackRate; + var endTime; + if (entry.src) endTime = startTime + entry.src.duration; // n.b. entry.src.duration already factors in playbackRate, so no divide by src.playbackRate on it. + else endTime = startTime + entry.buffer.duration / src.playbackRate; // Clean up old buffers. if (currentTime >= endTime) { @@ -7021,9 +6717,11 @@ function copyTempDouble(ptr) { // If the start offset is negative, we need to offset the actual buffer. var offset = Math.abs(Math.min(startOffset, 0)); - entry.src = AL.currentContext.ctx.createBufferSource(); + entry.src = src.context.ctx.createBufferSource(); entry.src.buffer = entry.buffer; entry.src.connect(src.gain); + if (src.playbackRate != 1.0) entry.src.playbackRate.value = src.playbackRate; + entry.src.duration = entry.buffer.duration / src.playbackRate; if (typeof(entry.src.start) !== 'undefined') { entry.src.start(startTime, offset); } else if (typeof(entry.src.noteOn) !== 'undefined') { @@ -7084,214 +6782,16 @@ function copyTempDouble(ptr) { return 0; } - function _emscripten_glViewport(x0, x1, x2, x3) { GLctx.viewport(x0, x1, x2, x3) } + function _emscripten_glViewport(x0, x1, x2, x3) { GLctx['viewport'](x0, x1, x2, x3) } - function _emscripten_memcpy_big(dest, src, num) { - HEAPU8.set(HEAPU8.subarray(src, src+num), dest); - return dest; - } - Module["_memcpy"] = _memcpy; - - var _llvm_pow_f64=Math_pow; - - function _emscripten_glCopyTexImage2D(x0, x1, x2, x3, x4, x5, x6, x7) { GLctx.copyTexImage2D(x0, x1, x2, x3, x4, x5, x6, x7) } - - function _alcGetString(device, param) { - if (AL.alcStringCache[param]) return AL.alcStringCache[param]; - var ret; - switch (param) { - case 0 /* ALC_NO_ERROR */: - ret = 'No Error'; - break; - case 0xA001 /* ALC_INVALID_DEVICE */: - ret = 'Invalid Device'; - break; - case 0xA002 /* ALC_INVALID_CONTEXT */: - ret = 'Invalid Context'; - break; - case 0xA003 /* ALC_INVALID_ENUM */: - ret = 'Invalid Enum'; - break; - case 0xA004 /* ALC_INVALID_VALUE */: - ret = 'Invalid Value'; - break; - case 0xA005 /* ALC_OUT_OF_MEMORY */: - ret = 'Out of Memory'; - break; - case 0x1004 /* ALC_DEFAULT_DEVICE_SPECIFIER */: - if (typeof(AudioContext) !== "undefined" || - typeof(webkitAudioContext) !== "undefined") { - ret = 'Device'; - } else { - return 0; + + var JSEvents={keyEvent:0,mouseEvent:0,wheelEvent:0,uiEvent:0,focusEvent:0,deviceOrientationEvent:0,deviceMotionEvent:0,fullscreenChangeEvent:0,pointerlockChangeEvent:0,visibilityChangeEvent:0,touchEvent:0,lastGamepadState:null,lastGamepadStateFrame:null,numGamepadsConnected:0,previousFullscreenElement:null,previousScreenX:null,previousScreenY:null,removeEventListenersRegistered:false,staticInit:function () { + if (typeof window !== 'undefined') { + window.addEventListener("gamepadconnected", function() { ++JSEvents.numGamepadsConnected; }); + window.addEventListener("gamepaddisconnected", function() { --JSEvents.numGamepadsConnected; }); } - break; - case 0x1005 /* ALC_DEVICE_SPECIFIER */: - if (typeof(AudioContext) !== "undefined" || - typeof(webkitAudioContext) !== "undefined") { - ret = 'Device\0'; - } else { - ret = '\0'; - } - break; - case 0x311 /* ALC_CAPTURE_DEFAULT_DEVICE_SPECIFIER */: - return 0; - break; - case 0x310 /* ALC_CAPTURE_DEVICE_SPECIFIER */: - ret = '\0' - break; - case 0x1006 /* ALC_EXTENSIONS */: - if (!device) { - AL.alcErr = 0xA001 /* ALC_INVALID_DEVICE */; - return 0; - } - ret = ''; - break; - default: - AL.alcErr = 0xA003 /* ALC_INVALID_ENUM */; - return 0; - } - - ret = allocate(intArrayFromString(ret), 'i8', ALLOC_NORMAL); - - AL.alcStringCache[param] = ret; - - return ret; - } - - function _emscripten_glTexParameterfv(target, pname, params) { - var param = HEAPF32[((params)>>2)]; - GLctx.texParameterf(target, pname, param); - } - - function _emscripten_glLinkProgram(program) { - GLctx.linkProgram(GL.programs[program]); - GL.programInfos[program] = null; // uniforms no longer keep the same names after linking - GL.populateUniformTable(program); - } - - function _emscripten_glUniform3f(location, v0, v1, v2) { - location = GL.uniforms[location]; - GLctx.uniform3f(location, v0, v1, v2); - } - - function _emscripten_glGetObjectParameterivARB() { - Module['printErr']('missing function: emscripten_glGetObjectParameterivARB'); abort(-1); - } - - function _emscripten_glBlendFunc(x0, x1) { GLctx.blendFunc(x0, x1) } - - function _emscripten_glUniform3i(location, v0, v1, v2) { - location = GL.uniforms[location]; - GLctx.uniform3i(location, v0, v1, v2); - } - - function _emscripten_glStencilOp(x0, x1, x2) { GLctx.stencilOp(x0, x1, x2) } - - function _glCreateShader(shaderType) { - var id = GL.getNewId(GL.shaders); - GL.shaders[id] = GLctx.createShader(shaderType); - return id; - } - - function _glUniform1i(location, v0) { - location = GL.uniforms[location]; - GLctx.uniform1i(location, v0); - } - - function _emscripten_glBindAttribLocation(program, index, name) { - name = Pointer_stringify(name); - GLctx.bindAttribLocation(GL.programs[program], index, name); - } - - var _cosf=Math_cos; - - function _glCompressedTexImage2D(target, level, internalFormat, width, height, border, imageSize, data) { - if (data) { - data = HEAPU8.subarray((data),(data+imageSize)); - } else { - data = null; - } - // N.b. using array notation explicitly to not confuse Closure minification. - GLctx['compressedTexImage2D'](target, level, internalFormat, width, height, border, data); - } - - function _emscripten_glGetVertexAttribPointerv(index, pname, pointer) { - HEAP32[((pointer)>>2)]=GLctx.getVertexAttribOffset(index, pname); - } - - function _emscripten_glEnableVertexAttribArray(index) { - GLctx.enableVertexAttribArray(index); - } - - - Module["_memset"] = _memset; - - function _alDeleteBuffers(count, buffers) - { - if (!AL.currentContext) { - return; - } - if (count > AL.currentContext.buf.length) { - AL.currentContext.err = 0xA003 /* AL_INVALID_VALUE */; - return; - } - - for (var i = 0; i < count; ++i) { - var bufferIdx = HEAP32[(((buffers)+(i*4))>>2)] - 1; - - // Make sure the buffer index is valid. - if (bufferIdx >= AL.currentContext.buf.length || !AL.currentContext.buf[bufferIdx]) { - AL.currentContext.err = 0xA001 /* AL_INVALID_NAME */; - return; - } - - // Make sure the buffer is no longer in use. - var buffer = AL.currentContext.buf[bufferIdx]; - for (var srcId in AL.currentContext.src) { - var src = AL.currentContext.src[srcId]; - if (!src) { - continue; - } - for (var k = 0; k < src.queue.length; k++) { - if (buffer === src.queue[k].buffer) { - AL.currentContext.err = 0xA004 /* AL_INVALID_OPERATION */; - return; - } - } - } - } - - for (var i = 0; i < count; ++i) { - var bufferIdx = HEAP32[(((buffers)+(i*4))>>2)] - 1; - delete AL.currentContext.buf[bufferIdx]; - } - } - - function _alListener3f(param, v1, v2, v3) { - if (!AL.currentContext) { - return; - } - switch (param) { - case 0x1004 /* AL_POSITION */: - AL.currentContext.ctx.listener._position = [v1, v2, v3]; - AL.currentContext.ctx.listener.setPosition(v1, v2, v3); - break; - case 0x1006 /* AL_VELOCITY */: - AL.currentContext.ctx.listener._velocity = [v1, v2, v3]; - AL.currentContext.ctx.listener.setVelocity(v1, v2, v3); - break; - default: - AL.currentContext.err = 0xA002 /* AL_INVALID_ENUM */; - break; - } - } - - function _glfwMakeContextCurrent(winid) {} - - - var JSEvents={keyEvent:0,mouseEvent:0,wheelEvent:0,uiEvent:0,focusEvent:0,deviceOrientationEvent:0,deviceMotionEvent:0,fullscreenChangeEvent:0,pointerlockChangeEvent:0,visibilityChangeEvent:0,touchEvent:0,previousFullscreenElement:null,previousScreenX:null,previousScreenY:null,removeEventListenersRegistered:false,registerRemoveEventListeners:function () { + },registerRemoveEventListeners:function () { if (!JSEvents.removeEventListenersRegistered) { __ATEXIT__.push(function() { for(var i = JSEvents.eventHandlers.length-1; i >= 0; --i) { @@ -7405,20 +6905,20 @@ function copyTempDouble(ptr) { } var handlerFunc = function(event) { var e = event || window.event; - writeStringToMemory(e.key ? e.key : "", JSEvents.keyEvent + 0 ); - writeStringToMemory(e.code ? e.code : "", JSEvents.keyEvent + 32 ); + stringToUTF8(e.key ? e.key : "", JSEvents.keyEvent + 0, 32); + stringToUTF8(e.code ? e.code : "", JSEvents.keyEvent + 32, 32); HEAP32[(((JSEvents.keyEvent)+(64))>>2)]=e.location; HEAP32[(((JSEvents.keyEvent)+(68))>>2)]=e.ctrlKey; HEAP32[(((JSEvents.keyEvent)+(72))>>2)]=e.shiftKey; HEAP32[(((JSEvents.keyEvent)+(76))>>2)]=e.altKey; HEAP32[(((JSEvents.keyEvent)+(80))>>2)]=e.metaKey; HEAP32[(((JSEvents.keyEvent)+(84))>>2)]=e.repeat; - writeStringToMemory(e.locale ? e.locale : "", JSEvents.keyEvent + 88 ); - writeStringToMemory(e.char ? e.char : "", JSEvents.keyEvent + 120 ); + stringToUTF8(e.locale ? e.locale : "", JSEvents.keyEvent + 88, 32); + stringToUTF8(e.char ? e.char : "", JSEvents.keyEvent + 120, 32); HEAP32[(((JSEvents.keyEvent)+(152))>>2)]=e.charCode; HEAP32[(((JSEvents.keyEvent)+(156))>>2)]=e.keyCode; HEAP32[(((JSEvents.keyEvent)+(160))>>2)]=e.which; - var shouldCancel = Runtime.dynCall('iiii', callbackfunc, [eventTypeId, JSEvents.keyEvent, userData]); + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.keyEvent, userData); if (shouldCancel) { e.preventDefault(); } @@ -7466,8 +6966,13 @@ function copyTempDouble(ptr) { HEAP32[(((eventStruct)+(52))>>2)]=0; HEAP32[(((eventStruct)+(56))>>2)]=0; } - JSEvents.previousScreenX = e.screenX; - JSEvents.previousScreenY = e.screenY; + // wheel and mousewheel events contain wrong screenX/screenY on chrome/opera + // https://github.com/kripken/emscripten/pull/4997 + // https://bugs.chromium.org/p/chromium/issues/detail?id=699956 + if (e.type !== 'wheel' && e.type !== 'mousewheel') { + JSEvents.previousScreenX = e.screenX; + JSEvents.previousScreenY = e.screenY; + } },registerMouseEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { if (!JSEvents.mouseEvent) { JSEvents.mouseEvent = _malloc( 72 ); @@ -7476,7 +6981,7 @@ function copyTempDouble(ptr) { var handlerFunc = function(event) { var e = event || window.event; JSEvents.fillMouseEventData(JSEvents.mouseEvent, e, target); - var shouldCancel = Runtime.dynCall('iiii', callbackfunc, [eventTypeId, JSEvents.mouseEvent, userData]); + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.mouseEvent, userData); if (shouldCancel) { e.preventDefault(); } @@ -7506,7 +7011,7 @@ function copyTempDouble(ptr) { HEAPF64[(((JSEvents.wheelEvent)+(80))>>3)]=e["deltaY"]; HEAPF64[(((JSEvents.wheelEvent)+(88))>>3)]=e["deltaZ"]; HEAP32[(((JSEvents.wheelEvent)+(96))>>2)]=e["deltaMode"]; - var shouldCancel = Runtime.dynCall('iiii', callbackfunc, [eventTypeId, JSEvents.wheelEvent, userData]); + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.wheelEvent, userData); if (shouldCancel) { e.preventDefault(); } @@ -7515,11 +7020,11 @@ function copyTempDouble(ptr) { var mouseWheelHandlerFunc = function(event) { var e = event || window.event; JSEvents.fillMouseEventData(JSEvents.wheelEvent, e, target); - HEAPF64[(((JSEvents.wheelEvent)+(72))>>3)]=e["wheelDeltaX"]; - HEAPF64[(((JSEvents.wheelEvent)+(80))>>3)]=-e["wheelDeltaY"] /* Invert to unify direction with the DOM Level 3 wheel event. */; + HEAPF64[(((JSEvents.wheelEvent)+(72))>>3)]=e["wheelDeltaX"] || 0; + HEAPF64[(((JSEvents.wheelEvent)+(80))>>3)]=-(e["wheelDeltaY"] ? e["wheelDeltaY"] : e["wheelDelta"]) /* 1. Invert to unify direction with the DOM Level 3 wheel event. 2. MSIE does not provide wheelDeltaY, so wheelDelta is used as a fallback. */; HEAPF64[(((JSEvents.wheelEvent)+(88))>>3)]=0 /* Not available */; HEAP32[(((JSEvents.wheelEvent)+(96))>>2)]=0 /* DOM_DELTA_PIXEL */; - var shouldCancel = Runtime.dynCall('iiii', callbackfunc, [eventTypeId, JSEvents.wheelEvent, userData]); + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.wheelEvent, userData); if (shouldCancel) { e.preventDefault(); } @@ -7572,7 +7077,7 @@ function copyTempDouble(ptr) { HEAP32[(((JSEvents.uiEvent)+(24))>>2)]=window.outerHeight; HEAP32[(((JSEvents.uiEvent)+(28))>>2)]=scrollPos[0]; HEAP32[(((JSEvents.uiEvent)+(32))>>2)]=scrollPos[1]; - var shouldCancel = Runtime.dynCall('iiii', callbackfunc, [eventTypeId, JSEvents.uiEvent, userData]); + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.uiEvent, userData); if (shouldCancel) { e.preventDefault(); } @@ -7601,9 +7106,9 @@ function copyTempDouble(ptr) { var nodeName = JSEvents.getNodeNameForTarget(e.target); var id = e.target.id ? e.target.id : ''; - writeStringToMemory(nodeName, JSEvents.focusEvent + 0 ); - writeStringToMemory(id, JSEvents.focusEvent + 128 ); - var shouldCancel = Runtime.dynCall('iiii', callbackfunc, [eventTypeId, JSEvents.focusEvent, userData]); + stringToUTF8(nodeName, JSEvents.focusEvent + 0, 128); + stringToUTF8(id, JSEvents.focusEvent + 128, 128); + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.focusEvent, userData); if (shouldCancel) { e.preventDefault(); } @@ -7634,7 +7139,7 @@ function copyTempDouble(ptr) { HEAPF64[(((JSEvents.deviceOrientationEvent)+(24))>>3)]=e.gamma; HEAP32[(((JSEvents.deviceOrientationEvent)+(32))>>2)]=e.absolute; - var shouldCancel = Runtime.dynCall('iiii', callbackfunc, [eventTypeId, JSEvents.deviceOrientationEvent, userData]); + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.deviceOrientationEvent, userData); if (shouldCancel) { e.preventDefault(); } @@ -7667,7 +7172,7 @@ function copyTempDouble(ptr) { HEAPF64[(((JSEvents.deviceMotionEvent)+(64))>>3)]=e.rotationRate.beta; HEAPF64[(((JSEvents.deviceMotionEvent)+(72))>>3)]=e.rotationRate.gamma; - var shouldCancel = Runtime.dynCall('iiii', callbackfunc, [eventTypeId, JSEvents.deviceMotionEvent, userData]); + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.deviceMotionEvent, userData); if (shouldCancel) { e.preventDefault(); } @@ -7713,7 +7218,7 @@ function copyTempDouble(ptr) { JSEvents.fillOrientationChangeEventData(JSEvents.orientationChangeEvent, e); - var shouldCancel = Runtime.dynCall('iiii', callbackfunc, [eventTypeId, JSEvents.orientationChangeEvent, userData]); + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.orientationChangeEvent, userData); if (shouldCancel) { e.preventDefault(); } @@ -7733,7 +7238,7 @@ function copyTempDouble(ptr) { }; JSEvents.registerOrRemoveHandler(eventHandler); },fullscreenEnabled:function () { - return document.fullscreenEnabled || document.mozFullscreenEnabled || document.mozFullScreenEnabled || document.webkitFullscreenEnabled || document.msFullscreenEnabled; + return document.fullscreenEnabled || document.mozFullScreenEnabled || document.webkitFullscreenEnabled || document.msFullscreenEnabled; },fillFullscreenChangeEventData:function (eventStruct, e) { var fullscreenElement = document.fullscreenElement || document.mozFullScreenElement || document.webkitFullscreenElement || document.msFullscreenElement; var isFullscreen = !!fullscreenElement; @@ -7744,8 +7249,8 @@ function copyTempDouble(ptr) { var reportedElement = isFullscreen ? fullscreenElement : JSEvents.previousFullscreenElement; var nodeName = JSEvents.getNodeNameForTarget(reportedElement); var id = (reportedElement && reportedElement.id) ? reportedElement.id : ''; - writeStringToMemory(nodeName, eventStruct + 8 ); - writeStringToMemory(id, eventStruct + 136 ); + stringToUTF8(nodeName, eventStruct + 8, 128); + stringToUTF8(id, eventStruct + 136, 128); HEAP32[(((eventStruct)+(264))>>2)]=reportedElement ? reportedElement.clientWidth : 0; HEAP32[(((eventStruct)+(268))>>2)]=reportedElement ? reportedElement.clientHeight : 0; HEAP32[(((eventStruct)+(272))>>2)]=screen.width; @@ -7769,7 +7274,7 @@ function copyTempDouble(ptr) { JSEvents.fillFullscreenChangeEventData(JSEvents.fullscreenChangeEvent, e); - var shouldCancel = Runtime.dynCall('iiii', callbackfunc, [eventTypeId, JSEvents.fullscreenChangeEvent, userData]); + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.fullscreenChangeEvent, userData); if (shouldCancel) { e.preventDefault(); } @@ -7862,7 +7367,7 @@ function copyTempDouble(ptr) { } if (strategy.canvasResizedCallback) { - Runtime.dynCall('iiii', strategy.canvasResizedCallback, [37, 0, strategy.canvasResizedCallbackUserData]); + Module['dynCall_iiii'](strategy.canvasResizedCallback, 37, 0, strategy.canvasResizedCallbackUserData); } return 0; @@ -7872,8 +7377,8 @@ function copyTempDouble(ptr) { HEAP32[((eventStruct)>>2)]=isPointerlocked; var nodeName = JSEvents.getNodeNameForTarget(pointerLockElement); var id = (pointerLockElement && pointerLockElement.id) ? pointerLockElement.id : ''; - writeStringToMemory(nodeName, eventStruct + 4 ); - writeStringToMemory(id, eventStruct + 132); + stringToUTF8(nodeName, eventStruct + 4, 128); + stringToUTF8(id, eventStruct + 132, 128); },registerPointerlockChangeEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { if (!JSEvents.pointerlockChangeEvent) { JSEvents.pointerlockChangeEvent = _malloc( 260 ); @@ -7890,7 +7395,32 @@ function copyTempDouble(ptr) { JSEvents.fillPointerlockChangeEventData(JSEvents.pointerlockChangeEvent, e); - var shouldCancel = Runtime.dynCall('iiii', callbackfunc, [eventTypeId, JSEvents.pointerlockChangeEvent, userData]); + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.pointerlockChangeEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: target, + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },registerPointerlockErrorEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!target) { + target = document; // Pointer lock events need to be captured from 'document' by default instead of 'window' + } else { + target = JSEvents.findEventTarget(target); + } + + var handlerFunc = function(event) { + var e = event || window.event; + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, 0, userData); if (shouldCancel) { e.preventDefault(); } @@ -7946,7 +7476,7 @@ function copyTempDouble(ptr) { JSEvents.fillVisibilityChangeEventData(JSEvents.visibilityChangeEvent, e); - var shouldCancel = Runtime.dynCall('iiii', callbackfunc, [eventTypeId, JSEvents.visibilityChangeEvent, userData]); + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.visibilityChangeEvent, userData); if (shouldCancel) { e.preventDefault(); } @@ -8024,7 +7554,7 @@ function copyTempDouble(ptr) { } HEAP32[((JSEvents.touchEvent)>>2)]=numTouches; - var shouldCancel = Runtime.dynCall('iiii', callbackfunc, [eventTypeId, JSEvents.touchEvent, userData]); + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.touchEvent, userData); if (shouldCancel) { e.preventDefault(); } @@ -8064,8 +7594,8 @@ function copyTempDouble(ptr) { HEAP32[(((eventStruct)+(1300))>>2)]=e.index; HEAP32[(((eventStruct)+(8))>>2)]=e.axes.length; HEAP32[(((eventStruct)+(12))>>2)]=e.buttons.length; - writeStringToMemory(e.id, eventStruct + 1304 ); - writeStringToMemory(e.mapping, eventStruct + 1368 ); + stringToUTF8(e.id, eventStruct + 1304, 64); + stringToUTF8(e.mapping, eventStruct + 1368, 64); },registerGamepadEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { if (!JSEvents.gamepadEvent) { JSEvents.gamepadEvent = _malloc( 1432 ); @@ -8076,7 +7606,7 @@ function copyTempDouble(ptr) { JSEvents.fillGamepadEventData(JSEvents.gamepadEvent, e.gamepad); - var shouldCancel = Runtime.dynCall('iiii', callbackfunc, [eventTypeId, JSEvents.gamepadEvent, userData]); + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.gamepadEvent, userData); if (shouldCancel) { e.preventDefault(); } @@ -8095,7 +7625,7 @@ function copyTempDouble(ptr) { var handlerFunc = function(event) { var e = event || window.event; - var confirmationMessage = Runtime.dynCall('iiii', callbackfunc, [eventTypeId, 0, userData]); + var confirmationMessage = Module['dynCall_iiii'](callbackfunc, eventTypeId, 0, userData); if (confirmationMessage) { confirmationMessage = Pointer_stringify(confirmationMessage); @@ -8131,7 +7661,7 @@ function copyTempDouble(ptr) { JSEvents.fillBatteryEventData(JSEvents.batteryEvent, JSEvents.battery()); - var shouldCancel = Runtime.dynCall('iiii', callbackfunc, [eventTypeId, JSEvents.batteryEvent, userData]); + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.batteryEvent, userData); if (shouldCancel) { e.preventDefault(); } @@ -8153,7 +7683,7 @@ function copyTempDouble(ptr) { var handlerFunc = function(event) { var e = event || window.event; - var shouldCancel = Runtime.dynCall('iiii', callbackfunc, [eventTypeId, 0, userData]); + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, 0, userData); if (shouldCancel) { e.preventDefault(); } @@ -8168,20 +7698,244 @@ function copyTempDouble(ptr) { useCapture: useCapture }; JSEvents.registerOrRemoveHandler(eventHandler); - }};function _emscripten_set_touchcancel_callback(target, userData, useCapture, callbackfunc) { + }};function __emscripten_sample_gamepad_data() { + // Polling gamepads generates garbage, so don't do it when we know there are no gamepads connected. + if (!JSEvents.numGamepadsConnected) return; + + // Produce a new Gamepad API sample if we are ticking a new game frame, or if not using emscripten_set_main_loop() at all to drive animation. + if (Browser.mainLoop.currentFrameNumber !== JSEvents.lastGamepadStateFrame || !Browser.mainLoop.currentFrameNumber) { + JSEvents.lastGamepadState = navigator.getGamepads ? navigator.getGamepads() : (navigator.webkitGetGamepads ? navigator.webkitGetGamepads : null); + JSEvents.lastGamepadStateFrame = Browser.mainLoop.currentFrameNumber; + } + }function _emscripten_get_gamepad_status(index, gamepadState) { + __emscripten_sample_gamepad_data(); + if (!JSEvents.lastGamepadState) return -1; + + // INVALID_PARAM is returned on a Gamepad index that never was there. + if (index < 0 || index >= JSEvents.lastGamepadState.length) return -5; + + // NO_DATA is returned on a Gamepad index that was removed. + // For previously disconnected gamepads there should be an empty slot (null/undefined/false) at the index. + // This is because gamepads must keep their original position in the array. + // For example, removing the first of two gamepads produces [null/undefined/false, gamepad]. + if (!JSEvents.lastGamepadState[index]) return -7; + + JSEvents.fillGamepadEventData(gamepadState, JSEvents.lastGamepadState[index]); + return 0; + } + + var _llvm_pow_f64=Math_pow; + + function _emscripten_glCopyTexImage2D(x0, x1, x2, x3, x4, x5, x6, x7) { GLctx['copyTexImage2D'](x0, x1, x2, x3, x4, x5, x6, x7) } + + function _alcGetString(device, param) { + if (AL.alcStringCache[param]) return AL.alcStringCache[param]; + var ret; + switch (param) { + case 0 /* ALC_NO_ERROR */: + ret = 'No Error'; + break; + case 0xA001 /* ALC_INVALID_DEVICE */: + ret = 'Invalid Device'; + break; + case 0xA002 /* ALC_INVALID_CONTEXT */: + ret = 'Invalid Context'; + break; + case 0xA003 /* ALC_INVALID_ENUM */: + ret = 'Invalid Enum'; + break; + case 0xA004 /* ALC_INVALID_VALUE */: + ret = 'Invalid Value'; + break; + case 0xA005 /* ALC_OUT_OF_MEMORY */: + ret = 'Out of Memory'; + break; + case 0x1004 /* ALC_DEFAULT_DEVICE_SPECIFIER */: + if (typeof(AudioContext) !== "undefined" || + typeof(webkitAudioContext) !== "undefined") { + ret = 'Device'; + } else { + return 0; + } + break; + case 0x1005 /* ALC_DEVICE_SPECIFIER */: + if (typeof(AudioContext) !== "undefined" || + typeof(webkitAudioContext) !== "undefined") { + ret = 'Device\0'; + } else { + ret = '\0'; + } + break; + case 0x311 /* ALC_CAPTURE_DEFAULT_DEVICE_SPECIFIER */: + return 0; + break; + case 0x310 /* ALC_CAPTURE_DEVICE_SPECIFIER */: + ret = '\0' + break; + case 0x1006 /* ALC_EXTENSIONS */: + if (!device) { + AL.alcErr = 0xA001 /* ALC_INVALID_DEVICE */; + return 0; + } + ret = ''; + break; + default: + AL.alcErr = 0xA003 /* ALC_INVALID_ENUM */; + return 0; + } + + ret = allocate(intArrayFromString(ret), 'i8', ALLOC_NORMAL); + + AL.alcStringCache[param] = ret; + + return ret; + } + + function _emscripten_glTexParameterfv(target, pname, params) { + var param = HEAPF32[((params)>>2)]; + GLctx.texParameterf(target, pname, param); + } + + function _emscripten_glLinkProgram(program) { + GLctx.linkProgram(GL.programs[program]); + GL.programInfos[program] = null; // uniforms no longer keep the same names after linking + GL.populateUniformTable(program); + } + + function _emscripten_glUniform3f(location, v0, v1, v2) { + GLctx.uniform3f(GL.uniforms[location], v0, v1, v2); + } + + function _emscripten_glGetObjectParameterivARB() { + Module['printErr']('missing function: emscripten_glGetObjectParameterivARB'); abort(-1); + } + + function _emscripten_glBlendFunc(x0, x1) { GLctx['blendFunc'](x0, x1) } + + function _emscripten_glUniform3i(location, v0, v1, v2) { + GLctx.uniform3i(GL.uniforms[location], v0, v1, v2); + } + + function _emscripten_glStencilOp(x0, x1, x2) { GLctx['stencilOp'](x0, x1, x2) } + + function _glCreateShader(shaderType) { + var id = GL.getNewId(GL.shaders); + GL.shaders[id] = GLctx.createShader(shaderType); + return id; + } + + function _glUniform1i(location, v0) { + GLctx.uniform1i(GL.uniforms[location], v0); + } + + function _emscripten_glBindAttribLocation(program, index, name) { + name = Pointer_stringify(name); + GLctx.bindAttribLocation(GL.programs[program], index, name); + } + + function _glCompressedTexImage2D(target, level, internalFormat, width, height, border, imageSize, data) { + GLctx['compressedTexImage2D'](target, level, internalFormat, width, height, border, data ? HEAPU8.subarray((data),(data+imageSize)) : null); + } + + function _glDisable(x0) { GLctx['disable'](x0) } + + function _emscripten_glEnableVertexAttribArray(index) { + GLctx.enableVertexAttribArray(index); + } + + + Module["_memset"] = _memset; + + function _alDeleteBuffers(count, buffers) + { + if (!AL.currentContext) { + return; + } + if (count > AL.currentContext.buf.length) { + AL.currentContext.err = 0xA003 /* AL_INVALID_VALUE */; + return; + } + + for (var i = 0; i < count; ++i) { + var bufferIdx = HEAP32[(((buffers)+(i*4))>>2)] - 1; + + // Make sure the buffer index is valid. + if (bufferIdx >= AL.currentContext.buf.length || !AL.currentContext.buf[bufferIdx]) { + AL.currentContext.err = 0xA001 /* AL_INVALID_NAME */; + return; + } + + // Make sure the buffer is no longer in use. + var buffer = AL.currentContext.buf[bufferIdx]; + for (var srcId in AL.currentContext.src) { + var src = AL.currentContext.src[srcId]; + if (!src) { + continue; + } + for (var k = 0; k < src.queue.length; k++) { + if (buffer === src.queue[k].buffer) { + AL.currentContext.err = 0xA004 /* AL_INVALID_OPERATION */; + return; + } + } + } + } + + for (var i = 0; i < count; ++i) { + var bufferIdx = HEAP32[(((buffers)+(i*4))>>2)] - 1; + delete AL.currentContext.buf[bufferIdx]; + } + } + + function _alListener3f(param, v1, v2, v3) { + if (!AL.currentContext) { + return; + } + switch (param) { + case 0x1004 /* AL_POSITION */: + AL.currentContext.ctx.listener._position[0] = v1; + AL.currentContext.ctx.listener._position[1] = v2; + AL.currentContext.ctx.listener._position[2] = v3; + AL.currentContext.ctx.listener.setPosition(v1, v2, v3); + break; + case 0x1006 /* AL_VELOCITY */: + AL.currentContext.ctx.listener._velocity[0] = v1; + AL.currentContext.ctx.listener._velocity[1] = v2; + AL.currentContext.ctx.listener._velocity[2] = v3; + // TODO: The velocity values are not currently used to implement a doppler effect. + // If support for doppler effect is reintroduced, compute the doppler + // speed pitch factor and apply it here. + break; + default: + AL.currentContext.err = 0xA002 /* AL_INVALID_ENUM */; + break; + } + } + + function _glfwMakeContextCurrent(winid) {} + + function _emscripten_set_touchcancel_callback(target, userData, useCapture, callbackfunc) { JSEvents.registerTouchEventCallback(target, userData, useCapture, callbackfunc, 25, "touchcancel"); return 0; } - function _glBindFramebuffer(target, framebuffer) { - GLctx.bindFramebuffer(target, framebuffer ? GL.framebuffers[framebuffer] : null); + function ___lock() {} + + function _emscripten_glBlendFuncSeparate(x0, x1, x2, x3) { GLctx['blendFuncSeparate'](x0, x1, x2, x3) } + + function _glCullFace(x0) { GLctx['cullFace'](x0) } + + function _emscripten_glGetVertexAttribPointerv(index, pname, pointer) { + if (!pointer) { + // GLES2 specification does not specify how to behave if pointer is a null pointer. Since calling this function does not make sense + // if pointer == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + HEAP32[((pointer)>>2)]=GLctx.getVertexAttribOffset(index, pname); } - function _emscripten_glBlendFuncSeparate(x0, x1, x2, x3) { GLctx.blendFuncSeparate(x0, x1, x2, x3) } - - var _asin=Math_asin; - - function _emscripten_glVertexAttrib3f(x0, x1, x2, x3) { GLctx.vertexAttrib3f(x0, x1, x2, x3) } + function _emscripten_glVertexAttrib3f(x0, x1, x2, x3) { GLctx['vertexAttrib3f'](x0, x1, x2, x3) } function _alSource3f(source, param, v1, v2, v3) { if (!AL.currentContext) { @@ -8194,13 +7948,19 @@ function copyTempDouble(ptr) { } switch (param) { case 0x1004 /* AL_POSITION */: - src.position = [v1, v2, v3]; + src.position[0] = v1; + src.position[1] = v2; + src.position[2] = v3; break; case 0x1005 /* AL_DIRECTION */: - src.direction = [v1, v2, v3]; + src.direction[0] = v1; + src.direction[1] = v2; + src.direction[2] = v3; break; case 0x1006 /* AL_VELOCITY */: - src.velocity = [v1, v2, v3]; + src.velocity[0] = v1; + src.velocity[1] = v2; + src.velocity[2] = v3; break; default: AL.currentContext.err = 0xA002 /* AL_INVALID_ENUM */; @@ -8208,6 +7968,8 @@ function copyTempDouble(ptr) { } } + function _emscripten_glEnable(x0) { GLctx['enable'](x0) } + function _emscripten_glNormalPointer() { Module['printErr']('missing function: emscripten_glNormalPointer'); abort(-1); } @@ -8216,11 +7978,7 @@ function copyTempDouble(ptr) { var _emscripten_GetProcAddress=undefined; Module["_emscripten_GetProcAddress"] = _emscripten_GetProcAddress; - - function _eglWaitClient() { - EGL.setErrorCode(0x3000 /* EGL_SUCCESS */); - return 1; - }var EGL={errorCode:12288,defaultDisplayInitialized:false,currentContext:0,currentReadSurface:0,currentDrawSurface:0,stringCache:{},setErrorCode:function (code) { + var EGL={errorCode:12288,defaultDisplayInitialized:false,currentContext:0,currentReadSurface:0,currentDrawSurface:0,stringCache:{},setErrorCode:function (code) { EGL.errorCode = code; },chooseConfig:function (display, attribList, config, config_size, numConfigs) { if (display != 62000 /* Magic ID for Emscripten 'default display' */) { @@ -8258,9 +8016,7 @@ function copyTempDouble(ptr) { GL.programInfos[id] = null; } - - - var _setSourceState=undefined;function _alSourcePlay(source) { + function _alSourcePlay(source) { if (!AL.currentContext) { return; } @@ -8281,15 +8037,38 @@ function copyTempDouble(ptr) { return 1; } - function _emscripten_glGetVertexAttribfv(index, pname, params) { + + function emscriptenWebGLGetVertexAttrib(index, pname, params, type) { + if (!params) { + // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense + // if params == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } var data = GLctx.getVertexAttrib(index, pname); - if (typeof data == 'number') { - HEAPF32[((params)>>2)]=data; + if (pname == 0x889F/*VERTEX_ATTRIB_ARRAY_BUFFER_BINDING*/) { + HEAP32[((params)>>2)]=data["name"]; + } else if (typeof data == 'number' || typeof data == 'boolean') { + switch (type) { + case 'Integer': HEAP32[((params)>>2)]=data; break; + case 'Float': HEAPF32[((params)>>2)]=data; break; + case 'FloatToInteger': HEAP32[((params)>>2)]=Math.fround(data); break; + default: throw 'internal emscriptenWebGLGetVertexAttrib() error, bad type: ' + type; + } } else { for (var i = 0; i < data.length; i++) { - HEAPF32[(((params)+(i))>>2)]=data[i]; + switch (type) { + case 'Integer': HEAP32[(((params)+(i))>>2)]=data[i]; break; + case 'Float': HEAPF32[(((params)+(i))>>2)]=data[i]; break; + case 'FloatToInteger': HEAP32[(((params)+(i))>>2)]=Math.fround(data[i]); break; + default: throw 'internal emscriptenWebGLGetVertexAttrib() error, bad type: ' + type; + } } } + }function _emscripten_glGetVertexAttribfv(index, pname, params) { + // N.B. This function may only be called if the vertex attribute was specified using the function glVertexAttrib*f(), + // otherwise the results are undefined. (GLES3 spec 6.1.12) + emscriptenWebGLGetVertexAttrib(index, pname, params, 'Float'); } function _emscripten_set_touchstart_callback(target, userData, useCapture, callbackfunc) { @@ -8308,9 +8087,7 @@ function copyTempDouble(ptr) { GL.shaders[id] = null; } - function _emscripten_glDrawArraysInstanced(mode, first, count, primcount) { - GL.currentContext.instancedArraysExt.drawArraysInstancedANGLE(mode, first, count, primcount); - } + function _emscripten_glVertexPointer(){ throw 'Legacy GL function (glVertexPointer) called. If you want legacy GL emulation, you need to compile with -s LEGACY_GL_EMULATION=1 to enable legacy GL emulation.'; } function _emscripten_glDeleteBuffers(n, buffers) { for (var i = 0; i < n; i++) { @@ -8341,24 +8118,64 @@ function copyTempDouble(ptr) { } - var _sinf=Math_sin; + function _glfwTerminate() { + window.removeEventListener("keydown", GLFW.onKeydown, true); + window.removeEventListener("keypress", GLFW.onKeyPress, true); + window.removeEventListener("keyup", GLFW.onKeyup, true); + Module["canvas"].removeEventListener("mousemove", GLFW.onMousemove, true); + Module["canvas"].removeEventListener("mousedown", GLFW.onMouseButtonDown, true); + Module["canvas"].removeEventListener("mouseup", GLFW.onMouseButtonUp, true); + Module["canvas"].removeEventListener('wheel', GLFW.onMouseWheel, true); + Module["canvas"].removeEventListener('mousewheel', GLFW.onMouseWheel, true); + Module["canvas"].removeEventListener('mouseenter', GLFW.onMouseenter, true); + Module["canvas"].removeEventListener('mouseleave', GLFW.onMouseleave, true); + Module["canvas"].width = Module["canvas"].height = 1; + GLFW.windows = null; + GLFW.active = null; + } function _emscripten_glUniformMatrix2fv(location, count, transpose, value) { - location = GL.uniforms[location]; + + var view; - if (count === 1) { - // avoid allocation for the common case of uploading one uniform matrix - view = GL.miniTempBufferViews[3]; - for (var i = 0; i < 4; i++) { - view[i] = HEAPF32[(((value)+(i*4))>>2)]; + if (4*count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[4*count-1]; + for (var i = 0; i < 4*count; i += 4) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; + view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; + view[i+3] = HEAPF32[(((value)+(4*i+12))>>2)]; } } else { view = HEAPF32.subarray((value)>>2,(value+count*16)>>2); } - GLctx.uniformMatrix2fv(location, transpose, view); + GLctx.uniformMatrix2fv(GL.uniforms[location], !!transpose, view); } - var _cos=Math_cos; + function ___syscall5(which, varargs) {SYSCALLS.varargs = varargs; + try { + // open + var pathname = SYSCALLS.getStr(), flags = SYSCALLS.get(), mode = SYSCALLS.get() // optional TODO + var stream = FS.open(pathname, flags, mode); + return stream.fd; + } catch (e) { + if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno; + } + } + + function ___syscall6(which, varargs) {SYSCALLS.varargs = varargs; + try { + // close + var stream = SYSCALLS.getStreamFromFD(); + FS.close(stream); + return 0; + } catch (e) { + if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno; + } + } function _llvm_stacksave() { var self = _llvm_stacksave; @@ -8370,29 +8187,44 @@ function copyTempDouble(ptr) { } function _emscripten_glGetVertexAttribiv(index, pname, params) { - var data = GLctx.getVertexAttrib(index, pname); - if (typeof data == 'number' || typeof data == 'boolean') { - HEAP32[((params)>>2)]=data; - } else { - for (var i = 0; i < data.length; i++) { - HEAP32[(((params)+(i))>>2)]=data[i]; - } - } + // N.B. This function may only be called if the vertex attribute was specified using the function glVertexAttrib*f(), + // otherwise the results are undefined. (GLES3 spec 6.1.12) + emscriptenWebGLGetVertexAttrib(index, pname, params, 'FloatToInteger'); } function _emscripten_glUniformMatrix4fv(location, count, transpose, value) { - location = GL.uniforms[location]; + + var view; - if (count === 1) { - // avoid allocation for the common case of uploading one uniform matrix - view = GL.miniTempBufferViews[15]; - for (var i = 0; i < 16; i++) { - view[i] = HEAPF32[(((value)+(i*4))>>2)]; + if (16*count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[16*count-1]; + for (var i = 0; i < 16*count; i += 16) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; + view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; + view[i+3] = HEAPF32[(((value)+(4*i+12))>>2)]; + view[i+4] = HEAPF32[(((value)+(4*i+16))>>2)]; + view[i+5] = HEAPF32[(((value)+(4*i+20))>>2)]; + view[i+6] = HEAPF32[(((value)+(4*i+24))>>2)]; + view[i+7] = HEAPF32[(((value)+(4*i+28))>>2)]; + view[i+8] = HEAPF32[(((value)+(4*i+32))>>2)]; + view[i+9] = HEAPF32[(((value)+(4*i+36))>>2)]; + view[i+10] = HEAPF32[(((value)+(4*i+40))>>2)]; + view[i+11] = HEAPF32[(((value)+(4*i+44))>>2)]; + view[i+12] = HEAPF32[(((value)+(4*i+48))>>2)]; + view[i+13] = HEAPF32[(((value)+(4*i+52))>>2)]; + view[i+14] = HEAPF32[(((value)+(4*i+56))>>2)]; + view[i+15] = HEAPF32[(((value)+(4*i+60))>>2)]; } } else { view = HEAPF32.subarray((value)>>2,(value+count*64)>>2); } - GLctx.uniformMatrix4fv(location, transpose, view); + GLctx.uniformMatrix4fv(GL.uniforms[location], !!transpose, view); + } + + function _emscripten_glDrawArraysInstanced(mode, first, count, primcount) { + GLctx['drawArraysInstanced'](mode, first, count, primcount); } function _emscripten_glEnableClientState() { @@ -8403,14 +8235,57 @@ function copyTempDouble(ptr) { Module['printErr']('missing function: emscripten_glGetPointerv'); abort(-1); } + function ___syscall140(which, varargs) {SYSCALLS.varargs = varargs; + try { + // llseek + var stream = SYSCALLS.getStreamFromFD(), offset_high = SYSCALLS.get(), offset_low = SYSCALLS.get(), result = SYSCALLS.get(), whence = SYSCALLS.get(); + var offset = offset_low; + assert(offset_high === 0); + FS.llseek(stream, offset, whence); + HEAP32[((result)>>2)]=stream.position; + if (stream.getdents && offset === 0 && whence === 0) stream.getdents = null; // reset readdir state + return 0; + } catch (e) { + if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno; + } + } + + function ___syscall146(which, varargs) {SYSCALLS.varargs = varargs; + try { + // writev + var stream = SYSCALLS.getStreamFromFD(), iov = SYSCALLS.get(), iovcnt = SYSCALLS.get(); + return SYSCALLS.doWritev(stream, iov, iovcnt); + } catch (e) { + if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno; + } + } + function _emscripten_glUniform1i(location, v0) { - location = GL.uniforms[location]; - GLctx.uniform1i(location, v0); + GLctx.uniform1i(GL.uniforms[location], v0); } - function _emscripten_glStencilMask(x0) { GLctx.stencilMask(x0) } + function ___syscall145(which, varargs) {SYSCALLS.varargs = varargs; + try { + // readv + var stream = SYSCALLS.getStreamFromFD(), iov = SYSCALLS.get(), iovcnt = SYSCALLS.get(); + return SYSCALLS.doReadv(stream, iov, iovcnt); + } catch (e) { + if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno; + } + } - function _emscripten_glStencilFuncSeparate(x0, x1, x2, x3) { GLctx.stencilFuncSeparate(x0, x1, x2, x3) } + function _emscripten_glStencilMask(x0) { GLctx['stencilMask'](x0) } + + function _emscripten_glStencilFuncSeparate(x0, x1, x2, x3) { GLctx['stencilFuncSeparate'](x0, x1, x2, x3) } + + + Module["_i64Subtract"] = _i64Subtract; + + + Module["_i64Add"] = _i64Add; function _emscripten_set_touchend_callback(target, userData, useCapture, callbackfunc) { JSEvents.registerTouchEventCallback(target, userData, useCapture, callbackfunc, 23, "touchend"); @@ -8421,38 +8296,13 @@ function copyTempDouble(ptr) { GLctx.useProgram(program ? GL.programs[program] : null); } - function _glfwTerminate() { - window.removeEventListener("keydown", GLFW.onKeydown, true); - window.removeEventListener("keypress", GLFW.onKeyPress, true); - window.removeEventListener("keyup", GLFW.onKeyup, true); - Module["canvas"].removeEventListener("mousemove", GLFW.onMousemove, true); - Module["canvas"].removeEventListener("mousedown", GLFW.onMouseButtonDown, true); - Module["canvas"].removeEventListener("mouseup", GLFW.onMouseButtonUp, true); - Module["canvas"].removeEventListener('wheel', GLFW.onMouseWheel, true); - Module["canvas"].removeEventListener('mousewheel', GLFW.onMouseWheel, true); - Module["canvas"].width = Module["canvas"].height = 1; - GLFW.windows = null; - GLFW.active = null; - } - function _emscripten_glDisableVertexAttribArray(index) { GLctx.disableVertexAttribArray(index); } - function _emscripten_glVertexAttrib1f(x0, x1) { GLctx.vertexAttrib1f(x0, x1) } + function _emscripten_glVertexAttrib1f(x0, x1) { GLctx['vertexAttrib1f'](x0, x1) } - function _emscripten_glFinish() { GLctx.finish() } - - function _glDeleteFramebuffers(n, framebuffers) { - for (var i = 0; i < n; ++i) { - var id = HEAP32[(((framebuffers)+(i*4))>>2)]; - var framebuffer = GL.framebuffers[id]; - if (!framebuffer) continue; // GL spec: "glDeleteFramebuffers silently ignores 0s and names that do not correspond to existing framebuffer objects". - GLctx.deleteFramebuffer(framebuffer); - framebuffer.name = 0; - GL.framebuffers[id] = null; - } - } + function _emscripten_glFinish() { GLctx['finish']() } function _glDrawArrays(mode, first, count) { @@ -8460,7 +8310,7 @@ function copyTempDouble(ptr) { } - function _emscripten_glDepthFunc(x0) { GLctx.depthFunc(x0) } + function _emscripten_glDepthFunc(x0) { GLctx['depthFunc'](x0) } function _alcOpenDevice(deviceName) { if (typeof(AudioContext) !== "undefined" || @@ -8471,197 +8321,53 @@ function copyTempDouble(ptr) { } } - function _sysconf(name) { - // long sysconf(int name); - // http://pubs.opengroup.org/onlinepubs/009695399/functions/sysconf.html - switch(name) { - case 30: return PAGE_SIZE; - case 85: return totalMemory / PAGE_SIZE; - case 132: - case 133: - case 12: - case 137: - case 138: - case 15: - case 235: - case 16: - case 17: - case 18: - case 19: - case 20: - case 149: - case 13: - case 10: - case 236: - case 153: - case 9: - case 21: - case 22: - case 159: - case 154: - case 14: - case 77: - case 78: - case 139: - case 80: - case 81: - case 82: - case 68: - case 67: - case 164: - case 11: - case 29: - case 47: - case 48: - case 95: - case 52: - case 51: - case 46: - return 200809; - case 79: - return 0; - case 27: - case 246: - case 127: - case 128: - case 23: - case 24: - case 160: - case 161: - case 181: - case 182: - case 242: - case 183: - case 184: - case 243: - case 244: - case 245: - case 165: - case 178: - case 179: - case 49: - case 50: - case 168: - case 169: - case 175: - case 170: - case 171: - case 172: - case 97: - case 76: - case 32: - case 173: - case 35: - return -1; - case 176: - case 177: - case 7: - case 155: - case 8: - case 157: - case 125: - case 126: - case 92: - case 93: - case 129: - case 130: - case 131: - case 94: - case 91: - return 1; - case 74: - case 60: - case 69: - case 70: - case 4: - return 1024; - case 31: - case 42: - case 72: - return 32; - case 87: - case 26: - case 33: - return 2147483647; - case 34: - case 1: - return 47839; - case 38: - case 36: - return 99; - case 43: - case 37: - return 2048; - case 0: return 2097152; - case 3: return 65536; - case 28: return 32768; - case 44: return 32767; - case 75: return 16384; - case 39: return 1000; - case 89: return 700; - case 71: return 256; - case 40: return 255; - case 2: return 100; - case 180: return 64; - case 25: return 20; - case 5: return 16; - case 6: return 6; - case 73: return 4; - case 84: { - if (typeof navigator === 'object') return navigator['hardwareConcurrency'] || 1; - return 1; - } - } - ___setErrNo(ERRNO_CODES.EINVAL); - return -1; + function _emscripten_get_num_gamepads() { + // Polling gamepads generates garbage, so don't do it when we know there are no gamepads connected. + if (!JSEvents.numGamepadsConnected) return 0; + + __emscripten_sample_gamepad_data(); + if (!JSEvents.lastGamepadState) return -1; + return JSEvents.lastGamepadState.length; } + function _glGetProgramInfoLog(program, maxLength, length, infoLog) { + var log = GLctx.getProgramInfoLog(GL.programs[program]); + if (log === null) log = '(unknown error)'; - - - Module["_strlen"] = _strlen;function _fputs(s, stream) { - // int fputs(const char *restrict s, FILE *restrict stream); - // http://pubs.opengroup.org/onlinepubs/000095399/functions/fputs.html - var fd = _fileno(stream); - return _write(fd, s, _strlen(s)); - }function _puts(s) { - // int puts(const char *s); - // http://pubs.opengroup.org/onlinepubs/000095399/functions/puts.html - // NOTE: puts() always writes an extra newline. - var stdout = HEAP32[((_stdout)>>2)]; - var ret = _fputs(s, stdout); - if (ret < 0) { - return ret; + if (maxLength > 0 && infoLog) { + var numBytesWrittenExclNull = stringToUTF8(log, infoLog, maxLength); + if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; } else { - var newlineRet = _fputc(10, stdout); - return (newlineRet < 0) ? -1 : ret + 1; + if (length) HEAP32[((length)>>2)]=0; } } function _emscripten_glUniform4iv(location, count, value) { - location = GL.uniforms[location]; - count *= 4; - value = HEAP32.subarray((value)>>2,(value+count*4)>>2); - GLctx.uniform4iv(location, value); + + + GLctx.uniform4iv(GL.uniforms[location], HEAP32.subarray((value)>>2,(value+count*16)>>2)); } - function _glClear(x0) { GLctx.clear(x0) } + function _glClear(x0) { GLctx['clear'](x0) } function _emscripten_glLoadIdentity(){ throw 'Legacy GL function (glLoadIdentity) called. If you want legacy GL emulation, you need to compile with -s LEGACY_GL_EMULATION=1 to enable legacy GL emulation.'; } function _emscripten_glUniform3fv(location, count, value) { - location = GL.uniforms[location]; + + var view; - if (count === 1) { - // avoid allocation for the common case of uploading one uniform - view = GL.miniTempBufferViews[2]; - view[0] = HEAPF32[((value)>>2)]; - view[1] = HEAPF32[(((value)+(4))>>2)]; - view[2] = HEAPF32[(((value)+(8))>>2)]; + if (3*count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[3*count-1]; + for (var i = 0; i < 3*count; i += 3) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; + view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; + } } else { view = HEAPF32.subarray((value)>>2,(value+count*12)>>2); } - GLctx.uniform3fv(location, view); + GLctx.uniform3fv(GL.uniforms[location], view); } function _emscripten_glIsTexture(texture) { @@ -8710,6 +8416,12 @@ function copyTempDouble(ptr) { AL.updateSource(src); } + function _glUniform4f(location, v0, v1, v2, v3) { + GLctx.uniform4f(GL.uniforms[location], v0, v1, v2, v3); + } + + function _emscripten_glVertexAttrib2f(x0, x1, x2) { GLctx['vertexAttrib2f'](x0, x1, x2) } + function _glfwCreateWindow(width, height, title, monitor, share) { return GLFW.createWindow(width, height, title, monitor, share); } @@ -8742,6 +8454,9 @@ function copyTempDouble(ptr) { case 0x1002 /* AL_CONE_OUTER_ANGLE */: HEAP32[((value)>>2)]=src.coneOuterAngle; break; + case 0x1007 /* AL_LOOPING */: + HEAP32[((value)>>2)]=src.loop; + break; case 0x1009 /* AL_BUFFER */: if (!src.queue.length) { HEAP32[((value)>>2)]=0; @@ -8777,7 +8492,7 @@ function copyTempDouble(ptr) { } } - function _emscripten_glClearStencil(x0) { GLctx.clearStencil(x0) } + function _emscripten_glClearStencil(x0) { GLctx['clearStencil'](x0) } function _emscripten_glDetachShader(program, shader) { GLctx.detachShader(GL.programs[program], @@ -8785,9 +8500,9 @@ function copyTempDouble(ptr) { } function _emscripten_glDeleteVertexArrays(n, vaos) { - for(var i = 0; i < n; i++) { + for (var i = 0; i < n; i++) { var id = HEAP32[(((vaos)+(i*4))>>2)]; - GL.currentContext.vaoExt.deleteVertexArrayOES(GL.vaos[id]); + GLctx['deleteVertexArray'](GL.vaos[id]); GL.vaos[id] = null; } } @@ -8800,9 +8515,14 @@ function copyTempDouble(ptr) { var gain = AL.currentContext.ctx.createGain(); gain.connect(AL.currentContext.gain); AL.currentContext.src[AL.newSrcId] = { + context: AL.currentContext, state: 0x1011 /* AL_INITIAL */, queue: [], loop: false, + playbackRate: 1, + _position: [0, 0, 0], + _velocity: [0, 0, 0], + _direction: [0, 0, 0], get refDistance() { return this._refDistance || 1; }, @@ -8825,24 +8545,32 @@ function copyTempDouble(ptr) { if (this.panner) this.panner.rolloffFactor = val; }, get position() { - return this._position || [0, 0, 0]; + return this._position; }, set position(val) { - this._position = val; + this._position[0] = val[0]; + this._position[1] = val[1]; + this._position[2] = val[2]; if (this.panner) this.panner.setPosition(val[0], val[1], val[2]); }, get velocity() { - return this._velocity || [0, 0, 0]; + return this._velocity; }, set velocity(val) { - this._velocity = val; - if (this.panner) this.panner.setVelocity(val[0], val[1], val[2]); + this._velocity[0] = val[0]; + this._velocity[1] = val[1]; + this._velocity[2] = val[2]; + // TODO: The velocity values are not currently used to implement a doppler effect. + // If support for doppler effect is reintroduced, compute the doppler + // speed pitch factor and apply it here. }, get direction() { - return this._direction || [0, 0, 0]; + return this._direction; }, set direction(val) { - this._direction = val; + this._direction[0] = val[0]; + this._direction[1] = val[1]; + this._direction[2] = val[2]; if (this.panner) this.panner.setOrientation(val[0], val[1], val[2]); }, get coneOuterGain() { @@ -8876,10 +8604,6 @@ function copyTempDouble(ptr) { } } - function ___errno_location() { - return ___errno_state; - } - function _glfwInit() { if (GLFW.windows) return 1; // GL_TRUE @@ -8896,14 +8620,22 @@ function copyTempDouble(ptr) { Module["canvas"].addEventListener("mouseup", GLFW.onMouseButtonUp, true); Module["canvas"].addEventListener('wheel', GLFW.onMouseWheel, true); Module["canvas"].addEventListener('mousewheel', GLFW.onMouseWheel, true); + Module["canvas"].addEventListener('mouseenter', GLFW.onMouseenter, true); + Module["canvas"].addEventListener('mouseleave', GLFW.onMouseleave, true); Browser.resizeListeners.push(function(width, height) { - GLFW.onFullScreenEventChange(); + GLFW.onCanvasResize(width, height); }); return 1; // GL_TRUE } function _emscripten_glGetTexParameteriv(target, pname, params) { + if (!params) { + // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense + // if p == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } HEAP32[((params)>>2)]=GLctx.getTexParameter(target, pname); } @@ -8921,15 +8653,12 @@ function copyTempDouble(ptr) { GLFW.swapBuffers(winid); } - function _emscripten_glActiveTexture(x0) { GLctx.activeTexture(x0) } + function _emscripten_glGenerateMipmap(x0) { GLctx['generateMipmap'](x0) } - function _emscripten_glGenerateMipmap(x0) { GLctx.generateMipmap(x0) } - - function _emscripten_glCullFace(x0) { GLctx.cullFace(x0) } + function _emscripten_glCullFace(x0) { GLctx['cullFace'](x0) } function _emscripten_glUniform4f(location, v0, v1, v2, v3) { - location = GL.uniforms[location]; - GLctx.uniform4f(location, v0, v1, v2, v3); + GLctx.uniform4f(GL.uniforms[location], v0, v1, v2, v3); } function _glDisableVertexAttribArray(index) { @@ -8940,27 +8669,23 @@ function copyTempDouble(ptr) { GLctx.useProgram(program ? GL.programs[program] : null); } - function _feof(stream) { - // int feof(FILE *stream); - // http://pubs.opengroup.org/onlinepubs/000095399/functions/feof.html - stream = FS.getStreamFromPtr(stream); - return Number(stream && stream.eof); - } - - function _emscripten_glHint(x0, x1) { GLctx.hint(x0, x1) } + function _emscripten_glHint(x0, x1) { GLctx['hint'](x0, x1) } function _emscripten_glUniform2fv(location, count, value) { - location = GL.uniforms[location]; + + var view; - if (count === 1) { - // avoid allocation for the common case of uploading one uniform - view = GL.miniTempBufferViews[1]; - view[0] = HEAPF32[((value)>>2)]; - view[1] = HEAPF32[(((value)+(4))>>2)]; + if (2*count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[2*count-1]; + for (var i = 0; i < 2*count; i += 2) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; + } } else { view = HEAPF32.subarray((value)>>2,(value+count*8)>>2); } - GLctx.uniform2fv(location, view); + GLctx.uniform2fv(GL.uniforms[location], view); } function _glfwSwapInterval(interval) { @@ -8972,10 +8697,9 @@ function copyTempDouble(ptr) { function _glGetShaderInfoLog(shader, maxLength, length, infoLog) { var log = GLctx.getShaderInfoLog(GL.shaders[shader]); if (log === null) log = '(unknown error)'; - log = log.substr(0, maxLength - 1); if (maxLength > 0 && infoLog) { - writeStringToMemory(log, infoLog); - if (length) HEAP32[((length)>>2)]=log.length; + var numBytesWrittenExclNull = stringToUTF8(log, infoLog, maxLength); + if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; } else { if (length) HEAP32[((length)>>2)]=0; } @@ -9002,14 +8726,15 @@ function copyTempDouble(ptr) { } } - function _emscripten_glCompressedTexImage2D(target, level, internalFormat, width, height, border, imageSize, data) { - if (data) { - data = HEAPU8.subarray((data),(data+imageSize)); - } else { - data = null; + function _emscripten_glDeleteFramebuffers(n, framebuffers) { + for (var i = 0; i < n; ++i) { + var id = HEAP32[(((framebuffers)+(i*4))>>2)]; + var framebuffer = GL.framebuffers[id]; + if (!framebuffer) continue; // GL spec: "glDeleteFramebuffers silently ignores 0s and names that do not correspond to existing framebuffer objects". + GLctx.deleteFramebuffer(framebuffer); + framebuffer.name = 0; + GL.framebuffers[id] = null; } - // N.b. using array notation explicitly to not confuse Closure minification. - GLctx['compressedTexImage2D'](target, level, internalFormat, width, height, border, data); } function _emscripten_glIsBuffer(buffer) { @@ -9019,18 +8744,17 @@ function copyTempDouble(ptr) { } function _emscripten_glUniform2iv(location, count, value) { - location = GL.uniforms[location]; - count *= 2; - value = HEAP32.subarray((value)>>2,(value+count*4)>>2); - GLctx.uniform2iv(location, value); + + + GLctx.uniform2iv(GL.uniforms[location], HEAP32.subarray((value)>>2,(value+count*8)>>2)); } function _emscripten_glVertexAttrib1fv(index, v) { - v = HEAPF32.subarray((v)>>2,(v+4)>>2); - GLctx.vertexAttrib1fv(index, v); + + GLctx.vertexAttrib1f(index, HEAPF32[v>>2]); } - function _glEnable(x0) { GLctx.enable(x0) } + function _glEnable(x0) { GLctx['enable'](x0) } function _alBufferData(buffer, format, data, size, freq) { if (!AL.currentContext) { @@ -9039,62 +8763,68 @@ function copyTempDouble(ptr) { if (buffer > AL.currentContext.buf.length) { return; } - var channels, bytes; - switch (format) { - case 0x1100 /* AL_FORMAT_MONO8 */: - bytes = 1; - channels = 1; - break; - case 0x1101 /* AL_FORMAT_MONO16 */: - bytes = 2; - channels = 1; - break; - case 0x1102 /* AL_FORMAT_STEREO8 */: - bytes = 1; - channels = 2; - break; - case 0x1103 /* AL_FORMAT_STEREO16 */: - bytes = 2; - channels = 2; - break; - case 0x10010 /* AL_FORMAT_MONO_FLOAT32 */: - bytes = 4; - channels = 1; - break; - case 0x10011 /* AL_FORMAT_STEREO_FLOAT32 */: - bytes = 4; - channels = 2; - break; - default: - return; - } + try { - AL.currentContext.buf[buffer - 1] = AL.currentContext.ctx.createBuffer(channels, size / (bytes * channels), freq); - AL.currentContext.buf[buffer - 1].bytesPerSample = bytes; + switch (format) { + case 0x1100 /* AL_FORMAT_MONO8 */: + var buf = AL.currentContext.ctx.createBuffer(1, size, freq); + buf.bytesPerSample = 1; + var channel0 = buf.getChannelData(0); + for (var i = 0; i < size; ++i) channel0[i] = HEAPU8[data++] * 0.0078125 /* 1/128 */ - 1.0; + break; + case 0x1101 /* AL_FORMAT_MONO16 */: + var buf = AL.currentContext.ctx.createBuffer(1, size>>1, freq); + buf.bytesPerSample = 2; + var channel0 = buf.getChannelData(0); + data >>= 1; + for (var i = 0; i < size>>1; ++i) channel0[i] = HEAP16[data++] * 0.000030517578125 /* 1/32768 */; + break; + case 0x1102 /* AL_FORMAT_STEREO8 */: + var buf = AL.currentContext.ctx.createBuffer(2, size>>1, freq); + buf.bytesPerSample = 1; + var channel0 = buf.getChannelData(0); + var channel1 = buf.getChannelData(1); + for (var i = 0; i < size>>1; ++i) { + channel0[i] = HEAPU8[data++] * 0.0078125 /* 1/128 */ - 1.0; + channel1[i] = HEAPU8[data++] * 0.0078125 /* 1/128 */ - 1.0; + } + break; + case 0x1103 /* AL_FORMAT_STEREO16 */: + var buf = AL.currentContext.ctx.createBuffer(2, size>>2, freq); + buf.bytesPerSample = 2; + var channel0 = buf.getChannelData(0); + var channel1 = buf.getChannelData(1); + data >>= 1; + for (var i = 0; i < size>>2; ++i) { + channel0[i] = HEAP16[data++] * 0.000030517578125 /* 1/32768 */; + channel1[i] = HEAP16[data++] * 0.000030517578125 /* 1/32768 */; + } + break; + case 0x10010 /* AL_FORMAT_MONO_FLOAT32 */: + var buf = AL.currentContext.ctx.createBuffer(1, size>>2, freq); + buf.bytesPerSample = 4; + var channel0 = buf.getChannelData(0); + data >>= 2; + for (var i = 0; i < size>>2; ++i) channel0[i] = HEAPF32[data++]; + break; + case 0x10011 /* AL_FORMAT_STEREO_FLOAT32 */: + var buf = AL.currentContext.ctx.createBuffer(2, size>>3, freq); + buf.bytesPerSample = 4; + var channel0 = buf.getChannelData(0); + var channel1 = buf.getChannelData(1); + data >>= 2; + for (var i = 0; i < size>>2; ++i) { + channel0[i] = HEAPF32[data++]; + channel1[i] = HEAPF32[data++]; + } + break; + default: + AL.currentContext.err = 0xA003 /* AL_INVALID_VALUE */; + break; + } + AL.currentContext.buf[buffer - 1] = buf; } catch (e) { AL.currentContext.err = 0xA003 /* AL_INVALID_VALUE */; - return; - } - var buf = new Array(channels); - for (var i = 0; i < channels; ++i) { - buf[i] = AL.currentContext.buf[buffer - 1].getChannelData(i); - } - for (var i = 0; i < size / (bytes * channels); ++i) { - for (var j = 0; j < channels; ++j) { - switch (bytes) { - case 1: - var val = HEAP8[(((data)+(i*channels+j))>>0)] & 0xff; // unsigned - buf[j][i] = -1.0 + val * (2/256); - break; - case 2: - var val = HEAP16[(((data)+(2*(i*channels+j)))>>1)]; - buf[j][i] = val/32768; - break; - case 4: - buf[j][i] = HEAPF32[(((data)+(4*(i*channels+j)))>>2)]; - break; - } - } } } @@ -9110,24 +8840,110 @@ function copyTempDouble(ptr) { AL.setSourceState(src, 0x1014 /* AL_STOPPED */); } - - function _emscripten_glTexSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixels) { - if (pixels) { - var data = GL.getTexPixelData(type, format, width, height, pixels, -1); - pixels = data.pixels; - } else { - pixels = null; + function _emscripten_glGenFramebuffers(n, ids) { + for (var i = 0; i < n; ++i) { + var framebuffer = GLctx.createFramebuffer(); + if (!framebuffer) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); + while(i < n) HEAP32[(((ids)+(i++*4))>>2)]=0; + return; + } + var id = GL.getNewId(GL.framebuffers); + framebuffer.name = id; + GL.framebuffers[id] = framebuffer; + HEAP32[(((ids)+(i*4))>>2)]=id; } - GLctx.texSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixels); } - function _emscripten_glPolygonOffset(x0, x1) { GLctx.polygonOffset(x0, x1) } + + + function emscriptenWebGLComputeImageSize(width, height, sizePerPixel, alignment) { + function roundedToNextMultipleOf(x, y) { + return Math.floor((x + y - 1) / y) * y + } + var plainRowSize = width * sizePerPixel; + var alignedRowSize = roundedToNextMultipleOf(plainRowSize, alignment); + return (height <= 0) ? 0 : + ((height - 1) * alignedRowSize + plainRowSize); + }function emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, internalFormat) { + var sizePerPixel; + var numChannels; + switch(format) { + case 0x1906 /* GL_ALPHA */: + case 0x1909 /* GL_LUMINANCE */: + case 0x1902 /* GL_DEPTH_COMPONENT */: + numChannels = 1; + break; + case 0x190A /* GL_LUMINANCE_ALPHA */: + numChannels = 2; + break; + case 0x1907 /* GL_RGB */: + case 0x8C40 /* GL_SRGB_EXT */: + numChannels = 3; + break; + case 0x1908 /* GL_RGBA */: + case 0x8C42 /* GL_SRGB_ALPHA_EXT */: + numChannels = 4; + break; + default: + GL.recordError(0x0500); // GL_INVALID_ENUM + return null; + } + switch (type) { + case 0x1401 /* GL_UNSIGNED_BYTE */: + sizePerPixel = numChannels*1; + break; + case 0x1403 /* GL_UNSIGNED_SHORT */: + case 0x8D61 /* GL_HALF_FLOAT_OES */: + sizePerPixel = numChannels*2; + break; + case 0x1405 /* GL_UNSIGNED_INT */: + case 0x1406 /* GL_FLOAT */: + sizePerPixel = numChannels*4; + break; + case 0x84FA /* GL_UNSIGNED_INT_24_8_WEBGL/GL_UNSIGNED_INT_24_8 */: + sizePerPixel = 4; + break; + case 0x8363 /* GL_UNSIGNED_SHORT_5_6_5 */: + case 0x8033 /* GL_UNSIGNED_SHORT_4_4_4_4 */: + case 0x8034 /* GL_UNSIGNED_SHORT_5_5_5_1 */: + sizePerPixel = 2; + break; + default: + GL.recordError(0x0500); // GL_INVALID_ENUM + return null; + } + var bytes = emscriptenWebGLComputeImageSize(width, height, sizePerPixel, GL.unpackAlignment); + switch(type) { + case 0x1401 /* GL_UNSIGNED_BYTE */: + return HEAPU8.subarray((pixels),(pixels+bytes)); + case 0x1406 /* GL_FLOAT */: + return HEAPF32.subarray((pixels)>>2,(pixels+bytes)>>2); + case 0x1405 /* GL_UNSIGNED_INT */: + case 0x84FA /* GL_UNSIGNED_INT_24_8_WEBGL/GL_UNSIGNED_INT_24_8 */: + return HEAPU32.subarray((pixels)>>2,(pixels+bytes)>>2); + case 0x1403 /* GL_UNSIGNED_SHORT */: + case 0x8363 /* GL_UNSIGNED_SHORT_5_6_5 */: + case 0x8033 /* GL_UNSIGNED_SHORT_4_4_4_4 */: + case 0x8034 /* GL_UNSIGNED_SHORT_5_5_5_1 */: + case 0x8D61 /* GL_HALF_FLOAT_OES */: + return HEAPU16.subarray((pixels)>>1,(pixels+bytes)>>1); + default: + GL.recordError(0x0500); // GL_INVALID_ENUM + return null; + } + }function _emscripten_glTexSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixels) { + var pixelData = null; + if (pixels) pixelData = emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, 0); + GLctx.texSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixelData); + } + + function _emscripten_glPolygonOffset(x0, x1) { GLctx['polygonOffset'](x0, x1) } var _emscripten_asm_const_int=true; function _emscripten_glUniform2f(location, v0, v1) { - location = GL.uniforms[location]; - GLctx.uniform2f(location, v0, v1); + GLctx.uniform2f(GL.uniforms[location], v0, v1); } function _glGetAttribLocation(program, name) { @@ -9140,9 +8956,11 @@ function copyTempDouble(ptr) { GLFW.hints[target] = hint; } - var _sin=Math_sin; + function _emscripten_glUniform2i(location, v0, v1) { + GLctx.uniform2i(GL.uniforms[location], v0, v1); + } - function _glBlendFunc(x0, x1) { GLctx.blendFunc(x0, x1) } + function _glBlendFunc(x0, x1) { GLctx['blendFunc'](x0, x1) } function _glCreateProgram() { var id = GL.getNewId(GL.programs); @@ -9164,26 +8982,51 @@ function copyTempDouble(ptr) { } function _emscripten_glGetBufferParameteriv(target, value, data) { + if (!data) { + // GLES2 specification does not specify how to behave if data is a null pointer. Since calling this function does not make sense + // if data == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } HEAP32[((data)>>2)]=GLctx.getBufferParameter(target, value); } - function _emscripten_glGetUniformiv(program, location, params) { + + function emscriptenWebGLGetUniform(program, location, params, type) { + if (!params) { + // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense + // if params == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } var data = GLctx.getUniform(GL.programs[program], GL.uniforms[location]); if (typeof data == 'number' || typeof data == 'boolean') { - HEAP32[((params)>>2)]=data; + switch (type) { + case 'Integer': HEAP32[((params)>>2)]=data; break; + case 'Float': HEAPF32[((params)>>2)]=data; break; + default: throw 'internal emscriptenWebGLGetUniform() error, bad type: ' + type; + } } else { for (var i = 0; i < data.length; i++) { - HEAP32[(((params)+(i))>>2)]=data[i]; + switch (type) { + case 'Integer': HEAP32[(((params)+(i))>>2)]=data[i]; break; + case 'Float': HEAPF32[(((params)+(i))>>2)]=data[i]; break; + default: throw 'internal emscriptenWebGLGetUniform() error, bad type: ' + type; + } } } + }function _emscripten_glGetUniformiv(program, location, params) { + emscriptenWebGLGetUniform(program, location, params, 'Integer'); } - function _emscripten_glDepthMask(x0) { GLctx.depthMask(x0) } + function _emscripten_glDepthMask(flag) { + GLctx.depthMask(!!flag); + } - function _emscripten_glDepthRangef(x0, x1) { GLctx.depthRange(x0, x1) } + function _emscripten_glDepthRangef(x0, x1) { GLctx['depthRange'](x0, x1) } - function _emscripten_glDepthRange(x0, x1) { GLctx.depthRange(x0, x1) } + function _emscripten_glDepthRange(x0, x1) { GLctx['depthRange'](x0, x1) } function _emscripten_set_fullscreenchange_callback(target, userData, useCapture, callbackfunc) { if (typeof JSEvents.fullscreenEnabled() === 'undefined') return -1; @@ -9199,6 +9042,11 @@ function copyTempDouble(ptr) { return 0; } + + + Module["___muldsi3"] = ___muldsi3; + Module["___muldi3"] = ___muldi3; + function _emscripten_glGetShaderPrecisionFormat(shaderType, precisionType, range, precision) { var result = GLctx.getShaderPrecisionFormat(shaderType, precisionType); HEAP32[((range)>>2)]=result.rangeMin; @@ -9207,16 +9055,45 @@ function copyTempDouble(ptr) { } function _emscripten_glUniform1fv(location, count, value) { - location = GL.uniforms[location]; + + var view; - if (count === 1) { - // avoid allocation for the common case of uploading one uniform - view = GL.miniTempBufferViews[0]; - view[0] = HEAPF32[((value)>>2)]; + if (count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[count-1]; + for (var i = 0; i < count; ++i) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + } } else { view = HEAPF32.subarray((value)>>2,(value+count*4)>>2); } - GLctx.uniform1fv(location, view); + GLctx.uniform1fv(GL.uniforms[location], view); + } + + function _alSourceQueueBuffers(source, count, buffers) { + if (!AL.currentContext) { + return; + } + var src = AL.currentContext.src[source]; + if (!src) { + AL.currentContext.err = 0xA001 /* AL_INVALID_NAME */; + return; + } + for (var i = 0; i < count; ++i) { + var bufferIdx = HEAP32[(((buffers)+(i*4))>>2)]; + if (bufferIdx > AL.currentContext.buf.length) { + AL.currentContext.err = 0xA001 /* AL_INVALID_NAME */; + return; + } + } + + for (var i = 0; i < count; ++i) { + var bufferIdx = HEAP32[(((buffers)+(i*4))>>2)]; + var buffer = AL.currentContext.buf[bufferIdx - 1]; + src.queue.push({ buffer: buffer, src: null }); + } + + AL.updateSource(src); } function _glDeleteBuffers(n, buffers) { @@ -9237,6 +9114,12 @@ function copyTempDouble(ptr) { } } + function _emscripten_set_gamepaddisconnected_callback(userData, useCapture, callbackfunc) { + if (!navigator.getGamepads && !navigator.webkitGetGamepads) return -1; + JSEvents.registerGamepadEventCallback(window, userData, useCapture, callbackfunc, 27, "gamepaddisconnected"); + return 0; + } + function _emscripten_glBindProgramARB() { Module['printErr']('missing function: emscripten_glBindProgramARB'); abort(-1); } @@ -9262,24 +9145,23 @@ function copyTempDouble(ptr) { GL.programInfos[id] = null; } - function _emscripten_glDisable(x0) { GLctx.disable(x0) } + function _emscripten_glDisable(x0) { GLctx['disable'](x0) } function _emscripten_glVertexAttrib3fv(index, v) { - v = HEAPF32.subarray((v)>>2,(v+12)>>2); - GLctx.vertexAttrib3fv(index, v); + + GLctx.vertexAttrib3f(index, HEAPF32[v>>2], HEAPF32[v+4>>2], HEAPF32[v+8>>2]); } - function _glClearColor(x0, x1, x2, x3) { GLctx.clearColor(x0, x1, x2, x3) } + function _glClearColor(x0, x1, x2, x3) { GLctx['clearColor'](x0, x1, x2, x3) } function _emscripten_glGetActiveAttrib(program, index, bufSize, length, size, type, name) { program = GL.programs[program]; var info = GLctx.getActiveAttrib(program, index); if (!info) return; // If an error occurs, nothing will be written to length, size and type and name. - var infoname = info.name.slice(0, Math.max(0, bufSize - 1)); if (bufSize > 0 && name) { - writeStringToMemory(infoname, name); - if (length) HEAP32[((length)>>2)]=infoname.length; + var numBytesWrittenExclNull = stringToUTF8(info.name, name, bufSize); + if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; } else { if (length) HEAP32[((length)>>2)]=0; } @@ -9294,7 +9176,7 @@ function copyTempDouble(ptr) { return GLctx.isFramebuffer(fb); } - function _emscripten_glLineWidth(x0) { GLctx.lineWidth(x0) } + function _emscripten_glLineWidth(x0) { GLctx['lineWidth'](x0) } function _glfwGetCursorPos(winid, x, y) { GLFW.getCursorPos(winid, x, y); @@ -9306,20 +9188,37 @@ function copyTempDouble(ptr) { switch(name_) { case 0x1F00 /* GL_VENDOR */: case 0x1F01 /* GL_RENDERER */: - case 0x1F02 /* GL_VERSION */: + case 0x9245 /* UNMASKED_VENDOR_WEBGL */: + case 0x9246 /* UNMASKED_RENDERER_WEBGL */: ret = allocate(intArrayFromString(GLctx.getParameter(name_)), 'i8', ALLOC_NORMAL); break; + case 0x1F02 /* GL_VERSION */: + var glVersion = GLctx.getParameter(GLctx.VERSION); + // return GLES version string corresponding to the version of the WebGL context + { + glVersion = 'OpenGL ES 2.0 (' + glVersion + ')'; + } + ret = allocate(intArrayFromString(glVersion), 'i8', ALLOC_NORMAL); + break; case 0x1F03 /* GL_EXTENSIONS */: var exts = GLctx.getSupportedExtensions(); var gl_exts = []; - for (var i in exts) { + for (var i = 0; i < exts.length; ++i) { gl_exts.push(exts[i]); gl_exts.push("GL_" + exts[i]); } ret = allocate(intArrayFromString(gl_exts.join(' ')), 'i8', ALLOC_NORMAL); break; case 0x8B8C /* GL_SHADING_LANGUAGE_VERSION */: - ret = allocate(intArrayFromString('OpenGL ES GLSL 1.00 (WebGL)'), 'i8', ALLOC_NORMAL); + var glslVersion = GLctx.getParameter(GLctx.SHADING_LANGUAGE_VERSION); + // extract the version number 'N.M' from the string 'WebGL GLSL ES N.M ...' + var ver_re = /^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/; + var ver_num = glslVersion.match(ver_re); + if (ver_num !== null) { + if (ver_num[1].length == 3) ver_num[1] = ver_num[1] + '0'; // ensure minor version has 2 digits + glslVersion = 'OpenGL ES GLSL ES ' + ver_num[1] + ' (' + glslVersion + ')'; + } + ret = allocate(intArrayFromString(glslVersion), 'i8', ALLOC_NORMAL); break; default: GL.recordError(0x0500/*GL_INVALID_ENUM*/); @@ -9329,8 +9228,6 @@ function copyTempDouble(ptr) { return ret; } - var _sqrt=Math_sqrt; - function _emscripten_glGetAttribLocation(program, name) { program = GL.programs[program]; name = Pointer_stringify(name); @@ -9341,8 +9238,108 @@ function copyTempDouble(ptr) { Module['printErr']('missing function: emscripten_glRotatef'); abort(-1); } - function _emscripten_glGetIntegerv(name_, p) { - return GL.get(name_, p, 'Integer'); + + function emscriptenWebGLGet(name_, p, type) { + // Guard against user passing a null pointer. + // Note that GLES2 spec does not say anything about how passing a null pointer should be treated. + // Testing on desktop core GL 3, the application crashes on glGetIntegerv to a null pointer, but + // better to report an error instead of doing anything random. + if (!p) { + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + var ret = undefined; + switch(name_) { // Handle a few trivial GLES values + case 0x8DFA: // GL_SHADER_COMPILER + ret = 1; + break; + case 0x8DF8: // GL_SHADER_BINARY_FORMATS + if (type !== 'Integer' && type !== 'Integer64') { + GL.recordError(0x0500); // GL_INVALID_ENUM + } + return; // Do not write anything to the out pointer, since no binary formats are supported. + case 0x8DF9: // GL_NUM_SHADER_BINARY_FORMATS + ret = 0; + break; + case 0x86A2: // GL_NUM_COMPRESSED_TEXTURE_FORMATS + // WebGL doesn't have GL_NUM_COMPRESSED_TEXTURE_FORMATS (it's obsolete since GL_COMPRESSED_TEXTURE_FORMATS returns a JS array that can be queried for length), + // so implement it ourselves to allow C++ GLES2 code get the length. + var formats = GLctx.getParameter(0x86A3 /*GL_COMPRESSED_TEXTURE_FORMATS*/); + ret = formats.length; + break; + } + + if (ret === undefined) { + var result = GLctx.getParameter(name_); + switch (typeof(result)) { + case "number": + ret = result; + break; + case "boolean": + ret = result ? 1 : 0; + break; + case "string": + GL.recordError(0x0500); // GL_INVALID_ENUM + return; + case "object": + if (result === null) { + // null is a valid result for some (e.g., which buffer is bound - perhaps nothing is bound), but otherwise + // can mean an invalid name_, which we need to report as an error + switch(name_) { + case 0x8894: // ARRAY_BUFFER_BINDING + case 0x8B8D: // CURRENT_PROGRAM + case 0x8895: // ELEMENT_ARRAY_BUFFER_BINDING + case 0x8CA6: // FRAMEBUFFER_BINDING + case 0x8CA7: // RENDERBUFFER_BINDING + case 0x8069: // TEXTURE_BINDING_2D + case 0x8514: { // TEXTURE_BINDING_CUBE_MAP + ret = 0; + break; + } + default: { + GL.recordError(0x0500); // GL_INVALID_ENUM + return; + } + } + } else if (result instanceof Float32Array || + result instanceof Uint32Array || + result instanceof Int32Array || + result instanceof Array) { + for (var i = 0; i < result.length; ++i) { + switch (type) { + case 'Integer': HEAP32[(((p)+(i*4))>>2)]=result[i]; break; + case 'Float': HEAPF32[(((p)+(i*4))>>2)]=result[i]; break; + case 'Boolean': HEAP8[(((p)+(i))>>0)]=result[i] ? 1 : 0; break; + default: throw 'internal glGet error, bad type: ' + type; + } + } + return; + } else if (result instanceof WebGLBuffer || + result instanceof WebGLProgram || + result instanceof WebGLFramebuffer || + result instanceof WebGLRenderbuffer || + result instanceof WebGLTexture) { + ret = result.name | 0; + } else { + GL.recordError(0x0500); // GL_INVALID_ENUM + return; + } + break; + default: + GL.recordError(0x0500); // GL_INVALID_ENUM + return; + } + } + + switch (type) { + case 'Integer64': (tempI64 = [ret>>>0,(tempDouble=ret,(+(Math_abs(tempDouble))) >= 1.0 ? (tempDouble > 0.0 ? ((Math_min((+(Math_floor((tempDouble)/4294967296.0))), 4294967295.0))|0)>>>0 : (~~((+(Math_ceil((tempDouble - +(((~~(tempDouble)))>>>0))/4294967296.0)))))>>>0) : 0)],HEAP32[((p)>>2)]=tempI64[0],HEAP32[(((p)+(4))>>2)]=tempI64[1]); break; + case 'Integer': HEAP32[((p)>>2)]=ret; break; + case 'Float': HEAPF32[((p)>>2)]=ret; break; + case 'Boolean': HEAP8[((p)>>0)]=ret ? 1 : 0; break; + default: throw 'internal glGet error, bad type: ' + type; + } + }function _emscripten_glGetIntegerv(name_, p) { + emscriptenWebGLGet(name_, p, 'Integer'); } function _emscripten_glGetFramebufferAttachmentParameteriv(target, attachment, pname, params) { @@ -9363,22 +9360,6 @@ function copyTempDouble(ptr) { win.shouldClose = value; } - function _fwrite(ptr, size, nitems, stream) { - // size_t fwrite(const void *restrict ptr, size_t size, size_t nitems, FILE *restrict stream); - // http://pubs.opengroup.org/onlinepubs/000095399/functions/fwrite.html - var bytesToWrite = nitems * size; - if (bytesToWrite == 0) return 0; - var fd = _fileno(stream); - var bytesWritten = _write(fd, ptr, bytesToWrite); - if (bytesWritten == -1) { - var streamObj = FS.getStreamFromPtr(stream); - if (streamObj) streamObj.error = true; - return 0; - } else { - return (bytesWritten / size)|0; - } - } - function _emscripten_glClientActiveTexture() { Module['printErr']('missing function: emscripten_glClientActiveTexture'); abort(-1); } @@ -9398,13 +9379,19 @@ function copyTempDouble(ptr) { } } + + function _emscripten_memcpy_big(dest, src, num) { + HEAPU8.set(HEAPU8.subarray(src, src+num), dest); + return dest; + } + Module["_memcpy"] = _memcpy; + function _emscripten_glGetShaderInfoLog(shader, maxLength, length, infoLog) { var log = GLctx.getShaderInfoLog(GL.shaders[shader]); if (log === null) log = '(unknown error)'; - log = log.substr(0, maxLength - 1); if (maxLength > 0 && infoLog) { - writeStringToMemory(log, infoLog); - if (length) HEAP32[((length)>>2)]=log.length; + var numBytesWrittenExclNull = stringToUTF8(log, infoLog, maxLength); + if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; } else { if (length) HEAP32[((length)>>2)]=0; } @@ -9415,27 +9402,28 @@ function copyTempDouble(ptr) { } function _emscripten_glGetRenderbufferParameteriv(target, pname, params) { + if (!params) { + // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense + // if params == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } HEAP32[((params)>>2)]=GLctx.getRenderbufferParameter(target, pname); } - function _emscripten_glStencilOpSeparate(x0, x1, x2, x3) { GLctx.stencilOpSeparate(x0, x1, x2, x3) } + function _emscripten_glStencilOpSeparate(x0, x1, x2, x3) { GLctx['stencilOpSeparate'](x0, x1, x2, x3) } function _emscripten_glReadPixels(x, y, width, height, format, type, pixels) { - var data = GL.getTexPixelData(type, format, width, height, pixels, format); - if (!data.pixels) { + var pixelData = emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, format); + if (!pixelData) { GL.recordError(0x0500/*GL_INVALID_ENUM*/); return; } - GLctx.readPixels(x, y, width, height, format, type, data.pixels); + GLctx.readPixels(x, y, width, height, format, type, pixelData); } function _emscripten_glCompressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, imageSize, data) { - if (data) { - data = HEAPU8.subarray((data),(data+imageSize)); - } else { - data = null; - } - GLctx['compressedTexSubImage2D'](target, level, xoffset, yoffset, width, height, format, data); + GLctx['compressedTexSubImage2D'](target, level, xoffset, yoffset, width, height, format, data ? HEAPU8.subarray((data),(data+imageSize)) : null); } function _emscripten_glGetError() { @@ -9490,7 +9478,7 @@ function copyTempDouble(ptr) { // Disconnect from the panner. src.gain.disconnect(); - src.gain.connect(AL.currentContext.ctx.destination); + src.gain.connect(AL.currentContext.gain); } } else if (value === 0 /* AL_FALSE */) { if (!src.panner) { @@ -9501,8 +9489,9 @@ function copyTempDouble(ptr) { panner.maxDistance = src.maxDistance; panner.rolloffFactor = src.rolloffFactor; panner.setPosition(src.position[0], src.position[1], src.position[2]); - panner.setVelocity(src.velocity[0], src.velocity[1], src.velocity[2]); - panner.connect(AL.currentContext.ctx.destination); + // TODO: If support for doppler effect is reintroduced, compute the doppler + // speed pitch factor and apply it here. + panner.connect(AL.currentContext.gain); // Disconnect from the default source. src.gain.disconnect(); @@ -9519,33 +9508,9 @@ function copyTempDouble(ptr) { } } - function _emscripten_glIsEnabled(x0) { return GLctx.isEnabled(x0) } + function _emscripten_glIsEnabled(x0) { return GLctx['isEnabled'](x0) } - function _alSourceQueueBuffers(source, count, buffers) { - if (!AL.currentContext) { - return; - } - var src = AL.currentContext.src[source]; - if (!src) { - AL.currentContext.err = 0xA001 /* AL_INVALID_NAME */; - return; - } - for (var i = 0; i < count; ++i) { - var bufferIdx = HEAP32[(((buffers)+(i*4))>>2)]; - if (bufferIdx > AL.currentContext.buf.length) { - AL.currentContext.err = 0xA001 /* AL_INVALID_NAME */; - return; - } - } - - for (var i = 0; i < count; ++i) { - var bufferIdx = HEAP32[(((buffers)+(i*4))>>2)]; - var buffer = AL.currentContext.buf[bufferIdx - 1]; - src.queue.push({ buffer: buffer, src: null }); - } - - AL.updateSource(src); - } + function _glClearDepthf(x0) { GLctx['clearDepth'](x0) } function _alSourcef(source, param, value) { if (!AL.currentContext) { @@ -9558,9 +9523,39 @@ function copyTempDouble(ptr) { } switch (param) { case 0x1003 /* AL_PITCH */: + if (value <= 0) { + AL.currentContext.err = 0xA003 /* AL_INVALID_VALUE */; + return; + } + src.playbackRate = value; + + if (src.state === 0x1012 /* AL_PLAYING */) { + // update currently playing entry + var entry = src.queue[src.buffersPlayed]; + if (!entry || !entry.src) return; // It is possible that AL.updateSources() has not yet fed the next buffer, if so, skip. + var currentTime = AL.currentContext.ctx.currentTime; + var oldrate = entry.src.playbackRate.value; + var offset = currentTime - src.bufferPosition; + // entry.src.duration is expressed after factoring in playbackRate, so when changing playback rate, need + // to recompute/rescale the rate to the new playback speed. + entry.src.duration = (entry.src.duration - offset) * oldrate / src.playbackRate; + if (entry.src.playbackRate.value != src.playbackRate) entry.src.playbackRate.value = src.playbackRate; + src.bufferPosition = currentTime; + + // stop other buffers + for (var k = src.buffersPlayed + 1; k < src.queue.length; k++) { + var entry = src.queue[k]; + if (entry.src) { + entry.src.stop(); + entry.src = null; + } + } + // update the source to reschedule buffers with the new playbackRate + AL.updateSource(src); + } break; case 0x100A /* AL_GAIN */: - src.gain.gain.value = value; + if (src.gain.gain.value != value) src.gain.gain.value = value; break; // case 0x100D /* AL_MIN_GAIN */: // break; @@ -9608,18 +9603,34 @@ function copyTempDouble(ptr) { } } - function _emscripten_glVertexAttrib4f(x0, x1, x2, x3, x4) { GLctx.vertexAttrib4f(x0, x1, x2, x3, x4) } + function _emscripten_glVertexAttrib4f(x0, x1, x2, x3, x4) { GLctx['vertexAttrib4f'](x0, x1, x2, x3, x4) } - function _glDepthFunc(x0) { GLctx.depthFunc(x0) } + function _glDepthFunc(x0) { GLctx['depthFunc'](x0) } - function _emscripten_glUniform2i(location, v0, v1) { - location = GL.uniforms[location]; - GLctx.uniform2i(location, v0, v1); + + + var cttz_i8 = allocate([8,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,7,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0], "i8", ALLOC_STATIC); + Module["_llvm_cttz_i32"] = _llvm_cttz_i32; + Module["___udivmoddi4"] = ___udivmoddi4; + Module["___uremdi3"] = ___uremdi3; + + function _emscripten_glClearDepthf(x0) { GLctx['clearDepth'](x0) } + + function _alListenerf(param, value) { + if (!AL.currentContext) { + return; + } + switch (param) { + case 0x100A /* AL_GAIN */: + if (AL.currentContext.gain.gain.value != value) AL.currentContext.gain.gain.value = value; + break; + default: + AL.currentContext.err = 0xA002 /* AL_INVALID_ENUM */; + break; + } } - function _emscripten_glClearDepthf(x0) { GLctx.clearDepth(x0) } - - function _emscripten_glClear(x0) { GLctx.clear(x0) } + function _emscripten_glClear(x0) { GLctx['clear'](x0) } function _alGetError() { if (!AL.currentContext) { @@ -9639,156 +9650,82 @@ function copyTempDouble(ptr) { GLctx.bindBuffer(target, bufferObj); } - - - - function _recv(fd, buf, len, flags) { - var sock = SOCKFS.getSocket(fd); - if (!sock) { - ___setErrNo(ERRNO_CODES.EBADF); - return -1; - } - // TODO honor flags - return _read(fd, buf, len); - } - - function _pread(fildes, buf, nbyte, offset) { - // ssize_t pread(int fildes, void *buf, size_t nbyte, off_t offset); - // http://pubs.opengroup.org/onlinepubs/000095399/functions/read.html - var stream = FS.getStream(fildes); - if (!stream) { - ___setErrNo(ERRNO_CODES.EBADF); - return -1; - } - try { - var slab = HEAP8; - return FS.read(stream, slab, buf, nbyte, offset); - } catch (e) { - FS.handleFSError(e); - return -1; - } - }function _read(fildes, buf, nbyte) { - // ssize_t read(int fildes, void *buf, size_t nbyte); - // http://pubs.opengroup.org/onlinepubs/000095399/functions/read.html - var stream = FS.getStream(fildes); - if (!stream) { - ___setErrNo(ERRNO_CODES.EBADF); - return -1; - } - - - try { - var slab = HEAP8; - return FS.read(stream, slab, buf, nbyte); - } catch (e) { - FS.handleFSError(e); - return -1; - } - }function _fread(ptr, size, nitems, stream) { - // size_t fread(void *restrict ptr, size_t size, size_t nitems, FILE *restrict stream); - // http://pubs.opengroup.org/onlinepubs/000095399/functions/fread.html - var bytesToRead = nitems * size; - if (bytesToRead == 0) { - return 0; - } - var bytesRead = 0; - var streamObj = FS.getStreamFromPtr(stream); - if (!streamObj) { - ___setErrNo(ERRNO_CODES.EBADF); - return 0; - } - while (streamObj.ungotten.length && bytesToRead > 0) { - HEAP8[((ptr++)>>0)]=streamObj.ungotten.pop(); - bytesToRead--; - bytesRead++; - } - var err = _read(streamObj.fd, ptr, bytesToRead); - if (err == -1) { - if (streamObj) streamObj.error = true; - return 0; - } - bytesRead += err; - if (bytesRead < bytesToRead) streamObj.eof = true; - return (bytesRead / size)|0; - }function _fgetc(stream) { - // int fgetc(FILE *stream); - // http://pubs.opengroup.org/onlinepubs/000095399/functions/fgetc.html - var streamObj = FS.getStreamFromPtr(stream); - if (!streamObj) return -1; - if (streamObj.eof || streamObj.error) return -1; - var ret = _fread(_fgetc.ret, 1, 1, stream); - if (ret == 0) { - return -1; - } else if (ret == -1) { - streamObj.error = true; - return -1; - } else { - return HEAPU8[((_fgetc.ret)>>0)]; - } - } - function _emscripten_glGetUniformfv(program, location, params) { - var data = GLctx.getUniform(GL.programs[program], GL.uniforms[location]); - if (typeof data == 'number') { - HEAPF32[((params)>>2)]=data; - } else { - for (var i = 0; i < data.length; i++) { - HEAPF32[(((params)+(i))>>2)]=data[i]; - } - } + emscriptenWebGLGetUniform(program, location, params, 'Float'); } function _glGetProgramiv(program, pname, p) { + if (!p) { + // GLES2 specification does not specify how to behave if p is a null pointer. Since calling this function does not make sense + // if p == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + + if (program >= GL.counter) { + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + + var ptable = GL.programInfos[program]; + if (!ptable) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); + return; + } + if (pname == 0x8B84) { // GL_INFO_LOG_LENGTH var log = GLctx.getProgramInfoLog(GL.programs[program]); if (log === null) log = '(unknown error)'; HEAP32[((p)>>2)]=log.length + 1; } else if (pname == 0x8B87 /* GL_ACTIVE_UNIFORM_MAX_LENGTH */) { - var ptable = GL.programInfos[program]; - if (ptable) { - HEAP32[((p)>>2)]=ptable.maxUniformLength; - return; - } else if (program < GL.counter) { - GL.recordError(0x0502 /* GL_INVALID_OPERATION */); - } else { - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - } + HEAP32[((p)>>2)]=ptable.maxUniformLength; } else if (pname == 0x8B8A /* GL_ACTIVE_ATTRIBUTE_MAX_LENGTH */) { - var ptable = GL.programInfos[program]; - if (ptable) { - if (ptable.maxAttributeLength == -1) { - var program = GL.programs[program]; - var numAttribs = GLctx.getProgramParameter(program, GLctx.ACTIVE_ATTRIBUTES); - ptable.maxAttributeLength = 0; // Spec says if there are no active attribs, 0 must be returned. - for(var i = 0; i < numAttribs; ++i) { - var activeAttrib = GLctx.getActiveAttrib(program, i); - ptable.maxAttributeLength = Math.max(ptable.maxAttributeLength, activeAttrib.name.length+1); - } + if (ptable.maxAttributeLength == -1) { + var program = GL.programs[program]; + var numAttribs = GLctx.getProgramParameter(program, GLctx.ACTIVE_ATTRIBUTES); + ptable.maxAttributeLength = 0; // Spec says if there are no active attribs, 0 must be returned. + for (var i = 0; i < numAttribs; ++i) { + var activeAttrib = GLctx.getActiveAttrib(program, i); + ptable.maxAttributeLength = Math.max(ptable.maxAttributeLength, activeAttrib.name.length+1); } - HEAP32[((p)>>2)]=ptable.maxAttributeLength; - return; - } else if (program < GL.counter) { - GL.recordError(0x0502 /* GL_INVALID_OPERATION */); - } else { - GL.recordError(0x0501 /* GL_INVALID_VALUE */); } + HEAP32[((p)>>2)]=ptable.maxAttributeLength; + } else if (pname == 0x8A35 /* GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH */) { + if (ptable.maxUniformBlockNameLength == -1) { + var program = GL.programs[program]; + var numBlocks = GLctx.getProgramParameter(program, GLctx.ACTIVE_UNIFORM_BLOCKS); + ptable.maxUniformBlockNameLength = 0; + for (var i = 0; i < numBlocks; ++i) { + var activeBlockName = GLctx.getActiveUniformBlockName(program, i); + ptable.maxUniformBlockNameLength = Math.max(ptable.maxUniformBlockNameLength, activeBlockName.length+1); + } + } + HEAP32[((p)>>2)]=ptable.maxUniformBlockNameLength; } else { HEAP32[((p)>>2)]=GLctx.getProgramParameter(GL.programs[program], pname); } } function _glVertexAttribPointer(index, size, type, normalized, stride, ptr) { - GLctx.vertexAttribPointer(index, size, type, normalized, stride, ptr); + GLctx.vertexAttribPointer(index, size, type, !!normalized, stride, ptr); } - function _alcMakeContextCurrent(context) { - if (context == 0) { - AL.currentContext = null; - return 0; + function _emscripten_exit_pointerlock() { + // Make sure no queued up calls will fire after this. + JSEvents.removeDeferredCalls(JSEvents.requestPointerLock); + + if (document.exitPointerLock) { + document.exitPointerLock(); + } else if (document.msExitPointerLock) { + document.msExitPointerLock(); + } else if (document.mozExitPointerLock) { + document.mozExitPointerLock(); + } else if (document.webkitExitPointerLock) { + document.webkitExitPointerLock(); } else { - AL.currentContext = AL.contexts[context - 1]; - return 1; + return -1; } + return 0; } function _glGetUniformLocation(program, name) { @@ -9830,6 +9767,7 @@ function copyTempDouble(ptr) { HEAP32[((count)>>2)]=len; for (var i = 0; i < len; ++i) { var id = GL.shaders.indexOf(result[i]); + assert(id !== -1, 'shader not bound to local id'); HEAP32[(((shaders)+(i*4))>>2)]=id; } } @@ -9849,30 +9787,14 @@ function copyTempDouble(ptr) { } } - function _emscripten_glFrontFace(x0) { GLctx.frontFace(x0) } + function _emscripten_glFrontFace(x0) { GLctx['frontFace'](x0) } - function _emscripten_glVertexPointer(){ throw 'Legacy GL function (glVertexPointer) called. If you want legacy GL emulation, you need to compile with -s LEGACY_GL_EMULATION=1 to enable legacy GL emulation.'; } + function _emscripten_glActiveTexture(x0) { GLctx['activeTexture'](x0) } function _emscripten_glUniform1iv(location, count, value) { - location = GL.uniforms[location]; - value = HEAP32.subarray((value)>>2,(value+count*4)>>2); - GLctx.uniform1iv(location, value); - } - - function _glUniform4fv(location, count, value) { - location = GL.uniforms[location]; - var view; - if (count === 1) { - // avoid allocation for the common case of uploading one uniform - view = GL.miniTempBufferViews[3]; - view[0] = HEAPF32[((value)>>2)]; - view[1] = HEAPF32[(((value)+(4))>>2)]; - view[2] = HEAPF32[(((value)+(8))>>2)]; - view[3] = HEAPF32[(((value)+(12))>>2)]; - } else { - view = HEAPF32.subarray((value)>>2,(value+count*16)>>2); - } - GLctx.uniform4fv(location, view); + + + GLctx.uniform1iv(GL.uniforms[location], HEAP32.subarray((value)>>2,(value+count*4)>>2)); } function _emscripten_glTexCoordPointer() { @@ -9883,22 +9805,6 @@ function copyTempDouble(ptr) { Module['printErr']('missing function: emscripten_glGetInfoLogARB'); abort(-1); } - function _ftell(stream) { - // long ftell(FILE *stream); - // http://pubs.opengroup.org/onlinepubs/000095399/functions/ftell.html - stream = FS.getStreamFromPtr(stream); - if (!stream) { - ___setErrNo(ERRNO_CODES.EBADF); - return -1; - } - if (FS.isChrdev(stream.node.mode)) { - ___setErrNo(ERRNO_CODES.ESPIPE); - return -1; - } else { - return stream.position; - } - } - function __exit(status) { // void _exit(int status); @@ -9908,9 +9814,18 @@ function copyTempDouble(ptr) { __exit(status); } - function _emscripten_glRenderbufferStorage(x0, x1, x2, x3) { GLctx.renderbufferStorage(x0, x1, x2, x3) } + function _emscripten_glRenderbufferStorage(x0, x1, x2, x3) { GLctx['renderbufferStorage'](x0, x1, x2, x3) } - function _emscripten_glCopyTexSubImage2D(x0, x1, x2, x3, x4, x5, x6, x7) { GLctx.copyTexSubImage2D(x0, x1, x2, x3, x4, x5, x6, x7) } + function _emscripten_glCopyTexSubImage2D(x0, x1, x2, x3, x4, x5, x6, x7) { GLctx['copyTexSubImage2D'](x0, x1, x2, x3, x4, x5, x6, x7) } + + function _glfwSetCursorPosCallback(winid, cbfun) { + GLFW.setCursorPosCallback(winid, cbfun); + } + + function _glBindAttribLocation(program, index, name) { + name = Pointer_stringify(name); + GLctx.bindAttribLocation(GL.programs[program], index, name); + } function _emscripten_glShaderBinary() { GL.recordError(0x0500/*GL_INVALID_ENUM*/); @@ -9922,9 +9837,18 @@ function copyTempDouble(ptr) { return GLctx.isProgram(program); } - function _emscripten_glBlendColor(x0, x1, x2, x3) { GLctx.blendColor(x0, x1, x2, x3) } + + Module["_bitshift64Shl"] = _bitshift64Shl; + + function _emscripten_glBlendColor(x0, x1, x2, x3) { GLctx['blendColor'](x0, x1, x2, x3) } function _emscripten_glGetShaderiv(shader, pname, p) { + if (!p) { + // GLES2 specification does not specify how to behave if p is a null pointer. Since calling this function does not make sense + // if p == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } if (pname == 0x8B84) { // GL_INFO_LOG_LENGTH var log = GLctx.getShaderInfoLog(GL.shaders[shader]); if (log === null) log = '(unknown error)'; @@ -9935,79 +9859,71 @@ function copyTempDouble(ptr) { } function _emscripten_glUniformMatrix3fv(location, count, transpose, value) { - location = GL.uniforms[location]; + + var view; - if (count === 1) { - // avoid allocation for the common case of uploading one uniform matrix - view = GL.miniTempBufferViews[8]; - for (var i = 0; i < 9; i++) { - view[i] = HEAPF32[(((value)+(i*4))>>2)]; + if (9*count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[9*count-1]; + for (var i = 0; i < 9*count; i += 9) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; + view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; + view[i+3] = HEAPF32[(((value)+(4*i+12))>>2)]; + view[i+4] = HEAPF32[(((value)+(4*i+16))>>2)]; + view[i+5] = HEAPF32[(((value)+(4*i+20))>>2)]; + view[i+6] = HEAPF32[(((value)+(4*i+24))>>2)]; + view[i+7] = HEAPF32[(((value)+(4*i+28))>>2)]; + view[i+8] = HEAPF32[(((value)+(4*i+32))>>2)]; } } else { view = HEAPF32.subarray((value)>>2,(value+count*36)>>2); } - GLctx.uniformMatrix3fv(location, transpose, view); + GLctx.uniformMatrix3fv(GL.uniforms[location], !!transpose, view); } - function _emscripten_glVertexAttrib2f(x0, x1, x2) { GLctx.vertexAttrib2f(x0, x1, x2) } + + Module["___udivdi3"] = ___udivdi3; function _emscripten_glUniform4fv(location, count, value) { - location = GL.uniforms[location]; + + var view; - if (count === 1) { - // avoid allocation for the common case of uploading one uniform - view = GL.miniTempBufferViews[3]; - view[0] = HEAPF32[((value)>>2)]; - view[1] = HEAPF32[(((value)+(4))>>2)]; - view[2] = HEAPF32[(((value)+(8))>>2)]; - view[3] = HEAPF32[(((value)+(12))>>2)]; + if (4*count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[4*count-1]; + for (var i = 0; i < 4*count; i += 4) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; + view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; + view[i+3] = HEAPF32[(((value)+(4*i+12))>>2)]; + } } else { view = HEAPF32.subarray((value)>>2,(value+count*16)>>2); } - GLctx.uniform4fv(location, view); + GLctx.uniform4fv(GL.uniforms[location], view); } function _glBufferSubData(target, offset, size, data) { GLctx.bufferSubData(target, offset, HEAPU8.subarray(data, data+size)); } - function _glGetProgramInfoLog(program, maxLength, length, infoLog) { - var log = GLctx.getProgramInfoLog(GL.programs[program]); - if (log === null) log = '(unknown error)'; - - log = log.substr(0, maxLength - 1); - if (maxLength > 0 && infoLog) { - writeStringToMemory(log, infoLog); - if (length) HEAP32[((length)>>2)]=log.length; - } else { - if (length) HEAP32[((length)>>2)]=0; - } - } - function _alcDestroyContext(context) { // Stop playback, etc clearInterval(AL.contexts[context - 1].interval); } - function _emscripten_glGenFramebuffers(n, ids) { - for (var i = 0; i < n; ++i) { - var framebuffer = GLctx.createFramebuffer(); - if (!framebuffer) { - GL.recordError(0x0502 /* GL_INVALID_OPERATION */); - while(i < n) HEAP32[(((ids)+(i++*4))>>2)]=0; - return; - } - var id = GL.getNewId(GL.framebuffers); - framebuffer.name = id; - GL.framebuffers[id] = framebuffer; - HEAP32[(((ids)+(i*4))>>2)]=id; - } + function _llvm_exp2_f32(x) { + return Math.pow(2, x); } - - Module["_strcpy"] = _strcpy; - function _glGetShaderiv(shader, pname, p) { + if (!p) { + // GLES2 specification does not specify how to behave if p is a null pointer. Since calling this function does not make sense + // if p == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } if (pname == 0x8B84) { // GL_INFO_LOG_LENGTH var log = GLctx.getShaderInfoLog(GL.shaders[shader]); if (log === null) log = '(unknown error)'; @@ -10017,7 +9933,7 @@ function copyTempDouble(ptr) { } } - function _emscripten_glBlendEquationSeparate(x0, x1) { GLctx.blendEquationSeparate(x0, x1) } + function _emscripten_glBlendEquationSeparate(x0, x1) { GLctx['blendEquationSeparate'](x0, x1) } function _glfwSetWindowIconifyCallback(winid, cbfun) { var win = GLFW.WindowFromId(winid); @@ -10045,21 +9961,18 @@ function copyTempDouble(ptr) { } function _emscripten_glVertexAttrib2fv(index, v) { - v = HEAPF32.subarray((v)>>2,(v+8)>>2); - GLctx.vertexAttrib2fv(index, v); + + GLctx.vertexAttrib2f(index, HEAPF32[v>>2], HEAPF32[v+4>>2]); } - var _floorf=Math_floor; - function _emscripten_glGetActiveUniform(program, index, bufSize, length, size, type, name) { program = GL.programs[program]; var info = GLctx.getActiveUniform(program, index); if (!info) return; // If an error occurs, nothing will be written to length, size, type and name. - var infoname = info.name.slice(0, Math.max(0, bufSize - 1)); if (bufSize > 0 && name) { - writeStringToMemory(infoname, name); - if (length) HEAP32[((length)>>2)]=infoname.length; + var numBytesWrittenExclNull = stringToUTF8(info.name, name, bufSize); + if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; } else { if (length) HEAP32[((length)>>2)]=0; } @@ -10068,6 +9981,9 @@ function copyTempDouble(ptr) { if (type) HEAP32[((type)>>2)]=info.type; } + + Module["_roundf"] = _roundf; + function _emscripten_glDeleteObjectARB() { Module['printErr']('missing function: emscripten_glDeleteObjectARB'); abort(-1); } @@ -10078,8 +9994,7 @@ function copyTempDouble(ptr) { } function _emscripten_glUniform1f(location, v0) { - location = GL.uniforms[location]; - GLctx.uniform1f(location, v0); + GLctx.uniform1f(GL.uniforms[location], v0); } function _alcCreateContext(device, attrList) { @@ -10106,6 +10021,10 @@ function copyTempDouble(ptr) { var gain = ctx.createGain(); gain.connect(ctx.destination); + // Extend the Web Audio API AudioListener object with a few tracking values of our own. + ctx.listener._position = [0, 0, 0]; + ctx.listener._velocity = [0, 0, 0]; + ctx.listener._orientation = [0, 0, 0, 0, 0, 0]; var context = { ctx: ctx, err: 0, @@ -10122,7 +10041,7 @@ function copyTempDouble(ptr) { } function _emscripten_glVertexAttribPointer(index, size, type, normalized, stride, ptr) { - GLctx.vertexAttribPointer(index, size, type, normalized, stride, ptr); + GLctx.vertexAttribPointer(index, size, type, !!normalized, stride, ptr); } function _alcCloseDevice(device) { @@ -10131,62 +10050,11 @@ function copyTempDouble(ptr) { function _glShaderSource(shader, count, string, length) { var source = GL.getSource(shader, count, string, length); + + GLctx.shaderSource(GL.shaders[shader], source); } - - function _open(path, oflag, varargs) { - // int open(const char *path, int oflag, ...); - // http://pubs.opengroup.org/onlinepubs/009695399/functions/open.html - var mode = HEAP32[((varargs)>>2)]; - path = Pointer_stringify(path); - try { - var stream = FS.open(path, oflag, mode); - return stream.fd; - } catch (e) { - FS.handleFSError(e); - return -1; - } - }function _fopen(filename, mode) { - // FILE *fopen(const char *restrict filename, const char *restrict mode); - // http://pubs.opengroup.org/onlinepubs/000095399/functions/fopen.html - var flags; - mode = Pointer_stringify(mode); - if (mode[0] == 'r') { - if (mode.indexOf('+') != -1) { - flags = 2; - } else { - flags = 0; - } - } else if (mode[0] == 'w') { - if (mode.indexOf('+') != -1) { - flags = 2; - } else { - flags = 1; - } - flags |= 64; - flags |= 512; - } else if (mode[0] == 'a') { - if (mode.indexOf('+') != -1) { - flags = 2; - } else { - flags = 1; - } - flags |= 64; - flags |= 1024; - } else { - ___setErrNo(ERRNO_CODES.EINVAL); - return 0; - } - var fd = _open(filename, flags, allocate([0x1FF, 0, 0, 0], 'i32', ALLOC_STACK)); // All creation permissions. - return fd === -1 ? 0 : FS.getPtrForStream(FS.getStream(fd)); - } - - var _sqrtf=Math_sqrt; - - - Module["_strncpy"] = _strncpy; - function _emscripten_glDrawArrays(mode, first, count) { GLctx.drawArrays(mode, first, count); @@ -10208,7 +10076,12 @@ function copyTempDouble(ptr) { } } - var _log=Math_log; + function _emscripten_glClearDepth(x0) { GLctx['clearDepth'](x0) } + + function _emscripten_set_keypress_callback(target, userData, useCapture, callbackfunc) { + JSEvents.registerKeyEventCallback(target, userData, useCapture, callbackfunc, 1, "keypress"); + return 0; + } function _glfwSetCharCallback(winid, cbfun) { GLFW.setCharCallback(winid, cbfun); @@ -10244,8 +10117,6 @@ function copyTempDouble(ptr) { } } - function _glActiveTexture(x0) { GLctx.activeTexture(x0) } - function _glBindBuffer(target, buffer) { var bufferObj = buffer ? GL.buffers[buffer] : null; @@ -10253,18 +10124,12 @@ function copyTempDouble(ptr) { GLctx.bindBuffer(target, bufferObj); } - function _glPixelStorei(pname, param) { - if (pname == 0x0D05 /* GL_PACK_ALIGNMENT */) { - GL.packAlignment = param; - } else if (pname == 0x0cf5 /* GL_UNPACK_ALIGNMENT */) { - GL.unpackAlignment = param; - } - GLctx.pixelStorei(pname, param); + function _emscripten_glVertexAttrib4fv(index, v) { + + GLctx.vertexAttrib4f(index, HEAPF32[v>>2], HEAPF32[v+4>>2], HEAPF32[v+8>>2], HEAPF32[v+12>>2]); } - function _emscripten_glEnable(x0) { GLctx.enable(x0) } - - function _emscripten_glScissor(x0, x1, x2, x3) { GLctx.scissor(x0, x1, x2, x3) } + function _emscripten_glScissor(x0, x1, x2, x3) { GLctx['scissor'](x0, x1, x2, x3) } function _glfwSetCursorEnterCallback(winid, cbfun) { var win = GLFW.WindowFromId(winid); @@ -10272,21 +10137,10 @@ function copyTempDouble(ptr) { win.cursorEnterFunc = cbfun; } + + Module["_bitshift64Lshr"] = _bitshift64Lshr; + function _glBufferData(target, size, data, usage) { - switch (usage) { // fix usages, WebGL only has *_DRAW - case 0x88E1: // GL_STREAM_READ - case 0x88E2: // GL_STREAM_COPY - usage = 0x88E0; // GL_STREAM_DRAW - break; - case 0x88E5: // GL_STATIC_READ - case 0x88E6: // GL_STATIC_COPY - usage = 0x88E4; // GL_STATIC_DRAW - break; - case 0x88E9: // GL_DYNAMIC_READ - case 0x88EA: // GL_DYNAMIC_COPY - usage = 0x88E8; // GL_DYNAMIC_DRAW - break; - } if (!data) { GLctx.bufferData(target, size, usage); } else { @@ -10301,434 +10155,17 @@ function copyTempDouble(ptr) { } function _emscripten_glDrawBuffers(n, bufs) { - var bufArray = []; - for (var i = 0; i < n; i++) - bufArray.push(HEAP32[(((bufs)+(i*4))>>2)]); - GL.currentContext.drawBuffersExt(bufArray); + var bufArray = GL.tempFixedLengthArray[n]; + for (var i = 0; i < n; i++) { + bufArray[i] = HEAP32[(((bufs)+(i*4))>>2)]; + } + + GLctx['drawBuffers'](bufArray); } - - - - function __reallyNegative(x) { - return x < 0 || (x === 0 && (1/x) === -Infinity); - }function __formatString(format, varargs) { - assert((varargs & 3) === 0); - var textIndex = format; - var argIndex = 0; - function getNextArg(type) { - // NOTE: Explicitly ignoring type safety. Otherwise this fails: - // int x = 4; printf("%c\n", (char)x); - var ret; - argIndex = Runtime.prepVararg(argIndex, type); - if (type === 'double') { - ret = (HEAP32[((tempDoublePtr)>>2)]=HEAP32[(((varargs)+(argIndex))>>2)],HEAP32[(((tempDoublePtr)+(4))>>2)]=HEAP32[(((varargs)+((argIndex)+(4)))>>2)],(+(HEAPF64[(tempDoublePtr)>>3]))); - argIndex += 8; - } else if (type == 'i64') { - ret = [HEAP32[(((varargs)+(argIndex))>>2)], - HEAP32[(((varargs)+(argIndex+4))>>2)]]; - - argIndex += 8; - } else { - assert((argIndex & 3) === 0); - type = 'i32'; // varargs are always i32, i64, or double - ret = HEAP32[(((varargs)+(argIndex))>>2)]; - argIndex += 4; - } - return ret; - } - - var ret = []; - var curr, next, currArg; - while(1) { - var startTextIndex = textIndex; - curr = HEAP8[((textIndex)>>0)]; - if (curr === 0) break; - next = HEAP8[((textIndex+1)>>0)]; - if (curr == 37) { - // Handle flags. - var flagAlwaysSigned = false; - var flagLeftAlign = false; - var flagAlternative = false; - var flagZeroPad = false; - var flagPadSign = false; - flagsLoop: while (1) { - switch (next) { - case 43: - flagAlwaysSigned = true; - break; - case 45: - flagLeftAlign = true; - break; - case 35: - flagAlternative = true; - break; - case 48: - if (flagZeroPad) { - break flagsLoop; - } else { - flagZeroPad = true; - break; - } - case 32: - flagPadSign = true; - break; - default: - break flagsLoop; - } - textIndex++; - next = HEAP8[((textIndex+1)>>0)]; - } - - // Handle width. - var width = 0; - if (next == 42) { - width = getNextArg('i32'); - textIndex++; - next = HEAP8[((textIndex+1)>>0)]; - } else { - while (next >= 48 && next <= 57) { - width = width * 10 + (next - 48); - textIndex++; - next = HEAP8[((textIndex+1)>>0)]; - } - } - - // Handle precision. - var precisionSet = false, precision = -1; - if (next == 46) { - precision = 0; - precisionSet = true; - textIndex++; - next = HEAP8[((textIndex+1)>>0)]; - if (next == 42) { - precision = getNextArg('i32'); - textIndex++; - } else { - while(1) { - var precisionChr = HEAP8[((textIndex+1)>>0)]; - if (precisionChr < 48 || - precisionChr > 57) break; - precision = precision * 10 + (precisionChr - 48); - textIndex++; - } - } - next = HEAP8[((textIndex+1)>>0)]; - } - if (precision < 0) { - precision = 6; // Standard default. - precisionSet = false; - } - - // Handle integer sizes. WARNING: These assume a 32-bit architecture! - var argSize; - switch (String.fromCharCode(next)) { - case 'h': - var nextNext = HEAP8[((textIndex+2)>>0)]; - if (nextNext == 104) { - textIndex++; - argSize = 1; // char (actually i32 in varargs) - } else { - argSize = 2; // short (actually i32 in varargs) - } - break; - case 'l': - var nextNext = HEAP8[((textIndex+2)>>0)]; - if (nextNext == 108) { - textIndex++; - argSize = 8; // long long - } else { - argSize = 4; // long - } - break; - case 'L': // long long - case 'q': // int64_t - case 'j': // intmax_t - argSize = 8; - break; - case 'z': // size_t - case 't': // ptrdiff_t - case 'I': // signed ptrdiff_t or unsigned size_t - argSize = 4; - break; - default: - argSize = null; - } - if (argSize) textIndex++; - next = HEAP8[((textIndex+1)>>0)]; - - // Handle type specifier. - switch (String.fromCharCode(next)) { - case 'd': case 'i': case 'u': case 'o': case 'x': case 'X': case 'p': { - // Integer. - var signed = next == 100 || next == 105; - argSize = argSize || 4; - var currArg = getNextArg('i' + (argSize * 8)); - var origArg = currArg; - var argText; - // Flatten i64-1 [low, high] into a (slightly rounded) double - if (argSize == 8) { - currArg = Runtime.makeBigInt(currArg[0], currArg[1], next == 117); - } - // Truncate to requested size. - if (argSize <= 4) { - var limit = Math.pow(256, argSize) - 1; - currArg = (signed ? reSign : unSign)(currArg & limit, argSize * 8); - } - // Format the number. - var currAbsArg = Math.abs(currArg); - var prefix = ''; - if (next == 100 || next == 105) { - if (argSize == 8 && i64Math) argText = i64Math.stringify(origArg[0], origArg[1], null); else - argText = reSign(currArg, 8 * argSize, 1).toString(10); - } else if (next == 117) { - if (argSize == 8 && i64Math) argText = i64Math.stringify(origArg[0], origArg[1], true); else - argText = unSign(currArg, 8 * argSize, 1).toString(10); - currArg = Math.abs(currArg); - } else if (next == 111) { - argText = (flagAlternative ? '0' : '') + currAbsArg.toString(8); - } else if (next == 120 || next == 88) { - prefix = (flagAlternative && currArg != 0) ? '0x' : ''; - if (argSize == 8 && i64Math) { - if (origArg[1]) { - argText = (origArg[1]>>>0).toString(16); - var lower = (origArg[0]>>>0).toString(16); - while (lower.length < 8) lower = '0' + lower; - argText += lower; - } else { - argText = (origArg[0]>>>0).toString(16); - } - } else - if (currArg < 0) { - // Represent negative numbers in hex as 2's complement. - currArg = -currArg; - argText = (currAbsArg - 1).toString(16); - var buffer = []; - for (var i = 0; i < argText.length; i++) { - buffer.push((0xF - parseInt(argText[i], 16)).toString(16)); - } - argText = buffer.join(''); - while (argText.length < argSize * 2) argText = 'f' + argText; - } else { - argText = currAbsArg.toString(16); - } - if (next == 88) { - prefix = prefix.toUpperCase(); - argText = argText.toUpperCase(); - } - } else if (next == 112) { - if (currAbsArg === 0) { - argText = '(nil)'; - } else { - prefix = '0x'; - argText = currAbsArg.toString(16); - } - } - if (precisionSet) { - while (argText.length < precision) { - argText = '0' + argText; - } - } - - // Add sign if needed - if (currArg >= 0) { - if (flagAlwaysSigned) { - prefix = '+' + prefix; - } else if (flagPadSign) { - prefix = ' ' + prefix; - } - } - - // Move sign to prefix so we zero-pad after the sign - if (argText.charAt(0) == '-') { - prefix = '-' + prefix; - argText = argText.substr(1); - } - - // Add padding. - while (prefix.length + argText.length < width) { - if (flagLeftAlign) { - argText += ' '; - } else { - if (flagZeroPad) { - argText = '0' + argText; - } else { - prefix = ' ' + prefix; - } - } - } - - // Insert the result into the buffer. - argText = prefix + argText; - argText.split('').forEach(function(chr) { - ret.push(chr.charCodeAt(0)); - }); - break; - } - case 'f': case 'F': case 'e': case 'E': case 'g': case 'G': { - // Float. - var currArg = getNextArg('double'); - var argText; - if (isNaN(currArg)) { - argText = 'nan'; - flagZeroPad = false; - } else if (!isFinite(currArg)) { - argText = (currArg < 0 ? '-' : '') + 'inf'; - flagZeroPad = false; - } else { - var isGeneral = false; - var effectivePrecision = Math.min(precision, 20); - - // Convert g/G to f/F or e/E, as per: - // http://pubs.opengroup.org/onlinepubs/9699919799/functions/printf.html - if (next == 103 || next == 71) { - isGeneral = true; - precision = precision || 1; - var exponent = parseInt(currArg.toExponential(effectivePrecision).split('e')[1], 10); - if (precision > exponent && exponent >= -4) { - next = ((next == 103) ? 'f' : 'F').charCodeAt(0); - precision -= exponent + 1; - } else { - next = ((next == 103) ? 'e' : 'E').charCodeAt(0); - precision--; - } - effectivePrecision = Math.min(precision, 20); - } - - if (next == 101 || next == 69) { - argText = currArg.toExponential(effectivePrecision); - // Make sure the exponent has at least 2 digits. - if (/[eE][-+]\d$/.test(argText)) { - argText = argText.slice(0, -1) + '0' + argText.slice(-1); - } - } else if (next == 102 || next == 70) { - argText = currArg.toFixed(effectivePrecision); - if (currArg === 0 && __reallyNegative(currArg)) { - argText = '-' + argText; - } - } - - var parts = argText.split('e'); - if (isGeneral && !flagAlternative) { - // Discard trailing zeros and periods. - while (parts[0].length > 1 && parts[0].indexOf('.') != -1 && - (parts[0].slice(-1) == '0' || parts[0].slice(-1) == '.')) { - parts[0] = parts[0].slice(0, -1); - } - } else { - // Make sure we have a period in alternative mode. - if (flagAlternative && argText.indexOf('.') == -1) parts[0] += '.'; - // Zero pad until required precision. - while (precision > effectivePrecision++) parts[0] += '0'; - } - argText = parts[0] + (parts.length > 1 ? 'e' + parts[1] : ''); - - // Capitalize 'E' if needed. - if (next == 69) argText = argText.toUpperCase(); - - // Add sign. - if (currArg >= 0) { - if (flagAlwaysSigned) { - argText = '+' + argText; - } else if (flagPadSign) { - argText = ' ' + argText; - } - } - } - - // Add padding. - while (argText.length < width) { - if (flagLeftAlign) { - argText += ' '; - } else { - if (flagZeroPad && (argText[0] == '-' || argText[0] == '+')) { - argText = argText[0] + '0' + argText.slice(1); - } else { - argText = (flagZeroPad ? '0' : ' ') + argText; - } - } - } - - // Adjust case. - if (next < 97) argText = argText.toUpperCase(); - - // Insert the result into the buffer. - argText.split('').forEach(function(chr) { - ret.push(chr.charCodeAt(0)); - }); - break; - } - case 's': { - // String. - var arg = getNextArg('i8*'); - var argLength = arg ? _strlen(arg) : '(null)'.length; - if (precisionSet) argLength = Math.min(argLength, precision); - if (!flagLeftAlign) { - while (argLength < width--) { - ret.push(32); - } - } - if (arg) { - for (var i = 0; i < argLength; i++) { - ret.push(HEAPU8[((arg++)>>0)]); - } - } else { - ret = ret.concat(intArrayFromString('(null)'.substr(0, argLength), true)); - } - if (flagLeftAlign) { - while (argLength < width--) { - ret.push(32); - } - } - break; - } - case 'c': { - // Character. - if (flagLeftAlign) ret.push(getNextArg('i8')); - while (--width > 0) { - ret.push(32); - } - if (!flagLeftAlign) ret.push(getNextArg('i8')); - break; - } - case 'n': { - // Write the length written so far to the next parameter. - var ptr = getNextArg('i32*'); - HEAP32[((ptr)>>2)]=ret.length; - break; - } - case '%': { - // Literal percent sign. - ret.push(curr); - break; - } - default: { - // Unknown specifiers remain untouched. - for (var i = startTextIndex; i < textIndex + 2; i++) { - ret.push(HEAP8[((i)>>0)]); - } - } - } - textIndex += 2; - // TODO: Support a/A (hex float) and m (last error) specifiers. - // TODO: Support %1${specifier} for arg selection. - } else { - ret.push(curr); - textIndex += 1; - } - } - return ret; - }function _fprintf(stream, format, varargs) { - // int fprintf(FILE *restrict stream, const char *restrict format, ...); - // http://pubs.opengroup.org/onlinepubs/000095399/functions/printf.html - var result = __formatString(format, varargs); - var stack = Runtime.stackSave(); - var ret = _fwrite(allocate(result, 'i8', ALLOC_STACK), 1, result.length, stream); - Runtime.stackRestore(stack); - return ret; - }function _vfprintf(s, f, va_arg) { - return _fprintf(s, f, HEAP32[((va_arg)>>2)]); + function _glGetFloatv(name_, p) { + emscriptenWebGLGet(name_, p, 'Float'); } function _emscripten_glBindFramebuffer(target, framebuffer) { @@ -10743,27 +10180,13 @@ function copyTempDouble(ptr) { return 0; } - function _emscripten_glBlendEquation(x0) { GLctx.blendEquation(x0) } + function _emscripten_glBlendEquation(x0) { GLctx['blendEquation'](x0) } function _emscripten_glBufferSubData(target, offset, size, data) { GLctx.bufferSubData(target, offset, HEAPU8.subarray(data, data+size)); } function _emscripten_glBufferData(target, size, data, usage) { - switch (usage) { // fix usages, WebGL only has *_DRAW - case 0x88E1: // GL_STREAM_READ - case 0x88E2: // GL_STREAM_COPY - usage = 0x88E0; // GL_STREAM_DRAW - break; - case 0x88E5: // GL_STATIC_READ - case 0x88E6: // GL_STATIC_COPY - usage = 0x88E4; // GL_STATIC_DRAW - break; - case 0x88E9: // GL_DYNAMIC_READ - case 0x88EA: // GL_DYNAMIC_COPY - usage = 0x88E8; // GL_DYNAMIC_DRAW - break; - } if (!data) { GLctx.bufferData(target, size, usage); } else { @@ -10771,64 +10194,57 @@ function copyTempDouble(ptr) { } } - function _sbrk(bytes) { - // Implement a Linux-like 'memory area' for our 'process'. - // Changes the size of the memory area by |bytes|; returns the - // address of the previous top ('break') of the memory area - // We control the "dynamic" memory - DYNAMIC_BASE to DYNAMICTOP - var self = _sbrk; - if (!self.called) { - DYNAMICTOP = alignMemoryPage(DYNAMICTOP); // make sure we start out aligned - self.called = true; - assert(Runtime.dynamicAlloc); - self.alloc = Runtime.dynamicAlloc; - Runtime.dynamicAlloc = function() { abort('cannot dynamically allocate, sbrk now has control') }; - } - var ret = DYNAMICTOP; - if (bytes != 0) { - var success = self.alloc(bytes); - if (!success) return -1 >>> 0; // sbrk failure code - } - return ret; // Previous break location. - } - - Module["_bitshift64Shl"] = _bitshift64Shl; + Module["_sbrk"] = _sbrk; - function _emscripten_glVertexAttrib4fv(index, v) { - v = HEAPF32.subarray((v)>>2,(v+16)>>2); - GLctx.vertexAttrib4fv(index, v); + function _alcMakeContextCurrent(context) { + if (context == 0) { + AL.currentContext = null; + return 0; + } else { + AL.currentContext = AL.contexts[context - 1]; + return 1; + } } - var _BItoD=true; - function _emscripten_glGetShaderSource(shader, bufSize, length, source) { var result = GLctx.getShaderSource(GL.shaders[shader]); if (!result) return; // If an error occurs, nothing will be written to length or source. - result = result.slice(0, Math.max(0, bufSize - 1)); if (bufSize > 0 && source) { - writeStringToMemory(result, source); - if (length) HEAP32[((length)>>2)]=result.length; + var numBytesWrittenExclNull = stringToUTF8(result, source, bufSize); + if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; } else { if (length) HEAP32[((length)>>2)]=0; } } - function _emscripten_glClearDepth(x0) { GLctx.clearDepth(x0) } + + Module["_llvm_bswap_i32"] = _llvm_bswap_i32; + + function _emscripten_set_click_callback(target, userData, useCapture, callbackfunc) { + JSEvents.registerMouseEventCallback(target, userData, useCapture, callbackfunc, 4, "click"); + return 0; + } + + function _glfwSetKeyCallback(winid, cbfun) { + GLFW.setKeyCallback(winid, cbfun); + } + + function _emscripten_set_gamepadconnected_callback(userData, useCapture, callbackfunc) { + if (!navigator.getGamepads && !navigator.webkitGetGamepads) return -1; + JSEvents.registerGamepadEventCallback(window, userData, useCapture, callbackfunc, 26, "gamepadconnected"); + return 0; + } function _emscripten_glGetFloatv(name_, p) { - return GL.get(name_, p, 'Float'); + emscriptenWebGLGet(name_, p, 'Float'); } function _glTexImage2D(target, level, internalFormat, width, height, border, format, type, pixels) { - if (pixels) { - var data = GL.getTexPixelData(type, format, width, height, pixels, internalFormat); - pixels = data.pixels; - internalFormat = data.internalFormat; - } else { - pixels = null; - } - GLctx.texImage2D(target, level, internalFormat, width, height, border, format, type, pixels); + + var pixelData = null; + if (pixels) pixelData = emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, internalFormat); + GLctx.texImage2D(target, level, internalFormat, width, height, border, format, type, pixelData); } function ___assert_fail(condition, filename, line, func) { @@ -10837,14 +10253,13 @@ function copyTempDouble(ptr) { } function _emscripten_glVertexAttribDivisor(index, divisor) { - GL.currentContext.instancedArraysExt.vertexAttribDivisorANGLE(index, divisor); + GLctx['vertexAttribDivisor'](index, divisor); } function _emscripten_glDrawElementsInstanced(mode, count, type, indices, primcount) { - GL.currentContext.instancedArraysExt.drawElementsInstancedANGLE(mode, count, type, indices, primcount); + GLctx['drawElementsInstanced'](mode, count, type, indices, primcount); } - function _emscripten_glDrawElements(mode, count, type, indices) { GLctx.drawElements(mode, count, type, indices); @@ -10863,52 +10278,14 @@ function copyTempDouble(ptr) { return id; } - function _emscripten_glDeleteFramebuffers(n, framebuffers) { - for (var i = 0; i < n; ++i) { - var id = HEAP32[(((framebuffers)+(i*4))>>2)]; - var framebuffer = GL.framebuffers[id]; - if (!framebuffer) continue; // GL spec: "glDeleteFramebuffers silently ignores 0s and names that do not correspond to existing framebuffer objects". - GLctx.deleteFramebuffer(framebuffer); - framebuffer.name = 0; - GL.framebuffers[id] = null; - } + function _emscripten_glCompressedTexImage2D(target, level, internalFormat, width, height, border, imageSize, data) { + GLctx['compressedTexImage2D'](target, level, internalFormat, width, height, border, data ? HEAPU8.subarray((data),(data+imageSize)) : null); } - function _emscripten_glClearColor(x0, x1, x2, x3) { GLctx.clearColor(x0, x1, x2, x3) } + function _emscripten_glClearColor(x0, x1, x2, x3) { GLctx['clearColor'](x0, x1, x2, x3) } function _emscripten_glBindVertexArray(vao) { - - GL.currentContext.vaoExt.bindVertexArrayOES(GL.vaos[vao]); - } - - var _floor=Math_floor; - - - function _lseek(fildes, offset, whence) { - // off_t lseek(int fildes, off_t offset, int whence); - // http://pubs.opengroup.org/onlinepubs/000095399/functions/lseek.html - var stream = FS.getStream(fildes); - if (!stream) { - ___setErrNo(ERRNO_CODES.EBADF); - return -1; - } - try { - return FS.llseek(stream, offset, whence); - } catch (e) { - FS.handleFSError(e); - return -1; - } - }function _fseek(stream, offset, whence) { - // int fseek(FILE *stream, long offset, int whence); - // http://pubs.opengroup.org/onlinepubs/000095399/functions/fseek.html - var fd = _fileno(stream); - var ret = _lseek(fd, offset, whence); - if (ret == -1) { - return -1; - } - stream = FS.getStreamFromPtr(stream); - stream.eof = false; - return 0; + GLctx['bindVertexArray'](GL.vaos[vao]); } function _emscripten_glLoadMatrixf() { @@ -10927,39 +10304,52 @@ function copyTempDouble(ptr) { } function _emscripten_glGetProgramiv(program, pname, p) { + if (!p) { + // GLES2 specification does not specify how to behave if p is a null pointer. Since calling this function does not make sense + // if p == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + + if (program >= GL.counter) { + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + + var ptable = GL.programInfos[program]; + if (!ptable) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); + return; + } + if (pname == 0x8B84) { // GL_INFO_LOG_LENGTH var log = GLctx.getProgramInfoLog(GL.programs[program]); if (log === null) log = '(unknown error)'; HEAP32[((p)>>2)]=log.length + 1; } else if (pname == 0x8B87 /* GL_ACTIVE_UNIFORM_MAX_LENGTH */) { - var ptable = GL.programInfos[program]; - if (ptable) { - HEAP32[((p)>>2)]=ptable.maxUniformLength; - return; - } else if (program < GL.counter) { - GL.recordError(0x0502 /* GL_INVALID_OPERATION */); - } else { - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - } + HEAP32[((p)>>2)]=ptable.maxUniformLength; } else if (pname == 0x8B8A /* GL_ACTIVE_ATTRIBUTE_MAX_LENGTH */) { - var ptable = GL.programInfos[program]; - if (ptable) { - if (ptable.maxAttributeLength == -1) { - var program = GL.programs[program]; - var numAttribs = GLctx.getProgramParameter(program, GLctx.ACTIVE_ATTRIBUTES); - ptable.maxAttributeLength = 0; // Spec says if there are no active attribs, 0 must be returned. - for(var i = 0; i < numAttribs; ++i) { - var activeAttrib = GLctx.getActiveAttrib(program, i); - ptable.maxAttributeLength = Math.max(ptable.maxAttributeLength, activeAttrib.name.length+1); - } + if (ptable.maxAttributeLength == -1) { + var program = GL.programs[program]; + var numAttribs = GLctx.getProgramParameter(program, GLctx.ACTIVE_ATTRIBUTES); + ptable.maxAttributeLength = 0; // Spec says if there are no active attribs, 0 must be returned. + for (var i = 0; i < numAttribs; ++i) { + var activeAttrib = GLctx.getActiveAttrib(program, i); + ptable.maxAttributeLength = Math.max(ptable.maxAttributeLength, activeAttrib.name.length+1); } - HEAP32[((p)>>2)]=ptable.maxAttributeLength; - return; - } else if (program < GL.counter) { - GL.recordError(0x0502 /* GL_INVALID_OPERATION */); - } else { - GL.recordError(0x0501 /* GL_INVALID_VALUE */); } + HEAP32[((p)>>2)]=ptable.maxAttributeLength; + } else if (pname == 0x8A35 /* GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH */) { + if (ptable.maxUniformBlockNameLength == -1) { + var program = GL.programs[program]; + var numBlocks = GLctx.getProgramParameter(program, GLctx.ACTIVE_UNIFORM_BLOCKS); + ptable.maxUniformBlockNameLength = 0; + for (var i = 0; i < numBlocks; ++i) { + var activeBlockName = GLctx.getActiveUniformBlockName(program, i); + ptable.maxUniformBlockNameLength = Math.max(ptable.maxUniformBlockNameLength, activeBlockName.length+1); + } + } + HEAP32[((p)>>2)]=ptable.maxUniformBlockNameLength; } else { HEAP32[((p)>>2)]=GLctx.getProgramParameter(GL.programs[program], pname); } @@ -10969,43 +10359,45 @@ function copyTempDouble(ptr) { var log = GLctx.getProgramInfoLog(GL.programs[program]); if (log === null) log = '(unknown error)'; - log = log.substr(0, maxLength - 1); if (maxLength > 0 && infoLog) { - writeStringToMemory(log, infoLog); - if (length) HEAP32[((length)>>2)]=log.length; + var numBytesWrittenExclNull = stringToUTF8(log, infoLog, maxLength); + if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; } else { if (length) HEAP32[((length)>>2)]=0; } } function _emscripten_glTexImage2D(target, level, internalFormat, width, height, border, format, type, pixels) { - if (pixels) { - var data = GL.getTexPixelData(type, format, width, height, pixels, internalFormat); - pixels = data.pixels; - internalFormat = data.internalFormat; - } else { - pixels = null; - } - GLctx.texImage2D(target, level, internalFormat, width, height, border, format, type, pixels); + + var pixelData = null; + if (pixels) pixelData = emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, internalFormat); + GLctx.texImage2D(target, level, internalFormat, width, height, border, format, type, pixelData); } - var _exp=Math_exp; + function _glPixelStorei(pname, param) { + if (pname == 0x0D05 /* GL_PACK_ALIGNMENT */) { + GL.packAlignment = param; + } else if (pname == 0x0cf5 /* GL_UNPACK_ALIGNMENT */) { + GL.unpackAlignment = param; + } + GLctx.pixelStorei(pname, param); + } + + function ___unlock() {} function _emscripten_glColorPointer() { Module['printErr']('missing function: emscripten_glColorPointer'); abort(-1); } - function _glViewport(x0, x1, x2, x3) { GLctx.viewport(x0, x1, x2, x3) } + function _glViewport(x0, x1, x2, x3) { GLctx['viewport'](x0, x1, x2, x3) } - function _glfwPollEvents() {} - - function _emscripten_glCheckFramebufferStatus(x0) { return GLctx.checkFramebufferStatus(x0) } + function _emscripten_glCheckFramebufferStatus(x0) { return GLctx['checkFramebufferStatus'](x0) } function _glfwDestroyWindow(winid) { return GLFW.destroyWindow(winid); } - function _emscripten_glFlush() { GLctx.flush() } + function _emscripten_glFlush() { GLctx['flush']() } function _glfwSetErrorCallback(cbfun) { GLFW.errorFunc = cbfun; @@ -11018,32 +10410,50 @@ function copyTempDouble(ptr) { } function _glUniformMatrix4fv(location, count, transpose, value) { - location = GL.uniforms[location]; + + var view; - if (count === 1) { - // avoid allocation for the common case of uploading one uniform matrix - view = GL.miniTempBufferViews[15]; - for (var i = 0; i < 16; i++) { - view[i] = HEAPF32[(((value)+(i*4))>>2)]; + if (16*count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[16*count-1]; + for (var i = 0; i < 16*count; i += 16) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; + view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; + view[i+3] = HEAPF32[(((value)+(4*i+12))>>2)]; + view[i+4] = HEAPF32[(((value)+(4*i+16))>>2)]; + view[i+5] = HEAPF32[(((value)+(4*i+20))>>2)]; + view[i+6] = HEAPF32[(((value)+(4*i+24))>>2)]; + view[i+7] = HEAPF32[(((value)+(4*i+28))>>2)]; + view[i+8] = HEAPF32[(((value)+(4*i+32))>>2)]; + view[i+9] = HEAPF32[(((value)+(4*i+36))>>2)]; + view[i+10] = HEAPF32[(((value)+(4*i+40))>>2)]; + view[i+11] = HEAPF32[(((value)+(4*i+44))>>2)]; + view[i+12] = HEAPF32[(((value)+(4*i+48))>>2)]; + view[i+13] = HEAPF32[(((value)+(4*i+52))>>2)]; + view[i+14] = HEAPF32[(((value)+(4*i+56))>>2)]; + view[i+15] = HEAPF32[(((value)+(4*i+60))>>2)]; } } else { view = HEAPF32.subarray((value)>>2,(value+count*64)>>2); } - GLctx.uniformMatrix4fv(location, transpose, view); + GLctx.uniformMatrix4fv(GL.uniforms[location], !!transpose, view); } function _emscripten_glValidateProgram(program) { GLctx.validateProgram(GL.programs[program]); } - function _glTexParameteri(x0, x1, x2) { GLctx.texParameteri(x0, x1, x2) } + function _glTexParameterf(x0, x1, x2) { GLctx['texParameterf'](x0, x1, x2) } - function _glfwSetKeyCallback(winid, cbfun) { - GLFW.setKeyCallback(winid, cbfun); + function _glTexParameteri(x0, x1, x2) { GLctx['texParameteri'](x0, x1, x2) } + + function _glFrontFace(x0) { GLctx['frontFace'](x0) } + + function _emscripten_glColorMask(red, green, blue, alpha) { + GLctx.colorMask(!!red, !!green, !!blue, !!alpha); } - function _emscripten_glColorMask(x0, x1, x2, x3) { GLctx.colorMask(x0, x1, x2, x3) } - function _emscripten_glPixelStorei(pname, param) { if (pname == 0x0D05 /* GL_PACK_ALIGNMENT */) { GL.packAlignment = param; @@ -11068,10 +10478,14 @@ function copyTempDouble(ptr) { return GLFW.getKey(winid, key); } + function _emscripten_glCompileShader(shader) { + GLctx.compileShader(GL.shaders[shader]); + } + function _emscripten_glGenVertexArrays(n, arrays) { - for(var i = 0; i < n; i++) { - var vao = GL.currentContext.vaoExt.createVertexArrayOES(); + for (var i = 0; i < n; i++) { + var vao = GLctx['createVertexArray'](); if (!vao) { GL.recordError(0x0502 /* GL_INVALID_OPERATION */); while(i < n) HEAP32[(((arrays)+(i++*4))>>2)]=0; @@ -11093,46 +10507,159 @@ function copyTempDouble(ptr) { } function _emscripten_glGetBooleanv(name_, p) { - return GL.get(name_, p, 'Boolean'); + emscriptenWebGLGet(name_, p, 'Boolean'); } - function _emscripten_glCompileShader(shader) { - GLctx.compileShader(GL.shaders[shader]); - } - -var GLctx; GL.init() -FS.staticInit();__ATINIT__.unshift(function() { if (!Module["noFSInit"] && !FS.init.initialized) FS.init() });__ATMAIN__.push(function() { FS.ignorePermissions = false });__ATEXIT__.push(function() { FS.quit() });Module["FS_createFolder"] = FS.createFolder;Module["FS_createPath"] = FS.createPath;Module["FS_createDataFile"] = FS.createDataFile;Module["FS_createPreloadedFile"] = FS.createPreloadedFile;Module["FS_createLazyFile"] = FS.createLazyFile;Module["FS_createLink"] = FS.createLink;Module["FS_createDevice"] = FS.createDevice; -___errno_state = Runtime.staticAlloc(4); HEAP32[((___errno_state)>>2)]=0; -__ATINIT__.unshift(function() { TTY.init() });__ATEXIT__.push(function() { TTY.shutdown() }); -if (ENVIRONMENT_IS_NODE) { var fs = require("fs"); var NODEJS_PATH = require("path"); NODEFS.staticInit(); } -_fputc.ret = allocate([0], "i8", ALLOC_STATIC); -__ATINIT__.push(function() { SOCKFS.root = FS.mount(SOCKFS, {}, null); }); -Module["requestFullScreen"] = function Module_requestFullScreen(lockPointer, resizeCanvas, vrDevice) { Browser.requestFullScreen(lockPointer, resizeCanvas, vrDevice) }; + function ___syscall221(which, varargs) {SYSCALLS.varargs = varargs; + try { + // fcntl64 + var stream = SYSCALLS.getStreamFromFD(), cmd = SYSCALLS.get(); + switch (cmd) { + case 0: { + var arg = SYSCALLS.get(); + if (arg < 0) { + return -ERRNO_CODES.EINVAL; + } + var newStream; + newStream = FS.open(stream.path, stream.flags, 0, arg); + return newStream.fd; + } + case 1: + case 2: + return 0; // FD_CLOEXEC makes no sense for a single process. + case 3: + return stream.flags; + case 4: { + var arg = SYSCALLS.get(); + stream.flags |= arg; + return 0; + } + case 12: + case 12: { + var arg = SYSCALLS.get(); + var offset = 0; + // We're always unlocked. + HEAP16[(((arg)+(offset))>>1)]=2; + return 0; + } + case 13: + case 14: + case 13: + case 14: + return 0; // Pretend that the locking is successful. + case 16: + case 8: + return -ERRNO_CODES.EINVAL; // These are for sockets. We don't have them fully implemented yet. + case 9: + // musl trusts getown return values, due to a bug where they must be, as they overlap with errors. just return -1 here, so fnctl() returns that, and we set errno ourselves. + ___setErrNo(ERRNO_CODES.EINVAL); + return -1; + default: { + return -ERRNO_CODES.EINVAL; + } + } + } catch (e) { + if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno; + } + } +var GLctx; GL.init(); +if (ENVIRONMENT_IS_NODE) { + _emscripten_get_now = function _emscripten_get_now_actual() { + var t = process['hrtime'](); + return t[0] * 1e3 + t[1] / 1e6; + }; + } else if (typeof dateNow !== 'undefined') { + _emscripten_get_now = dateNow; + } else if (typeof self === 'object' && self['performance'] && typeof self['performance']['now'] === 'function') { + _emscripten_get_now = function() { return self['performance']['now'](); }; + } else if (typeof performance === 'object' && typeof performance['now'] === 'function') { + _emscripten_get_now = function() { return performance['now'](); }; + } else { + _emscripten_get_now = Date.now; + }; +Module["requestFullScreen"] = function Module_requestFullScreen(lockPointer, resizeCanvas, vrDevice) { Module.printErr("Module.requestFullScreen is deprecated. Please call Module.requestFullscreen instead."); Module["requestFullScreen"] = Module["requestFullscreen"]; Browser.requestFullScreen(lockPointer, resizeCanvas, vrDevice) }; + Module["requestFullscreen"] = function Module_requestFullscreen(lockPointer, resizeCanvas, vrDevice) { Browser.requestFullscreen(lockPointer, resizeCanvas, vrDevice) }; Module["requestAnimationFrame"] = function Module_requestAnimationFrame(func) { Browser.requestAnimationFrame(func) }; Module["setCanvasSize"] = function Module_setCanvasSize(width, height, noUpdates) { Browser.setCanvasSize(width, height, noUpdates) }; Module["pauseMainLoop"] = function Module_pauseMainLoop() { Browser.mainLoop.pause() }; Module["resumeMainLoop"] = function Module_resumeMainLoop() { Browser.mainLoop.resume() }; Module["getUserMedia"] = function Module_getUserMedia() { Browser.getUserMedia() } - Module["createContext"] = function Module_createContext(canvas, useWebGL, setInModule, webGLContextAttributes) { return Browser.createContext(canvas, useWebGL, setInModule, webGLContextAttributes) } -_fgetc.ret = allocate([0], "i8", ALLOC_STATIC); -STACK_BASE = STACKTOP = Runtime.alignMemory(STATICTOP); + Module["createContext"] = function Module_createContext(canvas, useWebGL, setInModule, webGLContextAttributes) { return Browser.createContext(canvas, useWebGL, setInModule, webGLContextAttributes) }; +FS.staticInit();__ATINIT__.unshift(function() { if (!Module["noFSInit"] && !FS.init.initialized) FS.init() });__ATMAIN__.push(function() { FS.ignorePermissions = false });__ATEXIT__.push(function() { FS.quit() });Module["FS_createFolder"] = FS.createFolder;Module["FS_createPath"] = FS.createPath;Module["FS_createDataFile"] = FS.createDataFile;Module["FS_createPreloadedFile"] = FS.createPreloadedFile;Module["FS_createLazyFile"] = FS.createLazyFile;Module["FS_createLink"] = FS.createLink;Module["FS_createDevice"] = FS.createDevice;Module["FS_unlink"] = FS.unlink;; +__ATINIT__.unshift(function() { TTY.init() });__ATEXIT__.push(function() { TTY.shutdown() });; +if (ENVIRONMENT_IS_NODE) { var fs = require("fs"); var NODEJS_PATH = require("path"); NODEFS.staticInit(); }; +JSEvents.staticInit();; +DYNAMICTOP_PTR = allocate(1, "i32", ALLOC_STATIC); -staticSealed = true; // seal the static portion of memory +STACK_BASE = STACKTOP = Runtime.alignMemory(STATICTOP); STACK_MAX = STACK_BASE + TOTAL_STACK; -DYNAMIC_BASE = DYNAMICTOP = Runtime.alignMemory(STACK_MAX); +DYNAMIC_BASE = Runtime.alignMemory(STACK_MAX); + +HEAP32[DYNAMICTOP_PTR>>2] = DYNAMIC_BASE; + +staticSealed = true; // seal the static portion of memory assert(DYNAMIC_BASE < TOTAL_MEMORY, "TOTAL_MEMORY not big enough for stack"); +function nullFunc_viiiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_vd(x) { Module["printErr"]("Invalid function pointer called with signature 'vd'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_vid(x) { Module["printErr"]("Invalid function pointer called with signature 'vid'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_vi(x) { Module["printErr"]("Invalid function pointer called with signature 'vi'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_vii(x) { Module["printErr"]("Invalid function pointer called with signature 'vii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_ii(x) { Module["printErr"]("Invalid function pointer called with signature 'ii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_viddd(x) { Module["printErr"]("Invalid function pointer called with signature 'viddd'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_vidd(x) { Module["printErr"]("Invalid function pointer called with signature 'vidd'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_iiii(x) { Module["printErr"]("Invalid function pointer called with signature 'iiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_viiiiiiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiiiiiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_viiiiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiiiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_viii(x) { Module["printErr"]("Invalid function pointer called with signature 'viii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_vidddd(x) { Module["printErr"]("Invalid function pointer called with signature 'vidddd'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_vdi(x) { Module["printErr"]("Invalid function pointer called with signature 'vdi'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_viiiiiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiiiiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_viiiiiiiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiiiiiiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_iii(x) { Module["printErr"]("Invalid function pointer called with signature 'iii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_i(x) { Module["printErr"]("Invalid function pointer called with signature 'i'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_vdddddd(x) { Module["printErr"]("Invalid function pointer called with signature 'vdddddd'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_vdddd(x) { Module["printErr"]("Invalid function pointer called with signature 'vdddd'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_vdd(x) { Module["printErr"]("Invalid function pointer called with signature 'vdd'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_v(x) { Module["printErr"]("Invalid function pointer called with signature 'v'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_viid(x) { Module["printErr"]("Invalid function pointer called with signature 'viid'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_viiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + function invoke_viiiii(index,a1,a2,a3,a4,a5) { try { Module["dynCall_viiiii"](index,a1,a2,a3,a4,a5); } catch(e) { if (typeof e !== 'number' && e !== 'longjmp') throw e; - asm["setThrew"](1, 0); + Module["setThrew"](1, 0); } } @@ -11141,7 +10668,7 @@ function invoke_vd(index,a1) { Module["dynCall_vd"](index,a1); } catch(e) { if (typeof e !== 'number' && e !== 'longjmp') throw e; - asm["setThrew"](1, 0); + Module["setThrew"](1, 0); } } @@ -11150,7 +10677,7 @@ function invoke_vid(index,a1,a2) { Module["dynCall_vid"](index,a1,a2); } catch(e) { if (typeof e !== 'number' && e !== 'longjmp') throw e; - asm["setThrew"](1, 0); + Module["setThrew"](1, 0); } } @@ -11159,7 +10686,7 @@ function invoke_vi(index,a1) { Module["dynCall_vi"](index,a1); } catch(e) { if (typeof e !== 'number' && e !== 'longjmp') throw e; - asm["setThrew"](1, 0); + Module["setThrew"](1, 0); } } @@ -11168,7 +10695,7 @@ function invoke_vii(index,a1,a2) { Module["dynCall_vii"](index,a1,a2); } catch(e) { if (typeof e !== 'number' && e !== 'longjmp') throw e; - asm["setThrew"](1, 0); + Module["setThrew"](1, 0); } } @@ -11177,7 +10704,7 @@ function invoke_ii(index,a1) { return Module["dynCall_ii"](index,a1); } catch(e) { if (typeof e !== 'number' && e !== 'longjmp') throw e; - asm["setThrew"](1, 0); + Module["setThrew"](1, 0); } } @@ -11186,7 +10713,7 @@ function invoke_viddd(index,a1,a2,a3,a4) { Module["dynCall_viddd"](index,a1,a2,a3,a4); } catch(e) { if (typeof e !== 'number' && e !== 'longjmp') throw e; - asm["setThrew"](1, 0); + Module["setThrew"](1, 0); } } @@ -11195,7 +10722,7 @@ function invoke_vidd(index,a1,a2,a3) { Module["dynCall_vidd"](index,a1,a2,a3); } catch(e) { if (typeof e !== 'number' && e !== 'longjmp') throw e; - asm["setThrew"](1, 0); + Module["setThrew"](1, 0); } } @@ -11204,7 +10731,7 @@ function invoke_iiii(index,a1,a2,a3) { return Module["dynCall_iiii"](index,a1,a2,a3); } catch(e) { if (typeof e !== 'number' && e !== 'longjmp') throw e; - asm["setThrew"](1, 0); + Module["setThrew"](1, 0); } } @@ -11213,7 +10740,7 @@ function invoke_viiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8) { Module["dynCall_viiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8); } catch(e) { if (typeof e !== 'number' && e !== 'longjmp') throw e; - asm["setThrew"](1, 0); + Module["setThrew"](1, 0); } } @@ -11222,7 +10749,7 @@ function invoke_viiiiii(index,a1,a2,a3,a4,a5,a6) { Module["dynCall_viiiiii"](index,a1,a2,a3,a4,a5,a6); } catch(e) { if (typeof e !== 'number' && e !== 'longjmp') throw e; - asm["setThrew"](1, 0); + Module["setThrew"](1, 0); } } @@ -11231,7 +10758,7 @@ function invoke_viii(index,a1,a2,a3) { Module["dynCall_viii"](index,a1,a2,a3); } catch(e) { if (typeof e !== 'number' && e !== 'longjmp') throw e; - asm["setThrew"](1, 0); + Module["setThrew"](1, 0); } } @@ -11240,7 +10767,7 @@ function invoke_vidddd(index,a1,a2,a3,a4,a5) { Module["dynCall_vidddd"](index,a1,a2,a3,a4,a5); } catch(e) { if (typeof e !== 'number' && e !== 'longjmp') throw e; - asm["setThrew"](1, 0); + Module["setThrew"](1, 0); } } @@ -11249,7 +10776,7 @@ function invoke_vdi(index,a1,a2) { Module["dynCall_vdi"](index,a1,a2); } catch(e) { if (typeof e !== 'number' && e !== 'longjmp') throw e; - asm["setThrew"](1, 0); + Module["setThrew"](1, 0); } } @@ -11258,7 +10785,7 @@ function invoke_viiiiiii(index,a1,a2,a3,a4,a5,a6,a7) { Module["dynCall_viiiiiii"](index,a1,a2,a3,a4,a5,a6,a7); } catch(e) { if (typeof e !== 'number' && e !== 'longjmp') throw e; - asm["setThrew"](1, 0); + Module["setThrew"](1, 0); } } @@ -11267,7 +10794,7 @@ function invoke_viiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9) { Module["dynCall_viiiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9); } catch(e) { if (typeof e !== 'number' && e !== 'longjmp') throw e; - asm["setThrew"](1, 0); + Module["setThrew"](1, 0); } } @@ -11276,7 +10803,7 @@ function invoke_iii(index,a1,a2) { return Module["dynCall_iii"](index,a1,a2); } catch(e) { if (typeof e !== 'number' && e !== 'longjmp') throw e; - asm["setThrew"](1, 0); + Module["setThrew"](1, 0); } } @@ -11285,16 +10812,7 @@ function invoke_i(index) { return Module["dynCall_i"](index); } catch(e) { if (typeof e !== 'number' && e !== 'longjmp') throw e; - asm["setThrew"](1, 0); - } -} - -function invoke_iiiiii(index,a1,a2,a3,a4,a5) { - try { - return Module["dynCall_iiiiii"](index,a1,a2,a3,a4,a5); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - asm["setThrew"](1, 0); + Module["setThrew"](1, 0); } } @@ -11303,7 +10821,7 @@ function invoke_vdddddd(index,a1,a2,a3,a4,a5,a6) { Module["dynCall_vdddddd"](index,a1,a2,a3,a4,a5,a6); } catch(e) { if (typeof e !== 'number' && e !== 'longjmp') throw e; - asm["setThrew"](1, 0); + Module["setThrew"](1, 0); } } @@ -11312,7 +10830,7 @@ function invoke_vdddd(index,a1,a2,a3,a4) { Module["dynCall_vdddd"](index,a1,a2,a3,a4); } catch(e) { if (typeof e !== 'number' && e !== 'longjmp') throw e; - asm["setThrew"](1, 0); + Module["setThrew"](1, 0); } } @@ -11321,7 +10839,7 @@ function invoke_vdd(index,a1,a2) { Module["dynCall_vdd"](index,a1,a2); } catch(e) { if (typeof e !== 'number' && e !== 'longjmp') throw e; - asm["setThrew"](1, 0); + Module["setThrew"](1, 0); } } @@ -11330,7 +10848,7 @@ function invoke_v(index) { Module["dynCall_v"](index); } catch(e) { if (typeof e !== 'number' && e !== 'longjmp') throw e; - asm["setThrew"](1, 0); + Module["setThrew"](1, 0); } } @@ -11339,7 +10857,7 @@ function invoke_viid(index,a1,a2,a3) { Module["dynCall_viid"](index,a1,a2,a3); } catch(e) { if (typeof e !== 'number' && e !== 'longjmp') throw e; - asm["setThrew"](1, 0); + Module["setThrew"](1, 0); } } @@ -11348,40 +10866,34 @@ function invoke_viiii(index,a1,a2,a3,a4) { Module["dynCall_viiii"](index,a1,a2,a3,a4); } catch(e) { if (typeof e !== 'number' && e !== 'longjmp') throw e; - asm["setThrew"](1, 0); + Module["setThrew"](1, 0); } } -Module.asmGlobalArg = { "Math": Math, "Int8Array": Int8Array, "Int16Array": Int16Array, "Int32Array": Int32Array, "Uint8Array": Uint8Array, "Uint16Array": Uint16Array, "Uint32Array": Uint32Array, "Float32Array": Float32Array, "Float64Array": Float64Array, "NaN": NaN, "Infinity": Infinity, "byteLength": byteLength }; -Module.asmLibraryArg = { "abort": abort, "assert": assert, "invoke_viiiii": invoke_viiiii, "invoke_vd": invoke_vd, "invoke_vid": invoke_vid, "invoke_vi": invoke_vi, "invoke_vii": invoke_vii, "invoke_ii": invoke_ii, "invoke_viddd": invoke_viddd, "invoke_vidd": invoke_vidd, "invoke_iiii": invoke_iiii, "invoke_viiiiiiii": invoke_viiiiiiii, "invoke_viiiiii": invoke_viiiiii, "invoke_viii": invoke_viii, "invoke_vidddd": invoke_vidddd, "invoke_vdi": invoke_vdi, "invoke_viiiiiii": invoke_viiiiiii, "invoke_viiiiiiiii": invoke_viiiiiiiii, "invoke_iii": invoke_iii, "invoke_i": invoke_i, "invoke_iiiiii": invoke_iiiiii, "invoke_vdddddd": invoke_vdddddd, "invoke_vdddd": invoke_vdddd, "invoke_vdd": invoke_vdd, "invoke_v": invoke_v, "invoke_viid": invoke_viid, "invoke_viiii": invoke_viiii, "_emscripten_glGetTexParameterfv": _emscripten_glGetTexParameterfv, "_glUseProgram": _glUseProgram, "_exp": _exp, "_glfwCreateWindow": _glfwCreateWindow, "_emscripten_glReleaseShaderCompiler": _emscripten_glReleaseShaderCompiler, "_emscripten_glBlendFuncSeparate": _emscripten_glBlendFuncSeparate, "_emscripten_glUniform4iv": _emscripten_glUniform4iv, "_emscripten_glVertexAttribPointer": _emscripten_glVertexAttribPointer, "_fread": _fread, "_emscripten_glGetIntegerv": _emscripten_glGetIntegerv, "_emscripten_glCullFace": _emscripten_glCullFace, "_emscripten_glIsProgram": _emscripten_glIsProgram, "_emscripten_glStencilMaskSeparate": _emscripten_glStencilMaskSeparate, "_emscripten_glGetPointerv": _emscripten_glGetPointerv, "_emscripten_glViewport": _emscripten_glViewport, "_emscripten_glFrontFace": _emscripten_glFrontFace, "_alBufferData": _alBufferData, "___assert_fail": ___assert_fail, "_glDeleteProgram": _glDeleteProgram, "_emscripten_glUniform3fv": _emscripten_glUniform3fv, "_emscripten_glPolygonOffset": _emscripten_glPolygonOffset, "_emscripten_glUseProgram": _emscripten_glUseProgram, "_emscripten_glBlendColor": _emscripten_glBlendColor, "_glBindBuffer": _glBindBuffer, "_emscripten_glDepthFunc": _emscripten_glDepthFunc, "_glGetShaderInfoLog": _glGetShaderInfoLog, "_alSource3f": _alSource3f, "_sqrtf": _sqrtf, "_emscripten_set_fullscreenchange_callback": _emscripten_set_fullscreenchange_callback, "_emscripten_set_touchmove_callback": _emscripten_set_touchmove_callback, "_emscripten_set_main_loop_timing": _emscripten_set_main_loop_timing, "_ceilf": _ceilf, "_glBlendFunc": _glBlendFunc, "_emscripten_glDisableVertexAttribArray": _emscripten_glDisableVertexAttribArray, "_glGetAttribLocation": _glGetAttribLocation, "_glDisableVertexAttribArray": _glDisableVertexAttribArray, "_emscripten_memcpy_big": _emscripten_memcpy_big, "_alcGetString": _alcGetString, "_sysconf": _sysconf, "_close": _close, "_emscripten_glVertexPointer": _emscripten_glVertexPointer, "_emscripten_set_touchstart_callback": _emscripten_set_touchstart_callback, "_emscripten_glGetBooleanv": _emscripten_glGetBooleanv, "_emscripten_glGetShaderSource": _emscripten_glGetShaderSource, "_cos": _cos, "_fileno": _fileno, "_llvm_stacksave": _llvm_stacksave, "_emscripten_glUniform1i": _emscripten_glUniform1i, "_emscripten_glStencilFuncSeparate": _emscripten_glStencilFuncSeparate, "_puts": _puts, "_emscripten_glFrustum": _emscripten_glFrustum, "_emscripten_glGenBuffers": _emscripten_glGenBuffers, "_emscripten_glDeleteObjectARB": _emscripten_glDeleteObjectARB, "_glfwSetWindowSizeCallback": _glfwSetWindowSizeCallback, "_emscripten_glGetShaderPrecisionFormat": _emscripten_glGetShaderPrecisionFormat, "_glfwInit": _glfwInit, "_write": _write, "_ftell": _ftell, "_glGetShaderiv": _glGetShaderiv, "_glGenBuffers": _glGenBuffers, "_glShaderSource": _glShaderSource, "_emscripten_glGetString": _emscripten_glGetString, "_emscripten_glIsFramebuffer": _emscripten_glIsFramebuffer, "_emscripten_glIsEnabled": _emscripten_glIsEnabled, "_emscripten_glScissor": _emscripten_glScissor, "_emscripten_glTexParameteriv": _emscripten_glTexParameteriv, "_emscripten_glDeleteVertexArrays": _emscripten_glDeleteVertexArrays, "_emscripten_glBindProgramARB": _emscripten_glBindProgramARB, "_emscripten_glStencilOpSeparate": _emscripten_glStencilOpSeparate, "_alSourcePlay": _alSourcePlay, "_alSourcei": _alSourcei, "_emscripten_glHint": _emscripten_glHint, "_emscripten_glFramebufferRenderbuffer": _emscripten_glFramebufferRenderbuffer, "_emscripten_glClearDepthf": _emscripten_glClearDepthf, "_glfwSetErrorCallback": _glfwSetErrorCallback, "_glfwDefaultWindowHints": _glfwDefaultWindowHints, "_glfwDestroyWindow": _glfwDestroyWindow, "_emscripten_glVertexAttrib1f": _emscripten_glVertexAttrib1f, "_emscripten_glGetActiveAttrib": _emscripten_glGetActiveAttrib, "_emscripten_glColorPointer": _emscripten_glColorPointer, "_emscripten_glAttachShader": _emscripten_glAttachShader, "_glVertexAttribPointer": _glVertexAttribPointer, "_emscripten_glCompressedTexSubImage2D": _emscripten_glCompressedTexSubImage2D, "_emscripten_glUniform2f": _emscripten_glUniform2f, "_alcCreateContext": _alcCreateContext, "_glfwTerminate": _glfwTerminate, "_emscripten_glTexParameterfv": _emscripten_glTexParameterfv, "_emscripten_glUniformMatrix2fv": _emscripten_glUniformMatrix2fv, "_glGetProgramInfoLog": _glGetProgramInfoLog, "_emscripten_glGetUniformiv": _emscripten_glGetUniformiv, "_emscripten_glTexParameterf": _emscripten_glTexParameterf, "_emscripten_glGetAttachedShaders": _emscripten_glGetAttachedShaders, "_emscripten_glGenTextures": _emscripten_glGenTextures, "_emscripten_glTexParameteri": _emscripten_glTexParameteri, "_emscripten_glIsShader": _emscripten_glIsShader, "_llvm_stackrestore": _llvm_stackrestore, "_glfwMakeContextCurrent": _glfwMakeContextCurrent, "_emscripten_glClear": _emscripten_glClear, "_glDrawElements": _glDrawElements, "_alGetSourcei": _alGetSourcei, "_glBufferSubData": _glBufferSubData, "_alcMakeContextCurrent": _alcMakeContextCurrent, "_emscripten_glGenVertexArrays": _emscripten_glGenVertexArrays, "_emscripten_glVertexAttrib2fv": _emscripten_glVertexAttrib2fv, "_glViewport": _glViewport, "_alSourceQueueBuffers": _alSourceQueueBuffers, "_emscripten_glGetTexParameteriv": _emscripten_glGetTexParameteriv, "___setErrNo": ___setErrNo, "_eglGetProcAddress": _eglGetProcAddress, "_alcGetCurrentContext": _alcGetCurrentContext, "_emscripten_glBindAttribLocation": _emscripten_glBindAttribLocation, "_glDeleteTextures": _glDeleteTextures, "_glDepthFunc": _glDepthFunc, "_emscripten_glStencilMask": _emscripten_glStencilMask, "_emscripten_glClientActiveTexture": _emscripten_glClientActiveTexture, "_emscripten_glVertexAttrib2f": _emscripten_glVertexAttrib2f, "_emscripten_glFlush": _emscripten_glFlush, "_emscripten_glBlendFunc": _emscripten_glBlendFunc, "_emscripten_glCheckFramebufferStatus": _emscripten_glCheckFramebufferStatus, "_emscripten_glGenerateMipmap": _emscripten_glGenerateMipmap, "_emscripten_glGetError": _emscripten_glGetError, "_alGenBuffers": _alGenBuffers, "_emscripten_glUniform3f": _emscripten_glUniform3f, "_emscripten_glUniform3i": _emscripten_glUniform3i, "_emscripten_glRotatef": _emscripten_glRotatef, "_emscripten_glDeleteShader": _emscripten_glDeleteShader, "_glEnable": _glEnable, "_emscripten_glReadPixels": _emscripten_glReadPixels, "_emscripten_glMatrixMode": _emscripten_glMatrixMode, "_alDeleteSources": _alDeleteSources, "_emscripten_glClearStencil": _emscripten_glClearStencil, "_sin": _sin, "_emscripten_glGetUniformLocation": _emscripten_glGetUniformLocation, "_alSourceUnqueueBuffers": _alSourceUnqueueBuffers, "_emscripten_glDrawArrays": _emscripten_glDrawArrays, "_alGetError": _alGetError, "_emscripten_get_now": _emscripten_get_now, "_emscripten_glNormalPointer": _emscripten_glNormalPointer, "_glAttachShader": _glAttachShader, "_emscripten_glTexCoordPointer": _emscripten_glTexCoordPointer, "_emscripten_glFinish": _emscripten_glFinish, "_glCreateProgram": _glCreateProgram, "_glUniformMatrix4fv": _glUniformMatrix4fv, "_emscripten_glClearDepth": _emscripten_glClearDepth, "_read": _read, "_emscripten_glBindFramebuffer": _emscripten_glBindFramebuffer, "_emscripten_glLoadMatrixf": _emscripten_glLoadMatrixf, "_emscripten_glIsBuffer": _emscripten_glIsBuffer, "_emscripten_glVertexAttrib3f": _emscripten_glVertexAttrib3f, "_time": _time, "_glBindFramebuffer": _glBindFramebuffer, "_pwrite": _pwrite, "_emscripten_glGetFramebufferAttachmentParameteriv": _emscripten_glGetFramebufferAttachmentParameteriv, "_emscripten_glBlendEquationSeparate": _emscripten_glBlendEquationSeparate, "_exit": _exit, "_emscripten_asm_const_2": _emscripten_asm_const_2, "_glGetString": _glGetString, "_emscripten_glUniform4i": _emscripten_glUniform4i, "_alSourcef": _alSourcef, "_emscripten_glDrawRangeElements": _emscripten_glDrawRangeElements, "_llvm_pow_f64": _llvm_pow_f64, "_glDeleteFramebuffers": _glDeleteFramebuffers, "_glfwPollEvents": _glfwPollEvents, "_emscripten_glUniform4f": _emscripten_glUniform4f, "_glfwSwapInterval": _glfwSwapInterval, "_emscripten_glBindBuffer": _emscripten_glBindBuffer, "_glfwSetWindowShouldClose": _glfwSetWindowShouldClose, "_lseek": _lseek, "_glfwWindowHint": _glfwWindowHint, "_vfprintf": _vfprintf, "_emscripten_glShaderBinary": _emscripten_glShaderBinary, "_emscripten_glDrawElements": _emscripten_glDrawElements, "_asin": _asin, "_emscripten_glGetShaderInfoLog": _emscripten_glGetShaderInfoLog, "_sbrk": _sbrk, "_glCompressedTexImage2D": _glCompressedTexImage2D, "_emscripten_glUniform1iv": _emscripten_glUniform1iv, "_emscripten_glGetVertexAttribPointerv": _emscripten_glGetVertexAttribPointerv, "___errno_location": ___errno_location, "_emscripten_glEnableVertexAttribArray": _emscripten_glEnableVertexAttribArray, "_emscripten_glUniform2i": _emscripten_glUniform2i, "_open": _open, "_emscripten_glGetAttribLocation": _emscripten_glGetAttribLocation, "_emscripten_glGetActiveUniform": _emscripten_glGetActiveUniform, "_glBindTexture": _glBindTexture, "_emscripten_glUniform3iv": _emscripten_glUniform3iv, "_emscripten_glUniform2iv": _emscripten_glUniform2iv, "_emscripten_glDisable": _emscripten_glDisable, "_glfwSetCharCallback": _glfwSetCharCallback, "_emscripten_glGetBufferParameteriv": _emscripten_glGetBufferParameteriv, "_emscripten_glDeleteProgram": _emscripten_glDeleteProgram, "_emscripten_glDeleteRenderbuffers": _emscripten_glDeleteRenderbuffers, "_glEnableVertexAttribArray": _glEnableVertexAttribArray, "_glfwSetScrollCallback": _glfwSetScrollCallback, "_emscripten_glDrawElementsInstanced": _emscripten_glDrawElementsInstanced, "_emscripten_glVertexAttrib4f": _emscripten_glVertexAttrib4f, "_alcDestroyContext": _alcDestroyContext, "_emscripten_glGetVertexAttribiv": _emscripten_glGetVertexAttribiv, "_emscripten_glTexSubImage2D": _emscripten_glTexSubImage2D, "_glCreateShader": _glCreateShader, "_emscripten_glPixelStorei": _emscripten_glPixelStorei, "_glCompileShader": _glCompileShader, "_fseek": _fseek, "_emscripten_glUniformMatrix3fv": _emscripten_glUniformMatrix3fv, "_emscripten_glDepthRange": _emscripten_glDepthRange, "_fclose": _fclose, "_emscripten_glCompressedTexImage2D": _emscripten_glCompressedTexImage2D, "_floorf": _floorf, "_log": _log, "_glActiveTexture": _glActiveTexture, "_glfwSwapBuffers": _glfwSwapBuffers, "_recv": _recv, "_emscripten_glDepthMask": _emscripten_glDepthMask, "_glfwSetWindowIconifyCallback": _glfwSetWindowIconifyCallback, "_emscripten_glDrawBuffers": _emscripten_glDrawBuffers, "_alSourceStop": _alSourceStop, "_emscripten_glGetObjectParameterivARB": _emscripten_glGetObjectParameterivARB, "_emscripten_glFramebufferTexture2D": _emscripten_glFramebufferTexture2D, "_alcCloseDevice": _alcCloseDevice, "_glUniform1i": _glUniform1i, "_send": _send, "_fputc": _fputc, "_emscripten_glStencilFunc": _emscripten_glStencilFunc, "_abort": _abort, "_alcGetContextsDevice": _alcGetContextsDevice, "_emscripten_glUniform2fv": _emscripten_glUniform2fv, "_glDeleteBuffers": _glDeleteBuffers, "_glBufferData": _glBufferData, "_glTexImage2D": _glTexImage2D, "_emscripten_glGetShaderiv": _emscripten_glGetShaderiv, "_fopen": _fopen, "_emscripten_glGenFramebuffers": _emscripten_glGenFramebuffers, "_floor": _floor, "_emscripten_glUniformMatrix4fv": _emscripten_glUniformMatrix4fv, "_emscripten_glLoadIdentity": _emscripten_glLoadIdentity, "_glDeleteShader": _glDeleteShader, "_emscripten_glUniform1f": _emscripten_glUniform1f, "_glGetProgramiv": _glGetProgramiv, "_emscripten_glUniform1fv": _emscripten_glUniform1fv, "_emscripten_glIsRenderbuffer": _emscripten_glIsRenderbuffer, "_glfwGetTime": _glfwGetTime, "_emscripten_glRenderbufferStorage": _emscripten_glRenderbufferStorage, "_alListener3f": _alListener3f, "_glDrawArrays": _glDrawArrays, "_emscripten_glBindVertexArray": _emscripten_glBindVertexArray, "_emscripten_glDrawArraysInstanced": _emscripten_glDrawArraysInstanced, "_emscripten_set_touchcancel_callback": _emscripten_set_touchcancel_callback, "_emscripten_glCreateShader": _emscripten_glCreateShader, "_fwrite": _fwrite, "_emscripten_glDeleteTextures": _emscripten_glDeleteTextures, "_glfwGetKey": _glfwGetKey, "_glfwGetPrimaryMonitor": _glfwGetPrimaryMonitor, "_emscripten_glBufferSubData": _emscripten_glBufferSubData, "_emscripten_glVertexAttribDivisor": _emscripten_glVertexAttribDivisor, "_emscripten_set_touchend_callback": _emscripten_set_touchend_callback, "_emscripten_glGetUniformfv": _emscripten_glGetUniformfv, "_glClear": _glClear, "_emscripten_glGetVertexAttribfv": _emscripten_glGetVertexAttribfv, "_emscripten_glGetRenderbufferParameteriv": _emscripten_glGetRenderbufferParameteriv, "_fprintf": _fprintf, "__reallyNegative": __reallyNegative, "_emscripten_glVertexAttrib3fv": _emscripten_glVertexAttrib3fv, "_glGetUniformLocation": _glGetUniformLocation, "_emscripten_glGetInfoLogARB": _emscripten_glGetInfoLogARB, "_emscripten_glCompileShader": _emscripten_glCompileShader, "_emscripten_glEnable": _emscripten_glEnable, "_glUniform4fv": _glUniform4fv, "_glGenTextures": _glGenTextures, "_emscripten_glSampleCoverage": _emscripten_glSampleCoverage, "_emscripten_glDepthRangef": _emscripten_glDepthRangef, "_sinf": _sinf, "__exit": __exit, "_emscripten_glLineWidth": _emscripten_glLineWidth, "_emscripten_glStencilOp": _emscripten_glStencilOp, "_glPixelStorei": _glPixelStorei, "_emscripten_glColorMask": _emscripten_glColorMask, "_emscripten_glLinkProgram": _emscripten_glLinkProgram, "_emscripten_glBlendEquation": _emscripten_glBlendEquation, "_emscripten_glIsTexture": _emscripten_glIsTexture, "_alDeleteBuffers": _alDeleteBuffers, "_emscripten_glGetProgramiv": _emscripten_glGetProgramiv, "_emscripten_glVertexAttrib1fv": _emscripten_glVertexAttrib1fv, "_pread": _pread, "_emscripten_glBindTexture": _emscripten_glBindTexture, "_mkport": _mkport, "_glfwGetCursorPos": _glfwGetCursorPos, "_emscripten_glActiveTexture": _emscripten_glActiveTexture, "_emscripten_glGenRenderbuffers": _emscripten_glGenRenderbuffers, "_emscripten_glVertexAttrib4fv": _emscripten_glVertexAttrib4fv, "_emscripten_glDeleteBuffers": _emscripten_glDeleteBuffers, "_glLinkProgram": _glLinkProgram, "_feof": _feof, "_fflush": _fflush, "_emscripten_set_main_loop": _emscripten_set_main_loop, "_glfwSetMouseButtonCallback": _glfwSetMouseButtonCallback, "_emscripten_glGetProgramInfoLog": _emscripten_glGetProgramInfoLog, "_emscripten_glBindRenderbuffer": _emscripten_glBindRenderbuffer, "_alGenSources": _alGenSources, "_emscripten_glShaderSource": _emscripten_glShaderSource, "_emscripten_glDeleteFramebuffers": _emscripten_glDeleteFramebuffers, "_emscripten_glUniform4fv": _emscripten_glUniform4fv, "_fgetc": _fgetc, "_alcOpenDevice": _alcOpenDevice, "_cosf": _cosf, "_sqrt": _sqrt, "_glfwSetKeyCallback": _glfwSetKeyCallback, "_emscripten_glClearColor": _emscripten_glClearColor, "_emscripten_glBufferData": _emscripten_glBufferData, "_emscripten_glCreateProgram": _emscripten_glCreateProgram, "_emscripten_glCopyTexSubImage2D": _emscripten_glCopyTexSubImage2D, "_eglWaitClient": _eglWaitClient, "_glTexParameteri": _glTexParameteri, "_emscripten_glValidateProgram": _emscripten_glValidateProgram, "__formatString": __formatString, "_fputs": _fputs, "_emscripten_glGetFloatv": _emscripten_glGetFloatv, "_emscripten_glDetachShader": _emscripten_glDetachShader, "_glClearColor": _glClearColor, "_emscripten_glEnableClientState": _emscripten_glEnableClientState, "_glfwSetCursorEnterCallback": _glfwSetCursorEnterCallback, "_emscripten_glCopyTexImage2D": _emscripten_glCopyTexImage2D, "_emscripten_glTexImage2D": _emscripten_glTexImage2D, "STACKTOP": STACKTOP, "STACK_MAX": STACK_MAX, "tempDoublePtr": tempDoublePtr, "ABORT": ABORT, "_stdout": _stdout }; +Module.asmGlobalArg = { "Math": Math, "Int8Array": Int8Array, "Int16Array": Int16Array, "Int32Array": Int32Array, "Uint8Array": Uint8Array, "Uint16Array": Uint16Array, "Uint32Array": Uint32Array, "Float32Array": Float32Array, "Float64Array": Float64Array, "NaN": NaN, "Infinity": Infinity }; + +Module.asmLibraryArg = { "abort": abort, "assert": assert, "enlargeMemory": enlargeMemory, "getTotalMemory": getTotalMemory, "abortOnCannotGrowMemory": abortOnCannotGrowMemory, "abortStackOverflow": abortStackOverflow, "nullFunc_viiiii": nullFunc_viiiii, "nullFunc_vd": nullFunc_vd, "nullFunc_vid": nullFunc_vid, "nullFunc_vi": nullFunc_vi, "nullFunc_vii": nullFunc_vii, "nullFunc_ii": nullFunc_ii, "nullFunc_viddd": nullFunc_viddd, "nullFunc_vidd": nullFunc_vidd, "nullFunc_iiii": nullFunc_iiii, "nullFunc_viiiiiiii": nullFunc_viiiiiiii, "nullFunc_viiiiii": nullFunc_viiiiii, "nullFunc_viii": nullFunc_viii, "nullFunc_vidddd": nullFunc_vidddd, "nullFunc_vdi": nullFunc_vdi, "nullFunc_viiiiiii": nullFunc_viiiiiii, "nullFunc_viiiiiiiii": nullFunc_viiiiiiiii, "nullFunc_iii": nullFunc_iii, "nullFunc_i": nullFunc_i, "nullFunc_vdddddd": nullFunc_vdddddd, "nullFunc_vdddd": nullFunc_vdddd, "nullFunc_vdd": nullFunc_vdd, "nullFunc_v": nullFunc_v, "nullFunc_viid": nullFunc_viid, "nullFunc_viiii": nullFunc_viiii, "invoke_viiiii": invoke_viiiii, "invoke_vd": invoke_vd, "invoke_vid": invoke_vid, "invoke_vi": invoke_vi, "invoke_vii": invoke_vii, "invoke_ii": invoke_ii, "invoke_viddd": invoke_viddd, "invoke_vidd": invoke_vidd, "invoke_iiii": invoke_iiii, "invoke_viiiiiiii": invoke_viiiiiiii, "invoke_viiiiii": invoke_viiiiii, "invoke_viii": invoke_viii, "invoke_vidddd": invoke_vidddd, "invoke_vdi": invoke_vdi, "invoke_viiiiiii": invoke_viiiiiii, "invoke_viiiiiiiii": invoke_viiiiiiiii, "invoke_iii": invoke_iii, "invoke_i": invoke_i, "invoke_vdddddd": invoke_vdddddd, "invoke_vdddd": invoke_vdddd, "invoke_vdd": invoke_vdd, "invoke_v": invoke_v, "invoke_viid": invoke_viid, "invoke_viiii": invoke_viiii, "_emscripten_glGetTexParameterfv": _emscripten_glGetTexParameterfv, "_glUseProgram": _glUseProgram, "_emscripten_glShaderSource": _emscripten_glShaderSource, "_glfwCreateWindow": _glfwCreateWindow, "_emscripten_glReleaseShaderCompiler": _emscripten_glReleaseShaderCompiler, "_emscripten_glBlendFuncSeparate": _emscripten_glBlendFuncSeparate, "_emscripten_glUniform4iv": _emscripten_glUniform4iv, "_emscripten_glVertexAttribPointer": _emscripten_glVertexAttribPointer, "_emscripten_glGetIntegerv": _emscripten_glGetIntegerv, "_emscripten_glCullFace": _emscripten_glCullFace, "_emscripten_glIsProgram": _emscripten_glIsProgram, "_emscripten_glStencilMaskSeparate": _emscripten_glStencilMaskSeparate, "_emscripten_glViewport": _emscripten_glViewport, "_emscripten_glFrontFace": _emscripten_glFrontFace, "_alBufferData": _alBufferData, "___assert_fail": ___assert_fail, "_glDeleteProgram": _glDeleteProgram, "_emscripten_glUniform3fv": _emscripten_glUniform3fv, "_emscripten_glPolygonOffset": _emscripten_glPolygonOffset, "_emscripten_glUseProgram": _emscripten_glUseProgram, "_emscripten_glBlendColor": _emscripten_glBlendColor, "_glBindBuffer": _glBindBuffer, "_emscripten_glDepthFunc": _emscripten_glDepthFunc, "_glGetShaderInfoLog": _glGetShaderInfoLog, "_alSource3f": _alSource3f, "_emscripten_set_fullscreenchange_callback": _emscripten_set_fullscreenchange_callback, "_emscripten_set_touchmove_callback": _emscripten_set_touchmove_callback, "_emscripten_set_main_loop_timing": _emscripten_set_main_loop_timing, "_emscripten_set_gamepaddisconnected_callback": _emscripten_set_gamepaddisconnected_callback, "_glDisable": _glDisable, "_glBlendFunc": _glBlendFunc, "_emscripten_glDisableVertexAttribArray": _emscripten_glDisableVertexAttribArray, "_glGetAttribLocation": _glGetAttribLocation, "_glDisableVertexAttribArray": _glDisableVertexAttribArray, "_glCreateShader": _glCreateShader, "_alcGetString": _alcGetString, "_emscripten_glSampleCoverage": _emscripten_glSampleCoverage, "_emscripten_glVertexPointer": _emscripten_glVertexPointer, "_emscripten_set_touchstart_callback": _emscripten_set_touchstart_callback, "emscriptenWebGLComputeImageSize": emscriptenWebGLComputeImageSize, "_emscripten_glGetBooleanv": _emscripten_glGetBooleanv, "_emscripten_glGetShaderSource": _emscripten_glGetShaderSource, "_glUniform4f": _glUniform4f, "_llvm_stacksave": _llvm_stacksave, "_emscripten_glUniform1i": _emscripten_glUniform1i, "_emscripten_glStencilFuncSeparate": _emscripten_glStencilFuncSeparate, "_emscripten_glFrustum": _emscripten_glFrustum, "_emscripten_glGenBuffers": _emscripten_glGenBuffers, "_emscripten_glDeleteObjectARB": _emscripten_glDeleteObjectARB, "_glfwSetWindowSizeCallback": _glfwSetWindowSizeCallback, "_emscripten_glGetShaderPrecisionFormat": _emscripten_glGetShaderPrecisionFormat, "_glfwInit": _glfwInit, "_emscripten_glGetPointerv": _emscripten_glGetPointerv, "_glGenBuffers": _glGenBuffers, "_glShaderSource": _glShaderSource, "_emscripten_glGetString": _emscripten_glGetString, "_emscripten_glIsFramebuffer": _emscripten_glIsFramebuffer, "_emscripten_glIsEnabled": _emscripten_glIsEnabled, "_emscripten_glScissor": _emscripten_glScissor, "_emscripten_glVertexAttrib4fv": _emscripten_glVertexAttrib4fv, "_emscripten_glFramebufferTexture2D": _emscripten_glFramebufferTexture2D, "_emscripten_glTexParameteriv": _emscripten_glTexParameteriv, "_emscripten_glBindProgramARB": _emscripten_glBindProgramARB, "_emscripten_glStencilOpSeparate": _emscripten_glStencilOpSeparate, "_alSourcePlay": _alSourcePlay, "_alSourcei": _alSourcei, "_emscripten_glFramebufferRenderbuffer": _emscripten_glFramebufferRenderbuffer, "___syscall140": ___syscall140, "_glfwSetErrorCallback": _glfwSetErrorCallback, "_glfwDefaultWindowHints": _glfwDefaultWindowHints, "_emscripten_glIsBuffer": _emscripten_glIsBuffer, "___syscall146": ___syscall146, "_glfwDestroyWindow": _glfwDestroyWindow, "_emscripten_glGetActiveAttrib": _emscripten_glGetActiveAttrib, "_emscripten_glAttachShader": _emscripten_glAttachShader, "_glVertexAttribPointer": _glVertexAttribPointer, "_emscripten_glUniform2i": _emscripten_glUniform2i, "_emscripten_glUniform2f": _emscripten_glUniform2f, "_alcCreateContext": _alcCreateContext, "_glfwTerminate": _glfwTerminate, "_emscripten_glTexParameterfv": _emscripten_glTexParameterfv, "_emscripten_glUniformMatrix2fv": _emscripten_glUniformMatrix2fv, "_glGetProgramInfoLog": _glGetProgramInfoLog, "_alcGetContextsDevice": _alcGetContextsDevice, "_emscripten_glTexParameterf": _emscripten_glTexParameterf, "_emscripten_glGetAttachedShaders": _emscripten_glGetAttachedShaders, "_emscripten_glGenTextures": _emscripten_glGenTextures, "_emscripten_glTexParameteri": _emscripten_glTexParameteri, "_llvm_stackrestore": _llvm_stackrestore, "_glfwMakeContextCurrent": _glfwMakeContextCurrent, "_emscripten_glClear": _emscripten_glClear, "_glDrawElements": _glDrawElements, "_alGetSourcei": _alGetSourcei, "_glBufferSubData": _glBufferSubData, "_alcMakeContextCurrent": _alcMakeContextCurrent, "_emscripten_glGenVertexArrays": _emscripten_glGenVertexArrays, "_emscripten_glVertexAttrib2fv": _emscripten_glVertexAttrib2fv, "_glViewport": _glViewport, "_alSourceQueueBuffers": _alSourceQueueBuffers, "_emscripten_glGetTexParameteriv": _emscripten_glGetTexParameteriv, "___setErrNo": ___setErrNo, "_eglGetProcAddress": _eglGetProcAddress, "_alcGetCurrentContext": _alcGetCurrentContext, "_emscripten_glBindAttribLocation": _emscripten_glBindAttribLocation, "_glDeleteTextures": _glDeleteTextures, "_glDepthFunc": _glDepthFunc, "_emscripten_glClientActiveTexture": _emscripten_glClientActiveTexture, "_emscripten_glVertexAttrib2f": _emscripten_glVertexAttrib2f, "_emscripten_glFlush": _emscripten_glFlush, "_emscripten_glCheckFramebufferStatus": _emscripten_glCheckFramebufferStatus, "_emscripten_glGenerateMipmap": _emscripten_glGenerateMipmap, "_emscripten_glGetError": _emscripten_glGetError, "_alGenBuffers": _alGenBuffers, "_emscripten_glClearDepthf": _emscripten_glClearDepthf, "_emscripten_glBufferData": _emscripten_glBufferData, "_emscripten_glUniform3i": _emscripten_glUniform3i, "_emscripten_glRotatef": _emscripten_glRotatef, "_emscripten_glDeleteShader": _emscripten_glDeleteShader, "_glEnable": _glEnable, "_emscripten_glReadPixels": _emscripten_glReadPixels, "_emscripten_glMatrixMode": _emscripten_glMatrixMode, "_alDeleteSources": _alDeleteSources, "_emscripten_glClearStencil": _emscripten_glClearStencil, "_emscripten_glGetUniformLocation": _emscripten_glGetUniformLocation, "emscriptenWebGLGet": emscriptenWebGLGet, "_alSourceUnqueueBuffers": _alSourceUnqueueBuffers, "_emscripten_glEnableVertexAttribArray": _emscripten_glEnableVertexAttribArray, "_alGetError": _alGetError, "_emscripten_get_now": _emscripten_get_now, "_emscripten_glNormalPointer": _emscripten_glNormalPointer, "_glAttachShader": _glAttachShader, "_emscripten_glTexCoordPointer": _emscripten_glTexCoordPointer, "_emscripten_glEnable": _emscripten_glEnable, "_glCreateProgram": _glCreateProgram, "_glUniformMatrix4fv": _glUniformMatrix4fv, "_emscripten_glClearDepth": _emscripten_glClearDepth, "___lock": ___lock, "emscriptenWebGLGetTexPixelData": emscriptenWebGLGetTexPixelData, "___syscall6": ___syscall6, "___syscall5": ___syscall5, "___syscall145": ___syscall145, "_emscripten_glVertexAttrib3f": _emscripten_glVertexAttrib3f, "_time": _time, "_emscripten_glVertexAttrib1f": _emscripten_glVertexAttrib1f, "_emscripten_glGetFramebufferAttachmentParameteriv": _emscripten_glGetFramebufferAttachmentParameteriv, "_emscripten_glBlendEquationSeparate": _emscripten_glBlendEquationSeparate, "_exit": _exit, "_emscripten_glBindFramebuffer": _emscripten_glBindFramebuffer, "_glGetString": _glGetString, "_emscripten_glUniform4i": _emscripten_glUniform4i, "_alSourcef": _alSourcef, "_emscripten_glDrawRangeElements": _emscripten_glDrawRangeElements, "_glCullFace": _glCullFace, "_llvm_pow_f64": _llvm_pow_f64, "_emscripten_set_keypress_callback": _emscripten_set_keypress_callback, "__emscripten_sample_gamepad_data": __emscripten_sample_gamepad_data, "_emscripten_get_gamepad_status": _emscripten_get_gamepad_status, "_emscripten_glUniform4f": _emscripten_glUniform4f, "_glfwSwapInterval": _glfwSwapInterval, "_glfwGetVideoModes": _glfwGetVideoModes, "_emscripten_set_click_callback": _emscripten_set_click_callback, "_emscripten_glShaderBinary": _emscripten_glShaderBinary, "_emscripten_glDrawElements": _emscripten_glDrawElements, "_emscripten_glBlendFunc": _emscripten_glBlendFunc, "_emscripten_get_num_gamepads": _emscripten_get_num_gamepads, "___syscall221": ___syscall221, "_glCompressedTexImage2D": _glCompressedTexImage2D, "_emscripten_glUniform1iv": _emscripten_glUniform1iv, "_emscripten_glGetVertexAttribPointerv": _emscripten_glGetVertexAttribPointerv, "_glClearDepthf": _glClearDepthf, "_emscripten_glCompressedTexSubImage2D": _emscripten_glCompressedTexSubImage2D, "emscriptenWebGLGetUniform": emscriptenWebGLGetUniform, "_emscripten_glGenRenderbuffers": _emscripten_glGenRenderbuffers, "_emscripten_glDeleteVertexArrays": _emscripten_glDeleteVertexArrays, "_glfwSetWindowShouldClose": _glfwSetWindowShouldClose, "_emscripten_glUniform1fv": _emscripten_glUniform1fv, "_emscripten_glGetActiveUniform": _emscripten_glGetActiveUniform, "_glBindTexture": _glBindTexture, "_emscripten_glUniform3iv": _emscripten_glUniform3iv, "_emscripten_glUniform2iv": _emscripten_glUniform2iv, "_emscripten_glHint": _emscripten_glHint, "_glfwSetCharCallback": _glfwSetCharCallback, "emscriptenWebGLGetVertexAttrib": emscriptenWebGLGetVertexAttrib, "_emscripten_glLoadMatrixf": _emscripten_glLoadMatrixf, "_emscripten_glDeleteProgram": _emscripten_glDeleteProgram, "_emscripten_glDeleteRenderbuffers": _emscripten_glDeleteRenderbuffers, "_glfwSetScrollCallback": _glfwSetScrollCallback, "_emscripten_glDrawElementsInstanced": _emscripten_glDrawElementsInstanced, "_emscripten_glVertexAttrib4f": _emscripten_glVertexAttrib4f, "_alcDestroyContext": _alcDestroyContext, "_glDrawArrays": _glDrawArrays, "_emscripten_glTexSubImage2D": _emscripten_glTexSubImage2D, "_emscripten_memcpy_big": _emscripten_memcpy_big, "_emscripten_glPixelStorei": _emscripten_glPixelStorei, "_glCompileShader": _glCompileShader, "_alListenerf": _alListenerf, "_emscripten_glUniformMatrix3fv": _emscripten_glUniformMatrix3fv, "_emscripten_glColorPointer": _emscripten_glColorPointer, "_emscripten_glGetBufferParameteriv": _emscripten_glGetBufferParameteriv, "_emscripten_glFinish": _emscripten_glFinish, "_glfwSwapBuffers": _glfwSwapBuffers, "_glGetFloatv": _glGetFloatv, "_emscripten_asm_const_iii": _emscripten_asm_const_iii, "_emscripten_glDepthMask": _emscripten_glDepthMask, "_glfwSetWindowIconifyCallback": _glfwSetWindowIconifyCallback, "_emscripten_glDrawBuffers": _emscripten_glDrawBuffers, "_alSourceStop": _alSourceStop, "_glFrontFace": _glFrontFace, "_emscripten_glGetObjectParameterivARB": _emscripten_glGetObjectParameterivARB, "_emscripten_exit_pointerlock": _emscripten_exit_pointerlock, "_alcCloseDevice": _alcCloseDevice, "_glUniform1i": _glUniform1i, "_glEnableVertexAttribArray": _glEnableVertexAttribArray, "_emscripten_glStencilFunc": _emscripten_glStencilFunc, "_abort": _abort, "_emscripten_glGetUniformiv": _emscripten_glGetUniformiv, "_emscripten_glUniform2fv": _emscripten_glUniform2fv, "_glDeleteBuffers": _glDeleteBuffers, "_glBufferData": _glBufferData, "_glTexImage2D": _glTexImage2D, "_emscripten_glGetShaderiv": _emscripten_glGetShaderiv, "_glfwSetKeyCallback": _glfwSetKeyCallback, "_emscripten_glGenFramebuffers": _emscripten_glGenFramebuffers, "_emscripten_glUniformMatrix4fv": _emscripten_glUniformMatrix4fv, "_emscripten_glLoadIdentity": _emscripten_glLoadIdentity, "_glDeleteShader": _glDeleteShader, "_emscripten_glUniform1f": _emscripten_glUniform1f, "_glGetProgramiv": _glGetProgramiv, "_llvm_exp2_f32": _llvm_exp2_f32, "_emscripten_glIsRenderbuffer": _emscripten_glIsRenderbuffer, "_glfwGetTime": _glfwGetTime, "_emscripten_glRenderbufferStorage": _emscripten_glRenderbufferStorage, "_emscripten_set_gamepadconnected_callback": _emscripten_set_gamepadconnected_callback, "_alListener3f": _alListener3f, "_emscripten_glGetVertexAttribiv": _emscripten_glGetVertexAttribiv, "_emscripten_glBindVertexArray": _emscripten_glBindVertexArray, "_emscripten_glDrawArraysInstanced": _emscripten_glDrawArraysInstanced, "_emscripten_set_touchcancel_callback": _emscripten_set_touchcancel_callback, "_emscripten_glCreateShader": _emscripten_glCreateShader, "_emscripten_glStencilMask": _emscripten_glStencilMask, "_emscripten_glDeleteTextures": _emscripten_glDeleteTextures, "_glfwGetKey": _glfwGetKey, "_glfwGetPrimaryMonitor": _glfwGetPrimaryMonitor, "_glLinkProgram": _glLinkProgram, "_emscripten_glVertexAttribDivisor": _emscripten_glVertexAttribDivisor, "_emscripten_set_touchend_callback": _emscripten_set_touchend_callback, "_emscripten_glGetUniformfv": _emscripten_glGetUniformfv, "_emscripten_glGetVertexAttribfv": _emscripten_glGetVertexAttribfv, "_emscripten_glGetRenderbufferParameteriv": _emscripten_glGetRenderbufferParameteriv, "_emscripten_glDeleteFramebuffers": _emscripten_glDeleteFramebuffers, "_glGetShaderiv": _glGetShaderiv, "_emscripten_glVertexAttrib3fv": _emscripten_glVertexAttrib3fv, "_glGetUniformLocation": _glGetUniformLocation, "_emscripten_glGetInfoLogARB": _emscripten_glGetInfoLogARB, "_emscripten_glCompileShader": _emscripten_glCompileShader, "_glClear": _glClear, "_glGenTextures": _glGenTextures, "_emscripten_glDisable": _emscripten_glDisable, "_emscripten_glDepthRangef": _emscripten_glDepthRangef, "__exit": __exit, "_emscripten_glLineWidth": _emscripten_glLineWidth, "_emscripten_glUniform3f": _emscripten_glUniform3f, "_emscripten_glGetShaderInfoLog": _emscripten_glGetShaderInfoLog, "_emscripten_glStencilOp": _emscripten_glStencilOp, "_glBindAttribLocation": _glBindAttribLocation, "_glPixelStorei": _glPixelStorei, "_emscripten_glColorMask": _emscripten_glColorMask, "_emscripten_glLinkProgram": _emscripten_glLinkProgram, "_emscripten_glBlendEquation": _emscripten_glBlendEquation, "_emscripten_glIsTexture": _emscripten_glIsTexture, "_alDeleteBuffers": _alDeleteBuffers, "_emscripten_glGetProgramiv": _emscripten_glGetProgramiv, "_emscripten_glVertexAttrib1fv": _emscripten_glVertexAttrib1fv, "_emscripten_glBindTexture": _emscripten_glBindTexture, "_glfwSetMouseButtonCallback": _glfwSetMouseButtonCallback, "_glfwGetCursorPos": _glfwGetCursorPos, "_emscripten_glActiveTexture": _emscripten_glActiveTexture, "_emscripten_glDeleteBuffers": _emscripten_glDeleteBuffers, "___syscall54": ___syscall54, "___unlock": ___unlock, "_emscripten_glBufferSubData": _emscripten_glBufferSubData, "_emscripten_glDepthRange": _emscripten_glDepthRange, "_emscripten_set_main_loop": _emscripten_set_main_loop, "_emscripten_glBindRenderbuffer": _emscripten_glBindRenderbuffer, "_emscripten_glGetProgramInfoLog": _emscripten_glGetProgramInfoLog, "_glfwWindowHint": _glfwWindowHint, "_alGenSources": _alGenSources, "_glfwSetCursorPosCallback": _glfwSetCursorPosCallback, "_emscripten_glIsShader": _emscripten_glIsShader, "_emscripten_glUniform4fv": _emscripten_glUniform4fv, "_alcOpenDevice": _alcOpenDevice, "_emscripten_glDrawArrays": _emscripten_glDrawArrays, "_emscripten_glCompressedTexImage2D": _emscripten_glCompressedTexImage2D, "_emscripten_glClearColor": _emscripten_glClearColor, "_emscripten_glCreateProgram": _emscripten_glCreateProgram, "_emscripten_glCopyTexSubImage2D": _emscripten_glCopyTexSubImage2D, "_emscripten_glGetAttribLocation": _emscripten_glGetAttribLocation, "_glTexParameteri": _glTexParameteri, "_emscripten_glValidateProgram": _emscripten_glValidateProgram, "_emscripten_glBindBuffer": _emscripten_glBindBuffer, "_emscripten_glGetFloatv": _emscripten_glGetFloatv, "_emscripten_glDetachShader": _emscripten_glDetachShader, "_glClearColor": _glClearColor, "_emscripten_glEnableClientState": _emscripten_glEnableClientState, "_glTexParameterf": _glTexParameterf, "_glfwSetCursorEnterCallback": _glfwSetCursorEnterCallback, "_emscripten_glCopyTexImage2D": _emscripten_glCopyTexImage2D, "_emscripten_glTexImage2D": _emscripten_glTexImage2D, "DYNAMICTOP_PTR": DYNAMICTOP_PTR, "tempDoublePtr": tempDoublePtr, "ABORT": ABORT, "STACKTOP": STACKTOP, "STACK_MAX": STACK_MAX, "cttz_i8": cttz_i8 }; // EMSCRIPTEN_START_ASM var asm = (function(global, env, buffer) { 'use asm'; - var Int8View = global.Int8Array; - var Int16View = global.Int16Array; - var Int32View = global.Int32Array; - var Uint8View = global.Uint8Array; - var Uint16View = global.Uint16Array; - var Uint32View = global.Uint32Array; - var Float32View = global.Float32Array; - var Float64View = global.Float64Array; - var HEAP8 = new Int8View(buffer); - var HEAP16 = new Int16View(buffer); - var HEAP32 = new Int32View(buffer); - var HEAPU8 = new Uint8View(buffer); - var HEAPU16 = new Uint16View(buffer); - var HEAPU32 = new Uint32View(buffer); - var HEAPF32 = new Float32View(buffer); - var HEAPF64 = new Float64View(buffer); - var byteLength = global.byteLength; + + var HEAP8 = new global.Int8Array(buffer); + var HEAP16 = new global.Int16Array(buffer); + var HEAP32 = new global.Int32Array(buffer); + var HEAPU8 = new global.Uint8Array(buffer); + var HEAPU16 = new global.Uint16Array(buffer); + var HEAPU32 = new global.Uint32Array(buffer); + var HEAPF32 = new global.Float32Array(buffer); + var HEAPF64 = new global.Float64Array(buffer); - var STACKTOP=env.STACKTOP|0; - var STACK_MAX=env.STACK_MAX|0; + var DYNAMICTOP_PTR=env.DYNAMICTOP_PTR|0; var tempDoublePtr=env.tempDoublePtr|0; var ABORT=env.ABORT|0; - var _stdout=env._stdout|0; + var STACKTOP=env.STACKTOP|0; + var STACK_MAX=env.STACK_MAX|0; + var cttz_i8=env.cttz_i8|0; var __THREW__ = 0; var threwValue = 0; @@ -11389,17 +10901,8 @@ var asm = (function(global, env, buffer) { var undef = 0; var nan = global.NaN, inf = global.Infinity; var tempInt = 0, tempBigInt = 0, tempBigIntP = 0, tempBigIntS = 0, tempBigIntR = 0.0, tempBigIntI = 0, tempBigIntD = 0, tempValue = 0, tempDouble = 0.0; - var tempRet0 = 0; - var tempRet1 = 0; - var tempRet2 = 0; - var tempRet3 = 0; - var tempRet4 = 0; - var tempRet5 = 0; - var tempRet6 = 0; - var tempRet7 = 0; - var tempRet8 = 0; - var tempRet9 = 0; + var Math_floor=global.Math.floor; var Math_abs=global.Math.abs; var Math_sqrt=global.Math.sqrt; @@ -11416,9 +10919,38 @@ var asm = (function(global, env, buffer) { var Math_ceil=global.Math.ceil; var Math_imul=global.Math.imul; var Math_min=global.Math.min; + var Math_max=global.Math.max; var Math_clz32=global.Math.clz32; var abort=env.abort; var assert=env.assert; + var enlargeMemory=env.enlargeMemory; + var getTotalMemory=env.getTotalMemory; + var abortOnCannotGrowMemory=env.abortOnCannotGrowMemory; + var abortStackOverflow=env.abortStackOverflow; + var nullFunc_viiiii=env.nullFunc_viiiii; + var nullFunc_vd=env.nullFunc_vd; + var nullFunc_vid=env.nullFunc_vid; + var nullFunc_vi=env.nullFunc_vi; + var nullFunc_vii=env.nullFunc_vii; + var nullFunc_ii=env.nullFunc_ii; + var nullFunc_viddd=env.nullFunc_viddd; + var nullFunc_vidd=env.nullFunc_vidd; + var nullFunc_iiii=env.nullFunc_iiii; + var nullFunc_viiiiiiii=env.nullFunc_viiiiiiii; + var nullFunc_viiiiii=env.nullFunc_viiiiii; + var nullFunc_viii=env.nullFunc_viii; + var nullFunc_vidddd=env.nullFunc_vidddd; + var nullFunc_vdi=env.nullFunc_vdi; + var nullFunc_viiiiiii=env.nullFunc_viiiiiii; + var nullFunc_viiiiiiiii=env.nullFunc_viiiiiiiii; + var nullFunc_iii=env.nullFunc_iii; + var nullFunc_i=env.nullFunc_i; + var nullFunc_vdddddd=env.nullFunc_vdddddd; + var nullFunc_vdddd=env.nullFunc_vdddd; + var nullFunc_vdd=env.nullFunc_vdd; + var nullFunc_v=env.nullFunc_v; + var nullFunc_viid=env.nullFunc_viid; + var nullFunc_viiii=env.nullFunc_viiii; var invoke_viiiii=env.invoke_viiiii; var invoke_vd=env.invoke_vd; var invoke_vid=env.invoke_vid; @@ -11437,7 +10969,6 @@ var asm = (function(global, env, buffer) { var invoke_viiiiiiiii=env.invoke_viiiiiiiii; var invoke_iii=env.invoke_iii; var invoke_i=env.invoke_i; - var invoke_iiiiii=env.invoke_iiiiii; var invoke_vdddddd=env.invoke_vdddddd; var invoke_vdddd=env.invoke_vdddd; var invoke_vdd=env.invoke_vdd; @@ -11446,18 +10977,16 @@ var asm = (function(global, env, buffer) { var invoke_viiii=env.invoke_viiii; var _emscripten_glGetTexParameterfv=env._emscripten_glGetTexParameterfv; var _glUseProgram=env._glUseProgram; - var _exp=env._exp; + var _emscripten_glShaderSource=env._emscripten_glShaderSource; var _glfwCreateWindow=env._glfwCreateWindow; var _emscripten_glReleaseShaderCompiler=env._emscripten_glReleaseShaderCompiler; var _emscripten_glBlendFuncSeparate=env._emscripten_glBlendFuncSeparate; var _emscripten_glUniform4iv=env._emscripten_glUniform4iv; var _emscripten_glVertexAttribPointer=env._emscripten_glVertexAttribPointer; - var _fread=env._fread; var _emscripten_glGetIntegerv=env._emscripten_glGetIntegerv; var _emscripten_glCullFace=env._emscripten_glCullFace; var _emscripten_glIsProgram=env._emscripten_glIsProgram; var _emscripten_glStencilMaskSeparate=env._emscripten_glStencilMaskSeparate; - var _emscripten_glGetPointerv=env._emscripten_glGetPointerv; var _emscripten_glViewport=env._emscripten_glViewport; var _emscripten_glFrontFace=env._emscripten_glFrontFace; var _alBufferData=env._alBufferData; @@ -11471,74 +11000,69 @@ var asm = (function(global, env, buffer) { var _emscripten_glDepthFunc=env._emscripten_glDepthFunc; var _glGetShaderInfoLog=env._glGetShaderInfoLog; var _alSource3f=env._alSource3f; - var _sqrtf=env._sqrtf; var _emscripten_set_fullscreenchange_callback=env._emscripten_set_fullscreenchange_callback; var _emscripten_set_touchmove_callback=env._emscripten_set_touchmove_callback; var _emscripten_set_main_loop_timing=env._emscripten_set_main_loop_timing; - var _ceilf=env._ceilf; + var _emscripten_set_gamepaddisconnected_callback=env._emscripten_set_gamepaddisconnected_callback; + var _glDisable=env._glDisable; var _glBlendFunc=env._glBlendFunc; var _emscripten_glDisableVertexAttribArray=env._emscripten_glDisableVertexAttribArray; var _glGetAttribLocation=env._glGetAttribLocation; var _glDisableVertexAttribArray=env._glDisableVertexAttribArray; - var _emscripten_memcpy_big=env._emscripten_memcpy_big; + var _glCreateShader=env._glCreateShader; var _alcGetString=env._alcGetString; - var _sysconf=env._sysconf; - var _close=env._close; + var _emscripten_glSampleCoverage=env._emscripten_glSampleCoverage; var _emscripten_glVertexPointer=env._emscripten_glVertexPointer; var _emscripten_set_touchstart_callback=env._emscripten_set_touchstart_callback; + var emscriptenWebGLComputeImageSize=env.emscriptenWebGLComputeImageSize; var _emscripten_glGetBooleanv=env._emscripten_glGetBooleanv; var _emscripten_glGetShaderSource=env._emscripten_glGetShaderSource; - var _cos=env._cos; - var _fileno=env._fileno; + var _glUniform4f=env._glUniform4f; var _llvm_stacksave=env._llvm_stacksave; var _emscripten_glUniform1i=env._emscripten_glUniform1i; var _emscripten_glStencilFuncSeparate=env._emscripten_glStencilFuncSeparate; - var _puts=env._puts; var _emscripten_glFrustum=env._emscripten_glFrustum; var _emscripten_glGenBuffers=env._emscripten_glGenBuffers; var _emscripten_glDeleteObjectARB=env._emscripten_glDeleteObjectARB; var _glfwSetWindowSizeCallback=env._glfwSetWindowSizeCallback; var _emscripten_glGetShaderPrecisionFormat=env._emscripten_glGetShaderPrecisionFormat; var _glfwInit=env._glfwInit; - var _write=env._write; - var _ftell=env._ftell; - var _glGetShaderiv=env._glGetShaderiv; + var _emscripten_glGetPointerv=env._emscripten_glGetPointerv; var _glGenBuffers=env._glGenBuffers; var _glShaderSource=env._glShaderSource; var _emscripten_glGetString=env._emscripten_glGetString; var _emscripten_glIsFramebuffer=env._emscripten_glIsFramebuffer; var _emscripten_glIsEnabled=env._emscripten_glIsEnabled; var _emscripten_glScissor=env._emscripten_glScissor; + var _emscripten_glVertexAttrib4fv=env._emscripten_glVertexAttrib4fv; + var _emscripten_glFramebufferTexture2D=env._emscripten_glFramebufferTexture2D; var _emscripten_glTexParameteriv=env._emscripten_glTexParameteriv; - var _emscripten_glDeleteVertexArrays=env._emscripten_glDeleteVertexArrays; var _emscripten_glBindProgramARB=env._emscripten_glBindProgramARB; var _emscripten_glStencilOpSeparate=env._emscripten_glStencilOpSeparate; var _alSourcePlay=env._alSourcePlay; var _alSourcei=env._alSourcei; - var _emscripten_glHint=env._emscripten_glHint; var _emscripten_glFramebufferRenderbuffer=env._emscripten_glFramebufferRenderbuffer; - var _emscripten_glClearDepthf=env._emscripten_glClearDepthf; + var ___syscall140=env.___syscall140; var _glfwSetErrorCallback=env._glfwSetErrorCallback; var _glfwDefaultWindowHints=env._glfwDefaultWindowHints; + var _emscripten_glIsBuffer=env._emscripten_glIsBuffer; + var ___syscall146=env.___syscall146; var _glfwDestroyWindow=env._glfwDestroyWindow; - var _emscripten_glVertexAttrib1f=env._emscripten_glVertexAttrib1f; var _emscripten_glGetActiveAttrib=env._emscripten_glGetActiveAttrib; - var _emscripten_glColorPointer=env._emscripten_glColorPointer; var _emscripten_glAttachShader=env._emscripten_glAttachShader; var _glVertexAttribPointer=env._glVertexAttribPointer; - var _emscripten_glCompressedTexSubImage2D=env._emscripten_glCompressedTexSubImage2D; + var _emscripten_glUniform2i=env._emscripten_glUniform2i; var _emscripten_glUniform2f=env._emscripten_glUniform2f; var _alcCreateContext=env._alcCreateContext; var _glfwTerminate=env._glfwTerminate; var _emscripten_glTexParameterfv=env._emscripten_glTexParameterfv; var _emscripten_glUniformMatrix2fv=env._emscripten_glUniformMatrix2fv; var _glGetProgramInfoLog=env._glGetProgramInfoLog; - var _emscripten_glGetUniformiv=env._emscripten_glGetUniformiv; + var _alcGetContextsDevice=env._alcGetContextsDevice; var _emscripten_glTexParameterf=env._emscripten_glTexParameterf; var _emscripten_glGetAttachedShaders=env._emscripten_glGetAttachedShaders; var _emscripten_glGenTextures=env._emscripten_glGenTextures; var _emscripten_glTexParameteri=env._emscripten_glTexParameteri; - var _emscripten_glIsShader=env._emscripten_glIsShader; var _llvm_stackrestore=env._llvm_stackrestore; var _glfwMakeContextCurrent=env._glfwMakeContextCurrent; var _emscripten_glClear=env._emscripten_glClear; @@ -11557,16 +11081,15 @@ var asm = (function(global, env, buffer) { var _emscripten_glBindAttribLocation=env._emscripten_glBindAttribLocation; var _glDeleteTextures=env._glDeleteTextures; var _glDepthFunc=env._glDepthFunc; - var _emscripten_glStencilMask=env._emscripten_glStencilMask; var _emscripten_glClientActiveTexture=env._emscripten_glClientActiveTexture; var _emscripten_glVertexAttrib2f=env._emscripten_glVertexAttrib2f; var _emscripten_glFlush=env._emscripten_glFlush; - var _emscripten_glBlendFunc=env._emscripten_glBlendFunc; var _emscripten_glCheckFramebufferStatus=env._emscripten_glCheckFramebufferStatus; var _emscripten_glGenerateMipmap=env._emscripten_glGenerateMipmap; var _emscripten_glGetError=env._emscripten_glGetError; var _alGenBuffers=env._alGenBuffers; - var _emscripten_glUniform3f=env._emscripten_glUniform3f; + var _emscripten_glClearDepthf=env._emscripten_glClearDepthf; + var _emscripten_glBufferData=env._emscripten_glBufferData; var _emscripten_glUniform3i=env._emscripten_glUniform3i; var _emscripten_glRotatef=env._emscripten_glRotatef; var _emscripten_glDeleteShader=env._emscripten_glDeleteShader; @@ -11575,149 +11098,148 @@ var asm = (function(global, env, buffer) { var _emscripten_glMatrixMode=env._emscripten_glMatrixMode; var _alDeleteSources=env._alDeleteSources; var _emscripten_glClearStencil=env._emscripten_glClearStencil; - var _sin=env._sin; var _emscripten_glGetUniformLocation=env._emscripten_glGetUniformLocation; + var emscriptenWebGLGet=env.emscriptenWebGLGet; var _alSourceUnqueueBuffers=env._alSourceUnqueueBuffers; - var _emscripten_glDrawArrays=env._emscripten_glDrawArrays; + var _emscripten_glEnableVertexAttribArray=env._emscripten_glEnableVertexAttribArray; var _alGetError=env._alGetError; var _emscripten_get_now=env._emscripten_get_now; var _emscripten_glNormalPointer=env._emscripten_glNormalPointer; var _glAttachShader=env._glAttachShader; var _emscripten_glTexCoordPointer=env._emscripten_glTexCoordPointer; - var _emscripten_glFinish=env._emscripten_glFinish; + var _emscripten_glEnable=env._emscripten_glEnable; var _glCreateProgram=env._glCreateProgram; var _glUniformMatrix4fv=env._glUniformMatrix4fv; var _emscripten_glClearDepth=env._emscripten_glClearDepth; - var _read=env._read; - var _emscripten_glBindFramebuffer=env._emscripten_glBindFramebuffer; - var _emscripten_glLoadMatrixf=env._emscripten_glLoadMatrixf; - var _emscripten_glIsBuffer=env._emscripten_glIsBuffer; + var ___lock=env.___lock; + var emscriptenWebGLGetTexPixelData=env.emscriptenWebGLGetTexPixelData; + var ___syscall6=env.___syscall6; + var ___syscall5=env.___syscall5; + var ___syscall145=env.___syscall145; var _emscripten_glVertexAttrib3f=env._emscripten_glVertexAttrib3f; var _time=env._time; - var _glBindFramebuffer=env._glBindFramebuffer; - var _pwrite=env._pwrite; + var _emscripten_glVertexAttrib1f=env._emscripten_glVertexAttrib1f; var _emscripten_glGetFramebufferAttachmentParameteriv=env._emscripten_glGetFramebufferAttachmentParameteriv; var _emscripten_glBlendEquationSeparate=env._emscripten_glBlendEquationSeparate; var _exit=env._exit; - var _emscripten_asm_const_2=env._emscripten_asm_const_2; + var _emscripten_glBindFramebuffer=env._emscripten_glBindFramebuffer; var _glGetString=env._glGetString; var _emscripten_glUniform4i=env._emscripten_glUniform4i; var _alSourcef=env._alSourcef; var _emscripten_glDrawRangeElements=env._emscripten_glDrawRangeElements; + var _glCullFace=env._glCullFace; var _llvm_pow_f64=env._llvm_pow_f64; - var _glDeleteFramebuffers=env._glDeleteFramebuffers; - var _glfwPollEvents=env._glfwPollEvents; + var _emscripten_set_keypress_callback=env._emscripten_set_keypress_callback; + var __emscripten_sample_gamepad_data=env.__emscripten_sample_gamepad_data; + var _emscripten_get_gamepad_status=env._emscripten_get_gamepad_status; var _emscripten_glUniform4f=env._emscripten_glUniform4f; var _glfwSwapInterval=env._glfwSwapInterval; - var _emscripten_glBindBuffer=env._emscripten_glBindBuffer; - var _glfwSetWindowShouldClose=env._glfwSetWindowShouldClose; - var _lseek=env._lseek; - var _glfwWindowHint=env._glfwWindowHint; - var _vfprintf=env._vfprintf; + var _glfwGetVideoModes=env._glfwGetVideoModes; + var _emscripten_set_click_callback=env._emscripten_set_click_callback; var _emscripten_glShaderBinary=env._emscripten_glShaderBinary; var _emscripten_glDrawElements=env._emscripten_glDrawElements; - var _asin=env._asin; - var _emscripten_glGetShaderInfoLog=env._emscripten_glGetShaderInfoLog; - var _sbrk=env._sbrk; + var _emscripten_glBlendFunc=env._emscripten_glBlendFunc; + var _emscripten_get_num_gamepads=env._emscripten_get_num_gamepads; + var ___syscall221=env.___syscall221; var _glCompressedTexImage2D=env._glCompressedTexImage2D; var _emscripten_glUniform1iv=env._emscripten_glUniform1iv; var _emscripten_glGetVertexAttribPointerv=env._emscripten_glGetVertexAttribPointerv; - var ___errno_location=env.___errno_location; - var _emscripten_glEnableVertexAttribArray=env._emscripten_glEnableVertexAttribArray; - var _emscripten_glUniform2i=env._emscripten_glUniform2i; - var _open=env._open; - var _emscripten_glGetAttribLocation=env._emscripten_glGetAttribLocation; + var _glClearDepthf=env._glClearDepthf; + var _emscripten_glCompressedTexSubImage2D=env._emscripten_glCompressedTexSubImage2D; + var emscriptenWebGLGetUniform=env.emscriptenWebGLGetUniform; + var _emscripten_glGenRenderbuffers=env._emscripten_glGenRenderbuffers; + var _emscripten_glDeleteVertexArrays=env._emscripten_glDeleteVertexArrays; + var _glfwSetWindowShouldClose=env._glfwSetWindowShouldClose; + var _emscripten_glUniform1fv=env._emscripten_glUniform1fv; var _emscripten_glGetActiveUniform=env._emscripten_glGetActiveUniform; var _glBindTexture=env._glBindTexture; var _emscripten_glUniform3iv=env._emscripten_glUniform3iv; var _emscripten_glUniform2iv=env._emscripten_glUniform2iv; - var _emscripten_glDisable=env._emscripten_glDisable; + var _emscripten_glHint=env._emscripten_glHint; var _glfwSetCharCallback=env._glfwSetCharCallback; - var _emscripten_glGetBufferParameteriv=env._emscripten_glGetBufferParameteriv; + var emscriptenWebGLGetVertexAttrib=env.emscriptenWebGLGetVertexAttrib; + var _emscripten_glLoadMatrixf=env._emscripten_glLoadMatrixf; var _emscripten_glDeleteProgram=env._emscripten_glDeleteProgram; var _emscripten_glDeleteRenderbuffers=env._emscripten_glDeleteRenderbuffers; - var _glEnableVertexAttribArray=env._glEnableVertexAttribArray; var _glfwSetScrollCallback=env._glfwSetScrollCallback; var _emscripten_glDrawElementsInstanced=env._emscripten_glDrawElementsInstanced; var _emscripten_glVertexAttrib4f=env._emscripten_glVertexAttrib4f; var _alcDestroyContext=env._alcDestroyContext; - var _emscripten_glGetVertexAttribiv=env._emscripten_glGetVertexAttribiv; + var _glDrawArrays=env._glDrawArrays; var _emscripten_glTexSubImage2D=env._emscripten_glTexSubImage2D; - var _glCreateShader=env._glCreateShader; + var _emscripten_memcpy_big=env._emscripten_memcpy_big; var _emscripten_glPixelStorei=env._emscripten_glPixelStorei; var _glCompileShader=env._glCompileShader; - var _fseek=env._fseek; + var _alListenerf=env._alListenerf; var _emscripten_glUniformMatrix3fv=env._emscripten_glUniformMatrix3fv; - var _emscripten_glDepthRange=env._emscripten_glDepthRange; - var _fclose=env._fclose; - var _emscripten_glCompressedTexImage2D=env._emscripten_glCompressedTexImage2D; - var _floorf=env._floorf; - var _log=env._log; - var _glActiveTexture=env._glActiveTexture; + var _emscripten_glColorPointer=env._emscripten_glColorPointer; + var _emscripten_glGetBufferParameteriv=env._emscripten_glGetBufferParameteriv; + var _emscripten_glFinish=env._emscripten_glFinish; var _glfwSwapBuffers=env._glfwSwapBuffers; - var _recv=env._recv; + var _glGetFloatv=env._glGetFloatv; + var _emscripten_asm_const_iii=env._emscripten_asm_const_iii; var _emscripten_glDepthMask=env._emscripten_glDepthMask; var _glfwSetWindowIconifyCallback=env._glfwSetWindowIconifyCallback; var _emscripten_glDrawBuffers=env._emscripten_glDrawBuffers; var _alSourceStop=env._alSourceStop; + var _glFrontFace=env._glFrontFace; var _emscripten_glGetObjectParameterivARB=env._emscripten_glGetObjectParameterivARB; - var _emscripten_glFramebufferTexture2D=env._emscripten_glFramebufferTexture2D; + var _emscripten_exit_pointerlock=env._emscripten_exit_pointerlock; var _alcCloseDevice=env._alcCloseDevice; var _glUniform1i=env._glUniform1i; - var _send=env._send; - var _fputc=env._fputc; + var _glEnableVertexAttribArray=env._glEnableVertexAttribArray; var _emscripten_glStencilFunc=env._emscripten_glStencilFunc; var _abort=env._abort; - var _alcGetContextsDevice=env._alcGetContextsDevice; + var _emscripten_glGetUniformiv=env._emscripten_glGetUniformiv; var _emscripten_glUniform2fv=env._emscripten_glUniform2fv; var _glDeleteBuffers=env._glDeleteBuffers; var _glBufferData=env._glBufferData; var _glTexImage2D=env._glTexImage2D; var _emscripten_glGetShaderiv=env._emscripten_glGetShaderiv; - var _fopen=env._fopen; + var _glfwSetKeyCallback=env._glfwSetKeyCallback; var _emscripten_glGenFramebuffers=env._emscripten_glGenFramebuffers; - var _floor=env._floor; var _emscripten_glUniformMatrix4fv=env._emscripten_glUniformMatrix4fv; var _emscripten_glLoadIdentity=env._emscripten_glLoadIdentity; var _glDeleteShader=env._glDeleteShader; var _emscripten_glUniform1f=env._emscripten_glUniform1f; var _glGetProgramiv=env._glGetProgramiv; - var _emscripten_glUniform1fv=env._emscripten_glUniform1fv; + var _llvm_exp2_f32=env._llvm_exp2_f32; var _emscripten_glIsRenderbuffer=env._emscripten_glIsRenderbuffer; var _glfwGetTime=env._glfwGetTime; var _emscripten_glRenderbufferStorage=env._emscripten_glRenderbufferStorage; + var _emscripten_set_gamepadconnected_callback=env._emscripten_set_gamepadconnected_callback; var _alListener3f=env._alListener3f; - var _glDrawArrays=env._glDrawArrays; + var _emscripten_glGetVertexAttribiv=env._emscripten_glGetVertexAttribiv; var _emscripten_glBindVertexArray=env._emscripten_glBindVertexArray; var _emscripten_glDrawArraysInstanced=env._emscripten_glDrawArraysInstanced; var _emscripten_set_touchcancel_callback=env._emscripten_set_touchcancel_callback; var _emscripten_glCreateShader=env._emscripten_glCreateShader; - var _fwrite=env._fwrite; + var _emscripten_glStencilMask=env._emscripten_glStencilMask; var _emscripten_glDeleteTextures=env._emscripten_glDeleteTextures; var _glfwGetKey=env._glfwGetKey; var _glfwGetPrimaryMonitor=env._glfwGetPrimaryMonitor; - var _emscripten_glBufferSubData=env._emscripten_glBufferSubData; + var _glLinkProgram=env._glLinkProgram; var _emscripten_glVertexAttribDivisor=env._emscripten_glVertexAttribDivisor; var _emscripten_set_touchend_callback=env._emscripten_set_touchend_callback; var _emscripten_glGetUniformfv=env._emscripten_glGetUniformfv; - var _glClear=env._glClear; var _emscripten_glGetVertexAttribfv=env._emscripten_glGetVertexAttribfv; var _emscripten_glGetRenderbufferParameteriv=env._emscripten_glGetRenderbufferParameteriv; - var _fprintf=env._fprintf; - var __reallyNegative=env.__reallyNegative; + var _emscripten_glDeleteFramebuffers=env._emscripten_glDeleteFramebuffers; + var _glGetShaderiv=env._glGetShaderiv; var _emscripten_glVertexAttrib3fv=env._emscripten_glVertexAttrib3fv; var _glGetUniformLocation=env._glGetUniformLocation; var _emscripten_glGetInfoLogARB=env._emscripten_glGetInfoLogARB; var _emscripten_glCompileShader=env._emscripten_glCompileShader; - var _emscripten_glEnable=env._emscripten_glEnable; - var _glUniform4fv=env._glUniform4fv; + var _glClear=env._glClear; var _glGenTextures=env._glGenTextures; - var _emscripten_glSampleCoverage=env._emscripten_glSampleCoverage; + var _emscripten_glDisable=env._emscripten_glDisable; var _emscripten_glDepthRangef=env._emscripten_glDepthRangef; - var _sinf=env._sinf; var __exit=env.__exit; var _emscripten_glLineWidth=env._emscripten_glLineWidth; + var _emscripten_glUniform3f=env._emscripten_glUniform3f; + var _emscripten_glGetShaderInfoLog=env._emscripten_glGetShaderInfoLog; var _emscripten_glStencilOp=env._emscripten_glStencilOp; + var _glBindAttribLocation=env._glBindAttribLocation; var _glPixelStorei=env._glPixelStorei; var _emscripten_glColorMask=env._emscripten_glColorMask; var _emscripten_glLinkProgram=env._emscripten_glLinkProgram; @@ -11726,69 +11248,52 @@ var asm = (function(global, env, buffer) { var _alDeleteBuffers=env._alDeleteBuffers; var _emscripten_glGetProgramiv=env._emscripten_glGetProgramiv; var _emscripten_glVertexAttrib1fv=env._emscripten_glVertexAttrib1fv; - var _pread=env._pread; var _emscripten_glBindTexture=env._emscripten_glBindTexture; - var _mkport=env._mkport; + var _glfwSetMouseButtonCallback=env._glfwSetMouseButtonCallback; var _glfwGetCursorPos=env._glfwGetCursorPos; var _emscripten_glActiveTexture=env._emscripten_glActiveTexture; - var _emscripten_glGenRenderbuffers=env._emscripten_glGenRenderbuffers; - var _emscripten_glVertexAttrib4fv=env._emscripten_glVertexAttrib4fv; var _emscripten_glDeleteBuffers=env._emscripten_glDeleteBuffers; - var _glLinkProgram=env._glLinkProgram; - var _feof=env._feof; - var _fflush=env._fflush; + var ___syscall54=env.___syscall54; + var ___unlock=env.___unlock; + var _emscripten_glBufferSubData=env._emscripten_glBufferSubData; + var _emscripten_glDepthRange=env._emscripten_glDepthRange; var _emscripten_set_main_loop=env._emscripten_set_main_loop; - var _glfwSetMouseButtonCallback=env._glfwSetMouseButtonCallback; - var _emscripten_glGetProgramInfoLog=env._emscripten_glGetProgramInfoLog; var _emscripten_glBindRenderbuffer=env._emscripten_glBindRenderbuffer; + var _emscripten_glGetProgramInfoLog=env._emscripten_glGetProgramInfoLog; + var _glfwWindowHint=env._glfwWindowHint; var _alGenSources=env._alGenSources; - var _emscripten_glShaderSource=env._emscripten_glShaderSource; - var _emscripten_glDeleteFramebuffers=env._emscripten_glDeleteFramebuffers; + var _glfwSetCursorPosCallback=env._glfwSetCursorPosCallback; + var _emscripten_glIsShader=env._emscripten_glIsShader; var _emscripten_glUniform4fv=env._emscripten_glUniform4fv; - var _fgetc=env._fgetc; var _alcOpenDevice=env._alcOpenDevice; - var _cosf=env._cosf; - var _sqrt=env._sqrt; - var _glfwSetKeyCallback=env._glfwSetKeyCallback; + var _emscripten_glDrawArrays=env._emscripten_glDrawArrays; + var _emscripten_glCompressedTexImage2D=env._emscripten_glCompressedTexImage2D; var _emscripten_glClearColor=env._emscripten_glClearColor; - var _emscripten_glBufferData=env._emscripten_glBufferData; var _emscripten_glCreateProgram=env._emscripten_glCreateProgram; var _emscripten_glCopyTexSubImage2D=env._emscripten_glCopyTexSubImage2D; - var _eglWaitClient=env._eglWaitClient; + var _emscripten_glGetAttribLocation=env._emscripten_glGetAttribLocation; var _glTexParameteri=env._glTexParameteri; var _emscripten_glValidateProgram=env._emscripten_glValidateProgram; - var __formatString=env.__formatString; - var _fputs=env._fputs; + var _emscripten_glBindBuffer=env._emscripten_glBindBuffer; var _emscripten_glGetFloatv=env._emscripten_glGetFloatv; var _emscripten_glDetachShader=env._emscripten_glDetachShader; var _glClearColor=env._glClearColor; var _emscripten_glEnableClientState=env._emscripten_glEnableClientState; + var _glTexParameterf=env._glTexParameterf; var _glfwSetCursorEnterCallback=env._glfwSetCursorEnterCallback; var _emscripten_glCopyTexImage2D=env._emscripten_glCopyTexImage2D; var _emscripten_glTexImage2D=env._emscripten_glTexImage2D; var tempFloat = 0.0; -function _emscripten_replace_memory(newBuffer) { - if ((byteLength(newBuffer) & 0xffffff || byteLength(newBuffer) <= 0xffffff) || byteLength(newBuffer) > 0x80000000) return false; - HEAP8 = new Int8View(newBuffer); - HEAP16 = new Int16View(newBuffer); - HEAP32 = new Int32View(newBuffer); - HEAPU8 = new Uint8View(newBuffer); - HEAPU16 = new Uint16View(newBuffer); - HEAPU32 = new Uint32View(newBuffer); - HEAPF32 = new Float32View(newBuffer); - HEAPF64 = new Float64View(newBuffer); - buffer = newBuffer; - return true; -} - // EMSCRIPTEN_START_FUNCS + function stackAlloc(size) { size = size|0; var ret = 0; ret = STACKTOP; STACKTOP = (STACKTOP + size)|0; STACKTOP = (STACKTOP + 15)&-16; + if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(size|0); return ret|0; } @@ -11814,24 +11319,6 @@ function setThrew(threw, value) { threwValue = value; } } -function copyTempFloat(ptr) { - ptr = ptr|0; - HEAP8[tempDoublePtr>>0] = HEAP8[ptr>>0]; - HEAP8[tempDoublePtr+1>>0] = HEAP8[ptr+1>>0]; - HEAP8[tempDoublePtr+2>>0] = HEAP8[ptr+2>>0]; - HEAP8[tempDoublePtr+3>>0] = HEAP8[ptr+3>>0]; -} -function copyTempDouble(ptr) { - ptr = ptr|0; - HEAP8[tempDoublePtr>>0] = HEAP8[ptr>>0]; - HEAP8[tempDoublePtr+1>>0] = HEAP8[ptr+1>>0]; - HEAP8[tempDoublePtr+2>>0] = HEAP8[ptr+2>>0]; - HEAP8[tempDoublePtr+3>>0] = HEAP8[ptr+3>>0]; - HEAP8[tempDoublePtr+4>>0] = HEAP8[ptr+4>>0]; - HEAP8[tempDoublePtr+5>>0] = HEAP8[ptr+5>>0]; - HEAP8[tempDoublePtr+6>>0] = HEAP8[ptr+6>>0]; - HEAP8[tempDoublePtr+7>>0] = HEAP8[ptr+7>>0]; -} function setTempRet0(value) { value = value|0; @@ -11842,61 +11329,42 @@ function getTempRet0() { } function _main() { - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $3 = 0, $4 = 0, $5 = 0; - var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $sndScream$byval_copy = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $sndScream$byval_copy = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 112|0; - $sndScream$byval_copy = sp + 72|0; - $0 = sp + 36|0; - $1 = sp + 16|0; - $2 = sp; - $3 = sp + 8|0; - _InitWindow(1280,720,224); + STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0); + $sndScream$byval_copy = sp + 80|0; + $0 = sp + 48|0; + $1 = sp + 24|0; + $2 = sp + 12|0; + $3 = sp; + _InitWindow(1280,720,5614); _InitAudioDevice(); - _PlayMusicStream(256); - _LoadSpriteFont($0,296); - dest=48; src=$0; stop=dest+36|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _LoadTexture($1,328); - ;HEAP32[88>>2]=HEAP32[$1>>2]|0;HEAP32[88+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[88+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[88+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[88+16>>2]=HEAP32[$1+16>>2]|0; - _LoadSound($2,360); - $4 = $2; - $5 = $4; - $6 = HEAP32[$5>>2]|0; - $7 = (($4) + 4)|0; - $8 = $7; - $9 = HEAP32[$8>>2]|0; - $10 = 112; - $11 = $10; - HEAP32[$11>>2] = $6; - $12 = (($10) + 4)|0; - $13 = $12; - HEAP32[$13>>2] = $9; - _LoadSound($3,392); - $14 = $3; - $15 = $14; - $16 = HEAP32[$15>>2]|0; - $17 = (($14) + 4)|0; - $18 = $17; - $19 = HEAP32[$18>>2]|0; - $20 = 120; - $21 = $20; - HEAP32[$21>>2] = $16; - $22 = (($20) + 4)|0; - $23 = $22; - HEAP32[$23>>2] = $19; + $4 = (_LoadMusicStream(5644)|0); + HEAP32[6689] = $4; + _PlayMusicStream($4); + _LoadSpriteFont($0,5682); + ;HEAP32[26760>>2]=HEAP32[$0>>2]|0;HEAP32[26760+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[26760+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[26760+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[26760+16>>2]=HEAP32[$0+16>>2]|0;HEAP32[26760+20>>2]=HEAP32[$0+20>>2]|0;HEAP32[26760+24>>2]=HEAP32[$0+24>>2]|0;HEAP32[26760+28>>2]=HEAP32[$0+28>>2]|0; + _LoadTexture($1,5713); + ;HEAP32[26792>>2]=HEAP32[$1>>2]|0;HEAP32[26792+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[26792+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[26792+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[26792+16>>2]=HEAP32[$1+16>>2]|0; + _LoadSound($2,5742); + ;HEAP32[26812>>2]=HEAP32[$2>>2]|0;HEAP32[26812+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[26812+8>>2]=HEAP32[$2+8>>2]|0; + _LoadSound($3,5767); + ;HEAP32[26824>>2]=HEAP32[$3>>2]|0;HEAP32[26824+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[26824+8>>2]=HEAP32[$3+8>>2]|0; _InitPlayer(); - HEAP32[128>>2] = 0; + HEAP32[6709] = 0; _InitLogoScreen(); _emscripten_set_main_loop((1|0),0,1); _UnloadPlayer(); - dest=$sndScream$byval_copy; src=48; stop=dest+36|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + ;HEAP32[$sndScream$byval_copy>>2]=HEAP32[26760>>2]|0;HEAP32[$sndScream$byval_copy+4>>2]=HEAP32[26760+4>>2]|0;HEAP32[$sndScream$byval_copy+8>>2]=HEAP32[26760+8>>2]|0;HEAP32[$sndScream$byval_copy+12>>2]=HEAP32[26760+12>>2]|0;HEAP32[$sndScream$byval_copy+16>>2]=HEAP32[26760+16>>2]|0;HEAP32[$sndScream$byval_copy+20>>2]=HEAP32[26760+20>>2]|0;HEAP32[$sndScream$byval_copy+24>>2]=HEAP32[26760+24>>2]|0;HEAP32[$sndScream$byval_copy+28>>2]=HEAP32[26760+28>>2]|0; _UnloadSpriteFont($sndScream$byval_copy); - ;HEAP32[$sndScream$byval_copy>>2]=HEAP32[88>>2]|0;HEAP32[$sndScream$byval_copy+4>>2]=HEAP32[88+4>>2]|0;HEAP32[$sndScream$byval_copy+8>>2]=HEAP32[88+8>>2]|0;HEAP32[$sndScream$byval_copy+12>>2]=HEAP32[88+12>>2]|0;HEAP32[$sndScream$byval_copy+16>>2]=HEAP32[88+16>>2]|0; + ;HEAP32[$sndScream$byval_copy>>2]=HEAP32[26792>>2]|0;HEAP32[$sndScream$byval_copy+4>>2]=HEAP32[26792+4>>2]|0;HEAP32[$sndScream$byval_copy+8>>2]=HEAP32[26792+8>>2]|0;HEAP32[$sndScream$byval_copy+12>>2]=HEAP32[26792+12>>2]|0;HEAP32[$sndScream$byval_copy+16>>2]=HEAP32[26792+16>>2]|0; _UnloadTexture($sndScream$byval_copy); - ;HEAP32[$sndScream$byval_copy>>2]=HEAP32[112>>2]|0;HEAP32[$sndScream$byval_copy+4>>2]=HEAP32[112+4>>2]|0; + ;HEAP32[$sndScream$byval_copy>>2]=HEAP32[26812>>2]|0;HEAP32[$sndScream$byval_copy+4>>2]=HEAP32[26812+4>>2]|0;HEAP32[$sndScream$byval_copy+8>>2]=HEAP32[26812+8>>2]|0; _UnloadSound($sndScream$byval_copy); - ;HEAP32[$sndScream$byval_copy>>2]=HEAP32[120>>2]|0;HEAP32[$sndScream$byval_copy+4>>2]=HEAP32[120+4>>2]|0; + ;HEAP32[$sndScream$byval_copy>>2]=HEAP32[26824>>2]|0;HEAP32[$sndScream$byval_copy+4>>2]=HEAP32[26824+4>>2]|0;HEAP32[$sndScream$byval_copy+8>>2]=HEAP32[26824+8>>2]|0; _UnloadSound($sndScream$byval_copy); + $5 = HEAP32[6689]|0; + _UnloadMusicStream($5); _CloseAudioDevice(); _CloseWindow(); STACKTOP = sp;return 0; @@ -11904,30 +11372,30 @@ function _main() { function _UpdateDrawFrame() { var $$byval_copy = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; - var $44 = 0, $45 = 0, $46 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); $$byval_copy = sp + 4|0; $0 = sp; - $1 = HEAP32[16>>2]|0; + $1 = HEAP32[6687]|0; $2 = ($1|0)==(0); L1: do { if ($2) { - $3 = HEAP32[(216)>>2]|0; + $3 = HEAP32[(26920)>>2]|0; $4 = ($3|0)==(0); if (!($4)) { - $5 = HEAP32[424>>2]|0; + $5 = HEAP32[6731]|0; $6 = (($5) + 1)|0; - HEAP32[424>>2] = $6; + HEAP32[6731] = $6; $7 = ($5|0)>(79); if ($7) { - HEAP32[424>>2] = 0; - HEAP32[(216)>>2] = 0; - HEAP32[(212)>>2] = 4; + HEAP32[6731] = 0; + HEAP32[(26920)>>2] = 0; + HEAP32[(26916)>>2] = 4; _TransitionToScreen(2); } } - $8 = HEAP32[128>>2]|0; + $8 = HEAP32[6709]|0; do { switch ($8|0) { case 0: { @@ -11952,6 +11420,28 @@ function _UpdateDrawFrame() { break L1; break; } + case 2: { + _UpdateTitleScreen(); + $13 = (_FinishTitleScreen()|0); + $14 = ($13|0)==(1); + if (!($14)) { + break L1; + } + _TransitionToScreen(3); + break L1; + break; + } + case 3: { + _UpdateAtticScreen(); + $15 = (_FinishAtticScreen()|0); + $16 = ($15|0)==(1); + if (!($16)) { + break L1; + } + _TransitionToScreen(4); + break L1; + break; + } case 4: { _UpdateAisle01Screen(); $17 = (_FinishAisle01Screen()|0); @@ -11986,39 +11476,28 @@ function _UpdateDrawFrame() { break L1; break; } - case 2: { - _UpdateTitleScreen(); - $13 = (_FinishTitleScreen()|0); - $14 = ($13|0)==(1); - if (!($14)) { + case 7: { + _UpdateLivingroomScreen(); + $25 = (_FinishLivingroomScreen()|0); + $26 = ($25|0)==(1); + if ($26) { + _TransitionToScreen(4); break L1; } - _TransitionToScreen(3); + $27 = (_FinishLivingroomScreen()|0); + $28 = ($27|0)==(2); + if (!($28)) { + break L1; + } + _TransitionToScreen(5); break L1; break; } - case 3: { - _UpdateAtticScreen(); - $15 = (_FinishAtticScreen()|0); - $16 = ($15|0)==(1); - if (!($16)) { - break L1; - } - _TransitionToScreen(4); - break L1; - break; - } - case 9: { - _UpdateArmoryScreen(); - $35 = (_FinishArmoryScreen()|0); - $36 = ($35|0)==(1); - if ($36) { - _TransitionToScreen(10); - break L1; - } - $37 = (_FinishArmoryScreen()|0); - $38 = ($37|0)==(2); - if (!($38)) { + case 5: { + _UpdateAisle02Screen(); + $29 = (_FinishAisle02Screen()|0); + $30 = ($29|0)==(1); + if (!($30)) { break L1; } _TransitionToScreen(8); @@ -12042,6 +11521,23 @@ function _UpdateDrawFrame() { break L1; break; } + case 9: { + _UpdateArmoryScreen(); + $35 = (_FinishArmoryScreen()|0); + $36 = ($35|0)==(1); + if ($36) { + _TransitionToScreen(10); + break L1; + } + $37 = (_FinishArmoryScreen()|0); + $38 = ($37|0)==(2); + if (!($38)) { + break L1; + } + _TransitionToScreen(8); + break L1; + break; + } case 10: { _UpdateEndingScreen(); $39 = (_FinishEndingScreen()|0); @@ -12053,34 +11549,6 @@ function _UpdateDrawFrame() { break L1; break; } - case 5: { - _UpdateAisle02Screen(); - $29 = (_FinishAisle02Screen()|0); - $30 = ($29|0)==(1); - if (!($30)) { - break L1; - } - _TransitionToScreen(8); - break L1; - break; - } - case 7: { - _UpdateLivingroomScreen(); - $25 = (_FinishLivingroomScreen()|0); - $26 = ($25|0)==(1); - if ($26) { - _TransitionToScreen(4); - break L1; - } - $27 = (_FinishLivingroomScreen()|0); - $28 = ($27|0)==(2); - if (!($28)) { - break L1; - } - _TransitionToScreen(5); - break L1; - break; - } default: { break L1; } @@ -12090,71 +11558,72 @@ function _UpdateDrawFrame() { _UpdateTransition(); } } while(0); - _UpdateMusicStream(); + $41 = HEAP32[6689]|0; + _UpdateMusicStream($41); _BeginDrawing(); HEAP8[$0>>0] = -11; - $41 = ((($0)) + 1|0); - HEAP8[$41>>0] = -11; - $42 = ((($0)) + 2|0); + $42 = ((($0)) + 1|0); HEAP8[$42>>0] = -11; - $43 = ((($0)) + 3|0); - HEAP8[$43>>0] = -1; + $43 = ((($0)) + 2|0); + HEAP8[$43>>0] = -11; + $44 = ((($0)) + 3|0); + HEAP8[$44>>0] = -1; ;HEAP8[$$byval_copy>>0]=HEAP8[$0>>0]|0;HEAP8[$$byval_copy+1>>0]=HEAP8[$0+1>>0]|0;HEAP8[$$byval_copy+2>>0]=HEAP8[$0+2>>0]|0;HEAP8[$$byval_copy+3>>0]=HEAP8[$0+3>>0]|0; _ClearBackground($$byval_copy); - $44 = HEAP32[128>>2]|0; + $45 = HEAP32[6709]|0; do { - switch ($44|0) { - case 3: { - _DrawAtticScreen(); - break; - } - case 5: { - _DrawAisle02Screen(); - break; - } - case 7: { - _DrawLivingroomScreen(); - break; - } + switch ($45|0) { case 0: { _DrawLogoScreen(); break; } - case 9: { - _DrawArmoryScreen(); - break; - } - case 2: { - _DrawTitleScreen(); - break; - } case 1: { _rlDrawLogoScreen(); break; } - case 6: { - _DrawBathroomScreen(); + case 2: { + _DrawTitleScreen(); break; } - case 10: { - _DrawEndingScreen(); + case 3: { + _DrawAtticScreen(); break; } case 4: { _DrawAisle01Screen(); break; } + case 5: { + _DrawAisle02Screen(); + break; + } + case 6: { + _DrawBathroomScreen(); + break; + } + case 7: { + _DrawLivingroomScreen(); + break; + } case 8: { _DrawKitchenScreen(); break; } + case 9: { + _DrawArmoryScreen(); + break; + } + case 10: { + _DrawEndingScreen(); + break; + } default: { } } } while(0); - $45 = HEAP32[16>>2]|0; - $46 = ($45|0)==(0); - if ($46) { + $46 = HEAP32[6687]|0; + $47 = ($46|0)==(0); + if ($47) { _EndDrawing(); STACKTOP = sp;return; } @@ -12162,35 +11631,58 @@ function _UpdateDrawFrame() { _EndDrawing(); STACKTOP = sp;return; } -function _TransitionToScreen($screen) { - $screen = $screen|0; - var $0 = 0, label = 0, sp = 0; +function _TransitionToScreen($0) { + $0 = $0|0; + var $1 = 0, label = 0, sp = 0; sp = STACKTOP; - HEAP32[16>>2] = 1; - $0 = HEAP32[128>>2]|0; - HEAP32[32>>2] = $0; - HEAP32[40>>2] = $screen; + HEAP32[6687] = 1; + $1 = HEAP32[6709]|0; + HEAP32[2] = $1; + HEAP32[3] = $0; return; } -function _ChangeToScreen($screen) { - $screen = $screen|0; - var $0 = 0, label = 0, sp = 0; +function _ChangeToScreen($0) { + $0 = $0|0; + var $1 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[128>>2]|0; + $1 = HEAP32[6709]|0; do { - switch ($0|0) { - case 9: { - _UnloadArmoryScreen(); + switch ($1|0) { + case 0: { + _UnloadLogoScreen(); + break; + } + case 1: { + break; + } + case 2: { + _UnloadTitleScreen(); + break; + } + case 3: { + _UnloadAtticScreen(); + break; + } + case 4: { + _UnloadAisle01Screen(); break; } case 5: { _UnloadAisle02Screen(); break; } + case 9: { + _UnloadArmoryScreen(); + break; + } case 7: { _UnloadLivingroomScreen(); break; } + case 8: { + _UnloadKitchenScreen(); + break; + } case 6: { _UnloadBathroomScreen(); break; @@ -12198,47 +11690,12 @@ function _ChangeToScreen($screen) { case 10: { break; } - case 8: { - _UnloadKitchenScreen(); - break; - } - case 3: { - _UnloadAtticScreen(); - break; - } - case 2: { - _UnloadTitleScreen(); - break; - } - case 0: { - _UnloadLogoScreen(); - break; - } - case 4: { - _UnloadAisle01Screen(); - break; - } - case 1: { - break; - } default: { } } } while(0); do { - switch ($screen|0) { - case 6: { - _InitBathroomScreen(); - break; - } - case 10: { - _InitEndingScreen(); - break; - } - case 4: { - _InitAisle01Screen(); - break; - } + switch ($0|0) { case 0: { _InitLogoScreen(); break; @@ -12247,14 +11704,6 @@ function _ChangeToScreen($screen) { _rlInitLogoScreen(); break; } - case 7: { - _InitLivingroomScreen(); - break; - } - case 9: { - _InitArmoryScreen(); - break; - } case 2: { _InitTitleScreen(); break; @@ -12263,60 +11712,80 @@ function _ChangeToScreen($screen) { _InitAtticScreen(); break; } + case 4: { + _InitAisle01Screen(); + break; + } case 5: { _InitAisle02Screen(); break; } + case 9: { + _InitArmoryScreen(); + break; + } + case 7: { + _InitLivingroomScreen(); + break; + } case 8: { _InitKitchenScreen(); break; } + case 6: { + _InitBathroomScreen(); + break; + } + case 10: { + _InitEndingScreen(); + break; + } default: { } } } while(0); - HEAP32[128>>2] = $screen; + HEAP32[6709] = $0; return; } function _UpdateTransition() { - var $0 = 0, $1 = 0, $2 = 0.0, $3 = 0.0, $4 = 0, $5 = 0, $6 = 0, $7 = 0.0, $8 = 0, label = 0, sp = 0; + var $$sink = 0, $0 = 0, $1 = 0, $2 = 0.0, $3 = 0.0, $4 = 0, $5 = 0, $6 = 0, $7 = 0.0, $8 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[24>>2]|0; + $0 = HEAP32[6688]|0; $1 = ($0|0)==(0); - $2 = +HEAPF32[8>>2]; + $2 = +HEAPF32[6686]; if (!($1)) { $7 = $2 + -0.05000000074505806; - HEAPF32[8>>2] = $7; + HEAPF32[6686] = $7; $8 = !($7 <= 0.0); if ($8) { return; } - HEAPF32[8>>2] = 0.0; - HEAP32[24>>2] = 0; - HEAP32[16>>2] = 0; - HEAP32[32>>2] = -1; - HEAP32[40>>2] = -1; + HEAPF32[6686] = 0.0; + HEAP32[6688] = 0; + HEAP32[6687] = 0; + HEAP32[2] = -1; + HEAP32[3] = -1; return; } $3 = $2 + 0.05000000074505806; - HEAPF32[8>>2] = $3; + HEAPF32[6686] = $3; $4 = !($3 >= 1.0); if ($4) { return; } - HEAPF32[8>>2] = 1.0; - $5 = HEAP32[32>>2]|0; + HEAPF32[6686] = 1.0; + $5 = HEAP32[2]|0; do { switch ($5|0) { - case 9: { - _UnloadArmoryScreen(); - break; - } case 0: { _UnloadLogoScreen(); break; } - case 10: { + case 1: { + break; + } + case 2: { + _UnloadTitleScreen(); break; } case 3: { @@ -12327,105 +11796,119 @@ function _UpdateTransition() { _UnloadAisle01Screen(); break; } - case 8: { - _UnloadKitchenScreen(); - break; - } case 5: { _UnloadAisle02Screen(); break; } - case 6: { - _UnloadBathroomScreen(); + case 9: { + _UnloadArmoryScreen(); break; } case 7: { _UnloadLivingroomScreen(); break; } - case 1: { + case 8: { + _UnloadKitchenScreen(); break; } - case 2: { - _UnloadTitleScreen(); + case 6: { + _UnloadBathroomScreen(); + break; + } + case 10: { break; } default: { } } } while(0); - $6 = HEAP32[40>>2]|0; + $6 = HEAP32[3]|0; do { switch ($6|0) { - case 3: { - _InitAtticScreen(); - HEAP32[128>>2] = 3; - break; - } - case 8: { - _InitKitchenScreen(); - HEAP32[128>>2] = 8; - break; - } case 0: { _InitLogoScreen(); - HEAP32[128>>2] = 0; - break; - } - case 10: { - _InitEndingScreen(); - HEAP32[128>>2] = 10; - break; - } - case 4: { - _InitAisle01Screen(); - HEAP32[128>>2] = 4; - break; - } - case 2: { - _InitTitleScreen(); - HEAP32[128>>2] = 2; - break; - } - case 6: { - _InitBathroomScreen(); - HEAP32[128>>2] = 6; - break; - } - case 5: { - _InitAisle02Screen(); - HEAP32[128>>2] = 5; - break; - } - case 7: { - _InitLivingroomScreen(); - HEAP32[128>>2] = 7; - break; - } - case 9: { - _InitArmoryScreen(); - HEAP32[128>>2] = 9; + $$sink = 0; + label = 27; break; } case 1: { _rlInitLogoScreen(); - HEAP32[128>>2] = 1; + $$sink = 1; + label = 27; + break; + } + case 2: { + _InitTitleScreen(); + $$sink = 2; + label = 27; + break; + } + case 3: { + _InitAtticScreen(); + $$sink = 3; + label = 27; + break; + } + case 4: { + _InitAisle01Screen(); + $$sink = 4; + label = 27; + break; + } + case 5: { + _InitAisle02Screen(); + $$sink = 5; + label = 27; + break; + } + case 6: { + _InitBathroomScreen(); + $$sink = 6; + label = 27; + break; + } + case 7: { + _InitLivingroomScreen(); + $$sink = 7; + label = 27; + break; + } + case 8: { + _InitKitchenScreen(); + $$sink = 8; + label = 27; + break; + } + case 9: { + _InitArmoryScreen(); + $$sink = 9; + label = 27; + break; + } + case 10: { + _InitEndingScreen(); + $$sink = 10; + label = 27; break; } default: { } } } while(0); - HEAP32[24>>2] = 1; + if ((label|0) == 27) { + HEAP32[6709] = $$sink; + } + HEAP32[6688] = 1; return; } function _DrawTransition() { var $$byval_copy1 = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0.0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); $$byval_copy1 = sp + 8|0; - $0 = sp; - $1 = sp + 4|0; + $0 = sp + 4|0; + $1 = sp; $2 = (_GetScreenWidth()|0); $3 = (_GetScreenHeight()|0); HEAP8[$1>>0] = 0; @@ -12435,7 +11918,7 @@ function _DrawTransition() { HEAP8[$5>>0] = 0; $6 = ((($1)) + 3|0); HEAP8[$6>>0] = -1; - $7 = +HEAPF32[8>>2]; + $7 = +HEAPF32[6686]; ;HEAP8[$$byval_copy1>>0]=HEAP8[$1>>0]|0;HEAP8[$$byval_copy1+1>>0]=HEAP8[$1+1>>0]|0;HEAP8[$$byval_copy1+2>>0]=HEAP8[$1+2>>0]|0;HEAP8[$$byval_copy1+3>>0]=HEAP8[$1+3>>0]|0; _Fade($0,$$byval_copy1,$7); ;HEAP8[$$byval_copy1>>0]=HEAP8[$0>>0]|0;HEAP8[$$byval_copy1+1>>0]=HEAP8[$0+1>>0]|0;HEAP8[$$byval_copy1+2>>0]=HEAP8[$0+2>>0]|0;HEAP8[$$byval_copy1+3>>0]=HEAP8[$0+3>>0]|0; @@ -12445,67 +11928,77 @@ function _DrawTransition() { function _InitLogoScreen() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); $0 = sp; - HEAP32[432>>2] = 0; - _LoadTexture($0,440); - ;HEAP32[480>>2]=HEAP32[$0>>2]|0;HEAP32[480+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[480+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[480+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[480+16>>2]=HEAP32[$0+16>>2]|0; + HEAP32[6732] = 0; + _LoadTexture($0,5794); + ;HEAP32[26932>>2]=HEAP32[$0>>2]|0;HEAP32[26932+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[26932+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[26932+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[26932+16>>2]=HEAP32[$0+16>>2]|0; STACKTOP = sp;return; } function _UpdateLogoScreen() { var $0 = 0, $1 = 0.0, $2 = 0.0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0.0, $8 = 0.0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[504>>2]|0; - if ((($0|0) == 2)) { - $7 = +HEAPF32[512>>2]; - $8 = $7 + -0.039999999105930328; - HEAPF32[512>>2] = $8; - $9 = !($8 <= 0.0); - if ($9) { - return; - } - HEAP32[520>>2] = 0; - HEAP32[504>>2] = 3; - return; - } else if ((($0|0) == 3)) { - HEAP32[432>>2] = 1; - return; - } else if ((($0|0) == 1)) { - $4 = HEAP32[520>>2]|0; - $5 = (($4) + 1)|0; - HEAP32[520>>2] = $5; - $6 = ($4|0)>(179); - if (!($6)) { - return; - } - HEAP32[504>>2] = 2; - return; - } else if ((($0|0) == 0)) { - $1 = +HEAPF32[512>>2]; + $0 = HEAP32[6738]|0; + switch ($0|0) { + case 0: { + $1 = +HEAPF32[6739]; $2 = $1 + 0.039999999105930328; - HEAPF32[512>>2] = $2; + HEAPF32[6739] = $2; $3 = !($2 >= 1.0); if ($3) { return; } - HEAP32[504>>2] = 1; + HEAP32[6738] = 1; return; - } else { + break; + } + case 1: { + $4 = HEAP32[6740]|0; + $5 = (($4) + 1)|0; + HEAP32[6740] = $5; + $6 = ($4|0)>(179); + if (!($6)) { + return; + } + HEAP32[6738] = 2; return; + break; + } + case 2: { + $7 = +HEAPF32[6739]; + $8 = $7 + -0.039999999105930328; + HEAPF32[6739] = $8; + $9 = !($8 <= 0.0); + if ($9) { + return; + } + HEAP32[6740] = 0; + HEAP32[6738] = 3; + return; + break; + } + case 3: { + HEAP32[6732] = 1; + return; + break; + } + default: { + return; + } } } function _DrawLogoScreen() { var $$byval_copy3 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0.0, $16 = 0, $17 = 0, $18 = 0, $19 = 0.0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; var $9 = 0, $logo$byval_copy = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; + STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0); $$byval_copy3 = sp + 40|0; - $logo$byval_copy = sp; - $0 = sp + 28|0; - $1 = sp + 24|0; - $2 = sp + 20|0; - $3 = sp + 32|0; - $4 = sp + 36|0; + $logo$byval_copy = sp + 4|0; + $0 = sp + 36|0; + $1 = sp + 32|0; + $2 = sp; + $3 = sp + 28|0; + $4 = sp + 24|0; $5 = (_GetScreenWidth()|0); $6 = (_GetScreenHeight()|0); HEAP8[$0>>0] = -11; @@ -12519,14 +12012,14 @@ function _DrawLogoScreen() { _DrawRectangle(0,0,$5,$6,$$byval_copy3); $10 = (_GetScreenWidth()|0); $11 = (($10|0) / 2)&-1; - $12 = HEAP32[(484)>>2]|0; + $12 = HEAP32[(26936)>>2]|0; $13 = (($12|0) / 2)&-1; $14 = (($11) - ($13))|0; HEAP32[$2>>2] = -1; - $15 = +HEAPF32[512>>2]; + $15 = +HEAPF32[6739]; ;HEAP8[$$byval_copy3>>0]=HEAP8[$2>>0]|0;HEAP8[$$byval_copy3+1>>0]=HEAP8[$2+1>>0]|0;HEAP8[$$byval_copy3+2>>0]=HEAP8[$2+2>>0]|0;HEAP8[$$byval_copy3+3>>0]=HEAP8[$2+3>>0]|0; _Fade($1,$$byval_copy3,$15); - ;HEAP32[$logo$byval_copy>>2]=HEAP32[480>>2]|0;HEAP32[$logo$byval_copy+4>>2]=HEAP32[480+4>>2]|0;HEAP32[$logo$byval_copy+8>>2]=HEAP32[480+8>>2]|0;HEAP32[$logo$byval_copy+12>>2]=HEAP32[480+12>>2]|0;HEAP32[$logo$byval_copy+16>>2]=HEAP32[480+16>>2]|0; + ;HEAP32[$logo$byval_copy>>2]=HEAP32[26932>>2]|0;HEAP32[$logo$byval_copy+4>>2]=HEAP32[26932+4>>2]|0;HEAP32[$logo$byval_copy+8>>2]=HEAP32[26932+8>>2]|0;HEAP32[$logo$byval_copy+12>>2]=HEAP32[26932+12>>2]|0;HEAP32[$logo$byval_copy+16>>2]=HEAP32[26932+16>>2]|0; ;HEAP8[$$byval_copy3>>0]=HEAP8[$1>>0]|0;HEAP8[$$byval_copy3+1>>0]=HEAP8[$1+1>>0]|0;HEAP8[$$byval_copy3+2>>0]=HEAP8[$1+2>>0]|0;HEAP8[$$byval_copy3+3>>0]=HEAP8[$1+3>>0]|0; _DrawTexture($logo$byval_copy,$14,130,$$byval_copy3); HEAP8[$4>>0] = 80; @@ -12536,41 +12029,41 @@ function _DrawLogoScreen() { HEAP8[$17>>0] = 80; $18 = ((($4)) + 3|0); HEAP8[$18>>0] = -1; - $19 = +HEAPF32[512>>2]; + $19 = +HEAPF32[6739]; ;HEAP8[$$byval_copy3>>0]=HEAP8[$4>>0]|0;HEAP8[$$byval_copy3+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$$byval_copy3+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$$byval_copy3+3>>0]=HEAP8[$4+3>>0]|0; _Fade($3,$$byval_copy3,$19); ;HEAP8[$$byval_copy3>>0]=HEAP8[$3>>0]|0;HEAP8[$$byval_copy3+1>>0]=HEAP8[$3+1>>0]|0;HEAP8[$$byval_copy3+2>>0]=HEAP8[$3+2>>0]|0;HEAP8[$$byval_copy3+3>>0]=HEAP8[$3+3>>0]|0; - _DrawText(528,340,450,100,$$byval_copy3); + _DrawText(5829,340,450,100,$$byval_copy3); STACKTOP = sp;return; } function _UnloadLogoScreen() { var $logo$byval_copy = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); $logo$byval_copy = sp; - ;HEAP32[$logo$byval_copy>>2]=HEAP32[480>>2]|0;HEAP32[$logo$byval_copy+4>>2]=HEAP32[480+4>>2]|0;HEAP32[$logo$byval_copy+8>>2]=HEAP32[480+8>>2]|0;HEAP32[$logo$byval_copy+12>>2]=HEAP32[480+12>>2]|0;HEAP32[$logo$byval_copy+16>>2]=HEAP32[480+16>>2]|0; + ;HEAP32[$logo$byval_copy>>2]=HEAP32[26932>>2]|0;HEAP32[$logo$byval_copy+4>>2]=HEAP32[26932+4>>2]|0;HEAP32[$logo$byval_copy+8>>2]=HEAP32[26932+8>>2]|0;HEAP32[$logo$byval_copy+12>>2]=HEAP32[26932+12>>2]|0;HEAP32[$logo$byval_copy+16>>2]=HEAP32[26932+16>>2]|0; _UnloadTexture($logo$byval_copy); STACKTOP = sp;return; } function _FinishLogoScreen() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[432>>2]|0; + $0 = HEAP32[6732]|0; return ($0|0); } function _rlInitLogoScreen() { var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - HEAP32[544>>2] = 0; + HEAP32[6741] = 0; $0 = (_GetScreenWidth()|0); $1 = (($0|0) / 2)&-1; $2 = (($1) + -128)|0; - HEAP32[552>>2] = $2; + HEAP32[6742] = $2; $3 = (_GetScreenHeight()|0); $4 = (($3|0) / 2)&-1; $5 = (($4) + -128)|0; - HEAP32[560>>2] = $5; - $6 = 568; + HEAP32[6743] = $5; + $6 = 26456; $7 = $6; HEAP32[$7>>2] = 0; $8 = (($6) + 4)|0; @@ -12582,121 +12075,121 @@ function _rlUpdateLogoScreen() { var $$off = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0.0; var $26 = 0.0, $27 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[576>>2]|0; + $0 = HEAP32[6744]|0; switch ($0|0) { - case 1: { - $4 = HEAP32[592>>2]|0; - $5 = (($4) + 8)|0; - HEAP32[592>>2] = $5; - $6 = HEAP32[600>>2]|0; - $7 = (($6) + 8)|0; - HEAP32[600>>2] = $7; - $8 = ($5|0)==(256); - if (!($8)) { - return; - } - HEAP32[576>>2] = 2; - return; - break; - } - case 4: { - $22 = HEAP32[584>>2]|0; - $23 = (($22) + 1)|0; - HEAP32[584>>2] = $23; - $24 = ($22|0)>(99); - if (!($24)) { - return; - } - $25 = +HEAPF32[632>>2]; - $26 = $25 + -0.019999999552965164; - HEAPF32[632>>2] = $26; - $27 = !($26 <= 0.0); - if ($27) { - return; - } - HEAPF32[632>>2] = 0.0; - HEAP32[544>>2] = 1; - return; - break; - } - case 2: { - $9 = HEAP32[608>>2]|0; - $10 = (($9) + 8)|0; - HEAP32[608>>2] = $10; - $11 = HEAP32[616>>2]|0; - $12 = (($11) + 8)|0; - HEAP32[616>>2] = $12; - $13 = ($10|0)==(256); - if (!($13)) { - return; - } - HEAP32[576>>2] = 3; - return; - break; - } case 0: { - $1 = HEAP32[584>>2]|0; + $1 = HEAP32[6745]|0; $2 = (($1) + 1)|0; - HEAP32[584>>2] = $2; + HEAP32[6745] = $2; $3 = ($2|0)==(80); if (!($3)) { return; } - HEAP32[576>>2] = 1; - HEAP32[584>>2] = 0; + HEAP32[6744] = 1; + HEAP32[6745] = 0; + return; + break; + } + case 1: { + $4 = HEAP32[4]|0; + $5 = (($4) + 8)|0; + HEAP32[4] = $5; + $6 = HEAP32[5]|0; + $7 = (($6) + 8)|0; + HEAP32[5] = $7; + $8 = ($5|0)==(256); + if (!($8)) { + return; + } + HEAP32[6744] = 2; + return; + break; + } + case 2: { + $9 = HEAP32[6]|0; + $10 = (($9) + 8)|0; + HEAP32[6] = $10; + $11 = HEAP32[7]|0; + $12 = (($11) + 8)|0; + HEAP32[7] = $12; + $13 = ($10|0)==(256); + if (!($13)) { + return; + } + HEAP32[6744] = 3; return; break; } case 3: { - $14 = HEAP32[584>>2]|0; + $14 = HEAP32[6745]|0; $15 = (($14) + 1)|0; - HEAP32[584>>2] = $15; + HEAP32[6745] = $15; $$off = (($14) + 10)|0; $16 = ($$off>>>0)>(18); - $17 = HEAP32[624>>2]|0; + $17 = HEAP32[6746]|0; if ($16) { $18 = (($17) + 1)|0; - HEAP32[624>>2] = $18; - HEAP32[584>>2] = 0; + HEAP32[6746] = $18; + HEAP32[6745] = 0; $19 = $18; } else { $19 = $17; } switch ($19|0) { - case 3: { - HEAP8[(570)>>0] = 121; - break; - } case 1: { - HEAP8[568>>0] = 114; - break; - } - case 5: { - HEAP8[(572)>>0] = 105; - break; - } - case 6: { - HEAP8[(573)>>0] = 98; - break; - } - case 4: { - HEAP8[(571)>>0] = 108; + HEAP8[26456] = 114; break; } case 2: { - HEAP8[(569)>>0] = 97; + HEAP8[(26457)>>0] = 97; + break; + } + case 3: { + HEAP8[(26458)>>0] = 121; + break; + } + case 4: { + HEAP8[(26459)>>0] = 108; + break; + } + case 5: { + HEAP8[(26460)>>0] = 105; + break; + } + case 6: { + HEAP8[(26461)>>0] = 98; break; } default: { } } - $20 = HEAP32[624>>2]|0; + $20 = HEAP32[6746]|0; $21 = ($20|0)>(9); if (!($21)) { return; } - HEAP32[576>>2] = 4; - HEAP32[584>>2] = 0; + HEAP32[6744] = 4; + HEAP32[6745] = 0; + return; + break; + } + case 4: { + $22 = HEAP32[6745]|0; + $23 = (($22) + 1)|0; + HEAP32[6745] = $23; + $24 = ($22|0)>(99); + if (!($24)) { + return; + } + $25 = +HEAPF32[8]; + $26 = $25 + -0.019999999552965164; + HEAPF32[8] = $26; + $27 = !($26 <= 0.0); + if ($27) { + return; + } + HEAPF32[8] = 0.0; + HEAP32[6741] = 1; return; break; } @@ -12718,7 +12211,7 @@ function _rlDrawLogoScreen() { var $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0.0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0.0, $97 = 0, $98 = 0, $99 = 0, label = 0; var sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 144|0; + STACKTOP = STACKTOP + 144|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(144|0); $$byval_copy32 = sp + 132|0; $0 = sp + 128|0; $1 = sp + 124|0; @@ -12737,160 +12230,34 @@ function _rlDrawLogoScreen() { $14 = sp + 72|0; $15 = sp + 68|0; $16 = sp + 64|0; - $17 = sp + 24|0; - $18 = sp; - $19 = sp + 4|0; - $20 = sp + 8|0; - $21 = sp + 12|0; - $22 = sp + 16|0; - $23 = sp + 20|0; - $24 = sp + 28|0; - $25 = sp + 32|0; - $26 = sp + 36|0; - $27 = sp + 40|0; - $28 = sp + 44|0; - $29 = sp + 48|0; - $30 = sp + 52|0; - $31 = sp + 56|0; - $32 = sp + 60|0; - $33 = HEAP32[576>>2]|0; + $17 = sp + 60|0; + $18 = sp + 56|0; + $19 = sp + 52|0; + $20 = sp + 48|0; + $21 = sp + 44|0; + $22 = sp + 40|0; + $23 = sp + 36|0; + $24 = sp + 32|0; + $25 = sp + 28|0; + $26 = sp + 24|0; + $27 = sp + 20|0; + $28 = sp + 16|0; + $29 = sp + 12|0; + $30 = sp + 8|0; + $31 = sp + 4|0; + $32 = sp; + $33 = HEAP32[6744]|0; switch ($33|0) { - case 4: { - $135 = HEAP32[552>>2]|0; - $136 = HEAP32[560>>2]|0; - $137 = HEAP32[592>>2]|0; - HEAP8[$20>>0] = 0; - $138 = ((($20)) + 1|0); - HEAP8[$138>>0] = 0; - $139 = ((($20)) + 2|0); - HEAP8[$139>>0] = 0; - $140 = ((($20)) + 3|0); - HEAP8[$140>>0] = -1; - $141 = +HEAPF32[632>>2]; - ;HEAP8[$$byval_copy32>>0]=HEAP8[$20>>0]|0;HEAP8[$$byval_copy32+1>>0]=HEAP8[$20+1>>0]|0;HEAP8[$$byval_copy32+2>>0]=HEAP8[$20+2>>0]|0;HEAP8[$$byval_copy32+3>>0]=HEAP8[$20+3>>0]|0; - _Fade($19,$$byval_copy32,$141); - ;HEAP8[$$byval_copy32>>0]=HEAP8[$19>>0]|0;HEAP8[$$byval_copy32+1>>0]=HEAP8[$19+1>>0]|0;HEAP8[$$byval_copy32+2>>0]=HEAP8[$19+2>>0]|0;HEAP8[$$byval_copy32+3>>0]=HEAP8[$19+3>>0]|0; - _DrawRectangle($135,$136,$137,16,$$byval_copy32); - $142 = HEAP32[552>>2]|0; - $143 = HEAP32[560>>2]|0; - $144 = (($143) + 16)|0; - $145 = HEAP32[600>>2]|0; - $146 = (($145) + -32)|0; - HEAP8[$22>>0] = 0; - $147 = ((($22)) + 1|0); - HEAP8[$147>>0] = 0; - $148 = ((($22)) + 2|0); - HEAP8[$148>>0] = 0; - $149 = ((($22)) + 3|0); - HEAP8[$149>>0] = -1; - $150 = +HEAPF32[632>>2]; - ;HEAP8[$$byval_copy32>>0]=HEAP8[$22>>0]|0;HEAP8[$$byval_copy32+1>>0]=HEAP8[$22+1>>0]|0;HEAP8[$$byval_copy32+2>>0]=HEAP8[$22+2>>0]|0;HEAP8[$$byval_copy32+3>>0]=HEAP8[$22+3>>0]|0; - _Fade($21,$$byval_copy32,$150); - ;HEAP8[$$byval_copy32>>0]=HEAP8[$21>>0]|0;HEAP8[$$byval_copy32+1>>0]=HEAP8[$21+1>>0]|0;HEAP8[$$byval_copy32+2>>0]=HEAP8[$21+2>>0]|0;HEAP8[$$byval_copy32+3>>0]=HEAP8[$21+3>>0]|0; - _DrawRectangle($142,$144,16,$146,$$byval_copy32); - $151 = HEAP32[552>>2]|0; - $152 = (($151) + 240)|0; - $153 = HEAP32[560>>2]|0; - $154 = (($153) + 16)|0; - $155 = HEAP32[616>>2]|0; - $156 = (($155) + -32)|0; - HEAP8[$24>>0] = 0; - $157 = ((($24)) + 1|0); - HEAP8[$157>>0] = 0; - $158 = ((($24)) + 2|0); - HEAP8[$158>>0] = 0; - $159 = ((($24)) + 3|0); - HEAP8[$159>>0] = -1; - $160 = +HEAPF32[632>>2]; - ;HEAP8[$$byval_copy32>>0]=HEAP8[$24>>0]|0;HEAP8[$$byval_copy32+1>>0]=HEAP8[$24+1>>0]|0;HEAP8[$$byval_copy32+2>>0]=HEAP8[$24+2>>0]|0;HEAP8[$$byval_copy32+3>>0]=HEAP8[$24+3>>0]|0; - _Fade($23,$$byval_copy32,$160); - ;HEAP8[$$byval_copy32>>0]=HEAP8[$23>>0]|0;HEAP8[$$byval_copy32+1>>0]=HEAP8[$23+1>>0]|0;HEAP8[$$byval_copy32+2>>0]=HEAP8[$23+2>>0]|0;HEAP8[$$byval_copy32+3>>0]=HEAP8[$23+3>>0]|0; - _DrawRectangle($152,$154,16,$156,$$byval_copy32); - $161 = HEAP32[552>>2]|0; - $162 = HEAP32[560>>2]|0; - $163 = (($162) + 240)|0; - $164 = HEAP32[608>>2]|0; - HEAP8[$26>>0] = 0; - $165 = ((($26)) + 1|0); - HEAP8[$165>>0] = 0; - $166 = ((($26)) + 2|0); - HEAP8[$166>>0] = 0; - $167 = ((($26)) + 3|0); - HEAP8[$167>>0] = -1; - $168 = +HEAPF32[632>>2]; - ;HEAP8[$$byval_copy32>>0]=HEAP8[$26>>0]|0;HEAP8[$$byval_copy32+1>>0]=HEAP8[$26+1>>0]|0;HEAP8[$$byval_copy32+2>>0]=HEAP8[$26+2>>0]|0;HEAP8[$$byval_copy32+3>>0]=HEAP8[$26+3>>0]|0; - _Fade($25,$$byval_copy32,$168); - ;HEAP8[$$byval_copy32>>0]=HEAP8[$25>>0]|0;HEAP8[$$byval_copy32+1>>0]=HEAP8[$25+1>>0]|0;HEAP8[$$byval_copy32+2>>0]=HEAP8[$25+2>>0]|0;HEAP8[$$byval_copy32+3>>0]=HEAP8[$25+3>>0]|0; - _DrawRectangle($161,$163,$164,16,$$byval_copy32); - $169 = (_GetScreenWidth()|0); - $170 = (($169|0) / 2)&-1; - $171 = (($170) + -112)|0; - $172 = (_GetScreenHeight()|0); - $173 = (($172|0) / 2)&-1; - $174 = (($173) + -112)|0; - HEAP8[$28>>0] = -11; - $175 = ((($28)) + 1|0); - HEAP8[$175>>0] = -11; - $176 = ((($28)) + 2|0); - HEAP8[$176>>0] = -11; - $177 = ((($28)) + 3|0); - HEAP8[$177>>0] = -1; - $178 = +HEAPF32[632>>2]; - ;HEAP8[$$byval_copy32>>0]=HEAP8[$28>>0]|0;HEAP8[$$byval_copy32+1>>0]=HEAP8[$28+1>>0]|0;HEAP8[$$byval_copy32+2>>0]=HEAP8[$28+2>>0]|0;HEAP8[$$byval_copy32+3>>0]=HEAP8[$28+3>>0]|0; - _Fade($27,$$byval_copy32,$178); - ;HEAP8[$$byval_copy32>>0]=HEAP8[$27>>0]|0;HEAP8[$$byval_copy32+1>>0]=HEAP8[$27+1>>0]|0;HEAP8[$$byval_copy32+2>>0]=HEAP8[$27+2>>0]|0;HEAP8[$$byval_copy32+3>>0]=HEAP8[$27+3>>0]|0; - _DrawRectangle($171,$174,224,224,$$byval_copy32); - $179 = (_GetScreenWidth()|0); - $180 = (($179|0) / 2)&-1; - $181 = (($180) + -44)|0; - $182 = (_GetScreenHeight()|0); - $183 = (($182|0) / 2)&-1; - $184 = (($183) + 48)|0; - HEAP8[$30>>0] = 0; - $185 = ((($30)) + 1|0); - HEAP8[$185>>0] = 0; - $186 = ((($30)) + 2|0); - HEAP8[$186>>0] = 0; - $187 = ((($30)) + 3|0); - HEAP8[$187>>0] = -1; - $188 = +HEAPF32[632>>2]; - ;HEAP8[$$byval_copy32>>0]=HEAP8[$30>>0]|0;HEAP8[$$byval_copy32+1>>0]=HEAP8[$30+1>>0]|0;HEAP8[$$byval_copy32+2>>0]=HEAP8[$30+2>>0]|0;HEAP8[$$byval_copy32+3>>0]=HEAP8[$30+3>>0]|0; - _Fade($29,$$byval_copy32,$188); - ;HEAP8[$$byval_copy32>>0]=HEAP8[$29>>0]|0;HEAP8[$$byval_copy32+1>>0]=HEAP8[$29+1>>0]|0;HEAP8[$$byval_copy32+2>>0]=HEAP8[$29+2>>0]|0;HEAP8[$$byval_copy32+3>>0]=HEAP8[$29+3>>0]|0; - _DrawText(568,$181,$184,50,$$byval_copy32); - $189 = HEAP32[584>>2]|0; - $190 = ($189|0)>(20); - if (!($190)) { - STACKTOP = sp;return; - } - $191 = HEAP32[552>>2]|0; - $192 = HEAP32[560>>2]|0; - $193 = (($192) + -27)|0; - HEAP8[$32>>0] = 80; - $194 = ((($32)) + 1|0); - HEAP8[$194>>0] = 80; - $195 = ((($32)) + 2|0); - HEAP8[$195>>0] = 80; - $196 = ((($32)) + 3|0); - HEAP8[$196>>0] = -1; - $197 = +HEAPF32[632>>2]; - ;HEAP8[$$byval_copy32>>0]=HEAP8[$32>>0]|0;HEAP8[$$byval_copy32+1>>0]=HEAP8[$32+1>>0]|0;HEAP8[$$byval_copy32+2>>0]=HEAP8[$32+2>>0]|0;HEAP8[$$byval_copy32+3>>0]=HEAP8[$32+3>>0]|0; - _Fade($31,$$byval_copy32,$197); - ;HEAP8[$$byval_copy32>>0]=HEAP8[$31>>0]|0;HEAP8[$$byval_copy32+1>>0]=HEAP8[$31+1>>0]|0;HEAP8[$$byval_copy32+2>>0]=HEAP8[$31+2>>0]|0;HEAP8[$$byval_copy32+3>>0]=HEAP8[$31+3>>0]|0; - _DrawText(640,$191,$193,20,$$byval_copy32); - STACKTOP = sp;return; - break; - } case 0: { - $34 = HEAP32[584>>2]|0; + $34 = HEAP32[6745]|0; $35 = (($34|0) / 10)&-1; $36 = $35 & 1; $37 = ($36|0)==(0); if ($37) { STACKTOP = sp;return; } - $38 = HEAP32[552>>2]|0; - $39 = HEAP32[560>>2]|0; + $38 = HEAP32[6742]|0; + $39 = HEAP32[6743]|0; HEAP8[$0>>0] = 0; $40 = ((($0)) + 1|0); HEAP8[$40>>0] = 0; @@ -12903,10 +12270,38 @@ function _rlDrawLogoScreen() { STACKTOP = sp;return; break; } + case 1: { + $43 = HEAP32[6742]|0; + $44 = HEAP32[6743]|0; + $45 = HEAP32[4]|0; + HEAP8[$1>>0] = 0; + $46 = ((($1)) + 1|0); + HEAP8[$46>>0] = 0; + $47 = ((($1)) + 2|0); + HEAP8[$47>>0] = 0; + $48 = ((($1)) + 3|0); + HEAP8[$48>>0] = -1; + ;HEAP8[$$byval_copy32>>0]=HEAP8[$1>>0]|0;HEAP8[$$byval_copy32+1>>0]=HEAP8[$1+1>>0]|0;HEAP8[$$byval_copy32+2>>0]=HEAP8[$1+2>>0]|0;HEAP8[$$byval_copy32+3>>0]=HEAP8[$1+3>>0]|0; + _DrawRectangle($43,$44,$45,16,$$byval_copy32); + $49 = HEAP32[6742]|0; + $50 = HEAP32[6743]|0; + $51 = HEAP32[5]|0; + HEAP8[$2>>0] = 0; + $52 = ((($2)) + 1|0); + HEAP8[$52>>0] = 0; + $53 = ((($2)) + 2|0); + HEAP8[$53>>0] = 0; + $54 = ((($2)) + 3|0); + HEAP8[$54>>0] = -1; + ;HEAP8[$$byval_copy32>>0]=HEAP8[$2>>0]|0;HEAP8[$$byval_copy32+1>>0]=HEAP8[$2+1>>0]|0;HEAP8[$$byval_copy32+2>>0]=HEAP8[$2+2>>0]|0;HEAP8[$$byval_copy32+3>>0]=HEAP8[$2+3>>0]|0; + _DrawRectangle($49,$50,16,$51,$$byval_copy32); + STACKTOP = sp;return; + break; + } case 2: { - $55 = HEAP32[552>>2]|0; - $56 = HEAP32[560>>2]|0; - $57 = HEAP32[592>>2]|0; + $55 = HEAP32[6742]|0; + $56 = HEAP32[6743]|0; + $57 = HEAP32[4]|0; HEAP8[$3>>0] = 0; $58 = ((($3)) + 1|0); HEAP8[$58>>0] = 0; @@ -12916,9 +12311,9 @@ function _rlDrawLogoScreen() { HEAP8[$60>>0] = -1; ;HEAP8[$$byval_copy32>>0]=HEAP8[$3>>0]|0;HEAP8[$$byval_copy32+1>>0]=HEAP8[$3+1>>0]|0;HEAP8[$$byval_copy32+2>>0]=HEAP8[$3+2>>0]|0;HEAP8[$$byval_copy32+3>>0]=HEAP8[$3+3>>0]|0; _DrawRectangle($55,$56,$57,16,$$byval_copy32); - $61 = HEAP32[552>>2]|0; - $62 = HEAP32[560>>2]|0; - $63 = HEAP32[600>>2]|0; + $61 = HEAP32[6742]|0; + $62 = HEAP32[6743]|0; + $63 = HEAP32[5]|0; HEAP8[$4>>0] = 0; $64 = ((($4)) + 1|0); HEAP8[$64>>0] = 0; @@ -12928,10 +12323,10 @@ function _rlDrawLogoScreen() { HEAP8[$66>>0] = -1; ;HEAP8[$$byval_copy32>>0]=HEAP8[$4>>0]|0;HEAP8[$$byval_copy32+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$$byval_copy32+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$$byval_copy32+3>>0]=HEAP8[$4+3>>0]|0; _DrawRectangle($61,$62,16,$63,$$byval_copy32); - $67 = HEAP32[552>>2]|0; + $67 = HEAP32[6742]|0; $68 = (($67) + 240)|0; - $69 = HEAP32[560>>2]|0; - $70 = HEAP32[616>>2]|0; + $69 = HEAP32[6743]|0; + $70 = HEAP32[7]|0; HEAP8[$5>>0] = 0; $71 = ((($5)) + 1|0); HEAP8[$71>>0] = 0; @@ -12941,10 +12336,10 @@ function _rlDrawLogoScreen() { HEAP8[$73>>0] = -1; ;HEAP8[$$byval_copy32>>0]=HEAP8[$5>>0]|0;HEAP8[$$byval_copy32+1>>0]=HEAP8[$5+1>>0]|0;HEAP8[$$byval_copy32+2>>0]=HEAP8[$5+2>>0]|0;HEAP8[$$byval_copy32+3>>0]=HEAP8[$5+3>>0]|0; _DrawRectangle($68,$69,16,$70,$$byval_copy32); - $74 = HEAP32[552>>2]|0; - $75 = HEAP32[560>>2]|0; + $74 = HEAP32[6742]|0; + $75 = HEAP32[6743]|0; $76 = (($75) + 240)|0; - $77 = HEAP32[608>>2]|0; + $77 = HEAP32[6]|0; HEAP8[$6>>0] = 0; $78 = ((($6)) + 1|0); HEAP8[$78>>0] = 0; @@ -12958,9 +12353,9 @@ function _rlDrawLogoScreen() { break; } case 3: { - $81 = HEAP32[552>>2]|0; - $82 = HEAP32[560>>2]|0; - $83 = HEAP32[592>>2]|0; + $81 = HEAP32[6742]|0; + $82 = HEAP32[6743]|0; + $83 = HEAP32[4]|0; HEAP8[$8>>0] = 0; $84 = ((($8)) + 1|0); HEAP8[$84>>0] = 0; @@ -12968,15 +12363,15 @@ function _rlDrawLogoScreen() { HEAP8[$85>>0] = 0; $86 = ((($8)) + 3|0); HEAP8[$86>>0] = -1; - $87 = +HEAPF32[632>>2]; + $87 = +HEAPF32[8]; ;HEAP8[$$byval_copy32>>0]=HEAP8[$8>>0]|0;HEAP8[$$byval_copy32+1>>0]=HEAP8[$8+1>>0]|0;HEAP8[$$byval_copy32+2>>0]=HEAP8[$8+2>>0]|0;HEAP8[$$byval_copy32+3>>0]=HEAP8[$8+3>>0]|0; _Fade($7,$$byval_copy32,$87); ;HEAP8[$$byval_copy32>>0]=HEAP8[$7>>0]|0;HEAP8[$$byval_copy32+1>>0]=HEAP8[$7+1>>0]|0;HEAP8[$$byval_copy32+2>>0]=HEAP8[$7+2>>0]|0;HEAP8[$$byval_copy32+3>>0]=HEAP8[$7+3>>0]|0; _DrawRectangle($81,$82,$83,16,$$byval_copy32); - $88 = HEAP32[552>>2]|0; - $89 = HEAP32[560>>2]|0; + $88 = HEAP32[6742]|0; + $89 = HEAP32[6743]|0; $90 = (($89) + 16)|0; - $91 = HEAP32[600>>2]|0; + $91 = HEAP32[5]|0; $92 = (($91) + -32)|0; HEAP8[$10>>0] = 0; $93 = ((($10)) + 1|0); @@ -12985,16 +12380,16 @@ function _rlDrawLogoScreen() { HEAP8[$94>>0] = 0; $95 = ((($10)) + 3|0); HEAP8[$95>>0] = -1; - $96 = +HEAPF32[632>>2]; + $96 = +HEAPF32[8]; ;HEAP8[$$byval_copy32>>0]=HEAP8[$10>>0]|0;HEAP8[$$byval_copy32+1>>0]=HEAP8[$10+1>>0]|0;HEAP8[$$byval_copy32+2>>0]=HEAP8[$10+2>>0]|0;HEAP8[$$byval_copy32+3>>0]=HEAP8[$10+3>>0]|0; _Fade($9,$$byval_copy32,$96); ;HEAP8[$$byval_copy32>>0]=HEAP8[$9>>0]|0;HEAP8[$$byval_copy32+1>>0]=HEAP8[$9+1>>0]|0;HEAP8[$$byval_copy32+2>>0]=HEAP8[$9+2>>0]|0;HEAP8[$$byval_copy32+3>>0]=HEAP8[$9+3>>0]|0; _DrawRectangle($88,$90,16,$92,$$byval_copy32); - $97 = HEAP32[552>>2]|0; + $97 = HEAP32[6742]|0; $98 = (($97) + 240)|0; - $99 = HEAP32[560>>2]|0; + $99 = HEAP32[6743]|0; $100 = (($99) + 16)|0; - $101 = HEAP32[616>>2]|0; + $101 = HEAP32[7]|0; $102 = (($101) + -32)|0; HEAP8[$12>>0] = 0; $103 = ((($12)) + 1|0); @@ -13003,15 +12398,15 @@ function _rlDrawLogoScreen() { HEAP8[$104>>0] = 0; $105 = ((($12)) + 3|0); HEAP8[$105>>0] = -1; - $106 = +HEAPF32[632>>2]; + $106 = +HEAPF32[8]; ;HEAP8[$$byval_copy32>>0]=HEAP8[$12>>0]|0;HEAP8[$$byval_copy32+1>>0]=HEAP8[$12+1>>0]|0;HEAP8[$$byval_copy32+2>>0]=HEAP8[$12+2>>0]|0;HEAP8[$$byval_copy32+3>>0]=HEAP8[$12+3>>0]|0; _Fade($11,$$byval_copy32,$106); ;HEAP8[$$byval_copy32>>0]=HEAP8[$11>>0]|0;HEAP8[$$byval_copy32+1>>0]=HEAP8[$11+1>>0]|0;HEAP8[$$byval_copy32+2>>0]=HEAP8[$11+2>>0]|0;HEAP8[$$byval_copy32+3>>0]=HEAP8[$11+3>>0]|0; _DrawRectangle($98,$100,16,$102,$$byval_copy32); - $107 = HEAP32[552>>2]|0; - $108 = HEAP32[560>>2]|0; + $107 = HEAP32[6742]|0; + $108 = HEAP32[6743]|0; $109 = (($108) + 240)|0; - $110 = HEAP32[608>>2]|0; + $110 = HEAP32[6]|0; HEAP8[$14>>0] = 0; $111 = ((($14)) + 1|0); HEAP8[$111>>0] = 0; @@ -13019,7 +12414,7 @@ function _rlDrawLogoScreen() { HEAP8[$112>>0] = 0; $113 = ((($14)) + 3|0); HEAP8[$113>>0] = -1; - $114 = +HEAPF32[632>>2]; + $114 = +HEAPF32[8]; ;HEAP8[$$byval_copy32>>0]=HEAP8[$14>>0]|0;HEAP8[$$byval_copy32+1>>0]=HEAP8[$14+1>>0]|0;HEAP8[$$byval_copy32+2>>0]=HEAP8[$14+2>>0]|0;HEAP8[$$byval_copy32+3>>0]=HEAP8[$14+3>>0]|0; _Fade($13,$$byval_copy32,$114); ;HEAP8[$$byval_copy32>>0]=HEAP8[$13>>0]|0;HEAP8[$$byval_copy32+1>>0]=HEAP8[$13+1>>0]|0;HEAP8[$$byval_copy32+2>>0]=HEAP8[$13+2>>0]|0;HEAP8[$$byval_copy32+3>>0]=HEAP8[$13+3>>0]|0; @@ -13037,7 +12432,7 @@ function _rlDrawLogoScreen() { HEAP8[$122>>0] = -11; $123 = ((($16)) + 3|0); HEAP8[$123>>0] = -1; - $124 = +HEAPF32[632>>2]; + $124 = +HEAPF32[8]; ;HEAP8[$$byval_copy32>>0]=HEAP8[$16>>0]|0;HEAP8[$$byval_copy32+1>>0]=HEAP8[$16+1>>0]|0;HEAP8[$$byval_copy32+2>>0]=HEAP8[$16+2>>0]|0;HEAP8[$$byval_copy32+3>>0]=HEAP8[$16+3>>0]|0; _Fade($15,$$byval_copy32,$124); ;HEAP8[$$byval_copy32>>0]=HEAP8[$15>>0]|0;HEAP8[$$byval_copy32+1>>0]=HEAP8[$15+1>>0]|0;HEAP8[$$byval_copy32+2>>0]=HEAP8[$15+2>>0]|0;HEAP8[$$byval_copy32+3>>0]=HEAP8[$15+3>>0]|0; @@ -13055,39 +12450,137 @@ function _rlDrawLogoScreen() { HEAP8[$132>>0] = 0; $133 = ((($18)) + 3|0); HEAP8[$133>>0] = -1; - $134 = +HEAPF32[632>>2]; + $134 = +HEAPF32[8]; ;HEAP8[$$byval_copy32>>0]=HEAP8[$18>>0]|0;HEAP8[$$byval_copy32+1>>0]=HEAP8[$18+1>>0]|0;HEAP8[$$byval_copy32+2>>0]=HEAP8[$18+2>>0]|0;HEAP8[$$byval_copy32+3>>0]=HEAP8[$18+3>>0]|0; _Fade($17,$$byval_copy32,$134); ;HEAP8[$$byval_copy32>>0]=HEAP8[$17>>0]|0;HEAP8[$$byval_copy32+1>>0]=HEAP8[$17+1>>0]|0;HEAP8[$$byval_copy32+2>>0]=HEAP8[$17+2>>0]|0;HEAP8[$$byval_copy32+3>>0]=HEAP8[$17+3>>0]|0; - _DrawText(568,$127,$130,50,$$byval_copy32); + _DrawText(26456,$127,$130,50,$$byval_copy32); STACKTOP = sp;return; break; } - case 1: { - $43 = HEAP32[552>>2]|0; - $44 = HEAP32[560>>2]|0; - $45 = HEAP32[592>>2]|0; - HEAP8[$1>>0] = 0; - $46 = ((($1)) + 1|0); - HEAP8[$46>>0] = 0; - $47 = ((($1)) + 2|0); - HEAP8[$47>>0] = 0; - $48 = ((($1)) + 3|0); - HEAP8[$48>>0] = -1; - ;HEAP8[$$byval_copy32>>0]=HEAP8[$1>>0]|0;HEAP8[$$byval_copy32+1>>0]=HEAP8[$1+1>>0]|0;HEAP8[$$byval_copy32+2>>0]=HEAP8[$1+2>>0]|0;HEAP8[$$byval_copy32+3>>0]=HEAP8[$1+3>>0]|0; - _DrawRectangle($43,$44,$45,16,$$byval_copy32); - $49 = HEAP32[552>>2]|0; - $50 = HEAP32[560>>2]|0; - $51 = HEAP32[600>>2]|0; - HEAP8[$2>>0] = 0; - $52 = ((($2)) + 1|0); - HEAP8[$52>>0] = 0; - $53 = ((($2)) + 2|0); - HEAP8[$53>>0] = 0; - $54 = ((($2)) + 3|0); - HEAP8[$54>>0] = -1; - ;HEAP8[$$byval_copy32>>0]=HEAP8[$2>>0]|0;HEAP8[$$byval_copy32+1>>0]=HEAP8[$2+1>>0]|0;HEAP8[$$byval_copy32+2>>0]=HEAP8[$2+2>>0]|0;HEAP8[$$byval_copy32+3>>0]=HEAP8[$2+3>>0]|0; - _DrawRectangle($49,$50,16,$51,$$byval_copy32); + case 4: { + $135 = HEAP32[6742]|0; + $136 = HEAP32[6743]|0; + $137 = HEAP32[4]|0; + HEAP8[$20>>0] = 0; + $138 = ((($20)) + 1|0); + HEAP8[$138>>0] = 0; + $139 = ((($20)) + 2|0); + HEAP8[$139>>0] = 0; + $140 = ((($20)) + 3|0); + HEAP8[$140>>0] = -1; + $141 = +HEAPF32[8]; + ;HEAP8[$$byval_copy32>>0]=HEAP8[$20>>0]|0;HEAP8[$$byval_copy32+1>>0]=HEAP8[$20+1>>0]|0;HEAP8[$$byval_copy32+2>>0]=HEAP8[$20+2>>0]|0;HEAP8[$$byval_copy32+3>>0]=HEAP8[$20+3>>0]|0; + _Fade($19,$$byval_copy32,$141); + ;HEAP8[$$byval_copy32>>0]=HEAP8[$19>>0]|0;HEAP8[$$byval_copy32+1>>0]=HEAP8[$19+1>>0]|0;HEAP8[$$byval_copy32+2>>0]=HEAP8[$19+2>>0]|0;HEAP8[$$byval_copy32+3>>0]=HEAP8[$19+3>>0]|0; + _DrawRectangle($135,$136,$137,16,$$byval_copy32); + $142 = HEAP32[6742]|0; + $143 = HEAP32[6743]|0; + $144 = (($143) + 16)|0; + $145 = HEAP32[5]|0; + $146 = (($145) + -32)|0; + HEAP8[$22>>0] = 0; + $147 = ((($22)) + 1|0); + HEAP8[$147>>0] = 0; + $148 = ((($22)) + 2|0); + HEAP8[$148>>0] = 0; + $149 = ((($22)) + 3|0); + HEAP8[$149>>0] = -1; + $150 = +HEAPF32[8]; + ;HEAP8[$$byval_copy32>>0]=HEAP8[$22>>0]|0;HEAP8[$$byval_copy32+1>>0]=HEAP8[$22+1>>0]|0;HEAP8[$$byval_copy32+2>>0]=HEAP8[$22+2>>0]|0;HEAP8[$$byval_copy32+3>>0]=HEAP8[$22+3>>0]|0; + _Fade($21,$$byval_copy32,$150); + ;HEAP8[$$byval_copy32>>0]=HEAP8[$21>>0]|0;HEAP8[$$byval_copy32+1>>0]=HEAP8[$21+1>>0]|0;HEAP8[$$byval_copy32+2>>0]=HEAP8[$21+2>>0]|0;HEAP8[$$byval_copy32+3>>0]=HEAP8[$21+3>>0]|0; + _DrawRectangle($142,$144,16,$146,$$byval_copy32); + $151 = HEAP32[6742]|0; + $152 = (($151) + 240)|0; + $153 = HEAP32[6743]|0; + $154 = (($153) + 16)|0; + $155 = HEAP32[7]|0; + $156 = (($155) + -32)|0; + HEAP8[$24>>0] = 0; + $157 = ((($24)) + 1|0); + HEAP8[$157>>0] = 0; + $158 = ((($24)) + 2|0); + HEAP8[$158>>0] = 0; + $159 = ((($24)) + 3|0); + HEAP8[$159>>0] = -1; + $160 = +HEAPF32[8]; + ;HEAP8[$$byval_copy32>>0]=HEAP8[$24>>0]|0;HEAP8[$$byval_copy32+1>>0]=HEAP8[$24+1>>0]|0;HEAP8[$$byval_copy32+2>>0]=HEAP8[$24+2>>0]|0;HEAP8[$$byval_copy32+3>>0]=HEAP8[$24+3>>0]|0; + _Fade($23,$$byval_copy32,$160); + ;HEAP8[$$byval_copy32>>0]=HEAP8[$23>>0]|0;HEAP8[$$byval_copy32+1>>0]=HEAP8[$23+1>>0]|0;HEAP8[$$byval_copy32+2>>0]=HEAP8[$23+2>>0]|0;HEAP8[$$byval_copy32+3>>0]=HEAP8[$23+3>>0]|0; + _DrawRectangle($152,$154,16,$156,$$byval_copy32); + $161 = HEAP32[6742]|0; + $162 = HEAP32[6743]|0; + $163 = (($162) + 240)|0; + $164 = HEAP32[6]|0; + HEAP8[$26>>0] = 0; + $165 = ((($26)) + 1|0); + HEAP8[$165>>0] = 0; + $166 = ((($26)) + 2|0); + HEAP8[$166>>0] = 0; + $167 = ((($26)) + 3|0); + HEAP8[$167>>0] = -1; + $168 = +HEAPF32[8]; + ;HEAP8[$$byval_copy32>>0]=HEAP8[$26>>0]|0;HEAP8[$$byval_copy32+1>>0]=HEAP8[$26+1>>0]|0;HEAP8[$$byval_copy32+2>>0]=HEAP8[$26+2>>0]|0;HEAP8[$$byval_copy32+3>>0]=HEAP8[$26+3>>0]|0; + _Fade($25,$$byval_copy32,$168); + ;HEAP8[$$byval_copy32>>0]=HEAP8[$25>>0]|0;HEAP8[$$byval_copy32+1>>0]=HEAP8[$25+1>>0]|0;HEAP8[$$byval_copy32+2>>0]=HEAP8[$25+2>>0]|0;HEAP8[$$byval_copy32+3>>0]=HEAP8[$25+3>>0]|0; + _DrawRectangle($161,$163,$164,16,$$byval_copy32); + $169 = (_GetScreenWidth()|0); + $170 = (($169|0) / 2)&-1; + $171 = (($170) + -112)|0; + $172 = (_GetScreenHeight()|0); + $173 = (($172|0) / 2)&-1; + $174 = (($173) + -112)|0; + HEAP8[$28>>0] = -11; + $175 = ((($28)) + 1|0); + HEAP8[$175>>0] = -11; + $176 = ((($28)) + 2|0); + HEAP8[$176>>0] = -11; + $177 = ((($28)) + 3|0); + HEAP8[$177>>0] = -1; + $178 = +HEAPF32[8]; + ;HEAP8[$$byval_copy32>>0]=HEAP8[$28>>0]|0;HEAP8[$$byval_copy32+1>>0]=HEAP8[$28+1>>0]|0;HEAP8[$$byval_copy32+2>>0]=HEAP8[$28+2>>0]|0;HEAP8[$$byval_copy32+3>>0]=HEAP8[$28+3>>0]|0; + _Fade($27,$$byval_copy32,$178); + ;HEAP8[$$byval_copy32>>0]=HEAP8[$27>>0]|0;HEAP8[$$byval_copy32+1>>0]=HEAP8[$27+1>>0]|0;HEAP8[$$byval_copy32+2>>0]=HEAP8[$27+2>>0]|0;HEAP8[$$byval_copy32+3>>0]=HEAP8[$27+3>>0]|0; + _DrawRectangle($171,$174,224,224,$$byval_copy32); + $179 = (_GetScreenWidth()|0); + $180 = (($179|0) / 2)&-1; + $181 = (($180) + -44)|0; + $182 = (_GetScreenHeight()|0); + $183 = (($182|0) / 2)&-1; + $184 = (($183) + 48)|0; + HEAP8[$30>>0] = 0; + $185 = ((($30)) + 1|0); + HEAP8[$185>>0] = 0; + $186 = ((($30)) + 2|0); + HEAP8[$186>>0] = 0; + $187 = ((($30)) + 3|0); + HEAP8[$187>>0] = -1; + $188 = +HEAPF32[8]; + ;HEAP8[$$byval_copy32>>0]=HEAP8[$30>>0]|0;HEAP8[$$byval_copy32+1>>0]=HEAP8[$30+1>>0]|0;HEAP8[$$byval_copy32+2>>0]=HEAP8[$30+2>>0]|0;HEAP8[$$byval_copy32+3>>0]=HEAP8[$30+3>>0]|0; + _Fade($29,$$byval_copy32,$188); + ;HEAP8[$$byval_copy32>>0]=HEAP8[$29>>0]|0;HEAP8[$$byval_copy32+1>>0]=HEAP8[$29+1>>0]|0;HEAP8[$$byval_copy32+2>>0]=HEAP8[$29+2>>0]|0;HEAP8[$$byval_copy32+3>>0]=HEAP8[$29+3>>0]|0; + _DrawText(26456,$181,$184,50,$$byval_copy32); + $189 = HEAP32[6745]|0; + $190 = ($189|0)>(20); + if (!($190)) { + STACKTOP = sp;return; + } + $191 = HEAP32[6742]|0; + $192 = HEAP32[6743]|0; + $193 = (($192) + -27)|0; + HEAP8[$32>>0] = 80; + $194 = ((($32)) + 1|0); + HEAP8[$194>>0] = 80; + $195 = ((($32)) + 2|0); + HEAP8[$195>>0] = 80; + $196 = ((($32)) + 3|0); + HEAP8[$196>>0] = -1; + $197 = +HEAPF32[8]; + ;HEAP8[$$byval_copy32>>0]=HEAP8[$32>>0]|0;HEAP8[$$byval_copy32+1>>0]=HEAP8[$32+1>>0]|0;HEAP8[$$byval_copy32+2>>0]=HEAP8[$32+2>>0]|0;HEAP8[$$byval_copy32+3>>0]=HEAP8[$32+3>>0]|0; + _Fade($31,$$byval_copy32,$197); + ;HEAP8[$$byval_copy32>>0]=HEAP8[$31>>0]|0;HEAP8[$$byval_copy32+1>>0]=HEAP8[$31+1>>0]|0;HEAP8[$$byval_copy32+2>>0]=HEAP8[$31+2>>0]|0;HEAP8[$$byval_copy32+3>>0]=HEAP8[$31+3>>0]|0; + _DrawText(5839,$191,$193,20,$$byval_copy32); STACKTOP = sp;return; break; } @@ -13104,31 +12597,31 @@ function _rlUnloadLogoScreen() { function _rlFinishLogoScreen() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[544>>2]|0; + $0 = HEAP32[6741]|0; return ($0|0); } function _InitTitleScreen() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); $0 = sp; - HEAP32[656>>2] = 0; - HEAP32[664>>2] = 0; - _LoadTexture($0,672); - ;HEAP32[704>>2]=HEAP32[$0>>2]|0;HEAP32[704+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[704+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[704+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[704+16>>2]=HEAP32[$0+16>>2]|0; + HEAP32[6747] = 0; + HEAP32[6748] = 0; + _LoadTexture($0,5850); + ;HEAP32[26996>>2]=HEAP32[$0>>2]|0;HEAP32[26996+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[26996+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[26996+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[26996+16>>2]=HEAP32[$0+16>>2]|0; STACKTOP = sp;return; } function _UpdateTitleScreen() { var $$inv = 0, $0 = 0, $1 = 0, $2 = 0.0, $3 = 0.0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $storemerge = 0.0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[656>>2]|0; + $0 = HEAP32[6747]|0; $1 = (($0) + 1)|0; - HEAP32[656>>2] = $1; - $2 = +HEAPF32[728>>2]; + HEAP32[6747] = $1; + $2 = +HEAPF32[6754]; $3 = $2 + 0.004999999888241291; $$inv = $3 >= 1.0; $storemerge = $$inv ? 1.0 : $3; - HEAPF32[728>>2] = $storemerge; + HEAPF32[6754] = $storemerge; $4 = (_IsKeyPressed(257)|0); $5 = ($4|0)==(0); if ($5) { @@ -13138,20 +12631,20 @@ function _UpdateTitleScreen() { return; } } - HEAP32[664>>2] = 1; + HEAP32[6748] = 1; return; } function _DrawTitleScreen() { var $$byval_copy2 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $3 = 0, $4 = 0, $5 = 0; var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $title$byval_copy = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; + STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0); $$byval_copy2 = sp + 36|0; - $title$byval_copy = sp; - $0 = sp + 28|0; - $1 = sp + 24|0; - $2 = sp + 20|0; - $3 = sp + 32|0; + $title$byval_copy = sp + 4|0; + $0 = sp + 32|0; + $1 = sp + 28|0; + $2 = sp; + $3 = sp + 24|0; $4 = (_GetScreenWidth()|0); $5 = (_GetScreenHeight()|0); HEAP8[$0>>0] = 80; @@ -13165,22 +12658,22 @@ function _DrawTitleScreen() { _DrawRectangle(0,0,$4,$5,$$byval_copy2); $9 = (_GetScreenWidth()|0); $10 = (($9|0) / 2)&-1; - $11 = HEAP32[(708)>>2]|0; + $11 = HEAP32[(27000)>>2]|0; $12 = (($11|0) / 2)&-1; $13 = (($10) - ($12))|0; HEAP32[$2>>2] = -1; - $14 = +HEAPF32[728>>2]; + $14 = +HEAPF32[6754]; ;HEAP8[$$byval_copy2>>0]=HEAP8[$2>>0]|0;HEAP8[$$byval_copy2+1>>0]=HEAP8[$2+1>>0]|0;HEAP8[$$byval_copy2+2>>0]=HEAP8[$2+2>>0]|0;HEAP8[$$byval_copy2+3>>0]=HEAP8[$2+3>>0]|0; _Fade($1,$$byval_copy2,$14); - ;HEAP32[$title$byval_copy>>2]=HEAP32[704>>2]|0;HEAP32[$title$byval_copy+4>>2]=HEAP32[704+4>>2]|0;HEAP32[$title$byval_copy+8>>2]=HEAP32[704+8>>2]|0;HEAP32[$title$byval_copy+12>>2]=HEAP32[704+12>>2]|0;HEAP32[$title$byval_copy+16>>2]=HEAP32[704+16>>2]|0; + ;HEAP32[$title$byval_copy>>2]=HEAP32[26996>>2]|0;HEAP32[$title$byval_copy+4>>2]=HEAP32[26996+4>>2]|0;HEAP32[$title$byval_copy+8>>2]=HEAP32[26996+8>>2]|0;HEAP32[$title$byval_copy+12>>2]=HEAP32[26996+12>>2]|0;HEAP32[$title$byval_copy+16>>2]=HEAP32[26996+16>>2]|0; ;HEAP8[$$byval_copy2>>0]=HEAP8[$1>>0]|0;HEAP8[$$byval_copy2+1>>0]=HEAP8[$1+1>>0]|0;HEAP8[$$byval_copy2+2>>0]=HEAP8[$1+2>>0]|0;HEAP8[$$byval_copy2+3>>0]=HEAP8[$1+3>>0]|0; _DrawTexture($title$byval_copy,$13,20,$$byval_copy2); - $15 = HEAP32[656>>2]|0; + $15 = HEAP32[6747]|0; $16 = ($15|0)>(180); if (!($16)) { STACKTOP = sp;return; } - $17 = (($15|0) / 40)&-1; + $17 = (($15>>>0) / 40)&-1; $18 = $17 & 1; $19 = ($18|0)==(0); if ($19) { @@ -13194,164 +12687,163 @@ function _DrawTitleScreen() { $22 = ((($3)) + 3|0); HEAP8[$22>>0] = -1; ;HEAP8[$$byval_copy2>>0]=HEAP8[$3>>0]|0;HEAP8[$$byval_copy2+1>>0]=HEAP8[$3+1>>0]|0;HEAP8[$$byval_copy2+2>>0]=HEAP8[$3+2>>0]|0;HEAP8[$$byval_copy2+3>>0]=HEAP8[$3+3>>0]|0; - _DrawText(736,380,545,40,$$byval_copy2); + _DrawText(5879,380,545,40,$$byval_copy2); STACKTOP = sp;return; } function _UnloadTitleScreen() { var $title$byval_copy = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); $title$byval_copy = sp; - ;HEAP32[$title$byval_copy>>2]=HEAP32[704>>2]|0;HEAP32[$title$byval_copy+4>>2]=HEAP32[704+4>>2]|0;HEAP32[$title$byval_copy+8>>2]=HEAP32[704+8>>2]|0;HEAP32[$title$byval_copy+12>>2]=HEAP32[704+12>>2]|0;HEAP32[$title$byval_copy+16>>2]=HEAP32[704+16>>2]|0; + ;HEAP32[$title$byval_copy>>2]=HEAP32[26996>>2]|0;HEAP32[$title$byval_copy+4>>2]=HEAP32[26996+4>>2]|0;HEAP32[$title$byval_copy+8>>2]=HEAP32[26996+8>>2]|0;HEAP32[$title$byval_copy+12>>2]=HEAP32[26996+12>>2]|0;HEAP32[$title$byval_copy+16>>2]=HEAP32[26996+16>>2]|0; _UnloadTexture($title$byval_copy); STACKTOP = sp;return; } function _FinishTitleScreen() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[664>>2]|0; + $0 = HEAP32[6748]|0; return ($0|0); } function _InitAtticScreen() { - var $0 = 0, $1 = 0, $10 = 0, $11 = 0.0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0.0, $18 = 0.0, $19 = 0, $2 = 0, $20 = 0.0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0.0; - var $27 = 0.0, $28 = 0, $29 = 0.0, $3 = 0, $30 = 0.0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + var $0 = 0, $1 = 0, $10 = 0.0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0.0, $17 = 0.0, $18 = 0, $19 = 0.0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0.0, $26 = 0.0; + var $27 = 0, $28 = 0.0, $29 = 0.0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); $0 = sp + 40|0; - $1 = sp; - $2 = sp + 20|0; + $1 = sp + 20|0; + $2 = sp; _ResetPlayer(); - HEAP32[760>>2] = 0; - HEAP32[768>>2] = -1; - HEAP32[776>>2] = 0; - HEAP32[784>>2] = 0; - HEAP32[792>>2] = 0; - _memset((800|0),0,256)|0; - HEAP32[1056>>2] = 0; - HEAP32[1064>>2] = 0; - _LoadTexture($0,1072); - ;HEAP32[1112>>2]=HEAP32[$0>>2]|0;HEAP32[1112+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[1112+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[1112+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[1112+16>>2]=HEAP32[$0+16>>2]|0; - HEAPF32[1136>>2] = 1074.0; - HEAPF32[(1140)>>2] = 140.0; - HEAP32[(1144)>>2] = 2; - HEAP32[(1148)>>2] = 1; - $3 = HEAP32[(92)>>2]|0; + HEAP32[6755] = 0; + HEAP32[6756] = -1; + HEAP32[6757] = 0; + HEAP32[6758] = 0; + HEAP32[6759] = 0; + _memset((33784|0),0,256)|0; + HEAP32[6760] = 0; + HEAP32[6761] = 0; + _LoadTexture($0,5900); + ;HEAP32[27048>>2]=HEAP32[$0>>2]|0;HEAP32[27048+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[27048+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[27048+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[27048+16>>2]=HEAP32[$0+16>>2]|0; + HEAPF32[6767] = 1074.0; + HEAPF32[(27072)>>2] = 140.0; + HEAP32[(27076)>>2] = 2; + HEAP32[(27080)>>2] = 1; + $3 = HEAP32[(26796)>>2]|0; $4 = (($3|0) / 3)&-1; - $5 = HEAP32[(1144)>>2]|0; - $6 = Math_imul($5, $4)|0; - $7 = HEAP32[(96)>>2]|0; - $8 = (($7|0) / 2)&-1; - HEAP32[(1156)>>2] = $6; - HEAP32[(1160)>>2] = $8; - HEAP32[(1164)>>2] = $4; - HEAP32[(1168)>>2] = $8; - $9 = +HEAPF32[1136>>2]; - $10 = (~~(($9))); - $11 = +HEAPF32[(1140)>>2]; - $12 = (~~(($11))); - $13 = HEAP32[(92)>>2]|0; - $14 = (($13|0) / 3)&-1; - $15 = HEAP32[(96)>>2]|0; - $16 = (($15|0) / 2)&-1; - HEAP32[(1172)>>2] = $10; - HEAP32[(1176)>>2] = $12; - HEAP32[(1180)>>2] = $14; - HEAP32[(1184)>>2] = $16; - HEAP32[(1152)>>2] = 0; - HEAPF32[1192>>2] = 50.0; - HEAPF32[(1196)>>2] = 316.0; - _LoadTexture($1,7896); - ;HEAP32[(1200)>>2]=HEAP32[$1>>2]|0;HEAP32[(1200)+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[(1200)+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[(1200)+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[(1200)+16>>2]=HEAP32[$1+16>>2]|0; - HEAP32[(1260)>>2] = 0; - HEAP32[(1256)>>2] = 0; - HEAP32[(1268)>>2] = 4; - $17 = +HEAPF32[1192>>2]; - $18 = $17 + 20.0; - $19 = (~~(($18))); - $20 = +HEAPF32[(1196)>>2]; - $21 = (~~(($20))); - HEAP32[(1220)>>2] = $19; - HEAP32[(1224)>>2] = $21; - HEAP32[(1228)>>2] = 90; - HEAP32[(1232)>>2] = 380; - $22 = HEAP32[(1204)>>2]|0; - $23 = HEAP32[(1268)>>2]|0; - $24 = (($22|0) / ($23|0))&-1; - $25 = HEAP32[(1208)>>2]|0; - HEAP32[(1236)>>2] = 0; - HEAP32[(1240)>>2] = 0; - HEAP32[(1244)>>2] = $24; - HEAP32[(1248)>>2] = $25; - HEAP32[(1276)>>2] = 0; - HEAP32[(1272)>>2] = 0; - HEAP32[(1280)>>2] = 0; - HEAPF32[1288>>2] = 760.0; - HEAPF32[(1292)>>2] = 430.0; - _LoadTexture($2,3544); - ;HEAP32[(1296)>>2]=HEAP32[$2>>2]|0;HEAP32[(1296)+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[(1296)+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[(1296)+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[(1296)+16>>2]=HEAP32[$2+16>>2]|0; - HEAP32[(1356)>>2] = 0; - HEAP32[(1352)>>2] = 0; - HEAP32[(1364)>>2] = 4; - $26 = +HEAPF32[1288>>2]; - $27 = $26 + 44.0; - $28 = (~~(($27))); - $29 = +HEAPF32[(1292)>>2]; - $30 = $29 + 70.0; - $31 = (~~(($30))); - HEAP32[(1316)>>2] = $28; - HEAP32[(1320)>>2] = $31; - HEAP32[(1324)>>2] = 220; - HEAP32[(1328)>>2] = 120; - $32 = HEAP32[(1300)>>2]|0; - $33 = HEAP32[(1364)>>2]|0; - $34 = (($32|0) / ($33|0))&-1; - $35 = HEAP32[(1304)>>2]|0; - HEAP32[(1332)>>2] = 0; - HEAP32[(1336)>>2] = 0; - HEAP32[(1340)>>2] = $34; - HEAP32[(1344)>>2] = $35; - HEAP32[(1372)>>2] = 0; - HEAP32[(1368)>>2] = 0; - HEAP32[(1376)>>2] = 1; + $5 = $4 << 1; + $6 = HEAP32[(26800)>>2]|0; + $7 = (($6|0) / 2)&-1; + HEAP32[(27088)>>2] = $5; + HEAP32[(27092)>>2] = $7; + HEAP32[(27096)>>2] = $4; + HEAP32[(27100)>>2] = $7; + $8 = +HEAPF32[6767]; + $9 = (~~(($8))); + $10 = +HEAPF32[(27072)>>2]; + $11 = (~~(($10))); + $12 = HEAP32[(26796)>>2]|0; + $13 = (($12|0) / 3)&-1; + $14 = HEAP32[(26800)>>2]|0; + $15 = (($14|0) / 2)&-1; + HEAP32[(27104)>>2] = $9; + HEAP32[(27108)>>2] = $11; + HEAP32[(27112)>>2] = $13; + HEAP32[(27116)>>2] = $15; + HEAP32[(27084)>>2] = 0; + HEAPF32[6780] = 50.0; + HEAPF32[(27124)>>2] = 316.0; + _LoadTexture($1,8160); + ;HEAP32[(27128)>>2]=HEAP32[$1>>2]|0;HEAP32[(27128)+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[(27128)+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[(27128)+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[(27128)+16>>2]=HEAP32[$1+16>>2]|0; + HEAP32[(27188)>>2] = 0; + HEAP32[(27184)>>2] = 0; + HEAP32[(27196)>>2] = 4; + $16 = +HEAPF32[6780]; + $17 = $16 + 20.0; + $18 = (~~(($17))); + $19 = +HEAPF32[(27124)>>2]; + $20 = (~~(($19))); + HEAP32[(27148)>>2] = $18; + HEAP32[(27152)>>2] = $20; + HEAP32[(27156)>>2] = 90; + HEAP32[(27160)>>2] = 380; + $21 = HEAP32[(27132)>>2]|0; + $22 = HEAP32[(27196)>>2]|0; + $23 = (($21|0) / ($22|0))&-1; + $24 = HEAP32[(27136)>>2]|0; + HEAP32[(27164)>>2] = 0; + HEAP32[(27168)>>2] = 0; + HEAP32[(27172)>>2] = $23; + HEAP32[(27176)>>2] = $24; + HEAP32[(27204)>>2] = 0; + HEAP32[(27200)>>2] = 0; + HEAP32[(27208)>>2] = 0; + HEAPF32[6803] = 760.0; + HEAPF32[(27216)>>2] = 430.0; + _LoadTexture($2,6578); + ;HEAP32[(27220)>>2]=HEAP32[$2>>2]|0;HEAP32[(27220)+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[(27220)+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[(27220)+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[(27220)+16>>2]=HEAP32[$2+16>>2]|0; + HEAP32[(27280)>>2] = 0; + HEAP32[(27276)>>2] = 0; + HEAP32[(27288)>>2] = 4; + $25 = +HEAPF32[6803]; + $26 = $25 + 44.0; + $27 = (~~(($26))); + $28 = +HEAPF32[(27216)>>2]; + $29 = $28 + 70.0; + $30 = (~~(($29))); + HEAP32[(27240)>>2] = $27; + HEAP32[(27244)>>2] = $30; + HEAP32[(27248)>>2] = 220; + HEAP32[(27252)>>2] = 120; + $31 = HEAP32[(27224)>>2]|0; + $32 = HEAP32[(27288)>>2]|0; + $33 = (($31|0) / ($32|0))&-1; + $34 = HEAP32[(27228)>>2]|0; + HEAP32[(27256)>>2] = 0; + HEAP32[(27260)>>2] = 0; + HEAP32[(27264)>>2] = $33; + HEAP32[(27268)>>2] = $34; + HEAP32[(27296)>>2] = 0; + HEAP32[(27292)>>2] = 0; + HEAP32[(27300)>>2] = 1; STACKTOP = sp;return; } function _UpdateAtticScreen() { - var $$11 = 0, $$byval_copy18 = 0, $$pr = 0, $$pr12 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0; - var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0; - var $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0; - var $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0; - var $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $9 = 0, $i$014 = 0, $or$cond = 0, $or$cond3 = 0, $or$cond5 = 0, $or$cond7 = 0, $or$cond9 = 0, $sndScream$byval_copy20 = 0, $storemerge = 0; + var $$019 = 0, $$byval_copy18 = 0, $$pr = 0, $$pr17 = 0, $$sink10 = 0, $$sink4 = 0, $$sink9 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0; + var $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0; + var $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0; + var $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0; + var $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $9 = 0, $or$cond = 0, $or$cond12 = 0, $or$cond3 = 0, $or$cond6 = 0, $or$cond8 = 0, $sndScream$byval_copy20 = 0; var label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); $sndScream$byval_copy20 = sp + 48|0; - $$byval_copy18 = sp; - $0 = sp + 16|0; - $1 = sp + 24|0; - $2 = sp + 32|0; - $3 = sp + 40|0; - $4 = HEAP32[(208)>>2]|0; + $$byval_copy18 = sp + 24|0; + $0 = sp + 40|0; + $1 = sp + 16|0; + $2 = sp + 8|0; + $3 = sp; + $4 = HEAP32[(26912)>>2]|0; $5 = ($4|0)==(0); do { if (!($5)) { _GetMousePosition($0); ;HEAP32[$$byval_copy18>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy18+4>>2]=HEAP32[$0+4>>2]|0; - ;HEAP32[$sndScream$byval_copy20>>2]=HEAP32[(1172)>>2]|0;HEAP32[$sndScream$byval_copy20+4>>2]=HEAP32[(1172)+4>>2]|0;HEAP32[$sndScream$byval_copy20+8>>2]=HEAP32[(1172)+8>>2]|0;HEAP32[$sndScream$byval_copy20+12>>2]=HEAP32[(1172)+12>>2]|0; + ;HEAP32[$sndScream$byval_copy20>>2]=HEAP32[(27104)>>2]|0;HEAP32[$sndScream$byval_copy20+4>>2]=HEAP32[(27104)+4>>2]|0;HEAP32[$sndScream$byval_copy20+8>>2]=HEAP32[(27104)+8>>2]|0;HEAP32[$sndScream$byval_copy20+12>>2]=HEAP32[(27104)+12>>2]|0; $6 = (_CheckCollisionPointRec($$byval_copy18,$sndScream$byval_copy20)|0); $7 = ($6|0)==(0); if ($7) { - ;HEAP32[$$byval_copy18>>2]=HEAP32[(144)>>2]|0;HEAP32[$$byval_copy18+4>>2]=HEAP32[(144)+4>>2]|0;HEAP32[$$byval_copy18+8>>2]=HEAP32[(144)+8>>2]|0;HEAP32[$$byval_copy18+12>>2]=HEAP32[(144)+12>>2]|0; - ;HEAP32[$sndScream$byval_copy20>>2]=HEAP32[(1172)>>2]|0;HEAP32[$sndScream$byval_copy20+4>>2]=HEAP32[(1172)+4>>2]|0;HEAP32[$sndScream$byval_copy20+8>>2]=HEAP32[(1172)+8>>2]|0;HEAP32[$sndScream$byval_copy20+12>>2]=HEAP32[(1172)+12>>2]|0; + ;HEAP32[$$byval_copy18>>2]=HEAP32[(26848)>>2]|0;HEAP32[$$byval_copy18+4>>2]=HEAP32[(26848)+4>>2]|0;HEAP32[$$byval_copy18+8>>2]=HEAP32[(26848)+8>>2]|0;HEAP32[$$byval_copy18+12>>2]=HEAP32[(26848)+12>>2]|0; + ;HEAP32[$sndScream$byval_copy20>>2]=HEAP32[(27104)>>2]|0;HEAP32[$sndScream$byval_copy20+4>>2]=HEAP32[(27104)+4>>2]|0;HEAP32[$sndScream$byval_copy20+8>>2]=HEAP32[(27104)+8>>2]|0;HEAP32[$sndScream$byval_copy20+12>>2]=HEAP32[(27104)+12>>2]|0; $8 = (_CheckCollisionRecs($$byval_copy18,$sndScream$byval_copy20)|0); $9 = ($8|0)==(0); if ($9) { - HEAP32[(1152)>>2] = 0; + HEAP32[(27084)>>2] = 0; break; } } - HEAP32[(1152)>>2] = 1; - ;HEAP32[$$byval_copy18>>2]=HEAP32[(144)>>2]|0;HEAP32[$$byval_copy18+4>>2]=HEAP32[(144)+4>>2]|0;HEAP32[$$byval_copy18+8>>2]=HEAP32[(144)+8>>2]|0;HEAP32[$$byval_copy18+12>>2]=HEAP32[(144)+12>>2]|0; - ;HEAP32[$sndScream$byval_copy20>>2]=HEAP32[(1172)>>2]|0;HEAP32[$sndScream$byval_copy20+4>>2]=HEAP32[(1172)+4>>2]|0;HEAP32[$sndScream$byval_copy20+8>>2]=HEAP32[(1172)+8>>2]|0;HEAP32[$sndScream$byval_copy20+12>>2]=HEAP32[(1172)+12>>2]|0; + HEAP32[(27084)>>2] = 1; + ;HEAP32[$$byval_copy18>>2]=HEAP32[(26848)>>2]|0;HEAP32[$$byval_copy18+4>>2]=HEAP32[(26848)+4>>2]|0;HEAP32[$$byval_copy18+8>>2]=HEAP32[(26848)+8>>2]|0;HEAP32[$$byval_copy18+12>>2]=HEAP32[(26848)+12>>2]|0; + ;HEAP32[$sndScream$byval_copy20>>2]=HEAP32[(27104)>>2]|0;HEAP32[$sndScream$byval_copy20+4>>2]=HEAP32[(27104)+4>>2]|0;HEAP32[$sndScream$byval_copy20+8>>2]=HEAP32[(27104)+8>>2]|0;HEAP32[$sndScream$byval_copy20+12>>2]=HEAP32[(27104)+12>>2]|0; $10 = (_CheckCollisionRecs($$byval_copy18,$sndScream$byval_copy20)|0); $11 = ($10|0)==(0); if (!($11)) { @@ -13362,7 +12854,7 @@ function _UpdateAtticScreen() { } else { _GetMousePosition($1); ;HEAP32[$$byval_copy18>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy18+4>>2]=HEAP32[$1+4>>2]|0; - ;HEAP32[$sndScream$byval_copy20>>2]=HEAP32[(1172)>>2]|0;HEAP32[$sndScream$byval_copy20+4>>2]=HEAP32[(1172)+4>>2]|0;HEAP32[$sndScream$byval_copy20+8>>2]=HEAP32[(1172)+8>>2]|0;HEAP32[$sndScream$byval_copy20+12>>2]=HEAP32[(1172)+12>>2]|0; + ;HEAP32[$sndScream$byval_copy20>>2]=HEAP32[(27104)>>2]|0;HEAP32[$sndScream$byval_copy20+4>>2]=HEAP32[(27104)+4>>2]|0;HEAP32[$sndScream$byval_copy20+8>>2]=HEAP32[(27104)+8>>2]|0;HEAP32[$sndScream$byval_copy20+12>>2]=HEAP32[(27104)+12>>2]|0; $14 = (_CheckCollisionPointRec($$byval_copy18,$sndScream$byval_copy20)|0); $15 = ($14|0)==(0); if ($15) { @@ -13376,289 +12868,317 @@ function _UpdateAtticScreen() { break; } } - $18 = HEAP32[(1148)>>2]|0; + $18 = HEAP32[(27080)>>2]|0; $19 = ($18|0)==(0); if ($19) { - HEAP32[1064>>2] = 1; + HEAP32[6761] = 1; break; } else { - HEAP32[(1160)>>2] = 0; - HEAP32[(1148)>>2] = 0; - ;HEAP32[$sndScream$byval_copy20>>2]=HEAP32[112>>2]|0;HEAP32[$sndScream$byval_copy20+4>>2]=HEAP32[112+4>>2]|0; + HEAP32[(27092)>>2] = 0; + HEAP32[(27080)>>2] = 0; + ;HEAP32[$sndScream$byval_copy20>>2]=HEAP32[26812>>2]|0;HEAP32[$sndScream$byval_copy20+4>>2]=HEAP32[26812+4>>2]|0;HEAP32[$sndScream$byval_copy20+8>>2]=HEAP32[26812+8>>2]|0; _PlaySound($sndScream$byval_copy20); break; } } } } while(0); - $20 = HEAP32[776>>2]|0; + $20 = HEAP32[6757]|0; $21 = ($20|0)>(2); if ($21) { _UpdatePlayer(); - _UpdateMonster(1192); - _UpdateMonster(1288); + _UpdateMonster(27120); + _UpdateMonster(27212); } - ;HEAP32[$$byval_copy18>>2]=HEAP32[(144)>>2]|0;HEAP32[$$byval_copy18+4>>2]=HEAP32[(144)+4>>2]|0;HEAP32[$$byval_copy18+8>>2]=HEAP32[(144)+8>>2]|0;HEAP32[$$byval_copy18+12>>2]=HEAP32[(144)+12>>2]|0; - ;HEAP32[$sndScream$byval_copy20>>2]=HEAP32[(1220)>>2]|0;HEAP32[$sndScream$byval_copy20+4>>2]=HEAP32[(1220)+4>>2]|0;HEAP32[$sndScream$byval_copy20+8>>2]=HEAP32[(1220)+8>>2]|0;HEAP32[$sndScream$byval_copy20+12>>2]=HEAP32[(1220)+12>>2]|0; + ;HEAP32[$$byval_copy18>>2]=HEAP32[(26848)>>2]|0;HEAP32[$$byval_copy18+4>>2]=HEAP32[(26848)+4>>2]|0;HEAP32[$$byval_copy18+8>>2]=HEAP32[(26848)+8>>2]|0;HEAP32[$$byval_copy18+12>>2]=HEAP32[(26848)+12>>2]|0; + ;HEAP32[$sndScream$byval_copy20>>2]=HEAP32[(27148)>>2]|0;HEAP32[$sndScream$byval_copy20+4>>2]=HEAP32[(27148)+4>>2]|0;HEAP32[$sndScream$byval_copy20+8>>2]=HEAP32[(27148)+8>>2]|0;HEAP32[$sndScream$byval_copy20+12>>2]=HEAP32[(27148)+12>>2]|0; $22 = (_CheckCollisionRecs($$byval_copy18,$sndScream$byval_copy20)|0); $23 = ($22|0)==(0); - $24 = HEAP32[(1272)>>2]|0; + $24 = HEAP32[(27200)>>2]|0; $25 = ($24|0)!=(0); $or$cond = $23 | $25; if ($or$cond) { - ;HEAP32[$$byval_copy18>>2]=HEAP32[(144)>>2]|0;HEAP32[$$byval_copy18+4>>2]=HEAP32[(144)+4>>2]|0;HEAP32[$$byval_copy18+8>>2]=HEAP32[(144)+8>>2]|0;HEAP32[$$byval_copy18+12>>2]=HEAP32[(144)+12>>2]|0; - ;HEAP32[$sndScream$byval_copy20>>2]=HEAP32[(1316)>>2]|0;HEAP32[$sndScream$byval_copy20+4>>2]=HEAP32[(1316)+4>>2]|0;HEAP32[$sndScream$byval_copy20+8>>2]=HEAP32[(1316)+8>>2]|0;HEAP32[$sndScream$byval_copy20+12>>2]=HEAP32[(1316)+12>>2]|0; + ;HEAP32[$$byval_copy18>>2]=HEAP32[(26848)>>2]|0;HEAP32[$$byval_copy18+4>>2]=HEAP32[(26848)+4>>2]|0;HEAP32[$$byval_copy18+8>>2]=HEAP32[(26848)+8>>2]|0;HEAP32[$$byval_copy18+12>>2]=HEAP32[(26848)+12>>2]|0; + ;HEAP32[$sndScream$byval_copy20>>2]=HEAP32[(27240)>>2]|0;HEAP32[$sndScream$byval_copy20+4>>2]=HEAP32[(27240)+4>>2]|0;HEAP32[$sndScream$byval_copy20+8>>2]=HEAP32[(27240)+8>>2]|0;HEAP32[$sndScream$byval_copy20+12>>2]=HEAP32[(27240)+12>>2]|0; $26 = (_CheckCollisionRecs($$byval_copy18,$sndScream$byval_copy20)|0); $27 = ($26|0)==(0); - $28 = HEAP32[(1368)>>2]|0; + $28 = HEAP32[(27292)>>2]|0; $29 = ($28|0)!=(0); $or$cond3 = $27 | $29; - $30 = $or$cond3&1; - $$11 = $30 ^ 1; - $storemerge = $$11; - } else { - $storemerge = 1; - } - HEAP32[760>>2] = $storemerge; - ;HEAP32[$$byval_copy18>>2]=HEAP32[(144)>>2]|0;HEAP32[$$byval_copy18+4>>2]=HEAP32[(144)+4>>2]|0;HEAP32[$$byval_copy18+8>>2]=HEAP32[(144)+8>>2]|0;HEAP32[$$byval_copy18+12>>2]=HEAP32[(144)+12>>2]|0; - ;HEAP32[$sndScream$byval_copy20>>2]=HEAP32[(1220)>>2]|0;HEAP32[$sndScream$byval_copy20+4>>2]=HEAP32[(1220)+4>>2]|0;HEAP32[$sndScream$byval_copy20+8>>2]=HEAP32[(1220)+8>>2]|0;HEAP32[$sndScream$byval_copy20+12>>2]=HEAP32[(1220)+12>>2]|0; - $31 = (_CheckCollisionRecs($$byval_copy18,$sndScream$byval_copy20)|0); - $32 = ($31|0)==(0); - $33 = HEAP32[(1272)>>2]|0; - $34 = ($33|0)!=(0); - $or$cond5 = $32 | $34; - do { - if ($or$cond5) { - HEAP32[(1276)>>2] = 0; + if ($or$cond3) { + $$sink4 = 0; } else { - HEAP32[(1276)>>2] = 1; - $35 = (_IsKeyPressed(32)|0); - $36 = ($35|0)==(0); - if ($36) { - $37 = (_IsMouseButtonPressed(0)|0); - $38 = ($37|0)==(0); - if ($38) { + label = 16; + } + } else { + label = 16; + } + if ((label|0) == 16) { + $$sink4 = 1; + } + HEAP32[6755] = $$sink4; + ;HEAP32[$$byval_copy18>>2]=HEAP32[(26848)>>2]|0;HEAP32[$$byval_copy18+4>>2]=HEAP32[(26848)+4>>2]|0;HEAP32[$$byval_copy18+8>>2]=HEAP32[(26848)+8>>2]|0;HEAP32[$$byval_copy18+12>>2]=HEAP32[(26848)+12>>2]|0; + ;HEAP32[$sndScream$byval_copy20>>2]=HEAP32[(27148)>>2]|0;HEAP32[$sndScream$byval_copy20+4>>2]=HEAP32[(27148)+4>>2]|0;HEAP32[$sndScream$byval_copy20+8>>2]=HEAP32[(27148)+8>>2]|0;HEAP32[$sndScream$byval_copy20+12>>2]=HEAP32[(27148)+12>>2]|0; + $30 = (_CheckCollisionRecs($$byval_copy18,$sndScream$byval_copy20)|0); + $31 = ($30|0)==(0); + $32 = HEAP32[(27200)>>2]|0; + $33 = ($32|0)!=(0); + $or$cond6 = $31 | $33; + do { + if ($or$cond6) { + HEAP32[(27204)>>2] = 0; + } else { + HEAP32[(27204)>>2] = 1; + $34 = (_IsKeyPressed(32)|0); + $35 = ($34|0)==(0); + if ($35) { + $36 = (_IsMouseButtonPressed(0)|0); + $37 = ($36|0)==(0); + if ($37) { break; } _GetMousePosition($2); ;HEAP32[$$byval_copy18>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy18+4>>2]=HEAP32[$2+4>>2]|0; - ;HEAP32[$sndScream$byval_copy20>>2]=HEAP32[(1220)>>2]|0;HEAP32[$sndScream$byval_copy20+4>>2]=HEAP32[(1220)+4>>2]|0;HEAP32[$sndScream$byval_copy20+8>>2]=HEAP32[(1220)+8>>2]|0;HEAP32[$sndScream$byval_copy20+12>>2]=HEAP32[(1220)+12>>2]|0; - $39 = (_CheckCollisionPointRec($$byval_copy18,$sndScream$byval_copy20)|0); - $40 = ($39|0)==(0); - if ($40) { + ;HEAP32[$sndScream$byval_copy20>>2]=HEAP32[(27148)>>2]|0;HEAP32[$sndScream$byval_copy20+4>>2]=HEAP32[(27148)+4>>2]|0;HEAP32[$sndScream$byval_copy20+8>>2]=HEAP32[(27148)+8>>2]|0;HEAP32[$sndScream$byval_copy20+12>>2]=HEAP32[(27148)+12>>2]|0; + $38 = (_CheckCollisionPointRec($$byval_copy18,$sndScream$byval_copy20)|0); + $39 = ($38|0)==(0); + if ($39) { break; } } _SearchKeyPlayer(); - HEAP32[1384>>2] = 1; - HEAP32[1056>>2] = 0; - HEAP32[768>>2] = 1; + HEAP32[6826] = 1; + HEAP32[6760] = 0; + HEAP32[6756] = 1; } } while(0); - ;HEAP32[$$byval_copy18>>2]=HEAP32[(144)>>2]|0;HEAP32[$$byval_copy18+4>>2]=HEAP32[(144)+4>>2]|0;HEAP32[$$byval_copy18+8>>2]=HEAP32[(144)+8>>2]|0;HEAP32[$$byval_copy18+12>>2]=HEAP32[(144)+12>>2]|0; - ;HEAP32[$sndScream$byval_copy20>>2]=HEAP32[(1316)>>2]|0;HEAP32[$sndScream$byval_copy20+4>>2]=HEAP32[(1316)+4>>2]|0;HEAP32[$sndScream$byval_copy20+8>>2]=HEAP32[(1316)+8>>2]|0;HEAP32[$sndScream$byval_copy20+12>>2]=HEAP32[(1316)+12>>2]|0; - $41 = (_CheckCollisionRecs($$byval_copy18,$sndScream$byval_copy20)|0); - $42 = ($41|0)==(0); - $43 = HEAP32[(1368)>>2]|0; - $44 = ($43|0)!=(0); - $or$cond7 = $42 | $44; + ;HEAP32[$$byval_copy18>>2]=HEAP32[(26848)>>2]|0;HEAP32[$$byval_copy18+4>>2]=HEAP32[(26848)+4>>2]|0;HEAP32[$$byval_copy18+8>>2]=HEAP32[(26848)+8>>2]|0;HEAP32[$$byval_copy18+12>>2]=HEAP32[(26848)+12>>2]|0; + ;HEAP32[$sndScream$byval_copy20>>2]=HEAP32[(27240)>>2]|0;HEAP32[$sndScream$byval_copy20+4>>2]=HEAP32[(27240)+4>>2]|0;HEAP32[$sndScream$byval_copy20+8>>2]=HEAP32[(27240)+8>>2]|0;HEAP32[$sndScream$byval_copy20+12>>2]=HEAP32[(27240)+12>>2]|0; + $40 = (_CheckCollisionRecs($$byval_copy18,$sndScream$byval_copy20)|0); + $41 = ($40|0)==(0); + $42 = HEAP32[(27292)>>2]|0; + $43 = ($42|0)!=(0); + $or$cond8 = $41 | $43; do { - if ($or$cond7) { - HEAP32[(1372)>>2] = 0; - label = 28; + if ($or$cond8) { + HEAP32[(27296)>>2] = 0; + label = 29; } else { - HEAP32[(1372)>>2] = 1; - $45 = (_IsKeyPressed(32)|0); - $46 = ($45|0)==(0); - if ($46) { - $47 = (_IsMouseButtonPressed(0)|0); - $48 = ($47|0)==(0); - if ($48) { - label = 28; + HEAP32[(27296)>>2] = 1; + $44 = (_IsKeyPressed(32)|0); + $45 = ($44|0)==(0); + if ($45) { + $46 = (_IsMouseButtonPressed(0)|0); + $47 = ($46|0)==(0); + if ($47) { + label = 29; break; } _GetMousePosition($3); ;HEAP32[$$byval_copy18>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy18+4>>2]=HEAP32[$3+4>>2]|0; - ;HEAP32[$sndScream$byval_copy20>>2]=HEAP32[(1316)>>2]|0;HEAP32[$sndScream$byval_copy20+4>>2]=HEAP32[(1316)+4>>2]|0;HEAP32[$sndScream$byval_copy20+8>>2]=HEAP32[(1316)+8>>2]|0;HEAP32[$sndScream$byval_copy20+12>>2]=HEAP32[(1316)+12>>2]|0; - $49 = (_CheckCollisionPointRec($$byval_copy18,$sndScream$byval_copy20)|0); - $50 = ($49|0)==(0); - if ($50) { - label = 28; + ;HEAP32[$sndScream$byval_copy20>>2]=HEAP32[(27240)>>2]|0;HEAP32[$sndScream$byval_copy20+4>>2]=HEAP32[(27240)+4>>2]|0;HEAP32[$sndScream$byval_copy20+8>>2]=HEAP32[(27240)+8>>2]|0;HEAP32[$sndScream$byval_copy20+12>>2]=HEAP32[(27240)+12>>2]|0; + $48 = (_CheckCollisionPointRec($$byval_copy18,$sndScream$byval_copy20)|0); + $49 = ($48|0)==(0); + if ($49) { + label = 29; break; } } _SearchKeyPlayer(); - HEAP32[1384>>2] = 1; - HEAP32[768>>2] = 2; - HEAP32[1056>>2] = 1; + HEAP32[6826] = 1; + HEAP32[6756] = 2; + HEAP32[6760] = 1; } } while(0); - if ((label|0) == 28) { - $$pr = HEAP32[1384>>2]|0; - $51 = ($$pr|0)==(0); - if (!($51)) { - $$pr12 = HEAP32[1056>>2]|0; - $52 = (($$pr12) + 1)|0; - HEAP32[1056>>2] = $52; - $53 = ($$pr12|0)>(179); - if ($53) { - $54 = HEAP32[768>>2]|0; - if ((($54|0) == 2)) { - $57 = HEAP32[(1376)>>2]|0; - $58 = ($57|0)==(0); - if ($58) { - _FindKeyPlayer(); - } else { - _ScarePlayer(); - ;HEAP32[$sndScream$byval_copy20>>2]=HEAP32[120>>2]|0;HEAP32[$sndScream$byval_copy20+4>>2]=HEAP32[120+4>>2]|0; - _PlaySound($sndScream$byval_copy20); + if ((label|0) == 29) { + $$pr = HEAP32[6826]|0; + $50 = ($$pr|0)==(0); + if (!($50)) { + $$pr17 = HEAP32[6760]|0; + $51 = (($$pr17) + 1)|0; + HEAP32[6760] = $51; + $52 = ($$pr17|0)>(179); + if ($52) { + $53 = HEAP32[6756]|0; + L44: do { + switch ($53|0) { + case 1: { + $54 = HEAP32[(27208)>>2]|0; + $55 = ($54|0)==(0); + if ($55) { + _FindKeyPlayer(); + $$sink10 = (27200);$$sink9 = (27204); + label = 38; + break L44; + } else { + _ScarePlayer(); + ;HEAP32[$sndScream$byval_copy20>>2]=HEAP32[26824>>2]|0;HEAP32[$sndScream$byval_copy20+4>>2]=HEAP32[26824+4>>2]|0;HEAP32[$sndScream$byval_copy20+8>>2]=HEAP32[26824+8>>2]|0; + _PlaySound($sndScream$byval_copy20); + $$sink10 = (27200);$$sink9 = (27204); + label = 38; + break L44; + } + break; } - HEAP32[(1368)>>2] = 1; - HEAP32[(1372)>>2] = 0; - } else if ((($54|0) == 1)) { - $55 = HEAP32[(1280)>>2]|0; - $56 = ($55|0)==(0); - if ($56) { - _FindKeyPlayer(); - } else { - _ScarePlayer(); - ;HEAP32[$sndScream$byval_copy20>>2]=HEAP32[120>>2]|0;HEAP32[$sndScream$byval_copy20+4>>2]=HEAP32[120+4>>2]|0; - _PlaySound($sndScream$byval_copy20); + case 2: { + $56 = HEAP32[(27300)>>2]|0; + $57 = ($56|0)==(0); + if ($57) { + _FindKeyPlayer(); + $$sink10 = (27292);$$sink9 = (27296); + label = 38; + break L44; + } else { + _ScarePlayer(); + ;HEAP32[$sndScream$byval_copy20>>2]=HEAP32[26824>>2]|0;HEAP32[$sndScream$byval_copy20+4>>2]=HEAP32[26824+4>>2]|0;HEAP32[$sndScream$byval_copy20+8>>2]=HEAP32[26824+8>>2]|0; + _PlaySound($sndScream$byval_copy20); + $$sink10 = (27292);$$sink9 = (27296); + label = 38; + break L44; + } + break; } - HEAP32[(1272)>>2] = 1; - HEAP32[(1276)>>2] = 0; + default: { + } + } + } while(0); + if ((label|0) == 38) { + HEAP32[$$sink10>>2] = 1; + HEAP32[$$sink9>>2] = 0; } - HEAP32[1384>>2] = 0; - HEAP32[1056>>2] = 0; + HEAP32[6826] = 0; + HEAP32[6760] = 0; } } } - $59 = HEAP32[1056>>2]|0; - $60 = (($59) + 1)|0; - HEAP32[1056>>2] = $60; - $61 = $60 & 1; - $62 = ($61|0)==(0); - if ($62) { - $63 = HEAP32[792>>2]|0; - $64 = (($63) + 1)|0; - HEAP32[792>>2] = $64; + $58 = HEAP32[6760]|0; + $59 = (($58) + 1)|0; + HEAP32[6760] = $59; + $60 = $59 & 1; + $61 = ($60|0)==(0); + if ($61) { + $62 = HEAP32[6759]|0; + $63 = (($62) + 1)|0; + HEAP32[6759] = $63; } - $65 = HEAP32[776>>2]|0; + $64 = HEAP32[6757]|0; + $65 = ($64|0)==(0); do { - if ((($65|0) == 0)) { - $66 = HEAP32[792>>2]|0; + if ($65) { + $66 = HEAP32[6759]|0; $67 = ($66|0)<(84); if ($67) { - (_strncpy((800|0),(1392|0),($66|0))|0); + (_strncpy(33784,5940,$66)|0); } else { - $68 = (_strlen((800|0))|0); + $68 = (_strlen(33784)|0); $69 = ($68|0)>(0); if ($69) { - $i$014 = 0; + $$019 = 0; while(1) { - $70 = (800 + ($i$014)|0); + $70 = (33784 + ($$019)|0); HEAP8[$70>>0] = 0; - $71 = (($i$014) + 1)|0; - $72 = (_strlen((800|0))|0); + $71 = (($$019) + 1)|0; + $72 = (_strlen(33784)|0); $73 = ($71|0)<($72|0); if ($73) { - $i$014 = $71; + $$019 = $71; } else { break; } } } - HEAP32[792>>2] = 0; - HEAP32[776>>2] = 1; + HEAP32[6759] = 0; + HEAP32[6757] = 1; } $74 = (_IsKeyPressed(257)|0); $75 = ($74|0)==(0); if (!($75)) { - HEAP32[776>>2] = 1; + HEAP32[6757] = 1; } - } else if ((($65|0) == 1)) { - $76 = HEAP32[784>>2]|0; - $77 = (($76) + 1)|0; - HEAP32[784>>2] = $77; - $78 = (_IsKeyPressed(257)|0); - $79 = ($78|0)==(0); - if ($79) { - $80 = (_IsMouseButtonPressed(0)|0); - $81 = ($80|0)==(0); - if ($81) { + } else { + $76 = ($64|0)==(1); + $77 = HEAP32[6758]|0; + $78 = (($77) + 1)|0; + HEAP32[6758] = $78; + if (!($76)) { + $83 = ($64|0)==(2); + $84 = ($77|0)>(179); + $or$cond12 = $83 & $84; + if (!($or$cond12)) { + break; + } + HEAP32[6757] = 3; + break; + } + $79 = (_IsKeyPressed(257)|0); + $80 = ($79|0)==(0); + if ($80) { + $81 = (_IsMouseButtonPressed(0)|0); + $82 = ($81|0)==(0); + if ($82) { break; } } - HEAP32[776>>2] = 2; - HEAP32[784>>2] = 0; - } else { - $82 = ($65|0)==(2); - $83 = HEAP32[784>>2]|0; - $84 = (($83) + 1)|0; - HEAP32[784>>2] = $84; - $85 = ($83|0)>(179); - $or$cond9 = $82 & $85; - if ($or$cond9) { - HEAP32[776>>2] = 3; - } + HEAP32[6757] = 2; + HEAP32[6758] = 0; } } while(0); - $86 = (_IsKeyPressed(77)|0); - $87 = ($86|0)==(0); - if ($87) { + $85 = (_IsKeyPressed(77)|0); + $86 = ($85|0)==(0); + if ($86) { STACKTOP = sp;return; } - HEAP32[1064>>2] = 1; + HEAP32[6761] = 1; STACKTOP = sp;return; } function _DrawAtticScreen() { var $$byval_copy20 = 0, $$byval_copy24 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; - var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0; - var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0; - var $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $8 = 0, $9 = 0, $doors$byval_copy3 = 0; - var $font$byval_copy14 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0.0, $41 = 0, $42 = 0; + var $43 = 0.0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0.0; + var $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0; + var $8 = 0, $9 = 0, $doors$byval_copy3 = 0, $font$byval_copy14 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 272|0; - $$byval_copy24 = sp + 32|0; - $$byval_copy20 = sp + 140|0; - $font$byval_copy14 = sp + 184|0; - $doors$byval_copy3 = sp + 160|0; - $0 = sp + 180|0; - $1 = sp + 252|0; - $2 = sp + 124|0; - $3 = sp + 256|0; - $4 = sp + 268|0; - $5 = sp + 264|0; - $6 = sp + 260|0; - $7 = sp + 128|0; - $8 = sp + 136|0; - $9 = sp + 24|0; - $10 = sp + 16|0; - $11 = sp + 248|0; - $12 = sp + 8|0; - $13 = sp; + STACKTOP = STACKTOP + 272|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(272|0); + $$byval_copy24 = sp + 124|0; + $$byval_copy20 = sp + 100|0; + $font$byval_copy14 = sp + 64|0; + $doors$byval_copy3 = sp; + $0 = sp + 120|0; + $1 = sp + 264|0; + $2 = sp + 96|0; + $3 = sp + 260|0; + $4 = sp + 256|0; + $5 = sp + 252|0; + $6 = sp + 248|0; + $7 = sp + 56|0; + $8 = sp + 48|0; + $9 = sp + 40|0; + $10 = sp + 32|0; + $11 = sp + 244|0; + $12 = sp + 24|0; + $13 = sp + 20|0; $14 = sp + 240|0; - $15 = sp + 228|0; - $16 = sp + 244|0; - $17 = sp + 220|0; + $15 = sp + 236|0; + $16 = sp + 232|0; + $17 = sp + 228|0; $18 = sp + 224|0; - $19 = sp + 236|0; - $20 = sp + 232|0; + $19 = sp + 220|0; + $20 = sp + 216|0; HEAP32[$0>>2] = -1; - ;HEAP32[$$byval_copy20>>2]=HEAP32[1112>>2]|0;HEAP32[$$byval_copy20+4>>2]=HEAP32[1112+4>>2]|0;HEAP32[$$byval_copy20+8>>2]=HEAP32[1112+8>>2]|0;HEAP32[$$byval_copy20+12>>2]=HEAP32[1112+12>>2]|0;HEAP32[$$byval_copy20+16>>2]=HEAP32[1112+16>>2]|0; + ;HEAP32[$$byval_copy20>>2]=HEAP32[27048>>2]|0;HEAP32[$$byval_copy20+4>>2]=HEAP32[27048+4>>2]|0;HEAP32[$$byval_copy20+8>>2]=HEAP32[27048+8>>2]|0;HEAP32[$$byval_copy20+12>>2]=HEAP32[27048+12>>2]|0;HEAP32[$$byval_copy20+16>>2]=HEAP32[27048+16>>2]|0; ;HEAP8[$$byval_copy24>>0]=HEAP8[$0>>0]|0;HEAP8[$$byval_copy24+1>>0]=HEAP8[$0+1>>0]|0;HEAP8[$$byval_copy24+2>>0]=HEAP8[$0+2>>0]|0;HEAP8[$$byval_copy24+3>>0]=HEAP8[$0+3>>0]|0; _DrawTexture($$byval_copy20,0,0,$$byval_copy24); - dest=$$byval_copy24; src=1192; stop=dest+92|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$$byval_copy24; src=27120; stop=dest+92|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _DrawMonster($$byval_copy24,0); - dest=$$byval_copy24; src=1288; stop=dest+92|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$$byval_copy24; src=27212; stop=dest+92|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _DrawMonster($$byval_copy24,0); - $21 = HEAP32[(1152)>>2]|0; + $21 = HEAP32[(27084)>>2]|0; $22 = ($21|0)==(0); if ($22) { HEAP32[$2>>2] = -1; - ;HEAP32[$doors$byval_copy3>>2]=HEAP32[88>>2]|0;HEAP32[$doors$byval_copy3+4>>2]=HEAP32[88+4>>2]|0;HEAP32[$doors$byval_copy3+8>>2]=HEAP32[88+8>>2]|0;HEAP32[$doors$byval_copy3+12>>2]=HEAP32[88+12>>2]|0;HEAP32[$doors$byval_copy3+16>>2]=HEAP32[88+16>>2]|0; - ;HEAP32[$font$byval_copy14>>2]=HEAP32[(1156)>>2]|0;HEAP32[$font$byval_copy14+4>>2]=HEAP32[(1156)+4>>2]|0;HEAP32[$font$byval_copy14+8>>2]=HEAP32[(1156)+8>>2]|0;HEAP32[$font$byval_copy14+12>>2]=HEAP32[(1156)+12>>2]|0; - ;HEAP32[$$byval_copy20>>2]=HEAP32[1136>>2]|0;HEAP32[$$byval_copy20+4>>2]=HEAP32[1136+4>>2]|0; + ;HEAP32[$doors$byval_copy3>>2]=HEAP32[26792>>2]|0;HEAP32[$doors$byval_copy3+4>>2]=HEAP32[26792+4>>2]|0;HEAP32[$doors$byval_copy3+8>>2]=HEAP32[26792+8>>2]|0;HEAP32[$doors$byval_copy3+12>>2]=HEAP32[26792+12>>2]|0;HEAP32[$doors$byval_copy3+16>>2]=HEAP32[26792+16>>2]|0; + ;HEAP32[$font$byval_copy14>>2]=HEAP32[(27088)>>2]|0;HEAP32[$font$byval_copy14+4>>2]=HEAP32[(27088)+4>>2]|0;HEAP32[$font$byval_copy14+8>>2]=HEAP32[(27088)+8>>2]|0;HEAP32[$font$byval_copy14+12>>2]=HEAP32[(27088)+12>>2]|0; + ;HEAP32[$$byval_copy20>>2]=HEAP32[27068>>2]|0;HEAP32[$$byval_copy20+4>>2]=HEAP32[27068+4>>2]|0; ;HEAP8[$$byval_copy24>>0]=HEAP8[$2>>0]|0;HEAP8[$$byval_copy24+1>>0]=HEAP8[$2+1>>0]|0;HEAP8[$$byval_copy24+2>>0]=HEAP8[$2+2>>0]|0;HEAP8[$$byval_copy24+3>>0]=HEAP8[$2+3>>0]|0; _DrawTextureRec($doors$byval_copy3,$font$byval_copy14,$$byval_copy20,$$byval_copy24); } else { @@ -13669,13 +13189,13 @@ function _DrawAtticScreen() { HEAP8[$24>>0] = 48; $25 = ((($1)) + 3|0); HEAP8[$25>>0] = -1; - ;HEAP32[$doors$byval_copy3>>2]=HEAP32[88>>2]|0;HEAP32[$doors$byval_copy3+4>>2]=HEAP32[88+4>>2]|0;HEAP32[$doors$byval_copy3+8>>2]=HEAP32[88+8>>2]|0;HEAP32[$doors$byval_copy3+12>>2]=HEAP32[88+12>>2]|0;HEAP32[$doors$byval_copy3+16>>2]=HEAP32[88+16>>2]|0; - ;HEAP32[$font$byval_copy14>>2]=HEAP32[(1156)>>2]|0;HEAP32[$font$byval_copy14+4>>2]=HEAP32[(1156)+4>>2]|0;HEAP32[$font$byval_copy14+8>>2]=HEAP32[(1156)+8>>2]|0;HEAP32[$font$byval_copy14+12>>2]=HEAP32[(1156)+12>>2]|0; - ;HEAP32[$$byval_copy20>>2]=HEAP32[1136>>2]|0;HEAP32[$$byval_copy20+4>>2]=HEAP32[1136+4>>2]|0; + ;HEAP32[$doors$byval_copy3>>2]=HEAP32[26792>>2]|0;HEAP32[$doors$byval_copy3+4>>2]=HEAP32[26792+4>>2]|0;HEAP32[$doors$byval_copy3+8>>2]=HEAP32[26792+8>>2]|0;HEAP32[$doors$byval_copy3+12>>2]=HEAP32[26792+12>>2]|0;HEAP32[$doors$byval_copy3+16>>2]=HEAP32[26792+16>>2]|0; + ;HEAP32[$font$byval_copy14>>2]=HEAP32[(27088)>>2]|0;HEAP32[$font$byval_copy14+4>>2]=HEAP32[(27088)+4>>2]|0;HEAP32[$font$byval_copy14+8>>2]=HEAP32[(27088)+8>>2]|0;HEAP32[$font$byval_copy14+12>>2]=HEAP32[(27088)+12>>2]|0; + ;HEAP32[$$byval_copy20>>2]=HEAP32[27068>>2]|0;HEAP32[$$byval_copy20+4>>2]=HEAP32[27068+4>>2]|0; ;HEAP8[$$byval_copy24>>0]=HEAP8[$1>>0]|0;HEAP8[$$byval_copy24+1>>0]=HEAP8[$1+1>>0]|0;HEAP8[$$byval_copy24+2>>0]=HEAP8[$1+2>>0]|0;HEAP8[$$byval_copy24+3>>0]=HEAP8[$1+3>>0]|0; _DrawTextureRec($doors$byval_copy3,$font$byval_copy14,$$byval_copy20,$$byval_copy24); } - $26 = HEAP32[776>>2]|0; + $26 = HEAP32[6757]|0; $27 = ($26|0)<(2); if ($27) { $28 = (_GetScreenWidth()|0); @@ -13707,371 +13227,372 @@ function _DrawAtticScreen() { _DrawRectangle(0,80,$33,100,$$byval_copy24); } } - $37 = HEAP32[776>>2]|0; - if ((($37|0) == 0)) { + $37 = HEAP32[6757]|0; + switch ($37|0) { + case 0: { HEAPF32[$7>>2] = 100.0; $38 = ((($7)) + 4|0); HEAPF32[$38>>2] = 80.0; - $39 = HEAP32[(68)>>2]|0; + $39 = HEAP32[(26780)>>2]|0; + $40 = (+($39|0)); HEAP32[$8>>2] = -1; - dest=$font$byval_copy14; src=48; stop=dest+36|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + ;HEAP32[$font$byval_copy14>>2]=HEAP32[26760>>2]|0;HEAP32[$font$byval_copy14+4>>2]=HEAP32[26760+4>>2]|0;HEAP32[$font$byval_copy14+8>>2]=HEAP32[26760+8>>2]|0;HEAP32[$font$byval_copy14+12>>2]=HEAP32[26760+12>>2]|0;HEAP32[$font$byval_copy14+16>>2]=HEAP32[26760+16>>2]|0;HEAP32[$font$byval_copy14+20>>2]=HEAP32[26760+20>>2]|0;HEAP32[$font$byval_copy14+24>>2]=HEAP32[26760+24>>2]|0;HEAP32[$font$byval_copy14+28>>2]=HEAP32[26760+28>>2]|0; ;HEAP32[$$byval_copy20>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy20+4>>2]=HEAP32[$7+4>>2]|0; ;HEAP8[$$byval_copy24>>0]=HEAP8[$8>>0]|0;HEAP8[$$byval_copy24+1>>0]=HEAP8[$8+1>>0]|0;HEAP8[$$byval_copy24+2>>0]=HEAP8[$8+2>>0]|0;HEAP8[$$byval_copy24+3>>0]=HEAP8[$8+3>>0]|0; - _DrawTextEx($font$byval_copy14,800,$$byval_copy20,$39,2,$$byval_copy24); + _DrawTextEx($font$byval_copy14,33784,$$byval_copy20,$40,2,$$byval_copy24); _DrawPlayer(); STACKTOP = sp;return; - } else if ((($37|0) == 1)) { + break; + } + case 1: { HEAPF32[$9>>2] = 100.0; - $40 = ((($9)) + 4|0); - HEAPF32[$40>>2] = 80.0; - $41 = HEAP32[(68)>>2]|0; + $41 = ((($9)) + 4|0); + HEAPF32[$41>>2] = 80.0; + $42 = HEAP32[(26780)>>2]|0; + $43 = (+($42|0)); HEAP32[$10>>2] = -1; - dest=$font$byval_copy14; src=48; stop=dest+36|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + ;HEAP32[$font$byval_copy14>>2]=HEAP32[26760>>2]|0;HEAP32[$font$byval_copy14+4>>2]=HEAP32[26760+4>>2]|0;HEAP32[$font$byval_copy14+8>>2]=HEAP32[26760+8>>2]|0;HEAP32[$font$byval_copy14+12>>2]=HEAP32[26760+12>>2]|0;HEAP32[$font$byval_copy14+16>>2]=HEAP32[26760+16>>2]|0;HEAP32[$font$byval_copy14+20>>2]=HEAP32[26760+20>>2]|0;HEAP32[$font$byval_copy14+24>>2]=HEAP32[26760+24>>2]|0;HEAP32[$font$byval_copy14+28>>2]=HEAP32[26760+28>>2]|0; ;HEAP32[$$byval_copy20>>2]=HEAP32[$9>>2]|0;HEAP32[$$byval_copy20+4>>2]=HEAP32[$9+4>>2]|0; ;HEAP8[$$byval_copy24>>0]=HEAP8[$10>>0]|0;HEAP8[$$byval_copy24+1>>0]=HEAP8[$10+1>>0]|0;HEAP8[$$byval_copy24+2>>0]=HEAP8[$10+2>>0]|0;HEAP8[$$byval_copy24+3>>0]=HEAP8[$10+3>>0]|0; - _DrawTextEx($font$byval_copy14,1392,$$byval_copy20,$41,2,$$byval_copy24); - $42 = HEAP32[784>>2]|0; - $43 = (($42|0) / 30)&-1; - $44 = $43 & 1; - $45 = ($44|0)==(0); - if ($45) { + _DrawTextEx($font$byval_copy14,5940,$$byval_copy20,$43,2,$$byval_copy24); + $44 = HEAP32[6758]|0; + $45 = (($44|0) / 30)&-1; + $46 = $45 & 1; + $47 = ($46|0)==(0); + if ($47) { _DrawPlayer(); STACKTOP = sp;return; } - $46 = (_GetScreenWidth()|0); - $47 = (($46) + -280)|0; + $48 = (_GetScreenWidth()|0); + $49 = (($48) + -280)|0; HEAP8[$11>>0] = 0; - $48 = ((($11)) + 1|0); - HEAP8[$48>>0] = 0; - $49 = ((($11)) + 2|0); - HEAP8[$49>>0] = 0; - $50 = ((($11)) + 3|0); - HEAP8[$50>>0] = -1; + $50 = ((($11)) + 1|0); + HEAP8[$50>>0] = 0; + $51 = ((($11)) + 2|0); + HEAP8[$51>>0] = 0; + $52 = ((($11)) + 3|0); + HEAP8[$52>>0] = -1; ;HEAP8[$$byval_copy24>>0]=HEAP8[$11>>0]|0;HEAP8[$$byval_copy24+1>>0]=HEAP8[$11+1>>0]|0;HEAP8[$$byval_copy24+2>>0]=HEAP8[$11+2>>0]|0;HEAP8[$$byval_copy24+3>>0]=HEAP8[$11+3>>0]|0; - _DrawText(8608,$47,200,20,$$byval_copy24); + _DrawText(8619,$49,200,20,$$byval_copy24); _DrawPlayer(); STACKTOP = sp;return; - } else if ((($37|0) == 2)) { - $51 = HEAP32[784>>2]|0; - $52 = (($51|0) / 30)&-1; - $53 = $52 & 1; - $54 = ($53|0)==(0); - if ($54) { + break; + } + case 2: { + $53 = HEAP32[6758]|0; + $54 = (($53|0) / 30)&-1; + $55 = $54 & 1; + $56 = ($55|0)==(0); + if ($56) { _DrawPlayer(); STACKTOP = sp;return; } HEAPF32[$12>>2] = 300.0; - $55 = ((($12)) + 4|0); - HEAPF32[$55>>2] = 95.0; - $56 = HEAP32[(68)>>2]|0; - $57 = $56 << 1; + $57 = ((($12)) + 4|0); + HEAPF32[$57>>2] = 95.0; + $58 = HEAP32[(26780)>>2]|0; + $59 = $58 << 1; + $60 = (+($59|0)); HEAP32[$13>>2] = -1; - dest=$font$byval_copy14; src=48; stop=dest+36|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + ;HEAP32[$font$byval_copy14>>2]=HEAP32[26760>>2]|0;HEAP32[$font$byval_copy14+4>>2]=HEAP32[26760+4>>2]|0;HEAP32[$font$byval_copy14+8>>2]=HEAP32[26760+8>>2]|0;HEAP32[$font$byval_copy14+12>>2]=HEAP32[26760+12>>2]|0;HEAP32[$font$byval_copy14+16>>2]=HEAP32[26760+16>>2]|0;HEAP32[$font$byval_copy14+20>>2]=HEAP32[26760+20>>2]|0;HEAP32[$font$byval_copy14+24>>2]=HEAP32[26760+24>>2]|0;HEAP32[$font$byval_copy14+28>>2]=HEAP32[26760+28>>2]|0; ;HEAP32[$$byval_copy20>>2]=HEAP32[$12>>2]|0;HEAP32[$$byval_copy20+4>>2]=HEAP32[$12+4>>2]|0; ;HEAP8[$$byval_copy24>>0]=HEAP8[$13>>0]|0;HEAP8[$$byval_copy24+1>>0]=HEAP8[$13+1>>0]|0;HEAP8[$$byval_copy24+2>>0]=HEAP8[$13+2>>0]|0;HEAP8[$$byval_copy24+3>>0]=HEAP8[$13+3>>0]|0; - _DrawTextEx($font$byval_copy14,8488,$$byval_copy20,$57,2,$$byval_copy24); + _DrawTextEx($font$byval_copy14,8538,$$byval_copy20,$60,2,$$byval_copy24); HEAP8[$15>>0] = -26; - $58 = ((($15)) + 1|0); - HEAP8[$58>>0] = 41; - $59 = ((($15)) + 2|0); - HEAP8[$59>>0] = 55; - $60 = ((($15)) + 3|0); - HEAP8[$60>>0] = -1; + $61 = ((($15)) + 1|0); + HEAP8[$61>>0] = 41; + $62 = ((($15)) + 2|0); + HEAP8[$62>>0] = 55; + $63 = ((($15)) + 3|0); + HEAP8[$63>>0] = -1; ;HEAP8[$$byval_copy24>>0]=HEAP8[$15>>0]|0;HEAP8[$$byval_copy24+1>>0]=HEAP8[$15+1>>0]|0;HEAP8[$$byval_copy24+2>>0]=HEAP8[$15+2>>0]|0;HEAP8[$$byval_copy24+3>>0]=HEAP8[$15+3>>0]|0; _Fade($14,$$byval_copy24,0.60000002384185791); - ;HEAP32[$$byval_copy20>>2]=HEAP32[(1220)>>2]|0;HEAP32[$$byval_copy20+4>>2]=HEAP32[(1220)+4>>2]|0;HEAP32[$$byval_copy20+8>>2]=HEAP32[(1220)+8>>2]|0;HEAP32[$$byval_copy20+12>>2]=HEAP32[(1220)+12>>2]|0; + ;HEAP32[$$byval_copy20>>2]=HEAP32[(27148)>>2]|0;HEAP32[$$byval_copy20+4>>2]=HEAP32[(27148)+4>>2]|0;HEAP32[$$byval_copy20+8>>2]=HEAP32[(27148)+8>>2]|0;HEAP32[$$byval_copy20+12>>2]=HEAP32[(27148)+12>>2]|0; ;HEAP8[$$byval_copy24>>0]=HEAP8[$14>>0]|0;HEAP8[$$byval_copy24+1>>0]=HEAP8[$14+1>>0]|0;HEAP8[$$byval_copy24+2>>0]=HEAP8[$14+2>>0]|0;HEAP8[$$byval_copy24+3>>0]=HEAP8[$14+3>>0]|0; _DrawRectangleRec($$byval_copy20,$$byval_copy24); HEAP8[$17>>0] = -26; - $61 = ((($17)) + 1|0); - HEAP8[$61>>0] = 41; - $62 = ((($17)) + 2|0); - HEAP8[$62>>0] = 55; - $63 = ((($17)) + 3|0); - HEAP8[$63>>0] = -1; + $64 = ((($17)) + 1|0); + HEAP8[$64>>0] = 41; + $65 = ((($17)) + 2|0); + HEAP8[$65>>0] = 55; + $66 = ((($17)) + 3|0); + HEAP8[$66>>0] = -1; ;HEAP8[$$byval_copy24>>0]=HEAP8[$17>>0]|0;HEAP8[$$byval_copy24+1>>0]=HEAP8[$17+1>>0]|0;HEAP8[$$byval_copy24+2>>0]=HEAP8[$17+2>>0]|0;HEAP8[$$byval_copy24+3>>0]=HEAP8[$17+3>>0]|0; _Fade($16,$$byval_copy24,0.60000002384185791); - ;HEAP32[$$byval_copy20>>2]=HEAP32[(1316)>>2]|0;HEAP32[$$byval_copy20+4>>2]=HEAP32[(1316)+4>>2]|0;HEAP32[$$byval_copy20+8>>2]=HEAP32[(1316)+8>>2]|0;HEAP32[$$byval_copy20+12>>2]=HEAP32[(1316)+12>>2]|0; + ;HEAP32[$$byval_copy20>>2]=HEAP32[(27240)>>2]|0;HEAP32[$$byval_copy20+4>>2]=HEAP32[(27240)+4>>2]|0;HEAP32[$$byval_copy20+8>>2]=HEAP32[(27240)+8>>2]|0;HEAP32[$$byval_copy20+12>>2]=HEAP32[(27240)+12>>2]|0; ;HEAP8[$$byval_copy24>>0]=HEAP8[$16>>0]|0;HEAP8[$$byval_copy24+1>>0]=HEAP8[$16+1>>0]|0;HEAP8[$$byval_copy24+2>>0]=HEAP8[$16+2>>0]|0;HEAP8[$$byval_copy24+3>>0]=HEAP8[$16+3>>0]|0; _DrawRectangleRec($$byval_copy20,$$byval_copy24); _DrawPlayer(); STACKTOP = sp;return; - } else { - $64 = HEAP32[760>>2]|0; - $65 = ($64|0)==(0); - if ($65) { + break; + } + default: { + $67 = HEAP32[6755]|0; + $68 = ($67|0)==(0); + if ($68) { _DrawPlayer(); STACKTOP = sp;return; } - $66 = HEAP32[784>>2]|0; - $67 = (($66|0) / 30)&-1; - $68 = $67 & 1; - $69 = ($68|0)==(0); - if ($69) { + $69 = HEAP32[6758]|0; + $70 = (($69|0) / 30)&-1; + $71 = $70 & 1; + $72 = ($71|0)==(0); + if ($72) { _DrawPlayer(); STACKTOP = sp;return; } - $70 = (_GetScreenWidth()|0); + $73 = (_GetScreenWidth()|0); HEAP8[$19>>0] = -56; - $71 = ((($19)) + 1|0); - HEAP8[$71>>0] = -56; - $72 = ((($19)) + 2|0); - HEAP8[$72>>0] = -56; - $73 = ((($19)) + 3|0); - HEAP8[$73>>0] = -1; + $74 = ((($19)) + 1|0); + HEAP8[$74>>0] = -56; + $75 = ((($19)) + 2|0); + HEAP8[$75>>0] = -56; + $76 = ((($19)) + 3|0); + HEAP8[$76>>0] = -1; ;HEAP8[$$byval_copy24>>0]=HEAP8[$19>>0]|0;HEAP8[$$byval_copy24+1>>0]=HEAP8[$19+1>>0]|0;HEAP8[$$byval_copy24+2>>0]=HEAP8[$19+2>>0]|0;HEAP8[$$byval_copy24+3>>0]=HEAP8[$19+3>>0]|0; _Fade($18,$$byval_copy24,0.5); ;HEAP8[$$byval_copy24>>0]=HEAP8[$18>>0]|0;HEAP8[$$byval_copy24+1>>0]=HEAP8[$18+1>>0]|0;HEAP8[$$byval_copy24+2>>0]=HEAP8[$18+2>>0]|0;HEAP8[$$byval_copy24+3>>0]=HEAP8[$18+3>>0]|0; - _DrawRectangle(0,0,$70,50,$$byval_copy24); + _DrawRectangle(0,0,$73,50,$$byval_copy24); HEAP8[$20>>0] = 0; - $74 = ((($20)) + 1|0); - HEAP8[$74>>0] = 0; - $75 = ((($20)) + 2|0); - HEAP8[$75>>0] = 0; - $76 = ((($20)) + 3|0); - HEAP8[$76>>0] = -1; + $77 = ((($20)) + 1|0); + HEAP8[$77>>0] = 0; + $78 = ((($20)) + 2|0); + HEAP8[$78>>0] = 0; + $79 = ((($20)) + 3|0); + HEAP8[$79>>0] = -1; ;HEAP8[$$byval_copy24>>0]=HEAP8[$20>>0]|0;HEAP8[$$byval_copy24+1>>0]=HEAP8[$20+1>>0]|0;HEAP8[$$byval_copy24+2>>0]=HEAP8[$20+2>>0]|0;HEAP8[$$byval_copy24+3>>0]=HEAP8[$20+3>>0]|0; - _DrawText(8504,420,15,20,$$byval_copy24); + _DrawText(8553,420,15,20,$$byval_copy24); _DrawPlayer(); STACKTOP = sp;return; } + } } function _UnloadAtticScreen() { var $arc$byval_copy = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 96|0; + STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0); $arc$byval_copy = sp; - ;HEAP32[$arc$byval_copy>>2]=HEAP32[1112>>2]|0;HEAP32[$arc$byval_copy+4>>2]=HEAP32[1112+4>>2]|0;HEAP32[$arc$byval_copy+8>>2]=HEAP32[1112+8>>2]|0;HEAP32[$arc$byval_copy+12>>2]=HEAP32[1112+12>>2]|0;HEAP32[$arc$byval_copy+16>>2]=HEAP32[1112+16>>2]|0; + ;HEAP32[$arc$byval_copy>>2]=HEAP32[27048>>2]|0;HEAP32[$arc$byval_copy+4>>2]=HEAP32[27048+4>>2]|0;HEAP32[$arc$byval_copy+8>>2]=HEAP32[27048+8>>2]|0;HEAP32[$arc$byval_copy+12>>2]=HEAP32[27048+12>>2]|0;HEAP32[$arc$byval_copy+16>>2]=HEAP32[27048+16>>2]|0; _UnloadTexture($arc$byval_copy); - dest=$arc$byval_copy; src=1192; stop=dest+92|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$arc$byval_copy; src=27120; stop=dest+92|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _UnloadMonster($arc$byval_copy); - dest=$arc$byval_copy; src=1288; stop=dest+92|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$arc$byval_copy; src=27212; stop=dest+92|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _UnloadMonster($arc$byval_copy); STACKTOP = sp;return; } function _FinishAtticScreen() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[1064>>2]|0; + $0 = HEAP32[6761]|0; return ($0|0); } function _InitAisle01Screen() { - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0.0; - var $27 = 0, $28 = 0.0, $29 = 0, $3 = 0.0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0.0, $40 = 0.0, $41 = 0, $42 = 0.0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0.0, $49 = 0.0, $5 = 0, $50 = 0, $51 = 0.0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0.0, $58 = 0.0, $59 = 0, $6 = 0, $60 = 0.0, $61 = 0, $62 = 0; - var $63 = 0, $64 = 0, $65 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + var $0 = 0, $1 = 0, $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0.0, $23 = 0, $24 = 0.0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0.0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0.0, $36 = 0, $37 = 0.0, $38 = 0, $39 = 0, $4 = 0.0, $40 = 0, $41 = 0, $42 = 0, $43 = 0.0, $44 = 0.0; + var $45 = 0, $46 = 0.0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0.0, $53 = 0.0, $54 = 0, $55 = 0.0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $7 = 0, $8 = 0; + var $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); $0 = sp + 40|0; - $1 = sp; - $2 = sp + 20|0; + $1 = sp + 20|0; + $2 = sp; _ResetPlayer(); - HEAP32[1648>>2] = 0; - HEAP32[1656>>2] = -1; - HEAP32[1664>>2] = 0; - HEAP32[1672>>2] = 0; - HEAP32[1680>>2] = 0; - _memset((1688|0),0,256)|0; - HEAP32[1944>>2] = 0; - HEAP32[1952>>2] = 0; - _LoadTexture($0,1960); - ;HEAP32[2008>>2]=HEAP32[$0>>2]|0;HEAP32[2008+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[2008+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[2008+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[2008+16>>2]=HEAP32[$0+16>>2]|0; - $3 = +HEAPF32[136>>2]; + HEAP32[6827] = 0; + HEAP32[9] = -1; + HEAP32[6828] = 0; + HEAP32[6829] = 0; + HEAP32[6830] = 0; + _memset((34040|0),0,256)|0; + HEAP32[6831] = 0; + HEAP32[6832] = 0; + _LoadTexture($0,6196); + ;HEAP32[27332>>2]=HEAP32[$0>>2]|0;HEAP32[27332+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[27332+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[27332+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[27332+16>>2]=HEAP32[$0+16>>2]|0; + $3 = +HEAPF32[6710]; $4 = $3 + -200.0; $5 = (~~(($4))); - HEAP32[2032>>2] = $5; - HEAPF32[2040>>2] = -30.0; - HEAPF32[(2044)>>2] = 135.0; - HEAP32[(2048)>>2] = 0; - HEAP32[(2052)>>2] = 1; - $6 = HEAP32[(92)>>2]|0; + HEAP32[6838] = $5; + HEAPF32[6839] = -30.0; + HEAPF32[(27360)>>2] = 135.0; + HEAP32[(27364)>>2] = 0; + HEAP32[(27368)>>2] = 1; + $6 = HEAP32[(26796)>>2]|0; $7 = (($6|0) / 3)&-1; - $8 = HEAP32[(2048)>>2]|0; - $9 = Math_imul($8, $7)|0; - $10 = HEAP32[(96)>>2]|0; - $11 = (($10|0) / 2)&-1; - HEAP32[(2060)>>2] = $9; - HEAP32[(2064)>>2] = $11; - HEAP32[(2068)>>2] = $7; - HEAP32[(2072)>>2] = $11; - $12 = +HEAPF32[2040>>2]; + $8 = HEAP32[(26800)>>2]|0; + $9 = (($8|0) / 2)&-1; + HEAP32[(27376)>>2] = 0; + HEAP32[(27380)>>2] = $9; + HEAP32[(27384)>>2] = $7; + HEAP32[(27388)>>2] = $9; + $10 = +HEAPF32[6839]; + $11 = (~~(($10))); + $12 = +HEAPF32[(27360)>>2]; $13 = (~~(($12))); - $14 = +HEAPF32[(2044)>>2]; - $15 = (~~(($14))); - $16 = HEAP32[(92)>>2]|0; - $17 = (($16|0) / 3)&-1; - $18 = HEAP32[(96)>>2]|0; - $19 = (($18|0) / 2)&-1; - HEAP32[(2076)>>2] = $13; - HEAP32[(2080)>>2] = $15; - HEAP32[(2084)>>2] = $17; - HEAP32[(2088)>>2] = $19; - HEAP32[(2056)>>2] = 0; - HEAPF32[2096>>2] = 1115.0; - HEAPF32[(2100)>>2] = 104.0; - HEAP32[(2104)>>2] = 1; - HEAP32[(2108)>>2] = 1; - $20 = HEAP32[(92)>>2]|0; - $21 = (($20|0) / 3)&-1; - $22 = HEAP32[(2104)>>2]|0; - $23 = Math_imul($22, $21)|0; - $24 = HEAP32[(96)>>2]|0; - $25 = (($24|0) / 2)&-1; - HEAP32[(2116)>>2] = $23; - HEAP32[(2120)>>2] = $25; - HEAP32[(2124)>>2] = $21; - HEAP32[(2128)>>2] = $25; - $26 = +HEAPF32[2096>>2]; - $27 = (~~(($26))); - $28 = +HEAPF32[(2100)>>2]; - $29 = (~~(($28))); - $30 = HEAP32[(92)>>2]|0; + $14 = HEAP32[(26796)>>2]|0; + $15 = (($14|0) / 3)&-1; + $16 = HEAP32[(26800)>>2]|0; + $17 = (($16|0) / 2)&-1; + HEAP32[(27392)>>2] = $11; + HEAP32[(27396)>>2] = $13; + HEAP32[(27400)>>2] = $15; + HEAP32[(27404)>>2] = $17; + HEAP32[(27372)>>2] = 0; + HEAPF32[6852] = 1115.0; + HEAPF32[(27412)>>2] = 104.0; + HEAP32[(27416)>>2] = 1; + HEAP32[(27420)>>2] = 1; + $18 = HEAP32[(26796)>>2]|0; + $19 = (($18|0) / 3)&-1; + $20 = HEAP32[(26800)>>2]|0; + $21 = (($20|0) / 2)&-1; + HEAP32[(27428)>>2] = $19; + HEAP32[(27432)>>2] = $21; + HEAP32[(27436)>>2] = $19; + HEAP32[(27440)>>2] = $21; + $22 = +HEAPF32[6852]; + $23 = (~~(($22))); + $24 = +HEAPF32[(27412)>>2]; + $25 = (~~(($24))); + $26 = HEAP32[(26796)>>2]|0; + $27 = (($26|0) / 3)&-1; + $28 = HEAP32[(26800)>>2]|0; + $29 = (($28|0) / 2)&-1; + HEAP32[(27444)>>2] = $23; + HEAP32[(27448)>>2] = $25; + HEAP32[(27452)>>2] = $27; + HEAP32[(27456)>>2] = $29; + HEAP32[(27424)>>2] = 0; + HEAPF32[6865] = 1710.0; + HEAPF32[(27464)>>2] = 140.0; + HEAP32[(27468)>>2] = 2; + HEAP32[(27472)>>2] = 1; + $30 = HEAP32[(26796)>>2]|0; $31 = (($30|0) / 3)&-1; - $32 = HEAP32[(96)>>2]|0; - $33 = (($32|0) / 2)&-1; - HEAP32[(2132)>>2] = $27; - HEAP32[(2136)>>2] = $29; - HEAP32[(2140)>>2] = $31; - HEAP32[(2144)>>2] = $33; - HEAP32[(2112)>>2] = 0; - HEAPF32[2152>>2] = 1710.0; - HEAPF32[(2156)>>2] = 140.0; - HEAP32[(2160)>>2] = 2; - HEAP32[(2164)>>2] = 1; - $34 = HEAP32[(92)>>2]|0; - $35 = (($34|0) / 3)&-1; - $36 = HEAP32[(2160)>>2]|0; - $37 = Math_imul($36, $35)|0; - $38 = HEAP32[(96)>>2]|0; - $39 = (($38|0) / 2)&-1; - HEAP32[(2172)>>2] = $37; - HEAP32[(2176)>>2] = $39; - HEAP32[(2180)>>2] = $35; - HEAP32[(2184)>>2] = $39; - $40 = +HEAPF32[2152>>2]; - $41 = (~~(($40))); - $42 = +HEAPF32[(2156)>>2]; - $43 = (~~(($42))); - $44 = HEAP32[(92)>>2]|0; - $45 = (($44|0) / 3)&-1; - $46 = HEAP32[(96)>>2]|0; - $47 = (($46|0) / 2)&-1; - HEAP32[(2188)>>2] = $41; - HEAP32[(2192)>>2] = $43; - HEAP32[(2196)>>2] = $45; - HEAP32[(2200)>>2] = $47; - HEAPF32[2208>>2] = 187.0; - HEAPF32[(2212)>>2] = 256.0; - _LoadTexture($1,7896); - ;HEAP32[(2216)>>2]=HEAP32[$1>>2]|0;HEAP32[(2216)+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[(2216)+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[(2216)+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[(2216)+16>>2]=HEAP32[$1+16>>2]|0; - HEAP32[(2276)>>2] = 0; - HEAP32[(2272)>>2] = 0; - HEAP32[(2284)>>2] = 4; - $48 = +HEAPF32[2208>>2]; - $49 = $48 + 20.0; - $50 = (~~(($49))); - $51 = +HEAPF32[(2212)>>2]; - $52 = (~~(($51))); - HEAP32[(2236)>>2] = $50; - HEAP32[(2240)>>2] = $52; - HEAP32[(2244)>>2] = 90; - HEAP32[(2248)>>2] = 380; - $53 = HEAP32[(2220)>>2]|0; - $54 = HEAP32[(2284)>>2]|0; - $55 = (($53|0) / ($54|0))&-1; - $56 = HEAP32[(2224)>>2]|0; - HEAP32[(2252)>>2] = 0; - HEAP32[(2256)>>2] = 0; - HEAP32[(2260)>>2] = $55; - HEAP32[(2264)>>2] = $56; - HEAP32[(2292)>>2] = 0; - HEAP32[(2288)>>2] = 0; - HEAP32[(2296)>>2] = 1; - HEAPF32[2304>>2] = 637.0; - HEAPF32[(2308)>>2] = 178.0; - _LoadTexture($2,5744); - ;HEAP32[(2312)>>2]=HEAP32[$2>>2]|0;HEAP32[(2312)+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[(2312)+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[(2312)+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[(2312)+16>>2]=HEAP32[$2+16>>2]|0; - HEAP32[(2372)>>2] = 0; - HEAP32[(2368)>>2] = 0; - HEAP32[(2380)>>2] = 4; - $57 = +HEAPF32[2304>>2]; - $58 = $57 + 44.0; - $59 = (~~(($58))); - $60 = +HEAPF32[(2308)>>2]; - $61 = (~~(($60))); - HEAP32[(2332)>>2] = $59; - HEAP32[(2336)>>2] = $61; - HEAP32[(2340)>>2] = 174; - HEAP32[(2344)>>2] = 256; - $62 = HEAP32[(2316)>>2]|0; - $63 = HEAP32[(2380)>>2]|0; - $64 = (($62|0) / ($63|0))&-1; - $65 = HEAP32[(2320)>>2]|0; - HEAP32[(2348)>>2] = 0; - HEAP32[(2352)>>2] = 0; - HEAP32[(2356)>>2] = $64; - HEAP32[(2360)>>2] = $65; - HEAP32[(2388)>>2] = 0; - HEAP32[(2384)>>2] = 0; - HEAP32[(2392)>>2] = 0; + $32 = $31 << 1; + $33 = HEAP32[(26800)>>2]|0; + $34 = (($33|0) / 2)&-1; + HEAP32[(27480)>>2] = $32; + HEAP32[(27484)>>2] = $34; + HEAP32[(27488)>>2] = $31; + HEAP32[(27492)>>2] = $34; + $35 = +HEAPF32[6865]; + $36 = (~~(($35))); + $37 = +HEAPF32[(27464)>>2]; + $38 = (~~(($37))); + $39 = HEAP32[(26796)>>2]|0; + $40 = (($39|0) / 3)&-1; + $41 = HEAP32[(26800)>>2]|0; + $42 = (($41|0) / 2)&-1; + HEAP32[(27496)>>2] = $36; + HEAP32[(27500)>>2] = $38; + HEAP32[(27504)>>2] = $40; + HEAP32[(27508)>>2] = $42; + HEAPF32[6878] = 187.0; + HEAPF32[(27516)>>2] = 256.0; + _LoadTexture($1,8160); + ;HEAP32[(27520)>>2]=HEAP32[$1>>2]|0;HEAP32[(27520)+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[(27520)+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[(27520)+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[(27520)+16>>2]=HEAP32[$1+16>>2]|0; + HEAP32[(27580)>>2] = 0; + HEAP32[(27576)>>2] = 0; + HEAP32[(27588)>>2] = 4; + $43 = +HEAPF32[6878]; + $44 = $43 + 20.0; + $45 = (~~(($44))); + $46 = +HEAPF32[(27516)>>2]; + $47 = (~~(($46))); + HEAP32[(27540)>>2] = $45; + HEAP32[(27544)>>2] = $47; + HEAP32[(27548)>>2] = 90; + HEAP32[(27552)>>2] = 380; + $48 = HEAP32[(27524)>>2]|0; + $49 = HEAP32[(27588)>>2]|0; + $50 = (($48|0) / ($49|0))&-1; + $51 = HEAP32[(27528)>>2]|0; + HEAP32[(27556)>>2] = 0; + HEAP32[(27560)>>2] = 0; + HEAP32[(27564)>>2] = $50; + HEAP32[(27568)>>2] = $51; + HEAP32[(27596)>>2] = 0; + HEAP32[(27592)>>2] = 0; + HEAP32[(27600)>>2] = 1; + HEAPF32[6901] = 637.0; + HEAPF32[(27608)>>2] = 178.0; + _LoadTexture($2,7369); + ;HEAP32[(27612)>>2]=HEAP32[$2>>2]|0;HEAP32[(27612)+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[(27612)+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[(27612)+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[(27612)+16>>2]=HEAP32[$2+16>>2]|0; + HEAP32[(27672)>>2] = 0; + HEAP32[(27668)>>2] = 0; + HEAP32[(27680)>>2] = 4; + $52 = +HEAPF32[6901]; + $53 = $52 + 44.0; + $54 = (~~(($53))); + $55 = +HEAPF32[(27608)>>2]; + $56 = (~~(($55))); + HEAP32[(27632)>>2] = $54; + HEAP32[(27636)>>2] = $56; + HEAP32[(27640)>>2] = 174; + HEAP32[(27644)>>2] = 256; + $57 = HEAP32[(27616)>>2]|0; + $58 = HEAP32[(27680)>>2]|0; + $59 = (($57|0) / ($58|0))&-1; + $60 = HEAP32[(27620)>>2]|0; + HEAP32[(27648)>>2] = 0; + HEAP32[(27652)>>2] = 0; + HEAP32[(27656)>>2] = $59; + HEAP32[(27660)>>2] = $60; + HEAP32[(27688)>>2] = 0; + HEAP32[(27684)>>2] = 0; + HEAP32[(27692)>>2] = 0; STACKTOP = sp;return; } function _UpdateAisle01Screen() { - var $$ = 0, $$16 = 0, $$byval_copy36 = 0, $$pr = 0, $$pr17 = 0, $0 = 0, $1 = 0, $10 = 0.0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0.0, $110 = 0; - var $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0; - var $13 = 0.0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0.0, $146 = 0, $147 = 0.0; - var $148 = 0, $149 = 0, $15 = 0.0, $16 = 0.0, $17 = 0, $18 = 0.0, $19 = 0, $2 = 0, $20 = 0.0, $21 = 0.0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0; - var $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0; - var $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0; - var $68 = 0, $69 = 0.0, $7 = 0, $70 = 0.0, $71 = 0, $72 = 0.0, $73 = 0.0, $74 = 0, $75 = 0.0, $76 = 0.0, $77 = 0, $78 = 0.0, $79 = 0.0, $8 = 0.0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0; - var $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $i$019 = 0, $or$cond = 0, $or$cond3 = 0, $or$cond5 = 0, $or$cond7 = 0; - var $or$cond9 = 0, $sndScream$byval_copy38 = 0, $storemerge = 0, label = 0, sp = 0; + var $$ = 0, $$023 = 0, $$byval_copy36 = 0, $$pr = 0, $$pr21 = 0, $$sink11 = 0, $$sink12 = 0, $$sink6 = 0, $0 = 0, $1 = 0, $10 = 0.0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0; + var $109 = 0, $11 = 0.0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0; + var $127 = 0, $128 = 0, $129 = 0, $13 = 0.0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0.0, $139 = 0, $14 = 0.0, $140 = 0.0, $141 = 0, $142 = 0, $15 = 0, $16 = 0.0; + var $17 = 0.0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0; + var $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0; + var $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0.0, $66 = 0.0, $67 = 0, $68 = 0.0, $69 = 0.0, $7 = 0, $70 = 0; + var $71 = 0.0, $72 = 0.0, $73 = 0.0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0.0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0; + var $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, $or$cond10 = 0, $or$cond14 = 0, $or$cond5 = 0, $or$cond8 = 0, $sndScream$byval_copy38 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 96|0; + STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0); $sndScream$byval_copy38 = sp + 80|0; - $$byval_copy36 = sp + 64|0; - $0 = sp + 56|0; - $1 = sp + 48|0; + $$byval_copy36 = sp + 48|0; + $0 = sp + 72|0; + $1 = sp + 64|0; $2 = sp + 40|0; $3 = sp + 32|0; - $4 = sp + 16|0; - $5 = sp + 8|0; - $6 = sp; - $7 = sp + 24|0; - $8 = +HEAPF32[2040>>2]; - $9 = HEAP32[2032>>2]|0; + $4 = sp + 24|0; + $5 = sp + 16|0; + $6 = sp + 8|0; + $7 = sp; + $8 = +HEAPF32[6839]; + $9 = HEAP32[6838]|0; $10 = (+($9|0)); $11 = $8 - $10; $12 = (~~(($11))); - HEAP32[(2076)>>2] = $12; - $13 = +HEAPF32[2096>>2]; - $14 = HEAP32[2032>>2]|0; - $15 = (+($14|0)); - $16 = $13 - $15; - $17 = (~~(($16))); - HEAP32[(2132)>>2] = $17; - $18 = +HEAPF32[2152>>2]; - $19 = HEAP32[2032>>2]|0; - $20 = (+($19|0)); - $21 = $18 - $20; - $22 = (~~(($21))); - HEAP32[(2188)>>2] = $22; - $23 = HEAP32[(208)>>2]|0; - $24 = ($23|0)==(0); + HEAP32[(27392)>>2] = $12; + $13 = +HEAPF32[6852]; + $14 = $13 - $10; + $15 = (~~(($14))); + HEAP32[(27444)>>2] = $15; + $16 = +HEAPF32[6865]; + $17 = $16 - $10; + $18 = (~~(($17))); + HEAP32[(27496)>>2] = $18; + $19 = HEAP32[(26912)>>2]|0; + $20 = ($19|0)==(0); do { - if (!($24)) { + if (!($20)) { _GetMousePosition($0); ;HEAP32[$$byval_copy36>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy36+4>>2]=HEAP32[$0+4>>2]|0; - ;HEAP32[$sndScream$byval_copy38>>2]=HEAP32[(2076)>>2]|0;HEAP32[$sndScream$byval_copy38+4>>2]=HEAP32[(2076)+4>>2]|0;HEAP32[$sndScream$byval_copy38+8>>2]=HEAP32[(2076)+8>>2]|0;HEAP32[$sndScream$byval_copy38+12>>2]=HEAP32[(2076)+12>>2]|0; - $25 = (_CheckCollisionPointRec($$byval_copy36,$sndScream$byval_copy38)|0); - $26 = ($25|0)==(0); - if ($26) { - ;HEAP32[$$byval_copy36>>2]=HEAP32[(144)>>2]|0;HEAP32[$$byval_copy36+4>>2]=HEAP32[(144)+4>>2]|0;HEAP32[$$byval_copy36+8>>2]=HEAP32[(144)+8>>2]|0;HEAP32[$$byval_copy36+12>>2]=HEAP32[(144)+12>>2]|0; - ;HEAP32[$sndScream$byval_copy38>>2]=HEAP32[(2076)>>2]|0;HEAP32[$sndScream$byval_copy38+4>>2]=HEAP32[(2076)+4>>2]|0;HEAP32[$sndScream$byval_copy38+8>>2]=HEAP32[(2076)+8>>2]|0;HEAP32[$sndScream$byval_copy38+12>>2]=HEAP32[(2076)+12>>2]|0; - $27 = (_CheckCollisionRecs($$byval_copy36,$sndScream$byval_copy38)|0); - $28 = ($27|0)==(0); - if ($28) { - HEAP32[(2056)>>2] = 0; + ;HEAP32[$sndScream$byval_copy38>>2]=HEAP32[(27392)>>2]|0;HEAP32[$sndScream$byval_copy38+4>>2]=HEAP32[(27392)+4>>2]|0;HEAP32[$sndScream$byval_copy38+8>>2]=HEAP32[(27392)+8>>2]|0;HEAP32[$sndScream$byval_copy38+12>>2]=HEAP32[(27392)+12>>2]|0; + $21 = (_CheckCollisionPointRec($$byval_copy36,$sndScream$byval_copy38)|0); + $22 = ($21|0)==(0); + if ($22) { + ;HEAP32[$$byval_copy36>>2]=HEAP32[(26848)>>2]|0;HEAP32[$$byval_copy36+4>>2]=HEAP32[(26848)+4>>2]|0;HEAP32[$$byval_copy36+8>>2]=HEAP32[(26848)+8>>2]|0;HEAP32[$$byval_copy36+12>>2]=HEAP32[(26848)+12>>2]|0; + ;HEAP32[$sndScream$byval_copy38>>2]=HEAP32[(27392)>>2]|0;HEAP32[$sndScream$byval_copy38+4>>2]=HEAP32[(27392)+4>>2]|0;HEAP32[$sndScream$byval_copy38+8>>2]=HEAP32[(27392)+8>>2]|0;HEAP32[$sndScream$byval_copy38+12>>2]=HEAP32[(27392)+12>>2]|0; + $23 = (_CheckCollisionRecs($$byval_copy36,$sndScream$byval_copy38)|0); + $24 = ($23|0)==(0); + if ($24) { + HEAP32[(27372)>>2] = 0; } else { label = 5; } @@ -14080,42 +13601,42 @@ function _UpdateAisle01Screen() { } do { if ((label|0) == 5) { - HEAP32[(2056)>>2] = 1; - ;HEAP32[$$byval_copy36>>2]=HEAP32[(144)>>2]|0;HEAP32[$$byval_copy36+4>>2]=HEAP32[(144)+4>>2]|0;HEAP32[$$byval_copy36+8>>2]=HEAP32[(144)+8>>2]|0;HEAP32[$$byval_copy36+12>>2]=HEAP32[(144)+12>>2]|0; - ;HEAP32[$sndScream$byval_copy38>>2]=HEAP32[(2076)>>2]|0;HEAP32[$sndScream$byval_copy38+4>>2]=HEAP32[(2076)+4>>2]|0;HEAP32[$sndScream$byval_copy38+8>>2]=HEAP32[(2076)+8>>2]|0;HEAP32[$sndScream$byval_copy38+12>>2]=HEAP32[(2076)+12>>2]|0; - $29 = (_CheckCollisionRecs($$byval_copy36,$sndScream$byval_copy38)|0); - $30 = ($29|0)==(0); - if (!($30)) { - $31 = (_IsMouseButtonPressed(0)|0); - $32 = ($31|0)==(0); - if ($32) { + HEAP32[(27372)>>2] = 1; + ;HEAP32[$$byval_copy36>>2]=HEAP32[(26848)>>2]|0;HEAP32[$$byval_copy36+4>>2]=HEAP32[(26848)+4>>2]|0;HEAP32[$$byval_copy36+8>>2]=HEAP32[(26848)+8>>2]|0;HEAP32[$$byval_copy36+12>>2]=HEAP32[(26848)+12>>2]|0; + ;HEAP32[$sndScream$byval_copy38>>2]=HEAP32[(27392)>>2]|0;HEAP32[$sndScream$byval_copy38+4>>2]=HEAP32[(27392)+4>>2]|0;HEAP32[$sndScream$byval_copy38+8>>2]=HEAP32[(27392)+8>>2]|0;HEAP32[$sndScream$byval_copy38+12>>2]=HEAP32[(27392)+12>>2]|0; + $25 = (_CheckCollisionRecs($$byval_copy36,$sndScream$byval_copy38)|0); + $26 = ($25|0)==(0); + if (!($26)) { + $27 = (_IsMouseButtonPressed(0)|0); + $28 = ($27|0)==(0); + if ($28) { label = 8; } else { _GetMousePosition($1); ;HEAP32[$$byval_copy36>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy36+4>>2]=HEAP32[$1+4>>2]|0; - ;HEAP32[$sndScream$byval_copy38>>2]=HEAP32[(2076)>>2]|0;HEAP32[$sndScream$byval_copy38+4>>2]=HEAP32[(2076)+4>>2]|0;HEAP32[$sndScream$byval_copy38+8>>2]=HEAP32[(2076)+8>>2]|0;HEAP32[$sndScream$byval_copy38+12>>2]=HEAP32[(2076)+12>>2]|0; - $33 = (_CheckCollisionPointRec($$byval_copy36,$sndScream$byval_copy38)|0); - $34 = ($33|0)==(0); - if ($34) { + ;HEAP32[$sndScream$byval_copy38>>2]=HEAP32[(27392)>>2]|0;HEAP32[$sndScream$byval_copy38+4>>2]=HEAP32[(27392)+4>>2]|0;HEAP32[$sndScream$byval_copy38+8>>2]=HEAP32[(27392)+8>>2]|0;HEAP32[$sndScream$byval_copy38+12>>2]=HEAP32[(27392)+12>>2]|0; + $29 = (_CheckCollisionPointRec($$byval_copy36,$sndScream$byval_copy38)|0); + $30 = ($29|0)==(0); + if ($30) { label = 8; } } if ((label|0) == 8) { - $35 = (_IsKeyPressed(32)|0); - $36 = ($35|0)==(0); - if ($36) { + $31 = (_IsKeyPressed(32)|0); + $32 = ($31|0)==(0); + if ($32) { break; } } - $37 = HEAP32[(2052)>>2]|0; - $38 = ($37|0)==(0); - if ($38) { - HEAP32[1952>>2] = 1; + $33 = HEAP32[(27368)>>2]|0; + $34 = ($33|0)==(0); + if ($34) { + HEAP32[6832] = 1; break; } else { - HEAP32[(2064)>>2] = 0; - HEAP32[(2052)>>2] = 0; - ;HEAP32[$sndScream$byval_copy38>>2]=HEAP32[112>>2]|0;HEAP32[$sndScream$byval_copy38+4>>2]=HEAP32[112+4>>2]|0; + HEAP32[(27380)>>2] = 0; + HEAP32[(27368)>>2] = 0; + ;HEAP32[$sndScream$byval_copy38>>2]=HEAP32[26812>>2]|0;HEAP32[$sndScream$byval_copy38+4>>2]=HEAP32[26812+4>>2]|0;HEAP32[$sndScream$byval_copy38+8>>2]=HEAP32[26812+8>>2]|0; _PlaySound($sndScream$byval_copy38); break; } @@ -14124,16 +13645,16 @@ function _UpdateAisle01Screen() { } while(0); _GetMousePosition($2); ;HEAP32[$$byval_copy36>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy36+4>>2]=HEAP32[$2+4>>2]|0; - ;HEAP32[$sndScream$byval_copy38>>2]=HEAP32[(2132)>>2]|0;HEAP32[$sndScream$byval_copy38+4>>2]=HEAP32[(2132)+4>>2]|0;HEAP32[$sndScream$byval_copy38+8>>2]=HEAP32[(2132)+8>>2]|0;HEAP32[$sndScream$byval_copy38+12>>2]=HEAP32[(2132)+12>>2]|0; - $39 = (_CheckCollisionPointRec($$byval_copy36,$sndScream$byval_copy38)|0); - $40 = ($39|0)==(0); - if ($40) { - ;HEAP32[$$byval_copy36>>2]=HEAP32[(144)>>2]|0;HEAP32[$$byval_copy36+4>>2]=HEAP32[(144)+4>>2]|0;HEAP32[$$byval_copy36+8>>2]=HEAP32[(144)+8>>2]|0;HEAP32[$$byval_copy36+12>>2]=HEAP32[(144)+12>>2]|0; - ;HEAP32[$sndScream$byval_copy38>>2]=HEAP32[(2132)>>2]|0;HEAP32[$sndScream$byval_copy38+4>>2]=HEAP32[(2132)+4>>2]|0;HEAP32[$sndScream$byval_copy38+8>>2]=HEAP32[(2132)+8>>2]|0;HEAP32[$sndScream$byval_copy38+12>>2]=HEAP32[(2132)+12>>2]|0; - $41 = (_CheckCollisionRecs($$byval_copy36,$sndScream$byval_copy38)|0); - $42 = ($41|0)==(0); - if ($42) { - HEAP32[(2112)>>2] = 0; + ;HEAP32[$sndScream$byval_copy38>>2]=HEAP32[(27444)>>2]|0;HEAP32[$sndScream$byval_copy38+4>>2]=HEAP32[(27444)+4>>2]|0;HEAP32[$sndScream$byval_copy38+8>>2]=HEAP32[(27444)+8>>2]|0;HEAP32[$sndScream$byval_copy38+12>>2]=HEAP32[(27444)+12>>2]|0; + $35 = (_CheckCollisionPointRec($$byval_copy36,$sndScream$byval_copy38)|0); + $36 = ($35|0)==(0); + if ($36) { + ;HEAP32[$$byval_copy36>>2]=HEAP32[(26848)>>2]|0;HEAP32[$$byval_copy36+4>>2]=HEAP32[(26848)+4>>2]|0;HEAP32[$$byval_copy36+8>>2]=HEAP32[(26848)+8>>2]|0;HEAP32[$$byval_copy36+12>>2]=HEAP32[(26848)+12>>2]|0; + ;HEAP32[$sndScream$byval_copy38>>2]=HEAP32[(27444)>>2]|0;HEAP32[$sndScream$byval_copy38+4>>2]=HEAP32[(27444)+4>>2]|0;HEAP32[$sndScream$byval_copy38+8>>2]=HEAP32[(27444)+8>>2]|0;HEAP32[$sndScream$byval_copy38+12>>2]=HEAP32[(27444)+12>>2]|0; + $37 = (_CheckCollisionRecs($$byval_copy36,$sndScream$byval_copy38)|0); + $38 = ($37|0)==(0); + if ($38) { + HEAP32[(27424)>>2] = 0; } else { label = 15; } @@ -14142,42 +13663,42 @@ function _UpdateAisle01Screen() { } do { if ((label|0) == 15) { - HEAP32[(2112)>>2] = 1; - ;HEAP32[$$byval_copy36>>2]=HEAP32[(144)>>2]|0;HEAP32[$$byval_copy36+4>>2]=HEAP32[(144)+4>>2]|0;HEAP32[$$byval_copy36+8>>2]=HEAP32[(144)+8>>2]|0;HEAP32[$$byval_copy36+12>>2]=HEAP32[(144)+12>>2]|0; - ;HEAP32[$sndScream$byval_copy38>>2]=HEAP32[(2132)>>2]|0;HEAP32[$sndScream$byval_copy38+4>>2]=HEAP32[(2132)+4>>2]|0;HEAP32[$sndScream$byval_copy38+8>>2]=HEAP32[(2132)+8>>2]|0;HEAP32[$sndScream$byval_copy38+12>>2]=HEAP32[(2132)+12>>2]|0; - $43 = (_CheckCollisionRecs($$byval_copy36,$sndScream$byval_copy38)|0); - $44 = ($43|0)==(0); - if (!($44)) { - $45 = (_IsMouseButtonPressed(0)|0); - $46 = ($45|0)==(0); - if ($46) { + HEAP32[(27424)>>2] = 1; + ;HEAP32[$$byval_copy36>>2]=HEAP32[(26848)>>2]|0;HEAP32[$$byval_copy36+4>>2]=HEAP32[(26848)+4>>2]|0;HEAP32[$$byval_copy36+8>>2]=HEAP32[(26848)+8>>2]|0;HEAP32[$$byval_copy36+12>>2]=HEAP32[(26848)+12>>2]|0; + ;HEAP32[$sndScream$byval_copy38>>2]=HEAP32[(27444)>>2]|0;HEAP32[$sndScream$byval_copy38+4>>2]=HEAP32[(27444)+4>>2]|0;HEAP32[$sndScream$byval_copy38+8>>2]=HEAP32[(27444)+8>>2]|0;HEAP32[$sndScream$byval_copy38+12>>2]=HEAP32[(27444)+12>>2]|0; + $39 = (_CheckCollisionRecs($$byval_copy36,$sndScream$byval_copy38)|0); + $40 = ($39|0)==(0); + if (!($40)) { + $41 = (_IsMouseButtonPressed(0)|0); + $42 = ($41|0)==(0); + if ($42) { label = 18; } else { _GetMousePosition($3); ;HEAP32[$$byval_copy36>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy36+4>>2]=HEAP32[$3+4>>2]|0; - ;HEAP32[$sndScream$byval_copy38>>2]=HEAP32[(2132)>>2]|0;HEAP32[$sndScream$byval_copy38+4>>2]=HEAP32[(2132)+4>>2]|0;HEAP32[$sndScream$byval_copy38+8>>2]=HEAP32[(2132)+8>>2]|0;HEAP32[$sndScream$byval_copy38+12>>2]=HEAP32[(2132)+12>>2]|0; - $47 = (_CheckCollisionPointRec($$byval_copy36,$sndScream$byval_copy38)|0); - $48 = ($47|0)==(0); - if ($48) { + ;HEAP32[$sndScream$byval_copy38>>2]=HEAP32[(27444)>>2]|0;HEAP32[$sndScream$byval_copy38+4>>2]=HEAP32[(27444)+4>>2]|0;HEAP32[$sndScream$byval_copy38+8>>2]=HEAP32[(27444)+8>>2]|0;HEAP32[$sndScream$byval_copy38+12>>2]=HEAP32[(27444)+12>>2]|0; + $43 = (_CheckCollisionPointRec($$byval_copy36,$sndScream$byval_copy38)|0); + $44 = ($43|0)==(0); + if ($44) { label = 18; } } if ((label|0) == 18) { - $49 = (_IsKeyPressed(32)|0); - $50 = ($49|0)==(0); - if ($50) { + $45 = (_IsKeyPressed(32)|0); + $46 = ($45|0)==(0); + if ($46) { break; } } - $51 = HEAP32[(2108)>>2]|0; - $52 = ($51|0)==(0); - if ($52) { - HEAP32[1952>>2] = 2; + $47 = HEAP32[(27420)>>2]|0; + $48 = ($47|0)==(0); + if ($48) { + HEAP32[6832] = 2; break; } else { - HEAP32[(2120)>>2] = 0; - HEAP32[(2108)>>2] = 0; - ;HEAP32[$sndScream$byval_copy38>>2]=HEAP32[112>>2]|0;HEAP32[$sndScream$byval_copy38+4>>2]=HEAP32[112+4>>2]|0; + HEAP32[(27432)>>2] = 0; + HEAP32[(27420)>>2] = 0; + ;HEAP32[$sndScream$byval_copy38>>2]=HEAP32[26812>>2]|0;HEAP32[$sndScream$byval_copy38+4>>2]=HEAP32[26812+4>>2]|0;HEAP32[$sndScream$byval_copy38+8>>2]=HEAP32[26812+8>>2]|0; _PlaySound($sndScream$byval_copy38); break; } @@ -14186,836 +13707,870 @@ function _UpdateAisle01Screen() { } while(0); _GetMousePosition($4); ;HEAP32[$$byval_copy36>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy36+4>>2]=HEAP32[$4+4>>2]|0; - ;HEAP32[$sndScream$byval_copy38>>2]=HEAP32[(2188)>>2]|0;HEAP32[$sndScream$byval_copy38+4>>2]=HEAP32[(2188)+4>>2]|0;HEAP32[$sndScream$byval_copy38+8>>2]=HEAP32[(2188)+8>>2]|0;HEAP32[$sndScream$byval_copy38+12>>2]=HEAP32[(2188)+12>>2]|0; - $53 = (_CheckCollisionPointRec($$byval_copy36,$sndScream$byval_copy38)|0); - $54 = ($53|0)==(0); - if ($54) { - ;HEAP32[$$byval_copy36>>2]=HEAP32[(144)>>2]|0;HEAP32[$$byval_copy36+4>>2]=HEAP32[(144)+4>>2]|0;HEAP32[$$byval_copy36+8>>2]=HEAP32[(144)+8>>2]|0;HEAP32[$$byval_copy36+12>>2]=HEAP32[(144)+12>>2]|0; - ;HEAP32[$sndScream$byval_copy38>>2]=HEAP32[(2188)>>2]|0;HEAP32[$sndScream$byval_copy38+4>>2]=HEAP32[(2188)+4>>2]|0;HEAP32[$sndScream$byval_copy38+8>>2]=HEAP32[(2188)+8>>2]|0;HEAP32[$sndScream$byval_copy38+12>>2]=HEAP32[(2188)+12>>2]|0; - $55 = (_CheckCollisionRecs($$byval_copy36,$sndScream$byval_copy38)|0); - $56 = ($55|0)==(0); - if ($56) { - HEAP32[(2168)>>2] = 0; + ;HEAP32[$sndScream$byval_copy38>>2]=HEAP32[(27496)>>2]|0;HEAP32[$sndScream$byval_copy38+4>>2]=HEAP32[(27496)+4>>2]|0;HEAP32[$sndScream$byval_copy38+8>>2]=HEAP32[(27496)+8>>2]|0;HEAP32[$sndScream$byval_copy38+12>>2]=HEAP32[(27496)+12>>2]|0; + $49 = (_CheckCollisionPointRec($$byval_copy36,$sndScream$byval_copy38)|0); + $50 = ($49|0)==(0); + if ($50) { + ;HEAP32[$$byval_copy36>>2]=HEAP32[(26848)>>2]|0;HEAP32[$$byval_copy36+4>>2]=HEAP32[(26848)+4>>2]|0;HEAP32[$$byval_copy36+8>>2]=HEAP32[(26848)+8>>2]|0;HEAP32[$$byval_copy36+12>>2]=HEAP32[(26848)+12>>2]|0; + ;HEAP32[$sndScream$byval_copy38>>2]=HEAP32[(27496)>>2]|0;HEAP32[$sndScream$byval_copy38+4>>2]=HEAP32[(27496)+4>>2]|0;HEAP32[$sndScream$byval_copy38+8>>2]=HEAP32[(27496)+8>>2]|0;HEAP32[$sndScream$byval_copy38+12>>2]=HEAP32[(27496)+12>>2]|0; + $51 = (_CheckCollisionRecs($$byval_copy36,$sndScream$byval_copy38)|0); + $52 = ($51|0)==(0); + if ($52) { + HEAP32[(27476)>>2] = 0; break; } } - HEAP32[(2168)>>2] = 1; - ;HEAP32[$$byval_copy36>>2]=HEAP32[(144)>>2]|0;HEAP32[$$byval_copy36+4>>2]=HEAP32[(144)+4>>2]|0;HEAP32[$$byval_copy36+8>>2]=HEAP32[(144)+8>>2]|0;HEAP32[$$byval_copy36+12>>2]=HEAP32[(144)+12>>2]|0; - ;HEAP32[$sndScream$byval_copy38>>2]=HEAP32[(2188)>>2]|0;HEAP32[$sndScream$byval_copy38+4>>2]=HEAP32[(2188)+4>>2]|0;HEAP32[$sndScream$byval_copy38+8>>2]=HEAP32[(2188)+8>>2]|0;HEAP32[$sndScream$byval_copy38+12>>2]=HEAP32[(2188)+12>>2]|0; - $57 = (_CheckCollisionRecs($$byval_copy36,$sndScream$byval_copy38)|0); - $58 = ($57|0)==(0); - if (!($58)) { - $59 = (_IsMouseButtonPressed(0)|0); - $60 = ($59|0)==(0); - if ($60) { + HEAP32[(27476)>>2] = 1; + ;HEAP32[$$byval_copy36>>2]=HEAP32[(26848)>>2]|0;HEAP32[$$byval_copy36+4>>2]=HEAP32[(26848)+4>>2]|0;HEAP32[$$byval_copy36+8>>2]=HEAP32[(26848)+8>>2]|0;HEAP32[$$byval_copy36+12>>2]=HEAP32[(26848)+12>>2]|0; + ;HEAP32[$sndScream$byval_copy38>>2]=HEAP32[(27496)>>2]|0;HEAP32[$sndScream$byval_copy38+4>>2]=HEAP32[(27496)+4>>2]|0;HEAP32[$sndScream$byval_copy38+8>>2]=HEAP32[(27496)+8>>2]|0;HEAP32[$sndScream$byval_copy38+12>>2]=HEAP32[(27496)+12>>2]|0; + $53 = (_CheckCollisionRecs($$byval_copy36,$sndScream$byval_copy38)|0); + $54 = ($53|0)==(0); + if (!($54)) { + $55 = (_IsMouseButtonPressed(0)|0); + $56 = ($55|0)==(0); + if ($56) { label = 28; } else { _GetMousePosition($5); ;HEAP32[$$byval_copy36>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy36+4>>2]=HEAP32[$5+4>>2]|0; - ;HEAP32[$sndScream$byval_copy38>>2]=HEAP32[(2188)>>2]|0;HEAP32[$sndScream$byval_copy38+4>>2]=HEAP32[(2188)+4>>2]|0;HEAP32[$sndScream$byval_copy38+8>>2]=HEAP32[(2188)+8>>2]|0;HEAP32[$sndScream$byval_copy38+12>>2]=HEAP32[(2188)+12>>2]|0; - $61 = (_CheckCollisionPointRec($$byval_copy36,$sndScream$byval_copy38)|0); - $62 = ($61|0)==(0); - if ($62) { + ;HEAP32[$sndScream$byval_copy38>>2]=HEAP32[(27496)>>2]|0;HEAP32[$sndScream$byval_copy38+4>>2]=HEAP32[(27496)+4>>2]|0;HEAP32[$sndScream$byval_copy38+8>>2]=HEAP32[(27496)+8>>2]|0;HEAP32[$sndScream$byval_copy38+12>>2]=HEAP32[(27496)+12>>2]|0; + $57 = (_CheckCollisionPointRec($$byval_copy36,$sndScream$byval_copy38)|0); + $58 = ($57|0)==(0); + if ($58) { label = 28; } } if ((label|0) == 28) { - $63 = (_IsKeyPressed(32)|0); - $64 = ($63|0)==(0); - if ($64) { + $59 = (_IsKeyPressed(32)|0); + $60 = ($59|0)==(0); + if ($60) { break; } } - $65 = HEAP32[(2164)>>2]|0; - $66 = ($65|0)==(0); - if ($66) { - HEAP32[1952>>2] = 3; + $61 = HEAP32[(27472)>>2]|0; + $62 = ($61|0)==(0); + if ($62) { + HEAP32[6832] = 3; break; } else { - HEAP32[(2176)>>2] = 0; - HEAP32[(2164)>>2] = 0; - ;HEAP32[$sndScream$byval_copy38>>2]=HEAP32[112>>2]|0;HEAP32[$sndScream$byval_copy38+4>>2]=HEAP32[112+4>>2]|0; + HEAP32[(27484)>>2] = 0; + HEAP32[(27472)>>2] = 0; + ;HEAP32[$sndScream$byval_copy38>>2]=HEAP32[26812>>2]|0;HEAP32[$sndScream$byval_copy38+4>>2]=HEAP32[26812+4>>2]|0;HEAP32[$sndScream$byval_copy38+8>>2]=HEAP32[26812+8>>2]|0; _PlaySound($sndScream$byval_copy38); break; } } } } while(0); - $67 = HEAP32[1664>>2]|0; - $68 = ($67|0)>(2); - if ($68) { + $63 = HEAP32[6828]|0; + $64 = ($63|0)>(2); + if ($64) { _UpdatePlayer(); - _UpdateMonster(2208); - _UpdateMonster(2304); + _UpdateMonster(27512); + _UpdateMonster(27604); } - $69 = +HEAPF32[2208>>2]; - $70 = $69 + 20.0; - $71 = HEAP32[2032>>2]|0; - $72 = (+($71|0)); - $73 = $70 - $72; + $65 = +HEAPF32[6878]; + $66 = $65 + 20.0; + $67 = HEAP32[6838]|0; + $68 = (+($67|0)); + $69 = $66 - $68; + $70 = (~~(($69))); + HEAP32[(27540)>>2] = $70; + $71 = +HEAPF32[6901]; + $72 = $71 + 44.0; + $73 = $72 - $68; $74 = (~~(($73))); - HEAP32[(2236)>>2] = $74; - $75 = +HEAPF32[2304>>2]; - $76 = $75 + 44.0; - $77 = HEAP32[2032>>2]|0; - $78 = (+($77|0)); - $79 = $76 - $78; - $80 = (~~(($79))); - HEAP32[(2332)>>2] = $80; - ;HEAP32[$$byval_copy36>>2]=HEAP32[(144)>>2]|0;HEAP32[$$byval_copy36+4>>2]=HEAP32[(144)+4>>2]|0;HEAP32[$$byval_copy36+8>>2]=HEAP32[(144)+8>>2]|0;HEAP32[$$byval_copy36+12>>2]=HEAP32[(144)+12>>2]|0; - ;HEAP32[$sndScream$byval_copy38>>2]=HEAP32[(2236)>>2]|0;HEAP32[$sndScream$byval_copy38+4>>2]=HEAP32[(2236)+4>>2]|0;HEAP32[$sndScream$byval_copy38+8>>2]=HEAP32[(2236)+8>>2]|0;HEAP32[$sndScream$byval_copy38+12>>2]=HEAP32[(2236)+12>>2]|0; - $81 = (_CheckCollisionRecs($$byval_copy36,$sndScream$byval_copy38)|0); - $82 = ($81|0)==(0); - $83 = HEAP32[(2288)>>2]|0; - $84 = ($83|0)!=(0); - $or$cond = $82 | $84; + HEAP32[(27632)>>2] = $74; + ;HEAP32[$$byval_copy36>>2]=HEAP32[(26848)>>2]|0;HEAP32[$$byval_copy36+4>>2]=HEAP32[(26848)+4>>2]|0;HEAP32[$$byval_copy36+8>>2]=HEAP32[(26848)+8>>2]|0;HEAP32[$$byval_copy36+12>>2]=HEAP32[(26848)+12>>2]|0; + ;HEAP32[$sndScream$byval_copy38>>2]=HEAP32[(27540)>>2]|0;HEAP32[$sndScream$byval_copy38+4>>2]=HEAP32[(27540)+4>>2]|0;HEAP32[$sndScream$byval_copy38+8>>2]=HEAP32[(27540)+8>>2]|0;HEAP32[$sndScream$byval_copy38+12>>2]=HEAP32[(27540)+12>>2]|0; + $75 = (_CheckCollisionRecs($$byval_copy36,$sndScream$byval_copy38)|0); + $76 = ($75|0)==(0); + $77 = HEAP32[(27592)>>2]|0; + $78 = ($77|0)!=(0); + $or$cond = $76 | $78; if ($or$cond) { - ;HEAP32[$$byval_copy36>>2]=HEAP32[(144)>>2]|0;HEAP32[$$byval_copy36+4>>2]=HEAP32[(144)+4>>2]|0;HEAP32[$$byval_copy36+8>>2]=HEAP32[(144)+8>>2]|0;HEAP32[$$byval_copy36+12>>2]=HEAP32[(144)+12>>2]|0; - ;HEAP32[$sndScream$byval_copy38>>2]=HEAP32[(2332)>>2]|0;HEAP32[$sndScream$byval_copy38+4>>2]=HEAP32[(2332)+4>>2]|0;HEAP32[$sndScream$byval_copy38+8>>2]=HEAP32[(2332)+8>>2]|0;HEAP32[$sndScream$byval_copy38+12>>2]=HEAP32[(2332)+12>>2]|0; - $85 = (_CheckCollisionRecs($$byval_copy36,$sndScream$byval_copy38)|0); - $86 = ($85|0)==(0); - $87 = HEAP32[(2384)>>2]|0; - $88 = ($87|0)!=(0); - $or$cond3 = $86 | $88; - $89 = $or$cond3&1; - $$16 = $89 ^ 1; - $storemerge = $$16; - } else { - $storemerge = 1; - } - HEAP32[1648>>2] = $storemerge; - ;HEAP32[$$byval_copy36>>2]=HEAP32[(144)>>2]|0;HEAP32[$$byval_copy36+4>>2]=HEAP32[(144)+4>>2]|0;HEAP32[$$byval_copy36+8>>2]=HEAP32[(144)+8>>2]|0;HEAP32[$$byval_copy36+12>>2]=HEAP32[(144)+12>>2]|0; - ;HEAP32[$sndScream$byval_copy38>>2]=HEAP32[(2236)>>2]|0;HEAP32[$sndScream$byval_copy38+4>>2]=HEAP32[(2236)+4>>2]|0;HEAP32[$sndScream$byval_copy38+8>>2]=HEAP32[(2236)+8>>2]|0;HEAP32[$sndScream$byval_copy38+12>>2]=HEAP32[(2236)+12>>2]|0; - $90 = (_CheckCollisionRecs($$byval_copy36,$sndScream$byval_copy38)|0); - $91 = ($90|0)==(0); - $92 = HEAP32[(2288)>>2]|0; - $93 = ($92|0)!=(0); - $or$cond5 = $91 | $93; - do { + ;HEAP32[$$byval_copy36>>2]=HEAP32[(26848)>>2]|0;HEAP32[$$byval_copy36+4>>2]=HEAP32[(26848)+4>>2]|0;HEAP32[$$byval_copy36+8>>2]=HEAP32[(26848)+8>>2]|0;HEAP32[$$byval_copy36+12>>2]=HEAP32[(26848)+12>>2]|0; + ;HEAP32[$sndScream$byval_copy38>>2]=HEAP32[(27632)>>2]|0;HEAP32[$sndScream$byval_copy38+4>>2]=HEAP32[(27632)+4>>2]|0;HEAP32[$sndScream$byval_copy38+8>>2]=HEAP32[(27632)+8>>2]|0;HEAP32[$sndScream$byval_copy38+12>>2]=HEAP32[(27632)+12>>2]|0; + $79 = (_CheckCollisionRecs($$byval_copy36,$sndScream$byval_copy38)|0); + $80 = ($79|0)==(0); + $81 = HEAP32[(27684)>>2]|0; + $82 = ($81|0)!=(0); + $or$cond5 = $80 | $82; if ($or$cond5) { - HEAP32[(2292)>>2] = 0; + $$sink6 = 0; } else { - HEAP32[(2292)>>2] = 1; - $94 = (_IsKeyPressed(32)|0); - $95 = ($94|0)==(0); - if ($95) { - $96 = (_IsMouseButtonPressed(0)|0); - $97 = ($96|0)==(0); - if ($97) { + label = 36; + } + } else { + label = 36; + } + if ((label|0) == 36) { + $$sink6 = 1; + } + HEAP32[6827] = $$sink6; + ;HEAP32[$$byval_copy36>>2]=HEAP32[(26848)>>2]|0;HEAP32[$$byval_copy36+4>>2]=HEAP32[(26848)+4>>2]|0;HEAP32[$$byval_copy36+8>>2]=HEAP32[(26848)+8>>2]|0;HEAP32[$$byval_copy36+12>>2]=HEAP32[(26848)+12>>2]|0; + ;HEAP32[$sndScream$byval_copy38>>2]=HEAP32[(27540)>>2]|0;HEAP32[$sndScream$byval_copy38+4>>2]=HEAP32[(27540)+4>>2]|0;HEAP32[$sndScream$byval_copy38+8>>2]=HEAP32[(27540)+8>>2]|0;HEAP32[$sndScream$byval_copy38+12>>2]=HEAP32[(27540)+12>>2]|0; + $83 = (_CheckCollisionRecs($$byval_copy36,$sndScream$byval_copy38)|0); + $84 = ($83|0)==(0); + $85 = HEAP32[(27592)>>2]|0; + $86 = ($85|0)!=(0); + $or$cond8 = $84 | $86; + do { + if ($or$cond8) { + HEAP32[(27596)>>2] = 0; + } else { + HEAP32[(27596)>>2] = 1; + $87 = (_IsKeyPressed(32)|0); + $88 = ($87|0)==(0); + if ($88) { + $89 = (_IsMouseButtonPressed(0)|0); + $90 = ($89|0)==(0); + if ($90) { break; } _GetMousePosition($6); ;HEAP32[$$byval_copy36>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy36+4>>2]=HEAP32[$6+4>>2]|0; - ;HEAP32[$sndScream$byval_copy38>>2]=HEAP32[(2236)>>2]|0;HEAP32[$sndScream$byval_copy38+4>>2]=HEAP32[(2236)+4>>2]|0;HEAP32[$sndScream$byval_copy38+8>>2]=HEAP32[(2236)+8>>2]|0;HEAP32[$sndScream$byval_copy38+12>>2]=HEAP32[(2236)+12>>2]|0; - $98 = (_CheckCollisionPointRec($$byval_copy36,$sndScream$byval_copy38)|0); - $99 = ($98|0)==(0); - if ($99) { + ;HEAP32[$sndScream$byval_copy38>>2]=HEAP32[(27540)>>2]|0;HEAP32[$sndScream$byval_copy38+4>>2]=HEAP32[(27540)+4>>2]|0;HEAP32[$sndScream$byval_copy38+8>>2]=HEAP32[(27540)+8>>2]|0;HEAP32[$sndScream$byval_copy38+12>>2]=HEAP32[(27540)+12>>2]|0; + $91 = (_CheckCollisionPointRec($$byval_copy36,$sndScream$byval_copy38)|0); + $92 = ($91|0)==(0); + if ($92) { break; } } _SearchKeyPlayer(); - HEAP32[2400>>2] = 1; - HEAP32[1944>>2] = 0; - HEAP32[1656>>2] = 1; + HEAP32[6924] = 1; + HEAP32[6831] = 0; + HEAP32[9] = 1; } } while(0); - ;HEAP32[$$byval_copy36>>2]=HEAP32[(144)>>2]|0;HEAP32[$$byval_copy36+4>>2]=HEAP32[(144)+4>>2]|0;HEAP32[$$byval_copy36+8>>2]=HEAP32[(144)+8>>2]|0;HEAP32[$$byval_copy36+12>>2]=HEAP32[(144)+12>>2]|0; - ;HEAP32[$sndScream$byval_copy38>>2]=HEAP32[(2332)>>2]|0;HEAP32[$sndScream$byval_copy38+4>>2]=HEAP32[(2332)+4>>2]|0;HEAP32[$sndScream$byval_copy38+8>>2]=HEAP32[(2332)+8>>2]|0;HEAP32[$sndScream$byval_copy38+12>>2]=HEAP32[(2332)+12>>2]|0; - $100 = (_CheckCollisionRecs($$byval_copy36,$sndScream$byval_copy38)|0); - $101 = ($100|0)==(0); - $102 = HEAP32[(2384)>>2]|0; - $103 = ($102|0)!=(0); - $or$cond7 = $101 | $103; + ;HEAP32[$$byval_copy36>>2]=HEAP32[(26848)>>2]|0;HEAP32[$$byval_copy36+4>>2]=HEAP32[(26848)+4>>2]|0;HEAP32[$$byval_copy36+8>>2]=HEAP32[(26848)+8>>2]|0;HEAP32[$$byval_copy36+12>>2]=HEAP32[(26848)+12>>2]|0; + ;HEAP32[$sndScream$byval_copy38>>2]=HEAP32[(27632)>>2]|0;HEAP32[$sndScream$byval_copy38+4>>2]=HEAP32[(27632)+4>>2]|0;HEAP32[$sndScream$byval_copy38+8>>2]=HEAP32[(27632)+8>>2]|0;HEAP32[$sndScream$byval_copy38+12>>2]=HEAP32[(27632)+12>>2]|0; + $93 = (_CheckCollisionRecs($$byval_copy36,$sndScream$byval_copy38)|0); + $94 = ($93|0)==(0); + $95 = HEAP32[(27684)>>2]|0; + $96 = ($95|0)!=(0); + $or$cond10 = $94 | $96; do { - if ($or$cond7) { - HEAP32[(2388)>>2] = 0; - label = 48; + if ($or$cond10) { + HEAP32[(27688)>>2] = 0; + label = 49; } else { - HEAP32[(2388)>>2] = 1; - $104 = (_IsKeyPressed(32)|0); - $105 = ($104|0)==(0); - if ($105) { - $106 = (_IsMouseButtonPressed(0)|0); - $107 = ($106|0)==(0); - if ($107) { - label = 48; + HEAP32[(27688)>>2] = 1; + $97 = (_IsKeyPressed(32)|0); + $98 = ($97|0)==(0); + if ($98) { + $99 = (_IsMouseButtonPressed(0)|0); + $100 = ($99|0)==(0); + if ($100) { + label = 49; break; } _GetMousePosition($7); ;HEAP32[$$byval_copy36>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy36+4>>2]=HEAP32[$7+4>>2]|0; - ;HEAP32[$sndScream$byval_copy38>>2]=HEAP32[(2332)>>2]|0;HEAP32[$sndScream$byval_copy38+4>>2]=HEAP32[(2332)+4>>2]|0;HEAP32[$sndScream$byval_copy38+8>>2]=HEAP32[(2332)+8>>2]|0;HEAP32[$sndScream$byval_copy38+12>>2]=HEAP32[(2332)+12>>2]|0; - $108 = (_CheckCollisionPointRec($$byval_copy36,$sndScream$byval_copy38)|0); - $109 = ($108|0)==(0); - if ($109) { - label = 48; + ;HEAP32[$sndScream$byval_copy38>>2]=HEAP32[(27632)>>2]|0;HEAP32[$sndScream$byval_copy38+4>>2]=HEAP32[(27632)+4>>2]|0;HEAP32[$sndScream$byval_copy38+8>>2]=HEAP32[(27632)+8>>2]|0;HEAP32[$sndScream$byval_copy38+12>>2]=HEAP32[(27632)+12>>2]|0; + $101 = (_CheckCollisionPointRec($$byval_copy36,$sndScream$byval_copy38)|0); + $102 = ($101|0)==(0); + if ($102) { + label = 49; break; } } _SearchKeyPlayer(); - HEAP32[2400>>2] = 1; - HEAP32[1656>>2] = 2; - HEAP32[1944>>2] = 1; + HEAP32[6924] = 1; + HEAP32[9] = 2; + HEAP32[6831] = 1; } } while(0); - if ((label|0) == 48) { - $$pr = HEAP32[2400>>2]|0; - $110 = ($$pr|0)==(0); - if (!($110)) { - $$pr17 = HEAP32[1944>>2]|0; - $111 = (($$pr17) + 1)|0; - HEAP32[1944>>2] = $111; - $112 = ($$pr17|0)>(179); - if ($112) { - $113 = HEAP32[1656>>2]|0; - if ((($113|0) == 1)) { - $114 = HEAP32[(2296)>>2]|0; - $115 = ($114|0)==(0); - if ($115) { - _FindKeyPlayer(); - } else { - _ScarePlayer(); - ;HEAP32[$sndScream$byval_copy38>>2]=HEAP32[120>>2]|0;HEAP32[$sndScream$byval_copy38+4>>2]=HEAP32[120+4>>2]|0; - _PlaySound($sndScream$byval_copy38); + if ((label|0) == 49) { + $$pr = HEAP32[6924]|0; + $103 = ($$pr|0)==(0); + if (!($103)) { + $$pr21 = HEAP32[6831]|0; + $104 = (($$pr21) + 1)|0; + HEAP32[6831] = $104; + $105 = ($$pr21|0)>(179); + if ($105) { + $106 = HEAP32[9]|0; + L74: do { + switch ($106|0) { + case 1: { + $107 = HEAP32[(27600)>>2]|0; + $108 = ($107|0)==(0); + if ($108) { + _FindKeyPlayer(); + $$sink11 = (27596);$$sink12 = (27592); + label = 58; + break L74; + } else { + _ScarePlayer(); + ;HEAP32[$sndScream$byval_copy38>>2]=HEAP32[26824>>2]|0;HEAP32[$sndScream$byval_copy38+4>>2]=HEAP32[26824+4>>2]|0;HEAP32[$sndScream$byval_copy38+8>>2]=HEAP32[26824+8>>2]|0; + _PlaySound($sndScream$byval_copy38); + $$sink11 = (27596);$$sink12 = (27592); + label = 58; + break L74; + } + break; } - HEAP32[(2288)>>2] = 1; - HEAP32[(2292)>>2] = 0; - } else if ((($113|0) == 2)) { - $116 = HEAP32[(2392)>>2]|0; - $117 = ($116|0)==(0); - if ($117) { - _FindKeyPlayer(); - } else { - _ScarePlayer(); - ;HEAP32[$sndScream$byval_copy38>>2]=HEAP32[120>>2]|0;HEAP32[$sndScream$byval_copy38+4>>2]=HEAP32[120+4>>2]|0; - _PlaySound($sndScream$byval_copy38); + case 2: { + $109 = HEAP32[(27692)>>2]|0; + $110 = ($109|0)==(0); + if ($110) { + _FindKeyPlayer(); + $$sink11 = (27688);$$sink12 = (27684); + label = 58; + break L74; + } else { + _ScarePlayer(); + ;HEAP32[$sndScream$byval_copy38>>2]=HEAP32[26824>>2]|0;HEAP32[$sndScream$byval_copy38+4>>2]=HEAP32[26824+4>>2]|0;HEAP32[$sndScream$byval_copy38+8>>2]=HEAP32[26824+8>>2]|0; + _PlaySound($sndScream$byval_copy38); + $$sink11 = (27688);$$sink12 = (27684); + label = 58; + break L74; + } + break; } - HEAP32[(2384)>>2] = 1; - HEAP32[(2388)>>2] = 0; + default: { + } + } + } while(0); + if ((label|0) == 58) { + HEAP32[$$sink12>>2] = 1; + HEAP32[$$sink11>>2] = 0; } - HEAP32[2400>>2] = 0; - HEAP32[1944>>2] = 0; + HEAP32[6924] = 0; + HEAP32[6831] = 0; } } } - $118 = HEAP32[1944>>2]|0; - $119 = (($118) + 1)|0; - HEAP32[1944>>2] = $119; - $120 = $119 & 1; - $121 = ($120|0)==(0); - if ($121) { - $122 = HEAP32[1680>>2]|0; - $123 = (($122) + 1)|0; - HEAP32[1680>>2] = $123; + $111 = HEAP32[6831]|0; + $112 = (($111) + 1)|0; + HEAP32[6831] = $112; + $113 = $112 & 1; + $114 = ($113|0)==(0); + if ($114) { + $115 = HEAP32[6830]|0; + $116 = (($115) + 1)|0; + HEAP32[6830] = $116; } - $124 = HEAP32[1664>>2]|0; + $117 = HEAP32[6828]|0; + $118 = ($117|0)==(0); do { - if ((($124|0) == 0)) { - $125 = HEAP32[1680>>2]|0; - $126 = ($125|0)<(39); - if ($126) { - (_strncpy((1688|0),(2408|0),($125|0))|0); + if ($118) { + $119 = HEAP32[6830]|0; + $120 = ($119|0)<(39); + if ($120) { + (_strncpy(34040,6238,$119)|0); } else { - $127 = (_strlen((1688|0))|0); - $128 = ($127|0)>(0); - if ($128) { - $i$019 = 0; + $121 = (_strlen(34040)|0); + $122 = ($121|0)>(0); + if ($122) { + $$023 = 0; while(1) { - $129 = (1688 + ($i$019)|0); - HEAP8[$129>>0] = 0; - $130 = (($i$019) + 1)|0; - $131 = (_strlen((1688|0))|0); - $132 = ($130|0)<($131|0); - if ($132) { - $i$019 = $130; + $123 = (34040 + ($$023)|0); + HEAP8[$123>>0] = 0; + $124 = (($$023) + 1)|0; + $125 = (_strlen(34040)|0); + $126 = ($124|0)<($125|0); + if ($126) { + $$023 = $124; } else { break; } } } - HEAP32[1680>>2] = 0; - HEAP32[1664>>2] = 1; + HEAP32[6830] = 0; + HEAP32[6828] = 1; } - $133 = (_IsKeyPressed(257)|0); - $134 = ($133|0)==(0); - if (!($134)) { - HEAP32[1664>>2] = 1; + $127 = (_IsKeyPressed(257)|0); + $128 = ($127|0)==(0); + if (!($128)) { + HEAP32[6828] = 1; } - } else if ((($124|0) == 1)) { - $135 = HEAP32[1672>>2]|0; - $136 = (($135) + 1)|0; - HEAP32[1672>>2] = $136; - $137 = (_IsKeyPressed(257)|0); - $138 = ($137|0)==(0); - if ($138) { - $139 = (_IsMouseButtonPressed(0)|0); - $140 = ($139|0)==(0); - if ($140) { + } else { + $129 = ($117|0)==(1); + $130 = HEAP32[6829]|0; + $131 = (($130) + 1)|0; + HEAP32[6829] = $131; + if (!($129)) { + $136 = ($117|0)==(2); + $137 = ($130|0)>(179); + $or$cond14 = $136 & $137; + if (!($or$cond14)) { + break; + } + HEAP32[6828] = 3; + break; + } + $132 = (_IsKeyPressed(257)|0); + $133 = ($132|0)==(0); + if ($133) { + $134 = (_IsMouseButtonPressed(0)|0); + $135 = ($134|0)==(0); + if ($135) { break; } } - HEAP32[1664>>2] = 2; - HEAP32[1672>>2] = 0; - } else { - $141 = ($124|0)==(2); - $142 = HEAP32[1672>>2]|0; - $143 = (($142) + 1)|0; - HEAP32[1672>>2] = $143; - $144 = ($142|0)>(179); - $or$cond9 = $141 & $144; - if ($or$cond9) { - HEAP32[1664>>2] = 3; - } + HEAP32[6828] = 2; + HEAP32[6829] = 0; } } while(0); - $145 = +HEAPF32[136>>2]; - $146 = $145 > 200.0; - if (!($146)) { + $138 = +HEAPF32[6710]; + $139 = $138 > 200.0; + $140 = $138 + -200.0; + $141 = (~~(($140))); + if (!($139)) { STACKTOP = sp;return; } - $147 = $145 + -200.0; - $148 = (~~(($147))); - $149 = ($148|0)>(620); - $$ = $149 ? 620 : $148; - HEAP32[2032>>2] = $$; + $142 = ($141|0)<(620); + $$ = $142 ? $141 : 620; + HEAP32[6838] = $$; STACKTOP = sp;return; } function _DrawAisle01Screen() { - var $$byval_copy33 = 0, $$byval_copy37 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $12 = 0, $13 = 0, $14 = 0; - var $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0.0, $3 = 0, $30 = 0, $31 = 0.0, $32 = 0.0; - var $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0.0, $41 = 0, $42 = 0.0, $43 = 0.0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0.0; - var $51 = 0, $52 = 0.0, $53 = 0.0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0; - var $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0; - var $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $doorScrollPos = 0, $doors$byval_copy16 = 0, $font$byval_copy27 = 0, dest = 0, label = 0, sp = 0, src = 0; - var stop = 0; + var $$byval_copy34 = 0, $$byval_copy38 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0; + var $114 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0.0, $31 = 0, $32 = 0.0, $33 = 0.0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0.0, $42 = 0, $43 = 0.0, $44 = 0.0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0.0, $52 = 0, $53 = 0.0, $54 = 0.0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0; + var $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0.0, $76 = 0, $77 = 0, $78 = 0.0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0; + var $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0.0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $doors$byval_copy17 = 0, $font$byval_copy28 = 0, dest = 0; + var label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 304|0; - $$byval_copy37 = sp + 132|0; - $$byval_copy33 = sp + 52|0; - $font$byval_copy27 = sp + 72|0; - $doors$byval_copy16 = sp + 108|0; - $0 = sp + 128|0; - $doorScrollPos = sp + 224|0; - $1 = sp + 284|0; - $2 = sp; - $3 = sp + 280|0; - $4 = sp + 16|0; - $5 = sp + 276|0; - $6 = sp + 4|0; - $7 = sp + 272|0; - $8 = sp + 268|0; - $9 = sp + 264|0; - $10 = sp + 288|0; - $11 = sp + 8|0; - $12 = sp + 20|0; - $13 = sp + 24|0; - $14 = sp + 32|0; - $15 = sp + 248|0; - $16 = sp + 40|0; - $17 = sp + 48|0; - $18 = sp + 232|0; - $19 = sp + 236|0; - $20 = sp + 240|0; - $21 = sp + 252|0; - $22 = sp + 256|0; - $23 = sp + 244|0; - $24 = sp + 260|0; - $25 = HEAP32[2032>>2]|0; - $26 = (0 - ($25))|0; + STACKTOP = STACKTOP + 304|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(304|0); + $$byval_copy38 = sp + 140|0; + $$byval_copy34 = sp + 116|0; + $font$byval_copy28 = sp + 72|0; + $doors$byval_copy17 = sp + 8|0; + $0 = sp + 136|0; + $1 = sp; + $2 = sp + 288|0; + $3 = sp + 112|0; + $4 = sp + 284|0; + $5 = sp + 108|0; + $6 = sp + 280|0; + $7 = sp + 104|0; + $8 = sp + 276|0; + $9 = sp + 272|0; + $10 = sp + 268|0; + $11 = sp + 264|0; + $12 = sp + 64|0; + $13 = sp + 56|0; + $14 = sp + 48|0; + $15 = sp + 40|0; + $16 = sp + 260|0; + $17 = sp + 32|0; + $18 = sp + 28|0; + $19 = sp + 256|0; + $20 = sp + 252|0; + $21 = sp + 248|0; + $22 = sp + 244|0; + $23 = sp + 240|0; + $24 = sp + 236|0; + $25 = sp + 232|0; + $26 = HEAP32[6838]|0; + $27 = (0 - ($26))|0; HEAP32[$0>>2] = -1; - ;HEAP32[$$byval_copy33>>2]=HEAP32[2008>>2]|0;HEAP32[$$byval_copy33+4>>2]=HEAP32[2008+4>>2]|0;HEAP32[$$byval_copy33+8>>2]=HEAP32[2008+8>>2]|0;HEAP32[$$byval_copy33+12>>2]=HEAP32[2008+12>>2]|0;HEAP32[$$byval_copy33+16>>2]=HEAP32[2008+16>>2]|0; - ;HEAP8[$$byval_copy37>>0]=HEAP8[$0>>0]|0;HEAP8[$$byval_copy37+1>>0]=HEAP8[$0+1>>0]|0;HEAP8[$$byval_copy37+2>>0]=HEAP8[$0+2>>0]|0;HEAP8[$$byval_copy37+3>>0]=HEAP8[$0+3>>0]|0; - _DrawTexture($$byval_copy33,$26,0,$$byval_copy37); - $27 = HEAP32[2032>>2]|0; - dest=$$byval_copy37; src=2208; stop=dest+92|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _DrawMonster($$byval_copy37,$27); - $28 = HEAP32[2032>>2]|0; - dest=$$byval_copy37; src=2304; stop=dest+92|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _DrawMonster($$byval_copy37,$28); - $29 = +HEAPF32[2096>>2]; - $30 = HEAP32[2032>>2]|0; - $31 = (+($30|0)); - $32 = $29 - $31; - HEAPF32[$doorScrollPos>>2] = $32; - $33 = ((($doorScrollPos)) + 4|0); - $34 = HEAP32[(2100)>>2]|0; - HEAP32[$33>>2] = $34; - $35 = HEAP32[(2112)>>2]|0; - $36 = ($35|0)==(0); - if ($36) { - HEAP32[$2>>2] = -1; - ;HEAP32[$doors$byval_copy16>>2]=HEAP32[88>>2]|0;HEAP32[$doors$byval_copy16+4>>2]=HEAP32[88+4>>2]|0;HEAP32[$doors$byval_copy16+8>>2]=HEAP32[88+8>>2]|0;HEAP32[$doors$byval_copy16+12>>2]=HEAP32[88+12>>2]|0;HEAP32[$doors$byval_copy16+16>>2]=HEAP32[88+16>>2]|0; - ;HEAP32[$font$byval_copy27>>2]=HEAP32[(2116)>>2]|0;HEAP32[$font$byval_copy27+4>>2]=HEAP32[(2116)+4>>2]|0;HEAP32[$font$byval_copy27+8>>2]=HEAP32[(2116)+8>>2]|0;HEAP32[$font$byval_copy27+12>>2]=HEAP32[(2116)+12>>2]|0; - ;HEAP32[$$byval_copy33>>2]=HEAP32[$doorScrollPos>>2]|0;HEAP32[$$byval_copy33+4>>2]=HEAP32[$doorScrollPos+4>>2]|0; - ;HEAP8[$$byval_copy37>>0]=HEAP8[$2>>0]|0;HEAP8[$$byval_copy37+1>>0]=HEAP8[$2+1>>0]|0;HEAP8[$$byval_copy37+2>>0]=HEAP8[$2+2>>0]|0;HEAP8[$$byval_copy37+3>>0]=HEAP8[$2+3>>0]|0; - _DrawTextureRec($doors$byval_copy16,$font$byval_copy27,$$byval_copy33,$$byval_copy37); + ;HEAP32[$$byval_copy34>>2]=HEAP32[27332>>2]|0;HEAP32[$$byval_copy34+4>>2]=HEAP32[27332+4>>2]|0;HEAP32[$$byval_copy34+8>>2]=HEAP32[27332+8>>2]|0;HEAP32[$$byval_copy34+12>>2]=HEAP32[27332+12>>2]|0;HEAP32[$$byval_copy34+16>>2]=HEAP32[27332+16>>2]|0; + ;HEAP8[$$byval_copy38>>0]=HEAP8[$0>>0]|0;HEAP8[$$byval_copy38+1>>0]=HEAP8[$0+1>>0]|0;HEAP8[$$byval_copy38+2>>0]=HEAP8[$0+2>>0]|0;HEAP8[$$byval_copy38+3>>0]=HEAP8[$0+3>>0]|0; + _DrawTexture($$byval_copy34,$27,0,$$byval_copy38); + $28 = HEAP32[6838]|0; + dest=$$byval_copy38; src=27512; stop=dest+92|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _DrawMonster($$byval_copy38,$28); + $29 = HEAP32[6838]|0; + dest=$$byval_copy38; src=27604; stop=dest+92|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _DrawMonster($$byval_copy38,$29); + $30 = +HEAPF32[6852]; + $31 = HEAP32[6838]|0; + $32 = (+($31|0)); + $33 = $30 - $32; + HEAPF32[$1>>2] = $33; + $34 = ((($1)) + 4|0); + $35 = HEAP32[(27412)>>2]|0; + HEAP32[$34>>2] = $35; + $36 = HEAP32[(27424)>>2]|0; + $37 = ($36|0)==(0); + if ($37) { + HEAP32[$3>>2] = -1; + ;HEAP32[$doors$byval_copy17>>2]=HEAP32[26792>>2]|0;HEAP32[$doors$byval_copy17+4>>2]=HEAP32[26792+4>>2]|0;HEAP32[$doors$byval_copy17+8>>2]=HEAP32[26792+8>>2]|0;HEAP32[$doors$byval_copy17+12>>2]=HEAP32[26792+12>>2]|0;HEAP32[$doors$byval_copy17+16>>2]=HEAP32[26792+16>>2]|0; + ;HEAP32[$font$byval_copy28>>2]=HEAP32[(27428)>>2]|0;HEAP32[$font$byval_copy28+4>>2]=HEAP32[(27428)+4>>2]|0;HEAP32[$font$byval_copy28+8>>2]=HEAP32[(27428)+8>>2]|0;HEAP32[$font$byval_copy28+12>>2]=HEAP32[(27428)+12>>2]|0; + ;HEAP32[$$byval_copy34>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy34+4>>2]=HEAP32[$1+4>>2]|0; + ;HEAP8[$$byval_copy38>>0]=HEAP8[$3>>0]|0;HEAP8[$$byval_copy38+1>>0]=HEAP8[$3+1>>0]|0;HEAP8[$$byval_copy38+2>>0]=HEAP8[$3+2>>0]|0;HEAP8[$$byval_copy38+3>>0]=HEAP8[$3+3>>0]|0; + _DrawTextureRec($doors$byval_copy17,$font$byval_copy28,$$byval_copy34,$$byval_copy38); } else { - HEAP8[$1>>0] = 0; - $37 = ((($1)) + 1|0); - HEAP8[$37>>0] = -28; - $38 = ((($1)) + 2|0); - HEAP8[$38>>0] = 48; - $39 = ((($1)) + 3|0); - HEAP8[$39>>0] = -1; - ;HEAP32[$doors$byval_copy16>>2]=HEAP32[88>>2]|0;HEAP32[$doors$byval_copy16+4>>2]=HEAP32[88+4>>2]|0;HEAP32[$doors$byval_copy16+8>>2]=HEAP32[88+8>>2]|0;HEAP32[$doors$byval_copy16+12>>2]=HEAP32[88+12>>2]|0;HEAP32[$doors$byval_copy16+16>>2]=HEAP32[88+16>>2]|0; - ;HEAP32[$font$byval_copy27>>2]=HEAP32[(2116)>>2]|0;HEAP32[$font$byval_copy27+4>>2]=HEAP32[(2116)+4>>2]|0;HEAP32[$font$byval_copy27+8>>2]=HEAP32[(2116)+8>>2]|0;HEAP32[$font$byval_copy27+12>>2]=HEAP32[(2116)+12>>2]|0; - ;HEAP32[$$byval_copy33>>2]=HEAP32[$doorScrollPos>>2]|0;HEAP32[$$byval_copy33+4>>2]=HEAP32[$doorScrollPos+4>>2]|0; - ;HEAP8[$$byval_copy37>>0]=HEAP8[$1>>0]|0;HEAP8[$$byval_copy37+1>>0]=HEAP8[$1+1>>0]|0;HEAP8[$$byval_copy37+2>>0]=HEAP8[$1+2>>0]|0;HEAP8[$$byval_copy37+3>>0]=HEAP8[$1+3>>0]|0; - _DrawTextureRec($doors$byval_copy16,$font$byval_copy27,$$byval_copy33,$$byval_copy37); + HEAP8[$2>>0] = 0; + $38 = ((($2)) + 1|0); + HEAP8[$38>>0] = -28; + $39 = ((($2)) + 2|0); + HEAP8[$39>>0] = 48; + $40 = ((($2)) + 3|0); + HEAP8[$40>>0] = -1; + ;HEAP32[$doors$byval_copy17>>2]=HEAP32[26792>>2]|0;HEAP32[$doors$byval_copy17+4>>2]=HEAP32[26792+4>>2]|0;HEAP32[$doors$byval_copy17+8>>2]=HEAP32[26792+8>>2]|0;HEAP32[$doors$byval_copy17+12>>2]=HEAP32[26792+12>>2]|0;HEAP32[$doors$byval_copy17+16>>2]=HEAP32[26792+16>>2]|0; + ;HEAP32[$font$byval_copy28>>2]=HEAP32[(27428)>>2]|0;HEAP32[$font$byval_copy28+4>>2]=HEAP32[(27428)+4>>2]|0;HEAP32[$font$byval_copy28+8>>2]=HEAP32[(27428)+8>>2]|0;HEAP32[$font$byval_copy28+12>>2]=HEAP32[(27428)+12>>2]|0; + ;HEAP32[$$byval_copy34>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy34+4>>2]=HEAP32[$1+4>>2]|0; + ;HEAP8[$$byval_copy38>>0]=HEAP8[$2>>0]|0;HEAP8[$$byval_copy38+1>>0]=HEAP8[$2+1>>0]|0;HEAP8[$$byval_copy38+2>>0]=HEAP8[$2+2>>0]|0;HEAP8[$$byval_copy38+3>>0]=HEAP8[$2+3>>0]|0; + _DrawTextureRec($doors$byval_copy17,$font$byval_copy28,$$byval_copy34,$$byval_copy38); } - $40 = +HEAPF32[2040>>2]; - $41 = HEAP32[2032>>2]|0; - $42 = (+($41|0)); - $43 = $40 - $42; - $44 = HEAP32[(2044)>>2]|0; - HEAPF32[$doorScrollPos>>2] = $43; - HEAP32[$33>>2] = $44; - $45 = HEAP32[(2056)>>2]|0; - $46 = ($45|0)==(0); - if ($46) { - HEAP32[$4>>2] = -1; - ;HEAP32[$doors$byval_copy16>>2]=HEAP32[88>>2]|0;HEAP32[$doors$byval_copy16+4>>2]=HEAP32[88+4>>2]|0;HEAP32[$doors$byval_copy16+8>>2]=HEAP32[88+8>>2]|0;HEAP32[$doors$byval_copy16+12>>2]=HEAP32[88+12>>2]|0;HEAP32[$doors$byval_copy16+16>>2]=HEAP32[88+16>>2]|0; - ;HEAP32[$font$byval_copy27>>2]=HEAP32[(2060)>>2]|0;HEAP32[$font$byval_copy27+4>>2]=HEAP32[(2060)+4>>2]|0;HEAP32[$font$byval_copy27+8>>2]=HEAP32[(2060)+8>>2]|0;HEAP32[$font$byval_copy27+12>>2]=HEAP32[(2060)+12>>2]|0; - ;HEAP32[$$byval_copy33>>2]=HEAP32[$doorScrollPos>>2]|0;HEAP32[$$byval_copy33+4>>2]=HEAP32[$doorScrollPos+4>>2]|0; - ;HEAP8[$$byval_copy37>>0]=HEAP8[$4>>0]|0;HEAP8[$$byval_copy37+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$$byval_copy37+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$$byval_copy37+3>>0]=HEAP8[$4+3>>0]|0; - _DrawTextureRec($doors$byval_copy16,$font$byval_copy27,$$byval_copy33,$$byval_copy37); + $41 = +HEAPF32[6839]; + $42 = HEAP32[6838]|0; + $43 = (+($42|0)); + $44 = $41 - $43; + $45 = HEAP32[(27360)>>2]|0; + HEAPF32[$1>>2] = $44; + HEAP32[$34>>2] = $45; + $46 = HEAP32[(27372)>>2]|0; + $47 = ($46|0)==(0); + if ($47) { + HEAP32[$5>>2] = -1; + ;HEAP32[$doors$byval_copy17>>2]=HEAP32[26792>>2]|0;HEAP32[$doors$byval_copy17+4>>2]=HEAP32[26792+4>>2]|0;HEAP32[$doors$byval_copy17+8>>2]=HEAP32[26792+8>>2]|0;HEAP32[$doors$byval_copy17+12>>2]=HEAP32[26792+12>>2]|0;HEAP32[$doors$byval_copy17+16>>2]=HEAP32[26792+16>>2]|0; + ;HEAP32[$font$byval_copy28>>2]=HEAP32[(27376)>>2]|0;HEAP32[$font$byval_copy28+4>>2]=HEAP32[(27376)+4>>2]|0;HEAP32[$font$byval_copy28+8>>2]=HEAP32[(27376)+8>>2]|0;HEAP32[$font$byval_copy28+12>>2]=HEAP32[(27376)+12>>2]|0; + ;HEAP32[$$byval_copy34>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy34+4>>2]=HEAP32[$1+4>>2]|0; + ;HEAP8[$$byval_copy38>>0]=HEAP8[$5>>0]|0;HEAP8[$$byval_copy38+1>>0]=HEAP8[$5+1>>0]|0;HEAP8[$$byval_copy38+2>>0]=HEAP8[$5+2>>0]|0;HEAP8[$$byval_copy38+3>>0]=HEAP8[$5+3>>0]|0; + _DrawTextureRec($doors$byval_copy17,$font$byval_copy28,$$byval_copy34,$$byval_copy38); } else { - HEAP8[$3>>0] = 0; - $47 = ((($3)) + 1|0); - HEAP8[$47>>0] = -28; - $48 = ((($3)) + 2|0); - HEAP8[$48>>0] = 48; - $49 = ((($3)) + 3|0); - HEAP8[$49>>0] = -1; - ;HEAP32[$doors$byval_copy16>>2]=HEAP32[88>>2]|0;HEAP32[$doors$byval_copy16+4>>2]=HEAP32[88+4>>2]|0;HEAP32[$doors$byval_copy16+8>>2]=HEAP32[88+8>>2]|0;HEAP32[$doors$byval_copy16+12>>2]=HEAP32[88+12>>2]|0;HEAP32[$doors$byval_copy16+16>>2]=HEAP32[88+16>>2]|0; - ;HEAP32[$font$byval_copy27>>2]=HEAP32[(2060)>>2]|0;HEAP32[$font$byval_copy27+4>>2]=HEAP32[(2060)+4>>2]|0;HEAP32[$font$byval_copy27+8>>2]=HEAP32[(2060)+8>>2]|0;HEAP32[$font$byval_copy27+12>>2]=HEAP32[(2060)+12>>2]|0; - ;HEAP32[$$byval_copy33>>2]=HEAP32[$doorScrollPos>>2]|0;HEAP32[$$byval_copy33+4>>2]=HEAP32[$doorScrollPos+4>>2]|0; - ;HEAP8[$$byval_copy37>>0]=HEAP8[$3>>0]|0;HEAP8[$$byval_copy37+1>>0]=HEAP8[$3+1>>0]|0;HEAP8[$$byval_copy37+2>>0]=HEAP8[$3+2>>0]|0;HEAP8[$$byval_copy37+3>>0]=HEAP8[$3+3>>0]|0; - _DrawTextureRec($doors$byval_copy16,$font$byval_copy27,$$byval_copy33,$$byval_copy37); + HEAP8[$4>>0] = 0; + $48 = ((($4)) + 1|0); + HEAP8[$48>>0] = -28; + $49 = ((($4)) + 2|0); + HEAP8[$49>>0] = 48; + $50 = ((($4)) + 3|0); + HEAP8[$50>>0] = -1; + ;HEAP32[$doors$byval_copy17>>2]=HEAP32[26792>>2]|0;HEAP32[$doors$byval_copy17+4>>2]=HEAP32[26792+4>>2]|0;HEAP32[$doors$byval_copy17+8>>2]=HEAP32[26792+8>>2]|0;HEAP32[$doors$byval_copy17+12>>2]=HEAP32[26792+12>>2]|0;HEAP32[$doors$byval_copy17+16>>2]=HEAP32[26792+16>>2]|0; + ;HEAP32[$font$byval_copy28>>2]=HEAP32[(27376)>>2]|0;HEAP32[$font$byval_copy28+4>>2]=HEAP32[(27376)+4>>2]|0;HEAP32[$font$byval_copy28+8>>2]=HEAP32[(27376)+8>>2]|0;HEAP32[$font$byval_copy28+12>>2]=HEAP32[(27376)+12>>2]|0; + ;HEAP32[$$byval_copy34>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy34+4>>2]=HEAP32[$1+4>>2]|0; + ;HEAP8[$$byval_copy38>>0]=HEAP8[$4>>0]|0;HEAP8[$$byval_copy38+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$$byval_copy38+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$$byval_copy38+3>>0]=HEAP8[$4+3>>0]|0; + _DrawTextureRec($doors$byval_copy17,$font$byval_copy28,$$byval_copy34,$$byval_copy38); } - $50 = +HEAPF32[2152>>2]; - $51 = HEAP32[2032>>2]|0; - $52 = (+($51|0)); - $53 = $50 - $52; - $54 = HEAP32[(2156)>>2]|0; - HEAPF32[$doorScrollPos>>2] = $53; - HEAP32[$33>>2] = $54; - $55 = HEAP32[(2168)>>2]|0; - $56 = ($55|0)==(0); - if ($56) { - HEAP32[$6>>2] = -1; - ;HEAP32[$doors$byval_copy16>>2]=HEAP32[88>>2]|0;HEAP32[$doors$byval_copy16+4>>2]=HEAP32[88+4>>2]|0;HEAP32[$doors$byval_copy16+8>>2]=HEAP32[88+8>>2]|0;HEAP32[$doors$byval_copy16+12>>2]=HEAP32[88+12>>2]|0;HEAP32[$doors$byval_copy16+16>>2]=HEAP32[88+16>>2]|0; - ;HEAP32[$font$byval_copy27>>2]=HEAP32[(2172)>>2]|0;HEAP32[$font$byval_copy27+4>>2]=HEAP32[(2172)+4>>2]|0;HEAP32[$font$byval_copy27+8>>2]=HEAP32[(2172)+8>>2]|0;HEAP32[$font$byval_copy27+12>>2]=HEAP32[(2172)+12>>2]|0; - ;HEAP32[$$byval_copy33>>2]=HEAP32[$doorScrollPos>>2]|0;HEAP32[$$byval_copy33+4>>2]=HEAP32[$doorScrollPos+4>>2]|0; - ;HEAP8[$$byval_copy37>>0]=HEAP8[$6>>0]|0;HEAP8[$$byval_copy37+1>>0]=HEAP8[$6+1>>0]|0;HEAP8[$$byval_copy37+2>>0]=HEAP8[$6+2>>0]|0;HEAP8[$$byval_copy37+3>>0]=HEAP8[$6+3>>0]|0; - _DrawTextureRec($doors$byval_copy16,$font$byval_copy27,$$byval_copy33,$$byval_copy37); + $51 = +HEAPF32[6865]; + $52 = HEAP32[6838]|0; + $53 = (+($52|0)); + $54 = $51 - $53; + $55 = HEAP32[(27464)>>2]|0; + HEAPF32[$1>>2] = $54; + HEAP32[$34>>2] = $55; + $56 = HEAP32[(27476)>>2]|0; + $57 = ($56|0)==(0); + if ($57) { + HEAP32[$7>>2] = -1; + ;HEAP32[$doors$byval_copy17>>2]=HEAP32[26792>>2]|0;HEAP32[$doors$byval_copy17+4>>2]=HEAP32[26792+4>>2]|0;HEAP32[$doors$byval_copy17+8>>2]=HEAP32[26792+8>>2]|0;HEAP32[$doors$byval_copy17+12>>2]=HEAP32[26792+12>>2]|0;HEAP32[$doors$byval_copy17+16>>2]=HEAP32[26792+16>>2]|0; + ;HEAP32[$font$byval_copy28>>2]=HEAP32[(27480)>>2]|0;HEAP32[$font$byval_copy28+4>>2]=HEAP32[(27480)+4>>2]|0;HEAP32[$font$byval_copy28+8>>2]=HEAP32[(27480)+8>>2]|0;HEAP32[$font$byval_copy28+12>>2]=HEAP32[(27480)+12>>2]|0; + ;HEAP32[$$byval_copy34>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy34+4>>2]=HEAP32[$1+4>>2]|0; + ;HEAP8[$$byval_copy38>>0]=HEAP8[$7>>0]|0;HEAP8[$$byval_copy38+1>>0]=HEAP8[$7+1>>0]|0;HEAP8[$$byval_copy38+2>>0]=HEAP8[$7+2>>0]|0;HEAP8[$$byval_copy38+3>>0]=HEAP8[$7+3>>0]|0; + _DrawTextureRec($doors$byval_copy17,$font$byval_copy28,$$byval_copy34,$$byval_copy38); } else { - HEAP8[$5>>0] = 0; - $57 = ((($5)) + 1|0); - HEAP8[$57>>0] = -28; - $58 = ((($5)) + 2|0); - HEAP8[$58>>0] = 48; - $59 = ((($5)) + 3|0); - HEAP8[$59>>0] = -1; - ;HEAP32[$doors$byval_copy16>>2]=HEAP32[88>>2]|0;HEAP32[$doors$byval_copy16+4>>2]=HEAP32[88+4>>2]|0;HEAP32[$doors$byval_copy16+8>>2]=HEAP32[88+8>>2]|0;HEAP32[$doors$byval_copy16+12>>2]=HEAP32[88+12>>2]|0;HEAP32[$doors$byval_copy16+16>>2]=HEAP32[88+16>>2]|0; - ;HEAP32[$font$byval_copy27>>2]=HEAP32[(2172)>>2]|0;HEAP32[$font$byval_copy27+4>>2]=HEAP32[(2172)+4>>2]|0;HEAP32[$font$byval_copy27+8>>2]=HEAP32[(2172)+8>>2]|0;HEAP32[$font$byval_copy27+12>>2]=HEAP32[(2172)+12>>2]|0; - ;HEAP32[$$byval_copy33>>2]=HEAP32[$doorScrollPos>>2]|0;HEAP32[$$byval_copy33+4>>2]=HEAP32[$doorScrollPos+4>>2]|0; - ;HEAP8[$$byval_copy37>>0]=HEAP8[$5>>0]|0;HEAP8[$$byval_copy37+1>>0]=HEAP8[$5+1>>0]|0;HEAP8[$$byval_copy37+2>>0]=HEAP8[$5+2>>0]|0;HEAP8[$$byval_copy37+3>>0]=HEAP8[$5+3>>0]|0; - _DrawTextureRec($doors$byval_copy16,$font$byval_copy27,$$byval_copy33,$$byval_copy37); + HEAP8[$6>>0] = 0; + $58 = ((($6)) + 1|0); + HEAP8[$58>>0] = -28; + $59 = ((($6)) + 2|0); + HEAP8[$59>>0] = 48; + $60 = ((($6)) + 3|0); + HEAP8[$60>>0] = -1; + ;HEAP32[$doors$byval_copy17>>2]=HEAP32[26792>>2]|0;HEAP32[$doors$byval_copy17+4>>2]=HEAP32[26792+4>>2]|0;HEAP32[$doors$byval_copy17+8>>2]=HEAP32[26792+8>>2]|0;HEAP32[$doors$byval_copy17+12>>2]=HEAP32[26792+12>>2]|0;HEAP32[$doors$byval_copy17+16>>2]=HEAP32[26792+16>>2]|0; + ;HEAP32[$font$byval_copy28>>2]=HEAP32[(27480)>>2]|0;HEAP32[$font$byval_copy28+4>>2]=HEAP32[(27480)+4>>2]|0;HEAP32[$font$byval_copy28+8>>2]=HEAP32[(27480)+8>>2]|0;HEAP32[$font$byval_copy28+12>>2]=HEAP32[(27480)+12>>2]|0; + ;HEAP32[$$byval_copy34>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy34+4>>2]=HEAP32[$1+4>>2]|0; + ;HEAP8[$$byval_copy38>>0]=HEAP8[$6>>0]|0;HEAP8[$$byval_copy38+1>>0]=HEAP8[$6+1>>0]|0;HEAP8[$$byval_copy38+2>>0]=HEAP8[$6+2>>0]|0;HEAP8[$$byval_copy38+3>>0]=HEAP8[$6+3>>0]|0; + _DrawTextureRec($doors$byval_copy17,$font$byval_copy28,$$byval_copy34,$$byval_copy38); } - $60 = HEAP32[1664>>2]|0; - $61 = ($60|0)<(2); - if ($61) { - $62 = (_GetScreenWidth()|0); - HEAP8[$8>>0] = -56; - $63 = ((($8)) + 1|0); - HEAP8[$63>>0] = -56; - $64 = ((($8)) + 2|0); + $61 = HEAP32[6828]|0; + $62 = ($61|0)<(2); + if ($62) { + $63 = (_GetScreenWidth()|0); + HEAP8[$9>>0] = -56; + $64 = ((($9)) + 1|0); HEAP8[$64>>0] = -56; - $65 = ((($8)) + 3|0); - HEAP8[$65>>0] = -1; - ;HEAP8[$$byval_copy37>>0]=HEAP8[$8>>0]|0;HEAP8[$$byval_copy37+1>>0]=HEAP8[$8+1>>0]|0;HEAP8[$$byval_copy37+2>>0]=HEAP8[$8+2>>0]|0;HEAP8[$$byval_copy37+3>>0]=HEAP8[$8+3>>0]|0; - _Fade($7,$$byval_copy37,0.5); - ;HEAP8[$$byval_copy37>>0]=HEAP8[$7>>0]|0;HEAP8[$$byval_copy37+1>>0]=HEAP8[$7+1>>0]|0;HEAP8[$$byval_copy37+2>>0]=HEAP8[$7+2>>0]|0;HEAP8[$$byval_copy37+3>>0]=HEAP8[$7+3>>0]|0; - _DrawRectangle(0,40,$62,200,$$byval_copy37); + $65 = ((($9)) + 2|0); + HEAP8[$65>>0] = -56; + $66 = ((($9)) + 3|0); + HEAP8[$66>>0] = -1; + ;HEAP8[$$byval_copy38>>0]=HEAP8[$9>>0]|0;HEAP8[$$byval_copy38+1>>0]=HEAP8[$9+1>>0]|0;HEAP8[$$byval_copy38+2>>0]=HEAP8[$9+2>>0]|0;HEAP8[$$byval_copy38+3>>0]=HEAP8[$9+3>>0]|0; + _Fade($8,$$byval_copy38,0.5); + ;HEAP8[$$byval_copy38>>0]=HEAP8[$8>>0]|0;HEAP8[$$byval_copy38+1>>0]=HEAP8[$8+1>>0]|0;HEAP8[$$byval_copy38+2>>0]=HEAP8[$8+2>>0]|0;HEAP8[$$byval_copy38+3>>0]=HEAP8[$8+3>>0]|0; + _DrawRectangle(0,40,$63,200,$$byval_copy38); } else { - $66 = ($60|0)==(2); - if ($66) { - $67 = (_GetScreenWidth()|0); - HEAP8[$10>>0] = -56; - $68 = ((($10)) + 1|0); - HEAP8[$68>>0] = -56; - $69 = ((($10)) + 2|0); + $67 = ($61|0)==(2); + if ($67) { + $68 = (_GetScreenWidth()|0); + HEAP8[$11>>0] = -56; + $69 = ((($11)) + 1|0); HEAP8[$69>>0] = -56; - $70 = ((($10)) + 3|0); - HEAP8[$70>>0] = -1; - ;HEAP8[$$byval_copy37>>0]=HEAP8[$10>>0]|0;HEAP8[$$byval_copy37+1>>0]=HEAP8[$10+1>>0]|0;HEAP8[$$byval_copy37+2>>0]=HEAP8[$10+2>>0]|0;HEAP8[$$byval_copy37+3>>0]=HEAP8[$10+3>>0]|0; - _Fade($9,$$byval_copy37,0.5); - ;HEAP8[$$byval_copy37>>0]=HEAP8[$9>>0]|0;HEAP8[$$byval_copy37+1>>0]=HEAP8[$9+1>>0]|0;HEAP8[$$byval_copy37+2>>0]=HEAP8[$9+2>>0]|0;HEAP8[$$byval_copy37+3>>0]=HEAP8[$9+3>>0]|0; - _DrawRectangle(0,80,$67,100,$$byval_copy37); + $70 = ((($11)) + 2|0); + HEAP8[$70>>0] = -56; + $71 = ((($11)) + 3|0); + HEAP8[$71>>0] = -1; + ;HEAP8[$$byval_copy38>>0]=HEAP8[$11>>0]|0;HEAP8[$$byval_copy38+1>>0]=HEAP8[$11+1>>0]|0;HEAP8[$$byval_copy38+2>>0]=HEAP8[$11+2>>0]|0;HEAP8[$$byval_copy38+3>>0]=HEAP8[$11+3>>0]|0; + _Fade($10,$$byval_copy38,0.5); + ;HEAP8[$$byval_copy38>>0]=HEAP8[$10>>0]|0;HEAP8[$$byval_copy38+1>>0]=HEAP8[$10+1>>0]|0;HEAP8[$$byval_copy38+2>>0]=HEAP8[$10+2>>0]|0;HEAP8[$$byval_copy38+3>>0]=HEAP8[$10+3>>0]|0; + _DrawRectangle(0,80,$68,100,$$byval_copy38); } } - $71 = HEAP32[1664>>2]|0; - if ((($71|0) == 1)) { - HEAPF32[$13>>2] = 100.0; - $74 = ((($13)) + 4|0); - HEAPF32[$74>>2] = 80.0; - $75 = HEAP32[(68)>>2]|0; - HEAP32[$14>>2] = -1; - dest=$font$byval_copy27; src=48; stop=dest+36|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - ;HEAP32[$$byval_copy33>>2]=HEAP32[$13>>2]|0;HEAP32[$$byval_copy33+4>>2]=HEAP32[$13+4>>2]|0; - ;HEAP8[$$byval_copy37>>0]=HEAP8[$14>>0]|0;HEAP8[$$byval_copy37+1>>0]=HEAP8[$14+1>>0]|0;HEAP8[$$byval_copy37+2>>0]=HEAP8[$14+2>>0]|0;HEAP8[$$byval_copy37+3>>0]=HEAP8[$14+3>>0]|0; - _DrawTextEx($font$byval_copy27,2408,$$byval_copy33,$75,2,$$byval_copy37); - $76 = HEAP32[1672>>2]|0; - $77 = (($76|0) / 30)&-1; - $78 = $77 & 1; - $79 = ($78|0)==(0); - if ($79) { + $72 = HEAP32[6828]|0; + switch ($72|0) { + case 0: { + HEAPF32[$12>>2] = 100.0; + $73 = ((($12)) + 4|0); + HEAPF32[$73>>2] = 80.0; + $74 = HEAP32[(26780)>>2]|0; + $75 = (+($74|0)); + HEAP32[$13>>2] = -1; + ;HEAP32[$font$byval_copy28>>2]=HEAP32[26760>>2]|0;HEAP32[$font$byval_copy28+4>>2]=HEAP32[26760+4>>2]|0;HEAP32[$font$byval_copy28+8>>2]=HEAP32[26760+8>>2]|0;HEAP32[$font$byval_copy28+12>>2]=HEAP32[26760+12>>2]|0;HEAP32[$font$byval_copy28+16>>2]=HEAP32[26760+16>>2]|0;HEAP32[$font$byval_copy28+20>>2]=HEAP32[26760+20>>2]|0;HEAP32[$font$byval_copy28+24>>2]=HEAP32[26760+24>>2]|0;HEAP32[$font$byval_copy28+28>>2]=HEAP32[26760+28>>2]|0; + ;HEAP32[$$byval_copy34>>2]=HEAP32[$12>>2]|0;HEAP32[$$byval_copy34+4>>2]=HEAP32[$12+4>>2]|0; + ;HEAP8[$$byval_copy38>>0]=HEAP8[$13>>0]|0;HEAP8[$$byval_copy38+1>>0]=HEAP8[$13+1>>0]|0;HEAP8[$$byval_copy38+2>>0]=HEAP8[$13+2>>0]|0;HEAP8[$$byval_copy38+3>>0]=HEAP8[$13+3>>0]|0; + _DrawTextEx($font$byval_copy28,34040,$$byval_copy34,$75,2,$$byval_copy38); + _DrawPlayer(); + STACKTOP = sp;return; + break; + } + case 1: { + HEAPF32[$14>>2] = 100.0; + $76 = ((($14)) + 4|0); + HEAPF32[$76>>2] = 80.0; + $77 = HEAP32[(26780)>>2]|0; + $78 = (+($77|0)); + HEAP32[$15>>2] = -1; + ;HEAP32[$font$byval_copy28>>2]=HEAP32[26760>>2]|0;HEAP32[$font$byval_copy28+4>>2]=HEAP32[26760+4>>2]|0;HEAP32[$font$byval_copy28+8>>2]=HEAP32[26760+8>>2]|0;HEAP32[$font$byval_copy28+12>>2]=HEAP32[26760+12>>2]|0;HEAP32[$font$byval_copy28+16>>2]=HEAP32[26760+16>>2]|0;HEAP32[$font$byval_copy28+20>>2]=HEAP32[26760+20>>2]|0;HEAP32[$font$byval_copy28+24>>2]=HEAP32[26760+24>>2]|0;HEAP32[$font$byval_copy28+28>>2]=HEAP32[26760+28>>2]|0; + ;HEAP32[$$byval_copy34>>2]=HEAP32[$14>>2]|0;HEAP32[$$byval_copy34+4>>2]=HEAP32[$14+4>>2]|0; + ;HEAP8[$$byval_copy38>>0]=HEAP8[$15>>0]|0;HEAP8[$$byval_copy38+1>>0]=HEAP8[$15+1>>0]|0;HEAP8[$$byval_copy38+2>>0]=HEAP8[$15+2>>0]|0;HEAP8[$$byval_copy38+3>>0]=HEAP8[$15+3>>0]|0; + _DrawTextEx($font$byval_copy28,6238,$$byval_copy34,$78,2,$$byval_copy38); + $79 = HEAP32[6829]|0; + $80 = (($79|0) / 30)&-1; + $81 = $80 & 1; + $82 = ($81|0)==(0); + if ($82) { _DrawPlayer(); STACKTOP = sp;return; } - $80 = (_GetScreenWidth()|0); - $81 = (($80) + -280)|0; - HEAP8[$15>>0] = 0; - $82 = ((($15)) + 1|0); - HEAP8[$82>>0] = 0; - $83 = ((($15)) + 2|0); - HEAP8[$83>>0] = 0; - $84 = ((($15)) + 3|0); - HEAP8[$84>>0] = -1; - ;HEAP8[$$byval_copy37>>0]=HEAP8[$15>>0]|0;HEAP8[$$byval_copy37+1>>0]=HEAP8[$15+1>>0]|0;HEAP8[$$byval_copy37+2>>0]=HEAP8[$15+2>>0]|0;HEAP8[$$byval_copy37+3>>0]=HEAP8[$15+3>>0]|0; - _DrawText(8608,$81,200,20,$$byval_copy37); + $83 = (_GetScreenWidth()|0); + $84 = (($83) + -280)|0; + HEAP8[$16>>0] = 0; + $85 = ((($16)) + 1|0); + HEAP8[$85>>0] = 0; + $86 = ((($16)) + 2|0); + HEAP8[$86>>0] = 0; + $87 = ((($16)) + 3|0); + HEAP8[$87>>0] = -1; + ;HEAP8[$$byval_copy38>>0]=HEAP8[$16>>0]|0;HEAP8[$$byval_copy38+1>>0]=HEAP8[$16+1>>0]|0;HEAP8[$$byval_copy38+2>>0]=HEAP8[$16+2>>0]|0;HEAP8[$$byval_copy38+3>>0]=HEAP8[$16+3>>0]|0; + _DrawText(8619,$84,200,20,$$byval_copy38); _DrawPlayer(); STACKTOP = sp;return; - } else if ((($71|0) == 0)) { - HEAPF32[$11>>2] = 100.0; - $72 = ((($11)) + 4|0); - HEAPF32[$72>>2] = 80.0; - $73 = HEAP32[(68)>>2]|0; - HEAP32[$12>>2] = -1; - dest=$font$byval_copy27; src=48; stop=dest+36|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - ;HEAP32[$$byval_copy33>>2]=HEAP32[$11>>2]|0;HEAP32[$$byval_copy33+4>>2]=HEAP32[$11+4>>2]|0; - ;HEAP8[$$byval_copy37>>0]=HEAP8[$12>>0]|0;HEAP8[$$byval_copy37+1>>0]=HEAP8[$12+1>>0]|0;HEAP8[$$byval_copy37+2>>0]=HEAP8[$12+2>>0]|0;HEAP8[$$byval_copy37+3>>0]=HEAP8[$12+3>>0]|0; - _DrawTextEx($font$byval_copy27,1688,$$byval_copy33,$73,2,$$byval_copy37); - _DrawPlayer(); - STACKTOP = sp;return; - } else if ((($71|0) == 2)) { - $85 = HEAP32[1672>>2]|0; - $86 = (($85|0) / 30)&-1; - $87 = $86 & 1; - $88 = ($87|0)==(0); - if ($88) { + break; + } + case 2: { + $88 = HEAP32[6829]|0; + $89 = (($88|0) / 30)&-1; + $90 = $89 & 1; + $91 = ($90|0)==(0); + if ($91) { _DrawPlayer(); STACKTOP = sp;return; } - HEAPF32[$16>>2] = 300.0; - $89 = ((($16)) + 4|0); - HEAPF32[$89>>2] = 95.0; - $90 = HEAP32[(68)>>2]|0; - $91 = $90 << 1; - HEAP32[$17>>2] = -1; - dest=$font$byval_copy27; src=48; stop=dest+36|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - ;HEAP32[$$byval_copy33>>2]=HEAP32[$16>>2]|0;HEAP32[$$byval_copy33+4>>2]=HEAP32[$16+4>>2]|0; - ;HEAP8[$$byval_copy37>>0]=HEAP8[$17>>0]|0;HEAP8[$$byval_copy37+1>>0]=HEAP8[$17+1>>0]|0;HEAP8[$$byval_copy37+2>>0]=HEAP8[$17+2>>0]|0;HEAP8[$$byval_copy37+3>>0]=HEAP8[$17+3>>0]|0; - _DrawTextEx($font$byval_copy27,8488,$$byval_copy33,$91,2,$$byval_copy37); - HEAP8[$19>>0] = -26; - $92 = ((($19)) + 1|0); - HEAP8[$92>>0] = 41; - $93 = ((($19)) + 2|0); - HEAP8[$93>>0] = 55; - $94 = ((($19)) + 3|0); - HEAP8[$94>>0] = -1; - ;HEAP8[$$byval_copy37>>0]=HEAP8[$19>>0]|0;HEAP8[$$byval_copy37+1>>0]=HEAP8[$19+1>>0]|0;HEAP8[$$byval_copy37+2>>0]=HEAP8[$19+2>>0]|0;HEAP8[$$byval_copy37+3>>0]=HEAP8[$19+3>>0]|0; - _Fade($18,$$byval_copy37,0.60000002384185791); - ;HEAP32[$$byval_copy33>>2]=HEAP32[(2236)>>2]|0;HEAP32[$$byval_copy33+4>>2]=HEAP32[(2236)+4>>2]|0;HEAP32[$$byval_copy33+8>>2]=HEAP32[(2236)+8>>2]|0;HEAP32[$$byval_copy33+12>>2]=HEAP32[(2236)+12>>2]|0; - ;HEAP8[$$byval_copy37>>0]=HEAP8[$18>>0]|0;HEAP8[$$byval_copy37+1>>0]=HEAP8[$18+1>>0]|0;HEAP8[$$byval_copy37+2>>0]=HEAP8[$18+2>>0]|0;HEAP8[$$byval_copy37+3>>0]=HEAP8[$18+3>>0]|0; - _DrawRectangleRec($$byval_copy33,$$byval_copy37); - HEAP8[$21>>0] = -26; - $95 = ((($21)) + 1|0); - HEAP8[$95>>0] = 41; - $96 = ((($21)) + 2|0); - HEAP8[$96>>0] = 55; - $97 = ((($21)) + 3|0); - HEAP8[$97>>0] = -1; - ;HEAP8[$$byval_copy37>>0]=HEAP8[$21>>0]|0;HEAP8[$$byval_copy37+1>>0]=HEAP8[$21+1>>0]|0;HEAP8[$$byval_copy37+2>>0]=HEAP8[$21+2>>0]|0;HEAP8[$$byval_copy37+3>>0]=HEAP8[$21+3>>0]|0; - _Fade($20,$$byval_copy37,0.60000002384185791); - ;HEAP32[$$byval_copy33>>2]=HEAP32[(2332)>>2]|0;HEAP32[$$byval_copy33+4>>2]=HEAP32[(2332)+4>>2]|0;HEAP32[$$byval_copy33+8>>2]=HEAP32[(2332)+8>>2]|0;HEAP32[$$byval_copy33+12>>2]=HEAP32[(2332)+12>>2]|0; - ;HEAP8[$$byval_copy37>>0]=HEAP8[$20>>0]|0;HEAP8[$$byval_copy37+1>>0]=HEAP8[$20+1>>0]|0;HEAP8[$$byval_copy37+2>>0]=HEAP8[$20+2>>0]|0;HEAP8[$$byval_copy37+3>>0]=HEAP8[$20+3>>0]|0; - _DrawRectangleRec($$byval_copy33,$$byval_copy37); + HEAPF32[$17>>2] = 300.0; + $92 = ((($17)) + 4|0); + HEAPF32[$92>>2] = 95.0; + $93 = HEAP32[(26780)>>2]|0; + $94 = $93 << 1; + $95 = (+($94|0)); + HEAP32[$18>>2] = -1; + ;HEAP32[$font$byval_copy28>>2]=HEAP32[26760>>2]|0;HEAP32[$font$byval_copy28+4>>2]=HEAP32[26760+4>>2]|0;HEAP32[$font$byval_copy28+8>>2]=HEAP32[26760+8>>2]|0;HEAP32[$font$byval_copy28+12>>2]=HEAP32[26760+12>>2]|0;HEAP32[$font$byval_copy28+16>>2]=HEAP32[26760+16>>2]|0;HEAP32[$font$byval_copy28+20>>2]=HEAP32[26760+20>>2]|0;HEAP32[$font$byval_copy28+24>>2]=HEAP32[26760+24>>2]|0;HEAP32[$font$byval_copy28+28>>2]=HEAP32[26760+28>>2]|0; + ;HEAP32[$$byval_copy34>>2]=HEAP32[$17>>2]|0;HEAP32[$$byval_copy34+4>>2]=HEAP32[$17+4>>2]|0; + ;HEAP8[$$byval_copy38>>0]=HEAP8[$18>>0]|0;HEAP8[$$byval_copy38+1>>0]=HEAP8[$18+1>>0]|0;HEAP8[$$byval_copy38+2>>0]=HEAP8[$18+2>>0]|0;HEAP8[$$byval_copy38+3>>0]=HEAP8[$18+3>>0]|0; + _DrawTextEx($font$byval_copy28,8538,$$byval_copy34,$95,2,$$byval_copy38); + HEAP8[$20>>0] = -26; + $96 = ((($20)) + 1|0); + HEAP8[$96>>0] = 41; + $97 = ((($20)) + 2|0); + HEAP8[$97>>0] = 55; + $98 = ((($20)) + 3|0); + HEAP8[$98>>0] = -1; + ;HEAP8[$$byval_copy38>>0]=HEAP8[$20>>0]|0;HEAP8[$$byval_copy38+1>>0]=HEAP8[$20+1>>0]|0;HEAP8[$$byval_copy38+2>>0]=HEAP8[$20+2>>0]|0;HEAP8[$$byval_copy38+3>>0]=HEAP8[$20+3>>0]|0; + _Fade($19,$$byval_copy38,0.60000002384185791); + ;HEAP32[$$byval_copy34>>2]=HEAP32[(27540)>>2]|0;HEAP32[$$byval_copy34+4>>2]=HEAP32[(27540)+4>>2]|0;HEAP32[$$byval_copy34+8>>2]=HEAP32[(27540)+8>>2]|0;HEAP32[$$byval_copy34+12>>2]=HEAP32[(27540)+12>>2]|0; + ;HEAP8[$$byval_copy38>>0]=HEAP8[$19>>0]|0;HEAP8[$$byval_copy38+1>>0]=HEAP8[$19+1>>0]|0;HEAP8[$$byval_copy38+2>>0]=HEAP8[$19+2>>0]|0;HEAP8[$$byval_copy38+3>>0]=HEAP8[$19+3>>0]|0; + _DrawRectangleRec($$byval_copy34,$$byval_copy38); + HEAP8[$22>>0] = -26; + $99 = ((($22)) + 1|0); + HEAP8[$99>>0] = 41; + $100 = ((($22)) + 2|0); + HEAP8[$100>>0] = 55; + $101 = ((($22)) + 3|0); + HEAP8[$101>>0] = -1; + ;HEAP8[$$byval_copy38>>0]=HEAP8[$22>>0]|0;HEAP8[$$byval_copy38+1>>0]=HEAP8[$22+1>>0]|0;HEAP8[$$byval_copy38+2>>0]=HEAP8[$22+2>>0]|0;HEAP8[$$byval_copy38+3>>0]=HEAP8[$22+3>>0]|0; + _Fade($21,$$byval_copy38,0.60000002384185791); + ;HEAP32[$$byval_copy34>>2]=HEAP32[(27632)>>2]|0;HEAP32[$$byval_copy34+4>>2]=HEAP32[(27632)+4>>2]|0;HEAP32[$$byval_copy34+8>>2]=HEAP32[(27632)+8>>2]|0;HEAP32[$$byval_copy34+12>>2]=HEAP32[(27632)+12>>2]|0; + ;HEAP8[$$byval_copy38>>0]=HEAP8[$21>>0]|0;HEAP8[$$byval_copy38+1>>0]=HEAP8[$21+1>>0]|0;HEAP8[$$byval_copy38+2>>0]=HEAP8[$21+2>>0]|0;HEAP8[$$byval_copy38+3>>0]=HEAP8[$21+3>>0]|0; + _DrawRectangleRec($$byval_copy34,$$byval_copy38); _DrawPlayer(); STACKTOP = sp;return; - } else { - $98 = HEAP32[1648>>2]|0; - $99 = ($98|0)==(0); - if ($99) { - _DrawPlayer(); - STACKTOP = sp;return; - } - $100 = HEAP32[1672>>2]|0; - $101 = (($100|0) / 30)&-1; - $102 = $101 & 1; + break; + } + default: { + $102 = HEAP32[6827]|0; $103 = ($102|0)==(0); if ($103) { _DrawPlayer(); STACKTOP = sp;return; } - $104 = (_GetScreenWidth()|0); - HEAP8[$23>>0] = -56; - $105 = ((($23)) + 1|0); - HEAP8[$105>>0] = -56; - $106 = ((($23)) + 2|0); - HEAP8[$106>>0] = -56; - $107 = ((($23)) + 3|0); - HEAP8[$107>>0] = -1; - ;HEAP8[$$byval_copy37>>0]=HEAP8[$23>>0]|0;HEAP8[$$byval_copy37+1>>0]=HEAP8[$23+1>>0]|0;HEAP8[$$byval_copy37+2>>0]=HEAP8[$23+2>>0]|0;HEAP8[$$byval_copy37+3>>0]=HEAP8[$23+3>>0]|0; - _Fade($22,$$byval_copy37,0.5); - ;HEAP8[$$byval_copy37>>0]=HEAP8[$22>>0]|0;HEAP8[$$byval_copy37+1>>0]=HEAP8[$22+1>>0]|0;HEAP8[$$byval_copy37+2>>0]=HEAP8[$22+2>>0]|0;HEAP8[$$byval_copy37+3>>0]=HEAP8[$22+3>>0]|0; - _DrawRectangle(0,0,$104,50,$$byval_copy37); - HEAP8[$24>>0] = 0; - $108 = ((($24)) + 1|0); - HEAP8[$108>>0] = 0; - $109 = ((($24)) + 2|0); - HEAP8[$109>>0] = 0; - $110 = ((($24)) + 3|0); - HEAP8[$110>>0] = -1; - ;HEAP8[$$byval_copy37>>0]=HEAP8[$24>>0]|0;HEAP8[$$byval_copy37+1>>0]=HEAP8[$24+1>>0]|0;HEAP8[$$byval_copy37+2>>0]=HEAP8[$24+2>>0]|0;HEAP8[$$byval_copy37+3>>0]=HEAP8[$24+3>>0]|0; - _DrawText(8504,420,15,20,$$byval_copy37); + $104 = HEAP32[6829]|0; + $105 = (($104|0) / 30)&-1; + $106 = $105 & 1; + $107 = ($106|0)==(0); + if ($107) { + _DrawPlayer(); + STACKTOP = sp;return; + } + $108 = (_GetScreenWidth()|0); + HEAP8[$24>>0] = -56; + $109 = ((($24)) + 1|0); + HEAP8[$109>>0] = -56; + $110 = ((($24)) + 2|0); + HEAP8[$110>>0] = -56; + $111 = ((($24)) + 3|0); + HEAP8[$111>>0] = -1; + ;HEAP8[$$byval_copy38>>0]=HEAP8[$24>>0]|0;HEAP8[$$byval_copy38+1>>0]=HEAP8[$24+1>>0]|0;HEAP8[$$byval_copy38+2>>0]=HEAP8[$24+2>>0]|0;HEAP8[$$byval_copy38+3>>0]=HEAP8[$24+3>>0]|0; + _Fade($23,$$byval_copy38,0.5); + ;HEAP8[$$byval_copy38>>0]=HEAP8[$23>>0]|0;HEAP8[$$byval_copy38+1>>0]=HEAP8[$23+1>>0]|0;HEAP8[$$byval_copy38+2>>0]=HEAP8[$23+2>>0]|0;HEAP8[$$byval_copy38+3>>0]=HEAP8[$23+3>>0]|0; + _DrawRectangle(0,0,$108,50,$$byval_copy38); + HEAP8[$25>>0] = 0; + $112 = ((($25)) + 1|0); + HEAP8[$112>>0] = 0; + $113 = ((($25)) + 2|0); + HEAP8[$113>>0] = 0; + $114 = ((($25)) + 3|0); + HEAP8[$114>>0] = -1; + ;HEAP8[$$byval_copy38>>0]=HEAP8[$25>>0]|0;HEAP8[$$byval_copy38+1>>0]=HEAP8[$25+1>>0]|0;HEAP8[$$byval_copy38+2>>0]=HEAP8[$25+2>>0]|0;HEAP8[$$byval_copy38+3>>0]=HEAP8[$25+3>>0]|0; + _DrawText(8553,420,15,20,$$byval_copy38); _DrawPlayer(); STACKTOP = sp;return; } + } } function _UnloadAisle01Screen() { var $picture$byval_copy = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 96|0; + STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0); $picture$byval_copy = sp; - ;HEAP32[$picture$byval_copy>>2]=HEAP32[2008>>2]|0;HEAP32[$picture$byval_copy+4>>2]=HEAP32[2008+4>>2]|0;HEAP32[$picture$byval_copy+8>>2]=HEAP32[2008+8>>2]|0;HEAP32[$picture$byval_copy+12>>2]=HEAP32[2008+12>>2]|0;HEAP32[$picture$byval_copy+16>>2]=HEAP32[2008+16>>2]|0; + ;HEAP32[$picture$byval_copy>>2]=HEAP32[27332>>2]|0;HEAP32[$picture$byval_copy+4>>2]=HEAP32[27332+4>>2]|0;HEAP32[$picture$byval_copy+8>>2]=HEAP32[27332+8>>2]|0;HEAP32[$picture$byval_copy+12>>2]=HEAP32[27332+12>>2]|0;HEAP32[$picture$byval_copy+16>>2]=HEAP32[27332+16>>2]|0; _UnloadTexture($picture$byval_copy); - dest=$picture$byval_copy; src=2208; stop=dest+92|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$picture$byval_copy; src=27512; stop=dest+92|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _UnloadMonster($picture$byval_copy); - dest=$picture$byval_copy; src=2304; stop=dest+92|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$picture$byval_copy; src=27604; stop=dest+92|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _UnloadMonster($picture$byval_copy); STACKTOP = sp;return; } function _FinishAisle01Screen() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[1952>>2]|0; + $0 = HEAP32[6832]|0; return ($0|0); } function _InitAisle02Screen() { - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0.0, $15 = 0, $16 = 0.0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0.0, $23 = 0.0, $24 = 0, $25 = 0.0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0.0, $32 = 0.0, $33 = 0, $34 = 0.0, $35 = 0.0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0.0, $42 = 0.0, $43 = 0, $44 = 0.0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0.0, $50 = 0.0, $51 = 0.0, $52 = 0, $53 = 0.0, $54 = 0.0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0.0, $7 = 0, $8 = 0, $9 = 0; - var label = 0, sp = 0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0.0, $21 = 0.0, $22 = 0, $23 = 0.0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0.0, $3 = 0, $30 = 0.0, $31 = 0, $32 = 0.0, $33 = 0.0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0.0, $4 = 0, $40 = 0.0, $41 = 0, $42 = 0.0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0.0, $49 = 0.0, $5 = 0.0, $50 = 0, $51 = 0.0, $52 = 0.0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $6 = 0.0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 112|0; + STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0); $0 = sp + 80|0; - $1 = sp; - $2 = sp + 20|0; - $3 = sp + 40|0; - $4 = sp + 60|0; + $1 = sp + 60|0; + $2 = sp + 40|0; + $3 = sp + 20|0; + $4 = sp; _ResetPlayer(); - HEAP32[2664>>2] = 0; - HEAP32[2672>>2] = -1; - HEAP32[2680>>2] = 0; - HEAP32[2688>>2] = 0; - HEAP32[2696>>2] = 0; - _memset((2704|0),0,256)|0; - HEAP32[2960>>2] = 0; - HEAP32[2968>>2] = 0; - _LoadTexture($0,2976); - ;HEAP32[3024>>2]=HEAP32[$0>>2]|0;HEAP32[3024+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[3024+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[3024+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[3024+16>>2]=HEAP32[$0+16>>2]|0; - $5 = +HEAPF32[136>>2]; + HEAP32[6925] = 0; + HEAP32[10] = -1; + HEAP32[6926] = 0; + HEAP32[6927] = 0; + HEAP32[6928] = 0; + _memset((34296|0),0,256)|0; + HEAP32[6929] = 0; + HEAP32[6930] = 0; + _LoadTexture($0,6494); + ;HEAP32[27724>>2]=HEAP32[$0>>2]|0;HEAP32[27724+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[27724+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[27724+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[27724+16>>2]=HEAP32[$0+16>>2]|0; + $5 = +HEAPF32[6710]; $6 = $5 + -200.0; $7 = (~~(($6))); - HEAP32[3048>>2] = $7; - HEAPF32[3056>>2] = -10.0; - HEAPF32[(3060)>>2] = 136.0; - HEAP32[(3064)>>2] = 0; - HEAP32[(3068)>>2] = 1; - $8 = HEAP32[(92)>>2]|0; + HEAP32[6936] = $7; + HEAPF32[6937] = -10.0; + HEAPF32[(27752)>>2] = 136.0; + HEAP32[(27756)>>2] = 0; + HEAP32[(27760)>>2] = 1; + $8 = HEAP32[(26796)>>2]|0; $9 = (($8|0) / 3)&-1; - $10 = HEAP32[(3064)>>2]|0; - $11 = Math_imul($10, $9)|0; - $12 = HEAP32[(96)>>2]|0; - $13 = (($12|0) / 2)&-1; - HEAP32[(3076)>>2] = $11; - HEAP32[(3080)>>2] = $13; - HEAP32[(3084)>>2] = $9; - HEAP32[(3088)>>2] = $13; - $14 = +HEAPF32[3056>>2]; + $10 = HEAP32[(26800)>>2]|0; + $11 = (($10|0) / 2)&-1; + HEAP32[(27768)>>2] = 0; + HEAP32[(27772)>>2] = $11; + HEAP32[(27776)>>2] = $9; + HEAP32[(27780)>>2] = $11; + $12 = +HEAPF32[6937]; + $13 = (~~(($12))); + $14 = +HEAPF32[(27752)>>2]; $15 = (~~(($14))); - $16 = +HEAPF32[(3060)>>2]; - $17 = (~~(($16))); - $18 = HEAP32[(92)>>2]|0; - $19 = (($18|0) / 3)&-1; - $20 = HEAP32[(96)>>2]|0; - $21 = (($20|0) / 2)&-1; - HEAP32[(3092)>>2] = $15; - HEAP32[(3096)>>2] = $17; - HEAP32[(3100)>>2] = $19; - HEAP32[(3104)>>2] = $21; - HEAP32[(3072)>>2] = 0; - HEAPF32[3112>>2] = 1520.0; - HEAPF32[(3116)>>2] = 300.0; - _LoadTexture($1,3208); - ;HEAP32[(3120)>>2]=HEAP32[$1>>2]|0;HEAP32[(3120)+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[(3120)+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[(3120)+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[(3120)+16>>2]=HEAP32[$1+16>>2]|0; - HEAP32[(3180)>>2] = 0; - HEAP32[(3176)>>2] = 0; - HEAP32[(3188)>>2] = 4; - $22 = +HEAPF32[3112>>2]; - $23 = $22 + 200.0; + $16 = HEAP32[(26796)>>2]|0; + $17 = (($16|0) / 3)&-1; + $18 = HEAP32[(26800)>>2]|0; + $19 = (($18|0) / 2)&-1; + HEAP32[(27784)>>2] = $13; + HEAP32[(27788)>>2] = $15; + HEAP32[(27792)>>2] = $17; + HEAP32[(27796)>>2] = $19; + HEAP32[(27764)>>2] = 0; + HEAPF32[6950] = 1520.0; + HEAPF32[(27804)>>2] = 300.0; + _LoadTexture($1,6536); + ;HEAP32[(27808)>>2]=HEAP32[$1>>2]|0;HEAP32[(27808)+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[(27808)+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[(27808)+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[(27808)+16>>2]=HEAP32[$1+16>>2]|0; + HEAP32[(27868)>>2] = 0; + HEAP32[(27864)>>2] = 0; + HEAP32[(27876)>>2] = 4; + $20 = +HEAPF32[6950]; + $21 = $20 + 200.0; + $22 = (~~(($21))); + $23 = +HEAPF32[(27804)>>2]; $24 = (~~(($23))); - $25 = +HEAPF32[(3116)>>2]; - $26 = (~~(($25))); - HEAP32[(3140)>>2] = $24; - HEAP32[(3144)>>2] = $26; - HEAP32[(3148)>>2] = 90; - HEAP32[(3152)>>2] = 380; - $27 = HEAP32[(3124)>>2]|0; - $28 = HEAP32[(3188)>>2]|0; - $29 = (($27|0) / ($28|0))&-1; - $30 = HEAP32[(3128)>>2]|0; - HEAP32[(3156)>>2] = 0; - HEAP32[(3160)>>2] = 0; - HEAP32[(3164)>>2] = $29; - HEAP32[(3168)>>2] = $30; - HEAP32[(3196)>>2] = 0; - HEAP32[(3192)>>2] = 0; - HEAP32[(3200)>>2] = 1; - HEAPF32[3256>>2] = 1400.0; - HEAPF32[(3260)>>2] = 404.0; - _LoadTexture($2,8176); - ;HEAP32[(3264)>>2]=HEAP32[$2>>2]|0;HEAP32[(3264)+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[(3264)+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[(3264)+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[(3264)+16>>2]=HEAP32[$2+16>>2]|0; - HEAP32[(3324)>>2] = 0; - HEAP32[(3320)>>2] = 0; - HEAP32[(3332)>>2] = 4; - $31 = +HEAPF32[3256>>2]; - $32 = $31 + 50.0; - $33 = (~~(($32))); - $34 = +HEAPF32[(3260)>>2]; - $35 = $34 + 30.0; - $36 = (~~(($35))); - HEAP32[(3284)>>2] = $33; - HEAP32[(3288)>>2] = $36; - HEAP32[(3292)>>2] = 120; - HEAP32[(3296)>>2] = 190; - $37 = HEAP32[(3268)>>2]|0; - $38 = HEAP32[(3332)>>2]|0; - $39 = (($37|0) / ($38|0))&-1; - $40 = HEAP32[(3272)>>2]|0; - HEAP32[(3300)>>2] = 0; - HEAP32[(3304)>>2] = 0; - HEAP32[(3308)>>2] = $39; - HEAP32[(3312)>>2] = $40; - HEAP32[(3340)>>2] = 0; - HEAP32[(3336)>>2] = 0; - HEAP32[(3344)>>2] = 0; - HEAPF32[3352>>2] = 837.0; - HEAPF32[(3356)>>2] = 162.0; - _LoadTexture($3,5744); - ;HEAP32[(3360)>>2]=HEAP32[$3>>2]|0;HEAP32[(3360)+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[(3360)+8>>2]=HEAP32[$3+8>>2]|0;HEAP32[(3360)+12>>2]=HEAP32[$3+12>>2]|0;HEAP32[(3360)+16>>2]=HEAP32[$3+16>>2]|0; - HEAP32[(3420)>>2] = 0; - HEAP32[(3416)>>2] = 0; - HEAP32[(3428)>>2] = 4; - $41 = +HEAPF32[3352>>2]; - $42 = $41 + 44.0; + HEAP32[(27828)>>2] = $22; + HEAP32[(27832)>>2] = $24; + HEAP32[(27836)>>2] = 90; + HEAP32[(27840)>>2] = 380; + $25 = HEAP32[(27812)>>2]|0; + $26 = HEAP32[(27876)>>2]|0; + $27 = (($25|0) / ($26|0))&-1; + $28 = HEAP32[(27816)>>2]|0; + HEAP32[(27844)>>2] = 0; + HEAP32[(27848)>>2] = 0; + HEAP32[(27852)>>2] = $27; + HEAP32[(27856)>>2] = $28; + HEAP32[(27884)>>2] = 0; + HEAP32[(27880)>>2] = 0; + HEAP32[(27888)>>2] = 1; + HEAPF32[6973] = 1400.0; + HEAPF32[(27896)>>2] = 404.0; + _LoadTexture($2,8239); + ;HEAP32[(27900)>>2]=HEAP32[$2>>2]|0;HEAP32[(27900)+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[(27900)+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[(27900)+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[(27900)+16>>2]=HEAP32[$2+16>>2]|0; + HEAP32[(27960)>>2] = 0; + HEAP32[(27956)>>2] = 0; + HEAP32[(27968)>>2] = 4; + $29 = +HEAPF32[6973]; + $30 = $29 + 50.0; + $31 = (~~(($30))); + $32 = +HEAPF32[(27896)>>2]; + $33 = $32 + 30.0; + $34 = (~~(($33))); + HEAP32[(27920)>>2] = $31; + HEAP32[(27924)>>2] = $34; + HEAP32[(27928)>>2] = 120; + HEAP32[(27932)>>2] = 190; + $35 = HEAP32[(27904)>>2]|0; + $36 = HEAP32[(27968)>>2]|0; + $37 = (($35|0) / ($36|0))&-1; + $38 = HEAP32[(27908)>>2]|0; + HEAP32[(27936)>>2] = 0; + HEAP32[(27940)>>2] = 0; + HEAP32[(27944)>>2] = $37; + HEAP32[(27948)>>2] = $38; + HEAP32[(27976)>>2] = 0; + HEAP32[(27972)>>2] = 0; + HEAP32[(27980)>>2] = 0; + HEAPF32[6996] = 837.0; + HEAPF32[(27988)>>2] = 162.0; + _LoadTexture($3,7369); + ;HEAP32[(27992)>>2]=HEAP32[$3>>2]|0;HEAP32[(27992)+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[(27992)+8>>2]=HEAP32[$3+8>>2]|0;HEAP32[(27992)+12>>2]=HEAP32[$3+12>>2]|0;HEAP32[(27992)+16>>2]=HEAP32[$3+16>>2]|0; + HEAP32[(28052)>>2] = 0; + HEAP32[(28048)>>2] = 0; + HEAP32[(28060)>>2] = 4; + $39 = +HEAPF32[6996]; + $40 = $39 + 44.0; + $41 = (~~(($40))); + $42 = +HEAPF32[(27988)>>2]; $43 = (~~(($42))); - $44 = +HEAPF32[(3356)>>2]; - $45 = (~~(($44))); - HEAP32[(3380)>>2] = $43; - HEAP32[(3384)>>2] = $45; - HEAP32[(3388)>>2] = 174; - HEAP32[(3392)>>2] = 264; - $46 = HEAP32[(3364)>>2]|0; - $47 = HEAP32[(3428)>>2]|0; - $48 = (($46|0) / ($47|0))&-1; - $49 = HEAP32[(3368)>>2]|0; - HEAP32[(3396)>>2] = 0; - HEAP32[(3400)>>2] = 0; - HEAP32[(3404)>>2] = $48; - HEAP32[(3408)>>2] = $49; - HEAP32[(3436)>>2] = 0; - HEAP32[(3432)>>2] = 0; - HEAP32[(3440)>>2] = 1; - HEAPF32[3448>>2] = 388.0; - HEAPF32[(3452)>>2] = 423.0; - _LoadTexture($4,3544); - ;HEAP32[(3456)>>2]=HEAP32[$4>>2]|0;HEAP32[(3456)+4>>2]=HEAP32[$4+4>>2]|0;HEAP32[(3456)+8>>2]=HEAP32[$4+8>>2]|0;HEAP32[(3456)+12>>2]=HEAP32[$4+12>>2]|0;HEAP32[(3456)+16>>2]=HEAP32[$4+16>>2]|0; - HEAP32[(3516)>>2] = 0; - HEAP32[(3512)>>2] = 0; - HEAP32[(3524)>>2] = 4; - $50 = +HEAPF32[3448>>2]; - $51 = $50 + 44.0; - $52 = (~~(($51))); - $53 = +HEAPF32[(3452)>>2]; - $54 = $53 + 70.0; - $55 = (~~(($54))); - HEAP32[(3476)>>2] = $52; - HEAP32[(3480)>>2] = $55; - HEAP32[(3484)>>2] = 220; - HEAP32[(3488)>>2] = 120; - $56 = HEAP32[(3460)>>2]|0; - $57 = HEAP32[(3524)>>2]|0; - $58 = (($56|0) / ($57|0))&-1; - $59 = HEAP32[(3464)>>2]|0; - HEAP32[(3492)>>2] = 0; - HEAP32[(3496)>>2] = 0; - HEAP32[(3500)>>2] = $58; - HEAP32[(3504)>>2] = $59; - HEAP32[(3532)>>2] = 0; - HEAP32[(3528)>>2] = 0; - HEAP32[(3536)>>2] = 1; + HEAP32[(28012)>>2] = $41; + HEAP32[(28016)>>2] = $43; + HEAP32[(28020)>>2] = 174; + HEAP32[(28024)>>2] = 264; + $44 = HEAP32[(27996)>>2]|0; + $45 = HEAP32[(28060)>>2]|0; + $46 = (($44|0) / ($45|0))&-1; + $47 = HEAP32[(28000)>>2]|0; + HEAP32[(28028)>>2] = 0; + HEAP32[(28032)>>2] = 0; + HEAP32[(28036)>>2] = $46; + HEAP32[(28040)>>2] = $47; + HEAP32[(28068)>>2] = 0; + HEAP32[(28064)>>2] = 0; + HEAP32[(28072)>>2] = 1; + HEAPF32[7019] = 388.0; + HEAPF32[(28080)>>2] = 423.0; + _LoadTexture($4,6578); + ;HEAP32[(28084)>>2]=HEAP32[$4>>2]|0;HEAP32[(28084)+4>>2]=HEAP32[$4+4>>2]|0;HEAP32[(28084)+8>>2]=HEAP32[$4+8>>2]|0;HEAP32[(28084)+12>>2]=HEAP32[$4+12>>2]|0;HEAP32[(28084)+16>>2]=HEAP32[$4+16>>2]|0; + HEAP32[(28144)>>2] = 0; + HEAP32[(28140)>>2] = 0; + HEAP32[(28152)>>2] = 4; + $48 = +HEAPF32[7019]; + $49 = $48 + 44.0; + $50 = (~~(($49))); + $51 = +HEAPF32[(28080)>>2]; + $52 = $51 + 70.0; + $53 = (~~(($52))); + HEAP32[(28104)>>2] = $50; + HEAP32[(28108)>>2] = $53; + HEAP32[(28112)>>2] = 220; + HEAP32[(28116)>>2] = 120; + $54 = HEAP32[(28088)>>2]|0; + $55 = HEAP32[(28152)>>2]|0; + $56 = (($54|0) / ($55|0))&-1; + $57 = HEAP32[(28092)>>2]|0; + HEAP32[(28120)>>2] = 0; + HEAP32[(28124)>>2] = 0; + HEAP32[(28128)>>2] = $56; + HEAP32[(28132)>>2] = $57; + HEAP32[(28160)>>2] = 0; + HEAP32[(28156)>>2] = 0; + HEAP32[(28164)>>2] = 1; STACKTOP = sp;return; } function _UpdateAisle02Screen() { - var $$ = 0, $$20 = 0, $$byval_copy30 = 0, $$pr = 0, $$pr21 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0; - var $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0; - var $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0; - var $148 = 0, $149 = 0.0, $15 = 0, $150 = 0, $151 = 0.0, $152 = 0, $153 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; - var $28 = 0, $29 = 0.0, $3 = 0, $30 = 0.0, $31 = 0, $32 = 0.0, $33 = 0.0, $34 = 0, $35 = 0.0, $36 = 0.0, $37 = 0, $38 = 0.0, $39 = 0.0, $4 = 0, $40 = 0, $41 = 0.0, $42 = 0.0, $43 = 0, $44 = 0.0, $45 = 0.0; - var $46 = 0, $47 = 0.0, $48 = 0.0, $49 = 0, $5 = 0, $50 = 0.0, $51 = 0.0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0.0, $60 = 0, $61 = 0, $62 = 0, $63 = 0; - var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0.0, $80 = 0, $81 = 0; - var $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0.0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $i$023 = 0; - var $or$cond = 0, $or$cond11 = 0, $or$cond13 = 0, $or$cond15 = 0, $or$cond17 = 0, $or$cond3 = 0, $or$cond5 = 0, $or$cond7 = 0, $or$cond9 = 0, $sndScream$byval_copy34 = 0, $storemerge = 0, label = 0, sp = 0; + var $$ = 0, $$027 = 0, $$byval_copy30 = 0, $$pr = 0, $$pr25 = 0, $$sink17 = 0, $$sink18 = 0, $$sink8 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0; + var $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0; + var $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0.0, $143 = 0, $144 = 0.0; + var $145 = 0, $146 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0.0, $3 = 0, $30 = 0.0; + var $31 = 0, $32 = 0.0, $33 = 0.0, $34 = 0, $35 = 0.0, $36 = 0.0, $37 = 0.0, $38 = 0, $39 = 0.0, $4 = 0, $40 = 0.0, $41 = 0.0, $42 = 0, $43 = 0.0, $44 = 0.0, $45 = 0.0, $46 = 0, $47 = 0, $48 = 0, $49 = 0; + var $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0.0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0; + var $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0.0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0; + var $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0.0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, $or$cond10 = 0, $or$cond12 = 0, $or$cond14 = 0, $or$cond16 = 0; + var $or$cond20 = 0, $or$cond3 = 0, $or$cond5 = 0, $or$cond7 = 0, $sndScream$byval_copy34 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 80|0; + STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0); $sndScream$byval_copy34 = sp + 64|0; - $$byval_copy30 = sp; - $0 = sp + 16|0; - $1 = sp + 24|0; - $2 = sp + 32|0; - $3 = sp + 40|0; - $4 = sp + 48|0; - $5 = sp + 56|0; - $6 = +HEAPF32[3056>>2]; - $7 = HEAP32[3048>>2]|0; + $$byval_copy30 = sp + 24|0; + $0 = sp + 56|0; + $1 = sp + 48|0; + $2 = sp + 40|0; + $3 = sp + 16|0; + $4 = sp + 8|0; + $5 = sp; + $6 = +HEAPF32[6937]; + $7 = HEAP32[6936]|0; $8 = (+($7|0)); $9 = $6 - $8; $10 = (~~(($9))); - HEAP32[(3092)>>2] = $10; - $11 = HEAP32[(208)>>2]|0; + HEAP32[(27784)>>2] = $10; + $11 = HEAP32[(26912)>>2]|0; $12 = ($11|0)==(0); do { if (!($12)) { _GetMousePosition($0); ;HEAP32[$$byval_copy30>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy30+4>>2]=HEAP32[$0+4>>2]|0; - ;HEAP32[$sndScream$byval_copy34>>2]=HEAP32[(3092)>>2]|0;HEAP32[$sndScream$byval_copy34+4>>2]=HEAP32[(3092)+4>>2]|0;HEAP32[$sndScream$byval_copy34+8>>2]=HEAP32[(3092)+8>>2]|0;HEAP32[$sndScream$byval_copy34+12>>2]=HEAP32[(3092)+12>>2]|0; + ;HEAP32[$sndScream$byval_copy34>>2]=HEAP32[(27784)>>2]|0;HEAP32[$sndScream$byval_copy34+4>>2]=HEAP32[(27784)+4>>2]|0;HEAP32[$sndScream$byval_copy34+8>>2]=HEAP32[(27784)+8>>2]|0;HEAP32[$sndScream$byval_copy34+12>>2]=HEAP32[(27784)+12>>2]|0; $13 = (_CheckCollisionPointRec($$byval_copy30,$sndScream$byval_copy34)|0); $14 = ($13|0)==(0); if ($14) { - ;HEAP32[$$byval_copy30>>2]=HEAP32[(144)>>2]|0;HEAP32[$$byval_copy30+4>>2]=HEAP32[(144)+4>>2]|0;HEAP32[$$byval_copy30+8>>2]=HEAP32[(144)+8>>2]|0;HEAP32[$$byval_copy30+12>>2]=HEAP32[(144)+12>>2]|0; - ;HEAP32[$sndScream$byval_copy34>>2]=HEAP32[(3092)>>2]|0;HEAP32[$sndScream$byval_copy34+4>>2]=HEAP32[(3092)+4>>2]|0;HEAP32[$sndScream$byval_copy34+8>>2]=HEAP32[(3092)+8>>2]|0;HEAP32[$sndScream$byval_copy34+12>>2]=HEAP32[(3092)+12>>2]|0; + ;HEAP32[$$byval_copy30>>2]=HEAP32[(26848)>>2]|0;HEAP32[$$byval_copy30+4>>2]=HEAP32[(26848)+4>>2]|0;HEAP32[$$byval_copy30+8>>2]=HEAP32[(26848)+8>>2]|0;HEAP32[$$byval_copy30+12>>2]=HEAP32[(26848)+12>>2]|0; + ;HEAP32[$sndScream$byval_copy34>>2]=HEAP32[(27784)>>2]|0;HEAP32[$sndScream$byval_copy34+4>>2]=HEAP32[(27784)+4>>2]|0;HEAP32[$sndScream$byval_copy34+8>>2]=HEAP32[(27784)+8>>2]|0;HEAP32[$sndScream$byval_copy34+12>>2]=HEAP32[(27784)+12>>2]|0; $15 = (_CheckCollisionRecs($$byval_copy30,$sndScream$byval_copy34)|0); $16 = ($15|0)==(0); if ($16) { - HEAP32[(3072)>>2] = 0; + HEAP32[(27764)>>2] = 0; break; } } - HEAP32[(3072)>>2] = 1; - ;HEAP32[$$byval_copy30>>2]=HEAP32[(144)>>2]|0;HEAP32[$$byval_copy30+4>>2]=HEAP32[(144)+4>>2]|0;HEAP32[$$byval_copy30+8>>2]=HEAP32[(144)+8>>2]|0;HEAP32[$$byval_copy30+12>>2]=HEAP32[(144)+12>>2]|0; - ;HEAP32[$sndScream$byval_copy34>>2]=HEAP32[(3092)>>2]|0;HEAP32[$sndScream$byval_copy34+4>>2]=HEAP32[(3092)+4>>2]|0;HEAP32[$sndScream$byval_copy34+8>>2]=HEAP32[(3092)+8>>2]|0;HEAP32[$sndScream$byval_copy34+12>>2]=HEAP32[(3092)+12>>2]|0; + HEAP32[(27764)>>2] = 1; + ;HEAP32[$$byval_copy30>>2]=HEAP32[(26848)>>2]|0;HEAP32[$$byval_copy30+4>>2]=HEAP32[(26848)+4>>2]|0;HEAP32[$$byval_copy30+8>>2]=HEAP32[(26848)+8>>2]|0;HEAP32[$$byval_copy30+12>>2]=HEAP32[(26848)+12>>2]|0; + ;HEAP32[$sndScream$byval_copy34>>2]=HEAP32[(27784)>>2]|0;HEAP32[$sndScream$byval_copy34+4>>2]=HEAP32[(27784)+4>>2]|0;HEAP32[$sndScream$byval_copy34+8>>2]=HEAP32[(27784)+8>>2]|0;HEAP32[$sndScream$byval_copy34+12>>2]=HEAP32[(27784)+12>>2]|0; $17 = (_CheckCollisionRecs($$byval_copy30,$sndScream$byval_copy34)|0); $18 = ($17|0)==(0); if (!($18)) { @@ -15026,7 +14581,7 @@ function _UpdateAisle02Screen() { } else { _GetMousePosition($1); ;HEAP32[$$byval_copy30>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy30+4>>2]=HEAP32[$1+4>>2]|0; - ;HEAP32[$sndScream$byval_copy34>>2]=HEAP32[(3092)>>2]|0;HEAP32[$sndScream$byval_copy34+4>>2]=HEAP32[(3092)+4>>2]|0;HEAP32[$sndScream$byval_copy34+8>>2]=HEAP32[(3092)+8>>2]|0;HEAP32[$sndScream$byval_copy34+12>>2]=HEAP32[(3092)+12>>2]|0; + ;HEAP32[$sndScream$byval_copy34>>2]=HEAP32[(27784)>>2]|0;HEAP32[$sndScream$byval_copy34+4>>2]=HEAP32[(27784)+4>>2]|0;HEAP32[$sndScream$byval_copy34+8>>2]=HEAP32[(27784)+8>>2]|0;HEAP32[$sndScream$byval_copy34+12>>2]=HEAP32[(27784)+12>>2]|0; $21 = (_CheckCollisionPointRec($$byval_copy30,$sndScream$byval_copy34)|0); $22 = ($21|0)==(0); if ($22) { @@ -15040,881 +14595,922 @@ function _UpdateAisle02Screen() { break; } } - $25 = HEAP32[(3068)>>2]|0; + $25 = HEAP32[(27760)>>2]|0; $26 = ($25|0)==(0); if ($26) { - HEAP32[2968>>2] = 1; + HEAP32[6930] = 1; break; } else { - HEAP32[(3080)>>2] = 0; - HEAP32[(3068)>>2] = 0; - ;HEAP32[$sndScream$byval_copy34>>2]=HEAP32[112>>2]|0;HEAP32[$sndScream$byval_copy34+4>>2]=HEAP32[112+4>>2]|0; + HEAP32[(27772)>>2] = 0; + HEAP32[(27760)>>2] = 0; + ;HEAP32[$sndScream$byval_copy34>>2]=HEAP32[26812>>2]|0;HEAP32[$sndScream$byval_copy34+4>>2]=HEAP32[26812+4>>2]|0;HEAP32[$sndScream$byval_copy34+8>>2]=HEAP32[26812+8>>2]|0; _PlaySound($sndScream$byval_copy34); break; } } } } while(0); - $27 = HEAP32[2680>>2]|0; + $27 = HEAP32[6926]|0; $28 = ($27|0)>(2); if ($28) { _UpdatePlayer(); - _UpdateMonster(3112); - _UpdateMonster(3256); - _UpdateMonster(3352); - _UpdateMonster(3448); + _UpdateMonster(27800); + _UpdateMonster(27892); + _UpdateMonster(27984); + _UpdateMonster(28076); } - $29 = +HEAPF32[3112>>2]; + $29 = +HEAPF32[6950]; $30 = $29 + 200.0; - $31 = HEAP32[3048>>2]|0; + $31 = HEAP32[6936]|0; $32 = (+($31|0)); $33 = $30 - $32; $34 = (~~(($33))); - HEAP32[(3140)>>2] = $34; - $35 = +HEAPF32[3256>>2]; + HEAP32[(27828)>>2] = $34; + $35 = +HEAPF32[6973]; $36 = $35 + 50.0; - $37 = HEAP32[3048>>2]|0; - $38 = (+($37|0)); - $39 = $36 - $38; - $40 = (~~(($39))); - HEAP32[(3284)>>2] = $40; - $41 = +HEAPF32[3352>>2]; - $42 = $41 + 44.0; - $43 = HEAP32[3048>>2]|0; - $44 = (+($43|0)); - $45 = $42 - $44; + $37 = $36 - $32; + $38 = (~~(($37))); + HEAP32[(27920)>>2] = $38; + $39 = +HEAPF32[6996]; + $40 = $39 + 44.0; + $41 = $40 - $32; + $42 = (~~(($41))); + HEAP32[(28012)>>2] = $42; + $43 = +HEAPF32[7019]; + $44 = $43 + 44.0; + $45 = $44 - $32; $46 = (~~(($45))); - HEAP32[(3380)>>2] = $46; - $47 = +HEAPF32[3448>>2]; - $48 = $47 + 44.0; - $49 = HEAP32[3048>>2]|0; - $50 = (+($49|0)); - $51 = $48 - $50; - $52 = (~~(($51))); - HEAP32[(3476)>>2] = $52; - ;HEAP32[$$byval_copy30>>2]=HEAP32[(144)>>2]|0;HEAP32[$$byval_copy30+4>>2]=HEAP32[(144)+4>>2]|0;HEAP32[$$byval_copy30+8>>2]=HEAP32[(144)+8>>2]|0;HEAP32[$$byval_copy30+12>>2]=HEAP32[(144)+12>>2]|0; - ;HEAP32[$sndScream$byval_copy34>>2]=HEAP32[(3140)>>2]|0;HEAP32[$sndScream$byval_copy34+4>>2]=HEAP32[(3140)+4>>2]|0;HEAP32[$sndScream$byval_copy34+8>>2]=HEAP32[(3140)+8>>2]|0;HEAP32[$sndScream$byval_copy34+12>>2]=HEAP32[(3140)+12>>2]|0; - $53 = (_CheckCollisionRecs($$byval_copy30,$sndScream$byval_copy34)|0); - $54 = ($53|0)==(0); - $55 = HEAP32[(3192)>>2]|0; - $56 = ($55|0)!=(0); - $or$cond = $54 | $56; + HEAP32[(28104)>>2] = $46; + ;HEAP32[$$byval_copy30>>2]=HEAP32[(26848)>>2]|0;HEAP32[$$byval_copy30+4>>2]=HEAP32[(26848)+4>>2]|0;HEAP32[$$byval_copy30+8>>2]=HEAP32[(26848)+8>>2]|0;HEAP32[$$byval_copy30+12>>2]=HEAP32[(26848)+12>>2]|0; + ;HEAP32[$sndScream$byval_copy34>>2]=HEAP32[(27828)>>2]|0;HEAP32[$sndScream$byval_copy34+4>>2]=HEAP32[(27828)+4>>2]|0;HEAP32[$sndScream$byval_copy34+8>>2]=HEAP32[(27828)+8>>2]|0;HEAP32[$sndScream$byval_copy34+12>>2]=HEAP32[(27828)+12>>2]|0; + $47 = (_CheckCollisionRecs($$byval_copy30,$sndScream$byval_copy34)|0); + $48 = ($47|0)==(0); + $49 = HEAP32[(27880)>>2]|0; + $50 = ($49|0)!=(0); + $or$cond = $48 | $50; if ($or$cond) { - ;HEAP32[$$byval_copy30>>2]=HEAP32[(144)>>2]|0;HEAP32[$$byval_copy30+4>>2]=HEAP32[(144)+4>>2]|0;HEAP32[$$byval_copy30+8>>2]=HEAP32[(144)+8>>2]|0;HEAP32[$$byval_copy30+12>>2]=HEAP32[(144)+12>>2]|0; - ;HEAP32[$sndScream$byval_copy34>>2]=HEAP32[(3284)>>2]|0;HEAP32[$sndScream$byval_copy34+4>>2]=HEAP32[(3284)+4>>2]|0;HEAP32[$sndScream$byval_copy34+8>>2]=HEAP32[(3284)+8>>2]|0;HEAP32[$sndScream$byval_copy34+12>>2]=HEAP32[(3284)+12>>2]|0; - $57 = (_CheckCollisionRecs($$byval_copy30,$sndScream$byval_copy34)|0); - $58 = ($57|0)==(0); - $59 = HEAP32[(3336)>>2]|0; - $60 = ($59|0)!=(0); - $or$cond3 = $58 | $60; + ;HEAP32[$$byval_copy30>>2]=HEAP32[(26848)>>2]|0;HEAP32[$$byval_copy30+4>>2]=HEAP32[(26848)+4>>2]|0;HEAP32[$$byval_copy30+8>>2]=HEAP32[(26848)+8>>2]|0;HEAP32[$$byval_copy30+12>>2]=HEAP32[(26848)+12>>2]|0; + ;HEAP32[$sndScream$byval_copy34>>2]=HEAP32[(27920)>>2]|0;HEAP32[$sndScream$byval_copy34+4>>2]=HEAP32[(27920)+4>>2]|0;HEAP32[$sndScream$byval_copy34+8>>2]=HEAP32[(27920)+8>>2]|0;HEAP32[$sndScream$byval_copy34+12>>2]=HEAP32[(27920)+12>>2]|0; + $51 = (_CheckCollisionRecs($$byval_copy30,$sndScream$byval_copy34)|0); + $52 = ($51|0)==(0); + $53 = HEAP32[(27972)>>2]|0; + $54 = ($53|0)!=(0); + $or$cond3 = $52 | $54; if ($or$cond3) { - ;HEAP32[$$byval_copy30>>2]=HEAP32[(144)>>2]|0;HEAP32[$$byval_copy30+4>>2]=HEAP32[(144)+4>>2]|0;HEAP32[$$byval_copy30+8>>2]=HEAP32[(144)+8>>2]|0;HEAP32[$$byval_copy30+12>>2]=HEAP32[(144)+12>>2]|0; - ;HEAP32[$sndScream$byval_copy34>>2]=HEAP32[(3380)>>2]|0;HEAP32[$sndScream$byval_copy34+4>>2]=HEAP32[(3380)+4>>2]|0;HEAP32[$sndScream$byval_copy34+8>>2]=HEAP32[(3380)+8>>2]|0;HEAP32[$sndScream$byval_copy34+12>>2]=HEAP32[(3380)+12>>2]|0; - $61 = (_CheckCollisionRecs($$byval_copy30,$sndScream$byval_copy34)|0); - $62 = ($61|0)==(0); - $63 = HEAP32[(3432)>>2]|0; - $64 = ($63|0)!=(0); - $or$cond5 = $62 | $64; + ;HEAP32[$$byval_copy30>>2]=HEAP32[(26848)>>2]|0;HEAP32[$$byval_copy30+4>>2]=HEAP32[(26848)+4>>2]|0;HEAP32[$$byval_copy30+8>>2]=HEAP32[(26848)+8>>2]|0;HEAP32[$$byval_copy30+12>>2]=HEAP32[(26848)+12>>2]|0; + ;HEAP32[$sndScream$byval_copy34>>2]=HEAP32[(28012)>>2]|0;HEAP32[$sndScream$byval_copy34+4>>2]=HEAP32[(28012)+4>>2]|0;HEAP32[$sndScream$byval_copy34+8>>2]=HEAP32[(28012)+8>>2]|0;HEAP32[$sndScream$byval_copy34+12>>2]=HEAP32[(28012)+12>>2]|0; + $55 = (_CheckCollisionRecs($$byval_copy30,$sndScream$byval_copy34)|0); + $56 = ($55|0)==(0); + $57 = HEAP32[(28064)>>2]|0; + $58 = ($57|0)!=(0); + $or$cond5 = $56 | $58; if ($or$cond5) { - ;HEAP32[$$byval_copy30>>2]=HEAP32[(144)>>2]|0;HEAP32[$$byval_copy30+4>>2]=HEAP32[(144)+4>>2]|0;HEAP32[$$byval_copy30+8>>2]=HEAP32[(144)+8>>2]|0;HEAP32[$$byval_copy30+12>>2]=HEAP32[(144)+12>>2]|0; - ;HEAP32[$sndScream$byval_copy34>>2]=HEAP32[(3476)>>2]|0;HEAP32[$sndScream$byval_copy34+4>>2]=HEAP32[(3476)+4>>2]|0;HEAP32[$sndScream$byval_copy34+8>>2]=HEAP32[(3476)+8>>2]|0;HEAP32[$sndScream$byval_copy34+12>>2]=HEAP32[(3476)+12>>2]|0; - $65 = (_CheckCollisionRecs($$byval_copy30,$sndScream$byval_copy34)|0); - $66 = ($65|0)==(0); - $67 = HEAP32[(3528)>>2]|0; - $68 = ($67|0)!=(0); - $or$cond7 = $66 | $68; - $69 = $or$cond7&1; - $$20 = $69 ^ 1; - $storemerge = $$20; + ;HEAP32[$$byval_copy30>>2]=HEAP32[(26848)>>2]|0;HEAP32[$$byval_copy30+4>>2]=HEAP32[(26848)+4>>2]|0;HEAP32[$$byval_copy30+8>>2]=HEAP32[(26848)+8>>2]|0;HEAP32[$$byval_copy30+12>>2]=HEAP32[(26848)+12>>2]|0; + ;HEAP32[$sndScream$byval_copy34>>2]=HEAP32[(28104)>>2]|0;HEAP32[$sndScream$byval_copy34+4>>2]=HEAP32[(28104)+4>>2]|0;HEAP32[$sndScream$byval_copy34+8>>2]=HEAP32[(28104)+8>>2]|0;HEAP32[$sndScream$byval_copy34+12>>2]=HEAP32[(28104)+12>>2]|0; + $59 = (_CheckCollisionRecs($$byval_copy30,$sndScream$byval_copy34)|0); + $60 = ($59|0)==(0); + $61 = HEAP32[(28156)>>2]|0; + $62 = ($61|0)!=(0); + $or$cond7 = $60 | $62; + if ($or$cond7) { + $$sink8 = 0; + } else { + label = 18; + } } else { - $storemerge = 1; + label = 18; } } else { - $storemerge = 1; + label = 18; } } else { - $storemerge = 1; + label = 18; } - HEAP32[2664>>2] = $storemerge; - ;HEAP32[$$byval_copy30>>2]=HEAP32[(144)>>2]|0;HEAP32[$$byval_copy30+4>>2]=HEAP32[(144)+4>>2]|0;HEAP32[$$byval_copy30+8>>2]=HEAP32[(144)+8>>2]|0;HEAP32[$$byval_copy30+12>>2]=HEAP32[(144)+12>>2]|0; - ;HEAP32[$sndScream$byval_copy34>>2]=HEAP32[(3140)>>2]|0;HEAP32[$sndScream$byval_copy34+4>>2]=HEAP32[(3140)+4>>2]|0;HEAP32[$sndScream$byval_copy34+8>>2]=HEAP32[(3140)+8>>2]|0;HEAP32[$sndScream$byval_copy34+12>>2]=HEAP32[(3140)+12>>2]|0; - $70 = (_CheckCollisionRecs($$byval_copy30,$sndScream$byval_copy34)|0); - $71 = ($70|0)==(0); - $72 = HEAP32[(3192)>>2]|0; - $73 = ($72|0)!=(0); - $or$cond9 = $71 | $73; + if ((label|0) == 18) { + $$sink8 = 1; + } + HEAP32[6925] = $$sink8; + ;HEAP32[$$byval_copy30>>2]=HEAP32[(26848)>>2]|0;HEAP32[$$byval_copy30+4>>2]=HEAP32[(26848)+4>>2]|0;HEAP32[$$byval_copy30+8>>2]=HEAP32[(26848)+8>>2]|0;HEAP32[$$byval_copy30+12>>2]=HEAP32[(26848)+12>>2]|0; + ;HEAP32[$sndScream$byval_copy34>>2]=HEAP32[(27828)>>2]|0;HEAP32[$sndScream$byval_copy34+4>>2]=HEAP32[(27828)+4>>2]|0;HEAP32[$sndScream$byval_copy34+8>>2]=HEAP32[(27828)+8>>2]|0;HEAP32[$sndScream$byval_copy34+12>>2]=HEAP32[(27828)+12>>2]|0; + $63 = (_CheckCollisionRecs($$byval_copy30,$sndScream$byval_copy34)|0); + $64 = ($63|0)==(0); + $65 = HEAP32[(27880)>>2]|0; + $66 = ($65|0)!=(0); + $or$cond10 = $64 | $66; do { - if ($or$cond9) { - HEAP32[(3196)>>2] = 0; + if ($or$cond10) { + HEAP32[(27884)>>2] = 0; } else { - HEAP32[(3196)>>2] = 1; - $74 = (_IsKeyPressed(32)|0); - $75 = ($74|0)==(0); - if ($75) { - $76 = (_IsMouseButtonPressed(0)|0); - $77 = ($76|0)==(0); - if ($77) { + HEAP32[(27884)>>2] = 1; + $67 = (_IsKeyPressed(32)|0); + $68 = ($67|0)==(0); + if ($68) { + $69 = (_IsMouseButtonPressed(0)|0); + $70 = ($69|0)==(0); + if ($70) { break; } _GetMousePosition($2); ;HEAP32[$$byval_copy30>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy30+4>>2]=HEAP32[$2+4>>2]|0; - ;HEAP32[$sndScream$byval_copy34>>2]=HEAP32[(3140)>>2]|0;HEAP32[$sndScream$byval_copy34+4>>2]=HEAP32[(3140)+4>>2]|0;HEAP32[$sndScream$byval_copy34+8>>2]=HEAP32[(3140)+8>>2]|0;HEAP32[$sndScream$byval_copy34+12>>2]=HEAP32[(3140)+12>>2]|0; - $78 = (_CheckCollisionPointRec($$byval_copy30,$sndScream$byval_copy34)|0); - $79 = ($78|0)==(0); - if ($79) { + ;HEAP32[$sndScream$byval_copy34>>2]=HEAP32[(27828)>>2]|0;HEAP32[$sndScream$byval_copy34+4>>2]=HEAP32[(27828)+4>>2]|0;HEAP32[$sndScream$byval_copy34+8>>2]=HEAP32[(27828)+8>>2]|0;HEAP32[$sndScream$byval_copy34+12>>2]=HEAP32[(27828)+12>>2]|0; + $71 = (_CheckCollisionPointRec($$byval_copy30,$sndScream$byval_copy34)|0); + $72 = ($71|0)==(0); + if ($72) { break; } } _SearchKeyPlayer(); - HEAP32[3584>>2] = 1; - HEAP32[2960>>2] = 0; - HEAP32[2672>>2] = 1; + HEAP32[7042] = 1; + HEAP32[6929] = 0; + HEAP32[10] = 1; } } while(0); - ;HEAP32[$$byval_copy30>>2]=HEAP32[(144)>>2]|0;HEAP32[$$byval_copy30+4>>2]=HEAP32[(144)+4>>2]|0;HEAP32[$$byval_copy30+8>>2]=HEAP32[(144)+8>>2]|0;HEAP32[$$byval_copy30+12>>2]=HEAP32[(144)+12>>2]|0; - ;HEAP32[$sndScream$byval_copy34>>2]=HEAP32[(3284)>>2]|0;HEAP32[$sndScream$byval_copy34+4>>2]=HEAP32[(3284)+4>>2]|0;HEAP32[$sndScream$byval_copy34+8>>2]=HEAP32[(3284)+8>>2]|0;HEAP32[$sndScream$byval_copy34+12>>2]=HEAP32[(3284)+12>>2]|0; - $80 = (_CheckCollisionRecs($$byval_copy30,$sndScream$byval_copy34)|0); - $81 = ($80|0)==(0); - $82 = HEAP32[(3336)>>2]|0; - $83 = ($82|0)!=(0); - $or$cond11 = $81 | $83; + ;HEAP32[$$byval_copy30>>2]=HEAP32[(26848)>>2]|0;HEAP32[$$byval_copy30+4>>2]=HEAP32[(26848)+4>>2]|0;HEAP32[$$byval_copy30+8>>2]=HEAP32[(26848)+8>>2]|0;HEAP32[$$byval_copy30+12>>2]=HEAP32[(26848)+12>>2]|0; + ;HEAP32[$sndScream$byval_copy34>>2]=HEAP32[(27920)>>2]|0;HEAP32[$sndScream$byval_copy34+4>>2]=HEAP32[(27920)+4>>2]|0;HEAP32[$sndScream$byval_copy34+8>>2]=HEAP32[(27920)+8>>2]|0;HEAP32[$sndScream$byval_copy34+12>>2]=HEAP32[(27920)+12>>2]|0; + $73 = (_CheckCollisionRecs($$byval_copy30,$sndScream$byval_copy34)|0); + $74 = ($73|0)==(0); + $75 = HEAP32[(27972)>>2]|0; + $76 = ($75|0)!=(0); + $or$cond12 = $74 | $76; do { - if ($or$cond11) { - HEAP32[(3340)>>2] = 0; + if ($or$cond12) { + HEAP32[(27976)>>2] = 0; } else { - HEAP32[(3340)>>2] = 1; - $84 = (_IsKeyPressed(32)|0); - $85 = ($84|0)==(0); - if ($85) { - $86 = (_IsMouseButtonPressed(0)|0); - $87 = ($86|0)==(0); - if ($87) { + HEAP32[(27976)>>2] = 1; + $77 = (_IsKeyPressed(32)|0); + $78 = ($77|0)==(0); + if ($78) { + $79 = (_IsMouseButtonPressed(0)|0); + $80 = ($79|0)==(0); + if ($80) { break; } _GetMousePosition($3); ;HEAP32[$$byval_copy30>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy30+4>>2]=HEAP32[$3+4>>2]|0; - ;HEAP32[$sndScream$byval_copy34>>2]=HEAP32[(3284)>>2]|0;HEAP32[$sndScream$byval_copy34+4>>2]=HEAP32[(3284)+4>>2]|0;HEAP32[$sndScream$byval_copy34+8>>2]=HEAP32[(3284)+8>>2]|0;HEAP32[$sndScream$byval_copy34+12>>2]=HEAP32[(3284)+12>>2]|0; - $88 = (_CheckCollisionPointRec($$byval_copy30,$sndScream$byval_copy34)|0); - $89 = ($88|0)==(0); - if ($89) { + ;HEAP32[$sndScream$byval_copy34>>2]=HEAP32[(27920)>>2]|0;HEAP32[$sndScream$byval_copy34+4>>2]=HEAP32[(27920)+4>>2]|0;HEAP32[$sndScream$byval_copy34+8>>2]=HEAP32[(27920)+8>>2]|0;HEAP32[$sndScream$byval_copy34+12>>2]=HEAP32[(27920)+12>>2]|0; + $81 = (_CheckCollisionPointRec($$byval_copy30,$sndScream$byval_copy34)|0); + $82 = ($81|0)==(0); + if ($82) { break; } } _SearchKeyPlayer(); - HEAP32[3584>>2] = 1; - HEAP32[2960>>2] = 0; - HEAP32[2672>>2] = 2; + HEAP32[7042] = 1; + HEAP32[6929] = 0; + HEAP32[10] = 2; } } while(0); - ;HEAP32[$$byval_copy30>>2]=HEAP32[(144)>>2]|0;HEAP32[$$byval_copy30+4>>2]=HEAP32[(144)+4>>2]|0;HEAP32[$$byval_copy30+8>>2]=HEAP32[(144)+8>>2]|0;HEAP32[$$byval_copy30+12>>2]=HEAP32[(144)+12>>2]|0; - ;HEAP32[$sndScream$byval_copy34>>2]=HEAP32[(3380)>>2]|0;HEAP32[$sndScream$byval_copy34+4>>2]=HEAP32[(3380)+4>>2]|0;HEAP32[$sndScream$byval_copy34+8>>2]=HEAP32[(3380)+8>>2]|0;HEAP32[$sndScream$byval_copy34+12>>2]=HEAP32[(3380)+12>>2]|0; - $90 = (_CheckCollisionRecs($$byval_copy30,$sndScream$byval_copy34)|0); - $91 = ($90|0)==(0); - $92 = HEAP32[(3432)>>2]|0; - $93 = ($92|0)!=(0); - $or$cond13 = $91 | $93; + ;HEAP32[$$byval_copy30>>2]=HEAP32[(26848)>>2]|0;HEAP32[$$byval_copy30+4>>2]=HEAP32[(26848)+4>>2]|0;HEAP32[$$byval_copy30+8>>2]=HEAP32[(26848)+8>>2]|0;HEAP32[$$byval_copy30+12>>2]=HEAP32[(26848)+12>>2]|0; + ;HEAP32[$sndScream$byval_copy34>>2]=HEAP32[(28012)>>2]|0;HEAP32[$sndScream$byval_copy34+4>>2]=HEAP32[(28012)+4>>2]|0;HEAP32[$sndScream$byval_copy34+8>>2]=HEAP32[(28012)+8>>2]|0;HEAP32[$sndScream$byval_copy34+12>>2]=HEAP32[(28012)+12>>2]|0; + $83 = (_CheckCollisionRecs($$byval_copy30,$sndScream$byval_copy34)|0); + $84 = ($83|0)==(0); + $85 = HEAP32[(28064)>>2]|0; + $86 = ($85|0)!=(0); + $or$cond14 = $84 | $86; do { - if ($or$cond13) { - HEAP32[(3436)>>2] = 0; + if ($or$cond14) { + HEAP32[(28068)>>2] = 0; } else { - HEAP32[(3436)>>2] = 1; - $94 = (_IsKeyPressed(32)|0); - $95 = ($94|0)==(0); - if ($95) { - $96 = (_IsMouseButtonPressed(0)|0); - $97 = ($96|0)==(0); - if ($97) { + HEAP32[(28068)>>2] = 1; + $87 = (_IsKeyPressed(32)|0); + $88 = ($87|0)==(0); + if ($88) { + $89 = (_IsMouseButtonPressed(0)|0); + $90 = ($89|0)==(0); + if ($90) { break; } _GetMousePosition($4); ;HEAP32[$$byval_copy30>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy30+4>>2]=HEAP32[$4+4>>2]|0; - ;HEAP32[$sndScream$byval_copy34>>2]=HEAP32[(3380)>>2]|0;HEAP32[$sndScream$byval_copy34+4>>2]=HEAP32[(3380)+4>>2]|0;HEAP32[$sndScream$byval_copy34+8>>2]=HEAP32[(3380)+8>>2]|0;HEAP32[$sndScream$byval_copy34+12>>2]=HEAP32[(3380)+12>>2]|0; - $98 = (_CheckCollisionPointRec($$byval_copy30,$sndScream$byval_copy34)|0); - $99 = ($98|0)==(0); - if ($99) { + ;HEAP32[$sndScream$byval_copy34>>2]=HEAP32[(28012)>>2]|0;HEAP32[$sndScream$byval_copy34+4>>2]=HEAP32[(28012)+4>>2]|0;HEAP32[$sndScream$byval_copy34+8>>2]=HEAP32[(28012)+8>>2]|0;HEAP32[$sndScream$byval_copy34+12>>2]=HEAP32[(28012)+12>>2]|0; + $91 = (_CheckCollisionPointRec($$byval_copy30,$sndScream$byval_copy34)|0); + $92 = ($91|0)==(0); + if ($92) { break; } } _SearchKeyPlayer(); - HEAP32[3584>>2] = 1; - HEAP32[2960>>2] = 0; - HEAP32[2672>>2] = 3; + HEAP32[7042] = 1; + HEAP32[6929] = 0; + HEAP32[10] = 3; } } while(0); - ;HEAP32[$$byval_copy30>>2]=HEAP32[(144)>>2]|0;HEAP32[$$byval_copy30+4>>2]=HEAP32[(144)+4>>2]|0;HEAP32[$$byval_copy30+8>>2]=HEAP32[(144)+8>>2]|0;HEAP32[$$byval_copy30+12>>2]=HEAP32[(144)+12>>2]|0; - ;HEAP32[$sndScream$byval_copy34>>2]=HEAP32[(3476)>>2]|0;HEAP32[$sndScream$byval_copy34+4>>2]=HEAP32[(3476)+4>>2]|0;HEAP32[$sndScream$byval_copy34+8>>2]=HEAP32[(3476)+8>>2]|0;HEAP32[$sndScream$byval_copy34+12>>2]=HEAP32[(3476)+12>>2]|0; - $100 = (_CheckCollisionRecs($$byval_copy30,$sndScream$byval_copy34)|0); - $101 = ($100|0)==(0); - $102 = HEAP32[(3528)>>2]|0; - $103 = ($102|0)!=(0); - $or$cond15 = $101 | $103; + ;HEAP32[$$byval_copy30>>2]=HEAP32[(26848)>>2]|0;HEAP32[$$byval_copy30+4>>2]=HEAP32[(26848)+4>>2]|0;HEAP32[$$byval_copy30+8>>2]=HEAP32[(26848)+8>>2]|0;HEAP32[$$byval_copy30+12>>2]=HEAP32[(26848)+12>>2]|0; + ;HEAP32[$sndScream$byval_copy34>>2]=HEAP32[(28104)>>2]|0;HEAP32[$sndScream$byval_copy34+4>>2]=HEAP32[(28104)+4>>2]|0;HEAP32[$sndScream$byval_copy34+8>>2]=HEAP32[(28104)+8>>2]|0;HEAP32[$sndScream$byval_copy34+12>>2]=HEAP32[(28104)+12>>2]|0; + $93 = (_CheckCollisionRecs($$byval_copy30,$sndScream$byval_copy34)|0); + $94 = ($93|0)==(0); + $95 = HEAP32[(28156)>>2]|0; + $96 = ($95|0)!=(0); + $or$cond16 = $94 | $96; do { - if ($or$cond15) { - HEAP32[(3532)>>2] = 0; - label = 42; + if ($or$cond16) { + HEAP32[(28160)>>2] = 0; + label = 43; } else { - HEAP32[(3532)>>2] = 1; - $104 = (_IsKeyPressed(32)|0); - $105 = ($104|0)==(0); - if ($105) { - $106 = (_IsMouseButtonPressed(0)|0); - $107 = ($106|0)==(0); - if ($107) { - label = 42; + HEAP32[(28160)>>2] = 1; + $97 = (_IsKeyPressed(32)|0); + $98 = ($97|0)==(0); + if ($98) { + $99 = (_IsMouseButtonPressed(0)|0); + $100 = ($99|0)==(0); + if ($100) { + label = 43; break; } _GetMousePosition($5); ;HEAP32[$$byval_copy30>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy30+4>>2]=HEAP32[$5+4>>2]|0; - ;HEAP32[$sndScream$byval_copy34>>2]=HEAP32[(3476)>>2]|0;HEAP32[$sndScream$byval_copy34+4>>2]=HEAP32[(3476)+4>>2]|0;HEAP32[$sndScream$byval_copy34+8>>2]=HEAP32[(3476)+8>>2]|0;HEAP32[$sndScream$byval_copy34+12>>2]=HEAP32[(3476)+12>>2]|0; - $108 = (_CheckCollisionPointRec($$byval_copy30,$sndScream$byval_copy34)|0); - $109 = ($108|0)==(0); - if ($109) { - label = 42; + ;HEAP32[$sndScream$byval_copy34>>2]=HEAP32[(28104)>>2]|0;HEAP32[$sndScream$byval_copy34+4>>2]=HEAP32[(28104)+4>>2]|0;HEAP32[$sndScream$byval_copy34+8>>2]=HEAP32[(28104)+8>>2]|0;HEAP32[$sndScream$byval_copy34+12>>2]=HEAP32[(28104)+12>>2]|0; + $101 = (_CheckCollisionPointRec($$byval_copy30,$sndScream$byval_copy34)|0); + $102 = ($101|0)==(0); + if ($102) { + label = 43; break; } } _SearchKeyPlayer(); - HEAP32[3584>>2] = 1; - HEAP32[2672>>2] = 4; - HEAP32[2960>>2] = 1; + HEAP32[7042] = 1; + HEAP32[10] = 4; + HEAP32[6929] = 1; } } while(0); - if ((label|0) == 42) { - $$pr = HEAP32[3584>>2]|0; - $110 = ($$pr|0)==(0); - if (!($110)) { - $$pr21 = HEAP32[2960>>2]|0; - $111 = (($$pr21) + 1)|0; - HEAP32[2960>>2] = $111; - $112 = ($$pr21|0)>(179); - if ($112) { - $113 = HEAP32[2672>>2]|0; - if ((($113|0) == 3)) { - $118 = HEAP32[(3440)>>2]|0; - $119 = ($118|0)==(0); - if ($119) { - _FindKeyPlayer(); - } else { - _ScarePlayer(); - ;HEAP32[$sndScream$byval_copy34>>2]=HEAP32[120>>2]|0;HEAP32[$sndScream$byval_copy34+4>>2]=HEAP32[120+4>>2]|0; - _PlaySound($sndScream$byval_copy34); + if ((label|0) == 43) { + $$pr = HEAP32[7042]|0; + $103 = ($$pr|0)==(0); + if (!($103)) { + $$pr25 = HEAP32[6929]|0; + $104 = (($$pr25) + 1)|0; + HEAP32[6929] = $104; + $105 = ($$pr25|0)>(179); + if ($105) { + $106 = HEAP32[10]|0; + L62: do { + switch ($106|0) { + case 1: { + $107 = HEAP32[(27888)>>2]|0; + $108 = ($107|0)==(0); + if ($108) { + _FindKeyPlayer(); + $$sink17 = (27884);$$sink18 = (27880); + label = 58; + break L62; + } else { + _ScarePlayer(); + ;HEAP32[$sndScream$byval_copy34>>2]=HEAP32[26824>>2]|0;HEAP32[$sndScream$byval_copy34+4>>2]=HEAP32[26824+4>>2]|0;HEAP32[$sndScream$byval_copy34+8>>2]=HEAP32[26824+8>>2]|0; + _PlaySound($sndScream$byval_copy34); + $$sink17 = (27884);$$sink18 = (27880); + label = 58; + break L62; + } + break; } - HEAP32[(3432)>>2] = 1; - HEAP32[(3436)>>2] = 0; - } else if ((($113|0) == 4)) { - $120 = HEAP32[(3536)>>2]|0; - $121 = ($120|0)==(0); - if ($121) { - _FindKeyPlayer(); - } else { - _ScarePlayer(); - ;HEAP32[$sndScream$byval_copy34>>2]=HEAP32[120>>2]|0;HEAP32[$sndScream$byval_copy34+4>>2]=HEAP32[120+4>>2]|0; - _PlaySound($sndScream$byval_copy34); + case 2: { + $109 = HEAP32[(27980)>>2]|0; + $110 = ($109|0)==(0); + if ($110) { + _FindKeyPlayer(); + $$sink17 = (27976);$$sink18 = (27972); + label = 58; + break L62; + } else { + _ScarePlayer(); + ;HEAP32[$sndScream$byval_copy34>>2]=HEAP32[26824>>2]|0;HEAP32[$sndScream$byval_copy34+4>>2]=HEAP32[26824+4>>2]|0;HEAP32[$sndScream$byval_copy34+8>>2]=HEAP32[26824+8>>2]|0; + _PlaySound($sndScream$byval_copy34); + $$sink17 = (27976);$$sink18 = (27972); + label = 58; + break L62; + } + break; } - HEAP32[(3528)>>2] = 1; - HEAP32[(3532)>>2] = 0; - } else if ((($113|0) == 1)) { - $114 = HEAP32[(3200)>>2]|0; - $115 = ($114|0)==(0); - if ($115) { - _FindKeyPlayer(); - } else { - _ScarePlayer(); - ;HEAP32[$sndScream$byval_copy34>>2]=HEAP32[120>>2]|0;HEAP32[$sndScream$byval_copy34+4>>2]=HEAP32[120+4>>2]|0; - _PlaySound($sndScream$byval_copy34); + case 3: { + $111 = HEAP32[(28072)>>2]|0; + $112 = ($111|0)==(0); + if ($112) { + _FindKeyPlayer(); + $$sink17 = (28068);$$sink18 = (28064); + label = 58; + break L62; + } else { + _ScarePlayer(); + ;HEAP32[$sndScream$byval_copy34>>2]=HEAP32[26824>>2]|0;HEAP32[$sndScream$byval_copy34+4>>2]=HEAP32[26824+4>>2]|0;HEAP32[$sndScream$byval_copy34+8>>2]=HEAP32[26824+8>>2]|0; + _PlaySound($sndScream$byval_copy34); + $$sink17 = (28068);$$sink18 = (28064); + label = 58; + break L62; + } + break; } - HEAP32[(3192)>>2] = 1; - HEAP32[(3196)>>2] = 0; - } else if ((($113|0) == 2)) { - $116 = HEAP32[(3344)>>2]|0; - $117 = ($116|0)==(0); - if ($117) { - _FindKeyPlayer(); - } else { - _ScarePlayer(); - ;HEAP32[$sndScream$byval_copy34>>2]=HEAP32[120>>2]|0;HEAP32[$sndScream$byval_copy34+4>>2]=HEAP32[120+4>>2]|0; - _PlaySound($sndScream$byval_copy34); + case 4: { + $113 = HEAP32[(28164)>>2]|0; + $114 = ($113|0)==(0); + if ($114) { + _FindKeyPlayer(); + $$sink17 = (28160);$$sink18 = (28156); + label = 58; + break L62; + } else { + _ScarePlayer(); + ;HEAP32[$sndScream$byval_copy34>>2]=HEAP32[26824>>2]|0;HEAP32[$sndScream$byval_copy34+4>>2]=HEAP32[26824+4>>2]|0;HEAP32[$sndScream$byval_copy34+8>>2]=HEAP32[26824+8>>2]|0; + _PlaySound($sndScream$byval_copy34); + $$sink17 = (28160);$$sink18 = (28156); + label = 58; + break L62; + } + break; } - HEAP32[(3336)>>2] = 1; - HEAP32[(3340)>>2] = 0; + default: { + } + } + } while(0); + if ((label|0) == 58) { + HEAP32[$$sink18>>2] = 1; + HEAP32[$$sink17>>2] = 0; } - HEAP32[3584>>2] = 0; - HEAP32[2960>>2] = 0; + HEAP32[7042] = 0; + HEAP32[6929] = 0; } } } - $122 = HEAP32[2960>>2]|0; - $123 = (($122) + 1)|0; - HEAP32[2960>>2] = $123; - $124 = $123 & 1; - $125 = ($124|0)==(0); - if ($125) { - $126 = HEAP32[2696>>2]|0; - $127 = (($126) + 1)|0; - HEAP32[2696>>2] = $127; + $115 = HEAP32[6929]|0; + $116 = (($115) + 1)|0; + HEAP32[6929] = $116; + $117 = $116 & 1; + $118 = ($117|0)==(0); + if ($118) { + $119 = HEAP32[6928]|0; + $120 = (($119) + 1)|0; + HEAP32[6928] = $120; } - $128 = HEAP32[2680>>2]|0; + $121 = HEAP32[6926]|0; + $122 = ($121|0)==(0); do { - if ((($128|0) == 1)) { - $139 = HEAP32[2688>>2]|0; - $140 = (($139) + 1)|0; - HEAP32[2688>>2] = $140; - $141 = (_IsKeyPressed(257)|0); - $142 = ($141|0)==(0); - if ($142) { - $143 = (_IsMouseButtonPressed(0)|0); - $144 = ($143|0)==(0); - if ($144) { - break; - } - } - HEAP32[2680>>2] = 2; - HEAP32[2688>>2] = 0; - } else if ((($128|0) == 0)) { - $129 = HEAP32[2696>>2]|0; - $130 = ($129|0)<(61); - if ($130) { - (_strncpy((2704|0),(3592|0),($129|0))|0); + if ($122) { + $123 = HEAP32[6928]|0; + $124 = ($123|0)<(61); + if ($124) { + (_strncpy(34296,6613,$123)|0); } else { - $131 = (_strlen((2704|0))|0); - $132 = ($131|0)>(0); - if ($132) { - $i$023 = 0; + $125 = (_strlen(34296)|0); + $126 = ($125|0)>(0); + if ($126) { + $$027 = 0; while(1) { - $133 = (2704 + ($i$023)|0); - HEAP8[$133>>0] = 0; - $134 = (($i$023) + 1)|0; - $135 = (_strlen((2704|0))|0); - $136 = ($134|0)<($135|0); - if ($136) { - $i$023 = $134; + $127 = (34296 + ($$027)|0); + HEAP8[$127>>0] = 0; + $128 = (($$027) + 1)|0; + $129 = (_strlen(34296)|0); + $130 = ($128|0)<($129|0); + if ($130) { + $$027 = $128; } else { break; } } } - HEAP32[2696>>2] = 0; - HEAP32[2680>>2] = 1; + HEAP32[6928] = 0; + HEAP32[6926] = 1; } - $137 = (_IsKeyPressed(257)|0); - $138 = ($137|0)==(0); - if (!($138)) { - HEAP32[2680>>2] = 1; + $131 = (_IsKeyPressed(257)|0); + $132 = ($131|0)==(0); + if (!($132)) { + HEAP32[6926] = 1; } } else { - $145 = ($128|0)==(2); - $146 = HEAP32[2688>>2]|0; - $147 = (($146) + 1)|0; - HEAP32[2688>>2] = $147; - $148 = ($146|0)>(179); - $or$cond17 = $145 & $148; - if ($or$cond17) { - HEAP32[2680>>2] = 3; + $133 = ($121|0)==(1); + $134 = HEAP32[6927]|0; + $135 = (($134) + 1)|0; + HEAP32[6927] = $135; + if (!($133)) { + $140 = ($121|0)==(2); + $141 = ($134|0)>(179); + $or$cond20 = $140 & $141; + if (!($or$cond20)) { + break; + } + HEAP32[6926] = 3; + break; } + $136 = (_IsKeyPressed(257)|0); + $137 = ($136|0)==(0); + if ($137) { + $138 = (_IsMouseButtonPressed(0)|0); + $139 = ($138|0)==(0); + if ($139) { + break; + } + } + HEAP32[6926] = 2; + HEAP32[6927] = 0; } } while(0); - $149 = +HEAPF32[136>>2]; - $150 = $149 > 200.0; - if (!($150)) { + $142 = +HEAPF32[6710]; + $143 = $142 > 200.0; + $144 = $142 + -200.0; + $145 = (~~(($144))); + if (!($143)) { STACKTOP = sp;return; } - $151 = $149 + -200.0; - $152 = (~~(($151))); - $153 = ($152|0)>(620); - $$ = $153 ? 620 : $152; - HEAP32[3048>>2] = $$; + $146 = ($145|0)<(620); + $$ = $146 ? $145 : 620; + HEAP32[6936] = $$; STACKTOP = sp;return; } function _DrawAisle02Screen() { - var $$byval_copy25 = 0, $$byval_copy29 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; - var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0.0, $32 = 0, $33 = 0.0, $34 = 0.0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0; - var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0; - var $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0; - var $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0; - var $98 = 0, $doorScrollPos = 0, $doors$byval_copy2 = 0, $font$byval_copy13 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + var $$byval_copy26 = 0, $$byval_copy30 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0; + var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0.0, $33 = 0, $34 = 0.0, $35 = 0.0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0; + var $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0.0, $58 = 0; + var $59 = 0, $6 = 0, $60 = 0.0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0; + var $77 = 0.0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0; + var $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $doors$byval_copy3 = 0, $font$byval_copy14 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 288|0; - $$byval_copy29 = sp + 36|0; - $$byval_copy25 = sp + 164|0; - $font$byval_copy13 = sp + 184|0; - $doors$byval_copy2 = sp + 144|0; - $0 = sp + 32|0; - $doorScrollPos = sp + 24|0; - $1 = sp + 268|0; - $2 = sp + 4|0; - $3 = sp + 272|0; - $4 = sp + 276|0; - $5 = sp + 284|0; - $6 = sp + 280|0; - $7 = sp + 16|0; - $8 = sp; - $9 = sp + 8|0; - $10 = sp + 140|0; - $11 = sp + 264|0; - $12 = sp + 128|0; - $13 = sp + 136|0; - $14 = sp + 260|0; - $15 = sp + 224|0; - $16 = sp + 232|0; - $17 = sp + 236|0; - $18 = sp + 220|0; - $19 = sp + 228|0; - $20 = sp + 240|0; - $21 = sp + 244|0; - $22 = sp + 248|0; - $23 = sp + 252|0; - $24 = sp + 256|0; - $25 = HEAP32[3048>>2]|0; - $26 = (0 - ($25))|0; + STACKTOP = STACKTOP + 304|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(304|0); + $$byval_copy30 = sp + 132|0; + $$byval_copy26 = sp + 108|0; + $font$byval_copy14 = sp + 32|0; + $doors$byval_copy3 = sp + 8|0; + $0 = sp + 128|0; + $1 = sp; + $2 = sp + 288|0; + $3 = sp + 104|0; + $4 = sp + 284|0; + $5 = sp + 280|0; + $6 = sp + 276|0; + $7 = sp + 272|0; + $8 = sp + 96|0; + $9 = sp + 88|0; + $10 = sp + 80|0; + $11 = sp + 72|0; + $12 = sp + 268|0; + $13 = sp + 64|0; + $14 = sp + 28|0; + $15 = sp + 264|0; + $16 = sp + 260|0; + $17 = sp + 256|0; + $18 = sp + 252|0; + $19 = sp + 248|0; + $20 = sp + 244|0; + $21 = sp + 240|0; + $22 = sp + 236|0; + $23 = sp + 232|0; + $24 = sp + 228|0; + $25 = sp + 224|0; + $26 = HEAP32[6936]|0; + $27 = (0 - ($26))|0; HEAP32[$0>>2] = -1; - ;HEAP32[$$byval_copy25>>2]=HEAP32[3024>>2]|0;HEAP32[$$byval_copy25+4>>2]=HEAP32[3024+4>>2]|0;HEAP32[$$byval_copy25+8>>2]=HEAP32[3024+8>>2]|0;HEAP32[$$byval_copy25+12>>2]=HEAP32[3024+12>>2]|0;HEAP32[$$byval_copy25+16>>2]=HEAP32[3024+16>>2]|0; - ;HEAP8[$$byval_copy29>>0]=HEAP8[$0>>0]|0;HEAP8[$$byval_copy29+1>>0]=HEAP8[$0+1>>0]|0;HEAP8[$$byval_copy29+2>>0]=HEAP8[$0+2>>0]|0;HEAP8[$$byval_copy29+3>>0]=HEAP8[$0+3>>0]|0; - _DrawTexture($$byval_copy25,$26,0,$$byval_copy29); - $27 = HEAP32[3048>>2]|0; - dest=$$byval_copy29; src=3112; stop=dest+92|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _DrawMonster($$byval_copy29,$27); - $28 = HEAP32[3048>>2]|0; - dest=$$byval_copy29; src=3448; stop=dest+92|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _DrawMonster($$byval_copy29,$28); - $29 = HEAP32[3048>>2]|0; - dest=$$byval_copy29; src=3352; stop=dest+92|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _DrawMonster($$byval_copy29,$29); - $30 = HEAP32[3048>>2]|0; - dest=$$byval_copy29; src=3256; stop=dest+92|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _DrawMonster($$byval_copy29,$30); - $31 = +HEAPF32[3056>>2]; - $32 = HEAP32[3048>>2]|0; - $33 = (+($32|0)); - $34 = $31 - $33; - HEAPF32[$doorScrollPos>>2] = $34; - $35 = ((($doorScrollPos)) + 4|0); - $36 = HEAP32[(3060)>>2]|0; - HEAP32[$35>>2] = $36; - $37 = HEAP32[(3072)>>2]|0; - $38 = ($37|0)==(0); - if ($38) { - HEAP32[$2>>2] = -1; - ;HEAP32[$doors$byval_copy2>>2]=HEAP32[88>>2]|0;HEAP32[$doors$byval_copy2+4>>2]=HEAP32[88+4>>2]|0;HEAP32[$doors$byval_copy2+8>>2]=HEAP32[88+8>>2]|0;HEAP32[$doors$byval_copy2+12>>2]=HEAP32[88+12>>2]|0;HEAP32[$doors$byval_copy2+16>>2]=HEAP32[88+16>>2]|0; - ;HEAP32[$font$byval_copy13>>2]=HEAP32[(3076)>>2]|0;HEAP32[$font$byval_copy13+4>>2]=HEAP32[(3076)+4>>2]|0;HEAP32[$font$byval_copy13+8>>2]=HEAP32[(3076)+8>>2]|0;HEAP32[$font$byval_copy13+12>>2]=HEAP32[(3076)+12>>2]|0; - ;HEAP32[$$byval_copy25>>2]=HEAP32[$doorScrollPos>>2]|0;HEAP32[$$byval_copy25+4>>2]=HEAP32[$doorScrollPos+4>>2]|0; - ;HEAP8[$$byval_copy29>>0]=HEAP8[$2>>0]|0;HEAP8[$$byval_copy29+1>>0]=HEAP8[$2+1>>0]|0;HEAP8[$$byval_copy29+2>>0]=HEAP8[$2+2>>0]|0;HEAP8[$$byval_copy29+3>>0]=HEAP8[$2+3>>0]|0; - _DrawTextureRec($doors$byval_copy2,$font$byval_copy13,$$byval_copy25,$$byval_copy29); + ;HEAP32[$$byval_copy26>>2]=HEAP32[27724>>2]|0;HEAP32[$$byval_copy26+4>>2]=HEAP32[27724+4>>2]|0;HEAP32[$$byval_copy26+8>>2]=HEAP32[27724+8>>2]|0;HEAP32[$$byval_copy26+12>>2]=HEAP32[27724+12>>2]|0;HEAP32[$$byval_copy26+16>>2]=HEAP32[27724+16>>2]|0; + ;HEAP8[$$byval_copy30>>0]=HEAP8[$0>>0]|0;HEAP8[$$byval_copy30+1>>0]=HEAP8[$0+1>>0]|0;HEAP8[$$byval_copy30+2>>0]=HEAP8[$0+2>>0]|0;HEAP8[$$byval_copy30+3>>0]=HEAP8[$0+3>>0]|0; + _DrawTexture($$byval_copy26,$27,0,$$byval_copy30); + $28 = HEAP32[6936]|0; + dest=$$byval_copy30; src=27800; stop=dest+92|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _DrawMonster($$byval_copy30,$28); + $29 = HEAP32[6936]|0; + dest=$$byval_copy30; src=28076; stop=dest+92|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _DrawMonster($$byval_copy30,$29); + $30 = HEAP32[6936]|0; + dest=$$byval_copy30; src=27984; stop=dest+92|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _DrawMonster($$byval_copy30,$30); + $31 = HEAP32[6936]|0; + dest=$$byval_copy30; src=27892; stop=dest+92|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _DrawMonster($$byval_copy30,$31); + $32 = +HEAPF32[6937]; + $33 = HEAP32[6936]|0; + $34 = (+($33|0)); + $35 = $32 - $34; + HEAPF32[$1>>2] = $35; + $36 = ((($1)) + 4|0); + $37 = HEAP32[(27752)>>2]|0; + HEAP32[$36>>2] = $37; + $38 = HEAP32[(27764)>>2]|0; + $39 = ($38|0)==(0); + if ($39) { + HEAP32[$3>>2] = -1; + ;HEAP32[$doors$byval_copy3>>2]=HEAP32[26792>>2]|0;HEAP32[$doors$byval_copy3+4>>2]=HEAP32[26792+4>>2]|0;HEAP32[$doors$byval_copy3+8>>2]=HEAP32[26792+8>>2]|0;HEAP32[$doors$byval_copy3+12>>2]=HEAP32[26792+12>>2]|0;HEAP32[$doors$byval_copy3+16>>2]=HEAP32[26792+16>>2]|0; + ;HEAP32[$font$byval_copy14>>2]=HEAP32[(27768)>>2]|0;HEAP32[$font$byval_copy14+4>>2]=HEAP32[(27768)+4>>2]|0;HEAP32[$font$byval_copy14+8>>2]=HEAP32[(27768)+8>>2]|0;HEAP32[$font$byval_copy14+12>>2]=HEAP32[(27768)+12>>2]|0; + ;HEAP32[$$byval_copy26>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy26+4>>2]=HEAP32[$1+4>>2]|0; + ;HEAP8[$$byval_copy30>>0]=HEAP8[$3>>0]|0;HEAP8[$$byval_copy30+1>>0]=HEAP8[$3+1>>0]|0;HEAP8[$$byval_copy30+2>>0]=HEAP8[$3+2>>0]|0;HEAP8[$$byval_copy30+3>>0]=HEAP8[$3+3>>0]|0; + _DrawTextureRec($doors$byval_copy3,$font$byval_copy14,$$byval_copy26,$$byval_copy30); } else { - HEAP8[$1>>0] = 0; - $39 = ((($1)) + 1|0); - HEAP8[$39>>0] = -28; - $40 = ((($1)) + 2|0); - HEAP8[$40>>0] = 48; - $41 = ((($1)) + 3|0); - HEAP8[$41>>0] = -1; - ;HEAP32[$doors$byval_copy2>>2]=HEAP32[88>>2]|0;HEAP32[$doors$byval_copy2+4>>2]=HEAP32[88+4>>2]|0;HEAP32[$doors$byval_copy2+8>>2]=HEAP32[88+8>>2]|0;HEAP32[$doors$byval_copy2+12>>2]=HEAP32[88+12>>2]|0;HEAP32[$doors$byval_copy2+16>>2]=HEAP32[88+16>>2]|0; - ;HEAP32[$font$byval_copy13>>2]=HEAP32[(3076)>>2]|0;HEAP32[$font$byval_copy13+4>>2]=HEAP32[(3076)+4>>2]|0;HEAP32[$font$byval_copy13+8>>2]=HEAP32[(3076)+8>>2]|0;HEAP32[$font$byval_copy13+12>>2]=HEAP32[(3076)+12>>2]|0; - ;HEAP32[$$byval_copy25>>2]=HEAP32[$doorScrollPos>>2]|0;HEAP32[$$byval_copy25+4>>2]=HEAP32[$doorScrollPos+4>>2]|0; - ;HEAP8[$$byval_copy29>>0]=HEAP8[$1>>0]|0;HEAP8[$$byval_copy29+1>>0]=HEAP8[$1+1>>0]|0;HEAP8[$$byval_copy29+2>>0]=HEAP8[$1+2>>0]|0;HEAP8[$$byval_copy29+3>>0]=HEAP8[$1+3>>0]|0; - _DrawTextureRec($doors$byval_copy2,$font$byval_copy13,$$byval_copy25,$$byval_copy29); + HEAP8[$2>>0] = 0; + $40 = ((($2)) + 1|0); + HEAP8[$40>>0] = -28; + $41 = ((($2)) + 2|0); + HEAP8[$41>>0] = 48; + $42 = ((($2)) + 3|0); + HEAP8[$42>>0] = -1; + ;HEAP32[$doors$byval_copy3>>2]=HEAP32[26792>>2]|0;HEAP32[$doors$byval_copy3+4>>2]=HEAP32[26792+4>>2]|0;HEAP32[$doors$byval_copy3+8>>2]=HEAP32[26792+8>>2]|0;HEAP32[$doors$byval_copy3+12>>2]=HEAP32[26792+12>>2]|0;HEAP32[$doors$byval_copy3+16>>2]=HEAP32[26792+16>>2]|0; + ;HEAP32[$font$byval_copy14>>2]=HEAP32[(27768)>>2]|0;HEAP32[$font$byval_copy14+4>>2]=HEAP32[(27768)+4>>2]|0;HEAP32[$font$byval_copy14+8>>2]=HEAP32[(27768)+8>>2]|0;HEAP32[$font$byval_copy14+12>>2]=HEAP32[(27768)+12>>2]|0; + ;HEAP32[$$byval_copy26>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy26+4>>2]=HEAP32[$1+4>>2]|0; + ;HEAP8[$$byval_copy30>>0]=HEAP8[$2>>0]|0;HEAP8[$$byval_copy30+1>>0]=HEAP8[$2+1>>0]|0;HEAP8[$$byval_copy30+2>>0]=HEAP8[$2+2>>0]|0;HEAP8[$$byval_copy30+3>>0]=HEAP8[$2+3>>0]|0; + _DrawTextureRec($doors$byval_copy3,$font$byval_copy14,$$byval_copy26,$$byval_copy30); } - $42 = HEAP32[2680>>2]|0; - $43 = ($42|0)<(2); - if ($43) { - $44 = (_GetScreenWidth()|0); - HEAP8[$4>>0] = -56; - $45 = ((($4)) + 1|0); - HEAP8[$45>>0] = -56; - $46 = ((($4)) + 2|0); + $43 = HEAP32[6926]|0; + $44 = ($43|0)<(2); + if ($44) { + $45 = (_GetScreenWidth()|0); + HEAP8[$5>>0] = -56; + $46 = ((($5)) + 1|0); HEAP8[$46>>0] = -56; - $47 = ((($4)) + 3|0); - HEAP8[$47>>0] = -1; - ;HEAP8[$$byval_copy29>>0]=HEAP8[$4>>0]|0;HEAP8[$$byval_copy29+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$$byval_copy29+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$$byval_copy29+3>>0]=HEAP8[$4+3>>0]|0; - _Fade($3,$$byval_copy29,0.5); - ;HEAP8[$$byval_copy29>>0]=HEAP8[$3>>0]|0;HEAP8[$$byval_copy29+1>>0]=HEAP8[$3+1>>0]|0;HEAP8[$$byval_copy29+2>>0]=HEAP8[$3+2>>0]|0;HEAP8[$$byval_copy29+3>>0]=HEAP8[$3+3>>0]|0; - _DrawRectangle(0,40,$44,200,$$byval_copy29); + $47 = ((($5)) + 2|0); + HEAP8[$47>>0] = -56; + $48 = ((($5)) + 3|0); + HEAP8[$48>>0] = -1; + ;HEAP8[$$byval_copy30>>0]=HEAP8[$5>>0]|0;HEAP8[$$byval_copy30+1>>0]=HEAP8[$5+1>>0]|0;HEAP8[$$byval_copy30+2>>0]=HEAP8[$5+2>>0]|0;HEAP8[$$byval_copy30+3>>0]=HEAP8[$5+3>>0]|0; + _Fade($4,$$byval_copy30,0.5); + ;HEAP8[$$byval_copy30>>0]=HEAP8[$4>>0]|0;HEAP8[$$byval_copy30+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$$byval_copy30+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$$byval_copy30+3>>0]=HEAP8[$4+3>>0]|0; + _DrawRectangle(0,40,$45,200,$$byval_copy30); } else { - $48 = ($42|0)==(2); - if ($48) { - $49 = (_GetScreenWidth()|0); - HEAP8[$6>>0] = -56; - $50 = ((($6)) + 1|0); - HEAP8[$50>>0] = -56; - $51 = ((($6)) + 2|0); + $49 = ($43|0)==(2); + if ($49) { + $50 = (_GetScreenWidth()|0); + HEAP8[$7>>0] = -56; + $51 = ((($7)) + 1|0); HEAP8[$51>>0] = -56; - $52 = ((($6)) + 3|0); - HEAP8[$52>>0] = -1; - ;HEAP8[$$byval_copy29>>0]=HEAP8[$6>>0]|0;HEAP8[$$byval_copy29+1>>0]=HEAP8[$6+1>>0]|0;HEAP8[$$byval_copy29+2>>0]=HEAP8[$6+2>>0]|0;HEAP8[$$byval_copy29+3>>0]=HEAP8[$6+3>>0]|0; - _Fade($5,$$byval_copy29,0.5); - ;HEAP8[$$byval_copy29>>0]=HEAP8[$5>>0]|0;HEAP8[$$byval_copy29+1>>0]=HEAP8[$5+1>>0]|0;HEAP8[$$byval_copy29+2>>0]=HEAP8[$5+2>>0]|0;HEAP8[$$byval_copy29+3>>0]=HEAP8[$5+3>>0]|0; - _DrawRectangle(0,80,$49,100,$$byval_copy29); + $52 = ((($7)) + 2|0); + HEAP8[$52>>0] = -56; + $53 = ((($7)) + 3|0); + HEAP8[$53>>0] = -1; + ;HEAP8[$$byval_copy30>>0]=HEAP8[$7>>0]|0;HEAP8[$$byval_copy30+1>>0]=HEAP8[$7+1>>0]|0;HEAP8[$$byval_copy30+2>>0]=HEAP8[$7+2>>0]|0;HEAP8[$$byval_copy30+3>>0]=HEAP8[$7+3>>0]|0; + _Fade($6,$$byval_copy30,0.5); + ;HEAP8[$$byval_copy30>>0]=HEAP8[$6>>0]|0;HEAP8[$$byval_copy30+1>>0]=HEAP8[$6+1>>0]|0;HEAP8[$$byval_copy30+2>>0]=HEAP8[$6+2>>0]|0;HEAP8[$$byval_copy30+3>>0]=HEAP8[$6+3>>0]|0; + _DrawRectangle(0,80,$50,100,$$byval_copy30); } } - $53 = HEAP32[2680>>2]|0; - if ((($53|0) == 1)) { - HEAPF32[$9>>2] = 100.0; - $56 = ((($9)) + 4|0); - HEAPF32[$56>>2] = 80.0; - $57 = HEAP32[(68)>>2]|0; - HEAP32[$10>>2] = -1; - dest=$font$byval_copy13; src=48; stop=dest+36|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - ;HEAP32[$$byval_copy25>>2]=HEAP32[$9>>2]|0;HEAP32[$$byval_copy25+4>>2]=HEAP32[$9+4>>2]|0; - ;HEAP8[$$byval_copy29>>0]=HEAP8[$10>>0]|0;HEAP8[$$byval_copy29+1>>0]=HEAP8[$10+1>>0]|0;HEAP8[$$byval_copy29+2>>0]=HEAP8[$10+2>>0]|0;HEAP8[$$byval_copy29+3>>0]=HEAP8[$10+3>>0]|0; - _DrawTextEx($font$byval_copy13,3592,$$byval_copy25,$57,2,$$byval_copy29); - $58 = HEAP32[2688>>2]|0; - $59 = (($58|0) / 30)&-1; - $60 = $59 & 1; - $61 = ($60|0)==(0); - if ($61) { + $54 = HEAP32[6926]|0; + switch ($54|0) { + case 0: { + HEAPF32[$8>>2] = 100.0; + $55 = ((($8)) + 4|0); + HEAPF32[$55>>2] = 80.0; + $56 = HEAP32[(26780)>>2]|0; + $57 = (+($56|0)); + HEAP32[$9>>2] = -1; + ;HEAP32[$font$byval_copy14>>2]=HEAP32[26760>>2]|0;HEAP32[$font$byval_copy14+4>>2]=HEAP32[26760+4>>2]|0;HEAP32[$font$byval_copy14+8>>2]=HEAP32[26760+8>>2]|0;HEAP32[$font$byval_copy14+12>>2]=HEAP32[26760+12>>2]|0;HEAP32[$font$byval_copy14+16>>2]=HEAP32[26760+16>>2]|0;HEAP32[$font$byval_copy14+20>>2]=HEAP32[26760+20>>2]|0;HEAP32[$font$byval_copy14+24>>2]=HEAP32[26760+24>>2]|0;HEAP32[$font$byval_copy14+28>>2]=HEAP32[26760+28>>2]|0; + ;HEAP32[$$byval_copy26>>2]=HEAP32[$8>>2]|0;HEAP32[$$byval_copy26+4>>2]=HEAP32[$8+4>>2]|0; + ;HEAP8[$$byval_copy30>>0]=HEAP8[$9>>0]|0;HEAP8[$$byval_copy30+1>>0]=HEAP8[$9+1>>0]|0;HEAP8[$$byval_copy30+2>>0]=HEAP8[$9+2>>0]|0;HEAP8[$$byval_copy30+3>>0]=HEAP8[$9+3>>0]|0; + _DrawTextEx($font$byval_copy14,34296,$$byval_copy26,$57,2,$$byval_copy30); + _DrawPlayer(); + STACKTOP = sp;return; + break; + } + case 1: { + HEAPF32[$10>>2] = 100.0; + $58 = ((($10)) + 4|0); + HEAPF32[$58>>2] = 80.0; + $59 = HEAP32[(26780)>>2]|0; + $60 = (+($59|0)); + HEAP32[$11>>2] = -1; + ;HEAP32[$font$byval_copy14>>2]=HEAP32[26760>>2]|0;HEAP32[$font$byval_copy14+4>>2]=HEAP32[26760+4>>2]|0;HEAP32[$font$byval_copy14+8>>2]=HEAP32[26760+8>>2]|0;HEAP32[$font$byval_copy14+12>>2]=HEAP32[26760+12>>2]|0;HEAP32[$font$byval_copy14+16>>2]=HEAP32[26760+16>>2]|0;HEAP32[$font$byval_copy14+20>>2]=HEAP32[26760+20>>2]|0;HEAP32[$font$byval_copy14+24>>2]=HEAP32[26760+24>>2]|0;HEAP32[$font$byval_copy14+28>>2]=HEAP32[26760+28>>2]|0; + ;HEAP32[$$byval_copy26>>2]=HEAP32[$10>>2]|0;HEAP32[$$byval_copy26+4>>2]=HEAP32[$10+4>>2]|0; + ;HEAP8[$$byval_copy30>>0]=HEAP8[$11>>0]|0;HEAP8[$$byval_copy30+1>>0]=HEAP8[$11+1>>0]|0;HEAP8[$$byval_copy30+2>>0]=HEAP8[$11+2>>0]|0;HEAP8[$$byval_copy30+3>>0]=HEAP8[$11+3>>0]|0; + _DrawTextEx($font$byval_copy14,6613,$$byval_copy26,$60,2,$$byval_copy30); + $61 = HEAP32[6927]|0; + $62 = (($61|0) / 30)&-1; + $63 = $62 & 1; + $64 = ($63|0)==(0); + if ($64) { _DrawPlayer(); STACKTOP = sp;return; } - $62 = (_GetScreenWidth()|0); - $63 = (($62) + -280)|0; - HEAP8[$11>>0] = 0; - $64 = ((($11)) + 1|0); - HEAP8[$64>>0] = 0; - $65 = ((($11)) + 2|0); - HEAP8[$65>>0] = 0; - $66 = ((($11)) + 3|0); - HEAP8[$66>>0] = -1; - ;HEAP8[$$byval_copy29>>0]=HEAP8[$11>>0]|0;HEAP8[$$byval_copy29+1>>0]=HEAP8[$11+1>>0]|0;HEAP8[$$byval_copy29+2>>0]=HEAP8[$11+2>>0]|0;HEAP8[$$byval_copy29+3>>0]=HEAP8[$11+3>>0]|0; - _DrawText(8608,$63,200,20,$$byval_copy29); + $65 = (_GetScreenWidth()|0); + $66 = (($65) + -280)|0; + HEAP8[$12>>0] = 0; + $67 = ((($12)) + 1|0); + HEAP8[$67>>0] = 0; + $68 = ((($12)) + 2|0); + HEAP8[$68>>0] = 0; + $69 = ((($12)) + 3|0); + HEAP8[$69>>0] = -1; + ;HEAP8[$$byval_copy30>>0]=HEAP8[$12>>0]|0;HEAP8[$$byval_copy30+1>>0]=HEAP8[$12+1>>0]|0;HEAP8[$$byval_copy30+2>>0]=HEAP8[$12+2>>0]|0;HEAP8[$$byval_copy30+3>>0]=HEAP8[$12+3>>0]|0; + _DrawText(8619,$66,200,20,$$byval_copy30); _DrawPlayer(); STACKTOP = sp;return; - } else if ((($53|0) == 0)) { - HEAPF32[$7>>2] = 100.0; - $54 = ((($7)) + 4|0); - HEAPF32[$54>>2] = 80.0; - $55 = HEAP32[(68)>>2]|0; - HEAP32[$8>>2] = -1; - dest=$font$byval_copy13; src=48; stop=dest+36|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - ;HEAP32[$$byval_copy25>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy25+4>>2]=HEAP32[$7+4>>2]|0; - ;HEAP8[$$byval_copy29>>0]=HEAP8[$8>>0]|0;HEAP8[$$byval_copy29+1>>0]=HEAP8[$8+1>>0]|0;HEAP8[$$byval_copy29+2>>0]=HEAP8[$8+2>>0]|0;HEAP8[$$byval_copy29+3>>0]=HEAP8[$8+3>>0]|0; - _DrawTextEx($font$byval_copy13,2704,$$byval_copy25,$55,2,$$byval_copy29); - _DrawPlayer(); - STACKTOP = sp;return; - } else if ((($53|0) == 2)) { - $67 = HEAP32[2688>>2]|0; - $68 = (($67|0) / 30)&-1; - $69 = $68 & 1; - $70 = ($69|0)==(0); - if ($70) { + break; + } + case 2: { + $70 = HEAP32[6927]|0; + $71 = (($70|0) / 30)&-1; + $72 = $71 & 1; + $73 = ($72|0)==(0); + if ($73) { _DrawPlayer(); STACKTOP = sp;return; } - HEAPF32[$12>>2] = 300.0; - $71 = ((($12)) + 4|0); - HEAPF32[$71>>2] = 95.0; - $72 = HEAP32[(68)>>2]|0; - $73 = $72 << 1; - HEAP32[$13>>2] = -1; - dest=$font$byval_copy13; src=48; stop=dest+36|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - ;HEAP32[$$byval_copy25>>2]=HEAP32[$12>>2]|0;HEAP32[$$byval_copy25+4>>2]=HEAP32[$12+4>>2]|0; - ;HEAP8[$$byval_copy29>>0]=HEAP8[$13>>0]|0;HEAP8[$$byval_copy29+1>>0]=HEAP8[$13+1>>0]|0;HEAP8[$$byval_copy29+2>>0]=HEAP8[$13+2>>0]|0;HEAP8[$$byval_copy29+3>>0]=HEAP8[$13+3>>0]|0; - _DrawTextEx($font$byval_copy13,8488,$$byval_copy25,$73,2,$$byval_copy29); - HEAP8[$15>>0] = -26; - $74 = ((($15)) + 1|0); - HEAP8[$74>>0] = 41; - $75 = ((($15)) + 2|0); - HEAP8[$75>>0] = 55; - $76 = ((($15)) + 3|0); - HEAP8[$76>>0] = -1; - ;HEAP8[$$byval_copy29>>0]=HEAP8[$15>>0]|0;HEAP8[$$byval_copy29+1>>0]=HEAP8[$15+1>>0]|0;HEAP8[$$byval_copy29+2>>0]=HEAP8[$15+2>>0]|0;HEAP8[$$byval_copy29+3>>0]=HEAP8[$15+3>>0]|0; - _Fade($14,$$byval_copy29,0.60000002384185791); - ;HEAP32[$$byval_copy25>>2]=HEAP32[(3140)>>2]|0;HEAP32[$$byval_copy25+4>>2]=HEAP32[(3140)+4>>2]|0;HEAP32[$$byval_copy25+8>>2]=HEAP32[(3140)+8>>2]|0;HEAP32[$$byval_copy25+12>>2]=HEAP32[(3140)+12>>2]|0; - ;HEAP8[$$byval_copy29>>0]=HEAP8[$14>>0]|0;HEAP8[$$byval_copy29+1>>0]=HEAP8[$14+1>>0]|0;HEAP8[$$byval_copy29+2>>0]=HEAP8[$14+2>>0]|0;HEAP8[$$byval_copy29+3>>0]=HEAP8[$14+3>>0]|0; - _DrawRectangleRec($$byval_copy25,$$byval_copy29); - HEAP8[$17>>0] = -26; - $77 = ((($17)) + 1|0); - HEAP8[$77>>0] = 41; - $78 = ((($17)) + 2|0); - HEAP8[$78>>0] = 55; - $79 = ((($17)) + 3|0); - HEAP8[$79>>0] = -1; - ;HEAP8[$$byval_copy29>>0]=HEAP8[$17>>0]|0;HEAP8[$$byval_copy29+1>>0]=HEAP8[$17+1>>0]|0;HEAP8[$$byval_copy29+2>>0]=HEAP8[$17+2>>0]|0;HEAP8[$$byval_copy29+3>>0]=HEAP8[$17+3>>0]|0; - _Fade($16,$$byval_copy29,0.60000002384185791); - ;HEAP32[$$byval_copy25>>2]=HEAP32[(3476)>>2]|0;HEAP32[$$byval_copy25+4>>2]=HEAP32[(3476)+4>>2]|0;HEAP32[$$byval_copy25+8>>2]=HEAP32[(3476)+8>>2]|0;HEAP32[$$byval_copy25+12>>2]=HEAP32[(3476)+12>>2]|0; - ;HEAP8[$$byval_copy29>>0]=HEAP8[$16>>0]|0;HEAP8[$$byval_copy29+1>>0]=HEAP8[$16+1>>0]|0;HEAP8[$$byval_copy29+2>>0]=HEAP8[$16+2>>0]|0;HEAP8[$$byval_copy29+3>>0]=HEAP8[$16+3>>0]|0; - _DrawRectangleRec($$byval_copy25,$$byval_copy29); - HEAP8[$19>>0] = -26; - $80 = ((($19)) + 1|0); - HEAP8[$80>>0] = 41; - $81 = ((($19)) + 2|0); - HEAP8[$81>>0] = 55; - $82 = ((($19)) + 3|0); - HEAP8[$82>>0] = -1; - ;HEAP8[$$byval_copy29>>0]=HEAP8[$19>>0]|0;HEAP8[$$byval_copy29+1>>0]=HEAP8[$19+1>>0]|0;HEAP8[$$byval_copy29+2>>0]=HEAP8[$19+2>>0]|0;HEAP8[$$byval_copy29+3>>0]=HEAP8[$19+3>>0]|0; - _Fade($18,$$byval_copy29,0.60000002384185791); - ;HEAP32[$$byval_copy25>>2]=HEAP32[(3284)>>2]|0;HEAP32[$$byval_copy25+4>>2]=HEAP32[(3284)+4>>2]|0;HEAP32[$$byval_copy25+8>>2]=HEAP32[(3284)+8>>2]|0;HEAP32[$$byval_copy25+12>>2]=HEAP32[(3284)+12>>2]|0; - ;HEAP8[$$byval_copy29>>0]=HEAP8[$18>>0]|0;HEAP8[$$byval_copy29+1>>0]=HEAP8[$18+1>>0]|0;HEAP8[$$byval_copy29+2>>0]=HEAP8[$18+2>>0]|0;HEAP8[$$byval_copy29+3>>0]=HEAP8[$18+3>>0]|0; - _DrawRectangleRec($$byval_copy25,$$byval_copy29); - HEAP8[$21>>0] = -26; - $83 = ((($21)) + 1|0); - HEAP8[$83>>0] = 41; - $84 = ((($21)) + 2|0); - HEAP8[$84>>0] = 55; - $85 = ((($21)) + 3|0); - HEAP8[$85>>0] = -1; - ;HEAP8[$$byval_copy29>>0]=HEAP8[$21>>0]|0;HEAP8[$$byval_copy29+1>>0]=HEAP8[$21+1>>0]|0;HEAP8[$$byval_copy29+2>>0]=HEAP8[$21+2>>0]|0;HEAP8[$$byval_copy29+3>>0]=HEAP8[$21+3>>0]|0; - _Fade($20,$$byval_copy29,0.60000002384185791); - ;HEAP32[$$byval_copy25>>2]=HEAP32[(3380)>>2]|0;HEAP32[$$byval_copy25+4>>2]=HEAP32[(3380)+4>>2]|0;HEAP32[$$byval_copy25+8>>2]=HEAP32[(3380)+8>>2]|0;HEAP32[$$byval_copy25+12>>2]=HEAP32[(3380)+12>>2]|0; - ;HEAP8[$$byval_copy29>>0]=HEAP8[$20>>0]|0;HEAP8[$$byval_copy29+1>>0]=HEAP8[$20+1>>0]|0;HEAP8[$$byval_copy29+2>>0]=HEAP8[$20+2>>0]|0;HEAP8[$$byval_copy29+3>>0]=HEAP8[$20+3>>0]|0; - _DrawRectangleRec($$byval_copy25,$$byval_copy29); + HEAPF32[$13>>2] = 300.0; + $74 = ((($13)) + 4|0); + HEAPF32[$74>>2] = 95.0; + $75 = HEAP32[(26780)>>2]|0; + $76 = $75 << 1; + $77 = (+($76|0)); + HEAP32[$14>>2] = -1; + ;HEAP32[$font$byval_copy14>>2]=HEAP32[26760>>2]|0;HEAP32[$font$byval_copy14+4>>2]=HEAP32[26760+4>>2]|0;HEAP32[$font$byval_copy14+8>>2]=HEAP32[26760+8>>2]|0;HEAP32[$font$byval_copy14+12>>2]=HEAP32[26760+12>>2]|0;HEAP32[$font$byval_copy14+16>>2]=HEAP32[26760+16>>2]|0;HEAP32[$font$byval_copy14+20>>2]=HEAP32[26760+20>>2]|0;HEAP32[$font$byval_copy14+24>>2]=HEAP32[26760+24>>2]|0;HEAP32[$font$byval_copy14+28>>2]=HEAP32[26760+28>>2]|0; + ;HEAP32[$$byval_copy26>>2]=HEAP32[$13>>2]|0;HEAP32[$$byval_copy26+4>>2]=HEAP32[$13+4>>2]|0; + ;HEAP8[$$byval_copy30>>0]=HEAP8[$14>>0]|0;HEAP8[$$byval_copy30+1>>0]=HEAP8[$14+1>>0]|0;HEAP8[$$byval_copy30+2>>0]=HEAP8[$14+2>>0]|0;HEAP8[$$byval_copy30+3>>0]=HEAP8[$14+3>>0]|0; + _DrawTextEx($font$byval_copy14,8538,$$byval_copy26,$77,2,$$byval_copy30); + HEAP8[$16>>0] = -26; + $78 = ((($16)) + 1|0); + HEAP8[$78>>0] = 41; + $79 = ((($16)) + 2|0); + HEAP8[$79>>0] = 55; + $80 = ((($16)) + 3|0); + HEAP8[$80>>0] = -1; + ;HEAP8[$$byval_copy30>>0]=HEAP8[$16>>0]|0;HEAP8[$$byval_copy30+1>>0]=HEAP8[$16+1>>0]|0;HEAP8[$$byval_copy30+2>>0]=HEAP8[$16+2>>0]|0;HEAP8[$$byval_copy30+3>>0]=HEAP8[$16+3>>0]|0; + _Fade($15,$$byval_copy30,0.60000002384185791); + ;HEAP32[$$byval_copy26>>2]=HEAP32[(27828)>>2]|0;HEAP32[$$byval_copy26+4>>2]=HEAP32[(27828)+4>>2]|0;HEAP32[$$byval_copy26+8>>2]=HEAP32[(27828)+8>>2]|0;HEAP32[$$byval_copy26+12>>2]=HEAP32[(27828)+12>>2]|0; + ;HEAP8[$$byval_copy30>>0]=HEAP8[$15>>0]|0;HEAP8[$$byval_copy30+1>>0]=HEAP8[$15+1>>0]|0;HEAP8[$$byval_copy30+2>>0]=HEAP8[$15+2>>0]|0;HEAP8[$$byval_copy30+3>>0]=HEAP8[$15+3>>0]|0; + _DrawRectangleRec($$byval_copy26,$$byval_copy30); + HEAP8[$18>>0] = -26; + $81 = ((($18)) + 1|0); + HEAP8[$81>>0] = 41; + $82 = ((($18)) + 2|0); + HEAP8[$82>>0] = 55; + $83 = ((($18)) + 3|0); + HEAP8[$83>>0] = -1; + ;HEAP8[$$byval_copy30>>0]=HEAP8[$18>>0]|0;HEAP8[$$byval_copy30+1>>0]=HEAP8[$18+1>>0]|0;HEAP8[$$byval_copy30+2>>0]=HEAP8[$18+2>>0]|0;HEAP8[$$byval_copy30+3>>0]=HEAP8[$18+3>>0]|0; + _Fade($17,$$byval_copy30,0.60000002384185791); + ;HEAP32[$$byval_copy26>>2]=HEAP32[(28104)>>2]|0;HEAP32[$$byval_copy26+4>>2]=HEAP32[(28104)+4>>2]|0;HEAP32[$$byval_copy26+8>>2]=HEAP32[(28104)+8>>2]|0;HEAP32[$$byval_copy26+12>>2]=HEAP32[(28104)+12>>2]|0; + ;HEAP8[$$byval_copy30>>0]=HEAP8[$17>>0]|0;HEAP8[$$byval_copy30+1>>0]=HEAP8[$17+1>>0]|0;HEAP8[$$byval_copy30+2>>0]=HEAP8[$17+2>>0]|0;HEAP8[$$byval_copy30+3>>0]=HEAP8[$17+3>>0]|0; + _DrawRectangleRec($$byval_copy26,$$byval_copy30); + HEAP8[$20>>0] = -26; + $84 = ((($20)) + 1|0); + HEAP8[$84>>0] = 41; + $85 = ((($20)) + 2|0); + HEAP8[$85>>0] = 55; + $86 = ((($20)) + 3|0); + HEAP8[$86>>0] = -1; + ;HEAP8[$$byval_copy30>>0]=HEAP8[$20>>0]|0;HEAP8[$$byval_copy30+1>>0]=HEAP8[$20+1>>0]|0;HEAP8[$$byval_copy30+2>>0]=HEAP8[$20+2>>0]|0;HEAP8[$$byval_copy30+3>>0]=HEAP8[$20+3>>0]|0; + _Fade($19,$$byval_copy30,0.60000002384185791); + ;HEAP32[$$byval_copy26>>2]=HEAP32[(27920)>>2]|0;HEAP32[$$byval_copy26+4>>2]=HEAP32[(27920)+4>>2]|0;HEAP32[$$byval_copy26+8>>2]=HEAP32[(27920)+8>>2]|0;HEAP32[$$byval_copy26+12>>2]=HEAP32[(27920)+12>>2]|0; + ;HEAP8[$$byval_copy30>>0]=HEAP8[$19>>0]|0;HEAP8[$$byval_copy30+1>>0]=HEAP8[$19+1>>0]|0;HEAP8[$$byval_copy30+2>>0]=HEAP8[$19+2>>0]|0;HEAP8[$$byval_copy30+3>>0]=HEAP8[$19+3>>0]|0; + _DrawRectangleRec($$byval_copy26,$$byval_copy30); + HEAP8[$22>>0] = -26; + $87 = ((($22)) + 1|0); + HEAP8[$87>>0] = 41; + $88 = ((($22)) + 2|0); + HEAP8[$88>>0] = 55; + $89 = ((($22)) + 3|0); + HEAP8[$89>>0] = -1; + ;HEAP8[$$byval_copy30>>0]=HEAP8[$22>>0]|0;HEAP8[$$byval_copy30+1>>0]=HEAP8[$22+1>>0]|0;HEAP8[$$byval_copy30+2>>0]=HEAP8[$22+2>>0]|0;HEAP8[$$byval_copy30+3>>0]=HEAP8[$22+3>>0]|0; + _Fade($21,$$byval_copy30,0.60000002384185791); + ;HEAP32[$$byval_copy26>>2]=HEAP32[(28012)>>2]|0;HEAP32[$$byval_copy26+4>>2]=HEAP32[(28012)+4>>2]|0;HEAP32[$$byval_copy26+8>>2]=HEAP32[(28012)+8>>2]|0;HEAP32[$$byval_copy26+12>>2]=HEAP32[(28012)+12>>2]|0; + ;HEAP8[$$byval_copy30>>0]=HEAP8[$21>>0]|0;HEAP8[$$byval_copy30+1>>0]=HEAP8[$21+1>>0]|0;HEAP8[$$byval_copy30+2>>0]=HEAP8[$21+2>>0]|0;HEAP8[$$byval_copy30+3>>0]=HEAP8[$21+3>>0]|0; + _DrawRectangleRec($$byval_copy26,$$byval_copy30); _DrawPlayer(); STACKTOP = sp;return; - } else { - $86 = HEAP32[2664>>2]|0; - $87 = ($86|0)==(0); - if ($87) { - _DrawPlayer(); - STACKTOP = sp;return; - } - $88 = HEAP32[2688>>2]|0; - $89 = (($88|0) / 30)&-1; - $90 = $89 & 1; + break; + } + default: { + $90 = HEAP32[6925]|0; $91 = ($90|0)==(0); if ($91) { _DrawPlayer(); STACKTOP = sp;return; } - $92 = (_GetScreenWidth()|0); - HEAP8[$23>>0] = -56; - $93 = ((($23)) + 1|0); - HEAP8[$93>>0] = -56; - $94 = ((($23)) + 2|0); - HEAP8[$94>>0] = -56; - $95 = ((($23)) + 3|0); - HEAP8[$95>>0] = -1; - ;HEAP8[$$byval_copy29>>0]=HEAP8[$23>>0]|0;HEAP8[$$byval_copy29+1>>0]=HEAP8[$23+1>>0]|0;HEAP8[$$byval_copy29+2>>0]=HEAP8[$23+2>>0]|0;HEAP8[$$byval_copy29+3>>0]=HEAP8[$23+3>>0]|0; - _Fade($22,$$byval_copy29,0.5); - ;HEAP8[$$byval_copy29>>0]=HEAP8[$22>>0]|0;HEAP8[$$byval_copy29+1>>0]=HEAP8[$22+1>>0]|0;HEAP8[$$byval_copy29+2>>0]=HEAP8[$22+2>>0]|0;HEAP8[$$byval_copy29+3>>0]=HEAP8[$22+3>>0]|0; - _DrawRectangle(0,0,$92,50,$$byval_copy29); - HEAP8[$24>>0] = 0; - $96 = ((($24)) + 1|0); - HEAP8[$96>>0] = 0; - $97 = ((($24)) + 2|0); - HEAP8[$97>>0] = 0; - $98 = ((($24)) + 3|0); - HEAP8[$98>>0] = -1; - ;HEAP8[$$byval_copy29>>0]=HEAP8[$24>>0]|0;HEAP8[$$byval_copy29+1>>0]=HEAP8[$24+1>>0]|0;HEAP8[$$byval_copy29+2>>0]=HEAP8[$24+2>>0]|0;HEAP8[$$byval_copy29+3>>0]=HEAP8[$24+3>>0]|0; - _DrawText(8504,420,15,20,$$byval_copy29); + $92 = HEAP32[6927]|0; + $93 = (($92|0) / 30)&-1; + $94 = $93 & 1; + $95 = ($94|0)==(0); + if ($95) { + _DrawPlayer(); + STACKTOP = sp;return; + } + $96 = (_GetScreenWidth()|0); + HEAP8[$24>>0] = -56; + $97 = ((($24)) + 1|0); + HEAP8[$97>>0] = -56; + $98 = ((($24)) + 2|0); + HEAP8[$98>>0] = -56; + $99 = ((($24)) + 3|0); + HEAP8[$99>>0] = -1; + ;HEAP8[$$byval_copy30>>0]=HEAP8[$24>>0]|0;HEAP8[$$byval_copy30+1>>0]=HEAP8[$24+1>>0]|0;HEAP8[$$byval_copy30+2>>0]=HEAP8[$24+2>>0]|0;HEAP8[$$byval_copy30+3>>0]=HEAP8[$24+3>>0]|0; + _Fade($23,$$byval_copy30,0.5); + ;HEAP8[$$byval_copy30>>0]=HEAP8[$23>>0]|0;HEAP8[$$byval_copy30+1>>0]=HEAP8[$23+1>>0]|0;HEAP8[$$byval_copy30+2>>0]=HEAP8[$23+2>>0]|0;HEAP8[$$byval_copy30+3>>0]=HEAP8[$23+3>>0]|0; + _DrawRectangle(0,0,$96,50,$$byval_copy30); + HEAP8[$25>>0] = 0; + $100 = ((($25)) + 1|0); + HEAP8[$100>>0] = 0; + $101 = ((($25)) + 2|0); + HEAP8[$101>>0] = 0; + $102 = ((($25)) + 3|0); + HEAP8[$102>>0] = -1; + ;HEAP8[$$byval_copy30>>0]=HEAP8[$25>>0]|0;HEAP8[$$byval_copy30+1>>0]=HEAP8[$25+1>>0]|0;HEAP8[$$byval_copy30+2>>0]=HEAP8[$25+2>>0]|0;HEAP8[$$byval_copy30+3>>0]=HEAP8[$25+3>>0]|0; + _DrawText(8553,420,15,20,$$byval_copy30); _DrawPlayer(); STACKTOP = sp;return; } + } } function _UnloadAisle02Screen() { - var $arc115$byval_copy = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + var $arc$110$byval_copy = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 96|0; - $arc115$byval_copy = sp; - ;HEAP32[$arc115$byval_copy>>2]=HEAP32[3024>>2]|0;HEAP32[$arc115$byval_copy+4>>2]=HEAP32[3024+4>>2]|0;HEAP32[$arc115$byval_copy+8>>2]=HEAP32[3024+8>>2]|0;HEAP32[$arc115$byval_copy+12>>2]=HEAP32[3024+12>>2]|0;HEAP32[$arc115$byval_copy+16>>2]=HEAP32[3024+16>>2]|0; - _UnloadTexture($arc115$byval_copy); - dest=$arc115$byval_copy; src=3112; stop=dest+92|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _UnloadMonster($arc115$byval_copy); - dest=$arc115$byval_copy; src=3256; stop=dest+92|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _UnloadMonster($arc115$byval_copy); - dest=$arc115$byval_copy; src=3352; stop=dest+92|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _UnloadMonster($arc115$byval_copy); - dest=$arc115$byval_copy; src=3448; stop=dest+92|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _UnloadMonster($arc115$byval_copy); + STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0); + $arc$110$byval_copy = sp; + ;HEAP32[$arc$110$byval_copy>>2]=HEAP32[27724>>2]|0;HEAP32[$arc$110$byval_copy+4>>2]=HEAP32[27724+4>>2]|0;HEAP32[$arc$110$byval_copy+8>>2]=HEAP32[27724+8>>2]|0;HEAP32[$arc$110$byval_copy+12>>2]=HEAP32[27724+12>>2]|0;HEAP32[$arc$110$byval_copy+16>>2]=HEAP32[27724+16>>2]|0; + _UnloadTexture($arc$110$byval_copy); + dest=$arc$110$byval_copy; src=27800; stop=dest+92|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _UnloadMonster($arc$110$byval_copy); + dest=$arc$110$byval_copy; src=27892; stop=dest+92|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _UnloadMonster($arc$110$byval_copy); + dest=$arc$110$byval_copy; src=27984; stop=dest+92|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _UnloadMonster($arc$110$byval_copy); + dest=$arc$110$byval_copy; src=28076; stop=dest+92|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _UnloadMonster($arc$110$byval_copy); STACKTOP = sp;return; } function _FinishAisle02Screen() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[2968>>2]|0; + $0 = HEAP32[6930]|0; return ($0|0); } function _InitArmoryScreen() { - var $0 = 0, $1 = 0, $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0.0, $25 = 0, $26 = 0.0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0.0, $33 = 0, $34 = 0.0, $35 = 0.0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0.0, $42 = 0, $43 = 0.0, $44 = 0.0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0.0, $51 = 0, $52 = 0.0, $53 = 0.0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; - var sp = 0; + var $0 = 0, $1 = 0, $10 = 0.0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0.0, $22 = 0, $23 = 0.0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0.0, $3 = 0, $30 = 0, $31 = 0.0, $32 = 0.0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0.0, $39 = 0, $4 = 0, $40 = 0.0, $41 = 0.0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0.0, $48 = 0, $49 = 0.0, $5 = 0, $50 = 0.0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 80|0; + STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0); $0 = sp + 60|0; - $1 = sp; + $1 = sp + 40|0; $2 = sp + 20|0; - $3 = sp + 40|0; + $3 = sp; _ResetPlayer(); - HEAP32[3848>>2] = 0; - HEAP32[3856>>2] = -1; - HEAP32[3864>>2] = 0; - HEAP32[3872>>2] = 0; - HEAP32[3880>>2] = 0; - _memset((3888|0),0,256)|0; - HEAP32[4144>>2] = 0; - HEAP32[4152>>2] = 0; - _LoadTexture($0,4160); - ;HEAP32[4208>>2]=HEAP32[$0>>2]|0;HEAP32[4208+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[4208+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[4208+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[4208+16>>2]=HEAP32[$0+16>>2]|0; - HEAPF32[4232>>2] = -50.0; - HEAPF32[(4236)>>2] = 145.0; - HEAP32[(4240)>>2] = 0; - HEAP32[(4244)>>2] = 1; - $4 = HEAP32[(92)>>2]|0; + HEAP32[7043] = 0; + HEAP32[11] = -1; + HEAP32[7044] = 0; + HEAP32[7045] = 0; + HEAP32[7046] = 0; + _memset((34552|0),0,256)|0; + HEAP32[7047] = 0; + HEAP32[7048] = 0; + _LoadTexture($0,6869); + ;HEAP32[28196>>2]=HEAP32[$0>>2]|0;HEAP32[28196+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[28196+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[28196+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[28196+16>>2]=HEAP32[$0+16>>2]|0; + HEAPF32[7054] = -50.0; + HEAPF32[(28220)>>2] = 145.0; + HEAP32[(28224)>>2] = 0; + HEAP32[(28228)>>2] = 1; + $4 = HEAP32[(26796)>>2]|0; $5 = (($4|0) / 3)&-1; - $6 = HEAP32[(4240)>>2]|0; - $7 = Math_imul($6, $5)|0; - $8 = HEAP32[(96)>>2]|0; - $9 = (($8|0) / 2)&-1; - HEAP32[(4252)>>2] = $7; - HEAP32[(4256)>>2] = $9; - HEAP32[(4260)>>2] = $5; - HEAP32[(4264)>>2] = $9; - $10 = +HEAPF32[4232>>2]; + $6 = HEAP32[(26800)>>2]|0; + $7 = (($6|0) / 2)&-1; + HEAP32[(28236)>>2] = 0; + HEAP32[(28240)>>2] = $7; + HEAP32[(28244)>>2] = $5; + HEAP32[(28248)>>2] = $7; + $8 = +HEAPF32[7054]; + $9 = (~~(($8))); + $10 = +HEAPF32[(28220)>>2]; $11 = (~~(($10))); - $12 = +HEAPF32[(4236)>>2]; - $13 = (~~(($12))); - $14 = HEAP32[(92)>>2]|0; - $15 = (($14|0) / 3)&-1; - $16 = HEAP32[(96)>>2]|0; - $17 = (($16|0) / 2)&-1; - HEAP32[(4268)>>2] = $11; - HEAP32[(4272)>>2] = $13; - HEAP32[(4276)>>2] = $15; - HEAP32[(4280)>>2] = $17; - HEAP32[(4248)>>2] = 0; - HEAPF32[4288>>2] = 1074.0; - HEAPF32[(4292)>>2] = 140.0; - HEAP32[(4296)>>2] = 2; - HEAP32[(4300)>>2] = 1; - $18 = HEAP32[(92)>>2]|0; - $19 = (($18|0) / 3)&-1; - $20 = HEAP32[(4296)>>2]|0; - $21 = Math_imul($20, $19)|0; - $22 = HEAP32[(96)>>2]|0; - $23 = (($22|0) / 2)&-1; - HEAP32[(4308)>>2] = $21; - HEAP32[(4312)>>2] = $23; - HEAP32[(4316)>>2] = $19; - HEAP32[(4320)>>2] = $23; - $24 = +HEAPF32[4288>>2]; - $25 = (~~(($24))); - $26 = +HEAPF32[(4292)>>2]; - $27 = (~~(($26))); - $28 = HEAP32[(92)>>2]|0; - $29 = (($28|0) / 3)&-1; - $30 = HEAP32[(96)>>2]|0; - $31 = (($30|0) / 2)&-1; - HEAP32[(4324)>>2] = $25; - HEAP32[(4328)>>2] = $27; - HEAP32[(4332)>>2] = $29; - HEAP32[(4336)>>2] = $31; - HEAP32[(4304)>>2] = 0; - HEAPF32[4344>>2] = 300.0; - HEAPF32[(4348)>>2] = 260.0; - _LoadTexture($1,4440); - ;HEAP32[(4352)>>2]=HEAP32[$1>>2]|0;HEAP32[(4352)+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[(4352)+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[(4352)+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[(4352)+16>>2]=HEAP32[$1+16>>2]|0; - HEAP32[(4412)>>2] = 0; - HEAP32[(4408)>>2] = 0; - HEAP32[(4420)>>2] = 4; - $32 = +HEAPF32[4344>>2]; + $12 = HEAP32[(26796)>>2]|0; + $13 = (($12|0) / 3)&-1; + $14 = HEAP32[(26800)>>2]|0; + $15 = (($14|0) / 2)&-1; + HEAP32[(28252)>>2] = $9; + HEAP32[(28256)>>2] = $11; + HEAP32[(28260)>>2] = $13; + HEAP32[(28264)>>2] = $15; + HEAP32[(28232)>>2] = 0; + HEAPF32[7067] = 1074.0; + HEAPF32[(28272)>>2] = 140.0; + HEAP32[(28276)>>2] = 2; + HEAP32[(28280)>>2] = 1; + $16 = HEAP32[(26796)>>2]|0; + $17 = (($16|0) / 3)&-1; + $18 = $17 << 1; + $19 = HEAP32[(26800)>>2]|0; + $20 = (($19|0) / 2)&-1; + HEAP32[(28288)>>2] = $18; + HEAP32[(28292)>>2] = $20; + HEAP32[(28296)>>2] = $17; + HEAP32[(28300)>>2] = $20; + $21 = +HEAPF32[7067]; + $22 = (~~(($21))); + $23 = +HEAPF32[(28272)>>2]; + $24 = (~~(($23))); + $25 = HEAP32[(26796)>>2]|0; + $26 = (($25|0) / 3)&-1; + $27 = HEAP32[(26800)>>2]|0; + $28 = (($27|0) / 2)&-1; + HEAP32[(28304)>>2] = $22; + HEAP32[(28308)>>2] = $24; + HEAP32[(28312)>>2] = $26; + HEAP32[(28316)>>2] = $28; + HEAP32[(28284)>>2] = 0; + HEAPF32[7080] = 300.0; + HEAPF32[(28324)>>2] = 260.0; + _LoadTexture($1,6910); + ;HEAP32[(28328)>>2]=HEAP32[$1>>2]|0;HEAP32[(28328)+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[(28328)+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[(28328)+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[(28328)+16>>2]=HEAP32[$1+16>>2]|0; + HEAP32[(28388)>>2] = 0; + HEAP32[(28384)>>2] = 0; + HEAP32[(28396)>>2] = 4; + $29 = +HEAPF32[7080]; + $30 = (~~(($29))); + $31 = +HEAPF32[(28324)>>2]; + $32 = $31 + 20.0; $33 = (~~(($32))); - $34 = +HEAPF32[(4348)>>2]; - $35 = $34 + 20.0; - $36 = (~~(($35))); - HEAP32[(4372)>>2] = $33; - HEAP32[(4376)>>2] = $36; - HEAP32[(4380)>>2] = 160; - HEAP32[(4384)>>2] = 230; - $37 = HEAP32[(4356)>>2]|0; - $38 = HEAP32[(4420)>>2]|0; - $39 = (($37|0) / ($38|0))&-1; - $40 = HEAP32[(4360)>>2]|0; - HEAP32[(4388)>>2] = 0; - HEAP32[(4392)>>2] = 0; - HEAP32[(4396)>>2] = $39; - HEAP32[(4400)>>2] = $40; - HEAP32[(4428)>>2] = 0; - HEAP32[(4424)>>2] = 0; - HEAP32[(4432)>>2] = 1; - HEAPF32[4480>>2] = 550.0; - HEAPF32[(4484)>>2] = 260.0; - _LoadTexture($2,4576); - ;HEAP32[(4488)>>2]=HEAP32[$2>>2]|0;HEAP32[(4488)+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[(4488)+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[(4488)+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[(4488)+16>>2]=HEAP32[$2+16>>2]|0; - HEAP32[(4548)>>2] = 0; - HEAP32[(4544)>>2] = 0; - HEAP32[(4556)>>2] = 4; - $41 = +HEAPF32[4480>>2]; + HEAP32[(28348)>>2] = $30; + HEAP32[(28352)>>2] = $33; + HEAP32[(28356)>>2] = 160; + HEAP32[(28360)>>2] = 230; + $34 = HEAP32[(28332)>>2]|0; + $35 = HEAP32[(28396)>>2]|0; + $36 = (($34|0) / ($35|0))&-1; + $37 = HEAP32[(28336)>>2]|0; + HEAP32[(28364)>>2] = 0; + HEAP32[(28368)>>2] = 0; + HEAP32[(28372)>>2] = $36; + HEAP32[(28376)>>2] = $37; + HEAP32[(28404)>>2] = 0; + HEAP32[(28400)>>2] = 0; + HEAP32[(28408)>>2] = 1; + HEAPF32[7103] = 550.0; + HEAPF32[(28416)>>2] = 260.0; + _LoadTexture($2,6950); + ;HEAP32[(28420)>>2]=HEAP32[$2>>2]|0;HEAP32[(28420)+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[(28420)+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[(28420)+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[(28420)+16>>2]=HEAP32[$2+16>>2]|0; + HEAP32[(28480)>>2] = 0; + HEAP32[(28476)>>2] = 0; + HEAP32[(28488)>>2] = 4; + $38 = +HEAPF32[7103]; + $39 = (~~(($38))); + $40 = +HEAPF32[(28416)>>2]; + $41 = $40 + 20.0; $42 = (~~(($41))); - $43 = +HEAPF32[(4484)>>2]; - $44 = $43 + 20.0; - $45 = (~~(($44))); - HEAP32[(4508)>>2] = $42; - HEAP32[(4512)>>2] = $45; - HEAP32[(4516)>>2] = 160; - HEAP32[(4520)>>2] = 230; - $46 = HEAP32[(4492)>>2]|0; - $47 = HEAP32[(4556)>>2]|0; - $48 = (($46|0) / ($47|0))&-1; - $49 = HEAP32[(4496)>>2]|0; - HEAP32[(4524)>>2] = 0; - HEAP32[(4528)>>2] = 0; - HEAP32[(4532)>>2] = $48; - HEAP32[(4536)>>2] = $49; - HEAP32[(4564)>>2] = 0; - HEAP32[(4560)>>2] = 0; - HEAP32[(4568)>>2] = 1; - HEAPF32[4616>>2] = 800.0; - HEAPF32[(4620)>>2] = 260.0; - _LoadTexture($3,4712); - ;HEAP32[(4624)>>2]=HEAP32[$3>>2]|0;HEAP32[(4624)+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[(4624)+8>>2]=HEAP32[$3+8>>2]|0;HEAP32[(4624)+12>>2]=HEAP32[$3+12>>2]|0;HEAP32[(4624)+16>>2]=HEAP32[$3+16>>2]|0; - HEAP32[(4684)>>2] = 0; - HEAP32[(4680)>>2] = 0; - HEAP32[(4692)>>2] = 4; - $50 = +HEAPF32[4616>>2]; + HEAP32[(28440)>>2] = $39; + HEAP32[(28444)>>2] = $42; + HEAP32[(28448)>>2] = 160; + HEAP32[(28452)>>2] = 230; + $43 = HEAP32[(28424)>>2]|0; + $44 = HEAP32[(28488)>>2]|0; + $45 = (($43|0) / ($44|0))&-1; + $46 = HEAP32[(28428)>>2]|0; + HEAP32[(28456)>>2] = 0; + HEAP32[(28460)>>2] = 0; + HEAP32[(28464)>>2] = $45; + HEAP32[(28468)>>2] = $46; + HEAP32[(28496)>>2] = 0; + HEAP32[(28492)>>2] = 0; + HEAP32[(28500)>>2] = 1; + HEAPF32[7126] = 800.0; + HEAPF32[(28508)>>2] = 260.0; + _LoadTexture($3,6990); + ;HEAP32[(28512)>>2]=HEAP32[$3>>2]|0;HEAP32[(28512)+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[(28512)+8>>2]=HEAP32[$3+8>>2]|0;HEAP32[(28512)+12>>2]=HEAP32[$3+12>>2]|0;HEAP32[(28512)+16>>2]=HEAP32[$3+16>>2]|0; + HEAP32[(28572)>>2] = 0; + HEAP32[(28568)>>2] = 0; + HEAP32[(28580)>>2] = 4; + $47 = +HEAPF32[7126]; + $48 = (~~(($47))); + $49 = +HEAPF32[(28508)>>2]; + $50 = $49 + 20.0; $51 = (~~(($50))); - $52 = +HEAPF32[(4620)>>2]; - $53 = $52 + 20.0; - $54 = (~~(($53))); - HEAP32[(4644)>>2] = $51; - HEAP32[(4648)>>2] = $54; - HEAP32[(4652)>>2] = 160; - HEAP32[(4656)>>2] = 230; - $55 = HEAP32[(4628)>>2]|0; - $56 = HEAP32[(4692)>>2]|0; - $57 = (($55|0) / ($56|0))&-1; - $58 = HEAP32[(4632)>>2]|0; - HEAP32[(4660)>>2] = 0; - HEAP32[(4664)>>2] = 0; - HEAP32[(4668)>>2] = $57; - HEAP32[(4672)>>2] = $58; - HEAP32[(4700)>>2] = 0; - HEAP32[(4696)>>2] = 0; - HEAP32[(4704)>>2] = 0; + HEAP32[(28532)>>2] = $48; + HEAP32[(28536)>>2] = $51; + HEAP32[(28540)>>2] = 160; + HEAP32[(28544)>>2] = 230; + $52 = HEAP32[(28516)>>2]|0; + $53 = HEAP32[(28580)>>2]|0; + $54 = (($52|0) / ($53|0))&-1; + $55 = HEAP32[(28520)>>2]|0; + HEAP32[(28548)>>2] = 0; + HEAP32[(28552)>>2] = 0; + HEAP32[(28556)>>2] = $54; + HEAP32[(28560)>>2] = $55; + HEAP32[(28588)>>2] = 0; + HEAP32[(28584)>>2] = 0; + HEAP32[(28592)>>2] = 0; STACKTOP = sp;return; } function _UpdateArmoryScreen() { - var $$17 = 0, $$byval_copy33 = 0, $$pr = 0, $$pr18 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0; - var $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; - var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; - var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0; - var $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0; - var $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0; - var $97 = 0, $98 = 0, $99 = 0, $i$020 = 0, $or$cond = 0, $or$cond11 = 0, $or$cond13 = 0, $or$cond3 = 0, $or$cond5 = 0, $or$cond7 = 0, $or$cond9 = 0, $sndScream$byval_copy36 = 0, $storemerge = 0, label = 0, sp = 0; + var $$025 = 0, $$byval_copy33 = 0, $$pr = 0, $$pr23 = 0, $$sink14 = 0, $$sink15 = 0, $$sink7 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0; + var $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0; + var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0; + var $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0; + var $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0; + var $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0; + var $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, $or$cond11 = 0, $or$cond13 = 0, $or$cond17 = 0, $or$cond4 = 0, $or$cond6 = 0, $or$cond9 = 0, $sndScream$byval_copy36 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 96|0; + STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0); $sndScream$byval_copy36 = sp + 72|0; - $$byval_copy33 = sp + 56|0; - $0 = sp + 48|0; - $1 = sp + 40|0; + $$byval_copy33 = sp + 40|0; + $0 = sp + 64|0; + $1 = sp + 56|0; $2 = sp + 32|0; - $3 = sp + 16|0; - $4 = sp + 8|0; - $5 = sp; - $6 = sp + 24|0; - $7 = HEAP32[(208)>>2]|0; + $3 = sp + 24|0; + $4 = sp + 16|0; + $5 = sp + 8|0; + $6 = sp; + $7 = HEAP32[(26912)>>2]|0; $8 = ($7|0)==(0); do { if (!($8)) { _GetMousePosition($0); ;HEAP32[$$byval_copy33>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy33+4>>2]=HEAP32[$0+4>>2]|0; - ;HEAP32[$sndScream$byval_copy36>>2]=HEAP32[(4268)>>2]|0;HEAP32[$sndScream$byval_copy36+4>>2]=HEAP32[(4268)+4>>2]|0;HEAP32[$sndScream$byval_copy36+8>>2]=HEAP32[(4268)+8>>2]|0;HEAP32[$sndScream$byval_copy36+12>>2]=HEAP32[(4268)+12>>2]|0; + ;HEAP32[$sndScream$byval_copy36>>2]=HEAP32[(28252)>>2]|0;HEAP32[$sndScream$byval_copy36+4>>2]=HEAP32[(28252)+4>>2]|0;HEAP32[$sndScream$byval_copy36+8>>2]=HEAP32[(28252)+8>>2]|0;HEAP32[$sndScream$byval_copy36+12>>2]=HEAP32[(28252)+12>>2]|0; $9 = (_CheckCollisionPointRec($$byval_copy33,$sndScream$byval_copy36)|0); $10 = ($9|0)==(0); if ($10) { - ;HEAP32[$$byval_copy33>>2]=HEAP32[(144)>>2]|0;HEAP32[$$byval_copy33+4>>2]=HEAP32[(144)+4>>2]|0;HEAP32[$$byval_copy33+8>>2]=HEAP32[(144)+8>>2]|0;HEAP32[$$byval_copy33+12>>2]=HEAP32[(144)+12>>2]|0; - ;HEAP32[$sndScream$byval_copy36>>2]=HEAP32[(4268)>>2]|0;HEAP32[$sndScream$byval_copy36+4>>2]=HEAP32[(4268)+4>>2]|0;HEAP32[$sndScream$byval_copy36+8>>2]=HEAP32[(4268)+8>>2]|0;HEAP32[$sndScream$byval_copy36+12>>2]=HEAP32[(4268)+12>>2]|0; + ;HEAP32[$$byval_copy33>>2]=HEAP32[(26848)>>2]|0;HEAP32[$$byval_copy33+4>>2]=HEAP32[(26848)+4>>2]|0;HEAP32[$$byval_copy33+8>>2]=HEAP32[(26848)+8>>2]|0;HEAP32[$$byval_copy33+12>>2]=HEAP32[(26848)+12>>2]|0; + ;HEAP32[$sndScream$byval_copy36>>2]=HEAP32[(28252)>>2]|0;HEAP32[$sndScream$byval_copy36+4>>2]=HEAP32[(28252)+4>>2]|0;HEAP32[$sndScream$byval_copy36+8>>2]=HEAP32[(28252)+8>>2]|0;HEAP32[$sndScream$byval_copy36+12>>2]=HEAP32[(28252)+12>>2]|0; $11 = (_CheckCollisionRecs($$byval_copy33,$sndScream$byval_copy36)|0); $12 = ($11|0)==(0); if ($12) { - HEAP32[(4248)>>2] = 0; + HEAP32[(28232)>>2] = 0; } else { label = 5; } @@ -15923,9 +15519,9 @@ function _UpdateArmoryScreen() { } do { if ((label|0) == 5) { - HEAP32[(4248)>>2] = 1; - ;HEAP32[$$byval_copy33>>2]=HEAP32[(144)>>2]|0;HEAP32[$$byval_copy33+4>>2]=HEAP32[(144)+4>>2]|0;HEAP32[$$byval_copy33+8>>2]=HEAP32[(144)+8>>2]|0;HEAP32[$$byval_copy33+12>>2]=HEAP32[(144)+12>>2]|0; - ;HEAP32[$sndScream$byval_copy36>>2]=HEAP32[(4268)>>2]|0;HEAP32[$sndScream$byval_copy36+4>>2]=HEAP32[(4268)+4>>2]|0;HEAP32[$sndScream$byval_copy36+8>>2]=HEAP32[(4268)+8>>2]|0;HEAP32[$sndScream$byval_copy36+12>>2]=HEAP32[(4268)+12>>2]|0; + HEAP32[(28232)>>2] = 1; + ;HEAP32[$$byval_copy33>>2]=HEAP32[(26848)>>2]|0;HEAP32[$$byval_copy33+4>>2]=HEAP32[(26848)+4>>2]|0;HEAP32[$$byval_copy33+8>>2]=HEAP32[(26848)+8>>2]|0;HEAP32[$$byval_copy33+12>>2]=HEAP32[(26848)+12>>2]|0; + ;HEAP32[$sndScream$byval_copy36>>2]=HEAP32[(28252)>>2]|0;HEAP32[$sndScream$byval_copy36+4>>2]=HEAP32[(28252)+4>>2]|0;HEAP32[$sndScream$byval_copy36+8>>2]=HEAP32[(28252)+8>>2]|0;HEAP32[$sndScream$byval_copy36+12>>2]=HEAP32[(28252)+12>>2]|0; $13 = (_CheckCollisionRecs($$byval_copy33,$sndScream$byval_copy36)|0); $14 = ($13|0)==(0); if (!($14)) { @@ -15936,7 +15532,7 @@ function _UpdateArmoryScreen() { } else { _GetMousePosition($1); ;HEAP32[$$byval_copy33>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy33+4>>2]=HEAP32[$1+4>>2]|0; - ;HEAP32[$sndScream$byval_copy36>>2]=HEAP32[(4268)>>2]|0;HEAP32[$sndScream$byval_copy36+4>>2]=HEAP32[(4268)+4>>2]|0;HEAP32[$sndScream$byval_copy36+8>>2]=HEAP32[(4268)+8>>2]|0;HEAP32[$sndScream$byval_copy36+12>>2]=HEAP32[(4268)+12>>2]|0; + ;HEAP32[$sndScream$byval_copy36>>2]=HEAP32[(28252)>>2]|0;HEAP32[$sndScream$byval_copy36+4>>2]=HEAP32[(28252)+4>>2]|0;HEAP32[$sndScream$byval_copy36+8>>2]=HEAP32[(28252)+8>>2]|0;HEAP32[$sndScream$byval_copy36+12>>2]=HEAP32[(28252)+12>>2]|0; $17 = (_CheckCollisionPointRec($$byval_copy33,$sndScream$byval_copy36)|0); $18 = ($17|0)==(0); if ($18) { @@ -15950,15 +15546,15 @@ function _UpdateArmoryScreen() { break; } } - $21 = HEAP32[(4244)>>2]|0; + $21 = HEAP32[(28228)>>2]|0; $22 = ($21|0)==(0); if ($22) { - HEAP32[4152>>2] = 1; + HEAP32[7048] = 1; break; } else { - HEAP32[(4256)>>2] = 0; - HEAP32[(4244)>>2] = 0; - ;HEAP32[$sndScream$byval_copy36>>2]=HEAP32[112>>2]|0;HEAP32[$sndScream$byval_copy36+4>>2]=HEAP32[112+4>>2]|0; + HEAP32[(28240)>>2] = 0; + HEAP32[(28228)>>2] = 0; + ;HEAP32[$sndScream$byval_copy36>>2]=HEAP32[26812>>2]|0;HEAP32[$sndScream$byval_copy36+4>>2]=HEAP32[26812+4>>2]|0;HEAP32[$sndScream$byval_copy36+8>>2]=HEAP32[26812+8>>2]|0; _PlaySound($sndScream$byval_copy36); break; } @@ -15967,22 +15563,22 @@ function _UpdateArmoryScreen() { } while(0); _GetMousePosition($2); ;HEAP32[$$byval_copy33>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy33+4>>2]=HEAP32[$2+4>>2]|0; - ;HEAP32[$sndScream$byval_copy36>>2]=HEAP32[(4324)>>2]|0;HEAP32[$sndScream$byval_copy36+4>>2]=HEAP32[(4324)+4>>2]|0;HEAP32[$sndScream$byval_copy36+8>>2]=HEAP32[(4324)+8>>2]|0;HEAP32[$sndScream$byval_copy36+12>>2]=HEAP32[(4324)+12>>2]|0; + ;HEAP32[$sndScream$byval_copy36>>2]=HEAP32[(28304)>>2]|0;HEAP32[$sndScream$byval_copy36+4>>2]=HEAP32[(28304)+4>>2]|0;HEAP32[$sndScream$byval_copy36+8>>2]=HEAP32[(28304)+8>>2]|0;HEAP32[$sndScream$byval_copy36+12>>2]=HEAP32[(28304)+12>>2]|0; $23 = (_CheckCollisionPointRec($$byval_copy33,$sndScream$byval_copy36)|0); $24 = ($23|0)==(0); if ($24) { - ;HEAP32[$$byval_copy33>>2]=HEAP32[(144)>>2]|0;HEAP32[$$byval_copy33+4>>2]=HEAP32[(144)+4>>2]|0;HEAP32[$$byval_copy33+8>>2]=HEAP32[(144)+8>>2]|0;HEAP32[$$byval_copy33+12>>2]=HEAP32[(144)+12>>2]|0; - ;HEAP32[$sndScream$byval_copy36>>2]=HEAP32[(4324)>>2]|0;HEAP32[$sndScream$byval_copy36+4>>2]=HEAP32[(4324)+4>>2]|0;HEAP32[$sndScream$byval_copy36+8>>2]=HEAP32[(4324)+8>>2]|0;HEAP32[$sndScream$byval_copy36+12>>2]=HEAP32[(4324)+12>>2]|0; + ;HEAP32[$$byval_copy33>>2]=HEAP32[(26848)>>2]|0;HEAP32[$$byval_copy33+4>>2]=HEAP32[(26848)+4>>2]|0;HEAP32[$$byval_copy33+8>>2]=HEAP32[(26848)+8>>2]|0;HEAP32[$$byval_copy33+12>>2]=HEAP32[(26848)+12>>2]|0; + ;HEAP32[$sndScream$byval_copy36>>2]=HEAP32[(28304)>>2]|0;HEAP32[$sndScream$byval_copy36+4>>2]=HEAP32[(28304)+4>>2]|0;HEAP32[$sndScream$byval_copy36+8>>2]=HEAP32[(28304)+8>>2]|0;HEAP32[$sndScream$byval_copy36+12>>2]=HEAP32[(28304)+12>>2]|0; $25 = (_CheckCollisionRecs($$byval_copy33,$sndScream$byval_copy36)|0); $26 = ($25|0)==(0); if ($26) { - HEAP32[(4304)>>2] = 0; + HEAP32[(28284)>>2] = 0; break; } } - HEAP32[(4304)>>2] = 1; - ;HEAP32[$$byval_copy33>>2]=HEAP32[(144)>>2]|0;HEAP32[$$byval_copy33+4>>2]=HEAP32[(144)+4>>2]|0;HEAP32[$$byval_copy33+8>>2]=HEAP32[(144)+8>>2]|0;HEAP32[$$byval_copy33+12>>2]=HEAP32[(144)+12>>2]|0; - ;HEAP32[$sndScream$byval_copy36>>2]=HEAP32[(4324)>>2]|0;HEAP32[$sndScream$byval_copy36+4>>2]=HEAP32[(4324)+4>>2]|0;HEAP32[$sndScream$byval_copy36+8>>2]=HEAP32[(4324)+8>>2]|0;HEAP32[$sndScream$byval_copy36+12>>2]=HEAP32[(4324)+12>>2]|0; + HEAP32[(28284)>>2] = 1; + ;HEAP32[$$byval_copy33>>2]=HEAP32[(26848)>>2]|0;HEAP32[$$byval_copy33+4>>2]=HEAP32[(26848)+4>>2]|0;HEAP32[$$byval_copy33+8>>2]=HEAP32[(26848)+8>>2]|0;HEAP32[$$byval_copy33+12>>2]=HEAP32[(26848)+12>>2]|0; + ;HEAP32[$sndScream$byval_copy36>>2]=HEAP32[(28304)>>2]|0;HEAP32[$sndScream$byval_copy36+4>>2]=HEAP32[(28304)+4>>2]|0;HEAP32[$sndScream$byval_copy36+8>>2]=HEAP32[(28304)+8>>2]|0;HEAP32[$sndScream$byval_copy36+12>>2]=HEAP32[(28304)+12>>2]|0; $27 = (_CheckCollisionRecs($$byval_copy33,$sndScream$byval_copy36)|0); $28 = ($27|0)==(0); if (!($28)) { @@ -15993,7 +15589,7 @@ function _UpdateArmoryScreen() { } else { _GetMousePosition($3); ;HEAP32[$$byval_copy33>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy33+4>>2]=HEAP32[$3+4>>2]|0; - ;HEAP32[$sndScream$byval_copy36>>2]=HEAP32[(4324)>>2]|0;HEAP32[$sndScream$byval_copy36+4>>2]=HEAP32[(4324)+4>>2]|0;HEAP32[$sndScream$byval_copy36+8>>2]=HEAP32[(4324)+8>>2]|0;HEAP32[$sndScream$byval_copy36+12>>2]=HEAP32[(4324)+12>>2]|0; + ;HEAP32[$sndScream$byval_copy36>>2]=HEAP32[(28304)>>2]|0;HEAP32[$sndScream$byval_copy36+4>>2]=HEAP32[(28304)+4>>2]|0;HEAP32[$sndScream$byval_copy36+8>>2]=HEAP32[(28304)+8>>2]|0;HEAP32[$sndScream$byval_copy36+12>>2]=HEAP32[(28304)+12>>2]|0; $31 = (_CheckCollisionPointRec($$byval_copy33,$sndScream$byval_copy36)|0); $32 = ($31|0)==(0); if ($32) { @@ -16007,350 +15603,382 @@ function _UpdateArmoryScreen() { break; } } - $35 = HEAP32[(4300)>>2]|0; + $35 = HEAP32[(28280)>>2]|0; $36 = ($35|0)==(0); if ($36) { - HEAP32[4152>>2] = 2; + HEAP32[7048] = 2; break; } else { - HEAP32[(4312)>>2] = 0; - HEAP32[(4300)>>2] = 0; - ;HEAP32[$sndScream$byval_copy36>>2]=HEAP32[112>>2]|0;HEAP32[$sndScream$byval_copy36+4>>2]=HEAP32[112+4>>2]|0; + HEAP32[(28292)>>2] = 0; + HEAP32[(28280)>>2] = 0; + ;HEAP32[$sndScream$byval_copy36>>2]=HEAP32[26812>>2]|0;HEAP32[$sndScream$byval_copy36+4>>2]=HEAP32[26812+4>>2]|0;HEAP32[$sndScream$byval_copy36+8>>2]=HEAP32[26812+8>>2]|0; _PlaySound($sndScream$byval_copy36); break; } } } } while(0); - $37 = HEAP32[3864>>2]|0; + $37 = HEAP32[7044]|0; $38 = ($37|0)>(2); if ($38) { _UpdatePlayer(); - _UpdateMonster(4344); - _UpdateMonster(4480); - _UpdateMonster(4616); + _UpdateMonster(28320); + _UpdateMonster(28412); + _UpdateMonster(28504); } - ;HEAP32[$$byval_copy33>>2]=HEAP32[(144)>>2]|0;HEAP32[$$byval_copy33+4>>2]=HEAP32[(144)+4>>2]|0;HEAP32[$$byval_copy33+8>>2]=HEAP32[(144)+8>>2]|0;HEAP32[$$byval_copy33+12>>2]=HEAP32[(144)+12>>2]|0; - ;HEAP32[$sndScream$byval_copy36>>2]=HEAP32[(4372)>>2]|0;HEAP32[$sndScream$byval_copy36+4>>2]=HEAP32[(4372)+4>>2]|0;HEAP32[$sndScream$byval_copy36+8>>2]=HEAP32[(4372)+8>>2]|0;HEAP32[$sndScream$byval_copy36+12>>2]=HEAP32[(4372)+12>>2]|0; + ;HEAP32[$$byval_copy33>>2]=HEAP32[(26848)>>2]|0;HEAP32[$$byval_copy33+4>>2]=HEAP32[(26848)+4>>2]|0;HEAP32[$$byval_copy33+8>>2]=HEAP32[(26848)+8>>2]|0;HEAP32[$$byval_copy33+12>>2]=HEAP32[(26848)+12>>2]|0; + ;HEAP32[$sndScream$byval_copy36>>2]=HEAP32[(28348)>>2]|0;HEAP32[$sndScream$byval_copy36+4>>2]=HEAP32[(28348)+4>>2]|0;HEAP32[$sndScream$byval_copy36+8>>2]=HEAP32[(28348)+8>>2]|0;HEAP32[$sndScream$byval_copy36+12>>2]=HEAP32[(28348)+12>>2]|0; $39 = (_CheckCollisionRecs($$byval_copy33,$sndScream$byval_copy36)|0); $40 = ($39|0)==(0); - $41 = HEAP32[(4424)>>2]|0; + $41 = HEAP32[(28400)>>2]|0; $42 = ($41|0)!=(0); $or$cond = $40 | $42; if ($or$cond) { - ;HEAP32[$$byval_copy33>>2]=HEAP32[(144)>>2]|0;HEAP32[$$byval_copy33+4>>2]=HEAP32[(144)+4>>2]|0;HEAP32[$$byval_copy33+8>>2]=HEAP32[(144)+8>>2]|0;HEAP32[$$byval_copy33+12>>2]=HEAP32[(144)+12>>2]|0; - ;HEAP32[$sndScream$byval_copy36>>2]=HEAP32[(4508)>>2]|0;HEAP32[$sndScream$byval_copy36+4>>2]=HEAP32[(4508)+4>>2]|0;HEAP32[$sndScream$byval_copy36+8>>2]=HEAP32[(4508)+8>>2]|0;HEAP32[$sndScream$byval_copy36+12>>2]=HEAP32[(4508)+12>>2]|0; + ;HEAP32[$$byval_copy33>>2]=HEAP32[(26848)>>2]|0;HEAP32[$$byval_copy33+4>>2]=HEAP32[(26848)+4>>2]|0;HEAP32[$$byval_copy33+8>>2]=HEAP32[(26848)+8>>2]|0;HEAP32[$$byval_copy33+12>>2]=HEAP32[(26848)+12>>2]|0; + ;HEAP32[$sndScream$byval_copy36>>2]=HEAP32[(28440)>>2]|0;HEAP32[$sndScream$byval_copy36+4>>2]=HEAP32[(28440)+4>>2]|0;HEAP32[$sndScream$byval_copy36+8>>2]=HEAP32[(28440)+8>>2]|0;HEAP32[$sndScream$byval_copy36+12>>2]=HEAP32[(28440)+12>>2]|0; $43 = (_CheckCollisionRecs($$byval_copy33,$sndScream$byval_copy36)|0); $44 = ($43|0)==(0); - $45 = HEAP32[(4560)>>2]|0; + $45 = HEAP32[(28492)>>2]|0; $46 = ($45|0)!=(0); - $or$cond3 = $44 | $46; - if ($or$cond3) { - ;HEAP32[$$byval_copy33>>2]=HEAP32[(144)>>2]|0;HEAP32[$$byval_copy33+4>>2]=HEAP32[(144)+4>>2]|0;HEAP32[$$byval_copy33+8>>2]=HEAP32[(144)+8>>2]|0;HEAP32[$$byval_copy33+12>>2]=HEAP32[(144)+12>>2]|0; - ;HEAP32[$sndScream$byval_copy36>>2]=HEAP32[(4644)>>2]|0;HEAP32[$sndScream$byval_copy36+4>>2]=HEAP32[(4644)+4>>2]|0;HEAP32[$sndScream$byval_copy36+8>>2]=HEAP32[(4644)+8>>2]|0;HEAP32[$sndScream$byval_copy36+12>>2]=HEAP32[(4644)+12>>2]|0; + $or$cond4 = $44 | $46; + if ($or$cond4) { + ;HEAP32[$$byval_copy33>>2]=HEAP32[(26848)>>2]|0;HEAP32[$$byval_copy33+4>>2]=HEAP32[(26848)+4>>2]|0;HEAP32[$$byval_copy33+8>>2]=HEAP32[(26848)+8>>2]|0;HEAP32[$$byval_copy33+12>>2]=HEAP32[(26848)+12>>2]|0; + ;HEAP32[$sndScream$byval_copy36>>2]=HEAP32[(28532)>>2]|0;HEAP32[$sndScream$byval_copy36+4>>2]=HEAP32[(28532)+4>>2]|0;HEAP32[$sndScream$byval_copy36+8>>2]=HEAP32[(28532)+8>>2]|0;HEAP32[$sndScream$byval_copy36+12>>2]=HEAP32[(28532)+12>>2]|0; $47 = (_CheckCollisionRecs($$byval_copy33,$sndScream$byval_copy36)|0); $48 = ($47|0)==(0); - $49 = HEAP32[(4696)>>2]|0; + $49 = HEAP32[(28584)>>2]|0; $50 = ($49|0)!=(0); - $or$cond5 = $48 | $50; - $51 = $or$cond5&1; - $$17 = $51 ^ 1; - $storemerge = $$17; + $or$cond6 = $48 | $50; + if ($or$cond6) { + $$sink7 = 0; + } else { + label = 27; + } } else { - $storemerge = 1; + label = 27; } } else { - $storemerge = 1; + label = 27; } - HEAP32[3848>>2] = $storemerge; - ;HEAP32[$$byval_copy33>>2]=HEAP32[(144)>>2]|0;HEAP32[$$byval_copy33+4>>2]=HEAP32[(144)+4>>2]|0;HEAP32[$$byval_copy33+8>>2]=HEAP32[(144)+8>>2]|0;HEAP32[$$byval_copy33+12>>2]=HEAP32[(144)+12>>2]|0; - ;HEAP32[$sndScream$byval_copy36>>2]=HEAP32[(4372)>>2]|0;HEAP32[$sndScream$byval_copy36+4>>2]=HEAP32[(4372)+4>>2]|0;HEAP32[$sndScream$byval_copy36+8>>2]=HEAP32[(4372)+8>>2]|0;HEAP32[$sndScream$byval_copy36+12>>2]=HEAP32[(4372)+12>>2]|0; - $52 = (_CheckCollisionRecs($$byval_copy33,$sndScream$byval_copy36)|0); - $53 = ($52|0)==(0); - $54 = HEAP32[(4424)>>2]|0; - $55 = ($54|0)!=(0); - $or$cond7 = $53 | $55; + if ((label|0) == 27) { + $$sink7 = 1; + } + HEAP32[7043] = $$sink7; + ;HEAP32[$$byval_copy33>>2]=HEAP32[(26848)>>2]|0;HEAP32[$$byval_copy33+4>>2]=HEAP32[(26848)+4>>2]|0;HEAP32[$$byval_copy33+8>>2]=HEAP32[(26848)+8>>2]|0;HEAP32[$$byval_copy33+12>>2]=HEAP32[(26848)+12>>2]|0; + ;HEAP32[$sndScream$byval_copy36>>2]=HEAP32[(28348)>>2]|0;HEAP32[$sndScream$byval_copy36+4>>2]=HEAP32[(28348)+4>>2]|0;HEAP32[$sndScream$byval_copy36+8>>2]=HEAP32[(28348)+8>>2]|0;HEAP32[$sndScream$byval_copy36+12>>2]=HEAP32[(28348)+12>>2]|0; + $51 = (_CheckCollisionRecs($$byval_copy33,$sndScream$byval_copy36)|0); + $52 = ($51|0)==(0); + $53 = HEAP32[(28400)>>2]|0; + $54 = ($53|0)!=(0); + $or$cond9 = $52 | $54; do { - if ($or$cond7) { - HEAP32[(4428)>>2] = 0; + if ($or$cond9) { + HEAP32[(28404)>>2] = 0; } else { - HEAP32[(4428)>>2] = 1; - $56 = (_IsKeyPressed(32)|0); - $57 = ($56|0)==(0); - if ($57) { - $58 = (_IsMouseButtonPressed(0)|0); - $59 = ($58|0)==(0); - if ($59) { + HEAP32[(28404)>>2] = 1; + $55 = (_IsKeyPressed(32)|0); + $56 = ($55|0)==(0); + if ($56) { + $57 = (_IsMouseButtonPressed(0)|0); + $58 = ($57|0)==(0); + if ($58) { break; } _GetMousePosition($4); ;HEAP32[$$byval_copy33>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy33+4>>2]=HEAP32[$4+4>>2]|0; - ;HEAP32[$sndScream$byval_copy36>>2]=HEAP32[(4372)>>2]|0;HEAP32[$sndScream$byval_copy36+4>>2]=HEAP32[(4372)+4>>2]|0;HEAP32[$sndScream$byval_copy36+8>>2]=HEAP32[(4372)+8>>2]|0;HEAP32[$sndScream$byval_copy36+12>>2]=HEAP32[(4372)+12>>2]|0; - $60 = (_CheckCollisionPointRec($$byval_copy33,$sndScream$byval_copy36)|0); - $61 = ($60|0)==(0); - if ($61) { + ;HEAP32[$sndScream$byval_copy36>>2]=HEAP32[(28348)>>2]|0;HEAP32[$sndScream$byval_copy36+4>>2]=HEAP32[(28348)+4>>2]|0;HEAP32[$sndScream$byval_copy36+8>>2]=HEAP32[(28348)+8>>2]|0;HEAP32[$sndScream$byval_copy36+12>>2]=HEAP32[(28348)+12>>2]|0; + $59 = (_CheckCollisionPointRec($$byval_copy33,$sndScream$byval_copy36)|0); + $60 = ($59|0)==(0); + if ($60) { break; } } _SearchKeyPlayer(); - HEAP32[4752>>2] = 1; - HEAP32[4144>>2] = 0; - HEAP32[3856>>2] = 1; + HEAP32[7149] = 1; + HEAP32[7047] = 0; + HEAP32[11] = 1; } } while(0); - ;HEAP32[$$byval_copy33>>2]=HEAP32[(144)>>2]|0;HEAP32[$$byval_copy33+4>>2]=HEAP32[(144)+4>>2]|0;HEAP32[$$byval_copy33+8>>2]=HEAP32[(144)+8>>2]|0;HEAP32[$$byval_copy33+12>>2]=HEAP32[(144)+12>>2]|0; - ;HEAP32[$sndScream$byval_copy36>>2]=HEAP32[(4508)>>2]|0;HEAP32[$sndScream$byval_copy36+4>>2]=HEAP32[(4508)+4>>2]|0;HEAP32[$sndScream$byval_copy36+8>>2]=HEAP32[(4508)+8>>2]|0;HEAP32[$sndScream$byval_copy36+12>>2]=HEAP32[(4508)+12>>2]|0; - $62 = (_CheckCollisionRecs($$byval_copy33,$sndScream$byval_copy36)|0); - $63 = ($62|0)==(0); - $64 = HEAP32[(4560)>>2]|0; - $65 = ($64|0)!=(0); - $or$cond9 = $63 | $65; + ;HEAP32[$$byval_copy33>>2]=HEAP32[(26848)>>2]|0;HEAP32[$$byval_copy33+4>>2]=HEAP32[(26848)+4>>2]|0;HEAP32[$$byval_copy33+8>>2]=HEAP32[(26848)+8>>2]|0;HEAP32[$$byval_copy33+12>>2]=HEAP32[(26848)+12>>2]|0; + ;HEAP32[$sndScream$byval_copy36>>2]=HEAP32[(28440)>>2]|0;HEAP32[$sndScream$byval_copy36+4>>2]=HEAP32[(28440)+4>>2]|0;HEAP32[$sndScream$byval_copy36+8>>2]=HEAP32[(28440)+8>>2]|0;HEAP32[$sndScream$byval_copy36+12>>2]=HEAP32[(28440)+12>>2]|0; + $61 = (_CheckCollisionRecs($$byval_copy33,$sndScream$byval_copy36)|0); + $62 = ($61|0)==(0); + $63 = HEAP32[(28492)>>2]|0; + $64 = ($63|0)!=(0); + $or$cond11 = $62 | $64; do { - if ($or$cond9) { - HEAP32[(4564)>>2] = 0; + if ($or$cond11) { + HEAP32[(28496)>>2] = 0; } else { - HEAP32[(4564)>>2] = 1; - $66 = (_IsKeyPressed(32)|0); - $67 = ($66|0)==(0); - if ($67) { - $68 = (_IsMouseButtonPressed(0)|0); - $69 = ($68|0)==(0); - if ($69) { + HEAP32[(28496)>>2] = 1; + $65 = (_IsKeyPressed(32)|0); + $66 = ($65|0)==(0); + if ($66) { + $67 = (_IsMouseButtonPressed(0)|0); + $68 = ($67|0)==(0); + if ($68) { break; } _GetMousePosition($5); ;HEAP32[$$byval_copy33>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy33+4>>2]=HEAP32[$5+4>>2]|0; - ;HEAP32[$sndScream$byval_copy36>>2]=HEAP32[(4508)>>2]|0;HEAP32[$sndScream$byval_copy36+4>>2]=HEAP32[(4508)+4>>2]|0;HEAP32[$sndScream$byval_copy36+8>>2]=HEAP32[(4508)+8>>2]|0;HEAP32[$sndScream$byval_copy36+12>>2]=HEAP32[(4508)+12>>2]|0; - $70 = (_CheckCollisionPointRec($$byval_copy33,$sndScream$byval_copy36)|0); - $71 = ($70|0)==(0); - if ($71) { + ;HEAP32[$sndScream$byval_copy36>>2]=HEAP32[(28440)>>2]|0;HEAP32[$sndScream$byval_copy36+4>>2]=HEAP32[(28440)+4>>2]|0;HEAP32[$sndScream$byval_copy36+8>>2]=HEAP32[(28440)+8>>2]|0;HEAP32[$sndScream$byval_copy36+12>>2]=HEAP32[(28440)+12>>2]|0; + $69 = (_CheckCollisionPointRec($$byval_copy33,$sndScream$byval_copy36)|0); + $70 = ($69|0)==(0); + if ($70) { break; } } _SearchKeyPlayer(); - HEAP32[4752>>2] = 1; - HEAP32[4144>>2] = 0; - HEAP32[3856>>2] = 2; + HEAP32[7149] = 1; + HEAP32[7047] = 0; + HEAP32[11] = 2; } } while(0); - ;HEAP32[$$byval_copy33>>2]=HEAP32[(144)>>2]|0;HEAP32[$$byval_copy33+4>>2]=HEAP32[(144)+4>>2]|0;HEAP32[$$byval_copy33+8>>2]=HEAP32[(144)+8>>2]|0;HEAP32[$$byval_copy33+12>>2]=HEAP32[(144)+12>>2]|0; - ;HEAP32[$sndScream$byval_copy36>>2]=HEAP32[(4644)>>2]|0;HEAP32[$sndScream$byval_copy36+4>>2]=HEAP32[(4644)+4>>2]|0;HEAP32[$sndScream$byval_copy36+8>>2]=HEAP32[(4644)+8>>2]|0;HEAP32[$sndScream$byval_copy36+12>>2]=HEAP32[(4644)+12>>2]|0; - $72 = (_CheckCollisionRecs($$byval_copy33,$sndScream$byval_copy36)|0); - $73 = ($72|0)==(0); - $74 = HEAP32[(4696)>>2]|0; - $75 = ($74|0)!=(0); - $or$cond11 = $73 | $75; + ;HEAP32[$$byval_copy33>>2]=HEAP32[(26848)>>2]|0;HEAP32[$$byval_copy33+4>>2]=HEAP32[(26848)+4>>2]|0;HEAP32[$$byval_copy33+8>>2]=HEAP32[(26848)+8>>2]|0;HEAP32[$$byval_copy33+12>>2]=HEAP32[(26848)+12>>2]|0; + ;HEAP32[$sndScream$byval_copy36>>2]=HEAP32[(28532)>>2]|0;HEAP32[$sndScream$byval_copy36+4>>2]=HEAP32[(28532)+4>>2]|0;HEAP32[$sndScream$byval_copy36+8>>2]=HEAP32[(28532)+8>>2]|0;HEAP32[$sndScream$byval_copy36+12>>2]=HEAP32[(28532)+12>>2]|0; + $71 = (_CheckCollisionRecs($$byval_copy33,$sndScream$byval_copy36)|0); + $72 = ($71|0)==(0); + $73 = HEAP32[(28584)>>2]|0; + $74 = ($73|0)!=(0); + $or$cond13 = $72 | $74; do { - if ($or$cond11) { - HEAP32[(4700)>>2] = 0; - label = 45; + if ($or$cond13) { + HEAP32[(28588)>>2] = 0; + label = 46; } else { - HEAP32[(4700)>>2] = 1; - $76 = (_IsKeyPressed(32)|0); - $77 = ($76|0)==(0); - if ($77) { - $78 = (_IsMouseButtonPressed(0)|0); - $79 = ($78|0)==(0); - if ($79) { - label = 45; + HEAP32[(28588)>>2] = 1; + $75 = (_IsKeyPressed(32)|0); + $76 = ($75|0)==(0); + if ($76) { + $77 = (_IsMouseButtonPressed(0)|0); + $78 = ($77|0)==(0); + if ($78) { + label = 46; break; } _GetMousePosition($6); ;HEAP32[$$byval_copy33>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy33+4>>2]=HEAP32[$6+4>>2]|0; - ;HEAP32[$sndScream$byval_copy36>>2]=HEAP32[(4644)>>2]|0;HEAP32[$sndScream$byval_copy36+4>>2]=HEAP32[(4644)+4>>2]|0;HEAP32[$sndScream$byval_copy36+8>>2]=HEAP32[(4644)+8>>2]|0;HEAP32[$sndScream$byval_copy36+12>>2]=HEAP32[(4644)+12>>2]|0; - $80 = (_CheckCollisionPointRec($$byval_copy33,$sndScream$byval_copy36)|0); - $81 = ($80|0)==(0); - if ($81) { - label = 45; + ;HEAP32[$sndScream$byval_copy36>>2]=HEAP32[(28532)>>2]|0;HEAP32[$sndScream$byval_copy36+4>>2]=HEAP32[(28532)+4>>2]|0;HEAP32[$sndScream$byval_copy36+8>>2]=HEAP32[(28532)+8>>2]|0;HEAP32[$sndScream$byval_copy36+12>>2]=HEAP32[(28532)+12>>2]|0; + $79 = (_CheckCollisionPointRec($$byval_copy33,$sndScream$byval_copy36)|0); + $80 = ($79|0)==(0); + if ($80) { + label = 46; break; } } _SearchKeyPlayer(); - HEAP32[4752>>2] = 1; - HEAP32[3856>>2] = 3; - HEAP32[4144>>2] = 1; + HEAP32[7149] = 1; + HEAP32[11] = 3; + HEAP32[7047] = 1; } } while(0); - if ((label|0) == 45) { - $$pr = HEAP32[4752>>2]|0; - $82 = ($$pr|0)==(0); - if (!($82)) { - $$pr18 = HEAP32[4144>>2]|0; - $83 = (($$pr18) + 1)|0; - HEAP32[4144>>2] = $83; - $84 = ($$pr18|0)>(179); - if ($84) { - $85 = HEAP32[3856>>2]|0; - if ((($85|0) == 1)) { - $86 = HEAP32[(4432)>>2]|0; - $87 = ($86|0)==(0); - if ($87) { - _FindKeyPlayer(); - } else { - _ScarePlayer(); - ;HEAP32[$sndScream$byval_copy36>>2]=HEAP32[120>>2]|0;HEAP32[$sndScream$byval_copy36+4>>2]=HEAP32[120+4>>2]|0; - _PlaySound($sndScream$byval_copy36); + if ((label|0) == 46) { + $$pr = HEAP32[7149]|0; + $81 = ($$pr|0)==(0); + if (!($81)) { + $$pr23 = HEAP32[7047]|0; + $82 = (($$pr23) + 1)|0; + HEAP32[7047] = $82; + $83 = ($$pr23|0)>(179); + if ($83) { + $84 = HEAP32[11]|0; + L68: do { + switch ($84|0) { + case 1: { + $85 = HEAP32[(28408)>>2]|0; + $86 = ($85|0)==(0); + if ($86) { + _FindKeyPlayer(); + $$sink14 = (28404);$$sink15 = (28400); + label = 58; + break L68; + } else { + _ScarePlayer(); + ;HEAP32[$sndScream$byval_copy36>>2]=HEAP32[26824>>2]|0;HEAP32[$sndScream$byval_copy36+4>>2]=HEAP32[26824+4>>2]|0;HEAP32[$sndScream$byval_copy36+8>>2]=HEAP32[26824+8>>2]|0; + _PlaySound($sndScream$byval_copy36); + $$sink14 = (28404);$$sink15 = (28400); + label = 58; + break L68; + } + break; } - HEAP32[(4424)>>2] = 1; - HEAP32[(4428)>>2] = 0; - } else if ((($85|0) == 3)) { - $90 = HEAP32[(4704)>>2]|0; - $91 = ($90|0)==(0); - if ($91) { - _FindKeyPlayer(); - } else { - _ScarePlayer(); - ;HEAP32[$sndScream$byval_copy36>>2]=HEAP32[120>>2]|0;HEAP32[$sndScream$byval_copy36+4>>2]=HEAP32[120+4>>2]|0; - _PlaySound($sndScream$byval_copy36); + case 2: { + $87 = HEAP32[(28500)>>2]|0; + $88 = ($87|0)==(0); + if ($88) { + _FindKeyPlayer(); + $$sink14 = (28496);$$sink15 = (28492); + label = 58; + break L68; + } else { + _ScarePlayer(); + ;HEAP32[$sndScream$byval_copy36>>2]=HEAP32[26824>>2]|0;HEAP32[$sndScream$byval_copy36+4>>2]=HEAP32[26824+4>>2]|0;HEAP32[$sndScream$byval_copy36+8>>2]=HEAP32[26824+8>>2]|0; + _PlaySound($sndScream$byval_copy36); + $$sink14 = (28496);$$sink15 = (28492); + label = 58; + break L68; + } + break; } - HEAP32[(4696)>>2] = 1; - HEAP32[(4700)>>2] = 0; - } else if ((($85|0) == 2)) { - $88 = HEAP32[(4568)>>2]|0; - $89 = ($88|0)==(0); - if ($89) { - _FindKeyPlayer(); - } else { - _ScarePlayer(); - ;HEAP32[$sndScream$byval_copy36>>2]=HEAP32[120>>2]|0;HEAP32[$sndScream$byval_copy36+4>>2]=HEAP32[120+4>>2]|0; - _PlaySound($sndScream$byval_copy36); + case 3: { + $89 = HEAP32[(28592)>>2]|0; + $90 = ($89|0)==(0); + if ($90) { + _FindKeyPlayer(); + $$sink14 = (28588);$$sink15 = (28584); + label = 58; + break L68; + } else { + _ScarePlayer(); + ;HEAP32[$sndScream$byval_copy36>>2]=HEAP32[26824>>2]|0;HEAP32[$sndScream$byval_copy36+4>>2]=HEAP32[26824+4>>2]|0;HEAP32[$sndScream$byval_copy36+8>>2]=HEAP32[26824+8>>2]|0; + _PlaySound($sndScream$byval_copy36); + $$sink14 = (28588);$$sink15 = (28584); + label = 58; + break L68; + } + break; } - HEAP32[(4560)>>2] = 1; - HEAP32[(4564)>>2] = 0; + default: { + } + } + } while(0); + if ((label|0) == 58) { + HEAP32[$$sink15>>2] = 1; + HEAP32[$$sink14>>2] = 0; } - HEAP32[4752>>2] = 0; - HEAP32[4144>>2] = 0; + HEAP32[7149] = 0; + HEAP32[7047] = 0; } } } - $92 = HEAP32[4144>>2]|0; - $93 = (($92) + 1)|0; - HEAP32[4144>>2] = $93; - $94 = $93 & 1; - $95 = ($94|0)==(0); - if ($95) { - $96 = HEAP32[3880>>2]|0; - $97 = (($96) + 1)|0; - HEAP32[3880>>2] = $97; + $91 = HEAP32[7047]|0; + $92 = (($91) + 1)|0; + HEAP32[7047] = $92; + $93 = $92 & 1; + $94 = ($93|0)==(0); + if ($94) { + $95 = HEAP32[7046]|0; + $96 = (($95) + 1)|0; + HEAP32[7046] = $96; } - $98 = HEAP32[3864>>2]|0; - if ((($98|0) == 1)) { - $109 = HEAP32[3872>>2]|0; - $110 = (($109) + 1)|0; - HEAP32[3872>>2] = $110; - $111 = (_IsKeyPressed(257)|0); - $112 = ($111|0)==(0); - if ($112) { - $113 = (_IsMouseButtonPressed(0)|0); - $114 = ($113|0)==(0); - if ($114) { - STACKTOP = sp;return; - } - } - HEAP32[3864>>2] = 2; - HEAP32[3872>>2] = 0; - STACKTOP = sp;return; - } else if ((($98|0) == 0)) { - $99 = HEAP32[3880>>2]|0; + $97 = HEAP32[7044]|0; + $98 = ($97|0)==(0); + if ($98) { + $99 = HEAP32[7046]|0; $100 = ($99|0)<(38); if ($100) { - (_strncpy((3888|0),(4760|0),($99|0))|0); + (_strncpy(34552,7030,$99)|0); } else { - $101 = (_strlen((3888|0))|0); + $101 = (_strlen(34552)|0); $102 = ($101|0)>(0); if ($102) { - $i$020 = 0; + $$025 = 0; while(1) { - $103 = (3888 + ($i$020)|0); + $103 = (34552 + ($$025)|0); HEAP8[$103>>0] = 0; - $104 = (($i$020) + 1)|0; - $105 = (_strlen((3888|0))|0); + $104 = (($$025) + 1)|0; + $105 = (_strlen(34552)|0); $106 = ($104|0)<($105|0); if ($106) { - $i$020 = $104; + $$025 = $104; } else { break; } } } - HEAP32[3880>>2] = 0; - HEAP32[3864>>2] = 1; + HEAP32[7046] = 0; + HEAP32[7044] = 1; } $107 = (_IsKeyPressed(257)|0); $108 = ($107|0)==(0); if ($108) { STACKTOP = sp;return; } - HEAP32[3864>>2] = 1; - STACKTOP = sp;return; - } else { - $115 = ($98|0)==(2); - $116 = HEAP32[3872>>2]|0; - $117 = (($116) + 1)|0; - HEAP32[3872>>2] = $117; - $118 = ($116|0)>(179); - $or$cond13 = $115 & $118; - if (!($or$cond13)) { - STACKTOP = sp;return; - } - HEAP32[3864>>2] = 3; + HEAP32[7044] = 1; STACKTOP = sp;return; } + $109 = ($97|0)==(1); + $110 = HEAP32[7045]|0; + $111 = (($110) + 1)|0; + HEAP32[7045] = $111; + if (!($109)) { + $116 = ($97|0)==(2); + $117 = ($110|0)>(179); + $or$cond17 = $116 & $117; + if (!($or$cond17)) { + STACKTOP = sp;return; + } + HEAP32[7044] = 3; + STACKTOP = sp;return; + } + $112 = (_IsKeyPressed(257)|0); + $113 = ($112|0)==(0); + if ($113) { + $114 = (_IsMouseButtonPressed(0)|0); + $115 = ($114|0)==(0); + if ($115) { + STACKTOP = sp;return; + } + } + HEAP32[7044] = 2; + HEAP32[7045] = 0; + STACKTOP = sp;return; } function _DrawArmoryScreen() { var $$byval_copy30 = 0, $$byval_copy34 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0; - var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0; - var $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0; - var $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $9 = 0, $doors$byval_copy10 = 0, $font$byval_copy21 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0.0, $5 = 0, $50 = 0, $51 = 0, $52 = 0.0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0; + var $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0.0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0; + var $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $doors$byval_copy10 = 0, $font$byval_copy21 = 0, dest = 0, label = 0, sp = 0, src = 0; + var stop = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 288|0; - $$byval_copy34 = sp + 12|0; - $$byval_copy30 = sp + 204|0; - $font$byval_copy21 = sp + 144|0; - $doors$byval_copy10 = sp + 180|0; - $0 = sp + 200|0; - $1 = sp + 264|0; - $2 = sp + 8|0; - $3 = sp + 268|0; - $4 = sp + 104|0; - $5 = sp + 284|0; - $6 = sp + 280|0; - $7 = sp + 276|0; - $8 = sp + 272|0; - $9 = sp; - $10 = sp + 140|0; - $11 = sp + 112|0; - $12 = sp + 120|0; - $13 = sp + 260|0; - $14 = sp + 128|0; - $15 = sp + 136|0; - $16 = sp + 224|0; - $17 = sp + 236|0; - $18 = sp + 240|0; - $19 = sp + 252|0; - $20 = sp + 256|0; - $21 = sp + 248|0; - $22 = sp + 244|0; - $23 = sp + 232|0; - $24 = sp + 228|0; + STACKTOP = STACKTOP + 288|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(288|0); + $$byval_copy34 = sp + 128|0; + $$byval_copy30 = sp + 104|0; + $font$byval_copy21 = sp + 48|0; + $doors$byval_copy10 = sp; + $0 = sp + 124|0; + $1 = sp + 280|0; + $2 = sp + 100|0; + $3 = sp + 276|0; + $4 = sp + 96|0; + $5 = sp + 272|0; + $6 = sp + 268|0; + $7 = sp + 264|0; + $8 = sp + 260|0; + $9 = sp + 88|0; + $10 = sp + 80|0; + $11 = sp + 40|0; + $12 = sp + 32|0; + $13 = sp + 256|0; + $14 = sp + 24|0; + $15 = sp + 20|0; + $16 = sp + 252|0; + $17 = sp + 248|0; + $18 = sp + 244|0; + $19 = sp + 240|0; + $20 = sp + 236|0; + $21 = sp + 232|0; + $22 = sp + 228|0; + $23 = sp + 224|0; + $24 = sp + 220|0; HEAP32[$0>>2] = -1; - ;HEAP32[$$byval_copy30>>2]=HEAP32[4208>>2]|0;HEAP32[$$byval_copy30+4>>2]=HEAP32[4208+4>>2]|0;HEAP32[$$byval_copy30+8>>2]=HEAP32[4208+8>>2]|0;HEAP32[$$byval_copy30+12>>2]=HEAP32[4208+12>>2]|0;HEAP32[$$byval_copy30+16>>2]=HEAP32[4208+16>>2]|0; + ;HEAP32[$$byval_copy30>>2]=HEAP32[28196>>2]|0;HEAP32[$$byval_copy30+4>>2]=HEAP32[28196+4>>2]|0;HEAP32[$$byval_copy30+8>>2]=HEAP32[28196+8>>2]|0;HEAP32[$$byval_copy30+12>>2]=HEAP32[28196+12>>2]|0;HEAP32[$$byval_copy30+16>>2]=HEAP32[28196+16>>2]|0; ;HEAP8[$$byval_copy34>>0]=HEAP8[$0>>0]|0;HEAP8[$$byval_copy34+1>>0]=HEAP8[$0+1>>0]|0;HEAP8[$$byval_copy34+2>>0]=HEAP8[$0+2>>0]|0;HEAP8[$$byval_copy34+3>>0]=HEAP8[$0+3>>0]|0; _DrawTexture($$byval_copy30,0,0,$$byval_copy34); - dest=$$byval_copy34; src=4344; stop=dest+92|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$$byval_copy34; src=28320; stop=dest+92|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _DrawMonster($$byval_copy34,0); - dest=$$byval_copy34; src=4480; stop=dest+92|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$$byval_copy34; src=28412; stop=dest+92|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _DrawMonster($$byval_copy34,0); - dest=$$byval_copy34; src=4616; stop=dest+92|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$$byval_copy34; src=28504; stop=dest+92|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _DrawMonster($$byval_copy34,0); - $25 = HEAP32[(4248)>>2]|0; + $25 = HEAP32[(28232)>>2]|0; $26 = ($25|0)==(0); if ($26) { HEAP32[$2>>2] = -1; - ;HEAP32[$doors$byval_copy10>>2]=HEAP32[88>>2]|0;HEAP32[$doors$byval_copy10+4>>2]=HEAP32[88+4>>2]|0;HEAP32[$doors$byval_copy10+8>>2]=HEAP32[88+8>>2]|0;HEAP32[$doors$byval_copy10+12>>2]=HEAP32[88+12>>2]|0;HEAP32[$doors$byval_copy10+16>>2]=HEAP32[88+16>>2]|0; - ;HEAP32[$font$byval_copy21>>2]=HEAP32[(4252)>>2]|0;HEAP32[$font$byval_copy21+4>>2]=HEAP32[(4252)+4>>2]|0;HEAP32[$font$byval_copy21+8>>2]=HEAP32[(4252)+8>>2]|0;HEAP32[$font$byval_copy21+12>>2]=HEAP32[(4252)+12>>2]|0; - ;HEAP32[$$byval_copy30>>2]=HEAP32[4232>>2]|0;HEAP32[$$byval_copy30+4>>2]=HEAP32[4232+4>>2]|0; + ;HEAP32[$doors$byval_copy10>>2]=HEAP32[26792>>2]|0;HEAP32[$doors$byval_copy10+4>>2]=HEAP32[26792+4>>2]|0;HEAP32[$doors$byval_copy10+8>>2]=HEAP32[26792+8>>2]|0;HEAP32[$doors$byval_copy10+12>>2]=HEAP32[26792+12>>2]|0;HEAP32[$doors$byval_copy10+16>>2]=HEAP32[26792+16>>2]|0; + ;HEAP32[$font$byval_copy21>>2]=HEAP32[(28236)>>2]|0;HEAP32[$font$byval_copy21+4>>2]=HEAP32[(28236)+4>>2]|0;HEAP32[$font$byval_copy21+8>>2]=HEAP32[(28236)+8>>2]|0;HEAP32[$font$byval_copy21+12>>2]=HEAP32[(28236)+12>>2]|0; + ;HEAP32[$$byval_copy30>>2]=HEAP32[28216>>2]|0;HEAP32[$$byval_copy30+4>>2]=HEAP32[28216+4>>2]|0; ;HEAP8[$$byval_copy34>>0]=HEAP8[$2>>0]|0;HEAP8[$$byval_copy34+1>>0]=HEAP8[$2+1>>0]|0;HEAP8[$$byval_copy34+2>>0]=HEAP8[$2+2>>0]|0;HEAP8[$$byval_copy34+3>>0]=HEAP8[$2+3>>0]|0; _DrawTextureRec($doors$byval_copy10,$font$byval_copy21,$$byval_copy30,$$byval_copy34); } else { @@ -16361,19 +15989,19 @@ function _DrawArmoryScreen() { HEAP8[$28>>0] = 48; $29 = ((($1)) + 3|0); HEAP8[$29>>0] = -1; - ;HEAP32[$doors$byval_copy10>>2]=HEAP32[88>>2]|0;HEAP32[$doors$byval_copy10+4>>2]=HEAP32[88+4>>2]|0;HEAP32[$doors$byval_copy10+8>>2]=HEAP32[88+8>>2]|0;HEAP32[$doors$byval_copy10+12>>2]=HEAP32[88+12>>2]|0;HEAP32[$doors$byval_copy10+16>>2]=HEAP32[88+16>>2]|0; - ;HEAP32[$font$byval_copy21>>2]=HEAP32[(4252)>>2]|0;HEAP32[$font$byval_copy21+4>>2]=HEAP32[(4252)+4>>2]|0;HEAP32[$font$byval_copy21+8>>2]=HEAP32[(4252)+8>>2]|0;HEAP32[$font$byval_copy21+12>>2]=HEAP32[(4252)+12>>2]|0; - ;HEAP32[$$byval_copy30>>2]=HEAP32[4232>>2]|0;HEAP32[$$byval_copy30+4>>2]=HEAP32[4232+4>>2]|0; + ;HEAP32[$doors$byval_copy10>>2]=HEAP32[26792>>2]|0;HEAP32[$doors$byval_copy10+4>>2]=HEAP32[26792+4>>2]|0;HEAP32[$doors$byval_copy10+8>>2]=HEAP32[26792+8>>2]|0;HEAP32[$doors$byval_copy10+12>>2]=HEAP32[26792+12>>2]|0;HEAP32[$doors$byval_copy10+16>>2]=HEAP32[26792+16>>2]|0; + ;HEAP32[$font$byval_copy21>>2]=HEAP32[(28236)>>2]|0;HEAP32[$font$byval_copy21+4>>2]=HEAP32[(28236)+4>>2]|0;HEAP32[$font$byval_copy21+8>>2]=HEAP32[(28236)+8>>2]|0;HEAP32[$font$byval_copy21+12>>2]=HEAP32[(28236)+12>>2]|0; + ;HEAP32[$$byval_copy30>>2]=HEAP32[28216>>2]|0;HEAP32[$$byval_copy30+4>>2]=HEAP32[28216+4>>2]|0; ;HEAP8[$$byval_copy34>>0]=HEAP8[$1>>0]|0;HEAP8[$$byval_copy34+1>>0]=HEAP8[$1+1>>0]|0;HEAP8[$$byval_copy34+2>>0]=HEAP8[$1+2>>0]|0;HEAP8[$$byval_copy34+3>>0]=HEAP8[$1+3>>0]|0; _DrawTextureRec($doors$byval_copy10,$font$byval_copy21,$$byval_copy30,$$byval_copy34); } - $30 = HEAP32[(4304)>>2]|0; + $30 = HEAP32[(28284)>>2]|0; $31 = ($30|0)==(0); if ($31) { HEAP32[$4>>2] = -1; - ;HEAP32[$doors$byval_copy10>>2]=HEAP32[88>>2]|0;HEAP32[$doors$byval_copy10+4>>2]=HEAP32[88+4>>2]|0;HEAP32[$doors$byval_copy10+8>>2]=HEAP32[88+8>>2]|0;HEAP32[$doors$byval_copy10+12>>2]=HEAP32[88+12>>2]|0;HEAP32[$doors$byval_copy10+16>>2]=HEAP32[88+16>>2]|0; - ;HEAP32[$font$byval_copy21>>2]=HEAP32[(4308)>>2]|0;HEAP32[$font$byval_copy21+4>>2]=HEAP32[(4308)+4>>2]|0;HEAP32[$font$byval_copy21+8>>2]=HEAP32[(4308)+8>>2]|0;HEAP32[$font$byval_copy21+12>>2]=HEAP32[(4308)+12>>2]|0; - ;HEAP32[$$byval_copy30>>2]=HEAP32[4288>>2]|0;HEAP32[$$byval_copy30+4>>2]=HEAP32[4288+4>>2]|0; + ;HEAP32[$doors$byval_copy10>>2]=HEAP32[26792>>2]|0;HEAP32[$doors$byval_copy10+4>>2]=HEAP32[26792+4>>2]|0;HEAP32[$doors$byval_copy10+8>>2]=HEAP32[26792+8>>2]|0;HEAP32[$doors$byval_copy10+12>>2]=HEAP32[26792+12>>2]|0;HEAP32[$doors$byval_copy10+16>>2]=HEAP32[26792+16>>2]|0; + ;HEAP32[$font$byval_copy21>>2]=HEAP32[(28288)>>2]|0;HEAP32[$font$byval_copy21+4>>2]=HEAP32[(28288)+4>>2]|0;HEAP32[$font$byval_copy21+8>>2]=HEAP32[(28288)+8>>2]|0;HEAP32[$font$byval_copy21+12>>2]=HEAP32[(28288)+12>>2]|0; + ;HEAP32[$$byval_copy30>>2]=HEAP32[28268>>2]|0;HEAP32[$$byval_copy30+4>>2]=HEAP32[28268+4>>2]|0; ;HEAP8[$$byval_copy34>>0]=HEAP8[$4>>0]|0;HEAP8[$$byval_copy34+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$$byval_copy34+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$$byval_copy34+3>>0]=HEAP8[$4+3>>0]|0; _DrawTextureRec($doors$byval_copy10,$font$byval_copy21,$$byval_copy30,$$byval_copy34); } else { @@ -16384,13 +16012,13 @@ function _DrawArmoryScreen() { HEAP8[$33>>0] = 48; $34 = ((($3)) + 3|0); HEAP8[$34>>0] = -1; - ;HEAP32[$doors$byval_copy10>>2]=HEAP32[88>>2]|0;HEAP32[$doors$byval_copy10+4>>2]=HEAP32[88+4>>2]|0;HEAP32[$doors$byval_copy10+8>>2]=HEAP32[88+8>>2]|0;HEAP32[$doors$byval_copy10+12>>2]=HEAP32[88+12>>2]|0;HEAP32[$doors$byval_copy10+16>>2]=HEAP32[88+16>>2]|0; - ;HEAP32[$font$byval_copy21>>2]=HEAP32[(4308)>>2]|0;HEAP32[$font$byval_copy21+4>>2]=HEAP32[(4308)+4>>2]|0;HEAP32[$font$byval_copy21+8>>2]=HEAP32[(4308)+8>>2]|0;HEAP32[$font$byval_copy21+12>>2]=HEAP32[(4308)+12>>2]|0; - ;HEAP32[$$byval_copy30>>2]=HEAP32[4288>>2]|0;HEAP32[$$byval_copy30+4>>2]=HEAP32[4288+4>>2]|0; + ;HEAP32[$doors$byval_copy10>>2]=HEAP32[26792>>2]|0;HEAP32[$doors$byval_copy10+4>>2]=HEAP32[26792+4>>2]|0;HEAP32[$doors$byval_copy10+8>>2]=HEAP32[26792+8>>2]|0;HEAP32[$doors$byval_copy10+12>>2]=HEAP32[26792+12>>2]|0;HEAP32[$doors$byval_copy10+16>>2]=HEAP32[26792+16>>2]|0; + ;HEAP32[$font$byval_copy21>>2]=HEAP32[(28288)>>2]|0;HEAP32[$font$byval_copy21+4>>2]=HEAP32[(28288)+4>>2]|0;HEAP32[$font$byval_copy21+8>>2]=HEAP32[(28288)+8>>2]|0;HEAP32[$font$byval_copy21+12>>2]=HEAP32[(28288)+12>>2]|0; + ;HEAP32[$$byval_copy30>>2]=HEAP32[28268>>2]|0;HEAP32[$$byval_copy30+4>>2]=HEAP32[28268+4>>2]|0; ;HEAP8[$$byval_copy34>>0]=HEAP8[$3>>0]|0;HEAP8[$$byval_copy34+1>>0]=HEAP8[$3+1>>0]|0;HEAP8[$$byval_copy34+2>>0]=HEAP8[$3+2>>0]|0;HEAP8[$$byval_copy34+3>>0]=HEAP8[$3+3>>0]|0; _DrawTextureRec($doors$byval_copy10,$font$byval_copy21,$$byval_copy30,$$byval_copy34); } - $35 = HEAP32[3864>>2]|0; + $35 = HEAP32[7044]|0; $36 = ($35|0)<(2); if ($36) { $37 = (_GetScreenWidth()|0); @@ -16422,364 +16050,370 @@ function _DrawArmoryScreen() { _DrawRectangle(0,80,$42,100,$$byval_copy34); } } - $46 = HEAP32[3864>>2]|0; - if ((($46|0) == 0)) { + $46 = HEAP32[7044]|0; + switch ($46|0) { + case 0: { HEAPF32[$9>>2] = 100.0; $47 = ((($9)) + 4|0); HEAPF32[$47>>2] = 80.0; - $48 = HEAP32[(68)>>2]|0; + $48 = HEAP32[(26780)>>2]|0; + $49 = (+($48|0)); HEAP32[$10>>2] = -1; - dest=$font$byval_copy21; src=48; stop=dest+36|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + ;HEAP32[$font$byval_copy21>>2]=HEAP32[26760>>2]|0;HEAP32[$font$byval_copy21+4>>2]=HEAP32[26760+4>>2]|0;HEAP32[$font$byval_copy21+8>>2]=HEAP32[26760+8>>2]|0;HEAP32[$font$byval_copy21+12>>2]=HEAP32[26760+12>>2]|0;HEAP32[$font$byval_copy21+16>>2]=HEAP32[26760+16>>2]|0;HEAP32[$font$byval_copy21+20>>2]=HEAP32[26760+20>>2]|0;HEAP32[$font$byval_copy21+24>>2]=HEAP32[26760+24>>2]|0;HEAP32[$font$byval_copy21+28>>2]=HEAP32[26760+28>>2]|0; ;HEAP32[$$byval_copy30>>2]=HEAP32[$9>>2]|0;HEAP32[$$byval_copy30+4>>2]=HEAP32[$9+4>>2]|0; ;HEAP8[$$byval_copy34>>0]=HEAP8[$10>>0]|0;HEAP8[$$byval_copy34+1>>0]=HEAP8[$10+1>>0]|0;HEAP8[$$byval_copy34+2>>0]=HEAP8[$10+2>>0]|0;HEAP8[$$byval_copy34+3>>0]=HEAP8[$10+3>>0]|0; - _DrawTextEx($font$byval_copy21,3888,$$byval_copy30,$48,2,$$byval_copy34); + _DrawTextEx($font$byval_copy21,34552,$$byval_copy30,$49,2,$$byval_copy34); _DrawPlayer(); STACKTOP = sp;return; - } else if ((($46|0) == 1)) { + break; + } + case 1: { HEAPF32[$11>>2] = 100.0; - $49 = ((($11)) + 4|0); - HEAPF32[$49>>2] = 80.0; - $50 = HEAP32[(68)>>2]|0; + $50 = ((($11)) + 4|0); + HEAPF32[$50>>2] = 80.0; + $51 = HEAP32[(26780)>>2]|0; + $52 = (+($51|0)); HEAP32[$12>>2] = -1; - dest=$font$byval_copy21; src=48; stop=dest+36|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + ;HEAP32[$font$byval_copy21>>2]=HEAP32[26760>>2]|0;HEAP32[$font$byval_copy21+4>>2]=HEAP32[26760+4>>2]|0;HEAP32[$font$byval_copy21+8>>2]=HEAP32[26760+8>>2]|0;HEAP32[$font$byval_copy21+12>>2]=HEAP32[26760+12>>2]|0;HEAP32[$font$byval_copy21+16>>2]=HEAP32[26760+16>>2]|0;HEAP32[$font$byval_copy21+20>>2]=HEAP32[26760+20>>2]|0;HEAP32[$font$byval_copy21+24>>2]=HEAP32[26760+24>>2]|0;HEAP32[$font$byval_copy21+28>>2]=HEAP32[26760+28>>2]|0; ;HEAP32[$$byval_copy30>>2]=HEAP32[$11>>2]|0;HEAP32[$$byval_copy30+4>>2]=HEAP32[$11+4>>2]|0; ;HEAP8[$$byval_copy34>>0]=HEAP8[$12>>0]|0;HEAP8[$$byval_copy34+1>>0]=HEAP8[$12+1>>0]|0;HEAP8[$$byval_copy34+2>>0]=HEAP8[$12+2>>0]|0;HEAP8[$$byval_copy34+3>>0]=HEAP8[$12+3>>0]|0; - _DrawTextEx($font$byval_copy21,4760,$$byval_copy30,$50,2,$$byval_copy34); - $51 = HEAP32[3872>>2]|0; - $52 = (($51|0) / 30)&-1; - $53 = $52 & 1; - $54 = ($53|0)==(0); - if ($54) { + _DrawTextEx($font$byval_copy21,7030,$$byval_copy30,$52,2,$$byval_copy34); + $53 = HEAP32[7045]|0; + $54 = (($53|0) / 30)&-1; + $55 = $54 & 1; + $56 = ($55|0)==(0); + if ($56) { _DrawPlayer(); STACKTOP = sp;return; } - $55 = (_GetScreenWidth()|0); - $56 = (($55) + -280)|0; + $57 = (_GetScreenWidth()|0); + $58 = (($57) + -280)|0; HEAP8[$13>>0] = 0; - $57 = ((($13)) + 1|0); - HEAP8[$57>>0] = 0; - $58 = ((($13)) + 2|0); - HEAP8[$58>>0] = 0; - $59 = ((($13)) + 3|0); - HEAP8[$59>>0] = -1; + $59 = ((($13)) + 1|0); + HEAP8[$59>>0] = 0; + $60 = ((($13)) + 2|0); + HEAP8[$60>>0] = 0; + $61 = ((($13)) + 3|0); + HEAP8[$61>>0] = -1; ;HEAP8[$$byval_copy34>>0]=HEAP8[$13>>0]|0;HEAP8[$$byval_copy34+1>>0]=HEAP8[$13+1>>0]|0;HEAP8[$$byval_copy34+2>>0]=HEAP8[$13+2>>0]|0;HEAP8[$$byval_copy34+3>>0]=HEAP8[$13+3>>0]|0; - _DrawText(8608,$56,200,20,$$byval_copy34); + _DrawText(8619,$58,200,20,$$byval_copy34); _DrawPlayer(); STACKTOP = sp;return; - } else if ((($46|0) == 2)) { - $60 = HEAP32[3872>>2]|0; - $61 = (($60|0) / 30)&-1; - $62 = $61 & 1; - $63 = ($62|0)==(0); - if ($63) { + break; + } + case 2: { + $62 = HEAP32[7045]|0; + $63 = (($62|0) / 30)&-1; + $64 = $63 & 1; + $65 = ($64|0)==(0); + if ($65) { _DrawPlayer(); STACKTOP = sp;return; } HEAPF32[$14>>2] = 300.0; - $64 = ((($14)) + 4|0); - HEAPF32[$64>>2] = 95.0; - $65 = HEAP32[(68)>>2]|0; - $66 = $65 << 1; + $66 = ((($14)) + 4|0); + HEAPF32[$66>>2] = 95.0; + $67 = HEAP32[(26780)>>2]|0; + $68 = $67 << 1; + $69 = (+($68|0)); HEAP32[$15>>2] = -1; - dest=$font$byval_copy21; src=48; stop=dest+36|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + ;HEAP32[$font$byval_copy21>>2]=HEAP32[26760>>2]|0;HEAP32[$font$byval_copy21+4>>2]=HEAP32[26760+4>>2]|0;HEAP32[$font$byval_copy21+8>>2]=HEAP32[26760+8>>2]|0;HEAP32[$font$byval_copy21+12>>2]=HEAP32[26760+12>>2]|0;HEAP32[$font$byval_copy21+16>>2]=HEAP32[26760+16>>2]|0;HEAP32[$font$byval_copy21+20>>2]=HEAP32[26760+20>>2]|0;HEAP32[$font$byval_copy21+24>>2]=HEAP32[26760+24>>2]|0;HEAP32[$font$byval_copy21+28>>2]=HEAP32[26760+28>>2]|0; ;HEAP32[$$byval_copy30>>2]=HEAP32[$14>>2]|0;HEAP32[$$byval_copy30+4>>2]=HEAP32[$14+4>>2]|0; ;HEAP8[$$byval_copy34>>0]=HEAP8[$15>>0]|0;HEAP8[$$byval_copy34+1>>0]=HEAP8[$15+1>>0]|0;HEAP8[$$byval_copy34+2>>0]=HEAP8[$15+2>>0]|0;HEAP8[$$byval_copy34+3>>0]=HEAP8[$15+3>>0]|0; - _DrawTextEx($font$byval_copy21,8488,$$byval_copy30,$66,2,$$byval_copy34); + _DrawTextEx($font$byval_copy21,8538,$$byval_copy30,$69,2,$$byval_copy34); HEAP8[$17>>0] = -26; - $67 = ((($17)) + 1|0); - HEAP8[$67>>0] = 41; - $68 = ((($17)) + 2|0); - HEAP8[$68>>0] = 55; - $69 = ((($17)) + 3|0); - HEAP8[$69>>0] = -1; + $70 = ((($17)) + 1|0); + HEAP8[$70>>0] = 41; + $71 = ((($17)) + 2|0); + HEAP8[$71>>0] = 55; + $72 = ((($17)) + 3|0); + HEAP8[$72>>0] = -1; ;HEAP8[$$byval_copy34>>0]=HEAP8[$17>>0]|0;HEAP8[$$byval_copy34+1>>0]=HEAP8[$17+1>>0]|0;HEAP8[$$byval_copy34+2>>0]=HEAP8[$17+2>>0]|0;HEAP8[$$byval_copy34+3>>0]=HEAP8[$17+3>>0]|0; _Fade($16,$$byval_copy34,0.60000002384185791); - ;HEAP32[$$byval_copy30>>2]=HEAP32[(4372)>>2]|0;HEAP32[$$byval_copy30+4>>2]=HEAP32[(4372)+4>>2]|0;HEAP32[$$byval_copy30+8>>2]=HEAP32[(4372)+8>>2]|0;HEAP32[$$byval_copy30+12>>2]=HEAP32[(4372)+12>>2]|0; + ;HEAP32[$$byval_copy30>>2]=HEAP32[(28348)>>2]|0;HEAP32[$$byval_copy30+4>>2]=HEAP32[(28348)+4>>2]|0;HEAP32[$$byval_copy30+8>>2]=HEAP32[(28348)+8>>2]|0;HEAP32[$$byval_copy30+12>>2]=HEAP32[(28348)+12>>2]|0; ;HEAP8[$$byval_copy34>>0]=HEAP8[$16>>0]|0;HEAP8[$$byval_copy34+1>>0]=HEAP8[$16+1>>0]|0;HEAP8[$$byval_copy34+2>>0]=HEAP8[$16+2>>0]|0;HEAP8[$$byval_copy34+3>>0]=HEAP8[$16+3>>0]|0; _DrawRectangleRec($$byval_copy30,$$byval_copy34); HEAP8[$19>>0] = -26; - $70 = ((($19)) + 1|0); - HEAP8[$70>>0] = 41; - $71 = ((($19)) + 2|0); - HEAP8[$71>>0] = 55; - $72 = ((($19)) + 3|0); - HEAP8[$72>>0] = -1; + $73 = ((($19)) + 1|0); + HEAP8[$73>>0] = 41; + $74 = ((($19)) + 2|0); + HEAP8[$74>>0] = 55; + $75 = ((($19)) + 3|0); + HEAP8[$75>>0] = -1; ;HEAP8[$$byval_copy34>>0]=HEAP8[$19>>0]|0;HEAP8[$$byval_copy34+1>>0]=HEAP8[$19+1>>0]|0;HEAP8[$$byval_copy34+2>>0]=HEAP8[$19+2>>0]|0;HEAP8[$$byval_copy34+3>>0]=HEAP8[$19+3>>0]|0; _Fade($18,$$byval_copy34,0.60000002384185791); - ;HEAP32[$$byval_copy30>>2]=HEAP32[(4508)>>2]|0;HEAP32[$$byval_copy30+4>>2]=HEAP32[(4508)+4>>2]|0;HEAP32[$$byval_copy30+8>>2]=HEAP32[(4508)+8>>2]|0;HEAP32[$$byval_copy30+12>>2]=HEAP32[(4508)+12>>2]|0; + ;HEAP32[$$byval_copy30>>2]=HEAP32[(28440)>>2]|0;HEAP32[$$byval_copy30+4>>2]=HEAP32[(28440)+4>>2]|0;HEAP32[$$byval_copy30+8>>2]=HEAP32[(28440)+8>>2]|0;HEAP32[$$byval_copy30+12>>2]=HEAP32[(28440)+12>>2]|0; ;HEAP8[$$byval_copy34>>0]=HEAP8[$18>>0]|0;HEAP8[$$byval_copy34+1>>0]=HEAP8[$18+1>>0]|0;HEAP8[$$byval_copy34+2>>0]=HEAP8[$18+2>>0]|0;HEAP8[$$byval_copy34+3>>0]=HEAP8[$18+3>>0]|0; _DrawRectangleRec($$byval_copy30,$$byval_copy34); HEAP8[$21>>0] = -26; - $73 = ((($21)) + 1|0); - HEAP8[$73>>0] = 41; - $74 = ((($21)) + 2|0); - HEAP8[$74>>0] = 55; - $75 = ((($21)) + 3|0); - HEAP8[$75>>0] = -1; + $76 = ((($21)) + 1|0); + HEAP8[$76>>0] = 41; + $77 = ((($21)) + 2|0); + HEAP8[$77>>0] = 55; + $78 = ((($21)) + 3|0); + HEAP8[$78>>0] = -1; ;HEAP8[$$byval_copy34>>0]=HEAP8[$21>>0]|0;HEAP8[$$byval_copy34+1>>0]=HEAP8[$21+1>>0]|0;HEAP8[$$byval_copy34+2>>0]=HEAP8[$21+2>>0]|0;HEAP8[$$byval_copy34+3>>0]=HEAP8[$21+3>>0]|0; _Fade($20,$$byval_copy34,0.60000002384185791); - ;HEAP32[$$byval_copy30>>2]=HEAP32[(4644)>>2]|0;HEAP32[$$byval_copy30+4>>2]=HEAP32[(4644)+4>>2]|0;HEAP32[$$byval_copy30+8>>2]=HEAP32[(4644)+8>>2]|0;HEAP32[$$byval_copy30+12>>2]=HEAP32[(4644)+12>>2]|0; + ;HEAP32[$$byval_copy30>>2]=HEAP32[(28532)>>2]|0;HEAP32[$$byval_copy30+4>>2]=HEAP32[(28532)+4>>2]|0;HEAP32[$$byval_copy30+8>>2]=HEAP32[(28532)+8>>2]|0;HEAP32[$$byval_copy30+12>>2]=HEAP32[(28532)+12>>2]|0; ;HEAP8[$$byval_copy34>>0]=HEAP8[$20>>0]|0;HEAP8[$$byval_copy34+1>>0]=HEAP8[$20+1>>0]|0;HEAP8[$$byval_copy34+2>>0]=HEAP8[$20+2>>0]|0;HEAP8[$$byval_copy34+3>>0]=HEAP8[$20+3>>0]|0; _DrawRectangleRec($$byval_copy30,$$byval_copy34); _DrawPlayer(); STACKTOP = sp;return; - } else { - $76 = HEAP32[3848>>2]|0; - $77 = ($76|0)==(0); - if ($77) { + break; + } + default: { + $79 = HEAP32[7043]|0; + $80 = ($79|0)==(0); + if ($80) { _DrawPlayer(); STACKTOP = sp;return; } - $78 = HEAP32[3872>>2]|0; - $79 = (($78|0) / 30)&-1; - $80 = $79 & 1; - $81 = ($80|0)==(0); - if ($81) { + $81 = HEAP32[7045]|0; + $82 = (($81|0) / 30)&-1; + $83 = $82 & 1; + $84 = ($83|0)==(0); + if ($84) { _DrawPlayer(); STACKTOP = sp;return; } - $82 = (_GetScreenWidth()|0); + $85 = (_GetScreenWidth()|0); HEAP8[$23>>0] = -56; - $83 = ((($23)) + 1|0); - HEAP8[$83>>0] = -56; - $84 = ((($23)) + 2|0); - HEAP8[$84>>0] = -56; - $85 = ((($23)) + 3|0); - HEAP8[$85>>0] = -1; + $86 = ((($23)) + 1|0); + HEAP8[$86>>0] = -56; + $87 = ((($23)) + 2|0); + HEAP8[$87>>0] = -56; + $88 = ((($23)) + 3|0); + HEAP8[$88>>0] = -1; ;HEAP8[$$byval_copy34>>0]=HEAP8[$23>>0]|0;HEAP8[$$byval_copy34+1>>0]=HEAP8[$23+1>>0]|0;HEAP8[$$byval_copy34+2>>0]=HEAP8[$23+2>>0]|0;HEAP8[$$byval_copy34+3>>0]=HEAP8[$23+3>>0]|0; _Fade($22,$$byval_copy34,0.5); ;HEAP8[$$byval_copy34>>0]=HEAP8[$22>>0]|0;HEAP8[$$byval_copy34+1>>0]=HEAP8[$22+1>>0]|0;HEAP8[$$byval_copy34+2>>0]=HEAP8[$22+2>>0]|0;HEAP8[$$byval_copy34+3>>0]=HEAP8[$22+3>>0]|0; - _DrawRectangle(0,0,$82,50,$$byval_copy34); + _DrawRectangle(0,0,$85,50,$$byval_copy34); HEAP8[$24>>0] = 0; - $86 = ((($24)) + 1|0); - HEAP8[$86>>0] = 0; - $87 = ((($24)) + 2|0); - HEAP8[$87>>0] = 0; - $88 = ((($24)) + 3|0); - HEAP8[$88>>0] = -1; + $89 = ((($24)) + 1|0); + HEAP8[$89>>0] = 0; + $90 = ((($24)) + 2|0); + HEAP8[$90>>0] = 0; + $91 = ((($24)) + 3|0); + HEAP8[$91>>0] = -1; ;HEAP8[$$byval_copy34>>0]=HEAP8[$24>>0]|0;HEAP8[$$byval_copy34+1>>0]=HEAP8[$24+1>>0]|0;HEAP8[$$byval_copy34+2>>0]=HEAP8[$24+2>>0]|0;HEAP8[$$byval_copy34+3>>0]=HEAP8[$24+3>>0]|0; - _DrawText(8504,420,15,20,$$byval_copy34); + _DrawText(8553,420,15,20,$$byval_copy34); _DrawPlayer(); STACKTOP = sp;return; } + } } function _UnloadArmoryScreen() { var $blazon03$byval_copy = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 96|0; + STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0); $blazon03$byval_copy = sp; - ;HEAP32[$blazon03$byval_copy>>2]=HEAP32[4208>>2]|0;HEAP32[$blazon03$byval_copy+4>>2]=HEAP32[4208+4>>2]|0;HEAP32[$blazon03$byval_copy+8>>2]=HEAP32[4208+8>>2]|0;HEAP32[$blazon03$byval_copy+12>>2]=HEAP32[4208+12>>2]|0;HEAP32[$blazon03$byval_copy+16>>2]=HEAP32[4208+16>>2]|0; + ;HEAP32[$blazon03$byval_copy>>2]=HEAP32[28196>>2]|0;HEAP32[$blazon03$byval_copy+4>>2]=HEAP32[28196+4>>2]|0;HEAP32[$blazon03$byval_copy+8>>2]=HEAP32[28196+8>>2]|0;HEAP32[$blazon03$byval_copy+12>>2]=HEAP32[28196+12>>2]|0;HEAP32[$blazon03$byval_copy+16>>2]=HEAP32[28196+16>>2]|0; _UnloadTexture($blazon03$byval_copy); - dest=$blazon03$byval_copy; src=4344; stop=dest+92|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$blazon03$byval_copy; src=28320; stop=dest+92|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _UnloadMonster($blazon03$byval_copy); - dest=$blazon03$byval_copy; src=4480; stop=dest+92|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$blazon03$byval_copy; src=28412; stop=dest+92|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _UnloadMonster($blazon03$byval_copy); - dest=$blazon03$byval_copy; src=4616; stop=dest+92|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$blazon03$byval_copy; src=28504; stop=dest+92|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _UnloadMonster($blazon03$byval_copy); STACKTOP = sp;return; } function _FinishArmoryScreen() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4152>>2]|0; + $0 = HEAP32[7048]|0; return ($0|0); } function _InitLivingroomScreen() { - var $0 = 0, $1 = 0, $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0.0, $25 = 0, $26 = 0.0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0.0, $33 = 0.0, $34 = 0, $35 = 0.0, $36 = 0.0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0.0, $43 = 0.0, $44 = 0; - var $45 = 0.0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0.0, $52 = 0.0, $53 = 0, $54 = 0.0, $55 = 0.0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $7 = 0, $8 = 0; - var $9 = 0, label = 0, sp = 0; + var $0 = 0, $1 = 0, $10 = 0.0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0.0, $21 = 0, $22 = 0.0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0.0, $29 = 0.0, $3 = 0, $30 = 0, $31 = 0.0, $32 = 0.0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0.0, $39 = 0.0, $4 = 0, $40 = 0, $41 = 0.0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0.0, $48 = 0.0, $49 = 0, $5 = 0, $50 = 0.0, $51 = 0.0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 80|0; + STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0); $0 = sp + 60|0; - $1 = sp; + $1 = sp + 40|0; $2 = sp + 20|0; - $3 = sp + 40|0; + $3 = sp; _ResetPlayer(); - HEAP32[5016>>2] = 0; - HEAP32[5024>>2] = -1; - HEAP32[5032>>2] = 0; - HEAP32[5040>>2] = 0; - HEAP32[5048>>2] = 0; - _memset((5056|0),0,256)|0; - HEAP32[5312>>2] = 0; - HEAP32[5320>>2] = 0; - _LoadTexture($0,5328); - ;HEAP32[5376>>2]=HEAP32[$0>>2]|0;HEAP32[5376+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[5376+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[5376+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[5376+16>>2]=HEAP32[$0+16>>2]|0; - HEAPF32[5400>>2] = -45.0; - HEAPF32[(5404)>>2] = 140.0; - HEAP32[(5408)>>2] = 0; - HEAP32[(5412)>>2] = 1; - $4 = HEAP32[(92)>>2]|0; + HEAP32[7150] = 0; + HEAP32[12] = -1; + HEAP32[7151] = 0; + HEAP32[7152] = 0; + HEAP32[7153] = 0; + _memset((34808|0),0,256)|0; + HEAP32[7154] = 0; + HEAP32[7155] = 0; + _LoadTexture($0,7286); + ;HEAP32[28624>>2]=HEAP32[$0>>2]|0;HEAP32[28624+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[28624+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[28624+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[28624+16>>2]=HEAP32[$0+16>>2]|0; + HEAPF32[7161] = -45.0; + HEAPF32[(28648)>>2] = 140.0; + HEAP32[(28652)>>2] = 0; + HEAP32[(28656)>>2] = 1; + $4 = HEAP32[(26796)>>2]|0; $5 = (($4|0) / 3)&-1; - $6 = HEAP32[(5408)>>2]|0; - $7 = Math_imul($6, $5)|0; - $8 = HEAP32[(96)>>2]|0; - $9 = (($8|0) / 2)&-1; - HEAP32[(5420)>>2] = $7; - HEAP32[(5424)>>2] = $9; - HEAP32[(5428)>>2] = $5; - HEAP32[(5432)>>2] = $9; - $10 = +HEAPF32[5400>>2]; + $6 = HEAP32[(26800)>>2]|0; + $7 = (($6|0) / 2)&-1; + HEAP32[(28664)>>2] = 0; + HEAP32[(28668)>>2] = $7; + HEAP32[(28672)>>2] = $5; + HEAP32[(28676)>>2] = $7; + $8 = +HEAPF32[7161]; + $9 = (~~(($8))); + $10 = +HEAPF32[(28648)>>2]; $11 = (~~(($10))); - $12 = +HEAPF32[(5404)>>2]; - $13 = (~~(($12))); - $14 = HEAP32[(92)>>2]|0; - $15 = (($14|0) / 3)&-1; - $16 = HEAP32[(96)>>2]|0; - $17 = (($16|0) / 2)&-1; - HEAP32[(5436)>>2] = $11; - HEAP32[(5440)>>2] = $13; - HEAP32[(5444)>>2] = $15; - HEAP32[(5448)>>2] = $17; - HEAP32[(5416)>>2] = 0; - HEAPF32[5456>>2] = 830.0; - HEAPF32[(5460)>>2] = 108.0; - HEAP32[(5464)>>2] = 1; - HEAP32[(5468)>>2] = 1; - $18 = HEAP32[(92)>>2]|0; - $19 = (($18|0) / 3)&-1; - $20 = HEAP32[(5464)>>2]|0; - $21 = Math_imul($20, $19)|0; - $22 = HEAP32[(96)>>2]|0; - $23 = (($22|0) / 2)&-1; - HEAP32[(5476)>>2] = $21; - HEAP32[(5480)>>2] = $23; - HEAP32[(5484)>>2] = $19; - HEAP32[(5488)>>2] = $23; - $24 = +HEAPF32[5456>>2]; - $25 = (~~(($24))); - $26 = +HEAPF32[(5460)>>2]; - $27 = (~~(($26))); - $28 = HEAP32[(92)>>2]|0; - $29 = (($28|0) / 3)&-1; - $30 = HEAP32[(96)>>2]|0; - $31 = (($30|0) / 2)&-1; - HEAP32[(5492)>>2] = $25; - HEAP32[(5496)>>2] = $27; - HEAP32[(5500)>>2] = $29; - HEAP32[(5504)>>2] = $31; - HEAP32[(5472)>>2] = 0; - HEAPF32[5512>>2] = 154.0; - HEAPF32[(5516)>>2] = 256.0; - _LoadTexture($1,5608); - ;HEAP32[(5520)>>2]=HEAP32[$1>>2]|0;HEAP32[(5520)+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[(5520)+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[(5520)+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[(5520)+16>>2]=HEAP32[$1+16>>2]|0; - HEAP32[(5580)>>2] = 0; - HEAP32[(5576)>>2] = 0; - HEAP32[(5588)>>2] = 4; - $32 = +HEAPF32[5512>>2]; - $33 = $32 + 90.0; - $34 = (~~(($33))); - $35 = +HEAPF32[(5516)>>2]; - $36 = $35 + 30.0; - $37 = (~~(($36))); - HEAP32[(5540)>>2] = $34; - HEAP32[(5544)>>2] = $37; - HEAP32[(5548)>>2] = 185; - HEAP32[(5552)>>2] = 340; - $38 = HEAP32[(5524)>>2]|0; - $39 = HEAP32[(5588)>>2]|0; - $40 = (($38|0) / ($39|0))&-1; - $41 = HEAP32[(5528)>>2]|0; - HEAP32[(5556)>>2] = 0; - HEAP32[(5560)>>2] = 0; - HEAP32[(5564)>>2] = $40; - HEAP32[(5568)>>2] = $41; - HEAP32[(5596)>>2] = 0; - HEAP32[(5592)>>2] = 0; - HEAP32[(5600)>>2] = 0; - HEAPF32[5648>>2] = 504.0; - HEAPF32[(5652)>>2] = 164.0; - _LoadTexture($2,5744); - ;HEAP32[(5656)>>2]=HEAP32[$2>>2]|0;HEAP32[(5656)+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[(5656)+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[(5656)+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[(5656)+16>>2]=HEAP32[$2+16>>2]|0; - HEAP32[(5716)>>2] = 0; - HEAP32[(5712)>>2] = 0; - HEAP32[(5724)>>2] = 4; - $42 = +HEAPF32[5648>>2]; - $43 = $42 + 44.0; - $44 = (~~(($43))); - $45 = +HEAPF32[(5652)>>2]; - $46 = (~~(($45))); - HEAP32[(5676)>>2] = $44; - HEAP32[(5680)>>2] = $46; - HEAP32[(5684)>>2] = 174; - HEAP32[(5688)>>2] = 264; - $47 = HEAP32[(5660)>>2]|0; - $48 = HEAP32[(5724)>>2]|0; - $49 = (($47|0) / ($48|0))&-1; - $50 = HEAP32[(5664)>>2]|0; - HEAP32[(5692)>>2] = 0; - HEAP32[(5696)>>2] = 0; - HEAP32[(5700)>>2] = $49; - HEAP32[(5704)>>2] = $50; - HEAP32[(5732)>>2] = 0; - HEAP32[(5728)>>2] = 0; - HEAP32[(5736)>>2] = 1; - HEAPF32[5784>>2] = 1054.0; - HEAPF32[(5788)>>2] = 404.0; - _LoadTexture($3,5880); - ;HEAP32[(5792)>>2]=HEAP32[$3>>2]|0;HEAP32[(5792)+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[(5792)+8>>2]=HEAP32[$3+8>>2]|0;HEAP32[(5792)+12>>2]=HEAP32[$3+12>>2]|0;HEAP32[(5792)+16>>2]=HEAP32[$3+16>>2]|0; - HEAP32[(5852)>>2] = 0; - HEAP32[(5848)>>2] = 0; - HEAP32[(5860)>>2] = 4; - $51 = +HEAPF32[5784>>2]; - $52 = $51 + 64.0; - $53 = (~~(($52))); - $54 = +HEAPF32[(5788)>>2]; - $55 = $54 + 120.0; - $56 = (~~(($55))); - HEAP32[(5812)>>2] = $53; - HEAP32[(5816)>>2] = $56; - HEAP32[(5820)>>2] = 100; - HEAP32[(5824)>>2] = 160; - $57 = HEAP32[(5796)>>2]|0; - $58 = HEAP32[(5860)>>2]|0; - $59 = (($57|0) / ($58|0))&-1; - $60 = HEAP32[(5800)>>2]|0; - HEAP32[(5828)>>2] = 0; - HEAP32[(5832)>>2] = 0; - HEAP32[(5836)>>2] = $59; - HEAP32[(5840)>>2] = $60; - HEAP32[(5868)>>2] = 0; - HEAP32[(5864)>>2] = 0; - HEAP32[(5872)>>2] = 1; + $12 = HEAP32[(26796)>>2]|0; + $13 = (($12|0) / 3)&-1; + $14 = HEAP32[(26800)>>2]|0; + $15 = (($14|0) / 2)&-1; + HEAP32[(28680)>>2] = $9; + HEAP32[(28684)>>2] = $11; + HEAP32[(28688)>>2] = $13; + HEAP32[(28692)>>2] = $15; + HEAP32[(28660)>>2] = 0; + HEAPF32[7174] = 830.0; + HEAPF32[(28700)>>2] = 108.0; + HEAP32[(28704)>>2] = 1; + HEAP32[(28708)>>2] = 1; + $16 = HEAP32[(26796)>>2]|0; + $17 = (($16|0) / 3)&-1; + $18 = HEAP32[(26800)>>2]|0; + $19 = (($18|0) / 2)&-1; + HEAP32[(28716)>>2] = $17; + HEAP32[(28720)>>2] = $19; + HEAP32[(28724)>>2] = $17; + HEAP32[(28728)>>2] = $19; + $20 = +HEAPF32[7174]; + $21 = (~~(($20))); + $22 = +HEAPF32[(28700)>>2]; + $23 = (~~(($22))); + $24 = HEAP32[(26796)>>2]|0; + $25 = (($24|0) / 3)&-1; + $26 = HEAP32[(26800)>>2]|0; + $27 = (($26|0) / 2)&-1; + HEAP32[(28732)>>2] = $21; + HEAP32[(28736)>>2] = $23; + HEAP32[(28740)>>2] = $25; + HEAP32[(28744)>>2] = $27; + HEAP32[(28712)>>2] = 0; + HEAPF32[7187] = 154.0; + HEAPF32[(28752)>>2] = 256.0; + _LoadTexture($1,7331); + ;HEAP32[(28756)>>2]=HEAP32[$1>>2]|0;HEAP32[(28756)+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[(28756)+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[(28756)+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[(28756)+16>>2]=HEAP32[$1+16>>2]|0; + HEAP32[(28816)>>2] = 0; + HEAP32[(28812)>>2] = 0; + HEAP32[(28824)>>2] = 4; + $28 = +HEAPF32[7187]; + $29 = $28 + 90.0; + $30 = (~~(($29))); + $31 = +HEAPF32[(28752)>>2]; + $32 = $31 + 30.0; + $33 = (~~(($32))); + HEAP32[(28776)>>2] = $30; + HEAP32[(28780)>>2] = $33; + HEAP32[(28784)>>2] = 185; + HEAP32[(28788)>>2] = 340; + $34 = HEAP32[(28760)>>2]|0; + $35 = HEAP32[(28824)>>2]|0; + $36 = (($34|0) / ($35|0))&-1; + $37 = HEAP32[(28764)>>2]|0; + HEAP32[(28792)>>2] = 0; + HEAP32[(28796)>>2] = 0; + HEAP32[(28800)>>2] = $36; + HEAP32[(28804)>>2] = $37; + HEAP32[(28832)>>2] = 0; + HEAP32[(28828)>>2] = 0; + HEAP32[(28836)>>2] = 0; + HEAPF32[7210] = 504.0; + HEAPF32[(28844)>>2] = 164.0; + _LoadTexture($2,7369); + ;HEAP32[(28848)>>2]=HEAP32[$2>>2]|0;HEAP32[(28848)+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[(28848)+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[(28848)+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[(28848)+16>>2]=HEAP32[$2+16>>2]|0; + HEAP32[(28908)>>2] = 0; + HEAP32[(28904)>>2] = 0; + HEAP32[(28916)>>2] = 4; + $38 = +HEAPF32[7210]; + $39 = $38 + 44.0; + $40 = (~~(($39))); + $41 = +HEAPF32[(28844)>>2]; + $42 = (~~(($41))); + HEAP32[(28868)>>2] = $40; + HEAP32[(28872)>>2] = $42; + HEAP32[(28876)>>2] = 174; + HEAP32[(28880)>>2] = 264; + $43 = HEAP32[(28852)>>2]|0; + $44 = HEAP32[(28916)>>2]|0; + $45 = (($43|0) / ($44|0))&-1; + $46 = HEAP32[(28856)>>2]|0; + HEAP32[(28884)>>2] = 0; + HEAP32[(28888)>>2] = 0; + HEAP32[(28892)>>2] = $45; + HEAP32[(28896)>>2] = $46; + HEAP32[(28924)>>2] = 0; + HEAP32[(28920)>>2] = 0; + HEAP32[(28928)>>2] = 1; + HEAPF32[7233] = 1054.0; + HEAPF32[(28936)>>2] = 404.0; + _LoadTexture($3,7408); + ;HEAP32[(28940)>>2]=HEAP32[$3>>2]|0;HEAP32[(28940)+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[(28940)+8>>2]=HEAP32[$3+8>>2]|0;HEAP32[(28940)+12>>2]=HEAP32[$3+12>>2]|0;HEAP32[(28940)+16>>2]=HEAP32[$3+16>>2]|0; + HEAP32[(29000)>>2] = 0; + HEAP32[(28996)>>2] = 0; + HEAP32[(29008)>>2] = 4; + $47 = +HEAPF32[7233]; + $48 = $47 + 64.0; + $49 = (~~(($48))); + $50 = +HEAPF32[(28936)>>2]; + $51 = $50 + 120.0; + $52 = (~~(($51))); + HEAP32[(28960)>>2] = $49; + HEAP32[(28964)>>2] = $52; + HEAP32[(28968)>>2] = 100; + HEAP32[(28972)>>2] = 160; + $53 = HEAP32[(28944)>>2]|0; + $54 = HEAP32[(29008)>>2]|0; + $55 = (($53|0) / ($54|0))&-1; + $56 = HEAP32[(28948)>>2]|0; + HEAP32[(28976)>>2] = 0; + HEAP32[(28980)>>2] = 0; + HEAP32[(28984)>>2] = $55; + HEAP32[(28988)>>2] = $56; + HEAP32[(29016)>>2] = 0; + HEAP32[(29012)>>2] = 0; + HEAP32[(29020)>>2] = 1; STACKTOP = sp;return; } function _UpdateLivingroomScreen() { - var $$17 = 0, $$byval_copy33 = 0, $$pr = 0, $$pr18 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0; - var $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; - var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; - var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0; - var $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0; - var $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0; - var $97 = 0, $98 = 0, $99 = 0, $i$020 = 0, $or$cond = 0, $or$cond11 = 0, $or$cond13 = 0, $or$cond3 = 0, $or$cond5 = 0, $or$cond7 = 0, $or$cond9 = 0, $sndScream$byval_copy36 = 0, $storemerge = 0, label = 0, sp = 0; + var $$025 = 0, $$byval_copy33 = 0, $$pr = 0, $$pr23 = 0, $$sink14 = 0, $$sink15 = 0, $$sink7 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0; + var $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0; + var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0; + var $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0; + var $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0; + var $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0; + var $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, $or$cond11 = 0, $or$cond13 = 0, $or$cond17 = 0, $or$cond4 = 0, $or$cond6 = 0, $or$cond9 = 0, $sndScream$byval_copy36 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 96|0; + STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0); $sndScream$byval_copy36 = sp + 72|0; - $$byval_copy33 = sp + 56|0; - $0 = sp + 48|0; - $1 = sp + 40|0; + $$byval_copy33 = sp + 40|0; + $0 = sp + 64|0; + $1 = sp + 56|0; $2 = sp + 32|0; - $3 = sp + 16|0; - $4 = sp + 8|0; - $5 = sp; - $6 = sp + 24|0; - $7 = HEAP32[(208)>>2]|0; + $3 = sp + 24|0; + $4 = sp + 16|0; + $5 = sp + 8|0; + $6 = sp; + $7 = HEAP32[(26912)>>2]|0; $8 = ($7|0)==(0); do { if (!($8)) { _GetMousePosition($0); ;HEAP32[$$byval_copy33>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy33+4>>2]=HEAP32[$0+4>>2]|0; - ;HEAP32[$sndScream$byval_copy36>>2]=HEAP32[(5436)>>2]|0;HEAP32[$sndScream$byval_copy36+4>>2]=HEAP32[(5436)+4>>2]|0;HEAP32[$sndScream$byval_copy36+8>>2]=HEAP32[(5436)+8>>2]|0;HEAP32[$sndScream$byval_copy36+12>>2]=HEAP32[(5436)+12>>2]|0; + ;HEAP32[$sndScream$byval_copy36>>2]=HEAP32[(28680)>>2]|0;HEAP32[$sndScream$byval_copy36+4>>2]=HEAP32[(28680)+4>>2]|0;HEAP32[$sndScream$byval_copy36+8>>2]=HEAP32[(28680)+8>>2]|0;HEAP32[$sndScream$byval_copy36+12>>2]=HEAP32[(28680)+12>>2]|0; $9 = (_CheckCollisionPointRec($$byval_copy33,$sndScream$byval_copy36)|0); $10 = ($9|0)==(0); if ($10) { - ;HEAP32[$$byval_copy33>>2]=HEAP32[(144)>>2]|0;HEAP32[$$byval_copy33+4>>2]=HEAP32[(144)+4>>2]|0;HEAP32[$$byval_copy33+8>>2]=HEAP32[(144)+8>>2]|0;HEAP32[$$byval_copy33+12>>2]=HEAP32[(144)+12>>2]|0; - ;HEAP32[$sndScream$byval_copy36>>2]=HEAP32[(5436)>>2]|0;HEAP32[$sndScream$byval_copy36+4>>2]=HEAP32[(5436)+4>>2]|0;HEAP32[$sndScream$byval_copy36+8>>2]=HEAP32[(5436)+8>>2]|0;HEAP32[$sndScream$byval_copy36+12>>2]=HEAP32[(5436)+12>>2]|0; + ;HEAP32[$$byval_copy33>>2]=HEAP32[(26848)>>2]|0;HEAP32[$$byval_copy33+4>>2]=HEAP32[(26848)+4>>2]|0;HEAP32[$$byval_copy33+8>>2]=HEAP32[(26848)+8>>2]|0;HEAP32[$$byval_copy33+12>>2]=HEAP32[(26848)+12>>2]|0; + ;HEAP32[$sndScream$byval_copy36>>2]=HEAP32[(28680)>>2]|0;HEAP32[$sndScream$byval_copy36+4>>2]=HEAP32[(28680)+4>>2]|0;HEAP32[$sndScream$byval_copy36+8>>2]=HEAP32[(28680)+8>>2]|0;HEAP32[$sndScream$byval_copy36+12>>2]=HEAP32[(28680)+12>>2]|0; $11 = (_CheckCollisionRecs($$byval_copy33,$sndScream$byval_copy36)|0); $12 = ($11|0)==(0); if ($12) { - HEAP32[(5416)>>2] = 0; + HEAP32[(28660)>>2] = 0; } else { label = 5; } @@ -16788,9 +16422,9 @@ function _UpdateLivingroomScreen() { } do { if ((label|0) == 5) { - HEAP32[(5416)>>2] = 1; - ;HEAP32[$$byval_copy33>>2]=HEAP32[(144)>>2]|0;HEAP32[$$byval_copy33+4>>2]=HEAP32[(144)+4>>2]|0;HEAP32[$$byval_copy33+8>>2]=HEAP32[(144)+8>>2]|0;HEAP32[$$byval_copy33+12>>2]=HEAP32[(144)+12>>2]|0; - ;HEAP32[$sndScream$byval_copy36>>2]=HEAP32[(5436)>>2]|0;HEAP32[$sndScream$byval_copy36+4>>2]=HEAP32[(5436)+4>>2]|0;HEAP32[$sndScream$byval_copy36+8>>2]=HEAP32[(5436)+8>>2]|0;HEAP32[$sndScream$byval_copy36+12>>2]=HEAP32[(5436)+12>>2]|0; + HEAP32[(28660)>>2] = 1; + ;HEAP32[$$byval_copy33>>2]=HEAP32[(26848)>>2]|0;HEAP32[$$byval_copy33+4>>2]=HEAP32[(26848)+4>>2]|0;HEAP32[$$byval_copy33+8>>2]=HEAP32[(26848)+8>>2]|0;HEAP32[$$byval_copy33+12>>2]=HEAP32[(26848)+12>>2]|0; + ;HEAP32[$sndScream$byval_copy36>>2]=HEAP32[(28680)>>2]|0;HEAP32[$sndScream$byval_copy36+4>>2]=HEAP32[(28680)+4>>2]|0;HEAP32[$sndScream$byval_copy36+8>>2]=HEAP32[(28680)+8>>2]|0;HEAP32[$sndScream$byval_copy36+12>>2]=HEAP32[(28680)+12>>2]|0; $13 = (_CheckCollisionRecs($$byval_copy33,$sndScream$byval_copy36)|0); $14 = ($13|0)==(0); if (!($14)) { @@ -16801,7 +16435,7 @@ function _UpdateLivingroomScreen() { } else { _GetMousePosition($1); ;HEAP32[$$byval_copy33>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy33+4>>2]=HEAP32[$1+4>>2]|0; - ;HEAP32[$sndScream$byval_copy36>>2]=HEAP32[(5436)>>2]|0;HEAP32[$sndScream$byval_copy36+4>>2]=HEAP32[(5436)+4>>2]|0;HEAP32[$sndScream$byval_copy36+8>>2]=HEAP32[(5436)+8>>2]|0;HEAP32[$sndScream$byval_copy36+12>>2]=HEAP32[(5436)+12>>2]|0; + ;HEAP32[$sndScream$byval_copy36>>2]=HEAP32[(28680)>>2]|0;HEAP32[$sndScream$byval_copy36+4>>2]=HEAP32[(28680)+4>>2]|0;HEAP32[$sndScream$byval_copy36+8>>2]=HEAP32[(28680)+8>>2]|0;HEAP32[$sndScream$byval_copy36+12>>2]=HEAP32[(28680)+12>>2]|0; $17 = (_CheckCollisionPointRec($$byval_copy33,$sndScream$byval_copy36)|0); $18 = ($17|0)==(0); if ($18) { @@ -16815,15 +16449,15 @@ function _UpdateLivingroomScreen() { break; } } - $21 = HEAP32[(5412)>>2]|0; + $21 = HEAP32[(28656)>>2]|0; $22 = ($21|0)==(0); if ($22) { - HEAP32[5320>>2] = 1; + HEAP32[7155] = 1; break; } else { - HEAP32[(5424)>>2] = 0; - HEAP32[(5412)>>2] = 0; - ;HEAP32[$sndScream$byval_copy36>>2]=HEAP32[112>>2]|0;HEAP32[$sndScream$byval_copy36+4>>2]=HEAP32[112+4>>2]|0; + HEAP32[(28668)>>2] = 0; + HEAP32[(28656)>>2] = 0; + ;HEAP32[$sndScream$byval_copy36>>2]=HEAP32[26812>>2]|0;HEAP32[$sndScream$byval_copy36+4>>2]=HEAP32[26812+4>>2]|0;HEAP32[$sndScream$byval_copy36+8>>2]=HEAP32[26812+8>>2]|0; _PlaySound($sndScream$byval_copy36); break; } @@ -16832,22 +16466,22 @@ function _UpdateLivingroomScreen() { } while(0); _GetMousePosition($2); ;HEAP32[$$byval_copy33>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy33+4>>2]=HEAP32[$2+4>>2]|0; - ;HEAP32[$sndScream$byval_copy36>>2]=HEAP32[(5492)>>2]|0;HEAP32[$sndScream$byval_copy36+4>>2]=HEAP32[(5492)+4>>2]|0;HEAP32[$sndScream$byval_copy36+8>>2]=HEAP32[(5492)+8>>2]|0;HEAP32[$sndScream$byval_copy36+12>>2]=HEAP32[(5492)+12>>2]|0; + ;HEAP32[$sndScream$byval_copy36>>2]=HEAP32[(28732)>>2]|0;HEAP32[$sndScream$byval_copy36+4>>2]=HEAP32[(28732)+4>>2]|0;HEAP32[$sndScream$byval_copy36+8>>2]=HEAP32[(28732)+8>>2]|0;HEAP32[$sndScream$byval_copy36+12>>2]=HEAP32[(28732)+12>>2]|0; $23 = (_CheckCollisionPointRec($$byval_copy33,$sndScream$byval_copy36)|0); $24 = ($23|0)==(0); if ($24) { - ;HEAP32[$$byval_copy33>>2]=HEAP32[(144)>>2]|0;HEAP32[$$byval_copy33+4>>2]=HEAP32[(144)+4>>2]|0;HEAP32[$$byval_copy33+8>>2]=HEAP32[(144)+8>>2]|0;HEAP32[$$byval_copy33+12>>2]=HEAP32[(144)+12>>2]|0; - ;HEAP32[$sndScream$byval_copy36>>2]=HEAP32[(5492)>>2]|0;HEAP32[$sndScream$byval_copy36+4>>2]=HEAP32[(5492)+4>>2]|0;HEAP32[$sndScream$byval_copy36+8>>2]=HEAP32[(5492)+8>>2]|0;HEAP32[$sndScream$byval_copy36+12>>2]=HEAP32[(5492)+12>>2]|0; + ;HEAP32[$$byval_copy33>>2]=HEAP32[(26848)>>2]|0;HEAP32[$$byval_copy33+4>>2]=HEAP32[(26848)+4>>2]|0;HEAP32[$$byval_copy33+8>>2]=HEAP32[(26848)+8>>2]|0;HEAP32[$$byval_copy33+12>>2]=HEAP32[(26848)+12>>2]|0; + ;HEAP32[$sndScream$byval_copy36>>2]=HEAP32[(28732)>>2]|0;HEAP32[$sndScream$byval_copy36+4>>2]=HEAP32[(28732)+4>>2]|0;HEAP32[$sndScream$byval_copy36+8>>2]=HEAP32[(28732)+8>>2]|0;HEAP32[$sndScream$byval_copy36+12>>2]=HEAP32[(28732)+12>>2]|0; $25 = (_CheckCollisionRecs($$byval_copy33,$sndScream$byval_copy36)|0); $26 = ($25|0)==(0); if ($26) { - HEAP32[(5472)>>2] = 0; + HEAP32[(28712)>>2] = 0; break; } } - HEAP32[(5472)>>2] = 1; - ;HEAP32[$$byval_copy33>>2]=HEAP32[(144)>>2]|0;HEAP32[$$byval_copy33+4>>2]=HEAP32[(144)+4>>2]|0;HEAP32[$$byval_copy33+8>>2]=HEAP32[(144)+8>>2]|0;HEAP32[$$byval_copy33+12>>2]=HEAP32[(144)+12>>2]|0; - ;HEAP32[$sndScream$byval_copy36>>2]=HEAP32[(5492)>>2]|0;HEAP32[$sndScream$byval_copy36+4>>2]=HEAP32[(5492)+4>>2]|0;HEAP32[$sndScream$byval_copy36+8>>2]=HEAP32[(5492)+8>>2]|0;HEAP32[$sndScream$byval_copy36+12>>2]=HEAP32[(5492)+12>>2]|0; + HEAP32[(28712)>>2] = 1; + ;HEAP32[$$byval_copy33>>2]=HEAP32[(26848)>>2]|0;HEAP32[$$byval_copy33+4>>2]=HEAP32[(26848)+4>>2]|0;HEAP32[$$byval_copy33+8>>2]=HEAP32[(26848)+8>>2]|0;HEAP32[$$byval_copy33+12>>2]=HEAP32[(26848)+12>>2]|0; + ;HEAP32[$sndScream$byval_copy36>>2]=HEAP32[(28732)>>2]|0;HEAP32[$sndScream$byval_copy36+4>>2]=HEAP32[(28732)+4>>2]|0;HEAP32[$sndScream$byval_copy36+8>>2]=HEAP32[(28732)+8>>2]|0;HEAP32[$sndScream$byval_copy36+12>>2]=HEAP32[(28732)+12>>2]|0; $27 = (_CheckCollisionRecs($$byval_copy33,$sndScream$byval_copy36)|0); $28 = ($27|0)==(0); if (!($28)) { @@ -16858,7 +16492,7 @@ function _UpdateLivingroomScreen() { } else { _GetMousePosition($3); ;HEAP32[$$byval_copy33>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy33+4>>2]=HEAP32[$3+4>>2]|0; - ;HEAP32[$sndScream$byval_copy36>>2]=HEAP32[(5492)>>2]|0;HEAP32[$sndScream$byval_copy36+4>>2]=HEAP32[(5492)+4>>2]|0;HEAP32[$sndScream$byval_copy36+8>>2]=HEAP32[(5492)+8>>2]|0;HEAP32[$sndScream$byval_copy36+12>>2]=HEAP32[(5492)+12>>2]|0; + ;HEAP32[$sndScream$byval_copy36>>2]=HEAP32[(28732)>>2]|0;HEAP32[$sndScream$byval_copy36+4>>2]=HEAP32[(28732)+4>>2]|0;HEAP32[$sndScream$byval_copy36+8>>2]=HEAP32[(28732)+8>>2]|0;HEAP32[$sndScream$byval_copy36+12>>2]=HEAP32[(28732)+12>>2]|0; $31 = (_CheckCollisionPointRec($$byval_copy33,$sndScream$byval_copy36)|0); $32 = ($31|0)==(0); if ($32) { @@ -16872,350 +16506,382 @@ function _UpdateLivingroomScreen() { break; } } - $35 = HEAP32[(5468)>>2]|0; + $35 = HEAP32[(28708)>>2]|0; $36 = ($35|0)==(0); if ($36) { - HEAP32[5320>>2] = 2; + HEAP32[7155] = 2; break; } else { - HEAP32[(5480)>>2] = 0; - HEAP32[(5468)>>2] = 0; - ;HEAP32[$sndScream$byval_copy36>>2]=HEAP32[112>>2]|0;HEAP32[$sndScream$byval_copy36+4>>2]=HEAP32[112+4>>2]|0; + HEAP32[(28720)>>2] = 0; + HEAP32[(28708)>>2] = 0; + ;HEAP32[$sndScream$byval_copy36>>2]=HEAP32[26812>>2]|0;HEAP32[$sndScream$byval_copy36+4>>2]=HEAP32[26812+4>>2]|0;HEAP32[$sndScream$byval_copy36+8>>2]=HEAP32[26812+8>>2]|0; _PlaySound($sndScream$byval_copy36); break; } } } } while(0); - $37 = HEAP32[5032>>2]|0; + $37 = HEAP32[7151]|0; $38 = ($37|0)>(2); if ($38) { _UpdatePlayer(); - _UpdateMonster(5512); - _UpdateMonster(5648); - _UpdateMonster(5784); + _UpdateMonster(28748); + _UpdateMonster(28840); + _UpdateMonster(28932); } - ;HEAP32[$$byval_copy33>>2]=HEAP32[(144)>>2]|0;HEAP32[$$byval_copy33+4>>2]=HEAP32[(144)+4>>2]|0;HEAP32[$$byval_copy33+8>>2]=HEAP32[(144)+8>>2]|0;HEAP32[$$byval_copy33+12>>2]=HEAP32[(144)+12>>2]|0; - ;HEAP32[$sndScream$byval_copy36>>2]=HEAP32[(5540)>>2]|0;HEAP32[$sndScream$byval_copy36+4>>2]=HEAP32[(5540)+4>>2]|0;HEAP32[$sndScream$byval_copy36+8>>2]=HEAP32[(5540)+8>>2]|0;HEAP32[$sndScream$byval_copy36+12>>2]=HEAP32[(5540)+12>>2]|0; + ;HEAP32[$$byval_copy33>>2]=HEAP32[(26848)>>2]|0;HEAP32[$$byval_copy33+4>>2]=HEAP32[(26848)+4>>2]|0;HEAP32[$$byval_copy33+8>>2]=HEAP32[(26848)+8>>2]|0;HEAP32[$$byval_copy33+12>>2]=HEAP32[(26848)+12>>2]|0; + ;HEAP32[$sndScream$byval_copy36>>2]=HEAP32[(28776)>>2]|0;HEAP32[$sndScream$byval_copy36+4>>2]=HEAP32[(28776)+4>>2]|0;HEAP32[$sndScream$byval_copy36+8>>2]=HEAP32[(28776)+8>>2]|0;HEAP32[$sndScream$byval_copy36+12>>2]=HEAP32[(28776)+12>>2]|0; $39 = (_CheckCollisionRecs($$byval_copy33,$sndScream$byval_copy36)|0); $40 = ($39|0)==(0); - $41 = HEAP32[(5592)>>2]|0; + $41 = HEAP32[(28828)>>2]|0; $42 = ($41|0)!=(0); $or$cond = $40 | $42; if ($or$cond) { - ;HEAP32[$$byval_copy33>>2]=HEAP32[(144)>>2]|0;HEAP32[$$byval_copy33+4>>2]=HEAP32[(144)+4>>2]|0;HEAP32[$$byval_copy33+8>>2]=HEAP32[(144)+8>>2]|0;HEAP32[$$byval_copy33+12>>2]=HEAP32[(144)+12>>2]|0; - ;HEAP32[$sndScream$byval_copy36>>2]=HEAP32[(5676)>>2]|0;HEAP32[$sndScream$byval_copy36+4>>2]=HEAP32[(5676)+4>>2]|0;HEAP32[$sndScream$byval_copy36+8>>2]=HEAP32[(5676)+8>>2]|0;HEAP32[$sndScream$byval_copy36+12>>2]=HEAP32[(5676)+12>>2]|0; + ;HEAP32[$$byval_copy33>>2]=HEAP32[(26848)>>2]|0;HEAP32[$$byval_copy33+4>>2]=HEAP32[(26848)+4>>2]|0;HEAP32[$$byval_copy33+8>>2]=HEAP32[(26848)+8>>2]|0;HEAP32[$$byval_copy33+12>>2]=HEAP32[(26848)+12>>2]|0; + ;HEAP32[$sndScream$byval_copy36>>2]=HEAP32[(28868)>>2]|0;HEAP32[$sndScream$byval_copy36+4>>2]=HEAP32[(28868)+4>>2]|0;HEAP32[$sndScream$byval_copy36+8>>2]=HEAP32[(28868)+8>>2]|0;HEAP32[$sndScream$byval_copy36+12>>2]=HEAP32[(28868)+12>>2]|0; $43 = (_CheckCollisionRecs($$byval_copy33,$sndScream$byval_copy36)|0); $44 = ($43|0)==(0); - $45 = HEAP32[(5728)>>2]|0; + $45 = HEAP32[(28920)>>2]|0; $46 = ($45|0)!=(0); - $or$cond3 = $44 | $46; - if ($or$cond3) { - ;HEAP32[$$byval_copy33>>2]=HEAP32[(144)>>2]|0;HEAP32[$$byval_copy33+4>>2]=HEAP32[(144)+4>>2]|0;HEAP32[$$byval_copy33+8>>2]=HEAP32[(144)+8>>2]|0;HEAP32[$$byval_copy33+12>>2]=HEAP32[(144)+12>>2]|0; - ;HEAP32[$sndScream$byval_copy36>>2]=HEAP32[(5812)>>2]|0;HEAP32[$sndScream$byval_copy36+4>>2]=HEAP32[(5812)+4>>2]|0;HEAP32[$sndScream$byval_copy36+8>>2]=HEAP32[(5812)+8>>2]|0;HEAP32[$sndScream$byval_copy36+12>>2]=HEAP32[(5812)+12>>2]|0; + $or$cond4 = $44 | $46; + if ($or$cond4) { + ;HEAP32[$$byval_copy33>>2]=HEAP32[(26848)>>2]|0;HEAP32[$$byval_copy33+4>>2]=HEAP32[(26848)+4>>2]|0;HEAP32[$$byval_copy33+8>>2]=HEAP32[(26848)+8>>2]|0;HEAP32[$$byval_copy33+12>>2]=HEAP32[(26848)+12>>2]|0; + ;HEAP32[$sndScream$byval_copy36>>2]=HEAP32[(28960)>>2]|0;HEAP32[$sndScream$byval_copy36+4>>2]=HEAP32[(28960)+4>>2]|0;HEAP32[$sndScream$byval_copy36+8>>2]=HEAP32[(28960)+8>>2]|0;HEAP32[$sndScream$byval_copy36+12>>2]=HEAP32[(28960)+12>>2]|0; $47 = (_CheckCollisionRecs($$byval_copy33,$sndScream$byval_copy36)|0); $48 = ($47|0)==(0); - $49 = HEAP32[(5864)>>2]|0; + $49 = HEAP32[(29012)>>2]|0; $50 = ($49|0)!=(0); - $or$cond5 = $48 | $50; - $51 = $or$cond5&1; - $$17 = $51 ^ 1; - $storemerge = $$17; + $or$cond6 = $48 | $50; + if ($or$cond6) { + $$sink7 = 0; + } else { + label = 27; + } } else { - $storemerge = 1; + label = 27; } } else { - $storemerge = 1; + label = 27; } - HEAP32[5016>>2] = $storemerge; - ;HEAP32[$$byval_copy33>>2]=HEAP32[(144)>>2]|0;HEAP32[$$byval_copy33+4>>2]=HEAP32[(144)+4>>2]|0;HEAP32[$$byval_copy33+8>>2]=HEAP32[(144)+8>>2]|0;HEAP32[$$byval_copy33+12>>2]=HEAP32[(144)+12>>2]|0; - ;HEAP32[$sndScream$byval_copy36>>2]=HEAP32[(5540)>>2]|0;HEAP32[$sndScream$byval_copy36+4>>2]=HEAP32[(5540)+4>>2]|0;HEAP32[$sndScream$byval_copy36+8>>2]=HEAP32[(5540)+8>>2]|0;HEAP32[$sndScream$byval_copy36+12>>2]=HEAP32[(5540)+12>>2]|0; - $52 = (_CheckCollisionRecs($$byval_copy33,$sndScream$byval_copy36)|0); - $53 = ($52|0)==(0); - $54 = HEAP32[(5592)>>2]|0; - $55 = ($54|0)!=(0); - $or$cond7 = $53 | $55; + if ((label|0) == 27) { + $$sink7 = 1; + } + HEAP32[7150] = $$sink7; + ;HEAP32[$$byval_copy33>>2]=HEAP32[(26848)>>2]|0;HEAP32[$$byval_copy33+4>>2]=HEAP32[(26848)+4>>2]|0;HEAP32[$$byval_copy33+8>>2]=HEAP32[(26848)+8>>2]|0;HEAP32[$$byval_copy33+12>>2]=HEAP32[(26848)+12>>2]|0; + ;HEAP32[$sndScream$byval_copy36>>2]=HEAP32[(28776)>>2]|0;HEAP32[$sndScream$byval_copy36+4>>2]=HEAP32[(28776)+4>>2]|0;HEAP32[$sndScream$byval_copy36+8>>2]=HEAP32[(28776)+8>>2]|0;HEAP32[$sndScream$byval_copy36+12>>2]=HEAP32[(28776)+12>>2]|0; + $51 = (_CheckCollisionRecs($$byval_copy33,$sndScream$byval_copy36)|0); + $52 = ($51|0)==(0); + $53 = HEAP32[(28828)>>2]|0; + $54 = ($53|0)!=(0); + $or$cond9 = $52 | $54; do { - if ($or$cond7) { - HEAP32[(5596)>>2] = 0; + if ($or$cond9) { + HEAP32[(28832)>>2] = 0; } else { - HEAP32[(5596)>>2] = 1; - $56 = (_IsKeyPressed(32)|0); - $57 = ($56|0)==(0); - if ($57) { - $58 = (_IsMouseButtonPressed(0)|0); - $59 = ($58|0)==(0); - if ($59) { + HEAP32[(28832)>>2] = 1; + $55 = (_IsKeyPressed(32)|0); + $56 = ($55|0)==(0); + if ($56) { + $57 = (_IsMouseButtonPressed(0)|0); + $58 = ($57|0)==(0); + if ($58) { break; } _GetMousePosition($4); ;HEAP32[$$byval_copy33>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy33+4>>2]=HEAP32[$4+4>>2]|0; - ;HEAP32[$sndScream$byval_copy36>>2]=HEAP32[(5540)>>2]|0;HEAP32[$sndScream$byval_copy36+4>>2]=HEAP32[(5540)+4>>2]|0;HEAP32[$sndScream$byval_copy36+8>>2]=HEAP32[(5540)+8>>2]|0;HEAP32[$sndScream$byval_copy36+12>>2]=HEAP32[(5540)+12>>2]|0; - $60 = (_CheckCollisionPointRec($$byval_copy33,$sndScream$byval_copy36)|0); - $61 = ($60|0)==(0); - if ($61) { + ;HEAP32[$sndScream$byval_copy36>>2]=HEAP32[(28776)>>2]|0;HEAP32[$sndScream$byval_copy36+4>>2]=HEAP32[(28776)+4>>2]|0;HEAP32[$sndScream$byval_copy36+8>>2]=HEAP32[(28776)+8>>2]|0;HEAP32[$sndScream$byval_copy36+12>>2]=HEAP32[(28776)+12>>2]|0; + $59 = (_CheckCollisionPointRec($$byval_copy33,$sndScream$byval_copy36)|0); + $60 = ($59|0)==(0); + if ($60) { break; } } _SearchKeyPlayer(); - HEAP32[5920>>2] = 1; - HEAP32[5312>>2] = 0; - HEAP32[5024>>2] = 1; + HEAP32[7256] = 1; + HEAP32[7154] = 0; + HEAP32[12] = 1; } } while(0); - ;HEAP32[$$byval_copy33>>2]=HEAP32[(144)>>2]|0;HEAP32[$$byval_copy33+4>>2]=HEAP32[(144)+4>>2]|0;HEAP32[$$byval_copy33+8>>2]=HEAP32[(144)+8>>2]|0;HEAP32[$$byval_copy33+12>>2]=HEAP32[(144)+12>>2]|0; - ;HEAP32[$sndScream$byval_copy36>>2]=HEAP32[(5676)>>2]|0;HEAP32[$sndScream$byval_copy36+4>>2]=HEAP32[(5676)+4>>2]|0;HEAP32[$sndScream$byval_copy36+8>>2]=HEAP32[(5676)+8>>2]|0;HEAP32[$sndScream$byval_copy36+12>>2]=HEAP32[(5676)+12>>2]|0; - $62 = (_CheckCollisionRecs($$byval_copy33,$sndScream$byval_copy36)|0); - $63 = ($62|0)==(0); - $64 = HEAP32[(5728)>>2]|0; - $65 = ($64|0)!=(0); - $or$cond9 = $63 | $65; + ;HEAP32[$$byval_copy33>>2]=HEAP32[(26848)>>2]|0;HEAP32[$$byval_copy33+4>>2]=HEAP32[(26848)+4>>2]|0;HEAP32[$$byval_copy33+8>>2]=HEAP32[(26848)+8>>2]|0;HEAP32[$$byval_copy33+12>>2]=HEAP32[(26848)+12>>2]|0; + ;HEAP32[$sndScream$byval_copy36>>2]=HEAP32[(28868)>>2]|0;HEAP32[$sndScream$byval_copy36+4>>2]=HEAP32[(28868)+4>>2]|0;HEAP32[$sndScream$byval_copy36+8>>2]=HEAP32[(28868)+8>>2]|0;HEAP32[$sndScream$byval_copy36+12>>2]=HEAP32[(28868)+12>>2]|0; + $61 = (_CheckCollisionRecs($$byval_copy33,$sndScream$byval_copy36)|0); + $62 = ($61|0)==(0); + $63 = HEAP32[(28920)>>2]|0; + $64 = ($63|0)!=(0); + $or$cond11 = $62 | $64; do { - if ($or$cond9) { - HEAP32[(5732)>>2] = 0; + if ($or$cond11) { + HEAP32[(28924)>>2] = 0; } else { - HEAP32[(5732)>>2] = 1; - $66 = (_IsKeyPressed(32)|0); - $67 = ($66|0)==(0); - if ($67) { - $68 = (_IsMouseButtonPressed(0)|0); - $69 = ($68|0)==(0); - if ($69) { + HEAP32[(28924)>>2] = 1; + $65 = (_IsKeyPressed(32)|0); + $66 = ($65|0)==(0); + if ($66) { + $67 = (_IsMouseButtonPressed(0)|0); + $68 = ($67|0)==(0); + if ($68) { break; } _GetMousePosition($5); ;HEAP32[$$byval_copy33>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy33+4>>2]=HEAP32[$5+4>>2]|0; - ;HEAP32[$sndScream$byval_copy36>>2]=HEAP32[(5676)>>2]|0;HEAP32[$sndScream$byval_copy36+4>>2]=HEAP32[(5676)+4>>2]|0;HEAP32[$sndScream$byval_copy36+8>>2]=HEAP32[(5676)+8>>2]|0;HEAP32[$sndScream$byval_copy36+12>>2]=HEAP32[(5676)+12>>2]|0; - $70 = (_CheckCollisionPointRec($$byval_copy33,$sndScream$byval_copy36)|0); - $71 = ($70|0)==(0); - if ($71) { + ;HEAP32[$sndScream$byval_copy36>>2]=HEAP32[(28868)>>2]|0;HEAP32[$sndScream$byval_copy36+4>>2]=HEAP32[(28868)+4>>2]|0;HEAP32[$sndScream$byval_copy36+8>>2]=HEAP32[(28868)+8>>2]|0;HEAP32[$sndScream$byval_copy36+12>>2]=HEAP32[(28868)+12>>2]|0; + $69 = (_CheckCollisionPointRec($$byval_copy33,$sndScream$byval_copy36)|0); + $70 = ($69|0)==(0); + if ($70) { break; } } _SearchKeyPlayer(); - HEAP32[5920>>2] = 1; - HEAP32[5312>>2] = 0; - HEAP32[5024>>2] = 2; + HEAP32[7256] = 1; + HEAP32[7154] = 0; + HEAP32[12] = 2; } } while(0); - ;HEAP32[$$byval_copy33>>2]=HEAP32[(144)>>2]|0;HEAP32[$$byval_copy33+4>>2]=HEAP32[(144)+4>>2]|0;HEAP32[$$byval_copy33+8>>2]=HEAP32[(144)+8>>2]|0;HEAP32[$$byval_copy33+12>>2]=HEAP32[(144)+12>>2]|0; - ;HEAP32[$sndScream$byval_copy36>>2]=HEAP32[(5812)>>2]|0;HEAP32[$sndScream$byval_copy36+4>>2]=HEAP32[(5812)+4>>2]|0;HEAP32[$sndScream$byval_copy36+8>>2]=HEAP32[(5812)+8>>2]|0;HEAP32[$sndScream$byval_copy36+12>>2]=HEAP32[(5812)+12>>2]|0; - $72 = (_CheckCollisionRecs($$byval_copy33,$sndScream$byval_copy36)|0); - $73 = ($72|0)==(0); - $74 = HEAP32[(5864)>>2]|0; - $75 = ($74|0)!=(0); - $or$cond11 = $73 | $75; + ;HEAP32[$$byval_copy33>>2]=HEAP32[(26848)>>2]|0;HEAP32[$$byval_copy33+4>>2]=HEAP32[(26848)+4>>2]|0;HEAP32[$$byval_copy33+8>>2]=HEAP32[(26848)+8>>2]|0;HEAP32[$$byval_copy33+12>>2]=HEAP32[(26848)+12>>2]|0; + ;HEAP32[$sndScream$byval_copy36>>2]=HEAP32[(28960)>>2]|0;HEAP32[$sndScream$byval_copy36+4>>2]=HEAP32[(28960)+4>>2]|0;HEAP32[$sndScream$byval_copy36+8>>2]=HEAP32[(28960)+8>>2]|0;HEAP32[$sndScream$byval_copy36+12>>2]=HEAP32[(28960)+12>>2]|0; + $71 = (_CheckCollisionRecs($$byval_copy33,$sndScream$byval_copy36)|0); + $72 = ($71|0)==(0); + $73 = HEAP32[(29012)>>2]|0; + $74 = ($73|0)!=(0); + $or$cond13 = $72 | $74; do { - if ($or$cond11) { - HEAP32[(5868)>>2] = 0; - label = 45; + if ($or$cond13) { + HEAP32[(29016)>>2] = 0; + label = 46; } else { - HEAP32[(5868)>>2] = 1; - $76 = (_IsKeyPressed(32)|0); - $77 = ($76|0)==(0); - if ($77) { - $78 = (_IsMouseButtonPressed(0)|0); - $79 = ($78|0)==(0); - if ($79) { - label = 45; + HEAP32[(29016)>>2] = 1; + $75 = (_IsKeyPressed(32)|0); + $76 = ($75|0)==(0); + if ($76) { + $77 = (_IsMouseButtonPressed(0)|0); + $78 = ($77|0)==(0); + if ($78) { + label = 46; break; } _GetMousePosition($6); ;HEAP32[$$byval_copy33>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy33+4>>2]=HEAP32[$6+4>>2]|0; - ;HEAP32[$sndScream$byval_copy36>>2]=HEAP32[(5812)>>2]|0;HEAP32[$sndScream$byval_copy36+4>>2]=HEAP32[(5812)+4>>2]|0;HEAP32[$sndScream$byval_copy36+8>>2]=HEAP32[(5812)+8>>2]|0;HEAP32[$sndScream$byval_copy36+12>>2]=HEAP32[(5812)+12>>2]|0; - $80 = (_CheckCollisionPointRec($$byval_copy33,$sndScream$byval_copy36)|0); - $81 = ($80|0)==(0); - if ($81) { - label = 45; + ;HEAP32[$sndScream$byval_copy36>>2]=HEAP32[(28960)>>2]|0;HEAP32[$sndScream$byval_copy36+4>>2]=HEAP32[(28960)+4>>2]|0;HEAP32[$sndScream$byval_copy36+8>>2]=HEAP32[(28960)+8>>2]|0;HEAP32[$sndScream$byval_copy36+12>>2]=HEAP32[(28960)+12>>2]|0; + $79 = (_CheckCollisionPointRec($$byval_copy33,$sndScream$byval_copy36)|0); + $80 = ($79|0)==(0); + if ($80) { + label = 46; break; } } _SearchKeyPlayer(); - HEAP32[5920>>2] = 1; - HEAP32[5024>>2] = 3; - HEAP32[5312>>2] = 1; + HEAP32[7256] = 1; + HEAP32[12] = 3; + HEAP32[7154] = 1; } } while(0); - if ((label|0) == 45) { - $$pr = HEAP32[5920>>2]|0; - $82 = ($$pr|0)==(0); - if (!($82)) { - $$pr18 = HEAP32[5312>>2]|0; - $83 = (($$pr18) + 1)|0; - HEAP32[5312>>2] = $83; - $84 = ($$pr18|0)>(179); - if ($84) { - $85 = HEAP32[5024>>2]|0; - if ((($85|0) == 2)) { - $88 = HEAP32[(5736)>>2]|0; - $89 = ($88|0)==(0); - if ($89) { - _FindKeyPlayer(); - } else { - _ScarePlayer(); - ;HEAP32[$sndScream$byval_copy36>>2]=HEAP32[120>>2]|0;HEAP32[$sndScream$byval_copy36+4>>2]=HEAP32[120+4>>2]|0; - _PlaySound($sndScream$byval_copy36); + if ((label|0) == 46) { + $$pr = HEAP32[7256]|0; + $81 = ($$pr|0)==(0); + if (!($81)) { + $$pr23 = HEAP32[7154]|0; + $82 = (($$pr23) + 1)|0; + HEAP32[7154] = $82; + $83 = ($$pr23|0)>(179); + if ($83) { + $84 = HEAP32[12]|0; + L68: do { + switch ($84|0) { + case 1: { + $85 = HEAP32[(28836)>>2]|0; + $86 = ($85|0)==(0); + if ($86) { + _FindKeyPlayer(); + $$sink14 = (28832);$$sink15 = (28828); + label = 58; + break L68; + } else { + _ScarePlayer(); + ;HEAP32[$sndScream$byval_copy36>>2]=HEAP32[26824>>2]|0;HEAP32[$sndScream$byval_copy36+4>>2]=HEAP32[26824+4>>2]|0;HEAP32[$sndScream$byval_copy36+8>>2]=HEAP32[26824+8>>2]|0; + _PlaySound($sndScream$byval_copy36); + $$sink14 = (28832);$$sink15 = (28828); + label = 58; + break L68; + } + break; } - HEAP32[(5728)>>2] = 1; - HEAP32[(5732)>>2] = 0; - } else if ((($85|0) == 3)) { - $90 = HEAP32[(5872)>>2]|0; - $91 = ($90|0)==(0); - if ($91) { - _FindKeyPlayer(); - } else { - _ScarePlayer(); - ;HEAP32[$sndScream$byval_copy36>>2]=HEAP32[120>>2]|0;HEAP32[$sndScream$byval_copy36+4>>2]=HEAP32[120+4>>2]|0; - _PlaySound($sndScream$byval_copy36); + case 2: { + $87 = HEAP32[(28928)>>2]|0; + $88 = ($87|0)==(0); + if ($88) { + _FindKeyPlayer(); + $$sink14 = (28924);$$sink15 = (28920); + label = 58; + break L68; + } else { + _ScarePlayer(); + ;HEAP32[$sndScream$byval_copy36>>2]=HEAP32[26824>>2]|0;HEAP32[$sndScream$byval_copy36+4>>2]=HEAP32[26824+4>>2]|0;HEAP32[$sndScream$byval_copy36+8>>2]=HEAP32[26824+8>>2]|0; + _PlaySound($sndScream$byval_copy36); + $$sink14 = (28924);$$sink15 = (28920); + label = 58; + break L68; + } + break; } - HEAP32[(5864)>>2] = 1; - HEAP32[(5868)>>2] = 0; - } else if ((($85|0) == 1)) { - $86 = HEAP32[(5600)>>2]|0; - $87 = ($86|0)==(0); - if ($87) { - _FindKeyPlayer(); - } else { - _ScarePlayer(); - ;HEAP32[$sndScream$byval_copy36>>2]=HEAP32[120>>2]|0;HEAP32[$sndScream$byval_copy36+4>>2]=HEAP32[120+4>>2]|0; - _PlaySound($sndScream$byval_copy36); + case 3: { + $89 = HEAP32[(29020)>>2]|0; + $90 = ($89|0)==(0); + if ($90) { + _FindKeyPlayer(); + $$sink14 = (29016);$$sink15 = (29012); + label = 58; + break L68; + } else { + _ScarePlayer(); + ;HEAP32[$sndScream$byval_copy36>>2]=HEAP32[26824>>2]|0;HEAP32[$sndScream$byval_copy36+4>>2]=HEAP32[26824+4>>2]|0;HEAP32[$sndScream$byval_copy36+8>>2]=HEAP32[26824+8>>2]|0; + _PlaySound($sndScream$byval_copy36); + $$sink14 = (29016);$$sink15 = (29012); + label = 58; + break L68; + } + break; } - HEAP32[(5592)>>2] = 1; - HEAP32[(5596)>>2] = 0; + default: { + } + } + } while(0); + if ((label|0) == 58) { + HEAP32[$$sink15>>2] = 1; + HEAP32[$$sink14>>2] = 0; } - HEAP32[5920>>2] = 0; - HEAP32[5312>>2] = 0; + HEAP32[7256] = 0; + HEAP32[7154] = 0; } } } - $92 = HEAP32[5312>>2]|0; - $93 = (($92) + 1)|0; - HEAP32[5312>>2] = $93; - $94 = $93 & 1; - $95 = ($94|0)==(0); - if ($95) { - $96 = HEAP32[5048>>2]|0; - $97 = (($96) + 1)|0; - HEAP32[5048>>2] = $97; + $91 = HEAP32[7154]|0; + $92 = (($91) + 1)|0; + HEAP32[7154] = $92; + $93 = $92 & 1; + $94 = ($93|0)==(0); + if ($94) { + $95 = HEAP32[7153]|0; + $96 = (($95) + 1)|0; + HEAP32[7153] = $96; } - $98 = HEAP32[5032>>2]|0; - if ((($98|0) == 1)) { - $109 = HEAP32[5040>>2]|0; - $110 = (($109) + 1)|0; - HEAP32[5040>>2] = $110; - $111 = (_IsKeyPressed(257)|0); - $112 = ($111|0)==(0); - if ($112) { - $113 = (_IsMouseButtonPressed(0)|0); - $114 = ($113|0)==(0); - if ($114) { - STACKTOP = sp;return; - } - } - HEAP32[5032>>2] = 2; - HEAP32[5040>>2] = 0; - STACKTOP = sp;return; - } else if ((($98|0) == 0)) { - $99 = HEAP32[5048>>2]|0; + $97 = HEAP32[7151]|0; + $98 = ($97|0)==(0); + if ($98) { + $99 = HEAP32[7153]|0; $100 = ($99|0)<(58); if ($100) { - (_strncpy((5056|0),(5928|0),($99|0))|0); + (_strncpy(34808,7445,$99)|0); } else { - $101 = (_strlen((5056|0))|0); + $101 = (_strlen(34808)|0); $102 = ($101|0)>(0); if ($102) { - $i$020 = 0; + $$025 = 0; while(1) { - $103 = (5056 + ($i$020)|0); + $103 = (34808 + ($$025)|0); HEAP8[$103>>0] = 0; - $104 = (($i$020) + 1)|0; - $105 = (_strlen((5056|0))|0); + $104 = (($$025) + 1)|0; + $105 = (_strlen(34808)|0); $106 = ($104|0)<($105|0); if ($106) { - $i$020 = $104; + $$025 = $104; } else { break; } } } - HEAP32[5048>>2] = 0; - HEAP32[5032>>2] = 1; + HEAP32[7153] = 0; + HEAP32[7151] = 1; } $107 = (_IsKeyPressed(257)|0); $108 = ($107|0)==(0); if ($108) { STACKTOP = sp;return; } - HEAP32[5032>>2] = 1; - STACKTOP = sp;return; - } else { - $115 = ($98|0)==(2); - $116 = HEAP32[5040>>2]|0; - $117 = (($116) + 1)|0; - HEAP32[5040>>2] = $117; - $118 = ($116|0)>(179); - $or$cond13 = $115 & $118; - if (!($or$cond13)) { - STACKTOP = sp;return; - } - HEAP32[5032>>2] = 3; + HEAP32[7151] = 1; STACKTOP = sp;return; } + $109 = ($97|0)==(1); + $110 = HEAP32[7152]|0; + $111 = (($110) + 1)|0; + HEAP32[7152] = $111; + if (!($109)) { + $116 = ($97|0)==(2); + $117 = ($110|0)>(179); + $or$cond17 = $116 & $117; + if (!($or$cond17)) { + STACKTOP = sp;return; + } + HEAP32[7151] = 3; + STACKTOP = sp;return; + } + $112 = (_IsKeyPressed(257)|0); + $113 = ($112|0)==(0); + if ($113) { + $114 = (_IsMouseButtonPressed(0)|0); + $115 = ($114|0)==(0); + if ($115) { + STACKTOP = sp;return; + } + } + HEAP32[7151] = 2; + HEAP32[7152] = 0; + STACKTOP = sp;return; } function _DrawLivingroomScreen() { var $$byval_copy30 = 0, $$byval_copy34 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0; - var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0; - var $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0; - var $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $9 = 0, $doors$byval_copy10 = 0, $font$byval_copy21 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0.0, $5 = 0, $50 = 0, $51 = 0, $52 = 0.0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0; + var $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0.0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0; + var $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $doors$byval_copy10 = 0, $font$byval_copy21 = 0, dest = 0, label = 0, sp = 0, src = 0; + var stop = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 288|0; - $$byval_copy34 = sp + 12|0; - $$byval_copy30 = sp + 204|0; - $font$byval_copy21 = sp + 144|0; - $doors$byval_copy10 = sp + 180|0; - $0 = sp + 200|0; - $1 = sp + 264|0; - $2 = sp + 8|0; - $3 = sp + 268|0; - $4 = sp + 104|0; - $5 = sp + 284|0; - $6 = sp + 280|0; - $7 = sp + 276|0; - $8 = sp + 272|0; - $9 = sp; - $10 = sp + 140|0; - $11 = sp + 112|0; - $12 = sp + 120|0; - $13 = sp + 260|0; - $14 = sp + 128|0; - $15 = sp + 136|0; - $16 = sp + 224|0; - $17 = sp + 236|0; - $18 = sp + 240|0; - $19 = sp + 252|0; - $20 = sp + 256|0; - $21 = sp + 248|0; - $22 = sp + 244|0; - $23 = sp + 232|0; - $24 = sp + 228|0; + STACKTOP = STACKTOP + 288|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(288|0); + $$byval_copy34 = sp + 128|0; + $$byval_copy30 = sp + 104|0; + $font$byval_copy21 = sp + 48|0; + $doors$byval_copy10 = sp; + $0 = sp + 124|0; + $1 = sp + 280|0; + $2 = sp + 100|0; + $3 = sp + 276|0; + $4 = sp + 96|0; + $5 = sp + 272|0; + $6 = sp + 268|0; + $7 = sp + 264|0; + $8 = sp + 260|0; + $9 = sp + 88|0; + $10 = sp + 80|0; + $11 = sp + 40|0; + $12 = sp + 32|0; + $13 = sp + 256|0; + $14 = sp + 24|0; + $15 = sp + 20|0; + $16 = sp + 252|0; + $17 = sp + 248|0; + $18 = sp + 244|0; + $19 = sp + 240|0; + $20 = sp + 236|0; + $21 = sp + 232|0; + $22 = sp + 228|0; + $23 = sp + 224|0; + $24 = sp + 220|0; HEAP32[$0>>2] = -1; - ;HEAP32[$$byval_copy30>>2]=HEAP32[5376>>2]|0;HEAP32[$$byval_copy30+4>>2]=HEAP32[5376+4>>2]|0;HEAP32[$$byval_copy30+8>>2]=HEAP32[5376+8>>2]|0;HEAP32[$$byval_copy30+12>>2]=HEAP32[5376+12>>2]|0;HEAP32[$$byval_copy30+16>>2]=HEAP32[5376+16>>2]|0; + ;HEAP32[$$byval_copy30>>2]=HEAP32[28624>>2]|0;HEAP32[$$byval_copy30+4>>2]=HEAP32[28624+4>>2]|0;HEAP32[$$byval_copy30+8>>2]=HEAP32[28624+8>>2]|0;HEAP32[$$byval_copy30+12>>2]=HEAP32[28624+12>>2]|0;HEAP32[$$byval_copy30+16>>2]=HEAP32[28624+16>>2]|0; ;HEAP8[$$byval_copy34>>0]=HEAP8[$0>>0]|0;HEAP8[$$byval_copy34+1>>0]=HEAP8[$0+1>>0]|0;HEAP8[$$byval_copy34+2>>0]=HEAP8[$0+2>>0]|0;HEAP8[$$byval_copy34+3>>0]=HEAP8[$0+3>>0]|0; _DrawTexture($$byval_copy30,0,0,$$byval_copy34); - dest=$$byval_copy34; src=5648; stop=dest+92|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$$byval_copy34; src=28840; stop=dest+92|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _DrawMonster($$byval_copy34,0); - dest=$$byval_copy34; src=5512; stop=dest+92|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$$byval_copy34; src=28748; stop=dest+92|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _DrawMonster($$byval_copy34,0); - dest=$$byval_copy34; src=5784; stop=dest+92|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$$byval_copy34; src=28932; stop=dest+92|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _DrawMonster($$byval_copy34,0); - $25 = HEAP32[(5472)>>2]|0; + $25 = HEAP32[(28712)>>2]|0; $26 = ($25|0)==(0); if ($26) { HEAP32[$2>>2] = -1; - ;HEAP32[$doors$byval_copy10>>2]=HEAP32[88>>2]|0;HEAP32[$doors$byval_copy10+4>>2]=HEAP32[88+4>>2]|0;HEAP32[$doors$byval_copy10+8>>2]=HEAP32[88+8>>2]|0;HEAP32[$doors$byval_copy10+12>>2]=HEAP32[88+12>>2]|0;HEAP32[$doors$byval_copy10+16>>2]=HEAP32[88+16>>2]|0; - ;HEAP32[$font$byval_copy21>>2]=HEAP32[(5476)>>2]|0;HEAP32[$font$byval_copy21+4>>2]=HEAP32[(5476)+4>>2]|0;HEAP32[$font$byval_copy21+8>>2]=HEAP32[(5476)+8>>2]|0;HEAP32[$font$byval_copy21+12>>2]=HEAP32[(5476)+12>>2]|0; - ;HEAP32[$$byval_copy30>>2]=HEAP32[5456>>2]|0;HEAP32[$$byval_copy30+4>>2]=HEAP32[5456+4>>2]|0; + ;HEAP32[$doors$byval_copy10>>2]=HEAP32[26792>>2]|0;HEAP32[$doors$byval_copy10+4>>2]=HEAP32[26792+4>>2]|0;HEAP32[$doors$byval_copy10+8>>2]=HEAP32[26792+8>>2]|0;HEAP32[$doors$byval_copy10+12>>2]=HEAP32[26792+12>>2]|0;HEAP32[$doors$byval_copy10+16>>2]=HEAP32[26792+16>>2]|0; + ;HEAP32[$font$byval_copy21>>2]=HEAP32[(28716)>>2]|0;HEAP32[$font$byval_copy21+4>>2]=HEAP32[(28716)+4>>2]|0;HEAP32[$font$byval_copy21+8>>2]=HEAP32[(28716)+8>>2]|0;HEAP32[$font$byval_copy21+12>>2]=HEAP32[(28716)+12>>2]|0; + ;HEAP32[$$byval_copy30>>2]=HEAP32[28696>>2]|0;HEAP32[$$byval_copy30+4>>2]=HEAP32[28696+4>>2]|0; ;HEAP8[$$byval_copy34>>0]=HEAP8[$2>>0]|0;HEAP8[$$byval_copy34+1>>0]=HEAP8[$2+1>>0]|0;HEAP8[$$byval_copy34+2>>0]=HEAP8[$2+2>>0]|0;HEAP8[$$byval_copy34+3>>0]=HEAP8[$2+3>>0]|0; _DrawTextureRec($doors$byval_copy10,$font$byval_copy21,$$byval_copy30,$$byval_copy34); } else { @@ -17226,19 +16892,19 @@ function _DrawLivingroomScreen() { HEAP8[$28>>0] = 48; $29 = ((($1)) + 3|0); HEAP8[$29>>0] = -1; - ;HEAP32[$doors$byval_copy10>>2]=HEAP32[88>>2]|0;HEAP32[$doors$byval_copy10+4>>2]=HEAP32[88+4>>2]|0;HEAP32[$doors$byval_copy10+8>>2]=HEAP32[88+8>>2]|0;HEAP32[$doors$byval_copy10+12>>2]=HEAP32[88+12>>2]|0;HEAP32[$doors$byval_copy10+16>>2]=HEAP32[88+16>>2]|0; - ;HEAP32[$font$byval_copy21>>2]=HEAP32[(5476)>>2]|0;HEAP32[$font$byval_copy21+4>>2]=HEAP32[(5476)+4>>2]|0;HEAP32[$font$byval_copy21+8>>2]=HEAP32[(5476)+8>>2]|0;HEAP32[$font$byval_copy21+12>>2]=HEAP32[(5476)+12>>2]|0; - ;HEAP32[$$byval_copy30>>2]=HEAP32[5456>>2]|0;HEAP32[$$byval_copy30+4>>2]=HEAP32[5456+4>>2]|0; + ;HEAP32[$doors$byval_copy10>>2]=HEAP32[26792>>2]|0;HEAP32[$doors$byval_copy10+4>>2]=HEAP32[26792+4>>2]|0;HEAP32[$doors$byval_copy10+8>>2]=HEAP32[26792+8>>2]|0;HEAP32[$doors$byval_copy10+12>>2]=HEAP32[26792+12>>2]|0;HEAP32[$doors$byval_copy10+16>>2]=HEAP32[26792+16>>2]|0; + ;HEAP32[$font$byval_copy21>>2]=HEAP32[(28716)>>2]|0;HEAP32[$font$byval_copy21+4>>2]=HEAP32[(28716)+4>>2]|0;HEAP32[$font$byval_copy21+8>>2]=HEAP32[(28716)+8>>2]|0;HEAP32[$font$byval_copy21+12>>2]=HEAP32[(28716)+12>>2]|0; + ;HEAP32[$$byval_copy30>>2]=HEAP32[28696>>2]|0;HEAP32[$$byval_copy30+4>>2]=HEAP32[28696+4>>2]|0; ;HEAP8[$$byval_copy34>>0]=HEAP8[$1>>0]|0;HEAP8[$$byval_copy34+1>>0]=HEAP8[$1+1>>0]|0;HEAP8[$$byval_copy34+2>>0]=HEAP8[$1+2>>0]|0;HEAP8[$$byval_copy34+3>>0]=HEAP8[$1+3>>0]|0; _DrawTextureRec($doors$byval_copy10,$font$byval_copy21,$$byval_copy30,$$byval_copy34); } - $30 = HEAP32[(5416)>>2]|0; + $30 = HEAP32[(28660)>>2]|0; $31 = ($30|0)==(0); if ($31) { HEAP32[$4>>2] = -1; - ;HEAP32[$doors$byval_copy10>>2]=HEAP32[88>>2]|0;HEAP32[$doors$byval_copy10+4>>2]=HEAP32[88+4>>2]|0;HEAP32[$doors$byval_copy10+8>>2]=HEAP32[88+8>>2]|0;HEAP32[$doors$byval_copy10+12>>2]=HEAP32[88+12>>2]|0;HEAP32[$doors$byval_copy10+16>>2]=HEAP32[88+16>>2]|0; - ;HEAP32[$font$byval_copy21>>2]=HEAP32[(5420)>>2]|0;HEAP32[$font$byval_copy21+4>>2]=HEAP32[(5420)+4>>2]|0;HEAP32[$font$byval_copy21+8>>2]=HEAP32[(5420)+8>>2]|0;HEAP32[$font$byval_copy21+12>>2]=HEAP32[(5420)+12>>2]|0; - ;HEAP32[$$byval_copy30>>2]=HEAP32[5400>>2]|0;HEAP32[$$byval_copy30+4>>2]=HEAP32[5400+4>>2]|0; + ;HEAP32[$doors$byval_copy10>>2]=HEAP32[26792>>2]|0;HEAP32[$doors$byval_copy10+4>>2]=HEAP32[26792+4>>2]|0;HEAP32[$doors$byval_copy10+8>>2]=HEAP32[26792+8>>2]|0;HEAP32[$doors$byval_copy10+12>>2]=HEAP32[26792+12>>2]|0;HEAP32[$doors$byval_copy10+16>>2]=HEAP32[26792+16>>2]|0; + ;HEAP32[$font$byval_copy21>>2]=HEAP32[(28664)>>2]|0;HEAP32[$font$byval_copy21+4>>2]=HEAP32[(28664)+4>>2]|0;HEAP32[$font$byval_copy21+8>>2]=HEAP32[(28664)+8>>2]|0;HEAP32[$font$byval_copy21+12>>2]=HEAP32[(28664)+12>>2]|0; + ;HEAP32[$$byval_copy30>>2]=HEAP32[28644>>2]|0;HEAP32[$$byval_copy30+4>>2]=HEAP32[28644+4>>2]|0; ;HEAP8[$$byval_copy34>>0]=HEAP8[$4>>0]|0;HEAP8[$$byval_copy34+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$$byval_copy34+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$$byval_copy34+3>>0]=HEAP8[$4+3>>0]|0; _DrawTextureRec($doors$byval_copy10,$font$byval_copy21,$$byval_copy30,$$byval_copy34); } else { @@ -17249,13 +16915,13 @@ function _DrawLivingroomScreen() { HEAP8[$33>>0] = 48; $34 = ((($3)) + 3|0); HEAP8[$34>>0] = -1; - ;HEAP32[$doors$byval_copy10>>2]=HEAP32[88>>2]|0;HEAP32[$doors$byval_copy10+4>>2]=HEAP32[88+4>>2]|0;HEAP32[$doors$byval_copy10+8>>2]=HEAP32[88+8>>2]|0;HEAP32[$doors$byval_copy10+12>>2]=HEAP32[88+12>>2]|0;HEAP32[$doors$byval_copy10+16>>2]=HEAP32[88+16>>2]|0; - ;HEAP32[$font$byval_copy21>>2]=HEAP32[(5420)>>2]|0;HEAP32[$font$byval_copy21+4>>2]=HEAP32[(5420)+4>>2]|0;HEAP32[$font$byval_copy21+8>>2]=HEAP32[(5420)+8>>2]|0;HEAP32[$font$byval_copy21+12>>2]=HEAP32[(5420)+12>>2]|0; - ;HEAP32[$$byval_copy30>>2]=HEAP32[5400>>2]|0;HEAP32[$$byval_copy30+4>>2]=HEAP32[5400+4>>2]|0; + ;HEAP32[$doors$byval_copy10>>2]=HEAP32[26792>>2]|0;HEAP32[$doors$byval_copy10+4>>2]=HEAP32[26792+4>>2]|0;HEAP32[$doors$byval_copy10+8>>2]=HEAP32[26792+8>>2]|0;HEAP32[$doors$byval_copy10+12>>2]=HEAP32[26792+12>>2]|0;HEAP32[$doors$byval_copy10+16>>2]=HEAP32[26792+16>>2]|0; + ;HEAP32[$font$byval_copy21>>2]=HEAP32[(28664)>>2]|0;HEAP32[$font$byval_copy21+4>>2]=HEAP32[(28664)+4>>2]|0;HEAP32[$font$byval_copy21+8>>2]=HEAP32[(28664)+8>>2]|0;HEAP32[$font$byval_copy21+12>>2]=HEAP32[(28664)+12>>2]|0; + ;HEAP32[$$byval_copy30>>2]=HEAP32[28644>>2]|0;HEAP32[$$byval_copy30+4>>2]=HEAP32[28644+4>>2]|0; ;HEAP8[$$byval_copy34>>0]=HEAP8[$3>>0]|0;HEAP8[$$byval_copy34+1>>0]=HEAP8[$3+1>>0]|0;HEAP8[$$byval_copy34+2>>0]=HEAP8[$3+2>>0]|0;HEAP8[$$byval_copy34+3>>0]=HEAP8[$3+3>>0]|0; _DrawTextureRec($doors$byval_copy10,$font$byval_copy21,$$byval_copy30,$$byval_copy34); } - $35 = HEAP32[5032>>2]|0; + $35 = HEAP32[7151]|0; $36 = ($35|0)<(2); if ($36) { $37 = (_GetScreenWidth()|0); @@ -17287,365 +16953,373 @@ function _DrawLivingroomScreen() { _DrawRectangle(0,80,$42,100,$$byval_copy34); } } - $46 = HEAP32[5032>>2]|0; - if ((($46|0) == 0)) { + $46 = HEAP32[7151]|0; + switch ($46|0) { + case 0: { HEAPF32[$9>>2] = 100.0; $47 = ((($9)) + 4|0); HEAPF32[$47>>2] = 80.0; - $48 = HEAP32[(68)>>2]|0; + $48 = HEAP32[(26780)>>2]|0; + $49 = (+($48|0)); HEAP32[$10>>2] = -1; - dest=$font$byval_copy21; src=48; stop=dest+36|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + ;HEAP32[$font$byval_copy21>>2]=HEAP32[26760>>2]|0;HEAP32[$font$byval_copy21+4>>2]=HEAP32[26760+4>>2]|0;HEAP32[$font$byval_copy21+8>>2]=HEAP32[26760+8>>2]|0;HEAP32[$font$byval_copy21+12>>2]=HEAP32[26760+12>>2]|0;HEAP32[$font$byval_copy21+16>>2]=HEAP32[26760+16>>2]|0;HEAP32[$font$byval_copy21+20>>2]=HEAP32[26760+20>>2]|0;HEAP32[$font$byval_copy21+24>>2]=HEAP32[26760+24>>2]|0;HEAP32[$font$byval_copy21+28>>2]=HEAP32[26760+28>>2]|0; ;HEAP32[$$byval_copy30>>2]=HEAP32[$9>>2]|0;HEAP32[$$byval_copy30+4>>2]=HEAP32[$9+4>>2]|0; ;HEAP8[$$byval_copy34>>0]=HEAP8[$10>>0]|0;HEAP8[$$byval_copy34+1>>0]=HEAP8[$10+1>>0]|0;HEAP8[$$byval_copy34+2>>0]=HEAP8[$10+2>>0]|0;HEAP8[$$byval_copy34+3>>0]=HEAP8[$10+3>>0]|0; - _DrawTextEx($font$byval_copy21,5056,$$byval_copy30,$48,2,$$byval_copy34); + _DrawTextEx($font$byval_copy21,34808,$$byval_copy30,$49,2,$$byval_copy34); _DrawPlayer(); STACKTOP = sp;return; - } else if ((($46|0) == 1)) { + break; + } + case 1: { HEAPF32[$11>>2] = 100.0; - $49 = ((($11)) + 4|0); - HEAPF32[$49>>2] = 80.0; - $50 = HEAP32[(68)>>2]|0; + $50 = ((($11)) + 4|0); + HEAPF32[$50>>2] = 80.0; + $51 = HEAP32[(26780)>>2]|0; + $52 = (+($51|0)); HEAP32[$12>>2] = -1; - dest=$font$byval_copy21; src=48; stop=dest+36|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + ;HEAP32[$font$byval_copy21>>2]=HEAP32[26760>>2]|0;HEAP32[$font$byval_copy21+4>>2]=HEAP32[26760+4>>2]|0;HEAP32[$font$byval_copy21+8>>2]=HEAP32[26760+8>>2]|0;HEAP32[$font$byval_copy21+12>>2]=HEAP32[26760+12>>2]|0;HEAP32[$font$byval_copy21+16>>2]=HEAP32[26760+16>>2]|0;HEAP32[$font$byval_copy21+20>>2]=HEAP32[26760+20>>2]|0;HEAP32[$font$byval_copy21+24>>2]=HEAP32[26760+24>>2]|0;HEAP32[$font$byval_copy21+28>>2]=HEAP32[26760+28>>2]|0; ;HEAP32[$$byval_copy30>>2]=HEAP32[$11>>2]|0;HEAP32[$$byval_copy30+4>>2]=HEAP32[$11+4>>2]|0; ;HEAP8[$$byval_copy34>>0]=HEAP8[$12>>0]|0;HEAP8[$$byval_copy34+1>>0]=HEAP8[$12+1>>0]|0;HEAP8[$$byval_copy34+2>>0]=HEAP8[$12+2>>0]|0;HEAP8[$$byval_copy34+3>>0]=HEAP8[$12+3>>0]|0; - _DrawTextEx($font$byval_copy21,5928,$$byval_copy30,$50,2,$$byval_copy34); - $51 = HEAP32[5040>>2]|0; - $52 = (($51|0) / 30)&-1; - $53 = $52 & 1; - $54 = ($53|0)==(0); - if ($54) { + _DrawTextEx($font$byval_copy21,7445,$$byval_copy30,$52,2,$$byval_copy34); + $53 = HEAP32[7152]|0; + $54 = (($53|0) / 30)&-1; + $55 = $54 & 1; + $56 = ($55|0)==(0); + if ($56) { _DrawPlayer(); STACKTOP = sp;return; } - $55 = (_GetScreenWidth()|0); - $56 = (($55) + -280)|0; + $57 = (_GetScreenWidth()|0); + $58 = (($57) + -280)|0; HEAP8[$13>>0] = 0; - $57 = ((($13)) + 1|0); - HEAP8[$57>>0] = 0; - $58 = ((($13)) + 2|0); - HEAP8[$58>>0] = 0; - $59 = ((($13)) + 3|0); - HEAP8[$59>>0] = -1; + $59 = ((($13)) + 1|0); + HEAP8[$59>>0] = 0; + $60 = ((($13)) + 2|0); + HEAP8[$60>>0] = 0; + $61 = ((($13)) + 3|0); + HEAP8[$61>>0] = -1; ;HEAP8[$$byval_copy34>>0]=HEAP8[$13>>0]|0;HEAP8[$$byval_copy34+1>>0]=HEAP8[$13+1>>0]|0;HEAP8[$$byval_copy34+2>>0]=HEAP8[$13+2>>0]|0;HEAP8[$$byval_copy34+3>>0]=HEAP8[$13+3>>0]|0; - _DrawText(8608,$56,200,20,$$byval_copy34); + _DrawText(8619,$58,200,20,$$byval_copy34); _DrawPlayer(); STACKTOP = sp;return; - } else if ((($46|0) == 2)) { - $60 = HEAP32[5040>>2]|0; - $61 = (($60|0) / 30)&-1; - $62 = $61 & 1; - $63 = ($62|0)==(0); - if ($63) { + break; + } + case 2: { + $62 = HEAP32[7152]|0; + $63 = (($62|0) / 30)&-1; + $64 = $63 & 1; + $65 = ($64|0)==(0); + if ($65) { _DrawPlayer(); STACKTOP = sp;return; } HEAPF32[$14>>2] = 300.0; - $64 = ((($14)) + 4|0); - HEAPF32[$64>>2] = 95.0; - $65 = HEAP32[(68)>>2]|0; - $66 = $65 << 1; + $66 = ((($14)) + 4|0); + HEAPF32[$66>>2] = 95.0; + $67 = HEAP32[(26780)>>2]|0; + $68 = $67 << 1; + $69 = (+($68|0)); HEAP32[$15>>2] = -1; - dest=$font$byval_copy21; src=48; stop=dest+36|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + ;HEAP32[$font$byval_copy21>>2]=HEAP32[26760>>2]|0;HEAP32[$font$byval_copy21+4>>2]=HEAP32[26760+4>>2]|0;HEAP32[$font$byval_copy21+8>>2]=HEAP32[26760+8>>2]|0;HEAP32[$font$byval_copy21+12>>2]=HEAP32[26760+12>>2]|0;HEAP32[$font$byval_copy21+16>>2]=HEAP32[26760+16>>2]|0;HEAP32[$font$byval_copy21+20>>2]=HEAP32[26760+20>>2]|0;HEAP32[$font$byval_copy21+24>>2]=HEAP32[26760+24>>2]|0;HEAP32[$font$byval_copy21+28>>2]=HEAP32[26760+28>>2]|0; ;HEAP32[$$byval_copy30>>2]=HEAP32[$14>>2]|0;HEAP32[$$byval_copy30+4>>2]=HEAP32[$14+4>>2]|0; ;HEAP8[$$byval_copy34>>0]=HEAP8[$15>>0]|0;HEAP8[$$byval_copy34+1>>0]=HEAP8[$15+1>>0]|0;HEAP8[$$byval_copy34+2>>0]=HEAP8[$15+2>>0]|0;HEAP8[$$byval_copy34+3>>0]=HEAP8[$15+3>>0]|0; - _DrawTextEx($font$byval_copy21,8488,$$byval_copy30,$66,2,$$byval_copy34); + _DrawTextEx($font$byval_copy21,8538,$$byval_copy30,$69,2,$$byval_copy34); HEAP8[$17>>0] = -26; - $67 = ((($17)) + 1|0); - HEAP8[$67>>0] = 41; - $68 = ((($17)) + 2|0); - HEAP8[$68>>0] = 55; - $69 = ((($17)) + 3|0); - HEAP8[$69>>0] = -1; + $70 = ((($17)) + 1|0); + HEAP8[$70>>0] = 41; + $71 = ((($17)) + 2|0); + HEAP8[$71>>0] = 55; + $72 = ((($17)) + 3|0); + HEAP8[$72>>0] = -1; ;HEAP8[$$byval_copy34>>0]=HEAP8[$17>>0]|0;HEAP8[$$byval_copy34+1>>0]=HEAP8[$17+1>>0]|0;HEAP8[$$byval_copy34+2>>0]=HEAP8[$17+2>>0]|0;HEAP8[$$byval_copy34+3>>0]=HEAP8[$17+3>>0]|0; _Fade($16,$$byval_copy34,0.60000002384185791); - ;HEAP32[$$byval_copy30>>2]=HEAP32[(5540)>>2]|0;HEAP32[$$byval_copy30+4>>2]=HEAP32[(5540)+4>>2]|0;HEAP32[$$byval_copy30+8>>2]=HEAP32[(5540)+8>>2]|0;HEAP32[$$byval_copy30+12>>2]=HEAP32[(5540)+12>>2]|0; + ;HEAP32[$$byval_copy30>>2]=HEAP32[(28776)>>2]|0;HEAP32[$$byval_copy30+4>>2]=HEAP32[(28776)+4>>2]|0;HEAP32[$$byval_copy30+8>>2]=HEAP32[(28776)+8>>2]|0;HEAP32[$$byval_copy30+12>>2]=HEAP32[(28776)+12>>2]|0; ;HEAP8[$$byval_copy34>>0]=HEAP8[$16>>0]|0;HEAP8[$$byval_copy34+1>>0]=HEAP8[$16+1>>0]|0;HEAP8[$$byval_copy34+2>>0]=HEAP8[$16+2>>0]|0;HEAP8[$$byval_copy34+3>>0]=HEAP8[$16+3>>0]|0; _DrawRectangleRec($$byval_copy30,$$byval_copy34); HEAP8[$19>>0] = -26; - $70 = ((($19)) + 1|0); - HEAP8[$70>>0] = 41; - $71 = ((($19)) + 2|0); - HEAP8[$71>>0] = 55; - $72 = ((($19)) + 3|0); - HEAP8[$72>>0] = -1; + $73 = ((($19)) + 1|0); + HEAP8[$73>>0] = 41; + $74 = ((($19)) + 2|0); + HEAP8[$74>>0] = 55; + $75 = ((($19)) + 3|0); + HEAP8[$75>>0] = -1; ;HEAP8[$$byval_copy34>>0]=HEAP8[$19>>0]|0;HEAP8[$$byval_copy34+1>>0]=HEAP8[$19+1>>0]|0;HEAP8[$$byval_copy34+2>>0]=HEAP8[$19+2>>0]|0;HEAP8[$$byval_copy34+3>>0]=HEAP8[$19+3>>0]|0; _Fade($18,$$byval_copy34,0.60000002384185791); - ;HEAP32[$$byval_copy30>>2]=HEAP32[(5812)>>2]|0;HEAP32[$$byval_copy30+4>>2]=HEAP32[(5812)+4>>2]|0;HEAP32[$$byval_copy30+8>>2]=HEAP32[(5812)+8>>2]|0;HEAP32[$$byval_copy30+12>>2]=HEAP32[(5812)+12>>2]|0; + ;HEAP32[$$byval_copy30>>2]=HEAP32[(28960)>>2]|0;HEAP32[$$byval_copy30+4>>2]=HEAP32[(28960)+4>>2]|0;HEAP32[$$byval_copy30+8>>2]=HEAP32[(28960)+8>>2]|0;HEAP32[$$byval_copy30+12>>2]=HEAP32[(28960)+12>>2]|0; ;HEAP8[$$byval_copy34>>0]=HEAP8[$18>>0]|0;HEAP8[$$byval_copy34+1>>0]=HEAP8[$18+1>>0]|0;HEAP8[$$byval_copy34+2>>0]=HEAP8[$18+2>>0]|0;HEAP8[$$byval_copy34+3>>0]=HEAP8[$18+3>>0]|0; _DrawRectangleRec($$byval_copy30,$$byval_copy34); HEAP8[$21>>0] = -26; - $73 = ((($21)) + 1|0); - HEAP8[$73>>0] = 41; - $74 = ((($21)) + 2|0); - HEAP8[$74>>0] = 55; - $75 = ((($21)) + 3|0); - HEAP8[$75>>0] = -1; + $76 = ((($21)) + 1|0); + HEAP8[$76>>0] = 41; + $77 = ((($21)) + 2|0); + HEAP8[$77>>0] = 55; + $78 = ((($21)) + 3|0); + HEAP8[$78>>0] = -1; ;HEAP8[$$byval_copy34>>0]=HEAP8[$21>>0]|0;HEAP8[$$byval_copy34+1>>0]=HEAP8[$21+1>>0]|0;HEAP8[$$byval_copy34+2>>0]=HEAP8[$21+2>>0]|0;HEAP8[$$byval_copy34+3>>0]=HEAP8[$21+3>>0]|0; _Fade($20,$$byval_copy34,0.60000002384185791); - ;HEAP32[$$byval_copy30>>2]=HEAP32[(5676)>>2]|0;HEAP32[$$byval_copy30+4>>2]=HEAP32[(5676)+4>>2]|0;HEAP32[$$byval_copy30+8>>2]=HEAP32[(5676)+8>>2]|0;HEAP32[$$byval_copy30+12>>2]=HEAP32[(5676)+12>>2]|0; + ;HEAP32[$$byval_copy30>>2]=HEAP32[(28868)>>2]|0;HEAP32[$$byval_copy30+4>>2]=HEAP32[(28868)+4>>2]|0;HEAP32[$$byval_copy30+8>>2]=HEAP32[(28868)+8>>2]|0;HEAP32[$$byval_copy30+12>>2]=HEAP32[(28868)+12>>2]|0; ;HEAP8[$$byval_copy34>>0]=HEAP8[$20>>0]|0;HEAP8[$$byval_copy34+1>>0]=HEAP8[$20+1>>0]|0;HEAP8[$$byval_copy34+2>>0]=HEAP8[$20+2>>0]|0;HEAP8[$$byval_copy34+3>>0]=HEAP8[$20+3>>0]|0; _DrawRectangleRec($$byval_copy30,$$byval_copy34); _DrawPlayer(); STACKTOP = sp;return; - } else { - $76 = HEAP32[5016>>2]|0; - $77 = ($76|0)==(0); - if ($77) { + break; + } + default: { + $79 = HEAP32[7150]|0; + $80 = ($79|0)==(0); + if ($80) { _DrawPlayer(); STACKTOP = sp;return; } - $78 = HEAP32[5040>>2]|0; - $79 = (($78|0) / 30)&-1; - $80 = $79 & 1; - $81 = ($80|0)==(0); - if ($81) { + $81 = HEAP32[7152]|0; + $82 = (($81|0) / 30)&-1; + $83 = $82 & 1; + $84 = ($83|0)==(0); + if ($84) { _DrawPlayer(); STACKTOP = sp;return; } - $82 = (_GetScreenWidth()|0); + $85 = (_GetScreenWidth()|0); HEAP8[$23>>0] = -56; - $83 = ((($23)) + 1|0); - HEAP8[$83>>0] = -56; - $84 = ((($23)) + 2|0); - HEAP8[$84>>0] = -56; - $85 = ((($23)) + 3|0); - HEAP8[$85>>0] = -1; + $86 = ((($23)) + 1|0); + HEAP8[$86>>0] = -56; + $87 = ((($23)) + 2|0); + HEAP8[$87>>0] = -56; + $88 = ((($23)) + 3|0); + HEAP8[$88>>0] = -1; ;HEAP8[$$byval_copy34>>0]=HEAP8[$23>>0]|0;HEAP8[$$byval_copy34+1>>0]=HEAP8[$23+1>>0]|0;HEAP8[$$byval_copy34+2>>0]=HEAP8[$23+2>>0]|0;HEAP8[$$byval_copy34+3>>0]=HEAP8[$23+3>>0]|0; _Fade($22,$$byval_copy34,0.5); ;HEAP8[$$byval_copy34>>0]=HEAP8[$22>>0]|0;HEAP8[$$byval_copy34+1>>0]=HEAP8[$22+1>>0]|0;HEAP8[$$byval_copy34+2>>0]=HEAP8[$22+2>>0]|0;HEAP8[$$byval_copy34+3>>0]=HEAP8[$22+3>>0]|0; - _DrawRectangle(0,0,$82,50,$$byval_copy34); + _DrawRectangle(0,0,$85,50,$$byval_copy34); HEAP8[$24>>0] = 0; - $86 = ((($24)) + 1|0); - HEAP8[$86>>0] = 0; - $87 = ((($24)) + 2|0); - HEAP8[$87>>0] = 0; - $88 = ((($24)) + 3|0); - HEAP8[$88>>0] = -1; + $89 = ((($24)) + 1|0); + HEAP8[$89>>0] = 0; + $90 = ((($24)) + 2|0); + HEAP8[$90>>0] = 0; + $91 = ((($24)) + 3|0); + HEAP8[$91>>0] = -1; ;HEAP8[$$byval_copy34>>0]=HEAP8[$24>>0]|0;HEAP8[$$byval_copy34+1>>0]=HEAP8[$24+1>>0]|0;HEAP8[$$byval_copy34+2>>0]=HEAP8[$24+2>>0]|0;HEAP8[$$byval_copy34+3>>0]=HEAP8[$24+3>>0]|0; - _DrawText(8504,420,15,20,$$byval_copy34); + _DrawText(8553,420,15,20,$$byval_copy34); _DrawPlayer(); STACKTOP = sp;return; } + } } function _UnloadLivingroomScreen() { var $phone$byval_copy = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 96|0; + STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0); $phone$byval_copy = sp; - ;HEAP32[$phone$byval_copy>>2]=HEAP32[5376>>2]|0;HEAP32[$phone$byval_copy+4>>2]=HEAP32[5376+4>>2]|0;HEAP32[$phone$byval_copy+8>>2]=HEAP32[5376+8>>2]|0;HEAP32[$phone$byval_copy+12>>2]=HEAP32[5376+12>>2]|0;HEAP32[$phone$byval_copy+16>>2]=HEAP32[5376+16>>2]|0; + ;HEAP32[$phone$byval_copy>>2]=HEAP32[28624>>2]|0;HEAP32[$phone$byval_copy+4>>2]=HEAP32[28624+4>>2]|0;HEAP32[$phone$byval_copy+8>>2]=HEAP32[28624+8>>2]|0;HEAP32[$phone$byval_copy+12>>2]=HEAP32[28624+12>>2]|0;HEAP32[$phone$byval_copy+16>>2]=HEAP32[28624+16>>2]|0; _UnloadTexture($phone$byval_copy); - dest=$phone$byval_copy; src=5512; stop=dest+92|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$phone$byval_copy; src=28748; stop=dest+92|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _UnloadMonster($phone$byval_copy); - dest=$phone$byval_copy; src=5648; stop=dest+92|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$phone$byval_copy; src=28840; stop=dest+92|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _UnloadMonster($phone$byval_copy); - dest=$phone$byval_copy; src=5784; stop=dest+92|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$phone$byval_copy; src=28932; stop=dest+92|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _UnloadMonster($phone$byval_copy); STACKTOP = sp;return; } function _FinishLivingroomScreen() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[5320>>2]|0; + $0 = HEAP32[7155]|0; return ($0|0); } function _InitKitchenScreen() { - var $0 = 0, $1 = 0, $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0.0, $25 = 0, $26 = 0.0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0.0, $33 = 0.0, $34 = 0, $35 = 0.0, $36 = 0.0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0.0, $43 = 0.0, $44 = 0; - var $45 = 0.0, $46 = 0.0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0.0, $53 = 0.0, $54 = 0, $55 = 0.0, $56 = 0.0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $7 = 0; - var $8 = 0, $9 = 0, label = 0, sp = 0; + var $0 = 0, $1 = 0, $10 = 0.0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0.0, $22 = 0, $23 = 0.0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0.0, $3 = 0, $30 = 0.0, $31 = 0, $32 = 0.0, $33 = 0.0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0.0, $4 = 0, $40 = 0.0, $41 = 0, $42 = 0.0, $43 = 0.0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0.0, $5 = 0, $50 = 0.0, $51 = 0, $52 = 0.0, $53 = 0.0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0, label = 0; + var sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 80|0; + STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0); $0 = sp + 60|0; - $1 = sp; + $1 = sp + 40|0; $2 = sp + 20|0; - $3 = sp + 40|0; + $3 = sp; _ResetPlayer(); - HEAP32[6184>>2] = 0; - HEAP32[6192>>2] = -1; - HEAP32[6200>>2] = 0; - HEAP32[6208>>2] = 0; - HEAP32[6216>>2] = 0; - _memset((6224|0),0,256)|0; - HEAP32[6480>>2] = 0; - HEAP32[6488>>2] = 0; - _LoadTexture($0,6496); - ;HEAP32[6544>>2]=HEAP32[$0>>2]|0;HEAP32[6544+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[6544+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[6544+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[6544+16>>2]=HEAP32[$0+16>>2]|0; - HEAPF32[6568>>2] = -45.0; - HEAPF32[(6572)>>2] = 136.0; - HEAP32[(6576)>>2] = 0; - HEAP32[(6580)>>2] = 1; - $4 = HEAP32[(92)>>2]|0; + HEAP32[7257] = 0; + HEAP32[13] = -1; + HEAP32[7258] = 0; + HEAP32[7259] = 0; + HEAP32[7260] = 0; + _memset((35064|0),0,256)|0; + HEAP32[7261] = 0; + HEAP32[7262] = 0; + _LoadTexture($0,7701); + ;HEAP32[29052>>2]=HEAP32[$0>>2]|0;HEAP32[29052+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[29052+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[29052+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[29052+16>>2]=HEAP32[$0+16>>2]|0; + HEAPF32[7268] = -45.0; + HEAPF32[(29076)>>2] = 136.0; + HEAP32[(29080)>>2] = 0; + HEAP32[(29084)>>2] = 1; + $4 = HEAP32[(26796)>>2]|0; $5 = (($4|0) / 3)&-1; - $6 = HEAP32[(6576)>>2]|0; - $7 = Math_imul($6, $5)|0; - $8 = HEAP32[(96)>>2]|0; - $9 = (($8|0) / 2)&-1; - HEAP32[(6588)>>2] = $7; - HEAP32[(6592)>>2] = $9; - HEAP32[(6596)>>2] = $5; - HEAP32[(6600)>>2] = $9; - $10 = +HEAPF32[6568>>2]; + $6 = HEAP32[(26800)>>2]|0; + $7 = (($6|0) / 2)&-1; + HEAP32[(29092)>>2] = 0; + HEAP32[(29096)>>2] = $7; + HEAP32[(29100)>>2] = $5; + HEAP32[(29104)>>2] = $7; + $8 = +HEAPF32[7268]; + $9 = (~~(($8))); + $10 = +HEAPF32[(29076)>>2]; $11 = (~~(($10))); - $12 = +HEAPF32[(6572)>>2]; - $13 = (~~(($12))); - $14 = HEAP32[(92)>>2]|0; - $15 = (($14|0) / 3)&-1; - $16 = HEAP32[(96)>>2]|0; - $17 = (($16|0) / 2)&-1; - HEAP32[(6604)>>2] = $11; - HEAP32[(6608)>>2] = $13; - HEAP32[(6612)>>2] = $15; - HEAP32[(6616)>>2] = $17; - HEAP32[(6584)>>2] = 0; - HEAPF32[6624>>2] = 1090.0; - HEAPF32[(6628)>>2] = 148.0; - HEAP32[(6632)>>2] = 2; - HEAP32[(6636)>>2] = 1; - $18 = HEAP32[(92)>>2]|0; - $19 = (($18|0) / 3)&-1; - $20 = HEAP32[(6632)>>2]|0; - $21 = Math_imul($20, $19)|0; - $22 = HEAP32[(96)>>2]|0; - $23 = (($22|0) / 2)&-1; - HEAP32[(6644)>>2] = $21; - HEAP32[(6648)>>2] = $23; - HEAP32[(6652)>>2] = $19; - HEAP32[(6656)>>2] = $23; - $24 = +HEAPF32[6624>>2]; - $25 = (~~(($24))); - $26 = +HEAPF32[(6628)>>2]; - $27 = (~~(($26))); - $28 = HEAP32[(92)>>2]|0; - $29 = (($28|0) / 3)&-1; - $30 = HEAP32[(96)>>2]|0; - $31 = (($30|0) / 2)&-1; - HEAP32[(6660)>>2] = $25; - HEAP32[(6664)>>2] = $27; - HEAP32[(6668)>>2] = $29; - HEAP32[(6672)>>2] = $31; - HEAP32[(6640)>>2] = 0; - HEAPF32[6680>>2] = 280.0; - HEAPF32[(6684)>>2] = 260.0; - _LoadTexture($1,6776); - ;HEAP32[(6688)>>2]=HEAP32[$1>>2]|0;HEAP32[(6688)+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[(6688)+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[(6688)+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[(6688)+16>>2]=HEAP32[$1+16>>2]|0; - HEAP32[(6748)>>2] = 0; - HEAP32[(6744)>>2] = 0; - HEAP32[(6756)>>2] = 4; - $32 = +HEAPF32[6680>>2]; - $33 = $32 + 100.0; + $12 = HEAP32[(26796)>>2]|0; + $13 = (($12|0) / 3)&-1; + $14 = HEAP32[(26800)>>2]|0; + $15 = (($14|0) / 2)&-1; + HEAP32[(29108)>>2] = $9; + HEAP32[(29112)>>2] = $11; + HEAP32[(29116)>>2] = $13; + HEAP32[(29120)>>2] = $15; + HEAP32[(29088)>>2] = 0; + HEAPF32[7281] = 1090.0; + HEAPF32[(29128)>>2] = 148.0; + HEAP32[(29132)>>2] = 2; + HEAP32[(29136)>>2] = 1; + $16 = HEAP32[(26796)>>2]|0; + $17 = (($16|0) / 3)&-1; + $18 = $17 << 1; + $19 = HEAP32[(26800)>>2]|0; + $20 = (($19|0) / 2)&-1; + HEAP32[(29144)>>2] = $18; + HEAP32[(29148)>>2] = $20; + HEAP32[(29152)>>2] = $17; + HEAP32[(29156)>>2] = $20; + $21 = +HEAPF32[7281]; + $22 = (~~(($21))); + $23 = +HEAPF32[(29128)>>2]; + $24 = (~~(($23))); + $25 = HEAP32[(26796)>>2]|0; + $26 = (($25|0) / 3)&-1; + $27 = HEAP32[(26800)>>2]|0; + $28 = (($27|0) / 2)&-1; + HEAP32[(29160)>>2] = $22; + HEAP32[(29164)>>2] = $24; + HEAP32[(29168)>>2] = $26; + HEAP32[(29172)>>2] = $28; + HEAP32[(29140)>>2] = 0; + HEAPF32[7294] = 280.0; + HEAPF32[(29180)>>2] = 260.0; + _LoadTexture($1,7743); + ;HEAP32[(29184)>>2]=HEAP32[$1>>2]|0;HEAP32[(29184)+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[(29184)+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[(29184)+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[(29184)+16>>2]=HEAP32[$1+16>>2]|0; + HEAP32[(29244)>>2] = 0; + HEAP32[(29240)>>2] = 0; + HEAP32[(29252)>>2] = 4; + $29 = +HEAPF32[7294]; + $30 = $29 + 100.0; + $31 = (~~(($30))); + $32 = +HEAPF32[(29180)>>2]; + $33 = $32 + 25.0; $34 = (~~(($33))); - $35 = +HEAPF32[(6684)>>2]; - $36 = $35 + 25.0; - $37 = (~~(($36))); - HEAP32[(6708)>>2] = $34; - HEAP32[(6712)>>2] = $37; - HEAP32[(6716)>>2] = 272; - HEAP32[(6720)>>2] = 348; - $38 = HEAP32[(6692)>>2]|0; - $39 = HEAP32[(6756)>>2]|0; - $40 = (($38|0) / ($39|0))&-1; - $41 = HEAP32[(6696)>>2]|0; - HEAP32[(6724)>>2] = 0; - HEAP32[(6728)>>2] = 0; - HEAP32[(6732)>>2] = $40; - HEAP32[(6736)>>2] = $41; - HEAP32[(6764)>>2] = 0; - HEAP32[(6760)>>2] = 0; - HEAP32[(6768)>>2] = 1; - HEAPF32[6816>>2] = 230.0; - HEAPF32[(6820)>>2] = 410.0; - _LoadTexture($2,6912); - ;HEAP32[(6824)>>2]=HEAP32[$2>>2]|0;HEAP32[(6824)+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[(6824)+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[(6824)+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[(6824)+16>>2]=HEAP32[$2+16>>2]|0; - HEAP32[(6884)>>2] = 0; - HEAP32[(6880)>>2] = 0; - HEAP32[(6892)>>2] = 4; - $42 = +HEAPF32[6816>>2]; - $43 = $42 + 30.0; + HEAP32[(29204)>>2] = $31; + HEAP32[(29208)>>2] = $34; + HEAP32[(29212)>>2] = 272; + HEAP32[(29216)>>2] = 348; + $35 = HEAP32[(29188)>>2]|0; + $36 = HEAP32[(29252)>>2]|0; + $37 = (($35|0) / ($36|0))&-1; + $38 = HEAP32[(29192)>>2]|0; + HEAP32[(29220)>>2] = 0; + HEAP32[(29224)>>2] = 0; + HEAP32[(29228)>>2] = $37; + HEAP32[(29232)>>2] = $38; + HEAP32[(29260)>>2] = 0; + HEAP32[(29256)>>2] = 0; + HEAP32[(29264)>>2] = 1; + HEAPF32[7317] = 230.0; + HEAPF32[(29272)>>2] = 410.0; + _LoadTexture($2,7781); + ;HEAP32[(29276)>>2]=HEAP32[$2>>2]|0;HEAP32[(29276)+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[(29276)+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[(29276)+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[(29276)+16>>2]=HEAP32[$2+16>>2]|0; + HEAP32[(29336)>>2] = 0; + HEAP32[(29332)>>2] = 0; + HEAP32[(29344)>>2] = 4; + $39 = +HEAPF32[7317]; + $40 = $39 + 30.0; + $41 = (~~(($40))); + $42 = +HEAPF32[(29272)>>2]; + $43 = $42 + 60.0; $44 = (~~(($43))); - $45 = +HEAPF32[(6820)>>2]; - $46 = $45 + 60.0; - $47 = (~~(($46))); - HEAP32[(6844)>>2] = $44; - HEAP32[(6848)>>2] = $47; - HEAP32[(6852)>>2] = 100; - HEAP32[(6856)>>2] = 160; - $48 = HEAP32[(6828)>>2]|0; - $49 = HEAP32[(6892)>>2]|0; - $50 = (($48|0) / ($49|0))&-1; - $51 = HEAP32[(6832)>>2]|0; - HEAP32[(6860)>>2] = 0; - HEAP32[(6864)>>2] = 0; - HEAP32[(6868)>>2] = $50; - HEAP32[(6872)>>2] = $51; - HEAP32[(6900)>>2] = 0; - HEAP32[(6896)>>2] = 0; - HEAP32[(6904)>>2] = 1; - HEAPF32[6960>>2] = 715.0; - HEAPF32[(6964)>>2] = 88.0; - _LoadTexture($3,7056); - ;HEAP32[(6968)>>2]=HEAP32[$3>>2]|0;HEAP32[(6968)+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[(6968)+8>>2]=HEAP32[$3+8>>2]|0;HEAP32[(6968)+12>>2]=HEAP32[$3+12>>2]|0;HEAP32[(6968)+16>>2]=HEAP32[$3+16>>2]|0; - HEAP32[(7028)>>2] = 0; - HEAP32[(7024)>>2] = 0; - HEAP32[(7036)>>2] = 4; - $52 = +HEAPF32[6960>>2]; - $53 = $52 + 100.0; + HEAP32[(29296)>>2] = $41; + HEAP32[(29300)>>2] = $44; + HEAP32[(29304)>>2] = 100; + HEAP32[(29308)>>2] = 160; + $45 = HEAP32[(29280)>>2]|0; + $46 = HEAP32[(29344)>>2]|0; + $47 = (($45|0) / ($46|0))&-1; + $48 = HEAP32[(29284)>>2]|0; + HEAP32[(29312)>>2] = 0; + HEAP32[(29316)>>2] = 0; + HEAP32[(29320)>>2] = $47; + HEAP32[(29324)>>2] = $48; + HEAP32[(29352)>>2] = 0; + HEAP32[(29348)>>2] = 0; + HEAP32[(29356)>>2] = 1; + HEAPF32[7340] = 715.0; + HEAPF32[(29364)>>2] = 88.0; + _LoadTexture($3,7823); + ;HEAP32[(29368)>>2]=HEAP32[$3>>2]|0;HEAP32[(29368)+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[(29368)+8>>2]=HEAP32[$3+8>>2]|0;HEAP32[(29368)+12>>2]=HEAP32[$3+12>>2]|0;HEAP32[(29368)+16>>2]=HEAP32[$3+16>>2]|0; + HEAP32[(29428)>>2] = 0; + HEAP32[(29424)>>2] = 0; + HEAP32[(29436)>>2] = 4; + $49 = +HEAPF32[7340]; + $50 = $49 + 100.0; + $51 = (~~(($50))); + $52 = +HEAPF32[(29364)>>2]; + $53 = $52 + 10.0; $54 = (~~(($53))); - $55 = +HEAPF32[(6964)>>2]; - $56 = $55 + 10.0; - $57 = (~~(($56))); - HEAP32[(6988)>>2] = $54; - HEAP32[(6992)>>2] = $57; - HEAP32[(6996)>>2] = 200; - HEAP32[(7000)>>2] = 370; - $58 = HEAP32[(6972)>>2]|0; - $59 = HEAP32[(7036)>>2]|0; - $60 = (($58|0) / ($59|0))&-1; - $61 = HEAP32[(6976)>>2]|0; - HEAP32[(7004)>>2] = 0; - HEAP32[(7008)>>2] = 0; - HEAP32[(7012)>>2] = $60; - HEAP32[(7016)>>2] = $61; - HEAP32[(7044)>>2] = 0; - HEAP32[(7040)>>2] = 0; - HEAP32[(7048)>>2] = 0; + HEAP32[(29388)>>2] = $51; + HEAP32[(29392)>>2] = $54; + HEAP32[(29396)>>2] = 200; + HEAP32[(29400)>>2] = 370; + $55 = HEAP32[(29372)>>2]|0; + $56 = HEAP32[(29436)>>2]|0; + $57 = (($55|0) / ($56|0))&-1; + $58 = HEAP32[(29376)>>2]|0; + HEAP32[(29404)>>2] = 0; + HEAP32[(29408)>>2] = 0; + HEAP32[(29412)>>2] = $57; + HEAP32[(29416)>>2] = $58; + HEAP32[(29444)>>2] = 0; + HEAP32[(29440)>>2] = 0; + HEAP32[(29448)>>2] = 0; STACKTOP = sp;return; } function _UpdateKitchenScreen() { - var $$15 = 0, $$byval_copy31 = 0, $$pr = 0, $$pr16 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0; - var $112 = 0, $113 = 0, $114 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; - var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; - var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0; - var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0; - var $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $i$018 = 0; - var $or$cond = 0, $or$cond11 = 0, $or$cond3 = 0, $or$cond5 = 0, $or$cond7 = 0, $or$cond9 = 0, $sndScream$byval_copy34 = 0, $storemerge = 0, label = 0, sp = 0; + var $$023 = 0, $$byval_copy31 = 0, $$pr = 0, $$pr21 = 0, $$sink12 = 0, $$sink13 = 0, $$sink5 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0; + var $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; + var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; + var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0; + var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0; + var $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0; + var $99 = 0, $or$cond = 0, $or$cond11 = 0, $or$cond15 = 0, $or$cond4 = 0, $or$cond7 = 0, $or$cond9 = 0, $sndScream$byval_copy34 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 96|0; + STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0); $sndScream$byval_copy34 = sp + 72|0; - $$byval_copy31 = sp + 56|0; - $0 = sp + 48|0; - $1 = sp + 40|0; + $$byval_copy31 = sp + 40|0; + $0 = sp + 64|0; + $1 = sp + 56|0; $2 = sp + 32|0; - $3 = sp + 16|0; - $4 = sp + 8|0; - $5 = sp; - $6 = sp + 24|0; - $7 = HEAP32[(208)>>2]|0; + $3 = sp + 24|0; + $4 = sp + 16|0; + $5 = sp + 8|0; + $6 = sp; + $7 = HEAP32[(26912)>>2]|0; $8 = ($7|0)==(0); do { if (!($8)) { _GetMousePosition($0); ;HEAP32[$$byval_copy31>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy31+4>>2]=HEAP32[$0+4>>2]|0; - ;HEAP32[$sndScream$byval_copy34>>2]=HEAP32[(6604)>>2]|0;HEAP32[$sndScream$byval_copy34+4>>2]=HEAP32[(6604)+4>>2]|0;HEAP32[$sndScream$byval_copy34+8>>2]=HEAP32[(6604)+8>>2]|0;HEAP32[$sndScream$byval_copy34+12>>2]=HEAP32[(6604)+12>>2]|0; + ;HEAP32[$sndScream$byval_copy34>>2]=HEAP32[(29108)>>2]|0;HEAP32[$sndScream$byval_copy34+4>>2]=HEAP32[(29108)+4>>2]|0;HEAP32[$sndScream$byval_copy34+8>>2]=HEAP32[(29108)+8>>2]|0;HEAP32[$sndScream$byval_copy34+12>>2]=HEAP32[(29108)+12>>2]|0; $9 = (_CheckCollisionPointRec($$byval_copy31,$sndScream$byval_copy34)|0); $10 = ($9|0)==(0); if ($10) { - ;HEAP32[$$byval_copy31>>2]=HEAP32[(144)>>2]|0;HEAP32[$$byval_copy31+4>>2]=HEAP32[(144)+4>>2]|0;HEAP32[$$byval_copy31+8>>2]=HEAP32[(144)+8>>2]|0;HEAP32[$$byval_copy31+12>>2]=HEAP32[(144)+12>>2]|0; - ;HEAP32[$sndScream$byval_copy34>>2]=HEAP32[(6604)>>2]|0;HEAP32[$sndScream$byval_copy34+4>>2]=HEAP32[(6604)+4>>2]|0;HEAP32[$sndScream$byval_copy34+8>>2]=HEAP32[(6604)+8>>2]|0;HEAP32[$sndScream$byval_copy34+12>>2]=HEAP32[(6604)+12>>2]|0; + ;HEAP32[$$byval_copy31>>2]=HEAP32[(26848)>>2]|0;HEAP32[$$byval_copy31+4>>2]=HEAP32[(26848)+4>>2]|0;HEAP32[$$byval_copy31+8>>2]=HEAP32[(26848)+8>>2]|0;HEAP32[$$byval_copy31+12>>2]=HEAP32[(26848)+12>>2]|0; + ;HEAP32[$sndScream$byval_copy34>>2]=HEAP32[(29108)>>2]|0;HEAP32[$sndScream$byval_copy34+4>>2]=HEAP32[(29108)+4>>2]|0;HEAP32[$sndScream$byval_copy34+8>>2]=HEAP32[(29108)+8>>2]|0;HEAP32[$sndScream$byval_copy34+12>>2]=HEAP32[(29108)+12>>2]|0; $11 = (_CheckCollisionRecs($$byval_copy31,$sndScream$byval_copy34)|0); $12 = ($11|0)==(0); if ($12) { - HEAP32[(6584)>>2] = 0; + HEAP32[(29088)>>2] = 0; } else { label = 5; } @@ -17654,9 +17328,9 @@ function _UpdateKitchenScreen() { } do { if ((label|0) == 5) { - HEAP32[(6584)>>2] = 1; - ;HEAP32[$$byval_copy31>>2]=HEAP32[(144)>>2]|0;HEAP32[$$byval_copy31+4>>2]=HEAP32[(144)+4>>2]|0;HEAP32[$$byval_copy31+8>>2]=HEAP32[(144)+8>>2]|0;HEAP32[$$byval_copy31+12>>2]=HEAP32[(144)+12>>2]|0; - ;HEAP32[$sndScream$byval_copy34>>2]=HEAP32[(6604)>>2]|0;HEAP32[$sndScream$byval_copy34+4>>2]=HEAP32[(6604)+4>>2]|0;HEAP32[$sndScream$byval_copy34+8>>2]=HEAP32[(6604)+8>>2]|0;HEAP32[$sndScream$byval_copy34+12>>2]=HEAP32[(6604)+12>>2]|0; + HEAP32[(29088)>>2] = 1; + ;HEAP32[$$byval_copy31>>2]=HEAP32[(26848)>>2]|0;HEAP32[$$byval_copy31+4>>2]=HEAP32[(26848)+4>>2]|0;HEAP32[$$byval_copy31+8>>2]=HEAP32[(26848)+8>>2]|0;HEAP32[$$byval_copy31+12>>2]=HEAP32[(26848)+12>>2]|0; + ;HEAP32[$sndScream$byval_copy34>>2]=HEAP32[(29108)>>2]|0;HEAP32[$sndScream$byval_copy34+4>>2]=HEAP32[(29108)+4>>2]|0;HEAP32[$sndScream$byval_copy34+8>>2]=HEAP32[(29108)+8>>2]|0;HEAP32[$sndScream$byval_copy34+12>>2]=HEAP32[(29108)+12>>2]|0; $13 = (_CheckCollisionRecs($$byval_copy31,$sndScream$byval_copy34)|0); $14 = ($13|0)==(0); if (!($14)) { @@ -17667,7 +17341,7 @@ function _UpdateKitchenScreen() { } else { _GetMousePosition($1); ;HEAP32[$$byval_copy31>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy31+4>>2]=HEAP32[$1+4>>2]|0; - ;HEAP32[$sndScream$byval_copy34>>2]=HEAP32[(6604)>>2]|0;HEAP32[$sndScream$byval_copy34+4>>2]=HEAP32[(6604)+4>>2]|0;HEAP32[$sndScream$byval_copy34+8>>2]=HEAP32[(6604)+8>>2]|0;HEAP32[$sndScream$byval_copy34+12>>2]=HEAP32[(6604)+12>>2]|0; + ;HEAP32[$sndScream$byval_copy34>>2]=HEAP32[(29108)>>2]|0;HEAP32[$sndScream$byval_copy34+4>>2]=HEAP32[(29108)+4>>2]|0;HEAP32[$sndScream$byval_copy34+8>>2]=HEAP32[(29108)+8>>2]|0;HEAP32[$sndScream$byval_copy34+12>>2]=HEAP32[(29108)+12>>2]|0; $17 = (_CheckCollisionPointRec($$byval_copy31,$sndScream$byval_copy34)|0); $18 = ($17|0)==(0); if ($18) { @@ -17681,15 +17355,15 @@ function _UpdateKitchenScreen() { break; } } - $21 = HEAP32[(6580)>>2]|0; + $21 = HEAP32[(29084)>>2]|0; $22 = ($21|0)==(0); if ($22) { - HEAP32[6488>>2] = 1; + HEAP32[7262] = 1; break; } else { - HEAP32[(6592)>>2] = 0; - HEAP32[(6580)>>2] = 0; - ;HEAP32[$sndScream$byval_copy34>>2]=HEAP32[112>>2]|0;HEAP32[$sndScream$byval_copy34+4>>2]=HEAP32[112+4>>2]|0; + HEAP32[(29096)>>2] = 0; + HEAP32[(29084)>>2] = 0; + ;HEAP32[$sndScream$byval_copy34>>2]=HEAP32[26812>>2]|0;HEAP32[$sndScream$byval_copy34+4>>2]=HEAP32[26812+4>>2]|0;HEAP32[$sndScream$byval_copy34+8>>2]=HEAP32[26812+8>>2]|0; _PlaySound($sndScream$byval_copy34); break; } @@ -17698,22 +17372,22 @@ function _UpdateKitchenScreen() { } while(0); _GetMousePosition($2); ;HEAP32[$$byval_copy31>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy31+4>>2]=HEAP32[$2+4>>2]|0; - ;HEAP32[$sndScream$byval_copy34>>2]=HEAP32[(6660)>>2]|0;HEAP32[$sndScream$byval_copy34+4>>2]=HEAP32[(6660)+4>>2]|0;HEAP32[$sndScream$byval_copy34+8>>2]=HEAP32[(6660)+8>>2]|0;HEAP32[$sndScream$byval_copy34+12>>2]=HEAP32[(6660)+12>>2]|0; + ;HEAP32[$sndScream$byval_copy34>>2]=HEAP32[(29160)>>2]|0;HEAP32[$sndScream$byval_copy34+4>>2]=HEAP32[(29160)+4>>2]|0;HEAP32[$sndScream$byval_copy34+8>>2]=HEAP32[(29160)+8>>2]|0;HEAP32[$sndScream$byval_copy34+12>>2]=HEAP32[(29160)+12>>2]|0; $23 = (_CheckCollisionPointRec($$byval_copy31,$sndScream$byval_copy34)|0); $24 = ($23|0)==(0); if ($24) { - ;HEAP32[$$byval_copy31>>2]=HEAP32[(144)>>2]|0;HEAP32[$$byval_copy31+4>>2]=HEAP32[(144)+4>>2]|0;HEAP32[$$byval_copy31+8>>2]=HEAP32[(144)+8>>2]|0;HEAP32[$$byval_copy31+12>>2]=HEAP32[(144)+12>>2]|0; - ;HEAP32[$sndScream$byval_copy34>>2]=HEAP32[(6660)>>2]|0;HEAP32[$sndScream$byval_copy34+4>>2]=HEAP32[(6660)+4>>2]|0;HEAP32[$sndScream$byval_copy34+8>>2]=HEAP32[(6660)+8>>2]|0;HEAP32[$sndScream$byval_copy34+12>>2]=HEAP32[(6660)+12>>2]|0; + ;HEAP32[$$byval_copy31>>2]=HEAP32[(26848)>>2]|0;HEAP32[$$byval_copy31+4>>2]=HEAP32[(26848)+4>>2]|0;HEAP32[$$byval_copy31+8>>2]=HEAP32[(26848)+8>>2]|0;HEAP32[$$byval_copy31+12>>2]=HEAP32[(26848)+12>>2]|0; + ;HEAP32[$sndScream$byval_copy34>>2]=HEAP32[(29160)>>2]|0;HEAP32[$sndScream$byval_copy34+4>>2]=HEAP32[(29160)+4>>2]|0;HEAP32[$sndScream$byval_copy34+8>>2]=HEAP32[(29160)+8>>2]|0;HEAP32[$sndScream$byval_copy34+12>>2]=HEAP32[(29160)+12>>2]|0; $25 = (_CheckCollisionRecs($$byval_copy31,$sndScream$byval_copy34)|0); $26 = ($25|0)==(0); if ($26) { - HEAP32[(6640)>>2] = 0; + HEAP32[(29140)>>2] = 0; break; } } - HEAP32[(6640)>>2] = 1; - ;HEAP32[$$byval_copy31>>2]=HEAP32[(144)>>2]|0;HEAP32[$$byval_copy31+4>>2]=HEAP32[(144)+4>>2]|0;HEAP32[$$byval_copy31+8>>2]=HEAP32[(144)+8>>2]|0;HEAP32[$$byval_copy31+12>>2]=HEAP32[(144)+12>>2]|0; - ;HEAP32[$sndScream$byval_copy34>>2]=HEAP32[(6660)>>2]|0;HEAP32[$sndScream$byval_copy34+4>>2]=HEAP32[(6660)+4>>2]|0;HEAP32[$sndScream$byval_copy34+8>>2]=HEAP32[(6660)+8>>2]|0;HEAP32[$sndScream$byval_copy34+12>>2]=HEAP32[(6660)+12>>2]|0; + HEAP32[(29140)>>2] = 1; + ;HEAP32[$$byval_copy31>>2]=HEAP32[(26848)>>2]|0;HEAP32[$$byval_copy31+4>>2]=HEAP32[(26848)+4>>2]|0;HEAP32[$$byval_copy31+8>>2]=HEAP32[(26848)+8>>2]|0;HEAP32[$$byval_copy31+12>>2]=HEAP32[(26848)+12>>2]|0; + ;HEAP32[$sndScream$byval_copy34>>2]=HEAP32[(29160)>>2]|0;HEAP32[$sndScream$byval_copy34+4>>2]=HEAP32[(29160)+4>>2]|0;HEAP32[$sndScream$byval_copy34+8>>2]=HEAP32[(29160)+8>>2]|0;HEAP32[$sndScream$byval_copy34+12>>2]=HEAP32[(29160)+12>>2]|0; $27 = (_CheckCollisionRecs($$byval_copy31,$sndScream$byval_copy34)|0); $28 = ($27|0)==(0); if (!($28)) { @@ -17724,7 +17398,7 @@ function _UpdateKitchenScreen() { } else { _GetMousePosition($3); ;HEAP32[$$byval_copy31>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy31+4>>2]=HEAP32[$3+4>>2]|0; - ;HEAP32[$sndScream$byval_copy34>>2]=HEAP32[(6660)>>2]|0;HEAP32[$sndScream$byval_copy34+4>>2]=HEAP32[(6660)+4>>2]|0;HEAP32[$sndScream$byval_copy34+8>>2]=HEAP32[(6660)+8>>2]|0;HEAP32[$sndScream$byval_copy34+12>>2]=HEAP32[(6660)+12>>2]|0; + ;HEAP32[$sndScream$byval_copy34>>2]=HEAP32[(29160)>>2]|0;HEAP32[$sndScream$byval_copy34+4>>2]=HEAP32[(29160)+4>>2]|0;HEAP32[$sndScream$byval_copy34+8>>2]=HEAP32[(29160)+8>>2]|0;HEAP32[$sndScream$byval_copy34+12>>2]=HEAP32[(29160)+12>>2]|0; $31 = (_CheckCollisionPointRec($$byval_copy31,$sndScream$byval_copy34)|0); $32 = ($31|0)==(0); if ($32) { @@ -17738,339 +17412,371 @@ function _UpdateKitchenScreen() { break; } } - $35 = HEAP32[(6636)>>2]|0; + $35 = HEAP32[(29136)>>2]|0; $36 = ($35|0)==(0); if ($36) { - HEAP32[6488>>2] = 2; + HEAP32[7262] = 2; break; } else { - HEAP32[(6648)>>2] = 0; - HEAP32[(6636)>>2] = 0; - ;HEAP32[$sndScream$byval_copy34>>2]=HEAP32[112>>2]|0;HEAP32[$sndScream$byval_copy34+4>>2]=HEAP32[112+4>>2]|0; + HEAP32[(29148)>>2] = 0; + HEAP32[(29136)>>2] = 0; + ;HEAP32[$sndScream$byval_copy34>>2]=HEAP32[26812>>2]|0;HEAP32[$sndScream$byval_copy34+4>>2]=HEAP32[26812+4>>2]|0;HEAP32[$sndScream$byval_copy34+8>>2]=HEAP32[26812+8>>2]|0; _PlaySound($sndScream$byval_copy34); break; } } } } while(0); - $37 = HEAP32[6200>>2]|0; + $37 = HEAP32[7258]|0; $38 = ($37|0)>(2); if ($38) { _UpdatePlayer(); - _UpdateMonster(6680); - _UpdateMonster(6816); - _UpdateMonster(6960); + _UpdateMonster(29176); + _UpdateMonster(29268); + _UpdateMonster(29360); } - ;HEAP32[$$byval_copy31>>2]=HEAP32[(144)>>2]|0;HEAP32[$$byval_copy31+4>>2]=HEAP32[(144)+4>>2]|0;HEAP32[$$byval_copy31+8>>2]=HEAP32[(144)+8>>2]|0;HEAP32[$$byval_copy31+12>>2]=HEAP32[(144)+12>>2]|0; - ;HEAP32[$sndScream$byval_copy34>>2]=HEAP32[(6708)>>2]|0;HEAP32[$sndScream$byval_copy34+4>>2]=HEAP32[(6708)+4>>2]|0;HEAP32[$sndScream$byval_copy34+8>>2]=HEAP32[(6708)+8>>2]|0;HEAP32[$sndScream$byval_copy34+12>>2]=HEAP32[(6708)+12>>2]|0; + ;HEAP32[$$byval_copy31>>2]=HEAP32[(26848)>>2]|0;HEAP32[$$byval_copy31+4>>2]=HEAP32[(26848)+4>>2]|0;HEAP32[$$byval_copy31+8>>2]=HEAP32[(26848)+8>>2]|0;HEAP32[$$byval_copy31+12>>2]=HEAP32[(26848)+12>>2]|0; + ;HEAP32[$sndScream$byval_copy34>>2]=HEAP32[(29204)>>2]|0;HEAP32[$sndScream$byval_copy34+4>>2]=HEAP32[(29204)+4>>2]|0;HEAP32[$sndScream$byval_copy34+8>>2]=HEAP32[(29204)+8>>2]|0;HEAP32[$sndScream$byval_copy34+12>>2]=HEAP32[(29204)+12>>2]|0; $39 = (_CheckCollisionRecs($$byval_copy31,$sndScream$byval_copy34)|0); $40 = ($39|0)==(0); - $41 = HEAP32[(6760)>>2]|0; + $41 = HEAP32[(29256)>>2]|0; $42 = ($41|0)!=(0); $or$cond = $40 | $42; if ($or$cond) { - ;HEAP32[$$byval_copy31>>2]=HEAP32[(144)>>2]|0;HEAP32[$$byval_copy31+4>>2]=HEAP32[(144)+4>>2]|0;HEAP32[$$byval_copy31+8>>2]=HEAP32[(144)+8>>2]|0;HEAP32[$$byval_copy31+12>>2]=HEAP32[(144)+12>>2]|0; - ;HEAP32[$sndScream$byval_copy34>>2]=HEAP32[(6988)>>2]|0;HEAP32[$sndScream$byval_copy34+4>>2]=HEAP32[(6988)+4>>2]|0;HEAP32[$sndScream$byval_copy34+8>>2]=HEAP32[(6988)+8>>2]|0;HEAP32[$sndScream$byval_copy34+12>>2]=HEAP32[(6988)+12>>2]|0; + ;HEAP32[$$byval_copy31>>2]=HEAP32[(26848)>>2]|0;HEAP32[$$byval_copy31+4>>2]=HEAP32[(26848)+4>>2]|0;HEAP32[$$byval_copy31+8>>2]=HEAP32[(26848)+8>>2]|0;HEAP32[$$byval_copy31+12>>2]=HEAP32[(26848)+12>>2]|0; + ;HEAP32[$sndScream$byval_copy34>>2]=HEAP32[(29388)>>2]|0;HEAP32[$sndScream$byval_copy34+4>>2]=HEAP32[(29388)+4>>2]|0;HEAP32[$sndScream$byval_copy34+8>>2]=HEAP32[(29388)+8>>2]|0;HEAP32[$sndScream$byval_copy34+12>>2]=HEAP32[(29388)+12>>2]|0; $43 = (_CheckCollisionRecs($$byval_copy31,$sndScream$byval_copy34)|0); $44 = ($43|0)==(0); - $45 = HEAP32[(7040)>>2]|0; + $45 = HEAP32[(29440)>>2]|0; $46 = ($45|0)!=(0); - $or$cond3 = $44 | $46; - $47 = $or$cond3&1; - $$15 = $47 ^ 1; - $storemerge = $$15; - } else { - $storemerge = 1; - } - HEAP32[6184>>2] = $storemerge; - ;HEAP32[$$byval_copy31>>2]=HEAP32[(144)>>2]|0;HEAP32[$$byval_copy31+4>>2]=HEAP32[(144)+4>>2]|0;HEAP32[$$byval_copy31+8>>2]=HEAP32[(144)+8>>2]|0;HEAP32[$$byval_copy31+12>>2]=HEAP32[(144)+12>>2]|0; - ;HEAP32[$sndScream$byval_copy34>>2]=HEAP32[(6708)>>2]|0;HEAP32[$sndScream$byval_copy34+4>>2]=HEAP32[(6708)+4>>2]|0;HEAP32[$sndScream$byval_copy34+8>>2]=HEAP32[(6708)+8>>2]|0;HEAP32[$sndScream$byval_copy34+12>>2]=HEAP32[(6708)+12>>2]|0; - $48 = (_CheckCollisionRecs($$byval_copy31,$sndScream$byval_copy34)|0); - $49 = ($48|0)==(0); - $50 = HEAP32[(6760)>>2]|0; - $51 = ($50|0)!=(0); - $or$cond5 = $49 | $51; - do { - if ($or$cond5) { - HEAP32[(6764)>>2] = 0; + $or$cond4 = $44 | $46; + if ($or$cond4) { + $$sink5 = 0; } else { - HEAP32[(6764)>>2] = 1; - $52 = (_IsKeyPressed(32)|0); - $53 = ($52|0)==(0); - if ($53) { - $54 = (_IsMouseButtonPressed(0)|0); - $55 = ($54|0)==(0); - if ($55) { + label = 26; + } + } else { + label = 26; + } + if ((label|0) == 26) { + $$sink5 = 1; + } + HEAP32[7257] = $$sink5; + ;HEAP32[$$byval_copy31>>2]=HEAP32[(26848)>>2]|0;HEAP32[$$byval_copy31+4>>2]=HEAP32[(26848)+4>>2]|0;HEAP32[$$byval_copy31+8>>2]=HEAP32[(26848)+8>>2]|0;HEAP32[$$byval_copy31+12>>2]=HEAP32[(26848)+12>>2]|0; + ;HEAP32[$sndScream$byval_copy34>>2]=HEAP32[(29204)>>2]|0;HEAP32[$sndScream$byval_copy34+4>>2]=HEAP32[(29204)+4>>2]|0;HEAP32[$sndScream$byval_copy34+8>>2]=HEAP32[(29204)+8>>2]|0;HEAP32[$sndScream$byval_copy34+12>>2]=HEAP32[(29204)+12>>2]|0; + $47 = (_CheckCollisionRecs($$byval_copy31,$sndScream$byval_copy34)|0); + $48 = ($47|0)==(0); + $49 = HEAP32[(29256)>>2]|0; + $50 = ($49|0)!=(0); + $or$cond7 = $48 | $50; + do { + if ($or$cond7) { + HEAP32[(29260)>>2] = 0; + } else { + HEAP32[(29260)>>2] = 1; + $51 = (_IsKeyPressed(32)|0); + $52 = ($51|0)==(0); + if ($52) { + $53 = (_IsMouseButtonPressed(0)|0); + $54 = ($53|0)==(0); + if ($54) { break; } _GetMousePosition($4); ;HEAP32[$$byval_copy31>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy31+4>>2]=HEAP32[$4+4>>2]|0; - ;HEAP32[$sndScream$byval_copy34>>2]=HEAP32[(6708)>>2]|0;HEAP32[$sndScream$byval_copy34+4>>2]=HEAP32[(6708)+4>>2]|0;HEAP32[$sndScream$byval_copy34+8>>2]=HEAP32[(6708)+8>>2]|0;HEAP32[$sndScream$byval_copy34+12>>2]=HEAP32[(6708)+12>>2]|0; - $56 = (_CheckCollisionPointRec($$byval_copy31,$sndScream$byval_copy34)|0); - $57 = ($56|0)==(0); - if ($57) { + ;HEAP32[$sndScream$byval_copy34>>2]=HEAP32[(29204)>>2]|0;HEAP32[$sndScream$byval_copy34+4>>2]=HEAP32[(29204)+4>>2]|0;HEAP32[$sndScream$byval_copy34+8>>2]=HEAP32[(29204)+8>>2]|0;HEAP32[$sndScream$byval_copy34+12>>2]=HEAP32[(29204)+12>>2]|0; + $55 = (_CheckCollisionPointRec($$byval_copy31,$sndScream$byval_copy34)|0); + $56 = ($55|0)==(0); + if ($56) { break; } } _SearchKeyPlayer(); - HEAP32[7096>>2] = 1; - HEAP32[6480>>2] = 0; - HEAP32[6192>>2] = 1; + HEAP32[7363] = 1; + HEAP32[7261] = 0; + HEAP32[13] = 1; } } while(0); - ;HEAP32[$$byval_copy31>>2]=HEAP32[(144)>>2]|0;HEAP32[$$byval_copy31+4>>2]=HEAP32[(144)+4>>2]|0;HEAP32[$$byval_copy31+8>>2]=HEAP32[(144)+8>>2]|0;HEAP32[$$byval_copy31+12>>2]=HEAP32[(144)+12>>2]|0; - ;HEAP32[$sndScream$byval_copy34>>2]=HEAP32[(6844)>>2]|0;HEAP32[$sndScream$byval_copy34+4>>2]=HEAP32[(6844)+4>>2]|0;HEAP32[$sndScream$byval_copy34+8>>2]=HEAP32[(6844)+8>>2]|0;HEAP32[$sndScream$byval_copy34+12>>2]=HEAP32[(6844)+12>>2]|0; - $58 = (_CheckCollisionRecs($$byval_copy31,$sndScream$byval_copy34)|0); - $59 = ($58|0)==(0); - $60 = HEAP32[(6896)>>2]|0; - $61 = ($60|0)!=(0); - $or$cond7 = $59 | $61; + ;HEAP32[$$byval_copy31>>2]=HEAP32[(26848)>>2]|0;HEAP32[$$byval_copy31+4>>2]=HEAP32[(26848)+4>>2]|0;HEAP32[$$byval_copy31+8>>2]=HEAP32[(26848)+8>>2]|0;HEAP32[$$byval_copy31+12>>2]=HEAP32[(26848)+12>>2]|0; + ;HEAP32[$sndScream$byval_copy34>>2]=HEAP32[(29296)>>2]|0;HEAP32[$sndScream$byval_copy34+4>>2]=HEAP32[(29296)+4>>2]|0;HEAP32[$sndScream$byval_copy34+8>>2]=HEAP32[(29296)+8>>2]|0;HEAP32[$sndScream$byval_copy34+12>>2]=HEAP32[(29296)+12>>2]|0; + $57 = (_CheckCollisionRecs($$byval_copy31,$sndScream$byval_copy34)|0); + $58 = ($57|0)==(0); + $59 = HEAP32[(29348)>>2]|0; + $60 = ($59|0)!=(0); + $or$cond9 = $58 | $60; do { - if ($or$cond7) { - HEAP32[(6900)>>2] = 0; + if ($or$cond9) { + HEAP32[(29352)>>2] = 0; } else { - HEAP32[(6900)>>2] = 1; - $62 = (_IsKeyPressed(32)|0); - $63 = ($62|0)==(0); - if ($63) { - $64 = (_IsMouseButtonPressed(0)|0); - $65 = ($64|0)==(0); - if ($65) { + HEAP32[(29352)>>2] = 1; + $61 = (_IsKeyPressed(32)|0); + $62 = ($61|0)==(0); + if ($62) { + $63 = (_IsMouseButtonPressed(0)|0); + $64 = ($63|0)==(0); + if ($64) { break; } _GetMousePosition($5); ;HEAP32[$$byval_copy31>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy31+4>>2]=HEAP32[$5+4>>2]|0; - ;HEAP32[$sndScream$byval_copy34>>2]=HEAP32[(6844)>>2]|0;HEAP32[$sndScream$byval_copy34+4>>2]=HEAP32[(6844)+4>>2]|0;HEAP32[$sndScream$byval_copy34+8>>2]=HEAP32[(6844)+8>>2]|0;HEAP32[$sndScream$byval_copy34+12>>2]=HEAP32[(6844)+12>>2]|0; - $66 = (_CheckCollisionPointRec($$byval_copy31,$sndScream$byval_copy34)|0); - $67 = ($66|0)==(0); - if ($67) { + ;HEAP32[$sndScream$byval_copy34>>2]=HEAP32[(29296)>>2]|0;HEAP32[$sndScream$byval_copy34+4>>2]=HEAP32[(29296)+4>>2]|0;HEAP32[$sndScream$byval_copy34+8>>2]=HEAP32[(29296)+8>>2]|0;HEAP32[$sndScream$byval_copy34+12>>2]=HEAP32[(29296)+12>>2]|0; + $65 = (_CheckCollisionPointRec($$byval_copy31,$sndScream$byval_copy34)|0); + $66 = ($65|0)==(0); + if ($66) { break; } } _SearchKeyPlayer(); - HEAP32[7096>>2] = 1; - HEAP32[6480>>2] = 0; - HEAP32[6192>>2] = 2; + HEAP32[7363] = 1; + HEAP32[7261] = 0; + HEAP32[13] = 2; } } while(0); - ;HEAP32[$$byval_copy31>>2]=HEAP32[(144)>>2]|0;HEAP32[$$byval_copy31+4>>2]=HEAP32[(144)+4>>2]|0;HEAP32[$$byval_copy31+8>>2]=HEAP32[(144)+8>>2]|0;HEAP32[$$byval_copy31+12>>2]=HEAP32[(144)+12>>2]|0; - ;HEAP32[$sndScream$byval_copy34>>2]=HEAP32[(6988)>>2]|0;HEAP32[$sndScream$byval_copy34+4>>2]=HEAP32[(6988)+4>>2]|0;HEAP32[$sndScream$byval_copy34+8>>2]=HEAP32[(6988)+8>>2]|0;HEAP32[$sndScream$byval_copy34+12>>2]=HEAP32[(6988)+12>>2]|0; - $68 = (_CheckCollisionRecs($$byval_copy31,$sndScream$byval_copy34)|0); - $69 = ($68|0)==(0); - $70 = HEAP32[(7040)>>2]|0; - $71 = ($70|0)!=(0); - $or$cond9 = $69 | $71; + ;HEAP32[$$byval_copy31>>2]=HEAP32[(26848)>>2]|0;HEAP32[$$byval_copy31+4>>2]=HEAP32[(26848)+4>>2]|0;HEAP32[$$byval_copy31+8>>2]=HEAP32[(26848)+8>>2]|0;HEAP32[$$byval_copy31+12>>2]=HEAP32[(26848)+12>>2]|0; + ;HEAP32[$sndScream$byval_copy34>>2]=HEAP32[(29388)>>2]|0;HEAP32[$sndScream$byval_copy34+4>>2]=HEAP32[(29388)+4>>2]|0;HEAP32[$sndScream$byval_copy34+8>>2]=HEAP32[(29388)+8>>2]|0;HEAP32[$sndScream$byval_copy34+12>>2]=HEAP32[(29388)+12>>2]|0; + $67 = (_CheckCollisionRecs($$byval_copy31,$sndScream$byval_copy34)|0); + $68 = ($67|0)==(0); + $69 = HEAP32[(29440)>>2]|0; + $70 = ($69|0)!=(0); + $or$cond11 = $68 | $70; do { - if ($or$cond9) { - HEAP32[(7044)>>2] = 0; - label = 44; + if ($or$cond11) { + HEAP32[(29444)>>2] = 0; + label = 45; } else { - HEAP32[(7044)>>2] = 1; - $72 = (_IsKeyPressed(32)|0); - $73 = ($72|0)==(0); - if ($73) { - $74 = (_IsMouseButtonPressed(0)|0); - $75 = ($74|0)==(0); - if ($75) { - label = 44; + HEAP32[(29444)>>2] = 1; + $71 = (_IsKeyPressed(32)|0); + $72 = ($71|0)==(0); + if ($72) { + $73 = (_IsMouseButtonPressed(0)|0); + $74 = ($73|0)==(0); + if ($74) { + label = 45; break; } _GetMousePosition($6); ;HEAP32[$$byval_copy31>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy31+4>>2]=HEAP32[$6+4>>2]|0; - ;HEAP32[$sndScream$byval_copy34>>2]=HEAP32[(6988)>>2]|0;HEAP32[$sndScream$byval_copy34+4>>2]=HEAP32[(6988)+4>>2]|0;HEAP32[$sndScream$byval_copy34+8>>2]=HEAP32[(6988)+8>>2]|0;HEAP32[$sndScream$byval_copy34+12>>2]=HEAP32[(6988)+12>>2]|0; - $76 = (_CheckCollisionPointRec($$byval_copy31,$sndScream$byval_copy34)|0); - $77 = ($76|0)==(0); - if ($77) { - label = 44; + ;HEAP32[$sndScream$byval_copy34>>2]=HEAP32[(29388)>>2]|0;HEAP32[$sndScream$byval_copy34+4>>2]=HEAP32[(29388)+4>>2]|0;HEAP32[$sndScream$byval_copy34+8>>2]=HEAP32[(29388)+8>>2]|0;HEAP32[$sndScream$byval_copy34+12>>2]=HEAP32[(29388)+12>>2]|0; + $75 = (_CheckCollisionPointRec($$byval_copy31,$sndScream$byval_copy34)|0); + $76 = ($75|0)==(0); + if ($76) { + label = 45; break; } } _SearchKeyPlayer(); - HEAP32[7096>>2] = 1; - HEAP32[6192>>2] = 3; - HEAP32[6480>>2] = 1; + HEAP32[7363] = 1; + HEAP32[13] = 3; + HEAP32[7261] = 1; } } while(0); - if ((label|0) == 44) { - $$pr = HEAP32[7096>>2]|0; - $78 = ($$pr|0)==(0); - if (!($78)) { - $$pr16 = HEAP32[6480>>2]|0; - $79 = (($$pr16) + 1)|0; - HEAP32[6480>>2] = $79; - $80 = ($$pr16|0)>(179); - if ($80) { - $81 = HEAP32[6192>>2]|0; - if ((($81|0) == 3)) { - $86 = HEAP32[(7048)>>2]|0; - $87 = ($86|0)==(0); - if ($87) { - _FindKeyPlayer(); - } else { - _ScarePlayer(); - ;HEAP32[$sndScream$byval_copy34>>2]=HEAP32[120>>2]|0;HEAP32[$sndScream$byval_copy34+4>>2]=HEAP32[120+4>>2]|0; - _PlaySound($sndScream$byval_copy34); + if ((label|0) == 45) { + $$pr = HEAP32[7363]|0; + $77 = ($$pr|0)==(0); + if (!($77)) { + $$pr21 = HEAP32[7261]|0; + $78 = (($$pr21) + 1)|0; + HEAP32[7261] = $78; + $79 = ($$pr21|0)>(179); + if ($79) { + $80 = HEAP32[13]|0; + L67: do { + switch ($80|0) { + case 1: { + $81 = HEAP32[(29264)>>2]|0; + $82 = ($81|0)==(0); + if ($82) { + _FindKeyPlayer(); + $$sink12 = (29260);$$sink13 = (29256); + label = 57; + break L67; + } else { + _ScarePlayer(); + ;HEAP32[$sndScream$byval_copy34>>2]=HEAP32[26824>>2]|0;HEAP32[$sndScream$byval_copy34+4>>2]=HEAP32[26824+4>>2]|0;HEAP32[$sndScream$byval_copy34+8>>2]=HEAP32[26824+8>>2]|0; + _PlaySound($sndScream$byval_copy34); + $$sink12 = (29260);$$sink13 = (29256); + label = 57; + break L67; + } + break; } - HEAP32[(7040)>>2] = 1; - HEAP32[(7044)>>2] = 0; - } else if ((($81|0) == 1)) { - $82 = HEAP32[(6768)>>2]|0; - $83 = ($82|0)==(0); - if ($83) { - _FindKeyPlayer(); - } else { - _ScarePlayer(); - ;HEAP32[$sndScream$byval_copy34>>2]=HEAP32[120>>2]|0;HEAP32[$sndScream$byval_copy34+4>>2]=HEAP32[120+4>>2]|0; - _PlaySound($sndScream$byval_copy34); + case 2: { + $83 = HEAP32[(29356)>>2]|0; + $84 = ($83|0)==(0); + if ($84) { + _FindKeyPlayer(); + $$sink12 = (29352);$$sink13 = (29348); + label = 57; + break L67; + } else { + _ScarePlayer(); + ;HEAP32[$sndScream$byval_copy34>>2]=HEAP32[26824>>2]|0;HEAP32[$sndScream$byval_copy34+4>>2]=HEAP32[26824+4>>2]|0;HEAP32[$sndScream$byval_copy34+8>>2]=HEAP32[26824+8>>2]|0; + _PlaySound($sndScream$byval_copy34); + $$sink12 = (29352);$$sink13 = (29348); + label = 57; + break L67; + } + break; } - HEAP32[(6760)>>2] = 1; - HEAP32[(6764)>>2] = 0; - } else if ((($81|0) == 2)) { - $84 = HEAP32[(6904)>>2]|0; - $85 = ($84|0)==(0); - if ($85) { - _FindKeyPlayer(); - } else { - _ScarePlayer(); - ;HEAP32[$sndScream$byval_copy34>>2]=HEAP32[120>>2]|0;HEAP32[$sndScream$byval_copy34+4>>2]=HEAP32[120+4>>2]|0; - _PlaySound($sndScream$byval_copy34); + case 3: { + $85 = HEAP32[(29448)>>2]|0; + $86 = ($85|0)==(0); + if ($86) { + _FindKeyPlayer(); + $$sink12 = (29444);$$sink13 = (29440); + label = 57; + break L67; + } else { + _ScarePlayer(); + ;HEAP32[$sndScream$byval_copy34>>2]=HEAP32[26824>>2]|0;HEAP32[$sndScream$byval_copy34+4>>2]=HEAP32[26824+4>>2]|0;HEAP32[$sndScream$byval_copy34+8>>2]=HEAP32[26824+8>>2]|0; + _PlaySound($sndScream$byval_copy34); + $$sink12 = (29444);$$sink13 = (29440); + label = 57; + break L67; + } + break; } - HEAP32[(6896)>>2] = 1; - HEAP32[(6900)>>2] = 0; + default: { + } + } + } while(0); + if ((label|0) == 57) { + HEAP32[$$sink13>>2] = 1; + HEAP32[$$sink12>>2] = 0; } - HEAP32[7096>>2] = 0; - HEAP32[6480>>2] = 0; + HEAP32[7363] = 0; + HEAP32[7261] = 0; } } } - $88 = HEAP32[6480>>2]|0; - $89 = (($88) + 1)|0; - HEAP32[6480>>2] = $89; - $90 = $89 & 1; - $91 = ($90|0)==(0); - if ($91) { - $92 = HEAP32[6216>>2]|0; - $93 = (($92) + 1)|0; - HEAP32[6216>>2] = $93; + $87 = HEAP32[7261]|0; + $88 = (($87) + 1)|0; + HEAP32[7261] = $88; + $89 = $88 & 1; + $90 = ($89|0)==(0); + if ($90) { + $91 = HEAP32[7260]|0; + $92 = (($91) + 1)|0; + HEAP32[7260] = $92; } - $94 = HEAP32[6200>>2]|0; - if ((($94|0) == 0)) { - $95 = HEAP32[6216>>2]|0; + $93 = HEAP32[7258]|0; + $94 = ($93|0)==(0); + if ($94) { + $95 = HEAP32[7260]|0; $96 = ($95|0)<(48); if ($96) { - (_strncpy((6224|0),(7104|0),($95|0))|0); + (_strncpy(35064,7861,$95)|0); } else { - $97 = (_strlen((6224|0))|0); + $97 = (_strlen(35064)|0); $98 = ($97|0)>(0); if ($98) { - $i$018 = 0; + $$023 = 0; while(1) { - $99 = (6224 + ($i$018)|0); + $99 = (35064 + ($$023)|0); HEAP8[$99>>0] = 0; - $100 = (($i$018) + 1)|0; - $101 = (_strlen((6224|0))|0); + $100 = (($$023) + 1)|0; + $101 = (_strlen(35064)|0); $102 = ($100|0)<($101|0); if ($102) { - $i$018 = $100; + $$023 = $100; } else { break; } } } - HEAP32[6216>>2] = 0; - HEAP32[6200>>2] = 1; + HEAP32[7260] = 0; + HEAP32[7258] = 1; } $103 = (_IsKeyPressed(257)|0); $104 = ($103|0)==(0); if ($104) { STACKTOP = sp;return; } - HEAP32[6200>>2] = 1; - STACKTOP = sp;return; - } else if ((($94|0) == 1)) { - $105 = HEAP32[6208>>2]|0; - $106 = (($105) + 1)|0; - HEAP32[6208>>2] = $106; - $107 = (_IsKeyPressed(257)|0); - $108 = ($107|0)==(0); - if ($108) { - $109 = (_IsMouseButtonPressed(0)|0); - $110 = ($109|0)==(0); - if ($110) { - STACKTOP = sp;return; - } - } - HEAP32[6200>>2] = 2; - HEAP32[6208>>2] = 0; - STACKTOP = sp;return; - } else { - $111 = ($94|0)==(2); - $112 = HEAP32[6208>>2]|0; - $113 = (($112) + 1)|0; - HEAP32[6208>>2] = $113; - $114 = ($112|0)>(179); - $or$cond11 = $111 & $114; - if (!($or$cond11)) { - STACKTOP = sp;return; - } - HEAP32[6200>>2] = 3; + HEAP32[7258] = 1; STACKTOP = sp;return; } + $105 = ($93|0)==(1); + $106 = HEAP32[7259]|0; + $107 = (($106) + 1)|0; + HEAP32[7259] = $107; + if (!($105)) { + $112 = ($93|0)==(2); + $113 = ($106|0)>(179); + $or$cond15 = $112 & $113; + if (!($or$cond15)) { + STACKTOP = sp;return; + } + HEAP32[7258] = 3; + STACKTOP = sp;return; + } + $108 = (_IsKeyPressed(257)|0); + $109 = ($108|0)==(0); + if ($109) { + $110 = (_IsMouseButtonPressed(0)|0); + $111 = ($110|0)==(0); + if ($111) { + STACKTOP = sp;return; + } + } + HEAP32[7258] = 2; + HEAP32[7259] = 0; + STACKTOP = sp;return; } function _DrawKitchenScreen() { var $$byval_copy30 = 0, $$byval_copy34 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0; - var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0; - var $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0; - var $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $9 = 0, $doors$byval_copy10 = 0, $font$byval_copy21 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0.0, $5 = 0, $50 = 0, $51 = 0, $52 = 0.0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0; + var $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0.0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0; + var $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $doors$byval_copy10 = 0, $font$byval_copy21 = 0, dest = 0, label = 0, sp = 0, src = 0; + var stop = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 288|0; - $$byval_copy34 = sp + 12|0; - $$byval_copy30 = sp + 204|0; - $font$byval_copy21 = sp + 144|0; - $doors$byval_copy10 = sp + 180|0; - $0 = sp + 200|0; - $1 = sp + 264|0; - $2 = sp + 8|0; - $3 = sp + 268|0; - $4 = sp + 104|0; - $5 = sp + 284|0; - $6 = sp + 280|0; - $7 = sp + 276|0; - $8 = sp + 272|0; - $9 = sp; - $10 = sp + 140|0; - $11 = sp + 112|0; - $12 = sp + 120|0; - $13 = sp + 260|0; - $14 = sp + 128|0; - $15 = sp + 136|0; - $16 = sp + 224|0; - $17 = sp + 236|0; - $18 = sp + 240|0; - $19 = sp + 252|0; - $20 = sp + 256|0; - $21 = sp + 248|0; - $22 = sp + 244|0; - $23 = sp + 232|0; - $24 = sp + 228|0; + STACKTOP = STACKTOP + 288|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(288|0); + $$byval_copy34 = sp + 128|0; + $$byval_copy30 = sp + 104|0; + $font$byval_copy21 = sp + 48|0; + $doors$byval_copy10 = sp; + $0 = sp + 124|0; + $1 = sp + 280|0; + $2 = sp + 100|0; + $3 = sp + 276|0; + $4 = sp + 96|0; + $5 = sp + 272|0; + $6 = sp + 268|0; + $7 = sp + 264|0; + $8 = sp + 260|0; + $9 = sp + 88|0; + $10 = sp + 80|0; + $11 = sp + 40|0; + $12 = sp + 32|0; + $13 = sp + 256|0; + $14 = sp + 24|0; + $15 = sp + 20|0; + $16 = sp + 252|0; + $17 = sp + 248|0; + $18 = sp + 244|0; + $19 = sp + 240|0; + $20 = sp + 236|0; + $21 = sp + 232|0; + $22 = sp + 228|0; + $23 = sp + 224|0; + $24 = sp + 220|0; HEAP32[$0>>2] = -1; - ;HEAP32[$$byval_copy30>>2]=HEAP32[6544>>2]|0;HEAP32[$$byval_copy30+4>>2]=HEAP32[6544+4>>2]|0;HEAP32[$$byval_copy30+8>>2]=HEAP32[6544+8>>2]|0;HEAP32[$$byval_copy30+12>>2]=HEAP32[6544+12>>2]|0;HEAP32[$$byval_copy30+16>>2]=HEAP32[6544+16>>2]|0; + ;HEAP32[$$byval_copy30>>2]=HEAP32[29052>>2]|0;HEAP32[$$byval_copy30+4>>2]=HEAP32[29052+4>>2]|0;HEAP32[$$byval_copy30+8>>2]=HEAP32[29052+8>>2]|0;HEAP32[$$byval_copy30+12>>2]=HEAP32[29052+12>>2]|0;HEAP32[$$byval_copy30+16>>2]=HEAP32[29052+16>>2]|0; ;HEAP8[$$byval_copy34>>0]=HEAP8[$0>>0]|0;HEAP8[$$byval_copy34+1>>0]=HEAP8[$0+1>>0]|0;HEAP8[$$byval_copy34+2>>0]=HEAP8[$0+2>>0]|0;HEAP8[$$byval_copy34+3>>0]=HEAP8[$0+3>>0]|0; _DrawTexture($$byval_copy30,0,0,$$byval_copy34); - dest=$$byval_copy34; src=6680; stop=dest+92|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$$byval_copy34; src=29176; stop=dest+92|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _DrawMonster($$byval_copy34,0); - dest=$$byval_copy34; src=6816; stop=dest+92|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$$byval_copy34; src=29268; stop=dest+92|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _DrawMonster($$byval_copy34,0); - dest=$$byval_copy34; src=6960; stop=dest+92|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$$byval_copy34; src=29360; stop=dest+92|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _DrawMonster($$byval_copy34,0); - $25 = HEAP32[(6640)>>2]|0; + $25 = HEAP32[(29140)>>2]|0; $26 = ($25|0)==(0); if ($26) { HEAP32[$2>>2] = -1; - ;HEAP32[$doors$byval_copy10>>2]=HEAP32[88>>2]|0;HEAP32[$doors$byval_copy10+4>>2]=HEAP32[88+4>>2]|0;HEAP32[$doors$byval_copy10+8>>2]=HEAP32[88+8>>2]|0;HEAP32[$doors$byval_copy10+12>>2]=HEAP32[88+12>>2]|0;HEAP32[$doors$byval_copy10+16>>2]=HEAP32[88+16>>2]|0; - ;HEAP32[$font$byval_copy21>>2]=HEAP32[(6644)>>2]|0;HEAP32[$font$byval_copy21+4>>2]=HEAP32[(6644)+4>>2]|0;HEAP32[$font$byval_copy21+8>>2]=HEAP32[(6644)+8>>2]|0;HEAP32[$font$byval_copy21+12>>2]=HEAP32[(6644)+12>>2]|0; - ;HEAP32[$$byval_copy30>>2]=HEAP32[6624>>2]|0;HEAP32[$$byval_copy30+4>>2]=HEAP32[6624+4>>2]|0; + ;HEAP32[$doors$byval_copy10>>2]=HEAP32[26792>>2]|0;HEAP32[$doors$byval_copy10+4>>2]=HEAP32[26792+4>>2]|0;HEAP32[$doors$byval_copy10+8>>2]=HEAP32[26792+8>>2]|0;HEAP32[$doors$byval_copy10+12>>2]=HEAP32[26792+12>>2]|0;HEAP32[$doors$byval_copy10+16>>2]=HEAP32[26792+16>>2]|0; + ;HEAP32[$font$byval_copy21>>2]=HEAP32[(29144)>>2]|0;HEAP32[$font$byval_copy21+4>>2]=HEAP32[(29144)+4>>2]|0;HEAP32[$font$byval_copy21+8>>2]=HEAP32[(29144)+8>>2]|0;HEAP32[$font$byval_copy21+12>>2]=HEAP32[(29144)+12>>2]|0; + ;HEAP32[$$byval_copy30>>2]=HEAP32[29124>>2]|0;HEAP32[$$byval_copy30+4>>2]=HEAP32[29124+4>>2]|0; ;HEAP8[$$byval_copy34>>0]=HEAP8[$2>>0]|0;HEAP8[$$byval_copy34+1>>0]=HEAP8[$2+1>>0]|0;HEAP8[$$byval_copy34+2>>0]=HEAP8[$2+2>>0]|0;HEAP8[$$byval_copy34+3>>0]=HEAP8[$2+3>>0]|0; _DrawTextureRec($doors$byval_copy10,$font$byval_copy21,$$byval_copy30,$$byval_copy34); } else { @@ -18081,19 +17787,19 @@ function _DrawKitchenScreen() { HEAP8[$28>>0] = 48; $29 = ((($1)) + 3|0); HEAP8[$29>>0] = -1; - ;HEAP32[$doors$byval_copy10>>2]=HEAP32[88>>2]|0;HEAP32[$doors$byval_copy10+4>>2]=HEAP32[88+4>>2]|0;HEAP32[$doors$byval_copy10+8>>2]=HEAP32[88+8>>2]|0;HEAP32[$doors$byval_copy10+12>>2]=HEAP32[88+12>>2]|0;HEAP32[$doors$byval_copy10+16>>2]=HEAP32[88+16>>2]|0; - ;HEAP32[$font$byval_copy21>>2]=HEAP32[(6644)>>2]|0;HEAP32[$font$byval_copy21+4>>2]=HEAP32[(6644)+4>>2]|0;HEAP32[$font$byval_copy21+8>>2]=HEAP32[(6644)+8>>2]|0;HEAP32[$font$byval_copy21+12>>2]=HEAP32[(6644)+12>>2]|0; - ;HEAP32[$$byval_copy30>>2]=HEAP32[6624>>2]|0;HEAP32[$$byval_copy30+4>>2]=HEAP32[6624+4>>2]|0; + ;HEAP32[$doors$byval_copy10>>2]=HEAP32[26792>>2]|0;HEAP32[$doors$byval_copy10+4>>2]=HEAP32[26792+4>>2]|0;HEAP32[$doors$byval_copy10+8>>2]=HEAP32[26792+8>>2]|0;HEAP32[$doors$byval_copy10+12>>2]=HEAP32[26792+12>>2]|0;HEAP32[$doors$byval_copy10+16>>2]=HEAP32[26792+16>>2]|0; + ;HEAP32[$font$byval_copy21>>2]=HEAP32[(29144)>>2]|0;HEAP32[$font$byval_copy21+4>>2]=HEAP32[(29144)+4>>2]|0;HEAP32[$font$byval_copy21+8>>2]=HEAP32[(29144)+8>>2]|0;HEAP32[$font$byval_copy21+12>>2]=HEAP32[(29144)+12>>2]|0; + ;HEAP32[$$byval_copy30>>2]=HEAP32[29124>>2]|0;HEAP32[$$byval_copy30+4>>2]=HEAP32[29124+4>>2]|0; ;HEAP8[$$byval_copy34>>0]=HEAP8[$1>>0]|0;HEAP8[$$byval_copy34+1>>0]=HEAP8[$1+1>>0]|0;HEAP8[$$byval_copy34+2>>0]=HEAP8[$1+2>>0]|0;HEAP8[$$byval_copy34+3>>0]=HEAP8[$1+3>>0]|0; _DrawTextureRec($doors$byval_copy10,$font$byval_copy21,$$byval_copy30,$$byval_copy34); } - $30 = HEAP32[(6584)>>2]|0; + $30 = HEAP32[(29088)>>2]|0; $31 = ($30|0)==(0); if ($31) { HEAP32[$4>>2] = -1; - ;HEAP32[$doors$byval_copy10>>2]=HEAP32[88>>2]|0;HEAP32[$doors$byval_copy10+4>>2]=HEAP32[88+4>>2]|0;HEAP32[$doors$byval_copy10+8>>2]=HEAP32[88+8>>2]|0;HEAP32[$doors$byval_copy10+12>>2]=HEAP32[88+12>>2]|0;HEAP32[$doors$byval_copy10+16>>2]=HEAP32[88+16>>2]|0; - ;HEAP32[$font$byval_copy21>>2]=HEAP32[(6588)>>2]|0;HEAP32[$font$byval_copy21+4>>2]=HEAP32[(6588)+4>>2]|0;HEAP32[$font$byval_copy21+8>>2]=HEAP32[(6588)+8>>2]|0;HEAP32[$font$byval_copy21+12>>2]=HEAP32[(6588)+12>>2]|0; - ;HEAP32[$$byval_copy30>>2]=HEAP32[6568>>2]|0;HEAP32[$$byval_copy30+4>>2]=HEAP32[6568+4>>2]|0; + ;HEAP32[$doors$byval_copy10>>2]=HEAP32[26792>>2]|0;HEAP32[$doors$byval_copy10+4>>2]=HEAP32[26792+4>>2]|0;HEAP32[$doors$byval_copy10+8>>2]=HEAP32[26792+8>>2]|0;HEAP32[$doors$byval_copy10+12>>2]=HEAP32[26792+12>>2]|0;HEAP32[$doors$byval_copy10+16>>2]=HEAP32[26792+16>>2]|0; + ;HEAP32[$font$byval_copy21>>2]=HEAP32[(29092)>>2]|0;HEAP32[$font$byval_copy21+4>>2]=HEAP32[(29092)+4>>2]|0;HEAP32[$font$byval_copy21+8>>2]=HEAP32[(29092)+8>>2]|0;HEAP32[$font$byval_copy21+12>>2]=HEAP32[(29092)+12>>2]|0; + ;HEAP32[$$byval_copy30>>2]=HEAP32[29072>>2]|0;HEAP32[$$byval_copy30+4>>2]=HEAP32[29072+4>>2]|0; ;HEAP8[$$byval_copy34>>0]=HEAP8[$4>>0]|0;HEAP8[$$byval_copy34+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$$byval_copy34+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$$byval_copy34+3>>0]=HEAP8[$4+3>>0]|0; _DrawTextureRec($doors$byval_copy10,$font$byval_copy21,$$byval_copy30,$$byval_copy34); } else { @@ -18104,13 +17810,13 @@ function _DrawKitchenScreen() { HEAP8[$33>>0] = 48; $34 = ((($3)) + 3|0); HEAP8[$34>>0] = -1; - ;HEAP32[$doors$byval_copy10>>2]=HEAP32[88>>2]|0;HEAP32[$doors$byval_copy10+4>>2]=HEAP32[88+4>>2]|0;HEAP32[$doors$byval_copy10+8>>2]=HEAP32[88+8>>2]|0;HEAP32[$doors$byval_copy10+12>>2]=HEAP32[88+12>>2]|0;HEAP32[$doors$byval_copy10+16>>2]=HEAP32[88+16>>2]|0; - ;HEAP32[$font$byval_copy21>>2]=HEAP32[(6588)>>2]|0;HEAP32[$font$byval_copy21+4>>2]=HEAP32[(6588)+4>>2]|0;HEAP32[$font$byval_copy21+8>>2]=HEAP32[(6588)+8>>2]|0;HEAP32[$font$byval_copy21+12>>2]=HEAP32[(6588)+12>>2]|0; - ;HEAP32[$$byval_copy30>>2]=HEAP32[6568>>2]|0;HEAP32[$$byval_copy30+4>>2]=HEAP32[6568+4>>2]|0; + ;HEAP32[$doors$byval_copy10>>2]=HEAP32[26792>>2]|0;HEAP32[$doors$byval_copy10+4>>2]=HEAP32[26792+4>>2]|0;HEAP32[$doors$byval_copy10+8>>2]=HEAP32[26792+8>>2]|0;HEAP32[$doors$byval_copy10+12>>2]=HEAP32[26792+12>>2]|0;HEAP32[$doors$byval_copy10+16>>2]=HEAP32[26792+16>>2]|0; + ;HEAP32[$font$byval_copy21>>2]=HEAP32[(29092)>>2]|0;HEAP32[$font$byval_copy21+4>>2]=HEAP32[(29092)+4>>2]|0;HEAP32[$font$byval_copy21+8>>2]=HEAP32[(29092)+8>>2]|0;HEAP32[$font$byval_copy21+12>>2]=HEAP32[(29092)+12>>2]|0; + ;HEAP32[$$byval_copy30>>2]=HEAP32[29072>>2]|0;HEAP32[$$byval_copy30+4>>2]=HEAP32[29072+4>>2]|0; ;HEAP8[$$byval_copy34>>0]=HEAP8[$3>>0]|0;HEAP8[$$byval_copy34+1>>0]=HEAP8[$3+1>>0]|0;HEAP8[$$byval_copy34+2>>0]=HEAP8[$3+2>>0]|0;HEAP8[$$byval_copy34+3>>0]=HEAP8[$3+3>>0]|0; _DrawTextureRec($doors$byval_copy10,$font$byval_copy21,$$byval_copy30,$$byval_copy34); } - $35 = HEAP32[6200>>2]|0; + $35 = HEAP32[7258]|0; $36 = ($35|0)<(2); if ($36) { $37 = (_GetScreenWidth()|0); @@ -18142,346 +17848,352 @@ function _DrawKitchenScreen() { _DrawRectangle(0,80,$42,100,$$byval_copy34); } } - $46 = HEAP32[6200>>2]|0; - if ((($46|0) == 0)) { + $46 = HEAP32[7258]|0; + switch ($46|0) { + case 0: { HEAPF32[$9>>2] = 100.0; $47 = ((($9)) + 4|0); HEAPF32[$47>>2] = 80.0; - $48 = HEAP32[(68)>>2]|0; + $48 = HEAP32[(26780)>>2]|0; + $49 = (+($48|0)); HEAP32[$10>>2] = -1; - dest=$font$byval_copy21; src=48; stop=dest+36|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + ;HEAP32[$font$byval_copy21>>2]=HEAP32[26760>>2]|0;HEAP32[$font$byval_copy21+4>>2]=HEAP32[26760+4>>2]|0;HEAP32[$font$byval_copy21+8>>2]=HEAP32[26760+8>>2]|0;HEAP32[$font$byval_copy21+12>>2]=HEAP32[26760+12>>2]|0;HEAP32[$font$byval_copy21+16>>2]=HEAP32[26760+16>>2]|0;HEAP32[$font$byval_copy21+20>>2]=HEAP32[26760+20>>2]|0;HEAP32[$font$byval_copy21+24>>2]=HEAP32[26760+24>>2]|0;HEAP32[$font$byval_copy21+28>>2]=HEAP32[26760+28>>2]|0; ;HEAP32[$$byval_copy30>>2]=HEAP32[$9>>2]|0;HEAP32[$$byval_copy30+4>>2]=HEAP32[$9+4>>2]|0; ;HEAP8[$$byval_copy34>>0]=HEAP8[$10>>0]|0;HEAP8[$$byval_copy34+1>>0]=HEAP8[$10+1>>0]|0;HEAP8[$$byval_copy34+2>>0]=HEAP8[$10+2>>0]|0;HEAP8[$$byval_copy34+3>>0]=HEAP8[$10+3>>0]|0; - _DrawTextEx($font$byval_copy21,6224,$$byval_copy30,$48,2,$$byval_copy34); + _DrawTextEx($font$byval_copy21,35064,$$byval_copy30,$49,2,$$byval_copy34); _DrawPlayer(); STACKTOP = sp;return; - } else if ((($46|0) == 2)) { - $60 = HEAP32[6208>>2]|0; - $61 = (($60|0) / 30)&-1; - $62 = $61 & 1; - $63 = ($62|0)==(0); - if ($63) { + break; + } + case 1: { + HEAPF32[$11>>2] = 100.0; + $50 = ((($11)) + 4|0); + HEAPF32[$50>>2] = 80.0; + $51 = HEAP32[(26780)>>2]|0; + $52 = (+($51|0)); + HEAP32[$12>>2] = -1; + ;HEAP32[$font$byval_copy21>>2]=HEAP32[26760>>2]|0;HEAP32[$font$byval_copy21+4>>2]=HEAP32[26760+4>>2]|0;HEAP32[$font$byval_copy21+8>>2]=HEAP32[26760+8>>2]|0;HEAP32[$font$byval_copy21+12>>2]=HEAP32[26760+12>>2]|0;HEAP32[$font$byval_copy21+16>>2]=HEAP32[26760+16>>2]|0;HEAP32[$font$byval_copy21+20>>2]=HEAP32[26760+20>>2]|0;HEAP32[$font$byval_copy21+24>>2]=HEAP32[26760+24>>2]|0;HEAP32[$font$byval_copy21+28>>2]=HEAP32[26760+28>>2]|0; + ;HEAP32[$$byval_copy30>>2]=HEAP32[$11>>2]|0;HEAP32[$$byval_copy30+4>>2]=HEAP32[$11+4>>2]|0; + ;HEAP8[$$byval_copy34>>0]=HEAP8[$12>>0]|0;HEAP8[$$byval_copy34+1>>0]=HEAP8[$12+1>>0]|0;HEAP8[$$byval_copy34+2>>0]=HEAP8[$12+2>>0]|0;HEAP8[$$byval_copy34+3>>0]=HEAP8[$12+3>>0]|0; + _DrawTextEx($font$byval_copy21,7861,$$byval_copy30,$52,2,$$byval_copy34); + $53 = HEAP32[7259]|0; + $54 = (($53|0) / 30)&-1; + $55 = $54 & 1; + $56 = ($55|0)==(0); + if ($56) { + _DrawPlayer(); + STACKTOP = sp;return; + } + $57 = (_GetScreenWidth()|0); + $58 = (($57) + -280)|0; + HEAP8[$13>>0] = 0; + $59 = ((($13)) + 1|0); + HEAP8[$59>>0] = 0; + $60 = ((($13)) + 2|0); + HEAP8[$60>>0] = 0; + $61 = ((($13)) + 3|0); + HEAP8[$61>>0] = -1; + ;HEAP8[$$byval_copy34>>0]=HEAP8[$13>>0]|0;HEAP8[$$byval_copy34+1>>0]=HEAP8[$13+1>>0]|0;HEAP8[$$byval_copy34+2>>0]=HEAP8[$13+2>>0]|0;HEAP8[$$byval_copy34+3>>0]=HEAP8[$13+3>>0]|0; + _DrawText(8619,$58,200,20,$$byval_copy34); + _DrawPlayer(); + STACKTOP = sp;return; + break; + } + case 2: { + $62 = HEAP32[7259]|0; + $63 = (($62|0) / 30)&-1; + $64 = $63 & 1; + $65 = ($64|0)==(0); + if ($65) { _DrawPlayer(); STACKTOP = sp;return; } HEAPF32[$14>>2] = 300.0; - $64 = ((($14)) + 4|0); - HEAPF32[$64>>2] = 95.0; - $65 = HEAP32[(68)>>2]|0; - $66 = $65 << 1; + $66 = ((($14)) + 4|0); + HEAPF32[$66>>2] = 95.0; + $67 = HEAP32[(26780)>>2]|0; + $68 = $67 << 1; + $69 = (+($68|0)); HEAP32[$15>>2] = -1; - dest=$font$byval_copy21; src=48; stop=dest+36|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + ;HEAP32[$font$byval_copy21>>2]=HEAP32[26760>>2]|0;HEAP32[$font$byval_copy21+4>>2]=HEAP32[26760+4>>2]|0;HEAP32[$font$byval_copy21+8>>2]=HEAP32[26760+8>>2]|0;HEAP32[$font$byval_copy21+12>>2]=HEAP32[26760+12>>2]|0;HEAP32[$font$byval_copy21+16>>2]=HEAP32[26760+16>>2]|0;HEAP32[$font$byval_copy21+20>>2]=HEAP32[26760+20>>2]|0;HEAP32[$font$byval_copy21+24>>2]=HEAP32[26760+24>>2]|0;HEAP32[$font$byval_copy21+28>>2]=HEAP32[26760+28>>2]|0; ;HEAP32[$$byval_copy30>>2]=HEAP32[$14>>2]|0;HEAP32[$$byval_copy30+4>>2]=HEAP32[$14+4>>2]|0; ;HEAP8[$$byval_copy34>>0]=HEAP8[$15>>0]|0;HEAP8[$$byval_copy34+1>>0]=HEAP8[$15+1>>0]|0;HEAP8[$$byval_copy34+2>>0]=HEAP8[$15+2>>0]|0;HEAP8[$$byval_copy34+3>>0]=HEAP8[$15+3>>0]|0; - _DrawTextEx($font$byval_copy21,8488,$$byval_copy30,$66,2,$$byval_copy34); + _DrawTextEx($font$byval_copy21,8538,$$byval_copy30,$69,2,$$byval_copy34); HEAP8[$17>>0] = -26; - $67 = ((($17)) + 1|0); - HEAP8[$67>>0] = 41; - $68 = ((($17)) + 2|0); - HEAP8[$68>>0] = 55; - $69 = ((($17)) + 3|0); - HEAP8[$69>>0] = -1; + $70 = ((($17)) + 1|0); + HEAP8[$70>>0] = 41; + $71 = ((($17)) + 2|0); + HEAP8[$71>>0] = 55; + $72 = ((($17)) + 3|0); + HEAP8[$72>>0] = -1; ;HEAP8[$$byval_copy34>>0]=HEAP8[$17>>0]|0;HEAP8[$$byval_copy34+1>>0]=HEAP8[$17+1>>0]|0;HEAP8[$$byval_copy34+2>>0]=HEAP8[$17+2>>0]|0;HEAP8[$$byval_copy34+3>>0]=HEAP8[$17+3>>0]|0; _Fade($16,$$byval_copy34,0.60000002384185791); - ;HEAP32[$$byval_copy30>>2]=HEAP32[(6708)>>2]|0;HEAP32[$$byval_copy30+4>>2]=HEAP32[(6708)+4>>2]|0;HEAP32[$$byval_copy30+8>>2]=HEAP32[(6708)+8>>2]|0;HEAP32[$$byval_copy30+12>>2]=HEAP32[(6708)+12>>2]|0; + ;HEAP32[$$byval_copy30>>2]=HEAP32[(29204)>>2]|0;HEAP32[$$byval_copy30+4>>2]=HEAP32[(29204)+4>>2]|0;HEAP32[$$byval_copy30+8>>2]=HEAP32[(29204)+8>>2]|0;HEAP32[$$byval_copy30+12>>2]=HEAP32[(29204)+12>>2]|0; ;HEAP8[$$byval_copy34>>0]=HEAP8[$16>>0]|0;HEAP8[$$byval_copy34+1>>0]=HEAP8[$16+1>>0]|0;HEAP8[$$byval_copy34+2>>0]=HEAP8[$16+2>>0]|0;HEAP8[$$byval_copy34+3>>0]=HEAP8[$16+3>>0]|0; _DrawRectangleRec($$byval_copy30,$$byval_copy34); HEAP8[$19>>0] = -26; - $70 = ((($19)) + 1|0); - HEAP8[$70>>0] = 41; - $71 = ((($19)) + 2|0); - HEAP8[$71>>0] = 55; - $72 = ((($19)) + 3|0); - HEAP8[$72>>0] = -1; + $73 = ((($19)) + 1|0); + HEAP8[$73>>0] = 41; + $74 = ((($19)) + 2|0); + HEAP8[$74>>0] = 55; + $75 = ((($19)) + 3|0); + HEAP8[$75>>0] = -1; ;HEAP8[$$byval_copy34>>0]=HEAP8[$19>>0]|0;HEAP8[$$byval_copy34+1>>0]=HEAP8[$19+1>>0]|0;HEAP8[$$byval_copy34+2>>0]=HEAP8[$19+2>>0]|0;HEAP8[$$byval_copy34+3>>0]=HEAP8[$19+3>>0]|0; _Fade($18,$$byval_copy34,0.60000002384185791); - ;HEAP32[$$byval_copy30>>2]=HEAP32[(6988)>>2]|0;HEAP32[$$byval_copy30+4>>2]=HEAP32[(6988)+4>>2]|0;HEAP32[$$byval_copy30+8>>2]=HEAP32[(6988)+8>>2]|0;HEAP32[$$byval_copy30+12>>2]=HEAP32[(6988)+12>>2]|0; + ;HEAP32[$$byval_copy30>>2]=HEAP32[(29388)>>2]|0;HEAP32[$$byval_copy30+4>>2]=HEAP32[(29388)+4>>2]|0;HEAP32[$$byval_copy30+8>>2]=HEAP32[(29388)+8>>2]|0;HEAP32[$$byval_copy30+12>>2]=HEAP32[(29388)+12>>2]|0; ;HEAP8[$$byval_copy34>>0]=HEAP8[$18>>0]|0;HEAP8[$$byval_copy34+1>>0]=HEAP8[$18+1>>0]|0;HEAP8[$$byval_copy34+2>>0]=HEAP8[$18+2>>0]|0;HEAP8[$$byval_copy34+3>>0]=HEAP8[$18+3>>0]|0; _DrawRectangleRec($$byval_copy30,$$byval_copy34); HEAP8[$21>>0] = -26; - $73 = ((($21)) + 1|0); - HEAP8[$73>>0] = 41; - $74 = ((($21)) + 2|0); - HEAP8[$74>>0] = 55; - $75 = ((($21)) + 3|0); - HEAP8[$75>>0] = -1; + $76 = ((($21)) + 1|0); + HEAP8[$76>>0] = 41; + $77 = ((($21)) + 2|0); + HEAP8[$77>>0] = 55; + $78 = ((($21)) + 3|0); + HEAP8[$78>>0] = -1; ;HEAP8[$$byval_copy34>>0]=HEAP8[$21>>0]|0;HEAP8[$$byval_copy34+1>>0]=HEAP8[$21+1>>0]|0;HEAP8[$$byval_copy34+2>>0]=HEAP8[$21+2>>0]|0;HEAP8[$$byval_copy34+3>>0]=HEAP8[$21+3>>0]|0; _Fade($20,$$byval_copy34,0.60000002384185791); - ;HEAP32[$$byval_copy30>>2]=HEAP32[(6844)>>2]|0;HEAP32[$$byval_copy30+4>>2]=HEAP32[(6844)+4>>2]|0;HEAP32[$$byval_copy30+8>>2]=HEAP32[(6844)+8>>2]|0;HEAP32[$$byval_copy30+12>>2]=HEAP32[(6844)+12>>2]|0; + ;HEAP32[$$byval_copy30>>2]=HEAP32[(29296)>>2]|0;HEAP32[$$byval_copy30+4>>2]=HEAP32[(29296)+4>>2]|0;HEAP32[$$byval_copy30+8>>2]=HEAP32[(29296)+8>>2]|0;HEAP32[$$byval_copy30+12>>2]=HEAP32[(29296)+12>>2]|0; ;HEAP8[$$byval_copy34>>0]=HEAP8[$20>>0]|0;HEAP8[$$byval_copy34+1>>0]=HEAP8[$20+1>>0]|0;HEAP8[$$byval_copy34+2>>0]=HEAP8[$20+2>>0]|0;HEAP8[$$byval_copy34+3>>0]=HEAP8[$20+3>>0]|0; _DrawRectangleRec($$byval_copy30,$$byval_copy34); _DrawPlayer(); STACKTOP = sp;return; - } else if ((($46|0) == 1)) { - HEAPF32[$11>>2] = 100.0; - $49 = ((($11)) + 4|0); - HEAPF32[$49>>2] = 80.0; - $50 = HEAP32[(68)>>2]|0; - HEAP32[$12>>2] = -1; - dest=$font$byval_copy21; src=48; stop=dest+36|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - ;HEAP32[$$byval_copy30>>2]=HEAP32[$11>>2]|0;HEAP32[$$byval_copy30+4>>2]=HEAP32[$11+4>>2]|0; - ;HEAP8[$$byval_copy34>>0]=HEAP8[$12>>0]|0;HEAP8[$$byval_copy34+1>>0]=HEAP8[$12+1>>0]|0;HEAP8[$$byval_copy34+2>>0]=HEAP8[$12+2>>0]|0;HEAP8[$$byval_copy34+3>>0]=HEAP8[$12+3>>0]|0; - _DrawTextEx($font$byval_copy21,7104,$$byval_copy30,$50,2,$$byval_copy34); - $51 = HEAP32[6208>>2]|0; - $52 = (($51|0) / 30)&-1; - $53 = $52 & 1; - $54 = ($53|0)==(0); - if ($54) { + break; + } + default: { + $79 = HEAP32[7257]|0; + $80 = ($79|0)==(0); + if ($80) { _DrawPlayer(); STACKTOP = sp;return; } - $55 = (_GetScreenWidth()|0); - $56 = (($55) + -280)|0; - HEAP8[$13>>0] = 0; - $57 = ((($13)) + 1|0); - HEAP8[$57>>0] = 0; - $58 = ((($13)) + 2|0); - HEAP8[$58>>0] = 0; - $59 = ((($13)) + 3|0); - HEAP8[$59>>0] = -1; - ;HEAP8[$$byval_copy34>>0]=HEAP8[$13>>0]|0;HEAP8[$$byval_copy34+1>>0]=HEAP8[$13+1>>0]|0;HEAP8[$$byval_copy34+2>>0]=HEAP8[$13+2>>0]|0;HEAP8[$$byval_copy34+3>>0]=HEAP8[$13+3>>0]|0; - _DrawText(8608,$56,200,20,$$byval_copy34); - _DrawPlayer(); - STACKTOP = sp;return; - } else { - $76 = HEAP32[6184>>2]|0; - $77 = ($76|0)==(0); - if ($77) { + $81 = HEAP32[7259]|0; + $82 = (($81|0) / 30)&-1; + $83 = $82 & 1; + $84 = ($83|0)==(0); + if ($84) { _DrawPlayer(); STACKTOP = sp;return; } - $78 = HEAP32[6208>>2]|0; - $79 = (($78|0) / 30)&-1; - $80 = $79 & 1; - $81 = ($80|0)==(0); - if ($81) { - _DrawPlayer(); - STACKTOP = sp;return; - } - $82 = (_GetScreenWidth()|0); + $85 = (_GetScreenWidth()|0); HEAP8[$23>>0] = -56; - $83 = ((($23)) + 1|0); - HEAP8[$83>>0] = -56; - $84 = ((($23)) + 2|0); - HEAP8[$84>>0] = -56; - $85 = ((($23)) + 3|0); - HEAP8[$85>>0] = -1; + $86 = ((($23)) + 1|0); + HEAP8[$86>>0] = -56; + $87 = ((($23)) + 2|0); + HEAP8[$87>>0] = -56; + $88 = ((($23)) + 3|0); + HEAP8[$88>>0] = -1; ;HEAP8[$$byval_copy34>>0]=HEAP8[$23>>0]|0;HEAP8[$$byval_copy34+1>>0]=HEAP8[$23+1>>0]|0;HEAP8[$$byval_copy34+2>>0]=HEAP8[$23+2>>0]|0;HEAP8[$$byval_copy34+3>>0]=HEAP8[$23+3>>0]|0; _Fade($22,$$byval_copy34,0.5); ;HEAP8[$$byval_copy34>>0]=HEAP8[$22>>0]|0;HEAP8[$$byval_copy34+1>>0]=HEAP8[$22+1>>0]|0;HEAP8[$$byval_copy34+2>>0]=HEAP8[$22+2>>0]|0;HEAP8[$$byval_copy34+3>>0]=HEAP8[$22+3>>0]|0; - _DrawRectangle(0,0,$82,50,$$byval_copy34); + _DrawRectangle(0,0,$85,50,$$byval_copy34); HEAP8[$24>>0] = 0; - $86 = ((($24)) + 1|0); - HEAP8[$86>>0] = 0; - $87 = ((($24)) + 2|0); - HEAP8[$87>>0] = 0; - $88 = ((($24)) + 3|0); - HEAP8[$88>>0] = -1; + $89 = ((($24)) + 1|0); + HEAP8[$89>>0] = 0; + $90 = ((($24)) + 2|0); + HEAP8[$90>>0] = 0; + $91 = ((($24)) + 3|0); + HEAP8[$91>>0] = -1; ;HEAP8[$$byval_copy34>>0]=HEAP8[$24>>0]|0;HEAP8[$$byval_copy34+1>>0]=HEAP8[$24+1>>0]|0;HEAP8[$$byval_copy34+2>>0]=HEAP8[$24+2>>0]|0;HEAP8[$$byval_copy34+3>>0]=HEAP8[$24+3>>0]|0; - _DrawText(8504,420,15,20,$$byval_copy34); + _DrawText(8553,420,15,20,$$byval_copy34); _DrawPlayer(); STACKTOP = sp;return; } + } } function _UnloadKitchenScreen() { var $window$byval_copy = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 96|0; + STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0); $window$byval_copy = sp; - ;HEAP32[$window$byval_copy>>2]=HEAP32[6544>>2]|0;HEAP32[$window$byval_copy+4>>2]=HEAP32[6544+4>>2]|0;HEAP32[$window$byval_copy+8>>2]=HEAP32[6544+8>>2]|0;HEAP32[$window$byval_copy+12>>2]=HEAP32[6544+12>>2]|0;HEAP32[$window$byval_copy+16>>2]=HEAP32[6544+16>>2]|0; + ;HEAP32[$window$byval_copy>>2]=HEAP32[29052>>2]|0;HEAP32[$window$byval_copy+4>>2]=HEAP32[29052+4>>2]|0;HEAP32[$window$byval_copy+8>>2]=HEAP32[29052+8>>2]|0;HEAP32[$window$byval_copy+12>>2]=HEAP32[29052+12>>2]|0;HEAP32[$window$byval_copy+16>>2]=HEAP32[29052+16>>2]|0; _UnloadTexture($window$byval_copy); - dest=$window$byval_copy; src=6680; stop=dest+92|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$window$byval_copy; src=29176; stop=dest+92|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _UnloadMonster($window$byval_copy); - dest=$window$byval_copy; src=6816; stop=dest+92|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$window$byval_copy; src=29268; stop=dest+92|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _UnloadMonster($window$byval_copy); - dest=$window$byval_copy; src=6960; stop=dest+92|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$window$byval_copy; src=29360; stop=dest+92|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _UnloadMonster($window$byval_copy); STACKTOP = sp;return; } function _FinishKitchenScreen() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[6488>>2]|0; + $0 = HEAP32[7262]|0; return ($0|0); } function _InitBathroomScreen() { - var $0 = 0, $1 = 0, $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0.0, $19 = 0.0, $2 = 0, $20 = 0, $21 = 0.0, $22 = 0.0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0.0, $29 = 0.0, $3 = 0, $30 = 0, $31 = 0.0, $32 = 0.0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0.0, $39 = 0.0, $4 = 0, $40 = 0, $41 = 0.0, $42 = 0.0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0.0, $12 = 0, $13 = 0.0, $14 = 0.0, $15 = 0, $16 = 0.0, $17 = 0.0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0.0, $24 = 0.0, $25 = 0, $26 = 0.0; + var $27 = 0.0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0.0, $34 = 0.0, $35 = 0, $36 = 0.0, $37 = 0.0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $5 = 0, $6 = 0; + var $7 = 0, $8 = 0, $9 = 0.0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 80|0; + STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0); $0 = sp + 60|0; - $1 = sp; + $1 = sp + 40|0; $2 = sp + 20|0; - $3 = sp + 40|0; + $3 = sp; _ResetPlayer(); - HEAP32[7360>>2] = 0; - HEAP32[7368>>2] = -1; - HEAP32[7376>>2] = 0; - HEAP32[7384>>2] = 0; - HEAP32[7392>>2] = 0; - _memset((7400|0),0,256)|0; - HEAP32[7656>>2] = 0; - HEAP32[7664>>2] = 0; - _LoadTexture($0,7672); - ;HEAP32[7720>>2]=HEAP32[$0>>2]|0;HEAP32[7720+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[7720+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[7720+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[7720+16>>2]=HEAP32[$0+16>>2]|0; - HEAP32[7360>>2] = 0; - HEAP32[7368>>2] = -1; - HEAP32[7376>>2] = 0; - HEAP32[7384>>2] = 0; - HEAP32[7392>>2] = 0; - _memset((7400|0),0,256)|0; - HEAPF32[7744>>2] = 1070.0; - HEAPF32[(7748)>>2] = 135.0; - HEAP32[(7752)>>2] = 2; - HEAP32[(7756)>>2] = 1; - $4 = HEAP32[(92)>>2]|0; + HEAP32[7364] = 0; + HEAP32[14] = -1; + HEAP32[7365] = 0; + HEAP32[7366] = 0; + HEAP32[7367] = 0; + _memset((35320|0),0,256)|0; + HEAP32[7368] = 0; + HEAP32[7369] = 0; + _LoadTexture($0,8117); + ;HEAP32[29480>>2]=HEAP32[$0>>2]|0;HEAP32[29480+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[29480+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[29480+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[29480+16>>2]=HEAP32[$0+16>>2]|0; + HEAP32[7364] = 0; + HEAP32[14] = -1; + HEAP32[7365] = 0; + HEAP32[7366] = 0; + HEAP32[7367] = 0; + _memset((35320|0),0,256)|0; + HEAPF32[7375] = 1070.0; + HEAPF32[(29504)>>2] = 135.0; + HEAP32[(29508)>>2] = 2; + HEAP32[(29512)>>2] = 1; + $4 = HEAP32[(26796)>>2]|0; $5 = (($4|0) / 3)&-1; - $6 = HEAP32[(7752)>>2]|0; - $7 = Math_imul($6, $5)|0; - $8 = HEAP32[(96)>>2]|0; - $9 = (($8|0) / 2)&-1; - HEAP32[(7764)>>2] = $7; - HEAP32[(7768)>>2] = $9; - HEAP32[(7772)>>2] = $5; - HEAP32[(7776)>>2] = $9; - $10 = +HEAPF32[7744>>2]; - $11 = (~~(($10))); - $12 = +HEAPF32[(7748)>>2]; - $13 = (~~(($12))); - $14 = HEAP32[(92)>>2]|0; - $15 = (($14|0) / 3)&-1; - $16 = HEAP32[(96)>>2]|0; - $17 = (($16|0) / 2)&-1; - HEAP32[(7780)>>2] = $11; - HEAP32[(7784)>>2] = $13; - HEAP32[(7788)>>2] = $15; - HEAP32[(7792)>>2] = $17; - HEAP32[(7760)>>2] = 0; - HEAPF32[7800>>2] = 35.0; - HEAPF32[(7804)>>2] = 334.0; - _LoadTexture($1,7896); - ;HEAP32[(7808)>>2]=HEAP32[$1>>2]|0;HEAP32[(7808)+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[(7808)+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[(7808)+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[(7808)+16>>2]=HEAP32[$1+16>>2]|0; - HEAP32[(7868)>>2] = 0; - HEAP32[(7864)>>2] = 0; - HEAP32[(7876)>>2] = 4; - $18 = +HEAPF32[7800>>2]; - $19 = $18 + 20.0; - $20 = (~~(($19))); - $21 = +HEAPF32[(7804)>>2]; - $22 = $21 + 0.0; - $23 = (~~(($22))); - HEAP32[(7828)>>2] = $20; - HEAP32[(7832)>>2] = $23; - HEAP32[(7836)>>2] = 90; - HEAP32[(7840)>>2] = 380; - $24 = HEAP32[(7812)>>2]|0; - $25 = HEAP32[(7876)>>2]|0; - $26 = (($24|0) / ($25|0))&-1; - $27 = HEAP32[(7816)>>2]|0; - HEAP32[(7844)>>2] = 0; - HEAP32[(7848)>>2] = 0; - HEAP32[(7852)>>2] = $26; - HEAP32[(7856)>>2] = $27; - HEAP32[(7884)>>2] = 0; - HEAP32[(7880)>>2] = 0; - HEAP32[(7888)>>2] = 1; - HEAPF32[7944>>2] = 300.0; - HEAPF32[(7948)>>2] = 200.0; - _LoadTexture($2,8040); - ;HEAP32[(7952)>>2]=HEAP32[$2>>2]|0;HEAP32[(7952)+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[(7952)+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[(7952)+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[(7952)+16>>2]=HEAP32[$2+16>>2]|0; - HEAP32[(8012)>>2] = 0; - HEAP32[(8008)>>2] = 0; - HEAP32[(8020)>>2] = 4; - $28 = +HEAPF32[7944>>2]; - $29 = $28 + 40.0; - $30 = (~~(($29))); - $31 = +HEAPF32[(7948)>>2]; - $32 = $31 + 20.0; - $33 = (~~(($32))); - HEAP32[(7972)>>2] = $30; - HEAP32[(7976)>>2] = $33; - HEAP32[(7980)>>2] = 190; - HEAP32[(7984)>>2] = 200; - $34 = HEAP32[(7956)>>2]|0; - $35 = HEAP32[(8020)>>2]|0; - $36 = (($34|0) / ($35|0))&-1; - $37 = HEAP32[(7960)>>2]|0; - HEAP32[(7988)>>2] = 0; - HEAP32[(7992)>>2] = 0; - HEAP32[(7996)>>2] = $36; - HEAP32[(8000)>>2] = $37; - HEAP32[(8028)>>2] = 0; - HEAP32[(8024)>>2] = 0; - HEAP32[(8032)>>2] = 0; - HEAPF32[8080>>2] = 760.0; - HEAPF32[(8084)>>2] = 430.0; - _LoadTexture($3,8176); - ;HEAP32[(8088)>>2]=HEAP32[$3>>2]|0;HEAP32[(8088)+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[(8088)+8>>2]=HEAP32[$3+8>>2]|0;HEAP32[(8088)+12>>2]=HEAP32[$3+12>>2]|0;HEAP32[(8088)+16>>2]=HEAP32[$3+16>>2]|0; - HEAP32[(8148)>>2] = 0; - HEAP32[(8144)>>2] = 0; - HEAP32[(8156)>>2] = 4; - $38 = +HEAPF32[8080>>2]; - $39 = $38 + 30.0; - $40 = (~~(($39))); - $41 = +HEAPF32[(8084)>>2]; - $42 = $41 + 30.0; - $43 = (~~(($42))); - HEAP32[(8108)>>2] = $40; - HEAP32[(8112)>>2] = $43; - HEAP32[(8116)>>2] = 120; - HEAP32[(8120)>>2] = 190; - $44 = HEAP32[(8092)>>2]|0; - $45 = HEAP32[(8156)>>2]|0; - $46 = (($44|0) / ($45|0))&-1; - $47 = HEAP32[(8096)>>2]|0; - HEAP32[(8124)>>2] = 0; - HEAP32[(8128)>>2] = 0; - HEAP32[(8132)>>2] = $46; - HEAP32[(8136)>>2] = $47; - HEAP32[(8164)>>2] = 0; - HEAP32[(8160)>>2] = 0; - HEAP32[(8168)>>2] = 1; + $6 = $5 << 1; + $7 = HEAP32[(26800)>>2]|0; + $8 = (($7|0) / 2)&-1; + HEAP32[(29520)>>2] = $6; + HEAP32[(29524)>>2] = $8; + HEAP32[(29528)>>2] = $5; + HEAP32[(29532)>>2] = $8; + $9 = +HEAPF32[7375]; + $10 = (~~(($9))); + $11 = +HEAPF32[(29504)>>2]; + $12 = (~~(($11))); + HEAP32[(29536)>>2] = $10; + HEAP32[(29540)>>2] = $12; + HEAP32[(29544)>>2] = $5; + HEAP32[(29548)>>2] = $8; + HEAP32[(29516)>>2] = 0; + HEAPF32[7388] = 35.0; + HEAPF32[(29556)>>2] = 334.0; + _LoadTexture($1,8160); + ;HEAP32[(29560)>>2]=HEAP32[$1>>2]|0;HEAP32[(29560)+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[(29560)+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[(29560)+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[(29560)+16>>2]=HEAP32[$1+16>>2]|0; + HEAP32[(29620)>>2] = 0; + HEAP32[(29616)>>2] = 0; + HEAP32[(29628)>>2] = 4; + $13 = +HEAPF32[7388]; + $14 = $13 + 20.0; + $15 = (~~(($14))); + $16 = +HEAPF32[(29556)>>2]; + $17 = $16 + 0.0; + $18 = (~~(($17))); + HEAP32[(29580)>>2] = $15; + HEAP32[(29584)>>2] = $18; + HEAP32[(29588)>>2] = 90; + HEAP32[(29592)>>2] = 380; + $19 = HEAP32[(29564)>>2]|0; + $20 = HEAP32[(29628)>>2]|0; + $21 = (($19|0) / ($20|0))&-1; + $22 = HEAP32[(29568)>>2]|0; + HEAP32[(29596)>>2] = 0; + HEAP32[(29600)>>2] = 0; + HEAP32[(29604)>>2] = $21; + HEAP32[(29608)>>2] = $22; + HEAP32[(29636)>>2] = 0; + HEAP32[(29632)>>2] = 0; + HEAP32[(29640)>>2] = 1; + HEAPF32[7411] = 300.0; + HEAPF32[(29648)>>2] = 200.0; + _LoadTexture($2,8201); + ;HEAP32[(29652)>>2]=HEAP32[$2>>2]|0;HEAP32[(29652)+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[(29652)+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[(29652)+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[(29652)+16>>2]=HEAP32[$2+16>>2]|0; + HEAP32[(29712)>>2] = 0; + HEAP32[(29708)>>2] = 0; + HEAP32[(29720)>>2] = 4; + $23 = +HEAPF32[7411]; + $24 = $23 + 40.0; + $25 = (~~(($24))); + $26 = +HEAPF32[(29648)>>2]; + $27 = $26 + 20.0; + $28 = (~~(($27))); + HEAP32[(29672)>>2] = $25; + HEAP32[(29676)>>2] = $28; + HEAP32[(29680)>>2] = 190; + HEAP32[(29684)>>2] = 200; + $29 = HEAP32[(29656)>>2]|0; + $30 = HEAP32[(29720)>>2]|0; + $31 = (($29|0) / ($30|0))&-1; + $32 = HEAP32[(29660)>>2]|0; + HEAP32[(29688)>>2] = 0; + HEAP32[(29692)>>2] = 0; + HEAP32[(29696)>>2] = $31; + HEAP32[(29700)>>2] = $32; + HEAP32[(29728)>>2] = 0; + HEAP32[(29724)>>2] = 0; + HEAP32[(29732)>>2] = 0; + HEAPF32[7434] = 760.0; + HEAPF32[(29740)>>2] = 430.0; + _LoadTexture($3,8239); + ;HEAP32[(29744)>>2]=HEAP32[$3>>2]|0;HEAP32[(29744)+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[(29744)+8>>2]=HEAP32[$3+8>>2]|0;HEAP32[(29744)+12>>2]=HEAP32[$3+12>>2]|0;HEAP32[(29744)+16>>2]=HEAP32[$3+16>>2]|0; + HEAP32[(29804)>>2] = 0; + HEAP32[(29800)>>2] = 0; + HEAP32[(29812)>>2] = 4; + $33 = +HEAPF32[7434]; + $34 = $33 + 30.0; + $35 = (~~(($34))); + $36 = +HEAPF32[(29740)>>2]; + $37 = $36 + 30.0; + $38 = (~~(($37))); + HEAP32[(29764)>>2] = $35; + HEAP32[(29768)>>2] = $38; + HEAP32[(29772)>>2] = 120; + HEAP32[(29776)>>2] = 190; + $39 = HEAP32[(29748)>>2]|0; + $40 = HEAP32[(29812)>>2]|0; + $41 = (($39|0) / ($40|0))&-1; + $42 = HEAP32[(29752)>>2]|0; + HEAP32[(29780)>>2] = 0; + HEAP32[(29784)>>2] = 0; + HEAP32[(29788)>>2] = $41; + HEAP32[(29792)>>2] = $42; + HEAP32[(29820)>>2] = 0; + HEAP32[(29816)>>2] = 0; + HEAP32[(29824)>>2] = 1; STACKTOP = sp;return; } function _UpdateBathroomScreen() { - var $$15 = 0, $$byval_copy24 = 0, $$pr = 0, $$pr16 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0; - var $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0; - var $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0; - var $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0; - var $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0; - var $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $i$018 = 0, $or$cond = 0, $or$cond11 = 0, $or$cond13 = 0, $or$cond3 = 0, $or$cond5 = 0, $or$cond7 = 0, $or$cond9 = 0, $sndScream$byval_copy27 = 0, $storemerge = 0, label = 0, sp = 0; + var $$023 = 0, $$byval_copy24 = 0, $$pr = 0, $$pr21 = 0, $$sink13 = 0, $$sink14 = 0, $$sink6 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0; + var $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0; + var $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0; + var $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0; + var $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0; + var $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, $or$cond10 = 0, $or$cond12 = 0, $or$cond16 = 0, $or$cond3 = 0, $or$cond5 = 0, $or$cond8 = 0, $sndScream$byval_copy27 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 80|0; + STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0); $sndScream$byval_copy27 = sp + 56|0; - $$byval_copy24 = sp; - $0 = sp + 16|0; - $1 = sp + 24|0; - $2 = sp + 32|0; - $3 = sp + 40|0; - $4 = sp + 48|0; - $5 = HEAP32[(208)>>2]|0; + $$byval_copy24 = sp + 24|0; + $0 = sp + 48|0; + $1 = sp + 40|0; + $2 = sp + 16|0; + $3 = sp + 8|0; + $4 = sp; + $5 = HEAP32[(26912)>>2]|0; $6 = ($5|0)==(0); do { if (!($6)) { _GetMousePosition($0); ;HEAP32[$$byval_copy24>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy24+4>>2]=HEAP32[$0+4>>2]|0; - ;HEAP32[$sndScream$byval_copy27>>2]=HEAP32[(7780)>>2]|0;HEAP32[$sndScream$byval_copy27+4>>2]=HEAP32[(7780)+4>>2]|0;HEAP32[$sndScream$byval_copy27+8>>2]=HEAP32[(7780)+8>>2]|0;HEAP32[$sndScream$byval_copy27+12>>2]=HEAP32[(7780)+12>>2]|0; + ;HEAP32[$sndScream$byval_copy27>>2]=HEAP32[(29536)>>2]|0;HEAP32[$sndScream$byval_copy27+4>>2]=HEAP32[(29536)+4>>2]|0;HEAP32[$sndScream$byval_copy27+8>>2]=HEAP32[(29536)+8>>2]|0;HEAP32[$sndScream$byval_copy27+12>>2]=HEAP32[(29536)+12>>2]|0; $7 = (_CheckCollisionPointRec($$byval_copy24,$sndScream$byval_copy27)|0); $8 = ($7|0)==(0); if ($8) { - ;HEAP32[$$byval_copy24>>2]=HEAP32[(144)>>2]|0;HEAP32[$$byval_copy24+4>>2]=HEAP32[(144)+4>>2]|0;HEAP32[$$byval_copy24+8>>2]=HEAP32[(144)+8>>2]|0;HEAP32[$$byval_copy24+12>>2]=HEAP32[(144)+12>>2]|0; - ;HEAP32[$sndScream$byval_copy27>>2]=HEAP32[(7780)>>2]|0;HEAP32[$sndScream$byval_copy27+4>>2]=HEAP32[(7780)+4>>2]|0;HEAP32[$sndScream$byval_copy27+8>>2]=HEAP32[(7780)+8>>2]|0;HEAP32[$sndScream$byval_copy27+12>>2]=HEAP32[(7780)+12>>2]|0; + ;HEAP32[$$byval_copy24>>2]=HEAP32[(26848)>>2]|0;HEAP32[$$byval_copy24+4>>2]=HEAP32[(26848)+4>>2]|0;HEAP32[$$byval_copy24+8>>2]=HEAP32[(26848)+8>>2]|0;HEAP32[$$byval_copy24+12>>2]=HEAP32[(26848)+12>>2]|0; + ;HEAP32[$sndScream$byval_copy27>>2]=HEAP32[(29536)>>2]|0;HEAP32[$sndScream$byval_copy27+4>>2]=HEAP32[(29536)+4>>2]|0;HEAP32[$sndScream$byval_copy27+8>>2]=HEAP32[(29536)+8>>2]|0;HEAP32[$sndScream$byval_copy27+12>>2]=HEAP32[(29536)+12>>2]|0; $9 = (_CheckCollisionRecs($$byval_copy24,$sndScream$byval_copy27)|0); $10 = ($9|0)==(0); if ($10) { - HEAP32[(7760)>>2] = 0; + HEAP32[(29516)>>2] = 0; break; } } - HEAP32[(7760)>>2] = 1; - ;HEAP32[$$byval_copy24>>2]=HEAP32[(144)>>2]|0;HEAP32[$$byval_copy24+4>>2]=HEAP32[(144)+4>>2]|0;HEAP32[$$byval_copy24+8>>2]=HEAP32[(144)+8>>2]|0;HEAP32[$$byval_copy24+12>>2]=HEAP32[(144)+12>>2]|0; - ;HEAP32[$sndScream$byval_copy27>>2]=HEAP32[(7780)>>2]|0;HEAP32[$sndScream$byval_copy27+4>>2]=HEAP32[(7780)+4>>2]|0;HEAP32[$sndScream$byval_copy27+8>>2]=HEAP32[(7780)+8>>2]|0;HEAP32[$sndScream$byval_copy27+12>>2]=HEAP32[(7780)+12>>2]|0; + HEAP32[(29516)>>2] = 1; + ;HEAP32[$$byval_copy24>>2]=HEAP32[(26848)>>2]|0;HEAP32[$$byval_copy24+4>>2]=HEAP32[(26848)+4>>2]|0;HEAP32[$$byval_copy24+8>>2]=HEAP32[(26848)+8>>2]|0;HEAP32[$$byval_copy24+12>>2]=HEAP32[(26848)+12>>2]|0; + ;HEAP32[$sndScream$byval_copy27>>2]=HEAP32[(29536)>>2]|0;HEAP32[$sndScream$byval_copy27+4>>2]=HEAP32[(29536)+4>>2]|0;HEAP32[$sndScream$byval_copy27+8>>2]=HEAP32[(29536)+8>>2]|0;HEAP32[$sndScream$byval_copy27+12>>2]=HEAP32[(29536)+12>>2]|0; $11 = (_CheckCollisionRecs($$byval_copy24,$sndScream$byval_copy27)|0); $12 = ($11|0)==(0); if (!($12)) { @@ -18492,7 +18204,7 @@ function _UpdateBathroomScreen() { } else { _GetMousePosition($1); ;HEAP32[$$byval_copy24>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy24+4>>2]=HEAP32[$1+4>>2]|0; - ;HEAP32[$sndScream$byval_copy27>>2]=HEAP32[(7780)>>2]|0;HEAP32[$sndScream$byval_copy27+4>>2]=HEAP32[(7780)+4>>2]|0;HEAP32[$sndScream$byval_copy27+8>>2]=HEAP32[(7780)+8>>2]|0;HEAP32[$sndScream$byval_copy27+12>>2]=HEAP32[(7780)+12>>2]|0; + ;HEAP32[$sndScream$byval_copy27>>2]=HEAP32[(29536)>>2]|0;HEAP32[$sndScream$byval_copy27+4>>2]=HEAP32[(29536)+4>>2]|0;HEAP32[$sndScream$byval_copy27+8>>2]=HEAP32[(29536)+8>>2]|0;HEAP32[$sndScream$byval_copy27+12>>2]=HEAP32[(29536)+12>>2]|0; $15 = (_CheckCollisionPointRec($$byval_copy24,$sndScream$byval_copy27)|0); $16 = ($15|0)==(0); if ($16) { @@ -18506,348 +18218,379 @@ function _UpdateBathroomScreen() { break; } } - $19 = HEAP32[(7756)>>2]|0; + $19 = HEAP32[(29512)>>2]|0; $20 = ($19|0)==(0); if ($20) { - HEAP32[7664>>2] = 1; + HEAP32[7369] = 1; break; } else { - HEAP32[(7768)>>2] = 0; - HEAP32[(7756)>>2] = 0; - ;HEAP32[$sndScream$byval_copy27>>2]=HEAP32[112>>2]|0;HEAP32[$sndScream$byval_copy27+4>>2]=HEAP32[112+4>>2]|0; + HEAP32[(29524)>>2] = 0; + HEAP32[(29512)>>2] = 0; + ;HEAP32[$sndScream$byval_copy27>>2]=HEAP32[26812>>2]|0;HEAP32[$sndScream$byval_copy27+4>>2]=HEAP32[26812+4>>2]|0;HEAP32[$sndScream$byval_copy27+8>>2]=HEAP32[26812+8>>2]|0; _PlaySound($sndScream$byval_copy27); break; } } } } while(0); - $21 = HEAP32[7376>>2]|0; + $21 = HEAP32[7365]|0; $22 = ($21|0)>(2); if ($22) { _UpdatePlayer(); - _UpdateMonster(7800); - _UpdateMonster(7944); - _UpdateMonster(8080); + _UpdateMonster(29552); + _UpdateMonster(29644); + _UpdateMonster(29736); } - ;HEAP32[$$byval_copy24>>2]=HEAP32[(144)>>2]|0;HEAP32[$$byval_copy24+4>>2]=HEAP32[(144)+4>>2]|0;HEAP32[$$byval_copy24+8>>2]=HEAP32[(144)+8>>2]|0;HEAP32[$$byval_copy24+12>>2]=HEAP32[(144)+12>>2]|0; - ;HEAP32[$sndScream$byval_copy27>>2]=HEAP32[(7828)>>2]|0;HEAP32[$sndScream$byval_copy27+4>>2]=HEAP32[(7828)+4>>2]|0;HEAP32[$sndScream$byval_copy27+8>>2]=HEAP32[(7828)+8>>2]|0;HEAP32[$sndScream$byval_copy27+12>>2]=HEAP32[(7828)+12>>2]|0; + ;HEAP32[$$byval_copy24>>2]=HEAP32[(26848)>>2]|0;HEAP32[$$byval_copy24+4>>2]=HEAP32[(26848)+4>>2]|0;HEAP32[$$byval_copy24+8>>2]=HEAP32[(26848)+8>>2]|0;HEAP32[$$byval_copy24+12>>2]=HEAP32[(26848)+12>>2]|0; + ;HEAP32[$sndScream$byval_copy27>>2]=HEAP32[(29580)>>2]|0;HEAP32[$sndScream$byval_copy27+4>>2]=HEAP32[(29580)+4>>2]|0;HEAP32[$sndScream$byval_copy27+8>>2]=HEAP32[(29580)+8>>2]|0;HEAP32[$sndScream$byval_copy27+12>>2]=HEAP32[(29580)+12>>2]|0; $23 = (_CheckCollisionRecs($$byval_copy24,$sndScream$byval_copy27)|0); $24 = ($23|0)==(0); - $25 = HEAP32[(7880)>>2]|0; + $25 = HEAP32[(29632)>>2]|0; $26 = ($25|0)!=(0); $or$cond = $24 | $26; if ($or$cond) { - ;HEAP32[$$byval_copy24>>2]=HEAP32[(144)>>2]|0;HEAP32[$$byval_copy24+4>>2]=HEAP32[(144)+4>>2]|0;HEAP32[$$byval_copy24+8>>2]=HEAP32[(144)+8>>2]|0;HEAP32[$$byval_copy24+12>>2]=HEAP32[(144)+12>>2]|0; - ;HEAP32[$sndScream$byval_copy27>>2]=HEAP32[(7972)>>2]|0;HEAP32[$sndScream$byval_copy27+4>>2]=HEAP32[(7972)+4>>2]|0;HEAP32[$sndScream$byval_copy27+8>>2]=HEAP32[(7972)+8>>2]|0;HEAP32[$sndScream$byval_copy27+12>>2]=HEAP32[(7972)+12>>2]|0; + ;HEAP32[$$byval_copy24>>2]=HEAP32[(26848)>>2]|0;HEAP32[$$byval_copy24+4>>2]=HEAP32[(26848)+4>>2]|0;HEAP32[$$byval_copy24+8>>2]=HEAP32[(26848)+8>>2]|0;HEAP32[$$byval_copy24+12>>2]=HEAP32[(26848)+12>>2]|0; + ;HEAP32[$sndScream$byval_copy27>>2]=HEAP32[(29672)>>2]|0;HEAP32[$sndScream$byval_copy27+4>>2]=HEAP32[(29672)+4>>2]|0;HEAP32[$sndScream$byval_copy27+8>>2]=HEAP32[(29672)+8>>2]|0;HEAP32[$sndScream$byval_copy27+12>>2]=HEAP32[(29672)+12>>2]|0; $27 = (_CheckCollisionRecs($$byval_copy24,$sndScream$byval_copy27)|0); $28 = ($27|0)==(0); - $29 = HEAP32[(8024)>>2]|0; + $29 = HEAP32[(29724)>>2]|0; $30 = ($29|0)!=(0); $or$cond3 = $28 | $30; if ($or$cond3) { - ;HEAP32[$$byval_copy24>>2]=HEAP32[(144)>>2]|0;HEAP32[$$byval_copy24+4>>2]=HEAP32[(144)+4>>2]|0;HEAP32[$$byval_copy24+8>>2]=HEAP32[(144)+8>>2]|0;HEAP32[$$byval_copy24+12>>2]=HEAP32[(144)+12>>2]|0; - ;HEAP32[$sndScream$byval_copy27>>2]=HEAP32[(8108)>>2]|0;HEAP32[$sndScream$byval_copy27+4>>2]=HEAP32[(8108)+4>>2]|0;HEAP32[$sndScream$byval_copy27+8>>2]=HEAP32[(8108)+8>>2]|0;HEAP32[$sndScream$byval_copy27+12>>2]=HEAP32[(8108)+12>>2]|0; + ;HEAP32[$$byval_copy24>>2]=HEAP32[(26848)>>2]|0;HEAP32[$$byval_copy24+4>>2]=HEAP32[(26848)+4>>2]|0;HEAP32[$$byval_copy24+8>>2]=HEAP32[(26848)+8>>2]|0;HEAP32[$$byval_copy24+12>>2]=HEAP32[(26848)+12>>2]|0; + ;HEAP32[$sndScream$byval_copy27>>2]=HEAP32[(29764)>>2]|0;HEAP32[$sndScream$byval_copy27+4>>2]=HEAP32[(29764)+4>>2]|0;HEAP32[$sndScream$byval_copy27+8>>2]=HEAP32[(29764)+8>>2]|0;HEAP32[$sndScream$byval_copy27+12>>2]=HEAP32[(29764)+12>>2]|0; $31 = (_CheckCollisionRecs($$byval_copy24,$sndScream$byval_copy27)|0); $32 = ($31|0)==(0); - $33 = HEAP32[(8160)>>2]|0; + $33 = HEAP32[(29816)>>2]|0; $34 = ($33|0)!=(0); $or$cond5 = $32 | $34; - $35 = $or$cond5&1; - $$15 = $35 ^ 1; - $storemerge = $$15; + if ($or$cond5) { + $$sink6 = 0; + } else { + label = 17; + } } else { - $storemerge = 1; + label = 17; } } else { - $storemerge = 1; + label = 17; } - HEAP32[7360>>2] = $storemerge; - ;HEAP32[$$byval_copy24>>2]=HEAP32[(144)>>2]|0;HEAP32[$$byval_copy24+4>>2]=HEAP32[(144)+4>>2]|0;HEAP32[$$byval_copy24+8>>2]=HEAP32[(144)+8>>2]|0;HEAP32[$$byval_copy24+12>>2]=HEAP32[(144)+12>>2]|0; - ;HEAP32[$sndScream$byval_copy27>>2]=HEAP32[(7828)>>2]|0;HEAP32[$sndScream$byval_copy27+4>>2]=HEAP32[(7828)+4>>2]|0;HEAP32[$sndScream$byval_copy27+8>>2]=HEAP32[(7828)+8>>2]|0;HEAP32[$sndScream$byval_copy27+12>>2]=HEAP32[(7828)+12>>2]|0; - $36 = (_CheckCollisionRecs($$byval_copy24,$sndScream$byval_copy27)|0); - $37 = ($36|0)==(0); - $38 = HEAP32[(7880)>>2]|0; - $39 = ($38|0)!=(0); - $or$cond7 = $37 | $39; + if ((label|0) == 17) { + $$sink6 = 1; + } + HEAP32[7364] = $$sink6; + ;HEAP32[$$byval_copy24>>2]=HEAP32[(26848)>>2]|0;HEAP32[$$byval_copy24+4>>2]=HEAP32[(26848)+4>>2]|0;HEAP32[$$byval_copy24+8>>2]=HEAP32[(26848)+8>>2]|0;HEAP32[$$byval_copy24+12>>2]=HEAP32[(26848)+12>>2]|0; + ;HEAP32[$sndScream$byval_copy27>>2]=HEAP32[(29580)>>2]|0;HEAP32[$sndScream$byval_copy27+4>>2]=HEAP32[(29580)+4>>2]|0;HEAP32[$sndScream$byval_copy27+8>>2]=HEAP32[(29580)+8>>2]|0;HEAP32[$sndScream$byval_copy27+12>>2]=HEAP32[(29580)+12>>2]|0; + $35 = (_CheckCollisionRecs($$byval_copy24,$sndScream$byval_copy27)|0); + $36 = ($35|0)==(0); + $37 = HEAP32[(29632)>>2]|0; + $38 = ($37|0)!=(0); + $or$cond8 = $36 | $38; do { - if ($or$cond7) { - HEAP32[(7884)>>2] = 0; + if ($or$cond8) { + HEAP32[(29636)>>2] = 0; } else { - HEAP32[(7884)>>2] = 1; - $40 = (_IsKeyPressed(32)|0); - $41 = ($40|0)==(0); - if ($41) { - $42 = (_IsMouseButtonPressed(0)|0); - $43 = ($42|0)==(0); - if ($43) { + HEAP32[(29636)>>2] = 1; + $39 = (_IsKeyPressed(32)|0); + $40 = ($39|0)==(0); + if ($40) { + $41 = (_IsMouseButtonPressed(0)|0); + $42 = ($41|0)==(0); + if ($42) { break; } _GetMousePosition($2); ;HEAP32[$$byval_copy24>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy24+4>>2]=HEAP32[$2+4>>2]|0; - ;HEAP32[$sndScream$byval_copy27>>2]=HEAP32[(7828)>>2]|0;HEAP32[$sndScream$byval_copy27+4>>2]=HEAP32[(7828)+4>>2]|0;HEAP32[$sndScream$byval_copy27+8>>2]=HEAP32[(7828)+8>>2]|0;HEAP32[$sndScream$byval_copy27+12>>2]=HEAP32[(7828)+12>>2]|0; - $44 = (_CheckCollisionPointRec($$byval_copy24,$sndScream$byval_copy27)|0); - $45 = ($44|0)==(0); - if ($45) { + ;HEAP32[$sndScream$byval_copy27>>2]=HEAP32[(29580)>>2]|0;HEAP32[$sndScream$byval_copy27+4>>2]=HEAP32[(29580)+4>>2]|0;HEAP32[$sndScream$byval_copy27+8>>2]=HEAP32[(29580)+8>>2]|0;HEAP32[$sndScream$byval_copy27+12>>2]=HEAP32[(29580)+12>>2]|0; + $43 = (_CheckCollisionPointRec($$byval_copy24,$sndScream$byval_copy27)|0); + $44 = ($43|0)==(0); + if ($44) { break; } } _SearchKeyPlayer(); - HEAP32[8224>>2] = 1; - HEAP32[7656>>2] = 0; - HEAP32[7368>>2] = 1; + HEAP32[7457] = 1; + HEAP32[7368] = 0; + HEAP32[14] = 1; } } while(0); - ;HEAP32[$$byval_copy24>>2]=HEAP32[(144)>>2]|0;HEAP32[$$byval_copy24+4>>2]=HEAP32[(144)+4>>2]|0;HEAP32[$$byval_copy24+8>>2]=HEAP32[(144)+8>>2]|0;HEAP32[$$byval_copy24+12>>2]=HEAP32[(144)+12>>2]|0; - ;HEAP32[$sndScream$byval_copy27>>2]=HEAP32[(7972)>>2]|0;HEAP32[$sndScream$byval_copy27+4>>2]=HEAP32[(7972)+4>>2]|0;HEAP32[$sndScream$byval_copy27+8>>2]=HEAP32[(7972)+8>>2]|0;HEAP32[$sndScream$byval_copy27+12>>2]=HEAP32[(7972)+12>>2]|0; - $46 = (_CheckCollisionRecs($$byval_copy24,$sndScream$byval_copy27)|0); - $47 = ($46|0)==(0); - $48 = HEAP32[(8024)>>2]|0; - $49 = ($48|0)!=(0); - $or$cond9 = $47 | $49; + ;HEAP32[$$byval_copy24>>2]=HEAP32[(26848)>>2]|0;HEAP32[$$byval_copy24+4>>2]=HEAP32[(26848)+4>>2]|0;HEAP32[$$byval_copy24+8>>2]=HEAP32[(26848)+8>>2]|0;HEAP32[$$byval_copy24+12>>2]=HEAP32[(26848)+12>>2]|0; + ;HEAP32[$sndScream$byval_copy27>>2]=HEAP32[(29672)>>2]|0;HEAP32[$sndScream$byval_copy27+4>>2]=HEAP32[(29672)+4>>2]|0;HEAP32[$sndScream$byval_copy27+8>>2]=HEAP32[(29672)+8>>2]|0;HEAP32[$sndScream$byval_copy27+12>>2]=HEAP32[(29672)+12>>2]|0; + $45 = (_CheckCollisionRecs($$byval_copy24,$sndScream$byval_copy27)|0); + $46 = ($45|0)==(0); + $47 = HEAP32[(29724)>>2]|0; + $48 = ($47|0)!=(0); + $or$cond10 = $46 | $48; do { - if ($or$cond9) { - HEAP32[(8028)>>2] = 0; + if ($or$cond10) { + HEAP32[(29728)>>2] = 0; } else { - HEAP32[(8028)>>2] = 1; - $50 = (_IsKeyPressed(32)|0); - $51 = ($50|0)==(0); - if ($51) { - $52 = (_IsMouseButtonPressed(0)|0); - $53 = ($52|0)==(0); - if ($53) { + HEAP32[(29728)>>2] = 1; + $49 = (_IsKeyPressed(32)|0); + $50 = ($49|0)==(0); + if ($50) { + $51 = (_IsMouseButtonPressed(0)|0); + $52 = ($51|0)==(0); + if ($52) { break; } _GetMousePosition($3); ;HEAP32[$$byval_copy24>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy24+4>>2]=HEAP32[$3+4>>2]|0; - ;HEAP32[$sndScream$byval_copy27>>2]=HEAP32[(7972)>>2]|0;HEAP32[$sndScream$byval_copy27+4>>2]=HEAP32[(7972)+4>>2]|0;HEAP32[$sndScream$byval_copy27+8>>2]=HEAP32[(7972)+8>>2]|0;HEAP32[$sndScream$byval_copy27+12>>2]=HEAP32[(7972)+12>>2]|0; - $54 = (_CheckCollisionPointRec($$byval_copy24,$sndScream$byval_copy27)|0); - $55 = ($54|0)==(0); - if ($55) { + ;HEAP32[$sndScream$byval_copy27>>2]=HEAP32[(29672)>>2]|0;HEAP32[$sndScream$byval_copy27+4>>2]=HEAP32[(29672)+4>>2]|0;HEAP32[$sndScream$byval_copy27+8>>2]=HEAP32[(29672)+8>>2]|0;HEAP32[$sndScream$byval_copy27+12>>2]=HEAP32[(29672)+12>>2]|0; + $53 = (_CheckCollisionPointRec($$byval_copy24,$sndScream$byval_copy27)|0); + $54 = ($53|0)==(0); + if ($54) { break; } } _SearchKeyPlayer(); - HEAP32[8224>>2] = 1; - HEAP32[7656>>2] = 0; - HEAP32[7368>>2] = 2; + HEAP32[7457] = 1; + HEAP32[7368] = 0; + HEAP32[14] = 2; } } while(0); - ;HEAP32[$$byval_copy24>>2]=HEAP32[(144)>>2]|0;HEAP32[$$byval_copy24+4>>2]=HEAP32[(144)+4>>2]|0;HEAP32[$$byval_copy24+8>>2]=HEAP32[(144)+8>>2]|0;HEAP32[$$byval_copy24+12>>2]=HEAP32[(144)+12>>2]|0; - ;HEAP32[$sndScream$byval_copy27>>2]=HEAP32[(8108)>>2]|0;HEAP32[$sndScream$byval_copy27+4>>2]=HEAP32[(8108)+4>>2]|0;HEAP32[$sndScream$byval_copy27+8>>2]=HEAP32[(8108)+8>>2]|0;HEAP32[$sndScream$byval_copy27+12>>2]=HEAP32[(8108)+12>>2]|0; - $56 = (_CheckCollisionRecs($$byval_copy24,$sndScream$byval_copy27)|0); - $57 = ($56|0)==(0); - $58 = HEAP32[(8160)>>2]|0; - $59 = ($58|0)!=(0); - $or$cond11 = $57 | $59; + ;HEAP32[$$byval_copy24>>2]=HEAP32[(26848)>>2]|0;HEAP32[$$byval_copy24+4>>2]=HEAP32[(26848)+4>>2]|0;HEAP32[$$byval_copy24+8>>2]=HEAP32[(26848)+8>>2]|0;HEAP32[$$byval_copy24+12>>2]=HEAP32[(26848)+12>>2]|0; + ;HEAP32[$sndScream$byval_copy27>>2]=HEAP32[(29764)>>2]|0;HEAP32[$sndScream$byval_copy27+4>>2]=HEAP32[(29764)+4>>2]|0;HEAP32[$sndScream$byval_copy27+8>>2]=HEAP32[(29764)+8>>2]|0;HEAP32[$sndScream$byval_copy27+12>>2]=HEAP32[(29764)+12>>2]|0; + $55 = (_CheckCollisionRecs($$byval_copy24,$sndScream$byval_copy27)|0); + $56 = ($55|0)==(0); + $57 = HEAP32[(29816)>>2]|0; + $58 = ($57|0)!=(0); + $or$cond12 = $56 | $58; do { - if ($or$cond11) { - HEAP32[(8164)>>2] = 0; - label = 35; + if ($or$cond12) { + HEAP32[(29820)>>2] = 0; + label = 36; } else { - HEAP32[(8164)>>2] = 1; - $60 = (_IsKeyPressed(32)|0); - $61 = ($60|0)==(0); - if ($61) { - $62 = (_IsMouseButtonPressed(0)|0); - $63 = ($62|0)==(0); - if ($63) { - label = 35; + HEAP32[(29820)>>2] = 1; + $59 = (_IsKeyPressed(32)|0); + $60 = ($59|0)==(0); + if ($60) { + $61 = (_IsMouseButtonPressed(0)|0); + $62 = ($61|0)==(0); + if ($62) { + label = 36; break; } _GetMousePosition($4); ;HEAP32[$$byval_copy24>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy24+4>>2]=HEAP32[$4+4>>2]|0; - ;HEAP32[$sndScream$byval_copy27>>2]=HEAP32[(8108)>>2]|0;HEAP32[$sndScream$byval_copy27+4>>2]=HEAP32[(8108)+4>>2]|0;HEAP32[$sndScream$byval_copy27+8>>2]=HEAP32[(8108)+8>>2]|0;HEAP32[$sndScream$byval_copy27+12>>2]=HEAP32[(8108)+12>>2]|0; - $64 = (_CheckCollisionPointRec($$byval_copy24,$sndScream$byval_copy27)|0); - $65 = ($64|0)==(0); - if ($65) { - label = 35; + ;HEAP32[$sndScream$byval_copy27>>2]=HEAP32[(29764)>>2]|0;HEAP32[$sndScream$byval_copy27+4>>2]=HEAP32[(29764)+4>>2]|0;HEAP32[$sndScream$byval_copy27+8>>2]=HEAP32[(29764)+8>>2]|0;HEAP32[$sndScream$byval_copy27+12>>2]=HEAP32[(29764)+12>>2]|0; + $63 = (_CheckCollisionPointRec($$byval_copy24,$sndScream$byval_copy27)|0); + $64 = ($63|0)==(0); + if ($64) { + label = 36; break; } } _SearchKeyPlayer(); - HEAP32[8224>>2] = 1; - HEAP32[7368>>2] = 3; - HEAP32[7656>>2] = 1; + HEAP32[7457] = 1; + HEAP32[14] = 3; + HEAP32[7368] = 1; } } while(0); - if ((label|0) == 35) { - $$pr = HEAP32[8224>>2]|0; - $66 = ($$pr|0)==(0); - if (!($66)) { - $$pr16 = HEAP32[7656>>2]|0; - $67 = (($$pr16) + 1)|0; - HEAP32[7656>>2] = $67; - $68 = ($$pr16|0)>(179); - if ($68) { - $69 = HEAP32[7368>>2]|0; - if ((($69|0) == 2)) { - $72 = HEAP32[(8032)>>2]|0; - $73 = ($72|0)==(0); - if ($73) { - _FindKeyPlayer(); - } else { - _ScarePlayer(); - ;HEAP32[$sndScream$byval_copy27>>2]=HEAP32[120>>2]|0;HEAP32[$sndScream$byval_copy27+4>>2]=HEAP32[120+4>>2]|0; - _PlaySound($sndScream$byval_copy27); + if ((label|0) == 36) { + $$pr = HEAP32[7457]|0; + $65 = ($$pr|0)==(0); + if (!($65)) { + $$pr21 = HEAP32[7368]|0; + $66 = (($$pr21) + 1)|0; + HEAP32[7368] = $66; + $67 = ($$pr21|0)>(179); + if ($67) { + $68 = HEAP32[14]|0; + L53: do { + switch ($68|0) { + case 1: { + $69 = HEAP32[(29640)>>2]|0; + $70 = ($69|0)==(0); + if ($70) { + _FindKeyPlayer(); + $$sink13 = (29636);$$sink14 = (29632); + label = 48; + break L53; + } else { + _ScarePlayer(); + ;HEAP32[$sndScream$byval_copy27>>2]=HEAP32[26824>>2]|0;HEAP32[$sndScream$byval_copy27+4>>2]=HEAP32[26824+4>>2]|0;HEAP32[$sndScream$byval_copy27+8>>2]=HEAP32[26824+8>>2]|0; + _PlaySound($sndScream$byval_copy27); + $$sink13 = (29636);$$sink14 = (29632); + label = 48; + break L53; + } + break; } - HEAP32[(8024)>>2] = 1; - HEAP32[(8028)>>2] = 0; - } else if ((($69|0) == 1)) { - $70 = HEAP32[(7888)>>2]|0; - $71 = ($70|0)==(0); - if ($71) { - _FindKeyPlayer(); - } else { - _ScarePlayer(); - ;HEAP32[$sndScream$byval_copy27>>2]=HEAP32[120>>2]|0;HEAP32[$sndScream$byval_copy27+4>>2]=HEAP32[120+4>>2]|0; - _PlaySound($sndScream$byval_copy27); + case 2: { + $71 = HEAP32[(29732)>>2]|0; + $72 = ($71|0)==(0); + if ($72) { + _FindKeyPlayer(); + $$sink13 = (29728);$$sink14 = (29724); + label = 48; + break L53; + } else { + _ScarePlayer(); + ;HEAP32[$sndScream$byval_copy27>>2]=HEAP32[26824>>2]|0;HEAP32[$sndScream$byval_copy27+4>>2]=HEAP32[26824+4>>2]|0;HEAP32[$sndScream$byval_copy27+8>>2]=HEAP32[26824+8>>2]|0; + _PlaySound($sndScream$byval_copy27); + $$sink13 = (29728);$$sink14 = (29724); + label = 48; + break L53; + } + break; } - HEAP32[(7880)>>2] = 1; - HEAP32[(7884)>>2] = 0; - } else if ((($69|0) == 3)) { - $74 = HEAP32[(8168)>>2]|0; - $75 = ($74|0)==(0); - if ($75) { - _FindKeyPlayer(); - } else { - _ScarePlayer(); - ;HEAP32[$sndScream$byval_copy27>>2]=HEAP32[120>>2]|0;HEAP32[$sndScream$byval_copy27+4>>2]=HEAP32[120+4>>2]|0; - _PlaySound($sndScream$byval_copy27); + case 3: { + $73 = HEAP32[(29824)>>2]|0; + $74 = ($73|0)==(0); + if ($74) { + _FindKeyPlayer(); + $$sink13 = (29820);$$sink14 = (29816); + label = 48; + break L53; + } else { + _ScarePlayer(); + ;HEAP32[$sndScream$byval_copy27>>2]=HEAP32[26824>>2]|0;HEAP32[$sndScream$byval_copy27+4>>2]=HEAP32[26824+4>>2]|0;HEAP32[$sndScream$byval_copy27+8>>2]=HEAP32[26824+8>>2]|0; + _PlaySound($sndScream$byval_copy27); + $$sink13 = (29820);$$sink14 = (29816); + label = 48; + break L53; + } + break; } - HEAP32[(8160)>>2] = 1; - HEAP32[(8164)>>2] = 0; + default: { + } + } + } while(0); + if ((label|0) == 48) { + HEAP32[$$sink14>>2] = 1; + HEAP32[$$sink13>>2] = 0; } - HEAP32[8224>>2] = 0; - HEAP32[7656>>2] = 0; + HEAP32[7457] = 0; + HEAP32[7368] = 0; } } } - $76 = HEAP32[7656>>2]|0; - $77 = (($76) + 1)|0; - HEAP32[7656>>2] = $77; - $78 = $77 & 1; - $79 = ($78|0)==(0); - if ($79) { - $80 = HEAP32[7392>>2]|0; - $81 = (($80) + 1)|0; - HEAP32[7392>>2] = $81; + $75 = HEAP32[7368]|0; + $76 = (($75) + 1)|0; + HEAP32[7368] = $76; + $77 = $76 & 1; + $78 = ($77|0)==(0); + if ($78) { + $79 = HEAP32[7367]|0; + $80 = (($79) + 1)|0; + HEAP32[7367] = $80; } - $82 = HEAP32[7376>>2]|0; - if ((($82|0) == 0)) { - $83 = HEAP32[7392>>2]|0; + $81 = HEAP32[7365]|0; + $82 = ($81|0)==(0); + if ($82) { + $83 = HEAP32[7367]|0; $84 = ($83|0)<(65); if ($84) { - (_strncpy((7400|0),(8232|0),($83|0))|0); + (_strncpy(35320,8282,$83)|0); } else { - $85 = (_strlen((7400|0))|0); + $85 = (_strlen(35320)|0); $86 = ($85|0)>(0); if ($86) { - $i$018 = 0; + $$023 = 0; while(1) { - $87 = (7400 + ($i$018)|0); + $87 = (35320 + ($$023)|0); HEAP8[$87>>0] = 0; - $88 = (($i$018) + 1)|0; - $89 = (_strlen((7400|0))|0); + $88 = (($$023) + 1)|0; + $89 = (_strlen(35320)|0); $90 = ($88|0)<($89|0); if ($90) { - $i$018 = $88; + $$023 = $88; } else { break; } } } - HEAP32[7392>>2] = 0; - HEAP32[7376>>2] = 1; + HEAP32[7367] = 0; + HEAP32[7365] = 1; } $91 = (_IsKeyPressed(257)|0); $92 = ($91|0)==(0); if ($92) { STACKTOP = sp;return; } - HEAP32[7376>>2] = 1; - STACKTOP = sp;return; - } else if ((($82|0) == 1)) { - $93 = HEAP32[7384>>2]|0; - $94 = (($93) + 1)|0; - HEAP32[7384>>2] = $94; - $95 = (_IsKeyPressed(257)|0); - $96 = ($95|0)==(0); - if ($96) { - $97 = (_IsMouseButtonPressed(0)|0); - $98 = ($97|0)==(0); - if ($98) { - STACKTOP = sp;return; - } - } - HEAP32[7376>>2] = 2; - HEAP32[7384>>2] = 0; - STACKTOP = sp;return; - } else { - $99 = ($82|0)==(2); - $100 = HEAP32[7384>>2]|0; - $101 = (($100) + 1)|0; - HEAP32[7384>>2] = $101; - $102 = ($100|0)>(179); - $or$cond13 = $99 & $102; - if (!($or$cond13)) { - STACKTOP = sp;return; - } - HEAP32[7376>>2] = 3; + HEAP32[7365] = 1; STACKTOP = sp;return; } + $93 = ($81|0)==(1); + $94 = HEAP32[7366]|0; + $95 = (($94) + 1)|0; + HEAP32[7366] = $95; + if (!($93)) { + $100 = ($81|0)==(2); + $101 = ($94|0)>(179); + $or$cond16 = $100 & $101; + if (!($or$cond16)) { + STACKTOP = sp;return; + } + HEAP32[7365] = 3; + STACKTOP = sp;return; + } + $96 = (_IsKeyPressed(257)|0); + $97 = ($96|0)==(0); + if ($97) { + $98 = (_IsMouseButtonPressed(0)|0); + $99 = ($98|0)==(0); + if ($99) { + STACKTOP = sp;return; + } + } + HEAP32[7365] = 2; + HEAP32[7366] = 0; + STACKTOP = sp;return; } function _DrawBathroomScreen() { var $$byval_copy23 = 0, $$byval_copy27 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; - var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0; - var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0; - var $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0; - var $8 = 0, $80 = 0, $81 = 0, $9 = 0, $doors$byval_copy3 = 0, $font$byval_copy14 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0.0; + var $43 = 0, $44 = 0, $45 = 0.0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0; + var $61 = 0, $62 = 0.0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0; + var $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $9 = 0, $doors$byval_copy3 = 0, $font$byval_copy14 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 288|0; - $$byval_copy27 = sp + 20|0; - $$byval_copy23 = sp + 172|0; - $font$byval_copy14 = sp + 136|0; - $doors$byval_copy3 = sp + 196|0; - $0 = sp + 192|0; - $1 = sp + 256|0; - $2 = sp + 116|0; - $3 = sp + 260|0; - $4 = sp + 272|0; - $5 = sp + 268|0; - $6 = sp + 264|0; - $7 = sp + 120|0; - $8 = sp + 112|0; - $9 = sp + 128|0; - $10 = sp + 16|0; + STACKTOP = STACKTOP + 288|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(288|0); + $$byval_copy27 = sp + 124|0; + $$byval_copy23 = sp + 100|0; + $font$byval_copy14 = sp + 40|0; + $doors$byval_copy3 = sp; + $0 = sp + 120|0; + $1 = sp + 272|0; + $2 = sp + 96|0; + $3 = sp + 268|0; + $4 = sp + 264|0; + $5 = sp + 260|0; + $6 = sp + 256|0; + $7 = sp + 88|0; + $8 = sp + 80|0; + $9 = sp + 72|0; + $10 = sp + 32|0; $11 = sp + 252|0; - $12 = sp + 8|0; - $13 = sp; - $14 = sp + 220|0; - $15 = sp + 216|0; - $16 = sp + 228|0; + $12 = sp + 24|0; + $13 = sp + 20|0; + $14 = sp + 248|0; + $15 = sp + 244|0; + $16 = sp + 240|0; $17 = sp + 236|0; - $18 = sp + 248|0; - $19 = sp + 244|0; - $20 = sp + 240|0; - $21 = sp + 232|0; - $22 = sp + 224|0; + $18 = sp + 232|0; + $19 = sp + 228|0; + $20 = sp + 224|0; + $21 = sp + 220|0; + $22 = sp + 216|0; HEAP32[$0>>2] = -1; - ;HEAP32[$$byval_copy23>>2]=HEAP32[7720>>2]|0;HEAP32[$$byval_copy23+4>>2]=HEAP32[7720+4>>2]|0;HEAP32[$$byval_copy23+8>>2]=HEAP32[7720+8>>2]|0;HEAP32[$$byval_copy23+12>>2]=HEAP32[7720+12>>2]|0;HEAP32[$$byval_copy23+16>>2]=HEAP32[7720+16>>2]|0; + ;HEAP32[$$byval_copy23>>2]=HEAP32[29480>>2]|0;HEAP32[$$byval_copy23+4>>2]=HEAP32[29480+4>>2]|0;HEAP32[$$byval_copy23+8>>2]=HEAP32[29480+8>>2]|0;HEAP32[$$byval_copy23+12>>2]=HEAP32[29480+12>>2]|0;HEAP32[$$byval_copy23+16>>2]=HEAP32[29480+16>>2]|0; ;HEAP8[$$byval_copy27>>0]=HEAP8[$0>>0]|0;HEAP8[$$byval_copy27+1>>0]=HEAP8[$0+1>>0]|0;HEAP8[$$byval_copy27+2>>0]=HEAP8[$0+2>>0]|0;HEAP8[$$byval_copy27+3>>0]=HEAP8[$0+3>>0]|0; _DrawTexture($$byval_copy23,0,0,$$byval_copy27); - dest=$$byval_copy27; src=7800; stop=dest+92|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$$byval_copy27; src=29552; stop=dest+92|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _DrawMonster($$byval_copy27,0); - dest=$$byval_copy27; src=7944; stop=dest+92|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$$byval_copy27; src=29644; stop=dest+92|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _DrawMonster($$byval_copy27,0); - dest=$$byval_copy27; src=8080; stop=dest+92|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$$byval_copy27; src=29736; stop=dest+92|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _DrawMonster($$byval_copy27,0); - $23 = HEAP32[(7760)>>2]|0; + $23 = HEAP32[(29516)>>2]|0; $24 = ($23|0)==(0); if ($24) { HEAP32[$2>>2] = -1; - ;HEAP32[$doors$byval_copy3>>2]=HEAP32[88>>2]|0;HEAP32[$doors$byval_copy3+4>>2]=HEAP32[88+4>>2]|0;HEAP32[$doors$byval_copy3+8>>2]=HEAP32[88+8>>2]|0;HEAP32[$doors$byval_copy3+12>>2]=HEAP32[88+12>>2]|0;HEAP32[$doors$byval_copy3+16>>2]=HEAP32[88+16>>2]|0; - ;HEAP32[$font$byval_copy14>>2]=HEAP32[(7764)>>2]|0;HEAP32[$font$byval_copy14+4>>2]=HEAP32[(7764)+4>>2]|0;HEAP32[$font$byval_copy14+8>>2]=HEAP32[(7764)+8>>2]|0;HEAP32[$font$byval_copy14+12>>2]=HEAP32[(7764)+12>>2]|0; - ;HEAP32[$$byval_copy23>>2]=HEAP32[7744>>2]|0;HEAP32[$$byval_copy23+4>>2]=HEAP32[7744+4>>2]|0; + ;HEAP32[$doors$byval_copy3>>2]=HEAP32[26792>>2]|0;HEAP32[$doors$byval_copy3+4>>2]=HEAP32[26792+4>>2]|0;HEAP32[$doors$byval_copy3+8>>2]=HEAP32[26792+8>>2]|0;HEAP32[$doors$byval_copy3+12>>2]=HEAP32[26792+12>>2]|0;HEAP32[$doors$byval_copy3+16>>2]=HEAP32[26792+16>>2]|0; + ;HEAP32[$font$byval_copy14>>2]=HEAP32[(29520)>>2]|0;HEAP32[$font$byval_copy14+4>>2]=HEAP32[(29520)+4>>2]|0;HEAP32[$font$byval_copy14+8>>2]=HEAP32[(29520)+8>>2]|0;HEAP32[$font$byval_copy14+12>>2]=HEAP32[(29520)+12>>2]|0; + ;HEAP32[$$byval_copy23>>2]=HEAP32[29500>>2]|0;HEAP32[$$byval_copy23+4>>2]=HEAP32[29500+4>>2]|0; ;HEAP8[$$byval_copy27>>0]=HEAP8[$2>>0]|0;HEAP8[$$byval_copy27+1>>0]=HEAP8[$2+1>>0]|0;HEAP8[$$byval_copy27+2>>0]=HEAP8[$2+2>>0]|0;HEAP8[$$byval_copy27+3>>0]=HEAP8[$2+3>>0]|0; _DrawTextureRec($doors$byval_copy3,$font$byval_copy14,$$byval_copy23,$$byval_copy27); } else { @@ -18858,13 +18601,13 @@ function _DrawBathroomScreen() { HEAP8[$26>>0] = 48; $27 = ((($1)) + 3|0); HEAP8[$27>>0] = -1; - ;HEAP32[$doors$byval_copy3>>2]=HEAP32[88>>2]|0;HEAP32[$doors$byval_copy3+4>>2]=HEAP32[88+4>>2]|0;HEAP32[$doors$byval_copy3+8>>2]=HEAP32[88+8>>2]|0;HEAP32[$doors$byval_copy3+12>>2]=HEAP32[88+12>>2]|0;HEAP32[$doors$byval_copy3+16>>2]=HEAP32[88+16>>2]|0; - ;HEAP32[$font$byval_copy14>>2]=HEAP32[(7764)>>2]|0;HEAP32[$font$byval_copy14+4>>2]=HEAP32[(7764)+4>>2]|0;HEAP32[$font$byval_copy14+8>>2]=HEAP32[(7764)+8>>2]|0;HEAP32[$font$byval_copy14+12>>2]=HEAP32[(7764)+12>>2]|0; - ;HEAP32[$$byval_copy23>>2]=HEAP32[7744>>2]|0;HEAP32[$$byval_copy23+4>>2]=HEAP32[7744+4>>2]|0; + ;HEAP32[$doors$byval_copy3>>2]=HEAP32[26792>>2]|0;HEAP32[$doors$byval_copy3+4>>2]=HEAP32[26792+4>>2]|0;HEAP32[$doors$byval_copy3+8>>2]=HEAP32[26792+8>>2]|0;HEAP32[$doors$byval_copy3+12>>2]=HEAP32[26792+12>>2]|0;HEAP32[$doors$byval_copy3+16>>2]=HEAP32[26792+16>>2]|0; + ;HEAP32[$font$byval_copy14>>2]=HEAP32[(29520)>>2]|0;HEAP32[$font$byval_copy14+4>>2]=HEAP32[(29520)+4>>2]|0;HEAP32[$font$byval_copy14+8>>2]=HEAP32[(29520)+8>>2]|0;HEAP32[$font$byval_copy14+12>>2]=HEAP32[(29520)+12>>2]|0; + ;HEAP32[$$byval_copy23>>2]=HEAP32[29500>>2]|0;HEAP32[$$byval_copy23+4>>2]=HEAP32[29500+4>>2]|0; ;HEAP8[$$byval_copy27>>0]=HEAP8[$1>>0]|0;HEAP8[$$byval_copy27+1>>0]=HEAP8[$1+1>>0]|0;HEAP8[$$byval_copy27+2>>0]=HEAP8[$1+2>>0]|0;HEAP8[$$byval_copy27+3>>0]=HEAP8[$1+3>>0]|0; _DrawTextureRec($doors$byval_copy3,$font$byval_copy14,$$byval_copy23,$$byval_copy27); } - $28 = HEAP32[7376>>2]|0; + $28 = HEAP32[7365]|0; $29 = ($28|0)<(2); if ($29) { $30 = (_GetScreenWidth()|0); @@ -18896,187 +18639,198 @@ function _DrawBathroomScreen() { _DrawRectangle(0,80,$35,100,$$byval_copy27); } } - $39 = HEAP32[7376>>2]|0; - if ((($39|0) == 2)) { - $53 = HEAP32[7384>>2]|0; - $54 = (($53|0) / 30)&-1; - $55 = $54 & 1; - $56 = ($55|0)==(0); - if ($56) { + $39 = HEAP32[7365]|0; + switch ($39|0) { + case 0: { + HEAPF32[$7>>2] = 100.0; + $40 = ((($7)) + 4|0); + HEAPF32[$40>>2] = 80.0; + $41 = HEAP32[(26780)>>2]|0; + $42 = (+($41|0)); + HEAP32[$8>>2] = -1; + ;HEAP32[$font$byval_copy14>>2]=HEAP32[26760>>2]|0;HEAP32[$font$byval_copy14+4>>2]=HEAP32[26760+4>>2]|0;HEAP32[$font$byval_copy14+8>>2]=HEAP32[26760+8>>2]|0;HEAP32[$font$byval_copy14+12>>2]=HEAP32[26760+12>>2]|0;HEAP32[$font$byval_copy14+16>>2]=HEAP32[26760+16>>2]|0;HEAP32[$font$byval_copy14+20>>2]=HEAP32[26760+20>>2]|0;HEAP32[$font$byval_copy14+24>>2]=HEAP32[26760+24>>2]|0;HEAP32[$font$byval_copy14+28>>2]=HEAP32[26760+28>>2]|0; + ;HEAP32[$$byval_copy23>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy23+4>>2]=HEAP32[$7+4>>2]|0; + ;HEAP8[$$byval_copy27>>0]=HEAP8[$8>>0]|0;HEAP8[$$byval_copy27+1>>0]=HEAP8[$8+1>>0]|0;HEAP8[$$byval_copy27+2>>0]=HEAP8[$8+2>>0]|0;HEAP8[$$byval_copy27+3>>0]=HEAP8[$8+3>>0]|0; + _DrawTextEx($font$byval_copy14,35320,$$byval_copy23,$42,2,$$byval_copy27); + _DrawPlayer(); + STACKTOP = sp;return; + break; + } + case 1: { + HEAPF32[$9>>2] = 100.0; + $43 = ((($9)) + 4|0); + HEAPF32[$43>>2] = 80.0; + $44 = HEAP32[(26780)>>2]|0; + $45 = (+($44|0)); + HEAP32[$10>>2] = -1; + ;HEAP32[$font$byval_copy14>>2]=HEAP32[26760>>2]|0;HEAP32[$font$byval_copy14+4>>2]=HEAP32[26760+4>>2]|0;HEAP32[$font$byval_copy14+8>>2]=HEAP32[26760+8>>2]|0;HEAP32[$font$byval_copy14+12>>2]=HEAP32[26760+12>>2]|0;HEAP32[$font$byval_copy14+16>>2]=HEAP32[26760+16>>2]|0;HEAP32[$font$byval_copy14+20>>2]=HEAP32[26760+20>>2]|0;HEAP32[$font$byval_copy14+24>>2]=HEAP32[26760+24>>2]|0;HEAP32[$font$byval_copy14+28>>2]=HEAP32[26760+28>>2]|0; + ;HEAP32[$$byval_copy23>>2]=HEAP32[$9>>2]|0;HEAP32[$$byval_copy23+4>>2]=HEAP32[$9+4>>2]|0; + ;HEAP8[$$byval_copy27>>0]=HEAP8[$10>>0]|0;HEAP8[$$byval_copy27+1>>0]=HEAP8[$10+1>>0]|0;HEAP8[$$byval_copy27+2>>0]=HEAP8[$10+2>>0]|0;HEAP8[$$byval_copy27+3>>0]=HEAP8[$10+3>>0]|0; + _DrawTextEx($font$byval_copy14,8282,$$byval_copy23,$45,2,$$byval_copy27); + $46 = HEAP32[7366]|0; + $47 = (($46|0) / 30)&-1; + $48 = $47 & 1; + $49 = ($48|0)==(0); + if ($49) { + _DrawPlayer(); + STACKTOP = sp;return; + } + $50 = (_GetScreenWidth()|0); + $51 = (($50) + -280)|0; + HEAP8[$11>>0] = 0; + $52 = ((($11)) + 1|0); + HEAP8[$52>>0] = 0; + $53 = ((($11)) + 2|0); + HEAP8[$53>>0] = 0; + $54 = ((($11)) + 3|0); + HEAP8[$54>>0] = -1; + ;HEAP8[$$byval_copy27>>0]=HEAP8[$11>>0]|0;HEAP8[$$byval_copy27+1>>0]=HEAP8[$11+1>>0]|0;HEAP8[$$byval_copy27+2>>0]=HEAP8[$11+2>>0]|0;HEAP8[$$byval_copy27+3>>0]=HEAP8[$11+3>>0]|0; + _DrawText(8619,$51,200,20,$$byval_copy27); + _DrawPlayer(); + STACKTOP = sp;return; + break; + } + case 2: { + $55 = HEAP32[7366]|0; + $56 = (($55|0) / 30)&-1; + $57 = $56 & 1; + $58 = ($57|0)==(0); + if ($58) { _DrawPlayer(); STACKTOP = sp;return; } HEAPF32[$12>>2] = 300.0; - $57 = ((($12)) + 4|0); - HEAPF32[$57>>2] = 95.0; - $58 = HEAP32[(68)>>2]|0; - $59 = $58 << 1; + $59 = ((($12)) + 4|0); + HEAPF32[$59>>2] = 95.0; + $60 = HEAP32[(26780)>>2]|0; + $61 = $60 << 1; + $62 = (+($61|0)); HEAP32[$13>>2] = -1; - dest=$font$byval_copy14; src=48; stop=dest+36|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + ;HEAP32[$font$byval_copy14>>2]=HEAP32[26760>>2]|0;HEAP32[$font$byval_copy14+4>>2]=HEAP32[26760+4>>2]|0;HEAP32[$font$byval_copy14+8>>2]=HEAP32[26760+8>>2]|0;HEAP32[$font$byval_copy14+12>>2]=HEAP32[26760+12>>2]|0;HEAP32[$font$byval_copy14+16>>2]=HEAP32[26760+16>>2]|0;HEAP32[$font$byval_copy14+20>>2]=HEAP32[26760+20>>2]|0;HEAP32[$font$byval_copy14+24>>2]=HEAP32[26760+24>>2]|0;HEAP32[$font$byval_copy14+28>>2]=HEAP32[26760+28>>2]|0; ;HEAP32[$$byval_copy23>>2]=HEAP32[$12>>2]|0;HEAP32[$$byval_copy23+4>>2]=HEAP32[$12+4>>2]|0; ;HEAP8[$$byval_copy27>>0]=HEAP8[$13>>0]|0;HEAP8[$$byval_copy27+1>>0]=HEAP8[$13+1>>0]|0;HEAP8[$$byval_copy27+2>>0]=HEAP8[$13+2>>0]|0;HEAP8[$$byval_copy27+3>>0]=HEAP8[$13+3>>0]|0; - _DrawTextEx($font$byval_copy14,8488,$$byval_copy23,$59,2,$$byval_copy27); + _DrawTextEx($font$byval_copy14,8538,$$byval_copy23,$62,2,$$byval_copy27); HEAP8[$15>>0] = -26; - $60 = ((($15)) + 1|0); - HEAP8[$60>>0] = 41; - $61 = ((($15)) + 2|0); - HEAP8[$61>>0] = 55; - $62 = ((($15)) + 3|0); - HEAP8[$62>>0] = -1; + $63 = ((($15)) + 1|0); + HEAP8[$63>>0] = 41; + $64 = ((($15)) + 2|0); + HEAP8[$64>>0] = 55; + $65 = ((($15)) + 3|0); + HEAP8[$65>>0] = -1; ;HEAP8[$$byval_copy27>>0]=HEAP8[$15>>0]|0;HEAP8[$$byval_copy27+1>>0]=HEAP8[$15+1>>0]|0;HEAP8[$$byval_copy27+2>>0]=HEAP8[$15+2>>0]|0;HEAP8[$$byval_copy27+3>>0]=HEAP8[$15+3>>0]|0; _Fade($14,$$byval_copy27,0.60000002384185791); - ;HEAP32[$$byval_copy23>>2]=HEAP32[(7828)>>2]|0;HEAP32[$$byval_copy23+4>>2]=HEAP32[(7828)+4>>2]|0;HEAP32[$$byval_copy23+8>>2]=HEAP32[(7828)+8>>2]|0;HEAP32[$$byval_copy23+12>>2]=HEAP32[(7828)+12>>2]|0; + ;HEAP32[$$byval_copy23>>2]=HEAP32[(29580)>>2]|0;HEAP32[$$byval_copy23+4>>2]=HEAP32[(29580)+4>>2]|0;HEAP32[$$byval_copy23+8>>2]=HEAP32[(29580)+8>>2]|0;HEAP32[$$byval_copy23+12>>2]=HEAP32[(29580)+12>>2]|0; ;HEAP8[$$byval_copy27>>0]=HEAP8[$14>>0]|0;HEAP8[$$byval_copy27+1>>0]=HEAP8[$14+1>>0]|0;HEAP8[$$byval_copy27+2>>0]=HEAP8[$14+2>>0]|0;HEAP8[$$byval_copy27+3>>0]=HEAP8[$14+3>>0]|0; _DrawRectangleRec($$byval_copy23,$$byval_copy27); HEAP8[$17>>0] = -26; - $63 = ((($17)) + 1|0); - HEAP8[$63>>0] = 41; - $64 = ((($17)) + 2|0); - HEAP8[$64>>0] = 55; - $65 = ((($17)) + 3|0); - HEAP8[$65>>0] = -1; + $66 = ((($17)) + 1|0); + HEAP8[$66>>0] = 41; + $67 = ((($17)) + 2|0); + HEAP8[$67>>0] = 55; + $68 = ((($17)) + 3|0); + HEAP8[$68>>0] = -1; ;HEAP8[$$byval_copy27>>0]=HEAP8[$17>>0]|0;HEAP8[$$byval_copy27+1>>0]=HEAP8[$17+1>>0]|0;HEAP8[$$byval_copy27+2>>0]=HEAP8[$17+2>>0]|0;HEAP8[$$byval_copy27+3>>0]=HEAP8[$17+3>>0]|0; _Fade($16,$$byval_copy27,0.60000002384185791); - ;HEAP32[$$byval_copy23>>2]=HEAP32[(7972)>>2]|0;HEAP32[$$byval_copy23+4>>2]=HEAP32[(7972)+4>>2]|0;HEAP32[$$byval_copy23+8>>2]=HEAP32[(7972)+8>>2]|0;HEAP32[$$byval_copy23+12>>2]=HEAP32[(7972)+12>>2]|0; + ;HEAP32[$$byval_copy23>>2]=HEAP32[(29672)>>2]|0;HEAP32[$$byval_copy23+4>>2]=HEAP32[(29672)+4>>2]|0;HEAP32[$$byval_copy23+8>>2]=HEAP32[(29672)+8>>2]|0;HEAP32[$$byval_copy23+12>>2]=HEAP32[(29672)+12>>2]|0; ;HEAP8[$$byval_copy27>>0]=HEAP8[$16>>0]|0;HEAP8[$$byval_copy27+1>>0]=HEAP8[$16+1>>0]|0;HEAP8[$$byval_copy27+2>>0]=HEAP8[$16+2>>0]|0;HEAP8[$$byval_copy27+3>>0]=HEAP8[$16+3>>0]|0; _DrawRectangleRec($$byval_copy23,$$byval_copy27); HEAP8[$19>>0] = -26; - $66 = ((($19)) + 1|0); - HEAP8[$66>>0] = 41; - $67 = ((($19)) + 2|0); - HEAP8[$67>>0] = 55; - $68 = ((($19)) + 3|0); - HEAP8[$68>>0] = -1; + $69 = ((($19)) + 1|0); + HEAP8[$69>>0] = 41; + $70 = ((($19)) + 2|0); + HEAP8[$70>>0] = 55; + $71 = ((($19)) + 3|0); + HEAP8[$71>>0] = -1; ;HEAP8[$$byval_copy27>>0]=HEAP8[$19>>0]|0;HEAP8[$$byval_copy27+1>>0]=HEAP8[$19+1>>0]|0;HEAP8[$$byval_copy27+2>>0]=HEAP8[$19+2>>0]|0;HEAP8[$$byval_copy27+3>>0]=HEAP8[$19+3>>0]|0; _Fade($18,$$byval_copy27,0.60000002384185791); - ;HEAP32[$$byval_copy23>>2]=HEAP32[(8108)>>2]|0;HEAP32[$$byval_copy23+4>>2]=HEAP32[(8108)+4>>2]|0;HEAP32[$$byval_copy23+8>>2]=HEAP32[(8108)+8>>2]|0;HEAP32[$$byval_copy23+12>>2]=HEAP32[(8108)+12>>2]|0; + ;HEAP32[$$byval_copy23>>2]=HEAP32[(29764)>>2]|0;HEAP32[$$byval_copy23+4>>2]=HEAP32[(29764)+4>>2]|0;HEAP32[$$byval_copy23+8>>2]=HEAP32[(29764)+8>>2]|0;HEAP32[$$byval_copy23+12>>2]=HEAP32[(29764)+12>>2]|0; ;HEAP8[$$byval_copy27>>0]=HEAP8[$18>>0]|0;HEAP8[$$byval_copy27+1>>0]=HEAP8[$18+1>>0]|0;HEAP8[$$byval_copy27+2>>0]=HEAP8[$18+2>>0]|0;HEAP8[$$byval_copy27+3>>0]=HEAP8[$18+3>>0]|0; _DrawRectangleRec($$byval_copy23,$$byval_copy27); _DrawPlayer(); STACKTOP = sp;return; - } else if ((($39|0) == 1)) { - HEAPF32[$9>>2] = 100.0; - $42 = ((($9)) + 4|0); - HEAPF32[$42>>2] = 80.0; - $43 = HEAP32[(68)>>2]|0; - HEAP32[$10>>2] = -1; - dest=$font$byval_copy14; src=48; stop=dest+36|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - ;HEAP32[$$byval_copy23>>2]=HEAP32[$9>>2]|0;HEAP32[$$byval_copy23+4>>2]=HEAP32[$9+4>>2]|0; - ;HEAP8[$$byval_copy27>>0]=HEAP8[$10>>0]|0;HEAP8[$$byval_copy27+1>>0]=HEAP8[$10+1>>0]|0;HEAP8[$$byval_copy27+2>>0]=HEAP8[$10+2>>0]|0;HEAP8[$$byval_copy27+3>>0]=HEAP8[$10+3>>0]|0; - _DrawTextEx($font$byval_copy14,8232,$$byval_copy23,$43,2,$$byval_copy27); - $44 = HEAP32[7384>>2]|0; - $45 = (($44|0) / 30)&-1; - $46 = $45 & 1; - $47 = ($46|0)==(0); - if ($47) { + break; + } + default: { + $72 = HEAP32[7364]|0; + $73 = ($72|0)==(0); + if ($73) { _DrawPlayer(); STACKTOP = sp;return; } - $48 = (_GetScreenWidth()|0); - $49 = (($48) + -280)|0; - HEAP8[$11>>0] = 0; - $50 = ((($11)) + 1|0); - HEAP8[$50>>0] = 0; - $51 = ((($11)) + 2|0); - HEAP8[$51>>0] = 0; - $52 = ((($11)) + 3|0); - HEAP8[$52>>0] = -1; - ;HEAP8[$$byval_copy27>>0]=HEAP8[$11>>0]|0;HEAP8[$$byval_copy27+1>>0]=HEAP8[$11+1>>0]|0;HEAP8[$$byval_copy27+2>>0]=HEAP8[$11+2>>0]|0;HEAP8[$$byval_copy27+3>>0]=HEAP8[$11+3>>0]|0; - _DrawText(8608,$49,200,20,$$byval_copy27); - _DrawPlayer(); - STACKTOP = sp;return; - } else if ((($39|0) == 0)) { - HEAPF32[$7>>2] = 100.0; - $40 = ((($7)) + 4|0); - HEAPF32[$40>>2] = 80.0; - $41 = HEAP32[(68)>>2]|0; - HEAP32[$8>>2] = -1; - dest=$font$byval_copy14; src=48; stop=dest+36|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - ;HEAP32[$$byval_copy23>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy23+4>>2]=HEAP32[$7+4>>2]|0; - ;HEAP8[$$byval_copy27>>0]=HEAP8[$8>>0]|0;HEAP8[$$byval_copy27+1>>0]=HEAP8[$8+1>>0]|0;HEAP8[$$byval_copy27+2>>0]=HEAP8[$8+2>>0]|0;HEAP8[$$byval_copy27+3>>0]=HEAP8[$8+3>>0]|0; - _DrawTextEx($font$byval_copy14,7400,$$byval_copy23,$41,2,$$byval_copy27); - _DrawPlayer(); - STACKTOP = sp;return; - } else { - $69 = HEAP32[7360>>2]|0; - $70 = ($69|0)==(0); - if ($70) { + $74 = HEAP32[7366]|0; + $75 = (($74|0) / 30)&-1; + $76 = $75 & 1; + $77 = ($76|0)==(0); + if ($77) { _DrawPlayer(); STACKTOP = sp;return; } - $71 = HEAP32[7384>>2]|0; - $72 = (($71|0) / 30)&-1; - $73 = $72 & 1; - $74 = ($73|0)==(0); - if ($74) { - _DrawPlayer(); - STACKTOP = sp;return; - } - $75 = (_GetScreenWidth()|0); + $78 = (_GetScreenWidth()|0); HEAP8[$21>>0] = -56; - $76 = ((($21)) + 1|0); - HEAP8[$76>>0] = -56; - $77 = ((($21)) + 2|0); - HEAP8[$77>>0] = -56; - $78 = ((($21)) + 3|0); - HEAP8[$78>>0] = -1; + $79 = ((($21)) + 1|0); + HEAP8[$79>>0] = -56; + $80 = ((($21)) + 2|0); + HEAP8[$80>>0] = -56; + $81 = ((($21)) + 3|0); + HEAP8[$81>>0] = -1; ;HEAP8[$$byval_copy27>>0]=HEAP8[$21>>0]|0;HEAP8[$$byval_copy27+1>>0]=HEAP8[$21+1>>0]|0;HEAP8[$$byval_copy27+2>>0]=HEAP8[$21+2>>0]|0;HEAP8[$$byval_copy27+3>>0]=HEAP8[$21+3>>0]|0; _Fade($20,$$byval_copy27,0.5); ;HEAP8[$$byval_copy27>>0]=HEAP8[$20>>0]|0;HEAP8[$$byval_copy27+1>>0]=HEAP8[$20+1>>0]|0;HEAP8[$$byval_copy27+2>>0]=HEAP8[$20+2>>0]|0;HEAP8[$$byval_copy27+3>>0]=HEAP8[$20+3>>0]|0; - _DrawRectangle(0,0,$75,50,$$byval_copy27); + _DrawRectangle(0,0,$78,50,$$byval_copy27); HEAP8[$22>>0] = 0; - $79 = ((($22)) + 1|0); - HEAP8[$79>>0] = 0; - $80 = ((($22)) + 2|0); - HEAP8[$80>>0] = 0; - $81 = ((($22)) + 3|0); - HEAP8[$81>>0] = -1; + $82 = ((($22)) + 1|0); + HEAP8[$82>>0] = 0; + $83 = ((($22)) + 2|0); + HEAP8[$83>>0] = 0; + $84 = ((($22)) + 3|0); + HEAP8[$84>>0] = -1; ;HEAP8[$$byval_copy27>>0]=HEAP8[$22>>0]|0;HEAP8[$$byval_copy27+1>>0]=HEAP8[$22+1>>0]|0;HEAP8[$$byval_copy27+2>>0]=HEAP8[$22+2>>0]|0;HEAP8[$$byval_copy27+3>>0]=HEAP8[$22+3>>0]|0; - _DrawText(8504,420,15,20,$$byval_copy27); + _DrawText(8553,420,15,20,$$byval_copy27); _DrawPlayer(); STACKTOP = sp;return; } + } } function _UnloadBathroomScreen() { var $mirror$byval_copy = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 96|0; + STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0); $mirror$byval_copy = sp; - ;HEAP32[$mirror$byval_copy>>2]=HEAP32[7720>>2]|0;HEAP32[$mirror$byval_copy+4>>2]=HEAP32[7720+4>>2]|0;HEAP32[$mirror$byval_copy+8>>2]=HEAP32[7720+8>>2]|0;HEAP32[$mirror$byval_copy+12>>2]=HEAP32[7720+12>>2]|0;HEAP32[$mirror$byval_copy+16>>2]=HEAP32[7720+16>>2]|0; + ;HEAP32[$mirror$byval_copy>>2]=HEAP32[29480>>2]|0;HEAP32[$mirror$byval_copy+4>>2]=HEAP32[29480+4>>2]|0;HEAP32[$mirror$byval_copy+8>>2]=HEAP32[29480+8>>2]|0;HEAP32[$mirror$byval_copy+12>>2]=HEAP32[29480+12>>2]|0;HEAP32[$mirror$byval_copy+16>>2]=HEAP32[29480+16>>2]|0; _UnloadTexture($mirror$byval_copy); - dest=$mirror$byval_copy; src=7800; stop=dest+92|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$mirror$byval_copy; src=29552; stop=dest+92|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _UnloadMonster($mirror$byval_copy); - dest=$mirror$byval_copy; src=8080; stop=dest+92|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$mirror$byval_copy; src=29736; stop=dest+92|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _UnloadMonster($mirror$byval_copy); - dest=$mirror$byval_copy; src=7944; stop=dest+92|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$mirror$byval_copy; src=29644; stop=dest+92|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _UnloadMonster($mirror$byval_copy); STACKTOP = sp;return; } function _FinishBathroomScreen() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[7664>>2]|0; + $0 = HEAP32[7369]|0; return ($0|0); } function _InitEndingScreen() { var label = 0, sp = 0; sp = STACKTOP; - HEAP32[8544>>2] = 0; - HEAP32[8552>>2] = 0; - HEAPF32[8560>>2] = 0.0; + HEAP32[7458] = 0; + HEAP32[7459] = 0; + HEAPF32[7460] = 0.0; return; } function _UpdateEndingScreen() { var $$inv = 0, $0 = 0, $1 = 0, $2 = 0.0, $3 = 0.0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $storemerge = 0.0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[8544>>2]|0; + $0 = HEAP32[7458]|0; $1 = (($0) + 1)|0; - HEAP32[8544>>2] = $1; - $2 = +HEAPF32[8560>>2]; + HEAP32[7458] = $1; + $2 = +HEAPF32[7460]; $3 = $2 + 0.004999999888241291; $$inv = $3 >= 1.0; $storemerge = $$inv ? 1.0 : $3; - HEAPF32[8560>>2] = $storemerge; + HEAPF32[7460] = $storemerge; $4 = (_IsKeyPressed(257)|0); $5 = ($4|0)==(0); if ($5) { @@ -19086,25 +18840,25 @@ function _UpdateEndingScreen() { return; } } - HEAP32[8552>>2] = 1; + HEAP32[7459] = 1; return; } function _DrawEndingScreen() { - var $$byval_copy4 = 0, $$byval_copy6 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0.0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0.0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; - var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $font$byval_copy3 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + var $$byval_copy4 = 0, $$byval_copy6 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0.0, $17 = 0.0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0.0, $22 = 0.0, $23 = 0, $24 = 0; + var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $font$byval_copy3 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 96|0; + STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0); $$byval_copy6 = sp + 88|0; - $$byval_copy4 = sp; - $font$byval_copy3 = sp + 8|0; + $$byval_copy4 = sp + 64|0; + $font$byval_copy3 = sp + 32|0; $0 = sp + 84|0; - $1 = sp + 64|0; - $2 = sp + 72|0; - $3 = sp + 56|0; - $4 = sp + 48|0; + $1 = sp + 24|0; + $2 = sp + 80|0; + $3 = sp + 16|0; + $4 = sp + 8|0; $5 = sp + 76|0; - $6 = sp + 44|0; - $7 = sp + 80|0; + $6 = sp; + $7 = sp + 72|0; $8 = (_GetScreenWidth()|0); $9 = (_GetScreenHeight()|0); HEAP8[$0>>0] = 80; @@ -19119,49 +18873,51 @@ function _DrawEndingScreen() { HEAPF32[$1>>2] = 50.0; $13 = ((($1)) + 4|0); HEAPF32[$13>>2] = 160.0; - $14 = HEAP32[(68)>>2]|0; + $14 = HEAP32[(26780)>>2]|0; $15 = ($14*3)|0; + $16 = (+($15|0)); HEAP32[$3>>2] = -1; - $16 = +HEAPF32[8560>>2]; + $17 = +HEAPF32[7460]; ;HEAP8[$$byval_copy6>>0]=HEAP8[$3>>0]|0;HEAP8[$$byval_copy6+1>>0]=HEAP8[$3+1>>0]|0;HEAP8[$$byval_copy6+2>>0]=HEAP8[$3+2>>0]|0;HEAP8[$$byval_copy6+3>>0]=HEAP8[$3+3>>0]|0; - _Fade($2,$$byval_copy6,$16); - dest=$font$byval_copy3; src=48; stop=dest+36|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _Fade($2,$$byval_copy6,$17); + ;HEAP32[$font$byval_copy3>>2]=HEAP32[26760>>2]|0;HEAP32[$font$byval_copy3+4>>2]=HEAP32[26760+4>>2]|0;HEAP32[$font$byval_copy3+8>>2]=HEAP32[26760+8>>2]|0;HEAP32[$font$byval_copy3+12>>2]=HEAP32[26760+12>>2]|0;HEAP32[$font$byval_copy3+16>>2]=HEAP32[26760+16>>2]|0;HEAP32[$font$byval_copy3+20>>2]=HEAP32[26760+20>>2]|0;HEAP32[$font$byval_copy3+24>>2]=HEAP32[26760+24>>2]|0;HEAP32[$font$byval_copy3+28>>2]=HEAP32[26760+28>>2]|0; ;HEAP32[$$byval_copy4>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$1+4>>2]|0; ;HEAP8[$$byval_copy6>>0]=HEAP8[$2>>0]|0;HEAP8[$$byval_copy6+1>>0]=HEAP8[$2+1>>0]|0;HEAP8[$$byval_copy6+2>>0]=HEAP8[$2+2>>0]|0;HEAP8[$$byval_copy6+3>>0]=HEAP8[$2+3>>0]|0; - _DrawTextEx($font$byval_copy3,8568,$$byval_copy4,$15,2,$$byval_copy6); + _DrawTextEx($font$byval_copy3,8586,$$byval_copy4,$16,2,$$byval_copy6); HEAPF32[$4>>2] = 100.0; - $17 = ((($4)) + 4|0); - HEAPF32[$17>>2] = 300.0; - $18 = HEAP32[(68)>>2]|0; - $19 = ($18*3)|0; + $18 = ((($4)) + 4|0); + HEAPF32[$18>>2] = 300.0; + $19 = HEAP32[(26780)>>2]|0; + $20 = ($19*3)|0; + $21 = (+($20|0)); HEAP32[$6>>2] = -1; - $20 = +HEAPF32[8560>>2]; + $22 = +HEAPF32[7460]; ;HEAP8[$$byval_copy6>>0]=HEAP8[$6>>0]|0;HEAP8[$$byval_copy6+1>>0]=HEAP8[$6+1>>0]|0;HEAP8[$$byval_copy6+2>>0]=HEAP8[$6+2>>0]|0;HEAP8[$$byval_copy6+3>>0]=HEAP8[$6+3>>0]|0; - _Fade($5,$$byval_copy6,$20); - dest=$font$byval_copy3; src=48; stop=dest+36|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _Fade($5,$$byval_copy6,$22); + ;HEAP32[$font$byval_copy3>>2]=HEAP32[26760>>2]|0;HEAP32[$font$byval_copy3+4>>2]=HEAP32[26760+4>>2]|0;HEAP32[$font$byval_copy3+8>>2]=HEAP32[26760+8>>2]|0;HEAP32[$font$byval_copy3+12>>2]=HEAP32[26760+12>>2]|0;HEAP32[$font$byval_copy3+16>>2]=HEAP32[26760+16>>2]|0;HEAP32[$font$byval_copy3+20>>2]=HEAP32[26760+20>>2]|0;HEAP32[$font$byval_copy3+24>>2]=HEAP32[26760+24>>2]|0;HEAP32[$font$byval_copy3+28>>2]=HEAP32[26760+28>>2]|0; ;HEAP32[$$byval_copy4>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$4+4>>2]|0; ;HEAP8[$$byval_copy6>>0]=HEAP8[$5>>0]|0;HEAP8[$$byval_copy6+1>>0]=HEAP8[$5+1>>0]|0;HEAP8[$$byval_copy6+2>>0]=HEAP8[$5+2>>0]|0;HEAP8[$$byval_copy6+3>>0]=HEAP8[$5+3>>0]|0; - _DrawTextEx($font$byval_copy3,8592,$$byval_copy4,$19,2,$$byval_copy6); - $21 = HEAP32[8544>>2]|0; - $22 = ($21|0)>(180); - if (!($22)) { + _DrawTextEx($font$byval_copy3,8603,$$byval_copy4,$21,2,$$byval_copy6); + $23 = HEAP32[7458]|0; + $24 = ($23|0)>(180); + if (!($24)) { STACKTOP = sp;return; } - $23 = (($21|0) / 40)&-1; - $24 = $23 & 1; - $25 = ($24|0)==(0); - if ($25) { + $25 = (($23>>>0) / 40)&-1; + $26 = $25 & 1; + $27 = ($26|0)==(0); + if ($27) { STACKTOP = sp;return; } HEAP8[$7>>0] = 0; - $26 = ((($7)) + 1|0); - HEAP8[$26>>0] = 0; - $27 = ((($7)) + 2|0); - HEAP8[$27>>0] = 0; - $28 = ((($7)) + 3|0); - HEAP8[$28>>0] = -1; + $28 = ((($7)) + 1|0); + HEAP8[$28>>0] = 0; + $29 = ((($7)) + 2|0); + HEAP8[$29>>0] = 0; + $30 = ((($7)) + 3|0); + HEAP8[$30>>0] = -1; ;HEAP8[$$byval_copy6>>0]=HEAP8[$7>>0]|0;HEAP8[$$byval_copy6+1>>0]=HEAP8[$7+1>>0]|0;HEAP8[$$byval_copy6+2>>0]=HEAP8[$7+2>>0]|0;HEAP8[$$byval_copy6+3>>0]=HEAP8[$7+3>>0]|0; - _DrawText(8608,380,545,40,$$byval_copy6); + _DrawText(8619,380,545,40,$$byval_copy6); STACKTOP = sp;return; } function _UnloadEndingScreen() { @@ -19172,79 +18928,80 @@ function _UnloadEndingScreen() { function _FinishEndingScreen() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[8552>>2]|0; + $0 = HEAP32[7459]|0; return ($0|0); } function _InitPlayer() { var $0 = 0, $1 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; + STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0); $0 = sp + 20|0; $1 = sp; - _LoadTexture($0,8632); - ;HEAP32[(160)>>2]=HEAP32[$0>>2]|0;HEAP32[(160)+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[(160)+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[(160)+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[(160)+16>>2]=HEAP32[$0+16>>2]|0; - HEAPF32[136>>2] = 350.0; - HEAPF32[(140)>>2] = 400.0; - HEAP32[(212)>>2] = 4; + _LoadTexture($0,8640); + ;HEAP32[(26864)>>2]=HEAP32[$0>>2]|0;HEAP32[(26864)+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[(26864)+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[(26864)+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[(26864)+16>>2]=HEAP32[$0+16>>2]|0; + HEAPF32[6710] = 350.0; + HEAPF32[(26844)>>2] = 400.0; + HEAP32[(26916)>>2] = 4; _ResetPlayer(); - HEAP32[8664>>2] = 0; - _LoadTexture($1,8672); - ;HEAP32[8712>>2]=HEAP32[$1>>2]|0;HEAP32[8712+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[8712+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[8712+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[8712+16>>2]=HEAP32[$1+16>>2]|0; + HEAP32[7461] = 0; + _LoadTexture($1,8670); + ;HEAP32[29848>>2]=HEAP32[$1>>2]|0;HEAP32[29848+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[29848+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[29848+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[29848+16>>2]=HEAP32[$1+16>>2]|0; STACKTOP = sp;return; } function _ResetPlayer() { var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0.0, $13 = 0, $2 = 0, $3 = 0, $4 = 0.0, $5 = 0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[(164)>>2]|0; + $0 = HEAP32[(26868)>>2]|0; $1 = (($0|0) / 4)&-1; - $2 = HEAP32[(168)>>2]|0; + $2 = HEAP32[(26872)>>2]|0; $3 = (($2|0) / 6)&-1; - HEAP32[(184)>>2] = 0; - HEAP32[(188)>>2] = 0; - HEAP32[(192)>>2] = $1; - HEAP32[(196)>>2] = $3; - HEAP32[(200)>>2] = 0; - HEAP32[(204)>>2] = 1; - HEAP32[(208)>>2] = 0; - HEAP32[(216)>>2] = 0; - $4 = +HEAPF32[136>>2]; + HEAP32[(26888)>>2] = 0; + HEAP32[(26892)>>2] = 0; + HEAP32[(26896)>>2] = $1; + HEAP32[(26900)>>2] = $3; + HEAP32[(26904)>>2] = 0; + HEAP32[(26908)>>2] = 1; + HEAP32[(26912)>>2] = 0; + HEAP32[(26920)>>2] = 0; + $4 = +HEAPF32[6710]; $5 = $4 < 400.0; if ($5) { $6 = (_GetScreenWidth()|0); $7 = (($6) + -350)|0; $8 = (+($7|0)); - HEAPF32[136>>2] = $8; + HEAPF32[6710] = $8; } - $9 = +HEAPF32[136>>2]; + $9 = +HEAPF32[6710]; $10 = (_GetScreenWidth()|0); $11 = (($10) + -400)|0; $12 = (+($11|0)); $13 = $9 > $12; if ($13) { - HEAPF32[136>>2] = 350.0; + HEAPF32[6710] = 350.0; } - HEAP32[8736>>2] = 0; - HEAP32[8744>>2] = -1; - HEAP32[8752>>2] = 0; - HEAP32[8664>>2] = 0; - HEAP32[8760>>2] = 0; - HEAP32[8768>>2] = 0; - HEAPF32[8776>>2] = 0.0; - HEAP32[8784>>2] = 0; + HEAP32[7467] = 0; + HEAP32[7468] = -1; + HEAP32[7469] = 0; + HEAP32[7461] = 0; + HEAP32[7470] = 0; + HEAP32[7471] = 0; + HEAPF32[7472] = 0.0; + HEAP32[7473] = 0; return; } function _UpdatePlayer() { - var $$pr = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0.0, $19 = 0.0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0.0, $32 = 0.0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; - var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0.0; - var $62 = 0, $63 = 0, $64 = 0, $65 = 0.0, $66 = 0.0, $67 = 0, $68 = 0, $69 = 0.0, $7 = 0, $70 = 0.0, $71 = 0.0, $72 = 0, $73 = 0.0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0; - var $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0.0, $85 = 0.0, $86 = 0, $87 = 0.0, $88 = 0.0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0.0, $93 = 0.0, $94 = 0, $or$cond = 0, $or$cond3 = 0, label = 0, sp = 0; + var $$pr = 0.0, $$pr5 = 0, $$sink = 0.0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0.0, $18 = 0.0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0; + var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0.0, $3 = 0, $30 = 0.0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0; + var $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0.0, $48 = 0, $49 = 0, $5 = 0, $50 = 0.0, $51 = 0, $52 = 0, $53 = 0, $54 = 0.0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0; + var $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0.0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0.0, $72 = 0.0, $73 = 0, $74 = 0, $75 = 0.0, $76 = 0.0, $77 = 0.0; + var $78 = 0, $79 = 0.0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0.0, $91 = 0.0, $92 = 0, $93 = 0.0, $94 = 0.0, $95 = 0; + var $96 = 0, $97 = 0, $98 = 0.0, $99 = 0.0, $or$cond = 0, $or$cond3 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); $0 = sp; - $1 = HEAP32[8760>>2]|0; + $1 = HEAP32[7470]|0; $2 = ($1|0)==(0); - do { + L1: do { if ($2) { $3 = (_IsKeyDown(263)|0); $4 = ($3|0)==(0); @@ -19258,231 +19015,272 @@ function _UpdatePlayer() { label = 4; } if ((label|0) == 4) { - HEAP32[8744>>2] = -1; - HEAP32[8736>>2] = 0; + HEAP32[7468] = -1; + HEAP32[7467] = 0; } $7 = (_IsKeyDown(262)|0); $8 = ($7|0)!=(0); - $9 = HEAP32[8744>>2]|0; + $9 = HEAP32[7468]|0; $10 = ($9|0)==(0); $or$cond = $8 | $10; if ($or$cond) { - HEAP32[(204)>>2] = 1; - $11 = HEAP32[8664>>2]|0; + HEAP32[(26908)>>2] = 1; + $11 = HEAP32[7461]|0; $12 = (($11) + 1)|0; - HEAP32[8664>>2] = $12; + HEAP32[7461] = $12; $13 = ($11|0)>(14); if ($13) { - $14 = HEAP32[(200)>>2]|0; + $14 = HEAP32[(26904)>>2]|0; $15 = (($14) + 1)|0; - HEAP32[(200)>>2] = $15; - HEAP32[8664>>2] = 0; - $16 = HEAP32[(200)>>2]|0; - $17 = ($16|0)>(3); - if ($17) { - HEAP32[(200)>>2] = 0; + HEAP32[(26904)>>2] = $15; + HEAP32[7461] = 0; + $16 = ($14|0)>(2); + if ($16) { + HEAP32[(26904)>>2] = 0; } } - $18 = +HEAPF32[136>>2]; - $19 = $18 + 4.0; - HEAPF32[136>>2] = $19; + $17 = +HEAPF32[6710]; + $18 = $17 + 4.0; + HEAPF32[6710] = $18; + $47 = $18; break; } - $20 = (_IsKeyDown(263)|0); - $21 = ($20|0)!=(0); - $22 = HEAP32[8744>>2]|0; - $23 = ($22|0)==(1); - $or$cond3 = $21 | $23; + $19 = (_IsKeyDown(263)|0); + $20 = ($19|0)!=(0); + $21 = HEAP32[7468]|0; + $22 = ($21|0)==(1); + $or$cond3 = $20 | $22; if (!($or$cond3)) { - HEAP32[(200)>>2] = 0; + HEAP32[(26904)>>2] = 0; + label = 26; break; } - HEAP32[(204)>>2] = 2; - $24 = HEAP32[8664>>2]|0; - $25 = (($24) + 1)|0; - HEAP32[8664>>2] = $25; - $26 = ($24|0)>(14); - if ($26) { - $27 = HEAP32[(200)>>2]|0; - $28 = (($27) + 1)|0; - HEAP32[(200)>>2] = $28; - HEAP32[8664>>2] = 0; - $29 = HEAP32[(200)>>2]|0; - $30 = ($29|0)>(3); - if ($30) { - HEAP32[(200)>>2] = 0; + HEAP32[(26908)>>2] = 2; + $23 = HEAP32[7461]|0; + $24 = (($23) + 1)|0; + HEAP32[7461] = $24; + $25 = ($23|0)>(14); + if ($25) { + $26 = HEAP32[(26904)>>2]|0; + $27 = (($26) + 1)|0; + HEAP32[(26904)>>2] = $27; + HEAP32[7461] = 0; + $28 = ($26|0)>(2); + if ($28) { + HEAP32[(26904)>>2] = 0; } } - $31 = +HEAPF32[136>>2]; - $32 = $31 + -4.0; - HEAPF32[136>>2] = $32; + $29 = +HEAPF32[6710]; + $30 = $29 + -4.0; + HEAPF32[6710] = $30; + $47 = $30; } else { - $33 = HEAP32[8664>>2]|0; + $31 = HEAP32[7461]|0; + $32 = (($31) + 1)|0; + HEAP32[7461] = $32; + $33 = HEAP32[7471]|0; $34 = (($33) + 1)|0; - HEAP32[8664>>2] = $34; - $35 = HEAP32[8768>>2]|0; - $36 = (($35) + 1)|0; - HEAP32[8768>>2] = $36; - $37 = ($33|0)>(9); - if ($37) { - $38 = HEAP32[(200)>>2]|0; - $39 = (($38) + 1)|0; - HEAP32[(200)>>2] = $39; - HEAP32[8664>>2] = 0; - $40 = HEAP32[(200)>>2]|0; - $41 = ($40|0)>(3); - if ($41) { - HEAP32[(200)>>2] = 0; + HEAP32[7471] = $34; + $35 = ($31|0)>(9); + if ($35) { + $36 = HEAP32[(26904)>>2]|0; + $37 = (($36) + 1)|0; + HEAP32[(26904)>>2] = $37; + HEAP32[7461] = 0; + $38 = ($36|0)>(2); + if ($38) { + HEAP32[(26904)>>2] = 0; } - $42 = HEAP32[(204)>>2]|0; - if ((($42|0) == 4)) { - $45 = HEAP32[8768>>2]|0; - $46 = ($45|0)>(240); - if (!($46)) { - break; + $39 = HEAP32[(26908)>>2]|0; + switch ($39|0) { + case 3: { + $40 = HEAP32[7471]|0; + $41 = ($40|0)>(180); + if (!($41)) { + label = 26; + break L1; } - HEAP32[8768>>2] = 0; - HEAP32[8760>>2] = 0; - HEAP32[(204)>>2] = 1; - break; - } else if ((($42|0) == 3)) { - $43 = HEAP32[8768>>2]|0; - $44 = ($43|0)>(180); - if (!($44)) { - break; - } - HEAP32[8768>>2] = 0; - HEAP32[8760>>2] = 0; - HEAP32[(204)>>2] = 2; - break; - } else if ((($42|0) == 6) | (($42|0) == 5)) { - $47 = HEAP32[8768>>2]|0; - $48 = ($47|0)>(240); - if (!($48)) { - break; - } - HEAP32[8768>>2] = 0; - HEAP32[8760>>2] = 0; - HEAP32[(204)>>2] = 1; - break; - } else { + HEAP32[7471] = 0; + HEAP32[7470] = 0; + HEAP32[(26908)>>2] = 2; + label = 26; + break L1; break; } + case 4: { + $42 = HEAP32[7471]|0; + $43 = ($42|0)>(240); + if (!($43)) { + label = 26; + break L1; + } + HEAP32[7471] = 0; + HEAP32[7470] = 0; + HEAP32[(26908)>>2] = 1; + label = 26; + break L1; + break; + } + case 6: case 5: { + $44 = HEAP32[7471]|0; + $45 = ($44|0)>(240); + if (!($45)) { + label = 26; + break L1; + } + HEAP32[7471] = 0; + HEAP32[7470] = 0; + HEAP32[(26908)>>2] = 1; + label = 26; + break L1; + break; + } + default: { + label = 26; + break L1; + } + } + } else { + label = 26; } } } while(0); - $49 = (_IsMouseButtonPressed(0)|0); - $50 = ($49|0)==(0); - if ($50) { - $$pr = HEAP32[8736>>2]|0; - $63 = ($$pr|0)==(0); - if (!($63)) { - label = 29; + if ((label|0) == 26) { + $$pr = +HEAPF32[6710]; + $47 = $$pr; + } + $46 = $47 < 30.0; + if ($46) { + $$sink = 30.0; + label = 30; + } else { + $48 = (_GetScreenWidth()|0); + $49 = (($48) + -200)|0; + $50 = (+($49|0)); + $51 = $47 > $50; + if ($51) { + $52 = (_GetScreenWidth()|0); + $53 = (($52) + -200)|0; + $54 = (+($53|0)); + $$sink = $54; + label = 30; + } + } + if ((label|0) == 30) { + HEAPF32[6710] = $$sink; + } + $55 = (_IsMouseButtonPressed(0)|0); + $56 = ($55|0)==(0); + if ($56) { + $$pr5 = HEAP32[7467]|0; + $69 = ($$pr5|0)==(0); + if (!($69)) { + label = 34; } } else { _GetMousePosition($0); - $51 = $0; - $52 = $51; - $53 = HEAP32[$52>>2]|0; - $54 = (($51) + 4)|0; - $55 = $54; - $56 = HEAP32[$55>>2]|0; - $57 = 8792; + $57 = $0; $58 = $57; - HEAP32[$58>>2] = $53; - $59 = (($57) + 4)|0; - $60 = $59; - HEAP32[$60>>2] = $56; - HEAP32[8784>>2] = 1; - HEAPF32[8776>>2] = 1.0; - $61 = +HEAPF32[8792>>2]; - $62 = (~~(($61))); - HEAP32[8752>>2] = $62; - HEAP32[8736>>2] = 1; - label = 29; + $59 = HEAP32[$58>>2]|0; + $60 = (($57) + 4)|0; + $61 = $60; + $62 = HEAP32[$61>>2]|0; + $63 = 26464; + $64 = $63; + HEAP32[$64>>2] = $59; + $65 = (($63) + 4)|0; + $66 = $65; + HEAP32[$66>>2] = $62; + HEAP32[7473] = 1; + HEAPF32[7472] = 1.0; + $67 = +HEAPF32[6616]; + $68 = (~~(($67))); + HEAP32[7469] = $68; + HEAP32[7467] = 1; + label = 34; } do { - if ((label|0) == 29) { - $64 = HEAP32[8752>>2]|0; - $65 = (+($64|0)); - $66 = +HEAPF32[136>>2]; - $67 = HEAP32[(192)>>2]|0; - $68 = (($67|0) / 2)&-1; - $69 = (+($68|0)); - $70 = $66 + $69; - $71 = $70 + 5.0; - $72 = $65 > $71; - if ($72) { - HEAP32[8744>>2] = 0; + if ((label|0) == 34) { + $70 = HEAP32[7469]|0; + $71 = (+($70|0)); + $72 = +HEAPF32[6710]; + $73 = HEAP32[(26896)>>2]|0; + $74 = (($73|0) / 2)&-1; + $75 = (+($74|0)); + $76 = $72 + $75; + $77 = $76 + 5.0; + $78 = $71 > $77; + if ($78) { + HEAP32[7468] = 0; break; } - $73 = $70 + -5.0; - $74 = $65 < $73; - if ($74) { - HEAP32[8744>>2] = 1; + $79 = $76 + -5.0; + $80 = $71 < $79; + if ($80) { + HEAP32[7468] = 1; break; } else { - HEAP32[8744>>2] = -1; - HEAP32[8736>>2] = 0; + HEAP32[7468] = -1; + HEAP32[7467] = 0; break; } } } while(0); - $75 = HEAP32[(200)>>2]|0; - $76 = HEAP32[(164)>>2]|0; - $77 = Math_imul($76, $75)|0; - $78 = (($77|0) / 4)&-1; - HEAP32[(184)>>2] = $78; - $79 = HEAP32[(204)>>2]|0; - $80 = (($79) + -1)|0; - $81 = HEAP32[(168)>>2]|0; - $82 = Math_imul($80, $81)|0; - $83 = (($82|0) / 6)&-1; - HEAP32[(188)>>2] = $83; - $84 = +HEAPF32[136>>2]; - $85 = $84 + 50.0; - $86 = (~~(($85))); - $87 = +HEAPF32[(140)>>2]; - $88 = $87 + -60.0; - $89 = (~~(($88))); - HEAP32[(144)>>2] = $86; - HEAP32[(148)>>2] = $89; - HEAP32[(152)>>2] = 100; - HEAP32[(156)>>2] = 300; - $90 = HEAP32[8784>>2]|0; - $91 = ($90|0)==(0); - if ($91) { + $81 = HEAP32[(26904)>>2]|0; + $82 = HEAP32[(26868)>>2]|0; + $83 = Math_imul($82, $81)|0; + $84 = (($83|0) / 4)&-1; + HEAP32[(26888)>>2] = $84; + $85 = HEAP32[(26908)>>2]|0; + $86 = (($85) + -1)|0; + $87 = HEAP32[(26872)>>2]|0; + $88 = Math_imul($86, $87)|0; + $89 = (($88|0) / 6)&-1; + HEAP32[(26892)>>2] = $89; + $90 = +HEAPF32[6710]; + $91 = $90 + 50.0; + $92 = (~~(($91))); + $93 = +HEAPF32[(26844)>>2]; + $94 = $93 + -60.0; + $95 = (~~(($94))); + HEAP32[(26848)>>2] = $92; + HEAP32[(26852)>>2] = $95; + HEAP32[(26856)>>2] = 100; + HEAP32[(26860)>>2] = 300; + $96 = HEAP32[7473]|0; + $97 = ($96|0)==(0); + if ($97) { STACKTOP = sp;return; } - $92 = +HEAPF32[8776>>2]; - $93 = $92 + -0.10000000149011612; - HEAPF32[8776>>2] = $93; - $94 = !($93 <= 0.0); - if ($94) { + $98 = +HEAPF32[7472]; + $99 = $98 + -0.10000000149011612; + HEAPF32[7472] = $99; + $100 = !($99 <= 0.0); + if ($100) { STACKTOP = sp;return; } - HEAPF32[8776>>2] = 0.0; - HEAP32[8784>>2] = 0; + HEAPF32[7472] = 0.0; + HEAP32[7473] = 0; STACKTOP = sp;return; } function _DrawPlayer() { var $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy4 = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0.0, $pointerPosition$byval_copy = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; - $$byval_copy4 = sp + 56|0; - $pointerPosition$byval_copy = sp; - $$byval_copy1 = sp + 8|0; - $$byval_copy = sp + 24|0; - $0 = sp + 44|0; - $1 = sp + 48|0; - $2 = sp + 52|0; + STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0); + $$byval_copy4 = sp + 64|0; + $pointerPosition$byval_copy = sp + 48|0; + $$byval_copy1 = sp + 24|0; + $$byval_copy = sp; + $0 = sp + 40|0; + $1 = sp + 60|0; + $2 = sp + 56|0; HEAP32[$0>>2] = -1; - ;HEAP32[$$byval_copy>>2]=HEAP32[(160)>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[(160)+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[(160)+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[(160)+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[(160)+16>>2]|0; - ;HEAP32[$$byval_copy1>>2]=HEAP32[(184)>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[(184)+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[(184)+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[(184)+12>>2]|0; - ;HEAP32[$pointerPosition$byval_copy>>2]=HEAP32[136>>2]|0;HEAP32[$pointerPosition$byval_copy+4>>2]=HEAP32[136+4>>2]|0; + ;HEAP32[$$byval_copy>>2]=HEAP32[(26864)>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[(26864)+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[(26864)+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[(26864)+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[(26864)+16>>2]|0; + ;HEAP32[$$byval_copy1>>2]=HEAP32[(26888)>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[(26888)+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[(26888)+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[(26888)+12>>2]|0; + ;HEAP32[$pointerPosition$byval_copy>>2]=HEAP32[26840>>2]|0;HEAP32[$pointerPosition$byval_copy+4>>2]=HEAP32[26840+4>>2]|0; ;HEAP8[$$byval_copy4>>0]=HEAP8[$0>>0]|0;HEAP8[$$byval_copy4+1>>0]=HEAP8[$0+1>>0]|0;HEAP8[$$byval_copy4+2>>0]=HEAP8[$0+2>>0]|0;HEAP8[$$byval_copy4+3>>0]=HEAP8[$0+3>>0]|0; _DrawTextureRec($$byval_copy,$$byval_copy1,$pointerPosition$byval_copy,$$byval_copy4); - $3 = HEAP32[8784>>2]|0; + $3 = HEAP32[7473]|0; $4 = ($3|0)==(0); if ($4) { _DrawLifes(); @@ -19495,101 +19293,47 @@ function _DrawPlayer() { HEAP8[$6>>0] = 55; $7 = ((($2)) + 3|0); HEAP8[$7>>0] = -1; - $8 = +HEAPF32[8776>>2]; + $8 = +HEAPF32[7472]; ;HEAP8[$$byval_copy4>>0]=HEAP8[$2>>0]|0;HEAP8[$$byval_copy4+1>>0]=HEAP8[$2+1>>0]|0;HEAP8[$$byval_copy4+2>>0]=HEAP8[$2+2>>0]|0;HEAP8[$$byval_copy4+3>>0]=HEAP8[$2+3>>0]|0; _Fade($1,$$byval_copy4,$8); - ;HEAP32[$pointerPosition$byval_copy>>2]=HEAP32[8792>>2]|0;HEAP32[$pointerPosition$byval_copy+4>>2]=HEAP32[8792+4>>2]|0; + ;HEAP32[$pointerPosition$byval_copy>>2]=HEAP32[26464>>2]|0;HEAP32[$pointerPosition$byval_copy+4>>2]=HEAP32[26464+4>>2]|0; ;HEAP8[$$byval_copy4>>0]=HEAP8[$1>>0]|0;HEAP8[$$byval_copy4+1>>0]=HEAP8[$1+1>>0]|0;HEAP8[$$byval_copy4+2>>0]=HEAP8[$1+2>>0]|0;HEAP8[$$byval_copy4+3>>0]=HEAP8[$1+3>>0]|0; _DrawCircleV($pointerPosition$byval_copy,20.0,$$byval_copy4); _DrawLifes(); STACKTOP = sp;return; } -function _UnloadPlayer() { - var $texLife$byval_copy = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $texLife$byval_copy = sp; - ;HEAP32[$texLife$byval_copy>>2]=HEAP32[(160)>>2]|0;HEAP32[$texLife$byval_copy+4>>2]=HEAP32[(160)+4>>2]|0;HEAP32[$texLife$byval_copy+8>>2]=HEAP32[(160)+8>>2]|0;HEAP32[$texLife$byval_copy+12>>2]=HEAP32[(160)+12>>2]|0;HEAP32[$texLife$byval_copy+16>>2]=HEAP32[(160)+16>>2]|0; - _UnloadTexture($texLife$byval_copy); - ;HEAP32[$texLife$byval_copy>>2]=HEAP32[8712>>2]|0;HEAP32[$texLife$byval_copy+4>>2]=HEAP32[8712+4>>2]|0;HEAP32[$texLife$byval_copy+8>>2]=HEAP32[8712+8>>2]|0;HEAP32[$texLife$byval_copy+12>>2]=HEAP32[8712+12>>2]|0;HEAP32[$texLife$byval_copy+16>>2]=HEAP32[8712+16>>2]|0; - _UnloadTexture($texLife$byval_copy); - STACKTOP = sp;return; -} -function _ScarePlayer() { - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - HEAP32[(200)>>2] = 0; - $0 = HEAP32[8744>>2]|0; - if ((($0|0) == 1)) { - HEAP32[(204)>>2] = 4; - } else if ((($0|0) == 0)) { - HEAP32[(204)>>2] = 3; - } else { - HEAP32[(204)>>2] = 3; - } - $1 = HEAP32[(212)>>2]|0; - $2 = (($1) + -1)|0; - HEAP32[(212)>>2] = $2; - $3 = ($1|0)<(2); - if (!($3)) { - HEAP32[8760>>2] = 1; - return; - } - HEAP32[(216)>>2] = 1; - HEAP32[8760>>2] = 1; - return; -} -function _SearchKeyPlayer() { - var label = 0, sp = 0; - sp = STACKTOP; - HEAP32[8744>>2] = -1; - HEAP32[8736>>2] = 0; - HEAP32[(200)>>2] = 0; - HEAP32[(204)>>2] = 5; - HEAP32[8760>>2] = 1; - return; -} -function _FindKeyPlayer() { - var label = 0, sp = 0; - sp = STACKTOP; - HEAP32[(200)>>2] = 0; - HEAP32[(204)>>2] = 6; - HEAP32[(208)>>2] = 1; - HEAP32[8760>>2] = 1; - return; -} function _DrawLifes() { - var $$byval_copy1 = 0, $0 = 0, $1 = 0, $10 = 0.0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0.0, $18 = 0.0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $3 = 0, $4 = 0, $5 = 0; - var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i$01 = 0, $texLife$byval_copy = 0, label = 0, sp = 0; + var $$06 = 0, $$byval_copy1 = 0, $0 = 0, $1 = 0, $10 = 0.0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0.0, $18 = 0.0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $3 = 0, $4 = 0; + var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $texLife$byval_copy = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); $$byval_copy1 = sp + 28|0; $texLife$byval_copy = sp; - $0 = sp + 20|0; - $1 = sp + 24|0; - $2 = HEAP32[(212)>>2]|0; + $0 = sp + 24|0; + $1 = sp + 20|0; + $2 = HEAP32[(26916)>>2]|0; $3 = ($2|0)==(0); if ($3) { STACKTOP = sp;return; } $4 = (_GetScreenHeight()|0); - $5 = HEAP32[(212)>>2]|0; + $5 = HEAP32[(26916)>>2]|0; $6 = ($5|0)>(0); if (!($6)) { STACKTOP = sp;return; } $7 = (($4) + -20)|0; - $8 = HEAP32[(8720)>>2]|0; + $8 = HEAP32[(29856)>>2]|0; $9 = (($7) - ($8))|0; $10 = (+($9|0)); $11 = (~~(($10))); $12 = ((($1)) + 1|0); $13 = ((($1)) + 2|0); $14 = ((($1)) + 3|0); - $i$01 = 0; + $$06 = 0; while(1) { - $15 = HEAP32[(8716)>>2]|0; - $16 = Math_imul($15, $i$01)|0; + $15 = HEAP32[(29852)>>2]|0; + $16 = Math_imul($15, $$06)|0; $17 = (+($16|0)); $18 = $17 + 20.0; $19 = (~~(($18))); @@ -19599,3719 +19343,2236 @@ function _DrawLifes() { HEAP8[$14>>0] = -1; ;HEAP8[$$byval_copy1>>0]=HEAP8[$1>>0]|0;HEAP8[$$byval_copy1+1>>0]=HEAP8[$1+1>>0]|0;HEAP8[$$byval_copy1+2>>0]=HEAP8[$1+2>>0]|0;HEAP8[$$byval_copy1+3>>0]=HEAP8[$1+3>>0]|0; _Fade($0,$$byval_copy1,0.69999998807907104); - ;HEAP32[$texLife$byval_copy>>2]=HEAP32[8712>>2]|0;HEAP32[$texLife$byval_copy+4>>2]=HEAP32[8712+4>>2]|0;HEAP32[$texLife$byval_copy+8>>2]=HEAP32[8712+8>>2]|0;HEAP32[$texLife$byval_copy+12>>2]=HEAP32[8712+12>>2]|0;HEAP32[$texLife$byval_copy+16>>2]=HEAP32[8712+16>>2]|0; + ;HEAP32[$texLife$byval_copy>>2]=HEAP32[29848>>2]|0;HEAP32[$texLife$byval_copy+4>>2]=HEAP32[29848+4>>2]|0;HEAP32[$texLife$byval_copy+8>>2]=HEAP32[29848+8>>2]|0;HEAP32[$texLife$byval_copy+12>>2]=HEAP32[29848+12>>2]|0;HEAP32[$texLife$byval_copy+16>>2]=HEAP32[29848+16>>2]|0; ;HEAP8[$$byval_copy1>>0]=HEAP8[$0>>0]|0;HEAP8[$$byval_copy1+1>>0]=HEAP8[$0+1>>0]|0;HEAP8[$$byval_copy1+2>>0]=HEAP8[$0+2>>0]|0;HEAP8[$$byval_copy1+3>>0]=HEAP8[$0+3>>0]|0; _DrawTexture($texLife$byval_copy,$19,$11,$$byval_copy1); - $20 = (($i$01) + 1)|0; - $21 = HEAP32[(212)>>2]|0; + $20 = (($$06) + 1)|0; + $21 = HEAP32[(26916)>>2]|0; $22 = ($20|0)<($21|0); if ($22) { - $i$01 = $20; + $$06 = $20; } else { break; } } STACKTOP = sp;return; } -function _UpdateMonster($monster) { - $monster = $monster|0; - var $$byval_copy = 0, $$byval_copy1 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; - var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; - var $8 = 0, $9 = 0, label = 0, sp = 0; +function _UnloadPlayer() { + var $texLife$byval_copy = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $texLife$byval_copy = sp; + ;HEAP32[$texLife$byval_copy>>2]=HEAP32[(26864)>>2]|0;HEAP32[$texLife$byval_copy+4>>2]=HEAP32[(26864)+4>>2]|0;HEAP32[$texLife$byval_copy+8>>2]=HEAP32[(26864)+8>>2]|0;HEAP32[$texLife$byval_copy+12>>2]=HEAP32[(26864)+12>>2]|0;HEAP32[$texLife$byval_copy+16>>2]=HEAP32[(26864)+16>>2]|0; + _UnloadTexture($texLife$byval_copy); + ;HEAP32[$texLife$byval_copy>>2]=HEAP32[29848>>2]|0;HEAP32[$texLife$byval_copy+4>>2]=HEAP32[29848+4>>2]|0;HEAP32[$texLife$byval_copy+8>>2]=HEAP32[29848+8>>2]|0;HEAP32[$texLife$byval_copy+12>>2]=HEAP32[29848+12>>2]|0;HEAP32[$texLife$byval_copy+16>>2]=HEAP32[29848+16>>2]|0; + _UnloadTexture($texLife$byval_copy); + STACKTOP = sp;return; +} +function _ScarePlayer() { + var $$sink = 0, $$sink$sink = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAP32[(26904)>>2] = 0; + $0 = HEAP32[7468]|0; + $1 = ($0|0)==(0); + $2 = ($0|0)==(1); + $$sink = $2 ? 4 : 3; + $$sink$sink = $1 ? 3 : $$sink; + HEAP32[(26908)>>2] = $$sink$sink; + $3 = HEAP32[(26916)>>2]|0; + $4 = (($3) + -1)|0; + HEAP32[(26916)>>2] = $4; + $5 = ($3|0)<(2); + if (!($5)) { + HEAP32[7470] = 1; + return; + } + HEAP32[(26920)>>2] = 1; + HEAP32[7470] = 1; + return; +} +function _SearchKeyPlayer() { + var label = 0, sp = 0; + sp = STACKTOP; + HEAP32[7468] = -1; + HEAP32[7467] = 0; + HEAP32[(26904)>>2] = 0; + HEAP32[(26908)>>2] = 5; + HEAP32[7470] = 1; + return; +} +function _FindKeyPlayer() { + var label = 0, sp = 0; + sp = STACKTOP; + HEAP32[(26904)>>2] = 0; + HEAP32[(26908)>>2] = 6; + HEAP32[(26912)>>2] = 1; + HEAP32[7470] = 1; + return; +} +function _UpdateMonster($0) { + $0 = $0|0; + var $$byval_copy = 0, $$byval_copy1 = 0, $$sink = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; + var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); $$byval_copy1 = sp + 16|0; - $$byval_copy = sp; - $0 = sp + 8|0; - $1 = ((($monster)) + 80|0); - $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)==(0); - do { - if ($3) { - _GetMousePosition($0); - $4 = ((($monster)) + 28|0); - ;HEAP32[$$byval_copy>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$0+4>>2]|0; - ;HEAP32[$$byval_copy1>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$4+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$4+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$4+12>>2]|0; - $5 = (_CheckCollisionPointRec($$byval_copy,$$byval_copy1)|0); - $6 = ($5|0)==(0); - $7 = ((($monster)) + 84|0); - if ($6) { - HEAP32[$7>>2] = 0; - break; - } else { - HEAP32[$7>>2] = 1; - break; - } - } else { - $8 = ((($monster)) + 88|0); - $9 = HEAP32[$8>>2]|0; - $10 = ($9|0)==(0); - if (!($10)) { - $11 = ((($monster)) + 64|0); - $12 = HEAP32[$11>>2]|0; - $13 = (($12) + 1)|0; - HEAP32[$11>>2] = $13; - $14 = ((($monster)) + 72|0); - HEAP32[$14>>2] = 0; - $15 = HEAP32[$11>>2]|0; - $16 = ($15|0)>(7); - if ($16) { - $17 = ((($monster)) + 68|0); - $18 = HEAP32[$17>>2]|0; - $19 = (($18) + 1)|0; - HEAP32[$17>>2] = $19; - HEAP32[$11>>2] = 0; - $20 = HEAP32[$17>>2]|0; - $21 = ((($monster)) + 76|0); - $22 = HEAP32[$21>>2]|0; - $23 = (($22) + -1)|0; - $24 = ($20|0)>($23|0); - if ($24) { - HEAP32[$17>>2] = 1; - } + $$byval_copy = sp + 8|0; + $1 = sp; + $2 = ((($0)) + 80|0); + $3 = HEAP32[$2>>2]|0; + $4 = ($3|0)==(0); + if ($4) { + _GetMousePosition($1); + $5 = ((($0)) + 28|0); + ;HEAP32[$$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$1+4>>2]|0; + ;HEAP32[$$byval_copy1>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$5+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$5+12>>2]|0; + $6 = (_CheckCollisionPointRec($$byval_copy,$$byval_copy1)|0); + $7 = ($6|0)!=(0); + $8 = ((($0)) + 84|0); + $$sink = $7&1; + HEAP32[$8>>2] = $$sink; + } else { + $9 = ((($0)) + 88|0); + $10 = HEAP32[$9>>2]|0; + $11 = ($10|0)==(0); + if (!($11)) { + $12 = ((($0)) + 64|0); + $13 = HEAP32[$12>>2]|0; + $14 = (($13) + 1)|0; + HEAP32[$12>>2] = $14; + $15 = ((($0)) + 72|0); + HEAP32[$15>>2] = 0; + $16 = ($13|0)>(6); + if ($16) { + $17 = ((($0)) + 68|0); + $18 = HEAP32[$17>>2]|0; + $19 = (($18) + 1)|0; + HEAP32[$17>>2] = $19; + HEAP32[$12>>2] = 0; + $20 = ((($0)) + 76|0); + $21 = HEAP32[$20>>2]|0; + $22 = (($21) + -1)|0; + $23 = ($18|0)<($22|0); + if (!($23)) { + HEAP32[$17>>2] = 1; } } } - } while(0); - $25 = ((($monster)) + 68|0); - $26 = HEAP32[$25>>2]|0; - $27 = ((($monster)) + 12|0); - $28 = HEAP32[$27>>2]|0; - $29 = Math_imul($28, $26)|0; - $30 = ((($monster)) + 76|0); - $31 = HEAP32[$30>>2]|0; - $32 = (($29|0) / ($31|0))&-1; - $33 = ((($monster)) + 44|0); - HEAP32[$33>>2] = $32; - $34 = ((($monster)) + 72|0); - $35 = HEAP32[$34>>2]|0; - $36 = ((($monster)) + 16|0); - $37 = HEAP32[$36>>2]|0; - $38 = Math_imul($37, $35)|0; - $39 = ((($monster)) + 48|0); - HEAP32[$39>>2] = $38; + } + $24 = ((($0)) + 68|0); + $25 = HEAP32[$24>>2]|0; + $26 = ((($0)) + 12|0); + $27 = HEAP32[$26>>2]|0; + $28 = Math_imul($27, $25)|0; + $29 = ((($0)) + 76|0); + $30 = HEAP32[$29>>2]|0; + $31 = (($28|0) / ($30|0))&-1; + $32 = ((($0)) + 44|0); + HEAP32[$32>>2] = $31; + $33 = ((($0)) + 72|0); + $34 = HEAP32[$33>>2]|0; + $35 = ((($0)) + 16|0); + $36 = HEAP32[$35>>2]|0; + $37 = Math_imul($36, $34)|0; + $38 = ((($0)) + 48|0); + HEAP32[$38>>2] = $37; STACKTOP = sp;return; } -function _DrawMonster($monster,$scroll) { - $monster = $monster|0; - $scroll = $scroll|0; - var $$byval_copy3 = 0, $$byval_copy4 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $scrollPos = 0, $scrollPos$byval_copy5 = 0; +function _DrawMonster($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$byval_copy4 = 0, $$byval_copy5 = 0, $$byval_copy6 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0; var $tmpcast$byval_copy = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 80|0; - $tmpcast$byval_copy = sp + 64|0; - $scrollPos$byval_copy5 = sp; - $$byval_copy4 = sp + 8|0; - $$byval_copy3 = sp + 24|0; - $scrollPos = sp + 48|0; - $0 = sp + 60|0; - $1 = sp + 56|0; - $2 = +HEAPF32[$monster>>2]; - $3 = (+($scroll|0)); - $4 = $2 - $3; - HEAPF32[$scrollPos>>2] = $4; - $5 = ((($scrollPos)) + 4|0); - $6 = ((($monster)) + 4|0); - $7 = HEAP32[$6>>2]|0; - HEAP32[$5>>2] = $7; - $8 = ((($monster)) + 84|0); - $9 = HEAP32[$8>>2]|0; - $10 = ($9|0)==(0); - $11 = ((($monster)) + 8|0); - $12 = ((($monster)) + 44|0); - if ($10) { - HEAP32[$1>>2] = -1; - ;HEAP32[$$byval_copy3>>2]=HEAP32[$11>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$11+4>>2]|0;HEAP32[$$byval_copy3+8>>2]=HEAP32[$11+8>>2]|0;HEAP32[$$byval_copy3+12>>2]=HEAP32[$11+12>>2]|0;HEAP32[$$byval_copy3+16>>2]=HEAP32[$11+16>>2]|0; - ;HEAP32[$$byval_copy4>>2]=HEAP32[$12>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$12+4>>2]|0;HEAP32[$$byval_copy4+8>>2]=HEAP32[$12+8>>2]|0;HEAP32[$$byval_copy4+12>>2]=HEAP32[$12+12>>2]|0; - ;HEAP32[$scrollPos$byval_copy5>>2]=HEAP32[$scrollPos>>2]|0;HEAP32[$scrollPos$byval_copy5+4>>2]=HEAP32[$scrollPos+4>>2]|0; - ;HEAP8[$tmpcast$byval_copy>>0]=HEAP8[$1>>0]|0;HEAP8[$tmpcast$byval_copy+1>>0]=HEAP8[$1+1>>0]|0;HEAP8[$tmpcast$byval_copy+2>>0]=HEAP8[$1+2>>0]|0;HEAP8[$tmpcast$byval_copy+3>>0]=HEAP8[$1+3>>0]|0; - _DrawTextureRec($$byval_copy3,$$byval_copy4,$scrollPos$byval_copy5,$tmpcast$byval_copy); + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $tmpcast$byval_copy = sp + 60|0; + $$byval_copy6 = sp + 48|0; + $$byval_copy5 = sp + 32|0; + $$byval_copy4 = sp + 12|0; + $2 = sp; + $3 = sp + 56|0; + $4 = sp + 8|0; + $5 = +HEAPF32[$0>>2]; + $6 = (+($1|0)); + $7 = $5 - $6; + HEAPF32[$2>>2] = $7; + $8 = ((($2)) + 4|0); + $9 = ((($0)) + 4|0); + $10 = HEAP32[$9>>2]|0; + HEAP32[$8>>2] = $10; + $11 = ((($0)) + 84|0); + $12 = HEAP32[$11>>2]|0; + $13 = ($12|0)==(0); + $14 = ((($0)) + 8|0); + $15 = ((($0)) + 44|0); + if ($13) { + HEAP32[$4>>2] = -1; + ;HEAP32[$$byval_copy4>>2]=HEAP32[$14>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$14+4>>2]|0;HEAP32[$$byval_copy4+8>>2]=HEAP32[$14+8>>2]|0;HEAP32[$$byval_copy4+12>>2]=HEAP32[$14+12>>2]|0;HEAP32[$$byval_copy4+16>>2]=HEAP32[$14+16>>2]|0; + ;HEAP32[$$byval_copy5>>2]=HEAP32[$15>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$15+4>>2]|0;HEAP32[$$byval_copy5+8>>2]=HEAP32[$15+8>>2]|0;HEAP32[$$byval_copy5+12>>2]=HEAP32[$15+12>>2]|0; + ;HEAP32[$$byval_copy6>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy6+4>>2]=HEAP32[$2+4>>2]|0; + ;HEAP8[$tmpcast$byval_copy>>0]=HEAP8[$4>>0]|0;HEAP8[$tmpcast$byval_copy+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$tmpcast$byval_copy+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$tmpcast$byval_copy+3>>0]=HEAP8[$4+3>>0]|0; + _DrawTextureRec($$byval_copy4,$$byval_copy5,$$byval_copy6,$tmpcast$byval_copy); STACKTOP = sp;return; } else { - HEAP8[$0>>0] = -26; - $13 = ((($0)) + 1|0); - HEAP8[$13>>0] = 41; - $14 = ((($0)) + 2|0); - HEAP8[$14>>0] = 55; - $15 = ((($0)) + 3|0); - HEAP8[$15>>0] = -1; - ;HEAP32[$$byval_copy3>>2]=HEAP32[$11>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$11+4>>2]|0;HEAP32[$$byval_copy3+8>>2]=HEAP32[$11+8>>2]|0;HEAP32[$$byval_copy3+12>>2]=HEAP32[$11+12>>2]|0;HEAP32[$$byval_copy3+16>>2]=HEAP32[$11+16>>2]|0; - ;HEAP32[$$byval_copy4>>2]=HEAP32[$12>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$12+4>>2]|0;HEAP32[$$byval_copy4+8>>2]=HEAP32[$12+8>>2]|0;HEAP32[$$byval_copy4+12>>2]=HEAP32[$12+12>>2]|0; - ;HEAP32[$scrollPos$byval_copy5>>2]=HEAP32[$scrollPos>>2]|0;HEAP32[$scrollPos$byval_copy5+4>>2]=HEAP32[$scrollPos+4>>2]|0; - ;HEAP8[$tmpcast$byval_copy>>0]=HEAP8[$0>>0]|0;HEAP8[$tmpcast$byval_copy+1>>0]=HEAP8[$0+1>>0]|0;HEAP8[$tmpcast$byval_copy+2>>0]=HEAP8[$0+2>>0]|0;HEAP8[$tmpcast$byval_copy+3>>0]=HEAP8[$0+3>>0]|0; - _DrawTextureRec($$byval_copy3,$$byval_copy4,$scrollPos$byval_copy5,$tmpcast$byval_copy); + HEAP8[$3>>0] = -26; + $16 = ((($3)) + 1|0); + HEAP8[$16>>0] = 41; + $17 = ((($3)) + 2|0); + HEAP8[$17>>0] = 55; + $18 = ((($3)) + 3|0); + HEAP8[$18>>0] = -1; + ;HEAP32[$$byval_copy4>>2]=HEAP32[$14>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$14+4>>2]|0;HEAP32[$$byval_copy4+8>>2]=HEAP32[$14+8>>2]|0;HEAP32[$$byval_copy4+12>>2]=HEAP32[$14+12>>2]|0;HEAP32[$$byval_copy4+16>>2]=HEAP32[$14+16>>2]|0; + ;HEAP32[$$byval_copy5>>2]=HEAP32[$15>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$15+4>>2]|0;HEAP32[$$byval_copy5+8>>2]=HEAP32[$15+8>>2]|0;HEAP32[$$byval_copy5+12>>2]=HEAP32[$15+12>>2]|0; + ;HEAP32[$$byval_copy6>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy6+4>>2]=HEAP32[$2+4>>2]|0; + ;HEAP8[$tmpcast$byval_copy>>0]=HEAP8[$3>>0]|0;HEAP8[$tmpcast$byval_copy+1>>0]=HEAP8[$3+1>>0]|0;HEAP8[$tmpcast$byval_copy+2>>0]=HEAP8[$3+2>>0]|0;HEAP8[$tmpcast$byval_copy+3>>0]=HEAP8[$3+3>>0]|0; + _DrawTextureRec($$byval_copy4,$$byval_copy5,$$byval_copy6,$tmpcast$byval_copy); STACKTOP = sp;return; } } -function _UnloadMonster($monster) { - $monster = $monster|0; - var $$byval_copy = 0, $0 = 0, label = 0, sp = 0; +function _UnloadMonster($0) { + $0 = $0|0; + var $$byval_copy = 0, $1 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); $$byval_copy = sp; - $0 = ((($monster)) + 8|0); - ;HEAP32[$$byval_copy>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$0+16>>2]|0; + $1 = ((($0)) + 8|0); + ;HEAP32[$$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$1+16>>2]|0; _UnloadTexture($$byval_copy); STACKTOP = sp;return; } -function _InitWindow($width,$height,$title) { - $width = $width|0; - $height = $height|0; - $title = $title|0; - var $0 = 0, $1 = 0, $2 = 0.0, $3 = 0, $4 = 0, $5 = 0.0, $6 = 0, $7 = 0, $vararg_buffer = 0, label = 0, sp = 0; +function _Vector2Distance($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; + $2 = +HEAPF32[$0>>2]; + $3 = +HEAPF32[$1>>2]; + $4 = $2 - $3; + $5 = $4 * $4; + $6 = ((($0)) + 4|0); + $7 = +HEAPF32[$6>>2]; + $8 = ((($1)) + 4|0); + $9 = +HEAPF32[$8>>2]; + $10 = $7 - $9; + $11 = $10 * $10; + $12 = $5 + $11; + $13 = (+Math_sqrt((+$12))); + return (+$13); +} +function _Vector2Angle($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($1)) + 4|0); + $3 = +HEAPF32[$2>>2]; + $4 = ((($0)) + 4|0); + $5 = +HEAPF32[$4>>2]; + $6 = $3 - $5; + $7 = +HEAPF32[$1>>2]; + $8 = +HEAPF32[$0>>2]; + $9 = $7 - $8; + $10 = (+Math_atan2((+$6),(+$9))); + $11 = $10 * 57.2957763671875; + $12 = $11 < 0.0; + $13 = $11 + 360.0; + $$0 = $12 ? $13 : $11; + return (+$$0); +} +function _VectorZero($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = 0.0; + $1 = ((($0)) + 4|0); + HEAPF32[$1>>2] = 0.0; + $2 = ((($0)) + 8|0); + HEAPF32[$2>>2] = 0.0; + return; +} +function _VectorLength($0) { + $0 = $0|0; + var $1 = 0.0, $10 = 0.0, $11 = 0.0, $2 = 0.0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $1 = +HEAPF32[$0>>2]; + $2 = $1 * $1; + $3 = ((($0)) + 4|0); + $4 = +HEAPF32[$3>>2]; + $5 = $4 * $4; + $6 = $2 + $5; + $7 = ((($0)) + 8|0); + $8 = +HEAPF32[$7>>2]; + $9 = $8 * $8; + $10 = $6 + $9; + $11 = (+Math_sqrt((+$10))); + return (+$11); +} +function _VectorNormalize($0) { + $0 = $0|0; + var $$byval_copy = 0, $$op = 0.0, $1 = 0.0, $10 = 0.0, $11 = 0.0, $2 = 0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0.0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $$byval_copy = sp; + ;HEAP32[$$byval_copy>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$0+8>>2]|0; + $1 = (+_VectorLength($$byval_copy)); + $2 = $1 == 0.0; + $$op = 1.0 / $1; + $3 = $2 ? 1.0 : $$op; + $4 = +HEAPF32[$0>>2]; + $5 = $4 * $3; + HEAPF32[$0>>2] = $5; + $6 = ((($0)) + 4|0); + $7 = +HEAPF32[$6>>2]; + $8 = $3 * $7; + HEAPF32[$6>>2] = $8; + $9 = ((($0)) + 8|0); + $10 = +HEAPF32[$9>>2]; + $11 = $3 * $10; + HEAPF32[$9>>2] = $11; + STACKTOP = sp;return; +} +function _VectorTransform($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0, $18 = 0.0, $19 = 0.0, $2 = 0.0, $20 = 0, $21 = 0.0, $22 = 0.0, $23 = 0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0, $28 = 0.0; + var $29 = 0.0, $3 = 0, $30 = 0.0, $31 = 0, $32 = 0.0, $33 = 0.0, $34 = 0, $35 = 0.0, $36 = 0.0, $37 = 0, $38 = 0.0, $39 = 0.0, $4 = 0.0, $40 = 0.0, $41 = 0, $42 = 0.0, $43 = 0.0, $44 = 0.0, $45 = 0, $46 = 0.0; + var $47 = 0.0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[$0>>2]; + $3 = ((($0)) + 4|0); + $4 = +HEAPF32[$3>>2]; + $5 = ((($0)) + 8|0); + $6 = +HEAPF32[$5>>2]; + $7 = +HEAPF32[$1>>2]; + $8 = $2 * $7; + $9 = ((($1)) + 4|0); + $10 = +HEAPF32[$9>>2]; + $11 = $4 * $10; + $12 = $8 + $11; + $13 = ((($1)) + 8|0); + $14 = +HEAPF32[$13>>2]; + $15 = $6 * $14; + $16 = $12 + $15; + $17 = ((($1)) + 12|0); + $18 = +HEAPF32[$17>>2]; + $19 = $18 + $16; + HEAPF32[$0>>2] = $19; + $20 = ((($1)) + 16|0); + $21 = +HEAPF32[$20>>2]; + $22 = $2 * $21; + $23 = ((($1)) + 20|0); + $24 = +HEAPF32[$23>>2]; + $25 = $4 * $24; + $26 = $22 + $25; + $27 = ((($1)) + 24|0); + $28 = +HEAPF32[$27>>2]; + $29 = $6 * $28; + $30 = $26 + $29; + $31 = ((($1)) + 28|0); + $32 = +HEAPF32[$31>>2]; + $33 = $32 + $30; + HEAPF32[$3>>2] = $33; + $34 = ((($1)) + 32|0); + $35 = +HEAPF32[$34>>2]; + $36 = $2 * $35; + $37 = ((($1)) + 36|0); + $38 = +HEAPF32[$37>>2]; + $39 = $4 * $38; + $40 = $36 + $39; + $41 = ((($1)) + 40|0); + $42 = +HEAPF32[$41>>2]; + $43 = $6 * $42; + $44 = $40 + $43; + $45 = ((($1)) + 44|0); + $46 = +HEAPF32[$45>>2]; + $47 = $46 + $44; + HEAPF32[$5>>2] = $47; + return; +} +function _MatrixTranspose($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0, $5 = 0; + var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 4|0); + $2 = HEAP32[$1>>2]|0; + $3 = ((($0)) + 8|0); + $4 = HEAP32[$3>>2]|0; + $5 = ((($0)) + 12|0); + $6 = HEAP32[$5>>2]|0; + $7 = ((($0)) + 16|0); + $8 = HEAP32[$7>>2]|0; + $9 = ((($0)) + 24|0); + $10 = HEAP32[$9>>2]|0; + $11 = ((($0)) + 28|0); + $12 = HEAP32[$11>>2]|0; + $13 = ((($0)) + 32|0); + $14 = HEAP32[$13>>2]|0; + $15 = ((($0)) + 36|0); + $16 = HEAP32[$15>>2]|0; + $17 = ((($0)) + 44|0); + $18 = HEAP32[$17>>2]|0; + $19 = ((($0)) + 48|0); + $20 = HEAP32[$19>>2]|0; + $21 = ((($0)) + 52|0); + $22 = HEAP32[$21>>2]|0; + $23 = ((($0)) + 56|0); + $24 = HEAP32[$23>>2]|0; + HEAP32[$1>>2] = $8; + HEAP32[$3>>2] = $14; + HEAP32[$5>>2] = $20; + HEAP32[$7>>2] = $2; + HEAP32[$9>>2] = $16; + HEAP32[$11>>2] = $22; + HEAP32[$13>>2] = $4; + HEAP32[$15>>2] = $10; + HEAP32[$17>>2] = $24; + HEAP32[$19>>2] = $6; + HEAP32[$21>>2] = $12; + HEAP32[$23>>2] = $18; + return; +} +function _MatrixIdentity($0) { + $0 = $0|0; + var $$sroa$5$0$$sroa_idx = 0, $$sroa$55$0$$sroa_idx6 = 0, $$sroa$6$0$$sroa_idx = 0, $$sroa$611$0$$sroa_idx12 = 0, $$sroa$7$0$$sroa_idx = 0, $$sroa$717$0$$sroa_idx18 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = 1.0; + $$sroa$5$0$$sroa_idx = ((($0)) + 4|0); + ;HEAP32[$$sroa$5$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+12>>2]=0|0; + $$sroa$55$0$$sroa_idx6 = ((($0)) + 20|0); + HEAPF32[$$sroa$55$0$$sroa_idx6>>2] = 1.0; + $$sroa$6$0$$sroa_idx = ((($0)) + 24|0); + ;HEAP32[$$sroa$6$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+12>>2]=0|0; + $$sroa$611$0$$sroa_idx12 = ((($0)) + 40|0); + HEAPF32[$$sroa$611$0$$sroa_idx12>>2] = 1.0; + $$sroa$7$0$$sroa_idx = ((($0)) + 44|0); + ;HEAP32[$$sroa$7$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+12>>2]=0|0; + $$sroa$717$0$$sroa_idx18 = ((($0)) + 60|0); + HEAPF32[$$sroa$717$0$$sroa_idx18>>2] = 1.0; + return; +} +function _MatrixTranslate($0,$1,$2,$3) { + $0 = $0|0; + $1 = +$1; + $2 = +$2; + $3 = +$3; + var $$sroa$13$0$$sroa_idx20 = 0, $$sroa$14$0$$sroa_idx22 = 0, $$sroa$15$0$$sroa_idx24 = 0, $$sroa$16$0$$sroa_idx26 = 0, $$sroa$17$0$$sroa_idx28 = 0, $$sroa$18$0$$sroa_idx30 = 0, $$sroa$4$0$$sroa_idx2 = 0, $$sroa$8$0$$sroa_idx10 = 0, $$sroa$9$0$$sroa_idx12 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = 1.0; + $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); + $$sroa$8$0$$sroa_idx10 = ((($0)) + 20|0); + ;HEAP32[$$sroa$4$0$$sroa_idx2>>2]=0|0;HEAP32[$$sroa$4$0$$sroa_idx2+4>>2]=0|0;HEAP32[$$sroa$4$0$$sroa_idx2+8>>2]=0|0;HEAP32[$$sroa$4$0$$sroa_idx2+12>>2]=0|0; + HEAPF32[$$sroa$8$0$$sroa_idx10>>2] = 1.0; + $$sroa$9$0$$sroa_idx12 = ((($0)) + 24|0); + $$sroa$13$0$$sroa_idx20 = ((($0)) + 40|0); + ;HEAP32[$$sroa$9$0$$sroa_idx12>>2]=0|0;HEAP32[$$sroa$9$0$$sroa_idx12+4>>2]=0|0;HEAP32[$$sroa$9$0$$sroa_idx12+8>>2]=0|0;HEAP32[$$sroa$9$0$$sroa_idx12+12>>2]=0|0; + HEAPF32[$$sroa$13$0$$sroa_idx20>>2] = 1.0; + $$sroa$14$0$$sroa_idx22 = ((($0)) + 44|0); + HEAPF32[$$sroa$14$0$$sroa_idx22>>2] = 0.0; + $$sroa$15$0$$sroa_idx24 = ((($0)) + 48|0); + HEAPF32[$$sroa$15$0$$sroa_idx24>>2] = $1; + $$sroa$16$0$$sroa_idx26 = ((($0)) + 52|0); + HEAPF32[$$sroa$16$0$$sroa_idx26>>2] = $2; + $$sroa$17$0$$sroa_idx28 = ((($0)) + 56|0); + HEAPF32[$$sroa$17$0$$sroa_idx28>>2] = $3; + $$sroa$18$0$$sroa_idx30 = ((($0)) + 60|0); + HEAPF32[$$sroa$18$0$$sroa_idx30>>2] = 1.0; + return; +} +function _MatrixRotate($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = +$2; + var $$ = 0.0, $$221 = 0.0, $$222 = 0.0, $$sroa$10$0$$sroa_idx199 = 0, $$sroa$11$0$$sroa_idx201 = 0, $$sroa$12$0$$sroa_idx203 = 0, $$sroa$13$0$$sroa_idx205 = 0, $$sroa$14$0$$sroa_idx207 = 0, $$sroa$15$0$$sroa_idx209 = 0, $$sroa$16$0$$sroa_idx211 = 0, $$sroa$17$0$$sroa_idx213 = 0, $$sroa$18$0$$sroa_idx215 = 0, $$sroa$4$0$$sroa_idx187 = 0, $$sroa$5$0$$sroa_idx189 = 0, $$sroa$6$0$$sroa_idx191 = 0, $$sroa$7$0$$sroa_idx193 = 0, $$sroa$8$0$$sroa_idx195 = 0, $$sroa$9$0$$sroa_idx197 = 0, $10 = 0.0, $100 = 0.0; + var $101 = 0.0, $102 = 0.0, $103 = 0.0, $104 = 0.0, $105 = 0.0, $106 = 0.0, $107 = 0.0, $108 = 0.0, $109 = 0.0, $11 = 0.0, $110 = 0.0, $111 = 0.0, $112 = 0.0, $113 = 0.0, $114 = 0.0, $115 = 0.0, $116 = 0.0, $117 = 0.0, $118 = 0.0, $119 = 0.0; + var $12 = 0.0, $120 = 0.0, $121 = 0.0, $122 = 0.0, $123 = 0.0, $124 = 0.0, $125 = 0.0, $126 = 0.0, $127 = 0.0, $128 = 0.0, $129 = 0.0, $13 = 0.0, $130 = 0.0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0; + var $138 = 0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0, $26 = 0.0, $27 = 0, $28 = 0.0, $29 = 0, $3 = 0, $30 = 0.0, $31 = 0; + var $32 = 0.0, $33 = 0, $34 = 0.0, $35 = 0, $36 = 0.0, $37 = 0, $38 = 0.0, $39 = 0, $4 = 0.0, $40 = 0.0, $41 = 0, $42 = 0.0, $43 = 0, $44 = 0.0, $45 = 0, $46 = 0.0, $47 = 0.0, $48 = 0.0, $49 = 0.0, $5 = 0; + var $50 = 0.0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0.0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0.0, $60 = 0.0, $61 = 0.0, $62 = 0.0, $63 = 0.0, $64 = 0.0, $65 = 0.0, $66 = 0.0, $67 = 0.0, $68 = 0.0; + var $69 = 0.0, $7 = 0, $70 = 0.0, $71 = 0.0, $72 = 0.0, $73 = 0.0, $74 = 0.0, $75 = 0.0, $76 = 0.0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0.0, $80 = 0.0, $81 = 0.0, $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0.0, $86 = 0.0; + var $87 = 0.0, $88 = 0.0, $89 = 0.0, $9 = 0.0, $90 = 0.0, $91 = 0.0, $92 = 0.0, $93 = 0.0, $94 = 0.0, $95 = 0.0, $96 = 0.0, $97 = 0.0, $98 = 0.0, $99 = 0.0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $3 = sp; + _MatrixIdentity($3); + $4 = +HEAPF32[$1>>2]; + $5 = ((($1)) + 4|0); + $6 = +HEAPF32[$5>>2]; + $7 = ((($1)) + 8|0); + $8 = +HEAPF32[$7>>2]; + $9 = $4 * $4; + $10 = $6 * $6; + $11 = $9 + $10; + $12 = $8 * $8; + $13 = $11 + $12; + $14 = (+Math_sqrt((+$13))); + $15 = $14 != 1.0; + $16 = $14 != 0.0; + $or$cond = $15 & $16; + $17 = 1.0 / $14; + $18 = $4 * $17; + $19 = $6 * $17; + $20 = $8 * $17; + $$ = $or$cond ? $20 : $8; + $$221 = $or$cond ? $19 : $6; + $$222 = $or$cond ? $18 : $4; + $21 = (+Math_sin((+$2))); + $22 = (+Math_cos((+$2))); + $23 = 1.0 - $22; + $24 = +HEAPF32[$3>>2]; + $25 = ((($3)) + 16|0); + $26 = +HEAPF32[$25>>2]; + $27 = ((($3)) + 32|0); + $28 = +HEAPF32[$27>>2]; + $29 = ((($3)) + 48|0); + $30 = +HEAPF32[$29>>2]; + $31 = ((($3)) + 4|0); + $32 = +HEAPF32[$31>>2]; + $33 = ((($3)) + 20|0); + $34 = +HEAPF32[$33>>2]; + $35 = ((($3)) + 36|0); + $36 = +HEAPF32[$35>>2]; + $37 = ((($3)) + 52|0); + $38 = +HEAPF32[$37>>2]; + $39 = ((($3)) + 8|0); + $40 = +HEAPF32[$39>>2]; + $41 = ((($3)) + 24|0); + $42 = +HEAPF32[$41>>2]; + $43 = ((($3)) + 40|0); + $44 = +HEAPF32[$43>>2]; + $45 = ((($3)) + 56|0); + $46 = +HEAPF32[$45>>2]; + $47 = $$222 * $$222; + $48 = $23 * $47; + $49 = $22 + $48; + $50 = $$221 * $$222; + $51 = $23 * $50; + $52 = $21 * $$; + $53 = $52 + $51; + $54 = $$ * $$222; + $55 = $23 * $54; + $56 = $21 * $$221; + $57 = $55 - $56; + $58 = $51 - $52; + $59 = $$221 * $$221; + $60 = $23 * $59; + $61 = $22 + $60; + $62 = $$ * $$221; + $63 = $23 * $62; + $64 = $21 * $$222; + $65 = $64 + $63; + $66 = $56 + $55; + $67 = $63 - $64; + $68 = $$ * $$; + $69 = $23 * $68; + $70 = $22 + $69; + $71 = $24 * $49; + $72 = $53 * $32; + $73 = $71 + $72; + $74 = $57 * $40; + $75 = $73 + $74; + $76 = $26 * $49; + $77 = $53 * $34; + $78 = $76 + $77; + $79 = $57 * $42; + $80 = $78 + $79; + $81 = $28 * $49; + $82 = $53 * $36; + $83 = $81 + $82; + $84 = $57 * $44; + $85 = $83 + $84; + $86 = $30 * $49; + $87 = $53 * $38; + $88 = $86 + $87; + $89 = $57 * $46; + $90 = $88 + $89; + $91 = $24 * $58; + $92 = $61 * $32; + $93 = $91 + $92; + $94 = $65 * $40; + $95 = $93 + $94; + $96 = $26 * $58; + $97 = $61 * $34; + $98 = $96 + $97; + $99 = $65 * $42; + $100 = $98 + $99; + $101 = $28 * $58; + $102 = $61 * $36; + $103 = $101 + $102; + $104 = $65 * $44; + $105 = $103 + $104; + $106 = $30 * $58; + $107 = $61 * $38; + $108 = $106 + $107; + $109 = $65 * $46; + $110 = $108 + $109; + $111 = $24 * $66; + $112 = $67 * $32; + $113 = $111 + $112; + $114 = $70 * $40; + $115 = $113 + $114; + $116 = $26 * $66; + $117 = $67 * $34; + $118 = $116 + $117; + $119 = $70 * $42; + $120 = $118 + $119; + $121 = $28 * $66; + $122 = $67 * $36; + $123 = $121 + $122; + $124 = $70 * $44; + $125 = $123 + $124; + $126 = $30 * $66; + $127 = $67 * $38; + $128 = $126 + $127; + $129 = $70 * $46; + $130 = $128 + $129; + $131 = ((($3)) + 12|0); + $132 = HEAP32[$131>>2]|0; + $133 = ((($3)) + 28|0); + $134 = HEAP32[$133>>2]|0; + $135 = ((($3)) + 44|0); + $136 = HEAP32[$135>>2]|0; + $137 = ((($3)) + 60|0); + $138 = HEAP32[$137>>2]|0; + HEAPF32[$0>>2] = $75; + $$sroa$4$0$$sroa_idx187 = ((($0)) + 4|0); + HEAPF32[$$sroa$4$0$$sroa_idx187>>2] = $95; + $$sroa$5$0$$sroa_idx189 = ((($0)) + 8|0); + HEAPF32[$$sroa$5$0$$sroa_idx189>>2] = $115; + $$sroa$6$0$$sroa_idx191 = ((($0)) + 12|0); + HEAP32[$$sroa$6$0$$sroa_idx191>>2] = $132; + $$sroa$7$0$$sroa_idx193 = ((($0)) + 16|0); + HEAPF32[$$sroa$7$0$$sroa_idx193>>2] = $80; + $$sroa$8$0$$sroa_idx195 = ((($0)) + 20|0); + HEAPF32[$$sroa$8$0$$sroa_idx195>>2] = $100; + $$sroa$9$0$$sroa_idx197 = ((($0)) + 24|0); + HEAPF32[$$sroa$9$0$$sroa_idx197>>2] = $120; + $$sroa$10$0$$sroa_idx199 = ((($0)) + 28|0); + HEAP32[$$sroa$10$0$$sroa_idx199>>2] = $134; + $$sroa$11$0$$sroa_idx201 = ((($0)) + 32|0); + HEAPF32[$$sroa$11$0$$sroa_idx201>>2] = $85; + $$sroa$12$0$$sroa_idx203 = ((($0)) + 36|0); + HEAPF32[$$sroa$12$0$$sroa_idx203>>2] = $105; + $$sroa$13$0$$sroa_idx205 = ((($0)) + 40|0); + HEAPF32[$$sroa$13$0$$sroa_idx205>>2] = $125; + $$sroa$14$0$$sroa_idx207 = ((($0)) + 44|0); + HEAP32[$$sroa$14$0$$sroa_idx207>>2] = $136; + $$sroa$15$0$$sroa_idx209 = ((($0)) + 48|0); + HEAPF32[$$sroa$15$0$$sroa_idx209>>2] = $90; + $$sroa$16$0$$sroa_idx211 = ((($0)) + 52|0); + HEAPF32[$$sroa$16$0$$sroa_idx211>>2] = $110; + $$sroa$17$0$$sroa_idx213 = ((($0)) + 56|0); + HEAPF32[$$sroa$17$0$$sroa_idx213>>2] = $130; + $$sroa$18$0$$sroa_idx215 = ((($0)) + 60|0); + HEAP32[$$sroa$18$0$$sroa_idx215>>2] = $138; + STACKTOP = sp;return; +} +function _MatrixScale($0,$1,$2,$3) { + $0 = $0|0; + $1 = +$1; + $2 = +$2; + $3 = +$3; + var $$sroa$5$0$$sroa_idx = 0, $$sroa$55$0$$sroa_idx6 = 0, $$sroa$6$0$$sroa_idx = 0, $$sroa$611$0$$sroa_idx12 = 0, $$sroa$7$0$$sroa_idx = 0, $$sroa$717$0$$sroa_idx18 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = $1; + $$sroa$5$0$$sroa_idx = ((($0)) + 4|0); + ;HEAP32[$$sroa$5$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+12>>2]=0|0; + $$sroa$55$0$$sroa_idx6 = ((($0)) + 20|0); + HEAPF32[$$sroa$55$0$$sroa_idx6>>2] = $2; + $$sroa$6$0$$sroa_idx = ((($0)) + 24|0); + ;HEAP32[$$sroa$6$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+12>>2]=0|0; + $$sroa$611$0$$sroa_idx12 = ((($0)) + 40|0); + HEAPF32[$$sroa$611$0$$sroa_idx12>>2] = $3; + $$sroa$7$0$$sroa_idx = ((($0)) + 44|0); + ;HEAP32[$$sroa$7$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+12>>2]=0|0; + $$sroa$717$0$$sroa_idx18 = ((($0)) + 60|0); + HEAPF32[$$sroa$717$0$$sroa_idx18>>2] = 1.0; + return; +} +function _MatrixMultiply($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$sroa$10$0$$sroa_idx14 = 0, $$sroa$11$0$$sroa_idx16 = 0, $$sroa$12$0$$sroa_idx18 = 0, $$sroa$13$0$$sroa_idx20 = 0, $$sroa$14$0$$sroa_idx22 = 0, $$sroa$15$0$$sroa_idx24 = 0, $$sroa$16$0$$sroa_idx26 = 0, $$sroa$17$0$$sroa_idx28 = 0, $$sroa$18$0$$sroa_idx30 = 0, $$sroa$4$0$$sroa_idx2 = 0, $$sroa$5$0$$sroa_idx4 = 0, $$sroa$6$0$$sroa_idx6 = 0, $$sroa$7$0$$sroa_idx8 = 0, $$sroa$8$0$$sroa_idx10 = 0, $$sroa$9$0$$sroa_idx12 = 0, $10 = 0.0, $100 = 0.0, $101 = 0.0, $102 = 0.0, $103 = 0.0; + var $104 = 0.0, $105 = 0, $106 = 0.0, $107 = 0.0, $108 = 0, $109 = 0.0, $11 = 0.0, $110 = 0.0, $111 = 0.0, $112 = 0, $113 = 0.0, $114 = 0.0, $115 = 0.0, $116 = 0, $117 = 0.0, $118 = 0.0, $119 = 0.0, $12 = 0, $120 = 0.0, $121 = 0.0; + var $122 = 0.0, $123 = 0.0, $124 = 0.0, $125 = 0.0, $126 = 0.0, $127 = 0.0, $128 = 0.0, $129 = 0.0, $13 = 0.0, $130 = 0.0, $131 = 0.0, $132 = 0.0, $133 = 0.0, $134 = 0.0, $135 = 0.0, $136 = 0.0, $137 = 0.0, $138 = 0.0, $139 = 0.0, $14 = 0; + var $140 = 0.0, $141 = 0, $142 = 0.0, $143 = 0.0, $144 = 0, $145 = 0.0, $146 = 0.0, $147 = 0.0, $148 = 0, $149 = 0.0, $15 = 0.0, $150 = 0.0, $151 = 0.0, $152 = 0, $153 = 0.0, $154 = 0.0, $155 = 0.0, $156 = 0.0, $157 = 0.0, $158 = 0.0; + var $159 = 0.0, $16 = 0.0, $160 = 0.0, $161 = 0.0, $162 = 0.0, $163 = 0.0, $164 = 0.0, $165 = 0.0, $166 = 0.0, $167 = 0.0, $168 = 0.0, $169 = 0.0, $17 = 0.0, $170 = 0.0, $171 = 0.0, $172 = 0.0, $173 = 0.0, $174 = 0.0, $175 = 0.0, $176 = 0.0; + var $18 = 0, $19 = 0.0, $20 = 0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0, $25 = 0.0, $26 = 0.0, $27 = 0, $28 = 0.0, $29 = 0.0, $3 = 0.0, $30 = 0.0, $31 = 0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0, $36 = 0.0; + var $37 = 0.0, $38 = 0.0, $39 = 0, $4 = 0.0, $40 = 0.0, $41 = 0.0, $42 = 0, $43 = 0.0, $44 = 0.0, $45 = 0.0, $46 = 0, $47 = 0.0, $48 = 0.0, $49 = 0.0, $5 = 0.0, $50 = 0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0; + var $55 = 0.0, $56 = 0.0, $57 = 0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0.0, $61 = 0, $62 = 0.0, $63 = 0.0, $64 = 0.0, $65 = 0, $66 = 0.0, $67 = 0.0, $68 = 0.0, $69 = 0, $7 = 0.0, $70 = 0.0, $71 = 0.0, $72 = 0; + var $73 = 0.0, $74 = 0.0, $75 = 0.0, $76 = 0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0, $80 = 0, $81 = 0.0, $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0.0, $86 = 0.0, $87 = 0.0, $88 = 0.0, $89 = 0.0, $9 = 0.0, $90 = 0.0; + var $91 = 0.0, $92 = 0.0, $93 = 0.0, $94 = 0.0, $95 = 0.0, $96 = 0.0, $97 = 0.0, $98 = 0.0, $99 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $3 = +HEAPF32[$2>>2]; + $4 = +HEAPF32[$1>>2]; + $5 = $3 * $4; + $6 = ((($2)) + 16|0); + $7 = +HEAPF32[$6>>2]; + $8 = ((($1)) + 4|0); + $9 = +HEAPF32[$8>>2]; + $10 = $7 * $9; + $11 = $5 + $10; + $12 = ((($2)) + 32|0); + $13 = +HEAPF32[$12>>2]; + $14 = ((($1)) + 8|0); + $15 = +HEAPF32[$14>>2]; + $16 = $13 * $15; + $17 = $11 + $16; + $18 = ((($2)) + 48|0); + $19 = +HEAPF32[$18>>2]; + $20 = ((($1)) + 12|0); + $21 = +HEAPF32[$20>>2]; + $22 = $19 * $21; + $23 = $17 + $22; + $24 = ((($1)) + 16|0); + $25 = +HEAPF32[$24>>2]; + $26 = $3 * $25; + $27 = ((($1)) + 20|0); + $28 = +HEAPF32[$27>>2]; + $29 = $7 * $28; + $30 = $26 + $29; + $31 = ((($1)) + 24|0); + $32 = +HEAPF32[$31>>2]; + $33 = $13 * $32; + $34 = $30 + $33; + $35 = ((($1)) + 28|0); + $36 = +HEAPF32[$35>>2]; + $37 = $19 * $36; + $38 = $34 + $37; + $39 = ((($1)) + 32|0); + $40 = +HEAPF32[$39>>2]; + $41 = $3 * $40; + $42 = ((($1)) + 36|0); + $43 = +HEAPF32[$42>>2]; + $44 = $7 * $43; + $45 = $41 + $44; + $46 = ((($1)) + 40|0); + $47 = +HEAPF32[$46>>2]; + $48 = $13 * $47; + $49 = $45 + $48; + $50 = ((($1)) + 44|0); + $51 = +HEAPF32[$50>>2]; + $52 = $19 * $51; + $53 = $49 + $52; + $54 = ((($1)) + 48|0); + $55 = +HEAPF32[$54>>2]; + $56 = $3 * $55; + $57 = ((($1)) + 52|0); + $58 = +HEAPF32[$57>>2]; + $59 = $7 * $58; + $60 = $56 + $59; + $61 = ((($1)) + 56|0); + $62 = +HEAPF32[$61>>2]; + $63 = $13 * $62; + $64 = $60 + $63; + $65 = ((($1)) + 60|0); + $66 = +HEAPF32[$65>>2]; + $67 = $19 * $66; + $68 = $64 + $67; + $69 = ((($2)) + 4|0); + $70 = +HEAPF32[$69>>2]; + $71 = $4 * $70; + $72 = ((($2)) + 20|0); + $73 = +HEAPF32[$72>>2]; + $74 = $9 * $73; + $75 = $71 + $74; + $76 = ((($2)) + 36|0); + $77 = +HEAPF32[$76>>2]; + $78 = $15 * $77; + $79 = $75 + $78; + $80 = ((($2)) + 52|0); + $81 = +HEAPF32[$80>>2]; + $82 = $21 * $81; + $83 = $79 + $82; + $84 = $25 * $70; + $85 = $28 * $73; + $86 = $84 + $85; + $87 = $32 * $77; + $88 = $86 + $87; + $89 = $36 * $81; + $90 = $88 + $89; + $91 = $40 * $70; + $92 = $43 * $73; + $93 = $91 + $92; + $94 = $47 * $77; + $95 = $93 + $94; + $96 = $51 * $81; + $97 = $95 + $96; + $98 = $55 * $70; + $99 = $58 * $73; + $100 = $98 + $99; + $101 = $62 * $77; + $102 = $100 + $101; + $103 = $66 * $81; + $104 = $102 + $103; + $105 = ((($2)) + 8|0); + $106 = +HEAPF32[$105>>2]; + $107 = $4 * $106; + $108 = ((($2)) + 24|0); + $109 = +HEAPF32[$108>>2]; + $110 = $9 * $109; + $111 = $107 + $110; + $112 = ((($2)) + 40|0); + $113 = +HEAPF32[$112>>2]; + $114 = $15 * $113; + $115 = $111 + $114; + $116 = ((($2)) + 56|0); + $117 = +HEAPF32[$116>>2]; + $118 = $21 * $117; + $119 = $115 + $118; + $120 = $25 * $106; + $121 = $28 * $109; + $122 = $120 + $121; + $123 = $32 * $113; + $124 = $122 + $123; + $125 = $36 * $117; + $126 = $124 + $125; + $127 = $40 * $106; + $128 = $43 * $109; + $129 = $127 + $128; + $130 = $47 * $113; + $131 = $129 + $130; + $132 = $51 * $117; + $133 = $131 + $132; + $134 = $55 * $106; + $135 = $58 * $109; + $136 = $134 + $135; + $137 = $62 * $113; + $138 = $136 + $137; + $139 = $66 * $117; + $140 = $138 + $139; + $141 = ((($2)) + 12|0); + $142 = +HEAPF32[$141>>2]; + $143 = $4 * $142; + $144 = ((($2)) + 28|0); + $145 = +HEAPF32[$144>>2]; + $146 = $9 * $145; + $147 = $143 + $146; + $148 = ((($2)) + 44|0); + $149 = +HEAPF32[$148>>2]; + $150 = $15 * $149; + $151 = $147 + $150; + $152 = ((($2)) + 60|0); + $153 = +HEAPF32[$152>>2]; + $154 = $21 * $153; + $155 = $151 + $154; + $156 = $25 * $142; + $157 = $28 * $145; + $158 = $156 + $157; + $159 = $32 * $149; + $160 = $158 + $159; + $161 = $36 * $153; + $162 = $160 + $161; + $163 = $40 * $142; + $164 = $43 * $145; + $165 = $163 + $164; + $166 = $47 * $149; + $167 = $165 + $166; + $168 = $51 * $153; + $169 = $167 + $168; + $170 = $55 * $142; + $171 = $58 * $145; + $172 = $170 + $171; + $173 = $62 * $149; + $174 = $172 + $173; + $175 = $66 * $153; + $176 = $174 + $175; + HEAPF32[$0>>2] = $23; + $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); + HEAPF32[$$sroa$4$0$$sroa_idx2>>2] = $83; + $$sroa$5$0$$sroa_idx4 = ((($0)) + 8|0); + HEAPF32[$$sroa$5$0$$sroa_idx4>>2] = $119; + $$sroa$6$0$$sroa_idx6 = ((($0)) + 12|0); + HEAPF32[$$sroa$6$0$$sroa_idx6>>2] = $155; + $$sroa$7$0$$sroa_idx8 = ((($0)) + 16|0); + HEAPF32[$$sroa$7$0$$sroa_idx8>>2] = $38; + $$sroa$8$0$$sroa_idx10 = ((($0)) + 20|0); + HEAPF32[$$sroa$8$0$$sroa_idx10>>2] = $90; + $$sroa$9$0$$sroa_idx12 = ((($0)) + 24|0); + HEAPF32[$$sroa$9$0$$sroa_idx12>>2] = $126; + $$sroa$10$0$$sroa_idx14 = ((($0)) + 28|0); + HEAPF32[$$sroa$10$0$$sroa_idx14>>2] = $162; + $$sroa$11$0$$sroa_idx16 = ((($0)) + 32|0); + HEAPF32[$$sroa$11$0$$sroa_idx16>>2] = $53; + $$sroa$12$0$$sroa_idx18 = ((($0)) + 36|0); + HEAPF32[$$sroa$12$0$$sroa_idx18>>2] = $97; + $$sroa$13$0$$sroa_idx20 = ((($0)) + 40|0); + HEAPF32[$$sroa$13$0$$sroa_idx20>>2] = $133; + $$sroa$14$0$$sroa_idx22 = ((($0)) + 44|0); + HEAPF32[$$sroa$14$0$$sroa_idx22>>2] = $169; + $$sroa$15$0$$sroa_idx24 = ((($0)) + 48|0); + HEAPF32[$$sroa$15$0$$sroa_idx24>>2] = $68; + $$sroa$16$0$$sroa_idx26 = ((($0)) + 52|0); + HEAPF32[$$sroa$16$0$$sroa_idx26>>2] = $104; + $$sroa$17$0$$sroa_idx28 = ((($0)) + 56|0); + HEAPF32[$$sroa$17$0$$sroa_idx28>>2] = $140; + $$sroa$18$0$$sroa_idx30 = ((($0)) + 60|0); + HEAPF32[$$sroa$18$0$$sroa_idx30>>2] = $176; + return; +} +function _MatrixOrtho($0,$1,$2,$3,$4,$5,$6) { + $0 = $0|0; + $1 = +$1; + $2 = +$2; + $3 = +$3; + $4 = +$4; + $5 = +$5; + $6 = +$6; + var $$sroa$10$0$$sroa_idx24 = 0, $$sroa$11$0$$sroa_idx26 = 0, $$sroa$12$0$$sroa_idx28 = 0, $$sroa$13$0$$sroa_idx30 = 0, $$sroa$14$0$$sroa_idx32 = 0, $$sroa$15$0$$sroa_idx34 = 0, $$sroa$16$0$$sroa_idx36 = 0, $$sroa$17$0$$sroa_idx38 = 0, $$sroa$18$0$$sroa_idx40 = 0, $$sroa$4$0$$sroa_idx12 = 0, $$sroa$5$0$$sroa_idx14 = 0, $$sroa$6$0$$sroa_idx16 = 0, $$sroa$7$0$$sroa_idx18 = 0, $$sroa$8$0$$sroa_idx20 = 0, $$sroa$9$0$$sroa_idx22 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0; + var $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0.0, $28 = 0.0, $29 = 0.0, $30 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0; + var sp = 0; + sp = STACKTOP; + $7 = $2 - $1; + $8 = $7; + $9 = $4 - $3; + $10 = $9; + $11 = $6 - $5; + $12 = $11; + $13 = 2.0 / $8; + $14 = 2.0 / $10; + $15 = -2.0 / $12; + $16 = $1 + $2; + $17 = -$16; + $18 = $8; + $19 = $17 / $18; + $20 = $19; + $21 = $3 + $4; + $22 = -$21; + $23 = $10; + $24 = $22 / $23; + $25 = $24; + $26 = $5 + $6; + $27 = -$26; + $28 = $12; + $29 = $27 / $28; + $30 = $29; + HEAPF32[$0>>2] = $13; + $$sroa$4$0$$sroa_idx12 = ((($0)) + 4|0); + HEAPF32[$$sroa$4$0$$sroa_idx12>>2] = 0.0; + $$sroa$5$0$$sroa_idx14 = ((($0)) + 8|0); + HEAPF32[$$sroa$5$0$$sroa_idx14>>2] = 0.0; + $$sroa$6$0$$sroa_idx16 = ((($0)) + 12|0); + HEAPF32[$$sroa$6$0$$sroa_idx16>>2] = $20; + $$sroa$7$0$$sroa_idx18 = ((($0)) + 16|0); + HEAPF32[$$sroa$7$0$$sroa_idx18>>2] = 0.0; + $$sroa$8$0$$sroa_idx20 = ((($0)) + 20|0); + HEAPF32[$$sroa$8$0$$sroa_idx20>>2] = $14; + $$sroa$9$0$$sroa_idx22 = ((($0)) + 24|0); + HEAPF32[$$sroa$9$0$$sroa_idx22>>2] = 0.0; + $$sroa$10$0$$sroa_idx24 = ((($0)) + 28|0); + HEAPF32[$$sroa$10$0$$sroa_idx24>>2] = $25; + $$sroa$11$0$$sroa_idx26 = ((($0)) + 32|0); + HEAPF32[$$sroa$11$0$$sroa_idx26>>2] = 0.0; + $$sroa$12$0$$sroa_idx28 = ((($0)) + 36|0); + HEAPF32[$$sroa$12$0$$sroa_idx28>>2] = 0.0; + $$sroa$13$0$$sroa_idx30 = ((($0)) + 40|0); + HEAPF32[$$sroa$13$0$$sroa_idx30>>2] = $15; + $$sroa$14$0$$sroa_idx32 = ((($0)) + 44|0); + HEAPF32[$$sroa$14$0$$sroa_idx32>>2] = $30; + $$sroa$15$0$$sroa_idx34 = ((($0)) + 48|0); + HEAPF32[$$sroa$15$0$$sroa_idx34>>2] = 0.0; + $$sroa$16$0$$sroa_idx36 = ((($0)) + 52|0); + HEAPF32[$$sroa$16$0$$sroa_idx36>>2] = 0.0; + $$sroa$17$0$$sroa_idx38 = ((($0)) + 56|0); + HEAPF32[$$sroa$17$0$$sroa_idx38>>2] = 0.0; + $$sroa$18$0$$sroa_idx40 = ((($0)) + 60|0); + HEAPF32[$$sroa$18$0$$sroa_idx40>>2] = 1.0; + return; +} +function _ProcessGestureEvent($0) { + $0 = $0|0; + var $$$sink = 0, $$sink = 0, $$sink10 = 0, $$sink11 = 0, $$sink16 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0.0, $111 = 0.0; + var $112 = 0.0, $113 = 0.0, $114 = 0.0, $115 = 0.0, $116 = 0.0, $117 = 0, $118 = 0, $119 = 0, $12 = 0.0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0; + var $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0; + var $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0.0, $16 = 0, $160 = 0.0, $161 = 0.0, $162 = 0.0, $163 = 0.0, $164 = 0.0, $165 = 0.0, $166 = 0; + var $167 = 0.0, $168 = 0, $169 = 0.0, $17 = 0, $170 = 0.0, $171 = 0.0, $172 = 0, $173 = 0.0, $174 = 0.0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; + var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; + var $46 = 0, $47 = 0, $48 = 0.0, $49 = 0.0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0.0, $56 = 0.0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0; + var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0.0, $81 = 0; + var $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0.0, $86 = 0.0, $87 = 0.0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $moveDownPosition$byval_copy11 = 0; + var $moveDownPosition2$byval_copy12 = 0, $or$cond = 0, $or$cond3 = 0, $or$cond5 = 0, $or$cond7 = 0, $or$cond9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $moveDownPosition2$byval_copy12 = sp + 8|0; + $moveDownPosition$byval_copy11 = sp; + $1 = ((($0)) + 4|0); + $2 = HEAP32[$1>>2]|0; + HEAP32[7475] = $2; + $3 = ($2|0)<(2); + $4 = HEAP32[$0>>2]|0; + $5 = ($4|0)==(1); + if (!($3)) { + if ($5) { + $88 = ((($0)) + 24|0); + $89 = $88; + $90 = $89; + $91 = HEAP32[$90>>2]|0; + $92 = (($89) + 4)|0; + $93 = $92; + $94 = HEAP32[$93>>2]|0; + $95 = 26472; + $96 = $95; + HEAP32[$96>>2] = $91; + $97 = (($95) + 4)|0; + $98 = $97; + HEAP32[$98>>2] = $94; + $99 = ((($0)) + 32|0); + $100 = $99; + $101 = $100; + $102 = HEAP32[$101>>2]|0; + $103 = (($100) + 4)|0; + $104 = $103; + $105 = HEAP32[$104>>2]|0; + $106 = 26512; + $107 = $106; + HEAP32[$107>>2] = $102; + $108 = (($106) + 4)|0; + $109 = $108; + HEAP32[$109>>2] = $105; + $110 = +HEAPF32[6628]; + $111 = +HEAPF32[6618]; + $112 = $110 - $111; + HEAPF32[6630] = $112; + $113 = +HEAPF32[(26516)>>2]; + $114 = +HEAPF32[(26476)>>2]; + $115 = $113 - $114; + HEAPF32[(26524)>>2] = $115; + HEAP32[7474] = 4; + STACKTOP = sp;return; + } + switch ($4|0) { + case 2: { + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[26504>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[26504+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[26528>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[26528+4>>2]|0; + $116 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + HEAPF32[7480] = $116; + $117 = 26504; + $118 = $117; + $119 = HEAP32[$118>>2]|0; + $120 = (($117) + 4)|0; + $121 = $120; + $122 = HEAP32[$121>>2]|0; + $123 = 26472; + $124 = $123; + HEAP32[$124>>2] = $119; + $125 = (($123) + 4)|0; + $126 = $125; + HEAP32[$126>>2] = $122; + $127 = 26528; + $128 = $127; + $129 = HEAP32[$128>>2]|0; + $130 = (($127) + 4)|0; + $131 = $130; + $132 = HEAP32[$131>>2]|0; + $133 = 26512; + $134 = $133; + HEAP32[$134>>2] = $129; + $135 = (($133) + 4)|0; + $136 = $135; + HEAP32[$136>>2] = $132; + $137 = ((($0)) + 24|0); + $138 = $137; + $139 = $138; + $140 = HEAP32[$139>>2]|0; + $141 = (($138) + 4)|0; + $142 = $141; + $143 = HEAP32[$142>>2]|0; + $144 = 26504; + $145 = $144; + HEAP32[$145>>2] = $140; + $146 = (($144) + 4)|0; + $147 = $146; + HEAP32[$147>>2] = $143; + $148 = ((($0)) + 32|0); + $149 = $148; + $150 = $149; + $151 = HEAP32[$150>>2]|0; + $152 = (($149) + 4)|0; + $153 = $152; + $154 = HEAP32[$153>>2]|0; + $155 = 26528; + $156 = $155; + HEAP32[$156>>2] = $151; + $157 = (($155) + 4)|0; + $158 = $157; + HEAP32[$158>>2] = $154; + $159 = +HEAPF32[6632]; + $160 = +HEAPF32[6626]; + $161 = $159 - $160; + HEAPF32[6630] = $161; + $162 = +HEAPF32[(26532)>>2]; + $163 = +HEAPF32[(26508)>>2]; + $164 = $162 - $163; + HEAPF32[(26524)>>2] = $164; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[26472>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[26472+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[26504>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[26504+4>>2]|0; + $165 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $166 = !($165 >= 0.004999999888241291); + if ($166) { + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[26512>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[26512+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[26528>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[26528+4>>2]|0; + $167 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $168 = !($167 >= 0.004999999888241291); + if ($168) { + $$sink16 = 4; + } else { + label = 29; + } + } else { + label = 29; + } + if ((label|0) == 29) { + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[26504>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[26504+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[26528>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[26528+4>>2]|0; + $169 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $170 = +HEAPF32[7480]; + $171 = $169 - $170; + $172 = $171 < 0.0; + $$sink11 = $172 ? 256 : 512; + $$sink16 = $$sink11; + } + HEAP32[7474] = $$sink16; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[26504>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[26504+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[26528>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[26528+4>>2]|0; + $173 = (+_Vector2Angle($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $174 = 360.0 - $173; + HEAPF32[7481] = $174; + STACKTOP = sp;return; + break; + } + case 0: { + HEAPF32[7480] = 0.0; + HEAPF32[7481] = 0.0; + HEAPF32[6630] = 0.0; + HEAPF32[(26524)>>2] = 0.0; + HEAP32[7475] = 0; + HEAP32[7474] = 0; + STACKTOP = sp;return; + break; + } + default: { + STACKTOP = sp;return; + } + } + } + if ($5) { + $6 = HEAP32[7476]|0; + $7 = (($6) + 1)|0; + HEAP32[7476] = $7; + $8 = HEAP32[7474]|0; + $9 = ($8|0)==(0); + $10 = ($6|0)>(0); + $or$cond = $10 & $9; + if ($or$cond) { + $11 = ((($0)) + 24|0); + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[26472>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[26472+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[$11>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[$11+4>>2]|0; + $12 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $13 = $12 < 0.029999999329447746; + if ($13) { + HEAP32[7474] = 2; + HEAP32[7476] = 0; + } else { + label = 6; + } + } else { + label = 6; + } + if ((label|0) == 6) { + HEAP32[7476] = 1; + HEAP32[7474] = 1; + } + $14 = ((($0)) + 24|0); + $15 = $14; + $16 = $15; + $17 = HEAP32[$16>>2]|0; + $18 = (($15) + 4)|0; + $19 = $18; + $20 = HEAP32[$19>>2]|0; + $21 = 26472; + $22 = $21; + HEAP32[$22>>2] = $17; + $23 = (($21) + 4)|0; + $24 = $23; + HEAP32[$24>>2] = $20; + $25 = 26480; + $26 = $25; + HEAP32[$26>>2] = $17; + $27 = (($25) + 4)|0; + $28 = $27; + HEAP32[$28>>2] = $20; + $29 = 26488; + $30 = $29; + HEAP32[$30>>2] = $17; + $31 = (($29) + 4)|0; + $32 = $31; + HEAP32[$32>>2] = $20; + $33 = ((($0)) + 8|0); + $34 = HEAP32[$33>>2]|0; + HEAP32[15] = $34; + HEAPF32[6624] = 0.0; + HEAPF32[(26500)>>2] = 0.0; + STACKTOP = sp;return; + } + switch ($4|0) { + case 0: { + $35 = HEAP32[7474]|0; + $36 = ($35|0)==(8); + if ($36) { + $37 = ((($0)) + 24|0); + $38 = $37; + $39 = $38; + $40 = HEAP32[$39>>2]|0; + $41 = (($38) + 4)|0; + $42 = $41; + $43 = HEAP32[$42>>2]|0; + $44 = 26488; + $45 = $44; + HEAP32[$45>>2] = $40; + $46 = (($44) + 4)|0; + $47 = $46; + HEAP32[$47>>2] = $43; + } + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[26472>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[26472+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[26488>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[26488+4>>2]|0; + $48 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $49 = $48 / 0.0; + HEAPF32[7477] = $49; + HEAP32[7478] = 0; + $50 = $49 > 5.0000002374872565E-4; + if ($50) { + $51 = HEAP32[15]|0; + $52 = ((($0)) + 8|0); + $53 = HEAP32[$52>>2]|0; + $54 = ($51|0)==($53|0); + if ($54) { + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[26472>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[26472+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[26488>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[26488+4>>2]|0; + $55 = (+_Vector2Angle($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $56 = 360.0 - $55; + HEAPF32[7479] = $56; + $57 = $56 < 30.0; + $58 = $56 > 330.0; + $or$cond3 = $57 | $58; + if ($or$cond3) { + $$sink10 = 16; + } else { + $59 = $56 > 30.0; + $60 = $56 < 120.0; + $or$cond5 = $59 & $60; + if ($or$cond5) { + $$sink10 = 64; + } else { + $61 = $56 > 120.0; + $62 = $56 < 210.0; + $or$cond7 = $61 & $62; + $63 = $56 > 210.0; + $64 = $56 < 300.0; + $or$cond9 = $63 & $64; + $$sink = $or$cond9 ? 128 : 0; + $$$sink = $or$cond7 ? 32 : $$sink; + $$sink10 = $$$sink; + } + } + } else { + label = 16; + } + } else { + label = 16; + } + if ((label|0) == 16) { + HEAPF32[7477] = 0.0; + HEAPF32[7479] = 0.0; + $$sink10 = 0; + } + HEAP32[7474] = $$sink10; + HEAPF32[6620] = 0.0; + HEAPF32[(26484)>>2] = 0.0; + HEAP32[7475] = 0; + STACKTOP = sp;return; + break; + } + case 2: { + $65 = HEAP32[7478]|0; + $66 = ($65|0)==(0); + if ($66) { + HEAP32[7478] = 1; + } + $67 = ((($0)) + 24|0); + $68 = $67; + $69 = $68; + $70 = HEAP32[$69>>2]|0; + $71 = (($68) + 4)|0; + $72 = $71; + $73 = HEAP32[$72>>2]|0; + $74 = 26504; + $75 = $74; + HEAP32[$75>>2] = $70; + $76 = (($74) + 4)|0; + $77 = $76; + HEAP32[$77>>2] = $73; + $78 = HEAP32[7474]|0; + $79 = ($78|0)==(4); + if ($79) { + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[26472>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[26472+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[26504>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[26504+4>>2]|0; + $80 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $81 = !($80 >= 0.014999999664723873); + if (!($81)) { + HEAP32[7474] = 8; + } + } + $82 = +HEAPF32[6626]; + $83 = +HEAPF32[6620]; + $84 = $82 - $83; + HEAPF32[6624] = $84; + $85 = +HEAPF32[(26508)>>2]; + $86 = +HEAPF32[(26484)>>2]; + $87 = $85 - $86; + HEAPF32[(26500)>>2] = $87; + STACKTOP = sp;return; + break; + } + default: { + STACKTOP = sp;return; + } + } +} +function _UpdateGestures() { + var $$off = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $or$cond3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[7474]|0; + $$off = (($0) + -1)|0; + $1 = ($$off>>>0)<(2); + $2 = HEAP32[7475]|0; + $3 = ($2|0)<(2); + $or$cond3 = $1 & $3; + if ($or$cond3) { + HEAP32[7474] = 4; + } + $4 = HEAP32[7474]|0; + $5 = (($4) + -16)|0; + $6 = $5 >>> 4; + $7 = $5 << 28; + $8 = $6 | $7; + switch ($8|0) { + case 0: case 1: case 3: case 7: { + break; + } + default: { + return; + } + } + HEAP32[7474] = 0; + return; +} +function _GetMousePosition($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = 26536; + $2 = $1; + $3 = HEAP32[$2>>2]|0; + $4 = (($1) + 4)|0; + $5 = $4; + $6 = HEAP32[$5>>2]|0; + $7 = $0; + $8 = $7; + HEAP32[$8>>2] = $3; + $9 = (($7) + 4)|0; + $10 = $9; + HEAP32[$10>>2] = $6; + return; +} +function _IsKeyDown($0) { + $0 = $0|0; + var $$ = 0, $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (_GetKeyStatus($0)|0); + $2 = ($1|0)==(1); + $$ = $2&1; + return ($$|0); +} +function _GetScreenWidth() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[7484]|0; + return ($0|0); +} +function _GetScreenHeight() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[7483]|0; + return ($0|0); +} +function _GetKeyStatus($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP32[7482]|0; + $2 = (_glfwGetKey(($1|0),($0|0))|0); + return ($2|0); +} +function _InitWindow($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0.0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); $vararg_buffer = sp; - _TraceLog(0,8816,$vararg_buffer); - HEAP32[8848>>2] = $title; - _InitDisplay($width,$height); - _InitGraphics(); + _TraceLog(0,8705,$vararg_buffer); + HEAP32[7486] = $2; + _InitGraphicsDevice($0,$1); _LoadDefaultFont(); _InitTimer(); - _InitGesturesSystem(); - (_emscripten_set_fullscreenchange_callback((0|0),(0|0),1,(2|0))|0); - $0 = HEAP32[8856>>2]|0; - $1 = (($0|0) / 2)&-1; - $2 = (+($1|0)); - HEAPF32[8864>>2] = $2; - $3 = HEAP32[8872>>2]|0; - $4 = (($3|0) / 2)&-1; - $5 = (+($4|0)); - HEAPF32[(8868)>>2] = $5; - $6 = HEAP32[8880>>2]|0; - $7 = ($6|0)==(0); - if ($7) { + (_emscripten_set_fullscreenchange_callback((0|0),(0|0),1,(5|0))|0); + (_emscripten_set_keypress_callback((8734|0),(0|0),1,(6|0))|0); + (_emscripten_set_click_callback((8734|0),(0|0),1,(7|0))|0); + (_emscripten_set_touchstart_callback((8734|0),(0|0),1,(8|0))|0); + (_emscripten_set_touchend_callback((8734|0),(0|0),1,(8|0))|0); + (_emscripten_set_touchmove_callback((8734|0),(0|0),1,(8|0))|0); + (_emscripten_set_touchcancel_callback((8734|0),(0|0),1,(8|0))|0); + (_emscripten_set_gamepadconnected_callback((0|0),1,(9|0))|0); + (_emscripten_set_gamepaddisconnected_callback((0|0),1,(9|0))|0); + $3 = HEAP32[7484]|0; + $4 = (+($3|0)); + $5 = $4 * 0.5; + HEAPF32[6634] = $5; + $6 = HEAP32[7483]|0; + $7 = (+($6|0)); + $8 = $7 * 0.5; + HEAPF32[(26540)>>2] = $8; + $9 = HEAP32[7487]|0; + $10 = ($9|0)==(0); + if ($10) { STACKTOP = sp;return; } _SetTargetFPS(60); _LogoAnimation(); STACKTOP = sp;return; } -function _SetTargetFPS($fps) { - $fps = $fps|0; - var $0 = 0.0, $1 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $vararg_buffer = 0, label = 0, sp = 0; +function _TraceLog($0,$1,$varargs) { + $0 = $0|0; + $1 = $1|0; + $varargs = $varargs|0; + var $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $endptr = 0, $strlen = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $vararg_buffer = sp; - $0 = (+($fps|0)); - $1 = 1.0 / $0; - HEAPF64[8888>>3] = $1; - $2 = $1; - $3 = $2 * 1000.0; - $4 = $3; - HEAPF64[$vararg_buffer>>3] = $4; - _TraceLog(0,8896,$vararg_buffer); - STACKTOP = sp;return; -} -function _CloseWindow() { - var $0 = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $vararg_buffer = sp; - _UnloadDefaultFont(); - _rlglClose(); - $0 = HEAP32[8944>>2]|0; - _glfwDestroyWindow(($0|0)); - _glfwTerminate(); - _TraceLog(0,8952,$vararg_buffer); - STACKTOP = sp;return; -} -function _GetScreenWidth() { - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[8856>>2]|0; - return ($0|0); -} -function _GetScreenHeight() { - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[8872>>2]|0; - return ($0|0); -} -function _ClearBackground($color) { - $color = $color|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP8[$color>>0]|0; - $1 = ((($color)) + 1|0); - $2 = HEAP8[$1>>0]|0; - $3 = ((($color)) + 2|0); - $4 = HEAP8[$3>>0]|0; - $5 = ((($color)) + 3|0); - $6 = HEAP8[$5>>0]|0; - _rlClearColor($0,$2,$4,$6); - return; -} -function _BeginDrawing() { - var $0 = 0.0, $1 = 0.0, $2 = 0.0, $3 = 0, $4 = 0, $5 = 0, $downscaleView$byval_copy = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; - $downscaleView$byval_copy = sp; - $0 = (+_GetTime()); - HEAPF64[9000>>3] = $0; - $1 = +HEAPF64[9008>>3]; - $2 = $0 - $1; - HEAPF64[9016>>3] = $2; - HEAPF64[9008>>3] = $0; - $3 = (_IsPosproShaderEnabled()|0); - $4 = ($3|0)==(0); - if (!($4)) { - _rlEnablePostproFBO(); + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $2 = sp; + switch ($0|0) { + case 0: { + ;HEAP8[26576>>0]=HEAP8[13281>>0]|0;HEAP8[26576+1>>0]=HEAP8[13281+1>>0]|0;HEAP8[26576+2>>0]=HEAP8[13281+2>>0]|0;HEAP8[26576+3>>0]=HEAP8[13281+3>>0]|0;HEAP8[26576+4>>0]=HEAP8[13281+4>>0]|0;HEAP8[26576+5>>0]=HEAP8[13281+5>>0]|0;HEAP8[26576+6>>0]=HEAP8[13281+6>>0]|0; + break; } - _rlClearScreenBuffers(); - _rlLoadIdentity(); - dest=$downscaleView$byval_copy; src=9024; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $5 = (_GetMatrixVector($downscaleView$byval_copy)|0); - _rlMultMatrixf($5); - STACKTOP = sp;return; -} -function _EndDrawing() { - var $0 = 0, $1 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - _rlglDraw(); - $0 = (_IsPosproShaderEnabled()|0); - $1 = ($0|0)==(0); - if (!($1)) { - _rlglDrawPostpro(); + case 2: { + $3 = 26576; + $4 = $3; + HEAP32[$4>>2] = 1330795077; + $5 = (($3) + 4)|0; + $6 = $5; + HEAP32[$6>>2] = 2112082; + break; } - _SwapBuffers(); - _PollInputEvents(); - $2 = (+_GetTime()); - HEAPF64[9000>>3] = $2; - $3 = +HEAPF64[9008>>3]; - $4 = $2 - $3; - HEAPF64[9088>>3] = $4; - HEAPF64[9008>>3] = $2; - $5 = +HEAPF64[9016>>3]; - $6 = $5 + $4; - HEAPF64[9096>>3] = $6; - $7 = +HEAPF64[8888>>3]; - $8 = $6 < $7; - if (!($8)) { - return; + case 1: { + dest=26576; src=13288; stop=dest+10|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); + break; } - while(1) { - $9 = (+_GetTime()); - HEAPF64[9000>>3] = $9; - $10 = +HEAPF64[9008>>3]; - $11 = $9 - $10; - HEAPF64[9008>>3] = $9; - $12 = +HEAPF64[9096>>3]; - $13 = $12 + $11; - HEAPF64[9096>>3] = $13; - $14 = +HEAPF64[8888>>3]; - $15 = $13 < $14; - if (!($15)) { - break; - } + case 3: { + $7 = 26576; + $8 = $7; + HEAP32[$8>>2] = 1430406468; + $9 = (($7) + 4)|0; + $10 = $9; + HEAP32[$10>>2] = 2112071; + break; } - return; -} -function _Fade($agg$result,$color,$alpha) { - $agg$result = $agg$result|0; - $color = $color|0; - $alpha = +$alpha; - var $$0 = 0.0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = $alpha < 0.0; - if ($0) { - $$0 = 0.0; + default: { + } + } + (_strcat(26576,$1)|0); + $strlen = (_strlen(26576)|0); + $endptr = (26576 + ($strlen)|0); + HEAP8[$endptr>>0]=10&255;HEAP8[$endptr+1>>0]=10>>8; + HEAP32[$2>>2] = $varargs; + $11 = ($0|0)==(3); + if ($11) { + STACKTOP = sp;return; + } + (_vprintf(26576,$2)|0); + $12 = ($0|0)==(2); + if ($12) { + _exit(1); + // unreachable; } else { - $1 = $alpha > 1.0; - if ($1) { - $$0 = 1.0; - } else { - $$0 = $alpha; - } - } - $2 = ((($color)) + 3|0); - $3 = HEAP8[$2>>0]|0; - $4 = (+($3&255)); - $5 = $$0 * $4; - $6 = HEAP8[$color>>0]|0; - HEAP8[$agg$result>>0] = $6; - $7 = ((($agg$result)) + 1|0); - $8 = ((($color)) + 1|0); - $9 = HEAP8[$8>>0]|0; - HEAP8[$7>>0] = $9; - $10 = ((($agg$result)) + 2|0); - $11 = ((($color)) + 2|0); - $12 = HEAP8[$11>>0]|0; - HEAP8[$10>>0] = $12; - $13 = ((($agg$result)) + 3|0); - $14 = (~~(($5))&255); - HEAP8[$13>>0] = $14; - return; -} -function _IsKeyPressed($key) { - $key = $key|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $or$cond = 0, $pressed$0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (9120 + ($key)|0); - $1 = HEAP8[$0>>0]|0; - $2 = (9632 + ($key)|0); - $3 = HEAP8[$2>>0]|0; - $4 = ($1<<24>>24)!=($3<<24>>24); - $5 = ($1<<24>>24)==(1); - $or$cond = $5 & $4; - $pressed$0 = $or$cond&1; - return ($pressed$0|0); -} -function _IsKeyDown($key) { - $key = $key|0; - var $$ = 0, $0 = 0, $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_GetKeyStatus($key)|0); - $1 = ($0|0)==(1); - $$ = $1&1; - return ($$|0); -} -function _IsMouseButtonPressed($button) { - $button = $button|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $or$cond = 0, $pressed$0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (10152 + ($button)|0); - $1 = HEAP8[$0>>0]|0; - $2 = (10160 + ($button)|0); - $3 = HEAP8[$2>>0]|0; - $4 = ($1<<24>>24)!=($3<<24>>24); - $5 = ($1<<24>>24)==(1); - $or$cond = $5 & $4; - $pressed$0 = $or$cond&1; - return ($pressed$0|0); -} -function _GetMousePosition($agg$result) { - $agg$result = $agg$result|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = 8864; - $1 = $0; - $2 = HEAP32[$1>>2]|0; - $3 = (($0) + 4)|0; - $4 = $3; - $5 = HEAP32[$4>>2]|0; - $6 = $agg$result; - $7 = $6; - HEAP32[$7>>2] = $2; - $8 = (($6) + 4)|0; - $9 = $8; - HEAP32[$9>>2] = $5; - return; -} -function _mystrdup($str) { - $str = $str|0; - var $$0 = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_strlen(($str|0))|0); - $1 = (($0) + 1)|0; - $2 = (_malloc($1)|0); - $3 = ($2|0)==(0|0); - if ($3) { - $$0 = 0; - return ($$0|0); - } - _memcpy(($2|0),($str|0),($1|0))|0; - $$0 = $2; - return ($$0|0); -} -function _rlMatrixMode($mode) { - $mode = $mode|0; - var label = 0, sp = 0; - sp = STACKTOP; - if ((($mode|0) == 0)) { - HEAP32[10296>>2] = 10232; - } else if ((($mode|0) == 1)) { - HEAP32[10296>>2] = 10304; - } - HEAP32[10368>>2] = $mode; - return; -} -function _rlPushMatrix() { - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $vararg_buffer = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $vararg_buffer = sp; - $0 = HEAP32[10376>>2]|0; - $1 = ($0|0)==(15); - if ($1) { - HEAP32[$vararg_buffer>>2] = 16; - _TraceLog(1,10384,$vararg_buffer); - } - $2 = HEAP32[10376>>2]|0; - $3 = (10424 + ($2<<6)|0); - $4 = HEAP32[10296>>2]|0; - dest=$3; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _rlLoadIdentity(); - $5 = HEAP32[10376>>2]|0; - $6 = (($5) + 1)|0; - HEAP32[10376>>2] = $6; - $7 = HEAP32[10368>>2]|0; - $8 = ($7|0)==(1); - if (!($8)) { - STACKTOP = sp;return; - } - HEAP32[11448>>2] = 1; - STACKTOP = sp;return; -} -function _rlLoadIdentity() { - var $0 = 0, $1 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; - $0 = sp; - $1 = HEAP32[10296>>2]|0; - _MatrixIdentity($0); - dest=$1; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; -} -function _rlPopMatrix() { - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[10376>>2]|0; - $1 = ($0|0)>(0); - if (!($1)) { - return; - } - $2 = HEAP32[10376>>2]|0; - $3 = (($2) + -1)|0; - $4 = (10424 + ($3<<6)|0); - $5 = HEAP32[10296>>2]|0; - _memmove(($5|0),($4|0),64)|0; - $6 = HEAP32[10376>>2]|0; - $7 = (($6) + -1)|0; - HEAP32[10376>>2] = $7; - return; -} -function _rlTranslatef($x,$y,$z) { - $x = +$x; - $y = +$y; - $z = +$z; - var $$byval_copy = 0, $0 = 0, $1 = 0, $mat = 0, $mat$byval_copy = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 256|0; - $mat$byval_copy = sp + 192|0; - $$byval_copy = sp; - $mat = sp + 64|0; - $0 = sp + 128|0; - _MatrixTranslate($mat,$x,$y,$z); - _MatrixTranspose($mat); - $1 = HEAP32[10296>>2]|0; - dest=$$byval_copy; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$mat$byval_copy; src=$mat; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixMultiply($0,$$byval_copy,$mat$byval_copy); - dest=$1; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; -} -function _rlRotatef($angleDeg,$x,$y,$z) { - $angleDeg = +$angleDeg; - $x = +$x; - $y = +$y; - $z = +$z; - var $$byval_copy = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0, $axis = 0, $rotation = 0, $rotation$byval_copy = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 336|0; - $rotation$byval_copy = sp + 272|0; - $$byval_copy = sp; - $rotation = sp + 64|0; - $axis = sp + 128|0; - $0 = sp + 144|0; - $1 = sp + 208|0; - _MatrixIdentity($rotation); - HEAPF32[$axis>>2] = $x; - $2 = ((($axis)) + 4|0); - HEAPF32[$2>>2] = $y; - $3 = ((($axis)) + 8|0); - HEAPF32[$3>>2] = $z; - _VectorNormalize($axis); - $4 = $angleDeg; - $5 = $4 * 0.017453292519943295; - $6 = $5; - ;HEAP32[$rotation$byval_copy>>2]=HEAP32[$axis>>2]|0;HEAP32[$rotation$byval_copy+4>>2]=HEAP32[$axis+4>>2]|0;HEAP32[$rotation$byval_copy+8>>2]=HEAP32[$axis+8>>2]|0; - _MatrixRotate($0,$6,$rotation$byval_copy); - dest=$rotation; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixTranspose($rotation); - $7 = HEAP32[10296>>2]|0; - dest=$$byval_copy; src=$7; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$rotation$byval_copy; src=$rotation; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixMultiply($1,$$byval_copy,$rotation$byval_copy); - dest=$7; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; -} -function _rlMultMatrixf($m) { - $m = $m|0; - var $$byval_copy = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; - var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $mat = 0, $mat$byval_copy = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 256|0; - $mat$byval_copy = sp + 192|0; - $$byval_copy = sp; - $mat = sp + 64|0; - $0 = sp + 128|0; - $1 = HEAP32[$m>>2]|0; - HEAP32[$mat>>2] = $1; - $2 = ((($mat)) + 4|0); - $3 = ((($m)) + 4|0); - $4 = HEAP32[$3>>2]|0; - HEAP32[$2>>2] = $4; - $5 = ((($mat)) + 8|0); - $6 = ((($m)) + 8|0); - $7 = HEAP32[$6>>2]|0; - HEAP32[$5>>2] = $7; - $8 = ((($mat)) + 12|0); - $9 = ((($m)) + 12|0); - $10 = HEAP32[$9>>2]|0; - HEAP32[$8>>2] = $10; - $11 = ((($mat)) + 16|0); - $12 = ((($m)) + 16|0); - $13 = HEAP32[$12>>2]|0; - HEAP32[$11>>2] = $13; - $14 = ((($mat)) + 20|0); - $15 = ((($m)) + 20|0); - $16 = HEAP32[$15>>2]|0; - HEAP32[$14>>2] = $16; - $17 = ((($mat)) + 24|0); - $18 = ((($m)) + 24|0); - $19 = HEAP32[$18>>2]|0; - HEAP32[$17>>2] = $19; - $20 = ((($mat)) + 28|0); - $21 = ((($m)) + 28|0); - $22 = HEAP32[$21>>2]|0; - HEAP32[$20>>2] = $22; - $23 = ((($mat)) + 32|0); - $24 = ((($m)) + 32|0); - $25 = HEAP32[$24>>2]|0; - HEAP32[$23>>2] = $25; - $26 = ((($mat)) + 36|0); - $27 = ((($m)) + 36|0); - $28 = HEAP32[$27>>2]|0; - HEAP32[$26>>2] = $28; - $29 = ((($mat)) + 40|0); - $30 = ((($m)) + 40|0); - $31 = HEAP32[$30>>2]|0; - HEAP32[$29>>2] = $31; - $32 = ((($mat)) + 44|0); - $33 = ((($m)) + 44|0); - $34 = HEAP32[$33>>2]|0; - HEAP32[$32>>2] = $34; - $35 = ((($mat)) + 48|0); - $36 = ((($m)) + 48|0); - $37 = HEAP32[$36>>2]|0; - HEAP32[$35>>2] = $37; - $38 = ((($mat)) + 52|0); - $39 = ((($m)) + 52|0); - $40 = HEAP32[$39>>2]|0; - HEAP32[$38>>2] = $40; - $41 = ((($mat)) + 56|0); - $42 = ((($m)) + 56|0); - $43 = HEAP32[$42>>2]|0; - HEAP32[$41>>2] = $43; - $44 = ((($mat)) + 60|0); - $45 = ((($m)) + 60|0); - $46 = HEAP32[$45>>2]|0; - HEAP32[$44>>2] = $46; - $47 = HEAP32[10296>>2]|0; - dest=$$byval_copy; src=$47; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$mat$byval_copy; src=$mat; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixMultiply($0,$$byval_copy,$mat$byval_copy); - dest=$47; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; -} -function _rlOrtho($left,$right,$bottom,$top,$near,$far) { - $left = +$left; - $right = +$right; - $bottom = +$bottom; - $top = +$top; - $near = +$near; - $far = +$far; - var $$byval_copy = 0, $0 = 0, $1 = 0, $matOrtho = 0, $matOrtho$byval_copy = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 256|0; - $matOrtho$byval_copy = sp + 192|0; - $$byval_copy = sp; - $matOrtho = sp + 64|0; - $0 = sp + 128|0; - _MatrixOrtho($matOrtho,$left,$right,$bottom,$top,$near,$far); - _MatrixTranspose($matOrtho); - $1 = HEAP32[10296>>2]|0; - dest=$$byval_copy; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$matOrtho$byval_copy; src=$matOrtho; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixMultiply($0,$$byval_copy,$matOrtho$byval_copy); - dest=$1; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; -} -function _rlBegin($mode) { - $mode = $mode|0; - var label = 0, sp = 0; - sp = STACKTOP; - HEAP32[11456>>2] = $mode; - return; -} -function _rlEnd() { - var $$byval_copy = 0, $$lcssa = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0; - var $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0.0, $130 = 0, $131 = 0; - var $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0.0; - var $150 = 0, $151 = 0.0, $152 = 0.0, $16 = 0, $17 = 0.0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0; - var $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0; - var $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0; - var $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0; - var $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond = 0, $exitcond16 = 0, $exitcond17 = 0, $exitcond18 = 0, $i$013 = 0; - var $i1$011 = 0, $i2$04 = 0, $i4$05 = 0, $i6$09 = 0, $i7$07 = 0, $quads$1$promoted = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; - $$byval_copy = sp; - $0 = HEAP32[11448>>2]|0; - $1 = ($0|0)==(0); - if (!($1)) { - $2 = HEAP32[11464>>2]|0; - $3 = ($2|0)>(0); - if ($3) { - $i$013 = 0; - while(1) { - $4 = HEAP32[11472>>2]|0; - $5 = (($4) + (($i$013*12)|0)|0); - $6 = HEAP32[10296>>2]|0; - dest=$$byval_copy; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _VectorTransform($5,$$byval_copy); - $7 = (($i$013) + 1)|0; - $8 = HEAP32[11464>>2]|0; - $9 = ($7|0)<($8|0); - if ($9) { - $i$013 = $7; - } else { - $$lcssa = $8; - break; - } - } - HEAP32[11448>>2] = 0; - $10 = ($$lcssa|0)>(0); - if ($10) { - $i1$011 = 0; - while(1) { - $11 = HEAP32[11472>>2]|0; - $12 = (($11) + (($i1$011*12)|0)|0); - $13 = +HEAPF32[$12>>2]; - $14 = (((($11) + (($i1$011*12)|0)|0)) + 4|0); - $15 = +HEAPF32[$14>>2]; - $16 = (((($11) + (($i1$011*12)|0)|0)) + 8|0); - $17 = +HEAPF32[$16>>2]; - _rlVertex3f($13,$15,$17); - $18 = (($i1$011) + 1)|0; - $19 = HEAP32[11464>>2]|0; - $20 = ($18|0)<($19|0); - if ($20) { - $i1$011 = $18; - } else { - break; - } - } - } - } else { - HEAP32[11448>>2] = 0; - } - HEAP32[11464>>2] = 0; - } - $21 = HEAP32[11456>>2]|0; - if ((($21|0) == 2)) { - $98 = HEAP32[11528>>2]|0; - $99 = HEAP32[11536>>2]|0; - $100 = ($98|0)>($99|0); - if ($100) { - $101 = (($98) - ($99))|0; - $i6$09 = 0; - while(1) { - $102 = HEAP32[11536>>2]|0; - $103 = $102 << 2; - $104 = (($103) + -4)|0; - $105 = HEAP32[11544>>2]|0; - $106 = (($105) + ($104)|0); - $107 = HEAP8[$106>>0]|0; - $108 = (($105) + ($103)|0); - HEAP8[$108>>0] = $107; - $109 = HEAP32[11536>>2]|0; - $110 = $109 << 2; - $111 = (($110) + -3)|0; - $112 = HEAP32[11544>>2]|0; - $113 = (($112) + ($111)|0); - $114 = HEAP8[$113>>0]|0; - $115 = $110 | 1; - $116 = (($112) + ($115)|0); - HEAP8[$116>>0] = $114; - $117 = HEAP32[11536>>2]|0; - $118 = $117 << 2; - $119 = (($118) + -2)|0; - $120 = HEAP32[11544>>2]|0; - $121 = (($120) + ($119)|0); - $122 = HEAP8[$121>>0]|0; - $123 = $118 | 2; - $124 = (($120) + ($123)|0); - HEAP8[$124>>0] = $122; - $125 = HEAP32[11536>>2]|0; - $126 = $125 << 2; - $127 = (($126) + -1)|0; - $128 = HEAP32[11544>>2]|0; - $129 = (($128) + ($127)|0); - $130 = HEAP8[$129>>0]|0; - $131 = $126 | 3; - $132 = (($128) + ($131)|0); - HEAP8[$132>>0] = $130; - $133 = HEAP32[11536>>2]|0; - $134 = (($133) + 1)|0; - HEAP32[11536>>2] = $134; - $135 = (($i6$09) + 1)|0; - $exitcond18 = ($135|0)==($101|0); - if ($exitcond18) { - break; - } else { - $i6$09 = $135; - } - } - } - $136 = HEAP32[11528>>2]|0; - $137 = HEAP32[11552>>2]|0; - $138 = ($136|0)>($137|0); - if (!($138)) { - $151 = +HEAPF32[11568>>2]; - $152 = $151 + 4.9999998736893758E-5; - HEAPF32[11568>>2] = $152; - STACKTOP = sp;return; - } - $139 = HEAP32[11560>>2]|0; - $quads$1$promoted = HEAP32[11552>>2]|0; - $140 = (($136) + ($quads$1$promoted))|0; - $141 = (($136) - ($137))|0; - $143 = $quads$1$promoted;$i7$07 = 0; - while(1) { - $142 = $143 << 1; - $144 = (($139) + ($142<<2)|0); - HEAPF32[$144>>2] = 0.0; - $145 = $143 << 1; - $146 = $145 | 1; - $147 = (($139) + ($146<<2)|0); - HEAPF32[$147>>2] = 0.0; - $148 = (($143) + 1)|0; - $149 = (($i7$07) + 1)|0; - $exitcond17 = ($149|0)==($141|0); - if ($exitcond17) { - break; - } else { - $143 = $148;$i7$07 = $149; - } - } - $150 = (($140) - ($137))|0; - HEAP32[11552>>2] = $150; - $151 = +HEAPF32[11568>>2]; - $152 = $151 + 4.9999998736893758E-5; - HEAPF32[11568>>2] = $152; - STACKTOP = sp;return; - } else if ((($21|0) == 1)) { - $60 = HEAP32[11504>>2]|0; - $61 = HEAP32[11512>>2]|0; - $62 = ($60|0)>($61|0); - if (!($62)) { - $151 = +HEAPF32[11568>>2]; - $152 = $151 + 4.9999998736893758E-5; - HEAPF32[11568>>2] = $152; - STACKTOP = sp;return; - } - $63 = (($60) - ($61))|0; - $i4$05 = 0; - while(1) { - $64 = HEAP32[11512>>2]|0; - $65 = $64 << 2; - $66 = (($65) + -4)|0; - $67 = HEAP32[11520>>2]|0; - $68 = (($67) + ($66)|0); - $69 = HEAP8[$68>>0]|0; - $70 = (($67) + ($65)|0); - HEAP8[$70>>0] = $69; - $71 = HEAP32[11512>>2]|0; - $72 = $71 << 2; - $73 = (($72) + -3)|0; - $74 = HEAP32[11520>>2]|0; - $75 = (($74) + ($73)|0); - $76 = HEAP8[$75>>0]|0; - $77 = $72 | 1; - $78 = (($74) + ($77)|0); - HEAP8[$78>>0] = $76; - $79 = HEAP32[11512>>2]|0; - $80 = $79 << 2; - $81 = (($80) + -2)|0; - $82 = HEAP32[11520>>2]|0; - $83 = (($82) + ($81)|0); - $84 = HEAP8[$83>>0]|0; - $85 = $80 | 2; - $86 = (($82) + ($85)|0); - HEAP8[$86>>0] = $84; - $87 = HEAP32[11512>>2]|0; - $88 = $87 << 2; - $89 = (($88) + -1)|0; - $90 = HEAP32[11520>>2]|0; - $91 = (($90) + ($89)|0); - $92 = HEAP8[$91>>0]|0; - $93 = $88 | 3; - $94 = (($90) + ($93)|0); - HEAP8[$94>>0] = $92; - $95 = HEAP32[11512>>2]|0; - $96 = (($95) + 1)|0; - HEAP32[11512>>2] = $96; - $97 = (($i4$05) + 1)|0; - $exitcond16 = ($97|0)==($63|0); - if ($exitcond16) { - break; - } else { - $i4$05 = $97; - } - } - $151 = +HEAPF32[11568>>2]; - $152 = $151 + 4.9999998736893758E-5; - HEAPF32[11568>>2] = $152; - STACKTOP = sp;return; - } else if ((($21|0) == 0)) { - $22 = HEAP32[11480>>2]|0; - $23 = HEAP32[11488>>2]|0; - $24 = ($22|0)>($23|0); - if (!($24)) { - $151 = +HEAPF32[11568>>2]; - $152 = $151 + 4.9999998736893758E-5; - HEAPF32[11568>>2] = $152; - STACKTOP = sp;return; - } - $25 = (($22) - ($23))|0; - $i2$04 = 0; - while(1) { - $26 = HEAP32[11488>>2]|0; - $27 = $26 << 2; - $28 = (($27) + -4)|0; - $29 = HEAP32[11496>>2]|0; - $30 = (($29) + ($28)|0); - $31 = HEAP8[$30>>0]|0; - $32 = (($29) + ($27)|0); - HEAP8[$32>>0] = $31; - $33 = HEAP32[11488>>2]|0; - $34 = $33 << 2; - $35 = (($34) + -3)|0; - $36 = HEAP32[11496>>2]|0; - $37 = (($36) + ($35)|0); - $38 = HEAP8[$37>>0]|0; - $39 = $34 | 1; - $40 = (($36) + ($39)|0); - HEAP8[$40>>0] = $38; - $41 = HEAP32[11488>>2]|0; - $42 = $41 << 2; - $43 = (($42) + -2)|0; - $44 = HEAP32[11496>>2]|0; - $45 = (($44) + ($43)|0); - $46 = HEAP8[$45>>0]|0; - $47 = $42 | 2; - $48 = (($44) + ($47)|0); - HEAP8[$48>>0] = $46; - $49 = HEAP32[11488>>2]|0; - $50 = $49 << 2; - $51 = (($50) + -1)|0; - $52 = HEAP32[11496>>2]|0; - $53 = (($52) + ($51)|0); - $54 = HEAP8[$53>>0]|0; - $55 = $50 | 3; - $56 = (($52) + ($55)|0); - HEAP8[$56>>0] = $54; - $57 = HEAP32[11488>>2]|0; - $58 = (($57) + 1)|0; - HEAP32[11488>>2] = $58; - $59 = (($i2$04) + 1)|0; - $exitcond = ($59|0)==($25|0); - if ($exitcond) { - break; - } else { - $i2$04 = $59; - } - } - $151 = +HEAPF32[11568>>2]; - $152 = $151 + 4.9999998736893758E-5; - HEAPF32[11568>>2] = $152; - STACKTOP = sp;return; - } else { - $151 = +HEAPF32[11568>>2]; - $152 = $151 + 4.9999998736893758E-5; - HEAPF32[11568>>2] = $152; STACKTOP = sp;return; } } -function _rlVertex3f($x,$y,$z) { - $x = +$x; - $y = +$y; - $z = +$z; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; +function _InitGraphicsDevice($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$015 = 0, $$byval_copy = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; - var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer3 = 0, label = 0, sp = 0; + var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0.0, $79 = 0, $8 = 0, $80 = 0; + var $81 = 0, $82 = 0.0, $83 = 0, $84 = 0, $85 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer14 = 0, $vararg_buffer18 = 0, $vararg_buffer22 = 0, $vararg_buffer3 = 0, $vararg_buffer6 = 0, $vararg_buffer8 = 0, $vararg_ptr13 = 0, $vararg_ptr17 = 0, $vararg_ptr21 = 0, $vararg_ptr5 = 0, dest = 0; + var label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $vararg_buffer3 = sp + 16|0; - $vararg_buffer1 = sp; - $vararg_buffer = sp + 8|0; - $0 = HEAP32[11448>>2]|0; - $1 = ($0|0)==(0); - if (!($1)) { - $2 = HEAP32[11464>>2]|0; - $3 = HEAP32[11472>>2]|0; - $4 = (($3) + (($2*12)|0)|0); - HEAPF32[$4>>2] = $x; - $5 = HEAP32[11464>>2]|0; - $6 = HEAP32[11472>>2]|0; - $7 = (((($6) + (($5*12)|0)|0)) + 4|0); - HEAPF32[$7>>2] = $y; - $8 = HEAP32[11464>>2]|0; - $9 = HEAP32[11472>>2]|0; - $10 = (((($9) + (($8*12)|0)|0)) + 8|0); - HEAPF32[$10>>2] = $z; - $11 = HEAP32[11464>>2]|0; - $12 = (($11) + 1)|0; - HEAP32[11464>>2] = $12; - STACKTOP = sp;return; - } - $13 = HEAP32[11456>>2]|0; - if ((($13|0) == 1)) { - $31 = HEAP32[11504>>2]|0; - $32 = ($31|0)<(6144); - if ($32) { - $33 = ($31*3)|0; - $34 = HEAP32[11616>>2]|0; - $35 = (($34) + ($33<<2)|0); - HEAPF32[$35>>2] = $x; - $36 = HEAP32[11504>>2]|0; - $37 = ($36*3)|0; - $38 = (($37) + 1)|0; - $39 = HEAP32[11616>>2]|0; - $40 = (($39) + ($38<<2)|0); - HEAPF32[$40>>2] = $y; - $41 = HEAP32[11504>>2]|0; - $42 = ($41*3)|0; - $43 = (($42) + 2)|0; - $44 = HEAP32[11616>>2]|0; - $45 = (($44) + ($43<<2)|0); - HEAPF32[$45>>2] = $z; - $46 = HEAP32[11504>>2]|0; - $47 = (($46) + 1)|0; - HEAP32[11504>>2] = $47; - STACKTOP = sp;return; - } else { - _TraceLog(1,11624,$vararg_buffer1); - STACKTOP = sp;return; - } - } else if ((($13|0) == 2)) { - $48 = HEAP32[11528>>2]|0; - $49 = ($48|0)<(4096); - if ($49) { - $50 = ($48*3)|0; - $51 = HEAP32[11656>>2]|0; - $52 = (($51) + ($50<<2)|0); - HEAPF32[$52>>2] = $x; - $53 = HEAP32[11528>>2]|0; - $54 = ($53*3)|0; - $55 = (($54) + 1)|0; - $56 = HEAP32[11656>>2]|0; - $57 = (($56) + ($55<<2)|0); - HEAPF32[$57>>2] = $y; - $58 = HEAP32[11528>>2]|0; - $59 = ($58*3)|0; - $60 = (($59) + 2)|0; - $61 = HEAP32[11656>>2]|0; - $62 = (($61) + ($60<<2)|0); - HEAPF32[$62>>2] = $z; - $63 = HEAP32[11528>>2]|0; - $64 = (($63) + 1)|0; - HEAP32[11528>>2] = $64; - $65 = HEAP32[11664>>2]|0; - $66 = (($65) + -1)|0; - $67 = HEAP32[11672>>2]|0; - $68 = (((($67) + ($66<<3)|0)) + 4|0); - $69 = HEAP32[$68>>2]|0; - $70 = (($69) + 1)|0; - HEAP32[$68>>2] = $70; - STACKTOP = sp;return; - } else { - _TraceLog(1,11680,$vararg_buffer3); - STACKTOP = sp;return; - } - } else if ((($13|0) == 0)) { - $14 = HEAP32[11480>>2]|0; - $15 = ($14|0)<(2048); - if ($15) { - $16 = ($14*3)|0; - $17 = HEAP32[11576>>2]|0; - $18 = (($17) + ($16<<2)|0); - HEAPF32[$18>>2] = $x; - $19 = HEAP32[11480>>2]|0; - $20 = ($19*3)|0; - $21 = (($20) + 1)|0; - $22 = HEAP32[11576>>2]|0; - $23 = (($22) + ($21<<2)|0); - HEAPF32[$23>>2] = $y; - $24 = HEAP32[11480>>2]|0; - $25 = ($24*3)|0; - $26 = (($25) + 2)|0; - $27 = HEAP32[11576>>2]|0; - $28 = (($27) + ($26<<2)|0); - HEAPF32[$28>>2] = $z; - $29 = HEAP32[11480>>2]|0; - $30 = (($29) + 1)|0; - HEAP32[11480>>2] = $30; - STACKTOP = sp;return; - } else { - _TraceLog(1,11584,$vararg_buffer); - STACKTOP = sp;return; - } - } else { - STACKTOP = sp;return; - } -} -function _rlVertex2f($x,$y) { - $x = +$x; - $y = +$y; - var $0 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $0 = +HEAPF32[11568>>2]; - _rlVertex3f($x,$y,$0); - return; -} -function _rlVertex2i($x,$y) { - $x = $x|0; - $y = $y|0; - var $0 = 0.0, $1 = 0.0, $2 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (+($x|0)); - $1 = (+($y|0)); - $2 = +HEAPF32[11568>>2]; - _rlVertex3f($0,$1,$2); - return; -} -function _rlTexCoord2f($x,$y) { - $x = +$x; - $y = +$y; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[11456>>2]|0; - $1 = ($0|0)==(2); - if (!($1)) { - return; - } - $2 = HEAP32[11552>>2]|0; - $3 = $2 << 1; - $4 = HEAP32[11560>>2]|0; - $5 = (($4) + ($3<<2)|0); - HEAPF32[$5>>2] = $x; - $6 = HEAP32[11552>>2]|0; - $7 = $6 << 1; - $8 = $7 | 1; - $9 = HEAP32[11560>>2]|0; - $10 = (($9) + ($8<<2)|0); - HEAPF32[$10>>2] = $y; - $11 = HEAP32[11552>>2]|0; - $12 = (($11) + 1)|0; - HEAP32[11552>>2] = $12; - return; -} -function _rlNormal3f($x,$y,$z) { - $x = +$x; - $y = +$y; - $z = +$z; - var label = 0, sp = 0; - sp = STACKTOP; - return; -} -function _rlColor4ub($x,$y,$z,$w) { - $x = $x|0; - $y = $y|0; - $z = $z|0; - $w = $w|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; - var $63 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[11456>>2]|0; - if ((($0|0) == 0)) { - $1 = HEAP32[11488>>2]|0; - $2 = $1 << 2; - $3 = HEAP32[11496>>2]|0; - $4 = (($3) + ($2)|0); - HEAP8[$4>>0] = $x; - $5 = HEAP32[11488>>2]|0; - $6 = $5 << 2; - $7 = $6 | 1; - $8 = HEAP32[11496>>2]|0; - $9 = (($8) + ($7)|0); - HEAP8[$9>>0] = $y; - $10 = HEAP32[11488>>2]|0; - $11 = $10 << 2; - $12 = $11 | 2; - $13 = HEAP32[11496>>2]|0; - $14 = (($13) + ($12)|0); - HEAP8[$14>>0] = $z; - $15 = HEAP32[11488>>2]|0; - $16 = $15 << 2; - $17 = $16 | 3; - $18 = HEAP32[11496>>2]|0; - $19 = (($18) + ($17)|0); - HEAP8[$19>>0] = $w; - $20 = HEAP32[11488>>2]|0; - $21 = (($20) + 1)|0; - HEAP32[11488>>2] = $21; - return; - } else if ((($0|0) == 2)) { - $43 = HEAP32[11536>>2]|0; - $44 = $43 << 2; - $45 = HEAP32[11544>>2]|0; - $46 = (($45) + ($44)|0); - HEAP8[$46>>0] = $x; - $47 = HEAP32[11536>>2]|0; - $48 = $47 << 2; - $49 = $48 | 1; - $50 = HEAP32[11544>>2]|0; - $51 = (($50) + ($49)|0); - HEAP8[$51>>0] = $y; - $52 = HEAP32[11536>>2]|0; - $53 = $52 << 2; - $54 = $53 | 2; - $55 = HEAP32[11544>>2]|0; - $56 = (($55) + ($54)|0); - HEAP8[$56>>0] = $z; - $57 = HEAP32[11536>>2]|0; - $58 = $57 << 2; - $59 = $58 | 3; - $60 = HEAP32[11544>>2]|0; - $61 = (($60) + ($59)|0); - HEAP8[$61>>0] = $w; - $62 = HEAP32[11536>>2]|0; - $63 = (($62) + 1)|0; - HEAP32[11536>>2] = $63; - return; - } else if ((($0|0) == 1)) { - $22 = HEAP32[11512>>2]|0; - $23 = $22 << 2; - $24 = HEAP32[11520>>2]|0; - $25 = (($24) + ($23)|0); - HEAP8[$25>>0] = $x; - $26 = HEAP32[11512>>2]|0; - $27 = $26 << 2; - $28 = $27 | 1; - $29 = HEAP32[11520>>2]|0; - $30 = (($29) + ($28)|0); - HEAP8[$30>>0] = $y; - $31 = HEAP32[11512>>2]|0; - $32 = $31 << 2; - $33 = $32 | 2; - $34 = HEAP32[11520>>2]|0; - $35 = (($34) + ($33)|0); - HEAP8[$35>>0] = $z; - $36 = HEAP32[11512>>2]|0; - $37 = $36 << 2; - $38 = $37 | 3; - $39 = HEAP32[11520>>2]|0; - $40 = (($39) + ($38)|0); - HEAP8[$40>>0] = $w; - $41 = HEAP32[11512>>2]|0; - $42 = (($41) + 1)|0; - HEAP32[11512>>2] = $42; - return; - } else { - return; - } -} -function _rlEnableTexture($id) { - $id = $id|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[11664>>2]|0; - $1 = (($0) + -1)|0; - $2 = HEAP32[11672>>2]|0; - $3 = (($2) + ($1<<3)|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)==($id|0); - if ($5) { - return; - } - $6 = (((($2) + ($1<<3)|0)) + 4|0); - $7 = HEAP32[$6>>2]|0; - $8 = ($7|0)>(0); - if ($8) { - $9 = (($0) + 1)|0; - HEAP32[11664>>2] = $9; - } - $10 = HEAP32[11664>>2]|0; - $11 = (($10) + -1)|0; - $12 = HEAP32[11672>>2]|0; - $13 = (($12) + ($11<<3)|0); - HEAP32[$13>>2] = $id; - $14 = HEAP32[11664>>2]|0; - $15 = (($14) + -1)|0; - $16 = HEAP32[11672>>2]|0; - $17 = (((($16) + ($15<<3)|0)) + 4|0); - HEAP32[$17>>2] = 0; - return; -} -function _rlDisableTexture() { - var label = 0, sp = 0; - sp = STACKTOP; - return; -} -function _rlDeleteTextures($id) { - $id = $id|0; - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $id; - _glDeleteTextures(1,($0|0)); - STACKTOP = sp;return; -} -function _rlEnablePostproFBO() { - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[11712>>2]|0; - _glBindFramebuffer(36160,($0|0)); - return; -} -function _rlDeleteVertexArrays($id) { - $id = $id|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $id; - $1 = HEAP32[11728>>2]|0; - $2 = ($1|0)==(0); - if ($2) { - STACKTOP = sp;return; - } - $3 = HEAP32[11736>>2]|0; - FUNCTION_TABLE_vii[$3 & 63](1,$0); - STACKTOP = sp;return; -} -function _rlDeleteBuffers($id) { - $id = $id|0; - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $id; - _glDeleteBuffers(1,($0|0)); - STACKTOP = sp;return; -} -function _rlClearColor($r,$g,$b,$a) { - $r = $r|0; - $g = $g|0; - $b = $b|0; - $a = $a|0; - var $0 = 0.0, $1 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (+($r&255)); - $1 = $0 / 255.0; - $2 = (+($g&255)); - $3 = $2 / 255.0; - $4 = (+($b&255)); - $5 = $4 / 255.0; - $6 = (+($a&255)); - $7 = $6 / 255.0; - _glClearColor((+$1),(+$3),(+$5),(+$7)); - return; -} -function _rlClearScreenBuffers() { - var label = 0, sp = 0; - sp = STACKTOP; - _glClear(16640); - return; -} -function _rlGetVersion() { - var label = 0, sp = 0; - sp = STACKTOP; - return 3; -} -function _rlglInit() { - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; - var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond10 = 0, $exitcond12 = 0, $i$04 = 0, $i2$02 = 0, $i3$01 = 0, $numExt$0$lcssa = 0; - var $numExt$05 = 0, $pixels = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer13 = 0, $vararg_buffer15 = 0, $vararg_buffer17 = 0, $vararg_buffer19 = 0, $vararg_buffer21 = 0, $vararg_buffer23 = 0, $vararg_buffer25 = 0, $vararg_buffer27 = 0, $vararg_buffer29 = 0, $vararg_buffer31 = 0, $vararg_buffer34 = 0, $vararg_buffer4 = 0, $vararg_buffer7 = 0, dest = 0, label = 0; - var sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 2496|0; - $vararg_buffer34 = sp + 40|0; - $vararg_buffer31 = sp + 2160|0; - $vararg_buffer29 = sp + 2152|0; - $vararg_buffer27 = sp + 2144|0; - $vararg_buffer25 = sp + 2136|0; - $vararg_buffer23 = sp + 2128|0; - $vararg_buffer21 = sp + 24|0; - $vararg_buffer19 = sp + 16|0; - $vararg_buffer17 = sp + 8|0; - $vararg_buffer15 = sp; - $vararg_buffer13 = sp + 32|0; - $vararg_buffer10 = sp + 2120|0; - $vararg_buffer7 = sp + 48|0; - $vararg_buffer4 = sp + 2096|0; - $vararg_buffer1 = sp + 2104|0; - $vararg_buffer = sp + 2112|0; - $0 = sp + 2432|0; - $1 = sp + 2168|0; - $2 = sp + 2232|0; - $pixels = sp + 2296|0; - $3 = sp + 2304|0; - $4 = sp + 2360|0; - $5 = sp + 2416|0; - $6 = (_glGetString(7936)|0); - HEAP32[$vararg_buffer>>2] = $6; - _TraceLog(0,11744,$vararg_buffer); - $7 = (_glGetString(7937)|0); - HEAP32[$vararg_buffer1>>2] = $7; - _TraceLog(0,11768,$vararg_buffer1); - $8 = (_glGetString(7938)|0); - HEAP32[$vararg_buffer4>>2] = $8; - _TraceLog(0,11792,$vararg_buffer4); - $9 = (_glGetString(35724)|0); - HEAP32[$vararg_buffer7>>2] = $9; - _TraceLog(0,11816,$vararg_buffer7); - $10 = (_glGetString(7939)|0); - $11 = (_mystrdup($10)|0); - $12 = (_strtok($11,11840)|0); - HEAP32[$vararg_buffer7>>2] = $12; - $13 = ($12|0)==(0|0); - if ($13) { - $numExt$0$lcssa = -1; - } else { - $numExt$05 = 0; - while(1) { - $14 = (($numExt$05) + 1)|0; - $15 = (_strtok(0,11840)|0); - $16 = (($vararg_buffer7) + ($14<<2)|0); - HEAP32[$16>>2] = $15; - $17 = ($15|0)==(0|0); - if ($17) { - $numExt$0$lcssa = $numExt$05; - break; - } else { - $numExt$05 = $14; - } - } - } - _free($11); - HEAP32[$vararg_buffer10>>2] = $numExt$0$lcssa; - _TraceLog(0,11848,$vararg_buffer10); - $18 = ($numExt$0$lcssa|0)>(0); - if ($18) { - $i$04 = 0; - while(1) { - $19 = (($vararg_buffer7) + ($i$04<<2)|0); - $20 = HEAP32[$19>>2]|0; - $21 = (_strcmp($20,11888)|0); - $22 = ($21|0)==(0); - if ($22) { - HEAP32[11728>>2] = 1; - $23 = (_eglGetProcAddress((11920|0))|0); - HEAP32[11944>>2] = $23; - $24 = (_eglGetProcAddress((11952|0))|0); - HEAP32[11976>>2] = $24; - $25 = (_eglGetProcAddress((11984|0))|0); - HEAP32[11736>>2] = $25; - } - $26 = HEAP32[$19>>2]|0; - $27 = (_strcmp($26,12008)|0); - $28 = ($27|0)==(0); - if ($28) { - HEAP32[12032>>2] = 1; - } - $29 = HEAP32[$19>>2]|0; - $30 = (_strcmp($29,12040)|0); - $31 = ($30|0)==(0); - if ($31) { - label = 10; - } else { - $32 = (_strcmp($29,12072)|0); - $33 = ($32|0)==(0); - if ($33) { - label = 10; - } - } - if ((label|0) == 10) { - label = 0; - HEAP32[12112>>2] = 1; - } - $34 = HEAP32[$19>>2]|0; - $35 = (_strcmp($34,12120)|0); - $36 = ($35|0)==(0); - if ($36) { - HEAP32[12160>>2] = 1; - } - $37 = HEAP32[$19>>2]|0; - $38 = (_strcmp($37,12168)|0); - $39 = ($38|0)==(0); - if ($39) { - HEAP32[12200>>2] = 1; - } - $40 = HEAP32[$19>>2]|0; - $41 = (_strcmp($40,12208)|0); - $42 = ($41|0)==(0); - if ($42) { - HEAP32[12248>>2] = 1; - } - $43 = HEAP32[$19>>2]|0; - $44 = (_strcmp($43,12256)|0); - $45 = ($44|0)==(0); - if ($45) { - HEAP32[12296>>2] = 1; - } - $46 = (($i$04) + 1)|0; - $exitcond12 = ($46|0)==($numExt$0$lcssa|0); - if ($exitcond12) { - break; - } else { - $i$04 = $46; - } - } - } - $47 = HEAP32[11728>>2]|0; - $48 = ($47|0)==(0); - if ($48) { - _TraceLog(2,12384,$vararg_buffer15); - } else { - _TraceLog(0,12304,$vararg_buffer13); - } - $49 = HEAP32[12032>>2]|0; - $50 = ($49|0)==(0); - if ($50) { - _TraceLog(2,12528,$vararg_buffer19); - } else { - _TraceLog(0,12448,$vararg_buffer17); - } - $51 = HEAP32[12112>>2]|0; - $52 = ($51|0)==(0); - if (!($52)) { - _TraceLog(0,12632,$vararg_buffer21); - } - $53 = HEAP32[12160>>2]|0; - $54 = ($53|0)==(0); - if (!($54)) { - _TraceLog(0,12680,$vararg_buffer23); - } - $55 = HEAP32[12200>>2]|0; - $56 = ($55|0)==(0); - if (!($56)) { - _TraceLog(0,12728,$vararg_buffer25); - } - $57 = HEAP32[12248>>2]|0; - $58 = ($57|0)==(0); - if (!($58)) { - _TraceLog(0,12784,$vararg_buffer27); - } - $59 = HEAP32[12296>>2]|0; - $60 = ($59|0)==(0); - if (!($60)) { - _TraceLog(0,12832,$vararg_buffer29); - } - HEAP32[11456>>2] = 1; - _MatrixIdentity($0); - dest=10232; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($1); - dest=10304; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - HEAP32[10296>>2] = 10304; - _MatrixIdentity($2); - dest=10424; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($2); - dest=(10488); src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($2); - dest=(10552); src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($2); - dest=(10616); src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($2); - dest=(10680); src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($2); - dest=(10744); src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($2); - dest=(10808); src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($2); - dest=(10872); src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($2); - dest=(10936); src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($2); - dest=(11000); src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($2); - dest=(11064); src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($2); - dest=(11128); src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($2); - dest=(11192); src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($2); - dest=(11256); src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($2); - dest=(11320); src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($2); - dest=(11384); src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - HEAP32[$pixels>>2] = -1; - $61 = (_rlglLoadTexture($pixels,1,1,7,1)|0); - HEAP32[8800>>2] = $61; - $62 = ($61|0)==(0); - if ($62) { - _TraceLog(2,12936,$vararg_buffer34); - } else { - HEAP32[$vararg_buffer31>>2] = $61; - _TraceLog(0,12880,$vararg_buffer31); - } - _LoadDefaultShader($3); - dest=12976; src=$3; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _LoadSimpleShader($4); - dest=13032; src=$4; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=13088; src=12976; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _InitializeBuffers(); - _InitializeBuffersGPU(); - $63 = (_malloc(49152)|0); - HEAP32[11472>>2] = $63; - $i2$02 = 0; - while(1) { - $64 = HEAP32[11472>>2]|0; - $65 = (($64) + (($i2$02*12)|0)|0); - _VectorZero($5); - ;HEAP32[$65>>2]=HEAP32[$5>>2]|0;HEAP32[$65+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$65+8>>2]=HEAP32[$5+8>>2]|0; - $66 = (($i2$02) + 1)|0; - $exitcond10 = ($66|0)==(4096); - if ($exitcond10) { - break; - } else { - $i2$02 = $66; - } - } - $67 = (_malloc(2048)|0); - HEAP32[11672>>2] = $67; - $i3$01 = 0; - while(1) { - $68 = (($67) + ($i3$01<<3)|0); - HEAP32[$68>>2] = 0; - $69 = (((($67) + ($i3$01<<3)|0)) + 4|0); - HEAP32[$69>>2] = 0; - $70 = (($i3$01) + 1)|0; - $exitcond = ($70|0)==(256); - if ($exitcond) { - break; - } else { - $i3$01 = $70; - } - } - HEAP32[11664>>2] = 1; - $71 = HEAP32[8800>>2]|0; - $72 = HEAP32[11672>>2]|0; - HEAP32[$72>>2] = $71; - STACKTOP = sp;return; -} -function _rlglLoadTexture($data,$width,$height,$textureFormat,$mipmapCount) { - $data = $data|0; - $width = $width|0; - $height = $height|0; - $textureFormat = $textureFormat|0; - $mipmapCount = $mipmapCount|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $5 = 0, $6 = 0; - var $7 = 0, $8 = 0, $9 = 0, $id = 0, $or$cond = 0, $or$cond20 = 0, $or$cond22 = 0, $or$cond24 = 0, $or$cond9 = 0, $switch = 0, $textureFormat$off = 0, $textureFormat$off16 = 0, $textureFormat$off17 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer11 = 0, $vararg_buffer15 = 0, $vararg_buffer3 = 0, $vararg_buffer5 = 0, $vararg_buffer7 = 0; - var $vararg_buffer9 = 0, $vararg_ptr13 = 0, $vararg_ptr14 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 80|0; - $vararg_buffer15 = sp + 32|0; - $vararg_buffer11 = sp + 56|0; - $vararg_buffer9 = sp + 48|0; - $vararg_buffer7 = sp + 40|0; - $vararg_buffer5 = sp + 24|0; + STACKTOP = STACKTOP + 144|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(144|0); + $$byval_copy = sp + 136|0; + $vararg_buffer22 = sp + 64|0; + $vararg_buffer18 = sp + 56|0; + $vararg_buffer14 = sp + 48|0; + $vararg_buffer10 = sp + 40|0; + $vararg_buffer8 = sp + 32|0; + $vararg_buffer6 = sp + 24|0; $vararg_buffer3 = sp + 16|0; $vararg_buffer1 = sp + 8|0; $vararg_buffer = sp; - $id = sp + 68|0; - _glBindTexture(3553,0); - HEAP32[$id>>2] = 0; - $0 = HEAP32[12112>>2]|0; - $1 = ($0|0)==(0); - $2 = $textureFormat & -4; - $switch = ($2|0)==(8); - $or$cond24 = $switch & $1; - if ($or$cond24) { - _TraceLog(2,13144,$vararg_buffer); - $$0 = HEAP32[$id>>2]|0; - STACKTOP = sp;return ($$0|0); - } - $3 = HEAP32[12160>>2]|0; - $4 = ($3|0)==(0); - $5 = ($textureFormat|0)==(12); - $or$cond9 = $5 & $4; - if ($or$cond9) { - _TraceLog(2,13192,$vararg_buffer1); - $$0 = HEAP32[$id>>2]|0; - STACKTOP = sp;return ($$0|0); - } - $6 = HEAP32[12200>>2]|0; - $7 = ($6|0)==(0); - $textureFormat$off = (($textureFormat) + -13)|0; - $8 = ($textureFormat$off>>>0)<(2); - $or$cond = $8 & $7; - if ($or$cond) { - _TraceLog(2,13240,$vararg_buffer3); - $$0 = HEAP32[$id>>2]|0; - STACKTOP = sp;return ($$0|0); - } - $9 = HEAP32[12248>>2]|0; - $10 = ($9|0)==(0); - $textureFormat$off16 = (($textureFormat) + -15)|0; - $11 = ($textureFormat$off16>>>0)<(2); - $or$cond20 = $11 & $10; - if ($or$cond20) { - _TraceLog(2,13288,$vararg_buffer5); - $$0 = HEAP32[$id>>2]|0; - STACKTOP = sp;return ($$0|0); - } - $12 = HEAP32[12296>>2]|0; - $13 = ($12|0)==(0); - $textureFormat$off17 = (($textureFormat) + -17)|0; - $14 = ($textureFormat$off17>>>0)<(2); - $or$cond22 = $14 & $13; - if ($or$cond22) { - _TraceLog(2,13336,$vararg_buffer7); - $$0 = HEAP32[$id>>2]|0; - STACKTOP = sp;return ($$0|0); - } - _glGenTextures(1,($id|0)); - $15 = HEAP32[$id>>2]|0; - _glBindTexture(3553,($15|0)); - do { - switch ($textureFormat|0) { - case 2: { - _glTexImage2D(3553,0,6410,($width|0),($height|0),0,6410,5121,($data|0)); - break; - } - case 4: { - _glTexImage2D(3553,0,6407,($width|0),($height|0),0,6407,5121,($data|0)); - break; - } - case 7: { - _glTexImage2D(3553,0,6408,($width|0),($height|0),0,6408,5121,($data|0)); - break; - } - case 9: { - $18 = HEAP32[12112>>2]|0; - $19 = ($18|0)==(0); - if (!($19)) { - _LoadCompressedTexture($data,$width,$height,$mipmapCount,33777); - } - break; - } - case 12: { - $24 = HEAP32[12160>>2]|0; - $25 = ($24|0)==(0); - if (!($25)) { - _LoadCompressedTexture($data,$width,$height,$mipmapCount,36196); - } - break; - } - case 11: { - $22 = HEAP32[12112>>2]|0; - $23 = ($22|0)==(0); - if (!($23)) { - _LoadCompressedTexture($data,$width,$height,$mipmapCount,33779); - } - break; - } - case 3: { - _glTexImage2D(3553,0,6407,($width|0),($height|0),0,6407,33635,($data|0)); - break; - } - case 13: { - $26 = HEAP32[12200>>2]|0; - $27 = ($26|0)==(0); - if (!($27)) { - _LoadCompressedTexture($data,$width,$height,$mipmapCount,37492); - } - break; - } - case 5: { - _glTexImage2D(3553,0,6408,($width|0),($height|0),0,6408,32820,($data|0)); - break; - } - case 15: { - $30 = HEAP32[12248>>2]|0; - $31 = ($30|0)==(0); - if (!($31)) { - _LoadCompressedTexture($data,$width,$height,$mipmapCount,35840); - } - break; - } - case 10: { - $20 = HEAP32[12112>>2]|0; - $21 = ($20|0)==(0); - if (!($21)) { - _LoadCompressedTexture($data,$width,$height,$mipmapCount,33778); - } - break; - } - case 6: { - _glTexImage2D(3553,0,6408,($width|0),($height|0),0,6408,32819,($data|0)); - break; - } - case 17: { - $34 = HEAP32[12296>>2]|0; - $35 = ($34|0)==(0); - if (!($35)) { - _LoadCompressedTexture($data,$width,$height,$mipmapCount,37808); - } - break; - } - case 16: { - $32 = HEAP32[12248>>2]|0; - $33 = ($32|0)==(0); - if (!($33)) { - _LoadCompressedTexture($data,$width,$height,$mipmapCount,35842); - } - break; - } - case 1: { - _glTexImage2D(3553,0,6409,($width|0),($height|0),0,6409,5121,($data|0)); - break; - } - case 18: { - $36 = HEAP32[12296>>2]|0; - $37 = ($36|0)==(0); - if (!($37)) { - _LoadCompressedTexture($data,$width,$height,$mipmapCount,37815); - } - break; - } - case 14: { - $28 = HEAP32[12200>>2]|0; - $29 = ($28|0)==(0); - if (!($29)) { - _LoadCompressedTexture($data,$width,$height,$mipmapCount,37496); - } - break; - } - case 8: { - $16 = HEAP32[12112>>2]|0; - $17 = ($16|0)==(0); - if (!($17)) { - _LoadCompressedTexture($data,$width,$height,$mipmapCount,33776); - } - break; - } - default: { - _TraceLog(2,13384,$vararg_buffer9); - } - } - } while(0); - $38 = HEAP32[12032>>2]|0; - $39 = ($38|0)==(0); - if ($39) { - _glTexParameteri(3553,10242,33071); - _glTexParameteri(3553,10243,33071); - } else { - _glTexParameteri(3553,10242,10497); - _glTexParameteri(3553,10243,10497); - } - _glTexParameteri(3553,10240,9728); - _glTexParameteri(3553,10241,9728); - _glBindTexture(3553,0); - $40 = HEAP32[$id>>2]|0; - $41 = ($40|0)==(0); - if ($41) { - _TraceLog(2,14640,$vararg_buffer15); - $$0 = HEAP32[$id>>2]|0; - STACKTOP = sp;return ($$0|0); - } else { - HEAP32[$vararg_buffer11>>2] = $40; - $vararg_ptr13 = ((($vararg_buffer11)) + 4|0); - HEAP32[$vararg_ptr13>>2] = $width; - $vararg_ptr14 = ((($vararg_buffer11)) + 8|0); - HEAP32[$vararg_ptr14>>2] = $height; - _TraceLog(0,13416,$vararg_buffer11); - $$0 = HEAP32[$id>>2]|0; - STACKTOP = sp;return ($$0|0); - } - return (0)|0; -} -function _rlglUnloadFBO($fbo) { - $fbo = $fbo|0; - var $0 = 0, $1 = 0, $2 = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $vararg_buffer = sp; - _glDeleteFramebuffers(1,($fbo|0)); - $0 = ((($fbo)) + 4|0); - _glDeleteTextures(1,($0|0)); - $1 = ((($fbo)) + 8|0); - _glDeleteTextures(1,($1|0)); - $2 = HEAP32[$fbo>>2]|0; - HEAP32[$vararg_buffer>>2] = $2; - _TraceLog(0,13672,$vararg_buffer); - STACKTOP = sp;return; -} -function _rlglClose() { - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $3 = 0; - var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $postproFbo$byval_copy = 0, $vararg_buffer1 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $postproFbo$byval_copy = sp + 8|0; - $vararg_buffer1 = sp; - $0 = HEAP32[11728>>2]|0; - $1 = ($0|0)==(0); - if (!($1)) { - $2 = HEAP32[11976>>2]|0; - FUNCTION_TABLE_vi[$2 & 31](0); - } - _glDisableVertexAttribArray(0); - _glDisableVertexAttribArray(1); - _glDisableVertexAttribArray(2); - _glDisableVertexAttribArray(3); - _glBindBuffer(34962,0); - _glBindBuffer(34963,0); - _glUseProgram(0); - _glDeleteBuffers(1,(13728|0)); - _glDeleteBuffers(1,((13732)|0)); - _glDeleteBuffers(1,(13736|0)); - _glDeleteBuffers(1,((13740)|0)); - _glDeleteBuffers(1,(13744|0)); - _glDeleteBuffers(1,((13748)|0)); - _glDeleteBuffers(1,((13752)|0)); - _glDeleteBuffers(1,((13756)|0)); - $3 = HEAP32[11728>>2]|0; - $4 = ($3|0)==(0); - if (!($4)) { - $5 = HEAP32[11736>>2]|0; - FUNCTION_TABLE_vii[$5 & 63](1,13760); - $6 = HEAP32[11736>>2]|0; - FUNCTION_TABLE_vii[$6 & 63](1,13768); - $7 = HEAP32[11736>>2]|0; - FUNCTION_TABLE_vii[$7 & 63](1,13776); - } - $8 = HEAP32[12976>>2]|0; - _glDeleteProgram(($8|0)); - $9 = HEAP32[13032>>2]|0; - _glDeleteProgram(($9|0)); - $10 = HEAP32[11576>>2]|0; - _free($10); - $11 = HEAP32[11496>>2]|0; - _free($11); - $12 = HEAP32[11616>>2]|0; - _free($12); - $13 = HEAP32[11520>>2]|0; - _free($13); - $14 = HEAP32[11656>>2]|0; - _free($14); - $15 = HEAP32[11560>>2]|0; - _free($15); - $16 = HEAP32[11544>>2]|0; - _free($16); - $17 = HEAP32[13784>>2]|0; - _free($17); - _glDeleteTextures(1,(8800|0)); - $18 = HEAP32[8800>>2]|0; - HEAP32[$postproFbo$byval_copy>>2] = $18; - _TraceLog(0,13792,$postproFbo$byval_copy); - $19 = HEAP32[11712>>2]|0; - $20 = ($19|0)==(0); - if ($20) { - $25 = HEAP32[11672>>2]|0; - _free($25); - STACKTOP = sp;return; - } - ;HEAP32[$postproFbo$byval_copy>>2]=HEAP32[11712>>2]|0;HEAP32[$postproFbo$byval_copy+4>>2]=HEAP32[11712+4>>2]|0;HEAP32[$postproFbo$byval_copy+8>>2]=HEAP32[11712+8>>2]|0; - _rlglUnloadFBO($postproFbo$byval_copy); - $21 = HEAP32[(13512)>>2]|0; - _rlDeleteBuffers($21); - $22 = HEAP32[(13516)>>2]|0; - _rlDeleteBuffers($22); - $23 = HEAP32[(13520)>>2]|0; - _rlDeleteBuffers($23); - $24 = HEAP32[(13508)>>2]|0; - _rlDeleteVertexArrays($24); - _TraceLog(0,13864,$vararg_buffer1); - $25 = HEAP32[11672>>2]|0; - _free($25); - STACKTOP = sp;return; -} -function _rlglDraw() { - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; - var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0; - var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $i$05 = 0, $indicesOffset$04 = 0, $modelview$byval_copy = 0, $or$cond = 0, $or$cond3 = 0; - var dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; - $modelview$byval_copy = sp; - _UpdateBuffers(); - $0 = HEAP32[11480>>2]|0; - $1 = ($0|0)>(0); - $2 = HEAP32[11504>>2]|0; - $3 = ($2|0)>(0); - $or$cond = $1 | $3; - $4 = HEAP32[11528>>2]|0; - $5 = ($4|0)>(0); - $or$cond3 = $or$cond | $5; - if ($or$cond3) { - $6 = HEAP32[13088>>2]|0; - _glUseProgram(($6|0)); - $7 = HEAP32[(13120)>>2]|0; - dest=$modelview$byval_copy; src=10232; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $8 = (_GetMatrixVector($modelview$byval_copy)|0); - _glUniformMatrix4fv(($7|0),1,0,($8|0)); - $9 = HEAP32[(13124)>>2]|0; - dest=$modelview$byval_copy; src=10304; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $10 = (_GetMatrixVector($modelview$byval_copy)|0); - _glUniformMatrix4fv(($9|0),1,0,($10|0)); - $11 = HEAP32[(13132)>>2]|0; - _glUniform1i(($11|0),0); - } - $12 = HEAP32[11504>>2]|0; - $13 = ($12|0)>(0); - if ($13) { - $14 = HEAP32[8800>>2]|0; - _glBindTexture(3553,($14|0)); - $15 = HEAP32[11728>>2]|0; - $16 = ($15|0)==(0); - if ($16) { - $19 = HEAP32[13736>>2]|0; - _glBindBuffer(34962,($19|0)); - $20 = HEAP32[(13104)>>2]|0; - _glVertexAttribPointer(($20|0),3,5126,0,0,(0|0)); - $21 = HEAP32[(13104)>>2]|0; - _glEnableVertexAttribArray(($21|0)); - $22 = HEAP32[(13116)>>2]|0; - $23 = ($22|0)==(-1); - if (!($23)) { - $24 = HEAP32[(13740)>>2]|0; - _glBindBuffer(34962,($24|0)); - $25 = HEAP32[(13116)>>2]|0; - _glVertexAttribPointer(($25|0),4,5121,1,0,(0|0)); - $26 = HEAP32[(13116)>>2]|0; - _glEnableVertexAttribArray(($26|0)); - } - } else { - $17 = HEAP32[11976>>2]|0; - $18 = HEAP32[13768>>2]|0; - FUNCTION_TABLE_vi[$17 & 31]($18); - } - $27 = HEAP32[11504>>2]|0; - _glDrawArrays(4,0,($27|0)); - $28 = HEAP32[11728>>2]|0; - $29 = ($28|0)==(0); - if ($29) { - _glBindBuffer(34962,0); - } - _glBindTexture(3553,0); - } - $30 = HEAP32[11528>>2]|0; - $31 = ($30|0)>(0); - if ($31) { - $32 = HEAP32[11728>>2]|0; - $33 = ($32|0)==(0); - if ($33) { - $36 = HEAP32[13744>>2]|0; - _glBindBuffer(34962,($36|0)); - $37 = HEAP32[(13104)>>2]|0; - _glVertexAttribPointer(($37|0),3,5126,0,0,(0|0)); - $38 = HEAP32[(13104)>>2]|0; - _glEnableVertexAttribArray(($38|0)); - $39 = HEAP32[(13748)>>2]|0; - _glBindBuffer(34962,($39|0)); - $40 = HEAP32[(13108)>>2]|0; - _glVertexAttribPointer(($40|0),2,5126,0,0,(0|0)); - $41 = HEAP32[(13108)>>2]|0; - _glEnableVertexAttribArray(($41|0)); - $42 = HEAP32[(13116)>>2]|0; - $43 = ($42|0)==(-1); - if (!($43)) { - $44 = HEAP32[(13752)>>2]|0; - _glBindBuffer(34962,($44|0)); - $45 = HEAP32[(13116)>>2]|0; - _glVertexAttribPointer(($45|0),4,5121,1,0,(0|0)); - $46 = HEAP32[(13116)>>2]|0; - _glEnableVertexAttribArray(($46|0)); - } - $47 = HEAP32[(13756)>>2]|0; - _glBindBuffer(34963,($47|0)); - } else { - $34 = HEAP32[11976>>2]|0; - $35 = HEAP32[13776>>2]|0; - FUNCTION_TABLE_vi[$34 & 31]($35); - } - $48 = HEAP32[11664>>2]|0; - $49 = ($48|0)>(0); - if ($49) { - $i$05 = 0;$indicesOffset$04 = 0; - while(1) { - $50 = HEAP32[11672>>2]|0; - $51 = (((($50) + ($i$05<<3)|0)) + 4|0); - $52 = HEAP32[$51>>2]|0; - $53 = (($52|0) / 4)&-1; - $54 = ($53*6)|0; - $55 = (($50) + ($i$05<<3)|0); - $56 = HEAP32[$55>>2]|0; - _glBindTexture(3553,($56|0)); - $57 = $indicesOffset$04 << 1; - $58 = $57; - _glDrawElements(4,($54|0),5123,($58|0)); - $59 = HEAP32[11672>>2]|0; - $60 = (((($59) + ($i$05<<3)|0)) + 4|0); - $61 = HEAP32[$60>>2]|0; - $62 = (($61|0) / 4)&-1; - $63 = ($62*6)|0; - $64 = (($63) + ($indicesOffset$04))|0; - $65 = (($i$05) + 1)|0; - $66 = HEAP32[11664>>2]|0; - $67 = ($65|0)<($66|0); - if ($67) { - $i$05 = $65;$indicesOffset$04 = $64; - } else { - break; - } - } - } - $68 = HEAP32[11728>>2]|0; - $69 = ($68|0)==(0); - if ($69) { - _glBindBuffer(34962,0); - _glBindBuffer(34963,0); - } - _glBindTexture(3553,0); - } - $70 = HEAP32[11480>>2]|0; - $71 = ($70|0)>(0); - if ($71) { - $72 = HEAP32[8800>>2]|0; - _glBindTexture(3553,($72|0)); - $73 = HEAP32[11728>>2]|0; - $74 = ($73|0)==(0); - if ($74) { - $77 = HEAP32[13728>>2]|0; - _glBindBuffer(34962,($77|0)); - $78 = HEAP32[(13104)>>2]|0; - _glVertexAttribPointer(($78|0),3,5126,0,0,(0|0)); - $79 = HEAP32[(13104)>>2]|0; - _glEnableVertexAttribArray(($79|0)); - $80 = HEAP32[(13116)>>2]|0; - $81 = ($80|0)==(-1); - if (!($81)) { - $82 = HEAP32[(13732)>>2]|0; - _glBindBuffer(34962,($82|0)); - $83 = HEAP32[(13116)>>2]|0; - _glVertexAttribPointer(($83|0),4,5121,1,0,(0|0)); - $84 = HEAP32[(13116)>>2]|0; - _glEnableVertexAttribArray(($84|0)); - } - } else { - $75 = HEAP32[11976>>2]|0; - $76 = HEAP32[13760>>2]|0; - FUNCTION_TABLE_vi[$75 & 31]($76); - } - $85 = HEAP32[11480>>2]|0; - _glDrawArrays(1,0,($85|0)); - $86 = HEAP32[11728>>2]|0; - $87 = ($86|0)==(0); - if ($87) { - _glBindBuffer(34962,0); - } - _glBindTexture(3553,0); - } - $88 = HEAP32[11728>>2]|0; - $89 = ($88|0)==(0); - if ($89) { - _glUseProgram(0); - HEAP32[11664>>2] = 1; - $91 = HEAP32[8800>>2]|0; - $92 = HEAP32[11672>>2]|0; - HEAP32[$92>>2] = $91; - $93 = HEAP32[11672>>2]|0; - $94 = ((($93)) + 4|0); - HEAP32[$94>>2] = 0; - HEAP32[11480>>2] = 0; - HEAP32[11488>>2] = 0; - HEAP32[11504>>2] = 0; - HEAP32[11512>>2] = 0; - HEAP32[11528>>2] = 0; - HEAP32[11552>>2] = 0; - HEAP32[11536>>2] = 0; - HEAPF32[11568>>2] = -1.0; - STACKTOP = sp;return; - } - $90 = HEAP32[11976>>2]|0; - FUNCTION_TABLE_vi[$90 & 31](0); - _glUseProgram(0); - HEAP32[11664>>2] = 1; - $91 = HEAP32[8800>>2]|0; - $92 = HEAP32[11672>>2]|0; - HEAP32[$92>>2] = $91; - $93 = HEAP32[11672>>2]|0; - $94 = ((($93)) + 4|0); - HEAP32[$94>>2] = 0; - HEAP32[11480>>2] = 0; - HEAP32[11488>>2] = 0; - HEAP32[11504>>2] = 0; - HEAP32[11512>>2] = 0; - HEAP32[11528>>2] = 0; - HEAP32[11552>>2] = 0; - HEAP32[11536>>2] = 0; - HEAPF32[11568>>2] = -1.0; - STACKTOP = sp;return; -} -function _rlglDrawPostpro() { - var $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $postproQuad$byval_copy = 0, $tmpcast$byval_copy = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 272|0; - $tmpcast$byval_copy = sp + 256|0; - $$byval_copy2 = sp + 244|0; - $$byval_copy1 = sp + 232|0; - $$byval_copy = sp + 220|0; - $postproQuad$byval_copy = sp + 40|0; - $0 = sp + 24|0; - $1 = sp + 12|0; - $2 = sp; - $3 = sp + 36|0; - _glBindFramebuffer(36160,0); - HEAPF32[$0>>2] = 0.0; - $4 = ((($0)) + 4|0); - HEAPF32[$4>>2] = 0.0; - $5 = ((($0)) + 8|0); - HEAPF32[$5>>2] = 0.0; - HEAPF32[$1>>2] = 0.0; - $6 = ((($1)) + 4|0); - HEAPF32[$6>>2] = 0.0; - $7 = ((($1)) + 8|0); - HEAPF32[$7>>2] = 0.0; - HEAPF32[$2>>2] = 1.0; - $8 = ((($2)) + 4|0); - HEAPF32[$8>>2] = 1.0; - $9 = ((($2)) + 8|0); - HEAPF32[$9>>2] = 1.0; - HEAP32[$3>>2] = -1; - _memcpy(($postproQuad$byval_copy|0),(13488|0),180)|0; - ;HEAP32[$$byval_copy>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$0+8>>2]|0; - ;HEAP32[$$byval_copy1>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$1+8>>2]|0; - ;HEAP32[$$byval_copy2>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$$byval_copy2+8>>2]=HEAP32[$2+8>>2]|0; - ;HEAP8[$tmpcast$byval_copy>>0]=HEAP8[$3>>0]|0;HEAP8[$tmpcast$byval_copy+1>>0]=HEAP8[$3+1>>0]|0;HEAP8[$tmpcast$byval_copy+2>>0]=HEAP8[$3+2>>0]|0;HEAP8[$tmpcast$byval_copy+3>>0]=HEAP8[$3+3>>0]|0; - _rlglDrawModel($postproQuad$byval_copy,$$byval_copy,0.0,$$byval_copy1,$$byval_copy2,$tmpcast$byval_copy,0); - STACKTOP = sp;return; -} -function _rlglDrawModel($model,$position,$rotationAngle,$rotationAxis,$scale,$color,$wires) { - $model = $model|0; - $position = $position|0; - $rotationAngle = +$rotationAngle; - $rotationAxis = $rotationAxis|0; - $scale = $scale|0; - $color = $color|0; - $wires = $wires|0; - var $0 = 0, $1 = 0, $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0.0, $14 = 0, $15 = 0.0, $16 = 0, $17 = 0.0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0.0, $26 = 0.0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0.0, $31 = 0.0, $32 = 0, $33 = 0, $34 = 0, $35 = 0.0, $36 = 0.0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0.0, $41 = 0.0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0.0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0.0, $60 = 0, $61 = 0, $62 = 0; - var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0.0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0.0, $80 = 0; - var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $9 = 0, $matScale = 0, $modelviewworld = 0, $modelviewworld$byval_copy = 0, $rotation = 0, $transform = 0, $transform$byval_copy = 0, $translation = 0, $vColor = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 592|0; - $modelviewworld$byval_copy = sp + 528|0; - $transform$byval_copy = sp + 464|0; - $modelviewworld = sp + 400|0; - $rotation = sp + 336|0; - $matScale = sp + 272|0; - $translation = sp + 208|0; - $transform = sp + 128|0; - $0 = sp + 64|0; - $1 = sp; - $vColor = sp + 192|0; - $2 = ((($model)) + 124|0); - $3 = HEAP32[$2>>2]|0; - _glUseProgram(($3|0)); - $4 = ((($model)) + 40|0); - dest=$transform$byval_copy; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$modelviewworld$byval_copy; src=10304; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixMultiply($modelviewworld,$transform$byval_copy,$modelviewworld$byval_copy); - $5 = $rotationAngle; - $6 = $5 * 0.017453292519943295; - $7 = $6; - ;HEAP32[$modelviewworld$byval_copy>>2]=HEAP32[$rotationAxis>>2]|0;HEAP32[$modelviewworld$byval_copy+4>>2]=HEAP32[$rotationAxis+4>>2]|0;HEAP32[$modelviewworld$byval_copy+8>>2]=HEAP32[$rotationAxis+8>>2]|0; - _MatrixRotate($rotation,$7,$modelviewworld$byval_copy); - $8 = +HEAPF32[$scale>>2]; - $9 = ((($scale)) + 4|0); - $10 = +HEAPF32[$9>>2]; - $11 = ((($scale)) + 8|0); - $12 = +HEAPF32[$11>>2]; - _MatrixScale($matScale,$8,$10,$12); - $13 = +HEAPF32[$position>>2]; - $14 = ((($position)) + 4|0); - $15 = +HEAPF32[$14>>2]; - $16 = ((($position)) + 8|0); - $17 = +HEAPF32[$16>>2]; - _MatrixTranslate($translation,$13,$15,$17); - dest=$transform$byval_copy; src=$rotation; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$modelviewworld$byval_copy; src=$matScale; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixMultiply($0,$transform$byval_copy,$modelviewworld$byval_copy); - dest=$transform$byval_copy; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$modelviewworld$byval_copy; src=$translation; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixMultiply($transform,$transform$byval_copy,$modelviewworld$byval_copy); - dest=$transform$byval_copy; src=$transform; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$modelviewworld$byval_copy; src=10304; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixMultiply($1,$transform$byval_copy,$modelviewworld$byval_copy); - dest=$modelviewworld; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $18 = ((($model)) + 156|0); - $19 = HEAP32[$18>>2]|0; - dest=$modelviewworld$byval_copy; src=10232; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $20 = (_GetMatrixVector($modelviewworld$byval_copy)|0); - _glUniformMatrix4fv(($19|0),1,0,($20|0)); - $21 = ((($model)) + 160|0); - $22 = HEAP32[$21>>2]|0; - dest=$modelviewworld$byval_copy; src=$modelviewworld; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $23 = (_GetMatrixVector($modelviewworld$byval_copy)|0); - _glUniformMatrix4fv(($22|0),1,0,($23|0)); - $24 = HEAP8[$color>>0]|0; - $25 = (+($24&255)); - $26 = $25 / 255.0; - HEAPF32[$vColor>>2] = $26; - $27 = ((($vColor)) + 4|0); - $28 = ((($color)) + 1|0); - $29 = HEAP8[$28>>0]|0; - $30 = (+($29&255)); - $31 = $30 / 255.0; - HEAPF32[$27>>2] = $31; - $32 = ((($vColor)) + 8|0); - $33 = ((($color)) + 2|0); - $34 = HEAP8[$33>>0]|0; - $35 = (+($34&255)); - $36 = $35 / 255.0; - HEAPF32[$32>>2] = $36; - $37 = ((($vColor)) + 12|0); - $38 = ((($color)) + 3|0); - $39 = HEAP8[$38>>0]|0; - $40 = (+($39&255)); - $41 = $40 / 255.0; - HEAPF32[$37>>2] = $41; - $42 = ((($model)) + 164|0); - $43 = HEAP32[$42>>2]|0; - _glUniform4fv(($43|0),1,($vColor|0)); - _glActiveTexture(33984); - $44 = ((($model)) + 128|0); - $45 = HEAP32[$44>>2]|0; - _glBindTexture(3553,($45|0)); - $46 = ((($model)) + 168|0); - $47 = HEAP32[$46>>2]|0; - _glUniform1i(($47|0),0); - $48 = ((($model)) + 132|0); - $49 = HEAP32[$48>>2]|0; - $50 = ($49|0)==(0); - if (!($50)) { - _glActiveTexture(33985); - $51 = HEAP32[$48>>2]|0; - _glBindTexture(3553,($51|0)); - } - $52 = ((($model)) + 136|0); - $53 = HEAP32[$52>>2]|0; - $54 = ($53|0)==(0); - if (!($54)) { - _glActiveTexture(33986); - $55 = HEAP32[$52>>2]|0; - _glBindTexture(3553,($55|0)); - } - $56 = HEAP32[11728>>2]|0; - $57 = ($56|0)==(0); - if ($57) { - $61 = ((($model)) + 24|0); - $62 = HEAP32[$61>>2]|0; - _glBindBuffer(34962,($62|0)); - $63 = ((($model)) + 140|0); - $64 = HEAP32[$63>>2]|0; - _glVertexAttribPointer(($64|0),3,5126,0,0,(0|0)); - $65 = HEAP32[$63>>2]|0; - _glEnableVertexAttribArray(($65|0)); - $66 = ((($model)) + 28|0); - $67 = HEAP32[$66>>2]|0; - _glBindBuffer(34962,($67|0)); - $68 = ((($model)) + 144|0); - $69 = HEAP32[$68>>2]|0; - _glVertexAttribPointer(($69|0),2,5126,0,0,(0|0)); - $70 = HEAP32[$68>>2]|0; - _glEnableVertexAttribArray(($70|0)); - $71 = ((($model)) + 148|0); - $72 = HEAP32[$71>>2]|0; - $73 = ($72|0)==(-1); - if (!($73)) { - $74 = ((($model)) + 32|0); - $75 = HEAP32[$74>>2]|0; - _glBindBuffer(34962,($75|0)); - $76 = HEAP32[$71>>2]|0; - _glVertexAttribPointer(($76|0),3,5126,0,0,(0|0)); - $77 = HEAP32[$71>>2]|0; - _glEnableVertexAttribArray(($77|0)); - } - } else { - $58 = HEAP32[11976>>2]|0; - $59 = ((($model)) + 20|0); - $60 = HEAP32[$59>>2]|0; - FUNCTION_TABLE_vi[$58 & 31]($60); - } - $78 = HEAP32[$model>>2]|0; - _glDrawArrays(4,0,($78|0)); - $79 = HEAP32[$48>>2]|0; - $80 = ($79|0)==(0); - if (!($80)) { - _glActiveTexture(33985); - _glBindTexture(3553,0); - } - $81 = HEAP32[$52>>2]|0; - $82 = ($81|0)==(0); - if (!($82)) { - _glActiveTexture(33986); - _glBindTexture(3553,0); - } - _glActiveTexture(33984); - _glBindTexture(3553,0); - $83 = HEAP32[11728>>2]|0; - $84 = ($83|0)==(0); - if ($84) { - _glBindBuffer(34962,0); - _glUseProgram(0); - STACKTOP = sp;return; - } else { - $85 = HEAP32[11976>>2]|0; - FUNCTION_TABLE_vi[$85 & 31](0); - _glUseProgram(0); - STACKTOP = sp;return; - } -} -function _rlglInitGraphics($offsetX,$offsetY,$width,$height) { - $offsetX = $offsetX|0; - $offsetY = $offsetY|0; - $width = $width|0; - $height = $height|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0.0, $5 = 0.0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $vararg_buffer = sp; - HEAP32[13472>>2] = $width; - HEAP32[13480>>2] = $height; - $0 = (($offsetX|0) / 2)&-1; - $1 = (($offsetY|0) / 2)&-1; - $2 = (($width) - ($offsetX))|0; - $3 = (($height) - ($offsetY))|0; - _glViewport(($0|0),($1|0),($2|0),($3|0)); - _glClearColor(0.0,0.0,0.0,1.0); - _glClear(16640); - _glEnable(2929); - _glDepthFunc(515); - _glEnable(3042); - _glBlendFunc(770,771); - _rlMatrixMode(0); - _rlLoadIdentity(); - $4 = (+($2|0)); - $5 = (+($3|0)); - _rlOrtho(0.0,$4,$5,0.0,0.0,1.0); - _rlMatrixMode(1); - _rlLoadIdentity(); - _glEnable(2884); - _TraceLog(0,13896,$vararg_buffer); - STACKTOP = sp;return; -} -function _LoadShaderProgram($vShaderStr,$fShaderStr) { - $vShaderStr = $vShaderStr|0; - $fShaderStr = $fShaderStr|0; - var $$alloca_mul = 0, $$alloca_mul25 = 0, $$alloca_mul27 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0; - var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $length = 0, $length2 = 0, $length4 = 0, $maxLength = 0, $maxLength1 = 0, $maxLength3 = 0, $pfs = 0, $program$0 = 0, $pvs = 0, $success = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer13 = 0, $vararg_buffer16 = 0, $vararg_buffer19 = 0; - var $vararg_buffer22 = 0, $vararg_buffer4 = 0, $vararg_buffer7 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 112|0; - $vararg_buffer22 = sp; - $vararg_buffer19 = sp + 64|0; - $vararg_buffer16 = sp + 8|0; - $vararg_buffer13 = sp + 16|0; - $vararg_buffer10 = sp + 24|0; - $vararg_buffer7 = sp + 32|0; - $vararg_buffer4 = sp + 40|0; - $vararg_buffer1 = sp + 48|0; - $vararg_buffer = sp + 56|0; - $pvs = sp + 100|0; - $pfs = sp + 68|0; - $success = sp + 72|0; - $maxLength = sp + 76|0; - $length = sp + 80|0; - $maxLength1 = sp + 84|0; - $length2 = sp + 88|0; - $maxLength3 = sp + 92|0; - $length4 = sp + 96|0; - $0 = (_glCreateShader(35633)|0); - $1 = (_glCreateShader(35632)|0); - HEAP32[$pvs>>2] = $vShaderStr; - HEAP32[$pfs>>2] = $fShaderStr; - _glShaderSource(($0|0),1,($pvs|0),(0|0)); - _glShaderSource(($1|0),1,($pfs|0),(0|0)); - HEAP32[$success>>2] = 0; - _glCompileShader(($0|0)); - _glGetShaderiv(($0|0),35713,($success|0)); - $2 = HEAP32[$success>>2]|0; - $3 = ($2|0)==(1); - if ($3) { - HEAP32[$vararg_buffer4>>2] = $0; - _TraceLog(0,14128,$vararg_buffer4); - } else { - HEAP32[$vararg_buffer>>2] = $0; - _TraceLog(2,14064,$vararg_buffer); - HEAP32[$maxLength>>2] = 0; - _glGetShaderiv(($0|0),35716,($maxLength|0)); - $4 = HEAP32[$maxLength>>2]|0; - $5 = (_llvm_stacksave()|0); - $$alloca_mul = $4; - $6 = STACKTOP; STACKTOP = STACKTOP + ((((1*$$alloca_mul)|0)+15)&-16)|0;; - $7 = HEAP32[$maxLength>>2]|0; - _glGetShaderInfoLog(($0|0),($7|0),($length|0),($6|0)); - HEAP32[$vararg_buffer1>>2] = $6; - _TraceLog(0,14120,$vararg_buffer1); - _llvm_stackrestore(($5|0)); - } - _glCompileShader(($1|0)); - _glGetShaderiv(($1|0),35713,($success|0)); - $8 = HEAP32[$success>>2]|0; - $9 = ($8|0)==(1); - if ($9) { - HEAP32[$vararg_buffer13>>2] = $1; - _TraceLog(0,14240,$vararg_buffer13); - } else { - HEAP32[$vararg_buffer7>>2] = $1; - _TraceLog(2,14184,$vararg_buffer7); - HEAP32[$maxLength1>>2] = 0; - _glGetShaderiv(($1|0),35716,($maxLength1|0)); - $10 = HEAP32[$maxLength1>>2]|0; - $11 = (_llvm_stacksave()|0); - $$alloca_mul25 = $10; - $12 = STACKTOP; STACKTOP = STACKTOP + ((((1*$$alloca_mul25)|0)+15)&-16)|0;; - $13 = HEAP32[$maxLength1>>2]|0; - _glGetShaderInfoLog(($1|0),($13|0),($length2|0),($12|0)); - HEAP32[$vararg_buffer10>>2] = $12; - _TraceLog(0,14120,$vararg_buffer10); - _llvm_stackrestore(($11|0)); - } - $14 = (_glCreateProgram()|0); - _glAttachShader(($14|0),($0|0)); - _glAttachShader(($14|0),($1|0)); - _glLinkProgram(($14|0)); - _glGetProgramiv(($14|0),35714,($success|0)); - $15 = HEAP32[$success>>2]|0; - $16 = ($15|0)==(0); - if ($16) { - HEAP32[$vararg_buffer16>>2] = $14; - _TraceLog(2,14296,$vararg_buffer16); - HEAP32[$maxLength3>>2] = 0; - _glGetProgramiv(($14|0),35716,($maxLength3|0)); - $17 = HEAP32[$maxLength3>>2]|0; - $18 = (_llvm_stacksave()|0); - $$alloca_mul27 = $17; - $19 = STACKTOP; STACKTOP = STACKTOP + ((((1*$$alloca_mul27)|0)+15)&-16)|0;; - $20 = HEAP32[$maxLength3>>2]|0; - _glGetProgramInfoLog(($14|0),($20|0),($length4|0),($19|0)); - HEAP32[$vararg_buffer19>>2] = $19; - _TraceLog(0,14120,$vararg_buffer19); - _glDeleteProgram(($14|0)); - _llvm_stackrestore(($18|0)); - $program$0 = 0; - _glDeleteShader(($0|0)); - _glDeleteShader(($1|0)); - STACKTOP = sp;return ($program$0|0); - } else { - HEAP32[$vararg_buffer22>>2] = $14; - _TraceLog(0,14344,$vararg_buffer22); - $program$0 = $14; - _glDeleteShader(($0|0)); - _glDeleteShader(($1|0)); - STACKTOP = sp;return ($program$0|0); - } - return (0)|0; -} -function _IsPosproShaderEnabled() { - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[14392>>2]|0; - return ($0|0); -} -function _DrawCircleV($center,$radius,$color) { - $center = $center|0; - $radius = +$radius; - $color = $color|0; - var $0 = 0, $1 = 0, $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $2 = 0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0.0, $26 = 0.0; - var $27 = 0.0, $28 = 0.0, $29 = 0, $3 = 0, $30 = 0.0, $31 = 0.0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0.0, $36 = 0.0, $37 = 0.0, $38 = 0.0, $39 = 0.0, $4 = 0, $40 = 0, $5 = 0, $6 = 0, $7 = 0.0, $8 = 0; - var $9 = 0, $i$01 = 0, label = 0, sp = 0; - sp = STACKTOP; - _rlBegin(1); - $0 = HEAP8[$color>>0]|0; - $1 = ((($color)) + 1|0); - $2 = HEAP8[$1>>0]|0; - $3 = ((($color)) + 2|0); - $4 = HEAP8[$3>>0]|0; - $5 = ((($color)) + 3|0); - $6 = HEAP8[$5>>0]|0; - $7 = +HEAPF32[$center>>2]; - $8 = (~~(($7))); - $9 = ((($center)) + 4|0); - $10 = +HEAPF32[$9>>2]; - $11 = (~~(($10))); - $12 = $7; - $13 = $radius; - $14 = $10; - $15 = +HEAPF32[$center>>2]; - $16 = $15; - $17 = +HEAPF32[$9>>2]; - $18 = $17; - $i$01 = 0; - while(1) { - _rlColor4ub($0,$2,$4,$6); - _rlVertex2i($8,$11); - $19 = (+($i$01|0)); - $20 = $19 * 0.017453292519943295; - $21 = (+Math_sin((+$20))); - $22 = $13 * $21; - $23 = $12 + $22; - $24 = $23; - $25 = (+Math_cos((+$20))); - $26 = $13 * $25; - $27 = $14 + $26; - $28 = $27; - _rlVertex2f($24,$28); - $29 = (($i$01) + 10)|0; - $30 = (+($29|0)); - $31 = $30 * 0.017453292519943295; - $32 = (+Math_sin((+$31))); - $33 = $13 * $32; - $34 = $16 + $33; - $35 = $34; - $36 = (+Math_cos((+$31))); - $37 = $13 * $36; - $38 = $18 + $37; - $39 = $38; - _rlVertex2f($35,$39); - $40 = ($29|0)<(360); - if ($40) { - $i$01 = $29; - } else { - break; - } - } - _rlEnd(); - return; -} -function _DrawRectangle($posX,$posY,$width,$height,$color) { - $posX = $posX|0; - $posY = $posY|0; - $width = $width|0; - $height = $height|0; - $color = $color|0; - var $0 = 0.0, $1 = 0, $2 = 0.0, $3 = 0.0, $4 = 0, $5 = 0.0, $color$byval_copy = 0, $position = 0, $position$byval_copy = 0, $size = 0, $size$byval_copy = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $color$byval_copy = sp + 32|0; - $size$byval_copy = sp; - $position$byval_copy = sp + 8|0; - $position = sp + 16|0; - $size = sp + 24|0; - $0 = (+($posX|0)); - HEAPF32[$position>>2] = $0; - $1 = ((($position)) + 4|0); - $2 = (+($posY|0)); - HEAPF32[$1>>2] = $2; - $3 = (+($width|0)); - HEAPF32[$size>>2] = $3; - $4 = ((($size)) + 4|0); - $5 = (+($height|0)); - HEAPF32[$4>>2] = $5; - ;HEAP32[$position$byval_copy>>2]=HEAP32[$position>>2]|0;HEAP32[$position$byval_copy+4>>2]=HEAP32[$position+4>>2]|0; - ;HEAP32[$size$byval_copy>>2]=HEAP32[$size>>2]|0;HEAP32[$size$byval_copy+4>>2]=HEAP32[$size+4>>2]|0; - ;HEAP8[$color$byval_copy>>0]=HEAP8[$color>>0]|0;HEAP8[$color$byval_copy+1>>0]=HEAP8[$color+1>>0]|0;HEAP8[$color$byval_copy+2>>0]=HEAP8[$color+2>>0]|0;HEAP8[$color$byval_copy+3>>0]=HEAP8[$color+3>>0]|0; - _DrawRectangleV($position$byval_copy,$size$byval_copy,$color$byval_copy); - STACKTOP = sp;return; -} -function _DrawRectangleV($position,$size,$color) { - $position = $position|0; - $size = $size|0; - $color = $color|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0, $16 = 0.0, $17 = 0, $18 = 0.0, $19 = 0.0, $2 = 0, $20 = 0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0, $25 = 0.0, $26 = 0.0; - var $27 = 0.0, $28 = 0, $29 = 0.0, $3 = 0, $30 = 0, $31 = 0.0, $32 = 0, $33 = 0.0, $34 = 0.0, $35 = 0.0, $36 = 0, $37 = 0.0, $38 = 0.0, $39 = 0.0, $4 = 0, $40 = 0, $41 = 0.0, $42 = 0.0, $43 = 0.0, $44 = 0; - var $45 = 0.0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0.0, $6 = 0, $60 = 0, $61 = 0.0, $62 = 0.0; - var $63 = 0.0, $64 = 0, $65 = 0.0, $66 = 0.0, $67 = 0.0, $68 = 0.0, $69 = 0.0, $7 = 0, $70 = 0.0, $71 = 0.0, $72 = 0.0, $73 = 0.0, $74 = 0.0, $75 = 0.0, $76 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_rlGetVersion()|0); - $1 = ($0|0)==(1); - if ($1) { - _rlBegin(1); - $2 = HEAP8[$color>>0]|0; - $3 = ((($color)) + 1|0); - $4 = HEAP8[$3>>0]|0; - $5 = ((($color)) + 2|0); - $6 = HEAP8[$5>>0]|0; - $7 = ((($color)) + 3|0); - $8 = HEAP8[$7>>0]|0; - _rlColor4ub($2,$4,$6,$8); - $9 = +HEAPF32[$position>>2]; - $10 = (~~(($9))); - $11 = ((($position)) + 4|0); - $12 = +HEAPF32[$11>>2]; - $13 = (~~(($12))); - _rlVertex2i($10,$13); - $14 = +HEAPF32[$position>>2]; - $15 = (~~(($14))); - $16 = +HEAPF32[$11>>2]; - $17 = ((($size)) + 4|0); - $18 = +HEAPF32[$17>>2]; - $19 = $16 + $18; - $20 = (~~(($19))); - _rlVertex2i($15,$20); - $21 = +HEAPF32[$position>>2]; - $22 = +HEAPF32[$size>>2]; - $23 = $21 + $22; - $24 = (~~(($23))); - $25 = +HEAPF32[$11>>2]; - $26 = +HEAPF32[$17>>2]; - $27 = $25 + $26; - $28 = (~~(($27))); - _rlVertex2i($24,$28); - $29 = +HEAPF32[$position>>2]; - $30 = (~~(($29))); - $31 = +HEAPF32[$11>>2]; - $32 = (~~(($31))); - _rlVertex2i($30,$32); - $33 = +HEAPF32[$position>>2]; - $34 = +HEAPF32[$size>>2]; - $35 = $33 + $34; - $36 = (~~(($35))); - $37 = +HEAPF32[$11>>2]; - $38 = +HEAPF32[$17>>2]; - $39 = $37 + $38; - $40 = (~~(($39))); - _rlVertex2i($36,$40); - $41 = +HEAPF32[$position>>2]; - $42 = +HEAPF32[$size>>2]; - $43 = $41 + $42; - $44 = (~~(($43))); - $45 = +HEAPF32[$11>>2]; - $46 = (~~(($45))); - _rlVertex2i($44,$46); - _rlEnd(); - return; - } - $47 = (_rlGetVersion()|0); - $48 = ($47|0)==(2); - if (!($48)) { - $49 = (_rlGetVersion()|0); - $50 = ($49|0)==(3); - if (!($50)) { - return; - } - } - $51 = HEAP32[8800>>2]|0; - _rlEnableTexture($51); - _rlBegin(2); - $52 = HEAP8[$color>>0]|0; - $53 = ((($color)) + 1|0); - $54 = HEAP8[$53>>0]|0; - $55 = ((($color)) + 2|0); - $56 = HEAP8[$55>>0]|0; - $57 = ((($color)) + 3|0); - $58 = HEAP8[$57>>0]|0; - _rlColor4ub($52,$54,$56,$58); - _rlTexCoord2f(0.0,0.0); - $59 = +HEAPF32[$position>>2]; - $60 = ((($position)) + 4|0); - $61 = +HEAPF32[$60>>2]; - _rlVertex2f($59,$61); - _rlTexCoord2f(0.0,1.0); - $62 = +HEAPF32[$position>>2]; - $63 = +HEAPF32[$60>>2]; - $64 = ((($size)) + 4|0); - $65 = +HEAPF32[$64>>2]; - $66 = $63 + $65; - _rlVertex2f($62,$66); - _rlTexCoord2f(1.0,1.0); - $67 = +HEAPF32[$position>>2]; - $68 = +HEAPF32[$size>>2]; - $69 = $67 + $68; - $70 = +HEAPF32[$60>>2]; - $71 = +HEAPF32[$64>>2]; - $72 = $70 + $71; - _rlVertex2f($69,$72); - _rlTexCoord2f(1.0,0.0); - $73 = +HEAPF32[$position>>2]; - $74 = +HEAPF32[$size>>2]; - $75 = $73 + $74; - $76 = +HEAPF32[$60>>2]; - _rlVertex2f($75,$76); - _rlEnd(); - return; -} -function _DrawRectangleRec($rec,$color) { - $rec = $rec|0; - $color = $color|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $color$byval_copy = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $color$byval_copy = sp; - $0 = HEAP32[$rec>>2]|0; - $1 = ((($rec)) + 4|0); - $2 = HEAP32[$1>>2]|0; - $3 = ((($rec)) + 8|0); - $4 = HEAP32[$3>>2]|0; - $5 = ((($rec)) + 12|0); - $6 = HEAP32[$5>>2]|0; - ;HEAP8[$color$byval_copy>>0]=HEAP8[$color>>0]|0;HEAP8[$color$byval_copy+1>>0]=HEAP8[$color+1>>0]|0;HEAP8[$color$byval_copy+2>>0]=HEAP8[$color+2>>0]|0;HEAP8[$color$byval_copy+3>>0]=HEAP8[$color+3>>0]|0; - _DrawRectangle($0,$2,$4,$6,$color$byval_copy); - STACKTOP = sp;return; -} -function _CheckCollisionPointRec($point,$rec) { - $point = $point|0; - $rec = $rec|0; - var $0 = 0.0, $1 = 0, $10 = 0.0, $11 = 0, $12 = 0, $13 = 0.0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0.0, $19 = 0, $2 = 0.0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0; - var $collision$0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = +HEAPF32[$point>>2]; - $1 = HEAP32[$rec>>2]|0; - $2 = (+($1|0)); - $3 = !($0 >= $2); - if ($3) { - $collision$0 = 0; - } else { - $4 = ((($rec)) + 8|0); - $5 = HEAP32[$4>>2]|0; - $6 = (($5) + ($1))|0; - $7 = (+($6|0)); - $8 = !($0 <= $7); - if ($8) { - $collision$0 = 0; - } else { - $9 = ((($point)) + 4|0); - $10 = +HEAPF32[$9>>2]; - $11 = ((($rec)) + 4|0); - $12 = HEAP32[$11>>2]|0; - $13 = (+($12|0)); - $14 = !($10 >= $13); - if ($14) { - $collision$0 = 0; - } else { - $15 = ((($rec)) + 12|0); - $16 = HEAP32[$15>>2]|0; - $17 = (($16) + ($12))|0; - $18 = (+($17|0)); - $19 = !($10 <= $18); - if ($19) { - $collision$0 = 0; - } else { - $collision$0 = 1; - } - } - } - } - return ($collision$0|0); -} -function _CheckCollisionRecs($rec1,$rec2) { - $rec1 = $rec1|0; - $rec2 = $rec2|0; - var $$ = 0, $$neg4 = 0, $$neg7 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; - var $24 = 0, $25 = 0, $26 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $ispos = 0, $ispos1 = 0, $neg = 0, $neg2 = 0, $not$ = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[$rec1>>2]|0; - $1 = ((($rec1)) + 8|0); - $2 = HEAP32[$1>>2]|0; - $3 = (($2|0) / 2)&-1; - $4 = HEAP32[$rec2>>2]|0; - $5 = ((($rec2)) + 8|0); - $6 = HEAP32[$5>>2]|0; - $7 = (($6|0) / 2)&-1; - $$neg4 = (($3) + ($0))|0; - $8 = (($$neg4) - ($4))|0; - $9 = (($8) - ($7))|0; - $ispos = ($9|0)>(-1); - $neg = (0 - ($9))|0; - $10 = $ispos ? $9 : $neg; - $11 = ((($rec1)) + 4|0); - $12 = HEAP32[$11>>2]|0; - $13 = ((($rec1)) + 12|0); - $14 = HEAP32[$13>>2]|0; - $15 = (($14|0) / 2)&-1; - $16 = ((($rec2)) + 4|0); - $17 = HEAP32[$16>>2]|0; - $18 = ((($rec2)) + 12|0); - $19 = HEAP32[$18>>2]|0; - $20 = (($19|0) / 2)&-1; - $$neg7 = (($15) + ($12))|0; - $21 = (($$neg7) - ($17))|0; - $22 = (($21) - ($20))|0; - $23 = (($7) + ($3))|0; - $24 = ($10|0)>($23|0); - if ($24) { - return 0; - } else { - $ispos1 = ($22|0)>(-1); - $neg2 = (0 - ($22))|0; - $25 = $ispos1 ? $22 : $neg2; - $26 = (($20) + ($15))|0; - $not$ = ($25|0)<=($26|0); - $$ = $not$&1; - return ($$|0); - } - return (0)|0; -} -function _stbi_load($filename,$x,$y,$comp,$req_comp) { - $filename = $filename|0; - $x = $x|0; - $y = $y|0; - $comp = $comp|0; - $req_comp = $req_comp|0; - var $$0 = 0, $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_stbi__fopen($filename)|0); - $1 = ($0|0)==(0|0); - if ($1) { - _stbi__err(14416); - $$0 = 0; - return ($$0|0); - } else { - $2 = (_stbi_load_from_file($0,$x,$y,$comp,$req_comp)|0); - (_fclose(($0|0))|0); - $$0 = $2; - return ($$0|0); - } - return (0)|0; -} -function _stbi_load_from_file($f,$x,$y,$comp,$req_comp) { - $f = $f|0; - $x = $x|0; - $y = $y|0; - $comp = $comp|0; - $req_comp = $req_comp|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $s = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 192|0; - $s = sp; - _stbi__start_file($s,$f); - $0 = (_stbi__load_flip($s,$x,$y,$comp,$req_comp)|0); - $1 = ($0|0)==(0|0); - if ($1) { - STACKTOP = sp;return ($0|0); - } - $2 = ((($s)) + 172|0); - $3 = HEAP32[$2>>2]|0; - $4 = ((($s)) + 168|0); - $5 = HEAP32[$4>>2]|0; - $6 = $3; - $7 = $5; - $8 = (($7) - ($6))|0; - (_fseek(($f|0),($8|0),1)|0); - STACKTOP = sp;return ($0|0); -} -function _stbi_zlib_decode_malloc_guesssize_headerflag($buffer,$len,$initial_size,$outlen,$parse_header) { - $buffer = $buffer|0; - $len = $len|0; - $initial_size = $initial_size|0; - $outlen = $outlen|0; - $parse_header = $parse_header|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $a = 0; - var label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 4080|0; - $a = sp; - $0 = (_stbi__malloc($initial_size)|0); - $1 = ($0|0)==(0|0); - if ($1) { - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - HEAP32[$a>>2] = $buffer; - $2 = (($buffer) + ($len)|0); - $3 = ((($a)) + 4|0); - HEAP32[$3>>2] = $2; - $4 = (_stbi__do_zlib($a,$0,$initial_size,1,$parse_header)|0); + $2 = sp + 72|0; + $3 = sp + 140|0; + HEAP32[7484] = $0; + HEAP32[7483] = $1; + _MatrixIdentity($2); + dest=30024; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + (_glfwSetErrorCallback((2|0))|0); + $4 = (_glfwInit()|0); $5 = ($4|0)==(0); if ($5) { - $16 = ((($a)) + 20|0); - $17 = HEAP32[$16>>2]|0; - _free($17); - $$0 = 0; - STACKTOP = sp;return ($$0|0); + _TraceLog(2,9423,$vararg_buffer); } - $6 = ($outlen|0)==(0|0); - if (!($6)) { - $7 = ((($a)) + 16|0); - $8 = HEAP32[$7>>2]|0; - $9 = ((($a)) + 20|0); - $10 = HEAP32[$9>>2]|0; - $11 = $8; - $12 = $10; - $13 = (($11) - ($12))|0; - HEAP32[$outlen>>2] = $13; + $6 = HEAP32[7484]|0; + HEAP32[7522] = $6; + $7 = HEAP32[7483]|0; + HEAP32[7523] = $7; + _glfwDefaultWindowHints(); + $8 = HEAP8[35576]|0; + $9 = $8 & 4; + $10 = ($9<<24>>24)==(0); + if ($10) { + _glfwWindowHint(131075,0); + } else { + _glfwWindowHint(131075,1); } - $14 = ((($a)) + 20|0); - $15 = HEAP32[$14>>2]|0; - $$0 = $15; - STACKTOP = sp;return ($$0|0); -} -function _LoadImage($agg$result,$fileName) { - $agg$result = $agg$result|0; - $fileName = $fileName|0; - var $$ = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; - var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0; - var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0; - var $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $image$sroa$0$0 = 0, $image$sroa$0$09 = 0, $image$sroa$12$0 = 0; - var $image$sroa$12$05 = 0, $image$sroa$12$06 = 0, $image$sroa$15$0 = 0, $image$sroa$15$03 = 0, $image$sroa$15$04 = 0, $image$sroa$17$0 = 0, $image$sroa$17$01 = 0, $image$sroa$17$02 = 0, $image$sroa$9$0 = 0, $image$sroa$9$07 = 0, $image$sroa$9$08 = 0, $imgBpp = 0, $imgHeight = 0, $imgWidth = 0, $vararg_buffer = 0, $vararg_buffer3 = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 144|0; - $vararg_buffer3 = sp + 16|0; - $vararg_buffer = sp; - $imgWidth = sp + 108|0; - $imgHeight = sp + 104|0; - $imgBpp = sp + 100|0; - $0 = sp + 112|0; - $1 = sp + 40|0; - $2 = sp + 20|0; - $3 = sp + 60|0; - $4 = sp + 80|0; - $5 = (_GetExtension($fileName)|0); - $6 = (_strcmp($5,14448)|0); - $7 = ($6|0)==(0); - do { - if ($7) { - label = 8; - } else { - $8 = (_GetExtension($fileName)|0); - $9 = (_strcmp($8,14456)|0); - $10 = ($9|0)==(0); - if ($10) { - label = 8; - } else { - $11 = (_GetExtension($fileName)|0); - $12 = (_strcmp($11,14464)|0); - $13 = ($12|0)==(0); - if ($13) { - label = 8; - } else { - $14 = (_GetExtension($fileName)|0); - $15 = (_strcmp($14,14472)|0); - $16 = ($15|0)==(0); - if ($16) { - label = 8; - } else { - $17 = (_GetExtension($fileName)|0); - $18 = (_strcmp($17,14480)|0); - $19 = ($18|0)==(0); - if ($19) { - label = 8; - } else { - $20 = (_GetExtension($fileName)|0); - $21 = (_strcmp($20,14488)|0); - $22 = ($21|0)==(0); - if ($22) { - label = 8; - } else { - $23 = (_GetExtension($fileName)|0); - $24 = (_strcmp($23,14496)|0); - $25 = ($24|0)==(0); - if ($25) { - label = 8; - } else { - $31 = (_GetExtension($fileName)|0); - $32 = (_strcmp($31,14504)|0); - $33 = ($32|0)==(0); - if ($33) { - _LoadDDS($0,$fileName); - $34 = HEAP32[$0>>2]|0; - $35 = ((($0)) + 4|0); - $36 = HEAP32[$35>>2]|0; - $37 = ((($0)) + 8|0); - $38 = HEAP32[$37>>2]|0; - $39 = ((($0)) + 12|0); - $40 = HEAP32[$39>>2]|0; - $41 = ((($0)) + 16|0); - $42 = HEAP32[$41>>2]|0; - $image$sroa$0$0 = $34;$image$sroa$12$0 = $38;$image$sroa$15$0 = $40;$image$sroa$17$0 = $42;$image$sroa$9$0 = $36; - label = 22; - break; - } - $43 = (_GetExtension($fileName)|0); - $44 = (_strcmp($43,14512)|0); - $45 = ($44|0)==(0); - if ($45) { - _LoadPKM($1,$fileName); - $46 = HEAP32[$1>>2]|0; - $47 = ((($1)) + 4|0); - $48 = HEAP32[$47>>2]|0; - $49 = ((($1)) + 8|0); - $50 = HEAP32[$49>>2]|0; - $51 = ((($1)) + 12|0); - $52 = HEAP32[$51>>2]|0; - $53 = ((($1)) + 16|0); - $54 = HEAP32[$53>>2]|0; - $image$sroa$0$0 = $46;$image$sroa$12$0 = $50;$image$sroa$15$0 = $52;$image$sroa$17$0 = $54;$image$sroa$9$0 = $48; - label = 22; - break; - } - $55 = (_GetExtension($fileName)|0); - $56 = (_strcmp($55,14520)|0); - $57 = ($56|0)==(0); - if ($57) { - _LoadKTX($2,$fileName); - $58 = HEAP32[$2>>2]|0; - $59 = ((($2)) + 4|0); - $60 = HEAP32[$59>>2]|0; - $61 = ((($2)) + 8|0); - $62 = HEAP32[$61>>2]|0; - $63 = ((($2)) + 12|0); - $64 = HEAP32[$63>>2]|0; - $65 = ((($2)) + 16|0); - $66 = HEAP32[$65>>2]|0; - $image$sroa$0$0 = $58;$image$sroa$12$0 = $62;$image$sroa$15$0 = $64;$image$sroa$17$0 = $66;$image$sroa$9$0 = $60; - label = 22; - break; - } - $67 = (_GetExtension($fileName)|0); - $68 = (_strcmp($67,14528)|0); - $69 = ($68|0)==(0); - if ($69) { - _LoadPVR($3,$fileName); - $70 = HEAP32[$3>>2]|0; - $71 = ((($3)) + 4|0); - $72 = HEAP32[$71>>2]|0; - $73 = ((($3)) + 8|0); - $74 = HEAP32[$73>>2]|0; - $75 = ((($3)) + 12|0); - $76 = HEAP32[$75>>2]|0; - $77 = ((($3)) + 16|0); - $78 = HEAP32[$77>>2]|0; - $image$sroa$0$0 = $70;$image$sroa$12$0 = $74;$image$sroa$15$0 = $76;$image$sroa$17$0 = $78;$image$sroa$9$0 = $72; - label = 22; - break; - } - $79 = (_GetExtension($fileName)|0); - $80 = (_strcmp($79,14536)|0); - $81 = ($80|0)==(0); - if ($81) { - _LoadASTC($4,$fileName); - $82 = HEAP32[$4>>2]|0; - $83 = ((($4)) + 4|0); - $84 = HEAP32[$83>>2]|0; - $85 = ((($4)) + 8|0); - $86 = HEAP32[$85>>2]|0; - $87 = ((($4)) + 12|0); - $88 = HEAP32[$87>>2]|0; - $89 = ((($4)) + 16|0); - $90 = HEAP32[$89>>2]|0; - $image$sroa$0$0 = $82;$image$sroa$12$0 = $86;$image$sroa$15$0 = $88;$image$sroa$17$0 = $90;$image$sroa$9$0 = $84; - label = 22; - } else { - $image$sroa$12$06 = 0;$image$sroa$15$04 = 0;$image$sroa$17$02 = 0;$image$sroa$9$08 = 0; - } - } - } + $11 = HEAP8[35576]|0; + $12 = $11 & 8; + $13 = ($12<<24>>24)==(0); + if (!($13)) { + _glfwWindowHint(131077,1); + } + $14 = HEAP8[35576]|0; + $15 = $14 & 32; + $16 = ($15<<24>>24)==(0); + if (!($16)) { + _glfwWindowHint(135181,4); + _TraceLog(0,9449,$vararg_buffer1); + } + $17 = (_rlGetVersion()|0); + $18 = ($17|0)==(2); + if ($18) { + _glfwWindowHint(139266,2); + _glfwWindowHint(139267,1); + } else { + $19 = (_rlGetVersion()|0); + $20 = ($19|0)==(3); + if ($20) { + _glfwWindowHint(139266,3); + _glfwWindowHint(139267,3); + _glfwWindowHint(139272,204801); + _glfwWindowHint(139270,0); + } + } + $21 = HEAP32[7524]|0; + $22 = ($21|0)==(0); + if ($22) { + $47 = HEAP32[7484]|0; + $48 = HEAP32[7483]|0; + $49 = HEAP32[7486]|0; + $50 = (_glfwCreateWindow(($47|0),($48|0),($49|0),(0|0),(0|0))|0); + HEAP32[7482] = $50; + $51 = HEAP32[7484]|0; + HEAP32[7525] = $51; + $52 = HEAP32[7483]|0; + HEAP32[7526] = $52; + $54 = $50; + } else { + $23 = (_glfwGetPrimaryMonitor()|0); + $24 = (_glfwGetVideoModes(($23|0),($$byval_copy|0))|0); + $25 = HEAP32[$$byval_copy>>2]|0; + $26 = ($25|0)>(0); + L22: do { + if ($26) { + $27 = HEAP32[7484]|0; + $28 = HEAP32[$$byval_copy>>2]|0; + $29 = HEAP32[7483]|0; + $$015 = 0; + while(1) { + $30 = (($24) + (($$015*24)|0)|0); + $31 = HEAP32[$30>>2]|0; + $32 = ($31|0)<($27|0); + if (!($32)) { + $33 = (((($24) + (($$015*24)|0)|0)) + 4|0); + $34 = HEAP32[$33>>2]|0; + $35 = ($34|0)<($29|0); + if (!($35)) { + break; } } + $36 = (($$015) + 1)|0; + $37 = ($36|0)<($28|0); + if ($37) { + $$015 = $36; + } else { + break L22; + } } + HEAP32[7522] = $31; + HEAP32[7523] = $34; } - } - } while(0); - do { - if ((label|0) == 8) { - HEAP32[$imgWidth>>2] = 0; - HEAP32[$imgHeight>>2] = 0; - HEAP32[$imgBpp>>2] = 0; - $26 = (_stbi_load($fileName,$imgWidth,$imgHeight,$imgBpp,0)|0); - $27 = HEAP32[$imgWidth>>2]|0; - $28 = HEAP32[$imgHeight>>2]|0; - $29 = HEAP32[$imgBpp>>2]|0; - if ((($29|0) == 2)) { - $image$sroa$0$0 = $26;$image$sroa$12$0 = $28;$image$sroa$15$0 = 1;$image$sroa$17$0 = 2;$image$sroa$9$0 = $27; - label = 22; - break; - } else if ((($29|0) == 1)) { - $image$sroa$0$0 = $26;$image$sroa$12$0 = $28;$image$sroa$15$0 = 1;$image$sroa$17$0 = 1;$image$sroa$9$0 = $27; - label = 22; - break; - } else if ((($29|0) == 3)) { - $image$sroa$0$0 = $26;$image$sroa$12$0 = $28;$image$sroa$15$0 = 1;$image$sroa$17$0 = 4;$image$sroa$9$0 = $27; - label = 22; - break; - } else { - $30 = ($29|0)==(4); - $$ = $30 ? 7 : 0; - $image$sroa$0$0 = $26;$image$sroa$12$0 = $28;$image$sroa$15$0 = 1;$image$sroa$17$0 = $$;$image$sroa$9$0 = $27; - label = 22; - break; - } - } - } while(0); - if ((label|0) == 22) { - $91 = ($image$sroa$0$0|0)==(0|0); - if ($91) { - $image$sroa$12$06 = $image$sroa$12$0;$image$sroa$15$04 = $image$sroa$15$0;$image$sroa$17$02 = $image$sroa$17$0;$image$sroa$9$08 = $image$sroa$9$0; - } else { - HEAP32[$vararg_buffer>>2] = $fileName; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = $image$sroa$9$0; - $vararg_ptr2 = ((($vararg_buffer)) + 8|0); - HEAP32[$vararg_ptr2>>2] = $image$sroa$12$0; - _TraceLog(0,14544,$vararg_buffer); - $image$sroa$0$09 = $image$sroa$0$0;$image$sroa$12$05 = $image$sroa$12$0;$image$sroa$15$03 = $image$sroa$15$0;$image$sroa$17$01 = $image$sroa$17$0;$image$sroa$9$07 = $image$sroa$9$0; - HEAP32[$agg$result>>2] = $image$sroa$0$09; - $92 = ((($agg$result)) + 4|0); - HEAP32[$92>>2] = $image$sroa$9$07; - $93 = ((($agg$result)) + 8|0); - HEAP32[$93>>2] = $image$sroa$12$05; - $94 = ((($agg$result)) + 12|0); - HEAP32[$94>>2] = $image$sroa$15$03; - $95 = ((($agg$result)) + 16|0); - HEAP32[$95>>2] = $image$sroa$17$01; - STACKTOP = sp;return; - } + } while(0); + $38 = HEAP32[7522]|0; + $39 = HEAP32[7523]|0; + HEAP32[$vararg_buffer3>>2] = $38; + $vararg_ptr5 = ((($vararg_buffer3)) + 4|0); + HEAP32[$vararg_ptr5>>2] = $39; + _TraceLog(1,9474,$vararg_buffer3); + $40 = HEAP32[7522]|0; + $41 = HEAP32[7523]|0; + _SetupFramebufferSize($40,$41); + $42 = HEAP32[7522]|0; + $43 = HEAP32[7523]|0; + $44 = HEAP32[7486]|0; + $45 = (_glfwGetPrimaryMonitor()|0); + $46 = (_glfwCreateWindow(($42|0),($43|0),($44|0),($45|0),(0|0))|0); + HEAP32[7482] = $46; + $54 = $46; } - HEAP32[$vararg_buffer3>>2] = $fileName; - _TraceLog(2,14584,$vararg_buffer3); - $image$sroa$0$09 = 0;$image$sroa$12$05 = $image$sroa$12$06;$image$sroa$15$03 = $image$sroa$15$04;$image$sroa$17$01 = $image$sroa$17$02;$image$sroa$9$07 = $image$sroa$9$08; - HEAP32[$agg$result>>2] = $image$sroa$0$09; - $92 = ((($agg$result)) + 4|0); - HEAP32[$92>>2] = $image$sroa$9$07; - $93 = ((($agg$result)) + 8|0); - HEAP32[$93>>2] = $image$sroa$12$05; - $94 = ((($agg$result)) + 12|0); - HEAP32[$94>>2] = $image$sroa$15$03; - $95 = ((($agg$result)) + 16|0); - HEAP32[$95>>2] = $image$sroa$17$01; + $53 = ($54|0)==(0|0); + if ($53) { + _glfwTerminate(); + _TraceLog(2,9512,$vararg_buffer6); + } else { + _TraceLog(0,9545,$vararg_buffer8); + $55 = HEAP32[7525]|0; + $56 = HEAP32[7526]|0; + HEAP32[$vararg_buffer10>>2] = $55; + $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); + HEAP32[$vararg_ptr13>>2] = $56; + _TraceLog(0,9585,$vararg_buffer10); + $57 = HEAP32[7484]|0; + $58 = HEAP32[7483]|0; + HEAP32[$vararg_buffer14>>2] = $57; + $vararg_ptr17 = ((($vararg_buffer14)) + 4|0); + HEAP32[$vararg_ptr17>>2] = $58; + _TraceLog(0,9606,$vararg_buffer14); + $59 = HEAP32[7527]|0; + $60 = HEAP32[7528]|0; + HEAP32[$vararg_buffer18>>2] = $59; + $vararg_ptr21 = ((($vararg_buffer18)) + 4|0); + HEAP32[$vararg_ptr21>>2] = $60; + _TraceLog(0,9627,$vararg_buffer18); + } + $61 = HEAP32[7482]|0; + (_glfwSetWindowSizeCallback(($61|0),(1|0))|0); + $62 = HEAP32[7482]|0; + (_glfwSetCursorEnterCallback(($62|0),(3|0))|0); + $63 = HEAP32[7482]|0; + (_glfwSetKeyCallback(($63|0),(1|0))|0); + $64 = HEAP32[7482]|0; + (_glfwSetMouseButtonCallback(($64|0),(1|0))|0); + $65 = HEAP32[7482]|0; + (_glfwSetCursorPosCallback(($65|0),(1|0))|0); + $66 = HEAP32[7482]|0; + (_glfwSetCharCallback(($66|0),(4|0))|0); + $67 = HEAP32[7482]|0; + (_glfwSetScrollCallback(($67|0),(2|0))|0); + $68 = HEAP32[7482]|0; + (_glfwSetWindowIconifyCallback(($68|0),(5|0))|0); + $69 = HEAP32[7482]|0; + _glfwMakeContextCurrent(($69|0)); + _glfwSwapInterval(0); + $70 = HEAP8[35576]|0; + $71 = $70 & 64; + $72 = ($71<<24>>24)==(0); + if ($72) { + $73 = HEAP32[7484]|0; + $74 = HEAP32[7483]|0; + _rlglInit($73,$74); + _SetupViewport(); + _rlMatrixMode(5889); + _rlLoadIdentity(); + $75 = HEAP32[7525]|0; + $76 = HEAP32[7527]|0; + $77 = (($75) - ($76))|0; + $78 = (+($77|0)); + $79 = HEAP32[7526]|0; + $80 = HEAP32[7528]|0; + $81 = (($79) - ($80))|0; + $82 = (+($81|0)); + _rlOrtho(0.0,$78,$82,0.0,0.0,1.0); + _rlMatrixMode(5888); + _rlLoadIdentity(); + HEAP8[$3>>0] = -11; + $83 = ((($3)) + 1|0); + HEAP8[$83>>0] = -11; + $84 = ((($3)) + 2|0); + HEAP8[$84>>0] = -11; + $85 = ((($3)) + 3|0); + HEAP8[$85>>0] = -1; + ;HEAP8[$$byval_copy>>0]=HEAP8[$3>>0]|0;HEAP8[$$byval_copy+1>>0]=HEAP8[$3+1>>0]|0;HEAP8[$$byval_copy+2>>0]=HEAP8[$3+2>>0]|0;HEAP8[$$byval_copy+3>>0]=HEAP8[$3+3>>0]|0; + _ClearBackground($$byval_copy); + STACKTOP = sp;return; + } + _glfwSwapInterval(1); + _TraceLog(0,9652,$vararg_buffer22); + $73 = HEAP32[7484]|0; + $74 = HEAP32[7483]|0; + _rlglInit($73,$74); + _SetupViewport(); + _rlMatrixMode(5889); + _rlLoadIdentity(); + $75 = HEAP32[7525]|0; + $76 = HEAP32[7527]|0; + $77 = (($75) - ($76))|0; + $78 = (+($77|0)); + $79 = HEAP32[7526]|0; + $80 = HEAP32[7528]|0; + $81 = (($79) - ($80))|0; + $82 = (+($81|0)); + _rlOrtho(0.0,$78,$82,0.0,0.0,1.0); + _rlMatrixMode(5888); + _rlLoadIdentity(); + HEAP8[$3>>0] = -11; + $83 = ((($3)) + 1|0); + HEAP8[$83>>0] = -11; + $84 = ((($3)) + 2|0); + HEAP8[$84>>0] = -11; + $85 = ((($3)) + 3|0); + HEAP8[$85>>0] = -1; + ;HEAP8[$$byval_copy>>0]=HEAP8[$3>>0]|0;HEAP8[$$byval_copy+1>>0]=HEAP8[$3+1>>0]|0;HEAP8[$$byval_copy+2>>0]=HEAP8[$3+2>>0]|0;HEAP8[$$byval_copy+3>>0]=HEAP8[$3+3>>0]|0; + _ClearBackground($$byval_copy); STACKTOP = sp;return; } -function _LoadImageEx($agg$result,$pixels,$width,$height) { - $agg$result = $agg$result|0; - $pixels = $pixels|0; - $width = $width|0; - $height = $height|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $i$02 = 0, $k$01 = 0, label = 0, sp = 0; +function _LoadDefaultFont() { + var $$ = 0, $$0101 = 0, $$090100 = 0, $$09299 = 0, $$095104 = 0, $$096103 = 0, $$097102 = 0, $$191 = 0, $$193 = 0, $$byval_copy1 = 0, $$lcssa = 0, $$sroa$0$0$$sroa_idx = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0; + var $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0; + var $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; + var $vararg_buffer = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = $width << 2; - $1 = Math_imul($0, $height)|0; - $2 = (_malloc($1)|0); - $3 = ($1|0)>(0); - if ($3) { - $4 = Math_imul($height, $width)|0; - $5 = $4 << 2; - $6 = (($5) + -1)|0; - $7 = $6 >>> 2; - $i$02 = 0;$k$01 = 0; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $$byval_copy1 = sp + 44|0; + $vararg_buffer = sp; + $0 = sp + 4|0; + $1 = sp + 24|0; + HEAP32[(29992)>>2] = 224; + $2 = (_malloc(65536)|0); + _memset(($2|0),0,65536)|0; + $$095104 = 0;$$096103 = 0; + while(1) { + $3 = (64 + ($$095104<<2)|0); + $4 = HEAP32[$3>>2]|0; + $$097102 = 31; while(1) { - $8 = (($pixels) + ($k$01<<2)|0); - $9 = HEAP8[$8>>0]|0; - $10 = (($2) + ($i$02)|0); - HEAP8[$10>>0] = $9; - $11 = (((($pixels) + ($k$01<<2)|0)) + 1|0); - $12 = HEAP8[$11>>0]|0; - $13 = $i$02 | 1; - $14 = (($2) + ($13)|0); - HEAP8[$14>>0] = $12; - $15 = (((($pixels) + ($k$01<<2)|0)) + 2|0); - $16 = HEAP8[$15>>0]|0; - $17 = $i$02 | 2; - $18 = (($2) + ($17)|0); - HEAP8[$18>>0] = $16; - $19 = (((($pixels) + ($k$01<<2)|0)) + 3|0); - $20 = HEAP8[$19>>0]|0; - $21 = $i$02 | 3; - $22 = (($2) + ($21)|0); - HEAP8[$22>>0] = $20; - $23 = (($k$01) + 1)|0; - $24 = (($i$02) + 4)|0; - $exitcond = ($k$01|0)==($7|0); + $16 = 1 << $$097102; + $17 = $4 & $16; + $18 = ($17|0)==(0); + if (!($18)) { + $19 = (($$097102) + ($$096103))|0; + $$sroa$0$0$$sroa_idx = (($2) + ($19<<2)|0); + HEAP8[$$sroa$0$0$$sroa_idx>>0]=-1&255;HEAP8[$$sroa$0$0$$sroa_idx+1>>0]=(-1>>8)&255;HEAP8[$$sroa$0$0$$sroa_idx+2>>0]=(-1>>16)&255;HEAP8[$$sroa$0$0$$sroa_idx+3>>0]=-1>>24; + } + $20 = (($$097102) + -1)|0; + $21 = ($$097102|0)>(0); + if ($21) { + $$097102 = $20; + } else { + break; + } + } + $12 = (($$095104) + 1)|0; + $13 = ($$095104|0)>(511); + $$ = $13 ? 0 : $12; + $14 = (($$096103) + 32)|0; + $15 = ($14|0)<(16384); + if ($15) { + $$095104 = $$;$$096103 = $14; + } else { + break; + } + } + _LoadImageEx($0,$2,128,128); + _ImageFormat($0,2); + _free($2); + ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; + _LoadTextureFromImage($1,$$byval_copy1); + ;HEAP32[29968>>2]=HEAP32[$1>>2]|0;HEAP32[29968+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[29968+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[29968+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[29968+16>>2]=HEAP32[$1+16>>2]|0; + ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; + _UnloadImage($$byval_copy1); + $5 = HEAP32[(29992)>>2]|0; + $6 = $5 << 5; + $7 = (_malloc($6)|0); + HEAP32[(29996)>>2] = $7; + $8 = ($5|0)>(0); + if (!($8)) { + $$lcssa = $7; + $22 = ((($$lcssa)) + 16|0); + $23 = HEAP32[$22>>2]|0; + HEAP32[(29988)>>2] = $23; + $24 = HEAP32[7492]|0; + HEAP32[$vararg_buffer>>2] = $24; + _TraceLog(0,8929,$vararg_buffer); + STACKTOP = sp;return; + } + $9 = HEAP32[(29972)>>2]|0; + $10 = HEAP32[(29992)>>2]|0; + $11 = HEAP32[(29996)>>2]|0; + $$0101 = 0;$$090100 = 1;$$09299 = 0;$27 = $7; + while(1) { + $25 = (($$0101) + 32)|0; + $26 = (($27) + ($$0101<<5)|0); + HEAP32[$26>>2] = $25; + $28 = (((($27) + ($$0101<<5)|0)) + 4|0); + HEAP32[$28>>2] = $$090100; + $29 = ($$09299*11)|0; + $30 = (($29) + 1)|0; + $31 = (((($27) + ($$0101<<5)|0)) + 8|0); + HEAP32[$31>>2] = $30; + $32 = (2112 + ($$0101<<2)|0); + $33 = HEAP32[$32>>2]|0; + $34 = (((($27) + ($$0101<<5)|0)) + 12|0); + HEAP32[$34>>2] = $33; + $35 = (((($27) + ($$0101<<5)|0)) + 16|0); + HEAP32[$35>>2] = 10; + $36 = (($$090100) + 1)|0; + $37 = (($36) + ($33))|0; + $38 = ($37|0)<($9|0); + $39 = (($$09299) + 1)|0; + if ($38) { + $$191 = $37;$$193 = $$09299; + } else { + $40 = ($39*11)|0; + $41 = (($40) + 1)|0; + $42 = (($33) + 2)|0; + HEAP32[$28>>2] = 1; + HEAP32[$31>>2] = $41; + $$191 = $42;$$193 = $39; + } + $43 = (((($27) + ($$0101<<5)|0)) + 20|0); + HEAP32[$43>>2] = 0; + $44 = (((($27) + ($$0101<<5)|0)) + 24|0); + HEAP32[$44>>2] = 0; + $45 = (((($27) + ($$0101<<5)|0)) + 28|0); + HEAP32[$45>>2] = 0; + $46 = (($$0101) + 1)|0; + $47 = ($46|0)<($10|0); + if ($47) { + $$0101 = $46;$$090100 = $$191;$$09299 = $$193;$27 = $11; + } else { + $$lcssa = $11; + break; + } + } + $22 = ((($$lcssa)) + 16|0); + $23 = HEAP32[$22>>2]|0; + HEAP32[(29988)>>2] = $23; + $24 = HEAP32[7492]|0; + HEAP32[$vararg_buffer>>2] = $24; + _TraceLog(0,8929,$vararg_buffer); + STACKTOP = sp;return; +} +function _InitTimer() { + var $0 = 0, $1 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (_time((0|0))|0); + _srand($0); + $1 = (+_GetTime()); + HEAPF64[3321] = $1; + return; +} +function _EmscriptenFullscreenChangeCallback($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer4 = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, $vararg_ptr9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $vararg_buffer4 = sp + 16|0; + $vararg_buffer = sp; + $3 = HEAP32[$1>>2]|0; + $4 = ($3|0)==(0); + $5 = ((($1)) + 264|0); + $6 = HEAP32[$5>>2]|0; + $7 = ((($1)) + 268|0); + $8 = HEAP32[$7>>2]|0; + $9 = ((($1)) + 272|0); + $10 = HEAP32[$9>>2]|0; + $11 = ((($1)) + 276|0); + $12 = HEAP32[$11>>2]|0; + if ($4) { + HEAP32[$vararg_buffer4>>2] = $6; + $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); + HEAP32[$vararg_ptr7>>2] = $8; + $vararg_ptr8 = ((($vararg_buffer4)) + 8|0); + HEAP32[$vararg_ptr8>>2] = $10; + $vararg_ptr9 = ((($vararg_buffer4)) + 12|0); + HEAP32[$vararg_ptr9>>2] = $12; + _TraceLog(0,8862,$vararg_buffer4); + STACKTOP = sp;return 0; + } else { + HEAP32[$vararg_buffer>>2] = $6; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $8; + $vararg_ptr2 = ((($vararg_buffer)) + 8|0); + HEAP32[$vararg_ptr2>>2] = $10; + $vararg_ptr3 = ((($vararg_buffer)) + 12|0); + HEAP32[$vararg_ptr3>>2] = $12; + _TraceLog(0,8793,$vararg_buffer); + STACKTOP = sp;return 0; + } + return (0)|0; +} +function _EmscriptenKeyboardCallback($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ($0|0)==(1); + if (!($3)) { + return 0; + } + $4 = ((($1)) + 32|0); + $5 = (_strcmp($4,8786)|0); + $6 = ($5|0)==(0); + if (!($6)) { + return 0; + } + (_emscripten_exit_pointerlock()|0); + return 0; +} +function _EmscriptenMouseCallback($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var label = 0, sp = 0; + sp = STACKTOP; + return 0; +} +function _EmscriptenTouchCallback($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$byval_copy = 0, $$sink = 0, $$sroa$0$0$$sroa_idx = 0, $$sroa$03$0$$sroa_idx = 0, $$sroa$2$0$$sroa_idx2 = 0, $$sroa$24$0$$sroa_idx5 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0.0, $18 = 0, $19 = 0, $20 = 0.0, $21 = 0, $22 = 0, $23 = 0.0; + var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; + var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0.0, $48 = 0.0, $49 = 0.0, $5 = 0, $50 = 0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0, $59 = 0.0, $6 = 0; + var $60 = 0.0, $61 = 0.0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0); + $$byval_copy = sp + 56|0; + $3 = sp; + switch ($0|0) { + case 22: { + $$sink = 1; + label = 4; + break; + } + case 23: { + $$sink = 0; + label = 4; + break; + } + case 24: { + $$sink = 2; + label = 4; + break; + } + default: { + } + } + if ((label|0) == 4) { + HEAP32[$3>>2] = $$sink; + } + $4 = HEAP32[$1>>2]|0; + $5 = ((($3)) + 4|0); + HEAP32[$5>>2] = $4; + $6 = ((($1)) + 20|0); + $7 = HEAP32[$6>>2]|0; + $8 = ((($3)) + 8|0); + HEAP32[$8>>2] = $7; + $9 = ((($1)) + 72|0); + $10 = HEAP32[$9>>2]|0; + $11 = ((($3)) + 12|0); + HEAP32[$11>>2] = $10; + $12 = ((($1)) + 56|0); + $13 = HEAP32[$12>>2]|0; + $14 = (+($13|0)); + $15 = ((($1)) + 60|0); + $16 = HEAP32[$15>>2]|0; + $17 = (+($16|0)); + $$sroa$03$0$$sroa_idx = ((($3)) + 24|0); + HEAPF32[$$sroa$03$0$$sroa_idx>>2] = $14; + $$sroa$24$0$$sroa_idx5 = ((($3)) + 28|0); + HEAPF32[$$sroa$24$0$$sroa_idx5>>2] = $17; + $18 = ((($1)) + 108|0); + $19 = HEAP32[$18>>2]|0; + $20 = (+($19|0)); + $21 = ((($1)) + 112|0); + $22 = HEAP32[$21>>2]|0; + $23 = (+($22|0)); + $$sroa$0$0$$sroa_idx = ((($3)) + 32|0); + HEAPF32[$$sroa$0$0$$sroa_idx>>2] = $20; + $$sroa$2$0$$sroa_idx2 = ((($3)) + 36|0); + HEAPF32[$$sroa$2$0$$sroa_idx2>>2] = $23; + $24 = ((($3)) + 24|0); + $25 = $24; + $26 = $25; + $27 = HEAP32[$26>>2]|0; + $28 = (($25) + 4)|0; + $29 = $28; + $30 = HEAP32[$29>>2]|0; + $31 = 26552; + $32 = $31; + HEAP32[$32>>2] = $27; + $33 = (($31) + 4)|0; + $34 = $33; + HEAP32[$34>>2] = $30; + $35 = ((($3)) + 32|0); + $36 = $35; + $37 = $36; + $38 = HEAP32[$37>>2]|0; + $39 = (($36) + 4)|0; + $40 = $39; + $41 = HEAP32[$40>>2]|0; + $42 = (26560); + $43 = $42; + HEAP32[$43>>2] = $38; + $44 = (($42) + 4)|0; + $45 = $44; + HEAP32[$45>>2] = $41; + $46 = (_GetScreenWidth()|0); + $47 = (+($46|0)); + $48 = +HEAPF32[$24>>2]; + $49 = $48 / $47; + HEAPF32[$24>>2] = $49; + $50 = (_GetScreenHeight()|0); + $51 = (+($50|0)); + $52 = +HEAPF32[$$sroa$24$0$$sroa_idx5>>2]; + $53 = $52 / $51; + HEAPF32[$$sroa$24$0$$sroa_idx5>>2] = $53; + $54 = (_GetScreenWidth()|0); + $55 = (+($54|0)); + $56 = +HEAPF32[$35>>2]; + $57 = $56 / $55; + HEAPF32[$35>>2] = $57; + $58 = (_GetScreenHeight()|0); + $59 = (+($58|0)); + $60 = +HEAPF32[$$sroa$2$0$$sroa_idx2>>2]; + $61 = $60 / $59; + HEAPF32[$$sroa$2$0$$sroa_idx2>>2] = $61; + dest=$$byval_copy; src=$3; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _ProcessGestureEvent($$byval_copy); + STACKTOP = sp;return 1; +} +function _EmscriptenGamepadCallback($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$sink = 0, $10 = 0, $11 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ((($1)) + 1296|0); + $4 = HEAP32[$3>>2]|0; + $5 = ($4|0)==(0); + if ($5) { + label = 3; + } else { + $6 = ((($1)) + 1300|0); + $7 = HEAP32[$6>>2]|0; + $8 = ($7|0)<(4); + if ($8) { + $$sink = 1; + } else { + label = 3; + } + } + if ((label|0) == 3) { + $$sink = 0; + } + $9 = ((($1)) + 1300|0); + $10 = HEAP32[$9>>2]|0; + $11 = (29952 + ($10<<2)|0); + HEAP32[$11>>2] = $$sink; + return 0; +} +function _SetTargetFPS($0) { + $0 = $0|0; + var $$ = 0.0, $$op = 0.0, $1 = 0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $vararg_buffer = sp; + $1 = ($0|0)<(1); + $2 = (+($0|0)); + $3 = 1.0 / $2; + $$ = $1 ? 0.0 : $3; + HEAPF64[3318] = $$; + $4 = $3; + $$op = $4 * 1000.0; + $5 = $$op; + $6 = $1 ? 0.0 : $5; + HEAPF64[$vararg_buffer>>3] = $6; + _TraceLog(0,8742,$vararg_buffer); + STACKTOP = sp;return; +} +function _LogoAnimation() { + var label = 0, sp = 0; + sp = STACKTOP; + HEAP32[7487] = 0; + return; +} +function _GetTime() { + var $0 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (+_glfwGetTime()); + return (+$0); +} +function _LoadImageEx($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$03334 = 0, $$035 = 0, $$sroa$12$0$$sroa_idx21 = 0, $$sroa$15$0$$sroa_idx24 = 0, $$sroa$16$0$$sroa_idx26 = 0, $$sroa$9$0$$sroa_idx18 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; + var $24 = 0, $25 = 0, $26 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, label = 0, sp = 0; + sp = STACKTOP; + $4 = $2 << 2; + $5 = Math_imul($4, $3)|0; + $6 = (_malloc($5)|0); + $7 = ($5|0)>(0); + if ($7) { + $8 = (($5) + -1)|0; + $9 = $8 >>> 2; + $$03334 = 0;$$035 = 0; + while(1) { + $10 = (($1) + ($$03334<<2)|0); + $11 = HEAP8[$10>>0]|0; + $12 = (($6) + ($$035)|0); + HEAP8[$12>>0] = $11; + $13 = (((($1) + ($$03334<<2)|0)) + 1|0); + $14 = HEAP8[$13>>0]|0; + $15 = $$035 | 1; + $16 = (($6) + ($15)|0); + HEAP8[$16>>0] = $14; + $17 = (((($1) + ($$03334<<2)|0)) + 2|0); + $18 = HEAP8[$17>>0]|0; + $19 = $$035 | 2; + $20 = (($6) + ($19)|0); + HEAP8[$20>>0] = $18; + $21 = (((($1) + ($$03334<<2)|0)) + 3|0); + $22 = HEAP8[$21>>0]|0; + $23 = $$035 | 3; + $24 = (($6) + ($23)|0); + HEAP8[$24>>0] = $22; + $25 = (($$03334) + 1)|0; + $26 = (($$035) + 4)|0; + $exitcond = ($$03334|0)==($9|0); if ($exitcond) { break; } else { - $i$02 = $24;$k$01 = $23; + $$03334 = $25;$$035 = $26; } } } - HEAP32[$agg$result>>2] = $2; - $25 = ((($agg$result)) + 4|0); - HEAP32[$25>>2] = $width; - $26 = ((($agg$result)) + 8|0); - HEAP32[$26>>2] = $height; - $27 = ((($agg$result)) + 12|0); - HEAP32[$27>>2] = 1; - $28 = ((($agg$result)) + 16|0); - HEAP32[$28>>2] = 7; + HEAP32[$0>>2] = $6; + $$sroa$9$0$$sroa_idx18 = ((($0)) + 4|0); + HEAP32[$$sroa$9$0$$sroa_idx18>>2] = $2; + $$sroa$12$0$$sroa_idx21 = ((($0)) + 8|0); + HEAP32[$$sroa$12$0$$sroa_idx21>>2] = $3; + $$sroa$15$0$$sroa_idx24 = ((($0)) + 12|0); + HEAP32[$$sroa$15$0$$sroa_idx24>>2] = 1; + $$sroa$16$0$$sroa_idx26 = ((($0)) + 16|0); + HEAP32[$$sroa$16$0$$sroa_idx26>>2] = 7; return; } -function _LoadTexture($agg$result,$fileName) { - $agg$result = $agg$result|0; - $fileName = $fileName|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $image = 0, $image$byval_copy1 = 0, $texture$sroa$0$0 = 0, $texture$sroa$3 = 0, $vararg_buffer = 0, label = 0, sp = 0; +function _ImageFormat($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0166199 = 0, $$0167197 = 0, $$0168195 = 0, $$0169192 = 0, $$0170190 = 0, $$0171188 = 0, $$0172189 = 0, $$0202 = 0, $$1194 = 0, $$2201 = 0, $$byval_copy = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0.0, $103 = 0.0, $104 = 0.0, $105 = 0, $106 = 0, $107 = 0; + var $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0; + var $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0; + var $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0; + var $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0.0, $17 = 0, $170 = 0.0, $171 = 0.0, $172 = 0, $173 = 0, $174 = 0, $175 = 0.0, $176 = 0.0, $177 = 0.0, $178 = 0, $179 = 0, $18 = 0; + var $180 = 0, $181 = 0.0, $182 = 0.0, $183 = 0.0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0.0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0; + var $199 = 0, $2 = 0, $20 = 0.0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0; + var $216 = 0, $217 = 0, $218 = 0.0, $219 = 0.0, $22 = 0, $220 = 0.0, $221 = 0, $222 = 0, $223 = 0, $224 = 0.0, $225 = 0.0, $226 = 0.0, $227 = 0, $228 = 0, $229 = 0, $23 = 0.0, $230 = 0.0, $231 = 0.0, $232 = 0.0, $233 = 0; + var $234 = 0, $235 = 0, $236 = 0.0, $237 = 0.0, $238 = 0.0, $239 = 0, $24 = 0.0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0.0, $250 = 0, $251 = 0; + var $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0; + var $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0.0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0; + var $289 = 0, $29 = 0.0, $290 = 0, $3 = 0, $30 = 0.0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0.0, $53 = 0.0, $54 = 0, $55 = 0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0, $6 = 0, $60 = 0, $61 = 0.0, $62 = 0.0; + var $63 = 0.0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0; + var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0.0, $91 = 0.0, $92 = 0.0, $93 = 0, $94 = 0, $95 = 0, $96 = 0.0, $97 = 0.0, $98 = 0.0, $99 = 0; + var $or$cond = 0, $roundf = 0.0, $roundf173 = 0.0, $roundf174 = 0.0, $roundf175 = 0.0, $roundf176 = 0.0, $roundf177 = 0.0, $roundf178 = 0.0, $roundf179 = 0.0, $roundf180 = 0.0, $roundf181 = 0.0, $vararg_buffer = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 96|0; - $image$byval_copy1 = sp + 64|0; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $$byval_copy = sp + 4|0; $vararg_buffer = sp; - $texture$sroa$3 = sp + 8|0; - $image = sp + 24|0; - $0 = sp + 44|0; - _LoadImage($image,$fileName); - $1 = HEAP32[$image>>2]|0; - $2 = ($1|0)==(0|0); - if ($2) { - _TraceLog(2,14640,$vararg_buffer); - $texture$sroa$0$0 = 0; - } else { - ;HEAP32[$image$byval_copy1>>2]=HEAP32[$image>>2]|0;HEAP32[$image$byval_copy1+4>>2]=HEAP32[$image+4>>2]|0;HEAP32[$image$byval_copy1+8>>2]=HEAP32[$image+8>>2]|0;HEAP32[$image$byval_copy1+12>>2]=HEAP32[$image+12>>2]|0;HEAP32[$image$byval_copy1+16>>2]=HEAP32[$image+16>>2]|0; - _LoadTextureFromImage($0,$image$byval_copy1); - $3 = HEAP32[$0>>2]|0; - $4 = ((($0)) + 4|0); - ;HEAP32[$texture$sroa$3>>2]=HEAP32[$4>>2]|0;HEAP32[$texture$sroa$3+4>>2]=HEAP32[$4+4>>2]|0;HEAP32[$texture$sroa$3+8>>2]=HEAP32[$4+8>>2]|0;HEAP32[$texture$sroa$3+12>>2]=HEAP32[$4+12>>2]|0; - ;HEAP32[$image$byval_copy1>>2]=HEAP32[$image>>2]|0;HEAP32[$image$byval_copy1+4>>2]=HEAP32[$image+4>>2]|0;HEAP32[$image$byval_copy1+8>>2]=HEAP32[$image+8>>2]|0;HEAP32[$image$byval_copy1+12>>2]=HEAP32[$image+12>>2]|0;HEAP32[$image$byval_copy1+16>>2]=HEAP32[$image+16>>2]|0; - _UnloadImage($image$byval_copy1); - $texture$sroa$0$0 = $3; - } - HEAP32[$agg$result>>2] = $texture$sroa$0$0; - $5 = ((($agg$result)) + 4|0); - ;HEAP32[$5>>2]=HEAP32[$texture$sroa$3>>2]|0;HEAP32[$5+4>>2]=HEAP32[$texture$sroa$3+4>>2]|0;HEAP32[$5+8>>2]=HEAP32[$texture$sroa$3+8>>2]|0;HEAP32[$5+12>>2]=HEAP32[$texture$sroa$3+12>>2]|0; - STACKTOP = sp;return; -} -function _LoadTextureFromImage($agg$result,$image) { - $agg$result = $agg$result|0; - $image = $image|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[$image>>2]|0; - $1 = ((($image)) + 4|0); - $2 = HEAP32[$1>>2]|0; - $3 = ((($image)) + 8|0); - $4 = HEAP32[$3>>2]|0; - $5 = ((($image)) + 16|0); - $6 = HEAP32[$5>>2]|0; - $7 = ((($image)) + 12|0); - $8 = HEAP32[$7>>2]|0; - $9 = (_rlglLoadTexture($0,$2,$4,$6,$8)|0); - $10 = HEAP32[$1>>2]|0; - $11 = HEAP32[$3>>2]|0; - $12 = HEAP32[$7>>2]|0; - $13 = HEAP32[$5>>2]|0; - HEAP32[$agg$result>>2] = $9; - $14 = ((($agg$result)) + 4|0); - HEAP32[$14>>2] = $10; - $15 = ((($agg$result)) + 8|0); - HEAP32[$15>>2] = $11; - $16 = ((($agg$result)) + 12|0); - HEAP32[$16>>2] = $12; - $17 = ((($agg$result)) + 16|0); - HEAP32[$17>>2] = $13; - return; -} -function _UnloadImage($image) { - $image = $image|0; - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[$image>>2]|0; - _free($0); - return; -} -function _UnloadTexture($texture) { - $texture = $texture|0; - var $0 = 0, $1 = 0, $2 = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $vararg_buffer = sp; - $0 = HEAP32[$texture>>2]|0; - $1 = ($0|0)==(0); - if ($1) { - STACKTOP = sp;return; - } - _rlDeleteTextures($0); - $2 = HEAP32[$texture>>2]|0; - HEAP32[$vararg_buffer>>2] = $2; - _TraceLog(0,14672,$vararg_buffer); - STACKTOP = sp;return; -} -function _GetImageData($image) { - $image = $image|0; - var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0.0, $105 = 0.0, $106 = 0, $107 = 0, $108 = 0, $109 = 0.0, $11 = 0, $110 = 0.0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0; - var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0; - var $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0.0, $47 = 0.0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0.0, $53 = 0.0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0.0; - var $59 = 0.0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0.0, $72 = 0.0, $73 = 0, $74 = 0, $75 = 0, $76 = 0; - var $77 = 0.0, $78 = 0.0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0.0, $83 = 0.0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0.0, $93 = 0.0, $94 = 0; - var $95 = 0, $96 = 0, $97 = 0, $98 = 0.0, $99 = 0.0, $i$01 = 0, $k$02 = 0, $k$1 = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $vararg_buffer = sp; - $0 = ((($image)) + 4|0); - $1 = HEAP32[$0>>2]|0; - $2 = ((($image)) + 8|0); + $2 = ((($0)) + 16|0); $3 = HEAP32[$2>>2]|0; - $4 = $1 << 2; - $5 = Math_imul($4, $3)|0; - $6 = (_malloc($5)|0); - $7 = HEAP32[$0>>2]|0; - $8 = HEAP32[$2>>2]|0; - $9 = Math_imul($8, $7)|0; - $10 = ($9|0)>(0); - if (!($10)) { - STACKTOP = sp;return ($6|0); - } - $11 = ((($image)) + 16|0); - $12 = HEAP32[$11>>2]|0; - $13 = HEAP32[$0>>2]|0; - $14 = HEAP32[$2>>2]|0; - $15 = Math_imul($14, $13)|0; - $16 = HEAP32[$image>>2]|0; - $i$01 = 0;$k$02 = 0; - while(1) { - switch ($12|0) { - case 2: { - $28 = (($16) + ($k$02)|0); - $29 = HEAP8[$28>>0]|0; - $30 = (($6) + ($i$01<<2)|0); - HEAP8[$30>>0] = $29; - $31 = (($16) + ($k$02)|0); - $32 = HEAP8[$31>>0]|0; - $33 = (((($6) + ($i$01<<2)|0)) + 1|0); - HEAP8[$33>>0] = $32; - $34 = (($16) + ($k$02)|0); - $35 = HEAP8[$34>>0]|0; - $36 = (((($6) + ($i$01<<2)|0)) + 2|0); - HEAP8[$36>>0] = $35; - $37 = (($k$02) + 1)|0; - $38 = (($16) + ($37)|0); - $39 = HEAP8[$38>>0]|0; - $40 = (((($6) + ($i$01<<2)|0)) + 3|0); - HEAP8[$40>>0] = $39; - $41 = (($k$02) + 2)|0; - $k$1 = $41; - break; - } - case 3: { - $67 = (($16) + ($k$02<<1)|0); - $68 = HEAP16[$67>>1]|0; - $69 = $68&65535; - $70 = $69 >>> 11; - $71 = (+($70|0)); - $72 = $71 * 8.0; - $73 = (~~(($72))&255); - $74 = (($6) + ($i$01<<2)|0); - HEAP8[$74>>0] = $73; - $75 = $69 >>> 5; - $76 = $75 & 63; - $77 = (+($76|0)); - $78 = $77 * 4.0; - $79 = (~~(($78))&255); - $80 = (((($6) + ($i$01<<2)|0)) + 1|0); - HEAP8[$80>>0] = $79; - $81 = $69 & 31; - $82 = (+($81|0)); - $83 = $82 * 8.0; - $84 = (~~(($83))&255); - $85 = (((($6) + ($i$01<<2)|0)) + 2|0); - HEAP8[$85>>0] = $84; - $86 = (((($6) + ($i$01<<2)|0)) + 3|0); - HEAP8[$86>>0] = -1; - $87 = (($k$02) + 1)|0; - $k$1 = $87; - break; - } - case 4: { - $130 = (($16) + ($k$02)|0); - $131 = HEAP8[$130>>0]|0; - $132 = (($6) + ($i$01<<2)|0); - HEAP8[$132>>0] = $131; - $133 = (($k$02) + 1)|0; - $134 = (($16) + ($133)|0); - $135 = HEAP8[$134>>0]|0; - $136 = (((($6) + ($i$01<<2)|0)) + 1|0); - HEAP8[$136>>0] = $135; - $137 = (($k$02) + 2)|0; - $138 = (($16) + ($137)|0); - $139 = HEAP8[$138>>0]|0; - $140 = (((($6) + ($i$01<<2)|0)) + 2|0); - HEAP8[$140>>0] = $139; - $141 = (((($6) + ($i$01<<2)|0)) + 3|0); - HEAP8[$141>>0] = -1; - $142 = (($k$02) + 3)|0; - $k$1 = $142; - break; - } - case 6: { - $88 = (($16) + ($k$02<<1)|0); - $89 = HEAP16[$88>>1]|0; - $90 = $89&65535; - $91 = $90 >>> 12; - $92 = (+($91|0)); - $93 = $92 * 17.0; - $94 = (~~(($93))&255); - $95 = (($6) + ($i$01<<2)|0); - HEAP8[$95>>0] = $94; - $96 = $90 >>> 8; - $97 = $96 & 15; - $98 = (+($97|0)); - $99 = $98 * 17.0; - $100 = (~~(($99))&255); - $101 = (((($6) + ($i$01<<2)|0)) + 1|0); - HEAP8[$101>>0] = $100; - $102 = $90 >>> 4; - $103 = $102 & 15; - $104 = (+($103|0)); - $105 = $104 * 17.0; - $106 = (~~(($105))&255); - $107 = (((($6) + ($i$01<<2)|0)) + 2|0); - HEAP8[$107>>0] = $106; - $108 = $90 & 15; - $109 = (+($108|0)); - $110 = $109 * 17.0; - $111 = (~~(($110))&255); - $112 = (((($6) + ($i$01<<2)|0)) + 3|0); - HEAP8[$112>>0] = $111; - $113 = (($k$02) + 1)|0; - $k$1 = $113; - break; - } - case 7: { - $114 = (($16) + ($k$02)|0); - $115 = HEAP8[$114>>0]|0; - $116 = (($6) + ($i$01<<2)|0); - HEAP8[$116>>0] = $115; - $117 = (($k$02) + 1)|0; - $118 = (($16) + ($117)|0); - $119 = HEAP8[$118>>0]|0; - $120 = (((($6) + ($i$01<<2)|0)) + 1|0); - HEAP8[$120>>0] = $119; - $121 = (($k$02) + 2)|0; - $122 = (($16) + ($121)|0); - $123 = HEAP8[$122>>0]|0; - $124 = (((($6) + ($i$01<<2)|0)) + 2|0); - HEAP8[$124>>0] = $123; - $125 = (($k$02) + 3)|0; - $126 = (($16) + ($125)|0); - $127 = HEAP8[$126>>0]|0; - $128 = (((($6) + ($i$01<<2)|0)) + 3|0); - HEAP8[$128>>0] = $127; - $129 = (($k$02) + 4)|0; - $k$1 = $129; - break; - } - case 5: { - $42 = (($16) + ($k$02<<1)|0); - $43 = HEAP16[$42>>1]|0; - $44 = $43&65535; - $45 = $44 >>> 11; - $46 = (+($45|0)); - $47 = $46 * 8.0; - $48 = (~~(($47))&255); - $49 = (($6) + ($i$01<<2)|0); - HEAP8[$49>>0] = $48; - $50 = $44 >>> 6; - $51 = $50 & 31; - $52 = (+($51|0)); - $53 = $52 * 8.0; - $54 = (~~(($53))&255); - $55 = (((($6) + ($i$01<<2)|0)) + 1|0); - HEAP8[$55>>0] = $54; - $56 = $44 >>> 1; - $57 = $56 & 31; - $58 = (+($57|0)); - $59 = $58 * 8.0; - $60 = (~~(($59))&255); - $61 = (((($6) + ($i$01<<2)|0)) + 2|0); - HEAP8[$61>>0] = $60; - $62 = $44 & 1; - $63 = (0 - ($62))|0; - $64 = $63&255; - $65 = (((($6) + ($i$01<<2)|0)) + 3|0); - HEAP8[$65>>0] = $64; - $66 = (($k$02) + 1)|0; - $k$1 = $66; - break; - } - case 1: { - $17 = (($16) + ($k$02)|0); - $18 = HEAP8[$17>>0]|0; - $19 = (($6) + ($i$01<<2)|0); - HEAP8[$19>>0] = $18; - $20 = (($16) + ($k$02)|0); - $21 = HEAP8[$20>>0]|0; - $22 = (((($6) + ($i$01<<2)|0)) + 1|0); - HEAP8[$22>>0] = $21; - $23 = (($16) + ($k$02)|0); - $24 = HEAP8[$23>>0]|0; - $25 = (((($6) + ($i$01<<2)|0)) + 2|0); - HEAP8[$25>>0] = $24; - $26 = (((($6) + ($i$01<<2)|0)) + 3|0); - HEAP8[$26>>0] = -1; - $27 = (($k$02) + 1)|0; - $k$1 = $27; - break; - } - default: { - _TraceLog(2,14728,$vararg_buffer); - $k$1 = $k$02; - } - } - $143 = (($i$01) + 1)|0; - $144 = ($143|0)<($15|0); - if ($144) { - $i$01 = $143;$k$02 = $k$1; - } else { - break; - } - } - STACKTOP = sp;return ($6|0); -} -function _ImageFormat($image,$newFormat) { - $image = $image|0; - $newFormat = $newFormat|0; - var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0.0, $104 = 0.0, $105 = 0.0, $106 = 0, $107 = 0, $108 = 0, $109 = 0.0, $11 = 0, $110 = 0.0, $111 = 0.0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; - var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0.0, $175 = 0.0, $176 = 0.0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0.0, $181 = 0.0, $182 = 0.0, $183 = 0, $184 = 0, $185 = 0, $186 = 0.0, $187 = 0.0, $188 = 0.0; - var $189 = 0, $19 = 0.0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0.0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0; - var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0; - var $224 = 0.0, $225 = 0.0, $226 = 0.0, $227 = 0, $228 = 0, $229 = 0, $23 = 0.0, $230 = 0.0, $231 = 0.0, $232 = 0.0, $233 = 0, $234 = 0, $235 = 0, $236 = 0.0, $237 = 0.0, $238 = 0.0, $239 = 0, $24 = 0.0, $240 = 0, $241 = 0; - var $242 = 0.0, $243 = 0.0, $244 = 0.0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0.0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0; - var $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0; - var $279 = 0, $28 = 0.0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0.0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0; - var $297 = 0, $3 = 0, $30 = 0.0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; - var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0.0, $54 = 0.0, $55 = 0, $56 = 0, $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0, $61 = 0, $62 = 0.0, $63 = 0.0, $64 = 0.0; - var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0; - var $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0.0, $98 = 0.0, $99 = 0.0, $i1$019 = 0, $i12$032 = 0; - var $i13$035 = 0, $i3$025 = 0, $image$byval_copy = 0, $k$018 = 0, $k$120 = 0, $k$223 = 0, $k$326 = 0, $k$429 = 0, $k$634 = 0, $or$cond = 0, $roundf = 0.0, $roundf10 = 0.0, $roundf2 = 0.0, $roundf3 = 0.0, $roundf4 = 0.0, $roundf5 = 0.0, $roundf6 = 0.0, $roundf7 = 0.0, $roundf8 = 0.0, $roundf9 = 0.0; - var $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $image$byval_copy = sp + 4|0; - $vararg_buffer = sp; - $0 = ((($image)) + 16|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)==($newFormat|0); - if ($2) { + $4 = ($3|0)==($1|0); + if ($4) { STACKTOP = sp;return; } - $3 = ($1|0)<(8); - $4 = ($newFormat|0)<(8); - $or$cond = $4 & $3; + $5 = ($3|0)<(8); + $6 = ($1|0)<(8); + $or$cond = $6 & $5; if (!($or$cond)) { - _TraceLog(2,14776,$vararg_buffer); + _TraceLog(1,9323,$vararg_buffer); STACKTOP = sp;return; } - ;HEAP32[$image$byval_copy>>2]=HEAP32[$image>>2]|0;HEAP32[$image$byval_copy+4>>2]=HEAP32[$image+4>>2]|0;HEAP32[$image$byval_copy+8>>2]=HEAP32[$image+8>>2]|0;HEAP32[$image$byval_copy+12>>2]=HEAP32[$image+12>>2]|0;HEAP32[$image$byval_copy+16>>2]=HEAP32[$image+16>>2]|0; - $5 = (_GetImageData($image$byval_copy)|0); - $6 = HEAP32[$image>>2]|0; - _free($6); - HEAP32[$0>>2] = $newFormat; - switch ($newFormat|0) { - case 4: { - $124 = ((($image)) + 4|0); - $125 = HEAP32[$124>>2]|0; - $126 = ((($image)) + 8|0); - $127 = HEAP32[$126>>2]|0; - $128 = ($125*3)|0; - $129 = Math_imul($128, $127)|0; - $130 = (_malloc($129)|0); - HEAP32[$image>>2] = $130; - $131 = HEAP32[$124>>2]|0; - $132 = HEAP32[$126>>2]|0; - $133 = ($131*3)|0; - $134 = Math_imul($133, $132)|0; - $135 = ($134|0)>(0); - if ($135) { - $i3$025 = 0;$k$326 = 0; + ;HEAP32[$$byval_copy>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$0+16>>2]|0; + $7 = (_GetImageData($$byval_copy)|0); + $8 = HEAP32[$0>>2]|0; + _free($8); + HEAP32[$2>>2] = $1; + switch ($1|0) { + case 1: { + $9 = ((($0)) + 4|0); + $10 = HEAP32[$9>>2]|0; + $11 = ((($0)) + 8|0); + $12 = HEAP32[$11>>2]|0; + $13 = Math_imul($12, $10)|0; + $14 = (_malloc($13)|0); + HEAP32[$0>>2] = $14; + $15 = Math_imul($12, $10)|0; + $16 = ($15|0)>(0); + if ($16) { + $$0171188 = 0; while(1) { - $136 = (($5) + ($k$326<<2)|0); - $137 = HEAP8[$136>>0]|0; - $138 = HEAP32[$image>>2]|0; - $139 = (($138) + ($i3$025)|0); - HEAP8[$139>>0] = $137; - $140 = (((($5) + ($k$326<<2)|0)) + 1|0); - $141 = HEAP8[$140>>0]|0; - $142 = (($i3$025) + 1)|0; - $143 = HEAP32[$image>>2]|0; - $144 = (($143) + ($142)|0); - HEAP8[$144>>0] = $141; - $145 = (((($5) + ($k$326<<2)|0)) + 2|0); - $146 = HEAP8[$145>>0]|0; - $147 = (($i3$025) + 2)|0; - $148 = HEAP32[$image>>2]|0; - $149 = (($148) + ($147)|0); - HEAP8[$149>>0] = $146; - $150 = (($k$326) + 1)|0; - $151 = (($i3$025) + 3)|0; - $152 = HEAP32[$124>>2]|0; - $153 = HEAP32[$126>>2]|0; - $154 = ($152*3)|0; - $155 = Math_imul($154, $153)|0; - $156 = ($151|0)<($155|0); - if ($156) { - $i3$025 = $151;$k$326 = $150; - } else { - break; - } - } - } - break; - } - case 6: { - $207 = ((($image)) + 4|0); - $208 = HEAP32[$207>>2]|0; - $209 = ((($image)) + 8|0); - $210 = HEAP32[$209>>2]|0; - $211 = $208 << 1; - $212 = Math_imul($211, $210)|0; - $213 = (_malloc($212)|0); - HEAP32[$image>>2] = $213; - $214 = HEAP32[$207>>2]|0; - $215 = HEAP32[$209>>2]|0; - $216 = Math_imul($215, $214)|0; - $217 = ($216|0)>(0); - if ($217) { - $218 = HEAP32[$image>>2]|0; - $219 = HEAP32[$207>>2]|0; - $220 = HEAP32[$209>>2]|0; - $221 = Math_imul($220, $219)|0; - $i12$032 = 0; - while(1) { - $222 = (($5) + ($i12$032<<2)|0); - $223 = HEAP8[$222>>0]|0; - $224 = (+($223&255)); - $225 = $224 * 15.0; - $226 = $225 / 255.0; - $roundf = (+_roundf($226)); - $227 = (~~(($roundf))&255); - $228 = (((($5) + ($i12$032<<2)|0)) + 1|0); - $229 = HEAP8[$228>>0]|0; - $230 = (+($229&255)); - $231 = $230 * 15.0; - $232 = $231 / 255.0; - $roundf2 = (+_roundf($232)); - $233 = (~~(($roundf2))&255); - $234 = (((($5) + ($i12$032<<2)|0)) + 2|0); - $235 = HEAP8[$234>>0]|0; - $236 = (+($235&255)); - $237 = $236 * 15.0; - $238 = $237 / 255.0; - $roundf3 = (+_roundf($238)); - $239 = (~~(($roundf3))&255); - $240 = (((($5) + ($i12$032<<2)|0)) + 3|0); - $241 = HEAP8[$240>>0]|0; - $242 = (+($241&255)); - $243 = $242 * 15.0; - $244 = $243 / 255.0; - $roundf4 = (+_roundf($244)); - $245 = (~~(($roundf4))&255); - $246 = $227&255; - $247 = $246 << 12; - $248 = $233&255; - $249 = $248 << 8; - $250 = $249 | $247; - $251 = $239&255; - $252 = $251 << 4; - $253 = $250 | $252; - $254 = $245&255; - $255 = $253 | $254; - $256 = $255&65535; - $257 = (($218) + ($i12$032<<1)|0); - HEAP16[$257>>1] = $256; - $258 = (($i12$032) + 1)|0; - $259 = ($258|0)<($221|0); - if ($259) { - $i12$032 = $258; + $17 = (($7) + ($$0171188<<2)|0); + $18 = HEAP8[$17>>0]|0; + $19 = (+($18&255)); + $20 = $19 * 0.29899999499320984; + $21 = (((($7) + ($$0171188<<2)|0)) + 1|0); + $22 = HEAP8[$21>>0]|0; + $23 = (+($22&255)); + $24 = $23 * 0.58700001239776611; + $25 = $20 + $24; + $26 = (((($7) + ($$0171188<<2)|0)) + 2|0); + $27 = HEAP8[$26>>0]|0; + $28 = (+($27&255)); + $29 = $28 * 0.11400000005960464; + $30 = $25 + $29; + $31 = (~~(($30))&255); + $32 = HEAP32[$0>>2]|0; + $33 = (($32) + ($$0171188)|0); + HEAP8[$33>>0] = $31; + $34 = (($$0171188) + 1)|0; + $35 = HEAP32[$9>>2]|0; + $36 = HEAP32[$11>>2]|0; + $37 = Math_imul($36, $35)|0; + $38 = ($34|0)<($37|0); + if ($38) { + $$0171188 = $34; } else { break; } @@ -23320,179 +21581,54 @@ function _ImageFormat($image,$newFormat) { break; } case 2: { - $39 = ((($image)) + 4|0); + $39 = ((($0)) + 4|0); $40 = HEAP32[$39>>2]|0; - $41 = ((($image)) + 8|0); + $41 = ((($0)) + 8|0); $42 = HEAP32[$41>>2]|0; $43 = $40 << 1; $44 = Math_imul($43, $42)|0; $45 = (_malloc($44)|0); - HEAP32[$image>>2] = $45; + HEAP32[$0>>2] = $45; $46 = HEAP32[$39>>2]|0; - $47 = HEAP32[$41>>2]|0; - $48 = $46 << 1; - $49 = Math_imul($48, $47)|0; - $50 = ($49|0)>(0); - if ($50) { - $i1$019 = 0;$k$120 = 0; + $47 = $46 << 1; + $48 = Math_imul($47, $42)|0; + $49 = ($48|0)>(0); + if ($49) { + $$0170190 = 0;$$0172189 = 0; while(1) { - $51 = (($5) + ($k$120<<2)|0); - $52 = HEAP8[$51>>0]|0; - $53 = (+($52&255)); - $54 = $53 * 0.29899999499320984; - $55 = (((($5) + ($k$120<<2)|0)) + 1|0); - $56 = HEAP8[$55>>0]|0; - $57 = (+($56&255)); - $58 = $57 * 0.58700001239776611; - $59 = $54 + $58; - $60 = (((($5) + ($k$120<<2)|0)) + 2|0); - $61 = HEAP8[$60>>0]|0; - $62 = (+($61&255)); - $63 = $62 * 0.11400000005960464; - $64 = $59 + $63; - $65 = (~~(($64))&255); - $66 = HEAP32[$image>>2]|0; - $67 = (($66) + ($i1$019)|0); - HEAP8[$67>>0] = $65; - $68 = (((($5) + ($k$120<<2)|0)) + 3|0); - $69 = HEAP8[$68>>0]|0; - $70 = $i1$019 | 1; - $71 = HEAP32[$image>>2]|0; - $72 = (($71) + ($70)|0); - HEAP8[$72>>0] = $69; - $73 = (($k$120) + 1)|0; - $74 = (($i1$019) + 2)|0; - $75 = HEAP32[$39>>2]|0; - $76 = HEAP32[$41>>2]|0; - $77 = $75 << 1; - $78 = Math_imul($77, $76)|0; - $79 = ($74|0)<($78|0); - if ($79) { - $i1$019 = $74;$k$120 = $73; - } else { - break; - } - } - } - break; - } - case 7: { - $260 = ((($image)) + 4|0); - $261 = HEAP32[$260>>2]|0; - $262 = ((($image)) + 8|0); - $263 = HEAP32[$262>>2]|0; - $264 = $261 << 2; - $265 = Math_imul($264, $263)|0; - $266 = (_malloc($265)|0); - HEAP32[$image>>2] = $266; - $267 = HEAP32[$260>>2]|0; - $268 = HEAP32[$262>>2]|0; - $269 = $267 << 2; - $270 = Math_imul($269, $268)|0; - $271 = ($270|0)>(0); - if ($271) { - $i13$035 = 0;$k$634 = 0; - while(1) { - $272 = (($5) + ($k$634<<2)|0); - $273 = HEAP8[$272>>0]|0; - $274 = HEAP32[$image>>2]|0; - $275 = (($274) + ($i13$035)|0); - HEAP8[$275>>0] = $273; - $276 = (((($5) + ($k$634<<2)|0)) + 1|0); - $277 = HEAP8[$276>>0]|0; - $278 = $i13$035 | 1; - $279 = HEAP32[$image>>2]|0; - $280 = (($279) + ($278)|0); - HEAP8[$280>>0] = $277; - $281 = (((($5) + ($k$634<<2)|0)) + 2|0); - $282 = HEAP8[$281>>0]|0; - $283 = $i13$035 | 2; - $284 = HEAP32[$image>>2]|0; - $285 = (($284) + ($283)|0); - HEAP8[$285>>0] = $282; - $286 = (((($5) + ($k$634<<2)|0)) + 3|0); - $287 = HEAP8[$286>>0]|0; - $288 = $i13$035 | 3; - $289 = HEAP32[$image>>2]|0; - $290 = (($289) + ($288)|0); - HEAP8[$290>>0] = $287; - $291 = (($k$634) + 1)|0; - $292 = (($i13$035) + 4)|0; - $293 = HEAP32[$260>>2]|0; - $294 = HEAP32[$262>>2]|0; - $295 = $293 << 2; - $296 = Math_imul($295, $294)|0; - $297 = ($292|0)<($296|0); - if ($297) { - $i13$035 = $292;$k$634 = $291; - } else { - break; - } - } - } - break; - } - case 5: { - $157 = ((($image)) + 4|0); - $158 = HEAP32[$157>>2]|0; - $159 = ((($image)) + 8|0); - $160 = HEAP32[$159>>2]|0; - $161 = $158 << 1; - $162 = Math_imul($161, $160)|0; - $163 = (_malloc($162)|0); - HEAP32[$image>>2] = $163; - $164 = HEAP32[$157>>2]|0; - $165 = HEAP32[$159>>2]|0; - $166 = Math_imul($165, $164)|0; - $167 = ($166|0)>(0); - if ($167) { - $168 = HEAP32[$image>>2]|0; - $169 = HEAP32[$157>>2]|0; - $170 = HEAP32[$159>>2]|0; - $171 = Math_imul($170, $169)|0; - $k$429 = 0; - while(1) { - $172 = (($5) + ($k$429<<2)|0); - $173 = HEAP8[$172>>0]|0; - $174 = (+($173&255)); - $175 = $174 * 31.0; - $176 = $175 / 255.0; - $roundf5 = (+_roundf($176)); - $177 = (~~(($roundf5))&255); - $178 = (((($5) + ($k$429<<2)|0)) + 1|0); - $179 = HEAP8[$178>>0]|0; - $180 = (+($179&255)); - $181 = $180 * 31.0; - $182 = $181 / 255.0; - $roundf6 = (+_roundf($182)); - $183 = (~~(($roundf6))&255); - $184 = (((($5) + ($k$429<<2)|0)) + 2|0); - $185 = HEAP8[$184>>0]|0; - $186 = (+($185&255)); - $187 = $186 * 31.0; - $188 = $187 / 255.0; - $roundf7 = (+_roundf($188)); - $189 = (~~(($roundf7))&255); - $190 = (((($5) + ($k$429<<2)|0)) + 3|0); - $191 = HEAP8[$190>>0]|0; - $192 = ($191&255)>(50); - $193 = $177&255; - $194 = $193 << 11; - $195 = $183&255; - $196 = $195 << 6; - $197 = $196 | $194; - $198 = $189&255; - $199 = $198 << 1; - $200 = $197 | $199; - $201 = $192&1; - $202 = $200 | $201; - $203 = $202&65535; - $204 = (($168) + ($k$429<<1)|0); - HEAP16[$204>>1] = $203; - $205 = (($k$429) + 1)|0; - $206 = ($205|0)<($171|0); - if ($206) { - $k$429 = $205; + $50 = (($7) + ($$0172189<<2)|0); + $51 = HEAP8[$50>>0]|0; + $52 = (+($51&255)); + $53 = $52 * 0.29899999499320984; + $54 = (((($7) + ($$0172189<<2)|0)) + 1|0); + $55 = HEAP8[$54>>0]|0; + $56 = (+($55&255)); + $57 = $56 * 0.58700001239776611; + $58 = $53 + $57; + $59 = (((($7) + ($$0172189<<2)|0)) + 2|0); + $60 = HEAP8[$59>>0]|0; + $61 = (+($60&255)); + $62 = $61 * 0.11400000005960464; + $63 = $58 + $62; + $64 = (~~(($63))&255); + $65 = HEAP32[$0>>2]|0; + $66 = (($65) + ($$0170190)|0); + HEAP8[$66>>0] = $64; + $67 = (((($7) + ($$0172189<<2)|0)) + 3|0); + $68 = HEAP8[$67>>0]|0; + $69 = HEAP32[$0>>2]|0; + $70 = $$0170190 | 1; + $71 = (($69) + ($70)|0); + HEAP8[$71>>0] = $68; + $72 = (($$0172189) + 1)|0; + $73 = (($$0170190) + 2)|0; + $74 = HEAP32[$39>>2]|0; + $75 = HEAP32[$41>>2]|0; + $76 = $74 << 1; + $77 = Math_imul($76, $75)|0; + $78 = ($73|0)<($77|0); + if ($78) { + $$0170190 = $73;$$0172189 = $72; } else { break; } @@ -23501,60 +21637,58 @@ function _ImageFormat($image,$newFormat) { break; } case 3: { - $80 = ((($image)) + 4|0); - $81 = HEAP32[$80>>2]|0; - $82 = ((($image)) + 8|0); - $83 = HEAP32[$82>>2]|0; - $84 = $81 << 1; - $85 = Math_imul($84, $83)|0; - $86 = (_malloc($85)|0); - HEAP32[$image>>2] = $86; - $87 = HEAP32[$80>>2]|0; - $88 = HEAP32[$82>>2]|0; - $89 = Math_imul($88, $87)|0; - $90 = ($89|0)>(0); - if ($90) { - $91 = HEAP32[$image>>2]|0; - $92 = HEAP32[$80>>2]|0; - $93 = HEAP32[$82>>2]|0; - $94 = Math_imul($93, $92)|0; - $k$223 = 0; + $79 = ((($0)) + 4|0); + $80 = HEAP32[$79>>2]|0; + $81 = ((($0)) + 8|0); + $82 = HEAP32[$81>>2]|0; + $83 = $80 << 1; + $84 = Math_imul($83, $82)|0; + $85 = (_malloc($84)|0); + HEAP32[$0>>2] = $85; + $86 = HEAP32[$79>>2]|0; + $87 = Math_imul($82, $86)|0; + $88 = ($87|0)>(0); + if ($88) { + $89 = HEAP8[$7>>0]|0; + $90 = (+($89&255)); + $91 = $90 * 31.0; + $92 = $91 / 255.0; + $roundf179 = (+_roundf((+$92))); + $93 = (~~(($roundf179))&255); + $94 = ((($7)) + 1|0); + $95 = HEAP8[$94>>0]|0; + $96 = (+($95&255)); + $97 = $96 * 63.0; + $98 = $97 / 255.0; + $roundf180 = (+_roundf((+$98))); + $99 = (~~(($roundf180))&255); + $100 = ((($7)) + 2|0); + $101 = HEAP8[$100>>0]|0; + $102 = (+($101&255)); + $103 = $102 * 31.0; + $104 = $103 / 255.0; + $roundf181 = (+_roundf((+$104))); + $105 = (~~(($roundf181))&255); + $106 = $93&255; + $107 = $106 << 11; + $108 = $99&255; + $109 = $108 << 5; + $110 = $109 | $107; + $111 = $105&255; + $112 = $110 | $111; + $113 = $112&65535; + $114 = HEAP32[$0>>2]|0; + $115 = HEAP32[$79>>2]|0; + $116 = HEAP32[$81>>2]|0; + $117 = Math_imul($116, $115)|0; + $$0169192 = 0; while(1) { - $95 = (($5) + ($k$223<<2)|0); - $96 = HEAP8[$95>>0]|0; - $97 = (+($96&255)); - $98 = $97 * 31.0; - $99 = $98 / 255.0; - $roundf8 = (+_roundf($99)); - $100 = (~~(($roundf8))&255); - $101 = (((($5) + ($k$223<<2)|0)) + 1|0); - $102 = HEAP8[$101>>0]|0; - $103 = (+($102&255)); - $104 = $103 * 63.0; - $105 = $104 / 255.0; - $roundf9 = (+_roundf($105)); - $106 = (~~(($roundf9))&255); - $107 = (((($5) + ($k$223<<2)|0)) + 2|0); - $108 = HEAP8[$107>>0]|0; - $109 = (+($108&255)); - $110 = $109 * 31.0; - $111 = $110 / 255.0; - $roundf10 = (+_roundf($111)); - $112 = (~~(($roundf10))&255); - $113 = $100&255; - $114 = $113 << 11; - $115 = $106&255; - $116 = $115 << 5; - $117 = $116 | $114; - $118 = $112&255; - $119 = $117 | $118; - $120 = $119&65535; - $121 = (($91) + ($k$223<<1)|0); - HEAP16[$121>>1] = $120; - $122 = (($k$223) + 1)|0; - $123 = ($122|0)<($94|0); - if ($123) { - $k$223 = $122; + $118 = (($114) + ($$0169192<<1)|0); + HEAP16[$118>>1] = $113; + $119 = (($$0169192) + 1)|0; + $120 = ($119|0)<($117|0); + if ($120) { + $$0169192 = $119; } else { break; } @@ -23562,46 +21696,241 @@ function _ImageFormat($image,$newFormat) { } break; } - case 1: { - $7 = ((($image)) + 4|0); - $8 = HEAP32[$7>>2]|0; - $9 = ((($image)) + 8|0); - $10 = HEAP32[$9>>2]|0; - $11 = Math_imul($10, $8)|0; - $12 = (_malloc($11)|0); - HEAP32[$image>>2] = $12; - $13 = HEAP32[$7>>2]|0; - $14 = HEAP32[$9>>2]|0; - $15 = Math_imul($14, $13)|0; - $16 = ($15|0)>(0); - if ($16) { - $k$018 = 0; + case 4: { + $121 = ((($0)) + 4|0); + $122 = HEAP32[$121>>2]|0; + $123 = ((($0)) + 8|0); + $124 = HEAP32[$123>>2]|0; + $125 = ($122*3)|0; + $126 = Math_imul($125, $124)|0; + $127 = (_malloc($126)|0); + HEAP32[$0>>2] = $127; + $128 = HEAP32[$121>>2]|0; + $129 = ($128*3)|0; + $130 = Math_imul($129, $124)|0; + $131 = ($130|0)>(0); + if ($131) { + $$0168195 = 0;$$1194 = 0; while(1) { - $17 = (($5) + ($k$018<<2)|0); - $18 = HEAP8[$17>>0]|0; - $19 = (+($18&255)); - $20 = $19 * 0.29899999499320984; - $21 = (((($5) + ($k$018<<2)|0)) + 1|0); - $22 = HEAP8[$21>>0]|0; - $23 = (+($22&255)); - $24 = $23 * 0.58700001239776611; - $25 = $20 + $24; - $26 = (((($5) + ($k$018<<2)|0)) + 2|0); - $27 = HEAP8[$26>>0]|0; - $28 = (+($27&255)); - $29 = $28 * 0.11400000005960464; - $30 = $25 + $29; - $31 = (~~(($30))&255); - $32 = HEAP32[$image>>2]|0; - $33 = (($32) + ($k$018)|0); - HEAP8[$33>>0] = $31; - $34 = (($k$018) + 1)|0; - $35 = HEAP32[$7>>2]|0; - $36 = HEAP32[$9>>2]|0; - $37 = Math_imul($36, $35)|0; - $38 = ($34|0)<($37|0); - if ($38) { - $k$018 = $34; + $132 = (($7) + ($$1194<<2)|0); + $133 = HEAP8[$132>>0]|0; + $134 = HEAP32[$0>>2]|0; + $135 = (($134) + ($$0168195)|0); + HEAP8[$135>>0] = $133; + $136 = (((($7) + ($$1194<<2)|0)) + 1|0); + $137 = HEAP8[$136>>0]|0; + $138 = HEAP32[$0>>2]|0; + $139 = (($$0168195) + 1)|0; + $140 = (($138) + ($139)|0); + HEAP8[$140>>0] = $137; + $141 = (((($7) + ($$1194<<2)|0)) + 2|0); + $142 = HEAP8[$141>>0]|0; + $143 = HEAP32[$0>>2]|0; + $144 = (($$0168195) + 2)|0; + $145 = (($143) + ($144)|0); + HEAP8[$145>>0] = $142; + $146 = (($$1194) + 1)|0; + $147 = (($$0168195) + 3)|0; + $148 = HEAP32[$121>>2]|0; + $149 = HEAP32[$123>>2]|0; + $150 = ($148*3)|0; + $151 = Math_imul($150, $149)|0; + $152 = ($147|0)<($151|0); + if ($152) { + $$0168195 = $147;$$1194 = $146; + } else { + break; + } + } + } + break; + } + case 5: { + $153 = ((($0)) + 4|0); + $154 = HEAP32[$153>>2]|0; + $155 = ((($0)) + 8|0); + $156 = HEAP32[$155>>2]|0; + $157 = $154 << 1; + $158 = Math_imul($157, $156)|0; + $159 = (_malloc($158)|0); + HEAP32[$0>>2] = $159; + $160 = HEAP32[$153>>2]|0; + $161 = Math_imul($156, $160)|0; + $162 = ($161|0)>(0); + if ($162) { + $163 = HEAP32[$0>>2]|0; + $164 = HEAP32[$153>>2]|0; + $165 = HEAP32[$155>>2]|0; + $166 = Math_imul($165, $164)|0; + $$0167197 = 0; + while(1) { + $167 = (($7) + ($$0167197<<2)|0); + $168 = HEAP8[$167>>0]|0; + $169 = (+($168&255)); + $170 = $169 * 31.0; + $171 = $170 / 255.0; + $roundf176 = (+_roundf((+$171))); + $172 = (~~(($roundf176))&255); + $173 = (((($7) + ($$0167197<<2)|0)) + 1|0); + $174 = HEAP8[$173>>0]|0; + $175 = (+($174&255)); + $176 = $175 * 31.0; + $177 = $176 / 255.0; + $roundf177 = (+_roundf((+$177))); + $178 = (~~(($roundf177))&255); + $179 = (((($7) + ($$0167197<<2)|0)) + 2|0); + $180 = HEAP8[$179>>0]|0; + $181 = (+($180&255)); + $182 = $181 * 31.0; + $183 = $182 / 255.0; + $roundf178 = (+_roundf((+$183))); + $184 = (~~(($roundf178))&255); + $185 = (((($7) + ($$0167197<<2)|0)) + 3|0); + $186 = HEAP8[$185>>0]|0; + $187 = ($186&255)>(50); + $188 = $172&255; + $189 = $188 << 11; + $190 = $178&255; + $191 = $190 << 6; + $192 = $191 | $189; + $193 = $184&255; + $194 = $193 << 1; + $195 = $192 | $194; + $196 = $187&1; + $197 = $195 | $196; + $198 = $197&65535; + $199 = (($163) + ($$0167197<<1)|0); + HEAP16[$199>>1] = $198; + $200 = (($$0167197) + 1)|0; + $201 = ($200|0)<($166|0); + if ($201) { + $$0167197 = $200; + } else { + break; + } + } + } + break; + } + case 6: { + $202 = ((($0)) + 4|0); + $203 = HEAP32[$202>>2]|0; + $204 = ((($0)) + 8|0); + $205 = HEAP32[$204>>2]|0; + $206 = $203 << 1; + $207 = Math_imul($206, $205)|0; + $208 = (_malloc($207)|0); + HEAP32[$0>>2] = $208; + $209 = HEAP32[$202>>2]|0; + $210 = Math_imul($205, $209)|0; + $211 = ($210|0)>(0); + if ($211) { + $212 = HEAP32[$0>>2]|0; + $213 = HEAP32[$202>>2]|0; + $214 = HEAP32[$204>>2]|0; + $215 = Math_imul($214, $213)|0; + $$0166199 = 0; + while(1) { + $216 = (($7) + ($$0166199<<2)|0); + $217 = HEAP8[$216>>0]|0; + $218 = (+($217&255)); + $219 = $218 * 15.0; + $220 = $219 / 255.0; + $roundf = (+_roundf((+$220))); + $221 = (~~(($roundf))&255); + $222 = (((($7) + ($$0166199<<2)|0)) + 1|0); + $223 = HEAP8[$222>>0]|0; + $224 = (+($223&255)); + $225 = $224 * 15.0; + $226 = $225 / 255.0; + $roundf173 = (+_roundf((+$226))); + $227 = (~~(($roundf173))&255); + $228 = (((($7) + ($$0166199<<2)|0)) + 2|0); + $229 = HEAP8[$228>>0]|0; + $230 = (+($229&255)); + $231 = $230 * 15.0; + $232 = $231 / 255.0; + $roundf174 = (+_roundf((+$232))); + $233 = (~~(($roundf174))&255); + $234 = (((($7) + ($$0166199<<2)|0)) + 3|0); + $235 = HEAP8[$234>>0]|0; + $236 = (+($235&255)); + $237 = $236 * 15.0; + $238 = $237 / 255.0; + $roundf175 = (+_roundf((+$238))); + $239 = (~~(($roundf175))&255); + $240 = $221&255; + $241 = $240 << 12; + $242 = $227&255; + $243 = $242 << 8; + $244 = $243 | $241; + $245 = $233&255; + $246 = $245 << 4; + $247 = $244 | $246; + $248 = $239&255; + $249 = $247 | $248; + $250 = $249&65535; + $251 = (($212) + ($$0166199<<1)|0); + HEAP16[$251>>1] = $250; + $252 = (($$0166199) + 1)|0; + $253 = ($252|0)<($215|0); + if ($253) { + $$0166199 = $252; + } else { + break; + } + } + } + break; + } + case 7: { + $254 = ((($0)) + 4|0); + $255 = HEAP32[$254>>2]|0; + $256 = ((($0)) + 8|0); + $257 = HEAP32[$256>>2]|0; + $258 = $255 << 2; + $259 = Math_imul($258, $257)|0; + $260 = (_malloc($259)|0); + HEAP32[$0>>2] = $260; + $261 = HEAP32[$254>>2]|0; + $262 = $261 << 2; + $263 = Math_imul($262, $257)|0; + $264 = ($263|0)>(0); + if ($264) { + $$0202 = 0;$$2201 = 0; + while(1) { + $265 = (($7) + ($$2201<<2)|0); + $266 = HEAP8[$265>>0]|0; + $267 = HEAP32[$0>>2]|0; + $268 = (($267) + ($$0202)|0); + HEAP8[$268>>0] = $266; + $269 = (((($7) + ($$2201<<2)|0)) + 1|0); + $270 = HEAP8[$269>>0]|0; + $271 = HEAP32[$0>>2]|0; + $272 = $$0202 | 1; + $273 = (($271) + ($272)|0); + HEAP8[$273>>0] = $270; + $274 = (((($7) + ($$2201<<2)|0)) + 2|0); + $275 = HEAP8[$274>>0]|0; + $276 = HEAP32[$0>>2]|0; + $277 = $$0202 | 2; + $278 = (($276) + ($277)|0); + HEAP8[$278>>0] = $275; + $279 = (((($7) + ($$2201<<2)|0)) + 3|0); + $280 = HEAP8[$279>>0]|0; + $281 = HEAP32[$0>>2]|0; + $282 = $$0202 | 3; + $283 = (($281) + ($282)|0); + HEAP8[$283>>0] = $280; + $284 = (($$2201) + 1)|0; + $285 = (($$0202) + 4)|0; + $286 = HEAP32[$254>>2]|0; + $287 = HEAP32[$256>>2]|0; + $288 = $286 << 2; + $289 = Math_imul($288, $287)|0; + $290 = ($285|0)<($289|0); + if ($290) { + $$0202 = $285;$$2201 = $284; } else { break; } @@ -23612,7180 +21941,23023 @@ function _ImageFormat($image,$newFormat) { default: { } } - _free($5); + _free($7); STACKTOP = sp;return; } -function _ImageToPOT($image,$fillColor) { - $image = $image|0; - $fillColor = $fillColor|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0; - var $exitcond6 = 0, $i$01 = 0, $image$byval_copy = 0, $j$03 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, label = 0, sp = 0; +function _LoadTextureFromImage($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$sroa$10$0$$sroa_idx6 = 0, $$sroa$12$0$$sroa_idx8 = 0, $$sroa$6$0$$sroa_idx2 = 0, $$sroa$8$0$$sroa_idx4 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0; + var $vararg_ptr4 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; - $image$byval_copy = sp + 36|0; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); $vararg_buffer = sp; - $0 = sp + 16|0; - ;HEAP32[$image$byval_copy>>2]=HEAP32[$image>>2]|0;HEAP32[$image$byval_copy+4>>2]=HEAP32[$image+4>>2]|0;HEAP32[$image$byval_copy+8>>2]=HEAP32[$image+8>>2]|0;HEAP32[$image$byval_copy+12>>2]=HEAP32[$image+12>>2]|0;HEAP32[$image$byval_copy+16>>2]=HEAP32[$image+16>>2]|0; - $1 = (_GetImageData($image$byval_copy)|0); - $2 = ((($image)) + 4|0); - $3 = HEAP32[$2>>2]|0; - $4 = (_GetNextPOT($3)|0); - $5 = ((($image)) + 8|0); + $2 = HEAP32[$1>>2]|0; + $3 = ((($1)) + 4|0); + $4 = HEAP32[$3>>2]|0; + $5 = ((($1)) + 8|0); $6 = HEAP32[$5>>2]|0; - $7 = (_GetNextPOT($6)|0); - $8 = HEAP32[$2>>2]|0; - $9 = ($4|0)==($8|0); - if ($9) { - $10 = HEAP32[$5>>2]|0; - $11 = ($7|0)==($10|0); - if ($11) { + $7 = ((($1)) + 16|0); + $8 = HEAP32[$7>>2]|0; + $9 = ((($1)) + 12|0); + $10 = HEAP32[$9>>2]|0; + $11 = (_rlglLoadTexture($2,$4,$6,$8,$10)|0); + $12 = HEAP32[$3>>2]|0; + $13 = HEAP32[$5>>2]|0; + HEAP32[$vararg_buffer>>2] = $11; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $12; + $vararg_ptr2 = ((($vararg_buffer)) + 8|0); + HEAP32[$vararg_ptr2>>2] = $13; + $vararg_ptr3 = ((($vararg_buffer)) + 12|0); + HEAP32[$vararg_ptr3>>2] = $10; + $vararg_ptr4 = ((($vararg_buffer)) + 16|0); + HEAP32[$vararg_ptr4>>2] = $8; + _TraceLog(0,8974,$vararg_buffer); + HEAP32[$0>>2] = $11; + $$sroa$6$0$$sroa_idx2 = ((($0)) + 4|0); + HEAP32[$$sroa$6$0$$sroa_idx2>>2] = $12; + $$sroa$8$0$$sroa_idx4 = ((($0)) + 8|0); + HEAP32[$$sroa$8$0$$sroa_idx4>>2] = $13; + $$sroa$10$0$$sroa_idx6 = ((($0)) + 12|0); + HEAP32[$$sroa$10$0$$sroa_idx6>>2] = $10; + $$sroa$12$0$$sroa_idx8 = ((($0)) + 16|0); + HEAP32[$$sroa$12$0$$sroa_idx8>>2] = $8; + STACKTOP = sp;return; +} +function _UnloadImage($0) { + $0 = $0|0; + var $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP32[$0>>2]|0; + _free($1); + return; +} +function _rlglLoadTexture($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$0 = 0, $$off = 0, $$off92 = 0, $$off93 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; + var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; + var $46 = 0, $47 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond100 = 0, $or$cond7 = 0, $or$cond96 = 0, $or$cond98 = 0, $switch = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer11 = 0, $vararg_buffer15 = 0, $vararg_buffer3 = 0, $vararg_buffer5 = 0, $vararg_buffer7 = 0; + var $vararg_buffer9 = 0, $vararg_ptr13 = 0, $vararg_ptr14 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0); + $vararg_buffer15 = sp + 64|0; + $vararg_buffer11 = sp + 48|0; + $vararg_buffer9 = sp + 40|0; + $vararg_buffer7 = sp + 32|0; + $vararg_buffer5 = sp + 24|0; + $vararg_buffer3 = sp + 16|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $5 = sp + 68|0; + _glBindTexture(3553,0); + HEAP32[$5>>2] = 0; + $6 = HEAP32[7500]|0; + $7 = ($6|0)==(0); + $8 = $3 & -4; + $switch = ($8|0)==(8); + $or$cond100 = $switch & $7; + if ($or$cond100) { + _TraceLog(1,9021,$vararg_buffer); + $$0 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($$0|0); + } + $9 = HEAP32[7501]|0; + $10 = ($9|0)==(0); + $11 = ($3|0)==(12); + $or$cond7 = $11 & $10; + if ($or$cond7) { + _TraceLog(1,9065,$vararg_buffer1); + $$0 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($$0|0); + } + $12 = HEAP32[7502]|0; + $13 = ($12|0)==(0); + $$off = (($3) + -13)|0; + $14 = ($$off>>>0)<(2); + $or$cond = $14 & $13; + if ($or$cond) { + _TraceLog(1,9110,$vararg_buffer3); + $$0 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($$0|0); + } + $15 = HEAP32[7503]|0; + $16 = ($15|0)==(0); + $$off92 = (($3) + -15)|0; + $17 = ($$off92>>>0)<(2); + $or$cond96 = $17 & $16; + if ($or$cond96) { + _TraceLog(1,9155,$vararg_buffer5); + $$0 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($$0|0); + } + $18 = HEAP32[7504]|0; + $19 = ($18|0)==(0); + $$off93 = (($3) + -17)|0; + $20 = ($$off93>>>0)<(2); + $or$cond98 = $20 & $19; + if ($or$cond98) { + _TraceLog(1,9200,$vararg_buffer7); + $$0 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($$0|0); + } + _glGenTextures(1,($5|0)); + $21 = HEAP32[$5>>2]|0; + _glBindTexture(3553,($21|0)); + do { + switch ($3|0) { + case 1: { + _glTexImage2D(3553,0,6409,($1|0),($2|0),0,6409,5121,($0|0)); + break; + } + case 2: { + _glTexImage2D(3553,0,6410,($1|0),($2|0),0,6410,5121,($0|0)); + break; + } + case 3: { + _glTexImage2D(3553,0,6407,($1|0),($2|0),0,6407,33635,($0|0)); + break; + } + case 4: { + _glTexImage2D(3553,0,6407,($1|0),($2|0),0,6407,5121,($0|0)); + break; + } + case 5: { + _glTexImage2D(3553,0,6408,($1|0),($2|0),0,6408,32820,($0|0)); + break; + } + case 6: { + _glTexImage2D(3553,0,6408,($1|0),($2|0),0,6408,32819,($0|0)); + break; + } + case 7: { + _glTexImage2D(3553,0,6408,($1|0),($2|0),0,6408,5121,($0|0)); + break; + } + case 8: { + $22 = HEAP32[7500]|0; + $23 = ($22|0)==(0); + if (!($23)) { + _LoadCompressedTexture($0,$1,$2,$4,33776); + } + break; + } + case 9: { + $24 = HEAP32[7500]|0; + $25 = ($24|0)==(0); + if (!($25)) { + _LoadCompressedTexture($0,$1,$2,$4,33777); + } + break; + } + case 10: { + $26 = HEAP32[7500]|0; + $27 = ($26|0)==(0); + if (!($27)) { + _LoadCompressedTexture($0,$1,$2,$4,33778); + } + break; + } + case 11: { + $28 = HEAP32[7500]|0; + $29 = ($28|0)==(0); + if (!($29)) { + _LoadCompressedTexture($0,$1,$2,$4,33779); + } + break; + } + case 12: { + $30 = HEAP32[7501]|0; + $31 = ($30|0)==(0); + if (!($31)) { + _LoadCompressedTexture($0,$1,$2,$4,36196); + } + break; + } + case 13: { + $32 = HEAP32[7502]|0; + $33 = ($32|0)==(0); + if (!($33)) { + _LoadCompressedTexture($0,$1,$2,$4,37492); + } + break; + } + case 14: { + $34 = HEAP32[7502]|0; + $35 = ($34|0)==(0); + if (!($35)) { + _LoadCompressedTexture($0,$1,$2,$4,37496); + } + break; + } + case 15: { + $36 = HEAP32[7503]|0; + $37 = ($36|0)==(0); + if (!($37)) { + _LoadCompressedTexture($0,$1,$2,$4,35840); + } + break; + } + case 16: { + $38 = HEAP32[7503]|0; + $39 = ($38|0)==(0); + if (!($39)) { + _LoadCompressedTexture($0,$1,$2,$4,35842); + } + break; + } + case 17: { + $40 = HEAP32[7504]|0; + $41 = ($40|0)==(0); + if (!($41)) { + _LoadCompressedTexture($0,$1,$2,$4,37808); + } + break; + } + case 18: { + $42 = HEAP32[7504]|0; + $43 = ($42|0)==(0); + if (!($43)) { + _LoadCompressedTexture($0,$1,$2,$4,37815); + } + break; + } + default: { + _TraceLog(1,9245,$vararg_buffer9); + } + } + } while(0); + $44 = HEAP32[7505]|0; + $45 = ($44|0)==(0); + if ($45) { + _glTexParameteri(3553,10242,33071); + _glTexParameteri(3553,10243,33071); + } else { + _glTexParameteri(3553,10242,10497); + _glTexParameteri(3553,10243,10497); + } + _glTexParameteri(3553,10240,9728); + _glTexParameteri(3553,10241,9728); + _glBindTexture(3553,0); + $46 = HEAP32[$5>>2]|0; + $47 = ($46|0)==(0); + if ($47) { + _TraceLog(1,15804,$vararg_buffer15); + $$0 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($$0|0); + } else { + HEAP32[$vararg_buffer11>>2] = $46; + $vararg_ptr13 = ((($vararg_buffer11)) + 4|0); + HEAP32[$vararg_ptr13>>2] = $1; + $vararg_ptr14 = ((($vararg_buffer11)) + 8|0); + HEAP32[$vararg_ptr14>>2] = $2; + _TraceLog(0,9274,$vararg_buffer11); + $$0 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($$0|0); + } + return (0)|0; +} +function _LoadCompressedTexture($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$ = 0, $$03645 = 0, $$03744 = 0, $$038 = 0, $$03943 = 0, $$046 = 0, $$140 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0; + var $23 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond42 = 0, label = 0, sp = 0; + sp = STACKTOP; + _glPixelStorei(3317,1); + switch ($4|0) { + case 33776: case 33777: case 36196: case 37492: { + $$038 = 8; + break; + } + default: { + $$038 = 16; + } + } + $5 = ($3|0)<(1); + $6 = $1 | $2; + $7 = ($6|0)==(0); + $or$cond42 = $5 | $7; + if ($or$cond42) { + return; + } else { + $$03645 = 0;$$03744 = 0;$$03943 = $2;$$046 = $1; + } + while(1) { + $8 = (($$046) + 3)|0; + $9 = (($8|0) / 4)&-1; + $10 = (($$03943) + 3)|0; + $11 = (($10|0) / 4)&-1; + $12 = Math_imul($11, $$038)|0; + $13 = Math_imul($12, $9)|0; + $14 = (($0) + ($$03744)|0); + _glCompressedTexImage2D(3553,($$03645|0),($4|0),($$046|0),($$03943|0),0,($13|0),($14|0)); + $15 = (($13) + ($$03744))|0; + $16 = (($$046|0) / 2)&-1; + $17 = (($$03943|0) / 2)&-1; + $18 = ($$046|0)<(2); + $$ = $18 ? 1 : $16; + $19 = ($$03943|0)<(2); + $$140 = $19 ? 1 : $17; + $20 = (($$03645) + 1)|0; + $21 = ($20|0)>=($3|0); + $22 = $$ | $$140; + $23 = ($22|0)==(0); + $or$cond = $21 | $23; + if ($or$cond) { + break; + } else { + $$03645 = $20;$$03744 = $15;$$03943 = $$140;$$046 = $$; + } + } + return; +} +function _GetImageData($0) { + $0 = $0|0; + var $$0104105 = 0, $$0106 = 0, $$1 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0.0, $103 = 0.0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0; + var $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0; + var $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; + var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0.0, $4 = 0, $40 = 0.0, $41 = 0; + var $42 = 0, $43 = 0, $44 = 0, $45 = 0.0, $46 = 0.0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0.0, $52 = 0.0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0; + var $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0.0, $65 = 0.0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0.0, $71 = 0.0, $72 = 0, $73 = 0, $74 = 0, $75 = 0.0, $76 = 0.0, $77 = 0, $78 = 0; + var $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0.0, $86 = 0.0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0.0, $92 = 0.0, $93 = 0, $94 = 0, $95 = 0, $96 = 0; + var $97 = 0.0, $98 = 0.0, $99 = 0, $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $vararg_buffer = sp; + $1 = ((($0)) + 4|0); + $2 = HEAP32[$1>>2]|0; + $3 = ((($0)) + 8|0); + $4 = HEAP32[$3>>2]|0; + $5 = $2 << 2; + $6 = Math_imul($5, $4)|0; + $7 = (_malloc($6)|0); + $8 = HEAP32[$1>>2]|0; + $9 = Math_imul($4, $8)|0; + $10 = ($9|0)>(0); + if (!($10)) { + STACKTOP = sp;return ($7|0); + } + $11 = ((($0)) + 16|0); + $12 = HEAP32[$11>>2]|0; + $13 = HEAP32[$0>>2]|0; + $$0104105 = 0;$$0106 = 0; + while(1) { + switch ($12|0) { + case 1: { + $14 = (($13) + ($$0106)|0); + $15 = HEAP8[$14>>0]|0; + $16 = (($7) + ($$0104105<<2)|0); + HEAP8[$16>>0] = $15; + $17 = HEAP8[$14>>0]|0; + $18 = (((($7) + ($$0104105<<2)|0)) + 1|0); + HEAP8[$18>>0] = $17; + $19 = HEAP8[$14>>0]|0; + $20 = (((($7) + ($$0104105<<2)|0)) + 2|0); + HEAP8[$20>>0] = $19; + $21 = (((($7) + ($$0104105<<2)|0)) + 3|0); + HEAP8[$21>>0] = -1; + $22 = (($$0106) + 1)|0; + $$1 = $22; + break; + } + case 2: { + $23 = (($13) + ($$0106)|0); + $24 = HEAP8[$23>>0]|0; + $25 = (($7) + ($$0104105<<2)|0); + HEAP8[$25>>0] = $24; + $26 = HEAP8[$23>>0]|0; + $27 = (((($7) + ($$0104105<<2)|0)) + 1|0); + HEAP8[$27>>0] = $26; + $28 = HEAP8[$23>>0]|0; + $29 = (((($7) + ($$0104105<<2)|0)) + 2|0); + HEAP8[$29>>0] = $28; + $30 = (($$0106) + 1)|0; + $31 = (($13) + ($30)|0); + $32 = HEAP8[$31>>0]|0; + $33 = (((($7) + ($$0104105<<2)|0)) + 3|0); + HEAP8[$33>>0] = $32; + $34 = (($$0106) + 2)|0; + $$1 = $34; + break; + } + case 5: { + $35 = (($13) + ($$0106<<1)|0); + $36 = HEAP16[$35>>1]|0; + $37 = $36&65535; + $38 = $37 >>> 11; + $39 = (+($38|0)); + $40 = $39 * 8.0; + $41 = (~~(($40))&255); + $42 = (($7) + ($$0104105<<2)|0); + HEAP8[$42>>0] = $41; + $43 = $37 >>> 6; + $44 = $43 & 31; + $45 = (+($44|0)); + $46 = $45 * 8.0; + $47 = (~~(($46))&255); + $48 = (((($7) + ($$0104105<<2)|0)) + 1|0); + HEAP8[$48>>0] = $47; + $49 = $37 >>> 1; + $50 = $49 & 31; + $51 = (+($50|0)); + $52 = $51 * 8.0; + $53 = (~~(($52))&255); + $54 = (((($7) + ($$0104105<<2)|0)) + 2|0); + HEAP8[$54>>0] = $53; + $55 = $37 & 1; + $56 = (0 - ($55))|0; + $57 = $56&255; + $58 = (((($7) + ($$0104105<<2)|0)) + 3|0); + HEAP8[$58>>0] = $57; + $59 = (($$0106) + 1)|0; + $$1 = $59; + break; + } + case 3: { + $60 = (($13) + ($$0106<<1)|0); + $61 = HEAP16[$60>>1]|0; + $62 = $61&65535; + $63 = $62 >>> 11; + $64 = (+($63|0)); + $65 = $64 * 8.0; + $66 = (~~(($65))&255); + $67 = (($7) + ($$0104105<<2)|0); + HEAP8[$67>>0] = $66; + $68 = $62 >>> 5; + $69 = $68 & 63; + $70 = (+($69|0)); + $71 = $70 * 4.0; + $72 = (~~(($71))&255); + $73 = (((($7) + ($$0104105<<2)|0)) + 1|0); + HEAP8[$73>>0] = $72; + $74 = $62 & 31; + $75 = (+($74|0)); + $76 = $75 * 8.0; + $77 = (~~(($76))&255); + $78 = (((($7) + ($$0104105<<2)|0)) + 2|0); + HEAP8[$78>>0] = $77; + $79 = (((($7) + ($$0104105<<2)|0)) + 3|0); + HEAP8[$79>>0] = -1; + $80 = (($$0106) + 1)|0; + $$1 = $80; + break; + } + case 6: { + $81 = (($13) + ($$0106<<1)|0); + $82 = HEAP16[$81>>1]|0; + $83 = $82&65535; + $84 = $83 >>> 12; + $85 = (+($84|0)); + $86 = $85 * 17.0; + $87 = (~~(($86))&255); + $88 = (($7) + ($$0104105<<2)|0); + HEAP8[$88>>0] = $87; + $89 = $83 >>> 8; + $90 = $89 & 15; + $91 = (+($90|0)); + $92 = $91 * 17.0; + $93 = (~~(($92))&255); + $94 = (((($7) + ($$0104105<<2)|0)) + 1|0); + HEAP8[$94>>0] = $93; + $95 = $83 >>> 4; + $96 = $95 & 15; + $97 = (+($96|0)); + $98 = $97 * 17.0; + $99 = (~~(($98))&255); + $100 = (((($7) + ($$0104105<<2)|0)) + 2|0); + HEAP8[$100>>0] = $99; + $101 = $83 & 15; + $102 = (+($101|0)); + $103 = $102 * 17.0; + $104 = (~~(($103))&255); + $105 = (((($7) + ($$0104105<<2)|0)) + 3|0); + HEAP8[$105>>0] = $104; + $106 = (($$0106) + 1)|0; + $$1 = $106; + break; + } + case 7: { + $107 = (($13) + ($$0106)|0); + $108 = HEAP8[$107>>0]|0; + $109 = (($7) + ($$0104105<<2)|0); + HEAP8[$109>>0] = $108; + $110 = (($$0106) + 1)|0; + $111 = (($13) + ($110)|0); + $112 = HEAP8[$111>>0]|0; + $113 = (((($7) + ($$0104105<<2)|0)) + 1|0); + HEAP8[$113>>0] = $112; + $114 = (($$0106) + 2)|0; + $115 = (($13) + ($114)|0); + $116 = HEAP8[$115>>0]|0; + $117 = (((($7) + ($$0104105<<2)|0)) + 2|0); + HEAP8[$117>>0] = $116; + $118 = (($$0106) + 3)|0; + $119 = (($13) + ($118)|0); + $120 = HEAP8[$119>>0]|0; + $121 = (((($7) + ($$0104105<<2)|0)) + 3|0); + HEAP8[$121>>0] = $120; + $122 = (($$0106) + 4)|0; + $$1 = $122; + break; + } + case 4: { + $123 = (($13) + ($$0106)|0); + $124 = HEAP8[$123>>0]|0; + $125 = (($7) + ($$0104105<<2)|0); + HEAP8[$125>>0] = $124; + $126 = (($$0106) + 1)|0; + $127 = (($13) + ($126)|0); + $128 = HEAP8[$127>>0]|0; + $129 = (((($7) + ($$0104105<<2)|0)) + 1|0); + HEAP8[$129>>0] = $128; + $130 = (($$0106) + 2)|0; + $131 = (($13) + ($130)|0); + $132 = HEAP8[$131>>0]|0; + $133 = (((($7) + ($$0104105<<2)|0)) + 2|0); + HEAP8[$133>>0] = $132; + $134 = (((($7) + ($$0104105<<2)|0)) + 3|0); + HEAP8[$134>>0] = -1; + $135 = (($$0106) + 3)|0; + $$1 = $135; + break; + } + default: { + _TraceLog(1,9377,$vararg_buffer); + $$1 = $$0106; + } + } + $136 = (($$0104105) + 1)|0; + $137 = HEAP32[$1>>2]|0; + $138 = HEAP32[$3>>2]|0; + $139 = Math_imul($138, $137)|0; + $140 = ($136|0)<($139|0); + if ($140) { + $$0104105 = $136;$$0106 = $$1; + } else { + break; + } + } + STACKTOP = sp;return ($7|0); +} +function _ErrorCallback($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $vararg_buffer = sp; + HEAP32[$vararg_buffer>>2] = $0; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $1; + _TraceLog(1,13243,$vararg_buffer); + STACKTOP = sp;return; +} +function _rlGetVersion() { + var label = 0, sp = 0; + sp = STACKTOP; + return 4; +} +function _SetupFramebufferSize($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$sink = 0, $$sink1 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0.0, $16 = 0, $17 = 0, $18 = 0.0, $19 = 0.0, $2 = 0, $20 = 0, $21 = 0, $22 = 0.0, $23 = 0, $24 = 0, $25 = 0, $26 = 0.0; + var $27 = 0, $28 = 0.0, $29 = 0.0, $3 = 0, $30 = 0, $31 = 0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0, $36 = 0.0, $37 = 0, $38 = 0.0, $39 = 0.0, $4 = 0, $40 = 0, $41 = 0.0, $42 = 0, $43 = 0, $44 = 0.0; + var $45 = 0, $46 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0, $or$cond = 0, $roundf = 0.0, $roundf38 = 0.0, $roundf39 = 0.0, $roundf40 = 0.0, $vararg_buffer = 0, $vararg_buffer4 = 0, $vararg_buffer8 = 0, $vararg_ptr1 = 0, $vararg_ptr11 = 0, $vararg_ptr12 = 0, $vararg_ptr13 = 0, $vararg_ptr2 = 0; + var $vararg_ptr3 = 0, $vararg_ptr7 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0); + $vararg_buffer8 = sp + 24|0; + $vararg_buffer4 = sp + 16|0; + $vararg_buffer = sp; + $2 = sp + 40|0; + $3 = HEAP32[7484]|0; + $4 = ($3|0)>($0|0); + if (!($4)) { + $5 = HEAP32[7483]|0; + $6 = ($5|0)>($1|0); + if (!($6)) { + $30 = ($3|0)<($0|0); + $31 = ($5|0)<($1|0); + $or$cond = $30 | $31; + if (!($or$cond)) { + HEAP32[7525] = $3; + HEAP32[7526] = $5; + HEAP32[7527] = 0; + HEAP32[7528] = 0; + STACKTOP = sp;return; + } + HEAP32[$vararg_buffer8>>2] = $3; + $vararg_ptr11 = ((($vararg_buffer8)) + 4|0); + HEAP32[$vararg_ptr11>>2] = $5; + $vararg_ptr12 = ((($vararg_buffer8)) + 8|0); + HEAP32[$vararg_ptr12>>2] = $0; + $vararg_ptr13 = ((($vararg_buffer8)) + 12|0); + HEAP32[$vararg_ptr13>>2] = $1; + _TraceLog(0,13177,$vararg_buffer8); + $32 = (+($0|0)); + $33 = (+($1|0)); + $34 = $32 / $33; + $35 = HEAP32[7484]|0; + $36 = (+($35|0)); + $37 = HEAP32[7483]|0; + $38 = (+($37|0)); + $39 = $36 / $38; + $40 = !($34 <= $39); + if ($40) { + $44 = $34 * $38; + $roundf = (+_roundf((+$44))); + $45 = (~~(($roundf))); + HEAP32[7525] = $45; + HEAP32[7526] = $37; + $46 = (($45) - ($35))|0; + HEAP32[7527] = $46; + $$sink1 = 0; + } else { + HEAP32[7525] = $35; + $41 = $36 / $34; + $roundf38 = (+_roundf((+$41))); + $42 = (~~(($roundf38))); + HEAP32[7526] = $42; + HEAP32[7527] = 0; + $43 = (($42) - ($37))|0; + $$sink1 = $43; + } + HEAP32[7528] = $$sink1; STACKTOP = sp;return; } } - $12 = $4 << 2; - $13 = Math_imul($12, $7)|0; + $7 = HEAP32[7483]|0; + HEAP32[$vararg_buffer>>2] = $3; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $7; + $vararg_ptr2 = ((($vararg_buffer)) + 8|0); + HEAP32[$vararg_ptr2>>2] = $0; + $vararg_ptr3 = ((($vararg_buffer)) + 12|0); + HEAP32[$vararg_ptr3>>2] = $1; + _TraceLog(1,13034,$vararg_buffer); + $8 = (+($0|0)); + $9 = HEAP32[7484]|0; + $10 = (+($9|0)); + $11 = $8 / $10; + $12 = (+($1|0)); + $13 = HEAP32[7483]|0; + $14 = (+($13|0)); + $15 = $12 / $14; + $16 = !($11 <= $15); + if ($16) { + $22 = $10 * $15; + $roundf39 = (+_roundf((+$22))); + $23 = (~~(($roundf39))); + HEAP32[7525] = $23; + HEAP32[7526] = $1; + $24 = (($0) - ($23))|0; + HEAP32[7527] = $24; + $$sink = 0; + } else { + HEAP32[7525] = $0; + $17 = HEAP32[7483]|0; + $18 = (+($17|0)); + $19 = $11 * $18; + $roundf40 = (+_roundf((+$19))); + $20 = (~~(($roundf40))); + HEAP32[7526] = $20; + HEAP32[7527] = 0; + $21 = (($1) - ($20))|0; + $$sink = $21; + } + HEAP32[7528] = $$sink; + $25 = HEAP32[7525]|0; + $26 = (+($25|0)); + $27 = HEAP32[7484]|0; + $28 = (+($27|0)); + $29 = $26 / $28; + _MatrixScale($2,$29,$29,$29); + dest=30024; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + HEAP32[7525] = $0; + HEAP32[7526] = $1; + HEAP32[$vararg_buffer4>>2] = $0; + $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); + HEAP32[$vararg_ptr7>>2] = $1; + _TraceLog(1,13112,$vararg_buffer4); + STACKTOP = sp;return; +} +function _WindowSizeCallback($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $3 = 0.0, $4 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + _rlViewport(0,0,$1,$2); + _rlMatrixMode(5889); + _rlLoadIdentity(); + $3 = (+($1|0)); + $4 = (+($2|0)); + _rlOrtho(0.0,$3,$4,0.0,0.0,1.0); + _rlMatrixMode(5888); + _rlLoadIdentity(); + _rlClearScreenBuffers(); + HEAP32[7484] = $1; + HEAP32[7483] = $2; + HEAP32[7525] = $1; + HEAP32[7526] = $2; + return; +} +function _CursorEnterCallback($0,$1) { + $0 = $0|0; + $1 = $1|0; + var label = 0, sp = 0; + sp = STACKTOP; + return; +} +function _KeyCallback($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $5 = HEAP32[753]|0; + $6 = ($5|0)==($1|0); + $7 = ($3|0)==(1); + $or$cond = $7 & $6; + if ($or$cond) { + _glfwSetWindowShouldClose(($0|0),1); + return; + } + $8 = $3&255; + $9 = (35583 + ($1)|0); + HEAP8[$9>>0] = $8; + if (!($7)) { + return; + } + HEAP32[752] = $1; + return; +} +function _MouseButtonCallback($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$byval_copy = 0, $$sink = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0.0, $27 = 0.0; + var $28 = 0.0, $29 = 0, $30 = 0.0, $31 = 0, $32 = 0.0, $33 = 0.0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0); + $$byval_copy = sp + 64|0; + $4 = sp + 8|0; + $5 = sp; + $6 = $2&255; + $7 = (35577 + ($1)|0); + HEAP8[$7>>0] = $6; + $8 = (_IsMouseButtonPressed(0)|0); + $9 = ($8|0)==(0); + if ($9) { + $10 = (_IsMouseButtonReleased(0)|0); + $11 = ($10|0)==(0); + if (!($11)) { + $$sink = 0; + label = 3; + } + } else { + $$sink = 1; + label = 3; + } + if ((label|0) == 3) { + HEAP32[$4>>2] = $$sink; + } + $12 = ((($4)) + 8|0); + HEAP32[$12>>2] = 0; + $13 = ((($4)) + 4|0); + HEAP32[$13>>2] = 1; + $14 = ((($4)) + 24|0); + _GetMousePosition($5); + $15 = $5; + $16 = $15; + $17 = HEAP32[$16>>2]|0; + $18 = (($15) + 4)|0; + $19 = $18; + $20 = HEAP32[$19>>2]|0; + $21 = $14; + $22 = $21; + HEAP32[$22>>2] = $17; + $23 = (($21) + 4)|0; + $24 = $23; + HEAP32[$24>>2] = $20; + $25 = (_GetScreenWidth()|0); + $26 = (+($25|0)); + $27 = +HEAPF32[$14>>2]; + $28 = $27 / $26; + HEAPF32[$14>>2] = $28; + $29 = (_GetScreenHeight()|0); + $30 = (+($29|0)); + $31 = ((($4)) + 28|0); + $32 = +HEAPF32[$31>>2]; + $33 = $32 / $30; + HEAPF32[$31>>2] = $33; + dest=$$byval_copy; src=$4; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _ProcessGestureEvent($$byval_copy); + STACKTOP = sp;return; +} +function _MouseCursorPosCallback($0,$1,$2) { + $0 = $0|0; + $1 = +$1; + $2 = +$2; + var $$byval_copy = 0, $$sroa$0$0$$sroa_idx = 0, $$sroa$2$0$$sroa_idx1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0, $24 = 0.0, $25 = 0.0, $26 = 0.0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0); + $$byval_copy = sp + 56|0; + $3 = sp; + HEAP32[$3>>2] = 2; + $4 = ((($3)) + 8|0); + HEAP32[$4>>2] = 0; + $5 = ((($3)) + 4|0); + HEAP32[$5>>2] = 1; + $6 = $1; + $7 = $2; + $$sroa$0$0$$sroa_idx = ((($3)) + 24|0); + HEAPF32[$$sroa$0$0$$sroa_idx>>2] = $6; + $$sroa$2$0$$sroa_idx1 = ((($3)) + 28|0); + HEAPF32[$$sroa$2$0$$sroa_idx1>>2] = $7; + $8 = ((($3)) + 24|0); + $9 = $8; + $10 = $9; + $11 = HEAP32[$10>>2]|0; + $12 = (($9) + 4)|0; + $13 = $12; + $14 = HEAP32[$13>>2]|0; + $15 = 26552; + $16 = $15; + HEAP32[$16>>2] = $11; + $17 = (($15) + 4)|0; + $18 = $17; + HEAP32[$18>>2] = $14; + $19 = (_GetScreenWidth()|0); + $20 = (+($19|0)); + $21 = +HEAPF32[$8>>2]; + $22 = $21 / $20; + HEAPF32[$8>>2] = $22; + $23 = (_GetScreenHeight()|0); + $24 = (+($23|0)); + $25 = +HEAPF32[$$sroa$2$0$$sroa_idx1>>2]; + $26 = $25 / $24; + HEAPF32[$$sroa$2$0$$sroa_idx1>>2] = $26; + dest=$$byval_copy; src=$3; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _ProcessGestureEvent($$byval_copy); + STACKTOP = sp;return; +} +function _CharCallback($0,$1) { + $0 = $0|0; + $1 = $1|0; + var label = 0, sp = 0; + sp = STACKTOP; + HEAP32[752] = $1; + return; +} +function _ScrollCallback($0,$1,$2) { + $0 = $0|0; + $1 = +$1; + $2 = +$2; + var $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = (~~(($2))); + HEAP32[7898] = $3; + return; +} +function _WindowIconifyCallback($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$sink = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ($1|0)!=(0); + $$sink = $2&1; + HEAP32[7897] = $$sink; + return; +} +function _rlglInit($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$05965 = 0, $$06066 = 0, $$06167 = 0, $$062 = 0, $$sink63 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; + var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; + var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0; + var $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0.0, $72 = 0.0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0; + var $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $9 = 0, $exitcond = 0, $exitcond69 = 0, $exitcond70 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer13 = 0, $vararg_buffer15 = 0, $vararg_buffer17 = 0, $vararg_buffer19 = 0; + var $vararg_buffer21 = 0, $vararg_buffer23 = 0, $vararg_buffer25 = 0, $vararg_buffer27 = 0, $vararg_buffer29 = 0, $vararg_buffer31 = 0, $vararg_buffer34 = 0, $vararg_buffer36 = 0, $vararg_buffer39 = 0, $vararg_buffer4 = 0, $vararg_buffer41 = 0, $vararg_buffer7 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 2464|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(2464|0); + $vararg_buffer41 = sp + 2184|0; + $vararg_buffer39 = sp + 2176|0; + $vararg_buffer36 = sp + 2168|0; + $vararg_buffer34 = sp + 2160|0; + $vararg_buffer31 = sp + 2152|0; + $vararg_buffer29 = sp + 2144|0; + $vararg_buffer27 = sp + 2136|0; + $vararg_buffer25 = sp + 2128|0; + $vararg_buffer23 = sp + 2120|0; + $vararg_buffer21 = sp + 2112|0; + $vararg_buffer19 = sp + 2104|0; + $vararg_buffer17 = sp + 2096|0; + $vararg_buffer15 = sp + 2088|0; + $vararg_buffer13 = sp + 2080|0; + $vararg_buffer10 = sp + 2072|0; + $vararg_buffer7 = sp + 24|0; + $vararg_buffer4 = sp + 16|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $2 = sp + 2400|0; + $3 = sp + 2384|0; + $4 = sp + 2320|0; + $5 = sp + 2256|0; + $6 = sp + 2192|0; + $7 = (_glGetString(7936)|0); + HEAP32[$vararg_buffer>>2] = $7; + _TraceLog(0,9675,$vararg_buffer); + $8 = (_glGetString(7937)|0); + HEAP32[$vararg_buffer1>>2] = $8; + _TraceLog(0,9693,$vararg_buffer1); + $9 = (_glGetString(7938)|0); + HEAP32[$vararg_buffer4>>2] = $9; + _TraceLog(0,9711,$vararg_buffer4); + $10 = (_glGetString(35724)|0); + HEAP32[$vararg_buffer7>>2] = $10; + _TraceLog(0,9729,$vararg_buffer7); + $11 = (_glGetString(7939)|0); + $12 = (_strlen($11)|0); + $13 = (($12) + 1)|0; $14 = (_malloc($13)|0); - $15 = ($7|0)>(0); - if ($15) { - $16 = ($4|0)>(0); - $j$03 = 0; + _memcpy(($14|0),($11|0),($13|0))|0; + $$062 = 0;$$sink63 = $14; + while(1) { + $15 = (_strtok($$sink63,9747)|0); + $16 = (($vararg_buffer7) + ($$062<<2)|0); + HEAP32[$16>>2] = $15; + $17 = ($15|0)==(0|0); + $18 = (($$062) + 1)|0; + if ($17) { + break; + } else { + $$062 = $18;$$sink63 = 0; + } + } + _free($14); + $19 = (($$062) + -1)|0; + HEAP32[$vararg_buffer10>>2] = $19; + _TraceLog(0,9749,$vararg_buffer10); + $20 = ($$062|0)>(1); + if ($20) { + $$06167 = 0; while(1) { - if ($16) { - $17 = HEAP32[$5>>2]|0; - $18 = ($j$03|0)<($17|0); - $19 = Math_imul($j$03, $4)|0; - $20 = Math_imul($j$03, $4)|0; - $i$01 = 0; - while(1) { - if ($18) { - $21 = HEAP32[$2>>2]|0; - $22 = ($i$01|0)<($21|0); - if ($22) { - $23 = (($i$01) + ($19))|0; - $24 = Math_imul($21, $j$03)|0; - $25 = (($24) + ($i$01))|0; - $26 = (($14) + ($23<<2)|0); - $27 = (($1) + ($25<<2)|0); - $28 = HEAPU8[$27>>0]|(HEAPU8[$27+1>>0]<<8)|(HEAPU8[$27+2>>0]<<16)|(HEAPU8[$27+3>>0]<<24); - HEAP8[$26>>0]=$28&255;HEAP8[$26+1>>0]=($28>>8)&255;HEAP8[$26+2>>0]=($28>>16)&255;HEAP8[$26+3>>0]=$28>>24; - } else { - label = 10; - } - } else { - label = 10; - } - if ((label|0) == 10) { - label = 0; - $29 = (($i$01) + ($20))|0; - $30 = (($14) + ($29<<2)|0); - $31 = HEAPU8[$fillColor>>0]|(HEAPU8[$fillColor+1>>0]<<8)|(HEAPU8[$fillColor+2>>0]<<16)|(HEAPU8[$fillColor+3>>0]<<24); - HEAP8[$30>>0]=$31&255;HEAP8[$30+1>>0]=($31>>8)&255;HEAP8[$30+2>>0]=($31>>16)&255;HEAP8[$30+3>>0]=$31>>24; - } - $32 = (($i$01) + 1)|0; - $exitcond = ($32|0)==($4|0); - if ($exitcond) { - break; - } else { - $i$01 = $32; + $23 = (($vararg_buffer7) + ($$06167<<2)|0); + $24 = HEAP32[$23>>2]|0; + $25 = (_strcmp($24,9784)|0); + $26 = ($25|0)==(0); + if ($26) { + HEAP32[7563] = 1; + $27 = (_eglGetProcAddress((9811|0))|0); + HEAP32[7564] = $27; + $28 = (_eglGetProcAddress((9832|0))|0); + HEAP32[7565] = $28; + $29 = (_eglGetProcAddress((9853|0))|0); + HEAP32[7566] = $29; + } + $30 = (_strcmp($24,9877)|0); + $31 = ($30|0)==(0); + if ($31) { + HEAP32[7505] = 1; + } + $32 = (_strcmp($24,9897)|0); + $33 = ($32|0)==(0); + if ($33) { + label = 12; + } else { + $34 = HEAP32[$23>>2]|0; + $35 = (_strcmp($34,9929)|0); + $36 = ($35|0)==(0); + if ($36) { + label = 12; + } else { + $37 = (_strcmp($34,9962)|0); + $38 = ($37|0)==(0); + if ($38) { + label = 12; } } } - $33 = (($j$03) + 1)|0; - $exitcond6 = ($33|0)==($7|0); - if ($exitcond6) { + if ((label|0) == 12) { + label = 0; + HEAP32[7500] = 1; + } + $39 = (_strcmp($24,10002)|0); + $40 = ($39|0)==(0); + if ($40) { + label = 15; + } else { + $41 = HEAP32[$23>>2]|0; + $42 = (_strcmp($41,10038)|0); + $43 = ($42|0)==(0); + if ($43) { + label = 15; + } + } + if ((label|0) == 15) { + label = 0; + HEAP32[7501] = 1; + } + $44 = HEAP32[$23>>2]|0; + $45 = (_strcmp($44,10071)|0); + $46 = ($45|0)==(0); + if ($46) { + HEAP32[7502] = 1; + } + $47 = (_strcmp($44,10096)|0); + $48 = ($47|0)==(0); + if ($48) { + HEAP32[7503] = 1; + } + $49 = (_strcmp($44,10129)|0); + $50 = ($49|0)==(0); + if ($50) { + HEAP32[7504] = 1; + } + $51 = (_strcmp($44,10165)|0); + $52 = ($51|0)==(0); + if ($52) { + HEAP32[7567] = 1; + _glGetFloatv(34047,(30272|0)); + } + $53 = HEAP32[$23>>2]|0; + $54 = (_strcmp($53,10199)|0); + $55 = ($54|0)==(0); + if ($55) { + HEAP32[7569] = 1; + } + $56 = (($$06167) + 1)|0; + $exitcond70 = ($56|0)==($19|0); + if ($exitcond70) { break; } else { - $j$03 = $33; + $$06167 = $56; } } } - $34 = HEAP32[$2>>2]|0; - $35 = HEAP32[$5>>2]|0; - HEAP32[$vararg_buffer>>2] = $34; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = $35; - $vararg_ptr2 = ((($vararg_buffer)) + 8|0); - HEAP32[$vararg_ptr2>>2] = $4; - $vararg_ptr3 = ((($vararg_buffer)) + 12|0); - HEAP32[$vararg_ptr3>>2] = $7; - _TraceLog(2,14832,$vararg_buffer); - _free($1); - $36 = HEAP32[$image>>2]|0; - _free($36); - $37 = ((($image)) + 16|0); - $38 = HEAP32[$37>>2]|0; - _LoadImageEx($0,$14,$4,$7); - ;HEAP32[$image>>2]=HEAP32[$0>>2]|0;HEAP32[$image+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$image+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$image+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$image+16>>2]=HEAP32[$0+16>>2]|0; - _free($14); - _ImageFormat($image,$38); + $21 = HEAP32[7563]|0; + $22 = ($21|0)==(0); + if ($22) { + _TraceLog(1,10302,$vararg_buffer15); + } else { + _TraceLog(0,10227,$vararg_buffer13); + } + $57 = HEAP32[7505]|0; + $58 = ($57|0)==(0); + if ($58) { + _TraceLog(1,10438,$vararg_buffer19); + } else { + _TraceLog(0,10363,$vararg_buffer17); + } + $59 = HEAP32[7500]|0; + $60 = ($59|0)==(0); + if (!($60)) { + _TraceLog(0,10530,$vararg_buffer21); + } + $61 = HEAP32[7501]|0; + $62 = ($61|0)==(0); + if (!($62)) { + _TraceLog(0,10576,$vararg_buffer23); + } + $63 = HEAP32[7502]|0; + $64 = ($63|0)==(0); + if (!($64)) { + _TraceLog(0,10623,$vararg_buffer25); + } + $65 = HEAP32[7503]|0; + $66 = ($65|0)==(0); + if (!($66)) { + _TraceLog(0,10674,$vararg_buffer27); + } + $67 = HEAP32[7504]|0; + $68 = ($67|0)==(0); + if (!($68)) { + _TraceLog(0,10721,$vararg_buffer29); + } + $69 = HEAP32[7567]|0; + $70 = ($69|0)==(0); + if (!($70)) { + $71 = +HEAPF32[7568]; + $72 = $71; + HEAPF64[$vararg_buffer31>>3] = $72; + _TraceLog(0,10768,$vararg_buffer31); + } + $73 = HEAP32[7569]|0; + $74 = ($73|0)==(0); + if (!($74)) { + _TraceLog(0,10834,$vararg_buffer34); + } + HEAP32[$vararg_buffer10>>2] = -1; + $75 = (_rlglLoadTexture($vararg_buffer10,1,1,7,1)|0); + HEAP32[7570] = $75; + $76 = ($75|0)==(0); + if ($76) { + _TraceLog(1,10938,$vararg_buffer39); + } else { + HEAP32[$vararg_buffer36>>2] = $75; + _TraceLog(0,10887,$vararg_buffer36); + } + _LoadDefaultShader($2); + dest=30284; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=30340; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _LoadDefaultBuffers(); + $77 = (_malloc(49152)|0); + HEAP32[7599] = $77; + $$06066 = 0; + while(1) { + $79 = HEAP32[7599]|0; + $80 = (($79) + (($$06066*12)|0)|0); + _VectorZero($3); + ;HEAP32[$80>>2]=HEAP32[$3>>2]|0;HEAP32[$80+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$80+8>>2]=HEAP32[$3+8>>2]|0; + $81 = (($$06066) + 1)|0; + $exitcond69 = ($81|0)==(4096); + if ($exitcond69) { + break; + } else { + $$06066 = $81; + } + } + $78 = (_malloc(36864)|0); + HEAP32[7600] = $78; + $$05965 = 0; + while(1) { + $82 = (((($78) + (($$05965*144)|0)|0)) + 8|0); + HEAP32[$82>>2] = 0; + $83 = (($78) + (($$05965*144)|0)|0); + HEAP32[$83>>2] = 0; + $84 = (($$05965) + 1)|0; + $exitcond = ($84|0)==(256); + if ($exitcond) { + break; + } else { + $$05965 = $84; + } + } + HEAP32[7601] = 1; + $85 = HEAP32[7570]|0; + $86 = ((($78)) + 8|0); + HEAP32[$86>>2] = $85; + HEAP32[7602] = 4; + _MatrixIdentity($4); + dest=30412; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(30476); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(30540); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(30604); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(30668); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(30732); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(30796); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(30860); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(30924); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(30988); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(31052); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(31116); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(31180); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(31244); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(31308); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(31372); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($5); + dest=30120; src=$5; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($6); + dest=30184; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + HEAP32[7529] = 30184; + _glDepthFunc(515); + _glDisable(2929); + _glBlendFunc(770,771); + _glEnable(3042); + _glCullFace(1029); + _glFrontFace(2305); + _glEnable(2884); + _glClearColor(0.0,0.0,0.0,1.0); + _glClearDepthf(1.0); + _glClear(16640); + HEAP32[7859] = $0; + HEAP32[7860] = $1; + _TraceLog(0,10977,$vararg_buffer41); STACKTOP = sp;return; } -function _DrawTexture($texture,$posX,$posY,$tint) { - $texture = $texture|0; - $posX = $posX|0; - $posY = $posY|0; - $tint = $tint|0; - var $$byval_copy = 0, $0 = 0, $1 = 0.0, $2 = 0.0, $3 = 0, $texture$byval_copy = 0, $tint$byval_copy = 0, label = 0, sp = 0; +function _SetupViewport() { + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $tint$byval_copy = sp + 40|0; - $$byval_copy = sp; - $texture$byval_copy = sp + 8|0; - $0 = sp + 32|0; - $1 = (+($posX|0)); - $2 = (+($posY|0)); - HEAPF32[$0>>2] = $1; - $3 = ((($0)) + 4|0); - HEAPF32[$3>>2] = $2; - ;HEAP32[$texture$byval_copy>>2]=HEAP32[$texture>>2]|0;HEAP32[$texture$byval_copy+4>>2]=HEAP32[$texture+4>>2]|0;HEAP32[$texture$byval_copy+8>>2]=HEAP32[$texture+8>>2]|0;HEAP32[$texture$byval_copy+12>>2]=HEAP32[$texture+12>>2]|0;HEAP32[$texture$byval_copy+16>>2]=HEAP32[$texture+16>>2]|0; - ;HEAP32[$$byval_copy>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$0+4>>2]|0; - ;HEAP8[$tint$byval_copy>>0]=HEAP8[$tint>>0]|0;HEAP8[$tint$byval_copy+1>>0]=HEAP8[$tint+1>>0]|0;HEAP8[$tint$byval_copy+2>>0]=HEAP8[$tint+2>>0]|0;HEAP8[$tint$byval_copy+3>>0]=HEAP8[$tint+3>>0]|0; - _DrawTextureEx($texture$byval_copy,$$byval_copy,0.0,1.0,$tint$byval_copy); - STACKTOP = sp;return; -} -function _DrawTextureEx($texture,$position,$rotation,$scale,$tint) { - $texture = $texture|0; - $position = $position|0; - $rotation = +$rotation; - $scale = +$scale; - $tint = $tint|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0.0, $12 = 0, $13 = 0, $14 = 0, $15 = 0.0, $16 = 0.0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0.0, $21 = 0.0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0, $destRec = 0, $destRec$byval_copy = 0, $origin = 0, $sourceRec = 0, $sourceRec$byval_copy = 0, $texture$byval_copy = 0, $tint$byval_copy = 0, $tmpcast$byval_copy = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 112|0; - $tint$byval_copy = sp + 104|0; - $tmpcast$byval_copy = sp + 96|0; - $destRec$byval_copy = sp + 8|0; - $sourceRec$byval_copy = sp + 24|0; - $texture$byval_copy = sp + 40|0; - $sourceRec = sp + 64|0; - $destRec = sp + 80|0; - $origin = sp; - HEAP32[$sourceRec>>2] = 0; - $0 = ((($sourceRec)) + 4|0); - HEAP32[$0>>2] = 0; - $1 = ((($sourceRec)) + 8|0); - $2 = ((($texture)) + 4|0); - $3 = HEAP32[$2>>2]|0; - HEAP32[$1>>2] = $3; - $4 = ((($sourceRec)) + 12|0); - $5 = ((($texture)) + 8|0); - $6 = HEAP32[$5>>2]|0; - HEAP32[$4>>2] = $6; - $7 = +HEAPF32[$position>>2]; - $8 = (~~(($7))); - HEAP32[$destRec>>2] = $8; - $9 = ((($destRec)) + 4|0); - $10 = ((($position)) + 4|0); - $11 = +HEAPF32[$10>>2]; - $12 = (~~(($11))); - HEAP32[$9>>2] = $12; - $13 = ((($destRec)) + 8|0); - $14 = HEAP32[$2>>2]|0; - $15 = (+($14|0)); - $16 = $15 * $scale; - $17 = (~~(($16))); - HEAP32[$13>>2] = $17; - $18 = ((($destRec)) + 12|0); - $19 = HEAP32[$5>>2]|0; - $20 = (+($19|0)); - $21 = $20 * $scale; - $22 = (~~(($21))); - HEAP32[$18>>2] = $22; - $23 = $origin; - $24 = $23; - HEAP32[$24>>2] = 0; - $25 = (($23) + 4)|0; - $26 = $25; - HEAP32[$26>>2] = 0; - ;HEAP32[$texture$byval_copy>>2]=HEAP32[$texture>>2]|0;HEAP32[$texture$byval_copy+4>>2]=HEAP32[$texture+4>>2]|0;HEAP32[$texture$byval_copy+8>>2]=HEAP32[$texture+8>>2]|0;HEAP32[$texture$byval_copy+12>>2]=HEAP32[$texture+12>>2]|0;HEAP32[$texture$byval_copy+16>>2]=HEAP32[$texture+16>>2]|0; - ;HEAP32[$sourceRec$byval_copy>>2]=HEAP32[$sourceRec>>2]|0;HEAP32[$sourceRec$byval_copy+4>>2]=HEAP32[$sourceRec+4>>2]|0;HEAP32[$sourceRec$byval_copy+8>>2]=HEAP32[$sourceRec+8>>2]|0;HEAP32[$sourceRec$byval_copy+12>>2]=HEAP32[$sourceRec+12>>2]|0; - ;HEAP32[$destRec$byval_copy>>2]=HEAP32[$destRec>>2]|0;HEAP32[$destRec$byval_copy+4>>2]=HEAP32[$destRec+4>>2]|0;HEAP32[$destRec$byval_copy+8>>2]=HEAP32[$destRec+8>>2]|0;HEAP32[$destRec$byval_copy+12>>2]=HEAP32[$destRec+12>>2]|0; - ;HEAP32[$tmpcast$byval_copy>>2]=HEAP32[$origin>>2]|0;HEAP32[$tmpcast$byval_copy+4>>2]=HEAP32[$origin+4>>2]|0; - ;HEAP8[$tint$byval_copy>>0]=HEAP8[$tint>>0]|0;HEAP8[$tint$byval_copy+1>>0]=HEAP8[$tint+1>>0]|0;HEAP8[$tint$byval_copy+2>>0]=HEAP8[$tint+2>>0]|0;HEAP8[$tint$byval_copy+3>>0]=HEAP8[$tint+3>>0]|0; - _DrawTexturePro($texture$byval_copy,$sourceRec$byval_copy,$destRec$byval_copy,$tmpcast$byval_copy,$rotation,$tint$byval_copy); - STACKTOP = sp;return; -} -function _DrawTexturePro($texture,$sourceRec,$destRec,$origin,$rotation,$tint) { - $texture = $texture|0; - $sourceRec = $sourceRec|0; - $destRec = $destRec|0; - $origin = $origin|0; - $rotation = +$rotation; - $tint = $tint|0; - var $0 = 0, $1 = 0, $10 = 0.0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0.0, $2 = 0.0, $20 = 0, $21 = 0, $22 = 0.0, $23 = 0.0, $24 = 0, $25 = 0, $26 = 0.0; - var $27 = 0, $28 = 0, $29 = 0.0, $3 = 0, $30 = 0.0, $31 = 0, $32 = 0.0, $33 = 0, $34 = 0.0, $35 = 0.0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0.0, $41 = 0, $42 = 0.0, $43 = 0.0, $44 = 0; - var $45 = 0, $46 = 0.0, $47 = 0, $48 = 0, $49 = 0, $5 = 0.0, $50 = 0, $51 = 0.0, $52 = 0, $53 = 0.0, $54 = 0.0, $55 = 0, $56 = 0, $57 = 0, $58 = 0.0, $59 = 0, $6 = 0.0, $60 = 0.0, $61 = 0.0, $62 = 0; - var $63 = 0, $64 = 0.0, $65 = 0, $66 = 0.0, $67 = 0, $68 = 0, $69 = 0, $7 = 0.0, $70 = 0.0, $71 = 0, $72 = 0.0, $73 = 0.0, $74 = 0, $75 = 0.0, $76 = 0, $77 = 0.0, $78 = 0.0, $79 = 0, $8 = 0, $80 = 0.0; - var $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[$texture>>2]|0; - _rlEnableTexture($0); - _rlPushMatrix(); - $1 = HEAP32[$destRec>>2]|0; - $2 = (+($1|0)); - $3 = ((($destRec)) + 4|0); - $4 = HEAP32[$3>>2]|0; - $5 = (+($4|0)); - _rlTranslatef($2,$5,0.0); - _rlRotatef($rotation,0.0,0.0,1.0); - $6 = +HEAPF32[$origin>>2]; - $7 = -$6; - $8 = ((($origin)) + 4|0); - $9 = +HEAPF32[$8>>2]; - $10 = -$9; - _rlTranslatef($7,$10,0.0); - _rlBegin(2); - $11 = HEAP8[$tint>>0]|0; - $12 = ((($tint)) + 1|0); - $13 = HEAP8[$12>>0]|0; - $14 = ((($tint)) + 2|0); - $15 = HEAP8[$14>>0]|0; - $16 = ((($tint)) + 3|0); - $17 = HEAP8[$16>>0]|0; - _rlColor4ub($11,$13,$15,$17); - $18 = HEAP32[$sourceRec>>2]|0; - $19 = (+($18|0)); - $20 = ((($texture)) + 4|0); - $21 = HEAP32[$20>>2]|0; - $22 = (+($21|0)); - $23 = $19 / $22; - $24 = ((($sourceRec)) + 4|0); - $25 = HEAP32[$24>>2]|0; - $26 = (+($25|0)); - $27 = ((($texture)) + 8|0); - $28 = HEAP32[$27>>2]|0; - $29 = (+($28|0)); - $30 = $26 / $29; - _rlTexCoord2f($23,$30); - _rlVertex2f(0.0,0.0); - $31 = HEAP32[$sourceRec>>2]|0; - $32 = (+($31|0)); - $33 = HEAP32[$20>>2]|0; - $34 = (+($33|0)); - $35 = $32 / $34; - $36 = HEAP32[$24>>2]|0; - $37 = ((($sourceRec)) + 12|0); - $38 = HEAP32[$37>>2]|0; - $39 = (($38) + ($36))|0; - $40 = (+($39|0)); - $41 = HEAP32[$27>>2]|0; - $42 = (+($41|0)); - $43 = $40 / $42; - _rlTexCoord2f($35,$43); - $44 = ((($destRec)) + 12|0); - $45 = HEAP32[$44>>2]|0; - $46 = (+($45|0)); - _rlVertex2f(0.0,$46); - $47 = HEAP32[$sourceRec>>2]|0; - $48 = ((($sourceRec)) + 8|0); - $49 = HEAP32[$48>>2]|0; - $50 = (($49) + ($47))|0; - $51 = (+($50|0)); - $52 = HEAP32[$20>>2]|0; - $53 = (+($52|0)); - $54 = $51 / $53; - $55 = HEAP32[$24>>2]|0; - $56 = HEAP32[$37>>2]|0; - $57 = (($56) + ($55))|0; - $58 = (+($57|0)); - $59 = HEAP32[$27>>2]|0; - $60 = (+($59|0)); - $61 = $58 / $60; - _rlTexCoord2f($54,$61); - $62 = ((($destRec)) + 8|0); - $63 = HEAP32[$62>>2]|0; - $64 = (+($63|0)); - $65 = HEAP32[$44>>2]|0; - $66 = (+($65|0)); - _rlVertex2f($64,$66); - $67 = HEAP32[$sourceRec>>2]|0; - $68 = HEAP32[$48>>2]|0; - $69 = (($68) + ($67))|0; - $70 = (+($69|0)); - $71 = HEAP32[$20>>2]|0; - $72 = (+($71|0)); - $73 = $70 / $72; - $74 = HEAP32[$24>>2]|0; - $75 = (+($74|0)); - $76 = HEAP32[$27>>2]|0; - $77 = (+($76|0)); - $78 = $75 / $77; - _rlTexCoord2f($73,$78); - $79 = HEAP32[$62>>2]|0; - $80 = (+($79|0)); - _rlVertex2f($80,0.0); - _rlEnd(); - _rlPopMatrix(); + $0 = HEAP32[7527]|0; + $1 = (($0|0) / 2)&-1; + $2 = HEAP32[7528]|0; + $3 = (($2|0) / 2)&-1; + $4 = HEAP32[7525]|0; + $5 = (($4) - ($0))|0; + $6 = HEAP32[7526]|0; + $7 = (($6) - ($2))|0; + _rlViewport($1,$3,$5,$7); return; } -function _DrawTextureRec($texture,$sourceRec,$position,$tint) { - $texture = $texture|0; - $sourceRec = $sourceRec|0; - $position = $position|0; - $tint = $tint|0; - var $0 = 0.0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0.0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $destRec = 0, $destRec$byval_copy = 0, $origin = 0, $sourceRec$byval_copy = 0; - var $texture$byval_copy = 0, $tint$byval_copy = 0, $tmpcast$byval_copy = 0, label = 0, sp = 0; +function _rlMatrixMode($0) { + $0 = $0|0; + var $modelview$sink = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 96|0; - $tint$byval_copy = sp + 88|0; - $tmpcast$byval_copy = sp + 80|0; - $destRec$byval_copy = sp + 8|0; - $sourceRec$byval_copy = sp + 24|0; - $texture$byval_copy = sp + 40|0; - $destRec = sp + 64|0; - $origin = sp; - $0 = +HEAPF32[$position>>2]; - $1 = (~~(($0))); - HEAP32[$destRec>>2] = $1; - $2 = ((($destRec)) + 4|0); - $3 = ((($position)) + 4|0); - $4 = +HEAPF32[$3>>2]; - $5 = (~~(($4))); - HEAP32[$2>>2] = $5; - $6 = ((($destRec)) + 8|0); - $7 = ((($sourceRec)) + 8|0); - $8 = HEAP32[$7>>2]|0; - HEAP32[$6>>2] = $8; - $9 = ((($destRec)) + 12|0); - $10 = ((($sourceRec)) + 12|0); - $11 = HEAP32[$10>>2]|0; - HEAP32[$9>>2] = $11; - $12 = $origin; - $13 = $12; - HEAP32[$13>>2] = 0; - $14 = (($12) + 4)|0; - $15 = $14; - HEAP32[$15>>2] = 0; - ;HEAP32[$texture$byval_copy>>2]=HEAP32[$texture>>2]|0;HEAP32[$texture$byval_copy+4>>2]=HEAP32[$texture+4>>2]|0;HEAP32[$texture$byval_copy+8>>2]=HEAP32[$texture+8>>2]|0;HEAP32[$texture$byval_copy+12>>2]=HEAP32[$texture+12>>2]|0;HEAP32[$texture$byval_copy+16>>2]=HEAP32[$texture+16>>2]|0; - ;HEAP32[$sourceRec$byval_copy>>2]=HEAP32[$sourceRec>>2]|0;HEAP32[$sourceRec$byval_copy+4>>2]=HEAP32[$sourceRec+4>>2]|0;HEAP32[$sourceRec$byval_copy+8>>2]=HEAP32[$sourceRec+8>>2]|0;HEAP32[$sourceRec$byval_copy+12>>2]=HEAP32[$sourceRec+12>>2]|0; - ;HEAP32[$destRec$byval_copy>>2]=HEAP32[$destRec>>2]|0;HEAP32[$destRec$byval_copy+4>>2]=HEAP32[$destRec+4>>2]|0;HEAP32[$destRec$byval_copy+8>>2]=HEAP32[$destRec+8>>2]|0;HEAP32[$destRec$byval_copy+12>>2]=HEAP32[$destRec+12>>2]|0; - ;HEAP32[$tmpcast$byval_copy>>2]=HEAP32[$origin>>2]|0;HEAP32[$tmpcast$byval_copy+4>>2]=HEAP32[$origin+4>>2]|0; - ;HEAP8[$tint$byval_copy>>0]=HEAP8[$tint>>0]|0;HEAP8[$tint$byval_copy+1>>0]=HEAP8[$tint+1>>0]|0;HEAP8[$tint$byval_copy+2>>0]=HEAP8[$tint+2>>0]|0;HEAP8[$tint$byval_copy+3>>0]=HEAP8[$tint+3>>0]|0; - _DrawTexturePro($texture$byval_copy,$sourceRec$byval_copy,$destRec$byval_copy,$tmpcast$byval_copy,0.0,$tint$byval_copy); + switch ($0|0) { + case 5889: { + $modelview$sink = 30120; + label = 3; + break; + } + case 5888: { + $modelview$sink = 30184; + label = 3; + break; + } + default: { + } + } + if ((label|0) == 3) { + HEAP32[7529] = $modelview$sink; + } + HEAP32[7562] = $0; + return; +} +function _rlLoadIdentity() { + var $0 = 0, $1 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $0 = sp; + $1 = HEAP32[7529]|0; + _MatrixIdentity($0); + dest=$1; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); STACKTOP = sp;return; } -function _stb_vorbis_close($p) { - $p = $p|0; +function _rlOrtho($0,$1,$2,$3,$4,$5) { + $0 = +$0; + $1 = +$1; + $2 = +$2; + $3 = +$3; + $4 = +$4; + $5 = +$5; + var $$byval_copy = 0, $$byval_copy1 = 0, $6 = 0, $7 = 0, $8 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0); + $$byval_copy1 = sp + 192|0; + $$byval_copy = sp + 128|0; + $6 = sp + 64|0; + $7 = sp; + _MatrixOrtho($6,$0,$1,$2,$3,$4,$5); + _MatrixTranspose($6); + $8 = HEAP32[7529]|0; + dest=$$byval_copy; src=$8; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$$byval_copy1; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixMultiply($7,$$byval_copy,$$byval_copy1); + dest=$8; src=$7; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + STACKTOP = sp;return; +} +function _ClearBackground($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP8[$0>>0]|0; + $2 = ((($0)) + 1|0); + $3 = HEAP8[$2>>0]|0; + $4 = ((($0)) + 2|0); + $5 = HEAP8[$4>>0]|0; + $6 = ((($0)) + 3|0); + $7 = HEAP8[$6>>0]|0; + _rlClearColor($1,$3,$5,$7); + return; +} +function _rlClearColor($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $10 = 0.0, $11 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $4 = (+($0&255)); + $5 = $4 / 255.0; + $6 = (+($1&255)); + $7 = $6 / 255.0; + $8 = (+($2&255)); + $9 = $8 / 255.0; + $10 = (+($3&255)); + $11 = $10 / 255.0; + _glClearColor((+$5),(+$7),(+$9),(+$11)); + return; +} +function _rlViewport($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var label = 0, sp = 0; + sp = STACKTOP; + _glViewport(($0|0),($1|0),($2|0),($3|0)); + return; +} +function _LoadDefaultShader($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 1008|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1008|0); + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $1 = sp + 16|0; + $2 = sp + 513|0; + $3 = sp + 72|0; + _memcpy(($2|0),(11553|0),489)|0; + _memcpy(($3|0),(12042|0),441)|0; + $4 = (_LoadShaderProgram($2,$3)|0); + HEAP32[$1>>2] = $4; + $5 = ($4|0)==(0); + if ($5) { + HEAP32[$vararg_buffer1>>2] = $4; + _TraceLog(1,12531,$vararg_buffer1); + } else { + HEAP32[$vararg_buffer>>2] = $4; + _TraceLog(0,12483,$vararg_buffer); + } + $6 = HEAP32[$1>>2]|0; + $7 = ($6|0)==(0); + if (!($7)) { + _LoadDefaultShaderLocations($1); + } + dest=$0; src=$1; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + STACKTOP = sp;return; +} +function _LoadDefaultBuffers() { + var $$05365 = 0, $$05467 = 0, $$05770 = 0, $$05972 = 0, $$066 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0; + var $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0; + var $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0; + var $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0; + var $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0; + var $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond = 0, $exitcond75 = 0, $exitcond78 = 0, $exitcond80 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer14 = 0, $vararg_buffer17 = 0; + var $vararg_buffer3 = 0, $vararg_buffer7 = 0, $vararg_ptr13 = 0, $vararg_ptr20 = 0, $vararg_ptr21 = 0, $vararg_ptr22 = 0, $vararg_ptr6 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $vararg_buffer17 = sp + 48|0; + $vararg_buffer14 = sp + 40|0; + $vararg_buffer10 = sp + 32|0; + $vararg_buffer7 = sp + 24|0; + $vararg_buffer3 = sp + 16|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $0 = (_malloc(24576)|0); + HEAP32[(31456)>>2] = $0; + $1 = (_malloc(8192)|0); + HEAP32[(31464)>>2] = $1; + HEAP32[(31460)>>2] = 0; + HEAP32[(31468)>>2] = 0; + _memset(($0|0),0,24576)|0; + $$05972 = 0; + while(1) { + $2 = HEAP32[(31464)>>2]|0; + $3 = (($2) + ($$05972)|0); + HEAP8[$3>>0] = 0; + $4 = (($$05972) + 1)|0; + $exitcond80 = ($4|0)==(8192); + if ($exitcond80) { + break; + } else { + $$05972 = $4; + } + } + HEAP32[7861] = 0; + HEAP32[(31452)>>2] = 0; + HEAP32[(31448)>>2] = 0; + $5 = (_malloc(73728)|0); + HEAP32[(31504)>>2] = $5; + $6 = (_malloc(24576)|0); + HEAP32[(31512)>>2] = $6; + HEAP32[(31508)>>2] = 0; + HEAP32[(31516)>>2] = 0; + _memset(($5|0),0,73728)|0; + $$05770 = 0; + while(1) { + $7 = HEAP32[(31512)>>2]|0; + $8 = (($7) + ($$05770)|0); + HEAP8[$8>>0] = 0; + $9 = (($$05770) + 1)|0; + $exitcond78 = ($9|0)==(24576); + if ($exitcond78) { + break; + } else { + $$05770 = $9; + } + } + HEAP32[7873] = 0; + HEAP32[(31500)>>2] = 0; + HEAP32[(31496)>>2] = 0; + $10 = (_malloc(49152)|0); + HEAP32[(31552)>>2] = $10; + $11 = (_malloc(32768)|0); + HEAP32[(31556)>>2] = $11; + $12 = (_malloc(16384)|0); + HEAP32[(31560)>>2] = $12; + $13 = (_malloc(12288)|0); + HEAP32[(31564)>>2] = $13; + $14 = HEAP32[(31552)>>2]|0; + _memset(($14|0),0,49152)|0; + $15 = HEAP32[(31556)>>2]|0; + _memset(($15|0),0,32768)|0; + $$05467 = 0; + while(1) { + $17 = HEAP32[(31560)>>2]|0; + $18 = (($17) + ($$05467)|0); + HEAP8[$18>>0] = 0; + $19 = (($$05467) + 1)|0; + $exitcond75 = ($19|0)==(16384); + if ($exitcond75) { + break; + } else { + $$05467 = $19; + } + } + $16 = HEAP32[(31564)>>2]|0; + $$05365 = 0;$$066 = 0; + while(1) { + $22 = $$05365 << 2; + $23 = $22&65535; + $24 = (($16) + ($$066<<1)|0); + HEAP16[$24>>1] = $23; + $25 = $22 | 1; + $26 = $25&65535; + $27 = $$066 | 1; + $28 = (($16) + ($27<<1)|0); + HEAP16[$28>>1] = $26; + $29 = $22 | 2; + $30 = $29&65535; + $31 = (($$066) + 2)|0; + $32 = (($16) + ($31<<1)|0); + HEAP16[$32>>1] = $30; + $33 = (($$066) + 3)|0; + $34 = (($16) + ($33<<1)|0); + HEAP16[$34>>1] = $23; + $35 = (($$066) + 4)|0; + $36 = (($16) + ($35<<1)|0); + HEAP16[$36>>1] = $30; + $37 = $22 | 3; + $38 = $37&65535; + $39 = (($$066) + 5)|0; + $40 = (($16) + ($39<<1)|0); + HEAP16[$40>>1] = $38; + $41 = (($$05365) + 1)|0; + $42 = (($$066) + 6)|0; + $exitcond = ($41|0)==(1024); + if ($exitcond) { + break; + } else { + $$05365 = $41;$$066 = $42; + } + } + HEAP32[7885] = 0; + HEAP32[(31544)>>2] = 0; + HEAP32[(31548)>>2] = 0; + _TraceLog(0,11024,$vararg_buffer); + $20 = HEAP32[7563]|0; + $21 = ($20|0)==(0); + if (!($21)) { + $43 = HEAP32[7564]|0; + FUNCTION_TABLE_vii[$43 & 63](1,(31472)); + $44 = HEAP32[7565]|0; + $45 = HEAP32[(31472)>>2]|0; + FUNCTION_TABLE_vi[$44 & 31]($45); + } + _glGenBuffers(2,((31476)|0)); + $46 = HEAP32[(31476)>>2]|0; + _glBindBuffer(34962,($46|0)); + $47 = HEAP32[(31456)>>2]|0; + _glBufferData(34962,24576,($47|0),35048); + $48 = HEAP32[(30344)>>2]|0; + _glEnableVertexAttribArray(($48|0)); + $49 = HEAP32[(30344)>>2]|0; + _glVertexAttribPointer(($49|0),3,5126,0,0,(0|0)); + _glGenBuffers(2,((31480)|0)); + $50 = HEAP32[(31480)>>2]|0; + _glBindBuffer(34962,($50|0)); + $51 = HEAP32[(31464)>>2]|0; + _glBufferData(34962,8192,($51|0),35048); + $52 = HEAP32[(30364)>>2]|0; + _glEnableVertexAttribArray(($52|0)); + $53 = HEAP32[(30364)>>2]|0; + _glVertexAttribPointer(($53|0),4,5121,1,0,(0|0)); + $54 = HEAP32[7563]|0; + $55 = ($54|0)==(0); + if ($55) { + $57 = HEAP32[(31476)>>2]|0; + $58 = HEAP32[(31480)>>2]|0; + HEAP32[$vararg_buffer3>>2] = $57; + $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); + HEAP32[$vararg_ptr6>>2] = $58; + _TraceLog(0,11162,$vararg_buffer3); + } else { + $56 = HEAP32[(31472)>>2]|0; + HEAP32[$vararg_buffer1>>2] = $56; + _TraceLog(0,11097,$vararg_buffer1); + } + $59 = HEAP32[7563]|0; + $60 = ($59|0)==(0); + if (!($60)) { + $61 = HEAP32[7564]|0; + FUNCTION_TABLE_vii[$61 & 63](1,(31520)); + $62 = HEAP32[7565]|0; + $63 = HEAP32[(31520)>>2]|0; + FUNCTION_TABLE_vi[$62 & 31]($63); + } + _glGenBuffers(1,((31524)|0)); + $64 = HEAP32[(31524)>>2]|0; + _glBindBuffer(34962,($64|0)); + $65 = HEAP32[(31504)>>2]|0; + _glBufferData(34962,73728,($65|0),35048); + $66 = HEAP32[(30344)>>2]|0; + _glEnableVertexAttribArray(($66|0)); + $67 = HEAP32[(30344)>>2]|0; + _glVertexAttribPointer(($67|0),3,5126,0,0,(0|0)); + _glGenBuffers(1,((31528)|0)); + $68 = HEAP32[(31528)>>2]|0; + _glBindBuffer(34962,($68|0)); + $69 = HEAP32[(31512)>>2]|0; + _glBufferData(34962,24576,($69|0),35048); + $70 = HEAP32[(30364)>>2]|0; + _glEnableVertexAttribArray(($70|0)); + $71 = HEAP32[(30364)>>2]|0; + _glVertexAttribPointer(($71|0),4,5121,1,0,(0|0)); + $72 = HEAP32[7563]|0; + $73 = ($72|0)==(0); + if ($73) { + $75 = HEAP32[(31524)>>2]|0; + $76 = HEAP32[(31528)>>2]|0; + HEAP32[$vararg_buffer10>>2] = $75; + $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); + HEAP32[$vararg_ptr13>>2] = $76; + _TraceLog(0,11308,$vararg_buffer10); + } else { + $74 = HEAP32[(31520)>>2]|0; + HEAP32[$vararg_buffer7>>2] = $74; + _TraceLog(0,11239,$vararg_buffer7); + } + $77 = HEAP32[7563]|0; + $78 = ($77|0)==(0); + if (!($78)) { + $79 = HEAP32[7564]|0; + FUNCTION_TABLE_vii[$79 & 63](1,(31568)); + $80 = HEAP32[7565]|0; + $81 = HEAP32[(31568)>>2]|0; + FUNCTION_TABLE_vi[$80 & 31]($81); + } + _glGenBuffers(1,((31572)|0)); + $82 = HEAP32[(31572)>>2]|0; + _glBindBuffer(34962,($82|0)); + $83 = HEAP32[(31552)>>2]|0; + _glBufferData(34962,49152,($83|0),35048); + $84 = HEAP32[(30344)>>2]|0; + _glEnableVertexAttribArray(($84|0)); + $85 = HEAP32[(30344)>>2]|0; + _glVertexAttribPointer(($85|0),3,5126,0,0,(0|0)); + _glGenBuffers(1,((31576)|0)); + $86 = HEAP32[(31576)>>2]|0; + _glBindBuffer(34962,($86|0)); + $87 = HEAP32[(31556)>>2]|0; + _glBufferData(34962,32768,($87|0),35048); + $88 = HEAP32[(30348)>>2]|0; + _glEnableVertexAttribArray(($88|0)); + $89 = HEAP32[(30348)>>2]|0; + _glVertexAttribPointer(($89|0),2,5126,0,0,(0|0)); + _glGenBuffers(1,((31580)|0)); + $90 = HEAP32[(31580)>>2]|0; + _glBindBuffer(34962,($90|0)); + $91 = HEAP32[(31560)>>2]|0; + _glBufferData(34962,16384,($91|0),35048); + $92 = HEAP32[(30364)>>2]|0; + _glEnableVertexAttribArray(($92|0)); + $93 = HEAP32[(30364)>>2]|0; + _glVertexAttribPointer(($93|0),4,5121,1,0,(0|0)); + _glGenBuffers(1,((31584)|0)); + $94 = HEAP32[(31584)>>2]|0; + _glBindBuffer(34963,($94|0)); + $95 = HEAP32[(31564)>>2]|0; + _glBufferData(34963,12288,($95|0),35044); + $96 = HEAP32[7563]|0; + $97 = ($96|0)==(0); + if ($97) { + $99 = HEAP32[(31572)>>2]|0; + $100 = HEAP32[(31576)>>2]|0; + $101 = HEAP32[(31580)>>2]|0; + $102 = HEAP32[(31584)>>2]|0; + HEAP32[$vararg_buffer17>>2] = $99; + $vararg_ptr20 = ((($vararg_buffer17)) + 4|0); + HEAP32[$vararg_ptr20>>2] = $100; + $vararg_ptr21 = ((($vararg_buffer17)) + 8|0); + HEAP32[$vararg_ptr21>>2] = $101; + $vararg_ptr22 = ((($vararg_buffer17)) + 12|0); + HEAP32[$vararg_ptr22>>2] = $102; + _TraceLog(0,11454,$vararg_buffer17); + } else { + $98 = HEAP32[(31568)>>2]|0; + HEAP32[$vararg_buffer14>>2] = $98; + _TraceLog(0,11389,$vararg_buffer14); + } + $103 = HEAP32[7563]|0; + $104 = ($103|0)==(0); + if ($104) { + STACKTOP = sp;return; + } + $105 = HEAP32[7565]|0; + FUNCTION_TABLE_vi[$105 & 31](0); + STACKTOP = sp;return; +} +function _LoadShaderProgram($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $$alloca_mul = 0, $$alloca_mul34 = 0, $$alloca_mul36 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; + var $25 = 0, $26 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer13 = 0, $vararg_buffer16 = 0, $vararg_buffer19 = 0, $vararg_buffer22 = 0, $vararg_buffer4 = 0, $vararg_buffer7 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0); + $vararg_buffer22 = sp + 64|0; + $vararg_buffer19 = sp + 56|0; + $vararg_buffer16 = sp + 48|0; + $vararg_buffer13 = sp + 40|0; + $vararg_buffer10 = sp + 32|0; + $vararg_buffer7 = sp + 24|0; + $vararg_buffer4 = sp + 16|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $2 = sp + 80|0; + $3 = sp + 76|0; + $4 = sp + 72|0; + $5 = sp + 68|0; + $6 = (_glCreateShader(35633)|0); + $7 = (_glCreateShader(35632)|0); + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + _glShaderSource(($6|0),1,($2|0),(0|0)); + _glShaderSource(($7|0),1,($3|0),(0|0)); + HEAP32[$4>>2] = 0; + _glCompileShader(($6|0)); + _glGetShaderiv(($6|0),35713,($4|0)); + $8 = HEAP32[$4>>2]|0; + $9 = ($8|0)==(1); + if ($9) { + HEAP32[$vararg_buffer4>>2] = $6; + _TraceLog(0,12787,$vararg_buffer4); + } else { + HEAP32[$vararg_buffer>>2] = $6; + _TraceLog(1,12735,$vararg_buffer); + HEAP32[$vararg_buffer>>2] = 0; + _glGetShaderiv(($6|0),35716,($vararg_buffer|0)); + $10 = HEAP32[$vararg_buffer>>2]|0; + $11 = (_llvm_stacksave()|0); + $$alloca_mul = $10; + $12 = STACKTOP; STACKTOP = STACKTOP + ((((1*$$alloca_mul)|0)+15)&-16)|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(((((1*$$alloca_mul)|0)+15)&-16)|0);; + $13 = HEAP32[$vararg_buffer>>2]|0; + _glGetShaderInfoLog(($6|0),($13|0),($5|0),($12|0)); + HEAP32[$vararg_buffer1>>2] = $12; + _TraceLog(0,12784,$vararg_buffer1); + _llvm_stackrestore(($11|0)); + } + _glCompileShader(($7|0)); + _glGetShaderiv(($7|0),35713,($4|0)); + $14 = HEAP32[$4>>2]|0; + $15 = ($14|0)==(1); + if ($15) { + HEAP32[$vararg_buffer13>>2] = $7; + _TraceLog(0,12888,$vararg_buffer13); + } else { + HEAP32[$vararg_buffer7>>2] = $7; + _TraceLog(1,12837,$vararg_buffer7); + HEAP32[$vararg_buffer7>>2] = 0; + _glGetShaderiv(($7|0),35716,($vararg_buffer7|0)); + $16 = HEAP32[$vararg_buffer7>>2]|0; + $17 = (_llvm_stacksave()|0); + $$alloca_mul34 = $16; + $18 = STACKTOP; STACKTOP = STACKTOP + ((((1*$$alloca_mul34)|0)+15)&-16)|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(((((1*$$alloca_mul34)|0)+15)&-16)|0);; + $19 = HEAP32[$vararg_buffer7>>2]|0; + _glGetShaderInfoLog(($7|0),($19|0),($5|0),($18|0)); + HEAP32[$vararg_buffer10>>2] = $18; + _TraceLog(0,12784,$vararg_buffer10); + _llvm_stackrestore(($17|0)); + } + $20 = (_glCreateProgram()|0); + _glAttachShader(($20|0),($6|0)); + _glAttachShader(($20|0),($7|0)); + _glBindAttribLocation(($20|0),0,(12579|0)); + _glBindAttribLocation(($20|0),1,(12594|0)); + _glBindAttribLocation(($20|0),2,(12625|0)); + _glBindAttribLocation(($20|0),3,(12652|0)); + _glBindAttribLocation(($20|0),4,(12638|0)); + _glBindAttribLocation(($20|0),5,(12609|0)); + _glLinkProgram(($20|0)); + _glGetProgramiv(($20|0),35714,($4|0)); + $21 = HEAP32[$4>>2]|0; + $22 = ($21|0)==(0); + if ($22) { + HEAP32[$vararg_buffer16>>2] = $20; + _TraceLog(1,12940,$vararg_buffer16); + HEAP32[$vararg_buffer16>>2] = 0; + _glGetProgramiv(($20|0),35716,($vararg_buffer16|0)); + $23 = HEAP32[$vararg_buffer16>>2]|0; + $24 = (_llvm_stacksave()|0); + $$alloca_mul36 = $23; + $25 = STACKTOP; STACKTOP = STACKTOP + ((((1*$$alloca_mul36)|0)+15)&-16)|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(((((1*$$alloca_mul36)|0)+15)&-16)|0);; + $26 = HEAP32[$vararg_buffer16>>2]|0; + _glGetProgramInfoLog(($20|0),($26|0),($5|0),($25|0)); + HEAP32[$vararg_buffer19>>2] = $25; + _TraceLog(0,12784,$vararg_buffer19); + _glDeleteProgram(($20|0)); + _llvm_stackrestore(($24|0)); + $$0 = 0; + _glDeleteShader(($6|0)); + _glDeleteShader(($7|0)); + STACKTOP = sp;return ($$0|0); + } else { + HEAP32[$vararg_buffer22>>2] = $20; + _TraceLog(0,12986,$vararg_buffer22); + $$0 = $20; + _glDeleteShader(($6|0)); + _glDeleteShader(($7|0)); + STACKTOP = sp;return ($$0|0); + } + return (0)|0; +} +function _LoadDefaultShaderLocations($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; + var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; + var sp = 0; + sp = STACKTOP; + $1 = HEAP32[$0>>2]|0; + $2 = (_glGetAttribLocation(($1|0),(12579|0))|0); + $3 = ((($0)) + 4|0); + HEAP32[$3>>2] = $2; + $4 = HEAP32[$0>>2]|0; + $5 = (_glGetAttribLocation(($4|0),(12594|0))|0); + $6 = ((($0)) + 8|0); + HEAP32[$6>>2] = $5; + $7 = HEAP32[$0>>2]|0; + $8 = (_glGetAttribLocation(($7|0),(12609|0))|0); + $9 = ((($0)) + 12|0); + HEAP32[$9>>2] = $8; + $10 = HEAP32[$0>>2]|0; + $11 = (_glGetAttribLocation(($10|0),(12625|0))|0); + $12 = ((($0)) + 16|0); + HEAP32[$12>>2] = $11; + $13 = HEAP32[$0>>2]|0; + $14 = (_glGetAttribLocation(($13|0),(12638|0))|0); + $15 = ((($0)) + 20|0); + HEAP32[$15>>2] = $14; + $16 = HEAP32[$0>>2]|0; + $17 = (_glGetAttribLocation(($16|0),(12652|0))|0); + $18 = ((($0)) + 24|0); + HEAP32[$18>>2] = $17; + $19 = HEAP32[$0>>2]|0; + $20 = (_glGetUniformLocation(($19|0),(12664|0))|0); + $21 = ((($0)) + 28|0); + HEAP32[$21>>2] = $20; + $22 = HEAP32[$0>>2]|0; + $23 = (_glGetUniformLocation(($22|0),(12674|0))|0); + $24 = ((($0)) + 32|0); + HEAP32[$24>>2] = $23; + $25 = HEAP32[$0>>2]|0; + $26 = (_glGetUniformLocation(($25|0),(12685|0))|0); + $27 = ((($0)) + 36|0); + HEAP32[$27>>2] = $26; + $28 = HEAP32[$0>>2]|0; + $29 = (_glGetUniformLocation(($28|0),(12696|0))|0); + $30 = ((($0)) + 40|0); + HEAP32[$30>>2] = $29; + $31 = HEAP32[$0>>2]|0; + $32 = (_glGetUniformLocation(($31|0),(12708|0))|0); + $33 = ((($0)) + 44|0); + HEAP32[$33>>2] = $32; + $34 = HEAP32[$0>>2]|0; + $35 = (_glGetUniformLocation(($34|0),(12717|0))|0); + $36 = ((($0)) + 48|0); + HEAP32[$36>>2] = $35; + $37 = HEAP32[$0>>2]|0; + $38 = (_glGetUniformLocation(($37|0),(12726|0))|0); + $39 = ((($0)) + 52|0); + HEAP32[$39>>2] = $38; + return; +} +function _IsMouseButtonPressed($0) { + $0 = $0|0; + var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (35577 + ($0)|0); + $2 = HEAP8[$1>>0]|0; + $3 = (35580 + ($0)|0); + $4 = HEAP8[$3>>0]|0; + $5 = ($2<<24>>24)!=($4<<24>>24); + $6 = ($2<<24>>24)==(1); + $or$cond = $6 & $5; + $$0 = $or$cond&1; + return ($$0|0); +} +function _IsMouseButtonReleased($0) { + $0 = $0|0; + var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (35577 + ($0)|0); + $2 = HEAP8[$1>>0]|0; + $3 = (35580 + ($0)|0); + $4 = HEAP8[$3>>0]|0; + $5 = ($2<<24>>24)!=($4<<24>>24); + $6 = ($2<<24>>24)==(0); + $or$cond = $6 & $5; + $$0 = $or$cond&1; + return ($$0|0); +} +function _rlClearScreenBuffers() { + var label = 0, sp = 0; + sp = STACKTOP; + _glClear(16640); + return; +} +function _CloseWindow() { + var $0 = 0, $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $vararg_buffer = sp; + _UnloadDefaultFont(); + _rlglClose(); + $0 = HEAP32[7482]|0; + _glfwDestroyWindow(($0|0)); + _glfwTerminate(); + _TraceLog(0,13298,$vararg_buffer); + STACKTOP = sp;return; +} +function _UnloadDefaultFont() { + var $$byval_copy = 0, $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $$byval_copy = sp; + ;HEAP32[$$byval_copy>>2]=HEAP32[29968>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[29968+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[29968+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[29968+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[29968+16>>2]|0; + _UnloadTexture($$byval_copy); + $0 = HEAP32[(29996)>>2]|0; + _free($0); + STACKTOP = sp;return; +} +function _rlglClose() { + var $0 = 0, $1 = 0, $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $vararg_buffer = sp; + _UnloadDefaultShader(); + _UnloadDefaultBuffers(); + _glDeleteTextures(1,(30280|0)); + $0 = HEAP32[7570]|0; + HEAP32[$vararg_buffer>>2] = $0; + _TraceLog(0,13325,$vararg_buffer); + $1 = HEAP32[7600]|0; + _free($1); + STACKTOP = sp;return; +} +function _UnloadDefaultShader() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = ($p|0)==(0|0); - if ($0) { + _glUseProgram(0); + $0 = HEAP32[7571]|0; + _glDeleteProgram(($0|0)); + return; +} +function _UnloadDefaultBuffers() { + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[7563]|0; + $1 = ($0|0)==(0); + if (!($1)) { + $2 = HEAP32[7565]|0; + FUNCTION_TABLE_vi[$2 & 31](0); + } + _glDisableVertexAttribArray(0); + _glDisableVertexAttribArray(1); + _glDisableVertexAttribArray(2); + _glDisableVertexAttribArray(3); + _glBindBuffer(34962,0); + _glBindBuffer(34963,0); + _glDeleteBuffers(1,((31476)|0)); + _glDeleteBuffers(1,((31480)|0)); + _glDeleteBuffers(1,((31524)|0)); + _glDeleteBuffers(1,((31528)|0)); + _glDeleteBuffers(1,((31572)|0)); + _glDeleteBuffers(1,((31576)|0)); + _glDeleteBuffers(1,((31580)|0)); + _glDeleteBuffers(1,((31584)|0)); + $3 = HEAP32[7563]|0; + $4 = ($3|0)==(0); + if (!($4)) { + $5 = HEAP32[7566]|0; + FUNCTION_TABLE_vii[$5 & 63](1,(31472)); + $6 = HEAP32[7566]|0; + FUNCTION_TABLE_vii[$6 & 63](1,(31520)); + $7 = HEAP32[7566]|0; + FUNCTION_TABLE_vii[$7 & 63](1,(31568)); + } + $8 = HEAP32[(31456)>>2]|0; + _free($8); + $9 = HEAP32[(31464)>>2]|0; + _free($9); + $10 = HEAP32[(31504)>>2]|0; + _free($10); + $11 = HEAP32[(31512)>>2]|0; + _free($11); + $12 = HEAP32[(31552)>>2]|0; + _free($12); + $13 = HEAP32[(31556)>>2]|0; + _free($13); + $14 = HEAP32[(31560)>>2]|0; + _free($14); + $15 = HEAP32[(31564)>>2]|0; + _free($15); + return; +} +function _UnloadTexture($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $vararg_buffer = sp; + $1 = HEAP32[$0>>2]|0; + $2 = ($1|0)==(0); + if ($2) { + STACKTOP = sp;return; + } + _rlDeleteTextures($1); + $3 = HEAP32[$0>>2]|0; + HEAP32[$vararg_buffer>>2] = $3; + _TraceLog(0,13390,$vararg_buffer); + STACKTOP = sp;return; +} +function _rlDeleteTextures($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = ($0|0)==(0); + if (!($2)) { + _glDeleteTextures(1,($1|0)); + } + STACKTOP = sp;return; +} +function _BeginDrawing() { + var $0 = 0.0, $1 = 0.0, $2 = 0.0, $downscaleView$byval_copy = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $downscaleView$byval_copy = sp; + $0 = (+_GetTime()); + HEAPF64[3338] = $0; + $1 = +HEAPF64[3321]; + $2 = $0 - $1; + HEAPF64[3339] = $2; + HEAPF64[3321] = $0; + _rlClearScreenBuffers(); + _rlLoadIdentity(); + dest=$downscaleView$byval_copy; src=30024; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + (_MatrixToFloat($downscaleView$byval_copy)|0); + _rlMultMatrixf(31596); + STACKTOP = sp;return; +} +function _MatrixToFloat($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; + var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP32[$0>>2]|0; + HEAP32[7899] = $1; + $2 = ((($0)) + 4|0); + $3 = HEAP32[$2>>2]|0; + HEAP32[(31600)>>2] = $3; + $4 = ((($0)) + 8|0); + $5 = HEAP32[$4>>2]|0; + HEAP32[(31604)>>2] = $5; + $6 = ((($0)) + 12|0); + $7 = HEAP32[$6>>2]|0; + HEAP32[(31608)>>2] = $7; + $8 = ((($0)) + 16|0); + $9 = HEAP32[$8>>2]|0; + HEAP32[(31612)>>2] = $9; + $10 = ((($0)) + 20|0); + $11 = HEAP32[$10>>2]|0; + HEAP32[(31616)>>2] = $11; + $12 = ((($0)) + 24|0); + $13 = HEAP32[$12>>2]|0; + HEAP32[(31620)>>2] = $13; + $14 = ((($0)) + 28|0); + $15 = HEAP32[$14>>2]|0; + HEAP32[(31624)>>2] = $15; + $16 = ((($0)) + 32|0); + $17 = HEAP32[$16>>2]|0; + HEAP32[(31628)>>2] = $17; + $18 = ((($0)) + 36|0); + $19 = HEAP32[$18>>2]|0; + HEAP32[(31632)>>2] = $19; + $20 = ((($0)) + 40|0); + $21 = HEAP32[$20>>2]|0; + HEAP32[(31636)>>2] = $21; + $22 = ((($0)) + 44|0); + $23 = HEAP32[$22>>2]|0; + HEAP32[(31640)>>2] = $23; + $24 = ((($0)) + 48|0); + $25 = HEAP32[$24>>2]|0; + HEAP32[(31644)>>2] = $25; + $26 = ((($0)) + 52|0); + $27 = HEAP32[$26>>2]|0; + HEAP32[(31648)>>2] = $27; + $28 = ((($0)) + 56|0); + $29 = HEAP32[$28>>2]|0; + HEAP32[(31652)>>2] = $29; + $30 = ((($0)) + 60|0); + $31 = HEAP32[$30>>2]|0; + HEAP32[(31656)>>2] = $31; + return (31596|0); +} +function _rlMultMatrixf($0) { + $0 = $0|0; + var $$byval_copy = 0, $$byval_copy1 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; + var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; + var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0); + $$byval_copy1 = sp + 192|0; + $$byval_copy = sp + 128|0; + $1 = sp + 64|0; + $2 = sp; + $3 = HEAP32[$0>>2]|0; + HEAP32[$1>>2] = $3; + $4 = ((($1)) + 4|0); + $5 = ((($0)) + 4|0); + $6 = HEAP32[$5>>2]|0; + HEAP32[$4>>2] = $6; + $7 = ((($1)) + 8|0); + $8 = ((($0)) + 8|0); + $9 = HEAP32[$8>>2]|0; + HEAP32[$7>>2] = $9; + $10 = ((($1)) + 12|0); + $11 = ((($0)) + 12|0); + $12 = HEAP32[$11>>2]|0; + HEAP32[$10>>2] = $12; + $13 = ((($1)) + 16|0); + $14 = ((($0)) + 16|0); + $15 = HEAP32[$14>>2]|0; + HEAP32[$13>>2] = $15; + $16 = ((($1)) + 20|0); + $17 = ((($0)) + 20|0); + $18 = HEAP32[$17>>2]|0; + HEAP32[$16>>2] = $18; + $19 = ((($1)) + 24|0); + $20 = ((($0)) + 24|0); + $21 = HEAP32[$20>>2]|0; + HEAP32[$19>>2] = $21; + $22 = ((($1)) + 28|0); + $23 = ((($0)) + 28|0); + $24 = HEAP32[$23>>2]|0; + HEAP32[$22>>2] = $24; + $25 = ((($1)) + 32|0); + $26 = ((($0)) + 32|0); + $27 = HEAP32[$26>>2]|0; + HEAP32[$25>>2] = $27; + $28 = ((($1)) + 36|0); + $29 = ((($0)) + 36|0); + $30 = HEAP32[$29>>2]|0; + HEAP32[$28>>2] = $30; + $31 = ((($1)) + 40|0); + $32 = ((($0)) + 40|0); + $33 = HEAP32[$32>>2]|0; + HEAP32[$31>>2] = $33; + $34 = ((($1)) + 44|0); + $35 = ((($0)) + 44|0); + $36 = HEAP32[$35>>2]|0; + HEAP32[$34>>2] = $36; + $37 = ((($1)) + 48|0); + $38 = ((($0)) + 48|0); + $39 = HEAP32[$38>>2]|0; + HEAP32[$37>>2] = $39; + $40 = ((($1)) + 52|0); + $41 = ((($0)) + 52|0); + $42 = HEAP32[$41>>2]|0; + HEAP32[$40>>2] = $42; + $43 = ((($1)) + 56|0); + $44 = ((($0)) + 56|0); + $45 = HEAP32[$44>>2]|0; + HEAP32[$43>>2] = $45; + $46 = ((($1)) + 60|0); + $47 = ((($0)) + 60|0); + $48 = HEAP32[$47>>2]|0; + HEAP32[$46>>2] = $48; + $49 = HEAP32[7529]|0; + dest=$$byval_copy; src=$49; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$$byval_copy1; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixMultiply($2,$$byval_copy,$$byval_copy1); + dest=$49; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + STACKTOP = sp;return; +} +function _EndDrawing() { + var $0 = 0.0, $1 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + _rlglDraw(); + _SwapBuffers(); + _PollInputEvents(); + $0 = (+_GetTime()); + HEAPF64[3338] = $0; + $1 = +HEAPF64[3321]; + $2 = $0 - $1; + HEAPF64[3340] = $2; + HEAPF64[3321] = $0; + $3 = +HEAPF64[3339]; + $4 = $2 + $3; + HEAPF64[3341] = $4; + $5 = +HEAPF64[3318]; + $6 = $4 < $5; + if (!($6)) { return; } - _vorbis_deinit($p); - _setup_free($p,$p); + $7 = $5 - $4; + $8 = $7 * 1000.0; + $9 = $8; + _Wait($9); + $10 = (+_GetTime()); + HEAPF64[3338] = $10; + $11 = +HEAPF64[3321]; + $12 = $10 - $11; + HEAPF64[3321] = $10; + $13 = +HEAPF64[3341]; + $14 = $12 + $13; + HEAPF64[3341] = $14; return; } -function _stb_vorbis_get_info($agg$result,$f) { - $agg$result = $agg$result|0; - $f = $f|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; +function _rlglDraw() { + var label = 0, sp = 0; sp = STACKTOP; - $0 = ((($f)) + 4|0); - $1 = HEAP32[$0>>2]|0; - $2 = HEAP32[$f>>2]|0; - $3 = ((($f)) + 8|0); - $4 = HEAP32[$3>>2]|0; - $5 = ((($f)) + 16|0); - $6 = HEAP32[$5>>2]|0; - $7 = ((($f)) + 12|0); + _UpdateDefaultBuffers(); + _DrawDefaultBuffers(); + return; +} +function _SwapBuffers() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[7482]|0; + _glfwSwapBuffers(($0|0)); + return; +} +function _PollInputEvents() { + var $$04857 = 0, $$05160 = 0, $$058 = 0, $$lcssa = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0; + var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0.0, $31 = 0.0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0.0, $40 = 0; + var $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0, $scevgep = 0, $scevgep67 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 1456|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1456|0); + $0 = sp + 1440|0; + $1 = sp + 1432|0; + $2 = sp; + _UpdateGestures(); + HEAP32[752] = -1; + HEAP32[754] = -1; + HEAP32[7915] = 0; + $3 = HEAP32[7482]|0; + _glfwGetCursorPos(($3|0),($0|0),($1|0)); + $4 = +HEAPF64[$0>>3]; + $5 = $4; + HEAPF32[6634] = $5; + $6 = +HEAPF64[$1>>3]; + $7 = $6; + HEAPF32[(26540)>>2] = $7; + _memcpy((36095|0),(35583|0),512)|0; + ;HEAP8[35580>>0]=HEAP8[35577>>0]|0;HEAP8[35580+1>>0]=HEAP8[35577+1>>0]|0;HEAP8[35580+2>>0]=HEAP8[35577+2>>0]|0; + $8 = HEAP32[7898]|0; + HEAP32[7485] = $8; + HEAP32[7898] = 0; + $9 = (_emscripten_get_num_gamepads()|0); + $10 = ($9|0)>(0); + if (!($10)) { + STACKTOP = sp;return; + } + $11 = ((($2)) + 12|0); + $12 = ((($2)) + 8|0); + $$05160 = 0; + while(1) { + $scevgep = (36607 + ($$05160<<5)|0); + $scevgep67 = (36735 + ($$05160<<5)|0); + dest=$scevgep; src=$scevgep67; stop=dest+32|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); + $13 = (_emscripten_get_gamepad_status(($$05160|0),($2|0))|0); + $14 = ($13|0)==(0); + if ($14) { + $15 = HEAP32[$11>>2]|0; + $16 = ($15|0)>(0); + if ($16) { + $17 = HEAP32[$11>>2]|0; + $$04857 = 0; + while(1) { + $21 = (((($2)) + 1040|0) + ($$04857<<2)|0); + $22 = HEAP32[$21>>2]|0; + $23 = ($22|0)==(1); + $24 = ((36735 + ($$05160<<5)|0) + ($$04857)|0); + if ($23) { + HEAP8[$24>>0] = 1; + HEAP32[754] = $$04857; + } else { + HEAP8[$24>>0] = 0; + } + $25 = (($$04857) + 1)|0; + $26 = ($25|0)<($17|0); + $27 = ($25|0)<(32); + $28 = $27 & $26; + if ($28) { + $$04857 = $25; + } else { + break; + } + } + } + $18 = HEAP32[$12>>2]|0; + $19 = ($18|0)>(0); + if ($19) { + $20 = HEAP32[$12>>2]|0; + $$058 = 0; + while(1) { + $29 = (((($2)) + 16|0) + ($$058<<3)|0); + $30 = +HEAPF64[$29>>3]; + $31 = $30; + $32 = ((31664 + ($$05160<<5)|0) + ($$058<<2)|0); + HEAPF32[$32>>2] = $31; + $33 = (($$058) + 1)|0; + $34 = ($33|0)<($20|0); + $35 = ($33|0)<(8); + $36 = $35 & $34; + if ($36) { + $$058 = $33; + } else { + $$lcssa = $20; + break; + } + } + } else { + $$lcssa = $18; + } + HEAP32[7915] = $$lcssa; + } + $37 = (($$05160) + 1)|0; + $38 = ($37|0)<($9|0); + $39 = ($37|0)<(4); + $40 = $38 & $39; + if ($40) { + $$05160 = $37; + } else { + break; + } + } + STACKTOP = sp;return; +} +function _Wait($0) { + $0 = +$0; + var $1 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (+_GetTime()); + $2 = 0.0 - $1; + $3 = $0 / 1000.0; + $4 = $3; + $5 = $2 < $4; + if (!($5)) { + return; + } + while(1) { + $6 = (+_GetTime()); + $7 = $6 - $1; + $8 = $7 < $4; + if (!($8)) { + break; + } + } + return; +} +function _UpdateDefaultBuffers() { + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[7861]|0; + $1 = ($0|0)>(0); + if ($1) { + $2 = HEAP32[7563]|0; + $3 = ($2|0)==(0); + if (!($3)) { + $4 = HEAP32[7565]|0; + $5 = HEAP32[(31472)>>2]|0; + FUNCTION_TABLE_vi[$4 & 31]($5); + } + $6 = HEAP32[(31476)>>2]|0; + _glBindBuffer(34962,($6|0)); + $7 = HEAP32[7861]|0; + $8 = ($7*12)|0; + $9 = HEAP32[(31456)>>2]|0; + _glBufferSubData(34962,0,($8|0),($9|0)); + $10 = HEAP32[(31480)>>2]|0; + _glBindBuffer(34962,($10|0)); + $11 = HEAP32[(31452)>>2]|0; + $12 = $11 << 2; + $13 = HEAP32[(31464)>>2]|0; + _glBufferSubData(34962,0,($12|0),($13|0)); + } + $14 = HEAP32[7873]|0; + $15 = ($14|0)>(0); + if ($15) { + $16 = HEAP32[7563]|0; + $17 = ($16|0)==(0); + if (!($17)) { + $18 = HEAP32[7565]|0; + $19 = HEAP32[(31520)>>2]|0; + FUNCTION_TABLE_vi[$18 & 31]($19); + } + $20 = HEAP32[(31524)>>2]|0; + _glBindBuffer(34962,($20|0)); + $21 = HEAP32[7873]|0; + $22 = ($21*12)|0; + $23 = HEAP32[(31504)>>2]|0; + _glBufferSubData(34962,0,($22|0),($23|0)); + $24 = HEAP32[(31528)>>2]|0; + _glBindBuffer(34962,($24|0)); + $25 = HEAP32[(31500)>>2]|0; + $26 = $25 << 2; + $27 = HEAP32[(31512)>>2]|0; + _glBufferSubData(34962,0,($26|0),($27|0)); + } + $28 = HEAP32[7885]|0; + $29 = ($28|0)>(0); + if ($29) { + $30 = HEAP32[7563]|0; + $31 = ($30|0)==(0); + if (!($31)) { + $32 = HEAP32[7565]|0; + $33 = HEAP32[(31568)>>2]|0; + FUNCTION_TABLE_vi[$32 & 31]($33); + } + $34 = HEAP32[(31572)>>2]|0; + _glBindBuffer(34962,($34|0)); + $35 = HEAP32[7885]|0; + $36 = ($35*12)|0; + $37 = HEAP32[(31552)>>2]|0; + _glBufferSubData(34962,0,($36|0),($37|0)); + $38 = HEAP32[(31576)>>2]|0; + _glBindBuffer(34962,($38|0)); + $39 = HEAP32[7885]|0; + $40 = $39 << 3; + $41 = HEAP32[(31556)>>2]|0; + _glBufferSubData(34962,0,($40|0),($41|0)); + $42 = HEAP32[(31580)>>2]|0; + _glBindBuffer(34962,($42|0)); + $43 = HEAP32[7885]|0; + $44 = $43 << 2; + $45 = HEAP32[(31560)>>2]|0; + _glBufferSubData(34962,0,($44|0),($45|0)); + } + $46 = HEAP32[7563]|0; + $47 = ($46|0)==(0); + if ($47) { + return; + } + $48 = HEAP32[7565]|0; + FUNCTION_TABLE_vi[$48 & 31](0); + return; +} +function _DrawDefaultBuffers() { + var $$ = 0, $$02830 = 0, $$02932 = 0, $$031 = 0, $$byval_copy2 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0; + var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0; + var $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0; + var $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0; + var $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $modelview$byval_copy = 0; + var $or$cond = 0, $or$cond3 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 320|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(320|0); + $$byval_copy2 = sp + 256|0; + $modelview$byval_copy = sp + 192|0; + $0 = sp + 128|0; + $1 = sp + 64|0; + $2 = sp; + dest=$0; src=30120; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$1; src=30184; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + $3 = HEAP32[7948]|0; + $4 = ($3|0)!=(0); + $$ = $4 ? 2 : 1; + $$02932 = 0; + while(1) { + if ($4) { + dest=$modelview$byval_copy; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$$byval_copy2; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _SetStereoView($$02932,$modelview$byval_copy,$$byval_copy2); + } + $8 = HEAP32[7861]|0; + $9 = ($8|0)>(0); + $10 = HEAP32[7873]|0; + $11 = ($10|0)>(0); + $or$cond = $9 | $11; + $12 = HEAP32[7885]|0; + $13 = ($12|0)>(0); + $or$cond3 = $or$cond | $13; + if ($or$cond3) { + $14 = HEAP32[7585]|0; + _glUseProgram(($14|0)); + dest=$modelview$byval_copy; src=30184; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$$byval_copy2; src=30120; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixMultiply($2,$modelview$byval_copy,$$byval_copy2); + $15 = HEAP32[(30368)>>2]|0; + dest=$$byval_copy2; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + $16 = (_MatrixToFloat($$byval_copy2)|0); + _glUniformMatrix4fv(($15|0),1,0,($16|0)); + $17 = HEAP32[(30372)>>2]|0; + _glUniform4f(($17|0),1.0,1.0,1.0,1.0); + $18 = HEAP32[(30384)>>2]|0; + _glUniform1i(($18|0),0); + } + $19 = HEAP32[7861]|0; + $20 = ($19|0)>(0); + if ($20) { + $21 = HEAP32[7570]|0; + _glBindTexture(3553,($21|0)); + $22 = HEAP32[7563]|0; + $23 = ($22|0)==(0); + if ($23) { + $26 = HEAP32[(31476)>>2]|0; + _glBindBuffer(34962,($26|0)); + $27 = HEAP32[(30344)>>2]|0; + _glVertexAttribPointer(($27|0),3,5126,0,0,(0|0)); + $28 = HEAP32[(30344)>>2]|0; + _glEnableVertexAttribArray(($28|0)); + $29 = HEAP32[(31480)>>2]|0; + _glBindBuffer(34962,($29|0)); + $30 = HEAP32[(30364)>>2]|0; + _glVertexAttribPointer(($30|0),4,5121,1,0,(0|0)); + $31 = HEAP32[(30364)>>2]|0; + _glEnableVertexAttribArray(($31|0)); + } else { + $24 = HEAP32[7565]|0; + $25 = HEAP32[(31472)>>2]|0; + FUNCTION_TABLE_vi[$24 & 31]($25); + } + $32 = HEAP32[7861]|0; + _glDrawArrays(1,0,($32|0)); + $33 = HEAP32[7563]|0; + $34 = ($33|0)==(0); + if ($34) { + _glBindBuffer(34962,0); + } + _glBindTexture(3553,0); + } + $35 = HEAP32[7873]|0; + $36 = ($35|0)>(0); + if ($36) { + $37 = HEAP32[7570]|0; + _glBindTexture(3553,($37|0)); + $38 = HEAP32[7563]|0; + $39 = ($38|0)==(0); + if ($39) { + $42 = HEAP32[(31524)>>2]|0; + _glBindBuffer(34962,($42|0)); + $43 = HEAP32[(30344)>>2]|0; + _glVertexAttribPointer(($43|0),3,5126,0,0,(0|0)); + $44 = HEAP32[(30344)>>2]|0; + _glEnableVertexAttribArray(($44|0)); + $45 = HEAP32[(31528)>>2]|0; + _glBindBuffer(34962,($45|0)); + $46 = HEAP32[(30364)>>2]|0; + _glVertexAttribPointer(($46|0),4,5121,1,0,(0|0)); + $47 = HEAP32[(30364)>>2]|0; + _glEnableVertexAttribArray(($47|0)); + } else { + $40 = HEAP32[7565]|0; + $41 = HEAP32[(31520)>>2]|0; + FUNCTION_TABLE_vi[$40 & 31]($41); + } + $48 = HEAP32[7873]|0; + _glDrawArrays(4,0,($48|0)); + $49 = HEAP32[7563]|0; + $50 = ($49|0)==(0); + if ($50) { + _glBindBuffer(34962,0); + } + _glBindTexture(3553,0); + } + $51 = HEAP32[7885]|0; + $52 = ($51|0)>(0); + if ($52) { + $53 = HEAP32[7563]|0; + $54 = ($53|0)==(0); + if ($54) { + $57 = HEAP32[(31572)>>2]|0; + _glBindBuffer(34962,($57|0)); + $58 = HEAP32[(30344)>>2]|0; + _glVertexAttribPointer(($58|0),3,5126,0,0,(0|0)); + $59 = HEAP32[(30344)>>2]|0; + _glEnableVertexAttribArray(($59|0)); + $60 = HEAP32[(31576)>>2]|0; + _glBindBuffer(34962,($60|0)); + $61 = HEAP32[(30348)>>2]|0; + _glVertexAttribPointer(($61|0),2,5126,0,0,(0|0)); + $62 = HEAP32[(30348)>>2]|0; + _glEnableVertexAttribArray(($62|0)); + $63 = HEAP32[(31580)>>2]|0; + _glBindBuffer(34962,($63|0)); + $64 = HEAP32[(30364)>>2]|0; + _glVertexAttribPointer(($64|0),4,5121,1,0,(0|0)); + $65 = HEAP32[(30364)>>2]|0; + _glEnableVertexAttribArray(($65|0)); + $66 = HEAP32[(31584)>>2]|0; + _glBindBuffer(34963,($66|0)); + } else { + $55 = HEAP32[7565]|0; + $56 = HEAP32[(31568)>>2]|0; + FUNCTION_TABLE_vi[$55 & 31]($56); + } + $67 = HEAP32[7601]|0; + $68 = ($67|0)>(0); + if ($68) { + $$02830 = 0;$$031 = 0; + while(1) { + $71 = HEAP32[7600]|0; + $72 = (($71) + (($$031*144)|0)|0); + $73 = HEAP32[$72>>2]|0; + $74 = (($73|0) / 4)&-1; + $75 = ($74*6)|0; + $76 = (((($71) + (($$031*144)|0)|0)) + 8|0); + $77 = HEAP32[$76>>2]|0; + _glBindTexture(3553,($77|0)); + $78 = $$02830 << 1; + $79 = $78; + _glDrawElements(4,($75|0),5123,($79|0)); + $80 = HEAP32[7600]|0; + $81 = (($80) + (($$031*144)|0)|0); + $82 = HEAP32[$81>>2]|0; + $83 = (($82|0) / 4)&-1; + $84 = ($83*6)|0; + $85 = (($84) + ($$02830))|0; + $86 = (($$031) + 1)|0; + $87 = HEAP32[7601]|0; + $88 = ($86|0)<($87|0); + if ($88) { + $$02830 = $85;$$031 = $86; + } else { + break; + } + } + } + $69 = HEAP32[7563]|0; + $70 = ($69|0)==(0); + if ($70) { + _glBindBuffer(34962,0); + _glBindBuffer(34963,0); + } + _glBindTexture(3553,0); + } + $89 = HEAP32[7563]|0; + $90 = ($89|0)==(0); + if (!($90)) { + $91 = HEAP32[7565]|0; + FUNCTION_TABLE_vi[$91 & 31](0); + } + _glUseProgram(0); + $92 = (($$02932) + 1)|0; + $93 = ($92|0)<($$|0); + if ($93) { + $$02932 = $92; + } else { + break; + } + } + HEAP32[7601] = 1; + $5 = HEAP32[7570]|0; + $6 = HEAP32[7600]|0; + $7 = ((($6)) + 8|0); + HEAP32[$7>>2] = $5; + HEAP32[$6>>2] = 0; + HEAP32[7861] = 0; + HEAP32[(31452)>>2] = 0; + HEAP32[7873] = 0; + HEAP32[(31500)>>2] = 0; + HEAP32[7885] = 0; + HEAP32[(31544)>>2] = 0; + HEAP32[(31548)>>2] = 0; + HEAPF32[755] = -1.0; + dest=30120; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=30184; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + STACKTOP = sp;return; +} +function _SetStereoView($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$byval_copy = 0, $$byval_copy3 = 0, $10 = 0, $11 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0); + $$byval_copy3 = sp + 192|0; + $$byval_copy = sp + 64|0; + $3 = sp; + $4 = sp + 128|0; + dest=$3; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + $5 = HEAP32[7859]|0; + $6 = Math_imul($5, $0)|0; + $7 = (($6|0) / 2)&-1; + $8 = (($5|0) / 2)&-1; + $9 = HEAP32[7860]|0; + _rlViewport($7,0,$8,$9); + $10 = (32024 + ($0<<6)|0); + dest=$$byval_copy; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$$byval_copy3; src=$10; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixMultiply($4,$$byval_copy,$$byval_copy3); + $11 = (31896 + ($0<<6)|0); + dest=$3; src=$11; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$$byval_copy3; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _SetMatrixModelview($$byval_copy3); + dest=$$byval_copy3; src=$3; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _SetMatrixProjection($$byval_copy3); + STACKTOP = sp;return; +} +function _SetMatrixModelview($0) { + $0 = $0|0; + var dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + dest=30184; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + return; +} +function _SetMatrixProjection($0) { + $0 = $0|0; + var dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + dest=30120; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + return; +} +function _rlPushMatrix() { + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $vararg_buffer = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $vararg_buffer = sp; + $0 = HEAP32[8038]|0; + $1 = ($0|0)==(15); + if ($1) { + HEAP32[$vararg_buffer>>2] = 16; + _TraceLog(2,13440,$vararg_buffer); + } + $2 = HEAP32[8038]|0; + $3 = (30412 + ($2<<6)|0); + $4 = HEAP32[7529]|0; + dest=$3; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _rlLoadIdentity(); + $5 = HEAP32[8038]|0; + $6 = (($5) + 1)|0; + HEAP32[8038] = $6; + $7 = HEAP32[7562]|0; + $8 = ($7|0)==(5888); + if (!($8)) { + STACKTOP = sp;return; + } + HEAP32[8039] = 1; + STACKTOP = sp;return; +} +function _rlPopMatrix() { + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[8038]|0; + $1 = ($0|0)>(0); + if (!($1)) { + return; + } + $2 = HEAP32[8038]|0; + $3 = (($2) + -1)|0; + $4 = (30412 + ($3<<6)|0); + $5 = HEAP32[7529]|0; + _memmove(($5|0),($4|0),64)|0; + $6 = (($2) + -1)|0; + HEAP32[8038] = $6; + return; +} +function _Fade($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = +$2; + var $$0 = 0.0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0.0, $8 = 0.0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = $2 < 0.0; + if ($3) { + $$0 = 0.0; + } else { + $4 = $2 > 1.0; + if ($4) { + $$0 = 1.0; + } else { + $$0 = $2; + } + } + $5 = ((($1)) + 3|0); + $6 = HEAP8[$5>>0]|0; + $7 = (+($6&255)); + $8 = $$0 * $7; + $9 = HEAP8[$1>>0]|0; + HEAP8[$0>>0] = $9; + $10 = ((($0)) + 1|0); + $11 = ((($1)) + 1|0); + $12 = HEAP8[$11>>0]|0; + HEAP8[$10>>0] = $12; + $13 = ((($0)) + 2|0); + $14 = ((($1)) + 2|0); + $15 = HEAP8[$14>>0]|0; + HEAP8[$13>>0] = $15; + $16 = ((($0)) + 3|0); + $17 = (~~(($8))&255); + HEAP8[$16>>0] = $17; + return; +} +function _IsFileExtension($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$ = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = (_strrchr($0,46)|0); + $3 = ($2|0)==(0|0); + if ($3) { + return 0; + } else { + $4 = (_strcmp($2,$1)|0); + $5 = ($4|0)==(0); + $$ = $5&1; + return ($$|0); + } + return (0)|0; +} +function _IsKeyPressed($0) { + $0 = $0|0; + var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (35583 + ($0)|0); + $2 = HEAP8[$1>>0]|0; + $3 = (36095 + ($0)|0); + $4 = HEAP8[$3>>0]|0; + $5 = ($2<<24>>24)!=($4<<24>>24); + $6 = ($2<<24>>24)==(1); + $or$cond = $6 & $5; + $$0 = $or$cond&1; + return ($$0|0); +} +function _rlTranslatef($0,$1,$2) { + $0 = +$0; + $1 = +$1; + $2 = +$2; + var $$byval_copy = 0, $$byval_copy1 = 0, $3 = 0, $4 = 0, $5 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0); + $$byval_copy1 = sp + 192|0; + $$byval_copy = sp + 128|0; + $3 = sp + 64|0; + $4 = sp; + _MatrixTranslate($3,$0,$1,$2); + _MatrixTranspose($3); + $5 = HEAP32[7529]|0; + dest=$$byval_copy; src=$5; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$$byval_copy1; src=$3; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixMultiply($4,$$byval_copy,$$byval_copy1); + dest=$5; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + STACKTOP = sp;return; +} +function _rlRotatef($0,$1,$2,$3) { + $0 = +$0; + $1 = +$1; + $2 = +$2; + $3 = +$3; + var $$byval_copy1 = 0, $$byval_copy2 = 0, $10 = 0.0, $11 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 336|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(336|0); + $$byval_copy2 = sp + 272|0; + $$byval_copy1 = sp + 208|0; + $4 = sp + 144|0; + $5 = sp + 64|0; + $6 = sp + 80|0; + $7 = sp; + _MatrixIdentity($4); + HEAPF32[$5>>2] = $1; + $8 = ((($5)) + 4|0); + HEAPF32[$8>>2] = $2; + $9 = ((($5)) + 8|0); + HEAPF32[$9>>2] = $3; + _VectorNormalize($5); + $10 = $0 * 0.01745329238474369; + ;HEAP32[$$byval_copy2>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$$byval_copy2+8>>2]=HEAP32[$5+8>>2]|0; + _MatrixRotate($6,$$byval_copy2,$10); + dest=$4; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixTranspose($4); + $11 = HEAP32[7529]|0; + dest=$$byval_copy1; src=$11; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$$byval_copy2; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixMultiply($7,$$byval_copy1,$$byval_copy2); + dest=$11; src=$7; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + STACKTOP = sp;return; +} +function _rlBegin($0) { + $0 = $0|0; + var label = 0, sp = 0; + sp = STACKTOP; + HEAP32[7602] = $0; + return; +} +function _rlEnd() { + var $$03956 = 0, $$04052 = 0, $$04154 = 0, $$04248 = 0, $$04347 = 0, $$byval_copy = 0, $$promoted = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0; + var $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0; + var $128 = 0, $129 = 0, $13 = 0.0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0; + var $146 = 0, $147 = 0, $148 = 0.0, $149 = 0.0, $15 = 0.0, $16 = 0, $17 = 0.0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0; + var $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0; + var $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond = 0, $exitcond60 = 0, $exitcond63 = 0; + var $scevgep = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $$byval_copy = sp; + $0 = HEAP32[8039]|0; + $1 = ($0|0)==(0); + if (!($1)) { + $2 = HEAP32[8040]|0; + $3 = ($2|0)>(0); + if ($3) { + $$03956 = 0; + while(1) { + $6 = HEAP32[7599]|0; + $7 = (($6) + (($$03956*12)|0)|0); + $8 = HEAP32[7529]|0; + dest=$$byval_copy; src=$8; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _VectorTransform($7,$$byval_copy); + $9 = (($$03956) + 1)|0; + $5 = HEAP32[8040]|0; + $10 = ($9|0)<($5|0); + if ($10) { + $$03956 = $9; + } else { + break; + } + } + HEAP32[8039] = 0; + $4 = ($5|0)>(0); + if ($4) { + $$04154 = 0; + while(1) { + $11 = HEAP32[7599]|0; + $12 = (($11) + (($$04154*12)|0)|0); + $13 = +HEAPF32[$12>>2]; + $14 = (((($11) + (($$04154*12)|0)|0)) + 4|0); + $15 = +HEAPF32[$14>>2]; + $16 = (((($11) + (($$04154*12)|0)|0)) + 8|0); + $17 = +HEAPF32[$16>>2]; + _rlVertex3f($13,$15,$17); + $18 = (($$04154) + 1)|0; + $19 = HEAP32[8040]|0; + $20 = ($18|0)<($19|0); + if ($20) { + $$04154 = $18; + } else { + break; + } + } + } + } else { + HEAP32[8039] = 0; + } + HEAP32[8040] = 0; + } + $21 = HEAP32[7602]|0; + switch ($21|0) { + case 1: { + $22 = HEAP32[7861]|0; + $23 = HEAP32[(31452)>>2]|0; + $24 = ($22|0)==($23|0); + if ($24) { + $148 = +HEAPF32[755]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[755] = $149; + STACKTOP = sp;return; + } + $25 = (($22) - ($23))|0; + $26 = ($25|0)>(0); + if ($26) { + $$04347 = 0; + } else { + $148 = +HEAPF32[755]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[755] = $149; + STACKTOP = sp;return; + } + while(1) { + $27 = HEAP32[(31464)>>2]|0; + $28 = HEAP32[(31452)>>2]|0; + $29 = $28 << 2; + $30 = (($29) + -4)|0; + $31 = (($27) + ($30)|0); + $32 = HEAP8[$31>>0]|0; + $33 = (($27) + ($29)|0); + HEAP8[$33>>0] = $32; + $34 = HEAP32[(31464)>>2]|0; + $35 = HEAP32[(31452)>>2]|0; + $36 = $35 << 2; + $37 = (($36) + -3)|0; + $38 = (($34) + ($37)|0); + $39 = HEAP8[$38>>0]|0; + $40 = $36 | 1; + $41 = (($34) + ($40)|0); + HEAP8[$41>>0] = $39; + $42 = HEAP32[(31464)>>2]|0; + $43 = HEAP32[(31452)>>2]|0; + $44 = $43 << 2; + $45 = (($44) + -2)|0; + $46 = (($42) + ($45)|0); + $47 = HEAP8[$46>>0]|0; + $48 = $44 | 2; + $49 = (($42) + ($48)|0); + HEAP8[$49>>0] = $47; + $50 = HEAP32[(31464)>>2]|0; + $51 = HEAP32[(31452)>>2]|0; + $52 = $51 << 2; + $53 = (($52) + -1)|0; + $54 = (($50) + ($53)|0); + $55 = HEAP8[$54>>0]|0; + $56 = $52 | 3; + $57 = (($50) + ($56)|0); + HEAP8[$57>>0] = $55; + $58 = HEAP32[(31452)>>2]|0; + $59 = (($58) + 1)|0; + HEAP32[(31452)>>2] = $59; + $60 = (($$04347) + 1)|0; + $exitcond = ($60|0)==($25|0); + if ($exitcond) { + break; + } else { + $$04347 = $60; + } + } + $148 = +HEAPF32[755]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[755] = $149; + STACKTOP = sp;return; + break; + } + case 4: { + $61 = HEAP32[7873]|0; + $62 = HEAP32[(31500)>>2]|0; + $63 = ($61|0)==($62|0); + if ($63) { + $148 = +HEAPF32[755]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[755] = $149; + STACKTOP = sp;return; + } + $64 = (($61) - ($62))|0; + $65 = ($64|0)>(0); + if ($65) { + $$04248 = 0; + } else { + $148 = +HEAPF32[755]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[755] = $149; + STACKTOP = sp;return; + } + while(1) { + $66 = HEAP32[(31512)>>2]|0; + $67 = HEAP32[(31500)>>2]|0; + $68 = $67 << 2; + $69 = (($68) + -4)|0; + $70 = (($66) + ($69)|0); + $71 = HEAP8[$70>>0]|0; + $72 = (($66) + ($68)|0); + HEAP8[$72>>0] = $71; + $73 = HEAP32[(31512)>>2]|0; + $74 = HEAP32[(31500)>>2]|0; + $75 = $74 << 2; + $76 = (($75) + -3)|0; + $77 = (($73) + ($76)|0); + $78 = HEAP8[$77>>0]|0; + $79 = $75 | 1; + $80 = (($73) + ($79)|0); + HEAP8[$80>>0] = $78; + $81 = HEAP32[(31512)>>2]|0; + $82 = HEAP32[(31500)>>2]|0; + $83 = $82 << 2; + $84 = (($83) + -2)|0; + $85 = (($81) + ($84)|0); + $86 = HEAP8[$85>>0]|0; + $87 = $83 | 2; + $88 = (($81) + ($87)|0); + HEAP8[$88>>0] = $86; + $89 = HEAP32[(31512)>>2]|0; + $90 = HEAP32[(31500)>>2]|0; + $91 = $90 << 2; + $92 = (($91) + -1)|0; + $93 = (($89) + ($92)|0); + $94 = HEAP8[$93>>0]|0; + $95 = $91 | 3; + $96 = (($89) + ($95)|0); + HEAP8[$96>>0] = $94; + $97 = HEAP32[(31500)>>2]|0; + $98 = (($97) + 1)|0; + HEAP32[(31500)>>2] = $98; + $99 = (($$04248) + 1)|0; + $exitcond60 = ($99|0)==($64|0); + if ($exitcond60) { + break; + } else { + $$04248 = $99; + } + } + $148 = +HEAPF32[755]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[755] = $149; + STACKTOP = sp;return; + break; + } + case 7: { + $100 = HEAP32[7885]|0; + $101 = HEAP32[(31548)>>2]|0; + $102 = ($100|0)==($101|0); + if (!($102)) { + $103 = (($100) - ($101))|0; + $104 = ($103|0)>(0); + if ($104) { + $$04052 = 0; + while(1) { + $105 = HEAP32[(31560)>>2]|0; + $106 = HEAP32[(31548)>>2]|0; + $107 = $106 << 2; + $108 = (($107) + -4)|0; + $109 = (($105) + ($108)|0); + $110 = HEAP8[$109>>0]|0; + $111 = (($105) + ($107)|0); + HEAP8[$111>>0] = $110; + $112 = HEAP32[(31560)>>2]|0; + $113 = HEAP32[(31548)>>2]|0; + $114 = $113 << 2; + $115 = (($114) + -3)|0; + $116 = (($112) + ($115)|0); + $117 = HEAP8[$116>>0]|0; + $118 = $114 | 1; + $119 = (($112) + ($118)|0); + HEAP8[$119>>0] = $117; + $120 = HEAP32[(31560)>>2]|0; + $121 = HEAP32[(31548)>>2]|0; + $122 = $121 << 2; + $123 = (($122) + -2)|0; + $124 = (($120) + ($123)|0); + $125 = HEAP8[$124>>0]|0; + $126 = $122 | 2; + $127 = (($120) + ($126)|0); + HEAP8[$127>>0] = $125; + $128 = HEAP32[(31560)>>2]|0; + $129 = HEAP32[(31548)>>2]|0; + $130 = $129 << 2; + $131 = (($130) + -1)|0; + $132 = (($128) + ($131)|0); + $133 = HEAP8[$132>>0]|0; + $134 = $130 | 3; + $135 = (($128) + ($134)|0); + HEAP8[$135>>0] = $133; + $136 = HEAP32[(31548)>>2]|0; + $137 = (($136) + 1)|0; + HEAP32[(31548)>>2] = $137; + $138 = (($$04052) + 1)|0; + $exitcond63 = ($138|0)==($103|0); + if ($exitcond63) { + break; + } else { + $$04052 = $138; + } + } + } + } + $139 = HEAP32[7885]|0; + $140 = HEAP32[(31544)>>2]|0; + $141 = ($139|0)>($140|0); + if (!($141)) { + $148 = +HEAPF32[755]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[755] = $149; + STACKTOP = sp;return; + } + $142 = HEAP32[(31556)>>2]|0; + $$promoted = HEAP32[(31544)>>2]|0; + $143 = $$promoted << 1; + $scevgep = (($142) + ($143<<2)|0); + $144 = (($139) - ($140))|0; + $145 = $144 << 3; + _memset(($scevgep|0),0,($145|0))|0; + $146 = (($139) + ($$promoted))|0; + $147 = (($146) - ($140))|0; + HEAP32[(31544)>>2] = $147; + $148 = +HEAPF32[755]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[755] = $149; + STACKTOP = sp;return; + break; + } + default: { + $148 = +HEAPF32[755]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[755] = $149; + STACKTOP = sp;return; + } + } +} +function _rlVertex3f($0,$1,$2) { + $0 = +$0; + $1 = +$1; + $2 = +$2; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer3 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $vararg_buffer3 = sp + 16|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $3 = HEAP32[8039]|0; + $4 = ($3|0)==(0); + if (!($4)) { + $5 = HEAP32[7599]|0; + $6 = HEAP32[8040]|0; + $7 = (($5) + (($6*12)|0)|0); + HEAPF32[$7>>2] = $0; + $8 = (((($5) + (($6*12)|0)|0)) + 4|0); + HEAPF32[$8>>2] = $1; + $9 = (((($5) + (($6*12)|0)|0)) + 8|0); + HEAPF32[$9>>2] = $2; + $10 = (($6) + 1)|0; + HEAP32[8040] = $10; + STACKTOP = sp;return; + } + $11 = HEAP32[7602]|0; + switch ($11|0) { + case 1: { + $12 = HEAP32[7861]|0; + $13 = ($12|0)<(2048); + if ($13) { + $14 = HEAP32[(31456)>>2]|0; + $15 = ($12*3)|0; + $16 = (($14) + ($15<<2)|0); + HEAPF32[$16>>2] = $0; + $17 = (($15) + 1)|0; + $18 = (($14) + ($17<<2)|0); + HEAPF32[$18>>2] = $1; + $19 = (($15) + 2)|0; + $20 = (($14) + ($19<<2)|0); + HEAPF32[$20>>2] = $2; + $21 = (($12) + 1)|0; + HEAP32[7861] = $21; + STACKTOP = sp;return; + } else { + _TraceLog(2,13478,$vararg_buffer); + STACKTOP = sp;return; + } + break; + } + case 4: { + $22 = HEAP32[7873]|0; + $23 = ($22|0)<(6144); + if ($23) { + $24 = HEAP32[(31504)>>2]|0; + $25 = ($22*3)|0; + $26 = (($24) + ($25<<2)|0); + HEAPF32[$26>>2] = $0; + $27 = (($25) + 1)|0; + $28 = (($24) + ($27<<2)|0); + HEAPF32[$28>>2] = $1; + $29 = (($25) + 2)|0; + $30 = (($24) + ($29<<2)|0); + HEAPF32[$30>>2] = $2; + $31 = (($22) + 1)|0; + HEAP32[7873] = $31; + STACKTOP = sp;return; + } else { + _TraceLog(2,13503,$vararg_buffer1); + STACKTOP = sp;return; + } + break; + } + case 7: { + $32 = HEAP32[7885]|0; + $33 = ($32|0)<(4096); + if ($33) { + $34 = HEAP32[(31552)>>2]|0; + $35 = ($32*3)|0; + $36 = (($34) + ($35<<2)|0); + HEAPF32[$36>>2] = $0; + $37 = (($35) + 1)|0; + $38 = (($34) + ($37<<2)|0); + HEAPF32[$38>>2] = $1; + $39 = (($35) + 2)|0; + $40 = (($34) + ($39<<2)|0); + HEAPF32[$40>>2] = $2; + $41 = (($32) + 1)|0; + HEAP32[7885] = $41; + $42 = HEAP32[7600]|0; + $43 = HEAP32[7601]|0; + $44 = (($43) + -1)|0; + $45 = (($42) + (($44*144)|0)|0); + $46 = HEAP32[$45>>2]|0; + $47 = (($46) + 1)|0; + HEAP32[$45>>2] = $47; + STACKTOP = sp;return; + } else { + _TraceLog(2,13532,$vararg_buffer3); + STACKTOP = sp;return; + } + break; + } + default: { + STACKTOP = sp;return; + } + } +} +function _rlVertex2f($0,$1) { + $0 = +$0; + $1 = +$1; + var $2 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[755]; + _rlVertex3f($0,$1,$2); + return; +} +function _rlVertex2i($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0.0, $3 = 0.0, $4 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = (+($0|0)); + $3 = (+($1|0)); + $4 = +HEAPF32[755]; + _rlVertex3f($2,$3,$4); + return; +} +function _rlTexCoord2f($0,$1) { + $0 = +$0; + $1 = +$1; + var $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = HEAP32[7602]|0; + $3 = ($2|0)==(7); + if (!($3)) { + return; + } + $4 = HEAP32[(31556)>>2]|0; + $5 = HEAP32[(31544)>>2]|0; + $6 = $5 << 1; + $7 = (($4) + ($6<<2)|0); + HEAPF32[$7>>2] = $0; + $8 = $6 | 1; + $9 = (($4) + ($8<<2)|0); + HEAPF32[$9>>2] = $1; + $10 = (($5) + 1)|0; + HEAP32[(31544)>>2] = $10; + return; +} +function _rlNormal3f($0,$1,$2) { + $0 = +$0; + $1 = +$1; + $2 = +$2; + var label = 0, sp = 0; + sp = STACKTOP; + return; +} +function _rlColor4ub($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$sink37 = 0, $$sink38 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $4 = 0, $5 = 0; + var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $4 = HEAP32[7602]|0; + switch ($4|0) { + case 1: { + $$sink37 = (31452);$$sink38 = (31464); + break; + } + case 4: { + $$sink37 = (31500);$$sink38 = (31512); + break; + } + case 7: { + $$sink37 = (31548);$$sink38 = (31560); + break; + } + default: { + return; + } + } + $5 = HEAP32[$$sink38>>2]|0; + $6 = HEAP32[$$sink37>>2]|0; + $7 = $6 << 2; + $8 = (($5) + ($7)|0); + HEAP8[$8>>0] = $0; + $9 = HEAP32[$$sink38>>2]|0; + $10 = HEAP32[$$sink37>>2]|0; + $11 = $10 << 2; + $12 = $11 | 1; + $13 = (($9) + ($12)|0); + HEAP8[$13>>0] = $1; + $14 = HEAP32[$$sink38>>2]|0; + $15 = HEAP32[$$sink37>>2]|0; + $16 = $15 << 2; + $17 = $16 | 2; + $18 = (($14) + ($17)|0); + HEAP8[$18>>0] = $2; + $19 = HEAP32[$$sink38>>2]|0; + $20 = HEAP32[$$sink37>>2]|0; + $21 = $20 << 2; + $22 = $21 | 3; + $23 = (($19) + ($22)|0); + HEAP8[$23>>0] = $3; + $24 = HEAP32[$$sink37>>2]|0; + $25 = (($24) + 1)|0; + HEAP32[$$sink37>>2] = $25; + return; +} +function _rlEnableTexture($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP32[7600]|0; + $2 = HEAP32[7601]|0; + $3 = (($2) + -1)|0; + $4 = (((($1) + (($3*144)|0)|0)) + 8|0); + $5 = HEAP32[$4>>2]|0; + $6 = ($5|0)==($0|0); + if ($6) { + return; + } + $7 = (($1) + (($3*144)|0)|0); $8 = HEAP32[$7>>2]|0; - $9 = ((($f)) + 132|0); - $10 = HEAP32[$9>>2]|0; - $11 = $10 >> 1; - HEAP32[$agg$result>>2] = $2; - $12 = ((($agg$result)) + 4|0); - HEAP32[$12>>2] = $1; - $13 = ((($agg$result)) + 8|0); - HEAP32[$13>>2] = $4; - $14 = ((($agg$result)) + 12|0); - HEAP32[$14>>2] = $6; - $15 = ((($agg$result)) + 16|0); - HEAP32[$15>>2] = $8; - $16 = ((($agg$result)) + 20|0); - HEAP32[$16>>2] = $11; + $9 = ($8|0)>(0); + if ($9) { + $10 = (($2) + 1)|0; + HEAP32[7601] = $10; + } + $11 = HEAP32[7601]|0; + $12 = (($11) + -1)|0; + $13 = (((($1) + (($12*144)|0)|0)) + 8|0); + HEAP32[$13>>2] = $0; + $14 = (($1) + (($12*144)|0)|0); + HEAP32[$14>>2] = 0; return; } -function _stb_vorbis_get_file_offset($f) { - $f = $f|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; +function _rlDisableTexture() { + var $0 = 0, $1 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = ((($f)) + 48|0); - $1 = HEAP8[$0>>0]|0; - $2 = ($1<<24>>24)==(0); - if (!($2)) { + $0 = HEAP32[7885]|0; + $1 = ($0|0)>(4095); + if (!($1)) { + return; + } + _rlglDraw(); + return; +} +function _rlTextureParameters($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0.0, $3 = 0, $4 = 0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0, $or$cond = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer4 = 0, $vararg_ptr3 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $vararg_buffer4 = sp + 24|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + _glBindTexture(3553,($0|0)); + L1: do { + switch ($1|0) { + case 10243: case 10242: { + $3 = ($2|0)!=(34626); + $4 = HEAP32[7569]|0; + $5 = ($4|0)!=(0); + $or$cond = $3 | $5; + if ($or$cond) { + _glTexParameteri(3553,($1|0),($2|0)); + break L1; + } else { + _TraceLog(1,13557,$vararg_buffer); + break L1; + } + break; + } + case 10241: case 10240: { + _glTexParameteri(3553,($1|0),($2|0)); + break; + } + case 12288: { + $6 = (+($2|0)); + $7 = +HEAPF32[7568]; + $8 = !($6 <= $7); + if (!($8)) { + _glTexParameterf(3553,34046,(+$6)); + break L1; + } + $9 = $7 > 0.0; + if ($9) { + $10 = $7; + HEAP32[$vararg_buffer1>>2] = $0; + $vararg_ptr3 = ((($vararg_buffer1)) + 8|0); + HEAPF64[$vararg_ptr3>>3] = $10; + _TraceLog(1,13594,$vararg_buffer1); + _glTexParameterf(3553,34046,(+$6)); + break L1; + } else { + _TraceLog(1,13656,$vararg_buffer4); + break L1; + } + break; + } + default: { + } + } + } while(0); + _glBindTexture(3553,0); + STACKTOP = sp;return; +} +function _GetDefaultTexture($0) { + $0 = $0|0; + var $$sroa$4$0$$sroa_idx2 = 0, $$sroa$5$0$$sroa_idx4 = 0, $$sroa$6$0$$sroa_idx6 = 0, $$sroa$7$0$$sroa_idx8 = 0, $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP32[7570]|0; + HEAP32[$0>>2] = $1; + $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); + HEAP32[$$sroa$4$0$$sroa_idx2>>2] = 1; + $$sroa$5$0$$sroa_idx4 = ((($0)) + 8|0); + HEAP32[$$sroa$5$0$$sroa_idx4>>2] = 1; + $$sroa$6$0$$sroa_idx6 = ((($0)) + 12|0); + HEAP32[$$sroa$6$0$$sroa_idx6>>2] = 1; + $$sroa$7$0$$sroa_idx8 = ((($0)) + 16|0); + HEAP32[$$sroa$7$0$$sroa_idx8>>2] = 7; + return; +} +function _DrawCircleV($0,$1,$2) { + $0 = $0|0; + $1 = +$1; + $2 = $2|0; + var $$02627 = 0, $$028 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0.0, $14 = 0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0, $26 = 0.0, $27 = 0.0; + var $28 = 0.0, $29 = 0.0, $3 = 0, $30 = 0.0, $31 = 0.0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; + var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0.0, $51 = 0, $52 = 0.0, $53 = 0.0, $54 = 0.0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0.0, $61 = 0.0, $62 = 0, $63 = 0.0; + var $64 = 0.0, $65 = 0.0, $66 = 0.0, $67 = 0.0, $68 = 0.0, $69 = 0.0, $7 = 0, $70 = 0.0, $71 = 0.0, $72 = 0, $73 = 0.0, $74 = 0.0, $75 = 0.0, $76 = 0.0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0, $80 = 0.0, $81 = 0.0; + var $82 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $3 = sp; + $4 = (_rlGetVersion()|0); + $5 = ($4|0)==(1); + if ($5) { + _rlBegin(4); + $6 = HEAP8[$2>>0]|0; + $7 = ((($2)) + 1|0); + $8 = HEAP8[$7>>0]|0; + $9 = ((($2)) + 2|0); + $10 = HEAP8[$9>>0]|0; + $11 = ((($2)) + 3|0); + $12 = HEAP8[$11>>0]|0; + $13 = +HEAPF32[$0>>2]; + $14 = ((($0)) + 4|0); + $$02627 = 0; + while(1) { + _rlColor4ub($6,$8,$10,$12); + $15 = +HEAPF32[$14>>2]; + _rlVertex2f($13,$15); + $16 = (+($$02627|0)); + $17 = $16 * 0.01745329238474369; + $18 = (+Math_sin((+$17))); + $19 = $18 * $1; + $20 = $13 + $19; + $21 = +HEAPF32[$14>>2]; + $22 = (+Math_cos((+$17))); + $23 = $22 * $1; + $24 = $21 + $23; + _rlVertex2f($20,$24); + $25 = (($$02627) + 10)|0; + $26 = (+($25|0)); + $27 = $26 * 0.01745329238474369; + $28 = (+Math_sin((+$27))); + $29 = $28 * $1; + $30 = $13 + $29; + $31 = +HEAPF32[$14>>2]; + $32 = (+Math_cos((+$27))); + $33 = $32 * $1; + $34 = $31 + $33; + _rlVertex2f($30,$34); + $35 = ($25|0)<(360); + if ($35) { + $$02627 = $25; + } else { + break; + } + } + _rlEnd(); + STACKTOP = sp;return; + } + $36 = (_rlGetVersion()|0); + $37 = ($36|0)==(2); + if (!($37)) { + $38 = (_rlGetVersion()|0); + $39 = ($38|0)==(3); + if (!($39)) { + $40 = (_rlGetVersion()|0); + $41 = ($40|0)==(4); + if (!($41)) { + STACKTOP = sp;return; + } + } + } + _GetDefaultTexture($3); + $42 = HEAP32[$3>>2]|0; + _rlEnableTexture($42); + _rlBegin(7); + $43 = HEAP8[$2>>0]|0; + $44 = ((($2)) + 1|0); + $45 = HEAP8[$44>>0]|0; + $46 = ((($2)) + 2|0); + $47 = HEAP8[$46>>0]|0; + $48 = ((($2)) + 3|0); + $49 = HEAP8[$48>>0]|0; + $50 = +HEAPF32[$0>>2]; + $51 = ((($0)) + 4|0); + $$028 = 0; + while(1) { + _rlColor4ub($43,$45,$47,$49); + $52 = +HEAPF32[$51>>2]; + _rlVertex2f($50,$52); + $53 = (+($$028|0)); + $54 = $53 * 0.01745329238474369; + $55 = (+Math_sin((+$54))); + $56 = $55 * $1; + $57 = $50 + $56; + $58 = +HEAPF32[$51>>2]; + $59 = (+Math_cos((+$54))); + $60 = $59 * $1; + $61 = $58 + $60; + _rlVertex2f($57,$61); + $62 = (($$028) + 10)|0; + $63 = (+($62|0)); + $64 = $63 * 0.01745329238474369; + $65 = (+Math_sin((+$64))); + $66 = $65 * $1; + $67 = $50 + $66; + $68 = +HEAPF32[$51>>2]; + $69 = (+Math_cos((+$64))); + $70 = $69 * $1; + $71 = $68 + $70; + _rlVertex2f($67,$71); + $72 = (($$028) + 20)|0; + $73 = (+($72|0)); + $74 = $73 * 0.01745329238474369; + $75 = (+Math_sin((+$74))); + $76 = $75 * $1; + $77 = $50 + $76; + $78 = +HEAPF32[$51>>2]; + $79 = (+Math_cos((+$74))); + $80 = $79 * $1; + $81 = $78 + $80; + _rlVertex2f($77,$81); + $82 = ($72|0)<(360); + if ($82) { + $$028 = $72; + } else { + break; + } + } + _rlEnd(); + _rlDisableTexture(); + STACKTOP = sp;return; +} +function _DrawRectangle($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $10 = 0.0, $11 = 0, $12 = 0.0, $5 = 0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0); + $$byval_copy2 = sp + 32|0; + $$byval_copy1 = sp + 24|0; + $$byval_copy = sp + 16|0; + $5 = sp + 8|0; + $6 = sp; + $7 = (+($0|0)); + HEAPF32[$5>>2] = $7; + $8 = ((($5)) + 4|0); + $9 = (+($1|0)); + HEAPF32[$8>>2] = $9; + $10 = (+($2|0)); + HEAPF32[$6>>2] = $10; + $11 = ((($6)) + 4|0); + $12 = (+($3|0)); + HEAPF32[$11>>2] = $12; + ;HEAP32[$$byval_copy>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$5+4>>2]|0; + ;HEAP32[$$byval_copy1>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$6+4>>2]|0; + ;HEAP8[$$byval_copy2>>0]=HEAP8[$4>>0]|0;HEAP8[$$byval_copy2+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$$byval_copy2+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$$byval_copy2+3>>0]=HEAP8[$4+3>>0]|0; + _DrawRectangleV($$byval_copy,$$byval_copy1,$$byval_copy2); + STACKTOP = sp;return; +} +function _DrawRectangleV($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0.0, $14 = 0, $15 = 0, $16 = 0.0, $17 = 0, $18 = 0, $19 = 0.0, $20 = 0.0, $21 = 0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0, $26 = 0.0, $27 = 0.0, $28 = 0.0, $29 = 0; + var $3 = 0, $30 = 0.0, $31 = 0, $32 = 0.0, $33 = 0, $34 = 0.0, $35 = 0.0, $36 = 0, $37 = 0.0, $38 = 0.0, $39 = 0, $4 = 0, $40 = 0.0, $41 = 0.0, $42 = 0.0, $43 = 0, $44 = 0.0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0.0, $61 = 0, $62 = 0.0, $63 = 0, $64 = 0.0, $65 = 0.0; + var $66 = 0.0, $67 = 0.0, $68 = 0.0, $69 = 0.0, $7 = 0, $70 = 0.0, $71 = 0.0, $72 = 0.0, $73 = 0.0, $74 = 0.0, $75 = 0.0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $3 = sp; + $4 = (_rlGetVersion()|0); + $5 = ($4|0)==(1); + if ($5) { + _rlBegin(4); + $6 = HEAP8[$2>>0]|0; + $7 = ((($2)) + 1|0); + $8 = HEAP8[$7>>0]|0; + $9 = ((($2)) + 2|0); + $10 = HEAP8[$9>>0]|0; + $11 = ((($2)) + 3|0); + $12 = HEAP8[$11>>0]|0; + _rlColor4ub($6,$8,$10,$12); + $13 = +HEAPF32[$0>>2]; + $14 = (~~(($13))); + $15 = ((($0)) + 4|0); + $16 = +HEAPF32[$15>>2]; + $17 = (~~(($16))); + _rlVertex2i($14,$17); + $18 = ((($1)) + 4|0); + $19 = +HEAPF32[$18>>2]; + $20 = $16 + $19; + $21 = (~~(($20))); + _rlVertex2i($14,$21); + $22 = +HEAPF32[$0>>2]; + $23 = +HEAPF32[$1>>2]; + $24 = $22 + $23; + $25 = (~~(($24))); + $26 = +HEAPF32[$15>>2]; + $27 = +HEAPF32[$18>>2]; + $28 = $26 + $27; + $29 = (~~(($28))); + _rlVertex2i($25,$29); + $30 = +HEAPF32[$0>>2]; + $31 = (~~(($30))); + $32 = +HEAPF32[$15>>2]; + $33 = (~~(($32))); + _rlVertex2i($31,$33); + $34 = +HEAPF32[$1>>2]; + $35 = $30 + $34; + $36 = (~~(($35))); + $37 = +HEAPF32[$18>>2]; + $38 = $32 + $37; + $39 = (~~(($38))); + _rlVertex2i($36,$39); + $40 = +HEAPF32[$0>>2]; + $41 = +HEAPF32[$1>>2]; + $42 = $40 + $41; + $43 = (~~(($42))); + $44 = +HEAPF32[$15>>2]; + $45 = (~~(($44))); + _rlVertex2i($43,$45); + _rlEnd(); + STACKTOP = sp;return; + } + $46 = (_rlGetVersion()|0); + $47 = ($46|0)==(2); + if (!($47)) { + $48 = (_rlGetVersion()|0); + $49 = ($48|0)==(3); + if (!($49)) { + $50 = (_rlGetVersion()|0); + $51 = ($50|0)==(4); + if (!($51)) { + STACKTOP = sp;return; + } + } + } + _GetDefaultTexture($3); + $52 = HEAP32[$3>>2]|0; + _rlEnableTexture($52); + _rlBegin(7); + $53 = HEAP8[$2>>0]|0; + $54 = ((($2)) + 1|0); + $55 = HEAP8[$54>>0]|0; + $56 = ((($2)) + 2|0); + $57 = HEAP8[$56>>0]|0; + $58 = ((($2)) + 3|0); + $59 = HEAP8[$58>>0]|0; + _rlColor4ub($53,$55,$57,$59); + _rlTexCoord2f(0.0,0.0); + $60 = +HEAPF32[$0>>2]; + $61 = ((($0)) + 4|0); + $62 = +HEAPF32[$61>>2]; + _rlVertex2f($60,$62); + _rlTexCoord2f(0.0,1.0); + $63 = ((($1)) + 4|0); + $64 = +HEAPF32[$63>>2]; + $65 = $62 + $64; + _rlVertex2f($60,$65); + _rlTexCoord2f(1.0,1.0); + $66 = +HEAPF32[$0>>2]; + $67 = +HEAPF32[$1>>2]; + $68 = $66 + $67; + $69 = +HEAPF32[$61>>2]; + $70 = +HEAPF32[$63>>2]; + $71 = $69 + $70; + _rlVertex2f($68,$71); + _rlTexCoord2f(1.0,0.0); + $72 = +HEAPF32[$0>>2]; + $73 = +HEAPF32[$1>>2]; + $74 = $72 + $73; + $75 = +HEAPF32[$61>>2]; + _rlVertex2f($74,$75); + _rlEnd(); + _rlDisableTexture(); + STACKTOP = sp;return; +} +function _DrawRectangleRec($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$byval_copy = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $$byval_copy = sp; + $2 = HEAP32[$0>>2]|0; + $3 = ((($0)) + 4|0); + $4 = HEAP32[$3>>2]|0; + $5 = ((($0)) + 8|0); + $6 = HEAP32[$5>>2]|0; + $7 = ((($0)) + 12|0); + $8 = HEAP32[$7>>2]|0; + ;HEAP8[$$byval_copy>>0]=HEAP8[$1>>0]|0;HEAP8[$$byval_copy+1>>0]=HEAP8[$1+1>>0]|0;HEAP8[$$byval_copy+2>>0]=HEAP8[$1+2>>0]|0;HEAP8[$$byval_copy+3>>0]=HEAP8[$1+3>>0]|0; + _DrawRectangle($2,$4,$6,$8,$$byval_copy); + STACKTOP = sp;return; +} +function _CheckCollisionPointRec($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $10 = 0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0.0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0.0, $20 = 0.0, $21 = 0, $3 = 0, $4 = 0.0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[$0>>2]; + $3 = HEAP32[$1>>2]|0; + $4 = (+($3|0)); + $5 = !($2 >= $4); + if ($5) { $$0 = 0; return ($$0|0); } - $3 = ((($f)) + 32|0); + $6 = ((($1)) + 8|0); + $7 = HEAP32[$6>>2]|0; + $8 = (($7) + ($3))|0; + $9 = (+($8|0)); + $10 = !($2 <= $9); + if ($10) { + $$0 = 0; + return ($$0|0); + } + $11 = ((($0)) + 4|0); + $12 = +HEAPF32[$11>>2]; + $13 = ((($1)) + 4|0); + $14 = HEAP32[$13>>2]|0; + $15 = (+($14|0)); + $16 = !($12 >= $15); + if ($16) { + $$0 = 0; + return ($$0|0); + } + $17 = ((($1)) + 12|0); + $18 = HEAP32[$17>>2]|0; + $19 = (($18) + ($14))|0; + $20 = (+($19|0)); + $21 = !($12 <= $20); + if ($21) { + $$0 = 0; + return ($$0|0); + } + $$0 = 1; + return ($$0|0); +} +function _CheckCollisionRecs($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$ = 0, $$neg11 = 0, $$neg14 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; + var $26 = 0, $27 = 0, $28 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $ispos = 0, $ispos8 = 0, $neg = 0, $neg9 = 0, $not$ = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = HEAP32[$0>>2]|0; + $3 = ((($0)) + 8|0); $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)==(0|0); - if ($5) { - $11 = ((($f)) + 20|0); - $12 = HEAP32[$11>>2]|0; - $13 = (_ftell(($12|0))|0); - $14 = ((($f)) + 24|0); - $15 = HEAP32[$14>>2]|0; - $16 = (($13) - ($15))|0; - $$0 = $16; + $5 = (($4|0) / 2)&-1; + $6 = HEAP32[$1>>2]|0; + $7 = ((($1)) + 8|0); + $8 = HEAP32[$7>>2]|0; + $9 = (($8|0) / 2)&-1; + $$neg11 = (($5) + ($2))|0; + $10 = (($$neg11) - ($6))|0; + $11 = (($10) - ($9))|0; + $ispos = ($11|0)>(-1); + $neg = (0 - ($11))|0; + $12 = $ispos ? $11 : $neg; + $13 = ((($0)) + 4|0); + $14 = HEAP32[$13>>2]|0; + $15 = ((($0)) + 12|0); + $16 = HEAP32[$15>>2]|0; + $17 = (($16|0) / 2)&-1; + $18 = ((($1)) + 4|0); + $19 = HEAP32[$18>>2]|0; + $20 = ((($1)) + 12|0); + $21 = HEAP32[$20>>2]|0; + $22 = (($21|0) / 2)&-1; + $$neg14 = (($17) + ($14))|0; + $23 = (($$neg14) - ($19))|0; + $24 = (($23) - ($22))|0; + $25 = (($9) + ($5))|0; + $26 = ($12|0)>($25|0); + if ($26) { + return 0; + } else { + $ispos8 = ($24|0)>(-1); + $neg9 = (0 - ($24))|0; + $27 = $ispos8 ? $24 : $neg9; + $28 = (($22) + ($17))|0; + $not$ = ($27|0)<=($28|0); + $$ = $not$&1; + return ($$|0); + } + return (0)|0; +} +function _stbi__err($0) { + $0 = $0|0; + var label = 0, sp = 0; + sp = STACKTOP; + HEAP32[8041] = $0; + return; +} +function _stbi_load_from_file($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $10 = 0, $11 = 0, $12 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 192|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(192|0); + $5 = sp; + _stbi__start_file($5,$0); + $6 = (_stbi__load_and_postprocess_8bit($5,$1,$2,$3,$4)|0); + $7 = ($6|0)==(0|0); + if ($7) { + STACKTOP = sp;return ($6|0); + } + $8 = ((($5)) + 172|0); + $9 = HEAP32[$8>>2]|0; + $10 = ((($5)) + 168|0); + $11 = HEAP32[$10>>2]|0; + $12 = (($11) - ($9))|0; + (_fseek($0,$12,1)|0); + STACKTOP = sp;return ($6|0); +} +function _stbi__start_file($0,$1) { + $0 = $0|0; + $1 = $1|0; + var label = 0, sp = 0; + sp = STACKTOP; + _stbi__start_callbacks($0,3136,$1); + return; +} +function _stbi__load_and_postprocess_8bit($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$0 = 0, $$070 = 0, $$07175 = 0, $$07276 = 0, $$07378 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; + var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $5 = 0, $6 = 0; + var $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond79 = 0, $exitcond80 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $5 = sp; + $6 = (_stbi__load_main($0,$1,$2,$3,$4,$5)|0); + $7 = ($6|0)==(0|0); + if ($7) { + $$0 = 0; + STACKTOP = sp;return ($$0|0); + } + $8 = HEAP32[$5>>2]|0; + switch ($8|0) { + case 8: { + $$070 = $6; + break; + } + case 16: { + label = 4; + break; + } + default: { + ___assert_fail((13692|0),(13718|0),1041,(13741|0)); + // unreachable; + } + } + if ((label|0) == 4) { + $9 = HEAP32[$1>>2]|0; + $10 = HEAP32[$2>>2]|0; + $11 = ($4|0)==(0); + if ($11) { + $12 = HEAP32[$3>>2]|0; + $13 = $12; + } else { + $13 = $4; + } + $14 = (_stbi__convert_16_to_8($6,$9,$10,$13)|0); + HEAP32[$5>>2] = 8; + $$070 = $14; + } + $15 = HEAP32[8042]|0; + $16 = ($15|0)==(0); + if ($16) { + $$0 = $$070; + STACKTOP = sp;return ($$0|0); + } + $17 = HEAP32[$1>>2]|0; + $18 = HEAP32[$2>>2]|0; + $19 = ($4|0)==(0); + if ($19) { + $20 = HEAP32[$3>>2]|0; + $25 = $20; + } else { + $25 = $4; + } + $21 = $18 >> 1; + $22 = ($21|0)>(0); + if (!($22)) { + $$0 = $$070; + STACKTOP = sp;return ($$0|0); + } + $23 = ($17|0)>(0); + $24 = ($25|0)>(0); + $26 = (($18) + -1)|0; + $$07378 = 0; + while(1) { + if ($23) { + $27 = Math_imul($$07378, $17)|0; + $28 = (($26) - ($$07378))|0; + $29 = Math_imul($28, $17)|0; + $$07276 = 0; + while(1) { + if ($24) { + $30 = (($$07276) + ($27))|0; + $31 = Math_imul($30, $25)|0; + $32 = (($$07276) + ($29))|0; + $33 = Math_imul($32, $25)|0; + $$07175 = 0; + while(1) { + $34 = (($$07175) + ($31))|0; + $35 = (($$070) + ($34)|0); + $36 = HEAP8[$35>>0]|0; + $37 = (($$07175) + ($33))|0; + $38 = (($$070) + ($37)|0); + $39 = HEAP8[$38>>0]|0; + HEAP8[$35>>0] = $39; + HEAP8[$38>>0] = $36; + $40 = (($$07175) + 1)|0; + $exitcond = ($40|0)==($25|0); + if ($exitcond) { + break; + } else { + $$07175 = $40; + } + } + } + $41 = (($$07276) + 1)|0; + $exitcond79 = ($41|0)==($17|0); + if ($exitcond79) { + break; + } else { + $$07276 = $41; + } + } + } + $42 = (($$07378) + 1)|0; + $exitcond80 = ($42|0)==($21|0); + if ($exitcond80) { + $$0 = $$070; + break; + } else { + $$07378 = $42; + } + } + STACKTOP = sp;return ($$0|0); +} +function _stbi__load_main($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + var $$0 = 0, $10 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAP32[$5>>2] = 8; + $6 = ((($5)) + 8|0); + HEAP32[$6>>2] = 0; + $7 = ((($5)) + 4|0); + HEAP32[$7>>2] = 0; + $8 = (_stbi__png_test($0)|0); + $9 = ($8|0)==(0); + if ($9) { + _stbi__err(13782); + $$0 = 0; return ($$0|0); } else { - $6 = ((($f)) + 36|0); - $7 = HEAP32[$6>>2]|0; - $8 = $4; - $9 = $7; - $10 = (($8) - ($9))|0; + $10 = (_stbi__png_load($0,$1,$2,$3,$4,$5)|0); $$0 = $10; return ($$0|0); } return (0)|0; } -function _stb_vorbis_seek_start($f) { - $f = $f|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; +function _stbi__convert_16_to_8($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$0 = 0, $$01819 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = ((($f)) + 48|0); - $1 = HEAP8[$0>>0]|0; - $2 = ($1<<24>>24)==(0); - if ($2) { - $3 = ((($f)) + 52|0); - $4 = HEAP32[$3>>2]|0; - _set_file_offset($f,$4); - $5 = ((($f)) + 1008|0); - HEAP32[$5>>2] = 0; - $6 = ((($f)) + 1393|0); - HEAP8[$6>>0] = 1; - $7 = ((($f)) + 1396|0); - HEAP32[$7>>2] = -1; - _vorbis_pump_first_frame($f); - return; - } else { - _error($f,2); - return; - } -} -function _stb_vorbis_stream_length_in_samples($f) { - $f = $f|0; - var $$ = 0, $$0 = 0, $$2 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; - var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; - var $42 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $end = 0, $header = 0, $last = 0, $last_page_loc$0$lcssa = 0, $last_page_loc$04 = 0, $previous_safe$0 = 0, $previous_safe$1$lcssa = 0, $previous_safe$13 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $end = sp + 4|0; - $last = sp; - $header = sp + 8|0; - $0 = ((($f)) + 48|0); - $1 = HEAP8[$0>>0]|0; - $2 = ($1<<24>>24)==(0); - if (!($2)) { - _error($f,2); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $3 = ((($f)) + 812|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)==(0); - if ($5) { - $6 = (_stb_vorbis_get_file_offset($f)|0); - $7 = ((($f)) + 44|0); - $8 = HEAP32[$7>>2]|0; - $9 = ($8>>>0)>(65535); - if ($9) { - $10 = (($8) + -65536)|0; - $11 = ((($f)) + 52|0); - $12 = HEAP32[$11>>2]|0; - $13 = ($10>>>0)<($12>>>0); - if ($13) { - label = 6; - } else { - $previous_safe$0 = $10; - } - } else { - label = 6; - } - if ((label|0) == 6) { - $14 = ((($f)) + 52|0); - $15 = HEAP32[$14>>2]|0; - $previous_safe$0 = $15; - } - _set_file_offset($f,$previous_safe$0); - $16 = (_vorbis_find_page($f,$end,$last)|0); - $17 = ($16|0)==(0); - do { - if ($17) { - $18 = ((($f)) + 116|0); - HEAP32[$18>>2] = 36; - HEAP32[$3>>2] = -1; - } else { - $19 = (_stb_vorbis_get_file_offset($f)|0); - $20 = HEAP32[$last>>2]|0; - $21 = ($20|0)==(0); - L15: do { - if ($21) { - $last_page_loc$04 = $19;$previous_safe$13 = $previous_safe$0; - while(1) { - $22 = HEAP32[$end>>2]|0; - _set_file_offset($f,$22); - $23 = (_vorbis_find_page($f,$end,$last)|0); - $24 = ($23|0)==(0); - if ($24) { - $last_page_loc$0$lcssa = $last_page_loc$04;$previous_safe$1$lcssa = $previous_safe$13; - break L15; - } - $25 = (($last_page_loc$04) + 1)|0; - $26 = (_stb_vorbis_get_file_offset($f)|0); - $27 = HEAP32[$last>>2]|0; - $28 = ($27|0)==(0); - if ($28) { - $last_page_loc$04 = $26;$previous_safe$13 = $25; - } else { - $last_page_loc$0$lcssa = $26;$previous_safe$1$lcssa = $25; - break; - } - } - } else { - $last_page_loc$0$lcssa = $19;$previous_safe$1$lcssa = $previous_safe$0; - } - } while(0); - _set_file_offset($f,$last_page_loc$0$lcssa); - (_getn($f,$header,6)|0); - $29 = (_get32($f)|0); - $30 = (_get32($f)|0); - $31 = $30 & $29; - $32 = ($31|0)==(-1); - if ($32) { - $33 = ((($f)) + 116|0); - HEAP32[$33>>2] = 36; - HEAP32[$3>>2] = -1; - break; - } else { - $34 = ($30|0)==(0); - $$ = $34 ? $29 : -2; - HEAP32[$3>>2] = $$; - $35 = ((($f)) + 76|0); - HEAP32[$35>>2] = $last_page_loc$0$lcssa; - $36 = HEAP32[$end>>2]|0; - $37 = ((($f)) + 80|0); - HEAP32[$37>>2] = $36; - $38 = ((($f)) + 92|0); - HEAP32[$38>>2] = $$; - $39 = ((($f)) + 88|0); - HEAP32[$39>>2] = -1; - $40 = ((($f)) + 84|0); - HEAP32[$40>>2] = $previous_safe$1$lcssa; - break; - } - } - } while(0); - _set_file_offset($f,$6); - } - $41 = HEAP32[$3>>2]|0; - $42 = ($41|0)==(-1); - $$2 = $42 ? 0 : $41; - $$0 = $$2; - STACKTOP = sp;return ($$0|0); -} -function _stb_vorbis_stream_length_in_seconds($f) { - $f = $f|0; - var $0 = 0, $1 = 0.0, $2 = 0, $3 = 0.0, $4 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_stb_vorbis_stream_length_in_samples($f)|0); - $1 = (+($0>>>0)); - $2 = HEAP32[$f>>2]|0; - $3 = (+($2>>>0)); - $4 = $1 / $3; - return (+$4); -} -function _stb_vorbis_get_frame_float($f,$channels,$output) { - $f = $f|0; - $channels = $channels|0; - $output = $output|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i$01 = 0, $left = 0, $len = 0, $right = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $len = sp + 8|0; - $right = sp; - $left = sp + 4|0; - $0 = ((($f)) + 48|0); - $1 = HEAP8[$0>>0]|0; - $2 = ($1<<24>>24)==(0); - if (!($2)) { - _error($f,2); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $3 = (_vorbis_decode_packet($f,$len,$left,$right)|0); - $4 = ($3|0)==(0); - if ($4) { - $5 = ((($f)) + 1524|0); - HEAP32[$5>>2] = 0; - $6 = ((($f)) + 1520|0); - HEAP32[$6>>2] = 0; - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $7 = HEAP32[$len>>2]|0; - $8 = HEAP32[$left>>2]|0; - $9 = HEAP32[$right>>2]|0; - $10 = (_vorbis_finish_frame($f,$7,$8,$9)|0); - HEAP32[$len>>2] = $10; - $11 = ((($f)) + 4|0); - $12 = HEAP32[$11>>2]|0; - $13 = ($12|0)>(0); - if ($13) { - $14 = HEAP32[$left>>2]|0; - $i$01 = 0; - while(1) { - $15 = (((($f)) + 816|0) + ($i$01<<2)|0); - $16 = HEAP32[$15>>2]|0; - $17 = (($16) + ($14<<2)|0); - $18 = (((($f)) + 880|0) + ($i$01<<2)|0); - HEAP32[$18>>2] = $17; - $19 = (($i$01) + 1)|0; - $20 = HEAP32[$11>>2]|0; - $21 = ($19|0)<($20|0); - if ($21) { - $i$01 = $19; - } else { - break; - } - } - } - $22 = HEAP32[$left>>2]|0; - $23 = ((($f)) + 1520|0); - HEAP32[$23>>2] = $22; - $24 = HEAP32[$left>>2]|0; - $25 = HEAP32[$len>>2]|0; - $26 = (($25) + ($24))|0; - $27 = ((($f)) + 1524|0); - HEAP32[$27>>2] = $26; - $28 = ($channels|0)==(0|0); - if (!($28)) { - $29 = HEAP32[$11>>2]|0; - HEAP32[$channels>>2] = $29; - } - $30 = ($output|0)==(0|0); - if (!($30)) { - $31 = ((($f)) + 880|0); - HEAP32[$output>>2] = $31; - } - $32 = HEAP32[$len>>2]|0; - $$0 = $32; - STACKTOP = sp;return ($$0|0); -} -function _stb_vorbis_open_file_section($file,$close_on_free,$error,$alloc,$length) { - $file = $file|0; - $close_on_free = $close_on_free|0; - $error = $error|0; - $alloc = $alloc|0; - $length = $length|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $p = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 1536|0; - $p = sp; - _vorbis_init($p,$alloc); - $0 = ((($p)) + 20|0); - HEAP32[$0>>2] = $file; - $1 = (_ftell(($file|0))|0); - $2 = ((($p)) + 24|0); - HEAP32[$2>>2] = $1; - $3 = ((($p)) + 44|0); - HEAP32[$3>>2] = $length; - $4 = ((($p)) + 28|0); - HEAP32[$4>>2] = $close_on_free; - $5 = (_start_decoder($p)|0); - $6 = ($5|0)==(0); - if (!($6)) { - $7 = (_vorbis_alloc($p)|0); - $8 = ($7|0)==(0|0); - if (!($8)) { - _memcpy(($7|0),($p|0),1528)|0; - _vorbis_pump_first_frame($7); - $$0 = $7; - STACKTOP = sp;return ($$0|0); - } - } - $9 = ($error|0)==(0|0); - if (!($9)) { - $10 = ((($p)) + 116|0); - $11 = HEAP32[$10>>2]|0; - HEAP32[$error>>2] = $11; - } - _vorbis_deinit($p); - $$0 = 0; - STACKTOP = sp;return ($$0|0); -} -function _stb_vorbis_open_file($file,$close_on_free,$error,$alloc) { - $file = $file|0; - $close_on_free = $close_on_free|0; - $error = $error|0; - $alloc = $alloc|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_ftell(($file|0))|0); - (_fseek(($file|0),0,2)|0); - $1 = (_ftell(($file|0))|0); - $2 = (($1) - ($0))|0; - (_fseek(($file|0),($0|0),0)|0); - $3 = (_stb_vorbis_open_file_section($file,$close_on_free,$error,$alloc,$2)|0); - return ($3|0); -} -function _stb_vorbis_open_filename($filename,$error,$alloc) { - $filename = $filename|0; - $error = $error|0; - $alloc = $alloc|0; - var $$0 = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_fopen(($filename|0),(19952|0))|0); - $1 = ($0|0)==(0|0); - if (!($1)) { - $2 = (_stb_vorbis_open_file($0,1,$error,$alloc)|0); - $$0 = $2; - return ($$0|0); - } - $3 = ($error|0)==(0|0); - if ($3) { + $4 = Math_imul($2, $1)|0; + $5 = Math_imul($4, $3)|0; + $6 = (_stbi__malloc($5)|0); + $7 = ($6|0)==(0|0); + if ($7) { + _stbi__err(13773); $$0 = 0; return ($$0|0); } - HEAP32[$error>>2] = 6; - $$0 = 0; - return ($$0|0); -} -function _stb_vorbis_get_samples_short_interleaved($f,$channels,$buffer,$num_shorts) { - $f = $f|0; - $channels = $channels|0; - $buffer = $buffer|0; - $num_shorts = $num_shorts|0; - var $$ = 0, $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0; - var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $n$0 = 0, $n$1 = 0, $outputs = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $outputs = sp; - $0 = (($num_shorts|0) / ($channels|0))&-1; - $1 = ((($f)) + 4|0); - $2 = ((($f)) + 1524|0); - $3 = ((($f)) + 1520|0); - $4 = ((($f)) + 816|0); - $$0 = $buffer;$n$0 = 0; - while(1) { - $5 = ($0|0)>($n$0|0); - if (!($5)) { - $n$1 = $n$0; - label = 7; - break; - } - $6 = HEAP32[$2>>2]|0; - $7 = HEAP32[$3>>2]|0; - $8 = (($6) - ($7))|0; - $9 = (($8) + ($n$0))|0; - $10 = ($9|0)<($0|0); - $11 = (($0) - ($n$0))|0; - $$ = $10 ? $8 : $11; - $12 = ($$|0)==(0); - if (!($12)) { - $13 = HEAP32[$1>>2]|0; - _convert_channels_short_interleaved($channels,$$0,$13,$4,$7,$$); - } - $14 = (($$) + ($n$0))|0; - $15 = HEAP32[$3>>2]|0; - $16 = (($15) + ($$))|0; - HEAP32[$3>>2] = $16; - $17 = ($14|0)==($0|0); - if ($17) { - $n$1 = $14; - label = 7; - break; - } - $18 = Math_imul($$, $channels)|0; - $19 = (($$0) + ($18<<1)|0); - $20 = (_stb_vorbis_get_frame_float($f,0,$outputs)|0); - $21 = ($20|0)==(0); - if ($21) { - $n$1 = $14; - label = 7; - break; - } else { - $$0 = $19;$n$0 = $14; - } - } - if ((label|0) == 7) { - STACKTOP = sp;return ($n$1|0); - } - return (0)|0; -} -function _stbrp_setup_allow_out_of_mem($context,$allow_out_of_mem) { - $context = $context|0; - $allow_out_of_mem = $allow_out_of_mem|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ($allow_out_of_mem|0)==(0); - if ($0) { - $2 = HEAP32[$context>>2]|0; - $3 = ((($context)) + 20|0); - $4 = HEAP32[$3>>2]|0; - $5 = (($2) + -1)|0; - $6 = (($5) + ($4))|0; - $7 = (($6|0) / ($4|0))&-1; - $8 = ((($context)) + 8|0); - HEAP32[$8>>2] = $7; - return; - } else { - $1 = ((($context)) + 8|0); - HEAP32[$1>>2] = 1; - return; - } -} -function _stbrp_init_target($context,$width,$height,$nodes,$num_nodes) { - $context = $context|0; - $width = $width|0; - $height = $height|0; - $nodes = $nodes|0; - $num_nodes = $num_nodes|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; - var $9 = 0, $exitcond = 0, $i$0$lcssa = 0, $i$02 = 0, $or$cond = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ($width|0)<(65536); - $1 = ($height|0)<(65536); - $or$cond = $0 & $1; - if (!($or$cond)) { - ___assert_fail((14904|0),(14880|0),234,(14944|0)); - // unreachable; - } - $2 = ($num_nodes|0)>(1); - if ($2) { - $3 = (($num_nodes) + -1)|0; - $i$02 = 0; + $8 = ($5|0)>(0); + if ($8) { + $$01819 = 0; while(1) { - $4 = (($i$02) + 1)|0; - $5 = (($nodes) + ($4<<3)|0); - $6 = (((($nodes) + ($i$02<<3)|0)) + 4|0); - HEAP32[$6>>2] = $5; - $exitcond = ($4|0)==($3|0); + $9 = (($0) + ($$01819<<1)|0); + $10 = HEAP16[$9>>1]|0; + $11 = ($10&65535) >>> 8; + $12 = $11&255; + $13 = (($6) + ($$01819)|0); + HEAP8[$13>>0] = $12; + $14 = (($$01819) + 1)|0; + $exitcond = ($14|0)==($5|0); if ($exitcond) { - $i$0$lcssa = $3; break; } else { - $i$02 = $4; + $$01819 = $14; } } - } else { - $i$0$lcssa = 0; } - $7 = (((($nodes) + ($i$0$lcssa<<3)|0)) + 4|0); - HEAP32[$7>>2] = 0; - $8 = ((($context)) + 12|0); - HEAP32[$8>>2] = 1; - $9 = ((($context)) + 16|0); - HEAP32[$9>>2] = 0; - $10 = ((($context)) + 28|0); - HEAP32[$10>>2] = $nodes; - $11 = ((($context)) + 32|0); - $12 = ((($context)) + 24|0); - HEAP32[$12>>2] = $11; - HEAP32[$context>>2] = $width; - $13 = ((($context)) + 4|0); - HEAP32[$13>>2] = $height; - $14 = ((($context)) + 20|0); - HEAP32[$14>>2] = $num_nodes; - _stbrp_setup_allow_out_of_mem($context,0); - HEAP16[$11>>1] = 0; - $15 = ((($context)) + 34|0); - HEAP16[$15>>1] = 0; - $16 = ((($context)) + 40|0); - $17 = ((($context)) + 36|0); - HEAP32[$17>>2] = $16; - $18 = $width&65535; - HEAP16[$16>>1] = $18; - $19 = ((($context)) + 42|0); - HEAP16[$19>>1] = -1; - $20 = ((($context)) + 44|0); - HEAP32[$20>>2] = 0; - return; -} -function _stbrp_pack_rects($context,$rects,$num_rects) { - $context = $context|0; - $rects = $rects|0; - $num_rects = $num_rects|0; - var $$ph = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond10 = 0, $exitcond11 = 0, $fr = 0; - var $i$06 = 0, $i$12 = 0, $i$21 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $fr = sp; - $0 = ($num_rects|0)>(0); - if ($0) { - $i$06 = 0; - while(1) { - $1 = (((($rects) + ($i$06<<4)|0)) + 12|0); - HEAP32[$1>>2] = $i$06; - $2 = (($i$06) + 1)|0; - $exitcond11 = ($2|0)==($num_rects|0); - if ($exitcond11) { - break; - } else { - $i$06 = $2; - } - } - _qsort($rects,$num_rects,16,1); - $3 = ($num_rects|0)>(0); - if ($3) { - $4 = ((($fr)) + 8|0); - $5 = ((($fr)) + 4|0); - $i$12 = 0; - while(1) { - $6 = (((($rects) + ($i$12<<4)|0)) + 4|0); - $7 = HEAP16[$6>>1]|0; - $8 = $7&65535; - $9 = (((($rects) + ($i$12<<4)|0)) + 6|0); - $10 = HEAP16[$9>>1]|0; - $11 = $10&65535; - _stbrp__skyline_pack_rectangle($fr,$context,$8,$11); - $12 = HEAP32[$4>>2]|0; - $13 = ($12|0)==(0|0); - if ($13) { - $20 = (((($rects) + ($i$12<<4)|0)) + 10|0); - HEAP16[$20>>1] = -1; - $21 = (((($rects) + ($i$12<<4)|0)) + 8|0); - HEAP16[$21>>1] = -1; - } else { - $14 = HEAP32[$fr>>2]|0; - $15 = $14&65535; - $16 = (((($rects) + ($i$12<<4)|0)) + 8|0); - HEAP16[$16>>1] = $15; - $17 = HEAP32[$5>>2]|0; - $18 = $17&65535; - $19 = (((($rects) + ($i$12<<4)|0)) + 10|0); - HEAP16[$19>>1] = $18; - } - $22 = (($i$12) + 1)|0; - $exitcond10 = ($22|0)==($num_rects|0); - if ($exitcond10) { - break; - } else { - $i$12 = $22; - } - } - _qsort($rects,$num_rects,16,2); - $23 = ($num_rects|0)>(0); - if ($23) { - $i$21 = 0; - } else { - STACKTOP = sp;return; - } - while(1) { - $24 = (((($rects) + ($i$21<<4)|0)) + 8|0); - $25 = HEAP16[$24>>1]|0; - $26 = ($25<<16>>16)==(-1); - if ($26) { - $27 = (((($rects) + ($i$21<<4)|0)) + 10|0); - $28 = HEAP16[$27>>1]|0; - $29 = ($28<<16>>16)==(-1); - $31 = $29; - } else { - $31 = 0; - } - $30 = $31&1; - $32 = $30 ^ 1; - $33 = (((($rects) + ($i$21<<4)|0)) + 12|0); - HEAP32[$33>>2] = $32; - $34 = (($i$21) + 1)|0; - $exitcond = ($34|0)==($num_rects|0); - if ($exitcond) { - break; - } else { - $i$21 = $34; - } - } - STACKTOP = sp;return; - } else { - $$ph = $rects; - } - } else { - _qsort($rects,$num_rects,16,1); - $$ph = $rects; - } - _qsort($$ph,$num_rects,16,2); - STACKTOP = sp;return; -} -function _stbtt_GetFontOffsetForIndex($font_collection,$index) { - $font_collection = $font_collection|0; - $index = $index|0; - var $$0 = 0, $$sum = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0; - var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $not$ = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_stbtt__isfont($font_collection)|0); - $1 = ($0|0)==(0); - if (!($1)) { - $not$ = ($index|0)!=(0); - $2 = $not$ << 31 >> 31; - $$0 = $2; - return ($$0|0); - } - $3 = HEAP8[$font_collection>>0]|0; - $4 = ($3<<24>>24)==(116); - if (!($4)) { - $$0 = -1; - return ($$0|0); - } - $5 = ((($font_collection)) + 1|0); - $6 = HEAP8[$5>>0]|0; - $7 = ($6<<24>>24)==(116); - if (!($7)) { - $$0 = -1; - return ($$0|0); - } - $8 = ((($font_collection)) + 2|0); - $9 = HEAP8[$8>>0]|0; - $10 = ($9<<24>>24)==(99); - if (!($10)) { - $$0 = -1; - return ($$0|0); - } - $11 = ((($font_collection)) + 3|0); - $12 = HEAP8[$11>>0]|0; - $13 = ($12<<24>>24)==(102); - if (!($13)) { - $$0 = -1; - return ($$0|0); - } - $14 = ((($font_collection)) + 4|0); - $15 = (_ttULONG($14)|0); - if (!((($15|0) == 131072) | (($15|0) == 65536))) { - $$0 = -1; - return ($$0|0); - } - $16 = ((($font_collection)) + 8|0); - $17 = (_ttLONG($16)|0); - $18 = ($17|0)>($index|0); - if (!($18)) { - $$0 = -1; - return ($$0|0); - } - $19 = ($index*14)|0; - $$sum = (($19) + 12)|0; - $20 = (($font_collection) + ($$sum)|0); - $21 = (_ttULONG($20)|0); - $$0 = $21; + _free($0); + $$0 = $6; return ($$0|0); } -function _stbtt_InitFont($info,$data2,$fontstart) { - $info = $info|0; - $data2 = $data2|0; - $fontstart = $fontstart|0; - var $$0 = 0, $$pr = 0, $$sum = 0, $$sum1 = 0, $$sum2 = 0, $$sum3 = 0, $$sum4 = 0, $$sum5 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0; - var $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0; - var $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0; - var $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $i$06 = 0, label = 0, sp = 0; +function _stbi__malloc($0) { + $0 = $0|0; + var $1 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = ((($info)) + 4|0); - HEAP32[$0>>2] = $data2; - $1 = ((($info)) + 8|0); - HEAP32[$1>>2] = $fontstart; - $2 = (_stbtt__find_table($data2,$fontstart,14968)|0); - $3 = (_stbtt__find_table($data2,$fontstart,14976)|0); - $4 = ((($info)) + 16|0); - HEAP32[$4>>2] = $3; - $5 = (_stbtt__find_table($data2,$fontstart,14984)|0); - $6 = ((($info)) + 20|0); - HEAP32[$6>>2] = $5; - $7 = (_stbtt__find_table($data2,$fontstart,14992)|0); - $8 = ((($info)) + 24|0); - HEAP32[$8>>2] = $7; - $9 = (_stbtt__find_table($data2,$fontstart,15000)|0); - $10 = ((($info)) + 28|0); - HEAP32[$10>>2] = $9; - $11 = (_stbtt__find_table($data2,$fontstart,15008)|0); - $12 = ((($info)) + 32|0); - HEAP32[$12>>2] = $11; - $13 = (_stbtt__find_table($data2,$fontstart,15016)|0); - $14 = ((($info)) + 36|0); - HEAP32[$14>>2] = $13; - $15 = ($2|0)==(0); - if ($15) { - $$0 = 0; - return ($$0|0); - } - $16 = HEAP32[$4>>2]|0; - $17 = ($16|0)==(0); - if ($17) { - $$0 = 0; - return ($$0|0); - } - $18 = HEAP32[$6>>2]|0; - $19 = ($18|0)==(0); - if ($19) { - $$0 = 0; - return ($$0|0); - } - $20 = HEAP32[$8>>2]|0; - $21 = ($20|0)==(0); - if ($21) { - $$0 = 0; - return ($$0|0); - } - $22 = HEAP32[$10>>2]|0; - $23 = ($22|0)==(0); - if ($23) { - $$0 = 0; - return ($$0|0); - } - $24 = HEAP32[$12>>2]|0; - $25 = ($24|0)==(0); - if ($25) { - $$0 = 0; - return ($$0|0); - } - $26 = (_stbtt__find_table($data2,$fontstart,15024)|0); - $27 = ($26|0)==(0); - if ($27) { - $32 = ((($info)) + 12|0); - HEAP32[$32>>2] = 65535; - } else { - $$sum5 = (($26) + 4)|0; - $28 = (($data2) + ($$sum5)|0); - $29 = (_ttUSHORT($28)|0); - $30 = $29&65535; - $31 = ((($info)) + 12|0); - HEAP32[$31>>2] = $30; - } - $$sum = (($2) + 2)|0; - $33 = (($data2) + ($$sum)|0); - $34 = (_ttUSHORT($33)|0); - $35 = ((($info)) + 40|0); - HEAP32[$35>>2] = 0; - $36 = ($34<<16>>16)==(0); - if ($36) { - $$0 = 0; - return ($$0|0); - } - $37 = (($2) + 4)|0; - $38 = $34&65535; - $i$06 = 0; - while(1) { - $39 = $i$06 << 3; - $40 = (($37) + ($39))|0; - $41 = (($data2) + ($40)|0); - $42 = (_ttUSHORT($41)|0); - $43 = $42&65535; - if ((($43|0) == 0)) { - $$sum2 = (($40) + 4)|0; - $50 = (($data2) + ($$sum2)|0); - $51 = (_ttULONG($50)|0); - $52 = (($51) + ($2))|0; - HEAP32[$35>>2] = $52; - } else if ((($43|0) == 3)) { - $$sum3 = (($40) + 2)|0; - $44 = (($data2) + ($$sum3)|0); - $45 = (_ttUSHORT($44)|0); - $46 = $45&65535; - if ((($46|0) == 10) | (($46|0) == 1)) { - $$sum4 = (($40) + 4)|0; - $47 = (($data2) + ($$sum4)|0); - $48 = (_ttULONG($47)|0); - $49 = (($48) + ($2))|0; - HEAP32[$35>>2] = $49; - } - } - $53 = (($i$06) + 1)|0; - $exitcond = ($53|0)==($38|0); - if ($exitcond) { - break; - } else { - $i$06 = $53; - } - } - $$pr = HEAP32[$35>>2]|0; - $54 = ($$pr|0)==(0); - if ($54) { - $$0 = 0; - return ($$0|0); - } - $55 = HEAP32[$6>>2]|0; - $$sum1 = (($55) + 50)|0; - $56 = (($data2) + ($$sum1)|0); - $57 = (_ttUSHORT($56)|0); - $58 = $57&65535; - $59 = ((($info)) + 44|0); - HEAP32[$59>>2] = $58; - $$0 = 1; - return ($$0|0); + $1 = (_malloc($0)|0); + return ($1|0); } -function _stbtt_FindGlyphIndex($info,$unicode_codepoint) { - $info = $info|0; - $unicode_codepoint = $unicode_codepoint|0; - var $$ = 0, $$0 = 0, $$lcssa = 0, $$lcssa50 = 0, $$lcssa50$lcssa = 0, $$neg = 0, $$search$1 = 0, $$sum = 0, $$sum1 = 0, $$sum10 = 0, $$sum12 = 0, $$sum13 = 0, $$sum14 = 0, $$sum15 = 0, $$sum16 = 0, $$sum17 = 0, $$sum19 = 0, $$sum2 = 0, $$sum2$lcssa = 0, $$sum2$lcssa$lcssa = 0; - var $$sum20 = 0, $$sum21 = 0, $$sum22 = 0, $$sum23 = 0, $$sum24 = 0, $$sum25 = 0, $$sum26 = 0, $$sum27 = 0, $$sum28 = 0, $$sum29 = 0, $$sum3 = 0, $$sum30 = 0, $$sum31 = 0, $$sum32 = 0, $$sum33 = 0, $$sum34 = 0, $$sum4 = 0, $$sum5 = 0, $$sum6 = 0, $$sum7 = 0; - var $$sum8 = 0, $$sum9 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0; - var $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0; - var $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0; - var $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0; - var $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0; - var $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $entrySelector$039 = 0, $high$0 = 0, $high$0$lcssa49 = 0, $high$0$ph = 0, $low$0$ph = 0, $search$1$lcssa = 0, $search$138 = 0, $searchRange$040 = 0, $switch = 0, label = 0, sp = 0; +function _stbi__png_test($0) { + $0 = $0|0; + var $1 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = ((($info)) + 4|0); - $1 = HEAP32[$0>>2]|0; - $2 = ((($info)) + 40|0); - $3 = HEAP32[$2>>2]|0; - $4 = (($1) + ($3)|0); - $5 = (_ttUSHORT($4)|0); - if ((($5<<16>>16) == 4)) { - $$sum5 = (($3) + 6)|0; - $28 = (($1) + ($$sum5)|0); - $29 = (_ttUSHORT($28)|0); - $30 = ($29&65535) >>> 1; - $31 = (($3) + 14)|0; - $32 = ($unicode_codepoint|0)>(65535); - if ($32) { - $$0 = 0; - return ($$0|0); - } - $$sum8 = (($3) + 12)|0; - $33 = (($1) + ($$sum8)|0); - $34 = (_ttUSHORT($33)|0); - $$sum7 = (($3) + 10)|0; - $35 = (($1) + ($$sum7)|0); - $36 = (_ttUSHORT($35)|0); - $37 = ($34&65535) >>> 1; - $38 = $37&65535; - $39 = $38 << 1; - $$sum9 = (($39) + ($31))|0; - $40 = (($1) + ($$sum9)|0); - $41 = (_ttUSHORT($40)|0); - $42 = $41&65535; - $43 = ($42|0)>($unicode_codepoint|0); - $$ = $43 ? $31 : $$sum9; - $44 = (($$) + -2)|0; - $45 = ($36<<16>>16)==(0); - if ($45) { - $search$1$lcssa = $44; - } else { - $$sum6 = (($3) + 8)|0; - $46 = (($1) + ($$sum6)|0); - $47 = (_ttUSHORT($46)|0); - $48 = ($47&65535) >>> 1; - $entrySelector$039 = $36;$search$138 = $44;$searchRange$040 = $48; - while(1) { - $49 = ($searchRange$040&65535) >>> 1; - $50 = $49&65535; - $51 = $50 << 1; - $$sum27 = (($51) + ($search$138))|0; - $52 = (($1) + ($$sum27)|0); - $53 = (_ttUSHORT($52)|0); - $54 = $53&65535; - $55 = ($54|0)<($unicode_codepoint|0); - $$search$1 = $55 ? $$sum27 : $search$138; - $56 = (($entrySelector$039) + -1)<<16>>16; - $57 = ($56<<16>>16)==(0); - if ($57) { - $search$1$lcssa = $$search$1; - break; - } else { - $entrySelector$039 = $56;$search$138 = $$search$1;$searchRange$040 = $49; - } - } - } - $$neg = (-14 - ($3))|0; - $58 = (($$neg) + 2)|0; - $59 = (($58) + ($search$1$lcssa))|0; - $60 = $59 & 131070; - $$sum10 = (($60) + ($31))|0; - $61 = (($1) + ($$sum10)|0); - $62 = (_ttUSHORT($61)|0); - $63 = $62&65535; - $64 = ($63|0)<($unicode_codepoint|0); - if ($64) { - ___assert_fail((15080|0),(15032|0),1090,(15056|0)); - // unreachable; - } - $65 = $30&65535; - $66 = $65 << 1; - $$sum12 = (($3) + 16)|0; - $$sum13 = (($$sum12) + ($66))|0; - $$sum14 = (($$sum13) + ($60))|0; - $67 = (($1) + ($$sum14)|0); - $68 = (_ttUSHORT($67)|0); - $69 = $68&65535; - $70 = ($69|0)>($unicode_codepoint|0); - if ($70) { - $$0 = 0; - return ($$0|0); - } - $71 = ($65*6)|0; - $$sum15 = (($3) + 16)|0; - $$sum16 = (($$sum15) + ($71))|0; - $$sum17 = (($$sum16) + ($60))|0; - $72 = (($1) + ($$sum17)|0); - $73 = (_ttUSHORT($72)|0); - $74 = ($73<<16>>16)==(0); - if ($74) { - $75 = $65 << 2; - $$sum24 = (($3) + 16)|0; - $$sum25 = (($$sum24) + ($75))|0; - $$sum26 = (($$sum25) + ($60))|0; - $76 = (($1) + ($$sum26)|0); - $77 = (_ttSHORT($76)|0); - $78 = $77&65535; - $79 = (($78) + ($unicode_codepoint))|0; - $80 = $79 & 65535; - $$0 = $80; - return ($$0|0); - } else { - $81 = $73&65535; - $82 = (($unicode_codepoint) - ($69))|0; - $83 = $82 << 1; - $$sum19 = (($3) + 16)|0; - $$sum20 = (($$sum19) + ($71))|0; - $$sum21 = (($$sum20) + ($60))|0; - $$sum22 = (($$sum21) + ($83))|0; - $$sum23 = (($$sum22) + ($81))|0; - $84 = (($1) + ($$sum23)|0); - $85 = (_ttUSHORT($84)|0); - $86 = $85&65535; - $$0 = $86; - return ($$0|0); - } - } else if ((($5<<16>>16) == 2)) { - ___assert_fail((27216|0),(15032|0),1054,(15056|0)); - // unreachable; - } else if ((($5<<16>>16) == 6)) { - $$sum28 = (($3) + 6)|0; - $14 = (($1) + ($$sum28)|0); - $15 = (_ttUSHORT($14)|0); - $16 = $15&65535; - $17 = ($16>>>0)>($unicode_codepoint>>>0); - if ($17) { - $$0 = 0; - return ($$0|0); - } - $$sum29 = (($3) + 8)|0; - $18 = (($1) + ($$sum29)|0); - $19 = (_ttUSHORT($18)|0); - $20 = $19&65535; - $21 = (($20) + ($16))|0; - $22 = ($21>>>0)>($unicode_codepoint>>>0); - if (!($22)) { - $$0 = 0; - return ($$0|0); - } - $$sum30 = (($3) + 10)|0; - $23 = (($unicode_codepoint) - ($16))|0; - $24 = $23 << 1; - $$sum31 = (($$sum30) + ($24))|0; - $25 = (($1) + ($$sum31)|0); - $26 = (_ttUSHORT($25)|0); - $27 = $26&65535; - $$0 = $27; - return ($$0|0); - } else if ((($5<<16>>16) == 0)) { - $$sum32 = (($3) + 2)|0; - $6 = (($1) + ($$sum32)|0); - $7 = (_ttUSHORT($6)|0); - $8 = $7&65535; - $9 = (($8) + -6)|0; - $10 = ($9|0)>($unicode_codepoint|0); - if (!($10)) { - $$0 = 0; - return ($$0|0); - } - $$sum33 = (($unicode_codepoint) + 6)|0; - $$sum34 = (($$sum33) + ($3))|0; - $11 = (($1) + ($$sum34)|0); - $12 = HEAP8[$11>>0]|0; - $13 = $12&255; - $$0 = $13; - return ($$0|0); + $1 = (_stbi__check_png_header($0)|0); + _stbi__rewind($0); + return ($1|0); +} +function _stbi__png_load($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + var $6 = 0, $7 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $6 = sp; + HEAP32[$6>>2] = $0; + $7 = (_stbi__do_png($6,$1,$2,$3,$4,$5)|0); + STACKTOP = sp;return ($7|0); +} +function _stbi__do_png($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + var $$ = 0, $$0 = 0, $$045 = 0, $$1 = 0, $$2 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; + var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $6 = ($4>>>0)>(4); + if ($6) { + _stbi__err(13801); + $$045 = 0; + return ($$045|0); + } + $7 = (_stbi__parse_png_file($0,0,$4)|0); + $8 = ($7|0)==(0); + if ($8) { + $$2 = 0; } else { - $87 = ($5<<16>>16)==(12); - $88 = $5 & -2; - $switch = ($88<<16>>16)==(12); - if (!($switch)) { - ___assert_fail((27216|0),(15032|0),1125,(15056|0)); - // unreachable; - } - $$sum = (($3) + 12)|0; - $89 = (($1) + ($$sum)|0); - $90 = (_ttULONG($89)|0); - $$sum1 = (($3) + 16)|0; - $high$0$ph = $90;$low$0$ph = 0; - L40: while(1) { - $high$0 = $high$0$ph; - while(1) { - $91 = ($high$0|0)>($low$0$ph|0); - if (!($91)) { - $$0 = 0; - label = 27; - break L40; - } - $92 = (($high$0) - ($low$0$ph))|0; - $93 = $92 >> 1; - $94 = (($93) + ($low$0$ph))|0; - $95 = ($94*12)|0; - $$sum2 = (($$sum1) + ($95))|0; - $96 = (($1) + ($$sum2)|0); - $97 = (_ttULONG($96)|0); - $98 = ($97>>>0)>($unicode_codepoint>>>0); - if ($98) { - $high$0 = $94; - } else { - $$lcssa = $94;$$lcssa50 = $97;$$sum2$lcssa = $$sum2;$high$0$lcssa49 = $high$0; - break; - } - } - $$sum3 = (($$sum2$lcssa) + 4)|0; - $99 = (($1) + ($$sum3)|0); - $100 = (_ttULONG($99)|0); - $101 = ($100>>>0)<($unicode_codepoint>>>0); - $102 = (($$lcssa) + 1)|0; - if ($101) { - $high$0$ph = $high$0$lcssa49;$low$0$ph = $102; + $9 = ((($0)) + 16|0); + $10 = HEAP32[$9>>2]|0; + $11 = ($10|0)>(8); + $$ = $11 ? $10 : 8; + HEAP32[$5>>2] = $$; + $12 = ((($0)) + 12|0); + $13 = HEAP32[$12>>2]|0; + HEAP32[$12>>2] = 0; + $14 = ($4|0)==(0); + if ($14) { + $$1 = $13; + } else { + $15 = HEAP32[$0>>2]|0; + $16 = ((($15)) + 12|0); + $17 = HEAP32[$16>>2]|0; + $18 = ($17|0)==($4|0); + if ($18) { + $$1 = $13; } else { - $$lcssa50$lcssa = $$lcssa50;$$sum2$lcssa$lcssa = $$sum2$lcssa; - break; + $19 = HEAP32[$5>>2]|0; + $20 = ($19|0)==(8); + $21 = ((($15)) + 4|0); + $22 = HEAP32[$21>>2]|0; + $23 = HEAP32[$15>>2]|0; + if ($20) { + $24 = (_stbi__convert_format($13,$17,$4,$23,$22)|0); + $$0 = $24; + } else { + $25 = (_stbi__convert_format16($13,$17,$4,$23,$22)|0); + $$0 = $25; + } + $26 = HEAP32[$0>>2]|0; + $27 = ((($26)) + 12|0); + HEAP32[$27>>2] = $4; + $28 = ($$0|0)==(0|0); + if ($28) { + $$045 = 0; + return ($$045|0); + } else { + $$1 = $$0; + } } } - if ((label|0) == 27) { - return ($$0|0); + $29 = HEAP32[$0>>2]|0; + $30 = HEAP32[$29>>2]|0; + HEAP32[$1>>2] = $30; + $31 = ((($29)) + 4|0); + $32 = HEAP32[$31>>2]|0; + HEAP32[$2>>2] = $32; + $33 = ($3|0)==(0|0); + if ($33) { + $$2 = $$1; + } else { + $34 = ((($29)) + 8|0); + $35 = HEAP32[$34>>2]|0; + HEAP32[$3>>2] = $35; + $$2 = $$1; } - $$sum4 = (($$sum2$lcssa$lcssa) + 8)|0; - $103 = (($1) + ($$sum4)|0); - $104 = (_ttULONG($103)|0); - if (!($87)) { - $$0 = $104; - return ($$0|0); - } - $105 = (($unicode_codepoint) - ($$lcssa50$lcssa))|0; - $106 = (($105) + ($104))|0; - $$0 = $106; - return ($$0|0); } - return (0)|0; + $36 = ((($0)) + 12|0); + $37 = HEAP32[$36>>2]|0; + _free($37); + HEAP32[$36>>2] = 0; + $38 = ((($0)) + 8|0); + $39 = HEAP32[$38>>2]|0; + _free($39); + HEAP32[$38>>2] = 0; + $40 = ((($0)) + 4|0); + $41 = HEAP32[$40>>2]|0; + _free($41); + HEAP32[$40>>2] = 0; + $$045 = $$2; + return ($$045|0); } -function _stbtt_GetGlyphShape($info,$glyph_index,$pvertices) { - $info = $info|0; - $glyph_index = $glyph_index|0; - $pvertices = $pvertices|0; - var $$0 = 0, $$sum = 0, $$sum2 = 0, $$sum3 = 0, $$sum4 = 0, $$sum5 = 0, $$sum6 = 0, $$sum7 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0; - var $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0; - var $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0; - var $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0.0; - var $163 = 0, $164 = 0, $165 = 0.0, $166 = 0, $167 = 0, $168 = 0.0, $169 = 0, $17 = 0, $170 = 0, $171 = 0.0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0.0, $177 = 0.0, $178 = 0, $179 = 0, $18 = 0, $180 = 0; - var $181 = 0, $182 = 0, $183 = 0.0, $184 = 0.0, $185 = 0, $186 = 0, $187 = 0.0, $188 = 0.0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0.0, $195 = 0.0, $196 = 0, $197 = 0, $198 = 0.0, $199 = 0.0; - var $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0.0, $203 = 0.0, $204 = 0, $205 = 0, $206 = 0, $207 = 0.0, $208 = 0.0, $209 = 0, $21 = 0, $210 = 0, $211 = 0.0, $212 = 0.0, $213 = 0.0, $214 = 0.0, $215 = 0.0, $216 = 0.0; - var $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0.0, $226 = 0.0, $227 = 0.0, $228 = 0.0, $229 = 0.0, $23 = 0, $230 = 0.0, $231 = 0.0, $232 = 0, $233 = 0.0, $234 = 0.0; - var $235 = 0.0, $236 = 0.0, $237 = 0.0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0.0, $244 = 0.0, $245 = 0.0, $246 = 0.0, $247 = 0.0, $248 = 0.0, $249 = 0.0, $25 = 0, $250 = 0, $251 = 0.0, $252 = 0.0; - var $253 = 0.0, $254 = 0.0, $255 = 0.0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0; - var $271 = 0, $272 = 0, $273 = 0, $274 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; +function _stbi__parse_png_file($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$ = 0, $$$0217 = 0, $$0206 = 0, $$0211 = 0, $$0214 = 0, $$0217 = 0, $$0226593 = 0, $$0228 = 0, $$0231 = 0, $$0235 = 0, $$0239591 = 0, $$0241 = 0, $$0245 = 0, $$1207 = 0, $$1212 = 0, $$1215 = 0, $$1218 = 0, $$1227588 = 0, $$1229 = 0, $$1240589 = 0; + var $$1246 = 0, $$2219 = 0, $$2233 = 0, $$2237 = 0, $$2243 = 0, $$254 = 0, $$3209 = 0, $$3220 = 0, $$4 = 0, $$6$ph = 0, $$7 = 0, $$lobit = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0; + var $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0; + var $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0; + var $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0; + var $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0; + var $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0; + var $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $22 = 0, $23 = 0; + var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0; var $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0; var $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0; - var $97 = 0, $98 = 0, $99 = 0, $comp$046 = 0, $comp$1 = 0, $comp$2 = 0, $comp_verts = 0, $cx$024 = 0, $cx$1 = 0, $cx$1$lcssa = 0, $cy$025 = 0, $cy$1 = 0, $cy$1$lcssa = 0, $exitcond = 0, $exitcond51 = 0, $exitcond52 = 0, $exitcond53 = 0, $flagcount$043 = 0, $flagcount$1 = 0, $flags$044 = 0; - var $flags$1 = 0, $i$042 = 0, $i$140 = 0, $i$237 = 0, $i$333 = 0, $i$4 = 0, $i$5 = 0, $i2$045 = 0, $j$032 = 0, $j$1 = 0, $mtx$sroa$0$0 = 0.0, $mtx$sroa$15$0 = 0.0, $mtx$sroa$22$0 = 0.0, $mtx$sroa$29$0 = 0.0, $mtx$sroa$33$0 = 0.0, $mtx$sroa$8$0 = 0.0, $next_move$031 = 0, $next_move$1 = 0, $num_vertices$034 = 0, $num_vertices$1 = 0; - var $num_vertices$3 = 0, $num_vertices$3$lcssa = 0, $num_vertices$447 = 0, $num_vertices$5 = 0, $num_vertices$6 = 0, $points$041 = 0, $points$1 = 0, $points$1$lcssa = 0, $points$239 = 0, $points$3 = 0, $points$3$lcssa = 0, $points$436 = 0, $points$5 = 0, $scx$028 = 0, $scx$1 = 0, $scx$2 = 0, $scx$2$lcssa = 0, $scy$029 = 0, $scy$1 = 0, $scy$2 = 0; - var $scy$2$lcssa = 0, $sext = 0, $sext8 = 0, $sqrtf = 0.0, $sqrtf1 = 0.0, $start_off$023 = 0, $start_off$1 = 0, $start_off$1$lcssa = 0, $sx$026 = 0, $sx$1 = 0, $sx$2 = 0, $sx$2$lcssa = 0, $sy$027 = 0, $sy$1 = 0, $sy$2 = 0, $sy$2$lcssa = 0, $vertices$048 = 0, $vertices$048$lcssa60 = 0, $vertices$1 = 0, $vertices$2 = 0; - var $was_off$030 = 0, $was_off$1 = 0, $was_off$1$lcssa = 0, $x$038 = 0, $x$1 = 0, $y$035 = 0, $y$1 = 0, label = 0, sp = 0; + var $97 = 0, $98 = 0, $99 = 0, $notlhs = 0, $notrhs = 0, $or$cond = 0, $or$cond11 = 0, $or$cond248 = 0, $or$cond5$not = 0, $or$cond7 = 0, $switch$split112D = 0, $switch$split142D = 0, $switch$split2D = 0, $switch$split52D = 0, $switch$split82D = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $comp_verts = sp; - $0 = ((($info)) + 4|0); - $1 = HEAP32[$0>>2]|0; - $2 = (_stbtt__GetGlyfOffset($info,$glyph_index)|0); - HEAP32[$pvertices>>2] = 0; - $3 = ($2|0)<(0); - if ($3) { - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $4 = (($1) + ($2)|0); - $5 = (_ttSHORT($4)|0); - $6 = ($5<<16>>16)>(0); - L4: do { - if ($6) { - $7 = $5 << 16 >> 16; - $$sum2 = (($2) + 10)|0; - $8 = $7 << 1; - $$sum3 = (($8) + ($$sum2))|0; - $9 = (($1) + ($$sum3)|0); - $10 = (_ttUSHORT($9)|0); - $$sum6 = (($$sum3) + -2)|0; - $11 = (($1) + ($$sum6)|0); - $12 = (_ttUSHORT($11)|0); - $13 = $12&65535; - $14 = (($13) + 1)|0; - $15 = (($14) + ($8))|0; - $16 = ($15*10)|0; - $17 = (_malloc($16)|0); - $18 = ($17|0)==(0|0); - if ($18) { - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $$sum4 = (($$sum3) + 2)|0; - $19 = $10&65535; - $$sum5 = (($$sum4) + ($19))|0; - $20 = (($1) + ($$sum5)|0); - $21 = $12&65535; - $flagcount$043 = 0;$flags$044 = 0;$i$042 = 0;$points$041 = $20; - while(1) { - $23 = ($flagcount$043<<24>>24)==(0); - if ($23) { - $24 = ((($points$041)) + 1|0); - $25 = HEAP8[$points$041>>0]|0; - $26 = $25 & 8; - $27 = ($26<<24>>24)==(0); - if ($27) { - $flagcount$1 = 0;$flags$1 = $25;$points$1 = $24; - } else { - $28 = ((($points$041)) + 2|0); - $29 = HEAP8[$24>>0]|0; - $flagcount$1 = $29;$flags$1 = $25;$points$1 = $28; - } - } else { - $30 = (($flagcount$043) + -1)<<24>>24; - $flagcount$1 = $30;$flags$1 = $flags$044;$points$1 = $points$041; - } - $31 = (($i$042) + ($8))|0; - $32 = (((($17) + (($31*10)|0)|0)) + 8|0); - HEAP8[$32>>0] = $flags$1; - $33 = (($i$042) + 1)|0; - $exitcond52 = ($i$042|0)==($21|0); - if ($exitcond52) { - $points$1$lcssa = $points$1; - break; - } else { - $flagcount$043 = $flagcount$1;$flags$044 = $flags$1;$i$042 = $33;$points$041 = $points$1; - } - } - $22 = $12&65535; - $i$140 = 0;$points$239 = $points$1$lcssa;$x$038 = 0; - while(1) { - $35 = (($i$140) + ($8))|0; - $36 = (((($17) + (($35*10)|0)|0)) + 8|0); - $37 = HEAP8[$36>>0]|0; - $38 = $37&255; - $39 = $38 & 2; - $40 = ($39|0)==(0); - if ($40) { - $49 = $38 & 16; - $50 = ($49|0)==(0); - if ($50) { - $51 = HEAP8[$points$239>>0]|0; - $52 = $51&255; - $53 = $52 << 8; - $54 = ((($points$239)) + 1|0); - $55 = HEAP8[$54>>0]|0; - $56 = $55&255; - $57 = $53 | $56; - $sext8 = $57 << 16; - $58 = $sext8 >> 16; - $59 = (($58) + ($x$038))|0; - $60 = ((($points$239)) + 2|0); - $points$3 = $60;$x$1 = $59; - } else { - $points$3 = $points$239;$x$1 = $x$038; - } - } else { - $41 = ((($points$239)) + 1|0); - $42 = HEAP8[$points$239>>0]|0; - $43 = $38 & 16; - $44 = ($43|0)!=(0); - $45 = $42&255; - $46 = (0 - ($45))|0; - $47 = $44 ? $45 : $46; - $48 = (($47) + ($x$038))|0; - $points$3 = $41;$x$1 = $48; - } - $61 = $x$1&65535; - $62 = (($17) + (($35*10)|0)|0); - HEAP16[$62>>1] = $61; - $63 = (($i$140) + 1)|0; - $exitcond51 = ($i$140|0)==($22|0); - if ($exitcond51) { - $points$3$lcssa = $points$3; - break; - } else { - $i$140 = $63;$points$239 = $points$3;$x$038 = $x$1; - } - } - $34 = $12&65535; - $i$237 = 0;$points$436 = $points$3$lcssa;$y$035 = 0; - while(1) { - $64 = (($i$237) + ($8))|0; - $65 = (((($17) + (($64*10)|0)|0)) + 8|0); - $66 = HEAP8[$65>>0]|0; - $67 = $66&255; - $68 = $67 & 4; - $69 = ($68|0)==(0); - if ($69) { - $78 = $67 & 32; - $79 = ($78|0)==(0); - if ($79) { - $80 = HEAP8[$points$436>>0]|0; - $81 = $80&255; - $82 = $81 << 8; - $83 = ((($points$436)) + 1|0); - $84 = HEAP8[$83>>0]|0; - $85 = $84&255; - $86 = $82 | $85; - $sext = $86 << 16; - $87 = $sext >> 16; - $88 = (($87) + ($y$035))|0; - $89 = ((($points$436)) + 2|0); - $points$5 = $89;$y$1 = $88; - } else { - $points$5 = $points$436;$y$1 = $y$035; - } - } else { - $70 = ((($points$436)) + 1|0); - $71 = HEAP8[$points$436>>0]|0; - $72 = $67 & 32; - $73 = ($72|0)!=(0); - $74 = $71&255; - $75 = (0 - ($74))|0; - $76 = $73 ? $74 : $75; - $77 = (($76) + ($y$035))|0; - $points$5 = $70;$y$1 = $77; - } - $90 = $y$1&65535; - $91 = (((($17) + (($64*10)|0)|0)) + 2|0); - HEAP16[$91>>1] = $90; - $92 = (($i$237) + 1)|0; - $exitcond = ($i$237|0)==($34|0); - if ($exitcond) { - $cx$024 = 0;$cy$025 = 0;$i$333 = 0;$j$032 = 0;$next_move$031 = 0;$num_vertices$034 = 0;$scx$028 = 0;$scy$029 = 0;$start_off$023 = 0;$sx$026 = 0;$sy$027 = 0;$was_off$030 = 0; - break; - } else { - $i$237 = $92;$points$436 = $points$5;$y$035 = $y$1; - } - } - while(1) { - $93 = (($i$333) + ($8))|0; - $94 = (((($17) + (($93*10)|0)|0)) + 8|0); - $95 = HEAP8[$94>>0]|0; - $96 = (($17) + (($93*10)|0)|0); - $97 = HEAP16[$96>>1]|0; - $98 = $97 << 16 >> 16; - $99 = (((($17) + (($93*10)|0)|0)) + 2|0); - $100 = HEAP16[$99>>1]|0; - $101 = $100 << 16 >> 16; - $102 = ($next_move$031|0)==($i$333|0); - do { - if ($102) { - $103 = ($i$333|0)==(0); - if ($103) { - $num_vertices$1 = $num_vertices$034; - } else { - $104 = (_stbtt__close_shape($17,$num_vertices$034,$was_off$030,$start_off$023,$sx$026,$sy$027,$scx$028,$scy$029,$cx$024,$cy$025)|0); - $num_vertices$1 = $104; - } - $105 = $95 & 1; - $106 = ($105<<24>>24)==(0); - $107 = $105 ^ 1; - $108 = $107&255; - do { - if ($106) { - $109 = (($93) + 1)|0; - $110 = (((($17) + (($109*10)|0)|0)) + 8|0); - $111 = HEAP8[$110>>0]|0; - $112 = $111 & 1; - $113 = ($112<<24>>24)==(0); - $114 = (($17) + (($109*10)|0)|0); - $115 = HEAP16[$114>>1]|0; - $116 = $115 << 16 >> 16; - if ($113) { - $117 = (($116) + ($98))|0; - $118 = $117 >> 1; - $119 = (((($17) + (($109*10)|0)|0)) + 2|0); - $120 = HEAP16[$119>>1]|0; - $121 = $120 << 16 >> 16; - $122 = (($121) + ($101))|0; - $123 = $122 >> 1; - $i$4 = $i$333;$scx$1 = $98;$scy$1 = $101;$sx$1 = $118;$sy$1 = $123; - break; - } else { - $124 = (((($17) + (($109*10)|0)|0)) + 2|0); - $125 = HEAP16[$124>>1]|0; - $126 = $125 << 16 >> 16; - $127 = (($i$333) + 1)|0; - $i$4 = $127;$scx$1 = $98;$scy$1 = $101;$sx$1 = $116;$sy$1 = $126; - break; - } - } else { - $i$4 = $i$333;$scx$1 = $scx$028;$scy$1 = $scy$029;$sx$1 = $98;$sy$1 = $101; - } - } while(0); - $128 = (($num_vertices$1) + 1)|0; - $129 = (($17) + (($num_vertices$1*10)|0)|0); - _stbtt_setvertex($129,1,$sx$1,$sy$1,0,0); - $130 = $j$032 << 1; - $$sum7 = (($130) + ($$sum2))|0; - $131 = (($1) + ($$sum7)|0); - $132 = (_ttUSHORT($131)|0); - $133 = $132&65535; - $134 = (($133) + 1)|0; - $135 = (($j$032) + 1)|0; - $cx$1 = $cx$024;$cy$1 = $cy$025;$i$5 = $i$4;$j$1 = $135;$next_move$1 = $134;$num_vertices$3 = $128;$scx$2 = $scx$1;$scy$2 = $scy$1;$start_off$1 = $108;$sx$2 = $sx$1;$sy$2 = $sy$1;$was_off$1 = 0; - } else { - $136 = $95 & 1; - $137 = ($136<<24>>24)==(0); - $138 = ($was_off$030|0)!=(0); - if ($137) { - if (!($138)) { - $cx$1 = $98;$cy$1 = $101;$i$5 = $i$333;$j$1 = $j$032;$next_move$1 = $next_move$031;$num_vertices$3 = $num_vertices$034;$scx$2 = $scx$028;$scy$2 = $scy$029;$start_off$1 = $start_off$023;$sx$2 = $sx$026;$sy$2 = $sy$027;$was_off$1 = 1; - break; - } - $139 = (($num_vertices$034) + 1)|0; - $140 = (($17) + (($num_vertices$034*10)|0)|0); - $141 = (($98) + ($cx$024))|0; - $142 = $141 >> 1; - $143 = (($101) + ($cy$025))|0; - $144 = $143 >> 1; - _stbtt_setvertex($140,3,$142,$144,$cx$024,$cy$025); - $cx$1 = $98;$cy$1 = $101;$i$5 = $i$333;$j$1 = $j$032;$next_move$1 = $next_move$031;$num_vertices$3 = $139;$scx$2 = $scx$028;$scy$2 = $scy$029;$start_off$1 = $start_off$023;$sx$2 = $sx$026;$sy$2 = $sy$027;$was_off$1 = 1; - break; - } - $145 = (($num_vertices$034) + 1)|0; - $146 = (($17) + (($num_vertices$034*10)|0)|0); - if ($138) { - _stbtt_setvertex($146,3,$98,$101,$cx$024,$cy$025); - $cx$1 = $cx$024;$cy$1 = $cy$025;$i$5 = $i$333;$j$1 = $j$032;$next_move$1 = $next_move$031;$num_vertices$3 = $145;$scx$2 = $scx$028;$scy$2 = $scy$029;$start_off$1 = $start_off$023;$sx$2 = $sx$026;$sy$2 = $sy$027;$was_off$1 = 0; - break; - } else { - _stbtt_setvertex($146,2,$98,$101,0,0); - $cx$1 = $cx$024;$cy$1 = $cy$025;$i$5 = $i$333;$j$1 = $j$032;$next_move$1 = $next_move$031;$num_vertices$3 = $145;$scx$2 = $scx$028;$scy$2 = $scy$029;$start_off$1 = $start_off$023;$sx$2 = $sx$026;$sy$2 = $sy$027;$was_off$1 = 0; - break; - } - } - } while(0); - $147 = (($i$5) + 1)|0; - $148 = ($147|0)<($14|0); - if ($148) { - $cx$024 = $cx$1;$cy$025 = $cy$1;$i$333 = $147;$j$032 = $j$1;$next_move$031 = $next_move$1;$num_vertices$034 = $num_vertices$3;$scx$028 = $scx$2;$scy$029 = $scy$2;$start_off$023 = $start_off$1;$sx$026 = $sx$2;$sy$027 = $sy$2;$was_off$030 = $was_off$1; - } else { - $cx$1$lcssa = $cx$1;$cy$1$lcssa = $cy$1;$num_vertices$3$lcssa = $num_vertices$3;$scx$2$lcssa = $scx$2;$scy$2$lcssa = $scy$2;$start_off$1$lcssa = $start_off$1;$sx$2$lcssa = $sx$2;$sy$2$lcssa = $sy$2;$was_off$1$lcssa = $was_off$1; - break; - } - } - $149 = (_stbtt__close_shape($17,$num_vertices$3$lcssa,$was_off$1$lcssa,$start_off$1$lcssa,$sx$2$lcssa,$sy$2$lcssa,$scx$2$lcssa,$scy$2$lcssa,$cx$1$lcssa,$cy$1$lcssa)|0); - $num_vertices$6 = $149;$vertices$2 = $17; - } else { - $150 = ($5<<16>>16)==(-1); - if (!($150)) { - $274 = ($5<<16>>16)<(0); - if (!($274)) { - $num_vertices$6 = 0;$vertices$2 = 0; - break; - } - ___assert_fail((27216|0),(15032|0),1420,(15136|0)); - // unreachable; - } - $$sum = (($2) + 10)|0; - $151 = (($1) + ($$sum)|0); - $comp$046 = $151;$num_vertices$447 = 0;$vertices$048 = 0; - while(1) { - HEAP32[$comp_verts>>2] = 0; - $152 = (_ttSHORT($comp$046)|0); - $153 = ((($comp$046)) + 2|0); - $154 = (_ttSHORT($153)|0); - $155 = ((($comp$046)) + 4|0); - $156 = $152&65535; - $157 = $156 & 2; - $158 = ($157|0)==(0); - if ($158) { - label = 44; - break; - } - $159 = $156 & 1; - $160 = ($159|0)==(0); - if ($160) { - $167 = HEAP8[$155>>0]|0; - $168 = (+($167<<24>>24)); - $169 = ((($comp$046)) + 5|0); - $170 = HEAP8[$169>>0]|0; - $171 = (+($170<<24>>24)); - $172 = ((($comp$046)) + 6|0); - $179 = 8;$190 = 10;$205 = 12;$210 = 14;$comp$1 = $172;$mtx$sroa$29$0 = $168;$mtx$sroa$33$0 = $171; - } else { - $161 = (_ttSHORT($155)|0); - $162 = (+($161<<16>>16)); - $163 = ((($comp$046)) + 6|0); - $164 = (_ttSHORT($163)|0); - $165 = (+($164<<16>>16)); - $166 = ((($comp$046)) + 8|0); - $179 = 10;$190 = 12;$205 = 14;$210 = 16;$comp$1 = $166;$mtx$sroa$29$0 = $162;$mtx$sroa$33$0 = $165; - } - $173 = $156 & 8; - $174 = ($173|0)==(0); - do { - if ($174) { - $180 = $156 & 64; - $181 = ($180|0)==(0); - if (!($181)) { - $182 = (_ttSHORT($comp$1)|0); - $183 = (+($182<<16>>16)); - $184 = $183 * 6.103515625E-5; - $185 = (($comp$046) + ($179)|0); - $186 = (_ttSHORT($185)|0); - $187 = (+($186<<16>>16)); - $188 = $187 * 6.103515625E-5; - $189 = (($comp$046) + ($190)|0); - $comp$2 = $189;$mtx$sroa$0$0 = $184;$mtx$sroa$15$0 = 0.0;$mtx$sroa$22$0 = $188;$mtx$sroa$8$0 = 0.0; - break; - } - $191 = $156 & 128; - $192 = ($191|0)==(0); - if ($192) { - $comp$2 = $comp$1;$mtx$sroa$0$0 = 1.0;$mtx$sroa$15$0 = 0.0;$mtx$sroa$22$0 = 1.0;$mtx$sroa$8$0 = 0.0; - } else { - $193 = (_ttSHORT($comp$1)|0); - $194 = (+($193<<16>>16)); - $195 = $194 * 6.103515625E-5; - $196 = (($comp$046) + ($179)|0); - $197 = (_ttSHORT($196)|0); - $198 = (+($197<<16>>16)); - $199 = $198 * 6.103515625E-5; - $200 = (($comp$046) + ($190)|0); - $201 = (_ttSHORT($200)|0); - $202 = (+($201<<16>>16)); - $203 = $202 * 6.103515625E-5; - $204 = (($comp$046) + ($205)|0); - $206 = (_ttSHORT($204)|0); - $207 = (+($206<<16>>16)); - $208 = $207 * 6.103515625E-5; - $209 = (($comp$046) + ($210)|0); - $comp$2 = $209;$mtx$sroa$0$0 = $195;$mtx$sroa$15$0 = $203;$mtx$sroa$22$0 = $208;$mtx$sroa$8$0 = $199; - } - } else { - $175 = (_ttSHORT($comp$1)|0); - $176 = (+($175<<16>>16)); - $177 = $176 * 6.103515625E-5; - $178 = (($comp$046) + ($179)|0); - $comp$2 = $178;$mtx$sroa$0$0 = $177;$mtx$sroa$15$0 = 0.0;$mtx$sroa$22$0 = $177;$mtx$sroa$8$0 = 0.0; - } - } while(0); - $211 = $mtx$sroa$0$0 * $mtx$sroa$0$0; - $212 = $mtx$sroa$8$0 * $mtx$sroa$8$0; - $213 = $212 + $211; - $sqrtf = (+Math_sqrt((+$213))); - $214 = $mtx$sroa$15$0 * $mtx$sroa$15$0; - $215 = $mtx$sroa$22$0 * $mtx$sroa$22$0; - $216 = $215 + $214; - $sqrtf1 = (+Math_sqrt((+$216))); - $217 = $154&65535; - $218 = (_stbtt_GetGlyphShape($info,$217,$comp_verts)|0); - $219 = ($218|0)>(0); - if ($219) { - $220 = HEAP32[$comp_verts>>2]|0; - $i2$045 = 0; - while(1) { - $221 = (($220) + (($i2$045*10)|0)|0); - $222 = HEAP16[$221>>1]|0; - $223 = (((($220) + (($i2$045*10)|0)|0)) + 2|0); - $224 = HEAP16[$223>>1]|0; - $225 = (+($222<<16>>16)); - $226 = $mtx$sroa$0$0 * $225; - $227 = (+($224<<16>>16)); - $228 = $mtx$sroa$15$0 * $227; - $229 = $226 + $228; - $230 = $mtx$sroa$29$0 + $229; - $231 = $sqrtf * $230; - $232 = (~~(($231))); - HEAP16[$221>>1] = $232; - $233 = $mtx$sroa$8$0 * $225; - $234 = $mtx$sroa$22$0 * $227; - $235 = $233 + $234; - $236 = $mtx$sroa$33$0 + $235; - $237 = $sqrtf1 * $236; - $238 = (~~(($237))); - HEAP16[$223>>1] = $238; - $239 = (((($220) + (($i2$045*10)|0)|0)) + 4|0); - $240 = HEAP16[$239>>1]|0; - $241 = (((($220) + (($i2$045*10)|0)|0)) + 6|0); - $242 = HEAP16[$241>>1]|0; - $243 = (+($240<<16>>16)); - $244 = $mtx$sroa$0$0 * $243; - $245 = (+($242<<16>>16)); - $246 = $mtx$sroa$15$0 * $245; - $247 = $244 + $246; - $248 = $mtx$sroa$29$0 + $247; - $249 = $sqrtf * $248; - $250 = (~~(($249))); - HEAP16[$239>>1] = $250; - $251 = $mtx$sroa$8$0 * $243; - $252 = $mtx$sroa$22$0 * $245; - $253 = $251 + $252; - $254 = $mtx$sroa$33$0 + $253; - $255 = $sqrtf1 * $254; - $256 = (~~(($255))); - HEAP16[$241>>1] = $256; - $257 = (($i2$045) + 1)|0; - $exitcond53 = ($257|0)==($218|0); - if ($exitcond53) { - break; - } else { - $i2$045 = $257; - } - } - $258 = (($218) + ($num_vertices$447))|0; - $259 = ($258*10)|0; - $260 = (_malloc($259)|0); - $261 = ($260|0)==(0|0); - if ($261) { - $vertices$048$lcssa60 = $vertices$048; - break; - } - $265 = ($num_vertices$447|0)>(0); - if ($265) { - $266 = ($num_vertices$447*10)|0; - _memcpy(($260|0),($vertices$048|0),($266|0))|0; - } - $267 = (($260) + (($num_vertices$447*10)|0)|0); - $268 = HEAP32[$comp_verts>>2]|0; - $269 = ($218*10)|0; - _memcpy(($267|0),($268|0),($269|0))|0; - $270 = ($vertices$048|0)==(0|0); - if (!($270)) { - _free($vertices$048); - } - $271 = HEAP32[$comp_verts>>2]|0; - _free($271); - $num_vertices$5 = $258;$vertices$1 = $260; - } else { - $num_vertices$5 = $num_vertices$447;$vertices$1 = $vertices$048; - } - $272 = $156 & 32; - $273 = ($272|0)==(0); - if ($273) { - $num_vertices$6 = $num_vertices$5;$vertices$2 = $vertices$1; - break L4; - } else { - $comp$046 = $comp$2;$num_vertices$447 = $num_vertices$5;$vertices$048 = $vertices$1; - } - } - if ((label|0) == 44) { - ___assert_fail((27216|0),(15032|0),1367,(15136|0)); - // unreachable; - } - $262 = ($vertices$048$lcssa60|0)==(0|0); - if (!($262)) { - _free($vertices$048$lcssa60); - } - $263 = HEAP32[$comp_verts>>2]|0; - $264 = ($263|0)==(0|0); - if ($264) { - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - _free($263); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - } while(0); - HEAP32[$pvertices>>2] = $vertices$2; - $$0 = $num_vertices$6; - STACKTOP = sp;return ($$0|0); -} -function _stbtt_GetGlyphBox($info,$glyph_index,$x0,$y0,$x1,$y1) { - $info = $info|0; - $glyph_index = $glyph_index|0; - $x0 = $x0|0; - $y0 = $y0|0; - $x1 = $x1|0; - $y1 = $y1|0; - var $$0 = 0, $$sum = 0, $$sum1 = 0, $$sum2 = 0, $$sum3 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0; - var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_stbtt__GetGlyfOffset($info,$glyph_index)|0); - $1 = ($0|0)<(0); - if ($1) { - $$0 = 0; - return ($$0|0); - } - $2 = ($x0|0)==(0|0); - if (!($2)) { - $3 = ((($info)) + 4|0); - $4 = HEAP32[$3>>2]|0; - $$sum3 = (($0) + 2)|0; - $5 = (($4) + ($$sum3)|0); - $6 = (_ttSHORT($5)|0); - $7 = $6 << 16 >> 16; - HEAP32[$x0>>2] = $7; - } - $8 = ($y0|0)==(0|0); - if (!($8)) { - $9 = ((($info)) + 4|0); - $10 = HEAP32[$9>>2]|0; - $$sum2 = (($0) + 4)|0; - $11 = (($10) + ($$sum2)|0); - $12 = (_ttSHORT($11)|0); - $13 = $12 << 16 >> 16; - HEAP32[$y0>>2] = $13; - } - $14 = ($x1|0)==(0|0); - if (!($14)) { - $15 = ((($info)) + 4|0); - $16 = HEAP32[$15>>2]|0; - $$sum1 = (($0) + 6)|0; - $17 = (($16) + ($$sum1)|0); - $18 = (_ttSHORT($17)|0); - $19 = $18 << 16 >> 16; - HEAP32[$x1>>2] = $19; - } - $20 = ($y1|0)==(0|0); - if ($20) { - $$0 = 1; - return ($$0|0); - } - $21 = ((($info)) + 4|0); - $22 = HEAP32[$21>>2]|0; - $$sum = (($0) + 8)|0; - $23 = (($22) + ($$sum)|0); - $24 = (_ttSHORT($23)|0); - $25 = $24 << 16 >> 16; - HEAP32[$y1>>2] = $25; - $$0 = 1; - return ($$0|0); -} -function _stbtt_GetGlyphHMetrics($info,$glyph_index,$advanceWidth,$leftSideBearing) { - $info = $info|0; - $glyph_index = $glyph_index|0; - $advanceWidth = $advanceWidth|0; - $leftSideBearing = $leftSideBearing|0; - var $$sum = 0, $$sum1 = 0, $$sum2 = 0, $$sum3 = 0, $$sum47 = 0, $$sum5 = 0, $$sum6 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0; - var $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0; - var $39 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($info)) + 4|0); - $1 = HEAP32[$0>>2]|0; - $2 = ((($info)) + 28|0); - $3 = HEAP32[$2>>2]|0; - $$sum = (($3) + 34)|0; - $4 = (($1) + ($$sum)|0); - $5 = (_ttUSHORT($4)|0); - $6 = $5&65535; - $7 = ($6|0)>($glyph_index|0); - $8 = ($advanceWidth|0)!=(0|0); - if ($7) { - if ($8) { - $9 = ((($info)) + 32|0); - $10 = HEAP32[$9>>2]|0; - $11 = $glyph_index << 2; - $$sum6 = (($10) + ($11))|0; - $12 = (($1) + ($$sum6)|0); - $13 = (_ttSHORT($12)|0); - $14 = $13 << 16 >> 16; - HEAP32[$advanceWidth>>2] = $14; - } - $15 = ($leftSideBearing|0)==(0|0); - if ($15) { - return; - } - $16 = HEAP32[$0>>2]|0; - $17 = ((($info)) + 32|0); - $18 = HEAP32[$17>>2]|0; - $19 = $glyph_index << 2; - $$sum47 = $19 | 2; - $$sum5 = (($$sum47) + ($18))|0; - $20 = (($16) + ($$sum5)|0); - $21 = (_ttSHORT($20)|0); - $22 = $21 << 16 >> 16; - HEAP32[$leftSideBearing>>2] = $22; - return; - } else { - if ($8) { - $23 = ((($info)) + 32|0); - $24 = HEAP32[$23>>2]|0; - $25 = $6 << 2; - $26 = (($25) + -4)|0; - $$sum3 = (($26) + ($24))|0; - $27 = (($1) + ($$sum3)|0); - $28 = (_ttSHORT($27)|0); - $29 = $28 << 16 >> 16; - HEAP32[$advanceWidth>>2] = $29; - } - $30 = ($leftSideBearing|0)==(0|0); - if ($30) { - return; - } - $31 = HEAP32[$0>>2]|0; - $32 = ((($info)) + 32|0); - $33 = HEAP32[$32>>2]|0; - $34 = $6 << 2; - $35 = (($glyph_index) - ($6))|0; - $36 = $35 << 1; - $$sum1 = (($36) + ($34))|0; - $$sum2 = (($$sum1) + ($33))|0; - $37 = (($31) + ($$sum2)|0); - $38 = (_ttSHORT($37)|0); - $39 = $38 << 16 >> 16; - HEAP32[$leftSideBearing>>2] = $39; - return; - } -} -function _stbtt_ScaleForPixelHeight($info,$height) { - $info = $info|0; - $height = +$height; - var $$sum = 0, $$sum1 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0.0, $12 = 0.0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($info)) + 4|0); - $1 = HEAP32[$0>>2]|0; - $2 = ((($info)) + 28|0); - $3 = HEAP32[$2>>2]|0; - $$sum = (($3) + 4)|0; - $4 = (($1) + ($$sum)|0); - $5 = (_ttSHORT($4)|0); - $6 = $5 << 16 >> 16; - $$sum1 = (($3) + 6)|0; - $7 = (($1) + ($$sum1)|0); - $8 = (_ttSHORT($7)|0); - $9 = $8 << 16 >> 16; - $10 = (($6) - ($9))|0; - $11 = (+($10|0)); - $12 = $height / $11; - return (+$12); -} -function _stbtt_ScaleForMappingEmToPixels($info,$pixels) { - $info = $info|0; - $pixels = +$pixels; - var $$sum = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0.0, $8 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($info)) + 4|0); - $1 = HEAP32[$0>>2]|0; - $2 = ((($info)) + 20|0); - $3 = HEAP32[$2>>2]|0; - $$sum = (($3) + 18)|0; - $4 = (($1) + ($$sum)|0); - $5 = (_ttUSHORT($4)|0); - $6 = $5&65535; - $7 = (+($6|0)); - $8 = $pixels / $7; - return (+$8); -} -function _stbtt_GetGlyphBitmapBoxSubpixel($font,$glyph,$scale_x,$scale_y,$shift_x,$shift_y,$ix0,$iy0,$ix1,$iy1) { - $font = $font|0; - $glyph = $glyph|0; - $scale_x = +$scale_x; - $scale_y = +$scale_y; - $shift_x = +$shift_x; - $shift_y = +$shift_y; - $ix0 = $ix0|0; - $iy0 = $iy0|0; - $ix1 = $ix1|0; - $iy1 = $iy1|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0.0, $28 = 0.0, $29 = 0.0, $3 = 0, $30 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0.0, $8 = 0.0, $9 = 0.0, $ceilf = 0.0, $ceilf1 = 0.0, $floorf = 0.0, $floorf2 = 0.0, $x0 = 0, $x1 = 0, $y0 = 0, $y1 = 0, label = 0; - var sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $x0 = sp + 12|0; - $y0 = sp; - $x1 = sp + 4|0; - $y1 = sp + 8|0; - $0 = (_stbtt_GetGlyphBox($font,$glyph,$x0,$y0,$x1,$y1)|0); - $1 = ($0|0)==(0); - $2 = ($ix0|0)!=(0|0); - if ($1) { - if ($2) { - HEAP32[$ix0>>2] = 0; - } - $3 = ($iy0|0)==(0|0); - if (!($3)) { - HEAP32[$iy0>>2] = 0; - } - $4 = ($ix1|0)==(0|0); - if (!($4)) { - HEAP32[$ix1>>2] = 0; - } - $5 = ($iy1|0)==(0|0); - if ($5) { - STACKTOP = sp;return; - } - HEAP32[$iy1>>2] = 0; - STACKTOP = sp;return; - } else { - if ($2) { - $6 = HEAP32[$x0>>2]|0; - $7 = (+($6|0)); - $8 = $7 * $scale_x; - $9 = $8 + $shift_x; - $floorf2 = (+Math_floor((+$9))); - $10 = (~~(($floorf2))); - HEAP32[$ix0>>2] = $10; - } - $11 = ($iy0|0)==(0|0); - if (!($11)) { - $12 = HEAP32[$y1>>2]|0; - $13 = (0 - ($12))|0; - $14 = (+($13|0)); - $15 = $14 * $scale_y; - $16 = $15 + $shift_y; - $floorf = (+Math_floor((+$16))); - $17 = (~~(($floorf))); - HEAP32[$iy0>>2] = $17; - } - $18 = ($ix1|0)==(0|0); - if (!($18)) { - $19 = HEAP32[$x1>>2]|0; - $20 = (+($19|0)); - $21 = $20 * $scale_x; - $22 = $21 + $shift_x; - $ceilf1 = (+Math_ceil((+$22))); - $23 = (~~(($ceilf1))); - HEAP32[$ix1>>2] = $23; - } - $24 = ($iy1|0)==(0|0); - if ($24) { - STACKTOP = sp;return; - } - $25 = HEAP32[$y0>>2]|0; - $26 = (0 - ($25))|0; - $27 = (+($26|0)); - $28 = $27 * $scale_y; - $29 = $28 + $shift_y; - $ceilf = (+Math_ceil((+$29))); - $30 = (~~(($ceilf))); - HEAP32[$iy1>>2] = $30; - STACKTOP = sp;return; - } -} -function _stbtt_GetGlyphBitmapBox($font,$glyph,$scale_x,$scale_y,$ix0,$iy0,$ix1,$iy1) { - $font = $font|0; - $glyph = $glyph|0; - $scale_x = +$scale_x; - $scale_y = +$scale_y; - $ix0 = $ix0|0; - $iy0 = $iy0|0; - $ix1 = $ix1|0; - $iy1 = $iy1|0; - var label = 0, sp = 0; - sp = STACKTOP; - _stbtt_GetGlyphBitmapBoxSubpixel($font,$glyph,$scale_x,$scale_y,0.0,0.0,$ix0,$iy0,$ix1,$iy1); - return; -} -function _stbtt_GetCodepointBitmapBoxSubpixel($font,$codepoint,$scale_x,$scale_y,$shift_x,$shift_y,$ix0,$iy0,$ix1,$iy1) { - $font = $font|0; - $codepoint = $codepoint|0; - $scale_x = +$scale_x; - $scale_y = +$scale_y; - $shift_x = +$shift_x; - $shift_y = +$shift_y; - $ix0 = $ix0|0; - $iy0 = $iy0|0; - $ix1 = $ix1|0; - $iy1 = $iy1|0; - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_stbtt_FindGlyphIndex($font,$codepoint)|0); - _stbtt_GetGlyphBitmapBoxSubpixel($font,$0,$scale_x,$scale_y,$shift_x,$shift_y,$ix0,$iy0,$ix1,$iy1); - return; -} -function _stbtt_Rasterize($result,$flatness_in_pixels,$vertices,$num_verts,$scale_x,$scale_y,$shift_x,$shift_y,$x_off,$y_off,$invert,$userdata) { - $result = $result|0; - $flatness_in_pixels = +$flatness_in_pixels; - $vertices = $vertices|0; - $num_verts = $num_verts|0; - $scale_x = +$scale_x; - $scale_y = +$scale_y; - $shift_x = +$shift_x; - $shift_y = +$shift_y; - $x_off = $x_off|0; - $y_off = $y_off|0; - $invert = $invert|0; - $userdata = $userdata|0; - var $0 = 0, $1 = 0.0, $2 = 0.0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $winding_count = 0, $winding_lengths = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $winding_count = sp + 4|0; - $winding_lengths = sp; - $0 = $scale_x > $scale_y; - $1 = $0 ? $scale_y : $scale_x; - $2 = $flatness_in_pixels / $1; - $3 = (_stbtt_FlattenCurves($vertices,$num_verts,$2,$winding_lengths,$winding_count)|0); - $4 = ($3|0)==(0|0); - if ($4) { - STACKTOP = sp;return; - } - $5 = HEAP32[$winding_lengths>>2]|0; - $6 = HEAP32[$winding_count>>2]|0; - _stbtt__rasterize($result,$3,$5,$6,$scale_x,$scale_y,$shift_x,$shift_y,$x_off,$y_off,$invert); - $7 = HEAP32[$winding_lengths>>2]|0; - _free($7); - _free($3); - STACKTOP = sp;return; -} -function _stbtt_MakeGlyphBitmapSubpixel($info,$output,$out_w,$out_h,$out_stride,$scale_x,$scale_y,$shift_x,$shift_y,$glyph) { - $info = $info|0; - $output = $output|0; - $out_w = $out_w|0; - $out_h = $out_h|0; - $out_stride = $out_stride|0; - $scale_x = +$scale_x; - $scale_y = +$scale_y; - $shift_x = +$shift_x; - $shift_y = +$shift_y; - $glyph = $glyph|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $gbm = 0, $ix0 = 0, $iy0 = 0, $or$cond = 0, $vertices = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $ix0 = sp + 24|0; - $iy0 = sp; - $vertices = sp + 4|0; - $gbm = sp + 8|0; - $0 = (_stbtt_GetGlyphShape($info,$glyph,$vertices)|0); - _stbtt_GetGlyphBitmapBoxSubpixel($info,$glyph,$scale_x,$scale_y,$shift_x,$shift_y,$ix0,$iy0,0,0); - $1 = ((($gbm)) + 12|0); - HEAP32[$1>>2] = $output; - HEAP32[$gbm>>2] = $out_w; - $2 = ((($gbm)) + 4|0); - HEAP32[$2>>2] = $out_h; - $3 = ((($gbm)) + 8|0); - HEAP32[$3>>2] = $out_stride; - $4 = HEAP32[$gbm>>2]|0; - $5 = ($4|0)==(0); - $6 = HEAP32[$2>>2]|0; - $7 = ($6|0)==(0); - $or$cond = $5 | $7; - if ($or$cond) { - $11 = HEAP32[$vertices>>2]|0; - _free($11); - STACKTOP = sp;return; - } - $8 = HEAP32[$vertices>>2]|0; - $9 = HEAP32[$ix0>>2]|0; - $10 = HEAP32[$iy0>>2]|0; - _stbtt_Rasterize($gbm,0.34999999403953552,$8,$0,$scale_x,$scale_y,$shift_x,$shift_y,$9,$10,1,0); - $11 = HEAP32[$vertices>>2]|0; - _free($11); - STACKTOP = sp;return; -} -function _stbtt_PackBegin($spc,$pixels,$pw,$ph,$stride_in_bytes,$padding,$alloc_context) { - $spc = $spc|0; - $pixels = $pixels|0; - $pw = $pw|0; - $ph = $ph|0; - $stride_in_bytes = $stride_in_bytes|0; - $padding = $padding|0; - $alloc_context = $alloc_context|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; - var $or$cond = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_malloc(48)|0); - $1 = (($pw) - ($padding))|0; - $2 = $1 << 3; - $3 = (_malloc($2)|0); - $4 = ($0|0)==(0|0); - $5 = ($3|0)==(0|0); - $or$cond = $4 | $5; - if (!($or$cond)) { - HEAP32[$spc>>2] = $alloc_context; - $6 = ((($spc)) + 8|0); - HEAP32[$6>>2] = $pw; - $7 = ((($spc)) + 12|0); - HEAP32[$7>>2] = $ph; - $8 = ((($spc)) + 32|0); - HEAP32[$8>>2] = $pixels; - $9 = ((($spc)) + 4|0); - HEAP32[$9>>2] = $0; - $10 = ((($spc)) + 36|0); - HEAP32[$10>>2] = $3; - $11 = ((($spc)) + 20|0); - HEAP32[$11>>2] = $padding; - $12 = ($stride_in_bytes|0)!=(0); - $13 = $12 ? $stride_in_bytes : $pw; - $14 = ((($spc)) + 16|0); - HEAP32[$14>>2] = $13; - $15 = ((($spc)) + 24|0); - HEAP32[$15>>2] = 1; - $16 = ((($spc)) + 28|0); - HEAP32[$16>>2] = 1; - $17 = (($ph) - ($padding))|0; - _stbrp_init_target($0,$1,$17,$3,$1); - $18 = Math_imul($ph, $pw)|0; - _memset(($pixels|0),0,($18|0))|0; - $$0 = 1; - return ($$0|0); - } - if (!($4)) { - _free($0); - } - if ($5) { - $$0 = 0; - return ($$0|0); - } - _free($3); - $$0 = 0; - return ($$0|0); -} -function _stbtt_PackEnd($spc) { - $spc = $spc|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($spc)) + 36|0); - $1 = HEAP32[$0>>2]|0; - _free($1); - $2 = ((($spc)) + 4|0); - $3 = HEAP32[$2>>2]|0; - _free($3); - return; -} -function _stbtt_PackSetOversampling($spc,$h_oversample,$v_oversample) { - $spc = $spc|0; - $h_oversample = $h_oversample|0; - $v_oversample = $v_oversample|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ($h_oversample>>>0)<(9); - if (!($0)) { - ___assert_fail((15160|0),(15032|0),2193,(15184|0)); - // unreachable; - } - $1 = ($v_oversample>>>0)<(9); - if ($1) { - $2 = ((($spc)) + 24|0); - HEAP32[$2>>2] = $h_oversample; - $3 = ((($spc)) + 28|0); - HEAP32[$3>>2] = $v_oversample; - return; - } else { - ___assert_fail((15216|0),(15032|0),2194,(15184|0)); - // unreachable; - } -} -function _stbtt_PackFontRanges($spc,$fontdata,$font_index,$ranges,$num_ranges) { - $spc = $spc|0; - $fontdata = $fontdata|0; - $font_index = $font_index|0; - $ranges = $ranges|0; - $num_ranges = $num_ranges|0; - var $$0 = 0, $$lcssa52 = 0, $$sum = 0, $$sum1 = 0, $$sum2 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0; - var $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0.0, $126 = 0.0, $127 = 0.0, $128 = 0, $129 = 0.0; - var $13 = 0, $130 = 0.0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0; - var $148 = 0, $149 = 0.0, $15 = 0, $150 = 0.0, $151 = 0.0, $152 = 0.0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0; - var $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0; - var $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0.0, $20 = 0, $200 = 0.0; - var $201 = 0.0, $202 = 0, $203 = 0, $204 = 0.0, $205 = 0.0, $206 = 0.0, $207 = 0, $208 = 0, $209 = 0.0, $21 = 0, $210 = 0.0, $211 = 0.0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0.0, $218 = 0.0, $219 = 0.0; - var $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0.0, $226 = 0.0, $227 = 0.0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; - var $28 = 0, $29 = 0, $3 = 0.0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0.0, $39 = 0, $4 = 0, $40 = 0.0, $41 = 0.0, $42 = 0.0, $43 = 0, $44 = 0, $45 = 0; - var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0.0, $51 = 0.0, $52 = 0.0, $53 = 0, $54 = 0.0, $55 = 0.0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0.0, $60 = 0, $61 = 0, $62 = 0, $63 = 0; - var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0.0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0.0, $80 = 0, $81 = 0; - var $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0.0, $87 = 0, $88 = 0.0, $89 = 0.0, $9 = 0.0, $90 = 0.0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $advance = 0; - var $exitcond = 0, $exitcond42 = 0, $exitcond43 = 0, $exitcond44 = 0, $i$039 = 0, $i$132 = 0, $i$226 = 0, $i$314 = 0, $info = 0, $j$036 = 0, $j$120 = 0, $j$29 = 0, $k$025 = 0, $k$1$lcssa = 0, $k$1$lcssa$lcssa = 0, $k$119 = 0, $k$213 = 0, $k$3$lcssa = 0, $k$38 = 0, $lsb = 0; - var $n$0$lcssa = 0, $n$031 = 0, $phitmp = 0, $return_value$0$lcssa = 0, $return_value$012 = 0, $return_value$1$lcssa = 0, $return_value$17 = 0, $return_value$2 = 0, $x0 = 0, $x03 = 0, $x1 = 0, $x15 = 0, $y0 = 0, $y04 = 0, $y1 = 0, $y16 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 96|0; - $info = sp + 40|0; - $x0 = sp + 36|0; - $y0 = sp + 32|0; - $x1 = sp + 28|0; - $y1 = sp + 24|0; - $advance = sp + 20|0; - $lsb = sp + 12|0; - $x03 = sp + 8|0; - $y04 = sp + 4|0; - $x15 = sp; - $y16 = sp + 16|0; - $0 = ((($spc)) + 24|0); - $1 = HEAP32[$0>>2]|0; - $2 = (+($1>>>0)); - $3 = 1.0 / $2; - $4 = ((($spc)) + 28|0); - $5 = HEAP32[$4>>2]|0; - $6 = (+($5>>>0)); - $7 = 1.0 / $6; - $8 = (+_stbtt__oversample_shift($1)); - $9 = (+_stbtt__oversample_shift($5)); - $10 = ((($spc)) + 4|0); - $11 = HEAP32[$10>>2]|0; - $12 = ($num_ranges|0)>(0); - if ($12) { - $i$039 = 0; - while(1) { - $13 = (((($ranges) + ($i$039<<4)|0)) + 8|0); - $14 = HEAP32[$13>>2]|0; - $15 = ($14|0)>(0); - if ($15) { - $16 = (((($ranges) + ($i$039<<4)|0)) + 12|0); - $17 = HEAP32[$16>>2]|0; - $18 = HEAP32[$13>>2]|0; - $j$036 = 0; - while(1) { - $20 = (($17) + (($j$036*28)|0)|0); - $21 = (($j$036) + 1)|0; - $22 = ($21|0)<($18|0); - $23 = $20; - $24 = $23; - HEAP16[$24>>1]=0&65535;HEAP16[$24+2>>1]=0>>>16; - $25 = (($23) + 4)|0; - $26 = $25; - HEAP16[$26>>1]=0&65535;HEAP16[$26+2>>1]=0>>>16; - if ($22) { - $j$036 = $21; - } else { - break; - } - } - } - $27 = (($i$039) + 1)|0; - $exitcond44 = ($27|0)==($num_ranges|0); - if ($exitcond44) { - break; - } else { - $i$039 = $27; - } - } - $19 = ($num_ranges|0)>(0); - if ($19) { - $i$132 = 0;$n$031 = 0; - while(1) { - $28 = (((($ranges) + ($i$132<<4)|0)) + 8|0); - $29 = HEAP32[$28>>2]|0; - $30 = (($29) + ($n$031))|0; - $31 = (($i$132) + 1)|0; - $exitcond43 = ($31|0)==($num_ranges|0); - if ($exitcond43) { - $$lcssa52 = $30; - break; - } else { - $i$132 = $31;$n$031 = $30; - } - } - $phitmp = $$lcssa52 << 4; - $n$0$lcssa = $phitmp; - } else { - $n$0$lcssa = 0; - } - } else { - $n$0$lcssa = 0; - } - $32 = (_malloc($n$0$lcssa)|0); - $33 = ($32|0)==(0|0); - if ($33) { - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $34 = (_stbtt_GetFontOffsetForIndex($fontdata,$font_index)|0); - (_stbtt_InitFont($info,$fontdata,$34)|0); - $35 = ($num_ranges|0)>(0); - if ($35) { - $36 = ((($spc)) + 20|0); - $i$226 = 0;$k$025 = 0; - while(1) { - $37 = (($ranges) + ($i$226<<4)|0); - $38 = +HEAPF32[$37>>2]; - $39 = $38 > 0.0; - if ($39) { - $40 = (+_stbtt_ScaleForPixelHeight($info,$38)); - $52 = $40; - } else { - $41 = -$38; - $42 = (+_stbtt_ScaleForMappingEmToPixels($info,$41)); - $52 = $42; - } - $43 = (((($ranges) + ($i$226<<4)|0)) + 8|0); - $44 = HEAP32[$43>>2]|0; - $45 = ($44|0)>(0); - if ($45) { - $46 = (((($ranges) + ($i$226<<4)|0)) + 4|0); - $j$120 = 0;$k$119 = $k$025; - while(1) { - $47 = HEAP32[$46>>2]|0; - $48 = (($47) + ($j$120))|0; - $49 = HEAP32[$0>>2]|0; - $50 = (+($49>>>0)); - $51 = $52 * $50; - $53 = HEAP32[$4>>2]|0; - $54 = (+($53>>>0)); - $55 = $52 * $54; - _stbtt_GetCodepointBitmapBoxSubpixel($info,$48,$51,$55,0.0,0.0,$x0,$y0,$x1,$y1); - $56 = HEAP32[$x1>>2]|0; - $57 = HEAP32[$x0>>2]|0; - $58 = HEAP32[$36>>2]|0; - $59 = HEAP32[$0>>2]|0; - $60 = (($56) + 65535)|0; - $61 = (($60) - ($57))|0; - $62 = (($61) + ($58))|0; - $63 = (($62) + ($59))|0; - $64 = $63&65535; - $65 = (((($32) + ($k$119<<4)|0)) + 4|0); - HEAP16[$65>>1] = $64; - $66 = HEAP32[$y1>>2]|0; - $67 = HEAP32[$y0>>2]|0; - $68 = HEAP32[$36>>2]|0; - $69 = HEAP32[$4>>2]|0; - $70 = (($66) + 65535)|0; - $71 = (($70) - ($67))|0; - $72 = (($71) + ($68))|0; - $73 = (($72) + ($69))|0; - $74 = $73&65535; - $75 = (((($32) + ($k$119<<4)|0)) + 6|0); - HEAP16[$75>>1] = $74; - $76 = (($k$119) + 1)|0; - $77 = (($j$120) + 1)|0; - $78 = HEAP32[$43>>2]|0; - $79 = ($77|0)<($78|0); - if ($79) { - $j$120 = $77;$k$119 = $76; - } else { - $k$1$lcssa = $76; - break; - } - } - } else { - $k$1$lcssa = $k$025; - } - $80 = (($i$226) + 1)|0; - $exitcond42 = ($80|0)==($num_ranges|0); - if ($exitcond42) { - $k$1$lcssa$lcssa = $k$1$lcssa; - break; - } else { - $i$226 = $80;$k$025 = $k$1$lcssa; - } - } - _stbrp_pack_rects($11,$32,$k$1$lcssa$lcssa); - $81 = ($num_ranges|0)>(0); - if ($81) { - $82 = ((($spc)) + 20|0); - $83 = ((($spc)) + 32|0); - $84 = ((($spc)) + 16|0); - $i$314 = 0;$k$213 = 0;$return_value$012 = 1; - while(1) { - $85 = (($ranges) + ($i$314<<4)|0); - $86 = +HEAPF32[$85>>2]; - $87 = $86 > 0.0; - if ($87) { - $88 = (+_stbtt_ScaleForPixelHeight($info,$86)); - $127 = $88; - } else { - $89 = -$86; - $90 = (+_stbtt_ScaleForMappingEmToPixels($info,$89)); - $127 = $90; - } - $91 = (((($ranges) + ($i$314<<4)|0)) + 8|0); - $92 = HEAP32[$91>>2]|0; - $93 = ($92|0)>(0); - if ($93) { - $94 = (((($ranges) + ($i$314<<4)|0)) + 12|0); - $95 = (((($ranges) + ($i$314<<4)|0)) + 4|0); - $j$29 = 0;$k$38 = $k$213;$return_value$17 = $return_value$012; - while(1) { - $96 = (((($32) + ($k$38<<4)|0)) + 12|0); - $97 = HEAP32[$96>>2]|0; - $98 = ($97|0)==(0); - if ($98) { - $return_value$2 = 0; - } else { - $99 = HEAP32[$94>>2]|0; - $100 = HEAP32[$95>>2]|0; - $101 = (($100) + ($j$29))|0; - $102 = (_stbtt_FindGlyphIndex($info,$101)|0); - $103 = HEAP32[$82>>2]|0; - $104 = (((($32) + ($k$38<<4)|0)) + 8|0); - $105 = HEAP16[$104>>1]|0; - $106 = $105&65535; - $107 = (($106) + ($103))|0; - $108 = $107&65535; - HEAP16[$104>>1] = $108; - $109 = (((($32) + ($k$38<<4)|0)) + 10|0); - $110 = HEAP16[$109>>1]|0; - $111 = $110&65535; - $112 = (($111) + ($103))|0; - $113 = $112&65535; - HEAP16[$109>>1] = $113; - $114 = (((($32) + ($k$38<<4)|0)) + 4|0); - $115 = HEAP16[$114>>1]|0; - $116 = $115&65535; - $117 = (($116) - ($103))|0; - $118 = $117&65535; - HEAP16[$114>>1] = $118; - $119 = (((($32) + ($k$38<<4)|0)) + 6|0); - $120 = HEAP16[$119>>1]|0; - $121 = $120&65535; - $122 = (($121) - ($103))|0; - $123 = $122&65535; - HEAP16[$119>>1] = $123; - _stbtt_GetGlyphHMetrics($info,$102,$advance,$lsb); - $124 = HEAP32[$0>>2]|0; - $125 = (+($124>>>0)); - $126 = $127 * $125; - $128 = HEAP32[$4>>2]|0; - $129 = (+($128>>>0)); - $130 = $127 * $129; - _stbtt_GetGlyphBitmapBox($info,$102,$126,$130,$x03,$y04,$x15,$y16); - $131 = HEAP32[$83>>2]|0; - $132 = HEAP16[$104>>1]|0; - $133 = $132&65535; - $134 = HEAP16[$109>>1]|0; - $135 = $134&65535; - $136 = HEAP32[$84>>2]|0; - $137 = Math_imul($135, $136)|0; - $$sum = (($137) + ($133))|0; - $138 = (($131) + ($$sum)|0); - $139 = HEAP16[$114>>1]|0; - $140 = $139&65535; - $141 = HEAP32[$0>>2]|0; - $142 = (1 - ($141))|0; - $143 = (($142) + ($140))|0; - $144 = HEAP16[$119>>1]|0; - $145 = $144&65535; - $146 = HEAP32[$4>>2]|0; - $147 = (1 - ($146))|0; - $148 = (($147) + ($145))|0; - $149 = (+($141>>>0)); - $150 = $127 * $149; - $151 = (+($146>>>0)); - $152 = $127 * $151; - _stbtt_MakeGlyphBitmapSubpixel($info,$138,$143,$148,$136,$150,$152,0.0,0.0,$102); - $153 = HEAP32[$0>>2]|0; - $154 = ($153>>>0)>(1); - if ($154) { - $155 = HEAP32[$83>>2]|0; - $156 = HEAP16[$104>>1]|0; - $157 = $156&65535; - $158 = HEAP16[$109>>1]|0; - $159 = $158&65535; - $160 = HEAP32[$84>>2]|0; - $161 = Math_imul($159, $160)|0; - $$sum2 = (($161) + ($157))|0; - $162 = (($155) + ($$sum2)|0); - $163 = HEAP16[$114>>1]|0; - $164 = $163&65535; - $165 = HEAP16[$119>>1]|0; - $166 = $165&65535; - _stbtt__h_prefilter($162,$164,$166,$160,$153); - } - $167 = HEAP32[$4>>2]|0; - $168 = ($167>>>0)>(1); - if ($168) { - $169 = HEAP32[$83>>2]|0; - $170 = HEAP16[$104>>1]|0; - $171 = $170&65535; - $172 = HEAP16[$109>>1]|0; - $173 = $172&65535; - $174 = HEAP32[$84>>2]|0; - $175 = Math_imul($173, $174)|0; - $$sum1 = (($175) + ($171))|0; - $176 = (($169) + ($$sum1)|0); - $177 = HEAP16[$114>>1]|0; - $178 = $177&65535; - $179 = HEAP16[$119>>1]|0; - $180 = $179&65535; - _stbtt__v_prefilter($176,$178,$180,$174,$167); - } - $181 = HEAP16[$104>>1]|0; - $182 = (($99) + (($j$29*28)|0)|0); - HEAP16[$182>>1] = $181; - $183 = HEAP16[$109>>1]|0; - $184 = (((($99) + (($j$29*28)|0)|0)) + 2|0); - HEAP16[$184>>1] = $183; - $185 = HEAP16[$104>>1]|0; - $186 = $185&65535; - $187 = HEAP16[$114>>1]|0; - $188 = $187&65535; - $189 = (($188) + ($186))|0; - $190 = $189&65535; - $191 = (((($99) + (($j$29*28)|0)|0)) + 4|0); - HEAP16[$191>>1] = $190; - $192 = HEAP16[$109>>1]|0; - $193 = $192&65535; - $194 = HEAP16[$119>>1]|0; - $195 = $194&65535; - $196 = (($195) + ($193))|0; - $197 = $196&65535; - $198 = (((($99) + (($j$29*28)|0)|0)) + 6|0); - HEAP16[$198>>1] = $197; - $199 = HEAP32[$advance>>2]|0; - $200 = (+($199|0)); - $201 = $127 * $200; - $202 = (((($99) + (($j$29*28)|0)|0)) + 16|0); - HEAPF32[$202>>2] = $201; - $203 = HEAP32[$x03>>2]|0; - $204 = (+($203|0)); - $205 = $3 * $204; - $206 = $8 + $205; - $207 = (((($99) + (($j$29*28)|0)|0)) + 8|0); - HEAPF32[$207>>2] = $206; - $208 = HEAP32[$y04>>2]|0; - $209 = (+($208|0)); - $210 = $7 * $209; - $211 = $9 + $210; - $212 = (((($99) + (($j$29*28)|0)|0)) + 12|0); - HEAPF32[$212>>2] = $211; - $213 = HEAP32[$x03>>2]|0; - $214 = HEAP16[$114>>1]|0; - $215 = $214&65535; - $216 = (($215) + ($213))|0; - $217 = (+($216|0)); - $218 = $3 * $217; - $219 = $8 + $218; - $220 = (((($99) + (($j$29*28)|0)|0)) + 20|0); - HEAPF32[$220>>2] = $219; - $221 = HEAP32[$y04>>2]|0; - $222 = HEAP16[$119>>1]|0; - $223 = $222&65535; - $224 = (($223) + ($221))|0; - $225 = (+($224|0)); - $226 = $7 * $225; - $227 = $9 + $226; - $228 = (((($99) + (($j$29*28)|0)|0)) + 24|0); - HEAPF32[$228>>2] = $227; - $return_value$2 = $return_value$17; - } - $229 = (($k$38) + 1)|0; - $230 = (($j$29) + 1)|0; - $231 = HEAP32[$91>>2]|0; - $232 = ($230|0)<($231|0); - if ($232) { - $j$29 = $230;$k$38 = $229;$return_value$17 = $return_value$2; - } else { - $k$3$lcssa = $229;$return_value$1$lcssa = $return_value$2; - break; - } - } - } else { - $k$3$lcssa = $k$213;$return_value$1$lcssa = $return_value$012; - } - $233 = (($i$314) + 1)|0; - $exitcond = ($233|0)==($num_ranges|0); - if ($exitcond) { - $return_value$0$lcssa = $return_value$1$lcssa; - break; - } else { - $i$314 = $233;$k$213 = $k$3$lcssa;$return_value$012 = $return_value$1$lcssa; - } - } - } else { - $return_value$0$lcssa = 1; - } - } else { - _stbrp_pack_rects($11,$32,0); - $return_value$0$lcssa = 1; - } - _free($32); - $$0 = $return_value$0$lcssa; - STACKTOP = sp;return ($$0|0); -} -function _stbtt_PackFontRange($spc,$fontdata,$font_index,$font_size,$first_unicode_char_in_range,$num_chars_in_range,$chardata_for_range) { - $spc = $spc|0; - $fontdata = $fontdata|0; - $font_index = $font_index|0; - $font_size = +$font_size; - $first_unicode_char_in_range = $first_unicode_char_in_range|0; - $num_chars_in_range = $num_chars_in_range|0; - $chardata_for_range = $chardata_for_range|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $range = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $range = sp; - $0 = ((($range)) + 4|0); - HEAP32[$0>>2] = $first_unicode_char_in_range; - $1 = ((($range)) + 8|0); - HEAP32[$1>>2] = $num_chars_in_range; - $2 = ((($range)) + 12|0); - HEAP32[$2>>2] = $chardata_for_range; - HEAPF32[$range>>2] = $font_size; - $3 = (_stbtt_PackFontRanges($spc,$fontdata,$font_index,$range,1)|0); - STACKTOP = sp;return ($3|0); -} -function _LoadDefaultFont() { - var $$ = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; - var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $counter$011 = 0, $currentLine$06 = 0; - var $currentLine$1 = 0, $currentPosX$07 = 0, $currentPosX$1 = 0, $exitcond = 0, $i$012 = 0, $i1$010 = 0, $i2$08 = 0, $image = 0, $image$byval_copy1 = 0, $j$09 = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; - $image$byval_copy1 = sp + 44|0; - $vararg_buffer = sp; - $image = sp + 4|0; - $0 = sp + 24|0; - HEAP32[(15264)>>2] = 224; - $1 = (_malloc(65536)|0); - $i$012 = 0; - while(1) { - $2 = (($1) + ($i$012<<2)|0); - $3 = (($i$012) + 1)|0; - $exitcond = ($3|0)==(16384); - HEAP8[$2>>0]=0&255;HEAP8[$2+1>>0]=(0>>8)&255;HEAP8[$2+2>>0]=(0>>16)&255;HEAP8[$2+3>>0]=0>>24; - if ($exitcond) { - $counter$011 = 0;$i1$010 = 0; - break; - } else { - $i$012 = $3; - } - } - while(1) { - $4 = (15280 + ($counter$011<<2)|0); - $5 = HEAP32[$4>>2]|0; - $j$09 = 31; - while(1) { - $6 = 1 << $j$09; - $7 = $5 & $6; - $8 = ($7|0)==(0); - if (!($8)) { - $9 = (($j$09) + ($i1$010))|0; - $10 = (($1) + ($9<<2)|0); - HEAP8[$10>>0]=-1&255;HEAP8[$10+1>>0]=(-1>>8)&255;HEAP8[$10+2>>0]=(-1>>16)&255;HEAP8[$10+3>>0]=-1>>24; - } - $11 = (($j$09) + -1)|0; - $12 = ($j$09|0)>(0); - if ($12) { - $j$09 = $11; - } else { - break; - } - } - $13 = (($counter$011) + 1)|0; - $14 = ($counter$011|0)>(511); - $$ = $14 ? 0 : $13; - $15 = (($i1$010) + 32)|0; - $16 = ($15|0)<(16384); - if ($16) { - $counter$011 = $$;$i1$010 = $15; - } else { - break; - } - } - _LoadImageEx($image,$1,128,128); - _ImageFormat($image,2); - _free($1); - ;HEAP32[$image$byval_copy1>>2]=HEAP32[$image>>2]|0;HEAP32[$image$byval_copy1+4>>2]=HEAP32[$image+4>>2]|0;HEAP32[$image$byval_copy1+8>>2]=HEAP32[$image+8>>2]|0;HEAP32[$image$byval_copy1+12>>2]=HEAP32[$image+12>>2]|0;HEAP32[$image$byval_copy1+16>>2]=HEAP32[$image+16>>2]|0; - _LoadTextureFromImage($0,$image$byval_copy1); - ;HEAP32[15240>>2]=HEAP32[$0>>2]|0;HEAP32[15240+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[15240+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[15240+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[15240+16>>2]=HEAP32[$0+16>>2]|0; - ;HEAP32[$image$byval_copy1>>2]=HEAP32[$image>>2]|0;HEAP32[$image$byval_copy1+4>>2]=HEAP32[$image+4>>2]|0;HEAP32[$image$byval_copy1+8>>2]=HEAP32[$image+8>>2]|0;HEAP32[$image$byval_copy1+12>>2]=HEAP32[$image+12>>2]|0;HEAP32[$image$byval_copy1+16>>2]=HEAP32[$image+16>>2]|0; - _UnloadImage($image$byval_copy1); - $17 = HEAP32[(15264)>>2]|0; - $18 = $17 << 2; - $19 = (_malloc($18)|0); - HEAP32[(15268)>>2] = $19; - $20 = HEAP32[(15264)>>2]|0; - $21 = $20 << 4; - $22 = (_malloc($21)|0); - HEAP32[(15272)>>2] = $22; - $23 = HEAP32[(15264)>>2]|0; - $24 = ($23|0)>(0); - if (!($24)) { - $53 = HEAP32[(15272)>>2]|0; - $54 = ((($53)) + 12|0); - $55 = HEAP32[$54>>2]|0; - HEAP32[(15260)>>2] = $55; - $56 = HEAP32[15240>>2]|0; - HEAP32[$vararg_buffer>>2] = $56; - _TraceLog(0,18224,$vararg_buffer); - STACKTOP = sp;return; - } - $25 = HEAP32[(15268)>>2]|0; - $26 = HEAP32[(15272)>>2]|0; - $currentLine$06 = 0;$currentPosX$07 = 1;$i2$08 = 0; - while(1) { - $27 = (($i2$08) + 32)|0; - $28 = (($25) + ($i2$08<<2)|0); - HEAP32[$28>>2] = $27; - $29 = (($26) + ($i2$08<<4)|0); - HEAP32[$29>>2] = $currentPosX$07; - $30 = ($currentLine$06*11)|0; - $31 = (($30) + 1)|0; - $32 = (((($26) + ($i2$08<<4)|0)) + 4|0); - HEAP32[$32>>2] = $31; - $33 = (17328 + ($i2$08<<2)|0); - $34 = HEAP32[$33>>2]|0; - $35 = (((($26) + ($i2$08<<4)|0)) + 8|0); - HEAP32[$35>>2] = $34; - $36 = (((($26) + ($i2$08<<4)|0)) + 12|0); - HEAP32[$36>>2] = 10; - $37 = (((($26) + ($i2$08<<4)|0)) + 8|0); - $38 = HEAP32[$37>>2]|0; - $39 = (($currentPosX$07) + 1)|0; - $40 = (($39) + ($38))|0; - $41 = HEAP32[(15244)>>2]|0; - $42 = ($40|0)<($41|0); - if ($42) { - $currentLine$1 = $currentLine$06;$currentPosX$1 = $40; - } else { - $43 = (($currentLine$06) + 1)|0; - $44 = HEAP32[$33>>2]|0; - $45 = (($44) + 2)|0; - $46 = (($26) + ($i2$08<<4)|0); - HEAP32[$46>>2] = 1; - $47 = ($43*11)|0; - $48 = (($47) + 1)|0; - $49 = (((($26) + ($i2$08<<4)|0)) + 4|0); - HEAP32[$49>>2] = $48; - $currentLine$1 = $43;$currentPosX$1 = $45; - } - $50 = (($i2$08) + 1)|0; - $51 = HEAP32[(15264)>>2]|0; - $52 = ($50|0)<($51|0); - if ($52) { - $currentLine$06 = $currentLine$1;$currentPosX$07 = $currentPosX$1;$i2$08 = $50; - } else { - break; - } - } - $53 = HEAP32[(15272)>>2]|0; - $54 = ((($53)) + 12|0); - $55 = HEAP32[$54>>2]|0; - HEAP32[(15260)>>2] = $55; - $56 = HEAP32[15240>>2]|0; - HEAP32[$vararg_buffer>>2] = $56; - _TraceLog(0,18224,$vararg_buffer); - STACKTOP = sp;return; -} -function _UnloadDefaultFont() { - var $$byval_copy = 0, $0 = 0, $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $$byval_copy = sp; - ;HEAP32[$$byval_copy>>2]=HEAP32[15240>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[15240+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[15240+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[15240+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[15240+16>>2]|0; - _UnloadTexture($$byval_copy); - $0 = HEAP32[(15268)>>2]|0; - _free($0); - $1 = HEAP32[(15272)>>2]|0; - _free($1); - STACKTOP = sp;return; -} -function _LoadSpriteFont($agg$result,$fileName) { - $agg$result = $agg$result|0; - $fileName = $fileName|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $image = 0; - var $image$byval_copy6 = 0, $spriteFont = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_ptr4 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 112|0; - $image$byval_copy6 = sp + 88|0; - $vararg_buffer1 = sp; - $vararg_buffer = sp + 8|0; - $spriteFont = sp + 12|0; - $image = sp + 48|0; - $0 = sp + 108|0; - $1 = sp + 68|0; - $2 = (_GetExtension($fileName)|0); - $3 = (_strcmp($2,18272)|0); - $4 = ($3|0)==(0); - if ($4) { - _LoadRBMF($spriteFont,$fileName); - dest=$agg$result; src=$spriteFont; stop=dest+36|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; - } - $5 = (_GetExtension($fileName)|0); - $6 = (_strcmp($5,18280)|0); - $7 = ($6|0)==(0); - if ($7) { - _LoadTTF($spriteFont,$fileName); - dest=$agg$result; src=$spriteFont; stop=dest+36|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; - } else { - _LoadImage($image,$fileName); - HEAP8[$0>>0] = -1; - $8 = ((($0)) + 1|0); - HEAP8[$8>>0] = 0; - $9 = ((($0)) + 2|0); - HEAP8[$9>>0] = -1; - $10 = ((($0)) + 3|0); - HEAP8[$10>>0] = -1; - ;HEAP8[$image$byval_copy6>>0]=HEAP8[$0>>0]|0;HEAP8[$image$byval_copy6+1>>0]=HEAP8[$0+1>>0]|0;HEAP8[$image$byval_copy6+2>>0]=HEAP8[$0+2>>0]|0;HEAP8[$image$byval_copy6+3>>0]=HEAP8[$0+3>>0]|0; - _ImageToPOT($image,$image$byval_copy6); - $11 = ((($spriteFont)) + 28|0); - $12 = ((($spriteFont)) + 32|0); - ;HEAP32[$image$byval_copy6>>2]=HEAP32[$image>>2]|0;HEAP32[$image$byval_copy6+4>>2]=HEAP32[$image+4>>2]|0;HEAP32[$image$byval_copy6+8>>2]=HEAP32[$image+8>>2]|0;HEAP32[$image$byval_copy6+12>>2]=HEAP32[$image+12>>2]|0;HEAP32[$image$byval_copy6+16>>2]=HEAP32[$image+16>>2]|0; - $13 = (_ParseImageData($image$byval_copy6,$11,$12)|0); - HEAP32[$vararg_buffer>>2] = $fileName; - _TraceLog(3,18288,$vararg_buffer); - HEAP32[$vararg_buffer1>>2] = $fileName; - $vararg_ptr4 = ((($vararg_buffer1)) + 4|0); - HEAP32[$vararg_ptr4>>2] = $13; - _TraceLog(3,18328,$vararg_buffer1); - $14 = ((($spriteFont)) + 24|0); - HEAP32[$14>>2] = $13; - ;HEAP32[$image$byval_copy6>>2]=HEAP32[$image>>2]|0;HEAP32[$image$byval_copy6+4>>2]=HEAP32[$image+4>>2]|0;HEAP32[$image$byval_copy6+8>>2]=HEAP32[$image+8>>2]|0;HEAP32[$image$byval_copy6+12>>2]=HEAP32[$image+12>>2]|0;HEAP32[$image$byval_copy6+16>>2]=HEAP32[$image+16>>2]|0; - _LoadTextureFromImage($1,$image$byval_copy6); - ;HEAP32[$spriteFont>>2]=HEAP32[$1>>2]|0;HEAP32[$spriteFont+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$spriteFont+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[$spriteFont+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[$spriteFont+16>>2]=HEAP32[$1+16>>2]|0; - $15 = HEAP32[$12>>2]|0; - $16 = ((($15)) + 12|0); - $17 = HEAP32[$16>>2]|0; - $18 = ((($spriteFont)) + 20|0); - HEAP32[$18>>2] = $17; - ;HEAP32[$image$byval_copy6>>2]=HEAP32[$image>>2]|0;HEAP32[$image$byval_copy6+4>>2]=HEAP32[$image+4>>2]|0;HEAP32[$image$byval_copy6+8>>2]=HEAP32[$image+8>>2]|0;HEAP32[$image$byval_copy6+12>>2]=HEAP32[$image+12>>2]|0;HEAP32[$image$byval_copy6+16>>2]=HEAP32[$image+16>>2]|0; - _UnloadImage($image$byval_copy6); - dest=$agg$result; src=$spriteFont; stop=dest+36|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; - } -} -function _UnloadSpriteFont($spriteFont) { - $spriteFont = $spriteFont|0; - var $$byval_copy = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $$byval_copy = sp + 4|0; - $vararg_buffer = sp; - ;HEAP32[$$byval_copy>>2]=HEAP32[$spriteFont>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$spriteFont+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$spriteFont+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$spriteFont+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$spriteFont+16>>2]|0; - _UnloadTexture($$byval_copy); - $0 = ((($spriteFont)) + 28|0); - $1 = HEAP32[$0>>2]|0; - _free($1); - $2 = ((($spriteFont)) + 32|0); - $3 = HEAP32[$2>>2]|0; - _free($3); - _TraceLog(0,18368,$vararg_buffer); - STACKTOP = sp;return; -} -function _DrawText($text,$posX,$posY,$fontSize,$color) { - $text = $text|0; - $posX = $posX|0; - $posY = $posY|0; - $fontSize = $fontSize|0; - $color = $color|0; - var $$fontSize = 0, $0 = 0.0, $1 = 0, $2 = 0.0, $3 = 0, $4 = 0, $color$byval_copy = 0, $defaultFont$byval_copy = 0, $position = 0, $position$byval_copy = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; - $color$byval_copy = sp + 56|0; - $position$byval_copy = sp; - $defaultFont$byval_copy = sp + 8|0; - $position = sp + 48|0; - $0 = (+($posX|0)); - HEAPF32[$position>>2] = $0; - $1 = ((($position)) + 4|0); - $2 = (+($posY|0)); - HEAPF32[$1>>2] = $2; - $3 = ($fontSize|0)<(10); - $$fontSize = $3 ? 10 : $fontSize; - $4 = (($$fontSize|0) / 10)&-1; - dest=$defaultFont$byval_copy; src=15240; stop=dest+36|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - ;HEAP32[$position$byval_copy>>2]=HEAP32[$position>>2]|0;HEAP32[$position$byval_copy+4>>2]=HEAP32[$position+4>>2]|0; - ;HEAP8[$color$byval_copy>>0]=HEAP8[$color>>0]|0;HEAP8[$color$byval_copy+1>>0]=HEAP8[$color+1>>0]|0;HEAP8[$color$byval_copy+2>>0]=HEAP8[$color+2>>0]|0;HEAP8[$color$byval_copy+3>>0]=HEAP8[$color+3>>0]|0; - _DrawTextEx($defaultFont$byval_copy,$text,$position$byval_copy,$$fontSize,$4,$color$byval_copy); - STACKTOP = sp;return; -} -function _DrawTextEx($spriteFont,$text,$position,$fontSize,$spacing,$tint) { - $spriteFont = $spriteFont|0; - $text = $text|0; - $position = $position|0; - $fontSize = $fontSize|0; - $spacing = $spacing|0; - $tint = $tint|0; - var $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $$pr = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0.0, $12 = 0, $13 = 0.0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0.0, $21 = 0, $22 = 0; - var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0.0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0; - var $41 = 0.0, $42 = 0.0, $43 = 0.0, $44 = 0.0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0.0, $52 = 0.0, $53 = 0, $54 = 0.0, $55 = 0.0, $56 = 0, $57 = 0, $58 = 0.0, $59 = 0.0; - var $6 = 0, $60 = 0, $61 = 0, $62 = 0.0, $63 = 0.0, $64 = 0, $65 = 0, $66 = 0.0, $67 = 0.0, $68 = 0.0, $69 = 0.0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $8 = 0.0, $9 = 0.0, $i$03 = 0, $i$1$ph = 0, $i$16 = 0; - var $offsetX$05 = 0, $offsetX$2 = 0, $offsetY$04 = 0, $offsetY$17 = 0, $rec = 0, $rec$byval_copy = 0, $tint$byval_copy = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 112|0; - $tint$byval_copy = sp + 104|0; - $$byval_copy2 = sp; - $$byval_copy1 = sp + 8|0; - $rec$byval_copy = sp + 24|0; - $$byval_copy = sp + 40|0; - $rec = sp + 64|0; - $0 = sp + 80|0; - $1 = sp + 96|0; - $2 = (_strlen(($text|0))|0); - $3 = (+($fontSize|0)); - $4 = ((($spriteFont)) + 32|0); - $5 = HEAP32[$4>>2]|0; - $6 = ((($5)) + 12|0); - $7 = HEAP32[$6>>2]|0; - $8 = (+($7|0)); - $9 = $3 / $8; - $10 = ($2|0)>(0); - if (!($10)) { - STACKTOP = sp;return; - } - $11 = +HEAPF32[$position>>2]; - $12 = ((($position)) + 4|0); - $13 = +HEAPF32[$12>>2]; - $14 = ((($rec)) + 8|0); - $15 = ((($rec)) + 12|0); - $16 = ((($0)) + 4|0); - $17 = ((($0)) + 8|0); - $18 = ((($0)) + 12|0); - $19 = ((($1)) + 4|0); - $20 = (+($spacing|0)); - $21 = ((($spriteFont)) + 20|0); - $i$03 = 0;$offsetX$05 = 0;$offsetY$04 = 0; - while(1) { - $22 = (($text) + ($i$03)|0); - $23 = HEAP8[$22>>0]|0; - if ((($23<<24>>24) == -62)) { - $24 = (($i$03) + 1)|0; - $25 = (($text) + ($24)|0); - $26 = HEAP8[$25>>0]|0; - $27 = $26&255; - $28 = (($27) + -32)|0; - $29 = HEAP32[$4>>2]|0; - $30 = (($29) + ($28<<4)|0); - ;HEAP32[$rec>>2]=HEAP32[$30>>2]|0;HEAP32[$rec+4>>2]=HEAP32[$30+4>>2]|0;HEAP32[$rec+8>>2]=HEAP32[$30+8>>2]|0;HEAP32[$rec+12>>2]=HEAP32[$30+12>>2]|0; - $i$1$ph = $24; - label = 8; - } else if ((($23<<24>>24) == 10)) { - $38 = HEAP32[$21>>2]|0; - $39 = (($38|0) / 2)&-1; - $40 = (($39) + ($38))|0; - $41 = (+($40|0)); - $42 = $9 * $41; - $43 = (+($offsetY$04|0)); - $44 = $43 + $42; - $45 = (~~(($44))); - HEAP32[$rec>>2] = -1; - $i$16 = $i$03;$offsetX$2 = 0;$offsetY$17 = $45; - } else if ((($23<<24>>24) == -61)) { - $31 = (($i$03) + 1)|0; - $32 = (($text) + ($31)|0); - $33 = HEAP8[$32>>0]|0; - $34 = $33&255; - $35 = (($34) + 32)|0; - $36 = HEAP32[$4>>2]|0; - $37 = (($36) + ($35<<4)|0); - ;HEAP32[$rec>>2]=HEAP32[$37>>2]|0;HEAP32[$rec+4>>2]=HEAP32[$37+4>>2]|0;HEAP32[$rec+8>>2]=HEAP32[$37+8>>2]|0;HEAP32[$rec+12>>2]=HEAP32[$37+12>>2]|0; - $i$1$ph = $31; - label = 8; - } else { - $46 = $23 << 24 >> 24; - $47 = (($46) + -32)|0; - $48 = HEAP32[$4>>2]|0; - $49 = (($48) + ($47<<4)|0); - ;HEAP32[$rec>>2]=HEAP32[$49>>2]|0;HEAP32[$rec+4>>2]=HEAP32[$49+4>>2]|0;HEAP32[$rec+8>>2]=HEAP32[$49+8>>2]|0;HEAP32[$rec+12>>2]=HEAP32[$49+12>>2]|0; - $i$1$ph = $i$03; - label = 8; - } - if ((label|0) == 8) { - label = 0; - $$pr = HEAP32[$rec>>2]|0; - $50 = ($$pr|0)>(0); - if ($50) { - $51 = (+($offsetX$05|0)); - $52 = $51 + $11; - $53 = (~~(($52))); - $54 = (+($offsetY$04|0)); - $55 = $54 + $13; - $56 = (~~(($55))); - $57 = HEAP32[$14>>2]|0; - $58 = (+($57|0)); - $59 = $9 * $58; - $60 = (~~(($59))); - $61 = HEAP32[$15>>2]|0; - $62 = (+($61|0)); - $63 = $9 * $62; - $64 = (~~(($63))); - HEAP32[$0>>2] = $53; - HEAP32[$16>>2] = $56; - HEAP32[$17>>2] = $60; - HEAP32[$18>>2] = $64; - HEAPF32[$1>>2] = 0.0; - HEAPF32[$19>>2] = 0.0; - ;HEAP32[$$byval_copy>>2]=HEAP32[$spriteFont>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$spriteFont+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$spriteFont+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$spriteFont+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$spriteFont+16>>2]|0; - ;HEAP32[$rec$byval_copy>>2]=HEAP32[$rec>>2]|0;HEAP32[$rec$byval_copy+4>>2]=HEAP32[$rec+4>>2]|0;HEAP32[$rec$byval_copy+8>>2]=HEAP32[$rec+8>>2]|0;HEAP32[$rec$byval_copy+12>>2]=HEAP32[$rec+12>>2]|0; - ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0; - ;HEAP32[$$byval_copy2>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$1+4>>2]|0; - ;HEAP8[$tint$byval_copy>>0]=HEAP8[$tint>>0]|0;HEAP8[$tint$byval_copy+1>>0]=HEAP8[$tint+1>>0]|0;HEAP8[$tint$byval_copy+2>>0]=HEAP8[$tint+2>>0]|0;HEAP8[$tint$byval_copy+3>>0]=HEAP8[$tint+3>>0]|0; - _DrawTexturePro($$byval_copy,$rec$byval_copy,$$byval_copy1,$$byval_copy2,0.0,$tint$byval_copy); - $65 = HEAP32[$14>>2]|0; - $66 = (+($65|0)); - $67 = $9 * $66; - $68 = $20 + $67; - $69 = $51 + $68; - $70 = (~~(($69))); - $i$16 = $i$1$ph;$offsetX$2 = $70;$offsetY$17 = $offsetY$04; - } else { - $i$16 = $i$1$ph;$offsetX$2 = $offsetX$05;$offsetY$17 = $offsetY$04; - } - } - $71 = (($i$16) + 1)|0; - $72 = ($71|0)<($2|0); - if ($72) { - $i$03 = $71;$offsetX$05 = $offsetX$2;$offsetY$04 = $offsetY$17; - } else { - break; - } - } - STACKTOP = sp;return; -} -function _VectorLength($v) { - $v = $v|0; - var $0 = 0.0, $1 = 0.0, $2 = 0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0.0, $9 = 0.0, $sqrtf = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $0 = +HEAPF32[$v>>2]; - $1 = $0 * $0; - $2 = ((($v)) + 4|0); - $3 = +HEAPF32[$2>>2]; - $4 = $3 * $3; - $5 = $1 + $4; - $6 = ((($v)) + 8|0); - $7 = +HEAPF32[$6>>2]; - $8 = $7 * $7; - $9 = $5 + $8; - $sqrtf = (+Math_sqrt((+$9))); - return (+$sqrtf); -} -function _VectorNormalize($v) { - $v = $v|0; - var $$op = 0.0, $0 = 0.0, $1 = 0, $10 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0.0, $v$byval_copy = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $v$byval_copy = sp; - ;HEAP32[$v$byval_copy>>2]=HEAP32[$v>>2]|0;HEAP32[$v$byval_copy+4>>2]=HEAP32[$v+4>>2]|0;HEAP32[$v$byval_copy+8>>2]=HEAP32[$v+8>>2]|0; - $0 = (+_VectorLength($v$byval_copy)); - $1 = $0 == 0.0; - $$op = 1.0 / $0; - $2 = $1 ? 1.0 : $$op; - $3 = +HEAPF32[$v>>2]; - $4 = $3 * $2; - HEAPF32[$v>>2] = $4; - $5 = ((($v)) + 4|0); - $6 = +HEAPF32[$5>>2]; - $7 = $2 * $6; - HEAPF32[$5>>2] = $7; - $8 = ((($v)) + 8|0); - $9 = +HEAPF32[$8>>2]; - $10 = $2 * $9; - HEAPF32[$8>>2] = $10; - STACKTOP = sp;return; -} -function _VectorTransform($v,$mat) { - $v = $v|0; - $mat = $mat|0; - var $0 = 0.0, $1 = 0, $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0, $16 = 0.0, $17 = 0.0, $18 = 0, $19 = 0.0, $2 = 0.0, $20 = 0.0, $21 = 0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0, $26 = 0.0; - var $27 = 0.0, $28 = 0.0, $29 = 0, $3 = 0, $30 = 0.0, $31 = 0.0, $32 = 0, $33 = 0.0, $34 = 0.0, $35 = 0, $36 = 0.0, $37 = 0.0, $38 = 0.0, $39 = 0, $4 = 0.0, $40 = 0.0, $41 = 0.0, $42 = 0.0, $43 = 0, $44 = 0.0; - var $45 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $0 = +HEAPF32[$v>>2]; - $1 = ((($v)) + 4|0); - $2 = +HEAPF32[$1>>2]; - $3 = ((($v)) + 8|0); - $4 = +HEAPF32[$3>>2]; - $5 = +HEAPF32[$mat>>2]; - $6 = $0 * $5; - $7 = ((($mat)) + 4|0); - $8 = +HEAPF32[$7>>2]; - $9 = $2 * $8; - $10 = $6 + $9; - $11 = ((($mat)) + 8|0); - $12 = +HEAPF32[$11>>2]; - $13 = $4 * $12; - $14 = $10 + $13; - $15 = ((($mat)) + 12|0); - $16 = +HEAPF32[$15>>2]; - $17 = $16 + $14; - HEAPF32[$v>>2] = $17; - $18 = ((($mat)) + 16|0); - $19 = +HEAPF32[$18>>2]; - $20 = $0 * $19; - $21 = ((($mat)) + 20|0); - $22 = +HEAPF32[$21>>2]; - $23 = $2 * $22; - $24 = $20 + $23; - $25 = ((($mat)) + 24|0); - $26 = +HEAPF32[$25>>2]; - $27 = $4 * $26; - $28 = $24 + $27; - $29 = ((($mat)) + 28|0); - $30 = +HEAPF32[$29>>2]; - $31 = $30 + $28; - HEAPF32[$1>>2] = $31; - $32 = ((($mat)) + 32|0); - $33 = +HEAPF32[$32>>2]; - $34 = $0 * $33; - $35 = ((($mat)) + 36|0); - $36 = +HEAPF32[$35>>2]; - $37 = $2 * $36; - $38 = $34 + $37; - $39 = ((($mat)) + 40|0); - $40 = +HEAPF32[$39>>2]; - $41 = $4 * $40; - $42 = $38 + $41; - $43 = ((($mat)) + 44|0); - $44 = +HEAPF32[$43>>2]; - $45 = $44 + $42; - HEAPF32[$3>>2] = $45; - return; -} -function _VectorZero($agg$result) { - $agg$result = $agg$result|0; - var label = 0, sp = 0; - sp = STACKTOP; - ;HEAP32[$agg$result>>2]=0|0;HEAP32[$agg$result+4>>2]=0|0;HEAP32[$agg$result+8>>2]=0|0; - return; -} -function _GetMatrixVector($mat) { - $mat = $mat|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[$mat>>2]|0; - HEAP32[18400>>2] = $0; - $1 = ((($mat)) + 4|0); - $2 = HEAP32[$1>>2]|0; - HEAP32[(18404)>>2] = $2; - $3 = ((($mat)) + 8|0); - $4 = HEAP32[$3>>2]|0; - HEAP32[(18408)>>2] = $4; - $5 = ((($mat)) + 12|0); - $6 = HEAP32[$5>>2]|0; - HEAP32[(18412)>>2] = $6; - $7 = ((($mat)) + 16|0); - $8 = HEAP32[$7>>2]|0; - HEAP32[(18416)>>2] = $8; - $9 = ((($mat)) + 20|0); - $10 = HEAP32[$9>>2]|0; - HEAP32[(18420)>>2] = $10; - $11 = ((($mat)) + 24|0); - $12 = HEAP32[$11>>2]|0; - HEAP32[(18424)>>2] = $12; - $13 = ((($mat)) + 28|0); - $14 = HEAP32[$13>>2]|0; - HEAP32[(18428)>>2] = $14; - $15 = ((($mat)) + 32|0); - $16 = HEAP32[$15>>2]|0; - HEAP32[(18432)>>2] = $16; - $17 = ((($mat)) + 36|0); - $18 = HEAP32[$17>>2]|0; - HEAP32[(18436)>>2] = $18; - $19 = ((($mat)) + 40|0); - $20 = HEAP32[$19>>2]|0; - HEAP32[(18440)>>2] = $20; - $21 = ((($mat)) + 44|0); - $22 = HEAP32[$21>>2]|0; - HEAP32[(18444)>>2] = $22; - $23 = ((($mat)) + 48|0); - $24 = HEAP32[$23>>2]|0; - HEAP32[(18448)>>2] = $24; - $25 = ((($mat)) + 52|0); - $26 = HEAP32[$25>>2]|0; - HEAP32[(18452)>>2] = $26; - $27 = ((($mat)) + 56|0); - $28 = HEAP32[$27>>2]|0; - HEAP32[(18456)>>2] = $28; - $29 = ((($mat)) + 60|0); - $30 = HEAP32[$29>>2]|0; - HEAP32[(18460)>>2] = $30; - return (18400|0); -} -function _MatrixTranspose($mat) { - $mat = $mat|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $3 = 0, $4 = 0, $5 = 0; - var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($mat)) + 4|0); - $1 = HEAP32[$0>>2]|0; - $2 = ((($mat)) + 8|0); - $3 = HEAP32[$2>>2]|0; - $4 = ((($mat)) + 12|0); - $5 = HEAP32[$4>>2]|0; - $6 = ((($mat)) + 16|0); - $7 = HEAP32[$6>>2]|0; - $8 = ((($mat)) + 24|0); - $9 = HEAP32[$8>>2]|0; - $10 = ((($mat)) + 28|0); - $11 = HEAP32[$10>>2]|0; - $12 = ((($mat)) + 32|0); - $13 = HEAP32[$12>>2]|0; - $14 = ((($mat)) + 36|0); - $15 = HEAP32[$14>>2]|0; - $16 = ((($mat)) + 44|0); - $17 = HEAP32[$16>>2]|0; - $18 = ((($mat)) + 48|0); - $19 = HEAP32[$18>>2]|0; - $20 = ((($mat)) + 52|0); - $21 = HEAP32[$20>>2]|0; - $22 = ((($mat)) + 56|0); - $23 = HEAP32[$22>>2]|0; - HEAP32[$0>>2] = $7; - HEAP32[$2>>2] = $13; - HEAP32[$4>>2] = $19; - HEAP32[$6>>2] = $1; - HEAP32[$8>>2] = $15; - HEAP32[$10>>2] = $21; - HEAP32[$12>>2] = $3; - HEAP32[$14>>2] = $9; - HEAP32[$16>>2] = $23; - HEAP32[$18>>2] = $5; - HEAP32[$20>>2] = $11; - HEAP32[$22>>2] = $17; - return; -} -function _MatrixIdentity($agg$result) { - $agg$result = $agg$result|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $result$sroa$5 = 0, $result$sroa$6 = 0, $result$sroa$7 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $result$sroa$5 = sp + 32|0; - $result$sroa$6 = sp; - $result$sroa$7 = sp + 16|0; - ;HEAP32[$result$sroa$5>>2]=0|0;HEAP32[$result$sroa$5+4>>2]=0|0;HEAP32[$result$sroa$5+8>>2]=0|0;HEAP32[$result$sroa$5+12>>2]=0|0; - ;HEAP32[$result$sroa$6>>2]=0|0;HEAP32[$result$sroa$6+4>>2]=0|0;HEAP32[$result$sroa$6+8>>2]=0|0;HEAP32[$result$sroa$6+12>>2]=0|0; - ;HEAP32[$result$sroa$7>>2]=0|0;HEAP32[$result$sroa$7+4>>2]=0|0;HEAP32[$result$sroa$7+8>>2]=0|0;HEAP32[$result$sroa$7+12>>2]=0|0; - HEAPF32[$agg$result>>2] = 1.0; - $0 = ((($agg$result)) + 4|0); - ;HEAP32[$0>>2]=HEAP32[$result$sroa$5>>2]|0;HEAP32[$0+4>>2]=HEAP32[$result$sroa$5+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$result$sroa$5+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$result$sroa$5+12>>2]|0; - $1 = ((($agg$result)) + 20|0); - HEAPF32[$1>>2] = 1.0; - $2 = ((($agg$result)) + 24|0); - ;HEAP32[$2>>2]=HEAP32[$result$sroa$6>>2]|0;HEAP32[$2+4>>2]=HEAP32[$result$sroa$6+4>>2]|0;HEAP32[$2+8>>2]=HEAP32[$result$sroa$6+8>>2]|0;HEAP32[$2+12>>2]=HEAP32[$result$sroa$6+12>>2]|0; - $3 = ((($agg$result)) + 40|0); - HEAPF32[$3>>2] = 1.0; - $4 = ((($agg$result)) + 44|0); - ;HEAP32[$4>>2]=HEAP32[$result$sroa$7>>2]|0;HEAP32[$4+4>>2]=HEAP32[$result$sroa$7+4>>2]|0;HEAP32[$4+8>>2]=HEAP32[$result$sroa$7+8>>2]|0;HEAP32[$4+12>>2]=HEAP32[$result$sroa$7+12>>2]|0; - $5 = ((($agg$result)) + 60|0); - HEAPF32[$5>>2] = 1.0; - STACKTOP = sp;return; -} -function _MatrixTranslate($agg$result,$x,$y,$z) { - $agg$result = $agg$result|0; - $x = +$x; - $y = +$y; - $z = +$z; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; - sp = STACKTOP; - HEAPF32[$agg$result>>2] = 1.0; - $0 = ((($agg$result)) + 4|0); - $1 = ((($agg$result)) + 20|0); - ;HEAP32[$0>>2]=0|0;HEAP32[$0+4>>2]=0|0;HEAP32[$0+8>>2]=0|0;HEAP32[$0+12>>2]=0|0; - HEAPF32[$1>>2] = 1.0; - $2 = ((($agg$result)) + 24|0); - $3 = ((($agg$result)) + 40|0); - ;HEAP32[$2>>2]=0|0;HEAP32[$2+4>>2]=0|0;HEAP32[$2+8>>2]=0|0;HEAP32[$2+12>>2]=0|0; - HEAPF32[$3>>2] = 1.0; - $4 = ((($agg$result)) + 44|0); - HEAPF32[$4>>2] = 0.0; - $5 = ((($agg$result)) + 48|0); - HEAPF32[$5>>2] = $x; - $6 = ((($agg$result)) + 52|0); - HEAPF32[$6>>2] = $y; - $7 = ((($agg$result)) + 56|0); - HEAPF32[$7>>2] = $z; - $8 = ((($agg$result)) + 60|0); - HEAPF32[$8>>2] = 1.0; - return; -} -function _MatrixRotate($agg$result,$angle,$axis) { - $agg$result = $agg$result|0; - $angle = +$angle; - $axis = $axis|0; - var $0 = 0.0, $1 = 0, $10 = 0, $100 = 0.0, $101 = 0.0, $102 = 0.0, $103 = 0.0, $104 = 0.0, $105 = 0.0, $106 = 0.0, $107 = 0.0, $108 = 0.0, $109 = 0.0, $11 = 0, $110 = 0.0, $111 = 0.0, $112 = 0.0, $113 = 0.0, $114 = 0.0, $115 = 0.0; - var $116 = 0.0, $117 = 0.0, $118 = 0.0, $119 = 0.0, $12 = 0.0, $120 = 0.0, $121 = 0.0, $122 = 0.0, $123 = 0.0, $124 = 0.0, $125 = 0.0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0.0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0.0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0; - var $19 = 0.0, $2 = 0.0, $20 = 0, $21 = 0.0, $22 = 0, $23 = 0.0, $24 = 0, $25 = 0.0, $26 = 0, $27 = 0.0, $28 = 0, $29 = 0.0, $3 = 0, $30 = 0, $31 = 0.0, $32 = 0, $33 = 0.0, $34 = 0, $35 = 0.0, $36 = 0; - var $37 = 0.0, $38 = 0, $39 = 0.0, $4 = 0.0, $40 = 0, $41 = 0.0, $42 = 0.0, $43 = 0.0, $44 = 0.0, $45 = 0.0, $46 = 0.0, $47 = 0.0, $48 = 0.0, $49 = 0.0, $5 = 0.0, $50 = 0.0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0.0; - var $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0.0, $60 = 0.0, $61 = 0.0, $62 = 0.0, $63 = 0.0, $64 = 0.0, $65 = 0.0, $66 = 0.0, $67 = 0.0, $68 = 0.0, $69 = 0.0, $7 = 0.0, $70 = 0.0, $71 = 0.0, $72 = 0.0; - var $73 = 0.0, $74 = 0.0, $75 = 0.0, $76 = 0.0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0.0, $80 = 0.0, $81 = 0.0, $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0.0, $86 = 0.0, $87 = 0.0, $88 = 0.0, $89 = 0.0, $9 = 0.0, $90 = 0.0; - var $91 = 0.0, $92 = 0.0, $93 = 0.0, $94 = 0.0, $95 = 0.0, $96 = 0.0, $97 = 0.0, $98 = 0.0, $99 = 0.0, $mat = 0, $or$cond = 0, $sqrtf = 0.0, $x$0 = 0.0, $y$0 = 0.0, $z$0 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; - $mat = sp; - _MatrixIdentity($mat); - $0 = +HEAPF32[$axis>>2]; - $1 = ((($axis)) + 4|0); - $2 = +HEAPF32[$1>>2]; - $3 = ((($axis)) + 8|0); - $4 = +HEAPF32[$3>>2]; - $5 = $0 * $0; - $6 = $2 * $2; - $7 = $5 + $6; - $8 = $4 * $4; - $9 = $7 + $8; - $sqrtf = (+Math_sqrt((+$9))); - $10 = $sqrtf != 1.0; - $11 = $sqrtf != 0.0; - $or$cond = $10 & $11; - if ($or$cond) { - $12 = 1.0 / $sqrtf; - $13 = $0 * $12; - $14 = $2 * $12; - $15 = $4 * $12; - $x$0 = $13;$y$0 = $14;$z$0 = $15; - } else { - $x$0 = $0;$y$0 = $2;$z$0 = $4; - } - $16 = (+Math_sin((+$angle))); - $17 = (+Math_cos((+$angle))); - $18 = 1.0 - $17; - $19 = +HEAPF32[$mat>>2]; - $20 = ((($mat)) + 16|0); - $21 = +HEAPF32[$20>>2]; - $22 = ((($mat)) + 32|0); - $23 = +HEAPF32[$22>>2]; - $24 = ((($mat)) + 48|0); - $25 = +HEAPF32[$24>>2]; - $26 = ((($mat)) + 4|0); - $27 = +HEAPF32[$26>>2]; - $28 = ((($mat)) + 20|0); - $29 = +HEAPF32[$28>>2]; - $30 = ((($mat)) + 36|0); - $31 = +HEAPF32[$30>>2]; - $32 = ((($mat)) + 52|0); - $33 = +HEAPF32[$32>>2]; - $34 = ((($mat)) + 8|0); - $35 = +HEAPF32[$34>>2]; - $36 = ((($mat)) + 24|0); - $37 = +HEAPF32[$36>>2]; - $38 = ((($mat)) + 40|0); - $39 = +HEAPF32[$38>>2]; - $40 = ((($mat)) + 56|0); - $41 = +HEAPF32[$40>>2]; - $42 = $x$0 * $x$0; - $43 = $42 * $18; - $44 = $17 + $43; - $45 = $y$0 * $x$0; - $46 = $45 * $18; - $47 = $z$0 * $16; - $48 = $47 + $46; - $49 = $z$0 * $x$0; - $50 = $49 * $18; - $51 = $y$0 * $16; - $52 = $50 - $51; - $53 = $46 - $47; - $54 = $y$0 * $y$0; - $55 = $54 * $18; - $56 = $17 + $55; - $57 = $z$0 * $y$0; - $58 = $57 * $18; - $59 = $x$0 * $16; - $60 = $59 + $58; - $61 = $51 + $50; - $62 = $58 - $59; - $63 = $z$0 * $z$0; - $64 = $63 * $18; - $65 = $17 + $64; - $66 = $19 * $44; - $67 = $48 * $27; - $68 = $66 + $67; - $69 = $52 * $35; - $70 = $68 + $69; - $71 = $21 * $44; - $72 = $48 * $29; - $73 = $71 + $72; - $74 = $52 * $37; - $75 = $73 + $74; - $76 = $23 * $44; - $77 = $48 * $31; - $78 = $76 + $77; - $79 = $52 * $39; - $80 = $78 + $79; - $81 = $44 * $25; - $82 = $48 * $33; - $83 = $81 + $82; - $84 = $52 * $41; - $85 = $83 + $84; - $86 = $19 * $53; - $87 = $56 * $27; - $88 = $86 + $87; - $89 = $60 * $35; - $90 = $88 + $89; - $91 = $21 * $53; - $92 = $56 * $29; - $93 = $91 + $92; - $94 = $60 * $37; - $95 = $93 + $94; - $96 = $23 * $53; - $97 = $56 * $31; - $98 = $96 + $97; - $99 = $60 * $39; - $100 = $98 + $99; - $101 = $53 * $25; - $102 = $56 * $33; - $103 = $101 + $102; - $104 = $60 * $41; - $105 = $103 + $104; - $106 = $19 * $61; - $107 = $62 * $27; - $108 = $106 + $107; - $109 = $65 * $35; - $110 = $108 + $109; - $111 = $21 * $61; - $112 = $62 * $29; - $113 = $111 + $112; - $114 = $65 * $37; - $115 = $113 + $114; - $116 = $23 * $61; - $117 = $62 * $31; - $118 = $116 + $117; - $119 = $65 * $39; - $120 = $118 + $119; - $121 = $61 * $25; - $122 = $62 * $33; - $123 = $121 + $122; - $124 = $65 * $41; - $125 = $123 + $124; - $126 = ((($mat)) + 12|0); - $127 = HEAP32[$126>>2]|0; - $128 = ((($mat)) + 28|0); - $129 = HEAP32[$128>>2]|0; - $130 = ((($mat)) + 44|0); - $131 = HEAP32[$130>>2]|0; - $132 = ((($mat)) + 60|0); - $133 = HEAP32[$132>>2]|0; - HEAPF32[$agg$result>>2] = $70; - $134 = ((($agg$result)) + 4|0); - HEAPF32[$134>>2] = $90; - $135 = ((($agg$result)) + 8|0); - HEAPF32[$135>>2] = $110; - $136 = ((($agg$result)) + 12|0); - HEAP32[$136>>2] = $127; - $137 = ((($agg$result)) + 16|0); - HEAPF32[$137>>2] = $75; - $138 = ((($agg$result)) + 20|0); - HEAPF32[$138>>2] = $95; - $139 = ((($agg$result)) + 24|0); - HEAPF32[$139>>2] = $115; - $140 = ((($agg$result)) + 28|0); - HEAP32[$140>>2] = $129; - $141 = ((($agg$result)) + 32|0); - HEAPF32[$141>>2] = $80; - $142 = ((($agg$result)) + 36|0); - HEAPF32[$142>>2] = $100; - $143 = ((($agg$result)) + 40|0); - HEAPF32[$143>>2] = $120; - $144 = ((($agg$result)) + 44|0); - HEAP32[$144>>2] = $131; - $145 = ((($agg$result)) + 48|0); - HEAPF32[$145>>2] = $85; - $146 = ((($agg$result)) + 52|0); - HEAPF32[$146>>2] = $105; - $147 = ((($agg$result)) + 56|0); - HEAPF32[$147>>2] = $125; - $148 = ((($agg$result)) + 60|0); - HEAP32[$148>>2] = $133; - STACKTOP = sp;return; -} -function _MatrixScale($agg$result,$x,$y,$z) { - $agg$result = $agg$result|0; - $x = +$x; - $y = +$y; - $z = +$z; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; - sp = STACKTOP; - HEAPF32[$agg$result>>2] = $x; - $0 = ((($agg$result)) + 4|0); - $1 = ((($agg$result)) + 20|0); - ;HEAP32[$0>>2]=0|0;HEAP32[$0+4>>2]=0|0;HEAP32[$0+8>>2]=0|0;HEAP32[$0+12>>2]=0|0; - HEAPF32[$1>>2] = $y; - $2 = ((($agg$result)) + 24|0); - $3 = ((($agg$result)) + 40|0); - ;HEAP32[$2>>2]=0|0;HEAP32[$2+4>>2]=0|0;HEAP32[$2+8>>2]=0|0;HEAP32[$2+12>>2]=0|0; - HEAPF32[$3>>2] = $z; - $4 = ((($agg$result)) + 44|0); - $5 = ((($agg$result)) + 60|0); - ;HEAP32[$4>>2]=0|0;HEAP32[$4+4>>2]=0|0;HEAP32[$4+8>>2]=0|0;HEAP32[$4+12>>2]=0|0; - HEAPF32[$5>>2] = 1.0; - return; -} -function _MatrixMultiply($agg$result,$left,$right) { - $agg$result = $agg$result|0; - $left = $left|0; - $right = $right|0; - var $0 = 0.0, $1 = 0, $10 = 0.0, $100 = 0.0, $101 = 0.0, $102 = 0.0, $103 = 0.0, $104 = 0.0, $105 = 0.0, $106 = 0.0, $107 = 0.0, $108 = 0.0, $109 = 0.0, $11 = 0, $110 = 0.0, $111 = 0.0, $112 = 0.0, $113 = 0.0, $114 = 0.0, $115 = 0.0; - var $116 = 0.0, $117 = 0.0, $118 = 0.0, $119 = 0.0, $12 = 0.0, $120 = 0.0, $121 = 0.0, $122 = 0.0, $123 = 0.0, $124 = 0.0, $125 = 0.0, $126 = 0.0, $127 = 0.0, $128 = 0.0, $129 = 0.0, $13 = 0, $130 = 0.0, $131 = 0.0, $132 = 0.0, $133 = 0.0; - var $134 = 0.0, $135 = 0.0, $136 = 0.0, $137 = 0.0, $138 = 0.0, $139 = 0.0, $14 = 0.0, $140 = 0.0, $141 = 0.0, $142 = 0.0, $143 = 0.0, $144 = 0.0, $145 = 0.0, $146 = 0.0, $147 = 0.0, $148 = 0.0, $149 = 0.0, $15 = 0, $150 = 0.0, $151 = 0.0; - var $152 = 0.0, $153 = 0.0, $154 = 0.0, $155 = 0.0, $156 = 0.0, $157 = 0.0, $158 = 0.0, $159 = 0.0, $16 = 0.0, $160 = 0.0, $161 = 0.0, $162 = 0.0, $163 = 0.0, $164 = 0.0, $165 = 0.0, $166 = 0.0, $167 = 0.0, $168 = 0.0, $169 = 0.0, $17 = 0; - var $170 = 0.0, $171 = 0.0, $172 = 0.0, $173 = 0.0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0.0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; - var $19 = 0, $2 = 0.0, $20 = 0.0, $21 = 0, $22 = 0.0, $23 = 0, $24 = 0.0, $25 = 0, $26 = 0.0, $27 = 0, $28 = 0.0, $29 = 0, $3 = 0, $30 = 0.0, $31 = 0.0, $32 = 0, $33 = 0.0, $34 = 0, $35 = 0.0, $36 = 0; - var $37 = 0.0, $38 = 0, $39 = 0.0, $4 = 0.0, $40 = 0, $41 = 0.0, $42 = 0, $43 = 0.0, $44 = 0, $45 = 0.0, $46 = 0, $47 = 0.0, $48 = 0, $49 = 0.0, $5 = 0, $50 = 0, $51 = 0.0, $52 = 0, $53 = 0.0, $54 = 0; - var $55 = 0.0, $56 = 0, $57 = 0.0, $58 = 0, $59 = 0.0, $6 = 0.0, $60 = 0, $61 = 0.0, $62 = 0.0, $63 = 0.0, $64 = 0.0, $65 = 0.0, $66 = 0.0, $67 = 0.0, $68 = 0.0, $69 = 0.0, $7 = 0, $70 = 0.0, $71 = 0.0, $72 = 0.0; - var $73 = 0.0, $74 = 0.0, $75 = 0.0, $76 = 0.0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0.0, $80 = 0.0, $81 = 0.0, $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0.0, $86 = 0.0, $87 = 0.0, $88 = 0.0, $89 = 0.0, $9 = 0, $90 = 0.0; - var $91 = 0.0, $92 = 0.0, $93 = 0.0, $94 = 0.0, $95 = 0.0, $96 = 0.0, $97 = 0.0, $98 = 0.0, $99 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $0 = +HEAPF32[$left>>2]; - $1 = ((($left)) + 16|0); - $2 = +HEAPF32[$1>>2]; - $3 = ((($left)) + 32|0); - $4 = +HEAPF32[$3>>2]; - $5 = ((($left)) + 48|0); - $6 = +HEAPF32[$5>>2]; - $7 = ((($left)) + 4|0); - $8 = +HEAPF32[$7>>2]; - $9 = ((($left)) + 20|0); - $10 = +HEAPF32[$9>>2]; - $11 = ((($left)) + 36|0); - $12 = +HEAPF32[$11>>2]; - $13 = ((($left)) + 52|0); - $14 = +HEAPF32[$13>>2]; - $15 = ((($left)) + 8|0); - $16 = +HEAPF32[$15>>2]; - $17 = ((($left)) + 24|0); - $18 = +HEAPF32[$17>>2]; - $19 = ((($left)) + 40|0); - $20 = +HEAPF32[$19>>2]; - $21 = ((($left)) + 56|0); - $22 = +HEAPF32[$21>>2]; - $23 = ((($left)) + 12|0); - $24 = +HEAPF32[$23>>2]; - $25 = ((($left)) + 28|0); - $26 = +HEAPF32[$25>>2]; - $27 = ((($left)) + 44|0); - $28 = +HEAPF32[$27>>2]; - $29 = ((($left)) + 60|0); - $30 = +HEAPF32[$29>>2]; - $31 = +HEAPF32[$right>>2]; - $32 = ((($right)) + 16|0); - $33 = +HEAPF32[$32>>2]; - $34 = ((($right)) + 32|0); - $35 = +HEAPF32[$34>>2]; - $36 = ((($right)) + 48|0); - $37 = +HEAPF32[$36>>2]; - $38 = ((($right)) + 4|0); - $39 = +HEAPF32[$38>>2]; - $40 = ((($right)) + 20|0); - $41 = +HEAPF32[$40>>2]; - $42 = ((($right)) + 36|0); - $43 = +HEAPF32[$42>>2]; - $44 = ((($right)) + 52|0); - $45 = +HEAPF32[$44>>2]; - $46 = ((($right)) + 8|0); - $47 = +HEAPF32[$46>>2]; - $48 = ((($right)) + 24|0); - $49 = +HEAPF32[$48>>2]; - $50 = ((($right)) + 40|0); - $51 = +HEAPF32[$50>>2]; - $52 = ((($right)) + 56|0); - $53 = +HEAPF32[$52>>2]; - $54 = ((($right)) + 12|0); - $55 = +HEAPF32[$54>>2]; - $56 = ((($right)) + 28|0); - $57 = +HEAPF32[$56>>2]; - $58 = ((($right)) + 44|0); - $59 = +HEAPF32[$58>>2]; - $60 = ((($right)) + 60|0); - $61 = +HEAPF32[$60>>2]; - $62 = $0 * $31; - $63 = $8 * $33; - $64 = $62 + $63; - $65 = $16 * $35; - $66 = $64 + $65; - $67 = $24 * $37; - $68 = $66 + $67; - $69 = $2 * $31; - $70 = $10 * $33; - $71 = $69 + $70; - $72 = $18 * $35; - $73 = $71 + $72; - $74 = $26 * $37; - $75 = $73 + $74; - $76 = $4 * $31; - $77 = $12 * $33; - $78 = $76 + $77; - $79 = $20 * $35; - $80 = $78 + $79; - $81 = $28 * $37; - $82 = $80 + $81; - $83 = $6 * $31; - $84 = $14 * $33; - $85 = $83 + $84; - $86 = $22 * $35; - $87 = $85 + $86; - $88 = $30 * $37; - $89 = $87 + $88; - $90 = $0 * $39; - $91 = $8 * $41; - $92 = $90 + $91; - $93 = $16 * $43; - $94 = $92 + $93; - $95 = $24 * $45; - $96 = $94 + $95; - $97 = $2 * $39; - $98 = $10 * $41; - $99 = $97 + $98; - $100 = $18 * $43; - $101 = $99 + $100; - $102 = $26 * $45; - $103 = $101 + $102; - $104 = $4 * $39; - $105 = $12 * $41; - $106 = $104 + $105; - $107 = $20 * $43; - $108 = $106 + $107; - $109 = $28 * $45; - $110 = $108 + $109; - $111 = $6 * $39; - $112 = $14 * $41; - $113 = $111 + $112; - $114 = $22 * $43; - $115 = $113 + $114; - $116 = $30 * $45; - $117 = $115 + $116; - $118 = $0 * $47; - $119 = $8 * $49; - $120 = $118 + $119; - $121 = $16 * $51; - $122 = $120 + $121; - $123 = $24 * $53; - $124 = $122 + $123; - $125 = $2 * $47; - $126 = $10 * $49; - $127 = $125 + $126; - $128 = $18 * $51; - $129 = $127 + $128; - $130 = $26 * $53; - $131 = $129 + $130; - $132 = $4 * $47; - $133 = $12 * $49; - $134 = $132 + $133; - $135 = $20 * $51; - $136 = $134 + $135; - $137 = $28 * $53; - $138 = $136 + $137; - $139 = $6 * $47; - $140 = $14 * $49; - $141 = $139 + $140; - $142 = $22 * $51; - $143 = $141 + $142; - $144 = $30 * $53; - $145 = $143 + $144; - $146 = $0 * $55; - $147 = $8 * $57; - $148 = $146 + $147; - $149 = $16 * $59; - $150 = $148 + $149; - $151 = $24 * $61; - $152 = $150 + $151; - $153 = $2 * $55; - $154 = $10 * $57; - $155 = $153 + $154; - $156 = $18 * $59; - $157 = $155 + $156; - $158 = $26 * $61; - $159 = $157 + $158; - $160 = $4 * $55; - $161 = $12 * $57; - $162 = $160 + $161; - $163 = $20 * $59; - $164 = $162 + $163; - $165 = $28 * $61; - $166 = $164 + $165; - $167 = $6 * $55; - $168 = $14 * $57; - $169 = $167 + $168; - $170 = $22 * $59; - $171 = $169 + $170; - $172 = $30 * $61; - $173 = $171 + $172; - HEAPF32[$agg$result>>2] = $68; - $174 = ((($agg$result)) + 4|0); - HEAPF32[$174>>2] = $96; - $175 = ((($agg$result)) + 8|0); - HEAPF32[$175>>2] = $124; - $176 = ((($agg$result)) + 12|0); - HEAPF32[$176>>2] = $152; - $177 = ((($agg$result)) + 16|0); - HEAPF32[$177>>2] = $75; - $178 = ((($agg$result)) + 20|0); - HEAPF32[$178>>2] = $103; - $179 = ((($agg$result)) + 24|0); - HEAPF32[$179>>2] = $131; - $180 = ((($agg$result)) + 28|0); - HEAPF32[$180>>2] = $159; - $181 = ((($agg$result)) + 32|0); - HEAPF32[$181>>2] = $82; - $182 = ((($agg$result)) + 36|0); - HEAPF32[$182>>2] = $110; - $183 = ((($agg$result)) + 40|0); - HEAPF32[$183>>2] = $138; - $184 = ((($agg$result)) + 44|0); - HEAPF32[$184>>2] = $166; - $185 = ((($agg$result)) + 48|0); - HEAPF32[$185>>2] = $89; - $186 = ((($agg$result)) + 52|0); - HEAPF32[$186>>2] = $117; - $187 = ((($agg$result)) + 56|0); - HEAPF32[$187>>2] = $145; - $188 = ((($agg$result)) + 60|0); - HEAPF32[$188>>2] = $173; - return; -} -function _MatrixOrtho($agg$result,$left,$right,$bottom,$top,$near,$far) { - $agg$result = $agg$result|0; - $left = +$left; - $right = +$right; - $bottom = +$bottom; - $top = +$top; - $near = +$near; - $far = +$far; - var $0 = 0.0, $1 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $2 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0.0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0; - var sp = 0; - sp = STACKTOP; - $0 = $right - $left; - $1 = $0; - $2 = $top - $bottom; - $3 = $2; - $4 = $far - $near; - $5 = $4; - $6 = 2.0 / $1; - $7 = 2.0 / $3; - $8 = -2.0 / $5; - $9 = $left + $right; - $10 = -$9; - $11 = $1; - $12 = $10 / $11; - $13 = $12; - $14 = $bottom + $top; - $15 = -$14; - $16 = $3; - $17 = $15 / $16; - $18 = $17; - $19 = $near + $far; - $20 = -$19; - $21 = $5; - $22 = $20 / $21; - $23 = $22; - HEAPF32[$agg$result>>2] = $6; - $24 = ((($agg$result)) + 4|0); - HEAPF32[$24>>2] = 0.0; - $25 = ((($agg$result)) + 8|0); - HEAPF32[$25>>2] = 0.0; - $26 = ((($agg$result)) + 12|0); - HEAPF32[$26>>2] = $13; - $27 = ((($agg$result)) + 16|0); - HEAPF32[$27>>2] = 0.0; - $28 = ((($agg$result)) + 20|0); - HEAPF32[$28>>2] = $7; - $29 = ((($agg$result)) + 24|0); - HEAPF32[$29>>2] = 0.0; - $30 = ((($agg$result)) + 28|0); - HEAPF32[$30>>2] = $18; - $31 = ((($agg$result)) + 32|0); - HEAPF32[$31>>2] = 0.0; - $32 = ((($agg$result)) + 36|0); - HEAPF32[$32>>2] = 0.0; - $33 = ((($agg$result)) + 40|0); - HEAPF32[$33>>2] = $8; - $34 = ((($agg$result)) + 44|0); - HEAPF32[$34>>2] = $23; - $35 = ((($agg$result)) + 48|0); - HEAPF32[$35>>2] = 0.0; - $36 = ((($agg$result)) + 52|0); - HEAPF32[$36>>2] = 0.0; - $37 = ((($agg$result)) + 56|0); - HEAPF32[$37>>2] = 0.0; - $38 = ((($agg$result)) + 60|0); - HEAPF32[$38>>2] = 1.0; - return; -} -function _TraceLog($msgType,$text,$varargs) { - $msgType = $msgType|0; - $text = $text|0; - $varargs = $varargs|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $args = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $args = sp; - if ((($msgType|0) == 1)) { - $1 = HEAP32[_stdout>>2]|0; - (_fwrite((18472|0),7,1,($1|0))|0); - } else if ((($msgType|0) == 3)) { - STACKTOP = sp;return; - } else if ((($msgType|0) == 2)) { - $2 = HEAP32[_stdout>>2]|0; - (_fwrite((18480|0),9,1,($2|0))|0); - } else if ((($msgType|0) == 0)) { - $0 = HEAP32[_stdout>>2]|0; - (_fwrite((18464|0),6,1,($0|0))|0); - } - HEAP32[$args>>2] = $varargs; - $3 = HEAP32[_stdout>>2]|0; - (_vfprintf(($3|0),($text|0),($args|0))|0); - $4 = HEAP32[_stdout>>2]|0; - (_fputc(10,($4|0))|0); - $5 = ($msgType|0)==(1); - if ($5) { - _exit(1); - // unreachable; - } else { - STACKTOP = sp;return; - } -} -function _GetExtension($fileName) { - $fileName = $fileName|0; - var $$0 = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $or$cond = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_strrchr($fileName,46)|0); - $1 = ($0|0)==(0|0); - $2 = ($0|0)==($fileName|0); - $or$cond = $1 | $2; - $3 = ((($0)) + 1|0); - $$0 = $or$cond ? 24696 : $3; - return ($$0|0); -} -function _GetNextPOT($num) { - $num = $num|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ($num|0)==(0); - if ($0) { - $$0 = 0; - return ($$0|0); - } - $1 = (($num) + -1)|0; - $2 = $1 >> 1; - $3 = $2 | $1; - $4 = $3 >> 2; - $5 = $4 | $3; - $6 = $5 >> 4; - $7 = $6 | $5; - $8 = $7 >> 8; - $9 = $8 | $7; - $10 = $9 >> 16; - $11 = $10 | $9; - $12 = (($11) + 1)|0; - $$0 = $12; - return ($$0|0); -} -function _InitAudioDevice() { - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $cond = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer3 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $vararg_buffer3 = sp + 16|0; - $vararg_buffer1 = sp; - $vararg_buffer = sp + 8|0; - $0 = (_alcOpenDevice((0|0))|0); - $1 = ($0|0)==(0|0); - if ($1) { - _TraceLog(1,18496,$vararg_buffer); - } - $2 = (_alcCreateContext(($0|0),(0|0))|0); - $cond = ($2|0)==(0|0); - if ($cond) { - label = 6; - } else { - $3 = (_alcMakeContextCurrent(($2|0))|0); - $4 = ($3<<24>>24)==(0); - if ($4) { - _alcDestroyContext(($2|0)); - label = 6; - } - } - if ((label|0) == 6) { - (_alcCloseDevice(($0|0))|0); - _TraceLog(1,18536,$vararg_buffer1); - } - $5 = (_alcGetString(($0|0),4101)|0); - HEAP32[$vararg_buffer3>>2] = $5; - _TraceLog(0,18568,$vararg_buffer3); - _alListener3f(4100,0.0,0.0,0.0); - _alListener3f(4102,0.0,0.0,0.0); - _alListener3f(4111,0.0,0.0,-1.0); - STACKTOP = sp;return; -} -function _CloseAudioDevice() { - var $0 = 0, $1 = 0, $2 = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $vararg_buffer = sp; - _StopMusicStream(); - $0 = (_alcGetCurrentContext()|0); - $1 = ($0|0)==(0|0); - if ($1) { - _TraceLog(2,18624,$vararg_buffer); - } - $2 = (_alcGetContextsDevice(($0|0))|0); - (_alcMakeContextCurrent((0|0))|0); - _alcDestroyContext(($0|0)); - (_alcCloseDevice(($2|0))|0); - STACKTOP = sp;return; -} -function _StopMusicStream() { - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[8808>>2]|0; - $1 = ($0|0)==(0); - if ($1) { - HEAP32[8808>>2] = 0; - return; - } - $2 = HEAP32[(18684)>>2]|0; - _alSourceStop(($2|0)); - _EmptyMusicStream(); - _alDeleteSources(1,((18684)|0)); - _alDeleteBuffers(2,((18676)|0)); - $3 = HEAP32[18672>>2]|0; - _stb_vorbis_close($3); - HEAP32[8808>>2] = 0; - return; -} -function _LoadSound($agg$result,$fileName) { - $agg$result = $agg$result|0; - $fileName = $fileName|0; - var $$ = 0, $$1 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; - var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; - var $buffer = 0, $format$0 = 0, $sound$sroa$0$0 = 0, $sound$sroa$2$0 = 0, $source = 0, $vararg_buffer = 0, $vararg_ptr4 = 0, $vararg_ptr5 = 0, $vararg_ptr6 = 0, $wave = 0, $wave$byval_copy = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $wave$byval_copy = sp + 8|0; - $vararg_buffer = sp; - $wave = sp + 32|0; - $source = sp + 24|0; - $buffer = sp + 28|0; - $0 = ((($wave)) + 4|0); - $1 = ((($wave)) + 8|0); - $2 = ((($wave)) + 12|0); - $3 = ((($wave)) + 14|0); - ;HEAP32[$wave>>2]=0|0;HEAP32[$wave+4>>2]=0|0;HEAP32[$wave+8>>2]=0|0;HEAP32[$wave+12>>2]=0|0; - $4 = (_GetExtension($fileName)|0); - $5 = (_strcmp($4,18712)|0); - $6 = ($5|0)==(0); - do { - if ($6) { - _LoadWAV($wave,$fileName); - } else { - $7 = (_GetExtension($fileName)|0); - $8 = (_strcmp($7,18720)|0); - $9 = ($8|0)==(0); - if ($9) { - _LoadOGG($wave,$fileName); - break; - } else { - HEAP32[$vararg_buffer>>2] = $fileName; - _TraceLog(2,18728,$vararg_buffer); - break; - } - } - } while(0); - $10 = HEAP32[$wave>>2]|0; - $11 = ($10|0)==(0|0); - if ($11) { - $sound$sroa$0$0 = 0;$sound$sroa$2$0 = 0; - HEAP32[$agg$result>>2] = $sound$sroa$0$0; - $37 = ((($agg$result)) + 4|0); - HEAP32[$37>>2] = $sound$sroa$2$0; - STACKTOP = sp;return; - } - $12 = HEAP16[$3>>1]|0; - if ((($12<<16>>16) == 2)) { - $16 = HEAP16[$2>>1]|0; - $17 = ($16<<16>>16)==(8); - if ($17) { - $format$0 = 4354; - } else { - $18 = ($16<<16>>16)==(16); - $$1 = $18 ? 4355 : 0; - $format$0 = $$1; - } - } else if ((($12<<16>>16) == 1)) { - $13 = HEAP16[$2>>1]|0; - $14 = ($13<<16>>16)==(8); - if ($14) { - $format$0 = 4352; - } else { - $15 = ($13<<16>>16)==(16); - $$ = $15 ? 4353 : 0; - $format$0 = $$; - } - } else { - $format$0 = 0; - } - _alGenSources(1,($source|0)); - $19 = HEAP32[$source>>2]|0; - _alSourcef(($19|0),4099,1.0); - $20 = HEAP32[$source>>2]|0; - _alSourcef(($20|0),4106,1.0); - $21 = HEAP32[$source>>2]|0; - _alSource3f(($21|0),4100,0.0,0.0,0.0); - $22 = HEAP32[$source>>2]|0; - _alSource3f(($22|0),4102,0.0,0.0,0.0); - $23 = HEAP32[$source>>2]|0; - _alSourcei(($23|0),4103,0); - _alGenBuffers(1,($buffer|0)); - $24 = HEAP32[$buffer>>2]|0; - $25 = HEAP32[$wave>>2]|0; - $26 = HEAP32[$0>>2]|0; - $27 = HEAP32[$1>>2]|0; - _alBufferData(($24|0),($format$0|0),($25|0),($26|0),($27|0)); - $28 = HEAP32[$source>>2]|0; - $29 = HEAP32[$buffer>>2]|0; - _alSourcei(($28|0),4105,($29|0)); - $30 = HEAP32[$1>>2]|0; - $31 = HEAP16[$2>>1]|0; - $32 = $31 << 16 >> 16; - $33 = HEAP16[$3>>1]|0; - $34 = $33 << 16 >> 16; - HEAP32[$wave$byval_copy>>2] = $fileName; - $vararg_ptr4 = ((($wave$byval_copy)) + 4|0); - HEAP32[$vararg_ptr4>>2] = $30; - $vararg_ptr5 = ((($wave$byval_copy)) + 8|0); - HEAP32[$vararg_ptr5>>2] = $32; - $vararg_ptr6 = ((($wave$byval_copy)) + 12|0); - HEAP32[$vararg_ptr6>>2] = $34; - _TraceLog(0,18784,$wave$byval_copy); - ;HEAP32[$wave$byval_copy>>2]=HEAP32[$wave>>2]|0;HEAP32[$wave$byval_copy+4>>2]=HEAP32[$wave+4>>2]|0;HEAP32[$wave$byval_copy+8>>2]=HEAP32[$wave+8>>2]|0;HEAP32[$wave$byval_copy+12>>2]=HEAP32[$wave+12>>2]|0; - _UnloadWave($wave$byval_copy); - $35 = HEAP32[$source>>2]|0; - $36 = HEAP32[$buffer>>2]|0; - $sound$sroa$0$0 = $35;$sound$sroa$2$0 = $36; - HEAP32[$agg$result>>2] = $sound$sroa$0$0; - $37 = ((($agg$result)) + 4|0); - HEAP32[$37>>2] = $sound$sroa$2$0; - STACKTOP = sp;return; -} -function _UnloadSound($sound) { - $sound = $sound|0; - var $0 = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $vararg_buffer = sp; - _alDeleteSources(1,($sound|0)); - $0 = ((($sound)) + 4|0); - _alDeleteBuffers(1,($0|0)); - _TraceLog(0,18864,$vararg_buffer); - STACKTOP = sp;return; -} -function _PlaySound($sound) { - $sound = $sound|0; - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[$sound>>2]|0; - _alSourcePlay(($0|0)); - return; -} -function _PlayMusicStream($fileName) { - $fileName = $fileName|0; - var $$ = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $info = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer13 = 0, $vararg_buffer5 = 0, $vararg_buffer9 = 0, $vararg_ptr12 = 0, $vararg_ptr4 = 0, $vararg_ptr8 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; - $vararg_buffer13 = sp + 32|0; - $vararg_buffer9 = sp; - $vararg_buffer5 = sp + 8|0; - $vararg_buffer1 = sp + 16|0; - $vararg_buffer = sp + 24|0; - $info = sp + 40|0; - $0 = (_GetExtension($fileName)|0); - $1 = (_strcmp($0,18720)|0); - $2 = ($1|0)==(0); - if (!($2)) { - HEAP32[$vararg_buffer13>>2] = $fileName; - _TraceLog(2,19016,$vararg_buffer13); - STACKTOP = sp;return; - } - _StopMusicStream(); - $3 = (_stb_vorbis_open_filename($fileName,0,0)|0); - HEAP32[18672>>2] = $3; - $4 = ($3|0)==(0|0); - if ($4) { - HEAP32[$vararg_buffer>>2] = $fileName; - _TraceLog(2,18888,$vararg_buffer); - STACKTOP = sp;return; - } else { - _stb_vorbis_get_info($info,$3); - $5 = ((($info)) + 4|0); - $6 = HEAP32[$5>>2]|0; - HEAP32[(18692)>>2] = $6; - $7 = HEAP32[$info>>2]|0; - HEAP32[(18696)>>2] = $7; - $8 = HEAP32[$info>>2]|0; - HEAP32[$vararg_buffer1>>2] = $fileName; - $vararg_ptr4 = ((($vararg_buffer1)) + 4|0); - HEAP32[$vararg_ptr4>>2] = $8; - _TraceLog(0,18928,$vararg_buffer1); - $9 = HEAP32[$5>>2]|0; - HEAP32[$vararg_buffer5>>2] = $fileName; - $vararg_ptr8 = ((($vararg_buffer5)) + 4|0); - HEAP32[$vararg_ptr8>>2] = $9; - _TraceLog(0,18960,$vararg_buffer5); - $10 = ((($info)) + 16|0); - $11 = HEAP32[$10>>2]|0; - HEAP32[$vararg_buffer9>>2] = $fileName; - $vararg_ptr12 = ((($vararg_buffer9)) + 4|0); - HEAP32[$vararg_ptr12>>2] = $11; - _TraceLog(0,18984,$vararg_buffer9); - $12 = HEAP32[$5>>2]|0; - $13 = ($12|0)==(2); - $$ = $13 ? 4355 : 4353; - HEAP32[(18688)>>2] = $$; - HEAP32[(18704)>>2] = 1; - HEAP32[8808>>2] = 1; - _alGenSources(1,((18684)|0)); - $14 = HEAP32[(18684)>>2]|0; - _alSourcef(($14|0),4099,1.0); - $15 = HEAP32[(18684)>>2]|0; - _alSourcef(($15|0),4106,1.0); - $16 = HEAP32[(18684)>>2]|0; - _alSource3f(($16|0),4100,0.0,0.0,0.0); - $17 = HEAP32[(18684)>>2]|0; - _alSource3f(($17|0),4102,0.0,0.0,0.0); - _alGenBuffers(2,((18676)|0)); - $18 = HEAP32[(18676)>>2]|0; - (_BufferMusicStream($18)|0); - $19 = HEAP32[(18680)>>2]|0; - (_BufferMusicStream($19)|0); - $20 = HEAP32[(18684)>>2]|0; - _alSourceQueueBuffers(($20|0),2,((18676)|0)); - $21 = HEAP32[(18684)>>2]|0; - _alSourcePlay(($21|0)); - $22 = HEAP32[18672>>2]|0; - $23 = (_stb_vorbis_stream_length_in_samples($22)|0); - $24 = HEAP32[(18692)>>2]|0; - $25 = Math_imul($24, $23)|0; - HEAP32[(18700)>>2] = $25; - STACKTOP = sp;return; - } -} -function _UpdateMusicStream() { - var $$lcssa = 0, $$pr = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; - var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $active$0$lcssa = 0, $active$1 = 0, $buffer = 0, $or$cond = 0, $or$cond3 = 0, $processed = 0, $state = 0, $vararg_buffer = 0, label = 0; - var sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $vararg_buffer = sp; - $buffer = sp + 12|0; - $processed = sp + 4|0; - $state = sp + 8|0; - HEAP32[$buffer>>2] = 0; - HEAP32[$processed>>2] = 0; - $0 = HEAP32[8808>>2]|0; - $1 = ($0|0)==(0); - if ($1) { - STACKTOP = sp;return; - } - $2 = HEAP32[(18684)>>2]|0; - _alGetSourcei(($2|0),4118,($processed|0)); - $$pr = HEAP32[$processed>>2]|0; - $3 = ($$pr|0)>(0); - $4 = HEAP32[(18684)>>2]|0; - if ($3) { - $5 = $4; - while(1) { - _alSourceUnqueueBuffers(($5|0),1,($buffer|0)); - $6 = HEAP32[$buffer>>2]|0; - $7 = (_BufferMusicStream($6)|0); - $8 = ($7|0)==(0); - $9 = HEAP32[(18704)>>2]|0; - $10 = ($9|0)!=(0); - $or$cond = $8 & $10; - if ($or$cond) { - $11 = HEAP32[18672>>2]|0; - _stb_vorbis_seek_start($11); - $12 = HEAP32[18672>>2]|0; - $13 = (_stb_vorbis_stream_length_in_samples($12)|0); - $14 = HEAP32[(18692)>>2]|0; - $15 = Math_imul($14, $13)|0; - HEAP32[(18700)>>2] = $15; - $16 = HEAP32[$buffer>>2]|0; - $17 = (_BufferMusicStream($16)|0); - $active$1 = $17; - } else { - $active$1 = $7; - } - $18 = HEAP32[(18684)>>2]|0; - _alSourceQueueBuffers(($18|0),1,($buffer|0)); - $19 = (_alGetError()|0); - $20 = ($19|0)==(0); - if (!($20)) { - _TraceLog(2,19072,$vararg_buffer); - } - $21 = HEAP32[$processed>>2]|0; - $22 = (($21) + -1)|0; - HEAP32[$processed>>2] = $22; - $23 = ($21|0)>(1); - $24 = HEAP32[(18684)>>2]|0; - if ($23) { - $5 = $24; - } else { - $$lcssa = $24;$active$0$lcssa = $active$1; - break; - } - } - } else { - $$lcssa = $4;$active$0$lcssa = 1; - } - _alGetSourcei(($$lcssa|0),4112,($state|0)); - $25 = HEAP32[$state>>2]|0; - $26 = ($25|0)!=(4114); - $27 = ($active$0$lcssa|0)!=(0); - $or$cond3 = $27 & $26; - if ($or$cond3) { - $28 = HEAP32[(18684)>>2]|0; - _alSourcePlay(($28|0)); - } - if ($27) { - STACKTOP = sp;return; - } - _StopMusicStream(); - STACKTOP = sp;return; -} -function _GetRawTouchPosition($agg$result) { - $agg$result = $agg$result|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = 19112; - $1 = $0; - $2 = HEAP32[$1>>2]|0; - $3 = (($0) + 4)|0; - $4 = $3; - $5 = HEAP32[$4>>2]|0; - $6 = $agg$result; - $7 = $6; - HEAP32[$7>>2] = $2; - $8 = (($6) + 4)|0; - $9 = $8; - HEAP32[$9>>2] = $5; - return; -} -function _InitGesturesSystem() { - var label = 0, sp = 0; - sp = STACKTOP; - (_emscripten_set_touchstart_callback((19160|0),(0|0),1,(3|0))|0); - (_emscripten_set_touchend_callback((19160|0),(0|0),1,(3|0))|0); - (_emscripten_set_touchmove_callback((19160|0),(0|0),1,(3|0))|0); - (_emscripten_set_touchcancel_callback((19160|0),(0|0),1,(3|0))|0); - return; -} -function _UpdateGestures() { - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $or$cond = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[19168>>2]|0; - $1 = ($0|0)==(2); - $2 = HEAP32[19120>>2]|0; - $3 = ($2|0)==(2); - $or$cond = $1 & $3; - if ($or$cond) { - HEAP32[19120>>2] = 8; - return; - } - $4 = ($2|0)==(8); - if ($4) { - return; - } - HEAP32[19120>>2] = 1; - return; -} -function _InitDisplay($width,$height) { - $width = $width|0; - $height = $height|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $5 = 0; - var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer14 = 0, $vararg_buffer18 = 0, $vararg_buffer3 = 0, $vararg_buffer5 = 0, $vararg_buffer7 = 0, $vararg_ptr13 = 0, $vararg_ptr17 = 0, $vararg_ptr9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 128|0; - $vararg_buffer18 = sp + 32|0; - $vararg_buffer14 = sp + 56|0; - $vararg_buffer10 = sp + 48|0; - $vararg_buffer7 = sp + 40|0; - $vararg_buffer5 = sp + 24|0; - $vararg_buffer3 = sp + 16|0; - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $0 = sp + 64|0; - HEAP32[8856>>2] = $width; - HEAP32[8872>>2] = $height; - _MatrixIdentity($0); - dest=9024; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - (_glfwSetErrorCallback((2|0))|0); - $1 = (_glfwInit()|0); - $2 = ($1|0)==(0); - if ($2) { - _TraceLog(1,30664,$vararg_buffer); - } - $3 = HEAP32[8856>>2]|0; - HEAP32[10184>>2] = $3; - $4 = HEAP32[8872>>2]|0; - HEAP32[10192>>2] = $4; - _glfwDefaultWindowHints(); - _glfwWindowHint(131075,0); - $5 = (_rlGetVersion()|0); - $6 = ($5|0)==(2); - if ($6) { - $7 = HEAP8[9104>>0]|0; - $8 = $7 & 16; - $9 = ($8<<24>>24)==(0); - if (!($9)) { - _glfwWindowHint(135181,4); - _TraceLog(0,30696,$vararg_buffer1); - } - _glfwWindowHint(139266,3); - _glfwWindowHint(139267,3); - _glfwWindowHint(139272,204801); - _glfwWindowHint(139270,0); - } - $10 = HEAP32[9112>>2]|0; - $11 = ($10|0)==(0); - if ($11) { - $19 = HEAP32[8856>>2]|0; - $20 = HEAP32[8872>>2]|0; - $21 = HEAP32[8848>>2]|0; - $22 = (_glfwCreateWindow(($19|0),($20|0),($21|0),(0|0),(0|0))|0); - HEAP32[8944>>2] = $22; - $23 = HEAP32[8856>>2]|0; - HEAP32[10216>>2] = $23; - $24 = HEAP32[8872>>2]|0; - HEAP32[10224>>2] = $24; - $25 = $22; - } else { - $12 = HEAP32[10184>>2]|0; - $13 = HEAP32[10192>>2]|0; - _SetupFramebufferSize($12,$13); - $14 = HEAP32[10216>>2]|0; - $15 = HEAP32[10224>>2]|0; - $16 = HEAP32[8848>>2]|0; - $17 = (_glfwGetPrimaryMonitor()|0); - $18 = (_glfwCreateWindow(($14|0),($15|0),($16|0),($17|0),(0|0))|0); - HEAP32[8944>>2] = $18; - $25 = $18; - } - $26 = ($25|0)==(0|0); - if ($26) { - _glfwTerminate(); - _TraceLog(1,30728,$vararg_buffer3); - } else { - _TraceLog(0,30768,$vararg_buffer5); - $27 = HEAP32[10216>>2]|0; - $28 = HEAP32[10224>>2]|0; - HEAP32[$vararg_buffer7>>2] = $27; - $vararg_ptr9 = ((($vararg_buffer7)) + 4|0); - HEAP32[$vararg_ptr9>>2] = $28; - _TraceLog(0,30808,$vararg_buffer7); - $29 = HEAP32[8856>>2]|0; - $30 = HEAP32[8872>>2]|0; - HEAP32[$vararg_buffer10>>2] = $29; - $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); - HEAP32[$vararg_ptr13>>2] = $30; - _TraceLog(0,30832,$vararg_buffer10); - $31 = HEAP32[10200>>2]|0; - $32 = HEAP32[10208>>2]|0; - HEAP32[$vararg_buffer14>>2] = $31; - $vararg_ptr17 = ((($vararg_buffer14)) + 4|0); - HEAP32[$vararg_ptr17>>2] = $32; - _TraceLog(0,30856,$vararg_buffer14); - } - $33 = HEAP32[8944>>2]|0; - (_glfwSetWindowSizeCallback(($33|0),(1|0))|0); - $34 = HEAP32[8944>>2]|0; - (_glfwSetCursorEnterCallback(($34|0),(3|0))|0); - $35 = HEAP32[8944>>2]|0; - (_glfwSetKeyCallback(($35|0),(1|0))|0); - $36 = HEAP32[8944>>2]|0; - (_glfwSetMouseButtonCallback(($36|0),(1|0))|0); - $37 = HEAP32[8944>>2]|0; - (_glfwSetCharCallback(($37|0),(4|0))|0); - $38 = HEAP32[8944>>2]|0; - (_glfwSetScrollCallback(($38|0),(1|0))|0); - $39 = HEAP32[8944>>2]|0; - (_glfwSetWindowIconifyCallback(($39|0),(5|0))|0); - $40 = HEAP32[8944>>2]|0; - _glfwMakeContextCurrent(($40|0)); - $41 = HEAP8[9104>>0]|0; - $42 = $41 & 32; - $43 = ($42<<24>>24)==(0); - if ($43) { - STACKTOP = sp;return; - } - _glfwSwapInterval(1); - _TraceLog(0,30888,$vararg_buffer18); - STACKTOP = sp;return; -} -function _InitGraphics() { - var $$byval_copy = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $$byval_copy = sp + 4|0; - $0 = sp; - _rlglInit(); - $1 = HEAP32[10200>>2]|0; - $2 = HEAP32[10208>>2]|0; - $3 = HEAP32[10216>>2]|0; - $4 = HEAP32[10224>>2]|0; - _rlglInitGraphics($1,$2,$3,$4); - HEAP8[$0>>0] = -11; - $5 = ((($0)) + 1|0); - HEAP8[$5>>0] = -11; - $6 = ((($0)) + 2|0); - HEAP8[$6>>0] = -11; - $7 = ((($0)) + 3|0); - HEAP8[$7>>0] = -1; - ;HEAP8[$$byval_copy>>0]=HEAP8[$0>>0]|0;HEAP8[$$byval_copy+1>>0]=HEAP8[$0+1>>0]|0;HEAP8[$$byval_copy+2>>0]=HEAP8[$0+2>>0]|0;HEAP8[$$byval_copy+3>>0]=HEAP8[$0+3>>0]|0; - _ClearBackground($$byval_copy); - STACKTOP = sp;return; -} -function _InitTimer() { - var $0 = 0, $1 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_time((0|0))|0); - _srand($0); - $1 = (+_GetTime()); - HEAPF64[9008>>3] = $1; - return; -} -function _EmscriptenFullscreenChangeCallback($eventType,$e,$userData) { - $eventType = $eventType|0; - $e = $e|0; - $userData = $userData|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer4 = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, $vararg_ptr9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $vararg_buffer4 = sp + 16|0; - $vararg_buffer = sp; - $0 = HEAP32[$e>>2]|0; - $1 = ($0|0)==(0); - $2 = ((($e)) + 264|0); - $3 = HEAP32[$2>>2]|0; - $4 = ((($e)) + 268|0); - $5 = HEAP32[$4>>2]|0; - $6 = ((($e)) + 272|0); - $7 = HEAP32[$6>>2]|0; - $8 = ((($e)) + 276|0); - $9 = HEAP32[$8>>2]|0; - if ($1) { - HEAP32[$vararg_buffer4>>2] = $3; - $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); - HEAP32[$vararg_ptr7>>2] = $5; - $vararg_ptr8 = ((($vararg_buffer4)) + 8|0); - HEAP32[$vararg_ptr8>>2] = $7; - $vararg_ptr9 = ((($vararg_buffer4)) + 12|0); - HEAP32[$vararg_ptr9>>2] = $9; - _TraceLog(0,30592,$vararg_buffer4); - STACKTOP = sp;return 0; - } else { - HEAP32[$vararg_buffer>>2] = $3; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = $5; - $vararg_ptr2 = ((($vararg_buffer)) + 8|0); - HEAP32[$vararg_ptr2>>2] = $7; - $vararg_ptr3 = ((($vararg_buffer)) + 12|0); - HEAP32[$vararg_ptr3>>2] = $9; - _TraceLog(0,30520,$vararg_buffer); - STACKTOP = sp;return 0; - } - return (0)|0; -} -function _LogoAnimation() { - var label = 0, sp = 0; - sp = STACKTOP; - HEAP32[8880>>2] = 0; - return; -} -function _GetTime() { - var $0 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (+_glfwGetTime()); - return (+$0); -} -function _SwapBuffers() { - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[8944>>2]|0; - _glfwSwapBuffers(($0|0)); - return; -} -function _PollInputEvents() { - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $mouseX = 0, $mouseY = 0, label = 0; - var sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; - $mouseX = sp; - $mouseY = sp + 8|0; - _GetRawTouchPosition($0); - $1 = $0; - $2 = $1; - $3 = HEAP32[$2>>2]|0; - $4 = (($1) + 4)|0; - $5 = $4; - $6 = HEAP32[$5>>2]|0; - $7 = 10176; - $8 = $7; - HEAP32[$8>>2] = $3; - $9 = (($7) + 4)|0; - $10 = $9; - HEAP32[$10>>2] = $6; - _UpdateGestures(); - $11 = HEAP32[8944>>2]|0; - _glfwGetCursorPos(($11|0),($mouseX|0),($mouseY|0)); - $12 = +HEAPF64[$mouseX>>3]; - $13 = $12; - HEAPF32[8864>>2] = $13; - $14 = +HEAPF64[$mouseY>>3]; - $15 = $14; - HEAPF32[(8868)>>2] = $15; - HEAP32[10144>>2] = -1; - _memcpy((9632|0),(9120|0),512)|0; - ;HEAP8[10160>>0]=HEAP8[10152>>0]|0;HEAP8[10160+1>>0]=HEAP8[10152+1>>0]|0;HEAP8[10160+2>>0]=HEAP8[10152+2>>0]|0; - $16 = HEAP32[30512>>2]|0; - HEAP32[10168>>2] = $16; - HEAP32[30512>>2] = 0; - _glfwPollEvents(); - STACKTOP = sp;return; -} -function _GetKeyStatus($key) { - $key = $key|0; - var $0 = 0, $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[8944>>2]|0; - $1 = (_glfwGetKey(($0|0),($key|0))|0); - return ($1|0); -} -function _LoadDefaultShader($agg$result) { - $agg$result = $agg$result|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; - var $8 = 0, $9 = 0, $fShaderStr = 0, $vShaderStr = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 928|0; - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $vShaderStr = sp + 388|0; - $fShaderStr = sp + 12|0; - _memcpy(($vShaderStr|0),(29488|0),532)|0; - _memcpy(($fShaderStr|0),(30024|0),373)|0; - $0 = (_LoadShaderProgram($vShaderStr,$fShaderStr)|0); - $1 = ($0|0)==(0); - if ($1) { - HEAP32[$vararg_buffer1>>2] = $0; - _TraceLog(2,30448,$vararg_buffer1); - } else { - HEAP32[$vararg_buffer>>2] = $0; - _TraceLog(0,30400,$vararg_buffer); - } - $2 = (_glGetAttribLocation(($0|0),(13944|0))|0); - $3 = (_glGetAttribLocation(($0|0),(13960|0))|0); - $4 = (_glGetAttribLocation(($0|0),(30496|0))|0); - $5 = (_glGetUniformLocation(($0|0),(13992|0))|0); - $6 = (_glGetUniformLocation(($0|0),(14008|0))|0); - $7 = (_glGetUniformLocation(($0|0),(14048|0))|0); - $8 = HEAP32[8800>>2]|0; - HEAP32[$agg$result>>2] = $0; - $9 = ((($agg$result)) + 4|0); - HEAP32[$9>>2] = $8; - $10 = ((($agg$result)) + 8|0); + STACKTOP = STACKTOP + 1056|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1056|0); + $3 = sp + 32|0; + $4 = sp + 22|0; + $5 = sp + 16|0; + $6 = sp + 8|0; + $7 = sp; + $8 = HEAP32[$0>>2]|0; + $9 = ((($0)) + 8|0); + HEAP32[$9>>2] = 0; + $10 = ((($0)) + 4|0); HEAP32[$10>>2] = 0; - $11 = ((($agg$result)) + 12|0); + $11 = ((($0)) + 12|0); HEAP32[$11>>2] = 0; - $12 = ((($agg$result)) + 16|0); - HEAP32[$12>>2] = $2; - $13 = ((($agg$result)) + 20|0); - HEAP32[$13>>2] = $3; - $14 = ((($agg$result)) + 24|0); - HEAP32[$14>>2] = -1; - $15 = ((($agg$result)) + 28|0); - HEAP32[$15>>2] = $4; - $16 = ((($agg$result)) + 32|0); - HEAP32[$16>>2] = $6; - $17 = ((($agg$result)) + 36|0); - HEAP32[$17>>2] = $5; - $18 = ((($agg$result)) + 40|0); - HEAP32[$18>>2] = -1; - $19 = ((($agg$result)) + 44|0); - HEAP32[$19>>2] = $7; - $20 = ((($agg$result)) + 48|0); - HEAP32[$20>>2] = -1; - $21 = ((($agg$result)) + 52|0); - HEAP32[$21>>2] = -1; - STACKTOP = sp;return; -} -function _LoadSimpleShader($agg$result) { - $agg$result = $agg$result|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0; - var $7 = 0, $8 = 0, $9 = 0, $fShaderStr = 0, $vShaderStr = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 848|0; - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $vShaderStr = sp + 388|0; - $fShaderStr = sp + 12|0; - _memcpy(($vShaderStr|0),(28552|0),460)|0; - _memcpy(($fShaderStr|0),(29016|0),373)|0; - $0 = (_LoadShaderProgram($vShaderStr,$fShaderStr)|0); - $1 = ($0|0)==(0); - if ($1) { - HEAP32[$vararg_buffer1>>2] = $0; - _TraceLog(2,29440,$vararg_buffer1); - } else { - HEAP32[$vararg_buffer>>2] = $0; - _TraceLog(0,29392,$vararg_buffer); + $12 = (_stbi__check_png_header($8)|0); + $13 = ($12|0)==(0); + if ($13) { + $$7 = 0; + STACKTOP = sp;return ($$7|0); } - $2 = (_glGetAttribLocation(($0|0),(13944|0))|0); - $3 = (_glGetAttribLocation(($0|0),(13960|0))|0); - $4 = (_glGetAttribLocation(($0|0),(13976|0))|0); - $5 = (_glGetUniformLocation(($0|0),(13992|0))|0); - $6 = (_glGetUniformLocation(($0|0),(14008|0))|0); - $7 = (_glGetUniformLocation(($0|0),(14032|0))|0); - $8 = (_glGetUniformLocation(($0|0),(14048|0))|0); - $9 = HEAP32[8800>>2]|0; - HEAP32[$agg$result>>2] = $0; - $10 = ((($agg$result)) + 4|0); - HEAP32[$10>>2] = $9; - $11 = ((($agg$result)) + 8|0); - HEAP32[$11>>2] = 0; - $12 = ((($agg$result)) + 12|0); - HEAP32[$12>>2] = 0; - $13 = ((($agg$result)) + 16|0); - HEAP32[$13>>2] = $2; - $14 = ((($agg$result)) + 20|0); - HEAP32[$14>>2] = $3; - $15 = ((($agg$result)) + 24|0); - HEAP32[$15>>2] = $4; - $16 = ((($agg$result)) + 28|0); - HEAP32[$16>>2] = -1; - $17 = ((($agg$result)) + 32|0); - HEAP32[$17>>2] = $6; - $18 = ((($agg$result)) + 36|0); - HEAP32[$18>>2] = $5; - $19 = ((($agg$result)) + 40|0); - HEAP32[$19>>2] = $7; - $20 = ((($agg$result)) + 44|0); - HEAP32[$20>>2] = $8; - $21 = ((($agg$result)) + 48|0); - HEAP32[$21>>2] = -1; - $22 = ((($agg$result)) + 52|0); - HEAP32[$22>>2] = -1; - STACKTOP = sp;return; -} -function _InitializeBuffers() { - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $5 = 0, $6 = 0; - var $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond14 = 0, $exitcond17 = 0, $exitcond19 = 0, $i1$012 = 0, $i3$010 = 0, $i6$07 = 0, $i7$06 = 0, $k$05 = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $vararg_buffer = sp; - $0 = (_malloc(24576)|0); - HEAP32[11576>>2] = $0; - $1 = (_malloc(8192)|0); - HEAP32[11496>>2] = $1; - $2 = HEAP32[11576>>2]|0; - _memset(($2|0),0,24576)|0; - $i1$012 = 0; - while(1) { - $3 = HEAP32[11496>>2]|0; - $4 = (($3) + ($i1$012)|0); - HEAP8[$4>>0] = 0; - $5 = (($i1$012) + 1)|0; - $exitcond19 = ($5|0)==(8192); - if ($exitcond19) { - break; - } else { - $i1$012 = $5; - } - } - HEAP32[11480>>2] = 0; - HEAP32[11488>>2] = 0; - $6 = (_malloc(73728)|0); - HEAP32[11616>>2] = $6; - $7 = (_malloc(24576)|0); - HEAP32[11520>>2] = $7; - $8 = HEAP32[11616>>2]|0; - _memset(($8|0),0,73728)|0; - $i3$010 = 0; - while(1) { - $9 = HEAP32[11520>>2]|0; - $10 = (($9) + ($i3$010)|0); - HEAP8[$10>>0] = 0; - $11 = (($i3$010) + 1)|0; - $exitcond17 = ($11|0)==(24576); - if ($exitcond17) { - break; - } else { - $i3$010 = $11; - } - } - HEAP32[11504>>2] = 0; - HEAP32[11512>>2] = 0; - $12 = (_malloc(49152)|0); - HEAP32[11656>>2] = $12; - $13 = (_malloc(32768)|0); - HEAP32[11560>>2] = $13; - $14 = (_malloc(16384)|0); - HEAP32[11544>>2] = $14; - $15 = (_malloc(12288)|0); - HEAP32[13784>>2] = $15; - $16 = HEAP32[11656>>2]|0; - _memset(($16|0),0,49152)|0; - $17 = HEAP32[11560>>2]|0; - _memset(($17|0),0,32768)|0; - $i6$07 = 0; - while(1) { - $19 = HEAP32[11544>>2]|0; - $20 = (($19) + ($i6$07)|0); - HEAP8[$20>>0] = 0; - $21 = (($i6$07) + 1)|0; - $exitcond14 = ($21|0)==(16384); - if ($exitcond14) { - break; - } else { - $i6$07 = $21; - } - } - $18 = HEAP32[13784>>2]|0; - $i7$06 = 0;$k$05 = 0; - while(1) { - $22 = $k$05 << 2; - $23 = $22&65535; - $24 = (($18) + ($i7$06<<1)|0); - HEAP16[$24>>1] = $23; - $25 = $22 | 1; - $26 = $25&65535; - $27 = $i7$06 | 1; - $28 = (($18) + ($27<<1)|0); - HEAP16[$28>>1] = $26; - $29 = $22 | 2; - $30 = $29&65535; - $31 = (($i7$06) + 2)|0; - $32 = (($18) + ($31<<1)|0); - HEAP16[$32>>1] = $30; - $33 = (($i7$06) + 3)|0; - $34 = (($18) + ($33<<1)|0); - HEAP16[$34>>1] = $23; - $35 = (($i7$06) + 4)|0; - $36 = (($18) + ($35<<1)|0); - HEAP16[$36>>1] = $30; - $37 = $22 | 3; - $38 = $37&65535; - $39 = (($i7$06) + 5)|0; - $40 = (($18) + ($39<<1)|0); - HEAP16[$40>>1] = $38; - $41 = (($k$05) + 1)|0; - $42 = (($i7$06) + 6)|0; - $exitcond = ($41|0)==(1024); - if ($exitcond) { - break; - } else { - $i7$06 = $42;$k$05 = $41; - } - } - HEAP32[11528>>2] = 0; - HEAP32[11552>>2] = 0; - HEAP32[11536>>2] = 0; - _TraceLog(0,28488,$vararg_buffer); - STACKTOP = sp;return; -} -function _InitializeBuffersGPU() { - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; - var $63 = 0, $64 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer12 = 0, $vararg_buffer15 = 0, $vararg_buffer5 = 0, $vararg_buffer8 = 0, $vararg_ptr11 = 0, $vararg_ptr18 = 0, $vararg_ptr19 = 0, $vararg_ptr20 = 0, $vararg_ptr4 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; - $vararg_buffer15 = sp + 40|0; - $vararg_buffer12 = sp; - $vararg_buffer8 = sp + 8|0; - $vararg_buffer5 = sp + 16|0; - $vararg_buffer1 = sp + 24|0; - $vararg_buffer = sp + 32|0; - $0 = HEAP32[11728>>2]|0; - $1 = ($0|0)==(0); - if (!($1)) { - $2 = HEAP32[11944>>2]|0; - FUNCTION_TABLE_vii[$2 & 63](1,13760); - $3 = HEAP32[11976>>2]|0; - $4 = HEAP32[13760>>2]|0; - FUNCTION_TABLE_vi[$3 & 31]($4); - } - _glGenBuffers(2,(13728|0)); - $5 = HEAP32[13728>>2]|0; - _glBindBuffer(34962,($5|0)); - $6 = HEAP32[11576>>2]|0; - _glBufferData(34962,24576,($6|0),35048); - $7 = HEAP32[(13104)>>2]|0; - _glEnableVertexAttribArray(($7|0)); - $8 = HEAP32[(13104)>>2]|0; - _glVertexAttribPointer(($8|0),3,5126,0,0,(0|0)); - $9 = HEAP32[(13732)>>2]|0; - _glBindBuffer(34962,($9|0)); - $10 = HEAP32[11496>>2]|0; - _glBufferData(34962,8192,($10|0),35048); - $11 = HEAP32[(13116)>>2]|0; - _glEnableVertexAttribArray(($11|0)); - $12 = HEAP32[(13116)>>2]|0; - _glVertexAttribPointer(($12|0),4,5121,1,0,(0|0)); - $13 = HEAP32[11728>>2]|0; - $14 = ($13|0)==(0); + $14 = ($1|0)==(1); if ($14) { - $16 = HEAP32[13728>>2]|0; - $17 = HEAP32[(13732)>>2]|0; - HEAP32[$vararg_buffer1>>2] = $16; - $vararg_ptr4 = ((($vararg_buffer1)) + 4|0); - HEAP32[$vararg_ptr4>>2] = $17; - _TraceLog(0,28168,$vararg_buffer1); - } else { - $15 = HEAP32[13760>>2]|0; - HEAP32[$vararg_buffer>>2] = $15; - _TraceLog(0,28120,$vararg_buffer); + $$7 = 1; + STACKTOP = sp;return ($$7|0); } - $18 = HEAP32[11728>>2]|0; - $19 = ($18|0)==(0); - if (!($19)) { - $20 = HEAP32[11944>>2]|0; - FUNCTION_TABLE_vii[$20 & 63](1,13768); - $21 = HEAP32[11976>>2]|0; - $22 = HEAP32[13768>>2]|0; - FUNCTION_TABLE_vi[$21 & 31]($22); - } - _glGenBuffers(2,(13736|0)); - $23 = HEAP32[13736>>2]|0; - _glBindBuffer(34962,($23|0)); - $24 = HEAP32[11616>>2]|0; - _glBufferData(34962,73728,($24|0),35048); - $25 = HEAP32[(13104)>>2]|0; - _glEnableVertexAttribArray(($25|0)); - $26 = HEAP32[(13104)>>2]|0; - _glVertexAttribPointer(($26|0),3,5126,0,0,(0|0)); - $27 = HEAP32[(13740)>>2]|0; - _glBindBuffer(34962,($27|0)); - $28 = HEAP32[11520>>2]|0; - _glBufferData(34962,24576,($28|0),35048); - $29 = HEAP32[(13116)>>2]|0; - _glEnableVertexAttribArray(($29|0)); - $30 = HEAP32[(13116)>>2]|0; - _glVertexAttribPointer(($30|0),4,5121,1,0,(0|0)); - $31 = HEAP32[11728>>2]|0; - $32 = ($31|0)==(0); - if ($32) { - $34 = HEAP32[13736>>2]|0; - $35 = HEAP32[(13740)>>2]|0; - HEAP32[$vararg_buffer8>>2] = $34; - $vararg_ptr11 = ((($vararg_buffer8)) + 4|0); - HEAP32[$vararg_ptr11>>2] = $35; - _TraceLog(0,28288,$vararg_buffer8); - } else { - $33 = HEAP32[13768>>2]|0; - HEAP32[$vararg_buffer5>>2] = $33; - _TraceLog(0,28232,$vararg_buffer5); - } - $36 = HEAP32[11728>>2]|0; - $37 = ($36|0)==(0); - if (!($37)) { - $38 = HEAP32[11944>>2]|0; - FUNCTION_TABLE_vii[$38 & 63](1,13776); - $39 = HEAP32[11976>>2]|0; - $40 = HEAP32[13776>>2]|0; - FUNCTION_TABLE_vi[$39 & 31]($40); - } - _glGenBuffers(4,(13744|0)); - $41 = HEAP32[13744>>2]|0; - _glBindBuffer(34962,($41|0)); - $42 = HEAP32[11656>>2]|0; - _glBufferData(34962,49152,($42|0),35048); - $43 = HEAP32[(13104)>>2]|0; - _glEnableVertexAttribArray(($43|0)); - $44 = HEAP32[(13104)>>2]|0; - _glVertexAttribPointer(($44|0),3,5126,0,0,(0|0)); - $45 = HEAP32[(13748)>>2]|0; - _glBindBuffer(34962,($45|0)); - $46 = HEAP32[11560>>2]|0; - _glBufferData(34962,32768,($46|0),35048); - $47 = HEAP32[(13108)>>2]|0; - _glEnableVertexAttribArray(($47|0)); - $48 = HEAP32[(13108)>>2]|0; - _glVertexAttribPointer(($48|0),2,5126,0,0,(0|0)); - $49 = HEAP32[(13752)>>2]|0; - _glBindBuffer(34962,($49|0)); - $50 = HEAP32[11544>>2]|0; - _glBufferData(34962,16384,($50|0),35048); - $51 = HEAP32[(13116)>>2]|0; - _glEnableVertexAttribArray(($51|0)); - $52 = HEAP32[(13116)>>2]|0; - _glVertexAttribPointer(($52|0),4,5121,1,0,(0|0)); - $53 = HEAP32[(13756)>>2]|0; - _glBindBuffer(34963,($53|0)); - $54 = HEAP32[13784>>2]|0; - _glBufferData(34963,12288,($54|0),35044); - $55 = HEAP32[11728>>2]|0; - $56 = ($55|0)==(0); - if ($56) { - $58 = HEAP32[13744>>2]|0; - $59 = HEAP32[(13748)>>2]|0; - $60 = HEAP32[(13752)>>2]|0; - $61 = HEAP32[(13756)>>2]|0; - HEAP32[$vararg_buffer15>>2] = $58; - $vararg_ptr18 = ((($vararg_buffer15)) + 4|0); - HEAP32[$vararg_ptr18>>2] = $59; - $vararg_ptr19 = ((($vararg_buffer15)) + 8|0); - HEAP32[$vararg_ptr19>>2] = $60; - $vararg_ptr20 = ((($vararg_buffer15)) + 12|0); - HEAP32[$vararg_ptr20>>2] = $61; - _TraceLog(0,28400,$vararg_buffer15); - } else { - $57 = HEAP32[13776>>2]|0; - HEAP32[$vararg_buffer12>>2] = $57; - _TraceLog(0,28352,$vararg_buffer12); - } - $62 = HEAP32[11728>>2]|0; - $63 = ($62|0)==(0); - if ($63) { - STACKTOP = sp;return; - } - $64 = HEAP32[11976>>2]|0; - FUNCTION_TABLE_vi[$64 & 31](0); - STACKTOP = sp;return; -} -function _LoadCompressedTexture($data,$width,$height,$mipmapCount,$compressedFormat) { - $data = $data|0; - $width = $width|0; - $height = $height|0; - $mipmapCount = $mipmapCount|0; - $compressedFormat = $compressedFormat|0; - var $$ = 0, $$013 = 0, $$0610 = 0, $$17 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0; - var $7 = 0, $8 = 0, $9 = 0, $blockSize$0 = 0, $level$012 = 0, $offset$011 = 0, $or$cond = 0, $or$cond9 = 0, label = 0, sp = 0; - sp = STACKTOP; - _glPixelStorei(3317,1); - if ((($compressedFormat|0) == 33776) | (($compressedFormat|0) == 33777) | (($compressedFormat|0) == 36196) | (($compressedFormat|0) == 37492)) { - $blockSize$0 = 8; - } else { - $blockSize$0 = 16; - } - $0 = ($mipmapCount|0)<(1); - $1 = $width | $height; - $2 = ($1|0)==(0); - $or$cond9 = $0 | $2; - if ($or$cond9) { - return; - } else { - $$013 = $width;$$0610 = $height;$level$012 = 0;$offset$011 = 0; - } - while(1) { - $3 = (($$013) + 3)|0; - $4 = (($3|0) / 4)&-1; - $5 = (($$0610) + 3)|0; - $6 = (($5|0) / 4)&-1; - $7 = Math_imul($4, $blockSize$0)|0; - $8 = Math_imul($7, $6)|0; - $9 = (($data) + ($offset$011)|0); - _glCompressedTexImage2D(3553,($level$012|0),($compressedFormat|0),($$013|0),($$0610|0),0,($8|0),($9|0)); - $10 = (($8) + ($offset$011))|0; - $11 = (($$013|0) / 2)&-1; - $12 = (($$0610|0) / 2)&-1; - $13 = ($$013|0)<(2); - $$ = $13 ? 1 : $11; - $14 = ($$0610|0)<(2); - $$17 = $14 ? 1 : $12; - $15 = (($level$012) + 1)|0; - $16 = ($15|0)>=($mipmapCount|0); - $17 = $$ | $$17; - $18 = ($17|0)==(0); - $or$cond = $16 | $18; - if ($or$cond) { - break; - } else { - $$013 = $$;$$0610 = $$17;$level$012 = $15;$offset$011 = $10; - } - } - return; -} -function _UpdateBuffers() { - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[11480>>2]|0; - $1 = ($0|0)>(0); - if ($1) { - $2 = HEAP32[11728>>2]|0; - $3 = ($2|0)==(0); - if (!($3)) { - $4 = HEAP32[11976>>2]|0; - $5 = HEAP32[13760>>2]|0; - FUNCTION_TABLE_vi[$4 & 31]($5); - } - $6 = HEAP32[13728>>2]|0; - _glBindBuffer(34962,($6|0)); - $7 = HEAP32[11480>>2]|0; - $8 = ($7*12)|0; - $9 = HEAP32[11576>>2]|0; - _glBufferSubData(34962,0,($8|0),($9|0)); - $10 = HEAP32[(13732)>>2]|0; - _glBindBuffer(34962,($10|0)); - $11 = HEAP32[11488>>2]|0; - $12 = $11 << 2; - $13 = HEAP32[11496>>2]|0; - _glBufferSubData(34962,0,($12|0),($13|0)); - } - $14 = HEAP32[11504>>2]|0; - $15 = ($14|0)>(0); - if ($15) { - $16 = HEAP32[11728>>2]|0; - $17 = ($16|0)==(0); - if (!($17)) { - $18 = HEAP32[11976>>2]|0; - $19 = HEAP32[13768>>2]|0; - FUNCTION_TABLE_vi[$18 & 31]($19); - } - $20 = HEAP32[13736>>2]|0; - _glBindBuffer(34962,($20|0)); - $21 = HEAP32[11504>>2]|0; - $22 = ($21*12)|0; - $23 = HEAP32[11616>>2]|0; - _glBufferSubData(34962,0,($22|0),($23|0)); - $24 = HEAP32[(13740)>>2]|0; - _glBindBuffer(34962,($24|0)); - $25 = HEAP32[11512>>2]|0; - $26 = $25 << 2; - $27 = HEAP32[11520>>2]|0; - _glBufferSubData(34962,0,($26|0),($27|0)); - } - $28 = HEAP32[11528>>2]|0; - $29 = ($28|0)>(0); - if ($29) { - $30 = HEAP32[11728>>2]|0; - $31 = ($30|0)==(0); - if (!($31)) { - $32 = HEAP32[11976>>2]|0; - $33 = HEAP32[13776>>2]|0; - FUNCTION_TABLE_vi[$32 & 31]($33); - } - $34 = HEAP32[13744>>2]|0; - _glBindBuffer(34962,($34|0)); - $35 = HEAP32[11528>>2]|0; - $36 = ($35*12)|0; - $37 = HEAP32[11656>>2]|0; - _glBufferSubData(34962,0,($36|0),($37|0)); - $38 = HEAP32[(13748)>>2]|0; - _glBindBuffer(34962,($38|0)); - $39 = HEAP32[11528>>2]|0; - $40 = $39 << 3; - $41 = HEAP32[11560>>2]|0; - _glBufferSubData(34962,0,($40|0),($41|0)); - $42 = HEAP32[(13752)>>2]|0; - _glBindBuffer(34962,($42|0)); - $43 = HEAP32[11528>>2]|0; - $44 = $43 << 2; - $45 = HEAP32[11544>>2]|0; - _glBufferSubData(34962,0,($44|0),($45|0)); - } - $46 = HEAP32[11728>>2]|0; - $47 = ($46|0)==(0); - if ($47) { - return; - } - $48 = HEAP32[11976>>2]|0; - FUNCTION_TABLE_vi[$48 & 31](0); - return; -} -function _stbi__fopen($filename) { - $filename = $filename|0; - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_fopen(($filename|0),(19952|0))|0); - return ($0|0); -} -function _stbi__err($str) { - $str = $str|0; - var label = 0, sp = 0; - sp = STACKTOP; - HEAP32[14400>>2] = $str; - return; -} -function _stbi__start_file($s,$f) { - $s = $s|0; - $f = $f|0; - var label = 0, sp = 0; - sp = STACKTOP; - _stbi__start_callbacks($s,28104,$f); - return; -} -function _stbi__load_flip($s,$x,$y,$comp,$req_comp) { - $s = $s|0; - $x = $x|0; - $y = $y|0; - $comp = $comp|0; - $req_comp = $req_comp|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $col$04 = 0, $exitcond = 0, $exitcond7 = 0, $exitcond8 = 0, $or$cond = 0, $row$06 = 0, $z$03 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_stbi__load_main($s,$x,$y,$comp,$req_comp)|0); - $1 = HEAP32[14408>>2]|0; - $2 = ($1|0)!=(0); - $3 = ($0|0)!=(0|0); - $or$cond = $3 & $2; - if (!($or$cond)) { - return ($0|0); - } - $4 = HEAP32[$x>>2]|0; - $5 = HEAP32[$y>>2]|0; - $6 = ($req_comp|0)==(0); - if ($6) { - $7 = HEAP32[$comp>>2]|0; - $11 = $7; - } else { - $11 = $req_comp; - } - $8 = $5 >> 1; - $9 = ($8|0)>(0); - if (!($9)) { - return ($0|0); - } - $10 = ($4|0)>(0); - $12 = ($11|0)>(0); - $13 = (($5) + -1)|0; - $row$06 = 0; - while(1) { - if ($10) { - $14 = Math_imul($row$06, $4)|0; - $15 = (($13) - ($row$06))|0; - $16 = Math_imul($15, $4)|0; - $col$04 = 0; - while(1) { - if ($12) { - $17 = (($col$04) + ($14))|0; - $18 = Math_imul($17, $11)|0; - $19 = (($col$04) + ($16))|0; - $20 = Math_imul($19, $11)|0; - $z$03 = 0; - while(1) { - $21 = (($z$03) + ($18))|0; - $22 = (($0) + ($21)|0); - $23 = HEAP8[$22>>0]|0; - $24 = (($z$03) + ($20))|0; - $25 = (($0) + ($24)|0); - $26 = HEAP8[$25>>0]|0; - HEAP8[$22>>0] = $26; - HEAP8[$25>>0] = $23; - $27 = (($z$03) + 1)|0; - $exitcond = ($27|0)==($11|0); - if ($exitcond) { - break; - } else { - $z$03 = $27; - } - } - } - $28 = (($col$04) + 1)|0; - $exitcond7 = ($28|0)==($4|0); - if ($exitcond7) { - break; - } else { - $col$04 = $28; - } - } - } - $29 = (($row$06) + 1)|0; - $exitcond8 = ($29|0)==($8|0); - if ($exitcond8) { - break; - } else { - $row$06 = $29; - } - } - return ($0|0); -} -function _stbi__start_callbacks($s,$c,$user) { - $s = $s|0; - $c = $c|0; - $user = $user|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($s)) + 16|0); - ;HEAP32[$0>>2]=HEAP32[$c>>2]|0;HEAP32[$0+4>>2]=HEAP32[$c+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$c+8>>2]|0; - $1 = ((($s)) + 28|0); - HEAP32[$1>>2] = $user; - $2 = ((($s)) + 36|0); - HEAP32[$2>>2] = 128; - $3 = ((($s)) + 32|0); - HEAP32[$3>>2] = 1; - $4 = ((($s)) + 40|0); - $5 = ((($s)) + 176|0); - HEAP32[$5>>2] = $4; - _stbi__refill_buffer($s); - return; -} -function _stbi__malloc($size) { - $size = $size|0; - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_malloc($size)|0); - return ($0|0); -} -function _stbi__do_zlib($a,$obuf,$olen,$exp,$parse_header) { - $a = $a|0; - $obuf = $obuf|0; - $olen = $olen|0; - $exp = $exp|0; - $parse_header = $parse_header|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($a)) + 20|0); - HEAP32[$0>>2] = $obuf; - $1 = ((($a)) + 16|0); - HEAP32[$1>>2] = $obuf; - $2 = (($obuf) + ($olen)|0); - $3 = ((($a)) + 24|0); - HEAP32[$3>>2] = $2; - $4 = ((($a)) + 28|0); - HEAP32[$4>>2] = $exp; - $5 = (_stbi__parse_zlib($a,$parse_header)|0); - return ($5|0); -} -function _LoadDDS($agg$result,$fileName) { - $agg$result = $agg$result|0; - $fileName = $fileName|0; - var $$ = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; - var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0; - var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0; - var $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $bufsize$0 = 0, $exitcond = 0, $exitcond13 = 0, $filecode = 0, $header = 0, $i$09 = 0, $i2$011 = 0, $i3$08 = 0, $image$sroa$0$0 = 0; - var $image$sroa$0$1 = 0, $image$sroa$0$2 = 0, $image$sroa$0$3 = 0, $image$sroa$26$0 = 0, $image$sroa$26$1 = 0, $image$sroa$41$0 = 0, $image$sroa$41$1 = 0, $image$sroa$56$0 = 0, $image$sroa$56$1 = 0, $image$sroa$56$2 = 0, $image$sroa$59$0 = 0, $image$sroa$59$1 = 0, $image$sroa$59$2 = 0, $image$sroa$59$3 = 0, $or$cond = 0, $or$cond3 = 0, $or$cond5 = 0, $switch = 0, $vararg_buffer = 0, $vararg_buffer1 = 0; - var $vararg_buffer12 = 0, $vararg_buffer16 = 0, $vararg_buffer20 = 0, $vararg_buffer24 = 0, $vararg_buffer4 = 0, $vararg_buffer8 = 0, $vararg_ptr11 = 0, $vararg_ptr15 = 0, $vararg_ptr19 = 0, $vararg_ptr23 = 0, $vararg_ptr7 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 192|0; - $vararg_buffer24 = sp + 16|0; - $vararg_buffer20 = sp + 56|0; - $vararg_buffer16 = sp + 48|0; - $vararg_buffer12 = sp + 40|0; - $vararg_buffer8 = sp + 24|0; - $vararg_buffer4 = sp + 32|0; - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $filecode = sp + 188|0; - $header = sp + 64|0; - $0 = (_fopen(($fileName|0),(19952|0))|0); - $1 = ($0|0)==(0|0); - if ($1) { - HEAP32[$vararg_buffer>>2] = $fileName; - _TraceLog(2,24344,$vararg_buffer); - $image$sroa$0$3 = 0;$image$sroa$26$1 = 0;$image$sroa$41$1 = 0;$image$sroa$56$2 = 0;$image$sroa$59$3 = 0; - HEAP32[$agg$result>>2] = $image$sroa$0$3; - $86 = ((($agg$result)) + 4|0); - HEAP32[$86>>2] = $image$sroa$26$1; - $87 = ((($agg$result)) + 8|0); - HEAP32[$87>>2] = $image$sroa$41$1; - $88 = ((($agg$result)) + 12|0); - HEAP32[$88>>2] = $image$sroa$56$2; - $89 = ((($agg$result)) + 16|0); - HEAP32[$89>>2] = $image$sroa$59$3; - STACKTOP = sp;return; - } - (_fread(($filecode|0),1,4,($0|0))|0); - $2 = (_strncmp($filecode,24384,4)|0); - $3 = ($2|0)==(0); - if ($3) { - (_fread(($header|0),124,1,($0|0))|0); - HEAP32[$vararg_buffer4>>2] = $fileName; - $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); - HEAP32[$vararg_ptr7>>2] = 124; - _TraceLog(3,24440,$vararg_buffer4); - $4 = ((($header)) + 72|0); - $5 = HEAP32[$4>>2]|0; - HEAP32[$vararg_buffer8>>2] = $fileName; - $vararg_ptr11 = ((($vararg_buffer8)) + 4|0); - HEAP32[$vararg_ptr11>>2] = $5; - _TraceLog(3,24472,$vararg_buffer8); - $6 = ((($header)) + 76|0); - $7 = HEAP32[$6>>2]|0; - HEAP32[$vararg_buffer12>>2] = $fileName; - $vararg_ptr15 = ((($vararg_buffer12)) + 4|0); - HEAP32[$vararg_ptr15>>2] = $7; - _TraceLog(3,24512,$vararg_buffer12); - $8 = ((($header)) + 80|0); - $9 = HEAP32[$8>>2]|0; - HEAP32[$vararg_buffer16>>2] = $fileName; - $vararg_ptr19 = ((($vararg_buffer16)) + 4|0); - HEAP32[$vararg_ptr19>>2] = $9; - _TraceLog(3,24552,$vararg_buffer16); - $10 = ((($header)) + 84|0); - $11 = HEAP32[$10>>2]|0; - HEAP32[$vararg_buffer20>>2] = $fileName; - $vararg_ptr23 = ((($vararg_buffer20)) + 4|0); - HEAP32[$vararg_ptr23>>2] = $11; - _TraceLog(3,24584,$vararg_buffer20); - $12 = ((($header)) + 12|0); - $13 = HEAP32[$12>>2]|0; - $14 = ((($header)) + 8|0); - $15 = HEAP32[$14>>2]|0; - $16 = HEAP32[$10>>2]|0; - $17 = ($16|0)==(16); - do { - if ($17) { - $18 = HEAP32[$6>>2]|0; - if ((($18|0) == 64)) { - $19 = $13 << 1; - $20 = Math_imul($19, $15)|0; - $21 = (_malloc($20)|0); - (_fread(($21|0),($20|0),1,($0|0))|0); - $image$sroa$0$0 = $21;$image$sroa$59$0 = 3; - break; - } else if (!((($18|0) == 65))) { - $image$sroa$0$0 = 0;$image$sroa$59$0 = 0; - break; - } - $22 = ((($header)) + 100|0); - $23 = HEAP32[$22>>2]|0; - if ((($23|0) == 32768)) { - $24 = Math_imul($15, $13)|0; - $25 = $24 << 1; - $26 = (_malloc($25)|0); - (_fread(($26|0),($25|0),1,($0|0))|0); - $27 = ($24|0)>(0); - if (!($27)) { - $image$sroa$0$0 = $26;$image$sroa$59$0 = 5; + $15 = ((($6)) + 4|0); + $16 = ((($8)) + 4|0); + $17 = ((($0)) + 16|0); + $18 = ((($8)) + 8|0); + $19 = ($1|0)==(2); + $20 = ((($8)) + 8|0); + $21 = ((($8)) + 8|0); + $22 = ((($0)) + 16|0); + $23 = ($1|0)==(2); + $24 = ($1|0)==(2); + $$0206 = 0;$$0211 = 0;$$0214 = 0;$$0217 = 0;$$0228 = 0;$$0231 = 0;$$0235 = 0;$$0241 = 1;$$0245 = 0; + L7: while(1) { + _stbi__get_chunk_header($6,$8); + $25 = HEAP32[$15>>2]|0; + $switch$split2D = ($25|0)<(1229472850); + L9: do { + if ($switch$split2D) { + $switch$split52D = ($25|0)<(1229209940); + if ($switch$split52D) { + switch ($25|0) { + case 1130840649: { break; } - $28 = Math_imul($15, $13)|0; - $i$09 = 0; - while(1) { - $29 = (($26) + ($i$09<<1)|0); - $30 = HEAP16[$29>>1]|0; - $31 = $30&65535; - $32 = ($30&65535) >>> 15; - $33 = $32&65535; - $34 = $31 << 1; - $35 = $34 | $33; - $36 = $35&65535; - HEAP16[$29>>1] = $36; - $37 = (($i$09) + 1)|0; - $exitcond = ($37|0)==($28|0); - if ($exitcond) { - $image$sroa$0$0 = $26;$image$sroa$59$0 = 5; - break; - } else { - $i$09 = $37; - } + default: { + label = 103; + break L9; } - } else if ((($23|0) == 61440)) { - $38 = Math_imul($15, $13)|0; - $39 = $38 << 1; - $40 = (_malloc($39)|0); - (_fread(($40|0),($39|0),1,($0|0))|0); - $41 = ($38|0)>(0); - if (!($41)) { - $image$sroa$0$0 = $40;$image$sroa$59$0 = 6; - break; } - $42 = Math_imul($15, $13)|0; - $i2$011 = 0; - while(1) { - $43 = (($40) + ($i2$011<<1)|0); - $44 = HEAP16[$43>>1]|0; - $45 = $44&65535; - $46 = ($44&65535) >>> 12; - $47 = $46&65535; - $48 = $45 << 4; - $49 = $48 | $47; - $50 = $49&65535; - HEAP16[$43>>1] = $50; - $51 = (($i2$011) + 1)|0; - $exitcond13 = ($51|0)==($42|0); - if ($exitcond13) { - $image$sroa$0$0 = $40;$image$sroa$59$0 = 6; - break; - } else { - $i2$011 = $51; - } - } - } else { - $image$sroa$0$0 = 0;$image$sroa$59$0 = 0; + $26 = HEAP32[$6>>2]|0; + _stbi__skip($8,$26); + $$1212 = $$0211;$$1215 = $$0214;$$1229 = 1;$$1246 = $$0245;$$2233 = $$0231;$$2237 = $$0235;$$2243 = $$0241;$$3209 = $$0206;$$3220 = $$0217; break; } + $switch$split112D = ($25|0)<(1229278788); + if (!($switch$split112D)) { + switch ($25|0) { + case 1229278788: { + label = 85; + break L7; + break; + } + default: { + label = 103; + break L9; + } + } + } + switch ($25|0) { + case 1229209940: { + break; + } + default: { + label = 103; + break L9; + } + } + $130 = ($$0241|0)==(0); + if (!($130)) { + label = 70; + break L7; + } + $131 = ($$0206<<24>>24)==(0); + $132 = ($$0245|0)!=(0); + $or$cond = $132 | $131; + if (!($or$cond)) { + label = 72; + break L7; + } + if ($24) { + label = 74; + break L7; + } + $135 = HEAP32[$6>>2]|0; + $136 = (($135) + ($$0214))|0; + $137 = ($136|0)<($$0214|0); + if ($137) { + $$6$ph = 0; + break L7; + } + $138 = ($136>>>0)>($$0217>>>0); + if ($138) { + $139 = ($$0217|0)==(0); + $140 = ($135>>>0)>(4096); + $141 = $140 ? $135 : 4096; + $$$0217 = $139 ? $141 : $$0217; + $142 = HEAP32[$6>>2]|0; + $143 = (($142) + ($$0214))|0; + $$1218 = $$$0217; + while(1) { + $144 = ($143>>>0)>($$1218>>>0); + $145 = $$1218 << 1; + if ($144) { + $$1218 = $145; + } else { + break; + } + } + $146 = HEAP32[$10>>2]|0; + $147 = (_realloc($146,$$1218)|0); + $148 = ($147|0)==(0|0); + if ($148) { + label = 81; + break L7; + } + HEAP32[$10>>2] = $147; + $$2219 = $$1218; + } else { + $$2219 = $$0217; + } + $149 = HEAP32[$10>>2]|0; + $150 = (($149) + ($$0214)|0); + $151 = HEAP32[$6>>2]|0; + $152 = (_stbi__getn($8,$150,$151)|0); + $153 = ($152|0)==(0); + if ($153) { + label = 83; + break L7; + } + $154 = HEAP32[$6>>2]|0; + $155 = (($154) + ($$0214))|0; + $$1212 = $$0211;$$1215 = $155;$$1229 = $$0228;$$1246 = $$0245;$$2233 = $$0231;$$2237 = $$0235;$$2243 = $$0241;$$3209 = $$0206;$$3220 = $$2219; } else { - $image$sroa$0$0 = 0;$image$sroa$59$0 = 0; - } - } while(0); - $52 = HEAP32[$6>>2]|0; - $53 = ($52|0)==(64); - $54 = HEAP32[$10>>2]|0; - $55 = ($54|0)==(24); - $or$cond = $53 & $55; - L22: do { - if ($or$cond) { - $56 = ($13*3)|0; - $57 = Math_imul($56, $15)|0; - $58 = (_malloc($57)|0); - (_fread(($58|0),($57|0),1,($0|0))|0); - $image$sroa$0$1 = $58;$image$sroa$56$0 = 1;$image$sroa$59$1 = 4; - } else { - $59 = ($52|0)==(65); - $60 = ($54|0)==(32); - $or$cond3 = $59 & $60; - if ($or$cond3) { - $61 = $13 << 2; - $62 = Math_imul($61, $15)|0; - $63 = (_malloc($62)|0); - (_fread(($63|0),($62|0),1,($0|0))|0); - $64 = ($62|0)>(0); - if ($64) { - $i3$08 = 0; + $switch$split82D = ($25|0)<(1347179589); + if ($switch$split82D) { + switch ($25|0) { + case 1229472850: { + break; + } + default: { + label = 103; + break L9; + } + } + $27 = ($$0241|0)==(0); + if ($27) { + label = 7; + break L7; + } + $28 = HEAP32[$6>>2]|0; + $29 = ($28|0)==(13); + if (!($29)) { + label = 9; + break L7; + } + $30 = (_stbi__get32be($8)|0); + HEAP32[$8>>2] = $30; + $31 = ($30>>>0)>(16777216); + if ($31) { + label = 11; + break L7; + } + $32 = (_stbi__get32be($8)|0); + HEAP32[$16>>2] = $32; + $33 = ($32>>>0)>(16777216); + if ($33) { + label = 13; + break L7; + } + $34 = (_stbi__get8($8)|0); + $35 = $34&255; + HEAP32[$17>>2] = $35; + switch ($34<<24>>24) { + case 16: case 8: case 4: case 2: case 1: { + break; + } + default: { + label = 15; + break L7; + } + } + $36 = (_stbi__get8($8)|0); + $37 = $36&255; + $38 = ($36&255)>(6); + if ($38) { + label = 17; + break L7; + } + $39 = ($36<<24>>24)==(3); + if ($39) { + $40 = HEAP32[$17>>2]|0; + $41 = ($40|0)==(16); + if ($41) { + label = 20; + break L7; + } else { + $$1207 = 3; + } } else { - $image$sroa$0$1 = $63;$image$sroa$56$0 = 1;$image$sroa$59$1 = 7; + $42 = $37 & 1; + $43 = ($42|0)==(0); + if ($43) { + $$1207 = $$0206; + } else { + label = 22; + break L7; + } + } + $44 = (_stbi__get8($8)|0); + $45 = ($44<<24>>24)==(0); + if (!($45)) { + label = 24; + break L7; + } + $46 = (_stbi__get8($8)|0); + $47 = ($46<<24>>24)==(0); + if (!($47)) { + label = 26; + break L7; + } + $48 = (_stbi__get8($8)|0); + $49 = $48&255; + $50 = ($48&255)>(1); + if ($50) { + label = 28; + break L7; + } + $51 = HEAP32[$8>>2]|0; + $52 = ($51|0)==(0); + if ($52) { + label = 31; + break L7; + } + $53 = HEAP32[$16>>2]|0; + $54 = ($53|0)==(0); + if ($54) { + label = 31; + break L7; + } + $55 = ($$1207<<24>>24)==(0); + $56 = (1073741824 / ($51>>>0))&-1; + if (!($55)) { + HEAP32[$20>>2] = 1; + $63 = $56 >>> 2; + $64 = ($63>>>0)<($53>>>0); + if ($64) { + label = 37; + break L7; + } else { + $$1212 = $$0211;$$1215 = $$0214;$$1229 = $$0228;$$1246 = $$0245;$$2233 = $37;$$2237 = $49;$$2243 = 0;$$3209 = $$1207;$$3220 = $$0217; + break; + } + } + $57 = $37 & 2; + $58 = $57 | 1; + $59 = $37 >>> 2; + $$lobit = $59 & 1; + $60 = (($58) + ($$lobit))|0; + HEAP32[$18>>2] = $60; + $61 = (($56>>>0) / ($60>>>0))&-1; + $62 = ($61>>>0)<($53>>>0); + if ($62) { + label = 34; + break L7; + } + if ($19) { + $$6$ph = 1; + break L7; + } else { + $$1212 = $$0211;$$1215 = $$0214;$$1229 = $$0228;$$1246 = $$0245;$$2233 = $37;$$2237 = $49;$$2243 = 0;$$3209 = 0;$$3220 = $$0217; + break; + } + } + $switch$split142D = ($25|0)<(1951551059); + if ($switch$split142D) { + switch ($25|0) { + case 1347179589: { + break; + } + default: { + label = 103; + break L9; + } + } + $65 = ($$0241|0)==(0); + if (!($65)) { + label = 39; + break L7; + } + $66 = HEAP32[$6>>2]|0; + $67 = ($66>>>0)>(768); + if ($67) { + label = 41; + break L7; + } + $68 = (($66>>>0) / 3)&-1; + $69 = ($68*3)|0; + $70 = ($69|0)==($66|0); + if (!($70)) { + label = 44; + break L7; + } + $71 = ($66>>>0)>(2); + if ($71) { + $$0226593 = 0; + } else { + $$1212 = $$0211;$$1215 = $$0214;$$1229 = $$0228;$$1246 = $68;$$2233 = $$0231;$$2237 = $$0235;$$2243 = 0;$$3209 = $$0206;$$3220 = $$0217; break; } while(1) { - $65 = (($63) + ($i3$08)|0); - $66 = HEAP8[$65>>0]|0; - $67 = $i3$08 | 2; - $68 = (($63) + ($67)|0); - $69 = HEAP8[$68>>0]|0; - HEAP8[$65>>0] = $69; - HEAP8[$68>>0] = $66; - $70 = (($i3$08) + 4)|0; - $71 = ($70|0)<($62|0); - if ($71) { - $i3$08 = $70; + $72 = (_stbi__get8($8)|0); + $73 = $$0226593 << 2; + $74 = (($3) + ($73)|0); + HEAP8[$74>>0] = $72; + $75 = (_stbi__get8($8)|0); + $76 = $73 | 1; + $77 = (($3) + ($76)|0); + HEAP8[$77>>0] = $75; + $78 = (_stbi__get8($8)|0); + $79 = $73 | 2; + $80 = (($3) + ($79)|0); + HEAP8[$80>>0] = $78; + $81 = $73 | 3; + $82 = (($3) + ($81)|0); + HEAP8[$82>>0] = -1; + $83 = (($$0226593) + 1)|0; + $84 = ($83>>>0)<($68>>>0); + if ($84) { + $$0226593 = $83; } else { - $image$sroa$0$1 = $63;$image$sroa$56$0 = 1;$image$sroa$59$1 = 7; - break L22; + $$1212 = $$0211;$$1215 = $$0214;$$1229 = $$0228;$$1246 = $68;$$2233 = $$0231;$$2237 = $$0235;$$2243 = $$0241;$$3209 = $$0206;$$3220 = $$0217; + break L9; } } } - $72 = $52 & -2; - $switch = ($72|0)!=(4); - $73 = HEAP32[$8>>2]|0; - $74 = ($73|0)==(0); - $or$cond5 = $switch | $74; - if ($or$cond5) { - $image$sroa$0$1 = $image$sroa$0$0;$image$sroa$56$0 = 1;$image$sroa$59$1 = $image$sroa$59$0; - } else { - $75 = ((($header)) + 24|0); - $76 = HEAP32[$75>>2]|0; - $77 = ($76>>>0)>(1); - $78 = ((($header)) + 16|0); - $79 = HEAP32[$78>>2]|0; - $80 = $77&1; - $bufsize$0 = $79 << $80; - HEAP32[$vararg_buffer24>>2] = $79; - _TraceLog(3,24616,$vararg_buffer24); - $81 = (_malloc($bufsize$0)|0); - (_fread(($81|0),1,($bufsize$0|0),($0|0))|0); - $82 = HEAP32[$75>>2]|0; - $83 = HEAP32[$8>>2]|0; - if ((($83|0) == 894720068)) { - $image$sroa$0$1 = $81;$image$sroa$56$0 = $82;$image$sroa$59$1 = 11; - break; - } else if ((($83|0) == 827611204)) { - $84 = HEAP32[$6>>2]|0; - $85 = ($84|0)==(4); - $$ = $85 ? 8 : 9; - $image$sroa$0$1 = $81;$image$sroa$56$0 = $82;$image$sroa$59$1 = $$; - break; - } else if ((($83|0) == 861165636)) { - $image$sroa$0$1 = $81;$image$sroa$56$0 = $82;$image$sroa$59$1 = 10; + switch ($25|0) { + case 1951551059: { + break; + } + default: { + label = 103; + break L9; + } + } + $85 = ($$0241|0)==(0); + if (!($85)) { + label = 47; + break L7; + } + $86 = HEAP32[$10>>2]|0; + $87 = ($86|0)==(0|0); + if (!($87)) { + label = 49; + break L7; + } + $88 = ($$0206<<24>>24)==(0); + if (!($88)) { + if ($23) { + label = 52; + break L7; + } + $90 = ($$0245|0)==(0); + if ($90) { + label = 54; + break L7; + } + $91 = HEAP32[$6>>2]|0; + $92 = ($91>>>0)>($$0245>>>0); + if ($92) { + label = 58; + break L7; + } + $93 = HEAP32[$6>>2]|0; + $94 = ($93|0)==(0); + if ($94) { + $$1212 = $$0211;$$1215 = $$0214;$$1229 = $$0228;$$1246 = $$0245;$$2233 = $$0231;$$2237 = $$0235;$$2243 = 0;$$3209 = 4;$$3220 = $$0217; break; + } + $95 = HEAP32[$6>>2]|0; + $$1227588 = 0; + while(1) { + $96 = (_stbi__get8($8)|0); + $97 = $$1227588 << 2; + $98 = $97 | 3; + $99 = (($3) + ($98)|0); + HEAP8[$99>>0] = $96; + $100 = (($$1227588) + 1)|0; + $101 = ($100>>>0)<($95>>>0); + if ($101) { + $$1227588 = $100; + } else { + $$1212 = $$0211;$$1215 = $$0214;$$1229 = $$0228;$$1246 = $$0245;$$2233 = $$0231;$$2237 = $$0235;$$2243 = $$0241;$$3209 = 4;$$3220 = $$0217; + break L9; + } + } + } + $102 = HEAP32[$21>>2]|0; + $103 = $102 & 1; + $104 = ($103|0)==(0); + if ($104) { + label = 61; + break L7; + } + $105 = HEAP32[$6>>2]|0; + $106 = $102 << 1; + $107 = ($105|0)==($106|0); + if (!($107)) { + label = 63; + break L7; + } + $108 = HEAP32[$22>>2]|0; + $109 = ($108|0)==(16); + $110 = HEAP32[$21>>2]|0; + $111 = ($110|0)>(0); + if ($109) { + if ($111) { + $$0239591 = 0; } else { - $image$sroa$0$1 = $81;$image$sroa$56$0 = $82;$image$sroa$59$1 = $image$sroa$59$0; + $$1212 = 1;$$1215 = $$0214;$$1229 = $$0228;$$1246 = $$0245;$$2233 = $$0231;$$2237 = $$0235;$$2243 = 0;$$3209 = 0;$$3220 = $$0217; break; } + while(1) { + $112 = (_stbi__get16be($8)|0); + $113 = $112&65535; + $114 = (($5) + ($$0239591<<1)|0); + HEAP16[$114>>1] = $113; + $115 = (($$0239591) + 1)|0; + $116 = HEAP32[$21>>2]|0; + $117 = ($115|0)<($116|0); + if ($117) { + $$0239591 = $115; + } else { + $$1212 = 1;$$1215 = $$0214;$$1229 = $$0228;$$1246 = $$0245;$$2233 = $$0231;$$2237 = $$0235;$$2243 = $$0241;$$3209 = $$0206;$$3220 = $$0217; + break; + } + } + } else { + if ($111) { + $$1240589 = 0; + } else { + $$1212 = 1;$$1215 = $$0214;$$1229 = $$0228;$$1246 = $$0245;$$2233 = $$0231;$$2237 = $$0235;$$2243 = 0;$$3209 = 0;$$3220 = $$0217; + break; + } + while(1) { + $118 = (_stbi__get16be($8)|0); + $119 = $118 & 255; + $120 = HEAP32[$22>>2]|0; + $121 = (14115 + ($120)|0); + $122 = HEAP8[$121>>0]|0; + $123 = $122&255; + $124 = Math_imul($123, $119)|0; + $125 = $124&255; + $126 = (($4) + ($$1240589)|0); + HEAP8[$126>>0] = $125; + $127 = (($$1240589) + 1)|0; + $128 = HEAP32[$21>>2]|0; + $129 = ($127|0)<($128|0); + if ($129) { + $$1240589 = $127; + } else { + $$1212 = 1;$$1215 = $$0214;$$1229 = $$0228;$$1246 = $$0245;$$2233 = $$0231;$$2237 = $$0235;$$2243 = $$0241;$$3209 = $$0206;$$3220 = $$0217; + break; + } + } } } } while(0); - $image$sroa$0$2 = $image$sroa$0$1;$image$sroa$26$0 = $13;$image$sroa$41$0 = $15;$image$sroa$56$1 = $image$sroa$56$0;$image$sroa$59$2 = $image$sroa$59$1; - } else { - HEAP32[$vararg_buffer1>>2] = $fileName; - _TraceLog(2,24392,$vararg_buffer1); - $image$sroa$0$2 = 0;$image$sroa$26$0 = 0;$image$sroa$41$0 = 0;$image$sroa$56$1 = 0;$image$sroa$59$2 = 0; - } - (_fclose(($0|0))|0); - $image$sroa$0$3 = $image$sroa$0$2;$image$sroa$26$1 = $image$sroa$26$0;$image$sroa$41$1 = $image$sroa$41$0;$image$sroa$56$2 = $image$sroa$56$1;$image$sroa$59$3 = $image$sroa$59$2; - HEAP32[$agg$result>>2] = $image$sroa$0$3; - $86 = ((($agg$result)) + 4|0); - HEAP32[$86>>2] = $image$sroa$26$1; - $87 = ((($agg$result)) + 8|0); - HEAP32[$87>>2] = $image$sroa$41$1; - $88 = ((($agg$result)) + 12|0); - HEAP32[$88>>2] = $image$sroa$56$2; - $89 = ((($agg$result)) + 16|0); - HEAP32[$89>>2] = $image$sroa$59$3; - STACKTOP = sp;return; -} -function _LoadPKM($agg$result,$fileName) { - $agg$result = $agg$result|0; - $fileName = $fileName|0; - var $$ = 0, $$1 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; - var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0; - var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $header = 0, $image$sroa$0$0 = 0, $image$sroa$0$1 = 0, $image$sroa$10$0 = 0, $image$sroa$10$1 = 0, $image$sroa$12$0 = 0, $image$sroa$12$1 = 0, $image$sroa$4$0 = 0, $image$sroa$4$1 = 0, $image$sroa$7$0 = 0, $image$sroa$7$1 = 0; - var $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer4 = 0, $vararg_buffer7 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; - $vararg_buffer10 = sp + 32|0; - $vararg_buffer7 = sp; - $vararg_buffer4 = sp + 8|0; - $vararg_buffer1 = sp + 16|0; - $vararg_buffer = sp + 24|0; - $header = sp + 40|0; - $0 = (_fopen(($fileName|0),(19952|0))|0); - $1 = ($0|0)==(0|0); - if ($1) { - HEAP32[$vararg_buffer>>2] = $fileName; - _TraceLog(2,24152,$vararg_buffer); - $image$sroa$0$1 = 0;$image$sroa$10$1 = 0;$image$sroa$12$1 = 0;$image$sroa$4$1 = 0;$image$sroa$7$1 = 0; - HEAP32[$agg$result>>2] = $image$sroa$0$1; - $43 = ((($agg$result)) + 4|0); - HEAP32[$43>>2] = $image$sroa$4$1; - $44 = ((($agg$result)) + 8|0); - HEAP32[$44>>2] = $image$sroa$7$1; - $45 = ((($agg$result)) + 12|0); - HEAP32[$45>>2] = $image$sroa$10$1; - $46 = ((($agg$result)) + 16|0); - HEAP32[$46>>2] = $image$sroa$12$1; - STACKTOP = sp;return; - } - (_fread(($header|0),16,1,($0|0))|0); - $2 = (_strncmp($header,24192,4)|0); - $3 = ($2|0)==(0); - do { - if ($3) { - $4 = ((($header)) + 6|0); - $5 = HEAP16[$4>>1]|0; - $6 = $5&65535; - $7 = $6 << 8; - $8 = $6 >>> 8; - $9 = $7 | $8; - $10 = $9&65535; - HEAP16[$4>>1] = $10; - $11 = ((($header)) + 8|0); - $12 = HEAP16[$11>>1]|0; - $13 = $12&65535; - $14 = $13 << 8; - $15 = $13 >>> 8; - $16 = $14 | $15; - $17 = $16&65535; - HEAP16[$11>>1] = $17; - $18 = ((($header)) + 10|0); - $19 = HEAP16[$18>>1]|0; - $20 = $19&65535; - $21 = $20 << 8; - $22 = $20 >>> 8; - $23 = $21 | $22; - $24 = $23&65535; - HEAP16[$18>>1] = $24; - $25 = HEAP16[$11>>1]|0; - $26 = $25&65535; - HEAP32[$vararg_buffer4>>2] = $26; - _TraceLog(3,24248,$vararg_buffer4); - $27 = HEAP16[$18>>1]|0; - $28 = $27&65535; - HEAP32[$vararg_buffer7>>2] = $28; - _TraceLog(3,24280,$vararg_buffer7); - $29 = HEAP16[$4>>1]|0; - $30 = $29&65535; - HEAP32[$vararg_buffer10>>2] = $30; - _TraceLog(3,24312,$vararg_buffer10); - $31 = HEAP16[$11>>1]|0; - $32 = $31&65535; - $33 = HEAP16[$18>>1]|0; - $34 = $33&65535; - $35 = HEAP16[$4>>1]|0; - $36 = ($35<<16>>16)==(3); - $$ = $36 ? 8 : 4; - $37 = Math_imul($34, $32)|0; - $38 = Math_imul($37, $$)|0; - $39 = $38 >>> 3; - $40 = (_malloc($39)|0); - (_fread(($40|0),1,($39|0),($0|0))|0); - $41 = HEAP16[$4>>1]|0; - if ((($41<<16>>16) == 1)) { - $image$sroa$0$0 = $40;$image$sroa$10$0 = 1;$image$sroa$12$0 = 13;$image$sroa$4$0 = $32;$image$sroa$7$0 = $34; - break; - } else if ((($41<<16>>16) == 0)) { - $image$sroa$0$0 = $40;$image$sroa$10$0 = 1;$image$sroa$12$0 = 12;$image$sroa$4$0 = $32;$image$sroa$7$0 = $34; - break; - } else { - $42 = ($41<<16>>16)==(3); - $$1 = $42 ? 14 : 0; - $image$sroa$0$0 = $40;$image$sroa$10$0 = 1;$image$sroa$12$0 = $$1;$image$sroa$4$0 = $32;$image$sroa$7$0 = $34; + if ((label|0) == 103) { + label = 0; + $202 = ($$0241|0)==(0); + if (!($202)) { + label = 104; break; } - } else { - HEAP32[$vararg_buffer1>>2] = $fileName; - _TraceLog(2,24200,$vararg_buffer1); - $image$sroa$0$0 = 0;$image$sroa$10$0 = 0;$image$sroa$12$0 = 0;$image$sroa$4$0 = 0;$image$sroa$7$0 = 0; + $203 = $25 & 536870912; + $204 = ($203|0)==(0); + if ($204) { + label = 106; + break; + } + $213 = HEAP32[$6>>2]|0; + _stbi__skip($8,$213); + $$1212 = $$0211;$$1215 = $$0214;$$1229 = $$0228;$$1246 = $$0245;$$2233 = $$0231;$$2237 = $$0235;$$2243 = 0;$$3209 = $$0206;$$3220 = $$0217; } - } while(0); - (_fclose(($0|0))|0); - $image$sroa$0$1 = $image$sroa$0$0;$image$sroa$10$1 = $image$sroa$10$0;$image$sroa$12$1 = $image$sroa$12$0;$image$sroa$4$1 = $image$sroa$4$0;$image$sroa$7$1 = $image$sroa$7$0; - HEAP32[$agg$result>>2] = $image$sroa$0$1; - $43 = ((($agg$result)) + 4|0); - HEAP32[$43>>2] = $image$sroa$4$1; - $44 = ((($agg$result)) + 8|0); - HEAP32[$44>>2] = $image$sroa$7$1; - $45 = ((($agg$result)) + 12|0); - HEAP32[$45>>2] = $image$sroa$10$1; - $46 = ((($agg$result)) + 16|0); - HEAP32[$46>>2] = $image$sroa$12$1; - STACKTOP = sp;return; -} -function _LoadKTX($agg$result,$fileName) { - $agg$result = $agg$result|0; - $fileName = $fileName|0; - var $$ = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; - var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $dataSize = 0, $header = 0, $i$01 = 0, $image$sroa$0$0 = 0, $image$sroa$0$1 = 0, $image$sroa$3$0 = 0, $image$sroa$3$1 = 0, $image$sroa$5$0 = 0, $image$sroa$5$1 = 0, $image$sroa$7$0 = 0, $image$sroa$7$1 = 0, $image$sroa$9$0 = 0, $image$sroa$9$1 = 0, $unused = 0, $vararg_buffer = 0; - var $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer4 = 0, $vararg_buffer7 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 112|0; - $vararg_buffer10 = sp + 32|0; - $vararg_buffer7 = sp; - $vararg_buffer4 = sp + 8|0; - $vararg_buffer1 = sp + 16|0; - $vararg_buffer = sp + 24|0; - $header = sp + 40|0; - $unused = sp + 104|0; - $dataSize = sp + 36|0; - $0 = (_fopen(($fileName|0),(19952|0))|0); - $1 = ($0|0)==(0|0); - if ($1) { - HEAP32[$vararg_buffer>>2] = $fileName; - _TraceLog(2,23968,$vararg_buffer); - $image$sroa$0$1 = 0;$image$sroa$3$1 = 0;$image$sroa$5$1 = 0;$image$sroa$7$1 = 0;$image$sroa$9$1 = 0; - HEAP32[$agg$result>>2] = $image$sroa$0$1; - $40 = ((($agg$result)) + 4|0); - HEAP32[$40>>2] = $image$sroa$3$1; - $41 = ((($agg$result)) + 8|0); - HEAP32[$41>>2] = $image$sroa$5$1; - $42 = ((($agg$result)) + 12|0); - HEAP32[$42>>2] = $image$sroa$7$1; - $43 = ((($agg$result)) + 16|0); - HEAP32[$43>>2] = $image$sroa$9$1; - STACKTOP = sp;return; + (_stbi__get32be($8)|0); + $$0206 = $$3209;$$0211 = $$1212;$$0214 = $$1215;$$0217 = $$3220;$$0228 = $$1229;$$0231 = $$2233;$$0235 = $$2237;$$0241 = $$2243;$$0245 = $$1246; } - (_fread(($header|0),64,1,($0|0))|0); - $2 = ((($header)) + 1|0); - $3 = HEAP8[$2>>0]|0; - $4 = ($3<<24>>24)==(75); - do { - if ($4) { - $5 = ((($header)) + 2|0); - $6 = HEAP8[$5>>0]|0; - $7 = ($6<<24>>24)==(84); - if ($7) { - $8 = ((($header)) + 3|0); - $9 = HEAP8[$8>>0]|0; - $10 = ($9<<24>>24)==(88); - if ($10) { - $11 = ((($header)) + 4|0); - $12 = HEAP8[$11>>0]|0; - $13 = ($12<<24>>24)==(32); - if ($13) { - $14 = ((($header)) + 5|0); - $15 = HEAP8[$14>>0]|0; - $16 = ($15<<24>>24)==(49); - if ($16) { - $17 = ((($header)) + 6|0); - $18 = HEAP8[$17>>0]|0; - $19 = ($18<<24>>24)==(49); - if ($19) { - $20 = ((($header)) + 36|0); - $21 = HEAP32[$20>>2]|0; - $22 = ((($header)) + 40|0); - $23 = HEAP32[$22>>2]|0; - $24 = ((($header)) + 56|0); - $25 = HEAP32[$24>>2]|0; - HEAP32[$vararg_buffer4>>2] = $21; - _TraceLog(3,24056,$vararg_buffer4); - $26 = HEAP32[$22>>2]|0; - HEAP32[$vararg_buffer7>>2] = $26; - _TraceLog(3,24088,$vararg_buffer7); - $27 = ((($header)) + 28|0); - $28 = HEAP32[$27>>2]|0; - HEAP32[$vararg_buffer10>>2] = $28; - _TraceLog(3,24120,$vararg_buffer10); - $29 = ((($header)) + 60|0); - $30 = HEAP32[$29>>2]|0; - $31 = ($30|0)==(0); - if (!($31)) { - $32 = HEAP32[$29>>2]|0; - $i$01 = 0; - while(1) { - (_fread(($unused|0),1,1,($0|0))|0); - $33 = (($i$01) + 1)|0; - $34 = ($33>>>0)<($32>>>0); - if ($34) { - $i$01 = $33; + switch (label|0) { + case 7: { + _stbi__err(13889); + $$6$ph = 0; + break; + } + case 9: { + _stbi__err(13903); + $$6$ph = 0; + break; + } + case 11: { + _stbi__err(13916); + $$6$ph = 0; + break; + } + case 13: { + _stbi__err(13916); + $$6$ph = 0; + break; + } + case 15: { + _stbi__err(13926); + $$6$ph = 0; + break; + } + case 17: { + _stbi__err(13946); + $$6$ph = 0; + break; + } + case 20: { + _stbi__err(13946); + $$6$ph = 0; + break; + } + case 22: { + _stbi__err(13946); + $$6$ph = 0; + break; + } + case 24: { + _stbi__err(13956); + $$6$ph = 0; + break; + } + case 26: { + _stbi__err(13972); + $$6$ph = 0; + break; + } + case 28: { + _stbi__err(13990); + $$6$ph = 0; + break; + } + case 31: { + _stbi__err(14011); + $$6$ph = 0; + break; + } + case 34: { + _stbi__err(13916); + $$6$ph = 0; + break; + } + case 37: { + _stbi__err(13916); + $$6$ph = 0; + break; + } + case 39: { + _stbi__err(14025); + $$6$ph = 0; + break; + } + case 41: { + _stbi__err(14040); + $$6$ph = 0; + break; + } + case 44: { + _stbi__err(14040); + $$6$ph = 0; + break; + } + case 47: { + _stbi__err(14025); + $$6$ph = 0; + break; + } + case 49: { + _stbi__err(14053); + $$6$ph = 0; + break; + } + case 52: { + $89 = ((($8)) + 8|0); + HEAP32[$89>>2] = 4; + $$6$ph = 1; + break; + } + case 54: { + _stbi__err(14069); + $$6$ph = 0; + break; + } + case 58: { + _stbi__err(14086); + $$6$ph = 0; + break; + } + case 61: { + _stbi__err(14099); + $$6$ph = 0; + break; + } + case 63: { + _stbi__err(14086); + $$6$ph = 0; + break; + } + case 70: { + _stbi__err(14025); + $$6$ph = 0; + break; + } + case 72: { + _stbi__err(14124); + $$6$ph = 0; + break; + } + case 74: { + $133 = $$0206&255; + $134 = ((($8)) + 8|0); + HEAP32[$134>>2] = $133; + $$6$ph = 1; + break; + } + case 81: { + _stbi__err(13773); + $$6$ph = 0; + break; + } + case 83: { + _stbi__err(14132); + $$6$ph = 0; + break; + } + case 85: { + $156 = ($$0241|0)==(0); + do { + if ($156) { + $157 = ($1|0)==(0); + if ($157) { + $158 = HEAP32[$10>>2]|0; + $159 = ($158|0)==(0|0); + if ($159) { + _stbi__err(14142); + $$4 = 0; + break; + } + $160 = HEAP32[$8>>2]|0; + $161 = ((($0)) + 16|0); + $162 = HEAP32[$161>>2]|0; + $163 = Math_imul($162, $160)|0; + $164 = (($163) + 7)|0; + $165 = $164 >>> 3; + $166 = ((($8)) + 4|0); + $167 = HEAP32[$166>>2]|0; + $168 = ((($8)) + 8|0); + $169 = HEAP32[$168>>2]|0; + $170 = Math_imul($169, $167)|0; + $171 = Math_imul($170, $165)|0; + $172 = (($171) + ($167))|0; + HEAP32[$7>>2] = $172; + $173 = ($$0228|0)!=(0); + $174 = $173 ^ 1; + $175 = $174&1; + $176 = (_stbi_zlib_decode_malloc_guesssize_headerflag($158,$$0214,$172,$7,$175)|0); + HEAP32[$9>>2] = $176; + $177 = ($176|0)==(0|0); + if ($177) { + $$4 = 0; + } else { + $178 = HEAP32[$10>>2]|0; + _free($178); + HEAP32[$10>>2] = 0; + $179 = HEAP32[$168>>2]|0; + $180 = (($179) + 1)|0; + $notlhs = ($180|0)!=($2|0); + $notrhs = ($2|0)==(3); + $or$cond5$not = $notrhs | $notlhs; + $181 = ($$0206<<24>>24)!=(0); + $or$cond7 = $181 | $or$cond5$not; + $182 = ($$0211<<24>>24)==(0); + $or$cond248 = $182 & $or$cond7; + $$254 = $or$cond248 ? $179 : $180; + $183 = ((($8)) + 12|0); + HEAP32[$183>>2] = $$254; + $184 = HEAP32[$9>>2]|0; + $185 = HEAP32[$7>>2]|0; + $186 = HEAP32[$161>>2]|0; + $187 = (_stbi__create_png_image($0,$184,$185,$$254,$186,$$0231,$$0235)|0); + $188 = ($187|0)==(0); + if ($188) { + $$4 = 0; + } else { + do { + if (!($182)) { + $189 = HEAP32[$161>>2]|0; + $190 = ($189|0)==(16); + if ($190) { + $191 = HEAP32[$183>>2]|0; + _stbi__compute_transparency16($0,$5,$191); + break; } else { + $192 = HEAP32[$183>>2]|0; + _stbi__compute_transparency($0,$4,$192); break; } } + } while(0); + $193 = HEAP32[8043]|0; + $194 = ($193|0)!=(0); + $or$cond11 = $173 & $194; + if ($or$cond11) { + $195 = HEAP32[$183>>2]|0; + $196 = ($195|0)>(2); + if ($196) { + _stbi__de_iphone($0); + } } - (_fread(($dataSize|0),4,1,($0|0))|0); - $35 = HEAP32[$dataSize>>2]|0; - $36 = (_malloc($35)|0); - $37 = HEAP32[$dataSize>>2]|0; - (_fread(($36|0),1,($37|0),($0|0))|0); - $38 = HEAP32[$27>>2]|0; - if ((($38|0) == 37492)) { - $image$sroa$0$0 = $36;$image$sroa$3$0 = $21;$image$sroa$5$0 = $23;$image$sroa$7$0 = $25;$image$sroa$9$0 = 13; - break; - } else if ((($38|0) == 36196)) { - $image$sroa$0$0 = $36;$image$sroa$3$0 = $21;$image$sroa$5$0 = $23;$image$sroa$7$0 = $25;$image$sroa$9$0 = 12; - break; - } else { - $39 = ($38|0)==(37496); - $$ = $39 ? 14 : 0; - $image$sroa$0$0 = $36;$image$sroa$3$0 = $21;$image$sroa$5$0 = $23;$image$sroa$7$0 = $25;$image$sroa$9$0 = $$; - break; + if ($181) { + $197 = $$0206&255; + HEAP32[$168>>2] = $197; + $198 = ($2|0)>(2); + $$ = $198 ? $2 : $197; + HEAP32[$183>>2] = $$; + $199 = (_stbi__expand_png_palette($0,$3,$$)|0); + $200 = ($199|0)==(0); + if ($200) { + $$4 = 0; + break; + } } - } else { - label = 9; + $201 = HEAP32[$9>>2]|0; + _free($201); + HEAP32[$9>>2] = 0; + $$4 = 1; } - } else { - label = 9; } } else { - label = 9; + $$4 = 1; } } else { - label = 9; + _stbi__err(14025); + $$4 = 0; } + } while(0); + $$6$ph = $$4; + break; + } + case 104: { + _stbi__err(14025); + $$6$ph = 0; + break; + } + case 106: { + $205 = $25 >>> 24; + $206 = $205&255; + HEAP8[14150] = $206; + $207 = HEAP32[$15>>2]|0; + $208 = $207 >>> 16; + $209 = $208&255; + HEAP8[(14151)>>0] = $209; + $210 = $207 >>> 8; + $211 = $210&255; + HEAP8[(14152)>>0] = $211; + $212 = $207&255; + HEAP8[(14153)>>0] = $212; + _stbi__err(14150); + $$6$ph = 0; + break; + } + } + $$7 = $$6$ph; + STACKTOP = sp;return ($$7|0); +} +function _stbi__convert_format($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$0151255 = 0, $$0163 = 0, $$0164259 = 0, $$0165 = 0, $$0165254 = 0, $$0165257 = 0, $$0256 = 0, $$10161205 = 0, $$10175 = 0, $$10175204 = 0, $$10175207 = 0, $$10206 = 0, $$11162201 = 0, $$11176 = 0, $$11176200 = 0, $$11176203 = 0, $$11202 = 0, $$1152250 = 0, $$1166 = 0, $$1166249 = 0; + var $$1166252 = 0, $$1251 = 0, $$2153245 = 0, $$2167 = 0, $$2167244 = 0, $$2167247 = 0, $$2246 = 0, $$3154240 = 0, $$3168 = 0, $$3168239 = 0, $$3168242 = 0, $$3241 = 0, $$4155235 = 0, $$4169 = 0, $$4169234 = 0, $$4169237 = 0, $$4236 = 0, $$5156230 = 0, $$5170 = 0, $$5170229 = 0; + var $$5170232 = 0, $$5231 = 0, $$6157225 = 0, $$6171 = 0, $$6171224 = 0, $$6171227 = 0, $$6226 = 0, $$7158220 = 0, $$7172 = 0, $$7172219 = 0, $$7172222 = 0, $$7221 = 0, $$8159215 = 0, $$8173 = 0, $$8173214 = 0, $$8173217 = 0, $$8216 = 0, $$9160210 = 0, $$9174 = 0, $$9174209 = 0; + var $$9174212 = 0, $$9211 = 0, $$off = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0; + var $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0; + var $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; + var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; + var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0; + var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0; + var $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0; + var sp = 0; + sp = STACKTOP; + $5 = ($2|0)==($1|0); + if ($5) { + $$0163 = $0; + return ($$0163|0); + } + $$off = (($2) + -1)|0; + $6 = ($$off>>>0)<(4); + if (!($6)) { + ___assert_fail((13814|0),(13718|0),1477,(13868|0)); + // unreachable; + } + $7 = (_stbi__malloc_mad3($2,$3,$4)|0); + $8 = ($7|0)==(0|0); + if ($8) { + _free($0); + _stbi__err(13773); + $$0163 = 0; + return ($$0163|0); + } + $9 = ($4|0)>(0); + L11: do { + if ($9) { + $10 = $1 << 3; + $11 = (($10) + ($2))|0; + $$0165254 = (($3) + -1)|0; + $12 = ($$0165254|0)>(-1); + $$1166249 = (($3) + -1)|0; + $13 = ($$1166249|0)>(-1); + $$2167244 = (($3) + -1)|0; + $14 = ($$2167244|0)>(-1); + $$3168239 = (($3) + -1)|0; + $15 = ($$3168239|0)>(-1); + $$4169234 = (($3) + -1)|0; + $16 = ($$4169234|0)>(-1); + $$5170229 = (($3) + -1)|0; + $17 = ($$5170229|0)>(-1); + $$6171224 = (($3) + -1)|0; + $18 = ($$6171224|0)>(-1); + $$7172219 = (($3) + -1)|0; + $19 = ($$7172219|0)>(-1); + $$8173214 = (($3) + -1)|0; + $20 = ($$8173214|0)>(-1); + $$9174209 = (($3) + -1)|0; + $21 = ($$9174209|0)>(-1); + $$10175204 = (($3) + -1)|0; + $22 = ($$10175204|0)>(-1); + $$11176200 = (($3) + -1)|0; + $23 = ($$11176200|0)>(-1); + $$0164259 = 0; + L13: while(1) { + $24 = Math_imul($$0164259, $3)|0; + $25 = Math_imul($24, $1)|0; + $26 = (($0) + ($25)|0); + $27 = Math_imul($24, $2)|0; + $28 = (($7) + ($27)|0); + do { + switch ($11|0) { + case 10: { + if ($12) { + $$0151255 = $26;$$0165257 = $$0165254;$$0256 = $28; + while(1) { + $29 = HEAP8[$$0151255>>0]|0; + HEAP8[$$0256>>0] = $29; + $30 = ((($$0256)) + 1|0); + HEAP8[$30>>0] = -1; + $31 = ((($$0151255)) + 1|0); + $32 = ((($$0256)) + 2|0); + $$0165 = (($$0165257) + -1)|0; + $33 = ($$0165|0)>(-1); + if ($33) { + $$0151255 = $31;$$0165257 = $$0165;$$0256 = $32; + } else { + break; + } + } + } + break; + } + case 11: { + if ($13) { + $$1152250 = $26;$$1166252 = $$1166249;$$1251 = $28; + while(1) { + $34 = HEAP8[$$1152250>>0]|0; + $35 = ((($$1251)) + 2|0); + HEAP8[$35>>0] = $34; + $36 = ((($$1251)) + 1|0); + HEAP8[$36>>0] = $34; + HEAP8[$$1251>>0] = $34; + $37 = ((($$1152250)) + 1|0); + $38 = ((($$1251)) + 3|0); + $$1166 = (($$1166252) + -1)|0; + $39 = ($$1166|0)>(-1); + if ($39) { + $$1152250 = $37;$$1166252 = $$1166;$$1251 = $38; + } else { + break; + } + } + } + break; + } + case 12: { + if ($14) { + $$2153245 = $26;$$2167247 = $$2167244;$$2246 = $28; + while(1) { + $40 = HEAP8[$$2153245>>0]|0; + $41 = ((($$2246)) + 2|0); + HEAP8[$41>>0] = $40; + $42 = ((($$2246)) + 1|0); + HEAP8[$42>>0] = $40; + HEAP8[$$2246>>0] = $40; + $43 = ((($$2246)) + 3|0); + HEAP8[$43>>0] = -1; + $44 = ((($$2153245)) + 1|0); + $45 = ((($$2246)) + 4|0); + $$2167 = (($$2167247) + -1)|0; + $46 = ($$2167|0)>(-1); + if ($46) { + $$2153245 = $44;$$2167247 = $$2167;$$2246 = $45; + } else { + break; + } + } + } + break; + } + case 17: { + if ($15) { + $$3154240 = $26;$$3168242 = $$3168239;$$3241 = $28; + while(1) { + $47 = HEAP8[$$3154240>>0]|0; + HEAP8[$$3241>>0] = $47; + $48 = ((($$3154240)) + 2|0); + $49 = ((($$3241)) + 1|0); + $$3168 = (($$3168242) + -1)|0; + $50 = ($$3168|0)>(-1); + if ($50) { + $$3154240 = $48;$$3168242 = $$3168;$$3241 = $49; + } else { + break; + } + } + } + break; + } + case 19: { + if ($16) { + $$4155235 = $26;$$4169237 = $$4169234;$$4236 = $28; + while(1) { + $51 = HEAP8[$$4155235>>0]|0; + $52 = ((($$4236)) + 2|0); + HEAP8[$52>>0] = $51; + $53 = ((($$4236)) + 1|0); + HEAP8[$53>>0] = $51; + HEAP8[$$4236>>0] = $51; + $54 = ((($$4155235)) + 2|0); + $55 = ((($$4236)) + 3|0); + $$4169 = (($$4169237) + -1)|0; + $56 = ($$4169|0)>(-1); + if ($56) { + $$4155235 = $54;$$4169237 = $$4169;$$4236 = $55; + } else { + break; + } + } + } + break; + } + case 20: { + if ($17) { + $$5156230 = $26;$$5170232 = $$5170229;$$5231 = $28; + while(1) { + $57 = HEAP8[$$5156230>>0]|0; + $58 = ((($$5231)) + 2|0); + HEAP8[$58>>0] = $57; + $59 = ((($$5231)) + 1|0); + HEAP8[$59>>0] = $57; + HEAP8[$$5231>>0] = $57; + $60 = ((($$5156230)) + 1|0); + $61 = HEAP8[$60>>0]|0; + $62 = ((($$5231)) + 3|0); + HEAP8[$62>>0] = $61; + $63 = ((($$5156230)) + 2|0); + $64 = ((($$5231)) + 4|0); + $$5170 = (($$5170232) + -1)|0; + $65 = ($$5170|0)>(-1); + if ($65) { + $$5156230 = $63;$$5170232 = $$5170;$$5231 = $64; + } else { + break; + } + } + } + break; + } + case 28: { + if ($18) { + $$6157225 = $26;$$6171227 = $$6171224;$$6226 = $28; + while(1) { + $66 = HEAP8[$$6157225>>0]|0; + HEAP8[$$6226>>0] = $66; + $67 = ((($$6157225)) + 1|0); + $68 = HEAP8[$67>>0]|0; + $69 = ((($$6226)) + 1|0); + HEAP8[$69>>0] = $68; + $70 = ((($$6157225)) + 2|0); + $71 = HEAP8[$70>>0]|0; + $72 = ((($$6226)) + 2|0); + HEAP8[$72>>0] = $71; + $73 = ((($$6226)) + 3|0); + HEAP8[$73>>0] = -1; + $74 = ((($$6157225)) + 3|0); + $75 = ((($$6226)) + 4|0); + $$6171 = (($$6171227) + -1)|0; + $76 = ($$6171|0)>(-1); + if ($76) { + $$6157225 = $74;$$6171227 = $$6171;$$6226 = $75; + } else { + break; + } + } + } + break; + } + case 25: { + if ($19) { + $$7158220 = $26;$$7172222 = $$7172219;$$7221 = $28; + while(1) { + $77 = HEAP8[$$7158220>>0]|0; + $78 = $77&255; + $79 = ((($$7158220)) + 1|0); + $80 = HEAP8[$79>>0]|0; + $81 = $80&255; + $82 = ((($$7158220)) + 2|0); + $83 = HEAP8[$82>>0]|0; + $84 = $83&255; + $85 = (_stbi__compute_y($78,$81,$84)|0); + HEAP8[$$7221>>0] = $85; + $86 = ((($$7158220)) + 3|0); + $87 = ((($$7221)) + 1|0); + $$7172 = (($$7172222) + -1)|0; + $88 = ($$7172|0)>(-1); + if ($88) { + $$7158220 = $86;$$7172222 = $$7172;$$7221 = $87; + } else { + break; + } + } + } + break; + } + case 26: { + if ($20) { + $$8159215 = $26;$$8173217 = $$8173214;$$8216 = $28; + while(1) { + $89 = HEAP8[$$8159215>>0]|0; + $90 = $89&255; + $91 = ((($$8159215)) + 1|0); + $92 = HEAP8[$91>>0]|0; + $93 = $92&255; + $94 = ((($$8159215)) + 2|0); + $95 = HEAP8[$94>>0]|0; + $96 = $95&255; + $97 = (_stbi__compute_y($90,$93,$96)|0); + HEAP8[$$8216>>0] = $97; + $98 = ((($$8216)) + 1|0); + HEAP8[$98>>0] = -1; + $99 = ((($$8159215)) + 3|0); + $100 = ((($$8216)) + 2|0); + $$8173 = (($$8173217) + -1)|0; + $101 = ($$8173|0)>(-1); + if ($101) { + $$8159215 = $99;$$8173217 = $$8173;$$8216 = $100; + } else { + break; + } + } + } + break; + } + case 33: { + if ($21) { + $$9160210 = $26;$$9174212 = $$9174209;$$9211 = $28; + while(1) { + $102 = HEAP8[$$9160210>>0]|0; + $103 = $102&255; + $104 = ((($$9160210)) + 1|0); + $105 = HEAP8[$104>>0]|0; + $106 = $105&255; + $107 = ((($$9160210)) + 2|0); + $108 = HEAP8[$107>>0]|0; + $109 = $108&255; + $110 = (_stbi__compute_y($103,$106,$109)|0); + HEAP8[$$9211>>0] = $110; + $111 = ((($$9160210)) + 4|0); + $112 = ((($$9211)) + 1|0); + $$9174 = (($$9174212) + -1)|0; + $113 = ($$9174|0)>(-1); + if ($113) { + $$9160210 = $111;$$9174212 = $$9174;$$9211 = $112; + } else { + break; + } + } + } + break; + } + case 34: { + if ($22) { + $$10161205 = $26;$$10175207 = $$10175204;$$10206 = $28; + while(1) { + $114 = HEAP8[$$10161205>>0]|0; + $115 = $114&255; + $116 = ((($$10161205)) + 1|0); + $117 = HEAP8[$116>>0]|0; + $118 = $117&255; + $119 = ((($$10161205)) + 2|0); + $120 = HEAP8[$119>>0]|0; + $121 = $120&255; + $122 = (_stbi__compute_y($115,$118,$121)|0); + HEAP8[$$10206>>0] = $122; + $123 = ((($$10161205)) + 3|0); + $124 = HEAP8[$123>>0]|0; + $125 = ((($$10206)) + 1|0); + HEAP8[$125>>0] = $124; + $126 = ((($$10161205)) + 4|0); + $127 = ((($$10206)) + 2|0); + $$10175 = (($$10175207) + -1)|0; + $128 = ($$10175|0)>(-1); + if ($128) { + $$10161205 = $126;$$10175207 = $$10175;$$10206 = $127; + } else { + break; + } + } + } + break; + } + case 35: { + if ($23) { + $$11162201 = $26;$$11176203 = $$11176200;$$11202 = $28; + while(1) { + $129 = HEAP8[$$11162201>>0]|0; + HEAP8[$$11202>>0] = $129; + $130 = ((($$11162201)) + 1|0); + $131 = HEAP8[$130>>0]|0; + $132 = ((($$11202)) + 1|0); + HEAP8[$132>>0] = $131; + $133 = ((($$11162201)) + 2|0); + $134 = HEAP8[$133>>0]|0; + $135 = ((($$11202)) + 2|0); + HEAP8[$135>>0] = $134; + $136 = ((($$11162201)) + 4|0); + $137 = ((($$11202)) + 3|0); + $$11176 = (($$11176203) + -1)|0; + $138 = ($$11176|0)>(-1); + if ($138) { + $$11162201 = $136;$$11176203 = $$11176;$$11202 = $137; + } else { + break; + } + } + } + break; + } + default: { + break L13; + } + } + } while(0); + $139 = (($$0164259) + 1)|0; + $140 = ($139|0)<($4|0); + if ($140) { + $$0164259 = $139; + } else { + break L11; + } + } + ___assert_fail((18878|0),(13718|0),1506,(13868|0)); + // unreachable; + } + } while(0); + _free($0); + $$0163 = $7; + return ($$0163|0); +} +function _stbi__convert_format16($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$0151255 = 0, $$0163 = 0, $$0164259 = 0, $$0165 = 0, $$0165254 = 0, $$0165257 = 0, $$0256 = 0, $$10161205 = 0, $$10175 = 0, $$10175204 = 0, $$10175207 = 0, $$10206 = 0, $$11162201 = 0, $$11176 = 0, $$11176200 = 0, $$11176203 = 0, $$11202 = 0, $$1152250 = 0, $$1166 = 0, $$1166249 = 0; + var $$1166252 = 0, $$1251 = 0, $$2153245 = 0, $$2167 = 0, $$2167244 = 0, $$2167247 = 0, $$2246 = 0, $$3154240 = 0, $$3168 = 0, $$3168239 = 0, $$3168242 = 0, $$3241 = 0, $$4155235 = 0, $$4169 = 0, $$4169234 = 0, $$4169237 = 0, $$4236 = 0, $$5156230 = 0, $$5170 = 0, $$5170229 = 0; + var $$5170232 = 0, $$5231 = 0, $$6157225 = 0, $$6171 = 0, $$6171224 = 0, $$6171227 = 0, $$6226 = 0, $$7158220 = 0, $$7172 = 0, $$7172219 = 0, $$7172222 = 0, $$7221 = 0, $$8159215 = 0, $$8173 = 0, $$8173214 = 0, $$8173217 = 0, $$8216 = 0, $$9160210 = 0, $$9174 = 0, $$9174209 = 0; + var $$9174212 = 0, $$9211 = 0, $$off = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0; + var $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0; + var $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0; + var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0; + var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0; + var $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0; + var $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0; + var $98 = 0, $99 = 0, label = 0, sp = 0; + sp = STACKTOP; + $5 = ($2|0)==($1|0); + if ($5) { + $$0163 = $0; + return ($$0163|0); + } + $$off = (($2) + -1)|0; + $6 = ($$off>>>0)<(4); + if (!($6)) { + ___assert_fail((13814|0),(13718|0),1526,(13845|0)); + // unreachable; + } + $7 = $2 << 1; + $8 = Math_imul($7, $3)|0; + $9 = Math_imul($8, $4)|0; + $10 = (_stbi__malloc($9)|0); + $11 = ($10|0)==(0|0); + if ($11) { + _free($0); + _stbi__err(13773); + $$0163 = 0; + return ($$0163|0); + } + $12 = ($4|0)>(0); + L11: do { + if ($12) { + $13 = $1 << 3; + $14 = (($13) + ($2))|0; + $$0165254 = (($3) + -1)|0; + $15 = ($$0165254|0)>(-1); + $$1166249 = (($3) + -1)|0; + $16 = ($$1166249|0)>(-1); + $$2167244 = (($3) + -1)|0; + $17 = ($$2167244|0)>(-1); + $$3168239 = (($3) + -1)|0; + $18 = ($$3168239|0)>(-1); + $$4169234 = (($3) + -1)|0; + $19 = ($$4169234|0)>(-1); + $$5170229 = (($3) + -1)|0; + $20 = ($$5170229|0)>(-1); + $$6171224 = (($3) + -1)|0; + $21 = ($$6171224|0)>(-1); + $$7172219 = (($3) + -1)|0; + $22 = ($$7172219|0)>(-1); + $$8173214 = (($3) + -1)|0; + $23 = ($$8173214|0)>(-1); + $$9174209 = (($3) + -1)|0; + $24 = ($$9174209|0)>(-1); + $$10175204 = (($3) + -1)|0; + $25 = ($$10175204|0)>(-1); + $$11176200 = (($3) + -1)|0; + $26 = ($$11176200|0)>(-1); + $$0164259 = 0; + L13: while(1) { + $27 = Math_imul($$0164259, $3)|0; + $28 = Math_imul($27, $1)|0; + $29 = (($0) + ($28<<1)|0); + $30 = Math_imul($27, $2)|0; + $31 = (($10) + ($30<<1)|0); + do { + switch ($14|0) { + case 10: { + if ($15) { + $$0151255 = $29;$$0165257 = $$0165254;$$0256 = $31; + while(1) { + $32 = HEAP16[$$0151255>>1]|0; + HEAP16[$$0256>>1] = $32; + $33 = ((($$0256)) + 2|0); + HEAP16[$33>>1] = -1; + $34 = ((($$0151255)) + 2|0); + $35 = ((($$0256)) + 4|0); + $$0165 = (($$0165257) + -1)|0; + $36 = ($$0165|0)>(-1); + if ($36) { + $$0151255 = $34;$$0165257 = $$0165;$$0256 = $35; + } else { + break; + } + } + } + break; + } + case 11: { + if ($16) { + $$1152250 = $29;$$1166252 = $$1166249;$$1251 = $31; + while(1) { + $37 = HEAP16[$$1152250>>1]|0; + $38 = ((($$1251)) + 4|0); + HEAP16[$38>>1] = $37; + $39 = ((($$1251)) + 2|0); + HEAP16[$39>>1] = $37; + HEAP16[$$1251>>1] = $37; + $40 = ((($$1152250)) + 2|0); + $41 = ((($$1251)) + 6|0); + $$1166 = (($$1166252) + -1)|0; + $42 = ($$1166|0)>(-1); + if ($42) { + $$1152250 = $40;$$1166252 = $$1166;$$1251 = $41; + } else { + break; + } + } + } + break; + } + case 12: { + if ($17) { + $$2153245 = $29;$$2167247 = $$2167244;$$2246 = $31; + while(1) { + $43 = HEAP16[$$2153245>>1]|0; + $44 = ((($$2246)) + 4|0); + HEAP16[$44>>1] = $43; + $45 = ((($$2246)) + 2|0); + HEAP16[$45>>1] = $43; + HEAP16[$$2246>>1] = $43; + $46 = ((($$2246)) + 6|0); + HEAP16[$46>>1] = -1; + $47 = ((($$2153245)) + 2|0); + $48 = ((($$2246)) + 8|0); + $$2167 = (($$2167247) + -1)|0; + $49 = ($$2167|0)>(-1); + if ($49) { + $$2153245 = $47;$$2167247 = $$2167;$$2246 = $48; + } else { + break; + } + } + } + break; + } + case 17: { + if ($18) { + $$3154240 = $29;$$3168242 = $$3168239;$$3241 = $31; + while(1) { + $50 = HEAP16[$$3154240>>1]|0; + HEAP16[$$3241>>1] = $50; + $51 = ((($$3154240)) + 4|0); + $52 = ((($$3241)) + 2|0); + $$3168 = (($$3168242) + -1)|0; + $53 = ($$3168|0)>(-1); + if ($53) { + $$3154240 = $51;$$3168242 = $$3168;$$3241 = $52; + } else { + break; + } + } + } + break; + } + case 19: { + if ($19) { + $$4155235 = $29;$$4169237 = $$4169234;$$4236 = $31; + while(1) { + $54 = HEAP16[$$4155235>>1]|0; + $55 = ((($$4236)) + 4|0); + HEAP16[$55>>1] = $54; + $56 = ((($$4236)) + 2|0); + HEAP16[$56>>1] = $54; + HEAP16[$$4236>>1] = $54; + $57 = ((($$4155235)) + 4|0); + $58 = ((($$4236)) + 6|0); + $$4169 = (($$4169237) + -1)|0; + $59 = ($$4169|0)>(-1); + if ($59) { + $$4155235 = $57;$$4169237 = $$4169;$$4236 = $58; + } else { + break; + } + } + } + break; + } + case 20: { + if ($20) { + $$5156230 = $29;$$5170232 = $$5170229;$$5231 = $31; + while(1) { + $60 = HEAP16[$$5156230>>1]|0; + $61 = ((($$5231)) + 4|0); + HEAP16[$61>>1] = $60; + $62 = ((($$5231)) + 2|0); + HEAP16[$62>>1] = $60; + HEAP16[$$5231>>1] = $60; + $63 = ((($$5156230)) + 2|0); + $64 = HEAP16[$63>>1]|0; + $65 = ((($$5231)) + 6|0); + HEAP16[$65>>1] = $64; + $66 = ((($$5156230)) + 4|0); + $67 = ((($$5231)) + 8|0); + $$5170 = (($$5170232) + -1)|0; + $68 = ($$5170|0)>(-1); + if ($68) { + $$5156230 = $66;$$5170232 = $$5170;$$5231 = $67; + } else { + break; + } + } + } + break; + } + case 28: { + if ($21) { + $$6157225 = $29;$$6171227 = $$6171224;$$6226 = $31; + while(1) { + $69 = HEAP16[$$6157225>>1]|0; + HEAP16[$$6226>>1] = $69; + $70 = ((($$6157225)) + 2|0); + $71 = HEAP16[$70>>1]|0; + $72 = ((($$6226)) + 2|0); + HEAP16[$72>>1] = $71; + $73 = ((($$6157225)) + 4|0); + $74 = HEAP16[$73>>1]|0; + $75 = ((($$6226)) + 4|0); + HEAP16[$75>>1] = $74; + $76 = ((($$6226)) + 6|0); + HEAP16[$76>>1] = -1; + $77 = ((($$6157225)) + 6|0); + $78 = ((($$6226)) + 8|0); + $$6171 = (($$6171227) + -1)|0; + $79 = ($$6171|0)>(-1); + if ($79) { + $$6157225 = $77;$$6171227 = $$6171;$$6226 = $78; + } else { + break; + } + } + } + break; + } + case 25: { + if ($22) { + $$7158220 = $29;$$7172222 = $$7172219;$$7221 = $31; + while(1) { + $80 = HEAP16[$$7158220>>1]|0; + $81 = $80&65535; + $82 = ((($$7158220)) + 2|0); + $83 = HEAP16[$82>>1]|0; + $84 = $83&65535; + $85 = ((($$7158220)) + 4|0); + $86 = HEAP16[$85>>1]|0; + $87 = $86&65535; + $88 = (_stbi__compute_y_16($81,$84,$87)|0); + HEAP16[$$7221>>1] = $88; + $89 = ((($$7158220)) + 6|0); + $90 = ((($$7221)) + 2|0); + $$7172 = (($$7172222) + -1)|0; + $91 = ($$7172|0)>(-1); + if ($91) { + $$7158220 = $89;$$7172222 = $$7172;$$7221 = $90; + } else { + break; + } + } + } + break; + } + case 26: { + if ($23) { + $$8159215 = $29;$$8173217 = $$8173214;$$8216 = $31; + while(1) { + $92 = HEAP16[$$8159215>>1]|0; + $93 = $92&65535; + $94 = ((($$8159215)) + 2|0); + $95 = HEAP16[$94>>1]|0; + $96 = $95&65535; + $97 = ((($$8159215)) + 4|0); + $98 = HEAP16[$97>>1]|0; + $99 = $98&65535; + $100 = (_stbi__compute_y_16($93,$96,$99)|0); + HEAP16[$$8216>>1] = $100; + $101 = ((($$8216)) + 2|0); + HEAP16[$101>>1] = -1; + $102 = ((($$8159215)) + 6|0); + $103 = ((($$8216)) + 4|0); + $$8173 = (($$8173217) + -1)|0; + $104 = ($$8173|0)>(-1); + if ($104) { + $$8159215 = $102;$$8173217 = $$8173;$$8216 = $103; + } else { + break; + } + } + } + break; + } + case 33: { + if ($24) { + $$9160210 = $29;$$9174212 = $$9174209;$$9211 = $31; + while(1) { + $105 = HEAP16[$$9160210>>1]|0; + $106 = $105&65535; + $107 = ((($$9160210)) + 2|0); + $108 = HEAP16[$107>>1]|0; + $109 = $108&65535; + $110 = ((($$9160210)) + 4|0); + $111 = HEAP16[$110>>1]|0; + $112 = $111&65535; + $113 = (_stbi__compute_y_16($106,$109,$112)|0); + HEAP16[$$9211>>1] = $113; + $114 = ((($$9160210)) + 8|0); + $115 = ((($$9211)) + 2|0); + $$9174 = (($$9174212) + -1)|0; + $116 = ($$9174|0)>(-1); + if ($116) { + $$9160210 = $114;$$9174212 = $$9174;$$9211 = $115; + } else { + break; + } + } + } + break; + } + case 34: { + if ($25) { + $$10161205 = $29;$$10175207 = $$10175204;$$10206 = $31; + while(1) { + $117 = HEAP16[$$10161205>>1]|0; + $118 = $117&65535; + $119 = ((($$10161205)) + 2|0); + $120 = HEAP16[$119>>1]|0; + $121 = $120&65535; + $122 = ((($$10161205)) + 4|0); + $123 = HEAP16[$122>>1]|0; + $124 = $123&65535; + $125 = (_stbi__compute_y_16($118,$121,$124)|0); + HEAP16[$$10206>>1] = $125; + $126 = ((($$10161205)) + 6|0); + $127 = HEAP16[$126>>1]|0; + $128 = ((($$10206)) + 2|0); + HEAP16[$128>>1] = $127; + $129 = ((($$10161205)) + 8|0); + $130 = ((($$10206)) + 4|0); + $$10175 = (($$10175207) + -1)|0; + $131 = ($$10175|0)>(-1); + if ($131) { + $$10161205 = $129;$$10175207 = $$10175;$$10206 = $130; + } else { + break; + } + } + } + break; + } + case 35: { + if ($26) { + $$11162201 = $29;$$11176203 = $$11176200;$$11202 = $31; + while(1) { + $132 = HEAP16[$$11162201>>1]|0; + HEAP16[$$11202>>1] = $132; + $133 = ((($$11162201)) + 2|0); + $134 = HEAP16[$133>>1]|0; + $135 = ((($$11202)) + 2|0); + HEAP16[$135>>1] = $134; + $136 = ((($$11162201)) + 4|0); + $137 = HEAP16[$136>>1]|0; + $138 = ((($$11202)) + 4|0); + HEAP16[$138>>1] = $137; + $139 = ((($$11162201)) + 8|0); + $140 = ((($$11202)) + 6|0); + $$11176 = (($$11176203) + -1)|0; + $141 = ($$11176|0)>(-1); + if ($141) { + $$11162201 = $139;$$11176203 = $$11176;$$11202 = $140; + } else { + break; + } + } + } + break; + } + default: { + break L13; + } + } + } while(0); + $142 = (($$0164259) + 1)|0; + $143 = ($142|0)<($4|0); + if ($143) { + $$0164259 = $142; + } else { + break L11; + } + } + ___assert_fail((18878|0),(13718|0),1555,(13845|0)); + // unreachable; + } + } while(0); + _free($0); + $$0163 = $10; + return ($$0163|0); +} +function _stbi__compute_y_16($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ($0*77)|0; + $4 = ($1*150)|0; + $5 = (($4) + ($3))|0; + $6 = ($2*29)|0; + $7 = (($5) + ($6))|0; + $8 = $7 >>> 8; + $9 = $8&65535; + return ($9|0); +} +function _stbi__malloc_mad3($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$0 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = (_stbi__mad3sizes_valid($0,$1,$2)|0); + $4 = ($3|0)==(0); + if ($4) { + $$0 = 0; + return ($$0|0); + } + $5 = Math_imul($1, $0)|0; + $6 = Math_imul($5, $2)|0; + $7 = (_stbi__malloc($6)|0); + $$0 = $7; + return ($$0|0); +} +function _stbi__compute_y($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ($0*77)|0; + $4 = ($1*150)|0; + $5 = (($4) + ($3))|0; + $6 = ($2*29)|0; + $7 = (($5) + ($6))|0; + $8 = $7 >>> 8; + $9 = $8&255; + return ($9|0); +} +function _stbi__mad3sizes_valid($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = (_stbi__mul2sizes_valid($0,$1)|0); + $4 = ($3|0)==(0); + if ($4) { + $12 = 0; + } else { + $5 = Math_imul($1, $0)|0; + $6 = (_stbi__mul2sizes_valid($5,$2)|0); + $7 = ($6|0)==(0); + if ($7) { + $12 = 0; + } else { + $8 = Math_imul($5, $2)|0; + $9 = (_stbi__addsizes_valid($8)|0); + $10 = ($9|0)!=(0); + $12 = $10; + } + } + $11 = $12&1; + return ($11|0); +} +function _stbi__mul2sizes_valid($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = $1 | $0; + $3 = ($2|0)<(0); + if ($3) { + $$0 = 0; + } else { + $4 = ($1|0)==(0); + if ($4) { + $$0 = 1; + } else { + $5 = (2147483647 / ($1|0))&-1; + $6 = ($5|0)>=($0|0); + $7 = $6&1; + $$0 = $7; + } + } + return ($$0|0); +} +function _stbi__addsizes_valid($0) { + $0 = $0|0; + var label = 0, sp = 0; + sp = STACKTOP; + return 1; +} +function _stbi__check_png_header($0) { + $0 = $0|0; + var $$05 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (_stbi__get8($0)|0); + $2 = ($1<<24>>24)==(-119); + if ($2) { + $3 = (_stbi__get8($0)|0); + $4 = ($3<<24>>24)==(80); + if ($4) { + $5 = (_stbi__get8($0)|0); + $6 = ($5<<24>>24)==(78); + if ($6) { + $7 = (_stbi__get8($0)|0); + $8 = ($7<<24>>24)==(71); + if ($8) { + $9 = (_stbi__get8($0)|0); + $10 = ($9<<24>>24)==(13); + if ($10) { + $11 = (_stbi__get8($0)|0); + $12 = ($11<<24>>24)==(10); + if ($12) { + $13 = (_stbi__get8($0)|0); + $14 = ($13<<24>>24)==(26); + if ($14) { + $15 = (_stbi__get8($0)|0); + $16 = ($15<<24>>24)==(10); + if ($16) { + $$05 = 1; + return ($$05|0); + } + } + } + } + } + } + } + } + _stbi__err(15127); + $$05 = 0; + return ($$05|0); +} +function _stbi__get_chunk_header($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$sroa$4$0$$sroa_idx2 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = (_stbi__get32be($1)|0); + $3 = (_stbi__get32be($1)|0); + HEAP32[$0>>2] = $2; + $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); + HEAP32[$$sroa$4$0$$sroa_idx2>>2] = $3; + return; +} +function _stbi__skip($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; + var $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ($1|0)<(0); + if ($2) { + $3 = ((($0)) + 172|0); + $4 = HEAP32[$3>>2]|0; + $5 = ((($0)) + 168|0); + HEAP32[$5>>2] = $4; + return; + } + $6 = ((($0)) + 16|0); + $7 = HEAP32[$6>>2]|0; + $8 = ($7|0)==(0|0); + if (!($8)) { + $9 = ((($0)) + 172|0); + $10 = HEAP32[$9>>2]|0; + $11 = ((($0)) + 168|0); + $12 = HEAP32[$11>>2]|0; + $13 = $10; + $14 = (($13) - ($12))|0; + $15 = ($14|0)<($1|0); + if ($15) { + HEAP32[$11>>2] = $10; + $16 = ((($0)) + 20|0); + $17 = HEAP32[$16>>2]|0; + $18 = ((($0)) + 28|0); + $19 = HEAP32[$18>>2]|0; + $20 = (($1) - ($14))|0; + FUNCTION_TABLE_vii[$17 & 63]($19,$20); + return; + } + } + $21 = ((($0)) + 168|0); + $22 = HEAP32[$21>>2]|0; + $23 = (($22) + ($1)|0); + HEAP32[$21>>2] = $23; + return; +} +function _stbi__get32be($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (_stbi__get16be($0)|0); + $2 = $1 << 16; + $3 = (_stbi__get16be($0)|0); + $4 = (($2) + ($3))|0; + return ($4|0); +} +function _stbi__get8($0) { + $0 = $0|0; + var $$0 = 0, $$sink6 = 0, $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 168|0); + $2 = HEAP32[$1>>2]|0; + $3 = ((($0)) + 172|0); + $4 = HEAP32[$3>>2]|0; + $5 = ($2>>>0)<($4>>>0); + do { + if ($5) { + $$sink6 = $2; + } else { + $6 = ((($0)) + 32|0); + $7 = HEAP32[$6>>2]|0; + $8 = ($7|0)==(0); + if ($8) { + $$0 = 0; + return ($$0|0); } else { - label = 9; + _stbi__refill_buffer($0); + $9 = HEAP32[$1>>2]|0; + $$sink6 = $9; + break; + } + } + } while(0); + $10 = ((($$sink6)) + 1|0); + HEAP32[$1>>2] = $10; + $11 = HEAP8[$$sink6>>0]|0; + $$0 = $11; + return ($$0|0); +} +function _stbi__get16be($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (_stbi__get8($0)|0); + $2 = $1&255; + $3 = $2 << 8; + $4 = (_stbi__get8($0)|0); + $5 = $4&255; + $6 = $3 | $5; + return ($6|0); +} +function _stbi__getn($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ((($0)) + 16|0); + $4 = HEAP32[$3>>2]|0; + $5 = ($4|0)==(0|0); + if (!($5)) { + $6 = ((($0)) + 172|0); + $7 = HEAP32[$6>>2]|0; + $8 = ((($0)) + 168|0); + $9 = HEAP32[$8>>2]|0; + $10 = $9; + $11 = (($7) - ($10))|0; + $12 = ($11|0)<($2|0); + if ($12) { + _memcpy(($1|0),($9|0),($11|0))|0; + $13 = HEAP32[$3>>2]|0; + $14 = ((($0)) + 28|0); + $15 = HEAP32[$14>>2]|0; + $16 = (($1) + ($11)|0); + $17 = (($2) - ($11))|0; + $18 = (FUNCTION_TABLE_iiii[$13 & 15]($15,$16,$17)|0); + $19 = ($18|0)==($17|0); + $20 = $19&1; + $21 = HEAP32[$6>>2]|0; + HEAP32[$8>>2] = $21; + $$1 = $20; + return ($$1|0); + } + } + $22 = ((($0)) + 168|0); + $23 = HEAP32[$22>>2]|0; + $24 = (($23) + ($2)|0); + $25 = ((($0)) + 172|0); + $26 = HEAP32[$25>>2]|0; + $27 = ($24>>>0)>($26>>>0); + if ($27) { + $$1 = 0; + return ($$1|0); + } + _memcpy(($1|0),($23|0),($2|0))|0; + $28 = HEAP32[$22>>2]|0; + $29 = (($28) + ($2)|0); + HEAP32[$22>>2] = $29; + $$1 = 1; + return ($$1|0); +} +function _stbi_zlib_decode_malloc_guesssize_headerflag($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 4080|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(4080|0); + $5 = sp; + $6 = (_stbi__malloc($2)|0); + $7 = ($6|0)==(0|0); + do { + if ($7) { + $$0 = 0; + } else { + HEAP32[$5>>2] = $0; + $8 = (($0) + ($1)|0); + $9 = ((($5)) + 4|0); + HEAP32[$9>>2] = $8; + $10 = (_stbi__do_zlib($5,$6,$2,1,$4)|0); + $11 = ($10|0)==(0); + $12 = ((($5)) + 20|0); + $13 = HEAP32[$12>>2]|0; + if ($11) { + _free($13); + $$0 = 0; + break; + } + $14 = ($3|0)==(0|0); + if ($14) { + $$0 = $13; + } else { + $15 = ((($5)) + 16|0); + $16 = HEAP32[$15>>2]|0; + $17 = $13; + $18 = (($16) - ($17))|0; + HEAP32[$3>>2] = $18; + $$0 = $13; + } + } + } while(0); + STACKTOP = sp;return ($$0|0); +} +function _stbi__create_png_image($0,$1,$2,$3,$4,$5,$6) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + $6 = $6|0; + var $$0103117 = 0, $$0106116 = 0, $$0107115 = 0, $$095119 = 0, $$099118 = 0, $$3102$ph = 0, $$398$ph = 0, $$4 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0; + var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0; + var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $60 = 0, $61 = 0; + var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0; + var $80 = 0, $81 = 0, $82 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $7 = ($4|0)==(16); + $8 = $7 ? 2 : 1; + $9 = Math_imul($8, $3)|0; + $10 = ($6|0)==(0); + $11 = HEAP32[$0>>2]|0; + $12 = HEAP32[$11>>2]|0; + $13 = ((($11)) + 4|0); + $14 = HEAP32[$13>>2]|0; + if ($10) { + $15 = (_stbi__create_png_image_raw($0,$1,$2,$3,$12,$14,$4,$5)|0); + $$4 = $15; + return ($$4|0); + } + $16 = (_stbi__malloc_mad3($12,$14,$9)|0); + $17 = ((($0)) + 12|0); + $18 = ((($0)) + 12|0); + $$0103117 = 0;$$095119 = $1;$$099118 = $2; + while(1) { + $19 = HEAP32[$0>>2]|0; + $20 = HEAP32[$19>>2]|0; + $21 = (3024 + ($$0103117<<2)|0); + $22 = HEAP32[$21>>2]|0; + $23 = (3052 + ($$0103117<<2)|0); + $24 = HEAP32[$23>>2]|0; + $25 = (($20) + -1)|0; + $26 = (($25) - ($22))|0; + $27 = (($26) + ($24))|0; + $28 = (($27>>>0) / ($24>>>0))&-1; + $29 = ((($19)) + 4|0); + $30 = HEAP32[$29>>2]|0; + $31 = (3080 + ($$0103117<<2)|0); + $32 = HEAP32[$31>>2]|0; + $33 = (3108 + ($$0103117<<2)|0); + $34 = HEAP32[$33>>2]|0; + $35 = (($30) + -1)|0; + $36 = (($35) - ($32))|0; + $37 = (($36) + ($34))|0; + $38 = (($37>>>0) / ($34>>>0))&-1; + $39 = ($24>>>0)<=($27>>>0); + $40 = ($34>>>0)<=($37>>>0); + $or$cond = $39 & $40; + if ($or$cond) { + $41 = ((($19)) + 8|0); + $42 = HEAP32[$41>>2]|0; + $43 = Math_imul($28, $4)|0; + $44 = Math_imul($43, $42)|0; + $45 = (($44) + 7)|0; + $46 = $45 >> 3; + $47 = (($46) + 1)|0; + $48 = Math_imul($47, $38)|0; + $49 = (_stbi__create_png_image_raw($0,$$095119,$$099118,$3,$28,$38,$4,$5)|0); + $50 = ($49|0)==(0); + if ($50) { + label = 13; + break; + } + $51 = ($38|0)>(0); + if ($51) { + $52 = ($28|0)>(0); + $$0106116 = 0; + while(1) { + if ($52) { + $53 = HEAP32[$33>>2]|0; + $54 = Math_imul($53, $$0106116)|0; + $55 = HEAP32[$31>>2]|0; + $56 = (($54) + ($55))|0; + $57 = HEAP32[$23>>2]|0; + $58 = HEAP32[$21>>2]|0; + $59 = Math_imul($56, $9)|0; + $60 = Math_imul($$0106116, $28)|0; + $$0107115 = 0; + while(1) { + $61 = Math_imul($57, $$0107115)|0; + $62 = (($61) + ($58))|0; + $63 = HEAP32[$0>>2]|0; + $64 = HEAP32[$63>>2]|0; + $65 = Math_imul($59, $64)|0; + $66 = (($16) + ($65)|0); + $67 = Math_imul($62, $9)|0; + $68 = (($66) + ($67)|0); + $69 = HEAP32[$18>>2]|0; + $70 = (($$0107115) + ($60))|0; + $71 = Math_imul($70, $9)|0; + $72 = (($69) + ($71)|0); + _memcpy(($68|0),($72|0),($9|0))|0; + $73 = (($$0107115) + 1)|0; + $74 = ($73|0)<($28|0); + if ($74) { + $$0107115 = $73; + } else { + break; + } + } + } + $75 = (($$0106116) + 1)|0; + $76 = ($75|0)<($38|0); + if ($76) { + $$0106116 = $75; + } else { + break; + } + } + } + $77 = HEAP32[$17>>2]|0; + _free($77); + $78 = (($$095119) + ($48)|0); + $79 = (($$099118) - ($48))|0; + $$3102$ph = $79;$$398$ph = $78; + } else { + $$3102$ph = $$099118;$$398$ph = $$095119; + } + $80 = (($$0103117) + 1)|0; + $81 = ($80|0)<(7); + if ($81) { + $$0103117 = $80;$$095119 = $$398$ph;$$099118 = $$3102$ph; + } else { + label = 15; + break; + } + } + if ((label|0) == 13) { + _free($16); + $$4 = 0; + return ($$4|0); + } + else if ((label|0) == 15) { + $82 = ((($0)) + 12|0); + HEAP32[$82>>2] = $16; + $$4 = 1; + return ($$4|0); + } + return (0)|0; +} +function _stbi__compute_transparency16($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$0323 = 0, $$04 = 0, $$1335 = 0, $$16 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; + var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond9 = 0, $not$ = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = HEAP32[$0>>2]|0; + $4 = HEAP32[$3>>2]|0; + $5 = ((($3)) + 4|0); + $6 = HEAP32[$5>>2]|0; + $7 = Math_imul($6, $4)|0; + $8 = ((($0)) + 12|0); + $9 = HEAP32[$8>>2]|0; + switch ($2|0) { + case 2: { + $13 = ($7|0)==(0); + if ($13) { + return; + } else { + $$0323 = 0;$$04 = $9; + } + while(1) { + $14 = HEAP16[$$04>>1]|0; + $15 = HEAP16[$1>>1]|0; + $not$ = ($14<<16>>16)!=($15<<16>>16); + $16 = $not$ << 31 >> 31; + $17 = ((($$04)) + 2|0); + HEAP16[$17>>1] = $16; + $18 = ((($$04)) + 4|0); + $19 = (($$0323) + 1)|0; + $exitcond = ($19|0)==($7|0); + if ($exitcond) { + break; + } else { + $$0323 = $19;$$04 = $18; + } + } + return; + break; + } + case 4: { + $10 = ($7|0)==(0); + if ($10) { + return; + } + $11 = ((($1)) + 2|0); + $12 = ((($1)) + 4|0); + $$1335 = 0;$$16 = $9; + while(1) { + $20 = HEAP16[$$16>>1]|0; + $21 = HEAP16[$1>>1]|0; + $22 = ($20<<16>>16)==($21<<16>>16); + if ($22) { + $23 = ((($$16)) + 2|0); + $24 = HEAP16[$23>>1]|0; + $25 = HEAP16[$11>>1]|0; + $26 = ($24<<16>>16)==($25<<16>>16); + if ($26) { + $27 = ((($$16)) + 4|0); + $28 = HEAP16[$27>>1]|0; + $29 = HEAP16[$12>>1]|0; + $30 = ($28<<16>>16)==($29<<16>>16); + if ($30) { + $31 = ((($$16)) + 6|0); + HEAP16[$31>>1] = 0; + } + } + } + $32 = ((($$16)) + 8|0); + $33 = (($$1335) + 1)|0; + $exitcond9 = ($33|0)==($7|0); + if ($exitcond9) { + break; + } else { + $$1335 = $33;$$16 = $32; + } + } + return; + break; + } + default: { + ___assert_fail((14209|0),(13718|0),4569,(14261|0)); + // unreachable; + } + } +} +function _stbi__compute_transparency($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$0323 = 0, $$04 = 0, $$1335 = 0, $$16 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; + var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond9 = 0, $not$ = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = HEAP32[$0>>2]|0; + $4 = HEAP32[$3>>2]|0; + $5 = ((($3)) + 4|0); + $6 = HEAP32[$5>>2]|0; + $7 = Math_imul($6, $4)|0; + $8 = ((($0)) + 12|0); + $9 = HEAP32[$8>>2]|0; + switch ($2|0) { + case 2: { + $13 = ($7|0)==(0); + if ($13) { + return; + } else { + $$0323 = 0;$$04 = $9; + } + while(1) { + $14 = HEAP8[$$04>>0]|0; + $15 = HEAP8[$1>>0]|0; + $not$ = ($14<<24>>24)!=($15<<24>>24); + $16 = $not$ << 31 >> 31; + $17 = ((($$04)) + 1|0); + HEAP8[$17>>0] = $16; + $18 = ((($$04)) + 2|0); + $19 = (($$0323) + 1)|0; + $exitcond = ($19|0)==($7|0); + if ($exitcond) { + break; + } else { + $$0323 = $19;$$04 = $18; + } + } + return; + break; + } + case 4: { + $10 = ($7|0)==(0); + if ($10) { + return; + } + $11 = ((($1)) + 1|0); + $12 = ((($1)) + 2|0); + $$1335 = 0;$$16 = $9; + while(1) { + $20 = HEAP8[$$16>>0]|0; + $21 = HEAP8[$1>>0]|0; + $22 = ($20<<24>>24)==($21<<24>>24); + if ($22) { + $23 = ((($$16)) + 1|0); + $24 = HEAP8[$23>>0]|0; + $25 = HEAP8[$11>>0]|0; + $26 = ($24<<24>>24)==($25<<24>>24); + if ($26) { + $27 = ((($$16)) + 2|0); + $28 = HEAP8[$27>>0]|0; + $29 = HEAP8[$12>>0]|0; + $30 = ($28<<24>>24)==($29<<24>>24); + if ($30) { + $31 = ((($$16)) + 3|0); + HEAP8[$31>>0] = 0; + } + } + } + $32 = ((($$16)) + 4|0); + $33 = (($$1335) + 1)|0; + $exitcond9 = ($33|0)==($7|0); + if ($exitcond9) { + break; + } else { + $$1335 = $33;$$16 = $32; + } + } + return; + break; + } + default: { + ___assert_fail((14209|0),(13718|0),4544,(14234|0)); + // unreachable; + } + } +} +function _stbi__de_iphone($0) { + $0 = $0|0; + var $$05158 = 0, $$059 = 0, $$15263 = 0, $$164 = 0, $$25360 = 0, $$261 = 0, $$sink = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0; + var $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0; + var $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond68 = 0, $exitcond69 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP32[$0>>2]|0; + $2 = HEAP32[$1>>2]|0; + $3 = ((($1)) + 4|0); + $4 = HEAP32[$3>>2]|0; + $5 = Math_imul($4, $2)|0; + $6 = ((($0)) + 12|0); + $7 = HEAP32[$6>>2]|0; + $8 = ((($1)) + 12|0); + $9 = HEAP32[$8>>2]|0; + switch ($9|0) { + case 3: { + $10 = ($5|0)==(0); + if ($10) { + return; + } else { + $$05158 = $7;$$059 = 0; + } + while(1) { + $11 = HEAP8[$$05158>>0]|0; + $12 = ((($$05158)) + 2|0); + $13 = HEAP8[$12>>0]|0; + HEAP8[$$05158>>0] = $13; + HEAP8[$12>>0] = $11; + $14 = ((($$05158)) + 3|0); + $15 = (($$059) + 1)|0; + $exitcond = ($15|0)==($5|0); + if ($exitcond) { + break; + } else { + $$05158 = $14;$$059 = $15; + } + } + return; + break; + } + case 4: { + $16 = HEAP32[8044]|0; + $17 = ($16|0)==(0); + $18 = ($5|0)!=(0); + if ($17) { + if ($18) { + $$25360 = $7;$$261 = 0; + } else { + return; + } + while(1) { + $42 = HEAP8[$$25360>>0]|0; + $43 = ((($$25360)) + 2|0); + $44 = HEAP8[$43>>0]|0; + HEAP8[$$25360>>0] = $44; + HEAP8[$43>>0] = $42; + $45 = ((($$25360)) + 4|0); + $46 = (($$261) + 1)|0; + $exitcond68 = ($46|0)==($5|0); + if ($exitcond68) { + break; + } else { + $$25360 = $45;$$261 = $46; + } + } + return; + } + if ($18) { + $$15263 = $7;$$164 = 0; + } else { + return; + } + while(1) { + $19 = ((($$15263)) + 3|0); + $20 = HEAP8[$19>>0]|0; + $21 = HEAP8[$$15263>>0]|0; + $22 = ($20<<24>>24)==(0); + $23 = ((($$15263)) + 2|0); + $24 = HEAP8[$23>>0]|0; + if ($22) { + HEAP8[$$15263>>0] = $24; + $$sink = $21; + } else { + $25 = $24&255; + $26 = ($25*255)|0; + $27 = $20&255; + $28 = (($26>>>0) / ($27>>>0))&-1; + $29 = $28&255; + HEAP8[$$15263>>0] = $29; + $30 = ((($$15263)) + 1|0); + $31 = HEAP8[$30>>0]|0; + $32 = $31&255; + $33 = ($32*255)|0; + $34 = (($33>>>0) / ($27>>>0))&-1; + $35 = $34&255; + HEAP8[$30>>0] = $35; + $36 = $21&255; + $37 = ($36*255)|0; + $38 = (($37>>>0) / ($27>>>0))&-1; + $39 = $38&255; + $$sink = $39; + } + HEAP8[$23>>0] = $$sink; + $40 = ((($$15263)) + 4|0); + $41 = (($$164) + 1)|0; + $exitcond69 = ($41|0)==($5|0); + if ($exitcond69) { + break; + } else { + $$15263 = $40;$$164 = $41; + } + } + return; + break; + } + default: { + ___assert_fail((14175|0),(13718|0),4650,(14193|0)); + // unreachable; + } + } +} +function _stbi__expand_png_palette($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$0 = 0, $$0574 = 0, $$0583 = 0, $$1595 = 0, $$16 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; + var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0; + var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = HEAP32[$0>>2]|0; + $4 = HEAP32[$3>>2]|0; + $5 = ((($3)) + 4|0); + $6 = HEAP32[$5>>2]|0; + $7 = Math_imul($6, $4)|0; + $8 = ((($0)) + 12|0); + $9 = HEAP32[$8>>2]|0; + $10 = (_stbi__malloc_mad2($7,$2)|0); + $11 = ($10|0)==(0|0); + if ($11) { + _stbi__err(13773); + $$0 = 0; + return ($$0|0); + } + $12 = ($2|0)==(3); + $13 = ($7|0)!=(0); + if ($12) { + if ($13) { + $$0574 = 0;$$0583 = $10; + while(1) { + $14 = (($9) + ($$0574)|0); + $15 = HEAP8[$14>>0]|0; + $16 = $15&255; + $17 = $16 << 2; + $18 = (($1) + ($17)|0); + $19 = HEAP8[$18>>0]|0; + HEAP8[$$0583>>0] = $19; + $20 = $17 | 1; + $21 = (($1) + ($20)|0); + $22 = HEAP8[$21>>0]|0; + $23 = ((($$0583)) + 1|0); + HEAP8[$23>>0] = $22; + $24 = $17 | 2; + $25 = (($1) + ($24)|0); + $26 = HEAP8[$25>>0]|0; + $27 = ((($$0583)) + 2|0); + HEAP8[$27>>0] = $26; + $28 = ((($$0583)) + 3|0); + $29 = (($$0574) + 1)|0; + $exitcond = ($29|0)==($7|0); + if ($exitcond) { + break; + } else { + $$0574 = $29;$$0583 = $28; + } + } + } + } else { + if ($13) { + $$1595 = $10;$$16 = 0; + while(1) { + $30 = (($9) + ($$16)|0); + $31 = HEAP8[$30>>0]|0; + $32 = $31&255; + $33 = $32 << 2; + $34 = (($1) + ($33)|0); + $35 = HEAP8[$34>>0]|0; + HEAP8[$$1595>>0] = $35; + $36 = $33 | 1; + $37 = (($1) + ($36)|0); + $38 = HEAP8[$37>>0]|0; + $39 = ((($$1595)) + 1|0); + HEAP8[$39>>0] = $38; + $40 = $33 | 2; + $41 = (($1) + ($40)|0); + $42 = HEAP8[$41>>0]|0; + $43 = ((($$1595)) + 2|0); + HEAP8[$43>>0] = $42; + $44 = $33 | 3; + $45 = (($1) + ($44)|0); + $46 = HEAP8[$45>>0]|0; + $47 = ((($$1595)) + 3|0); + HEAP8[$47>>0] = $46; + $48 = ((($$1595)) + 4|0); + $49 = (($$16) + 1)|0; + $exitcond9 = ($49|0)==($7|0); + if ($exitcond9) { + break; + } else { + $$1595 = $48;$$16 = $49; + } + } + } + } + $50 = HEAP32[$8>>2]|0; + _free($50); + HEAP32[$8>>2] = $10; + $$0 = 1; + return ($$0|0); +} +function _stbi__malloc_mad2($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = (_stbi__mad2sizes_valid($0,$1)|0); + $3 = ($2|0)==(0); + if ($3) { + $$0 = 0; + return ($$0|0); + } + $4 = Math_imul($1, $0)|0; + $5 = (_stbi__malloc($4)|0); + $$0 = $5; + return ($$0|0); +} +function _stbi__mad2sizes_valid($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = (_stbi__mul2sizes_valid($0,$1)|0); + $3 = ($2|0)==(0); + if ($3) { + $8 = 0; + $7 = $8&1; + return ($7|0); + } + $4 = Math_imul($1, $0)|0; + $5 = (_stbi__addsizes_valid($4)|0); + $6 = ($5|0)!=(0); + $8 = $6; + $7 = $8&1; + return ($7|0); +} +function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + $6 = $6|0; + $7 = $7|0; + var $$0568 = 0, $$0568724 = 0, $$0568725 = 0, $$0571$lcssa = 0, $$0571715 = 0, $$0574$lcssa = 0, $$0574714 = 0, $$0577817 = 0, $$0588 = 0, $$0597 = 0, $$0608816 = 0, $$0611815 = 0, $$0614 = 0, $$0614793 = 0, $$0614796 = 0, $$0623814 = 0, $$0625734 = 0, $$0731 = 0, $$1 = 0, $$10635764 = 0; + var $$11$ph = 0, $$11636755 = 0, $$12747 = 0, $$13739 = 0, $$14$lcssa = 0, $$14713 = 0, $$15$lcssa = 0, $$15705 = 0, $$1572$lcssa = 0, $$1572707 = 0, $$1575$lcssa = 0, $$1575706 = 0, $$1578 = 0, $$16$lcssa = 0, $$1609 = 0, $$1612 = 0, $$1615 = 0, $$1615785 = 0, $$1615788 = 0, $$1624727 = 0; + var $$1626812 = 0, $$16700 = 0, $$1721 = 0, $$1722 = 0, $$2 = 0, $$2573$lcssa = 0, $$2573702 = 0, $$2579795 = 0, $$2599794 = 0, $$2616 = 0, $$2616776 = 0, $$2616780 = 0, $$2627810 = 0, $$3580787 = 0, $$3592778 = 0, $$3600786 = 0, $$3617 = 0, $$3617767 = 0, $$3617771 = 0, $$3628808 = 0; + var $$4$lcssa = 0, $$4581779 = 0, $$4593769 = 0, $$4601777 = 0, $$4618 = 0, $$4618758 = 0, $$4618762 = 0, $$4629806 = 0, $$4701 = 0, $$5582770 = 0, $$5594760 = 0, $$5602768 = 0, $$5619 = 0, $$5619750 = 0, $$5619753 = 0, $$5630804 = 0, $$6583761 = 0, $$6603759 = 0, $$6620 = 0, $$6620742 = 0; + var $$6620745 = 0, $$6631802 = 0, $$7584752 = 0, $$7604751 = 0, $$7621798 = 0, $$7632790 = 0, $$8585744 = 0, $$8605743 = 0, $$8622729 = 0, $$8633782 = 0, $$9586 = 0, $$9606799 = 0, $$9634773 = 0, $$not = 0, $$sink = 0, $$sink1 = 0, $$sink641 = 0, $10 = 0, $100 = 0, $101 = 0; + var $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0; + var $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0; + var $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0; + var $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0; + var $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0; + var $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0; + var $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0; + var $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0; + var $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0; + var $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0; + var $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $30 = 0, $300 = 0, $301 = 0; + var $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0; + var $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0; + var $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0; + var $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0; + var $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0; + var $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0; + var $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0; + var $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0; + var $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0; + var $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0; + var $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $50 = 0, $500 = 0, $501 = 0; + var $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0; + var $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0, $531 = 0, $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0; + var $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0, $549 = 0, $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0; + var $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0, $562 = 0, $563 = 0, $564 = 0, $565 = 0, $566 = 0, $567 = 0, $568 = 0, $569 = 0, $57 = 0, $570 = 0, $571 = 0, $572 = 0, $573 = 0, $574 = 0; + var $575 = 0, $576 = 0, $577 = 0, $578 = 0, $579 = 0, $58 = 0, $580 = 0, $581 = 0, $582 = 0, $583 = 0, $584 = 0, $585 = 0, $586 = 0, $587 = 0, $588 = 0, $589 = 0, $59 = 0, $590 = 0, $591 = 0, $592 = 0; + var $593 = 0, $594 = 0, $595 = 0, $596 = 0, $597 = 0, $598 = 0, $599 = 0, $60 = 0, $600 = 0, $601 = 0, $602 = 0, $603 = 0, $604 = 0, $605 = 0, $606 = 0, $607 = 0, $608 = 0, $609 = 0, $61 = 0, $610 = 0; + var $611 = 0, $612 = 0, $613 = 0, $614 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0; + var $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0; + var $96 = 0, $97 = 0, $98 = 0, $99 = 0, $brmerge = 0, $brmerge894 = 0, $exitcond = 0, $exitcond864 = 0, $exitcond865 = 0, $exitcond867 = 0, $exitcond869 = 0, $exitcond871 = 0, $exitcond873 = 0, $exitcond875 = 0, $exitcond877 = 0, $exitcond880 = 0, $exitcond881 = 0, $exitcond882 = 0, $exitcond883 = 0, $exitcond884 = 0; + var $exitcond885 = 0, $exitcond886 = 0, $indvars$iv = 0, $indvars$iv$next = 0, $indvars$iv$next849 = 0, $indvars$iv$next852 = 0, $indvars$iv$next855 = 0, $indvars$iv$next858 = 0, $indvars$iv$next861 = 0, $indvars$iv848 = 0, $indvars$iv851 = 0, $indvars$iv854 = 0, $indvars$iv857 = 0, $indvars$iv860 = 0, $or$cond = 0, $scevgep = 0, $scevgep850 = 0, $scevgep853 = 0, $scevgep856 = 0, $scevgep859 = 0; + var $scevgep862 = 0, $scevgep866 = 0, $scevgep868 = 0, $scevgep870 = 0, $scevgep872 = 0, $scevgep874 = 0, $scevgep876 = 0, $scevgep879 = 0, $trunc = 0, $trunc637 = 0, $trunc638 = 0, label = 0, sp = 0; + sp = STACKTOP; + $8 = ($6|0)==(16); + $9 = $8 ? 2 : 1; + $10 = HEAP32[$0>>2]|0; + $11 = Math_imul($4, $3)|0; + $12 = Math_imul($9, $11)|0; + $13 = ((($10)) + 8|0); + $14 = HEAP32[$13>>2]|0; + $15 = Math_imul($9, $3)|0; + $16 = Math_imul($14, $9)|0; + $17 = ($14|0)==($3|0); + $18 = (($14) + 1)|0; + $19 = ($18|0)==($3|0); + $or$cond = $17 | $19; + if (!($or$cond)) { + ___assert_fail((14290|0),(13718|0),4294,(14331|0)); + // unreachable; + } + $20 = (_stbi__malloc_mad3($4,$5,$15)|0); + $21 = ((($0)) + 12|0); + HEAP32[$21>>2] = $20; + $22 = ($20|0)==(0|0); + if ($22) { + _stbi__err(13773); + $$2 = 0; + return ($$2|0); + } + $23 = Math_imul($14, $4)|0; + $24 = Math_imul($23, $6)|0; + $25 = (($24) + 7)|0; + $26 = $25 >>> 3; + $27 = (($26) + 1)|0; + $28 = Math_imul($27, $5)|0; + $29 = HEAP32[$10>>2]|0; + $30 = ($29|0)==($4|0); + if ($30) { + $31 = ((($10)) + 4|0); + $32 = HEAP32[$31>>2]|0; + $33 = ($32|0)==($5|0); + if ($33) { + $34 = ($28|0)==($2|0); + if (!($34)) { + _stbi__err(14358); + $$2 = 0; + return ($$2|0); } } else { label = 9; } - } while(0); - if ((label|0) == 9) { - HEAP32[$vararg_buffer1>>2] = $fileName; - _TraceLog(2,24008,$vararg_buffer1); - $image$sroa$0$0 = 0;$image$sroa$3$0 = 0;$image$sroa$5$0 = 0;$image$sroa$7$0 = 0;$image$sroa$9$0 = 0; + } else { + label = 9; } - (_fclose(($0|0))|0); - $image$sroa$0$1 = $image$sroa$0$0;$image$sroa$3$1 = $image$sroa$3$0;$image$sroa$5$1 = $image$sroa$5$0;$image$sroa$7$1 = $image$sroa$7$0;$image$sroa$9$1 = $image$sroa$9$0; - HEAP32[$agg$result>>2] = $image$sroa$0$1; - $40 = ((($agg$result)) + 4|0); - HEAP32[$40>>2] = $image$sroa$3$1; - $41 = ((($agg$result)) + 8|0); - HEAP32[$41>>2] = $image$sroa$5$1; - $42 = ((($agg$result)) + 12|0); - HEAP32[$42>>2] = $image$sroa$7$1; - $43 = ((($agg$result)) + 16|0); - HEAP32[$43>>2] = $image$sroa$9$1; + if ((label|0) == 9) { + $35 = ($28>>>0)>($2>>>0); + if ($35) { + _stbi__err(14358); + $$2 = 0; + return ($$2|0); + } + } + $36 = ($5|0)==(0); + L18: do { + if (!($36)) { + $37 = ($6|0)<(8); + $38 = ($26>>>0)>($4>>>0); + $39 = (($11) - ($26))|0; + $40 = (0 - ($12))|0; + $41 = ($6|0)==(8); + $brmerge = $37 | $17; + $42 = ($4|0)==(0); + $$0614793 = (($4) + -1)|0; + $43 = ($$0614793|0)==(0); + $$1615785 = (($4) + -1)|0; + $44 = ($$1615785|0)==(0); + $$2616776 = (($4) + -1)|0; + $45 = ($$2616776|0)==(0); + $$3617767 = (($4) + -1)|0; + $46 = ($$3617767|0)==(0); + $$4618758 = (($4) + -1)|0; + $47 = ($$4618758|0)==(0); + $$5619750 = (($4) + -1)|0; + $48 = ($$5619750|0)==(0); + $$6620742 = (($4) + -1)|0; + $49 = ($$6620742|0)==(0); + $$not = $8 ^ 1; + $brmerge894 = $42 | $$not; + $$0577817 = $1;$$0608816 = $4;$$0611815 = $16;$$0623814 = 0; + while(1) { + $50 = HEAP32[$21>>2]|0; + $51 = Math_imul($$0623814, $12)|0; + $52 = (($50) + ($51)|0); + $53 = ((($$0577817)) + 1|0); + $54 = HEAP8[$$0577817>>0]|0; + $55 = $54&255; + $56 = ($54&255)>(4); + if ($56) { + label = 105; + break; + } + if ($37) { + if ($38) { + label = 16; + break; + } + $57 = (($52) + ($39)|0); + $$0597 = $57;$$1609 = $26;$$1612 = 1; + } else { + $$0597 = $52;$$1609 = $$0608816;$$1612 = $$0611815; + } + $58 = (($$0597) + ($40)|0); + $59 = ($$0623814|0)==(0); + if ($59) { + $60 = (14397 + ($55)|0); + $61 = HEAP8[$60>>0]|0; + $62 = $61&255; + $$0588 = $62; + } else { + $$0588 = $55; + } + $63 = ($$1612|0)>(0); + L30: do { + if ($63) { + $trunc638 = $$0588&255; + $$0625734 = 0; + while(1) { + switch ($trunc638<<24>>24) { + case 0: { + $64 = (($53) + ($$0625734)|0); + $65 = HEAP8[$64>>0]|0; + $$sink = $65; + label = 30; + break; + } + case 1: { + $66 = (($53) + ($$0625734)|0); + $67 = HEAP8[$66>>0]|0; + $$sink = $67; + label = 30; + break; + } + case 2: { + $68 = (($53) + ($$0625734)|0); + $69 = HEAP8[$68>>0]|0; + $70 = $69&255; + $71 = (($58) + ($$0625734)|0); + $72 = HEAP8[$71>>0]|0; + $73 = $72&255; + $74 = (($73) + ($70))|0; + $75 = $74&255; + $$sink = $75; + label = 30; + break; + } + case 3: { + $76 = (($53) + ($$0625734)|0); + $77 = HEAP8[$76>>0]|0; + $78 = $77&255; + $79 = (($58) + ($$0625734)|0); + $80 = HEAP8[$79>>0]|0; + $81 = $80&255; + $82 = $81 >>> 1; + $83 = (($82) + ($78))|0; + $84 = $83&255; + $$sink = $84; + label = 30; + break; + } + case 4: { + $85 = (($53) + ($$0625734)|0); + $86 = HEAP8[$85>>0]|0; + $87 = $86&255; + $88 = (($58) + ($$0625734)|0); + $89 = HEAP8[$88>>0]|0; + $90 = $89&255; + $91 = (_stbi__paeth(0,$90,0)|0); + $92 = (($91) + ($87))|0; + $93 = $92&255; + $$sink = $93; + label = 30; + break; + } + case 5: { + $94 = (($53) + ($$0625734)|0); + $95 = HEAP8[$94>>0]|0; + $$sink = $95; + label = 30; + break; + } + case 6: { + $96 = (($53) + ($$0625734)|0); + $97 = HEAP8[$96>>0]|0; + $$sink = $97; + label = 30; + break; + } + default: { + } + } + if ((label|0) == 30) { + label = 0; + $$sink1 = (($$0597) + ($$0625734)|0); + HEAP8[$$sink1>>0] = $$sink; + } + $98 = (($$0625734) + 1)|0; + $exitcond864 = ($98|0)==($$1612|0); + if ($exitcond864) { + break L30; + } else { + $$0625734 = $98; + } + } + } + } while(0); + do { + if ($41) { + if (!($17)) { + $99 = (($$0597) + ($14)|0); + HEAP8[$99>>0] = -1; + } + $100 = (($53) + ($14)|0); + $$1578 = $100;$$sink641 = $3; + } else { + if (!($8)) { + $105 = ((($$0577817)) + 2|0); + $$1578 = $105;$$sink641 = 1; + break; + } + if (!($17)) { + $101 = (($$1612) + 1)|0; + $102 = (($$0597) + ($101)|0); + $103 = (($$0597) + ($$1612)|0); + HEAP8[$103>>0] = -1; + HEAP8[$102>>0] = -1; + } + $104 = (($53) + ($$1612)|0); + $$1578 = $104;$$sink641 = $15; + } + } while(0); + $106 = (($$0597) + ($$sink641)|0); + $107 = (($58) + ($$sink641)|0); + if ($brmerge) { + $108 = (($$1609) + -1)|0; + $109 = Math_imul($108, $$1612)|0; + $trunc637 = $$0588&255; + switch ($trunc637<<24>>24) { + case 0: { + _memcpy(($106|0),($$1578|0),($109|0))|0; + break; + } + case 1: { + $115 = ($109|0)>(0); + if ($115) { + $$1626812 = 0; + while(1) { + $116 = (($$1578) + ($$1626812)|0); + $117 = HEAP8[$116>>0]|0; + $118 = $117&255; + $119 = (($$1626812) - ($$1612))|0; + $120 = (($106) + ($119)|0); + $121 = HEAP8[$120>>0]|0; + $122 = $121&255; + $123 = (($122) + ($118))|0; + $124 = $123&255; + $125 = (($106) + ($$1626812)|0); + HEAP8[$125>>0] = $124; + $126 = (($$1626812) + 1)|0; + $exitcond886 = ($126|0)==($109|0); + if ($exitcond886) { + break; + } else { + $$1626812 = $126; + } + } + } + break; + } + case 2: { + $114 = ($109|0)>(0); + if ($114) { + $$2627810 = 0; + while(1) { + $127 = (($$1578) + ($$2627810)|0); + $128 = HEAP8[$127>>0]|0; + $129 = $128&255; + $130 = (($107) + ($$2627810)|0); + $131 = HEAP8[$130>>0]|0; + $132 = $131&255; + $133 = (($132) + ($129))|0; + $134 = $133&255; + $135 = (($106) + ($$2627810)|0); + HEAP8[$135>>0] = $134; + $136 = (($$2627810) + 1)|0; + $exitcond885 = ($136|0)==($109|0); + if ($exitcond885) { + break; + } else { + $$2627810 = $136; + } + } + } + break; + } + case 3: { + $113 = ($109|0)>(0); + if ($113) { + $$3628808 = 0; + while(1) { + $137 = (($$1578) + ($$3628808)|0); + $138 = HEAP8[$137>>0]|0; + $139 = $138&255; + $140 = (($107) + ($$3628808)|0); + $141 = HEAP8[$140>>0]|0; + $142 = $141&255; + $143 = (($$3628808) - ($$1612))|0; + $144 = (($106) + ($143)|0); + $145 = HEAP8[$144>>0]|0; + $146 = $145&255; + $147 = (($146) + ($142))|0; + $148 = $147 >>> 1; + $149 = (($148) + ($139))|0; + $150 = $149&255; + $151 = (($106) + ($$3628808)|0); + HEAP8[$151>>0] = $150; + $152 = (($$3628808) + 1)|0; + $exitcond884 = ($152|0)==($109|0); + if ($exitcond884) { + break; + } else { + $$3628808 = $152; + } + } + } + break; + } + case 4: { + $112 = ($109|0)>(0); + if ($112) { + $$4629806 = 0; + while(1) { + $153 = (($$1578) + ($$4629806)|0); + $154 = HEAP8[$153>>0]|0; + $155 = $154&255; + $156 = (($$4629806) - ($$1612))|0; + $157 = (($106) + ($156)|0); + $158 = HEAP8[$157>>0]|0; + $159 = $158&255; + $160 = (($107) + ($$4629806)|0); + $161 = HEAP8[$160>>0]|0; + $162 = $161&255; + $163 = (($107) + ($156)|0); + $164 = HEAP8[$163>>0]|0; + $165 = $164&255; + $166 = (_stbi__paeth($159,$162,$165)|0); + $167 = (($166) + ($155))|0; + $168 = $167&255; + $169 = (($106) + ($$4629806)|0); + HEAP8[$169>>0] = $168; + $170 = (($$4629806) + 1)|0; + $exitcond883 = ($170|0)==($109|0); + if ($exitcond883) { + break; + } else { + $$4629806 = $170; + } + } + } + break; + } + case 5: { + $111 = ($109|0)>(0); + if ($111) { + $$5630804 = 0; + while(1) { + $171 = (($$1578) + ($$5630804)|0); + $172 = HEAP8[$171>>0]|0; + $173 = $172&255; + $174 = (($$5630804) - ($$1612))|0; + $175 = (($106) + ($174)|0); + $176 = HEAP8[$175>>0]|0; + $177 = $176&255; + $178 = $177 >>> 1; + $179 = (($178) + ($173))|0; + $180 = $179&255; + $181 = (($106) + ($$5630804)|0); + HEAP8[$181>>0] = $180; + $182 = (($$5630804) + 1)|0; + $exitcond882 = ($182|0)==($109|0); + if ($exitcond882) { + break; + } else { + $$5630804 = $182; + } + } + } + break; + } + case 6: { + $110 = ($109|0)>(0); + if ($110) { + $$6631802 = 0; + while(1) { + $183 = (($$1578) + ($$6631802)|0); + $184 = HEAP8[$183>>0]|0; + $185 = $184&255; + $186 = (($$6631802) - ($$1612))|0; + $187 = (($106) + ($186)|0); + $188 = HEAP8[$187>>0]|0; + $189 = $188&255; + $190 = (_stbi__paeth($189,0,0)|0); + $191 = (($190) + ($185))|0; + $192 = $191&255; + $193 = (($106) + ($$6631802)|0); + HEAP8[$193>>0] = $192; + $194 = (($$6631802) + 1)|0; + $exitcond881 = ($194|0)==($109|0); + if ($exitcond881) { + break; + } else { + $$6631802 = $194; + } + } + } + break; + } + default: { + } + } + $195 = (($$1578) + ($109)|0); + $$11$ph = $195; + } else { + if (!($19)) { + label = 58; + break; + } + $trunc = $$0588&255; + switch ($trunc<<24>>24) { + case 0: { + if ($43) { + $$9586 = $$1578; + } else { + $208 = ($$1612|0)>(0); + $209 = Math_imul($$6620742, $$1612)|0; + $$0614796 = $$0614793;$$2579795 = $$1578;$$2599794 = $106; + while(1) { + if ($208) { + $$7632790 = 0; + while(1) { + $210 = (($$2579795) + ($$7632790)|0); + $211 = HEAP8[$210>>0]|0; + $212 = (($$2599794) + ($$7632790)|0); + HEAP8[$212>>0] = $211; + $213 = (($$7632790) + 1)|0; + $exitcond877 = ($213|0)==($$1612|0); + if ($exitcond877) { + break; + } else { + $$7632790 = $213; + } + } + } + $214 = (($$2599794) + ($$1612)|0); + HEAP8[$214>>0] = -1; + $215 = (($$2579795) + ($$1612)|0); + $216 = (($$2599794) + ($15)|0); + $$0614 = (($$0614796) + -1)|0; + $217 = ($$0614|0)==(0); + if ($217) { + break; + } else { + $$0614796 = $$0614;$$2579795 = $215;$$2599794 = $216; + } + } + $scevgep879 = (($$1578) + ($209)|0); + $$9586 = $scevgep879; + } + break; + } + case 1: { + if ($44) { + $$9586 = $$1578; + } else { + $206 = ($$1612|0)>(0); + $207 = Math_imul($$6620742, $$1612)|0; + $$1615788 = $$1615785;$$3580787 = $$1578;$$3600786 = $106; + while(1) { + if ($206) { + $$8633782 = 0; + while(1) { + $218 = (($$3580787) + ($$8633782)|0); + $219 = HEAP8[$218>>0]|0; + $220 = $219&255; + $221 = (($$8633782) - ($15))|0; + $222 = (($$3600786) + ($221)|0); + $223 = HEAP8[$222>>0]|0; + $224 = $223&255; + $225 = (($224) + ($220))|0; + $226 = $225&255; + $227 = (($$3600786) + ($$8633782)|0); + HEAP8[$227>>0] = $226; + $228 = (($$8633782) + 1)|0; + $exitcond875 = ($228|0)==($$1612|0); + if ($exitcond875) { + break; + } else { + $$8633782 = $228; + } + } + } + $229 = (($$3600786) + ($$1612)|0); + HEAP8[$229>>0] = -1; + $230 = (($$3580787) + ($$1612)|0); + $231 = (($$3600786) + ($15)|0); + $$1615 = (($$1615788) + -1)|0; + $232 = ($$1615|0)==(0); + if ($232) { + break; + } else { + $$1615788 = $$1615;$$3580787 = $230;$$3600786 = $231; + } + } + $scevgep876 = (($$1578) + ($207)|0); + $$9586 = $scevgep876; + } + break; + } + case 2: { + if ($45) { + $$9586 = $$1578; + } else { + $204 = ($$1612|0)>(0); + $205 = Math_imul($$6620742, $$1612)|0; + $$2616780 = $$2616776;$$3592778 = $107;$$4581779 = $$1578;$$4601777 = $106; + while(1) { + if ($204) { + $$9634773 = 0; + while(1) { + $233 = (($$4581779) + ($$9634773)|0); + $234 = HEAP8[$233>>0]|0; + $235 = $234&255; + $236 = (($$3592778) + ($$9634773)|0); + $237 = HEAP8[$236>>0]|0; + $238 = $237&255; + $239 = (($238) + ($235))|0; + $240 = $239&255; + $241 = (($$4601777) + ($$9634773)|0); + HEAP8[$241>>0] = $240; + $242 = (($$9634773) + 1)|0; + $exitcond873 = ($242|0)==($$1612|0); + if ($exitcond873) { + break; + } else { + $$9634773 = $242; + } + } + } + $243 = (($$4601777) + ($$1612)|0); + HEAP8[$243>>0] = -1; + $244 = (($$4581779) + ($$1612)|0); + $245 = (($$4601777) + ($15)|0); + $246 = (($$3592778) + ($15)|0); + $$2616 = (($$2616780) + -1)|0; + $247 = ($$2616|0)==(0); + if ($247) { + break; + } else { + $$2616780 = $$2616;$$3592778 = $246;$$4581779 = $244;$$4601777 = $245; + } + } + $scevgep874 = (($$1578) + ($205)|0); + $$9586 = $scevgep874; + } + break; + } + case 3: { + if ($46) { + $$9586 = $$1578; + } else { + $202 = ($$1612|0)>(0); + $203 = Math_imul($$6620742, $$1612)|0; + $$3617771 = $$3617767;$$4593769 = $107;$$5582770 = $$1578;$$5602768 = $106; + while(1) { + if ($202) { + $$10635764 = 0; + while(1) { + $248 = (($$5582770) + ($$10635764)|0); + $249 = HEAP8[$248>>0]|0; + $250 = $249&255; + $251 = (($$4593769) + ($$10635764)|0); + $252 = HEAP8[$251>>0]|0; + $253 = $252&255; + $254 = (($$10635764) - ($15))|0; + $255 = (($$5602768) + ($254)|0); + $256 = HEAP8[$255>>0]|0; + $257 = $256&255; + $258 = (($257) + ($253))|0; + $259 = $258 >>> 1; + $260 = (($259) + ($250))|0; + $261 = $260&255; + $262 = (($$5602768) + ($$10635764)|0); + HEAP8[$262>>0] = $261; + $263 = (($$10635764) + 1)|0; + $exitcond871 = ($263|0)==($$1612|0); + if ($exitcond871) { + break; + } else { + $$10635764 = $263; + } + } + } + $264 = (($$5602768) + ($$1612)|0); + HEAP8[$264>>0] = -1; + $265 = (($$5582770) + ($$1612)|0); + $266 = (($$5602768) + ($15)|0); + $267 = (($$4593769) + ($15)|0); + $$3617 = (($$3617771) + -1)|0; + $268 = ($$3617|0)==(0); + if ($268) { + break; + } else { + $$3617771 = $$3617;$$4593769 = $267;$$5582770 = $265;$$5602768 = $266; + } + } + $scevgep872 = (($$1578) + ($203)|0); + $$9586 = $scevgep872; + } + break; + } + case 4: { + if ($47) { + $$9586 = $$1578; + } else { + $200 = ($$1612|0)>(0); + $201 = Math_imul($$6620742, $$1612)|0; + $$4618762 = $$4618758;$$5594760 = $107;$$6583761 = $$1578;$$6603759 = $106; + while(1) { + if ($200) { + $$11636755 = 0; + while(1) { + $269 = (($$6583761) + ($$11636755)|0); + $270 = HEAP8[$269>>0]|0; + $271 = $270&255; + $272 = (($$11636755) - ($15))|0; + $273 = (($$6603759) + ($272)|0); + $274 = HEAP8[$273>>0]|0; + $275 = $274&255; + $276 = (($$5594760) + ($$11636755)|0); + $277 = HEAP8[$276>>0]|0; + $278 = $277&255; + $279 = (($$5594760) + ($272)|0); + $280 = HEAP8[$279>>0]|0; + $281 = $280&255; + $282 = (_stbi__paeth($275,$278,$281)|0); + $283 = (($282) + ($271))|0; + $284 = $283&255; + $285 = (($$6603759) + ($$11636755)|0); + HEAP8[$285>>0] = $284; + $286 = (($$11636755) + 1)|0; + $exitcond869 = ($286|0)==($$1612|0); + if ($exitcond869) { + break; + } else { + $$11636755 = $286; + } + } + } + $287 = (($$6603759) + ($$1612)|0); + HEAP8[$287>>0] = -1; + $288 = (($$6583761) + ($$1612)|0); + $289 = (($$6603759) + ($15)|0); + $290 = (($$5594760) + ($15)|0); + $$4618 = (($$4618762) + -1)|0; + $291 = ($$4618|0)==(0); + if ($291) { + break; + } else { + $$4618762 = $$4618;$$5594760 = $290;$$6583761 = $288;$$6603759 = $289; + } + } + $scevgep870 = (($$1578) + ($201)|0); + $$9586 = $scevgep870; + } + break; + } + case 5: { + if ($48) { + $$9586 = $$1578; + } else { + $198 = ($$1612|0)>(0); + $199 = Math_imul($$6620742, $$1612)|0; + $$5619753 = $$5619750;$$7584752 = $$1578;$$7604751 = $106; + while(1) { + if ($198) { + $$12747 = 0; + while(1) { + $292 = (($$7584752) + ($$12747)|0); + $293 = HEAP8[$292>>0]|0; + $294 = $293&255; + $295 = (($$12747) - ($15))|0; + $296 = (($$7604751) + ($295)|0); + $297 = HEAP8[$296>>0]|0; + $298 = $297&255; + $299 = $298 >>> 1; + $300 = (($299) + ($294))|0; + $301 = $300&255; + $302 = (($$7604751) + ($$12747)|0); + HEAP8[$302>>0] = $301; + $303 = (($$12747) + 1)|0; + $exitcond867 = ($303|0)==($$1612|0); + if ($exitcond867) { + break; + } else { + $$12747 = $303; + } + } + } + $304 = (($$7604751) + ($$1612)|0); + HEAP8[$304>>0] = -1; + $305 = (($$7584752) + ($$1612)|0); + $306 = (($$7604751) + ($15)|0); + $$5619 = (($$5619753) + -1)|0; + $307 = ($$5619|0)==(0); + if ($307) { + break; + } else { + $$5619753 = $$5619;$$7584752 = $305;$$7604751 = $306; + } + } + $scevgep868 = (($$1578) + ($199)|0); + $$9586 = $scevgep868; + } + break; + } + case 6: { + if ($49) { + $$9586 = $$1578; + } else { + $196 = ($$1612|0)>(0); + $197 = Math_imul($$6620742, $$1612)|0; + $$6620745 = $$6620742;$$8585744 = $$1578;$$8605743 = $106; + while(1) { + if ($196) { + $$13739 = 0; + while(1) { + $308 = (($$8585744) + ($$13739)|0); + $309 = HEAP8[$308>>0]|0; + $310 = $309&255; + $311 = (($$13739) - ($15))|0; + $312 = (($$8605743) + ($311)|0); + $313 = HEAP8[$312>>0]|0; + $314 = $313&255; + $315 = (_stbi__paeth($314,0,0)|0); + $316 = (($315) + ($310))|0; + $317 = $316&255; + $318 = (($$8605743) + ($$13739)|0); + HEAP8[$318>>0] = $317; + $319 = (($$13739) + 1)|0; + $exitcond865 = ($319|0)==($$1612|0); + if ($exitcond865) { + break; + } else { + $$13739 = $319; + } + } + } + $320 = (($$8605743) + ($$1612)|0); + HEAP8[$320>>0] = -1; + $321 = (($$8585744) + ($$1612)|0); + $322 = (($$8605743) + ($15)|0); + $$6620 = (($$6620745) + -1)|0; + $323 = ($$6620|0)==(0); + if ($323) { + break; + } else { + $$6620745 = $$6620;$$8585744 = $321;$$8605743 = $322; + } + } + $scevgep866 = (($$1578) + ($197)|0); + $$9586 = $scevgep866; + } + break; + } + default: { + $$9586 = $$1578; + } + } + if ($brmerge894) { + $$11$ph = $$9586; + } else { + $324 = HEAP32[$21>>2]|0; + $325 = (($324) + ($51)|0); + $326 = (($$1612) + 1)|0; + $$7621798 = 0;$$9606799 = $325; + while(1) { + $327 = (($$9606799) + ($326)|0); + HEAP8[$327>>0] = -1; + $328 = (($$7621798) + 1)|0; + $329 = (($$9606799) + ($15)|0); + $exitcond880 = ($328|0)==($4|0); + if ($exitcond880) { + $$11$ph = $$9586; + break; + } else { + $$7621798 = $328;$$9606799 = $329; + } + } + } + } + $330 = (($$0623814) + 1)|0; + $331 = ($330>>>0)<($5>>>0); + if ($331) { + $$0577817 = $$11$ph;$$0608816 = $$1609;$$0611815 = $$1612;$$0623814 = $330; + } else { + break L18; + } + } + if ((label|0) == 16) { + ___assert_fail((14376|0),(13718|0),4315,(14331|0)); + // unreachable; + } + else if ((label|0) == 58) { + ___assert_fail((14402|0),(13718|0),4377,(14331|0)); + // unreachable; + } + else if ((label|0) == 105) { + _stbi__err(14419); + $$2 = 0; + return ($$2|0); + } + } + } while(0); + $332 = ($6|0)<(8); + if (!($332)) { + if (!($8)) { + $$2 = 1; + return ($$2|0); + } + $601 = Math_imul($4, $3)|0; + $602 = Math_imul($601, $5)|0; + $603 = ($602|0)==(0); + if ($603) { + $$2 = 1; + return ($$2|0); + } + $604 = HEAP32[$21>>2]|0; + $$0731 = $604;$$8622729 = 0; + while(1) { + $605 = HEAP8[$$0731>>0]|0; + $606 = $605&255; + $607 = $606 << 8; + $608 = ((($$0731)) + 1|0); + $609 = HEAP8[$608>>0]|0; + $610 = $609&255; + $611 = $607 | $610; + $612 = $611&65535; + HEAP16[$$0731>>1] = $612; + $613 = (($$8622729) + 1)|0; + $614 = ((($$0731)) + 2|0); + $exitcond = ($613|0)==($602|0); + if ($exitcond) { + $$2 = 1; + break; + } else { + $$0731 = $614;$$8622729 = $613; + } + } + return ($$2|0); + } + $333 = ($5|0)==(0); + if ($333) { + $$2 = 1; + return ($$2|0); + } + $334 = (0 - ($26))|0; + $335 = ($7|0)==(0); + $336 = (14115 + ($6)|0); + $$0568724 = (($4) + -1)|0; + $337 = ($$0568724|0)>(-1); + $$1721 = (($4) + -1)|0; + $338 = ($$1721|0)>(-1); + $339 = ($23|0)>(1); + $340 = ($23|0)>(3); + $341 = ($23|0)>(7); + $342 = (($23) + -8)|0; + $343 = $342 >>> 3; + $344 = $343 << 3; + $345 = (($344) + 8)|0; + $346 = (($342) - ($344))|0; + $347 = (($343) + ($11))|0; + $348 = (($347) + 1)|0; + $349 = (($348) - ($26))|0; + $350 = (($23) + -4)|0; + $351 = $350 >>> 2; + $352 = $351 << 2; + $353 = (($352) + 4)|0; + $354 = (($350) - ($352))|0; + $355 = (($351) + ($11))|0; + $356 = (($355) + 1)|0; + $357 = (($356) - ($26))|0; + $358 = (($23) + -2)|0; + $359 = $358 >>> 1; + $360 = $359 << 1; + $361 = (($360) + 2)|0; + $362 = (($358) - ($360))|0; + $363 = (($359) + ($11))|0; + $364 = (($363) + 1)|0; + $365 = (($364) - ($26))|0; + $$1624727 = 0;$indvars$iv = $345;$indvars$iv848 = $349;$indvars$iv851 = $353;$indvars$iv854 = $357;$indvars$iv857 = $361;$indvars$iv860 = $365; + L174: while(1) { + $366 = HEAP32[$21>>2]|0; + $367 = Math_imul($$1624727, $12)|0; + $368 = (($366) + ($367)|0); + $369 = (($368) + ($11)|0); + $370 = (($369) + ($334)|0); + if ($335) { + $371 = HEAP8[$336>>0]|0; + $372 = $371&255; + $377 = $372; + } else { + $377 = 1; + } + switch ($6|0) { + case 4: { + if ($339) { + $scevgep859 = (($366) + ($indvars$iv857)|0); + $$0571715 = $370;$$0574714 = $368;$$14713 = $23; + while(1) { + $373 = HEAP8[$$0571715>>0]|0; + $374 = $373&255; + $375 = $374 >>> 4; + $376 = Math_imul($375, $377)|0; + $378 = $376&255; + $379 = ((($$0574714)) + 1|0); + HEAP8[$$0574714>>0] = $378; + $380 = HEAP8[$$0571715>>0]|0; + $381 = $380 & 15; + $382 = $381&255; + $383 = Math_imul($382, $377)|0; + $384 = $383&255; + $385 = ((($$0574714)) + 2|0); + HEAP8[$379>>0] = $384; + $386 = (($$14713) + -2)|0; + $387 = ((($$0571715)) + 1|0); + $388 = ($386|0)>(1); + if ($388) { + $$0571715 = $387;$$0574714 = $385;$$14713 = $386; + } else { + break; + } + } + $scevgep862 = (($366) + ($indvars$iv860)|0); + $$0571$lcssa = $scevgep862;$$0574$lcssa = $scevgep859;$$14$lcssa = $362; + } else { + $$0571$lcssa = $370;$$0574$lcssa = $368;$$14$lcssa = $23; + } + $389 = ($$14$lcssa|0)==(1); + if ($389) { + $390 = HEAP8[$$0571$lcssa>>0]|0; + $391 = $390&255; + $392 = $391 >>> 4; + $393 = Math_imul($392, $377)|0; + $394 = $393&255; + HEAP8[$$0574$lcssa>>0] = $394; + } + break; + } + case 2: { + if ($340) { + $scevgep853 = (($366) + ($indvars$iv851)|0); + $$15705 = $23;$$1572707 = $370;$$1575706 = $368; + while(1) { + $395 = HEAP8[$$1572707>>0]|0; + $396 = $395&255; + $397 = $396 >>> 6; + $398 = Math_imul($397, $377)|0; + $399 = $398&255; + $400 = ((($$1575706)) + 1|0); + HEAP8[$$1575706>>0] = $399; + $401 = HEAP8[$$1572707>>0]|0; + $402 = $401&255; + $403 = $402 >>> 4; + $404 = $403 & 3; + $405 = Math_imul($404, $377)|0; + $406 = $405&255; + $407 = ((($$1575706)) + 2|0); + HEAP8[$400>>0] = $406; + $408 = HEAP8[$$1572707>>0]|0; + $409 = $408&255; + $410 = $409 >>> 2; + $411 = $410 & 3; + $412 = Math_imul($411, $377)|0; + $413 = $412&255; + $414 = ((($$1575706)) + 3|0); + HEAP8[$407>>0] = $413; + $415 = HEAP8[$$1572707>>0]|0; + $416 = $415 & 3; + $417 = $416&255; + $418 = Math_imul($417, $377)|0; + $419 = $418&255; + $420 = ((($$1575706)) + 4|0); + HEAP8[$414>>0] = $419; + $421 = (($$15705) + -4)|0; + $422 = ((($$1572707)) + 1|0); + $423 = ($421|0)>(3); + if ($423) { + $$15705 = $421;$$1572707 = $422;$$1575706 = $420; + } else { + break; + } + } + $scevgep856 = (($366) + ($indvars$iv854)|0); + $$15$lcssa = $354;$$1572$lcssa = $scevgep856;$$1575$lcssa = $scevgep853; + } else { + $$15$lcssa = $23;$$1572$lcssa = $370;$$1575$lcssa = $368; + } + $424 = ($$15$lcssa|0)>(0); + if ($424) { + $425 = HEAP8[$$1572$lcssa>>0]|0; + $426 = $425&255; + $427 = $426 >>> 6; + $428 = Math_imul($427, $377)|0; + $429 = $428&255; + HEAP8[$$1575$lcssa>>0] = $429; + $430 = ($$15$lcssa|0)==(1); + if (!($430)) { + $431 = ((($$1575$lcssa)) + 1|0); + $432 = HEAP8[$$1572$lcssa>>0]|0; + $433 = $432&255; + $434 = $433 >>> 4; + $435 = $434 & 3; + $436 = Math_imul($435, $377)|0; + $437 = $436&255; + HEAP8[$431>>0] = $437; + $438 = ($$15$lcssa|0)>(2); + if ($438) { + $439 = ((($$1575$lcssa)) + 2|0); + $440 = HEAP8[$$1572$lcssa>>0]|0; + $441 = $440&255; + $442 = $441 >>> 2; + $443 = $442 & 3; + $444 = Math_imul($443, $377)|0; + $445 = $444&255; + HEAP8[$439>>0] = $445; + } + } + } + break; + } + case 1: { + if ($341) { + $scevgep = (($366) + ($indvars$iv)|0); + $$16700 = $23;$$2573702 = $370;$$4701 = $368; + while(1) { + $446 = HEAP8[$$2573702>>0]|0; + $447 = $446&255; + $448 = $447 >>> 7; + $449 = (0 - ($448))|0; + $450 = $377 & $449; + $451 = $450&255; + $452 = ((($$4701)) + 1|0); + HEAP8[$$4701>>0] = $451; + $453 = HEAP8[$$2573702>>0]|0; + $454 = $453&255; + $455 = $454 >>> 6; + $456 = $455 & 1; + $457 = (0 - ($456))|0; + $458 = $377 & $457; + $459 = $458&255; + $460 = ((($$4701)) + 2|0); + HEAP8[$452>>0] = $459; + $461 = HEAP8[$$2573702>>0]|0; + $462 = $461&255; + $463 = $462 >>> 5; + $464 = $463 & 1; + $465 = (0 - ($464))|0; + $466 = $377 & $465; + $467 = $466&255; + $468 = ((($$4701)) + 3|0); + HEAP8[$460>>0] = $467; + $469 = HEAP8[$$2573702>>0]|0; + $470 = $469&255; + $471 = $470 >>> 4; + $472 = $471 & 1; + $473 = (0 - ($472))|0; + $474 = $377 & $473; + $475 = $474&255; + $476 = ((($$4701)) + 4|0); + HEAP8[$468>>0] = $475; + $477 = HEAP8[$$2573702>>0]|0; + $478 = $477&255; + $479 = $478 >>> 3; + $480 = $479 & 1; + $481 = (0 - ($480))|0; + $482 = $377 & $481; + $483 = $482&255; + $484 = ((($$4701)) + 5|0); + HEAP8[$476>>0] = $483; + $485 = HEAP8[$$2573702>>0]|0; + $486 = $485&255; + $487 = $486 >>> 2; + $488 = $487 & 1; + $489 = (0 - ($488))|0; + $490 = $377 & $489; + $491 = $490&255; + $492 = ((($$4701)) + 6|0); + HEAP8[$484>>0] = $491; + $493 = HEAP8[$$2573702>>0]|0; + $494 = $493&255; + $495 = $494 >>> 1; + $496 = $495 & 1; + $497 = (0 - ($496))|0; + $498 = $377 & $497; + $499 = $498&255; + $500 = ((($$4701)) + 7|0); + HEAP8[$492>>0] = $499; + $501 = HEAP8[$$2573702>>0]|0; + $502 = $501 & 1; + $503 = $502&255; + $504 = (0 - ($503))|0; + $505 = $377 & $504; + $506 = $505&255; + $507 = ((($$4701)) + 8|0); + HEAP8[$500>>0] = $506; + $508 = (($$16700) + -8)|0; + $509 = ((($$2573702)) + 1|0); + $510 = ($508|0)>(7); + if ($510) { + $$16700 = $508;$$2573702 = $509;$$4701 = $507; + } else { + break; + } + } + $scevgep850 = (($366) + ($indvars$iv848)|0); + $$16$lcssa = $346;$$2573$lcssa = $scevgep850;$$4$lcssa = $scevgep; + } else { + $$16$lcssa = $23;$$2573$lcssa = $370;$$4$lcssa = $368; + } + $511 = ($$16$lcssa|0)>(0); + if ($511) { + $512 = HEAP8[$$2573$lcssa>>0]|0; + $513 = $512&255; + $514 = $513 >>> 7; + $515 = (0 - ($514))|0; + $516 = $377 & $515; + $517 = $516&255; + HEAP8[$$4$lcssa>>0] = $517; + $518 = ($$16$lcssa|0)==(1); + if (!($518)) { + $519 = ((($$4$lcssa)) + 1|0); + $520 = HEAP8[$$2573$lcssa>>0]|0; + $521 = $520&255; + $522 = $521 >>> 6; + $523 = $522 & 1; + $524 = (0 - ($523))|0; + $525 = $377 & $524; + $526 = $525&255; + HEAP8[$519>>0] = $526; + $527 = ($$16$lcssa|0)>(2); + if ($527) { + $528 = ((($$4$lcssa)) + 2|0); + $529 = HEAP8[$$2573$lcssa>>0]|0; + $530 = $529&255; + $531 = $530 >>> 5; + $532 = $531 & 1; + $533 = (0 - ($532))|0; + $534 = $377 & $533; + $535 = $534&255; + HEAP8[$528>>0] = $535; + $536 = ($$16$lcssa|0)==(3); + if (!($536)) { + $537 = ((($$4$lcssa)) + 3|0); + $538 = HEAP8[$$2573$lcssa>>0]|0; + $539 = $538&255; + $540 = $539 >>> 4; + $541 = $540 & 1; + $542 = (0 - ($541))|0; + $543 = $377 & $542; + $544 = $543&255; + HEAP8[$537>>0] = $544; + $545 = ($$16$lcssa|0)>(4); + if ($545) { + $546 = ((($$4$lcssa)) + 4|0); + $547 = HEAP8[$$2573$lcssa>>0]|0; + $548 = $547&255; + $549 = $548 >>> 3; + $550 = $549 & 1; + $551 = (0 - ($550))|0; + $552 = $377 & $551; + $553 = $552&255; + HEAP8[$546>>0] = $553; + $554 = ($$16$lcssa|0)==(5); + if (!($554)) { + $555 = ((($$4$lcssa)) + 5|0); + $556 = HEAP8[$$2573$lcssa>>0]|0; + $557 = $556&255; + $558 = $557 >>> 2; + $559 = $558 & 1; + $560 = (0 - ($559))|0; + $561 = $377 & $560; + $562 = $561&255; + HEAP8[$555>>0] = $562; + $563 = ($$16$lcssa|0)>(6); + if ($563) { + $564 = ((($$4$lcssa)) + 6|0); + $565 = HEAP8[$$2573$lcssa>>0]|0; + $566 = $565&255; + $567 = $566 >>> 1; + $568 = $567 & 1; + $569 = (0 - ($568))|0; + $570 = $377 & $569; + $571 = $570&255; + HEAP8[$564>>0] = $571; + } + } + } + } + } + } + } + break; + } + default: { + } + } + L213: do { + if (!($17)) { + $572 = HEAP32[$21>>2]|0; + $573 = (($572) + ($367)|0); + switch ($14|0) { + case 1: { + if ($337) { + $$0568725 = $$0568724; + } else { + break L213; + } + while(1) { + $574 = $$0568725 << 1; + $575 = $574 | 1; + $576 = (($573) + ($575)|0); + HEAP8[$576>>0] = -1; + $577 = (($573) + ($$0568725)|0); + $578 = HEAP8[$577>>0]|0; + $579 = (($573) + ($574)|0); + HEAP8[$579>>0] = $578; + $$0568 = (($$0568725) + -1)|0; + $580 = ($$0568|0)>(-1); + if ($580) { + $$0568725 = $$0568; + } else { + break; + } + } + break; + } + case 3: { + if ($338) { + $$1722 = $$1721; + } else { + break L213; + } + while(1) { + $581 = $$1722 << 2; + $582 = $581 | 3; + $583 = (($573) + ($582)|0); + HEAP8[$583>>0] = -1; + $584 = ($$1722*3)|0; + $585 = (($584) + 2)|0; + $586 = (($573) + ($585)|0); + $587 = HEAP8[$586>>0]|0; + $588 = $581 | 2; + $589 = (($573) + ($588)|0); + HEAP8[$589>>0] = $587; + $590 = (($584) + 1)|0; + $591 = (($573) + ($590)|0); + $592 = HEAP8[$591>>0]|0; + $593 = $581 | 1; + $594 = (($573) + ($593)|0); + HEAP8[$594>>0] = $592; + $595 = (($573) + ($584)|0); + $596 = HEAP8[$595>>0]|0; + $597 = (($573) + ($581)|0); + HEAP8[$597>>0] = $596; + $$1 = (($$1722) + -1)|0; + $598 = ($$1|0)>(-1); + if ($598) { + $$1722 = $$1; + } else { + break; + } + } + break; + } + default: { + label = 144; + break L174; + } + } + } + } while(0); + $599 = (($$1624727) + 1)|0; + $600 = ($599>>>0)<($5>>>0); + $indvars$iv$next = (($indvars$iv) + ($12))|0; + $indvars$iv$next849 = (($indvars$iv848) + ($12))|0; + $indvars$iv$next852 = (($indvars$iv851) + ($12))|0; + $indvars$iv$next855 = (($indvars$iv854) + ($12))|0; + $indvars$iv$next858 = (($indvars$iv857) + ($12))|0; + $indvars$iv$next861 = (($indvars$iv860) + ($12))|0; + if ($600) { + $$1624727 = $599;$indvars$iv = $indvars$iv$next;$indvars$iv848 = $indvars$iv$next849;$indvars$iv851 = $indvars$iv$next852;$indvars$iv854 = $indvars$iv$next855;$indvars$iv857 = $indvars$iv$next858;$indvars$iv860 = $indvars$iv$next861; + } else { + $$2 = 1; + label = 151; + break; + } + } + if ((label|0) == 144) { + ___assert_fail((14434|0),(13718|0),4466,(14331|0)); + // unreachable; + } + else if ((label|0) == 151) { + return ($$2|0); + } + return (0)|0; +} +function _stbi__paeth($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$ = 0, $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $ispos = 0, $ispos26 = 0, $ispos28 = 0, $neg = 0, $neg27 = 0, $neg29 = 0, $or$cond = 0; + var label = 0, sp = 0; + sp = STACKTOP; + $3 = (($1) + ($0))|0; + $4 = (($3) - ($2))|0; + $5 = (($4) - ($0))|0; + $ispos = ($5|0)>(-1); + $neg = (0 - ($5))|0; + $6 = $ispos ? $5 : $neg; + $7 = (($4) - ($1))|0; + $ispos26 = ($7|0)>(-1); + $neg27 = (0 - ($7))|0; + $8 = $ispos26 ? $7 : $neg27; + $9 = (($4) - ($2))|0; + $ispos28 = ($9|0)>(-1); + $neg29 = (0 - ($9))|0; + $10 = $ispos28 ? $9 : $neg29; + $11 = ($6|0)>($8|0); + $12 = ($6|0)>($10|0); + $or$cond = $11 | $12; + $13 = ($8|0)>($10|0); + $$ = $13 ? $2 : $1; + $$0 = $or$cond ? $$ : $0; + return ($$0|0); +} +function _stbi__do_zlib($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $10 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $5 = ((($0)) + 20|0); + HEAP32[$5>>2] = $1; + $6 = ((($0)) + 16|0); + HEAP32[$6>>2] = $1; + $7 = (($1) + ($2)|0); + $8 = ((($0)) + 24|0); + HEAP32[$8>>2] = $7; + $9 = ((($0)) + 28|0); + HEAP32[$9>>2] = $3; + $10 = (_stbi__parse_zlib($0,$4)|0); + return ($10|0); +} +function _stbi__parse_zlib($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ($1|0)==(0); + if (!($2)) { + $3 = (_stbi__parse_zlib_header($0)|0); + $4 = ($3|0)==(0); + if ($4) { + $$0 = 0; + return ($$0|0); + } + } + $5 = ((($0)) + 8|0); + HEAP32[$5>>2] = 0; + $6 = ((($0)) + 12|0); + HEAP32[$6>>2] = 0; + $7 = ((($0)) + 32|0); + $8 = ((($0)) + 2052|0); + L5: while(1) { + $9 = (_stbi__zreceive($0,1)|0); + $10 = (_stbi__zreceive($0,2)|0); + switch ($10|0) { + case 3: { + $$0 = 0; + label = 11; + break L5; + break; + } + case 0: { + $11 = (_stbi__parse_uncompressed_block($0)|0); + $12 = ($11|0)==(0); + if ($12) { + $$0 = 0; + label = 11; + break L5; + } + break; + } + case 1: { + $13 = (_stbi__zbuild_huffman($7,14445,288)|0); + $14 = ($13|0)==(0); + if ($14) { + $$0 = 0; + label = 11; + break L5; + } + $15 = (_stbi__zbuild_huffman($8,14733,32)|0); + $16 = ($15|0)==(0); + if ($16) { + $$0 = 0; + label = 11; + break L5; + } else { + label = 9; + } + break; + } + default: { + $17 = (_stbi__compute_huffman_codes($0)|0); + $18 = ($17|0)==(0); + if ($18) { + $$0 = 0; + label = 11; + break L5; + } else { + label = 9; + } + } + } + if ((label|0) == 9) { + label = 0; + $19 = (_stbi__parse_huffman_block($0)|0); + $20 = ($19|0)==(0); + if ($20) { + $$0 = 0; + label = 11; + break; + } + } + $21 = ($9|0)==(0); + if (!($21)) { + $$0 = 1; + label = 11; + break; + } + } + if ((label|0) == 11) { + return ($$0|0); + } + return (0)|0; +} +function _stbi__parse_zlib_header($0) { + $0 = $0|0; + var $$0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (_stbi__zget8($0)|0); + $2 = $1&255; + $3 = $2 & 15; + $4 = (_stbi__zget8($0)|0); + $5 = $4&255; + $6 = $2 << 8; + $7 = $6 | $5; + $8 = (($7>>>0) % 31)&-1; + $9 = ($8|0)==(0); + if (!($9)) { + _stbi__err(15080); + $$0 = 0; + return ($$0|0); + } + $10 = $5 & 32; + $11 = ($10|0)==(0); + if (!($11)) { + _stbi__err(15096); + $$0 = 0; + return ($$0|0); + } + $12 = ($3|0)==(8); + if ($12) { + $$0 = 1; + return ($$0|0); + } + _stbi__err(15111); + $$0 = 0; + return ($$0|0); +} +function _stbi__zreceive($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($0)) + 8|0); + $3 = HEAP32[$2>>2]|0; + $4 = ($3|0)<($1|0); + if ($4) { + _stbi__fill_bits($0); + } + $5 = ((($0)) + 12|0); + $6 = HEAP32[$5>>2]|0; + $7 = 1 << $1; + $8 = (($7) + -1)|0; + $9 = $6 & $8; + $10 = $6 >>> $1; + HEAP32[$5>>2] = $10; + $11 = HEAP32[$2>>2]|0; + $12 = (($11) - ($1))|0; + HEAP32[$2>>2] = $12; + return ($9|0); +} +function _stbi__parse_uncompressed_block($0) { + $0 = $0|0; + var $$0$lcssa = 0, $$034 = 0, $$037 = 0, $$136 = 0, $$lcssa = 0, $$ph = 0, $$pr = 0, $$promoted = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0; + var $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0; + var $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0; + var $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond47 = 0, $smax = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $1 = sp; + $2 = ((($0)) + 8|0); + $3 = HEAP32[$2>>2]|0; + $4 = $3 & 7; + $5 = ($4|0)==(0); + if ($5) { + $$ph = $3; + } else { + (_stbi__zreceive($0,$4)|0); + $$pr = HEAP32[$2>>2]|0; + $$ph = $$pr; + } + $6 = ($$ph|0)>(0); + if ($6) { + $7 = ((($0)) + 12|0); + $$promoted = HEAP32[$7>>2]|0; + $8 = $$ph ^ -1; + $9 = ($8|0)>(-9); + $smax = $9 ? $8 : -9; + $10 = (($$ph) + ($smax))|0; + $11 = (($10) + 8)|0; + $12 = $11 >>> 3; + $13 = (($12) + 1)|0; + $14 = $12 << 3; + $$037 = 0;$16 = $$promoted; + while(1) { + $15 = $16&255; + $17 = (($$037) + 1)|0; + $18 = (($1) + ($$037)|0); + HEAP8[$18>>0] = $15; + $19 = $16 >>> 8; + $exitcond47 = ($17|0)==($13|0); + if ($exitcond47) { + break; + } else { + $$037 = $17;$16 = $19; + } + } + $20 = (($$ph) + -8)|0; + $21 = (($20) - ($14))|0; + HEAP32[$7>>2] = $19; + HEAP32[$2>>2] = $21; + $$0$lcssa = $13;$$lcssa = $21; + } else { + $$0$lcssa = 0;$$lcssa = $$ph; + } + $22 = ($$lcssa|0)==(0); + if (!($22)) { + ___assert_fail((15002|0),(13718|0),4033,(15019|0)); + // unreachable; + } + $23 = ($$0$lcssa|0)<(4); + if ($23) { + $$136 = $$0$lcssa; + while(1) { + $24 = (_stbi__zget8($0)|0); + $25 = (($$136) + 1)|0; + $26 = (($1) + ($$136)|0); + HEAP8[$26>>0] = $24; + $exitcond = ($25|0)==(4); + if ($exitcond) { + break; + } else { + $$136 = $25; + } + } + } + $27 = ((($1)) + 1|0); + $28 = HEAP8[$27>>0]|0; + $29 = $28&255; + $30 = $29 << 8; + $31 = HEAP8[$1>>0]|0; + $32 = $31&255; + $33 = $30 | $32; + $34 = ((($1)) + 3|0); + $35 = HEAP8[$34>>0]|0; + $36 = $35&255; + $37 = $36 << 8; + $38 = ((($1)) + 2|0); + $39 = HEAP8[$38>>0]|0; + $40 = $39&255; + $41 = $37 | $40; + $42 = $33 ^ 65535; + $43 = ($41|0)==($42|0); + if (!($43)) { + _stbi__err(15050); + $$034 = 0; + STACKTOP = sp;return ($$034|0); + } + $44 = HEAP32[$0>>2]|0; + $45 = (($44) + ($33)|0); + $46 = ((($0)) + 4|0); + $47 = HEAP32[$46>>2]|0; + $48 = ($45>>>0)>($47>>>0); + if ($48) { + _stbi__err(15063); + $$034 = 0; + STACKTOP = sp;return ($$034|0); + } + $49 = ((($0)) + 16|0); + $50 = HEAP32[$49>>2]|0; + $51 = (($50) + ($33)|0); + $52 = ((($0)) + 24|0); + $53 = HEAP32[$52>>2]|0; + $54 = ($51>>>0)>($53>>>0); + if ($54) { + $55 = (_stbi__zexpand($0,$50,$33)|0); + $56 = ($55|0)==(0); + if ($56) { + $$034 = 0; + STACKTOP = sp;return ($$034|0); + } + } + $57 = HEAP32[$49>>2]|0; + $58 = HEAP32[$0>>2]|0; + _memcpy(($57|0),($58|0),($33|0))|0; + $59 = HEAP32[$0>>2]|0; + $60 = (($59) + ($33)|0); + HEAP32[$0>>2] = $60; + $61 = HEAP32[$49>>2]|0; + $62 = (($61) + ($33)|0); + HEAP32[$49>>2] = $62; + $$034 = 1; + STACKTOP = sp;return ($$034|0); +} +function _stbi__zbuild_huffman($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$075 = 0, $$07688 = 0, $$07785 = 0, $$07884 = 0, $$081 = 0, $$286 = 0, $$382 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0; + var $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0; + var $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0; + var $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0; + var $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0; + var $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond = 0, $exitcond91 = 0, $or$cond = 0, dest = 0, label = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 144|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(144|0); + $3 = sp + 72|0; + $4 = sp; + dest=$4; stop=dest+68|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + _memset(($0|0),0,1024)|0; + $5 = ($2|0)>(0); + if ($5) { + $$07688 = 0; + while(1) { + $6 = (($1) + ($$07688)|0); + $7 = HEAP8[$6>>0]|0; + $8 = $7&255; + $9 = (($4) + ($8<<2)|0); + $10 = HEAP32[$9>>2]|0; + $11 = (($10) + 1)|0; + HEAP32[$9>>2] = $11; + $12 = (($$07688) + 1)|0; + $exitcond91 = ($12|0)==($2|0); + if ($exitcond91) { + break; + } else { + $$07688 = $12; + } + } + } + HEAP32[$4>>2] = 0; + $16 = ((($4)) + 4|0); + $17 = HEAP32[$16>>2]|0; + $18 = ($17|0)>(2); + if (!($18)) { + $13 = ((($4)) + 8|0); + $14 = HEAP32[$13>>2]|0; + $15 = ($14|0)>(4); + if (!($15)) { + $69 = ((($4)) + 12|0); + $70 = HEAP32[$69>>2]|0; + $71 = ($70|0)>(8); + if (!($71)) { + $72 = ((($4)) + 16|0); + $73 = HEAP32[$72>>2]|0; + $74 = ($73|0)>(16); + if (!($74)) { + $75 = ((($4)) + 20|0); + $76 = HEAP32[$75>>2]|0; + $77 = ($76|0)>(32); + if (!($77)) { + $78 = ((($4)) + 24|0); + $79 = HEAP32[$78>>2]|0; + $80 = ($79|0)>(64); + if (!($80)) { + $81 = ((($4)) + 28|0); + $82 = HEAP32[$81>>2]|0; + $83 = ($82|0)>(128); + if (!($83)) { + $84 = ((($4)) + 32|0); + $85 = HEAP32[$84>>2]|0; + $86 = ($85|0)>(256); + if (!($86)) { + $87 = ((($4)) + 36|0); + $88 = HEAP32[$87>>2]|0; + $89 = ($88|0)>(512); + if (!($89)) { + $90 = ((($4)) + 40|0); + $91 = HEAP32[$90>>2]|0; + $92 = ($91|0)>(1024); + if (!($92)) { + $93 = ((($4)) + 44|0); + $94 = HEAP32[$93>>2]|0; + $95 = ($94|0)>(2048); + if (!($95)) { + $96 = ((($4)) + 48|0); + $97 = HEAP32[$96>>2]|0; + $98 = ($97|0)>(4096); + if (!($98)) { + $99 = ((($4)) + 52|0); + $100 = HEAP32[$99>>2]|0; + $101 = ($100|0)>(8192); + if (!($101)) { + $102 = ((($4)) + 56|0); + $103 = HEAP32[$102>>2]|0; + $104 = ($103|0)>(16384); + if (!($104)) { + $105 = ((($4)) + 60|0); + $106 = HEAP32[$105>>2]|0; + $107 = ($106|0)>(32768); + if (!($107)) { + $$07785 = 0;$$07884 = 0;$$286 = 1; + while(1) { + $19 = (($3) + ($$286<<2)|0); + HEAP32[$19>>2] = $$07884; + $20 = $$07884&65535; + $21 = (((($0)) + 1024|0) + ($$286<<1)|0); + HEAP16[$21>>1] = $20; + $22 = $$07785&65535; + $23 = (((($0)) + 1124|0) + ($$286<<1)|0); + HEAP16[$23>>1] = $22; + $24 = (($4) + ($$286<<2)|0); + $25 = HEAP32[$24>>2]|0; + $26 = (($25) + ($$07884))|0; + $27 = ($25|0)!=(0); + $28 = 1 << $$286; + $29 = ($26|0)>($28|0); + $or$cond = $27 & $29; + if ($or$cond) { + label = 7; + break; + } + $30 = (16 - ($$286))|0; + $31 = $26 << $30; + $32 = (((($0)) + 1056|0) + ($$286<<2)|0); + HEAP32[$32>>2] = $31; + $33 = $26 << 1; + $34 = (($25) + ($$07785))|0; + $35 = (($$286) + 1)|0; + $36 = ($35|0)<(16); + if ($36) { + $$07785 = $34;$$07884 = $33;$$286 = $35; + } else { + break; + } + } + if ((label|0) == 7) { + _stbi__err(14940); + $$075 = 0; + STACKTOP = sp;return ($$075|0); + } + $37 = ((($0)) + 1120|0); + HEAP32[$37>>2] = 65536; + $38 = ($2|0)>(0); + if ($38) { + $$382 = 0; + } else { + $$075 = 1; + STACKTOP = sp;return ($$075|0); + } + while(1) { + $39 = (($1) + ($$382)|0); + $40 = HEAP8[$39>>0]|0; + $41 = $40&255; + $42 = ($40<<24>>24)==(0); + if (!($42)) { + $43 = (($3) + ($41<<2)|0); + $44 = HEAP32[$43>>2]|0; + $45 = (((($0)) + 1024|0) + ($41<<1)|0); + $46 = HEAP16[$45>>1]|0; + $47 = $46&65535; + $48 = (($44) - ($47))|0; + $49 = (((($0)) + 1124|0) + ($41<<1)|0); + $50 = HEAP16[$49>>1]|0; + $51 = $50&65535; + $52 = (($48) + ($51))|0; + $53 = $41 << 9; + $54 = $53 | $$382; + $55 = $54&65535; + $56 = (((($0)) + 1156|0) + ($52)|0); + HEAP8[$56>>0] = $40; + $57 = $$382&65535; + $58 = (((($0)) + 1444|0) + ($52<<1)|0); + HEAP16[$58>>1] = $57; + $59 = ($40&255)<(10); + do { + if ($59) { + $60 = (_stbi__bit_reverse($44,$41)|0); + $61 = ($60|0)<(512); + if (!($61)) { + break; + } + $62 = 1 << $41; + $$081 = $60; + while(1) { + $63 = (($0) + ($$081<<1)|0); + HEAP16[$63>>1] = $55; + $64 = (($$081) + ($62))|0; + $65 = ($64|0)<(512); + if ($65) { + $$081 = $64; + } else { + break; + } + } + } + } while(0); + $66 = HEAP32[$43>>2]|0; + $67 = (($66) + 1)|0; + HEAP32[$43>>2] = $67; + } + $68 = (($$382) + 1)|0; + $exitcond = ($68|0)==($2|0); + if ($exitcond) { + $$075 = 1; + break; + } else { + $$382 = $68; + } + } + STACKTOP = sp;return ($$075|0); + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + _stbi__err(14992); + $$075 = 0; + STACKTOP = sp;return ($$075|0); +} +function _stbi__compute_huffman_codes($0) { + $0 = $0|0; + var $$ = 0, $$0 = 0, $$061 = 0, $$06579 = 0, $$066$be = 0, $$066$lcssa = 0, $$06678 = 0, $$4 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0; + var $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0; + var $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $not$ = 0, dest = 0; + var label = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 2496|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(2496|0); + $1 = sp; + $2 = sp + 2039|0; + $3 = sp + 2020|0; + $4 = (_stbi__zreceive($0,5)|0); + $5 = (($4) + 257)|0; + $6 = (_stbi__zreceive($0,5)|0); + $7 = (($6) + 1)|0; + $8 = (_stbi__zreceive($0,4)|0); + $9 = (($8) + 4)|0; + $10 = (($7) + ($5))|0; + dest=$3; stop=dest+19|0; do { HEAP8[dest>>0]=0|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); + $11 = ($9|0)>(0); + if ($11) { + $$06579 = 0; + while(1) { + $12 = (_stbi__zreceive($0,3)|0); + $13 = $12&255; + $14 = (15777 + ($$06579)|0); + $15 = HEAP8[$14>>0]|0; + $16 = $15&255; + $17 = (($3) + ($16)|0); + HEAP8[$17>>0] = $13; + $18 = (($$06579) + 1)|0; + $exitcond = ($18|0)==($9|0); + if ($exitcond) { + break; + } else { + $$06579 = $18; + } + } + } + $19 = (_stbi__zbuild_huffman($1,$3,19)|0); + $20 = ($19|0)==(0); + if ($20) { + $$4 = 0; + STACKTOP = sp;return ($$4|0); + } + $21 = ($10|0)>(0); + L8: do { + if ($21) { + $$06678 = 0; + L9: while(1) { + $22 = (_stbi__zhuffman_decode($0,$1)|0); + $23 = ($22>>>0)>(18); + if ($23) { + label = 6; + break; + } + $24 = ($22|0)<(16); + if ($24) { + $25 = $22&255; + $26 = (($$06678) + 1)|0; + $27 = (($2) + ($$06678)|0); + HEAP8[$27>>0] = $25; + $$066$be = $26; + } else { + switch ($22|0) { + case 16: { + $28 = (_stbi__zreceive($0,2)|0); + $29 = ($$06678|0)==(0); + if ($29) { + label = 11; + break L9; + } + $30 = (($28) + 3)|0; + $31 = (($$06678) + -1)|0; + $32 = (($2) + ($31)|0); + $33 = HEAP8[$32>>0]|0; + $$0 = $33;$$061 = $30; + break; + } + case 17: { + $34 = (_stbi__zreceive($0,3)|0); + $35 = (($34) + 3)|0; + $$0 = 0;$$061 = $35; + break; + } + case 18: { + $36 = (_stbi__zreceive($0,7)|0); + $37 = (($36) + 11)|0; + $$0 = 0;$$061 = $37; + break; + } + default: { + label = 14; + break L9; + } + } + $38 = (($10) - ($$06678))|0; + $39 = ($38|0)<($$061|0); + if ($39) { + label = 17; + break; + } + $40 = (($2) + ($$06678)|0); + _memset(($40|0),($$0|0),($$061|0))|0; + $41 = (($$061) + ($$06678))|0; + $$066$be = $41; + } + $42 = ($10|0)>($$066$be|0); + if ($42) { + $$06678 = $$066$be; + } else { + $$066$lcssa = $$066$be; + break L8; + } + } + if ((label|0) == 6) { + _stbi__err(14940); + $$4 = 0; + STACKTOP = sp;return ($$4|0); + } + else if ((label|0) == 11) { + _stbi__err(14940); + $$4 = 0; + STACKTOP = sp;return ($$4|0); + } + else if ((label|0) == 14) { + ___assert_fail((14956|0),(13718|0),4006,(14964|0)); + // unreachable; + } + else if ((label|0) == 17) { + _stbi__err(14940); + $$4 = 0; + STACKTOP = sp;return ($$4|0); + } + } else { + $$066$lcssa = 0; + } + } while(0); + $43 = ($10|0)==($$066$lcssa|0); + if (!($43)) { + _stbi__err(14940); + $$4 = 0; + STACKTOP = sp;return ($$4|0); + } + $44 = ((($0)) + 32|0); + $45 = (_stbi__zbuild_huffman($44,$2,$5)|0); + $46 = ($45|0)==(0); + if ($46) { + $$4 = 0; + STACKTOP = sp;return ($$4|0); + } + $47 = ((($0)) + 2052|0); + $48 = (($2) + ($5)|0); + $49 = (_stbi__zbuild_huffman($47,$48,$7)|0); + $not$ = ($49|0)!=(0); + $$ = $not$&1; + $$4 = $$; + STACKTOP = sp;return ($$4|0); +} +function _stbi__parse_huffman_block($0) { + $0 = $0|0; + var $$063 = 0, $$064 = 0, $$067 = 0, $$070 = 0, $$171 = 0, $$266 = 0, $$272 = 0, $$3$ph = 0, $$5 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0; + var $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0; + var $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0; + var $56 = 0, $57 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $scevgep = 0, $scevgep92 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 16|0); + $2 = HEAP32[$1>>2]|0; + $3 = ((($0)) + 32|0); + $4 = ((($0)) + 24|0); + $5 = ((($0)) + 2052|0); + $6 = ((($0)) + 20|0); + $7 = ((($0)) + 24|0); + $$070 = $2; + while(1) { + $10 = (_stbi__zhuffman_decode($0,$3)|0); + $11 = ($10|0)<(256); + if ($11) { + $12 = ($10|0)<(0); + if ($12) { + label = 6; + break; + } + $13 = HEAP32[$4>>2]|0; + $14 = ($$070>>>0)<($13>>>0); + if ($14) { + $$171 = $$070; + } else { + $15 = (_stbi__zexpand($0,$$070,1)|0); + $16 = ($15|0)==(0); + if ($16) { + $$3$ph = 0; + label = 28; + break; + } + $17 = HEAP32[$1>>2]|0; + $$171 = $17; + } + $18 = $10&255; + $19 = ((($$171)) + 1|0); + HEAP8[$$171>>0] = $18; + $$070 = $19; + continue; + } + $20 = ($10|0)==(256); + if ($20) { + label = 12; + break; + } + $21 = (($10) + -257)|0; + $22 = (3284 + ($21<<2)|0); + $23 = HEAP32[$22>>2]|0; + $24 = (($10) + -265)|0; + $25 = ($24>>>0)<(20); + if ($25) { + $26 = (3160 + ($21<<2)|0); + $27 = HEAP32[$26>>2]|0; + $28 = (_stbi__zreceive($0,$27)|0); + $29 = (($28) + ($23))|0; + $$064 = $29; + } else { + $$064 = $23; + } + $30 = (_stbi__zhuffman_decode($0,$5)|0); + $31 = ($30|0)<(0); + if ($31) { + label = 16; + break; + } + $32 = (3536 + ($30<<2)|0); + $33 = HEAP32[$32>>2]|0; + $34 = (($30) + -4)|0; + $35 = ($34>>>0)<(26); + if ($35) { + $36 = (3408 + ($30<<2)|0); + $37 = HEAP32[$36>>2]|0; + $38 = (_stbi__zreceive($0,$37)|0); + $39 = (($38) + ($33))|0; + $$063 = $39; + } else { + $$063 = $33; + } + $40 = HEAP32[$6>>2]|0; + $41 = $$070; + $42 = (($41) - ($40))|0; + $43 = ($42|0)<($$063|0); + if ($43) { + label = 20; + break; + } + $44 = (($$070) + ($$064)|0); + $45 = HEAP32[$7>>2]|0; + $46 = ($44>>>0)>($45>>>0); + if ($46) { + $47 = (_stbi__zexpand($0,$$070,$$064)|0); + $48 = ($47|0)==(0); + if ($48) { + $$3$ph = 0; + label = 28; + break; + } + $49 = HEAP32[$1>>2]|0; + $$272 = $49; + } else { + $$272 = $$070; + } + $50 = (0 - ($$063))|0; + $9 = (($$272) + ($50)|0); + $51 = ($$063|0)==(1); + $52 = ($$064|0)!=(0); + if ($51) { + if (!($52)) { + $$070 = $$272; + continue; + } + $8 = HEAP8[$9>>0]|0; + _memset(($$272|0),($8|0),($$064|0))|0; + $scevgep92 = (($$272) + ($$064)|0); + $$070 = $scevgep92; + continue; + } + if ($52) { + $$067 = $9;$$266 = $$064;$$5 = $$272; + } else { + $$070 = $$272; + continue; + } + while(1) { + $53 = ((($$067)) + 1|0); + $54 = HEAP8[$$067>>0]|0; + $55 = ((($$5)) + 1|0); + HEAP8[$$5>>0] = $54; + $56 = (($$266) + -1)|0; + $57 = ($56|0)==(0); + if ($57) { + break; + } else { + $$067 = $53;$$266 = $56;$$5 = $55; + } + } + $scevgep = (($$272) + ($$064)|0); + $$070 = $scevgep; + } + if ((label|0) == 6) { + _stbi__err(14765); + $$3$ph = 0; + return ($$3$ph|0); + } + else if ((label|0) == 12) { + HEAP32[$1>>2] = $$070; + $$3$ph = 1; + return ($$3$ph|0); + } + else if ((label|0) == 16) { + _stbi__err(14765); + $$3$ph = 0; + return ($$3$ph|0); + } + else if ((label|0) == 20) { + _stbi__err(14782); + $$3$ph = 0; + return ($$3$ph|0); + } + else if ((label|0) == 28) { + return ($$3$ph|0); + } + return (0)|0; +} +function _stbi__zhuffman_decode($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($0)) + 8|0); + $3 = HEAP32[$2>>2]|0; + $4 = ($3|0)<(16); + if ($4) { + _stbi__fill_bits($0); + } + $5 = ((($0)) + 12|0); + $6 = HEAP32[$5>>2]|0; + $7 = $6 & 511; + $8 = (($1) + ($7<<1)|0); + $9 = HEAP16[$8>>1]|0; + $10 = $9&65535; + $11 = ($9<<16>>16)==(0); + if ($11) { + $17 = (_stbi__zhuffman_decode_slowpath($0,$1)|0); + $$0 = $17; + return ($$0|0); + } else { + $12 = $10 >>> 9; + $13 = $6 >>> $12; + HEAP32[$5>>2] = $13; + $14 = HEAP32[$2>>2]|0; + $15 = (($14) - ($12))|0; + HEAP32[$2>>2] = $15; + $16 = $10 & 511; + $$0 = $16; + return ($$0|0); + } + return (0)|0; +} +function _stbi__zexpand($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$0 = 0, $$029 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ((($0)) + 16|0); + HEAP32[$3>>2] = $1; + $4 = ((($0)) + 28|0); + $5 = HEAP32[$4>>2]|0; + $6 = ($5|0)==(0); + if ($6) { + _stbi__err(14791); + $$0 = 0; + return ($$0|0); + } + $7 = ((($0)) + 20|0); + $8 = HEAP32[$7>>2]|0; + $9 = $1; + $10 = $8; + $11 = (($9) - ($10))|0; + $12 = ((($0)) + 24|0); + $13 = HEAP32[$12>>2]|0; + $14 = (($13) - ($10))|0; + $15 = (($11) + ($2))|0; + $$029 = $14; + while(1) { + $16 = ($15|0)>($$029|0); + $17 = $$029 << 1; + if ($16) { + $$029 = $17; + } else { + break; + } + } + $18 = (_realloc($8,$$029)|0); + $19 = ($18|0)==(0|0); + if ($19) { + _stbi__err(13773); + $$0 = 0; + return ($$0|0); + } else { + HEAP32[$7>>2] = $18; + $20 = (($18) + ($11)|0); + HEAP32[$3>>2] = $20; + $21 = (($18) + ($$029)|0); + HEAP32[$12>>2] = $21; + $$0 = 1; + return ($$0|0); + } + return (0)|0; +} +function _stbi__fill_bits($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 12|0); + $2 = ((($0)) + 8|0); + while(1) { + $3 = HEAP32[$1>>2]|0; + $4 = HEAP32[$2>>2]|0; + $5 = 1 << $4; + $6 = ($3>>>0)<($5>>>0); + if (!($6)) { + label = 3; + break; + } + $7 = (_stbi__zget8($0)|0); + $8 = $7&255; + $9 = HEAP32[$2>>2]|0; + $10 = $8 << $9; + $11 = HEAP32[$1>>2]|0; + $12 = $11 | $10; + HEAP32[$1>>2] = $12; + $13 = (($9) + 8)|0; + HEAP32[$2>>2] = $13; + $14 = ($13|0)<(25); + if (!($14)) { + label = 5; + break; + } + } + if ((label|0) == 3) { + ___assert_fail((14887|0),(13718|0),3848,(14924|0)); + // unreachable; + } + else if ((label|0) == 5) { + return; + } +} +function _stbi__zhuffman_decode_slowpath($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $$025 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($0)) + 12|0); + $3 = HEAP32[$2>>2]|0; + $4 = (_stbi__bit_reverse($3,16)|0); + $$025 = 10; + while(1) { + $5 = (((($1)) + 1056|0) + ($$025<<2)|0); + $6 = HEAP32[$5>>2]|0; + $7 = ($4|0)<($6|0); + $8 = (($$025) + 1)|0; + if ($7) { + break; + } else { + $$025 = $8; + } + } + $9 = ($$025|0)==(16); + if ($9) { + $$0 = -1; + return ($$0|0); + } + $10 = (16 - ($$025))|0; + $11 = $4 >> $10; + $12 = (((($1)) + 1024|0) + ($$025<<1)|0); + $13 = HEAP16[$12>>1]|0; + $14 = $13&65535; + $15 = (($11) - ($14))|0; + $16 = (((($1)) + 1124|0) + ($$025<<1)|0); + $17 = HEAP16[$16>>1]|0; + $18 = $17&65535; + $19 = (($15) + ($18))|0; + $20 = (((($1)) + 1156|0) + ($19)|0); + $21 = HEAP8[$20>>0]|0; + $22 = $21&255; + $23 = ($22|0)==($$025|0); + if (!($23)) { + ___assert_fail((14811|0),(13718|0),3876,(14827|0)); + // unreachable; + } + $24 = HEAP32[$2>>2]|0; + $25 = $24 >>> $$025; + HEAP32[$2>>2] = $25; + $26 = ((($0)) + 8|0); + $27 = HEAP32[$26>>2]|0; + $28 = (($27) - ($$025))|0; + HEAP32[$26>>2] = $28; + $29 = (((($1)) + 1444|0) + ($19<<1)|0); + $30 = HEAP16[$29>>1]|0; + $31 = $30&65535; + $$0 = $31; + return ($$0|0); +} +function _stbi__bit_reverse($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ($1|0)<(17); + if ($2) { + $3 = (_stbi__bitreverse16($0)|0); + $4 = (16 - ($1))|0; + $5 = $3 >> $4; + return ($5|0); + } else { + ___assert_fail((14858|0),(13718|0),3766,(14869|0)); + // unreachable; + } + return (0)|0; +} +function _stbi__bitreverse16($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; + var sp = 0; + sp = STACKTOP; + $1 = $0 >>> 1; + $2 = $1 & 21845; + $3 = $0 << 1; + $4 = $3 & 43690; + $5 = $2 | $4; + $6 = $5 >>> 2; + $7 = $6 & 13107; + $8 = $5 << 2; + $9 = $8 & 52428; + $10 = $7 | $9; + $11 = $10 >>> 4; + $12 = $11 & 3855; + $13 = $10 << 4; + $14 = $13 & 61680; + $15 = $12 | $14; + $16 = $15 >>> 8; + $17 = $15 << 8; + $18 = $17 & 65280; + $19 = $18 | $16; + return ($19|0); +} +function _stbi__zget8($0) { + $0 = $0|0; + var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP32[$0>>2]|0; + $2 = ((($0)) + 4|0); + $3 = HEAP32[$2>>2]|0; + $4 = ($1>>>0)<($3>>>0); + if (!($4)) { + $$0 = 0; + return ($$0|0); + } + $5 = ((($1)) + 1|0); + HEAP32[$0>>2] = $5; + $6 = HEAP8[$1>>0]|0; + $$0 = $6; + return ($$0|0); +} +function _stbi__refill_buffer($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 16|0); + $2 = HEAP32[$1>>2]|0; + $3 = ((($0)) + 28|0); + $4 = HEAP32[$3>>2]|0; + $5 = ((($0)) + 40|0); + $6 = ((($0)) + 36|0); + $7 = HEAP32[$6>>2]|0; + $8 = (FUNCTION_TABLE_iiii[$2 & 15]($4,$5,$7)|0); + $9 = ($8|0)==(0); + if ($9) { + $10 = ((($0)) + 32|0); + HEAP32[$10>>2] = 0; + $11 = ((($0)) + 168|0); + HEAP32[$11>>2] = $5; + $12 = ((($0)) + 41|0); + $13 = ((($0)) + 172|0); + HEAP32[$13>>2] = $12; + HEAP8[$5>>0] = 0; + return; + } else { + $14 = ((($0)) + 168|0); + HEAP32[$14>>2] = $5; + $15 = (((($0)) + 40|0) + ($8)|0); + $16 = ((($0)) + 172|0); + HEAP32[$16>>2] = $15; + return; + } +} +function _stbi__rewind($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 176|0); + $2 = HEAP32[$1>>2]|0; + $3 = ((($0)) + 168|0); + HEAP32[$3>>2] = $2; + $4 = ((($0)) + 180|0); + $5 = HEAP32[$4>>2]|0; + $6 = ((($0)) + 172|0); + HEAP32[$6>>2] = $5; + return; +} +function _stbi__start_callbacks($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ((($0)) + 16|0); + ;HEAP32[$3>>2]=HEAP32[$1>>2]|0;HEAP32[$3+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$3+8>>2]=HEAP32[$1+8>>2]|0; + $4 = ((($0)) + 28|0); + HEAP32[$4>>2] = $2; + $5 = ((($0)) + 36|0); + HEAP32[$5>>2] = 128; + $6 = ((($0)) + 32|0); + HEAP32[$6>>2] = 1; + $7 = ((($0)) + 40|0); + $8 = ((($0)) + 176|0); + HEAP32[$8>>2] = $7; + _stbi__refill_buffer($0); + $9 = ((($0)) + 172|0); + $10 = HEAP32[$9>>2]|0; + $11 = ((($0)) + 180|0); + HEAP32[$11>>2] = $10; + return; +} +function _stbi__stdio_read($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = (_fread($1,1,$2,$0)|0); + return ($3|0); +} +function _stbi__stdio_skip($0,$1) { + $0 = $0|0; + $1 = $1|0; + var label = 0, sp = 0; + sp = STACKTOP; + (_fseek($0,$1,1)|0); + return; +} +function _stbi__stdio_eof($0) { + $0 = $0|0; + var $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (_feof($0)|0); + return ($1|0); +} +function _LoadImage($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$sink = 0, $$sroa$0$0 = 0, $$sroa$0$0$copyload = 0, $$sroa$0$1 = 0, $$sroa$0$144 = 0, $$sroa$11$0 = 0, $$sroa$11$0$$sroa_idx23 = 0, $$sroa$11$0$$sroa_idx24 = 0, $$sroa$11$0$copyload = 0, $$sroa$11$1 = 0, $$sroa$11$146 = 0, $$sroa$11$147 = 0, $$sroa$12$0 = 0, $$sroa$12$0$$sroa_idx27 = 0, $$sroa$12$0$$sroa_idx28 = 0, $$sroa$12$0$copyload = 0, $$sroa$12$1 = 0, $$sroa$12$2 = 0, $$sroa$12$248 = 0, $$sroa$12$249 = 0; + var $$sroa$7$0 = 0, $$sroa$7$0$$sroa_idx15 = 0, $$sroa$7$0$$sroa_idx16 = 0, $$sroa$7$0$copyload = 0, $$sroa$7$1 = 0, $$sroa$7$142 = 0, $$sroa$7$143 = 0, $$sroa$9$0 = 0, $$sroa$9$0$$sroa_idx19 = 0, $$sroa$9$0$$sroa_idx20 = 0, $$sroa$9$0$copyload = 0, $$sroa$9$1 = 0, $$sroa$9$140 = 0, $$sroa$9$141 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0; + var $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0; + var $vararg_buffer1 = 0, $vararg_buffer4 = 0, $vararg_buffer9 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0); + $vararg_buffer9 = sp + 32|0; + $vararg_buffer4 = sp + 16|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $2 = sp + 48|0; + $3 = sp + 44|0; + $4 = sp + 40|0; + $5 = sp + 36|0; + $6 = (_IsFileExtension($1,18536)|0); + $7 = ($6|0)==(0); + do { + if ($7) { + $19 = (_IsFileExtension($1,15186)|0); + $20 = ($19|0)==(0); + if ($20) { + HEAP32[$vararg_buffer1>>2] = $1; + _TraceLog(1,15191,$vararg_buffer1); + $$sroa$11$147 = 0;$$sroa$12$249 = 0;$$sroa$7$143 = 0;$$sroa$9$141 = 0; + break; + } + HEAP32[$3>>2] = 0; + HEAP32[$4>>2] = 0; + HEAP32[$5>>2] = 0; + $21 = (_fopen($1,19381)|0); + $22 = (_stbi_load_from_file($21,$3,$4,$5,0)|0); + (_fclose($21)|0); + $23 = HEAP32[$3>>2]|0; + $24 = HEAP32[$4>>2]|0; + $25 = HEAP32[$5>>2]|0; + switch ($25|0) { + case 1: { + $$sink = 1; + label = 11; + break; + } + case 2: { + $$sink = 2; + label = 11; + break; + } + case 3: { + $$sink = 4; + label = 11; + break; + } + case 4: { + $$sink = 7; + label = 11; + break; + } + default: { + $$sroa$12$1 = 0; + } + } + if ((label|0) == 11) { + $$sroa$12$1 = $$sink; + } + $$sroa$0$1 = $22;$$sroa$11$1 = 1;$$sroa$12$2 = $$sroa$12$1;$$sroa$7$1 = $23;$$sroa$9$1 = $24; + label = 14; + } else { + $8 = (_LoadResource($1,0)|0); + $9 = HEAP32[$8>>2]|0; + $10 = ($9|0)==(1); + if ($10) { + $11 = ((($8)) + 20|0); + $12 = HEAP32[$11>>2]|0; + $13 = ((($8)) + 4|0); + $14 = HEAP32[$13>>2]|0; + $15 = ((($8)) + 8|0); + $16 = HEAP32[$15>>2]|0; + $17 = ((($8)) + 12|0); + $18 = HEAP32[$17>>2]|0; + _LoadImagePro($2,$12,$14,$16,$18); + $$sroa$0$0$copyload = HEAP32[$2>>2]|0; + $$sroa$7$0$$sroa_idx15 = ((($2)) + 4|0); + $$sroa$7$0$copyload = HEAP32[$$sroa$7$0$$sroa_idx15>>2]|0; + $$sroa$9$0$$sroa_idx19 = ((($2)) + 8|0); + $$sroa$9$0$copyload = HEAP32[$$sroa$9$0$$sroa_idx19>>2]|0; + $$sroa$11$0$$sroa_idx23 = ((($2)) + 12|0); + $$sroa$11$0$copyload = HEAP32[$$sroa$11$0$$sroa_idx23>>2]|0; + $$sroa$12$0$$sroa_idx27 = ((($2)) + 16|0); + $$sroa$12$0$copyload = HEAP32[$$sroa$12$0$$sroa_idx27>>2]|0; + $$sroa$0$0 = $$sroa$0$0$copyload;$$sroa$11$0 = $$sroa$11$0$copyload;$$sroa$12$0 = $$sroa$12$0$copyload;$$sroa$7$0 = $$sroa$7$0$copyload;$$sroa$9$0 = $$sroa$9$0$copyload; + } else { + HEAP32[$vararg_buffer>>2] = $1; + _TraceLog(1,15139,$vararg_buffer); + $$sroa$0$0 = 0;$$sroa$11$0 = 0;$$sroa$12$0 = 0;$$sroa$7$0 = 0;$$sroa$9$0 = 0; + } + _UnloadResource($8); + $$sroa$0$1 = $$sroa$0$0;$$sroa$11$1 = $$sroa$11$0;$$sroa$12$2 = $$sroa$12$0;$$sroa$7$1 = $$sroa$7$0;$$sroa$9$1 = $$sroa$9$0; + label = 14; + } + } while(0); + if ((label|0) == 14) { + $26 = ($$sroa$0$1|0)==(0|0); + if ($26) { + $$sroa$11$147 = $$sroa$11$1;$$sroa$12$249 = $$sroa$12$2;$$sroa$7$143 = $$sroa$7$1;$$sroa$9$141 = $$sroa$9$1; + } else { + HEAP32[$vararg_buffer4>>2] = $1; + $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); + HEAP32[$vararg_ptr7>>2] = $$sroa$7$1; + $vararg_ptr8 = ((($vararg_buffer4)) + 8|0); + HEAP32[$vararg_ptr8>>2] = $$sroa$9$1; + _TraceLog(0,15227,$vararg_buffer4); + $$sroa$0$144 = $$sroa$0$1;$$sroa$11$146 = $$sroa$11$1;$$sroa$12$248 = $$sroa$12$2;$$sroa$7$142 = $$sroa$7$1;$$sroa$9$140 = $$sroa$9$1; + HEAP32[$0>>2] = $$sroa$0$144; + $$sroa$7$0$$sroa_idx16 = ((($0)) + 4|0); + HEAP32[$$sroa$7$0$$sroa_idx16>>2] = $$sroa$7$142; + $$sroa$9$0$$sroa_idx20 = ((($0)) + 8|0); + HEAP32[$$sroa$9$0$$sroa_idx20>>2] = $$sroa$9$140; + $$sroa$11$0$$sroa_idx24 = ((($0)) + 12|0); + HEAP32[$$sroa$11$0$$sroa_idx24>>2] = $$sroa$11$146; + $$sroa$12$0$$sroa_idx28 = ((($0)) + 16|0); + HEAP32[$$sroa$12$0$$sroa_idx28>>2] = $$sroa$12$248; + STACKTOP = sp;return; + } + } + HEAP32[$vararg_buffer9>>2] = $1; + _TraceLog(1,15266,$vararg_buffer9); + $$sroa$0$144 = 0;$$sroa$11$146 = $$sroa$11$147;$$sroa$12$248 = $$sroa$12$249;$$sroa$7$142 = $$sroa$7$143;$$sroa$9$140 = $$sroa$9$141; + HEAP32[$0>>2] = $$sroa$0$144; + $$sroa$7$0$$sroa_idx16 = ((($0)) + 4|0); + HEAP32[$$sroa$7$0$$sroa_idx16>>2] = $$sroa$7$142; + $$sroa$9$0$$sroa_idx20 = ((($0)) + 8|0); + HEAP32[$$sroa$9$0$$sroa_idx20>>2] = $$sroa$9$140; + $$sroa$11$0$$sroa_idx24 = ((($0)) + 12|0); + HEAP32[$$sroa$11$0$$sroa_idx24>>2] = $$sroa$11$146; + $$sroa$12$0$$sroa_idx28 = ((($0)) + 16|0); + HEAP32[$$sroa$12$0$$sroa_idx28>>2] = $$sroa$12$248; STACKTOP = sp;return; } -function _LoadPVR($agg$result,$fileName) { - $agg$result = $agg$result|0; - $fileName = $fileName|0; - var $$ = 0, $$1 = 0, $$2 = 0, $$pr = 0, $$pr3 = 0, $$pr5 = 0, $$pr7 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0; - var $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0; - var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0; - var $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0; - var $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0; - var $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0; - var $96 = 0, $97 = 0, $98 = 0, $99 = 0, $bpp$0 = 0, $header = 0, $i$08 = 0, $image$sroa$0$0 = 0, $image$sroa$0$1 = 0, $image$sroa$0$2 = 0, $image$sroa$10$0 = 0, $image$sroa$10$1 = 0, $image$sroa$10$2 = 0, $image$sroa$12$0 = 0, $image$sroa$12$1 = 0, $image$sroa$12$2 = 0, $image$sroa$12$3 = 0, $image$sroa$4$0 = 0, $image$sroa$4$1 = 0, $image$sroa$4$2 = 0; - var $image$sroa$7$0 = 0, $image$sroa$7$1 = 0, $image$sroa$7$2 = 0, $pvrVersion = 0, $unused = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer4 = 0, label = 0, sp = 0; +function _LoadResource($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0$lcssa = 0, $$05665 = 0, $$05764 = 0, $$1 = 0, $$2 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; + var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; + var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0; + var $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond60 = 0; + var $or$cond62 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer4 = 0, $vararg_buffer8 = 0, $vararg_ptr11 = 0, $vararg_ptr7 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 80|0; + STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0); + $vararg_buffer8 = sp + 24|0; $vararg_buffer4 = sp + 16|0; - $vararg_buffer1 = sp; - $vararg_buffer = sp + 8|0; - $pvrVersion = sp + 73|0; - $header = sp + 20|0; - $unused = sp + 72|0; - $0 = (_fopen(($fileName|0),(19952|0))|0); - $1 = ($0|0)==(0|0); - if ($1) { - HEAP32[$vararg_buffer>>2] = $fileName; - _TraceLog(2,23824,$vararg_buffer); - $image$sroa$0$2 = 0;$image$sroa$10$2 = 0;$image$sroa$12$3 = 0;$image$sroa$4$2 = 0;$image$sroa$7$2 = 0; - HEAP32[$agg$result>>2] = $image$sroa$0$2; - $113 = ((($agg$result)) + 4|0); - HEAP32[$113>>2] = $image$sroa$4$2; - $114 = ((($agg$result)) + 8|0); - HEAP32[$114>>2] = $image$sroa$7$2; - $115 = ((($agg$result)) + 12|0); - HEAP32[$115>>2] = $image$sroa$10$2; - $116 = ((($agg$result)) + 16|0); - HEAP32[$116>>2] = $image$sroa$12$3; - STACKTOP = sp;return; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $2 = sp + 64|0; + $3 = sp + 32|0; + $4 = (_fopen($0,19381)|0); + $5 = ($4|0)==(0|0); + if ($5) { + HEAP32[$vararg_buffer>>2] = $0; + _TraceLog(1,15325,$vararg_buffer); + $$2 = 0; + STACKTOP = sp;return ($$2|0); } - HEAP8[$pvrVersion>>0] = 0; - (_fread(($pvrVersion|0),1,1,($0|0))|0); - (_fseek(($0|0),0,0)|0); - $2 = HEAP8[$pvrVersion>>0]|0; - if ((($2<<24>>24) == 52)) { - _TraceLog(0,23912,$vararg_buffer4); - $image$sroa$0$1 = 0;$image$sroa$10$1 = 0;$image$sroa$12$2 = 0;$image$sroa$4$1 = 0;$image$sroa$7$1 = 0; - } else if ((($2<<24>>24) == 80)) { - (_fread(($header|0),52,1,($0|0))|0); - $3 = HEAP8[$header>>0]|0; - $4 = ($3<<24>>24)==(80); - if ($4) { - $5 = ((($header)) + 1|0); - $6 = HEAP8[$5>>0]|0; - $7 = ($6<<24>>24)==(86); - if ($7) { - $8 = ((($header)) + 2|0); - $9 = HEAP8[$8>>0]|0; - $10 = ($9<<24>>24)==(82); - if ($10) { - $11 = ((($header)) + 3|0); - $12 = HEAP8[$11>>0]|0; - $13 = ($12<<24>>24)==(3); - if ($13) { - $14 = ((($header)) + 28|0); - $15 = HEAP32[$14>>2]|0; - $16 = ((($header)) + 24|0); - $17 = HEAP32[$16>>2]|0; - $18 = ((($header)) + 44|0); - $19 = HEAP32[$18>>2]|0; - $20 = ((($header)) + 8|0); - $21 = HEAP8[$20>>0]|0; - $22 = ($21<<24>>24)==(108); - do { - if ($22) { - $23 = ((($header)) + 9|0); - $24 = HEAP8[$23>>0]|0; - $25 = ($24<<24>>24)==(0); - if ($25) { - $26 = ((($header)) + 12|0); - $27 = HEAP8[$26>>0]|0; - $28 = ($27<<24>>24)==(8); - if ($28) { - $image$sroa$12$0 = 1; - break; - } - } - $$pr = HEAP8[$20>>0]|0; - $29 = ($$pr<<24>>24)==(108); - if ($29) { - $30 = ((($header)) + 9|0); - $31 = HEAP8[$30>>0]|0; - $32 = ($31<<24>>24)==(97); - if ($32) { - $33 = ((($header)) + 12|0); - $34 = HEAP8[$33>>0]|0; - $35 = ($34<<24>>24)==(8); - if ($35) { - $36 = ((($header)) + 13|0); - $37 = HEAP8[$36>>0]|0; - $38 = ($37<<24>>24)==(8); - if ($38) { - $image$sroa$12$0 = 2; - } else { - label = 16; - } - } else { - label = 16; - } - } else { - label = 16; - } - } else { - $39 = $$pr; - label = 17; - } + (_fread($2,1,1,$4)|0); + $6 = ((($2)) + 1|0); + (_fread($6,1,1,$4)|0); + $7 = ((($2)) + 2|0); + (_fread($7,1,1,$4)|0); + $8 = ((($2)) + 3|0); + (_fread($8,1,1,$4)|0); + $9 = ((($2)) + 4|0); + (_fread($9,2,1,$4)|0); + $10 = ((($2)) + 6|0); + (_fread($10,2,1,$4)|0); + $11 = HEAP8[$2>>0]|0; + $12 = ($11<<24>>24)==(114); + $13 = HEAP8[$6>>0]|0; + $14 = ($13<<24>>24)==(82); + $or$cond = $12 | $14; + $15 = HEAP8[$7>>0]|0; + $16 = ($15<<24>>24)==(69); + $or$cond60 = $or$cond | $16; + $17 = HEAP8[$8>>0]|0; + $18 = ($17<<24>>24)==(83); + $or$cond62 = $or$cond60 | $18; + if ($or$cond62) { + $19 = HEAP16[$10>>1]|0; + $20 = ($19<<16>>16)==(0); + if ($20) { + $$0$lcssa = 0; + } else { + $21 = ((($3)) + 7|0); + $22 = HEAP16[$10>>1]|0; + $23 = $22&65535; + $24 = ((($3)) + 8|0); + $25 = ((($3)) + 4|0); + $26 = ((($3)) + 16|0); + $27 = ((($3)) + 20|0); + $28 = ((($3)) + 24|0); + $29 = ((($3)) + 28|0); + $30 = ((($3)) + 8|0); + $31 = ((($3)) + 5|0); + $32 = ((($3)) + 12|0); + $$05665 = 0; + while(1) { + (_fread($3,32,1,$4)|0); + $36 = HEAP8[$21>>0]|0; + $37 = $36&255; + $38 = ($37*24)|0; + $39 = (_malloc($38)|0); + $40 = HEAP32[$3>>2]|0; + $41 = ($40|0)==($1|0); + if ($41) { + $42 = HEAP8[$21>>0]|0; + $43 = ($42<<24>>24)==(0); + if (!($43)) { + $$05764 = 0; + while(1) { + $44 = HEAP8[$25>>0]|0; + $45 = $44&255; + $46 = (($39) + (($$05764*24)|0)|0); + HEAP32[$46>>2] = $45; + $47 = HEAP32[$26>>2]|0; + $48 = (((($39) + (($$05764*24)|0)|0)) + 4|0); + HEAP32[$48>>2] = $47; + $49 = HEAP32[$27>>2]|0; + $50 = (((($39) + (($$05764*24)|0)|0)) + 8|0); + HEAP32[$50>>2] = $49; + $51 = HEAP32[$28>>2]|0; + $52 = (((($39) + (($$05764*24)|0)|0)) + 12|0); + HEAP32[$52>>2] = $51; + $53 = HEAP32[$29>>2]|0; + $54 = (((($39) + (($$05764*24)|0)|0)) + 16|0); + HEAP32[$54>>2] = $53; + $55 = HEAP32[$30>>2]|0; + $56 = (_malloc($55)|0); + (_fread($56,$55,1,$4)|0); + $57 = HEAP8[$31>>0]|0; + $58 = ($57<<24>>24)==(1); + if ($58) { + $59 = HEAP32[$30>>2]|0; + $60 = HEAP32[$32>>2]|0; + $61 = (_DecompressData($56,$59,$60)|0); + $62 = (((($39) + (($$05764*24)|0)|0)) + 20|0); + HEAP32[$62>>2] = $61; + _free($56); } else { - label = 16; + $63 = (((($39) + (($$05764*24)|0)|0)) + 20|0); + HEAP32[$63>>2] = $56; + } + $64 = (((($39) + (($$05764*24)|0)|0)) + 20|0); + $65 = HEAP32[$64>>2]|0; + $66 = ($65|0)==(0|0); + if (!($66)) { + $67 = HEAP32[$3>>2]|0; + HEAP32[$vararg_buffer4>>2] = $0; + $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); + HEAP32[$vararg_ptr7>>2] = $67; + _TraceLog(0,15422,$vararg_buffer4); + } + (_fread($3,32,1,$4)|0); + $68 = (($$05764) + 1)|0; + $69 = HEAP8[$21>>0]|0; + $70 = $69&255; + $71 = ($68|0)<($70|0); + if ($71) { + $$05764 = $68; + } else { + break; } - } while(0); - if ((label|0) == 16) { - $$pr3 = HEAP8[$20>>0]|0; - $39 = $$pr3; - label = 17; } - do { - if ((label|0) == 17) { - $40 = ($39<<24>>24)==(114); - if ($40) { - $41 = ((($header)) + 9|0); - $42 = HEAP8[$41>>0]|0; - $43 = ($42<<24>>24)==(103); - if ($43) { - $44 = ((($header)) + 10|0); - $45 = HEAP8[$44>>0]|0; - $46 = ($45<<24>>24)==(98); - if ($46) { - $47 = ((($header)) + 11|0); - $48 = HEAP8[$47>>0]|0; - if ((($48<<24>>24) == 0)) { - $83 = ((($header)) + 12|0); - $84 = HEAP8[$83>>0]|0; - $85 = ($84<<24>>24)==(5); - if ($85) { - $86 = ((($header)) + 13|0); - $87 = HEAP8[$86>>0]|0; - $88 = ($87<<24>>24)==(6); - if ($88) { - $89 = ((($header)) + 14|0); - $90 = HEAP8[$89>>0]|0; - $91 = ($90<<24>>24)==(5); - if ($91) { - $image$sroa$12$0 = 3; - break; - } - } - $$pr7 = HEAP8[$83>>0]|0; - $92 = $$pr7; - } else { - $92 = $84; - } - $93 = ($92<<24>>24)==(8); - if (!($93)) { - $image$sroa$12$0 = 0; - break; - } - $94 = ((($header)) + 13|0); - $95 = HEAP8[$94>>0]|0; - $96 = ($95<<24>>24)==(8); - if (!($96)) { - $image$sroa$12$0 = 0; - break; - } - $97 = ((($header)) + 14|0); - $98 = HEAP8[$97>>0]|0; - $99 = ($98<<24>>24)==(8); - $$1 = $99 ? 4 : 0; - $image$sroa$12$0 = $$1; - break; - } else if (!((($48<<24>>24) == 97))) { - $image$sroa$12$0 = 0; - break; - } - $49 = ((($header)) + 12|0); - $50 = HEAP8[$49>>0]|0; - $51 = ($50<<24>>24)==(5); - if ($51) { - $52 = ((($header)) + 13|0); - $53 = HEAP8[$52>>0]|0; - $54 = ($53<<24>>24)==(5); - if ($54) { - $55 = ((($header)) + 14|0); - $56 = HEAP8[$55>>0]|0; - $57 = ($56<<24>>24)==(5); - if ($57) { - $58 = ((($header)) + 15|0); - $59 = HEAP8[$58>>0]|0; - $60 = ($59<<24>>24)==(1); - if ($60) { - $image$sroa$12$0 = 5; - break; - } - } - } - $$pr5 = HEAP8[$49>>0]|0; - $61 = $$pr5; - } else { - $61 = $50; - } - $62 = ($61<<24>>24)==(4); - if ($62) { - $63 = ((($header)) + 13|0); - $64 = HEAP8[$63>>0]|0; - $65 = ($64<<24>>24)==(4); - if ($65) { - $66 = ((($header)) + 14|0); - $67 = HEAP8[$66>>0]|0; - $68 = ($67<<24>>24)==(4); - if ($68) { - $69 = ((($header)) + 15|0); - $70 = HEAP8[$69>>0]|0; - $71 = ($70<<24>>24)==(4); - if ($71) { - $image$sroa$12$0 = 6; - break; - } - } - } - } - $72 = HEAP8[$49>>0]|0; - $73 = ($72<<24>>24)==(8); - if (!($73)) { - $image$sroa$12$0 = 0; - break; - } - $74 = ((($header)) + 13|0); - $75 = HEAP8[$74>>0]|0; - $76 = ($75<<24>>24)==(8); - if (!($76)) { - $image$sroa$12$0 = 0; - break; - } - $77 = ((($header)) + 14|0); - $78 = HEAP8[$77>>0]|0; - $79 = ($78<<24>>24)==(8); - if (!($79)) { - $image$sroa$12$0 = 0; - break; - } - $80 = ((($header)) + 15|0); - $81 = HEAP8[$80>>0]|0; - $82 = ($81<<24>>24)==(8); - $$ = $82 ? 7 : 0; - $image$sroa$12$0 = $$; - break; - } - } - } - $100 = HEAP8[$20>>0]|0; - $101 = ($100<<24>>24)==(2); - if ($101) { - $image$sroa$12$0 = 15; - } else { - $102 = ($100<<24>>24)==(3); - $$2 = $102 ? 16 : 0; - $image$sroa$12$0 = $$2; - } - } - } while(0); - HEAP8[$unused>>0] = 0; - $103 = ((($header)) + 48|0); - $104 = HEAP32[$103>>2]|0; - $105 = ($104|0)==(0); - if (!($105)) { - $i$08 = 0; + } + } else { + $72 = HEAP32[$24>>2]|0; + (_fseek($4,$72,1)|0); + } + $73 = (($$05665) + 1)|0; + $74 = ($73|0)<($23|0); + if ($74) { + $$05665 = $73; + } else { + $$0$lcssa = $39; + break; + } + } + } + $33 = ((($$0$lcssa)) + 20|0); + $34 = HEAP32[$33>>2]|0; + $35 = ($34|0)==(0|0); + if ($35) { + HEAP32[$vararg_buffer8>>2] = $0; + $vararg_ptr11 = ((($vararg_buffer8)) + 4|0); + HEAP32[$vararg_ptr11>>2] = $1; + _TraceLog(1,15468,$vararg_buffer8); + $$1 = $$0$lcssa; + } else { + $$1 = $$0$lcssa; + } + } else { + HEAP32[$vararg_buffer1>>2] = $0; + _TraceLog(1,15376,$vararg_buffer1); + $$1 = 0; + } + (_fclose($4)|0); + $$2 = $$1; + STACKTOP = sp;return ($$2|0); +} +function _LoadImagePro($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$byval_copy = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0); + $$byval_copy = sp + 20|0; + $5 = sp; + HEAP32[$5>>2] = $1; + $6 = ((($5)) + 4|0); + HEAP32[$6>>2] = $2; + $7 = ((($5)) + 8|0); + HEAP32[$7>>2] = $3; + $8 = ((($5)) + 12|0); + HEAP32[$8>>2] = 1; + $9 = ((($5)) + 16|0); + HEAP32[$9>>2] = $4; + ;HEAP32[$$byval_copy>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$5+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$5+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$5+16>>2]|0; + _ImageCopy($0,$$byval_copy); + STACKTOP = sp;return; +} +function _UnloadResource($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 20|0); + $2 = HEAP32[$1>>2]|0; + $3 = ($2|0)==(0|0); + if ($3) { + return; + } + _free($2); + return; +} +function _ImageCopy($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $$sroa$6$0 = 0, $$sroa$6$0$$sroa_idx10 = 0, $$sroa$7$0 = 0, $$sroa$7$0$$sroa_idx12 = 0, $$sroa$8$0 = 0, $$sroa$8$0$$sroa_idx14 = 0, $$sroa$9$0 = 0, $$sroa$9$0$$sroa_idx16 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0; + var $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $vararg_buffer = sp; + $2 = ((($1)) + 4|0); + $3 = HEAP32[$2>>2]|0; + $4 = ((($1)) + 8|0); + $5 = HEAP32[$4>>2]|0; + $6 = Math_imul($5, $3)|0; + $7 = ((($1)) + 16|0); + $8 = HEAP32[$7>>2]|0; + switch ($8|0) { + case 17: case 14: case 11: case 10: case 1: { + $$0 = $6; + break; + } + case 6: case 5: case 3: case 2: { + $9 = $6 << 1; + $$0 = $9; + break; + } + case 4: { + $10 = ($6*3)|0; + $$0 = $10; + break; + } + case 7: { + $11 = $6 << 2; + $$0 = $11; + break; + } + case 16: case 15: case 13: case 12: case 9: case 8: { + $12 = (($6|0) / 2)&-1; + $$0 = $12; + break; + } + case 18: { + $13 = (($6|0) / 4)&-1; + $$0 = $13; + break; + } + default: { + _TraceLog(1,15297,$vararg_buffer); + $$0 = $6; + } + } + $14 = (_malloc($$0)|0); + $15 = ($14|0)==(0|0); + if ($15) { + $$sroa$6$0 = 0;$$sroa$7$0 = 0;$$sroa$8$0 = 0;$$sroa$9$0 = 0; + } else { + $16 = HEAP32[$1>>2]|0; + _memcpy(($14|0),($16|0),($$0|0))|0; + $17 = HEAP32[$2>>2]|0; + $18 = HEAP32[$4>>2]|0; + $19 = ((($1)) + 12|0); + $20 = HEAP32[$19>>2]|0; + $21 = HEAP32[$7>>2]|0; + $$sroa$6$0 = $17;$$sroa$7$0 = $18;$$sroa$8$0 = $20;$$sroa$9$0 = $21; + } + HEAP32[$0>>2] = $14; + $$sroa$6$0$$sroa_idx10 = ((($0)) + 4|0); + HEAP32[$$sroa$6$0$$sroa_idx10>>2] = $$sroa$6$0; + $$sroa$7$0$$sroa_idx12 = ((($0)) + 8|0); + HEAP32[$$sroa$7$0$$sroa_idx12>>2] = $$sroa$7$0; + $$sroa$8$0$$sroa_idx14 = ((($0)) + 12|0); + HEAP32[$$sroa$8$0$$sroa_idx14>>2] = $$sroa$8$0; + $$sroa$9$0$$sroa_idx16 = ((($0)) + 16|0); + HEAP32[$$sroa$9$0$$sroa_idx16>>2] = $$sroa$9$0; + STACKTOP = sp;return; +} +function _DecompressData($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer3 = 0, $vararg_buffer5 = 0, $vararg_buffer7 = 0, $vararg_ptr13 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0); + $vararg_buffer10 = sp + 40|0; + $vararg_buffer7 = sp + 32|0; + $vararg_buffer5 = sp + 24|0; + $vararg_buffer3 = sp + 16|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $3 = (_malloc($2)|0); + $4 = ($3|0)==(0|0); + if ($4) { + _TraceLog(1,15518,$vararg_buffer); + STACKTOP = sp;return ($3|0); + } + $5 = (_tinfl_decompress_mem_to_mem($3,$2,$0,$1,1)|0); + $6 = ($5|0)==(-1); + if ($6) { + _TraceLog(1,15557,$vararg_buffer1); + _free($3); + } + $7 = ($5|0)==($2|0); + if (!($7)) { + _TraceLog(1,15583,$vararg_buffer3); + HEAP32[$vararg_buffer5>>2] = $2; + _TraceLog(1,15646,$vararg_buffer5); + HEAP32[$vararg_buffer7>>2] = $5; + _TraceLog(1,15681,$vararg_buffer7); + } + HEAP32[$vararg_buffer10>>2] = $1; + $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); + HEAP32[$vararg_ptr13>>2] = $5; + _TraceLog(0,15716,$vararg_buffer10); + STACKTOP = sp;return ($3|0); +} +function _tinfl_decompress_mem_to_mem($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 11008|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(11008|0); + $5 = sp + 11000|0; + $6 = sp; + $7 = sp + 8|0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $3; + HEAP32[$7>>2] = 0; + $8 = $4 & -7; + $9 = $8 | 4; + $10 = (_tinfl_decompress($7,$2,$6,$0,$0,$5,$9)|0); + $11 = ($10|0)!=(0); + $12 = HEAP32[$5>>2]|0; + $13 = $11 ? -1 : $12; + STACKTOP = sp;return ($13|0); +} +function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + $6 = $6|0; + var $$ = 0, $$$301127 = 0, $$010861840 = 0, $$010871839 = 0, $$010881838 = 0, $$010911856 = 0, $$010941846 = 0, $$010951864 = 0, $$01097 = 0, $$01194 = 0, $$011971855 = 0, $$01202 = 0, $$01202$shrunk = 0, $$01203 = 0, $$01300 = 0, $$01300$shrunk = 0, $$01309 = 0, $$01410 = 0, $$01410$shrunk = 0, $$01411 = 0; + var $$01411$shrunk = 0, $$01412 = 0, $$01413 = 0, $$01413$shrunk = 0, $$01416 = 0, $$01507 = 0, $$01607 = 0, $$01834 = 0, $$0937$lcssa = 0, $$09371833 = 0, $$0938$lcssa = 0, $$09381832 = 0, $$0941$lcssa = 0, $$09411816 = 0, $$09431831 = 0, $$09441830 = 0, $$0947 = 0, $$0947$shrunk = 0, $$0948 = 0, $$0949 = 0; + var $$0950 = 0, $$0950$shrunk = 0, $$0951 = 0, $$0952 = 0, $$0952$shrunk = 0, $$0953 = 0, $$0956 = 0, $$0959 = 0, $$0959$shrunk = 0, $$0960 = 0, $$0963 = 0, $$0967 = 0, $$0971 = 0, $$0971$shrunk = 0, $$0972 = 0, $$0975 = 0, $$0978 = 0, $$0979 = 0, $$0979$shrunk = 0, $$0980 = 0; + var $$0980$shrunk = 0, $$0981 = 0, $$0984 = 0, $$0987 = 0, $$0991 = 0, $$1$lcssa = 0, $$100 = 0, $$1001409 = 0, $$101426 = 0, $$101617 = 0, $$110891852 = 0, $$11098 = 0, $$11098$ph = 0, $$111427 = 0, $$111518 = 0, $$111618 = 0, $$11198 = 0, $$11204 = 0, $$11204$ph = 0, $$11310 = 0; + var $$11310$ph = 0, $$11417 = 0, $$11508 = 0, $$11608 = 0, $$11818 = 0, $$121428 = 0, $$121428$ph = 0, $$121519 = 0, $$121619 = 0, $$121619$ph = 0, $$13 = 0, $$131004 = 0, $$131110 = 0, $$131216 = 0, $$131322 = 0, $$131429 = 0, $$131520 = 0, $$131620 = 0, $$14 = 0, $$141005 = 0; + var $$141111 = 0, $$141217 = 0, $$141323 = 0, $$141430 = 0, $$141521 = 0, $$141621 = 0, $$15 = 0, $$151006 = 0, $$151112 = 0, $$151218 = 0, $$151324 = 0, $$151431 = 0, $$151522 = 0, $$151622 = 0, $$16 = 0, $$161007 = 0, $$161113 = 0, $$161113$ph = 0, $$161219 = 0, $$161325 = 0; + var $$161432 = 0, $$161523 = 0, $$161623 = 0, $$17 = 0, $$17$ph = 0, $$171008 = 0, $$171008$ph = 0, $$171114 = 0, $$171220 = 0, $$171220$ph = 0, $$171326 = 0, $$171326$ph = 0, $$171433 = 0, $$171524 = 0, $$171624 = 0, $$1753 = 0, $$1754 = 0, $$18 = 0, $$181009 = 0, $$181115 = 0; + var $$181221 = 0, $$181327 = 0, $$181434 = 0, $$181525 = 0, $$181625 = 0, $$19 = 0, $$191010 = 0, $$191116 = 0, $$191222 = 0, $$191328 = 0, $$191435 = 0, $$191526 = 0, $$191626 = 0, $$1939$lcssa = 0, $$19391817 = 0, $$19421823 = 0, $$1945$lcssa = 0, $$19451815 = 0, $$1954 = 0, $$1957 = 0; + var $$1961 = 0, $$1961$ = 0, $$1964 = 0, $$1968 = 0, $$1973 = 0, $$1976 = 0, $$1982 = 0, $$1985 = 0, $$1988 = 0, $$1988$ph = 0, $$1992 = 0, $$1992$ph = 0, $$2$lcssa = 0, $$20 = 0, $$201011 = 0, $$201117 = 0, $$201223 = 0, $$201329 = 0, $$201436 = 0, $$201527 = 0; + var $$201627 = 0, $$21 = 0, $$21099 = 0, $$211012 = 0, $$211118 = 0, $$211224 = 0, $$211330 = 0, $$211437 = 0, $$211437$ph = 0, $$211528 = 0, $$211628 = 0, $$211628$ph = 0, $$21196 = 0, $$21199$lcssa = 0, $$211991845 = 0, $$21205 = 0, $$21311 = 0, $$21418 = 0, $$21509 = 0, $$21609 = 0; + var $$21825 = 0, $$22 = 0, $$221013 = 0, $$221119 = 0, $$221225 = 0, $$221331 = 0, $$221438 = 0, $$221529 = 0, $$221629 = 0, $$23 = 0, $$231014 = 0, $$231120 = 0, $$231226 = 0, $$231332 = 0, $$231439 = 0, $$231530 = 0, $$231630 = 0, $$24 = 0, $$241015 = 0, $$241121 = 0; + var $$241227 = 0, $$241333 = 0, $$241440 = 0, $$241531 = 0, $$241631 = 0, $$25 = 0, $$251016 = 0, $$251122 = 0, $$251122$ph = 0, $$251228 = 0, $$251334 = 0, $$251441 = 0, $$251532 = 0, $$251632 = 0, $$26 = 0, $$26$ph = 0, $$261017 = 0, $$261017$ph = 0, $$261123 = 0, $$261229 = 0; + var $$261229$ph = 0, $$261335 = 0, $$261335$ph = 0, $$261442 = 0, $$261533 = 0, $$261633 = 0, $$27 = 0, $$271018 = 0, $$271124 = 0, $$271230 = 0, $$271336 = 0, $$271443 = 0, $$271534 = 0, $$271634 = 0, $$28 = 0, $$281019 = 0, $$281125 = 0, $$281231 = 0, $$281337 = 0, $$281444 = 0; + var $$281535 = 0, $$281635 = 0, $$29 = 0, $$291020 = 0, $$291126 = 0, $$291232 = 0, $$291338 = 0, $$291445 = 0, $$291536 = 0, $$291636 = 0, $$2940$lcssa = 0, $$29401824 = 0, $$2946$lcssa = 0, $$29461822 = 0, $$2955 = 0, $$2958 = 0, $$2965 = 0, $$2969 = 0, $$2974 = 0, $$2977 = 0; + var $$2983 = 0, $$2986 = 0, $$2989 = 0, $$2993 = 0, $$30 = 0, $$301021 = 0, $$301127 = 0, $$301233 = 0, $$301339 = 0, $$301446 = 0, $$301537 = 0, $$301637 = 0, $$31 = 0, $$31100$v = 0, $$311022 = 0, $$311128 = 0, $$311234 = 0, $$311340 = 0, $$311447 = 0, $$311538 = 0; + var $$311638 = 0, $$31200 = 0, $$31206 = 0, $$31206$ph = 0, $$31312 = 0, $$31312$ph = 0, $$31419 = 0, $$31419$ph = 0, $$31610 = 0, $$31610$ph = 0, $$32 = 0, $$321023 = 0, $$321129 = 0, $$321235 = 0, $$321341 = 0, $$321448 = 0, $$321448$ph = 0, $$321539 = 0, $$321639 = 0, $$321639$ph = 0; + var $$33 = 0, $$331024 = 0, $$331130 = 0, $$331236 = 0, $$331342 = 0, $$331449 = 0, $$331540 = 0, $$331640 = 0, $$34 = 0, $$341025 = 0, $$341131 = 0, $$341237 = 0, $$341343 = 0, $$341450 = 0, $$341541 = 0, $$341641 = 0, $$35 = 0, $$351026 = 0, $$351132 = 0, $$351238 = 0; + var $$351344 = 0, $$351451 = 0, $$351542 = 0, $$351642 = 0, $$36 = 0, $$361027 = 0, $$361027$ph = 0, $$361133 = 0, $$361133$ph = 0, $$361239 = 0, $$361345 = 0, $$361452 = 0, $$361543 = 0, $$361643 = 0, $$37 = 0, $$37$ph = 0, $$371028 = 0, $$371134 = 0, $$371240 = 0, $$371240$ph = 0; + var $$371346 = 0, $$371346$ph = 0, $$371453 = 0, $$371453$ph = 0, $$371544 = 0, $$371644 = 0, $$371644$ph = 0, $$38 = 0, $$381029 = 0, $$381135 = 0, $$381241 = 0, $$381347 = 0, $$381454 = 0, $$381545 = 0, $$381645 = 0, $$39 = 0, $$391030 = 0, $$391136 = 0, $$391242 = 0, $$391348 = 0; + var $$391455 = 0, $$391546 = 0, $$391646 = 0, $$3966 = 0, $$3970 = 0, $$3990 = 0, $$3990$ph = 0, $$3994 = 0, $$3994$ph = 0, $$40 = 0, $$401031 = 0, $$401137 = 0, $$401243 = 0, $$401349 = 0, $$401456 = 0, $$401547 = 0, $$401647 = 0, $$41 = 0, $$411032 = 0, $$411032$ph = 0; + var $$411138 = 0, $$411138$ph = 0, $$411244 = 0, $$411350 = 0, $$411457 = 0, $$411548 = 0, $$411648 = 0, $$41201 = 0, $$41420 = 0, $$41511 = 0, $$41611 = 0, $$42 = 0, $$42$ph = 0, $$421033 = 0, $$421139 = 0, $$421245 = 0, $$421245$ph = 0, $$421351 = 0, $$421351$ph = 0, $$421458 = 0; + var $$421549 = 0, $$421649 = 0, $$43 = 0, $$431034 = 0, $$431140 = 0, $$431246 = 0, $$431352 = 0, $$431459 = 0, $$431550 = 0, $$431650 = 0, $$44 = 0, $$441035 = 0, $$441141 = 0, $$441247 = 0, $$441353 = 0, $$441460 = 0, $$441460$ph = 0, $$441551 = 0, $$441651 = 0, $$441651$ph = 0; + var $$45 = 0, $$451036 = 0, $$451142 = 0, $$451248 = 0, $$451354 = 0, $$451461 = 0, $$451552 = 0, $$451652 = 0, $$46 = 0, $$461037 = 0, $$461143 = 0, $$461249 = 0, $$461355 = 0, $$461462 = 0, $$461553 = 0, $$461653 = 0, $$47 = 0, $$471038 = 0, $$471144 = 0, $$471250 = 0; + var $$471356 = 0, $$471463 = 0, $$471554 = 0, $$471654 = 0, $$48 = 0, $$481039 = 0, $$481039$ph = 0, $$481145 = 0, $$481145$ph = 0, $$481251 = 0, $$481357 = 0, $$481464 = 0, $$481555 = 0, $$481655 = 0, $$49 = 0, $$49$ph = 0, $$491040 = 0, $$491146 = 0, $$491252 = 0, $$491252$ph = 0; + var $$491358 = 0, $$491358$ph = 0, $$491465 = 0, $$491465$ph = 0, $$491556 = 0, $$491656 = 0, $$491656$ph = 0, $$5 = 0, $$50 = 0, $$501041 = 0, $$501147 = 0, $$501253 = 0, $$501359 = 0, $$501466 = 0, $$501557 = 0, $$501657 = 0, $$51 = 0, $$51102 = 0, $$511042 = 0, $$511148 = 0; + var $$511254 = 0, $$511360 = 0, $$511467 = 0, $$511558 = 0, $$511658 = 0, $$51208 = 0, $$51314 = 0, $$51512 = 0, $$52 = 0, $$521043 = 0, $$521043$ph = 0, $$521149 = 0, $$521255 = 0, $$521361 = 0, $$521468 = 0, $$521559 = 0, $$521659 = 0, $$53 = 0, $$531044 = 0, $$531150 = 0; + var $$531150$ph = 0, $$531256 = 0, $$531362 = 0, $$531469 = 0, $$531560 = 0, $$531660 = 0, $$54 = 0, $$54$ph = 0, $$541045 = 0, $$541151 = 0, $$541257 = 0, $$541257$ph = 0, $$541363 = 0, $$541363$ph = 0, $$541470$ph = 0, $$541561 = 0, $$541661$lcssa = 0, $$541661$ph = 0, $$5416611868 = 0, $$55 = 0; + var $$551046 = 0, $$551152 = 0, $$551258 = 0, $$551364 = 0, $$551471 = 0, $$551562 = 0, $$551662 = 0, $$56 = 0, $$561047 = 0, $$561153 = 0, $$561259 = 0, $$561365 = 0, $$561472 = 0, $$561563 = 0, $$561663 = 0, $$57 = 0, $$571048$ph = 0, $$571154 = 0, $$571260 = 0, $$571366 = 0; + var $$571473 = 0, $$571473$ph = 0, $$571564 = 0, $$571664 = 0, $$571664$ph = 0, $$58 = 0, $$581049 = 0, $$581155$lcssa = 0, $$581155$ph = 0, $$5811551871 = 0, $$581261 = 0, $$581367 = 0, $$581474 = 0, $$581565$lcssa = 0, $$581565$ph = 0, $$5815651869 = 0, $$581665 = 0, $$59$lcssa = 0, $$59$ph = 0, $$591050 = 0; + var $$591156 = 0, $$591262$ph = 0, $$591368$lcssa = 0, $$591368$ph = 0, $$5913681870 = 0, $$591475 = 0, $$591566 = 0, $$591666 = 0, $$591872 = 0, $$5996 = 0, $$6 = 0, $$60 = 0, $$601051 = 0, $$601051$ph = 0, $$601157 = 0, $$601263 = 0, $$601369 = 0, $$601476 = 0, $$601567 = 0, $$61 = 0; + var $$61103 = 0, $$611052 = 0, $$611158 = 0, $$611158$ph = 0, $$611264 = 0, $$611370 = 0, $$611477 = 0, $$611568 = 0, $$611668 = 0, $$61209 = 0, $$61315 = 0, $$61513 = 0, $$62 = 0, $$62$ph = 0, $$621053 = 0, $$621159 = 0, $$621265 = 0, $$621265$ph = 0, $$621371 = 0, $$621371$ph = 0; + var $$621478 = 0, $$621569 = 0, $$621669 = 0, $$63 = 0, $$631054 = 0, $$631266 = 0, $$631372 = 0, $$631479 = 0, $$631479$ph = 0, $$631570 = 0, $$631670 = 0, $$64 = 0, $$641055 = 0, $$641161 = 0, $$641267 = 0, $$641373 = 0, $$641480 = 0, $$641571 = 0, $$641671 = 0, $$641671$ph = 0; + var $$65 = 0, $$651056 = 0, $$651162 = 0, $$651268 = 0, $$651374 = 0, $$651481 = 0, $$651572 = 0, $$651672 = 0, $$66 = 0, $$661057 = 0, $$661057$ph = 0, $$661163 = 0, $$661269 = 0, $$661375 = 0, $$661482 = 0, $$661673 = 0, $$671058 = 0, $$671164 = 0, $$671164$ph = 0, $$671270 = 0; + var $$671483 = 0, $$671574 = 0, $$671674 = 0, $$68 = 0, $$681059 = 0, $$681165 = 0, $$681271 = 0, $$681271$ph = 0, $$681377 = 0, $$681484 = 0, $$681484$ph = 0, $$681575 = 0, $$681675 = 0, $$69 = 0, $$691060 = 0, $$691166 = 0, $$691272 = 0, $$691378 = 0, $$691485 = 0, $$691576 = 0; + var $$691676 = 0, $$691676$ph = 0, $$6997 = 0, $$7 = 0, $$70 = 0, $$701061 = 0, $$701167 = 0, $$701273 = 0, $$701379 = 0, $$701486 = 0, $$701577 = 0, $$701677 = 0, $$71 = 0, $$71$ph = 0, $$71104 = 0, $$711062 = 0, $$711062$ph = 0, $$711168 = 0, $$711274 = 0, $$711380 = 0; + var $$711380$ph = 0, $$711487 = 0, $$711578 = 0, $$711678 = 0, $$71210 = 0, $$71316 = 0, $$71514 = 0, $$72 = 0, $$721063 = 0, $$721169 = 0, $$721169$ph = 0, $$721275 = 0, $$721381 = 0, $$721488 = 0, $$721488$ph = 0, $$721579 = 0, $$721679 = 0, $$73 = 0, $$731064 = 0, $$731170 = 0; + var $$731276 = 0, $$731276$ph = 0, $$731382 = 0, $$731489 = 0, $$731580 = 0, $$731680 = 0, $$731680$ph = 0, $$74 = 0, $$741065 = 0, $$741065$ph = 0, $$741171 = 0, $$741277 = 0, $$741383 = 0, $$741490 = 0, $$741581 = 0, $$741681 = 0, $$75 = 0, $$751066 = 0, $$751172 = 0, $$751278 = 0; + var $$751384 = 0, $$751491 = 0, $$751582 = 0, $$751682 = 0, $$76 = 0, $$76$ph = 0, $$761067 = 0, $$761173 = 0, $$761173$ph = 0, $$761279 = 0, $$761279$ph = 0, $$761385 = 0, $$761385$ph = 0, $$761492 = 0, $$761583 = 0, $$761683 = 0, $$77 = 0, $$771068 = 0, $$771174 = 0, $$771280 = 0; + var $$771386 = 0, $$771584 = 0, $$771684 = 0, $$78 = 0, $$781069 = 0, $$781175 = 0, $$781281 = 0, $$781387 = 0, $$781585 = 0, $$781685 = 0, $$79 = 0, $$791070 = 0, $$791176 = 0, $$791282 = 0, $$791388 = 0, $$791586 = 0, $$791686 = 0, $$7998 = 0, $$8 = 0, $$8$ph = 0; + var $$80 = 0, $$80$ph = 0, $$801071 = 0, $$801177 = 0, $$801283 = 0, $$801389 = 0, $$801389$ph = 0, $$801496 = 0, $$801587 = 0, $$801687 = 0, $$81 = 0, $$81105 = 0, $$81105$ph = 0, $$811178 = 0, $$811284 = 0, $$811390 = 0, $$811497 = 0, $$811588 = 0, $$81211 = 0, $$81211$ph = 0; + var $$81317 = 0, $$81317$ph = 0, $$81424 = 0, $$81515 = 0, $$81615 = 0, $$82 = 0, $$821179 = 0, $$821285 = 0, $$821391 = 0, $$821498 = 0, $$821589 = 0, $$83 = 0, $$831180 = 0, $$831392 = 0, $$831499 = 0, $$831590 = 0, $$84 = 0, $$841075 = 0, $$841393 = 0, $$841500 = 0; + var $$841500$ph = 0, $$841591 = 0, $$841691 = 0, $$85 = 0, $$851076 = 0, $$851394 = 0, $$851501 = 0, $$851592 = 0, $$851692 = 0, $$86 = 0, $$861077 = 0, $$861289 = 0, $$861395 = 0, $$861502 = 0, $$861693 = 0, $$871078 = 0, $$871184 = 0, $$871290 = 0, $$871503 = 0, $$871694 = 0; + var $$881079 = 0, $$881079$ph = 0, $$881185 = 0, $$881291 = 0, $$881504 = 0, $$881595 = 0, $$881695 = 0, $$881695$ph = 0, $$891080 = 0, $$891186 = 0, $$891292 = 0, $$891505 = 0, $$891596 = 0, $$891696 = 0, $$8999 = 0, $$8999$ph = 0, $$9 = 0, $$90 = 0, $$901081 = 0, $$901187 = 0; + var $$901187$ph = 0, $$901293 = 0, $$901293$ph = 0, $$901399 = 0, $$901506 = 0, $$901597 = 0, $$901697 = 0, $$91 = 0, $$91000 = 0, $$91106 = 0, $$911082 = 0, $$911188 = 0, $$911294 = 0, $$911400 = 0, $$911598 = 0, $$911698 = 0, $$91212 = 0, $$91318 = 0, $$91425 = 0, $$91616 = 0; + var $$92 = 0, $$921083 = 0, $$921189 = 0, $$921295 = 0, $$921401 = 0, $$921599 = 0, $$921699 = 0, $$93 = 0, $$931084 = 0, $$931190 = 0, $$931296 = 0, $$931402 = 0, $$931600 = 0, $$931700 = 0, $$94 = 0, $$94$ph = 0, $$941085 = 0, $$941191 = 0, $$941297 = 0, $$941403 = 0; + var $$941403$ph = 0, $$941601 = 0, $$941701 = 0, $$95 = 0, $$951192 = 0, $$951298 = 0, $$951404 = 0, $$951602 = 0, $$96 = 0, $$961193 = 0, $$961299 = 0, $$961405 = 0, $$961603 = 0, $$97 = 0, $$971406 = 0, $$971604 = 0, $$98 = 0, $$981407 = 0, $$981605 = 0, $$99 = 0; + var $$991408 = 0, $$991606 = 0, $$lcssa1778 = 0, $$lcssa1779 = 0, $$lcssa1799 = 0, $$lcssa1802 = 0, $$not = 0, $$not1747 = 0, $$sink12 = 0, $$sink13 = 0, $$sink16 = 0, $$sink17 = 0, $$sink1705 = 0, $$sink1710 = 0, $$sink1713 = 0, $$sink1716 = 0, $$sink1719 = 0, $$sink1722 = 0, $$sink1729 = 0, $$sink1732 = 0; + var $$sink1736 = 0, $$sink1739 = 0, $$sink1743 = 0, $$sink1746 = 0, $$sink1750 = 0, $$sink3 = 0, $$sink3$shrunk = 0, $$sink30 = 0, $$sink9 = 0, $$sink9$shrunk = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0; + var $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0; + var $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0; + var $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0; + var $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0; + var $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0; + var $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0; + var $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0; + var $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0; + var $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0; + var $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0; + var $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0; + var $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0; + var $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0; + var $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0; + var $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0; + var $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0; + var $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0; + var $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0; + var $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0; + var $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0; + var $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0; + var $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0; + var $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0; + var $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0, $531 = 0, $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0; + var $545 = 0, $546 = 0, $547 = 0, $548 = 0, $549 = 0, $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0, $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0, $562 = 0; + var $563 = 0, $564 = 0, $565 = 0, $566 = 0, $567 = 0, $568 = 0, $569 = 0, $57 = 0, $570 = 0, $571 = 0, $572 = 0, $573 = 0, $574 = 0, $575 = 0, $576 = 0, $577 = 0, $578 = 0, $579 = 0, $58 = 0, $580 = 0; + var $581 = 0, $582 = 0, $583 = 0, $584 = 0, $585 = 0, $586 = 0, $587 = 0, $588 = 0, $589 = 0, $59 = 0, $590 = 0, $591 = 0, $592 = 0, $593 = 0, $594 = 0, $595 = 0, $596 = 0, $597 = 0, $598 = 0, $599 = 0; + var $60 = 0, $600 = 0, $601 = 0, $602 = 0, $603 = 0, $604 = 0, $605 = 0, $606 = 0, $607 = 0, $608 = 0, $609 = 0, $61 = 0, $610 = 0, $611 = 0, $612 = 0, $613 = 0, $614 = 0, $615 = 0, $616 = 0, $617 = 0; + var $618 = 0, $619 = 0, $62 = 0, $620 = 0, $621 = 0, $622 = 0, $623 = 0, $624 = 0, $625 = 0, $626 = 0, $627 = 0, $628 = 0, $629 = 0, $63 = 0, $630 = 0, $631 = 0, $632 = 0, $633 = 0, $634 = 0, $635 = 0; + var $636 = 0, $637 = 0, $638 = 0, $639 = 0, $64 = 0, $640 = 0, $641 = 0, $642 = 0, $643 = 0, $644 = 0, $645 = 0, $646 = 0, $647 = 0, $648 = 0, $649 = 0, $65 = 0, $650 = 0, $651 = 0, $652 = 0, $653 = 0; + var $654 = 0, $655 = 0, $656 = 0, $657 = 0, $658 = 0, $659 = 0, $66 = 0, $660 = 0, $661 = 0, $662 = 0, $663 = 0, $664 = 0, $665 = 0, $666 = 0, $667 = 0, $668 = 0, $669 = 0, $67 = 0, $670 = 0, $671 = 0; + var $672 = 0, $673 = 0, $674 = 0, $675 = 0, $676 = 0, $677 = 0, $678 = 0, $679 = 0, $68 = 0, $680 = 0, $681 = 0, $682 = 0, $683 = 0, $684 = 0, $685 = 0, $686 = 0, $687 = 0, $688 = 0, $689 = 0, $69 = 0; + var $690 = 0, $691 = 0, $692 = 0, $693 = 0, $694 = 0, $695 = 0, $696 = 0, $697 = 0, $698 = 0, $699 = 0, $7 = 0, $70 = 0, $700 = 0, $701 = 0, $702 = 0, $703 = 0, $704 = 0, $705 = 0, $706 = 0, $707 = 0; + var $708 = 0, $709 = 0, $71 = 0, $710 = 0, $711 = 0, $712 = 0, $713 = 0, $714 = 0, $715 = 0, $716 = 0, $717 = 0, $718 = 0, $719 = 0, $72 = 0, $720 = 0, $721 = 0, $722 = 0, $723 = 0, $724 = 0, $725 = 0; + var $726 = 0, $727 = 0, $728 = 0, $729 = 0, $73 = 0, $730 = 0, $731 = 0, $732 = 0, $733 = 0, $734 = 0, $735 = 0, $736 = 0, $737 = 0, $738 = 0, $739 = 0, $74 = 0, $740 = 0, $741 = 0, $742 = 0, $743 = 0; + var $744 = 0, $745 = 0, $746 = 0, $747 = 0, $748 = 0, $749 = 0, $75 = 0, $750 = 0, $751 = 0, $752 = 0, $753 = 0, $754 = 0, $755 = 0, $756 = 0, $757 = 0, $758 = 0, $759 = 0, $76 = 0, $760 = 0, $761 = 0; + var $762 = 0, $763 = 0, $764 = 0, $765 = 0, $766 = 0, $767 = 0, $768 = 0, $769 = 0, $77 = 0, $770 = 0, $771 = 0, $772 = 0, $773 = 0, $774 = 0, $775 = 0, $776 = 0, $777 = 0, $778 = 0, $779 = 0, $78 = 0; + var $780 = 0, $781 = 0, $782 = 0, $783 = 0, $784 = 0, $785 = 0, $786 = 0, $787 = 0, $788 = 0, $789 = 0, $79 = 0, $790 = 0, $791 = 0, $792 = 0, $793 = 0, $794 = 0, $795 = 0, $796 = 0, $797 = 0, $798 = 0; + var $799 = 0, $8 = 0, $80 = 0, $800 = 0, $801 = 0, $802 = 0, $803 = 0, $804 = 0, $805 = 0, $806 = 0, $807 = 0, $808 = 0, $809 = 0, $81 = 0, $810 = 0, $811 = 0, $812 = 0, $813 = 0, $814 = 0, $815 = 0; + var $816 = 0, $817 = 0, $818 = 0, $819 = 0, $82 = 0, $820 = 0, $821 = 0, $822 = 0, $823 = 0, $824 = 0, $825 = 0, $826 = 0, $827 = 0, $828 = 0, $829 = 0, $83 = 0, $830 = 0, $831 = 0, $832 = 0, $833 = 0; + var $834 = 0, $835 = 0, $836 = 0, $837 = 0, $838 = 0, $839 = 0, $84 = 0, $840 = 0, $841 = 0, $842 = 0, $843 = 0, $844 = 0, $845 = 0, $846 = 0, $847 = 0, $848 = 0, $849 = 0, $85 = 0, $850 = 0, $851 = 0; + var $852 = 0, $853 = 0, $854 = 0, $855 = 0, $856 = 0, $857 = 0, $858 = 0, $859 = 0, $86 = 0, $860 = 0, $861 = 0, $862 = 0, $863 = 0, $864 = 0, $865 = 0, $866 = 0, $867 = 0, $868 = 0, $869 = 0, $87 = 0; + var $870 = 0, $871 = 0, $872 = 0, $873 = 0, $874 = 0, $875 = 0, $876 = 0, $877 = 0, $878 = 0, $879 = 0, $88 = 0, $880 = 0, $881 = 0, $882 = 0, $883 = 0, $884 = 0, $885 = 0, $886 = 0, $887 = 0, $888 = 0; + var $889 = 0, $89 = 0, $890 = 0, $891 = 0, $892 = 0, $893 = 0, $894 = 0, $895 = 0, $896 = 0, $897 = 0, $898 = 0, $899 = 0, $9 = 0, $90 = 0, $900 = 0, $901 = 0, $902 = 0, $903 = 0, $904 = 0, $905 = 0; + var $906 = 0, $907 = 0, $908 = 0, $909 = 0, $91 = 0, $910 = 0, $911 = 0, $912 = 0, $913 = 0, $914 = 0, $915 = 0, $916 = 0, $917 = 0, $918 = 0, $919 = 0, $92 = 0, $920 = 0, $921 = 0, $922 = 0, $923 = 0; + var $924 = 0, $925 = 0, $926 = 0, $927 = 0, $928 = 0, $929 = 0, $93 = 0, $930 = 0, $931 = 0, $932 = 0, $933 = 0, $934 = 0, $935 = 0, $936 = 0, $937 = 0, $938 = 0, $939 = 0, $94 = 0, $940 = 0, $941 = 0; + var $942 = 0, $943 = 0, $944 = 0, $945 = 0, $946 = 0, $947 = 0, $948 = 0, $949 = 0, $95 = 0, $950 = 0, $951 = 0, $952 = 0, $953 = 0, $954 = 0, $955 = 0, $956 = 0, $957 = 0, $958 = 0, $959 = 0, $96 = 0; + var $960 = 0, $961 = 0, $962 = 0, $963 = 0, $964 = 0, $965 = 0, $966 = 0, $97 = 0, $98 = 0, $99 = 0, $brmerge = 0, $exitcond = 0, $not$ = 0, $not$1755 = 0, $or$cond = 0, $or$cond1702 = 0, $or$cond1752 = 0, $or$cond24 = 0, $or$cond29 = 0, $scevgep = 0; + var $scevgep1947 = 0, $scevgep1948 = 0, $scevgep1955 = 0, $scevgep1957 = 0, $scevgep1959 = 0, $scevgep19611962 = 0, $trunc = 0, $trunc$clear = 0, dest = 0, label = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 144|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(144|0); + $7 = sp + 64|0; + $8 = sp; + $9 = HEAP32[$2>>2]|0; + $10 = (($1) + ($9)|0); + $11 = HEAP32[$5>>2]|0; + $12 = (($4) + ($11)|0); + $13 = $6 & 4; + $14 = ($13|0)!=(0); + $15 = $4; + $16 = $3; + $17 = $16 ^ -1; + $18 = (($15) + ($17))|0; + $19 = (($18) + ($11))|0; + $$1753 = $14 ? -1 : $19; + $20 = (($$1753) + 1)|0; + $21 = $20 & $$1753; + $22 = ($21|0)!=(0); + $23 = ($4>>>0)<($3>>>0); + $or$cond1702 = $23 | $22; + if ($or$cond1702) { + HEAP32[$5>>2] = 0; + HEAP32[$2>>2] = 0; + $$0951 = -3; + STACKTOP = sp;return ($$0951|0); + } + $24 = ((($0)) + 4|0); + $25 = HEAP32[$24>>2]|0; + $26 = ((($0)) + 56|0); + $27 = HEAP32[$26>>2]|0; + $28 = ((($0)) + 32|0); + $29 = HEAP32[$28>>2]|0; + $30 = ((($0)) + 36|0); + $31 = HEAP32[$30>>2]|0; + $32 = ((($0)) + 40|0); + $33 = HEAP32[$32>>2]|0; + $34 = ((($0)) + 60|0); + $35 = HEAP32[$34>>2]|0; + $36 = HEAP32[$0>>2]|0; + L5: do { + switch ($36|0) { + case 0: { + $37 = ((($0)) + 12|0); + HEAP32[$37>>2] = 0; + $38 = ((($0)) + 8|0); + HEAP32[$38>>2] = 0; + $39 = ((($0)) + 28|0); + HEAP32[$39>>2] = 1; + $40 = ((($0)) + 16|0); + HEAP32[$40>>2] = 1; + $41 = $6 & 1; + $42 = ($41|0)==(0); + if ($42) { + $$01416 = $35;$$01607 = $4;$$41511 = $1;$$5 = 0;$$51102 = 0;$$51208 = 0;$$51314 = 0;$$5996 = 0; + label = 14; + } else { + $43 = ($9|0)<(1); + if ($43) { + $$01097 = 0;$$01203 = 0;$$01309 = 0;$$0987 = 0;$$0991 = 0; + label = 6; + } else { + $$11098$ph = 0;$$11204$ph = 0;$$11310$ph = 0;$$1988$ph = 0;$$1992$ph = 0; + label = 8; + } + } + break; + } + case 1: { + $46 = ($9|0)>(0); + if ($46) { + $$11098$ph = $31;$$11204$ph = $33;$$11310$ph = $27;$$1988$ph = $25;$$1992$ph = $29; + label = 8; + } else { + $$01097 = $31;$$01203 = $33;$$01309 = $27;$$0987 = $25;$$0991 = $29; + label = 6; + } + break; + } + case 2: { + $53 = ($9|0)>(0); + if ($53) { + $$31206$ph = $33;$$31312$ph = $27;$$3990$ph = $25;$$3994$ph = $29;$$sink1705 = $1; + label = 12; + } else { + $$11508 = $1;$$21099 = $31;$$21205 = $33;$$21311 = $27;$$2989 = $25;$$2993 = $29; + label = 10; + } + break; + } + case 36: { + $$0960 = -1;$$891505 = $35;$$931084 = $29;$$931700 = $4;$$951192 = $31;$$951298 = $33;$$981605 = $1;$$99 = $25;$$991408 = $27;$$sink30 = 36; + label = 243; + break; + } + case 3: { + $75 = ($9|0)>(0); + if ($75) { + $$31419$ph = $35;$$31610$ph = $4;$$8$ph = $25;$$81105$ph = $31;$$81211$ph = $33;$$81317$ph = $27;$$8999$ph = $29;$$sink1710 = $1; + label = 18; + } else { + $$21418 = $35;$$21609 = $4;$$61513 = $1;$$7 = $25;$$71104 = $31;$$71210 = $33;$$71316 = $27;$$7998 = $29; + label = 16; + } + break; + } + case 5: { + $90 = ($9|0)>(0); + if ($90) { + $91 = ((($1)) + 1|0); + $92 = HEAP8[$1>>0]|0; + $93 = $92&255; + $$01412 = $93;$$111518 = $91; + } else { + $88 = $6 & 2; + $89 = ($88|0)==(0); + if ($89) { + $$01412 = 0;$$111518 = $1; + } else { + $$0960 = 1;$$891505 = $35;$$931084 = $29;$$931700 = $4;$$951192 = $31;$$951298 = $33;$$981605 = $1;$$99 = $25;$$991408 = $27;$$sink30 = 5; + label = 243; + break L5; + } + } + $94 = $$01412 << $25; + $95 = $94 | $27; + $96 = (($25) + 8)|0; + $$121519 = $$111518;$$13 = $96;$$131004 = $29;$$131216 = $33;$$131322 = $95;$$81424 = $35;$$81615 = $4; + label = 25; + break; + } + case 6: { + $106 = ($9|0)>(0); + if ($106) { + $$121428$ph = $35;$$121619$ph = $4;$$161113$ph = $31;$$17$ph = $25;$$171008$ph = $29;$$171220$ph = $33;$$171326$ph = $27;$$sink1713 = $1; + label = 32; + } else { + $$111427 = $35;$$111618 = $4;$$151112 = $31;$$151522 = $1;$$16 = $25;$$161007 = $29;$$161219 = $33;$$161325 = $27; + label = 30; + } + break; + } + case 7: { + $120 = ($9|0)>(0); + if ($120) { + $121 = ((($1)) + 1|0); + $122 = HEAP8[$1>>0]|0; + $$151431 = $35;$$151622 = $4;$$191116 = $31;$$191526 = $121;$$20 = $25;$$201011 = $29;$$201223 = $33;$$201329 = $27;$$sink12 = $122; + label = 39; + } else { + $$141430 = $35;$$141621 = $4;$$181115 = $31;$$181525 = $1;$$19 = $25;$$191010 = $29;$$191222 = $33;$$191328 = $27; + label = 36; + } + break; + } + case 39: { + $$171433 = $35;$$171624 = $4;$$211118 = $31;$$211528 = $1;$$22 = $25;$$221013 = $29;$$221225 = $33;$$221331 = $27; + label = 43; + break; + } + case 51: { + $152 = ($9|0)>(0); + if ($152) { + $$211437$ph = $35;$$211628$ph = $4;$$251122$ph = $31;$$26$ph = $25;$$261017$ph = $29;$$261229$ph = $33;$$261335$ph = $27;$$sink1716 = $1; + label = 49; + } else { + $$201436 = $35;$$201627 = $4;$$241121 = $31;$$241531 = $1;$$25 = $25;$$251016 = $29;$$251228 = $33;$$251334 = $27; + label = 47; + } + break; + } + case 52: { + $$231439 = $35;$$231630 = $4;$$271018 = $29;$$271124 = $31;$$271534 = $1;$$28 = $25;$$281231 = $33;$$281337 = $27; + label = 52; + break; + } + case 9: { + $$251441 = $35;$$251632 = $4;$$291020 = $29;$$291126 = $31;$$291536 = $1;$$30 = $25;$$301233 = $33;$$301339 = $27; + label = 55; + break; + } + case 38: { + $$261442 = $35;$$261633 = $4;$$301021 = $29;$$301127 = $31;$$301537 = $1;$$31 = $25;$$311234 = $33;$$311340 = $27; + label = 56; + break; + } + case 40: { + $$271443 = $35;$$271634 = $4;$$311022 = $29;$$311128 = $31;$$311538 = $1;$$32 = $25;$$321235 = $33;$$321341 = $27; + label = 58; + break; + } + case 10: { + $$281444 = $35;$$281635 = $4;$$321023 = $29;$$321129 = $31;$$321539 = $1;$$33 = $25;$$331236 = $33;$$331342 = $27; + label = 60; + break; + } + case 11: { + $193 = ($9|0)>(0); + if ($193) { + $$321448$ph = $35;$$321639$ph = $4;$$361027$ph = $29;$$361133$ph = $31;$$37$ph = $25;$$371240$ph = $33;$$371346$ph = $27;$$sink1719 = $1; + label = 66; + } else { + $$311447 = $35;$$311638 = $4;$$351026 = $29;$$351132 = $31;$$351542 = $1;$$36 = $25;$$361239 = $33;$$361345 = $27; + label = 64; + } + break; + } + case 14: { + $224 = ($9|0)>(0); + if ($224) { + $$371453$ph = $35;$$371644$ph = $4;$$411032$ph = $29;$$411138$ph = $31;$$42$ph = $25;$$421245$ph = $33;$$421351$ph = $27;$$sink1722 = $1; + label = 75; + } else { + $$361452 = $35;$$361643 = $4;$$401031 = $29;$$401137 = $31;$$401547 = $1;$$41 = $25;$$411244 = $33;$$411350 = $27; + label = 73; + } + break; + } + case 35: { + $$401456 = $35;$$401647 = $4;$$441035 = $29;$$441141 = $31;$$441551 = $1;$$45 = $25;$$451248 = $33;$$451354 = $27; + label = 86; + break; + } + case 16: { + $452 = ($9|0)>(0); + if ($452) { + $$441460$ph = $35;$$441651$ph = $4;$$481039$ph = $29;$$481145$ph = $31;$$49$ph = $25;$$491252$ph = $33;$$491358$ph = $27;$$sink1729 = $1; + label = 116; + } else { + $$431459 = $35;$$431650 = $4;$$471038 = $29;$$471144 = $31;$$471554 = $1;$$48 = $25;$$481251 = $33;$$481357 = $27; + label = 114; + } + break; + } + case 17: { + $$461462 = $35;$$461653 = $4;$$491040 = $29;$$501147 = $31;$$501557 = $1;$$51 = $25;$$511254 = $33;$$511360 = $27; + label = 125; + break; + } + case 18: { + $503 = ($9|0)>(0); + if ($503) { + $$491465$ph = $35;$$491656$ph = $4;$$521043$ph = $29;$$531150$ph = $31;$$54$ph = $25;$$541257$ph = $33;$$541363$ph = $27;$$sink1732 = $1; + label = 130; + } else { + $$481464 = $35;$$481655 = $4;$$511042 = $29;$$521149 = $31;$$521559 = $1;$$53 = $25;$$531256 = $33;$$531362 = $27; + label = 128; + } + break; + } + case 21: { + $$511467 = $35;$$511658 = $4;$$541045 = $29;$$551152 = $31;$$551562 = $1;$$56 = $25;$$561259 = $33;$$561365 = $27; + label = 136; + break; + } + case 23: { + $572 = ($9|0)>(0); + if ($572) { + $$571473$ph = $35;$$571664$ph = $4;$$601051$ph = $29;$$611158$ph = $31;$$62$ph = $25;$$621265$ph = $33;$$621371$ph = $27;$$sink1736 = $1; + label = 153; + } else { + $$561472 = $35;$$561663 = $4;$$591050 = $29;$$601157 = $31;$$601567 = $1;$$61 = $25;$$611264 = $33;$$611370 = $27; + label = 151; + } + break; + } + case 24: { + $$591475 = $35;$$591666 = $4;$$621053 = $29;$$621159 = $31;$$631570 = $1;$$64 = $25;$$641267 = $33;$$641373 = $27; + label = 160; + break; + } + case 25: { + $696 = ($9|0)>(0); + if ($696) { + $$631479$ph = $35;$$641671$ph = $4;$$661057$ph = $29;$$671164$ph = $31;$$681271$ph = $33;$$71$ph = $25;$$711380$ph = $27;$$sink1739 = $1; + label = 182; + } else { + $$621478 = $35;$$631670 = $4;$$651056 = $29;$$661163 = $31;$$671270 = $33;$$691576 = $1;$$70 = $25;$$701379 = $27; + label = 180; + } + break; + } + case 26: { + $737 = ($9|0)>(0); + if ($737) { + $$681484$ph = $35;$$691676$ph = $4;$$711062$ph = $29;$$721169$ph = $31;$$731276$ph = $33;$$76$ph = $25;$$761385$ph = $27;$$sink1743 = $1; + label = 195; + } else { + $$671483 = $35;$$681675 = $4;$$701061 = $29;$$711168 = $31;$$721275 = $33;$$741581 = $1;$$75 = $25;$$751384 = $27; + label = 193; + } + break; + } + case 27: { + $784 = ($9|0)>(0); + if ($784) { + $$721488$ph = $35;$$731680$ph = $4;$$741065$ph = $29;$$761173$ph = $31;$$761279$ph = $33;$$80$ph = $25;$$801389$ph = $27;$$sink1746 = $1; + label = 206; + } else { + $$711487 = $35;$$721679 = $4;$$731064 = $29;$$751172 = $31;$$751278 = $33;$$781585 = $1;$$79 = $25;$$791388 = $27; + label = 204; + } + break; + } + case 37: { + $$731489 = $35;$$761683 = $4;$$771068 = $29;$$791176 = $31;$$791282 = $33;$$821589 = $1;$$83 = $25;$$831392 = $27; + label = 210; + break; + } + case 53: { + $$751491 = $35;$$781685 = $4;$$791070 = $29;$$811178 = $31;$$811284 = $33;$$841591 = $1;$$85 = $25;$$851394 = $27; + label = 213; + break; + } + case 32: { + $842 = ($9|0)>(0); + if ($842) { + $843 = ((($1)) + 1|0); + $844 = HEAP8[$1>>0]|0; + $845 = $844&255; + $$0949 = $845;$$881595 = $843; + } else { + $840 = $6 & 2; + $841 = ($840|0)==(0); + if ($841) { + $$0949 = 0;$$881595 = $1; + } else { + $$0960 = 1;$$891505 = $35;$$931084 = $29;$$931700 = $4;$$951192 = $31;$$951298 = $33;$$981605 = $1;$$99 = $25;$$991408 = $27;$$sink30 = 32; + label = 243; + break L5; + } + } + $846 = $$0949 << $25; + $847 = $846 | $27; + $848 = (($25) + 8)|0; + $$801496 = $35;$$841075 = $29;$$841691 = $4;$$861289 = $33;$$891596 = $$881595;$$90 = $848;$$901399 = $847; + label = 226; + break; + } + case 41: { + $858 = ($9|0)>(0); + if ($858) { + $$841500$ph = $35;$$881079$ph = $29;$$881695$ph = $4;$$901187$ph = $31;$$901293$ph = $33;$$94$ph = $25;$$941403$ph = $27;$$sink1750 = $1; + label = 233; + } else { + $$831499 = $35;$$871078 = $29;$$871694 = $4;$$891186 = $31;$$891292 = $33;$$921599 = $1;$$93 = $25;$$931402 = $27; + label = 231; + } + break; + } + case 42: { + $871 = ($9|0)>(0); + if ($871) { + $872 = ((($1)) + 1|0); + $873 = HEAP8[$1>>0]|0; + $874 = $873&255; + $$0948 = $874;$$871503 = $35;$$911082 = $29;$$911698 = $4;$$931190 = $31;$$931296 = $33;$$961603 = $872;$$97 = $25;$$971406 = $27; + label = 241; + } else { + $$861502 = $35;$$901081 = $29;$$901697 = $4;$$921189 = $31;$$921295 = $33;$$951602 = $1;$$96 = $25;$$961405 = $27; + label = 237; + } + break; + } + case 34: { + $$881504 = $35;$$921083 = $29;$$921699 = $4;$$941191 = $31;$$941297 = $33;$$971604 = $1;$$98 = $25;$$981407 = $27; + label = 242; + break; + } + default: { + $$100 = $25;$$1001409 = $27;$$1961 = -1;$$901506 = $35;$$941085 = $29;$$941701 = $4;$$961193 = $31;$$961299 = $33;$$991606 = $1; + label = 244; + } + } + } while(0); + if ((label|0) == 6) { + $44 = $6 & 2; + $45 = ($44|0)==(0); + if ($45) { + $$01507 = $1;$$11098 = $$01097;$$11204 = $$01203;$$11310 = $$01309;$$1988 = $$0987;$$1992 = $$0991;$$sink3$shrunk = 0; + label = 9; + } else { + $$0960 = 1;$$891505 = $35;$$931084 = $$0991;$$931700 = $4;$$951192 = $$01097;$$951298 = $$01203;$$981605 = $1;$$99 = $$0987;$$991408 = $$01309;$$sink30 = 1; + label = 243; + } + } + else if ((label|0) == 8) { + $47 = ((($1)) + 1|0); + $48 = HEAP8[$1>>0]|0; + $$01507 = $47;$$11098 = $$11098$ph;$$11204 = $$11204$ph;$$11310 = $$11310$ph;$$1988 = $$1988$ph;$$1992 = $$1992$ph;$$sink3$shrunk = $48; + label = 9; + } + if ((label|0) == 9) { + $$sink3 = $$sink3$shrunk&255; + $49 = ((($0)) + 8|0); + HEAP32[$49>>2] = $$sink3; + $50 = ($$01507>>>0)<($10>>>0); + if ($50) { + $$31206$ph = $$11204;$$31312$ph = $$11310;$$3990$ph = $$1988;$$3994$ph = $$1992;$$sink1705 = $$01507; + label = 12; + } else { + $$11508 = $$01507;$$21099 = $$11098;$$21205 = $$11204;$$21311 = $$11310;$$2989 = $$1988;$$2993 = $$1992; + label = 10; + } + } + if ((label|0) == 10) { + $51 = $6 & 2; + $52 = ($51|0)==(0); + if ($52) { + $$21509 = $$11508;$$31206 = $$21205;$$31312 = $$21311;$$3990 = $$2989;$$3994 = $$2993;$$sink9$shrunk = 0; + label = 13; + } else { + $$0960 = 1;$$891505 = $35;$$931084 = $$2993;$$931700 = $4;$$951192 = $$21099;$$951298 = $$21205;$$981605 = $$11508;$$99 = $$2989;$$991408 = $$21311;$$sink30 = 2; + label = 243; + } + } + else if ((label|0) == 12) { + $54 = ((($$sink1705)) + 1|0); + $55 = HEAP8[$$sink1705>>0]|0; + $$21509 = $54;$$31206 = $$31206$ph;$$31312 = $$31312$ph;$$3990 = $$3990$ph;$$3994 = $$3994$ph;$$sink9$shrunk = $55; + label = 13; + } + if ((label|0) == 13) { + $$sink9 = $$sink9$shrunk&255; + $56 = ((($0)) + 12|0); + HEAP32[$56>>2] = $$sink9; + $57 = ((($0)) + 8|0); + $58 = HEAP32[$57>>2]|0; + $59 = $58 << 8; + $60 = $59 | $$sink9; + $61 = (($60>>>0) % 31)&-1; + $62 = $$sink9 & 32; + $63 = $61 | $62; + $64 = $58 & 15; + $65 = ($64|0)!=(8); + $not$ = ($63|0)!=(0); + $$1754 = $65 | $not$; + $66 = $58 >>> 4; + $67 = 256 << $66; + $68 = ($67>>>0)>(32768); + $69 = ($20>>>0)<($67>>>0); + $$ = $68 | $69; + $not$1755 = $14 ^ 1; + $70 = $$ & $not$1755; + $$31100$v = $70 | $$1754; + if ($$31100$v) { + $$0960 = -1;$$891505 = $35;$$931084 = $$3994;$$931700 = $4;$$951192 = 1;$$951298 = $$31206;$$981605 = $$21509;$$99 = $$3990;$$991408 = $$31312;$$sink30 = 36; + label = 243; + } else { + $$01416 = $35;$$01607 = $4;$$41511 = $$21509;$$5 = $$3990;$$51102 = 0;$$51208 = $$31206;$$51314 = $$31312;$$5996 = $$3994; + label = 14; + } + } + L46: while(1) { + switch (label|0) { + case 14: { + label = 0; + $71 = ($$5>>>0)<(3); + if ($71) { + $$11417 = $$01416;$$11608 = $$01607;$$51512 = $$41511;$$6 = $$5;$$61103 = $$51102;$$61209 = $$51208;$$61315 = $$51314;$$6997 = $$5996; + label = 15; + } else { + $$41420 = $$01416;$$41611 = $$01607;$$81515 = $$41511;$$9 = $$5;$$91000 = $$5996;$$91106 = $$51102;$$91212 = $$51208;$$91318 = $$51314; + label = 20; + } + break; + } + case 16: { + label = 0; + $73 = $6 & 2; + $74 = ($73|0)==(0); + if ($74) { + $$01413$shrunk = 0;$$31419 = $$21418;$$31610 = $$21609;$$71514 = $$61513;$$8 = $$7;$$81105 = $$71104;$$81211 = $$71210;$$81317 = $$71316;$$8999 = $$7998; + label = 19; + } else { + $$0960 = 1;$$891505 = $$21418;$$931084 = $$7998;$$931700 = $$21609;$$951192 = $$71104;$$951298 = $$71210;$$981605 = $$61513;$$99 = $$7;$$991408 = $$71316;$$sink30 = 3; + label = 243; + continue L46; + } + break; + } + case 18: { + label = 0; + $76 = ((($$sink1710)) + 1|0); + $77 = HEAP8[$$sink1710>>0]|0; + $$01413$shrunk = $77;$$31419 = $$31419$ph;$$31610 = $$31610$ph;$$71514 = $76;$$8 = $$8$ph;$$81105 = $$81105$ph;$$81211 = $$81211$ph;$$81317 = $$81317$ph;$$8999 = $$8999$ph; + label = 19; + break; + } + case 25: { + label = 0; + $97 = $$13 & 7; + $98 = $$131322 >>> $97; + $99 = (($$13) - ($97))|0; + $$131110 = 0;$$131520 = $$121519;$$14 = $99;$$141005 = $$131004;$$141217 = $$131216;$$141323 = $98;$$91425 = $$81424;$$91616 = $$81615; + label = 26; + break; + } + case 30: { + label = 0; + $104 = $6 & 2; + $105 = ($104|0)==(0); + if ($105) { + $$01411$shrunk = 0;$$121428 = $$111427;$$121619 = $$111618;$$161113 = $$151112;$$161523 = $$151522;$$17 = $$16;$$171008 = $$161007;$$171220 = $$161219;$$171326 = $$161325; + label = 33; + } else { + $$0960 = 1;$$891505 = $$111427;$$931084 = $$161007;$$931700 = $$111618;$$951192 = $$151112;$$951298 = $$161219;$$981605 = $$151522;$$99 = $$16;$$991408 = $$161325;$$sink30 = 6; + label = 243; + continue L46; + } + break; + } + case 32: { + label = 0; + $107 = ((($$sink1713)) + 1|0); + $108 = HEAP8[$$sink1713>>0]|0; + $$01411$shrunk = $108;$$121428 = $$121428$ph;$$121619 = $$121619$ph;$$161113 = $$161113$ph;$$161523 = $107;$$17 = $$17$ph;$$171008 = $$171008$ph;$$171220 = $$171220$ph;$$171326 = $$171326$ph; + label = 33; + break; + } + case 36: { + label = 0; + $118 = $6 & 2; + $119 = ($118|0)==(0); + if ($119) { + $$151431 = $$141430;$$151622 = $$141621;$$191116 = $$181115;$$191526 = $$181525;$$20 = $$19;$$201011 = $$191010;$$201223 = $$191222;$$201329 = $$191328;$$sink12 = 0; + label = 39; + continue L46; + } else { + $$0960 = 1;$$891505 = $$141430;$$931084 = $$191010;$$931700 = $$141621;$$951192 = $$181115;$$951298 = $$191222;$$981605 = $$181525;$$99 = $$19;$$991408 = $$191328;$$sink30 = 7; + label = 243; + continue L46; + } + break; + } + case 39: { + label = 0; + $$sink13 = (((($0)) + 10528|0) + ($$191116)|0); + HEAP8[$$sink13>>0] = $$sink12; + $$161432 = $$151431;$$161623 = $$151622;$$201117 = $$191116;$$201527 = $$191526;$$21 = $$20;$$211012 = $$201011;$$211224 = $$201223;$$211330 = $$201329; + label = 41; + break; + } + case 43: { + label = 0; + $$0960 = -1;$$891505 = $$171433;$$931084 = $$221013;$$931700 = $$171624;$$951192 = $$211118;$$951298 = $$221225;$$981605 = $$211528;$$99 = $$22;$$991408 = $$221331;$$sink30 = 39; + label = 243; + continue L46; + break; + } + case 47: { + label = 0; + $150 = $6 & 2; + $151 = ($150|0)==(0); + if ($151) { + $$01410$shrunk = 0;$$211437 = $$201436;$$211628 = $$201627;$$251122 = $$241121;$$251532 = $$241531;$$26 = $$25;$$261017 = $$251016;$$261229 = $$251228;$$261335 = $$251334; + label = 50; + } else { + $$0960 = 1;$$891505 = $$201436;$$931084 = $$251016;$$931700 = $$201627;$$951192 = $$241121;$$951298 = $$251228;$$981605 = $$241531;$$99 = $$25;$$991408 = $$251334;$$sink30 = 51; + label = 243; + continue L46; + } + break; + } + case 49: { + label = 0; + $153 = ((($$sink1716)) + 1|0); + $154 = HEAP8[$$sink1716>>0]|0; + $$01410$shrunk = $154;$$211437 = $$211437$ph;$$211628 = $$211628$ph;$$251122 = $$251122$ph;$$251532 = $153;$$26 = $$26$ph;$$261017 = $$261017$ph;$$261229 = $$261229$ph;$$261335 = $$261335$ph; + label = 50; + break; + } + case 52: { + label = 0; + $162 = ($$231630>>>0)<($12>>>0); + if (!($162)) { + $$0960 = 2;$$891505 = $$231439;$$931084 = $$271018;$$931700 = $$231630;$$951192 = $$271124;$$951298 = $$281231;$$981605 = $$271534;$$99 = $$28;$$991408 = $$281337;$$sink30 = 52; + label = 243; + continue L46; + } + $163 = $$271018&255; + $164 = ((($$231630)) + 1|0); + HEAP8[$$231630>>0] = $163; + $165 = (($$271124) + -1)|0; + $$181434 = $$231439;$$181625 = $164;$$221119 = $165;$$221529 = $$271534;$$23 = $$28;$$231014 = $$271018;$$231226 = $$281231;$$231332 = $$281337; + label = 44; + break; + } + case 55: { + label = 0; + $167 = ($$251632>>>0)<($12>>>0); + if ($167) { + $$261442 = $$251441;$$261633 = $$251632;$$301021 = $$291020;$$301127 = $$291126;$$301537 = $$291536;$$31 = $$30;$$311234 = $$301233;$$311340 = $$301339; + label = 56; + continue L46; + } else { + $$0960 = 2;$$891505 = $$251441;$$931084 = $$291020;$$931700 = $$251632;$$951192 = $$291126;$$951298 = $$301233;$$981605 = $$291536;$$99 = $$30;$$991408 = $$301339;$$sink30 = 9; + label = 243; + continue L46; + } + break; + } + case 56: { + label = 0; + $168 = ($$301537>>>0)<($10>>>0); + if ($168) { + $171 = $12; + $172 = $$261633; + $173 = (($171) - ($172))|0; + $174 = $10; + $175 = $$301537; + $176 = (($174) - ($175))|0; + $177 = ($173>>>0)<($176>>>0); + $$sink17 = $177 ? $12 : $10; + $$sink16 = $177 ? $$261633 : $$301537; + $178 = $$sink17; + $179 = $$sink16; + $180 = (($178) - ($179))|0; + $181 = ($180>>>0)<($$301127>>>0); + $$$301127 = $181 ? $180 : $$301127; + _memcpy(($$261633|0),($$301537|0),($$$301127|0))|0; + $182 = (($$301537) + ($$$301127)|0); + $183 = (($$261633) + ($$$301127)|0); + $184 = (($$301127) - ($$$301127))|0; + $$241440 = $$261442;$$241631 = $183;$$281019 = $$301021;$$281125 = $184;$$281535 = $182;$$29 = $$31;$$291232 = $$311234;$$291338 = $$311340; + label = 54; + break; + } else { + $169 = $6 & 2; + $170 = ($169|0)==(0); + if ($170) { + $$271443 = $$261442;$$271634 = $$261633;$$311022 = $$301021;$$311128 = $$301127;$$311538 = $$301537;$$32 = $$31;$$321235 = $$311234;$$321341 = $$311340; + label = 58; + continue L46; + } else { + $$0960 = 1;$$891505 = $$261442;$$931084 = $$301021;$$931700 = $$261633;$$951192 = $$301127;$$951298 = $$311234;$$981605 = $$301537;$$99 = $$31;$$991408 = $$311340;$$sink30 = 38; + label = 243; + continue L46; + } + } + break; + } + case 58: { + label = 0; + $$0960 = -1;$$891505 = $$271443;$$931084 = $$311022;$$931700 = $$271634;$$951192 = $$311128;$$951298 = $$321235;$$981605 = $$311538;$$99 = $$32;$$991408 = $$321341;$$sink30 = 40; + label = 243; + continue L46; + break; + } + case 60: { + label = 0; + $$0960 = -1;$$891505 = $$281444;$$931084 = $$321023;$$931700 = $$281635;$$951192 = $$321129;$$951298 = $$331236;$$981605 = $$321539;$$99 = $$33;$$991408 = $$331342;$$sink30 = 10; + label = 243; + continue L46; + break; + } + case 64: { + label = 0; + $191 = $6 & 2; + $192 = ($191|0)==(0); + if ($192) { + $$01300$shrunk = 0;$$321448 = $$311447;$$321639 = $$311638;$$361027 = $$351026;$$361133 = $$351132;$$361543 = $$351542;$$37 = $$36;$$371240 = $$361239;$$371346 = $$361345; + label = 67; + } else { + $$0960 = 1;$$891505 = $$311447;$$931084 = $$351026;$$931700 = $$311638;$$951192 = $$351132;$$951298 = $$361239;$$981605 = $$351542;$$99 = $$36;$$991408 = $$361345;$$sink30 = 11; + label = 243; + continue L46; + } + break; + } + case 66: { + label = 0; + $194 = ((($$sink1719)) + 1|0); + $195 = HEAP8[$$sink1719>>0]|0; + $$01300$shrunk = $195;$$321448 = $$321448$ph;$$321639 = $$321639$ph;$$361027 = $$361027$ph;$$361133 = $$361133$ph;$$361543 = $194;$$37 = $$37$ph;$$371240 = $$371240$ph;$$371346 = $$371346$ph; + label = 67; + break; + } + case 73: { + label = 0; + $222 = $6 & 2; + $223 = ($222|0)==(0); + if ($223) { + $$01202$shrunk = 0;$$371453 = $$361452;$$371644 = $$361643;$$411032 = $$401031;$$411138 = $$401137;$$411548 = $$401547;$$42 = $$41;$$421245 = $$411244;$$421351 = $$411350; + label = 76; + } else { + $$0960 = 1;$$891505 = $$361452;$$931084 = $$401031;$$931700 = $$361643;$$951192 = $$401137;$$951298 = $$411244;$$981605 = $$401547;$$99 = $$41;$$991408 = $$411350;$$sink30 = 14; + label = 243; + continue L46; + } + break; + } + case 75: { + label = 0; + $225 = ((($$sink1722)) + 1|0); + $226 = HEAP8[$$sink1722>>0]|0; + $$01202$shrunk = $226;$$371453 = $$371453$ph;$$371644 = $$371644$ph;$$411032 = $$411032$ph;$$411138 = $$411138$ph;$$411548 = $225;$$42 = $$42$ph;$$421245 = $$421245$ph;$$421351 = $$421351$ph; + label = 76; + break; + } + case 86: { + label = 0; + $$0960 = -1;$$891505 = $$401456;$$931084 = $$441035;$$931700 = $$401647;$$951192 = $$441141;$$951298 = $$451248;$$981605 = $$441551;$$99 = $$45;$$991408 = $$451354;$$sink30 = 35; + label = 243; + continue L46; + break; + } + case 114: { + label = 0; + $450 = $6 & 2; + $451 = ($450|0)==(0); + if ($451) { + $$0980$shrunk = 0;$$441460 = $$431459;$$441651 = $$431650;$$481039 = $$471038;$$481145 = $$471144;$$481555 = $$471554;$$49 = $$48;$$491252 = $$481251;$$491358 = $$481357; + label = 117; + } else { + $$0960 = 1;$$891505 = $$431459;$$931084 = $$471038;$$931700 = $$431650;$$951192 = $$471144;$$951298 = $$481251;$$981605 = $$471554;$$99 = $$48;$$991408 = $$481357;$$sink30 = 16; + label = 243; + continue L46; + } + break; + } + case 116: { + label = 0; + $453 = ((($$sink1729)) + 1|0); + $454 = HEAP8[$$sink1729>>0]|0; + $$0980$shrunk = $454;$$441460 = $$441460$ph;$$441651 = $$441651$ph;$$481039 = $$481039$ph;$$481145 = $$481145$ph;$$481555 = $453;$$49 = $$49$ph;$$491252 = $$491252$ph;$$491358 = $$491358$ph; + label = 117; + break; + } + case 125: { + label = 0; + $$0960 = -1;$$891505 = $$461462;$$931084 = $$491040;$$931700 = $$461653;$$951192 = $$501147;$$951298 = $$511254;$$981605 = $$501557;$$99 = $$51;$$991408 = $$511360;$$sink30 = 17; + label = 243; + continue L46; + break; + } + case 128: { + label = 0; + $501 = $6 & 2; + $502 = ($501|0)==(0); + if ($502) { + $$0979$shrunk = 0;$$491465 = $$481464;$$491656 = $$481655;$$521043 = $$511042;$$531150 = $$521149;$$531560 = $$521559;$$54 = $$53;$$541257 = $$531256;$$541363 = $$531362; + label = 131; + } else { + $$0960 = 1;$$891505 = $$481464;$$931084 = $$511042;$$931700 = $$481655;$$951192 = $$521149;$$951298 = $$531256;$$981605 = $$521559;$$99 = $$53;$$991408 = $$531362;$$sink30 = 18; + label = 243; + continue L46; + } + break; + } + case 130: { + label = 0; + $504 = ((($$sink1732)) + 1|0); + $505 = HEAP8[$$sink1732>>0]|0; + $$0979$shrunk = $505;$$491465 = $$491465$ph;$$491656 = $$491656$ph;$$521043 = $$521043$ph;$$531150 = $$531150$ph;$$531560 = $504;$$54 = $$54$ph;$$541257 = $$541257$ph;$$541363 = $$541363$ph; + label = 131; + break; + } + case 136: { + label = 0; + $$0960 = -1;$$891505 = $$511467;$$931084 = $$541045;$$931700 = $$511658;$$951192 = $$551152;$$951298 = $$561259;$$981605 = $$551562;$$99 = $$56;$$991408 = $$561365;$$sink30 = 21; + label = 243; + continue L46; + break; + } + case 151: { + label = 0; + $570 = $6 & 2; + $571 = ($570|0)==(0); + if ($571) { + $$0971$shrunk = 0;$$571473 = $$561472;$$571664 = $$561663;$$601051 = $$591050;$$611158 = $$601157;$$611568 = $$601567;$$62 = $$61;$$621265 = $$611264;$$621371 = $$611370; + label = 154; + } else { + $$0960 = 1;$$891505 = $$561472;$$931084 = $$591050;$$931700 = $$561663;$$951192 = $$601157;$$951298 = $$611264;$$981605 = $$601567;$$99 = $$61;$$991408 = $$611370;$$sink30 = 23; + label = 243; + continue L46; + } + break; + } + case 153: { + label = 0; + $573 = ((($$sink1736)) + 1|0); + $574 = HEAP8[$$sink1736>>0]|0; + $$0971$shrunk = $574;$$571473 = $$571473$ph;$$571664 = $$571664$ph;$$601051 = $$601051$ph;$$611158 = $$611158$ph;$$611568 = $573;$$62 = $$62$ph;$$621265 = $$621265$ph;$$621371 = $$621371$ph; + label = 154; + break; + } + case 160: { + label = 0; + $610 = ($$591666>>>0)<($12>>>0); + if (!($610)) { + $$0960 = 2;$$891505 = $$591475;$$931084 = $$621053;$$931700 = $$591666;$$951192 = $$621159;$$951298 = $$641267;$$981605 = $$631570;$$99 = $$64;$$991408 = $$641373;$$sink30 = 24; + label = 243; + continue L46; + } + $611 = $$621159&255; + $612 = ((($$591666)) + 1|0); + HEAP8[$$591666>>0] = $611; + $$541470$ph = $$591475;$$541661$ph = $612;$$571048$ph = $$621053;$$581155$ph = $$621159;$$581565$ph = $$631570;$$59$ph = $$64;$$591262$ph = $$641267;$$591368$ph = $$641373; + label = 140; + break; + } + case 180: { + label = 0; + $694 = $6 & 2; + $695 = ($694|0)==(0); + if ($695) { + $$0959$shrunk = 0;$$631479 = $$621478;$$641671 = $$631670;$$661057 = $$651056;$$671164 = $$661163;$$681271 = $$671270;$$701577 = $$691576;$$71 = $$70;$$711380 = $$701379; + label = 183; + } else { + $$0960 = 1;$$891505 = $$621478;$$931084 = $$651056;$$931700 = $$631670;$$951192 = $$661163;$$951298 = $$671270;$$981605 = $$691576;$$99 = $$70;$$991408 = $$701379;$$sink30 = 25; + label = 243; + continue L46; + } + break; + } + case 182: { + label = 0; + $697 = ((($$sink1739)) + 1|0); + $698 = HEAP8[$$sink1739>>0]|0; + $$0959$shrunk = $698;$$631479 = $$631479$ph;$$641671 = $$641671$ph;$$661057 = $$661057$ph;$$671164 = $$671164$ph;$$681271 = $$681271$ph;$$701577 = $697;$$71 = $$71$ph;$$711380 = $$711380$ph; + label = 183; + break; + } + case 193: { + label = 0; + $735 = $6 & 2; + $736 = ($735|0)==(0); + if ($736) { + $$0952$shrunk = 0;$$681484 = $$671483;$$691676 = $$681675;$$711062 = $$701061;$$721169 = $$711168;$$731276 = $$721275;$$751582 = $$741581;$$76 = $$75;$$761385 = $$751384; + label = 196; + } else { + $$0960 = 1;$$891505 = $$671483;$$931084 = $$701061;$$931700 = $$681675;$$951192 = $$711168;$$951298 = $$721275;$$981605 = $$741581;$$99 = $$75;$$991408 = $$751384;$$sink30 = 26; + label = 243; + continue L46; + } + break; + } + case 195: { + label = 0; + $738 = ((($$sink1743)) + 1|0); + $739 = HEAP8[$$sink1743>>0]|0; + $$0952$shrunk = $739;$$681484 = $$681484$ph;$$691676 = $$691676$ph;$$711062 = $$711062$ph;$$721169 = $$721169$ph;$$731276 = $$731276$ph;$$751582 = $738;$$76 = $$76$ph;$$761385 = $$761385$ph; + label = 196; + break; + } + case 204: { + label = 0; + $782 = $6 & 2; + $783 = ($782|0)==(0); + if ($783) { + $$0950$shrunk = 0;$$721488 = $$711487;$$731680 = $$721679;$$741065 = $$731064;$$761173 = $$751172;$$761279 = $$751278;$$791586 = $$781585;$$80 = $$79;$$801389 = $$791388; + label = 207; + } else { + $$0960 = 1;$$891505 = $$711487;$$931084 = $$731064;$$931700 = $$721679;$$951192 = $$751172;$$951298 = $$751278;$$981605 = $$781585;$$99 = $$79;$$991408 = $$791388;$$sink30 = 27; + label = 243; + continue L46; + } + break; + } + case 206: { + label = 0; + $785 = ((($$sink1746)) + 1|0); + $786 = HEAP8[$$sink1746>>0]|0; + $$0950$shrunk = $786;$$721488 = $$721488$ph;$$731680 = $$731680$ph;$$741065 = $$741065$ph;$$761173 = $$761173$ph;$$761279 = $$761279$ph;$$791586 = $785;$$80 = $$80$ph;$$801389 = $$801389$ph; + label = 207; + break; + } + case 210: { + label = 0; + $$0960 = -1;$$891505 = $$731489;$$931084 = $$771068;$$931700 = $$761683;$$951192 = $$791176;$$951298 = $$791282;$$981605 = $$821589;$$99 = $$83;$$991408 = $$831392;$$sink30 = 37; + label = 243; + continue L46; + break; + } + case 213: { + label = 0; + $809 = ($$781685>>>0)<($12>>>0); + if (!($809)) { + $$0960 = 2;$$891505 = $$751491;$$931084 = $$791070;$$931700 = $$781685;$$951192 = $$811178;$$951298 = $$811284;$$981605 = $$841591;$$99 = $$85;$$991408 = $$851394;$$sink30 = 53; + label = 243; + continue L46; + } + $810 = (($$751491) + 1)|0; + $811 = (($$751491) - ($$791070))|0; + $812 = $811 & $$1753; + $813 = (($3) + ($812)|0); + $814 = HEAP8[$813>>0]|0; + $815 = ((($$781685)) + 1|0); + HEAP8[$$781685>>0] = $814; + $$741490 = $810;$$771684 = $815;$$781069 = $$791070;$$801177 = $$811178;$$801283 = $$811284;$$831590 = $$841591;$$84 = $$85;$$841393 = $$851394; + label = 212; + break; + } + case 226: { + label = 0; + $849 = $$90 & 7; + $850 = $$901399 >>> $849; + $851 = (($$90) - ($849))|0; + $$811497 = $$801496;$$851076 = $$841075;$$851692 = $$841691;$$871184 = 0;$$871290 = $$861289;$$901597 = $$891596;$$91 = $851;$$911400 = $850; + label = 227; + break; + } + case 231: { + label = 0; + $856 = $6 & 2; + $857 = ($856|0)==(0); + if ($857) { + $$0947$shrunk = 0;$$841500 = $$831499;$$881079 = $$871078;$$881695 = $$871694;$$901187 = $$891186;$$901293 = $$891292;$$931600 = $$921599;$$94 = $$93;$$941403 = $$931402; + label = 234; + } else { + $$0960 = 1;$$891505 = $$831499;$$931084 = $$871078;$$931700 = $$871694;$$951192 = $$891186;$$951298 = $$891292;$$981605 = $$921599;$$99 = $$93;$$991408 = $$931402;$$sink30 = 41; + label = 243; + continue L46; + } + break; + } + case 233: { + label = 0; + $859 = ((($$sink1750)) + 1|0); + $860 = HEAP8[$$sink1750>>0]|0; + $$0947$shrunk = $860;$$841500 = $$841500$ph;$$881079 = $$881079$ph;$$881695 = $$881695$ph;$$901187 = $$901187$ph;$$901293 = $$901293$ph;$$931600 = $859;$$94 = $$94$ph;$$941403 = $$941403$ph; + label = 234; + break; + } + case 237: { + label = 0; + $869 = $6 & 2; + $870 = ($869|0)==(0); + if ($870) { + $$0948 = 0;$$871503 = $$861502;$$911082 = $$901081;$$911698 = $$901697;$$931190 = $$921189;$$931296 = $$921295;$$961603 = $$951602;$$97 = $$96;$$971406 = $$961405; + label = 241; + continue L46; + } else { + $$0960 = 1;$$891505 = $$861502;$$931084 = $$901081;$$931700 = $$901697;$$951192 = $$921189;$$951298 = $$921295;$$981605 = $$951602;$$99 = $$96;$$991408 = $$961405;$$sink30 = 42; + label = 243; + continue L46; + } + break; + } + case 241: { + label = 0; + $878 = ((($0)) + 16|0); + $879 = HEAP32[$878>>2]|0; + $880 = $879 << 8; + $881 = $880 | $$0948; + HEAP32[$878>>2] = $881; + $882 = (($$931190) + 1)|0; + $$811497 = $$871503;$$851076 = $$911082;$$851692 = $$911698;$$871184 = $882;$$871290 = $$931296;$$901597 = $$961603;$$91 = $$97;$$911400 = $$971406; + label = 227; + break; + } + case 242: { + label = 0; + $$0960 = 0;$$891505 = $$881504;$$931084 = $$921083;$$931700 = $$921699;$$951192 = $$941191;$$951298 = $$941297;$$981605 = $$971604;$$99 = $$98;$$991408 = $$981407;$$sink30 = 34; + label = 243; + continue L46; + break; + } + case 243: { + label = 0; + HEAP32[$0>>2] = $$sink30; + $$100 = $$99;$$1001409 = $$991408;$$1961 = $$0960;$$901506 = $$891505;$$941085 = $$931084;$$941701 = $$931700;$$961193 = $$951192;$$961299 = $$951298;$$991606 = $$981605; + label = 244; + continue L46; + break; + } + case 244: { + label = 0; + HEAP32[$24>>2] = $$100; + HEAP32[$26>>2] = $$1001409; + HEAP32[$28>>2] = $$941085; + HEAP32[$30>>2] = $$961193; + HEAP32[$32>>2] = $$961299; + HEAP32[$34>>2] = $$901506; + $883 = $$991606; + $884 = $1; + $885 = (($883) - ($884))|0; + HEAP32[$2>>2] = $885; + $886 = $$941701; + $887 = $4; + $888 = (($886) - ($887))|0; + HEAP32[$5>>2] = $888; + $889 = $6 & 9; + $890 = ($889|0)!=(0); + $891 = ($$1961|0)>(-1); + $or$cond29 = $890 & $891; + if ($or$cond29) { + break L46; + } else { + $$0951 = $$1961; + label = 258; + break L46; + } + break; + } + } + switch (label|0) { + case 19: { + label = 0; + $$01413 = $$01413$shrunk&255; + $78 = $$01413 << $$8; + $79 = $78 | $$81317; + $80 = (($$8) + 8)|0; + $81 = ($80>>>0)<(3); + if ($81) { + $$11417 = $$31419;$$11608 = $$31610;$$51512 = $$71514;$$6 = $80;$$61103 = $$81105;$$61209 = $$81211;$$61315 = $79;$$6997 = $$8999; + label = 15; + } else { + $$41420 = $$31419;$$41611 = $$31610;$$81515 = $$71514;$$9 = $80;$$91000 = $$8999;$$91106 = $$81105;$$91212 = $$81211;$$91318 = $79; + label = 20; + } + break; + } + case 33: { + label = 0; + $$01411 = $$01411$shrunk&255; + $109 = $$01411 << $$17; + $110 = $109 | $$171326; + $111 = (($$17) + 8)|0; + $112 = ($$17>>>0)>(4294967287); + if ($112) { + $$101426 = $$121428;$$101617 = $$121619;$$141111 = $$161113;$$141521 = $$161523;$$15 = $111;$$151006 = $$171008;$$151218 = $$171220;$$151324 = $110; + label = 29; + } else { + $$131429 = $$121428;$$131620 = $$121619;$$171114 = $$161113;$$171524 = $$161523;$$18 = $111;$$181009 = $$171008;$$181221 = $$171220;$$181327 = $110; + label = 34; + } + break; + } + case 50: { + label = 0; + $$01410 = $$01410$shrunk&255; + $155 = $$01410 << $$26; + $156 = $155 | $$261335; + $157 = (($$26) + 8)|0; + $158 = ($$26>>>0)>(4294967287); + if ($158) { + $$191435 = $$211437;$$191626 = $$211628;$$231120 = $$251122;$$231530 = $$251532;$$24 = $157;$$241015 = $$261017;$$241227 = $$261229;$$241333 = $156; + label = 46; + } else { + $$221438 = $$211437;$$221629 = $$211628;$$261123 = $$251122;$$261533 = $$251532;$$27 = $157;$$271230 = $$261229;$$271336 = $156; + label = 51; + } + break; + } + case 67: { + label = 0; + $$01300 = $$01300$shrunk&255; + $196 = $$01300 << $$37; + $197 = $196 | $$371346; + $198 = (($$37) + 8)|0; + $199 = (15773 + ($$361133)|0); + $200 = HEAP8[$199>>0]|0; + $201 = $200 << 24 >> 24; + $202 = ($198>>>0)<($201>>>0); + if ($202) { + $$301446 = $$321448;$$301637 = $$321639;$$341025 = $$361027;$$341131 = $$361133;$$341541 = $$361543;$$35 = $198;$$351238 = $$371240;$$351344 = $197; + label = 63; + } else { + $$331449 = $$321448;$$331640 = $$321639;$$371028 = $$361027;$$371134 = $$361133;$$371544 = $$361543;$$38 = $198;$$381241 = $$371240;$$381347 = $197; + label = 68; + } + break; + } + case 76: { + label = 0; + $$01202 = $$01202$shrunk&255; + $227 = $$01202 << $$42; + $228 = $227 | $$421351; + $229 = (($$42) + 8)|0; + $230 = ($229>>>0)<(3); + if ($230) { + $$351451 = $$371453;$$351642 = $$371644;$$391030 = $$411032;$$391136 = $$411138;$$391546 = $$411548;$$40 = $229;$$401243 = $$421245;$$401349 = $228; + label = 72; + } else { + $$381454 = $$371453;$$381645 = $$371644;$$421033 = $$411032;$$421139 = $$411138;$$421549 = $$411548;$$43 = $229;$$431246 = $$421245;$$431352 = $228; + label = 77; + } + break; + } + case 117: { + label = 0; + $$0980 = $$0980$shrunk&255; + $455 = $$0980 << $$49; + $456 = $455 | $$491358; + $457 = (($$49) + 8)|0; + $458 = ($457>>>0)<(15); + if ($458) { + $$421458 = $$441460;$$421649 = $$441651;$$461037 = $$481039;$$461143 = $$481145;$$461553 = $$481555;$$47 = $457;$$471250 = $$491252;$$471356 = $456; + label = 108; + } else { + $$451461 = $$441460;$$451652 = $$441651;$$491146 = $$481145;$$491556 = $$481555;$$50 = $457;$$501253 = $$491252;$$501359 = $456; + label = 119; + } + break; + } + case 131: { + label = 0; + $$0979 = $$0979$shrunk&255; + $506 = $$0979 << $$54; + $507 = $506 | $$541363; + $508 = (($$54) + 8)|0; + $509 = ($508>>>0)<($$541257>>>0); + if ($509) { + $$471463 = $$491465;$$471654 = $$491656;$$501041 = $$521043;$$511148 = $$531150;$$511558 = $$531560;$$52 = $508;$$521255 = $$541257;$$521361 = $507; + label = 127; + } else { + $$501466 = $$491465;$$501657 = $$491656;$$531044 = $$521043;$$541151 = $$531150;$$541561 = $$531560;$$55 = $508;$$551258 = $$541257;$$551364 = $507; + label = 132; + } + break; + } + case 154: { + label = 0; + $$0971 = $$0971$shrunk&255; + $575 = $$0971 << $$62; + $576 = $575 | $$621371; + $577 = (($$62) + 8)|0; + $578 = ($577>>>0)<(15); + if ($578) { + $$551471 = $$571473;$$551662 = $$571664;$$581049 = $$601051;$$591156 = $$611158;$$591566 = $$611568;$$60 = $577;$$601263 = $$621265;$$601369 = $576; + label = 145; + } else { + $$581474 = $$571473;$$581665 = $$571664;$$611052 = $$601051;$$621569 = $$611568;$$63 = $577;$$631266 = $$621265;$$631372 = $576; + label = 156; + } + break; + } + case 183: { + label = 0; + $$0959 = $$0959$shrunk&255; + $699 = $$0959 << $$71; + $700 = $699 | $$711380; + $701 = (($$71) + 8)|0; + $702 = ($701>>>0)<($$681271>>>0); + if ($702) { + $$611477 = $$631479;$$621669 = $$641671;$$641055 = $$661057;$$651162 = $$671164;$$661269 = $$681271;$$681575 = $$701577;$$69 = $701;$$691378 = $700; + label = 179; + } else { + $$641480 = $$631479;$$651672 = $$641671;$$671058 = $$661057;$$681165 = $$671164;$$691272 = $$681271;$$711578 = $$701577;$$72 = $701;$$721381 = $700; + label = 184; + } + break; + } + case 196: { + label = 0; + $$0952 = $$0952$shrunk&255; + $740 = $$0952 << $$76; + $741 = $740 | $$761385; + $742 = (($$76) + 8)|0; + $743 = ($742>>>0)<(15); + if ($743) { + $$661482 = $$681484;$$671674 = $$691676;$$691060 = $$711062;$$701167 = $$721169;$$711274 = $$731276;$$731580 = $$751582;$$74 = $742;$$741383 = $741; + label = 187; + } else { + $$691485 = $$681484;$$701677 = $$691676;$$731170 = $$721169;$$761583 = $$751582;$$77 = $742;$$771386 = $741; + label = 198; + } + break; + } + case 207: { + label = 0; + $$0950 = $$0950$shrunk&255; + $787 = $$0950 << $$80; + $788 = $787 | $$801389; + $789 = (($$80) + 8)|0; + $790 = ($789>>>0)<($$761279>>>0); + if ($790) { + $$701486 = $$721488;$$711678 = $$731680;$$721063 = $$741065;$$741171 = $$761173;$$741277 = $$761279;$$771584 = $$791586;$$78 = $789;$$781387 = $788; + label = 203; + } else { + $$741681 = $$731680;$$751066 = $$741065;$$771174 = $$761173;$$771280 = $$761279;$$801587 = $$791586;$$81 = $789;$$811390 = $788; + label = 208; + } + break; + } + case 227: { + label = 0; + $852 = ($$871184>>>0)<(4); + if (!($852)) { + $$881504 = $$811497;$$921083 = $$851076;$$921699 = $$851692;$$941191 = $$871184;$$941297 = $$871290;$$971604 = $$901597;$$98 = $$91;$$981407 = $$911400; + label = 242; + continue L46; + } + $853 = ($$91|0)==(0); + if (!($853)) { + $854 = ($$91>>>0)<(8); + if ($854) { + $$821498 = $$811497;$$861077 = $$851076;$$861693 = $$851692;$$881185 = $$871184;$$881291 = $$871290;$$911598 = $$901597;$$92 = $$91;$$921401 = $$911400; + label = 230; + break; + } else { + $$851501 = $$811497;$$891080 = $$851076;$$891696 = $$851692;$$911188 = $$871184;$$911294 = $$871290;$$941601 = $$901597;$$95 = $$91;$$951404 = $$911400; + label = 235; + break; + } + } + $868 = ($$901597>>>0)<($10>>>0); + if (!($868)) { + $$861502 = $$811497;$$901081 = $$851076;$$901697 = $$851692;$$921189 = $$871184;$$921295 = $$871290;$$951602 = $$901597;$$96 = 0;$$961405 = $$911400; + label = 237; + continue L46; + } + $875 = ((($$901597)) + 1|0); + $876 = HEAP8[$$901597>>0]|0; + $877 = $876&255; + $$0948 = $877;$$871503 = $$811497;$$911082 = $$851076;$$911698 = $$851692;$$931190 = $$871184;$$931296 = $$871290;$$961603 = $875;$$97 = 0;$$971406 = $$911400; + label = 241; + continue L46; + break; + } + case 234: { + label = 0; + $$0947 = $$0947$shrunk&255; + $861 = $$0947 << $$94; + $862 = $861 | $$941403; + $863 = (($$94) + 8)|0; + $864 = ($$94>>>0)>(4294967287); + if ($864) { + $$821498 = $$841500;$$861077 = $$881079;$$861693 = $$881695;$$881185 = $$901187;$$881291 = $$901293;$$911598 = $$931600;$$92 = $863;$$921401 = $862; + label = 230; + } else { + $$851501 = $$841500;$$891080 = $$881079;$$891696 = $$881695;$$911188 = $$901187;$$911294 = $$901293;$$941601 = $$931600;$$95 = $863;$$951404 = $862; + label = 235; + } + break; + } + } + L119: do { + if ((label|0) == 15) { + label = 0; + $72 = ($$51512>>>0)<($10>>>0); + if ($72) { + $$31419$ph = $$11417;$$31610$ph = $$11608;$$8$ph = $$6;$$81105$ph = $$61103;$$81211$ph = $$61209;$$81317$ph = $$61315;$$8999$ph = $$6997;$$sink1710 = $$51512; + label = 18; + continue L46; + } else { + $$21418 = $$11417;$$21609 = $$11608;$$61513 = $$51512;$$7 = $$6;$$71104 = $$61103;$$71210 = $$61209;$$71316 = $$61315;$$7998 = $$6997; + label = 16; + continue L46; + } + } + else if ((label|0) == 20) { + label = 0; + $82 = $$91318 & 7; + $83 = ((($0)) + 20|0); + HEAP32[$83>>2] = $82; + $84 = $$91318 >>> 3; + $85 = (($$9) + -3)|0; + $86 = $82 >>> 1; + $87 = ((($0)) + 24|0); + HEAP32[$87>>2] = $86; + $trunc = $86&255; + $trunc$clear = $trunc & 3; + switch ($trunc$clear<<24>>24) { + case 0: { + $$121519 = $$81515;$$13 = $85;$$131004 = $$91000;$$131216 = $$91212;$$131322 = $84;$$81424 = $$41420;$$81615 = $$41611; + label = 25; + continue L46; + break; + } + case 3: { + $$281444 = $$41420;$$281635 = $$41611;$$321023 = $$91000;$$321129 = $$91106;$$321539 = $$81515;$$33 = $85;$$331236 = $$91212;$$331342 = $84; + label = 60; + continue L46; + break; + } + case 1: { + break; + } + default: { + $$291445 = $$41420;$$291636 = $$41611;$$331024 = $$91000;$$331130 = 0;$$331540 = $$81515;$$34 = $85;$$341237 = $$91212;$$341343 = $84; + label = 61; + break L119; + } + } + $240 = ((($0)) + 44|0); + HEAP32[$240>>2] = 288; + $241 = ((($0)) + 48|0); + HEAP32[$241>>2] = 32; + $242 = ((($0)) + 3552|0); + ;HEAP32[$242>>2]=84215045|0;HEAP32[$242+4>>2]=84215045|0;HEAP32[$242+8>>2]=84215045|0;HEAP32[$242+12>>2]=84215045|0;HEAP32[$242+16>>2]=84215045|0;HEAP32[$242+20>>2]=84215045|0;HEAP32[$242+24>>2]=84215045|0;HEAP32[$242+28>>2]=84215045|0; + $scevgep19611962 = ((($0)) + 64|0); + _memset(($scevgep19611962|0),8,144)|0; + $scevgep1959 = ((($0)) + 208|0); + dest=$scevgep1959; stop=dest+112|0; do { HEAP8[dest>>0]=9|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); + $scevgep1957 = ((($0)) + 320|0); + dest=$scevgep1957; stop=dest+24|0; do { HEAP8[dest>>0]=7|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); + $scevgep1955 = ((($0)) + 344|0); + $243 = $scevgep1955; + $244 = $243; + HEAP8[$244>>0]=134744072&255;HEAP8[$244+1>>0]=(134744072>>8)&255;HEAP8[$244+2>>0]=(134744072>>16)&255;HEAP8[$244+3>>0]=134744072>>24; + $245 = (($243) + 4)|0; + $246 = $245; + HEAP8[$246>>0]=134744072&255;HEAP8[$246+1>>0]=(134744072>>8)&255;HEAP8[$246+2>>0]=(134744072>>16)&255;HEAP8[$246+3>>0]=134744072>>24; + $$391455 = $$41420;$$391646 = $$41611;$$431034 = $$91000;$$431140 = $$91106;$$431550 = $$81515;$$44 = $85;$$441247 = $$91212;$$441353 = $84; + label = 80; + } + else if ((label|0) == 230) { + label = 0; + $855 = ($$911598>>>0)<($10>>>0); + if ($855) { + $$841500$ph = $$821498;$$881079$ph = $$861077;$$881695$ph = $$861693;$$901187$ph = $$881185;$$901293$ph = $$881291;$$94$ph = $$92;$$941403$ph = $$921401;$$sink1750 = $$911598; + label = 233; + continue L46; + } else { + $$831499 = $$821498;$$871078 = $$861077;$$871694 = $$861693;$$891186 = $$881185;$$891292 = $$881291;$$921599 = $$911598;$$93 = $$92;$$931402 = $$921401; + label = 231; + continue L46; + } + } + else if ((label|0) == 235) { + label = 0; + $865 = $$951404 & 255; + $866 = $$951404 >>> 8; + $867 = (($$95) + -8)|0; + $$0948 = $865;$$871503 = $$851501;$$911082 = $$891080;$$911698 = $$891696;$$931190 = $$911188;$$931296 = $$911294;$$961603 = $$941601;$$97 = $867;$$971406 = $866; + label = 241; + continue L46; + } + } while(0); + L125: while(1) { + L126: switch (label|0) { + case 26: { + label = 0; + $100 = ($$131110>>>0)<(4); + if (!($100)) { + $127 = ((($0)) + 10528|0); + $128 = HEAP8[$127>>0]|0; + $129 = $128&255; + $130 = ((($0)) + 10529|0); + $131 = HEAP8[$130>>0]|0; + $132 = $131&255; + $133 = $132 << 8; + $134 = $133 | $129; + $135 = ((($0)) + 10530|0); + $136 = HEAP8[$135>>0]|0; + $137 = $136&255; + $138 = ((($0)) + 10531|0); + $139 = HEAP8[$138>>0]|0; + $140 = $139&255; + $141 = $140 << 8; + $142 = $141 | $137; + $143 = $142 ^ 65535; + $144 = ($134|0)==($143|0); + if ($144) { + $$181434 = $$91425;$$181625 = $$91616;$$221119 = $134;$$221529 = $$131520;$$23 = $$14;$$231014 = $$141005;$$231226 = $$141217;$$231332 = $$141323; + label = 44; + continue L125; + } else { + $$171433 = $$91425;$$171624 = $$91616;$$211118 = $134;$$211528 = $$131520;$$22 = $$14;$$221013 = $$141005;$$221225 = $$141217;$$221331 = $$141323; + label = 43; + continue L46; + } + } + $101 = ($$14|0)==(0); + if (!($101)) { + $102 = ($$14>>>0)<(8); + if ($102) { + $$101426 = $$91425;$$101617 = $$91616;$$141111 = $$131110;$$141521 = $$131520;$$15 = $$14;$$151006 = $$141005;$$151218 = $$141217;$$151324 = $$141323; + label = 29; + continue L125; + } else { + $$131429 = $$91425;$$131620 = $$91616;$$171114 = $$131110;$$171524 = $$131520;$$18 = $$14;$$181009 = $$141005;$$181221 = $$141217;$$181327 = $$141323; + label = 34; + continue L125; + } + } + $117 = ($$131520>>>0)<($10>>>0); + if (!($117)) { + $$141430 = $$91425;$$141621 = $$91616;$$181115 = $$131110;$$181525 = $$131520;$$19 = 0;$$191010 = $$141005;$$191222 = $$141217;$$191328 = $$141323; + label = 36; + continue L46; + } + $123 = ((($$131520)) + 1|0); + $124 = HEAP8[$$131520>>0]|0; + $125 = (((($0)) + 10528|0) + ($$131110)|0); + HEAP8[$125>>0] = $124; + $$161432 = $$91425;$$161623 = $$91616;$$201117 = $$131110;$$201527 = $123;$$21 = 0;$$211012 = $$141005;$$211224 = $$141217;$$211330 = $$141323; + label = 41; + continue L125; + break; + } + case 29: { + label = 0; + $103 = ($$141521>>>0)<($10>>>0); + if ($103) { + $$121428$ph = $$101426;$$121619$ph = $$101617;$$161113$ph = $$141111;$$17$ph = $$15;$$171008$ph = $$151006;$$171220$ph = $$151218;$$171326$ph = $$151324;$$sink1713 = $$141521; + label = 32; + continue L46; + } else { + $$111427 = $$101426;$$111618 = $$101617;$$151112 = $$141111;$$151522 = $$141521;$$16 = $$15;$$161007 = $$151006;$$161219 = $$151218;$$161325 = $$151324; + label = 30; + continue L46; + } + break; + } + case 34: { + label = 0; + $113 = $$181327&255; + $114 = (((($0)) + 10528|0) + ($$171114)|0); + HEAP8[$114>>0] = $113; + $115 = $$181327 >>> 8; + $116 = (($$18) + -8)|0; + $$161432 = $$131429;$$161623 = $$131620;$$201117 = $$171114;$$201527 = $$171524;$$21 = $116;$$211012 = $$181009;$$211224 = $$181221;$$211330 = $115; + label = 41; + continue L125; + break; + } + case 41: { + label = 0; + $126 = (($$201117) + 1)|0; + $$131110 = $126;$$131520 = $$201527;$$14 = $$21;$$141005 = $$211012;$$141217 = $$211224;$$141323 = $$211330;$$91425 = $$161432;$$91616 = $$161623; + label = 26; + continue L125; + break; + } + case 44: { + label = 0; + $145 = ($$221119|0)!=(0); + $146 = ($$23|0)!=(0); + $147 = $145 & $146; + if (!($147)) { + $$241440 = $$181434;$$241631 = $$181625;$$281019 = $$231014;$$281125 = $$221119;$$281535 = $$221529;$$29 = $$23;$$291232 = $$231226;$$291338 = $$231332; + label = 54; + continue L125; + } + $148 = ($$23>>>0)<(8); + if ($148) { + $$191435 = $$181434;$$191626 = $$181625;$$231120 = $$221119;$$231530 = $$221529;$$24 = $$23;$$241015 = $$231014;$$241227 = $$231226;$$241333 = $$231332; + label = 46; + continue L125; + } else { + $$221438 = $$181434;$$221629 = $$181625;$$261123 = $$221119;$$261533 = $$221529;$$27 = $$23;$$271230 = $$231226;$$271336 = $$231332; + label = 51; + continue L125; + } + break; + } + case 46: { + label = 0; + $149 = ($$231530>>>0)<($10>>>0); + if ($149) { + $$211437$ph = $$191435;$$211628$ph = $$191626;$$251122$ph = $$231120;$$26$ph = $$24;$$261017$ph = $$241015;$$261229$ph = $$241227;$$261335$ph = $$241333;$$sink1716 = $$231530; + label = 49; + continue L46; + } else { + $$201436 = $$191435;$$201627 = $$191626;$$241121 = $$231120;$$241531 = $$231530;$$25 = $$24;$$251016 = $$241015;$$251228 = $$241227;$$251334 = $$241333; + label = 47; + continue L46; + } + break; + } + case 51: { + label = 0; + $159 = $$271336 & 255; + $160 = $$271336 >>> 8; + $161 = (($$27) + -8)|0; + $$231439 = $$221438;$$231630 = $$221629;$$271018 = $159;$$271124 = $$261123;$$271534 = $$261533;$$28 = $161;$$281231 = $$271230;$$281337 = $160; + label = 52; + continue L46; + break; + } + case 54: { + label = 0; + $166 = ($$281125|0)==(0); + if ($166) { + $$761492 = $$241440;$$801071 = $$281019;$$801687 = $$241631;$$821285 = $$291232;$$831180 = 0;$$851592 = $$281535;$$86 = $$29;$$861395 = $$291338; + label = 220; + break L125; + } else { + $$251441 = $$241440;$$251632 = $$241631;$$291020 = $$281019;$$291126 = $$281125;$$291536 = $$281535;$$30 = $$29;$$301233 = $$291232;$$301339 = $$291338; + label = 55; + continue L46; + } + break; + } + case 61: { + label = 0; + $185 = ($$331130>>>0)<(3); + if ($185) { + $186 = (15773 + ($$331130)|0); + $187 = HEAP8[$186>>0]|0; + $188 = $187 << 24 >> 24; + $189 = ($$34>>>0)<($188>>>0); + if ($189) { + $$301446 = $$291445;$$301637 = $$291636;$$341025 = $$331024;$$341131 = $$331130;$$341541 = $$331540;$$35 = $$34;$$351238 = $$341237;$$351344 = $$341343; + label = 63; + continue L125; + } else { + $$331449 = $$291445;$$331640 = $$291636;$$371028 = $$331024;$$371134 = $$331130;$$371544 = $$331540;$$38 = $$34;$$381241 = $$341237;$$381347 = $$341343; + label = 68; + continue L125; + } + } else { + $216 = ((($0)) + 7040|0); + _memset(($216|0),0,288)|0; + $$341450 = $$291445;$$341641 = $$291636;$$381029 = $$331024;$$381135 = 0;$$381545 = $$331540;$$39 = $$34;$$391242 = $$341237;$$391348 = $$341343; + label = 70; + break; + } + break; + } + case 63: { + label = 0; + $190 = ($$341541>>>0)<($10>>>0); + if ($190) { + $$321448$ph = $$301446;$$321639$ph = $$301637;$$361027$ph = $$341025;$$361133$ph = $$341131;$$37$ph = $$35;$$371240$ph = $$351238;$$371346$ph = $$351344;$$sink1719 = $$341541; + label = 66; + continue L46; + } else { + $$311447 = $$301446;$$311638 = $$301637;$$351026 = $$341025;$$351132 = $$341131;$$351542 = $$341541;$$36 = $$35;$$361239 = $$351238;$$361345 = $$351344; + label = 64; + continue L46; + } + break; + } + case 68: { + label = 0; + $203 = (15773 + ($$371134)|0); + $204 = HEAP8[$203>>0]|0; + $205 = $204 << 24 >> 24; + $206 = 1 << $205; + $207 = (($206) + -1)|0; + $208 = $207 & $$381347; + $209 = (((($0)) + 44|0) + ($$371134<<2)|0); + $210 = $$381347 >>> $205; + $211 = (($$38) - ($205))|0; + $212 = (3148 + ($$371134<<2)|0); + $213 = HEAP32[$212>>2]|0; + $214 = (($208) + ($213))|0; + HEAP32[$209>>2] = $214; + $215 = (($$371134) + 1)|0; + $$291445 = $$331449;$$291636 = $$331640;$$331024 = $$371028;$$331130 = $215;$$331540 = $$371544;$$34 = $211;$$341237 = $$381241;$$341343 = $210; + label = 61; + continue L125; + break; + } + case 72: { + label = 0; + $221 = ($$391546>>>0)<($10>>>0); + if ($221) { + $$371453$ph = $$351451;$$371644$ph = $$351642;$$411032$ph = $$391030;$$411138$ph = $$391136;$$42$ph = $$40;$$421245$ph = $$401243;$$421351$ph = $$401349;$$sink1722 = $$391546; + label = 75; + continue L46; + } else { + $$361452 = $$351451;$$361643 = $$351642;$$401031 = $$391030;$$401137 = $$391136;$$401547 = $$391546;$$41 = $$40;$$411244 = $$401243;$$411350 = $$401349; + label = 73; + continue L46; + } + break; + } + case 77: { + label = 0; + $231 = $$431352 & 7; + $232 = $$431352 >>> 3; + $233 = (($$43) + -3)|0; + $234 = $231&255; + $235 = (15777 + ($$421139)|0); + $236 = HEAP8[$235>>0]|0; + $237 = $236&255; + $238 = (((($0)) + 7040|0) + ($237)|0); + HEAP8[$238>>0] = $234; + $239 = (($$421139) + 1)|0; + $$341450 = $$381454;$$341641 = $$381645;$$381029 = $$421033;$$381135 = $239;$$381545 = $$421549;$$39 = $233;$$391242 = $$431246;$$391348 = $232; + label = 70; + break; + } + case 80: { + label = 0; + $247 = ((($0)) + 24|0); + $248 = HEAP32[$247>>2]|0; + $249 = ($248|0)>(-1); + if ($249) { + dest=$8; stop=dest+64|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + $250 = (((((($0)) + 64|0) + (($248*3488)|0)|0)) + 288|0); + _memset(($250|0),0,3200)|0; + $251 = HEAP32[$247>>2]|0; + $252 = (((($0)) + 44|0) + ($251<<2)|0); + $253 = HEAP32[$252>>2]|0; + $254 = ($253|0)==(0); + if (!($254)) { + $255 = HEAP32[$247>>2]|0; + $256 = (((($0)) + 44|0) + ($255<<2)|0); + $257 = HEAP32[$256>>2]|0; + $$010951864 = 0; while(1) { - (_fread(($unused|0),1,1,($0|0))|0); - $106 = (($i$08) + 1)|0; - $107 = HEAP32[$103>>2]|0; - $108 = ($106>>>0)<($107>>>0); - if ($108) { - $i$08 = $106; + $258 = ((((($0)) + 64|0) + (($248*3488)|0)|0) + ($$010951864)|0); + $259 = HEAP8[$258>>0]|0; + $260 = $259&255; + $261 = (($8) + ($260<<2)|0); + $262 = HEAP32[$261>>2]|0; + $263 = (($262) + 1)|0; + HEAP32[$261>>2] = $263; + $264 = (($$010951864) + 1)|0; + $265 = ($264>>>0)<($257>>>0); + if ($265) { + $$010951864 = $264; } else { break; } } } - switch ($image$sroa$12$0|0) { - case 1: { - $bpp$0 = 8; - break; + $266 = ((($7)) + 4|0); + HEAP32[$266>>2] = 0; + HEAP32[$7>>2] = 0; + $267 = ((($8)) + 4|0); + $268 = HEAP32[$267>>2]|0; + $269 = $268 << 1; + $270 = ((($7)) + 8|0); + HEAP32[$270>>2] = $269; + $271 = ((($8)) + 8|0); + $272 = HEAP32[$271>>2]|0; + $273 = (($272) + ($268))|0; + $274 = (($272) + ($269))|0; + $275 = $274 << 1; + $276 = ((($7)) + 12|0); + HEAP32[$276>>2] = $275; + $277 = ((($8)) + 12|0); + $278 = HEAP32[$277>>2]|0; + $279 = (($278) + ($273))|0; + $280 = (($278) + ($275))|0; + $281 = $280 << 1; + $282 = ((($7)) + 16|0); + HEAP32[$282>>2] = $281; + $283 = ((($8)) + 16|0); + $284 = HEAP32[$283>>2]|0; + $285 = (($284) + ($279))|0; + $286 = (($284) + ($281))|0; + $287 = $286 << 1; + $288 = ((($7)) + 20|0); + HEAP32[$288>>2] = $287; + $289 = ((($8)) + 20|0); + $290 = HEAP32[$289>>2]|0; + $291 = (($290) + ($285))|0; + $292 = (($290) + ($287))|0; + $293 = $292 << 1; + $294 = ((($7)) + 24|0); + HEAP32[$294>>2] = $293; + $295 = ((($8)) + 24|0); + $296 = HEAP32[$295>>2]|0; + $297 = (($296) + ($291))|0; + $298 = (($296) + ($293))|0; + $299 = $298 << 1; + $300 = ((($7)) + 28|0); + HEAP32[$300>>2] = $299; + $301 = ((($8)) + 28|0); + $302 = HEAP32[$301>>2]|0; + $303 = (($302) + ($297))|0; + $304 = (($302) + ($299))|0; + $305 = $304 << 1; + $306 = ((($7)) + 32|0); + HEAP32[$306>>2] = $305; + $307 = ((($8)) + 32|0); + $308 = HEAP32[$307>>2]|0; + $309 = (($308) + ($303))|0; + $310 = (($308) + ($305))|0; + $311 = $310 << 1; + $312 = ((($7)) + 36|0); + HEAP32[$312>>2] = $311; + $313 = ((($8)) + 36|0); + $314 = HEAP32[$313>>2]|0; + $315 = (($314) + ($309))|0; + $316 = (($314) + ($311))|0; + $317 = $316 << 1; + $318 = ((($7)) + 40|0); + HEAP32[$318>>2] = $317; + $319 = ((($8)) + 40|0); + $320 = HEAP32[$319>>2]|0; + $321 = (($320) + ($315))|0; + $322 = (($320) + ($317))|0; + $323 = $322 << 1; + $324 = ((($7)) + 44|0); + HEAP32[$324>>2] = $323; + $325 = ((($8)) + 44|0); + $326 = HEAP32[$325>>2]|0; + $327 = (($326) + ($321))|0; + $328 = (($326) + ($323))|0; + $329 = $328 << 1; + $330 = ((($7)) + 48|0); + HEAP32[$330>>2] = $329; + $331 = ((($8)) + 48|0); + $332 = HEAP32[$331>>2]|0; + $333 = (($332) + ($327))|0; + $334 = (($332) + ($329))|0; + $335 = $334 << 1; + $336 = ((($7)) + 52|0); + HEAP32[$336>>2] = $335; + $337 = ((($8)) + 52|0); + $338 = HEAP32[$337>>2]|0; + $339 = (($338) + ($333))|0; + $340 = (($338) + ($335))|0; + $341 = $340 << 1; + $342 = ((($7)) + 56|0); + HEAP32[$342>>2] = $341; + $343 = ((($8)) + 56|0); + $344 = HEAP32[$343>>2]|0; + $345 = (($344) + ($339))|0; + $346 = (($344) + ($341))|0; + $347 = $346 << 1; + $348 = ((($7)) + 60|0); + HEAP32[$348>>2] = $347; + $349 = ((($8)) + 60|0); + $350 = HEAP32[$349>>2]|0; + $351 = (($350) + ($345))|0; + $352 = (($350) + ($347))|0; + $353 = $352 << 1; + $354 = ((($7)) + 64|0); + HEAP32[$354>>2] = $353; + $355 = ($353|0)!=(65536); + $356 = ($351>>>0)>(1); + $or$cond = $355 & $356; + if ($or$cond) { + $$401456 = $$391455;$$401647 = $$391646;$$441035 = $$431034;$$441141 = $$431140;$$441551 = $$431550;$$45 = $$44;$$451248 = $$441247;$$451354 = $$441353; + label = 86; + continue L46; } - case 6: case 3: case 5: case 2: { - $bpp$0 = 16; - break; + $357 = HEAP32[$247>>2]|0; + $358 = (((($0)) + 44|0) + ($357<<2)|0); + $359 = HEAP32[$358>>2]|0; + $360 = ($359|0)==(0); + if ($360) { + $$lcssa1779 = $357; + } else { + $$010911856 = 0;$$011971855 = -1; + while(1) { + $361 = ((((($0)) + 64|0) + (($248*3488)|0)|0) + ($$010911856)|0); + $362 = HEAP8[$361>>0]|0; + $363 = $362&255; + $364 = ($362<<24>>24)==(0); + L142: do { + if ($364) { + $$41201 = $$011971855; + } else { + $365 = (($7) + ($363<<2)|0); + $366 = HEAP32[$365>>2]|0; + $367 = (($366) + 1)|0; + HEAP32[$365>>2] = $367; + $$010861840 = $366;$$010871839 = $363;$$010881838 = 0; + while(1) { + $368 = $$010881838 << 1; + $369 = $$010861840 & 1; + $370 = $369 | $368; + $371 = (($$010871839) + -1)|0; + $372 = $$010861840 >>> 1; + $373 = ($371|0)==(0); + if ($373) { + break; + } else { + $$010861840 = $372;$$010871839 = $371;$$010881838 = $370; + } + } + $374 = ($362&255)<(11); + if ($374) { + $375 = $363 << 9; + $376 = $375 | $$010911856; + $377 = $376&65535; + $378 = ($370>>>0)<(1024); + if (!($378)) { + $$41201 = $$011971855; + break; + } + $379 = 1 << $363; + $$110891852 = $370; + while(1) { + $380 = ((((((($0)) + 64|0) + (($248*3488)|0)|0)) + 288|0) + ($$110891852<<1)|0); + HEAP16[$380>>1] = $377; + $381 = (($$110891852) + ($379))|0; + $382 = ($381>>>0)<(1024); + if ($382) { + $$110891852 = $381; + } else { + $$41201 = $$011971855; + break L142; + } + } + } + $383 = $370 & 1023; + $384 = ((((((($0)) + 64|0) + (($248*3488)|0)|0)) + 288|0) + ($383<<1)|0); + $385 = HEAP16[$384>>1]|0; + $386 = $385 << 16 >> 16; + $387 = ($385<<16>>16)==(0); + if ($387) { + $388 = (($$011971855) + -2)|0; + $389 = $$011971855&65535; + HEAP16[$384>>1] = $389; + $$01194 = $$011971855;$$11198 = $388; + } else { + $$01194 = $386;$$11198 = $$011971855; + } + $390 = $$010881838 >>> 9; + $391 = ($362&255)>(11); + $392 = $390 & 1; + $393 = (($392) - ($$01194))|0; + $394 = (($393) + -1)|0; + if ($391) { + $395 = $390 & 4194303; + $$010941846 = $363;$$211991845 = $$11198;$397 = $394;$406 = $395; + while(1) { + $396 = ((((((($0)) + 64|0) + (($248*3488)|0)|0)) + 2336|0) + ($397<<1)|0); + $398 = HEAP16[$396>>1]|0; + $399 = ($398<<16>>16)==(0); + if ($399) { + $400 = $$211991845&65535; + HEAP16[$396>>1] = $400; + $401 = (($$211991845) + -2)|0; + $$21196 = $$211991845;$$31200 = $401; + } else { + $402 = $398 << 16 >> 16; + $$21196 = $402;$$31200 = $$211991845; + } + $403 = (($$010941846) + -1)|0; + $404 = ($403>>>0)>(11); + $405 = $406 >>> 1; + $407 = $405 & 1; + $408 = (($407) - ($$21196))|0; + $409 = (($408) + -1)|0; + if ($404) { + $$010941846 = $403;$$211991845 = $$31200;$397 = $409;$406 = $405; + } else { + $$21199$lcssa = $$31200;$$lcssa1778 = $409; + break; + } + } + } else { + $$21199$lcssa = $$11198;$$lcssa1778 = $394; + } + $410 = $$010911856&65535; + $411 = ((((((($0)) + 64|0) + (($248*3488)|0)|0)) + 2336|0) + ($$lcssa1778<<1)|0); + HEAP16[$411>>1] = $410; + $$41201 = $$21199$lcssa; + } + } while(0); + $412 = (($$010911856) + 1)|0; + $413 = HEAP32[$247>>2]|0; + $414 = (((($0)) + 44|0) + ($413<<2)|0); + $415 = HEAP32[$414>>2]|0; + $416 = ($412>>>0)<($415>>>0); + if ($416) { + $$010911856 = $412;$$011971855 = $$41201; + } else { + $$lcssa1779 = $413; + break; + } + } } - case 4: { - $bpp$0 = 24; - break; + $417 = ($$lcssa1779|0)==(2); + if ($417) { + $$411457 = $$391455;$$411648 = $$391646;$$451036 = $$431034;$$451142 = 0;$$451552 = $$431550;$$46 = $$44;$$461249 = $$441247;$$461355 = $$441353; + label = 105; + } else { + $$521468 = $$391455;$$521659 = $$391646;$$551046 = $$431034;$$561153 = $$431140;$$561563 = $$431550;$$57 = $$44;$$571260 = $$441247;$$571366 = $$441353; + label = 138; } - case 16: case 15: { - $bpp$0 = 4; - break; - } - case 7: { - $bpp$0 = 32; - break; - } - default: { - $bpp$0 = 0; - } - } - $109 = Math_imul($17, $15)|0; - $110 = Math_imul($109, $bpp$0)|0; - $111 = (($110|0) / 8)&-1; - $112 = (_malloc($111)|0); - (_fread(($112|0),($111|0),1,($0|0))|0); - $image$sroa$0$0 = $112;$image$sroa$10$0 = $19;$image$sroa$12$1 = $image$sroa$12$0;$image$sroa$4$0 = $15;$image$sroa$7$0 = $17; } else { - label = 8; + $$531469 = $$391455;$$531660 = $$391646;$$561047 = $$431034;$$571154 = $$431140;$$571564 = $$431550;$$58 = $$44;$$581261 = $$441247;$$581367 = $$441353; + label = 139; } - } else { - label = 8; + break; } - } else { - label = 8; - } - } else { - label = 8; - } - if ((label|0) == 8) { - HEAP32[$vararg_buffer1>>2] = $fileName; - _TraceLog(2,23864,$vararg_buffer1); - $image$sroa$0$0 = 0;$image$sroa$10$0 = 0;$image$sroa$12$1 = 0;$image$sroa$4$0 = 0;$image$sroa$7$0 = 0; - } - $image$sroa$0$1 = $image$sroa$0$0;$image$sroa$10$1 = $image$sroa$10$0;$image$sroa$12$2 = $image$sroa$12$1;$image$sroa$4$1 = $image$sroa$4$0;$image$sroa$7$1 = $image$sroa$7$0; - } else { - $image$sroa$0$1 = 0;$image$sroa$10$1 = 0;$image$sroa$12$2 = 0;$image$sroa$4$1 = 0;$image$sroa$7$1 = 0; - } - (_fclose(($0|0))|0); - $image$sroa$0$2 = $image$sroa$0$1;$image$sroa$10$2 = $image$sroa$10$1;$image$sroa$12$3 = $image$sroa$12$2;$image$sroa$4$2 = $image$sroa$4$1;$image$sroa$7$2 = $image$sroa$7$1; - HEAP32[$agg$result>>2] = $image$sroa$0$2; - $113 = ((($agg$result)) + 4|0); - HEAP32[$113>>2] = $image$sroa$4$2; - $114 = ((($agg$result)) + 8|0); - HEAP32[$114>>2] = $image$sroa$7$2; - $115 = ((($agg$result)) + 12|0); - HEAP32[$115>>2] = $image$sroa$10$2; - $116 = ((($agg$result)) + 16|0); - HEAP32[$116>>2] = $image$sroa$12$3; - STACKTOP = sp;return; -} -function _LoadASTC($agg$result,$fileName) { - $agg$result = $agg$result|0; - $fileName = $fileName|0; - var $$$ = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; - var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0; - var $7 = 0, $8 = 0, $9 = 0, $header = 0, $image$sroa$0$0 = 0, $image$sroa$0$1 = 0, $image$sroa$12$0 = 0, $image$sroa$12$1 = 0, $image$sroa$14$0 = 0, $image$sroa$14$1 = 0, $image$sroa$4$0 = 0, $image$sroa$4$1 = 0, $image$sroa$8$0 = 0, $image$sroa$8$1 = 0, $or$cond = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer14 = 0, $vararg_buffer4 = 0; - var $vararg_buffer7 = 0, $vararg_ptr13 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; - $vararg_buffer14 = sp + 40|0; - $vararg_buffer10 = sp; - $vararg_buffer7 = sp + 8|0; - $vararg_buffer4 = sp + 16|0; - $vararg_buffer1 = sp + 24|0; - $vararg_buffer = sp + 32|0; - $header = sp + 48|0; - $0 = (_fopen(($fileName|0),(19952|0))|0); - $1 = ($0|0)==(0|0); - if ($1) { - HEAP32[$vararg_buffer>>2] = $fileName; - _TraceLog(2,23592,$vararg_buffer); - $image$sroa$0$1 = 0;$image$sroa$12$1 = 0;$image$sroa$14$1 = 0;$image$sroa$4$1 = 0;$image$sroa$8$1 = 0; - HEAP32[$agg$result>>2] = $image$sroa$0$1; - $58 = ((($agg$result)) + 4|0); - HEAP32[$58>>2] = $image$sroa$4$1; - $59 = ((($agg$result)) + 8|0); - HEAP32[$59>>2] = $image$sroa$8$1; - $60 = ((($agg$result)) + 12|0); - HEAP32[$60>>2] = $image$sroa$12$1; - $61 = ((($agg$result)) + 16|0); - HEAP32[$61>>2] = $image$sroa$14$1; - STACKTOP = sp;return; - } - (_fread(($header|0),16,1,($0|0))|0); - $2 = ((($header)) + 3|0); - $3 = HEAP8[$2>>0]|0; - $4 = ($3<<24>>24)==(92); - do { - if ($4) { - $5 = ((($header)) + 2|0); - $6 = HEAP8[$5>>0]|0; - $7 = ($6<<24>>24)==(-95); - if ($7) { - $8 = ((($header)) + 1|0); - $9 = HEAP8[$8>>0]|0; - $10 = ($9<<24>>24)==(-85); - $11 = HEAP8[$header>>0]|0; - $12 = ($11<<24>>24)==(19); - $or$cond = $10 & $12; - if ($or$cond) { - $13 = ((($header)) + 9|0); - $14 = HEAP8[$13>>0]|0; - $15 = $14&255; - $16 = $15 << 16; - $17 = ((($header)) + 8|0); - $18 = HEAP8[$17>>0]|0; - $19 = $18&255; - $20 = $19 << 8; - $21 = $20 | $16; - $22 = ((($header)) + 7|0); - $23 = HEAP8[$22>>0]|0; - $24 = $23&255; - $25 = $21 | $24; - $26 = ((($header)) + 12|0); - $27 = HEAP8[$26>>0]|0; - $28 = $27&255; - $29 = $28 << 16; - $30 = ((($header)) + 11|0); - $31 = HEAP8[$30>>0]|0; - $32 = $31&255; - $33 = $32 << 8; - $34 = $33 | $29; - $35 = ((($header)) + 10|0); - $36 = HEAP8[$35>>0]|0; - $37 = $36&255; - $38 = $34 | $37; - HEAP32[$vararg_buffer4>>2] = $25; - _TraceLog(3,23688,$vararg_buffer4); - HEAP32[$vararg_buffer7>>2] = $38; - _TraceLog(3,23712,$vararg_buffer7); - $39 = ((($header)) + 4|0); - $40 = HEAP8[$39>>0]|0; - $41 = $40&255; - $42 = ((($header)) + 5|0); - $43 = HEAP8[$42>>0]|0; - $44 = $43&255; - HEAP32[$vararg_buffer10>>2] = $41; - $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); - HEAP32[$vararg_ptr13>>2] = $44; - _TraceLog(3,23736,$vararg_buffer10); - $45 = HEAP8[$39>>0]|0; - $46 = $45&255; - $47 = HEAP8[$42>>0]|0; - $48 = $47&255; - $49 = Math_imul($48, $46)|0; - $50 = (128 / ($49>>>0))&-1; - $51 = ($50|0)==(8); - $52 = ($50|0)==(2); - if ((($50|0) == 2) | (($50|0) == 8)) { - $53 = Math_imul($38, $25)|0; - $54 = Math_imul($53, $50)|0; - $55 = $54 >>> 3; - $56 = (_malloc($55)|0); - (_fread(($56|0),($55|0),1,($0|0))|0); - $57 = $51 | $52; - $$$ = $57 ? 17 : 0; - $image$sroa$0$0 = $56;$image$sroa$12$0 = 1;$image$sroa$14$0 = $$$;$image$sroa$4$0 = $25;$image$sroa$8$0 = $38; - break; + case 108: { + label = 0; + $429 = $$471356 & 1023; + $430 = (((($0)) + 7328|0) + ($429<<1)|0); + $431 = HEAP16[$430>>1]|0; + $432 = $431 << 16 >> 16; + $433 = ($431<<16>>16)>(-1); + if ($433) { + $434 = $432 >> 9; + $435 = (($434) + -1)|0; + $436 = ($435>>>0)<($$47>>>0); + if ($436) { + $$451461 = $$421458;$$451652 = $$421649;$$491146 = $$461143;$$491556 = $$461553;$$50 = $$47;$$501253 = $$471250;$$501359 = $$471356; + label = 119; + continue L125; + } else { + label = 113; + break L125; + } + } + $437 = ($$47>>>0)>(10); + if ($437) { + $$0981 = 10;$$0984 = $432; } else { - HEAP32[$vararg_buffer14>>2] = $fileName; - _TraceLog(2,23768,$vararg_buffer14); - $image$sroa$0$0 = 0;$image$sroa$12$0 = 1;$image$sroa$14$0 = 0;$image$sroa$4$0 = $25;$image$sroa$8$0 = $38; - break; + label = 113; + break L125; } - } else { - label = 6; - } - } else { - label = 6; - } - } else { - label = 6; - } - } while(0); - if ((label|0) == 6) { - HEAP32[$vararg_buffer1>>2] = $fileName; - _TraceLog(2,23632,$vararg_buffer1); - $image$sroa$0$0 = 0;$image$sroa$12$0 = 0;$image$sroa$14$0 = 0;$image$sroa$4$0 = 0;$image$sroa$8$0 = 0; - } - (_fclose(($0|0))|0); - $image$sroa$0$1 = $image$sroa$0$0;$image$sroa$12$1 = $image$sroa$12$0;$image$sroa$14$1 = $image$sroa$14$0;$image$sroa$4$1 = $image$sroa$4$0;$image$sroa$8$1 = $image$sroa$8$0; - HEAP32[$agg$result>>2] = $image$sroa$0$1; - $58 = ((($agg$result)) + 4|0); - HEAP32[$58>>2] = $image$sroa$4$1; - $59 = ((($agg$result)) + 8|0); - HEAP32[$59>>2] = $image$sroa$8$1; - $60 = ((($agg$result)) + 12|0); - HEAP32[$60>>2] = $image$sroa$12$1; - $61 = ((($agg$result)) + 16|0); - HEAP32[$61>>2] = $image$sroa$14$1; - STACKTOP = sp;return; -} -function _vorbis_deinit($p) { - $p = $p|0; - var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0; - var $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0; - var $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0; - var $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0; - var $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0; - var $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $i$013 = 0, $i$17 = 0, $i$25 = 0, $i$34 = 0, $j$010 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($p)) + 280|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)>(0); - if ($2) { - $3 = ((($p)) + 412|0); - $4 = ((($p)) + 140|0); - $i$013 = 0; - while(1) { - $5 = HEAP32[$3>>2]|0; - $6 = (((($5) + (($i$013*24)|0)|0)) + 16|0); - $7 = HEAP32[$6>>2]|0; - $8 = ($7|0)==(0|0); - if (!($8)) { - $9 = (((($5) + (($i$013*24)|0)|0)) + 13|0); - $10 = HEAP8[$9>>0]|0; - $11 = $10&255; - $12 = HEAP32[$4>>2]|0; - $13 = (((($12) + (($11*2096)|0)|0)) + 4|0); - $14 = HEAP32[$13>>2]|0; - $15 = ($14|0)>(0); - if ($15) { - $j$010 = 0; while(1) { - $16 = HEAP32[$6>>2]|0; - $17 = (($16) + ($j$010<<2)|0); - $18 = HEAP32[$17>>2]|0; - _setup_free($p,$18); - $19 = (($j$010) + 1)|0; - $20 = HEAP8[$9>>0]|0; - $21 = $20&255; - $22 = HEAP32[$4>>2]|0; - $23 = (((($22) + (($21*2096)|0)|0)) + 4|0); - $24 = HEAP32[$23>>2]|0; - $25 = ($19|0)<($24|0); - if ($25) { - $j$010 = $19; + $438 = $$0984 ^ -1; + $439 = $$471356 >>> $$0981; + $440 = $439 & 1; + $441 = (($440) + ($438))|0; + $442 = (((($0)) + 9376|0) + ($441<<1)|0); + $443 = HEAP16[$442>>1]|0; + $444 = ($443<<16>>16)<(0); + if (!($444)) { + $$451461 = $$421458;$$451652 = $$421649;$$491146 = $$461143;$$491556 = $$461553;$$50 = $$47;$$501253 = $$471250;$$501359 = $$471356; + label = 119; + continue L125; + } + $445 = (($$0981) + 1)|0; + $446 = $443 << 16 >> 16; + $447 = (($$0981) + 2)|0; + $448 = ($$47>>>0)<($447>>>0); + if ($448) { + label = 113; + break L125; + } else { + $$0981 = $445;$$0984 = $446; + } + } + break; + } + case 119: { + label = 0; + $471 = $$501359 & 1023; + $472 = (((($0)) + 7328|0) + ($471<<1)|0); + $473 = HEAP16[$472>>1]|0; + $474 = $473 << 16 >> 16; + $475 = ($473<<16>>16)>(-1); + if ($475) { + $476 = $474 >> 9; + $477 = $474 & 511; + $$2983 = $476;$$2986 = $477; + } else { + $$1982 = 10;$$1985 = $474; + while(1) { + $478 = $$1985 ^ -1; + $479 = (($$1982) + 1)|0; + $480 = $$501359 >>> $$1982; + $481 = $480 & 1; + $482 = (($481) + ($478))|0; + $483 = (((($0)) + 9376|0) + ($482<<1)|0); + $484 = HEAP16[$483>>1]|0; + $485 = $484 << 16 >> 16; + $486 = ($484<<16>>16)<(0); + if ($486) { + $$1982 = $479;$$1985 = $485; + } else { + $$2983 = $479;$$2986 = $485; + break; + } + } + } + $487 = $$501359 >>> $$2983; + $488 = (($$50) - ($$2983))|0; + $489 = ($$2986>>>0)<(16); + if ($489) { + $490 = $$2986&255; + $491 = (($$491146) + 1)|0; + $492 = (((($0)) + 10532|0) + ($$491146)|0); + HEAP8[$492>>0] = $490; + $$411457 = $$451461;$$411648 = $$451652;$$451036 = $$2986;$$451142 = $491;$$451552 = $$491556;$$46 = $488;$$461249 = $$501253;$$461355 = $487; + label = 105; + break; + } + $493 = ($$2986|0)!=(16); + $494 = ($$491146|0)!=(0); + $or$cond24 = $494 | $493; + if (!($or$cond24)) { + $$461462 = $$451461;$$461653 = $$451652;$$491040 = $$2986;$$501147 = $$491146;$$501557 = $$491556;$$51 = $488;$$511254 = $$501253;$$511360 = $487; + label = 125; + continue L46; + } + $495 = (($$2986) + -16)|0; + $496 = (15796 + ($495)|0); + $497 = HEAP8[$496>>0]|0; + $498 = $497 << 24 >> 24; + $499 = ($488>>>0)<($498>>>0); + if ($499) { + $$471463 = $$451461;$$471654 = $$451652;$$501041 = $$2986;$$511148 = $$491146;$$511558 = $$491556;$$52 = $488;$$521255 = $498;$$521361 = $487; + label = 127; + continue L125; + } else { + $$501466 = $$451461;$$501657 = $$451652;$$531044 = $$2986;$$541151 = $$491146;$$541561 = $$491556;$$55 = $488;$$551258 = $498;$$551364 = $487; + label = 132; + continue L125; + } + break; + } + case 127: { + label = 0; + $500 = ($$511558>>>0)<($10>>>0); + if ($500) { + $$491465$ph = $$471463;$$491656$ph = $$471654;$$521043$ph = $$501041;$$531150$ph = $$511148;$$54$ph = $$52;$$541257$ph = $$521255;$$541363$ph = $$521361;$$sink1732 = $$511558; + label = 130; + continue L46; + } else { + $$481464 = $$471463;$$481655 = $$471654;$$511042 = $$501041;$$521149 = $$511148;$$521559 = $$511558;$$53 = $$52;$$531256 = $$521255;$$531362 = $$521361; + label = 128; + continue L46; + } + break; + } + case 132: { + label = 0; + $510 = 1 << $$551258; + $511 = (($510) + -1)|0; + $512 = $511 & $$551364; + $513 = $$551364 >>> $$551258; + $514 = (($$55) - ($$551258))|0; + $515 = (($$531044) + -16)|0; + $516 = (15800 + ($515)|0); + $517 = HEAP8[$516>>0]|0; + $518 = $517 << 24 >> 24; + $519 = (($518) + ($512))|0; + $520 = (((($0)) + 10532|0) + ($$541151)|0); + $521 = ($$531044|0)==(16); + if ($521) { + $522 = (($$541151) + -1)|0; + $523 = (((($0)) + 10532|0) + ($522)|0); + $524 = HEAP8[$523>>0]|0; + $525 = $524&255; + $527 = $525; + } else { + $527 = 0; + } + $526 = $527&255; + _memset(($520|0),($526|0),($519|0))|0; + $528 = (($519) + ($$541151))|0; + $$411457 = $$501466;$$411648 = $$501657;$$451036 = $$531044;$$451142 = $528;$$451552 = $$541561;$$46 = $514;$$461249 = $$551258;$$461355 = $513; + label = 105; + break; + } + case 140: { + label = 0; + $539 = $10; + $540 = $$581565$ph; + $541 = (($539) - ($540))|0; + $542 = ($541|0)<(4); + $543 = ($$59$ph>>>0)<(15); + L241: do { + if ($542) { + $$541661$lcssa = $$541661$ph;$$581155$lcssa = $$581155$ph;$$581565$lcssa = $$581565$ph;$$59$lcssa = $$59$ph;$$591368$lcssa = $$591368$ph;$$lcssa1799 = $543;$$lcssa1802 = $541; + } else { + $544 = $12; + $$5416611868 = $$541661$ph;$$5811551871 = $$581155$ph;$$5815651869 = $$581565$ph;$$5913681870 = $$591368$ph;$$591872 = $$59$ph;$965 = $543;$966 = $541; + while(1) { + $545 = $$5416611868; + $546 = (($544) - ($545))|0; + $547 = ($546|0)<(2); + if ($547) { + $$541661$lcssa = $$5416611868;$$581155$lcssa = $$5811551871;$$581565$lcssa = $$5815651869;$$59$lcssa = $$591872;$$591368$lcssa = $$5913681870;$$lcssa1799 = $965;$$lcssa1802 = $966; + break L241; + } + if ($965) { + $613 = HEAP8[$$5815651869>>0]|0; + $614 = $613&255; + $615 = ((($$5815651869)) + 1|0); + $616 = HEAP8[$615>>0]|0; + $617 = $616&255; + $618 = $617 << 8; + $619 = $618 | $614; + $620 = $619 << $$591872; + $621 = $620 | $$5913681870; + $622 = ((($$5815651869)) + 2|0); + $623 = (($$591872) + 16)|0; + $$641571 = $622;$$65 = $623;$$651374 = $621; + } else { + $$641571 = $$5815651869;$$65 = $$591872;$$651374 = $$5913681870; + } + $624 = $$651374 & 1023; + $625 = (((($0)) + 352|0) + ($624<<1)|0); + $626 = HEAP16[$625>>1]|0; + $627 = $626 << 16 >> 16; + $628 = ($626<<16>>16)>(-1); + if ($628) { + $629 = $627 >> 9; + $$1964 = $629;$$1968 = $627; + } else { + $$0963 = 10;$$0967 = $627; + while(1) { + $630 = $$0967 ^ -1; + $631 = (($$0963) + 1)|0; + $632 = $$651374 >>> $$0963; + $633 = $632 & 1; + $634 = (($633) + ($630))|0; + $635 = (((($0)) + 2400|0) + ($634<<1)|0); + $636 = HEAP16[$635>>1]|0; + $637 = $636 << 16 >> 16; + $638 = ($636<<16>>16)<(0); + if ($638) { + $$0963 = $631;$$0967 = $637; + } else { + $$1964 = $631;$$1968 = $637; + break; + } + } + } + $639 = $$651374 >>> $$1964; + $640 = (($$65) - ($$1964))|0; + $641 = $$1968 & 256; + $642 = ($641|0)==(0); + if (!($642)) { + $$601476 = $$541470$ph;$$611668 = $$5416611868;$$631054 = $$571048$ph;$$641161 = $$1968;$$651268 = $$591262$ph;$$671574 = $$641571;$$68 = $640;$$681377 = $639; + label = 176; + break L126; + } + $643 = ($640>>>0)<(15); + if ($643) { + $644 = HEAP8[$$641571>>0]|0; + $645 = $644&255; + $646 = ((($$641571)) + 1|0); + $647 = HEAP8[$646>>0]|0; + $648 = $647&255; + $649 = $648 << 8; + $650 = $649 | $645; + $651 = $650 << $640; + $652 = $651 | $639; + $653 = ((($$641571)) + 2|0); + $654 = (($640) + 16)|0; + $$651572 = $653;$$66 = $654;$$661375 = $652; + } else { + $$651572 = $$641571;$$66 = $640;$$661375 = $639; + } + $655 = $$661375 & 1023; + $656 = (((($0)) + 352|0) + ($655<<1)|0); + $657 = HEAP16[$656>>1]|0; + $658 = $657 << 16 >> 16; + $659 = ($657<<16>>16)>(-1); + if ($659) { + $660 = $658 >> 9; + $$3966 = $660;$$3970 = $658; + } else { + $$2965 = 10;$$2969 = $658; + while(1) { + $661 = $$2969 ^ -1; + $662 = (($$2965) + 1)|0; + $663 = $$661375 >>> $$2965; + $664 = $663 & 1; + $665 = (($664) + ($661))|0; + $666 = (((($0)) + 2400|0) + ($665<<1)|0); + $667 = HEAP16[$666>>1]|0; + $668 = $667 << 16 >> 16; + $669 = ($667<<16>>16)<(0); + if ($669) { + $$2965 = $662;$$2969 = $668; + } else { + $$3966 = $662;$$3970 = $668; + break; + } + } + } + $670 = $$661375 >>> $$3966; + $671 = (($$66) - ($$3966))|0; + $672 = $$1968&255; + HEAP8[$$5416611868>>0] = $672; + $673 = $$3970 & 256; + $674 = ($673|0)==(0); + if (!($674)) { + break; + } + $676 = $$3970&255; + $677 = ((($$5416611868)) + 1|0); + HEAP8[$677>>0] = $676; + $678 = ((($$5416611868)) + 2|0); + $679 = $$651572; + $680 = (($539) - ($679))|0; + $681 = ($680|0)<(4); + $682 = ($671>>>0)<(15); + if ($681) { + $$541661$lcssa = $678;$$581155$lcssa = $$1968;$$581565$lcssa = $$651572;$$59$lcssa = $671;$$591368$lcssa = $670;$$lcssa1799 = $682;$$lcssa1802 = $680; + break L241; + } else { + $$5416611868 = $678;$$5811551871 = $$1968;$$5815651869 = $$651572;$$5913681870 = $670;$$591872 = $671;$965 = $682;$966 = $680; + } + } + $675 = ((($$5416611868)) + 1|0); + $$601476 = $$541470$ph;$$611668 = $675;$$631054 = $$571048$ph;$$641161 = $$3970;$$651268 = $$591262$ph;$$671574 = $$651572;$$68 = $671;$$681377 = $670; + label = 176; + break L126; + } + } while(0); + if (!($$lcssa1799)) { + $$581474 = $$541470$ph;$$581665 = $$541661$lcssa;$$611052 = $$571048$ph;$$621569 = $$581565$lcssa;$$63 = $$59$lcssa;$$631266 = $$591262$ph;$$631372 = $$591368$lcssa; + label = 156; + continue L125; + } + $548 = ($$lcssa1802|0)<(2); + if ($548) { + $$551471 = $$541470$ph;$$551662 = $$541661$lcssa;$$581049 = $$571048$ph;$$591156 = $$581155$lcssa;$$591566 = $$581565$lcssa;$$60 = $$59$lcssa;$$601263 = $$591262$ph;$$601369 = $$591368$lcssa; + label = 145; + continue L125; + } + $579 = HEAP8[$$581565$lcssa>>0]|0; + $580 = $579&255; + $581 = $580 << $$59$lcssa; + $582 = ((($$581565$lcssa)) + 1|0); + $583 = HEAP8[$582>>0]|0; + $584 = $583&255; + $585 = (($$59$lcssa) + 8)|0; + $586 = $584 << $585; + $587 = $581 | $$591368$lcssa; + $588 = $587 | $586; + $589 = ((($$581565$lcssa)) + 2|0); + $590 = (($$59$lcssa) + 16)|0; + $$581474 = $$541470$ph;$$581665 = $$541661$lcssa;$$611052 = $$571048$ph;$$621569 = $589;$$63 = $590;$$631266 = $$591262$ph;$$631372 = $588; + label = 156; + continue L125; + break; + } + case 145: { + label = 0; + $549 = $$601369 & 1023; + $550 = (((($0)) + 352|0) + ($549<<1)|0); + $551 = HEAP16[$550>>1]|0; + $552 = $551 << 16 >> 16; + $553 = ($551<<16>>16)>(-1); + if ($553) { + $554 = $552 >> 9; + $555 = (($554) + -1)|0; + $556 = ($555>>>0)<($$60>>>0); + if ($556) { + $$581474 = $$551471;$$581665 = $$551662;$$611052 = $$581049;$$621569 = $$591566;$$63 = $$60;$$631266 = $$601263;$$631372 = $$601369; + label = 156; + continue L125; + } else { + label = 150; + break L125; + } + } + $557 = ($$60>>>0)>(10); + if ($557) { + $$0972 = 10;$$0975 = $552; + } else { + label = 150; + break L125; + } + while(1) { + $558 = $$0975 ^ -1; + $559 = $$601369 >>> $$0972; + $560 = $559 & 1; + $561 = (($560) + ($558))|0; + $562 = (((($0)) + 2400|0) + ($561<<1)|0); + $563 = HEAP16[$562>>1]|0; + $564 = ($563<<16>>16)<(0); + if (!($564)) { + $$581474 = $$551471;$$581665 = $$551662;$$611052 = $$581049;$$621569 = $$591566;$$63 = $$60;$$631266 = $$601263;$$631372 = $$601369; + label = 156; + continue L125; + } + $565 = (($$0972) + 1)|0; + $566 = $563 << 16 >> 16; + $567 = (($$0972) + 2)|0; + $568 = ($$60>>>0)<($567>>>0); + if ($568) { + label = 150; + break L125; + } else { + $$0972 = $565;$$0975 = $566; + } + } + break; + } + case 156: { + label = 0; + $591 = $$631372 & 1023; + $592 = (((($0)) + 352|0) + ($591<<1)|0); + $593 = HEAP16[$592>>1]|0; + $594 = $593 << 16 >> 16; + $595 = ($593<<16>>16)>(-1); + if ($595) { + $596 = $594 >> 9; + $597 = $594 & 511; + $$2974 = $596;$$2977 = $597; + } else { + $$1973 = 10;$$1976 = $594; + while(1) { + $598 = $$1976 ^ -1; + $599 = (($$1973) + 1)|0; + $600 = $$631372 >>> $$1973; + $601 = $600 & 1; + $602 = (($601) + ($598))|0; + $603 = (((($0)) + 2400|0) + ($602<<1)|0); + $604 = HEAP16[$603>>1]|0; + $605 = $604 << 16 >> 16; + $606 = ($604<<16>>16)<(0); + if ($606) { + $$1973 = $599;$$1976 = $605; + } else { + $$2974 = $599;$$2977 = $605; + break; + } + } + } + $607 = $$631372 >>> $$2974; + $608 = (($$63) - ($$2974))|0; + $609 = ($$2977>>>0)>(255); + if ($609) { + $$601476 = $$581474;$$611668 = $$581665;$$631054 = $$611052;$$641161 = $$2977;$$651268 = $$631266;$$671574 = $$621569;$$68 = $608;$$681377 = $607; + label = 176; + } else { + $$591475 = $$581474;$$591666 = $$581665;$$621053 = $$611052;$$621159 = $$2977;$$631570 = $$621569;$$64 = $608;$$641267 = $$631266;$$641373 = $607; + label = 160; + continue L46; + } + break; + } + case 179: { + label = 0; + $693 = ($$681575>>>0)<($10>>>0); + if ($693) { + $$631479$ph = $$611477;$$641671$ph = $$621669;$$661057$ph = $$641055;$$671164$ph = $$651162;$$681271$ph = $$661269;$$71$ph = $$69;$$711380$ph = $$691378;$$sink1739 = $$681575; + label = 182; + continue L46; + } else { + $$621478 = $$611477;$$631670 = $$621669;$$651056 = $$641055;$$661163 = $$651162;$$671270 = $$661269;$$691576 = $$681575;$$70 = $$69;$$701379 = $$691378; + label = 180; + continue L46; + } + break; + } + case 184: { + label = 0; + $703 = 1 << $$691272; + $704 = (($703) + -1)|0; + $705 = $704 & $$721381; + $706 = $$721381 >>> $$691272; + $707 = (($$72) - ($$691272))|0; + $708 = (($705) + ($$681165))|0; + $$651481 = $$641480;$$661673 = $$651672;$$681059 = $$671058;$$691166 = $708;$$701273 = $$691272;$$721579 = $$711578;$$73 = $707;$$731382 = $706; + label = 185; + break; + } + case 187: { + label = 0; + $714 = $$741383 & 1023; + $715 = (((($0)) + 3840|0) + ($714<<1)|0); + $716 = HEAP16[$715>>1]|0; + $717 = $716 << 16 >> 16; + $718 = ($716<<16>>16)>(-1); + if ($718) { + $719 = $717 >> 9; + $720 = (($719) + -1)|0; + $721 = ($720>>>0)<($$74>>>0); + if ($721) { + $$691485 = $$661482;$$701677 = $$671674;$$731170 = $$701167;$$761583 = $$731580;$$77 = $$74;$$771386 = $$741383; + label = 198; + continue L125; + } else { + label = 192; + break L125; + } + } + $722 = ($$74>>>0)>(10); + if ($722) { + $$0953 = 10;$$0956 = $717; + } else { + label = 192; + break L125; + } + while(1) { + $723 = $$0956 ^ -1; + $724 = $$741383 >>> $$0953; + $725 = $724 & 1; + $726 = (($725) + ($723))|0; + $727 = (((($0)) + 5888|0) + ($726<<1)|0); + $728 = HEAP16[$727>>1]|0; + $729 = ($728<<16>>16)<(0); + if (!($729)) { + $$691485 = $$661482;$$701677 = $$671674;$$731170 = $$701167;$$761583 = $$731580;$$77 = $$74;$$771386 = $$741383; + label = 198; + continue L125; + } + $730 = (($$0953) + 1)|0; + $731 = $728 << 16 >> 16; + $732 = (($$0953) + 2)|0; + $733 = ($$74>>>0)<($732>>>0); + if ($733) { + label = 192; + break L125; + } else { + $$0953 = $730;$$0956 = $731; + } + } + break; + } + case 198: { + label = 0; + $756 = $$771386 & 1023; + $757 = (((($0)) + 3840|0) + ($756<<1)|0); + $758 = HEAP16[$757>>1]|0; + $759 = $758 << 16 >> 16; + $760 = ($758<<16>>16)>(-1); + if ($760) { + $761 = $759 >> 9; + $762 = $759 & 511; + $$2955 = $761;$$2958 = $762; + } else { + $$1954 = 10;$$1957 = $759; + while(1) { + $763 = $$1957 ^ -1; + $764 = (($$1954) + 1)|0; + $765 = $$771386 >>> $$1954; + $766 = $765 & 1; + $767 = (($766) + ($763))|0; + $768 = (((($0)) + 5888|0) + ($767<<1)|0); + $769 = HEAP16[$768>>1]|0; + $770 = $769 << 16 >> 16; + $771 = ($769<<16>>16)<(0); + if ($771) { + $$1954 = $764;$$1957 = $770; + } else { + $$2955 = $764;$$2958 = $770; + break; + } + } + } + $772 = $$771386 >>> $$2955; + $773 = (($$77) - ($$2955))|0; + $774 = (3408 + ($$2958<<2)|0); + $775 = HEAP32[$774>>2]|0; + $776 = (3536 + ($$2958<<2)|0); + $777 = HEAP32[$776>>2]|0; + $778 = (($$2958) + -4)|0; + $779 = ($778>>>0)<(26); + if ($779) { + $780 = ($773>>>0)<($775>>>0); + if ($780) { + $$701486 = $$691485;$$711678 = $$701677;$$721063 = $777;$$741171 = $$731170;$$741277 = $775;$$771584 = $$761583;$$78 = $773;$$781387 = $772; + label = 203; + continue L125; + } else { + $$741681 = $$701677;$$751066 = $777;$$771174 = $$731170;$$771280 = $775;$$801587 = $$761583;$$81 = $773;$$811390 = $772; + label = 208; + continue L125; + } + } else { + $$751682 = $$701677;$$761067 = $777;$$781175 = $$731170;$$781281 = $775;$$811588 = $$761583;$$82 = $773;$$821391 = $772; + label = 209; + } + break; + } + case 203: { + label = 0; + $781 = ($$771584>>>0)<($10>>>0); + if ($781) { + $$721488$ph = $$701486;$$731680$ph = $$711678;$$741065$ph = $$721063;$$761173$ph = $$741171;$$761279$ph = $$741277;$$80$ph = $$78;$$801389$ph = $$781387;$$sink1746 = $$771584; + label = 206; + continue L46; + } else { + $$711487 = $$701486;$$721679 = $$711678;$$731064 = $$721063;$$751172 = $$741171;$$751278 = $$741277;$$781585 = $$771584;$$79 = $$78;$$791388 = $$781387; + label = 204; + continue L46; + } + break; + } + case 208: { + label = 0; + $791 = 1 << $$771280; + $792 = (($791) + -1)|0; + $793 = $792 & $$811390; + $794 = $$811390 >>> $$771280; + $795 = (($$81) - ($$771280))|0; + $796 = (($793) + ($$751066))|0; + $$751682 = $$741681;$$761067 = $796;$$781175 = $$771174;$$781281 = $$771280;$$811588 = $$801587;$$82 = $795;$$821391 = $794; + label = 209; + break; + } + case 212: { + label = 0; + $807 = (($$801177) + -1)|0; + $808 = ($$801177|0)==(0); + if ($808) { + $$531469 = $$741490;$$531660 = $$771684;$$561047 = $$781069;$$571154 = $807;$$571564 = $$831590;$$58 = $$84;$$581261 = $$801283;$$581367 = $$841393; + label = 139; + } else { + $$751491 = $$741490;$$781685 = $$771684;$$791070 = $$781069;$$811178 = $807;$$811284 = $$801283;$$841591 = $$831590;$$85 = $$84;$$851394 = $$841393; + label = 213; + continue L46; + } + break; + } + } + do { + if ((label|0) == 70) { + label = 0; + $217 = ((($0)) + 52|0); + $218 = HEAP32[$217>>2]|0; + $219 = ($$381135>>>0)<($218>>>0); + if ($219) { + $220 = ($$39>>>0)<(3); + if ($220) { + $$351451 = $$341450;$$351642 = $$341641;$$391030 = $$381029;$$391136 = $$381135;$$391546 = $$381545;$$40 = $$39;$$401243 = $$391242;$$401349 = $$391348; + label = 72; + continue L125; + } else { + $$381454 = $$341450;$$381645 = $$341641;$$421033 = $$381029;$$421139 = $$381135;$$421549 = $$381545;$$43 = $$39;$$431246 = $$391242;$$431352 = $$391348; + label = 77; + continue L125; + } + } else { + HEAP32[$217>>2] = 19; + $$391455 = $$341450;$$391646 = $$341641;$$431034 = $$381029;$$431140 = $$381135;$$431550 = $$381545;$$44 = $$39;$$441247 = $$391242;$$441353 = $$391348; + label = 80; + continue L125; + } + } + else if ((label|0) == 105) { + label = 0; + $418 = ((($0)) + 44|0); + $419 = HEAP32[$418>>2]|0; + $420 = ((($0)) + 48|0); + $421 = HEAP32[$420>>2]|0; + $422 = (($421) + ($419))|0; + $423 = ($$451142>>>0)<($422>>>0); + if (!($423)) { + $529 = ($422|0)==($$451142|0); + if (!($529)) { + $$511467 = $$411457;$$511658 = $$411648;$$541045 = $$451036;$$551152 = $$451142;$$551562 = $$451552;$$56 = $$46;$$561259 = $$461249;$$561365 = $$461355; + label = 136; + continue L46; + } + $530 = ((($0)) + 64|0); + $531 = ((($0)) + 10532|0); + _memcpy(($530|0),($531|0),($419|0))|0; + $532 = ((($0)) + 3552|0); + $533 = HEAP32[$418>>2]|0; + $534 = (((($0)) + 10532|0) + ($533)|0); + $535 = HEAP32[$420>>2]|0; + _memcpy(($532|0),($534|0),($535|0))|0; + $$521468 = $$411457;$$521659 = $$411648;$$551046 = $$451036;$$561153 = $$451142;$$561563 = $$451552;$$57 = $$46;$$571260 = $$461249;$$571366 = $$461355; + label = 138; + break; + } + $424 = ($$46>>>0)<(15); + if (!($424)) { + $$451461 = $$411457;$$451652 = $$411648;$$491146 = $$451142;$$491556 = $$451552;$$50 = $$46;$$501253 = $$461249;$$501359 = $$461355; + label = 119; + continue L125; + } + $425 = $10; + $426 = $$451552; + $427 = (($425) - ($426))|0; + $428 = ($427|0)<(2); + if ($428) { + $$421458 = $$411457;$$421649 = $$411648;$$461037 = $$451036;$$461143 = $$451142;$$461553 = $$451552;$$47 = $$46;$$471250 = $$461249;$$471356 = $$461355; + label = 108; + continue L125; + } + $459 = HEAP8[$$451552>>0]|0; + $460 = $459&255; + $461 = $460 << $$46; + $462 = ((($$451552)) + 1|0); + $463 = HEAP8[$462>>0]|0; + $464 = $463&255; + $465 = (($$46) + 8)|0; + $466 = $464 << $465; + $467 = $461 | $$461355; + $468 = $467 | $466; + $469 = ((($$451552)) + 2|0); + $470 = (($$46) + 16)|0; + $$451461 = $$411457;$$451652 = $$411648;$$491146 = $$451142;$$491556 = $469;$$50 = $470;$$501253 = $$461249;$$501359 = $468; + label = 119; + continue L125; + } + else if ((label|0) == 176) { + label = 0; + $683 = $$641161 & 511; + $684 = ($683|0)==(256); + if ($684) { + $$761492 = $$601476;$$801071 = $$631054;$$801687 = $$611668;$$821285 = $$651268;$$831180 = 256;$$851592 = $$671574;$$86 = $$68;$$861395 = $$681377; + label = 220; + break L125; + } + $685 = (($683) + -257)|0; + $686 = (3160 + ($685<<2)|0); + $687 = HEAP32[$686>>2]|0; + $688 = (3284 + ($685<<2)|0); + $689 = HEAP32[$688>>2]|0; + $690 = (($683) + -265)|0; + $691 = ($690>>>0)<(20); + if ($691) { + $692 = ($$68>>>0)<($687>>>0); + if ($692) { + $$611477 = $$601476;$$621669 = $$611668;$$641055 = $$631054;$$651162 = $689;$$661269 = $687;$$681575 = $$671574;$$69 = $$68;$$691378 = $$681377; + label = 179; + continue L125; + } else { + $$641480 = $$601476;$$651672 = $$611668;$$671058 = $$631054;$$681165 = $689;$$691272 = $687;$$711578 = $$671574;$$72 = $$68;$$721381 = $$681377; + label = 184; + continue L125; + } + } else { + $$651481 = $$601476;$$661673 = $$611668;$$681059 = $$631054;$$691166 = $689;$$701273 = $687;$$721579 = $$671574;$$73 = $$68;$$731382 = $$681377; + label = 185; + } + } + else if ((label|0) == 209) { + label = 0; + $797 = $$751682; + $798 = $3; + $799 = (($797) - ($798))|0; + $$not = ($799>>>0)>=($$761067>>>0); + $$not1747 = $14 ^ 1; + $brmerge = $$not | $$not1747; + if (!($brmerge)) { + $$731489 = $799;$$761683 = $$751682;$$771068 = $$761067;$$791176 = $$781175;$$791282 = $$781281;$$821589 = $$811588;$$83 = $$82;$$831392 = $$821391; + label = 210; + continue L46; + } + $800 = (($799) - ($$761067))|0; + $801 = $800 & $$1753; + $802 = (($3) + ($801)|0); + $803 = ($$751682>>>0)>($802>>>0); + $804 = $803 ? $$751682 : $802; + $805 = (($804) + ($$781175)|0); + $806 = ($805>>>0)>($12>>>0); + if ($806) { + $$741490 = $799;$$771684 = $$751682;$$781069 = $$761067;$$801177 = $$781175;$$801283 = $$781281;$$831590 = $$811588;$$84 = $$82;$$841393 = $$821391; + label = 212; + continue L125; + } else { + $$0978 = $802;$$791686 = $$751682;$$821179 = $$781175; + } + while(1) { + $816 = HEAP8[$$0978>>0]|0; + HEAP8[$$791686>>0] = $816; + $817 = ((($$0978)) + 1|0); + $818 = HEAP8[$817>>0]|0; + $819 = ((($$791686)) + 1|0); + HEAP8[$819>>0] = $818; + $820 = ((($$0978)) + 2|0); + $821 = HEAP8[$820>>0]|0; + $822 = ((($$791686)) + 2|0); + HEAP8[$822>>0] = $821; + $823 = ((($$791686)) + 3|0); + $824 = ((($$0978)) + 3|0); + $825 = (($$821179) + -3)|0; + $826 = ($825|0)>(2); + if ($826) { + $$0978 = $824;$$791686 = $823;$$821179 = $825; } else { break; } } + $827 = ($825|0)>(0); + if ($827) { + $828 = HEAP8[$824>>0]|0; + HEAP8[$823>>0] = $828; + $829 = ($825|0)==(1); + if (!($829)) { + $830 = ((($$0978)) + 4|0); + $831 = HEAP8[$830>>0]|0; + $832 = ((($$791686)) + 4|0); + HEAP8[$832>>0] = $831; + } + $833 = (($823) + ($825)|0); + $$531469 = $799;$$531660 = $833;$$561047 = $$761067;$$571154 = $825;$$571564 = $$811588;$$58 = $$82;$$581261 = $$781281;$$581367 = $$821391; + label = 139; + } else { + $$531469 = $799;$$531660 = $823;$$561047 = $$761067;$$571154 = $825;$$571564 = $$811588;$$58 = $$82;$$581261 = $$781281;$$581367 = $$821391; + label = 139; + } } - $26 = HEAP32[$6>>2]|0; - _setup_free($p,$26); + } while(0); + if ((label|0) == 138) { + label = 0; + $536 = ((($0)) + 24|0); + $537 = HEAP32[$536>>2]|0; + $538 = (($537) + -1)|0; + HEAP32[$536>>2] = $538; + $$391455 = $$521468;$$391646 = $$521659;$$431034 = $$551046;$$431140 = $$561153;$$431550 = $$561563;$$44 = $$57;$$441247 = $$571260;$$441353 = $$571366; + label = 80; + continue; } - $27 = (((($5) + (($i$013*24)|0)|0)) + 20|0); - $28 = HEAP32[$27>>2]|0; - _setup_free($p,$28); - $29 = (($i$013) + 1)|0; - $30 = HEAP32[$0>>2]|0; - $31 = ($29|0)<($30|0); - if ($31) { - $i$013 = $29; + else if ((label|0) == 139) { + label = 0; + $$541470$ph = $$531469;$$541661$ph = $$531660;$$571048$ph = $$561047;$$581155$ph = $$571154;$$581565$ph = $$571564;$$59$ph = $$58;$$591262$ph = $$581261;$$591368$ph = $$581367; + label = 140; + continue; + } + else if ((label|0) == 185) { + label = 0; + $709 = ($$73>>>0)<(15); + if (!($709)) { + $$691485 = $$651481;$$701677 = $$661673;$$731170 = $$691166;$$761583 = $$721579;$$77 = $$73;$$771386 = $$731382; + label = 198; + continue; + } + $710 = $10; + $711 = $$721579; + $712 = (($710) - ($711))|0; + $713 = ($712|0)<(2); + if ($713) { + $$661482 = $$651481;$$671674 = $$661673;$$691060 = $$681059;$$701167 = $$691166;$$711274 = $$701273;$$731580 = $$721579;$$74 = $$73;$$741383 = $$731382; + label = 187; + continue; + } + $744 = HEAP8[$$721579>>0]|0; + $745 = $744&255; + $746 = $745 << $$73; + $747 = ((($$721579)) + 1|0); + $748 = HEAP8[$747>>0]|0; + $749 = $748&255; + $750 = (($$73) + 8)|0; + $751 = $749 << $750; + $752 = $746 | $$731382; + $753 = $752 | $751; + $754 = ((($$721579)) + 2|0); + $755 = (($$73) + 16)|0; + $$691485 = $$651481;$$701677 = $$661673;$$731170 = $$691166;$$761583 = $754;$$77 = $755;$$771386 = $753; + label = 198; + continue; + } + } + if ((label|0) == 113) { + label = 0; + $449 = ($$461553>>>0)<($10>>>0); + if ($449) { + $$441460$ph = $$421458;$$441651$ph = $$421649;$$481039$ph = $$461037;$$481145$ph = $$461143;$$49$ph = $$47;$$491252$ph = $$471250;$$491358$ph = $$471356;$$sink1729 = $$461553; + label = 116; + continue; } else { - break; + $$431459 = $$421458;$$431650 = $$421649;$$471038 = $$461037;$$471144 = $$461143;$$471554 = $$461553;$$48 = $$47;$$481251 = $$471250;$$481357 = $$471356; + label = 114; + continue; + } + } + else if ((label|0) == 150) { + label = 0; + $569 = ($$591566>>>0)<($10>>>0); + if ($569) { + $$571473$ph = $$551471;$$571664$ph = $$551662;$$601051$ph = $$581049;$$611158$ph = $$591156;$$62$ph = $$60;$$621265$ph = $$601263;$$621371$ph = $$601369;$$sink1736 = $$591566; + label = 153; + continue; + } else { + $$561472 = $$551471;$$561663 = $$551662;$$591050 = $$581049;$$601157 = $$591156;$$601567 = $$591566;$$61 = $$60;$$611264 = $$601263;$$611370 = $$601369; + label = 151; + continue; + } + } + else if ((label|0) == 192) { + label = 0; + $734 = ($$731580>>>0)<($10>>>0); + if ($734) { + $$681484$ph = $$661482;$$691676$ph = $$671674;$$711062$ph = $$691060;$$721169$ph = $$701167;$$731276$ph = $$711274;$$76$ph = $$74;$$761385$ph = $$741383;$$sink1743 = $$731580; + label = 195; + continue; + } else { + $$671483 = $$661482;$$681675 = $$671674;$$701061 = $$691060;$$711168 = $$701167;$$721275 = $$711274;$$741581 = $$731580;$$75 = $$74;$$751384 = $$741383; + label = 193; + continue; + } + } + else if ((label|0) == 220) { + label = 0; + $834 = ((($0)) + 20|0); + $835 = HEAP32[$834>>2]|0; + $836 = $835 & 1; + $837 = ($836|0)==(0); + if ($837) { + $$01416 = $$761492;$$01607 = $$801687;$$41511 = $$851592;$$5 = $$86;$$51102 = $$831180;$$51208 = $$821285;$$51314 = $$861395;$$5996 = $$801071; + label = 14; + continue; + } + $838 = $6 & 1; + $839 = ($838|0)==(0); + if ($839) { + $$881504 = $$761492;$$921083 = $$801071;$$921699 = $$801687;$$941191 = $$831180;$$941297 = $$821285;$$971604 = $$851592;$$98 = $$86;$$981407 = $$861395; + label = 242; + continue; + } else { + $$801496 = $$761492;$$841075 = $$801071;$$841691 = $$801687;$$861289 = $$821285;$$891596 = $$851592;$$90 = $$86;$$901399 = $$861395; + label = 226; + continue; } } } - $32 = ((($p)) + 140|0); - $33 = HEAP32[$32>>2]|0; - $34 = ($33|0)==(0|0); - if (!($34)) { - $35 = ((($p)) + 136|0); - $36 = HEAP32[$35>>2]|0; - $37 = ($36|0)>(0); - if ($37) { - $i$17 = 0; + if ((label|0) == 258) { + STACKTOP = sp;return ($$0951|0); + } + $892 = ((($0)) + 28|0); + $893 = HEAP32[$892>>2]|0; + $894 = $893 & 65535; + $895 = $893 >>> 16; + $896 = ($888|0)==(0); + if ($896) { + $$0937$lcssa = $895;$$0938$lcssa = $894; + } else { + $897 = (($888>>>0) % 5552)&-1; + $$01834 = $897;$$09371833 = $895;$$09381832 = $894;$$09431831 = $888;$$09441830 = $4; + while(1) { + $898 = ($$01834>>>0)>(7); + if ($898) { + $899 = (($$01834) + -8)|0; + $900 = $899 & -8; + $scevgep = ((($$09441830)) + 8|0); + $$09411816 = 0;$$11818 = $$09371833;$$19391817 = $$09381832;$$19451815 = $$09441830; + while(1) { + $904 = HEAP8[$$19451815>>0]|0; + $905 = $904&255; + $906 = (($905) + ($$19391817))|0; + $907 = (($906) + ($$11818))|0; + $908 = ((($$19451815)) + 1|0); + $909 = HEAP8[$908>>0]|0; + $910 = $909&255; + $911 = (($906) + ($910))|0; + $912 = (($907) + ($911))|0; + $913 = ((($$19451815)) + 2|0); + $914 = HEAP8[$913>>0]|0; + $915 = $914&255; + $916 = (($911) + ($915))|0; + $917 = (($912) + ($916))|0; + $918 = ((($$19451815)) + 3|0); + $919 = HEAP8[$918>>0]|0; + $920 = $919&255; + $921 = (($916) + ($920))|0; + $922 = (($917) + ($921))|0; + $923 = ((($$19451815)) + 4|0); + $924 = HEAP8[$923>>0]|0; + $925 = $924&255; + $926 = (($921) + ($925))|0; + $927 = (($922) + ($926))|0; + $928 = ((($$19451815)) + 5|0); + $929 = HEAP8[$928>>0]|0; + $930 = $929&255; + $931 = (($926) + ($930))|0; + $932 = (($927) + ($931))|0; + $933 = ((($$19451815)) + 6|0); + $934 = HEAP8[$933>>0]|0; + $935 = $934&255; + $936 = (($931) + ($935))|0; + $937 = (($932) + ($936))|0; + $938 = ((($$19451815)) + 7|0); + $939 = HEAP8[$938>>0]|0; + $940 = $939&255; + $941 = (($936) + ($940))|0; + $942 = (($937) + ($941))|0; + $943 = (($$09411816) + 8)|0; + $944 = ((($$19451815)) + 8|0); + $945 = $943 | 7; + $946 = ($945>>>0)<($$01834>>>0); + if ($946) { + $$09411816 = $943;$$11818 = $942;$$19391817 = $941;$$19451815 = $944; + } else { + break; + } + } + $901 = (($900) + 8)|0; + $scevgep1947 = (($scevgep) + ($900)|0); + $$0941$lcssa = $901;$$1$lcssa = $942;$$1939$lcssa = $941;$$1945$lcssa = $scevgep1947; + } else { + $$0941$lcssa = 0;$$1$lcssa = $$09371833;$$1939$lcssa = $$09381832;$$1945$lcssa = $$09441830; + } + $902 = ($$01834>>>0)>($$0941$lcssa>>>0); + if ($902) { + $903 = (($$01834) - ($$0941$lcssa))|0; + $$19421823 = $$0941$lcssa;$$21825 = $$1$lcssa;$$29401824 = $$1939$lcssa;$$29461822 = $$1945$lcssa; + while(1) { + $947 = ((($$29461822)) + 1|0); + $948 = HEAP8[$$29461822>>0]|0; + $949 = $948&255; + $950 = (($949) + ($$29401824))|0; + $951 = (($950) + ($$21825))|0; + $952 = (($$19421823) + 1)|0; + $exitcond = ($952|0)==($$01834|0); + if ($exitcond) { + break; + } else { + $$19421823 = $952;$$21825 = $951;$$29401824 = $950;$$29461822 = $947; + } + } + $scevgep1948 = (($$1945$lcssa) + ($903)|0); + $$2$lcssa = $951;$$2940$lcssa = $950;$$2946$lcssa = $scevgep1948; + } else { + $$2$lcssa = $$1$lcssa;$$2940$lcssa = $$1939$lcssa;$$2946$lcssa = $$1945$lcssa; + } + $953 = (($$2940$lcssa>>>0) % 65521)&-1; + $954 = (($$2$lcssa>>>0) % 65521)&-1; + $955 = (($$09431831) - ($$01834))|0; + $956 = ($955|0)==(0); + if ($956) { + $$0937$lcssa = $954;$$0938$lcssa = $953; + break; + } else { + $$01834 = 5552;$$09371833 = $954;$$09381832 = $953;$$09431831 = $955;$$09441830 = $$2946$lcssa; + } + } + } + $957 = $$0937$lcssa << 16; + $958 = $957 | $$0938$lcssa; + HEAP32[$892>>2] = $958; + $959 = ($$1961|0)!=(0); + $960 = $6 & 1; + $961 = ($960|0)==(0); + $or$cond1752 = $961 | $959; + if ($or$cond1752) { + $$0951 = $$1961; + STACKTOP = sp;return ($$0951|0); + } else { + $962 = ((($0)) + 16|0); + $963 = HEAP32[$962>>2]|0; + $964 = ($958|0)==($963|0); + $$1961$ = $964 ? $$1961 : -2; + STACKTOP = sp;return ($$1961$|0); + } + return (0)|0; +} +function _LoadTexture($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$byval_copy1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $$byval_copy1 = sp + 44|0; + $vararg_buffer = sp; + $2 = sp + 24|0; + $3 = sp + 4|0; + ;HEAP32[$2>>2]=0|0;HEAP32[$2+4>>2]=0|0;HEAP32[$2+8>>2]=0|0;HEAP32[$2+12>>2]=0|0;HEAP32[$2+16>>2]=0|0; + _LoadImage($3,$1); + $4 = HEAP32[$3>>2]|0; + $5 = ($4|0)==(0|0); + if ($5) { + _TraceLog(1,15804,$vararg_buffer); + ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$2+16>>2]|0; + STACKTOP = sp;return; + } else { + ;HEAP32[$$byval_copy1>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$3+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$3+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$3+16>>2]|0; + _LoadTextureFromImage($2,$$byval_copy1); + ;HEAP32[$$byval_copy1>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$3+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$3+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$3+16>>2]|0; + _UnloadImage($$byval_copy1); + ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$2+16>>2]|0; + STACKTOP = sp;return; + } +} +function _ImageAlphaMask($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $$031 = 0, $$032 = 0, $$033 = 0, $$byval_copy3 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; + var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; + var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, label = 0; + var sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $$byval_copy3 = sp + 32|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $2 = sp + 12|0; + $3 = ((($0)) + 4|0); + $4 = HEAP32[$3>>2]|0; + $5 = ((($1)) + 4|0); + $6 = HEAP32[$5>>2]|0; + $7 = ($4|0)==($6|0); + if ($7) { + $8 = ((($0)) + 8|0); + $9 = HEAP32[$8>>2]|0; + $10 = ((($1)) + 8|0); + $11 = HEAP32[$10>>2]|0; + $12 = ($9|0)==($11|0); + if ($12) { + $13 = ((($0)) + 16|0); + $14 = HEAP32[$13>>2]|0; + $15 = ($14|0)>(7); + if ($15) { + _TraceLog(1,15871,$vararg_buffer1); + STACKTOP = sp;return; + } + ;HEAP32[$$byval_copy3>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$$byval_copy3+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[$$byval_copy3+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[$$byval_copy3+16>>2]=HEAP32[$1+16>>2]|0; + _ImageCopy($2,$$byval_copy3); + $16 = ((($2)) + 16|0); + $17 = HEAP32[$16>>2]|0; + $18 = ($17|0)==(1); + if (!($18)) { + _ImageFormat($2,1); + } + $19 = HEAP32[$13>>2]|0; + L11: do { + switch ($19|0) { + case 1: { + _ImageFormat($0,2); + $20 = ((($2)) + 4|0); + $21 = HEAP32[$20>>2]|0; + $22 = ((($2)) + 8|0); + $23 = HEAP32[$22>>2]|0; + $24 = Math_imul($23, $21)|0; + $25 = HEAP32[$2>>2]|0; + $$032 = 1;$$033 = 0; + while(1) { + $26 = ($$033|0)<($24|0); + if (!($26)) { + $27 = HEAP32[$3>>2]|0; + $28 = HEAP32[$8>>2]|0; + $29 = Math_imul($28, $27)|0; + $30 = ($$033|0)<($29|0); + if (!($30)) { + break L11; + } + } + $31 = (($25) + ($$033)|0); + $32 = HEAP8[$31>>0]|0; + $33 = HEAP32[$0>>2]|0; + $34 = (($33) + ($$032)|0); + HEAP8[$34>>0] = $32; + $35 = (($$033) + 1)|0; + $36 = (($$032) + 2)|0; + $$032 = $36;$$033 = $35; + } + break; + } + case 7: { + label = 14; + break; + } + default: { + _ImageFormat($0,7); + label = 14; + } + } + } while(0); + L19: do { + if ((label|0) == 14) { + $37 = ((($2)) + 4|0); + $38 = HEAP32[$37>>2]|0; + $39 = ((($2)) + 8|0); + $40 = HEAP32[$39>>2]|0; + $41 = Math_imul($40, $38)|0; + $42 = HEAP32[$2>>2]|0; + $$0 = 3;$$031 = 0; + while(1) { + $43 = ($$031|0)<($41|0); + if (!($43)) { + $44 = HEAP32[$3>>2]|0; + $45 = HEAP32[$8>>2]|0; + $46 = Math_imul($45, $44)|0; + $47 = ($$031|0)<($46|0); + if (!($47)) { + break L19; + } + } + $48 = (($42) + ($$031)|0); + $49 = HEAP8[$48>>0]|0; + $50 = HEAP32[$0>>2]|0; + $51 = (($50) + ($$0)|0); + HEAP8[$51>>0] = $49; + $52 = (($$031) + 1)|0; + $53 = (($$0) + 4)|0; + $$0 = $53;$$031 = $52; + } + } + } while(0); + ;HEAP32[$$byval_copy3>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$$byval_copy3+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$$byval_copy3+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$$byval_copy3+16>>2]=HEAP32[$2+16>>2]|0; + _UnloadImage($$byval_copy3); + STACKTOP = sp;return; + } + } + _TraceLog(1,15833,$vararg_buffer); + STACKTOP = sp;return; +} +function _GetDefaultFont($0) { + $0 = $0|0; + var label = 0, sp = 0; + sp = STACKTOP; + ;HEAP32[$0>>2]=HEAP32[29968>>2]|0;HEAP32[$0+4>>2]=HEAP32[29968+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[29968+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[29968+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[29968+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[29968+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[29968+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[29968+28>>2]|0; + return; +} +function _GetCharIndex($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$08 = 0, $$09 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($0)) + 24|0); + $3 = HEAP32[$2>>2]|0; + $4 = ($3|0)>(0); + if (!($4)) { + $$08 = 0; + return ($$08|0); + } + $5 = ((($0)) + 28|0); + $6 = HEAP32[$5>>2]|0; + $$09 = 0; + while(1) { + $7 = (($6) + ($$09<<5)|0); + $8 = HEAP32[$7>>2]|0; + $9 = ($8|0)==($1|0); + if ($9) { + $$08 = $$09; + label = 5; + break; + } + $10 = (($$09) + 1)|0; + $11 = HEAP32[$2>>2]|0; + $12 = ($10|0)<($11|0); + if ($12) { + $$09 = $10; + } else { + $$08 = 0; + label = 5; + break; + } + } + if ((label|0) == 5) { + return ($$08|0); + } + return (0)|0; +} +function _SetTextureFilter($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $vararg_buffer = sp; + switch ($1|0) { + case 0: { + $2 = ((($0)) + 12|0); + $3 = HEAP32[$2>>2]|0; + $4 = ($3|0)>(1); + $5 = HEAP32[$0>>2]|0; + if ($4) { + _rlTextureParameters($5,10241,9984); + $6 = HEAP32[$0>>2]|0; + _rlTextureParameters($6,10240,9728); + STACKTOP = sp;return; + } else { + _rlTextureParameters($5,10241,9728); + $7 = HEAP32[$0>>2]|0; + _rlTextureParameters($7,10240,9728); + STACKTOP = sp;return; + } + break; + } + case 1: { + $8 = ((($0)) + 12|0); + $9 = HEAP32[$8>>2]|0; + $10 = ($9|0)>(1); + $11 = HEAP32[$0>>2]|0; + if ($10) { + _rlTextureParameters($11,10241,9985); + $12 = HEAP32[$0>>2]|0; + _rlTextureParameters($12,10240,9729); + STACKTOP = sp;return; + } else { + _rlTextureParameters($11,10241,9729); + $13 = HEAP32[$0>>2]|0; + _rlTextureParameters($13,10240,9729); + STACKTOP = sp;return; + } + break; + } + case 2: { + $14 = ((($0)) + 12|0); + $15 = HEAP32[$14>>2]|0; + $16 = ($15|0)>(1); + $17 = HEAP32[$0>>2]|0; + if ($16) { + _rlTextureParameters($17,10241,9987); + $18 = HEAP32[$0>>2]|0; + _rlTextureParameters($18,10240,9729); + STACKTOP = sp;return; + } else { + HEAP32[$vararg_buffer>>2] = $17; + _TraceLog(1,15928,$vararg_buffer); + $19 = HEAP32[$0>>2]|0; + _rlTextureParameters($19,10241,9729); + _rlTextureParameters($19,10240,9729); + STACKTOP = sp;return; + } + break; + } + case 3: { + $20 = HEAP32[$0>>2]|0; + _rlTextureParameters($20,12288,4); + STACKTOP = sp;return; + break; + } + case 4: { + $21 = HEAP32[$0>>2]|0; + _rlTextureParameters($21,12288,8); + STACKTOP = sp;return; + break; + } + case 5: { + $22 = HEAP32[$0>>2]|0; + _rlTextureParameters($22,12288,16); + STACKTOP = sp;return; + break; + } + default: { + STACKTOP = sp;return; + } + } +} +function _DrawTexture($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $4 = 0, $5 = 0.0, $6 = 0, $7 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0); + $$byval_copy2 = sp + 40|0; + $$byval_copy1 = sp + 32|0; + $$byval_copy = sp + 8|0; + $4 = sp; + $5 = (+($1|0)); + HEAPF32[$4>>2] = $5; + $6 = ((($4)) + 4|0); + $7 = (+($2|0)); + HEAPF32[$6>>2] = $7; + ;HEAP32[$$byval_copy>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$0+16>>2]|0; + ;HEAP32[$$byval_copy1>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$4+4>>2]|0; + ;HEAP8[$$byval_copy2>>0]=HEAP8[$3>>0]|0;HEAP8[$$byval_copy2+1>>0]=HEAP8[$3+1>>0]|0;HEAP8[$$byval_copy2+2>>0]=HEAP8[$3+2>>0]|0;HEAP8[$$byval_copy2+3>>0]=HEAP8[$3+3>>0]|0; + _DrawTextureEx($$byval_copy,$$byval_copy1,0.0,1.0,$$byval_copy2); + STACKTOP = sp;return; +} +function _DrawTextureEx($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = +$2; + $3 = +$3; + $4 = $4|0; + var $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $$byval_copy3 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0.0, $16 = 0, $17 = 0, $18 = 0, $19 = 0.0, $20 = 0, $21 = 0, $22 = 0, $23 = 0.0, $24 = 0.0, $25 = 0; + var $26 = 0, $27 = 0, $28 = 0.0, $29 = 0.0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $tmpcast$byval_copy = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0); + $$byval_copy3 = sp + 104|0; + $tmpcast$byval_copy = sp + 96|0; + $$byval_copy2 = sp + 80|0; + $$byval_copy1 = sp + 64|0; + $$byval_copy = sp + 40|0; + $5 = sp + 24|0; + $6 = sp + 8|0; + $7 = sp; + HEAP32[$5>>2] = 0; + $8 = ((($5)) + 4|0); + HEAP32[$8>>2] = 0; + $9 = ((($5)) + 8|0); + $10 = ((($0)) + 4|0); + $11 = HEAP32[$10>>2]|0; + HEAP32[$9>>2] = $11; + $12 = ((($5)) + 12|0); + $13 = ((($0)) + 8|0); + $14 = HEAP32[$13>>2]|0; + HEAP32[$12>>2] = $14; + $15 = +HEAPF32[$1>>2]; + $16 = (~~(($15))); + HEAP32[$6>>2] = $16; + $17 = ((($6)) + 4|0); + $18 = ((($1)) + 4|0); + $19 = +HEAPF32[$18>>2]; + $20 = (~~(($19))); + HEAP32[$17>>2] = $20; + $21 = ((($6)) + 8|0); + $22 = HEAP32[$10>>2]|0; + $23 = (+($22|0)); + $24 = $23 * $3; + $25 = (~~(($24))); + HEAP32[$21>>2] = $25; + $26 = ((($6)) + 12|0); + $27 = HEAP32[$13>>2]|0; + $28 = (+($27|0)); + $29 = $28 * $3; + $30 = (~~(($29))); + HEAP32[$26>>2] = $30; + $31 = $7; + $32 = $31; + HEAP32[$32>>2] = 0; + $33 = (($31) + 4)|0; + $34 = $33; + HEAP32[$34>>2] = 0; + ;HEAP32[$$byval_copy>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$0+16>>2]|0; + ;HEAP32[$$byval_copy1>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$5+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$5+12>>2]|0; + ;HEAP32[$$byval_copy2>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$6+4>>2]|0;HEAP32[$$byval_copy2+8>>2]=HEAP32[$6+8>>2]|0;HEAP32[$$byval_copy2+12>>2]=HEAP32[$6+12>>2]|0; + ;HEAP32[$tmpcast$byval_copy>>2]=HEAP32[$7>>2]|0;HEAP32[$tmpcast$byval_copy+4>>2]=HEAP32[$7+4>>2]|0; + ;HEAP8[$$byval_copy3>>0]=HEAP8[$4>>0]|0;HEAP8[$$byval_copy3+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$$byval_copy3+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$$byval_copy3+3>>0]=HEAP8[$4+3>>0]|0; + _DrawTexturePro($$byval_copy,$$byval_copy1,$$byval_copy2,$tmpcast$byval_copy,$2,$$byval_copy3); + STACKTOP = sp;return; +} +function _DrawTexturePro($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = +$4; + $5 = $5|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0.0, $22 = 0, $23 = 0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0, $28 = 0.0, $29 = 0.0; + var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0.0, $39 = 0, $40 = 0, $41 = 0.0, $42 = 0.0, $43 = 0, $44 = 0, $45 = 0.0, $46 = 0, $47 = 0, $48 = 0.0, $49 = 0.0; + var $50 = 0, $51 = 0.0, $52 = 0, $53 = 0.0, $54 = 0.0, $55 = 0, $56 = 0, $57 = 0, $58 = 0.0, $59 = 0, $6 = 0, $60 = 0.0, $61 = 0.0, $62 = 0, $63 = 0, $64 = 0.0, $65 = 0, $66 = 0, $67 = 0, $68 = 0.0; + var $69 = 0, $7 = 0, $70 = 0.0, $71 = 0.0, $72 = 0, $73 = 0, $74 = 0, $75 = 0.0, $76 = 0, $77 = 0.0, $78 = 0.0, $79 = 0, $8 = 0, $80 = 0, $81 = 0.0, $82 = 0, $83 = 0.0, $84 = 0, $85 = 0, $86 = 0; + var $87 = 0.0, $88 = 0, $89 = 0.0, $9 = 0, $90 = 0.0, $91 = 0, $92 = 0.0, $93 = 0, $94 = 0.0, $95 = 0.0, $96 = 0, $97 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $6 = HEAP32[$0>>2]|0; + $7 = ($6|0)==(0); + if ($7) { + return; + } + $8 = ((($1)) + 8|0); + $9 = HEAP32[$8>>2]|0; + $10 = ($9|0)<(0); + if ($10) { + $11 = HEAP32[$1>>2]|0; + $12 = (($11) - ($9))|0; + HEAP32[$1>>2] = $12; + } + $13 = ((($1)) + 12|0); + $14 = HEAP32[$13>>2]|0; + $15 = ($14|0)<(0); + if ($15) { + $16 = ((($1)) + 4|0); + $17 = HEAP32[$16>>2]|0; + $18 = (($17) - ($14))|0; + HEAP32[$16>>2] = $18; + } + $19 = HEAP32[$0>>2]|0; + _rlEnableTexture($19); + _rlPushMatrix(); + $20 = HEAP32[$2>>2]|0; + $21 = (+($20|0)); + $22 = ((($2)) + 4|0); + $23 = HEAP32[$22>>2]|0; + $24 = (+($23|0)); + _rlTranslatef($21,$24,0.0); + _rlRotatef($4,0.0,0.0,1.0); + $25 = +HEAPF32[$3>>2]; + $26 = -$25; + $27 = ((($3)) + 4|0); + $28 = +HEAPF32[$27>>2]; + $29 = -$28; + _rlTranslatef($26,$29,0.0); + _rlBegin(7); + $30 = HEAP8[$5>>0]|0; + $31 = ((($5)) + 1|0); + $32 = HEAP8[$31>>0]|0; + $33 = ((($5)) + 2|0); + $34 = HEAP8[$33>>0]|0; + $35 = ((($5)) + 3|0); + $36 = HEAP8[$35>>0]|0; + _rlColor4ub($30,$32,$34,$36); + $37 = HEAP32[$1>>2]|0; + $38 = (+($37|0)); + $39 = ((($0)) + 4|0); + $40 = HEAP32[$39>>2]|0; + $41 = (+($40|0)); + $42 = $38 / $41; + $43 = ((($1)) + 4|0); + $44 = HEAP32[$43>>2]|0; + $45 = (+($44|0)); + $46 = ((($0)) + 8|0); + $47 = HEAP32[$46>>2]|0; + $48 = (+($47|0)); + $49 = $45 / $48; + _rlTexCoord2f($42,$49); + _rlVertex2f(0.0,0.0); + $50 = HEAP32[$1>>2]|0; + $51 = (+($50|0)); + $52 = HEAP32[$39>>2]|0; + $53 = (+($52|0)); + $54 = $51 / $53; + $55 = HEAP32[$43>>2]|0; + $56 = HEAP32[$13>>2]|0; + $57 = (($56) + ($55))|0; + $58 = (+($57|0)); + $59 = HEAP32[$46>>2]|0; + $60 = (+($59|0)); + $61 = $58 / $60; + _rlTexCoord2f($54,$61); + $62 = ((($2)) + 12|0); + $63 = HEAP32[$62>>2]|0; + $64 = (+($63|0)); + _rlVertex2f(0.0,$64); + $65 = HEAP32[$1>>2]|0; + $66 = HEAP32[$8>>2]|0; + $67 = (($66) + ($65))|0; + $68 = (+($67|0)); + $69 = HEAP32[$39>>2]|0; + $70 = (+($69|0)); + $71 = $68 / $70; + $72 = HEAP32[$43>>2]|0; + $73 = HEAP32[$13>>2]|0; + $74 = (($73) + ($72))|0; + $75 = (+($74|0)); + $76 = HEAP32[$46>>2]|0; + $77 = (+($76|0)); + $78 = $75 / $77; + _rlTexCoord2f($71,$78); + $79 = ((($2)) + 8|0); + $80 = HEAP32[$79>>2]|0; + $81 = (+($80|0)); + $82 = HEAP32[$62>>2]|0; + $83 = (+($82|0)); + _rlVertex2f($81,$83); + $84 = HEAP32[$1>>2]|0; + $85 = HEAP32[$8>>2]|0; + $86 = (($85) + ($84))|0; + $87 = (+($86|0)); + $88 = HEAP32[$39>>2]|0; + $89 = (+($88|0)); + $90 = $87 / $89; + $91 = HEAP32[$43>>2]|0; + $92 = (+($91|0)); + $93 = HEAP32[$46>>2]|0; + $94 = (+($93|0)); + $95 = $92 / $94; + _rlTexCoord2f($90,$95); + $96 = HEAP32[$79>>2]|0; + $97 = (+($96|0)); + _rlVertex2f($97,0.0); + _rlEnd(); + _rlPopMatrix(); + _rlDisableTexture(); + return; +} +function _DrawTextureRec($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $$byval_copy3 = 0, $10 = 0.0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $4 = 0, $5 = 0; + var $6 = 0.0, $7 = 0, $8 = 0, $9 = 0, $ispos = 0, $ispos1 = 0, $neg = 0, $neg2 = 0, $tmpcast$byval_copy = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0); + $$byval_copy3 = sp + 88|0; + $tmpcast$byval_copy = sp + 80|0; + $$byval_copy2 = sp + 64|0; + $$byval_copy1 = sp + 48|0; + $$byval_copy = sp + 24|0; + $4 = sp + 8|0; + $5 = sp; + $6 = +HEAPF32[$2>>2]; + $7 = (~~(($6))); + HEAP32[$4>>2] = $7; + $8 = ((($4)) + 4|0); + $9 = ((($2)) + 4|0); + $10 = +HEAPF32[$9>>2]; + $11 = (~~(($10))); + HEAP32[$8>>2] = $11; + $12 = ((($4)) + 8|0); + $13 = ((($1)) + 8|0); + $14 = HEAP32[$13>>2]|0; + $ispos = ($14|0)>(-1); + $neg = (0 - ($14))|0; + $15 = $ispos ? $14 : $neg; + HEAP32[$12>>2] = $15; + $16 = ((($4)) + 12|0); + $17 = ((($1)) + 12|0); + $18 = HEAP32[$17>>2]|0; + $ispos1 = ($18|0)>(-1); + $neg2 = (0 - ($18))|0; + $19 = $ispos1 ? $18 : $neg2; + HEAP32[$16>>2] = $19; + $20 = $5; + $21 = $20; + HEAP32[$21>>2] = 0; + $22 = (($20) + 4)|0; + $23 = $22; + HEAP32[$23>>2] = 0; + ;HEAP32[$$byval_copy>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$0+16>>2]|0; + ;HEAP32[$$byval_copy1>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$1+12>>2]|0; + ;HEAP32[$$byval_copy2>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$4+4>>2]|0;HEAP32[$$byval_copy2+8>>2]=HEAP32[$4+8>>2]|0;HEAP32[$$byval_copy2+12>>2]=HEAP32[$4+12>>2]|0; + ;HEAP32[$tmpcast$byval_copy>>2]=HEAP32[$5>>2]|0;HEAP32[$tmpcast$byval_copy+4>>2]=HEAP32[$5+4>>2]|0; + ;HEAP8[$$byval_copy3>>0]=HEAP8[$3>>0]|0;HEAP8[$$byval_copy3+1>>0]=HEAP8[$3+1>>0]|0;HEAP8[$$byval_copy3+2>>0]=HEAP8[$3+2>>0]|0;HEAP8[$$byval_copy3+3>>0]=HEAP8[$3+3>>0]|0; + _DrawTexturePro($$byval_copy,$$byval_copy1,$$byval_copy2,$tmpcast$byval_copy,0.0,$$byval_copy3); + STACKTOP = sp;return; +} +function _LoadSpriteFont($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$byval_copy2 = 0, $$byval_copy5 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0); + $$byval_copy5 = sp + 232|0; + $$byval_copy2 = sp + 212|0; + $vararg_buffer = sp; + $2 = sp + 96|0; + $3 = sp + 192|0; + $4 = sp + 160|0; + $5 = sp + 128|0; + $6 = sp + 40|0; + $7 = sp + 252|0; + $8 = sp + 64|0; + $9 = sp + 8|0; + ;HEAP32[$2>>2]=0|0;HEAP32[$2+4>>2]=0|0;HEAP32[$2+8>>2]=0|0;HEAP32[$2+12>>2]=0|0;HEAP32[$2+16>>2]=0|0;HEAP32[$2+20>>2]=0|0;HEAP32[$2+24>>2]=0|0;HEAP32[$2+28>>2]=0|0; + $10 = (_IsFileExtension($1,18536)|0); + $11 = ($10|0)==(0); + do { + if ($11) { + $35 = (_IsFileExtension($1,15993)|0); + $36 = ($35|0)==(0); + if (!($36)) { + _LoadSpriteFontEx($4,$1,32,0,0); + ;HEAP32[$2>>2]=HEAP32[$4>>2]|0;HEAP32[$2+4>>2]=HEAP32[$4+4>>2]|0;HEAP32[$2+8>>2]=HEAP32[$4+8>>2]|0;HEAP32[$2+12>>2]=HEAP32[$4+12>>2]|0;HEAP32[$2+16>>2]=HEAP32[$4+16>>2]|0;HEAP32[$2+20>>2]=HEAP32[$4+20>>2]|0;HEAP32[$2+24>>2]=HEAP32[$4+24>>2]|0;HEAP32[$2+28>>2]=HEAP32[$4+28>>2]|0; + break; + } + $37 = (_IsFileExtension($1,15998)|0); + $38 = ($37|0)==(0); + if (!($38)) { + _LoadBMFont($5,$1); + ;HEAP32[$2>>2]=HEAP32[$5>>2]|0;HEAP32[$2+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$2+8>>2]=HEAP32[$5+8>>2]|0;HEAP32[$2+12>>2]=HEAP32[$5+12>>2]|0;HEAP32[$2+16>>2]=HEAP32[$5+16>>2]|0;HEAP32[$2+20>>2]=HEAP32[$5+20>>2]|0;HEAP32[$2+24>>2]=HEAP32[$5+24>>2]|0;HEAP32[$2+28>>2]=HEAP32[$5+28>>2]|0; + break; + } + _LoadImage($6,$1); + $39 = HEAP32[$6>>2]|0; + $40 = ($39|0)==(0|0); + if (!($40)) { + HEAP8[$7>>0] = -1; + $41 = ((($7)) + 1|0); + HEAP8[$41>>0] = 0; + $42 = ((($7)) + 2|0); + HEAP8[$42>>0] = -1; + $43 = ((($7)) + 3|0); + HEAP8[$43>>0] = -1; + ;HEAP32[$$byval_copy2>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$6+4>>2]|0;HEAP32[$$byval_copy2+8>>2]=HEAP32[$6+8>>2]|0;HEAP32[$$byval_copy2+12>>2]=HEAP32[$6+12>>2]|0;HEAP32[$$byval_copy2+16>>2]=HEAP32[$6+16>>2]|0; + ;HEAP8[$$byval_copy5>>0]=HEAP8[$7>>0]|0;HEAP8[$$byval_copy5+1>>0]=HEAP8[$7+1>>0]|0;HEAP8[$$byval_copy5+2>>0]=HEAP8[$7+2>>0]|0;HEAP8[$$byval_copy5+3>>0]=HEAP8[$7+3>>0]|0; + _LoadImageFont($8,$$byval_copy2,$$byval_copy5); + ;HEAP32[$2>>2]=HEAP32[$8>>2]|0;HEAP32[$2+4>>2]=HEAP32[$8+4>>2]|0;HEAP32[$2+8>>2]=HEAP32[$8+8>>2]|0;HEAP32[$2+12>>2]=HEAP32[$8+12>>2]|0;HEAP32[$2+16>>2]=HEAP32[$8+16>>2]|0;HEAP32[$2+20>>2]=HEAP32[$8+20>>2]|0;HEAP32[$2+24>>2]=HEAP32[$8+24>>2]|0;HEAP32[$2+28>>2]=HEAP32[$8+28>>2]|0; + } + ;HEAP32[$$byval_copy5>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$6+4>>2]|0;HEAP32[$$byval_copy5+8>>2]=HEAP32[$6+8>>2]|0;HEAP32[$$byval_copy5+12>>2]=HEAP32[$6+12>>2]|0;HEAP32[$$byval_copy5+16>>2]=HEAP32[$6+16>>2]|0; + _UnloadImage($$byval_copy5); + } else { + $12 = (_LoadResource($1,0)|0); + $13 = HEAP32[$12>>2]|0; + $14 = ($13|0)==(5); + if ($14) { + $15 = ((($12)) + 20|0); + $16 = HEAP32[$15>>2]|0; + $17 = ((($12)) + 4|0); + $18 = HEAP32[$17>>2]|0; + $19 = ((($12)) + 8|0); + $20 = HEAP32[$19>>2]|0; + $21 = ((($12)) + 12|0); + $22 = HEAP32[$21>>2]|0; + _LoadImagePro($$byval_copy2,$16,$18,$20,$22); + ;HEAP32[$$byval_copy5>>2]=HEAP32[$$byval_copy2>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$$byval_copy2+4>>2]|0;HEAP32[$$byval_copy5+8>>2]=HEAP32[$$byval_copy2+8>>2]|0;HEAP32[$$byval_copy5+12>>2]=HEAP32[$$byval_copy2+12>>2]|0;HEAP32[$$byval_copy5+16>>2]=HEAP32[$$byval_copy2+16>>2]|0; + _LoadTextureFromImage($3,$$byval_copy5); + ;HEAP32[$2>>2]=HEAP32[$3>>2]|0;HEAP32[$2+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$2+8>>2]=HEAP32[$3+8>>2]|0;HEAP32[$2+12>>2]=HEAP32[$3+12>>2]|0;HEAP32[$2+16>>2]=HEAP32[$3+16>>2]|0; + ;HEAP32[$$byval_copy5>>2]=HEAP32[$$byval_copy2>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$$byval_copy2+4>>2]|0;HEAP32[$$byval_copy5+8>>2]=HEAP32[$$byval_copy2+8>>2]|0;HEAP32[$$byval_copy5+12>>2]=HEAP32[$$byval_copy2+12>>2]|0;HEAP32[$$byval_copy5+16>>2]=HEAP32[$$byval_copy2+16>>2]|0; + _UnloadImage($$byval_copy5); + } + $23 = ((($12)) + 24|0); + $24 = HEAP32[$23>>2]|0; + $25 = ($24|0)==(6); + if ($25) { + $26 = ((($12)) + 28|0); + $27 = HEAP32[$26>>2]|0; + $28 = ((($2)) + 20|0); + HEAP32[$28>>2] = $27; + $29 = ((($12)) + 32|0); + $30 = HEAP32[$29>>2]|0; + $31 = ((($2)) + 24|0); + HEAP32[$31>>2] = $30; + $32 = ((($12)) + 44|0); + $33 = HEAP32[$32>>2]|0; + $34 = ((($2)) + 28|0); + HEAP32[$34>>2] = $33; + } + } + } while(0); + $44 = HEAP32[$2>>2]|0; + $45 = ($44|0)==(0); + if ($45) { + HEAP32[$vararg_buffer>>2] = $1; + _TraceLog(1,16003,$vararg_buffer); + _GetDefaultFont($9); + ;HEAP32[$2>>2]=HEAP32[$9>>2]|0;HEAP32[$2+4>>2]=HEAP32[$9+4>>2]|0;HEAP32[$2+8>>2]=HEAP32[$9+8>>2]|0;HEAP32[$2+12>>2]=HEAP32[$9+12>>2]|0;HEAP32[$2+16>>2]=HEAP32[$9+16>>2]|0;HEAP32[$2+20>>2]=HEAP32[$9+20>>2]|0;HEAP32[$2+24>>2]=HEAP32[$9+24>>2]|0;HEAP32[$2+28>>2]=HEAP32[$9+28>>2]|0; + ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$2+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[$2+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[$2+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[$2+28>>2]|0; + STACKTOP = sp;return; + } else { + ;HEAP32[$$byval_copy5>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$$byval_copy5+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$$byval_copy5+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$$byval_copy5+16>>2]=HEAP32[$2+16>>2]|0; + _SetTextureFilter($$byval_copy5,0); + ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$2+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[$2+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[$2+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[$2+28>>2]|0; + STACKTOP = sp;return; + } +} +function _LoadSpriteFontEx($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$048 = 0, $$sroa$0$0 = 0, $$sroa$0$0$copyload = 0, $$sroa$0$0$copyload15 = 0, $$sroa$0$0$copyload17 = 0, $$sroa$0$1 = 0, $$sroa$8 = 0, $$sroa$8$0$$sroa_idx = 0, $$sroa$8$0$$sroa_idx23 = 0, $$sroa$8$0$$sroa_idx26 = 0, $$sroa$8$0$$sroa_idx29 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $5 = 0, $6 = 0; + var $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $or$cond = 0, $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 144|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(144|0); + $vararg_buffer = sp; + $$sroa$8 = sp + 104|0; + $5 = sp + 72|0; + $6 = sp + 40|0; + $7 = sp + 8|0; + ;HEAP32[$$sroa$8>>2]=0|0;HEAP32[$$sroa$8+4>>2]=0|0;HEAP32[$$sroa$8+8>>2]=0|0;HEAP32[$$sroa$8+12>>2]=0|0;HEAP32[$$sroa$8+16>>2]=0|0;HEAP32[$$sroa$8+20>>2]=0|0;HEAP32[$$sroa$8+24>>2]=0|0; + $8 = (_IsFileExtension($1,15993)|0); + $9 = ($8|0)==(0); + if (!($9)) { + $10 = ($4|0)==(0|0); + $11 = ($3|0)==(0); + $or$cond = $11 | $10; + if ($or$cond) { + $12 = (_malloc(380)|0); + $$048 = 0; while(1) { - $38 = HEAP32[$32>>2]|0; - $39 = (((($38) + (($i$17*2096)|0)|0)) + 8|0); - $40 = HEAP32[$39>>2]|0; - _setup_free($p,$40); - $41 = (((($38) + (($i$17*2096)|0)|0)) + 28|0); - $42 = HEAP32[$41>>2]|0; - _setup_free($p,$42); - $43 = (((($38) + (($i$17*2096)|0)|0)) + 32|0); - $44 = HEAP32[$43>>2]|0; - _setup_free($p,$44); - $45 = (((($38) + (($i$17*2096)|0)|0)) + 2084|0); - $46 = HEAP32[$45>>2]|0; - _setup_free($p,$46); - $47 = (((($38) + (($i$17*2096)|0)|0)) + 2088|0); - $48 = HEAP32[$47>>2]|0; - $49 = ($48|0)==(0|0); - $50 = ((($48)) + -4|0); - $51 = $49 ? 0 : $50; - _setup_free($p,$51); - $52 = (($i$17) + 1)|0; - $53 = HEAP32[$35>>2]|0; - $54 = ($52|0)<($53|0); - if ($54) { - $i$17 = $52; + $13 = (($$048) + 32)|0; + $14 = (($12) + ($$048<<2)|0); + HEAP32[$14>>2] = $13; + $15 = (($$048) + 1)|0; + $exitcond = ($15|0)==(95); + if ($exitcond) { + break; + } else { + $$048 = $15; + } + } + _LoadTTF($5,$1,$2,95,$12); + $$sroa$0$0$copyload = HEAP32[$5>>2]|0; + $$sroa$8$0$$sroa_idx = ((($5)) + 4|0); + ;HEAP32[$$sroa$8>>2]=HEAP32[$$sroa$8$0$$sroa_idx>>2]|0;HEAP32[$$sroa$8+4>>2]=HEAP32[$$sroa$8$0$$sroa_idx+4>>2]|0;HEAP32[$$sroa$8+8>>2]=HEAP32[$$sroa$8$0$$sroa_idx+8>>2]|0;HEAP32[$$sroa$8+12>>2]=HEAP32[$$sroa$8$0$$sroa_idx+12>>2]|0;HEAP32[$$sroa$8+16>>2]=HEAP32[$$sroa$8$0$$sroa_idx+16>>2]|0;HEAP32[$$sroa$8+20>>2]=HEAP32[$$sroa$8$0$$sroa_idx+20>>2]|0;HEAP32[$$sroa$8+24>>2]=HEAP32[$$sroa$8$0$$sroa_idx+24>>2]|0; + $$sroa$0$0 = $$sroa$0$0$copyload; + } else { + _LoadTTF($6,$1,$2,$3,$4); + $$sroa$0$0$copyload15 = HEAP32[$6>>2]|0; + $$sroa$8$0$$sroa_idx23 = ((($6)) + 4|0); + ;HEAP32[$$sroa$8>>2]=HEAP32[$$sroa$8$0$$sroa_idx23>>2]|0;HEAP32[$$sroa$8+4>>2]=HEAP32[$$sroa$8$0$$sroa_idx23+4>>2]|0;HEAP32[$$sroa$8+8>>2]=HEAP32[$$sroa$8$0$$sroa_idx23+8>>2]|0;HEAP32[$$sroa$8+12>>2]=HEAP32[$$sroa$8$0$$sroa_idx23+12>>2]|0;HEAP32[$$sroa$8+16>>2]=HEAP32[$$sroa$8$0$$sroa_idx23+16>>2]|0;HEAP32[$$sroa$8+20>>2]=HEAP32[$$sroa$8$0$$sroa_idx23+20>>2]|0;HEAP32[$$sroa$8+24>>2]=HEAP32[$$sroa$8$0$$sroa_idx23+24>>2]|0; + $$sroa$0$0 = $$sroa$0$0$copyload15; + } + $16 = ($$sroa$0$0|0)==(0); + if (!($16)) { + $$sroa$0$1 = $$sroa$0$0; + HEAP32[$0>>2] = $$sroa$0$1; + $$sroa$8$0$$sroa_idx29 = ((($0)) + 4|0); + ;HEAP32[$$sroa$8$0$$sroa_idx29>>2]=HEAP32[$$sroa$8>>2]|0;HEAP32[$$sroa$8$0$$sroa_idx29+4>>2]=HEAP32[$$sroa$8+4>>2]|0;HEAP32[$$sroa$8$0$$sroa_idx29+8>>2]=HEAP32[$$sroa$8+8>>2]|0;HEAP32[$$sroa$8$0$$sroa_idx29+12>>2]=HEAP32[$$sroa$8+12>>2]|0;HEAP32[$$sroa$8$0$$sroa_idx29+16>>2]=HEAP32[$$sroa$8+16>>2]|0;HEAP32[$$sroa$8$0$$sroa_idx29+20>>2]=HEAP32[$$sroa$8+20>>2]|0;HEAP32[$$sroa$8$0$$sroa_idx29+24>>2]=HEAP32[$$sroa$8+24>>2]|0; + STACKTOP = sp;return; + } + } + HEAP32[$vararg_buffer>>2] = $1; + _TraceLog(1,16547,$vararg_buffer); + _GetDefaultFont($7); + $$sroa$0$0$copyload17 = HEAP32[$7>>2]|0; + $$sroa$8$0$$sroa_idx26 = ((($7)) + 4|0); + ;HEAP32[$$sroa$8>>2]=HEAP32[$$sroa$8$0$$sroa_idx26>>2]|0;HEAP32[$$sroa$8+4>>2]=HEAP32[$$sroa$8$0$$sroa_idx26+4>>2]|0;HEAP32[$$sroa$8+8>>2]=HEAP32[$$sroa$8$0$$sroa_idx26+8>>2]|0;HEAP32[$$sroa$8+12>>2]=HEAP32[$$sroa$8$0$$sroa_idx26+12>>2]|0;HEAP32[$$sroa$8+16>>2]=HEAP32[$$sroa$8$0$$sroa_idx26+16>>2]|0;HEAP32[$$sroa$8+20>>2]=HEAP32[$$sroa$8$0$$sroa_idx26+20>>2]|0;HEAP32[$$sroa$8+24>>2]=HEAP32[$$sroa$8$0$$sroa_idx26+24>>2]|0; + $$sroa$0$1 = $$sroa$0$0$copyload17; + HEAP32[$0>>2] = $$sroa$0$1; + $$sroa$8$0$$sroa_idx29 = ((($0)) + 4|0); + ;HEAP32[$$sroa$8$0$$sroa_idx29>>2]=HEAP32[$$sroa$8>>2]|0;HEAP32[$$sroa$8$0$$sroa_idx29+4>>2]=HEAP32[$$sroa$8+4>>2]|0;HEAP32[$$sroa$8$0$$sroa_idx29+8>>2]=HEAP32[$$sroa$8+8>>2]|0;HEAP32[$$sroa$8$0$$sroa_idx29+12>>2]=HEAP32[$$sroa$8+12>>2]|0;HEAP32[$$sroa$8$0$$sroa_idx29+16>>2]=HEAP32[$$sroa$8+16>>2]|0;HEAP32[$$sroa$8$0$$sroa_idx29+20>>2]=HEAP32[$$sroa$8+20>>2]|0;HEAP32[$$sroa$8$0$$sroa_idx29+24>>2]=HEAP32[$$sroa$8+24>>2]|0; + STACKTOP = sp;return; +} +function _LoadBMFont($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$05355 = 0, $$056 = 0, $$byval_copy52 = 0, $$sroa$0$0$$sroa_idx = 0, $$sroa$2$0$$sroa_idx1 = 0, $$sroa$3$0$$sroa_idx2 = 0, $$sroa$4$0$$sroa_idx3 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0; + var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0; + var $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0; + var $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0; + var $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer11 = 0, $vararg_buffer16 = 0, $vararg_buffer19 = 0, $vararg_buffer23 = 0, $vararg_buffer26 = 0, $vararg_buffer34 = 0, $vararg_buffer44 = 0, $vararg_buffer7 = 0, $vararg_ptr10 = 0; + var $vararg_ptr14 = 0, $vararg_ptr15 = 0, $vararg_ptr22 = 0, $vararg_ptr29 = 0, $vararg_ptr33 = 0, $vararg_ptr37 = 0, $vararg_ptr38 = 0, $vararg_ptr39 = 0, $vararg_ptr4 = 0, $vararg_ptr40 = 0, $vararg_ptr41 = 0, $vararg_ptr42 = 0, $vararg_ptr43 = 0, $vararg_ptr5 = 0, $vararg_ptr6 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 704|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(704|0); + $$byval_copy52 = sp + 152|0; + $vararg_buffer44 = sp + 144|0; + $vararg_buffer34 = sp + 112|0; + $vararg_buffer26 = sp + 88|0; + $vararg_buffer23 = sp + 64|0; + $vararg_buffer19 = sp + 56|0; + $vararg_buffer16 = sp + 48|0; + $vararg_buffer11 = sp + 32|0; + $vararg_buffer7 = sp + 24|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $2 = sp + 288|0; + $3 = sp + 448|0; + $4 = sp + 260|0; + $5 = sp + 236|0; + $6 = sp + 232|0; + $7 = sp + 320|0; + $8 = sp + 196|0; + $9 = sp + 192|0; + $10 = sp + 264|0; + $11 = sp + 240|0; + $12 = sp + 188|0; + $13 = sp + 184|0; + $14 = sp + 200|0; + ;HEAP32[$2>>2]=0|0;HEAP32[$2+4>>2]=0|0;HEAP32[$2+8>>2]=0|0;HEAP32[$2+12>>2]=0|0;HEAP32[$2+16>>2]=0|0;HEAP32[$2+20>>2]=0|0;HEAP32[$2+24>>2]=0|0;HEAP32[$2+28>>2]=0|0; + HEAP32[$4>>2] = 0; + HEAP32[$8>>2] = 0; + $15 = (_fopen($1,16145)|0); + $16 = ($15|0)==(0|0); + if ($16) { + HEAP32[$vararg_buffer>>2] = $1; + _TraceLog(1,16148,$vararg_buffer); + ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$2+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[$2+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[$2+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[$2+28>>2]|0; + STACKTOP = sp;return; + } + (_fgets($3,256,$15)|0); + (_fgets($3,256,$15)|0); + $17 = (_strstr($3,16182)|0); + HEAP32[$vararg_buffer1>>2] = $4; + $vararg_ptr4 = ((($vararg_buffer1)) + 4|0); + HEAP32[$vararg_ptr4>>2] = $9; + $vararg_ptr5 = ((($vararg_buffer1)) + 8|0); + HEAP32[$vararg_ptr5>>2] = $5; + $vararg_ptr6 = ((($vararg_buffer1)) + 12|0); + HEAP32[$vararg_ptr6>>2] = $6; + (_sscanf($17,16193,$vararg_buffer1)|0); + $18 = HEAP32[$4>>2]|0; + HEAP32[$vararg_buffer7>>2] = $1; + $vararg_ptr10 = ((($vararg_buffer7)) + 4|0); + HEAP32[$vararg_ptr10>>2] = $18; + _TraceLog(3,16235,$vararg_buffer7); + $19 = HEAP32[$5>>2]|0; + $20 = HEAP32[$6>>2]|0; + HEAP32[$vararg_buffer11>>2] = $1; + $vararg_ptr14 = ((($vararg_buffer11)) + 4|0); + HEAP32[$vararg_ptr14>>2] = $19; + $vararg_ptr15 = ((($vararg_buffer11)) + 8|0); + HEAP32[$vararg_ptr15>>2] = $20; + _TraceLog(3,16254,$vararg_buffer11); + (_fgets($3,256,$15)|0); + $21 = (_strstr($3,16285)|0); + HEAP32[$vararg_buffer16>>2] = $7; + (_sscanf($21,16290,$vararg_buffer16)|0); + HEAP32[$vararg_buffer19>>2] = $1; + $vararg_ptr22 = ((($vararg_buffer19)) + 4|0); + HEAP32[$vararg_ptr22>>2] = $7; + _TraceLog(3,16306,$vararg_buffer19); + (_fgets($3,256,$15)|0); + $22 = (_strstr($3,16337)|0); + HEAP32[$vararg_buffer23>>2] = $8; + (_sscanf($22,16343,$vararg_buffer23)|0); + $23 = HEAP32[$8>>2]|0; + HEAP32[$vararg_buffer26>>2] = $1; + $vararg_ptr29 = ((($vararg_buffer26)) + 4|0); + HEAP32[$vararg_ptr29>>2] = $23; + _TraceLog(3,16352,$vararg_buffer26); + $24 = (_strrchr($1,47)|0); + $25 = (_strlen($1)|0); + $26 = (_strlen($24)|0); + $27 = (_strlen($7)|0); + $28 = (($25) + 4)|0; + $29 = (($28) - ($26))|0; + $30 = (($29) + ($27))|0; + $31 = (_malloc($30)|0); + HEAP8[$31>>0] = 0; + $32 = (_strlen($1)|0); + $33 = (_strlen($24)|0); + $34 = (($32) + 1)|0; + $35 = (($34) - ($33))|0; + (_strncat($31,$1,$35)|0); + $36 = (_strlen($7)|0); + (_strncat($31,$7,$36)|0); + HEAP32[$$byval_copy52>>2] = $1; + $vararg_ptr33 = ((($$byval_copy52)) + 4|0); + HEAP32[$vararg_ptr33>>2] = $31; + _TraceLog(3,16376,$$byval_copy52); + _LoadImage($vararg_buffer26,$31); + $37 = ((($vararg_buffer26)) + 16|0); + $38 = HEAP32[$37>>2]|0; + $39 = ($38|0)==(1); + if ($39) { + ;HEAP32[$$byval_copy52>>2]=HEAP32[$vararg_buffer26>>2]|0;HEAP32[$$byval_copy52+4>>2]=HEAP32[$vararg_buffer26+4>>2]|0;HEAP32[$$byval_copy52+8>>2]=HEAP32[$vararg_buffer26+8>>2]|0;HEAP32[$$byval_copy52+12>>2]=HEAP32[$vararg_buffer26+12>>2]|0;HEAP32[$$byval_copy52+16>>2]=HEAP32[$vararg_buffer26+16>>2]|0; + _ImageCopy($vararg_buffer23,$$byval_copy52); + $40 = ((($vararg_buffer23)) + 4|0); + $41 = HEAP32[$40>>2]|0; + $42 = ((($vararg_buffer23)) + 8|0); + $43 = HEAP32[$42>>2]|0; + $44 = Math_imul($43, $41)|0; + $45 = ($44|0)>(0); + if ($45) { + $$056 = 0; + while(1) { + $46 = HEAP32[$vararg_buffer23>>2]|0; + $47 = (($46) + ($$056)|0); + HEAP8[$47>>0] = -1; + $48 = (($$056) + 1)|0; + $49 = HEAP32[$40>>2]|0; + $50 = HEAP32[$42>>2]|0; + $51 = Math_imul($50, $49)|0; + $52 = ($48|0)<($51|0); + if ($52) { + $$056 = $48; } else { break; } } } - $55 = HEAP32[$32>>2]|0; - _setup_free($p,$55); - } - $56 = ((($p)) + 276|0); - $57 = HEAP32[$56>>2]|0; - _setup_free($p,$57); - $58 = ((($p)) + 412|0); - $59 = HEAP32[$58>>2]|0; - _setup_free($p,$59); - $60 = ((($p)) + 416|0); - $61 = HEAP32[$60>>2]|0; - $62 = ($61|0)>(0); - $63 = ((($p)) + 420|0); - if ($62) { - $i$25 = 0; - while(1) { - $64 = HEAP32[$63>>2]|0; - $65 = (((($64) + (($i$25*40)|0)|0)) + 4|0); - $66 = HEAP32[$65>>2]|0; - _setup_free($p,$66); - $67 = (($i$25) + 1)|0; - $68 = HEAP32[$60>>2]|0; - $69 = ($67|0)<($68|0); - if ($69) { - $i$25 = $67; - } else { - break; - } - } - } - $70 = HEAP32[$63>>2]|0; - _setup_free($p,$70); - $71 = ((($p)) + 4|0); - $72 = HEAP32[$71>>2]|0; - $73 = ($72|0)>(0); - if ($73) { - $i$34 = 0; - while(1) { - $74 = (((($p)) + 816|0) + ($i$34<<2)|0); - $75 = HEAP32[$74>>2]|0; - _setup_free($p,$75); - $76 = (((($p)) + 944|0) + ($i$34<<2)|0); - $77 = HEAP32[$76>>2]|0; - _setup_free($p,$77); - $78 = (((($p)) + 1012|0) + ($i$34<<2)|0); - $79 = HEAP32[$78>>2]|0; - _setup_free($p,$79); - $80 = (($i$34) + 1)|0; - $81 = HEAP32[$71>>2]|0; - $82 = ($80|0)<($81|0); - if ($82) { - $i$34 = $80; - } else { - break; - } - } - } - $83 = ((($p)) + 1084|0); - $84 = HEAP32[$83>>2]|0; - _setup_free($p,$84); - $85 = ((($p)) + 1092|0); - $86 = HEAP32[$85>>2]|0; - _setup_free($p,$86); - $87 = ((($p)) + 1100|0); - $88 = HEAP32[$87>>2]|0; - _setup_free($p,$88); - $89 = ((($p)) + 1108|0); - $90 = HEAP32[$89>>2]|0; - _setup_free($p,$90); - $91 = ((($p)) + 1116|0); - $92 = HEAP32[$91>>2]|0; - _setup_free($p,$92); - $93 = ((($p)) + 1088|0); - $94 = HEAP32[$93>>2]|0; - _setup_free($p,$94); - $95 = ((($p)) + 1096|0); - $96 = HEAP32[$95>>2]|0; - _setup_free($p,$96); - $97 = ((($p)) + 1104|0); - $98 = HEAP32[$97>>2]|0; - _setup_free($p,$98); - $99 = ((($p)) + 1112|0); - $100 = HEAP32[$99>>2]|0; - _setup_free($p,$100); - $101 = ((($p)) + 1120|0); - $102 = HEAP32[$101>>2]|0; - _setup_free($p,$102); - $103 = ((($p)) + 28|0); - $104 = HEAP32[$103>>2]|0; - $105 = ($104|0)==(0); - if ($105) { - return; - } - $106 = ((($p)) + 20|0); - $107 = HEAP32[$106>>2]|0; - (_fclose(($107|0))|0); - return; -} -function _setup_free($f,$p) { - $f = $f|0; - $p = $p|0; - var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($f)) + 96|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)==(0|0); - if (!($2)) { - return; - } - _free($p); - return; -} -function _error($f,$e) { - $f = $f|0; - $e = $e|0; - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($f)) + 116|0); - HEAP32[$0>>2] = $e; - return; -} -function _is_whole_packet_present($f,$end_page) { - $f = $f|0; - $end_page = $end_page|0; - var $$0 = 0, $$s$0 = 0, $$s$3 = 0, $$sum = 0, $$sum1 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0; - var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0; - var $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0; - var $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $7 = 0, $8 = 0, $9 = 0, $first$0 = 0, $first$0$ph = 0, $or$cond = 0, $p$011 = 0, $p$1 = 0, $p$2 = 0, $p$2$ph = 0, $p$35 = 0, $p$4 = 0; - var $s$0$lcssa = 0, $s$012 = 0, $s$2 = 0, $s$2$ph = 0, $s$3$lcssa = 0, $s$36 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($f)) + 1396|0); - $1 = HEAP32[$0>>2]|0; - $2 = ((($f)) + 32|0); - $3 = HEAP32[$2>>2]|0; - $4 = ($1|0)==(-1); - if ($4) { - $first$0$ph = 1;$p$2$ph = $3;$s$2$ph = -1; + ;HEAP32[$$byval_copy52>>2]=HEAP32[$vararg_buffer26>>2]|0;HEAP32[$$byval_copy52+4>>2]=HEAP32[$vararg_buffer26+4>>2]|0;HEAP32[$$byval_copy52+8>>2]=HEAP32[$vararg_buffer26+8>>2]|0;HEAP32[$$byval_copy52+12>>2]=HEAP32[$vararg_buffer26+12>>2]|0;HEAP32[$$byval_copy52+16>>2]=HEAP32[$vararg_buffer26+16>>2]|0; + _ImageAlphaMask($vararg_buffer23,$$byval_copy52); + ;HEAP32[$$byval_copy52>>2]=HEAP32[$vararg_buffer23>>2]|0;HEAP32[$$byval_copy52+4>>2]=HEAP32[$vararg_buffer23+4>>2]|0;HEAP32[$$byval_copy52+8>>2]=HEAP32[$vararg_buffer23+8>>2]|0;HEAP32[$$byval_copy52+12>>2]=HEAP32[$vararg_buffer23+12>>2]|0;HEAP32[$$byval_copy52+16>>2]=HEAP32[$vararg_buffer23+16>>2]|0; + _LoadTextureFromImage($10,$$byval_copy52); + ;HEAP32[$2>>2]=HEAP32[$10>>2]|0;HEAP32[$2+4>>2]=HEAP32[$10+4>>2]|0;HEAP32[$2+8>>2]=HEAP32[$10+8>>2]|0;HEAP32[$2+12>>2]=HEAP32[$10+12>>2]|0;HEAP32[$2+16>>2]=HEAP32[$10+16>>2]|0; + ;HEAP32[$$byval_copy52>>2]=HEAP32[$vararg_buffer23>>2]|0;HEAP32[$$byval_copy52+4>>2]=HEAP32[$vararg_buffer23+4>>2]|0;HEAP32[$$byval_copy52+8>>2]=HEAP32[$vararg_buffer23+8>>2]|0;HEAP32[$$byval_copy52+12>>2]=HEAP32[$vararg_buffer23+12>>2]|0;HEAP32[$$byval_copy52+16>>2]=HEAP32[$vararg_buffer23+16>>2]|0; + _UnloadImage($$byval_copy52); } else { - $5 = ((($f)) + 1132|0); - $6 = HEAP32[$5>>2]|0; - $7 = ($1|0)<($6|0); - L3: do { - if ($7) { - $p$011 = $3;$s$012 = $1; - while(1) { - $8 = (((($f)) + 1136|0) + ($s$012)|0); - $9 = HEAP8[$8>>0]|0; - $10 = $9&255; - $11 = (($p$011) + ($10)|0); - $12 = ($9<<24>>24)==(-1); - if (!($12)) { - $p$1 = $11;$s$0$lcssa = $s$012; - break L3; - } - $13 = (($s$012) + 1)|0; - $14 = HEAP32[$5>>2]|0; - $15 = ($13|0)<($14|0); - if ($15) { - $p$011 = $11;$s$012 = $13; - } else { - $p$1 = $11;$s$0$lcssa = $13; - break; - } - } - } else { - $p$1 = $3;$s$0$lcssa = $1; - } - } while(0); - $16 = ($end_page|0)==(0); - if (!($16)) { - $17 = HEAP32[$5>>2]|0; - $18 = (($17) + -1)|0; - $19 = ($s$0$lcssa|0)<($18|0); - if ($19) { - _error($f,21); - $$0 = 0; - return ($$0|0); - } - } - $20 = HEAP32[$5>>2]|0; - $21 = ($s$0$lcssa|0)==($20|0); - $$s$0 = $21 ? -1 : $s$0$lcssa; - $22 = ((($f)) + 40|0); - $23 = HEAP32[$22>>2]|0; - $24 = ($p$1>>>0)>($23>>>0); - if ($24) { - _error($f,1); - $$0 = 0; - return ($$0|0); - } else { - $first$0$ph = 0;$p$2$ph = $p$1;$s$2$ph = $$s$0; - } + ;HEAP32[$$byval_copy52>>2]=HEAP32[$vararg_buffer26>>2]|0;HEAP32[$$byval_copy52+4>>2]=HEAP32[$vararg_buffer26+4>>2]|0;HEAP32[$$byval_copy52+8>>2]=HEAP32[$vararg_buffer26+8>>2]|0;HEAP32[$$byval_copy52+12>>2]=HEAP32[$vararg_buffer26+12>>2]|0;HEAP32[$$byval_copy52+16>>2]=HEAP32[$vararg_buffer26+16>>2]|0; + _LoadTextureFromImage($11,$$byval_copy52); + ;HEAP32[$2>>2]=HEAP32[$11>>2]|0;HEAP32[$2+4>>2]=HEAP32[$11+4>>2]|0;HEAP32[$2+8>>2]=HEAP32[$11+8>>2]|0;HEAP32[$2+12>>2]=HEAP32[$11+12>>2]|0;HEAP32[$2+16>>2]=HEAP32[$11+16>>2]|0; } - $25 = ((($f)) + 40|0); - $26 = ($end_page|0)!=(0); - $27 = ((($f)) + 1008|0); - $first$0 = $first$0$ph;$p$2 = $p$2$ph;$s$2 = $s$2$ph; - while(1) { - $28 = ($s$2|0)==(-1); - if (!($28)) { - $$0 = 1; - label = 33; - break; - } - $29 = ((($p$2)) + 26|0); - $30 = HEAP32[$25>>2]|0; - $31 = ($29>>>0)<($30>>>0); - if (!($31)) { - label = 13; - break; - } - $32 = (_memcmp($p$2,20680,4)|0); - $33 = ($32|0)==(0); - if (!($33)) { - label = 15; - break; - } - $34 = ((($p$2)) + 4|0); - $35 = HEAP8[$34>>0]|0; - $36 = ($35<<24>>24)==(0); - if (!($36)) { - label = 17; - break; - } - $37 = ($first$0|0)==(0); - if ($37) { - $44 = ((($p$2)) + 5|0); - $45 = HEAP8[$44>>0]|0; - $46 = $45 & 1; - $47 = ($46<<24>>24)==(0); - if ($47) { - label = 23; + $53 = HEAP32[$4>>2]|0; + $54 = ((($2)) + 20|0); + HEAP32[$54>>2] = $53; + $55 = HEAP32[$8>>2]|0; + $56 = ((($2)) + 24|0); + HEAP32[$56>>2] = $55; + $57 = $55 << 5; + $58 = (_malloc($57)|0); + $59 = ((($2)) + 28|0); + HEAP32[$59>>2] = $58; + ;HEAP32[$$byval_copy52>>2]=HEAP32[$vararg_buffer26>>2]|0;HEAP32[$$byval_copy52+4>>2]=HEAP32[$vararg_buffer26+4>>2]|0;HEAP32[$$byval_copy52+8>>2]=HEAP32[$vararg_buffer26+8>>2]|0;HEAP32[$$byval_copy52+12>>2]=HEAP32[$vararg_buffer26+12>>2]|0;HEAP32[$$byval_copy52+16>>2]=HEAP32[$vararg_buffer26+16>>2]|0; + _UnloadImage($$byval_copy52); + _free($31); + $60 = HEAP32[$8>>2]|0; + $61 = ($60|0)>(0); + if ($61) { + $$05355 = 0; + while(1) { + (_fgets($3,256,$15)|0); + HEAP32[$vararg_buffer34>>2] = $vararg_buffer23; + $vararg_ptr37 = ((($vararg_buffer34)) + 4|0); + HEAP32[$vararg_ptr37>>2] = $vararg_buffer19; + $vararg_ptr38 = ((($vararg_buffer34)) + 8|0); + HEAP32[$vararg_ptr38>>2] = $vararg_buffer16; + $vararg_ptr39 = ((($vararg_buffer34)) + 12|0); + HEAP32[$vararg_ptr39>>2] = $vararg_buffer11; + $vararg_ptr40 = ((($vararg_buffer34)) + 16|0); + HEAP32[$vararg_ptr40>>2] = $vararg_buffer7; + $vararg_ptr41 = ((($vararg_buffer34)) + 20|0); + HEAP32[$vararg_ptr41>>2] = $vararg_buffer1; + $vararg_ptr42 = ((($vararg_buffer34)) + 24|0); + HEAP32[$vararg_ptr42>>2] = $12; + $vararg_ptr43 = ((($vararg_buffer34)) + 28|0); + HEAP32[$vararg_ptr43>>2] = $13; + (_sscanf($3,16411,$vararg_buffer34)|0); + $64 = HEAP32[$vararg_buffer23>>2]|0; + $65 = HEAP32[$59>>2]|0; + $66 = (($65) + ($$05355<<5)|0); + HEAP32[$66>>2] = $64; + $67 = HEAP32[$59>>2]|0; + $68 = HEAP32[$vararg_buffer19>>2]|0; + $69 = HEAP32[$vararg_buffer16>>2]|0; + $70 = HEAP32[$vararg_buffer11>>2]|0; + $71 = HEAP32[$vararg_buffer7>>2]|0; + $$sroa$0$0$$sroa_idx = (((($67) + ($$05355<<5)|0)) + 4|0); + HEAP32[$$sroa$0$0$$sroa_idx>>2] = $68; + $$sroa$2$0$$sroa_idx1 = (((($67) + ($$05355<<5)|0)) + 8|0); + HEAP32[$$sroa$2$0$$sroa_idx1>>2] = $69; + $$sroa$3$0$$sroa_idx2 = (((($67) + ($$05355<<5)|0)) + 12|0); + HEAP32[$$sroa$3$0$$sroa_idx2>>2] = $70; + $$sroa$4$0$$sroa_idx3 = (((($67) + ($$05355<<5)|0)) + 16|0); + HEAP32[$$sroa$4$0$$sroa_idx3>>2] = $71; + $72 = HEAP32[$vararg_buffer1>>2]|0; + $73 = HEAP32[$59>>2]|0; + $74 = (((($73) + ($$05355<<5)|0)) + 20|0); + HEAP32[$74>>2] = $72; + $75 = HEAP32[$12>>2]|0; + $76 = HEAP32[$59>>2]|0; + $77 = (((($76) + ($$05355<<5)|0)) + 24|0); + HEAP32[$77>>2] = $75; + $78 = HEAP32[$13>>2]|0; + $79 = HEAP32[$59>>2]|0; + $80 = (((($79) + ($$05355<<5)|0)) + 28|0); + HEAP32[$80>>2] = $78; + $81 = (($$05355) + 1)|0; + $82 = HEAP32[$8>>2]|0; + $83 = ($81|0)<($82|0); + if ($83) { + $$05355 = $81; + } else { break; } - } else { - $38 = HEAP32[$27>>2]|0; - $39 = ($38|0)==(0); - if (!($39)) { - $40 = ((($p$2)) + 5|0); - $41 = HEAP8[$40>>0]|0; - $42 = $41 & 1; - $43 = ($42<<24>>24)==(0); - if (!($43)) { - label = 21; + } + } + (_fclose($15)|0); + $62 = HEAP32[$2>>2]|0; + $63 = ($62|0)==(0); + if ($63) { + ;HEAP32[$$byval_copy52>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy52+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$$byval_copy52+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$$byval_copy52+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$$byval_copy52+16>>2]=HEAP32[$2+16>>2]|0;HEAP32[$$byval_copy52+20>>2]=HEAP32[$2+20>>2]|0;HEAP32[$$byval_copy52+24>>2]=HEAP32[$2+24>>2]|0;HEAP32[$$byval_copy52+28>>2]=HEAP32[$2+28>>2]|0; + _UnloadSpriteFont($$byval_copy52); + _GetDefaultFont($14); + ;HEAP32[$2>>2]=HEAP32[$14>>2]|0;HEAP32[$2+4>>2]=HEAP32[$14+4>>2]|0;HEAP32[$2+8>>2]=HEAP32[$14+8>>2]|0;HEAP32[$2+12>>2]=HEAP32[$14+12>>2]|0;HEAP32[$2+16>>2]=HEAP32[$14+16>>2]|0;HEAP32[$2+20>>2]=HEAP32[$14+20>>2]|0;HEAP32[$2+24>>2]=HEAP32[$14+24>>2]|0;HEAP32[$2+28>>2]=HEAP32[$14+28>>2]|0; + } else { + HEAP32[$vararg_buffer44>>2] = $1; + _TraceLog(0,16485,$vararg_buffer44); + } + ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$2+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[$2+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[$2+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[$2+28>>2]|0; + STACKTOP = sp;return; +} +function _LoadImageFont($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$0195$lcssa = 0, $$019552 = 0, $$019622 = 0, $$0197 = 0, $$020032 = 0, $$0201$lcssa = 0, $$020131 = 0, $$0203 = 0, $$021 = 0, $$1$lcssa = 0, $$119927 = 0, $$1202$lcssa = 0, $$120226 = 0, $$135 = 0, $$2 = 0, $$byval_copy4 = 0, $$sroa$0 = 0, $$sroa$5$0$$sroa_idx15 = 0, $$sroa$6$0$$sroa_idx17 = 0, $$sroa$9$0$$sroa_idx20 = 0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0; + var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; + var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; + var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0; + var $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0; + var $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0; + var $97 = 0, $98 = 0, $99 = 0, $exitcond = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 5232|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(5232|0); + $$byval_copy4 = sp + 5200|0; + $vararg_buffer1 = sp + 48|0; + $vararg_buffer = sp + 24|0; + $3 = sp + 4176|0; + $4 = sp + 56|0; + $$sroa$0 = sp; + $5 = sp + 4152|0; + ;HEAP32[$$byval_copy4>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$$byval_copy4+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[$$byval_copy4+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[$$byval_copy4+16>>2]=HEAP32[$1+16>>2]|0; + $6 = (_GetImageData($$byval_copy4)|0); + $7 = ((($1)) + 8|0); + $8 = HEAP32[$7>>2]|0; + $9 = ($8|0)>(0); + L1: do { + if ($9) { + $10 = ((($1)) + 4|0); + $11 = HEAP32[$10>>2]|0; + $12 = ($11|0)>(0); + $13 = HEAP8[$2>>0]|0; + $14 = ((($2)) + 1|0); + $15 = HEAP8[$14>>0]|0; + $16 = ((($2)) + 2|0); + $17 = HEAP8[$16>>0]|0; + $18 = ((($2)) + 3|0); + $19 = HEAP8[$18>>0]|0; + $20 = HEAP8[$2>>0]|0; + $21 = ((($2)) + 1|0); + $22 = HEAP8[$21>>0]|0; + $23 = ((($2)) + 2|0); + $24 = HEAP8[$23>>0]|0; + $25 = ((($2)) + 3|0); + $26 = HEAP8[$25>>0]|0; + $27 = HEAP32[$10>>2]|0; + $$019552 = 0; + while(1) { + L5: do { + if ($12) { + $$135 = 0;$29 = $11; + while(1) { + $28 = Math_imul($29, $$019552)|0; + $30 = (($28) + ($$135))|0; + $31 = (($6) + ($30<<2)|0); + $32 = HEAP8[$31>>0]|0; + $33 = ($32<<24>>24)==($20<<24>>24); + if (!($33)) { + $$1$lcssa = $$135; + break L5; + } + $34 = (((($6) + ($30<<2)|0)) + 1|0); + $35 = HEAP8[$34>>0]|0; + $36 = ($35<<24>>24)==($22<<24>>24); + if (!($36)) { + $$1$lcssa = $$135; + break L5; + } + $37 = (((($6) + ($30<<2)|0)) + 2|0); + $38 = HEAP8[$37>>0]|0; + $39 = ($38<<24>>24)==($24<<24>>24); + if (!($39)) { + $$1$lcssa = $$135; + break L5; + } + $40 = (((($6) + ($30<<2)|0)) + 3|0); + $41 = HEAP8[$40>>0]|0; + $42 = ($41<<24>>24)==($26<<24>>24); + if (!($42)) { + $$1$lcssa = $$135; + break L5; + } + $43 = (($$135) + 1)|0; + $44 = HEAP32[$10>>2]|0; + $45 = ($43|0)<($44|0); + if ($45) { + $$135 = $43;$29 = $44; + } else { + $$1$lcssa = $43; + break; + } + } + } else { + $$1$lcssa = 0; + } + } while(0); + $46 = Math_imul($27, $$019552)|0; + $47 = (($46) + ($$1$lcssa))|0; + $48 = (($6) + ($47<<2)|0); + $49 = HEAP8[$48>>0]|0; + $50 = ($49<<24>>24)==($13<<24>>24); + if (!($50)) { + $$0195$lcssa = $$019552;$$2 = $$1$lcssa; + break L1; + } + $51 = (((($6) + ($47<<2)|0)) + 1|0); + $52 = HEAP8[$51>>0]|0; + $53 = ($52<<24>>24)==($15<<24>>24); + if (!($53)) { + $$0195$lcssa = $$019552;$$2 = $$1$lcssa; + break L1; + } + $54 = (((($6) + ($47<<2)|0)) + 2|0); + $55 = HEAP8[$54>>0]|0; + $56 = ($55<<24>>24)==($17<<24>>24); + if (!($56)) { + $$0195$lcssa = $$019552;$$2 = $$1$lcssa; + break L1; + } + $57 = (((($6) + ($47<<2)|0)) + 3|0); + $58 = HEAP8[$57>>0]|0; + $59 = ($58<<24>>24)==($19<<24>>24); + if (!($59)) { + $$0195$lcssa = $$019552;$$2 = $$1$lcssa; + break L1; + } + $60 = (($$019552) + 1)|0; + $61 = HEAP32[$7>>2]|0; + $62 = ($60|0)<($61|0); + if ($62) { + $$019552 = $60; + } else { + $$0195$lcssa = $60;$$2 = $$1$lcssa; break; } } + } else { + $$0195$lcssa = 0;$$2 = 0; } - $48 = HEAP8[$29>>0]|0; - $49 = $48&255; - $$sum = (($49) + 27)|0; - $50 = (($p$2) + ($$sum)|0); - $51 = HEAP32[$25>>2]|0; - $52 = ($50>>>0)>($51>>>0); - if ($52) { - label = 26; - break; - } - $53 = ($48<<24>>24)==(0); - L28: do { - if ($53) { - $p$4 = $50;$s$3$lcssa = 0; - } else { - $p$35 = $50;$s$36 = 0; - while(1) { - $$sum1 = (($s$36) + 27)|0; - $54 = (($p$2) + ($$sum1)|0); - $55 = HEAP8[$54>>0]|0; - $56 = $55&255; - $57 = (($p$35) + ($56)|0); - $58 = ($55<<24>>24)==(-1); - if (!($58)) { - $p$4 = $57;$s$3$lcssa = $s$36; - break L28; - } - $59 = (($s$36) + 1)|0; - $60 = ($59|0)<($49|0); - if ($60) { - $p$35 = $57;$s$36 = $59; - } else { - $p$4 = $57;$s$3$lcssa = $59; + } while(0); + $63 = ((($1)) + 4|0); + $64 = HEAP32[$63>>2]|0; + $65 = HEAP8[$2>>0]|0; + $66 = ((($2)) + 1|0); + $67 = HEAP8[$66>>0]|0; + $68 = ((($2)) + 2|0); + $69 = HEAP8[$68>>0]|0; + $70 = ((($2)) + 3|0); + $71 = HEAP8[$70>>0]|0; + $$0203 = 0; + while(1) { + $72 = (($$0203) + ($$0195$lcssa))|0; + $73 = Math_imul($72, $64)|0; + $74 = (($73) + ($$2))|0; + $75 = (($6) + ($74<<2)|0); + $76 = HEAP8[$75>>0]|0; + $77 = ($76<<24>>24)==($65<<24>>24); + if ($77) { + $78 = (((($6) + ($74<<2)|0)) + 1|0); + $79 = HEAP8[$78>>0]|0; + $80 = ($79<<24>>24)==($67<<24>>24); + if ($80) { + $81 = (((($6) + ($74<<2)|0)) + 2|0); + $82 = HEAP8[$81>>0]|0; + $83 = ($82<<24>>24)==($69<<24>>24); + if ($83) { + $84 = (((($6) + ($74<<2)|0)) + 3|0); + $85 = HEAP8[$84>>0]|0; + $86 = ($85<<24>>24)==($71<<24>>24); + if ($86) { break; } } } - } while(0); - $61 = (($49) + -1)|0; - $62 = ($s$3$lcssa|0)<($61|0); - $or$cond = $26 & $62; - if ($or$cond) { - label = 30; - break; } - $63 = ($s$3$lcssa|0)==($49|0); - $$s$3 = $63 ? -1 : $s$3$lcssa; - $64 = HEAP32[$25>>2]|0; - $65 = ($p$4>>>0)>($64>>>0); - if ($65) { - label = 32; + $96 = (($$0203) + 1)|0; + $$0203 = $96; + } + $87 = HEAP32[$7>>2]|0; + $88 = ($$0195$lcssa|0)<($87|0); + if ($88) { + $89 = HEAP32[$63>>2]|0; + $90 = ($$2|0)<($89|0); + $91 = HEAP32[$7>>2]|0; + $92 = HEAP8[$2>>0]|0; + $93 = HEAP8[$66>>0]|0; + $94 = HEAP8[$68>>0]|0; + $95 = HEAP8[$70>>0]|0; + $$020032 = 0;$$020131 = 0;$99 = $$0195$lcssa; + while(1) { + L30: do { + if ($90) { + $$119927 = $$2;$$120226 = $$020131;$98 = $89; + while(1) { + $97 = Math_imul($98, $99)|0; + $100 = (($97) + ($$119927))|0; + $101 = (($6) + ($100<<2)|0); + $102 = HEAP8[$101>>0]|0; + $103 = ($102<<24>>24)==($92<<24>>24); + if ($103) { + $104 = (((($6) + ($100<<2)|0)) + 1|0); + $105 = HEAP8[$104>>0]|0; + $106 = ($105<<24>>24)==($93<<24>>24); + if ($106) { + $107 = (((($6) + ($100<<2)|0)) + 2|0); + $108 = HEAP8[$107>>0]|0; + $109 = ($108<<24>>24)==($94<<24>>24); + if ($109) { + $110 = (((($6) + ($100<<2)|0)) + 3|0); + $111 = HEAP8[$110>>0]|0; + $112 = ($111<<24>>24)==($95<<24>>24); + if ($112) { + $$1202$lcssa = $$120226; + break L30; + } + } + } + } + $113 = (($$120226) + 32)|0; + $114 = (($3) + ($$120226<<2)|0); + HEAP32[$114>>2] = $113; + $115 = (($4) + ($$120226<<4)|0); + HEAP32[$115>>2] = $$119927; + $116 = (((($4) + ($$120226<<4)|0)) + 4|0); + HEAP32[$116>>2] = $99; + $117 = (((($4) + ($$120226<<4)|0)) + 12|0); + HEAP32[$117>>2] = $$0203; + $118 = HEAP32[$63>>2]|0; + $119 = Math_imul($118, $99)|0; + $$0197 = 0; + while(1) { + $120 = (($$0197) + ($$119927))|0; + $121 = (($120) + ($119))|0; + $122 = (($6) + ($121<<2)|0); + $123 = HEAP8[$122>>0]|0; + $124 = ($123<<24>>24)==($92<<24>>24); + if ($124) { + $125 = (((($6) + ($121<<2)|0)) + 1|0); + $126 = HEAP8[$125>>0]|0; + $127 = ($126<<24>>24)==($93<<24>>24); + if ($127) { + $128 = (((($6) + ($121<<2)|0)) + 2|0); + $129 = HEAP8[$128>>0]|0; + $130 = ($129<<24>>24)==($94<<24>>24); + if ($130) { + $131 = (((($6) + ($121<<2)|0)) + 3|0); + $132 = HEAP8[$131>>0]|0; + $133 = ($132<<24>>24)==($95<<24>>24); + if ($133) { + break; + } + } + } + } + $134 = (($$0197) + 1)|0; + $$0197 = $134; + } + $135 = (((($4) + ($$120226<<4)|0)) + 8|0); + HEAP32[$135>>2] = $$0197; + $136 = (($$120226) + 1)|0; + $137 = (($$119927) + ($$2))|0; + $138 = (($137) + ($$0197))|0; + $139 = HEAP32[$63>>2]|0; + $140 = ($138|0)<($139|0); + if ($140) { + $$119927 = $138;$$120226 = $136;$98 = $139; + } else { + $$1202$lcssa = $136; + break; + } + } + } else { + $$1202$lcssa = $$020131; + } + } while(0); + $141 = (($$020032) + 1)|0; + $142 = Math_imul($141, $72)|0; + $143 = (($142) + ($$0195$lcssa))|0; + $144 = ($143|0)<($91|0); + if ($144) { + $$020032 = $141;$$020131 = $$1202$lcssa;$99 = $143; + } else { + $$0201$lcssa = $$1202$lcssa; + break; + } + } + } else { + $$0201$lcssa = 0; + } + _TraceLog(3,16059,$vararg_buffer); + $145 = HEAP32[$7>>2]|0; + $146 = HEAP32[$63>>2]|0; + $147 = Math_imul($146, $145)|0; + $148 = ($147|0)>(0); + if ($148) { + $149 = HEAP8[$2>>0]|0; + $150 = HEAP8[$66>>0]|0; + $151 = HEAP8[$68>>0]|0; + $152 = HEAP8[$70>>0]|0; + $$019622 = 0; + while(1) { + $158 = (($6) + ($$019622<<2)|0); + $159 = HEAP8[$158>>0]|0; + $160 = ($159<<24>>24)==($149<<24>>24); + if ($160) { + $161 = (((($6) + ($$019622<<2)|0)) + 1|0); + $162 = HEAP8[$161>>0]|0; + $163 = ($162<<24>>24)==($150<<24>>24); + if ($163) { + $164 = (((($6) + ($$019622<<2)|0)) + 2|0); + $165 = HEAP8[$164>>0]|0; + $166 = ($165<<24>>24)==($151<<24>>24); + if ($166) { + $167 = (((($6) + ($$019622<<2)|0)) + 3|0); + $168 = HEAP8[$167>>0]|0; + $169 = ($168<<24>>24)==($152<<24>>24); + if ($169) { + HEAP8[$158>>0]=0&255;HEAP8[$158+1>>0]=(0>>8)&255;HEAP8[$158+2>>0]=(0>>16)&255;HEAP8[$158+3>>0]=0>>24; + } + } + } + } + $170 = (($$019622) + 1)|0; + $171 = HEAP32[$7>>2]|0; + $172 = HEAP32[$63>>2]|0; + $173 = Math_imul($172, $171)|0; + $174 = ($170|0)<($173|0); + if ($174) { + $$019622 = $170; + } else { + break; + } + } + } + $153 = HEAP32[$63>>2]|0; + $154 = HEAP32[$7>>2]|0; + _LoadImageEx($vararg_buffer,$6,$153,$154); + _free($6); + ;HEAP32[$$sroa$0>>2]=0|0;HEAP32[$$sroa$0+4>>2]=0|0;HEAP32[$$sroa$0+8>>2]=0|0;HEAP32[$$sroa$0+12>>2]=0|0;HEAP32[$$sroa$0+16>>2]=0|0; + ;HEAP32[$$byval_copy4>>2]=HEAP32[$vararg_buffer>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$vararg_buffer+4>>2]|0;HEAP32[$$byval_copy4+8>>2]=HEAP32[$vararg_buffer+8>>2]|0;HEAP32[$$byval_copy4+12>>2]=HEAP32[$vararg_buffer+12>>2]|0;HEAP32[$$byval_copy4+16>>2]=HEAP32[$vararg_buffer+16>>2]|0; + _LoadTextureFromImage($5,$$byval_copy4); + ;HEAP32[$$sroa$0>>2]=HEAP32[$5>>2]|0;HEAP32[$$sroa$0+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$$sroa$0+8>>2]=HEAP32[$5+8>>2]|0;HEAP32[$$sroa$0+12>>2]=HEAP32[$5+12>>2]|0;HEAP32[$$sroa$0+16>>2]=HEAP32[$5+16>>2]|0; + ;HEAP32[$$byval_copy4>>2]=HEAP32[$vararg_buffer>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$vararg_buffer+4>>2]|0;HEAP32[$$byval_copy4+8>>2]=HEAP32[$vararg_buffer+8>>2]|0;HEAP32[$$byval_copy4+12>>2]=HEAP32[$vararg_buffer+12>>2]|0;HEAP32[$$byval_copy4+16>>2]=HEAP32[$vararg_buffer+16>>2]|0; + _UnloadImage($$byval_copy4); + $155 = $$0201$lcssa << 5; + $156 = (_malloc($155)|0); + $157 = ($$0201$lcssa|0)>(0); + if ($157) { + $$021 = 0; + } else { + $175 = ((($156)) + 16|0); + $176 = HEAP32[$175>>2]|0; + _TraceLog(0,16103,$vararg_buffer1); + ;HEAP32[$0>>2]=HEAP32[$$sroa$0>>2]|0;HEAP32[$0+4>>2]=HEAP32[$$sroa$0+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$$sroa$0+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$$sroa$0+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$$sroa$0+16>>2]|0; + $$sroa$5$0$$sroa_idx15 = ((($0)) + 20|0); + HEAP32[$$sroa$5$0$$sroa_idx15>>2] = $176; + $$sroa$6$0$$sroa_idx17 = ((($0)) + 24|0); + HEAP32[$$sroa$6$0$$sroa_idx17>>2] = $$0201$lcssa; + $$sroa$9$0$$sroa_idx20 = ((($0)) + 28|0); + HEAP32[$$sroa$9$0$$sroa_idx20>>2] = $156; + STACKTOP = sp;return; + } + while(1) { + $177 = (($3) + ($$021<<2)|0); + $178 = HEAP32[$177>>2]|0; + $179 = (($156) + ($$021<<5)|0); + HEAP32[$179>>2] = $178; + $180 = (((($156) + ($$021<<5)|0)) + 4|0); + $181 = (($4) + ($$021<<4)|0); + ;HEAP32[$180>>2]=HEAP32[$181>>2]|0;HEAP32[$180+4>>2]=HEAP32[$181+4>>2]|0;HEAP32[$180+8>>2]=HEAP32[$181+8>>2]|0;HEAP32[$180+12>>2]=HEAP32[$181+12>>2]|0; + $182 = (((($156) + ($$021<<5)|0)) + 20|0); + HEAP32[$182>>2] = 0; + $183 = (((($156) + ($$021<<5)|0)) + 24|0); + HEAP32[$183>>2] = 0; + $184 = (((($156) + ($$021<<5)|0)) + 28|0); + HEAP32[$184>>2] = 0; + $185 = (($$021) + 1)|0; + $exitcond = ($185|0)==($$0201$lcssa|0); + if ($exitcond) { break; } else { - $first$0 = 0;$p$2 = $p$4;$s$2 = $$s$3; + $$021 = $185; } } - if ((label|0) == 13) { - _error($f,1); - $$0 = 0; - return ($$0|0); + $175 = ((($156)) + 16|0); + $176 = HEAP32[$175>>2]|0; + _TraceLog(0,16103,$vararg_buffer1); + ;HEAP32[$0>>2]=HEAP32[$$sroa$0>>2]|0;HEAP32[$0+4>>2]=HEAP32[$$sroa$0+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$$sroa$0+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$$sroa$0+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$$sroa$0+16>>2]|0; + $$sroa$5$0$$sroa_idx15 = ((($0)) + 20|0); + HEAP32[$$sroa$5$0$$sroa_idx15>>2] = $176; + $$sroa$6$0$$sroa_idx17 = ((($0)) + 24|0); + HEAP32[$$sroa$6$0$$sroa_idx17>>2] = $$0201$lcssa; + $$sroa$9$0$$sroa_idx20 = ((($0)) + 28|0); + HEAP32[$$sroa$9$0$$sroa_idx20>>2] = $156; + STACKTOP = sp;return; +} +function _UnloadSpriteFont($0) { + $0 = $0|0; + var $$byval_copy = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $$byval_copy = sp + 40|0; + $vararg_buffer = sp; + $1 = sp + 8|0; + $2 = HEAP32[$0>>2]|0; + _GetDefaultFont($1); + $3 = HEAP32[$1>>2]|0; + $4 = ($2|0)==($3|0); + if ($4) { + STACKTOP = sp;return; } - else if ((label|0) == 15) { - _error($f,21); - $$0 = 0; - return ($$0|0); + ;HEAP32[$$byval_copy>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$0+16>>2]|0; + _UnloadTexture($$byval_copy); + $5 = ((($0)) + 28|0); + $6 = HEAP32[$5>>2]|0; + _free($6); + _TraceLog(3,16521,$vararg_buffer); + STACKTOP = sp;return; +} +function _LoadTTF($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$0124130 = 0, $$0125129 = 0, $$0128 = 0, $$byval_copy9 = 0, $$sroa$0 = 0, $$sroa$10$0$$sroa_idx58 = 0, $$sroa$10$0$$sroa_idx59 = 0, $$sroa$6$0$$sroa_idx49 = 0, $$sroa$6$0$$sroa_idx50 = 0, $$sroa$7$0$$sroa_idx53 = 0, $$sroa$7$0$$sroa_idx54 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0; + var $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0; + var $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0; + var $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0.0, $70 = 0, $71 = 0.0, $72 = 0, $73 = 0, $74 = 0, $75 = 0.0; + var $76 = 0, $77 = 0, $78 = 0, $79 = 0.0, $8 = 0.0, $80 = 0, $81 = 0, $82 = 0, $9 = 0.0, $exitcond = 0, $exp2 = 0.0, $vararg_buffer2 = 0, $vararg_buffer5 = 0, $vararg_buffer7 = 0, $vararg_ptr1 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0); + $$byval_copy9 = sp + 48|0; + $vararg_buffer7 = sp + 40|0; + $vararg_buffer5 = sp + 32|0; + $vararg_buffer2 = sp + 24|0; + $$sroa$0 = sp; + $5 = sp + 68|0; + $6 = sp + 88|0; + $7 = (+($2|0)); + $8 = $7 * 3.0; + $9 = $8 * 0.25; + $10 = (+Math_ceil((+$9))); + $11 = (+($3|0)); + $12 = (+Math_sqrt((+$11))); + $13 = (+Math_ceil((+$12))); + $14 = $10 * $13; + $15 = (+Math_log((+$14))); + $16 = $15 / 0.69314718246459961; + $17 = (+Math_ceil((+$16))); + $exp2 = (+_llvm_exp2_f32((+$17))); + $18 = (~~(($exp2))); + HEAP32[$$byval_copy9>>2] = $18; + $vararg_ptr1 = ((($$byval_copy9)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $18; + _TraceLog(0,16606,$$byval_copy9); + $19 = (_malloc(16777216)|0); + $20 = Math_imul($18, $18)|0; + $21 = (_malloc($20)|0); + $22 = ($3*20)|0; + $23 = (_malloc($22)|0); + ;HEAP32[$$sroa$0>>2]=0|0;HEAP32[$$sroa$0+4>>2]=0|0;HEAP32[$$sroa$0+8>>2]=0|0;HEAP32[$$sroa$0+12>>2]=0|0;HEAP32[$$sroa$0+16>>2]=0|0; + $24 = (_fopen($1,19381)|0); + $25 = ($24|0)==(0|0); + if ($25) { + HEAP32[$vararg_buffer2>>2] = $1; + _TraceLog(1,16660,$vararg_buffer2); + ;HEAP32[$0>>2]=HEAP32[$$sroa$0>>2]|0;HEAP32[$0+4>>2]=HEAP32[$$sroa$0+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$$sroa$0+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$$sroa$0+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$$sroa$0+16>>2]|0; + $$sroa$6$0$$sroa_idx49 = ((($0)) + 20|0); + HEAP32[$$sroa$6$0$$sroa_idx49>>2] = 0; + $$sroa$7$0$$sroa_idx53 = ((($0)) + 24|0); + HEAP32[$$sroa$7$0$$sroa_idx53>>2] = 0; + $$sroa$10$0$$sroa_idx58 = ((($0)) + 28|0); + HEAP32[$$sroa$10$0$$sroa_idx58>>2] = 0; + STACKTOP = sp;return; } - else if ((label|0) == 17) { - _error($f,21); - $$0 = 0; - return ($$0|0); + (_fread($19,1,16777216,$24)|0); + $26 = HEAP32[$4>>2]|0; + $27 = ($26|0)==(32); + if (!($27)) { + _TraceLog(1,16694,$vararg_buffer5); } - else if ((label|0) == 21) { - _error($f,21); - $$0 = 0; - return ($$0|0); + $28 = HEAP32[$4>>2]|0; + $29 = (_stbtt_BakeFontBitmap($19,$7,$21,$18,$18,$28,$3,$23)|0); + $30 = ($29|0)<(0); + if ($30) { + _TraceLog(1,16761,$vararg_buffer7); } - else if ((label|0) == 23) { - _error($f,21); - $$0 = 0; - return ($$0|0); + _free($19); + $31 = $20 << 1; + $32 = (_malloc($31)|0); + $33 = ($20|0)==(0); + if (!($33)) { + $$0124130 = 0;$$0125129 = 0; + while(1) { + $41 = (($32) + ($$0124130)|0); + HEAP8[$41>>0] = -1; + $42 = (($21) + ($$0125129)|0); + $43 = HEAP8[$42>>0]|0; + $44 = $$0124130 | 1; + $45 = (($32) + ($44)|0); + HEAP8[$45>>0] = $43; + $46 = (($$0125129) + 1)|0; + $47 = (($$0124130) + 2)|0; + $48 = ($46|0)<($20|0); + if ($48) { + $$0124130 = $47;$$0125129 = $46; + } else { + break; + } + } } - else if ((label|0) == 26) { - _error($f,1); - $$0 = 0; - return ($$0|0); + _free($21); + $34 = ((($5)) + 4|0); + HEAP32[$34>>2] = $18; + $35 = ((($5)) + 8|0); + HEAP32[$35>>2] = $18; + $36 = ((($5)) + 12|0); + HEAP32[$36>>2] = 1; + $37 = ((($5)) + 16|0); + HEAP32[$37>>2] = 2; + HEAP32[$5>>2] = $32; + ;HEAP32[$$byval_copy9>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy9+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$$byval_copy9+8>>2]=HEAP32[$5+8>>2]|0;HEAP32[$$byval_copy9+12>>2]=HEAP32[$5+12>>2]|0;HEAP32[$$byval_copy9+16>>2]=HEAP32[$5+16>>2]|0; + _LoadTextureFromImage($6,$$byval_copy9); + ;HEAP32[$$sroa$0>>2]=HEAP32[$6>>2]|0;HEAP32[$$sroa$0+4>>2]=HEAP32[$6+4>>2]|0;HEAP32[$$sroa$0+8>>2]=HEAP32[$6+8>>2]|0;HEAP32[$$sroa$0+12>>2]=HEAP32[$6+12>>2]|0;HEAP32[$$sroa$0+16>>2]=HEAP32[$6+16>>2]|0; + ;HEAP32[$$byval_copy9>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy9+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$$byval_copy9+8>>2]=HEAP32[$5+8>>2]|0;HEAP32[$$byval_copy9+12>>2]=HEAP32[$5+12>>2]|0;HEAP32[$$byval_copy9+16>>2]=HEAP32[$5+16>>2]|0; + _UnloadImage($$byval_copy9); + $38 = $3 << 5; + $39 = (_malloc($38)|0); + $40 = ($3|0)>(0); + if ($40) { + $$0128 = 0; + while(1) { + $49 = (($4) + ($$0128<<2)|0); + $50 = HEAP32[$49>>2]|0; + $51 = (($39) + ($$0128<<5)|0); + HEAP32[$51>>2] = $50; + $52 = (($23) + (($$0128*20)|0)|0); + $53 = HEAP16[$52>>1]|0; + $54 = $53&65535; + $55 = (((($39) + ($$0128<<5)|0)) + 4|0); + HEAP32[$55>>2] = $54; + $56 = (((($23) + (($$0128*20)|0)|0)) + 2|0); + $57 = HEAP16[$56>>1]|0; + $58 = $57&65535; + $59 = (((($39) + ($$0128<<5)|0)) + 8|0); + HEAP32[$59>>2] = $58; + $60 = (((($23) + (($$0128*20)|0)|0)) + 4|0); + $61 = HEAP16[$60>>1]|0; + $62 = $61&65535; + $63 = (($62) - ($54))|0; + $64 = (((($39) + ($$0128<<5)|0)) + 12|0); + HEAP32[$64>>2] = $63; + $65 = (((($23) + (($$0128*20)|0)|0)) + 6|0); + $66 = HEAP16[$65>>1]|0; + $67 = $66&65535; + $68 = (($67) - ($58))|0; + $69 = (((($39) + ($$0128<<5)|0)) + 16|0); + HEAP32[$69>>2] = $68; + $70 = (((($23) + (($$0128*20)|0)|0)) + 8|0); + $71 = +HEAPF32[$70>>2]; + $72 = (~~(($71))); + $73 = (((($39) + ($$0128<<5)|0)) + 20|0); + HEAP32[$73>>2] = $72; + $74 = (((($23) + (($$0128*20)|0)|0)) + 12|0); + $75 = +HEAPF32[$74>>2]; + $76 = (~~(($75))); + $77 = (((($39) + ($$0128<<5)|0)) + 24|0); + HEAP32[$77>>2] = $76; + $78 = (((($23) + (($$0128*20)|0)|0)) + 16|0); + $79 = +HEAPF32[$78>>2]; + $80 = (~~(($79))); + $81 = (((($39) + ($$0128<<5)|0)) + 28|0); + HEAP32[$81>>2] = $80; + $82 = (($$0128) + 1)|0; + $exitcond = ($82|0)==($3|0); + if ($exitcond) { + break; + } else { + $$0128 = $82; + } + } } - else if ((label|0) == 30) { - _error($f,21); - $$0 = 0; - return ($$0|0); + _free($23); + ;HEAP32[$0>>2]=HEAP32[$$sroa$0>>2]|0;HEAP32[$0+4>>2]=HEAP32[$$sroa$0+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$$sroa$0+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$$sroa$0+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$$sroa$0+16>>2]|0; + $$sroa$6$0$$sroa_idx50 = ((($0)) + 20|0); + HEAP32[$$sroa$6$0$$sroa_idx50>>2] = $2; + $$sroa$7$0$$sroa_idx54 = ((($0)) + 24|0); + HEAP32[$$sroa$7$0$$sroa_idx54>>2] = $3; + $$sroa$10$0$$sroa_idx59 = ((($0)) + 28|0); + HEAP32[$$sroa$10$0$$sroa_idx59>>2] = $39; + STACKTOP = sp;return; +} +function _stbtt_BakeFontBitmap($0,$1,$2,$3,$4,$5,$6,$7) { + $0 = $0|0; + $1 = +$1; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + $6 = $6|0; + $7 = $7|0; + var $8 = 0, label = 0, sp = 0; + sp = STACKTOP; + $8 = (_stbtt_BakeFontBitmap_internal($0,$1,$2,$3,$4,$5,$6,$7)|0); + return ($8|0); +} +function _stbtt_BakeFontBitmap_internal($0,$1,$2,$3,$4,$5,$6,$7) { + $0 = $0|0; + $1 = +$1; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + $6 = $6|0; + $7 = $7|0; + var $$05 = 0, $$084$ = 0, $$0844 = 0, $$087$$091 = 0, $$0873 = 0, $$089 = 0, $$0902 = 0, $$091$ = 0, $$0911 = 0, $$1 = 0, $$2 = 0, $$286 = 0, $$293 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0; + var $17 = 0, $18 = 0.0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0; + var $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0.0, $52 = 0.0, $53 = 0, $54 = 0, $55 = 0.0, $56 = 0; + var $57 = 0, $58 = 0.0, $59 = 0, $60 = 0, $61 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 144|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(144|0); + $8 = sp + 24|0; + $9 = sp + 20|0; + $10 = sp + 16|0; + $11 = sp + 12|0; + $12 = sp + 8|0; + $13 = sp + 4|0; + $14 = sp; + HEAP32[$8>>2] = 0; + $15 = (_stbtt_InitFont($8,$0)|0); + $16 = ($15|0)==(0); + if ($16) { + $$2 = -1; + STACKTOP = sp;return ($$2|0); } - else if ((label|0) == 32) { - _error($f,1); - $$0 = 0; - return ($$0|0); + $17 = Math_imul($4, $3)|0; + _memset(($2|0),0,($17|0))|0; + $18 = (+_stbtt_ScaleForPixelHeight($8,$1)); + $19 = ($6|0)>(0); + if (!($19)) { + $$2 = 1; + STACKTOP = sp;return ($$2|0); } - else if ((label|0) == 33) { + $$05 = 0;$$0844 = 1;$$0873 = 1;$$0902 = 0;$$0911 = 1; + while(1) { + $22 = (($$0902) + ($5))|0; + $23 = (_stbtt_FindGlyphIndex($8,$22)|0); + _stbtt_GetGlyphHMetrics($8,$23,$9,$10); + _stbtt_GetGlyphBitmapBox($8,$23,$18,$18,$11,$12,$13,$14); + $24 = HEAP32[$13>>2]|0; + $25 = HEAP32[$11>>2]|0; + $26 = (($24) - ($25))|0; + $27 = HEAP32[$14>>2]|0; + $28 = HEAP32[$12>>2]|0; + $29 = (($27) - ($28))|0; + $30 = (($$0844) + 1)|0; + $31 = (($30) + ($26))|0; + $32 = ($31|0)<($3|0); + $$087$$091 = $32 ? $$0873 : $$0911; + $$084$ = $32 ? $$0844 : 1; + $33 = (($$087$$091) + ($29))|0; + $34 = (($33) + 1)|0; + $35 = ($34|0)<($4|0); + if ($35) { + $37 = (($$084$) + ($26))|0; + $38 = ($37|0)<($3|0); + if (!($38)) { + label = 8; + break; + } + $39 = (($2) + ($$084$)|0); + $40 = Math_imul($$087$$091, $3)|0; + $41 = (($39) + ($40)|0); + _stbtt_MakeGlyphBitmap($8,$41,$26,$29,$3,$18,$18,$23); + $42 = $$084$&65535; + $43 = (($7) + (($$0902*20)|0)|0); + HEAP16[$43>>1] = $42; + $44 = $$087$$091&65535; + $45 = (((($7) + (($$0902*20)|0)|0)) + 2|0); + HEAP16[$45>>1] = $44; + $46 = $37&65535; + $47 = (((($7) + (($$0902*20)|0)|0)) + 4|0); + HEAP16[$47>>1] = $46; + $48 = $33&65535; + $49 = (((($7) + (($$0902*20)|0)|0)) + 6|0); + HEAP16[$49>>1] = $48; + $50 = HEAP32[$9>>2]|0; + $51 = (+($50|0)); + $52 = $18 * $51; + $53 = (((($7) + (($$0902*20)|0)|0)) + 16|0); + HEAPF32[$53>>2] = $52; + $54 = HEAP32[$11>>2]|0; + $55 = (+($54|0)); + $56 = (((($7) + (($$0902*20)|0)|0)) + 8|0); + HEAPF32[$56>>2] = $55; + $57 = HEAP32[$12>>2]|0; + $58 = (+($57|0)); + $59 = (((($7) + (($$0902*20)|0)|0)) + 12|0); + HEAPF32[$59>>2] = $58; + $60 = (($37) + 1)|0; + $61 = ($33|0)<($$0911|0); + $$091$ = $61 ? $$0911 : $34; + $$089 = 1;$$1 = $$05;$$286 = $60;$$293 = $$091$; + } else { + $36 = (0 - ($$0902))|0; + $$089 = 0;$$1 = $36;$$286 = $$084$;$$293 = $$0911; + } + $21 = (($$0902) + 1)|0; + if (!($$089)) { + $$2 = $$1; + label = 11; + break; + } + $20 = ($21|0)<($6|0); + if ($20) { + $$05 = $$1;$$0844 = $$286;$$0873 = $$087$$091;$$0902 = $21;$$0911 = $$293; + } else { + $$2 = $$293; + label = 11; + break; + } + } + if ((label|0) == 8) { + ___assert_fail((16824|0),(16834|0),3274,(16860|0)); + // unreachable; + } + else if ((label|0) == 11) { + STACKTOP = sp;return ($$2|0); + } + return (0)|0; +} +function _stbtt_InitFont($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = (_stbtt_InitFont_internal($0,$1)|0); + return ($2|0); +} +function _stbtt_ScaleForPixelHeight($0,$1) { + $0 = $0|0; + $1 = +$1; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0.0, $15 = 0.0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($0)) + 4|0); + $3 = HEAP32[$2>>2]|0; + $4 = ((($0)) + 28|0); + $5 = HEAP32[$4>>2]|0; + $6 = (($3) + ($5)|0); + $7 = ((($6)) + 4|0); + $8 = (_ttSHORT($7)|0); + $9 = $8 << 16 >> 16; + $10 = ((($6)) + 6|0); + $11 = (_ttSHORT($10)|0); + $12 = $11 << 16 >> 16; + $13 = (($9) - ($12))|0; + $14 = (+($13|0)); + $15 = $1 / $14; + return (+$15); +} +function _stbtt_FindGlyphIndex($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$ = 0, $$$1172 = 0, $$0163180 = 0, $$0164179 = 0, $$0165 = 0, $$0165$ph = 0, $$0168$ph = 0, $$1172$lcssa = 0, $$1172178 = 0, $$2 = 0, $$2$shrunk = 0, $$5 = 0, $$8 = 0, $$neg = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0; + var $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0; + var $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; + var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0; + var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0; + var $switch = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($0)) + 4|0); + $3 = HEAP32[$2>>2]|0; + $4 = ((($0)) + 40|0); + $5 = HEAP32[$4>>2]|0; + $6 = (($3) + ($5)|0); + $7 = (_ttUSHORT($6)|0); + switch ($7<<16>>16) { + case 0: { + $8 = ((($6)) + 2|0); + $9 = (_ttUSHORT($8)|0); + $10 = $9&65535; + $11 = (($10) + -6)|0; + $12 = ($11|0)>($1|0); + if (!($12)) { + $$8 = 0; + return ($$8|0); + } + $13 = ((($6)) + 6|0); + $14 = (($13) + ($1)|0); + $15 = HEAP8[$14>>0]|0; + $16 = $15&255; + $$8 = $16; + return ($$8|0); + break; + } + case 6: { + $17 = ((($6)) + 6|0); + $18 = (_ttUSHORT($17)|0); + $19 = $18&65535; + $20 = ($19>>>0)>($1>>>0); + if ($20) { + $$8 = 0; + return ($$8|0); + } + $21 = ((($6)) + 8|0); + $22 = (_ttUSHORT($21)|0); + $23 = $22&65535; + $24 = (($23) + ($19))|0; + $25 = ($24>>>0)>($1>>>0); + if (!($25)) { + $$8 = 0; + return ($$8|0); + } + $26 = ((($6)) + 10|0); + $27 = (($1) - ($19))|0; + $28 = $27 << 1; + $29 = (($26) + ($28)|0); + $30 = (_ttUSHORT($29)|0); + $31 = $30&65535; + $$8 = $31; + return ($$8|0); + break; + } + case 2: { + ___assert_fail((18878|0),(16834|0),1347,(17634|0)); + // unreachable; + break; + } + case 4: { + $32 = ((($6)) + 6|0); + $33 = (_ttUSHORT($32)|0); + $34 = ($33&65535) >>> 1; + $35 = ($1|0)>(65535); + if ($35) { + $$8 = 0; + return ($$8|0); + } + $36 = (($5) + 14)|0; + $37 = ((($6)) + 12|0); + $38 = (_ttUSHORT($37)|0); + $39 = ((($6)) + 10|0); + $40 = (_ttUSHORT($39)|0); + $41 = $38 & -2; + $42 = (($3) + ($36)|0); + $43 = $41&65535; + $44 = (($42) + ($43)|0); + $45 = (_ttUSHORT($44)|0); + $46 = $45&65535; + $47 = ($46|0)>($1|0); + $48 = $47 ? 0 : $43; + $$ = (($5) + 12)|0; + $49 = (($$) + ($48))|0; + $50 = ($40<<16>>16)==(0); + if ($50) { + $$1172$lcssa = $49; + } else { + $51 = ((($6)) + 8|0); + $52 = (_ttUSHORT($51)|0); + $53 = ($52&65535) >>> 1; + $$0163180 = $53;$$0164179 = $40;$$1172178 = $49; + while(1) { + $54 = ($$0163180&65535) >>> 1; + $55 = (($3) + ($$1172178)|0); + $56 = ($54 << 1)&65535; + $57 = $56&65535; + $58 = (($55) + ($57)|0); + $59 = (_ttUSHORT($58)|0); + $60 = $59&65535; + $61 = ($60|0)<($1|0); + $62 = $61 ? $57 : 0; + $$$1172 = (($62) + ($$1172178))|0; + $63 = (($$0164179) + -1)<<16>>16; + $64 = ($63<<16>>16)==(0); + if ($64) { + $$1172$lcssa = $$$1172; + break; + } else { + $$0163180 = $54;$$0164179 = $63;$$1172178 = $$$1172; + } + } + } + $$neg = (-14 - ($5))|0; + $65 = (($$neg) + 2)|0; + $66 = (($65) + ($$1172$lcssa))|0; + $67 = $66 & 131070; + $68 = (($42) + ($67)|0); + $69 = (_ttUSHORT($68)|0); + $70 = $69&65535; + $71 = ($70|0)<($1|0); + if ($71) { + ___assert_fail((17655|0),(16834|0),1383,(17634|0)); + // unreachable; + } + $72 = ((($6)) + 14|0); + $73 = $34&65535; + $74 = ($34 << 1)&65535; + $75 = $74&65535; + $76 = (($72) + ($75)|0); + $77 = ((($76)) + 2|0); + $78 = (($77) + ($67)|0); + $79 = (_ttUSHORT($78)|0); + $80 = $79&65535; + $81 = ($80|0)>($1|0); + do { + if ($81) { + $$2$shrunk = 0; + } else { + $82 = ($73*6)|0; + $83 = (($72) + ($82)|0); + $84 = ((($83)) + 2|0); + $85 = (($84) + ($67)|0); + $86 = (_ttUSHORT($85)|0); + $87 = ($86<<16>>16)==(0); + if ($87) { + $88 = $73 << 2; + $89 = (($72) + ($88)|0); + $90 = ((($89)) + 2|0); + $91 = (($90) + ($67)|0); + $92 = (_ttSHORT($91)|0); + $93 = $92&65535; + $94 = (($93) + ($1))|0; + $95 = $94&65535; + $$2$shrunk = $95; + break; + } else { + $96 = $86&65535; + $97 = (($3) + ($96)|0); + $98 = (($1) - ($80))|0; + $99 = $98 << 1; + $100 = (($97) + ($99)|0); + $101 = (($100) + ($5)|0); + $102 = ((($101)) + 14|0); + $103 = (($102) + ($82)|0); + $104 = ((($103)) + 2|0); + $105 = (($104) + ($67)|0); + $106 = (_ttUSHORT($105)|0); + $$2$shrunk = $106; + break; + } + } + } while(0); + $$2 = $$2$shrunk&65535; + $$8 = $$2; + return ($$8|0); + break; + } + default: { + $107 = ($7<<16>>16)==(12); + $108 = $7 & -2; + $switch = ($108<<16>>16)==(12); + if (!($switch)) { + ___assert_fail((18878|0),(16834|0),1418,(17634|0)); + // unreachable; + } + $109 = ((($6)) + 12|0); + $110 = (_ttULONG($109)|0); + $111 = ((($6)) + 16|0); + $$0165$ph = $110;$$0168$ph = 0; + L6: while(1) { + $$0165 = $$0165$ph; + while(1) { + $112 = ($$0165|0)>($$0168$ph|0); + if (!($112)) { + $$8 = 0; + label = 27; + break L6; + } + $113 = (($$0165) - ($$0168$ph))|0; + $114 = $113 >> 1; + $115 = (($114) + ($$0168$ph))|0; + $116 = ($115*12)|0; + $117 = (($111) + ($116)|0); + $118 = (_ttULONG($117)|0); + $119 = ($118>>>0)>($1>>>0); + if ($119) { + $$0165 = $115; + } else { + break; + } + } + $120 = ((($117)) + 4|0); + $121 = (_ttULONG($120)|0); + $122 = ($121>>>0)<($1>>>0); + $123 = (($115) + 1)|0; + if ($122) { + $$0165$ph = $$0165;$$0168$ph = $123; + } else { + break; + } + } + if ((label|0) == 27) { + return ($$8|0); + } + $124 = ((($117)) + 8|0); + $125 = (_ttULONG($124)|0); + $126 = (($1) - ($118))|0; + $127 = $107 ? $126 : 0; + $$5 = (($125) + ($127))|0; + $$8 = $$5; + return ($$8|0); + } + } + return (0)|0; +} +function _stbtt_GetGlyphHMetrics($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0; + var $49 = 0, $5 = 0, $50 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $4 = ((($0)) + 4|0); + $5 = HEAP32[$4>>2]|0; + $6 = ((($0)) + 28|0); + $7 = HEAP32[$6>>2]|0; + $8 = (($5) + ($7)|0); + $9 = ((($8)) + 34|0); + $10 = (_ttUSHORT($9)|0); + $11 = $10&65535; + $12 = ($11|0)>($1|0); + $13 = ($2|0)!=(0|0); + if ($12) { + if ($13) { + $14 = ((($0)) + 32|0); + $15 = HEAP32[$14>>2]|0; + $16 = (($5) + ($15)|0); + $17 = $1 << 2; + $18 = (($16) + ($17)|0); + $19 = (_ttSHORT($18)|0); + $20 = $19 << 16 >> 16; + HEAP32[$2>>2] = $20; + } + $21 = ($3|0)==(0|0); + if ($21) { + return; + } + $22 = HEAP32[$4>>2]|0; + $23 = ((($0)) + 32|0); + $24 = HEAP32[$23>>2]|0; + $25 = (($22) + ($24)|0); + $26 = $1 << 2; + $27 = (($25) + ($26)|0); + $28 = ((($27)) + 2|0); + $29 = (_ttSHORT($28)|0); + $30 = $29 << 16 >> 16; + HEAP32[$3>>2] = $30; + return; + } else { + if ($13) { + $31 = ((($0)) + 32|0); + $32 = HEAP32[$31>>2]|0; + $33 = (($5) + ($32)|0); + $34 = $11 << 2; + $35 = (($34) + -4)|0; + $36 = (($33) + ($35)|0); + $37 = (_ttSHORT($36)|0); + $38 = $37 << 16 >> 16; + HEAP32[$2>>2] = $38; + } + $39 = ($3|0)==(0|0); + if ($39) { + return; + } + $40 = HEAP32[$4>>2]|0; + $41 = ((($0)) + 32|0); + $42 = HEAP32[$41>>2]|0; + $43 = (($40) + ($42)|0); + $44 = $11 << 2; + $45 = (($43) + ($44)|0); + $46 = (($1) - ($11))|0; + $47 = $46 << 1; + $48 = (($45) + ($47)|0); + $49 = (_ttSHORT($48)|0); + $50 = $49 << 16 >> 16; + HEAP32[$3>>2] = $50; + return; + } +} +function _stbtt_GetGlyphBitmapBox($0,$1,$2,$3,$4,$5,$6,$7) { + $0 = $0|0; + $1 = $1|0; + $2 = +$2; + $3 = +$3; + $4 = $4|0; + $5 = $5|0; + $6 = $6|0; + $7 = $7|0; + var label = 0, sp = 0; + sp = STACKTOP; + _stbtt_GetGlyphBitmapBoxSubpixel($0,$1,$2,$3,$4,$5,$6,$7); + return; +} +function _stbtt_MakeGlyphBitmap($0,$1,$2,$3,$4,$5,$6,$7) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = +$5; + $6 = +$6; + $7 = $7|0; + var label = 0, sp = 0; + sp = STACKTOP; + _stbtt_MakeGlyphBitmapSubpixel($0,$1,$2,$3,$4,$5,$6,$7); + return; +} +function _stbtt_MakeGlyphBitmapSubpixel($0,$1,$2,$3,$4,$5,$6,$7) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = +$5; + $6 = +$6; + $7 = $7|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $8 = sp + 24|0; + $9 = sp + 20|0; + $10 = sp + 16|0; + $11 = sp; + $12 = (_stbtt_GetGlyphShape($0,$7,$10)|0); + _stbtt_GetGlyphBitmapBoxSubpixel($0,$7,$5,$6,$8,$9,0,0); + $13 = ((($11)) + 12|0); + HEAP32[$13>>2] = $1; + HEAP32[$11>>2] = $2; + $14 = ((($11)) + 4|0); + HEAP32[$14>>2] = $3; + $15 = ((($11)) + 8|0); + HEAP32[$15>>2] = $4; + $16 = ($2|0)==(0); + $17 = ($3|0)==(0); + $or$cond = $16 | $17; + if ($or$cond) { + $21 = HEAP32[$10>>2]|0; + _free($21); + STACKTOP = sp;return; + } + $18 = HEAP32[$10>>2]|0; + $19 = HEAP32[$8>>2]|0; + $20 = HEAP32[$9>>2]|0; + _stbtt_Rasterize($11,$18,$12,$5,$6,$19,$20); + $21 = HEAP32[$10>>2]|0; + _free($21); + STACKTOP = sp;return; +} +function _stbtt_GetGlyphShape($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$0 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ((($0)) + 56|0); + $4 = HEAP32[$3>>2]|0; + $5 = ($4|0)==(0); + if ($5) { + $6 = (_stbtt__GetGlyphShapeTT($0,$1,$2)|0); + $$0 = $6; + return ($$0|0); + } else { + $7 = (_stbtt__GetGlyphShapeT2($0,$1,$2)|0); + $$0 = $7; return ($$0|0); } return (0)|0; } -function _vorbis_decode_packet($f,$len,$p_left,$p_right) { - $f = $f|0; - $len = $len|0; - $p_left = $p_left|0; - $p_right = $p_right|0; - var $$0 = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $left_end = 0, $mode = 0, $right_end = 0, label = 0, sp = 0; +function _stbtt_GetGlyphBitmapBoxSubpixel($0,$1,$2,$3,$4,$5,$6,$7) { + $0 = $0|0; + $1 = $1|0; + $2 = +$2; + $3 = +$3; + $4 = $4|0; + $5 = $5|0; + $6 = $6|0; + $7 = $7|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0.0, $27 = 0.0, $28 = 0.0, $29 = 0; + var $30 = 0, $31 = 0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0.0, $40 = 0.0, $41 = 0.0, $42 = 0, $8 = 0, $9 = 0, $ceilf = 0.0, $ceilf1 = 0.0, $floorf = 0.0, $floorf2 = 0.0, label = 0; + var sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $mode = sp + 8|0; - $left_end = sp; - $right_end = sp + 4|0; - $0 = (_vorbis_decode_initial($f,$p_left,$left_end,$p_right,$right_end,$mode)|0); - $1 = ($0|0)==(0); - if ($1) { - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $2 = HEAP32[$mode>>2]|0; - $3 = (((($f)) + 428|0) + (($2*6)|0)|0); - $4 = HEAP32[$p_left>>2]|0; - $5 = HEAP32[$p_right>>2]|0; - $6 = HEAP32[$right_end>>2]|0; - $7 = (_vorbis_decode_packet_rest($f,$len,$3,$4,$5,$6,$p_left)|0); - $$0 = $7; - STACKTOP = sp;return ($$0|0); -} -function _get8_packet($f) { - $f = $f|0; - var $0 = 0, $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_get8_packet_raw($f)|0); - $1 = ((($f)) + 1412|0); - HEAP32[$1>>2] = 0; - return ($0|0); -} -function _vorbis_finish_frame($f,$len,$left,$right) { - $f = $f|0; - $len = $len|0; - $left = $left|0; - $right = $right|0; - var $$0 = 0, $$pr = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0.0, $17 = 0, $18 = 0.0, $19 = 0.0, $2 = 0, $20 = 0, $21 = 0.0, $22 = 0, $23 = 0, $24 = 0.0; - var $25 = 0.0, $26 = 0.0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0; - var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond10 = 0; - var $i$04 = 0, $i1$09 = 0, $j$03 = 0, $j2$06 = 0, $len$right = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($f)) + 1008|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)==(0); - if ($2) { - $49 = 0; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $8 = sp + 12|0; + $9 = sp + 8|0; + $10 = sp + 4|0; + $11 = sp; + HEAP32[$8>>2] = 0; + HEAP32[$9>>2] = 0; + $12 = (_stbtt_GetGlyphBox($0,$1,$8,$9,$10,$11)|0); + $13 = ($12|0)==(0); + $14 = ($4|0)!=(0|0); + if ($13) { + if ($14) { + HEAP32[$4>>2] = 0; + } + $15 = ($5|0)==(0|0); + if (!($15)) { + HEAP32[$5>>2] = 0; + } + $16 = ($6|0)==(0|0); + if (!($16)) { + HEAP32[$6>>2] = 0; + } + $17 = ($7|0)==(0|0); + if ($17) { + STACKTOP = sp;return; + } + HEAP32[$7>>2] = 0; + STACKTOP = sp;return; } else { - $3 = (_get_window($f,$1)|0); - $4 = ((($f)) + 4|0); - $5 = HEAP32[$4>>2]|0; - $6 = ($5|0)>(0); - if ($6) { - $7 = ($1|0)>(0); - $8 = HEAP32[$4>>2]|0; - $9 = (($1) + -1)|0; - $i1$09 = 0; - while(1) { - if ($7) { - $10 = (((($f)) + 816|0) + ($i1$09<<2)|0); - $11 = HEAP32[$10>>2]|0; - $12 = (((($f)) + 944|0) + ($i1$09<<2)|0); - $13 = HEAP32[$12>>2]|0; - $j2$06 = 0; + if ($14) { + $18 = HEAP32[$8>>2]|0; + $19 = (+($18|0)); + $20 = $19 * $2; + $21 = $20 + 0.0; + $floorf2 = (+Math_floor((+$21))); + $22 = (~~(($floorf2))); + HEAP32[$4>>2] = $22; + } + $23 = ($5|0)==(0|0); + if (!($23)) { + $24 = HEAP32[$11>>2]|0; + $25 = (0 - ($24))|0; + $26 = (+($25|0)); + $27 = $26 * $3; + $28 = $27 + 0.0; + $floorf = (+Math_floor((+$28))); + $29 = (~~(($floorf))); + HEAP32[$5>>2] = $29; + } + $30 = ($6|0)==(0|0); + if (!($30)) { + $31 = HEAP32[$10>>2]|0; + $32 = (+($31|0)); + $33 = $32 * $2; + $34 = $33 + 0.0; + $ceilf1 = (+Math_ceil((+$34))); + $35 = (~~(($ceilf1))); + HEAP32[$6>>2] = $35; + } + $36 = ($7|0)==(0|0); + if ($36) { + STACKTOP = sp;return; + } + $37 = HEAP32[$9>>2]|0; + $38 = (0 - ($37))|0; + $39 = (+($38|0)); + $40 = $39 * $3; + $41 = $40 + 0.0; + $ceilf = (+Math_ceil((+$41))); + $42 = (~~(($ceilf))); + HEAP32[$7>>2] = $42; + STACKTOP = sp;return; + } +} +function _stbtt_Rasterize($0,$1,$2,$3,$4,$5,$6) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = +$3; + $4 = +$4; + $5 = $5|0; + $6 = $6|0; + var $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $7 = sp + 4|0; + $8 = sp; + $9 = $3 > $4; + $10 = $9 ? $4 : $3; + $11 = 0.34999999403953552 / $10; + $12 = (_stbtt_FlattenCurves($1,$2,$11,$8,$7)|0); + $13 = ($12|0)==(0|0); + if ($13) { + STACKTOP = sp;return; + } + $14 = HEAP32[$8>>2]|0; + $15 = HEAP32[$7>>2]|0; + _stbtt__rasterize($0,$12,$14,$15,$3,$4,$5,$6); + _free($14); + _free($12); + STACKTOP = sp;return; +} +function _stbtt_FlattenCurves($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = +$2; + $3 = $3|0; + $4 = $4|0; + var $$$0113 = 0, $$010 = 0.0, $$01079 = 0.0, $$011014 = 0, $$011113 = 0, $$011316 = 0, $$011715 = 0, $$0119 = 0, $$012012 = 0, $$1 = 0.0, $$1108 = 0.0, $$1112$lcssa = 0, $$11128 = 0, $$11185 = 0, $$1121 = 0, $$2 = 0, $$2115$lcssa = 0, $$21157 = 0, $$3116 = 0, $10 = 0; + var $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0; + var $31 = 0, $32 = 0, $33 = 0, $34 = 0.0, $35 = 0, $36 = 0, $37 = 0.0, $38 = 0, $39 = 0, $40 = 0.0, $41 = 0, $42 = 0, $43 = 0.0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0.0, $49 = 0, $5 = 0; + var $50 = 0, $51 = 0.0, $52 = 0, $53 = 0.0, $54 = 0, $55 = 0, $56 = 0.0, $57 = 0, $58 = 0.0, $59 = 0, $6 = 0.0, $60 = 0.0, $61 = 0, $62 = 0, $63 = 0.0, $64 = 0, $65 = 0, $66 = 0.0, $67 = 0, $68 = 0; + var $69 = 0.0, $7 = 0, $70 = 0, $71 = 0, $72 = 0.0, $73 = 0, $74 = 0.0, $75 = 0, $76 = 0, $77 = 0.0, $78 = 0, $79 = 0.0, $8 = 0, $80 = 0, $81 = 0.0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0; + var $87 = 0, $88 = 0, $89 = 0, $9 = 0, $exitcond = 0, $exitcond21 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $5 = sp; + HEAP32[$5>>2] = 0; + $6 = $2 * $2; + $7 = ($1|0)>(0); + if ($7) { + $$011316 = 0;$$011715 = 0; + } else { + HEAP32[$4>>2] = 0; + $$0119 = 0; + STACKTOP = sp;return ($$0119|0); + } + while(1) { + $8 = (((($0) + (($$011715*14)|0)|0)) + 12|0); + $9 = HEAP8[$8>>0]|0; + $10 = ($9<<24>>24)==(1); + $11 = $10&1; + $$$0113 = (($11) + ($$011316))|0; + $12 = (($$011715) + 1)|0; + $exitcond21 = ($12|0)==($1|0); + if ($exitcond21) { + break; + } else { + $$011316 = $$$0113;$$011715 = $12; + } + } + HEAP32[$4>>2] = $$$0113; + $13 = ($$$0113|0)==(0); + if ($13) { + $$0119 = 0; + STACKTOP = sp;return ($$0119|0); + } + $14 = $$$0113 << 2; + $15 = (_malloc($14)|0); + HEAP32[$3>>2] = $15; + $16 = ($15|0)==(0|0); + if ($16) { + HEAP32[$4>>2] = 0; + $$0119 = 0; + STACKTOP = sp;return ($$0119|0); + } + $17 = ($1|0)>(0); + $$011014 = 0;$$011113 = 0;$$012012 = 0; + while(1) { + $18 = ($$011014|0)==(1); + if ($18) { + $19 = HEAP32[$5>>2]|0; + $20 = $19 << 3; + $21 = (_malloc($20)|0); + $22 = ($21|0)==(0|0); + if ($22) { + break; + } else { + $$1121 = $21; + } + } else { + $$1121 = $$012012; + } + HEAP32[$5>>2] = 0; + L19: do { + if ($17) { + $$010 = 0.0;$$01079 = 0.0;$$11128 = $$011113;$$11185 = 0;$$21157 = -1; + while(1) { + $23 = (($0) + (($$11185*14)|0)|0); + $24 = (((($0) + (($$11185*14)|0)|0)) + 12|0); + $25 = HEAP8[$24>>0]|0; + switch ($25<<24>>24) { + case 1: { + $26 = ($$21157|0)>(-1); + if ($26) { + $27 = HEAP32[$5>>2]|0; + $28 = (($27) - ($$11128))|0; + $29 = HEAP32[$3>>2]|0; + $30 = (($29) + ($$21157<<2)|0); + HEAP32[$30>>2] = $28; + } + $31 = (($$21157) + 1)|0; + $32 = HEAP32[$5>>2]|0; + $33 = HEAP16[$23>>1]|0; + $34 = (+($33<<16>>16)); + $35 = (((($0) + (($$11185*14)|0)|0)) + 2|0); + $36 = HEAP16[$35>>1]|0; + $37 = (+($36<<16>>16)); + $38 = (($32) + 1)|0; + HEAP32[$5>>2] = $38; + _stbtt__add_point($$1121,$32,$34,$37); + $$1 = $37;$$1108 = $34;$$2 = $32;$$3116 = $31; + break; + } + case 2: { + $39 = HEAP16[$23>>1]|0; + $40 = (+($39<<16>>16)); + $41 = (((($0) + (($$11185*14)|0)|0)) + 2|0); + $42 = HEAP16[$41>>1]|0; + $43 = (+($42<<16>>16)); + $44 = HEAP32[$5>>2]|0; + $45 = (($44) + 1)|0; + HEAP32[$5>>2] = $45; + _stbtt__add_point($$1121,$44,$40,$43); + $$1 = $43;$$1108 = $40;$$2 = $$11128;$$3116 = $$21157; + break; + } + case 3: { + $46 = (((($0) + (($$11185*14)|0)|0)) + 4|0); + $47 = HEAP16[$46>>1]|0; + $48 = (+($47<<16>>16)); + $49 = (((($0) + (($$11185*14)|0)|0)) + 6|0); + $50 = HEAP16[$49>>1]|0; + $51 = (+($50<<16>>16)); + $52 = HEAP16[$23>>1]|0; + $53 = (+($52<<16>>16)); + $54 = (((($0) + (($$11185*14)|0)|0)) + 2|0); + $55 = HEAP16[$54>>1]|0; + $56 = (+($55<<16>>16)); + _stbtt__tesselate_curve($$1121,$5,$$01079,$$010,$48,$51,$53,$56,$6,0); + $57 = HEAP16[$23>>1]|0; + $58 = (+($57<<16>>16)); + $59 = HEAP16[$54>>1]|0; + $60 = (+($59<<16>>16)); + $$1 = $60;$$1108 = $58;$$2 = $$11128;$$3116 = $$21157; + break; + } + case 4: { + $61 = (((($0) + (($$11185*14)|0)|0)) + 4|0); + $62 = HEAP16[$61>>1]|0; + $63 = (+($62<<16>>16)); + $64 = (((($0) + (($$11185*14)|0)|0)) + 6|0); + $65 = HEAP16[$64>>1]|0; + $66 = (+($65<<16>>16)); + $67 = (((($0) + (($$11185*14)|0)|0)) + 8|0); + $68 = HEAP16[$67>>1]|0; + $69 = (+($68<<16>>16)); + $70 = (((($0) + (($$11185*14)|0)|0)) + 10|0); + $71 = HEAP16[$70>>1]|0; + $72 = (+($71<<16>>16)); + $73 = HEAP16[$23>>1]|0; + $74 = (+($73<<16>>16)); + $75 = (((($0) + (($$11185*14)|0)|0)) + 2|0); + $76 = HEAP16[$75>>1]|0; + $77 = (+($76<<16>>16)); + _stbtt__tesselate_cubic($$1121,$5,$$01079,$$010,$63,$66,$69,$72,$74,$77,$6,0); + $78 = HEAP16[$23>>1]|0; + $79 = (+($78<<16>>16)); + $80 = HEAP16[$75>>1]|0; + $81 = (+($80<<16>>16)); + $$1 = $81;$$1108 = $79;$$2 = $$11128;$$3116 = $$21157; + break; + } + default: { + $$1 = $$010;$$1108 = $$01079;$$2 = $$11128;$$3116 = $$21157; + } + } + $82 = (($$11185) + 1)|0; + $exitcond = ($82|0)==($1|0); + if ($exitcond) { + $$1112$lcssa = $$2;$$2115$lcssa = $$3116; + break L19; + } else { + $$010 = $$1;$$01079 = $$1108;$$11128 = $$2;$$11185 = $82;$$21157 = $$3116; + } + } + } else { + $$1112$lcssa = $$011113;$$2115$lcssa = -1; + } + } while(0); + $83 = HEAP32[$5>>2]|0; + $84 = (($83) - ($$1112$lcssa))|0; + $85 = HEAP32[$3>>2]|0; + $86 = (($85) + ($$2115$lcssa<<2)|0); + HEAP32[$86>>2] = $84; + $87 = (($$011014) + 1)|0; + $88 = ($87|0)<(2); + if ($88) { + $$011014 = $87;$$011113 = $$1112$lcssa;$$012012 = $$1121; + } else { + $$0119 = $$1121; + label = 21; + break; + } + } + if ((label|0) == 21) { + STACKTOP = sp;return ($$0119|0); + } + $89 = HEAP32[$3>>2]|0; + _free($89); + HEAP32[$3>>2] = 0; + HEAP32[$4>>2] = 0; + $$0119 = 0; + STACKTOP = sp;return ($$0119|0); +} +function _stbtt__rasterize($0,$1,$2,$3,$4,$5,$6,$7) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = +$4; + $5 = +$5; + $6 = $6|0; + $7 = $7|0; + var $$0 = 0, $$0101 = 0, $$0102$lcssa = 0, $$010211 = 0, $$010410 = 0, $$01064 = 0, $$01072 = 0, $$01081 = 0, $$01081$phi = 0, $$1$lcssa = 0, $$11055 = 0, $$16 = 0, $$2$lcssa = 0, $$23 = 0, $$3 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0; + var $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0.0, $27 = 0, $28 = 0, $29 = 0.0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0.0; + var $35 = 0.0, $36 = 0.0, $37 = 0, $38 = 0, $39 = 0.0, $40 = 0.0, $41 = 0.0, $42 = 0, $43 = 0, $44 = 0.0, $45 = 0.0, $46 = 0.0, $47 = 0, $48 = 0, $49 = 0.0, $50 = 0.0, $51 = 0.0, $52 = 0, $53 = 0, $54 = 0; + var $55 = 0, $56 = 0, $8 = 0.0, $9 = 0, $exitcond = 0, $exitcond16 = 0, $phitmp = 0, $phitmp17 = 0, $storemerge = 0, label = 0, sp = 0; + sp = STACKTOP; + $8 = -$5; + $9 = ($3|0)>(0); + if ($9) { + $$010211 = 0;$$010410 = 0; + while(1) { + $10 = (($2) + ($$010410<<2)|0); + $11 = HEAP32[$10>>2]|0; + $12 = (($11) + ($$010211))|0; + $13 = (($$010410) + 1)|0; + $exitcond16 = ($13|0)==($3|0); + if ($exitcond16) { + break; + } else { + $$010211 = $12;$$010410 = $13; + } + } + $phitmp = ($12*20)|0; + $phitmp17 = (($phitmp) + 20)|0; + $$0102$lcssa = $phitmp17; + } else { + $$0102$lcssa = 20; + } + $14 = (_malloc($$0102$lcssa)|0); + $15 = ($14|0)==(0|0); + if ($15) { + return; + } + $16 = ($3|0)>(0); + if ($16) { + $$01064 = 0;$$11055 = 0;$$16 = 0; + while(1) { + $17 = (($1) + ($$01064<<3)|0); + $18 = (($2) + ($$11055<<2)|0); + $19 = HEAP32[$18>>2]|0; + $20 = (($19) + ($$01064))|0; + $21 = ($19|0)>(0); + if ($21) { + $22 = (($19) + -1)|0; + $23 = HEAP32[$18>>2]|0; + $$01072 = 0;$$01081 = $22;$$23 = $$16; + while(1) { + $24 = (($17) + ($$01081<<3)|0); + $25 = ((($24)) + 4|0); + $26 = +HEAPF32[$25>>2]; + $27 = (($17) + ($$01072<<3)|0); + $28 = ((($27)) + 4|0); + $29 = +HEAPF32[$28>>2]; + $30 = $26 == $29; + if ($30) { + $$3 = $$23; + } else { + $31 = (((($14) + (($$23*20)|0)|0)) + 16|0); + $32 = $26 > $29; + $storemerge = $32&1; + $$0101 = $32 ? $$01081 : $$01072; + $$0 = $32 ? $$01072 : $$01081; + HEAP32[$31>>2] = $storemerge; + $33 = (($17) + ($$0101<<3)|0); + $34 = +HEAPF32[$33>>2]; + $35 = $34 * $4; + $36 = $35 + 0.0; + $37 = (($14) + (($$23*20)|0)|0); + HEAPF32[$37>>2] = $36; + $38 = ((($33)) + 4|0); + $39 = +HEAPF32[$38>>2]; + $40 = $39 * $8; + $41 = $40 + 0.0; + $42 = (((($14) + (($$23*20)|0)|0)) + 4|0); + HEAPF32[$42>>2] = $41; + $43 = (($17) + ($$0<<3)|0); + $44 = +HEAPF32[$43>>2]; + $45 = $44 * $4; + $46 = $45 + 0.0; + $47 = (((($14) + (($$23*20)|0)|0)) + 8|0); + HEAPF32[$47>>2] = $46; + $48 = ((($43)) + 4|0); + $49 = +HEAPF32[$48>>2]; + $50 = $49 * $8; + $51 = $50 + 0.0; + $52 = (((($14) + (($$23*20)|0)|0)) + 12|0); + HEAPF32[$52>>2] = $51; + $53 = (($$23) + 1)|0; + $$3 = $53; + } + $54 = (($$01072) + 1)|0; + $55 = ($54|0)<($23|0); + if ($55) { + $$01081$phi = $$01072;$$01072 = $54;$$23 = $$3;$$01081 = $$01081$phi; + } else { + $$2$lcssa = $$3; + break; + } + } + } else { + $$2$lcssa = $$16; + } + $56 = (($$11055) + 1)|0; + $exitcond = ($56|0)==($3|0); + if ($exitcond) { + $$1$lcssa = $$2$lcssa; + break; + } else { + $$01064 = $20;$$11055 = $56;$$16 = $$2$lcssa; + } + } + } else { + $$1$lcssa = 0; + } + _stbtt__sort_edges($14,$$1$lcssa); + _stbtt__rasterize_sorted_edges($0,$14,$$1$lcssa,$6,$7); + _free($14); + return; +} +function _stbtt__sort_edges($0,$1) { + $0 = $0|0; + $1 = $1|0; + var label = 0, sp = 0; + sp = STACKTOP; + _stbtt__sort_edges_quicksort($0,$1); + _stbtt__sort_edges_ins_sort($0,$1); + return; +} +function _stbtt__rasterize_sorted_edges($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$ = 0, $$010025 = 0, $$010123 = 0, $$010219 = 0.0, $$010318 = 0, $$0104 = 0, $$0105$ph15 = 0, $$026 = 0, $$1$lcssa = 0, $$116 = 0, $$sroa$0 = 0, $$sroa$0$0$$sroa$0$0$$0$1 = 0, $$sroa$0$0$$sroa$0$0$$0$1079 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0; + var $17 = 0.0, $18 = 0.0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0.0, $26 = 0.0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0.0, $34 = 0, $35 = 0, $36 = 0; + var $37 = 0.0, $38 = 0, $39 = 0, $40 = 0, $41 = 0.0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0.0, $49 = 0, $5 = 0, $50 = 0.0, $51 = 0, $52 = 0, $53 = 0, $54 = 0.0, $55 = 0; + var $56 = 0, $57 = 0, $58 = 0, $59 = 0.0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0.0, $69 = 0.0, $7 = 0, $70 = 0, $71 = 0.0, $72 = 0.0, $73 = 0.0; + var $74 = 0.0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0.0, $89 = 0, $9 = 0, $90 = 0.0, $91 = 0.0; + var $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $fabsf = 0.0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 544|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(544|0); + $5 = sp + 520|0; + $$sroa$0 = sp + 516|0; + $6 = sp; + ;HEAP32[$5>>2]=0|0;HEAP32[$5+4>>2]=0|0;HEAP32[$5+8>>2]=0|0; + HEAP32[$$sroa$0>>2] = 0; + $7 = HEAP32[$0>>2]|0; + $8 = ($7|0)>(64); + if ($8) { + $9 = $7 << 3; + $10 = $9 | 4; + $11 = (_malloc($10)|0); + $$0104 = $11; + } else { + $$0104 = $6; + } + $12 = HEAP32[$0>>2]|0; + $13 = (($$0104) + ($12<<2)|0); + $14 = ((($0)) + 4|0); + $15 = HEAP32[$14>>2]|0; + $16 = (($15) + ($4))|0; + $17 = (+($16|0)); + $18 = $17 + 1.0; + $19 = (((($1) + (($2*20)|0)|0)) + 4|0); + HEAPF32[$19>>2] = $18; + $20 = HEAP32[$14>>2]|0; + $21 = ($20|0)>(0); + L5: do { + if ($21) { + $22 = ((($13)) + 4|0); + $23 = ((($0)) + 12|0); + $24 = ((($0)) + 8|0); + $$010025 = $4;$$010123 = 0;$$026 = $1; + L7: while(1) { + $25 = (+($$010025|0)); + $26 = $25 + 1.0; + $27 = HEAP32[$0>>2]|0; + $28 = $27 << 2; + _memset(($$0104|0),0,($28|0))|0; + $29 = (($28) + 4)|0; + _memset(($13|0),0,($29|0))|0; + $30 = HEAP32[$$sroa$0>>2]|0; + $31 = ($30|0)==(0|0); + L9: do { + if (!($31)) { + $$0105$ph15 = $$sroa$0;$99 = $30; + while(1) { + $36 = $99; + while(1) { + $35 = ((($36)) + 24|0); + $37 = +HEAPF32[$35>>2]; + $38 = !($37 <= $25); + if ($38) { + break; + } + $39 = HEAP32[$36>>2]|0; + HEAP32[$$0105$ph15>>2] = $39; + $40 = ((($36)) + 16|0); + $41 = +HEAPF32[$40>>2]; + $42 = $41 != 0.0; + if (!($42)) { + label = 11; + break L7; + } + HEAPF32[$40>>2] = 0.0; + _stbtt__hheap_free($5,$36); + $43 = HEAP32[$$0105$ph15>>2]|0; + $44 = ($43|0)==(0|0); + if ($44) { + break L9; + } else { + $36 = $43; + } + } + $45 = HEAP32[$36>>2]|0; + $46 = ($45|0)==(0|0); + if ($46) { + break; + } else { + $$0105$ph15 = $36;$99 = $45; + } + } + } + } while(0); + $32 = ((($$026)) + 4|0); + $33 = +HEAPF32[$32>>2]; + $34 = !($33 <= $26); + if ($34) { + $$1$lcssa = $$026; + } else { + $$116 = $$026;$50 = $33; while(1) { - $14 = (($j2$06) + ($left))|0; - $15 = (($11) + ($14<<2)|0); - $16 = +HEAPF32[$15>>2]; - $17 = (($3) + ($j2$06<<2)|0); - $18 = +HEAPF32[$17>>2]; - $19 = $16 * $18; - $20 = (($13) + ($j2$06<<2)|0); - $21 = +HEAPF32[$20>>2]; - $22 = (($9) - ($j2$06))|0; - $23 = (($3) + ($22<<2)|0); - $24 = +HEAPF32[$23>>2]; - $25 = $21 * $24; - $26 = $19 + $25; - HEAPF32[$15>>2] = $26; - $27 = (($j2$06) + 1)|0; - $exitcond10 = ($27|0)==($1|0); - if ($exitcond10) { + $47 = ((($$116)) + 12|0); + $48 = +HEAPF32[$47>>2]; + $49 = $50 != $48; + if ($49) { + $51 = (_stbtt__new_active($5,$$116,$3,$25)|0); + $52 = ($51|0)==(0|0); + if (!($52)) { + $53 = ((($51)) + 24|0); + $54 = +HEAPF32[$53>>2]; + $55 = !($54 >= $25); + if ($55) { + label = 17; + break L7; + } + $$sroa$0$0$$sroa$0$0$$0$1 = HEAP32[$$sroa$0>>2]|0; + HEAP32[$51>>2] = $$sroa$0$0$$sroa$0$0$$0$1; + $56 = $51; + HEAP32[$$sroa$0>>2] = $56; + } + } + $57 = ((($$116)) + 20|0); + $58 = ((($$116)) + 24|0); + $59 = +HEAPF32[$58>>2]; + $60 = !($59 <= $26); + if ($60) { + $$1$lcssa = $57; break; } else { - $j2$06 = $27; + $$116 = $57;$50 = $59; } } } - $28 = (($i1$09) + 1)|0; - $29 = ($28|0)<($8|0); + $$sroa$0$0$$sroa$0$0$$0$1079 = HEAP32[$$sroa$0>>2]|0; + $61 = ($$sroa$0$0$$sroa$0$0$$0$1079|0)==(0|0); + if (!($61)) { + $62 = HEAP32[$0>>2]|0; + _stbtt__fill_active_edges_new($$0104,$22,$62,$$sroa$0$0$$sroa$0$0$$0$1079,$25); + } + $63 = HEAP32[$0>>2]|0; + $64 = ($63|0)>(0); + if ($64) { + $$010219 = 0.0;$$010318 = 0; + while(1) { + $67 = (($13) + ($$010318<<2)|0); + $68 = +HEAPF32[$67>>2]; + $69 = $$010219 + $68; + $70 = (($$0104) + ($$010318<<2)|0); + $71 = +HEAPF32[$70>>2]; + $72 = $71 + $69; + $fabsf = (+Math_abs((+$72))); + $73 = $fabsf * 255.0; + $74 = $73 + 0.5; + $75 = (~~(($74))); + $76 = ($75|0)<(255); + $$ = $76 ? $75 : 255; + $77 = $$&255; + $78 = HEAP32[$23>>2]|0; + $79 = HEAP32[$24>>2]|0; + $80 = Math_imul($79, $$010123)|0; + $81 = (($80) + ($$010318))|0; + $82 = (($78) + ($81)|0); + HEAP8[$82>>0] = $77; + $83 = (($$010318) + 1)|0; + $84 = HEAP32[$0>>2]|0; + $85 = ($83|0)<($84|0); + if ($85) { + $$010219 = $69;$$010318 = $83; + } else { + break; + } + } + } + $65 = HEAP32[$$sroa$0>>2]|0; + $66 = ($65|0)==(0|0); + if (!($66)) { + $87 = $65; + while(1) { + $86 = ((($87)) + 8|0); + $88 = +HEAPF32[$86>>2]; + $89 = ((($87)) + 4|0); + $90 = +HEAPF32[$89>>2]; + $91 = $88 + $90; + HEAPF32[$89>>2] = $91; + $92 = HEAP32[$87>>2]|0; + $93 = ($92|0)==(0|0); + if ($93) { + break; + } else { + $87 = $92; + } + } + } + $94 = (($$010025) + 1)|0; + $95 = (($$010123) + 1)|0; + $96 = HEAP32[$14>>2]|0; + $97 = ($95|0)<($96|0); + if ($97) { + $$010025 = $94;$$010123 = $95;$$026 = $$1$lcssa; + } else { + break L5; + } + } + if ((label|0) == 11) { + ___assert_fail((16890|0),(16834|0),2775,(16903|0)); + // unreachable; + } + else if ((label|0) == 17) { + ___assert_fail((16933|0),(16834|0),2788,(16903|0)); + // unreachable; + } + } + } while(0); + _stbtt__hheap_cleanup($5); + $98 = ($$0104|0)==($6|0); + if ($98) { + STACKTOP = sp;return; + } + _free($$0104); + STACKTOP = sp;return; +} +function _stbtt__hheap_free($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($0)) + 4|0); + $3 = HEAP32[$2>>2]|0; + HEAP32[$1>>2] = $3; + HEAP32[$2>>2] = $1; + return; +} +function _stbtt__new_active($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = +$3; + var $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0, $18 = 0.0, $19 = 0.0, $20 = 0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0.0, $26 = 0, $27 = 0.0, $28 = 0.0, $29 = 0; + var $30 = 0, $31 = 0, $32 = 0.0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $4 = 0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $4 = (_stbtt__hheap_alloc($0)|0); + $5 = ((($1)) + 8|0); + $6 = +HEAPF32[$5>>2]; + $7 = +HEAPF32[$1>>2]; + $8 = $6 - $7; + $9 = ((($1)) + 12|0); + $10 = +HEAPF32[$9>>2]; + $11 = ((($1)) + 4|0); + $12 = +HEAPF32[$11>>2]; + $13 = $10 - $12; + $14 = $8 / $13; + $15 = ($4|0)==(0|0); + if ($15) { + ___assert_fail((17223|0),(16834|0),2374,(17239|0)); + // unreachable; + } else { + $16 = ((($4)) + 8|0); + HEAPF32[$16>>2] = $14; + $17 = $14 != 0.0; + $18 = 1.0 / $14; + $19 = $17 ? $18 : 0.0; + $20 = ((($4)) + 12|0); + HEAPF32[$20>>2] = $19; + $21 = +HEAPF32[$1>>2]; + $22 = +HEAPF32[$11>>2]; + $23 = $3 - $22; + $24 = $14 * $23; + $25 = $21 + $24; + $26 = ((($4)) + 4|0); + $27 = (+($2|0)); + $28 = $25 - $27; + HEAPF32[$26>>2] = $28; + $29 = ((($1)) + 16|0); + $30 = HEAP32[$29>>2]|0; + $31 = ($30|0)!=(0); + $32 = $31 ? 1.0 : -1.0; + $33 = ((($4)) + 16|0); + HEAPF32[$33>>2] = $32; + $34 = ((($4)) + 20|0); + HEAPF32[$34>>2] = $22; + $35 = HEAP32[$9>>2]|0; + $36 = ((($4)) + 24|0); + HEAP32[$36>>2] = $35; + HEAP32[$4>>2] = 0; + return ($4|0); + } + return (0)|0; +} +function _stbtt__fill_active_edges_new($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = +$4; + var $$0350 = 0.0, $$0351 = 0.0, $$0352 = 0.0, $$0354 = 0.0, $$0356370 = 0, $$0357 = 0.0, $$0359$lcssa = 0.0, $$0359372 = 0.0, $$0360 = 0.0, $$0361371 = 0, $$0374 = 0, $$1 = 0.0, $$1353 = 0.0, $$1355 = 0.0, $$1358 = 0.0, $10 = 0.0, $100 = 0.0, $101 = 0, $102 = 0, $103 = 0; + var $104 = 0.0, $105 = 0.0, $106 = 0.0, $107 = 0.0, $108 = 0.0, $109 = 0.0, $11 = 0, $110 = 0.0, $111 = 0.0, $112 = 0.0, $113 = 0.0, $114 = 0.0, $115 = 0.0, $116 = 0, $117 = 0.0, $118 = 0.0, $119 = 0.0, $12 = 0, $120 = 0.0, $121 = 0; + var $122 = 0.0, $123 = 0.0, $124 = 0.0, $125 = 0, $126 = 0.0, $127 = 0.0, $128 = 0.0, $129 = 0.0, $13 = 0.0, $130 = 0.0, $131 = 0.0, $132 = 0.0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0; + var $140 = 0, $141 = 0, $142 = 0, $15 = 0, $16 = 0.0, $17 = 0, $18 = 0, $19 = 0.0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0.0, $25 = 0, $26 = 0.0, $27 = 0, $28 = 0.0, $29 = 0, $30 = 0, $31 = 0.0; + var $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0, $36 = 0.0, $37 = 0.0, $38 = 0.0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0.0, $47 = 0, $48 = 0, $49 = 0, $5 = 0.0, $50 = 0.0; + var $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0.0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0, $6 = 0, $60 = 0.0, $61 = 0.0, $62 = 0.0, $63 = 0.0, $64 = 0, $65 = 0.0, $66 = 0.0, $67 = 0, $68 = 0.0, $69 = 0.0; + var $7 = 0.0, $70 = 0.0, $71 = 0.0, $72 = 0.0, $73 = 0, $74 = 0, $75 = 0, $76 = 0.0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0, $80 = 0, $81 = 0.0, $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0.0, $86 = 0.0, $87 = 0.0; + var $88 = 0.0, $89 = 0.0, $9 = 0, $90 = 0, $91 = 0.0, $92 = 0.0, $93 = 0.0, $94 = 0, $95 = 0.0, $96 = 0.0, $97 = 0, $98 = 0.0, $99 = 0.0, $exitcond = 0, $exitcond380 = 0, $fabsf = 0.0, $or$cond = 0, $or$cond362 = 0, $or$cond363 = 0, $or$cond364 = 0; + var $or$cond365 = 0, $or$cond366 = 0, $or$cond367 = 0, $or$cond368 = 0, $or$cond369 = 0, label = 0, sp = 0; + sp = STACKTOP; + $5 = $4 + 1.0; + $6 = ($3|0)==(0|0); + if ($6) { + return; + } + $7 = (+($2|0)); + $8 = ((($1)) + -4|0); + $9 = ((($1)) + -4|0); + $10 = (+($2|0)); + $11 = ($2|0)>(0); + $$0374 = $3; + L4: while(1) { + $12 = ((($$0374)) + 24|0); + $13 = +HEAPF32[$12>>2]; + $14 = !($13 >= $4); + if ($14) { + label = 4; + break; + } + $15 = ((($$0374)) + 8|0); + $16 = +HEAPF32[$15>>2]; + $17 = $16 == 0.0; + $18 = ((($$0374)) + 4|0); + $19 = +HEAPF32[$18>>2]; + do { + if ($17) { + $20 = $19 < $7; + if ($20) { + $21 = !($19 >= 0.0); + if ($21) { + _stbtt__handle_clipped_edge($8,0,$$0374,$19,$4,$19,$5); + break; + } else { + $22 = (~~(($19))); + _stbtt__handle_clipped_edge($0,$22,$$0374,$19,$4,$19,$5); + $23 = (($22) + 1)|0; + _stbtt__handle_clipped_edge($9,$23,$$0374,$19,$4,$19,$5); + break; + } + } + } else { + $24 = $16 + $19; + $25 = ((($$0374)) + 12|0); + $26 = +HEAPF32[$25>>2]; + $27 = ((($$0374)) + 20|0); + $28 = +HEAPF32[$27>>2]; + $29 = !($28 <= $5); if ($29) { - $i1$09 = $28; + label = 11; + break L4; + } + $30 = $28 > $4; + $31 = $28 - $4; + $32 = $16 * $31; + $33 = $19 + $32; + $$0354 = $30 ? $28 : $4; + $$0351 = $30 ? $33 : $19; + $34 = +HEAPF32[$12>>2]; + $35 = $34 < $5; + $36 = $34 - $4; + $37 = $16 * $36; + $38 = $19 + $37; + $$0357 = $35 ? $34 : $5; + $$0352 = $35 ? $38 : $24; + $39 = $$0351 >= 0.0; + $40 = $$0352 >= 0.0; + $or$cond = $39 & $40; + if ($or$cond) { + $41 = $$0351 < $10; + $42 = $$0352 < $10; + $or$cond362 = $41 & $42; + if ($or$cond362) { + $43 = (~~(($$0351))); + $44 = (~~(($$0352))); + $45 = ($43|0)==($44|0); + if ($45) { + $46 = $$0357 - $$0354; + $47 = ($43|0)>(-1); + $48 = ($43|0)<($2|0); + $or$cond363 = $47 & $48; + if (!($or$cond363)) { + label = 17; + break L4; + } + $49 = ((($$0374)) + 16|0); + $50 = +HEAPF32[$49>>2]; + $51 = (+($43|0)); + $52 = $$0351 - $51; + $53 = $$0352 - $51; + $54 = $52 + $53; + $55 = $54 * 0.5; + $56 = 1.0 - $55; + $57 = $56 * $50; + $58 = $46 * $57; + $59 = (($0) + ($43<<2)|0); + $60 = +HEAPF32[$59>>2]; + $61 = $60 + $58; + HEAPF32[$59>>2] = $61; + $62 = +HEAPF32[$49>>2]; + $63 = $46 * $62; + $64 = (($1) + ($43<<2)|0); + $65 = +HEAPF32[$64>>2]; + $66 = $65 + $63; + HEAPF32[$64>>2] = $66; + break; + } + $67 = $$0351 > $$0352; + if ($67) { + $68 = -$26; + $69 = $$0357 - $4; + $70 = $5 - $69; + $71 = $$0354 - $4; + $72 = $5 - $71; + $$0350 = $24;$$0360 = $68;$$1 = $$0352;$$1353 = $$0351;$$1355 = $70;$$1358 = $72; + } else { + $$0350 = $19;$$0360 = $26;$$1 = $$0351;$$1353 = $$0352;$$1355 = $$0354;$$1358 = $$0357; + } + $73 = (~~(($$1))); + $74 = (~~(($$1353))); + $75 = (($73) + 1)|0; + $76 = (+($75|0)); + $77 = $76 - $$0350; + $78 = $$0360 * $77; + $79 = $78 + $4; + $80 = ((($$0374)) + 16|0); + $81 = +HEAPF32[$80>>2]; + $82 = $79 - $$1355; + $83 = $81 * $82; + $84 = (+($73|0)); + $85 = $$1 - $84; + $86 = $85 + 1.0; + $87 = $86 * 0.5; + $88 = 1.0 - $87; + $89 = $88 * $83; + $90 = (($0) + ($73<<2)|0); + $91 = +HEAPF32[$90>>2]; + $92 = $91 + $89; + HEAPF32[$90>>2] = $92; + $93 = $$0360 * $81; + $94 = ($74|0)>($75|0); + if ($94) { + $95 = $93 * 0.5; + $$0359372 = $83;$$0361371 = $75; + while(1) { + $96 = $95 + $$0359372; + $97 = (($0) + ($$0361371<<2)|0); + $98 = +HEAPF32[$97>>2]; + $99 = $96 + $98; + HEAPF32[$97>>2] = $99; + $100 = $93 + $$0359372; + $101 = (($$0361371) + 1)|0; + $exitcond380 = ($101|0)==($74|0); + if ($exitcond380) { + $$0359$lcssa = $100; + break; + } else { + $$0359372 = $100;$$0361371 = $101; + } + } + } else { + $$0359$lcssa = $83; + } + $fabsf = (+Math_abs((+$$0359$lcssa))); + $102 = !($fabsf <= 1.0099999904632568); + if ($102) { + label = 25; + break L4; + } + $103 = (($74) - ($75))|0; + $104 = (+($103|0)); + $105 = $$0360 * $104; + $106 = $105 + $79; + $107 = (+($74|0)); + $108 = $$1353 - $107; + $109 = $108 + 0.0; + $110 = $109 * 0.5; + $111 = 1.0 - $110; + $112 = $81 * $111; + $113 = $$1358 - $106; + $114 = $112 * $113; + $115 = $114 + $$0359$lcssa; + $116 = (($0) + ($74<<2)|0); + $117 = +HEAPF32[$116>>2]; + $118 = $115 + $117; + HEAPF32[$116>>2] = $118; + $119 = $$1358 - $$1355; + $120 = $119 * $81; + $121 = (($1) + ($74<<2)|0); + $122 = +HEAPF32[$121>>2]; + $123 = $120 + $122; + HEAPF32[$121>>2] = $123; + break; + } + } + if ($11) { + $$0356370 = 0; + while(1) { + $124 = (+($$0356370|0)); + $125 = (($$0356370) + 1)|0; + $126 = (+($125|0)); + $127 = $124 - $19; + $128 = $127 / $16; + $129 = $128 + $4; + $130 = $126 - $19; + $131 = $130 / $16; + $132 = $131 + $4; + $133 = $19 < $124; + $134 = $24 > $126; + $or$cond364 = $133 & $134; + do { + if ($or$cond364) { + _stbtt__handle_clipped_edge($0,$$0356370,$$0374,$19,$4,$124,$129); + _stbtt__handle_clipped_edge($0,$$0356370,$$0374,$124,$129,$126,$132); + _stbtt__handle_clipped_edge($0,$$0356370,$$0374,$126,$132,$24,$5); + } else { + $135 = $24 < $124; + $136 = $19 > $126; + $or$cond365 = $135 & $136; + if ($or$cond365) { + _stbtt__handle_clipped_edge($0,$$0356370,$$0374,$19,$4,$126,$132); + _stbtt__handle_clipped_edge($0,$$0356370,$$0374,$126,$132,$124,$129); + _stbtt__handle_clipped_edge($0,$$0356370,$$0374,$124,$129,$24,$5); + break; + } + $137 = $24 > $124; + $or$cond366 = $133 & $137; + if ($or$cond366) { + _stbtt__handle_clipped_edge($0,$$0356370,$$0374,$19,$4,$124,$129); + _stbtt__handle_clipped_edge($0,$$0356370,$$0374,$124,$129,$24,$5); + break; + } + $138 = $19 > $124; + $or$cond367 = $135 & $138; + if ($or$cond367) { + _stbtt__handle_clipped_edge($0,$$0356370,$$0374,$19,$4,$124,$129); + _stbtt__handle_clipped_edge($0,$$0356370,$$0374,$124,$129,$24,$5); + break; + } + $139 = $19 < $126; + $or$cond368 = $139 & $134; + if ($or$cond368) { + _stbtt__handle_clipped_edge($0,$$0356370,$$0374,$19,$4,$126,$132); + _stbtt__handle_clipped_edge($0,$$0356370,$$0374,$126,$132,$24,$5); + break; + } + $140 = $24 < $126; + $or$cond369 = $140 & $136; + if ($or$cond369) { + _stbtt__handle_clipped_edge($0,$$0356370,$$0374,$19,$4,$126,$132); + _stbtt__handle_clipped_edge($0,$$0356370,$$0374,$126,$132,$24,$5); + break; + } else { + _stbtt__handle_clipped_edge($0,$$0356370,$$0374,$19,$4,$24,$5); + break; + } + } + } while(0); + $exitcond = ($125|0)==($2|0); + if ($exitcond) { + break; + } else { + $$0356370 = $125; + } + } + } + } + } while(0); + $141 = HEAP32[$$0374>>2]|0; + $142 = ($141|0)==(0|0); + if ($142) { + label = 42; + break; + } else { + $$0374 = $141; + } + } + if ((label|0) == 4) { + ___assert_fail((16953|0),(16834|0),2586,(16968|0)); + // unreachable; + } + else if ((label|0) == 11) { + ___assert_fail((16997|0),(16834|0),2605,(16968|0)); + // unreachable; + } + else if ((label|0) == 17) { + ___assert_fail((17033|0),(16834|0),2633,(16968|0)); + // unreachable; + } + else if ((label|0) == 25) { + ___assert_fail((17051|0),(16834|0),2670,(16968|0)); + // unreachable; + } + else if ((label|0) == 42) { + return; + } +} +function _stbtt__hheap_cleanup($0) { + $0 = $0|0; + var $$in12 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP32[$0>>2]|0; + $2 = ($1|0)==(0|0); + if ($2) { + return; + } else { + $$in12 = $1; + } + while(1) { + $3 = HEAP32[$$in12>>2]|0; + _free($$in12); + $4 = ($3|0)==(0|0); + if ($4) { + break; + } else { + $$in12 = $3; + } + } + return; +} +function _stbtt__handle_clipped_edge($0,$1,$2,$3,$4,$5,$6) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = +$3; + $4 = +$4; + $5 = +$5; + $6 = +$6; + var $$0 = 0.0, $$077 = 0.0, $$078 = 0.0, $$079 = 0.0, $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0, $25 = 0.0; + var $26 = 0.0, $27 = 0.0, $28 = 0.0, $29 = 0.0, $30 = 0.0, $31 = 0.0, $32 = 0, $33 = 0, $34 = 0.0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; + var $46 = 0, $47 = 0.0, $48 = 0.0, $49 = 0.0, $50 = 0, $51 = 0.0, $52 = 0.0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $60 = 0.0, $61 = 0.0, $62 = 0.0, $63 = 0.0, $64 = 0.0, $65 = 0.0; + var $66 = 0.0, $67 = 0.0, $68 = 0.0, $69 = 0, $7 = 0, $70 = 0.0, $71 = 0.0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond80 = 0, $or$cond81 = 0, $or$cond82 = 0, $or$cond83 = 0, $or$cond84 = 0, $or$cond85 = 0, label = 0, sp = 0; + sp = STACKTOP; + $7 = $4 == $6; + if ($7) { + return; + } + $8 = $4 < $6; + if (!($8)) { + ___assert_fail((17071|0),(16834|0),2544,(17079|0)); + // unreachable; + } + $9 = ((($2)) + 20|0); + $10 = +HEAPF32[$9>>2]; + $11 = ((($2)) + 24|0); + $12 = +HEAPF32[$11>>2]; + $13 = !($10 <= $12); + if ($13) { + ___assert_fail((17106|0),(16834|0),2545,(17079|0)); + // unreachable; + } + $14 = $12 < $4; + $15 = $10 > $6; + $or$cond = $15 | $14; + if ($or$cond) { + return; + } + $16 = $10 > $4; + if ($16) { + $17 = $5 - $3; + $18 = $10 - $4; + $19 = $17 * $18; + $20 = $6 - $4; + $21 = $19 / $20; + $22 = $21 + $3; + $$078 = $10;$$079 = $22; + } else { + $$078 = $4;$$079 = $3; + } + $23 = +HEAPF32[$11>>2]; + $24 = $23 < $6; + if ($24) { + $25 = $5 - $$079; + $26 = $23 - $6; + $27 = $25 * $26; + $28 = $6 - $$078; + $29 = $27 / $28; + $30 = $29 + $5; + $$0 = $23;$$077 = $30; + } else { + $$0 = $6;$$077 = $5; + } + $31 = (+($1|0)); + $32 = $$079 == $31; + $33 = (($1) + 1)|0; + $34 = (+($33|0)); + do { + if ($32) { + $35 = !($$077 <= $34); + if ($35) { + ___assert_fail((17121|0),(16834|0),2558,(17079|0)); + // unreachable; + } + } else { + $36 = $$079 == $34; + if ($36) { + $37 = !($$077 >= $31); + if (!($37)) { + break; + } + ___assert_fail((17131|0),(16834|0),2560,(17079|0)); + // unreachable; + } + $38 = !($$079 <= $31); + if (!($38)) { + $39 = !($$077 <= $31); + if (!($39)) { + break; + } + ___assert_fail((17139|0),(16834|0),2562,(17079|0)); + // unreachable; + } + $40 = !($$079 >= $34); + if ($40) { + $42 = !($$077 >= $31); + $43 = !($$077 <= $34); + $or$cond80 = $42 | $43; + if (!($or$cond80)) { + break; + } + ___assert_fail((17157|0),(16834|0),2566,(17079|0)); + // unreachable; + } else { + $41 = !($$077 >= $34); + if (!($41)) { + break; + } + ___assert_fail((17147|0),(16834|0),2564,(17079|0)); + // unreachable; + } + } + } while(0); + $44 = !($$079 <= $31); + $45 = !($$077 <= $31); + $or$cond81 = $44 | $45; + if (!($or$cond81)) { + $46 = ((($2)) + 16|0); + $47 = +HEAPF32[$46>>2]; + $48 = $$0 - $$078; + $49 = $48 * $47; + $50 = (($0) + ($1<<2)|0); + $51 = +HEAPF32[$50>>2]; + $52 = $51 + $49; + HEAPF32[$50>>2] = $52; + return; + } + $53 = !($$079 >= $34); + $54 = !($$077 >= $34); + $or$cond82 = $53 | $54; + if (!($or$cond82)) { + return; + } + $55 = !($$079 >= $31); + $56 = !($$079 <= $34); + $or$cond83 = $55 | $56; + $57 = !($$077 >= $31); + $or$cond84 = $or$cond83 | $57; + $58 = !($$077 <= $34); + $or$cond85 = $58 | $or$cond84; + if ($or$cond85) { + ___assert_fail((17178|0),(16834|0),2573,(17079|0)); + // unreachable; + } + $59 = ((($2)) + 16|0); + $60 = +HEAPF32[$59>>2]; + $61 = $$0 - $$078; + $62 = $61 * $60; + $63 = $$079 - $31; + $64 = $$077 - $31; + $65 = $63 + $64; + $66 = $65 * 0.5; + $67 = 1.0 - $66; + $68 = $67 * $62; + $69 = (($0) + ($1<<2)|0); + $70 = +HEAPF32[$69>>2]; + $71 = $70 + $68; + HEAPF32[$69>>2] = $71; + return; +} +function _stbtt__hheap_alloc($0) { + $0 = $0|0; + var $$1 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 4|0); + $2 = HEAP32[$1>>2]|0; + $3 = ($2|0)==(0|0); + if (!($3)) { + $4 = HEAP32[$2>>2]|0; + HEAP32[$1>>2] = $4; + $$1 = $2; + return ($$1|0); + } + $5 = ((($0)) + 8|0); + $6 = HEAP32[$5>>2]|0; + $7 = ($6|0)==(0); + do { + if ($7) { + $8 = (_malloc(56004)|0); + $9 = ($8|0)==(0|0); + if ($9) { + $$1 = 0; + return ($$1|0); + } else { + $10 = HEAP32[$0>>2]|0; + HEAP32[$8>>2] = $10; + HEAP32[$0>>2] = $8; + HEAP32[$5>>2] = 2000; + break; + } + } + } while(0); + $11 = HEAP32[$5>>2]|0; + $12 = (($11) + -1)|0; + HEAP32[$5>>2] = $12; + $13 = HEAP32[$0>>2]|0; + $14 = ($12*28)|0; + $15 = (($13) + ($14)|0); + $$1 = $15; + return ($$1|0); +} +function _stbtt__sort_edges_quicksort($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$079 = 0, $$081 = 0, $$08390 = 0, $$091 = 0, $$1 = 0, $$180 = 0, $$182 = 0, $$184 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0.0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0.0, $2 = 0, $20 = 0; + var $21 = 0.0, $22 = 0, $23 = 0, $24 = 0, $25 = 0.0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $4 = 0, $5 = 0, $6 = 0.0, $7 = 0; + var $8 = 0, $9 = 0.0, $tmp = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $2 = sp; + $3 = ($1|0)>(12); + if (!($3)) { + STACKTOP = sp;return; + } + $$08390 = $1;$$091 = $0; + while(1) { + $4 = $$08390 >>> 1; + $5 = ((($$091)) + 4|0); + $6 = +HEAPF32[$5>>2]; + $7 = (($$091) + (($4*20)|0)|0); + $8 = (((($$091) + (($4*20)|0)|0)) + 4|0); + $9 = +HEAPF32[$8>>2]; + $10 = $6 < $9; + $11 = (($$08390) + -1)|0; + $12 = (((($$091) + (($11*20)|0)|0)) + 4|0); + $13 = +HEAPF32[$12>>2]; + $14 = $9 < $13; + $15 = $10 ^ $14; + $16 = $6 < $13; + $tmp = $16 ^ $14; + $17 = $tmp ? $11 : 0; + $18 = (($$091) + (($17*20)|0)|0); + if ($15) { + ;HEAP32[$2>>2]=HEAP32[$18>>2]|0;HEAP32[$2+4>>2]=HEAP32[$18+4>>2]|0;HEAP32[$2+8>>2]=HEAP32[$18+8>>2]|0;HEAP32[$2+12>>2]=HEAP32[$18+12>>2]|0;HEAP32[$2+16>>2]=HEAP32[$18+16>>2]|0; + ;HEAP32[$18>>2]=HEAP32[$7>>2]|0;HEAP32[$18+4>>2]=HEAP32[$7+4>>2]|0;HEAP32[$18+8>>2]=HEAP32[$7+8>>2]|0;HEAP32[$18+12>>2]=HEAP32[$7+12>>2]|0;HEAP32[$18+16>>2]=HEAP32[$7+16>>2]|0; + ;HEAP32[$7>>2]=HEAP32[$2>>2]|0;HEAP32[$7+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$7+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$7+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$7+16>>2]=HEAP32[$2+16>>2]|0; + } + ;HEAP32[$2>>2]=HEAP32[$$091>>2]|0;HEAP32[$2+4>>2]=HEAP32[$$091+4>>2]|0;HEAP32[$2+8>>2]=HEAP32[$$091+8>>2]|0;HEAP32[$2+12>>2]=HEAP32[$$091+12>>2]|0;HEAP32[$2+16>>2]=HEAP32[$$091+16>>2]|0; + ;HEAP32[$$091>>2]=HEAP32[$7>>2]|0;HEAP32[$$091+4>>2]=HEAP32[$7+4>>2]|0;HEAP32[$$091+8>>2]=HEAP32[$7+8>>2]|0;HEAP32[$$091+12>>2]=HEAP32[$7+12>>2]|0;HEAP32[$$091+16>>2]=HEAP32[$7+16>>2]|0; + ;HEAP32[$7>>2]=HEAP32[$2>>2]|0;HEAP32[$7+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$7+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$7+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$7+16>>2]=HEAP32[$2+16>>2]|0; + $$079 = $11;$$081 = 1; + while(1) { + $19 = +HEAPF32[$5>>2]; + $$182 = $$081; + while(1) { + $20 = (((($$091) + (($$182*20)|0)|0)) + 4|0); + $21 = +HEAPF32[$20>>2]; + $22 = $21 < $19; + $23 = (($$182) + 1)|0; + if ($22) { + $$182 = $23; + } else { + $$180 = $$079; + break; + } + } + while(1) { + $24 = (((($$091) + (($$180*20)|0)|0)) + 4|0); + $25 = +HEAPF32[$24>>2]; + $26 = $19 < $25; + $27 = (($$180) + -1)|0; + if ($26) { + $$180 = $27; } else { break; } } + $28 = (($$091) + (($$182*20)|0)|0); + $29 = ($$182|0)<($$180|0); + if (!($29)) { + break; + } + $30 = (($$091) + (($$180*20)|0)|0); + ;HEAP32[$2>>2]=HEAP32[$28>>2]|0;HEAP32[$2+4>>2]=HEAP32[$28+4>>2]|0;HEAP32[$2+8>>2]=HEAP32[$28+8>>2]|0;HEAP32[$2+12>>2]=HEAP32[$28+12>>2]|0;HEAP32[$2+16>>2]=HEAP32[$28+16>>2]|0; + ;HEAP32[$28>>2]=HEAP32[$30>>2]|0;HEAP32[$28+4>>2]=HEAP32[$30+4>>2]|0;HEAP32[$28+8>>2]=HEAP32[$30+8>>2]|0;HEAP32[$28+12>>2]=HEAP32[$30+12>>2]|0;HEAP32[$28+16>>2]=HEAP32[$30+16>>2]|0; + ;HEAP32[$30>>2]=HEAP32[$2>>2]|0;HEAP32[$30+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$30+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$30+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$30+16>>2]=HEAP32[$2+16>>2]|0; + $31 = (($$182) + 1)|0; + $32 = (($$180) + -1)|0; + $$079 = $32;$$081 = $31; + } + $33 = (($$08390) - ($$182))|0; + $34 = ($$180|0)<($33|0); + if ($34) { + _stbtt__sort_edges_quicksort($$091,$$180); + $$1 = $28;$$184 = $33; + } else { + _stbtt__sort_edges_quicksort($28,$33); + $$1 = $$091;$$184 = $$180; + } + $35 = ($$184|0)>(12); + if ($35) { + $$08390 = $$184;$$091 = $$1; + } else { + break; } - $$pr = HEAP32[$0>>2]|0; - $49 = $$pr; } - $30 = (($len) - ($right))|0; - HEAP32[$0>>2] = $30; - $31 = ((($f)) + 4|0); - $32 = HEAP32[$31>>2]|0; - $33 = ($32|0)>(0); - if ($33) { - $34 = ($len|0)>($right|0); - $35 = HEAP32[$31>>2]|0; - $36 = (($len) - ($right))|0; - $i$04 = 0; + STACKTOP = sp;return; +} +function _stbtt__sort_edges_ins_sort($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$03251 = 0, $$033 = 0, $$2$ph = 0, $$sroa$0$0$copyload48 = 0, $$sroa$4$0$$sroa_idx37 = 0, $$sroa$4$0$$sroa_idx38 = 0, $$sroa$4$0$copyload = 0.0, $$sroa$5 = 0, $$sroa$5$0$$sroa_idx = 0, $$sroa$5$0$$sroa_idx42 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0.0, $7 = 0; + var $8 = 0, $9 = 0, $exitcond = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $$sroa$5 = sp; + $2 = ($1|0)>(1); + if (!($2)) { + STACKTOP = sp;return; + } + $$03251 = 1; + while(1) { + $3 = (($0) + (($$03251*20)|0)|0); + $$sroa$0$0$copyload48 = HEAP32[$3>>2]|0; + $$sroa$4$0$$sroa_idx37 = (((($0) + (($$03251*20)|0)|0)) + 4|0); + $$sroa$4$0$copyload = +HEAPF32[$$sroa$4$0$$sroa_idx37>>2]; + $$sroa$5$0$$sroa_idx = (((($0) + (($$03251*20)|0)|0)) + 8|0); + ;HEAP32[$$sroa$5>>2]=HEAP32[$$sroa$5$0$$sroa_idx>>2]|0;HEAP32[$$sroa$5+4>>2]=HEAP32[$$sroa$5$0$$sroa_idx+4>>2]|0;HEAP32[$$sroa$5+8>>2]=HEAP32[$$sroa$5$0$$sroa_idx+8>>2]|0; + $$033 = $$03251; while(1) { - if ($34) { - $37 = (((($f)) + 816|0) + ($i$04<<2)|0); - $38 = HEAP32[$37>>2]|0; - $39 = (((($f)) + 944|0) + ($i$04<<2)|0); - $40 = HEAP32[$39>>2]|0; - $42 = $right;$j$03 = 0; + $4 = (($$033) + -1)|0; + $5 = (((($0) + (($4*20)|0)|0)) + 4|0); + $6 = +HEAPF32[$5>>2]; + $7 = $$sroa$4$0$copyload < $6; + if (!($7)) { + $$2$ph = $$033; + break; + } + $8 = (($0) + (($4*20)|0)|0); + $9 = (($0) + (($$033*20)|0)|0); + ;HEAP32[$9>>2]=HEAP32[$8>>2]|0;HEAP32[$9+4>>2]=HEAP32[$8+4>>2]|0;HEAP32[$9+8>>2]=HEAP32[$8+8>>2]|0;HEAP32[$9+12>>2]=HEAP32[$8+12>>2]|0;HEAP32[$9+16>>2]=HEAP32[$8+16>>2]|0; + $10 = ($$033|0)>(1); + if ($10) { + $$033 = $4; + } else { + $$2$ph = $4; + break; + } + } + $11 = ($$03251|0)==($$2$ph|0); + if (!($11)) { + $$sroa$5$0$$sroa_idx42 = (((($0) + (($$2$ph*20)|0)|0)) + 8|0); + $$sroa$4$0$$sroa_idx38 = (((($0) + (($$2$ph*20)|0)|0)) + 4|0); + $12 = (($0) + (($$2$ph*20)|0)|0); + HEAP32[$12>>2] = $$sroa$0$0$copyload48; + HEAPF32[$$sroa$4$0$$sroa_idx38>>2] = $$sroa$4$0$copyload; + ;HEAP32[$$sroa$5$0$$sroa_idx42>>2]=HEAP32[$$sroa$5>>2]|0;HEAP32[$$sroa$5$0$$sroa_idx42+4>>2]=HEAP32[$$sroa$5+4>>2]|0;HEAP32[$$sroa$5$0$$sroa_idx42+8>>2]=HEAP32[$$sroa$5+8>>2]|0; + } + $13 = (($$03251) + 1)|0; + $exitcond = ($13|0)==($1|0); + if ($exitcond) { + break; + } else { + $$03251 = $13; + } + } + STACKTOP = sp;return; +} +function _stbtt__add_point($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = +$2; + $3 = +$3; + var $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; + sp = STACKTOP; + $4 = ($0|0)==(0|0); + if ($4) { + return; + } + $5 = (((($0) + ($1<<3)|0)) + 4|0); + $6 = (($0) + ($1<<3)|0); + HEAPF32[$6>>2] = $2; + HEAPF32[$5>>2] = $3; + return; +} +function _stbtt__tesselate_curve($0,$1,$2,$3,$4,$5,$6,$7,$8,$9) { + $0 = $0|0; + $1 = $1|0; + $2 = +$2; + $3 = +$3; + $4 = +$4; + $5 = +$5; + $6 = +$6; + $7 = +$7; + $8 = +$8; + $9 = $9|0; + var $$tr210 = 0.0, $$tr210$phi = 0.0, $$tr311 = 0.0, $$tr311$phi = 0.0, $$tr412 = 0.0, $$tr513 = 0.0, $$tr914 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0; + var $23 = 0.0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0.0, $28 = 0.0, $29 = 0.0, $30 = 0, $31 = 0.0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0, $36 = 0.0, $37 = 0.0, $38 = 0.0, $39 = 0.0, $40 = 0.0, $41 = 0.0, $42 = 0.0; + var $43 = 0.0, $44 = 0.0, $45 = 0.0, $46 = 0.0, $47 = 0.0, $48 = 0.0, $49 = 0.0, $50 = 0.0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0.0, $55 = 0.0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, label = 0, sp = 0; + sp = STACKTOP; + $10 = $4 * 2.0; + $11 = $10 + $2; + $12 = $11 + $6; + $13 = $12 * 0.25; + $14 = $5 * 2.0; + $15 = $14 + $3; + $16 = $15 + $7; + $17 = $16 * 0.25; + $18 = ($9|0)>(16); + if ($18) { + return; + } + $19 = $7 + $3; + $20 = $19 * 0.5; + $21 = $20 - $17; + $22 = $6 + $2; + $23 = $22 * 0.5; + $24 = $23 - $13; + $$tr210 = $2;$$tr311 = $3;$$tr412 = $4;$$tr513 = $5;$$tr914 = $9;$26 = $24;$28 = $21;$36 = $13;$37 = $17; + while(1) { + $25 = $26 * $26; + $27 = $28 * $28; + $29 = $25 + $27; + $30 = $29 > $8; + if (!($30)) { + break; + } + $31 = $$tr210 + $$tr412; + $32 = $31 * 0.5; + $33 = $$tr311 + $$tr513; + $34 = $33 * 0.5; + $35 = (($$tr914) + 1)|0; + _stbtt__tesselate_curve($0,$1,$$tr210,$$tr311,$32,$34,$36,$37,$8,$35); + $38 = $$tr412 + $6; + $39 = $38 * 0.5; + $40 = $$tr513 + $7; + $41 = $40 * 0.5; + $42 = $39 * 2.0; + $43 = $36 + $42; + $44 = $43 + $6; + $45 = $44 * 0.25; + $46 = $41 * 2.0; + $47 = $37 + $46; + $48 = $47 + $7; + $49 = $48 * 0.25; + $50 = $36 + $6; + $51 = $50 * 0.5; + $52 = $51 - $45; + $53 = $37 + $7; + $54 = $53 * 0.5; + $55 = $54 - $49; + $56 = ($$tr914|0)>(15); + if ($56) { + label = 6; + break; + } else { + $$tr311$phi = $37;$$tr210$phi = $36;$$tr412 = $39;$$tr513 = $41;$$tr914 = $35;$26 = $52;$28 = $55;$36 = $45;$37 = $49;$$tr311 = $$tr311$phi;$$tr210 = $$tr210$phi; + } + } + if ((label|0) == 6) { + return; + } + $57 = HEAP32[$1>>2]|0; + _stbtt__add_point($0,$57,$6,$7); + $58 = HEAP32[$1>>2]|0; + $59 = (($58) + 1)|0; + HEAP32[$1>>2] = $59; + return; +} +function _stbtt__tesselate_cubic($0,$1,$2,$3,$4,$5,$6,$7,$8,$9,$10,$11) { + $0 = $0|0; + $1 = $1|0; + $2 = +$2; + $3 = +$3; + $4 = +$4; + $5 = +$5; + $6 = +$6; + $7 = +$7; + $8 = +$8; + $9 = +$9; + $10 = +$10; + $11 = $11|0; + var $$tr138 = 0.0, $$tr139 = 0.0, $$tr140 = 0.0, $$tr141 = 0.0, $$tr142 = 0.0, $$tr143 = 0.0, $$tr147 = 0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0; + var $25 = 0.0, $26 = 0.0, $27 = 0.0, $28 = 0.0, $29 = 0.0, $30 = 0.0, $31 = 0.0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0.0, $36 = 0.0, $37 = 0.0, $38 = 0.0, $39 = 0.0, $40 = 0.0, $41 = 0, $42 = 0.0, $43 = 0.0, $44 = 0.0; + var $45 = 0, $46 = 0.0, $47 = 0.0, $48 = 0.0, $49 = 0.0, $50 = 0.0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0.0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0.0, $60 = 0.0, $61 = 0.0, $62 = 0.0, $63 = 0.0, $64 = 0.0; + var $65 = 0.0, $66 = 0.0, $67 = 0.0, $68 = 0.0, $69 = 0.0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $sqrtf = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $$tr138 = $2;$$tr139 = $3;$$tr140 = $4;$$tr141 = $5;$$tr142 = $6;$$tr143 = $7;$$tr147 = $11; + while(1) { + $12 = $$tr140 - $$tr138; + $13 = $$tr141 - $$tr139; + $14 = $$tr142 - $$tr140; + $15 = $$tr143 - $$tr141; + $16 = $8 - $$tr142; + $17 = $9 - $$tr143; + $18 = $8 - $$tr138; + $19 = $9 - $$tr139; + $20 = $12 * $12; + $21 = $13 * $13; + $22 = $20 + $21; + $23 = $22; + $24 = (+Math_sqrt((+$23))); + $25 = $14 * $14; + $26 = $15 * $15; + $27 = $25 + $26; + $28 = $27; + $29 = (+Math_sqrt((+$28))); + $30 = $24 + $29; + $31 = $16 * $16; + $32 = $17 * $17; + $33 = $31 + $32; + $34 = $33; + $35 = (+Math_sqrt((+$34))); + $36 = $30 + $35; + $37 = $36; + $38 = $18 * $18; + $39 = $19 * $19; + $40 = $38 + $39; + $sqrtf = (+Math_sqrt((+$40))); + $41 = ($$tr147|0)>(16); + if ($41) { + label = 6; + break; + } + $42 = $37 * $37; + $43 = $sqrtf * $sqrtf; + $44 = $42 - $43; + $45 = $44 > $10; + if (!($45)) { + break; + } + $46 = $$tr138 + $$tr140; + $47 = $46 * 0.5; + $48 = $$tr139 + $$tr141; + $49 = $48 * 0.5; + $50 = $$tr140 + $$tr142; + $51 = $50 * 0.5; + $52 = $$tr141 + $$tr143; + $53 = $52 * 0.5; + $54 = $$tr142 + $8; + $55 = $54 * 0.5; + $56 = $$tr143 + $9; + $57 = $56 * 0.5; + $58 = $47 + $51; + $59 = $58 * 0.5; + $60 = $49 + $53; + $61 = $60 * 0.5; + $62 = $51 + $55; + $63 = $62 * 0.5; + $64 = $53 + $57; + $65 = $64 * 0.5; + $66 = $59 + $63; + $67 = $66 * 0.5; + $68 = $61 + $65; + $69 = $68 * 0.5; + $70 = (($$tr147) + 1)|0; + _stbtt__tesselate_cubic($0,$1,$$tr138,$$tr139,$47,$49,$59,$61,$67,$69,$10,$70); + $$tr138 = $67;$$tr139 = $69;$$tr140 = $63;$$tr141 = $65;$$tr142 = $55;$$tr143 = $57;$$tr147 = $70; + } + if ((label|0) == 6) { + return; + } + $71 = HEAP32[$1>>2]|0; + _stbtt__add_point($0,$71,$8,$9); + $72 = HEAP32[$1>>2]|0; + $73 = (($72) + 1)|0; + HEAP32[$1>>2] = $73; + return; +} +function _stbtt_GetGlyphBox($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + var $$1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $6 = ((($0)) + 56|0); + $7 = HEAP32[$6>>2]|0; + $8 = ($7|0)==(0); + if (!($8)) { + _stbtt__GetGlyphInfoT2($0,$1,$2,$3,$4,$5); + $$1 = 1; + return ($$1|0); + } + $9 = (_stbtt__GetGlyfOffset($0,$1)|0); + $10 = ($9|0)<(0); + if ($10) { + $$1 = 0; + return ($$1|0); + } + $11 = ($2|0)==(0|0); + if (!($11)) { + $12 = ((($0)) + 4|0); + $13 = HEAP32[$12>>2]|0; + $14 = (($13) + ($9)|0); + $15 = ((($14)) + 2|0); + $16 = (_ttSHORT($15)|0); + $17 = $16 << 16 >> 16; + HEAP32[$2>>2] = $17; + } + $18 = ($3|0)==(0|0); + if (!($18)) { + $19 = ((($0)) + 4|0); + $20 = HEAP32[$19>>2]|0; + $21 = (($20) + ($9)|0); + $22 = ((($21)) + 4|0); + $23 = (_ttSHORT($22)|0); + $24 = $23 << 16 >> 16; + HEAP32[$3>>2] = $24; + } + $25 = ($4|0)==(0|0); + if (!($25)) { + $26 = ((($0)) + 4|0); + $27 = HEAP32[$26>>2]|0; + $28 = (($27) + ($9)|0); + $29 = ((($28)) + 6|0); + $30 = (_ttSHORT($29)|0); + $31 = $30 << 16 >> 16; + HEAP32[$4>>2] = $31; + } + $32 = ($5|0)==(0|0); + if ($32) { + $$1 = 1; + return ($$1|0); + } + $33 = ((($0)) + 4|0); + $34 = HEAP32[$33>>2]|0; + $35 = (($34) + ($9)|0); + $36 = ((($35)) + 8|0); + $37 = (_ttSHORT($36)|0); + $38 = $37 << 16 >> 16; + HEAP32[$5>>2] = $38; + $$1 = 1; + return ($$1|0); +} +function _stbtt__GetGlyphInfoT2($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0; + var stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0); + $6 = sp; + $7 = ((($6)) + 4|0); + dest=$7; stop=dest+44|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + HEAP32[$6>>2] = 1; + $8 = (_stbtt__run_charstring($0,$1,$6)|0); + $9 = ($2|0)==(0|0); + $10 = ($8|0)!=(0); + if ($9) { + STACKTOP = sp;return; + } + $11 = ((($6)) + 24|0); + $12 = HEAP32[$11>>2]|0; + $13 = $10 ? $12 : 0; + HEAP32[$2>>2] = $13; + $14 = ((($6)) + 32|0); + $15 = HEAP32[$14>>2]|0; + $16 = $10 ? $15 : 0; + HEAP32[$3>>2] = $16; + $17 = ((($6)) + 28|0); + $18 = HEAP32[$17>>2]|0; + $19 = $10 ? $18 : 0; + HEAP32[$4>>2] = $19; + $20 = ((($6)) + 36|0); + $21 = HEAP32[$20>>2]|0; + $22 = $10 ? $21 : 0; + HEAP32[$5>>2] = $22; + STACKTOP = sp;return; +} +function _stbtt__GetGlyfOffset($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$023 = 0, $$024 = 0, $$pn = 0, $$sink = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; + var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($0)) + 56|0); + $3 = HEAP32[$2>>2]|0; + $4 = ($3|0)==(0); + if (!($4)) { + ___assert_fail((17257|0),(16834|0),1440,(17273|0)); + // unreachable; + } + $5 = ((($0)) + 12|0); + $6 = HEAP32[$5>>2]|0; + $7 = ($6|0)>($1|0); + if (!($7)) { + $$024 = -1; + return ($$024|0); + } + $8 = ((($0)) + 44|0); + $9 = HEAP32[$8>>2]|0; + $10 = ($9|0)>(1); + if ($10) { + $$024 = -1; + return ($$024|0); + } + $11 = ($9|0)==(0); + $12 = ((($0)) + 24|0); + $13 = HEAP32[$12>>2]|0; + $14 = ((($0)) + 4|0); + $15 = HEAP32[$14>>2]|0; + $16 = ((($0)) + 16|0); + $17 = HEAP32[$16>>2]|0; + $18 = (($15) + ($17)|0); + if ($11) { + $19 = $1 << 1; + $20 = (($18) + ($19)|0); + $21 = (_ttUSHORT($20)|0); + $22 = $21&65535; + $23 = $22 << 1; + $24 = ((($20)) + 2|0); + $25 = (_ttUSHORT($24)|0); + $26 = $25&65535; + $27 = $26 << 1; + $$pn = $23;$$sink = $27; + } else { + $28 = $1 << 2; + $29 = (($18) + ($28)|0); + $30 = (_ttULONG($29)|0); + $31 = ((($29)) + 4|0); + $32 = (_ttULONG($31)|0); + $$pn = $30;$$sink = $32; + } + $33 = (($$sink) + ($13))|0; + $$023 = (($$pn) + ($13))|0; + $34 = ($$023|0)==($33|0); + $35 = $34 ? -1 : $$023; + $$024 = $35; + return ($$024|0); +} +function _ttSHORT($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP8[$0>>0]|0; + $2 = $1&255; + $3 = $2 << 8; + $4 = ((($0)) + 1|0); + $5 = HEAP8[$4>>0]|0; + $6 = $5&255; + $7 = $3 | $6; + $8 = $7&65535; + return ($8|0); +} +function _ttUSHORT($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP8[$0>>0]|0; + $2 = $1&255; + $3 = $2 << 8; + $4 = ((($0)) + 1|0); + $5 = HEAP8[$4>>0]|0; + $6 = $5&255; + $7 = $3 | $6; + $8 = $7&65535; + return ($8|0); +} +function _ttULONG($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP8[$0>>0]|0; + $2 = $1&255; + $3 = $2 << 24; + $4 = ((($0)) + 1|0); + $5 = HEAP8[$4>>0]|0; + $6 = $5&255; + $7 = $6 << 16; + $8 = $7 | $3; + $9 = ((($0)) + 2|0); + $10 = HEAP8[$9>>0]|0; + $11 = $10&255; + $12 = $11 << 8; + $13 = $8 | $12; + $14 = ((($0)) + 3|0); + $15 = HEAP8[$14>>0]|0; + $16 = $15&255; + $17 = $13 | $16; + return ($17|0); +} +function _stbtt__run_charstring($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$ = 0, $$0274$be = 0, $$0274335 = 0, $$0276$be = 0, $$0276334 = 0, $$0279 = 0.0, $$0280 = 0.0, $$0282318 = 0.0, $$0285$be = 0, $$0285333 = 0, $$0288$be = 0, $$0288332 = 0, $$0290329 = 0, $$0294$be = 0, $$0294331 = 0, $$1277 = 0, $$1283 = 0.0, $$1286 = 0, $$1291 = 0, $$2292 = 0; + var $$3 = 0, $$3293 = 0, $$363 = 0.0, $$4 = 0, $$5327 = 0, $$6$lcssa = 0, $$6322 = 0, $$7$lcssa = 0, $$7319 = 0, $$8317 = 0, $$byval_copy1 = 0, $$lcssa = 0, $$lcssa316 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0.0, $103 = 0, $104 = 0, $105 = 0.0; + var $106 = 0, $107 = 0.0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0.0, $113 = 0.0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0.0, $119 = 0, $12 = 0, $120 = 0, $121 = 0.0, $122 = 0, $123 = 0; + var $124 = 0.0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0.0, $13 = 0, $130 = 0, $131 = 0.0, $132 = 0.0, $133 = 0, $134 = 0, $135 = 0, $136 = 0.0, $137 = 0, $138 = 0, $139 = 0.0, $14 = 0, $140 = 0, $141 = 0; + var $142 = 0.0, $143 = 0, $144 = 0, $145 = 0.0, $146 = 0, $147 = 0, $148 = 0.0, $149 = 0, $15 = 0, $150 = 0, $151 = 0.0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0.0, $16 = 0; + var $160 = 0, $161 = 0, $162 = 0.0, $163 = 0, $164 = 0, $165 = 0.0, $166 = 0, $167 = 0, $168 = 0.0, $169 = 0, $17 = 0, $170 = 0, $171 = 0.0, $172 = 0, $173 = 0, $174 = 0.0, $175 = 0, $176 = 0, $177 = 0, $178 = 0; + var $179 = 0, $18 = 0, $180 = 0, $181 = 0.0, $182 = 0, $183 = 0.0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0.0, $189 = 0, $19 = 0, $190 = 0, $191 = 0.0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0; + var $197 = 0, $198 = 0.0, $199 = 0, $20 = 0, $200 = 0.0, $201 = 0, $202 = 0, $203 = 0.0, $204 = 0, $205 = 0, $206 = 0.0, $207 = 0, $208 = 0, $209 = 0.0, $21 = 0, $210 = 0, $211 = 0.0, $212 = 0, $213 = 0, $214 = 0; + var $215 = 0, $216 = 0, $217 = 0.0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0.0, $223 = 0, $224 = 0.0, $225 = 0, $226 = 0.0, $227 = 0, $228 = 0, $229 = 0.0, $23 = 0, $230 = 0, $231 = 0, $232 = 0; + var $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0.0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0; + var $251 = 0, $252 = 0.0, $253 = 0.0, $254 = 0.0, $255 = 0.0, $256 = 0.0, $257 = 0.0, $258 = 0.0, $259 = 0.0, $26 = 0, $260 = 0, $261 = 0.0, $262 = 0.0, $263 = 0.0, $264 = 0.0, $265 = 0.0, $266 = 0.0, $267 = 0.0, $268 = 0.0, $269 = 0.0; + var $27 = 0, $270 = 0.0, $271 = 0.0, $272 = 0.0, $273 = 0, $274 = 0.0, $275 = 0.0, $276 = 0.0, $277 = 0.0, $278 = 0.0, $279 = 0.0, $28 = 0, $280 = 0.0, $281 = 0.0, $282 = 0.0, $283 = 0.0, $284 = 0.0, $285 = 0.0, $286 = 0, $287 = 0.0; + var $288 = 0.0, $289 = 0.0, $29 = 0, $290 = 0.0, $291 = 0.0, $292 = 0.0, $293 = 0.0, $294 = 0.0, $295 = 0.0, $296 = 0.0, $297 = 0.0, $298 = 0.0, $299 = 0.0, $3 = 0, $30 = 0, $300 = 0.0, $301 = 0.0, $302 = 0.0, $303 = 0.0, $304 = 0.0; + var $305 = 0.0, $306 = 0, $307 = 0.0, $308 = 0.0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0.0, $316 = 0.0, $317 = 0, $318 = 0, $319 = 0.0, $32 = 0, $320 = 0, $321 = 0, $322 = 0; + var $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0; + var $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0.0, $64 = 0, $65 = 0, $66 = 0.0, $67 = 0, $68 = 0, $69 = 0; + var $7 = 0, $70 = 0.0, $71 = 0, $72 = 0, $73 = 0, $74 = 0.0, $75 = 0, $76 = 0, $77 = 0.0, $78 = 0, $79 = 0, $8 = 0, $80 = 0.0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0; + var $88 = 0.0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0.0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0.0, $fabsf = 0.0, $fabsf296 = 0.0, $not$ = 0, $or$cond3 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 368|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(368|0); + $$byval_copy1 = sp + 352|0; + $3 = sp + 160|0; + $4 = sp + 40|0; + $5 = sp + 24|0; + $6 = sp; + $7 = sp + 12|0; + $8 = ((($0)) + 84|0); + ;HEAP32[$5>>2]=HEAP32[$8>>2]|0;HEAP32[$5+4>>2]=HEAP32[$8+4>>2]|0;HEAP32[$5+8>>2]=HEAP32[$8+8>>2]|0; + $9 = ((($0)) + 60|0); + ;HEAP32[$$byval_copy1>>2]=HEAP32[$9>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$9+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$9+8>>2]|0; + _stbtt__cff_index_get($6,$$byval_copy1,$1); + $10 = ((($6)) + 4|0); + $11 = HEAP32[$10>>2]|0; + $12 = ((($6)) + 8|0); + $13 = HEAP32[$12>>2]|0; + $14 = ($11|0)<($13|0); + if (!($14)) { + $$3 = 0; + STACKTOP = sp;return ($$3|0); + } + $15 = ((($0)) + 116|0); + $16 = ((($0)) + 72|0); + $17 = ((($3)) + 4|0); + $18 = ((($3)) + 8|0); + $19 = ((($3)) + 12|0); + $20 = ((($3)) + 16|0); + $21 = ((($3)) + 20|0); + $22 = ((($3)) + 24|0); + $23 = ((($3)) + 4|0); + $24 = ((($3)) + 8|0); + $25 = ((($3)) + 12|0); + $26 = ((($3)) + 16|0); + $27 = ((($3)) + 20|0); + $28 = ((($3)) + 24|0); + $29 = ((($3)) + 28|0); + $30 = ((($3)) + 32|0); + $31 = ((($3)) + 36|0); + $32 = ((($3)) + 40|0); + $33 = ((($3)) + 44|0); + $34 = ((($3)) + 4|0); + $35 = ((($3)) + 8|0); + $36 = ((($3)) + 12|0); + $37 = ((($3)) + 16|0); + $38 = ((($3)) + 20|0); + $39 = ((($3)) + 24|0); + $40 = ((($3)) + 28|0); + $41 = ((($3)) + 32|0); + $42 = ((($3)) + 4|0); + $43 = ((($3)) + 8|0); + $44 = ((($3)) + 12|0); + $45 = ((($3)) + 16|0); + $46 = ((($3)) + 20|0); + $47 = ((($3)) + 24|0); + $48 = ((($3)) + 28|0); + $49 = ((($3)) + 32|0); + $50 = ((($3)) + 36|0); + $51 = ((($3)) + 40|0); + $$0274335 = 1;$$0276334 = 0;$$0285333 = 0;$$0288332 = 0;$$0294331 = 0; + L4: while(1) { + $52 = (_stbtt__buf_get8($6)|0); + L6: do { + switch ($52<<24>>24) { + case 14: { + label = 63; + break L4; + break; + } + case 20: case 19: { + $53 = ($$0274335|0)==(0); + if ($53) { + $$1277 = $$0276334; + } else { + $54 = (($$0294331|0) / 2)&-1; + $55 = (($$0276334) + ($54))|0; + $$1277 = $55; + } + $56 = (($$1277) + 7)|0; + $57 = (($56|0) / 8)&-1; + _stbtt__buf_skip($6,$57); + $$0274$be = 0;$$0276$be = $$1277;$$0285$be = $$0285333;$$0288$be = $$0288332;$$0294$be = 0; + label = 73; + break; + } + case 23: case 18: case 3: case 1: { + $58 = (($$0294331|0) / 2)&-1; + $59 = (($$0276334) + ($58))|0; + $$0274$be = $$0274335;$$0276$be = $59;$$0285$be = $$0285333;$$0288$be = $$0288332;$$0294$be = 0; + label = 73; + break; + } + case 21: { + $60 = ($$0294331|0)<(2); + if ($60) { + $$3 = 0; + label = 80; + break L4; + } + $61 = (($$0294331) + -2)|0; + $62 = (($3) + ($61<<2)|0); + $63 = +HEAPF32[$62>>2]; + $64 = (($$0294331) + -1)|0; + $65 = (($3) + ($64<<2)|0); + $66 = +HEAPF32[$65>>2]; + _stbtt__csctx_rmove_to($2,$63,$66); + $$0274$be = 0;$$0276$be = $$0276334;$$0285$be = $$0285333;$$0288$be = $$0288332;$$0294$be = 0; + label = 73; + break; + } + case 4: { + $67 = ($$0294331|0)<(1); + if ($67) { + $$3 = 0; + label = 80; + break L4; + } + $68 = (($$0294331) + -1)|0; + $69 = (($3) + ($68<<2)|0); + $70 = +HEAPF32[$69>>2]; + _stbtt__csctx_rmove_to($2,0.0,$70); + $$0274$be = 0;$$0276$be = $$0276334;$$0285$be = $$0285333;$$0288$be = $$0288332;$$0294$be = 0; + label = 73; + break; + } + case 22: { + $71 = ($$0294331|0)<(1); + if ($71) { + $$3 = 0; + label = 80; + break L4; + } + $72 = (($$0294331) + -1)|0; + $73 = (($3) + ($72<<2)|0); + $74 = +HEAPF32[$73>>2]; + _stbtt__csctx_rmove_to($2,$74,0.0); + $$0274$be = 0;$$0276$be = $$0276334;$$0285$be = $$0285333;$$0288$be = $$0288332;$$0294$be = 0; + label = 73; + break; + } + case 5: { + $75 = ($$0294331|0)<(2); + if ($75) { + $$3 = 0; + label = 80; + break L4; + } else { + $$0290329 = 0;$79 = 1; + } while(1) { - $41 = (($38) + ($42<<2)|0); - $43 = HEAP32[$41>>2]|0; - $44 = (($40) + ($j$03<<2)|0); - HEAP32[$44>>2] = $43; - $45 = (($j$03) + 1)|0; - $46 = (($45) + ($right))|0; - $exitcond = ($45|0)==($36|0); - if ($exitcond) { - break; + $76 = (($3) + ($$0290329<<2)|0); + $77 = +HEAPF32[$76>>2]; + $78 = (($3) + ($79<<2)|0); + $80 = +HEAPF32[$78>>2]; + _stbtt__csctx_rline_to($2,$77,$80); + $81 = (($$0290329) + 2)|0; + $82 = $81 | 1; + $83 = ($82|0)<($$0294331|0); + if ($83) { + $$0290329 = $81;$79 = $82; } else { - $42 = $46;$j$03 = $45; + $$0274$be = $$0274335;$$0276$be = $$0276334;$$0285$be = $$0285333;$$0288$be = $$0288332;$$0294$be = 0; + label = 73; + break; + } + } + break; + } + case 7: { + $84 = ($$0294331|0)<(1); + if ($84) { + $$3 = 0; + label = 80; + break L4; + } else { + $$2292 = 0; + label = 20; + } + break; + } + case 6: { + $85 = ($$0294331|0)<(1); + if ($85) { + $$3 = 0; + label = 80; + break L4; + } else { + $$1291 = 0; + label = 18; + } + break; + } + case 31: { + $94 = ($$0294331|0)<(4); + if ($94) { + $$3 = 0; + label = 80; + break L4; + } else { + $$4 = 0; + label = 28; + } + break; + } + case 30: { + $95 = ($$0294331|0)<(4); + if ($95) { + $$3 = 0; + label = 80; + break L4; + } else { + $$3293 = 0; + label = 24; + } + break; + } + case 8: { + $134 = ($$0294331|0)<(6); + if ($134) { + $$3 = 0; + label = 80; + break L4; + } else { + $$5327 = 0;$150 = 5; + } + while(1) { + $135 = (($3) + ($$5327<<2)|0); + $136 = +HEAPF32[$135>>2]; + $137 = $$5327 | 1; + $138 = (($3) + ($137<<2)|0); + $139 = +HEAPF32[$138>>2]; + $140 = (($$5327) + 2)|0; + $141 = (($3) + ($140<<2)|0); + $142 = +HEAPF32[$141>>2]; + $143 = (($$5327) + 3)|0; + $144 = (($3) + ($143<<2)|0); + $145 = +HEAPF32[$144>>2]; + $146 = (($$5327) + 4)|0; + $147 = (($3) + ($146<<2)|0); + $148 = +HEAPF32[$147>>2]; + $149 = (($3) + ($150<<2)|0); + $151 = +HEAPF32[$149>>2]; + _stbtt__csctx_rccurve_to($2,$136,$139,$142,$145,$148,$151); + $152 = (($$5327) + 6)|0; + $153 = (($$5327) + 11)|0; + $154 = ($153|0)<($$0294331|0); + if ($154) { + $$5327 = $152;$150 = $153; + } else { + $$0274$be = $$0274335;$$0276$be = $$0276334;$$0285$be = $$0285333;$$0288$be = $$0288332;$$0294$be = 0; + label = 73; + break; + } + } + break; + } + case 24: { + $155 = ($$0294331|0)<(8); + if ($155) { + $$3 = 0; + label = 80; + break L4; + } + $156 = (($$0294331) + -2)|0; + $157 = ($156|0)>(5); + if ($157) { + $$6322 = 0;$161 = 1;$173 = 5; + while(1) { + $158 = (($3) + ($$6322<<2)|0); + $159 = +HEAPF32[$158>>2]; + $160 = (($3) + ($161<<2)|0); + $162 = +HEAPF32[$160>>2]; + $163 = (($$6322) + 2)|0; + $164 = (($3) + ($163<<2)|0); + $165 = +HEAPF32[$164>>2]; + $166 = (($$6322) + 3)|0; + $167 = (($3) + ($166<<2)|0); + $168 = +HEAPF32[$167>>2]; + $169 = (($$6322) + 4)|0; + $170 = (($3) + ($169<<2)|0); + $171 = +HEAPF32[$170>>2]; + $172 = (($3) + ($173<<2)|0); + $174 = +HEAPF32[$172>>2]; + _stbtt__csctx_rccurve_to($2,$159,$162,$165,$168,$171,$174); + $175 = (($$6322) + 6)|0; + $176 = (($$6322) + 11)|0; + $177 = ($176|0)<($156|0); + $178 = $175 | 1; + if ($177) { + $$6322 = $175;$161 = $178;$173 = $176; + } else { + $$6$lcssa = $175;$$lcssa316 = $178; + break; + } + } + } else { + $$6$lcssa = 0;$$lcssa316 = 1; + } + $179 = ($$lcssa316|0)<($$0294331|0); + if (!($179)) { + $$3 = 0; + label = 80; + break L4; + } + $180 = (($3) + ($$6$lcssa<<2)|0); + $181 = +HEAPF32[$180>>2]; + $182 = (($3) + ($$lcssa316<<2)|0); + $183 = +HEAPF32[$182>>2]; + _stbtt__csctx_rline_to($2,$181,$183); + $$0274$be = $$0274335;$$0276$be = $$0276334;$$0285$be = $$0285333;$$0288$be = $$0288332;$$0294$be = 0; + label = 73; + break; + } + case 25: { + $184 = ($$0294331|0)<(8); + if ($184) { + $$3 = 0; + label = 80; + break L4; + } + $185 = (($$0294331) + -6)|0; + $186 = ($185|0)>(1); + if ($186) { + $$7319 = 0;$190 = 1; + while(1) { + $187 = (($3) + ($$7319<<2)|0); + $188 = +HEAPF32[$187>>2]; + $189 = (($3) + ($190<<2)|0); + $191 = +HEAPF32[$189>>2]; + _stbtt__csctx_rline_to($2,$188,$191); + $192 = (($$7319) + 2)|0; + $193 = $192 | 1; + $194 = ($193|0)<($185|0); + if ($194) { + $$7319 = $192;$190 = $193; + } else { + $$7$lcssa = $192;$$lcssa = $193; + break; + } + } + } else { + $$7$lcssa = 0;$$lcssa = 1; + } + $195 = (($$7$lcssa) + 5)|0; + $196 = ($195|0)<($$0294331|0); + if (!($196)) { + $$3 = 0; + label = 80; + break L4; + } + $197 = (($3) + ($$7$lcssa<<2)|0); + $198 = +HEAPF32[$197>>2]; + $199 = (($3) + ($$lcssa<<2)|0); + $200 = +HEAPF32[$199>>2]; + $201 = (($$7$lcssa) + 2)|0; + $202 = (($3) + ($201<<2)|0); + $203 = +HEAPF32[$202>>2]; + $204 = (($$7$lcssa) + 3)|0; + $205 = (($3) + ($204<<2)|0); + $206 = +HEAPF32[$205>>2]; + $207 = (($$7$lcssa) + 4)|0; + $208 = (($3) + ($207<<2)|0); + $209 = +HEAPF32[$208>>2]; + $210 = (($3) + ($195<<2)|0); + $211 = +HEAPF32[$210>>2]; + _stbtt__csctx_rccurve_to($2,$198,$200,$203,$206,$209,$211); + $$0274$be = $$0274335;$$0276$be = $$0276334;$$0285$be = $$0285333;$$0288$be = $$0288332;$$0294$be = 0; + label = 73; + break; + } + case 27: case 26: { + $212 = ($$0294331|0)<(4); + if ($212) { + $$3 = 0; + label = 80; + break L4; + } + $213 = $$0294331 & 1; + $214 = ($213|0)==(0); + $215 = (($213) + 3)|0; + $216 = ($215|0)<($$0294331|0); + if ($216) { + $not$ = $214 ^ 1; + $$ = $not$&1; + $217 = +HEAPF32[$3>>2]; + $$363 = $214 ? 0.0 : $217; + $218 = ($52<<24>>24)==(27); + $$0282318 = $$363;$$8317 = $$;$228 = $215; + while(1) { + $219 = (($$8317) + 2)|0; + $220 = (($$8317) + 1)|0; + $221 = (($3) + ($219<<2)|0); + $222 = +HEAPF32[$221>>2]; + $223 = (($3) + ($$8317<<2)|0); + $224 = +HEAPF32[$223>>2]; + $225 = (($3) + ($220<<2)|0); + $226 = +HEAPF32[$225>>2]; + $227 = (($3) + ($228<<2)|0); + $229 = +HEAPF32[$227>>2]; + if ($218) { + _stbtt__csctx_rccurve_to($2,$224,$$0282318,$226,$222,$229,0.0); + } else { + _stbtt__csctx_rccurve_to($2,$$0282318,$224,$226,$222,0.0,$229); + } + $230 = (($$8317) + 4)|0; + $231 = (($$8317) + 7)|0; + $232 = ($231|0)<($$0294331|0); + if ($232) { + $$0282318 = 0.0;$$8317 = $230;$228 = $231; + } else { + $$0274$be = $$0274335;$$0276$be = $$0276334;$$0285$be = $$0285333;$$0288$be = $$0288332;$$0294$be = 0; + label = 73; + break; + } + } + } else { + $$0274$be = $$0274335;$$0276$be = $$0276334;$$0285$be = $$0285333;$$0288$be = $$0288332;$$0294$be = 0; + label = 73; + } + break; + } + case 10: { + $233 = ($$0285333|0)==(0); + if ($233) { + $234 = HEAP32[$15>>2]|0; + $235 = ($234|0)==(0); + if ($235) { + $$1286 = 1; + label = 54; + } else { + _stbtt__cid_get_glyph_subrs($5,$0,$1); + $$1286 = 1; + label = 54; + } + } else { + $$1286 = $$0285333; + label = 54; + } + break; + } + case 29: { + $$1286 = $$0285333; + label = 54; + break; + } + case 11: { + $247 = ($$0288332|0)<(1); + if ($247) { + $$3 = 0; + label = 80; + break L4; + } + $248 = (($$0288332) + -1)|0; + $249 = (($4) + (($248*12)|0)|0); + ;HEAP32[$6>>2]=HEAP32[$249>>2]|0;HEAP32[$6+4>>2]=HEAP32[$249+4>>2]|0;HEAP32[$6+8>>2]=HEAP32[$249+8>>2]|0; + $$0274$be = $$0274335;$$0276$be = $$0276334;$$0285$be = $$0285333;$$0288$be = $248;$$0294$be = $$0294331; + label = 73; + break; + } + case 12: { + $250 = (_stbtt__buf_get8($6)|0); + switch ($250<<24>>24) { + case 34: { + $251 = ($$0294331|0)<(7); + if ($251) { + $$3 = 0; + label = 80; + break L4; + } + $252 = +HEAPF32[$3>>2]; + $253 = +HEAPF32[$17>>2]; + $254 = +HEAPF32[$18>>2]; + $255 = +HEAPF32[$19>>2]; + $256 = +HEAPF32[$20>>2]; + $257 = +HEAPF32[$21>>2]; + $258 = +HEAPF32[$22>>2]; + _stbtt__csctx_rccurve_to($2,$252,0.0,$253,$254,$255,0.0); + $259 = -$254; + _stbtt__csctx_rccurve_to($2,$256,0.0,$257,$259,$258,0.0); + $$0274$be = $$0274335;$$0276$be = $$0276334;$$0285$be = $$0285333;$$0288$be = $$0288332;$$0294$be = 0; + label = 73; + break L6; + break; + } + case 35: { + $260 = ($$0294331|0)<(13); + if ($260) { + $$3 = 0; + label = 80; + break L4; + } + $261 = +HEAPF32[$3>>2]; + $262 = +HEAPF32[$23>>2]; + $263 = +HEAPF32[$24>>2]; + $264 = +HEAPF32[$25>>2]; + $265 = +HEAPF32[$26>>2]; + $266 = +HEAPF32[$27>>2]; + $267 = +HEAPF32[$28>>2]; + $268 = +HEAPF32[$29>>2]; + $269 = +HEAPF32[$30>>2]; + $270 = +HEAPF32[$31>>2]; + $271 = +HEAPF32[$32>>2]; + $272 = +HEAPF32[$33>>2]; + _stbtt__csctx_rccurve_to($2,$261,$262,$263,$264,$265,$266); + _stbtt__csctx_rccurve_to($2,$267,$268,$269,$270,$271,$272); + $$0274$be = $$0274335;$$0276$be = $$0276334;$$0285$be = $$0285333;$$0288$be = $$0288332;$$0294$be = 0; + label = 73; + break L6; + break; + } + case 36: { + $273 = ($$0294331|0)<(9); + if ($273) { + $$3 = 0; + label = 80; + break L4; + } + $274 = +HEAPF32[$3>>2]; + $275 = +HEAPF32[$34>>2]; + $276 = +HEAPF32[$35>>2]; + $277 = +HEAPF32[$36>>2]; + $278 = +HEAPF32[$37>>2]; + $279 = +HEAPF32[$38>>2]; + $280 = +HEAPF32[$39>>2]; + $281 = +HEAPF32[$40>>2]; + $282 = +HEAPF32[$41>>2]; + _stbtt__csctx_rccurve_to($2,$274,$275,$276,$277,$278,0.0); + $283 = $275 + $277; + $284 = $283 + $281; + $285 = -$284; + _stbtt__csctx_rccurve_to($2,$279,0.0,$280,$281,$282,$285); + $$0274$be = $$0274335;$$0276$be = $$0276334;$$0285$be = $$0285333;$$0288$be = $$0288332;$$0294$be = 0; + label = 73; + break L6; + break; + } + case 37: { + $286 = ($$0294331|0)<(11); + if ($286) { + $$3 = 0; + label = 80; + break L4; + } + $287 = +HEAPF32[$3>>2]; + $288 = +HEAPF32[$42>>2]; + $289 = +HEAPF32[$43>>2]; + $290 = +HEAPF32[$44>>2]; + $291 = +HEAPF32[$45>>2]; + $292 = +HEAPF32[$46>>2]; + $293 = +HEAPF32[$47>>2]; + $294 = +HEAPF32[$48>>2]; + $295 = +HEAPF32[$49>>2]; + $296 = +HEAPF32[$50>>2]; + $297 = +HEAPF32[$51>>2]; + $298 = $287 + $289; + $299 = $298 + $291; + $300 = $299 + $293; + $301 = $300 + $295; + $302 = $288 + $290; + $303 = $302 + $292; + $304 = $303 + $294; + $305 = $304 + $296; + $fabsf = (+Math_abs((+$301))); + $fabsf296 = (+Math_abs((+$305))); + $306 = $fabsf > $fabsf296; + $307 = -$305; + $308 = -$301; + $$0280 = $306 ? $297 : $308; + $$0279 = $306 ? $307 : $297; + _stbtt__csctx_rccurve_to($2,$287,$288,$289,$290,$291,$292); + _stbtt__csctx_rccurve_to($2,$293,$294,$295,$296,$$0280,$$0279); + $$0274$be = $$0274335;$$0276$be = $$0276334;$$0285$be = $$0285333;$$0288$be = $$0288332;$$0294$be = 0; + label = 73; + break L6; + break; + } + default: { + $$3 = 0; + label = 80; + break L4; + } + } + break; + } + case -1: { + label = 76; + break; + } + case 28: { + label = 77; + break; + } + default: { + $312 = ($52&255)<(32); + $313 = ($52<<24>>24)==(-1); + $or$cond3 = $312 | $313; + if ($or$cond3) { + $$3 = 0; + label = 80; + break L4; + } + if ($313) { + label = 76; + } else { + label = 77; + } + } + } + } while(0); + if ((label|0) == 54) { + label = 0; + $236 = ($$0294331|0)<(1); + if ($236) { + $$3 = 0; + label = 80; + break; + } + $237 = (($$0294331) + -1)|0; + $238 = (($3) + ($237<<2)|0); + $239 = +HEAPF32[$238>>2]; + $240 = (~~(($239))); + $241 = ($$0288332|0)>(9); + if ($241) { + $$3 = 0; + label = 80; + break; + } + $242 = (($$0288332) + 1)|0; + $243 = (($4) + (($$0288332*12)|0)|0); + ;HEAP32[$243>>2]=HEAP32[$6>>2]|0;HEAP32[$243+4>>2]=HEAP32[$6+4>>2]|0;HEAP32[$243+8>>2]=HEAP32[$6+8>>2]|0; + $244 = ($52<<24>>24)==(10); + if ($244) { + ;HEAP32[$7>>2]=HEAP32[$5>>2]|0;HEAP32[$7+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$7+8>>2]=HEAP32[$5+8>>2]|0; + } else { + ;HEAP32[$7>>2]=HEAP32[$16>>2]|0;HEAP32[$7+4>>2]=HEAP32[$16+4>>2]|0;HEAP32[$7+8>>2]=HEAP32[$16+8>>2]|0; + } + ;HEAP32[$$byval_copy1>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$7+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$7+8>>2]|0; + _stbtt__get_subr($6,$$byval_copy1,$240); + $245 = HEAP32[$12>>2]|0; + $246 = ($245|0)==(0); + if ($246) { + $$3 = 0; + label = 80; + break; + } + HEAP32[$10>>2] = 0; + $$0274$be = $$0274335;$$0276$be = $$0276334;$$0285$be = $$1286;$$0288$be = $242;$$0294$be = $237; + label = 73; + } + else if ((label|0) == 76) { + label = 0; + $314 = (_stbtt__buf_get($6,4)|0); + $315 = (+($314>>>0)); + $316 = $315 * 1.52587890625E-5; + $$1283 = $316; + label = 78; + } + else if ((label|0) == 77) { + label = 0; + _stbtt__buf_skip($6,-1); + $317 = (_stbtt__cff_int($6)|0); + $318 = $317&65535; + $319 = (+($318<<16>>16)); + $$1283 = $319; + label = 78; + } + if ((label|0) == 78) { + label = 0; + $320 = ($$0294331|0)>(47); + if ($320) { + $$3 = 0; + label = 80; + break; + } + $321 = (($$0294331) + 1)|0; + $322 = (($3) + ($$0294331<<2)|0); + HEAPF32[$322>>2] = $$1283; + $$0274$be = $$0274335;$$0276$be = $$0276334;$$0285$be = $$0285333;$$0288$be = $$0288332;$$0294$be = $321; + label = 73; + } + while(1) { + if ((label|0) == 18) { + label = 0; + $86 = ($$1291|0)<($$0294331|0); + if (!($86)) { + $$0274$be = $$0274335;$$0276$be = $$0276334;$$0285$be = $$0285333;$$0288$be = $$0288332;$$0294$be = 0; + label = 73; + continue; + } + $87 = (($3) + ($$1291<<2)|0); + $88 = +HEAPF32[$87>>2]; + _stbtt__csctx_rline_to($2,$88,0.0); + $89 = (($$1291) + 1)|0; + $$2292 = $89; + label = 20; + continue; + } + else if ((label|0) == 20) { + label = 0; + $90 = ($$2292|0)<($$0294331|0); + if (!($90)) { + $$0274$be = $$0274335;$$0276$be = $$0276334;$$0285$be = $$0285333;$$0288$be = $$0288332;$$0294$be = 0; + label = 73; + continue; + } + $91 = (($3) + ($$2292<<2)|0); + $92 = +HEAPF32[$91>>2]; + _stbtt__csctx_rline_to($2,0.0,$92); + $93 = (($$2292) + 1)|0; + $$1291 = $93; + label = 18; + continue; + } + else if ((label|0) == 24) { + label = 0; + $96 = (($$3293) + 3)|0; + $97 = ($96|0)<($$0294331|0); + if (!($97)) { + $$0274$be = $$0274335;$$0276$be = $$0276334;$$0285$be = $$0285333;$$0288$be = $$0288332;$$0294$be = 0; + label = 73; + continue; + } + $98 = (($3) + ($$3293<<2)|0); + $99 = +HEAPF32[$98>>2]; + $100 = (($$3293) + 1)|0; + $101 = (($3) + ($100<<2)|0); + $102 = +HEAPF32[$101>>2]; + $103 = (($$3293) + 2)|0; + $104 = (($3) + ($103<<2)|0); + $105 = +HEAPF32[$104>>2]; + $106 = (($3) + ($96<<2)|0); + $107 = +HEAPF32[$106>>2]; + $108 = (($$0294331) - ($$3293))|0; + $109 = ($108|0)==(5); + if ($109) { + $110 = (($$3293) + 4)|0; + $111 = (($3) + ($110<<2)|0); + $112 = +HEAPF32[$111>>2]; + $113 = $112; + } else { + $113 = 0.0; + } + _stbtt__csctx_rccurve_to($2,0.0,$99,$102,$105,$107,$113); + $114 = (($$3293) + 4)|0; + $$4 = $114; + label = 28; + continue; + } + else if ((label|0) == 28) { + label = 0; + $115 = (($$4) + 3)|0; + $116 = ($115|0)<($$0294331|0); + if (!($116)) { + $$0274$be = $$0274335;$$0276$be = $$0276334;$$0285$be = $$0285333;$$0288$be = $$0288332;$$0294$be = 0; + label = 73; + continue; + } + $117 = (($3) + ($$4<<2)|0); + $118 = +HEAPF32[$117>>2]; + $119 = (($$4) + 1)|0; + $120 = (($3) + ($119<<2)|0); + $121 = +HEAPF32[$120>>2]; + $122 = (($$4) + 2)|0; + $123 = (($3) + ($122<<2)|0); + $124 = +HEAPF32[$123>>2]; + $125 = (($$0294331) - ($$4))|0; + $126 = ($125|0)==(5); + if ($126) { + $127 = (($$4) + 4)|0; + $128 = (($3) + ($127<<2)|0); + $129 = +HEAPF32[$128>>2]; + $132 = $129; + } else { + $132 = 0.0; + } + $130 = (($3) + ($115<<2)|0); + $131 = +HEAPF32[$130>>2]; + _stbtt__csctx_rccurve_to($2,$118,0.0,$121,$124,$132,$131); + $133 = (($$4) + 4)|0; + $$3293 = $133; + label = 24; + continue; + } + else if ((label|0) == 73) { + label = 0; + $309 = HEAP32[$10>>2]|0; + $310 = HEAP32[$12>>2]|0; + $311 = ($309|0)<($310|0); + if ($311) { + $$0274335 = $$0274$be;$$0276334 = $$0276$be;$$0285333 = $$0285$be;$$0288332 = $$0288$be;$$0294331 = $$0294$be; + continue L4; + } else { + $$3 = 0; + label = 80; + break L4; + } + } + } + } + if ((label|0) == 63) { + _stbtt__csctx_close_shape($2); + $$3 = 1; + STACKTOP = sp;return ($$3|0); + } + else if ((label|0) == 80) { + STACKTOP = sp;return ($$3|0); + } + return (0)|0; +} +function _stbtt__cff_index_get($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$off = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + _stbtt__buf_seek($1,0); + $3 = (_stbtt__buf_get($1,2)|0); + $4 = (_stbtt__buf_get8($1)|0); + $5 = $4&255; + $6 = ($2|0)>(-1); + $7 = ($3|0)>($2|0); + $or$cond = $6 & $7; + if (!($or$cond)) { + ___assert_fail((17497|0),(16834|0),1118,(17517|0)); + // unreachable; + } + $$off = (($4) + -1)<<24>>24; + $8 = ($$off&255)<(4); + if ($8) { + $9 = Math_imul($5, $2)|0; + _stbtt__buf_skip($1,$9); + $10 = (_stbtt__buf_get($1,$5)|0); + $11 = (_stbtt__buf_get($1,$5)|0); + $12 = (($3) + 1)|0; + $13 = Math_imul($5, $12)|0; + $14 = (($13) + 2)|0; + $15 = (($14) + ($10))|0; + $16 = (($11) - ($10))|0; + _stbtt__buf_range($0,$1,$15,$16); + return; + } else { + ___assert_fail((17414|0),(16834|0),1119,(17517|0)); + // unreachable; + } +} +function _stbtt__buf_get8($0) { + $0 = $0|0; + var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 4|0); + $2 = HEAP32[$1>>2]|0; + $3 = ((($0)) + 8|0); + $4 = HEAP32[$3>>2]|0; + $5 = ($2|0)<($4|0); + if (!($5)) { + $$0 = 0; + return ($$0|0); + } + $6 = (($2) + 1)|0; + $7 = HEAP32[$0>>2]|0; + HEAP32[$1>>2] = $6; + $8 = (($7) + ($2)|0); + $9 = HEAP8[$8>>0]|0; + $$0 = $9; + return ($$0|0); +} +function _stbtt__buf_skip($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($0)) + 4|0); + $3 = HEAP32[$2>>2]|0; + $4 = (($3) + ($1))|0; + _stbtt__buf_seek($0,$4); + return; +} +function _stbtt__csctx_rmove_to($0,$1,$2) { + $0 = $0|0; + $1 = +$1; + $2 = +$2; + var $10 = 0, $11 = 0.0, $12 = 0, $13 = 0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + _stbtt__csctx_close_shape($0); + $3 = ((($0)) + 16|0); + $4 = +HEAPF32[$3>>2]; + $5 = $4 + $1; + HEAPF32[$3>>2] = $5; + $6 = ((($0)) + 8|0); + HEAPF32[$6>>2] = $5; + $7 = ((($0)) + 20|0); + $8 = +HEAPF32[$7>>2]; + $9 = $8 + $2; + HEAPF32[$7>>2] = $9; + $10 = ((($0)) + 12|0); + HEAPF32[$10>>2] = $9; + $11 = +HEAPF32[$3>>2]; + $12 = (~~(($11))); + $13 = (~~(($9))); + _stbtt__csctx_v($0,1,$12,$13,0,0,0,0); + return; +} +function _stbtt__csctx_rline_to($0,$1,$2) { + $0 = $0|0; + $1 = +$1; + $2 = +$2; + var $10 = 0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0.0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ((($0)) + 16|0); + $4 = +HEAPF32[$3>>2]; + $5 = $4 + $1; + HEAPF32[$3>>2] = $5; + $6 = ((($0)) + 20|0); + $7 = +HEAPF32[$6>>2]; + $8 = $7 + $2; + HEAPF32[$6>>2] = $8; + $9 = (~~(($5))); + $10 = (~~(($8))); + _stbtt__csctx_v($0,2,$9,$10,0,0,0,0); + return; +} +function _stbtt__csctx_rccurve_to($0,$1,$2,$3,$4,$5,$6) { + $0 = $0|0; + $1 = +$1; + $2 = +$2; + $3 = +$3; + $4 = +$4; + $5 = +$5; + $6 = +$6; + var $10 = 0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $7 = ((($0)) + 16|0); + $8 = +HEAPF32[$7>>2]; + $9 = $8 + $1; + $10 = ((($0)) + 20|0); + $11 = +HEAPF32[$10>>2]; + $12 = $11 + $2; + $13 = $9 + $3; + $14 = $12 + $4; + $15 = $13 + $5; + HEAPF32[$7>>2] = $15; + $16 = $14 + $6; + HEAPF32[$10>>2] = $16; + $17 = (~~(($15))); + $18 = (~~(($16))); + $19 = (~~(($9))); + $20 = (~~(($12))); + $21 = (~~(($13))); + $22 = (~~(($14))); + _stbtt__csctx_v($0,4,$17,$18,$19,$20,$21,$22); + return; +} +function _stbtt__cid_get_glyph_subrs($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$02931 = 0, $$03034 = 0, $$035 = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0; + var $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0); + $$byval_copy2 = sp + 36|0; + $$byval_copy1 = sp + 24|0; + $3 = sp; + $4 = sp + 12|0; + $5 = ((($1)) + 108|0); + ;HEAP32[$3>>2]=HEAP32[$5>>2]|0;HEAP32[$3+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$3+8>>2]=HEAP32[$5+8>>2]|0; + _stbtt__buf_seek($3,0); + $6 = (_stbtt__buf_get8($3)|0); + L1: do { + switch ($6<<24>>24) { + case 0: { + _stbtt__buf_skip($3,$2); + $7 = (_stbtt__buf_get8($3)|0); + $8 = $7&255; + $$02931 = $8; + break; + } + case 3: { + $9 = (_stbtt__buf_get($3,2)|0); + $10 = (_stbtt__buf_get($3,2)|0); + $11 = ($9|0)>(0); + if ($11) { + $$03034 = $10;$$035 = 0; + while(1) { + $14 = (_stbtt__buf_get8($3)|0); + $15 = (_stbtt__buf_get($3,2)|0); + $16 = ($$03034|0)<=($2|0); + $17 = ($15|0)>($2|0); + $or$cond = $16 & $17; + $13 = (($$035) + 1)|0; + if ($or$cond) { + break; + } + $12 = ($13|0)<($9|0); + if ($12) { + $$03034 = $15;$$035 = $13; + } else { + label = 6; + break L1; + } + } + $18 = $14&255; + $$02931 = $18; + } else { + label = 6; + } + break; + } + default: { + label = 6; + } + } + } while(0); + if ((label|0) == 6) { + _stbtt__new_buf($$byval_copy2,0,0); + $$02931 = -1; + } + $19 = ((($1)) + 48|0); + $20 = ((($1)) + 96|0); + ;HEAP32[$$byval_copy2>>2]=HEAP32[$20>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$20+4>>2]|0;HEAP32[$$byval_copy2+8>>2]=HEAP32[$20+8>>2]|0; + _stbtt__cff_index_get($4,$$byval_copy2,$$02931); + ;HEAP32[$$byval_copy1>>2]=HEAP32[$19>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$19+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$19+8>>2]|0; + ;HEAP32[$$byval_copy2>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$4+4>>2]|0;HEAP32[$$byval_copy2+8>>2]=HEAP32[$4+8>>2]|0; + _stbtt__get_subrs($0,$$byval_copy1,$$byval_copy2); + STACKTOP = sp;return; +} +function _stbtt__get_subr($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$ = 0, $$0 = 0, $$byval_copy = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $$byval_copy = sp; + $3 = (_stbtt__cff_index_count($1)|0); + $4 = ($3|0)>(33899); + $5 = ($3|0)>(1239); + $$ = $5 ? 1131 : 107; + $$0 = $4 ? 32768 : $$; + $6 = (($$0) + ($2))|0; + $7 = ($6|0)>(-1); + $8 = ($6|0)<($3|0); + $or$cond = $7 & $8; + if ($or$cond) { + ;HEAP32[$$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$1+8>>2]|0; + _stbtt__cff_index_get($0,$$byval_copy,$6); + STACKTOP = sp;return; + } else { + _stbtt__new_buf($0,0,0); + STACKTOP = sp;return; + } +} +function _stbtt__csctx_close_shape($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0.0, $3 = 0, $4 = 0.0, $5 = 0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 8|0); + $2 = +HEAPF32[$1>>2]; + $3 = ((($0)) + 16|0); + $4 = +HEAPF32[$3>>2]; + $5 = $2 != $4; + $6 = ((($0)) + 12|0); + $7 = +HEAPF32[$6>>2]; + if (!($5)) { + $8 = ((($0)) + 20|0); + $9 = +HEAPF32[$8>>2]; + $10 = $7 != $9; + if (!($10)) { + return; + } + } + $11 = (~~(($2))); + $12 = (~~(($7))); + _stbtt__csctx_v($0,2,$11,$12,0,0,0,0); + return; +} +function _stbtt__buf_get($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$01011 = 0, $$012 = 0, $$off = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $exitcond = 0, label = 0, sp = 0; + sp = STACKTOP; + $$off = (($1) + -1)|0; + $2 = ($$off>>>0)<(4); + if ($2) { + $$01011 = 0;$$012 = 0; + } else { + ___assert_fail((17309|0),(16834|0),1014,(17326|0)); + // unreachable; + } + while(1) { + $3 = $$01011 << 8; + $4 = (_stbtt__buf_get8($0)|0); + $5 = $4&255; + $6 = $5 | $3; + $7 = (($$012) + 1)|0; + $exitcond = ($7|0)==($1|0); + if ($exitcond) { + break; + } else { + $$01011 = $6;$$012 = $7; + } + } + return ($6|0); +} +function _stbtt__cff_int($0) { + $0 = $0|0; + var $$0 = 0, $$off = 0, $$off19 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0; + var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond5 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (_stbtt__buf_get8($0)|0); + $2 = $1&255; + $$off = (($1) + -32)<<24>>24; + $3 = ($$off&255)<(215); + if ($3) { + $4 = (($2) + -139)|0; + $$0 = $4; + return ($$0|0); + } + $$off19 = (($1) + 9)<<24>>24; + $5 = ($$off19&255)<(4); + if ($5) { + $6 = $2 << 8; + $7 = (($6) + -63232)|0; + $8 = (_stbtt__buf_get8($0)|0); + $9 = $8&255; + $10 = $9 | $7; + $11 = (($10) + 108)|0; + $$0 = $11; + return ($$0|0); + } + $12 = ($1&255)>(250); + $13 = ($1<<24>>24)!=(-1); + $or$cond5 = $12 & $13; + if ($or$cond5) { + $14 = (251 - ($2))|0; + $15 = $14 << 8; + $16 = (_stbtt__buf_get8($0)|0); + $17 = $16&255; + $18 = (($15) + -108)|0; + $19 = (($18) - ($17))|0; + $$0 = $19; + return ($$0|0); + } + switch ($1<<24>>24) { + case 28: { + $20 = (_stbtt__buf_get($0,2)|0); + $$0 = $20; + return ($$0|0); + break; + } + case 29: { + $21 = (_stbtt__buf_get($0,4)|0); + $$0 = $21; + return ($$0|0); + break; + } + default: { + ___assert_fail((18878|0),(16834|0),1064,(17294|0)); + // unreachable; + } + } + return (0)|0; +} +function _stbtt__csctx_v($0,$1,$2,$3,$4,$5,$6,$7) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + $6 = $6|0; + $7 = $7|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $8 = 0, $9 = 0, label = 0; + var sp = 0; + sp = STACKTOP; + $8 = HEAP32[$0>>2]|0; + $9 = ($8|0)==(0); + if ($9) { + $11 = ((($0)) + 40|0); + $12 = HEAP32[$11>>2]|0; + $13 = ((($0)) + 44|0); + $14 = HEAP32[$13>>2]|0; + $15 = (($12) + (($14*14)|0)|0); + _stbtt_setvertex($15,$1,$2,$3,$4,$5); + $16 = $6&65535; + $17 = HEAP32[$11>>2]|0; + $18 = HEAP32[$13>>2]|0; + $19 = (((($17) + (($18*14)|0)|0)) + 8|0); + HEAP16[$19>>1] = $16; + $20 = $7&65535; + $21 = HEAP32[$11>>2]|0; + $22 = HEAP32[$13>>2]|0; + $23 = (((($21) + (($22*14)|0)|0)) + 10|0); + HEAP16[$23>>1] = $20; + } else { + _stbtt__track_vertex($0,$2,$3); + $10 = ($1<<24>>24)==(4); + if ($10) { + _stbtt__track_vertex($0,$4,$5); + _stbtt__track_vertex($0,$6,$7); + } + } + $24 = ((($0)) + 44|0); + $25 = HEAP32[$24>>2]|0; + $26 = (($25) + 1)|0; + HEAP32[$24>>2] = $26; + return; +} +function _stbtt__track_vertex($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $3 = 0, $4 = 0; + var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ((($0)) + 28|0); + $4 = HEAP32[$3>>2]|0; + $5 = ($4|0)<($1|0); + if ($5) { + label = 3; + } else { + $6 = ((($0)) + 4|0); + $7 = HEAP32[$6>>2]|0; + $8 = ($7|0)==(0); + if ($8) { + label = 3; + } + } + if ((label|0) == 3) { + HEAP32[$3>>2] = $1; + } + $9 = ((($0)) + 36|0); + $10 = HEAP32[$9>>2]|0; + $11 = ($10|0)<($2|0); + if ($11) { + label = 6; + } else { + $12 = ((($0)) + 4|0); + $13 = HEAP32[$12>>2]|0; + $14 = ($13|0)==(0); + if ($14) { + label = 6; + } + } + if ((label|0) == 6) { + HEAP32[$9>>2] = $2; + } + $15 = ((($0)) + 24|0); + $16 = HEAP32[$15>>2]|0; + $17 = ($16|0)>($1|0); + if ($17) { + label = 9; + } else { + $18 = ((($0)) + 4|0); + $19 = HEAP32[$18>>2]|0; + $20 = ($19|0)==(0); + if ($20) { + label = 9; + } + } + if ((label|0) == 9) { + HEAP32[$15>>2] = $1; + } + $21 = ((($0)) + 32|0); + $22 = HEAP32[$21>>2]|0; + $23 = ($22|0)>($2|0); + if (!($23)) { + $24 = ((($0)) + 4|0); + $25 = HEAP32[$24>>2]|0; + $26 = ($25|0)==(0); + if (!($26)) { + $27 = ((($0)) + 4|0); + HEAP32[$27>>2] = 1; + return; + } + } + HEAP32[$21>>2] = $2; + $27 = ((($0)) + 4|0); + HEAP32[$27>>2] = 1; + return; +} +function _stbtt_setvertex($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $6 = ((($0)) + 12|0); + HEAP8[$6>>0] = $1; + $7 = $2&65535; + HEAP16[$0>>1] = $7; + $8 = $3&65535; + $9 = ((($0)) + 2|0); + HEAP16[$9>>1] = $8; + $10 = $4&65535; + $11 = ((($0)) + 4|0); + HEAP16[$11>>1] = $10; + $12 = $5&65535; + $13 = ((($0)) + 6|0); + HEAP16[$13>>1] = $12; + return; +} +function _stbtt__cff_index_count($0) { + $0 = $0|0; + var $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + _stbtt__buf_seek($0,0); + $1 = (_stbtt__buf_get($0,2)|0); + return ($1|0); +} +function _stbtt__new_buf($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$sroa$4$0$$sroa_idx2 = 0, $$sroa$5$0$$sroa_idx4 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ($2>>>0)<(1073741824); + if ($3) { + HEAP32[$0>>2] = $1; + $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); + HEAP32[$$sroa$4$0$$sroa_idx2>>2] = 0; + $$sroa$5$0$$sroa_idx4 = ((($0)) + 8|0); + HEAP32[$$sroa$5$0$$sroa_idx4>>2] = $2; + return; + } else { + ___assert_fail((17341|0),(16834|0),1023,(17359|0)); + // unreachable; + } +} +function _stbtt__buf_seek($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($0)) + 8|0); + $3 = HEAP32[$2>>2]|0; + $4 = ($3|0)<($1|0); + $5 = ($1|0)<(0); + $or$cond = $5 | $4; + if ($or$cond) { + ___assert_fail((17374|0),(16834|0),1001,(17398|0)); + // unreachable; + } else { + $6 = ((($0)) + 4|0); + HEAP32[$6>>2] = $1; + return; + } +} +function _stbtt__get_subrs($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $3 = sp + 20|0; + $4 = sp; + $5 = sp + 8|0; + HEAP32[$3>>2] = 0; + $6 = $4; + $7 = $6; + HEAP32[$7>>2] = 0; + $8 = (($6) + 4)|0; + $9 = $8; + HEAP32[$9>>2] = 0; + _stbtt__dict_get_ints($2,18,2,$4); + $10 = ((($4)) + 4|0); + $11 = HEAP32[$10>>2]|0; + $12 = ($11|0)==(0); + if (!($12)) { + $13 = HEAP32[$4>>2]|0; + $14 = ($13|0)==(0); + if (!($14)) { + _stbtt__buf_range($5,$1,$11,$13); + _stbtt__dict_get_ints($5,19,1,$3); + $15 = HEAP32[$3>>2]|0; + $16 = ($15|0)==(0); + if ($16) { + _stbtt__new_buf($0,0,0); + STACKTOP = sp;return; + } else { + $17 = HEAP32[$10>>2]|0; + $18 = (($17) + ($15))|0; + _stbtt__buf_seek($1,$18); + _stbtt__cff_get_index($0,$1); + STACKTOP = sp;return; + } + } + } + _stbtt__new_buf($0,0,0); + STACKTOP = sp;return; +} +function _stbtt__dict_get_ints($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$07 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $4 = sp; + _stbtt__dict_get($4,$0,$1); + $5 = ((($4)) + 4|0); + $6 = ($2|0)>(0); + if (!($6)) { + STACKTOP = sp;return; + } + $7 = ((($4)) + 8|0); + $$07 = 0; + while(1) { + $8 = HEAP32[$5>>2]|0; + $9 = HEAP32[$7>>2]|0; + $10 = ($8|0)<($9|0); + if (!($10)) { + label = 5; + break; + } + $11 = (_stbtt__cff_int($4)|0); + $12 = (($3) + ($$07<<2)|0); + HEAP32[$12>>2] = $11; + $13 = (($$07) + 1)|0; + $14 = ($13|0)<($2|0); + if ($14) { + $$07 = $13; + } else { + label = 5; + break; + } + } + if ((label|0) == 5) { + STACKTOP = sp;return; + } +} +function _stbtt__buf_range($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $4 = sp; + _stbtt__new_buf($4,0,0); + $5 = $3 | $2; + $6 = ($5|0)<(0); + if (!($6)) { + $7 = ((($1)) + 8|0); + $8 = HEAP32[$7>>2]|0; + $9 = ($8|0)<($2|0); + $10 = (($8) - ($2))|0; + $11 = ($10|0)<($3|0); + $or$cond = $9 | $11; + if (!($or$cond)) { + $12 = HEAP32[$1>>2]|0; + $13 = (($12) + ($2)|0); + HEAP32[$4>>2] = $13; + $14 = ((($4)) + 8|0); + HEAP32[$14>>2] = $3; + ;HEAP32[$0>>2]=HEAP32[$4>>2]|0;HEAP32[$0+4>>2]=HEAP32[$4+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$4+8>>2]|0; + STACKTOP = sp;return; + } + } + ;HEAP32[$0>>2]=HEAP32[$4>>2]|0;HEAP32[$0+4>>2]=HEAP32[$4+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$4+8>>2]|0; + STACKTOP = sp;return; +} +function _stbtt__cff_get_index($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$off = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($1)) + 4|0); + $3 = HEAP32[$2>>2]|0; + $4 = (_stbtt__buf_get($1,2)|0); + $5 = ($4|0)==(0); + if ($5) { + $12 = HEAP32[$2>>2]|0; + $13 = (($12) - ($3))|0; + _stbtt__buf_range($0,$1,$3,$13); + return; + } + $6 = (_stbtt__buf_get8($1)|0); + $7 = $6&255; + $$off = (($6) + -1)<<24>>24; + $8 = ($$off&255)<(4); + if (!($8)) { + ___assert_fail((17414|0),(16834|0),1049,(17443|0)); + // unreachable; + } + $9 = Math_imul($7, $4)|0; + _stbtt__buf_skip($1,$9); + $10 = (_stbtt__buf_get($1,$7)|0); + $11 = (($10) + -1)|0; + _stbtt__buf_skip($1,$11); + $12 = HEAP32[$2>>2]|0; + $13 = (($12) - ($3))|0; + _stbtt__buf_range($0,$1,$3,$13); + return; +} +function _stbtt__dict_get($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$021 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; + var sp = 0; + sp = STACKTOP; + _stbtt__buf_seek($1,0); + $3 = ((($1)) + 4|0); + $4 = ((($1)) + 8|0); + while(1) { + $5 = HEAP32[$3>>2]|0; + $6 = HEAP32[$4>>2]|0; + $7 = ($5|0)<($6|0); + if (!($7)) { + label = 9; + break; + } + $8 = (_stbtt__buf_peek8($1)|0); + $9 = ($8&255)>(27); + if ($9) { + while(1) { + _stbtt__cff_skip_operand($1); + $10 = (_stbtt__buf_peek8($1)|0); + $11 = ($10&255)>(27); + if (!($11)) { + break; + } + } + } + $12 = HEAP32[$3>>2]|0; + $13 = (_stbtt__buf_get8($1)|0); + $14 = $13&255; + $15 = ($13<<24>>24)==(12); + if ($15) { + $16 = (_stbtt__buf_get8($1)|0); + $17 = $16&255; + $18 = $17 | 256; + $$021 = $18; + } else { + $$021 = $14; + } + $19 = ($$021|0)==($2|0); + if ($19) { + label = 8; + break; + } + } + if ((label|0) == 8) { + $20 = (($12) - ($5))|0; + _stbtt__buf_range($0,$1,$5,$20); + return; + } + else if ((label|0) == 9) { + _stbtt__buf_range($0,$1,0,0); + return; + } +} +function _stbtt__buf_peek8($0) { + $0 = $0|0; + var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 4|0); + $2 = HEAP32[$1>>2]|0; + $3 = ((($0)) + 8|0); + $4 = HEAP32[$3>>2]|0; + $5 = ($2|0)<($4|0); + if (!($5)) { + $$0 = 0; + return ($$0|0); + } + $6 = HEAP32[$0>>2]|0; + $7 = (($6) + ($2)|0); + $8 = HEAP8[$7>>0]|0; + $$0 = $8; + return ($$0|0); +} +function _stbtt__cff_skip_operand($0) { + $0 = $0|0; + var $$mask = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (_stbtt__buf_peek8($0)|0); + $2 = ($1&255)>(27); + if (!($2)) { + ___assert_fail((17464|0),(16834|0),1070,(17473|0)); + // unreachable; + } + $3 = ($1<<24>>24)==(30); + if (!($3)) { + (_stbtt__cff_int($0)|0); + return; + } + _stbtt__buf_skip($0,1); + $4 = ((($0)) + 4|0); + $5 = ((($0)) + 8|0); + while(1) { + $6 = HEAP32[$4>>2]|0; + $7 = HEAP32[$5>>2]|0; + $8 = ($6|0)<($7|0); + if (!($8)) { + label = 8; + break; + } + $9 = (_stbtt__buf_get8($0)|0); + $10 = $9&255; + $11 = $10 & 15; + $12 = ($11|0)==(15); + $$mask = $10 & 240; + $13 = ($$mask|0)==(240); + $or$cond = $12 | $13; + if ($or$cond) { + label = 8; + break; + } + } + if ((label|0) == 8) { + return; + } +} +function _stbtt__GetGlyphShapeTT($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$0348453 = 0, $$0353439 = 0, $$0361449 = 0, $$0363450 = 0, $$0364448 = 0, $$0366447 = 0, $$0372451 = 0, $$0377437 = 0, $$0379436 = 0, $$0381446 = 0, $$0387435 = 0, $$0390434 = 0, $$0393433 = 0, $$0396432 = 0, $$0399431 = 0, $$0401430 = 0, $$0403440 = 0, $$0405443 = 0, $$0407429 = 0, $$0409428 = 0; + var $$1349 = 0, $$1354 = 0, $$1362 = 0, $$1365 = 0, $$1367445 = 0, $$1378 = 0, $$1380 = 0, $$1382 = 0, $$1388 = 0, $$1391 = 0, $$1394 = 0, $$1397 = 0, $$1400 = 0, $$1402 = 0, $$1404 = 0, $$1406 = 0, $$1408 = 0, $$1410 = 0, $$2368442 = 0, $$2374 = 0; + var $$2383444 = 0, $$2389 = 0, $$2392 = 0, $$2395 = 0, $$2398 = 0, $$3356 = 0, $$3369438 = 0, $$3384 = 0, $$4 = 0, $$4352 = 0, $$4370 = 0, $$4385441 = 0, $$5371 = 0, $$5386 = 0, $$5452 = 0, $$6 = 0, $$9 = 0, $$sink = 0, $$sroa$0$0 = 0.0, $$sroa$10$0 = 0.0; + var $$sroa$17$0 = 0.0, $$sroa$24$0 = 0.0, $$sroa$31$0 = 0.0, $$sroa$35$0 = 0.0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0; + var $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0; + var $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0; + var $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0.0, $155 = 0, $156 = 0, $157 = 0.0, $158 = 0, $159 = 0.0, $16 = 0, $160 = 0, $161 = 0, $162 = 0.0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0.0, $168 = 0.0; + var $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0.0, $174 = 0.0, $175 = 0, $176 = 0, $177 = 0.0, $178 = 0.0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0.0, $184 = 0.0, $185 = 0, $186 = 0; + var $187 = 0.0, $188 = 0.0, $189 = 0, $19 = 0, $190 = 0, $191 = 0.0, $192 = 0.0, $193 = 0, $194 = 0, $195 = 0.0, $196 = 0.0, $197 = 0, $198 = 0.0, $199 = 0.0, $20 = 0, $200 = 0.0, $201 = 0.0, $202 = 0.0, $203 = 0.0, $204 = 0; + var $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0.0, $213 = 0.0, $214 = 0.0, $215 = 0.0, $216 = 0.0, $217 = 0.0, $218 = 0.0, $219 = 0, $22 = 0, $220 = 0.0, $221 = 0.0, $222 = 0.0; + var $223 = 0.0, $224 = 0.0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0.0, $231 = 0.0, $232 = 0.0, $233 = 0.0, $234 = 0.0, $235 = 0.0, $236 = 0.0, $237 = 0, $238 = 0.0, $239 = 0.0, $24 = 0, $240 = 0.0; + var $241 = 0.0, $242 = 0.0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0; + var $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0; + var $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0; + var $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0; + var $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0; + var $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond = 0, $exitcond458 = 0, $exitcond459 = 0, $exitcond460 = 0, $sext = 0, $sext412 = 0, $sqrtf = 0.0, $sqrtf411 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $3 = sp; + $4 = ((($0)) + 4|0); + $5 = HEAP32[$4>>2]|0; + $6 = (_stbtt__GetGlyfOffset($0,$1)|0); + HEAP32[$2>>2] = 0; + $7 = ($6|0)<(0); + if ($7) { + $$4 = 0; + STACKTOP = sp;return ($$4|0); + } + $8 = (($5) + ($6)|0); + $9 = (_ttSHORT($8)|0); + $10 = ($9<<16>>16)>(0); + L4: do { + if ($10) { + $11 = $9 << 16 >> 16; + $12 = ((($8)) + 10|0); + $13 = $11 << 1; + $14 = (($12) + ($13)|0); + $15 = (_ttUSHORT($14)|0); + $16 = ((($14)) + -2|0); + $17 = (_ttUSHORT($16)|0); + $18 = $17&65535; + $19 = $13 | 1; + $20 = (($19) + ($18))|0; + $21 = ($20*14)|0; + $22 = (_malloc($21)|0); + $23 = ($22|0)==(0|0); + if ($23) { + $$4 = 0; + STACKTOP = sp;return ($$4|0); + } + $24 = ((($14)) + 2|0); + $25 = $15&65535; + $26 = (($24) + ($25)|0); + $$0361449 = 0;$$0364448 = 0;$$0366447 = 0;$$0381446 = $26; + while(1) { + $27 = ($$0364448<<24>>24)==(0); + if ($27) { + $28 = ((($$0381446)) + 1|0); + $29 = HEAP8[$$0381446>>0]|0; + $30 = $29 & 8; + $31 = ($30<<24>>24)==(0); + if ($31) { + $$1362 = $29;$$1365 = 0;$$1382 = $28; + } else { + $32 = ((($$0381446)) + 2|0); + $33 = HEAP8[$28>>0]|0; + $$1362 = $29;$$1365 = $33;$$1382 = $32; + } + } else { + $34 = (($$0364448) + -1)<<24>>24; + $$1362 = $$0361449;$$1365 = $34;$$1382 = $$0381446; + } + $35 = (($$0366447) + ($13))|0; + $36 = (((($22) + (($35*14)|0)|0)) + 12|0); + HEAP8[$36>>0] = $$1362; + $37 = (($$0366447) + 1)|0; + $exitcond459 = ($$0366447|0)==($18|0); + if ($exitcond459) { + $$0405443 = 0;$$1367445 = 0;$$2383444 = $$1382; + break; + } else { + $$0361449 = $$1362;$$0364448 = $$1365;$$0366447 = $37;$$0381446 = $$1382; + } + } + while(1) { + $38 = (($$1367445) + ($13))|0; + $39 = (((($22) + (($38*14)|0)|0)) + 12|0); + $40 = HEAP8[$39>>0]|0; + $41 = $40&255; + $42 = $41 & 2; + $43 = ($42|0)==(0); + $44 = $41 & 16; + $45 = ($44|0)!=(0); + if ($43) { + if ($45) { + $$1406 = $$0405443;$$3384 = $$2383444; + } else { + $52 = HEAP8[$$2383444>>0]|0; + $53 = $52&255; + $54 = $53 << 8; + $55 = ((($$2383444)) + 1|0); + $56 = HEAP8[$55>>0]|0; + $57 = $56&255; + $58 = $54 | $57; + $sext412 = $58 << 16; + $59 = $sext412 >> 16; + $60 = (($59) + ($$0405443))|0; + $61 = ((($$2383444)) + 2|0); + $$1406 = $60;$$3384 = $61; + } + } else { + $46 = ((($$2383444)) + 1|0); + $47 = HEAP8[$$2383444>>0]|0; + $48 = $47&255; + $49 = (0 - ($48))|0; + $50 = $45 ? $48 : $49; + $51 = (($50) + ($$0405443))|0; + $$1406 = $51;$$3384 = $46; + } + $62 = $$1406&65535; + $63 = (($22) + (($38*14)|0)|0); + HEAP16[$63>>1] = $62; + $64 = (($$1367445) + 1)|0; + $exitcond458 = ($$1367445|0)==($18|0); + if ($exitcond458) { + $$0403440 = 0;$$2368442 = 0;$$4385441 = $$3384; + break; + } else { + $$0405443 = $$1406;$$1367445 = $64;$$2383444 = $$3384; + } + } + while(1) { + $65 = (($$2368442) + ($13))|0; + $66 = (((($22) + (($65*14)|0)|0)) + 12|0); + $67 = HEAP8[$66>>0]|0; + $68 = $67&255; + $69 = $68 & 4; + $70 = ($69|0)==(0); + $71 = $68 & 32; + $72 = ($71|0)!=(0); + if ($70) { + if ($72) { + $$1404 = $$0403440;$$5386 = $$4385441; + } else { + $79 = HEAP8[$$4385441>>0]|0; + $80 = $79&255; + $81 = $80 << 8; + $82 = ((($$4385441)) + 1|0); + $83 = HEAP8[$82>>0]|0; + $84 = $83&255; + $85 = $81 | $84; + $sext = $85 << 16; + $86 = $sext >> 16; + $87 = (($86) + ($$0403440))|0; + $88 = ((($$4385441)) + 2|0); + $$1404 = $87;$$5386 = $88; + } + } else { + $73 = ((($$4385441)) + 1|0); + $74 = HEAP8[$$4385441>>0]|0; + $75 = $74&255; + $76 = (0 - ($75))|0; + $77 = $72 ? $75 : $76; + $78 = (($77) + ($$0403440))|0; + $$1404 = $78;$$5386 = $73; + } + $89 = $$1404&65535; + $90 = (((($22) + (($65*14)|0)|0)) + 2|0); + HEAP16[$90>>1] = $89; + $91 = (($$2368442) + 1)|0; + $exitcond = ($$2368442|0)==($18|0); + if ($exitcond) { + $$0353439 = 0;$$0377437 = 0;$$0379436 = 0;$$0387435 = 0;$$0390434 = 0;$$0393433 = 0;$$0396432 = 0;$$0399431 = 0;$$0401430 = 0;$$0407429 = 0;$$0409428 = 0;$$3369438 = 0; + break; + } else { + $$0403440 = $$1404;$$2368442 = $91;$$4385441 = $$5386; + } + } + while(1) { + $92 = (($$3369438) + ($13))|0; + $93 = (((($22) + (($92*14)|0)|0)) + 12|0); + $94 = HEAP8[$93>>0]|0; + $95 = (($22) + (($92*14)|0)|0); + $96 = HEAP16[$95>>1]|0; + $97 = $96 << 16 >> 16; + $98 = (((($22) + (($92*14)|0)|0)) + 2|0); + $99 = HEAP16[$98>>1]|0; + $100 = $99 << 16 >> 16; + $101 = ($$0379436|0)==($$3369438|0); + $102 = $94 & 1; + $103 = ($102<<24>>24)!=(0); + do { + if ($101) { + $104 = ($$3369438|0)==(0); + if ($104) { + $$1354 = $$0353439; + } else { + $105 = (_stbtt__close_shape($22,$$0353439,$$0409428,$$0407429,$$0396432,$$0393433,$$0390434,$$0387435,$$0401430,$$0399431)|0); + $$1354 = $105; + } + $106 = $103 ^ 1; + $107 = $106&1; + do { + if ($103) { + $$1388 = $$0387435;$$1391 = $$0390434;$$1394 = $100;$$1397 = $97;$$4370 = $$3369438; + } else { + $108 = (($92) + 1)|0; + $109 = (((($22) + (($108*14)|0)|0)) + 12|0); + $110 = HEAP8[$109>>0]|0; + $111 = $110 & 1; + $112 = ($111<<24>>24)==(0); + $113 = (((($22) + (($108*14)|0)|0)) + 2|0); + $114 = HEAP16[$113>>1]|0; + $115 = (($22) + (($108*14)|0)|0); + $116 = HEAP16[$115>>1]|0; + $117 = $114 << 16 >> 16; + $118 = $116 << 16 >> 16; + if ($112) { + $119 = (($118) + ($97))|0; + $120 = $119 >> 1; + $121 = (($117) + ($100))|0; + $122 = $121 >> 1; + $$1388 = $100;$$1391 = $97;$$1394 = $122;$$1397 = $120;$$4370 = $$3369438; + break; + } else { + $123 = (($$3369438) + 1)|0; + $$1388 = $100;$$1391 = $97;$$1394 = $117;$$1397 = $118;$$4370 = $123; + break; + } + } + } while(0); + $124 = (($$1354) + 1)|0; + $125 = (($22) + (($$1354*14)|0)|0); + _stbtt_setvertex($125,1,$$1397,$$1394,0,0); + $126 = $$0377437 << 1; + $127 = (($12) + ($126)|0); + $128 = (_ttUSHORT($127)|0); + $129 = $128&65535; + $130 = (($129) + 1)|0; + $131 = (($$0377437) + 1)|0; + $$1378 = $131;$$1380 = $130;$$1400 = $$0399431;$$1402 = $$0401430;$$1408 = $107;$$1410 = 0;$$2389 = $$1388;$$2392 = $$1391;$$2395 = $$1394;$$2398 = $$1397;$$3356 = $124;$$5371 = $$4370; + } else { + $132 = ($$0409428|0)!=(0); + $133 = (($$0353439) + 1)|0; + $134 = (($22) + (($$0353439*14)|0)|0); + if (!($103)) { + if (!($132)) { + $$1378 = $$0377437;$$1380 = $$0379436;$$1400 = $100;$$1402 = $97;$$1408 = $$0407429;$$1410 = 1;$$2389 = $$0387435;$$2392 = $$0390434;$$2395 = $$0393433;$$2398 = $$0396432;$$3356 = $$0353439;$$5371 = $$3369438; + break; + } + $135 = (($100) + ($$0399431))|0; + $136 = $135 >> 1; + $137 = (($97) + ($$0401430))|0; + $138 = $137 >> 1; + _stbtt_setvertex($134,3,$138,$136,$$0401430,$$0399431); + $$1378 = $$0377437;$$1380 = $$0379436;$$1400 = $100;$$1402 = $97;$$1408 = $$0407429;$$1410 = 1;$$2389 = $$0387435;$$2392 = $$0390434;$$2395 = $$0393433;$$2398 = $$0396432;$$3356 = $133;$$5371 = $$3369438; + break; + } + if ($132) { + _stbtt_setvertex($134,3,$97,$100,$$0401430,$$0399431); + $$1378 = $$0377437;$$1380 = $$0379436;$$1400 = $$0399431;$$1402 = $$0401430;$$1408 = $$0407429;$$1410 = 0;$$2389 = $$0387435;$$2392 = $$0390434;$$2395 = $$0393433;$$2398 = $$0396432;$$3356 = $133;$$5371 = $$3369438; + break; + } else { + _stbtt_setvertex($134,2,$97,$100,0,0); + $$1378 = $$0377437;$$1380 = $$0379436;$$1400 = $$0399431;$$1402 = $$0401430;$$1408 = $$0407429;$$1410 = 0;$$2389 = $$0387435;$$2392 = $$0390434;$$2395 = $$0393433;$$2398 = $$0396432;$$3356 = $133;$$5371 = $$3369438; + break; + } + } + } while(0); + $139 = (($$5371) + 1)|0; + $140 = ($$5371|0)<($18|0); + if ($140) { + $$0353439 = $$3356;$$0377437 = $$1378;$$0379436 = $$1380;$$0387435 = $$2389;$$0390434 = $$2392;$$0393433 = $$2395;$$0396432 = $$2398;$$0399431 = $$1400;$$0401430 = $$1402;$$0407429 = $$1408;$$0409428 = $$1410;$$3369438 = $139; + } else { + break; + } + } + $141 = (_stbtt__close_shape($22,$$3356,$$1410,$$1408,$$2398,$$2395,$$2392,$$2389,$$1402,$$1400)|0); + $$4352 = $22;$$9 = $141; + } else { + $142 = ($9<<16>>16)==(-1); + if (!($142)) { + $264 = ($9<<16>>16)<(0); + if (!($264)) { + $$4352 = 0;$$9 = 0; + break; + } + ___assert_fail((18878|0),(16834|0),1724,(17611|0)); + // unreachable; + } + $143 = ((($8)) + 10|0); + $$0348453 = 0;$$0372451 = $143;$$5452 = 0;$250 = 0;$255 = 0;$260 = 0; + while(1) { + HEAP32[$3>>2] = 0; + $144 = (_ttSHORT($$0372451)|0); + $145 = ((($$0372451)) + 2|0); + $146 = (_ttSHORT($145)|0); + $147 = ((($$0372451)) + 4|0); + $148 = $144&65535; + $149 = $148 & 2; + $150 = ($149|0)==(0); + if ($150) { + label = 42; + break; + } + $151 = $148 & 1; + $152 = ($151|0)==(0); + if ($152) { + $158 = HEAP8[$147>>0]|0; + $159 = (+($158<<24>>24)); + $160 = ((($$0372451)) + 5|0); + $161 = HEAP8[$160>>0]|0; + $162 = (+($161<<24>>24)); + $$sink = 6;$$sroa$31$0 = $159;$$sroa$35$0 = $162; + } else { + $153 = (_ttSHORT($147)|0); + $154 = (+($153<<16>>16)); + $155 = ((($$0372451)) + 6|0); + $156 = (_ttSHORT($155)|0); + $157 = (+($156<<16>>16)); + $$sink = 8;$$sroa$31$0 = $154;$$sroa$35$0 = $157; + } + $163 = (($$0372451) + ($$sink)|0); + $164 = $148 & 8; + $165 = ($164|0)==(0); + do { + if ($165) { + $170 = $148 & 64; + $171 = ($170|0)==(0); + if (!($171)) { + $172 = (_ttSHORT($163)|0); + $173 = (+($172<<16>>16)); + $174 = $173 * 6.103515625E-5; + $175 = ((($163)) + 2|0); + $176 = (_ttSHORT($175)|0); + $177 = (+($176<<16>>16)); + $178 = $177 * 6.103515625E-5; + $179 = ((($163)) + 4|0); + $$2374 = $179;$$sroa$0$0 = $174;$$sroa$10$0 = 0.0;$$sroa$17$0 = 0.0;$$sroa$24$0 = $178; + break; + } + $180 = $148 & 128; + $181 = ($180|0)==(0); + if ($181) { + $$2374 = $163;$$sroa$0$0 = 1.0;$$sroa$10$0 = 0.0;$$sroa$17$0 = 0.0;$$sroa$24$0 = 1.0; + } else { + $182 = (_ttSHORT($163)|0); + $183 = (+($182<<16>>16)); + $184 = $183 * 6.103515625E-5; + $185 = ((($163)) + 2|0); + $186 = (_ttSHORT($185)|0); + $187 = (+($186<<16>>16)); + $188 = $187 * 6.103515625E-5; + $189 = ((($163)) + 4|0); + $190 = (_ttSHORT($189)|0); + $191 = (+($190<<16>>16)); + $192 = $191 * 6.103515625E-5; + $193 = ((($163)) + 6|0); + $194 = (_ttSHORT($193)|0); + $195 = (+($194<<16>>16)); + $196 = $195 * 6.103515625E-5; + $197 = ((($163)) + 8|0); + $$2374 = $197;$$sroa$0$0 = $184;$$sroa$10$0 = $188;$$sroa$17$0 = $192;$$sroa$24$0 = $196; + } + } else { + $166 = (_ttSHORT($163)|0); + $167 = (+($166<<16>>16)); + $168 = $167 * 6.103515625E-5; + $169 = ((($163)) + 2|0); + $$2374 = $169;$$sroa$0$0 = $168;$$sroa$10$0 = 0.0;$$sroa$17$0 = 0.0;$$sroa$24$0 = $168; + } + } while(0); + $198 = $$sroa$0$0 * $$sroa$0$0; + $199 = $$sroa$10$0 * $$sroa$10$0; + $200 = $199 + $198; + $sqrtf = (+Math_sqrt((+$200))); + $201 = $$sroa$17$0 * $$sroa$17$0; + $202 = $$sroa$24$0 * $$sroa$24$0; + $203 = $202 + $201; + $sqrtf411 = (+Math_sqrt((+$203))); + $204 = $146&65535; + $205 = (_stbtt_GetGlyphShape($0,$204,$3)|0); + $206 = ($205|0)>(0); + if ($206) { + $207 = HEAP32[$3>>2]|0; + $$0363450 = 0; + while(1) { + $208 = (($207) + (($$0363450*14)|0)|0); + $209 = HEAP16[$208>>1]|0; + $210 = (((($207) + (($$0363450*14)|0)|0)) + 2|0); + $211 = HEAP16[$210>>1]|0; + $212 = (+($209<<16>>16)); + $213 = $$sroa$0$0 * $212; + $214 = (+($211<<16>>16)); + $215 = $$sroa$17$0 * $214; + $216 = $213 + $215; + $217 = $$sroa$31$0 + $216; + $218 = $sqrtf * $217; + $219 = (~~(($218))); + HEAP16[$208>>1] = $219; + $220 = $$sroa$10$0 * $212; + $221 = $$sroa$24$0 * $214; + $222 = $220 + $221; + $223 = $$sroa$35$0 + $222; + $224 = $sqrtf411 * $223; + $225 = (~~(($224))); + HEAP16[$210>>1] = $225; + $226 = (((($207) + (($$0363450*14)|0)|0)) + 4|0); + $227 = HEAP16[$226>>1]|0; + $228 = (((($207) + (($$0363450*14)|0)|0)) + 6|0); + $229 = HEAP16[$228>>1]|0; + $230 = (+($227<<16>>16)); + $231 = $$sroa$0$0 * $230; + $232 = (+($229<<16>>16)); + $233 = $$sroa$17$0 * $232; + $234 = $231 + $233; + $235 = $$sroa$31$0 + $234; + $236 = $sqrtf * $235; + $237 = (~~(($236))); + HEAP16[$226>>1] = $237; + $238 = $$sroa$10$0 * $230; + $239 = $$sroa$24$0 * $232; + $240 = $238 + $239; + $241 = $$sroa$35$0 + $240; + $242 = $sqrtf411 * $241; + $243 = (~~(($242))); + HEAP16[$228>>1] = $243; + $244 = (($$0363450) + 1)|0; + $exitcond460 = ($244|0)==($205|0); + if ($exitcond460) { + break; + } else { + $$0363450 = $244; + } + } + $245 = (($205) + ($$5452))|0; + $246 = ($245*14)|0; + $247 = (_malloc($246)|0); + $248 = ($247|0)==(0|0); + if ($248) { + break; + } + $253 = ($$5452|0)>(0); + if ($253) { + $254 = ($$5452*14)|0; + _memcpy(($247|0),($255|0),($254|0))|0; + } + $256 = (($247) + (($$5452*14)|0)|0); + $257 = HEAP32[$3>>2]|0; + $258 = ($205*14)|0; + _memcpy(($256|0),($257|0),($258|0))|0; + $259 = ($$0348453|0)==(0|0); + if (!($259)) { + _free($260); + } + $261 = HEAP32[$3>>2]|0; + _free($261); + $$1349 = $247;$$6 = $245;$265 = $247;$266 = $247;$267 = $247; + } else { + $$1349 = $$0348453;$$6 = $$5452;$265 = $250;$266 = $260;$267 = $255; + } + $262 = $148 & 32; + $263 = ($262|0)==(0); + if ($263) { + $$4352 = $$1349;$$9 = $$6; + break L4; + } else { + $$0348453 = $$1349;$$0372451 = $$2374;$$5452 = $$6;$250 = $265;$255 = $267;$260 = $266; + } + } + if ((label|0) == 42) { + ___assert_fail((18878|0),(16834|0),1671,(17611|0)); + // unreachable; + } + $249 = ($$0348453|0)==(0|0); + if (!($249)) { + _free($250); + } + $251 = HEAP32[$3>>2]|0; + $252 = ($251|0)==(0|0); + if (!($252)) { + _free($251); + } + $$4 = 0; + STACKTOP = sp;return ($$4|0); + } + } while(0); + HEAP32[$2>>2] = $$4352; + $$4 = $$9; + STACKTOP = sp;return ($$4|0); +} +function _stbtt__GetGlyphShapeT2($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0; + var stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0); + $3 = sp + 48|0; + $4 = sp; + $5 = ((($3)) + 4|0); + dest=$5; stop=dest+44|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + HEAP32[$3>>2] = 1; + dest=$4; stop=dest+48|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + $6 = (_stbtt__run_charstring($0,$1,$3)|0); + $7 = ($6|0)==(0); + if (!($7)) { + $8 = ((($3)) + 44|0); + $9 = HEAP32[$8>>2]|0; + $10 = ($9*14)|0; + $11 = (_malloc($10)|0); + HEAP32[$2>>2] = $11; + $12 = ((($4)) + 40|0); + HEAP32[$12>>2] = $11; + $13 = (_stbtt__run_charstring($0,$1,$4)|0); + $14 = ($13|0)==(0); + if (!($14)) { + $15 = ((($4)) + 44|0); + $16 = HEAP32[$15>>2]|0; + $17 = HEAP32[$8>>2]|0; + $18 = ($16|0)==($17|0); + if ($18) { + $$0 = $16; + STACKTOP = sp;return ($$0|0); + } else { + ___assert_fail((17538|0),(16834|0),2114,(17588|0)); + // unreachable; + } + } + } + HEAP32[$2>>2] = 0; + $$0 = 0; + STACKTOP = sp;return ($$0|0); +} +function _stbtt__close_shape($0,$1,$2,$3,$4,$5,$6,$7,$8,$9) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + $6 = $6|0; + $7 = $7|0; + $8 = $8|0; + $9 = $9|0; + var $$0 = 0, $$1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, label = 0, sp = 0; + sp = STACKTOP; + $10 = ($3|0)==(0); + $11 = ($2|0)!=(0); + $12 = (($1) + 1)|0; + $13 = (($0) + (($1*14)|0)|0); + if (!($10)) { + if ($11) { + $14 = (($9) + ($7))|0; + $15 = $14 >> 1; + $16 = (($8) + ($6))|0; + $17 = $16 >> 1; + _stbtt_setvertex($13,3,$17,$15,$8,$9); + $$0 = $12; + } else { + $$0 = $1; + } + $18 = (($$0) + 1)|0; + $19 = (($0) + (($$0*14)|0)|0); + _stbtt_setvertex($19,3,$4,$5,$6,$7); + $$1 = $18; + return ($$1|0); + } + if ($11) { + _stbtt_setvertex($13,3,$4,$5,$8,$9); + $$1 = $12; + return ($$1|0); + } else { + _stbtt_setvertex($13,2,$4,$5,0,0); + $$1 = $12; + return ($$1|0); + } + return (0)|0; +} +function _stbtt_InitFont_internal($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0902 = 0, $$1 = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $$pr = 0, $$sink = 0, $10 = 0, $100 = 0, $101 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0; + var $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0; + var $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0; + var $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0; + var $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0; + var $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 192|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(192|0); + $$byval_copy2 = sp + 172|0; + $$byval_copy1 = sp + 160|0; + $2 = sp + 148|0; + $3 = sp + 136|0; + $4 = sp + 124|0; + $5 = sp + 112|0; + $6 = sp + 108|0; + $7 = sp + 104|0; + $8 = sp + 100|0; + $9 = sp + 96|0; + $10 = sp + 84|0; + $11 = sp + 72|0; + $12 = sp + 60|0; + $13 = sp + 48|0; + $14 = sp + 36|0; + $15 = sp + 24|0; + $16 = sp + 12|0; + $17 = sp; + $18 = ((($0)) + 4|0); + HEAP32[$18>>2] = $1; + $19 = ((($0)) + 8|0); + HEAP32[$19>>2] = 0; + $20 = ((($0)) + 48|0); + _stbtt__new_buf($2,0,0); + ;HEAP32[$20>>2]=HEAP32[$2>>2]|0;HEAP32[$20+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$20+8>>2]=HEAP32[$2+8>>2]|0; + $21 = (_stbtt__find_table($1,17711)|0); + $22 = (_stbtt__find_table($1,17716)|0); + $23 = ((($0)) + 16|0); + HEAP32[$23>>2] = $22; + $24 = (_stbtt__find_table($1,17721)|0); + $25 = ((($0)) + 20|0); + HEAP32[$25>>2] = $24; + $26 = (_stbtt__find_table($1,17726)|0); + $27 = ((($0)) + 24|0); + HEAP32[$27>>2] = $26; + $28 = (_stbtt__find_table($1,17731)|0); + $29 = ((($0)) + 28|0); + HEAP32[$29>>2] = $28; + $30 = (_stbtt__find_table($1,17736)|0); + $31 = ((($0)) + 32|0); + HEAP32[$31>>2] = $30; + $32 = (_stbtt__find_table($1,17741)|0); + $33 = ((($0)) + 36|0); + HEAP32[$33>>2] = $32; + $34 = ($21|0)==(0); + if ($34) { + $$1 = 0; + STACKTOP = sp;return ($$1|0); + } + $35 = HEAP32[$25>>2]|0; + $36 = ($35|0)==(0); + if ($36) { + $$1 = 0; + STACKTOP = sp;return ($$1|0); + } + $37 = HEAP32[$29>>2]|0; + $38 = ($37|0)==(0); + if ($38) { + $$1 = 0; + STACKTOP = sp;return ($$1|0); + } + $39 = HEAP32[$31>>2]|0; + $40 = ($39|0)==(0); + if ($40) { + $$1 = 0; + STACKTOP = sp;return ($$1|0); + } + $41 = HEAP32[$27>>2]|0; + $42 = ($41|0)==(0); + L13: do { + if ($42) { + HEAP32[$6>>2] = 2; + HEAP32[$7>>2] = 0; + HEAP32[$8>>2] = 0; + HEAP32[$9>>2] = 0; + $45 = (_stbtt__find_table($1,17746)|0); + $46 = ($45|0)==(0); + do { + if (!($46)) { + $47 = ((($0)) + 96|0); + _stbtt__new_buf($10,0,0); + ;HEAP32[$47>>2]=HEAP32[$10>>2]|0;HEAP32[$47+4>>2]=HEAP32[$10+4>>2]|0;HEAP32[$47+8>>2]=HEAP32[$10+8>>2]|0; + $48 = ((($0)) + 108|0); + _stbtt__new_buf($11,0,0); + ;HEAP32[$48>>2]=HEAP32[$11>>2]|0;HEAP32[$48+4>>2]=HEAP32[$11+4>>2]|0;HEAP32[$48+8>>2]=HEAP32[$11+8>>2]|0; + $49 = (($1) + ($45)|0); + _stbtt__new_buf($12,$49,536870912); + ;HEAP32[$20>>2]=HEAP32[$12>>2]|0;HEAP32[$20+4>>2]=HEAP32[$12+4>>2]|0;HEAP32[$20+8>>2]=HEAP32[$12+8>>2]|0; + ;HEAP32[$3>>2]=HEAP32[$12>>2]|0;HEAP32[$3+4>>2]=HEAP32[$12+4>>2]|0;HEAP32[$3+8>>2]=HEAP32[$12+8>>2]|0; + _stbtt__buf_skip($3,2); + $50 = (_stbtt__buf_get8($3)|0); + $51 = $50&255; + _stbtt__buf_seek($3,$51); + _stbtt__cff_get_index($$byval_copy2,$3); + _stbtt__cff_get_index($5,$3); + ;HEAP32[$$byval_copy2>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$$byval_copy2+8>>2]=HEAP32[$5+8>>2]|0; + _stbtt__cff_index_get($4,$$byval_copy2,0); + _stbtt__cff_get_index($$byval_copy2,$3); + $52 = ((($0)) + 72|0); + _stbtt__cff_get_index($13,$3); + ;HEAP32[$52>>2]=HEAP32[$13>>2]|0;HEAP32[$52+4>>2]=HEAP32[$13+4>>2]|0;HEAP32[$52+8>>2]=HEAP32[$13+8>>2]|0; + _stbtt__dict_get_ints($4,17,1,$7); + _stbtt__dict_get_ints($4,262,1,$6); + _stbtt__dict_get_ints($4,292,1,$8); + _stbtt__dict_get_ints($4,293,1,$9); + $53 = ((($0)) + 84|0); + ;HEAP32[$$byval_copy1>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$3+8>>2]|0; + ;HEAP32[$$byval_copy2>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$4+4>>2]|0;HEAP32[$$byval_copy2+8>>2]=HEAP32[$4+8>>2]|0; + _stbtt__get_subrs($14,$$byval_copy1,$$byval_copy2); + ;HEAP32[$53>>2]=HEAP32[$14>>2]|0;HEAP32[$53+4>>2]=HEAP32[$14+4>>2]|0;HEAP32[$53+8>>2]=HEAP32[$14+8>>2]|0; + $54 = HEAP32[$6>>2]|0; + $55 = ($54|0)!=(2); + $56 = HEAP32[$7>>2]|0; + $57 = ($56|0)==(0); + $or$cond = $55 | $57; + if (!($or$cond)) { + $58 = HEAP32[$8>>2]|0; + $59 = ($58|0)==(0); + if (!($59)) { + $60 = HEAP32[$9>>2]|0; + $61 = ($60|0)==(0); + if ($61) { + break; + } + _stbtt__buf_seek($3,$58); + _stbtt__cff_get_index($15,$3); + ;HEAP32[$47>>2]=HEAP32[$15>>2]|0;HEAP32[$47+4>>2]=HEAP32[$15+4>>2]|0;HEAP32[$47+8>>2]=HEAP32[$15+8>>2]|0; + $62 = HEAP32[$9>>2]|0; + $63 = ((($3)) + 8|0); + $64 = HEAP32[$63>>2]|0; + $65 = (($64) - ($62))|0; + _stbtt__buf_range($16,$3,$62,$65); + ;HEAP32[$48>>2]=HEAP32[$16>>2]|0;HEAP32[$48+4>>2]=HEAP32[$16+4>>2]|0;HEAP32[$48+8>>2]=HEAP32[$16+8>>2]|0; + } + $66 = HEAP32[$7>>2]|0; + _stbtt__buf_seek($3,$66); + $67 = ((($0)) + 60|0); + _stbtt__cff_get_index($17,$3); + ;HEAP32[$67>>2]=HEAP32[$17>>2]|0;HEAP32[$67+4>>2]=HEAP32[$17+4>>2]|0;HEAP32[$67+8>>2]=HEAP32[$17+8>>2]|0; + break L13; + } + } + } while(0); + $$1 = 0; + STACKTOP = sp;return ($$1|0); + } else { + $43 = HEAP32[$23>>2]|0; + $44 = ($43|0)==(0); + if ($44) { + $$1 = 0; + STACKTOP = sp;return ($$1|0); + } + } + } while(0); + $68 = (_stbtt__find_table($1,17751)|0); + $69 = ($68|0)==(0); + if ($69) { + $$sink = 65535; + } else { + $70 = (($1) + ($68)|0); + $71 = ((($70)) + 4|0); + $72 = (_ttUSHORT($71)|0); + $73 = $72&65535; + $$sink = $73; + } + $74 = ((($0)) + 12|0); + HEAP32[$74>>2] = $$sink; + $75 = (($1) + ($21)|0); + $76 = ((($75)) + 2|0); + $77 = (_ttUSHORT($76)|0); + $78 = $77&65535; + $79 = ((($0)) + 40|0); + HEAP32[$79>>2] = 0; + $80 = ($77<<16>>16)==(0); + if ($80) { + $$1 = 0; + STACKTOP = sp;return ($$1|0); + } + $81 = (($21) + 4)|0; + $$0902 = 0; + while(1) { + $82 = $$0902 << 3; + $83 = (($81) + ($82))|0; + $84 = (($1) + ($83)|0); + $85 = (_ttUSHORT($84)|0); + L35: do { + switch ($85<<16>>16) { + case 3: { + $86 = ((($84)) + 2|0); + $87 = (_ttUSHORT($86)|0); + switch ($87<<16>>16) { + case 10: case 1: { + break; + } + default: { + break L35; + } + } + $88 = ((($84)) + 4|0); + $89 = (_ttULONG($88)|0); + $90 = (($89) + ($21))|0; + HEAP32[$79>>2] = $90; + break; + } + case 0: { + $91 = ((($84)) + 4|0); + $92 = (_ttULONG($91)|0); + $93 = (($92) + ($21))|0; + HEAP32[$79>>2] = $93; + break; + } + default: { + } + } + } while(0); + $94 = (($$0902) + 1)|0; + $exitcond = ($94|0)==($78|0); + if ($exitcond) { + break; + } else { + $$0902 = $94; + } + } + $$pr = HEAP32[$79>>2]|0; + $95 = ($$pr|0)==(0); + if ($95) { + $$1 = 0; + STACKTOP = sp;return ($$1|0); + } + $96 = HEAP32[$25>>2]|0; + $97 = (($1) + ($96)|0); + $98 = ((($97)) + 50|0); + $99 = (_ttUSHORT($98)|0); + $100 = $99&65535; + $101 = ((($0)) + 44|0); + HEAP32[$101>>2] = $100; + $$1 = 1; + STACKTOP = sp;return ($$1|0); +} +function _stbtt__find_table($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0312 = 0, $$2 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; + var sp = 0; + sp = STACKTOP; + $2 = ((($0)) + 4|0); + $3 = (_ttUSHORT($2)|0); + $4 = $3&65535; + $5 = ($3<<16>>16)==(0); + if ($5) { + $$2 = 0; + return ($$2|0); + } + $6 = HEAP8[$1>>0]|0; + $7 = $6 << 24 >> 24; + $8 = ((($1)) + 1|0); + $9 = ((($1)) + 2|0); + $10 = ((($1)) + 3|0); + $$0312 = 0; + while(1) { + $11 = $$0312 << 4; + $12 = $11 | 12; + $13 = (($0) + ($12)|0); + $14 = HEAP8[$13>>0]|0; + $15 = $14&255; + $16 = ($15|0)==($7|0); + if ($16) { + $17 = ((($13)) + 1|0); + $18 = HEAP8[$17>>0]|0; + $19 = $18&255; + $20 = HEAP8[$8>>0]|0; + $21 = $20 << 24 >> 24; + $22 = ($19|0)==($21|0); + if ($22) { + $23 = ((($13)) + 2|0); + $24 = HEAP8[$23>>0]|0; + $25 = $24&255; + $26 = HEAP8[$9>>0]|0; + $27 = $26 << 24 >> 24; + $28 = ($25|0)==($27|0); + if ($28) { + $29 = ((($13)) + 3|0); + $30 = HEAP8[$29>>0]|0; + $31 = $30&255; + $32 = HEAP8[$10>>0]|0; + $33 = $32 << 24 >> 24; + $34 = ($31|0)==($33|0); + if ($34) { + break; } } } - $47 = (($i$04) + 1)|0; - $48 = ($47|0)<($35|0); - if ($48) { - $i$04 = $47; + } + $37 = (($$0312) + 1)|0; + $38 = ($37|0)<($4|0); + if ($38) { + $$0312 = $37; + } else { + $$2 = 0; + label = 9; + break; + } + } + if ((label|0) == 9) { + return ($$2|0); + } + $35 = ((($13)) + 8|0); + $36 = (_ttULONG($35)|0); + $$2 = $36; + return ($$2|0); +} +function _DrawText($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$ = 0, $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0.0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0); + $$byval_copy2 = sp + 112|0; + $$byval_copy1 = sp + 104|0; + $$byval_copy = sp + 72|0; + $5 = sp + 32|0; + $6 = sp + 64|0; + $7 = sp; + _GetDefaultFont($5); + $8 = HEAP32[$5>>2]|0; + $9 = ($8|0)==(0); + if ($9) { + STACKTOP = sp;return; + } + $10 = (+($1|0)); + HEAPF32[$6>>2] = $10; + $11 = ((($6)) + 4|0); + $12 = (+($2|0)); + HEAPF32[$11>>2] = $12; + $13 = ($3|0)>(10); + $$ = $13 ? $3 : 10; + $14 = (($$>>>0) / 10)&-1; + _GetDefaultFont($7); + $15 = (+($$|0)); + ;HEAP32[$$byval_copy>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$7+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$7+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$7+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$7+16>>2]|0;HEAP32[$$byval_copy+20>>2]=HEAP32[$7+20>>2]|0;HEAP32[$$byval_copy+24>>2]=HEAP32[$7+24>>2]|0;HEAP32[$$byval_copy+28>>2]=HEAP32[$7+28>>2]|0; + ;HEAP32[$$byval_copy1>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$6+4>>2]|0; + ;HEAP8[$$byval_copy2>>0]=HEAP8[$4>>0]|0;HEAP8[$$byval_copy2+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$$byval_copy2+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$$byval_copy2+3>>0]=HEAP8[$4+3>>0]|0; + _DrawTextEx($$byval_copy,$0,$$byval_copy1,$15,$14,$$byval_copy2); + STACKTOP = sp;return; +} +function _DrawTextEx($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = +$3; + $4 = $4|0; + $5 = $5|0; + var $$04954 = 0, $$05153 = 0, $$055 = 0, $$1 = 0, $$150 = 0, $$152 = 0, $$2 = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $$byval_copy3 = 0, $$byval_copy4 = 0, $$byval_copy5 = 0, $$sink = 0, $10 = 0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0.0, $16 = 0; + var $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0.0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0.0, $28 = 0.0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0; + var $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0.0, $45 = 0.0, $46 = 0, $47 = 0, $48 = 0.0, $49 = 0.0, $50 = 0.0, $51 = 0, $52 = 0.0, $53 = 0.0, $54 = 0.0, $55 = 0, $56 = 0; + var $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0.0, $64 = 0.0, $65 = 0, $66 = 0, $67 = 0, $68 = 0.0, $69 = 0.0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0; + var $75 = 0, $76 = 0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0, $80 = 0, $81 = 0, $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0); + $$byval_copy5 = sp + 88|0; + $$byval_copy4 = sp + 80|0; + $$byval_copy3 = sp + 64|0; + $$byval_copy2 = sp + 48|0; + $$byval_copy1 = sp + 24|0; + $6 = sp + 8|0; + $7 = sp; + $8 = (_strlen($1)|0); + $9 = ((($0)) + 20|0); + $10 = HEAP32[$9>>2]|0; + $11 = (+($10|0)); + $12 = $3 / $11; + $13 = ($8|0)>(0); + if (!($13)) { + STACKTOP = sp;return; + } + $14 = ((($0)) + 28|0); + $15 = +HEAPF32[$2>>2]; + $16 = ((($6)) + 4|0); + $17 = ((($2)) + 4|0); + $18 = ((($6)) + 8|0); + $19 = ((($6)) + 12|0); + $20 = ((($7)) + 4|0); + $21 = (+($4|0)); + $$04954 = 0;$$05153 = 0;$$055 = 0; + while(1) { + $22 = (($1) + ($$055)|0); + $23 = HEAP8[$22>>0]|0; + switch ($23<<24>>24) { + case 10: { + $24 = HEAP32[$9>>2]|0; + $25 = (($24|0) / 2)&-1; + $26 = (($25) + ($24))|0; + $27 = (+($26|0)); + $28 = $12 * $27; + $29 = (~~(($28))); + $30 = (($29) + ($$05153))|0; + $$150 = 0;$$152 = $30;$$2 = $$055; + break; + } + case -62: { + $31 = (($$055) + 1)|0; + $32 = (($1) + ($31)|0); + $33 = HEAP8[$32>>0]|0; + $34 = $33&255; + $$1 = $31;$$sink = $34; + label = 9; + break; + } + case -61: { + $35 = (($$055) + 1)|0; + $36 = (($1) + ($35)|0); + $37 = HEAP8[$36>>0]|0; + $38 = $37&255; + $39 = (($38) + 64)|0; + $$1 = $35;$$sink = $39; + label = 9; + break; + } + default: { + $40 = $23 << 24 >> 24; + $$1 = $$055;$$sink = $40; + label = 9; + } + } + do { + if ((label|0) == 9) { + label = 0; + ;HEAP32[$$byval_copy5>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy5+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy5+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy5+16>>2]=HEAP32[$0+16>>2]|0;HEAP32[$$byval_copy5+20>>2]=HEAP32[$0+20>>2]|0;HEAP32[$$byval_copy5+24>>2]=HEAP32[$0+24>>2]|0;HEAP32[$$byval_copy5+28>>2]=HEAP32[$0+28>>2]|0; + $41 = (_GetCharIndex($$byval_copy5,$$sink)|0); + $42 = HEAP32[$14>>2]|0; + $43 = (((($42) + ($41<<5)|0)) + 4|0); + $44 = (+($$04954|0)); + $45 = $44 + $15; + $46 = (((($42) + ($41<<5)|0)) + 20|0); + $47 = HEAP32[$46>>2]|0; + $48 = (+($47|0)); + $49 = $12 * $48; + $50 = $45 + $49; + $51 = (~~(($50))); + HEAP32[$6>>2] = $51; + $52 = +HEAPF32[$17>>2]; + $53 = (+($$05153|0)); + $54 = $53 + $52; + $55 = (((($42) + ($41<<5)|0)) + 24|0); + $56 = HEAP32[$55>>2]|0; + $57 = (+($56|0)); + $58 = $12 * $57; + $59 = $54 + $58; + $60 = (~~(($59))); + HEAP32[$16>>2] = $60; + $61 = (((($42) + ($41<<5)|0)) + 12|0); + $62 = HEAP32[$61>>2]|0; + $63 = (+($62|0)); + $64 = $12 * $63; + $65 = (~~(($64))); + HEAP32[$18>>2] = $65; + $66 = (((($42) + ($41<<5)|0)) + 16|0); + $67 = HEAP32[$66>>2]|0; + $68 = (+($67|0)); + $69 = $12 * $68; + $70 = (~~(($69))); + HEAP32[$19>>2] = $70; + HEAPF32[$7>>2] = 0.0; + HEAPF32[$20>>2] = 0.0; + ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; + ;HEAP32[$$byval_copy2>>2]=HEAP32[$43>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$43+4>>2]|0;HEAP32[$$byval_copy2+8>>2]=HEAP32[$43+8>>2]|0;HEAP32[$$byval_copy2+12>>2]=HEAP32[$43+12>>2]|0; + ;HEAP32[$$byval_copy3>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$6+4>>2]|0;HEAP32[$$byval_copy3+8>>2]=HEAP32[$6+8>>2]|0;HEAP32[$$byval_copy3+12>>2]=HEAP32[$6+12>>2]|0; + ;HEAP32[$$byval_copy4>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$7+4>>2]|0; + ;HEAP8[$$byval_copy5>>0]=HEAP8[$5>>0]|0;HEAP8[$$byval_copy5+1>>0]=HEAP8[$5+1>>0]|0;HEAP8[$$byval_copy5+2>>0]=HEAP8[$5+2>>0]|0;HEAP8[$$byval_copy5+3>>0]=HEAP8[$5+3>>0]|0; + _DrawTexturePro($$byval_copy1,$$byval_copy2,$$byval_copy3,$$byval_copy4,0.0,$$byval_copy5); + $71 = HEAP32[$14>>2]|0; + $72 = (((($71) + ($41<<5)|0)) + 28|0); + $73 = HEAP32[$72>>2]|0; + $74 = ($73|0)==(0); + if ($74) { + $75 = (((($71) + ($41<<5)|0)) + 12|0); + $76 = HEAP32[$75>>2]|0; + $77 = (+($76|0)); + $78 = $12 * $77; + $79 = $21 + $78; + $80 = (~~(($79))); + $81 = (($80) + ($$04954))|0; + $$150 = $81;$$152 = $$05153;$$2 = $$1; + break; + } else { + $82 = (+($73|0)); + $83 = $12 * $82; + $84 = $21 + $83; + $85 = (~~(($84))); + $86 = (($85) + ($$04954))|0; + $$150 = $86;$$152 = $$05153;$$2 = $$1; + break; + } + } + } while(0); + $87 = (($$2) + 1)|0; + $88 = ($87|0)<($8|0); + if ($88) { + $$04954 = $$150;$$05153 = $$152;$$055 = $87; + } else { + break; + } + } + STACKTOP = sp;return; +} +function _jar_xm_generate_samples_16bit($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$015 = 0, $10 = 0.0, $11 = 0, $12 = 0, $13 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0.0, $exitcond = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = $2 << 1; + $4 = $2 << 3; + $5 = (_malloc($4)|0); + _jar_xm_generate_samples($0,$5,$2); + $6 = ($1|0)!=(0|0); + $7 = ($3|0)!=(0); + $or$cond = $6 & $7; + if ($or$cond) { + $$015 = 0; + } else { + _free($5); + return; + } + while(1) { + $8 = (($5) + ($$015<<2)|0); + $9 = +HEAPF32[$8>>2]; + $10 = $9 * 32767.0; + $11 = (~~(($10))); + $12 = (($1) + ($$015<<1)|0); + HEAP16[$12>>1] = $11; + $13 = (($$015) + 1)|0; + $exitcond = ($13|0)==($3|0); + if ($exitcond) { + break; + } else { + $$015 = $13; + } + } + _free($5); + return; +} +function _jar_xm_generate_samples($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$013 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; + var $8 = 0, $9 = 0, $exitcond = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ($0|0)!=(0|0); + $4 = ($1|0)!=(0|0); + $or$cond = $3 & $4; + if (!($or$cond)) { + return; + } + $5 = ((($0)) + 360|0); + $6 = $5; + $7 = $6; + $8 = HEAP32[$7>>2]|0; + $9 = (($6) + 4)|0; + $10 = $9; + $11 = HEAP32[$10>>2]|0; + $12 = (_i64Add(($8|0),($11|0),($2|0),0)|0); + $13 = tempRet0; + $14 = $5; + $15 = $14; + HEAP32[$15>>2] = $12; + $16 = (($14) + 4)|0; + $17 = $16; + HEAP32[$17>>2] = $13; + $18 = ($2|0)==(0); + if ($18) { + return; + } else { + $$013 = 0; + } + while(1) { + $19 = $$013 << 1; + $20 = (($1) + ($19<<2)|0); + $21 = $19 | 1; + $22 = (($1) + ($21<<2)|0); + _jar_xm_sample($0,$20,$22); + $23 = (($$013) + 1)|0; + $exitcond = ($23|0)==($2|0); + if ($exitcond) { + break; + } else { + $$013 = $23; + } + } + return; +} +function _jar_xm_sample($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$072 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0.0, $24 = 0, $25 = 0.0, $26 = 0.0, $27 = 0.0, $28 = 0.0; + var $29 = 0.0, $3 = 0, $30 = 0.0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0.0, $40 = 0, $41 = 0.0, $42 = 0, $43 = 0.0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0.0, $53 = 0.0, $54 = 0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0.0, $60 = 0.0, $61 = 0.0, $62 = 0.0, $63 = 0.0, $64 = 0.0; + var $65 = 0.0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0.0, $70 = 0.0, $71 = 0, $72 = 0.0, $73 = 0, $74 = 0.0, $75 = 0.0, $76 = 0, $77 = 0, $78 = 0.0, $79 = 0.0, $8 = 0, $80 = 0, $81 = 0, $82 = 0.0; + var $83 = 0, $84 = 0.0, $85 = 0, $86 = 0.0, $87 = 0.0, $88 = 0, $89 = 0, $9 = 0, $90 = 0.0, $91 = 0.0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ((($0)) + 352|0); + $4 = +HEAPF32[$3>>2]; + $5 = !($4 <= 0.0); + if (!($5)) { + _jar_xm_tick($0); + } + $6 = +HEAPF32[$3>>2]; + $7 = $6 + -1.0; + HEAPF32[$3>>2] = $7; + HEAPF32[$1>>2] = 0.0; + HEAPF32[$2>>2] = 0.0; + $8 = ((($0)) + 385|0); + $9 = HEAP8[$8>>0]|0; + $10 = ($9<<24>>24)==(0); + if (!($10)) { + $11 = ((($0)) + 384|0); + $12 = HEAP8[$11>>0]|0; + $13 = ($12&255)<($9&255); + if (!($13)) { + return; + } + } + $14 = ((($0)) + 50|0); + $15 = HEAP16[$14>>1]|0; + $16 = ($15<<16>>16)==(0); + if (!($16)) { + $17 = ((($0)) + 388|0); + $18 = ((($0)) + 340|0); + $19 = ((($0)) + 344|0); + $20 = ((($0)) + 344|0); + $21 = ((($0)) + 340|0); + $$072 = 0;$33 = 0; + while(1) { + $31 = HEAP32[$17>>2]|0; + $32 = (($31) + (($33*304)|0)|0); + $34 = (((($31) + (($33*304)|0)|0)) + 8|0); + $35 = HEAP32[$34>>2]|0; + $36 = ($35|0)==(0|0); + do { + if (!($36)) { + $37 = (((($31) + (($33*304)|0)|0)) + 12|0); + $38 = HEAP32[$37>>2]|0; + $39 = ($38|0)==(0|0); + if (!($39)) { + $40 = (((($31) + (($33*304)|0)|0)) + 20|0); + $41 = +HEAPF32[$40>>2]; + $42 = $41 < 0.0; + if (!($42)) { + $43 = (+_jar_xm_next_of_sample($32)); + $44 = (((($31) + (($33*304)|0)|0)) + 152|0); + $45 = HEAP32[$44>>2]|0; + $46 = ($45|0)==(0); + if ($46) { + $47 = HEAP32[$34>>2]|0; + $48 = ((($47)) + 272|0); + $49 = HEAP32[$48>>2]|0; + $50 = ($49|0)==(0); + if ($50) { + $51 = (((($31) + (($33*304)|0)|0)) + 300|0); + $52 = +HEAPF32[$51>>2]; + $53 = $43 * $52; + $54 = (((($31) + (($33*304)|0)|0)) + 296|0); + $55 = +HEAPF32[$54>>2]; + $56 = 1.0 - $55; + $57 = $53 * $56; + $58 = +HEAPF32[$1>>2]; + $59 = $58 + $57; + HEAPF32[$1>>2] = $59; + $60 = +HEAPF32[$51>>2]; + $61 = $43 * $60; + $62 = +HEAPF32[$54>>2]; + $63 = $61 * $62; + $64 = +HEAPF32[$2>>2]; + $65 = $64 + $63; + HEAPF32[$2>>2] = $65; + } + } + $66 = (((($31) + (($33*304)|0)|0)) + 164|0); + $67 = HEAP32[$66>>2]|0; + $68 = (($67) + 1)|0; + HEAP32[$66>>2] = $68; + $69 = (((($31) + (($33*304)|0)|0)) + 300|0); + $70 = +HEAPF32[$69>>2]; + $71 = (((($31) + (($33*304)|0)|0)) + 160|0); + $72 = +HEAPF32[$71>>2]; + $73 = $70 > $72; + if ($73) { + $74 = +HEAPF32[$18>>2]; + $75 = $70 - $74; + HEAPF32[$69>>2] = $75; + $76 = $75 < $72; + if ($76) { + HEAPF32[$69>>2] = $72; + } + } else { + $77 = $70 < $72; + if ($77) { + $78 = +HEAPF32[$21>>2]; + $79 = $70 + $78; + HEAPF32[$69>>2] = $79; + $80 = $79 > $72; + if ($80) { + HEAPF32[$69>>2] = $72; + } + } + } + $81 = (((($31) + (($33*304)|0)|0)) + 296|0); + $82 = +HEAPF32[$81>>2]; + $83 = (((($31) + (($33*304)|0)|0)) + 156|0); + $84 = +HEAPF32[$83>>2]; + $85 = $82 > $84; + if ($85) { + $86 = +HEAPF32[$19>>2]; + $87 = $82 - $86; + HEAPF32[$81>>2] = $87; + $88 = $87 < $84; + if (!($88)) { + break; + } + HEAPF32[$81>>2] = $84; + break; + } + $89 = $82 < $84; + if ($89) { + $90 = +HEAPF32[$20>>2]; + $91 = $82 + $90; + HEAPF32[$81>>2] = $91; + $92 = $91 > $84; + if ($92) { + HEAPF32[$81>>2] = $84; + } + } + } + } + } + } while(0); + $93 = (($$072) + 1)<<24>>24; + $94 = $93&255; + $95 = HEAP16[$14>>1]|0; + $96 = $95&65535; + $97 = ($94>>>0)<($96>>>0); + if ($97) { + $$072 = $93;$33 = $94; } else { break; } } } - $50 = ($49|0)==(0); - if ($50) { - $$0 = 0; - return ($$0|0); - } - $51 = ($len|0)<($right|0); - $len$right = $51 ? $len : $right; - $52 = (($len$right) - ($left))|0; - $53 = ((($f)) + 1432|0); - $54 = HEAP32[$53>>2]|0; - $55 = (($54) + ($52))|0; - HEAP32[$53>>2] = $55; - $$0 = $52; - return ($$0|0); -} -function _vorbis_init($p,$z) { - $p = $p|0; - $z = $z|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $3 = 0, $4 = 0, $5 = 0; - var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - _memset(($p|0),0,1528)|0; - $0 = ($z|0)==(0|0); - if (!($0)) { - $1 = ((($p)) + 96|0); - $2 = $z; - $3 = $2; - $4 = HEAP32[$3>>2]|0; - $5 = (($2) + 4)|0; - $6 = $5; - $7 = HEAP32[$6>>2]|0; - $8 = $1; - $9 = $8; - HEAP32[$9>>2] = $4; - $10 = (($8) + 4)|0; - $11 = $10; - HEAP32[$11>>2] = $7; - $12 = ((($p)) + 100|0); - $13 = HEAP32[$12>>2]|0; - $14 = (($13) + 3)|0; - $15 = $14 & -4; - HEAP32[$12>>2] = $15; - $16 = ((($p)) + 108|0); - HEAP32[$16>>2] = $15; - } - $17 = ((($p)) + 112|0); - HEAP32[$17>>2] = 0; - $18 = ((($p)) + 116|0); - HEAP32[$18>>2] = 0; - $19 = ((($p)) + 32|0); - HEAP32[$19>>2] = 0; - $20 = ((($p)) + 140|0); - HEAP32[$20>>2] = 0; - $21 = ((($p)) + 1436|0); - HEAP32[$21>>2] = -1; - $22 = ((($p)) + 28|0); - HEAP32[$22>>2] = 0; - $23 = ((($p)) + 20|0); - HEAP32[$23>>2] = 0; + $22 = ((($0)) + 332|0); + $23 = +HEAPF32[$22>>2]; + $24 = ((($0)) + 336|0); + $25 = +HEAPF32[$24>>2]; + $26 = $23 * $25; + $27 = +HEAPF32[$1>>2]; + $28 = $27 * $26; + HEAPF32[$1>>2] = $28; + $29 = +HEAPF32[$2>>2]; + $30 = $26 * $29; + HEAPF32[$2>>2] = $30; return; } -function _start_decoder($f) { - $f = $f|0; - var $$ = 0, $$10 = 0, $$4 = 0, $$lcssa = 0, $$lcssa268 = 0, $$lcssa276 = 0, $$lcssa277 = 0, $$lcssa279 = 0, $$lcssa280 = 0, $$lcssa38 = 0, $$lcssa39 = 0, $$lcssa50 = 0, $$lcssa52 = 0, $$longest_floorlist$0 = 0, $$longest_floorlist$0$lcssa = 0, $$max_class$0 = 0, $$max_class$0$lcssa = 0, $$max_part_read$0 = 0, $$max_part_read$0$lcssa = 0, $$off = 0; - var $$off7 = 0, $$pr = 0, $$pr15 = 0, $$pr213 = 0, $$pr214 = 0, $$sum = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0; +function _jar_xm_tick($0) { + $0 = $0|0; + var $$0 = 0.0, $$0195202 = 0, $$0196 = 0.0, $$1 = 0.0, $$not = 0, $$pr = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0; + var $111 = 0.0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0.0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0; + var $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0; + var $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0; + var $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0.0, $181 = 0, $182 = 0.0, $183 = 0.0; + var $184 = 0.0, $185 = 0, $186 = 0.0, $187 = 0.0, $188 = 0.0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0; + var $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0.0, $212 = 0, $213 = 0, $214 = 0.0, $215 = 0.0, $216 = 0, $217 = 0.0, $218 = 0.0, $219 = 0; + var $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0.0; + var $238 = 0, $239 = 0.0, $24 = 0, $240 = 0.0, $241 = 0.0, $242 = 0.0, $243 = 0.0, $244 = 0.0, $245 = 0.0, $246 = 0.0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0.0, $252 = 0, $253 = 0.0, $254 = 0.0, $255 = 0; + var $256 = 0, $257 = 0, $258 = 0.0, $259 = 0, $26 = 0, $260 = 0.0, $261 = 0.0, $262 = 0.0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0.0, $273 = 0; + var $274 = 0, $275 = 0.0, $276 = 0.0, $277 = 0.0, $278 = 0, $279 = 0.0, $28 = 0, $280 = 0.0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0; + var $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0; + var $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0; + var $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0; + var $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, $storemerge = 0.0, $storemerge198 = 0.0, $trunc = 0, $trunc$clear = 0, $trunc199 = 0, $trunc199$clear = 0, $trunc200 = 0, $trunc200$clear = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 350|0); + $2 = HEAP16[$1>>1]|0; + $3 = ($2<<16>>16)==(0); + if ($3) { + _jar_xm_row($0); + } + $4 = ((($0)) + 50|0); + $5 = HEAP16[$4>>1]|0; + $6 = ($5<<16>>16)==(0); + L4: do { + if (!($6)) { + $7 = ((($0)) + 388|0); + $8 = ((($0)) + 328|0); + $9 = ((($0)) + 332|0); + $$0195202 = 0;$23 = 0; + while(1) { + $21 = HEAP32[$7>>2]|0; + $22 = (($21) + (($23*304)|0)|0); + _jar_xm_envelopes($22); + _jar_xm_autovibrato($0,$22); + $24 = (((($21) + (($23*304)|0)|0)) + 76|0); + $25 = HEAP32[$24>>2]|0; + $26 = ($25|0)==(0); + do { + if (!($26)) { + $27 = (((($21) + (($23*304)|0)|0)) + 16|0); + $28 = HEAP32[$27>>2]|0; + $29 = ((($28)) + 3|0); + $30 = HEAP8[$29>>0]|0; + $31 = ($30<<24>>24)==(0); + if ($31) { + $32 = ((($28)) + 4|0); + $33 = HEAP8[$32>>0]|0; + $34 = ($33<<24>>24)==(0); + if (!($34)) { + break; + } + } + HEAP32[$24>>2] = 0; + $35 = (((($21) + (($23*304)|0)|0)) + 80|0); + HEAP8[$35>>0] = 0; + _jar_xm_update_frequency($0,$22); + } + } while(0); + $36 = (((($21) + (($23*304)|0)|0)) + 100|0); + $37 = HEAP32[$36>>2]|0; + $38 = ($37|0)==(0); + if (!($38)) { + $39 = (((($21) + (($23*304)|0)|0)) + 16|0); + $40 = HEAP32[$39>>2]|0; + $41 = ((($40)) + 3|0); + $42 = HEAP8[$41>>0]|0; + $43 = ($42<<24>>24)==(4); + if (!($43)) { + $44 = ((($40)) + 4|0); + $45 = HEAP8[$44>>0]|0; + $46 = ($45<<24>>24)==(6); + if (!($46)) { + $47 = ((($40)) + 2|0); + $48 = HEAP8[$47>>0]|0; + $49 = $48 & -16; + $50 = ($49<<24>>24)==(-80); + if (!($50)) { + $51 = (((($21) + (($23*304)|0)|0)) + 116|0); + HEAP32[$36>>2] = 0; + HEAPF32[$51>>2] = 0.0; + _jar_xm_update_frequency($0,$22); + } + } + } + } + $52 = (((($21) + (($23*304)|0)|0)) + 16|0); + $53 = HEAP32[$52>>2]|0; + $54 = ((($53)) + 2|0); + $55 = HEAP8[$54>>0]|0; + $56 = $55&255; + $trunc = ($55&255) >>> 4; + $trunc$clear = $trunc & 15; + switch ($trunc$clear<<24>>24) { + case 6: { + $57 = HEAP16[$1>>1]|0; + $58 = ($57<<16>>16)==(0); + if (!($58)) { + $59 = $56 & 15; + $60 = $59&255; + _jar_xm_volume_slide($22,$60); + } + break; + } + case 7: { + $61 = HEAP16[$1>>1]|0; + $62 = ($61<<16>>16)==(0); + if (!($62)) { + $63 = $56 << 4; + $64 = $63&255; + _jar_xm_volume_slide($22,$64); + } + break; + } + case 11: { + $65 = HEAP16[$1>>1]|0; + $66 = ($65<<16>>16)==(0); + if (!($66)) { + HEAP32[$36>>2] = 0; + $67 = (((($21) + (($23*304)|0)|0)) + 112|0); + $68 = HEAP8[$67>>0]|0; + $69 = (((($21) + (($23*304)|0)|0)) + 114|0); + $70 = HEAP16[$69>>1]|0; + $71 = (($70) + 1)<<16>>16; + HEAP16[$69>>1] = $71; + _jar_xm_vibrato($0,$22,$68,$70); + } + break; + } + case 13: { + $72 = HEAP16[$1>>1]|0; + $73 = ($72<<16>>16)==(0); + if (!($73)) { + $74 = $56 & 15; + $75 = $74&255; + _jar_xm_panning_slide($22,$75); + } + break; + } + case 14: { + $76 = HEAP16[$1>>1]|0; + $77 = ($76<<16>>16)==(0); + if (!($77)) { + $78 = $56 << 4; + $79 = $78&255; + _jar_xm_panning_slide($22,$79); + } + break; + } + case 15: { + $80 = HEAP16[$1>>1]|0; + $81 = ($80<<16>>16)==(0); + if (!($81)) { + _jar_xm_tone_portamento($0,$22); + } + break; + } + default: { + } + } + $82 = HEAP32[$52>>2]|0; + $83 = ((($82)) + 3|0); + $84 = HEAP8[$83>>0]|0; + L34: do { + switch ($84<<24>>24) { + case 0: { + $85 = ((($82)) + 4|0); + $86 = HEAP8[$85>>0]|0; + $87 = ($86<<24>>24)==(0); + if (!($87)) { + $88 = HEAP16[$8>>1]|0; + $89 = (($88&65535) % 3)&-1; + $90 = $89&65535; + $trunc200 = $89&255; + $trunc200$clear = $trunc200 & 3; + switch ($trunc200$clear<<24>>24) { + case 2: { + $91 = HEAP16[$1>>1]|0; + $92 = ($91<<16>>16)==(1); + if ($92) { + HEAP32[$24>>2] = 1; + $93 = ($86&255) >>> 4; + $94 = (((($21) + (($23*304)|0)|0)) + 80|0); + HEAP8[$94>>0] = $93; + _jar_xm_update_frequency($0,$22); + break L34; + } else { + $96 = $91; + label = 34; + } + break; + } + case 1: { + $$pr = HEAP16[$1>>1]|0; + $96 = $$pr; + label = 34; + break; + } + case 0: { + break; + } + default: { + break L34; + } + } + if ((label|0) == 34) { + label = 0; + $95 = ($96<<16>>16)==(0); + if ($95) { + HEAP32[$24>>2] = 0; + $97 = (((($21) + (($23*304)|0)|0)) + 80|0); + HEAP8[$97>>0] = 0; + _jar_xm_update_frequency($0,$22); + break L34; + } + } + $98 = HEAP32[$52>>2]|0; + $99 = ((($98)) + 4|0); + $100 = HEAP8[$99>>0]|0; + $101 = HEAP16[$1>>1]|0; + $102 = $101&65535; + $103 = (($102) - ($90))|0; + $104 = $103&65535; + _jar_xm_arpeggio($0,$22,$100,$104); + } + break; + } + case 1: { + $105 = HEAP16[$1>>1]|0; + $106 = ($105<<16>>16)==(0); + if (!($106)) { + $107 = (((($21) + (($23*304)|0)|0)) + 85|0); + $108 = HEAP8[$107>>0]|0; + $109 = $108&255; + $110 = (0 - ($109))|0; + $111 = (+($110|0)); + _jar_xm_pitch_slide($0,$22,$111); + } + break; + } + case 2: { + $112 = HEAP16[$1>>1]|0; + $113 = ($112<<16>>16)==(0); + if (!($113)) { + $114 = (((($21) + (($23*304)|0)|0)) + 86|0); + $115 = HEAP8[$114>>0]|0; + $116 = (+($115&255)); + _jar_xm_pitch_slide($0,$22,$116); + } + break; + } + case 3: { + $117 = HEAP16[$1>>1]|0; + $118 = ($117<<16>>16)==(0); + if (!($118)) { + _jar_xm_tone_portamento($0,$22); + } + break; + } + case 4: { + $119 = HEAP16[$1>>1]|0; + $120 = ($119<<16>>16)==(0); + if (!($120)) { + HEAP32[$36>>2] = 1; + $121 = (((($21) + (($23*304)|0)|0)) + 112|0); + $122 = HEAP8[$121>>0]|0; + $123 = (((($21) + (($23*304)|0)|0)) + 114|0); + $124 = HEAP16[$123>>1]|0; + $125 = (($124) + 1)<<16>>16; + HEAP16[$123>>1] = $125; + _jar_xm_vibrato($0,$22,$122,$124); + } + break; + } + case 5: { + $126 = HEAP16[$1>>1]|0; + $127 = ($126<<16>>16)==(0); + if (!($127)) { + $128 = (((($21) + (($23*304)|0)|0)) + 81|0); + _jar_xm_tone_portamento($0,$22); + $129 = HEAP8[$128>>0]|0; + _jar_xm_volume_slide($22,$129); + } + break; + } + case 6: { + $130 = HEAP16[$1>>1]|0; + $131 = ($130<<16>>16)==(0); + if (!($131)) { + HEAP32[$36>>2] = 1; + $132 = (((($21) + (($23*304)|0)|0)) + 112|0); + $133 = HEAP8[$132>>0]|0; + $134 = (((($21) + (($23*304)|0)|0)) + 114|0); + $135 = HEAP16[$134>>1]|0; + $136 = (($135) + 1)<<16>>16; + HEAP16[$134>>1] = $136; + _jar_xm_vibrato($0,$22,$133,$135); + $137 = (((($21) + (($23*304)|0)|0)) + 81|0); + $138 = HEAP8[$137>>0]|0; + _jar_xm_volume_slide($22,$138); + } + break; + } + case 7: { + $139 = HEAP16[$1>>1]|0; + $140 = ($139<<16>>16)==(0); + if (!($140)) { + $141 = (((($21) + (($23*304)|0)|0)) + 128|0); + $142 = HEAP8[$141>>0]|0; + $143 = (((($21) + (($23*304)|0)|0)) + 129|0); + $144 = HEAP8[$143>>0]|0; + $145 = (($144) + 1)<<24>>24; + HEAP8[$143>>0] = $145; + $146 = $144&255; + _jar_xm_tremolo($22,$142,$146); + } + break; + } + case 10: { + $147 = HEAP16[$1>>1]|0; + $148 = ($147<<16>>16)==(0); + if (!($148)) { + $149 = (((($21) + (($23*304)|0)|0)) + 81|0); + $150 = HEAP8[$149>>0]|0; + _jar_xm_volume_slide($22,$150); + } + break; + } + case 14: { + $151 = ((($82)) + 4|0); + $152 = HEAP8[$151>>0]|0; + $153 = $152&255; + $trunc199 = ($152&255) >>> 4; + $trunc199$clear = $trunc199 & 15; + switch ($trunc199$clear<<24>>24) { + case 9: { + $154 = HEAP16[$1>>1]|0; + $155 = $154&65535; + $156 = ($154<<16>>16)==(0); + if ($156) { + break L34; + } + $157 = $153 & 15; + $158 = ($157|0)==(0); + if ($158) { + break L34; + } + $159 = (($155>>>0) % ($157>>>0))&-1; + $160 = ($159|0)==(0); + if (!($160)) { + break L34; + } + _jar_xm_trigger_note($0,$22,0); + _jar_xm_envelopes($22); + break L34; + break; + } + case 12: { + $161 = $153 & 15; + $162 = HEAP16[$1>>1]|0; + $163 = $162&65535; + $164 = ($161|0)==($163|0); + if (!($164)) { + break L34; + } + _jar_xm_cut_note($22); + break L34; + break; + } + case 13: { + $165 = (((($21) + (($23*304)|0)|0)) + 97|0); + $166 = HEAP8[$165>>0]|0; + $167 = $166&255; + $168 = HEAP16[$1>>1]|0; + $169 = $168&65535; + $170 = ($167|0)==($169|0); + if (!($170)) { + break L34; + } + _jar_xm_handle_note_and_instrument($0,$22,$82); + _jar_xm_envelopes($22); + break L34; + break; + } + default: { + break L34; + } + } + break; + } + case 17: { + $171 = HEAP16[$1>>1]|0; + $172 = ($171<<16>>16)==(0); + if (!($172)) { + $173 = (((($21) + (($23*304)|0)|0)) + 83|0); + $174 = HEAP8[$173>>0]|0; + $175 = $174&255; + $176 = $175 & 240; + $177 = ($176|0)!=(0); + $$not = $177 ^ 1; + $178 = $175 & 15; + $179 = ($178|0)==(0); + $or$cond = $179 | $$not; + if ($or$cond) { + $180 = +HEAPF32[$9>>2]; + if ($177) { + $181 = $175 >>> 4; + $182 = (+($181|0)); + $183 = $182 * 0.015625; + $184 = $183 + $180; + $185 = $184 > 1.0; + $storemerge198 = $185 ? 1.0 : $184; + HEAPF32[$9>>2] = $storemerge198; + break L34; + } else { + $186 = (+($178|0)); + $187 = $186 * 0.015625; + $188 = $180 - $187; + $189 = $188 < 0.0; + $storemerge = $189 ? 0.0 : $188; + HEAPF32[$9>>2] = $storemerge; + break L34; + } + } + } + break; + } + case 20: { + $190 = HEAP16[$1>>1]|0; + $191 = $190&65535; + $192 = ((($82)) + 4|0); + $193 = HEAP8[$192>>0]|0; + $194 = $193&255; + $195 = ($191|0)==($194|0); + if ($195) { + _jar_xm_key_off($22); + } + break; + } + case 25: { + $196 = HEAP16[$1>>1]|0; + $197 = ($196<<16>>16)==(0); + if (!($197)) { + $198 = (((($21) + (($23*304)|0)|0)) + 84|0); + $199 = HEAP8[$198>>0]|0; + _jar_xm_panning_slide($22,$199); + } + break; + } + case 27: { + $200 = HEAP16[$1>>1]|0; + $201 = $200&65535; + $202 = ($200<<16>>16)==(0); + if (!($202)) { + $203 = (((($21) + (($23*304)|0)|0)) + 96|0); + $204 = HEAP8[$203>>0]|0; + $205 = $204&255; + $206 = $205 & 15; + $207 = ($206|0)==(0); + if (!($207)) { + $208 = (($201>>>0) % ($206>>>0))&-1; + $209 = ($208|0)==(0); + if ($209) { + $210 = (((($21) + (($23*304)|0)|0)) + 40|0); + $211 = +HEAPF32[$210>>2]; + $212 = $205 >>> 4; + $213 = (3664 + ($212<<2)|0); + $214 = +HEAPF32[$213>>2]; + $215 = $211 * $214; + $216 = (3728 + ($212<<2)|0); + $217 = +HEAPF32[$216>>2]; + $218 = $215 + $217; + $219 = $218 > 1.0; + if ($219) { + $$0196 = 1.0; + } else { + $220 = $218 < 0.0; + if ($220) { + $$0196 = 0.0; + } else { + $$0196 = $218; + } + } + _jar_xm_trigger_note($0,$22,0); + HEAPF32[$210>>2] = $$0196; + } + } + } + break; + } + case 29: { + $221 = HEAP16[$1>>1]|0; + $222 = ($221<<16>>16)==(0); + if (!($222)) { + $223 = $221&65535; + $224 = (($223) + -1)|0; + $225 = (((($21) + (($23*304)|0)|0)) + 136|0); + $226 = HEAP8[$225>>0]|0; + $227 = $226&255; + $228 = $227 >>> 4; + $229 = $227 & 15; + $230 = (($229) + 2)|0; + $231 = (($230) + ($228))|0; + $232 = (($224|0) % ($231|0))&-1; + $233 = ($232|0)>($228|0); + $234 = $233&1; + $235 = (((($21) + (($23*304)|0)|0)) + 140|0); + HEAP32[$235>>2] = $234; + } + break; + } + default: { + } + } + } while(0); + $236 = (((($21) + (($23*304)|0)|0)) + 44|0); + $237 = +HEAPF32[$236>>2]; + $238 = (((($21) + (($23*304)|0)|0)) + 64|0); + $239 = +HEAPF32[$238>>2]; + $240 = $239 + -0.5; + $241 = $237 + -0.5; + $242 = (+Math_abs((+$241))); + $243 = 0.5 - $242; + $244 = $240 * $243; + $245 = $244 * 2.0; + $246 = $237 + $245; + $247 = (((($21) + (($23*304)|0)|0)) + 140|0); + $248 = HEAP32[$247>>2]|0; + $249 = ($248|0)==(0); + if ($249) { + $250 = (((($21) + (($23*304)|0)|0)) + 40|0); + $251 = +HEAPF32[$250>>2]; + $252 = (((($21) + (($23*304)|0)|0)) + 132|0); + $253 = +HEAPF32[$252>>2]; + $254 = $251 + $253; + $255 = $254 > 1.0; + if ($255) { + $$0 = 1.0; + } else { + $256 = $254 < 0.0; + if ($256) { + $$0 = 0.0; + } else { + $$0 = $254; + } + } + $257 = (((($21) + (($23*304)|0)|0)) + 56|0); + $258 = +HEAPF32[$257>>2]; + $259 = (((($21) + (($23*304)|0)|0)) + 60|0); + $260 = +HEAPF32[$259>>2]; + $261 = $258 * $260; + $262 = $$0 * $261; + $$1 = $262; + } else { + $$1 = 0.0; + } + $263 = (((($21) + (($23*304)|0)|0)) + 156|0); + HEAPF32[$263>>2] = $246; + $264 = (((($21) + (($23*304)|0)|0)) + 160|0); + HEAPF32[$264>>2] = $$1; + $265 = (($$0195202) + 1)<<24>>24; + $266 = $265&255; + $267 = HEAP16[$4>>1]|0; + $268 = $267&65535; + $269 = ($266>>>0)<($268>>>0); + if ($269) { + $$0195202 = $265;$23 = $266; + } else { + break L4; + } + } + } + } while(0); + $10 = HEAP16[$1>>1]|0; + $11 = (($10) + 1)<<16>>16; + HEAP16[$1>>1] = $11; + $12 = $11&65535; + $13 = ((($0)) + 328|0); + $14 = HEAP16[$13>>1]|0; + $15 = $14&65535; + $16 = ((($0)) + 378|0); + $17 = HEAP16[$16>>1]|0; + $18 = $17&65535; + $19 = (($18) + ($15))|0; + $20 = ($12>>>0)<($19>>>0); + if ($20) { + $270 = ((($0)) + 324|0); + $271 = HEAP32[$270>>2]|0; + $272 = (+($271>>>0)); + $273 = ((($0)) + 330|0); + $274 = HEAP16[$273>>1]|0; + $275 = (+($274&65535)); + $276 = $275 * 0.40000000596046448; + $277 = $272 / $276; + $278 = ((($0)) + 352|0); + $279 = +HEAPF32[$278>>2]; + $280 = $279 + $277; + HEAPF32[$278>>2] = $280; + return; + } + HEAP16[$1>>1] = 0; + HEAP16[$16>>1] = 0; + $270 = ((($0)) + 324|0); + $271 = HEAP32[$270>>2]|0; + $272 = (+($271>>>0)); + $273 = ((($0)) + 330|0); + $274 = HEAP16[$273>>1]|0; + $275 = (+($274&65535)); + $276 = $275 * 0.40000000596046448; + $277 = $272 / $276; + $278 = ((($0)) + 352|0); + $279 = +HEAPF32[$278>>2]; + $280 = $279 + $277; + HEAPF32[$278>>2] = $280; + return; +} +function _jar_xm_next_of_sample($0) { + $0 = $0|0; + var $$0100 = 0.0, $$0101 = 0.0, $$1 = 0.0, $$pr = 0.0, $$sink = 0.0, $$sink$p = 0.0, $$sink103 = 0, $$sink105 = 0, $$sink2 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0; + var $109 = 0, $11 = 0, $110 = 0.0, $111 = 0.0, $112 = 0, $113 = 0, $114 = 0, $115 = 0.0, $116 = 0, $117 = 0, $118 = 0.0, $119 = 0.0, $12 = 0, $120 = 0, $121 = 0.0, $122 = 0.0, $123 = 0.0, $124 = 0.0, $125 = 0, $126 = 0; + var $127 = 0, $128 = 0.0, $129 = 0.0, $13 = 0.0, $130 = 0, $131 = 0.0, $132 = 0.0, $133 = 0.0, $134 = 0.0, $135 = 0.0, $14 = 0.0, $15 = 0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $2 = 0, $20 = 0, $21 = 0, $22 = 0; + var $23 = 0, $24 = 0, $25 = 0.0, $26 = 0.0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0.0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0.0, $36 = 0, $37 = 0.0, $38 = 0.0, $39 = 0.0, $4 = 0, $40 = 0; + var $41 = 0, $42 = 0, $43 = 0.0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0.0, $53 = 0, $54 = 0.0, $55 = 0.0, $56 = 0.0, $57 = 0, $58 = 0, $59 = 0; + var $6 = 0, $60 = 0.0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0.0, $66 = 0, $67 = 0, $68 = 0, $69 = 0.0, $7 = 0, $70 = 0.0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0.0, $77 = 0.0; + var $78 = 0, $79 = 0, $8 = 0.0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0.0, $86 = 0.0, $87 = 0, $88 = 0, $89 = 0.0, $9 = 0, $90 = 0.0, $91 = 0.0, $92 = 0.0, $93 = 0, $94 = 0, $95 = 0.0; + var $96 = 0, $97 = 0, $98 = 0.0, $99 = 0.0, $storemerge106 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 8|0); + $2 = HEAP32[$1>>2]|0; + $3 = ($2|0)==(0|0); + if (!($3)) { + $4 = ((($0)) + 12|0); + $5 = HEAP32[$4>>2]|0; + $6 = ($5|0)==(0|0); + if (!($6)) { + $7 = ((($0)) + 20|0); + $8 = +HEAPF32[$7>>2]; + $9 = $8 < 0.0; + if (!($9)) { + $20 = ((($5)) + 24|0); + $21 = HEAP32[$20>>2]|0; + $22 = ($21|0)==(0); + if ($22) { + $$1 = 0.0; + return (+$$1); + } + $23 = (~~(($8))>>>0); + $24 = (($23) + 1)|0; + $25 = (+($23>>>0)); + $26 = $8 - $25; + $27 = ((($5)) + 72|0); + $28 = HEAP32[$27>>2]|0; + $29 = (($28) + ($23<<2)|0); + $30 = +HEAPF32[$29>>2]; + $31 = ((($5)) + 48|0); + $32 = HEAP32[$31>>2]|0; + L8: do { + switch ($32|0) { + case 0: { + $33 = ($24>>>0)<($21>>>0); + if ($33) { + $34 = (($28) + ($24<<2)|0); + $35 = +HEAPF32[$34>>2]; + $135 = $35; + } else { + $135 = 0.0; + } + $36 = ((($0)) + 32|0); + $37 = +HEAPF32[$36>>2]; + $38 = +HEAPF32[$7>>2]; + $39 = $37 + $38; + HEAPF32[$7>>2] = $39; + $40 = HEAP32[$4>>2]|0; + $41 = ((($40)) + 24|0); + $42 = HEAP32[$41>>2]|0; + $43 = (+($42>>>0)); + $44 = !($39 >= $43); + if ($44) { + $$0100 = $30;$$0101 = $135; + } else { + HEAPF32[$7>>2] = -1.0; + $$0100 = $30;$$0101 = $135; + } + break; + } + case 1: { + $45 = ((($5)) + 36|0); + $46 = HEAP32[$45>>2]|0; + $47 = ($24|0)==($46|0); + if ($47) { + $48 = ((($5)) + 28|0); + $49 = HEAP32[$48>>2]|0; + $51 = $49; + } else { + $51 = $24; + } + $50 = (($28) + ($51<<2)|0); + $52 = +HEAPF32[$50>>2]; + $53 = ((($0)) + 32|0); + $54 = +HEAPF32[$53>>2]; + $55 = +HEAPF32[$7>>2]; + $56 = $54 + $55; + HEAPF32[$7>>2] = $56; + $57 = HEAP32[$4>>2]|0; + $58 = ((($57)) + 36|0); + $59 = HEAP32[$58>>2]|0; + $60 = (+($59>>>0)); + $61 = !($56 >= $60); + if ($61) { + $$0100 = $30;$$0101 = $52; + } else { + $62 = HEAP32[$4>>2]|0; + $63 = ((($62)) + 36|0); + $64 = HEAP32[$63>>2]|0; + $65 = (+($64>>>0)); + $67 = $57;$storemerge106 = $56; + while(1) { + $66 = ((($67)) + 32|0); + $68 = HEAP32[$66>>2]|0; + $69 = (+($68>>>0)); + $70 = $storemerge106 - $69; + $71 = !($70 >= $65); + if ($71) { + break; + } else { + $67 = $62;$storemerge106 = $70; + } + } + HEAPF32[$7>>2] = $70; + $$0100 = $30;$$0101 = $52; + } + break; + } + case 2: { + $72 = ((($0)) + 36|0); + $73 = HEAP32[$72>>2]|0; + $74 = ($73|0)!=(0); + $75 = ((($0)) + 32|0); + $76 = +HEAPF32[$75>>2]; + $77 = -$76; + $$sink$p = $74 ? $76 : $77; + $$sink = $8 + $$sink$p; + HEAPF32[$7>>2] = $$sink; + if ($74) { + $78 = HEAP32[$4>>2]|0; + $79 = ((($78)) + 36|0); + $80 = HEAP32[$79>>2]|0; + $81 = ($24>>>0)>=($80>>>0); + $82 = ((($78)) + 72|0); + $83 = HEAP32[$82>>2]|0; + $$sink2 = $81 ? $23 : $24; + $84 = (($83) + ($$sink2<<2)|0); + $85 = +HEAPF32[$84>>2]; + $86 = (+($80>>>0)); + $87 = !($$sink >= $86); + if (!($87)) { + $88 = $80 << 1; + $89 = (+($88>>>0)); + HEAP32[$72>>2] = 0; + $90 = +HEAPF32[$7>>2]; + $91 = $89 - $90; + HEAPF32[$7>>2] = $91; + } + $92 = +HEAPF32[$7>>2]; + $93 = ((($78)) + 24|0); + $94 = HEAP32[$93>>2]|0; + $95 = (+($94>>>0)); + $96 = !($92 >= $95); + if ($96) { + $$0100 = $30;$$0101 = $85; + break L8; + } + $97 = (($94) + -1)|0; + $98 = (+($97>>>0)); + $99 = $92 - $98; + HEAP32[$72>>2] = 0; + HEAPF32[$7>>2] = $99; + $$0100 = $30;$$0101 = $85; + break L8; + } + $100 = ($23|0)==(0); + if ($100) { + label = 24; + } else { + $101 = (($23) + -1)|0; + $102 = HEAP32[$4>>2]|0; + $103 = ((($102)) + 28|0); + $104 = HEAP32[$103>>2]|0; + $105 = ($101>>>0)>($104>>>0); + if ($105) { + $$sink103 = $101;$$sink105 = $102; + } else { + label = 24; + } + } + if ((label|0) == 24) { + $106 = HEAP32[$4>>2]|0; + $$sink103 = $23;$$sink105 = $106; + } + $107 = ((($$sink105)) + 72|0); + $108 = HEAP32[$107>>2]|0; + $109 = (($108) + ($$sink103<<2)|0); + $110 = +HEAPF32[$109>>2]; + $111 = +HEAPF32[$7>>2]; + $112 = HEAP32[$4>>2]|0; + $113 = ((($112)) + 28|0); + $114 = HEAP32[$113>>2]|0; + $115 = (+($114>>>0)); + $116 = !($111 <= $115); + $117 = $114 << 1; + $118 = (+($117>>>0)); + $119 = $118 - $111; + if ($116) { + $$pr = +HEAPF32[$7>>2]; + $121 = $$pr; + } else { + HEAP32[$72>>2] = 1; + HEAPF32[$7>>2] = $119; + $121 = $119; + } + $120 = !($121 <= 0.0); + if ($120) { + $$0100 = $110;$$0101 = $30; + } else { + HEAP32[$72>>2] = 1; + HEAPF32[$7>>2] = 0.0; + $$0100 = $110;$$0101 = $30; + } + break; + } + default: { + $$0100 = $30;$$0101 = 0.0; + } + } + } while(0); + $122 = $$0101 - $$0100; + $123 = $26 * $122; + $124 = $$0100 + $123; + $125 = ((($0)) + 164|0); + $126 = HEAP32[$125>>2]|0; + $127 = ($126>>>0)<(32); + if (!($127)) { + $$1 = $124; + return (+$$1); + } + $128 = (+($126>>>0)); + $129 = $128 * 0.03125; + $130 = (((($0)) + 168|0) + ($126<<2)|0); + $131 = +HEAPF32[$130>>2]; + $132 = $124 - $131; + $133 = $129 * $132; + $134 = $131 + $133; + $$1 = $134; + return (+$$1); + } + } + } + $10 = ((($0)) + 164|0); + $11 = HEAP32[$10>>2]|0; + $12 = ($11>>>0)<(32); + if (!($12)) { + $$1 = 0.0; + return (+$$1); + } + $13 = (+($11>>>0)); + $14 = $13 * 0.03125; + $15 = (((($0)) + 168|0) + ($11<<2)|0); + $16 = +HEAPF32[$15>>2]; + $17 = 0.0 - $16; + $18 = $14 * $17; + $19 = $16 + $18; + $$1 = $19; + return (+$$1); +} +function _jar_xm_row($0) { + $0 = $0|0; + var $$0$ = 0, $$06061 = 0, $$062 = 0, $$1 = 0, $$mask = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0; + var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0; + var $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0; + var $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0; + var $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0; + var $96 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 368|0); + $2 = HEAP32[$1>>2]|0; + $3 = ($2|0)==(0); + if ($3) { + $11 = ((($0)) + 372|0); + $12 = HEAP32[$11>>2]|0; + $13 = ($12|0)==(0); + if (!($13)) { + $14 = ((($0)) + 348|0); + $15 = HEAP8[$14>>0]|0; + $16 = (($15) + 1)<<24>>24; + HEAP8[$14>>0] = $16; + $17 = ((($0)) + 377|0); + $18 = HEAP8[$17>>0]|0; + $19 = ((($0)) + 349|0); + HEAP8[$19>>0] = $18; + HEAP32[$11>>2] = 0; + HEAP8[$17>>0] = 0; + _jar_xm_post_pattern_change($0); + } + } else { + $4 = ((($0)) + 376|0); + $5 = HEAP8[$4>>0]|0; + $6 = ((($0)) + 348|0); + HEAP8[$6>>0] = $5; + $7 = ((($0)) + 377|0); + $8 = HEAP8[$7>>0]|0; + $9 = ((($0)) + 349|0); + HEAP8[$9>>0] = $8; + HEAP32[$1>>2] = 0; + $10 = ((($0)) + 372|0); + HEAP32[$10>>2] = 0; + HEAP8[$7>>0] = 0; + _jar_xm_post_pattern_change($0); + } + $20 = ((($0)) + 316|0); + $21 = HEAP32[$20>>2]|0; + $22 = ((($0)) + 348|0); + $23 = HEAP8[$22>>0]|0; + $24 = $23&255; + $25 = (((($0)) + 60|0) + ($24)|0); + $26 = HEAP8[$25>>0]|0; + $27 = $26&255; + $28 = ((($0)) + 50|0); + $29 = HEAP16[$28>>1]|0; + $30 = ($29<<16>>16)==(0); + if ($30) { + label = 15; + } else { + $31 = $29&65535; + $32 = (((($21) + ($27<<3)|0)) + 4|0); + $33 = ((($0)) + 349|0); + $34 = ((($0)) + 388|0); + $$06061 = 0;$$062 = 0;$40 = $31;$43 = 0; + while(1) { + $36 = HEAP32[$32>>2]|0; + $37 = HEAP8[$33>>0]|0; + $38 = $37&255; + $39 = Math_imul($38, $40)|0; + $41 = (($36) + (($39*5)|0)|0); + $42 = (($41) + (($43*5)|0)|0); + $44 = HEAP32[$34>>2]|0; + $45 = (($44) + (($43*304)|0)|0); + $46 = (((($44) + (($43*304)|0)|0)) + 16|0); + HEAP32[$46>>2] = $42; + $47 = ((($42)) + 3|0); + $48 = HEAP8[$47>>0]|0; + $49 = ($48<<24>>24)==(14); + if ($49) { + $50 = ((($42)) + 4|0); + $51 = HEAP8[$50>>0]|0; + $52 = $51&255; + $$mask = $52 & 240; + $53 = ($$mask|0)==(208); + if ($53) { + $54 = $52 & 15; + $55 = $54&255; + $56 = (((($44) + (($43*304)|0)|0)) + 97|0); + HEAP8[$56>>0] = $55; + } else { + label = 10; + } + } else { + label = 10; + } + if ((label|0) == 10) { + label = 0; + _jar_xm_handle_note_and_instrument($0,$45,$42); + } + $57 = ($$062|0)==(0); + if ($57) { + $58 = (((($44) + (($43*304)|0)|0)) + 99|0); + $59 = HEAP8[$58>>0]|0; + $60 = ($59<<24>>24)==(0); + $$0$ = $60 ? $$062 : 1; + $$1 = $$0$; + } else { + $$1 = $$062; + } + $61 = (($$06061) + 1)<<24>>24; + $62 = $61&255; + $63 = HEAP16[$28>>1]|0; + $64 = $63&65535; + $65 = ($62>>>0)<($64>>>0); + if ($65) { + $$06061 = $61;$$062 = $$1;$40 = $64;$43 = $62; + } else { + break; + } + } + $35 = ($$1|0)==(0); + if ($35) { + label = 15; + } + } + if ((label|0) == 15) { + $66 = ((($0)) + 380|0); + $67 = HEAP32[$66>>2]|0; + $68 = HEAP8[$22>>0]|0; + $69 = $68&255; + $70 = $69 << 8; + $71 = ((($0)) + 349|0); + $72 = HEAP8[$71>>0]|0; + $73 = $72&255; + $74 = $70 | $73; + $75 = (($67) + ($74)|0); + $76 = HEAP8[$75>>0]|0; + $77 = (($76) + 1)<<24>>24; + HEAP8[$75>>0] = $77; + $78 = ((($0)) + 384|0); + HEAP8[$78>>0] = $76; + } + $79 = ((($0)) + 349|0); + $80 = HEAP8[$79>>0]|0; + $81 = (($80) + 1)<<24>>24; + HEAP8[$79>>0] = $81; + $82 = HEAP32[$1>>2]|0; + $83 = ($82|0)==(0); + if (!($83)) { + return; + } + $84 = ((($0)) + 372|0); + $85 = HEAP32[$84>>2]|0; + $86 = ($85|0)==(0); + if (!($86)) { + return; + } + $87 = $81&255; + $88 = (($21) + ($27<<3)|0); + $89 = HEAP16[$88>>1]|0; + $90 = $89&65535; + $91 = ($87>>>0)>=($90>>>0); + $92 = ($81<<24>>24)==(0); + $or$cond = $92 | $91; + if (!($or$cond)) { + return; + } + $93 = HEAP8[$22>>0]|0; + $94 = (($93) + 1)<<24>>24; + HEAP8[$22>>0] = $94; + $95 = ((($0)) + 377|0); + $96 = HEAP8[$95>>0]|0; + HEAP8[$79>>0] = $96; + HEAP8[$95>>0] = 0; + _jar_xm_post_pattern_change($0); + return; +} +function _jar_xm_envelopes($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0.0, $13 = 0.0, $14 = 0, $15 = 0.0, $16 = 0.0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; + var $28 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 8|0); + $2 = HEAP32[$1>>2]|0; + $3 = ($2|0)==(0|0); + if ($3) { + return; + } + $4 = ((($2)) + 176|0); + $5 = HEAP32[$4>>2]|0; + $6 = ($5|0)==(0); + if (!($6)) { + $7 = ((($0)) + 52|0); + $8 = HEAP32[$7>>2]|0; + $9 = ($8|0)==(0); + if ($9) { + $10 = ((($2)) + 260|0); + $11 = HEAP16[$10>>1]|0; + $12 = (+($11&65535)); + $13 = $12 * 1.52587890625E-5; + $14 = ((($0)) + 56|0); + $15 = +HEAPF32[$14>>2]; + $16 = $15 - $13; + HEAPF32[$14>>2] = $16; + $17 = $16 < 0.0; + if ($17) { + HEAPF32[$14>>2] = 0.0; + } + } + $18 = HEAP32[$1>>2]|0; + $19 = ((($18)) + 124|0); + $20 = ((($0)) + 68|0); + $21 = ((($0)) + 60|0); + _jar_xm_envelope_tick($0,$19,$20,$21); + } + $22 = HEAP32[$1>>2]|0; + $23 = ((($22)) + 240|0); + $24 = HEAP32[$23>>2]|0; + $25 = ($24|0)==(0); + if ($25) { + return; + } + $26 = ((($22)) + 188|0); + $27 = ((($0)) + 70|0); + $28 = ((($0)) + 64|0); + _jar_xm_envelope_tick($0,$26,$27,$28); + return; +} +function _jar_xm_autovibrato($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$ = 0.0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; + var $28 = 0.0, $29 = 0.0, $3 = 0, $30 = 0, $31 = 0.0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($1)) + 8|0); + $3 = HEAP32[$2>>2]|0; + $4 = ($3|0)==(0|0); + if ($4) { + return; + } + $5 = ((($3)) + 257|0); + $6 = HEAP8[$5>>0]|0; + $7 = ($6<<24>>24)==(0); + if ($7) { + return; + } + $8 = ((($1)) + 48|0); + $9 = HEAP16[$8>>1]|0; + $10 = $9&65535; + $11 = ((($3)) + 256|0); + $12 = HEAP8[$11>>0]|0; + $13 = $12&255; + $14 = ($10>>>0)<($13>>>0); + $15 = (+($9&65535)); + $16 = (+($12&255)); + $17 = $15 / $16; + $18 = $17 + 0.0; + $$ = $14 ? $18 : 1.0; + $19 = (($9) + 1)<<16>>16; + HEAP16[$8>>1] = $19; + $20 = ((($3)) + 258|0); + $21 = HEAP8[$20>>0]|0; + $22 = $21&255; + $23 = Math_imul($22, $10)|0; + $24 = $23 >>> 2; + $25 = ((($3)) + 252|0); + $26 = HEAP32[$25>>2]|0; + $27 = $24&255; + $28 = (+_jar_xm_waveform($26,$27)); + $29 = $28 * 0.25; + $30 = HEAP8[$5>>0]|0; + $31 = (+($30&255)); + $32 = $29 * $31; + $33 = $32 / 15.0; + $34 = $$ * $33; + $35 = ((($1)) + 72|0); + HEAPF32[$35>>2] = $34; + _jar_xm_update_frequency($0,$1); + return; +} +function _jar_xm_update_frequency($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0, $18 = 0.0, $19 = 0.0, $2 = 0, $20 = 0, $3 = 0.0, $4 = 0, $5 = 0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0; + var sp = 0; + sp = STACKTOP; + $2 = ((($1)) + 24|0); + $3 = +HEAPF32[$2>>2]; + $4 = ((($1)) + 80|0); + $5 = HEAP8[$4>>0]|0; + $6 = ($5<<24>>24)==(0); + if ($6) { + $8 = ((($1)) + 116|0); + $9 = +HEAPF32[$8>>2]; + $10 = ((($1)) + 72|0); + $11 = +HEAPF32[$10>>2]; + $12 = $9 + $11; + $13 = $12; + } else { + $7 = (+($5&255)); + $13 = $7; + } + $14 = (+_jar_xm_frequency($0,$3,$13)); + $15 = ((($1)) + 28|0); + HEAPF32[$15>>2] = $14; + $16 = ((($0)) + 324|0); + $17 = HEAP32[$16>>2]|0; + $18 = (+($17>>>0)); + $19 = $14 / $18; + $20 = ((($1)) + 32|0); + HEAPF32[$20>>2] = $19; + return; +} +function _jar_xm_volume_slide($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$not = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = $1&255; + $3 = $2 & 240; + $4 = ($3|0)!=(0); + $$not = $4 ^ 1; + $5 = $2 & 15; + $6 = ($5|0)==(0); + $or$cond = $6 | $$not; + if (!($or$cond)) { + return; + } + $7 = ((($0)) + 40|0); + $8 = +HEAPF32[$7>>2]; + if ($4) { + $9 = $2 >>> 4; + $10 = (+($9|0)); + $11 = $10 * 0.015625; + $12 = $11 + $8; + HEAPF32[$7>>2] = $12; + $13 = $12 > 1.0; + if (!($13)) { + return; + } + HEAPF32[$7>>2] = 1.0; + return; + } else { + $14 = (+($5|0)); + $15 = $14 * 0.015625; + $16 = $8 - $15; + HEAPF32[$7>>2] = $16; + $17 = $16 < 0.0; + if (!($17)) { + return; + } + HEAPF32[$7>>2] = 0.0; + return; + } +} +function _jar_xm_vibrato($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $10 = 0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $4 = $3&65535; + $5 = $2&255; + $6 = $5 >>> 4; + $7 = Math_imul($4, $6)|0; + $8 = ((($1)) + 104|0); + $9 = HEAP32[$8>>2]|0; + $10 = $7&255; + $11 = (+_jar_xm_waveform($9,$10)); + $12 = $11 * 2.0; + $13 = $5 & 15; + $14 = (+($13|0)); + $15 = $14 * $12; + $16 = $15 / 15.0; + $17 = ((($1)) + 116|0); + HEAPF32[$17>>2] = $16; + _jar_xm_update_frequency($0,$1); + return; +} +function _jar_xm_panning_slide($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$not = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = $1&255; + $3 = $2 & 240; + $4 = ($3|0)!=(0); + $$not = $4 ^ 1; + $5 = $2 & 15; + $6 = ($5|0)==(0); + $or$cond = $6 | $$not; + if (!($or$cond)) { + return; + } + $7 = ((($0)) + 44|0); + $8 = +HEAPF32[$7>>2]; + if ($4) { + $9 = $2 >>> 4; + $10 = (+($9|0)); + $11 = $10 / 255.0; + $12 = $11 + $8; + HEAPF32[$7>>2] = $12; + $13 = $12 > 1.0; + if (!($13)) { + return; + } + HEAPF32[$7>>2] = 1.0; + return; + } else { + $14 = (+($5|0)); + $15 = $14 / 255.0; + $16 = $8 - $15; + HEAPF32[$7>>2] = $16; + $17 = $16 < 0.0; + if (!($17)) { + return; + } + HEAPF32[$7>>2] = 0.0; + return; + } +} +function _jar_xm_tone_portamento($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0.0, $24 = 0, $25 = 0, $26 = 0.0, $27 = 0.0, $28 = 0.0; + var $29 = 0, $3 = 0.0, $4 = 0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($1)) + 92|0); + $3 = +HEAPF32[$2>>2]; + $4 = $3 == 0.0; + if ($4) { + return; + } + $5 = ((($1)) + 24|0); + $6 = +HEAPF32[$5>>2]; + $7 = $6 != $3; + if (!($7)) { + return; + } + $8 = $6 > $3; + if ($8) { + $9 = ((($0)) + 56|0); + $10 = HEAP32[$9>>2]|0; + $11 = ($10|0)==(0); + $12 = $11 ? 4.0 : 1.0; + $13 = ((($1)) + 91|0); + $14 = HEAP8[$13>>0]|0; + $15 = (+($14&255)); + $16 = $12 * $15; + $17 = $6 - $16; + HEAPF32[$5>>2] = $17; + $18 = $17 < $3; + if ($18) { + HEAPF32[$5>>2] = $3; + } + } else { + $19 = $6 < $3; + if ($19) { + $20 = ((($0)) + 56|0); + $21 = HEAP32[$20>>2]|0; + $22 = ($21|0)==(0); + $23 = $22 ? 4.0 : 1.0; + $24 = ((($1)) + 91|0); + $25 = HEAP8[$24>>0]|0; + $26 = (+($25&255)); + $27 = $23 * $26; + $28 = $6 + $27; + HEAPF32[$5>>2] = $28; + $29 = $28 > $3; + if ($29) { + HEAPF32[$5>>2] = $3; + } + } + } + _jar_xm_update_frequency($0,$1); + return; +} +function _jar_xm_arpeggio($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$sink = 0, $10 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $trunc = 0, $trunc$clear = 0, label = 0, sp = 0; + sp = STACKTOP; + $4 = (($3&65535) % 3)&-1; + $trunc = $4&255; + $trunc$clear = $trunc & 3; + switch ($trunc$clear<<24>>24) { + case 0: { + $5 = ((($1)) + 76|0); + HEAP32[$5>>2] = 0; + $$sink = 0; + break; + } + case 2: { + $6 = ((($1)) + 76|0); + HEAP32[$6>>2] = 1; + $7 = ($2&255) >>> 4; + $$sink = $7; + break; + } + case 1: { + $8 = ((($1)) + 76|0); + HEAP32[$8>>2] = 1; + $9 = $2 & 15; + $$sink = $9; + break; + } + default: { + _jar_xm_update_frequency($0,$1); + return; + } + } + $10 = ((($1)) + 80|0); + HEAP8[$10>>0] = $$sink; + _jar_xm_update_frequency($0,$1); + return; +} +function _jar_xm_pitch_slide($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = +$2; + var $$ = 0.0, $10 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, $storemerge = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ((($0)) + 56|0); + $4 = HEAP32[$3>>2]|0; + $5 = ($4|0)==(0); + $6 = $2 * 4.0; + $$ = $5 ? $6 : $2; + $7 = ((($1)) + 24|0); + $8 = +HEAPF32[$7>>2]; + $9 = $8 + $$; + $10 = $9 < 0.0; + $storemerge = $10 ? 0.0 : $9; + HEAPF32[$7>>2] = $storemerge; + _jar_xm_update_frequency($0,$1); + return; +} +function _jar_xm_tremolo($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = $2&65535; + $4 = $1&255; + $5 = $4 >>> 4; + $6 = Math_imul($3, $5)|0; + $7 = ((($0)) + 120|0); + $8 = HEAP32[$7>>2]|0; + $9 = $6&255; + $10 = (+_jar_xm_waveform($8,$9)); + $11 = $4 & 15; + $12 = (+($11|0)); + $13 = $12 * $10; + $14 = -$13; + $15 = $14 / 15.0; + $16 = ((($0)) + 132|0); + HEAPF32[$16>>2] = $15; + return; +} +function _jar_xm_trigger_note($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0.0, $39 = 0.0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0; + var $66 = 0, $67 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = $2 & 4; + $4 = ($3|0)==(0); + if ($4) { + $5 = ((($1)) + 20|0); + HEAPF32[$5>>2] = 0.0; + $6 = ((($1)) + 36|0); + HEAP32[$6>>2] = 1; + } + $7 = ((($1)) + 12|0); + $8 = HEAP32[$7>>2]|0; + $9 = ($8|0)==(0|0); + if (!($9)) { + $10 = $2 & 1; + $11 = ($10|0)==(0); + if ($11) { + $12 = ((($8)) + 40|0); + $13 = HEAP32[$12>>2]|0; + $14 = ((($1)) + 40|0); + HEAP32[$14>>2] = $13; + } + $15 = ((($8)) + 52|0); + $16 = HEAP32[$15>>2]|0; + $17 = ((($1)) + 44|0); + HEAP32[$17>>2] = $16; + } + $18 = ((($1)) + 52|0); + HEAP32[$18>>2] = 1; + $19 = ((($1)) + 60|0); + HEAPF32[$19>>2] = 1.0; + $20 = ((($1)) + 56|0); + HEAPF32[$20>>2] = 1.0; + $21 = ((($1)) + 64|0); + HEAPF32[$21>>2] = 0.5; + $22 = ((($1)) + 70|0); + HEAP16[$22>>1] = 0; + $23 = ((($1)) + 68|0); + HEAP16[$23>>1] = 0; + $24 = ((($1)) + 116|0); + HEAPF32[$24>>2] = 0.0; + $25 = ((($1)) + 132|0); + HEAPF32[$25>>2] = 0.0; + $26 = ((($1)) + 140|0); + HEAP32[$26>>2] = 0; + $27 = ((($1)) + 48|0); + HEAP16[$27>>1] = 0; + $28 = ((($1)) + 108|0); + $29 = HEAP32[$28>>2]|0; + $30 = ($29|0)==(0); + if (!($30)) { + $31 = ((($1)) + 114|0); + HEAP16[$31>>1] = 0; + } + $32 = ((($1)) + 124|0); + $33 = HEAP32[$32>>2]|0; + $34 = ($33|0)==(0); + if (!($34)) { + $35 = ((($1)) + 129|0); + HEAP8[$35>>0] = 0; + } + $36 = $2 & 2; + $37 = ($36|0)==(0); + if ($37) { + $38 = +HEAPF32[$1>>2]; + $39 = (+_jar_xm_period($0,$38)); + $40 = ((($1)) + 24|0); + HEAPF32[$40>>2] = $39; + _jar_xm_update_frequency($0,$1); + } + $41 = ((($0)) + 360|0); + $42 = $41; + $43 = $42; + $44 = HEAP32[$43>>2]|0; + $45 = (($42) + 4)|0; + $46 = $45; + $47 = HEAP32[$46>>2]|0; + $48 = ((($1)) + 144|0); + $49 = $48; + $50 = $49; + HEAP32[$50>>2] = $44; + $51 = (($49) + 4)|0; + $52 = $51; + HEAP32[$52>>2] = $47; + $53 = ((($1)) + 8|0); + $54 = HEAP32[$53>>2]|0; + $55 = ($54|0)==(0|0); + if (!($55)) { + $56 = ((($54)) + 264|0); + $57 = $56; + $58 = $57; + HEAP32[$58>>2] = $44; + $59 = (($57) + 4)|0; + $60 = $59; + HEAP32[$60>>2] = $47; + } + $61 = HEAP32[$7>>2]|0; + $62 = ($61|0)==(0|0); + if ($62) { + return; + } + $63 = ((($61)) + 64|0); + $64 = $63; + $65 = $64; + HEAP32[$65>>2] = $44; + $66 = (($64) + 4)|0; + $67 = $66; + HEAP32[$67>>2] = $47; + return; +} +function _jar_xm_cut_note($0) { + $0 = $0|0; + var $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 40|0); + HEAPF32[$1>>2] = 0.0; + return; +} +function _jar_xm_handle_note_and_instrument($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$0275 = 0, $$lobit = 0, $$lobit262 = 0, $$mask = 0, $$mask265 = 0, $$mask266 = 0, $$off = 0, $$off273 = 0, $$off274 = 0, $$old1 = 0, $$sink = 0, $10 = 0, $100 = 0.0, $101 = 0.0, $102 = 0.0, $103 = 0, $104 = 0, $105 = 0, $106 = 0.0, $107 = 0; + var $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0.0, $116 = 0.0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0; + var $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0.0, $133 = 0.0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0; + var $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0; + var $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0; + var $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0; + var $199 = 0, $20 = 0, $200 = 0, $201 = 0.0, $202 = 0.0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0; + var $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0.0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0; + var $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0.0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0; + var $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0.0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0.0, $27 = 0, $270 = 0; + var $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0.0, $288 = 0, $289 = 0; + var $29 = 0, $290 = 0, $291 = 0.0, $292 = 0.0, $293 = 0.0, $294 = 0.0, $295 = 0.0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0; + var $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0; + var $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0; + var $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0; + var $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0.0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0; + var $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0; + var $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0.0, $411 = 0.0, $412 = 0, $413 = 0, $414 = 0; + var $415 = 0, $416 = 0, $417 = 0, $418 = 0.0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0; + var $57 = 0.0, $58 = 0, $59 = 0, $6 = 0, $60 = 0.0, $61 = 0.0, $62 = 0.0, $63 = 0.0, $64 = 0.0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0; + var $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0; + var $93 = 0, $94 = 0, $95 = 0, $96 = 0.0, $97 = 0, $98 = 0, $99 = 0.0, $exitcond = 0, $or$cond = 0, $phitmp = 0.0, $phitmp260 = 0.0, $phitmp263 = 0.0, $phitmp264 = 0.0, $trunc = 0, $trunc$clear = 0, $trunc259 = 0, $trunc259$clear = 0, $trunc261 = 0, $trunc261$clear = 0, label = 0; + var sp = 0; + sp = STACKTOP; + $3 = ((($2)) + 1|0); + $4 = HEAP8[$3>>0]|0; + $5 = ($4<<24>>24)==(0); + do { + if (!($5)) { + $6 = ((($1)) + 16|0); + $7 = HEAP32[$6>>2]|0; + $8 = ((($7)) + 3|0); + $9 = HEAP8[$8>>0]|0; + switch ($9<<24>>24) { + case 5: case 3: { + label = 4; + break; + } + default: { + $10 = ((($7)) + 2|0); + $11 = HEAP8[$10>>0]|0; + $12 = ($11&255)>(239); + if ($12) { + label = 4; + } + } + } + if ((label|0) == 4) { + $13 = ((($1)) + 8|0); + $14 = HEAP32[$13>>2]|0; + $15 = ($14|0)==(0|0); + if (!($15)) { + $16 = ((($1)) + 12|0); + $17 = HEAP32[$16>>2]|0; + $18 = ($17|0)==(0|0); + if (!($18)) { + _jar_xm_trigger_note($0,$1,6); + break; + } + } + } + $19 = HEAP8[$3>>0]|0; + $20 = $19&255; + $21 = ((($0)) + 54|0); + $22 = HEAP16[$21>>1]|0; + $23 = $22&65535; + $24 = ($20>>>0)>($23>>>0); + if ($24) { + _jar_xm_cut_note($1); + $25 = ((($1)) + 8|0); + HEAP32[$25>>2] = 0; + $26 = ((($1)) + 12|0); + HEAP32[$26>>2] = 0; + break; + } + $27 = ((($0)) + 320|0); + $28 = HEAP32[$27>>2]|0; + $29 = (($20) + -1)|0; + $30 = (($28) + (($29*280)|0)|0); + $31 = ((($1)) + 8|0); + HEAP32[$31>>2] = $30; + $32 = HEAP8[$2>>0]|0; + $33 = ($32<<24>>24)==(0); + if ($33) { + $34 = ((($1)) + 12|0); + $35 = HEAP32[$34>>2]|0; + $36 = ($35|0)==(0|0); + if (!($36)) { + _jar_xm_trigger_note($0,$1,4); + } + } + } + } while(0); + $37 = HEAP8[$2>>0]|0; + $$off = (($37) + -1)<<24>>24; + $38 = ($$off&255)<(96); + do { + if ($38) { + $39 = ((($1)) + 8|0); + $40 = HEAP32[$39>>2]|0; + $41 = ((($1)) + 16|0); + $42 = HEAP32[$41>>2]|0; + $43 = ((($42)) + 3|0); + $44 = HEAP8[$43>>0]|0; + $$old1 = ($40|0)!=(0|0); + switch ($44<<24>>24) { + case 5: case 3: { + if ($$old1) { + label = 16; + } + break; + } + default: { + $45 = ((($42)) + 2|0); + $46 = HEAP8[$45>>0]|0; + $47 = ($46&255)>(239); + $or$cond = $$old1 & $47; + if ($or$cond) { + label = 16; + } else { + $66 = ($40|0)==(0|0); + if (!($66)) { + label = 19; + } + } + } + } + if ((label|0) == 16) { + $48 = ((($1)) + 12|0); + $49 = HEAP32[$48>>2]|0; + $50 = ($49|0)==(0|0); + if ($50) { + label = 19; + } else { + $51 = HEAP8[$2>>0]|0; + $52 = $51&255; + $53 = ((($49)) + 56|0); + $54 = HEAP8[$53>>0]|0; + $55 = $54 << 24 >> 24; + $56 = (($55) + ($52))|0; + $57 = (+($56|0)); + $58 = ((($49)) + 44|0); + $59 = HEAP8[$58>>0]|0; + $60 = (+($59<<24>>24)); + $61 = $60 * 0.0078125; + $62 = $57 + $61; + $63 = $62 + -1.0; + HEAPF32[$1>>2] = $63; + $64 = (+_jar_xm_period($0,$63)); + $65 = ((($1)) + 92|0); + HEAPF32[$65>>2] = $64; + break; + } + } + if ((label|0) == 19) { + $67 = HEAP32[$39>>2]|0; + $68 = ((($67)) + 24|0); + $69 = HEAP16[$68>>1]|0; + $70 = ($69<<16>>16)==(0); + if (!($70)) { + $71 = HEAP8[$2>>0]|0; + $72 = $71&255; + $73 = (($72) + -1)|0; + $74 = (((($40)) + 26|0) + ($73)|0); + $75 = HEAP8[$74>>0]|0; + $76 = $75&255; + $77 = ((($40)) + 24|0); + $78 = HEAP16[$77>>1]|0; + $79 = $78&65535; + $80 = ($76>>>0)<($79>>>0); + if ($80) { + $$0275 = 0; + } else { + _jar_xm_cut_note($1); + break; + } + while(1) { + $106 = (+_jar_xm_next_of_sample($1)); + $107 = (((($1)) + 168|0) + ($$0275<<2)|0); + HEAPF32[$107>>2] = $106; + $108 = (($$0275) + 1)|0; + $exitcond = ($108|0)==(32); + if ($exitcond) { + break; + } else { + $$0275 = $108; + } + } + $81 = ((($1)) + 164|0); + HEAP32[$81>>2] = 0; + $82 = ((($40)) + 276|0); + $83 = HEAP32[$82>>2]|0; + $84 = HEAP8[$2>>0]|0; + $85 = $84&255; + $86 = (($85) + -1)|0; + $87 = (((($40)) + 26|0) + ($86)|0); + $88 = HEAP8[$87>>0]|0; + $89 = $88&255; + $90 = (($83) + (($89*80)|0)|0); + $91 = ((($1)) + 12|0); + HEAP32[$91>>2] = $90; + $92 = (((($83) + (($89*80)|0)|0)) + 56|0); + $93 = HEAP8[$92>>0]|0; + $94 = $93 << 24 >> 24; + $95 = (($94) + ($85))|0; + $96 = (+($95|0)); + $97 = (((($83) + (($89*80)|0)|0)) + 44|0); + $98 = HEAP8[$97>>0]|0; + $99 = (+($98<<24>>24)); + $100 = $99 * 0.0078125; + $101 = $96 + $100; + $102 = $101 + -1.0; + HEAPF32[$1>>2] = $102; + $103 = ((($1)) + 4|0); + HEAPF32[$103>>2] = $102; + $104 = HEAP8[$3>>0]|0; + $105 = ($104<<24>>24)==(0); + if ($105) { + _jar_xm_trigger_note($0,$1,1); + break; + } else { + _jar_xm_trigger_note($0,$1,0); + break; + } + } + } + _jar_xm_cut_note($1); + } else { + $109 = ($37<<24>>24)==(97); + if ($109) { + _jar_xm_key_off($1); + } + } + } while(0); + $110 = ((($2)) + 2|0); + $111 = HEAP8[$110>>0]|0; + $112 = $111&255; + $trunc = ($111&255) >>> 4; + $trunc$clear = $trunc & 15; + switch ($trunc$clear<<24>>24) { + case 5: { + $113 = ($111&255)>(80); + if (!($113)) { + label = 31; + } + break; + } + case 4: case 3: case 2: case 1: { + label = 31; + break; + } + case 8: { + $118 = $112 & 15; + $119 = $118&255; + _jar_xm_volume_slide($1,$119); + break; + } + case 9: { + $120 = $112 << 4; + $121 = $120&255; + _jar_xm_volume_slide($1,$121); + break; + } + case 10: { + $122 = ((($1)) + 112|0); + $123 = HEAP8[$122>>0]|0; + $124 = $123 & 15; + $125 = $124&255; + $126 = $112 << 4; + $127 = $125 | $126; + $128 = $127&255; + HEAP8[$122>>0] = $128; + break; + } + case 12: { + $129 = $112 & 15; + $130 = $129 << 4; + $131 = $130 | $129; + $132 = (+($131|0)); + $133 = $132 / 255.0; + $134 = ((($1)) + 44|0); + HEAPF32[$134>>2] = $133; + break; + } + case 15: { + $135 = $112 & 15; + $136 = ($135|0)==(0); + if (!($136)) { + $137 = ((($1)) + 91|0); + $138 = $112 << 4; + $139 = $138 | $135; + $140 = $139&255; + HEAP8[$137>>0] = $140; + } + break; + } + default: { + } + } + if ((label|0) == 31) { + $114 = (($112) + -16)|0; + $115 = (+($114|0)); + $116 = $115 * 0.015625; + $117 = ((($1)) + 40|0); + HEAPF32[$117>>2] = $116; + } + $141 = ((($2)) + 3|0); + $142 = HEAP8[$141>>0]|0; + do { + switch ($142<<24>>24) { + case 1: { + $143 = ((($2)) + 4|0); + $144 = HEAP8[$143>>0]|0; + $145 = ($144<<24>>24)==(0); + if ($145) { + return; + } + $146 = ((($1)) + 85|0); + HEAP8[$146>>0] = $144; + return; + break; + } + case 2: { + $147 = ((($2)) + 4|0); + $148 = HEAP8[$147>>0]|0; + $149 = ($148<<24>>24)==(0); + if ($149) { + return; + } + $150 = ((($1)) + 86|0); + HEAP8[$150>>0] = $148; + return; + break; + } + case 3: { + $151 = ((($2)) + 4|0); + $152 = HEAP8[$151>>0]|0; + $153 = ($152<<24>>24)==(0); + if ($153) { + return; + } + $154 = ((($1)) + 91|0); + HEAP8[$154>>0] = $152; + return; + break; + } + case 4: { + $155 = ((($2)) + 4|0); + $156 = HEAP8[$155>>0]|0; + $157 = $156&255; + $158 = $157 & 15; + $159 = ($158|0)==(0); + if (!($159)) { + $160 = ((($1)) + 112|0); + $161 = HEAP8[$160>>0]|0; + $162 = $161 & -16; + $163 = $162&255; + $164 = $163 | $158; + $165 = $164&255; + HEAP8[$160>>0] = $165; + } + $$mask266 = $157 & 240; + $166 = ($$mask266|0)==(0); + if ($166) { + return; + } + $167 = ((($1)) + 112|0); + $168 = HEAP8[$167>>0]|0; + $169 = $168 & 15; + $170 = $169&255; + $171 = $170 | $$mask266; + $172 = $171&255; + HEAP8[$167>>0] = $172; + return; + break; + } + case 5: { + $173 = ((($2)) + 4|0); + $174 = HEAP8[$173>>0]|0; + $175 = ($174<<24>>24)==(0); + if ($175) { + return; + } + $176 = ((($1)) + 81|0); + HEAP8[$176>>0] = $174; + return; + break; + } + case 6: { + $177 = ((($2)) + 4|0); + $178 = HEAP8[$177>>0]|0; + $179 = ($178<<24>>24)==(0); + if ($179) { + return; + } + $180 = ((($1)) + 81|0); + HEAP8[$180>>0] = $178; + return; + break; + } + case 7: { + $181 = ((($2)) + 4|0); + $182 = HEAP8[$181>>0]|0; + $183 = $182&255; + $184 = $183 & 15; + $185 = ($184|0)==(0); + if (!($185)) { + $186 = ((($1)) + 128|0); + $187 = HEAP8[$186>>0]|0; + $188 = $187 & -16; + $189 = $188&255; + $190 = $189 | $184; + $191 = $190&255; + HEAP8[$186>>0] = $191; + } + $$mask265 = $183 & 240; + $192 = ($$mask265|0)==(0); + if ($192) { + return; + } + $193 = ((($1)) + 128|0); + $194 = HEAP8[$193>>0]|0; + $195 = $194 & 15; + $196 = $195&255; + $197 = $196 | $$mask265; + $198 = $197&255; + HEAP8[$193>>0] = $198; + return; + break; + } + case 8: { + $199 = ((($2)) + 4|0); + $200 = HEAP8[$199>>0]|0; + $201 = (+($200&255)); + $202 = $201 / 255.0; + $203 = ((($1)) + 44|0); + HEAPF32[$203>>2] = $202; + return; + break; + } + case 9: { + $204 = ((($1)) + 12|0); + $205 = HEAP32[$204>>2]|0; + $206 = ($205|0)==(0|0); + if ($206) { + return; + } + $207 = HEAP8[$2>>0]|0; + $$off274 = (($207) + -1)<<24>>24; + $208 = ($$off274&255)<(96); + if (!($208)) { + return; + } + $209 = ((($2)) + 4|0); + $210 = HEAP8[$209>>0]|0; + $211 = $210&255; + $212 = ((($205)) + 23|0); + $213 = HEAP8[$212>>0]|0; + $214 = ($213<<24>>24)==(16); + $215 = $214 ? 7 : 8; + $216 = $211 << $215; + $217 = ((($205)) + 24|0); + $218 = HEAP32[$217>>2]|0; + $219 = ($216>>>0)<($218>>>0); + if ($219) { + $221 = (+($216>>>0)); + $222 = ((($1)) + 20|0); + HEAPF32[$222>>2] = $221; + return; + } else { + $220 = ((($1)) + 20|0); + HEAPF32[$220>>2] = -1.0; + return; + } + break; + } + case 10: { + $223 = ((($2)) + 4|0); + $224 = HEAP8[$223>>0]|0; + $225 = ($224<<24>>24)==(0); + if ($225) { + return; + } + $226 = ((($1)) + 81|0); + HEAP8[$226>>0] = $224; + return; + break; + } + case 11: { + $227 = ((($2)) + 4|0); + $228 = HEAP8[$227>>0]|0; + $229 = $228&255; + $230 = ((($0)) + 46|0); + $231 = HEAP16[$230>>1]|0; + $232 = $231&65535; + $233 = ($229>>>0)<($232>>>0); + if (!($233)) { + return; + } + $234 = ((($0)) + 368|0); + HEAP32[$234>>2] = 1; + $235 = ((($0)) + 376|0); + HEAP8[$235>>0] = $228; + return; + break; + } + case 12: { + $236 = ((($2)) + 4|0); + $237 = HEAP8[$236>>0]|0; + $238 = ($237&255)>(64); + $phitmp263 = (+($237&255)); + $phitmp264 = $phitmp263 * 0.015625; + $239 = $238 ? 1.0 : $phitmp264; + $240 = ((($1)) + 40|0); + HEAPF32[$240>>2] = $239; + return; + break; + } + case 13: { + $241 = ((($0)) + 372|0); + HEAP32[$241>>2] = 1; + $242 = ((($2)) + 4|0); + $243 = HEAP8[$242>>0]|0; + $244 = $243&255; + $245 = $244 >>> 4; + $246 = ($245*10)|0; + $247 = $244 & 15; + $248 = (($246) + ($247))|0; + $249 = $248&255; + $250 = ((($0)) + 377|0); + HEAP8[$250>>0] = $249; + return; + break; + } + case 14: { + $251 = ((($2)) + 4|0); + $252 = HEAP8[$251>>0]|0; + $253 = $252&255; + $trunc261 = ($252&255) >>> 4; + $trunc261$clear = $trunc261 & 15; + do { + switch ($trunc261$clear<<24>>24) { + case 1: { + $254 = $253 & 15; + $255 = ($254|0)==(0); + if (!($255)) { + $256 = $254&255; + $257 = ((($1)) + 87|0); + HEAP8[$257>>0] = $256; + } + $258 = ((($1)) + 87|0); + $259 = HEAP8[$258>>0]|0; + $260 = $259&255; + $261 = (0 - ($260))|0; + $262 = (+($261|0)); + _jar_xm_pitch_slide($0,$1,$262); + return; + break; + } + case 2: { + $263 = $253 & 15; + $264 = ($263|0)==(0); + if (!($264)) { + $265 = $263&255; + $266 = ((($1)) + 88|0); + HEAP8[$266>>0] = $265; + } + $267 = ((($1)) + 88|0); + $268 = HEAP8[$267>>0]|0; + $269 = (+($268&255)); + _jar_xm_pitch_slide($0,$1,$269); + return; + break; + } + case 4: { + $270 = $253 & 3; + $271 = ((($1)) + 104|0); + HEAP32[$271>>2] = $270; + $272 = $253 >>> 2; + $$lobit262 = $272 & 1; + $273 = $$lobit262 ^ 1; + $274 = ((($1)) + 108|0); + HEAP32[$274>>2] = $273; + return; + break; + } + case 5: { + $275 = ((($1)) + 16|0); + $276 = HEAP32[$275>>2]|0; + $277 = HEAP8[$276>>0]|0; + $278 = $277&255; + $$off273 = (($277) + -1)<<24>>24; + $279 = ($$off273&255)<(96); + if (!($279)) { + return; + } + $280 = ((($1)) + 12|0); + $281 = HEAP32[$280>>2]|0; + $282 = ($281|0)==(0|0); + if ($282) { + return; + } + $283 = ((($281)) + 56|0); + $284 = HEAP8[$283>>0]|0; + $285 = $284 << 24 >> 24; + $286 = (($285) + ($278))|0; + $287 = (+($286|0)); + $288 = $253 << 4; + $289 = $288 & 240; + $290 = (($289) + -128)|0; + $291 = (+($290|0)); + $292 = $291 * 0.0078125; + $293 = $292 + $287; + $294 = $293 + -1.0; + HEAPF32[$1>>2] = $294; + $295 = (+_jar_xm_period($0,$294)); + $296 = ((($1)) + 24|0); + HEAPF32[$296>>2] = $295; + _jar_xm_update_frequency($0,$1); + return; + break; + } + case 6: { + $297 = $253 & 15; + $298 = ($297|0)==(0); + if ($298) { + $311 = ((($0)) + 349|0); + $312 = HEAP8[$311>>0]|0; + $313 = ((($1)) + 98|0); + HEAP8[$313>>0] = $312; + $314 = ((($0)) + 377|0); + HEAP8[$314>>0] = $312; + return; + } + $299 = ((($1)) + 99|0); + $300 = HEAP8[$299>>0]|0; + $301 = $300&255; + $302 = ($297|0)==($301|0); + if ($302) { + HEAP8[$299>>0] = 0; + return; + } else { + $303 = (($300) + 1)<<24>>24; + HEAP8[$299>>0] = $303; + $304 = ((($0)) + 368|0); + HEAP32[$304>>2] = 1; + $305 = ((($1)) + 98|0); + $306 = HEAP8[$305>>0]|0; + $307 = ((($0)) + 377|0); + HEAP8[$307>>0] = $306; + $308 = ((($0)) + 348|0); + $309 = HEAP8[$308>>0]|0; + $310 = ((($0)) + 376|0); + HEAP8[$310>>0] = $309; + return; + } + break; + } + case 7: { + $315 = $253 & 3; + $316 = ((($1)) + 120|0); + HEAP32[$316>>2] = $315; + $317 = $253 >>> 2; + $$lobit = $317 & 1; + $318 = $$lobit ^ 1; + $319 = ((($1)) + 124|0); + HEAP32[$319>>2] = $318; + return; + break; + } + case 10: { + $320 = $253 & 15; + $321 = ($320|0)==(0); + if (!($321)) { + $322 = $320&255; + $323 = ((($1)) + 82|0); + HEAP8[$323>>0] = $322; + } + $324 = ((($1)) + 82|0); + $325 = HEAP8[$324>>0]|0; + $326 = $325&255; + $327 = $326 << 4; + $328 = $327&255; + _jar_xm_volume_slide($1,$328); + return; + break; + } + case 11: { + $329 = $253 & 15; + $330 = ($329|0)==(0); + if (!($330)) { + $331 = $329&255; + $332 = ((($1)) + 82|0); + HEAP8[$332>>0] = $331; + } + $333 = ((($1)) + 82|0); + $334 = HEAP8[$333>>0]|0; + _jar_xm_volume_slide($1,$334); + return; + break; + } + case 13: { + $335 = HEAP8[$2>>0]|0; + $336 = ($335<<24>>24)==(0); + if (!($336)) { + return; + } + $337 = HEAP8[$3>>0]|0; + $338 = ($337<<24>>24)==(0); + if (!($338)) { + return; + } + $339 = ((($1)) + 16|0); + $340 = HEAP32[$339>>2]|0; + $341 = ((($340)) + 4|0); + $342 = HEAP8[$341>>0]|0; + $343 = $342 & 15; + $344 = ($343<<24>>24)==(0); + if ($344) { + _jar_xm_trigger_note($0,$1,7); + return; + } else { + $345 = ((($1)) + 4|0); + $346 = HEAP32[$345>>2]|0; + HEAP32[$1>>2] = $346; + _jar_xm_trigger_note($0,$1,1); + return; + } + break; + } + case 14: { + $347 = ((($1)) + 16|0); + $348 = HEAP32[$347>>2]|0; + $349 = ((($348)) + 4|0); + $350 = HEAP8[$349>>0]|0; + $351 = $350 & 15; + $352 = $351&255; + $353 = ((($0)) + 328|0); + $354 = HEAP16[$353>>1]|0; + $355 = $354&65535; + $356 = Math_imul($352, $355)|0; + $357 = $356&65535; + $358 = ((($0)) + 378|0); + HEAP16[$358>>1] = $357; + return; + break; + } + default: { + return; + } + } + } while(0); + break; + } + case 15: { + $359 = ((($2)) + 4|0); + $360 = HEAP8[$359>>0]|0; + $361 = ($360<<24>>24)==(0); + if ($361) { + return; + } + $362 = ($360&255)<(32); + $363 = $360&255; + if ($362) { + $364 = ((($0)) + 328|0); + HEAP16[$364>>1] = $363; + return; + } else { + $365 = ((($0)) + 330|0); + HEAP16[$365>>1] = $363; + return; + } + break; + } + case 16: { + $366 = ((($2)) + 4|0); + $367 = HEAP8[$366>>0]|0; + $368 = ($367&255)>(64); + $phitmp = (+($367&255)); + $phitmp260 = $phitmp * 0.015625; + $369 = $368 ? 1.0 : $phitmp260; + $370 = ((($0)) + 332|0); + HEAPF32[$370>>2] = $369; + return; + break; + } + case 17: { + $371 = ((($2)) + 4|0); + $372 = HEAP8[$371>>0]|0; + $373 = ($372<<24>>24)==(0); + if ($373) { + return; + } + $374 = ((($1)) + 83|0); + HEAP8[$374>>0] = $372; + return; + break; + } + case 21: { + $375 = ((($2)) + 4|0); + $376 = HEAP8[$375>>0]|0; + $377 = $376&255; + $378 = ((($1)) + 68|0); + HEAP16[$378>>1] = $377; + $379 = ((($1)) + 70|0); + HEAP16[$379>>1] = $377; + return; + break; + } + case 25: { + $380 = ((($2)) + 4|0); + $381 = HEAP8[$380>>0]|0; + $382 = ($381<<24>>24)==(0); + if ($382) { + return; + } + $383 = ((($1)) + 84|0); + HEAP8[$383>>0] = $381; + return; + break; + } + case 27: { + $384 = ((($2)) + 4|0); + $385 = HEAP8[$384>>0]|0; + $386 = $385&255; + $387 = ($385<<24>>24)==(0); + if ($387) { + return; + } + $$mask = $386 & 240; + $388 = ($$mask|0)==(0); + if ($388) { + $389 = ((($1)) + 96|0); + $390 = HEAP8[$389>>0]|0; + $391 = $390 & -16; + $392 = $391&255; + $393 = $386 & 15; + $394 = $392 | $393; + $395 = $394&255; + $$sink = $395; + } else { + $$sink = $385; + } + $396 = ((($1)) + 96|0); + HEAP8[$396>>0] = $$sink; + return; + break; + } + case 29: { + $397 = ((($2)) + 4|0); + $398 = HEAP8[$397>>0]|0; + $399 = ($398<<24>>24)==(0); + if ($399) { + return; + } + $400 = ((($1)) + 136|0); + HEAP8[$400>>0] = $398; + return; + break; + } + case 33: { + $401 = ((($2)) + 4|0); + $402 = HEAP8[$401>>0]|0; + $403 = $402&255; + $trunc259 = ($402&255) >>> 4; + $trunc259$clear = $trunc259 & 15; + switch ($trunc259$clear<<24>>24) { + case 1: { + $404 = $403 & 15; + $405 = ($404|0)==(0); + if (!($405)) { + $406 = $404&255; + $407 = ((($1)) + 89|0); + HEAP8[$407>>0] = $406; + } + $408 = ((($1)) + 89|0); + $409 = HEAP8[$408>>0]|0; + $410 = (+($409&255)); + $411 = -$410; + _jar_xm_pitch_slide($0,$1,$411); + return; + break; + } + case 2: { + $412 = $403 & 15; + $413 = ($412|0)==(0); + if (!($413)) { + $414 = $412&255; + $415 = ((($1)) + 90|0); + HEAP8[$415>>0] = $414; + } + $416 = ((($1)) + 90|0); + $417 = HEAP8[$416>>0]|0; + $418 = (+($417&255)); + _jar_xm_pitch_slide($0,$1,$418); + return; + break; + } + default: { + return; + } + } + break; + } + default: { + return; + } + } + } while(0); +} +function _jar_xm_key_off($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 52|0); + HEAP32[$1>>2] = 0; + $2 = ((($0)) + 8|0); + $3 = HEAP32[$2>>2]|0; + $4 = ($3|0)==(0|0); + if (!($4)) { + $5 = ((($3)) + 176|0); + $6 = HEAP32[$5>>2]|0; + $7 = ($6|0)==(0); + if (!($7)) { + return; + } + } + _jar_xm_cut_note($0); + return; +} +function _jar_xm_period($0,$1) { + $0 = $0|0; + $1 = +$1; + var $$0 = 0.0, $2 = 0, $3 = 0, $4 = 0.0, $5 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($0)) + 56|0); + $3 = HEAP32[$2>>2]|0; + switch ($3|0) { + case 0: { + $4 = (+_jar_xm_linear_period($1)); + $$0 = $4; + break; + } + case 1: { + $5 = (+_jar_xm_amiga_period($1)); + $$0 = $5; + break; + } + default: { + $$0 = 0.0; + } + } + return (+$$0); +} +function _jar_xm_linear_period($0) { + $0 = +$0; + var $1 = 0.0, $2 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $1 = $0 * 64.0; + $2 = 7680.0 - $1; + return (+$2); +} +function _jar_xm_amiga_period($0) { + $0 = +$0; + var $$0 = 0, $$023 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; + var $26 = 0, $27 = 0, $28 = 0.0, $29 = 0.0, $3 = 0.0, $30 = 0.0, $31 = 0, $32 = 0, $33 = 0.0, $34 = 0.0, $35 = 0.0, $4 = 0.0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (~~(($0))>>>0); + $2 = (($1>>>0) % 12)&-1; + $3 = $0 / 12.0; + $4 = $3 + -2.0; + $5 = (~~(($4))); + $6 = (5588 + ($2<<1)|0); + $7 = HEAP16[$6>>1]|0; + $8 = (($2) + 1)|0; + $9 = (5588 + ($8<<1)|0); + $10 = HEAP16[$9>>1]|0; + $11 = $5 << 24 >> 24; + $12 = ($5<<24>>24)>(0); + if ($12) { + $13 = $7&65535; + $14 = $13 >>> $11; + $15 = $14&65535; + $16 = $10&65535; + $17 = $16 >>> $11; + $18 = $17&65535; + $$0 = $18;$$023 = $15; + } else { + $19 = ($5<<24>>24)<(0); + $20 = (0 - ($11))|0; + if ($19) { + $21 = $10&65535; + $22 = $21 << $20; + $23 = $7&65535; + $24 = $23 << $20; + $25 = $24&65535; + $26 = $22&65535; + $$0 = $26;$$023 = $25; + } else { + $$0 = $10;$$023 = $7; + } + } + $27 = $$023&65535; + $28 = (+($$023&65535)); + $29 = (+($1>>>0)); + $30 = $0 - $29; + $31 = $$0&65535; + $32 = (($31) - ($27))|0; + $33 = (+($32|0)); + $34 = $30 * $33; + $35 = $28 + $34; + return (+$35); +} +function _jar_xm_waveform($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0.0, $2 = 0, $20 = 0.0, $21 = 0.0, $22 = 0, $23 = 0, $24 = 0.0, $25 = 0.0, $3 = 0.0, $4 = 0.0; + var $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = $1 & 63; + switch ($0|0) { + case 0: { + $3 = (+($2&255)); + $4 = $3 * 6.2831840515136719; + $5 = $4 * 0.015625; + $6 = (+Math_sin((+$5))); + $7 = -$6; + $$0 = $7; + return (+$$0); + break; + } + case 1: { + $8 = $2&255; + $9 = (32 - ($8))|0; + $10 = (+($9|0)); + $11 = $10 * 0.03125; + $$0 = $11; + return (+$$0); + break; + } + case 2: { + $12 = ($2&255)>(31); + $13 = $12 ? 1.0 : -1.0; + $$0 = $13; + return (+$$0); + break; + } + case 3: { + $14 = HEAP32[948]|0; + $15 = Math_imul($14, 1103515245)|0; + $16 = (($15) + 12345)|0; + HEAP32[948] = $16; + $17 = $16 >>> 16; + $18 = $17 & 32767; + $19 = (+($18>>>0)); + $20 = $19 * 6.103515625E-5; + $21 = $20 + -1.0; + $$0 = $21; + return (+$$0); + break; + } + case 4: { + $22 = $2&255; + $23 = (($22) + -32)|0; + $24 = (+($23|0)); + $25 = $24 * 0.03125; + $$0 = $25; + return (+$$0); + break; + } + default: { + $$0 = 0.0; + return (+$$0); + } + } + return +(0.0); +} +function _jar_xm_frequency($0,$1,$2) { + $0 = $0|0; + $1 = +$1; + $2 = +$2; + var $$050 = 0.0, $$051 = 0, $$054 = 0, $$1 = 0, $$148 = 0, $$152 = 0, $$253 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0.0, $21 = 0, $22 = 0; + var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0; + var $41 = 0, $42 = 0, $43 = 0, $44 = 0.0, $45 = 0, $46 = 0.0, $47 = 0, $48 = 0, $49 = 0, $5 = 0.0, $50 = 0, $51 = 0, $52 = 0.0, $53 = 0.0, $54 = 0.0, $55 = 0.0, $56 = 0, $57 = 0.0, $58 = 0.0, $59 = 0; + var $6 = 0.0, $60 = 0, $61 = 0.0, $62 = 0.0, $63 = 0.0, $64 = 0.0, $65 = 0.0, $66 = 0.0, $7 = 0.0, $8 = 0, $9 = 0.0, $indvars$iv = 0, $indvars$iv$next = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ((($0)) + 56|0); + $4 = HEAP32[$3>>2]|0; + switch ($4|0) { + case 0: { + $5 = $2 * 64.0; + $6 = $1 - $5; + $7 = (+_jar_xm_linear_frequency($6)); + $$050 = $7; + return (+$$050); + break; + } + case 1: { + $8 = $2 == 0.0; + if ($8) { + $9 = (+_jar_xm_amiga_frequency($1)); + $$050 = $9; + return (+$$050); + } + $10 = $1 > 1712.0; + if ($10) { + $$051 = -1; + while(1) { + $11 = $$051 << 24 >> 24; + $12 = (0 - ($11))|0; + $13 = 1712 << $12; + $14 = (+($13|0)); + $15 = $14 < $1; + $16 = (($$051) + -1)<<24>>24; + if ($15) { + $$051 = $16; + } else { + $$253 = $$051; + break; + } + } + } else { + $17 = $1 < 856.0; + if ($17) { + $$152 = 1; + while(1) { + $18 = $$152 << 24 >> 24; + $19 = 856 >>> $18; + $20 = (+($19|0)); + $21 = $20 > $1; + $22 = (($$152) + 1)<<24>>24; + if ($21) { + $$152 = $22; + } else { + $$253 = $$152; + break; + } + } + } else { + $$253 = 0; + } + } + $23 = $$253 << 24 >> 24; + $24 = ($$253<<24>>24)>(0); + $25 = ($$253<<24>>24)<(0); + $26 = (0 - ($23))|0; + $indvars$iv = 0; + while(1) { + $27 = (5588 + ($indvars$iv<<1)|0); + $28 = HEAP16[$27>>1]|0; + $29 = (($indvars$iv) + 1)|0; + $30 = (5588 + ($29<<1)|0); + $31 = HEAP16[$30>>1]|0; + if ($24) { + $32 = $28&65535; + $33 = $32 >>> $23; + $34 = $33&65535; + $35 = $31&65535; + $36 = $35 >>> $23; + $37 = $36&65535; + $$1 = $37;$$148 = $34; + } else { + if ($25) { + $38 = $31&65535; + $39 = $38 << $26; + $40 = $28&65535; + $41 = $40 << $26; + $42 = $41&65535; + $43 = $39&65535; + $$1 = $43;$$148 = $42; + } else { + $$1 = $31;$$148 = $28; + } + } + $44 = (+($$1&65535)); + $45 = !($44 <= $1); + $46 = (+($$148&65535)); + $47 = !($46 >= $1); + $or$cond = $47 | $45; + $48 = $indvars$iv&255; + if (!($or$cond)) { + $$054 = $48; + break; + } + $indvars$iv$next = (($indvars$iv) + 1)|0; + $49 = ($indvars$iv$next>>>0)<(12); + if ($49) { + $indvars$iv = $indvars$iv$next; + } else { + $$054 = 0; + break; + } + } + $50 = $$253 << 24 >> 24; + $51 = (($50) + 2)|0; + $52 = (+($51|0)); + $53 = $52 * 12.0; + $54 = (+($$054&255)); + $55 = $53 + $54; + $56 = $$148&65535; + $57 = (+($$148&65535)); + $58 = $1 - $57; + $59 = $$1&65535; + $60 = (($59) - ($56))|0; + $61 = (+($60|0)); + $62 = $58 / $61; + $63 = $55 + $62; + $64 = $63 + $2; + $65 = (+_jar_xm_amiga_period($64)); + $66 = (+_jar_xm_amiga_frequency($65)); + $$050 = $66; + return (+$$050); + break; + } + default: { + $$050 = 0.0; + return (+$$050); + } + } + return +(0.0); +} +function _jar_xm_linear_frequency($0) { + $0 = +$0; + var $1 = 0.0, $2 = 0.0, $3 = 0.0, $exp2 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $1 = 4608.0 - $0; + $2 = $1 / 768.0; + $exp2 = (+_llvm_exp2_f32((+$2))); + $3 = $exp2 * 8363.0; + return (+$3); +} +function _jar_xm_amiga_frequency($0) { + $0 = +$0; + var $$0 = 0.0, $1 = 0, $2 = 0.0, $3 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $1 = $0 == 0.0; + $2 = $0 * 2.0; + $3 = 7093789.0 / $2; + $$0 = $1 ? 0.0 : $3; + return (+$$0); +} +function _jar_xm_envelope_tick($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$043 = 0, $$lcssa = 0, $$lcssa42 = 0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; + var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0.0, $56 = 0.0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0; + var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $4 = ((($1)) + 48|0); + $5 = HEAP8[$4>>0]|0; + $6 = ($5&255)<(2); + if ($6) { + $7 = ($5<<24>>24)==(1); + if (!($7)) { + return; + } + $8 = ((($1)) + 2|0); + $9 = HEAP16[$8>>1]|0; + $10 = (+($9&65535)); + $11 = $10 * 0.015625; + HEAPF32[$3>>2] = $11; + $12 = $11 > 1.0; + if (!($12)) { + return; + } + HEAPF32[$3>>2] = 1.0; + return; + } + $13 = ((($1)) + 60|0); + $14 = HEAP32[$13>>2]|0; + $15 = ($14|0)==(0); + if (!($15)) { + $16 = ((($1)) + 51|0); + $17 = HEAP8[$16>>0]|0; + $18 = $17&255; + $19 = (($1) + ($18<<2)|0); + $20 = HEAP16[$19>>1]|0; + $21 = HEAP16[$2>>1]|0; + $22 = ($21&65535)<($20&65535); + if (!($22)) { + $23 = $21&65535; + $24 = $20&65535; + $25 = ((($1)) + 50|0); + $26 = HEAP8[$25>>0]|0; + $27 = $26&255; + $28 = (($1) + ($27<<2)|0); + $29 = HEAP16[$28>>1]|0; + $30 = $29&65535; + $31 = (($23) - ($24))|0; + $32 = (($31) + ($30))|0; + $33 = $32&65535; + HEAP16[$2>>1] = $33; + } + } + $34 = HEAP8[$4>>0]|0; + $35 = ($34&255)>(2); + $36 = HEAP16[$2>>1]|0; + L15: do { + if ($35) { + $$043 = 0;$38 = 0;$41 = $36; + while(1) { + $37 = (($1) + ($38<<2)|0); + $39 = HEAP16[$37>>1]|0; + $40 = ($39&65535)>($41&65535); + if (!($40)) { + $42 = (($38) + 1)|0; + $43 = (($1) + ($42<<2)|0); + $44 = HEAP16[$43>>1]|0; + $45 = ($44&65535)<($41&65535); + if (!($45)) { + $$lcssa = $41;$$lcssa42 = $38; + break L15; + } + } + $46 = (($$043) + 1)<<24>>24; + $47 = $46&255; + $48 = HEAP8[$4>>0]|0; + $49 = $48&255; + $50 = (($49) + -2)|0; + $51 = ($47|0)<($50|0); + $52 = HEAP16[$2>>1]|0; + if ($51) { + $$043 = $46;$38 = $47;$41 = $52; + } else { + $$lcssa = $52;$$lcssa42 = $47; + break; + } + } + } else { + $$lcssa = $36;$$lcssa42 = 0; + } + } while(0); + $53 = (($1) + ($$lcssa42<<2)|0); + $54 = ((($53)) + 4|0); + $55 = (+_jar_xm_envelope_lerp($53,$54,$$lcssa)); + $56 = $55 * 0.015625; + HEAPF32[$3>>2] = $56; + $57 = ((($0)) + 52|0); + $58 = HEAP32[$57>>2]|0; + $59 = ($58|0)==(0); + if (!($59)) { + $60 = ((($1)) + 56|0); + $61 = HEAP32[$60>>2]|0; + $62 = ($61|0)==(0); + if (!($62)) { + $63 = HEAP16[$2>>1]|0; + $64 = ((($1)) + 49|0); + $65 = HEAP8[$64>>0]|0; + $66 = $65&255; + $67 = (($1) + ($66<<2)|0); + $68 = HEAP16[$67>>1]|0; + $69 = ($63<<16>>16)==($68<<16>>16); + if ($69) { + return; + } + } + } + $70 = HEAP16[$2>>1]|0; + $71 = (($70) + 1)<<16>>16; + HEAP16[$2>>1] = $71; + return; +} +function _jar_xm_envelope_lerp($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$0 = 0.0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0.0, $18 = 0, $19 = 0.0, $20 = 0.0, $21 = 0, $22 = 0, $23 = 0.0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0.0, $28 = 0.0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $3 = $2&65535; + $4 = HEAP16[$0>>1]|0; + $5 = $4&65535; + $6 = ($4&65535)<($2&65535); + if (!($6)) { + $7 = ((($0)) + 2|0); + $8 = HEAP16[$7>>1]|0; + $9 = (+($8&65535)); + $$0 = $9; + return (+$$0); + } + $10 = HEAP16[$1>>1]|0; + $11 = ($10&65535)>($2&65535); + $12 = ((($1)) + 2|0); + $13 = HEAP16[$12>>1]|0; + if ($11) { + $15 = $10&65535; + $16 = (($3) - ($5))|0; + $17 = (+($16|0)); + $18 = (($15) - ($5))|0; + $19 = (+($18|0)); + $20 = $17 / $19; + $21 = ((($0)) + 2|0); + $22 = HEAP16[$21>>1]|0; + $23 = (+($22&65535)); + $24 = 1.0 - $20; + $25 = $24 * $23; + $26 = (+($13&65535)); + $27 = $26 * $20; + $28 = $27 + $25; + $$0 = $28; + return (+$$0); + } else { + $14 = (+($13&65535)); + $$0 = $14; + return (+$$0); + } + return +(0.0); +} +function _jar_xm_post_pattern_change($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 348|0); + $2 = HEAP8[$1>>0]|0; + $3 = $2&255; + $4 = ((($0)) + 46|0); + $5 = HEAP16[$4>>1]|0; + $6 = $5&65535; + $7 = ($3>>>0)<($6>>>0); + if ($7) { + return; + } + $8 = ((($0)) + 48|0); + $9 = HEAP16[$8>>1]|0; + $10 = $9&255; + HEAP8[$1>>0] = $10; + return; +} +function _jar_xm_create_context_safe($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$0 = 0, $$06364 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; + var $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $vararg_buffer = 0, $vararg_buffer2 = 0, $vararg_buffer6 = 0, $vararg_ptr1 = 0, $vararg_ptr5 = 0, $vararg_ptr9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $vararg_buffer6 = sp + 16|0; + $vararg_buffer2 = sp + 8|0; + $vararg_buffer = sp; + $4 = (_jar_xm_check_sanity_preload($1,$2)|0); + $5 = ($4|0)==(0); + if (!($5)) { + $6 = HEAP32[1261]|0; + HEAP32[$vararg_buffer>>2] = 17833; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $4; + (_fprintf($6,17756,$vararg_buffer)|0); + (_fflush($6)|0); + $$0 = 1; + STACKTOP = sp;return ($$0|0); + } + $7 = (_jar_xm_get_memory_needed_for_context($1,$2)|0); + $8 = (_malloc($7)|0); + $9 = ($8|0)==(0|0); + $10 = ($7|0)!=(0); + $or$cond = $10 & $9; + if ($or$cond) { + $11 = HEAP32[1261]|0; + HEAP32[$vararg_buffer2>>2] = 17833; + $vararg_ptr5 = ((($vararg_buffer2)) + 4|0); + HEAP32[$vararg_ptr5>>2] = $8; + (_fprintf($11,17860,$vararg_buffer2)|0); + (_fflush($11)|0); + $$0 = 2; + STACKTOP = sp;return ($$0|0); + } + _memset(($8|0),0,($7|0))|0; + HEAP32[$0>>2] = $8; + HEAP32[$8>>2] = $8; + $12 = ((($8)) + 392|0); + $13 = ((($8)) + 324|0); + HEAP32[$13>>2] = $3; + $14 = (_jar_xm_load_module($8,$1,$2,$12)|0); + $15 = ((($8)) + 388|0); + HEAP32[$15>>2] = $14; + $16 = ((($8)) + 50|0); + $17 = HEAP16[$16>>1]|0; + $18 = $17&65535; + $19 = ($18*304)|0; + $20 = (($14) + ($19)|0); + $21 = ((($8)) + 332|0); + HEAPF32[$21>>2] = 1.0; + $22 = ((($8)) + 336|0); + HEAPF32[$22>>2] = 0.25; + $23 = ((($8)) + 340|0); + HEAPF32[$23>>2] = 0.0078125; + $24 = ((($8)) + 344|0); + HEAPF32[$24>>2] = 0.0078125; + $25 = HEAP16[$16>>1]|0; + $26 = ($25<<16>>16)==(0); + if (!($26)) { + $27 = HEAP32[$15>>2]|0; + $28 = HEAP16[$16>>1]|0; + $29 = $28&65535; + $$06364 = 0;$34 = 0; + while(1) { + $33 = (((($27) + (($34*304)|0)|0)) + 36|0); + HEAP32[$33>>2] = 1; + $35 = (((($27) + (($34*304)|0)|0)) + 104|0); + HEAP32[$35>>2] = 0; + $36 = (((($27) + (($34*304)|0)|0)) + 108|0); + HEAP32[$36>>2] = 1; + $37 = (((($27) + (($34*304)|0)|0)) + 120|0); + HEAP32[$37>>2] = 0; + $38 = (((($27) + (($34*304)|0)|0)) + 124|0); + HEAP32[$38>>2] = 1; + $39 = (((($27) + (($34*304)|0)|0)) + 56|0); + HEAPF32[$39>>2] = 1.0; + $40 = (((($27) + (($34*304)|0)|0)) + 60|0); + HEAPF32[$40>>2] = 1.0; + $41 = (((($27) + (($34*304)|0)|0)) + 40|0); + HEAPF32[$41>>2] = 1.0; + $42 = (((($27) + (($34*304)|0)|0)) + 64|0); + HEAPF32[$42>>2] = 0.5; + $43 = (((($27) + (($34*304)|0)|0)) + 44|0); + HEAPF32[$43>>2] = 0.5; + $44 = (((($27) + (($34*304)|0)|0)) + 300|0); + HEAPF32[$44>>2] = 0.0; + $45 = (((($27) + (($34*304)|0)|0)) + 296|0); + HEAPF32[$45>>2] = 0.5; + $46 = (($$06364) + 1)<<24>>24; + $47 = $46&255; + $48 = ($47>>>0)<($29>>>0); + if ($48) { + $$06364 = $46;$34 = $47; + } else { + break; + } + } + } + $30 = ((($8)) + 380|0); + HEAP32[$30>>2] = $20; + $31 = (_jar_xm_check_sanity_postload($8)|0); + $32 = ($31|0)==(0); + if ($32) { + $$0 = 0; + STACKTOP = sp;return ($$0|0); + } + $49 = HEAP32[1261]|0; + HEAP32[$vararg_buffer6>>2] = 17833; + $vararg_ptr9 = ((($vararg_buffer6)) + 4|0); + HEAP32[$vararg_ptr9>>2] = $31; + (_fprintf($49,17904,$vararg_buffer6)|0); + (_fflush($49)|0); + _jar_xm_free_context($8); + $$0 = 1; + STACKTOP = sp;return ($$0|0); +} +function _jar_xm_check_sanity_preload($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$ = 0, $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ($1>>>0)<(60); + if ($2) { + $$0 = 4; + return ($$0|0); + } + $3 = (_memcmp(18121,$0,17)|0); + $4 = ($3|0)==(0); + if (!($4)) { + $$0 = 1; + return ($$0|0); + } + $5 = ((($0)) + 37|0); + $6 = HEAP8[$5>>0]|0; + $7 = ($6<<24>>24)==(26); + if (!($7)) { + $$0 = 2; + return ($$0|0); + } + $8 = ((($0)) + 59|0); + $9 = HEAP8[$8>>0]|0; + $10 = ($9<<24>>24)==(1); + if ($10) { + $11 = ((($0)) + 58|0); + $12 = HEAP8[$11>>0]|0; + $13 = ($12<<24>>24)==(4); + $$ = $13 ? 0 : 3; + return ($$|0); + } else { + $$0 = 3; + return ($$0|0); + } + return (0)|0; +} +function _jar_xm_get_memory_needed_for_context($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0$lcssa = 0, $$0209$lcssa = 0, $$0209274 = 0, $$0212262 = 0, $$0213$lcssa = 0, $$0213261 = 0, $$0214 = 0, $$0215267 = 0, $$0216273 = 0, $$0275 = 0, $$1$lcssa = 0, $$1210268 = 0, $$1269 = 0, $$2$lcssa = 0, $$2211$lcssa = 0, $$2211263 = 0, $$2264 = 0, $$3 = 0, $$ph = 0, $$ph228 = 0; + var $$ph233 = 0, $$ph234 = 0, $$ph237 = 0, $$ph238 = 0, $$ph239 = 0, $$ph240 = 0, $$ph241 = 0, $$ph242 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0; var $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0; var $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0; var $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0; @@ -30793,13 +44965,522 @@ function _start_decoder($f) { var $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0; var $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0; var $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0; - var $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0.0, $247 = 0, $248 = 0, $249 = 0.0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0; + var $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0; var $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0; - var $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0; - var $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0; - var $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0.0, $324 = 0.0, $325 = 0.0, $326 = 0.0; - var $327 = 0.0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0; - var $345 = 0, $346 = 0, $347 = 0, $348 = 0.0, $349 = 0.0, $35 = 0, $350 = 0.0, $351 = 0.0, $352 = 0.0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0; + var $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $3 = 0; + var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0; + var $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0; + var $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0; + var $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $phitmp = 0, $phitmp294 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ($1>>>0)>(68); + $3 = ($1>>>0)>(69); + if ($2) { + $4 = ((($0)) + 68|0); + $5 = HEAP8[$4>>0]|0; + $6 = $5&255; + $12 = $6; + } else { + $12 = 0; + } + do { + if ($3) { + $7 = ((($0)) + 69|0); + $8 = HEAP8[$7>>0]|0; + $9 = $8&255; + $10 = $9 << 8; + $11 = $10 | $12; + $13 = ($1|0)==(70); + do { + if ($13) { + $$ph = 0;$$ph233 = 0;$$ph234 = 0; + } else { + $14 = ((($0)) + 70|0); + $15 = HEAP8[$14>>0]|0; + $16 = $15&255; + $17 = ($1>>>0)>(71); + if (!($17)) { + $18 = $16 << 3; + $$ph = $18;$$ph233 = 0;$$ph234 = $16; + break; + } + $19 = ((($0)) + 71|0); + $20 = HEAP8[$19>>0]|0; + $21 = $20&255; + $22 = $21 << 8; + $23 = $22 | $16; + $24 = $23 << 3; + $25 = ($1|0)==(72); + if ($25) { + $$ph = $24;$$ph233 = 0;$$ph234 = $23; + } else { + $26 = ((($0)) + 72|0); + $27 = HEAP8[$26>>0]|0; + $28 = $27&255; + $29 = ($1>>>0)>(73); + if ($29) { + $30 = ((($0)) + 73|0); + $31 = HEAP8[$30>>0]|0; + $32 = $31&255; + $phitmp294 = $32 << 8; + $$ph228 = $phitmp294; + } else { + $$ph228 = 0; + } + $33 = $$ph228 | $28; + $34 = ($33*280)|0; + $35 = (($34) + ($24))|0; + $$ph = $35;$$ph233 = $33;$$ph234 = $23; + } + } + } while(0); + $37 = ((($0)) + 64|0); + $38 = HEAP8[$37>>0]|0; + $39 = $38&255; + $284 = $39;$285 = $11;$286 = $$ph234;$287 = $$ph233;$288 = $$ph; + label = 14; + } else { + $36 = ($1>>>0)>(64); + if ($36) { + $40 = ((($0)) + 64|0); + $41 = HEAP8[$40>>0]|0; + $42 = $41&255; + $43 = ($1|0)==(65); + if ($43) { + $$ph237 = $42;$$ph238 = $12;$$ph239 = 0;$$ph240 = 0;$$ph241 = 0;$$ph242 = 0; + label = 15; + break; + } else { + $284 = $42;$285 = $12;$286 = 0;$287 = 0;$288 = 0; + label = 14; + break; + } + } + $61 = ($1>>>0)>(62); + if (!($61)) { + $$1$lcssa = 0;$155 = $12; + $154 = ($155*304)|0; + $156 = (($154) + 392)|0; + $157 = (($156) + ($$1$lcssa))|0; + return ($157|0); + } + $62 = ((($0)) + 61|0); + $63 = HEAP8[$62>>0]|0; + $64 = $63&255; + $65 = $64 << 8; + $66 = ((($0)) + 60|0); + $67 = HEAP8[$66>>0]|0; + $68 = $67&255; + $69 = $65 | $68; + $70 = ((($0)) + 62|0); + $71 = HEAP8[$70>>0]|0; + $72 = $71&255; + $73 = ($1|0)==(63); + if ($73) { + $$1$lcssa = 0;$155 = $12; + $154 = ($155*304)|0; + $156 = (($154) + 392)|0; + $157 = (($156) + ($$1$lcssa))|0; + return ($157|0); + } else { + $289 = 0;$79 = $72;$82 = $69;$85 = 0;$87 = $12;$89 = 0; + } + } + } while(0); + if ((label|0) == 14) { + $44 = ((($0)) + 65|0); + $45 = HEAP8[$44>>0]|0; + $46 = $45&255; + $phitmp = $46 << 8; + $$ph237 = $284;$$ph238 = $285;$$ph239 = $286;$$ph240 = $287;$$ph241 = $288;$$ph242 = $phitmp; + label = 15; + } + if ((label|0) == 15) { + $47 = $$ph242 | $$ph237; + $48 = $47 << 8; + $49 = (($48) + ($$ph241))|0; + $50 = ((($0)) + 60|0); + $51 = HEAP8[$50>>0]|0; + $52 = $51&255; + $53 = ((($0)) + 61|0); + $54 = HEAP8[$53>>0]|0; + $55 = $54&255; + $56 = $55 << 8; + $57 = $56 | $52; + $58 = ((($0)) + 62|0); + $59 = HEAP8[$58>>0]|0; + $60 = $59&255; + $289 = $49;$79 = $60;$82 = $57;$85 = $$ph239;$87 = $$ph238;$89 = $$ph240; + } + $74 = ((($0)) + 63|0); + $75 = HEAP8[$74>>0]|0; + $76 = $75&255; + $77 = $76 << 8; + $78 = $77 | $79; + $80 = $78 << 16; + $81 = $80 | $82; + $83 = (($81) + 60)|0; + $84 = ($85|0)==(0); + if ($84) { + $$0$lcssa = $289;$$0209$lcssa = $83; + } else { + $86 = ($87*5)|0; + $$0209274 = $83;$$0216273 = 0;$$0275 = $289; + while(1) { + $90 = (($$0209274) + 5)|0; + $91 = ($90>>>0)<($1>>>0); + if ($91) { + $92 = (($0) + ($90)|0); + $93 = HEAP8[$92>>0]|0; + $94 = $93&255; + $103 = $94; + } else { + $103 = 0; + } + $95 = (($$0209274) + 6)|0; + $96 = ($95>>>0)<($1>>>0); + if ($96) { + $97 = (($0) + ($95)|0); + $98 = HEAP8[$97>>0]|0; + $99 = $98&255; + $101 = $99; + } else { + $101 = 0; + } + $100 = $101 << 8; + $102 = $100 | $103; + $104 = Math_imul($86, $102)|0; + $105 = (($104) + ($$0275))|0; + $106 = ($$0209274>>>0)<($1>>>0); + if ($106) { + $107 = (($0) + ($$0209274)|0); + $108 = HEAP8[$107>>0]|0; + $109 = $108&255; + $118 = $109; + } else { + $118 = 0; + } + $110 = (($$0209274) + 1)|0; + $111 = ($110>>>0)<($1>>>0); + if ($111) { + $112 = (($0) + ($110)|0); + $113 = HEAP8[$112>>0]|0; + $114 = $113&255; + $116 = $114; + } else { + $116 = 0; + } + $115 = $116 << 8; + $117 = $115 | $118; + $119 = (($$0209274) + 2)|0; + $120 = ($119>>>0)<($1>>>0); + if ($120) { + $121 = (($0) + ($119)|0); + $122 = HEAP8[$121>>0]|0; + $123 = $122&255; + $132 = $123; + } else { + $132 = 0; + } + $124 = (($$0209274) + 3)|0; + $125 = ($124>>>0)<($1>>>0); + if ($125) { + $126 = (($0) + ($124)|0); + $127 = HEAP8[$126>>0]|0; + $128 = $127&255; + $130 = $128; + } else { + $130 = 0; + } + $129 = $130 << 8; + $131 = $129 | $132; + $133 = $131 << 16; + $134 = $117 | $133; + $135 = (($$0209274) + 7)|0; + $136 = ($135>>>0)<($1>>>0); + if ($136) { + $137 = (($0) + ($135)|0); + $138 = HEAP8[$137>>0]|0; + $139 = $138&255; + $148 = $139; + } else { + $148 = 0; + } + $140 = (($$0209274) + 8)|0; + $141 = ($140>>>0)<($1>>>0); + if ($141) { + $142 = (($0) + ($140)|0); + $143 = HEAP8[$142>>0]|0; + $144 = $143&255; + $146 = $144; + } else { + $146 = 0; + } + $145 = $146 << 8; + $147 = $145 | $148; + $149 = (($134) + ($$0209274))|0; + $150 = (($149) + ($147))|0; + $151 = (($$0216273) + 1)<<16>>16; + $152 = $151&65535; + $153 = ($152>>>0)<($85>>>0); + if ($153) { + $$0209274 = $150;$$0216273 = $151;$$0275 = $105; + } else { + $$0$lcssa = $105;$$0209$lcssa = $150; + break; + } + } + } + $88 = ($89|0)==(0); + if ($88) { + $$1$lcssa = $$0$lcssa;$155 = $87; + $154 = ($155*304)|0; + $156 = (($154) + 392)|0; + $157 = (($156) + ($$1$lcssa))|0; + return ($157|0); + } else { + $$0215267 = 0;$$1210268 = $$0209$lcssa;$$1269 = $$0$lcssa; + } + while(1) { + $158 = (($$1210268) + 27)|0; + $159 = ($158>>>0)<($1>>>0); + if ($159) { + $160 = (($0) + ($158)|0); + $161 = HEAP8[$160>>0]|0; + $162 = $161&255; + $171 = $162; + } else { + $171 = 0; + } + $163 = (($$1210268) + 28)|0; + $164 = ($163>>>0)<($1>>>0); + if ($164) { + $165 = (($0) + ($163)|0); + $166 = HEAP8[$165>>0]|0; + $167 = $166&255; + $169 = $167; + } else { + $169 = 0; + } + $168 = $169 << 8; + $170 = $168 | $171; + $172 = ($170*80)|0; + $173 = (($172) + ($$1269))|0; + $174 = ($170|0)==(0); + if ($174) { + $$0214 = 0; + } else { + $175 = (($$1210268) + 29)|0; + $176 = ($175>>>0)<($1>>>0); + if ($176) { + $177 = (($0) + ($175)|0); + $178 = HEAP8[$177>>0]|0; + $179 = $178&255; + $188 = $179; + } else { + $188 = 0; + } + $180 = (($$1210268) + 30)|0; + $181 = ($180>>>0)<($1>>>0); + if ($181) { + $182 = (($0) + ($180)|0); + $183 = HEAP8[$182>>0]|0; + $184 = $183&255; + $186 = $184; + } else { + $186 = 0; + } + $185 = $186 << 8; + $187 = $185 | $188; + $189 = (($$1210268) + 31)|0; + $190 = ($189>>>0)<($1>>>0); + if ($190) { + $191 = (($0) + ($189)|0); + $192 = HEAP8[$191>>0]|0; + $193 = $192&255; + $202 = $193; + } else { + $202 = 0; + } + $194 = (($$1210268) + 32)|0; + $195 = ($194>>>0)<($1>>>0); + if ($195) { + $196 = (($0) + ($194)|0); + $197 = HEAP8[$196>>0]|0; + $198 = $197&255; + $200 = $198; + } else { + $200 = 0; + } + $199 = $200 << 8; + $201 = $199 | $202; + $203 = $201 << 16; + $204 = $187 | $203; + $$0214 = $204; + } + $205 = ($$1210268>>>0)<($1>>>0); + if ($205) { + $206 = (($0) + ($$1210268)|0); + $207 = HEAP8[$206>>0]|0; + $208 = $207&255; + $217 = $208; + } else { + $217 = 0; + } + $209 = (($$1210268) + 1)|0; + $210 = ($209>>>0)<($1>>>0); + if ($210) { + $211 = (($0) + ($209)|0); + $212 = HEAP8[$211>>0]|0; + $213 = $212&255; + $215 = $213; + } else { + $215 = 0; + } + $214 = $215 << 8; + $216 = $214 | $217; + $218 = (($$1210268) + 2)|0; + $219 = ($218>>>0)<($1>>>0); + if ($219) { + $220 = (($0) + ($218)|0); + $221 = HEAP8[$220>>0]|0; + $222 = $221&255; + $231 = $222; + } else { + $231 = 0; + } + $223 = (($$1210268) + 3)|0; + $224 = ($223>>>0)<($1>>>0); + if ($224) { + $225 = (($0) + ($223)|0); + $226 = HEAP8[$225>>0]|0; + $227 = $226&255; + $229 = $227; + } else { + $229 = 0; + } + $228 = $229 << 8; + $230 = $228 | $231; + $232 = $230 << 16; + $233 = $216 | $232; + $234 = (($233) + ($$1210268))|0; + $235 = ($170|0)==(0); + if ($235) { + $$0213$lcssa = 0;$$2$lcssa = $173;$$2211$lcssa = $234; + } else { + $$0212262 = 0;$$0213261 = 0;$$2211263 = $234;$$2264 = $173; + while(1) { + $240 = ($$2211263>>>0)<($1>>>0); + if ($240) { + $241 = (($0) + ($$2211263)|0); + $242 = HEAP8[$241>>0]|0; + $243 = $242&255; + $252 = $243; + } else { + $252 = 0; + } + $244 = (($$2211263) + 1)|0; + $245 = ($244>>>0)<($1>>>0); + if ($245) { + $246 = (($0) + ($244)|0); + $247 = HEAP8[$246>>0]|0; + $248 = $247&255; + $250 = $248; + } else { + $250 = 0; + } + $249 = $250 << 8; + $251 = $249 | $252; + $253 = (($$2211263) + 2)|0; + $254 = ($253>>>0)<($1>>>0); + if ($254) { + $255 = (($0) + ($253)|0); + $256 = HEAP8[$255>>0]|0; + $257 = $256&255; + $266 = $257; + } else { + $266 = 0; + } + $258 = (($$2211263) + 3)|0; + $259 = ($258>>>0)<($1>>>0); + if ($259) { + $260 = (($0) + ($258)|0); + $261 = HEAP8[$260>>0]|0; + $262 = $261&255; + $264 = $262; + } else { + $264 = 0; + } + $263 = $264 << 8; + $265 = $263 | $266; + $267 = $265 << 16; + $268 = $251 | $267; + $269 = (($$2211263) + 14)|0; + $270 = ($269>>>0)<($1>>>0); + if ($270) { + $271 = (($0) + ($269)|0); + $272 = HEAP8[$271>>0]|0; + $273 = $272&255; + $276 = $273; + } else { + $276 = 0; + } + $274 = (($268) + ($$0213261))|0; + $275 = $276 >>> 4; + $277 = $275 & 1; + $278 = (2 - ($277))|0; + $279 = $268 << $278; + $$3 = (($279) + ($$2264))|0; + $280 = (($$2211263) + ($$0214))|0; + $281 = (($$0212262) + 1)<<16>>16; + $282 = $281&65535; + $283 = ($282>>>0)<($170>>>0); + if ($283) { + $$0212262 = $281;$$0213261 = $274;$$2211263 = $280;$$2264 = $$3; + } else { + $$0213$lcssa = $274;$$2$lcssa = $$3;$$2211$lcssa = $280; + break; + } + } + } + $236 = (($$2211$lcssa) + ($$0213$lcssa))|0; + $237 = (($$0215267) + 1)<<16>>16; + $238 = $237&65535; + $239 = ($238>>>0)<($89>>>0); + if ($239) { + $$0215267 = $237;$$1210268 = $236;$$1269 = $$2$lcssa; + } else { + $$1$lcssa = $$2$lcssa;$155 = $87; + break; + } + } + $154 = ($155*304)|0; + $156 = (($154) + 392)|0; + $157 = (($156) + ($$1$lcssa))|0; + return ($157|0); +} +function _jar_xm_load_module($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$0668761 = 0, $$0669766 = 0, $$0670765 = 0, $$0671$lcssa = 0, $$0671787 = 0, $$0672$lcssa = 0, $$0672786 = 0, $$0677769 = 0, $$0678785 = 0, $$0679755 = 0, $$0680753 = 0, $$0681752 = 0, $$0682783 = 0, $$0687 = 0, $$0688776 = 0, $$0689782 = 0, $$0762 = 0, $$1$lcssa = 0, $$1673777 = 0, $$1683 = 0; + var $$1778 = 0, $$2 = 0, $$2674756 = 0, $$2684 = 0, $$3$lcssa794 = 0, $$3675$lcssa = 0, $$3675770 = 0, $$3685 = 0, $$3757 = 0, $$4 = 0, $$4676 = 0, $$4686 = 0, $$5 = 0, $$ph700 = 0, $$ph701 = 0, $$ph707 = 0, $$ph708 = 0, $$ph714 = 0, $$ph715 = 0, $$ph721 = 0; + var $$ph722 = 0, $$ph729 = 0, $$ph730 = 0, $$ph731 = 0, $$ph740 = 0, $$pn = 0, $$pn693 = 0, $$pr = 0, $$sink = 0, $$sink694 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0; + var $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0; + var $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0; + var $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0; + var $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0; + var $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0; + var $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0; + var $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0; + var $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0; + var $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0; + var $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0; + var $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0; + var $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0; + var $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0; + var $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0; var $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0; var $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0; var $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0; @@ -30822,4557 +45503,2070 @@ function _start_decoder($f) { var $705 = 0, $706 = 0, $707 = 0, $708 = 0, $709 = 0, $71 = 0, $710 = 0, $711 = 0, $712 = 0, $713 = 0, $714 = 0, $715 = 0, $716 = 0, $717 = 0, $718 = 0, $719 = 0, $72 = 0, $720 = 0, $721 = 0, $722 = 0; var $723 = 0, $724 = 0, $725 = 0, $726 = 0, $727 = 0, $728 = 0, $729 = 0, $73 = 0, $730 = 0, $731 = 0, $732 = 0, $733 = 0, $734 = 0, $735 = 0, $736 = 0, $737 = 0, $738 = 0, $739 = 0, $74 = 0, $740 = 0; var $741 = 0, $742 = 0, $743 = 0, $744 = 0, $745 = 0, $746 = 0, $747 = 0, $748 = 0, $749 = 0, $75 = 0, $750 = 0, $751 = 0, $752 = 0, $753 = 0, $754 = 0, $755 = 0, $756 = 0, $757 = 0, $758 = 0, $759 = 0; - var $76 = 0, $760 = 0, $761 = 0, $762 = 0, $763 = 0, $764 = 0, $765 = 0, $766 = 0, $767 = 0, $768 = 0, $769 = 0, $77 = 0, $770 = 0, $771 = 0, $772 = 0, $773 = 0, $774 = 0, $775 = 0, $776 = 0, $777 = 0; + var $76 = 0, $760 = 0, $761 = 0, $762 = 0, $763 = 0, $764 = 0, $765 = 0, $766 = 0, $767 = 0, $768 = 0.0, $769 = 0, $77 = 0, $770 = 0.0, $771 = 0, $772 = 0, $773 = 0, $774 = 0, $775 = 0, $776 = 0, $777 = 0; var $778 = 0, $779 = 0, $78 = 0, $780 = 0, $781 = 0, $782 = 0, $783 = 0, $784 = 0, $785 = 0, $786 = 0, $787 = 0, $788 = 0, $789 = 0, $79 = 0, $790 = 0, $791 = 0, $792 = 0, $793 = 0, $794 = 0, $795 = 0; - var $796 = 0, $797 = 0, $798 = 0, $799 = 0, $8 = 0, $80 = 0, $800 = 0, $801 = 0, $802 = 0, $803 = 0, $804 = 0, $805 = 0, $806 = 0, $807 = 0, $808 = 0, $809 = 0, $81 = 0, $810 = 0, $811 = 0, $812 = 0; + var $796 = 0, $797 = 0, $798 = 0, $799 = 0, $8 = 0, $80 = 0, $800 = 0, $801 = 0.0, $802 = 0, $803 = 0.0, $804 = 0, $805 = 0, $806 = 0, $807 = 0, $808 = 0, $809 = 0, $81 = 0, $810 = 0, $811 = 0, $812 = 0; var $813 = 0, $814 = 0, $815 = 0, $816 = 0, $817 = 0, $818 = 0, $819 = 0, $82 = 0, $820 = 0, $821 = 0, $822 = 0, $823 = 0, $824 = 0, $825 = 0, $826 = 0, $827 = 0, $828 = 0, $829 = 0, $83 = 0, $830 = 0; var $831 = 0, $832 = 0, $833 = 0, $834 = 0, $835 = 0, $836 = 0, $837 = 0, $838 = 0, $839 = 0, $84 = 0, $840 = 0, $841 = 0, $842 = 0, $843 = 0, $844 = 0, $845 = 0, $846 = 0, $847 = 0, $848 = 0, $849 = 0; - var $85 = 0, $850 = 0, $851 = 0, $852 = 0, $853 = 0, $854 = 0, $855 = 0, $856 = 0, $857 = 0, $858 = 0, $859 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0; - var $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $current_entry$0157 = 0, $current_length$0158 = 0, $current_length$0158$in = 0, $div$0174 = 0, $exitcond = 0, $header = 0, $hi = 0, $high_bits$0 = 0, $i$1186 = 0, $i$2148 = 0, $i$3142 = 0, $i$3142$lcssa270 = 0, $i$4107 = 0, $i$584 = 0; - var $i$669 = 0, $i$765 = 0, $i7$060 = 0, $j$0153 = 0, $j$10130 = 0, $j$11134 = 0, $j$1162 = 0, $j$12137 = 0, $j$1389 = 0, $j$1495 = 0, $j$15103 = 0, $j$1678 = 0, $j$1776 = 0, $j$1880 = 0, $j$2165 = 0, $j$3179 = 0, $j$4169 = 0, $j$5183 = 0, $j$659 = 0, $j$7112 = 0; - var $j$8119 = 0, $j$9127 = 0, $k$0175 = 0, $k$1116 = 0, $k$2123 = 0, $k$394 = 0, $k$499 = 0, $k$499$in = 0, $k$573 = 0, $lengths$0 = 0, $lengths$112 = 0, $lengths$113$ph = 0, $longest_floorlist$0$lcssa = 0, $longest_floorlist$0141 = 0, $low = 0, $max_class$0111 = 0, $max_part_read$0$lcssa = 0, $max_part_read$061 = 0, $or$cond = 0, $p = 0; - var $phitmp = 0, $phitmp195 = 0, $phitmp196 = 0, $sext = 0, $sorted_count$0161 = 0, $sorted_count$1 = 0, $sorted_count$2 = 0, $temp$098 = 0, $total$0152 = 0, $total$1 = 0, $total$2 = 0, $values$0 = 0, $values$1 = 0, label = 0, sp = 0; + var $85 = 0, $850 = 0, $851 = 0, $852 = 0, $853 = 0, $854 = 0, $855 = 0, $856 = 0, $857 = 0, $858 = 0, $859 = 0, $86 = 0, $860 = 0, $861 = 0, $862 = 0, $863 = 0, $864 = 0, $865 = 0.0, $866 = 0.0, $867 = 0; + var $868 = 0, $869 = 0, $87 = 0, $870 = 0, $871 = 0, $872 = 0, $873 = 0, $874 = 0, $875 = 0, $876 = 0, $877 = 0, $878 = 0, $879 = 0, $88 = 0, $880 = 0, $881 = 0.0, $882 = 0.0, $883 = 0, $884 = 0, $885 = 0; + var $886 = 0, $887 = 0, $888 = 0, $889 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond = 0, $exitcond793 = 0, $phitmp = 0, $phitmp804 = 0; + var $sext = 0, $sext690 = 0, $sext691 = 0, $sext692 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 1024|0; - $header = sp + 1008|0; - $p = sp + 8|0; - $low = sp; - $hi = sp + 4|0; - $0 = (_start_page($f)|0); - $1 = ($0|0)==(0); - if ($1) { - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - $2 = ((($f)) + 1391|0); - $3 = HEAP8[$2>>0]|0; - $4 = $3&255; - $5 = $4 & 2; - $6 = ($5|0)==(0); + $4 = ((($0)) + 4|0); + _memcpy_pad($4,20,$1,$2,17); + $5 = ((($0)) + 25|0); + _memcpy_pad($5,20,$1,$2,38); + $6 = ($2>>>0)>(60); if ($6) { - _error($f,34); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - $7 = $4 & 4; - $8 = ($7|0)==(0); - if (!($8)) { - _error($f,34); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - $9 = $4 & 1; - $10 = ($9|0)==(0); - if (!($10)) { - _error($f,34); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - $11 = ((($f)) + 1132|0); - $12 = HEAP32[$11>>2]|0; - $13 = ($12|0)==(1); - if (!($13)) { - _error($f,34); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - $14 = ((($f)) + 1136|0); - $15 = HEAP8[$14>>0]|0; - $16 = ($15<<24>>24)==(30); - if (!($16)) { - _error($f,34); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - $17 = (_get8($f)|0); - $18 = ($17<<24>>24)==(1); - if (!($18)) { - _error($f,34); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - $19 = (_getn($f,$header,6)|0); - $20 = ($19|0)==(0); - if ($20) { - _error($f,10); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - $21 = (_vorbis_validate($header)|0); - $22 = ($21|0)==(0); - if ($22) { - _error($f,34); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - $23 = (_get32($f)|0); - $24 = ($23|0)==(0); - if (!($24)) { - _error($f,34); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - $25 = (_get8($f)|0); - $26 = $25&255; - $27 = ((($f)) + 4|0); - HEAP32[$27>>2] = $26; - $28 = ($25<<24>>24)==(0); - if ($28) { - _error($f,34); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - $29 = ($25&255)>(16); - if ($29) { - _error($f,5); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - $30 = (_get32($f)|0); - HEAP32[$f>>2] = $30; - $31 = ($30|0)==(0); - if ($31) { - _error($f,34); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - (_get32($f)|0); - (_get32($f)|0); - (_get32($f)|0); - $32 = (_get8($f)|0); - $33 = $32&255; - $34 = $33 & 15; - $35 = $33 >>> 4; - $36 = 1 << $34; - $37 = ((($f)) + 128|0); - HEAP32[$37>>2] = $36; - $38 = 1 << $35; - $39 = ((($f)) + 132|0); - HEAP32[$39>>2] = $38; - $$off = (($34) + -6)|0; - $40 = ($$off>>>0)>(7); - if ($40) { - _error($f,20); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - $$off7 = (($32) + -96)<<24>>24; - $41 = ($$off7<<24>>24)<(0); - if ($41) { - _error($f,20); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - $42 = ($34>>>0)>($35>>>0); - if ($42) { - _error($f,20); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - $43 = (_get8($f)|0); - $44 = $43 & 1; - $45 = ($44<<24>>24)==(0); - if ($45) { - _error($f,34); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - $46 = (_start_page($f)|0); - $47 = ($46|0)==(0); - if ($47) { - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - $48 = (_start_packet($f)|0); - $49 = ($48|0)==(0); - if ($49) { - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - $50 = ((($f)) + 1392|0); - while(1) { - $51 = (_next_segment($f)|0); - _skip($f,$51); - HEAP8[$50>>0] = 0; - $52 = ($51|0)==(0); - if ($52) { - break; - } - } - $53 = (_start_packet($f)|0); - $54 = ($53|0)==(0); - if ($54) { - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - $55 = ((($f)) + 48|0); - $56 = HEAP8[$55>>0]|0; - $57 = ($56<<24>>24)==(0); - do { - if (!($57)) { - $58 = (_is_whole_packet_present($f,1)|0); - $59 = ($58|0)==(0); - if (!($59)) { - break; - } - $60 = ((($f)) + 116|0); - $61 = HEAP32[$60>>2]|0; - $62 = ($61|0)==(21); - if (!($62)) { - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - HEAP32[$60>>2] = 20; - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - } while(0); - _crc32_init(); - $63 = (_get8_packet($f)|0); - $64 = ($63|0)==(5); - if (!($64)) { - _error($f,20); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - $65 = (_get8_packet($f)|0); - $66 = $65&255; - HEAP8[$header>>0] = $66; - $67 = (_get8_packet($f)|0); - $68 = $67&255; - $69 = ((($header)) + 1|0); - HEAP8[$69>>0] = $68; - $70 = (_get8_packet($f)|0); - $71 = $70&255; - $72 = ((($header)) + 2|0); - HEAP8[$72>>0] = $71; - $73 = (_get8_packet($f)|0); - $74 = $73&255; - $75 = ((($header)) + 3|0); - HEAP8[$75>>0] = $74; - $76 = (_get8_packet($f)|0); - $77 = $76&255; - $78 = ((($header)) + 4|0); - HEAP8[$78>>0] = $77; - $79 = (_get8_packet($f)|0); - $80 = $79&255; - $81 = ((($header)) + 5|0); - HEAP8[$81>>0] = $80; - $82 = (_vorbis_validate($header)|0); - $83 = ($82|0)==(0); - if ($83) { - _error($f,20); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - $84 = (_get_bits($f,8)|0); - $85 = (($84) + 1)|0; - $86 = ((($f)) + 136|0); - HEAP32[$86>>2] = $85; - $87 = ($85*2096)|0; - $88 = (_setup_malloc($f,$87)|0); - $89 = ((($f)) + 140|0); - HEAP32[$89>>2] = $88; - $90 = ($88|0)==(0|0); - if ($90) { - _error($f,3); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - $91 = HEAP32[$86>>2]|0; - $92 = ($91*2096)|0; - _memset(($88|0),0,($92|0))|0; - $93 = HEAP32[$86>>2]|0; - $94 = ($93|0)>(0); - L100: do { - if ($94) { - $95 = ((($f)) + 16|0); - $96 = ((($f)) + 16|0); - $i$1186 = 0; - L102: while(1) { - $97 = HEAP32[$89>>2]|0; - $98 = (($97) + (($i$1186*2096)|0)|0); - $99 = (_get_bits($f,8)|0); - $100 = $99 & 255; - $101 = ($100|0)==(66); - if (!($101)) { - label = 52; - break; - } - $102 = (_get_bits($f,8)|0); - $103 = $102 & 255; - $104 = ($103|0)==(67); - if (!($104)) { - label = 54; - break; - } - $105 = (_get_bits($f,8)|0); - $106 = $105 & 255; - $107 = ($106|0)==(86); - if (!($107)) { - label = 56; - break; - } - $108 = (_get_bits($f,8)|0); - $109 = (_get_bits($f,8)|0); - $110 = $109 << 8; - $111 = $108 & 255; - $112 = $110 | $111; - HEAP32[$98>>2] = $112; - $113 = (_get_bits($f,8)|0); - $114 = (_get_bits($f,8)|0); - $115 = (_get_bits($f,8)|0); - $116 = $115 << 16; - $117 = $114 << 8; - $118 = $117 & 65280; - $119 = $113 & 255; - $120 = $118 | $119; - $121 = $120 | $116; - $122 = (((($97) + (($i$1186*2096)|0)|0)) + 4|0); - HEAP32[$122>>2] = $121; - $123 = (_get_bits($f,1)|0); - $124 = ($123|0)!=(0); - if ($124) { - $127 = 0; - } else { - $125 = (_get_bits($f,1)|0); - $127 = $125; - } - $126 = $127&255; - $128 = (((($97) + (($i$1186*2096)|0)|0)) + 23|0); - HEAP8[$128>>0] = $126; - $129 = ($126<<24>>24)==(0); - $130 = HEAP32[$122>>2]|0; - if ($129) { - $132 = (_setup_malloc($f,$130)|0); - $133 = (((($97) + (($i$1186*2096)|0)|0)) + 8|0); - HEAP32[$133>>2] = $132; - $lengths$0 = $132; - } else { - $131 = (_setup_temp_malloc($f,$130)|0); - $lengths$0 = $131; - } - $134 = ($lengths$0|0)==(0|0); - if ($134) { - label = 63; - break; - } - do { - if ($124) { - $137 = (_get_bits($f,5)|0); - $138 = HEAP32[$122>>2]|0; - $139 = ($138|0)>(0); - if ($139) { - $141 = $138;$current_entry$0157 = 0;$current_length$0158$in = $137; - } else { - $total$2 = 0; - break; - } - while(1) { - $current_length$0158 = (($current_length$0158$in) + 1)|0; - $140 = (($141) - ($current_entry$0157))|0; - $142 = (_ilog($140)|0); - $143 = (_get_bits($f,$142)|0); - $144 = (($143) + ($current_entry$0157))|0; - $145 = HEAP32[$122>>2]|0; - $146 = ($144|0)>($145|0); - if ($146) { - label = 68; - break L102; - } - $147 = (($lengths$0) + ($current_entry$0157)|0); - $148 = $current_length$0158&255; - _memset(($147|0),($148|0),($143|0))|0; - $149 = HEAP32[$122>>2]|0; - $150 = ($149|0)>($144|0); - if ($150) { - $141 = $149;$current_entry$0157 = $144;$current_length$0158$in = $current_length$0158; - } else { - $total$2 = 0; - break; - } - } - } else { - $135 = HEAP32[$122>>2]|0; - $136 = ($135|0)>(0); - if ($136) { - $j$0153 = 0;$total$0152 = 0; - } else { - $total$2 = 0; - break; - } - while(1) { - $151 = HEAP8[$128>>0]|0; - $152 = ($151<<24>>24)==(0); - do { - if ($152) { - label = 72; - } else { - $153 = (_get_bits($f,1)|0); - $154 = ($153|0)==(0); - if (!($154)) { - label = 72; - break; - } - $160 = (($lengths$0) + ($j$0153)|0); - HEAP8[$160>>0] = -1; - $total$1 = $total$0152; - } - } while(0); - if ((label|0) == 72) { - label = 0; - $155 = (_get_bits($f,5)|0); - $156 = (($155) + 1)|0; - $157 = $156&255; - $158 = (($lengths$0) + ($j$0153)|0); - HEAP8[$158>>0] = $157; - $159 = (($total$0152) + 1)|0; - $total$1 = $159; - } - $161 = (($j$0153) + 1)|0; - $162 = HEAP32[$122>>2]|0; - $163 = ($161|0)<($162|0); - if ($163) { - $j$0153 = $161;$total$0152 = $total$1; - } else { - $total$2 = $total$1; - break; - } - } - } - } while(0); - $164 = HEAP8[$128>>0]|0; - $165 = ($164<<24>>24)==(0); - do { - if ($165) { - $lengths$113$ph = $lengths$0; - label = 81; - } else { - $166 = HEAP32[$122>>2]|0; - $167 = $166 >> 2; - $168 = ($total$2|0)<($167|0); - if ($168) { - $$pr = HEAP8[$128>>0]|0; - $177 = ($$pr<<24>>24)==(0); - if ($177) { - $lengths$113$ph = $lengths$0; - label = 81; - break; - } else { - $lengths$112 = $lengths$0;$sorted_count$2 = $total$2; - break; - } - } - $169 = HEAP32[$96>>2]|0; - $170 = ($166|0)>($169|0); - if ($170) { - HEAP32[$96>>2] = $166; - } - $171 = HEAP32[$122>>2]|0; - $172 = (_setup_malloc($f,$171)|0); - $173 = (((($97) + (($i$1186*2096)|0)|0)) + 8|0); - HEAP32[$173>>2] = $172; - $174 = HEAP32[$122>>2]|0; - _memcpy(($172|0),($lengths$0|0),($174|0))|0; - $175 = HEAP32[$122>>2]|0; - _setup_temp_free($f,$lengths$0,$175); - $176 = HEAP32[$173>>2]|0; - HEAP8[$128>>0] = 0; - $lengths$113$ph = $176; - label = 81; - } - } while(0); - do { - if ((label|0) == 81) { - label = 0; - $178 = HEAP32[$122>>2]|0; - $179 = ($178|0)>(0); - if (!($179)) { - $lengths$112 = $lengths$113$ph;$sorted_count$2 = 0; - break; - } - $180 = HEAP32[$122>>2]|0; - $j$1162 = 0;$sorted_count$0161 = 0; - while(1) { - $181 = (($lengths$113$ph) + ($j$1162)|0); - $182 = HEAP8[$181>>0]|0; - $183 = ($182&255)<(11); - $184 = ($182<<24>>24)==(-1); - $or$cond = $183 | $184; - $185 = $or$cond&1; - $186 = $185 ^ 1; - $sorted_count$1 = (($186) + ($sorted_count$0161))|0; - $187 = (($j$1162) + 1)|0; - $188 = ($187|0)<($180|0); - if ($188) { - $j$1162 = $187;$sorted_count$0161 = $sorted_count$1; - } else { - $lengths$112 = $lengths$113$ph;$sorted_count$2 = $sorted_count$1; - break; - } - } - } - } while(0); - $189 = (((($97) + (($i$1186*2096)|0)|0)) + 2092|0); - HEAP32[$189>>2] = $sorted_count$2; - $190 = HEAP8[$128>>0]|0; - $191 = ($190<<24>>24)==(0); - do { - if ($191) { - $192 = HEAP32[$122>>2]|0; - $193 = $192 << 2; - $194 = (_setup_malloc($f,$193)|0); - $195 = (((($97) + (($i$1186*2096)|0)|0)) + 32|0); - HEAP32[$195>>2] = $194; - $196 = ($194|0)==(0|0); - if ($196) { - label = 86; - break L102; - } else { - $values$1 = 0; - } - } else { - $197 = ($sorted_count$2|0)==(0); - if ($197) { - $values$0 = 0; - } else { - $198 = (_setup_malloc($f,$sorted_count$2)|0); - $199 = (((($97) + (($i$1186*2096)|0)|0)) + 8|0); - HEAP32[$199>>2] = $198; - $200 = ($198|0)==(0|0); - if ($200) { - label = 89; - break L102; - } - $201 = HEAP32[$189>>2]|0; - $202 = $201 << 2; - $203 = (_setup_temp_malloc($f,$202)|0); - $204 = (((($97) + (($i$1186*2096)|0)|0)) + 32|0); - HEAP32[$204>>2] = $203; - $205 = ($203|0)==(0|0); - if ($205) { - label = 91; - break L102; - } - $206 = HEAP32[$189>>2]|0; - $207 = $206 << 2; - $208 = (_setup_temp_malloc($f,$207)|0); - $209 = ($208|0)==(0|0); - if ($209) { - label = 93; - break L102; - } else { - $values$0 = $208; - } - } - $210 = HEAP32[$122>>2]|0; - $211 = HEAP32[$189>>2]|0; - $212 = $211 << 3; - $213 = (($212) + ($210))|0; - $214 = HEAP32[$95>>2]|0; - $215 = ($213>>>0)>($214>>>0); - if (!($215)) { - $values$1 = $values$0; - break; - } - HEAP32[$95>>2] = $213; - $values$1 = $values$0; - } - } while(0); - $216 = HEAP32[$122>>2]|0; - _compute_codewords($98,$lengths$112,$216,$values$1); - $217 = HEAP32[$189>>2]|0; - $218 = ($217|0)==(0); - if (!($218)) { - $219 = $217 << 2; - $220 = (($219) + 4)|0; - $221 = (_setup_malloc($f,$220)|0); - $222 = (((($97) + (($i$1186*2096)|0)|0)) + 2084|0); - HEAP32[$222>>2] = $221; - $223 = HEAP32[$189>>2]|0; - $224 = $223 << 2; - $225 = (($224) + 4)|0; - $226 = (_setup_malloc($f,$225)|0); - $227 = (((($97) + (($i$1186*2096)|0)|0)) + 2088|0); - HEAP32[$227>>2] = $226; - $228 = ($226|0)==(0|0); - if (!($228)) { - $229 = ((($226)) + 4|0); - HEAP32[$227>>2] = $229; - HEAP32[$226>>2] = -1; - } - _compute_sorted_huffman($98,$lengths$112,$values$1); - } - $230 = HEAP8[$128>>0]|0; - $231 = ($230<<24>>24)==(0); - if (!($231)) { - $232 = HEAP32[$189>>2]|0; - $233 = $232 << 2; - _setup_temp_free($f,$values$1,$233); - $234 = (((($97) + (($i$1186*2096)|0)|0)) + 32|0); - $235 = HEAP32[$234>>2]|0; - $236 = HEAP32[$189>>2]|0; - $237 = $236 << 2; - _setup_temp_free($f,$235,$237); - $238 = HEAP32[$122>>2]|0; - _setup_temp_free($f,$lengths$112,$238); - HEAP32[$234>>2] = 0; - } - _compute_accelerated_huffman($98); - $239 = (_get_bits($f,4)|0); - $240 = $239&255; - $241 = (((($97) + (($i$1186*2096)|0)|0)) + 21|0); - HEAP8[$241>>0] = $240; - $242 = $239 & 255; - $243 = ($242>>>0)>(2); - if ($243) { - label = 103; - break; - } - $244 = ($242|0)==(0); - do { - if (!($244)) { - $245 = (_get_bits($f,32)|0); - $246 = (+_float32_unpack($245)); - $247 = (((($97) + (($i$1186*2096)|0)|0)) + 12|0); - HEAPF32[$247>>2] = $246; - $248 = (_get_bits($f,32)|0); - $249 = (+_float32_unpack($248)); - $250 = (((($97) + (($i$1186*2096)|0)|0)) + 16|0); - HEAPF32[$250>>2] = $249; - $251 = (_get_bits($f,4)|0); - $252 = (($251) + 1)|0; - $253 = $252&255; - $254 = (((($97) + (($i$1186*2096)|0)|0)) + 20|0); - HEAP8[$254>>0] = $253; - $255 = (_get_bits($f,1)|0); - $256 = $255&255; - $257 = (((($97) + (($i$1186*2096)|0)|0)) + 22|0); - HEAP8[$257>>0] = $256; - $258 = HEAP8[$241>>0]|0; - $259 = ($258<<24>>24)==(1); - $260 = HEAP32[$122>>2]|0; - $261 = HEAP32[$98>>2]|0; - if ($259) { - $262 = (_lookup1_values($260,$261)|0); - $263 = (((($97) + (($i$1186*2096)|0)|0)) + 24|0); - HEAP32[$263>>2] = $262; - } else { - $264 = Math_imul($261, $260)|0; - $265 = (((($97) + (($i$1186*2096)|0)|0)) + 24|0); - HEAP32[$265>>2] = $264; - } - $266 = (((($97) + (($i$1186*2096)|0)|0)) + 24|0); - $267 = HEAP32[$266>>2]|0; - $268 = $267 << 1; - $269 = (_setup_temp_malloc($f,$268)|0); - $270 = ($269|0)==(0|0); - if ($270) { - label = 110; - break L102; - } - $271 = HEAP32[$266>>2]|0; - $272 = ($271|0)>(0); - if ($272) { - $j$2165 = 0; - while(1) { - $273 = HEAP8[$254>>0]|0; - $274 = $273&255; - $275 = (_get_bits($f,$274)|0); - $276 = ($275|0)==(-1); - if ($276) { - $$lcssa276 = $266;$$lcssa279 = $269; - label = 112; - break L102; - } - $279 = $275&65535; - $280 = (($269) + ($j$2165<<1)|0); - HEAP16[$280>>1] = $279; - $281 = (($j$2165) + 1)|0; - $282 = HEAP32[$266>>2]|0; - $283 = ($281|0)<($282|0); - if ($283) { - $j$2165 = $281; - } else { - $$lcssa50 = $282; - break; - } - } - } else { - $$lcssa50 = $271; - } - $284 = HEAP8[$241>>0]|0; - $285 = ($284<<24>>24)==(1); - do { - if ($285) { - $286 = HEAP8[$128>>0]|0; - $287 = ($286<<24>>24)!=(0); - if ($287) { - $288 = HEAP32[$189>>2]|0; - $289 = ($288|0)==(0); - if ($289) { - label = 134; - break; - } - $290 = $288 << 2; - $291 = HEAP32[$98>>2]|0; - $292 = Math_imul($290, $291)|0; - $293 = (_setup_malloc($f,$292)|0); - $294 = (((($97) + (($i$1186*2096)|0)|0)) + 28|0); - HEAP32[$294>>2] = $293; - } else { - $295 = HEAP32[$122>>2]|0; - $296 = $295 << 2; - $297 = HEAP32[$98>>2]|0; - $298 = Math_imul($296, $297)|0; - $299 = (_setup_malloc($f,$298)|0); - $300 = (((($97) + (($i$1186*2096)|0)|0)) + 28|0); - HEAP32[$300>>2] = $299; - } - $301 = (((($97) + (($i$1186*2096)|0)|0)) + 28|0); - $302 = HEAP32[$301>>2]|0; - $303 = ($302|0)==(0|0); - if ($303) { - $$lcssa277 = $266;$$lcssa280 = $269; - label = 120; - break L102; - } - $$ = $287 ? $189 : $122; - $306 = HEAP32[$$>>2]|0; - $307 = ($306|0)>(0); - if ($307) { - $308 = (((($97) + (($i$1186*2096)|0)|0)) + 2088|0); - $309 = HEAP32[$98>>2]|0; - $310 = ($309|0)>(0); - $j$3179 = 0; - while(1) { - if ($287) { - $311 = HEAP32[$308>>2]|0; - $312 = (($311) + ($j$3179<<2)|0); - $313 = HEAP32[$312>>2]|0; - $318 = $313; - } else { - $318 = $j$3179; - } - if ($310) { - $314 = HEAP32[$266>>2]|0; - $315 = HEAP32[$301>>2]|0; - $316 = HEAP32[$98>>2]|0; - $329 = $309;$div$0174 = 1;$k$0175 = 0; - while(1) { - $317 = (($318|0) / ($div$0174|0))&-1; - $319 = (($317>>>0) % ($314>>>0))&-1; - $320 = (($269) + ($319<<1)|0); - $321 = HEAP16[$320>>1]|0; - $322 = $321&65535; - $323 = (+($322|0)); - $324 = +HEAPF32[$250>>2]; - $325 = $324 * $323; - $326 = +HEAPF32[$247>>2]; - $327 = $326 + $325; - $328 = Math_imul($329, $j$3179)|0; - $330 = (($328) + ($k$0175))|0; - $331 = (($315) + ($330<<2)|0); - HEAPF32[$331>>2] = $327; - $332 = Math_imul($314, $div$0174)|0; - $333 = (($k$0175) + 1)|0; - $334 = ($333|0)<($316|0); - if ($334) { - $329 = $316;$div$0174 = $332;$k$0175 = $333; - } else { - break; - } - } - } - $335 = (($j$3179) + 1)|0; - $exitcond = ($335|0)==($306|0); - if ($exitcond) { - break; - } else { - $j$3179 = $335; - } - } - } - $336 = HEAP32[$266>>2]|0; - $337 = $336 << 1; - _setup_temp_free($f,$269,$337); - HEAP8[$241>>0] = 2; - } else { - $338 = $$lcssa50 << 2; - $339 = (_setup_malloc($f,$338)|0); - $340 = (((($97) + (($i$1186*2096)|0)|0)) + 28|0); - HEAP32[$340>>2] = $339; - $341 = HEAP32[$266>>2]|0; - $342 = ($341|0)>(0); - if ($342) { - $343 = HEAP32[$340>>2]|0; - $344 = HEAP32[$266>>2]|0; - $j$4169 = 0; - while(1) { - $345 = (($269) + ($j$4169<<1)|0); - $346 = HEAP16[$345>>1]|0; - $347 = $346&65535; - $348 = (+($347|0)); - $349 = +HEAPF32[$250>>2]; - $350 = $349 * $348; - $351 = +HEAPF32[$247>>2]; - $352 = $351 + $350; - $353 = (($343) + ($j$4169<<2)|0); - HEAPF32[$353>>2] = $352; - $354 = (($j$4169) + 1)|0; - $355 = ($354|0)<($344|0); - if ($355) { - $j$4169 = $354; - } else { - $$lcssa52 = $344; - break; - } - } - } else { - $$lcssa52 = $341; - } - $356 = $$lcssa52 << 1; - _setup_temp_free($f,$269,$356); - label = 134; - } - } while(0); - if ((label|0) == 134) { - label = 0; - $$pr15 = HEAP8[$241>>0]|0; - $357 = ($$pr15<<24>>24)==(2); - if (!($357)) { - break; - } - } - $358 = HEAP8[$257>>0]|0; - $359 = ($358<<24>>24)==(0); - if ($359) { - break; - } - $360 = HEAP32[$266>>2]|0; - $361 = ($360|0)>(1); - if ($361) { - $362 = (((($97) + (($i$1186*2096)|0)|0)) + 28|0); - $363 = HEAP32[$362>>2]|0; - $364 = HEAP32[$266>>2]|0; - $j$5183 = 1; - while(1) { - $365 = (($j$5183) + -1)|0; - $366 = (($363) + ($365<<2)|0); - $367 = HEAP32[$366>>2]|0; - $368 = (($363) + ($j$5183<<2)|0); - HEAP32[$368>>2] = $367; - $369 = (($j$5183) + 1)|0; - $370 = ($369|0)<($364|0); - if ($370) { - $j$5183 = $369; - } else { - break; - } - } - } - HEAP8[$257>>0] = 0; - } - } while(0); - $371 = (($i$1186) + 1)|0; - $372 = HEAP32[$86>>2]|0; - $373 = ($371|0)<($372|0); - if ($373) { - $i$1186 = $371; - } else { - break L100; - } - } - switch (label|0) { - case 52: { - _error($f,20); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - break; - } - case 54: { - _error($f,20); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - break; - } - case 56: { - _error($f,20); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - break; - } - case 63: { - _error($f,3); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - break; - } - case 68: { - _error($f,20); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - break; - } - case 86: { - _error($f,3); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - break; - } - case 89: { - _error($f,3); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - break; - } - case 91: { - _error($f,3); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - break; - } - case 93: { - _error($f,3); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - break; - } - case 103: { - _error($f,20); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - break; - } - case 110: { - _error($f,3); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - break; - } - case 112: { - $277 = HEAP32[$$lcssa276>>2]|0; - $278 = $277 << 1; - _setup_temp_free($f,$$lcssa279,$278); - _error($f,20); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - break; - } - case 120: { - $304 = HEAP32[$$lcssa277>>2]|0; - $305 = $304 << 1; - _setup_temp_free($f,$$lcssa280,$305); - _error($f,3); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - break; - } - } - } - } while(0); - $374 = (_get_bits($f,6)|0); - $375 = (($374) + 1)|0; - $376 = $375 & 255; - $377 = ($376|0)==(0); - L241: do { - if (!($377)) { - $i$2148 = 0; - while(1) { - $380 = (_get_bits($f,16)|0); - $381 = ($380|0)==(0); - $378 = (($i$2148) + 1)|0; - if (!($381)) { - break; - } - $379 = ($378|0)<($376|0); - if ($379) { - $i$2148 = $378; - } else { - break L241; - } - } - _error($f,20); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - } while(0); - $382 = (_get_bits($f,6)|0); - $383 = (($382) + 1)|0; - $384 = ((($f)) + 144|0); - HEAP32[$384>>2] = $383; - $385 = ($383*1596)|0; - $386 = (_setup_malloc($f,$385)|0); - $387 = ((($f)) + 276|0); - HEAP32[$387>>2] = $386; - $388 = HEAP32[$384>>2]|0; - $389 = ($388|0)>(0); - do { - if ($389) { - $i$3142 = 0;$longest_floorlist$0141 = 0; - L250: while(1) { - $390 = (_get_bits($f,16)|0); - $391 = $390&65535; - $392 = (((($f)) + 148|0) + ($i$3142<<1)|0); - HEAP16[$392>>1] = $391; - $393 = $390 & 65535; - $394 = ($393>>>0)>(1); - if ($394) { - label = 148; - break; - } - $395 = ($393|0)==(0); - if ($395) { - $i$3142$lcssa270 = $i$3142; - label = 150; - break; - } - $425 = HEAP32[$387>>2]|0; - $426 = (_get_bits($f,5)|0); - $427 = $426&255; - $428 = (($425) + (($i$3142*1596)|0)|0); - HEAP8[$428>>0] = $427; - $429 = $426 & 255; - $430 = ($429|0)==(0); - do { - if (!($430)) { - $j$7112 = 0;$max_class$0111 = -1; - while(1) { - $432 = (_get_bits($f,4)|0); - $433 = $432&255; - $434 = ((((($425) + (($i$3142*1596)|0)|0)) + 1|0) + ($j$7112)|0); - HEAP8[$434>>0] = $433; - $435 = $432 & 255; - $436 = ($435|0)>($max_class$0111|0); - $$max_class$0 = $436 ? $435 : $max_class$0111; - $437 = (($j$7112) + 1)|0; - $438 = HEAP8[$428>>0]|0; - $439 = $438&255; - $440 = ($437|0)<($439|0); - if ($440) { - $j$7112 = $437;$max_class$0111 = $$max_class$0; - } else { - $$max_class$0$lcssa = $$max_class$0; - break; - } - } - $431 = ($$max_class$0$lcssa|0)<(0); - if ($431) { - break; - } else { - $j$8119 = 0; - } - while(1) { - $441 = (_get_bits($f,3)|0); - $442 = (($441) + 1)|0; - $443 = $442&255; - $444 = ((((($425) + (($i$3142*1596)|0)|0)) + 33|0) + ($j$8119)|0); - HEAP8[$444>>0] = $443; - $445 = (_get_bits($f,2)|0); - $446 = $445&255; - $447 = ((((($425) + (($i$3142*1596)|0)|0)) + 49|0) + ($j$8119)|0); - HEAP8[$447>>0] = $446; - $448 = ($446<<24>>24)==(0); - if ($448) { - $k$1116 = 0; - label = 161; - } else { - $450 = (_get_bits($f,8)|0); - $451 = $450&255; - $452 = ((((($425) + (($i$3142*1596)|0)|0)) + 65|0) + ($j$8119)|0); - HEAP8[$452>>0] = $451; - $453 = $450 & 255; - $454 = HEAP32[$86>>2]|0; - $455 = ($453|0)<($454|0); - if (!($455)) { - label = 159; - break L250; - } - $$pr213 = HEAP8[$447>>0]|0; - $449 = ($$pr213<<24>>24)==(31); - if (!($449)) { - $k$1116 = 0; - label = 161; - } - } - if ((label|0) == 161) { - while(1) { - label = 0; - $461 = (_get_bits($f,8)|0); - $462 = (($461) + 65535)|0; - $463 = $462&65535; - $464 = (((((($425) + (($i$3142*1596)|0)|0)) + 82|0) + ($j$8119<<4)|0) + ($k$1116<<1)|0); - HEAP16[$464>>1] = $463; - $sext = $462 << 16; - $465 = $sext >> 16; - $466 = HEAP32[$86>>2]|0; - $467 = ($465|0)<($466|0); - $459 = (($k$1116) + 1)|0; - if (!($467)) { - label = 162; - break L250; - } - $456 = HEAP8[$447>>0]|0; - $457 = $456&255; - $458 = 1 << $457; - $460 = ($459|0)<($458|0); - if ($460) { - $k$1116 = $459; - label = 161; - } else { - break; - } - } - } - $468 = (($j$8119) + 1)|0; - $469 = ($j$8119|0)<($$max_class$0$lcssa|0); - if ($469) { - $j$8119 = $468; - } else { - break; - } - } - } - } while(0); - $470 = (_get_bits($f,2)|0); - $471 = (($470) + 1)|0; - $472 = $471&255; - $473 = (((($425) + (($i$3142*1596)|0)|0)) + 1588|0); - HEAP8[$473>>0] = $472; - $474 = (_get_bits($f,4)|0); - $475 = $474&255; - $476 = (((($425) + (($i$3142*1596)|0)|0)) + 1589|0); - HEAP8[$476>>0] = $475; - $477 = (((($425) + (($i$3142*1596)|0)|0)) + 338|0); - HEAP16[$477>>1] = 0; - $478 = HEAP8[$476>>0]|0; - $479 = $478&255; - $480 = 1 << $479; - $481 = $480&65535; - $482 = (((($425) + (($i$3142*1596)|0)|0)) + 340|0); - HEAP16[$482>>1] = $481; - $483 = (((($425) + (($i$3142*1596)|0)|0)) + 1592|0); - HEAP32[$483>>2] = 2; - $484 = HEAP8[$428>>0]|0; - $485 = ($484<<24>>24)==(0); - if ($485) { - $j$10130 = 0; - label = 169; - } else { - $j$9127 = 0; - while(1) { - $487 = ((((($425) + (($i$3142*1596)|0)|0)) + 1|0) + ($j$9127)|0); - $488 = HEAP8[$487>>0]|0; - $489 = $488&255; - $490 = ((((($425) + (($i$3142*1596)|0)|0)) + 33|0) + ($489)|0); - $491 = HEAP8[$490>>0]|0; - $492 = ($491<<24>>24)==(0); - if (!($492)) { - $k$2123 = 0; - while(1) { - $493 = HEAP8[$476>>0]|0; - $494 = $493&255; - $495 = (_get_bits($f,$494)|0); - $496 = $495&65535; - $497 = HEAP32[$483>>2]|0; - $498 = ((((($425) + (($i$3142*1596)|0)|0)) + 338|0) + ($497<<1)|0); - HEAP16[$498>>1] = $496; - $499 = HEAP32[$483>>2]|0; - $500 = (($499) + 1)|0; - HEAP32[$483>>2] = $500; - $501 = (($k$2123) + 1)|0; - $502 = HEAP8[$490>>0]|0; - $503 = $502&255; - $504 = ($501|0)<($503|0); - if ($504) { - $k$2123 = $501; - } else { - break; - } - } - } - $505 = (($j$9127) + 1)|0; - $506 = HEAP8[$428>>0]|0; - $507 = $506&255; - $508 = ($505|0)<($507|0); - if ($508) { - $j$9127 = $505; - } else { - break; - } - } - $$pr214 = HEAP32[$483>>2]|0; - $486 = ($$pr214|0)>(0); - if ($486) { - $j$10130 = 0; - label = 169; - } else { - $$lcssa38 = $$pr214; - } - } - if ((label|0) == 169) { - while(1) { - label = 0; - $509 = ((((($425) + (($i$3142*1596)|0)|0)) + 338|0) + ($j$10130<<1)|0); - $510 = HEAP16[$509>>1]|0; - $511 = (($p) + ($j$10130<<2)|0); - HEAP16[$511>>1] = $510; - $512 = $j$10130&65535; - $513 = (((($p) + ($j$10130<<2)|0)) + 2|0); - HEAP16[$513>>1] = $512; - $514 = (($j$10130) + 1)|0; - $515 = HEAP32[$483>>2]|0; - $516 = ($514|0)<($515|0); - if ($516) { - $j$10130 = $514; - label = 169; - } else { - $$lcssa38 = $515; - break; - } - } - } - _qsort($p,$$lcssa38,4,3); - $517 = HEAP32[$483>>2]|0; - $518 = ($517|0)>(0); - do { - if ($518) { - $j$11134 = 0; - while(1) { - $520 = (((($p) + ($j$11134<<2)|0)) + 2|0); - $521 = HEAP16[$520>>1]|0; - $522 = $521&255; - $523 = ((((($425) + (($i$3142*1596)|0)|0)) + 838|0) + ($j$11134)|0); - HEAP8[$523>>0] = $522; - $524 = (($j$11134) + 1)|0; - $525 = HEAP32[$483>>2]|0; - $526 = ($524|0)<($525|0); - if ($526) { - $j$11134 = $524; - } else { - $$lcssa268 = $525; - break; - } - } - $519 = ($$lcssa268|0)>(2); - if ($519) { - $j$12137 = 2; - } else { - $$lcssa39 = $$lcssa268; - break; - } - while(1) { - _neighbors($477,$j$12137,$low,$hi); - $527 = HEAP32[$low>>2]|0; - $528 = $527&255; - $529 = ((((($425) + (($i$3142*1596)|0)|0)) + 1088|0) + ($j$12137<<1)|0); - HEAP8[$529>>0] = $528; - $530 = HEAP32[$hi>>2]|0; - $531 = $530&255; - $532 = ((((((($425) + (($i$3142*1596)|0)|0)) + 1088|0) + ($j$12137<<1)|0)) + 1|0); - HEAP8[$532>>0] = $531; - $533 = (($j$12137) + 1)|0; - $534 = HEAP32[$483>>2]|0; - $535 = ($533|0)<($534|0); - if ($535) { - $j$12137 = $533; - } else { - $$lcssa39 = $534; - break; - } - } - } else { - $$lcssa39 = $517; - } - } while(0); - $536 = ($$lcssa39|0)>($longest_floorlist$0141|0); - $$longest_floorlist$0 = $536 ? $$lcssa39 : $longest_floorlist$0141; - $537 = (($i$3142) + 1)|0; - $538 = HEAP32[$384>>2]|0; - $539 = ($537|0)<($538|0); - if ($539) { - $i$3142 = $537;$longest_floorlist$0141 = $$longest_floorlist$0; - } else { - $$longest_floorlist$0$lcssa = $$longest_floorlist$0; - label = 176; - break; - } - } - if ((label|0) == 148) { - _error($f,20); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - else if ((label|0) == 150) { - $396 = HEAP32[$387>>2]|0; - $397 = (_get_bits($f,8)|0); - $398 = $397&255; - $399 = (($396) + (($i$3142$lcssa270*1596)|0)|0); - HEAP8[$399>>0] = $398; - $400 = (_get_bits($f,16)|0); - $401 = $400&65535; - $402 = (((($396) + (($i$3142$lcssa270*1596)|0)|0)) + 2|0); - HEAP16[$402>>1] = $401; - $403 = (_get_bits($f,16)|0); - $404 = $403&65535; - $405 = (((($396) + (($i$3142$lcssa270*1596)|0)|0)) + 4|0); - HEAP16[$405>>1] = $404; - $406 = (_get_bits($f,6)|0); - $407 = $406&255; - $408 = (((($396) + (($i$3142$lcssa270*1596)|0)|0)) + 6|0); - HEAP8[$408>>0] = $407; - $409 = (_get_bits($f,8)|0); - $410 = $409&255; - $411 = (((($396) + (($i$3142$lcssa270*1596)|0)|0)) + 7|0); - HEAP8[$411>>0] = $410; - $412 = (_get_bits($f,4)|0); - $413 = (($412) + 1)|0; - $414 = $413&255; - $415 = (((($396) + (($i$3142$lcssa270*1596)|0)|0)) + 8|0); - HEAP8[$415>>0] = $414; - $416 = $413 & 255; - $417 = ($416|0)==(0); - if (!($417)) { - $j$659 = 0; - while(1) { - $418 = (_get_bits($f,8)|0); - $419 = $418&255; - $$sum = (($j$659) + 8)|0; - $420 = ((((($396) + (($i$3142$lcssa270*1596)|0)|0)) + 1|0) + ($$sum)|0); - HEAP8[$420>>0] = $419; - $421 = (($j$659) + 1)|0; - $422 = HEAP8[$415>>0]|0; - $423 = $422&255; - $424 = ($421|0)<($423|0); - if ($424) { - $j$659 = $421; - } else { - break; - } - } - } - _error($f,4); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - else if ((label|0) == 159) { - _error($f,20); - } - else if ((label|0) == 162) { - _error($f,20); - } - else if ((label|0) == 176) { - $phitmp196 = $$longest_floorlist$0$lcssa << 1; - $longest_floorlist$0$lcssa = $phitmp196; - break; - } - $$4 = 0; - STACKTOP = sp;return ($$4|0); + $7 = ((($1)) + 60|0); + $8 = HEAP8[$7>>0]|0; + $9 = $8&255; + $10 = ($2|0)==(61); + if ($10) { + $$ph700 = 0;$$ph701 = $9; + label = 5; } else { - $longest_floorlist$0$lcssa = 0; - } - } while(0); - $540 = (_get_bits($f,6)|0); - $541 = (($540) + 1)|0; - $542 = ((($f)) + 280|0); - HEAP32[$542>>2] = $541; - $543 = ($541*24)|0; - $544 = (_setup_malloc($f,$543)|0); - $545 = ((($f)) + 412|0); - HEAP32[$545>>2] = $544; - $546 = HEAP32[$542>>2]|0; - $547 = ($546|0)>(0); - L303: do { - if ($547) { - $i$4107 = 0; - L305: while(1) { - $548 = HEAP32[$545>>2]|0; - $549 = (_get_bits($f,16)|0); - $550 = $549&65535; - $551 = (((($f)) + 284|0) + ($i$4107<<1)|0); - HEAP16[$551>>1] = $550; - $552 = $549 & 65535; - $553 = ($552>>>0)>(2); - if ($553) { - label = 180; - break; - } - $554 = (_get_bits($f,24)|0); - $555 = (($548) + (($i$4107*24)|0)|0); - HEAP32[$555>>2] = $554; - $556 = (_get_bits($f,24)|0); - $557 = (((($548) + (($i$4107*24)|0)|0)) + 4|0); - HEAP32[$557>>2] = $556; - $558 = (_get_bits($f,24)|0); - $559 = (($558) + 1)|0; - $560 = (((($548) + (($i$4107*24)|0)|0)) + 8|0); - HEAP32[$560>>2] = $559; - $561 = (_get_bits($f,6)|0); - $562 = (($561) + 1)|0; - $563 = $562&255; - $564 = (((($548) + (($i$4107*24)|0)|0)) + 12|0); - HEAP8[$564>>0] = $563; - $565 = (_get_bits($f,8)|0); - $566 = $565&255; - $567 = (((($548) + (($i$4107*24)|0)|0)) + 13|0); - HEAP8[$567>>0] = $566; - $568 = HEAP8[$564>>0]|0; - $569 = $568&255; - $570 = ($568<<24>>24)==(0); - if ($570) { - $$lcssa = $569; - } else { - $j$1389 = 0; - while(1) { - $571 = (_get_bits($f,3)|0); - $572 = (_get_bits($f,1)|0); - $573 = ($572|0)==(0); - if ($573) { - $high_bits$0 = 0; - } else { - $574 = (_get_bits($f,5)|0); - $high_bits$0 = $574; - } - $575 = $high_bits$0 << 3; - $576 = (($575) + ($571))|0; - $577 = $576&255; - $578 = (($p) + ($j$1389)|0); - HEAP8[$578>>0] = $577; - $579 = (($j$1389) + 1)|0; - $580 = HEAP8[$564>>0]|0; - $581 = $580&255; - $582 = ($579|0)<($581|0); - if ($582) { - $j$1389 = $579; - } else { - $$lcssa = $581; - break; - } - } - } - $583 = $$lcssa << 4; - $584 = (_setup_malloc($f,$583)|0); - $585 = (((($548) + (($i$4107*24)|0)|0)) + 20|0); - HEAP32[$585>>2] = $584; - $586 = HEAP8[$564>>0]|0; - $587 = ($586<<24>>24)==(0); - if (!($587)) { - $j$1495 = 0; - while(1) { - $588 = (($p) + ($j$1495)|0); - $589 = HEAP8[$588>>0]|0; - $590 = $589&255; - $k$394 = 0; - while(1) { - $591 = 1 << $k$394; - $592 = $590 & $591; - $593 = ($592|0)==(0); - if ($593) { - $604 = HEAP32[$585>>2]|0; - $605 = ((($604) + ($j$1495<<4)|0) + ($k$394<<1)|0); - HEAP16[$605>>1] = -1; - } else { - $594 = (_get_bits($f,8)|0); - $595 = $594&65535; - $596 = HEAP32[$585>>2]|0; - $597 = ((($596) + ($j$1495<<4)|0) + ($k$394<<1)|0); - HEAP16[$597>>1] = $595; - $598 = HEAP32[$585>>2]|0; - $599 = ((($598) + ($j$1495<<4)|0) + ($k$394<<1)|0); - $600 = HEAP16[$599>>1]|0; - $601 = $600 << 16 >> 16; - $602 = HEAP32[$86>>2]|0; - $603 = ($601|0)<($602|0); - if (!($603)) { - label = 189; - break L305; - } - } - $606 = (($k$394) + 1)|0; - $607 = ($606|0)<(8); - if ($607) { - $k$394 = $606; - } else { - break; - } - } - $608 = (($j$1495) + 1)|0; - $609 = HEAP8[$564>>0]|0; - $610 = $609&255; - $611 = ($608|0)<($610|0); - if ($611) { - $j$1495 = $608; - } else { - break; - } - } - } - $612 = HEAP8[$567>>0]|0; - $613 = $612&255; - $614 = HEAP32[$89>>2]|0; - $615 = (((($614) + (($613*2096)|0)|0)) + 4|0); - $616 = HEAP32[$615>>2]|0; - $617 = $616 << 2; - $618 = (_setup_malloc($f,$617)|0); - $619 = (((($548) + (($i$4107*24)|0)|0)) + 16|0); - HEAP32[$619>>2] = $618; - $620 = ($618|0)==(0|0); - if ($620) { - label = 194; - break; - } - $621 = HEAP8[$567>>0]|0; - $622 = $621&255; - $623 = HEAP32[$89>>2]|0; - $624 = (((($623) + (($622*2096)|0)|0)) + 4|0); - $625 = HEAP32[$624>>2]|0; - $626 = $625 << 2; - _memset(($618|0),0,($626|0))|0; - $627 = HEAP8[$567>>0]|0; - $628 = $627&255; - $629 = HEAP32[$89>>2]|0; - $630 = (((($629) + (($628*2096)|0)|0)) + 4|0); - $631 = HEAP32[$630>>2]|0; - $632 = ($631|0)>(0); - if ($632) { - $634 = $629;$635 = $628;$j$15103 = 0; - while(1) { - $633 = (($634) + (($635*2096)|0)|0); - $636 = HEAP32[$633>>2]|0; - $637 = (_setup_malloc($f,$636)|0); - $638 = HEAP32[$619>>2]|0; - $639 = (($638) + ($j$15103<<2)|0); - HEAP32[$639>>2] = $637; - $640 = ($636|0)>(0); - if ($640) { - $k$499$in = $636;$temp$098 = $j$15103; - while(1) { - $k$499 = (($k$499$in) + -1)|0; - $641 = HEAP8[$564>>0]|0; - $642 = $641&255; - $643 = (($temp$098|0) % ($642|0))&-1; - $644 = $643&255; - $645 = HEAP32[$619>>2]|0; - $646 = (($645) + ($j$15103<<2)|0); - $647 = HEAP32[$646>>2]|0; - $648 = (($647) + ($k$499)|0); - HEAP8[$648>>0] = $644; - $649 = HEAP8[$564>>0]|0; - $650 = $649&255; - $651 = (($temp$098|0) / ($650|0))&-1; - $652 = ($k$499$in|0)>(1); - if ($652) { - $k$499$in = $k$499;$temp$098 = $651; - } else { - break; - } - } - } - $653 = (($j$15103) + 1)|0; - $654 = HEAP8[$567>>0]|0; - $655 = $654&255; - $656 = HEAP32[$89>>2]|0; - $657 = (((($656) + (($655*2096)|0)|0)) + 4|0); - $658 = HEAP32[$657>>2]|0; - $659 = ($653|0)<($658|0); - if ($659) { - $634 = $656;$635 = $655;$j$15103 = $653; - } else { - break; - } - } - } - $660 = (($i$4107) + 1)|0; - $661 = HEAP32[$542>>2]|0; - $662 = ($660|0)<($661|0); - if ($662) { - $i$4107 = $660; - } else { - break L303; - } - } - if ((label|0) == 180) { - _error($f,20); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - else if ((label|0) == 189) { - _error($f,20); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - else if ((label|0) == 194) { - _error($f,3); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - } - } while(0); - $663 = (_get_bits($f,6)|0); - $664 = (($663) + 1)|0; - $665 = ((($f)) + 416|0); - HEAP32[$665>>2] = $664; - $666 = ($664*40)|0; - $667 = (_setup_malloc($f,$666)|0); - $668 = ((($f)) + 420|0); - HEAP32[$668>>2] = $667; - $669 = HEAP32[$665>>2]|0; - $670 = ($669|0)>(0); - L343: do { - if ($670) { - $i$584 = 0; - L344: while(1) { - $671 = HEAP32[$668>>2]|0; - $672 = (($671) + (($i$584*40)|0)|0); - $673 = (_get_bits($f,16)|0); - $674 = ($673|0)==(0); - if (!($674)) { - label = 202; - break; - } - $675 = HEAP32[$27>>2]|0; - $676 = ($675*3)|0; - $677 = (_setup_malloc($f,$676)|0); - $678 = (((($671) + (($i$584*40)|0)|0)) + 4|0); - HEAP32[$678>>2] = $677; - $679 = (_get_bits($f,1)|0); - $680 = ($679|0)==(0); - if ($680) { - $685 = (((($671) + (($i$584*40)|0)|0)) + 8|0); - HEAP8[$685>>0] = 1; - } else { - $681 = (_get_bits($f,4)|0); - $682 = (($681) + 1)|0; - $683 = $682&255; - $684 = (((($671) + (($i$584*40)|0)|0)) + 8|0); - HEAP8[$684>>0] = $683; - } - $686 = (((($671) + (($i$584*40)|0)|0)) + 8|0); - $687 = (_get_bits($f,1)|0); - $688 = ($687|0)==(0); - do { - if ($688) { - HEAP16[$672>>1] = 0; - } else { - $689 = (_get_bits($f,8)|0); - $690 = (($689) + 1)|0; - $691 = $690&65535; - HEAP16[$672>>1] = $691; - $692 = $690 & 65535; - $693 = ($692|0)==(0); - if ($693) { - break; - } else { - $k$573 = 0; - } - while(1) { - $698 = HEAP32[$27>>2]|0; - $699 = (($698) + -1)|0; - $700 = (_ilog($699)|0); - $701 = (_get_bits($f,$700)|0); - $702 = $701&255; - $703 = HEAP32[$678>>2]|0; - $704 = (($703) + (($k$573*3)|0)|0); - HEAP8[$704>>0] = $702; - $705 = HEAP32[$27>>2]|0; - $706 = (($705) + -1)|0; - $707 = (_ilog($706)|0); - $708 = (_get_bits($f,$707)|0); - $709 = $708&255; - $710 = HEAP32[$678>>2]|0; - $711 = (((($710) + (($k$573*3)|0)|0)) + 1|0); - HEAP8[$711>>0] = $709; - $712 = HEAP32[$678>>2]|0; - $713 = (($712) + (($k$573*3)|0)|0); - $714 = HEAP8[$713>>0]|0; - $715 = $714&255; - $716 = HEAP32[$27>>2]|0; - $717 = ($715|0)<($716|0); - if (!($717)) { - label = 210; - break L344; - } - $718 = (((($712) + (($k$573*3)|0)|0)) + 1|0); - $719 = HEAP8[$718>>0]|0; - $720 = $719&255; - $721 = ($720|0)<($716|0); - if (!($721)) { - label = 212; - break L344; - } - $722 = ($714<<24>>24)==($719<<24>>24); - $696 = (($k$573) + 1)|0; - if ($722) { - label = 214; - break L344; - } - $694 = HEAP16[$672>>1]|0; - $695 = $694&65535; - $697 = ($696|0)<($695|0); - if ($697) { - $k$573 = $696; - } else { - break; - } - } - } - } while(0); - $723 = (_get_bits($f,2)|0); - $724 = ($723|0)==(0); - if (!($724)) { - label = 217; - break; - } - $725 = HEAP8[$686>>0]|0; - $726 = ($725&255)>(1); - $727 = HEAP32[$27>>2]|0; - $728 = ($727|0)>(0); - do { - if ($726) { - if ($728) { - $j$1678 = 0; - } else { - break; - } - while(1) { - $736 = (_get_bits($f,4)|0); - $737 = $736&255; - $738 = HEAP32[$678>>2]|0; - $739 = (((($738) + (($j$1678*3)|0)|0)) + 2|0); - HEAP8[$739>>0] = $737; - $740 = HEAP32[$678>>2]|0; - $741 = (((($740) + (($j$1678*3)|0)|0)) + 2|0); - $742 = HEAP8[$741>>0]|0; - $743 = HEAP8[$686>>0]|0; - $744 = ($742&255)<($743&255); - $732 = (($j$1678) + 1)|0; - if (!($744)) { - label = 225; - break L344; - } - $731 = HEAP32[$27>>2]|0; - $733 = ($732|0)<($731|0); - if ($733) { - $j$1678 = $732; - } else { - break; - } - } - } else { - if (!($728)) { - break; - } - $729 = HEAP32[$678>>2]|0; - $730 = HEAP32[$27>>2]|0; - $j$1776 = 0; - while(1) { - $745 = (((($729) + (($j$1776*3)|0)|0)) + 2|0); - HEAP8[$745>>0] = 0; - $746 = (($j$1776) + 1)|0; - $747 = ($746|0)<($730|0); - if ($747) { - $j$1776 = $746; - } else { - break; - } - } - } - } while(0); - $734 = HEAP8[$686>>0]|0; - $735 = ($734<<24>>24)==(0); - if (!($735)) { - $j$1880 = 0; - while(1) { - (_get_bits($f,8)|0); - $752 = (_get_bits($f,8)|0); - $753 = $752&255; - $754 = ((((($671) + (($i$584*40)|0)|0)) + 9|0) + ($j$1880)|0); - HEAP8[$754>>0] = $753; - $755 = (_get_bits($f,8)|0); - $756 = $755&255; - $757 = ((((($671) + (($i$584*40)|0)|0)) + 24|0) + ($j$1880)|0); - HEAP8[$757>>0] = $756; - $758 = HEAP8[$754>>0]|0; - $759 = $758&255; - $760 = HEAP32[$384>>2]|0; - $761 = ($759|0)<($760|0); - if (!($761)) { - label = 229; - break L344; - } - $762 = $755 & 255; - $763 = HEAP32[$542>>2]|0; - $764 = ($762|0)<($763|0); - $750 = (($j$1880) + 1)|0; - if (!($764)) { - label = 231; - break L344; - } - $748 = HEAP8[$686>>0]|0; - $749 = $748&255; - $751 = ($750|0)<($749|0); - if ($751) { - $j$1880 = $750; - } else { - break; - } - } - } - $765 = (($i$584) + 1)|0; - $766 = HEAP32[$665>>2]|0; - $767 = ($765|0)<($766|0); - if ($767) { - $i$584 = $765; - } else { - break L343; - } - } - if ((label|0) == 202) { - _error($f,20); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - else if ((label|0) == 210) { - _error($f,20); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - else if ((label|0) == 212) { - _error($f,20); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - else if ((label|0) == 214) { - _error($f,20); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - else if ((label|0) == 217) { - _error($f,20); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - else if ((label|0) == 225) { - _error($f,20); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - else if ((label|0) == 229) { - _error($f,20); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - else if ((label|0) == 231) { - _error($f,20); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - } - } while(0); - $768 = (_get_bits($f,6)|0); - $769 = (($768) + 1)|0; - $770 = ((($f)) + 424|0); - HEAP32[$770>>2] = $769; - $771 = ($769|0)>(0); - L395: do { - if ($771) { - $i$669 = 0; - while(1) { - $775 = (_get_bits($f,1)|0); - $776 = $775&255; - $777 = (((($f)) + 428|0) + (($i$669*6)|0)|0); - HEAP8[$777>>0] = $776; - $778 = (_get_bits($f,16)|0); - $779 = $778&65535; - $780 = (((((($f)) + 428|0) + (($i$669*6)|0)|0)) + 2|0); - HEAP16[$780>>1] = $779; - $781 = (_get_bits($f,16)|0); - $782 = $781&65535; - $783 = (((((($f)) + 428|0) + (($i$669*6)|0)|0)) + 4|0); - HEAP16[$783>>1] = $782; - $784 = (_get_bits($f,8)|0); - $785 = $784&255; - $786 = (((((($f)) + 428|0) + (($i$669*6)|0)|0)) + 1|0); - HEAP8[$786>>0] = $785; - $787 = HEAP16[$780>>1]|0; - $788 = ($787<<16>>16)==(0); - if (!($788)) { - label = 236; - break; - } - $789 = HEAP16[$783>>1]|0; - $790 = ($789<<16>>16)==(0); - if (!($790)) { - label = 238; - break; - } - $791 = $784 & 255; - $792 = HEAP32[$665>>2]|0; - $793 = ($791|0)<($792|0); - $773 = (($i$669) + 1)|0; - if (!($793)) { - label = 240; - break; - } - $772 = HEAP32[$770>>2]|0; - $774 = ($773|0)<($772|0); - if ($774) { - $i$669 = $773; - } else { - break L395; - } - } - if ((label|0) == 236) { - _error($f,20); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - else if ((label|0) == 238) { - _error($f,20); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - else if ((label|0) == 240) { - _error($f,20); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - } - } while(0); - _flush_packet($f); - $794 = ((($f)) + 1008|0); - HEAP32[$794>>2] = 0; - $795 = HEAP32[$27>>2]|0; - $796 = ($795|0)>(0); - if ($796) { - $i$765 = 0; - while(1) { - $797 = HEAP32[$39>>2]|0; - $798 = $797 << 2; - $799 = (_setup_malloc($f,$798)|0); - $800 = (((($f)) + 816|0) + ($i$765<<2)|0); - HEAP32[$800>>2] = $799; - $801 = HEAP32[$39>>2]|0; - $802 = $801 << 1; - $803 = $802 & 2147483646; - $804 = (_setup_malloc($f,$803)|0); - $805 = (((($f)) + 944|0) + ($i$765<<2)|0); - HEAP32[$805>>2] = $804; - $806 = (_setup_malloc($f,$longest_floorlist$0$lcssa)|0); - $807 = (((($f)) + 1012|0) + ($i$765<<2)|0); - HEAP32[$807>>2] = $806; - $808 = (($i$765) + 1)|0; - $809 = HEAP32[$27>>2]|0; - $810 = ($808|0)<($809|0); - if ($810) { - $i$765 = $808; - } else { - break; - } - } - } - $811 = HEAP32[$37>>2]|0; - $812 = (_init_blocksize($f,0,$811)|0); - $813 = ($812|0)==(0); - if ($813) { - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - $814 = HEAP32[$39>>2]|0; - $815 = (_init_blocksize($f,1,$814)|0); - $816 = ($815|0)==(0); - if ($816) { - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - $817 = HEAP32[$37>>2]|0; - $818 = ((($f)) + 120|0); - HEAP32[$818>>2] = $817; - $819 = HEAP32[$39>>2]|0; - $820 = ((($f)) + 124|0); - HEAP32[$820>>2] = $819; - $821 = HEAP32[$39>>2]|0; - $822 = $821 << 1; - $823 = $822 & 2147483646; - $824 = HEAP32[$542>>2]|0; - $825 = ($824|0)>(0); - if ($825) { - $826 = HEAP32[$545>>2]|0; - $827 = HEAP32[$542>>2]|0; - $i7$060 = 0;$max_part_read$061 = 0; - while(1) { - $828 = (((($826) + (($i7$060*24)|0)|0)) + 4|0); - $829 = HEAP32[$828>>2]|0; - $830 = (($826) + (($i7$060*24)|0)|0); - $831 = HEAP32[$830>>2]|0; - $832 = (($829) - ($831))|0; - $833 = (((($826) + (($i7$060*24)|0)|0)) + 8|0); - $834 = HEAP32[$833>>2]|0; - $835 = (($832>>>0) / ($834>>>0))&-1; - $836 = ($835|0)>($max_part_read$061|0); - $$max_part_read$0 = $836 ? $835 : $max_part_read$061; - $837 = (($i7$060) + 1)|0; - $838 = ($837|0)<($827|0); - if ($838) { - $i7$060 = $837;$max_part_read$061 = $$max_part_read$0; - } else { - $$max_part_read$0$lcssa = $$max_part_read$0; - break; - } - } - $phitmp = $$max_part_read$0$lcssa << 2; - $phitmp195 = (($phitmp) + 4)|0; - $max_part_read$0$lcssa = $phitmp195; - } else { - $max_part_read$0$lcssa = 4; - } - $839 = HEAP32[$27>>2]|0; - $840 = Math_imul($839, $max_part_read$0$lcssa)|0; - $841 = ((($f)) + 12|0); - $842 = ($823>>>0)>($840>>>0); - $$10 = $842 ? $823 : $840; - HEAP32[$841>>2] = $$10; - $843 = ((($f)) + 1393|0); - HEAP8[$843>>0] = 1; - $844 = ((($f)) + 96|0); - $845 = HEAP32[$844>>2]|0; - $846 = ($845|0)==(0|0); - do { - if (!($846)) { - $847 = ((($f)) + 108|0); - $848 = HEAP32[$847>>2]|0; - $849 = ((($f)) + 100|0); - $850 = HEAP32[$849>>2]|0; - $851 = ($848|0)==($850|0); - if (!($851)) { - ___assert_fail((21888|0),(20576|0),3734,(21944|0)); - // unreachable; - } - $852 = ((($f)) + 104|0); - $853 = HEAP32[$852>>2]|0; - $854 = (($853) + 1528)|0; - $855 = HEAP32[$841>>2]|0; - $856 = (($854) + ($855))|0; - $857 = ($856>>>0)>($848>>>0); - if (!($857)) { - break; - } - _error($f,3); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - } while(0); - $858 = (_stb_vorbis_get_file_offset($f)|0); - $859 = ((($f)) + 52|0); - HEAP32[$859>>2] = $858; - $$4 = 1; - STACKTOP = sp;return ($$4|0); -} -function _vorbis_alloc($f) { - $f = $f|0; - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_setup_malloc($f,1528)|0); - return ($0|0); -} -function _set_file_offset($f,$loc) { - $f = $f|0; - $loc = $loc|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($f)) + 48|0); - $1 = HEAP8[$0>>0]|0; - $2 = ($1<<24>>24)==(0); - if (!($2)) { - return; - } - $3 = ((($f)) + 112|0); - HEAP32[$3>>2] = 0; - $4 = ((($f)) + 32|0); - $5 = HEAP32[$4>>2]|0; - $6 = ($5|0)==(0|0); - if (!($6)) { - $7 = ((($f)) + 36|0); - $8 = HEAP32[$7>>2]|0; - $9 = (($8) + ($loc)|0); - $10 = ((($f)) + 40|0); - $11 = HEAP32[$10>>2]|0; - $12 = ($9>>>0)>=($11>>>0); - $13 = ($loc|0)<(0); - $or$cond1 = $13 | $12; - if ($or$cond1) { - $14 = HEAP32[$10>>2]|0; - HEAP32[$4>>2] = $14; - HEAP32[$3>>2] = 1; - return; - } else { - HEAP32[$4>>2] = $9; - return; - } - } - $15 = ((($f)) + 24|0); - $16 = HEAP32[$15>>2]|0; - $17 = (($16) + ($loc))|0; - $18 = ($17>>>0)<($loc>>>0); - $19 = ($loc|0)<(0); - $or$cond = $19 | $18; - if ($or$cond) { - HEAP32[$3>>2] = 1; - $$0 = 2147483647; - } else { - $$0 = $17; - } - $20 = ((($f)) + 20|0); - $21 = HEAP32[$20>>2]|0; - $22 = (_fseek(($21|0),($$0|0),0)|0); - $23 = ($22|0)==(0); - if ($23) { - return; - } - HEAP32[$3>>2] = 1; - $24 = HEAP32[$20>>2]|0; - $25 = HEAP32[$15>>2]|0; - (_fseek(($24|0),($25|0),2)|0); - return; -} -function _vorbis_pump_first_frame($f) { - $f = $f|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $left = 0, $len = 0, $right = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $len = sp + 8|0; - $right = sp; - $left = sp + 4|0; - $0 = (_vorbis_decode_packet($f,$len,$left,$right)|0); - $1 = ($0|0)==(0); - if ($1) { - STACKTOP = sp;return; - } - $2 = HEAP32[$len>>2]|0; - $3 = HEAP32[$left>>2]|0; - $4 = HEAP32[$right>>2]|0; - (_vorbis_finish_frame($f,$2,$3,$4)|0); - STACKTOP = sp;return; -} -function _vorbis_find_page($f,$end,$last) { - $f = $f|0; - $end = $end|0; - $last = $last|0; - var $$ = 0, $$0 = 0, $$lcssa = 0, $$lcssa58 = 0, $$lcssa59 = 0, $$lcssa61 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0; - var $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0; - var $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0; - var $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0; - var $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0; - var $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0; - var $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $crc$011 = 0, $crc$113 = 0, $crc$2$lcssa = 0, $crc$219 = 0, $exitcond = 0, $exitcond40 = 0, $header = 0, $i$0$lcssa = 0, $i1$310 = 0, $i1$412 = 0; - var $i1$518 = 0, $len$014 = 0, $scevgep = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $header = sp; - $0 = ((($f)) + 112|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)==(0); - if (!($2)) { - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $3 = ((($f)) + 44|0); - $4 = ((($header)) + 4|0); - $5 = ((($header)) + 22|0); - $6 = ((($header)) + 23|0); - $7 = ((($header)) + 24|0); - $8 = ((($header)) + 25|0); - $9 = ((($header)) + 26|0); - $scevgep = ((($header)) + 22|0); - $10 = ((($header)) + 4|0); - $11 = ((($header)) + 5|0); - $12 = ((($header)) + 6|0); - $13 = ((($header)) + 7|0); - $14 = ((($header)) + 8|0); - $15 = ((($header)) + 9|0); - $16 = ((($header)) + 10|0); - $17 = ((($header)) + 11|0); - $18 = ((($header)) + 12|0); - $19 = ((($header)) + 13|0); - $20 = ((($header)) + 14|0); - $21 = ((($header)) + 15|0); - $22 = ((($header)) + 16|0); - $23 = ((($header)) + 17|0); - $24 = ((($header)) + 18|0); - $25 = ((($header)) + 19|0); - $26 = ((($header)) + 20|0); - $27 = ((($header)) + 21|0); - $28 = ((($header)) + 22|0); - $29 = ((($header)) + 23|0); - $30 = ((($header)) + 24|0); - $31 = ((($header)) + 25|0); - $32 = ((($header)) + 26|0); - while(1) { - $33 = (_get8($f)|0); - $34 = ($33<<24>>24)==(79); - if ($34) { - $35 = (_stb_vorbis_get_file_offset($f)|0); - $36 = (($35) + -25)|0; - $37 = HEAP32[$3>>2]|0; - $38 = ($36>>>0)>($37>>>0); - if ($38) { - $$0 = 0; - label = 29; - break; - } - $39 = (_get8($f)|0); - $40 = HEAP8[(20681)>>0]|0; - $41 = ($39<<24>>24)==($40<<24>>24); - if ($41) { - $42 = (_get8($f)|0); - $43 = HEAP8[(20682)>>0]|0; - $44 = ($42<<24>>24)==($43<<24>>24); - if ($44) { - $121 = (_get8($f)|0); - $122 = HEAP8[(20683)>>0]|0; - $123 = ($121<<24>>24)==($122<<24>>24); - $$ = $123 ? 4 : 3; - $i$0$lcssa = $$; - } else { - $i$0$lcssa = 2; - } - } else { - $i$0$lcssa = 1; - } - $45 = HEAP32[$0>>2]|0; - $46 = ($45|0)==(0); - if (!($46)) { - $$0 = 0; - label = 29; - break; - } - $47 = ($i$0$lcssa|0)==(4); - if ($47) { - $48 = HEAP32[20680>>2]|0; - HEAP32[$header>>2] = $48; - $49 = (_get8($f)|0); - HEAP8[$10>>0] = $49; - $50 = (_get8($f)|0); - HEAP8[$11>>0] = $50; - $51 = (_get8($f)|0); - HEAP8[$12>>0] = $51; - $52 = (_get8($f)|0); - HEAP8[$13>>0] = $52; - $53 = (_get8($f)|0); - HEAP8[$14>>0] = $53; - $54 = (_get8($f)|0); - HEAP8[$15>>0] = $54; - $55 = (_get8($f)|0); - HEAP8[$16>>0] = $55; - $56 = (_get8($f)|0); - HEAP8[$17>>0] = $56; - $57 = (_get8($f)|0); - HEAP8[$18>>0] = $57; - $58 = (_get8($f)|0); - HEAP8[$19>>0] = $58; - $59 = (_get8($f)|0); - HEAP8[$20>>0] = $59; - $60 = (_get8($f)|0); - HEAP8[$21>>0] = $60; - $61 = (_get8($f)|0); - HEAP8[$22>>0] = $61; - $62 = (_get8($f)|0); - HEAP8[$23>>0] = $62; - $63 = (_get8($f)|0); - HEAP8[$24>>0] = $63; - $64 = (_get8($f)|0); - HEAP8[$25>>0] = $64; - $65 = (_get8($f)|0); - HEAP8[$26>>0] = $65; - $66 = (_get8($f)|0); - HEAP8[$27>>0] = $66; - $67 = (_get8($f)|0); - HEAP8[$28>>0] = $67; - $68 = (_get8($f)|0); - HEAP8[$29>>0] = $68; - $69 = (_get8($f)|0); - HEAP8[$30>>0] = $69; - $70 = (_get8($f)|0); - HEAP8[$31>>0] = $70; - $71 = (_get8($f)|0); - HEAP8[$32>>0] = $71; - $72 = HEAP32[$0>>2]|0; - $73 = ($72|0)==(0); - if (!($73)) { - $$0 = 0; - label = 29; - break; - } - $74 = HEAP8[$4>>0]|0; - $75 = ($74<<24>>24)==(0); - if ($75) { - $76 = HEAP8[$5>>0]|0; - $77 = HEAP8[$6>>0]|0; - $78 = HEAP8[$7>>0]|0; - $79 = HEAP8[$8>>0]|0; - $80 = $79&255; - $81 = $80 << 24; - HEAP16[$scevgep>>1]=0&65535;HEAP16[$scevgep+2>>1]=0>>>16; - $82 = $78&255; - $83 = $82 << 16; - $84 = $77&255; - $85 = $84 << 8; - $86 = $76&255; - $87 = $85 | $86; - $88 = $87 | $83; - $crc$011 = 0;$i1$310 = 0; - while(1) { - $94 = (($header) + ($i1$310)|0); - $95 = HEAP8[$94>>0]|0; - $96 = (_crc32_update($crc$011,$95)|0); - $97 = (($i1$310) + 1)|0; - $exitcond = ($97|0)==(27); - if ($exitcond) { - $$lcssa = $96; - break; - } else { - $crc$011 = $96;$i1$310 = $97; - } - } - $89 = $88 | $81; - $90 = HEAP8[$9>>0]|0; - $91 = ($90<<24>>24)==(0); - if ($91) { - $crc$2$lcssa = $$lcssa; - } else { - $92 = HEAP8[$9>>0]|0; - $93 = $92&255; - $crc$113 = $$lcssa;$i1$412 = 0;$len$014 = 0; - while(1) { - $98 = (_get8($f)|0); - $99 = $98&255; - $100 = (_crc32_update($crc$113,$98)|0); - $101 = (($99) + ($len$014))|0; - $102 = (($i1$412) + 1)|0; - $103 = ($102>>>0)<($93>>>0); - if ($103) { - $crc$113 = $100;$i1$412 = $102;$len$014 = $101; - } else { - $$lcssa58 = $100;$$lcssa59 = $101; - break; - } - } - $104 = ($$lcssa59|0)==(0); - if ($104) { - $crc$2$lcssa = $$lcssa58; - } else { - $105 = HEAP32[$0>>2]|0; - $106 = ($105|0)==(0); - if ($106) { - $crc$219 = $$lcssa58;$i1$518 = 0; - } else { - $$0 = 0; - label = 29; - break; - } - while(1) { - $107 = (_get8($f)|0); - $108 = (_crc32_update($crc$219,$107)|0); - $109 = (($i1$518) + 1)|0; - $exitcond40 = ($109|0)==($$lcssa59|0); - if ($exitcond40) { - $crc$2$lcssa = $108; - break; - } else { - $crc$219 = $108;$i1$518 = $109; - } - } - } - } - $110 = ($crc$2$lcssa|0)==($89|0); - if ($110) { - $$lcssa61 = $35; - label = 20; - break; - } - } - } - _set_file_offset($f,$35); - } - $119 = HEAP32[$0>>2]|0; - $120 = ($119|0)==(0); - if (!($120)) { - $$0 = 0; - label = 29; - break; - } - } - if ((label|0) == 20) { - $111 = ($end|0)==(0|0); - if (!($111)) { - $112 = (_stb_vorbis_get_file_offset($f)|0); - HEAP32[$end>>2] = $112; - } - $113 = ($last|0)==(0|0); - do { - if (!($113)) { - $114 = ((($header)) + 5|0); - $115 = HEAP8[$114>>0]|0; - $116 = $115 & 4; - $117 = ($116<<24>>24)==(0); - if ($117) { - HEAP32[$last>>2] = 0; - break; - } else { - HEAP32[$last>>2] = 1; - break; - } - } - } while(0); - $118 = (($$lcssa61) + -1)|0; - _set_file_offset($f,$118); - $$0 = 1; - STACKTOP = sp;return ($$0|0); - } - else if ((label|0) == 29) { - STACKTOP = sp;return ($$0|0); - } - return (0)|0; -} -function _getn($z,$data,$n) { - $z = $z|0; - $data = $data|0; - $n = $n|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($z)) + 32|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)==(0|0); - if ($2) { - $10 = ((($z)) + 20|0); - $11 = HEAP32[$10>>2]|0; - $12 = (_fread(($data|0),($n|0),1,($11|0))|0); - $13 = ($12|0)==(1); - if ($13) { - $$0 = 1; - return ($$0|0); - } - $14 = ((($z)) + 112|0); - HEAP32[$14>>2] = 1; - $$0 = 0; - return ($$0|0); - } - $3 = (($1) + ($n)|0); - $4 = ((($z)) + 40|0); - $5 = HEAP32[$4>>2]|0; - $6 = ($3>>>0)>($5>>>0); - if ($6) { - $7 = ((($z)) + 112|0); - HEAP32[$7>>2] = 1; - $$0 = 0; - return ($$0|0); - } else { - _memcpy(($data|0),($1|0),($n|0))|0; - $8 = HEAP32[$0>>2]|0; - $9 = (($8) + ($n)|0); - HEAP32[$0>>2] = $9; - $$0 = 1; - return ($$0|0); - } - return (0)|0; -} -function _get32($f) { - $f = $f|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_get8($f)|0); - $1 = $0&255; - $2 = (_get8($f)|0); - $3 = $2&255; - $4 = $3 << 8; - $5 = $4 | $1; - $6 = (_get8($f)|0); - $7 = $6&255; - $8 = $7 << 16; - $9 = $5 | $8; - $10 = (_get8($f)|0); - $11 = $10&255; - $12 = $11 << 24; - $13 = $9 | $12; - return ($13|0); -} -function _convert_channels_short_interleaved($buf_c,$buffer,$data_c,$data,$d_offset,$len) { - $buf_c = $buf_c|0; - $buffer = $buffer|0; - $data_c = $data_c|0; - $data = $data|0; - $d_offset = $d_offset|0; - $len = $len|0; - var $$017 = 0, $$1$lcssa = 0, $$19 = 0, $$2$lcssa = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0.0, $17 = 0.0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0; - var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond20 = 0, $exitcond25 = 0, $i$07 = 0, $i$1$lcssa = 0, $i$18 = 0, $j$016 = 0; - var $or$cond = 0, $or$cond3 = 0, $scevgep = 0, $scevgep21$sum = 0, $scevgep22 = 0, $v$0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ($buf_c|0)!=($data_c|0); - $1 = ($buf_c|0)<(3); - $or$cond = $1 & $0; - $2 = ($data_c|0)<(7); - $or$cond3 = $2 & $or$cond; - if ($or$cond3) { - $3 = ($buf_c|0)==(2); - if ($3) { - $i$07 = 0; - } else { - ___assert_fail((20560|0),(20576|0),4816,(20592|0)); - // unreachable; - } - while(1) { - _compute_stereo_samples($buffer,$data_c,$data,$d_offset,$len); - $4 = (($i$07) + 1)|0; - $exitcond = ($4|0)==($buf_c|0); - if ($exitcond) { - break; - } else { - $i$07 = $4; - } - } - return; - } - $5 = ($len|0)>(0); - if (!($5)) { - return; - } - $6 = ($buf_c|0)<($data_c|0); - $7 = $6 ? $buf_c : $data_c; - $8 = ($7|0)>(0); - $9 = ($data_c|0)<($buf_c|0); - $10 = $9 ? $data_c : $buf_c; - $$017 = $buffer;$j$016 = 0; - while(1) { - if ($8) { - $11 = (($j$016) + ($d_offset))|0; - $$19 = $$017;$i$18 = 0; - while(1) { - $13 = (($data) + ($i$18<<2)|0); - $14 = HEAP32[$13>>2]|0; - $15 = (($14) + ($11<<2)|0); - $16 = +HEAPF32[$15>>2]; - $17 = $16 + 384.0; - $18 = (HEAPF32[tempDoublePtr>>2]=$17,HEAP32[tempDoublePtr>>2]|0); - $19 = (($18) + -1136623616)|0; - $20 = ($19>>>0)>(65535); - $21 = ($18|0)<(1136656384); - $22 = $21 ? 32768 : 32767; - $v$0 = $20 ? $22 : $18; - $23 = $v$0&65535; - $24 = ((($$19)) + 2|0); - HEAP16[$$19>>1] = $23; - $25 = (($i$18) + 1)|0; - $exitcond20 = ($25|0)==($10|0); - if ($exitcond20) { - break; - } else { - $$19 = $24;$i$18 = $25; - } - } - $scevgep = (($$017) + ($10<<1)|0); - $$1$lcssa = $scevgep;$i$1$lcssa = $10; - } else { - $$1$lcssa = $$017;$i$1$lcssa = 0; - } - $12 = ($i$1$lcssa|0)<($buf_c|0); - if ($12) { - $26 = (($buf_c) - ($i$1$lcssa))|0; - $27 = $26 << 1; - _memset(($$1$lcssa|0),0,($27|0))|0; - $scevgep21$sum = (($buf_c) - ($i$1$lcssa))|0; - $scevgep22 = (($$1$lcssa) + ($scevgep21$sum<<1)|0); - $$2$lcssa = $scevgep22; - } else { - $$2$lcssa = $$1$lcssa; - } - $28 = (($j$016) + 1)|0; - $exitcond25 = ($28|0)==($len|0); - if ($exitcond25) { - break; - } else { - $$017 = $$2$lcssa;$j$016 = $28; - } - } - return; -} -function _rect_height_compare($a,$b) { - $a = $a|0; - $b = $b|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($a)) + 6|0); - $1 = HEAP16[$0>>1]|0; - $2 = ((($b)) + 6|0); - $3 = HEAP16[$2>>1]|0; - $4 = ($1&65535)>($3&65535); - if ($4) { - $$0 = -1; - return ($$0|0); - } - $5 = ($1&65535)<($3&65535); - if ($5) { - $$0 = 1; - return ($$0|0); - } - $6 = ((($a)) + 4|0); - $7 = HEAP16[$6>>1]|0; - $8 = ((($b)) + 4|0); - $9 = HEAP16[$8>>1]|0; - $10 = ($7&65535)>($9&65535); - $11 = ($7&65535)<($9&65535); - $12 = $11&1; - $13 = $10 ? -1 : $12; - $$0 = $13; - return ($$0|0); -} -function _stbrp__skyline_pack_rectangle($agg$result,$context,$width,$height) { - $agg$result = $agg$result|0; - $context = $context|0; - $width = $width|0; - $height = $height|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $cur$0$lcssa = 0, $cur$0$ph = 0, $cur$01 = 0, $cur$01$phi = 0, $res = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $res = sp; - _stbrp__skyline_find_best_pos($res,$context,$width,$height); - $0 = ((($res)) + 8|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)==(0|0); - if (!($2)) { - $3 = ((($res)) + 4|0); - $4 = HEAP32[$3>>2]|0; - $5 = (($4) + ($height))|0; - $6 = ((($context)) + 4|0); - $7 = HEAP32[$6>>2]|0; - $8 = ($5|0)>($7|0); - if (!($8)) { - $9 = ((($context)) + 28|0); - $10 = HEAP32[$9>>2]|0; - $11 = ($10|0)==(0|0); - if (!($11)) { - $12 = HEAP32[$res>>2]|0; - $13 = $12&65535; - HEAP16[$10>>1] = $13; - $14 = HEAP32[$3>>2]|0; - $15 = (($14) + ($height))|0; - $16 = $15&65535; - $17 = ((($10)) + 2|0); - HEAP16[$17>>1] = $16; - $18 = ((($10)) + 4|0); - $19 = HEAP32[$18>>2]|0; - HEAP32[$9>>2] = $19; - $20 = HEAP32[$0>>2]|0; - $21 = HEAP32[$20>>2]|0; - $22 = HEAP16[$21>>1]|0; - $23 = $22&65535; - $24 = HEAP32[$res>>2]|0; - $25 = ($23|0)<($24|0); - if ($25) { - $26 = ((($21)) + 4|0); - $27 = HEAP32[$26>>2]|0; - HEAP32[$26>>2] = $10; - $cur$0$ph = $27; - } else { - HEAP32[$20>>2] = $10; - $cur$0$ph = $21; - } - $28 = ((($cur$0$ph)) + 4|0); - $29 = HEAP32[$28>>2]|0; - $30 = ($29|0)==(0|0); - L9: do { - if ($30) { - $cur$0$lcssa = $cur$0$ph; - } else { - $31 = HEAP32[$res>>2]|0; - $32 = (($31) + ($width))|0; - $34 = $29;$38 = $28;$cur$01 = $cur$0$ph; - while(1) { - $33 = HEAP16[$34>>1]|0; - $35 = $33&65535; - $36 = ($35|0)>($32|0); - if ($36) { - $cur$0$lcssa = $cur$01; - break L9; - } - $37 = HEAP32[$9>>2]|0; - HEAP32[$38>>2] = $37; - HEAP32[$9>>2] = $cur$01; - $39 = ((($34)) + 4|0); - $40 = HEAP32[$39>>2]|0; - $41 = ($40|0)==(0|0); - if ($41) { - $cur$0$lcssa = $34; - break; - } else { - $cur$01$phi = $34;$34 = $40;$38 = $39;$cur$01 = $cur$01$phi; - } - } - } - } while(0); - HEAP32[$18>>2] = $cur$0$lcssa; - $42 = HEAP16[$cur$0$lcssa>>1]|0; - $43 = $42&65535; - $44 = HEAP32[$res>>2]|0; - $45 = (($44) + ($width))|0; - $46 = ($43|0)<($45|0); - if ($46) { - $47 = $45&65535; - HEAP16[$cur$0$lcssa>>1] = $47; - } - ;HEAP32[$agg$result>>2]=HEAP32[$res>>2]|0;HEAP32[$agg$result+4>>2]=HEAP32[$res+4>>2]|0;HEAP32[$agg$result+8>>2]=HEAP32[$res+8>>2]|0; - STACKTOP = sp;return; - } - } - } - HEAP32[$0>>2] = 0; - ;HEAP32[$agg$result>>2]=HEAP32[$res>>2]|0;HEAP32[$agg$result+4>>2]=HEAP32[$res+4>>2]|0;HEAP32[$agg$result+8>>2]=HEAP32[$res+8>>2]|0; - STACKTOP = sp;return; -} -function _rect_original_order($a,$b) { - $a = $a|0; - $b = $b|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($a)) + 12|0); - $1 = HEAP32[$0>>2]|0; - $2 = ((($b)) + 12|0); - $3 = HEAP32[$2>>2]|0; - $4 = ($1|0)<($3|0); - $5 = ($1|0)>($3|0); - $6 = $5&1; - $7 = $4 ? -1 : $6; - return ($7|0); -} -function _stbtt__isfont($font) { - $font = $font|0; - var $$0 = 0, $$pr = 0, $$pr2 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; - var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; - var $42 = 0, $43 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP8[$font>>0]|0; - $1 = ($0<<24>>24)==(49); - if ($1) { - $2 = ((($font)) + 1|0); - $3 = HEAP8[$2>>0]|0; - $4 = ($3<<24>>24)==(0); - if ($4) { - $5 = ((($font)) + 2|0); - $6 = HEAP8[$5>>0]|0; - $7 = ($6<<24>>24)==(0); - if ($7) { - $8 = ((($font)) + 3|0); - $9 = HEAP8[$8>>0]|0; - $10 = ($9<<24>>24)==(0); - if ($10) { - $$0 = 1; - return ($$0|0); - } - } - } - $$pr = HEAP8[$font>>0]|0; - $11 = $$pr; - } else { - $11 = $0; - } - $12 = ($11<<24>>24)==(116); - if ($12) { - $13 = ((($font)) + 1|0); - $14 = HEAP8[$13>>0]|0; - $15 = ($14<<24>>24)==(121); - if ($15) { - $16 = ((($font)) + 2|0); - $17 = HEAP8[$16>>0]|0; - $18 = ($17<<24>>24)==(112); - if ($18) { - $19 = ((($font)) + 3|0); - $20 = HEAP8[$19>>0]|0; - $21 = ($20<<24>>24)==(49); - if ($21) { - $$0 = 1; - return ($$0|0); - } - } - } - } - $22 = HEAP8[$font>>0]|0; - $23 = ($22<<24>>24)==(79); - if ($23) { - $24 = ((($font)) + 1|0); - $25 = HEAP8[$24>>0]|0; - $26 = ($25<<24>>24)==(84); - if ($26) { - $27 = ((($font)) + 2|0); - $28 = HEAP8[$27>>0]|0; - $29 = ($28<<24>>24)==(84); - if ($29) { - $30 = ((($font)) + 3|0); - $31 = HEAP8[$30>>0]|0; - $32 = ($31<<24>>24)==(79); - if ($32) { - $$0 = 1; - return ($$0|0); - } - } - } - $$pr2 = HEAP8[$font>>0]|0; - $33 = $$pr2; - } else { - $33 = $22; - } - $34 = ($33<<24>>24)==(0); - if ($34) { - $35 = ((($font)) + 1|0); - $36 = HEAP8[$35>>0]|0; - $37 = ($36<<24>>24)==(1); - if ($37) { - $38 = ((($font)) + 2|0); - $39 = HEAP8[$38>>0]|0; - $40 = ($39<<24>>24)==(0); - if ($40) { - $41 = ((($font)) + 3|0); - $42 = HEAP8[$41>>0]|0; - $43 = ($42<<24>>24)==(0); - if ($43) { - $$0 = 1; - return ($$0|0); - } - } - } - } - $$0 = 0; - return ($$0|0); -} -function _ttULONG($p) { - $p = $p|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP8[$p>>0]|0; - $1 = $0&255; - $2 = $1 << 24; - $3 = ((($p)) + 1|0); - $4 = HEAP8[$3>>0]|0; - $5 = $4&255; - $6 = $5 << 16; - $7 = $6 | $2; - $8 = ((($p)) + 2|0); - $9 = HEAP8[$8>>0]|0; - $10 = $9&255; - $11 = $10 << 8; - $12 = $7 | $11; - $13 = ((($p)) + 3|0); - $14 = HEAP8[$13>>0]|0; - $15 = $14&255; - $16 = $12 | $15; - return ($16|0); -} -function _ttLONG($p) { - $p = $p|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP8[$p>>0]|0; - $1 = $0&255; - $2 = $1 << 24; - $3 = ((($p)) + 1|0); - $4 = HEAP8[$3>>0]|0; - $5 = $4&255; - $6 = $5 << 16; - $7 = $6 | $2; - $8 = ((($p)) + 2|0); - $9 = HEAP8[$8>>0]|0; - $10 = $9&255; - $11 = $10 << 8; - $12 = $7 | $11; - $13 = ((($p)) + 3|0); - $14 = HEAP8[$13>>0]|0; - $15 = $14&255; - $16 = $12 | $15; - return ($16|0); -} -function _stbtt__find_table($data,$fontstart,$tag) { - $data = $data|0; - $fontstart = $fontstart|0; - $tag = $tag|0; - var $$0 = 0, $$lcssa = 0, $$sum = 0, $$sum1 = 0, $$sum2 = 0, $$sum3 = 0, $$sum4 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0; - var $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $4 = 0; - var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i$05 = 0, label = 0, sp = 0; - sp = STACKTOP; - $$sum = (($fontstart) + 4)|0; - $0 = (($data) + ($$sum)|0); - $1 = (_ttUSHORT($0)|0); - $2 = $1&65535; - $3 = (($fontstart) + 12)|0; - $4 = ($1<<16>>16)==(0); - if ($4) { - $$0 = 0; - return ($$0|0); - } - $5 = HEAP8[$tag>>0]|0; - $6 = $5 << 24 >> 24; - $7 = ((($tag)) + 1|0); - $8 = ((($tag)) + 2|0); - $9 = ((($tag)) + 3|0); - $i$05 = 0; - while(1) { - $10 = $i$05 << 4; - $11 = (($3) + ($10))|0; - $12 = (($data) + ($11)|0); - $13 = HEAP8[$12>>0]|0; - $14 = $13&255; - $15 = ($14|0)==($6|0); - if ($15) { - $$sum1 = (($11) + 1)|0; - $16 = (($data) + ($$sum1)|0); - $17 = HEAP8[$16>>0]|0; - $18 = $17&255; - $19 = HEAP8[$7>>0]|0; - $20 = $19 << 24 >> 24; - $21 = ($18|0)==($20|0); - if ($21) { - $$sum2 = (($11) + 2)|0; - $22 = (($data) + ($$sum2)|0); - $23 = HEAP8[$22>>0]|0; - $24 = $23&255; - $25 = HEAP8[$8>>0]|0; - $26 = $25 << 24 >> 24; - $27 = ($24|0)==($26|0); - if ($27) { - $$sum3 = (($11) + 3)|0; - $28 = (($data) + ($$sum3)|0); - $29 = HEAP8[$28>>0]|0; - $30 = $29&255; - $31 = HEAP8[$9>>0]|0; - $32 = $31 << 24 >> 24; - $33 = ($30|0)==($32|0); - if ($33) { - $$lcssa = $11; - break; - } - } - } - } - $36 = (($i$05) + 1)|0; - $37 = ($36|0)<($2|0); - if ($37) { - $i$05 = $36; - } else { - $$0 = 0; - label = 9; - break; - } - } - if ((label|0) == 9) { - return ($$0|0); - } - $$sum4 = (($$lcssa) + 8)|0; - $34 = (($data) + ($$sum4)|0); - $35 = (_ttULONG($34)|0); - $$0 = $35; - return ($$0|0); -} -function _ttUSHORT($p) { - $p = $p|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP8[$p>>0]|0; - $1 = $0&255; - $2 = $1 << 8; - $3 = ((($p)) + 1|0); - $4 = HEAP8[$3>>0]|0; - $5 = $4&255; - $6 = $2 | $5; - $7 = $6&65535; - return ($7|0); -} -function _ttSHORT($p) { - $p = $p|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP8[$p>>0]|0; - $1 = $0&255; - $2 = $1 << 8; - $3 = ((($p)) + 1|0); - $4 = HEAP8[$3>>0]|0; - $5 = $4&255; - $6 = $2 | $5; - $7 = $6&65535; - return ($7|0); -} -function _stbtt__GetGlyfOffset($info,$glyph_index) { - $info = $info|0; - $glyph_index = $glyph_index|0; - var $$0 = 0, $$pn = 0, $$sink = 0, $$sum = 0, $$sum2 = 0, $$sum3 = 0, $$sum5 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0; - var $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $g1$0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($info)) + 12|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)>($glyph_index|0); - if (!($2)) { - $$0 = -1; - return ($$0|0); - } - $3 = ((($info)) + 44|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)>(1); - if ($5) { - $$0 = -1; - return ($$0|0); - } - $6 = ($4|0)==(0); - $7 = ((($info)) + 24|0); - $8 = HEAP32[$7>>2]|0; - $9 = ((($info)) + 4|0); - $10 = HEAP32[$9>>2]|0; - $11 = ((($info)) + 16|0); - $12 = HEAP32[$11>>2]|0; - if ($6) { - $13 = $glyph_index << 1; - $$sum3 = (($12) + ($13))|0; - $14 = (($10) + ($$sum3)|0); - $15 = (_ttUSHORT($14)|0); - $16 = $15&65535; - $17 = $16 << 1; - $$sum5 = (($$sum3) + 2)|0; - $18 = (($10) + ($$sum5)|0); - $19 = (_ttUSHORT($18)|0); - $20 = $19&65535; - $21 = $20 << 1; - $$pn = $17;$$sink = $21; - } else { - $22 = $glyph_index << 2; - $$sum = (($12) + ($22))|0; - $23 = (($10) + ($$sum)|0); - $24 = (_ttULONG($23)|0); - $$sum2 = (($$sum) + 4)|0; - $25 = (($10) + ($$sum2)|0); - $26 = (_ttULONG($25)|0); - $$pn = $24;$$sink = $26; - } - $27 = (($$sink) + ($8))|0; - $g1$0 = (($$pn) + ($8))|0; - $28 = ($g1$0|0)==($27|0); - $29 = $28 ? -1 : $g1$0; - $$0 = $29; - return ($$0|0); -} -function _stbtt__close_shape($vertices,$num_vertices,$was_off,$start_off,$sx,$sy,$scx,$scy,$cx,$cy) { - $vertices = $vertices|0; - $num_vertices = $num_vertices|0; - $was_off = $was_off|0; - $start_off = $start_off|0; - $sx = $sx|0; - $sy = $sy|0; - $scx = $scx|0; - $scy = $scy|0; - $cx = $cx|0; - $cy = $cy|0; - var $$0 = 0, $$1 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ($start_off|0)==(0); - $1 = ($was_off|0)!=(0); - if (!($0)) { - if ($1) { - $2 = (($num_vertices) + 1)|0; - $3 = (($vertices) + (($num_vertices*10)|0)|0); - $4 = (($cx) + ($scx))|0; - $5 = $4 >> 1; - $6 = (($cy) + ($scy))|0; - $7 = $6 >> 1; - _stbtt_setvertex($3,3,$5,$7,$cx,$cy); - $$0 = $2; - } else { - $$0 = $num_vertices; - } - $8 = (($$0) + 1)|0; - $9 = (($vertices) + (($$0*10)|0)|0); - _stbtt_setvertex($9,3,$sx,$sy,$scx,$scy); - $$1 = $8; - return ($$1|0); - } - $10 = (($num_vertices) + 1)|0; - $11 = (($vertices) + (($num_vertices*10)|0)|0); - if ($1) { - _stbtt_setvertex($11,3,$sx,$sy,$cx,$cy); - $$1 = $10; - return ($$1|0); - } else { - _stbtt_setvertex($11,2,$sx,$sy,0,0); - $$1 = $10; - return ($$1|0); - } - return (0)|0; -} -function _stbtt_setvertex($v,$type,$x,$y,$cx,$cy) { - $v = $v|0; - $type = $type|0; - $x = $x|0; - $y = $y|0; - $cx = $cx|0; - $cy = $cy|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($v)) + 8|0); - HEAP8[$0>>0] = $type; - $1 = $x&65535; - HEAP16[$v>>1] = $1; - $2 = $y&65535; - $3 = ((($v)) + 2|0); - HEAP16[$3>>1] = $2; - $4 = $cx&65535; - $5 = ((($v)) + 4|0); - HEAP16[$5>>1] = $4; - $6 = $cy&65535; - $7 = ((($v)) + 6|0); - HEAP16[$7>>1] = $6; - return; -} -function _stbtt_FlattenCurves($vertices,$num_verts,$objspace_flatness,$contour_lengths,$num_contours) { - $vertices = $vertices|0; - $num_verts = $num_verts|0; - $objspace_flatness = +$objspace_flatness; - $contour_lengths = $contour_lengths|0; - $num_contours = $num_contours|0; - var $$0 = 0, $$lcssa = 0, $$n$0 = 0, $$n$0$lcssa = 0, $0 = 0.0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0; - var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0.0, $3 = 0, $30 = 0, $31 = 0, $32 = 0.0, $33 = 0, $34 = 0, $35 = 0.0, $36 = 0, $37 = 0, $38 = 0.0, $39 = 0, $4 = 0, $40 = 0; - var $41 = 0, $42 = 0, $43 = 0.0, $44 = 0, $45 = 0, $46 = 0.0, $47 = 0, $48 = 0.0, $49 = 0, $5 = 0, $50 = 0, $51 = 0.0, $52 = 0, $53 = 0.0, $54 = 0, $55 = 0.0, $56 = 0, $57 = 0, $58 = 0, $59 = 0; - var $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond18 = 0, $i$012 = 0, $i$12 = 0, $n$013 = 0, $n$2$lcssa = 0, $n$24 = 0, $n$3 = 0, $num_points = 0, $pass$011 = 0, $points$09 = 0, $points$1 = 0; - var $start$010 = 0, $start$1$lcssa = 0, $start$15 = 0, $start$2 = 0, $x$06 = 0.0, $x$1 = 0.0, $y$07 = 0.0, $y$1 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $num_points = sp; - HEAP32[$num_points>>2] = 0; - $0 = $objspace_flatness * $objspace_flatness; - $1 = ($num_verts|0)>(0); - if ($1) { - $i$012 = 0;$n$013 = 0; - } else { - HEAP32[$num_contours>>2] = 0; - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - while(1) { - $2 = (((($vertices) + (($i$012*10)|0)|0)) + 8|0); - $3 = HEAP8[$2>>0]|0; - $4 = ($3<<24>>24)==(1); - $5 = $4&1; - $$n$0 = (($5) + ($n$013))|0; - $6 = (($i$012) + 1)|0; - $exitcond18 = ($6|0)==($num_verts|0); - if ($exitcond18) { - $$n$0$lcssa = $$n$0; - break; - } else { - $i$012 = $6;$n$013 = $$n$0; - } - } - HEAP32[$num_contours>>2] = $$n$0$lcssa; - $7 = ($$n$0$lcssa|0)==(0); - if ($7) { - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $8 = $$n$0$lcssa << 2; - $9 = (_malloc($8)|0); - HEAP32[$contour_lengths>>2] = $9; - $10 = ($9|0)==(0|0); - if ($10) { - HEAP32[$num_contours>>2] = 0; - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $11 = ($num_verts|0)>(0); - $pass$011 = 0;$points$09 = 0;$start$010 = 0; - while(1) { - $12 = ($pass$011|0)==(1); - if ($12) { - $13 = HEAP32[$num_points>>2]|0; - $14 = $13 << 3; - $15 = (_malloc($14)|0); - $16 = ($15|0)==(0|0); + $11 = ((($1)) + 61|0); + $12 = HEAP8[$11>>0]|0; + $13 = $12&255; + $14 = $13 << 8; + $15 = $14 | $9; + $16 = ($2>>>0)>(62); if ($16) { - $$lcssa = $15; - break; - } else { - $points$1 = $15; - } - } else { - $points$1 = $points$09; - } - HEAP32[$num_points>>2] = 0; - if ($11) { - $i$12 = 0;$n$24 = -1;$start$15 = $start$010;$x$06 = 0.0;$y$07 = 0.0; - while(1) { - $17 = (($vertices) + (($i$12*10)|0)|0); - $18 = (((($vertices) + (($i$12*10)|0)|0)) + 8|0); - $19 = HEAP8[$18>>0]|0; - $20 = $19&255; - if ((($20|0) == 1)) { - $21 = ($n$24|0)>(-1); - if ($21) { - $22 = HEAP32[$num_points>>2]|0; - $23 = (($22) - ($start$15))|0; - $24 = HEAP32[$contour_lengths>>2]|0; - $25 = (($24) + ($n$24<<2)|0); - HEAP32[$25>>2] = $23; - } - $26 = (($n$24) + 1)|0; - $27 = HEAP32[$num_points>>2]|0; - $28 = HEAP16[$17>>1]|0; - $29 = (+($28<<16>>16)); - $30 = (((($vertices) + (($i$12*10)|0)|0)) + 2|0); - $31 = HEAP16[$30>>1]|0; - $32 = (+($31<<16>>16)); - $33 = (($27) + 1)|0; - HEAP32[$num_points>>2] = $33; - _stbtt__add_point($points$1,$27,$29,$32); - $n$3 = $26;$start$2 = $27;$x$1 = $29;$y$1 = $32; - } else if ((($20|0) == 3)) { - $41 = (((($vertices) + (($i$12*10)|0)|0)) + 4|0); - $42 = HEAP16[$41>>1]|0; - $43 = (+($42<<16>>16)); - $44 = (((($vertices) + (($i$12*10)|0)|0)) + 6|0); - $45 = HEAP16[$44>>1]|0; - $46 = (+($45<<16>>16)); - $47 = HEAP16[$17>>1]|0; - $48 = (+($47<<16>>16)); - $49 = (((($vertices) + (($i$12*10)|0)|0)) + 2|0); - $50 = HEAP16[$49>>1]|0; - $51 = (+($50<<16>>16)); - _stbtt__tesselate_curve($points$1,$num_points,$x$06,$y$07,$43,$46,$48,$51,$0,0); - $52 = HEAP16[$17>>1]|0; - $53 = (+($52<<16>>16)); - $54 = HEAP16[$49>>1]|0; - $55 = (+($54<<16>>16)); - $n$3 = $n$24;$start$2 = $start$15;$x$1 = $53;$y$1 = $55; - } else if ((($20|0) == 2)) { - $34 = HEAP16[$17>>1]|0; - $35 = (+($34<<16>>16)); - $36 = (((($vertices) + (($i$12*10)|0)|0)) + 2|0); - $37 = HEAP16[$36>>1]|0; - $38 = (+($37<<16>>16)); - $39 = HEAP32[$num_points>>2]|0; - $40 = (($39) + 1)|0; - HEAP32[$num_points>>2] = $40; - _stbtt__add_point($points$1,$39,$35,$38); - $n$3 = $n$24;$start$2 = $start$15;$x$1 = $35;$y$1 = $38; + $17 = ((($1)) + 62|0); + $18 = HEAP8[$17>>0]|0; + $19 = $18&255; + $20 = ($2|0)==(63); + if ($20) { + $$ph700 = $19;$$ph701 = $15; + label = 5; } else { - $n$3 = $n$24;$start$2 = $start$15;$x$1 = $x$06;$y$1 = $y$07; - } - $56 = (($i$12) + 1)|0; - $exitcond = ($56|0)==($num_verts|0); - if ($exitcond) { - $n$2$lcssa = $n$3;$start$1$lcssa = $start$2; - break; - } else { - $i$12 = $56;$n$24 = $n$3;$start$15 = $start$2;$x$06 = $x$1;$y$07 = $y$1; - } - } - } else { - $n$2$lcssa = -1;$start$1$lcssa = $start$010; - } - $57 = HEAP32[$num_points>>2]|0; - $58 = (($57) - ($start$1$lcssa))|0; - $59 = HEAP32[$contour_lengths>>2]|0; - $60 = (($59) + ($n$2$lcssa<<2)|0); - HEAP32[$60>>2] = $58; - $61 = (($pass$011) + 1)|0; - $62 = ($61|0)<(2); - if ($62) { - $pass$011 = $61;$points$09 = $points$1;$start$010 = $start$1$lcssa; - } else { - $$0 = $points$1; - label = 20; - break; - } - } - if ((label|0) == 20) { - STACKTOP = sp;return ($$0|0); - } - _free($$lcssa); - $63 = HEAP32[$contour_lengths>>2]|0; - _free($63); - HEAP32[$contour_lengths>>2] = 0; - HEAP32[$num_contours>>2] = 0; - $$0 = 0; - STACKTOP = sp;return ($$0|0); -} -function _stbtt__rasterize($result,$pts,$wcount,$windings,$scale_x,$scale_y,$shift_x,$shift_y,$off_x,$off_y,$invert) { - $result = $result|0; - $pts = $pts|0; - $wcount = $wcount|0; - $windings = $windings|0; - $scale_x = +$scale_x; - $scale_y = +$scale_y; - $shift_x = +$shift_x; - $shift_y = +$shift_y; - $off_x = $off_x|0; - $off_y = $off_y|0; - $invert = $invert|0; - var $$lcssa = 0, $$sum = 0, $$sum1 = 0, $$sum2 = 0, $$sum3 = 0, $0 = 0, $1 = 0.0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0.0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0.0, $20 = 0, $21 = 0; - var $22 = 0, $23 = 0.0, $24 = 0, $25 = 0.0, $26 = 0, $27 = 0, $28 = 0.0, $29 = 0.0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0.0, $34 = 0.0, $35 = 0.0, $36 = 0, $37 = 0, $38 = 0.0, $39 = 0.0, $4 = 0; - var $40 = 0.0, $41 = 0.0, $42 = 0, $43 = 0, $44 = 0.0, $45 = 0.0, $46 = 0.0, $47 = 0, $48 = 0, $49 = 0.0, $5 = 0, $50 = 0.0, $51 = 0.0, $52 = 0.0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $6 = 0; - var $7 = 0, $8 = 0, $9 = 0, $a$0 = 0, $b$0 = 0, $exitcond = 0, $exitcond20 = 0, $i$013 = 0, $i$18 = 0, $j$04 = 0, $j$04$phi = 0, $k$05 = 0, $m$07 = 0, $n$0$lcssa = 0, $n$014 = 0, $n$1$lcssa = 0, $n$19 = 0, $n$2$lcssa = 0, $n$26 = 0, $n$3 = 0; - var $phitmp = 0, $phitmp19 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ($invert|0)!=(0); - $1 = -$scale_y; - $2 = $0 ? $1 : $scale_y; - $3 = ((($result)) + 4|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)<(8); - $6 = $5 ? 15 : 5; - $7 = ($windings|0)>(0); - if ($7) { - $i$013 = 0;$n$014 = 0; - while(1) { - $8 = (($wcount) + ($i$013<<2)|0); - $9 = HEAP32[$8>>2]|0; - $10 = (($9) + ($n$014))|0; - $11 = (($i$013) + 1)|0; - $exitcond20 = ($11|0)==($windings|0); - if ($exitcond20) { - $$lcssa = $10; - break; - } else { - $i$013 = $11;$n$014 = $10; - } - } - $phitmp = ($$lcssa*20)|0; - $phitmp19 = (($phitmp) + 20)|0; - $n$0$lcssa = $phitmp19; - } else { - $n$0$lcssa = 20; - } - $12 = (_malloc($n$0$lcssa)|0); - $13 = ($12|0)==(0|0); - if ($13) { - return; - } - $14 = ($windings|0)>(0); - if ($14) { - $15 = (+($6|0)); - $i$18 = 0;$m$07 = 0;$n$19 = 0; - while(1) { - $16 = (($wcount) + ($i$18<<2)|0); - $17 = HEAP32[$16>>2]|0; - $18 = (($17) + ($m$07))|0; - $19 = ($17|0)>(0); - if ($19) { - $20 = (($17) + -1)|0; - $21 = HEAP32[$16>>2]|0; - $j$04 = $20;$k$05 = 0;$n$26 = $n$19; - while(1) { - $$sum = (($j$04) + ($m$07))|0; - $22 = (((($pts) + ($$sum<<3)|0)) + 4|0); - $23 = +HEAPF32[$22>>2]; - $$sum1 = (($k$05) + ($m$07))|0; - $24 = (((($pts) + ($$sum1<<3)|0)) + 4|0); - $25 = +HEAPF32[$24>>2]; - $26 = $23 == $25; - if ($26) { - $n$3 = $n$26; - } else { - $27 = (((($12) + (($n$26*20)|0)|0)) + 16|0); - HEAP32[$27>>2] = 0; - $28 = +HEAPF32[$22>>2]; - $29 = +HEAPF32[$24>>2]; - if ($0) { - $30 = $28 > $29; - if ($30) { - label = 13; - } else { - $a$0 = $k$05;$b$0 = $j$04; - } - } else { - $31 = $28 < $29; - if ($31) { - label = 13; - } else { - $a$0 = $k$05;$b$0 = $j$04; - } - } - if ((label|0) == 13) { - label = 0; - HEAP32[$27>>2] = 1; - $a$0 = $j$04;$b$0 = $k$05; - } - $$sum2 = (($a$0) + ($m$07))|0; - $32 = (($pts) + ($$sum2<<3)|0); - $33 = +HEAPF32[$32>>2]; - $34 = $33 * $scale_x; - $35 = $34 + $shift_x; - $36 = (($12) + (($n$26*20)|0)|0); - HEAPF32[$36>>2] = $35; - $37 = (((($pts) + ($$sum2<<3)|0)) + 4|0); - $38 = +HEAPF32[$37>>2]; - $39 = $2 * $38; - $40 = $39 + $shift_y; - $41 = $15 * $40; - $42 = (((($12) + (($n$26*20)|0)|0)) + 4|0); - HEAPF32[$42>>2] = $41; - $$sum3 = (($b$0) + ($m$07))|0; - $43 = (($pts) + ($$sum3<<3)|0); - $44 = +HEAPF32[$43>>2]; - $45 = $44 * $scale_x; - $46 = $45 + $shift_x; - $47 = (((($12) + (($n$26*20)|0)|0)) + 8|0); - HEAPF32[$47>>2] = $46; - $48 = (((($pts) + ($$sum3<<3)|0)) + 4|0); - $49 = +HEAPF32[$48>>2]; - $50 = $2 * $49; - $51 = $50 + $shift_y; - $52 = $15 * $51; - $53 = (((($12) + (($n$26*20)|0)|0)) + 12|0); - HEAPF32[$53>>2] = $52; - $54 = (($n$26) + 1)|0; - $n$3 = $54; - } - $55 = (($k$05) + 1)|0; - $56 = ($55|0)<($21|0); - if ($56) { - $j$04$phi = $k$05;$k$05 = $55;$n$26 = $n$3;$j$04 = $j$04$phi; - } else { - $n$2$lcssa = $n$3; - break; - } - } - } else { - $n$2$lcssa = $n$19; - } - $57 = (($i$18) + 1)|0; - $exitcond = ($57|0)==($windings|0); - if ($exitcond) { - $n$1$lcssa = $n$2$lcssa; - break; - } else { - $i$18 = $57;$m$07 = $18;$n$19 = $n$2$lcssa; - } - } - } else { - $n$1$lcssa = 0; - } - _qsort($12,$n$1$lcssa,20,4); - _stbtt__rasterize_sorted_edges($result,$12,$n$1$lcssa,$6,$off_x,$off_y); - _free($12); - return; -} -function _stbtt__oversample_shift($oversample) { - $oversample = $oversample|0; - var $$0 = 0.0, $0 = 0, $1 = 0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ($oversample|0)==(0); - if ($0) { - $$0 = 0.0; - return (+$$0); - } - $1 = (1 - ($oversample))|0; - $2 = (+($1|0)); - $3 = (+($oversample|0)); - $4 = $3 * 2.0; - $5 = $2 / $4; - $$0 = $5; - return (+$$0); -} -function _stbtt__h_prefilter($pixels,$w,$h,$stride_in_bytes,$kernel_width) { - $pixels = $pixels|0; - $w = $w|0; - $h = $h|0; - $stride_in_bytes = $stride_in_bytes|0; - $kernel_width = $kernel_width|0; - var $$029 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; - var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0; - var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0; - var $80 = 0, $81 = 0, $82 = 0, $83 = 0, $9 = 0, $buffer = 0, $exitcond = 0, $exitcond45 = 0, $exitcond46 = 0, $exitcond47 = 0, $i$016 = 0, $i$111 = 0, $i$28 = 0, $i$321 = 0, $i$4$ph = 0, $i$426 = 0, $j$034 = 0, $total$017 = 0, $total$112 = 0, $total$29 = 0; - var $total$322 = 0, $total$4$ph = 0, $total$427 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $buffer = sp; - $0 = (($w) - ($kernel_width))|0; - $1 = ($h|0)>(0); - if (!($1)) { - STACKTOP = sp;return; - } - $2 = ($0|0)<(0); - $3 = ($0|0)<(0); - $4 = ($0|0)<(0); - $5 = ($0|0)<(0); - $6 = (($w) + 1)|0; - $7 = (($6) - ($kernel_width))|0; - $$029 = $pixels;$j$034 = 0; - L4: while(1) { - _memset(($buffer|0),0,($kernel_width|0))|0; - if ((($kernel_width|0) == 2)) { - if ($3) { - $i$4$ph = 0;$total$4$ph = 0; - } else { - $i$016 = 0;$total$017 = 0; - while(1) { - $8 = (($$029) + ($i$016)|0); - $9 = HEAP8[$8>>0]|0; - $10 = $9&255; - $11 = $i$016 & 7; - $12 = (($buffer) + ($11)|0); - $13 = HEAP8[$12>>0]|0; - $14 = $13&255; - $15 = (($10) - ($14))|0; - $16 = (($15) + ($total$017))|0; - $17 = (($i$016) + ($kernel_width))|0; - $18 = $17 & 7; - $19 = (($buffer) + ($18)|0); - HEAP8[$19>>0] = $9; - $20 = $16 >>> 1; - $21 = $20&255; - HEAP8[$8>>0] = $21; - $22 = (($i$016) + 1)|0; - $exitcond46 = ($22|0)==($7|0); - if ($exitcond46) { - $i$4$ph = $7;$total$4$ph = $16; - break; - } else { - $i$016 = $22;$total$017 = $16; - } - } - } - } else if ((($kernel_width|0) == 4)) { - if ($5) { - $i$4$ph = 0;$total$4$ph = 0; - } else { - $i$28 = 0;$total$29 = 0; - while(1) { - $38 = (($$029) + ($i$28)|0); - $39 = HEAP8[$38>>0]|0; - $40 = $39&255; - $41 = $i$28 & 7; - $42 = (($buffer) + ($41)|0); - $43 = HEAP8[$42>>0]|0; - $44 = $43&255; - $45 = (($40) - ($44))|0; - $46 = (($45) + ($total$29))|0; - $47 = (($i$28) + ($kernel_width))|0; - $48 = $47 & 7; - $49 = (($buffer) + ($48)|0); - HEAP8[$49>>0] = $39; - $50 = $46 >>> 2; - $51 = $50&255; - HEAP8[$38>>0] = $51; - $52 = (($i$28) + 1)|0; - $exitcond = ($52|0)==($7|0); - if ($exitcond) { - $i$4$ph = $7;$total$4$ph = $46; - break; - } else { - $i$28 = $52;$total$29 = $46; - } - } - } - } else if ((($kernel_width|0) == 3)) { - if ($4) { - $i$4$ph = 0;$total$4$ph = 0; - } else { - $i$111 = 0;$total$112 = 0; - while(1) { - $23 = (($$029) + ($i$111)|0); + $23 = ((($1)) + 63|0); $24 = HEAP8[$23>>0]|0; $25 = $24&255; - $26 = $i$111 & 7; - $27 = (($buffer) + ($26)|0); - $28 = HEAP8[$27>>0]|0; - $29 = $28&255; - $30 = (($25) - ($29))|0; - $31 = (($30) + ($total$112))|0; - $32 = (($i$111) + ($kernel_width))|0; - $33 = $32 & 7; - $34 = (($buffer) + ($33)|0); - HEAP8[$34>>0] = $24; - $35 = (($31>>>0) / 3)&-1; - $36 = $35&255; - HEAP8[$23>>0] = $36; - $37 = (($i$111) + 1)|0; - $exitcond45 = ($37|0)==($7|0); - if ($exitcond45) { - $i$4$ph = $7;$total$4$ph = $31; - break; - } else { - $i$111 = $37;$total$112 = $31; - } - } - } - } else { - if ($2) { - $i$4$ph = 0;$total$4$ph = 0; - } else { - $i$321 = 0;$total$322 = 0; - while(1) { - $54 = (($$029) + ($i$321)|0); - $55 = HEAP8[$54>>0]|0; - $56 = $55&255; - $57 = $i$321 & 7; - $58 = (($buffer) + ($57)|0); - $59 = HEAP8[$58>>0]|0; - $60 = $59&255; - $61 = (($56) - ($60))|0; - $62 = (($61) + ($total$322))|0; - $63 = (($i$321) + ($kernel_width))|0; - $64 = $63 & 7; - $65 = (($buffer) + ($64)|0); - HEAP8[$65>>0] = $55; - $66 = (($62>>>0) / ($kernel_width>>>0))&-1; - $67 = $66&255; - HEAP8[$54>>0] = $67; - $68 = (($i$321) + 1)|0; - $exitcond47 = ($68|0)==($7|0); - if ($exitcond47) { - $i$4$ph = $7;$total$4$ph = $62; - break; - } else { - $i$321 = $68;$total$322 = $62; - } - } - } - } - $53 = ($i$4$ph|0)<($w|0); - if ($53) { - $i$426 = $i$4$ph;$total$427 = $total$4$ph; - while(1) { - $69 = (($$029) + ($i$426)|0); - $70 = HEAP8[$69>>0]|0; - $71 = ($70<<24>>24)==(0); - if (!($71)) { - label = 14; - break L4; - } - $72 = $i$426 & 7; - $73 = (($buffer) + ($72)|0); - $74 = HEAP8[$73>>0]|0; - $75 = $74&255; - $76 = (($total$427) - ($75))|0; - $77 = (($76>>>0) / ($kernel_width>>>0))&-1; - $78 = $77&255; - HEAP8[$69>>0] = $78; - $79 = (($i$426) + 1)|0; - $80 = ($79|0)<($w|0); - if ($80) { - $i$426 = $79;$total$427 = $76; - } else { - break; - } - } - } - $81 = (($$029) + ($stride_in_bytes)|0); - $82 = (($j$034) + 1)|0; - $83 = ($82|0)<($h|0); - if ($83) { - $$029 = $81;$j$034 = $82; - } else { - label = 17; - break; - } - } - if ((label|0) == 14) { - ___assert_fail((20248|0),(15032|0),2248,(20264|0)); - // unreachable; - } - else if ((label|0) == 17) { - STACKTOP = sp;return; - } -} -function _stbtt__v_prefilter($pixels,$w,$h,$stride_in_bytes,$kernel_width) { - $pixels = $pixels|0; - $w = $w|0; - $h = $h|0; - $stride_in_bytes = $stride_in_bytes|0; - $kernel_width = $kernel_width|0; - var $$029 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; - var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0; - var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0; - var $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $9 = 0, $buffer = 0, $exitcond = 0, $exitcond45 = 0, $exitcond46 = 0, $exitcond47 = 0, $i$016 = 0, $i$111 = 0, $i$28 = 0, $i$321 = 0, $i$4$ph = 0; - var $i$426 = 0, $j$034 = 0, $total$017 = 0, $total$112 = 0, $total$29 = 0, $total$322 = 0, $total$4$ph = 0, $total$427 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $buffer = sp; - $0 = (($h) - ($kernel_width))|0; - $1 = ($w|0)>(0); - if (!($1)) { - STACKTOP = sp;return; - } - $2 = ($0|0)<(0); - $3 = ($0|0)<(0); - $4 = ($0|0)<(0); - $5 = ($0|0)<(0); - $6 = (($h) + 1)|0; - $7 = (($6) - ($kernel_width))|0; - $$029 = $pixels;$j$034 = 0; - L4: while(1) { - _memset(($buffer|0),0,($kernel_width|0))|0; - if ((($kernel_width|0) == 3)) { - if ($4) { - $i$4$ph = 0;$total$4$ph = 0; - } else { - $i$111 = 0;$total$112 = 0; - while(1) { - $24 = Math_imul($i$111, $stride_in_bytes)|0; - $25 = (($$029) + ($24)|0); - $26 = HEAP8[$25>>0]|0; - $27 = $26&255; - $28 = $i$111 & 7; - $29 = (($buffer) + ($28)|0); - $30 = HEAP8[$29>>0]|0; - $31 = $30&255; - $32 = (($27) - ($31))|0; - $33 = (($32) + ($total$112))|0; - $34 = (($i$111) + ($kernel_width))|0; - $35 = $34 & 7; - $36 = (($buffer) + ($35)|0); - HEAP8[$36>>0] = $26; - $37 = (($33>>>0) / 3)&-1; - $38 = $37&255; - HEAP8[$25>>0] = $38; - $39 = (($i$111) + 1)|0; - $exitcond45 = ($39|0)==($7|0); - if ($exitcond45) { - $i$4$ph = $7;$total$4$ph = $33; - break; - } else { - $i$111 = $39;$total$112 = $33; - } - } - } - } else if ((($kernel_width|0) == 4)) { - if ($5) { - $i$4$ph = 0;$total$4$ph = 0; - } else { - $i$28 = 0;$total$29 = 0; - while(1) { - $40 = Math_imul($i$28, $stride_in_bytes)|0; - $41 = (($$029) + ($40)|0); - $42 = HEAP8[$41>>0]|0; - $43 = $42&255; - $44 = $i$28 & 7; - $45 = (($buffer) + ($44)|0); - $46 = HEAP8[$45>>0]|0; - $47 = $46&255; - $48 = (($43) - ($47))|0; - $49 = (($48) + ($total$29))|0; - $50 = (($i$28) + ($kernel_width))|0; - $51 = $50 & 7; - $52 = (($buffer) + ($51)|0); - HEAP8[$52>>0] = $42; - $53 = $49 >>> 2; - $54 = $53&255; - HEAP8[$41>>0] = $54; - $55 = (($i$28) + 1)|0; - $exitcond = ($55|0)==($7|0); - if ($exitcond) { - $i$4$ph = $7;$total$4$ph = $49; - break; - } else { - $i$28 = $55;$total$29 = $49; - } - } - } - } else if ((($kernel_width|0) == 2)) { - if ($3) { - $i$4$ph = 0;$total$4$ph = 0; - } else { - $i$016 = 0;$total$017 = 0; - while(1) { - $8 = Math_imul($i$016, $stride_in_bytes)|0; - $9 = (($$029) + ($8)|0); - $10 = HEAP8[$9>>0]|0; - $11 = $10&255; - $12 = $i$016 & 7; - $13 = (($buffer) + ($12)|0); - $14 = HEAP8[$13>>0]|0; - $15 = $14&255; - $16 = (($11) - ($15))|0; - $17 = (($16) + ($total$017))|0; - $18 = (($i$016) + ($kernel_width))|0; - $19 = $18 & 7; - $20 = (($buffer) + ($19)|0); - HEAP8[$20>>0] = $10; - $21 = $17 >>> 1; - $22 = $21&255; - HEAP8[$9>>0] = $22; - $23 = (($i$016) + 1)|0; - $exitcond46 = ($23|0)==($7|0); - if ($exitcond46) { - $i$4$ph = $7;$total$4$ph = $17; - break; - } else { - $i$016 = $23;$total$017 = $17; - } - } - } - } else { - if ($2) { - $i$4$ph = 0;$total$4$ph = 0; - } else { - $i$321 = 0;$total$322 = 0; - while(1) { - $57 = Math_imul($i$321, $stride_in_bytes)|0; - $58 = (($$029) + ($57)|0); - $59 = HEAP8[$58>>0]|0; - $60 = $59&255; - $61 = $i$321 & 7; - $62 = (($buffer) + ($61)|0); - $63 = HEAP8[$62>>0]|0; - $64 = $63&255; - $65 = (($60) - ($64))|0; - $66 = (($65) + ($total$322))|0; - $67 = (($i$321) + ($kernel_width))|0; - $68 = $67 & 7; - $69 = (($buffer) + ($68)|0); - HEAP8[$69>>0] = $59; - $70 = (($66>>>0) / ($kernel_width>>>0))&-1; - $71 = $70&255; - HEAP8[$58>>0] = $71; - $72 = (($i$321) + 1)|0; - $exitcond47 = ($72|0)==($7|0); - if ($exitcond47) { - $i$4$ph = $7;$total$4$ph = $66; - break; - } else { - $i$321 = $72;$total$322 = $66; - } - } - } - } - $56 = ($i$4$ph|0)<($h|0); - if ($56) { - $i$426 = $i$4$ph;$total$427 = $total$4$ph; - while(1) { - $73 = Math_imul($i$426, $stride_in_bytes)|0; - $74 = (($$029) + ($73)|0); - $75 = HEAP8[$74>>0]|0; - $76 = ($75<<24>>24)==(0); - if (!($76)) { - label = 14; - break L4; - } - $77 = $i$426 & 7; - $78 = (($buffer) + ($77)|0); - $79 = HEAP8[$78>>0]|0; - $80 = $79&255; - $81 = (($total$427) - ($80))|0; - $82 = (($81>>>0) / ($kernel_width>>>0))&-1; - $83 = $82&255; - HEAP8[$74>>0] = $83; - $84 = (($i$426) + 1)|0; - $85 = ($84|0)<($h|0); - if ($85) { - $i$426 = $84;$total$427 = $81; - } else { - break; - } - } - } - $86 = ((($$029)) + 1|0); - $87 = (($j$034) + 1)|0; - $88 = ($87|0)<($w|0); - if ($88) { - $$029 = $86;$j$034 = $87; - } else { - label = 17; - break; - } - } - if ((label|0) == 14) { - ___assert_fail((20192|0),(15032|0),2302,(20224|0)); - // unreachable; - } - else if ((label|0) == 17) { - STACKTOP = sp;return; - } -} -function _LoadRBMF($agg$result,$fileName) { - $agg$result = $agg$result|0; - $fileName = $fileName|0; - var $$lcssa = 0, $$lcssa7 = 0, $$op = 0, $$op$op = 0, $$op$op$op = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0; - var $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0; - var $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0; - var $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0; - var $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0; - var $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0; - var $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $counter$012 = 0, $currentLine$08 = 0, $currentLine$1 = 0, $currentPosX$09 = 0, $currentPosX$1 = 0; - var $exitcond = 0, $exitcond27 = 0, $exitcond28 = 0, $i$023 = 0, $i1$019 = 0, $i2$016 = 0, $i3$013 = 0, $i4$010 = 0, $image = 0, $image$byval_copy14 = 0, $j$011 = 0, $rbmfCharWidthData$0 = 0, $rbmfFileData$0 = 0, $rbmfHeader = 0, $spriteFont$sroa$0$0 = 0, $spriteFont$sroa$12$0 = 0, $spriteFont$sroa$14$0 = 0, $spriteFont$sroa$4$0 = 0, $spriteFont$sroa$5 = 0, $spriteFont$sroa$55$0 = 0; - var $spriteFont$sroa$6$0 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer11 = 0, $vararg_ptr4 = 0, $vararg_ptr5 = 0, $vararg_ptr6 = 0, $vararg_ptr7 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 144|0; - $image$byval_copy14 = sp + 56|0; - $vararg_buffer11 = sp; - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp + 32|0; - $spriteFont$sroa$5 = sp + 40|0; - $rbmfHeader = sp + 120|0; - $image = sp + 76|0; - $0 = sp + 96|0; - $1 = (_fopen(($fileName|0),(19952|0))|0); - $2 = ($1|0)==(0|0); - if ($2) { - HEAP32[$vararg_buffer>>2] = $fileName; - _TraceLog(2,19960,$vararg_buffer); - $rbmfCharWidthData$0 = 0;$rbmfFileData$0 = 0;$spriteFont$sroa$0$0 = 0;$spriteFont$sroa$12$0 = 0;$spriteFont$sroa$14$0 = 0;$spriteFont$sroa$4$0 = 0;$spriteFont$sroa$55$0 = 0;$spriteFont$sroa$6$0 = 0; - (_fclose(($1|0))|0); - _free($rbmfFileData$0); - _free($rbmfCharWidthData$0); - HEAP32[$agg$result>>2] = $spriteFont$sroa$0$0; - $124 = ((($agg$result)) + 4|0); - HEAP32[$124>>2] = $spriteFont$sroa$4$0; - $125 = ((($agg$result)) + 8|0); - ;HEAP32[$125>>2]=HEAP32[$spriteFont$sroa$5>>2]|0;HEAP32[$125+4>>2]=HEAP32[$spriteFont$sroa$5+4>>2]|0;HEAP32[$125+8>>2]=HEAP32[$spriteFont$sroa$5+8>>2]|0; - $126 = ((($agg$result)) + 20|0); - HEAP32[$126>>2] = $spriteFont$sroa$55$0; - $127 = ((($agg$result)) + 24|0); - HEAP32[$127>>2] = $spriteFont$sroa$6$0; - $128 = ((($agg$result)) + 28|0); - HEAP32[$128>>2] = $spriteFont$sroa$12$0; - $129 = ((($agg$result)) + 32|0); - HEAP32[$129>>2] = $spriteFont$sroa$14$0; - STACKTOP = sp;return; - } - (_fread(($rbmfHeader|0),16,1,($1|0))|0); - $3 = ((($rbmfHeader)) + 6|0); - $4 = HEAP16[$3>>1]|0; - $5 = $4 << 16 >> 16; - $6 = ((($rbmfHeader)) + 8|0); - $7 = HEAP16[$6>>1]|0; - $8 = $7 << 16 >> 16; - $9 = ((($rbmfHeader)) + 10|0); - $10 = HEAP16[$9>>1]|0; - $11 = $10 << 16 >> 16; - $12 = ((($rbmfHeader)) + 12|0); - $13 = HEAP16[$12>>1]|0; - $14 = $13 << 16 >> 16; - HEAP32[$vararg_buffer1>>2] = $fileName; - $vararg_ptr4 = ((($vararg_buffer1)) + 4|0); - HEAP32[$vararg_ptr4>>2] = $5; - $vararg_ptr5 = ((($vararg_buffer1)) + 8|0); - HEAP32[$vararg_ptr5>>2] = $8; - $vararg_ptr6 = ((($vararg_buffer1)) + 12|0); - HEAP32[$vararg_ptr6>>2] = $11; - $vararg_ptr7 = ((($vararg_buffer1)) + 16|0); - HEAP32[$vararg_ptr7>>2] = $14; - _TraceLog(3,20000,$vararg_buffer1); - $15 = HEAP16[$9>>1]|0; - $16 = $15 << 16 >> 16; - $17 = HEAP16[$3>>1]|0; - $18 = $17 << 16 >> 16; - $19 = HEAP16[$6>>1]|0; - $20 = $19 << 16 >> 16; - $21 = Math_imul($20, $18)|0; - $22 = (($21|0) / 32)&-1; - $23 = $22 << 2; - $24 = (_malloc($23)|0); - $25 = ($21|0)>(31); - if ($25) { - $i$023 = 0; - while(1) { - $26 = (($24) + ($i$023<<2)|0); - (_fread(($26|0),4,1,($1|0))|0); - $27 = (($i$023) + 1)|0; - $28 = ($27|0)<($22|0); - if ($28) { - $i$023 = $27; - } else { - break; - } - } - } - $29 = (_malloc($16)|0); - $30 = ($15<<16>>16)>(0); - if ($30) { - $31 = $15 << 16 >> 16; - $i1$019 = 0; - while(1) { - $32 = (($29) + ($i1$019)|0); - (_fread(($32|0),1,1,($1|0))|0); - $33 = (($i1$019) + 1)|0; - $exitcond28 = ($33|0)==($31|0); - if ($exitcond28) { - break; - } else { - $i1$019 = $33; - } - } - } - $34 = HEAP16[$3>>1]|0; - $35 = $34 << 16 >> 16; - $36 = HEAP16[$6>>1]|0; - $37 = $36 << 16 >> 16; - $38 = $35 << 2; - $39 = Math_imul($38, $37)|0; - $40 = (_malloc($39)|0); - $41 = HEAP16[$3>>1]|0; - $42 = $41 << 16 >> 16; - $43 = HEAP16[$6>>1]|0; - $44 = $43 << 16 >> 16; - $45 = Math_imul($44, $42)|0; - $46 = ($45|0)>(0); - if ($46) { - $47 = HEAP16[$3>>1]|0; - $48 = $47 << 16 >> 16; - $49 = HEAP16[$6>>1]|0; - $50 = $49 << 16 >> 16; - $51 = Math_imul($50, $48)|0; - $i2$016 = 0; - while(1) { - $65 = (($40) + ($i2$016<<2)|0); - $66 = (($i2$016) + 1)|0; - $67 = ($66|0)<($51|0); - HEAP8[$65>>0]=0&255;HEAP8[$65+1>>0]=(0>>8)&255;HEAP8[$65+2>>0]=(0>>16)&255;HEAP8[$65+3>>0]=0>>24; - if ($67) { - $i2$016 = $66; - } else { - break; - } - } - } - $52 = HEAP16[$3>>1]|0; - $53 = $52 << 16 >> 16; - $54 = HEAP16[$6>>1]|0; - $55 = $54 << 16 >> 16; - $56 = Math_imul($55, $53)|0; - $57 = ($56|0)>(0); - if ($57) { - $58 = HEAP16[$3>>1]|0; - $59 = HEAP16[$6>>1]|0; - $60 = $59 << 16 >> 16; - $61 = $58 << 16 >> 16; - $62 = Math_imul($60, $61)|0; - $63 = ($62|0)>(32); - $$op = (($62) + -1)|0; - $$op$op = $$op >>> 5; - $$op$op$op = (($$op$op) + 1)|0; - $64 = $63 ? $$op$op$op : 1; - $counter$012 = 0;$i3$013 = 0; - while(1) { - $68 = (($24) + ($counter$012<<2)|0); - $69 = HEAP32[$68>>2]|0; - $j$011 = 31; - while(1) { - $70 = 1 << $j$011; - $71 = $69 & $70; - $72 = ($71|0)==(0); - if (!($72)) { - $73 = (($j$011) + ($i3$013))|0; - $74 = (($40) + ($73<<2)|0); - HEAP8[$74>>0]=-1&255;HEAP8[$74+1>>0]=(-1>>8)&255;HEAP8[$74+2>>0]=(-1>>16)&255;HEAP8[$74+3>>0]=-1>>24; - } - $75 = (($j$011) + -1)|0; - $76 = ($j$011|0)>(0); - if ($76) { - $j$011 = $75; - } else { - break; - } - } - $77 = (($counter$012) + 1)|0; - $78 = (($i3$013) + 32)|0; - $exitcond27 = ($77|0)==($64|0); - if ($exitcond27) { - break; - } else { - $counter$012 = $77;$i3$013 = $78; - } - } - $79 = $58 << 16 >> 16; - $80 = $59 << 16 >> 16; - $$lcssa = $79;$$lcssa7 = $80; - } else { - $$lcssa = $53;$$lcssa7 = $55; - } - _LoadImageEx($image,$40,$$lcssa,$$lcssa7); - _ImageFormat($image,2); - _free($40); - HEAP32[$image$byval_copy14>>2] = $fileName; - _TraceLog(3,20072,$image$byval_copy14); - ;HEAP32[$image$byval_copy14>>2]=HEAP32[$image>>2]|0;HEAP32[$image$byval_copy14+4>>2]=HEAP32[$image+4>>2]|0;HEAP32[$image$byval_copy14+8>>2]=HEAP32[$image+8>>2]|0;HEAP32[$image$byval_copy14+12>>2]=HEAP32[$image+12>>2]|0;HEAP32[$image$byval_copy14+16>>2]=HEAP32[$image+16>>2]|0; - _LoadTextureFromImage($0,$image$byval_copy14); - $81 = HEAP32[$0>>2]|0; - $82 = ((($0)) + 4|0); - $83 = HEAP32[$82>>2]|0; - $84 = ((($0)) + 8|0); - ;HEAP32[$spriteFont$sroa$5>>2]=HEAP32[$84>>2]|0;HEAP32[$spriteFont$sroa$5+4>>2]=HEAP32[$84+4>>2]|0;HEAP32[$spriteFont$sroa$5+8>>2]=HEAP32[$84+8>>2]|0; - ;HEAP32[$image$byval_copy14>>2]=HEAP32[$image>>2]|0;HEAP32[$image$byval_copy14+4>>2]=HEAP32[$image+4>>2]|0;HEAP32[$image$byval_copy14+8>>2]=HEAP32[$image+8>>2]|0;HEAP32[$image$byval_copy14+12>>2]=HEAP32[$image+12>>2]|0;HEAP32[$image$byval_copy14+16>>2]=HEAP32[$image+16>>2]|0; - _UnloadImage($image$byval_copy14); - $85 = $16 << 2; - $86 = (_malloc($85)|0); - $87 = $16 << 4; - $88 = (_malloc($87)|0); - $89 = ($15<<16>>16)>(0); - if ($89) { - $90 = ((($rbmfHeader)) + 5|0); - $91 = HEAP8[$90>>0]|0; - $92 = $91 << 24 >> 24; - $93 = HEAP16[$12>>1]|0; - $94 = $93 << 16 >> 16; - $95 = (($94) + 1)|0; - $96 = $93 << 16 >> 16; - $97 = $93 << 16 >> 16; - $98 = (($97) + 1)|0; - $99 = $15 << 16 >> 16; - $currentLine$08 = 0;$currentPosX$09 = 1;$i4$010 = 0; - while(1) { - $100 = (($92) + ($i4$010))|0; - $101 = (($86) + ($i4$010<<2)|0); - HEAP32[$101>>2] = $100; - $102 = (($88) + ($i4$010<<4)|0); - HEAP32[$102>>2] = $currentPosX$09; - $103 = Math_imul($95, $currentLine$08)|0; - $104 = (($103) + 1)|0; - $105 = (((($88) + ($i4$010<<4)|0)) + 4|0); - HEAP32[$105>>2] = $104; - $106 = (($29) + ($i4$010)|0); - $107 = HEAP8[$106>>0]|0; - $108 = $107&255; - $109 = (((($88) + ($i4$010<<4)|0)) + 8|0); - HEAP32[$109>>2] = $108; - $110 = (((($88) + ($i4$010<<4)|0)) + 12|0); - HEAP32[$110>>2] = $96; - $111 = HEAP32[$109>>2]|0; - $112 = (($currentPosX$09) + 1)|0; - $113 = (($112) + ($111))|0; - $114 = ($113|0)>($83|0); - if ($114) { - $115 = (($currentLine$08) + 1)|0; - $116 = HEAP8[$106>>0]|0; - $117 = $116&255; - $118 = (($117) + 2)|0; - HEAP32[$102>>2] = 1; - $119 = Math_imul($98, $115)|0; - $120 = (($119) + 1)|0; - HEAP32[$105>>2] = $120; - $currentLine$1 = $115;$currentPosX$1 = $118; - } else { - $currentLine$1 = $currentLine$08;$currentPosX$1 = $113; - } - $121 = (($i4$010) + 1)|0; - $exitcond = ($121|0)==($99|0); - if ($exitcond) { - break; - } else { - $currentLine$08 = $currentLine$1;$currentPosX$09 = $currentPosX$1;$i4$010 = $121; - } - } - } - $122 = ((($88)) + 12|0); - $123 = HEAP32[$122>>2]|0; - HEAP32[$vararg_buffer11>>2] = $fileName; - _TraceLog(0,20144,$vararg_buffer11); - $rbmfCharWidthData$0 = $29;$rbmfFileData$0 = $24;$spriteFont$sroa$0$0 = $81;$spriteFont$sroa$12$0 = $86;$spriteFont$sroa$14$0 = $88;$spriteFont$sroa$4$0 = $83;$spriteFont$sroa$55$0 = $123;$spriteFont$sroa$6$0 = $16; - (_fclose(($1|0))|0); - _free($rbmfFileData$0); - _free($rbmfCharWidthData$0); - HEAP32[$agg$result>>2] = $spriteFont$sroa$0$0; - $124 = ((($agg$result)) + 4|0); - HEAP32[$124>>2] = $spriteFont$sroa$4$0; - $125 = ((($agg$result)) + 8|0); - ;HEAP32[$125>>2]=HEAP32[$spriteFont$sroa$5>>2]|0;HEAP32[$125+4>>2]=HEAP32[$spriteFont$sroa$5+4>>2]|0;HEAP32[$125+8>>2]=HEAP32[$spriteFont$sroa$5+8>>2]|0; - $126 = ((($agg$result)) + 20|0); - HEAP32[$126>>2] = $spriteFont$sroa$55$0; - $127 = ((($agg$result)) + 24|0); - HEAP32[$127>>2] = $spriteFont$sroa$6$0; - $128 = ((($agg$result)) + 28|0); - HEAP32[$128>>2] = $spriteFont$sroa$12$0; - $129 = ((($agg$result)) + 32|0); - HEAP32[$129>>2] = $spriteFont$sroa$14$0; - STACKTOP = sp;return; -} -function _LoadTTF($agg$result,$fileName) { - $agg$result = $agg$result|0; - $fileName = $fileName|0; - var $0 = 0, $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $chardata = 0, $image = 0, $image$byval_copy = 0, $pc = 0, dest = 0, label = 0, sp = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 3680|0; - $image$byval_copy = sp + 3648|0; - $image = sp; - $chardata = sp + 24|0; - $pc = sp + 3608|0; - dest=$agg$result; stop=dest+36|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - $0 = ((($image)) + 4|0); - HEAP32[$0>>2] = 512; - $1 = ((($image)) + 8|0); - HEAP32[$1>>2] = 512; - $2 = (_malloc(33554432)|0); - $3 = HEAP32[$0>>2]|0; - $4 = HEAP32[$1>>2]|0; - $5 = Math_imul($4, $3)|0; - $6 = (_malloc($5)|0); - $7 = (_fopen(($fileName|0),(19952|0))|0); - (_fread(($2|0),1,33554432,($7|0))|0); - $8 = HEAP32[$0>>2]|0; - $9 = HEAP32[$1>>2]|0; - (_stbtt_PackBegin($pc,$6,$8,$9,0,1,0)|0); - _stbtt_PackSetOversampling($pc,2,2); - $10 = ((($chardata)) + 896|0); - (_stbtt_PackFontRange($pc,$2,0,20.0,32,95,$10)|0); - _stbtt_PackEnd($pc); - _free($2); - _free($6); - ;HEAP32[$image$byval_copy>>2]=HEAP32[$image>>2]|0;HEAP32[$image$byval_copy+4>>2]=HEAP32[$image+4>>2]|0;HEAP32[$image$byval_copy+8>>2]=HEAP32[$image+8>>2]|0;HEAP32[$image$byval_copy+12>>2]=HEAP32[$image+12>>2]|0;HEAP32[$image$byval_copy+16>>2]=HEAP32[$image+16>>2]|0; - _UnloadImage($image$byval_copy); - STACKTOP = sp;return; -} -function _ParseImageData($image,$charValues,$charRecs) { - $image = $image|0; - $charValues = $charValues|0; - $charRecs = $charRecs|0; - var $$byval_copy4 = 0, $$lcssa = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; - var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0; - var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0; - var $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $8 = 0, $9 = 0, $charWidth$0 = 0, $charWidth$0$lcssa = 0; - var $exitcond = 0, $i$06 = 0, $index$0$lcssa = 0, $index$012 = 0, $index$1$lcssa = 0, $index$17 = 0, $j$0 = 0, $j$0$lcssa = 0, $lineToRead$013 = 0, $tempCharRecs = 0, $tempCharValues = 0, $x$1$lcssa = 0, $x$116 = 0, $x$2 = 0, $xPosToRead$18 = 0, $y$0$lcssa = 0, $y$024 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 2592|0; - $$byval_copy4 = sp + 2560|0; - $tempCharValues = sp; - $tempCharRecs = sp + 512|0; - ;HEAP32[$$byval_copy4>>2]=HEAP32[$image>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$image+4>>2]|0;HEAP32[$$byval_copy4+8>>2]=HEAP32[$image+8>>2]|0;HEAP32[$$byval_copy4+12>>2]=HEAP32[$image+12>>2]|0;HEAP32[$$byval_copy4+16>>2]=HEAP32[$image+16>>2]|0; - $0 = (_GetImageData($$byval_copy4)|0); - $1 = ((($image)) + 8|0); - $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)>(0); - L1: do { - if ($3) { - $4 = ((($image)) + 4|0); - $5 = HEAP32[$4>>2]|0; - $6 = ($5|0)>(0); - $7 = HEAP32[$1>>2]|0; - $y$024 = 0; - while(1) { - L5: do { - if ($6) { - $8 = Math_imul($5, $y$024)|0; - $x$116 = 0; - while(1) { - $9 = (($8) + ($x$116))|0; - $10 = (($0) + ($9<<2)|0); - ;HEAP8[$$byval_copy4>>0]=HEAP8[$10>>0]|0;HEAP8[$$byval_copy4+1>>0]=HEAP8[$10+1>>0]|0;HEAP8[$$byval_copy4+2>>0]=HEAP8[$10+2>>0]|0;HEAP8[$$byval_copy4+3>>0]=HEAP8[$10+3>>0]|0; - $11 = (_PixelIsMagenta($$byval_copy4)|0); - $12 = ($11|0)==(0); - if ($12) { - $x$1$lcssa = $x$116; - break L5; - } - $13 = (($x$116) + 1)|0; - $14 = ($13|0)<($5|0); - if ($14) { - $x$116 = $13; - } else { - $x$1$lcssa = $13; - break; - } - } - } else { - $x$1$lcssa = 0; - } - } while(0); - $15 = Math_imul($5, $y$024)|0; - $16 = (($15) + ($x$1$lcssa))|0; - $17 = (($0) + ($16<<2)|0); - ;HEAP8[$$byval_copy4>>0]=HEAP8[$17>>0]|0;HEAP8[$$byval_copy4+1>>0]=HEAP8[$17+1>>0]|0;HEAP8[$$byval_copy4+2>>0]=HEAP8[$17+2>>0]|0;HEAP8[$$byval_copy4+3>>0]=HEAP8[$17+3>>0]|0; - $18 = (_PixelIsMagenta($$byval_copy4)|0); - $19 = ($18|0)==(0); - if ($19) { - $x$2 = $x$1$lcssa;$y$0$lcssa = $y$024; - break L1; - } - $20 = (($y$024) + 1)|0; - $21 = ($20|0)<($7|0); - if ($21) { - $y$024 = $20; - } else { - $x$2 = $x$1$lcssa;$y$0$lcssa = $20; - break; - } - } - } else { - $x$2 = 0;$y$0$lcssa = 0; - } - } while(0); - $22 = ((($image)) + 4|0); - $23 = HEAP32[$22>>2]|0; - $j$0 = 0; - while(1) { - $24 = (($j$0) + ($y$0$lcssa))|0; - $25 = Math_imul($24, $23)|0; - $26 = (($25) + ($x$2))|0; - $27 = (($0) + ($26<<2)|0); - ;HEAP8[$$byval_copy4>>0]=HEAP8[$27>>0]|0;HEAP8[$$byval_copy4+1>>0]=HEAP8[$27+1>>0]|0;HEAP8[$$byval_copy4+2>>0]=HEAP8[$27+2>>0]|0;HEAP8[$$byval_copy4+3>>0]=HEAP8[$27+3>>0]|0; - $28 = (_PixelIsMagenta($$byval_copy4)|0); - $29 = ($28|0)==(0); - $30 = (($j$0) + 1)|0; - if ($29) { - $j$0 = $30; - } else { - $$lcssa = $24;$j$0$lcssa = $j$0; - break; - } - } - $31 = HEAP32[$1>>2]|0; - $32 = ($y$0$lcssa|0)<($31|0); - if ($32) { - $33 = HEAP32[$22>>2]|0; - $34 = ($x$2|0)<($33|0); - $35 = HEAP32[$1>>2]|0; - $37 = $y$0$lcssa;$index$012 = 0;$lineToRead$013 = 0; - while(1) { - L20: do { - if ($34) { - $36 = Math_imul($33, $37)|0; - $38 = Math_imul($33, $37)|0; - $index$17 = $index$012;$xPosToRead$18 = $x$2; - while(1) { - $39 = (($38) + ($xPosToRead$18))|0; - $40 = (($0) + ($39<<2)|0); - ;HEAP8[$$byval_copy4>>0]=HEAP8[$40>>0]|0;HEAP8[$$byval_copy4+1>>0]=HEAP8[$40+1>>0]|0;HEAP8[$$byval_copy4+2>>0]=HEAP8[$40+2>>0]|0;HEAP8[$$byval_copy4+3>>0]=HEAP8[$40+3>>0]|0; - $41 = (_PixelIsMagenta($$byval_copy4)|0); - $42 = ($41|0)==(0); - if (!($42)) { - $index$1$lcssa = $index$17; - break L20; - } - $43 = (($index$17) + 32)|0; - $44 = (($tempCharValues) + ($index$17<<2)|0); - HEAP32[$44>>2] = $43; - $45 = (($tempCharRecs) + ($index$17<<4)|0); - HEAP32[$45>>2] = $xPosToRead$18; - $46 = (((($tempCharRecs) + ($index$17<<4)|0)) + 4|0); - HEAP32[$46>>2] = $37; - $47 = (((($tempCharRecs) + ($index$17<<4)|0)) + 12|0); - HEAP32[$47>>2] = $j$0$lcssa; - $charWidth$0 = 0; - while(1) { - $48 = (($charWidth$0) + ($xPosToRead$18))|0; - $49 = (($48) + ($36))|0; - $50 = (($0) + ($49<<2)|0); - ;HEAP8[$$byval_copy4>>0]=HEAP8[$50>>0]|0;HEAP8[$$byval_copy4+1>>0]=HEAP8[$50+1>>0]|0;HEAP8[$$byval_copy4+2>>0]=HEAP8[$50+2>>0]|0;HEAP8[$$byval_copy4+3>>0]=HEAP8[$50+3>>0]|0; - $51 = (_PixelIsMagenta($$byval_copy4)|0); - $52 = ($51|0)==(0); - $53 = (($charWidth$0) + 1)|0; - if ($52) { - $charWidth$0 = $53; - } else { - $charWidth$0$lcssa = $charWidth$0; - break; - } - } - $54 = (((($tempCharRecs) + ($index$17<<4)|0)) + 8|0); - HEAP32[$54>>2] = $charWidth$0$lcssa; - $55 = (($index$17) + 1)|0; - $56 = (($xPosToRead$18) + ($x$2))|0; - $57 = (($56) + ($charWidth$0$lcssa))|0; - $58 = ($57|0)<($33|0); - if ($58) { - $index$17 = $55;$xPosToRead$18 = $57; + $26 = $25 << 8; + $27 = $26 | $19; + $28 = $27 << 16; + $29 = $28 | $15; + $30 = ($2>>>0)>(64); + if ($30) { + $31 = ((($1)) + 64|0); + $32 = HEAP8[$31>>0]|0; + $33 = $32&255; + $34 = ($2|0)==(65); + if ($34) { + $$ph707 = $33;$$ph708 = $29; + label = 8; } else { - $index$1$lcssa = $55; - break; + $37 = ((($1)) + 65|0); + $38 = HEAP8[$37>>0]|0; + $39 = $38&255; + $40 = $39 << 8; + $41 = $40 | $33; + $42 = $41&65535; + $43 = ((($0)) + 46|0); + HEAP16[$43>>1] = $42; + $44 = ($2>>>0)>(66); + if ($44) { + $45 = ((($1)) + 66|0); + $46 = HEAP8[$45>>0]|0; + $47 = $46&255; + $48 = ($2|0)==(67); + if ($48) { + $$ph714 = $47;$$ph715 = $29; + label = 11; + } else { + $51 = ((($1)) + 67|0); + $52 = HEAP8[$51>>0]|0; + $53 = $52&255; + $54 = $53 << 8; + $55 = $54 | $47; + $56 = $55&65535; + $57 = ((($0)) + 48|0); + HEAP16[$57>>1] = $56; + $58 = ($2>>>0)>(68); + if ($58) { + $59 = ((($1)) + 68|0); + $60 = HEAP8[$59>>0]|0; + $61 = $60&255; + $62 = ($2|0)==(69); + if ($62) { + $$ph721 = $61;$$ph722 = $29; + label = 14; + } else { + $65 = ((($1)) + 69|0); + $66 = HEAP8[$65>>0]|0; + $67 = $66&255; + $68 = $67 << 8; + $69 = $68 | $61; + $70 = $69&65535; + $71 = ((($0)) + 50|0); + HEAP16[$71>>1] = $70; + $72 = ($2>>>0)>(70); + if ($72) { + $73 = ((($1)) + 70|0); + $74 = HEAP8[$73>>0]|0; + $75 = $74&255; + $76 = ($2|0)==(71); + if ($76) { + $$ph729 = $75;$$ph730 = $29;$$ph731 = $71; + label = 17; + } else { + $79 = ((($1)) + 71|0); + $80 = HEAP8[$79>>0]|0; + $81 = $80&255; + $82 = $81 << 8; + $83 = $82 | $75; + $84 = $83&65535; + $85 = ((($0)) + 52|0); + HEAP16[$85>>1] = $84; + $86 = ($2>>>0)>(72); + if ($86) { + $87 = ((($1)) + 72|0); + $88 = HEAP8[$87>>0]|0; + $89 = $88&255; + $90 = ($2|0)==(73); + if ($90) { + $101 = $85;$147 = $29;$186 = $71;$95 = 0;$96 = $89; + } else { + $91 = ((($1)) + 73|0); + $92 = HEAP8[$91>>0]|0; + $93 = $92&255; + $phitmp = $93 << 8; + $101 = $85;$147 = $29;$186 = $71;$95 = $phitmp;$96 = $89; + } + } else { + $101 = $85;$147 = $29;$186 = $71;$95 = 0;$96 = 0; + } + } + } else { + $$ph729 = 0;$$ph730 = $29;$$ph731 = $71; + label = 17; + } + } + } else { + $$ph721 = 0;$$ph722 = $29; + label = 14; + } + } + } else { + $$ph714 = 0;$$ph715 = $29; + label = 11; + } } + } else { + $$ph707 = 0;$$ph708 = $29; + label = 8; + } + } + } else { + $$ph700 = 0;$$ph701 = $15; + label = 5; + } + } + } else { + $$ph700 = 0;$$ph701 = 0; + label = 5; + } + if ((label|0) == 5) { + $21 = $$ph700 << 16; + $22 = $$ph701 | $21; + $$ph707 = 0;$$ph708 = $22; + label = 8; + } + if ((label|0) == 8) { + $35 = $$ph707&65535; + $36 = ((($0)) + 46|0); + HEAP16[$36>>1] = $35; + $$ph714 = 0;$$ph715 = $$ph708; + label = 11; + } + if ((label|0) == 11) { + $49 = $$ph714&65535; + $50 = ((($0)) + 48|0); + HEAP16[$50>>1] = $49; + $$ph721 = 0;$$ph722 = $$ph715; + label = 14; + } + if ((label|0) == 14) { + $63 = $$ph721&65535; + $64 = ((($0)) + 50|0); + HEAP16[$64>>1] = $63; + $$ph729 = 0;$$ph730 = $$ph722;$$ph731 = $64; + label = 17; + } + if ((label|0) == 17) { + $77 = $$ph729&65535; + $78 = ((($0)) + 52|0); + HEAP16[$78>>1] = $77; + $101 = $78;$147 = $$ph730;$186 = $$ph731;$95 = 0;$96 = 0; + } + $94 = $95 | $96; + $97 = $94&65535; + $98 = ((($0)) + 54|0); + HEAP16[$98>>1] = $97; + $99 = ((($0)) + 316|0); + HEAP32[$99>>2] = $3; + $100 = HEAP16[$101>>1]|0; + $102 = $100&65535; + $103 = $102 << 3; + $104 = (($3) + ($103)|0); + $105 = ((($0)) + 320|0); + HEAP32[$105>>2] = $104; + $106 = HEAP16[$98>>1]|0; + $107 = $106&65535; + $108 = ($107*280)|0; + $109 = (($104) + ($108)|0); + $110 = ($2>>>0)>(74); + if ($110) { + $112 = ((($1)) + 74|0); + $113 = HEAP8[$112>>0]|0; + $114 = ($2>>>0)>(76); + $115 = $113 & 1; + $116 = $115 ^ 1; + $117 = $116&255; + $118 = ((($0)) + 56|0); + HEAP32[$118>>2] = $117; + if ($114) { + $119 = ($2|0)==(77); + $120 = ((($1)) + 76|0); + $121 = HEAP8[$120>>0]|0; + $122 = $121&255; + if ($119) { + $$ph740 = $122; + label = 25; + } else { + $125 = ((($1)) + 77|0); + $126 = HEAP8[$125>>0]|0; + $127 = $126&255; + $128 = $127 << 8; + $129 = $128 | $122; + $130 = $129&65535; + $131 = ((($0)) + 328|0); + HEAP16[$131>>1] = $130; + $132 = ($2>>>0)>(78); + if ($132) { + $133 = ((($1)) + 78|0); + $134 = HEAP8[$133>>0]|0; + $135 = $134&255; + $136 = ($2|0)==(79); + if ($136) { + $141 = 0;$142 = $135; + } else { + $137 = ((($1)) + 79|0); + $138 = HEAP8[$137>>0]|0; + $139 = $138&255; + $phitmp804 = $139 << 8; + $141 = $phitmp804;$142 = $135; } } else { - $index$1$lcssa = $index$012; + $141 = 0;$142 = 0; + } + } + } else { + $$ph740 = 0; + label = 25; + } + } else { + $111 = ((($0)) + 56|0); + HEAP32[$111>>2] = 1; + $$ph740 = 0; + label = 25; + } + if ((label|0) == 25) { + $123 = $$ph740&65535; + $124 = ((($0)) + 328|0); + HEAP16[$124>>1] = $123; + $141 = 0;$142 = 0; + } + $140 = $141 | $142; + $143 = $140&65535; + $144 = ((($0)) + 330|0); + HEAP16[$144>>1] = $143; + $145 = ((($0)) + 60|0); + _memcpy_pad($145,256,$1,$2,80); + $146 = (($147) + 60)|0; + $148 = HEAP16[$101>>1]|0; + $149 = ($148<<16>>16)==(0); + if ($149) { + $$0671$lcssa = $109;$$0672$lcssa = $146; + } else { + $$0671787 = $109;$$0672786 = $146;$$0678785 = 0;$183 = 0; + while(1) { + $152 = (($$0672786) + 7)|0; + $153 = ($152>>>0)<($2>>>0); + if ($153) { + $154 = (($1) + ($152)|0); + $155 = HEAP8[$154>>0]|0; + $156 = $155&255; + $165 = $156; + } else { + $165 = 0; + } + $157 = (($$0672786) + 8)|0; + $158 = ($157>>>0)<($2>>>0); + if ($158) { + $159 = (($1) + ($157)|0); + $160 = HEAP8[$159>>0]|0; + $161 = $160&255; + $163 = $161; + } else { + $163 = 0; + } + $162 = $163 << 8; + $164 = $162 | $165; + $166 = HEAP32[$99>>2]|0; + $167 = (($$0672786) + 5)|0; + $168 = ($167>>>0)<($2>>>0); + if ($168) { + $169 = (($1) + ($167)|0); + $170 = HEAP8[$169>>0]|0; + $171 = $170&255; + $180 = $171; + } else { + $180 = 0; + } + $172 = (($$0672786) + 6)|0; + $173 = ($172>>>0)<($2>>>0); + if ($173) { + $174 = (($1) + ($172)|0); + $175 = HEAP8[$174>>0]|0; + $176 = $175&255; + $178 = $176; + } else { + $178 = 0; + } + $177 = $178 << 8; + $179 = $177 | $180; + $181 = $179&65535; + $182 = (($166) + ($183<<3)|0); + HEAP16[$182>>1] = $181; + $184 = (((($166) + ($183<<3)|0)) + 4|0); + HEAP32[$184>>2] = $$0671787; + $185 = HEAP16[$186>>1]|0; + $187 = $185&65535; + $188 = ($179*5)|0; + $189 = Math_imul($188, $187)|0; + $190 = (($$0671787) + ($189)|0); + $191 = ($$0672786>>>0)<($2>>>0); + if ($191) { + $192 = (($1) + ($$0672786)|0); + $193 = HEAP8[$192>>0]|0; + $194 = $193&255; + $203 = $194; + } else { + $203 = 0; + } + $195 = (($$0672786) + 1)|0; + $196 = ($195>>>0)<($2>>>0); + if ($196) { + $197 = (($1) + ($195)|0); + $198 = HEAP8[$197>>0]|0; + $199 = $198&255; + $201 = $199; + } else { + $201 = 0; + } + $200 = $201 << 8; + $202 = $200 | $203; + $204 = (($$0672786) + 2)|0; + $205 = ($204>>>0)<($2>>>0); + if ($205) { + $206 = (($1) + ($204)|0); + $207 = HEAP8[$206>>0]|0; + $208 = $207&255; + $217 = $208; + } else { + $217 = 0; + } + $209 = (($$0672786) + 3)|0; + $210 = ($209>>>0)<($2>>>0); + if ($210) { + $211 = (($1) + ($209)|0); + $212 = HEAP8[$211>>0]|0; + $213 = $212&255; + $215 = $213; + } else { + $215 = 0; + } + $214 = $215 << 8; + $216 = $214 | $217; + $218 = $216 << 16; + $219 = $202 | $218; + $220 = (($219) + ($$0672786))|0; + $221 = ($164|0)==(0); + if ($221) { + $222 = HEAP32[$184>>2]|0; + $223 = HEAP16[$182>>1]|0; + $224 = $223&65535; + $225 = ($224*5)|0; + $226 = HEAP16[$186>>1]|0; + $227 = $226&65535; + $228 = Math_imul($225, $227)|0; + _memset(($222|0),0,($228|0))|0; + } else { + $$0682783 = 0;$$0689782 = 0;$230 = 0; + while(1) { + $229 = (($230) + ($220))|0; + $231 = ($229>>>0)<($2>>>0); + do { + if ($231) { + $235 = (($1) + ($229)|0); + $236 = HEAP8[$235>>0]|0; + $237 = $236&255; + $238 = HEAP32[$184>>2]|0; + $239 = $$0689782&65535; + $240 = (($238) + (($239*5)|0)|0); + $241 = $237 & 128; + $242 = ($241|0)==(0); + if ($242) { + $308 = $237;$309 = $240;$318 = $238;$319 = $239; + label = 77; + } else { + $243 = (($$0682783) + 1)<<16>>16; + $244 = $237 & 1; + $245 = ($244|0)==(0); + if ($245) { + HEAP8[$240>>0] = 0; + $$1683 = $243; + } else { + $246 = $243&65535; + $247 = (($246) + ($220))|0; + $248 = ($247>>>0)<($2>>>0); + if ($248) { + $249 = (($1) + ($247)|0); + $250 = HEAP8[$249>>0]|0; + $251 = $250&255; + $253 = $251; + } else { + $253 = 0; + } + $252 = $253&255; + HEAP8[$240>>0] = $252; + $254 = (($$0682783) + 2)<<16>>16; + $$1683 = $254; + } + $255 = $237 & 2; + $256 = ($255|0)==(0); + if ($256) { + $267 = (((($238) + (($239*5)|0)|0)) + 1|0); + HEAP8[$267>>0] = 0; + $$2684 = $$1683; + } else { + $257 = $$1683&65535; + $258 = (($257) + ($220))|0; + $259 = ($258>>>0)<($2>>>0); + if ($259) { + $260 = (($1) + ($258)|0); + $261 = HEAP8[$260>>0]|0; + $262 = $261&255; + $264 = $262; + } else { + $264 = 0; + } + $263 = $264&255; + $265 = (((($238) + (($239*5)|0)|0)) + 1|0); + HEAP8[$265>>0] = $263; + $266 = (($$1683) + 1)<<16>>16; + $$2684 = $266; + } + $268 = $237 & 4; + $269 = ($268|0)==(0); + if ($269) { + $280 = (((($238) + (($239*5)|0)|0)) + 2|0); + HEAP8[$280>>0] = 0; + $$3685 = $$2684; + } else { + $270 = $$2684&65535; + $271 = (($270) + ($220))|0; + $272 = ($271>>>0)<($2>>>0); + if ($272) { + $273 = (($1) + ($271)|0); + $274 = HEAP8[$273>>0]|0; + $275 = $274&255; + $277 = $275; + } else { + $277 = 0; + } + $276 = $277&255; + $278 = (((($238) + (($239*5)|0)|0)) + 2|0); + HEAP8[$278>>0] = $276; + $279 = (($$2684) + 1)<<16>>16; + $$3685 = $279; + } + $281 = $237 & 8; + $282 = ($281|0)==(0); + if ($282) { + $293 = (((($238) + (($239*5)|0)|0)) + 3|0); + HEAP8[$293>>0] = 0; + $$4686 = $$3685; + } else { + $283 = $$3685&65535; + $284 = (($283) + ($220))|0; + $285 = ($284>>>0)<($2>>>0); + if ($285) { + $286 = (($1) + ($284)|0); + $287 = HEAP8[$286>>0]|0; + $288 = $287&255; + $290 = $288; + } else { + $290 = 0; + } + $289 = $290&255; + $291 = (((($238) + (($239*5)|0)|0)) + 3|0); + HEAP8[$291>>0] = $289; + $292 = (($$3685) + 1)<<16>>16; + $$4686 = $292; + } + $294 = $237 & 16; + $295 = ($294|0)==(0); + if ($295) { + $306 = (((($238) + (($239*5)|0)|0)) + 4|0); + HEAP8[$306>>0] = 0; + $$5 = $$4686; + break; + } + $296 = $$4686&65535; + $297 = (($296) + ($220))|0; + $298 = ($297>>>0)<($2>>>0); + if ($298) { + $299 = (($1) + ($297)|0); + $300 = HEAP8[$299>>0]|0; + $301 = $300&255; + $303 = $301; + } else { + $303 = 0; + } + $302 = $303&255; + $304 = (((($238) + (($239*5)|0)|0)) + 4|0); + HEAP8[$304>>0] = $302; + $305 = (($$4686) + 1)<<16>>16; + $$5 = $305; + } + } else { + $232 = HEAP32[$184>>2]|0; + $233 = $$0689782&65535; + $234 = (($232) + (($233*5)|0)|0); + $308 = 0;$309 = $234;$318 = $232;$319 = $233; + label = 77; + } + } while(0); + if ((label|0) == 77) { + label = 0; + $307 = $308&255; + HEAP8[$309>>0] = $307; + $310 = (($229) + 1)|0; + $311 = ($310>>>0)<($2>>>0); + if ($311) { + $312 = (($1) + ($310)|0); + $313 = HEAP8[$312>>0]|0; + $314 = $313&255; + $316 = $314; + } else { + $316 = 0; + } + $315 = $316&255; + $317 = (((($318) + (($319*5)|0)|0)) + 1|0); + HEAP8[$317>>0] = $315; + $320 = (($229) + 2)|0; + $321 = ($320>>>0)<($2>>>0); + if ($321) { + $322 = (($1) + ($320)|0); + $323 = HEAP8[$322>>0]|0; + $324 = $323&255; + $326 = $324; + } else { + $326 = 0; + } + $325 = $326&255; + $327 = (((($318) + (($319*5)|0)|0)) + 2|0); + HEAP8[$327>>0] = $325; + $328 = (($229) + 3)|0; + $329 = ($328>>>0)<($2>>>0); + if ($329) { + $330 = (($1) + ($328)|0); + $331 = HEAP8[$330>>0]|0; + $332 = $331&255; + $334 = $332; + } else { + $334 = 0; + } + $333 = $334&255; + $335 = (((($318) + (($319*5)|0)|0)) + 3|0); + HEAP8[$335>>0] = $333; + $336 = (($229) + 4)|0; + $337 = ($336>>>0)<($2>>>0); + if ($337) { + $338 = (($1) + ($336)|0); + $339 = HEAP8[$338>>0]|0; + $340 = $339&255; + $342 = $340; + } else { + $342 = 0; + } + $341 = $342&255; + $343 = (((($318) + (($319*5)|0)|0)) + 4|0); + HEAP8[$343>>0] = $341; + $344 = (($230) + 5)|0; + $345 = $344&65535; + $$5 = $345; + } + $346 = (($$0689782) + 1)<<16>>16; + $347 = $$5&65535; + $348 = ($347>>>0)<($164>>>0); + if ($348) { + $$0682783 = $$5;$$0689782 = $346;$230 = $347; + } else { + break; + } + } + } + $349 = (($220) + ($164))|0; + $350 = (($$0678785) + 1)<<16>>16; + $351 = $350&65535; + $352 = HEAP16[$101>>1]|0; + $353 = ($350&65535)<($352&65535); + if ($353) { + $$0671787 = $190;$$0672786 = $349;$$0678785 = $350;$183 = $351; + } else { + $$0671$lcssa = $190;$$0672$lcssa = $349; + break; + } + } + } + $150 = HEAP16[$98>>1]|0; + $151 = ($150<<16>>16)==(0); + if ($151) { + $$1$lcssa = $$0671$lcssa; + return ($$1$lcssa|0); + } else { + $$0688776 = 0;$$1673777 = $$0672$lcssa;$$1778 = $$0671$lcssa; + } + while(1) { + $354 = $$0688776&65535; + $355 = HEAP32[$105>>2]|0; + $356 = (($355) + (($354*280)|0)|0); + $357 = (($$1673777) + 4)|0; + _memcpy_pad($356,22,$1,$2,$357); + $358 = (($$1673777) + 27)|0; + $359 = ($358>>>0)<($2>>>0); + if ($359) { + $360 = (($1) + ($358)|0); + $361 = HEAP8[$360>>0]|0; + $362 = $361&255; + $371 = $362; + } else { + $371 = 0; + } + $363 = (($$1673777) + 28)|0; + $364 = ($363>>>0)<($2>>>0); + if ($364) { + $365 = (($1) + ($363)|0); + $366 = HEAP8[$365>>0]|0; + $367 = $366&255; + $369 = $367; + } else { + $369 = 0; + } + $368 = $369 << 8; + $370 = $368 | $371; + $372 = $370&65535; + $373 = (((($355) + (($354*280)|0)|0)) + 24|0); + HEAP16[$373>>1] = $372; + $374 = ($370|0)==(0); + if ($374) { + $629 = (((($355) + (($354*280)|0)|0)) + 276|0); + HEAP32[$629>>2] = 0; + $$0687 = 0;$$2 = $$1778; + } else { + $375 = (($$1673777) + 29)|0; + $376 = ($375>>>0)<($2>>>0); + if ($376) { + $377 = (($1) + ($375)|0); + $378 = HEAP8[$377>>0]|0; + $379 = $378&255; + $388 = $379; + } else { + $388 = 0; + } + $380 = (($$1673777) + 30)|0; + $381 = ($380>>>0)<($2>>>0); + if ($381) { + $382 = (($1) + ($380)|0); + $383 = HEAP8[$382>>0]|0; + $384 = $383&255; + $386 = $384; + } else { + $386 = 0; + } + $385 = $386 << 8; + $387 = $385 | $388; + $389 = (($$1673777) + 31)|0; + $390 = ($389>>>0)<($2>>>0); + if ($390) { + $391 = (($1) + ($389)|0); + $392 = HEAP8[$391>>0]|0; + $393 = $392&255; + $402 = $393; + } else { + $402 = 0; + } + $394 = (($$1673777) + 32)|0; + $395 = ($394>>>0)<($2>>>0); + if ($395) { + $396 = (($1) + ($394)|0); + $397 = HEAP8[$396>>0]|0; + $398 = $397&255; + $400 = $398; + } else { + $400 = 0; + } + $399 = $400 << 8; + $401 = $399 | $402; + $403 = $401 << 16; + $404 = $387 | $403; + $405 = (((($355) + (($354*280)|0)|0)) + 26|0); + $406 = (($$1673777) + 33)|0; + _memcpy_pad($405,96,$1,$2,$406); + $407 = (($$1673777) + 225)|0; + $408 = ($407>>>0)<($2>>>0); + if ($408) { + $409 = (($1) + ($407)|0); + $410 = HEAP8[$409>>0]|0; + $411 = $410&255; + $413 = $411; + } else { + $413 = 0; + } + $412 = $413&255; + $414 = (((($355) + (($354*280)|0)|0)) + 172|0); + HEAP8[$414>>0] = $412; + $415 = (($$1673777) + 226)|0; + $416 = ($415>>>0)<($2>>>0); + if ($416) { + $417 = (($1) + ($415)|0); + $418 = HEAP8[$417>>0]|0; + $419 = $418&255; + $421 = $419; + } else { + $421 = 0; + } + $420 = $421&255; + $422 = (((($355) + (($354*280)|0)|0)) + 236|0); + HEAP8[$422>>0] = $420; + $423 = HEAP8[$414>>0]|0; + $424 = ($423<<24>>24)==(0); + if ($424) { + $427 = $420; + } else { + $425 = (($$1673777) + 129)|0; + $$0681752 = 0;$430 = 0; + while(1) { + $429 = $430 << 2; + $431 = (($425) + ($429))|0; + $432 = ($431>>>0)<($2>>>0); + if ($432) { + $433 = (($1) + ($431)|0); + $434 = HEAP8[$433>>0]|0; + $435 = $434&255; + $444 = $435; + } else { + $444 = 0; + } + $436 = (($431) + 1)|0; + $437 = ($436>>>0)<($2>>>0); + if ($437) { + $438 = (($1) + ($436)|0); + $439 = HEAP8[$438>>0]|0; + $440 = $439&255; + $442 = $440; + } else { + $442 = 0; + } + $441 = $442 << 8; + $443 = $441 | $444; + $445 = $443&65535; + $446 = ((((($355) + (($354*280)|0)|0)) + 124|0) + ($430<<2)|0); + HEAP16[$446>>1] = $445; + $447 = (($431) + 2)|0; + $448 = ($447>>>0)<($2>>>0); + if ($448) { + $449 = (($1) + ($447)|0); + $450 = HEAP8[$449>>0]|0; + $451 = $450&255; + $460 = $451; + } else { + $460 = 0; + } + $452 = (($431) + 3)|0; + $453 = ($452>>>0)<($2>>>0); + if ($453) { + $454 = (($1) + ($452)|0); + $455 = HEAP8[$454>>0]|0; + $456 = $455&255; + $458 = $456; + } else { + $458 = 0; + } + $457 = $458 << 8; + $459 = $457 | $460; + $461 = $459&65535; + $462 = ((((((($355) + (($354*280)|0)|0)) + 124|0) + ($430<<2)|0)) + 2|0); + HEAP16[$462>>1] = $461; + $463 = (($$0681752) + 1)<<24>>24; + $464 = $463&255; + $465 = HEAP8[$414>>0]|0; + $466 = ($463&255)<($465&255); + if ($466) { + $$0681752 = $463;$430 = $464; + } else { + break; + } + } + $$pr = HEAP8[$422>>0]|0; + $427 = $$pr; + } + $426 = ($427<<24>>24)==(0); + if (!($426)) { + $428 = (($$1673777) + 177)|0; + $$0680753 = 0;$470 = 0; + while(1) { + $469 = $470 << 2; + $471 = (($428) + ($469))|0; + $472 = ($471>>>0)<($2>>>0); + if ($472) { + $473 = (($1) + ($471)|0); + $474 = HEAP8[$473>>0]|0; + $475 = $474&255; + $484 = $475; + } else { + $484 = 0; + } + $476 = (($471) + 1)|0; + $477 = ($476>>>0)<($2>>>0); + if ($477) { + $478 = (($1) + ($476)|0); + $479 = HEAP8[$478>>0]|0; + $480 = $479&255; + $482 = $480; + } else { + $482 = 0; + } + $481 = $482 << 8; + $483 = $481 | $484; + $485 = $483&65535; + $486 = ((((($355) + (($354*280)|0)|0)) + 188|0) + ($470<<2)|0); + HEAP16[$486>>1] = $485; + $487 = (($471) + 2)|0; + $488 = ($487>>>0)<($2>>>0); + if ($488) { + $489 = (($1) + ($487)|0); + $490 = HEAP8[$489>>0]|0; + $491 = $490&255; + $500 = $491; + } else { + $500 = 0; + } + $492 = (($471) + 3)|0; + $493 = ($492>>>0)<($2>>>0); + if ($493) { + $494 = (($1) + ($492)|0); + $495 = HEAP8[$494>>0]|0; + $496 = $495&255; + $498 = $496; + } else { + $498 = 0; + } + $497 = $498 << 8; + $499 = $497 | $500; + $501 = $499&65535; + $502 = ((((((($355) + (($354*280)|0)|0)) + 188|0) + ($470<<2)|0)) + 2|0); + HEAP16[$502>>1] = $501; + $503 = (($$0680753) + 1)<<24>>24; + $504 = $503&255; + $505 = HEAP8[$422>>0]|0; + $506 = ($503&255)<($505&255); + if ($506) { + $$0680753 = $503;$470 = $504; + } else { + break; + } + } + } + $467 = (($$1673777) + 227)|0; + $468 = ($467>>>0)<($2>>>0); + if ($468) { + $507 = (($1) + ($467)|0); + $508 = HEAP8[$507>>0]|0; + $509 = $508&255; + $511 = $509; + } else { + $511 = 0; + } + $510 = $511&255; + $512 = (((($355) + (($354*280)|0)|0)) + 173|0); + HEAP8[$512>>0] = $510; + $513 = (($$1673777) + 228)|0; + $514 = ($513>>>0)<($2>>>0); + if ($514) { + $515 = (($1) + ($513)|0); + $516 = HEAP8[$515>>0]|0; + $517 = $516&255; + $519 = $517; + } else { + $519 = 0; + } + $518 = $519&255; + $520 = (((($355) + (($354*280)|0)|0)) + 174|0); + HEAP8[$520>>0] = $518; + $521 = (($$1673777) + 229)|0; + $522 = ($521>>>0)<($2>>>0); + if ($522) { + $523 = (($1) + ($521)|0); + $524 = HEAP8[$523>>0]|0; + $525 = $524&255; + $527 = $525; + } else { + $527 = 0; + } + $526 = $527&255; + $528 = (((($355) + (($354*280)|0)|0)) + 175|0); + HEAP8[$528>>0] = $526; + $529 = (($$1673777) + 230)|0; + $530 = ($529>>>0)<($2>>>0); + if ($530) { + $531 = (($1) + ($529)|0); + $532 = HEAP8[$531>>0]|0; + $533 = $532&255; + $535 = $533; + } else { + $535 = 0; + } + $534 = $535&255; + $536 = (((($355) + (($354*280)|0)|0)) + 237|0); + HEAP8[$536>>0] = $534; + $537 = (($$1673777) + 231)|0; + $538 = ($537>>>0)<($2>>>0); + if ($538) { + $539 = (($1) + ($537)|0); + $540 = HEAP8[$539>>0]|0; + $541 = $540&255; + $543 = $541; + } else { + $543 = 0; + } + $542 = $543&255; + $544 = (((($355) + (($354*280)|0)|0)) + 238|0); + HEAP8[$544>>0] = $542; + $545 = (($$1673777) + 232)|0; + $546 = ($545>>>0)<($2>>>0); + if ($546) { + $547 = (($1) + ($545)|0); + $548 = HEAP8[$547>>0]|0; + $549 = $548&255; + $551 = $549; + } else { + $551 = 0; + } + $550 = $551&255; + $552 = (((($355) + (($354*280)|0)|0)) + 239|0); + HEAP8[$552>>0] = $550; + $553 = (($$1673777) + 233)|0; + $554 = ($553>>>0)<($2>>>0); + if ($554) { + $555 = (($1) + ($553)|0); + $556 = HEAP8[$555>>0]|0; + $557 = $556&255; + $559 = $557; + } else { + $559 = 0; + } + $558 = $559 & 1; + $560 = (((($355) + (($354*280)|0)|0)) + 176|0); + HEAP32[$560>>2] = $558; + $561 = $559 & 2; + $562 = (((($355) + (($354*280)|0)|0)) + 180|0); + HEAP32[$562>>2] = $561; + $563 = $559 & 4; + $564 = (((($355) + (($354*280)|0)|0)) + 184|0); + HEAP32[$564>>2] = $563; + $565 = (($$1673777) + 234)|0; + $566 = ($565>>>0)<($2>>>0); + if ($566) { + $567 = (($1) + ($565)|0); + $568 = HEAP8[$567>>0]|0; + $569 = $568&255; + $571 = $569; + } else { + $571 = 0; + } + $570 = $571 & 1; + $572 = (((($355) + (($354*280)|0)|0)) + 240|0); + HEAP32[$572>>2] = $570; + $573 = $571 & 2; + $574 = (((($355) + (($354*280)|0)|0)) + 244|0); + HEAP32[$574>>2] = $573; + $575 = $571 & 4; + $576 = (((($355) + (($354*280)|0)|0)) + 248|0); + HEAP32[$576>>2] = $575; + $577 = (($$1673777) + 235)|0; + $578 = ($577>>>0)<($2>>>0); + L213: do { + if ($578) { + $580 = (($1) + ($577)|0); + $581 = HEAP8[$580>>0]|0; + $582 = $581&255; + $583 = (((($355) + (($354*280)|0)|0)) + 252|0); + HEAP32[$583>>2] = $582; + switch ($581<<24>>24) { + case 2: { + $$sink694 = 1; + break; + } + case 1: { + $$sink694 = 2; + break; + } + default: { + break L213; + } + } + HEAP32[$583>>2] = $$sink694; + } else { + $579 = (((($355) + (($354*280)|0)|0)) + 252|0); + HEAP32[$579>>2] = 0; } } while(0); - $59 = (($lineToRead$013) + 1)|0; - $60 = Math_imul($59, $$lcssa)|0; - $61 = (($60) + ($y$0$lcssa))|0; - $62 = ($61|0)<($35|0); - if ($62) { - $37 = $61;$index$012 = $index$1$lcssa;$lineToRead$013 = $59; + $584 = (($$1673777) + 236)|0; + $585 = ($584>>>0)<($2>>>0); + if ($585) { + $586 = (($1) + ($584)|0); + $587 = HEAP8[$586>>0]|0; + $588 = $587&255; + $590 = $588; } else { - $index$0$lcssa = $index$1$lcssa; - break; + $590 = 0; + } + $589 = $590&255; + $591 = (((($355) + (($354*280)|0)|0)) + 256|0); + HEAP8[$591>>0] = $589; + $592 = (($$1673777) + 237)|0; + $593 = ($592>>>0)<($2>>>0); + if ($593) { + $594 = (($1) + ($592)|0); + $595 = HEAP8[$594>>0]|0; + $596 = $595&255; + $598 = $596; + } else { + $598 = 0; + } + $597 = $598&255; + $599 = (((($355) + (($354*280)|0)|0)) + 257|0); + HEAP8[$599>>0] = $597; + $600 = (($$1673777) + 238)|0; + $601 = ($600>>>0)<($2>>>0); + if ($601) { + $602 = (($1) + ($600)|0); + $603 = HEAP8[$602>>0]|0; + $604 = $603&255; + $606 = $604; + } else { + $606 = 0; + } + $605 = $606&255; + $607 = (((($355) + (($354*280)|0)|0)) + 258|0); + HEAP8[$607>>0] = $605; + $608 = (($$1673777) + 239)|0; + $609 = ($608>>>0)<($2>>>0); + if ($609) { + $610 = (($1) + ($608)|0); + $611 = HEAP8[$610>>0]|0; + $612 = $611&255; + $621 = $612; + } else { + $621 = 0; + } + $613 = (($$1673777) + 240)|0; + $614 = ($613>>>0)<($2>>>0); + if ($614) { + $615 = (($1) + ($613)|0); + $616 = HEAP8[$615>>0]|0; + $617 = $616&255; + $619 = $617; + } else { + $619 = 0; + } + $618 = $619 << 8; + $620 = $618 | $621; + $622 = $620&65535; + $623 = (((($355) + (($354*280)|0)|0)) + 260|0); + HEAP16[$623>>1] = $622; + $624 = (((($355) + (($354*280)|0)|0)) + 276|0); + HEAP32[$624>>2] = $$1778; + $625 = HEAP16[$373>>1]|0; + $626 = $625&65535; + $627 = ($626*80)|0; + $628 = (($$1778) + ($627)|0); + $$0687 = $404;$$2 = $628; + } + $630 = ($$1673777>>>0)<($2>>>0); + if ($630) { + $631 = (($1) + ($$1673777)|0); + $632 = HEAP8[$631>>0]|0; + $633 = $632&255; + $642 = $633; + } else { + $642 = 0; + } + $634 = (($$1673777) + 1)|0; + $635 = ($634>>>0)<($2>>>0); + if ($635) { + $636 = (($1) + ($634)|0); + $637 = HEAP8[$636>>0]|0; + $638 = $637&255; + $640 = $638; + } else { + $640 = 0; + } + $639 = $640 << 8; + $641 = $639 | $642; + $643 = (($$1673777) + 2)|0; + $644 = ($643>>>0)<($2>>>0); + if ($644) { + $645 = (($1) + ($643)|0); + $646 = HEAP8[$645>>0]|0; + $647 = $646&255; + $656 = $647; + } else { + $656 = 0; + } + $648 = (($$1673777) + 3)|0; + $649 = ($648>>>0)<($2>>>0); + if ($649) { + $650 = (($1) + ($648)|0); + $651 = HEAP8[$650>>0]|0; + $652 = $651&255; + $654 = $652; + } else { + $654 = 0; + } + $653 = $654 << 8; + $655 = $653 | $656; + $657 = $655 << 16; + $658 = $641 | $657; + $659 = (($658) + ($$1673777))|0; + $660 = HEAP16[$373>>1]|0; + $661 = ($660<<16>>16)==(0); + if ($661) { + $$3$lcssa794 = $$2;$$3675$lcssa = $659; + } else { + $662 = (((($355) + (($354*280)|0)|0)) + 276|0); + $$0679755 = 0;$$2674756 = $659;$$3757 = $$2; + while(1) { + $666 = $$0679755&65535; + $667 = HEAP32[$662>>2]|0; + $668 = ($$2674756>>>0)<($2>>>0); + if ($668) { + $669 = (($1) + ($$2674756)|0); + $670 = HEAP8[$669>>0]|0; + $671 = $670&255; + $680 = $671; + } else { + $680 = 0; + } + $672 = (($$2674756) + 1)|0; + $673 = ($672>>>0)<($2>>>0); + if ($673) { + $674 = (($1) + ($672)|0); + $675 = HEAP8[$674>>0]|0; + $676 = $675&255; + $678 = $676; + } else { + $678 = 0; + } + $677 = $678 << 8; + $679 = $677 | $680; + $681 = (($$2674756) + 2)|0; + $682 = ($681>>>0)<($2>>>0); + if ($682) { + $683 = (($1) + ($681)|0); + $684 = HEAP8[$683>>0]|0; + $685 = $684&255; + $694 = $685; + } else { + $694 = 0; + } + $686 = (($$2674756) + 3)|0; + $687 = ($686>>>0)<($2>>>0); + if ($687) { + $688 = (($1) + ($686)|0); + $689 = HEAP8[$688>>0]|0; + $690 = $689&255; + $692 = $690; + } else { + $692 = 0; + } + $691 = $692 << 8; + $693 = $691 | $694; + $695 = $693 << 16; + $696 = $679 | $695; + $697 = (((($667) + (($666*80)|0)|0)) + 24|0); + HEAP32[$697>>2] = $696; + $698 = (($$2674756) + 4)|0; + $699 = ($698>>>0)<($2>>>0); + if ($699) { + $700 = (($1) + ($698)|0); + $701 = HEAP8[$700>>0]|0; + $702 = $701&255; + $711 = $702; + } else { + $711 = 0; + } + $703 = (($$2674756) + 5)|0; + $704 = ($703>>>0)<($2>>>0); + if ($704) { + $705 = (($1) + ($703)|0); + $706 = HEAP8[$705>>0]|0; + $707 = $706&255; + $709 = $707; + } else { + $709 = 0; + } + $708 = $709 << 8; + $710 = $708 | $711; + $712 = (($$2674756) + 6)|0; + $713 = ($712>>>0)<($2>>>0); + if ($713) { + $714 = (($1) + ($712)|0); + $715 = HEAP8[$714>>0]|0; + $716 = $715&255; + $725 = $716; + } else { + $725 = 0; + } + $717 = (($$2674756) + 7)|0; + $718 = ($717>>>0)<($2>>>0); + if ($718) { + $719 = (($1) + ($717)|0); + $720 = HEAP8[$719>>0]|0; + $721 = $720&255; + $723 = $721; + } else { + $723 = 0; + } + $722 = $723 << 8; + $724 = $722 | $725; + $726 = $724 << 16; + $727 = $710 | $726; + $728 = (((($667) + (($666*80)|0)|0)) + 28|0); + HEAP32[$728>>2] = $727; + $729 = (($$2674756) + 8)|0; + $730 = ($729>>>0)<($2>>>0); + if ($730) { + $731 = (($1) + ($729)|0); + $732 = HEAP8[$731>>0]|0; + $733 = $732&255; + $742 = $733; + } else { + $742 = 0; + } + $734 = (($$2674756) + 9)|0; + $735 = ($734>>>0)<($2>>>0); + if ($735) { + $736 = (($1) + ($734)|0); + $737 = HEAP8[$736>>0]|0; + $738 = $737&255; + $740 = $738; + } else { + $740 = 0; + } + $739 = $740 << 8; + $741 = $739 | $742; + $743 = (($$2674756) + 10)|0; + $744 = ($743>>>0)<($2>>>0); + if ($744) { + $745 = (($1) + ($743)|0); + $746 = HEAP8[$745>>0]|0; + $747 = $746&255; + $756 = $747; + } else { + $756 = 0; + } + $748 = (($$2674756) + 11)|0; + $749 = ($748>>>0)<($2>>>0); + if ($749) { + $750 = (($1) + ($748)|0); + $751 = HEAP8[$750>>0]|0; + $752 = $751&255; + $754 = $752; + } else { + $754 = 0; + } + $753 = $754 << 8; + $755 = $753 | $756; + $757 = $755 << 16; + $758 = $741 | $757; + $759 = (((($667) + (($666*80)|0)|0)) + 32|0); + HEAP32[$759>>2] = $758; + $760 = HEAP32[$728>>2]|0; + $761 = (($758) + ($760))|0; + $762 = (((($667) + (($666*80)|0)|0)) + 36|0); + HEAP32[$762>>2] = $761; + $763 = (($$2674756) + 12)|0; + $764 = ($763>>>0)<($2>>>0); + if ($764) { + $765 = (($1) + ($763)|0); + $766 = HEAP8[$765>>0]|0; + $767 = $766&255; + $769 = $767; + } else { + $769 = 0; + } + $768 = (+($769|0)); + $770 = $768 * 0.015625; + $771 = (((($667) + (($666*80)|0)|0)) + 40|0); + HEAPF32[$771>>2] = $770; + $772 = (($$2674756) + 13)|0; + $773 = ($772>>>0)<($2>>>0); + if ($773) { + $774 = (($1) + ($772)|0); + $775 = HEAP8[$774>>0]|0; + $776 = $775&255; + $778 = $776; + } else { + $778 = 0; + } + $777 = $778&255; + $779 = (((($667) + (($666*80)|0)|0)) + 44|0); + HEAP8[$779>>0] = $777; + $780 = (($$2674756) + 14)|0; + $781 = ($780>>>0)<($2>>>0); + do { + if ($781) { + $782 = (($1) + ($780)|0); + $783 = HEAP8[$782>>0]|0; + $784 = $783&255; + $785 = $784 & 3; + $786 = ($785|0)==(0); + if ($786) { + $889 = $784; + label = 204; + break; + } + $788 = ($785|0)==(1); + $789 = (((($667) + (($666*80)|0)|0)) + 48|0); + $$sink = $788 ? 1 : 2; + HEAP32[$789>>2] = $$sink; + $791 = $784; + } else { + $889 = 0; + label = 204; + } + } while(0); + if ((label|0) == 204) { + label = 0; + $787 = (((($667) + (($666*80)|0)|0)) + 48|0); + HEAP32[$787>>2] = 0; + $791 = $889; + } + $790 = $791 >>> 1; + $792 = $790 & 8; + $793 = (($792) + 8)|0; + $794 = $793&255; + $795 = (((($667) + (($666*80)|0)|0)) + 23|0); + HEAP8[$795>>0] = $794; + $796 = (($$2674756) + 15)|0; + $797 = ($796>>>0)<($2>>>0); + if ($797) { + $798 = (($1) + ($796)|0); + $799 = HEAP8[$798>>0]|0; + $800 = $799&255; + $802 = $800; + } else { + $802 = 0; + } + $801 = (+($802|0)); + $803 = $801 / 255.0; + $804 = (((($667) + (($666*80)|0)|0)) + 52|0); + HEAPF32[$804>>2] = $803; + $805 = (($$2674756) + 16)|0; + $806 = ($805>>>0)<($2>>>0); + if ($806) { + $807 = (($1) + ($805)|0); + $808 = HEAP8[$807>>0]|0; + $809 = $808&255; + $811 = $809; + } else { + $811 = 0; + } + $810 = $811&255; + $812 = (((($667) + (($666*80)|0)|0)) + 56|0); + HEAP8[$812>>0] = $810; + $813 = (($667) + (($666*80)|0)|0); + _memcpy_pad($813,22,$1,$2,18); + $814 = (((($667) + (($666*80)|0)|0)) + 72|0); + HEAP32[$814>>2] = $$3757; + $815 = HEAP8[$795>>0]|0; + $816 = ($815<<24>>24)==(16); + $817 = HEAP32[$697>>2]|0; + if ($816) { + $818 = $817 << 1; + $819 = HEAP32[$728>>2]|0; + $820 = $819 >>> 1; + HEAP32[$728>>2] = $820; + $821 = HEAP32[$759>>2]|0; + $822 = $821 >>> 1; + HEAP32[$759>>2] = $822; + $823 = HEAP32[$762>>2]|0; + $824 = $823 >>> 1; + HEAP32[$762>>2] = $824; + $825 = HEAP32[$697>>2]|0; + $826 = $825 >>> 1; + HEAP32[$697>>2] = $826; + $$pn693 = $818; + } else { + $827 = $817 << 2; + $$pn693 = $827; + } + $$4 = (($$3757) + ($$pn693)|0); + $828 = (($$2674756) + ($$0687))|0; + $829 = (($$0679755) + 1)<<16>>16; + $664 = HEAP16[$373>>1]|0; + $830 = ($829&65535)<($664&65535); + if ($830) { + $$0679755 = $829;$$2674756 = $828;$$3757 = $$4; + } else { + break; + } + } + $663 = ($664<<16>>16)==(0); + if ($663) { + $$3$lcssa794 = $$4;$$3675$lcssa = $828; + } else { + $665 = (((($355) + (($354*280)|0)|0)) + 276|0); + $$0677769 = 0;$$3675770 = $828; + while(1) { + $834 = $$0677769&65535; + $835 = HEAP32[$665>>2]|0; + $836 = (((($835) + (($834*80)|0)|0)) + 24|0); + $837 = HEAP32[$836>>2]|0; + $838 = (((($835) + (($834*80)|0)|0)) + 23|0); + $839 = HEAP8[$838>>0]|0; + $840 = ($839<<24>>24)==(16); + $841 = ($837|0)!=(0); + if ($840) { + if ($841) { + $843 = (((($835) + (($834*80)|0)|0)) + 72|0); + $$0669766 = 0;$$0670765 = 0; + while(1) { + $sext691 = $$0670765 << 16; + $846 = $sext691 >> 16; + $847 = $$0669766 << 1; + $848 = (($847) + ($$3675770))|0; + $849 = ($848>>>0)<($2>>>0); + if ($849) { + $850 = (($1) + ($848)|0); + $851 = HEAP8[$850>>0]|0; + $852 = $851&255; + $861 = $852; + } else { + $861 = 0; + } + $853 = (($848) + 1)|0; + $854 = ($853>>>0)<($2>>>0); + if ($854) { + $855 = (($1) + ($853)|0); + $856 = HEAP8[$855>>0]|0; + $857 = $856&255; + $859 = $857; + } else { + $859 = 0; + } + $858 = $859 << 8; + $860 = $858 | $861; + $sext692 = $860 << 16; + $862 = $sext692 >> 16; + $863 = (($862) + ($846))|0; + $864 = $863&65535; + $865 = (+($864<<16>>16)); + $866 = $865 * 3.0517578125E-5; + $867 = HEAP32[$843>>2]|0; + $868 = (($867) + ($$0669766<<2)|0); + HEAPF32[$868>>2] = $866; + $869 = (($$0669766) + 1)|0; + $exitcond793 = ($869|0)==($837|0); + if ($exitcond793) { + break; + } else { + $$0669766 = $869;$$0670765 = $863; + } + } + } + $844 = HEAP32[$836>>2]|0; + $845 = $844 << 1; + $$pn = $845; + } else { + if ($841) { + $842 = (((($835) + (($834*80)|0)|0)) + 72|0); + $$0668761 = 0;$$0762 = 0; + while(1) { + $sext = $$0668761 << 24; + $871 = $sext >> 24; + $872 = (($$0762) + ($$3675770))|0; + $873 = ($872>>>0)<($2>>>0); + if ($873) { + $874 = (($1) + ($872)|0); + $875 = HEAP8[$874>>0]|0; + $876 = $875&255; + $877 = $876; + } else { + $877 = 0; + } + $sext690 = $877 << 24; + $878 = $sext690 >> 24; + $879 = (($878) + ($871))|0; + $880 = $879&255; + $881 = (+($880<<24>>24)); + $882 = $881 * 0.0078125; + $883 = HEAP32[$842>>2]|0; + $884 = (($883) + ($$0762<<2)|0); + HEAPF32[$884>>2] = $882; + $885 = (($$0762) + 1)|0; + $exitcond = ($885|0)==($837|0); + if ($exitcond) { + break; + } else { + $$0668761 = $879;$$0762 = $885; + } + } + } + $870 = HEAP32[$836>>2]|0; + $$pn = $870; + } + $$4676 = (($$pn) + ($$3675770))|0; + $886 = (($$0677769) + 1)<<16>>16; + $887 = HEAP16[$373>>1]|0; + $888 = ($886&65535)<($887&65535); + if ($888) { + $$0677769 = $886;$$3675770 = $$4676; + } else { + $$3$lcssa794 = $$4;$$3675$lcssa = $$4676; + break; + } + } } } - } else { - $index$0$lcssa = 0; - } - _free($0); - $63 = $index$0$lcssa << 4; - $64 = (_malloc($63)|0); - HEAP32[$charRecs>>2] = $64; - $65 = $index$0$lcssa << 2; - $66 = (_malloc($65)|0); - HEAP32[$charValues>>2] = $66; - $67 = ($index$0$lcssa|0)>(0); - if ($67) { - $i$06 = 0; - } else { - STACKTOP = sp;return ($index$0$lcssa|0); - } - while(1) { - $68 = (($tempCharValues) + ($i$06<<2)|0); - $69 = HEAP32[$68>>2]|0; - $70 = HEAP32[$charValues>>2]|0; - $71 = (($70) + ($i$06<<2)|0); - HEAP32[$71>>2] = $69; - $72 = HEAP32[$charRecs>>2]|0; - $73 = (($72) + ($i$06<<4)|0); - $74 = (($tempCharRecs) + ($i$06<<4)|0); - ;HEAP32[$73>>2]=HEAP32[$74>>2]|0;HEAP32[$73+4>>2]=HEAP32[$74+4>>2]|0;HEAP32[$73+8>>2]=HEAP32[$74+8>>2]|0;HEAP32[$73+12>>2]=HEAP32[$74+12>>2]|0; - $75 = (($i$06) + 1)|0; - $exitcond = ($75|0)==($index$0$lcssa|0); - if ($exitcond) { - break; + $831 = (($$0688776) + 1)<<16>>16; + $832 = HEAP16[$98>>1]|0; + $833 = ($831&65535)<($832&65535); + if ($833) { + $$0688776 = $831;$$1673777 = $$3675$lcssa;$$1778 = $$3$lcssa794; } else { - $i$06 = $75; - } - } - STACKTOP = sp;return ($index$0$lcssa|0); -} -function _EmptyMusicStream() { - var $$pr = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $buffer = 0, $queued = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $buffer = sp + 4|0; - $queued = sp; - HEAP32[$buffer>>2] = 0; - HEAP32[$queued>>2] = 0; - $0 = HEAP32[(18684)>>2]|0; - _alGetSourcei(($0|0),4117,($queued|0)); - $$pr = HEAP32[$queued>>2]|0; - $1 = ($$pr|0)>(0); - if (!($1)) { - STACKTOP = sp;return; - } - while(1) { - $2 = HEAP32[(18684)>>2]|0; - _alSourceUnqueueBuffers(($2|0),1,($buffer|0)); - $3 = HEAP32[$queued>>2]|0; - $4 = (($3) + -1)|0; - HEAP32[$queued>>2] = $4; - $5 = ($3|0)>(1); - if (!($5)) { + $$1$lcssa = $$3$lcssa794; break; } } - STACKTOP = sp;return; + return ($$1$lcssa|0); } -function _LoadWAV($agg$result,$fileName) { - $agg$result = $agg$result|0; - $fileName = $fileName|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $riffHeader = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer4 = 0, $vararg_buffer7 = 0, $vararg_ptr13 = 0, $vararg_ptr14 = 0, $vararg_ptr15 = 0, $wave$sroa$0$0 = 0, $wave$sroa$0$1 = 0; - var $wave$sroa$4$0 = 0, $wave$sroa$4$1 = 0, $wave$sroa$5$0 = 0, $wave$sroa$5$1 = 0, $wave$sroa$7$0 = 0, $wave$sroa$7$1 = 0, $wave$sroa$9$0 = 0, $wave$sroa$9$1 = 0, $waveData = 0, $waveFormat = 0, label = 0, sp = 0; +function _jar_xm_check_sanity_postload($0) { + $0 = $0|0; + var $$01520 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $vararg_buffer = 0, $vararg_buffer2 = 0, $vararg_ptr1 = 0, $vararg_ptr5 = 0, $vararg_ptr6 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 96|0; - $vararg_buffer10 = sp + 32|0; - $vararg_buffer7 = sp; - $vararg_buffer4 = sp + 8|0; - $vararg_buffer1 = sp + 16|0; - $vararg_buffer = sp + 24|0; - $riffHeader = sp + 80|0; - $waveFormat = sp + 48|0; - $waveData = sp + 72|0; - $0 = (_fopen(($fileName|0),(19952|0))|0); + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $vararg_buffer2 = sp + 8|0; + $vararg_buffer = sp; + $1 = ((($0)) + 46|0); + $2 = HEAP16[$1>>1]|0; + $3 = ($2<<16>>16)==(0); + if ($3) { + $26 = 0; + STACKTOP = sp;return ($26|0); + } + $4 = $2&65535; + $5 = ((($0)) + 52|0); + $6 = HEAP32[1261]|0; + $$01520 = 0;$16 = $4;$18 = $2;$8 = 0; + while(1) { + $7 = (((($0)) + 60|0) + ($8)|0); + $9 = HEAP8[$7>>0]|0; + $10 = $9&255; + $11 = HEAP16[$5>>1]|0; + $12 = $11&65535; + $13 = ($10>>>0)<($12>>>0); + if (!($13)) { + $14 = (($8) + 1)|0; + $15 = ($14|0)==($16|0); + $17 = ($18&65535)>(1); + $or$cond = $17 & $15; + if (!($or$cond)) { + break; + } + $19 = (($18) + -1)<<16>>16; + HEAP16[$1>>1] = $19; + HEAP32[$vararg_buffer>>2] = 18020; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $8; + (_fprintf($6,17982,$vararg_buffer)|0); + (_fflush($6)|0); + } + $20 = (($$01520) + 1)<<24>>24; + $21 = $20&255; + $22 = HEAP16[$1>>1]|0; + $23 = $22&65535; + $24 = ($21>>>0)<($23>>>0); + if ($24) { + $$01520 = $20;$16 = $23;$18 = $22;$8 = $21; + } else { + $26 = 0; + label = 8; + break; + } + } + if ((label|0) == 8) { + STACKTOP = sp;return ($26|0); + } + HEAP32[$vararg_buffer2>>2] = 18020; + $vararg_ptr5 = ((($vararg_buffer2)) + 4|0); + HEAP32[$vararg_ptr5>>2] = $8; + $vararg_ptr6 = ((($vararg_buffer2)) + 8|0); + HEAP32[$vararg_ptr6>>2] = $10; + (_fprintf($6,18049,$vararg_buffer2)|0); + $25 = HEAP32[1261]|0; + (_fflush($25)|0); + $26 = 1; + STACKTOP = sp;return ($26|0); +} +function _jar_xm_free_context($0) { + $0 = $0|0; + var $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP32[$0>>2]|0; + _free($1); + return; +} +function _memcpy_pad($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$ = 0, $10 = 0, $11 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $5 = ($3>>>0)<($4>>>0); + $6 = (($3) - ($4))|0; + $$ = $5 ? 0 : $6; + $7 = ($$>>>0)>($1>>>0); + $8 = $7 ? $1 : $$; + $9 = (($2) + ($4)|0); + _memcpy(($0|0),($9|0),($8|0))|0; + $10 = (($0) + ($8)|0); + $11 = (($1) - ($8))|0; + _memset(($10|0),0,($11|0))|0; + return; +} +function _jar_xm_set_max_loop_count($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($0)) + 385|0); + HEAP8[$2>>0] = $1; + return; +} +function _jar_xm_get_loop_count($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 384|0); + $2 = HEAP8[$1>>0]|0; + return ($2|0); +} +function _jar_xm_get_remaining_samples($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0.0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (_jar_xm_get_loop_count($0)|0); + _jar_xm_set_max_loop_count($0,0); + $2 = (_jar_xm_get_loop_count($0)|0); + $3 = ($2<<24>>24)==($1<<24>>24); + if (!($3)) { + $15 = 0;$16 = 0; + $14 = ((($0)) + 384|0); + HEAP8[$14>>0] = $1; + tempRet0 = ($15); + return ($16|0); + } + $4 = ((($0)) + 352|0); + $6 = 0;$7 = 0; + while(1) { + $5 = +HEAPF32[$4>>2]; + $8 = (+($6>>>0)) + (4294967296.0*(+($7>>>0))); + $9 = $8 + $5; + $10 = (~~$9)>>>0; + $11 = +Math_abs($9) >= 1.0 ? $9 > 0.0 ? (~~+Math_min(+Math_floor($9 / 4294967296.0), 4294967295.0)) >>> 0 : ~~+Math_ceil(($9 - +(~~$9 >>> 0)) / 4294967296.0) >>> 0 : 0; + HEAPF32[$4>>2] = 0.0; + _jar_xm_tick($0); + $12 = (_jar_xm_get_loop_count($0)|0); + $13 = ($12<<24>>24)==($1<<24>>24); + if ($13) { + $6 = $10;$7 = $11; + } else { + $15 = $11;$16 = $10; + break; + } + } + $14 = ((($0)) + 384|0); + HEAP8[$14>>0] = $1; + tempRet0 = ($15); + return ($16|0); +} +function _jar_xm_create_context_from_file($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$1 = 0, $$1$ph = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = (_fopen($2,19381)|0); + $4 = ($3|0)==(0|0); + L1: do { + if ($4) { + $5 = HEAP32[1261]|0; + (_fwrite(18139,25,1,$5)|0); + (_fflush($5)|0); + $$1$ph = 3; + } else { + (_fseek($3,0,2)|0); + $6 = (_ftell($3)|0); + _rewind($3); + $7 = ($6|0)==(-1); + if ($7) { + (_fclose($3)|0); + $8 = HEAP32[1261]|0; + (_fwrite(18165,14,1,$8)|0); + (_fflush($8)|0); + $$1$ph = 4; + break; + } + $9 = (($6) + 1)|0; + $10 = (_malloc($9)|0); + $11 = (_fread($10,1,$6,$3)|0); + $12 = ($11>>>0)<($6>>>0); + (_fclose($3)|0); + if ($12) { + $13 = HEAP32[1261]|0; + (_fwrite(18180,14,1,$13)|0); + (_fflush($13)|0); + $$1$ph = 5; + break; + } + $14 = (_jar_xm_create_context_safe($0,$10,$6,$1)|0); + switch ($14|0) { + case 1: { + $15 = HEAP32[1261]|0; + (_fwrite(18195,45,1,$15)|0); + (_fflush($15)|0); + $$1$ph = 1; + break L1; + break; + } + case 2: { + $16 = HEAP32[1261]|0; + (_fwrite(18241,40,1,$16)|0); + (_fflush($16)|0); + _exit(1); + // unreachable; + break; + } + case 0: { + $$1 = 0; + return ($$1|0); + break; + } + default: { + $17 = HEAP32[1261]|0; + (_fwrite(18282,40,1,$17)|0); + (_fflush($17)|0); + _exit(1); + // unreachable; + } + } + } + } while(0); + HEAP32[$0>>2] = 0; + $$1 = $$1$ph; + return ($$1|0); +} +function _InitAudioDevice() { + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $cond = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer3 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $vararg_buffer3 = sp + 16|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $0 = (_alcOpenDevice((0|0))|0); $1 = ($0|0)==(0|0); if ($1) { - HEAP32[$vararg_buffer>>2] = $fileName; - _TraceLog(2,19712,$vararg_buffer); - $wave$sroa$0$1 = 0;$wave$sroa$4$1 = 0;$wave$sroa$5$1 = 0;$wave$sroa$7$1 = 0;$wave$sroa$9$1 = 0; - HEAP32[$agg$result>>2] = $wave$sroa$0$1; - $45 = ((($agg$result)) + 4|0); - HEAP32[$45>>2] = $wave$sroa$4$1; - $46 = ((($agg$result)) + 8|0); - HEAP32[$46>>2] = $wave$sroa$5$1; - $47 = ((($agg$result)) + 12|0); - HEAP16[$47>>1] = $wave$sroa$7$1; - $48 = ((($agg$result)) + 14|0); - HEAP16[$48>>1] = $wave$sroa$9$1; + _TraceLog(2,18323,$vararg_buffer); STACKTOP = sp;return; } - (_fread(($riffHeader|0),12,1,($0|0))|0); - $2 = (_strncmp($riffHeader,19752,4)|0); - $3 = ($2|0)==(0); + $2 = (_alcCreateContext(($0|0),(0|0))|0); + $cond = ($2|0)==(0|0); do { - if ($3) { - $4 = ((($riffHeader)) + 8|0); - $5 = (_strncmp($4,19760,4)|0); + if (!($cond)) { + $3 = (_alcMakeContextCurrent(($2|0))|0); + $4 = ($3<<24>>24)==(0); + if ($4) { + _alcDestroyContext(($2|0)); + break; + } + $5 = (_alcGetString(($0|0),4101)|0); + HEAP32[$vararg_buffer3>>2] = $5; + _TraceLog(0,18391,$vararg_buffer3); + _alListener3f(4100,0.0,0.0,0.0); + _alListener3f(4102,0.0,0.0,0.0); + _alListener3f(4111,0.0,0.0,-1.0); + _alListenerf(4106,1.0); + STACKTOP = sp;return; + } + } while(0); + (_alcCloseDevice(($0|0))|0); + _TraceLog(2,18356,$vararg_buffer1); + STACKTOP = sp;return; +} +function _CloseAudioDevice() { + var $0 = 0, $1 = 0, $2 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $0 = (_alcGetCurrentContext()|0); + $1 = ($0|0)==(0|0); + if ($1) { + _TraceLog(1,18445,$vararg_buffer); + } + $2 = (_alcGetContextsDevice(($0|0))|0); + (_alcMakeContextCurrent((0|0))|0); + _alcDestroyContext(($0|0)); + (_alcCloseDevice(($2|0))|0); + _TraceLog(0,18493,$vararg_buffer1); + STACKTOP = sp;return; +} +function _LoadWave($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; + var $vararg_buffer = 0, $vararg_buffer1 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $2 = sp + 12|0; + ;HEAP32[$2>>2]=0|0;HEAP32[$2+4>>2]=0|0;HEAP32[$2+8>>2]=0|0;HEAP32[$2+12>>2]=0|0;HEAP32[$2+16>>2]=0|0; + $3 = (_IsFileExtension($1,18526)|0); + $4 = ($3|0)==(0); + do { + if ($4) { + $5 = (_IsFileExtension($1,18531)|0); $6 = ($5|0)==(0); - if ($6) { - (_fread(($waveFormat|0),24,1,($0|0))|0); - $7 = HEAP8[$waveFormat>>0]|0; - $8 = ($7<<24>>24)==(102); - if ($8) { - $9 = ((($waveFormat)) + 1|0); - $10 = HEAP8[$9>>0]|0; - $11 = ($10<<24>>24)==(109); - if ($11) { - $12 = ((($waveFormat)) + 2|0); - $13 = HEAP8[$12>>0]|0; - $14 = ($13<<24>>24)==(116); - if ($14) { - $15 = ((($waveFormat)) + 3|0); - $16 = HEAP8[$15>>0]|0; - $17 = ($16<<24>>24)==(32); - if ($17) { - $18 = ((($waveFormat)) + 4|0); - $19 = HEAP32[$18>>2]|0; - $20 = ($19|0)>(16); - if ($20) { - (_fseek(($0|0),2,1)|0); + if (!($6)) { + _LoadOGG($2,$1); + break; + } + $7 = (_IsFileExtension($1,18536)|0); + $8 = ($7|0)==(0); + if ($8) { + HEAP32[$vararg_buffer1>>2] = $1; + _TraceLog(1,18588,$vararg_buffer1); + break; + } + $9 = (_LoadResource($1,0)|0); + $10 = HEAP32[$9>>2]|0; + $11 = ($10|0)==(2); + if ($11) { + $12 = ((($9)) + 20|0); + $13 = HEAP32[$12>>2]|0; + $14 = ((($9)) + 4|0); + $15 = HEAP32[$14>>2]|0; + $16 = ((($9)) + 8|0); + $17 = HEAP32[$16>>2]|0; + $18 = ((($9)) + 12|0); + $19 = HEAP32[$18>>2]|0; + $20 = ((($9)) + 16|0); + $21 = HEAP32[$20>>2]|0; + _LoadWaveEx($2,$13,$15,$17,$19,$21); + } else { + HEAP32[$vararg_buffer>>2] = $1; + _TraceLog(1,18542,$vararg_buffer); + } + _UnloadResource($9); + } else { + _LoadWAV($2,$1); + } + } while(0); + ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$2+16>>2]|0; + STACKTOP = sp;return; +} +function _LoadWAV($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$pr = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; + var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; + var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0; + var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer14 = 0, $vararg_buffer18 = 0, $vararg_buffer4 = 0, $vararg_buffer7 = 0, $vararg_ptr13 = 0, $vararg_ptr17 = 0, $vararg_ptr21 = 0, $vararg_ptr22 = 0; + var $vararg_ptr23 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 144|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(144|0); + $vararg_buffer18 = sp + 48|0; + $vararg_buffer14 = sp + 40|0; + $vararg_buffer10 = sp + 32|0; + $vararg_buffer7 = sp + 24|0; + $vararg_buffer4 = sp + 16|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $2 = sp + 120|0; + $3 = sp + 96|0; + $4 = sp + 88|0; + $5 = sp + 64|0; + ;HEAP32[$5>>2]=0|0;HEAP32[$5+4>>2]=0|0;HEAP32[$5+8>>2]=0|0;HEAP32[$5+12>>2]=0|0;HEAP32[$5+16>>2]=0|0; + $6 = (_fopen($1,19381)|0); + $7 = ($6|0)==(0|0); + if ($7) { + HEAP32[$vararg_buffer>>2] = $1; + _TraceLog(1,19762,$vararg_buffer); + $8 = ((($5)) + 16|0); + HEAP32[$8>>2] = 0; + ;HEAP32[$0>>2]=HEAP32[$5>>2]|0;HEAP32[$0+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$5+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$5+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$5+16>>2]|0; + STACKTOP = sp;return; + } + (_fread($2,12,1,$6)|0); + $9 = (_strncmp($2,19796,4)|0); + $10 = ($9|0)==(0); + do { + if ($10) { + $11 = ((($2)) + 8|0); + $12 = (_strncmp($11,19801,4)|0); + $13 = ($12|0)==(0); + if ($13) { + (_fread($3,24,1,$6)|0); + $14 = HEAP8[$3>>0]|0; + $15 = ($14<<24>>24)==(102); + if ($15) { + $16 = ((($3)) + 1|0); + $17 = HEAP8[$16>>0]|0; + $18 = ($17<<24>>24)==(109); + if ($18) { + $19 = ((($3)) + 2|0); + $20 = HEAP8[$19>>0]|0; + $21 = ($20<<24>>24)==(116); + if ($21) { + $22 = ((($3)) + 3|0); + $23 = HEAP8[$22>>0]|0; + $24 = ($23<<24>>24)==(32); + if ($24) { + $25 = ((($3)) + 4|0); + $26 = HEAP32[$25>>2]|0; + $27 = ($26|0)>(16); + if ($27) { + (_fseek($6,2,1)|0); } - (_fread(($waveData|0),8,1,($0|0))|0); - $21 = HEAP8[$waveData>>0]|0; - $22 = ($21<<24>>24)==(100); - if ($22) { - $23 = ((($waveData)) + 1|0); - $24 = HEAP8[$23>>0]|0; - $25 = ($24<<24>>24)==(97); - if ($25) { - $26 = ((($waveData)) + 2|0); - $27 = HEAP8[$26>>0]|0; - $28 = ($27<<24>>24)==(116); - if ($28) { - $29 = ((($waveData)) + 3|0); - $30 = HEAP8[$29>>0]|0; - $31 = ($30<<24>>24)==(97); - if ($31) { - $32 = ((($waveData)) + 4|0); - $33 = HEAP32[$32>>2]|0; - $34 = (_malloc($33)|0); - $35 = HEAP32[$32>>2]|0; - (_fread(($34|0),($35|0),1,($0|0))|0); - $36 = HEAP32[$32>>2]|0; - $37 = ((($waveFormat)) + 12|0); - $38 = HEAP32[$37>>2]|0; - $39 = ((($waveFormat)) + 10|0); - $40 = HEAP16[$39>>1]|0; - $41 = ((($waveFormat)) + 22|0); - $42 = HEAP16[$41>>1]|0; - $43 = $42 << 16 >> 16; - $44 = $40 << 16 >> 16; - HEAP32[$vararg_buffer10>>2] = $fileName; - $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); - HEAP32[$vararg_ptr13>>2] = $38; - $vararg_ptr14 = ((($vararg_buffer10)) + 8|0); - HEAP32[$vararg_ptr14>>2] = $43; - $vararg_ptr15 = ((($vararg_buffer10)) + 12|0); - HEAP32[$vararg_ptr15>>2] = $44; - _TraceLog(0,19872,$vararg_buffer10); - $wave$sroa$0$0 = $34;$wave$sroa$4$0 = $36;$wave$sroa$5$0 = $38;$wave$sroa$7$0 = $42;$wave$sroa$9$0 = $40; + (_fread($4,8,1,$6)|0); + $28 = HEAP8[$4>>0]|0; + $29 = ($28<<24>>24)==(100); + if ($29) { + $30 = ((($4)) + 1|0); + $31 = HEAP8[$30>>0]|0; + $32 = ($31<<24>>24)==(97); + if ($32) { + $33 = ((($4)) + 2|0); + $34 = HEAP8[$33>>0]|0; + $35 = ($34<<24>>24)==(116); + if ($35) { + $36 = ((($4)) + 3|0); + $37 = HEAP8[$36>>0]|0; + $38 = ($37<<24>>24)==(97); + if ($38) { + $39 = ((($4)) + 4|0); + $40 = HEAP32[$39>>2]|0; + $41 = (_malloc($40)|0); + $42 = ((($5)) + 16|0); + HEAP32[$42>>2] = $41; + (_fread($41,$40,1,$6)|0); + $43 = ((($3)) + 12|0); + $44 = HEAP32[$43>>2]|0; + $45 = ((($5)) + 4|0); + HEAP32[$45>>2] = $44; + $46 = ((($3)) + 22|0); + $47 = HEAP16[$46>>1]|0; + $48 = $47 << 16 >> 16; + $49 = ((($5)) + 8|0); + HEAP32[$49>>2] = $48; + $50 = ((($3)) + 10|0); + $51 = HEAP16[$50>>1]|0; + $52 = $51 << 16 >> 16; + $53 = ((($5)) + 12|0); + HEAP32[$53>>2] = $52; + switch ($47<<16>>16) { + case 32: case 16: case 8: { + $57 = $52; + break; + } + default: { + HEAP32[$vararg_buffer10>>2] = $1; + $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); + HEAP32[$vararg_ptr13>>2] = $48; + _TraceLog(1,19889,$vararg_buffer10); + $54 = HEAP32[$45>>2]|0; + $55 = HEAP32[$53>>2]|0; + _WaveFormat($5,$54,16,$55); + $$pr = HEAP32[$53>>2]|0; + $57 = $$pr; + } + } + $56 = ($57>>>0)>(2); + if ($56) { + $58 = HEAP32[$45>>2]|0; + $59 = HEAP32[$49>>2]|0; + _WaveFormat($5,$58,$59,2); + $60 = HEAP32[$53>>2]|0; + HEAP32[$vararg_buffer14>>2] = $1; + $vararg_ptr17 = ((($vararg_buffer14)) + 4|0); + HEAP32[$vararg_ptr17>>2] = $60; + _TraceLog(1,19952,$vararg_buffer14); + } + $61 = HEAP32[$39>>2]|0; + $62 = HEAP32[$49>>2]|0; + $63 = $62 >>> 3; + $64 = (($61>>>0) / ($63>>>0))&-1; + $65 = HEAP32[$53>>2]|0; + $66 = (($64>>>0) / ($65>>>0))&-1; + HEAP32[$5>>2] = $66; + $67 = HEAP32[$45>>2]|0; + $68 = ($65|0)==(1); + $69 = $68 ? 18812 : 18817; + HEAP32[$vararg_buffer18>>2] = $1; + $vararg_ptr21 = ((($vararg_buffer18)) + 4|0); + HEAP32[$vararg_ptr21>>2] = $67; + $vararg_ptr22 = ((($vararg_buffer18)) + 8|0); + HEAP32[$vararg_ptr22>>2] = $62; + $vararg_ptr23 = ((($vararg_buffer18)) + 12|0); + HEAP32[$vararg_ptr23>>2] = $69; + _TraceLog(0,20021,$vararg_buffer18); break; } } } } - HEAP32[$vararg_buffer7>>2] = $fileName; - _TraceLog(2,19840,$vararg_buffer7); - $wave$sroa$0$0 = 0;$wave$sroa$4$0 = 0;$wave$sroa$5$0 = 0;$wave$sroa$7$0 = 0;$wave$sroa$9$0 = 0; + HEAP32[$vararg_buffer7>>2] = $1; + _TraceLog(1,19864,$vararg_buffer7); break; } } } } - HEAP32[$vararg_buffer4>>2] = $fileName; - _TraceLog(2,19808,$vararg_buffer4); - $wave$sroa$0$0 = 0;$wave$sroa$4$0 = 0;$wave$sroa$5$0 = 0;$wave$sroa$7$0 = 0;$wave$sroa$9$0 = 0; + HEAP32[$vararg_buffer4>>2] = $1; + _TraceLog(1,19839,$vararg_buffer4); } else { label = 5; } @@ -35381,2203 +47575,1498 @@ function _LoadWAV($agg$result,$fileName) { } } while(0); if ((label|0) == 5) { - HEAP32[$vararg_buffer1>>2] = $fileName; - _TraceLog(2,19768,$vararg_buffer1); - $wave$sroa$0$0 = 0;$wave$sroa$4$0 = 0;$wave$sroa$5$0 = 0;$wave$sroa$7$0 = 0;$wave$sroa$9$0 = 0; + HEAP32[$vararg_buffer1>>2] = $1; + _TraceLog(1,19806,$vararg_buffer1); } - (_fclose(($0|0))|0); - $wave$sroa$0$1 = $wave$sroa$0$0;$wave$sroa$4$1 = $wave$sroa$4$0;$wave$sroa$5$1 = $wave$sroa$5$0;$wave$sroa$7$1 = $wave$sroa$7$0;$wave$sroa$9$1 = $wave$sroa$9$0; - HEAP32[$agg$result>>2] = $wave$sroa$0$1; - $45 = ((($agg$result)) + 4|0); - HEAP32[$45>>2] = $wave$sroa$4$1; - $46 = ((($agg$result)) + 8|0); - HEAP32[$46>>2] = $wave$sroa$5$1; - $47 = ((($agg$result)) + 12|0); - HEAP16[$47>>1] = $wave$sroa$7$1; - $48 = ((($agg$result)) + 14|0); - HEAP16[$48>>1] = $wave$sroa$9$1; + (_fclose($6)|0); + ;HEAP32[$0>>2]=HEAP32[$5>>2]|0;HEAP32[$0+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$5+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$5+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$5+16>>2]|0; STACKTOP = sp;return; } -function _LoadOGG($agg$result,$fileName) { - $agg$result = $agg$result|0; - $fileName = $fileName|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0.0, $16 = 0.0, $17 = 0, $18 = 0.0, $19 = 0.0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $info = 0, $sext = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer13 = 0, $vararg_buffer17 = 0, $vararg_buffer21 = 0, $vararg_buffer25 = 0, $vararg_buffer29 = 0, $vararg_buffer5 = 0, $vararg_buffer9 = 0; - var $vararg_ptr12 = 0, $vararg_ptr16 = 0, $vararg_ptr20 = 0, $vararg_ptr24 = 0, $vararg_ptr28 = 0, $vararg_ptr32 = 0, $vararg_ptr33 = 0, $vararg_ptr34 = 0, $vararg_ptr4 = 0, $vararg_ptr8 = 0, $wave$sroa$0$0 = 0, $wave$sroa$4$0 = 0, $wave$sroa$5$0 = 0, $wave$sroa$9$0 = 0, label = 0, sp = 0; +function _LoadOGG($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$sroa$0$0 = 0, $$sroa$10$0 = 0, $$sroa$10$0$$sroa_idx19 = 0, $$sroa$14$0 = 0, $$sroa$14$0$$sroa_idx23 = 0, $$sroa$6$0 = 0, $$sroa$6$0$$sroa_idx15 = 0, $$sroa$8$0$$sroa_idx17 = 0, $10 = 0, $11 = 0.0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $2 = 0, $3 = 0, $4 = 0; + var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0.0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer5 = 0, $vararg_buffer9 = 0, $vararg_ptr12 = 0, $vararg_ptr13 = 0, $vararg_ptr14 = 0, $vararg_ptr4 = 0, $vararg_ptr8 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 128|0; - $vararg_buffer29 = sp + 32|0; - $vararg_buffer25 = sp + 88|0; - $vararg_buffer21 = sp + 80|0; - $vararg_buffer17 = sp + 64|0; - $vararg_buffer13 = sp + 48|0; - $vararg_buffer9 = sp + 24|0; - $vararg_buffer5 = sp + 16|0; + STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0); + $vararg_buffer9 = sp + 32|0; + $vararg_buffer5 = sp + 24|0; $vararg_buffer1 = sp + 8|0; $vararg_buffer = sp; - $info = sp + 96|0; - $0 = (_stb_vorbis_open_filename($fileName,0,0)|0); - $1 = ($0|0)==(0|0); - if ($1) { - HEAP32[$vararg_buffer>>2] = $fileName; - _TraceLog(2,19360,$vararg_buffer); - $wave$sroa$0$0 = 0;$wave$sroa$4$0 = 0;$wave$sroa$5$0 = 0;$wave$sroa$9$0 = 0; - HEAP32[$agg$result>>2] = $wave$sroa$0$0; - $25 = ((($agg$result)) + 4|0); - HEAP32[$25>>2] = $wave$sroa$4$0; - $26 = ((($agg$result)) + 8|0); - HEAP32[$26>>2] = $wave$sroa$5$0; - $27 = ((($agg$result)) + 12|0); - HEAP16[$27>>1] = 16; - $28 = ((($agg$result)) + 14|0); - HEAP16[$28>>1] = $wave$sroa$9$0; - STACKTOP = sp;return; - } - _stb_vorbis_get_info($info,$0); - $2 = HEAP32[$info>>2]|0; - $3 = ((($info)) + 4|0); - $4 = HEAP32[$3>>2]|0; - $5 = $4&65535; - HEAP32[$vararg_buffer1>>2] = $fileName; - $vararg_ptr4 = ((($vararg_buffer1)) + 4|0); - HEAP32[$vararg_ptr4>>2] = $2; - _TraceLog(3,18928,$vararg_buffer1); - $6 = HEAP32[$3>>2]|0; - HEAP32[$vararg_buffer5>>2] = $fileName; - $vararg_ptr8 = ((($vararg_buffer5)) + 4|0); - HEAP32[$vararg_ptr8>>2] = $6; - _TraceLog(3,18960,$vararg_buffer5); - $7 = (_stb_vorbis_stream_length_in_samples($0)|0); - $8 = HEAP32[$3>>2]|0; - $9 = Math_imul($8, $7)|0; - $10 = $9 << 1; - HEAP32[$vararg_buffer9>>2] = $fileName; - $vararg_ptr12 = ((($vararg_buffer9)) + 4|0); - HEAP32[$vararg_ptr12>>2] = $9; - _TraceLog(3,19400,$vararg_buffer9); - $11 = (+_stb_vorbis_stream_length_in_seconds($0)); - $12 = $11; - HEAP32[$vararg_buffer13>>2] = $fileName; - $vararg_ptr16 = ((($vararg_buffer13)) + 8|0); - HEAPF64[$vararg_ptr16>>3] = $12; - _TraceLog(3,19424,$vararg_buffer13); - $13 = $11 > 10.0; - if ($13) { - HEAP32[$vararg_buffer17>>2] = $fileName; - $vararg_ptr20 = ((($vararg_buffer17)) + 8|0); - HEAPF64[$vararg_ptr20>>3] = $12; - _TraceLog(2,19448,$vararg_buffer17); - } - $14 = HEAP32[$info>>2]|0; - $15 = (+($14>>>0)); - $16 = $11 * $15; - $17 = HEAP32[$3>>2]|0; - $18 = (+($17|0)); - $19 = $16 * $18; - $20 = (~~(($19))); - HEAP32[$vararg_buffer21>>2] = $fileName; - $vararg_ptr24 = ((($vararg_buffer21)) + 4|0); - HEAP32[$vararg_ptr24>>2] = $20; - _TraceLog(3,19560,$vararg_buffer21); - $21 = (_malloc($10)|0); - $22 = HEAP32[$3>>2]|0; - $23 = (_stb_vorbis_get_samples_short_interleaved($0,$22,$21,$9)|0); - HEAP32[$vararg_buffer25>>2] = $fileName; - $vararg_ptr28 = ((($vararg_buffer25)) + 4|0); - HEAP32[$vararg_ptr28>>2] = $23; - _TraceLog(3,19600,$vararg_buffer25); - $sext = $4 << 16; - $24 = $sext >> 16; - HEAP32[$vararg_buffer29>>2] = $fileName; - $vararg_ptr32 = ((($vararg_buffer29)) + 4|0); - HEAP32[$vararg_ptr32>>2] = $2; - $vararg_ptr33 = ((($vararg_buffer29)) + 8|0); - HEAP32[$vararg_ptr33>>2] = 16; - $vararg_ptr34 = ((($vararg_buffer29)) + 12|0); - HEAP32[$vararg_ptr34>>2] = $24; - _TraceLog(0,19632,$vararg_buffer29); - _stb_vorbis_close($0); - $wave$sroa$0$0 = $21;$wave$sroa$4$0 = $10;$wave$sroa$5$0 = $2;$wave$sroa$9$0 = $5; - HEAP32[$agg$result>>2] = $wave$sroa$0$0; - $25 = ((($agg$result)) + 4|0); - HEAP32[$25>>2] = $wave$sroa$4$0; - $26 = ((($agg$result)) + 8|0); - HEAP32[$26>>2] = $wave$sroa$5$0; - $27 = ((($agg$result)) + 12|0); - HEAP16[$27>>1] = 16; - $28 = ((($agg$result)) + 14|0); - HEAP16[$28>>1] = $wave$sroa$9$0; - STACKTOP = sp;return; -} -function _UnloadWave($wave) { - $wave = $wave|0; - var $0 = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $vararg_buffer = sp; - $0 = HEAP32[$wave>>2]|0; - _free($0); - _TraceLog(0,19336,$vararg_buffer); - STACKTOP = sp;return; -} -function _BufferMusicStream($buffer) { - $buffer = $buffer|0; - var $$old1 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $active$0 = 0, $pcm = 0; - var $size$0 = 0, $size$0$lcssa = 0, $size$12 = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 65552|0; - $vararg_buffer = sp; - $pcm = sp + 8|0; - $0 = HEAP32[8808>>2]|0; - $1 = ($0|0)==(0); - do { - if (!($1)) { - $size$0 = 0; - while(1) { - $2 = HEAP32[18672>>2]|0; - $3 = HEAP32[(18692)>>2]|0; - $4 = (($pcm) + ($size$0<<1)|0); - $5 = (32768 - ($size$0))|0; - $6 = (_stb_vorbis_get_samples_short_interleaved($2,$3,$4,$5)|0); - $7 = ($6|0)>(0); - if (!($7)) { - $size$0$lcssa = $size$0; - label = 4; - break; - } - $8 = HEAP32[(18692)>>2]|0; - $9 = Math_imul($8, $6)|0; - $10 = (($9) + ($size$0))|0; - $$old1 = ($10|0)<(32768); - if ($$old1) { - $size$0 = $10; - } else { - $size$12 = $10; - break; - } - } - if ((label|0) == 4) { - $11 = ($size$0$lcssa|0)>(0); - if ($11) { - $size$12 = $size$0$lcssa; - } else { - break; - } - } - $12 = HEAP32[(18688)>>2]|0; - $13 = $size$12 << 1; - $14 = HEAP32[(18696)>>2]|0; - _alBufferData(($buffer|0),($12|0),($pcm|0),($13|0),($14|0)); - $15 = HEAP32[(18700)>>2]|0; - $16 = (($15) - ($size$12))|0; - HEAP32[(18700)>>2] = $16; - $active$0 = 1; - STACKTOP = sp;return ($active$0|0); - } - } while(0); - _TraceLog(2,19296,$vararg_buffer); - $active$0 = 0; - STACKTOP = sp;return ($active$0|0); -} -function _EmscriptenInputCallback($eventType,$touchEvent,$userData) { - $eventType = $eventType|0; - $touchEvent = $touchEvent|0; - $userData = $userData|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0.0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $3 = 0, $4 = 0.0, $5 = 0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0, $gestureEvent = 0, $gestureEvent$byval_copy = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 112|0; - $gestureEvent$byval_copy = sp + 56|0; - $gestureEvent = sp; - if ((($eventType|0) == 24)) { - HEAP32[$gestureEvent>>2] = 2; - } else if ((($eventType|0) == 23)) { - HEAP32[$gestureEvent>>2] = 0; - } else if ((($eventType|0) == 22)) { - HEAP32[$gestureEvent>>2] = 1; - } - $0 = HEAP32[$touchEvent>>2]|0; - $1 = ((($gestureEvent)) + 4|0); - HEAP32[$1>>2] = $0; - $2 = ((($touchEvent)) + 56|0); - $3 = HEAP32[$2>>2]|0; - $4 = (+($3|0)); - $5 = ((($touchEvent)) + 60|0); - $6 = HEAP32[$5>>2]|0; - $7 = (+($6|0)); - $8 = ((($gestureEvent)) + 24|0); - HEAPF32[$8>>2] = $4; - $9 = ((($gestureEvent)) + 28|0); - HEAPF32[$9>>2] = $7; - $10 = ((($touchEvent)) + 108|0); - $11 = HEAP32[$10>>2]|0; - $12 = (+($11|0)); - $13 = ((($touchEvent)) + 112|0); - $14 = HEAP32[$13>>2]|0; - $15 = (+($14|0)); - $16 = ((($gestureEvent)) + 32|0); - HEAPF32[$16>>2] = $12; - $17 = ((($gestureEvent)) + 36|0); - HEAPF32[$17>>2] = $15; - (_puts((19176|0))|0); - $18 = ((($gestureEvent)) + 24|0); - $19 = $18; - $20 = $19; - $21 = HEAP32[$20>>2]|0; - $22 = (($19) + 4)|0; - $23 = $22; - $24 = HEAP32[$23>>2]|0; - $25 = 19112; - $26 = $25; - HEAP32[$26>>2] = $21; - $27 = (($25) + 4)|0; - $28 = $27; - HEAP32[$28>>2] = $24; - dest=$gestureEvent$byval_copy; src=$gestureEvent; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _ProcessMotionEvent($gestureEvent$byval_copy); - STACKTOP = sp;return 1; -} -function _ProcessMotionEvent($event) { - $event = $event|0; - var $$pr = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0; - var $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0; - var $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0.0, $142 = 0.0, $143 = 0.0, $144 = 0.0, $145 = 0.0, $146 = 0, $147 = 0.0, $148 = 0.0, $149 = 0.0, $15 = 0, $150 = 0.0; - var $151 = 0.0, $152 = 0.0, $153 = 0, $154 = 0.0, $155 = 0.0, $156 = 0.0, $157 = 0.0, $158 = 0, $159 = 0.0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0; - var $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0; - var $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0; - var $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0.0, $44 = 0, $45 = 0.0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0; - var $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0; - var $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0.0, $8 = 0, $80 = 0.0, $81 = 0.0, $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0.0, $86 = 0.0, $87 = 0.0; - var $88 = 0.0, $89 = 0.0, $9 = 0, $90 = 0.0, $91 = 0.0, $92 = 0.0, $93 = 0.0, $94 = 0.0, $95 = 0.0, $96 = 0.0, $97 = 0, $98 = 0.0, $99 = 0.0, $firstTouchVector = 0, $firstTouchVector$byval_copy = 0, $or$cond = 0, $or$cond3 = 0, $or$cond5 = 0, $or$cond7 = 0, $pow2 = 0.0; - var $pow210 = 0.0, $secondTouchVector = 0, $secondTouchVector$byval_copy = 0, $storemerge = 0.0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $secondTouchVector$byval_copy = sp + 24|0; - $firstTouchVector$byval_copy = sp; - $firstTouchVector = sp + 8|0; - $secondTouchVector = sp + 16|0; - HEAPF32[19144>>2] = 0.0; - HEAPF32[(19148)>>2] = 0.0; - HEAPF32[19152>>2] = 0.0; - $0 = HEAP32[19120>>2]|0; - HEAP32[19168>>2] = $0; - $1 = HEAP32[19192>>2]|0; - if ((($1|0) == 1)) { - $42 = HEAP32[$event>>2]|0; - if ((($42|0) == 0)) { - $43 = +HEAPF32[19128>>2]; - $44 = $43 > 20.0; - do { - if ($44) { - $45 = +HEAPF32[19136>>2]; - $46 = $45 < 30.0; - $47 = $45 > 330.0; - $or$cond = $46 | $47; - if ($or$cond) { - HEAP32[19120>>2] = 32; - break; - } - $48 = $45 > 60.0; - $49 = $45 < 120.0; - $or$cond3 = $48 & $49; - if ($or$cond3) { - HEAP32[19120>>2] = 128; - break; - } - $50 = $45 > 150.0; - $51 = $45 < 210.0; - $or$cond5 = $50 & $51; - if ($or$cond5) { - HEAP32[19120>>2] = 64; - break; - } - $52 = $45 > 240.0; - $53 = $45 < 300.0; - $or$cond7 = $52 & $53; - if ($or$cond7) { - HEAP32[19120>>2] = 256; - } - } - } while(0); - HEAPF32[19248>>2] = 0.0; - HEAPF32[19136>>2] = 0.0; - HEAPF32[19128>>2] = 0.0; - HEAP32[19192>>2] = 0; - STACKTOP = sp;return; - } else if ((($42|0) == 2)) { - $54 = ((($event)) + 4|0); - $55 = HEAP32[$54>>2]|0; - $56 = ($55|0)>(1); - if ($56) { - $57 = ((($event)) + 24|0); - $58 = ((($event)) + 32|0); - ;HEAP32[$firstTouchVector$byval_copy>>2]=HEAP32[$57>>2]|0;HEAP32[$firstTouchVector$byval_copy+4>>2]=HEAP32[$57+4>>2]|0; - ;HEAP32[$secondTouchVector$byval_copy>>2]=HEAP32[$58>>2]|0;HEAP32[$secondTouchVector$byval_copy+4>>2]=HEAP32[$58+4>>2]|0; - _InitPinchGesture($firstTouchVector$byval_copy,$secondTouchVector$byval_copy); - STACKTOP = sp;return; - } else { - $59 = 19232; - $60 = $59; - $61 = HEAP32[$60>>2]|0; - $62 = (($59) + 4)|0; - $63 = $62; - $64 = HEAP32[$63>>2]|0; - $65 = 19256; - $66 = $65; - HEAP32[$66>>2] = $61; - $67 = (($65) + 4)|0; - $68 = $67; - HEAP32[$68>>2] = $64; - $69 = 19112; - $70 = $69; - $71 = HEAP32[$70>>2]|0; - $72 = (($69) + 4)|0; - $73 = $72; - $74 = HEAP32[$73>>2]|0; - $75 = 19232; - $76 = $75; - HEAP32[$76>>2] = $71; - $77 = (($75) + 4)|0; - $78 = $77; - HEAP32[$78>>2] = $74; - $79 = +HEAPF32[19232>>2]; - $80 = +HEAPF32[19256>>2]; - $81 = $79 - $80; - $82 = +HEAPF32[(19236)>>2]; - $83 = +HEAPF32[(19260)>>2]; - $84 = $82 - $83; - HEAPF32[19144>>2] = $81; - HEAPF32[(19148)>>2] = $84; - $85 = +HEAPF32[19232>>2]; - $86 = +HEAPF32[19224>>2]; - $87 = $85 - $86; - $88 = $87; - $pow2 = $88 * $88; - $89 = +HEAPF32[(19236)>>2]; - $90 = +HEAPF32[(19228)>>2]; - $91 = $89 - $90; - $92 = $91; - $pow210 = $92 * $92; - $93 = $pow2 + $pow210; - $94 = (+Math_sqrt((+$93))); - $95 = $94; - HEAPF32[19248>>2] = $95; - ;HEAP32[$firstTouchVector$byval_copy>>2]=HEAP32[19224>>2]|0;HEAP32[$firstTouchVector$byval_copy+4>>2]=HEAP32[19224+4>>2]|0; - ;HEAP32[$secondTouchVector$byval_copy>>2]=HEAP32[19232>>2]|0;HEAP32[$secondTouchVector$byval_copy+4>>2]=HEAP32[19232+4>>2]|0; - $96 = (+_CalculateAngle($firstTouchVector$byval_copy,$secondTouchVector$byval_copy,$95)); - HEAPF32[19136>>2] = $96; - $97 = HEAP32[19240>>2]|0; - $98 = (+($97|0)); - $99 = $95 / $98; - HEAPF32[19128>>2] = $99; - HEAP32[19120>>2] = 16; - $100 = (($97) + 1)|0; - HEAP32[19240>>2] = $100; - STACKTOP = sp;return; - } - } else { - STACKTOP = sp;return; - } - } else if ((($1|0) == 0)) { - $2 = HEAP32[$event>>2]|0; - if ((($2|0) == 1)) { - $3 = ((($event)) + 4|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)>(1); - $6 = ((($event)) + 24|0); - if ($5) { - $7 = ((($event)) + 32|0); - ;HEAP32[$firstTouchVector$byval_copy>>2]=HEAP32[$6>>2]|0;HEAP32[$firstTouchVector$byval_copy+4>>2]=HEAP32[$6+4>>2]|0; - ;HEAP32[$secondTouchVector$byval_copy>>2]=HEAP32[$7>>2]|0;HEAP32[$secondTouchVector$byval_copy+4>>2]=HEAP32[$7+4>>2]|0; - _InitPinchGesture($firstTouchVector$byval_copy,$secondTouchVector$byval_copy); - STACKTOP = sp;return; - } - $8 = $6; - $9 = $8; - $10 = HEAP32[$9>>2]|0; - $11 = (($8) + 4)|0; - $12 = $11; - $13 = HEAP32[$12>>2]|0; - $14 = 19200; - $15 = $14; - HEAP32[$15>>2] = $10; - $16 = (($14) + 4)|0; - $17 = $16; - HEAP32[$17>>2] = $13; - $18 = HEAP32[19208>>2]|0; - $19 = ($18|0)==(0); - if ($19) { - $$pr = HEAP32[19216>>2]|0; - $20 = ($$pr|0)==(0); - if ($20) { - HEAP32[19120>>2] = 2; - STACKTOP = sp;return; - } - } else { - HEAP32[19216>>2] = 1; - } - HEAP32[19120>>2] = 4; - STACKTOP = sp;return; - } else if ((($2|0) == 0)) { - HEAP32[19120>>2] = 1; - $21 = HEAP32[19216>>2]|0; - $22 = $21 ^ 1; - HEAP32[19208>>2] = $22; - HEAP32[19216>>2] = 0; - STACKTOP = sp;return; - } else if ((($2|0) == 2)) { - $23 = ((($event)) + 4|0); - $24 = HEAP32[$23>>2]|0; - $25 = ($24|0)>(1); - if ($25) { - $26 = ((($event)) + 24|0); - $27 = ((($event)) + 32|0); - ;HEAP32[$firstTouchVector$byval_copy>>2]=HEAP32[$26>>2]|0;HEAP32[$firstTouchVector$byval_copy+4>>2]=HEAP32[$26+4>>2]|0; - ;HEAP32[$secondTouchVector$byval_copy>>2]=HEAP32[$27>>2]|0;HEAP32[$secondTouchVector$byval_copy+4>>2]=HEAP32[$27+4>>2]|0; - _InitPinchGesture($firstTouchVector$byval_copy,$secondTouchVector$byval_copy); - STACKTOP = sp;return; - } else { - $28 = 19200; - $29 = $28; - $30 = HEAP32[$29>>2]|0; - $31 = (($28) + 4)|0; - $32 = $31; - $33 = HEAP32[$32>>2]|0; - $34 = 19224; - $35 = $34; - HEAP32[$35>>2] = $30; - $36 = (($34) + 4)|0; - $37 = $36; - HEAP32[$37>>2] = $33; - $38 = 19232; - $39 = $38; - HEAP32[$39>>2] = $30; - $40 = (($38) + 4)|0; - $41 = $40; - HEAP32[$41>>2] = $33; - HEAP32[19240>>2] = 0; - HEAP32[19192>>2] = 1; - HEAP32[19120>>2] = 1; - STACKTOP = sp;return; - } - } else { - STACKTOP = sp;return; - } - } else if ((($1|0) == 2)) { - $101 = HEAP32[$event>>2]|0; - if ((($101|0) == 2)) { - $116 = ((($event)) + 24|0); - $117 = $116; - $118 = $117; - $119 = HEAP32[$118>>2]|0; - $120 = (($117) + 4)|0; - $121 = $120; - $122 = HEAP32[$121>>2]|0; - $123 = 19264; - $124 = $123; - HEAP32[$124>>2] = $119; - $125 = (($123) + 4)|0; - $126 = $125; - HEAP32[$126>>2] = $122; - $127 = ((($event)) + 32|0); - $128 = $127; - $129 = $128; - $130 = HEAP32[$129>>2]|0; - $131 = (($128) + 4)|0; - $132 = $131; - $133 = HEAP32[$132>>2]|0; - $134 = 19272; - $135 = $134; - HEAP32[$135>>2] = $130; - $136 = (($134) + 4)|0; - $137 = $136; - HEAP32[$137>>2] = $133; - $138 = ((($event)) + 4|0); - $139 = HEAP32[$138>>2]|0; - $140 = ($139|0)==(2); - do { - if ($140) { - ;HEAP32[$firstTouchVector$byval_copy>>2]=HEAP32[19280>>2]|0;HEAP32[$firstTouchVector$byval_copy+4>>2]=HEAP32[19280+4>>2]|0; - ;HEAP32[$secondTouchVector$byval_copy>>2]=HEAP32[19288>>2]|0;HEAP32[$secondTouchVector$byval_copy+4>>2]=HEAP32[19288+4>>2]|0; - $141 = (+_VectorDistance387($firstTouchVector$byval_copy,$secondTouchVector$byval_copy)); - ;HEAP32[$firstTouchVector$byval_copy>>2]=HEAP32[19264>>2]|0;HEAP32[$firstTouchVector$byval_copy+4>>2]=HEAP32[19264+4>>2]|0; - ;HEAP32[$secondTouchVector$byval_copy>>2]=HEAP32[19272>>2]|0;HEAP32[$secondTouchVector$byval_copy+4>>2]=HEAP32[19272+4>>2]|0; - $142 = (+_VectorDistance387($firstTouchVector$byval_copy,$secondTouchVector$byval_copy)); - $143 = +HEAPF32[19264>>2]; - $144 = +HEAPF32[19280>>2]; - $145 = $143 - $144; - HEAPF32[$firstTouchVector>>2] = $145; - $146 = ((($firstTouchVector)) + 4|0); - $147 = +HEAPF32[(19268)>>2]; - $148 = +HEAPF32[(19284)>>2]; - $149 = $147 - $148; - HEAPF32[$146>>2] = $149; - $150 = +HEAPF32[19272>>2]; - $151 = +HEAPF32[19288>>2]; - $152 = $150 - $151; - HEAPF32[$secondTouchVector>>2] = $152; - $153 = ((($secondTouchVector)) + 4|0); - $154 = +HEAPF32[(19276)>>2]; - $155 = +HEAPF32[(19292)>>2]; - $156 = $154 - $155; - HEAPF32[$153>>2] = $156; - ;HEAP32[$firstTouchVector$byval_copy>>2]=HEAP32[$firstTouchVector>>2]|0;HEAP32[$firstTouchVector$byval_copy+4>>2]=HEAP32[$firstTouchVector+4>>2]|0; - ;HEAP32[$secondTouchVector$byval_copy>>2]=HEAP32[$secondTouchVector>>2]|0;HEAP32[$secondTouchVector$byval_copy+4>>2]=HEAP32[$secondTouchVector+4>>2]|0; - $157 = (+_VectorDotProduct388($firstTouchVector$byval_copy,$secondTouchVector$byval_copy)); - $158 = $157 < -0.5; - $159 = $141 - $142; - $storemerge = $158 ? $159 : 0.0; - HEAPF32[19152>>2] = $storemerge; - $160 = $storemerge != 0.0; - if ($160) { - $161 = $storemerge > 0.0; - if ($161) { - HEAP32[19120>>2] = 512; - break; - } else { - HEAP32[19120>>2] = 1024; - break; - } - } - } else { - $162 = $116; - $163 = $162; - $164 = HEAP32[$163>>2]|0; - $165 = (($162) + 4)|0; - $166 = $165; - $167 = HEAP32[$166>>2]|0; - $168 = 19200; - $169 = $168; - HEAP32[$169>>2] = $164; - $170 = (($168) + 4)|0; - $171 = $170; - HEAP32[$171>>2] = $167; - HEAP32[19192>>2] = 0; - } - } while(0); - $172 = 19264; - $173 = $172; - $174 = HEAP32[$173>>2]|0; - $175 = (($172) + 4)|0; - $176 = $175; - $177 = HEAP32[$176>>2]|0; - $178 = 19280; - $179 = $178; - HEAP32[$179>>2] = $174; - $180 = (($178) + 4)|0; - $181 = $180; - HEAP32[$181>>2] = $177; - $182 = 19272; - $183 = $182; - $184 = HEAP32[$183>>2]|0; - $185 = (($182) + 4)|0; - $186 = $185; - $187 = HEAP32[$186>>2]|0; - $188 = 19288; - $189 = $188; - HEAP32[$189>>2] = $184; - $190 = (($188) + 4)|0; - $191 = $190; - HEAP32[$191>>2] = $187; - STACKTOP = sp;return; - } else if ((($101|0) == 0)) { - $102 = ((($event)) + 4|0); - $103 = HEAP32[$102>>2]|0; - $104 = ($103|0)==(1); - if ($104) { - $105 = ((($event)) + 24|0); - $106 = $105; - $107 = $106; - $108 = HEAP32[$107>>2]|0; - $109 = (($106) + 4)|0; - $110 = $109; - $111 = HEAP32[$110>>2]|0; - $112 = 19200; - $113 = $112; - HEAP32[$113>>2] = $108; - $114 = (($112) + 4)|0; - $115 = $114; - HEAP32[$115>>2] = $111; - } - HEAP32[19192>>2] = 0; - STACKTOP = sp;return; - } else { - STACKTOP = sp;return; - } + $2 = sp + 48|0; + $3 = (_stb_vorbis_open_filename($1,0,0)|0); + $4 = ($3|0)==(0|0); + if ($4) { + HEAP32[$vararg_buffer>>2] = $1; + _TraceLog(1,18644,$vararg_buffer); + $$sroa$0$0 = 0;$$sroa$10$0 = 0;$$sroa$14$0 = 0;$$sroa$6$0 = 0; } else { - STACKTOP = sp;return; + _stb_vorbis_get_info($2,$3); + $5 = HEAP32[$2>>2]|0; + $6 = ((($2)) + 4|0); + $7 = HEAP32[$6>>2]|0; + $8 = (_stb_vorbis_stream_length_in_samples($3)|0); + $9 = (+_stb_vorbis_stream_length_in_seconds($3)); + $10 = $9 > 10.0; + if ($10) { + $11 = $9; + HEAP32[$vararg_buffer1>>2] = $1; + $vararg_ptr4 = ((($vararg_buffer1)) + 8|0); + HEAPF64[$vararg_ptr4>>3] = $11; + _TraceLog(1,18678,$vararg_buffer1); + } + $12 = Math_imul($8, $7)|0; + $13 = $12 << 1; + $14 = (_malloc($13)|0); + $15 = HEAP32[$6>>2]|0; + $16 = (_stb_vorbis_get_samples_short_interleaved($3,$15,$14,$12)|0); + HEAP32[$vararg_buffer5>>2] = $1; + $vararg_ptr8 = ((($vararg_buffer5)) + 4|0); + HEAP32[$vararg_ptr8>>2] = $16; + _TraceLog(3,18786,$vararg_buffer5); + $17 = ($7|0)==(1); + $18 = $17 ? 18812 : 18817; + HEAP32[$vararg_buffer9>>2] = $1; + $vararg_ptr12 = ((($vararg_buffer9)) + 4|0); + HEAP32[$vararg_ptr12>>2] = $5; + $vararg_ptr13 = ((($vararg_buffer9)) + 8|0); + HEAP32[$vararg_ptr13>>2] = 16; + $vararg_ptr14 = ((($vararg_buffer9)) + 12|0); + HEAP32[$vararg_ptr14>>2] = $18; + _TraceLog(0,18824,$vararg_buffer9); + _stb_vorbis_close($3); + $$sroa$0$0 = $8;$$sroa$10$0 = $7;$$sroa$14$0 = $14;$$sroa$6$0 = $5; } + HEAP32[$0>>2] = $$sroa$0$0; + $$sroa$6$0$$sroa_idx15 = ((($0)) + 4|0); + HEAP32[$$sroa$6$0$$sroa_idx15>>2] = $$sroa$6$0; + $$sroa$8$0$$sroa_idx17 = ((($0)) + 8|0); + HEAP32[$$sroa$8$0$$sroa_idx17>>2] = 16; + $$sroa$10$0$$sroa_idx19 = ((($0)) + 12|0); + HEAP32[$$sroa$10$0$$sroa_idx19>>2] = $$sroa$10$0; + $$sroa$14$0$$sroa_idx23 = ((($0)) + 16|0); + HEAP32[$$sroa$14$0$$sroa_idx23>>2] = $$sroa$14$0; + STACKTOP = sp;return; } -function _InitPinchGesture($posA,$posB) { - $posA = $posA|0; - $posB = $posB|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; +function _LoadWaveEx($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + var $$byval_copy = 0, $10 = 0, $11 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $$byval_copy = sp + 40|0; + $6 = sp + 20|0; + $7 = sp; + $8 = ((($6)) + 16|0); + HEAP32[$8>>2] = $1; + HEAP32[$6>>2] = $2; + $9 = ((($6)) + 4|0); + HEAP32[$9>>2] = $3; + $10 = ((($6)) + 8|0); + HEAP32[$10>>2] = $4; + $11 = ((($6)) + 12|0); + HEAP32[$11>>2] = $5; + ;HEAP32[$$byval_copy>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$6+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$6+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$6+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$6+16>>2]|0; + _WaveCopy($7,$$byval_copy); + _WaveFormat($7,$3,$4,$5); + ;HEAP32[$0>>2]=HEAP32[$7>>2]|0;HEAP32[$0+4>>2]=HEAP32[$7+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$7+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$7+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$7+16>>2]|0; + STACKTOP = sp;return; +} +function _WaveCopy($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$sroa$0$0 = 0, $$sroa$5$0 = 0, $$sroa$5$0$$sroa_idx2 = 0, $$sroa$6$0 = 0, $$sroa$6$0$$sroa_idx4 = 0, $$sroa$7$0 = 0, $$sroa$7$0$$sroa_idx6 = 0, $$sroa$8$0$$sroa_idx8 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0; + var $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - HEAPF32[19224>>2] = 0.0; - HEAPF32[(19228)>>2] = 0.0; - HEAPF32[19232>>2] = 0.0; - HEAPF32[(19236)>>2] = 0.0; - HEAPF32[19256>>2] = 0.0; - HEAPF32[(19260)>>2] = 0.0; - $0 = $posA; - $1 = $0; $2 = HEAP32[$1>>2]|0; - $3 = (($0) + 4)|0; - $4 = $3; - $5 = HEAP32[$4>>2]|0; - $6 = 19280; - $7 = $6; - HEAP32[$7>>2] = $2; - $8 = (($6) + 4)|0; - $9 = $8; - HEAP32[$9>>2] = $5; - $10 = $posB; - $11 = $10; - $12 = HEAP32[$11>>2]|0; - $13 = (($10) + 4)|0; - $14 = $13; - $15 = HEAP32[$14>>2]|0; - $16 = 19288; - $17 = $16; - HEAP32[$17>>2] = $12; - $18 = (($16) + 4)|0; - $19 = $18; - HEAP32[$19>>2] = $15; - $20 = 19264; - $21 = $20; - HEAP32[$21>>2] = $2; - $22 = (($20) + 4)|0; - $23 = $22; - HEAP32[$23>>2] = $5; - $24 = 19272; - $25 = $24; - HEAP32[$25>>2] = $12; - $26 = (($24) + 4)|0; - $27 = $26; - HEAP32[$27>>2] = $15; - HEAPF32[19248>>2] = 0.0; - HEAPF32[19136>>2] = 0.0; - HEAPF32[19128>>2] = 0.0; - HEAP32[19192>>2] = 2; + $3 = ((($1)) + 8|0); + $4 = HEAP32[$3>>2]|0; + $5 = Math_imul($4, $2)|0; + $6 = $5 >>> 3; + $7 = ((($1)) + 12|0); + $8 = HEAP32[$7>>2]|0; + $9 = Math_imul($6, $8)|0; + $10 = (_malloc($9)|0); + $11 = ($10|0)==(0|0); + if ($11) { + $$sroa$0$0 = 0;$$sroa$5$0 = 0;$$sroa$6$0 = 0;$$sroa$7$0 = 0; + } else { + $12 = ((($1)) + 16|0); + $13 = HEAP32[$12>>2]|0; + $14 = Math_imul($4, $2)|0; + $15 = Math_imul($14, $8)|0; + $16 = $15 >>> 3; + _memcpy(($10|0),($13|0),($16|0))|0; + $17 = HEAP32[$1>>2]|0; + $18 = ((($1)) + 4|0); + $19 = HEAP32[$18>>2]|0; + $20 = HEAP32[$3>>2]|0; + $21 = HEAP32[$7>>2]|0; + $$sroa$0$0 = $17;$$sroa$5$0 = $19;$$sroa$6$0 = $20;$$sroa$7$0 = $21; + } + HEAP32[$0>>2] = $$sroa$0$0; + $$sroa$5$0$$sroa_idx2 = ((($0)) + 4|0); + HEAP32[$$sroa$5$0$$sroa_idx2>>2] = $$sroa$5$0; + $$sroa$6$0$$sroa_idx4 = ((($0)) + 8|0); + HEAP32[$$sroa$6$0$$sroa_idx4>>2] = $$sroa$6$0; + $$sroa$7$0$$sroa_idx6 = ((($0)) + 12|0); + HEAP32[$$sroa$7$0$$sroa_idx6>>2] = $$sroa$7$0; + $$sroa$8$0$$sroa_idx8 = ((($0)) + 16|0); + HEAP32[$$sroa$8$0$$sroa_idx8>>2] = $10; return; } -function _CalculateAngle($initialPosition,$finalPosition,$magnitude) { - $initialPosition = $initialPosition|0; - $finalPosition = $finalPosition|0; - $magnitude = +$magnitude; - var $0 = 0, $1 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $2 = 0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0; - var $angle$0 = 0.0, label = 0, sp = 0; +function _WaveFormat($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$0153164 = 0, $$0154162 = 0, $$0155163 = 0, $$0156170 = 0, $$0157167 = 0, $$0165 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0; + var $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0; + var $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0; + var $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0; + var $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0.0, $171 = 0, $172 = 0, $173 = 0.0, $174 = 0.0, $175 = 0.0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $19 = 0, $20 = 0; + var $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0.0, $4 = 0; + var $40 = 0.0, $41 = 0.0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0.0, $49 = 0.0, $5 = 0, $50 = 0.0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0; + var $59 = 0, $6 = 0, $60 = 0, $61 = 0.0, $62 = 0.0, $63 = 0.0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0.0, $71 = 0.0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0; + var $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0.0, $83 = 0.0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0.0, $91 = 0.0, $92 = 0, $93 = 0, $94 = 0; + var $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond = 0, $or$cond = 0, $or$cond3 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = ((($finalPosition)) + 4|0); - $1 = +HEAPF32[$0>>2]; - $2 = ((($initialPosition)) + 4|0); - $3 = +HEAPF32[$2>>2]; - $4 = $1 - $3; - $5 = $4 / $magnitude; - $6 = $5; - $7 = (+Math_asin((+$6))); - $8 = $7; - $9 = $8; - $10 = $9 * 57.295779513082323; - $11 = $10; - $12 = +HEAPF32[$finalPosition>>2]; - $13 = +HEAPF32[$initialPosition>>2]; - $14 = $12 - $13; - $15 = !($14 >= 0.0); - if ($15) { - $19 = $11 + 180.0; - $angle$0 = $19; - return (+$angle$0); + $4 = ((($0)) + 4|0); + $5 = HEAP32[$4>>2]|0; + $6 = ($5|0)==($1|0); + if (!($6)) { + HEAP32[$4>>2] = $1; } - $16 = !($4 >= 0.0); - $17 = -$11; - if ($16) { - $angle$0 = $17; - return (+$angle$0); + $7 = ((($0)) + 8|0); + $8 = HEAP32[$7>>2]|0; + $9 = ($8|0)==($2|0); + if (!($9)) { + $10 = HEAP32[$0>>2]|0; + $11 = ((($0)) + 12|0); + $12 = HEAP32[$11>>2]|0; + $13 = Math_imul($10, $2)|0; + $14 = Math_imul($13, $12)|0; + $15 = $14 >>> 3; + $16 = (_malloc($15)|0); + $17 = HEAP32[$0>>2]|0; + $18 = ($17|0)==(0); + if (!($18)) { + $19 = ((($0)) + 16|0); + $20 = ((($0)) + 16|0); + $21 = ((($0)) + 16|0); + $22 = ((($0)) + 16|0); + $23 = ((($0)) + 16|0); + $24 = ((($0)) + 16|0); + $$0156170 = 0; + while(1) { + $25 = HEAP32[$11>>2]|0; + $26 = ($25|0)==(0); + L10: do { + if (!($26)) { + $$0157167 = 0;$35 = $25; + while(1) { + L13: do { + switch ($2|0) { + case 8: { + $32 = HEAP32[$7>>2]|0; + switch ($32|0) { + case 16: { + $33 = HEAP32[$19>>2]|0; + $34 = Math_imul($35, $$0156170)|0; + $36 = (($34) + ($$0157167))|0; + $37 = (($33) + ($36<<1)|0); + $38 = HEAP16[$37>>1]|0; + $39 = (+($38<<16>>16)); + $40 = $39 / 32767.0; + $41 = $40 * 256.0; + $42 = (~~(($41))&255); + $43 = (($16) + ($36)|0); + HEAP8[$43>>0] = $42; + break L13; + break; + } + case 32: { + $44 = HEAP32[$20>>2]|0; + $45 = Math_imul($35, $$0156170)|0; + $46 = (($45) + ($$0157167))|0; + $47 = (($44) + ($46<<2)|0); + $48 = +HEAPF32[$47>>2]; + $49 = $48 * 127.0; + $50 = $49 + 127.0; + $51 = (~~(($50))&255); + $52 = (($16) + ($46)|0); + HEAP8[$52>>0] = $51; + break L13; + break; + } + default: { + break L13; + } + } + break; + } + case 16: { + $53 = HEAP32[$7>>2]|0; + switch ($53|0) { + case 8: { + $54 = HEAP32[$21>>2]|0; + $55 = Math_imul($35, $$0156170)|0; + $56 = (($55) + ($$0157167))|0; + $57 = (($54) + ($56)|0); + $58 = HEAP8[$57>>0]|0; + $59 = $58&255; + $60 = (($59) + -127)|0; + $61 = (+($60|0)); + $62 = $61 * 0.00390625; + $63 = $62 * 32767.0; + $64 = (~~(($63))); + $65 = (($16) + ($56<<1)|0); + HEAP16[$65>>1] = $64; + break L13; + break; + } + case 32: { + $66 = HEAP32[$22>>2]|0; + $67 = Math_imul($35, $$0156170)|0; + $68 = (($67) + ($$0157167))|0; + $69 = (($66) + ($68<<2)|0); + $70 = +HEAPF32[$69>>2]; + $71 = $70 * 32767.0; + $72 = (~~(($71))); + $73 = (($16) + ($68<<1)|0); + HEAP16[$73>>1] = $72; + break L13; + break; + } + default: { + break L13; + } + } + break; + } + case 32: { + $74 = HEAP32[$7>>2]|0; + switch ($74|0) { + case 8: { + $75 = HEAP32[$23>>2]|0; + $76 = Math_imul($35, $$0156170)|0; + $77 = (($76) + ($$0157167))|0; + $78 = (($75) + ($77)|0); + $79 = HEAP8[$78>>0]|0; + $80 = $79&255; + $81 = (($80) + -127)|0; + $82 = (+($81|0)); + $83 = $82 * 0.00390625; + $84 = (($16) + ($77<<2)|0); + HEAPF32[$84>>2] = $83; + break L13; + break; + } + case 16: { + $85 = HEAP32[$24>>2]|0; + $86 = Math_imul($35, $$0156170)|0; + $87 = (($86) + ($$0157167))|0; + $88 = (($85) + ($87<<1)|0); + $89 = HEAP16[$88>>1]|0; + $90 = (+($89<<16>>16)); + $91 = $90 / 32767.0; + $92 = (($16) + ($87<<2)|0); + HEAPF32[$92>>2] = $91; + break L13; + break; + } + default: { + break L13; + } + } + break; + } + default: { + } + } + } while(0); + $93 = (($$0157167) + 1)|0; + $94 = HEAP32[$11>>2]|0; + $95 = ($93>>>0)<($94>>>0); + if ($95) { + $$0157167 = $93;$35 = $94; + } else { + break L10; + } + } + } + } while(0); + $29 = (($$0156170) + 1)|0; + $30 = HEAP32[$0>>2]|0; + $31 = ($29>>>0)<($30>>>0); + if ($31) { + $$0156170 = $29; + } else { + break; + } + } + } + HEAP32[$7>>2] = $2; + $27 = ((($0)) + 16|0); + $28 = HEAP32[$27>>2]|0; + _free($28); + HEAP32[$27>>2] = $16; } - $18 = 360.0 - $11; - $angle$0 = $18; - return (+$angle$0); -} -function _VectorDistance387($v1,$v2) { - $v1 = $v1|0; - $v2 = $v2|0; - var $0 = 0.0, $1 = 0.0, $10 = 0.0, $2 = 0.0, $3 = 0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, $sqrtf = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $0 = +HEAPF32[$v2>>2]; - $1 = +HEAPF32[$v1>>2]; - $2 = $0 - $1; - $3 = ((($v2)) + 4|0); - $4 = +HEAPF32[$3>>2]; - $5 = ((($v1)) + 4|0); - $6 = +HEAPF32[$5>>2]; - $7 = $4 - $6; - $8 = $2 * $2; - $9 = $7 * $7; - $10 = $8 + $9; - $sqrtf = (+Math_sqrt((+$10))); - return (+$sqrtf); -} -function _VectorDotProduct388($v1,$v2) { - $v1 = $v1|0; - $v2 = $v2|0; - var $0 = 0.0, $1 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $2 = 0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0.0, $sqrtf = 0.0; - var $sqrtf1 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $0 = +HEAPF32[$v1>>2]; - $1 = $0 * $0; - $2 = ((($v1)) + 4|0); - $3 = +HEAPF32[$2>>2]; - $4 = $3 * $3; - $5 = $1 + $4; - $sqrtf = (+Math_sqrt((+$5))); - $6 = +HEAPF32[$v2>>2]; - $7 = $6 * $6; - $8 = ((($v2)) + 4|0); - $9 = +HEAPF32[$8>>2]; - $10 = $9 * $9; - $11 = $7 + $10; - $sqrtf1 = (+Math_sqrt((+$11))); - $12 = $0 / $sqrtf; - $13 = $3 / $sqrtf; - $14 = $6 / $sqrtf1; - $15 = $9 / $sqrtf1; - $16 = $12 * $14; - $17 = $13 * $15; - $18 = $16 + $17; - return (+$18); -} -function _PixelIsMagenta($p) { - $p = $p|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP8[$p>>0]|0; - $1 = ($0<<24>>24)==(-1); - if ($1) { - $2 = ((($p)) + 1|0); - $3 = HEAP8[$2>>0]|0; - $4 = ($3<<24>>24)==(0); - if ($4) { - $5 = ((($p)) + 2|0); - $6 = HEAP8[$5>>0]|0; - $7 = ($6<<24>>24)==(-1); - if ($7) { - $8 = ((($p)) + 3|0); - $9 = HEAP8[$8>>0]|0; - $10 = ($9<<24>>24)==(-1); - $12 = $10; - } else { - $12 = 0; + $96 = ((($0)) + 12|0); + $97 = HEAP32[$96>>2]|0; + $98 = ($97|0)==($3|0); + if ($98) { + return; + } + $99 = HEAP32[$0>>2]|0; + $100 = HEAP32[$7>>2]|0; + $101 = Math_imul($100, $99)|0; + $102 = $101 >>> 3; + $103 = Math_imul($102, $3)|0; + $104 = (_malloc($103)|0); + $105 = HEAP32[$96>>2]|0; + $106 = ($105|0)==(1); + $107 = ($3|0)==(2); + $or$cond = $107 & $106; + L33: do { + if ($or$cond) { + $108 = HEAP32[$0>>2]|0; + $109 = ($108|0)==(0); + if (!($109)) { + $110 = ((($0)) + 16|0); + $111 = ((($0)) + 16|0); + $112 = ((($0)) + 16|0); + $$0155163 = 0; + while(1) { + $113 = Math_imul($$0155163, $3)|0; + $114 = Math_imul($$0155163, $3)|0; + $115 = Math_imul($$0155163, $3)|0; + $$0154162 = 0; + while(1) { + $119 = HEAP32[$7>>2]|0; + switch ($119|0) { + case 8: { + $120 = HEAP32[$110>>2]|0; + $121 = (($120) + ($$0155163)|0); + $122 = HEAP8[$121>>0]|0; + $123 = (($$0154162) + ($113))|0; + $124 = (($104) + ($123)|0); + HEAP8[$124>>0] = $122; + break; + } + case 16: { + $125 = HEAP32[$111>>2]|0; + $126 = (($125) + ($$0155163<<1)|0); + $127 = HEAP16[$126>>1]|0; + $128 = (($$0154162) + ($114))|0; + $129 = (($104) + ($128<<1)|0); + HEAP16[$129>>1] = $127; + break; + } + case 32: { + $130 = HEAP32[$112>>2]|0; + $131 = (($130) + ($$0155163<<2)|0); + $132 = HEAP32[$131>>2]|0; + $133 = (($$0154162) + ($115))|0; + $134 = (($104) + ($133<<2)|0); + HEAP32[$134>>2] = $132; + break; + } + default: { + } + } + $135 = (($$0154162) + 1)|0; + $exitcond = ($135|0)==($3|0); + if ($exitcond) { + break; + } else { + $$0154162 = $135; + } + } + $116 = (($$0155163) + 1)|0; + $117 = HEAP32[$0>>2]|0; + $118 = ($116>>>0)<($117>>>0); + if ($118) { + $$0155163 = $116; + } else { + break; + } + } } } else { - $12 = 0; + $136 = ($105|0)==(2); + $137 = ($3|0)==(1); + $or$cond3 = $137 & $136; + if ($or$cond3) { + $138 = HEAP32[$0>>2]|0; + $139 = ($138|0)==(0); + if (!($139)) { + $140 = ((($0)) + 16|0); + $141 = ((($0)) + 16|0); + $142 = ((($0)) + 16|0); + $$0153164 = 0;$$0165 = 0; + while(1) { + $143 = HEAP32[$7>>2]|0; + switch ($143|0) { + case 8: { + $144 = HEAP32[$140>>2]|0; + $145 = (($144) + ($$0165)|0); + $146 = HEAP8[$145>>0]|0; + $147 = $146&255; + $148 = $$0165 | 1; + $149 = (($144) + ($148)|0); + $150 = HEAP8[$149>>0]|0; + $151 = $150&255; + $152 = (($151) + ($147))|0; + $153 = $152 >>> 1; + $154 = $153&255; + $155 = (($104) + ($$0153164)|0); + HEAP8[$155>>0] = $154; + break; + } + case 16: { + $156 = HEAP32[$141>>2]|0; + $157 = (($156) + ($$0165<<1)|0); + $158 = HEAP16[$157>>1]|0; + $159 = $158 << 16 >> 16; + $160 = $$0165 | 1; + $161 = (($156) + ($160<<1)|0); + $162 = HEAP16[$161>>1]|0; + $163 = $162 << 16 >> 16; + $164 = (($163) + ($159))|0; + $165 = (($164|0) / 2)&-1; + $166 = $165&65535; + $167 = (($104) + ($$0153164<<1)|0); + HEAP16[$167>>1] = $166; + break; + } + case 32: { + $168 = HEAP32[$142>>2]|0; + $169 = (($168) + ($$0165<<2)|0); + $170 = +HEAPF32[$169>>2]; + $171 = $$0165 | 1; + $172 = (($168) + ($171<<2)|0); + $173 = +HEAPF32[$172>>2]; + $174 = $170 + $173; + $175 = $174 * 0.5; + $176 = (($104) + ($$0153164<<2)|0); + HEAPF32[$176>>2] = $175; + break; + } + default: { + } + } + $177 = (($$0153164) + 1)|0; + $178 = (($$0165) + 2)|0; + $179 = HEAP32[$0>>2]|0; + $180 = ($177>>>0)<($179>>>0); + if ($180) { + $$0153164 = $177;$$0165 = $178; + } else { + break L33; + } + } + } + } + } + } while(0); + HEAP32[$96>>2] = $3; + $181 = ((($0)) + 16|0); + $182 = HEAP32[$181>>2]|0; + _free($182); + HEAP32[$181>>2] = $104; + return; +} +function _stb_vorbis_open_filename($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$0 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = (_fopen($0,19381)|0); + $4 = ($3|0)==(0|0); + if ($4) { + $6 = ($1|0)==(0|0); + if ($6) { + $$0 = 0; + } else { + HEAP32[$1>>2] = 6; + $$0 = 0; } } else { - $12 = 0; + $5 = (_stb_vorbis_open_file($3,1,$1,$2)|0); + $$0 = $5; } - $11 = $12&1; - return ($11|0); -} -function _stbtt__edge_compare($p,$q) { - $p = $p|0; - $q = $q|0; - var $$ = 0, $$0 = 0, $0 = 0, $1 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($p)) + 4|0); - $1 = +HEAPF32[$0>>2]; - $2 = ((($q)) + 4|0); - $3 = +HEAPF32[$2>>2]; - $4 = $1 < $3; - $5 = $1 > $3; - $$ = $5&1; - $$0 = $4 ? -1 : $$; return ($$0|0); } -function _stbtt__rasterize_sorted_edges($result,$e,$n,$vsubsample,$off_x,$off_y) { - $result = $result|0; - $e = $e|0; - $n = $n|0; - $vsubsample = $vsubsample|0; - $off_x = $off_x|0; - $off_y = $off_y|0; - var $$025 = 0, $$1$lcssa = 0, $$117 = 0, $$2$lcssa = 0, $$212 = 0, $$lcssa = 0, $$lcssa58 = 0, $0 = 0, $1 = 0, $10 = 0.0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0; - var $11 = 0, $110 = 0, $111 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0.0, $22 = 0.0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0.0; - var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; - var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0.0, $59 = 0, $6 = 0, $60 = 0, $61 = 0.0, $62 = 0, $63 = 0; - var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0.0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0.0, $80 = 0, $81 = 0; - var $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0.0, $87 = 0, $88 = 0, $89 = 0, $9 = 0.0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $active$sroa$0 = 0; - var $changed$0 = 0, $changed$1 = 0, $j$023 = 0, $p$0 = 0, $s$015 = 0, $scanline$0 = 0, $scanline_data = 0, $step$0$ph11 = 0, $step$1 = 0, $y$024 = 0, $y$1$lcssa = 0, $y$116 = 0, label = 0, sp = 0; +function _stb_vorbis_get_info($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$sroa$4$0$$sroa_idx2 = 0, $$sroa$5$0$$sroa_idx4 = 0, $$sroa$6$0$$sroa_idx6 = 0, $$sroa$7$0$$sroa_idx8 = 0, $$sroa$8$0$$sroa_idx10 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 528|0; - $active$sroa$0 = sp; - $scanline_data = sp + 8|0; - HEAP32[$active$sroa$0>>2] = 0; - $0 = (255 / ($vsubsample|0))&-1; - $1 = HEAP32[$result>>2]|0; - $2 = ($1|0)>(512); - if ($2) { - $3 = (_malloc($1)|0); - $scanline$0 = $3; - } else { - $scanline$0 = $scanline_data; + $2 = ((($1)) + 4|0); + $3 = HEAP32[$2>>2]|0; + $4 = HEAP32[$1>>2]|0; + $5 = ((($1)) + 8|0); + $6 = HEAP32[$5>>2]|0; + $7 = ((($1)) + 16|0); + $8 = HEAP32[$7>>2]|0; + $9 = ((($1)) + 12|0); + $10 = HEAP32[$9>>2]|0; + $11 = ((($1)) + 116|0); + $12 = HEAP32[$11>>2]|0; + $13 = $12 >> 1; + HEAP32[$0>>2] = $4; + $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); + HEAP32[$$sroa$4$0$$sroa_idx2>>2] = $3; + $$sroa$5$0$$sroa_idx4 = ((($0)) + 8|0); + HEAP32[$$sroa$5$0$$sroa_idx4>>2] = $6; + $$sroa$6$0$$sroa_idx6 = ((($0)) + 12|0); + HEAP32[$$sroa$6$0$$sroa_idx6>>2] = $8; + $$sroa$7$0$$sroa_idx8 = ((($0)) + 16|0); + HEAP32[$$sroa$7$0$$sroa_idx8>>2] = $10; + $$sroa$8$0$$sroa_idx10 = ((($0)) + 20|0); + HEAP32[$$sroa$8$0$$sroa_idx10>>2] = $13; + return; +} +function _stb_vorbis_stream_length_in_samples($0) { + $0 = $0|0; + var $$ = 0, $$0 = 0, $$050 = 0, $$51 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; + var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; + var $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $1 = sp + 4|0; + $2 = sp; + $3 = sp + 8|0; + $4 = ((($0)) + 48|0); + $5 = HEAP8[$4>>0]|0; + $6 = ($5<<24>>24)==(0); + if (!($6)) { + _error($0,2); + $$0 = 0; + STACKTOP = sp;return ($$0|0); } - $4 = ((($result)) + 4|0); - $5 = HEAP32[$4>>2]|0; - $6 = (($5) + ($off_y))|0; - $7 = (+($6|0)); - $8 = (+($vsubsample|0)); - $9 = $8 * $7; - $10 = $9 + 1.0; - $11 = (((($e) + (($n*20)|0)|0)) + 4|0); - HEAPF32[$11>>2] = $10; - $12 = HEAP32[$4>>2]|0; - $13 = ($12|0)>(0); - L4: do { + $7 = ((($0)) + 796|0); + $8 = HEAP32[$7>>2]|0; + $9 = ($8|0)==(0); + if ($9) { + $10 = (_stb_vorbis_get_file_offset($0)|0); + $11 = ((($0)) + 44|0); + $12 = HEAP32[$11>>2]|0; + $13 = ($12>>>0)>(65535); + $14 = ((($0)) + 52|0); + $15 = HEAP32[$14>>2]|0; if ($13) { - $14 = Math_imul($off_y, $vsubsample)|0; - $15 = ($vsubsample|0)>(0); - $16 = ((($result)) + 12|0); - $17 = ((($result)) + 8|0); - $$025 = $e;$j$023 = 0;$y$024 = $14; - L6: while(1) { - $20 = HEAP32[$result>>2]|0; - _memset(($scanline$0|0),0,($20|0))|0; - if ($15) { - $$117 = $$025;$s$015 = 0;$y$116 = $y$024; - while(1) { - $21 = (+($y$116|0)); - $22 = $21 + 0.5; - $23 = HEAP32[$active$sroa$0>>2]|0; - $24 = ($23|0)==(0|0); - L11: do { - if ($24) { - $changed$0 = 0;$step$1 = $active$sroa$0; - } else { - $111 = $23;$step$0$ph11 = $active$sroa$0; - while(1) { - $26 = $111; - while(1) { - $25 = ((($26)) + 8|0); - $27 = +HEAPF32[$25>>2]; - $28 = !($27 <= $22); - if ($28) { - $$lcssa = $26; - break; - } - $29 = ((($26)) + 12|0); - $30 = HEAP32[$29>>2]|0; - HEAP32[$step$0$ph11>>2] = $30; - $31 = ((($26)) + 16|0); - $32 = HEAP32[$31>>2]|0; - $33 = ($32|0)==(0); - if ($33) { - break L6; - } - _free($26); - $34 = HEAP32[$step$0$ph11>>2]|0; - $35 = ($34|0)==(0|0); - if ($35) { - $changed$0 = 0;$step$1 = $active$sroa$0; - break L11; - } else { - $26 = $34; - } - } - $36 = ((($$lcssa)) + 4|0); - $37 = HEAP32[$36>>2]|0; - $38 = HEAP32[$$lcssa>>2]|0; - $39 = (($38) + ($37))|0; - HEAP32[$$lcssa>>2] = $39; - $40 = HEAP32[$step$0$ph11>>2]|0; - $41 = ((($40)) + 12|0); - $42 = HEAP32[$41>>2]|0; - $43 = ($42|0)==(0|0); - if ($43) { - $changed$0 = 0;$step$1 = $active$sroa$0; - break; - } else { - $111 = $42;$step$0$ph11 = $41; - } - } - } - } while(0); - while(1) { - $44 = HEAP32[$step$1>>2]|0; - $45 = ($44|0)==(0|0); - if (!($45)) { - $46 = ((($44)) + 12|0); - $47 = HEAP32[$46>>2]|0; - $48 = ($47|0)==(0|0); - if (!($48)) { - $49 = HEAP32[$44>>2]|0; - $50 = HEAP32[$47>>2]|0; - $51 = ($49|0)>($50|0); - if ($51) { - $52 = ((($47)) + 12|0); - $53 = HEAP32[$52>>2]|0; - HEAP32[$46>>2] = $53; - HEAP32[$52>>2] = $44; - HEAP32[$step$1>>2] = $47; - $changed$1 = 1; - } else { - $changed$1 = $changed$0; - } - $54 = HEAP32[$step$1>>2]|0; - $55 = ((($54)) + 12|0); - $changed$0 = $changed$1;$step$1 = $55; - continue; - } - } - $56 = ($changed$0|0)==(0); - if ($56) { - break; - } else { - $changed$0 = 0;$step$1 = $active$sroa$0; - } - } - $57 = ((($$117)) + 4|0); - $58 = +HEAPF32[$57>>2]; - $59 = !($58 <= $22); - if ($59) { - $$2$lcssa = $$117; - } else { - $$212 = $$117; - while(1) { - $60 = ((($$212)) + 12|0); - $61 = +HEAPF32[$60>>2]; - $62 = $61 > $22; - do { - if ($62) { - $63 = (_new_active($$212,$off_x,$22)|0); - $64 = HEAP32[$active$sroa$0>>2]|0; - $65 = $64; - $66 = ($64|0)==(0); - if ($66) { - $67 = $63; - HEAP32[$active$sroa$0>>2] = $67; - break; - } - $68 = HEAP32[$63>>2]|0; - $69 = HEAP32[$65>>2]|0; - $70 = ($68|0)<($69|0); - if ($70) { - $71 = ((($63)) + 12|0); - HEAP32[$71>>2] = $65; - $72 = $63; - HEAP32[$active$sroa$0>>2] = $72; - break; - } else { - $p$0 = $65; - } - while(1) { - $73 = ((($p$0)) + 12|0); - $74 = HEAP32[$73>>2]|0; - $75 = ($74|0)==(0|0); - if ($75) { - $$lcssa58 = $73; - label = 27; - break; - } - $77 = HEAP32[$74>>2]|0; - $78 = HEAP32[$63>>2]|0; - $79 = ($77|0)<($78|0); - $80 = HEAP32[$73>>2]|0; - if ($79) { - $p$0 = $80; - } else { - $82 = $80;$83 = $73; - break; - } - } - if ((label|0) == 27) { - label = 0; - $76 = HEAP32[$$lcssa58>>2]|0; - $82 = $76;$83 = $$lcssa58; - } - $81 = ((($63)) + 12|0); - HEAP32[$81>>2] = $82; - HEAP32[$83>>2] = $63; - } - } while(0); - $84 = ((($$212)) + 20|0); - $85 = ((($$212)) + 24|0); - $86 = +HEAPF32[$85>>2]; - $87 = !($86 <= $22); - if ($87) { - $$2$lcssa = $84; - break; - } else { - $$212 = $84; - } - } - } - $88 = HEAP32[$active$sroa$0>>2]|0; - $89 = ($88|0)==(0); - if (!($89)) { - $90 = $88; - $91 = HEAP32[$result>>2]|0; - _stbtt__fill_active_edges($scanline$0,$91,$90,$0); - } - $92 = (($y$116) + 1)|0; - $93 = (($s$015) + 1)|0; - $94 = ($93|0)<($vsubsample|0); - if ($94) { - $$117 = $$2$lcssa;$s$015 = $93;$y$116 = $92; - } else { - $$1$lcssa = $$2$lcssa;$y$1$lcssa = $92; - break; - } + $16 = (($12) + -65536)|0; + $17 = ($16>>>0)<($15>>>0); + if ($17) { + label = 6; + } else { + $$050 = $16; + } + } else { + label = 6; + } + if ((label|0) == 6) { + $$050 = $15; + } + _set_file_offset($0,$$050); + $18 = (_vorbis_find_page($0,$1,$2)|0); + $19 = ($18|0)==(0); + do { + if ($19) { + $20 = ((($0)) + 100|0); + HEAP32[$20>>2] = 36; + HEAP32[$7>>2] = -1; + } else { + while(1) { + $21 = (_stb_vorbis_get_file_offset($0)|0); + $22 = HEAP32[$2>>2]|0; + $23 = ($22|0)==(0); + if (!($23)) { + break; + } + $24 = HEAP32[$1>>2]|0; + _set_file_offset($0,$24); + $25 = (_vorbis_find_page($0,$1,$2)|0); + $26 = ($25|0)==(0); + if ($26) { + break; } - } else { - $$1$lcssa = $$025;$y$1$lcssa = $y$024; } - $95 = HEAP32[$16>>2]|0; - $96 = HEAP32[$17>>2]|0; - $97 = Math_imul($96, $j$023)|0; - $98 = (($95) + ($97)|0); - $99 = HEAP32[$result>>2]|0; - _memcpy(($98|0),($scanline$0|0),($99|0))|0; - $100 = (($j$023) + 1)|0; - $101 = HEAP32[$4>>2]|0; - $102 = ($100|0)<($101|0); - if ($102) { - $$025 = $$1$lcssa;$j$023 = $100;$y$024 = $y$1$lcssa; + _set_file_offset($0,$21); + (_getn($0,$3,6)|0); + $27 = (_get32($0)|0); + $28 = (_get32($0)|0); + $29 = $28 & $27; + $30 = ($29|0)==(-1); + if ($30) { + $31 = ((($0)) + 100|0); + HEAP32[$31>>2] = 36; + HEAP32[$7>>2] = -1; + break; } else { - break L4; + $32 = ($28|0)==(0); + $$ = $32 ? $27 : -2; + HEAP32[$7>>2] = $$; + $33 = ((($0)) + 68|0); + HEAP32[$33>>2] = $21; + $34 = HEAP32[$1>>2]|0; + $35 = ((($0)) + 72|0); + HEAP32[$35>>2] = $34; + $36 = ((($0)) + 76|0); + HEAP32[$36>>2] = $$; + break; } } - ___assert_fail((20288|0),(15032|0),1663,(20304|0)); + } while(0); + _set_file_offset($0,$10); + } + $37 = HEAP32[$7>>2]|0; + $38 = ($37|0)==(-1); + $$51 = $38 ? 0 : $37; + $$0 = $$51; + STACKTOP = sp;return ($$0|0); +} +function _stb_vorbis_stream_length_in_seconds($0) { + $0 = $0|0; + var $1 = 0, $2 = 0.0, $3 = 0, $4 = 0.0, $5 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (_stb_vorbis_stream_length_in_samples($0)|0); + $2 = (+($1>>>0)); + $3 = HEAP32[$0>>2]|0; + $4 = (+($3>>>0)); + $5 = $2 / $4; + return (+$5); +} +function _stb_vorbis_get_samples_short_interleaved($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$ = 0, $$041 = 0, $$042 = 0, $$1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; + var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $not$ = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $4 = sp; + $5 = (($3|0) / ($1|0))&-1; + $6 = ((($0)) + 4|0); + $7 = ((($0)) + 1508|0); + $8 = ((($0)) + 1504|0); + $9 = ((($0)) + 800|0); + $$041 = 0;$$042 = $2; + while(1) { + $10 = ($5|0)>($$041|0); + if (!($10)) { + $$1 = $$041; + label = 7; + break; + } + $11 = HEAP32[$7>>2]|0; + $12 = HEAP32[$8>>2]|0; + $13 = (($11) - ($12))|0; + $14 = (($13) + ($$041))|0; + $15 = ($14|0)<($5|0); + $16 = (($5) - ($$041))|0; + $$ = $15 ? $13 : $16; + $17 = ($$|0)==(0); + if (!($17)) { + $18 = HEAP32[$6>>2]|0; + _convert_channels_short_interleaved($1,$$042,$18,$9,$12,$$); + } + $19 = (($$) + ($$041))|0; + $20 = HEAP32[$8>>2]|0; + $21 = (($20) + ($$))|0; + HEAP32[$8>>2] = $21; + $22 = ($19|0)==($5|0); + if ($22) { + $$1 = $19; + label = 7; + break; + } + $23 = Math_imul($$, $1)|0; + $24 = (($$042) + ($23<<1)|0); + $25 = (_stb_vorbis_get_frame_float($0,0,$4)|0); + $not$ = ($25|0)==(0); + if ($not$) { + $$1 = $19; + label = 7; + break; + } else { + $$041 = $19;$$042 = $24; + } + } + if ((label|0) == 7) { + STACKTOP = sp;return ($$1|0); + } + return (0)|0; +} +function _stb_vorbis_close($0) { + $0 = $0|0; + var $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ($0|0)==(0|0); + if ($1) { + return; + } + _vorbis_deinit($0); + _setup_free($0,$0); + return; +} +function _vorbis_deinit($0) { + $0 = $0|0; + var $$0103 = 0, $$08399 = 0, $$195 = 0, $$293 = 0, $$392 = 0, $$lcssa = 0, $$lcssa89 = 0, $$lcssa90 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0; + var $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0; + var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0; + var $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0; + var $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0; + var $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0; + var $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 396|0); + $2 = HEAP32[$1>>2]|0; + $3 = ($2|0)==(0|0); + if (!($3)) { + $4 = ((($0)) + 264|0); + $5 = HEAP32[$4>>2]|0; + $6 = ($5|0)>(0); + if ($6) { + $7 = ((($0)) + 124|0); + $$0103 = 0; + while(1) { + $8 = HEAP32[$1>>2]|0; + $9 = (((($8) + (($$0103*24)|0)|0)) + 16|0); + $10 = HEAP32[$9>>2]|0; + $11 = ($10|0)==(0|0); + if (!($11)) { + $12 = HEAP32[$7>>2]|0; + $13 = (((($8) + (($$0103*24)|0)|0)) + 13|0); + $14 = HEAP8[$13>>0]|0; + $15 = $14&255; + $16 = (((($12) + (($15*2096)|0)|0)) + 4|0); + $17 = HEAP32[$16>>2]|0; + $18 = ($17|0)>(0); + $19 = HEAP32[$9>>2]|0; + if ($18) { + $$08399 = 0;$21 = $19; + while(1) { + $20 = (($21) + ($$08399<<2)|0); + $22 = HEAP32[$20>>2]|0; + _setup_free($0,$22); + $23 = (($$08399) + 1)|0; + $24 = HEAP32[$7>>2]|0; + $25 = HEAP8[$13>>0]|0; + $26 = $25&255; + $27 = (((($24) + (($26*2096)|0)|0)) + 4|0); + $28 = HEAP32[$27>>2]|0; + $29 = ($23|0)<($28|0); + $30 = HEAP32[$9>>2]|0; + if ($29) { + $$08399 = $23;$21 = $30; + } else { + $$lcssa90 = $30; + break; + } + } + } else { + $$lcssa90 = $19; + } + _setup_free($0,$$lcssa90); + } + $31 = (((($8) + (($$0103*24)|0)|0)) + 20|0); + $32 = HEAP32[$31>>2]|0; + _setup_free($0,$32); + $33 = (($$0103) + 1)|0; + $34 = HEAP32[$4>>2]|0; + $35 = ($33|0)<($34|0); + if ($35) { + $$0103 = $33; + } else { + break; + } + } + } + } + $36 = ((($0)) + 124|0); + $37 = HEAP32[$36>>2]|0; + $38 = ($37|0)==(0|0); + if (!($38)) { + $39 = ((($0)) + 120|0); + $40 = HEAP32[$39>>2]|0; + $41 = ($40|0)>(0); + $42 = HEAP32[$36>>2]|0; + if ($41) { + $$195 = 0;$44 = $42; + while(1) { + $43 = (((($44) + (($$195*2096)|0)|0)) + 8|0); + $45 = HEAP32[$43>>2]|0; + _setup_free($0,$45); + $46 = (((($44) + (($$195*2096)|0)|0)) + 28|0); + $47 = HEAP32[$46>>2]|0; + _setup_free($0,$47); + $48 = (((($44) + (($$195*2096)|0)|0)) + 32|0); + $49 = HEAP32[$48>>2]|0; + _setup_free($0,$49); + $50 = (((($44) + (($$195*2096)|0)|0)) + 2084|0); + $51 = HEAP32[$50>>2]|0; + _setup_free($0,$51); + $52 = (((($44) + (($$195*2096)|0)|0)) + 2088|0); + $53 = HEAP32[$52>>2]|0; + $54 = ($53|0)==(0|0); + $55 = ((($53)) + -4|0); + $56 = $54 ? 0 : $55; + _setup_free($0,$56); + $57 = (($$195) + 1)|0; + $58 = HEAP32[$39>>2]|0; + $59 = ($57|0)<($58|0); + $60 = HEAP32[$36>>2]|0; + if ($59) { + $$195 = $57;$44 = $60; + } else { + $$lcssa89 = $60; + break; + } + } + } else { + $$lcssa89 = $42; + } + _setup_free($0,$$lcssa89); + } + $61 = ((($0)) + 260|0); + $62 = HEAP32[$61>>2]|0; + _setup_free($0,$62); + $63 = HEAP32[$1>>2]|0; + _setup_free($0,$63); + $64 = ((($0)) + 404|0); + $65 = HEAP32[$64>>2]|0; + $66 = ($65|0)==(0|0); + if (!($66)) { + $67 = ((($0)) + 400|0); + $68 = HEAP32[$67>>2]|0; + $69 = ($68|0)>(0); + $70 = HEAP32[$64>>2]|0; + if ($69) { + $$293 = 0;$72 = $70; + while(1) { + $71 = (((($72) + (($$293*40)|0)|0)) + 4|0); + $73 = HEAP32[$71>>2]|0; + _setup_free($0,$73); + $74 = (($$293) + 1)|0; + $75 = HEAP32[$67>>2]|0; + $76 = ($74|0)<($75|0); + $77 = HEAP32[$64>>2]|0; + if ($76) { + $$293 = $74;$72 = $77; + } else { + $$lcssa = $77; + break; + } + } + } else { + $$lcssa = $70; + } + _setup_free($0,$$lcssa); + } + $78 = ((($0)) + 4|0); + $79 = HEAP32[$78>>2]|0; + $80 = ($79|0)>(0); + if ($80) { + $$392 = 0; + while(1) { + $81 = (((($0)) + 800|0) + ($$392<<2)|0); + $82 = HEAP32[$81>>2]|0; + _setup_free($0,$82); + $83 = (((($0)) + 928|0) + ($$392<<2)|0); + $84 = HEAP32[$83>>2]|0; + _setup_free($0,$84); + $85 = (((($0)) + 996|0) + ($$392<<2)|0); + $86 = HEAP32[$85>>2]|0; + _setup_free($0,$86); + $87 = (($$392) + 1)|0; + $88 = HEAP32[$78>>2]|0; + $89 = ($87|0)<($88|0); + $90 = ($87|0)<(16); + $91 = $90 & $89; + if ($91) { + $$392 = $87; + } else { + break; + } + } + } + $92 = ((($0)) + 1068|0); + $93 = HEAP32[$92>>2]|0; + _setup_free($0,$93); + $94 = ((($0)) + 1076|0); + $95 = HEAP32[$94>>2]|0; + _setup_free($0,$95); + $96 = ((($0)) + 1084|0); + $97 = HEAP32[$96>>2]|0; + _setup_free($0,$97); + $98 = ((($0)) + 1092|0); + $99 = HEAP32[$98>>2]|0; + _setup_free($0,$99); + $100 = ((($0)) + 1100|0); + $101 = HEAP32[$100>>2]|0; + _setup_free($0,$101); + $102 = ((($0)) + 1072|0); + $103 = HEAP32[$102>>2]|0; + _setup_free($0,$103); + $104 = ((($0)) + 1080|0); + $105 = HEAP32[$104>>2]|0; + _setup_free($0,$105); + $106 = ((($0)) + 1088|0); + $107 = HEAP32[$106>>2]|0; + _setup_free($0,$107); + $108 = ((($0)) + 1096|0); + $109 = HEAP32[$108>>2]|0; + _setup_free($0,$109); + $110 = ((($0)) + 1104|0); + $111 = HEAP32[$110>>2]|0; + _setup_free($0,$111); + $112 = ((($0)) + 28|0); + $113 = HEAP32[$112>>2]|0; + $114 = ($113|0)==(0); + if ($114) { + return; + } + $115 = ((($0)) + 20|0); + $116 = HEAP32[$115>>2]|0; + (_fclose($116)|0); + return; +} +function _setup_free($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($0)) + 80|0); + $3 = HEAP32[$2>>2]|0; + $4 = ($3|0)==(0|0); + if (!($4)) { + return; + } + _free($1); + return; +} +function _convert_channels_short_interleaved($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + var $$0 = 0, $$04866 = 0, $$04956 = 0, $$05265 = 0, $$1$lcssa = 0, $$150$lcssa = 0, $$15057 = 0, $$158 = 0, $$2$lcssa = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0; + var $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0.0, $27 = 0.0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, $exitcond = 0, $or$cond = 0, $or$cond3 = 0, $scevgep = 0, $smax = 0, $smax71 = 0, label = 0, sp = 0; + sp = STACKTOP; + $6 = ($0|0)!=($2|0); + $7 = ($0|0)<(3); + $or$cond = $7 & $6; + $8 = ($2|0)<(7); + $or$cond3 = $8 & $or$cond; + if ($or$cond3) { + $9 = ($0|0)==(2); + if ($9) { + $$04956 = 0; + } else { + ___assert_fail((19293|0),(18880|0),4759,(19304|0)); // unreachable; } - } while(0); - $18 = HEAP32[$active$sroa$0>>2]|0; - $19 = ($18|0)==(0); - if (!($19)) { - $103 = $18; while(1) { - $104 = $103; - $105 = ((($104)) + 12|0); - $106 = HEAP32[$105>>2]|0; - HEAP32[$active$sroa$0>>2] = $106; - $107 = $103; - _free($107); - $108 = HEAP32[$active$sroa$0>>2]|0; - $109 = ($108|0)==(0); - if ($109) { - break; + _compute_stereo_samples($1,$2,$3,$4,$5); + $10 = (($$04956) + 1)|0; + $11 = ($10|0)<($0|0); + if ($11) { + $$04956 = $10; } else { - $103 = $108; + break; } } - } - $110 = ($scanline$0|0)==($scanline_data|0); - if ($110) { - STACKTOP = sp;return; - } - _free($scanline$0); - STACKTOP = sp;return; -} -function _new_active($e,$off_x,$start_point) { - $e = $e|0; - $off_x = $off_x|0; - $start_point = +$start_point; - var $0 = 0, $1 = 0, $10 = 0.0, $11 = 0, $12 = 0, $13 = 0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0, $18 = 0.0, $19 = 0, $2 = 0.0, $20 = 0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0.0, $26 = 0.0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0.0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, $floorf = 0.0, $floorf1 = 0.0; - var $floorf2 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_malloc(20)|0); - $1 = ((($e)) + 8|0); - $2 = +HEAPF32[$1>>2]; - $3 = +HEAPF32[$e>>2]; - $4 = $2 - $3; - $5 = ((($e)) + 12|0); - $6 = +HEAPF32[$5>>2]; - $7 = ((($e)) + 4|0); - $8 = +HEAPF32[$7>>2]; - $9 = $6 - $8; - $10 = $4 / $9; - $11 = !($8 <= $start_point); - if ($11) { - ___assert_fail((20336|0),(15032|0),1574,(20360|0)); - // unreachable; - } - $12 = ($0|0)==(0|0); - if ($12) { - return ($0|0); - } - $13 = $10 < 0.0; - if ($13) { - $14 = $10 * -1024.0; - $floorf2 = (+Math_floor((+$14))); - $15 = (~~(($floorf2))); - $16 = (0 - ($15))|0; - $17 = ((($0)) + 4|0); - HEAP32[$17>>2] = $16; - } else { - $18 = $10 * 1024.0; - $floorf = (+Math_floor((+$18))); - $19 = (~~(($floorf))); - $20 = ((($0)) + 4|0); - HEAP32[$20>>2] = $19; - } - $21 = +HEAPF32[$e>>2]; - $22 = +HEAPF32[$7>>2]; - $23 = $start_point - $22; - $24 = $10 * $23; - $25 = $21 + $24; - $26 = $25 * 1024.0; - $floorf1 = (+Math_floor((+$26))); - $27 = (~~(($floorf1))); - $28 = $off_x << 10; - $29 = (($27) - ($28))|0; - HEAP32[$0>>2] = $29; - $30 = HEAP32[$5>>2]|0; - $31 = ((($0)) + 8|0); - HEAP32[$31>>2] = $30; - $32 = ((($0)) + 12|0); - HEAP32[$32>>2] = 0; - $33 = ((($e)) + 16|0); - $34 = HEAP32[$33>>2]|0; - $35 = ($34|0)!=(0); - $36 = $35 ? 1 : -1; - $37 = ((($0)) + 16|0); - HEAP32[$37>>2] = $36; - return ($0|0); -} -function _stbtt__fill_active_edges($scanline,$len,$e,$max_weight) { - $scanline = $scanline|0; - $len = $len|0; - $e = $e|0; - $max_weight = $max_weight|0; - var $$06 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; - var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $i$0 = 0, $i$1 = 0, $i$12 = 0, $i$13 = 0, $j$0 = 0, $or$cond = 0, $w$05 = 0, $x0$04 = 0, $x0$1 = 0, label = 0; - var sp = 0; - sp = STACKTOP; - $0 = ($e|0)==(0|0); - if ($0) { return; - } else { - $$06 = $e;$w$05 = 0;$x0$04 = 0; } + $12 = ($0|0)<($2|0); + $13 = $12 ? $0 : $2; + $14 = ($5|0)>(0); + if (!($14)) { + return; + } + $15 = ($13|0)>(0); + $16 = ($13|0)>(0); + $smax = $16 ? $13 : 0; + $17 = (($0) - ($smax))|0; + $18 = ($13|0)>(0); + $smax71 = $18 ? $13 : 0; + $19 = (($0) - ($smax71))|0; + $20 = $19 << 1; + $$04866 = $1;$$05265 = 0; while(1) { - $1 = ($w$05|0)==(0); - $2 = HEAP32[$$06>>2]|0; - $3 = ((($$06)) + 16|0); - $4 = HEAP32[$3>>2]|0; - $5 = (($4) + ($w$05))|0; - do { - if ($1) { - $x0$1 = $2; - } else { - $6 = ($5|0)==(0); - if ($6) { - $7 = $x0$04 >> 10; - $8 = $2 >> 10; - $9 = ($7|0)<($len|0); - $10 = ($8|0)>(-1); - $or$cond = $9 & $10; - if ($or$cond) { - $11 = ($7|0)==($8|0); - if ($11) { - $12 = (($scanline) + ($7)|0); - $13 = HEAP8[$12>>0]|0; - $14 = $13&255; - $15 = (($2) - ($x0$04))|0; - $16 = Math_imul($15, $max_weight)|0; - $17 = $16 >>> 10; - $18 = (($14) + ($17))|0; - $19 = $18&255; - HEAP8[$12>>0] = $19; - $x0$1 = $x0$04; - break; - } - $20 = ($7|0)>(-1); - if ($20) { - $21 = (($scanline) + ($7)|0); - $22 = HEAP8[$21>>0]|0; - $23 = $22&255; - $24 = $x0$04 & 1023; - $25 = (1024 - ($24))|0; - $26 = Math_imul($25, $max_weight)|0; - $27 = $26 >>> 10; - $28 = (($23) + ($27))|0; - $29 = $28&255; - HEAP8[$21>>0] = $29; - $i$0 = $7; - } else { - $i$0 = -1; - } - $30 = ($8|0)<($len|0); - if ($30) { - $31 = (($scanline) + ($8)|0); - $32 = HEAP8[$31>>0]|0; - $33 = $32&255; - $34 = $2 & 1023; - $35 = Math_imul($34, $max_weight)|0; - $36 = $35 >>> 10; - $37 = (($33) + ($36))|0; - $38 = $37&255; - HEAP8[$31>>0] = $38; - $j$0 = $8; - } else { - $j$0 = $len; - } - $i$12 = (($i$0) + 1)|0; - $39 = ($i$12|0)<($j$0|0); - if ($39) { - $i$13 = $i$12; - while(1) { - $40 = (($scanline) + ($i$13)|0); - $41 = HEAP8[$40>>0]|0; - $42 = $41&255; - $43 = (($42) + ($max_weight))|0; - $44 = $43&255; - HEAP8[$40>>0] = $44; - $i$1 = (($i$13) + 1)|0; - $exitcond = ($i$1|0)==($j$0|0); - if ($exitcond) { - $x0$1 = $x0$04; - break; - } else { - $i$13 = $i$1; - } - } - } else { - $x0$1 = $x0$04; - } - } else { - $x0$1 = $x0$04; - } + if ($15) { + $21 = (($$05265) + ($4))|0; + $$15057 = 0;$$158 = $$04866; + while(1) { + $23 = (($3) + ($$15057<<2)|0); + $24 = HEAP32[$23>>2]|0; + $25 = (($24) + ($21<<2)|0); + $26 = +HEAPF32[$25>>2]; + $27 = $26 + 384.0; + $28 = (HEAPF32[tempDoublePtr>>2]=$27,HEAP32[tempDoublePtr>>2]|0); + $29 = (($28) + -1136623616)|0; + $30 = ($29>>>0)>(65535); + $31 = ($28|0)<(1136656384); + $32 = $31 ? 32768 : 32767; + $$0 = $30 ? $32 : $28; + $33 = $$0&65535; + $34 = ((($$158)) + 2|0); + HEAP16[$$158>>1] = $33; + $35 = (($$15057) + 1)|0; + $36 = ($35|0)<($13|0); + if ($36) { + $$15057 = $35;$$158 = $34; } else { - $x0$1 = $x0$04; + $$1$lcssa = $34;$$150$lcssa = $13; + break; } } - } while(0); - $45 = ((($$06)) + 12|0); - $46 = HEAP32[$45>>2]|0; - $47 = ($46|0)==(0|0); - if ($47) { + } else { + $$1$lcssa = $$04866;$$150$lcssa = 0; + } + $22 = ($$150$lcssa|0)<($0|0); + if ($22) { + _memset(($$1$lcssa|0),0,($20|0))|0; + $scevgep = (($$1$lcssa) + ($17<<1)|0); + $$2$lcssa = $scevgep; + } else { + $$2$lcssa = $$1$lcssa; + } + $37 = (($$05265) + 1)|0; + $exitcond = ($37|0)==($5|0); + if ($exitcond) { break; } else { - $$06 = $46;$w$05 = $5;$x0$04 = $x0$1; + $$04866 = $$2$lcssa;$$05265 = $37; } } return; } -function _stbtt__add_point($points,$n,$x,$y) { - $points = $points|0; - $n = $n|0; - $x = +$x; - $y = +$y; - var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0; +function _stb_vorbis_get_frame_float($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$020 = 0, $$022 = 0, $$lcssa = 0, $$lcssa21 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; + var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = ($points|0)==(0|0); - if ($0) { - return; - } - $1 = (($points) + ($n<<3)|0); - HEAPF32[$1>>2] = $x; - $2 = (((($points) + ($n<<3)|0)) + 4|0); - HEAPF32[$2>>2] = $y; - return; -} -function _stbtt__tesselate_curve($points,$num_points,$x0,$y0,$x1,$y1,$x2,$y2,$objspace_flatness_squared,$n) { - $points = $points|0; - $num_points = $num_points|0; - $x0 = +$x0; - $y0 = +$y0; - $x1 = +$x1; - $y1 = +$y1; - $x2 = +$x2; - $y2 = +$y2; - $objspace_flatness_squared = +$objspace_flatness_squared; - $n = $n|0; - var $0 = 0.0, $1 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $2 = 0.0, $20 = 0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0, $26 = 0.0; - var $27 = 0.0, $28 = 0.0, $29 = 0.0, $3 = 0.0, $30 = 0.0, $31 = 0.0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0.0, $36 = 0.0, $37 = 0.0, $38 = 0.0, $39 = 0.0, $4 = 0.0, $40 = 0.0, $41 = 0.0, $42 = 0.0, $43 = 0.0, $44 = 0.0; - var $45 = 0.0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0.0, $n$tr5 = 0, $x0$tr1 = 0.0, $x0$tr1$phi = 0.0, $x1$tr3 = 0.0, $y0$tr2 = 0.0, $y0$tr2$phi = 0.0, $y1$tr4 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $0 = $x1 * 2.0; - $1 = $0 + $x0; - $2 = $1 + $x2; - $3 = $2 * 0.25; - $4 = $y1 * 2.0; - $5 = $4 + $y0; - $6 = $5 + $y2; - $7 = $6 * 0.25; - $8 = ($n|0)>(16); - if ($8) { - return; - } - $9 = $y2 + $y0; - $10 = $9 * 0.5; - $11 = $10 - $7; - $12 = $x2 + $x0; - $13 = $12 * 0.5; - $14 = $13 - $3; - $16 = $14;$18 = $11;$26 = $3;$27 = $7;$n$tr5 = $n;$x0$tr1 = $x0;$x1$tr3 = $x1;$y0$tr2 = $y0;$y1$tr4 = $y1; - while(1) { - $15 = $16 * $16; - $17 = $18 * $18; - $19 = $15 + $17; - $20 = $19 > $objspace_flatness_squared; - if (!($20)) { - break; - } - $21 = $x0$tr1 + $x1$tr3; - $22 = $21 * 0.5; - $23 = $y0$tr2 + $y1$tr4; - $24 = $23 * 0.5; - $25 = (($n$tr5) + 1)|0; - _stbtt__tesselate_curve($points,$num_points,$x0$tr1,$y0$tr2,$22,$24,$26,$27,$objspace_flatness_squared,$25); - $28 = $x1$tr3 + $x2; - $29 = $28 * 0.5; - $30 = $y1$tr4 + $y2; - $31 = $30 * 0.5; - $32 = $29 * 2.0; - $33 = $26 + $32; - $34 = $33 + $x2; - $35 = $34 * 0.25; - $36 = $31 * 2.0; - $37 = $27 + $36; - $38 = $37 + $y2; - $39 = $38 * 0.25; - $40 = $26 + $x2; - $41 = $40 * 0.5; - $42 = $41 - $35; - $43 = $27 + $y2; - $44 = $43 * 0.5; - $45 = $44 - $39; - $46 = ($n$tr5|0)>(15); - if ($46) { - label = 6; - break; - } else { - $y0$tr2$phi = $27;$x0$tr1$phi = $26;$16 = $42;$18 = $45;$26 = $35;$27 = $39;$n$tr5 = $25;$x1$tr3 = $29;$y1$tr4 = $31;$y0$tr2 = $y0$tr2$phi;$x0$tr1 = $x0$tr1$phi; - } - } - if ((label|0) == 6) { - return; - } - $47 = HEAP32[$num_points>>2]|0; - _stbtt__add_point($points,$47,$x2,$y2); - $48 = HEAP32[$num_points>>2]|0; - $49 = (($48) + 1)|0; - HEAP32[$num_points>>2] = $49; - return; -} -function _stbrp__skyline_find_best_pos($agg$result,$c,$width,$height) { - $agg$result = $agg$result|0; - $c = $c|0; - $width = $width|0; - $height = $height|0; - var $$best_y$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; - var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0; - var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0; - var $80 = 0, $81 = 0, $9 = 0, $best$0$lcssa35 = 0, $best$026 = 0, $best$1 = 0, $best$1$lcssa = 0, $best$215 = 0, $best$3 = 0, $best$4 = 0, $best_waste$0$lcssa34 = 0, $best_waste$027 = 0, $best_waste$1 = 0, $best_waste$1$lcssa = 0, $best_waste$217 = 0, $best_waste$3 = 0, $best_x$016 = 0, $best_x$1 = 0, $best_x$2 = 0, $best_y$0$lcssa36 = 0; - var $best_y$024 = 0, $best_y$1 = 0, $best_y$1$lcssa = 0, $best_y$211 = 0, $best_y$3 = 0, $best_y$4 = 0, $node$0 = 0, $node$023 = 0, $node$028 = 0, $node$113 = 0, $node$2 = 0, $node$2$lcssa = 0, $or$cond = 0, $or$cond2 = 0, $or$cond3 = 0, $prev$0$best$0 = 0, $prev$025 = 0, $prev$112 = 0, $prev$2 = 0, $prev$2$lcssa = 0; - var $tail$0$lcssa = 0, $tail$020 = 0, $tail$114 = 0, $waste = 0, $waste2 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $waste = sp + 4|0; - $waste2 = sp; - $0 = ((($c)) + 8|0); - $1 = HEAP32[$0>>2]|0; - $2 = (($width) + -1)|0; - $3 = (($2) + ($1))|0; - $4 = (($3|0) % ($1|0))&-1; - $5 = (($3) - ($4))|0; - $6 = (($5|0) % ($1|0))&-1; - $7 = ($6|0)==(0); - if (!($7)) { - ___assert_fail((20376|0),(14880|0),325,(20400|0)); - // unreachable; - } - $8 = ((($c)) + 24|0); - $node$023 = HEAP32[$8>>2]|0; - $9 = HEAP16[$node$023>>1]|0; - $10 = $9&65535; - $11 = (($10) + ($5))|0; - $12 = HEAP32[$c>>2]|0; - $13 = ($11|0)>($12|0); - if ($13) { - $81 = 0;$best$0$lcssa35 = 0;$best_waste$0$lcssa34 = 1073741824;$best_y$0$lcssa36 = 1073741824; - } else { - $14 = ((($c)) + 16|0); - $15 = ((($c)) + 4|0); - $16 = $10;$best$026 = 0;$best_waste$027 = 1073741824;$best_y$024 = 1073741824;$node$028 = $node$023;$prev$025 = $8; - while(1) { - $17 = (_stbrp__skyline_find_min_y($node$028,$16,$5,$waste)|0); - $18 = HEAP32[$14>>2]|0; - $19 = ($18|0)==(0); - do { - if ($19) { - $20 = ($17|0)<($best_y$024|0); - $$best_y$0 = $20 ? $17 : $best_y$024; - $prev$0$best$0 = $20 ? $prev$025 : $best$026; - $best$1 = $prev$0$best$0;$best_waste$1 = $best_waste$027;$best_y$1 = $$best_y$0; - } else { - $21 = (($17) + ($height))|0; - $22 = HEAP32[$15>>2]|0; - $23 = ($21|0)>($22|0); - if ($23) { - $best$1 = $best$026;$best_waste$1 = $best_waste$027;$best_y$1 = $best_y$024; - } else { - $24 = ($17|0)<($best_y$024|0); - if (!($24)) { - $25 = ($17|0)==($best_y$024|0); - $26 = HEAP32[$waste>>2]|0; - $27 = ($26|0)<($best_waste$027|0); - $or$cond = $25 & $27; - if (!($or$cond)) { - $best$1 = $best$026;$best_waste$1 = $best_waste$027;$best_y$1 = $best_y$024; - break; - } - } - $28 = HEAP32[$waste>>2]|0; - $best$1 = $prev$025;$best_waste$1 = $28;$best_y$1 = $17; - } - } - } while(0); - $29 = ((($node$028)) + 4|0); - $node$0 = HEAP32[$29>>2]|0; - $30 = HEAP16[$node$0>>1]|0; - $31 = $30&65535; - $32 = (($31) + ($5))|0; - $33 = HEAP32[$c>>2]|0; - $34 = ($32|0)>($33|0); - if ($34) { - $best$1$lcssa = $best$1;$best_waste$1$lcssa = $best_waste$1;$best_y$1$lcssa = $best_y$1; - break; - } else { - $16 = $31;$best$026 = $best$1;$best_waste$027 = $best_waste$1;$best_y$024 = $best_y$1;$node$028 = $node$0;$prev$025 = $29; - } - } - $35 = ($best$1$lcssa|0)==(0|0); - if ($35) { - $81 = 0;$best$0$lcssa35 = 0;$best_waste$0$lcssa34 = $best_waste$1$lcssa;$best_y$0$lcssa36 = $best_y$1$lcssa; - } else { - $36 = HEAP32[$best$1$lcssa>>2]|0; - $37 = HEAP16[$36>>1]|0; - $38 = $37&65535; - $81 = $38;$best$0$lcssa35 = $best$1$lcssa;$best_waste$0$lcssa34 = $best_waste$1$lcssa;$best_y$0$lcssa36 = $best_y$1$lcssa; - } - } - $39 = ((($c)) + 16|0); - $40 = HEAP32[$39>>2]|0; - $41 = ($40|0)==(1); - if (!($41)) { - $best$4 = $best$0$lcssa35;$best_x$2 = $81;$best_y$4 = $best_y$0$lcssa36; - HEAP32[$agg$result>>2] = $best_x$2; - $79 = ((($agg$result)) + 4|0); - HEAP32[$79>>2] = $best_y$4; - $80 = ((($agg$result)) + 8|0); - HEAP32[$80>>2] = $best$4; - STACKTOP = sp;return; - } - $42 = HEAP32[$8>>2]|0; - $43 = HEAP16[$42>>1]|0; - $44 = $43&65535; - $45 = ($44|0)<($5|0); - if ($45) { - $tail$020 = $42; - while(1) { - $48 = ((($tail$020)) + 4|0); - $49 = HEAP32[$48>>2]|0; - $50 = HEAP16[$49>>1]|0; - $51 = $50&65535; - $52 = ($51|0)<($5|0); - if ($52) { - $tail$020 = $49; - } else { - $tail$0$lcssa = $49; - break; - } - } - } else { - $tail$0$lcssa = $42; - } - $46 = ($tail$0$lcssa|0)==(0|0); - if ($46) { - $best$4 = $best$0$lcssa35;$best_x$2 = $81;$best_y$4 = $best_y$0$lcssa36; - HEAP32[$agg$result>>2] = $best_x$2; - $79 = ((($agg$result)) + 4|0); - HEAP32[$79>>2] = $best_y$4; - $80 = ((($agg$result)) + 8|0); - HEAP32[$80>>2] = $best$4; - STACKTOP = sp;return; - } - $47 = ((($c)) + 4|0); - $best$215 = $best$0$lcssa35;$best_waste$217 = $best_waste$0$lcssa34;$best_x$016 = $81;$best_y$211 = $best_y$0$lcssa36;$node$113 = $42;$prev$112 = $8;$tail$114 = $tail$0$lcssa; - while(1) { - $53 = HEAP16[$tail$114>>1]|0; - $54 = $53&65535; - $55 = (($54) - ($5))|0; - $56 = ($55|0)>(-1); - if ($56) { - $node$2 = $node$113;$prev$2 = $prev$112; - } else { - label = 20; - break; - } - while(1) { - $57 = ((($node$2)) + 4|0); - $58 = HEAP32[$57>>2]|0; - $59 = HEAP16[$58>>1]|0; - $60 = $59&65535; - $61 = ($60|0)>($55|0); - if ($61) { - $node$2$lcssa = $node$2;$prev$2$lcssa = $prev$2; - break; - } else { - $node$2 = $58;$prev$2 = $57; - } - } - $62 = HEAP16[$node$2$lcssa>>1]|0; - $63 = $62&65535; - $64 = ($63|0)>($55|0); - if ($64) { - label = 23; - break; - } - $65 = (_stbrp__skyline_find_min_y($node$2$lcssa,$55,$5,$waste2)|0); - $66 = (($65) + ($height))|0; - $67 = HEAP32[$47>>2]|0; - $68 = ($66|0)<($67|0); - $69 = ($65|0)<=($best_y$211|0); - $or$cond3 = $69 & $68; - do { - if ($or$cond3) { - $70 = ($65|0)<($best_y$211|0); - if (!($70)) { - $71 = HEAP32[$waste2>>2]|0; - $72 = ($71|0)<($best_waste$217|0); - if (!($72)) { - $73 = ($71|0)==($best_waste$217|0); - $74 = ($55|0)<($best_x$016|0); - $or$cond2 = $74 & $73; - if (!($or$cond2)) { - $best$3 = $best$215;$best_waste$3 = $best_waste$217;$best_x$1 = $best_x$016;$best_y$3 = $best_y$211; - break; - } - } - } - $75 = HEAP32[$waste2>>2]|0; - $best$3 = $prev$2$lcssa;$best_waste$3 = $75;$best_x$1 = $55;$best_y$3 = $65; - } else { - $best$3 = $best$215;$best_waste$3 = $best_waste$217;$best_x$1 = $best_x$016;$best_y$3 = $best_y$211; - } - } while(0); - $76 = ((($tail$114)) + 4|0); - $77 = HEAP32[$76>>2]|0; - $78 = ($77|0)==(0|0); - if ($78) { - $best$4 = $best$3;$best_x$2 = $best_x$1;$best_y$4 = $best_y$3; - label = 30; - break; - } else { - $best$215 = $best$3;$best_waste$217 = $best_waste$3;$best_x$016 = $best_x$1;$best_y$211 = $best_y$3;$node$113 = $node$2$lcssa;$prev$112 = $prev$2$lcssa;$tail$114 = $77; - } - } - if ((label|0) == 20) { - ___assert_fail((20432|0),(14880|0),382,(20400|0)); - // unreachable; - } - else if ((label|0) == 23) { - ___assert_fail((20448|0),(14880|0),388,(20400|0)); - // unreachable; - } - else if ((label|0) == 30) { - HEAP32[$agg$result>>2] = $best_x$2; - $79 = ((($agg$result)) + 4|0); - HEAP32[$79>>2] = $best_y$4; - $80 = ((($agg$result)) + 8|0); - HEAP32[$80>>2] = $best$4; - STACKTOP = sp;return; - } -} -function _stbrp__skyline_find_min_y($first,$x0,$width,$pwaste) { - $first = $first|0; - $x0 = $x0|0; - $width = $width|0; - $pwaste = $pwaste|0; - var $$ = 0, $$pn = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; - var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0; - var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $min_y$0$lcssa = 0, $min_y$02 = 0, $min_y$1 = 0, $node$01 = 0, $visited_width$03 = 0, $visited_width$1 = 0, $waste_area$0$lcssa = 0, $waste_area$04 = 0, $waste_area$1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (($width) + ($x0))|0; - $1 = HEAP16[$first>>1]|0; - $2 = $1&65535; - $3 = ($2|0)>($x0|0); - if ($3) { - ___assert_fail((20488|0),(14880|0),268,(20504|0)); - // unreachable; - } - $4 = ((($first)) + 4|0); - $5 = HEAP32[$4>>2]|0; - $6 = HEAP16[$5>>1]|0; - $7 = $6&65535; - $8 = ($7|0)>($x0|0); + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + $6 = ((($0)) + 48|0); + $7 = HEAP8[$6>>0]|0; + $8 = ($7<<24>>24)==(0); if (!($8)) { - ___assert_fail((20536|0),(14880|0),275,(20504|0)); - // unreachable; + _error($0,2); + $$020 = 0; + STACKTOP = sp;return ($$020|0); } - $9 = HEAP16[$first>>1]|0; - $10 = $9&65535; - $11 = ($10|0)<($0|0); - if ($11) { - $19 = $10;$min_y$02 = 0;$node$01 = $first;$visited_width$03 = 0;$waste_area$04 = 0; - } else { - $min_y$0$lcssa = 0;$waste_area$0$lcssa = 0; - HEAP32[$pwaste>>2] = $waste_area$0$lcssa; - return ($min_y$0$lcssa|0); + $9 = (_vorbis_decode_packet($0,$3,$5,$4)|0); + $10 = ($9|0)==(0); + if ($10) { + $11 = ((($0)) + 1508|0); + HEAP32[$11>>2] = 0; + $12 = ((($0)) + 1504|0); + HEAP32[$12>>2] = 0; + $$020 = 0; + STACKTOP = sp;return ($$020|0); } - while(1) { - $12 = ((($node$01)) + 2|0); - $13 = HEAP16[$12>>1]|0; - $14 = $13&65535; - $15 = ($14|0)>($min_y$02|0); - do { - if ($15) { - $16 = (($14) - ($min_y$02))|0; - $17 = Math_imul($16, $visited_width$03)|0; - $18 = (($17) + ($waste_area$04))|0; - $20 = ($19|0)<($x0|0); - $21 = ((($node$01)) + 4|0); - $22 = HEAP32[$21>>2]|0; - $23 = HEAP16[$22>>1]|0; - $24 = $23&65535; - if ($20) { - $25 = (($24) - ($x0))|0; - $$pn = $25;$min_y$1 = $14;$waste_area$1 = $18; - break; - } else { - $26 = (($24) - ($19))|0; - $$pn = $26;$min_y$1 = $14;$waste_area$1 = $18; - break; - } + $13 = HEAP32[$3>>2]|0; + $14 = HEAP32[$5>>2]|0; + $15 = HEAP32[$4>>2]|0; + $16 = (_vorbis_finish_frame($0,$13,$14,$15)|0); + HEAP32[$3>>2] = $16; + $17 = ((($0)) + 4|0); + $18 = HEAP32[$17>>2]|0; + $19 = ($18|0)>(0); + $20 = HEAP32[$5>>2]|0; + if ($19) { + $21 = HEAP32[$5>>2]|0; + $$022 = 0;$25 = $20; + while(1) { + $22 = (((($0)) + 800|0) + ($$022<<2)|0); + $23 = HEAP32[$22>>2]|0; + $24 = (($23) + ($25<<2)|0); + $26 = (((($0)) + 864|0) + ($$022<<2)|0); + HEAP32[$26>>2] = $24; + $27 = (($$022) + 1)|0; + $28 = HEAP32[$17>>2]|0; + $29 = ($27|0)<($28|0); + if ($29) { + $$022 = $27;$25 = $21; } else { - $27 = ((($node$01)) + 4|0); - $28 = HEAP32[$27>>2]|0; - $29 = HEAP16[$28>>1]|0; - $30 = $29&65535; - $31 = (($30) - ($19))|0; - $32 = (($31) + ($visited_width$03))|0; - $33 = ($32|0)>($width|0); - $34 = (($width) - ($visited_width$03))|0; - $$ = $33 ? $34 : $31; - $35 = (($min_y$02) - ($14))|0; - $36 = Math_imul($$, $35)|0; - $37 = (($36) + ($waste_area$04))|0; - $$pn = $$;$min_y$1 = $min_y$02;$waste_area$1 = $37; + $$lcssa = $21;$$lcssa21 = $28; + break; } - } while(0); - $visited_width$1 = (($$pn) + ($visited_width$03))|0; - $38 = ((($node$01)) + 4|0); - $39 = HEAP32[$38>>2]|0; - $40 = HEAP16[$39>>1]|0; - $41 = $40&65535; - $42 = ($41|0)<($0|0); - if ($42) { - $19 = $41;$min_y$02 = $min_y$1;$node$01 = $39;$visited_width$03 = $visited_width$1;$waste_area$04 = $waste_area$1; - } else { - $min_y$0$lcssa = $min_y$1;$waste_area$0$lcssa = $waste_area$1; - break; - } - } - HEAP32[$pwaste>>2] = $waste_area$0$lcssa; - return ($min_y$0$lcssa|0); -} -function _compute_stereo_samples($output,$num_c,$data,$d_offset,$len) { - $output = $output|0; - $num_c = $num_c|0; - $data = $data|0; - $d_offset = $d_offset|0; - $len = $len|0; - var $$n$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0.0, $41 = 0, $42 = 0, $43 = 0.0; - var $44 = 0.0, $45 = 0, $46 = 0.0, $47 = 0, $48 = 0, $49 = 0.0, $5 = 0, $50 = 0.0, $51 = 0, $52 = 0, $53 = 0, $54 = 0.0, $55 = 0, $56 = 0, $57 = 0.0, $58 = 0.0, $59 = 0, $6 = 0, $60 = 0, $61 = 0; - var $62 = 0.0, $63 = 0, $64 = 0, $65 = 0, $66 = 0.0, $67 = 0.0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0.0, $72 = 0.0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0; - var $80 = 0, $81 = 0, $82 = 0, $83 = 0, $9 = 0, $buffer = 0, $exitcond = 0, $exitcond23 = 0, $exitcond27 = 0, $exitcond28 = 0, $exitcond34 = 0, $i$09 = 0, $i$17 = 0, $i$26 = 0, $i$313 = 0, $indvars$iv$next30 = 0, $indvars$iv$next32 = 0, $indvars$iv29 = 0, $indvars$iv31 = 0, $j$011 = 0; - var $n$015 = 0, $o$016 = 0, $smax = 0, $smax22 = 0, $smax26 = 0, $smax33 = 0, $v$0 = 0, dest = 0, label = 0, sp = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 128|0; - $buffer = sp; - $0 = ($len|0)>(0); - if (!($0)) { - STACKTOP = sp;return; - } - $1 = ($num_c|0)>(0); - $2 = $len ^ -1; - $indvars$iv29 = -2;$indvars$iv31 = -1;$n$015 = 16;$o$016 = 0; - while(1) { - $3 = $o$016 << 1; - dest=$buffer; stop=dest+128|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - $4 = (($o$016) + ($n$015))|0; - $5 = ($4|0)>($len|0); - $6 = (($len) - ($o$016))|0; - $$n$0 = $5 ? $6 : $n$015; - if ($1) { - $7 = ($$n$0|0)>(0); - $8 = (($o$016) + ($d_offset))|0; - $9 = ($$n$0|0)>(0); - $10 = (($o$016) + ($d_offset))|0; - $11 = ($$n$0|0)>(0); - $12 = (($o$016) + ($d_offset))|0; - $13 = (($indvars$iv31) - ($n$015))|0; - $14 = ($13|0)>($2|0); - $smax = $14 ? $13 : $2; - $15 = (($indvars$iv31) - ($smax))|0; - $16 = (($indvars$iv31) - ($n$015))|0; - $17 = ($16|0)>($2|0); - $smax22 = $17 ? $16 : $2; - $18 = (($indvars$iv31) - ($smax22))|0; - $19 = (($indvars$iv31) - ($n$015))|0; - $20 = ($19|0)>($2|0); - $smax26 = $20 ? $19 : $2; - $21 = (($indvars$iv31) - ($smax26))|0; - $j$011 = 0; - while(1) { - $28 = ((20632 + (($num_c*6)|0)|0) + ($j$011)|0); - $29 = HEAP8[$28>>0]|0; - $30 = $29&255; - $31 = $30 & 6; - if ((($31|0) == 6)) { - if ($7) { - $36 = (($data) + ($j$011<<2)|0); - $37 = HEAP32[$36>>2]|0; - $i$09 = 0; - while(1) { - $38 = (($8) + ($i$09))|0; - $39 = (($37) + ($38<<2)|0); - $40 = +HEAPF32[$39>>2]; - $41 = $i$09 << 1; - $42 = (($buffer) + ($41<<2)|0); - $43 = +HEAPF32[$42>>2]; - $44 = $40 + $43; - HEAPF32[$42>>2] = $44; - $45 = (($37) + ($38<<2)|0); - $46 = +HEAPF32[$45>>2]; - $47 = $41 | 1; - $48 = (($buffer) + ($47<<2)|0); - $49 = +HEAPF32[$48>>2]; - $50 = $46 + $49; - HEAPF32[$48>>2] = $50; - $51 = (($i$09) + 1)|0; - $exitcond27 = ($51|0)==($21|0); - if ($exitcond27) { - break; - } else { - $i$09 = $51; - } - } - } - } else if ((($31|0) == 2)) { - if ($9) { - $34 = (($data) + ($j$011<<2)|0); - $35 = HEAP32[$34>>2]|0; - $i$17 = 0; - while(1) { - $52 = (($10) + ($i$17))|0; - $53 = (($35) + ($52<<2)|0); - $54 = +HEAPF32[$53>>2]; - $55 = $i$17 << 1; - $56 = (($buffer) + ($55<<2)|0); - $57 = +HEAPF32[$56>>2]; - $58 = $54 + $57; - HEAPF32[$56>>2] = $58; - $59 = (($i$17) + 1)|0; - $exitcond23 = ($59|0)==($18|0); - if ($exitcond23) { - break; - } else { - $i$17 = $59; - } - } - } - } else if ((($31|0) == 4)) { - if ($11) { - $32 = (($data) + ($j$011<<2)|0); - $33 = HEAP32[$32>>2]|0; - $i$26 = 0; - while(1) { - $60 = (($12) + ($i$26))|0; - $61 = (($33) + ($60<<2)|0); - $62 = +HEAPF32[$61>>2]; - $63 = $i$26 << 1; - $64 = $63 | 1; - $65 = (($buffer) + ($64<<2)|0); - $66 = +HEAPF32[$65>>2]; - $67 = $62 + $66; - HEAPF32[$65>>2] = $67; - $68 = (($i$26) + 1)|0; - $exitcond = ($68|0)==($15|0); - if ($exitcond) { - break; - } else { - $i$26 = $68; - } - } - } - } - $69 = (($j$011) + 1)|0; - $exitcond28 = ($69|0)==($num_c|0); - if ($exitcond28) { - break; - } else { - $j$011 = $69; - } - } - } - $22 = $$n$0 << 1; - $23 = ($22|0)>(0); - if ($23) { - $24 = (($indvars$iv31) - ($n$015))|0; - $25 = ($24|0)>($2|0); - $smax33 = $25 ? $24 : $2; - $26 = $smax33 << 1; - $27 = (($indvars$iv29) - ($26))|0; - $i$313 = 0; - while(1) { - $70 = (($buffer) + ($i$313<<2)|0); - $71 = +HEAPF32[$70>>2]; - $72 = $71 + 384.0; - $73 = (HEAPF32[tempDoublePtr>>2]=$72,HEAP32[tempDoublePtr>>2]|0); - $74 = (($73) + -1136623616)|0; - $75 = ($74>>>0)>(65535); - $76 = ($73|0)<(1136656384); - $77 = $76 ? 32768 : 32767; - $v$0 = $75 ? $77 : $73; - $78 = $v$0&65535; - $79 = (($i$313) + ($3))|0; - $80 = (($output) + ($79<<1)|0); - HEAP16[$80>>1] = $78; - $81 = (($i$313) + 1)|0; - $exitcond34 = ($81|0)==($27|0); - if ($exitcond34) { - break; - } else { - $i$313 = $81; - } - } - } - $82 = (($o$016) + 16)|0; - $83 = ($82|0)<($len|0); - $indvars$iv$next32 = (($indvars$iv31) + -16)|0; - $indvars$iv$next30 = (($indvars$iv29) + -32)|0; - if ($83) { - $indvars$iv29 = $indvars$iv$next30;$indvars$iv31 = $indvars$iv$next32;$n$015 = $$n$0;$o$016 = $82; - } else { - break; - } - } - STACKTOP = sp;return; -} -function _get8($z) { - $z = $z|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($z)) + 32|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)==(0|0); - if ($2) { - $9 = ((($z)) + 20|0); - $10 = HEAP32[$9>>2]|0; - $11 = (_fgetc(($10|0))|0); - $12 = ($11|0)==(-1); - if ($12) { - $13 = ((($z)) + 112|0); - HEAP32[$13>>2] = 1; - $$0 = 0; - return ($$0|0); - } else { - $14 = $11&255; - $$0 = $14; - return ($$0|0); } } else { - $3 = ((($z)) + 40|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($1>>>0)<($4>>>0); - if ($5) { - $7 = ((($1)) + 1|0); - HEAP32[$0>>2] = $7; - $8 = HEAP8[$1>>0]|0; - $$0 = $8; - return ($$0|0); - } else { - $6 = ((($z)) + 112|0); - HEAP32[$6>>2] = 1; - $$0 = 0; - return ($$0|0); - } + $$lcssa = $20;$$lcssa21 = $18; } - return (0)|0; + $30 = ((($0)) + 1504|0); + HEAP32[$30>>2] = $$lcssa; + $31 = HEAP32[$3>>2]|0; + $32 = (($31) + ($$lcssa))|0; + $33 = ((($0)) + 1508|0); + HEAP32[$33>>2] = $32; + $34 = ($1|0)==(0|0); + if (!($34)) { + HEAP32[$1>>2] = $$lcssa21; + } + $35 = ($2|0)==(0|0); + if ($35) { + $$020 = $31; + STACKTOP = sp;return ($$020|0); + } + $36 = ((($0)) + 864|0); + HEAP32[$2>>2] = $36; + $$020 = $31; + STACKTOP = sp;return ($$020|0); } -function _crc32_update($crc,$byte) { - $crc = $crc|0; - $byte = $byte|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; +function _error($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = $crc << 8; - $1 = $byte&255; - $2 = $crc >>> 24; - $3 = $1 ^ $2; - $4 = (20688 + ($3<<2)|0); - $5 = HEAP32[$4>>2]|0; - $6 = $5 ^ $0; - return ($6|0); -} -function _ilog($n) { - $n = $n|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ($n|0)<(16384); - if ($0) { - $1 = ($n|0)<(16); - if ($1) { - $2 = (21712 + ($n)|0); - $3 = HEAP8[$2>>0]|0; - $4 = $3 << 24 >> 24; - $$0 = $4; - return ($$0|0); - } - $5 = ($n|0)<(512); - if ($5) { - $6 = $n >> 5; - $7 = (21712 + ($6)|0); - $8 = HEAP8[$7>>0]|0; - $9 = $8 << 24 >> 24; - $10 = (($9) + 5)|0; - $$0 = $10; - return ($$0|0); - } else { - $11 = $n >> 10; - $12 = (21712 + ($11)|0); - $13 = HEAP8[$12>>0]|0; - $14 = $13 << 24 >> 24; - $15 = (($14) + 10)|0; - $$0 = $15; - return ($$0|0); - } - } - $16 = ($n|0)<(16777216); - if (!($16)) { - $28 = ($n|0)<(536870912); - if (!($28)) { - $$0 = 0; - return ($$0|0); - } - $29 = $n >> 25; - $30 = (21712 + ($29)|0); - $31 = HEAP8[$30>>0]|0; - $32 = $31 << 24 >> 24; - $33 = (($32) + 25)|0; - $$0 = $33; - return ($$0|0); - } - $17 = ($n|0)<(524288); - if ($17) { - $18 = $n >> 15; - $19 = (21712 + ($18)|0); - $20 = HEAP8[$19>>0]|0; - $21 = $20 << 24 >> 24; - $22 = (($21) + 15)|0; - $$0 = $22; - return ($$0|0); - } else { - $23 = $n >> 20; - $24 = (21712 + ($23)|0); - $25 = HEAP8[$24>>0]|0; - $26 = $25 << 24 >> 24; - $27 = (($26) + 20)|0; - $$0 = $27; - return ($$0|0); - } - return (0)|0; -} -function _skip($z,$n) { - $z = $z|0; - $n = $n|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($z)) + 32|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)==(0|0); - if ($2) { - $8 = ((($z)) + 20|0); - $9 = HEAP32[$8>>2]|0; - $10 = (_ftell(($9|0))|0); - $11 = HEAP32[$8>>2]|0; - $12 = (($10) + ($n))|0; - (_fseek(($11|0),($12|0),0)|0); - return; - } - $3 = (($1) + ($n)|0); - HEAP32[$0>>2] = $3; - $4 = ((($z)) + 40|0); - $5 = HEAP32[$4>>2]|0; - $6 = ($3>>>0)<($5>>>0); - if ($6) { - return; - } - $7 = ((($z)) + 112|0); - HEAP32[$7>>2] = 1; + $2 = ((($0)) + 100|0); + HEAP32[$2>>2] = $1; return; } -function _vorbis_decode_initial($f,$p_left_start,$p_left_end,$p_right_start,$p_right_end,$mode) { - $f = $f|0; - $p_left_start = $p_left_start|0; - $p_left_end = $p_left_end|0; - $p_right_start = $p_right_start|0; - $p_right_end = $p_right_end|0; - $mode = $mode|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; - var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0; - var $7 = 0, $8 = 0, $9 = 0, $n$0 = 0, $next$0 = 0, $or$cond = 0, $or$cond3 = 0, $phitmp = 0, $prev$0 = 0, $storemerge = 0, $storemerge4 = 0, label = 0, sp = 0; +function _vorbis_decode_packet($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = ((($f)) + 1524|0); - HEAP32[$0>>2] = 0; - $1 = ((($f)) + 1520|0); - HEAP32[$1>>2] = 0; - $2 = ((($f)) + 112|0); - $3 = HEAP32[$2>>2]|0; - $4 = ($3|0)==(0); - if (!($4)) { + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $4 = sp + 8|0; + $5 = sp + 4|0; + $6 = sp; + $7 = (_vorbis_decode_initial($0,$2,$5,$3,$6,$4)|0); + $8 = ($7|0)==(0); + if ($8) { + $$0 = 0; + STACKTOP = sp;return ($$0|0); + } + $9 = HEAP32[$4>>2]|0; + $10 = (((($0)) + 412|0) + (($9*6)|0)|0); + $11 = HEAP32[$2>>2]|0; + $12 = HEAP32[$3>>2]|0; + $13 = HEAP32[$6>>2]|0; + $14 = (_vorbis_decode_packet_rest($0,$1,$10,$11,$12,$13,$2)|0); + $$0 = $14; + STACKTOP = sp;return ($$0|0); +} +function _vorbis_finish_frame($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$ = 0, $$0 = 0, $$06775 = 0, $$06878 = 0, $$06972 = 0, $$07073 = 0, $$pr = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0.0, $21 = 0, $22 = 0.0; + var $23 = 0.0, $24 = 0, $25 = 0.0, $26 = 0, $27 = 0, $28 = 0.0, $29 = 0.0, $30 = 0.0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; + var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0; + var $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond79 = 0, label = 0, sp = 0; + sp = STACKTOP; + $4 = ((($0)) + 992|0); + $5 = HEAP32[$4>>2]|0; + $6 = ($5|0)==(0); + if ($6) { + $54 = 0; + } else { + $7 = (_get_window($0,$5)|0); + $8 = ((($0)) + 4|0); + $9 = HEAP32[$8>>2]|0; + $10 = ($9|0)>(0); + if ($10) { + $11 = ($5|0)>(0); + $12 = HEAP32[$8>>2]|0; + $13 = (($5) + -1)|0; + $$06878 = 0; + while(1) { + if ($11) { + $14 = (((($0)) + 800|0) + ($$06878<<2)|0); + $15 = HEAP32[$14>>2]|0; + $16 = (((($0)) + 928|0) + ($$06878<<2)|0); + $17 = HEAP32[$16>>2]|0; + $$06775 = 0; + while(1) { + $18 = (($$06775) + ($2))|0; + $19 = (($15) + ($18<<2)|0); + $20 = +HEAPF32[$19>>2]; + $21 = (($7) + ($$06775<<2)|0); + $22 = +HEAPF32[$21>>2]; + $23 = $20 * $22; + $24 = (($17) + ($$06775<<2)|0); + $25 = +HEAPF32[$24>>2]; + $26 = (($13) - ($$06775))|0; + $27 = (($7) + ($26<<2)|0); + $28 = +HEAPF32[$27>>2]; + $29 = $25 * $28; + $30 = $23 + $29; + HEAPF32[$19>>2] = $30; + $31 = (($$06775) + 1)|0; + $exitcond79 = ($31|0)==($5|0); + if ($exitcond79) { + break; + } else { + $$06775 = $31; + } + } + } + $32 = (($$06878) + 1)|0; + $33 = ($32|0)<($12|0); + if ($33) { + $$06878 = $32; + } else { + break; + } + } + } + $$pr = HEAP32[$4>>2]|0; + $54 = $$pr; + } + $34 = (($1) - ($3))|0; + HEAP32[$4>>2] = $34; + $35 = ((($0)) + 4|0); + $36 = HEAP32[$35>>2]|0; + $37 = ($36|0)>(0); + if ($37) { + $38 = ($1|0)>($3|0); + $39 = HEAP32[$35>>2]|0; + $40 = (($1) - ($3))|0; + $$07073 = 0; + while(1) { + if ($38) { + $41 = (((($0)) + 800|0) + ($$07073<<2)|0); + $42 = HEAP32[$41>>2]|0; + $43 = (((($0)) + 928|0) + ($$07073<<2)|0); + $44 = HEAP32[$43>>2]|0; + $$06972 = 0;$46 = $3; + while(1) { + $45 = (($42) + ($46<<2)|0); + $47 = HEAP32[$45>>2]|0; + $48 = (($44) + ($$06972<<2)|0); + HEAP32[$48>>2] = $47; + $49 = (($$06972) + 1)|0; + $50 = (($49) + ($3))|0; + $exitcond = ($49|0)==($40|0); + if ($exitcond) { + break; + } else { + $$06972 = $49;$46 = $50; + } + } + } + $51 = (($$07073) + 1)|0; + $52 = ($51|0)<($39|0); + if ($52) { + $$07073 = $51; + } else { + break; + } + } + } + $53 = ($54|0)==(0); + $55 = ($1|0)<($3|0); + $$ = $55 ? $1 : $3; + $56 = (($$) - ($2))|0; + $57 = ((($0)) + 1416|0); + if ($53) { $$0 = 0; return ($$0|0); } - $5 = ((($f)) + 48|0); + $58 = HEAP32[$57>>2]|0; + $59 = (($58) + ($56))|0; + HEAP32[$57>>2] = $59; + $$0 = $56; + return ($$0|0); +} +function _get_window($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $$sink = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = $1 << 1; + $3 = ((($0)) + 112|0); + $4 = HEAP32[$3>>2]|0; + $5 = ($2|0)==($4|0); + if ($5) { + $$sink = 0; + } else { + $6 = ((($0)) + 116|0); + $7 = HEAP32[$6>>2]|0; + $8 = ($2|0)==($7|0); + if ($8) { + $$sink = 1; + } else { + ___assert_fail((18878|0),(18880|0),2658,(18902|0)); + // unreachable; + } + } + $9 = (((($0)) + 1092|0) + ($$sink<<2)|0); + $$0 = HEAP32[$9>>2]|0; + return ($$0|0); +} +function _vorbis_decode_initial($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + var $$0 = 0, $$062 = 0, $$063 = 0, $$064 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; + var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; + var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0; + var $65 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond3 = 0, $phitmp = 0, $storemerge = 0, $storemerge65 = 0, label = 0, sp = 0; + sp = STACKTOP; + $6 = ((($0)) + 1508|0); + HEAP32[$6>>2] = 0; + $7 = ((($0)) + 1504|0); + HEAP32[$7>>2] = 0; + $8 = ((($0)) + 96|0); + $9 = HEAP32[$8>>2]|0; + $10 = ($9|0)==(0); + if (!($10)) { + $$0 = 0; + return ($$0|0); + } + $11 = ((($0)) + 48|0); while(1) { - $8 = (_maybe_start_packet($f)|0); - $9 = ($8|0)==(0); - if ($9) { + $14 = (_maybe_start_packet($0)|0); + $15 = ($14|0)==(0); + if ($15) { $$0 = 0; label = 24; break; } - $10 = (_get_bits($f,1)|0); - $11 = ($10|0)==(0); - if ($11) { + $16 = (_get_bits($0,1)|0); + $17 = ($16|0)==(0); + if ($17) { label = 9; break; } - $12 = HEAP8[$5>>0]|0; - $13 = ($12<<24>>24)==(0); - if (!($13)) { + $18 = HEAP8[$11>>0]|0; + $19 = ($18<<24>>24)==(0); + if (!($19)) { label = 7; break; } while(1) { - $14 = (_get8_packet($f)|0); - $15 = ($14|0)==(-1); - if ($15) { + $20 = (_get8_packet($0)|0); + $21 = ($20|0)==(-1); + if ($21) { break; } } - $6 = HEAP32[$2>>2]|0; - $7 = ($6|0)==(0); - if (!($7)) { + $12 = HEAP32[$8>>2]|0; + $13 = ($12|0)==(0); + if (!($13)) { $$0 = 0; label = 24; break; } } if ((label|0) == 7) { - _error($f,35); + _error($0,35); $$0 = 0; return ($$0|0); } else if ((label|0) == 9) { - $16 = ((($f)) + 96|0); - $17 = HEAP32[$16>>2]|0; - $18 = ($17|0)==(0|0); - if (!($18)) { - $19 = ((($f)) + 100|0); - $20 = HEAP32[$19>>2]|0; - $21 = ((($f)) + 108|0); - $22 = HEAP32[$21>>2]|0; - $23 = ($20|0)==($22|0); - if (!($23)) { - ___assert_fail((21808|0),(20576|0),2795,(21864|0)); + $22 = ((($0)) + 80|0); + $23 = HEAP32[$22>>2]|0; + $24 = ($23|0)==(0|0); + if (!($24)) { + $25 = ((($0)) + 84|0); + $26 = HEAP32[$25>>2]|0; + $27 = ((($0)) + 92|0); + $28 = HEAP32[$27>>2]|0; + $29 = ($26|0)==($28|0); + if (!($29)) { + ___assert_fail((18913|0),(18880|0),2737,(19271|0)); // unreachable; } } - $24 = ((($f)) + 424|0); - $25 = HEAP32[$24>>2]|0; - $26 = (($25) + -1)|0; - $27 = (_ilog($26)|0); - $28 = (_get_bits($f,$27)|0); - $29 = ($28|0)==(-1); - if ($29) { + $30 = ((($0)) + 408|0); + $31 = HEAP32[$30>>2]|0; + $32 = (($31) + -1)|0; + $33 = (_ilog($32)|0); + $34 = (_get_bits($0,$33)|0); + $35 = ($34|0)==(-1); + if ($35) { $$0 = 0; return ($$0|0); } - $30 = HEAP32[$24>>2]|0; - $31 = ($28|0)<($30|0); - if (!($31)) { + $36 = HEAP32[$30>>2]|0; + $37 = ($34|0)<($36|0); + if (!($37)) { $$0 = 0; return ($$0|0); } - HEAP32[$mode>>2] = $28; - $32 = (((($f)) + 428|0) + (($28*6)|0)|0); - $33 = HEAP8[$32>>0]|0; - $34 = ($33<<24>>24)==(0); - if ($34) { - $39 = ((($f)) + 128|0); - $40 = HEAP32[$39>>2]|0; - $n$0 = $40;$next$0 = 0;$prev$0 = 0; + HEAP32[$5>>2] = $34; + $38 = (((($0)) + 412|0) + (($34*6)|0)|0); + $39 = HEAP8[$38>>0]|0; + $40 = ($39<<24>>24)==(0); + if ($40) { + $45 = ((($0)) + 112|0); + $46 = HEAP32[$45>>2]|0; + $$062 = 0;$$063 = 0;$$064 = $46; } else { - $35 = ((($f)) + 132|0); - $36 = HEAP32[$35>>2]|0; - $37 = (_get_bits($f,1)|0); - $38 = (_get_bits($f,1)|0); - $phitmp = ($37|0)!=(0); - $n$0 = $36;$next$0 = $38;$prev$0 = $phitmp; + $41 = ((($0)) + 116|0); + $42 = HEAP32[$41>>2]|0; + $43 = (_get_bits($0,1)|0); + $44 = (_get_bits($0,1)|0); + $phitmp = ($43|0)!=(0); + $$062 = $44;$$063 = $phitmp;$$064 = $42; } - $41 = $n$0 >> 1; - $42 = HEAP8[$32>>0]|0; - $43 = ($42<<24>>24)==(0); - $or$cond = $prev$0 | $43; + $47 = $$064 >> 1; + $48 = HEAP8[$38>>0]|0; + $49 = ($48<<24>>24)==(0); + $or$cond = $$063 | $49; if ($or$cond) { - HEAP32[$p_left_start>>2] = 0; - $storemerge = $41; + HEAP32[$1>>2] = 0; + $storemerge = $47; } else { - $44 = ((($f)) + 128|0); - $45 = HEAP32[$44>>2]|0; - $46 = (($n$0) - ($45))|0; - $47 = $46 >> 2; - HEAP32[$p_left_start>>2] = $47; - $48 = HEAP32[$44>>2]|0; - $49 = (($48) + ($n$0))|0; - $50 = $49 >> 2; - $storemerge = $50; + $50 = ((($0)) + 112|0); + $51 = HEAP32[$50>>2]|0; + $52 = (($$064) - ($51))|0; + $53 = $52 >> 2; + HEAP32[$1>>2] = $53; + $54 = HEAP32[$50>>2]|0; + $55 = (($54) + ($$064))|0; + $56 = $55 >> 2; + $storemerge = $56; } - HEAP32[$p_left_end>>2] = $storemerge; - $51 = HEAP8[$32>>0]|0; - $52 = ($51<<24>>24)==(0); - $53 = ($next$0|0)!=(0); - $or$cond3 = $53 | $52; + HEAP32[$2>>2] = $storemerge; + $57 = ($$062|0)!=(0); + $or$cond3 = $57 | $49; if ($or$cond3) { - HEAP32[$p_right_start>>2] = $41; - $storemerge4 = $n$0; + HEAP32[$3>>2] = $47; + $storemerge65 = $$064; } else { - $54 = ($n$0*3)|0; - $55 = ((($f)) + 128|0); - $56 = HEAP32[$55>>2]|0; - $57 = (($54) - ($56))|0; - $58 = $57 >> 2; - HEAP32[$p_right_start>>2] = $58; - $59 = HEAP32[$55>>2]|0; - $60 = (($59) + ($54))|0; - $61 = $60 >> 2; - $storemerge4 = $61; + $58 = ($$064*3)|0; + $59 = ((($0)) + 112|0); + $60 = HEAP32[$59>>2]|0; + $61 = (($58) - ($60))|0; + $62 = $61 >> 2; + HEAP32[$3>>2] = $62; + $63 = HEAP32[$59>>2]|0; + $64 = (($63) + ($58))|0; + $65 = $64 >> 2; + $storemerge65 = $65; } - HEAP32[$p_right_end>>2] = $storemerge4; + HEAP32[$4>>2] = $storemerge65; $$0 = 1; return ($$0|0); } @@ -37586,282 +49075,2814 @@ function _vorbis_decode_initial($f,$p_left_start,$p_left_end,$p_right_start,$p_r } return (0)|0; } -function _flush_packet($f) { - $f = $f|0; - var $0 = 0, $1 = 0, label = 0, sp = 0; +function _vorbis_decode_packet_rest($0,$1,$2,$3,$4,$5,$6) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + $6 = $6|0; + var $$ = 0, $$0409 = 0.0, $$0410 = 0.0, $$0411 = 0, $$041263 = 0, $$041652 = 0, $$0421$lcssa = 0, $$042133 = 0, $$042347 = 0, $$0427 = 0, $$042851 = 0, $$11 = 0, $$13 = 0, $$141341 = 0, $$141756 = 0, $$1422 = 0, $$1429$lcssa = 0, $$142946 = 0, $$1432 = 0, $$1437 = 0; + var $$241438 = 0, $$241860 = 0, $$2430 = 0, $$2438 = 0, $$3 = 0, $$341530 = 0, $$341530$in = 0, $$341934 = 0, $$424 = 0, $$442026 = 0, $$4435$ph = 0, $$443545 = 0, $$523 = 0, $$6 = 0, $$7 = 0, $$8 = 0, $$lcssa19 = 0, $$sink$sink = 0, $$sink3 = 0, $$sink3$in = 0; + var $$sink5 = 0, $$sink9 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; + var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; + var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; + var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; + var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; + var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0; + var $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0; + var $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0; + var $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0; + var $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0; + var $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0; + var $298 = 0, $299 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0.0, $305 = 0, $306 = 0, $307 = 0.0, $308 = 0, $309 = 0.0, $31 = 0, $310 = 0.0, $311 = 0.0, $312 = 0.0, $313 = 0, $314 = 0, $315 = 0; + var $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0; + var $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0; + var $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0; + var $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0; + var $389 = 0, $39 = 0, $390 = 0, $391 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0; + var $56 = 0, $57 = 0, $58 = 0, $59 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0; + var $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0; + var $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond = 0, $exitcond69 = 0, $storemerge = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 2560|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(2560|0); + $7 = sp + 1280|0; + $8 = sp + 256|0; + $9 = sp; + $10 = sp + 2304|0; + $11 = HEAP8[$2>>0]|0; + $12 = $11&255; + $13 = (((($0)) + 104|0) + ($12<<2)|0); + $14 = HEAP32[$13>>2]|0; + $15 = ((($0)) + 404|0); + $16 = HEAP32[$15>>2]|0; + $17 = ((($2)) + 1|0); + $18 = HEAP8[$17>>0]|0; + $19 = $18&255; + $20 = (($16) + (($19*40)|0)|0); + $21 = $14 >> 1; + $22 = (0 - ($21))|0; + $23 = ((($0)) + 4|0); + $24 = HEAP32[$23>>2]|0; + $25 = ($24|0)>(0); + L1: do { + if ($25) { + $26 = (((($16) + (($19*40)|0)|0)) + 4|0); + $27 = ((($0)) + 260|0); + $28 = ((($0)) + 1396|0); + $29 = ((($9)) + 1|0); + $30 = ((($0)) + 124|0); + $31 = ((($0)) + 1396|0); + $32 = ((($0)) + 1392|0); + $33 = ((($0)) + 124|0); + $34 = ((($0)) + 1396|0); + $35 = ((($0)) + 1392|0); + $$041263 = 0; + while(1) { + $36 = HEAP32[$26>>2]|0; + $37 = (((($36) + (($$041263*3)|0)|0)) + 2|0); + $38 = HEAP8[$37>>0]|0; + $39 = $38&255; + $40 = (($7) + ($$041263<<2)|0); + HEAP32[$40>>2] = 0; + $41 = ((((($16) + (($19*40)|0)|0)) + 9|0) + ($39)|0); + $42 = HEAP8[$41>>0]|0; + $43 = $42&255; + $44 = (((($0)) + 132|0) + ($43<<1)|0); + $45 = HEAP16[$44>>1]|0; + $46 = ($45<<16>>16)==(0); + if ($46) { + break; + } + $47 = HEAP32[$27>>2]|0; + $48 = (_get_bits($0,1)|0); + $49 = ($48|0)==(0); + do { + if ($49) { + label = 48; + } else { + $50 = (((($47) + (($43*1596)|0)|0)) + 1588|0); + $51 = HEAP8[$50>>0]|0; + $52 = $51&255; + $53 = (($52) + -1)|0; + $54 = (3796 + ($53<<2)|0); + $55 = HEAP32[$54>>2]|0; + $56 = (((($0)) + 996|0) + ($$041263<<2)|0); + $57 = HEAP32[$56>>2]|0; + $58 = (_ilog($55)|0); + $59 = (($58) + -1)|0; + $60 = (_get_bits($0,$59)|0); + $61 = $60&65535; + HEAP16[$57>>1] = $61; + $62 = (_get_bits($0,$59)|0); + $63 = $62&65535; + $64 = ((($57)) + 2|0); + HEAP16[$64>>1] = $63; + $65 = (($47) + (($43*1596)|0)|0); + $66 = HEAP8[$65>>0]|0; + $67 = ($66<<24>>24)==(0); + if (!($67)) { + $$041652 = 0;$$042851 = 2; + while(1) { + $68 = ((((($47) + (($43*1596)|0)|0)) + 1|0) + ($$041652)|0); + $69 = HEAP8[$68>>0]|0; + $70 = $69&255; + $71 = ((((($47) + (($43*1596)|0)|0)) + 33|0) + ($70)|0); + $72 = HEAP8[$71>>0]|0; + $73 = $72&255; + $74 = ((((($47) + (($43*1596)|0)|0)) + 49|0) + ($70)|0); + $75 = HEAP8[$74>>0]|0; + $76 = $75&255; + $77 = 1 << $76; + $78 = (($77) + -1)|0; + $79 = ($75<<24>>24)==(0); + if ($79) { + $$4435$ph = 0; + } else { + $80 = HEAP32[$30>>2]|0; + $81 = ((((($47) + (($43*1596)|0)|0)) + 65|0) + ($70)|0); + $82 = HEAP8[$81>>0]|0; + $83 = $82&255; + $84 = (($80) + (($83*2096)|0)|0); + $85 = HEAP32[$31>>2]|0; + $86 = ($85|0)<(10); + if ($86) { + _prep_huffman($0); + } + $87 = HEAP32[$32>>2]|0; + $88 = $87 & 1023; + $89 = ((((($80) + (($83*2096)|0)|0)) + 36|0) + ($88<<1)|0); + $90 = HEAP16[$89>>1]|0; + $91 = $90 << 16 >> 16; + $92 = ($90<<16>>16)>(-1); + if ($92) { + $93 = (((($80) + (($83*2096)|0)|0)) + 8|0); + $94 = HEAP32[$93>>2]|0; + $95 = (($94) + ($91)|0); + $96 = HEAP8[$95>>0]|0; + $97 = $96&255; + $98 = $87 >>> $97; + HEAP32[$32>>2] = $98; + $99 = HEAP32[$31>>2]|0; + $100 = (($99) - ($97))|0; + $101 = ($100|0)<(0); + $$ = $101 ? 0 : $100; + $$6 = $101 ? -1 : $91; + HEAP32[$31>>2] = $$; + $$1432 = $$6; + } else { + $102 = (_codebook_decode_scalar_raw($0,$84)|0); + $$1432 = $102; + } + $103 = (((($80) + (($83*2096)|0)|0)) + 23|0); + $104 = HEAP8[$103>>0]|0; + $105 = ($104<<24>>24)==(0); + if ($105) { + $$4435$ph = $$1432; + } else { + $106 = (((($80) + (($83*2096)|0)|0)) + 2088|0); + $107 = HEAP32[$106>>2]|0; + $108 = (($107) + ($$1432<<2)|0); + $109 = HEAP32[$108>>2]|0; + $$4435$ph = $109; + } + } + $110 = ($72<<24>>24)==(0); + if ($110) { + $$1429$lcssa = $$042851; + } else { + $$042347 = 0;$$142946 = $$042851;$$443545 = $$4435$ph; + while(1) { + $111 = $$443545 & $78; + $112 = (((((($47) + (($43*1596)|0)|0)) + 82|0) + ($70<<4)|0) + ($111<<1)|0); + $113 = HEAP16[$112>>1]|0; + $114 = $$443545 >> $76; + $115 = ($113<<16>>16)>(-1); + if ($115) { + $116 = $113 << 16 >> 16; + $117 = HEAP32[$33>>2]|0; + $118 = (($117) + (($116*2096)|0)|0); + $119 = HEAP32[$34>>2]|0; + $120 = ($119|0)<(10); + if ($120) { + _prep_huffman($0); + } + $121 = HEAP32[$35>>2]|0; + $122 = $121 & 1023; + $123 = ((((($117) + (($116*2096)|0)|0)) + 36|0) + ($122<<1)|0); + $124 = HEAP16[$123>>1]|0; + $125 = $124 << 16 >> 16; + $126 = ($124<<16>>16)>(-1); + if ($126) { + $127 = (((($117) + (($116*2096)|0)|0)) + 8|0); + $128 = HEAP32[$127>>2]|0; + $129 = (($128) + ($125)|0); + $130 = HEAP8[$129>>0]|0; + $131 = $130&255; + $132 = $121 >>> $131; + HEAP32[$35>>2] = $132; + $133 = HEAP32[$34>>2]|0; + $134 = (($133) - ($131))|0; + $135 = ($134|0)<(0); + $$7 = $135 ? 0 : $134; + $$8 = $135 ? -1 : $125; + HEAP32[$34>>2] = $$7; + $$1437 = $$8; + } else { + $136 = (_codebook_decode_scalar_raw($0,$118)|0); + $$1437 = $136; + } + $137 = (((($117) + (($116*2096)|0)|0)) + 23|0); + $138 = HEAP8[$137>>0]|0; + $139 = ($138<<24>>24)==(0); + if ($139) { + $$2438 = $$1437; + } else { + $140 = (((($117) + (($116*2096)|0)|0)) + 2088|0); + $141 = HEAP32[$140>>2]|0; + $142 = (($141) + ($$1437<<2)|0); + $143 = HEAP32[$142>>2]|0; + $$2438 = $143; + } + $144 = $$2438&65535; + $$sink9 = $144; + } else { + $$sink9 = 0; + } + $145 = (($57) + ($$142946<<1)|0); + HEAP16[$145>>1] = $$sink9; + $$2430 = (($$142946) + 1)|0; + $146 = (($$042347) + 1)|0; + $exitcond69 = ($146|0)==($73|0); + if ($exitcond69) { + break; + } else { + $$042347 = $146;$$142946 = $$2430;$$443545 = $114; + } + } + $147 = (($$042851) + ($73))|0; + $$1429$lcssa = $147; + } + $148 = (($$041652) + 1)|0; + $149 = HEAP8[$65>>0]|0; + $150 = $149&255; + $151 = ($148|0)<($150|0); + if ($151) { + $$041652 = $148;$$042851 = $$1429$lcssa; + } else { + break; + } + } + } + $152 = HEAP32[$28>>2]|0; + $153 = ($152|0)==(-1); + if ($153) { + label = 48; + break; + } + HEAP8[$29>>0] = 1; + HEAP8[$9>>0] = 1; + $154 = (((($47) + (($43*1596)|0)|0)) + 1592|0); + $155 = HEAP32[$154>>2]|0; + $156 = ($155|0)>(2); + if ($156) { + $157 = (($55) + 65535)|0; + $$141756 = 2; + while(1) { + $161 = ((((($47) + (($43*1596)|0)|0)) + 1088|0) + ($$141756<<1)|0); + $162 = HEAP8[$161>>0]|0; + $163 = $162&255; + $164 = ((((((($47) + (($43*1596)|0)|0)) + 1088|0) + ($$141756<<1)|0)) + 1|0); + $165 = HEAP8[$164>>0]|0; + $166 = $165&255; + $167 = ((((($47) + (($43*1596)|0)|0)) + 338|0) + ($$141756<<1)|0); + $168 = HEAP16[$167>>1]|0; + $169 = $168&65535; + $170 = ((((($47) + (($43*1596)|0)|0)) + 338|0) + ($163<<1)|0); + $171 = HEAP16[$170>>1]|0; + $172 = $171&65535; + $173 = ((((($47) + (($43*1596)|0)|0)) + 338|0) + ($166<<1)|0); + $174 = HEAP16[$173>>1]|0; + $175 = $174&65535; + $176 = (($57) + ($163<<1)|0); + $177 = HEAP16[$176>>1]|0; + $178 = $177 << 16 >> 16; + $179 = (($57) + ($166<<1)|0); + $180 = HEAP16[$179>>1]|0; + $181 = $180 << 16 >> 16; + $182 = (_predict_point($169,$172,$175,$178,$181)|0); + $183 = (($57) + ($$141756<<1)|0); + $184 = HEAP16[$183>>1]|0; + $185 = $184 << 16 >> 16; + $186 = (($55) - ($182))|0; + $187 = ($184<<16>>16)==(0); + do { + if ($187) { + $203 = (($9) + ($$141756)|0); + HEAP8[$203>>0] = 0; + $204 = $182&65535; + $$sink$sink = $204; + } else { + $188 = ($186|0)<($182|0); + $$11 = $188 ? $186 : $182; + $$0427 = $$11 << 1; + $189 = (($9) + ($166)|0); + HEAP8[$189>>0] = 1; + $190 = (($9) + ($163)|0); + HEAP8[$190>>0] = 1; + $191 = (($9) + ($$141756)|0); + HEAP8[$191>>0] = 1; + $192 = ($185|0)<($$0427|0); + if (!($192)) { + $193 = ($186|0)>($182|0); + if ($193) { + $$sink$sink = $184; + break; + } + $194 = (($157) - ($185))|0; + $195 = $194&65535; + $$sink$sink = $195; + break; + } + $196 = $185 & 1; + $197 = ($196|0)==(0); + if ($197) { + $201 = $185 >>> 1; + $202 = (($201) + ($182))|0; + $$sink3$in = $202; + } else { + $198 = (($185) + 1)|0; + $199 = $198 >> 1; + $200 = (($182) - ($199))|0; + $$sink3$in = $200; + } + $$sink3 = $$sink3$in&65535; + $$sink$sink = $$sink3; + } + } while(0); + HEAP16[$183>>1] = $$sink$sink; + $205 = (($$141756) + 1)|0; + $206 = HEAP32[$154>>2]|0; + $207 = ($205|0)<($206|0); + if ($207) { + $$141756 = $205; + } else { + $159 = $206; + break; + } + } + } else { + $159 = $155; + } + $158 = ($159|0)>(0); + if ($158) { + $160 = HEAP32[$154>>2]|0; + $$241860 = 0; + while(1) { + $208 = (($9) + ($$241860)|0); + $209 = HEAP8[$208>>0]|0; + $210 = ($209<<24>>24)==(0); + if ($210) { + $211 = (($57) + ($$241860<<1)|0); + HEAP16[$211>>1] = -1; + } + $212 = (($$241860) + 1)|0; + $213 = ($212|0)<($160|0); + if ($213) { + $$241860 = $212; + } else { + break; + } + } + } + } + } while(0); + if ((label|0) == 48) { + label = 0; + HEAP32[$40>>2] = 1; + } + $214 = (($$041263) + 1)|0; + $215 = HEAP32[$23>>2]|0; + $216 = ($214|0)<($215|0); + if ($216) { + $$041263 = $214; + } else { + $$lcssa19 = $215; + break L1; + } + } + _error($0,21); + $$3 = 0; + STACKTOP = sp;return ($$3|0); + } else { + $$lcssa19 = $24; + } + } while(0); + $217 = ((($0)) + 80|0); + $218 = HEAP32[$217>>2]|0; + $219 = ($218|0)==(0|0); + if (!($219)) { + $220 = ((($0)) + 84|0); + $221 = HEAP32[$220>>2]|0; + $222 = ((($0)) + 92|0); + $223 = HEAP32[$222>>2]|0; + $224 = ($221|0)==($223|0); + if (!($224)) { + ___assert_fail((18913|0),(18880|0),2886,(18969|0)); + // unreachable; + } + } + $225 = $$lcssa19 << 2; + _memcpy(($8|0),($7|0),($225|0))|0; + $226 = HEAP16[$20>>1]|0; + $227 = ($226<<16>>16)==(0); + if (!($227)) { + $228 = (((($16) + (($19*40)|0)|0)) + 4|0); + $229 = HEAP32[$228>>2]|0; + $230 = HEAP16[$20>>1]|0; + $231 = $230&65535; + $$141341 = 0; + while(1) { + $236 = (($229) + (($$141341*3)|0)|0); + $237 = HEAP8[$236>>0]|0; + $238 = $237&255; + $239 = (($7) + ($238<<2)|0); + $240 = HEAP32[$239>>2]|0; + $241 = ($240|0)==(0); + $242 = (((($229) + (($$141341*3)|0)|0)) + 1|0); + $243 = HEAP8[$242>>0]|0; + $244 = $243&255; + if ($241) { + label = 59; + } else { + $245 = (($7) + ($244<<2)|0); + $246 = HEAP32[$245>>2]|0; + $247 = ($246|0)==(0); + if ($247) { + label = 59; + } + } + if ((label|0) == 59) { + label = 0; + $248 = (($7) + ($244<<2)|0); + HEAP32[$248>>2] = 0; + HEAP32[$239>>2] = 0; + } + $249 = (($$141341) + 1)|0; + $250 = ($249|0)<($231|0); + if ($250) { + $$141341 = $249; + } else { + break; + } + } + } + $232 = (((($16) + (($19*40)|0)|0)) + 8|0); + $233 = HEAP8[$232>>0]|0; + $234 = ($233<<24>>24)==(0); + if (!($234)) { + $235 = (((($16) + (($19*40)|0)|0)) + 4|0); + $$241438 = 0; + while(1) { + $251 = HEAP32[$23>>2]|0; + $252 = ($251|0)>(0); + if ($252) { + $253 = HEAP32[$235>>2]|0; + $254 = HEAP32[$23>>2]|0; + $$042133 = 0;$$341934 = 0; + while(1) { + $255 = (((($253) + (($$341934*3)|0)|0)) + 2|0); + $256 = HEAP8[$255>>0]|0; + $257 = $256&255; + $258 = ($257|0)==($$241438|0); + if ($258) { + $259 = (($7) + ($$341934<<2)|0); + $260 = HEAP32[$259>>2]|0; + $261 = ($260|0)==(0); + $262 = (($10) + ($$042133)|0); + if ($261) { + HEAP8[$262>>0] = 0; + $263 = (((($0)) + 800|0) + ($$341934<<2)|0); + $264 = HEAP32[$263>>2]|0; + $$sink5 = $264; + } else { + HEAP8[$262>>0] = 1; + $$sink5 = 0; + } + $265 = (($9) + ($$042133<<2)|0); + HEAP32[$265>>2] = $$sink5; + $266 = (($$042133) + 1)|0; + $$1422 = $266; + } else { + $$1422 = $$042133; + } + $267 = (($$341934) + 1)|0; + $268 = ($267|0)<($254|0); + if ($268) { + $$042133 = $$1422;$$341934 = $267; + } else { + $$0421$lcssa = $$1422; + break; + } + } + } else { + $$0421$lcssa = 0; + } + $269 = ((((($16) + (($19*40)|0)|0)) + 24|0) + ($$241438)|0); + $270 = HEAP8[$269>>0]|0; + $271 = $270&255; + _decode_residue($0,$9,$$0421$lcssa,$21,$271,$10); + $272 = (($$241438) + 1)|0; + $273 = HEAP8[$232>>0]|0; + $274 = $273&255; + $275 = ($272|0)<($274|0); + if ($275) { + $$241438 = $272; + } else { + break; + } + } + } + $276 = HEAP32[$217>>2]|0; + $277 = ($276|0)==(0|0); + if (!($277)) { + $278 = ((($0)) + 84|0); + $279 = HEAP32[$278>>2]|0; + $280 = ((($0)) + 92|0); + $281 = HEAP32[$280>>2]|0; + $282 = ($279|0)==($281|0); + if (!($282)) { + ___assert_fail((18913|0),(18880|0),2919,(18969|0)); + // unreachable; + } + } + $283 = HEAP16[$20>>1]|0; + $284 = ($283<<16>>16)==(0); + if (!($284)) { + $285 = $283&65535; + $286 = (((($16) + (($19*40)|0)|0)) + 4|0); + $287 = HEAP32[$286>>2]|0; + $288 = ($21|0)>(0); + $$341530$in = $285; + while(1) { + $$341530 = (($$341530$in) + -1)|0; + $293 = (($287) + (($$341530*3)|0)|0); + $294 = HEAP8[$293>>0]|0; + $295 = $294&255; + $296 = (((($0)) + 800|0) + ($295<<2)|0); + $297 = HEAP32[$296>>2]|0; + $298 = (((($287) + (($$341530*3)|0)|0)) + 1|0); + $299 = HEAP8[$298>>0]|0; + $300 = $299&255; + $301 = (((($0)) + 800|0) + ($300<<2)|0); + $302 = HEAP32[$301>>2]|0; + if ($288) { + $$442026 = 0; + while(1) { + $303 = (($297) + ($$442026<<2)|0); + $304 = +HEAPF32[$303>>2]; + $305 = $304 > 0.0; + $306 = (($302) + ($$442026<<2)|0); + $307 = +HEAPF32[$306>>2]; + $308 = $307 > 0.0; + do { + if ($305) { + if ($308) { + $309 = $304 - $307; + $$0409 = $304;$$0410 = $309; + break; + } else { + $310 = $304 + $307; + $$0409 = $310;$$0410 = $304; + break; + } + } else { + if ($308) { + $311 = $304 + $307; + $$0409 = $304;$$0410 = $311; + break; + } else { + $312 = $304 - $307; + $$0409 = $312;$$0410 = $304; + break; + } + } + } while(0); + HEAPF32[$303>>2] = $$0409; + HEAPF32[$306>>2] = $$0410; + $313 = (($$442026) + 1)|0; + $exitcond = ($313|0)==($21|0); + if ($exitcond) { + break; + } else { + $$442026 = $313; + } + } + } + $289 = ($$341530$in|0)>(1); + if ($289) { + $$341530$in = $$341530; + } else { + break; + } + } + } + $290 = HEAP32[$23>>2]|0; + $291 = ($290|0)>(0); + if ($291) { + $292 = $21 << 2; + $$424 = 0; + while(1) { + $316 = (($8) + ($$424<<2)|0); + $317 = HEAP32[$316>>2]|0; + $318 = ($317|0)==(0); + $319 = (((($0)) + 800|0) + ($$424<<2)|0); + $320 = HEAP32[$319>>2]|0; + if ($318) { + $321 = (((($0)) + 996|0) + ($$424<<2)|0); + $322 = HEAP32[$321>>2]|0; + _do_floor($0,$20,$$424,$14,$320,$322); + } else { + _memset(($320|0),0,($292|0))|0; + } + $323 = (($$424) + 1)|0; + $315 = HEAP32[$23>>2]|0; + $324 = ($323|0)<($315|0); + if ($324) { + $$424 = $323; + } else { + break; + } + } + $314 = ($315|0)>(0); + if ($314) { + $$523 = 0; + while(1) { + $325 = (((($0)) + 800|0) + ($$523<<2)|0); + $326 = HEAP32[$325>>2]|0; + $327 = HEAP8[$2>>0]|0; + $328 = $327&255; + _inverse_mdct($326,$14,$0,$328); + $329 = (($$523) + 1)|0; + $330 = HEAP32[$23>>2]|0; + $331 = ($329|0)<($330|0); + if ($331) { + $$523 = $329; + } else { + break; + } + } + } + } + _flush_packet($0); + $332 = ((($0)) + 1377|0); + $333 = HEAP8[$332>>0]|0; + $334 = ($333<<24>>24)==(0); + do { + if ($334) { + $339 = ((($0)) + 1412|0); + $340 = HEAP32[$339>>2]|0; + $341 = ($340|0)==(0); + if ($341) { + $$0411 = $3; + } else { + $342 = (($4) - ($3))|0; + $343 = ($340|0)<($342|0); + if ($343) { + $345 = (($340) + ($3))|0; + HEAP32[$6>>2] = $345; + HEAP32[$339>>2] = 0; + $$0411 = $345; + break; + } else { + $344 = (($340) - ($342))|0; + HEAP32[$339>>2] = $344; + HEAP32[$6>>2] = $4; + $$0411 = $4; + break; + } + } + } else { + $335 = ((($0)) + 1060|0); + HEAP32[$335>>2] = $22; + $336 = (($14) - ($5))|0; + $337 = ((($0)) + 1412|0); + HEAP32[$337>>2] = $336; + $338 = ((($0)) + 1064|0); + HEAP32[$338>>2] = 1; + HEAP8[$332>>0] = 0; + $$0411 = $3; + } + } while(0); + $346 = ((($0)) + 1388|0); + $347 = HEAP32[$346>>2]|0; + $348 = ((($0)) + 1404|0); + $349 = HEAP32[$348>>2]|0; + $350 = ($347|0)==($349|0); + if ($350) { + $351 = ((($0)) + 1064|0); + $352 = HEAP32[$351>>2]|0; + $353 = ($352|0)==(0); + if (!($353)) { + $354 = ((($0)) + 1375|0); + $355 = HEAP8[$354>>0]|0; + $356 = $355 & 4; + $357 = ($356<<24>>24)==(0); + if (!($357)) { + $358 = ((($0)) + 1408|0); + $359 = HEAP32[$358>>2]|0; + $360 = (($5) - ($14))|0; + $361 = (($359) + ($360))|0; + $362 = ((($0)) + 1060|0); + $363 = HEAP32[$362>>2]|0; + $364 = (($5) - ($$0411))|0; + $365 = (($364) + ($363))|0; + $366 = ($361>>>0)<($365>>>0); + $367 = ($361>>>0)<($363>>>0); + $368 = (($361) - ($363))|0; + $storemerge = $367 ? 0 : $368; + $369 = (($storemerge) + ($$0411))|0; + $370 = ($369|0)>($5|0); + $$13 = $370 ? $5 : $369; + if ($366) { + HEAP32[$1>>2] = $$13; + $371 = HEAP32[$362>>2]|0; + $372 = (($371) + ($$13))|0; + HEAP32[$362>>2] = $372; + $$3 = 1; + STACKTOP = sp;return ($$3|0); + } + } + } + $373 = ((($0)) + 1408|0); + $374 = HEAP32[$373>>2]|0; + $375 = (($$0411) - ($21))|0; + $376 = (($375) + ($374))|0; + $377 = ((($0)) + 1060|0); + HEAP32[$377>>2] = $376; + HEAP32[$351>>2] = 1; + } + $378 = ((($0)) + 1064|0); + $379 = HEAP32[$378>>2]|0; + $380 = ($379|0)==(0); + $381 = ((($0)) + 1060|0); + if (!($380)) { + $382 = (($4) - ($$0411))|0; + $383 = HEAP32[$381>>2]|0; + $384 = (($382) + ($383))|0; + HEAP32[$381>>2] = $384; + } + $385 = HEAP32[$217>>2]|0; + $386 = ($385|0)==(0|0); + if (!($386)) { + $387 = ((($0)) + 84|0); + $388 = HEAP32[$387>>2]|0; + $389 = ((($0)) + 92|0); + $390 = HEAP32[$389>>2]|0; + $391 = ($388|0)==($390|0); + if (!($391)) { + ___assert_fail((18913|0),(18880|0),3035,(18969|0)); + // unreachable; + } + } + HEAP32[$1>>2] = $5; + $$3 = 1; + STACKTOP = sp;return ($$3|0); +} +function _get_bits($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$2 = 0, $$pr = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($0)) + 1396|0); + $3 = HEAP32[$2>>2]|0; + $4 = ($3|0)<(0); + if ($4) { + $$2 = 0; + return ($$2|0); + } + $5 = ($3|0)<($1|0); + L4: do { + if ($5) { + $6 = ($1|0)>(24); + if ($6) { + $7 = (_get_bits($0,24)|0); + $8 = (($1) + -24)|0; + $9 = (_get_bits($0,$8)|0); + $10 = $9 << 24; + $11 = (($10) + ($7))|0; + return ($11|0); + } + $12 = ($3|0)==(0); + if ($12) { + $13 = ((($0)) + 1392|0); + HEAP32[$13>>2] = 0; + } + $14 = HEAP32[$2>>2]|0; + $15 = ($14|0)<($1|0); + if ($15) { + $16 = ((($0)) + 1392|0); + while(1) { + $17 = (_get8_packet_raw($0)|0); + $18 = ($17|0)==(-1); + if ($18) { + break; + } + $19 = HEAP32[$2>>2]|0; + $20 = $17 << $19; + $21 = HEAP32[$16>>2]|0; + $22 = (($21) + ($20))|0; + HEAP32[$16>>2] = $22; + $23 = (($19) + 8)|0; + HEAP32[$2>>2] = $23; + $24 = ($23|0)<($1|0); + if (!($24)) { + $26 = $23; + break L4; + } + } + HEAP32[$2>>2] = -1; + $$2 = 0; + return ($$2|0); + } else { + $26 = $14; + } + } else { + $$pr = HEAP32[$2>>2]|0; + $26 = $$pr; + } + } while(0); + $25 = ($26|0)<(0); + if ($25) { + $$2 = 0; + return ($$2|0); + } + $27 = ((($0)) + 1392|0); + $28 = HEAP32[$27>>2]|0; + $29 = 1 << $1; + $30 = (($29) + -1)|0; + $31 = $28 & $30; + $32 = $28 >>> $1; + HEAP32[$27>>2] = $32; + $33 = (($26) - ($1))|0; + HEAP32[$2>>2] = $33; + $$2 = $31; + return ($$2|0); +} +function _ilog($0) { + $0 = $0|0; + var $$0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ($0|0)<(0); + if ($1) { + $$0 = 0; + return ($$0|0); + } + $2 = ($0|0)<(16384); + if ($2) { + $3 = ($0|0)<(16); + if ($3) { + $4 = (19255 + ($0)|0); + $5 = HEAP8[$4>>0]|0; + $6 = $5 << 24 >> 24; + $$0 = $6; + return ($$0|0); + } + $7 = ($0|0)<(512); + if ($7) { + $8 = $0 >>> 5; + $9 = (19255 + ($8)|0); + $10 = HEAP8[$9>>0]|0; + $11 = $10 << 24 >> 24; + $12 = (($11) + 5)|0; + $$0 = $12; + return ($$0|0); + } else { + $13 = $0 >>> 10; + $14 = (19255 + ($13)|0); + $15 = HEAP8[$14>>0]|0; + $16 = $15 << 24 >> 24; + $17 = (($16) + 10)|0; + $$0 = $17; + return ($$0|0); + } + } + $18 = ($0|0)<(16777216); + if ($18) { + $19 = ($0|0)<(524288); + if ($19) { + $20 = $0 >>> 15; + $21 = (19255 + ($20)|0); + $22 = HEAP8[$21>>0]|0; + $23 = $22 << 24 >> 24; + $24 = (($23) + 15)|0; + $$0 = $24; + return ($$0|0); + } else { + $25 = $0 >>> 20; + $26 = (19255 + ($25)|0); + $27 = HEAP8[$26>>0]|0; + $28 = $27 << 24 >> 24; + $29 = (($28) + 20)|0; + $$0 = $29; + return ($$0|0); + } + } else { + $30 = ($0|0)<(536870912); + if ($30) { + $31 = $0 >>> 25; + $32 = (19255 + ($31)|0); + $33 = HEAP8[$32>>0]|0; + $34 = $33 << 24 >> 24; + $35 = (($34) + 25)|0; + $$0 = $35; + return ($$0|0); + } else { + $36 = $0 >>> 30; + $37 = (19255 + ($36)|0); + $38 = HEAP8[$37>>0]|0; + $39 = $38 << 24 >> 24; + $40 = (($39) + 30)|0; + $$0 = $40; + return ($$0|0); + } + } + return (0)|0; +} +function _prep_huffman($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; + var label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 1396|0); + $2 = HEAP32[$1>>2]|0; + $3 = ($2|0)<(25); + if (!($3)) { + return; + } + $4 = ($2|0)==(0); + if ($4) { + $5 = ((($0)) + 1392|0); + HEAP32[$5>>2] = 0; + } + $6 = ((($0)) + 1376|0); + $7 = ((($0)) + 1384|0); + $8 = ((($0)) + 1392|0); + while(1) { + $9 = HEAP32[$7>>2]|0; + $10 = ($9|0)==(0); + if (!($10)) { + $11 = HEAP8[$6>>0]|0; + $12 = ($11<<24>>24)==(0); + if ($12) { + label = 9; + break; + } + } + $13 = (_get8_packet_raw($0)|0); + $14 = ($13|0)==(-1); + if ($14) { + label = 9; + break; + } + $15 = HEAP32[$1>>2]|0; + $16 = $13 << $15; + $17 = HEAP32[$8>>2]|0; + $18 = (($17) + ($16))|0; + HEAP32[$8>>2] = $18; + $19 = (($15) + 8)|0; + HEAP32[$1>>2] = $19; + $20 = ($19|0)<(25); + if (!($20)) { + label = 9; + break; + } + } + if ((label|0) == 9) { + return; + } +} +function _codebook_decode_scalar_raw($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $$06574 = 0, $$06676 = 0, $$068$lcssa = 0, $$06875 = 0, $$1 = 0, $$167 = 0, $$169 = 0, $$2 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0; + var $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0; + var $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0; + var $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0; + var $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $9 = 0, $storemerge = 0, label = 0, sp = 0; + sp = STACKTOP; + _prep_huffman($0); + $2 = ((($1)) + 32|0); + $3 = HEAP32[$2>>2]|0; + $4 = ($3|0)==(0|0); + if ($4) { + $5 = ((($1)) + 2084|0); + $6 = HEAP32[$5>>2]|0; + $7 = ($6|0)==(0|0); + if ($7) { + $$1 = -1; + return ($$1|0); + } + } + $8 = ((($1)) + 4|0); + $9 = HEAP32[$8>>2]|0; + $10 = ($9|0)>(8); + if ($10) { + $11 = ((($1)) + 2084|0); + $12 = HEAP32[$11>>2]|0; + $13 = ($12|0)==(0|0); + if (!($13)) { + label = 6; + } + } else { + $14 = HEAP32[$2>>2]|0; + $15 = ($14|0)==(0|0); + if ($15) { + label = 6; + } + } + if ((label|0) == 6) { + $16 = ((($0)) + 1392|0); + $17 = HEAP32[$16>>2]|0; + $18 = (_bit_reverse($17)|0); + $19 = ((($1)) + 2092|0); + $20 = HEAP32[$19>>2]|0; + $21 = ($20|0)>(1); + if ($21) { + $22 = ((($1)) + 2084|0); + $23 = HEAP32[$22>>2]|0; + $$06676 = $20;$$06875 = 0; + while(1) { + $24 = $$06676 >>> 1; + $25 = (($24) + ($$06875))|0; + $26 = (($23) + ($25<<2)|0); + $27 = HEAP32[$26>>2]|0; + $28 = ($27>>>0)>($18>>>0); + $29 = (($$06676) - ($24))|0; + $$169 = $28 ? $$06875 : $25; + $$167 = $28 ? $24 : $29; + $30 = ($$167|0)>(1); + if ($30) { + $$06676 = $$167;$$06875 = $$169; + } else { + $$068$lcssa = $$169; + break; + } + } + } else { + $$068$lcssa = 0; + } + $31 = ((($1)) + 23|0); + $32 = HEAP8[$31>>0]|0; + $33 = ($32<<24>>24)==(0); + if ($33) { + $34 = ((($1)) + 2088|0); + $35 = HEAP32[$34>>2]|0; + $36 = (($35) + ($$068$lcssa<<2)|0); + $37 = HEAP32[$36>>2]|0; + $$2 = $37; + } else { + $$2 = $$068$lcssa; + } + $38 = ((($1)) + 8|0); + $39 = HEAP32[$38>>2]|0; + $40 = (($39) + ($$2)|0); + $41 = HEAP8[$40>>0]|0; + $42 = $41&255; + $43 = ((($0)) + 1396|0); + $44 = HEAP32[$43>>2]|0; + $45 = ($44|0)<($42|0); + if ($45) { + $$0 = -1;$storemerge = 0; + } else { + $46 = (($44) - ($42))|0; + $47 = HEAP32[$16>>2]|0; + $48 = $47 >>> $42; + HEAP32[$16>>2] = $48; + $$0 = $$2;$storemerge = $46; + } + HEAP32[$43>>2] = $storemerge; + $$1 = $$0; + return ($$1|0); + } + $49 = ((($1)) + 23|0); + $50 = HEAP8[$49>>0]|0; + $51 = ($50<<24>>24)==(0); + if (!($51)) { + ___assert_fail((19217|0),(18880|0),1254,(19228|0)); + // unreachable; + } + $52 = HEAP32[$8>>2]|0; + $53 = ($52|0)>(0); + L26: do { + if ($53) { + $54 = ((($1)) + 8|0); + $55 = HEAP32[$54>>2]|0; + $56 = ((($0)) + 1392|0); + $$06574 = 0; + while(1) { + $57 = (($55) + ($$06574)|0); + $58 = HEAP8[$57>>0]|0; + $59 = $58&255; + $60 = ($58<<24>>24)==(-1); + if (!($60)) { + $61 = HEAP32[$2>>2]|0; + $62 = (($61) + ($$06574<<2)|0); + $63 = HEAP32[$62>>2]|0; + $64 = HEAP32[$56>>2]|0; + $65 = 1 << $59; + $66 = (($65) + -1)|0; + $67 = $64 & $66; + $68 = ($63|0)==($67|0); + if ($68) { + break; + } + } + $76 = (($$06574) + 1)|0; + $77 = HEAP32[$8>>2]|0; + $78 = ($76|0)<($77|0); + if ($78) { + $$06574 = $76; + } else { + break L26; + } + } + $69 = ((($0)) + 1396|0); + $70 = HEAP32[$69>>2]|0; + $71 = ($70|0)<($59|0); + if ($71) { + HEAP32[$69>>2] = 0; + $$1 = -1; + return ($$1|0); + } else { + $72 = $64 >>> $59; + HEAP32[$56>>2] = $72; + $73 = HEAP8[$57>>0]|0; + $74 = $73&255; + $75 = (($70) - ($74))|0; + HEAP32[$69>>2] = $75; + $$1 = $$06574; + return ($$1|0); + } + } + } while(0); + _error($0,21); + $79 = ((($0)) + 1396|0); + HEAP32[$79>>2] = 0; + $$1 = -1; + return ($$1|0); +} +function _predict_point($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$p = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $ispos = 0, $neg = 0, label = 0, sp = 0; + sp = STACKTOP; + $5 = (($4) - ($3))|0; + $6 = (($2) - ($1))|0; + $ispos = ($5|0)>(-1); + $neg = (0 - ($5))|0; + $7 = $ispos ? $5 : $neg; + $8 = (($0) - ($1))|0; + $9 = Math_imul($7, $8)|0; + $10 = (($9|0) / ($6|0))&-1; + $11 = ($5|0)<(0); + $12 = (0 - ($10))|0; + $$p = $11 ? $12 : $10; + $13 = (($$p) + ($3))|0; + return ($13|0); +} +function _decode_residue($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + var $$ = 0, $$0434$lcssa = 0, $$0434590 = 0, $$0437586 = 0, $$0439574 = 0, $$0444572 = 0, $$0465608 = 0, $$0466607 = 0, $$0613 = 0, $$1435596 = 0, $$1438611 = 0, $$1440$lcssa = 0, $$1440567 = 0, $$1451 = 0, $$1463 = 0, $$1467$lcssa = 0, $$1467603 = 0, $$1469 = 0, $$1472 = 0, $$1568 = 0; + var $$2436599 = 0, $$2446562 = 0, $$2452 = 0, $$2464 = 0, $$2470 = 0, $$2473 = 0, $$2561 = 0, $$3442564 = 0, $$3578 = 0, $$4443$lcssa = 0, $$4443560 = 0, $$4448582 = 0, $$4605 = 0, $$477 = 0, $$480 = 0, $$481 = 0, $$484 = 0, $$485 = 0, $$488 = 0, $$489 = 0; + var $$6584 = 0, $$7$lcssa = 0, $$7577 = 0, $$alloca_mul = 0, $$not = 0, $$not617 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0; + var $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0; + var $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0; + var $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0; + var $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0; + var $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0; + var $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0; + var $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0; + var $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0; + var $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0; + var $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0; + var $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0; + var $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0; + var $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0; + var $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0; + var $367 = 0, $368 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0; + var $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0; + var $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0; + var $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $brmerge = 0, $exitcond = 0, $not$ = 0, $not$521 = 0, $not$522 = 0, $not$523 = 0, $or$cond = 0, $or$cond478 = 0, $or$cond478566 = 0, $or$cond482 = 0, $or$cond482559 = 0; + var $or$cond486 = 0, $or$cond486576 = 0, $or$cond490 = 0, $or$cond490602 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $6 = sp + 4|0; + $7 = sp; + $8 = ((($0)) + 396|0); + $9 = HEAP32[$8>>2]|0; + $10 = (((($0)) + 268|0) + ($4<<1)|0); + $11 = HEAP16[$10>>1]|0; + $12 = $11&65535; + $13 = (((($9) + (($4*24)|0)|0)) + 13|0); + $14 = HEAP8[$13>>0]|0; + $15 = $14&255; + $16 = ((($0)) + 124|0); + $17 = HEAP32[$16>>2]|0; + $18 = (($17) + (($15*2096)|0)|0); + $19 = HEAP32[$18>>2]|0; + $20 = (((($9) + (($4*24)|0)|0)) + 4|0); + $21 = HEAP32[$20>>2]|0; + $22 = (($9) + (($4*24)|0)|0); + $23 = HEAP32[$22>>2]|0; + $24 = (($21) - ($23))|0; + $25 = (((($9) + (($4*24)|0)|0)) + 8|0); + $26 = HEAP32[$25>>2]|0; + $27 = (($24>>>0) / ($26>>>0))&-1; + $28 = ((($0)) + 92|0); + $29 = HEAP32[$28>>2]|0; + $30 = ((($0)) + 80|0); + $31 = HEAP32[$30>>2]|0; + $32 = ($31|0)==(0|0); + $33 = $27 << 2; + $34 = (($33) + 4)|0; + $35 = ((($0)) + 4|0); + $36 = HEAP32[$35>>2]|0; + $37 = Math_imul($36, $34)|0; + if ($32) { + $$alloca_mul = $37; + $39 = STACKTOP; STACKTOP = STACKTOP + ((((1*$$alloca_mul)|0)+15)&-16)|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(((((1*$$alloca_mul)|0)+15)&-16)|0);; + $41 = $39; + } else { + $38 = (_setup_temp_malloc($0,$37)|0); + $41 = $38; + } + $40 = HEAP32[$35>>2]|0; + $42 = (_make_block_array($41,$40,$33)|0); + $43 = ($2|0)>(0); + if ($43) { + $44 = $3 << 2; + $$0613 = 0; + while(1) { + $45 = (($5) + ($$0613)|0); + $46 = HEAP8[$45>>0]|0; + $47 = ($46<<24>>24)==(0); + if ($47) { + $48 = (($1) + ($$0613<<2)|0); + $49 = HEAP32[$48>>2]|0; + _memset(($49|0),0,($44|0))|0; + } + $50 = (($$0613) + 1)|0; + $exitcond = ($50|0)==($2|0); + if ($exitcond) { + break; + } else { + $$0613 = $50; + } + } + } + $51 = ($11<<16>>16)==(2); + $52 = ($2|0)!=(1); + $or$cond = $52 & $51; + if (!($or$cond)) { + $53 = ($27|0)>(0); + $54 = ($19|0)>(0); + $55 = ($2|0)>(0); + $56 = (((($9) + (($4*24)|0)|0)) + 20|0); + $57 = ((($0)) + 1396|0); + $58 = ((($0)) + 1392|0); + $59 = (((($9) + (($4*24)|0)|0)) + 16|0); + $$not617 = ($2|0)<(1); + $$1438611 = 0; + L15: while(1) { + if ($53) { + $$not = ($$1438611|0)!=(0); + $brmerge = $$not | $$not617; + $$0465608 = 0;$$0466607 = 0; + while(1) { + if (!($brmerge)) { + $$1435596 = 0; + while(1) { + $294 = (($5) + ($$1435596)|0); + $295 = HEAP8[$294>>0]|0; + $296 = ($295<<24>>24)==(0); + if ($296) { + $297 = HEAP32[$16>>2]|0; + $298 = HEAP8[$13>>0]|0; + $299 = $298&255; + $300 = (($297) + (($299*2096)|0)|0); + $301 = HEAP32[$57>>2]|0; + $302 = ($301|0)<(10); + if ($302) { + _prep_huffman($0); + } + $303 = HEAP32[$58>>2]|0; + $304 = $303 & 1023; + $305 = ((((($297) + (($299*2096)|0)|0)) + 36|0) + ($304<<1)|0); + $306 = HEAP16[$305>>1]|0; + $307 = $306 << 16 >> 16; + $308 = ($306<<16>>16)>(-1); + if ($308) { + $309 = (((($297) + (($299*2096)|0)|0)) + 8|0); + $310 = HEAP32[$309>>2]|0; + $311 = (($310) + ($307)|0); + $312 = HEAP8[$311>>0]|0; + $313 = $312&255; + $314 = $303 >>> $313; + HEAP32[$58>>2] = $314; + $315 = HEAP32[$57>>2]|0; + $316 = (($315) - ($313))|0; + $317 = ($316|0)<(0); + $$488 = $317 ? 0 : $316; + $$489 = $317 ? -1 : $307; + HEAP32[$57>>2] = $$488; + $$1463 = $$489; + } else { + $318 = (_codebook_decode_scalar_raw($0,$300)|0); + $$1463 = $318; + } + $319 = (((($297) + (($299*2096)|0)|0)) + 23|0); + $320 = HEAP8[$319>>0]|0; + $321 = ($320<<24>>24)==(0); + if ($321) { + $$2464 = $$1463; + } else { + $322 = (((($297) + (($299*2096)|0)|0)) + 2088|0); + $323 = HEAP32[$322>>2]|0; + $324 = (($323) + ($$1463<<2)|0); + $325 = HEAP32[$324>>2]|0; + $$2464 = $325; + } + $326 = ($$2464|0)==(-1); + if ($326) { + label = 98; + break L15; + } + $327 = HEAP32[$59>>2]|0; + $328 = (($327) + ($$2464<<2)|0); + $329 = HEAP32[$328>>2]|0; + $330 = (($41) + ($$1435596<<2)|0); + $331 = HEAP32[$330>>2]|0; + $332 = (($331) + ($$0465608<<2)|0); + HEAP32[$332>>2] = $329; + } + $333 = (($$1435596) + 1)|0; + $334 = ($333|0)<($2|0); + if ($334) { + $$1435596 = $333; + } else { + break; + } + } + } + $293 = ($$0466607|0)<($27|0); + $or$cond490602 = $293 & $54; + if ($or$cond490602) { + $$1467603 = $$0466607;$$4605 = 0; + while(1) { + if ($55) { + $$2436599 = 0; + while(1) { + $335 = (($5) + ($$2436599)|0); + $336 = HEAP8[$335>>0]|0; + $337 = ($336<<24>>24)==(0); + if ($337) { + $338 = (($41) + ($$2436599<<2)|0); + $339 = HEAP32[$338>>2]|0; + $340 = (($339) + ($$0465608<<2)|0); + $341 = HEAP32[$340>>2]|0; + $342 = (($341) + ($$4605)|0); + $343 = HEAP8[$342>>0]|0; + $344 = $343&255; + $345 = HEAP32[$56>>2]|0; + $346 = ((($345) + ($344<<4)|0) + ($$1438611<<1)|0); + $347 = HEAP16[$346>>1]|0; + $348 = ($347<<16>>16)>(-1); + if ($348) { + $349 = $347 << 16 >> 16; + $350 = (($1) + ($$2436599<<2)|0); + $351 = HEAP32[$350>>2]|0; + $352 = HEAP32[$22>>2]|0; + $353 = HEAP32[$25>>2]|0; + $354 = Math_imul($353, $$1467603)|0; + $355 = (($354) + ($352))|0; + $356 = HEAP32[$16>>2]|0; + $357 = (($356) + (($349*2096)|0)|0); + $358 = (_residue_decode($0,$357,$351,$355,$353,$12)|0); + $not$ = ($358|0)==(0); + if ($not$) { + label = 98; + break L15; + } + } + } + $359 = (($$2436599) + 1)|0; + $360 = ($359|0)<($2|0); + if ($360) { + $$2436599 = $359; + } else { + break; + } + } + } + $361 = (($$4605) + 1)|0; + $362 = (($$1467603) + 1)|0; + $363 = ($361|0)<($19|0); + $364 = ($362|0)<($27|0); + $or$cond490 = $364 & $363; + if ($or$cond490) { + $$1467603 = $362;$$4605 = $361; + } else { + $$1467$lcssa = $362; + break; + } + } + } else { + $$1467$lcssa = $$0466607; + } + $365 = (($$0465608) + 1)|0; + $366 = ($$1467$lcssa|0)<($27|0); + if ($366) { + $$0465608 = $365;$$0466607 = $$1467$lcssa; + } else { + break; + } + } + } + $367 = (($$1438611) + 1)|0; + $368 = ($367|0)<(8); + if ($368) { + $$1438611 = $367; + } else { + label = 98; + break; + } + } + if ((label|0) == 98) { + HEAP32[$28>>2] = $29; + STACKTOP = sp;return; + } + } + $60 = ($2|0)>(0); + L57: do { + if ($60) { + $$0434590 = 0; + while(1) { + $61 = (($5) + ($$0434590)|0); + $62 = HEAP8[$61>>0]|0; + $63 = ($62<<24>>24)==(0); + if ($63) { + $$0434$lcssa = $$0434590; + break L57; + } + $64 = (($$0434590) + 1)|0; + $65 = ($64|0)<($2|0); + if ($65) { + $$0434590 = $64; + } else { + $$0434$lcssa = $64; + break; + } + } + } else { + $$0434$lcssa = 0; + } + } while(0); + $66 = ($$0434$lcssa|0)==($2|0); + if ($66) { + HEAP32[$28>>2] = $29; + STACKTOP = sp;return; + } + $67 = ($27|0)>(0); + $68 = ((($0)) + 1396|0); + $69 = ((($0)) + 1392|0); + $70 = (((($9) + (($4*24)|0)|0)) + 16|0); + $71 = ($19|0)>(0); + $72 = (((($9) + (($4*24)|0)|0)) + 20|0); + $73 = ($27|0)>(0); + $74 = ((($0)) + 1396|0); + $75 = ((($0)) + 1392|0); + $76 = (((($9) + (($4*24)|0)|0)) + 16|0); + $77 = ($19|0)>(0); + $78 = (((($9) + (($4*24)|0)|0)) + 20|0); + $79 = ($27|0)>(0); + $80 = ((($0)) + 1396|0); + $81 = ((($0)) + 1392|0); + $82 = (((($9) + (($4*24)|0)|0)) + 16|0); + $83 = ($19|0)>(0); + $84 = (((($9) + (($4*24)|0)|0)) + 20|0); + $$0437586 = 0; + L65: while(1) { + switch ($2|0) { + case 2: { + if ($73) { + $86 = ($$0437586|0)==(0); + $$0439574 = 0;$$0444572 = 0; + while(1) { + $88 = HEAP32[$22>>2]|0; + $89 = HEAP32[$25>>2]|0; + $90 = Math_imul($89, $$0439574)|0; + $91 = (($90) + ($88))|0; + $92 = $91 & 1; + HEAP32[$6>>2] = $92; + $93 = $91 >> 1; + HEAP32[$7>>2] = $93; + if ($86) { + $94 = HEAP32[$16>>2]|0; + $95 = HEAP8[$13>>0]|0; + $96 = $95&255; + $97 = (($94) + (($96*2096)|0)|0); + $98 = HEAP32[$74>>2]|0; + $99 = ($98|0)<(10); + if ($99) { + _prep_huffman($0); + } + $100 = HEAP32[$75>>2]|0; + $101 = $100 & 1023; + $102 = ((((($94) + (($96*2096)|0)|0)) + 36|0) + ($101<<1)|0); + $103 = HEAP16[$102>>1]|0; + $104 = $103 << 16 >> 16; + $105 = ($103<<16>>16)>(-1); + if ($105) { + $106 = (((($94) + (($96*2096)|0)|0)) + 8|0); + $107 = HEAP32[$106>>2]|0; + $108 = (($107) + ($104)|0); + $109 = HEAP8[$108>>0]|0; + $110 = $109&255; + $111 = $100 >>> $110; + HEAP32[$75>>2] = $111; + $112 = HEAP32[$74>>2]|0; + $113 = (($112) - ($110))|0; + $114 = ($113|0)<(0); + $$ = $114 ? 0 : $113; + $$477 = $114 ? -1 : $104; + HEAP32[$74>>2] = $$; + $$1451 = $$477; + } else { + $115 = (_codebook_decode_scalar_raw($0,$97)|0); + $$1451 = $115; + } + $116 = (((($94) + (($96*2096)|0)|0)) + 23|0); + $117 = HEAP8[$116>>0]|0; + $118 = ($117<<24>>24)==(0); + if ($118) { + $$2452 = $$1451; + } else { + $119 = (((($94) + (($96*2096)|0)|0)) + 2088|0); + $120 = HEAP32[$119>>2]|0; + $121 = (($120) + ($$1451<<2)|0); + $122 = HEAP32[$121>>2]|0; + $$2452 = $122; + } + $123 = ($$2452|0)==(-1); + if ($123) { + label = 38; + break L65; + } + $124 = HEAP32[$76>>2]|0; + $125 = (($124) + ($$2452<<2)|0); + $126 = HEAP32[$125>>2]|0; + $127 = HEAP32[$41>>2]|0; + $128 = (($127) + ($$0444572<<2)|0); + HEAP32[$128>>2] = $126; + } + $129 = ($$0439574|0)<($27|0); + $or$cond478566 = $129 & $77; + if ($or$cond478566) { + $$1440567 = $$0439574;$$1568 = 0; + while(1) { + $130 = HEAP32[$25>>2]|0; + $131 = HEAP32[$41>>2]|0; + $132 = (($131) + ($$0444572<<2)|0); + $133 = HEAP32[$132>>2]|0; + $134 = (($133) + ($$1568)|0); + $135 = HEAP8[$134>>0]|0; + $136 = $135&255; + $137 = HEAP32[$78>>2]|0; + $138 = ((($137) + ($136<<4)|0) + ($$0437586<<1)|0); + $139 = HEAP16[$138>>1]|0; + $140 = ($139<<16>>16)>(-1); + if ($140) { + $141 = $139 << 16 >> 16; + $142 = HEAP32[$16>>2]|0; + $143 = (($142) + (($141*2096)|0)|0); + $144 = (_codebook_decode_deinterleave_repeat($0,$143,$1,$2,$6,$7,$3,$130)|0); + $not$522 = ($144|0)==(0); + if ($not$522) { + label = 38; + break L65; + } + } else { + $145 = HEAP32[$22>>2]|0; + $146 = Math_imul($130, $$1440567)|0; + $147 = (($146) + ($130))|0; + $148 = (($147) + ($145))|0; + $149 = $148 & 1; + HEAP32[$6>>2] = $149; + $150 = $148 >> 1; + HEAP32[$7>>2] = $150; + } + $151 = (($$1568) + 1)|0; + $152 = (($$1440567) + 1)|0; + $153 = ($151|0)<($19|0); + $154 = ($152|0)<($27|0); + $or$cond478 = $154 & $153; + if ($or$cond478) { + $$1440567 = $152;$$1568 = $151; + } else { + $$1440$lcssa = $152; + break; + } + } + } else { + $$1440$lcssa = $$0439574; + } + $155 = (($$0444572) + 1)|0; + $156 = ($$1440$lcssa|0)<($27|0); + if ($156) { + $$0439574 = $$1440$lcssa;$$0444572 = $155; + } else { + break; + } + } + } + break; + } + case 1: { + if ($79) { + $85 = ($$0437586|0)==(0); + $$2446562 = 0;$$3442564 = 0; + while(1) { + $157 = HEAP32[$22>>2]|0; + $158 = HEAP32[$25>>2]|0; + $159 = Math_imul($158, $$3442564)|0; + $160 = (($159) + ($157))|0; + HEAP32[$6>>2] = 0; + HEAP32[$7>>2] = $160; + if ($85) { + $161 = HEAP32[$16>>2]|0; + $162 = HEAP8[$13>>0]|0; + $163 = $162&255; + $164 = (($161) + (($163*2096)|0)|0); + $165 = HEAP32[$80>>2]|0; + $166 = ($165|0)<(10); + if ($166) { + _prep_huffman($0); + } + $167 = HEAP32[$81>>2]|0; + $168 = $167 & 1023; + $169 = ((((($161) + (($163*2096)|0)|0)) + 36|0) + ($168<<1)|0); + $170 = HEAP16[$169>>1]|0; + $171 = $170 << 16 >> 16; + $172 = ($170<<16>>16)>(-1); + if ($172) { + $173 = (((($161) + (($163*2096)|0)|0)) + 8|0); + $174 = HEAP32[$173>>2]|0; + $175 = (($174) + ($171)|0); + $176 = HEAP8[$175>>0]|0; + $177 = $176&255; + $178 = $167 >>> $177; + HEAP32[$81>>2] = $178; + $179 = HEAP32[$80>>2]|0; + $180 = (($179) - ($177))|0; + $181 = ($180|0)<(0); + $$480 = $181 ? 0 : $180; + $$481 = $181 ? -1 : $171; + HEAP32[$80>>2] = $$480; + $$1469 = $$481; + } else { + $182 = (_codebook_decode_scalar_raw($0,$164)|0); + $$1469 = $182; + } + $183 = (((($161) + (($163*2096)|0)|0)) + 23|0); + $184 = HEAP8[$183>>0]|0; + $185 = ($184<<24>>24)==(0); + if ($185) { + $$2470 = $$1469; + } else { + $186 = (((($161) + (($163*2096)|0)|0)) + 2088|0); + $187 = HEAP32[$186>>2]|0; + $188 = (($187) + ($$1469<<2)|0); + $189 = HEAP32[$188>>2]|0; + $$2470 = $189; + } + $190 = ($$2470|0)==(-1); + if ($190) { + label = 55; + break L65; + } + $191 = HEAP32[$82>>2]|0; + $192 = (($191) + ($$2470<<2)|0); + $193 = HEAP32[$192>>2]|0; + $194 = HEAP32[$41>>2]|0; + $195 = (($194) + ($$2446562<<2)|0); + HEAP32[$195>>2] = $193; + } + $196 = ($$3442564|0)<($27|0); + $or$cond482559 = $196 & $83; + if ($or$cond482559) { + $$2561 = 0;$$4443560 = $$3442564; + while(1) { + $197 = HEAP32[$25>>2]|0; + $198 = HEAP32[$41>>2]|0; + $199 = (($198) + ($$2446562<<2)|0); + $200 = HEAP32[$199>>2]|0; + $201 = (($200) + ($$2561)|0); + $202 = HEAP8[$201>>0]|0; + $203 = $202&255; + $204 = HEAP32[$84>>2]|0; + $205 = ((($204) + ($203<<4)|0) + ($$0437586<<1)|0); + $206 = HEAP16[$205>>1]|0; + $207 = ($206<<16>>16)>(-1); + if ($207) { + $208 = $206 << 16 >> 16; + $209 = HEAP32[$16>>2]|0; + $210 = (($209) + (($208*2096)|0)|0); + $211 = (_codebook_decode_deinterleave_repeat($0,$210,$1,$2,$6,$7,$3,$197)|0); + $not$521 = ($211|0)==(0); + if ($not$521) { + label = 55; + break L65; + } + } else { + $212 = HEAP32[$22>>2]|0; + $213 = Math_imul($197, $$4443560)|0; + $214 = (($213) + ($197))|0; + $215 = (($214) + ($212))|0; + HEAP32[$6>>2] = 0; + HEAP32[$7>>2] = $215; + } + $216 = (($$2561) + 1)|0; + $217 = (($$4443560) + 1)|0; + $218 = ($216|0)<($19|0); + $219 = ($217|0)<($27|0); + $or$cond482 = $219 & $218; + if ($or$cond482) { + $$2561 = $216;$$4443560 = $217; + } else { + $$4443$lcssa = $217; + break; + } + } + } else { + $$4443$lcssa = $$3442564; + } + $220 = (($$2446562) + 1)|0; + $221 = ($$4443$lcssa|0)<($27|0); + if ($221) { + $$2446562 = $220;$$3442564 = $$4443$lcssa; + } else { + break; + } + } + } + break; + } + default: { + if ($67) { + $87 = ($$0437586|0)==(0); + $$4448582 = 0;$$6584 = 0; + while(1) { + $222 = HEAP32[$22>>2]|0; + $223 = HEAP32[$25>>2]|0; + $224 = Math_imul($223, $$6584)|0; + $225 = (($224) + ($222))|0; + $226 = (($225|0) % ($2|0))&-1; + HEAP32[$6>>2] = $226; + $227 = (($225|0) / ($2|0))&-1; + HEAP32[$7>>2] = $227; + if ($87) { + $228 = HEAP32[$16>>2]|0; + $229 = HEAP8[$13>>0]|0; + $230 = $229&255; + $231 = (($228) + (($230*2096)|0)|0); + $232 = HEAP32[$68>>2]|0; + $233 = ($232|0)<(10); + if ($233) { + _prep_huffman($0); + } + $234 = HEAP32[$69>>2]|0; + $235 = $234 & 1023; + $236 = ((((($228) + (($230*2096)|0)|0)) + 36|0) + ($235<<1)|0); + $237 = HEAP16[$236>>1]|0; + $238 = $237 << 16 >> 16; + $239 = ($237<<16>>16)>(-1); + if ($239) { + $240 = (((($228) + (($230*2096)|0)|0)) + 8|0); + $241 = HEAP32[$240>>2]|0; + $242 = (($241) + ($238)|0); + $243 = HEAP8[$242>>0]|0; + $244 = $243&255; + $245 = $234 >>> $244; + HEAP32[$69>>2] = $245; + $246 = HEAP32[$68>>2]|0; + $247 = (($246) - ($244))|0; + $248 = ($247|0)<(0); + $$484 = $248 ? 0 : $247; + $$485 = $248 ? -1 : $238; + HEAP32[$68>>2] = $$484; + $$1472 = $$485; + } else { + $249 = (_codebook_decode_scalar_raw($0,$231)|0); + $$1472 = $249; + } + $250 = (((($228) + (($230*2096)|0)|0)) + 23|0); + $251 = HEAP8[$250>>0]|0; + $252 = ($251<<24>>24)==(0); + if ($252) { + $$2473 = $$1472; + } else { + $253 = (((($228) + (($230*2096)|0)|0)) + 2088|0); + $254 = HEAP32[$253>>2]|0; + $255 = (($254) + ($$1472<<2)|0); + $256 = HEAP32[$255>>2]|0; + $$2473 = $256; + } + $257 = ($$2473|0)==(-1); + if ($257) { + label = 72; + break L65; + } + $258 = HEAP32[$70>>2]|0; + $259 = (($258) + ($$2473<<2)|0); + $260 = HEAP32[$259>>2]|0; + $261 = HEAP32[$41>>2]|0; + $262 = (($261) + ($$4448582<<2)|0); + HEAP32[$262>>2] = $260; + } + $263 = ($$6584|0)<($27|0); + $or$cond486576 = $263 & $71; + if ($or$cond486576) { + $$3578 = 0;$$7577 = $$6584; + while(1) { + $264 = HEAP32[$25>>2]|0; + $265 = HEAP32[$41>>2]|0; + $266 = (($265) + ($$4448582<<2)|0); + $267 = HEAP32[$266>>2]|0; + $268 = (($267) + ($$3578)|0); + $269 = HEAP8[$268>>0]|0; + $270 = $269&255; + $271 = HEAP32[$72>>2]|0; + $272 = ((($271) + ($270<<4)|0) + ($$0437586<<1)|0); + $273 = HEAP16[$272>>1]|0; + $274 = ($273<<16>>16)>(-1); + if ($274) { + $275 = $273 << 16 >> 16; + $276 = HEAP32[$16>>2]|0; + $277 = (($276) + (($275*2096)|0)|0); + $278 = (_codebook_decode_deinterleave_repeat($0,$277,$1,$2,$6,$7,$3,$264)|0); + $not$523 = ($278|0)==(0); + if ($not$523) { + label = 72; + break L65; + } + } else { + $279 = HEAP32[$22>>2]|0; + $280 = Math_imul($264, $$7577)|0; + $281 = (($280) + ($264))|0; + $282 = (($281) + ($279))|0; + $283 = (($282|0) % ($2|0))&-1; + HEAP32[$6>>2] = $283; + $284 = (($282|0) / ($2|0))&-1; + HEAP32[$7>>2] = $284; + } + $285 = (($$3578) + 1)|0; + $286 = (($$7577) + 1)|0; + $287 = ($285|0)<($19|0); + $288 = ($286|0)<($27|0); + $or$cond486 = $288 & $287; + if ($or$cond486) { + $$3578 = $285;$$7577 = $286; + } else { + $$7$lcssa = $286; + break; + } + } + } else { + $$7$lcssa = $$6584; + } + $289 = (($$4448582) + 1)|0; + $290 = ($$7$lcssa|0)<($27|0); + if ($290) { + $$4448582 = $289;$$6584 = $$7$lcssa; + } else { + break; + } + } + } + } + } + $291 = (($$0437586) + 1)|0; + $292 = ($291|0)<(8); + if ($292) { + $$0437586 = $291; + } else { + label = 98; + break; + } + } + if ((label|0) == 38) { + HEAP32[$28>>2] = $29; + STACKTOP = sp;return; + } + else if ((label|0) == 55) { + HEAP32[$28>>2] = $29; + STACKTOP = sp;return; + } + else if ((label|0) == 72) { + HEAP32[$28>>2] = $29; + STACKTOP = sp;return; + } + else if ((label|0) == 98) { + HEAP32[$28>>2] = $29; + STACKTOP = sp;return; + } +} +function _do_floor($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + var $$062$lcssa = 0, $$0624 = 0, $$063$lcssa = 0, $$0633 = 0, $$0652 = 0, $$0661 = 0, $$1 = 0, $$164 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0; + var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0; + var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0.0, $49 = 0, $50 = 0.0, $51 = 0.0, $52 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, label = 0, sp = 0; + sp = STACKTOP; + $6 = $3 >> 1; + $7 = ((($1)) + 4|0); + $8 = HEAP32[$7>>2]|0; + $9 = (((($8) + (($2*3)|0)|0)) + 2|0); + $10 = HEAP8[$9>>0]|0; + $11 = $10&255; + $12 = (((($1)) + 9|0) + ($11)|0); + $13 = HEAP8[$12>>0]|0; + $14 = $13&255; + $15 = (((($0)) + 132|0) + ($14<<1)|0); + $16 = HEAP16[$15>>1]|0; + $17 = ($16<<16>>16)==(0); + if ($17) { + _error($0,21); + return; + } + $18 = ((($0)) + 260|0); + $19 = HEAP32[$18>>2]|0; + $20 = HEAP16[$5>>1]|0; + $21 = $20 << 16 >> 16; + $22 = (((($19) + (($14*1596)|0)|0)) + 1588|0); + $23 = HEAP8[$22>>0]|0; + $24 = $23&255; + $25 = Math_imul($24, $21)|0; + $26 = (((($19) + (($14*1596)|0)|0)) + 1592|0); + $27 = HEAP32[$26>>2]|0; + $28 = ($27|0)>(1); + if ($28) { + $$0624 = $25;$$0633 = 0;$$0652 = 1; + while(1) { + $29 = ((((($19) + (($14*1596)|0)|0)) + 838|0) + ($$0652)|0); + $30 = HEAP8[$29>>0]|0; + $31 = $30&255; + $32 = (($5) + ($31<<1)|0); + $33 = HEAP16[$32>>1]|0; + $34 = ($33<<16>>16)>(-1); + if ($34) { + $35 = $33 << 16 >> 16; + $36 = HEAP8[$22>>0]|0; + $37 = $36&255; + $38 = Math_imul($37, $35)|0; + $39 = ((((($19) + (($14*1596)|0)|0)) + 338|0) + ($31<<1)|0); + $40 = HEAP16[$39>>1]|0; + $41 = $40&65535; + $42 = ($$0633|0)==($41|0); + if ($42) { + $$1 = $38;$$164 = $41; + } else { + _draw_line($4,$$0633,$$0624,$41,$38,$6); + $$1 = $38;$$164 = $41; + } + } else { + $$1 = $$0624;$$164 = $$0633; + } + $43 = (($$0652) + 1)|0; + $44 = HEAP32[$26>>2]|0; + $45 = ($43|0)<($44|0); + if ($45) { + $$0624 = $$1;$$0633 = $$164;$$0652 = $43; + } else { + $$062$lcssa = $$1;$$063$lcssa = $$164; + break; + } + } + } else { + $$062$lcssa = $25;$$063$lcssa = 0; + } + $46 = ($$063$lcssa|0)<($6|0); + if (!($46)) { + return; + } + $47 = (3812 + ($$062$lcssa<<2)|0); + $48 = +HEAPF32[$47>>2]; + $$0661 = $$063$lcssa; + while(1) { + $49 = (($4) + ($$0661<<2)|0); + $50 = +HEAPF32[$49>>2]; + $51 = $48 * $50; + HEAPF32[$49>>2] = $51; + $52 = (($$0661) + 1)|0; + $exitcond = ($52|0)==($6|0); + if ($exitcond) { + break; + } else { + $$0661 = $52; + } + } + return; +} +function _inverse_mdct($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$0$lcssa = 0, $$0492$lcssa = 0, $$0492576 = 0, $$0494 = 0, $$0494522 = 0, $$0494530 = 0, $$0495531 = 0, $$0495531$pn = 0, $$0496527 = 0, $$0497526 = 0, $$0498525 = 0, $$0499524 = 0, $$0500575 = 0, $$0502$lcssa = 0, $$0502574 = 0, $$0504564 = 0, $$0505563 = 0, $$0506562 = 0, $$0507561 = 0, $$0508 = 0; + var $$0508532 = 0, $$0508536 = 0, $$0509534 = 0, $$0510533 = 0, $$0511560 = 0, $$0512542 = 0, $$0513541 = 0, $$0514540 = 0, $$0515548 = 0, $$0516547 = 0, $$0517554 = 0, $$0518546 = 0, $$0557 = 0, $$1493570 = 0, $$1501569 = 0, $$1503568 = 0, $$1551 = 0, $$alloca_mul = 0, $$pn520529 = 0, $$pn520529$phi = 0; + var $$pn535 = 0, $$pn535$phi = 0, $10 = 0, $100 = 0, $101 = 0.0, $102 = 0.0, $103 = 0.0, $104 = 0.0, $105 = 0.0, $106 = 0, $107 = 0.0, $108 = 0, $109 = 0.0, $11 = 0, $110 = 0.0, $111 = 0, $112 = 0.0, $113 = 0, $114 = 0.0, $115 = 0.0; + var $116 = 0.0, $117 = 0, $118 = 0.0, $119 = 0.0, $12 = 0, $120 = 0.0, $121 = 0, $122 = 0.0, $123 = 0.0, $124 = 0, $125 = 0.0, $126 = 0.0, $127 = 0.0, $128 = 0, $129 = 0.0, $13 = 0, $130 = 0.0, $131 = 0.0, $132 = 0.0, $133 = 0.0; + var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; + var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; + var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; + var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0; + var $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0; + var $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0.0, $238 = 0, $239 = 0.0, $24 = 0, $240 = 0.0, $241 = 0, $242 = 0.0; + var $243 = 0, $244 = 0.0, $245 = 0.0, $246 = 0, $247 = 0.0, $248 = 0.0, $249 = 0.0, $25 = 0, $250 = 0.0, $251 = 0.0, $252 = 0.0, $253 = 0.0, $254 = 0.0, $255 = 0.0, $256 = 0.0, $257 = 0.0, $258 = 0.0, $259 = 0.0, $26 = 0, $260 = 0.0; + var $261 = 0, $262 = 0.0, $263 = 0.0, $264 = 0.0, $265 = 0, $266 = 0.0, $267 = 0, $268 = 0.0, $269 = 0.0, $27 = 0, $270 = 0, $271 = 0.0, $272 = 0.0, $273 = 0, $274 = 0.0, $275 = 0.0, $276 = 0.0, $277 = 0.0, $278 = 0.0, $279 = 0.0; + var $28 = 0, $280 = 0.0, $281 = 0.0, $282 = 0.0, $283 = 0.0, $284 = 0.0, $285 = 0.0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0.0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0.0; + var $298 = 0, $299 = 0.0, $30 = 0.0, $300 = 0.0, $301 = 0, $302 = 0.0, $303 = 0, $304 = 0.0, $305 = 0.0, $306 = 0.0, $307 = 0.0, $308 = 0.0, $309 = 0.0, $31 = 0.0, $310 = 0.0, $311 = 0.0, $312 = 0, $313 = 0, $314 = 0, $315 = 0.0; + var $316 = 0, $317 = 0.0, $318 = 0.0, $319 = 0, $32 = 0, $320 = 0.0, $321 = 0, $322 = 0.0, $323 = 0.0, $324 = 0.0, $325 = 0.0, $326 = 0.0, $327 = 0.0, $328 = 0.0, $329 = 0, $33 = 0.0, $330 = 0.0, $331 = 0, $332 = 0, $333 = 0; + var $334 = 0, $335 = 0.0, $336 = 0, $337 = 0.0, $338 = 0.0, $339 = 0, $34 = 0, $340 = 0.0, $341 = 0, $342 = 0.0, $343 = 0.0, $344 = 0.0, $345 = 0.0, $346 = 0.0, $347 = 0.0, $348 = 0.0, $349 = 0, $35 = 0.0, $350 = 0.0, $351 = 0; + var $352 = 0, $353 = 0, $354 = 0.0, $355 = 0, $356 = 0.0, $357 = 0.0, $358 = 0, $359 = 0.0, $36 = 0.0, $360 = 0.0, $361 = 0.0, $362 = 0.0, $363 = 0.0, $364 = 0.0, $365 = 0.0, $366 = 0.0, $367 = 0, $368 = 0.0, $369 = 0, $37 = 0.0; + var $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $38 = 0, $39 = 0.0, $4 = 0, $40 = 0.0, $41 = 0.0, $42 = 0.0, $43 = 0.0, $44 = 0.0, $45 = 0.0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0; + var $51 = 0, $52 = 0, $53 = 0, $54 = 0.0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0, $59 = 0.0, $6 = 0, $60 = 0.0, $61 = 0.0, $62 = 0, $63 = 0.0, $64 = 0.0, $65 = 0.0, $66 = 0.0, $67 = 0.0, $68 = 0.0, $69 = 0.0; + var $7 = 0, $70 = 0.0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0.0, $82 = 0, $83 = 0.0, $84 = 0.0, $85 = 0.0, $86 = 0.0, $87 = 0.0; + var $88 = 0.0, $89 = 0, $9 = 0, $90 = 0.0, $91 = 0.0, $92 = 0.0, $93 = 0, $94 = 0.0, $95 = 0.0, $96 = 0, $97 = 0.0, $98 = 0.0, $99 = 0.0, $exitcond = 0, $exitcond584 = 0, $scevgep = 0, $scevgep586 = 0, label = 0, sp = 0; + sp = STACKTOP; + $4 = $1 >> 1; + $5 = $1 >> 2; + $6 = $1 >> 3; + $7 = ((($2)) + 92|0); + $8 = HEAP32[$7>>2]|0; + $9 = ((($2)) + 80|0); + $10 = HEAP32[$9>>2]|0; + $11 = ($10|0)==(0|0); + $12 = $4 << 2; + if ($11) { + $$alloca_mul = $12; + $14 = STACKTOP; STACKTOP = STACKTOP + ((((1*$$alloca_mul)|0)+15)&-16)|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(((((1*$$alloca_mul)|0)+15)&-16)|0);; + $19 = $14; + } else { + $13 = (_setup_temp_malloc($2,$12)|0); + $19 = $13; + } + $15 = (((($2)) + 1068|0) + ($3<<2)|0); + $16 = HEAP32[$15>>2]|0; + $17 = (($4) + -2)|0; + $18 = (($19) + ($17<<2)|0); + $20 = (($0) + ($4<<2)|0); + $21 = ($4|0)==(0); + if ($21) { + $$0492$lcssa = $18;$$0502$lcssa = $16; + } else { + $22 = $4 << 2; + $23 = (($22) + -16)|0; + $24 = $23 >>> 4; + $25 = $24 << 3; + $26 = (($23) - ($25))|0; + $scevgep = (($19) + ($26)|0); + $27 = $24 << 1; + $28 = (($27) + 2)|0; + $$0492576 = $18;$$0500575 = $0;$$0502574 = $16; + while(1) { + $29 = +HEAPF32[$$0500575>>2]; + $30 = +HEAPF32[$$0502574>>2]; + $31 = $29 * $30; + $32 = ((($$0500575)) + 8|0); + $33 = +HEAPF32[$32>>2]; + $34 = ((($$0502574)) + 4|0); + $35 = +HEAPF32[$34>>2]; + $36 = $33 * $35; + $37 = $31 - $36; + $38 = ((($$0492576)) + 4|0); + HEAPF32[$38>>2] = $37; + $39 = +HEAPF32[$$0500575>>2]; + $40 = +HEAPF32[$34>>2]; + $41 = $39 * $40; + $42 = +HEAPF32[$32>>2]; + $43 = +HEAPF32[$$0502574>>2]; + $44 = $42 * $43; + $45 = $41 + $44; + HEAPF32[$$0492576>>2] = $45; + $46 = ((($$0492576)) + -8|0); + $47 = ((($$0502574)) + 8|0); + $48 = ((($$0500575)) + 16|0); + $49 = ($48|0)==($20|0); + if ($49) { + break; + } else { + $$0492576 = $46;$$0500575 = $48;$$0502574 = $47; + } + } + $scevgep586 = (($16) + ($28<<2)|0); + $$0492$lcssa = $scevgep;$$0502$lcssa = $scevgep586; + } + $50 = ($$0492$lcssa>>>0)<($19>>>0); + if (!($50)) { + $51 = (($4) + -3)|0; + $52 = (($0) + ($51<<2)|0); + $$1493570 = $$0492$lcssa;$$1501569 = $52;$$1503568 = $$0502$lcssa; + while(1) { + $53 = ((($$1501569)) + 8|0); + $54 = +HEAPF32[$53>>2]; + $55 = +HEAPF32[$$1503568>>2]; + $56 = $54 * $55; + $57 = +HEAPF32[$$1501569>>2]; + $58 = ((($$1503568)) + 4|0); + $59 = +HEAPF32[$58>>2]; + $60 = $57 * $59; + $61 = $60 - $56; + $62 = ((($$1493570)) + 4|0); + HEAPF32[$62>>2] = $61; + $63 = +HEAPF32[$53>>2]; + $64 = +HEAPF32[$58>>2]; + $65 = $63 * $64; + $66 = +HEAPF32[$$1501569>>2]; + $67 = +HEAPF32[$$1503568>>2]; + $68 = $66 * $67; + $69 = -$68; + $70 = $69 - $65; + HEAPF32[$$1493570>>2] = $70; + $71 = ((($$1493570)) + -8|0); + $72 = ((($$1503568)) + 8|0); + $73 = ((($$1501569)) + -16|0); + $74 = ($71>>>0)<($19>>>0); + if ($74) { + break; + } else { + $$1493570 = $71;$$1501569 = $73;$$1503568 = $72; + } + } + } + $75 = ($4|0)<(8); + if (!($75)) { + $76 = (($0) + ($5<<2)|0); + $77 = (($19) + ($5<<2)|0); + $78 = (($4) + -8)|0; + $79 = (($16) + ($78<<2)|0); + $$0504564 = $79;$$0505563 = $76;$$0506562 = $0;$$0507561 = $77;$$0511560 = $19; + while(1) { + $80 = ((($$0507561)) + 4|0); + $81 = +HEAPF32[$80>>2]; + $82 = ((($$0511560)) + 4|0); + $83 = +HEAPF32[$82>>2]; + $84 = $81 - $83; + $85 = +HEAPF32[$$0507561>>2]; + $86 = +HEAPF32[$$0511560>>2]; + $87 = $85 - $86; + $88 = $81 + $83; + $89 = ((($$0505563)) + 4|0); + HEAPF32[$89>>2] = $88; + $90 = +HEAPF32[$$0507561>>2]; + $91 = +HEAPF32[$$0511560>>2]; + $92 = $90 + $91; + HEAPF32[$$0505563>>2] = $92; + $93 = ((($$0504564)) + 16|0); + $94 = +HEAPF32[$93>>2]; + $95 = $84 * $94; + $96 = ((($$0504564)) + 20|0); + $97 = +HEAPF32[$96>>2]; + $98 = $87 * $97; + $99 = $95 - $98; + $100 = ((($$0506562)) + 4|0); + HEAPF32[$100>>2] = $99; + $101 = +HEAPF32[$93>>2]; + $102 = $87 * $101; + $103 = +HEAPF32[$96>>2]; + $104 = $84 * $103; + $105 = $102 + $104; + HEAPF32[$$0506562>>2] = $105; + $106 = ((($$0507561)) + 12|0); + $107 = +HEAPF32[$106>>2]; + $108 = ((($$0511560)) + 12|0); + $109 = +HEAPF32[$108>>2]; + $110 = $107 - $109; + $111 = ((($$0507561)) + 8|0); + $112 = +HEAPF32[$111>>2]; + $113 = ((($$0511560)) + 8|0); + $114 = +HEAPF32[$113>>2]; + $115 = $112 - $114; + $116 = $107 + $109; + $117 = ((($$0505563)) + 12|0); + HEAPF32[$117>>2] = $116; + $118 = +HEAPF32[$111>>2]; + $119 = +HEAPF32[$113>>2]; + $120 = $118 + $119; + $121 = ((($$0505563)) + 8|0); + HEAPF32[$121>>2] = $120; + $122 = +HEAPF32[$$0504564>>2]; + $123 = $110 * $122; + $124 = ((($$0504564)) + 4|0); + $125 = +HEAPF32[$124>>2]; + $126 = $115 * $125; + $127 = $123 - $126; + $128 = ((($$0506562)) + 12|0); + HEAPF32[$128>>2] = $127; + $129 = +HEAPF32[$$0504564>>2]; + $130 = $115 * $129; + $131 = +HEAPF32[$124>>2]; + $132 = $110 * $131; + $133 = $130 + $132; + $134 = ((($$0506562)) + 8|0); + HEAPF32[$134>>2] = $133; + $135 = ((($$0504564)) + -32|0); + $136 = ((($$0505563)) + 16|0); + $137 = ((($$0506562)) + 16|0); + $138 = ((($$0507561)) + 16|0); + $139 = ((($$0511560)) + 16|0); + $140 = ($135>>>0)<($16>>>0); + if ($140) { + break; + } else { + $$0504564 = $135;$$0505563 = $136;$$0506562 = $137;$$0507561 = $138;$$0511560 = $139; + } + } + } + $141 = (_ilog($1)|0); + $142 = $1 >> 4; + $143 = (($4) + -1)|0; + $144 = (0 - ($6))|0; + _imdct_step3_iter0_loop($142,$0,$143,$144,$16); + $145 = (($143) - ($5))|0; + _imdct_step3_iter0_loop($142,$0,$145,$144,$16); + $146 = $1 >> 5; + $147 = (0 - ($142))|0; + _imdct_step3_inner_r_loop($146,$0,$143,$147,$16,16); + $148 = (($143) - ($6))|0; + _imdct_step3_inner_r_loop($146,$0,$148,$147,$16,16); + $149 = $6 << 1; + $150 = (($143) - ($149))|0; + _imdct_step3_inner_r_loop($146,$0,$150,$147,$16,16); + $151 = Math_imul($6, -3)|0; + $152 = (($143) + ($151))|0; + _imdct_step3_inner_r_loop($146,$0,$152,$147,$16,16); + $153 = (($141) + -4)|0; + $154 = $153 >> 1; + $155 = ($154|0)>(2); + if ($155) { + $$0557 = 2; + while(1) { + $159 = (($$0557) + 2)|0; + $160 = $1 >> $159; + $156 = (($$0557) + 1)|0; + $161 = 1 << $156; + $162 = ($156|0)==(31); + if (!($162)) { + $163 = $160 >> 1; + $164 = (($$0557) + 4)|0; + $165 = $1 >> $164; + $166 = (0 - ($163))|0; + $167 = (($$0557) + 3)|0; + $168 = 1 << $167; + $$0517554 = 0; + while(1) { + $169 = Math_imul($$0517554, $160)|0; + $170 = (($143) - ($169))|0; + _imdct_step3_inner_r_loop($165,$0,$170,$166,$16,$168); + $171 = (($$0517554) + 1)|0; + $172 = ($171|0)<($161|0); + if ($172) { + $$0517554 = $171; + } else { + break; + } + } + } + $exitcond584 = ($156|0)==($154|0); + if ($exitcond584) { + $$0$lcssa = $154; + break; + } else { + $$0557 = $156; + } + } + } else { + $$0$lcssa = 2; + } + $157 = (($141) + -7)|0; + $158 = ($$0$lcssa|0)<($157|0); + if ($158) { + $$1551 = $$0$lcssa; + while(1) { + $174 = (($$1551) + 2)|0; + $175 = $1 >> $174; + $176 = (($$1551) + 3)|0; + $177 = 1 << $176; + $178 = (($$1551) + 6)|0; + $179 = $1 >> $178; + $173 = (($$1551) + 1)|0; + $180 = 1 << $173; + $181 = ($179|0)>(0); + if ($181) { + $182 = $175 >> 1; + $183 = (0 - ($182))|0; + $184 = $177 << 2; + $$0515548 = $16;$$0516547 = $143;$$0518546 = $179; + while(1) { + _imdct_step3_inner_s_loop($180,$0,$$0516547,$183,$$0515548,$177,$175); + $185 = (($$0515548) + ($184<<2)|0); + $186 = (($$0516547) + -8)|0; + $187 = (($$0518546) + -1)|0; + $188 = ($$0518546|0)>(1); + if ($188) { + $$0515548 = $185;$$0516547 = $186;$$0518546 = $187; + } else { + break; + } + } + } + $exitcond = ($173|0)==($157|0); + if ($exitcond) { + break; + } else { + $$1551 = $173; + } + } + } + _imdct_step3_inner_s_loop_ld654($146,$0,$143,$16,$1); + $189 = (($5) + -4)|0; + $190 = (($19) + ($189<<2)|0); + $191 = (($4) + -4)|0; + $192 = ($190>>>0)<($19>>>0); + if (!($192)) { + $193 = (($19) + ($191<<2)|0); + $194 = (((($2)) + 1100|0) + ($3<<2)|0); + $195 = HEAP32[$194>>2]|0; + $$0512542 = $193;$$0513541 = $190;$$0514540 = $195; + while(1) { + $196 = HEAP16[$$0514540>>1]|0; + $197 = $196&65535; + $198 = (($0) + ($197<<2)|0); + $199 = HEAP32[$198>>2]|0; + $200 = ((($$0512542)) + 12|0); + HEAP32[$200>>2] = $199; + $201 = (($197) + 1)|0; + $202 = (($0) + ($201<<2)|0); + $203 = HEAP32[$202>>2]|0; + $204 = ((($$0512542)) + 8|0); + HEAP32[$204>>2] = $203; + $205 = (($197) + 2)|0; + $206 = (($0) + ($205<<2)|0); + $207 = HEAP32[$206>>2]|0; + $208 = ((($$0513541)) + 12|0); + HEAP32[$208>>2] = $207; + $209 = (($197) + 3)|0; + $210 = (($0) + ($209<<2)|0); + $211 = HEAP32[$210>>2]|0; + $212 = ((($$0513541)) + 8|0); + HEAP32[$212>>2] = $211; + $213 = ((($$0514540)) + 2|0); + $214 = HEAP16[$213>>1]|0; + $215 = $214&65535; + $216 = (($0) + ($215<<2)|0); + $217 = HEAP32[$216>>2]|0; + $218 = ((($$0512542)) + 4|0); + HEAP32[$218>>2] = $217; + $219 = (($215) + 1)|0; + $220 = (($0) + ($219<<2)|0); + $221 = HEAP32[$220>>2]|0; + HEAP32[$$0512542>>2] = $221; + $222 = (($215) + 2)|0; + $223 = (($0) + ($222<<2)|0); + $224 = HEAP32[$223>>2]|0; + $225 = ((($$0513541)) + 4|0); + HEAP32[$225>>2] = $224; + $226 = (($215) + 3)|0; + $227 = (($0) + ($226<<2)|0); + $228 = HEAP32[$227>>2]|0; + HEAP32[$$0513541>>2] = $228; + $229 = ((($$0513541)) + -16|0); + $230 = ((($$0512542)) + -16|0); + $231 = ((($$0514540)) + 4|0); + $232 = ($229>>>0)<($19>>>0); + if ($232) { + break; + } else { + $$0512542 = $230;$$0513541 = $229;$$0514540 = $231; + } + } + } + $233 = (($19) + ($4<<2)|0); + $$0508532 = ((($233)) + -16|0); + $234 = ($19>>>0)<($$0508532>>>0); + if ($234) { + $235 = (((($2)) + 1084|0) + ($3<<2)|0); + $236 = HEAP32[$235>>2]|0; + $$0508536 = $$0508532;$$0509534 = $19;$$0510533 = $236;$$pn535 = $233; + while(1) { + $237 = +HEAPF32[$$0509534>>2]; + $238 = ((($$pn535)) + -8|0); + $239 = +HEAPF32[$238>>2]; + $240 = $237 - $239; + $241 = ((($$0509534)) + 4|0); + $242 = +HEAPF32[$241>>2]; + $243 = ((($$pn535)) + -4|0); + $244 = +HEAPF32[$243>>2]; + $245 = $242 + $244; + $246 = ((($$0510533)) + 4|0); + $247 = +HEAPF32[$246>>2]; + $248 = $240 * $247; + $249 = +HEAPF32[$$0510533>>2]; + $250 = $245 * $249; + $251 = $248 + $250; + $252 = $247 * $245; + $253 = $240 * $249; + $254 = $252 - $253; + $255 = $237 + $239; + $256 = $242 - $244; + $257 = $255 + $251; + HEAPF32[$$0509534>>2] = $257; + $258 = $256 + $254; + HEAPF32[$241>>2] = $258; + $259 = $255 - $251; + HEAPF32[$238>>2] = $259; + $260 = $254 - $256; + HEAPF32[$243>>2] = $260; + $261 = ((($$0509534)) + 8|0); + $262 = +HEAPF32[$261>>2]; + $263 = +HEAPF32[$$0508536>>2]; + $264 = $262 - $263; + $265 = ((($$0509534)) + 12|0); + $266 = +HEAPF32[$265>>2]; + $267 = ((($$pn535)) + -12|0); + $268 = +HEAPF32[$267>>2]; + $269 = $266 + $268; + $270 = ((($$0510533)) + 12|0); + $271 = +HEAPF32[$270>>2]; + $272 = $264 * $271; + $273 = ((($$0510533)) + 8|0); + $274 = +HEAPF32[$273>>2]; + $275 = $269 * $274; + $276 = $272 + $275; + $277 = $271 * $269; + $278 = $264 * $274; + $279 = $277 - $278; + $280 = $262 + $263; + $281 = $266 - $268; + $282 = $280 + $276; + HEAPF32[$261>>2] = $282; + $283 = $281 + $279; + HEAPF32[$265>>2] = $283; + $284 = $280 - $276; + HEAPF32[$$0508536>>2] = $284; + $285 = $279 - $281; + HEAPF32[$267>>2] = $285; + $286 = ((($$0510533)) + 16|0); + $287 = ((($$0509534)) + 16|0); + $$0508 = ((($$0508536)) + -16|0); + $288 = ($287>>>0)<($$0508>>>0); + if ($288) { + $$pn535$phi = $$0508536;$$0508536 = $$0508;$$0509534 = $287;$$0510533 = $286;$$pn535 = $$pn535$phi; + } else { + break; + } + } + } + $$0494522 = ((($233)) + -32|0); + $289 = ($$0494522>>>0)<($19>>>0); + if ($289) { + HEAP32[$7>>2] = $8; + STACKTOP = sp;return; + } + $290 = (($1) + -4)|0; + $291 = (($0) + ($290<<2)|0); + $292 = (($0) + ($191<<2)|0); + $293 = (((($2)) + 1076|0) + ($3<<2)|0); + $294 = HEAP32[$293>>2]|0; + $295 = (($294) + ($4<<2)|0); + $$0494530 = $$0494522;$$0495531$pn = $295;$$0496527 = $291;$$0497526 = $20;$$0498525 = $292;$$0499524 = $0;$$pn520529 = $233; + while(1) { + $$0495531 = ((($$0495531$pn)) + -32|0); + $296 = ((($$pn520529)) + -8|0); + $297 = +HEAPF32[$296>>2]; + $298 = ((($$0495531$pn)) + -4|0); + $299 = +HEAPF32[$298>>2]; + $300 = $297 * $299; + $301 = ((($$pn520529)) + -4|0); + $302 = +HEAPF32[$301>>2]; + $303 = ((($$0495531$pn)) + -8|0); + $304 = +HEAPF32[$303>>2]; + $305 = $302 * $304; + $306 = $300 - $305; + $307 = $297 * $304; + $308 = -$307; + $309 = $299 * $302; + $310 = $308 - $309; + HEAPF32[$$0499524>>2] = $306; + $311 = -$306; + $312 = ((($$0498525)) + 12|0); + HEAPF32[$312>>2] = $311; + HEAPF32[$$0497526>>2] = $310; + $313 = ((($$0496527)) + 12|0); + HEAPF32[$313>>2] = $310; + $314 = ((($$pn520529)) + -16|0); + $315 = +HEAPF32[$314>>2]; + $316 = ((($$0495531$pn)) + -12|0); + $317 = +HEAPF32[$316>>2]; + $318 = $315 * $317; + $319 = ((($$pn520529)) + -12|0); + $320 = +HEAPF32[$319>>2]; + $321 = ((($$0495531$pn)) + -16|0); + $322 = +HEAPF32[$321>>2]; + $323 = $320 * $322; + $324 = $318 - $323; + $325 = $315 * $322; + $326 = -$325; + $327 = $317 * $320; + $328 = $326 - $327; + $329 = ((($$0499524)) + 4|0); + HEAPF32[$329>>2] = $324; + $330 = -$324; + $331 = ((($$0498525)) + 8|0); + HEAPF32[$331>>2] = $330; + $332 = ((($$0497526)) + 4|0); + HEAPF32[$332>>2] = $328; + $333 = ((($$0496527)) + 8|0); + HEAPF32[$333>>2] = $328; + $334 = ((($$pn520529)) + -24|0); + $335 = +HEAPF32[$334>>2]; + $336 = ((($$0495531$pn)) + -20|0); + $337 = +HEAPF32[$336>>2]; + $338 = $335 * $337; + $339 = ((($$pn520529)) + -20|0); + $340 = +HEAPF32[$339>>2]; + $341 = ((($$0495531$pn)) + -24|0); + $342 = +HEAPF32[$341>>2]; + $343 = $340 * $342; + $344 = $338 - $343; + $345 = $335 * $342; + $346 = -$345; + $347 = $337 * $340; + $348 = $346 - $347; + $349 = ((($$0499524)) + 8|0); + HEAPF32[$349>>2] = $344; + $350 = -$344; + $351 = ((($$0498525)) + 4|0); + HEAPF32[$351>>2] = $350; + $352 = ((($$0497526)) + 8|0); + HEAPF32[$352>>2] = $348; + $353 = ((($$0496527)) + 4|0); + HEAPF32[$353>>2] = $348; + $354 = +HEAPF32[$$0494530>>2]; + $355 = ((($$0495531$pn)) + -28|0); + $356 = +HEAPF32[$355>>2]; + $357 = $354 * $356; + $358 = ((($$pn520529)) + -28|0); + $359 = +HEAPF32[$358>>2]; + $360 = +HEAPF32[$$0495531>>2]; + $361 = $359 * $360; + $362 = $357 - $361; + $363 = $354 * $360; + $364 = -$363; + $365 = $356 * $359; + $366 = $364 - $365; + $367 = ((($$0499524)) + 12|0); + HEAPF32[$367>>2] = $362; + $368 = -$362; + HEAPF32[$$0498525>>2] = $368; + $369 = ((($$0497526)) + 12|0); + HEAPF32[$369>>2] = $366; + HEAPF32[$$0496527>>2] = $366; + $370 = ((($$0499524)) + 16|0); + $371 = ((($$0497526)) + 16|0); + $372 = ((($$0498525)) + -16|0); + $373 = ((($$0496527)) + -16|0); + $$0494 = ((($$0494530)) + -32|0); + $374 = ($$0494>>>0)<($19>>>0); + if ($374) { + break; + } else { + $$pn520529$phi = $$0494530;$$0494530 = $$0494;$$0495531$pn = $$0495531;$$0496527 = $373;$$0497526 = $371;$$0498525 = $372;$$0499524 = $370;$$pn520529 = $$pn520529$phi; + } + } + HEAP32[$7>>2] = $8; + STACKTOP = sp;return; +} +function _flush_packet($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, label = 0, sp = 0; sp = STACKTOP; while(1) { - $0 = (_get8_packet_raw($f)|0); - $1 = ($0|0)==(-1); - if ($1) { + $1 = (_get8_packet_raw($0)|0); + $2 = ($1|0)==(-1); + if ($2) { break; } } return; } -function _maybe_start_packet($f) { - $f = $f|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $3 = 0, $4 = 0, $5 = 0; - var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; +function _get8_packet_raw($0) { + $0 = $0|0; + var $$0 = 0, $$pr = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = ((($f)) + 1396|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)==(-1); - if ($2) { - $3 = (_get8($f)|0); - $4 = ((($f)) + 112|0); + $1 = ((($0)) + 1376|0); + $2 = HEAP8[$1>>0]|0; + $3 = ($2<<24>>24)==(0); + if ($3) { + $4 = ((($0)) + 1384|0); $5 = HEAP32[$4>>2]|0; $6 = ($5|0)==(0); if (!($6)) { - $$0 = 0; + $$0 = -1; return ($$0|0); } - $7 = ($3<<24>>24)==(79); - if (!($7)) { - _error($f,30); - $$0 = 0; + $7 = (_next_segment($0)|0); + $8 = ($7|0)==(0); + if ($8) { + $$0 = -1; return ($$0|0); } - $8 = (_get8($f)|0); - $9 = ($8<<24>>24)==(103); - if (!($9)) { - _error($f,30); - $$0 = 0; - return ($$0|0); - } - $10 = (_get8($f)|0); - $11 = ($10<<24>>24)==(103); - if (!($11)) { - _error($f,30); - $$0 = 0; - return ($$0|0); - } - $12 = (_get8($f)|0); - $13 = ($12<<24>>24)==(83); - if (!($13)) { - _error($f,30); - $$0 = 0; - return ($$0|0); - } - $14 = (_start_page_no_capturepattern($f)|0); - $15 = ($14|0)==(0); - if ($15) { - $$0 = 0; - return ($$0|0); - } - $16 = ((($f)) + 1391|0); - $17 = HEAP8[$16>>0]|0; - $18 = $17 & 1; - $19 = ($18<<24>>24)==(0); - if (!($19)) { - $20 = ((($f)) + 1400|0); - HEAP32[$20>>2] = 0; - $21 = ((($f)) + 1392|0); - HEAP8[$21>>0] = 0; - _error($f,32); - $$0 = 0; - return ($$0|0); - } - } - $22 = (_start_packet($f)|0); - $$0 = $22; - return ($$0|0); -} -function _start_page_no_capturepattern($f) { - $f = $f|0; - var $$0 = 0, $$lcssa = 0, $$lcssa14 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; - var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; - var $42 = 0, $43 = 0, $44 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i$0 = 0, $i$0$in = 0, $i$0$lcssa15 = 0, $i1$04 = 0, $len$0$lcssa = 0, $len$03 = 0, $phitmp = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_get8($f)|0); - $1 = ($0<<24>>24)==(0); - if (!($1)) { - _error($f,31); - $$0 = 0; - return ($$0|0); - } - $2 = (_get8($f)|0); - $3 = ((($f)) + 1391|0); - HEAP8[$3>>0] = $2; - $4 = (_get32($f)|0); - $5 = (_get32($f)|0); - (_get32($f)|0); - $6 = (_get32($f)|0); - $7 = ((($f)) + 1128|0); - HEAP32[$7>>2] = $6; - (_get32($f)|0); - $8 = (_get8($f)|0); - $9 = $8&255; - $10 = ((($f)) + 1132|0); - HEAP32[$10>>2] = $9; - $11 = ((($f)) + 1136|0); - $12 = (_getn($f,$11,$9)|0); - $13 = ($12|0)==(0); - if ($13) { - _error($f,10); - $$0 = 0; - return ($$0|0); - } - $14 = ((($f)) + 1420|0); - HEAP32[$14>>2] = -2; - $15 = $5 & $4; - $16 = ($15|0)==(-1); - L9: do { - if (!($16)) { - $17 = HEAP32[$10>>2]|0; - $i$0$in = $17; - while(1) { - $i$0 = (($i$0$in) + -1)|0; - $18 = ($i$0$in|0)>(0); - if (!($18)) { - break L9; - } - $19 = (((($f)) + 1136|0) + ($i$0)|0); - $20 = HEAP8[$19>>0]|0; - $21 = ($20<<24>>24)==(-1); - if ($21) { - $i$0$in = $i$0; - } else { - $i$0$lcssa15 = $i$0; - break; - } - } - HEAP32[$14>>2] = $i$0$lcssa15; - $22 = ((($f)) + 1424|0); - HEAP32[$22>>2] = $4; - } - } while(0); - $23 = ((($f)) + 1393|0); - $24 = HEAP8[$23>>0]|0; - $25 = ($24<<24>>24)==(0); - if (!($25)) { - $26 = HEAP32[$10>>2]|0; - $27 = ($26|0)>(0); - if ($27) { - $28 = HEAP32[$10>>2]|0; - $i1$04 = 0;$len$03 = 0; - while(1) { - $29 = (((($f)) + 1136|0) + ($i1$04)|0); - $30 = HEAP8[$29>>0]|0; - $31 = $30&255; - $32 = (($31) + ($len$03))|0; - $33 = (($i1$04) + 1)|0; - $34 = ($33|0)<($28|0); - if ($34) { - $i1$04 = $33;$len$03 = $32; - } else { - $$lcssa14 = $32; - break; - } - } - $phitmp = (($$lcssa14) + 27)|0; - $$lcssa = $28;$len$0$lcssa = $phitmp; + $$pr = HEAP8[$1>>0]|0; + $9 = ($$pr<<24>>24)==(0); + if ($9) { + ___assert_fail((18995|0),(18880|0),1138,(19015|0)); + // unreachable; } else { - $$lcssa = $26;$len$0$lcssa = 27; + $11 = $$pr; } - $35 = ((($f)) + 52|0); - $36 = HEAP32[$35>>2]|0; - $37 = (($len$0$lcssa) + ($$lcssa))|0; - $38 = (($37) + ($36))|0; - $39 = ((($f)) + 56|0); - HEAP32[$39>>2] = $36; - $40 = ((($f)) + 60|0); - HEAP32[$40>>2] = $38; - $41 = ((($f)) + 64|0); - HEAP32[$41>>2] = $36; - $42 = ((($f)) + 68|0); - HEAP32[$42>>2] = 0; - $43 = ((($f)) + 72|0); - HEAP32[$43>>2] = $4; + } else { + $11 = $2; } - $44 = ((($f)) + 1396|0); - HEAP32[$44>>2] = 0; - $$0 = 1; + $10 = (($11) + -1)<<24>>24; + HEAP8[$1>>0] = $10; + $12 = ((($0)) + 1400|0); + $13 = HEAP32[$12>>2]|0; + $14 = (($13) + 1)|0; + HEAP32[$12>>2] = $14; + $15 = (_get8($0)|0); + $16 = $15&255; + $$0 = $16; return ($$0|0); } -function _start_packet($f) { - $f = $f|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; +function _next_segment($0) { + $0 = $0|0; + var $$0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = ((($f)) + 1396|0); - $1 = ((($f)) + 1391|0); - while(1) { - $2 = HEAP32[$0>>2]|0; - $3 = ($2|0)==(-1); - if (!($3)) { - label = 6; - break; - } - $4 = (_start_page($f)|0); - $5 = ($4|0)==(0); - if ($5) { - $$0 = 0; - label = 7; - break; - } - $6 = HEAP8[$1>>0]|0; - $7 = $6 & 1; - $8 = ($7<<24>>24)==(0); - if (!($8)) { - label = 5; - break; - } - } - if ((label|0) == 5) { - _error($f,32); + $1 = ((($0)) + 1384|0); + $2 = HEAP32[$1>>2]|0; + $3 = ($2|0)==(0); + if (!($3)) { $$0 = 0; return ($$0|0); } - else if ((label|0) == 6) { - $9 = ((($f)) + 1400|0); - HEAP32[$9>>2] = 0; - $10 = ((($f)) + 1412|0); - HEAP32[$10>>2] = 0; - $11 = ((($f)) + 1416|0); - HEAP32[$11>>2] = 0; - $12 = ((($f)) + 1392|0); - HEAP8[$12>>0] = 0; - $$0 = 1; - return ($$0|0); + $4 = ((($0)) + 1380|0); + $5 = HEAP32[$4>>2]|0; + $6 = ($5|0)==(-1); + if ($6) { + $7 = ((($0)) + 1116|0); + $8 = HEAP32[$7>>2]|0; + $9 = (($8) + -1)|0; + $10 = ((($0)) + 1388|0); + HEAP32[$10>>2] = $9; + $11 = (_start_page($0)|0); + $12 = ($11|0)==(0); + if ($12) { + HEAP32[$1>>2] = 1; + $$0 = 0; + return ($$0|0); + } + $13 = ((($0)) + 1375|0); + $14 = HEAP8[$13>>0]|0; + $15 = $14 & 1; + $16 = ($15<<24>>24)==(0); + if ($16) { + _error($0,32); + $$0 = 0; + return ($$0|0); + } } - else if ((label|0) == 7) { - return ($$0|0); + $17 = HEAP32[$4>>2]|0; + $18 = (($17) + 1)|0; + HEAP32[$4>>2] = $18; + $19 = (((($0)) + 1120|0) + ($17)|0); + $20 = HEAP8[$19>>0]|0; + $21 = $20&255; + $22 = ($20<<24>>24)==(-1); + if (!($22)) { + HEAP32[$1>>2] = 1; + $23 = ((($0)) + 1388|0); + HEAP32[$23>>2] = $17; + } + $24 = ((($0)) + 1116|0); + $25 = HEAP32[$24>>2]|0; + $26 = ($18|0)<($25|0); + if (!($26)) { + HEAP32[$4>>2] = -1; + } + $27 = ((($0)) + 1376|0); + $28 = HEAP8[$27>>0]|0; + $29 = ($28<<24>>24)==(0); + if (!($29)) { + ___assert_fail((19031|0),(18880|0),1124,(19052|0)); + // unreachable; + } + HEAP8[$27>>0] = $20; + $$0 = $21; + return ($$0|0); +} +function _get8($0) { + $0 = $0|0; + var $$1 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 32|0); + $2 = HEAP32[$1>>2]|0; + $3 = ($2|0)==(0|0); + if ($3) { + $10 = ((($0)) + 20|0); + $11 = HEAP32[$10>>2]|0; + $12 = (_fgetc($11)|0); + $13 = ($12|0)==(-1); + if ($13) { + $14 = ((($0)) + 96|0); + HEAP32[$14>>2] = 1; + $$1 = 0; + return ($$1|0); + } else { + $15 = $12&255; + $$1 = $15; + return ($$1|0); + } + } else { + $4 = ((($0)) + 40|0); + $5 = HEAP32[$4>>2]|0; + $6 = ($2>>>0)<($5>>>0); + if ($6) { + $8 = ((($2)) + 1|0); + HEAP32[$1>>2] = $8; + $9 = HEAP8[$2>>0]|0; + $$1 = $9; + return ($$1|0); + } else { + $7 = ((($0)) + 96|0); + HEAP32[$7>>2] = 1; + $$1 = 0; + return ($$1|0); + } } return (0)|0; } -function _start_page($f) { - $f = $f|0; - var $$0 = 0, $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0; +function _start_page($0) { + $0 = $0|0; + var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = (_capture_pattern($f)|0); - $1 = ($0|0)==(0); - if ($1) { - _error($f,30); + $1 = (_capture_pattern($0)|0); + $2 = ($1|0)==(0); + if ($2) { + _error($0,30); $$0 = 0; return ($$0|0); } else { - $2 = (_start_page_no_capturepattern($f)|0); - $$0 = $2; + $3 = (_start_page_no_capturepattern($0)|0); + $$0 = $3; return ($$0|0); } return (0)|0; } -function _capture_pattern($f) { - $f = $f|0; - var $$ = 0, $$0 = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; +function _capture_pattern($0) { + $0 = $0|0; + var $$ = 0, $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = (_get8($f)|0); - $1 = ($0<<24>>24)==(79); - if ($1) { - $2 = (_get8($f)|0); - $3 = ($2<<24>>24)==(103); - if ($3) { - $4 = (_get8($f)|0); - $5 = ($4<<24>>24)==(103); - if ($5) { - $6 = (_get8($f)|0); - $7 = ($6<<24>>24)==(83); - $$ = $7&1; + $1 = (_get8($0)|0); + $2 = ($1<<24>>24)==(79); + if ($2) { + $3 = (_get8($0)|0); + $4 = ($3<<24>>24)==(103); + if ($4) { + $5 = (_get8($0)|0); + $6 = ($5<<24>>24)==(103); + if ($6) { + $7 = (_get8($0)|0); + $8 = ($7<<24>>24)==(83); + $$ = $8&1; $$0 = $$; } else { $$0 = 0; @@ -37874,260 +51895,4860 @@ function _capture_pattern($f) { } return ($$0|0); } -function _get8_packet_raw($f) { - $f = $f|0; - var $$0 = 0, $$pr = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; +function _start_page_no_capturepattern($0) { + $0 = $0|0; + var $$0 = 0, $$058 = 0, $$058$in = 0, $$059$lcssa = 0, $$05963 = 0, $$06062 = 0, $$lcssa = 0, $$sroa$0$0$$sroa_idx = 0, $$sroa$5$0$$sroa_idx3 = 0, $$sroa$6$0$$sroa_idx5 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0; + var $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0; + var $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $phitmp = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = ((($f)) + 1392|0); - $1 = HEAP8[$0>>0]|0; + $1 = (_get8($0)|0); $2 = ($1<<24>>24)==(0); - if ($2) { - $3 = ((($f)) + 1400|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)==(0); - if (!($5)) { - $$0 = -1; - return ($$0|0); - } - $6 = (_next_segment($f)|0); - $7 = ($6|0)==(0); - if ($7) { - $$0 = -1; - return ($$0|0); - } - $$pr = HEAP8[$0>>0]|0; - $8 = ($$pr<<24>>24)==(0); - if ($8) { - ___assert_fail((21728|0),(20576|0),1129,(21752|0)); - // unreachable; - } else { - $10 = $$pr; - } - } else { - $10 = $1; - } - $9 = (($10) + -1)<<24>>24; - HEAP8[$0>>0] = $9; - $11 = ((($f)) + 1416|0); - $12 = HEAP32[$11>>2]|0; - $13 = (($12) + 1)|0; - HEAP32[$11>>2] = $13; - $14 = (_get8($f)|0); - $15 = $14&255; - $$0 = $15; - return ($$0|0); -} -function _next_segment($f) { - $f = $f|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($f)) + 1400|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)==(0); if (!($2)) { + _error($0,31); $$0 = 0; return ($$0|0); } - $3 = ((($f)) + 1396|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)==(-1); - if ($5) { - $6 = ((($f)) + 1132|0); - $7 = HEAP32[$6>>2]|0; - $8 = (($7) + -1)|0; - $9 = ((($f)) + 1404|0); - HEAP32[$9>>2] = $8; - $10 = (_start_page($f)|0); - $11 = ($10|0)==(0); - if ($11) { - HEAP32[$0>>2] = 1; - $$0 = 0; - return ($$0|0); - } - $12 = ((($f)) + 1391|0); - $13 = HEAP8[$12>>0]|0; - $14 = $13 & 1; - $15 = ($14<<24>>24)==(0); - if ($15) { - _error($f,32); - $$0 = 0; - return ($$0|0); - } - } - $16 = HEAP32[$3>>2]|0; - $17 = (($16) + 1)|0; - HEAP32[$3>>2] = $17; - $18 = (((($f)) + 1136|0) + ($16)|0); - $19 = HEAP8[$18>>0]|0; - $20 = $19&255; - $21 = ($19<<24>>24)==(-1); - if (!($21)) { - HEAP32[$0>>2] = 1; - $22 = HEAP32[$3>>2]|0; - $23 = (($22) + -1)|0; - $24 = ((($f)) + 1404|0); - HEAP32[$24>>2] = $23; - } - $25 = HEAP32[$3>>2]|0; - $26 = ((($f)) + 1132|0); - $27 = HEAP32[$26>>2]|0; - $28 = ($25|0)<($27|0); - if (!($28)) { - HEAP32[$3>>2] = -1; - } - $29 = ((($f)) + 1392|0); - $30 = HEAP8[$29>>0]|0; - $31 = ($30<<24>>24)==(0); - if (!($31)) { - ___assert_fail((21768|0),(20576|0),1115,(21792|0)); - // unreachable; - } - HEAP8[$29>>0] = $19; - $$0 = $20; - return ($$0|0); -} -function _get_bits($f,$n) { - $f = $f|0; - $n = $n|0; - var $$0 = 0, $$pr = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; - var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($f)) + 1412|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)<(0); - if ($2) { + $3 = (_get8($0)|0); + $4 = ((($0)) + 1375|0); + HEAP8[$4>>0] = $3; + $5 = (_get32($0)|0); + $6 = (_get32($0)|0); + (_get32($0)|0); + $7 = (_get32($0)|0); + $8 = ((($0)) + 1112|0); + HEAP32[$8>>2] = $7; + (_get32($0)|0); + $9 = (_get8($0)|0); + $10 = $9&255; + $11 = ((($0)) + 1116|0); + HEAP32[$11>>2] = $10; + $12 = ((($0)) + 1120|0); + $13 = (_getn($0,$12,$10)|0); + $14 = ($13|0)==(0); + if ($14) { + _error($0,10); $$0 = 0; return ($$0|0); } - $3 = ($1|0)<($n|0); - L4: do { - if ($3) { - $4 = ($n|0)>(24); - if ($4) { - $5 = (_get_bits($f,24)|0); - $6 = (($n) + -24)|0; - $7 = (_get_bits($f,$6)|0); - $8 = $7 << 24; - $9 = (($8) + ($5))|0; - return ($9|0); - } - $10 = ($1|0)==(0); - if ($10) { - $11 = ((($f)) + 1408|0); - HEAP32[$11>>2] = 0; - } - $12 = HEAP32[$0>>2]|0; - $13 = ($12|0)<($n|0); - if ($13) { - $14 = ((($f)) + 1408|0); - while(1) { - $15 = (_get8_packet_raw($f)|0); - $16 = ($15|0)==(-1); - if ($16) { - break; - } - $17 = HEAP32[$0>>2]|0; - $18 = $15 << $17; - $19 = HEAP32[$14>>2]|0; - $20 = (($19) + ($18))|0; - HEAP32[$14>>2] = $20; - $21 = HEAP32[$0>>2]|0; - $22 = (($21) + 8)|0; - HEAP32[$0>>2] = $22; - $23 = ($22|0)<($n|0); - if (!($23)) { - $24 = $22; - break L4; - } + $15 = ((($0)) + 1404|0); + HEAP32[$15>>2] = -2; + $16 = $6 & $5; + $17 = ($16|0)==(-1); + L9: do { + if (!($17)) { + $18 = HEAP32[$11>>2]|0; + $$058$in = $18; + while(1) { + $$058 = (($$058$in) + -1)|0; + $19 = ($$058$in|0)>(0); + if (!($19)) { + break L9; + } + $20 = (((($0)) + 1120|0) + ($$058)|0); + $21 = HEAP8[$20>>0]|0; + $22 = ($21<<24>>24)==(-1); + if ($22) { + $$058$in = $$058; + } else { + break; } - HEAP32[$0>>2] = -1; - $$0 = 0; - return ($$0|0); - } else { - $24 = $12; } - } else { - $$pr = HEAP32[$0>>2]|0; - $24 = $$pr; + HEAP32[$15>>2] = $$058; + $23 = ((($0)) + 1408|0); + HEAP32[$23>>2] = $5; } } while(0); - $25 = ($24|0)<(0); - if ($25) { + $24 = ((($0)) + 1377|0); + $25 = HEAP8[$24>>0]|0; + $26 = ($25<<24>>24)==(0); + if (!($26)) { + $27 = HEAP32[$11>>2]|0; + $28 = ($27|0)>(0); + if ($28) { + $29 = HEAP32[$11>>2]|0; + $$05963 = 0;$$06062 = 0; + while(1) { + $30 = (((($0)) + 1120|0) + ($$06062)|0); + $31 = HEAP8[$30>>0]|0; + $32 = $31&255; + $33 = (($32) + ($$05963))|0; + $34 = (($$06062) + 1)|0; + $35 = ($34|0)<($29|0); + if ($35) { + $$05963 = $33;$$06062 = $34; + } else { + break; + } + } + $phitmp = (($33) + 27)|0; + $$059$lcssa = $phitmp;$$lcssa = $29; + } else { + $$059$lcssa = 27;$$lcssa = $27; + } + $36 = ((($0)) + 52|0); + $37 = HEAP32[$36>>2]|0; + $38 = (($$059$lcssa) + ($$lcssa))|0; + $39 = (($38) + ($37))|0; + $$sroa$0$0$$sroa_idx = ((($0)) + 56|0); + HEAP32[$$sroa$0$0$$sroa_idx>>2] = $37; + $$sroa$5$0$$sroa_idx3 = ((($0)) + 60|0); + HEAP32[$$sroa$5$0$$sroa_idx3>>2] = $39; + $$sroa$6$0$$sroa_idx5 = ((($0)) + 64|0); + HEAP32[$$sroa$6$0$$sroa_idx5>>2] = $5; + } + $40 = ((($0)) + 1380|0); + HEAP32[$40>>2] = 0; + $$0 = 1; + return ($$0|0); +} +function _get32($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (_get8($0)|0); + $2 = $1&255; + $3 = (_get8($0)|0); + $4 = $3&255; + $5 = $4 << 8; + $6 = $5 | $2; + $7 = (_get8($0)|0); + $8 = $7&255; + $9 = $8 << 16; + $10 = $6 | $9; + $11 = (_get8($0)|0); + $12 = $11&255; + $13 = $12 << 24; + $14 = $10 | $13; + return ($14|0); +} +function _getn($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ((($0)) + 32|0); + $4 = HEAP32[$3>>2]|0; + $5 = ($4|0)==(0|0); + if ($5) { + $13 = ((($0)) + 20|0); + $14 = HEAP32[$13>>2]|0; + $15 = (_fread($1,$2,1,$14)|0); + $16 = ($15|0)==(1); + if ($16) { + $$0 = 1; + return ($$0|0); + } + $17 = ((($0)) + 96|0); + HEAP32[$17>>2] = 1; $$0 = 0; return ($$0|0); } - $26 = ((($f)) + 1408|0); - $27 = HEAP32[$26>>2]|0; - $28 = 1 << $n; - $29 = (($28) + -1)|0; - $30 = $27 & $29; - $31 = $27 >>> $n; - HEAP32[$26>>2] = $31; - $32 = HEAP32[$0>>2]|0; - $33 = (($32) - ($n))|0; - HEAP32[$0>>2] = $33; - $$0 = $30; - return ($$0|0); -} -function _setup_malloc($f,$sz) { - $f = $f|0; - $sz = $sz|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (($sz) + 3)|0; - $1 = $0 & -4; - $2 = ((($f)) + 8|0); - $3 = HEAP32[$2>>2]|0; - $4 = (($3) + ($1))|0; - HEAP32[$2>>2] = $4; - $5 = ((($f)) + 96|0); - $6 = HEAP32[$5>>2]|0; - $7 = ($6|0)==(0|0); - if ($7) { - $15 = ($1|0)==(0); - if ($15) { - $$0 = 0; - return ($$0|0); - } - $16 = (_malloc($1)|0); - $$0 = $16; + $6 = (($4) + ($2)|0); + $7 = ((($0)) + 40|0); + $8 = HEAP32[$7>>2]|0; + $9 = ($6>>>0)>($8>>>0); + if ($9) { + $10 = ((($0)) + 96|0); + HEAP32[$10>>2] = 1; + $$0 = 0; return ($$0|0); } else { - $8 = ((($f)) + 104|0); - $9 = HEAP32[$8>>2]|0; - $10 = (($9) + ($1))|0; - $11 = ((($f)) + 108|0); - $12 = HEAP32[$11>>2]|0; - $13 = ($10|0)>($12|0); - if ($13) { - $$0 = 0; - return ($$0|0); - } - $14 = (($6) + ($9)|0); - HEAP32[$8>>2] = $10; - $$0 = $14; + _memcpy(($1|0),($4|0),($2|0))|0; + $11 = HEAP32[$3>>2]|0; + $12 = (($11) + ($2)|0); + HEAP32[$3>>2] = $12; + $$0 = 1; return ($$0|0); } return (0)|0; } -function _vorbis_validate($data) { - $data = $data|0; - var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0; +function _setup_temp_malloc($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = (_memcmp($data,22240,6)|0); - $1 = ($0|0)==(0); - $2 = $1&1; - return ($2|0); + $2 = (($1) + 3)|0; + $3 = $2 & -4; + $4 = ((($0)) + 80|0); + $5 = HEAP32[$4>>2]|0; + $6 = ($5|0)==(0|0); + if ($6) { + $14 = (_malloc($3)|0); + $$0 = $14; + return ($$0|0); + } + $7 = ((($0)) + 92|0); + $8 = HEAP32[$7>>2]|0; + $9 = (($8) - ($3))|0; + $10 = ((($0)) + 88|0); + $11 = HEAP32[$10>>2]|0; + $12 = ($9|0)<($11|0); + if ($12) { + $$0 = 0; + return ($$0|0); + } + HEAP32[$7>>2] = $9; + $13 = (($5) + ($9)|0); + $$0 = $13; + return ($$0|0); +} +function _imdct_step3_iter0_loop($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$0100 = 0, $$09499 = 0, $$09598 = 0, $$09697 = 0, $10 = 0, $100 = 0.0, $101 = 0.0, $102 = 0.0, $103 = 0.0, $104 = 0.0, $105 = 0.0, $106 = 0.0, $107 = 0.0, $108 = 0, $109 = 0, $11 = 0.0, $110 = 0, $111 = 0, $112 = 0, $12 = 0.0; + var $13 = 0.0, $14 = 0, $15 = 0.0, $16 = 0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0, $25 = 0.0, $26 = 0.0, $27 = 0.0, $28 = 0.0, $29 = 0.0, $30 = 0.0, $31 = 0.0, $32 = 0.0; + var $33 = 0, $34 = 0, $35 = 0.0, $36 = 0, $37 = 0.0, $38 = 0.0, $39 = 0, $40 = 0.0, $41 = 0, $42 = 0.0, $43 = 0.0, $44 = 0.0, $45 = 0.0, $46 = 0.0, $47 = 0.0, $48 = 0.0, $49 = 0, $5 = 0, $50 = 0.0, $51 = 0.0; + var $52 = 0.0, $53 = 0.0, $54 = 0.0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0, $59 = 0, $6 = 0, $60 = 0.0, $61 = 0, $62 = 0.0, $63 = 0.0, $64 = 0, $65 = 0.0, $66 = 0, $67 = 0.0, $68 = 0.0, $69 = 0.0, $7 = 0; + var $70 = 0.0, $71 = 0.0, $72 = 0.0, $73 = 0.0, $74 = 0, $75 = 0.0, $76 = 0.0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0, $80 = 0.0, $81 = 0.0, $82 = 0.0, $83 = 0, $84 = 0, $85 = 0.0, $86 = 0, $87 = 0.0, $88 = 0.0; + var $89 = 0, $9 = 0, $90 = 0.0, $91 = 0, $92 = 0.0, $93 = 0.0, $94 = 0.0, $95 = 0.0, $96 = 0.0, $97 = 0.0, $98 = 0.0, $99 = 0, label = 0, sp = 0; + sp = STACKTOP; + $5 = (($1) + ($2<<2)|0); + $6 = $0 & 3; + $7 = ($6|0)==(0); + if (!($7)) { + ___assert_fail((19065|0),(18880|0),2007,(19078|0)); + // unreachable; + } + $8 = $0 >> 2; + $9 = ($8|0)>(0); + if (!($9)) { + return; + } + $10 = (($5) + ($3<<2)|0); + $$0100 = $4;$$09499 = $5;$$09598 = $8;$$09697 = $10; + while(1) { + $11 = +HEAPF32[$$09499>>2]; + $12 = +HEAPF32[$$09697>>2]; + $13 = $11 - $12; + $14 = ((($$09499)) + -4|0); + $15 = +HEAPF32[$14>>2]; + $16 = ((($$09697)) + -4|0); + $17 = +HEAPF32[$16>>2]; + $18 = $15 - $17; + $19 = $11 + $12; + HEAPF32[$$09499>>2] = $19; + $20 = +HEAPF32[$16>>2]; + $21 = $15 + $20; + HEAPF32[$14>>2] = $21; + $22 = +HEAPF32[$$0100>>2]; + $23 = $13 * $22; + $24 = ((($$0100)) + 4|0); + $25 = +HEAPF32[$24>>2]; + $26 = $18 * $25; + $27 = $23 - $26; + HEAPF32[$$09697>>2] = $27; + $28 = +HEAPF32[$$0100>>2]; + $29 = $18 * $28; + $30 = +HEAPF32[$24>>2]; + $31 = $13 * $30; + $32 = $29 + $31; + HEAPF32[$16>>2] = $32; + $33 = ((($$0100)) + 32|0); + $34 = ((($$09499)) + -8|0); + $35 = +HEAPF32[$34>>2]; + $36 = ((($$09697)) + -8|0); + $37 = +HEAPF32[$36>>2]; + $38 = $35 - $37; + $39 = ((($$09499)) + -12|0); + $40 = +HEAPF32[$39>>2]; + $41 = ((($$09697)) + -12|0); + $42 = +HEAPF32[$41>>2]; + $43 = $40 - $42; + $44 = $35 + $37; + HEAPF32[$34>>2] = $44; + $45 = +HEAPF32[$41>>2]; + $46 = $40 + $45; + HEAPF32[$39>>2] = $46; + $47 = +HEAPF32[$33>>2]; + $48 = $38 * $47; + $49 = ((($$0100)) + 36|0); + $50 = +HEAPF32[$49>>2]; + $51 = $43 * $50; + $52 = $48 - $51; + HEAPF32[$36>>2] = $52; + $53 = +HEAPF32[$33>>2]; + $54 = $43 * $53; + $55 = +HEAPF32[$49>>2]; + $56 = $38 * $55; + $57 = $54 + $56; + HEAPF32[$41>>2] = $57; + $58 = ((($$0100)) + 64|0); + $59 = ((($$09499)) + -16|0); + $60 = +HEAPF32[$59>>2]; + $61 = ((($$09697)) + -16|0); + $62 = +HEAPF32[$61>>2]; + $63 = $60 - $62; + $64 = ((($$09499)) + -20|0); + $65 = +HEAPF32[$64>>2]; + $66 = ((($$09697)) + -20|0); + $67 = +HEAPF32[$66>>2]; + $68 = $65 - $67; + $69 = $60 + $62; + HEAPF32[$59>>2] = $69; + $70 = +HEAPF32[$66>>2]; + $71 = $65 + $70; + HEAPF32[$64>>2] = $71; + $72 = +HEAPF32[$58>>2]; + $73 = $63 * $72; + $74 = ((($$0100)) + 68|0); + $75 = +HEAPF32[$74>>2]; + $76 = $68 * $75; + $77 = $73 - $76; + HEAPF32[$61>>2] = $77; + $78 = +HEAPF32[$58>>2]; + $79 = $68 * $78; + $80 = +HEAPF32[$74>>2]; + $81 = $63 * $80; + $82 = $79 + $81; + HEAPF32[$66>>2] = $82; + $83 = ((($$0100)) + 96|0); + $84 = ((($$09499)) + -24|0); + $85 = +HEAPF32[$84>>2]; + $86 = ((($$09697)) + -24|0); + $87 = +HEAPF32[$86>>2]; + $88 = $85 - $87; + $89 = ((($$09499)) + -28|0); + $90 = +HEAPF32[$89>>2]; + $91 = ((($$09697)) + -28|0); + $92 = +HEAPF32[$91>>2]; + $93 = $90 - $92; + $94 = $85 + $87; + HEAPF32[$84>>2] = $94; + $95 = +HEAPF32[$91>>2]; + $96 = $90 + $95; + HEAPF32[$89>>2] = $96; + $97 = +HEAPF32[$83>>2]; + $98 = $88 * $97; + $99 = ((($$0100)) + 100|0); + $100 = +HEAPF32[$99>>2]; + $101 = $93 * $100; + $102 = $98 - $101; + HEAPF32[$86>>2] = $102; + $103 = +HEAPF32[$83>>2]; + $104 = $93 * $103; + $105 = +HEAPF32[$99>>2]; + $106 = $88 * $105; + $107 = $104 + $106; + HEAPF32[$91>>2] = $107; + $108 = ((($$0100)) + 128|0); + $109 = ((($$09499)) + -32|0); + $110 = ((($$09697)) + -32|0); + $111 = (($$09598) + -1)|0; + $112 = ($$09598|0)>(1); + if ($112) { + $$0100 = $108;$$09499 = $109;$$09598 = $111;$$09697 = $110; + } else { + break; + } + } + return; +} +function _imdct_step3_inner_r_loop($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + var $$0103 = 0, $$097102 = 0, $$098101 = 0, $$099100 = 0, $10 = 0.0, $100 = 0.0, $101 = 0.0, $102 = 0.0, $103 = 0.0, $104 = 0.0, $105 = 0.0, $106 = 0.0, $107 = 0, $108 = 0, $109 = 0, $11 = 0.0, $110 = 0, $111 = 0, $12 = 0.0, $13 = 0; + var $14 = 0.0, $15 = 0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0.0, $28 = 0.0, $29 = 0.0, $30 = 0.0, $31 = 0.0, $32 = 0, $33 = 0; + var $34 = 0.0, $35 = 0, $36 = 0.0, $37 = 0.0, $38 = 0, $39 = 0.0, $40 = 0, $41 = 0.0, $42 = 0.0, $43 = 0.0, $44 = 0.0, $45 = 0.0, $46 = 0.0, $47 = 0.0, $48 = 0, $49 = 0.0, $50 = 0.0, $51 = 0.0, $52 = 0.0, $53 = 0.0; + var $54 = 0.0, $55 = 0.0, $56 = 0.0, $57 = 0, $58 = 0, $59 = 0.0, $6 = 0, $60 = 0, $61 = 0.0, $62 = 0.0, $63 = 0, $64 = 0.0, $65 = 0, $66 = 0.0, $67 = 0.0, $68 = 0.0, $69 = 0.0, $7 = 0, $70 = 0.0, $71 = 0.0; + var $72 = 0.0, $73 = 0, $74 = 0.0, $75 = 0.0, $76 = 0.0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0, $80 = 0.0, $81 = 0.0, $82 = 0, $83 = 0, $84 = 0.0, $85 = 0, $86 = 0.0, $87 = 0.0, $88 = 0, $89 = 0.0, $9 = 0; + var $90 = 0, $91 = 0.0, $92 = 0.0, $93 = 0.0, $94 = 0.0, $95 = 0.0, $96 = 0.0, $97 = 0.0, $98 = 0, $99 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $6 = (($1) + ($2<<2)|0); + $7 = $0 >> 2; + $8 = ($7|0)>(0); + if (!($8)) { + return; + } + $9 = (($6) + ($3<<2)|0); + $$0103 = $9;$$097102 = $6;$$098101 = $4;$$099100 = $7; + while(1) { + $10 = +HEAPF32[$$097102>>2]; + $11 = +HEAPF32[$$0103>>2]; + $12 = $10 - $11; + $13 = ((($$097102)) + -4|0); + $14 = +HEAPF32[$13>>2]; + $15 = ((($$0103)) + -4|0); + $16 = +HEAPF32[$15>>2]; + $17 = $14 - $16; + $18 = $10 + $11; + HEAPF32[$$097102>>2] = $18; + $19 = +HEAPF32[$15>>2]; + $20 = $14 + $19; + HEAPF32[$13>>2] = $20; + $21 = +HEAPF32[$$098101>>2]; + $22 = $12 * $21; + $23 = ((($$098101)) + 4|0); + $24 = +HEAPF32[$23>>2]; + $25 = $17 * $24; + $26 = $22 - $25; + HEAPF32[$$0103>>2] = $26; + $27 = +HEAPF32[$$098101>>2]; + $28 = $17 * $27; + $29 = +HEAPF32[$23>>2]; + $30 = $12 * $29; + $31 = $28 + $30; + HEAPF32[$15>>2] = $31; + $32 = (($$098101) + ($5<<2)|0); + $33 = ((($$097102)) + -8|0); + $34 = +HEAPF32[$33>>2]; + $35 = ((($$0103)) + -8|0); + $36 = +HEAPF32[$35>>2]; + $37 = $34 - $36; + $38 = ((($$097102)) + -12|0); + $39 = +HEAPF32[$38>>2]; + $40 = ((($$0103)) + -12|0); + $41 = +HEAPF32[$40>>2]; + $42 = $39 - $41; + $43 = $34 + $36; + HEAPF32[$33>>2] = $43; + $44 = +HEAPF32[$40>>2]; + $45 = $39 + $44; + HEAPF32[$38>>2] = $45; + $46 = +HEAPF32[$32>>2]; + $47 = $37 * $46; + $48 = ((($32)) + 4|0); + $49 = +HEAPF32[$48>>2]; + $50 = $42 * $49; + $51 = $47 - $50; + HEAPF32[$35>>2] = $51; + $52 = +HEAPF32[$32>>2]; + $53 = $42 * $52; + $54 = +HEAPF32[$48>>2]; + $55 = $37 * $54; + $56 = $53 + $55; + HEAPF32[$40>>2] = $56; + $57 = (($32) + ($5<<2)|0); + $58 = ((($$097102)) + -16|0); + $59 = +HEAPF32[$58>>2]; + $60 = ((($$0103)) + -16|0); + $61 = +HEAPF32[$60>>2]; + $62 = $59 - $61; + $63 = ((($$097102)) + -20|0); + $64 = +HEAPF32[$63>>2]; + $65 = ((($$0103)) + -20|0); + $66 = +HEAPF32[$65>>2]; + $67 = $64 - $66; + $68 = $59 + $61; + HEAPF32[$58>>2] = $68; + $69 = +HEAPF32[$65>>2]; + $70 = $64 + $69; + HEAPF32[$63>>2] = $70; + $71 = +HEAPF32[$57>>2]; + $72 = $62 * $71; + $73 = ((($57)) + 4|0); + $74 = +HEAPF32[$73>>2]; + $75 = $67 * $74; + $76 = $72 - $75; + HEAPF32[$60>>2] = $76; + $77 = +HEAPF32[$57>>2]; + $78 = $67 * $77; + $79 = +HEAPF32[$73>>2]; + $80 = $62 * $79; + $81 = $78 + $80; + HEAPF32[$65>>2] = $81; + $82 = (($57) + ($5<<2)|0); + $83 = ((($$097102)) + -24|0); + $84 = +HEAPF32[$83>>2]; + $85 = ((($$0103)) + -24|0); + $86 = +HEAPF32[$85>>2]; + $87 = $84 - $86; + $88 = ((($$097102)) + -28|0); + $89 = +HEAPF32[$88>>2]; + $90 = ((($$0103)) + -28|0); + $91 = +HEAPF32[$90>>2]; + $92 = $89 - $91; + $93 = $84 + $86; + HEAPF32[$83>>2] = $93; + $94 = +HEAPF32[$90>>2]; + $95 = $89 + $94; + HEAPF32[$88>>2] = $95; + $96 = +HEAPF32[$82>>2]; + $97 = $87 * $96; + $98 = ((($82)) + 4|0); + $99 = +HEAPF32[$98>>2]; + $100 = $92 * $99; + $101 = $97 - $100; + HEAPF32[$85>>2] = $101; + $102 = +HEAPF32[$82>>2]; + $103 = $92 * $102; + $104 = +HEAPF32[$98>>2]; + $105 = $87 * $104; + $106 = $103 + $105; + HEAPF32[$90>>2] = $106; + $107 = ((($$097102)) + -32|0); + $108 = ((($$0103)) + -32|0); + $109 = (($82) + ($5<<2)|0); + $110 = (($$099100) + -1)|0; + $111 = ($$099100|0)>(1); + if ($111) { + $$0103 = $108;$$097102 = $107;$$098101 = $109;$$099100 = $110; + } else { + break; + } + } + return; +} +function _imdct_step3_inner_s_loop($0,$1,$2,$3,$4,$5,$6) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + $6 = $6|0; + var $$0129132 = 0, $$0130131 = 0, $$0133 = 0, $10 = 0, $100 = 0.0, $101 = 0.0, $102 = 0.0, $103 = 0.0, $104 = 0.0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $11 = 0.0, $12 = 0, $13 = 0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0.0; + var $18 = 0, $19 = 0, $20 = 0.0, $21 = 0, $22 = 0, $23 = 0.0, $24 = 0, $25 = 0, $26 = 0.0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0.0, $32 = 0.0, $33 = 0.0, $34 = 0, $35 = 0.0, $36 = 0, $37 = 0.0; + var $38 = 0.0, $39 = 0.0, $40 = 0.0, $41 = 0.0, $42 = 0.0, $43 = 0.0, $44 = 0.0, $45 = 0.0, $46 = 0.0, $47 = 0.0, $48 = 0, $49 = 0.0, $50 = 0, $51 = 0.0, $52 = 0.0, $53 = 0, $54 = 0.0, $55 = 0, $56 = 0.0, $57 = 0.0; + var $58 = 0.0, $59 = 0.0, $60 = 0.0, $61 = 0.0, $62 = 0.0, $63 = 0.0, $64 = 0.0, $65 = 0.0, $66 = 0.0, $67 = 0, $68 = 0.0, $69 = 0, $7 = 0.0, $70 = 0.0, $71 = 0.0, $72 = 0, $73 = 0.0, $74 = 0, $75 = 0.0, $76 = 0.0; + var $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0, $80 = 0.0, $81 = 0.0, $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0.0, $86 = 0, $87 = 0.0, $88 = 0, $89 = 0.0, $9 = 0.0, $90 = 0.0, $91 = 0, $92 = 0.0, $93 = 0, $94 = 0.0; + var $95 = 0.0, $96 = 0.0, $97 = 0.0, $98 = 0.0, $99 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $7 = +HEAPF32[$4>>2]; + $8 = ((($4)) + 4|0); + $9 = +HEAPF32[$8>>2]; + $10 = (($4) + ($5<<2)|0); + $11 = +HEAPF32[$10>>2]; + $12 = (($5) + 1)|0; + $13 = (($4) + ($12<<2)|0); + $14 = +HEAPF32[$13>>2]; + $15 = $5 << 1; + $16 = (($4) + ($15<<2)|0); + $17 = +HEAPF32[$16>>2]; + $18 = $15 | 1; + $19 = (($4) + ($18<<2)|0); + $20 = +HEAPF32[$19>>2]; + $21 = ($5*3)|0; + $22 = (($4) + ($21<<2)|0); + $23 = +HEAPF32[$22>>2]; + $24 = (($21) + 1)|0; + $25 = (($4) + ($24<<2)|0); + $26 = +HEAPF32[$25>>2]; + $27 = (($1) + ($2<<2)|0); + $28 = ($0|0)>(0); + if (!($28)) { + return; + } + $29 = (($27) + ($3<<2)|0); + $30 = (0 - ($6))|0; + $$0129132 = $27;$$0130131 = $0;$$0133 = $29; + while(1) { + $31 = +HEAPF32[$$0129132>>2]; + $32 = +HEAPF32[$$0133>>2]; + $33 = $31 - $32; + $34 = ((($$0129132)) + -4|0); + $35 = +HEAPF32[$34>>2]; + $36 = ((($$0133)) + -4|0); + $37 = +HEAPF32[$36>>2]; + $38 = $35 - $37; + $39 = $31 + $32; + HEAPF32[$$0129132>>2] = $39; + $40 = +HEAPF32[$36>>2]; + $41 = $35 + $40; + HEAPF32[$34>>2] = $41; + $42 = $7 * $33; + $43 = $9 * $38; + $44 = $42 - $43; + HEAPF32[$$0133>>2] = $44; + $45 = $7 * $38; + $46 = $9 * $33; + $47 = $46 + $45; + HEAPF32[$36>>2] = $47; + $48 = ((($$0129132)) + -8|0); + $49 = +HEAPF32[$48>>2]; + $50 = ((($$0133)) + -8|0); + $51 = +HEAPF32[$50>>2]; + $52 = $49 - $51; + $53 = ((($$0129132)) + -12|0); + $54 = +HEAPF32[$53>>2]; + $55 = ((($$0133)) + -12|0); + $56 = +HEAPF32[$55>>2]; + $57 = $54 - $56; + $58 = $49 + $51; + HEAPF32[$48>>2] = $58; + $59 = +HEAPF32[$55>>2]; + $60 = $54 + $59; + HEAPF32[$53>>2] = $60; + $61 = $11 * $52; + $62 = $14 * $57; + $63 = $61 - $62; + HEAPF32[$50>>2] = $63; + $64 = $11 * $57; + $65 = $14 * $52; + $66 = $65 + $64; + HEAPF32[$55>>2] = $66; + $67 = ((($$0129132)) + -16|0); + $68 = +HEAPF32[$67>>2]; + $69 = ((($$0133)) + -16|0); + $70 = +HEAPF32[$69>>2]; + $71 = $68 - $70; + $72 = ((($$0129132)) + -20|0); + $73 = +HEAPF32[$72>>2]; + $74 = ((($$0133)) + -20|0); + $75 = +HEAPF32[$74>>2]; + $76 = $73 - $75; + $77 = $68 + $70; + HEAPF32[$67>>2] = $77; + $78 = +HEAPF32[$74>>2]; + $79 = $73 + $78; + HEAPF32[$72>>2] = $79; + $80 = $17 * $71; + $81 = $20 * $76; + $82 = $80 - $81; + HEAPF32[$69>>2] = $82; + $83 = $17 * $76; + $84 = $20 * $71; + $85 = $84 + $83; + HEAPF32[$74>>2] = $85; + $86 = ((($$0129132)) + -24|0); + $87 = +HEAPF32[$86>>2]; + $88 = ((($$0133)) + -24|0); + $89 = +HEAPF32[$88>>2]; + $90 = $87 - $89; + $91 = ((($$0129132)) + -28|0); + $92 = +HEAPF32[$91>>2]; + $93 = ((($$0133)) + -28|0); + $94 = +HEAPF32[$93>>2]; + $95 = $92 - $94; + $96 = $87 + $89; + HEAPF32[$86>>2] = $96; + $97 = +HEAPF32[$93>>2]; + $98 = $92 + $97; + HEAPF32[$91>>2] = $98; + $99 = $23 * $90; + $100 = $26 * $95; + $101 = $99 - $100; + HEAPF32[$88>>2] = $101; + $102 = $23 * $95; + $103 = $26 * $90; + $104 = $103 + $102; + HEAPF32[$93>>2] = $104; + $105 = (($$0129132) + ($30<<2)|0); + $106 = (($$0133) + ($30<<2)|0); + $107 = (($$0130131) + -1)|0; + $108 = ($$0130131|0)>(1); + if ($108) { + $$0129132 = $105;$$0130131 = $107;$$0133 = $106; + } else { + break; + } + } + return; +} +function _imdct_step3_inner_s_loop_ld654($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$086 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0.0, $14 = 0, $15 = 0.0, $16 = 0.0, $17 = 0, $18 = 0.0, $19 = 0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0, $25 = 0.0, $26 = 0, $27 = 0.0, $28 = 0.0; + var $29 = 0, $30 = 0.0, $31 = 0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0.0, $36 = 0.0, $37 = 0.0, $38 = 0.0, $39 = 0.0, $40 = 0, $41 = 0.0, $42 = 0, $43 = 0.0, $44 = 0.0, $45 = 0, $46 = 0.0, $47 = 0, $48 = 0.0; + var $49 = 0.0, $5 = 0, $50 = 0.0, $51 = 0.0, $52 = 0, $53 = 0.0, $54 = 0, $55 = 0.0, $56 = 0.0, $57 = 0, $58 = 0.0, $59 = 0, $6 = 0, $60 = 0.0, $61 = 0.0, $62 = 0.0, $63 = 0.0, $64 = 0.0, $65 = 0.0, $66 = 0.0; + var $67 = 0.0, $68 = 0, $69 = 0, $7 = 0.0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $5 = $4 >> 3; + $6 = (($3) + ($5<<2)|0); + $7 = +HEAPF32[$6>>2]; + $8 = (($1) + ($2<<2)|0); + $9 = $0 << 4; + $10 = (0 - ($9))|0; + $11 = (($8) + ($10<<2)|0); + $12 = ($10|0)<(0); + if ($12) { + $$086 = $8; + } else { + return; + } + while(1) { + $13 = +HEAPF32[$$086>>2]; + $14 = ((($$086)) + -32|0); + $15 = +HEAPF32[$14>>2]; + $16 = $13 - $15; + $17 = ((($$086)) + -4|0); + $18 = +HEAPF32[$17>>2]; + $19 = ((($$086)) + -36|0); + $20 = +HEAPF32[$19>>2]; + $21 = $18 - $20; + $22 = $13 + $15; + HEAPF32[$$086>>2] = $22; + $23 = $18 + $20; + HEAPF32[$17>>2] = $23; + HEAPF32[$14>>2] = $16; + HEAPF32[$19>>2] = $21; + $24 = ((($$086)) + -8|0); + $25 = +HEAPF32[$24>>2]; + $26 = ((($$086)) + -40|0); + $27 = +HEAPF32[$26>>2]; + $28 = $25 - $27; + $29 = ((($$086)) + -12|0); + $30 = +HEAPF32[$29>>2]; + $31 = ((($$086)) + -44|0); + $32 = +HEAPF32[$31>>2]; + $33 = $30 - $32; + $34 = $25 + $27; + HEAPF32[$24>>2] = $34; + $35 = $30 + $32; + HEAPF32[$29>>2] = $35; + $36 = $28 + $33; + $37 = $7 * $36; + HEAPF32[$26>>2] = $37; + $38 = $33 - $28; + $39 = $7 * $38; + HEAPF32[$31>>2] = $39; + $40 = ((($$086)) + -48|0); + $41 = +HEAPF32[$40>>2]; + $42 = ((($$086)) + -16|0); + $43 = +HEAPF32[$42>>2]; + $44 = $41 - $43; + $45 = ((($$086)) + -20|0); + $46 = +HEAPF32[$45>>2]; + $47 = ((($$086)) + -52|0); + $48 = +HEAPF32[$47>>2]; + $49 = $46 - $48; + $50 = $41 + $43; + HEAPF32[$42>>2] = $50; + $51 = $46 + $48; + HEAPF32[$45>>2] = $51; + HEAPF32[$40>>2] = $49; + HEAPF32[$47>>2] = $44; + $52 = ((($$086)) + -56|0); + $53 = +HEAPF32[$52>>2]; + $54 = ((($$086)) + -24|0); + $55 = +HEAPF32[$54>>2]; + $56 = $53 - $55; + $57 = ((($$086)) + -28|0); + $58 = +HEAPF32[$57>>2]; + $59 = ((($$086)) + -60|0); + $60 = +HEAPF32[$59>>2]; + $61 = $58 - $60; + $62 = $53 + $55; + HEAPF32[$54>>2] = $62; + $63 = $58 + $60; + HEAPF32[$57>>2] = $63; + $64 = $56 + $61; + $65 = $7 * $64; + HEAPF32[$52>>2] = $65; + $66 = $56 - $61; + $67 = $7 * $66; + HEAPF32[$59>>2] = $67; + _iter_54($$086); + _iter_54($14); + $68 = ((($$086)) + -64|0); + $69 = ($68>>>0)>($11>>>0); + if ($69) { + $$086 = $68; + } else { + break; + } + } + return; +} +function _iter_54($0) { + $0 = $0|0; + var $1 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0, $15 = 0.0, $16 = 0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $2 = 0, $20 = 0.0, $21 = 0, $22 = 0.0, $23 = 0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0.0; + var $28 = 0.0, $29 = 0.0, $3 = 0.0, $30 = 0.0, $31 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $1 = +HEAPF32[$0>>2]; + $2 = ((($0)) + -16|0); + $3 = +HEAPF32[$2>>2]; + $4 = $1 - $3; + $5 = $1 + $3; + $6 = ((($0)) + -8|0); + $7 = +HEAPF32[$6>>2]; + $8 = ((($0)) + -24|0); + $9 = +HEAPF32[$8>>2]; + $10 = $7 + $9; + $11 = $7 - $9; + $12 = $5 + $10; + HEAPF32[$0>>2] = $12; + $13 = $5 - $10; + HEAPF32[$6>>2] = $13; + $14 = ((($0)) + -12|0); + $15 = +HEAPF32[$14>>2]; + $16 = ((($0)) + -28|0); + $17 = +HEAPF32[$16>>2]; + $18 = $15 - $17; + $19 = $4 + $18; + HEAPF32[$2>>2] = $19; + $20 = $4 - $18; + HEAPF32[$8>>2] = $20; + $21 = ((($0)) + -4|0); + $22 = +HEAPF32[$21>>2]; + $23 = ((($0)) + -20|0); + $24 = +HEAPF32[$23>>2]; + $25 = $22 - $24; + $26 = $22 + $24; + $27 = $15 + $17; + $28 = $27 + $26; + HEAPF32[$21>>2] = $28; + $29 = $26 - $27; + HEAPF32[$14>>2] = $29; + $30 = $25 - $11; + HEAPF32[$23>>2] = $30; + $31 = $11 + $25; + HEAPF32[$16>>2] = $31; + return; +} +function _draw_line($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + var $$ = 0, $$0$pn = 0, $$05368 = 0, $$056 = 0, $$05666 = 0, $$05669 = 0, $$1 = 0, $$155 = 0, $$155$sink67 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0.0, $19 = 0, $20 = 0.0; + var $21 = 0.0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0.0, $29 = 0, $30 = 0.0, $31 = 0.0, $32 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $ispos = 0, $ispos58 = 0, $neg = 0, $neg59 = 0; + var label = 0, sp = 0; + sp = STACKTOP; + $6 = (($4) - ($2))|0; + $7 = (($3) - ($1))|0; + $ispos = ($6|0)>(-1); + $neg = (0 - ($6))|0; + $8 = $ispos ? $6 : $neg; + $9 = (($6|0) / ($7|0))&-1; + $10 = $6 >> 31; + $11 = $10 | 1; + $ispos58 = ($9|0)>(-1); + $neg59 = (0 - ($9))|0; + $12 = $ispos58 ? $9 : $neg59; + $13 = Math_imul($12, $7)|0; + $14 = (($8) - ($13))|0; + $15 = ($3|0)>($5|0); + $$ = $15 ? $5 : $3; + $16 = ($$|0)>($1|0); + if (!($16)) { + return; + } + $17 = (3812 + ($2<<2)|0); + $18 = +HEAPF32[$17>>2]; + $19 = (($0) + ($1<<2)|0); + $20 = +HEAPF32[$19>>2]; + $21 = $18 * $20; + HEAPF32[$19>>2] = $21; + $$05666 = (($1) + 1)|0; + $22 = ($$05666|0)<($$|0); + if ($22) { + $$05368 = 0;$$05669 = $$05666;$$155$sink67 = $2; + } else { + return; + } + while(1) { + $23 = (($$05368) + ($14))|0; + $24 = ($23|0)<($7|0); + $25 = $24 ? 0 : $11; + $26 = $24 ? 0 : $7; + $$1 = (($23) - ($26))|0; + $$0$pn = (($$155$sink67) + ($9))|0; + $$155 = (($$0$pn) + ($25))|0; + $27 = (3812 + ($$155<<2)|0); + $28 = +HEAPF32[$27>>2]; + $29 = (($0) + ($$05669<<2)|0); + $30 = +HEAPF32[$29>>2]; + $31 = $28 * $30; + HEAPF32[$29>>2] = $31; + $$056 = (($$05669) + 1)|0; + $32 = ($$056|0)<($$|0); + if ($32) { + $$05368 = $$1;$$05669 = $$056;$$155$sink67 = $$155; + } else { + break; + } + } + return; +} +function _make_block_array($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$01617 = 0, $$018 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $exitcond = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ($1|0)>(0); + if (!($3)) { + return ($0|0); + } + $4 = (($0) + ($1<<2)|0); + $$01617 = 0;$$018 = $4; + while(1) { + $5 = (($0) + ($$01617<<2)|0); + HEAP32[$5>>2] = $$018; + $6 = (($$018) + ($2)|0); + $7 = (($$01617) + 1)|0; + $exitcond = ($7|0)==($1|0); + if ($exitcond) { + break; + } else { + $$01617 = $7;$$018 = $6; + } + } + return ($0|0); +} +function _codebook_decode_deinterleave_repeat($0,$1,$2,$3,$4,$5,$6,$7) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + $6 = $6|0; + $7 = $7|0; + var $$ = 0, $$$1115 = 0, $$$3117 = 0, $$0100145 = 0, $$0102$lcssa = 0, $$0102144 = 0, $$0105133 = 0.0, $$0107143 = 0, $$0112132 = 0, $$0114$lcssa = 0, $$0114142 = 0, $$1103134 = 0, $$1108 = 0, $$1111 = 0, $$1113137 = 0, $$1115131 = 0, $$121 = 0, $$122 = 0, $$123 = 0, $$2 = 0; + var $$3117136 = 0, $$3138 = 0, $$5 = 0, $$5119 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; + var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; + var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0; + var $66 = 0.0, $67 = 0.0, $68 = 0, $69 = 0, $70 = 0, $71 = 0, $72 = 0.0, $73 = 0.0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0.0; + var $85 = 0.0, $86 = 0, $87 = 0.0, $88 = 0.0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $exitcond = 0, $exitcond150 = 0, label = 0, sp = 0; + sp = STACKTOP; + $8 = HEAP32[$4>>2]|0; + $9 = HEAP32[$5>>2]|0; + $10 = HEAP32[$1>>2]|0; + $11 = ((($1)) + 21|0); + $12 = HEAP8[$11>>0]|0; + $13 = ($12<<24>>24)==(0); + if ($13) { + _error($0,21); + $$2 = 0; + return ($$2|0); + } + $14 = ($7|0)>(0); + L5: do { + if ($14) { + $15 = ((($0)) + 1396|0); + $16 = ((($0)) + 1392|0); + $17 = ((($1)) + 8|0); + $18 = ((($1)) + 23|0); + $19 = Math_imul($6, $3)|0; + $20 = ((($1)) + 22|0); + $21 = ((($1)) + 28|0); + $22 = ((($1)) + 28|0); + $23 = ((($1)) + 2092|0); + $$0100145 = $7;$$0102144 = $8;$$0107143 = $10;$$0114142 = $9; + while(1) { + $24 = HEAP32[$15>>2]|0; + $25 = ($24|0)<(10); + if ($25) { + _prep_huffman($0); + } + $26 = HEAP32[$16>>2]|0; + $27 = $26 & 1023; + $28 = (((($1)) + 36|0) + ($27<<1)|0); + $29 = HEAP16[$28>>1]|0; + $30 = $29 << 16 >> 16; + $31 = ($29<<16>>16)>(-1); + if ($31) { + $32 = HEAP32[$17>>2]|0; + $33 = (($32) + ($30)|0); + $34 = HEAP8[$33>>0]|0; + $35 = $34&255; + $36 = $26 >>> $35; + HEAP32[$16>>2] = $36; + $37 = HEAP32[$15>>2]|0; + $38 = (($37) - ($35))|0; + $39 = ($38|0)<(0); + $$ = $39 ? 0 : $38; + $$121 = $39 ? -1 : $30; + HEAP32[$15>>2] = $$; + $$1111 = $$121; + } else { + $40 = (_codebook_decode_scalar_raw($0,$1)|0); + $$1111 = $40; + } + $41 = HEAP8[$18>>0]|0; + $42 = ($41<<24>>24)==(0); + if (!($42)) { + $43 = HEAP32[$23>>2]|0; + $44 = ($$1111|0)<($43|0); + if (!($44)) { + label = 12; + break; + } + } + $45 = ($$1111|0)<(0); + if ($45) { + break; + } + $52 = Math_imul($$0114142, $3)|0; + $53 = (($$0107143) + ($52))|0; + $54 = (($53) + ($$0102144))|0; + $55 = ($54|0)>($19|0); + $56 = (($19) - ($52))|0; + $57 = (($56) + ($$0102144))|0; + $$1108 = $55 ? $57 : $$0107143; + $58 = HEAP32[$1>>2]|0; + $59 = Math_imul($58, $$1111)|0; + $60 = HEAP8[$20>>0]|0; + $61 = ($60<<24>>24)==(0); + $62 = ($$1108|0)>(0); + if ($61) { + if ($62) { + $$1113137 = 0;$$3117136 = $$0114142;$$3138 = $$0102144; + while(1) { + $78 = (($2) + ($$3138<<2)|0); + $79 = HEAP32[$78>>2]|0; + $80 = ($79|0)==(0|0); + if (!($80)) { + $81 = HEAP32[$21>>2]|0; + $82 = (($$1113137) + ($59))|0; + $83 = (($81) + ($82<<2)|0); + $84 = +HEAPF32[$83>>2]; + $85 = $84 + 0.0; + $86 = (($79) + ($$3117136<<2)|0); + $87 = +HEAPF32[$86>>2]; + $88 = $87 + $85; + HEAPF32[$86>>2] = $88; + } + $89 = (($$3138) + 1)|0; + $90 = ($89|0)==($3|0); + $91 = $90&1; + $$$3117 = (($91) + ($$3117136))|0; + $$123 = $90 ? 0 : $89; + $92 = (($$1113137) + 1)|0; + $exitcond150 = ($92|0)==($$1108|0); + if ($exitcond150) { + $$5 = $$123;$$5119 = $$$3117; + break; + } else { + $$1113137 = $92;$$3117136 = $$$3117;$$3138 = $$123; + } + } + } else { + $$5 = $$0102144;$$5119 = $$0114142; + } + } else { + if ($62) { + $63 = HEAP32[$22>>2]|0; + $$0105133 = 0.0;$$0112132 = 0;$$1103134 = $$0102144;$$1115131 = $$0114142; + while(1) { + $64 = (($$0112132) + ($59))|0; + $65 = (($63) + ($64<<2)|0); + $66 = +HEAPF32[$65>>2]; + $67 = $$0105133 + $66; + $68 = (($2) + ($$1103134<<2)|0); + $69 = HEAP32[$68>>2]|0; + $70 = ($69|0)==(0|0); + $71 = (($69) + ($$1115131<<2)|0); + if (!($70)) { + $72 = +HEAPF32[$71>>2]; + $73 = $67 + $72; + HEAPF32[$71>>2] = $73; + } + $74 = (($$1103134) + 1)|0; + $75 = ($74|0)==($3|0); + $76 = $75&1; + $$$1115 = (($76) + ($$1115131))|0; + $$122 = $75 ? 0 : $74; + $77 = (($$0112132) + 1)|0; + $exitcond = ($77|0)==($$1108|0); + if ($exitcond) { + $$5 = $$122;$$5119 = $$$1115; + break; + } else { + $$0105133 = $67;$$0112132 = $77;$$1103134 = $$122;$$1115131 = $$$1115; + } + } + } else { + $$5 = $$0102144;$$5119 = $$0114142; + } + } + $93 = (($$0100145) - ($$1108))|0; + $94 = ($93|0)>(0); + if ($94) { + $$0100145 = $93;$$0102144 = $$5;$$0107143 = $$1108;$$0114142 = $$5119; + } else { + $$0102$lcssa = $$5;$$0114$lcssa = $$5119; + break L5; + } + } + if ((label|0) == 12) { + ___assert_fail((19145|0),(18880|0),1436,(19181|0)); + // unreachable; + } + $46 = ((($0)) + 1376|0); + $47 = HEAP8[$46>>0]|0; + $48 = ($47<<24>>24)==(0); + if ($48) { + $49 = ((($0)) + 1384|0); + $50 = HEAP32[$49>>2]|0; + $51 = ($50|0)==(0); + if (!($51)) { + $$2 = 0; + return ($$2|0); + } + } + _error($0,21); + $$2 = 0; + return ($$2|0); + } else { + $$0102$lcssa = $8;$$0114$lcssa = $9; + } + } while(0); + HEAP32[$4>>2] = $$0102$lcssa; + HEAP32[$5>>2] = $$0114$lcssa; + $$2 = 1; + return ($$2|0); +} +function _residue_decode($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + var $$03237 = 0, $$03440 = 0, $$1 = 0, $$13341 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; + var $26 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $6 = ($5|0)==(0); + if ($6) { + $8 = HEAP32[$1>>2]|0; + $9 = (($4|0) / ($8|0))&-1; + $10 = (($2) + ($3<<2)|0); + $11 = ($9|0)>(0); + if (!($11)) { + $$1 = 1; + return ($$1|0); + } + $12 = (($4) - ($3))|0; + $$03237 = 0; + while(1) { + $15 = (($10) + ($$03237<<2)|0); + $16 = (($12) - ($$03237))|0; + $17 = (_codebook_decode_step($0,$1,$15,$16,$9)|0); + $18 = ($17|0)==(0); + $14 = (($$03237) + 1)|0; + if ($18) { + $$1 = 0; + label = 10; + break; + } + $13 = ($14|0)<($9|0); + if ($13) { + $$03237 = $14; + } else { + $$1 = 1; + label = 10; + break; + } + } + if ((label|0) == 10) { + return ($$1|0); + } + } else { + $7 = ($4|0)>(0); + if (!($7)) { + $$1 = 1; + return ($$1|0); + } + $$03440 = $3;$$13341 = 0; + while(1) { + $19 = (($2) + ($$03440<<2)|0); + $20 = (($4) - ($$13341))|0; + $21 = (_codebook_decode($0,$1,$19,$20)|0); + $22 = ($21|0)==(0); + if ($22) { + $$1 = 0; + label = 10; + break; + } + $23 = HEAP32[$1>>2]|0; + $24 = (($23) + ($$13341))|0; + $25 = (($23) + ($$03440))|0; + $26 = ($24|0)<($4|0); + if ($26) { + $$03440 = $25;$$13341 = $24; + } else { + $$1 = 1; + label = 10; + break; + } + } + if ((label|0) == 10) { + return ($$1|0); + } + } + return (0)|0; +} +function _codebook_decode_step($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$ = 0, $$0 = 0, $$028$ = 0.0, $$02832 = 0.0, $$02931 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0.0, $19 = 0.0, $20 = 0, $21 = 0, $22 = 0.0, $23 = 0.0, $24 = 0; + var $25 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $5 = (_codebook_decode_start($0,$1)|0); + $6 = ($5|0)<(0); + if ($6) { + $$0 = 0; + return ($$0|0); + } + $7 = HEAP32[$1>>2]|0; + $8 = ($7|0)<($3|0); + $$ = $8 ? $7 : $3; + $9 = Math_imul($7, $5)|0; + $10 = ($$|0)>(0); + if (!($10)) { + $$0 = 1; + return ($$0|0); + } + $11 = ((($1)) + 28|0); + $12 = HEAP32[$11>>2]|0; + $13 = ((($1)) + 22|0); + $14 = HEAP8[$13>>0]|0; + $15 = ($14<<24>>24)==(0); + $$02832 = 0.0;$$02931 = 0; + while(1) { + $16 = (($$02931) + ($9))|0; + $17 = (($12) + ($16<<2)|0); + $18 = +HEAPF32[$17>>2]; + $19 = $$02832 + $18; + $20 = Math_imul($$02931, $4)|0; + $21 = (($2) + ($20<<2)|0); + $22 = +HEAPF32[$21>>2]; + $23 = $22 + $19; + HEAPF32[$21>>2] = $23; + $$028$ = $15 ? $$02832 : $19; + $24 = (($$02931) + 1)|0; + $25 = ($24|0)<($$|0); + if ($25) { + $$02832 = $$028$;$$02931 = $24; + } else { + $$0 = 1; + break; + } + } + return ($$0|0); +} +function _codebook_decode($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$ = 0, $$0 = 0, $$04046 = 0.0, $$04145 = 0, $$144 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0.0, $21 = 0.0, $22 = 0, $23 = 0.0, $24 = 0.0; + var $25 = 0.0, $26 = 0.0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0.0, $32 = 0.0, $33 = 0, $34 = 0.0, $35 = 0.0, $36 = 0, $37 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; + var sp = 0; + sp = STACKTOP; + $4 = (_codebook_decode_start($0,$1)|0); + $5 = ($4|0)<(0); + if ($5) { + $$0 = 0; + return ($$0|0); + } + $6 = HEAP32[$1>>2]|0; + $7 = ($6|0)<($3|0); + $$ = $7 ? $6 : $3; + $8 = Math_imul($6, $4)|0; + $9 = ((($1)) + 22|0); + $10 = HEAP8[$9>>0]|0; + $11 = ($10<<24>>24)==(0); + $12 = ($$|0)>(0); + if ($11) { + if (!($12)) { + $$0 = 1; + return ($$0|0); + } + $16 = ((($1)) + 28|0); + $17 = HEAP32[$16>>2]|0; + $$144 = 0; + while(1) { + $29 = (($$144) + ($8))|0; + $30 = (($17) + ($29<<2)|0); + $31 = +HEAPF32[$30>>2]; + $32 = $31 + 0.0; + $33 = (($2) + ($$144<<2)|0); + $34 = +HEAPF32[$33>>2]; + $35 = $34 + $32; + HEAPF32[$33>>2] = $35; + $36 = (($$144) + 1)|0; + $37 = ($36|0)<($$|0); + if ($37) { + $$144 = $36; + } else { + $$0 = 1; + break; + } + } + return ($$0|0); + } else { + if (!($12)) { + $$0 = 1; + return ($$0|0); + } + $13 = ((($1)) + 28|0); + $14 = HEAP32[$13>>2]|0; + $15 = ((($1)) + 12|0); + $$04046 = 0.0;$$04145 = 0; + while(1) { + $18 = (($$04145) + ($8))|0; + $19 = (($14) + ($18<<2)|0); + $20 = +HEAPF32[$19>>2]; + $21 = $$04046 + $20; + $22 = (($2) + ($$04145<<2)|0); + $23 = +HEAPF32[$22>>2]; + $24 = $23 + $21; + HEAPF32[$22>>2] = $24; + $25 = +HEAPF32[$15>>2]; + $26 = $21 + $25; + $27 = (($$04145) + 1)|0; + $28 = ($27|0)<($$|0); + if ($28) { + $$04046 = $26;$$04145 = $27; + } else { + $$0 = 1; + break; + } + } + return ($$0|0); + } + return (0)|0; +} +function _codebook_decode_start($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$ = 0, $$0 = 0, $$1 = 0, $$30 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; + var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; + var label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($1)) + 21|0); + $3 = HEAP8[$2>>0]|0; + $4 = ($3<<24>>24)==(0); + if ($4) { + _error($0,21); + $$0 = -1; + return ($$0|0); + } + $5 = ((($0)) + 1396|0); + $6 = HEAP32[$5>>2]|0; + $7 = ($6|0)<(10); + if ($7) { + _prep_huffman($0); + } + $8 = ((($0)) + 1392|0); + $9 = HEAP32[$8>>2]|0; + $10 = $9 & 1023; + $11 = (((($1)) + 36|0) + ($10<<1)|0); + $12 = HEAP16[$11>>1]|0; + $13 = $12 << 16 >> 16; + $14 = ($12<<16>>16)>(-1); + if ($14) { + $15 = ((($1)) + 8|0); + $16 = HEAP32[$15>>2]|0; + $17 = (($16) + ($13)|0); + $18 = HEAP8[$17>>0]|0; + $19 = $18&255; + $20 = $9 >>> $19; + HEAP32[$8>>2] = $20; + $21 = HEAP32[$5>>2]|0; + $22 = (($21) - ($19))|0; + $23 = ($22|0)<(0); + $$ = $23 ? 0 : $22; + $$30 = $23 ? -1 : $13; + HEAP32[$5>>2] = $$; + $$1 = $$30; + } else { + $24 = (_codebook_decode_scalar_raw($0,$1)|0); + $$1 = $24; + } + $25 = ((($1)) + 23|0); + $26 = HEAP8[$25>>0]|0; + $27 = ($26<<24>>24)==(0); + if (!($27)) { + $28 = ((($1)) + 2092|0); + $29 = HEAP32[$28>>2]|0; + $30 = ($$1|0)<($29|0); + if (!($30)) { + ___assert_fail((19101|0),(18880|0),1342,(19123|0)); + // unreachable; + } + } + $31 = ($$1|0)<(0); + if (!($31)) { + $$0 = $$1; + return ($$0|0); + } + $32 = ((($0)) + 1376|0); + $33 = HEAP8[$32>>0]|0; + $34 = ($33<<24>>24)==(0); + if ($34) { + $35 = ((($0)) + 1384|0); + $36 = HEAP32[$35>>2]|0; + $37 = ($36|0)==(0); + if (!($37)) { + $$0 = $$1; + return ($$0|0); + } + } + _error($0,21); + $$0 = $$1; + return ($$0|0); +} +function _bit_reverse($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0; + var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = $0 >>> 1; + $2 = $1 & 1431655765; + $3 = $0 << 1; + $4 = $3 & -1431655766; + $5 = $2 | $4; + $6 = $5 >>> 2; + $7 = $6 & 858993459; + $8 = $5 << 2; + $9 = $8 & -858993460; + $10 = $7 | $9; + $11 = $10 >>> 4; + $12 = $11 & 252645135; + $13 = $10 << 4; + $14 = $13 & -252645136; + $15 = $12 | $14; + $16 = $15 >>> 8; + $17 = $16 & 16711935; + $18 = $15 << 8; + $19 = $18 & -16711936; + $20 = $17 | $19; + $21 = $20 >>> 16; + $22 = $20 << 16; + $23 = $21 | $22; + return ($23|0); +} +function _maybe_start_packet($0) { + $0 = $0|0; + var $$1 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $3 = 0, $4 = 0, $5 = 0; + var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 1380|0); + $2 = HEAP32[$1>>2]|0; + $3 = ($2|0)==(-1); + if ($3) { + $4 = (_get8($0)|0); + $5 = ((($0)) + 96|0); + $6 = HEAP32[$5>>2]|0; + $7 = ($6|0)==(0); + if (!($7)) { + $$1 = 0; + return ($$1|0); + } + $8 = ($4<<24>>24)==(79); + if (!($8)) { + _error($0,30); + $$1 = 0; + return ($$1|0); + } + $9 = (_get8($0)|0); + $10 = ($9<<24>>24)==(103); + if (!($10)) { + _error($0,30); + $$1 = 0; + return ($$1|0); + } + $11 = (_get8($0)|0); + $12 = ($11<<24>>24)==(103); + if (!($12)) { + _error($0,30); + $$1 = 0; + return ($$1|0); + } + $13 = (_get8($0)|0); + $14 = ($13<<24>>24)==(83); + if (!($14)) { + _error($0,30); + $$1 = 0; + return ($$1|0); + } + $15 = (_start_page_no_capturepattern($0)|0); + $16 = ($15|0)==(0); + if ($16) { + $$1 = 0; + return ($$1|0); + } + $17 = ((($0)) + 1375|0); + $18 = HEAP8[$17>>0]|0; + $19 = $18 & 1; + $20 = ($19<<24>>24)==(0); + if (!($20)) { + $21 = ((($0)) + 1384|0); + HEAP32[$21>>2] = 0; + $22 = ((($0)) + 1376|0); + HEAP8[$22>>0] = 0; + _error($0,32); + $$1 = 0; + return ($$1|0); + } + } + $23 = (_start_packet($0)|0); + $$1 = $23; + return ($$1|0); +} +function _get8_packet($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (_get8_packet_raw($0)|0); + $2 = ((($0)) + 1396|0); + HEAP32[$2>>2] = 0; + return ($1|0); +} +function _start_packet($0) { + $0 = $0|0; + var $$0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 1380|0); + $2 = ((($0)) + 1375|0); + while(1) { + $3 = HEAP32[$1>>2]|0; + $4 = ($3|0)==(-1); + if (!($4)) { + label = 6; + break; + } + $5 = (_start_page($0)|0); + $6 = ($5|0)==(0); + if ($6) { + $$0 = 0; + label = 7; + break; + } + $7 = HEAP8[$2>>0]|0; + $8 = $7 & 1; + $9 = ($8<<24>>24)==(0); + if (!($9)) { + label = 5; + break; + } + } + if ((label|0) == 5) { + _error($0,32); + $$0 = 0; + return ($$0|0); + } + else if ((label|0) == 6) { + $10 = ((($0)) + 1384|0); + HEAP32[$10>>2] = 0; + $11 = ((($0)) + 1396|0); + HEAP32[$11>>2] = 0; + $12 = ((($0)) + 1400|0); + HEAP32[$12>>2] = 0; + $13 = ((($0)) + 1376|0); + HEAP8[$13>>0] = 0; + $$0 = 1; + return ($$0|0); + } + else if ((label|0) == 7) { + return ($$0|0); + } + return (0)|0; +} +function _compute_stereo_samples($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$$076 = 0, $$0 = 0, $$07386 = 0, $$07488 = 0, $$07593 = 0, $$07692 = 0, $$184 = 0, $$283 = 0, $$390 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0; + var $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0.0, $31 = 0, $32 = 0, $33 = 0.0, $34 = 0.0, $35 = 0, $36 = 0, $37 = 0.0, $38 = 0.0, $39 = 0, $40 = 0; + var $41 = 0, $42 = 0, $43 = 0.0, $44 = 0, $45 = 0, $46 = 0.0, $47 = 0.0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0.0, $53 = 0, $54 = 0, $55 = 0, $56 = 0.0, $57 = 0.0, $58 = 0, $59 = 0; + var $6 = 0, $60 = 0, $61 = 0, $62 = 0.0, $63 = 0.0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $8 = 0, $9 = 0; + var $exitcond = 0, $trunc = 0, $trunc$clear = 0, dest = 0, label = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0); + $5 = sp; + $6 = ($4|0)>(0); + if (!($6)) { + STACKTOP = sp;return; + } + $7 = ($1|0)>(0); + $$07593 = 0;$$07692 = 16; + while(1) { + $8 = $$07593 << 1; + dest=$5; stop=dest+128|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + $9 = (($$07593) + ($$07692))|0; + $10 = ($9|0)>($4|0); + $11 = (($4) - ($$07593))|0; + $$$076 = $10 ? $11 : $$07692; + L6: do { + if ($7) { + $12 = ($$$076|0)>(0); + $13 = (($$07593) + ($3))|0; + $14 = ($$$076|0)>(0); + $15 = (($$07593) + ($3))|0; + $16 = ($$$076|0)>(0); + $17 = (($$07593) + ($3))|0; + $$07488 = 0; + while(1) { + $20 = ((19339 + (($1*6)|0)|0) + ($$07488)|0); + $21 = HEAP8[$20>>0]|0; + $trunc = $21 & 6; + $trunc$clear = $trunc & 7; + switch ($trunc$clear<<24>>24) { + case 6: { + if ($12) { + $26 = (($2) + ($$07488<<2)|0); + $27 = HEAP32[$26>>2]|0; + $$07386 = 0; + while(1) { + $28 = (($13) + ($$07386))|0; + $29 = (($27) + ($28<<2)|0); + $30 = +HEAPF32[$29>>2]; + $31 = $$07386 << 1; + $32 = (($5) + ($31<<2)|0); + $33 = +HEAPF32[$32>>2]; + $34 = $30 + $33; + HEAPF32[$32>>2] = $34; + $35 = $31 | 1; + $36 = (($5) + ($35<<2)|0); + $37 = +HEAPF32[$36>>2]; + $38 = $30 + $37; + HEAPF32[$36>>2] = $38; + $39 = (($$07386) + 1)|0; + $40 = ($39|0)<($$$076|0); + if ($40) { + $$07386 = $39; + } else { + break; + } + } + } + break; + } + case 2: { + if ($14) { + $24 = (($2) + ($$07488<<2)|0); + $25 = HEAP32[$24>>2]|0; + $$184 = 0; + while(1) { + $41 = (($15) + ($$184))|0; + $42 = (($25) + ($41<<2)|0); + $43 = +HEAPF32[$42>>2]; + $44 = $$184 << 1; + $45 = (($5) + ($44<<2)|0); + $46 = +HEAPF32[$45>>2]; + $47 = $43 + $46; + HEAPF32[$45>>2] = $47; + $48 = (($$184) + 1)|0; + $49 = ($48|0)<($$$076|0); + if ($49) { + $$184 = $48; + } else { + break; + } + } + } + break; + } + case 4: { + if ($16) { + $22 = (($2) + ($$07488<<2)|0); + $23 = HEAP32[$22>>2]|0; + $$283 = 0; + while(1) { + $50 = (($17) + ($$283))|0; + $51 = (($23) + ($50<<2)|0); + $52 = +HEAPF32[$51>>2]; + $53 = $$283 << 1; + $54 = $53 | 1; + $55 = (($5) + ($54<<2)|0); + $56 = +HEAPF32[$55>>2]; + $57 = $52 + $56; + HEAPF32[$55>>2] = $57; + $58 = (($$283) + 1)|0; + $59 = ($58|0)<($$$076|0); + if ($59) { + $$283 = $58; + } else { + break; + } + } + } + break; + } + default: { + } + } + $60 = (($$07488) + 1)|0; + $exitcond = ($60|0)==($1|0); + if ($exitcond) { + break L6; + } else { + $$07488 = $60; + } + } + } + } while(0); + $18 = $$$076 << 1; + $19 = ($18|0)>(0); + if ($19) { + $$390 = 0; + while(1) { + $61 = (($5) + ($$390<<2)|0); + $62 = +HEAPF32[$61>>2]; + $63 = $62 + 384.0; + $64 = (HEAPF32[tempDoublePtr>>2]=$63,HEAP32[tempDoublePtr>>2]|0); + $65 = (($64) + -1136623616)|0; + $66 = ($65>>>0)>(65535); + $67 = ($64|0)<(1136656384); + $68 = $67 ? 32768 : 32767; + $$0 = $66 ? $68 : $64; + $69 = $$0&65535; + $70 = (($$390) + ($8))|0; + $71 = (($0) + ($70<<1)|0); + HEAP16[$71>>1] = $69; + $72 = (($$390) + 1)|0; + $73 = ($72|0)<($18|0); + if ($73) { + $$390 = $72; + } else { + break; + } + } + } + $74 = (($$07593) + 16)|0; + $75 = ($74|0)<($4|0); + if ($75) { + $$07593 = $74;$$07692 = $$$076; + } else { + break; + } + } + STACKTOP = sp;return; +} +function _stb_vorbis_get_file_offset($0) { + $0 = $0|0; + var $$0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 48|0); + $2 = HEAP8[$1>>0]|0; + $3 = ($2<<24>>24)==(0); + if (!($3)) { + $$0 = 0; + return ($$0|0); + } + $4 = ((($0)) + 32|0); + $5 = HEAP32[$4>>2]|0; + $6 = ($5|0)==(0|0); + if ($6) { + $11 = ((($0)) + 20|0); + $12 = HEAP32[$11>>2]|0; + $13 = (_ftell($12)|0); + $14 = ((($0)) + 24|0); + $15 = HEAP32[$14>>2]|0; + $16 = (($13) - ($15))|0; + $$0 = $16; + return ($$0|0); + } else { + $7 = ((($0)) + 36|0); + $8 = HEAP32[$7>>2]|0; + $9 = $5; + $10 = (($9) - ($8))|0; + $$0 = $10; + return ($$0|0); + } + return (0)|0; +} +function _set_file_offset($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $3 = 0; + var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond1 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($0)) + 48|0); + $3 = HEAP8[$2>>0]|0; + $4 = ($3<<24>>24)==(0); + if (!($4)) { + return; + } + $5 = ((($0)) + 96|0); + HEAP32[$5>>2] = 0; + $6 = ((($0)) + 32|0); + $7 = HEAP32[$6>>2]|0; + $8 = ($7|0)==(0|0); + if (!($8)) { + $9 = ((($0)) + 36|0); + $10 = HEAP32[$9>>2]|0; + $11 = (($10) + ($1)|0); + $12 = ((($0)) + 40|0); + $13 = HEAP32[$12>>2]|0; + $14 = ($11>>>0)>=($13>>>0); + $15 = ($1|0)<(0); + $or$cond1 = $15 | $14; + if ($or$cond1) { + HEAP32[$6>>2] = $13; + HEAP32[$5>>2] = 1; + return; + } else { + HEAP32[$6>>2] = $11; + return; + } + } + $16 = ((($0)) + 24|0); + $17 = HEAP32[$16>>2]|0; + $18 = (($17) + ($1))|0; + $19 = ($18>>>0)<($1>>>0); + $20 = ($1|0)<(0); + $or$cond = $20 | $19; + if ($or$cond) { + HEAP32[$5>>2] = 1; + $$0 = 2147483647; + } else { + $$0 = $18; + } + $21 = ((($0)) + 20|0); + $22 = HEAP32[$21>>2]|0; + $23 = (_fseek($22,$$0,0)|0); + $24 = ($23|0)==(0); + if ($24) { + return; + } + HEAP32[$5>>2] = 1; + $25 = HEAP32[$21>>2]|0; + $26 = HEAP32[$16>>2]|0; + (_fseek($25,$26,2)|0); + return; +} +function _vorbis_find_page($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$ = 0, $$0$ph = 0, $$069104 = 0, $$070 = 0, $$082$lcssa = 0, $$1 = 0, $$174103 = 0, $$2 = 0, $$275$lcssa = 0, $$275109 = 0, $$480102 = 0, $$5$ph = 0, $$581108 = 0, $$lobit = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0; + var $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0; + var $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0; + var $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0; + var $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0; + var $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0; + var $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0; + var $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0; + var $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0; + var $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0; + var $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $cond = 0, $exitcond = 0, $scevgep = 0, $trunc = 0, $trunc$clear = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $3 = sp; + $4 = ((($0)) + 96|0); + $5 = ((($0)) + 44|0); + $6 = ((($3)) + 4|0); + $7 = ((($3)) + 22|0); + $8 = ((($3)) + 23|0); + $9 = ((($3)) + 24|0); + $10 = ((($3)) + 25|0); + $11 = ((($3)) + 26|0); + $12 = ($1|0)==(0|0); + $13 = ($2|0)==(0|0); + $14 = ((($3)) + 5|0); + $scevgep = ((($3)) + 22|0); + $15 = ((($3)) + 4|0); + $16 = ((($3)) + 5|0); + $17 = ((($3)) + 6|0); + $18 = ((($3)) + 7|0); + $19 = ((($3)) + 8|0); + $20 = ((($3)) + 9|0); + $21 = ((($3)) + 10|0); + $22 = ((($3)) + 11|0); + $23 = ((($3)) + 12|0); + $24 = ((($3)) + 13|0); + $25 = ((($3)) + 14|0); + $26 = ((($3)) + 15|0); + $27 = ((($3)) + 16|0); + $28 = ((($3)) + 17|0); + $29 = ((($3)) + 18|0); + $30 = ((($3)) + 19|0); + $31 = ((($3)) + 20|0); + $32 = ((($3)) + 21|0); + $33 = ((($3)) + 22|0); + $34 = ((($3)) + 23|0); + $35 = ((($3)) + 24|0); + $36 = ((($3)) + 25|0); + $37 = ((($3)) + 26|0); + $38 = ((($3)) + 1|0); + $39 = ((($3)) + 2|0); + $40 = ((($3)) + 3|0); + $41 = ((($3)) + 4|0); + $42 = ((($3)) + 5|0); + $43 = ((($3)) + 6|0); + $44 = ((($3)) + 7|0); + $45 = ((($3)) + 8|0); + $46 = ((($3)) + 9|0); + $47 = ((($3)) + 10|0); + $48 = ((($3)) + 11|0); + $49 = ((($3)) + 12|0); + $50 = ((($3)) + 13|0); + $51 = ((($3)) + 14|0); + $52 = ((($3)) + 15|0); + $53 = ((($3)) + 16|0); + $54 = ((($3)) + 17|0); + $55 = ((($3)) + 18|0); + $56 = ((($3)) + 19|0); + $57 = ((($3)) + 20|0); + $58 = ((($3)) + 21|0); + $59 = ((($3)) + 22|0); + $60 = ((($3)) + 23|0); + $61 = ((($3)) + 24|0); + $62 = ((($3)) + 25|0); + $63 = ((($3)) + 26|0); + $$0$ph = 0; + L1: while(1) { + while(1) { + $64 = HEAP32[$4>>2]|0; + $65 = ($64|0)==(0); + if (!($65)) { + $$5$ph = 0; + label = 27; + break L1; + } + $66 = (_get8($0)|0); + $67 = ($66<<24>>24)==(79); + if ($67) { + break; + } + } + $68 = (_stb_vorbis_get_file_offset($0)|0); + $69 = (($68) + -25)|0; + $70 = HEAP32[$5>>2]|0; + $71 = ($69>>>0)>($70>>>0); + if ($71) { + $$5$ph = 0; + label = 27; + break; + } + $72 = (_get8($0)|0); + $73 = HEAP8[(4837)>>0]|0; + $74 = ($72<<24>>24)==($73<<24>>24); + if ($74) { + $75 = (_get8($0)|0); + $76 = HEAP8[(4838)>>0]|0; + $77 = ($75<<24>>24)==($76<<24>>24); + if ($77) { + $198 = (_get8($0)|0); + $199 = HEAP8[(4839)>>0]|0; + $200 = ($198<<24>>24)==($199<<24>>24); + $$ = $200 ? 4 : 3; + $$082$lcssa = $$; + } else { + $$082$lcssa = 2; + } + } else { + $$082$lcssa = 1; + } + $78 = HEAP32[$4>>2]|0; + $79 = ($78|0)==(0); + if (!($79)) { + $$5$ph = 0; + label = 27; + break; + } + $80 = ($$082$lcssa|0)==(4); + L13: do { + if ($80) { + $81 = HEAP32[1209]|0; + HEAP32[$3>>2] = $81; + $82 = (_get8($0)|0); + HEAP8[$15>>0] = $82; + $83 = (_get8($0)|0); + HEAP8[$16>>0] = $83; + $84 = (_get8($0)|0); + HEAP8[$17>>0] = $84; + $85 = (_get8($0)|0); + HEAP8[$18>>0] = $85; + $86 = (_get8($0)|0); + HEAP8[$19>>0] = $86; + $87 = (_get8($0)|0); + HEAP8[$20>>0] = $87; + $88 = (_get8($0)|0); + HEAP8[$21>>0] = $88; + $89 = (_get8($0)|0); + HEAP8[$22>>0] = $89; + $90 = (_get8($0)|0); + HEAP8[$23>>0] = $90; + $91 = (_get8($0)|0); + HEAP8[$24>>0] = $91; + $92 = (_get8($0)|0); + HEAP8[$25>>0] = $92; + $93 = (_get8($0)|0); + HEAP8[$26>>0] = $93; + $94 = (_get8($0)|0); + HEAP8[$27>>0] = $94; + $95 = (_get8($0)|0); + HEAP8[$28>>0] = $95; + $96 = (_get8($0)|0); + HEAP8[$29>>0] = $96; + $97 = (_get8($0)|0); + HEAP8[$30>>0] = $97; + $98 = (_get8($0)|0); + HEAP8[$31>>0] = $98; + $99 = (_get8($0)|0); + HEAP8[$32>>0] = $99; + $100 = (_get8($0)|0); + HEAP8[$33>>0] = $100; + $101 = (_get8($0)|0); + HEAP8[$34>>0] = $101; + $102 = (_get8($0)|0); + HEAP8[$35>>0] = $102; + $103 = (_get8($0)|0); + HEAP8[$36>>0] = $103; + $104 = (_get8($0)|0); + HEAP8[$37>>0] = $104; + $105 = HEAP32[$4>>2]|0; + $106 = ($105|0)==(0); + do { + if ($106) { + $107 = HEAP8[$6>>0]|0; + $108 = ($107<<24>>24)==(0); + if ($108) { + $111 = HEAP8[$7>>0]|0; + $112 = HEAP8[$8>>0]|0; + $113 = HEAP8[$9>>0]|0; + $114 = HEAP8[$10>>0]|0; + $115 = $114&255; + $116 = $115 << 24; + HEAP16[$scevgep>>1]=0&65535;HEAP16[$scevgep+2>>1]=0>>>16; + $117 = $112&255; + $118 = $117 << 8; + $119 = $111&255; + $120 = $118 | $119; + $121 = $113&255; + $122 = $121 << 16; + $123 = $120 | $122; + $124 = HEAP8[$3>>0]|0; + $125 = (_crc32_update(0,$124)|0); + $126 = HEAP8[$38>>0]|0; + $127 = (_crc32_update($125,$126)|0); + $128 = HEAP8[$39>>0]|0; + $129 = (_crc32_update($127,$128)|0); + $130 = HEAP8[$40>>0]|0; + $131 = (_crc32_update($129,$130)|0); + $132 = HEAP8[$41>>0]|0; + $133 = (_crc32_update($131,$132)|0); + $134 = HEAP8[$42>>0]|0; + $135 = (_crc32_update($133,$134)|0); + $136 = HEAP8[$43>>0]|0; + $137 = (_crc32_update($135,$136)|0); + $138 = HEAP8[$44>>0]|0; + $139 = (_crc32_update($137,$138)|0); + $140 = HEAP8[$45>>0]|0; + $141 = (_crc32_update($139,$140)|0); + $142 = HEAP8[$46>>0]|0; + $143 = (_crc32_update($141,$142)|0); + $144 = HEAP8[$47>>0]|0; + $145 = (_crc32_update($143,$144)|0); + $146 = HEAP8[$48>>0]|0; + $147 = (_crc32_update($145,$146)|0); + $148 = HEAP8[$49>>0]|0; + $149 = (_crc32_update($147,$148)|0); + $150 = HEAP8[$50>>0]|0; + $151 = (_crc32_update($149,$150)|0); + $152 = HEAP8[$51>>0]|0; + $153 = (_crc32_update($151,$152)|0); + $154 = HEAP8[$52>>0]|0; + $155 = (_crc32_update($153,$154)|0); + $156 = HEAP8[$53>>0]|0; + $157 = (_crc32_update($155,$156)|0); + $158 = HEAP8[$54>>0]|0; + $159 = (_crc32_update($157,$158)|0); + $160 = HEAP8[$55>>0]|0; + $161 = (_crc32_update($159,$160)|0); + $162 = HEAP8[$56>>0]|0; + $163 = (_crc32_update($161,$162)|0); + $164 = HEAP8[$57>>0]|0; + $165 = (_crc32_update($163,$164)|0); + $166 = HEAP8[$58>>0]|0; + $167 = (_crc32_update($165,$166)|0); + $168 = HEAP8[$59>>0]|0; + $169 = (_crc32_update($167,$168)|0); + $170 = HEAP8[$60>>0]|0; + $171 = (_crc32_update($169,$170)|0); + $172 = HEAP8[$61>>0]|0; + $173 = (_crc32_update($171,$172)|0); + $174 = HEAP8[$62>>0]|0; + $175 = (_crc32_update($173,$174)|0); + $176 = HEAP8[$63>>0]|0; + $177 = (_crc32_update($175,$176)|0); + $178 = $123 | $116; + $179 = ($176<<24>>24)==(0); + if ($179) { + $$275$lcssa = $177; + } else { + $109 = HEAP8[$11>>0]|0; + $110 = $109&255; + $$069104 = 0;$$174103 = $177;$$480102 = 0; + while(1) { + $180 = (_get8($0)|0); + $181 = $180&255; + $182 = (_crc32_update($$174103,$180)|0); + $183 = (($181) + ($$069104))|0; + $184 = (($$480102) + 1)|0; + $185 = ($184>>>0)<($110>>>0); + if ($185) { + $$069104 = $183;$$174103 = $182;$$480102 = $184; + } else { + break; + } + } + $186 = ($183|0)==(0); + if ($186) { + $$275$lcssa = $182; + } else { + $187 = HEAP32[$4>>2]|0; + $188 = ($187|0)==(0); + if ($188) { + $$275109 = $182;$$581108 = 0; + } else { + $$070 = 1;$$1 = 0; + break; + } + while(1) { + $189 = (_get8($0)|0); + $190 = (_crc32_update($$275109,$189)|0); + $191 = (($$581108) + 1)|0; + $exitcond = ($191|0)==($183|0); + if ($exitcond) { + $$275$lcssa = $190; + break; + } else { + $$275109 = $190;$$581108 = $191; + } + } + } + } + $192 = ($$275$lcssa|0)==($178|0); + if ($192) { + if (!($12)) { + $193 = (_stb_vorbis_get_file_offset($0)|0); + HEAP32[$1>>2] = $193; + } + if (!($13)) { + $194 = HEAP8[$14>>0]|0; + $195 = ($194&255) >>> 2; + $$lobit = $195 & 1; + $196 = $$lobit&255; + HEAP32[$2>>2] = $196; + } + $197 = (($68) + -1)|0; + _set_file_offset($0,$197); + $$070 = 1;$$1 = 1; + } else { + $$070 = 0;$$1 = $$0$ph; + } + } else { + $$070 = 13;$$1 = $$0$ph; + } + } else { + $$070 = 1;$$1 = 0; + } + } while(0); + $trunc = $$070&255; + $trunc$clear = $trunc & 15; + switch ($trunc$clear<<24>>24) { + case 13: case 0: { + $$2 = $$1; + break L13; + break; + } + default: { + } + } + $cond = ($$070|0)==(0); + if ($cond) { + $$0$ph = $$1; + continue L1; + } else { + $$5$ph = $$1; + label = 27; + break L1; + } + } else { + $$2 = $$0$ph; + } + } while(0); + _set_file_offset($0,$68); + $$0$ph = $$2; + } + if ((label|0) == 27) { + STACKTOP = sp;return ($$5$ph|0); + } + return (0)|0; +} +function _crc32_update($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = $0 << 8; + $3 = $1&255; + $4 = $0 >>> 24; + $5 = $3 ^ $4; + $6 = (32180 + ($5<<2)|0); + $7 = HEAP32[$6>>2]|0; + $8 = $7 ^ $2; + return ($8|0); +} +function _stb_vorbis_open_file($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; + sp = STACKTOP; + $4 = (_ftell($0)|0); + (_fseek($0,0,2)|0); + $5 = (_ftell($0)|0); + $6 = (($5) - ($4))|0; + (_fseek($0,$4,0)|0); + $7 = (_stb_vorbis_open_file_section($0,$1,$2,$3,$6)|0); + return ($7|0); +} +function _stb_vorbis_open_file_section($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 1520|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1520|0); + $5 = sp; + _vorbis_init($5,$3); + $6 = ((($5)) + 20|0); + HEAP32[$6>>2] = $0; + $7 = (_ftell($0)|0); + $8 = ((($5)) + 24|0); + HEAP32[$8>>2] = $7; + $9 = ((($5)) + 44|0); + HEAP32[$9>>2] = $4; + $10 = ((($5)) + 28|0); + HEAP32[$10>>2] = $1; + $11 = (_start_decoder($5)|0); + $12 = ($11|0)==(0); + if (!($12)) { + $13 = (_vorbis_alloc($5)|0); + $14 = ($13|0)==(0|0); + if (!($14)) { + _memcpy(($13|0),($5|0),1512)|0; + (_vorbis_pump_first_frame($13)|0); + $$0 = $13; + STACKTOP = sp;return ($$0|0); + } + } + $15 = ($2|0)==(0|0); + if (!($15)) { + $16 = ((($5)) + 100|0); + $17 = HEAP32[$16>>2]|0; + HEAP32[$2>>2] = $17; + } + _vorbis_deinit($5); + $$0 = 0; + STACKTOP = sp;return ($$0|0); +} +function _vorbis_init($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $3 = 0, $4 = 0, $5 = 0; + var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + _memset(($0|0),0,1512)|0; + $2 = ($1|0)==(0|0); + if (!($2)) { + $3 = ((($0)) + 80|0); + $4 = $1; + $5 = $4; + $6 = HEAP32[$5>>2]|0; + $7 = (($4) + 4)|0; + $8 = $7; + $9 = HEAP32[$8>>2]|0; + $10 = $3; + $11 = $10; + HEAP32[$11>>2] = $6; + $12 = (($10) + 4)|0; + $13 = $12; + HEAP32[$13>>2] = $9; + $14 = ((($0)) + 84|0); + $15 = HEAP32[$14>>2]|0; + $16 = (($15) + 3)|0; + $17 = $16 & -4; + HEAP32[$14>>2] = $17; + $18 = ((($0)) + 92|0); + HEAP32[$18>>2] = $17; + } + $19 = ((($0)) + 96|0); + HEAP32[$19>>2] = 0; + $20 = ((($0)) + 100|0); + HEAP32[$20>>2] = 0; + $21 = ((($0)) + 32|0); + HEAP32[$21>>2] = 0; + $22 = ((($0)) + 124|0); + HEAP32[$22>>2] = 0; + $23 = ((($0)) + 1420|0); + HEAP32[$23>>2] = -1; + $24 = ((($0)) + 28|0); + HEAP32[$24>>2] = 0; + $25 = ((($0)) + 20|0); + HEAP32[$25>>2] = 0; + return; +} +function _start_decoder($0) { + $0 = $0|0; + var $$ = 0, $$$0899 = 0, $$$0929 = 0, $$$0964 = 0, $$0899$lcssa = 0, $$08991120 = 0, $$09011119 = 0, $$09021210 = 0, $$0920 = 0, $$0920$ph = 0, $$0929$lcssa = 0, $$09291199 = 0, $$09501156 = 0, $$0951 = 0, $$09541216 = 0, $$0957 = 0, $$09581209 = 0, $$0962 = 0, $$09641169 = 0, $$09661213 = 0; + var $$09701227 = 0.0, $$0974$ph = 0, $$0977$ = 0.0, $$09771224 = 0.0, $$109121192 = 0, $$119131195 = 0, $$129141148 = 0, $$139151153 = 0, $$149161160 = 0, $$159171137 = 0, $$169181135 = 0, $$179191139 = 0, $$18921232 = 0, $$19031217 = 0, $$19211174 = 0, $$1955 = 0, $$19631000 = 0, $$19631001$ph = 0, $$1971 = 0.0, $$1971$ = 0.0; + var $$1971$ph = 0.0, $$28931205 = 0, $$29041220 = 0, $$29221181 = 0, $$2953 = 0, $$2956 = 0, $$2960$ph = 0, $$34 = 0, $$38941200 = 0, $$39051228 = 0, $$39231152 = 0, $$3961 = 0, $$48951165 = 0, $$49061225 = 0, $$49241157 = 0, $$49241157$in = 0, $$58961143 = 0, $$59071118 = 0, $$59251132 = 0, $$68971128 = 0; + var $$69081170 = 0, $$78981124 = 0, $$79091177 = 0, $$89101185 = 0, $$99111188 = 0, $$in = 0, $$lcssa = 0, $$lcssa1060 = 0, $$lcssa1061 = 0, $$lcssa1073 = 0, $$off = 0, $$off979 = 0, $$pr = 0, $$pr1300 = 0, $$pr1301 = 0, $$sink = 0, $$sink25 = 0, $$sink26 = 0, $$sink986 = 0, $1 = 0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0; + var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0; + var $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0; + var $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0; + var $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0; + var $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0.0; + var $262 = 0, $263 = 0, $264 = 0.0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0; + var $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0; + var $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0; + var $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0.0, $328 = 0.0, $329 = 0.0, $33 = 0, $330 = 0.0, $331 = 0.0, $332 = 0.0, $333 = 0; + var $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0; + var $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0.0, $359 = 0.0, $36 = 0, $360 = 0.0, $361 = 0.0, $362 = 0.0, $363 = 0.0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0; + var $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0; + var $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0; + var $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0; + var $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0; + var $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0; + var $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0, $478 = 0; + var $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0, $496 = 0; + var $497 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0, $513 = 0; + var $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0, $531 = 0; + var $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0, $549 = 0, $55 = 0; + var $550 = 0, $551 = 0, $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0, $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0, $562 = 0, $563 = 0, $564 = 0, $565 = 0, $566 = 0, $567 = 0, $568 = 0; + var $569 = 0, $57 = 0, $570 = 0, $571 = 0, $572 = 0, $573 = 0, $574 = 0, $575 = 0, $576 = 0, $577 = 0, $578 = 0, $579 = 0, $58 = 0, $580 = 0, $581 = 0, $582 = 0, $583 = 0, $584 = 0, $585 = 0, $586 = 0; + var $587 = 0, $588 = 0, $589 = 0, $59 = 0, $590 = 0, $591 = 0, $592 = 0, $593 = 0, $594 = 0, $595 = 0, $596 = 0, $597 = 0, $598 = 0, $599 = 0, $6 = 0, $60 = 0, $600 = 0, $601 = 0, $602 = 0, $603 = 0; + var $604 = 0, $605 = 0, $606 = 0, $607 = 0, $608 = 0, $609 = 0, $61 = 0, $610 = 0, $611 = 0, $612 = 0, $613 = 0, $614 = 0, $615 = 0, $616 = 0, $617 = 0, $618 = 0, $619 = 0, $62 = 0, $620 = 0, $621 = 0; + var $622 = 0, $623 = 0, $624 = 0, $625 = 0, $626 = 0, $627 = 0, $628 = 0, $629 = 0, $63 = 0, $630 = 0, $631 = 0, $632 = 0, $633 = 0, $634 = 0, $635 = 0, $636 = 0, $637 = 0, $638 = 0, $639 = 0, $64 = 0; + var $640 = 0, $641 = 0, $642 = 0, $643 = 0, $644 = 0, $645 = 0, $646 = 0, $647 = 0, $648 = 0, $649 = 0, $65 = 0, $650 = 0, $651 = 0, $652 = 0, $653 = 0, $654 = 0, $655 = 0, $656 = 0, $657 = 0, $658 = 0; + var $659 = 0, $66 = 0, $660 = 0, $661 = 0, $662 = 0, $663 = 0, $664 = 0, $665 = 0, $666 = 0, $667 = 0, $668 = 0, $669 = 0, $67 = 0, $670 = 0, $671 = 0, $672 = 0, $673 = 0, $674 = 0, $675 = 0, $676 = 0; + var $677 = 0, $678 = 0, $679 = 0, $68 = 0, $680 = 0, $681 = 0, $682 = 0, $683 = 0, $684 = 0, $685 = 0, $686 = 0, $687 = 0, $688 = 0, $689 = 0, $69 = 0, $690 = 0, $691 = 0, $692 = 0, $693 = 0, $694 = 0; + var $695 = 0, $696 = 0, $697 = 0, $698 = 0, $699 = 0, $7 = 0, $70 = 0, $700 = 0, $701 = 0, $702 = 0, $703 = 0, $704 = 0, $705 = 0, $706 = 0, $707 = 0, $708 = 0, $709 = 0, $71 = 0, $710 = 0, $711 = 0; + var $712 = 0, $713 = 0, $714 = 0, $715 = 0, $716 = 0, $717 = 0, $718 = 0, $719 = 0, $72 = 0, $720 = 0, $721 = 0, $722 = 0, $723 = 0, $724 = 0, $725 = 0, $726 = 0, $727 = 0, $728 = 0, $729 = 0, $73 = 0; + var $730 = 0, $731 = 0, $732 = 0, $733 = 0, $734 = 0, $735 = 0, $736 = 0, $737 = 0, $738 = 0, $739 = 0, $74 = 0, $740 = 0, $741 = 0, $742 = 0, $743 = 0, $744 = 0, $745 = 0, $746 = 0, $747 = 0, $748 = 0; + var $749 = 0, $75 = 0, $750 = 0, $751 = 0, $752 = 0, $753 = 0, $754 = 0, $755 = 0, $756 = 0, $757 = 0, $758 = 0, $759 = 0, $76 = 0, $760 = 0, $761 = 0, $762 = 0, $763 = 0, $764 = 0, $765 = 0, $766 = 0; + var $767 = 0, $768 = 0, $769 = 0, $77 = 0, $770 = 0, $771 = 0, $772 = 0, $773 = 0, $774 = 0, $775 = 0, $776 = 0, $777 = 0, $778 = 0, $779 = 0, $78 = 0, $780 = 0, $781 = 0, $782 = 0, $783 = 0, $784 = 0; + var $785 = 0, $786 = 0, $787 = 0, $788 = 0, $789 = 0, $79 = 0, $790 = 0, $791 = 0, $792 = 0, $793 = 0, $794 = 0, $795 = 0, $796 = 0, $797 = 0, $798 = 0, $799 = 0, $8 = 0, $80 = 0, $800 = 0, $801 = 0; + var $802 = 0, $803 = 0, $804 = 0, $805 = 0, $806 = 0, $807 = 0, $808 = 0, $809 = 0, $81 = 0, $810 = 0, $811 = 0, $812 = 0, $813 = 0, $814 = 0, $815 = 0, $816 = 0, $817 = 0, $818 = 0, $819 = 0, $82 = 0; + var $820 = 0, $821 = 0, $822 = 0, $823 = 0, $824 = 0, $825 = 0, $826 = 0, $827 = 0, $828 = 0, $829 = 0, $83 = 0, $830 = 0, $831 = 0, $832 = 0, $833 = 0, $834 = 0, $835 = 0, $836 = 0, $837 = 0, $838 = 0; + var $839 = 0, $84 = 0, $840 = 0, $841 = 0, $842 = 0, $843 = 0, $844 = 0, $845 = 0, $846 = 0, $847 = 0, $848 = 0, $849 = 0, $85 = 0, $850 = 0, $851 = 0, $852 = 0, $853 = 0, $854 = 0, $855 = 0, $856 = 0; + var $857 = 0, $858 = 0, $859 = 0, $86 = 0, $860 = 0, $861 = 0, $862 = 0, $863 = 0, $864 = 0, $865 = 0, $866 = 0, $867 = 0, $868 = 0, $869 = 0, $87 = 0, $870 = 0, $871 = 0, $872 = 0, $873 = 0, $874 = 0; + var $875 = 0, $876 = 0, $877 = 0, $878 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $not$or$cond982 = 0, $notrhs = 0, $or$cond = 0; + var $or$cond991 = 0, $phitmp = 0, $phitmp1296 = 0, $phitmp1297 = 0, $sext = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 1024|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1024|0); + $1 = sp + 1008|0; + $2 = sp + 8|0; + $3 = sp + 4|0; + $4 = sp; + $5 = (_start_page($0)|0); + $6 = ($5|0)==(0); + if ($6) { + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + $7 = ((($0)) + 1375|0); + $8 = HEAP8[$7>>0]|0; + $9 = $8&255; + $10 = $9 & 2; + $11 = ($10|0)==(0); + if ($11) { + _error($0,34); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + $12 = $9 & 4; + $13 = ($12|0)==(0); + if (!($13)) { + _error($0,34); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + $14 = $9 & 1; + $15 = ($14|0)==(0); + if (!($15)) { + _error($0,34); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + $16 = ((($0)) + 1116|0); + $17 = HEAP32[$16>>2]|0; + $18 = ($17|0)==(1); + if (!($18)) { + _error($0,34); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + $19 = ((($0)) + 1120|0); + $20 = HEAP8[$19>>0]|0; + $21 = ($20<<24>>24)==(30); + if (!($21)) { + _error($0,34); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + $22 = (_get8($0)|0); + $23 = ($22<<24>>24)==(1); + if (!($23)) { + _error($0,34); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + $24 = (_getn($0,$1,6)|0); + $25 = ($24|0)==(0); + if ($25) { + _error($0,10); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + $26 = (_vorbis_validate($1)|0); + $27 = ($26|0)==(0); + if ($27) { + _error($0,34); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + $28 = (_get32($0)|0); + $29 = ($28|0)==(0); + if (!($29)) { + _error($0,34); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + $30 = (_get8($0)|0); + $31 = $30&255; + $32 = ((($0)) + 4|0); + HEAP32[$32>>2] = $31; + $33 = ($30<<24>>24)==(0); + if ($33) { + _error($0,34); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + $34 = ($30&255)>(16); + if ($34) { + _error($0,5); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + $35 = (_get32($0)|0); + HEAP32[$0>>2] = $35; + $36 = ($35|0)==(0); + if ($36) { + _error($0,34); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + (_get32($0)|0); + (_get32($0)|0); + (_get32($0)|0); + $37 = (_get8($0)|0); + $38 = $37&255; + $39 = $38 & 15; + $40 = $38 >>> 4; + $41 = 1 << $39; + $42 = ((($0)) + 112|0); + HEAP32[$42>>2] = $41; + $43 = 1 << $40; + $44 = ((($0)) + 116|0); + HEAP32[$44>>2] = $43; + $$off = (($39) + -6)|0; + $45 = ($$off>>>0)>(7); + if ($45) { + _error($0,20); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + $$off979 = (($37) + -96)<<24>>24; + $46 = ($$off979<<24>>24)<(0); + if ($46) { + _error($0,20); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + $47 = ($39>>>0)>($40>>>0); + if ($47) { + _error($0,20); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + $48 = (_get8($0)|0); + $49 = $48 & 1; + $50 = ($49<<24>>24)==(0); + if ($50) { + _error($0,34); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + $51 = (_start_page($0)|0); + $52 = ($51|0)==(0); + if ($52) { + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + $53 = (_start_packet($0)|0); + $54 = ($53|0)==(0); + if ($54) { + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + $55 = ((($0)) + 1376|0); + while(1) { + $56 = (_next_segment($0)|0); + _skip($0,$56); + HEAP8[$55>>0] = 0; + $57 = ($56|0)==(0); + if ($57) { + break; + } + } + $58 = (_start_packet($0)|0); + $59 = ($58|0)==(0); + if ($59) { + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + $60 = ((($0)) + 48|0); + $61 = HEAP8[$60>>0]|0; + $62 = ($61<<24>>24)==(0); + do { + if (!($62)) { + $63 = (_is_whole_packet_present($0,1)|0); + $64 = ($63|0)==(0); + if (!($64)) { + break; + } + $65 = ((($0)) + 100|0); + $66 = HEAP32[$65>>2]|0; + $67 = ($66|0)==(21); + if (!($67)) { + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + HEAP32[$65>>2] = 20; + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + } while(0); + _crc32_init(); + $68 = (_get8_packet($0)|0); + $69 = ($68|0)==(5); + if (!($69)) { + _error($0,20); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + $70 = (_get8_packet($0)|0); + $71 = $70&255; + HEAP8[$1>>0] = $71; + $72 = (_get8_packet($0)|0); + $73 = $72&255; + $74 = ((($1)) + 1|0); + HEAP8[$74>>0] = $73; + $75 = (_get8_packet($0)|0); + $76 = $75&255; + $77 = ((($1)) + 2|0); + HEAP8[$77>>0] = $76; + $78 = (_get8_packet($0)|0); + $79 = $78&255; + $80 = ((($1)) + 3|0); + HEAP8[$80>>0] = $79; + $81 = (_get8_packet($0)|0); + $82 = $81&255; + $83 = ((($1)) + 4|0); + HEAP8[$83>>0] = $82; + $84 = (_get8_packet($0)|0); + $85 = $84&255; + $86 = ((($1)) + 5|0); + HEAP8[$86>>0] = $85; + $87 = (_vorbis_validate($1)|0); + $88 = ($87|0)==(0); + if ($88) { + _error($0,20); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + $89 = (_get_bits($0,8)|0); + $90 = (($89) + 1)|0; + $91 = ((($0)) + 120|0); + HEAP32[$91>>2] = $90; + $92 = ($90*2096)|0; + $93 = (_setup_malloc($0,$92)|0); + $94 = ((($0)) + 124|0); + HEAP32[$94>>2] = $93; + $95 = ($93|0)==(0|0); + if ($95) { + _error($0,3); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + $96 = HEAP32[$91>>2]|0; + $97 = ($96*2096)|0; + _memset(($93|0),0,($97|0))|0; + $98 = HEAP32[$91>>2]|0; + $99 = ($98|0)>(0); + L100: do { + if ($99) { + $100 = ((($0)) + 16|0); + $101 = ((($0)) + 16|0); + $$18921232 = 0; + L102: while(1) { + $102 = HEAP32[$94>>2]|0; + $103 = (($102) + (($$18921232*2096)|0)|0); + $104 = (_get_bits($0,8)|0); + $105 = $104 & 255; + $106 = ($105|0)==(66); + if (!($106)) { + label = 52; + break; + } + $107 = (_get_bits($0,8)|0); + $108 = $107 & 255; + $109 = ($108|0)==(67); + if (!($109)) { + label = 54; + break; + } + $110 = (_get_bits($0,8)|0); + $111 = $110 & 255; + $112 = ($111|0)==(86); + if (!($112)) { + label = 56; + break; + } + $113 = (_get_bits($0,8)|0); + $114 = (_get_bits($0,8)|0); + $115 = $114 << 8; + $116 = $113 & 255; + $117 = $115 | $116; + HEAP32[$103>>2] = $117; + $118 = (_get_bits($0,8)|0); + $119 = (_get_bits($0,8)|0); + $120 = (_get_bits($0,8)|0); + $121 = $120 << 16; + $122 = $119 << 8; + $123 = $122 & 65280; + $124 = $118 & 255; + $125 = $123 | $124; + $126 = $125 | $121; + $127 = (((($102) + (($$18921232*2096)|0)|0)) + 4|0); + HEAP32[$127>>2] = $126; + $128 = (_get_bits($0,1)|0); + $129 = ($128|0)!=(0); + if ($129) { + $132 = 0; + } else { + $130 = (_get_bits($0,1)|0); + $132 = $130; + } + $131 = $132&255; + $133 = (((($102) + (($$18921232*2096)|0)|0)) + 23|0); + HEAP8[$133>>0] = $131; + $134 = HEAP32[$103>>2]|0; + $135 = ($134|0)!=(0); + $136 = HEAP32[$127>>2]|0; + $137 = ($136|0)==(0); + $or$cond = $135 | $137; + if (!($or$cond)) { + label = 60; + break; + } + $138 = ($131<<24>>24)==(0); + if ($138) { + $140 = (_setup_malloc($0,$136)|0); + $141 = (((($102) + (($$18921232*2096)|0)|0)) + 8|0); + HEAP32[$141>>2] = $140; + $$0962 = $140; + } else { + $139 = (_setup_temp_malloc($0,$136)|0); + $$0962 = $139; + } + $142 = ($$0962|0)==(0|0); + if ($142) { + label = 65; + break; + } + do { + if ($129) { + $145 = (_get_bits($0,5)|0); + $146 = HEAP32[$127>>2]|0; + $147 = ($146|0)>(0); + if ($147) { + $$09661213 = 0;$$in = $145;$150 = $146; + } else { + $$3961 = 0; + break; + } + while(1) { + $148 = (($$in) + 1)|0; + $149 = (($150) - ($$09661213))|0; + $151 = (_ilog($149)|0); + $152 = (_get_bits($0,$151)|0); + $153 = (($152) + ($$09661213))|0; + $154 = HEAP32[$127>>2]|0; + $155 = ($153|0)>($154|0); + if ($155) { + label = 71; + break L102; + } + $156 = (($$0962) + ($$09661213)|0); + $157 = $148&255; + _memset(($156|0),($157|0),($152|0))|0; + $158 = HEAP32[$127>>2]|0; + $159 = ($158|0)>($153|0); + if ($159) { + $$09661213 = $153;$$in = $148;$150 = $158; + } else { + $$3961 = 0; + break; + } + } + } else { + $143 = HEAP32[$127>>2]|0; + $144 = ($143|0)>(0); + if ($144) { + $$09021210 = 0;$$09581209 = 0; + } else { + $$3961 = 0; + break; + } + while(1) { + $160 = HEAP8[$133>>0]|0; + $161 = ($160<<24>>24)==(0); + do { + if ($161) { + label = 74; + } else { + $162 = (_get_bits($0,1)|0); + $163 = ($162|0)==(0); + if (!($163)) { + label = 74; + break; + } + $171 = (($$0962) + ($$09021210)|0); + HEAP8[$171>>0] = -1; + $$2960$ph = $$09581209; + } + } while(0); + if ((label|0) == 74) { + label = 0; + $164 = (_get_bits($0,5)|0); + $165 = (($164) + 1)|0; + $166 = $165&255; + $167 = (($$0962) + ($$09021210)|0); + HEAP8[$167>>0] = $166; + $168 = (($$09581209) + 1)|0; + $169 = $165 & 255; + $170 = ($169|0)==(32); + if ($170) { + label = 76; + break L102; + } else { + $$2960$ph = $168; + } + } + $172 = (($$09021210) + 1)|0; + $173 = HEAP32[$127>>2]|0; + $174 = ($172|0)<($173|0); + if ($174) { + $$09021210 = $172;$$09581209 = $$2960$ph; + } else { + $$3961 = $$2960$ph; + break; + } + } + } + } while(0); + $175 = HEAP8[$133>>0]|0; + $176 = ($175<<24>>24)==(0); + do { + if ($176) { + $$19631001$ph = $$0962; + label = 86; + } else { + $177 = HEAP32[$127>>2]|0; + $178 = $177 >> 2; + $179 = ($$3961|0)<($178|0); + if ($179) { + $$pr = HEAP8[$133>>0]|0; + $188 = ($$pr<<24>>24)==(0); + if ($188) { + $$19631001$ph = $$0962; + label = 86; + break; + } else { + $$19631000 = $$0962;$$2956 = $$3961; + break; + } + } + $180 = HEAP32[$101>>2]|0; + $181 = ($177|0)>($180|0); + if ($181) { + HEAP32[$101>>2] = $177; + } + $182 = (_setup_malloc($0,$177)|0); + $183 = (((($102) + (($$18921232*2096)|0)|0)) + 8|0); + HEAP32[$183>>2] = $182; + $184 = ($182|0)==(0|0); + if ($184) { + label = 83; + break L102; + } + $185 = HEAP32[$127>>2]|0; + _memcpy(($182|0),($$0962|0),($185|0))|0; + $186 = HEAP32[$127>>2]|0; + _setup_temp_free($0,$$0962,$186); + $187 = HEAP32[$183>>2]|0; + HEAP8[$133>>0] = 0; + $$19631001$ph = $187; + label = 86; + } + } while(0); + do { + if ((label|0) == 86) { + label = 0; + $189 = HEAP32[$127>>2]|0; + $190 = ($189|0)>(0); + if (!($190)) { + $$19631000 = $$19631001$ph;$$2956 = 0; + break; + } + $191 = HEAP32[$127>>2]|0; + $$09541216 = 0;$$19031217 = 0; + while(1) { + $192 = (($$19631001$ph) + ($$19031217)|0); + $193 = HEAP8[$192>>0]|0; + $194 = ($193&255)<(11); + $notrhs = ($193<<24>>24)!=(-1); + $not$or$cond982 = $194 ^ $notrhs; + $195 = $not$or$cond982&1; + $$1955 = (($195) + ($$09541216))|0; + $196 = (($$19031217) + 1)|0; + $197 = ($196|0)<($191|0); + if ($197) { + $$09541216 = $$1955;$$19031217 = $196; + } else { + $$19631000 = $$19631001$ph;$$2956 = $$1955; + break; + } + } + } + } while(0); + $198 = (((($102) + (($$18921232*2096)|0)|0)) + 2092|0); + HEAP32[$198>>2] = $$2956; + $199 = HEAP8[$133>>0]|0; + $200 = ($199<<24>>24)==(0); + do { + if ($200) { + $201 = HEAP32[$127>>2]|0; + $202 = $201 << 2; + $203 = (_setup_malloc($0,$202)|0); + $204 = (((($102) + (($$18921232*2096)|0)|0)) + 32|0); + HEAP32[$204>>2] = $203; + $205 = ($203|0)==(0|0); + if ($205) { + label = 91; + break L102; + } else { + $$2953 = 0;$230 = 0; + } + } else { + $206 = ($$2956|0)==(0); + if ($206) { + $$0951 = 0;$878 = 0; + } else { + $207 = (_setup_malloc($0,$$2956)|0); + $208 = (((($102) + (($$18921232*2096)|0)|0)) + 8|0); + HEAP32[$208>>2] = $207; + $209 = ($207|0)==(0|0); + if ($209) { + label = 94; + break L102; + } + $210 = HEAP32[$198>>2]|0; + $211 = $210 << 2; + $212 = (_setup_temp_malloc($0,$211)|0); + $213 = (((($102) + (($$18921232*2096)|0)|0)) + 32|0); + HEAP32[$213>>2] = $212; + $214 = ($212|0)==(0|0); + if ($214) { + label = 96; + break L102; + } + $215 = HEAP32[$198>>2]|0; + $216 = $215 << 2; + $217 = (_setup_temp_malloc($0,$216)|0); + $218 = ($217|0)==(0|0); + if ($218) { + label = 98; + break L102; + } else { + $$0951 = $217;$878 = $217; + } + } + $219 = HEAP32[$127>>2]|0; + $220 = HEAP32[$198>>2]|0; + $221 = $220 << 3; + $222 = (($221) + ($219))|0; + $223 = HEAP32[$100>>2]|0; + $224 = ($222>>>0)>($223>>>0); + if (!($224)) { + $$2953 = $$0951;$230 = $878; + break; + } + HEAP32[$100>>2] = $222; + $$2953 = $$0951;$230 = $878; + } + } while(0); + $225 = HEAP32[$127>>2]|0; + $226 = (_compute_codewords($103,$$19631000,$225,$$2953)|0); + $227 = ($226|0)==(0); + if ($227) { + label = 102; + break; + } + $231 = HEAP32[$198>>2]|0; + $232 = ($231|0)==(0); + if (!($232)) { + $233 = $231 << 2; + $234 = (($233) + 4)|0; + $235 = (_setup_malloc($0,$234)|0); + $236 = (((($102) + (($$18921232*2096)|0)|0)) + 2084|0); + HEAP32[$236>>2] = $235; + $237 = ($235|0)==(0|0); + if ($237) { + label = 107; + break; + } + $238 = HEAP32[$198>>2]|0; + $239 = $238 << 2; + $240 = (($239) + 4)|0; + $241 = (_setup_malloc($0,$240)|0); + $242 = (((($102) + (($$18921232*2096)|0)|0)) + 2088|0); + HEAP32[$242>>2] = $241; + $243 = ($241|0)==(0|0); + if ($243) { + label = 109; + break; + } + $244 = ((($241)) + 4|0); + HEAP32[$242>>2] = $244; + HEAP32[$241>>2] = -1; + _compute_sorted_huffman($103,$$19631000,$$2953); + } + $245 = HEAP8[$133>>0]|0; + $246 = ($245<<24>>24)==(0); + if (!($246)) { + $247 = HEAP32[$198>>2]|0; + $248 = $247 << 2; + _setup_temp_free($0,$230,$248); + $249 = (((($102) + (($$18921232*2096)|0)|0)) + 32|0); + $250 = HEAP32[$249>>2]|0; + $251 = HEAP32[$198>>2]|0; + $252 = $251 << 2; + _setup_temp_free($0,$250,$252); + $253 = HEAP32[$127>>2]|0; + _setup_temp_free($0,$$19631000,$253); + HEAP32[$249>>2] = 0; + } + _compute_accelerated_huffman($103); + $254 = (_get_bits($0,4)|0); + $255 = $254&255; + $256 = (((($102) + (($$18921232*2096)|0)|0)) + 21|0); + HEAP8[$256>>0] = $255; + $257 = $254 & 255; + $258 = ($257>>>0)>(2); + if ($258) { + label = 114; + break; + } + $259 = ($257|0)==(0); + if (!($259)) { + $260 = (_get_bits($0,32)|0); + $261 = (+_float32_unpack($260)); + $262 = (((($102) + (($$18921232*2096)|0)|0)) + 12|0); + HEAPF32[$262>>2] = $261; + $263 = (_get_bits($0,32)|0); + $264 = (+_float32_unpack($263)); + $265 = (((($102) + (($$18921232*2096)|0)|0)) + 16|0); + HEAPF32[$265>>2] = $264; + $266 = (_get_bits($0,4)|0); + $267 = (($266) + 1)|0; + $268 = $267&255; + $269 = (((($102) + (($$18921232*2096)|0)|0)) + 20|0); + HEAP8[$269>>0] = $268; + $270 = (_get_bits($0,1)|0); + $271 = $270&255; + $272 = (((($102) + (($$18921232*2096)|0)|0)) + 22|0); + HEAP8[$272>>0] = $271; + $273 = HEAP8[$256>>0]|0; + $274 = ($273<<24>>24)==(1); + $275 = HEAP32[$127>>2]|0; + $276 = HEAP32[$103>>2]|0; + if ($274) { + $277 = (_lookup1_values($275,$276)|0); + $$sink = $277; + } else { + $278 = Math_imul($276, $275)|0; + $$sink = $278; + } + $279 = (((($102) + (($$18921232*2096)|0)|0)) + 24|0); + HEAP32[$279>>2] = $$sink; + $280 = ($$sink|0)==(0); + if ($280) { + label = 120; + break; + } + $281 = $$sink << 1; + $282 = (_setup_temp_malloc($0,$281)|0); + $283 = ($282|0)==(0|0); + if ($283) { + label = 123; + break; + } + $284 = HEAP32[$279>>2]|0; + $285 = ($284|0)>(0); + if ($285) { + $$29041220 = 0; + while(1) { + $286 = HEAP8[$269>>0]|0; + $287 = $286&255; + $288 = (_get_bits($0,$287)|0); + $289 = ($288|0)==(-1); + if ($289) { + label = 125; + break L102; + } + $292 = $288&65535; + $293 = (($282) + ($$29041220<<1)|0); + HEAP16[$293>>1] = $292; + $294 = (($$29041220) + 1)|0; + $295 = HEAP32[$279>>2]|0; + $296 = ($294|0)<($295|0); + if ($296) { + $$29041220 = $294; + } else { + $$lcssa1073 = $295; + break; + } + } + } else { + $$lcssa1073 = $284; + } + $297 = HEAP8[$256>>0]|0; + $298 = ($297<<24>>24)==(1); + do { + if ($298) { + $299 = HEAP8[$133>>0]|0; + $300 = ($299<<24>>24)!=(0); + if ($300) { + $301 = HEAP32[$198>>2]|0; + $302 = ($301|0)==(0); + if ($302) { + break; + } else { + $$sink986 = $301; + } + } else { + $303 = HEAP32[$127>>2]|0; + $$sink986 = $303; + } + $304 = $$sink986 << 2; + $305 = HEAP32[$103>>2]|0; + $306 = Math_imul($304, $305)|0; + $307 = (_setup_malloc($0,$306)|0); + $308 = (((($102) + (($$18921232*2096)|0)|0)) + 28|0); + HEAP32[$308>>2] = $307; + $309 = ($307|0)==(0|0); + if ($309) { + label = 132; + break L102; + } + $$sink25 = $300 ? $198 : $127; + $312 = HEAP32[$$sink25>>2]|0; + $313 = ($312|0)>(0); + if ($313) { + $314 = (((($102) + (($$18921232*2096)|0)|0)) + 2088|0); + $315 = HEAP32[$103>>2]|0; + $$09701227 = 0.0;$$39051228 = 0; + while(1) { + if ($300) { + $316 = HEAP32[$314>>2]|0; + $317 = (($316) + ($$39051228<<2)|0); + $318 = HEAP32[$317>>2]|0; + $322 = $318; + } else { + $322 = $$39051228; + } + $319 = Math_imul($315, $$39051228)|0; + $$0920$ph = 0;$$0974$ph = 1;$$1971$ph = $$09701227; + L193: while(1) { + $$0920 = $$0920$ph;$$1971 = $$1971$ph; + while(1) { + $320 = ($$0920|0)<($315|0); + if (!($320)) { + break L193; + } + $321 = (($322>>>0) / ($$0974$ph>>>0))&-1; + $323 = HEAP32[$279>>2]|0; + $324 = (($321>>>0) % ($323>>>0))&-1; + $325 = (($282) + ($324<<1)|0); + $326 = HEAP16[$325>>1]|0; + $327 = (+($326&65535)); + $328 = +HEAPF32[$265>>2]; + $329 = $327 * $328; + $330 = +HEAPF32[$262>>2]; + $331 = $329 + $330; + $332 = $$1971 + $331; + $333 = HEAP32[$308>>2]|0; + $334 = (($319) + ($$0920))|0; + $335 = (($333) + ($334<<2)|0); + HEAPF32[$335>>2] = $332; + $336 = HEAP8[$272>>0]|0; + $337 = ($336<<24>>24)==(0); + $$1971$ = $337 ? $$1971 : $332; + $338 = (($$0920) + 1)|0; + $339 = ($338|0)<($315|0); + if ($339) { + break; + } else { + $$0920 = $338;$$1971 = $$1971$; + } + } + $340 = (4294967295 / ($323>>>0))&-1; + $341 = ($$0974$ph>>>0)>($340>>>0); + if ($341) { + label = 143; + break L102; + } + $342 = Math_imul($323, $$0974$ph)|0; + $$0920$ph = $338;$$0974$ph = $342;$$1971$ph = $$1971$; + } + $344 = (($$39051228) + 1)|0; + $345 = ($344|0)<($312|0); + if ($345) { + $$09701227 = $$1971;$$39051228 = $344; + } else { + break; + } + } + } + HEAP8[$256>>0] = 2; + } else { + $346 = $$lcssa1073 << 2; + $347 = (_setup_malloc($0,$346)|0); + $348 = (((($102) + (($$18921232*2096)|0)|0)) + 28|0); + HEAP32[$348>>2] = $347; + $349 = ($347|0)==(0|0); + $350 = HEAP32[$279>>2]|0; + if ($349) { + label = 150; + break L102; + } + $351 = ($350|0)>(0); + if (!($351)) { + break; + } + $352 = HEAP32[$348>>2]|0; + $353 = HEAP8[$272>>0]|0; + $354 = ($353<<24>>24)==(0); + $355 = HEAP32[$279>>2]|0; + $$09771224 = 0.0;$$49061225 = 0; + while(1) { + $356 = (($282) + ($$49061225<<1)|0); + $357 = HEAP16[$356>>1]|0; + $358 = (+($357&65535)); + $359 = +HEAPF32[$265>>2]; + $360 = $358 * $359; + $361 = +HEAPF32[$262>>2]; + $362 = $360 + $361; + $363 = $$09771224 + $362; + $364 = (($352) + ($$49061225<<2)|0); + HEAPF32[$364>>2] = $363; + $$0977$ = $354 ? $$09771224 : $363; + $365 = (($$49061225) + 1)|0; + $366 = ($365|0)<($355|0); + if ($366) { + $$09771224 = $$0977$;$$49061225 = $365; + } else { + break; + } + } + } + } while(0); + $368 = HEAP32[$279>>2]|0; + $369 = $368 << 1; + _setup_temp_free($0,$282,$369); + } + $370 = (($$18921232) + 1)|0; + $371 = HEAP32[$91>>2]|0; + $372 = ($370|0)<($371|0); + if ($372) { + $$18921232 = $370; + } else { + break L100; + } + } + switch (label|0) { + case 52: { + _error($0,20); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + break; + } + case 54: { + _error($0,20); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + break; + } + case 56: { + _error($0,20); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + break; + } + case 60: { + _error($0,20); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + break; + } + case 65: { + _error($0,3); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + break; + } + case 71: { + _error($0,20); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + break; + } + case 76: { + _error($0,20); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + break; + } + case 83: { + _error($0,3); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + break; + } + case 91: { + _error($0,3); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + break; + } + case 94: { + _error($0,3); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + break; + } + case 96: { + _error($0,3); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + break; + } + case 98: { + _error($0,3); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + break; + } + case 102: { + $228 = HEAP8[$133>>0]|0; + $229 = ($228<<24>>24)==(0); + if (!($229)) { + _setup_temp_free($0,$230,0); + } + _error($0,20); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + break; + } + case 107: { + _error($0,3); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + break; + } + case 109: { + _error($0,3); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + break; + } + case 114: { + _error($0,20); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + break; + } + case 120: { + _error($0,20); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + break; + } + case 123: { + _error($0,3); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + break; + } + case 125: { + $290 = HEAP32[$279>>2]|0; + $291 = $290 << 1; + _setup_temp_free($0,$282,$291); + _error($0,20); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + break; + } + case 132: { + $310 = HEAP32[$279>>2]|0; + $311 = $310 << 1; + _setup_temp_free($0,$282,$311); + _error($0,3); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + break; + } + case 143: { + $343 = $323 << 1; + _setup_temp_free($0,$282,$343); + _error($0,20); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + break; + } + case 150: { + $367 = $350 << 1; + _setup_temp_free($0,$282,$367); + _error($0,3); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + break; + } + } + } + } while(0); + $373 = (_get_bits($0,6)|0); + $374 = (($373) + 1)|0; + $375 = $374 & 255; + $376 = ($375|0)==(0); + L258: do { + if (!($376)) { + $$28931205 = 0; + while(1) { + $379 = (_get_bits($0,16)|0); + $380 = ($379|0)==(0); + $378 = (($$28931205) + 1)|0; + if (!($380)) { + break; + } + $377 = ($378|0)<($375|0); + if ($377) { + $$28931205 = $378; + } else { + break L258; + } + } + _error($0,20); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + } while(0); + $381 = (_get_bits($0,6)|0); + $382 = (($381) + 1)|0; + $383 = ((($0)) + 128|0); + HEAP32[$383>>2] = $382; + $384 = ($382*1596)|0; + $385 = (_setup_malloc($0,$384)|0); + $386 = ((($0)) + 260|0); + HEAP32[$386>>2] = $385; + $387 = ($385|0)==(0|0); + if ($387) { + _error($0,3); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + $388 = HEAP32[$383>>2]|0; + $389 = ($388|0)>(0); + do { + if ($389) { + $$09291199 = 0;$$38941200 = 0; + L271: while(1) { + $390 = (_get_bits($0,16)|0); + $391 = $390&65535; + $392 = (((($0)) + 132|0) + ($$38941200<<1)|0); + HEAP16[$392>>1] = $391; + $393 = $390 & 65535; + $394 = ($393>>>0)>(1); + if ($394) { + label = 162; + break; + } + $395 = ($393|0)==(0); + if ($395) { + label = 164; + break; + } + $426 = HEAP32[$386>>2]|0; + $427 = (_get_bits($0,5)|0); + $428 = $427&255; + $429 = (($426) + (($$38941200*1596)|0)|0); + HEAP8[$429>>0] = $428; + $430 = $427 & 255; + $431 = ($430|0)==(0); + if (!($431)) { + $$09641169 = -1;$$69081170 = 0; + while(1) { + $432 = (_get_bits($0,4)|0); + $433 = $432&255; + $434 = ((((($426) + (($$38941200*1596)|0)|0)) + 1|0) + ($$69081170)|0); + HEAP8[$434>>0] = $433; + $435 = $432 & 255; + $436 = ($435|0)>($$09641169|0); + $$$0964 = $436 ? $435 : $$09641169; + $437 = (($$69081170) + 1)|0; + $438 = HEAP8[$429>>0]|0; + $439 = $438&255; + $440 = ($437|0)<($439|0); + if ($440) { + $$09641169 = $$$0964;$$69081170 = $437; + } else { + $$79091177 = 0; + break; + } + } + while(1) { + $441 = (_get_bits($0,3)|0); + $442 = (($441) + 1)|0; + $443 = $442&255; + $444 = ((((($426) + (($$38941200*1596)|0)|0)) + 33|0) + ($$79091177)|0); + HEAP8[$444>>0] = $443; + $445 = (_get_bits($0,2)|0); + $446 = $445&255; + $447 = ((((($426) + (($$38941200*1596)|0)|0)) + 49|0) + ($$79091177)|0); + HEAP8[$447>>0] = $446; + $448 = ($446<<24>>24)==(0); + if ($448) { + $$19211174 = 0; + label = 175; + } else { + $450 = (_get_bits($0,8)|0); + $451 = $450&255; + $452 = ((((($426) + (($$38941200*1596)|0)|0)) + 65|0) + ($$79091177)|0); + HEAP8[$452>>0] = $451; + $453 = $450 & 255; + $454 = HEAP32[$91>>2]|0; + $455 = ($453|0)<($454|0); + if (!($455)) { + label = 173; + break L271; + } + $$pr1300 = HEAP8[$447>>0]|0; + $449 = ($$pr1300<<24>>24)==(31); + if (!($449)) { + $$19211174 = 0; + label = 175; + } + } + if ((label|0) == 175) { + while(1) { + label = 0; + $461 = (_get_bits($0,8)|0); + $462 = (($461) + 65535)|0; + $463 = $462&65535; + $464 = (((((($426) + (($$38941200*1596)|0)|0)) + 82|0) + ($$79091177<<4)|0) + ($$19211174<<1)|0); + HEAP16[$464>>1] = $463; + $sext = $462 << 16; + $465 = $sext >> 16; + $466 = HEAP32[$91>>2]|0; + $467 = ($465|0)<($466|0); + $460 = (($$19211174) + 1)|0; + if (!($467)) { + label = 176; + break L271; + } + $456 = HEAP8[$447>>0]|0; + $457 = $456&255; + $458 = 1 << $457; + $459 = ($460|0)<($458|0); + if ($459) { + $$19211174 = $460; + label = 175; + } else { + break; + } + } + } + $468 = (($$79091177) + 1)|0; + $469 = ($$79091177|0)<($$$0964|0); + if ($469) { + $$79091177 = $468; + } else { + break; + } + } + } + $470 = (_get_bits($0,2)|0); + $471 = (($470) + 1)|0; + $472 = $471&255; + $473 = (((($426) + (($$38941200*1596)|0)|0)) + 1588|0); + HEAP8[$473>>0] = $472; + $474 = (_get_bits($0,4)|0); + $475 = $474&255; + $476 = (((($426) + (($$38941200*1596)|0)|0)) + 1589|0); + HEAP8[$476>>0] = $475; + $477 = (((($426) + (($$38941200*1596)|0)|0)) + 338|0); + HEAP16[$477>>1] = 0; + $478 = $474 & 255; + $479 = 1 << $478; + $480 = $479&65535; + $481 = (((($426) + (($$38941200*1596)|0)|0)) + 340|0); + HEAP16[$481>>1] = $480; + $482 = (((($426) + (($$38941200*1596)|0)|0)) + 1592|0); + HEAP32[$482>>2] = 2; + $483 = HEAP8[$429>>0]|0; + $484 = ($483<<24>>24)==(0); + if ($484) { + $$99111188 = 0; + label = 183; + } else { + $$89101185 = 0; + while(1) { + $486 = ((((($426) + (($$38941200*1596)|0)|0)) + 1|0) + ($$89101185)|0); + $487 = HEAP8[$486>>0]|0; + $488 = $487&255; + $489 = ((((($426) + (($$38941200*1596)|0)|0)) + 33|0) + ($488)|0); + $490 = HEAP8[$489>>0]|0; + $491 = ($490<<24>>24)==(0); + if (!($491)) { + $$29221181 = 0; + while(1) { + $492 = HEAP8[$476>>0]|0; + $493 = $492&255; + $494 = (_get_bits($0,$493)|0); + $495 = $494&65535; + $496 = HEAP32[$482>>2]|0; + $497 = ((((($426) + (($$38941200*1596)|0)|0)) + 338|0) + ($496<<1)|0); + HEAP16[$497>>1] = $495; + $498 = HEAP32[$482>>2]|0; + $499 = (($498) + 1)|0; + HEAP32[$482>>2] = $499; + $500 = (($$29221181) + 1)|0; + $501 = HEAP8[$489>>0]|0; + $502 = $501&255; + $503 = ($500|0)<($502|0); + if ($503) { + $$29221181 = $500; + } else { + break; + } + } + } + $504 = (($$89101185) + 1)|0; + $505 = HEAP8[$429>>0]|0; + $506 = $505&255; + $507 = ($504|0)<($506|0); + if ($507) { + $$89101185 = $504; + } else { + break; + } + } + $$pr1301 = HEAP32[$482>>2]|0; + $485 = ($$pr1301|0)>(0); + if ($485) { + $$99111188 = 0; + label = 183; + } else { + $$lcssa1060 = $$pr1301; + } + } + if ((label|0) == 183) { + while(1) { + label = 0; + $508 = ((((($426) + (($$38941200*1596)|0)|0)) + 338|0) + ($$99111188<<1)|0); + $509 = HEAP16[$508>>1]|0; + $510 = (($2) + ($$99111188<<2)|0); + HEAP16[$510>>1] = $509; + $511 = $$99111188&65535; + $512 = (((($2) + ($$99111188<<2)|0)) + 2|0); + HEAP16[$512>>1] = $511; + $513 = (($$99111188) + 1)|0; + $514 = HEAP32[$482>>2]|0; + $515 = ($513|0)<($514|0); + if ($515) { + $$99111188 = $513; + label = 183; + } else { + $$lcssa1060 = $514; + break; + } + } + } + _qsort($2,$$lcssa1060,4,1); + $516 = HEAP32[$482>>2]|0; + $517 = ($516|0)>(0); + do { + if ($517) { + $$109121192 = 0; + while(1) { + $520 = (((($2) + ($$109121192<<2)|0)) + 2|0); + $521 = HEAP16[$520>>1]|0; + $522 = $521&255; + $523 = ((((($426) + (($$38941200*1596)|0)|0)) + 838|0) + ($$109121192)|0); + HEAP8[$523>>0] = $522; + $524 = (($$109121192) + 1)|0; + $519 = HEAP32[$482>>2]|0; + $525 = ($524|0)<($519|0); + if ($525) { + $$109121192 = $524; + } else { + break; + } + } + $518 = ($519|0)>(2); + if ($518) { + $$119131195 = 2; + } else { + $$lcssa1061 = $519; + break; + } + while(1) { + _neighbors($477,$$119131195,$3,$4); + $526 = HEAP32[$3>>2]|0; + $527 = $526&255; + $528 = ((((($426) + (($$38941200*1596)|0)|0)) + 1088|0) + ($$119131195<<1)|0); + HEAP8[$528>>0] = $527; + $529 = HEAP32[$4>>2]|0; + $530 = $529&255; + $531 = ((((((($426) + (($$38941200*1596)|0)|0)) + 1088|0) + ($$119131195<<1)|0)) + 1|0); + HEAP8[$531>>0] = $530; + $532 = (($$119131195) + 1)|0; + $533 = HEAP32[$482>>2]|0; + $534 = ($532|0)<($533|0); + if ($534) { + $$119131195 = $532; + } else { + $$lcssa1061 = $533; + break; + } + } + } else { + $$lcssa1061 = $516; + } + } while(0); + $535 = ($$lcssa1061|0)>($$09291199|0); + $$$0929 = $535 ? $$lcssa1061 : $$09291199; + $536 = (($$38941200) + 1)|0; + $537 = HEAP32[$383>>2]|0; + $538 = ($536|0)<($537|0); + if ($538) { + $$09291199 = $$$0929;$$38941200 = $536; + } else { + label = 190; + break; + } + } + if ((label|0) == 162) { + _error($0,20); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + else if ((label|0) == 164) { + $396 = HEAP32[$386>>2]|0; + $397 = (_get_bits($0,8)|0); + $398 = $397&255; + $399 = (($396) + (($$38941200*1596)|0)|0); + HEAP8[$399>>0] = $398; + $400 = (_get_bits($0,16)|0); + $401 = $400&65535; + $402 = (((($396) + (($$38941200*1596)|0)|0)) + 2|0); + HEAP16[$402>>1] = $401; + $403 = (_get_bits($0,16)|0); + $404 = $403&65535; + $405 = (((($396) + (($$38941200*1596)|0)|0)) + 4|0); + HEAP16[$405>>1] = $404; + $406 = (_get_bits($0,6)|0); + $407 = $406&255; + $408 = (((($396) + (($$38941200*1596)|0)|0)) + 6|0); + HEAP8[$408>>0] = $407; + $409 = (_get_bits($0,8)|0); + $410 = $409&255; + $411 = (((($396) + (($$38941200*1596)|0)|0)) + 7|0); + HEAP8[$411>>0] = $410; + $412 = (_get_bits($0,4)|0); + $413 = (($412) + 1)|0; + $414 = $413&255; + $415 = (((($396) + (($$38941200*1596)|0)|0)) + 8|0); + HEAP8[$415>>0] = $414; + $416 = $413 & 255; + $417 = ($416|0)==(0); + if (!($417)) { + $418 = (((($396) + (($$38941200*1596)|0)|0)) + 9|0); + $$59071118 = 0; + while(1) { + $419 = (_get_bits($0,8)|0); + $420 = $419&255; + $421 = (($418) + ($$59071118)|0); + HEAP8[$421>>0] = $420; + $422 = (($$59071118) + 1)|0; + $423 = HEAP8[$415>>0]|0; + $424 = $423&255; + $425 = ($422|0)<($424|0); + if ($425) { + $$59071118 = $422; + } else { + break; + } + } + } + _error($0,4); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + else if ((label|0) == 173) { + _error($0,20); + } + else if ((label|0) == 176) { + _error($0,20); + } + else if ((label|0) == 190) { + $phitmp1297 = $$$0929 << 1; + $$0929$lcssa = $phitmp1297; + break; + } + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } else { + $$0929$lcssa = 0; + } + } while(0); + $539 = (_get_bits($0,6)|0); + $540 = (($539) + 1)|0; + $541 = ((($0)) + 264|0); + HEAP32[$541>>2] = $540; + $542 = ($540*24)|0; + $543 = (_setup_malloc($0,$542)|0); + $544 = ((($0)) + 396|0); + HEAP32[$544>>2] = $543; + $545 = ($543|0)==(0|0); + if ($545) { + _error($0,3); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + $546 = HEAP32[$541>>2]|0; + $547 = ($546*24)|0; + _memset(($543|0),0,($547|0))|0; + $548 = HEAP32[$541>>2]|0; + $549 = ($548|0)>(0); + L328: do { + if ($549) { + $$48951165 = 0; + L330: while(1) { + $550 = HEAP32[$544>>2]|0; + $551 = (_get_bits($0,16)|0); + $552 = $551&65535; + $553 = (((($0)) + 268|0) + ($$48951165<<1)|0); + HEAP16[$553>>1] = $552; + $554 = $551 & 65535; + $555 = ($554>>>0)>(2); + if ($555) { + label = 196; + break; + } + $556 = (_get_bits($0,24)|0); + $557 = (($550) + (($$48951165*24)|0)|0); + HEAP32[$557>>2] = $556; + $558 = (_get_bits($0,24)|0); + $559 = (((($550) + (($$48951165*24)|0)|0)) + 4|0); + HEAP32[$559>>2] = $558; + $560 = HEAP32[$557>>2]|0; + $561 = ($558>>>0)<($560>>>0); + if ($561) { + label = 198; + break; + } + $562 = (_get_bits($0,24)|0); + $563 = (($562) + 1)|0; + $564 = (((($550) + (($$48951165*24)|0)|0)) + 8|0); + HEAP32[$564>>2] = $563; + $565 = (_get_bits($0,6)|0); + $566 = (($565) + 1)|0; + $567 = $566&255; + $568 = (((($550) + (($$48951165*24)|0)|0)) + 12|0); + HEAP8[$568>>0] = $567; + $569 = (_get_bits($0,8)|0); + $570 = $569&255; + $571 = (((($550) + (($$48951165*24)|0)|0)) + 13|0); + HEAP8[$571>>0] = $570; + $572 = $569 & 255; + $573 = HEAP32[$91>>2]|0; + $574 = ($572|0)<($573|0); + if (!($574)) { + label = 201; + break; + } + $575 = HEAP8[$568>>0]|0; + $576 = $575&255; + $577 = ($575<<24>>24)==(0); + if ($577) { + $$lcssa = $576; + } else { + $$129141148 = 0; + while(1) { + $578 = (_get_bits($0,3)|0); + $579 = (_get_bits($0,1)|0); + $580 = ($579|0)==(0); + if ($580) { + $$0957 = 0; + } else { + $581 = (_get_bits($0,5)|0); + $$0957 = $581; + } + $582 = $$0957 << 3; + $583 = (($582) + ($578))|0; + $584 = $583&255; + $585 = (($2) + ($$129141148)|0); + HEAP8[$585>>0] = $584; + $586 = (($$129141148) + 1)|0; + $587 = HEAP8[$568>>0]|0; + $588 = $587&255; + $589 = ($586|0)<($588|0); + if ($589) { + $$129141148 = $586; + } else { + $$lcssa = $588; + break; + } + } + } + $590 = $$lcssa << 4; + $591 = (_setup_malloc($0,$590)|0); + $592 = (((($550) + (($$48951165*24)|0)|0)) + 20|0); + HEAP32[$592>>2] = $591; + $593 = ($591|0)==(0|0); + if ($593) { + label = 207; + break; + } + $594 = HEAP8[$568>>0]|0; + $595 = ($594<<24>>24)==(0); + if (!($595)) { + $$139151153 = 0; + while(1) { + $596 = (($2) + ($$139151153)|0); + $597 = HEAP8[$596>>0]|0; + $598 = $597&255; + $$39231152 = 0; + while(1) { + $599 = 1 << $$39231152; + $600 = $598 & $599; + $601 = ($600|0)==(0); + if ($601) { + $612 = HEAP32[$592>>2]|0; + $613 = ((($612) + ($$139151153<<4)|0) + ($$39231152<<1)|0); + HEAP16[$613>>1] = -1; + } else { + $602 = (_get_bits($0,8)|0); + $603 = $602&65535; + $604 = HEAP32[$592>>2]|0; + $605 = ((($604) + ($$139151153<<4)|0) + ($$39231152<<1)|0); + HEAP16[$605>>1] = $603; + $606 = HEAP32[$592>>2]|0; + $607 = ((($606) + ($$139151153<<4)|0) + ($$39231152<<1)|0); + $608 = HEAP16[$607>>1]|0; + $609 = $608 << 16 >> 16; + $610 = HEAP32[$91>>2]|0; + $611 = ($609|0)<($610|0); + if (!($611)) { + label = 211; + break L330; + } + } + $614 = (($$39231152) + 1)|0; + $615 = ($614|0)<(8); + if ($615) { + $$39231152 = $614; + } else { + break; + } + } + $616 = (($$139151153) + 1)|0; + $617 = HEAP8[$568>>0]|0; + $618 = $617&255; + $619 = ($616|0)<($618|0); + if ($619) { + $$139151153 = $616; + } else { + break; + } + } + } + $620 = HEAP32[$94>>2]|0; + $621 = HEAP8[$571>>0]|0; + $622 = $621&255; + $623 = (((($620) + (($622*2096)|0)|0)) + 4|0); + $624 = HEAP32[$623>>2]|0; + $625 = $624 << 2; + $626 = (_setup_malloc($0,$625)|0); + $627 = (((($550) + (($$48951165*24)|0)|0)) + 16|0); + HEAP32[$627>>2] = $626; + $628 = ($626|0)==(0|0); + if ($628) { + label = 216; + break; + } + $629 = HEAP32[$94>>2]|0; + $630 = HEAP8[$571>>0]|0; + $631 = $630&255; + $632 = (((($629) + (($631*2096)|0)|0)) + 4|0); + $633 = HEAP32[$632>>2]|0; + $634 = $633 << 2; + _memset(($626|0),0,($634|0))|0; + $635 = HEAP32[$94>>2]|0; + $636 = HEAP8[$571>>0]|0; + $637 = $636&255; + $638 = (((($635) + (($637*2096)|0)|0)) + 4|0); + $639 = HEAP32[$638>>2]|0; + $640 = ($639|0)>(0); + if ($640) { + $$149161160 = 0;$642 = $635;$643 = $637; + while(1) { + $641 = (($642) + (($643*2096)|0)|0); + $644 = HEAP32[$641>>2]|0; + $645 = (_setup_malloc($0,$644)|0); + $646 = HEAP32[$627>>2]|0; + $647 = (($646) + ($$149161160<<2)|0); + HEAP32[$647>>2] = $645; + $648 = HEAP32[$627>>2]|0; + $649 = (($648) + ($$149161160<<2)|0); + $650 = HEAP32[$649>>2]|0; + $651 = ($650|0)==(0|0); + if ($651) { + label = 221; + break L330; + } + $652 = ($644|0)>(0); + if ($652) { + $$09501156 = $$149161160;$$49241157$in = $644; + while(1) { + $$49241157 = (($$49241157$in) + -1)|0; + $653 = HEAP8[$568>>0]|0; + $654 = $653&255; + $655 = (($$09501156|0) % ($654|0))&-1; + $656 = $655&255; + $657 = HEAP32[$627>>2]|0; + $658 = (($657) + ($$149161160<<2)|0); + $659 = HEAP32[$658>>2]|0; + $660 = (($659) + ($$49241157)|0); + HEAP8[$660>>0] = $656; + $661 = HEAP8[$568>>0]|0; + $662 = $661&255; + $663 = (($$09501156|0) / ($662|0))&-1; + $664 = ($$49241157$in|0)>(1); + if ($664) { + $$09501156 = $663;$$49241157$in = $$49241157; + } else { + break; + } + } + } + $665 = (($$149161160) + 1)|0; + $666 = HEAP32[$94>>2]|0; + $667 = HEAP8[$571>>0]|0; + $668 = $667&255; + $669 = (((($666) + (($668*2096)|0)|0)) + 4|0); + $670 = HEAP32[$669>>2]|0; + $671 = ($665|0)<($670|0); + if ($671) { + $$149161160 = $665;$642 = $666;$643 = $668; + } else { + break; + } + } + } + $672 = (($$48951165) + 1)|0; + $673 = HEAP32[$541>>2]|0; + $674 = ($672|0)<($673|0); + if ($674) { + $$48951165 = $672; + } else { + break L328; + } + } + if ((label|0) == 196) { + _error($0,20); + } + else if ((label|0) == 198) { + _error($0,20); + } + else if ((label|0) == 201) { + _error($0,20); + } + else if ((label|0) == 207) { + _error($0,3); + } + else if ((label|0) == 211) { + _error($0,20); + } + else if ((label|0) == 216) { + _error($0,3); + } + else if ((label|0) == 221) { + _error($0,3); + } + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + } while(0); + $675 = (_get_bits($0,6)|0); + $676 = (($675) + 1)|0; + $677 = ((($0)) + 400|0); + HEAP32[$677>>2] = $676; + $678 = ($676*40)|0; + $679 = (_setup_malloc($0,$678)|0); + $680 = ((($0)) + 404|0); + HEAP32[$680>>2] = $679; + $681 = ($679|0)==(0|0); + if ($681) { + _error($0,3); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + $682 = HEAP32[$677>>2]|0; + $683 = ($682*40)|0; + _memset(($679|0),0,($683|0))|0; + $684 = HEAP32[$677>>2]|0; + $685 = ($684|0)>(0); + L379: do { + if ($685) { + $$58961143 = 0; + L380: while(1) { + $686 = HEAP32[$680>>2]|0; + $687 = (($686) + (($$58961143*40)|0)|0); + $688 = (_get_bits($0,16)|0); + $689 = ($688|0)==(0); + if (!($689)) { + label = 229; + break; + } + $690 = HEAP32[$32>>2]|0; + $691 = ($690*3)|0; + $692 = (_setup_malloc($0,$691)|0); + $693 = (((($686) + (($$58961143*40)|0)|0)) + 4|0); + HEAP32[$693>>2] = $692; + $694 = ($692|0)==(0|0); + if ($694) { + label = 231; + break; + } + $695 = (_get_bits($0,1)|0); + $696 = ($695|0)==(0); + if ($696) { + $$sink26 = 1; + } else { + $697 = (_get_bits($0,4)|0); + $698 = (($697) + 1)|0; + $699 = $698&255; + $$sink26 = $699; + } + $700 = (((($686) + (($$58961143*40)|0)|0)) + 8|0); + HEAP8[$700>>0] = $$sink26; + $701 = (_get_bits($0,1)|0); + $702 = ($701|0)==(0); + do { + if ($702) { + HEAP16[$687>>1] = 0; + } else { + $703 = (_get_bits($0,8)|0); + $704 = (($703) + 1)|0; + $705 = $704&65535; + HEAP16[$687>>1] = $705; + $706 = $704 & 65535; + $707 = ($706|0)==(0); + if ($707) { + break; + } else { + $$59251132 = 0; + } + while(1) { + $712 = HEAP32[$32>>2]|0; + $713 = (($712) + -1)|0; + $714 = (_ilog($713)|0); + $715 = (_get_bits($0,$714)|0); + $716 = $715&255; + $717 = HEAP32[$693>>2]|0; + $718 = (($717) + (($$59251132*3)|0)|0); + HEAP8[$718>>0] = $716; + $719 = HEAP32[$32>>2]|0; + $720 = (($719) + -1)|0; + $721 = (_ilog($720)|0); + $722 = (_get_bits($0,$721)|0); + $723 = $722&255; + $724 = HEAP32[$693>>2]|0; + $725 = (((($724) + (($$59251132*3)|0)|0)) + 1|0); + HEAP8[$725>>0] = $723; + $726 = HEAP32[$693>>2]|0; + $727 = (($726) + (($$59251132*3)|0)|0); + $728 = HEAP8[$727>>0]|0; + $729 = $728&255; + $730 = HEAP32[$32>>2]|0; + $731 = ($729|0)<($730|0); + if (!($731)) { + label = 238; + break L380; + } + $732 = (((($726) + (($$59251132*3)|0)|0)) + 1|0); + $733 = HEAP8[$732>>0]|0; + $734 = $733&255; + $735 = ($734|0)<($730|0); + if (!($735)) { + label = 240; + break L380; + } + $736 = ($728<<24>>24)==($733<<24>>24); + $711 = (($$59251132) + 1)|0; + if ($736) { + label = 242; + break L380; + } + $708 = HEAP16[$687>>1]|0; + $709 = $708&65535; + $710 = ($711|0)<($709|0); + if ($710) { + $$59251132 = $711; + } else { + break; + } + } + } + } while(0); + $737 = (_get_bits($0,2)|0); + $738 = ($737|0)==(0); + if (!($738)) { + label = 245; + break; + } + $739 = HEAP8[$700>>0]|0; + $740 = ($739&255)>(1); + $741 = HEAP32[$32>>2]|0; + $742 = ($741|0)>(0); + do { + if ($740) { + if ($742) { + $$159171137 = 0; + } else { + break; + } + while(1) { + $750 = (_get_bits($0,4)|0); + $751 = $750&255; + $752 = HEAP32[$693>>2]|0; + $753 = (((($752) + (($$159171137*3)|0)|0)) + 2|0); + HEAP8[$753>>0] = $751; + $754 = HEAP32[$693>>2]|0; + $755 = (((($754) + (($$159171137*3)|0)|0)) + 2|0); + $756 = HEAP8[$755>>0]|0; + $757 = HEAP8[$700>>0]|0; + $758 = ($756&255)<($757&255); + $747 = (($$159171137) + 1)|0; + if (!($758)) { + label = 253; + break L380; + } + $745 = HEAP32[$32>>2]|0; + $746 = ($747|0)<($745|0); + if ($746) { + $$159171137 = $747; + } else { + break; + } + } + } else { + if (!($742)) { + break; + } + $743 = HEAP32[$693>>2]|0; + $744 = HEAP32[$32>>2]|0; + $$169181135 = 0; + while(1) { + $759 = (((($743) + (($$169181135*3)|0)|0)) + 2|0); + HEAP8[$759>>0] = 0; + $760 = (($$169181135) + 1)|0; + $761 = ($760|0)<($744|0); + if ($761) { + $$169181135 = $760; + } else { + break; + } + } + } + } while(0); + $748 = HEAP8[$700>>0]|0; + $749 = ($748<<24>>24)==(0); + if (!($749)) { + $$179191139 = 0; + while(1) { + (_get_bits($0,8)|0); + $766 = (_get_bits($0,8)|0); + $767 = $766&255; + $768 = ((((($686) + (($$58961143*40)|0)|0)) + 9|0) + ($$179191139)|0); + HEAP8[$768>>0] = $767; + $769 = (_get_bits($0,8)|0); + $770 = $769&255; + $771 = ((((($686) + (($$58961143*40)|0)|0)) + 24|0) + ($$179191139)|0); + HEAP8[$771>>0] = $770; + $772 = HEAP8[$768>>0]|0; + $773 = $772&255; + $774 = HEAP32[$383>>2]|0; + $775 = ($773|0)<($774|0); + if (!($775)) { + label = 257; + break L380; + } + $776 = $769 & 255; + $777 = HEAP32[$541>>2]|0; + $778 = ($776|0)<($777|0); + $765 = (($$179191139) + 1)|0; + if (!($778)) { + label = 259; + break L380; + } + $762 = HEAP8[$700>>0]|0; + $763 = $762&255; + $764 = ($765|0)<($763|0); + if ($764) { + $$179191139 = $765; + } else { + break; + } + } + } + $779 = (($$58961143) + 1)|0; + $780 = HEAP32[$677>>2]|0; + $781 = ($779|0)<($780|0); + if ($781) { + $$58961143 = $779; + } else { + break L379; + } + } + if ((label|0) == 229) { + _error($0,20); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + else if ((label|0) == 231) { + _error($0,3); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + else if ((label|0) == 238) { + _error($0,20); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + else if ((label|0) == 240) { + _error($0,20); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + else if ((label|0) == 242) { + _error($0,20); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + else if ((label|0) == 245) { + _error($0,20); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + else if ((label|0) == 253) { + _error($0,20); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + else if ((label|0) == 257) { + _error($0,20); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + else if ((label|0) == 259) { + _error($0,20); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + } + } while(0); + $782 = (_get_bits($0,6)|0); + $783 = (($782) + 1)|0; + $784 = ((($0)) + 408|0); + HEAP32[$784>>2] = $783; + $785 = ($783|0)>(0); + L433: do { + if ($785) { + $$68971128 = 0; + while(1) { + $789 = (_get_bits($0,1)|0); + $790 = $789&255; + $791 = (((($0)) + 412|0) + (($$68971128*6)|0)|0); + HEAP8[$791>>0] = $790; + $792 = (_get_bits($0,16)|0); + $793 = $792&65535; + $794 = (((((($0)) + 412|0) + (($$68971128*6)|0)|0)) + 2|0); + HEAP16[$794>>1] = $793; + $795 = (_get_bits($0,16)|0); + $796 = $795&65535; + $797 = (((((($0)) + 412|0) + (($$68971128*6)|0)|0)) + 4|0); + HEAP16[$797>>1] = $796; + $798 = (_get_bits($0,8)|0); + $799 = $798&255; + $800 = (((((($0)) + 412|0) + (($$68971128*6)|0)|0)) + 1|0); + HEAP8[$800>>0] = $799; + $801 = HEAP16[$794>>1]|0; + $802 = ($801<<16>>16)==(0); + if (!($802)) { + label = 264; + break; + } + $803 = HEAP16[$797>>1]|0; + $804 = ($803<<16>>16)==(0); + if (!($804)) { + label = 266; + break; + } + $805 = $798 & 255; + $806 = HEAP32[$677>>2]|0; + $807 = ($805|0)<($806|0); + $788 = (($$68971128) + 1)|0; + if (!($807)) { + label = 268; + break; + } + $786 = HEAP32[$784>>2]|0; + $787 = ($788|0)<($786|0); + if ($787) { + $$68971128 = $788; + } else { + break L433; + } + } + if ((label|0) == 264) { + _error($0,20); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + else if ((label|0) == 266) { + _error($0,20); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + else if ((label|0) == 268) { + _error($0,20); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + } + } while(0); + _flush_packet($0); + $808 = ((($0)) + 992|0); + HEAP32[$808>>2] = 0; + $809 = HEAP32[$32>>2]|0; + $810 = ($809|0)>(0); + L447: do { + if ($810) { + $$78981124 = 0; + while(1) { + $814 = HEAP32[$44>>2]|0; + $815 = $814 << 2; + $816 = (_setup_malloc($0,$815)|0); + $817 = (((($0)) + 800|0) + ($$78981124<<2)|0); + HEAP32[$817>>2] = $816; + $818 = HEAP32[$44>>2]|0; + $819 = $818 << 1; + $820 = $819 & 2147483646; + $821 = (_setup_malloc($0,$820)|0); + $822 = (((($0)) + 928|0) + ($$78981124<<2)|0); + HEAP32[$822>>2] = $821; + $823 = (_setup_malloc($0,$$0929$lcssa)|0); + $824 = (((($0)) + 996|0) + ($$78981124<<2)|0); + HEAP32[$824>>2] = $823; + $825 = HEAP32[$817>>2]|0; + $826 = ($825|0)==(0|0); + if ($826) { + break; + } + $827 = HEAP32[$822>>2]|0; + $828 = ($827|0)==(0|0); + $829 = ($823|0)==(0|0); + $or$cond991 = $829 | $828; + $813 = (($$78981124) + 1)|0; + if ($or$cond991) { + break; + } + $811 = HEAP32[$32>>2]|0; + $812 = ($813|0)<($811|0); + if ($812) { + $$78981124 = $813; + } else { + break L447; + } + } + _error($0,3); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + } while(0); + $830 = HEAP32[$42>>2]|0; + $831 = (_init_blocksize($0,0,$830)|0); + $832 = ($831|0)==(0); + if ($832) { + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + $833 = HEAP32[$44>>2]|0; + $834 = (_init_blocksize($0,1,$833)|0); + $835 = ($834|0)==(0); + if ($835) { + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + $836 = HEAP32[$42>>2]|0; + $837 = ((($0)) + 104|0); + HEAP32[$837>>2] = $836; + $838 = HEAP32[$44>>2]|0; + $839 = ((($0)) + 108|0); + HEAP32[$839>>2] = $838; + $840 = $838 << 1; + $841 = $840 & 2147483646; + $842 = HEAP32[$541>>2]|0; + $843 = ($842|0)>(0); + if ($843) { + $844 = HEAP32[$544>>2]|0; + $845 = HEAP32[$541>>2]|0; + $$08991120 = 0;$$09011119 = 0; + while(1) { + $846 = (((($844) + (($$09011119*24)|0)|0)) + 4|0); + $847 = HEAP32[$846>>2]|0; + $848 = (($844) + (($$09011119*24)|0)|0); + $849 = HEAP32[$848>>2]|0; + $850 = (($847) - ($849))|0; + $851 = (((($844) + (($$09011119*24)|0)|0)) + 8|0); + $852 = HEAP32[$851>>2]|0; + $853 = (($850>>>0) / ($852>>>0))&-1; + $854 = ($853|0)>($$08991120|0); + $$$0899 = $854 ? $853 : $$08991120; + $855 = (($$09011119) + 1)|0; + $856 = ($855|0)<($845|0); + if ($856) { + $$08991120 = $$$0899;$$09011119 = $855; + } else { + break; + } + } + $phitmp = $$$0899 << 2; + $phitmp1296 = (($phitmp) + 4)|0; + $$0899$lcssa = $phitmp1296; + } else { + $$0899$lcssa = 4; + } + $857 = HEAP32[$32>>2]|0; + $858 = Math_imul($857, $$0899$lcssa)|0; + $859 = ((($0)) + 12|0); + $860 = ($841>>>0)>($858>>>0); + $$ = $860 ? $841 : $858; + HEAP32[$859>>2] = $$; + $861 = ((($0)) + 1377|0); + HEAP8[$861>>0] = 1; + $862 = ((($0)) + 80|0); + $863 = HEAP32[$862>>2]|0; + $864 = ($863|0)==(0|0); + do { + if (!($864)) { + $865 = ((($0)) + 92|0); + $866 = HEAP32[$865>>2]|0; + $867 = ((($0)) + 84|0); + $868 = HEAP32[$867>>2]|0; + $869 = ($866|0)==($868|0); + if (!($869)) { + ___assert_fail((19384|0),(18880|0),3714,(19440|0)); + // unreachable; + } + $870 = ((($0)) + 88|0); + $871 = HEAP32[$870>>2]|0; + $872 = (($871) + 1512)|0; + $873 = HEAP32[$859>>2]|0; + $874 = (($872) + ($873))|0; + $875 = ($874>>>0)>($866>>>0); + if (!($875)) { + break; + } + _error($0,3); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + } while(0); + $876 = (_stb_vorbis_get_file_offset($0)|0); + $877 = ((($0)) + 52|0); + HEAP32[$877>>2] = $876; + $$34 = 1; + STACKTOP = sp;return ($$34|0); +} +function _vorbis_alloc($0) { + $0 = $0|0; + var $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (_setup_malloc($0,1512)|0); + return ($1|0); +} +function _vorbis_pump_first_frame($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $1 = sp + 8|0; + $2 = sp + 4|0; + $3 = sp; + $4 = (_vorbis_decode_packet($0,$1,$3,$2)|0); + $5 = ($4|0)==(0); + if ($5) { + STACKTOP = sp;return ($4|0); + } + $6 = HEAP32[$1>>2]|0; + $7 = HEAP32[$3>>2]|0; + $8 = HEAP32[$2>>2]|0; + (_vorbis_finish_frame($0,$6,$7,$8)|0); + STACKTOP = sp;return ($4|0); +} +function _setup_malloc($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = (($1) + 3)|0; + $3 = $2 & -4; + $4 = ((($0)) + 8|0); + $5 = HEAP32[$4>>2]|0; + $6 = (($5) + ($3))|0; + HEAP32[$4>>2] = $6; + $7 = ((($0)) + 80|0); + $8 = HEAP32[$7>>2]|0; + $9 = ($8|0)==(0|0); + if ($9) { + $17 = ($3|0)==(0); + if ($17) { + $$1 = 0; + return ($$1|0); + } + $18 = (_malloc($3)|0); + $$1 = $18; + return ($$1|0); + } else { + $10 = ((($0)) + 88|0); + $11 = HEAP32[$10>>2]|0; + $12 = (($11) + ($3))|0; + $13 = ((($0)) + 92|0); + $14 = HEAP32[$13>>2]|0; + $15 = ($12|0)>($14|0); + if ($15) { + $$1 = 0; + return ($$1|0); + } + $16 = (($8) + ($11)|0); + HEAP32[$10>>2] = $12; + $$1 = $16; + return ($$1|0); + } + return (0)|0; +} +function _vorbis_validate($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (_memcmp($0,19756,6)|0); + $2 = ($1|0)==(0); + $3 = $2&1; + return ($3|0); +} +function _skip($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($0)) + 32|0); + $3 = HEAP32[$2>>2]|0; + $4 = ($3|0)==(0|0); + if ($4) { + $10 = ((($0)) + 20|0); + $11 = HEAP32[$10>>2]|0; + $12 = (_ftell($11)|0); + $13 = HEAP32[$10>>2]|0; + $14 = (($12) + ($1))|0; + (_fseek($13,$14,0)|0); + return; + } + $5 = (($3) + ($1)|0); + HEAP32[$2>>2] = $5; + $6 = ((($0)) + 40|0); + $7 = HEAP32[$6>>2]|0; + $8 = ($5>>>0)<($7>>>0); + if ($8) { + return; + } + $9 = ((($0)) + 96|0); + HEAP32[$9>>2] = 1; + return; +} +function _is_whole_packet_present($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$$068 = 0, $$$3 = 0, $$068$lcssa = 0, $$06892 = 0, $$07291 = 0, $$078 = 0, $$078$ph = 0, $$173 = 0, $$2 = 0, $$270 = 0, $$270$ph = 0, $$274 = 0, $$274$ph = 0, $$3$lcssa = 0, $$37585 = 0, $$386 = 0, $$476 = 0, $$lcssa = 0, $10 = 0, $11 = 0; + var $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0; + var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0; + var $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0; + var $67 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond82 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($0)) + 1380|0); + $3 = HEAP32[$2>>2]|0; + $4 = ((($0)) + 32|0); + $5 = HEAP32[$4>>2]|0; + $6 = ($3|0)==(-1); + if ($6) { + $$078$ph = 1;$$270$ph = -1;$$274$ph = $5; + } else { + $7 = ((($0)) + 1116|0); + $8 = HEAP32[$7>>2]|0; + $9 = ($3|0)<($8|0); + L3: do { + if ($9) { + $$06892 = $3;$$07291 = $5;$67 = $8; + while(1) { + $10 = (((($0)) + 1120|0) + ($$06892)|0); + $11 = HEAP8[$10>>0]|0; + $12 = $11&255; + $13 = (($$07291) + ($12)|0); + $14 = ($11<<24>>24)==(-1); + if (!($14)) { + $$068$lcssa = $$06892;$$173 = $13;$$lcssa = $67; + break L3; + } + $15 = (($$06892) + 1)|0; + $16 = HEAP32[$7>>2]|0; + $17 = ($15|0)<($16|0); + if ($17) { + $$06892 = $15;$$07291 = $13;$67 = $16; + } else { + $$068$lcssa = $15;$$173 = $13;$$lcssa = $16; + break; + } + } + } else { + $$068$lcssa = $3;$$173 = $5;$$lcssa = $8; + } + } while(0); + $18 = ($1|0)!=(0); + $19 = (($$lcssa) + -1)|0; + $20 = ($$068$lcssa|0)<($19|0); + $or$cond = $18 & $20; + if ($or$cond) { + _error($0,21); + $$2 = 0; + return ($$2|0); + } + $21 = ($$068$lcssa|0)==($$lcssa|0); + $$$068 = $21 ? -1 : $$068$lcssa; + $22 = ((($0)) + 40|0); + $23 = HEAP32[$22>>2]|0; + $24 = ($$173>>>0)>($23>>>0); + if ($24) { + _error($0,1); + $$2 = 0; + return ($$2|0); + } else { + $$078$ph = 0;$$270$ph = $$$068;$$274$ph = $$173; + } + } + $25 = ((($0)) + 40|0); + $26 = ($1|0)!=(0); + $27 = ((($0)) + 992|0); + $$078 = $$078$ph;$$270 = $$270$ph;$$274 = $$274$ph; + while(1) { + $28 = ($$270|0)==(-1); + if (!($28)) { + $$2 = 1; + label = 32; + break; + } + $29 = ((($$274)) + 26|0); + $30 = HEAP32[$25>>2]|0; + $31 = ($29>>>0)<($30>>>0); + if (!($31)) { + label = 12; + break; + } + $32 = (_memcmp($$274,4836,4)|0); + $33 = ($32|0)==(0); + if (!($33)) { + label = 14; + break; + } + $34 = ((($$274)) + 4|0); + $35 = HEAP8[$34>>0]|0; + $36 = ($35<<24>>24)==(0); + if (!($36)) { + label = 16; + break; + } + $37 = ($$078|0)==(0); + if ($37) { + $44 = ((($$274)) + 5|0); + $45 = HEAP8[$44>>0]|0; + $46 = $45 & 1; + $47 = ($46<<24>>24)==(0); + if ($47) { + label = 22; + break; + } + } else { + $38 = HEAP32[$27>>2]|0; + $39 = ($38|0)==(0); + if (!($39)) { + $40 = ((($$274)) + 5|0); + $41 = HEAP8[$40>>0]|0; + $42 = $41 & 1; + $43 = ($42<<24>>24)==(0); + if (!($43)) { + label = 20; + break; + } + } + } + $48 = HEAP8[$29>>0]|0; + $49 = $48&255; + $50 = ((($$274)) + 27|0); + $51 = (($50) + ($49)|0); + $52 = HEAP32[$25>>2]|0; + $53 = ($51>>>0)>($52>>>0); + if ($53) { + label = 25; + break; + } + $54 = ($48<<24>>24)==(0); + L27: do { + if ($54) { + $$3$lcssa = 0;$$476 = $51; + } else { + $$37585 = $51;$$386 = 0; + while(1) { + $55 = (($50) + ($$386)|0); + $56 = HEAP8[$55>>0]|0; + $57 = $56&255; + $58 = (($$37585) + ($57)|0); + $59 = ($56<<24>>24)==(-1); + if (!($59)) { + $$3$lcssa = $$386;$$476 = $58; + break L27; + } + $60 = (($$386) + 1)|0; + $61 = ($60|0)<($49|0); + if ($61) { + $$37585 = $58;$$386 = $60; + } else { + $$3$lcssa = $60;$$476 = $58; + break; + } + } + } + } while(0); + $62 = (($49) + -1)|0; + $63 = ($$3$lcssa|0)<($62|0); + $or$cond82 = $26 & $63; + if ($or$cond82) { + label = 29; + break; + } + $64 = ($$3$lcssa|0)==($49|0); + $$$3 = $64 ? -1 : $$3$lcssa; + $65 = HEAP32[$25>>2]|0; + $66 = ($$476>>>0)>($65>>>0); + if ($66) { + label = 31; + break; + } else { + $$078 = 0;$$270 = $$$3;$$274 = $$476; + } + } + if ((label|0) == 12) { + _error($0,1); + $$2 = 0; + return ($$2|0); + } + else if ((label|0) == 14) { + _error($0,21); + $$2 = 0; + return ($$2|0); + } + else if ((label|0) == 16) { + _error($0,21); + $$2 = 0; + return ($$2|0); + } + else if ((label|0) == 20) { + _error($0,21); + $$2 = 0; + return ($$2|0); + } + else if ((label|0) == 22) { + _error($0,21); + $$2 = 0; + return ($$2|0); + } + else if ((label|0) == 25) { + _error($0,1); + $$2 = 0; + return ($$2|0); + } + else if ((label|0) == 29) { + _error($0,21); + $$2 = 0; + return ($$2|0); + } + else if ((label|0) == 31) { + _error($0,1); + $$2 = 0; + return ($$2|0); + } + else if ((label|0) == 32) { + return ($$2|0); + } + return (0)|0; } function _crc32_init() { - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $i$03 = 0, label = 0, sp = 0; + var $$01417 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; + var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, label = 0, sp = 0; sp = STACKTOP; - $i$03 = 0; + $$01417 = 0; while(1) { - $0 = $i$03 << 24; - $1 = $i$03 << 25; + $0 = $$01417 << 24; + $1 = $$01417 << 25; $2 = $0 >> 31; $3 = $2 & 79764919; $4 = $3 ^ $1; @@ -38159,17443 +56780,13573 @@ function _crc32_init() { $30 = $25 >> 31; $31 = $30 & 79764919; $32 = $31 ^ $29; - $33 = (20688 + ($i$03<<2)|0); + $33 = (32180 + ($$01417<<2)|0); HEAP32[$33>>2] = $32; - $34 = (($i$03) + 1)|0; + $34 = (($$01417) + 1)|0; $exitcond = ($34|0)==(256); if ($exitcond) { break; } else { - $i$03 = $34; + $$01417 = $34; } } return; } -function _setup_temp_malloc($f,$sz) { - $f = $f|0; - $sz = $sz|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; +function _setup_temp_free($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = (($sz) + 3)|0; - $1 = $0 & -4; - $2 = ((($f)) + 96|0); - $3 = HEAP32[$2>>2]|0; - $4 = ($3|0)==(0|0); - if ($4) { - $13 = (_malloc($1)|0); - $$0 = $13; - return ($$0|0); - } - $5 = ((($f)) + 108|0); - $6 = HEAP32[$5>>2]|0; - $7 = (($6) - ($1))|0; - $8 = ((($f)) + 104|0); - $9 = HEAP32[$8>>2]|0; - $10 = ($7|0)<($9|0); - if ($10) { - $$0 = 0; - return ($$0|0); - } - HEAP32[$5>>2] = $7; - $11 = HEAP32[$2>>2]|0; - $12 = (($11) + ($7)|0); - $$0 = $12; - return ($$0|0); -} -function _setup_temp_free($f,$p,$sz) { - $f = $f|0; - $p = $p|0; - $sz = $sz|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($f)) + 96|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)==(0|0); - if ($2) { - _free($p); + $3 = ((($0)) + 80|0); + $4 = HEAP32[$3>>2]|0; + $5 = ($4|0)==(0|0); + if ($5) { + _free($1); return; } else { - $3 = (($sz) + 3)|0; - $4 = $3 & -4; - $5 = ((($f)) + 108|0); - $6 = HEAP32[$5>>2]|0; - $7 = (($6) + ($4))|0; - HEAP32[$5>>2] = $7; + $6 = (($2) + 3)|0; + $7 = $6 & -4; + $8 = ((($0)) + 92|0); + $9 = HEAP32[$8>>2]|0; + $10 = (($9) + ($7))|0; + HEAP32[$8>>2] = $10; return; } } -function _compute_codewords($c,$len,$n,$values) { - $c = $c|0; - $len = $len|0; - $n = $n|0; - $values = $values|0; - var $$lcssa = 0, $$lcssa32 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; - var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0; - var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $available = 0, $i$012 = 0, $i$1 = 0, $i$1$in = 0, $i$1$in$ph = 0, $i$1$lcssa31 = 0, $k$0$lcssa = 0; - var $k$014 = 0, $m$0$ph = 0, $y$010 = 0, $z$0$lcssa = 0, $z$07 = 0, dest = 0, label = 0, sp = 0, stop = 0; +function _compute_codewords($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$06983 = 0, $$072$ph = 0, $$074$lcssa = 0, $$07488 = 0, $$07586 = 0, $$084 = 0, $$176 = 0, $$176$in = 0, $$176$in$ph = 0, $$2 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0; + var $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0; + var $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $6 = 0, $7 = 0; + var $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, stop = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 128|0; - $available = sp; - dest=$available; stop=dest+128|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - $0 = ($n|0)>(0); + STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0); + $4 = sp; + dest=$4; stop=dest+128|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + $5 = ($2|0)>(0); L1: do { - if ($0) { - $k$014 = 0; + if ($5) { + $$07488 = 0; while(1) { - $1 = (($len) + ($k$014)|0); - $2 = HEAP8[$1>>0]|0; - $3 = ($2<<24>>24)==(-1); - if (!($3)) { - $k$0$lcssa = $k$014; + $6 = (($1) + ($$07488)|0); + $7 = HEAP8[$6>>0]|0; + $8 = ($7<<24>>24)==(-1); + if (!($8)) { + $$074$lcssa = $$07488; break L1; } - $4 = (($k$014) + 1)|0; - $5 = ($4|0)<($n|0); - if ($5) { - $k$014 = $4; + $9 = (($$07488) + 1)|0; + $10 = ($9|0)<($2|0); + if ($10) { + $$07488 = $9; } else { - $k$0$lcssa = $4; + $$074$lcssa = $9; break; } } } else { - $k$0$lcssa = 0; + $$074$lcssa = 0; } } while(0); - $6 = ($k$0$lcssa|0)==($n|0); - if ($6) { - $7 = ((($c)) + 2092|0); - $8 = HEAP32[$7>>2]|0; - $9 = ($8|0)==(0); - if ($9) { - STACKTOP = sp;return; + $11 = ($$074$lcssa|0)==($2|0); + if ($11) { + $12 = ((($0)) + 2092|0); + $13 = HEAP32[$12>>2]|0; + $14 = ($13|0)==(0); + if ($14) { + $$2 = 1; + STACKTOP = sp;return ($$2|0); } else { - ___assert_fail((22168|0),(20576|0),656,(22192|0)); + ___assert_fail((19653|0),(18880|0),665,(19676|0)); // unreachable; } } - $10 = (($len) + ($k$0$lcssa)|0); - $11 = HEAP8[$10>>0]|0; - $12 = $11&255; - _add_entry($c,0,$k$0$lcssa,0,$12,$values); - $13 = HEAP8[$10>>0]|0; - $14 = ($13<<24>>24)==(0); - if ($14) { - $i$1$in$ph = $k$0$lcssa;$m$0$ph = 1; + $15 = (($1) + ($$074$lcssa)|0); + $16 = HEAP8[$15>>0]|0; + $17 = $16&255; + _add_entry($0,0,$$074$lcssa,0,$17,$3); + $18 = HEAP8[$15>>0]|0; + $19 = ($18<<24>>24)==(0); + if ($19) { + $$072$ph = 1;$$176$in$ph = $$074$lcssa; } else { - $15 = HEAP8[$10>>0]|0; - $16 = $15&255; - $i$012 = 1; + $20 = HEAP8[$15>>0]|0; + $21 = $20&255; + $$07586 = 1; while(1) { - $17 = (32 - ($i$012))|0; - $18 = 1 << $17; - $19 = (($available) + ($i$012<<2)|0); - HEAP32[$19>>2] = $18; - $20 = (($i$012) + 1)|0; - $21 = ($i$012|0)<($16|0); - if ($21) { - $i$012 = $20; + $22 = (32 - ($$07586))|0; + $23 = 1 << $22; + $24 = (($4) + ($$07586<<2)|0); + HEAP32[$24>>2] = $23; + $25 = (($$07586) + 1)|0; + $26 = ($$07586|0)<($21|0); + if ($26) { + $$07586 = $25; } else { - $i$1$in$ph = $k$0$lcssa;$m$0$ph = 1; + $$072$ph = 1;$$176$in$ph = $$074$lcssa; break; } } } L16: while(1) { - $i$1$in = $i$1$in$ph; - while(1) { - $i$1 = (($i$1$in) + 1)|0; - $22 = ($i$1|0)<($n|0); - if (!($22)) { - label = 22; + $$176$in = $$176$in$ph; + L18: while(1) { + $$176 = (($$176$in) + 1)|0; + $27 = ($$176|0)<($2|0); + if (!($27)) { + $$2 = 1; + label = 25; break L16; } - $23 = (($len) + ($i$1)|0); - $24 = HEAP8[$23>>0]|0; - $25 = ($24<<24>>24)==(-1); - if ($25) { - $i$1$in = $i$1; - } else { - $$lcssa = $23;$$lcssa32 = $24;$i$1$lcssa31 = $i$1; + $28 = (($1) + ($$176)|0); + $29 = HEAP8[$28>>0]|0; + switch ($29<<24>>24) { + case 0: { + $$2 = 0; + label = 25; + break L16; break; } - } - $26 = $$lcssa32&255; - $27 = ($$lcssa32<<24>>24)==(0); - L22: do { - if ($27) { - $z$0$lcssa = $26; - } else { - $z$07 = $26; - while(1) { - $28 = (($available) + ($z$07<<2)|0); - $29 = HEAP32[$28>>2]|0; - $30 = ($29|0)==(0); - if (!($30)) { - $z$0$lcssa = $z$07; - break L22; - } - $31 = (($z$07) + -1)|0; - $32 = ($z$07|0)>(1); - if ($32) { - $z$07 = $31; - } else { - $z$0$lcssa = $31; - break; - } - } + case -1: { + $$176$in = $$176; + break; } - } while(0); - $33 = ($z$0$lcssa|0)==(0); - if ($33) { + default: { + break L18; + } + } + } + $30 = $29&255; + $$06983 = $30; + while(1) { + $31 = (($4) + ($$06983<<2)|0); + $32 = HEAP32[$31>>2]|0; + $33 = ($32|0)==(0); + if (!($33)) { + break; + } + $34 = (($$06983) + -1)|0; + $35 = ($$06983|0)>(1); + if ($35) { + $$06983 = $34; + } else { + $$2 = 0; + label = 25; + break L16; + } + } + $36 = (($4) + ($$06983<<2)|0); + $37 = HEAP32[$36>>2]|0; + $38 = ($$06983>>>0)<(32); + if (!($38)) { label = 17; break; } - $34 = (($available) + ($z$0$lcssa<<2)|0); - $35 = HEAP32[$34>>2]|0; - HEAP32[$34>>2] = 0; - $36 = (_bit_reverse($35)|0); - $37 = (($m$0$ph) + 1)|0; - $38 = HEAP8[$$lcssa>>0]|0; - $39 = $38&255; - _add_entry($c,$36,$i$1$lcssa31,$m$0$ph,$39,$values); - $40 = HEAP8[$$lcssa>>0]|0; - $41 = $40&255; - $42 = ($41|0)>($z$0$lcssa|0); - if ($42) { - $y$010 = $41; + HEAP32[$36>>2] = 0; + $39 = (_bit_reverse($37)|0); + $40 = (($$072$ph) + 1)|0; + $41 = HEAP8[$28>>0]|0; + $42 = $41&255; + _add_entry($0,$39,$$176,$$072$ph,$42,$3); + $43 = HEAP8[$28>>0]|0; + $44 = $43&255; + $45 = ($$06983|0)==($44|0); + if ($45) { + $$072$ph = $40;$$176$in$ph = $$176; + continue; + } + $46 = ($43&255)<(32); + if (!($46)) { + label = 21; + break; + } + $47 = ($44|0)>($$06983|0); + if ($47) { + $$084 = $44; } else { - $i$1$in$ph = $i$1$lcssa31;$m$0$ph = $37; + $$072$ph = $40;$$176$in$ph = $$176; continue; } while(1) { - $43 = (($available) + ($y$010<<2)|0); - $44 = HEAP32[$43>>2]|0; - $45 = ($44|0)==(0); - if (!($45)) { - label = 20; + $48 = (($4) + ($$084<<2)|0); + $49 = HEAP32[$48>>2]|0; + $50 = ($49|0)==(0); + if (!($50)) { + label = 23; break L16; } - $46 = (32 - ($y$010))|0; - $47 = 1 << $46; - $48 = (($47) + ($35))|0; - HEAP32[$43>>2] = $48; - $49 = (($y$010) + -1)|0; - $50 = ($49|0)>($z$0$lcssa|0); - if ($50) { - $y$010 = $49; + $51 = (32 - ($$084))|0; + $52 = 1 << $51; + $53 = (($52) + ($37))|0; + HEAP32[$48>>2] = $53; + $54 = (($$084) + -1)|0; + $55 = ($54|0)>($$06983|0); + if ($55) { + $$084 = $54; } else { - $i$1$in$ph = $i$1$lcssa31;$m$0$ph = $37; + $$072$ph = $40;$$176$in$ph = $$176; continue L16; } } } if ((label|0) == 17) { - ___assert_fail((27216|0),(20576|0),677,(22192|0)); + ___assert_fail((19694|0),(18880|0),688,(19676|0)); // unreachable; } - else if ((label|0) == 20) { - ___assert_fail((22216|0),(20576|0),684,(22192|0)); + else if ((label|0) == 21) { + ___assert_fail((19711|0),(18880|0),693,(19676|0)); // unreachable; } - else if ((label|0) == 22) { - STACKTOP = sp;return; + else if ((label|0) == 23) { + ___assert_fail((19738|0),(18880|0),695,(19676|0)); + // unreachable; } + else if ((label|0) == 25) { + STACKTOP = sp;return ($$2|0); + } + return (0)|0; } -function _compute_sorted_huffman($c,$lengths,$values) { - $c = $c|0; - $lengths = $lengths|0; - $values = $values|0; - var $$ = 0, $$in = 0, $$pn = 0, $$sink$in = 0, $$sink1 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0; - var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0; - var $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0; - var $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0; - var $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $i$010 = 0, $i$114 = 0, $i$25 = 0, $k$0$lcssa = 0; - var $k$09 = 0, $k$1 = 0, $n$04 = 0, $x$0$ = 0, $x$0$lcssa = 0, $x$03 = 0, label = 0, sp = 0; +function _compute_sorted_huffman($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$08088 = 0, $$082$lcssa = 0, $$08287 = 0, $$084$lcssa = 0, $$08495 = 0, $$096 = 0, $$1100 = 0, $$181 = 0, $$183 = 0, $$185 = 0, $$290 = 0, $$lcssa = 0, $$sink = 0, $$sink3 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0; + var $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0; + var $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0; + var $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0; + var $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0; + var $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = ((($c)) + 23|0); - $1 = HEAP8[$0>>0]|0; - $2 = ($1<<24>>24)==(0); - if ($2) { - $10 = ((($c)) + 4|0); - $11 = HEAP32[$10>>2]|0; - $12 = ($11|0)>(0); - if ($12) { - $13 = ((($c)) + 32|0); - $14 = ((($c)) + 2084|0); - $i$010 = 0;$k$09 = 0; + $3 = ((($0)) + 23|0); + $4 = HEAP8[$3>>0]|0; + $5 = ($4<<24>>24)==(0); + if ($5) { + $13 = ((($0)) + 4|0); + $14 = HEAP32[$13>>2]|0; + $15 = ($14|0)>(0); + if ($15) { + $16 = ((($0)) + 32|0); + $17 = ((($0)) + 2084|0); + $$08495 = 0;$$096 = 0; while(1) { - $15 = (($lengths) + ($i$010)|0); - $16 = HEAP8[$15>>0]|0; - $17 = (_include_in_sort($c,$16)|0); - $18 = ($17|0)==(0); - if ($18) { - $k$1 = $k$09; + $18 = (($1) + ($$096)|0); + $19 = HEAP8[$18>>0]|0; + $20 = (_include_in_sort($0,$19)|0); + $21 = ($20|0)==(0); + if ($21) { + $$185 = $$08495; } else { - $19 = HEAP32[$13>>2]|0; - $20 = (($19) + ($i$010<<2)|0); - $21 = HEAP32[$20>>2]|0; - $22 = (_bit_reverse($21)|0); - $23 = (($k$09) + 1)|0; - $24 = HEAP32[$14>>2]|0; - $25 = (($24) + ($k$09<<2)|0); - HEAP32[$25>>2] = $22; - $k$1 = $23; + $22 = HEAP32[$16>>2]|0; + $23 = (($22) + ($$096<<2)|0); + $24 = HEAP32[$23>>2]|0; + $25 = (_bit_reverse($24)|0); + $26 = HEAP32[$17>>2]|0; + $27 = (($$08495) + 1)|0; + $28 = (($26) + ($$08495<<2)|0); + HEAP32[$28>>2] = $25; + $$185 = $27; } - $26 = (($i$010) + 1)|0; - $27 = HEAP32[$10>>2]|0; - $28 = ($26|0)<($27|0); - if ($28) { - $i$010 = $26;$k$09 = $k$1; + $29 = (($$096) + 1)|0; + $30 = HEAP32[$13>>2]|0; + $31 = ($29|0)<($30|0); + if ($31) { + $$08495 = $$185;$$096 = $29; } else { - $k$0$lcssa = $k$1; + $$084$lcssa = $$185; break; } } } else { - $k$0$lcssa = 0; + $$084$lcssa = 0; } - $29 = ((($c)) + 2092|0); - $30 = HEAP32[$29>>2]|0; - $31 = ($k$0$lcssa|0)==($30|0); - if (!($31)) { - ___assert_fail((22056|0),(20576|0),751,(22080|0)); + $32 = ((($0)) + 2092|0); + $33 = HEAP32[$32>>2]|0; + $34 = ($$084$lcssa|0)==($33|0); + if (!($34)) { + ___assert_fail((19545|0),(18880|0),762,(19568|0)); // unreachable; } } else { - $3 = ((($c)) + 2092|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)>(0); - if ($5) { - $6 = ((($c)) + 32|0); - $7 = HEAP32[$6>>2]|0; - $8 = ((($c)) + 2084|0); - $9 = HEAP32[$8>>2]|0; - $i$114 = 0; + $6 = ((($0)) + 2092|0); + $7 = HEAP32[$6>>2]|0; + $8 = ($7|0)>(0); + if ($8) { + $9 = ((($0)) + 32|0); + $10 = HEAP32[$9>>2]|0; + $11 = ((($0)) + 2084|0); + $12 = HEAP32[$11>>2]|0; + $$1100 = 0; while(1) { - $32 = (($7) + ($i$114<<2)|0); - $33 = HEAP32[$32>>2]|0; - $34 = (_bit_reverse($33)|0); - $35 = (($9) + ($i$114<<2)|0); - HEAP32[$35>>2] = $34; - $36 = (($i$114) + 1)|0; - $37 = HEAP32[$3>>2]|0; - $38 = ($36|0)<($37|0); - if ($38) { - $i$114 = $36; + $35 = (($10) + ($$1100<<2)|0); + $36 = HEAP32[$35>>2]|0; + $37 = (_bit_reverse($36)|0); + $38 = (($12) + ($$1100<<2)|0); + HEAP32[$38>>2] = $37; + $39 = (($$1100) + 1)|0; + $40 = HEAP32[$6>>2]|0; + $41 = ($39|0)<($40|0); + if ($41) { + $$1100 = $39; } else { break; } } } } - $39 = ((($c)) + 2084|0); - $40 = HEAP32[$39>>2]|0; - $41 = ((($c)) + 2092|0); - $42 = HEAP32[$41>>2]|0; - _qsort($40,$42,4,5); - $43 = HEAP32[$41>>2]|0; - $44 = HEAP32[$39>>2]|0; - $45 = (($44) + ($43<<2)|0); - HEAP32[$45>>2] = -1; - $46 = HEAP8[$0>>0]|0; - $47 = ($46<<24>>24)==(0); - $48 = ((($c)) + 4|0); - $$in = $47 ? $48 : $41; - $49 = HEAP32[$$in>>2]|0; - $50 = ($49|0)>(0); - if (!($50)) { + $42 = ((($0)) + 2084|0); + $43 = HEAP32[$42>>2]|0; + $44 = ((($0)) + 2092|0); + $45 = HEAP32[$44>>2]|0; + _qsort($43,$45,4,2); + $46 = HEAP32[$42>>2]|0; + $47 = HEAP32[$44>>2]|0; + $48 = (($46) + ($47<<2)|0); + HEAP32[$48>>2] = -1; + $49 = HEAP8[$3>>0]|0; + $50 = ($49<<24>>24)!=(0); + $51 = ((($0)) + 4|0); + $$sink = $50 ? $44 : $51; + $52 = HEAP32[$$sink>>2]|0; + $53 = ($52|0)>(0); + if (!($53)) { return; } - $51 = ((($c)) + 32|0); - $52 = ((($c)) + 2088|0); - $53 = ((($c)) + 2088|0); - $54 = ((($c)) + 8|0); - $i$25 = 0; + $54 = ((($0)) + 32|0); + $55 = ((($0)) + 2088|0); + $56 = ((($0)) + 8|0); + $$290 = 0; L20: while(1) { - $55 = HEAP8[$0>>0]|0; - $56 = ($55<<24>>24)==(0); - if ($56) { - $$pn = $i$25; + $57 = HEAP8[$3>>0]|0; + $58 = ($57<<24>>24)==(0); + if ($58) { + $$sink3 = $$290; } else { - $57 = (($values) + ($i$25<<2)|0); - $58 = HEAP32[$57>>2]|0; - $$pn = $58; + $59 = (($2) + ($$290<<2)|0); + $60 = HEAP32[$59>>2]|0; + $$sink3 = $60; } - $$sink$in = (($lengths) + ($$pn)|0); - $$sink1 = HEAP8[$$sink$in>>0]|0; - $59 = (_include_in_sort($c,$$sink1)|0); - $60 = ($59|0)==(0); + $61 = (($1) + ($$sink3)|0); + $62 = HEAP8[$61>>0]|0; + $63 = (_include_in_sort($0,$62)|0); + $64 = ($63|0)==(0); do { - if (!($60)) { - $61 = HEAP32[$51>>2]|0; - $62 = (($61) + ($i$25<<2)|0); - $63 = HEAP32[$62>>2]|0; - $64 = (_bit_reverse($63)|0); - $65 = HEAP32[$41>>2]|0; - $66 = ($65|0)>(1); - if ($66) { - $67 = HEAP32[$39>>2]|0; - $n$04 = $65;$x$03 = 0; + if (!($64)) { + $65 = HEAP32[$54>>2]|0; + $66 = (($65) + ($$290<<2)|0); + $67 = HEAP32[$66>>2]|0; + $68 = (_bit_reverse($67)|0); + $69 = HEAP32[$44>>2]|0; + $70 = ($69|0)>(1); + $71 = HEAP32[$42>>2]|0; + if ($70) { + $72 = HEAP32[$42>>2]|0; + $$08088 = $69;$$08287 = 0;$76 = $71; while(1) { - $68 = $n$04 >> 1; - $69 = (($68) + ($x$03))|0; - $70 = (($67) + ($69<<2)|0); - $71 = HEAP32[$70>>2]|0; - $72 = ($71>>>0)>($64>>>0); - $73 = (($n$04) - ($68))|0; - $x$0$ = $72 ? $x$03 : $69; - $$ = $72 ? $68 : $73; - $74 = ($$|0)>(1); - if ($74) { - $n$04 = $$;$x$03 = $x$0$; + $73 = $$08088 >>> 1; + $74 = (($73) + ($$08287))|0; + $75 = (($76) + ($74<<2)|0); + $77 = HEAP32[$75>>2]|0; + $78 = ($77>>>0)>($68>>>0); + $79 = (($$08088) - ($73))|0; + $$183 = $78 ? $$08287 : $74; + $$181 = $78 ? $73 : $79; + $80 = ($$181|0)>(1); + if ($80) { + $$08088 = $$181;$$08287 = $$183;$76 = $72; } else { - $x$0$lcssa = $x$0$; + $$082$lcssa = $$183;$$lcssa = $72; break; } } } else { - $x$0$lcssa = 0; + $$082$lcssa = 0;$$lcssa = $71; } - $75 = HEAP32[$39>>2]|0; - $76 = (($75) + ($x$0$lcssa<<2)|0); - $77 = HEAP32[$76>>2]|0; - $78 = ($77|0)==($64|0); - if (!($78)) { + $81 = (($$lcssa) + ($$082$lcssa<<2)|0); + $82 = HEAP32[$81>>2]|0; + $83 = ($82|0)==($68|0); + if (!($83)) { label = 21; break L20; } - $79 = HEAP8[$0>>0]|0; - $80 = ($79<<24>>24)==(0); - if ($80) { - $87 = HEAP32[$52>>2]|0; - $88 = (($87) + ($x$0$lcssa<<2)|0); - HEAP32[$88>>2] = $i$25; + $84 = HEAP8[$3>>0]|0; + $85 = ($84<<24>>24)==(0); + $86 = HEAP32[$55>>2]|0; + if ($85) { + $92 = (($86) + ($$082$lcssa<<2)|0); + HEAP32[$92>>2] = $$290; break; } else { - $81 = (($values) + ($i$25<<2)|0); - $82 = HEAP32[$81>>2]|0; - $83 = HEAP32[$53>>2]|0; - $84 = (($83) + ($x$0$lcssa<<2)|0); - HEAP32[$84>>2] = $82; - $85 = HEAP32[$54>>2]|0; - $86 = (($85) + ($x$0$lcssa)|0); - HEAP8[$86>>0] = $$sink1; + $87 = (($2) + ($$290<<2)|0); + $88 = HEAP32[$87>>2]|0; + $89 = (($86) + ($$082$lcssa<<2)|0); + HEAP32[$89>>2] = $88; + $90 = HEAP32[$56>>2]|0; + $91 = (($90) + ($$082$lcssa)|0); + HEAP8[$91>>0] = $62; break; } } } while(0); - $89 = (($i$25) + 1)|0; - $90 = ($89|0)<($49|0); - if ($90) { - $i$25 = $89; + $93 = (($$290) + 1)|0; + $94 = ($93|0)<($52|0); + if ($94) { + $$290 = $93; } else { label = 26; break; } } if ((label|0) == 21) { - ___assert_fail((22104|0),(20576|0),781,(22080|0)); + ___assert_fail((19591|0),(18880|0),792,(19568|0)); // unreachable; } else if ((label|0) == 26) { return; } } -function _compute_accelerated_huffman($c) { - $c = $c|0; - var $$in = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $i$12 = 0, $scevgep = 0; - var $z$0$ph = 0, $z$01 = 0, label = 0, sp = 0; +function _compute_accelerated_huffman($0) { + $0 = $0|0; + var $$ = 0, $$0$ph = 0, $$027 = 0, $$128 = 0, $$sink = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0; + var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, $scevgep = 0, label = 0, sp = 0; sp = STACKTOP; - $scevgep = ((($c)) + 36|0); + $scevgep = ((($0)) + 36|0); _memset(($scevgep|0),-1,2048)|0; - $0 = ((($c)) + 23|0); - $1 = HEAP8[$0>>0]|0; - $2 = ($1<<24>>24)==(0); - $3 = ((($c)) + 2092|0); - $4 = ((($c)) + 4|0); - $$in = $2 ? $4 : $3; - $5 = HEAP32[$$in>>2]|0; - $6 = ($5|0)>(0); - if (!($6)) { + $1 = ((($0)) + 23|0); + $2 = HEAP8[$1>>0]|0; + $3 = ($2<<24>>24)!=(0); + $4 = ((($0)) + 4|0); + $5 = ((($0)) + 2092|0); + $$sink = $3 ? $5 : $4; + $6 = HEAP32[$$sink>>2]|0; + $7 = ($6|0)<(32767); + $$ = $7 ? $6 : 32767; + $8 = ($6|0)>(0); + if (!($8)) { return; } - $7 = ((($c)) + 8|0); - $8 = ((($c)) + 32|0); - $9 = ((($c)) + 2084|0); - $10 = ($5|0)<(32767); - $11 = $10 ? $5 : 32767; - $i$12 = 0; + $9 = ((($0)) + 8|0); + $10 = ((($0)) + 32|0); + $11 = ((($0)) + 2084|0); + $$128 = 0; while(1) { - $12 = HEAP32[$7>>2]|0; - $13 = (($12) + ($i$12)|0); + $12 = HEAP32[$9>>2]|0; + $13 = (($12) + ($$128)|0); $14 = HEAP8[$13>>0]|0; $15 = ($14&255)<(11); if ($15) { - $16 = HEAP8[$0>>0]|0; + $16 = HEAP8[$1>>0]|0; $17 = ($16<<24>>24)==(0); if ($17) { - $22 = HEAP32[$8>>2]|0; - $23 = (($22) + ($i$12<<2)|0); + $22 = HEAP32[$10>>2]|0; + $23 = (($22) + ($$128<<2)|0); $24 = HEAP32[$23>>2]|0; - $z$0$ph = $24; + $$0$ph = $24; } else { - $18 = HEAP32[$9>>2]|0; - $19 = (($18) + ($i$12<<2)|0); + $18 = HEAP32[$11>>2]|0; + $19 = (($18) + ($$128<<2)|0); $20 = HEAP32[$19>>2]|0; $21 = (_bit_reverse($20)|0); - $z$0$ph = $21; + $$0$ph = $21; } - $25 = ($z$0$ph>>>0)<(1024); + $25 = ($$0$ph>>>0)<(1024); if ($25) { - $26 = $i$12&65535; - $z$01 = $z$0$ph; + $26 = $$128&65535; + $$027 = $$0$ph; while(1) { - $27 = (((($c)) + 36|0) + ($z$01<<1)|0); + $27 = (((($0)) + 36|0) + ($$027<<1)|0); HEAP16[$27>>1] = $26; - $28 = HEAP32[$7>>2]|0; - $29 = (($28) + ($i$12)|0); + $28 = HEAP32[$9>>2]|0; + $29 = (($28) + ($$128)|0); $30 = HEAP8[$29>>0]|0; $31 = $30&255; $32 = 1 << $31; - $33 = (($32) + ($z$01))|0; + $33 = (($32) + ($$027))|0; $34 = ($33>>>0)<(1024); if ($34) { - $z$01 = $33; + $$027 = $33; } else { break; } } } } - $35 = (($i$12) + 1)|0; - $exitcond = ($35|0)==($11|0); - if ($exitcond) { - break; + $35 = (($$128) + 1)|0; + $36 = ($35|0)<($$|0); + if ($36) { + $$128 = $35; } else { - $i$12 = $35; + break; } } return; } -function _float32_unpack($x) { - $x = $x|0; - var $0 = 0, $1 = 0, $10 = 0.0, $11 = 0.0, $2 = 0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0, label = 0, sp = 0; +function _float32_unpack($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0.0, $12 = 0.0, $2 = 0, $3 = 0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; sp = STACKTOP; - $0 = $x & 2097151; - $1 = $x >>> 21; - $2 = $1 & 1023; - $3 = ($x|0)<(0); - $4 = (+($0>>>0)); - $5 = -$4; - $6 = $3 ? $5 : $4; - $7 = $6; + $1 = $0 & 2097151; + $2 = $0 >>> 21; + $3 = $2 & 1023; + $4 = ($0|0)<(0); + $5 = (+($1>>>0)); + $6 = -$5; + $7 = $4 ? $6 : $5; $8 = $7; - $9 = (($2) + -788)|0; - $10 = (+_ldexp($8,$9)); - $11 = $10; - return (+$11); -} -function _lookup1_values($entries,$dim) { - $entries = $entries|0; - $dim = $dim|0; - var $$ = 0, $0 = 0.0, $1 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0, $17 = 0, $18 = 0.0, $19 = 0.0, $2 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0, $24 = 0.0, $25 = 0.0; - var $26 = 0.0, $27 = 0, $28 = 0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0, $not$ = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (+($entries|0)); - $1 = $0; - $2 = (+Math_log((+$1))); - $3 = $2; - $4 = (+($dim|0)); - $5 = $3 / $4; - $6 = $5; - $7 = (+Math_exp((+$6))); - $8 = (+Math_floor((+$7))); - $9 = (~~(($8))); - $10 = (+($9|0)); - $11 = $10 + 1.0; + $9 = $8; + $10 = (($3) + -788)|0; + $11 = (+_ldexp($9,$10)); $12 = $11; - $13 = (+($dim|0)); - $14 = (+Math_pow((+$12),(+$13))); - $15 = (+Math_floor((+$14))); - $16 = (~~(($15))); - $not$ = ($16|0)<=($entries|0); - $17 = $not$&1; - $$ = (($17) + ($9))|0; - $18 = (+($$|0)); - $19 = $18 + 1.0; - $20 = $19; - $21 = (+Math_pow((+$20),(+$13))); - $22 = (+($entries|0)); - $23 = $21 > $22; - if (!($23)) { - ___assert_fail((21960|0),(20576|0),806,(21992|0)); + return (+$12); +} +function _lookup1_values($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$ = 0, $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0, $19 = 0, $2 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0, $26 = 0.0, $27 = 0.0; + var $28 = 0.0, $29 = 0, $3 = 0.0, $30 = 0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, $not$ = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = (+($0|0)); + $3 = $2; + $4 = (+Math_log((+$3))); + $5 = $4; + $6 = (+($1|0)); + $7 = $5 / $6; + $8 = $7; + $9 = (+Math_exp((+$8))); + $10 = (+Math_floor((+$9))); + $11 = (~~(($10))); + $12 = (+($11|0)); + $13 = $12 + 1.0; + $14 = $13; + $15 = (+($1|0)); + $16 = (+Math_pow((+$14),(+$15))); + $17 = (+Math_floor((+$16))); + $18 = (~~(($17))); + $not$ = ($18|0)<=($0|0); + $19 = $not$&1; + $$ = (($19) + ($11))|0; + $20 = (+($$|0)); + $21 = $20 + 1.0; + $22 = $21; + $23 = (+Math_pow((+$22),(+$15))); + $24 = (+($0|0)); + $25 = $23 > $24; + if (!($25)) { + ___assert_fail((19454|0),(18880|0),817,(19486|0)); // unreachable; } - $24 = $18; - $25 = (+Math_pow((+$24),(+$13))); - $26 = (+Math_floor((+$25))); - $27 = (~~(($26))); - $28 = ($27|0)>($entries|0); - if ($28) { - ___assert_fail((22008|0),(20576|0),807,(21992|0)); + $26 = $20; + $27 = (+Math_pow((+$26),(+$15))); + $28 = (+Math_floor((+$27))); + $29 = (~~(($28))); + $30 = ($29|0)>($0|0); + if ($30) { + ___assert_fail((19501|0),(18880|0),818,(19486|0)); // unreachable; } else { return ($$|0); } return (0)|0; } -function _point_compare($p,$q) { - $p = $p|0; - $q = $q|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; +function _point_compare($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP16[$p>>1]|0; - $1 = HEAP16[$q>>1]|0; - $2 = ($0&65535)<($1&65535); - $3 = ($0&65535)>($1&65535); - $4 = $3&1; - $5 = $2 ? -1 : $4; - return ($5|0); + $2 = HEAP16[$0>>1]|0; + $3 = HEAP16[$1>>1]|0; + $4 = ($2&65535)<($3&65535); + $5 = ($2&65535)>($3&65535); + $6 = $5&1; + $7 = $4 ? -1 : $6; + return ($7|0); } -function _neighbors($x,$n,$plow,$phigh) { - $x = $x|0; - $n = $n|0; - $plow = $plow|0; - $phigh = $phigh|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0; - var $high$02 = 0, $high$1 = 0, $i$03 = 0, $low$01 = 0, $low$1 = 0, label = 0, sp = 0; +function _neighbors($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$02933 = 0, $$03032 = 0, $$034 = 0, $$1 = 0, $$131 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, label = 0; + var sp = 0; sp = STACKTOP; - $0 = ($n|0)>(0); - if (!($0)) { - return; - } - $1 = (($x) + ($n<<1)|0); - $2 = (($x) + ($n<<1)|0); - $high$02 = 65536;$i$03 = 0;$low$01 = -1; - while(1) { - $3 = (($x) + ($i$03<<1)|0); - $4 = HEAP16[$3>>1]|0; - $5 = $4&65535; - $6 = ($5|0)>($low$01|0); - if ($6) { - $7 = HEAP16[$1>>1]|0; - $8 = ($4&65535)<($7&65535); - if ($8) { - HEAP32[$plow>>2] = $i$03; - $9 = HEAP16[$3>>1]|0; - $10 = $9&65535; - $low$1 = $10; - } else { - $low$1 = $low$01; - } - } else { - $low$1 = $low$01; - } - $11 = HEAP16[$3>>1]|0; - $12 = $11&65535; - $13 = ($12|0)<($high$02|0); - if ($13) { - $14 = HEAP16[$2>>1]|0; - $15 = ($11&65535)>($14&65535); - if ($15) { - HEAP32[$phigh>>2] = $i$03; - $16 = HEAP16[$3>>1]|0; - $17 = $16&65535; - $high$1 = $17; - } else { - $high$1 = $high$02; - } - } else { - $high$1 = $high$02; - } - $18 = (($i$03) + 1)|0; - $exitcond = ($18|0)==($n|0); - if ($exitcond) { - break; - } else { - $high$02 = $high$1;$i$03 = $18;$low$01 = $low$1; - } - } - return; -} -function _init_blocksize($f,$b,$n) { - $f = $f|0; - $b = $b|0; - $n = $n|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0; - var $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = $n >>> 1; - $1 = $n & -4; - $2 = $n >> 3; - $3 = $0 << 2; - $4 = (_setup_malloc($f,$3)|0); - $5 = (((($f)) + 1084|0) + ($b<<2)|0); - HEAP32[$5>>2] = $4; - $6 = (_setup_malloc($f,$3)|0); - $7 = (((($f)) + 1092|0) + ($b<<2)|0); - HEAP32[$7>>2] = $6; - $8 = (_setup_malloc($f,$1)|0); - $9 = (((($f)) + 1100|0) + ($b<<2)|0); - HEAP32[$9>>2] = $8; - $10 = HEAP32[$5>>2]|0; - $11 = ($10|0)==(0|0); - if (!($11)) { - $12 = HEAP32[$7>>2]|0; - $13 = ($12|0)==(0|0); - $14 = ($8|0)==(0|0); - $or$cond = $14 | $13; - if (!($or$cond)) { - _compute_twiddle_factors($n,$10,$12,$8); - $15 = (_setup_malloc($f,$3)|0); - $16 = (((($f)) + 1108|0) + ($b<<2)|0); - HEAP32[$16>>2] = $15; - $17 = ($15|0)==(0|0); - if ($17) { - _error($f,3); - $$0 = 0; - return ($$0|0); - } - _compute_window($n,$15); - $18 = $2 << 1; - $19 = (_setup_malloc($f,$18)|0); - $20 = (((($f)) + 1116|0) + ($b<<2)|0); - HEAP32[$20>>2] = $19; - $21 = ($19|0)==(0|0); - if ($21) { - _error($f,3); - $$0 = 0; - return ($$0|0); - } else { - _compute_bitreverse($n,$19); - $$0 = 1; - return ($$0|0); - } - } - } - _error($f,3); - $$0 = 0; - return ($$0|0); -} -function _compute_twiddle_factors($n,$A,$B,$C) { - $n = $n|0; - $A = $A|0; - $B = $B|0; - $C = $C|0; - var $0 = 0, $1 = 0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0, $17 = 0, $18 = 0.0, $19 = 0.0, $2 = 0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0, $26 = 0.0; - var $27 = 0.0, $28 = 0.0, $29 = 0, $3 = 0.0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0.0, $35 = 0.0, $36 = 0.0, $37 = 0.0, $38 = 0.0, $39 = 0, $4 = 0, $40 = 0.0, $41 = 0.0, $42 = 0.0, $43 = 0, $44 = 0; - var $45 = 0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0.0, $9 = 0.0, $exitcond = 0, $exitcond7 = 0, $k$03 = 0, $k$11 = 0, $k2$04 = 0, $k2$12 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = $n >> 2; - $1 = $n >> 3; - $2 = ($0|0)>(0); - if ($2) { - $3 = (+($n|0)); - $k$03 = 0;$k2$04 = 0; - while(1) { - $6 = $k$03 << 2; - $7 = (+($6|0)); - $8 = $7 * 3.1415926535897931; - $9 = $8 / $3; - $10 = (+Math_cos((+$9))); - $11 = $10; - $12 = (($A) + ($k2$04<<2)|0); - HEAPF32[$12>>2] = $11; - $13 = (+Math_sin((+$9))); - $14 = $13; - $15 = -$14; - $16 = $k2$04 | 1; - $17 = (($A) + ($16<<2)|0); - HEAPF32[$17>>2] = $15; - $18 = (+($16|0)); - $19 = $18 * 3.1415926535897931; - $20 = $19 / $3; - $21 = $20 * 0.5; - $22 = (+Math_cos((+$21))); - $23 = $22; - $24 = $23 * 0.5; - $25 = (($B) + ($k2$04<<2)|0); - HEAPF32[$25>>2] = $24; - $26 = (+Math_sin((+$21))); - $27 = $26; - $28 = $27 * 0.5; - $29 = (($B) + ($16<<2)|0); - HEAPF32[$29>>2] = $28; - $30 = (($k$03) + 1)|0; - $31 = (($k2$04) + 2)|0; - $exitcond7 = ($30|0)==($0|0); - if ($exitcond7) { - break; - } else { - $k$03 = $30;$k2$04 = $31; - } - } - } $4 = ($1|0)>(0); if (!($4)) { return; } - $5 = (+($n|0)); - $k$11 = 0;$k2$12 = 0; + $5 = (($0) + ($1<<1)|0); + $6 = (($0) + ($1<<1)|0); + $$02933 = 65536;$$03032 = -1;$$034 = 0; while(1) { - $32 = $k2$12 | 1; - $33 = $32 << 1; - $34 = (+($33|0)); - $35 = $34 * 3.1415926535897931; - $36 = $35 / $5; - $37 = (+Math_cos((+$36))); - $38 = $37; - $39 = (($C) + ($k2$12<<2)|0); - HEAPF32[$39>>2] = $38; - $40 = (+Math_sin((+$36))); - $41 = $40; - $42 = -$41; - $43 = (($C) + ($32<<2)|0); - HEAPF32[$43>>2] = $42; - $44 = (($k$11) + 1)|0; - $45 = (($k2$12) + 2)|0; - $exitcond = ($44|0)==($1|0); + $7 = (($0) + ($$034<<1)|0); + $8 = HEAP16[$7>>1]|0; + $9 = $8&65535; + $10 = ($9|0)>($$03032|0); + if ($10) { + $11 = HEAP16[$5>>1]|0; + $12 = ($8&65535)<($11&65535); + if ($12) { + HEAP32[$2>>2] = $$034; + $$131 = $9; + } else { + $$131 = $$03032; + } + } else { + $$131 = $$03032; + } + $13 = ($9|0)<($$02933|0); + if ($13) { + $14 = HEAP16[$6>>1]|0; + $15 = ($8&65535)>($14&65535); + if ($15) { + HEAP32[$3>>2] = $$034; + $$1 = $9; + } else { + $$1 = $$02933; + } + } else { + $$1 = $$02933; + } + $16 = (($$034) + 1)|0; + $exitcond = ($16|0)==($1|0); if ($exitcond) { break; } else { - $k$11 = $44;$k2$12 = $45; + $$02933 = $$1;$$03032 = $$131;$$034 = $16; } } return; } -function _compute_window($n,$window) { - $n = $n|0; - $window = $window|0; - var $0 = 0, $1 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0, $16 = 0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, $exitcond = 0, $i$01 = 0, label = 0; +function _init_blocksize($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0; + var $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = $2 >>> 1; + $4 = $2 & -4; + $5 = $2 >> 3; + $6 = $3 << 2; + $7 = (_setup_malloc($0,$6)|0); + $8 = (((($0)) + 1068|0) + ($1<<2)|0); + HEAP32[$8>>2] = $7; + $9 = (_setup_malloc($0,$6)|0); + $10 = (((($0)) + 1076|0) + ($1<<2)|0); + HEAP32[$10>>2] = $9; + $11 = (_setup_malloc($0,$4)|0); + $12 = (((($0)) + 1084|0) + ($1<<2)|0); + HEAP32[$12>>2] = $11; + $13 = HEAP32[$8>>2]|0; + $14 = ($13|0)==(0|0); + if (!($14)) { + $15 = HEAP32[$10>>2]|0; + $16 = ($15|0)==(0|0); + $17 = ($11|0)==(0|0); + $or$cond = $17 | $16; + if (!($or$cond)) { + _compute_twiddle_factors($2,$13,$15,$11); + $18 = (_setup_malloc($0,$6)|0); + $19 = (((($0)) + 1092|0) + ($1<<2)|0); + HEAP32[$19>>2] = $18; + $20 = ($18|0)==(0|0); + if ($20) { + _error($0,3); + $$0 = 0; + return ($$0|0); + } + _compute_window($2,$18); + $21 = $5 << 1; + $22 = (_setup_malloc($0,$21)|0); + $23 = (((($0)) + 1100|0) + ($1<<2)|0); + HEAP32[$23>>2] = $22; + $24 = ($22|0)==(0|0); + if ($24) { + _error($0,3); + $$0 = 0; + return ($$0|0); + } else { + _compute_bitreverse($2,$22); + $$0 = 1; + return ($$0|0); + } + } + } + _error($0,3); + $$0 = 0; + return ($$0|0); +} +function _compute_twiddle_factors($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$04044 = 0, $$045 = 0, $$14142 = 0, $$143 = 0, $10 = 0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0, $18 = 0.0, $19 = 0.0, $20 = 0.0, $21 = 0, $22 = 0, $23 = 0.0, $24 = 0.0, $25 = 0.0; + var $26 = 0.0, $27 = 0.0, $28 = 0.0, $29 = 0.0, $30 = 0.0, $31 = 0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0.0, $41 = 0.0, $42 = 0.0, $43 = 0.0, $44 = 0.0; + var $45 = 0.0, $46 = 0, $47 = 0.0, $48 = 0.0, $49 = 0.0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, $exitcond = 0, $exitcond48 = 0, label = 0, sp = 0; + sp = STACKTOP; + $4 = $0 >> 2; + $5 = $0 >> 3; + $6 = ($4|0)>(0); + if ($6) { + $7 = (+($0|0)); + $$04044 = 0;$$045 = 0; + while(1) { + $10 = $$04044 << 2; + $11 = (+($10|0)); + $12 = $11 * 3.1415927410125732; + $13 = $12 / $7; + $14 = $13; + $15 = (+Math_cos((+$14))); + $16 = $15; + $17 = (($1) + ($$045<<2)|0); + HEAPF32[$17>>2] = $16; + $18 = (+Math_sin((+$14))); + $19 = $18; + $20 = -$19; + $21 = $$045 | 1; + $22 = (($1) + ($21<<2)|0); + HEAPF32[$22>>2] = $20; + $23 = (+($21|0)); + $24 = $23 * 3.1415927410125732; + $25 = $24 / $7; + $26 = $25 * 0.5; + $27 = $26; + $28 = (+Math_cos((+$27))); + $29 = $28; + $30 = $29 * 0.5; + $31 = (($2) + ($$045<<2)|0); + HEAPF32[$31>>2] = $30; + $32 = (+Math_sin((+$27))); + $33 = $32; + $34 = $33 * 0.5; + $35 = (($2) + ($21<<2)|0); + HEAPF32[$35>>2] = $34; + $36 = (($$04044) + 1)|0; + $37 = (($$045) + 2)|0; + $exitcond48 = ($36|0)==($4|0); + if ($exitcond48) { + break; + } else { + $$04044 = $36;$$045 = $37; + } + } + } + $8 = ($5|0)>(0); + if (!($8)) { + return; + } + $9 = (+($0|0)); + $$14142 = 0;$$143 = 0; + while(1) { + $38 = $$143 | 1; + $39 = $38 << 1; + $40 = (+($39|0)); + $41 = $40 * 3.1415927410125732; + $42 = $41 / $9; + $43 = $42; + $44 = (+Math_cos((+$43))); + $45 = $44; + $46 = (($3) + ($$143<<2)|0); + HEAPF32[$46>>2] = $45; + $47 = (+Math_sin((+$43))); + $48 = $47; + $49 = -$48; + $50 = (($3) + ($38<<2)|0); + HEAPF32[$50>>2] = $49; + $51 = (($$14142) + 1)|0; + $52 = (($$143) + 2)|0; + $exitcond = ($51|0)==($5|0); + if ($exitcond) { + break; + } else { + $$14142 = $51;$$143 = $52; + } + } + return; +} +function _compute_window($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$010 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0, $18 = 0, $2 = 0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, $exitcond = 0, label = 0; var sp = 0; sp = STACKTOP; - $0 = $n >> 1; - $1 = ($0|0)>(0); - if (!($1)) { - return; - } - $2 = (+($0|0)); - $i$01 = 0; - while(1) { - $3 = (+($i$01|0)); - $4 = $3 + 0.5; - $5 = $4 / $2; - $6 = $5 * 0.5; - $7 = $6 * 3.1415926535897931; - $8 = (+Math_sin((+$7))); - $9 = $8; - $10 = (+_square($9)); - $11 = $10; - $12 = $11 * 1.5707963267948966; - $13 = (+Math_sin((+$12))); - $14 = $13; - $15 = (($window) + ($i$01<<2)|0); - HEAPF32[$15>>2] = $14; - $16 = (($i$01) + 1)|0; - $exitcond = ($16|0)==($0|0); - if ($exitcond) { - break; - } else { - $i$01 = $16; - } - } - return; -} -function _compute_bitreverse($n,$rev) { - $n = $n|0; - $rev = $rev|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $i$01 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = $n >> 3; - $1 = ($0|0)>(0); - if (!($1)) { - return; - } - $2 = (_ilog($n)|0); - $3 = (36 - ($2))|0; - $i$01 = 0; - while(1) { - $4 = (_bit_reverse($i$01)|0); - $5 = $4 >>> $3; - $6 = $5 << 2; - $7 = $6&65535; - $8 = (($rev) + ($i$01<<1)|0); - HEAP16[$8>>1] = $7; - $9 = (($i$01) + 1)|0; - $exitcond = ($9|0)==($0|0); - if ($exitcond) { - break; - } else { - $i$01 = $9; - } - } - return; -} -function _bit_reverse($n) { - $n = $n|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0; - var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = $n >>> 1; - $1 = $0 & 1431655765; - $2 = $n << 1; - $3 = $2 & -1431655766; - $4 = $1 | $3; - $5 = $4 >>> 2; - $6 = $5 & 858993459; - $7 = $4 << 2; - $8 = $7 & -858993460; - $9 = $6 | $8; - $10 = $9 >>> 4; - $11 = $10 & 252645135; - $12 = $9 << 4; - $13 = $12 & -252645136; - $14 = $11 | $13; - $15 = $14 >>> 8; - $16 = $15 & 16711935; - $17 = $14 << 8; - $18 = $17 & -16711936; - $19 = $16 | $18; - $20 = $19 >>> 16; - $21 = $19 << 16; - $22 = $20 | $21; - return ($22|0); -} -function _square($x) { - $x = +$x; - var $0 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $0 = $x * $x; - return (+$0); -} -function _include_in_sort($c,$len) { - $c = $c|0; - $len = $len|0; - var $$ = 0, $$0 = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($c)) + 23|0); - $1 = HEAP8[$0>>0]|0; - $2 = ($1<<24>>24)==(0); - $3 = ($len<<24>>24)==(-1); - if (!($2)) { - if ($3) { - ___assert_fail((22136|0),(20576|0),731,(22152|0)); - // unreachable; - } else { - $$0 = 1; - return ($$0|0); - } - } - if ($3) { - $$0 = 0; - return ($$0|0); - } - $4 = ($len&255)>(10); - $$ = $4&1; - $$0 = $$; - return ($$0|0); -} -function _uint32_compare($p,$q) { - $p = $p|0; - $q = $q|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[$p>>2]|0; - $1 = HEAP32[$q>>2]|0; - $2 = ($0>>>0)<($1>>>0); - $3 = ($0>>>0)>($1>>>0); - $4 = $3&1; - $5 = $2 ? -1 : $4; - return ($5|0); -} -function _add_entry($c,$huff_code,$symbol,$count,$len,$values) { - $c = $c|0; - $huff_code = $huff_code|0; - $symbol = $symbol|0; - $count = $count|0; - $len = $len|0; - $values = $values|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($c)) + 23|0); - $1 = HEAP8[$0>>0]|0; - $2 = ($1<<24>>24)==(0); - $3 = ((($c)) + 32|0); - $4 = HEAP32[$3>>2]|0; - if ($2) { - $5 = (($4) + ($symbol<<2)|0); - HEAP32[$5>>2] = $huff_code; - return; - } else { - $6 = (($4) + ($count<<2)|0); - HEAP32[$6>>2] = $huff_code; - $7 = $len&255; - $8 = ((($c)) + 8|0); - $9 = HEAP32[$8>>2]|0; - $10 = (($9) + ($count)|0); - HEAP8[$10>>0] = $7; - $11 = (($values) + ($count<<2)|0); - HEAP32[$11>>2] = $symbol; - return; - } -} -function _get_window($f,$len) { - $f = $f|0; - $len = $len|0; - var $$0 = 0, $$0$in = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = $len << 1; - $1 = ((($f)) + 128|0); - $2 = HEAP32[$1>>2]|0; - $3 = ($0|0)==($2|0); - if ($3) { - $4 = ((($f)) + 1108|0); - $$0$in = $4; - $$0 = HEAP32[$$0$in>>2]|0; - return ($$0|0); - } - $5 = ((($f)) + 132|0); - $6 = HEAP32[$5>>2]|0; - $7 = ($0|0)==($6|0); - if (!($7)) { - ___assert_fail((27216|0),(20576|0),2734,(22248|0)); - // unreachable; - } - $8 = ((($f)) + 1112|0); - $$0$in = $8; - $$0 = HEAP32[$$0$in>>2]|0; - return ($$0|0); -} -function _vorbis_decode_packet_rest($f,$len,$m,$left_start,$right_start,$right_end,$p_left) { - $f = $f|0; - $len = $len|0; - $m = $m|0; - $left_start = $left_start|0; - $right_start = $right_start|0; - $right_end = $right_end|0; - $p_left = $p_left|0; - var $$ = 0, $$0 = 0, $$01 = 0, $$1 = 0, $$2 = 0, $$3 = 0, $$4 = 0, $$lcssa = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0; - var $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0; - var $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0; - var $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0; - var $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0; - var $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0; - var $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0; - var $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0; - var $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0; - var $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0; - var $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0; - var $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0; - var $307 = 0.0, $308 = 0, $309 = 0, $31 = 0, $310 = 0.0, $311 = 0, $312 = 0.0, $313 = 0.0, $314 = 0.0, $315 = 0.0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0; - var $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0; - var $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0; - var $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0; - var $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; - var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0; - var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0; - var $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $a2$0 = 0.0; - var $ch$0$lcssa = 0, $ch$022 = 0, $ch$1 = 0, $cval$0 = 0, $cval$2$ph = 0, $cval$235 = 0, $do_not_decode = 0, $exitcond = 0, $exitcond57 = 0, $i$052 = 0, $i$130 = 0, $i$227 = 0, $i$319 = 0, $i$319$in = 0, $i$413 = 0, $i$512 = 0, $j$042 = 0, $j$146 = 0, $j$250 = 0, $j$323 = 0; - var $j$415 = 0, $k$037 = 0, $m2$0 = 0.0, $offset$041 = 0, $offset$1$lcssa = 0, $offset$136 = 0, $offset$2 = 0, $really_zero_channel = 0, $room$0 = 0, $step2_flag = 0, $storemerge = 0, $temp$0 = 0, $temp$1 = 0, $zero_channel = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 2560|0; - $zero_channel = sp + 1280|0; - $really_zero_channel = sp; - $step2_flag = sp + 1024|0; - $do_not_decode = sp + 2304|0; - $0 = HEAP8[$m>>0]|0; - $1 = $0&255; - $2 = (((($f)) + 120|0) + ($1<<2)|0); - $3 = HEAP32[$2>>2]|0; - $4 = ((($m)) + 1|0); - $5 = HEAP8[$4>>0]|0; - $6 = $5&255; - $7 = ((($f)) + 420|0); - $8 = HEAP32[$7>>2]|0; - $9 = (($8) + (($6*40)|0)|0); - $10 = $3 >> 1; - $11 = (0 - ($10))|0; - $12 = ((($f)) + 4|0); - $13 = HEAP32[$12>>2]|0; - $14 = ($13|0)>(0); - L1: do { - if ($14) { - $15 = (((($8) + (($6*40)|0)|0)) + 4|0); - $16 = ((($f)) + 276|0); - $17 = ((($f)) + 1412|0); - $18 = ((($step2_flag)) + 1|0); - $19 = ((($f)) + 140|0); - $20 = ((($f)) + 1412|0); - $21 = ((($f)) + 1408|0); - $22 = ((($f)) + 140|0); - $23 = ((($f)) + 1412|0); - $24 = ((($f)) + 1408|0); - $i$052 = 0; - while(1) { - $25 = HEAP32[$15>>2]|0; - $26 = (((($25) + (($i$052*3)|0)|0)) + 2|0); - $27 = HEAP8[$26>>0]|0; - $28 = $27&255; - $29 = (($zero_channel) + ($i$052<<2)|0); - HEAP32[$29>>2] = 0; - $30 = ((((($8) + (($6*40)|0)|0)) + 9|0) + ($28)|0); - $31 = HEAP8[$30>>0]|0; - $32 = $31&255; - $33 = (((($f)) + 148|0) + ($32<<1)|0); - $34 = HEAP16[$33>>1]|0; - $35 = ($34<<16>>16)==(0); - if ($35) { - break; - } - $36 = HEAP32[$16>>2]|0; - $37 = (_get_bits($f,1)|0); - $38 = ($37|0)==(0); - do { - if ($38) { - label = 50; - } else { - $39 = (((($36) + (($32*1596)|0)|0)) + 1588|0); - $40 = HEAP8[$39>>0]|0; - $41 = $40&255; - $42 = (($41) + -1)|0; - $43 = (22264 + ($42<<2)|0); - $44 = HEAP32[$43>>2]|0; - $45 = (((($f)) + 1012|0) + ($i$052<<2)|0); - $46 = HEAP32[$45>>2]|0; - $47 = (_ilog($44)|0); - $48 = (($47) + -1)|0; - $49 = (_get_bits($f,$48)|0); - $50 = $49&65535; - HEAP16[$46>>1] = $50; - $51 = (_get_bits($f,$48)|0); - $52 = $51&65535; - $53 = ((($46)) + 2|0); - HEAP16[$53>>1] = $52; - $54 = (($36) + (($32*1596)|0)|0); - $55 = HEAP8[$54>>0]|0; - $56 = ($55<<24>>24)==(0); - if (!($56)) { - $j$042 = 0;$offset$041 = 2; - while(1) { - $57 = ((((($36) + (($32*1596)|0)|0)) + 1|0) + ($j$042)|0); - $58 = HEAP8[$57>>0]|0; - $59 = $58&255; - $60 = ((((($36) + (($32*1596)|0)|0)) + 33|0) + ($59)|0); - $61 = HEAP8[$60>>0]|0; - $62 = ((((($36) + (($32*1596)|0)|0)) + 49|0) + ($59)|0); - $63 = HEAP8[$62>>0]|0; - $64 = $63&255; - $65 = 1 << $64; - $66 = (($65) + -1)|0; - $67 = ($63<<24>>24)==(0); - if ($67) { - $cval$2$ph = 0; - } else { - $68 = HEAP32[$19>>2]|0; - $69 = ((((($36) + (($32*1596)|0)|0)) + 65|0) + ($59)|0); - $70 = HEAP8[$69>>0]|0; - $71 = $70&255; - $72 = (($68) + (($71*2096)|0)|0); - $73 = HEAP32[$20>>2]|0; - $74 = ($73|0)<(10); - if ($74) { - _prep_huffman($f); - } - $75 = HEAP32[$21>>2]|0; - $76 = $75 & 1023; - $77 = ((((($68) + (($71*2096)|0)|0)) + 36|0) + ($76<<1)|0); - $78 = HEAP16[$77>>1]|0; - $79 = $78 << 16 >> 16; - $80 = ($78<<16>>16)>(-1); - if ($80) { - $81 = (((($68) + (($71*2096)|0)|0)) + 8|0); - $82 = HEAP32[$81>>2]|0; - $83 = (($82) + ($79)|0); - $84 = HEAP8[$83>>0]|0; - $85 = $84&255; - $86 = $75 >>> $85; - HEAP32[$21>>2] = $86; - $87 = HEAP32[$20>>2]|0; - $88 = (($87) - ($85))|0; - $89 = ($88|0)<(0); - $$ = $89 ? 0 : $88; - HEAP32[$20>>2] = $$; - $$1 = $89 ? -1 : $79; - $cval$0 = $$1; - } else { - $90 = (_codebook_decode_scalar_raw($f,$72)|0); - $cval$0 = $90; - } - $91 = (((($68) + (($71*2096)|0)|0)) + 23|0); - $92 = HEAP8[$91>>0]|0; - $93 = ($92<<24>>24)==(0); - if ($93) { - $cval$2$ph = $cval$0; - } else { - $94 = (((($68) + (($71*2096)|0)|0)) + 2088|0); - $95 = HEAP32[$94>>2]|0; - $96 = (($95) + ($cval$0<<2)|0); - $97 = HEAP32[$96>>2]|0; - $cval$2$ph = $97; - } - } - $98 = ($61<<24>>24)==(0); - if ($98) { - $offset$1$lcssa = $offset$041; - } else { - $99 = $61&255; - $cval$235 = $cval$2$ph;$k$037 = 0;$offset$136 = $offset$041; - while(1) { - $100 = $cval$235 & $66; - $101 = (((((($36) + (($32*1596)|0)|0)) + 82|0) + ($59<<4)|0) + ($100<<1)|0); - $102 = HEAP16[$101>>1]|0; - $103 = $cval$235 >> $64; - $104 = ($102<<16>>16)>(-1); - if ($104) { - $105 = $102 << 16 >> 16; - $106 = HEAP32[$22>>2]|0; - $107 = (($106) + (($105*2096)|0)|0); - $108 = HEAP32[$23>>2]|0; - $109 = ($108|0)<(10); - if ($109) { - _prep_huffman($f); - } - $110 = HEAP32[$24>>2]|0; - $111 = $110 & 1023; - $112 = ((((($106) + (($105*2096)|0)|0)) + 36|0) + ($111<<1)|0); - $113 = HEAP16[$112>>1]|0; - $114 = $113 << 16 >> 16; - $115 = ($113<<16>>16)>(-1); - if ($115) { - $116 = (((($106) + (($105*2096)|0)|0)) + 8|0); - $117 = HEAP32[$116>>2]|0; - $118 = (($117) + ($114)|0); - $119 = HEAP8[$118>>0]|0; - $120 = $119&255; - $121 = $110 >>> $120; - HEAP32[$24>>2] = $121; - $122 = HEAP32[$23>>2]|0; - $123 = (($122) - ($120))|0; - $124 = ($123|0)<(0); - $$2 = $124 ? 0 : $123; - HEAP32[$23>>2] = $$2; - $$3 = $124 ? -1 : $114; - $temp$0 = $$3; - } else { - $125 = (_codebook_decode_scalar_raw($f,$107)|0); - $temp$0 = $125; - } - $126 = (((($106) + (($105*2096)|0)|0)) + 23|0); - $127 = HEAP8[$126>>0]|0; - $128 = ($127<<24>>24)==(0); - if ($128) { - $temp$1 = $temp$0; - } else { - $129 = (((($106) + (($105*2096)|0)|0)) + 2088|0); - $130 = HEAP32[$129>>2]|0; - $131 = (($130) + ($temp$0<<2)|0); - $132 = HEAP32[$131>>2]|0; - $temp$1 = $132; - } - $133 = $temp$1&65535; - $134 = (($46) + ($offset$136<<1)|0); - HEAP16[$134>>1] = $133; - } else { - $135 = (($46) + ($offset$136<<1)|0); - HEAP16[$135>>1] = 0; - } - $offset$2 = (($offset$136) + 1)|0; - $136 = (($k$037) + 1)|0; - $exitcond57 = ($136|0)==($99|0); - if ($exitcond57) { - break; - } else { - $cval$235 = $103;$k$037 = $136;$offset$136 = $offset$2; - } - } - $137 = (($offset$041) + ($99))|0; - $offset$1$lcssa = $137; - } - $138 = (($j$042) + 1)|0; - $139 = HEAP8[$54>>0]|0; - $140 = $139&255; - $141 = ($138|0)<($140|0); - if ($141) { - $j$042 = $138;$offset$041 = $offset$1$lcssa; - } else { - break; - } - } - } - $142 = HEAP32[$17>>2]|0; - $143 = ($142|0)==(-1); - if ($143) { - label = 50; - break; - } - HEAP8[$18>>0] = 1; - HEAP8[$step2_flag>>0] = 1; - $144 = (((($36) + (($32*1596)|0)|0)) + 1592|0); - $145 = HEAP32[$144>>2]|0; - $146 = ($145|0)>(2); - if ($146) { - $147 = (($44) + 65535)|0; - $j$146 = 2; - while(1) { - $151 = ((((($36) + (($32*1596)|0)|0)) + 1088|0) + ($j$146<<1)|0); - $152 = HEAP8[$151>>0]|0; - $153 = $152&255; - $154 = ((((((($36) + (($32*1596)|0)|0)) + 1088|0) + ($j$146<<1)|0)) + 1|0); - $155 = HEAP8[$154>>0]|0; - $156 = $155&255; - $157 = ((((($36) + (($32*1596)|0)|0)) + 338|0) + ($j$146<<1)|0); - $158 = HEAP16[$157>>1]|0; - $159 = $158&65535; - $160 = ((((($36) + (($32*1596)|0)|0)) + 338|0) + ($153<<1)|0); - $161 = HEAP16[$160>>1]|0; - $162 = $161&65535; - $163 = ((((($36) + (($32*1596)|0)|0)) + 338|0) + ($156<<1)|0); - $164 = HEAP16[$163>>1]|0; - $165 = $164&65535; - $166 = (($46) + ($153<<1)|0); - $167 = HEAP16[$166>>1]|0; - $168 = $167 << 16 >> 16; - $169 = (($46) + ($156<<1)|0); - $170 = HEAP16[$169>>1]|0; - $171 = $170 << 16 >> 16; - $172 = (_predict_point($159,$162,$165,$168,$171)|0); - $173 = (($46) + ($j$146<<1)|0); - $174 = HEAP16[$173>>1]|0; - $175 = $174 << 16 >> 16; - $176 = (($44) - ($172))|0; - $177 = ($174<<16>>16)==(0); - do { - if ($177) { - $195 = (($step2_flag) + ($j$146)|0); - HEAP8[$195>>0] = 0; - $196 = $172&65535; - HEAP16[$173>>1] = $196; - } else { - $178 = ($176|0)<($172|0); - $$4 = $178 ? $176 : $172; - $room$0 = $$4 << 1; - $179 = (($step2_flag) + ($156)|0); - HEAP8[$179>>0] = 1; - $180 = (($step2_flag) + ($153)|0); - HEAP8[$180>>0] = 1; - $181 = (($step2_flag) + ($j$146)|0); - HEAP8[$181>>0] = 1; - $182 = ($175|0)<($room$0|0); - if ($182) { - $186 = $175 & 1; - $187 = ($186|0)==(0); - if ($187) { - $192 = $175 >>> 1; - $193 = (($192) + ($172))|0; - $194 = $193&65535; - HEAP16[$173>>1] = $194; - break; - } else { - $188 = (($175) + 1)|0; - $189 = $188 >>> 1; - $190 = (($172) - ($189))|0; - $191 = $190&65535; - HEAP16[$173>>1] = $191; - break; - } - } else { - $183 = ($176|0)>($172|0); - if ($183) { - HEAP16[$173>>1] = $174; - break; - } else { - $184 = (($147) - ($175))|0; - $185 = $184&65535; - HEAP16[$173>>1] = $185; - break; - } - } - } - } while(0); - $197 = (($j$146) + 1)|0; - $198 = HEAP32[$144>>2]|0; - $199 = ($197|0)<($198|0); - if ($199) { - $j$146 = $197; - } else { - $148 = $198; - break; - } - } - } else { - $148 = $145; - } - $149 = ($148|0)>(0); - if ($149) { - $150 = HEAP32[$144>>2]|0; - $j$250 = 0; - while(1) { - $200 = (($step2_flag) + ($j$250)|0); - $201 = HEAP8[$200>>0]|0; - $202 = ($201<<24>>24)==(0); - if ($202) { - $203 = (($46) + ($j$250<<1)|0); - HEAP16[$203>>1] = -1; - } - $204 = (($j$250) + 1)|0; - $205 = ($204|0)<($150|0); - if ($205) { - $j$250 = $204; - } else { - break; - } - } - } - } - } while(0); - if ((label|0) == 50) { - label = 0; - HEAP32[$29>>2] = 1; - } - $206 = (($i$052) + 1)|0; - $207 = HEAP32[$12>>2]|0; - $208 = ($206|0)<($207|0); - if ($208) { - $i$052 = $206; - } else { - break L1; - } - } - _error($f,21); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - } while(0); - $209 = ((($f)) + 96|0); - $210 = HEAP32[$209>>2]|0; - $211 = ($210|0)==(0|0); - if (!($211)) { - $212 = ((($f)) + 100|0); - $213 = HEAP32[$212>>2]|0; - $214 = ((($f)) + 108|0); - $215 = HEAP32[$214>>2]|0; - $216 = ($213|0)==($215|0); - if (!($216)) { - ___assert_fail((21808|0),(20576|0),2942,(22280|0)); - // unreachable; - } - } - $217 = HEAP32[$12>>2]|0; - $218 = $217 << 2; - _memcpy(($really_zero_channel|0),($zero_channel|0),($218|0))|0; - $219 = HEAP16[$9>>1]|0; - $220 = ($219<<16>>16)==(0); - if (!($220)) { - $221 = (((($8) + (($6*40)|0)|0)) + 4|0); - $222 = HEAP32[$221>>2]|0; - $223 = HEAP16[$9>>1]|0; - $224 = $223&65535; - $i$130 = 0; - while(1) { - $229 = (($222) + (($i$130*3)|0)|0); - $230 = HEAP8[$229>>0]|0; - $231 = $230&255; - $232 = (($zero_channel) + ($231<<2)|0); - $233 = HEAP32[$232>>2]|0; - $234 = ($233|0)==(0); - if ($234) { - label = 61; - } else { - $235 = (((($222) + (($i$130*3)|0)|0)) + 1|0); - $236 = HEAP8[$235>>0]|0; - $237 = $236&255; - $238 = (($zero_channel) + ($237<<2)|0); - $239 = HEAP32[$238>>2]|0; - $240 = ($239|0)==(0); - if ($240) { - label = 61; - } - } - if ((label|0) == 61) { - label = 0; - $241 = HEAP32[$221>>2]|0; - $242 = (((($241) + (($i$130*3)|0)|0)) + 1|0); - $243 = HEAP8[$242>>0]|0; - $244 = $243&255; - $245 = (($zero_channel) + ($244<<2)|0); - HEAP32[$245>>2] = 0; - $246 = HEAP32[$221>>2]|0; - $247 = (($246) + (($i$130*3)|0)|0); - $248 = HEAP8[$247>>0]|0; - $249 = $248&255; - $250 = (($zero_channel) + ($249<<2)|0); - HEAP32[$250>>2] = 0; - } - $251 = (($i$130) + 1)|0; - $252 = ($251|0)<($224|0); - if ($252) { - $i$130 = $251; - } else { - break; - } - } - } - $225 = (((($8) + (($6*40)|0)|0)) + 8|0); - $226 = HEAP8[$225>>0]|0; - $227 = ($226<<24>>24)==(0); - if (!($227)) { - $228 = (((($8) + (($6*40)|0)|0)) + 4|0); - $i$227 = 0; - while(1) { - $253 = HEAP32[$12>>2]|0; - $254 = ($253|0)>(0); - if ($254) { - $255 = HEAP32[$228>>2]|0; - $256 = HEAP32[$12>>2]|0; - $ch$022 = 0;$j$323 = 0; - while(1) { - $257 = (((($255) + (($j$323*3)|0)|0)) + 2|0); - $258 = HEAP8[$257>>0]|0; - $259 = $258&255; - $260 = ($259|0)==($i$227|0); - if ($260) { - $261 = (($zero_channel) + ($j$323<<2)|0); - $262 = HEAP32[$261>>2]|0; - $263 = ($262|0)==(0); - $264 = (($do_not_decode) + ($ch$022)|0); - if ($263) { - HEAP8[$264>>0] = 0; - $266 = (((($f)) + 816|0) + ($j$323<<2)|0); - $267 = HEAP32[$266>>2]|0; - $268 = (($step2_flag) + ($ch$022<<2)|0); - HEAP32[$268>>2] = $267; - } else { - HEAP8[$264>>0] = 1; - $265 = (($step2_flag) + ($ch$022<<2)|0); - HEAP32[$265>>2] = 0; - } - $269 = (($ch$022) + 1)|0; - $ch$1 = $269; - } else { - $ch$1 = $ch$022; - } - $270 = (($j$323) + 1)|0; - $271 = ($270|0)<($256|0); - if ($271) { - $ch$022 = $ch$1;$j$323 = $270; - } else { - $ch$0$lcssa = $ch$1; - break; - } - } - } else { - $ch$0$lcssa = 0; - } - $272 = ((((($8) + (($6*40)|0)|0)) + 24|0) + ($i$227)|0); - $273 = HEAP8[$272>>0]|0; - $274 = $273&255; - _decode_residue($f,$step2_flag,$ch$0$lcssa,$10,$274,$do_not_decode); - $275 = (($i$227) + 1)|0; - $276 = HEAP8[$225>>0]|0; - $277 = $276&255; - $278 = ($275|0)<($277|0); - if ($278) { - $i$227 = $275; - } else { - break; - } - } - } - $279 = HEAP32[$209>>2]|0; - $280 = ($279|0)==(0|0); - if (!($280)) { - $281 = ((($f)) + 100|0); - $282 = HEAP32[$281>>2]|0; - $283 = ((($f)) + 108|0); - $284 = HEAP32[$283>>2]|0; - $285 = ($282|0)==($284|0); - if (!($285)) { - ___assert_fail((21808|0),(20576|0),2974,(22280|0)); - // unreachable; - } - } - $286 = HEAP16[$9>>1]|0; - $287 = ($286<<16>>16)==(0); - if (!($287)) { - $288 = $286&65535; - $289 = (((($8) + (($6*40)|0)|0)) + 4|0); - $290 = HEAP32[$289>>2]|0; - $291 = ($10|0)>(0); - $i$319$in = $288; - while(1) { - $i$319 = (($i$319$in) + -1)|0; - $296 = (($290) + (($i$319*3)|0)|0); - $297 = HEAP8[$296>>0]|0; - $298 = $297&255; - $299 = (((($f)) + 816|0) + ($298<<2)|0); - $300 = HEAP32[$299>>2]|0; - $301 = (((($290) + (($i$319*3)|0)|0)) + 1|0); - $302 = HEAP8[$301>>0]|0; - $303 = $302&255; - $304 = (((($f)) + 816|0) + ($303<<2)|0); - $305 = HEAP32[$304>>2]|0; - if ($291) { - $j$415 = 0; - while(1) { - $306 = (($300) + ($j$415<<2)|0); - $307 = +HEAPF32[$306>>2]; - $308 = $307 > 0.0; - $309 = (($305) + ($j$415<<2)|0); - $310 = +HEAPF32[$309>>2]; - $311 = $310 > 0.0; - do { - if ($308) { - if ($311) { - $312 = $307 - $310; - $a2$0 = $312;$m2$0 = $307; - break; - } else { - $313 = $307 + $310; - $a2$0 = $307;$m2$0 = $313; - break; - } - } else { - if ($311) { - $314 = $307 + $310; - $a2$0 = $314;$m2$0 = $307; - break; - } else { - $315 = $307 - $310; - $a2$0 = $307;$m2$0 = $315; - break; - } - } - } while(0); - HEAPF32[$306>>2] = $m2$0; - HEAPF32[$309>>2] = $a2$0; - $316 = (($j$415) + 1)|0; - $exitcond = ($316|0)==($10|0); - if ($exitcond) { - break; - } else { - $j$415 = $316; - } - } - } - $292 = ($i$319$in|0)>(1); - if ($292) { - $i$319$in = $i$319; - } else { - break; - } - } - } - $293 = HEAP32[$12>>2]|0; - $294 = ($293|0)>(0); - if ($294) { - $295 = $10 << 2; - $i$413 = 0; - while(1) { - $318 = (($really_zero_channel) + ($i$413<<2)|0); - $319 = HEAP32[$318>>2]|0; - $320 = ($319|0)==(0); - $321 = (((($f)) + 816|0) + ($i$413<<2)|0); - if ($320) { - $323 = HEAP32[$321>>2]|0; - $324 = (((($f)) + 1012|0) + ($i$413<<2)|0); - $325 = HEAP32[$324>>2]|0; - _do_floor($f,$9,$i$413,$3,$323,$325); - } else { - $322 = HEAP32[$321>>2]|0; - _memset(($322|0),0,($295|0))|0; - } - $326 = (($i$413) + 1)|0; - $327 = HEAP32[$12>>2]|0; - $328 = ($326|0)<($327|0); - if ($328) { - $i$413 = $326; - } else { - $$lcssa = $327; - break; - } - } - $317 = ($$lcssa|0)>(0); - if ($317) { - $i$512 = 0; - while(1) { - $329 = (((($f)) + 816|0) + ($i$512<<2)|0); - $330 = HEAP32[$329>>2]|0; - $331 = HEAP8[$m>>0]|0; - $332 = $331&255; - _inverse_mdct($330,$3,$f,$332); - $333 = (($i$512) + 1)|0; - $334 = HEAP32[$12>>2]|0; - $335 = ($333|0)<($334|0); - if ($335) { - $i$512 = $333; - } else { - break; - } - } - } - } - _flush_packet($f); - $336 = ((($f)) + 1393|0); - $337 = HEAP8[$336>>0]|0; - $338 = ($337<<24>>24)==(0); - if ($338) { - $343 = ((($f)) + 1428|0); - $344 = HEAP32[$343>>2]|0; - $345 = ($344|0)==(0); - if ($345) { - $$01 = $left_start; - } else { - $346 = (($344) + ($left_start))|0; - HEAP32[$p_left>>2] = $346; - HEAP32[$343>>2] = 0; - $$01 = $346; - } - } else { - $339 = ((($f)) + 1076|0); - HEAP32[$339>>2] = $11; - $340 = (($3) - ($right_end))|0; - $341 = ((($f)) + 1428|0); - HEAP32[$341>>2] = $340; - $342 = ((($f)) + 1080|0); - HEAP32[$342>>2] = 1; - HEAP8[$336>>0] = 0; - $$01 = $left_start; - } - $347 = ((($f)) + 1404|0); - $348 = HEAP32[$347>>2]|0; - $349 = ((($f)) + 1420|0); - $350 = HEAP32[$349>>2]|0; - $351 = ($348|0)==($350|0); - if ($351) { - $352 = ((($f)) + 1080|0); - $353 = HEAP32[$352>>2]|0; - $354 = ($353|0)==(0); - if (!($354)) { - $355 = ((($f)) + 1391|0); - $356 = HEAP8[$355>>0]|0; - $357 = $356 & 4; - $358 = ($357<<24>>24)==(0); - if (!($358)) { - $359 = ((($f)) + 1424|0); - $360 = HEAP32[$359>>2]|0; - $361 = (($right_end) - ($3))|0; - $362 = (($360) + ($361))|0; - $363 = ((($f)) + 1076|0); - $364 = HEAP32[$363>>2]|0; - $365 = (($364) + ($right_end))|0; - $366 = ($362>>>0)<($365>>>0); - if ($366) { - $367 = ($362>>>0)<($364>>>0); - $368 = (($362) - ($364))|0; - $storemerge = $367 ? 0 : $368; - $369 = (($storemerge) + ($$01))|0; - HEAP32[$len>>2] = $369; - $370 = HEAP32[$363>>2]|0; - $371 = (($370) + ($369))|0; - HEAP32[$363>>2] = $371; - $$0 = 1; - STACKTOP = sp;return ($$0|0); - } - } - } - $372 = ((($f)) + 1424|0); - $373 = HEAP32[$372>>2]|0; - $374 = (($$01) - ($10))|0; - $375 = (($374) + ($373))|0; - $376 = ((($f)) + 1076|0); - HEAP32[$376>>2] = $375; - HEAP32[$352>>2] = 1; - } - $377 = ((($f)) + 1080|0); - $378 = HEAP32[$377>>2]|0; - $379 = ($378|0)==(0); - if (!($379)) { - $380 = (($right_start) - ($$01))|0; - $381 = ((($f)) + 1076|0); - $382 = HEAP32[$381>>2]|0; - $383 = (($380) + ($382))|0; - HEAP32[$381>>2] = $383; - } - $384 = HEAP32[$209>>2]|0; - $385 = ($384|0)==(0|0); - if (!($385)) { - $386 = ((($f)) + 100|0); - $387 = HEAP32[$386>>2]|0; - $388 = ((($f)) + 108|0); - $389 = HEAP32[$388>>2]|0; - $390 = ($387|0)==($389|0); - if (!($390)) { - ___assert_fail((21808|0),(20576|0),3083,(22280|0)); - // unreachable; - } - } - HEAP32[$len>>2] = $right_end; - $$0 = 1; - STACKTOP = sp;return ($$0|0); -} -function _prep_huffman($f) { - $f = $f|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; - var $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($f)) + 1412|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)<(25); - if (!($2)) { - return; - } - $3 = ($1|0)==(0); - if ($3) { - $4 = ((($f)) + 1408|0); - HEAP32[$4>>2] = 0; - } - $5 = ((($f)) + 1392|0); - $6 = ((($f)) + 1400|0); - $7 = ((($f)) + 1408|0); - while(1) { - $8 = HEAP32[$6>>2]|0; - $9 = ($8|0)==(0); - if (!($9)) { - $10 = HEAP8[$5>>0]|0; - $11 = ($10<<24>>24)==(0); - if ($11) { - label = 9; - break; - } - } - $12 = (_get8_packet_raw($f)|0); - $13 = ($12|0)==(-1); - if ($13) { - label = 9; - break; - } - $14 = HEAP32[$0>>2]|0; - $15 = $12 << $14; - $16 = HEAP32[$7>>2]|0; - $17 = (($16) + ($15))|0; - HEAP32[$7>>2] = $17; - $18 = HEAP32[$0>>2]|0; - $19 = (($18) + 8)|0; - HEAP32[$0>>2] = $19; - $20 = ($19|0)<(25); - if (!($20)) { - label = 9; - break; - } - } - if ((label|0) == 9) { - return; - } -} -function _codebook_decode_scalar_raw($f,$c) { - $f = $f|0; - $c = $c|0; - var $$ = 0, $$0 = 0, $$lcssa = 0, $$lcssa25 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0; - var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0; - var $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0; - var $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0; - var $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $9 = 0, $i$05 = 0, $i$05$lcssa = 0, $n$07 = 0, $x$0$ = 0, $x$0$lcssa = 0, $x$06 = 0, $x$1 = 0, label = 0, sp = 0; - sp = STACKTOP; - _prep_huffman($f); - $0 = ((($c)) + 2084|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)==(0|0); - if ($2) { - $3 = ((($c)) + 32|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)==(0|0); - if ($5) { - ___assert_fail((23504|0),(20576|0),1210,(23544|0)); - // unreachable; - } - } - $6 = ((($c)) + 4|0); - $7 = HEAP32[$6>>2]|0; - $8 = ($7|0)>(8); - if ($8) { - $9 = HEAP32[$0>>2]|0; - $10 = ($9|0)==(0|0); - if (!($10)) { - label = 7; - } - } else { - $11 = ((($c)) + 32|0); - $12 = HEAP32[$11>>2]|0; - $13 = ($12|0)==(0|0); - if ($13) { - label = 7; - } - } - if ((label|0) == 7) { - $14 = ((($f)) + 1408|0); - $15 = HEAP32[$14>>2]|0; - $16 = (_bit_reverse($15)|0); - $17 = ((($c)) + 2092|0); - $18 = HEAP32[$17>>2]|0; - $19 = ($18|0)>(1); - if ($19) { - $20 = HEAP32[$0>>2]|0; - $n$07 = $18;$x$06 = 0; - while(1) { - $21 = $n$07 >> 1; - $22 = (($21) + ($x$06))|0; - $23 = (($20) + ($22<<2)|0); - $24 = HEAP32[$23>>2]|0; - $25 = ($24>>>0)>($16>>>0); - $26 = (($n$07) - ($21))|0; - $x$0$ = $25 ? $x$06 : $22; - $$ = $25 ? $21 : $26; - $27 = ($$|0)>(1); - if ($27) { - $n$07 = $$;$x$06 = $x$0$; - } else { - $x$0$lcssa = $x$0$; - break; - } - } - } else { - $x$0$lcssa = 0; - } - $28 = ((($c)) + 23|0); - $29 = HEAP8[$28>>0]|0; - $30 = ($29<<24>>24)==(0); - if ($30) { - $31 = ((($c)) + 2088|0); - $32 = HEAP32[$31>>2]|0; - $33 = (($32) + ($x$0$lcssa<<2)|0); - $34 = HEAP32[$33>>2]|0; - $x$1 = $34; - } else { - $x$1 = $x$0$lcssa; - } - $35 = ((($c)) + 8|0); - $36 = HEAP32[$35>>2]|0; - $37 = (($36) + ($x$1)|0); - $38 = HEAP8[$37>>0]|0; - $39 = $38&255; - $40 = ((($f)) + 1412|0); - $41 = HEAP32[$40>>2]|0; - $42 = ($41|0)<($39|0); - if ($42) { - HEAP32[$40>>2] = 0; - $$0 = -1; - return ($$0|0); - } else { - $43 = HEAP32[$14>>2]|0; - $44 = $43 >>> $39; - HEAP32[$14>>2] = $44; - $45 = HEAP32[$40>>2]|0; - $46 = (($45) - ($39))|0; - HEAP32[$40>>2] = $46; - $$0 = $x$1; - return ($$0|0); - } - } - $47 = ((($c)) + 23|0); - $48 = HEAP8[$47>>0]|0; - $49 = ($48<<24>>24)==(0); - if (!($49)) { - ___assert_fail((23576|0),(20576|0),1243,(23544|0)); - // unreachable; - } - $50 = HEAP32[$6>>2]|0; - $51 = ($50|0)>(0); - L27: do { - if ($51) { - $52 = ((($c)) + 8|0); - $53 = HEAP32[$52>>2]|0; - $54 = ((($c)) + 32|0); - $55 = ((($f)) + 1408|0); - $i$05 = 0; - while(1) { - $56 = (($53) + ($i$05)|0); - $57 = HEAP8[$56>>0]|0; - $58 = $57&255; - $59 = ($57<<24>>24)==(-1); - if (!($59)) { - $60 = HEAP32[$54>>2]|0; - $61 = (($60) + ($i$05<<2)|0); - $62 = HEAP32[$61>>2]|0; - $63 = HEAP32[$55>>2]|0; - $64 = 1 << $58; - $65 = (($64) + -1)|0; - $66 = $63 & $65; - $67 = ($62|0)==($66|0); - if ($67) { - $$lcssa = $58;$$lcssa25 = $63;$i$05$lcssa = $i$05; - break; - } - } - $78 = (($i$05) + 1)|0; - $79 = HEAP32[$6>>2]|0; - $80 = ($78|0)<($79|0); - if ($80) { - $i$05 = $78; - } else { - break L27; - } - } - $68 = ((($f)) + 1412|0); - $69 = HEAP32[$68>>2]|0; - $70 = ($69|0)<($$lcssa|0); - if ($70) { - HEAP32[$68>>2] = 0; - $$0 = -1; - return ($$0|0); - } else { - $71 = $$lcssa25 >>> $$lcssa; - HEAP32[$55>>2] = $71; - $72 = HEAP32[$52>>2]|0; - $73 = (($72) + ($i$05$lcssa)|0); - $74 = HEAP8[$73>>0]|0; - $75 = $74&255; - $76 = HEAP32[$68>>2]|0; - $77 = (($76) - ($75))|0; - HEAP32[$68>>2] = $77; - $$0 = $i$05$lcssa; - return ($$0|0); - } - } - } while(0); - _error($f,21); - $81 = ((($f)) + 1412|0); - HEAP32[$81>>2] = 0; - $$0 = -1; - return ($$0|0); -} -function _predict_point($x,$x0,$x1,$y0,$y1) { - $x = $x|0; - $x0 = $x0|0; - $x1 = $x1|0; - $y0 = $y0|0; - $y1 = $y1|0; - var $$p = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $ispos = 0, $neg = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (($y1) - ($y0))|0; - $1 = (($x1) - ($x0))|0; - $ispos = ($0|0)>(-1); - $neg = (0 - ($0))|0; - $2 = $ispos ? $0 : $neg; - $3 = (($x) - ($x0))|0; - $4 = Math_imul($2, $3)|0; - $5 = (($4|0) / ($1|0))&-1; - $6 = ($0|0)<(0); - $7 = (0 - ($5))|0; - $$p = $6 ? $7 : $5; - $8 = (($$p) + ($y0))|0; - return ($8|0); -} -function _decode_residue($f,$residue_buffers,$ch,$n,$rn,$do_not_decode) { - $f = $f|0; - $residue_buffers = $residue_buffers|0; - $ch = $ch|0; - $n = $n|0; - $rn = $rn|0; - $do_not_decode = $do_not_decode|0; - var $$ = 0, $$10 = 0, $$11 = 0, $$13 = 0, $$14 = 0, $$5 = 0, $$7 = 0, $$8 = 0, $$alloca_mul = 0, $$not = 0, $$not115 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0; - var $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0; - var $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0; - var $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0; - var $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0; - var $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0; - var $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0; - var $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0; - var $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0; - var $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0; - var $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0; - var $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0; - var $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0; - var $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0; - var $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0; - var $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0; - var $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0; - var $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0; - var $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $brmerge = 0, $c_inter = 0, $c_inter16 = 0, $c_inter6 = 0; - var $class_set$055 = 0, $class_set$147 = 0, $class_set$263 = 0, $class_set26$087 = 0, $exitcond = 0, $i$092 = 0, $i$152 = 0, $i$246 = 0, $i$360 = 0, $i$484 = 0, $j$0$lcssa = 0, $j$070 = 0, $j$175 = 0, $j$278 = 0, $or$cond = 0, $or$cond12 = 0, $or$cond1258 = 0, $or$cond15 = 0, $or$cond1581 = 0, $or$cond6 = 0; - var $or$cond650 = 0, $or$cond9 = 0, $or$cond944 = 0, $p_inter = 0, $p_inter17 = 0, $p_inter7 = 0, $pass$066 = 0, $pass$190 = 0, $pcount$056 = 0, $pcount$1$lcssa = 0, $pcount$151 = 0, $pcount$248 = 0, $pcount$3$lcssa = 0, $pcount$345 = 0, $pcount$464 = 0, $pcount$5$lcssa = 0, $pcount$559 = 0, $pcount25$086 = 0, $pcount25$1$lcssa = 0, $pcount25$182 = 0; - var $q$0 = 0, $q$1 = 0, $q19$0 = 0, $q19$1 = 0, $q9$0 = 0, $q9$1 = 0, $temp$0 = 0, $temp$1 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $c_inter = sp + 20|0; - $p_inter = sp; - $c_inter6 = sp + 4|0; - $p_inter7 = sp + 8|0; - $c_inter16 = sp + 12|0; - $p_inter17 = sp + 16|0; - $0 = ((($f)) + 412|0); - $1 = HEAP32[$0>>2]|0; - $2 = (((($f)) + 284|0) + ($rn<<1)|0); - $3 = HEAP16[$2>>1]|0; - $4 = $3&65535; - $5 = (((($1) + (($rn*24)|0)|0)) + 13|0); - $6 = HEAP8[$5>>0]|0; - $7 = $6&255; - $8 = ((($f)) + 140|0); - $9 = HEAP32[$8>>2]|0; - $10 = (($9) + (($7*2096)|0)|0); - $11 = HEAP32[$10>>2]|0; - $12 = (((($1) + (($rn*24)|0)|0)) + 4|0); - $13 = HEAP32[$12>>2]|0; - $14 = (($1) + (($rn*24)|0)|0); - $15 = HEAP32[$14>>2]|0; - $16 = (($13) - ($15))|0; - $17 = (((($1) + (($rn*24)|0)|0)) + 8|0); - $18 = HEAP32[$17>>2]|0; - $19 = (($16>>>0) / ($18>>>0))&-1; - $20 = ((($f)) + 108|0); - $21 = HEAP32[$20>>2]|0; - $22 = ((($f)) + 96|0); - $23 = HEAP32[$22>>2]|0; - $24 = ($23|0)==(0|0); - $25 = ((($f)) + 4|0); - $26 = HEAP32[$25>>2]|0; - $27 = $19 << 2; - $28 = (($27) + 4)|0; - $29 = Math_imul($26, $28)|0; - if ($24) { - $$alloca_mul = $29; - $31 = STACKTOP; STACKTOP = STACKTOP + ((((1*$$alloca_mul)|0)+15)&-16)|0;; - $33 = $31; - } else { - $30 = (_setup_temp_malloc($f,$29)|0); - $33 = $30; - } - $32 = HEAP32[$25>>2]|0; - $34 = (_make_block_array($33,$32,$27)|0); - $35 = ($ch|0)>(0); - if ($35) { - $36 = $n << 2; - $i$092 = 0; - while(1) { - $37 = (($do_not_decode) + ($i$092)|0); - $38 = HEAP8[$37>>0]|0; - $39 = ($38<<24>>24)==(0); - if ($39) { - $40 = (($residue_buffers) + ($i$092<<2)|0); - $41 = HEAP32[$40>>2]|0; - _memset(($41|0),0,($36|0))|0; - } - $42 = (($i$092) + 1)|0; - $exitcond = ($42|0)==($ch|0); - if ($exitcond) { - break; - } else { - $i$092 = $42; - } - } - } - $43 = ($3<<16>>16)==(2); - $44 = ($ch|0)!=(1); - $or$cond = $44 & $43; - if (!($or$cond)) { - $45 = ($19|0)>(0); - $46 = ($11|0)>(0); - $47 = ($ch|0)>(0); - $48 = (((($1) + (($rn*24)|0)|0)) + 20|0); - $49 = ((($f)) + 1412|0); - $50 = ((($f)) + 1408|0); - $51 = (((($1) + (($rn*24)|0)|0)) + 16|0); - $$not115 = ($ch|0)<(1); - $pass$190 = 0; - L15: while(1) { - if ($45) { - $$not = ($pass$190|0)!=(0); - $brmerge = $$not | $$not115; - $class_set26$087 = 0;$pcount25$086 = 0; - while(1) { - if (!($brmerge)) { - $j$175 = 0; - while(1) { - $289 = (($do_not_decode) + ($j$175)|0); - $290 = HEAP8[$289>>0]|0; - $291 = ($290<<24>>24)==(0); - if ($291) { - $292 = HEAP32[$8>>2]|0; - $293 = HEAP8[$5>>0]|0; - $294 = $293&255; - $295 = (($292) + (($294*2096)|0)|0); - $296 = HEAP32[$49>>2]|0; - $297 = ($296|0)<(10); - if ($297) { - _prep_huffman($f); - } - $298 = HEAP32[$50>>2]|0; - $299 = $298 & 1023; - $300 = ((((($292) + (($294*2096)|0)|0)) + 36|0) + ($299<<1)|0); - $301 = HEAP16[$300>>1]|0; - $302 = $301 << 16 >> 16; - $303 = ($301<<16>>16)>(-1); - if ($303) { - $304 = (((($292) + (($294*2096)|0)|0)) + 8|0); - $305 = HEAP32[$304>>2]|0; - $306 = (($305) + ($302)|0); - $307 = HEAP8[$306>>0]|0; - $308 = $307&255; - $309 = $298 >>> $308; - HEAP32[$50>>2] = $309; - $310 = HEAP32[$49>>2]|0; - $311 = (($310) - ($308))|0; - $312 = ($311|0)<(0); - $$13 = $312 ? 0 : $311; - HEAP32[$49>>2] = $$13; - $$14 = $312 ? -1 : $302; - $temp$0 = $$14; - } else { - $313 = (_codebook_decode_scalar_raw($f,$295)|0); - $temp$0 = $313; - } - $314 = (((($292) + (($294*2096)|0)|0)) + 23|0); - $315 = HEAP8[$314>>0]|0; - $316 = ($315<<24>>24)==(0); - if ($316) { - $temp$1 = $temp$0; - } else { - $317 = (((($292) + (($294*2096)|0)|0)) + 2088|0); - $318 = HEAP32[$317>>2]|0; - $319 = (($318) + ($temp$0<<2)|0); - $320 = HEAP32[$319>>2]|0; - $temp$1 = $320; - } - $321 = ($temp$1|0)==(-1); - if ($321) { - label = 95; - break L15; - } - $322 = HEAP32[$51>>2]|0; - $323 = (($322) + ($temp$1<<2)|0); - $324 = HEAP32[$323>>2]|0; - $325 = (($34) + ($j$175<<2)|0); - $326 = HEAP32[$325>>2]|0; - $327 = (($326) + ($class_set26$087<<2)|0); - HEAP32[$327>>2] = $324; - } - $328 = (($j$175) + 1)|0; - $329 = ($328|0)<($ch|0); - if ($329) { - $j$175 = $328; - } else { - break; - } - } - } - $288 = ($pcount25$086|0)<($19|0); - $or$cond1581 = $288 & $46; - if ($or$cond1581) { - $i$484 = 0;$pcount25$182 = $pcount25$086; - while(1) { - if ($47) { - $j$278 = 0; - while(1) { - $330 = (($do_not_decode) + ($j$278)|0); - $331 = HEAP8[$330>>0]|0; - $332 = ($331<<24>>24)==(0); - if ($332) { - $333 = (($34) + ($j$278<<2)|0); - $334 = HEAP32[$333>>2]|0; - $335 = (($334) + ($class_set26$087<<2)|0); - $336 = HEAP32[$335>>2]|0; - $337 = (($336) + ($i$484)|0); - $338 = HEAP8[$337>>0]|0; - $339 = $338&255; - $340 = HEAP32[$48>>2]|0; - $341 = ((($340) + ($339<<4)|0) + ($pass$190<<1)|0); - $342 = HEAP16[$341>>1]|0; - $343 = ($342<<16>>16)>(-1); - if ($343) { - $344 = $342 << 16 >> 16; - $345 = (($residue_buffers) + ($j$278<<2)|0); - $346 = HEAP32[$345>>2]|0; - $347 = HEAP32[$14>>2]|0; - $348 = HEAP32[$17>>2]|0; - $349 = Math_imul($348, $pcount25$182)|0; - $350 = (($349) + ($347))|0; - $351 = HEAP32[$8>>2]|0; - $352 = (($351) + (($344*2096)|0)|0); - $353 = (_residue_decode($f,$352,$346,$350,$348,$4)|0); - $354 = ($353|0)==(0); - if ($354) { - label = 95; - break L15; - } - } - } - $355 = (($j$278) + 1)|0; - $356 = ($355|0)<($ch|0); - if ($356) { - $j$278 = $355; - } else { - break; - } - } - } - $357 = (($i$484) + 1)|0; - $358 = (($pcount25$182) + 1)|0; - $359 = ($357|0)<($11|0); - $360 = ($358|0)<($19|0); - $or$cond15 = $360 & $359; - if ($or$cond15) { - $i$484 = $357;$pcount25$182 = $358; - } else { - $pcount25$1$lcssa = $358; - break; - } - } - } else { - $pcount25$1$lcssa = $pcount25$086; - } - $361 = (($class_set26$087) + 1)|0; - $362 = ($pcount25$1$lcssa|0)<($19|0); - if ($362) { - $class_set26$087 = $361;$pcount25$086 = $pcount25$1$lcssa; - } else { - break; - } - } - } - $363 = (($pass$190) + 1)|0; - $364 = ($363|0)<(8); - if ($364) { - $pass$190 = $363; - } else { - label = 95; - break; - } - } - if ((label|0) == 95) { - HEAP32[$20>>2] = $21; - STACKTOP = sp;return; - } - } - $52 = ($ch|0)>(0); - L57: do { - if ($52) { - $j$070 = 0; - while(1) { - $53 = (($do_not_decode) + ($j$070)|0); - $54 = HEAP8[$53>>0]|0; - $55 = ($54<<24>>24)==(0); - if ($55) { - $j$0$lcssa = $j$070; - break L57; - } - $56 = (($j$070) + 1)|0; - $57 = ($56|0)<($ch|0); - if ($57) { - $j$070 = $56; - } else { - $j$0$lcssa = $56; - break; - } - } - } else { - $j$0$lcssa = 0; - } - } while(0); - $58 = ($j$0$lcssa|0)==($ch|0); - if ($58) { - HEAP32[$20>>2] = $21; - STACKTOP = sp;return; - } - $59 = ($19|0)>(0); - $60 = ((($f)) + 1412|0); - $61 = ((($f)) + 1408|0); - $62 = (((($1) + (($rn*24)|0)|0)) + 16|0); - $63 = ($11|0)>(0); - $64 = (((($1) + (($rn*24)|0)|0)) + 20|0); - $65 = ($19|0)>(0); - $66 = ((($f)) + 1412|0); - $67 = ((($f)) + 1408|0); - $68 = (((($1) + (($rn*24)|0)|0)) + 16|0); - $69 = ($11|0)>(0); - $70 = (((($1) + (($rn*24)|0)|0)) + 20|0); - $71 = ($19|0)>(0); - $72 = ((($f)) + 1412|0); - $73 = ((($f)) + 1408|0); - $74 = (((($1) + (($rn*24)|0)|0)) + 16|0); - $75 = ($11|0)>(0); - $76 = (((($1) + (($rn*24)|0)|0)) + 20|0); - $pass$066 = 0; - L65: while(1) { - if ((($ch|0) == 2)) { - if ($65) { - $78 = ($pass$066|0)==(0); - $class_set$055 = 0;$pcount$056 = 0; - while(1) { - $80 = HEAP32[$14>>2]|0; - $81 = HEAP32[$17>>2]|0; - $82 = Math_imul($81, $pcount$056)|0; - $83 = (($82) + ($80))|0; - $84 = $83 & 1; - HEAP32[$c_inter>>2] = $84; - $85 = $83 >> 1; - HEAP32[$p_inter>>2] = $85; - if ($78) { - $86 = HEAP32[$8>>2]|0; - $87 = HEAP8[$5>>0]|0; - $88 = $87&255; - $89 = (($86) + (($88*2096)|0)|0); - $90 = HEAP32[$66>>2]|0; - $91 = ($90|0)<(10); - if ($91) { - _prep_huffman($f); - } - $92 = HEAP32[$67>>2]|0; - $93 = $92 & 1023; - $94 = ((((($86) + (($88*2096)|0)|0)) + 36|0) + ($93<<1)|0); - $95 = HEAP16[$94>>1]|0; - $96 = $95 << 16 >> 16; - $97 = ($95<<16>>16)>(-1); - if ($97) { - $98 = (((($86) + (($88*2096)|0)|0)) + 8|0); - $99 = HEAP32[$98>>2]|0; - $100 = (($99) + ($96)|0); - $101 = HEAP8[$100>>0]|0; - $102 = $101&255; - $103 = $92 >>> $102; - HEAP32[$67>>2] = $103; - $104 = HEAP32[$66>>2]|0; - $105 = (($104) - ($102))|0; - $106 = ($105|0)<(0); - $$ = $106 ? 0 : $105; - HEAP32[$66>>2] = $$; - $$5 = $106 ? -1 : $96; - $q$0 = $$5; - } else { - $107 = (_codebook_decode_scalar_raw($f,$89)|0); - $q$0 = $107; - } - $108 = (((($86) + (($88*2096)|0)|0)) + 23|0); - $109 = HEAP8[$108>>0]|0; - $110 = ($109<<24>>24)==(0); - if ($110) { - $q$1 = $q$0; - } else { - $111 = (((($86) + (($88*2096)|0)|0)) + 2088|0); - $112 = HEAP32[$111>>2]|0; - $113 = (($112) + ($q$0<<2)|0); - $114 = HEAP32[$113>>2]|0; - $q$1 = $114; - } - $115 = ($q$1|0)==(-1); - if ($115) { - label = 95; - break L65; - } - $116 = HEAP32[$68>>2]|0; - $117 = (($116) + ($q$1<<2)|0); - $118 = HEAP32[$117>>2]|0; - $119 = HEAP32[$34>>2]|0; - $120 = (($119) + ($class_set$055<<2)|0); - HEAP32[$120>>2] = $118; - } - $121 = ($pcount$056|0)<($19|0); - $or$cond650 = $121 & $69; - if ($or$cond650) { - $i$152 = 0;$pcount$151 = $pcount$056; - while(1) { - $122 = HEAP32[$17>>2]|0; - $123 = HEAP32[$34>>2]|0; - $124 = (($123) + ($class_set$055<<2)|0); - $125 = HEAP32[$124>>2]|0; - $126 = (($125) + ($i$152)|0); - $127 = HEAP8[$126>>0]|0; - $128 = $127&255; - $129 = HEAP32[$70>>2]|0; - $130 = ((($129) + ($128<<4)|0) + ($pass$066<<1)|0); - $131 = HEAP16[$130>>1]|0; - $132 = ($131<<16>>16)>(-1); - if ($132) { - $133 = $131 << 16 >> 16; - $134 = HEAP32[$8>>2]|0; - $135 = (($134) + (($133*2096)|0)|0); - $136 = (_codebook_decode_deinterleave_repeat_2($f,$135,$residue_buffers,$c_inter,$p_inter,$n,$122)|0); - $137 = ($136|0)==(0); - if ($137) { - label = 95; - break L65; - } - } else { - $138 = HEAP32[$14>>2]|0; - $139 = Math_imul($122, $pcount$151)|0; - $140 = (($139) + ($122))|0; - $141 = (($140) + ($138))|0; - $142 = $141 & 1; - HEAP32[$c_inter>>2] = $142; - $143 = $141 >> 1; - HEAP32[$p_inter>>2] = $143; - } - $144 = (($i$152) + 1)|0; - $145 = (($pcount$151) + 1)|0; - $146 = ($144|0)<($11|0); - $147 = ($145|0)<($19|0); - $or$cond6 = $147 & $146; - if ($or$cond6) { - $i$152 = $144;$pcount$151 = $145; - } else { - $pcount$1$lcssa = $145; - break; - } - } - } else { - $pcount$1$lcssa = $pcount$056; - } - $148 = (($class_set$055) + 1)|0; - $149 = ($pcount$1$lcssa|0)<($19|0); - if ($149) { - $class_set$055 = $148;$pcount$056 = $pcount$1$lcssa; - } else { - break; - } - } - } - } else if ((($ch|0) == 1)) { - if ($71) { - $77 = ($pass$066|0)==(0); - $class_set$147 = 0;$pcount$248 = 0; - while(1) { - $150 = HEAP32[$14>>2]|0; - $151 = HEAP32[$17>>2]|0; - $152 = Math_imul($151, $pcount$248)|0; - $153 = (($152) + ($150))|0; - HEAP32[$c_inter6>>2] = 0; - HEAP32[$p_inter7>>2] = $153; - if ($77) { - $154 = HEAP32[$8>>2]|0; - $155 = HEAP8[$5>>0]|0; - $156 = $155&255; - $157 = (($154) + (($156*2096)|0)|0); - $158 = HEAP32[$72>>2]|0; - $159 = ($158|0)<(10); - if ($159) { - _prep_huffman($f); - } - $160 = HEAP32[$73>>2]|0; - $161 = $160 & 1023; - $162 = ((((($154) + (($156*2096)|0)|0)) + 36|0) + ($161<<1)|0); - $163 = HEAP16[$162>>1]|0; - $164 = $163 << 16 >> 16; - $165 = ($163<<16>>16)>(-1); - if ($165) { - $166 = (((($154) + (($156*2096)|0)|0)) + 8|0); - $167 = HEAP32[$166>>2]|0; - $168 = (($167) + ($164)|0); - $169 = HEAP8[$168>>0]|0; - $170 = $169&255; - $171 = $160 >>> $170; - HEAP32[$73>>2] = $171; - $172 = HEAP32[$72>>2]|0; - $173 = (($172) - ($170))|0; - $174 = ($173|0)<(0); - $$7 = $174 ? 0 : $173; - HEAP32[$72>>2] = $$7; - $$8 = $174 ? -1 : $164; - $q9$0 = $$8; - } else { - $175 = (_codebook_decode_scalar_raw($f,$157)|0); - $q9$0 = $175; - } - $176 = (((($154) + (($156*2096)|0)|0)) + 23|0); - $177 = HEAP8[$176>>0]|0; - $178 = ($177<<24>>24)==(0); - if ($178) { - $q9$1 = $q9$0; - } else { - $179 = (((($154) + (($156*2096)|0)|0)) + 2088|0); - $180 = HEAP32[$179>>2]|0; - $181 = (($180) + ($q9$0<<2)|0); - $182 = HEAP32[$181>>2]|0; - $q9$1 = $182; - } - $183 = ($q9$1|0)==(-1); - if ($183) { - label = 95; - break L65; - } - $184 = HEAP32[$74>>2]|0; - $185 = (($184) + ($q9$1<<2)|0); - $186 = HEAP32[$185>>2]|0; - $187 = HEAP32[$34>>2]|0; - $188 = (($187) + ($class_set$147<<2)|0); - HEAP32[$188>>2] = $186; - } - $189 = ($pcount$248|0)<($19|0); - $or$cond944 = $189 & $75; - if ($or$cond944) { - $i$246 = 0;$pcount$345 = $pcount$248; - while(1) { - $190 = HEAP32[$17>>2]|0; - $191 = HEAP32[$34>>2]|0; - $192 = (($191) + ($class_set$147<<2)|0); - $193 = HEAP32[$192>>2]|0; - $194 = (($193) + ($i$246)|0); - $195 = HEAP8[$194>>0]|0; - $196 = $195&255; - $197 = HEAP32[$76>>2]|0; - $198 = ((($197) + ($196<<4)|0) + ($pass$066<<1)|0); - $199 = HEAP16[$198>>1]|0; - $200 = ($199<<16>>16)>(-1); - if ($200) { - $201 = $199 << 16 >> 16; - $202 = HEAP32[$8>>2]|0; - $203 = (($202) + (($201*2096)|0)|0); - $204 = (_codebook_decode_deinterleave_repeat($f,$203,$residue_buffers,$ch,$c_inter6,$p_inter7,$n,$190)|0); - $205 = ($204|0)==(0); - if ($205) { - label = 95; - break L65; - } - } else { - $206 = HEAP32[$14>>2]|0; - $207 = Math_imul($190, $pcount$345)|0; - $208 = (($207) + ($190))|0; - $209 = (($208) + ($206))|0; - HEAP32[$c_inter6>>2] = 0; - HEAP32[$p_inter7>>2] = $209; - } - $210 = (($i$246) + 1)|0; - $211 = (($pcount$345) + 1)|0; - $212 = ($210|0)<($11|0); - $213 = ($211|0)<($19|0); - $or$cond9 = $213 & $212; - if ($or$cond9) { - $i$246 = $210;$pcount$345 = $211; - } else { - $pcount$3$lcssa = $211; - break; - } - } - } else { - $pcount$3$lcssa = $pcount$248; - } - $214 = (($class_set$147) + 1)|0; - $215 = ($pcount$3$lcssa|0)<($19|0); - if ($215) { - $class_set$147 = $214;$pcount$248 = $pcount$3$lcssa; - } else { - break; - } - } - } - } else { - if ($59) { - $79 = ($pass$066|0)==(0); - $class_set$263 = 0;$pcount$464 = 0; - while(1) { - $216 = HEAP32[$14>>2]|0; - $217 = HEAP32[$17>>2]|0; - $218 = Math_imul($217, $pcount$464)|0; - $219 = (($218) + ($216))|0; - $220 = (($219|0) % ($ch|0))&-1; - HEAP32[$c_inter16>>2] = $220; - $221 = (($219|0) / ($ch|0))&-1; - HEAP32[$p_inter17>>2] = $221; - if ($79) { - $222 = HEAP32[$8>>2]|0; - $223 = HEAP8[$5>>0]|0; - $224 = $223&255; - $225 = (($222) + (($224*2096)|0)|0); - $226 = HEAP32[$60>>2]|0; - $227 = ($226|0)<(10); - if ($227) { - _prep_huffman($f); - } - $228 = HEAP32[$61>>2]|0; - $229 = $228 & 1023; - $230 = ((((($222) + (($224*2096)|0)|0)) + 36|0) + ($229<<1)|0); - $231 = HEAP16[$230>>1]|0; - $232 = $231 << 16 >> 16; - $233 = ($231<<16>>16)>(-1); - if ($233) { - $234 = (((($222) + (($224*2096)|0)|0)) + 8|0); - $235 = HEAP32[$234>>2]|0; - $236 = (($235) + ($232)|0); - $237 = HEAP8[$236>>0]|0; - $238 = $237&255; - $239 = $228 >>> $238; - HEAP32[$61>>2] = $239; - $240 = HEAP32[$60>>2]|0; - $241 = (($240) - ($238))|0; - $242 = ($241|0)<(0); - $$10 = $242 ? 0 : $241; - HEAP32[$60>>2] = $$10; - $$11 = $242 ? -1 : $232; - $q19$0 = $$11; - } else { - $243 = (_codebook_decode_scalar_raw($f,$225)|0); - $q19$0 = $243; - } - $244 = (((($222) + (($224*2096)|0)|0)) + 23|0); - $245 = HEAP8[$244>>0]|0; - $246 = ($245<<24>>24)==(0); - if ($246) { - $q19$1 = $q19$0; - } else { - $247 = (((($222) + (($224*2096)|0)|0)) + 2088|0); - $248 = HEAP32[$247>>2]|0; - $249 = (($248) + ($q19$0<<2)|0); - $250 = HEAP32[$249>>2]|0; - $q19$1 = $250; - } - $251 = ($q19$1|0)==(-1); - if ($251) { - label = 95; - break L65; - } - $252 = HEAP32[$62>>2]|0; - $253 = (($252) + ($q19$1<<2)|0); - $254 = HEAP32[$253>>2]|0; - $255 = HEAP32[$34>>2]|0; - $256 = (($255) + ($class_set$263<<2)|0); - HEAP32[$256>>2] = $254; - } - $257 = ($pcount$464|0)<($19|0); - $or$cond1258 = $257 & $63; - if ($or$cond1258) { - $i$360 = 0;$pcount$559 = $pcount$464; - while(1) { - $258 = HEAP32[$17>>2]|0; - $259 = HEAP32[$34>>2]|0; - $260 = (($259) + ($class_set$263<<2)|0); - $261 = HEAP32[$260>>2]|0; - $262 = (($261) + ($i$360)|0); - $263 = HEAP8[$262>>0]|0; - $264 = $263&255; - $265 = HEAP32[$64>>2]|0; - $266 = ((($265) + ($264<<4)|0) + ($pass$066<<1)|0); - $267 = HEAP16[$266>>1]|0; - $268 = ($267<<16>>16)>(-1); - if ($268) { - $269 = $267 << 16 >> 16; - $270 = HEAP32[$8>>2]|0; - $271 = (($270) + (($269*2096)|0)|0); - $272 = (_codebook_decode_deinterleave_repeat($f,$271,$residue_buffers,$ch,$c_inter16,$p_inter17,$n,$258)|0); - $273 = ($272|0)==(0); - if ($273) { - label = 95; - break L65; - } - } else { - $274 = HEAP32[$14>>2]|0; - $275 = Math_imul($258, $pcount$559)|0; - $276 = (($275) + ($258))|0; - $277 = (($276) + ($274))|0; - $278 = (($277|0) % ($ch|0))&-1; - HEAP32[$c_inter16>>2] = $278; - $279 = (($277|0) / ($ch|0))&-1; - HEAP32[$p_inter17>>2] = $279; - } - $280 = (($i$360) + 1)|0; - $281 = (($pcount$559) + 1)|0; - $282 = ($280|0)<($11|0); - $283 = ($281|0)<($19|0); - $or$cond12 = $283 & $282; - if ($or$cond12) { - $i$360 = $280;$pcount$559 = $281; - } else { - $pcount$5$lcssa = $281; - break; - } - } - } else { - $pcount$5$lcssa = $pcount$464; - } - $284 = (($class_set$263) + 1)|0; - $285 = ($pcount$5$lcssa|0)<($19|0); - if ($285) { - $class_set$263 = $284;$pcount$464 = $pcount$5$lcssa; - } else { - break; - } - } - } - } - $286 = (($pass$066) + 1)|0; - $287 = ($286|0)<(8); - if ($287) { - $pass$066 = $286; - } else { - label = 95; - break; - } - } - if ((label|0) == 95) { - HEAP32[$20>>2] = $21; - STACKTOP = sp;return; - } -} -function _do_floor($f,$map,$i,$n,$target,$finalY) { - $f = $f|0; - $map = $map|0; - $i = $i|0; - $n = $n|0; - $target = $target|0; - $finalY = $finalY|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0.0, $42 = 0, $43 = 0.0, $44 = 0.0; - var $45 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $j$01 = 0, $lx$0$lcssa = 0, $lx$03 = 0, $lx$1 = 0, $ly$0$lcssa = 0, $ly$04 = 0, $ly$1 = 0, $q$02 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = $n >> 1; - $1 = ((($map)) + 4|0); - $2 = HEAP32[$1>>2]|0; - $3 = (((($2) + (($i*3)|0)|0)) + 2|0); - $4 = HEAP8[$3>>0]|0; - $5 = $4&255; - $6 = (((($map)) + 9|0) + ($5)|0); - $7 = HEAP8[$6>>0]|0; - $8 = $7&255; - $9 = (((($f)) + 148|0) + ($8<<1)|0); - $10 = HEAP16[$9>>1]|0; - $11 = ($10<<16>>16)==(0); - if ($11) { - _error($f,21); - return; - } - $12 = ((($f)) + 276|0); - $13 = HEAP32[$12>>2]|0; - $14 = HEAP16[$finalY>>1]|0; - $15 = $14 << 16 >> 16; - $16 = (((($13) + (($8*1596)|0)|0)) + 1588|0); - $17 = HEAP8[$16>>0]|0; - $18 = $17&255; - $19 = Math_imul($18, $15)|0; - $20 = (((($13) + (($8*1596)|0)|0)) + 1592|0); - $21 = HEAP32[$20>>2]|0; - $22 = ($21|0)>(1); - if ($22) { - $lx$03 = 0;$ly$04 = $19;$q$02 = 1; - while(1) { - $23 = ((((($13) + (($8*1596)|0)|0)) + 838|0) + ($q$02)|0); - $24 = HEAP8[$23>>0]|0; - $25 = $24&255; - $26 = (($finalY) + ($25<<1)|0); - $27 = HEAP16[$26>>1]|0; - $28 = ($27<<16>>16)>(-1); - if ($28) { - $29 = $27 << 16 >> 16; - $30 = HEAP8[$16>>0]|0; - $31 = $30&255; - $32 = Math_imul($31, $29)|0; - $33 = ((((($13) + (($8*1596)|0)|0)) + 338|0) + ($25<<1)|0); - $34 = HEAP16[$33>>1]|0; - $35 = $34&65535; - _draw_line($target,$lx$03,$ly$04,$35,$32,$0); - $lx$1 = $35;$ly$1 = $32; - } else { - $lx$1 = $lx$03;$ly$1 = $ly$04; - } - $36 = (($q$02) + 1)|0; - $37 = HEAP32[$20>>2]|0; - $38 = ($36|0)<($37|0); - if ($38) { - $lx$03 = $lx$1;$ly$04 = $ly$1;$q$02 = $36; - } else { - $lx$0$lcssa = $lx$1;$ly$0$lcssa = $ly$1; - break; - } - } - } else { - $lx$0$lcssa = 0;$ly$0$lcssa = $19; - } - $39 = ($lx$0$lcssa|0)<($0|0); - if (!($39)) { - return; - } - $40 = (22352 + ($ly$0$lcssa<<2)|0); - $41 = +HEAPF32[$40>>2]; - $j$01 = $lx$0$lcssa; - while(1) { - $42 = (($target) + ($j$01<<2)|0); - $43 = +HEAPF32[$42>>2]; - $44 = $41 * $43; - HEAPF32[$42>>2] = $44; - $45 = (($j$01) + 1)|0; - $exitcond = ($45|0)==($0|0); - if ($exitcond) { - break; - } else { - $j$01 = $45; - } - } - return; -} -function _inverse_mdct($buffer,$n,$f,$blocktype) { - $buffer = $buffer|0; - $n = $n|0; - $f = $f|0; - $blocktype = $blocktype|0; - var $$alloca_mul = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0.0, $101 = 0.0, $102 = 0, $103 = 0.0, $104 = 0, $105 = 0.0, $106 = 0.0, $107 = 0, $108 = 0.0, $109 = 0, $11 = 0, $110 = 0.0, $111 = 0.0, $112 = 0.0, $113 = 0, $114 = 0.0; - var $115 = 0.0, $116 = 0.0, $117 = 0, $118 = 0.0, $119 = 0.0, $12 = 0, $120 = 0, $121 = 0.0, $122 = 0.0, $123 = 0.0, $124 = 0, $125 = 0.0, $126 = 0.0, $127 = 0.0, $128 = 0.0, $129 = 0.0, $13 = 0, $130 = 0, $131 = 0, $132 = 0; - var $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0; - var $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0; - var $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0; - var $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0; - var $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0; - var $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0.0, $234 = 0, $235 = 0.0, $236 = 0.0, $237 = 0, $238 = 0.0, $239 = 0, $24 = 0, $240 = 0.0; - var $241 = 0.0, $242 = 0, $243 = 0.0, $244 = 0.0, $245 = 0.0, $246 = 0.0, $247 = 0.0, $248 = 0.0, $249 = 0.0, $25 = 0.0, $250 = 0.0, $251 = 0.0, $252 = 0.0, $253 = 0.0, $254 = 0.0, $255 = 0.0, $256 = 0.0, $257 = 0, $258 = 0.0, $259 = 0.0; - var $26 = 0.0, $260 = 0.0, $261 = 0, $262 = 0.0, $263 = 0, $264 = 0.0, $265 = 0.0, $266 = 0, $267 = 0.0, $268 = 0.0, $269 = 0, $27 = 0.0, $270 = 0.0, $271 = 0.0, $272 = 0.0, $273 = 0.0, $274 = 0.0, $275 = 0.0, $276 = 0.0, $277 = 0.0; - var $278 = 0.0, $279 = 0.0, $28 = 0, $280 = 0.0, $281 = 0.0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0.0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0.0; - var $296 = 0, $297 = 0.0, $298 = 0.0, $299 = 0, $3 = 0, $30 = 0, $300 = 0.0, $301 = 0, $302 = 0.0, $303 = 0.0, $304 = 0.0, $305 = 0.0, $306 = 0.0, $307 = 0.0, $308 = 0.0, $309 = 0.0, $31 = 0.0, $310 = 0, $311 = 0, $312 = 0; - var $313 = 0.0, $314 = 0, $315 = 0.0, $316 = 0.0, $317 = 0, $318 = 0.0, $319 = 0, $32 = 0.0, $320 = 0.0, $321 = 0.0, $322 = 0.0, $323 = 0.0, $324 = 0.0, $325 = 0.0, $326 = 0.0, $327 = 0, $328 = 0.0, $329 = 0, $33 = 0.0, $330 = 0; - var $331 = 0, $332 = 0, $333 = 0.0, $334 = 0, $335 = 0.0, $336 = 0.0, $337 = 0, $338 = 0.0, $339 = 0, $34 = 0, $340 = 0.0, $341 = 0.0, $342 = 0.0, $343 = 0.0, $344 = 0.0, $345 = 0.0, $346 = 0.0, $347 = 0, $348 = 0.0, $349 = 0; - var $35 = 0.0, $350 = 0, $351 = 0, $352 = 0.0, $353 = 0, $354 = 0.0, $355 = 0.0, $356 = 0, $357 = 0.0, $358 = 0.0, $359 = 0.0, $36 = 0.0, $360 = 0.0, $361 = 0.0, $362 = 0.0, $363 = 0.0, $364 = 0.0, $365 = 0, $366 = 0.0, $367 = 0; - var $368 = 0, $369 = 0, $37 = 0.0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $38 = 0.0, $39 = 0.0, $4 = 0, $40 = 0.0, $41 = 0.0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0; - var $49 = 0, $5 = 0, $50 = 0.0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0, $59 = 0.0, $6 = 0, $60 = 0.0, $61 = 0.0, $62 = 0.0, $63 = 0.0, $64 = 0.0, $65 = 0.0, $66 = 0.0; - var $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0.0, $78 = 0, $79 = 0.0, $8 = 0, $80 = 0.0, $81 = 0.0, $82 = 0.0, $83 = 0.0, $84 = 0.0; - var $85 = 0, $86 = 0.0, $87 = 0.0, $88 = 0.0, $89 = 0, $9 = 0, $90 = 0.0, $91 = 0.0, $92 = 0, $93 = 0.0, $94 = 0.0, $95 = 0.0, $96 = 0, $97 = 0.0, $98 = 0.0, $99 = 0.0, $A0$024 = 0, $AA$0$lcssa = 0, $AA$050 = 0, $AA$144 = 0; - var $AA1$040 = 0, $B$08 = 0, $C$010 = 0, $bitrev$016 = 0, $d$0$lcssa = 0, $d$052 = 0, $d$146 = 0, $d0$039 = 0, $d05$017 = 0, $d09$04 = 0, $d1$038 = 0, $d110$05 = 0, $d16$018 = 0, $d2$06 = 0, $d3$07 = 0, $d7$011 = 0, $e$051 = 0, $e$145 = 0, $e0$037 = 0, $e1$036 = 0; - var $e11$09 = 0, $e8$012 = 0, $exitcond = 0, $exitcond60 = 0, $i$030 = 0, $i_off$023 = 0, $l$0$lcssa = 0, $l$033 = 0, $l$127 = 0, $r$022 = 0, $scevgep = 0, $scevgep61 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = $n >> 1; - $1 = $n >> 2; - $2 = $n >> 3; - $3 = ((($f)) + 108|0); - $4 = HEAP32[$3>>2]|0; - $5 = ((($f)) + 96|0); - $6 = HEAP32[$5>>2]|0; - $7 = ($6|0)==(0|0); - $8 = $0 << 2; - if ($7) { - $$alloca_mul = $8; - $10 = STACKTOP; STACKTOP = STACKTOP + ((((1*$$alloca_mul)|0)+15)&-16)|0;; - $15 = $10; - } else { - $9 = (_setup_temp_malloc($f,$8)|0); - $15 = $9; - } - $11 = (((($f)) + 1084|0) + ($blocktype<<2)|0); - $12 = HEAP32[$11>>2]|0; - $13 = (($0) + -2)|0; - $14 = (($15) + ($13<<2)|0); - $16 = (($buffer) + ($0<<2)|0); - $17 = ($0|0)==(0); - if ($17) { - $AA$0$lcssa = $12;$d$0$lcssa = $14; - } else { - $18 = $0 << 2; - $19 = (($18) + -16)|0; - $20 = $19 >>> 4; - $21 = $20 << 1; - $22 = (($21) + 2)|0; - $23 = $20 << 3; - $24 = (($19) - ($23))|0; - $scevgep61 = (($15) + ($24)|0); - $AA$050 = $12;$d$052 = $14;$e$051 = $buffer; - while(1) { - $25 = +HEAPF32[$e$051>>2]; - $26 = +HEAPF32[$AA$050>>2]; - $27 = $25 * $26; - $28 = ((($e$051)) + 8|0); - $29 = +HEAPF32[$28>>2]; - $30 = ((($AA$050)) + 4|0); - $31 = +HEAPF32[$30>>2]; - $32 = $29 * $31; - $33 = $27 - $32; - $34 = ((($d$052)) + 4|0); - HEAPF32[$34>>2] = $33; - $35 = +HEAPF32[$e$051>>2]; - $36 = +HEAPF32[$30>>2]; - $37 = $35 * $36; - $38 = +HEAPF32[$28>>2]; - $39 = +HEAPF32[$AA$050>>2]; - $40 = $38 * $39; - $41 = $37 + $40; - HEAPF32[$d$052>>2] = $41; - $42 = ((($d$052)) + -8|0); - $43 = ((($AA$050)) + 8|0); - $44 = ((($e$051)) + 16|0); - $45 = ($44|0)==($16|0); - if ($45) { - break; - } else { - $AA$050 = $43;$d$052 = $42;$e$051 = $44; - } - } - $scevgep = (($12) + ($22<<2)|0); - $AA$0$lcssa = $scevgep;$d$0$lcssa = $scevgep61; - } - $46 = ($d$0$lcssa>>>0)<($15>>>0); - if (!($46)) { - $47 = (($0) + -3)|0; - $48 = (($buffer) + ($47<<2)|0); - $AA$144 = $AA$0$lcssa;$d$146 = $d$0$lcssa;$e$145 = $48; - while(1) { - $49 = ((($e$145)) + 8|0); - $50 = +HEAPF32[$49>>2]; - $51 = +HEAPF32[$AA$144>>2]; - $52 = $50 * $51; - $53 = +HEAPF32[$e$145>>2]; - $54 = ((($AA$144)) + 4|0); - $55 = +HEAPF32[$54>>2]; - $56 = $53 * $55; - $57 = $56 - $52; - $58 = ((($d$146)) + 4|0); - HEAPF32[$58>>2] = $57; - $59 = +HEAPF32[$49>>2]; - $60 = +HEAPF32[$54>>2]; - $61 = $59 * $60; - $62 = +HEAPF32[$e$145>>2]; - $63 = +HEAPF32[$AA$144>>2]; - $64 = $62 * $63; - $65 = -$64; - $66 = $65 - $61; - HEAPF32[$d$146>>2] = $66; - $67 = ((($d$146)) + -8|0); - $68 = ((($AA$144)) + 8|0); - $69 = ((($e$145)) + -16|0); - $70 = ($67>>>0)<($15>>>0); - if ($70) { - break; - } else { - $AA$144 = $68;$d$146 = $67;$e$145 = $69; - } - } - } - $71 = (($0) + -8)|0; - $72 = ($0|0)<(8); - if (!($72)) { - $73 = (($12) + ($71<<2)|0); - $74 = (($buffer) + ($1<<2)|0); - $75 = (($15) + ($1<<2)|0); - $AA1$040 = $73;$d0$039 = $74;$d1$038 = $buffer;$e0$037 = $75;$e1$036 = $15; - while(1) { - $76 = ((($e0$037)) + 4|0); - $77 = +HEAPF32[$76>>2]; - $78 = ((($e1$036)) + 4|0); - $79 = +HEAPF32[$78>>2]; - $80 = $77 - $79; - $81 = +HEAPF32[$e0$037>>2]; - $82 = +HEAPF32[$e1$036>>2]; - $83 = $81 - $82; - $84 = $77 + $79; - $85 = ((($d0$039)) + 4|0); - HEAPF32[$85>>2] = $84; - $86 = +HEAPF32[$e0$037>>2]; - $87 = +HEAPF32[$e1$036>>2]; - $88 = $86 + $87; - HEAPF32[$d0$039>>2] = $88; - $89 = ((($AA1$040)) + 16|0); - $90 = +HEAPF32[$89>>2]; - $91 = $80 * $90; - $92 = ((($AA1$040)) + 20|0); - $93 = +HEAPF32[$92>>2]; - $94 = $83 * $93; - $95 = $91 - $94; - $96 = ((($d1$038)) + 4|0); - HEAPF32[$96>>2] = $95; - $97 = +HEAPF32[$89>>2]; - $98 = $83 * $97; - $99 = +HEAPF32[$92>>2]; - $100 = $80 * $99; - $101 = $98 + $100; - HEAPF32[$d1$038>>2] = $101; - $102 = ((($e0$037)) + 12|0); - $103 = +HEAPF32[$102>>2]; - $104 = ((($e1$036)) + 12|0); - $105 = +HEAPF32[$104>>2]; - $106 = $103 - $105; - $107 = ((($e0$037)) + 8|0); - $108 = +HEAPF32[$107>>2]; - $109 = ((($e1$036)) + 8|0); - $110 = +HEAPF32[$109>>2]; - $111 = $108 - $110; - $112 = $103 + $105; - $113 = ((($d0$039)) + 12|0); - HEAPF32[$113>>2] = $112; - $114 = +HEAPF32[$107>>2]; - $115 = +HEAPF32[$109>>2]; - $116 = $114 + $115; - $117 = ((($d0$039)) + 8|0); - HEAPF32[$117>>2] = $116; - $118 = +HEAPF32[$AA1$040>>2]; - $119 = $106 * $118; - $120 = ((($AA1$040)) + 4|0); - $121 = +HEAPF32[$120>>2]; - $122 = $111 * $121; - $123 = $119 - $122; - $124 = ((($d1$038)) + 12|0); - HEAPF32[$124>>2] = $123; - $125 = +HEAPF32[$AA1$040>>2]; - $126 = $111 * $125; - $127 = +HEAPF32[$120>>2]; - $128 = $106 * $127; - $129 = $126 + $128; - $130 = ((($d1$038)) + 8|0); - HEAPF32[$130>>2] = $129; - $131 = ((($AA1$040)) + -32|0); - $132 = ((($d0$039)) + 16|0); - $133 = ((($d1$038)) + 16|0); - $134 = ((($e0$037)) + 16|0); - $135 = ((($e1$036)) + 16|0); - $136 = ($131>>>0)<($12>>>0); - if ($136) { - break; - } else { - $AA1$040 = $131;$d0$039 = $132;$d1$038 = $133;$e0$037 = $134;$e1$036 = $135; - } - } - } - $137 = (_ilog($n)|0); - $138 = $n >> 4; - $139 = (($0) + -1)|0; - $140 = (0 - ($2))|0; - _imdct_step3_iter0_loop($138,$buffer,$139,$140,$12); - $141 = (($139) - ($1))|0; - _imdct_step3_iter0_loop($138,$buffer,$141,$140,$12); - $142 = $n >> 5; - $143 = (0 - ($138))|0; - _imdct_step3_inner_r_loop($142,$buffer,$139,$143,$12,16); - $144 = (($139) - ($2))|0; - _imdct_step3_inner_r_loop($142,$buffer,$144,$143,$12,16); - $145 = $2 << 1; - $146 = (($139) - ($145))|0; - _imdct_step3_inner_r_loop($142,$buffer,$146,$143,$12,16); - $147 = Math_imul($2, -3)|0; - $148 = (($139) + ($147))|0; - _imdct_step3_inner_r_loop($142,$buffer,$148,$143,$12,16); - $149 = (($137) + -4)|0; - $150 = $149 >> 1; - $151 = ($150|0)>(2); - if ($151) { - $l$033 = 2; - while(1) { - $156 = (($l$033) + 2)|0; - $157 = $n >> $156; - $152 = (($l$033) + 1)|0; - $158 = 1 << $152; - $159 = ($152|0)==(31); - if (!($159)) { - $160 = $157 >> 1; - $161 = (($l$033) + 4)|0; - $162 = $n >> $161; - $163 = (0 - ($160))|0; - $164 = (($l$033) + 3)|0; - $165 = 1 << $164; - $i$030 = 0; - while(1) { - $166 = Math_imul($i$030, $157)|0; - $167 = (($139) - ($166))|0; - _imdct_step3_inner_r_loop($162,$buffer,$167,$163,$12,$165); - $168 = (($i$030) + 1)|0; - $169 = ($168|0)<($158|0); - if ($169) { - $i$030 = $168; - } else { - break; - } - } - } - $exitcond60 = ($152|0)==($150|0); - if ($exitcond60) { - $l$0$lcssa = $150; - break; - } else { - $l$033 = $152; - } - } - } else { - $l$0$lcssa = 2; - } - $153 = (($137) + -7)|0; - $154 = ($l$0$lcssa|0)<($153|0); - if ($154) { - $155 = (($137) + -7)|0; - $l$127 = $l$0$lcssa; - while(1) { - $171 = (($l$127) + 2)|0; - $172 = $n >> $171; - $173 = (($l$127) + 3)|0; - $174 = 1 << $173; - $175 = (($l$127) + 6)|0; - $176 = $n >> $175; - $170 = (($l$127) + 1)|0; - $177 = 1 << $170; - $178 = ($176|0)>(0); - if ($178) { - $179 = $172 >> 1; - $180 = (0 - ($179))|0; - $181 = $174 << 2; - $A0$024 = $12;$i_off$023 = $139;$r$022 = $176; - while(1) { - _imdct_step3_inner_s_loop($177,$buffer,$i_off$023,$180,$A0$024,$174,$172); - $182 = (($A0$024) + ($181<<2)|0); - $183 = (($i_off$023) + -8)|0; - $184 = (($r$022) + -1)|0; - $185 = ($r$022|0)>(1); - if ($185) { - $A0$024 = $182;$i_off$023 = $183;$r$022 = $184; - } else { - break; - } - } - } - $exitcond = ($170|0)==($155|0); - if ($exitcond) { - break; - } else { - $l$127 = $170; - } - } - } - _imdct_step3_inner_s_loop_ld654($142,$buffer,$139,$12,$n); - $186 = (($1) + -4)|0; - $187 = (($15) + ($186<<2)|0); - $188 = (($0) + -4)|0; - $189 = (($15) + ($188<<2)|0); - $190 = ($187>>>0)<($15>>>0); - if (!($190)) { - $191 = (((($f)) + 1116|0) + ($blocktype<<2)|0); - $192 = HEAP32[$191>>2]|0; - $bitrev$016 = $192;$d05$017 = $187;$d16$018 = $189; - while(1) { - $193 = HEAP16[$bitrev$016>>1]|0; - $194 = $193&65535; - $195 = (($buffer) + ($194<<2)|0); - $196 = HEAP32[$195>>2]|0; - $197 = ((($d16$018)) + 12|0); - HEAP32[$197>>2] = $196; - $198 = (($194) + 1)|0; - $199 = (($buffer) + ($198<<2)|0); - $200 = HEAP32[$199>>2]|0; - $201 = ((($d16$018)) + 8|0); - HEAP32[$201>>2] = $200; - $202 = (($194) + 2)|0; - $203 = (($buffer) + ($202<<2)|0); - $204 = HEAP32[$203>>2]|0; - $205 = ((($d05$017)) + 12|0); - HEAP32[$205>>2] = $204; - $206 = (($194) + 3)|0; - $207 = (($buffer) + ($206<<2)|0); - $208 = HEAP32[$207>>2]|0; - $209 = ((($d05$017)) + 8|0); - HEAP32[$209>>2] = $208; - $210 = ((($bitrev$016)) + 2|0); - $211 = HEAP16[$210>>1]|0; - $212 = $211&65535; - $213 = (($buffer) + ($212<<2)|0); - $214 = HEAP32[$213>>2]|0; - $215 = ((($d16$018)) + 4|0); - HEAP32[$215>>2] = $214; - $216 = (($212) + 1)|0; - $217 = (($buffer) + ($216<<2)|0); - $218 = HEAP32[$217>>2]|0; - HEAP32[$d16$018>>2] = $218; - $219 = (($212) + 2)|0; - $220 = (($buffer) + ($219<<2)|0); - $221 = HEAP32[$220>>2]|0; - $222 = ((($d05$017)) + 4|0); - HEAP32[$222>>2] = $221; - $223 = (($212) + 3)|0; - $224 = (($buffer) + ($223<<2)|0); - $225 = HEAP32[$224>>2]|0; - HEAP32[$d05$017>>2] = $225; - $226 = ((($d05$017)) + -16|0); - $227 = ((($d16$018)) + -16|0); - $228 = ((($bitrev$016)) + 4|0); - $229 = ($226>>>0)<($15>>>0); - if ($229) { - break; - } else { - $bitrev$016 = $228;$d05$017 = $226;$d16$018 = $227; - } - } - } - $230 = ($15>>>0)<($189>>>0); - if ($230) { - $231 = (((($f)) + 1100|0) + ($blocktype<<2)|0); - $232 = HEAP32[$231>>2]|0; - $C$010 = $232;$d7$011 = $15;$e8$012 = $189; - while(1) { - $233 = +HEAPF32[$d7$011>>2]; - $234 = ((($e8$012)) + 8|0); - $235 = +HEAPF32[$234>>2]; - $236 = $233 - $235; - $237 = ((($d7$011)) + 4|0); - $238 = +HEAPF32[$237>>2]; - $239 = ((($e8$012)) + 12|0); - $240 = +HEAPF32[$239>>2]; - $241 = $238 + $240; - $242 = ((($C$010)) + 4|0); - $243 = +HEAPF32[$242>>2]; - $244 = $236 * $243; - $245 = +HEAPF32[$C$010>>2]; - $246 = $241 * $245; - $247 = $244 + $246; - $248 = $243 * $241; - $249 = $236 * $245; - $250 = $248 - $249; - $251 = $233 + $235; - $252 = $238 - $240; - $253 = $251 + $247; - HEAPF32[$d7$011>>2] = $253; - $254 = $252 + $250; - HEAPF32[$237>>2] = $254; - $255 = $251 - $247; - HEAPF32[$234>>2] = $255; - $256 = $250 - $252; - HEAPF32[$239>>2] = $256; - $257 = ((($d7$011)) + 8|0); - $258 = +HEAPF32[$257>>2]; - $259 = +HEAPF32[$e8$012>>2]; - $260 = $258 - $259; - $261 = ((($d7$011)) + 12|0); - $262 = +HEAPF32[$261>>2]; - $263 = ((($e8$012)) + 4|0); - $264 = +HEAPF32[$263>>2]; - $265 = $262 + $264; - $266 = ((($C$010)) + 12|0); - $267 = +HEAPF32[$266>>2]; - $268 = $260 * $267; - $269 = ((($C$010)) + 8|0); - $270 = +HEAPF32[$269>>2]; - $271 = $265 * $270; - $272 = $268 + $271; - $273 = $267 * $265; - $274 = $260 * $270; - $275 = $273 - $274; - $276 = $258 + $259; - $277 = $262 - $264; - $278 = $276 + $272; - HEAPF32[$257>>2] = $278; - $279 = $277 + $275; - HEAPF32[$261>>2] = $279; - $280 = $276 - $272; - HEAPF32[$e8$012>>2] = $280; - $281 = $275 - $277; - HEAPF32[$263>>2] = $281; - $282 = ((($C$010)) + 16|0); - $283 = ((($d7$011)) + 16|0); - $284 = ((($e8$012)) + -16|0); - $285 = ($283>>>0)<($284>>>0); - if ($285) { - $C$010 = $282;$d7$011 = $283;$e8$012 = $284; - } else { - break; - } - } - } - $286 = (($15) + ($71<<2)|0); - $287 = ($286>>>0)<($15>>>0); - if ($287) { - HEAP32[$3>>2] = $4; - STACKTOP = sp;return; - } - $288 = (($n) + -4)|0; - $289 = (($buffer) + ($288<<2)|0); - $290 = (($buffer) + ($188<<2)|0); - $291 = (((($f)) + 1092|0) + ($blocktype<<2)|0); - $292 = HEAP32[$291>>2]|0; - $293 = (($292) + ($71<<2)|0); - $B$08 = $293;$d09$04 = $buffer;$d110$05 = $290;$d2$06 = $16;$d3$07 = $289;$e11$09 = $286; - while(1) { - $294 = ((($e11$09)) + 24|0); - $295 = +HEAPF32[$294>>2]; - $296 = ((($B$08)) + 28|0); - $297 = +HEAPF32[$296>>2]; - $298 = $295 * $297; - $299 = ((($e11$09)) + 28|0); - $300 = +HEAPF32[$299>>2]; - $301 = ((($B$08)) + 24|0); - $302 = +HEAPF32[$301>>2]; - $303 = $300 * $302; - $304 = $298 - $303; - $305 = $295 * $302; - $306 = -$305; - $307 = $297 * $300; - $308 = $306 - $307; - HEAPF32[$d09$04>>2] = $304; - $309 = -$304; - $310 = ((($d110$05)) + 12|0); - HEAPF32[$310>>2] = $309; - HEAPF32[$d2$06>>2] = $308; - $311 = ((($d3$07)) + 12|0); - HEAPF32[$311>>2] = $308; - $312 = ((($e11$09)) + 16|0); - $313 = +HEAPF32[$312>>2]; - $314 = ((($B$08)) + 20|0); - $315 = +HEAPF32[$314>>2]; - $316 = $313 * $315; - $317 = ((($e11$09)) + 20|0); - $318 = +HEAPF32[$317>>2]; - $319 = ((($B$08)) + 16|0); - $320 = +HEAPF32[$319>>2]; - $321 = $318 * $320; - $322 = $316 - $321; - $323 = $313 * $320; - $324 = -$323; - $325 = $315 * $318; - $326 = $324 - $325; - $327 = ((($d09$04)) + 4|0); - HEAPF32[$327>>2] = $322; - $328 = -$322; - $329 = ((($d110$05)) + 8|0); - HEAPF32[$329>>2] = $328; - $330 = ((($d2$06)) + 4|0); - HEAPF32[$330>>2] = $326; - $331 = ((($d3$07)) + 8|0); - HEAPF32[$331>>2] = $326; - $332 = ((($e11$09)) + 8|0); - $333 = +HEAPF32[$332>>2]; - $334 = ((($B$08)) + 12|0); - $335 = +HEAPF32[$334>>2]; - $336 = $333 * $335; - $337 = ((($e11$09)) + 12|0); - $338 = +HEAPF32[$337>>2]; - $339 = ((($B$08)) + 8|0); - $340 = +HEAPF32[$339>>2]; - $341 = $338 * $340; - $342 = $336 - $341; - $343 = $333 * $340; - $344 = -$343; - $345 = $335 * $338; - $346 = $344 - $345; - $347 = ((($d09$04)) + 8|0); - HEAPF32[$347>>2] = $342; - $348 = -$342; - $349 = ((($d110$05)) + 4|0); - HEAPF32[$349>>2] = $348; - $350 = ((($d2$06)) + 8|0); - HEAPF32[$350>>2] = $346; - $351 = ((($d3$07)) + 4|0); - HEAPF32[$351>>2] = $346; - $352 = +HEAPF32[$e11$09>>2]; - $353 = ((($B$08)) + 4|0); - $354 = +HEAPF32[$353>>2]; - $355 = $352 * $354; - $356 = ((($e11$09)) + 4|0); - $357 = +HEAPF32[$356>>2]; - $358 = +HEAPF32[$B$08>>2]; - $359 = $357 * $358; - $360 = $355 - $359; - $361 = $352 * $358; - $362 = -$361; - $363 = $354 * $357; - $364 = $362 - $363; - $365 = ((($d09$04)) + 12|0); - HEAPF32[$365>>2] = $360; - $366 = -$360; - HEAPF32[$d110$05>>2] = $366; - $367 = ((($d2$06)) + 12|0); - HEAPF32[$367>>2] = $364; - HEAPF32[$d3$07>>2] = $364; - $368 = ((($B$08)) + -32|0); - $369 = ((($e11$09)) + -32|0); - $370 = ((($d09$04)) + 16|0); - $371 = ((($d2$06)) + 16|0); - $372 = ((($d110$05)) + -16|0); - $373 = ((($d3$07)) + -16|0); - $374 = ($369>>>0)<($15>>>0); - if ($374) { - break; - } else { - $B$08 = $368;$d09$04 = $370;$d110$05 = $372;$d2$06 = $371;$d3$07 = $373;$e11$09 = $369; - } - } - HEAP32[$3>>2] = $4; - STACKTOP = sp;return; -} -function _imdct_step3_iter0_loop($n,$e,$i_off,$k_off,$A) { - $n = $n|0; - $e = $e|0; - $i_off = $i_off|0; - $k_off = $k_off|0; - $A = $A|0; - var $$04 = 0, $$sum = 0, $0 = 0, $1 = 0, $10 = 0.0, $100 = 0.0, $101 = 0.0, $102 = 0.0, $103 = 0.0, $104 = 0.0, $105 = 0.0, $106 = 0.0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $12 = 0.0, $13 = 0.0; - var $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $2 = 0, $20 = 0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0.0, $28 = 0.0, $29 = 0, $3 = 0, $30 = 0, $31 = 0.0; - var $32 = 0, $33 = 0.0, $34 = 0.0, $35 = 0, $36 = 0.0, $37 = 0, $38 = 0.0, $39 = 0.0, $4 = 0, $40 = 0.0, $41 = 0.0, $42 = 0.0, $43 = 0.0, $44 = 0.0, $45 = 0.0, $46 = 0, $47 = 0.0, $48 = 0.0, $49 = 0.0, $5 = 0; - var $50 = 0.0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0.0, $55 = 0, $56 = 0, $57 = 0.0, $58 = 0, $59 = 0.0, $6 = 0.0, $60 = 0.0, $61 = 0, $62 = 0.0, $63 = 0, $64 = 0.0, $65 = 0.0, $66 = 0.0, $67 = 0.0, $68 = 0.0; - var $69 = 0.0, $7 = 0.0, $70 = 0.0, $71 = 0.0, $72 = 0, $73 = 0.0, $74 = 0.0, $75 = 0.0, $76 = 0.0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0.0, $80 = 0.0, $81 = 0, $82 = 0, $83 = 0.0, $84 = 0, $85 = 0.0, $86 = 0.0; - var $87 = 0, $88 = 0.0, $89 = 0, $9 = 0, $90 = 0.0, $91 = 0.0, $92 = 0.0, $93 = 0.0, $94 = 0.0, $95 = 0.0, $96 = 0.0, $97 = 0.0, $98 = 0, $99 = 0.0, $ee0$03 = 0, $ee2$01 = 0, $i$02 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = $n & 3; - $1 = ($0|0)==(0); - if (!($1)) { - ___assert_fail((22312|0),(20576|0),2084,(22328|0)); - // unreachable; - } - $2 = $n >> 2; + $2 = $0 >> 1; $3 = ($2|0)>(0); if (!($3)) { return; } - $$sum = (($k_off) + ($i_off))|0; - $4 = (($e) + ($$sum<<2)|0); - $5 = (($e) + ($i_off<<2)|0); - $$04 = $A;$ee0$03 = $5;$ee2$01 = $4;$i$02 = $2; + $4 = (+($2|0)); + $$010 = 0; while(1) { - $6 = +HEAPF32[$ee0$03>>2]; - $7 = +HEAPF32[$ee2$01>>2]; - $8 = $6 - $7; - $9 = ((($ee0$03)) + -4|0); - $10 = +HEAPF32[$9>>2]; - $11 = ((($ee2$01)) + -4|0); - $12 = +HEAPF32[$11>>2]; - $13 = $10 - $12; - $14 = $6 + $7; - HEAPF32[$ee0$03>>2] = $14; - $15 = +HEAPF32[$11>>2]; - $16 = +HEAPF32[$9>>2]; - $17 = $15 + $16; - HEAPF32[$9>>2] = $17; - $18 = +HEAPF32[$$04>>2]; - $19 = $8 * $18; - $20 = ((($$04)) + 4|0); - $21 = +HEAPF32[$20>>2]; - $22 = $13 * $21; - $23 = $19 - $22; - HEAPF32[$ee2$01>>2] = $23; - $24 = +HEAPF32[$$04>>2]; - $25 = $13 * $24; - $26 = +HEAPF32[$20>>2]; - $27 = $8 * $26; - $28 = $25 + $27; - HEAPF32[$11>>2] = $28; - $29 = ((($$04)) + 32|0); - $30 = ((($ee0$03)) + -8|0); - $31 = +HEAPF32[$30>>2]; - $32 = ((($ee2$01)) + -8|0); - $33 = +HEAPF32[$32>>2]; - $34 = $31 - $33; - $35 = ((($ee0$03)) + -12|0); - $36 = +HEAPF32[$35>>2]; - $37 = ((($ee2$01)) + -12|0); - $38 = +HEAPF32[$37>>2]; - $39 = $36 - $38; - $40 = $31 + $33; - HEAPF32[$30>>2] = $40; - $41 = +HEAPF32[$37>>2]; - $42 = +HEAPF32[$35>>2]; - $43 = $41 + $42; - HEAPF32[$35>>2] = $43; - $44 = +HEAPF32[$29>>2]; - $45 = $34 * $44; - $46 = ((($$04)) + 36|0); - $47 = +HEAPF32[$46>>2]; - $48 = $39 * $47; - $49 = $45 - $48; - HEAPF32[$32>>2] = $49; - $50 = +HEAPF32[$29>>2]; - $51 = $39 * $50; - $52 = +HEAPF32[$46>>2]; - $53 = $34 * $52; - $54 = $51 + $53; - HEAPF32[$37>>2] = $54; - $55 = ((($$04)) + 64|0); - $56 = ((($ee0$03)) + -16|0); - $57 = +HEAPF32[$56>>2]; - $58 = ((($ee2$01)) + -16|0); - $59 = +HEAPF32[$58>>2]; - $60 = $57 - $59; - $61 = ((($ee0$03)) + -20|0); - $62 = +HEAPF32[$61>>2]; - $63 = ((($ee2$01)) + -20|0); - $64 = +HEAPF32[$63>>2]; - $65 = $62 - $64; - $66 = $57 + $59; - HEAPF32[$56>>2] = $66; - $67 = +HEAPF32[$63>>2]; - $68 = +HEAPF32[$61>>2]; - $69 = $67 + $68; - HEAPF32[$61>>2] = $69; - $70 = +HEAPF32[$55>>2]; - $71 = $60 * $70; - $72 = ((($$04)) + 68|0); - $73 = +HEAPF32[$72>>2]; - $74 = $65 * $73; - $75 = $71 - $74; - HEAPF32[$58>>2] = $75; - $76 = +HEAPF32[$55>>2]; - $77 = $65 * $76; - $78 = +HEAPF32[$72>>2]; - $79 = $60 * $78; - $80 = $77 + $79; - HEAPF32[$63>>2] = $80; - $81 = ((($$04)) + 96|0); - $82 = ((($ee0$03)) + -24|0); - $83 = +HEAPF32[$82>>2]; - $84 = ((($ee2$01)) + -24|0); - $85 = +HEAPF32[$84>>2]; - $86 = $83 - $85; - $87 = ((($ee0$03)) + -28|0); - $88 = +HEAPF32[$87>>2]; - $89 = ((($ee2$01)) + -28|0); - $90 = +HEAPF32[$89>>2]; - $91 = $88 - $90; - $92 = $83 + $85; - HEAPF32[$82>>2] = $92; - $93 = +HEAPF32[$89>>2]; - $94 = +HEAPF32[$87>>2]; - $95 = $93 + $94; - HEAPF32[$87>>2] = $95; - $96 = +HEAPF32[$81>>2]; - $97 = $86 * $96; - $98 = ((($$04)) + 100|0); - $99 = +HEAPF32[$98>>2]; - $100 = $91 * $99; - $101 = $97 - $100; - HEAPF32[$84>>2] = $101; - $102 = +HEAPF32[$81>>2]; - $103 = $91 * $102; - $104 = +HEAPF32[$98>>2]; - $105 = $86 * $104; - $106 = $103 + $105; - HEAPF32[$89>>2] = $106; - $107 = ((($$04)) + 128|0); - $108 = ((($ee0$03)) + -32|0); - $109 = ((($ee2$01)) + -32|0); - $110 = (($i$02) + -1)|0; - $111 = ($i$02|0)>(1); - if ($111) { - $$04 = $107;$ee0$03 = $108;$ee2$01 = $109;$i$02 = $110; - } else { - break; - } - } - return; -} -function _imdct_step3_inner_r_loop($lim,$e,$d0,$k_off,$A,$k1) { - $lim = $lim|0; - $e = $e|0; - $d0 = $d0|0; - $k_off = $k_off|0; - $A = $A|0; - $k1 = $k1|0; - var $$09 = 0, $$sum = 0, $$sum1 = 0, $$sum2 = 0, $$sum34 = 0, $$sum5 = 0, $$sum6 = 0, $$sum7 = 0, $0 = 0, $1 = 0, $10 = 0.0, $100 = 0.0, $101 = 0.0, $102 = 0.0, $103 = 0.0, $104 = 0.0, $105 = 0, $106 = 0, $107 = 0, $108 = 0; - var $109 = 0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0, $19 = 0.0, $2 = 0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0, $28 = 0; - var $29 = 0.0, $3 = 0, $30 = 0, $31 = 0.0, $32 = 0.0, $33 = 0, $34 = 0.0, $35 = 0, $36 = 0.0, $37 = 0.0, $38 = 0.0, $39 = 0.0, $4 = 0.0, $40 = 0.0, $41 = 0.0, $42 = 0.0, $43 = 0.0, $44 = 0, $45 = 0.0, $46 = 0.0; - var $47 = 0.0, $48 = 0.0, $49 = 0.0, $5 = 0.0, $50 = 0.0, $51 = 0.0, $52 = 0.0, $53 = 0, $54 = 0, $55 = 0.0, $56 = 0, $57 = 0.0, $58 = 0.0, $59 = 0, $6 = 0.0, $60 = 0.0, $61 = 0, $62 = 0.0, $63 = 0.0, $64 = 0.0; - var $65 = 0.0, $66 = 0.0, $67 = 0.0, $68 = 0.0, $69 = 0.0, $7 = 0, $70 = 0, $71 = 0.0, $72 = 0.0, $73 = 0.0, $74 = 0.0, $75 = 0.0, $76 = 0.0, $77 = 0.0, $78 = 0.0, $79 = 0, $8 = 0.0, $80 = 0, $81 = 0.0, $82 = 0; - var $83 = 0.0, $84 = 0.0, $85 = 0, $86 = 0.0, $87 = 0, $88 = 0.0, $89 = 0.0, $9 = 0, $90 = 0.0, $91 = 0.0, $92 = 0.0, $93 = 0.0, $94 = 0.0, $95 = 0.0, $96 = 0, $97 = 0.0, $98 = 0.0, $99 = 0.0, $e0$010 = 0, $e2$011 = 0; - var $i$08 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = $lim >> 2; - $1 = ($0|0)>(0); - if (!($1)) { - return; - } - $$sum = (($k_off) + ($d0))|0; - $2 = (($e) + ($$sum<<2)|0); - $3 = (($e) + ($d0<<2)|0); - $$sum1 = (($k1) + 1)|0; - $$sum2 = $k1 << 1; - $$sum34 = $$sum2 | 1; - $$sum5 = ($k1*3)|0; - $$sum6 = (($$sum5) + 1)|0; - $$sum7 = $k1 << 2; - $$09 = $A;$e0$010 = $3;$e2$011 = $2;$i$08 = $0; - while(1) { - $4 = +HEAPF32[$e0$010>>2]; - $5 = +HEAPF32[$e2$011>>2]; - $6 = $4 - $5; - $7 = ((($e0$010)) + -4|0); - $8 = +HEAPF32[$7>>2]; - $9 = ((($e2$011)) + -4|0); - $10 = +HEAPF32[$9>>2]; - $11 = $8 - $10; - $12 = $4 + $5; - HEAPF32[$e0$010>>2] = $12; - $13 = +HEAPF32[$9>>2]; - $14 = +HEAPF32[$7>>2]; - $15 = $13 + $14; - HEAPF32[$7>>2] = $15; - $16 = +HEAPF32[$$09>>2]; - $17 = $6 * $16; - $18 = ((($$09)) + 4|0); - $19 = +HEAPF32[$18>>2]; - $20 = $11 * $19; - $21 = $17 - $20; - HEAPF32[$e2$011>>2] = $21; - $22 = +HEAPF32[$$09>>2]; - $23 = $11 * $22; - $24 = +HEAPF32[$18>>2]; - $25 = $6 * $24; - $26 = $23 + $25; - HEAPF32[$9>>2] = $26; - $27 = (($$09) + ($k1<<2)|0); - $28 = ((($e0$010)) + -8|0); - $29 = +HEAPF32[$28>>2]; - $30 = ((($e2$011)) + -8|0); - $31 = +HEAPF32[$30>>2]; - $32 = $29 - $31; - $33 = ((($e0$010)) + -12|0); - $34 = +HEAPF32[$33>>2]; - $35 = ((($e2$011)) + -12|0); - $36 = +HEAPF32[$35>>2]; - $37 = $34 - $36; - $38 = $29 + $31; - HEAPF32[$28>>2] = $38; - $39 = +HEAPF32[$35>>2]; - $40 = +HEAPF32[$33>>2]; - $41 = $39 + $40; - HEAPF32[$33>>2] = $41; - $42 = +HEAPF32[$27>>2]; - $43 = $32 * $42; - $44 = (($$09) + ($$sum1<<2)|0); - $45 = +HEAPF32[$44>>2]; - $46 = $37 * $45; - $47 = $43 - $46; - HEAPF32[$30>>2] = $47; - $48 = +HEAPF32[$27>>2]; - $49 = $37 * $48; - $50 = +HEAPF32[$44>>2]; - $51 = $32 * $50; - $52 = $49 + $51; - HEAPF32[$35>>2] = $52; - $53 = (($$09) + ($$sum2<<2)|0); - $54 = ((($e0$010)) + -16|0); - $55 = +HEAPF32[$54>>2]; - $56 = ((($e2$011)) + -16|0); - $57 = +HEAPF32[$56>>2]; - $58 = $55 - $57; - $59 = ((($e0$010)) + -20|0); - $60 = +HEAPF32[$59>>2]; - $61 = ((($e2$011)) + -20|0); - $62 = +HEAPF32[$61>>2]; - $63 = $60 - $62; - $64 = $55 + $57; - HEAPF32[$54>>2] = $64; - $65 = +HEAPF32[$61>>2]; - $66 = +HEAPF32[$59>>2]; - $67 = $65 + $66; - HEAPF32[$59>>2] = $67; - $68 = +HEAPF32[$53>>2]; - $69 = $58 * $68; - $70 = (($$09) + ($$sum34<<2)|0); - $71 = +HEAPF32[$70>>2]; - $72 = $63 * $71; - $73 = $69 - $72; - HEAPF32[$56>>2] = $73; - $74 = +HEAPF32[$53>>2]; - $75 = $63 * $74; - $76 = +HEAPF32[$70>>2]; - $77 = $58 * $76; - $78 = $75 + $77; - HEAPF32[$61>>2] = $78; - $79 = (($$09) + ($$sum5<<2)|0); - $80 = ((($e0$010)) + -24|0); - $81 = +HEAPF32[$80>>2]; - $82 = ((($e2$011)) + -24|0); - $83 = +HEAPF32[$82>>2]; - $84 = $81 - $83; - $85 = ((($e0$010)) + -28|0); - $86 = +HEAPF32[$85>>2]; - $87 = ((($e2$011)) + -28|0); - $88 = +HEAPF32[$87>>2]; - $89 = $86 - $88; - $90 = $81 + $83; - HEAPF32[$80>>2] = $90; - $91 = +HEAPF32[$87>>2]; - $92 = +HEAPF32[$85>>2]; - $93 = $91 + $92; - HEAPF32[$85>>2] = $93; - $94 = +HEAPF32[$79>>2]; - $95 = $84 * $94; - $96 = (($$09) + ($$sum6<<2)|0); - $97 = +HEAPF32[$96>>2]; - $98 = $89 * $97; - $99 = $95 - $98; - HEAPF32[$82>>2] = $99; - $100 = +HEAPF32[$79>>2]; - $101 = $89 * $100; - $102 = +HEAPF32[$96>>2]; - $103 = $84 * $102; - $104 = $101 + $103; - HEAPF32[$87>>2] = $104; - $105 = ((($e0$010)) + -32|0); - $106 = ((($e2$011)) + -32|0); - $107 = (($$09) + ($$sum7<<2)|0); - $108 = (($i$08) + -1)|0; - $109 = ($i$08|0)>(1); - if ($109) { - $$09 = $107;$e0$010 = $105;$e2$011 = $106;$i$08 = $108; - } else { - break; - } - } - return; -} -function _imdct_step3_inner_s_loop($n,$e,$i_off,$k_off,$A,$a_off,$k0) { - $n = $n|0; - $e = $e|0; - $i_off = $i_off|0; - $k_off = $k_off|0; - $A = $A|0; - $a_off = $a_off|0; - $k0 = $k0|0; - var $$sum = 0, $0 = 0.0, $1 = 0, $10 = 0.0, $100 = 0.0, $101 = 0.0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $11 = 0, $12 = 0, $13 = 0.0, $14 = 0, $15 = 0, $16 = 0.0, $17 = 0, $18 = 0, $19 = 0.0, $2 = 0.0; - var $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0, $28 = 0.0, $29 = 0, $3 = 0, $30 = 0.0, $31 = 0.0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0.0, $36 = 0.0, $37 = 0.0, $38 = 0.0; - var $39 = 0.0, $4 = 0.0, $40 = 0.0, $41 = 0.0, $42 = 0, $43 = 0.0, $44 = 0, $45 = 0.0, $46 = 0.0, $47 = 0, $48 = 0.0, $49 = 0, $5 = 0, $50 = 0.0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0.0, $55 = 0.0, $56 = 0.0; - var $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0.0, $61 = 0.0, $62 = 0, $63 = 0.0, $64 = 0, $65 = 0.0, $66 = 0.0, $67 = 0, $68 = 0.0, $69 = 0, $7 = 0.0, $70 = 0.0, $71 = 0.0, $72 = 0.0, $73 = 0.0, $74 = 0.0; - var $75 = 0.0, $76 = 0.0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0, $80 = 0.0, $81 = 0.0, $82 = 0, $83 = 0.0, $84 = 0, $85 = 0.0, $86 = 0.0, $87 = 0, $88 = 0.0, $89 = 0, $9 = 0, $90 = 0.0, $91 = 0.0, $92 = 0.0; - var $93 = 0.0, $94 = 0.0, $95 = 0.0, $96 = 0.0, $97 = 0.0, $98 = 0.0, $99 = 0.0, $ee0$02 = 0, $ee2$03 = 0, $i$01 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = +HEAPF32[$A>>2]; - $1 = ((($A)) + 4|0); - $2 = +HEAPF32[$1>>2]; - $3 = (($A) + ($a_off<<2)|0); - $4 = +HEAPF32[$3>>2]; - $5 = (($a_off) + 1)|0; - $6 = (($A) + ($5<<2)|0); - $7 = +HEAPF32[$6>>2]; - $8 = $a_off << 1; - $9 = (($A) + ($8<<2)|0); - $10 = +HEAPF32[$9>>2]; - $11 = $8 | 1; - $12 = (($A) + ($11<<2)|0); - $13 = +HEAPF32[$12>>2]; - $14 = ($a_off*3)|0; - $15 = (($A) + ($14<<2)|0); - $16 = +HEAPF32[$15>>2]; - $17 = (($14) + 1)|0; - $18 = (($A) + ($17<<2)|0); - $19 = +HEAPF32[$18>>2]; - $20 = ($n|0)>(0); - if (!($20)) { - return; - } - $$sum = (($k_off) + ($i_off))|0; - $21 = (($e) + ($$sum<<2)|0); - $22 = (($e) + ($i_off<<2)|0); - $23 = (0 - ($k0))|0; - $ee0$02 = $22;$ee2$03 = $21;$i$01 = $n; - while(1) { - $24 = +HEAPF32[$ee0$02>>2]; - $25 = +HEAPF32[$ee2$03>>2]; - $26 = $24 - $25; - $27 = ((($ee0$02)) + -4|0); - $28 = +HEAPF32[$27>>2]; - $29 = ((($ee2$03)) + -4|0); - $30 = +HEAPF32[$29>>2]; - $31 = $28 - $30; - $32 = $24 + $25; - HEAPF32[$ee0$02>>2] = $32; - $33 = +HEAPF32[$27>>2]; - $34 = +HEAPF32[$29>>2]; - $35 = $33 + $34; - HEAPF32[$27>>2] = $35; - $36 = $0 * $26; - $37 = $2 * $31; - $38 = $36 - $37; - HEAPF32[$ee2$03>>2] = $38; - $39 = $0 * $31; - $40 = $2 * $26; - $41 = $40 + $39; - HEAPF32[$29>>2] = $41; - $42 = ((($ee0$02)) + -8|0); - $43 = +HEAPF32[$42>>2]; - $44 = ((($ee2$03)) + -8|0); - $45 = +HEAPF32[$44>>2]; - $46 = $43 - $45; - $47 = ((($ee0$02)) + -12|0); - $48 = +HEAPF32[$47>>2]; - $49 = ((($ee2$03)) + -12|0); - $50 = +HEAPF32[$49>>2]; - $51 = $48 - $50; - $52 = $43 + $45; - HEAPF32[$42>>2] = $52; - $53 = +HEAPF32[$47>>2]; - $54 = +HEAPF32[$49>>2]; - $55 = $53 + $54; - HEAPF32[$47>>2] = $55; - $56 = $4 * $46; - $57 = $7 * $51; - $58 = $56 - $57; - HEAPF32[$44>>2] = $58; - $59 = $4 * $51; - $60 = $7 * $46; - $61 = $60 + $59; - HEAPF32[$49>>2] = $61; - $62 = ((($ee0$02)) + -16|0); - $63 = +HEAPF32[$62>>2]; - $64 = ((($ee2$03)) + -16|0); - $65 = +HEAPF32[$64>>2]; - $66 = $63 - $65; - $67 = ((($ee0$02)) + -20|0); - $68 = +HEAPF32[$67>>2]; - $69 = ((($ee2$03)) + -20|0); - $70 = +HEAPF32[$69>>2]; - $71 = $68 - $70; - $72 = $63 + $65; - HEAPF32[$62>>2] = $72; - $73 = +HEAPF32[$67>>2]; - $74 = +HEAPF32[$69>>2]; - $75 = $73 + $74; - HEAPF32[$67>>2] = $75; - $76 = $10 * $66; - $77 = $13 * $71; - $78 = $76 - $77; - HEAPF32[$64>>2] = $78; - $79 = $10 * $71; - $80 = $13 * $66; - $81 = $80 + $79; - HEAPF32[$69>>2] = $81; - $82 = ((($ee0$02)) + -24|0); - $83 = +HEAPF32[$82>>2]; - $84 = ((($ee2$03)) + -24|0); - $85 = +HEAPF32[$84>>2]; - $86 = $83 - $85; - $87 = ((($ee0$02)) + -28|0); - $88 = +HEAPF32[$87>>2]; - $89 = ((($ee2$03)) + -28|0); - $90 = +HEAPF32[$89>>2]; - $91 = $88 - $90; - $92 = $83 + $85; - HEAPF32[$82>>2] = $92; - $93 = +HEAPF32[$87>>2]; - $94 = +HEAPF32[$89>>2]; - $95 = $93 + $94; - HEAPF32[$87>>2] = $95; - $96 = $16 * $86; - $97 = $19 * $91; - $98 = $96 - $97; - HEAPF32[$84>>2] = $98; - $99 = $16 * $91; - $100 = $19 * $86; - $101 = $100 + $99; - HEAPF32[$89>>2] = $101; - $102 = (($ee0$02) + ($23<<2)|0); - $103 = (($ee2$03) + ($23<<2)|0); - $104 = (($i$01) + -1)|0; - $105 = ($i$01|0)>(1); - if ($105) { - $ee0$02 = $102;$ee2$03 = $103;$i$01 = $104; - } else { - break; - } - } - return; -} -function _imdct_step3_inner_s_loop_ld654($n,$e,$i_off,$A,$base_n) { - $n = $n|0; - $e = $e|0; - $i_off = $i_off|0; - $A = $A|0; - $base_n = $base_n|0; - var $$sum = 0, $0 = 0, $1 = 0, $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $2 = 0.0, $20 = 0, $21 = 0.0, $22 = 0, $23 = 0.0, $24 = 0.0, $25 = 0; - var $26 = 0.0, $27 = 0, $28 = 0.0, $29 = 0.0, $3 = 0, $30 = 0.0, $31 = 0.0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0.0, $36 = 0.0, $37 = 0.0, $38 = 0, $39 = 0.0, $4 = 0, $40 = 0, $41 = 0.0, $42 = 0.0, $43 = 0; - var $44 = 0.0, $45 = 0, $46 = 0.0, $47 = 0.0, $48 = 0.0, $49 = 0.0, $5 = 0, $50 = 0.0, $51 = 0.0, $52 = 0, $53 = 0.0, $54 = 0, $55 = 0.0, $56 = 0.0, $57 = 0, $58 = 0.0, $59 = 0, $6 = 0, $60 = 0.0, $61 = 0.0; - var $62 = 0.0, $63 = 0.0, $64 = 0.0, $65 = 0.0, $66 = 0.0, $67 = 0.0, $68 = 0.0, $69 = 0.0, $7 = 0.0, $70 = 0, $71 = 0, $8 = 0, $9 = 0.0, $z$01 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = $base_n >> 3; - $1 = (($A) + ($0<<2)|0); - $2 = +HEAPF32[$1>>2]; - $3 = $n << 4; - $$sum = (($i_off) - ($3))|0; - $4 = (($e) + ($$sum<<2)|0); - $5 = ($$sum|0)<($i_off|0); - if (!($5)) { - return; - } - $6 = (($e) + ($i_off<<2)|0); - $z$01 = $6; - while(1) { - $7 = +HEAPF32[$z$01>>2]; - $8 = ((($z$01)) + -32|0); - $9 = +HEAPF32[$8>>2]; - $10 = $7 - $9; - $11 = ((($z$01)) + -4|0); - $12 = +HEAPF32[$11>>2]; - $13 = ((($z$01)) + -36|0); - $14 = +HEAPF32[$13>>2]; - $15 = $12 - $14; - $16 = $7 + $9; - HEAPF32[$z$01>>2] = $16; - $17 = +HEAPF32[$11>>2]; - $18 = +HEAPF32[$13>>2]; - $19 = $17 + $18; - HEAPF32[$11>>2] = $19; - HEAPF32[$8>>2] = $10; - HEAPF32[$13>>2] = $15; - $20 = ((($z$01)) + -8|0); - $21 = +HEAPF32[$20>>2]; - $22 = ((($z$01)) + -40|0); - $23 = +HEAPF32[$22>>2]; - $24 = $21 - $23; - $25 = ((($z$01)) + -12|0); - $26 = +HEAPF32[$25>>2]; - $27 = ((($z$01)) + -44|0); - $28 = +HEAPF32[$27>>2]; - $29 = $26 - $28; - $30 = $21 + $23; - HEAPF32[$20>>2] = $30; - $31 = +HEAPF32[$25>>2]; - $32 = +HEAPF32[$27>>2]; - $33 = $31 + $32; - HEAPF32[$25>>2] = $33; - $34 = $24 + $29; - $35 = $2 * $34; - HEAPF32[$22>>2] = $35; - $36 = $29 - $24; - $37 = $2 * $36; - HEAPF32[$27>>2] = $37; - $38 = ((($z$01)) + -48|0); - $39 = +HEAPF32[$38>>2]; - $40 = ((($z$01)) + -16|0); - $41 = +HEAPF32[$40>>2]; - $42 = $39 - $41; - $43 = ((($z$01)) + -20|0); - $44 = +HEAPF32[$43>>2]; - $45 = ((($z$01)) + -52|0); - $46 = +HEAPF32[$45>>2]; - $47 = $44 - $46; - $48 = $39 + $41; - HEAPF32[$40>>2] = $48; - $49 = +HEAPF32[$43>>2]; - $50 = +HEAPF32[$45>>2]; - $51 = $49 + $50; - HEAPF32[$43>>2] = $51; - HEAPF32[$38>>2] = $47; - HEAPF32[$45>>2] = $42; - $52 = ((($z$01)) + -56|0); - $53 = +HEAPF32[$52>>2]; - $54 = ((($z$01)) + -24|0); - $55 = +HEAPF32[$54>>2]; - $56 = $53 - $55; - $57 = ((($z$01)) + -28|0); - $58 = +HEAPF32[$57>>2]; - $59 = ((($z$01)) + -60|0); - $60 = +HEAPF32[$59>>2]; - $61 = $58 - $60; - $62 = $53 + $55; - HEAPF32[$54>>2] = $62; - $63 = +HEAPF32[$57>>2]; - $64 = +HEAPF32[$59>>2]; - $65 = $63 + $64; - HEAPF32[$57>>2] = $65; - $66 = $56 + $61; - $67 = $2 * $66; - HEAPF32[$52>>2] = $67; - $68 = $56 - $61; - $69 = $2 * $68; - HEAPF32[$59>>2] = $69; - _iter_54($z$01); - _iter_54($8); - $70 = ((($z$01)) + -64|0); - $71 = ($70>>>0)>($4>>>0); - if ($71) { - $z$01 = $70; - } else { - break; - } - } - return; -} -function _iter_54($z) { - $z = $z|0; - var $0 = 0.0, $1 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $2 = 0.0, $20 = 0, $21 = 0.0, $22 = 0, $23 = 0.0, $24 = 0.0, $25 = 0.0, $26 = 0.0; - var $27 = 0.0, $28 = 0.0, $29 = 0.0, $3 = 0.0, $30 = 0.0, $31 = 0.0, $32 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $0 = +HEAPF32[$z>>2]; - $1 = ((($z)) + -16|0); - $2 = +HEAPF32[$1>>2]; - $3 = $0 - $2; - $4 = $0 + $2; - $5 = ((($z)) + -8|0); - $6 = +HEAPF32[$5>>2]; - $7 = ((($z)) + -24|0); - $8 = +HEAPF32[$7>>2]; - $9 = $6 + $8; - $10 = $6 - $8; - $11 = $4 + $9; - HEAPF32[$z>>2] = $11; - $12 = $4 - $9; - HEAPF32[$5>>2] = $12; - $13 = ((($z)) + -12|0); - $14 = +HEAPF32[$13>>2]; - $15 = ((($z)) + -28|0); - $16 = +HEAPF32[$15>>2]; - $17 = $14 - $16; - $18 = $3 + $17; - HEAPF32[$1>>2] = $18; - $19 = $3 - $17; - HEAPF32[$7>>2] = $19; - $20 = ((($z)) + -4|0); - $21 = +HEAPF32[$20>>2]; - $22 = ((($z)) + -20|0); - $23 = +HEAPF32[$22>>2]; - $24 = $21 - $23; - $25 = $21 + $23; - $26 = +HEAPF32[$13>>2]; - $27 = +HEAPF32[$15>>2]; - $28 = $26 + $27; - $29 = $25 + $28; - HEAPF32[$20>>2] = $29; - $30 = $25 - $28; - HEAPF32[$13>>2] = $30; - $31 = $24 - $10; - HEAPF32[$22>>2] = $31; - $32 = $10 + $24; - HEAPF32[$15>>2] = $32; - return; -} -function _draw_line($output,$x0,$y0,$x1,$y1,$n) { - $output = $output|0; - $x0 = $x0|0; - $y0 = $y0|0; - $x1 = $x1|0; - $y1 = $y1|0; - $n = $n|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0.0, $12 = 0, $13 = 0.0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0.0, $23 = 0, $24 = 0.0, $25 = 0.0, $3 = 0; - var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $err$05 = 0, $err$1 = 0, $exitcond = 0, $ispos = 0, $ispos1 = 0, $n$x1 = 0, $neg = 0, $neg2 = 0, $sy$0 = 0, $sy$0$pn = 0, $x$0 = 0, $x$03 = 0, $x$06 = 0, $y$04 = 0; - var $y$1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (($y1) - ($y0))|0; - $1 = (($x1) - ($x0))|0; - $ispos = ($0|0)>(-1); - $neg = (0 - ($0))|0; - $2 = $ispos ? $0 : $neg; - $3 = (($0|0) / ($1|0))&-1; - $4 = $0 >> 31; - $5 = $4 | 1; - $ispos1 = ($3|0)>(-1); - $neg2 = (0 - ($3))|0; - $6 = $ispos1 ? $3 : $neg2; - $7 = Math_imul($6, $1)|0; - $8 = (($2) - ($7))|0; - $9 = ($x1|0)>($n|0); - $n$x1 = $9 ? $n : $x1; - $10 = (22352 + ($y0<<2)|0); - $11 = +HEAPF32[$10>>2]; - $12 = (($output) + ($x0<<2)|0); - $13 = +HEAPF32[$12>>2]; - $14 = $11 * $13; - HEAPF32[$12>>2] = $14; - $x$03 = (($x0) + 1)|0; - $15 = ($x$03|0)<($n$x1|0); - if (!($15)) { - return; - } - $16 = ($n|0)<($x1|0); - $17 = $16 ? $n : $x1; - $err$05 = 0;$x$06 = $x$03;$y$04 = $y0; - while(1) { - $18 = (($err$05) + ($8))|0; - $19 = ($18|0)<($1|0); - $sy$0 = $19 ? 0 : $5; - $20 = $19 ? 0 : $1; - $err$1 = (($18) - ($20))|0; - $sy$0$pn = (($y$04) + ($3))|0; - $y$1 = (($sy$0$pn) + ($sy$0))|0; - $21 = (22352 + ($y$1<<2)|0); - $22 = +HEAPF32[$21>>2]; - $23 = (($output) + ($x$06<<2)|0); - $24 = +HEAPF32[$23>>2]; - $25 = $22 * $24; - HEAPF32[$23>>2] = $25; - $x$0 = (($x$06) + 1)|0; - $exitcond = ($x$0|0)==($17|0); + $5 = (+($$010|0)); + $6 = $5 + 0.5; + $7 = $6 / $4; + $8 = $7 * 0.5; + $9 = $8 * 3.1415927410125732; + $10 = (+Math_sin((+$9))); + $11 = $10; + $12 = (+_square($11)); + $13 = $12; + $14 = $13 * 1.5707963705062866; + $15 = (+Math_sin((+$14))); + $16 = $15; + $17 = (($1) + ($$010<<2)|0); + HEAPF32[$17>>2] = $16; + $18 = (($$010) + 1)|0; + $exitcond = ($18|0)==($2|0); if ($exitcond) { break; } else { - $err$05 = $err$1;$x$06 = $x$0;$y$04 = $y$1; + $$010 = $18; } } return; } -function _make_block_array($mem,$count,$size) { - $mem = $mem|0; - $count = $count|0; - $size = $size|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $exitcond = 0, $i$01 = 0, $q$02 = 0, label = 0, sp = 0; +function _compute_bitreverse($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$013 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = ($count|0)>(0); - if (!($0)) { - return ($mem|0); + $2 = $0 >> 3; + $3 = ($2|0)>(0); + if (!($3)) { + return; } - $1 = (($mem) + ($count<<2)|0); - $i$01 = 0;$q$02 = $1; + $4 = (_ilog($0)|0); + $5 = (36 - ($4))|0; + $$013 = 0; while(1) { - $2 = (($mem) + ($i$01<<2)|0); - HEAP32[$2>>2] = $q$02; - $3 = (($q$02) + ($size)|0); - $4 = (($i$01) + 1)|0; - $exitcond = ($4|0)==($count|0); + $6 = (_bit_reverse($$013)|0); + $7 = $6 >>> $5; + $8 = $7 << 2; + $9 = $8&65535; + $10 = (($1) + ($$013<<1)|0); + HEAP16[$10>>1] = $9; + $11 = (($$013) + 1)|0; + $exitcond = ($11|0)==($2|0); if ($exitcond) { break; } else { - $i$01 = $4;$q$02 = $3; + $$013 = $11; } } - return ($mem|0); + return; } -function _codebook_decode_deinterleave_repeat_2($f,$c,$outputs,$c_inter_p,$p_inter_p,$len,$total_decode) { - $f = $f|0; - $c = $c|0; - $outputs = $outputs|0; - $c_inter_p = $c_inter_p|0; - $p_inter_p = $p_inter_p|0; - $len = $len|0; - $total_decode = $total_decode|0; - var $$ = 0, $$0 = 0, $$0121 = 0, $$3 = 0, $$4 = 0, $$p_inter$1 = 0, $$p_inter$4 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0; - var $11 = 0, $110 = 0, $111 = 0.0, $112 = 0.0, $113 = 0, $114 = 0.0, $115 = 0.0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0; - var $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0; - var $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0.0; - var $56 = 0.0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0.0, $62 = 0.0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0.0; - var $74 = 0.0, $75 = 0, $76 = 0.0, $77 = 0.0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0.0, $9 = 0, $90 = 0.0, $91 = 0; - var $92 = 0.0, $93 = 0.0, $94 = 0, $95 = 0.0, $96 = 0.0, $97 = 0, $98 = 0.0, $99 = 0.0, $c_inter$0$lcssa = 0, $c_inter$020 = 0, $c_inter$111 = 0, $c_inter$3 = 0, $c_inter$4 = 0, $effective$018 = 0, $effective$1 = 0, $exitcond = 0, $i$09 = 0, $i$1 = 0, $i$2$lcssa = 0, $i$213 = 0; - var $last$08 = 0.0, $p_inter$0$lcssa = 0, $p_inter$019 = 0, $p_inter$110 = 0, $p_inter$3 = 0, $p_inter$4$lcssa = 0, $p_inter$414 = 0, $p_inter$5 = 0, $z$0 = 0, label = 0, sp = 0; +function _square($0) { + $0 = +$0; + var $1 = 0.0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[$c_inter_p>>2]|0; - $1 = HEAP32[$p_inter_p>>2]|0; - $2 = HEAP32[$c>>2]|0; - $3 = ((($c)) + 21|0); - $4 = HEAP8[$3>>0]|0; - $5 = ($4<<24>>24)==(0); - if ($5) { - _error($f,21); - $$0 = 0; - return ($$0|0); - } - $6 = ($total_decode|0)>(0); - L5: do { - if ($6) { - $7 = ((($f)) + 1412|0); - $8 = ((($f)) + 1408|0); - $9 = ((($c)) + 8|0); - $10 = $len << 1; - $11 = ((($c)) + 22|0); - $12 = ((($c)) + 28|0); - $13 = ((($outputs)) + 4|0); - $14 = ((($c)) + 28|0); - $15 = ((($c)) + 28|0); - $16 = ((($c)) + 28|0); - $$0121 = $total_decode;$c_inter$020 = $0;$effective$018 = $2;$p_inter$019 = $1; - while(1) { - $17 = HEAP32[$7>>2]|0; - $18 = ($17|0)<(10); - if ($18) { - _prep_huffman($f); - } - $19 = HEAP32[$8>>2]|0; - $20 = $19 & 1023; - $21 = (((($c)) + 36|0) + ($20<<1)|0); - $22 = HEAP16[$21>>1]|0; - $23 = $22 << 16 >> 16; - $24 = ($22<<16>>16)>(-1); - if ($24) { - $25 = HEAP32[$9>>2]|0; - $26 = (($25) + ($23)|0); - $27 = HEAP8[$26>>0]|0; - $28 = $27&255; - $29 = $19 >>> $28; - HEAP32[$8>>2] = $29; - $30 = HEAP32[$7>>2]|0; - $31 = (($30) - ($28))|0; - $32 = ($31|0)<(0); - $$ = $32 ? 0 : $31; - HEAP32[$7>>2] = $$; - if ($32) { - break; - } else { - $z$0 = $23; - } - } else { - $33 = (_codebook_decode_scalar_raw($f,$c)|0); - $z$0 = $33; - } - $34 = ($z$0|0)<(0); - if ($34) { - break; - } - $41 = $p_inter$019 << 1; - $42 = (($41) + ($effective$018))|0; - $43 = (($42) + ($c_inter$020))|0; - $44 = ($43|0)>($10|0); - $45 = (($10) - ($41))|0; - $46 = (($45) + ($c_inter$020))|0; - $effective$1 = $44 ? $46 : $effective$018; - $47 = HEAP32[$c>>2]|0; - $48 = Math_imul($47, $z$0)|0; - $49 = HEAP8[$11>>0]|0; - $50 = ($49<<24>>24)==(0); - if ($50) { - $67 = ($c_inter$020|0)==(1); - if ($67) { - $68 = (($outputs) + ($c_inter$020<<2)|0); - $69 = HEAP32[$68>>2]|0; - $70 = ($69|0)==(0|0); - if (!($70)) { - $71 = HEAP32[$12>>2]|0; - $72 = (($71) + ($48<<2)|0); - $73 = +HEAPF32[$72>>2]; - $74 = $73 + 0.0; - $75 = (($69) + ($p_inter$019<<2)|0); - $76 = +HEAPF32[$75>>2]; - $77 = $76 + $74; - HEAPF32[$75>>2] = $77; - } - $78 = (($p_inter$019) + 1)|0; - $c_inter$3 = 0;$i$1 = 1;$p_inter$3 = $78; - } else { - $c_inter$3 = $c_inter$020;$i$1 = 0;$p_inter$3 = $p_inter$019; - } - $79 = HEAP32[$outputs>>2]|0; - $80 = HEAP32[$13>>2]|0; - $81 = (($i$1) + 1)|0; - $82 = ($81|0)<($effective$1|0); - if ($82) { - $83 = HEAP32[$15>>2]|0; - $84 = ($79|0)==(0|0); - $85 = ($80|0)==(0|0); - $i$213 = $i$1;$p_inter$414 = $p_inter$3; - while(1) { - $86 = (($i$213) + ($48))|0; - $87 = (($86) + 1)|0; - $88 = (($83) + ($87<<2)|0); - $89 = +HEAPF32[$88>>2]; - $90 = $89 + 0.0; - if (!($84)) { - $91 = (($83) + ($86<<2)|0); - $92 = +HEAPF32[$91>>2]; - $93 = $92 + 0.0; - $94 = (($79) + ($p_inter$414<<2)|0); - $95 = +HEAPF32[$94>>2]; - $96 = $95 + $93; - HEAPF32[$94>>2] = $96; - } - if (!($85)) { - $97 = (($80) + ($p_inter$414<<2)|0); - $98 = +HEAPF32[$97>>2]; - $99 = $90 + $98; - HEAPF32[$97>>2] = $99; - } - $100 = (($p_inter$414) + 1)|0; - $101 = (($i$213) + 2)|0; - $102 = (($i$213) + 3)|0; - $103 = ($102|0)<($effective$1|0); - if ($103) { - $i$213 = $101;$p_inter$414 = $100; - } else { - $i$2$lcssa = $101;$p_inter$4$lcssa = $100; - break; - } - } - } else { - $i$2$lcssa = $i$1;$p_inter$4$lcssa = $p_inter$3; - } - $104 = ($i$2$lcssa|0)<($effective$1|0); - if ($104) { - $105 = (($outputs) + ($c_inter$3<<2)|0); - $106 = HEAP32[$105>>2]|0; - $107 = ($106|0)==(0|0); - if (!($107)) { - $108 = HEAP32[$14>>2]|0; - $109 = (($i$2$lcssa) + ($48))|0; - $110 = (($108) + ($109<<2)|0); - $111 = +HEAPF32[$110>>2]; - $112 = $111 + 0.0; - $113 = (($106) + ($p_inter$4$lcssa<<2)|0); - $114 = +HEAPF32[$113>>2]; - $115 = $114 + $112; - HEAPF32[$113>>2] = $115; - } - $116 = (($c_inter$3) + 1)|0; - $117 = ($116|0)==(2); - $118 = $117&1; - $$p_inter$4 = (($p_inter$4$lcssa) + ($118))|0; - $$4 = $117 ? 0 : $116; - $c_inter$4 = $$4;$p_inter$5 = $$p_inter$4; - } else { - $c_inter$4 = $c_inter$3;$p_inter$5 = $p_inter$4$lcssa; - } - } else { - $51 = ($effective$1|0)>(0); - if ($51) { - $52 = HEAP32[$16>>2]|0; - $c_inter$111 = $c_inter$020;$i$09 = 0;$last$08 = 0.0;$p_inter$110 = $p_inter$019; - while(1) { - $53 = (($i$09) + ($48))|0; - $54 = (($52) + ($53<<2)|0); - $55 = +HEAPF32[$54>>2]; - $56 = $last$08 + $55; - $57 = (($outputs) + ($c_inter$111<<2)|0); - $58 = HEAP32[$57>>2]|0; - $59 = ($58|0)==(0|0); - if (!($59)) { - $60 = (($58) + ($p_inter$110<<2)|0); - $61 = +HEAPF32[$60>>2]; - $62 = $56 + $61; - HEAPF32[$60>>2] = $62; - } - $63 = (($c_inter$111) + 1)|0; - $64 = ($63|0)==(2); - $65 = $64&1; - $$p_inter$1 = (($65) + ($p_inter$110))|0; - $$3 = $64 ? 0 : $63; - $66 = (($i$09) + 1)|0; - $exitcond = ($66|0)==($effective$1|0); - if ($exitcond) { - $c_inter$4 = $$3;$p_inter$5 = $$p_inter$1; - break; - } else { - $c_inter$111 = $$3;$i$09 = $66;$last$08 = $56;$p_inter$110 = $$p_inter$1; - } - } - } else { - $c_inter$4 = $c_inter$020;$p_inter$5 = $p_inter$019; - } - } - $119 = (($$0121) - ($effective$1))|0; - $120 = ($119|0)>(0); - if ($120) { - $$0121 = $119;$c_inter$020 = $c_inter$4;$effective$018 = $effective$1;$p_inter$019 = $p_inter$5; - } else { - $c_inter$0$lcssa = $c_inter$4;$p_inter$0$lcssa = $p_inter$5; - break L5; - } - } - $35 = ((($f)) + 1392|0); - $36 = HEAP8[$35>>0]|0; - $37 = ($36<<24>>24)==(0); - if ($37) { - $38 = ((($f)) + 1400|0); - $39 = HEAP32[$38>>2]|0; - $40 = ($39|0)==(0); - if (!($40)) { - $$0 = 0; - return ($$0|0); - } - } - _error($f,21); - $$0 = 0; - return ($$0|0); - } else { - $c_inter$0$lcssa = $0;$p_inter$0$lcssa = $1; - } - } while(0); - HEAP32[$c_inter_p>>2] = $c_inter$0$lcssa; - HEAP32[$p_inter_p>>2] = $p_inter$0$lcssa; - $$0 = 1; - return ($$0|0); + $1 = $0 * $0; + return (+$1); } -function _codebook_decode_deinterleave_repeat($f,$c,$outputs,$ch,$c_inter_p,$p_inter_p,$len,$total_decode) { - $f = $f|0; - $c = $c|0; - $outputs = $outputs|0; - $ch = $ch|0; - $c_inter_p = $c_inter_p|0; - $p_inter_p = $p_inter_p|0; - $len = $len|0; - $total_decode = $total_decode|0; - var $$ = 0, $$0 = 0, $$0126 = 0, $$2 = 0, $$3 = 0, $$4 = 0, $$p_inter$1 = 0, $$p_inter$3 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0; - var $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0; - var $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0; - var $56 = 0, $57 = 0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0.0, $65 = 0.0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0; - var $74 = 0, $75 = 0, $76 = 0.0, $77 = 0.0, $78 = 0, $79 = 0.0, $8 = 0, $80 = 0.0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $9 = 0, $c_inter$0$lcssa = 0, $c_inter$025 = 0, $c_inter$115 = 0, $c_inter$319 = 0, $c_inter$5 = 0; - var $effective$024 = 0, $effective$1 = 0, $exitcond = 0, $exitcond30 = 0, $i$013 = 0, $i$118 = 0, $last$014 = 0.0, $p_inter$0$lcssa = 0, $p_inter$023 = 0, $p_inter$112 = 0, $p_inter$317 = 0, $p_inter$5 = 0, $z$0 = 0, label = 0, sp = 0; +function _include_in_sort($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$$ = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $narrow = 0, $not$ = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[$c_inter_p>>2]|0; - $1 = HEAP32[$p_inter_p>>2]|0; - $2 = HEAP32[$c>>2]|0; - $3 = ((($c)) + 21|0); - $4 = HEAP8[$3>>0]|0; - $5 = ($4<<24>>24)==(0); - if ($5) { - _error($f,21); - $$0 = 0; - return ($$0|0); - } - $6 = ($total_decode|0)>(0); - L5: do { - if ($6) { - $7 = ((($f)) + 1412|0); - $8 = ((($f)) + 1408|0); - $9 = ((($c)) + 8|0); - $10 = ((($c)) + 23|0); - $11 = Math_imul($len, $ch)|0; - $12 = ((($c)) + 22|0); - $13 = ((($c)) + 28|0); - $14 = ((($c)) + 28|0); - $15 = ((($c)) + 2092|0); - $$0126 = $total_decode;$c_inter$025 = $0;$effective$024 = $2;$p_inter$023 = $1; - while(1) { - $16 = HEAP32[$7>>2]|0; - $17 = ($16|0)<(10); - if ($17) { - _prep_huffman($f); - } - $18 = HEAP32[$8>>2]|0; - $19 = $18 & 1023; - $20 = (((($c)) + 36|0) + ($19<<1)|0); - $21 = HEAP16[$20>>1]|0; - $22 = $21 << 16 >> 16; - $23 = ($21<<16>>16)>(-1); - if ($23) { - $24 = HEAP32[$9>>2]|0; - $25 = (($24) + ($22)|0); - $26 = HEAP8[$25>>0]|0; - $27 = $26&255; - $28 = $18 >>> $27; - HEAP32[$8>>2] = $28; - $29 = HEAP32[$7>>2]|0; - $30 = (($29) - ($27))|0; - $31 = ($30|0)<(0); - $$ = $31 ? 0 : $30; - HEAP32[$7>>2] = $$; - $$2 = $31 ? -1 : $22; - $z$0 = $$2; - } else { - $32 = (_codebook_decode_scalar_raw($f,$c)|0); - $z$0 = $32; - } - $33 = HEAP8[$10>>0]|0; - $34 = ($33<<24>>24)==(0); - if (!($34)) { - $35 = HEAP32[$15>>2]|0; - $36 = ($z$0|0)<($35|0); - if (!($36)) { - label = 12; - break; - } - } - $37 = ($z$0|0)<(0); - if ($37) { - break; - } - $44 = Math_imul($p_inter$023, $ch)|0; - $45 = (($effective$024) + ($44))|0; - $46 = (($45) + ($c_inter$025))|0; - $47 = ($46|0)>($11|0); - $48 = (($11) - ($44))|0; - $49 = (($48) + ($c_inter$025))|0; - $effective$1 = $47 ? $49 : $effective$024; - $50 = HEAP32[$c>>2]|0; - $51 = Math_imul($50, $z$0)|0; - $52 = HEAP8[$12>>0]|0; - $53 = ($52<<24>>24)==(0); - $54 = ($effective$1|0)>(0); - if ($53) { - if ($54) { - $c_inter$319 = $c_inter$025;$i$118 = 0;$p_inter$317 = $p_inter$023; - while(1) { - $70 = (($outputs) + ($c_inter$319<<2)|0); - $71 = HEAP32[$70>>2]|0; - $72 = ($71|0)==(0|0); - if (!($72)) { - $73 = HEAP32[$13>>2]|0; - $74 = (($i$118) + ($51))|0; - $75 = (($73) + ($74<<2)|0); - $76 = +HEAPF32[$75>>2]; - $77 = $76 + 0.0; - $78 = (($71) + ($p_inter$317<<2)|0); - $79 = +HEAPF32[$78>>2]; - $80 = $79 + $77; - HEAPF32[$78>>2] = $80; - } - $81 = (($c_inter$319) + 1)|0; - $82 = ($81|0)==($ch|0); - $83 = $82&1; - $$p_inter$3 = (($83) + ($p_inter$317))|0; - $$4 = $82 ? 0 : $81; - $84 = (($i$118) + 1)|0; - $exitcond30 = ($84|0)==($effective$1|0); - if ($exitcond30) { - $c_inter$5 = $$4;$p_inter$5 = $$p_inter$3; - break; - } else { - $c_inter$319 = $$4;$i$118 = $84;$p_inter$317 = $$p_inter$3; - } - } - } else { - $c_inter$5 = $c_inter$025;$p_inter$5 = $p_inter$023; - } - } else { - if ($54) { - $55 = HEAP32[$14>>2]|0; - $c_inter$115 = $c_inter$025;$i$013 = 0;$last$014 = 0.0;$p_inter$112 = $p_inter$023; - while(1) { - $56 = (($i$013) + ($51))|0; - $57 = (($55) + ($56<<2)|0); - $58 = +HEAPF32[$57>>2]; - $59 = $last$014 + $58; - $60 = (($outputs) + ($c_inter$115<<2)|0); - $61 = HEAP32[$60>>2]|0; - $62 = ($61|0)==(0|0); - if (!($62)) { - $63 = (($61) + ($p_inter$112<<2)|0); - $64 = +HEAPF32[$63>>2]; - $65 = $59 + $64; - HEAPF32[$63>>2] = $65; - } - $66 = (($c_inter$115) + 1)|0; - $67 = ($66|0)==($ch|0); - $68 = $67&1; - $$p_inter$1 = (($68) + ($p_inter$112))|0; - $$3 = $67 ? 0 : $66; - $69 = (($i$013) + 1)|0; - $exitcond = ($69|0)==($effective$1|0); - if ($exitcond) { - $c_inter$5 = $$3;$p_inter$5 = $$p_inter$1; - break; - } else { - $c_inter$115 = $$3;$i$013 = $69;$last$014 = $59;$p_inter$112 = $$p_inter$1; - } - } - } else { - $c_inter$5 = $c_inter$025;$p_inter$5 = $p_inter$023; - } - } - $85 = (($$0126) - ($effective$1))|0; - $86 = ($85|0)>(0); - if ($86) { - $$0126 = $85;$c_inter$025 = $c_inter$5;$effective$024 = $effective$1;$p_inter$023 = $p_inter$5; - } else { - $c_inter$0$lcssa = $c_inter$5;$p_inter$0$lcssa = $p_inter$5; - break L5; - } - } - if ((label|0) == 12) { - ___assert_fail((23424|0),(20576|0),1431,(23464|0)); - // unreachable; - } - $38 = ((($f)) + 1392|0); - $39 = HEAP8[$38>>0]|0; - $40 = ($39<<24>>24)==(0); - if ($40) { - $41 = ((($f)) + 1400|0); - $42 = HEAP32[$41>>2]|0; - $43 = ($42|0)==(0); - if (!($43)) { - $$0 = 0; - return ($$0|0); - } - } - _error($f,21); - $$0 = 0; - return ($$0|0); - } else { - $c_inter$0$lcssa = $0;$p_inter$0$lcssa = $1; - } - } while(0); - HEAP32[$c_inter_p>>2] = $c_inter$0$lcssa; - HEAP32[$p_inter_p>>2] = $p_inter$0$lcssa; - $$0 = 1; - return ($$0|0); -} -function _residue_decode($f,$book,$target,$offset,$n,$rtype) { - $f = $f|0; - $book = $book|0; - $target = $target|0; - $offset = $offset|0; - $n = $n|0; - $rtype = $rtype|0; - var $$0 = 0, $$017 = 0, $$sum = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0; - var $7 = 0, $8 = 0, $9 = 0, $k$04 = 0, $k$18 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ($rtype|0)==(0); - if ($0) { - $2 = HEAP32[$book>>2]|0; - $3 = (($n|0) / ($2|0))&-1; - $4 = ($3|0)>(0); - if (!($4)) { - $$0 = 1; - return ($$0|0); - } - $5 = (($n) - ($offset))|0; - $k$04 = 0; - while(1) { - $$sum = (($k$04) + ($offset))|0; - $8 = (($target) + ($$sum<<2)|0); - $9 = (($5) - ($k$04))|0; - $10 = (_codebook_decode_step($f,$book,$8,$9,$3)|0); - $11 = ($10|0)==(0); - $6 = (($k$04) + 1)|0; - if ($11) { - $$0 = 0; - label = 10; - break; - } - $7 = ($6|0)<($3|0); - if ($7) { - $k$04 = $6; - } else { - $$0 = 1; - label = 10; - break; - } - } - if ((label|0) == 10) { - return ($$0|0); - } - } else { - $1 = ($n|0)>(0); - if (!($1)) { - $$0 = 1; - return ($$0|0); - } - $$017 = $offset;$k$18 = 0; - while(1) { - $12 = (($target) + ($$017<<2)|0); - $13 = (($n) - ($k$18))|0; - $14 = (_codebook_decode($f,$book,$12,$13)|0); - $15 = ($14|0)==(0); - if ($15) { - $$0 = 0; - label = 10; - break; - } - $16 = HEAP32[$book>>2]|0; - $17 = (($16) + ($k$18))|0; - $18 = (($16) + ($$017))|0; - $19 = ($17|0)<($n|0); - if ($19) { - $$017 = $18;$k$18 = $17; - } else { - $$0 = 1; - label = 10; - break; - } - } - if ((label|0) == 10) { - return ($$0|0); - } - } - return (0)|0; -} -function _codebook_decode_step($f,$c,$output,$len,$step) { - $f = $f|0; - $c = $c|0; - $output = $output|0; - $len = $len|0; - $step = $step|0; - var $$0 = 0, $$len = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0.0, $16 = 0.0, $17 = 0, $18 = 0, $19 = 0.0, $2 = 0, $20 = 0.0, $21 = 0, $3 = 0, $4 = 0, $5 = 0; - var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $i$02 = 0, $last$0$ = 0.0, $last$03 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_codebook_decode_start($f,$c)|0); - $1 = ($0|0)<(0); - if ($1) { - $$0 = 0; - return ($$0|0); - } - $2 = HEAP32[$c>>2]|0; - $3 = ($2|0)<($len|0); - $$len = $3 ? $2 : $len; - $4 = Math_imul($2, $0)|0; - $5 = ($$len|0)>(0); - if (!($5)) { - $$0 = 1; - return ($$0|0); - } - $6 = ((($c)) + 28|0); - $7 = HEAP32[$6>>2]|0; - $8 = ((($c)) + 22|0); - $9 = HEAP8[$8>>0]|0; - $10 = ($9<<24>>24)==(0); - $11 = ($2|0)<($len|0); - $12 = $11 ? $2 : $len; - $i$02 = 0;$last$03 = 0.0; - while(1) { - $13 = (($i$02) + ($4))|0; - $14 = (($7) + ($13<<2)|0); - $15 = +HEAPF32[$14>>2]; - $16 = $last$03 + $15; - $17 = Math_imul($i$02, $step)|0; - $18 = (($output) + ($17<<2)|0); - $19 = +HEAPF32[$18>>2]; - $20 = $19 + $16; - HEAPF32[$18>>2] = $20; - $last$0$ = $10 ? $last$03 : $16; - $21 = (($i$02) + 1)|0; - $exitcond = ($21|0)==($12|0); - if ($exitcond) { - $$0 = 1; - break; - } else { - $i$02 = $21;$last$03 = $last$0$; - } - } - return ($$0|0); -} -function _codebook_decode($f,$c,$output,$len) { - $f = $f|0; - $c = $c|0; - $output = $output|0; - $len = $len|0; - var $$0 = 0, $$len = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0.0, $21 = 0.0, $22 = 0, $23 = 0.0, $24 = 0.0; - var $25 = 0.0, $26 = 0.0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0.0, $31 = 0.0, $32 = 0, $33 = 0.0, $34 = 0.0, $35 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond9 = 0; - var $i$05 = 0, $i$14 = 0, $last$06 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_codebook_decode_start($f,$c)|0); - $1 = ($0|0)<(0); - if ($1) { - $$0 = 0; - return ($$0|0); - } - $2 = HEAP32[$c>>2]|0; - $3 = ($2|0)<($len|0); - $$len = $3 ? $2 : $len; - $4 = Math_imul($2, $0)|0; - $5 = ((($c)) + 22|0); - $6 = HEAP8[$5>>0]|0; - $7 = ($6<<24>>24)==(0); - $8 = ($$len|0)>(0); - if ($7) { - if (!($8)) { - $$0 = 1; - return ($$0|0); - } - $14 = ((($c)) + 28|0); - $15 = HEAP32[$14>>2]|0; - $16 = ($2|0)<($len|0); - $17 = $16 ? $2 : $len; - $i$14 = 0; - while(1) { - $28 = (($i$14) + ($4))|0; - $29 = (($15) + ($28<<2)|0); - $30 = +HEAPF32[$29>>2]; - $31 = $30 + 0.0; - $32 = (($output) + ($i$14<<2)|0); - $33 = +HEAPF32[$32>>2]; - $34 = $33 + $31; - HEAPF32[$32>>2] = $34; - $35 = (($i$14) + 1)|0; - $exitcond = ($35|0)==($17|0); - if ($exitcond) { - $$0 = 1; - break; - } else { - $i$14 = $35; - } - } - return ($$0|0); - } else { - if (!($8)) { - $$0 = 1; - return ($$0|0); - } - $9 = ((($c)) + 28|0); - $10 = HEAP32[$9>>2]|0; - $11 = ((($c)) + 12|0); - $12 = ($2|0)<($len|0); - $13 = $12 ? $2 : $len; - $i$05 = 0;$last$06 = 0.0; - while(1) { - $18 = (($i$05) + ($4))|0; - $19 = (($10) + ($18<<2)|0); - $20 = +HEAPF32[$19>>2]; - $21 = $last$06 + $20; - $22 = (($output) + ($i$05<<2)|0); - $23 = +HEAPF32[$22>>2]; - $24 = $23 + $21; - HEAPF32[$22>>2] = $24; - $25 = +HEAPF32[$11>>2]; - $26 = $21 + $25; - $27 = (($i$05) + 1)|0; - $exitcond9 = ($27|0)==($13|0); - if ($exitcond9) { - $$0 = 1; - break; - } else { - $i$05 = $27;$last$06 = $26; - } - } - return ($$0|0); - } - return (0)|0; -} -function _codebook_decode_start($f,$c) { - $f = $f|0; - $c = $c|0; - var $$ = 0, $$0 = 0, $$1 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; - var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $z$0 = 0; - var label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($c)) + 21|0); - $1 = HEAP8[$0>>0]|0; - $2 = ($1<<24>>24)==(0); - if ($2) { - _error($f,21); - $$0 = -1; - return ($$0|0); - } - $3 = ((($f)) + 1412|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)<(10); - if ($5) { - _prep_huffman($f); - } - $6 = ((($f)) + 1408|0); - $7 = HEAP32[$6>>2]|0; - $8 = $7 & 1023; - $9 = (((($c)) + 36|0) + ($8<<1)|0); - $10 = HEAP16[$9>>1]|0; - $11 = $10 << 16 >> 16; - $12 = ($10<<16>>16)>(-1); - if ($12) { - $13 = ((($c)) + 8|0); - $14 = HEAP32[$13>>2]|0; - $15 = (($14) + ($11)|0); - $16 = HEAP8[$15>>0]|0; - $17 = $16&255; - $18 = $7 >>> $17; - HEAP32[$6>>2] = $18; - $19 = HEAP32[$3>>2]|0; - $20 = (($19) - ($17))|0; - $21 = ($20|0)<(0); - $$ = $21 ? 0 : $20; - HEAP32[$3>>2] = $$; - $$1 = $21 ? -1 : $11; - $z$0 = $$1; - } else { - $22 = (_codebook_decode_scalar_raw($f,$c)|0); - $z$0 = $22; - } - $23 = ((($c)) + 23|0); - $24 = HEAP8[$23>>0]|0; - $25 = ($24<<24>>24)==(0); - if (!($25)) { - $26 = ((($c)) + 2092|0); - $27 = HEAP32[$26>>2]|0; - $28 = ($z$0|0)<($27|0); - if (!($28)) { - ___assert_fail((23376|0),(20576|0),1337,(23400|0)); - // unreachable; - } - } - $29 = ($z$0|0)<(0); - if (!($29)) { - $$0 = $z$0; - return ($$0|0); - } - $30 = ((($f)) + 1392|0); - $31 = HEAP8[$30>>0]|0; - $32 = ($31<<24>>24)==(0); - if ($32) { - $33 = ((($f)) + 1400|0); - $34 = HEAP32[$33>>2]|0; - $35 = ($34|0)==(0); - if (!($35)) { - $$0 = $z$0; - return ($$0|0); - } - } - _error($f,21); - $$0 = $z$0; - return ($$0|0); -} -function _stbi__pnm_info($s,$x,$y,$comp) { - $s = $s|0; - $x = $x|0; - $y = $y|0; - $comp = $comp|0; - var $$0 = 0, $$off = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $c = 0, $or$cond = 0, $switch = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $c = sp; - _stbi__rewind($s); - $0 = (_stbi__get8($s)|0); - $1 = (_stbi__get8($s)|0); - $2 = ($0<<24>>24)==(80); - $$off = (($1) + -53)<<24>>24; - $switch = ($$off&255)<(2); - $or$cond = $2 & $switch; - if (!($or$cond)) { - _stbi__rewind($s); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $3 = ($1<<24>>24)==(54); - $4 = $3 ? 3 : 1; - HEAP32[$comp>>2] = $4; - $5 = (_stbi__get8($s)|0); - HEAP8[$c>>0] = $5; - _stbi__pnm_skip_whitespace($s,$c); - $6 = (_stbi__pnm_getinteger($s,$c)|0); - HEAP32[$x>>2] = $6; - _stbi__pnm_skip_whitespace($s,$c); - $7 = (_stbi__pnm_getinteger($s,$c)|0); - HEAP32[$y>>2] = $7; - _stbi__pnm_skip_whitespace($s,$c); - $8 = (_stbi__pnm_getinteger($s,$c)|0); - $9 = ($8|0)>(255); - if (!($9)) { - $$0 = 1; - STACKTOP = sp;return ($$0|0); - } - _stbi__err(24672); - $$0 = 0; - STACKTOP = sp;return ($$0|0); -} -function _stbi__get8($s) { - $s = $s|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($s)) + 168|0); - $1 = HEAP32[$0>>2]|0; - $2 = ((($s)) + 172|0); - $3 = HEAP32[$2>>2]|0; - $4 = ($1>>>0)<($3>>>0); + $2 = ((($0)) + 23|0); + $3 = HEAP8[$2>>0]|0; + $4 = ($3<<24>>24)==(0); + $5 = ($1<<24>>24)==(-1); if ($4) { - $5 = ((($1)) + 1|0); - HEAP32[$0>>2] = $5; - $6 = HEAP8[$1>>0]|0; - $$0 = $6; - return ($$0|0); + $6 = ($1&255)>(10); + $not$ = $5 ^ 1; + $narrow = $6 & $not$; + $$$ = $narrow&1; + return ($$$|0); } - $7 = ((($s)) + 32|0); - $8 = HEAP32[$7>>2]|0; - $9 = ($8|0)==(0); - if ($9) { - $$0 = 0; - return ($$0|0); - } - _stbi__refill_buffer($s); - $10 = HEAP32[$0>>2]|0; - $11 = ((($10)) + 1|0); - HEAP32[$0>>2] = $11; - $12 = HEAP8[$10>>0]|0; - $$0 = $12; - return ($$0|0); -} -function _stbi__rewind($s) { - $s = $s|0; - var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($s)) + 176|0); - $1 = HEAP32[$0>>2]|0; - $2 = ((($s)) + 168|0); - HEAP32[$2>>2] = $1; - return; -} -function _stbi__skip($s,$n) { - $s = $s|0; - $n = $n|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0; - var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ($n|0)<(0); - if ($0) { - $1 = ((($s)) + 172|0); - $2 = HEAP32[$1>>2]|0; - $3 = ((($s)) + 168|0); - HEAP32[$3>>2] = $2; - return; - } - $4 = ((($s)) + 16|0); - $5 = HEAP32[$4>>2]|0; - $6 = ($5|0)==(0|0); - if (!($6)) { - $7 = ((($s)) + 172|0); - $8 = HEAP32[$7>>2]|0; - $9 = ((($s)) + 168|0); - $10 = HEAP32[$9>>2]|0; - $11 = $8; - $12 = $10; - $13 = (($11) - ($12))|0; - $14 = ($13|0)<($n|0); - if ($14) { - HEAP32[$9>>2] = $8; - $15 = ((($s)) + 20|0); - $16 = HEAP32[$15>>2]|0; - $17 = ((($s)) + 28|0); - $18 = HEAP32[$17>>2]|0; - $19 = (($n) - ($13))|0; - FUNCTION_TABLE_vii[$16 & 63]($18,$19); - return; - } - } - $20 = ((($s)) + 168|0); - $21 = HEAP32[$20>>2]|0; - $22 = (($21) + ($n)|0); - HEAP32[$20>>2] = $22; - return; -} -function _stbi__get16le($s) { - $s = $s|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_stbi__get8($s)|0); - $1 = $0&255; - $2 = (_stbi__get8($s)|0); - $3 = $2&255; - $4 = $3 << 8; - $5 = $4 | $1; - return ($5|0); -} -function _stbi__refill_buffer($s) { - $s = $s|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($s)) + 16|0); - $1 = HEAP32[$0>>2]|0; - $2 = ((($s)) + 28|0); - $3 = HEAP32[$2>>2]|0; - $4 = ((($s)) + 40|0); - $5 = ((($s)) + 36|0); - $6 = HEAP32[$5>>2]|0; - $7 = (FUNCTION_TABLE_iiii[$1 & 3]($3,$4,$6)|0); - $8 = ($7|0)==(0); - if ($8) { - $9 = ((($s)) + 32|0); - HEAP32[$9>>2] = 0; - $10 = ((($s)) + 168|0); - HEAP32[$10>>2] = $4; - $11 = ((($s)) + 41|0); - $12 = ((($s)) + 172|0); - HEAP32[$12>>2] = $11; - $13 = HEAP32[$10>>2]|0; - HEAP8[$13>>0] = 0; - return; - } else { - $14 = ((($s)) + 168|0); - HEAP32[$14>>2] = $4; - $15 = (((($s)) + 40|0) + ($7)|0); - $16 = ((($s)) + 172|0); - HEAP32[$16>>2] = $15; - return; - } -} -function _stbi__pnm_skip_whitespace($s,$c) { - $s = $s|0; - $c = $c|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_stbi__at_eof($s)|0); - $1 = ($0|0)==(0); - if (!($1)) { - return; - } - while(1) { - $2 = HEAP8[$c>>0]|0; - $3 = (_stbi__pnm_isspace($2)|0); - $4 = ($3|0)==(0); - if ($4) { - label = 4; - break; - } - $5 = (_stbi__get8($s)|0); - HEAP8[$c>>0] = $5; - $6 = (_stbi__at_eof($s)|0); - $7 = ($6|0)==(0); - if (!($7)) { - label = 4; - break; - } - } - if ((label|0) == 4) { - return; - } -} -function _stbi__pnm_getinteger($s,$c) { - $s = $s|0; - $c = $c|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $value$0$lcssa = 0, $value$01 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_stbi__at_eof($s)|0); - $1 = ($0|0)==(0); - if ($1) { - $value$01 = 0; - } else { - $value$0$lcssa = 0; - return ($value$0$lcssa|0); - } - while(1) { - $2 = HEAP8[$c>>0]|0; - $3 = (_stbi__pnm_isdigit($2)|0); - $4 = ($3|0)==(0); - if ($4) { - $value$0$lcssa = $value$01; - label = 4; - break; - } - $5 = ($value$01*10)|0; - $6 = $2 << 24 >> 24; - $7 = (($5) + -48)|0; - $8 = (($7) + ($6))|0; - $9 = (_stbi__get8($s)|0); - HEAP8[$c>>0] = $9; - $10 = (_stbi__at_eof($s)|0); - $11 = ($10|0)==(0); - if ($11) { - $value$01 = $8; - } else { - $value$0$lcssa = $8; - label = 4; - break; - } - } - if ((label|0) == 4) { - return ($value$0$lcssa|0); - } - return (0)|0; -} -function _stbi__at_eof($s) { - $s = $s|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; - var sp = 0; - sp = STACKTOP; - $0 = ((($s)) + 16|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)==(0|0); - if (!($2)) { - $3 = ((($s)) + 24|0); - $4 = HEAP32[$3>>2]|0; - $5 = ((($s)) + 28|0); - $6 = HEAP32[$5>>2]|0; - $7 = (FUNCTION_TABLE_ii[$4 & 15]($6)|0); - $8 = ($7|0)==(0); - if ($8) { - $$0 = 0; - return ($$0|0); - } - $9 = ((($s)) + 32|0); - $10 = HEAP32[$9>>2]|0; - $11 = ($10|0)==(0); - if ($11) { - $$0 = 1; - return ($$0|0); - } - } - $12 = ((($s)) + 168|0); - $13 = HEAP32[$12>>2]|0; - $14 = ((($s)) + 172|0); - $15 = HEAP32[$14>>2]|0; - $16 = ($13>>>0)>=($15>>>0); - $17 = $16&1; - $$0 = $17; - return ($$0|0); -} -function _stbi__pnm_isdigit($c) { - $c = $c|0; - var $0 = 0, $1 = 0, $c$off = 0, label = 0, sp = 0; - sp = STACKTOP; - $c$off = (($c) + -48)<<24>>24; - $0 = ($c$off&255)<(10); - $1 = $0&1; - return ($1|0); -} -function _stbi__pnm_isspace($c) { - $c = $c|0; - var $0 = 0, $1 = 0, $phitmp = 0, $switch$cast = 0, $switch$cast$clear = 0, $switch$downshift = 0, $switch$masked = 0, $switch$tableidx = 0, label = 0, sp = 0; - sp = STACKTOP; - $switch$tableidx = (($c) + -9)<<24>>24; - $0 = ($switch$tableidx&255)<(24); - if (!($0)) { - $1 = 0; - return ($1|0); - } - $switch$cast = $switch$tableidx&255; - $switch$cast$clear = $switch$cast & 16777215; - $switch$downshift = 8388639 >>> $switch$cast$clear; - $switch$masked = $switch$downshift & 16777215; - $phitmp = $switch$masked & 1; - $1 = $phitmp; - return ($1|0); -} -function _stbi__get16be($s) { - $s = $s|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_stbi__get8($s)|0); - $1 = $0&255; - $2 = $1 << 8; - $3 = (_stbi__get8($s)|0); - $4 = $3&255; - $5 = $2 | $4; - return ($5|0); -} -function _stbi__get32be($s) { - $s = $s|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_stbi__get16be($s)|0); - $1 = $0 << 16; - $2 = (_stbi__get16be($s)|0); - $3 = (($1) + ($2))|0; - return ($3|0); -} -function _stbi__get32le($s) { - $s = $s|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_stbi__get16le($s)|0); - $1 = (_stbi__get16le($s)|0); - $2 = $1 << 16; - $3 = (($2) + ($0))|0; - return ($3|0); -} -function _stbi__gif_header($s,$g,$comp,$is_info) { - $s = $s|0; - $g = $g|0; - $comp = $comp|0; - $is_info = $is_info|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_stbi__get8($s)|0); - $1 = ($0<<24>>24)==(71); - if ($1) { - $2 = (_stbi__get8($s)|0); - $3 = ($2<<24>>24)==(73); - if ($3) { - $4 = (_stbi__get8($s)|0); - $5 = ($4<<24>>24)==(70); - if ($5) { - $6 = (_stbi__get8($s)|0); - $7 = ($6<<24>>24)==(56); - if ($7) { - $8 = (_stbi__get8($s)|0); - if (!((($8<<24>>24) == 57) | (($8<<24>>24) == 55))) { - _stbi__err(24688); - $$0 = 0; - return ($$0|0); - } - $9 = (_stbi__get8($s)|0); - $10 = ($9<<24>>24)==(97); - if (!($10)) { - _stbi__err(24688); - $$0 = 0; - return ($$0|0); - } - HEAP32[14400>>2] = 24696; - $11 = (_stbi__get16le($s)|0); - HEAP32[$g>>2] = $11; - $12 = (_stbi__get16le($s)|0); - $13 = ((($g)) + 4|0); - HEAP32[$13>>2] = $12; - $14 = (_stbi__get8($s)|0); - $15 = $14&255; - $16 = ((($g)) + 12|0); - HEAP32[$16>>2] = $15; - $17 = (_stbi__get8($s)|0); - $18 = $17&255; - $19 = ((($g)) + 16|0); - HEAP32[$19>>2] = $18; - $20 = (_stbi__get8($s)|0); - $21 = $20&255; - $22 = ((($g)) + 20|0); - HEAP32[$22>>2] = $21; - $23 = ((($g)) + 24|0); - HEAP32[$23>>2] = -1; - $24 = ($comp|0)==(0|0); - if (!($24)) { - HEAP32[$comp>>2] = 4; - } - $25 = ($is_info|0)==(0); - if (!($25)) { - $$0 = 1; - return ($$0|0); - } - $26 = HEAP32[$16>>2]|0; - $27 = $26 & 128; - $28 = ($27|0)==(0); - if ($28) { - $$0 = 1; - return ($$0|0); - } - $29 = ((($g)) + 32|0); - $30 = $26 & 7; - $31 = 2 << $30; - _stbi__gif_parse_colortable($s,$29,$31,-1); - $$0 = 1; - return ($$0|0); - } - } - } - } - _stbi__err(24688); - $$0 = 0; - return ($$0|0); -} -function _stbi__gif_parse_colortable($s,$pal,$num_entries,$transp) { - $s = $s|0; - $pal = $pal|0; - $num_entries = $num_entries|0; - $transp = $transp|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $i$01 = 0, $not$ = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ($num_entries|0)>(0); - if ($0) { - $i$01 = 0; - } else { - return; - } - while(1) { - $1 = (_stbi__get8($s)|0); - $2 = (((($pal) + ($i$01<<2)|0)) + 2|0); - HEAP8[$2>>0] = $1; - $3 = (_stbi__get8($s)|0); - $4 = (((($pal) + ($i$01<<2)|0)) + 1|0); - HEAP8[$4>>0] = $3; - $5 = (_stbi__get8($s)|0); - $6 = (($pal) + ($i$01<<2)|0); - HEAP8[$6>>0] = $5; - $not$ = ($i$01|0)!=($transp|0); - $7 = $not$ << 31 >> 31; - $8 = (((($pal) + ($i$01<<2)|0)) + 3|0); - HEAP8[$8>>0] = $7; - $9 = (($i$01) + 1)|0; - $exitcond = ($9|0)==($num_entries|0); - if ($exitcond) { - break; - } else { - $i$01 = $9; - } - } - return; -} -function _stbi__parse_png_file($z,$scan,$req_comp) { - $z = $z|0; - $scan = $scan|0; - $req_comp = $req_comp|0; - var $$ = 0, $$0 = 0, $$lcssa1740 = 0, $$lobit = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0; - var $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0; - var $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0; - var $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0; - var $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0; - var $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; - var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0; - var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0; - var $c = 0, $color$0 = 0, $color$0$lcssa = 0, $color$1 = 0, $depth$0 = 0, $depth$0$lcssa = 0, $depth$1 = 0, $first$0 = 0, $first$0$lcssa = 0, $first$1 = 0, $has_trans$0 = 0, $has_trans$0$lcssa = 0, $has_trans$1 = 0, $i$0337 = 0, $i$1334 = 0, $idata_limit$0 = 0, $idata_limit$1 = 0, $idata_limit$1$lcssa = 0, $idata_limit$1$ph = 0, $idata_limit$2 = 0; - var $idata_limit$3 = 0, $interlace$0 = 0, $interlace$0$lcssa = 0, $interlace$1 = 0, $ioff$0 = 0, $ioff$0$lcssa = 0, $ioff$1 = 0, $is_iphone$0 = 0, $is_iphone$0$lcssa = 0, $is_iphone$1 = 0, $k$0335 = 0, $notlhs = 0, $notrhs = 0, $or$cond = 0, $or$cond11 = 0, $or$cond13 = 0, $or$cond7 = 0, $or$cond9$not = 0, $pal_img_n$0 = 0, $pal_img_n$0$lcssa = 0; - var $pal_img_n$0$lcssa1681 = 0, $pal_img_n$1 = 0, $pal_img_n$2 = 0, $pal_len$0 = 0, $pal_len$1 = 0, $palette = 0, $raw_len = 0, $req_comp$ = 0, $tc = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 1040|0; - $palette = sp + 16|0; - $tc = sp + 12|0; - $c = sp; - $raw_len = sp + 8|0; - $0 = HEAP32[$z>>2]|0; - $1 = ((($z)) + 8|0); - HEAP32[$1>>2] = 0; - $2 = ((($z)) + 4|0); - HEAP32[$2>>2] = 0; - $3 = ((($z)) + 12|0); - HEAP32[$3>>2] = 0; - $4 = (_stbi__check_png_header($0)|0); - $5 = ($4|0)==(0); if ($5) { - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $6 = ($scan|0)==(1); - if ($6) { - $$0 = 1; - STACKTOP = sp;return ($$0|0); - } - $7 = ((($c)) + 4|0); - $8 = ((($0)) + 4|0); - $9 = ((($0)) + 8|0); - $10 = ($scan|0)==(2); - $11 = ((($0)) + 8|0); - $12 = ((($0)) + 8|0); - $13 = ($scan|0)==(2); - $14 = ($scan|0)==(2); - $color$0 = 0;$depth$0 = 0;$first$0 = 1;$has_trans$0 = 0;$idata_limit$0 = 0;$interlace$0 = 0;$ioff$0 = 0;$is_iphone$0 = 0;$pal_img_n$0 = 0;$pal_len$0 = 0; - L7: while(1) { - _stbi__get_chunk_header($c,$0); - $15 = HEAP32[$7>>2]|0; - L9: do { - if ((($15|0) == 1951551059)) { - $78 = ($first$0|0)==(0); - if (!($78)) { - label = 45; - break L7; - } - $79 = HEAP32[$2>>2]|0; - $80 = ($79|0)==(0|0); - if (!($80)) { - label = 47; - break L7; - } - $81 = ($pal_img_n$0<<24>>24)==(0); - if ($81) { - $95 = HEAP32[$12>>2]|0; - $96 = $95 & 1; - $97 = ($96|0)==(0); - if ($97) { - label = 59; - break L7; - } - $98 = HEAP32[$c>>2]|0; - $99 = $95 << 1; - $100 = ($98|0)==($99|0); - if (!($100)) { - label = 63; - break L7; - } - $101 = HEAP32[$12>>2]|0; - $102 = ($101|0)>(0); - if (!($102)) { - $color$1 = $color$0;$depth$1 = $depth$0;$first$1 = 0;$has_trans$1 = 1;$idata_limit$3 = $idata_limit$0;$interlace$1 = $interlace$0;$ioff$1 = $ioff$0;$is_iphone$1 = $is_iphone$0;$pal_img_n$2 = 0;$pal_len$1 = $pal_len$0; - break; - } - $103 = (24976 + ($depth$0)|0); - $104 = HEAP8[$103>>0]|0; - $105 = $104&255; - $k$0335 = 0; - while(1) { - $106 = (_stbi__get16be($0)|0); - $107 = $106 & 255; - $108 = Math_imul($105, $107)|0; - $109 = $108&255; - $110 = (($tc) + ($k$0335)|0); - HEAP8[$110>>0] = $109; - $111 = (($k$0335) + 1)|0; - $112 = HEAP32[$12>>2]|0; - $113 = ($111|0)<($112|0); - if ($113) { - $k$0335 = $111; - } else { - $color$1 = $color$0;$depth$1 = $depth$0;$first$1 = $first$0;$has_trans$1 = 1;$idata_limit$3 = $idata_limit$0;$interlace$1 = $interlace$0;$ioff$1 = $ioff$0;$is_iphone$1 = $is_iphone$0;$pal_img_n$2 = $pal_img_n$0;$pal_len$1 = $pal_len$0; - break L9; - } - } - } - if ($13) { - label = 50; - break L7; - } - $83 = ($pal_len$0|0)==(0); - if ($83) { - label = 52; - break L7; - } - $84 = HEAP32[$c>>2]|0; - $85 = ($84>>>0)>($pal_len$0>>>0); - if ($85) { - label = 56; - break L7; - } - $86 = HEAP32[$c>>2]|0; - $87 = ($86|0)==(0); - if ($87) { - $color$1 = $color$0;$depth$1 = $depth$0;$first$1 = 0;$has_trans$1 = $has_trans$0;$idata_limit$3 = $idata_limit$0;$interlace$1 = $interlace$0;$ioff$1 = $ioff$0;$is_iphone$1 = $is_iphone$0;$pal_img_n$2 = 4;$pal_len$1 = $pal_len$0; - } else { - $88 = HEAP32[$c>>2]|0; - $i$1334 = 0; - while(1) { - $89 = (_stbi__get8($0)|0); - $90 = $i$1334 << 2; - $91 = $90 | 3; - $92 = (($palette) + ($91)|0); - HEAP8[$92>>0] = $89; - $93 = (($i$1334) + 1)|0; - $94 = ($93>>>0)<($88>>>0); - if ($94) { - $i$1334 = $93; - } else { - $color$1 = $color$0;$depth$1 = $depth$0;$first$1 = $first$0;$has_trans$1 = $has_trans$0;$idata_limit$3 = $idata_limit$0;$interlace$1 = $interlace$0;$ioff$1 = $ioff$0;$is_iphone$1 = $is_iphone$0;$pal_img_n$2 = 4;$pal_len$1 = $pal_len$0; - break; - } - } - } - } else if ((($15|0) == 1347179589)) { - $58 = ($first$0|0)==(0); - if (!($58)) { - label = 37; - break L7; - } - $59 = HEAP32[$c>>2]|0; - $60 = ($59>>>0)>(768); - if ($60) { - label = 39; - break L7; - } - $61 = (($59>>>0) / 3)&-1; - $62 = ($61*3)|0; - $63 = ($62|0)==($59|0); - if (!($63)) { - label = 42; - break L7; - } - $64 = ($59>>>0)>(2); - if ($64) { - $i$0337 = 0; - while(1) { - $65 = (_stbi__get8($0)|0); - $66 = $i$0337 << 2; - $67 = (($palette) + ($66)|0); - HEAP8[$67>>0] = $65; - $68 = (_stbi__get8($0)|0); - $69 = $66 | 1; - $70 = (($palette) + ($69)|0); - HEAP8[$70>>0] = $68; - $71 = (_stbi__get8($0)|0); - $72 = $66 | 2; - $73 = (($palette) + ($72)|0); - HEAP8[$73>>0] = $71; - $74 = $66 | 3; - $75 = (($palette) + ($74)|0); - HEAP8[$75>>0] = -1; - $76 = (($i$0337) + 1)|0; - $77 = ($76>>>0)<($61>>>0); - if ($77) { - $i$0337 = $76; - } else { - $color$1 = $color$0;$depth$1 = $depth$0;$first$1 = $first$0;$has_trans$1 = $has_trans$0;$idata_limit$3 = $idata_limit$0;$interlace$1 = $interlace$0;$ioff$1 = $ioff$0;$is_iphone$1 = $is_iphone$0;$pal_img_n$2 = $pal_img_n$0;$pal_len$1 = $61; - break; - } - } - } else { - $color$1 = $color$0;$depth$1 = $depth$0;$first$1 = 0;$has_trans$1 = $has_trans$0;$idata_limit$3 = $idata_limit$0;$interlace$1 = $interlace$0;$ioff$1 = $ioff$0;$is_iphone$1 = $is_iphone$0;$pal_img_n$2 = $pal_img_n$0;$pal_len$1 = $61; - } - } else if ((($15|0) == 1130840649)) { - $16 = HEAP32[$c>>2]|0; - _stbi__skip($0,$16); - $color$1 = $color$0;$depth$1 = $depth$0;$first$1 = $first$0;$has_trans$1 = $has_trans$0;$idata_limit$3 = $idata_limit$0;$interlace$1 = $interlace$0;$ioff$1 = $ioff$0;$is_iphone$1 = 1;$pal_img_n$2 = $pal_img_n$0;$pal_len$1 = $pal_len$0; - } else if ((($15|0) == 1229472850)) { - $17 = ($first$0|0)==(0); - if ($17) { - label = 7; - break L7; - } - $18 = HEAP32[$c>>2]|0; - $19 = ($18|0)==(13); - if (!($19)) { - label = 9; - break L7; - } - $20 = (_stbi__get32be($0)|0); - HEAP32[$0>>2] = $20; - $21 = ($20>>>0)>(16777216); - if ($21) { - label = 11; - break L7; - } - $22 = (_stbi__get32be($0)|0); - HEAP32[$8>>2] = $22; - $23 = ($22>>>0)>(16777216); - if ($23) { - label = 13; - break L7; - } - $24 = (_stbi__get8($0)|0); - $25 = $24&255; - if (!((($24<<24>>24) == 1) | (($24<<24>>24) == 2) | (($24<<24>>24) == 4) | (($24<<24>>24) == 8))) { - label = 15; - break L7; - } - $26 = (_stbi__get8($0)|0); - $27 = $26&255; - $28 = ($26&255)>(6); - if ($28) { - label = 17; - break L7; - } - $29 = ($26<<24>>24)==(3); - if ($29) { - $pal_img_n$1 = 3; - } else { - $30 = $27 & 1; - $31 = ($30|0)==(0); - if ($31) { - $pal_img_n$1 = $pal_img_n$0; - } else { - label = 20; - break L7; - } - } - $32 = (_stbi__get8($0)|0); - $33 = ($32<<24>>24)==(0); - if (!($33)) { - label = 22; - break L7; - } - $34 = (_stbi__get8($0)|0); - $35 = ($34<<24>>24)==(0); - if (!($35)) { - label = 24; - break L7; - } - $36 = (_stbi__get8($0)|0); - $37 = $36&255; - $38 = ($36&255)>(1); - if ($38) { - label = 26; - break L7; - } - $39 = HEAP32[$0>>2]|0; - $40 = ($39|0)==(0); - if ($40) { - label = 29; - break L7; - } - $41 = HEAP32[$8>>2]|0; - $42 = ($41|0)==(0); - if ($42) { - label = 29; - break L7; - } - $43 = ($pal_img_n$1<<24>>24)==(0); - if (!($43)) { - HEAP32[$11>>2] = 1; - $53 = HEAP32[$0>>2]|0; - $54 = (1073741824 / ($53>>>0))&-1; - $55 = $54 >>> 2; - $56 = HEAP32[$8>>2]|0; - $57 = ($55>>>0)<($56>>>0); - if ($57) { - label = 35; - break L7; - } else { - $color$1 = $27;$depth$1 = $25;$first$1 = 0;$has_trans$1 = $has_trans$0;$idata_limit$3 = $idata_limit$0;$interlace$1 = $37;$ioff$1 = $ioff$0;$is_iphone$1 = $is_iphone$0;$pal_img_n$2 = $pal_img_n$1;$pal_len$1 = $pal_len$0; - break; - } - } - $44 = $27 & 2; - $45 = $44 | 1; - $46 = $27 >>> 2; - $$lobit = $46 & 1; - $47 = (($45) + ($$lobit))|0; - HEAP32[$9>>2] = $47; - $48 = HEAP32[$0>>2]|0; - $49 = (1073741824 / ($48>>>0))&-1; - $50 = (($49>>>0) / ($47>>>0))&-1; - $51 = HEAP32[$8>>2]|0; - $52 = ($50>>>0)<($51>>>0); - if ($52) { - label = 32; - break L7; - } - if ($10) { - $$0 = 1; - label = 102; - break L7; - } else { - $color$1 = $27;$depth$1 = $25;$first$1 = 0;$has_trans$1 = $has_trans$0;$idata_limit$3 = $idata_limit$0;$interlace$1 = $37;$ioff$1 = $ioff$0;$is_iphone$1 = $is_iphone$0;$pal_img_n$2 = 0;$pal_len$1 = $pal_len$0; - } - } else if ((($15|0) == 1229209940)) { - $114 = ($first$0|0)==(0); - if (!($114)) { - label = 66; - break L7; - } - $115 = ($pal_img_n$0<<24>>24)==(0); - $116 = ($pal_len$0|0)!=(0); - $or$cond7 = $116 | $115; - if (!($or$cond7)) { - label = 68; - break L7; - } - if ($14) { - $pal_img_n$0$lcssa1681 = $pal_img_n$0; - label = 70; - break L7; - } - $119 = HEAP32[$c>>2]|0; - $120 = (($119) + ($ioff$0))|0; - $121 = ($120|0)<($ioff$0|0); - if ($121) { - $$0 = 0; - label = 102; - break L7; - } - $122 = ($120>>>0)>($idata_limit$0>>>0); - if ($122) { - $123 = ($idata_limit$0|0)==(0); - $124 = ($119>>>0)>(4096); - $125 = $124 ? $119 : 4096; - $idata_limit$1$ph = $123 ? $125 : $idata_limit$0; - $126 = HEAP32[$c>>2]|0; - $127 = (($126) + ($ioff$0))|0; - $idata_limit$1 = $idata_limit$1$ph; - while(1) { - $128 = ($127>>>0)>($idata_limit$1>>>0); - $129 = $idata_limit$1 << 1; - if ($128) { - $idata_limit$1 = $129; - } else { - $idata_limit$1$lcssa = $idata_limit$1; - break; - } - } - $130 = HEAP32[$2>>2]|0; - $131 = (_realloc($130,$idata_limit$1$lcssa)|0); - $132 = ($131|0)==(0|0); - if ($132) { - label = 76; - break L7; - } - HEAP32[$2>>2] = $131; - $idata_limit$2 = $idata_limit$1$lcssa; - } else { - $idata_limit$2 = $idata_limit$0; - } - $133 = HEAP32[$2>>2]|0; - $134 = (($133) + ($ioff$0)|0); - $135 = HEAP32[$c>>2]|0; - $136 = (_stbi__getn($0,$134,$135)|0); - $137 = ($136|0)==(0); - if ($137) { - label = 79; - break L7; - } - $138 = HEAP32[$c>>2]|0; - $139 = (($138) + ($ioff$0))|0; - $color$1 = $color$0;$depth$1 = $depth$0;$first$1 = $first$0;$has_trans$1 = $has_trans$0;$idata_limit$3 = $idata_limit$2;$interlace$1 = $interlace$0;$ioff$1 = $139;$is_iphone$1 = $is_iphone$0;$pal_img_n$2 = $pal_img_n$0;$pal_len$1 = $pal_len$0; - } else if ((($15|0) == 1229278788)) { - $color$0$lcssa = $color$0;$depth$0$lcssa = $depth$0;$first$0$lcssa = $first$0;$has_trans$0$lcssa = $has_trans$0;$interlace$0$lcssa = $interlace$0;$ioff$0$lcssa = $ioff$0;$is_iphone$0$lcssa = $is_iphone$0;$pal_img_n$0$lcssa = $pal_img_n$0; - label = 81; - break L7; - } else { - $182 = ($first$0|0)==(0); - if (!($182)) { - label = 97; - break L7; - } - $183 = $15 & 536870912; - $184 = ($183|0)==(0); - if ($184) { - $$lcssa1740 = $15; - label = 99; - break L7; - } - $195 = HEAP32[$c>>2]|0; - _stbi__skip($0,$195); - $color$1 = $color$0;$depth$1 = $depth$0;$first$1 = 0;$has_trans$1 = $has_trans$0;$idata_limit$3 = $idata_limit$0;$interlace$1 = $interlace$0;$ioff$1 = $ioff$0;$is_iphone$1 = $is_iphone$0;$pal_img_n$2 = $pal_img_n$0;$pal_len$1 = $pal_len$0; - } - } while(0); - (_stbi__get32be($0)|0); - $color$0 = $color$1;$depth$0 = $depth$1;$first$0 = $first$1;$has_trans$0 = $has_trans$1;$idata_limit$0 = $idata_limit$3;$interlace$0 = $interlace$1;$ioff$0 = $ioff$1;$is_iphone$0 = $is_iphone$1;$pal_img_n$0 = $pal_img_n$2;$pal_len$0 = $pal_len$1; - } - switch (label|0) { - case 7: { - _stbi__err(24704); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - break; - } - case 9: { - _stbi__err(24720); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - break; - } - case 11: { - _stbi__err(24736); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - break; - } - case 13: { - _stbi__err(24736); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - break; - } - case 15: { - _stbi__err(24752); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - break; - } - case 17: { - _stbi__err(24776); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - break; - } - case 20: { - _stbi__err(24776); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - break; - } - case 22: { - _stbi__err(24792); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - break; - } - case 24: { - _stbi__err(24808); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - break; - } - case 26: { - _stbi__err(24832); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - break; - } - case 29: { - _stbi__err(24856); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - break; - } - case 32: { - _stbi__err(24736); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - break; - } - case 35: { - _stbi__err(24736); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - break; - } - case 37: { - _stbi__err(24872); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - break; - } - case 39: { - _stbi__err(24888); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - break; - } - case 42: { - _stbi__err(24888); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - break; - } - case 45: { - _stbi__err(24872); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - break; - } - case 47: { - _stbi__err(24904); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - break; - } - case 50: { - $82 = ((($0)) + 8|0); - HEAP32[$82>>2] = 4; - $$0 = 1; - STACKTOP = sp;return ($$0|0); - break; - } - case 52: { - _stbi__err(24920); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - break; - } - case 56: { - _stbi__err(24944); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - break; - } - case 59: { - _stbi__err(24960); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - break; - } - case 63: { - _stbi__err(24944); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - break; - } - case 66: { - _stbi__err(24872); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - break; - } - case 68: { - _stbi__err(24992); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - break; - } - case 70: { - $117 = $pal_img_n$0$lcssa1681&255; - $118 = ((($0)) + 8|0); - HEAP32[$118>>2] = $117; - $$0 = 1; - STACKTOP = sp;return ($$0|0); - break; - } - case 76: { - _stbi__err(25000); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - break; - } - case 79: { - _stbi__err(25016); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - break; - } - case 81: { - $140 = ($first$0$lcssa|0)==(0); - if (!($140)) { - _stbi__err(24872); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $141 = ($scan|0)==(0); - if (!($141)) { - $$0 = 1; - STACKTOP = sp;return ($$0|0); - } - $142 = HEAP32[$2>>2]|0; - $143 = ($142|0)==(0|0); - if ($143) { - _stbi__err(25032); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $144 = HEAP32[$0>>2]|0; - $145 = Math_imul($144, $depth$0$lcssa)|0; - $146 = (($145) + 7)|0; - $147 = $146 >>> 3; - $148 = ((($0)) + 4|0); - $149 = HEAP32[$148>>2]|0; - $150 = ((($0)) + 8|0); - $151 = HEAP32[$150>>2]|0; - $152 = Math_imul($151, $149)|0; - $153 = Math_imul($152, $147)|0; - $154 = (($153) + ($149))|0; - HEAP32[$raw_len>>2] = $154; - $155 = HEAP32[$2>>2]|0; - $156 = ($is_iphone$0$lcssa|0)!=(0); - $157 = $156&1; - $158 = $157 ^ 1; - $159 = (_stbi_zlib_decode_malloc_guesssize_headerflag($155,$ioff$0$lcssa,$154,$raw_len,$158)|0); - HEAP32[$1>>2] = $159; - $160 = ($159|0)==(0|0); - if ($160) { - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $161 = HEAP32[$2>>2]|0; - _free($161); - HEAP32[$2>>2] = 0; - $162 = HEAP32[$150>>2]|0; - $163 = (($162) + 1)|0; - $notlhs = ($163|0)!=($req_comp|0); - $notrhs = ($req_comp|0)==(3); - $or$cond9$not = $notrhs | $notlhs; - $164 = ($pal_img_n$0$lcssa<<24>>24)!=(0); - $or$cond11 = $164 | $or$cond9$not; - $165 = ($has_trans$0$lcssa<<24>>24)==(0); - $or$cond = $165 & $or$cond11; - $166 = ((($0)) + 12|0); - $$ = $or$cond ? $162 : $163; - HEAP32[$166>>2] = $$; - $167 = HEAP32[$1>>2]|0; - $168 = HEAP32[$raw_len>>2]|0; - $169 = ((($0)) + 12|0); - $170 = (_stbi__create_png_image($z,$167,$168,$$,$depth$0$lcssa,$color$0$lcssa,$interlace$0$lcssa)|0); - $171 = ($170|0)==(0); - if ($171) { - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - if (!($165)) { - $172 = HEAP32[$169>>2]|0; - _stbi__compute_transparency($z,$tc,$172); - } - $173 = HEAP32[14440>>2]|0; - $174 = ($173|0)!=(0); - $or$cond13 = $156 & $174; - if ($or$cond13) { - $175 = HEAP32[$169>>2]|0; - $176 = ($175|0)>(2); - if ($176) { - _stbi__de_iphone($z); - } - } - if ($164) { - $177 = $pal_img_n$0$lcssa&255; - HEAP32[$150>>2] = $177; - $178 = ($req_comp|0)>(2); - $req_comp$ = $178 ? $req_comp : $177; - HEAP32[$169>>2] = $req_comp$; - $179 = (_stbi__expand_png_palette($z,$palette,$req_comp$)|0); - $180 = ($179|0)==(0); - if ($180) { - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - } - $181 = HEAP32[$1>>2]|0; - _free($181); - HEAP32[$1>>2] = 0; - $$0 = 1; - STACKTOP = sp;return ($$0|0); - break; - } - case 97: { - _stbi__err(24872); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - break; - } - case 99: { - $185 = $$lcssa1740 >>> 24; - $186 = $185&255; - HEAP8[25040>>0] = $186; - $187 = HEAP32[$7>>2]|0; - $188 = $187 >>> 16; - $189 = $188&255; - HEAP8[(25041)>>0] = $189; - $190 = HEAP32[$7>>2]|0; - $191 = $190 >>> 8; - $192 = $191&255; - HEAP8[(25042)>>0] = $192; - $193 = HEAP32[$7>>2]|0; - $194 = $193&255; - HEAP8[(25043)>>0] = $194; - _stbi__err(25040); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - break; - } - case 102: { - STACKTOP = sp;return ($$0|0); - break; - } - } - return (0)|0; -} -function _stbi__check_png_header($s) { - $s = $s|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_stbi__get8($s)|0); - $1 = ($0<<24>>24)==(-119); - if ($1) { - $2 = (_stbi__get8($s)|0); - $3 = ($2<<24>>24)==(80); - if ($3) { - $4 = (_stbi__get8($s)|0); - $5 = ($4<<24>>24)==(78); - if ($5) { - $6 = (_stbi__get8($s)|0); - $7 = ($6<<24>>24)==(71); - if ($7) { - $8 = (_stbi__get8($s)|0); - $9 = ($8<<24>>24)==(13); - if ($9) { - $10 = (_stbi__get8($s)|0); - $11 = ($10<<24>>24)==(10); - if ($11) { - $12 = (_stbi__get8($s)|0); - $13 = ($12<<24>>24)==(26); - if ($13) { - $14 = (_stbi__get8($s)|0); - $15 = ($14<<24>>24)==(10); - if ($15) { - $$0 = 1; - return ($$0|0); - } - } - } - } - } - } - } - } - _stbi__err(25512); - $$0 = 0; - return ($$0|0); -} -function _stbi__get_chunk_header($agg$result,$s) { - $agg$result = $agg$result|0; - $s = $s|0; - var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_stbi__get32be($s)|0); - $1 = (_stbi__get32be($s)|0); - HEAP32[$agg$result>>2] = $0; - $2 = ((($agg$result)) + 4|0); - HEAP32[$2>>2] = $1; - return; -} -function _stbi__getn($s,$buffer,$n) { - $s = $s|0; - $buffer = $buffer|0; - $n = $n|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($s)) + 16|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)==(0|0); - if (!($2)) { - $3 = ((($s)) + 172|0); - $4 = HEAP32[$3>>2]|0; - $5 = ((($s)) + 168|0); - $6 = HEAP32[$5>>2]|0; - $7 = $4; - $8 = $6; - $9 = (($7) - ($8))|0; - $10 = ($9|0)<($n|0); - if ($10) { - _memcpy(($buffer|0),($6|0),($9|0))|0; - $11 = HEAP32[$0>>2]|0; - $12 = ((($s)) + 28|0); - $13 = HEAP32[$12>>2]|0; - $14 = (($buffer) + ($9)|0); - $15 = (($n) - ($9))|0; - $16 = (FUNCTION_TABLE_iiii[$11 & 3]($13,$14,$15)|0); - $17 = ($16|0)==($15|0); - $18 = $17&1; - $19 = HEAP32[$3>>2]|0; - HEAP32[$5>>2] = $19; - $$0 = $18; - return ($$0|0); - } - } - $20 = ((($s)) + 168|0); - $21 = HEAP32[$20>>2]|0; - $22 = (($21) + ($n)|0); - $23 = ((($s)) + 172|0); - $24 = HEAP32[$23>>2]|0; - $25 = ($22>>>0)>($24>>>0); - if ($25) { - $$0 = 0; - return ($$0|0); - } - _memcpy(($buffer|0),($21|0),($n|0))|0; - $26 = HEAP32[$20>>2]|0; - $27 = (($26) + ($n)|0); - HEAP32[$20>>2] = $27; - $$0 = 1; - return ($$0|0); -} -function _stbi__create_png_image($a,$image_data,$image_data_len,$out_n,$depth,$color,$interlaced) { - $a = $a|0; - $image_data = $image_data|0; - $image_data_len = $image_data_len|0; - $out_n = $out_n|0; - $depth = $depth|0; - $color = $color|0; - $interlaced = $interlaced|0; - var $$0 = 0, $$0212 = 0, $$0311 = 0, $$1 = 0, $$14 = 0, $$sum = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0; - var $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0; - var $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0; - var $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $8 = 0, $9 = 0, $i$07 = 0; - var $j$08 = 0, $or$cond = 0, $p$010 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ($interlaced|0)==(0); - $1 = HEAP32[$a>>2]|0; - $2 = HEAP32[$1>>2]|0; - $3 = ((($1)) + 4|0); - $4 = HEAP32[$3>>2]|0; - if ($0) { - $5 = (_stbi__create_png_image_raw($a,$image_data,$image_data_len,$out_n,$2,$4,$depth,$color)|0); - $$0 = $5; - return ($$0|0); - } - $6 = Math_imul($2, $out_n)|0; - $7 = Math_imul($6, $4)|0; - $8 = (_stbi__malloc($7)|0); - $9 = ((($a)) + 12|0); - $10 = ((($a)) + 12|0); - $$0212 = $image_data;$$0311 = $image_data_len;$p$010 = 0; - while(1) { - $11 = HEAP32[$a>>2]|0; - $12 = HEAP32[$11>>2]|0; - $13 = (25192 + ($p$010<<2)|0); - $14 = HEAP32[$13>>2]|0; - $15 = (25224 + ($p$010<<2)|0); - $16 = HEAP32[$15>>2]|0; - $17 = (($12) + -1)|0; - $18 = (($17) - ($14))|0; - $19 = (($18) + ($16))|0; - $20 = (($19>>>0) / ($16>>>0))&-1; - $21 = ((($11)) + 4|0); - $22 = HEAP32[$21>>2]|0; - $23 = (25256 + ($p$010<<2)|0); - $24 = HEAP32[$23>>2]|0; - $25 = (25288 + ($p$010<<2)|0); - $26 = HEAP32[$25>>2]|0; - $27 = (($22) + -1)|0; - $28 = (($27) - ($24))|0; - $29 = (($28) + ($26))|0; - $30 = (($29>>>0) / ($26>>>0))&-1; - $31 = ($20|0)!=(0); - $32 = ($30|0)!=(0); - $or$cond = $31 & $32; - if ($or$cond) { - $33 = ((($11)) + 8|0); - $34 = HEAP32[$33>>2]|0; - $35 = Math_imul($20, $depth)|0; - $36 = Math_imul($35, $34)|0; - $37 = (($36) + 7)|0; - $38 = $37 >> 3; - $39 = (($38) + 1)|0; - $40 = Math_imul($39, $30)|0; - $41 = (_stbi__create_png_image_raw($a,$$0212,$$0311,$out_n,$20,$30,$depth,$color)|0); - $42 = ($41|0)==(0); - if ($42) { - label = 8; - break; - } - $43 = ($30|0)>(0); - if ($43) { - $44 = ($20|0)>(0); - $j$08 = 0; - while(1) { - if ($44) { - $45 = HEAP32[$25>>2]|0; - $46 = Math_imul($45, $j$08)|0; - $47 = HEAP32[$23>>2]|0; - $48 = (($46) + ($47))|0; - $49 = HEAP32[$15>>2]|0; - $50 = HEAP32[$13>>2]|0; - $51 = Math_imul($j$08, $20)|0; - $i$07 = 0; - while(1) { - $52 = Math_imul($49, $i$07)|0; - $53 = (($52) + ($50))|0; - $54 = HEAP32[$a>>2]|0; - $55 = HEAP32[$54>>2]|0; - $56 = Math_imul($55, $48)|0; - $57 = (($53) + ($56))|0; - $$sum = Math_imul($57, $out_n)|0; - $58 = (($8) + ($$sum)|0); - $59 = HEAP32[$10>>2]|0; - $60 = (($i$07) + ($51))|0; - $61 = Math_imul($60, $out_n)|0; - $62 = (($59) + ($61)|0); - _memcpy(($58|0),($62|0),($out_n|0))|0; - $63 = (($i$07) + 1)|0; - $64 = ($63|0)<($20|0); - if ($64) { - $i$07 = $63; - } else { - break; - } - } - } - $65 = (($j$08) + 1)|0; - $66 = ($65|0)<($30|0); - if ($66) { - $j$08 = $65; - } else { - break; - } - } - } - $67 = HEAP32[$9>>2]|0; - _free($67); - $68 = (($$0212) + ($40)|0); - $69 = (($$0311) - ($40))|0; - $$1 = $68;$$14 = $69; - } else { - $$1 = $$0212;$$14 = $$0311; - } - $70 = (($p$010) + 1)|0; - $71 = ($70|0)<(7); - if ($71) { - $$0212 = $$1;$$0311 = $$14;$p$010 = $70; - } else { - label = 15; - break; - } - } - if ((label|0) == 8) { - _free($8); - $$0 = 0; - return ($$0|0); - } - else if ((label|0) == 15) { - $72 = ((($a)) + 12|0); - HEAP32[$72>>2] = $8; - $$0 = 1; - return ($$0|0); - } - return (0)|0; -} -function _stbi__compute_transparency($z,$tc,$out_n) { - $z = $z|0; - $tc = $tc|0; - $out_n = $out_n|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond8 = 0, $i$03 = 0, $i$15 = 0, $not$ = 0, $p$04 = 0, $p$16 = 0; - var label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[$z>>2]|0; - $1 = HEAP32[$0>>2]|0; - $2 = ((($0)) + 4|0); - $3 = HEAP32[$2>>2]|0; - $4 = Math_imul($3, $1)|0; - $5 = ((($z)) + 12|0); - $6 = HEAP32[$5>>2]|0; - if ((($out_n|0) == 2)) { - $11 = ($4|0)==(0); - if ($11) { - return; - } - $12 = Math_imul($3, $1)|0; - $i$03 = 0;$p$04 = $6; - while(1) { - $13 = HEAP8[$p$04>>0]|0; - $14 = HEAP8[$tc>>0]|0; - $not$ = ($13<<24>>24)!=($14<<24>>24); - $15 = $not$ << 31 >> 31; - $16 = ((($p$04)) + 1|0); - HEAP8[$16>>0] = $15; - $17 = ((($p$04)) + 2|0); - $18 = (($i$03) + 1)|0; - $exitcond = ($18|0)==($12|0); - if ($exitcond) { - break; - } else { - $i$03 = $18;$p$04 = $17; - } - } - return; - } else if ((($out_n|0) == 4)) { - $7 = ($4|0)==(0); - if ($7) { - return; - } - $8 = ((($tc)) + 1|0); - $9 = ((($tc)) + 2|0); - $10 = Math_imul($3, $1)|0; - $i$15 = 0;$p$16 = $6; - while(1) { - $19 = HEAP8[$p$16>>0]|0; - $20 = HEAP8[$tc>>0]|0; - $21 = ($19<<24>>24)==($20<<24>>24); - if ($21) { - $22 = ((($p$16)) + 1|0); - $23 = HEAP8[$22>>0]|0; - $24 = HEAP8[$8>>0]|0; - $25 = ($23<<24>>24)==($24<<24>>24); - if ($25) { - $26 = ((($p$16)) + 2|0); - $27 = HEAP8[$26>>0]|0; - $28 = HEAP8[$9>>0]|0; - $29 = ($27<<24>>24)==($28<<24>>24); - if ($29) { - $30 = ((($p$16)) + 3|0); - HEAP8[$30>>0] = 0; - } - } - } - $31 = ((($p$16)) + 4|0); - $32 = (($i$15) + 1)|0; - $exitcond8 = ($32|0)==($10|0); - if ($exitcond8) { - break; - } else { - $i$15 = $32;$p$16 = $31; - } - } - return; - } else { - ___assert_fail((25128|0),(25096|0),4194,(25160|0)); + ___assert_fail((19622|0),(18880|0),742,(19637|0)); // unreachable; - } -} -function _stbi__de_iphone($z) { - $z = $z|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond13 = 0, $exitcond14 = 0, $i$06 = 0, $i$111 = 0, $i$28 = 0, $p$05 = 0, $p$110 = 0, $p$27 = 0, $storemerge = 0, label = 0; - var sp = 0; - sp = STACKTOP; - $0 = HEAP32[$z>>2]|0; - $1 = HEAP32[$0>>2]|0; - $2 = ((($0)) + 4|0); - $3 = HEAP32[$2>>2]|0; - $4 = Math_imul($3, $1)|0; - $5 = ((($z)) + 12|0); - $6 = HEAP32[$5>>2]|0; - $7 = ((($0)) + 12|0); - $8 = HEAP32[$7>>2]|0; - if ((($8|0) == 4)) { - $16 = HEAP32[14432>>2]|0; - $17 = ($16|0)==(0); - $18 = ($4|0)==(0); - if ($17) { - if ($18) { - return; - } - $20 = Math_imul($3, $1)|0; - $i$28 = 0;$p$27 = $6; - while(1) { - $44 = HEAP8[$p$27>>0]|0; - $45 = ((($p$27)) + 2|0); - $46 = HEAP8[$45>>0]|0; - HEAP8[$p$27>>0] = $46; - HEAP8[$45>>0] = $44; - $47 = ((($p$27)) + 4|0); - $48 = (($i$28) + 1)|0; - $exitcond13 = ($48|0)==($20|0); - if ($exitcond13) { - break; - } else { - $i$28 = $48;$p$27 = $47; - } - } - return; - } - if ($18) { - return; - } - $19 = Math_imul($3, $1)|0; - $i$111 = 0;$p$110 = $6; - while(1) { - $21 = ((($p$110)) + 3|0); - $22 = HEAP8[$21>>0]|0; - $23 = HEAP8[$p$110>>0]|0; - $24 = ($22<<24>>24)==(0); - $25 = ((($p$110)) + 2|0); - $26 = HEAP8[$25>>0]|0; - if ($24) { - HEAP8[$p$110>>0] = $26; - $storemerge = $23; - } else { - $27 = $26&255; - $28 = ($27*255)|0; - $29 = $22&255; - $30 = (($28>>>0) / ($29>>>0))&-1; - $31 = $30&255; - HEAP8[$p$110>>0] = $31; - $32 = ((($p$110)) + 1|0); - $33 = HEAP8[$32>>0]|0; - $34 = $33&255; - $35 = ($34*255)|0; - $36 = (($35>>>0) / ($29>>>0))&-1; - $37 = $36&255; - HEAP8[$32>>0] = $37; - $38 = $23&255; - $39 = ($38*255)|0; - $40 = (($39>>>0) / ($29>>>0))&-1; - $41 = $40&255; - $storemerge = $41; - } - HEAP8[$25>>0] = $storemerge; - $42 = ((($p$110)) + 4|0); - $43 = (($i$111) + 1)|0; - $exitcond14 = ($43|0)==($19|0); - if ($exitcond14) { - break; - } else { - $i$111 = $43;$p$110 = $42; - } - } - return; - } else if ((($8|0) == 3)) { - $9 = ($4|0)==(0); - if ($9) { - return; - } - $10 = Math_imul($3, $1)|0; - $i$06 = 0;$p$05 = $6; - while(1) { - $11 = HEAP8[$p$05>>0]|0; - $12 = ((($p$05)) + 2|0); - $13 = HEAP8[$12>>0]|0; - HEAP8[$p$05>>0] = $13; - HEAP8[$12>>0] = $11; - $14 = ((($p$05)) + 3|0); - $15 = (($i$06) + 1)|0; - $exitcond = ($15|0)==($10|0); - if ($exitcond) { - break; - } else { - $i$06 = $15;$p$05 = $14; - } - } - return; } else { - ___assert_fail((25072|0),(25096|0),4275,(25112|0)); - // unreachable; - } -} -function _stbi__expand_png_palette($a,$palette,$pal_img_n) { - $a = $a|0; - $palette = $palette|0; - $pal_img_n = $pal_img_n|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; - var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond8 = 0, $i$04 = 0, $i$16 = 0, $p$03 = 0, $p$15 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[$a>>2]|0; - $1 = HEAP32[$0>>2]|0; - $2 = ((($0)) + 4|0); - $3 = HEAP32[$2>>2]|0; - $4 = Math_imul($3, $1)|0; - $5 = ((($a)) + 12|0); - $6 = HEAP32[$5>>2]|0; - $7 = Math_imul($4, $pal_img_n)|0; - $8 = (_stbi__malloc($7)|0); - $9 = ($8|0)==(0|0); - if ($9) { - _stbi__err(25000); - $$0 = 0; - return ($$0|0); - } - $10 = ($pal_img_n|0)==(3); - $11 = ($4|0)==(0); - if ($10) { - if (!($11)) { - $13 = Math_imul($3, $1)|0; - $i$04 = 0;$p$03 = $8; - while(1) { - $14 = (($6) + ($i$04)|0); - $15 = HEAP8[$14>>0]|0; - $16 = $15&255; - $17 = $16 << 2; - $18 = (($palette) + ($17)|0); - $19 = HEAP8[$18>>0]|0; - HEAP8[$p$03>>0] = $19; - $20 = $17 | 1; - $21 = (($palette) + ($20)|0); - $22 = HEAP8[$21>>0]|0; - $23 = ((($p$03)) + 1|0); - HEAP8[$23>>0] = $22; - $24 = $17 | 2; - $25 = (($palette) + ($24)|0); - $26 = HEAP8[$25>>0]|0; - $27 = ((($p$03)) + 2|0); - HEAP8[$27>>0] = $26; - $28 = ((($p$03)) + 3|0); - $29 = (($i$04) + 1)|0; - $exitcond = ($29|0)==($13|0); - if ($exitcond) { - break; - } else { - $i$04 = $29;$p$03 = $28; - } - } - } - } else { - if (!($11)) { - $12 = Math_imul($3, $1)|0; - $i$16 = 0;$p$15 = $8; - while(1) { - $30 = (($6) + ($i$16)|0); - $31 = HEAP8[$30>>0]|0; - $32 = $31&255; - $33 = $32 << 2; - $34 = (($palette) + ($33)|0); - $35 = HEAP8[$34>>0]|0; - HEAP8[$p$15>>0] = $35; - $36 = $33 | 1; - $37 = (($palette) + ($36)|0); - $38 = HEAP8[$37>>0]|0; - $39 = ((($p$15)) + 1|0); - HEAP8[$39>>0] = $38; - $40 = $33 | 2; - $41 = (($palette) + ($40)|0); - $42 = HEAP8[$41>>0]|0; - $43 = ((($p$15)) + 2|0); - HEAP8[$43>>0] = $42; - $44 = $33 | 3; - $45 = (($palette) + ($44)|0); - $46 = HEAP8[$45>>0]|0; - $47 = ((($p$15)) + 3|0); - HEAP8[$47>>0] = $46; - $48 = ((($p$15)) + 4|0); - $49 = (($i$16) + 1)|0; - $exitcond8 = ($49|0)==($12|0); - if ($exitcond8) { - break; - } else { - $i$16 = $49;$p$15 = $48; - } - } - } - } - $50 = HEAP32[$5>>2]|0; - _free($50); - HEAP32[$5>>2] = $8; - $$0 = 1; - return ($$0|0); -} -function _stbi__create_png_image_raw($a,$raw,$raw_len,$out_n,$x,$y,$depth,$color) { - $a = $a|0; - $raw = $raw|0; - $raw_len = $raw_len|0; - $out_n = $out_n|0; - $x = $x|0; - $y = $y|0; - $depth = $depth|0; - $color = $color|0; - var $$0 = 0, $$01229 = 0, $$1 = 0, $$2213 = 0, $$3205 = 0, $$4197 = 0, $$5188 = 0, $$6179 = 0, $$7170 = 0, $$8162 = 0, $$9 = 0, $$sum = 0, $$sum10 = 0, $$sum11 = 0, $$sum12 = 0, $$sum13 = 0, $$sum15 = 0, $$sum16 = 0, $$sum17 = 0, $$sum18 = 0; - var $$sum19 = 0, $$sum2 = 0, $$sum20 = 0, $$sum21 = 0, $$sum22 = 0, $$sum23 = 0, $$sum24 = 0, $$sum25 = 0, $$sum26 = 0, $$sum27$pn = 0, $$sum290 = 0, $$sum291 = 0, $$sum292 = 0, $$sum293 = 0, $$sum294 = 0, $$sum295 = 0, $$sum296 = 0, $$sum297 = 0, $$sum298 = 0, $$sum299 = 0; - var $$sum3 = 0, $$sum300 = 0, $$sum301 = 0, $$sum302 = 0, $$sum303 = 0, $$sum304 = 0, $$sum31 = 0, $$sum32 = 0, $$sum33 = 0, $$sum34 = 0, $$sum35 = 0, $$sum36 = 0, $$sum37 = 0, $$sum38 = 0, $$sum39 = 0, $$sum4 = 0, $$sum40 = 0, $$sum41 = 0, $$sum41$pn = 0, $$sum5 = 0; - var $$sum6 = 0, $$sum63 = 0, $$sum64 = 0, $$sum65 = 0, $$sum66 = 0, $$sum67 = 0, $$sum68 = 0, $$sum69 = 0, $$sum7 = 0, $$sum8 = 0, $$sum9 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0; - var $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0; - var $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0; - var $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0; - var $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0; - var $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0; - var $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0; - var $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0; - var $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0; - var $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0; - var $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0; - var $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0; - var $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0; - var $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0; - var $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0; - var $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0; - var $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0; - var $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0; - var $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0; - var $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0; - var $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0; - var $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0; - var $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0; - var $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0; - var $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0, $531 = 0, $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0; - var $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0, $549 = 0, $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0; - var $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0, $562 = 0, $563 = 0, $564 = 0, $565 = 0, $566 = 0, $567 = 0, $568 = 0, $569 = 0, $57 = 0, $570 = 0, $571 = 0, $572 = 0, $573 = 0, $574 = 0; - var $575 = 0, $576 = 0, $577 = 0, $578 = 0, $579 = 0, $58 = 0, $580 = 0, $581 = 0, $582 = 0, $583 = 0, $584 = 0, $585 = 0, $586 = 0, $587 = 0, $588 = 0, $589 = 0, $59 = 0, $590 = 0, $591 = 0, $592 = 0; - var $593 = 0, $594 = 0, $595 = 0, $596 = 0, $597 = 0, $598 = 0, $599 = 0, $6 = 0, $60 = 0, $600 = 0, $601 = 0, $602 = 0, $603 = 0, $604 = 0, $605 = 0, $606 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0; - var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0; - var $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $brmerge = 0, $cur$0$sum = 0; - var $cur$0$sum42 = 0, $cur$0$sum43 = 0, $cur$0$sum44 = 0, $cur$0$sum45 = 0, $cur$0$sum46 = 0, $cur$0$sum47 = 0, $cur$0$sum48 = 0, $cur$0$sum49 = 0, $cur$0$sum50 = 0, $cur$0$sum51 = 0, $cur$0$sum53$pn = 0, $cur$0$sum54 = 0, $cur$0$sum55 = 0, $cur$0$sum56 = 0, $cur$0$sum57 = 0, $cur$0$sum58 = 0, $cur$0$sum59 = 0, $cur$0$sum60 = 0, $cur$0$sum61 = 0, $cur$1 = 0; - var $cur$2212 = 0, $cur$3204 = 0, $cur$4195 = 0, $cur$5186 = 0, $cur$6177 = 0, $cur$7169 = 0, $cur$8161 = 0, $cur1$0$lcssa = 0, $cur1$0138 = 0, $cur1$1$lcssa = 0, $cur1$1130 = 0, $cur1$4$lcssa = 0, $cur1$4125 = 0, $exitcond = 0, $exitcond269 = 0, $exitcond271 = 0, $exitcond273 = 0, $exitcond275 = 0, $exitcond277 = 0, $exitcond279 = 0; - var $exitcond281 = 0, $exitcond284 = 0, $exitcond285 = 0, $exitcond286 = 0, $exitcond287 = 0, $exitcond288 = 0, $exitcond289 = 0, $filter$0 = 0, $filter_bytes$0 = 0, $i$0 = 0, $i$0211 = 0, $i$0214 = 0, $i$1 = 0, $i$1203 = 0, $i$1206 = 0, $i$2 = 0, $i$2194 = 0, $i$2198 = 0, $i$3 = 0, $i$3185 = 0; - var $i$3189 = 0, $i$4 = 0, $i$4176 = 0, $i$4180 = 0, $i$5 = 0, $i$5168 = 0, $i$5171 = 0, $i$6 = 0, $i$6160 = 0, $i$6163 = 0, $i3$0 = 0, $i3$0148 = 0, $i3$0149 = 0, $i3$1 = 0, $i3$1145 = 0, $i3$1146 = 0, $in$0$lcssa = 0, $in$0139 = 0, $in$1$lcssa = 0, $in$1131 = 0; - var $in$2$lcssa = 0, $in$2126 = 0, $indvars$iv = 0, $indvars$iv$next = 0, $indvars$iv$next255 = 0, $indvars$iv$next258 = 0, $indvars$iv$next261 = 0, $indvars$iv$next264 = 0, $indvars$iv$next267 = 0, $indvars$iv254 = 0, $indvars$iv257 = 0, $indvars$iv260 = 0, $indvars$iv263 = 0, $indvars$iv266 = 0, $j$0228 = 0, $j$1151 = 0, $k$0153 = 0, $k$10182 = 0, $k$11173 = 0, $k$12165 = 0; - var $k$1226 = 0, $k$13157 = 0, $k$14$lcssa = 0, $k$14137 = 0, $k$15$lcssa = 0, $k$15129 = 0, $k$16$lcssa = 0, $k$16124 = 0, $k$2224 = 0, $k$3222 = 0, $k$4220 = 0, $k$5218 = 0, $k$6216 = 0, $k$7208 = 0, $k$8200 = 0, $k$9191 = 0, $or$cond = 0, $or$cond311 = 0, $prior$0 = 0, $prior$0$sum = 0; - var $prior$0$sum28 = 0, $prior$0$sum29 = 0, $prior$0$sum30 = 0, $prior$3196 = 0, $prior$4187 = 0, $prior$5178 = 0, $scevgep = 0, $scevgep256 = 0, $scevgep259 = 0, $scevgep262 = 0, $scevgep265 = 0, $scevgep268 = 0, $scevgep270 = 0, $scevgep272 = 0, $scevgep274 = 0, $scevgep276 = 0, $scevgep278 = 0, $scevgep280 = 0, $scevgep283 = 0, $width$0 = 0; - var label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[$a>>2]|0; - $1 = Math_imul($x, $out_n)|0; - $2 = ((($0)) + 8|0); - $3 = HEAP32[$2>>2]|0; - $4 = ($3|0)==($out_n|0); - $5 = (($3) + 1)|0; - $6 = ($5|0)==($out_n|0); - $or$cond = $4 | $6; - if (!($or$cond)) { - ___assert_fail((25320|0),(25096|0),3974,(25368|0)); - // unreachable; - } - $7 = Math_imul($x, $out_n)|0; - $8 = Math_imul($7, $y)|0; - $9 = (_stbi__malloc($8)|0); - $10 = ((($a)) + 12|0); - HEAP32[$10>>2] = $9; - $11 = ($9|0)==(0|0); - if ($11) { - _stbi__err(25000); - $$0 = 0; - return ($$0|0); - } - $12 = Math_imul($3, $x)|0; - $13 = Math_imul($12, $depth)|0; - $14 = (($13) + 7)|0; - $15 = $14 >>> 3; - $16 = (($15) + 1)|0; - $17 = Math_imul($16, $y)|0; - $18 = HEAP32[$0>>2]|0; - $19 = ($18|0)==($x|0); - if ($19) { - $20 = ((($0)) + 4|0); - $21 = HEAP32[$20>>2]|0; - $22 = ($21|0)==($y|0); - if ($22) { - $23 = ($17|0)==($raw_len|0); - if (!($23)) { - _stbi__err(25400); - $$0 = 0; - return ($$0|0); - } - } else { - label = 9; - } - } else { - label = 9; - } - if ((label|0) == 9) { - $24 = ($17>>>0)>($raw_len>>>0); - if ($24) { - _stbi__err(25400); - $$0 = 0; - return ($$0|0); - } - } - $25 = ($y|0)==(0); - L18: do { - if (!($25)) { - $26 = ($depth|0)<(8); - $27 = ($15>>>0)>($x>>>0); - $28 = (($1) - ($15))|0; - $29 = ($depth|0)==(8); - $$sum26 = (($3) + 1)|0; - $brmerge = $26 | $4; - $i$0211 = (($x) + -1)|0; - $30 = ($i$0211|0)==(0); - $31 = ($3|0)>(0); - $i$1203 = (($x) + -1)|0; - $32 = ($i$1203|0)==(0); - $33 = ($3|0)>(0); - $i$2194 = (($x) + -1)|0; - $34 = ($i$2194|0)==(0); - $35 = ($3|0)>(0); - $i$3185 = (($x) + -1)|0; - $36 = ($i$3185|0)==(0); - $37 = ($3|0)>(0); - $i$4176 = (($x) + -1)|0; - $38 = ($i$4176|0)==(0); - $39 = ($3|0)>(0); - $i$5168 = (($x) + -1)|0; - $40 = ($i$5168|0)==(0); - $41 = ($3|0)>(0); - $i$6160 = (($x) + -1)|0; - $42 = ($i$6160|0)==(0); - $43 = ($3|0)>(0); - $44 = Math_imul($3, $i$6160)|0; - $$01229 = $raw;$j$0228 = 0; - L20: while(1) { - $45 = HEAP32[$10>>2]|0; - $46 = Math_imul($j$0228, $1)|0; - $$sum13 = (($46) - ($1))|0; - $47 = HEAP8[$$01229>>0]|0; - $48 = $47&255; - $49 = ($47&255)>(4); - if ($49) { - label = 14; - break; - } - if ($26) { - if ($27) { - label = 17; - break; - } - $$sum41 = (($28) + ($46))|0; - $$sum41$pn = $$sum41;$filter_bytes$0 = 1;$width$0 = $15; - } else { - $$sum41$pn = $46;$filter_bytes$0 = $3;$width$0 = $x; - } - $50 = ($j$0228|0)==(0); - if ($50) { - $51 = (25464 + ($48)|0); - $52 = HEAP8[$51>>0]|0; - $53 = $52&255; - $filter$0 = $53; - } else { - $filter$0 = $48; - } - $54 = ($filter_bytes$0|0)>(0); - L30: do { - if ($54) { - $k$0153 = 0; - while(1) { - switch ($filter$0|0) { - case 1: { - $$sum39 = (($k$0153) + 1)|0; - $58 = (($$01229) + ($$sum39)|0); - $59 = HEAP8[$58>>0]|0; - $cur$0$sum56 = (($k$0153) + ($$sum41$pn))|0; - $60 = (($45) + ($cur$0$sum56)|0); - HEAP8[$60>>0] = $59; - break; - } - case 0: { - $$sum40 = (($k$0153) + 1)|0; - $55 = (($$01229) + ($$sum40)|0); - $56 = HEAP8[$55>>0]|0; - $cur$0$sum55 = (($k$0153) + ($$sum41$pn))|0; - $57 = (($45) + ($cur$0$sum55)|0); - HEAP8[$57>>0] = $56; - break; - } - case 4: { - $$sum33 = (($k$0153) + 1)|0; - $80 = (($$01229) + ($$sum33)|0); - $81 = HEAP8[$80>>0]|0; - $82 = $81&255; - $$sum34 = (($k$0153) + ($$sum13))|0; - $83 = (($45) + ($$sum34)|0); - $84 = HEAP8[$83>>0]|0; - $85 = $84&255; - $86 = (_stbi__paeth(0,$85,0)|0); - $87 = (($86) + ($82))|0; - $88 = $87&255; - $cur$0$sum59 = (($k$0153) + ($$sum41$pn))|0; - $89 = (($45) + ($cur$0$sum59)|0); - HEAP8[$89>>0] = $88; - break; - } - case 5: { - $$sum32 = (($k$0153) + 1)|0; - $90 = (($$01229) + ($$sum32)|0); - $91 = HEAP8[$90>>0]|0; - $cur$0$sum60 = (($k$0153) + ($$sum41$pn))|0; - $92 = (($45) + ($cur$0$sum60)|0); - HEAP8[$92>>0] = $91; - break; - } - case 6: { - $$sum31 = (($k$0153) + 1)|0; - $93 = (($$01229) + ($$sum31)|0); - $94 = HEAP8[$93>>0]|0; - $cur$0$sum61 = (($k$0153) + ($$sum41$pn))|0; - $95 = (($45) + ($cur$0$sum61)|0); - HEAP8[$95>>0] = $94; - break; - } - case 2: { - $$sum37 = (($k$0153) + 1)|0; - $61 = (($$01229) + ($$sum37)|0); - $62 = HEAP8[$61>>0]|0; - $63 = $62&255; - $$sum38 = (($k$0153) + ($$sum13))|0; - $64 = (($45) + ($$sum38)|0); - $65 = HEAP8[$64>>0]|0; - $66 = $65&255; - $67 = (($66) + ($63))|0; - $68 = $67&255; - $cur$0$sum57 = (($k$0153) + ($$sum41$pn))|0; - $69 = (($45) + ($cur$0$sum57)|0); - HEAP8[$69>>0] = $68; - break; - } - case 3: { - $$sum35 = (($k$0153) + 1)|0; - $70 = (($$01229) + ($$sum35)|0); - $71 = HEAP8[$70>>0]|0; - $72 = $71&255; - $$sum36 = (($k$0153) + ($$sum13))|0; - $73 = (($45) + ($$sum36)|0); - $74 = HEAP8[$73>>0]|0; - $75 = $74&255; - $76 = $75 >>> 1; - $77 = (($76) + ($72))|0; - $78 = $77&255; - $cur$0$sum58 = (($k$0153) + ($$sum41$pn))|0; - $79 = (($45) + ($cur$0$sum58)|0); - HEAP8[$79>>0] = $78; - break; - } - default: { - } - } - $96 = (($k$0153) + 1)|0; - $exitcond = ($96|0)==($filter_bytes$0|0); - if ($exitcond) { - break L30; - } else { - $k$0153 = $96; - } - } - } - } while(0); - if ($29) { - if (!($4)) { - $cur$0$sum54 = (($$sum41$pn) + ($3))|0; - $97 = (($45) + ($cur$0$sum54)|0); - HEAP8[$97>>0] = -1; - } - $98 = (($$01229) + ($$sum26)|0); - $$1 = $98;$100 = $out_n;$125 = $$sum26; - } else { - $99 = ((($$01229)) + 2|0); - $$1 = $99;$100 = 1;$125 = 2; - } - $$sum27$pn = (($100) + ($$sum13))|0; - $cur$0$sum53$pn = (($100) + ($$sum41$pn))|0; - $cur$1 = (($45) + ($cur$0$sum53$pn)|0); - $prior$0 = (($45) + ($$sum27$pn)|0); - L50: do { - if ($brmerge) { - $101 = (($width$0) + -1)|0; - $102 = Math_imul($101, $3)|0; - switch ($filter$0|0) { - case 2: { - $118 = ($102|0)>(0); - if ($118) { - $$sum23 = (($100) + ($$sum41$pn))|0; - $119 = (($width$0) + -1)|0; - $120 = Math_imul($3, $119)|0; - $k$2224 = 0; - while(1) { - $$sum68 = (($k$2224) + ($125))|0; - $136 = (($$01229) + ($$sum68)|0); - $137 = HEAP8[$136>>0]|0; - $138 = $137&255; - $prior$0$sum = (($k$2224) + ($$sum27$pn))|0; - $139 = (($45) + ($prior$0$sum)|0); - $140 = HEAP8[$139>>0]|0; - $141 = $140&255; - $142 = (($141) + ($138))|0; - $143 = $142&255; - $cur$0$sum43 = (($$sum23) + ($k$2224))|0; - $144 = (($45) + ($cur$0$sum43)|0); - HEAP8[$144>>0] = $143; - $145 = (($k$2224) + 1)|0; - $exitcond288 = ($145|0)==($120|0); - if ($exitcond288) { - break; - } else { - $k$2224 = $145; - } - } - } - break; - } - case 1: { - $121 = ($102|0)>(0); - if ($121) { - $122 = (($$sum41$pn) - ($filter_bytes$0))|0; - $$sum24 = (($122) + ($100))|0; - $$sum25 = (($100) + ($$sum41$pn))|0; - $123 = (($width$0) + -1)|0; - $124 = Math_imul($3, $123)|0; - $k$1226 = 0; - while(1) { - $$sum69 = (($k$1226) + ($125))|0; - $126 = (($$01229) + ($$sum69)|0); - $127 = HEAP8[$126>>0]|0; - $128 = $127&255; - $cur$0$sum42 = (($$sum24) + ($k$1226))|0; - $129 = (($45) + ($cur$0$sum42)|0); - $130 = HEAP8[$129>>0]|0; - $131 = $130&255; - $132 = (($131) + ($128))|0; - $133 = $132&255; - $cur$0$sum = (($$sum25) + ($k$1226))|0; - $134 = (($45) + ($cur$0$sum)|0); - HEAP8[$134>>0] = $133; - $135 = (($k$1226) + 1)|0; - $exitcond289 = ($135|0)==($124|0); - if ($exitcond289) { - break; - } else { - $k$1226 = $135; - } - } - } - break; - } - case 3: { - $114 = ($102|0)>(0); - if ($114) { - $115 = (($$sum41$pn) - ($filter_bytes$0))|0; - $$sum21 = (($115) + ($100))|0; - $$sum22 = (($100) + ($$sum41$pn))|0; - $116 = (($width$0) + -1)|0; - $117 = Math_imul($3, $116)|0; - $k$3222 = 0; - while(1) { - $$sum67 = (($k$3222) + ($125))|0; - $146 = (($$01229) + ($$sum67)|0); - $147 = HEAP8[$146>>0]|0; - $148 = $147&255; - $prior$0$sum28 = (($k$3222) + ($$sum27$pn))|0; - $149 = (($45) + ($prior$0$sum28)|0); - $150 = HEAP8[$149>>0]|0; - $151 = $150&255; - $cur$0$sum45 = (($$sum21) + ($k$3222))|0; - $152 = (($45) + ($cur$0$sum45)|0); - $153 = HEAP8[$152>>0]|0; - $154 = $153&255; - $155 = (($154) + ($151))|0; - $156 = $155 >>> 1; - $157 = (($156) + ($148))|0; - $158 = $157&255; - $cur$0$sum44 = (($$sum22) + ($k$3222))|0; - $159 = (($45) + ($cur$0$sum44)|0); - HEAP8[$159>>0] = $158; - $160 = (($k$3222) + 1)|0; - $exitcond287 = ($160|0)==($117|0); - if ($exitcond287) { - break; - } else { - $k$3222 = $160; - } - } - } - break; - } - case 0: { - _memcpy(($cur$1|0),($$1|0),($102|0))|0; - break; - } - case 4: { - $111 = ($102|0)>(0); - if ($111) { - $$sum19 = (($100) + ($$sum41$pn))|0; - $$sum20 = (($100) + ($$sum41$pn))|0; - $112 = (($width$0) + -1)|0; - $113 = Math_imul($3, $112)|0; - $k$4220 = 0; - while(1) { - $$sum66 = (($k$4220) + ($125))|0; - $161 = (($$01229) + ($$sum66)|0); - $162 = HEAP8[$161>>0]|0; - $163 = $162&255; - $164 = (($k$4220) - ($filter_bytes$0))|0; - $cur$0$sum47 = (($$sum19) + ($164))|0; - $165 = (($45) + ($cur$0$sum47)|0); - $166 = HEAP8[$165>>0]|0; - $167 = $166&255; - $prior$0$sum30 = (($k$4220) + ($$sum27$pn))|0; - $168 = (($45) + ($prior$0$sum30)|0); - $169 = HEAP8[$168>>0]|0; - $170 = $169&255; - $prior$0$sum29 = (($164) + ($$sum27$pn))|0; - $171 = (($45) + ($prior$0$sum29)|0); - $172 = HEAP8[$171>>0]|0; - $173 = $172&255; - $174 = (_stbi__paeth($167,$170,$173)|0); - $175 = (($174) + ($163))|0; - $176 = $175&255; - $cur$0$sum46 = (($$sum20) + ($k$4220))|0; - $177 = (($45) + ($cur$0$sum46)|0); - HEAP8[$177>>0] = $176; - $178 = (($k$4220) + 1)|0; - $exitcond286 = ($178|0)==($113|0); - if ($exitcond286) { - break; - } else { - $k$4220 = $178; - } - } - } - break; - } - case 6: { - $103 = ($102|0)>(0); - if ($103) { - $104 = (($$sum41$pn) - ($filter_bytes$0))|0; - $$sum15 = (($104) + ($100))|0; - $$sum16 = (($100) + ($$sum41$pn))|0; - $105 = (($width$0) + -1)|0; - $106 = Math_imul($3, $105)|0; - $k$6216 = 0; - while(1) { - $$sum64 = (($k$6216) + ($125))|0; - $190 = (($$01229) + ($$sum64)|0); - $191 = HEAP8[$190>>0]|0; - $192 = $191&255; - $cur$0$sum51 = (($$sum15) + ($k$6216))|0; - $193 = (($45) + ($cur$0$sum51)|0); - $194 = HEAP8[$193>>0]|0; - $195 = $194&255; - $196 = (_stbi__paeth($195,0,0)|0); - $197 = (($196) + ($192))|0; - $198 = $197&255; - $cur$0$sum50 = (($$sum16) + ($k$6216))|0; - $199 = (($45) + ($cur$0$sum50)|0); - HEAP8[$199>>0] = $198; - $200 = (($k$6216) + 1)|0; - $exitcond284 = ($200|0)==($106|0); - if ($exitcond284) { - break; - } else { - $k$6216 = $200; - } - } - } - break; - } - case 5: { - $107 = ($102|0)>(0); - if ($107) { - $108 = (($$sum41$pn) - ($filter_bytes$0))|0; - $$sum17 = (($108) + ($100))|0; - $$sum18 = (($100) + ($$sum41$pn))|0; - $109 = (($width$0) + -1)|0; - $110 = Math_imul($3, $109)|0; - $k$5218 = 0; - while(1) { - $$sum65 = (($k$5218) + ($125))|0; - $179 = (($$01229) + ($$sum65)|0); - $180 = HEAP8[$179>>0]|0; - $181 = $180&255; - $cur$0$sum49 = (($$sum17) + ($k$5218))|0; - $182 = (($45) + ($cur$0$sum49)|0); - $183 = HEAP8[$182>>0]|0; - $184 = $183&255; - $185 = $184 >>> 1; - $186 = (($185) + ($181))|0; - $187 = $186&255; - $cur$0$sum48 = (($$sum18) + ($k$5218))|0; - $188 = (($45) + ($cur$0$sum48)|0); - HEAP8[$188>>0] = $187; - $189 = (($k$5218) + 1)|0; - $exitcond285 = ($189|0)==($110|0); - if ($exitcond285) { - break; - } else { - $k$5218 = $189; - } - } - } - break; - } - default: { - } - } - $$sum63 = (($125) + ($102))|0; - $201 = (($$01229) + ($$sum63)|0); - $$9 = $201; - } else { - if (!($6)) { - label = 59; - break L20; - } - switch ($filter$0|0) { - case 6: { - if ($42) { - $$9 = $$1; - break L50; - } else { - $$8162 = $$1;$cur$8161 = $cur$1;$i$6163 = $i$6160; - } - while(1) { - if ($43) { - $k$13157 = 0; - while(1) { - $300 = (($$8162) + ($k$13157)|0); - $301 = HEAP8[$300>>0]|0; - $302 = $301&255; - $303 = (($k$13157) - ($out_n))|0; - $304 = (($cur$8161) + ($303)|0); - $305 = HEAP8[$304>>0]|0; - $306 = $305&255; - $307 = (_stbi__paeth($306,0,0)|0); - $308 = (($307) + ($302))|0; - $309 = $308&255; - $310 = (($cur$8161) + ($k$13157)|0); - HEAP8[$310>>0] = $309; - $311 = (($k$13157) + 1)|0; - $exitcond269 = ($311|0)==($3|0); - if ($exitcond269) { - break; - } else { - $k$13157 = $311; - } - } - } - $312 = (($cur$8161) + ($3)|0); - HEAP8[$312>>0] = -1; - $313 = (($$8162) + ($3)|0); - $314 = (($cur$8161) + ($out_n)|0); - $i$6 = (($i$6163) + -1)|0; - $315 = ($i$6|0)==(0); - if ($315) { - break; - } else { - $$8162 = $313;$cur$8161 = $314;$i$6163 = $i$6; - } - } - $$sum290 = (($125) + ($44))|0; - $scevgep270 = (($$01229) + ($$sum290)|0); - $$9 = $scevgep270; - break L50; - break; - } - case 5: { - if ($40) { - $$9 = $$1; - break L50; - } else { - $$7170 = $$1;$cur$7169 = $cur$1;$i$5171 = $i$5168; - } - while(1) { - if ($41) { - $k$12165 = 0; - while(1) { - $284 = (($$7170) + ($k$12165)|0); - $285 = HEAP8[$284>>0]|0; - $286 = $285&255; - $287 = (($k$12165) - ($out_n))|0; - $288 = (($cur$7169) + ($287)|0); - $289 = HEAP8[$288>>0]|0; - $290 = $289&255; - $291 = $290 >>> 1; - $292 = (($291) + ($286))|0; - $293 = $292&255; - $294 = (($cur$7169) + ($k$12165)|0); - HEAP8[$294>>0] = $293; - $295 = (($k$12165) + 1)|0; - $exitcond271 = ($295|0)==($3|0); - if ($exitcond271) { - break; - } else { - $k$12165 = $295; - } - } - } - $296 = (($cur$7169) + ($3)|0); - HEAP8[$296>>0] = -1; - $297 = (($$7170) + ($3)|0); - $298 = (($cur$7169) + ($out_n)|0); - $i$5 = (($i$5171) + -1)|0; - $299 = ($i$5|0)==(0); - if ($299) { - break; - } else { - $$7170 = $297;$cur$7169 = $298;$i$5171 = $i$5; - } - } - $$sum299 = (($125) + ($44))|0; - $scevgep272 = (($$01229) + ($$sum299)|0); - $$9 = $scevgep272; - break L50; - break; - } - case 4: { - if ($38) { - $$9 = $$1; - break L50; - } else { - $$6179 = $$1;$cur$6177 = $cur$1;$i$4180 = $i$4176;$prior$5178 = $prior$0; - } - while(1) { - if ($39) { - $k$11173 = 0; - while(1) { - $261 = (($$6179) + ($k$11173)|0); - $262 = HEAP8[$261>>0]|0; - $263 = $262&255; - $264 = (($k$11173) - ($out_n))|0; - $265 = (($cur$6177) + ($264)|0); - $266 = HEAP8[$265>>0]|0; - $267 = $266&255; - $268 = (($prior$5178) + ($k$11173)|0); - $269 = HEAP8[$268>>0]|0; - $270 = $269&255; - $271 = (($prior$5178) + ($264)|0); - $272 = HEAP8[$271>>0]|0; - $273 = $272&255; - $274 = (_stbi__paeth($267,$270,$273)|0); - $275 = (($274) + ($263))|0; - $276 = $275&255; - $277 = (($cur$6177) + ($k$11173)|0); - HEAP8[$277>>0] = $276; - $278 = (($k$11173) + 1)|0; - $exitcond273 = ($278|0)==($3|0); - if ($exitcond273) { - break; - } else { - $k$11173 = $278; - } - } - } - $279 = (($cur$6177) + ($3)|0); - HEAP8[$279>>0] = -1; - $280 = (($$6179) + ($3)|0); - $281 = (($cur$6177) + ($out_n)|0); - $282 = (($prior$5178) + ($out_n)|0); - $i$4 = (($i$4180) + -1)|0; - $283 = ($i$4|0)==(0); - if ($283) { - break; - } else { - $$6179 = $280;$cur$6177 = $281;$i$4180 = $i$4;$prior$5178 = $282; - } - } - $$sum300 = (($125) + ($44))|0; - $scevgep274 = (($$01229) + ($$sum300)|0); - $$9 = $scevgep274; - break L50; - break; - } - case 1: { - if ($32) { - $$9 = $$1; - break L50; - } else { - $$3205 = $$1;$cur$3204 = $cur$1;$i$1206 = $i$1203; - } - while(1) { - if ($33) { - $k$8200 = 0; - while(1) { - $210 = (($$3205) + ($k$8200)|0); - $211 = HEAP8[$210>>0]|0; - $212 = $211&255; - $213 = (($k$8200) - ($out_n))|0; - $214 = (($cur$3204) + ($213)|0); - $215 = HEAP8[$214>>0]|0; - $216 = $215&255; - $217 = (($216) + ($212))|0; - $218 = $217&255; - $219 = (($cur$3204) + ($k$8200)|0); - HEAP8[$219>>0] = $218; - $220 = (($k$8200) + 1)|0; - $exitcond279 = ($220|0)==($3|0); - if ($exitcond279) { - break; - } else { - $k$8200 = $220; - } - } - } - $221 = (($cur$3204) + ($3)|0); - HEAP8[$221>>0] = -1; - $222 = (($$3205) + ($3)|0); - $223 = (($cur$3204) + ($out_n)|0); - $i$1 = (($i$1206) + -1)|0; - $224 = ($i$1|0)==(0); - if ($224) { - break; - } else { - $$3205 = $222;$cur$3204 = $223;$i$1206 = $i$1; - } - } - $$sum303 = (($125) + ($44))|0; - $scevgep280 = (($$01229) + ($$sum303)|0); - $$9 = $scevgep280; - break L50; - break; - } - case 2: { - if ($34) { - $$9 = $$1; - break L50; - } else { - $$4197 = $$1;$cur$4195 = $cur$1;$i$2198 = $i$2194;$prior$3196 = $prior$0; - } - while(1) { - if ($35) { - $k$9191 = 0; - while(1) { - $225 = (($$4197) + ($k$9191)|0); - $226 = HEAP8[$225>>0]|0; - $227 = $226&255; - $228 = (($prior$3196) + ($k$9191)|0); - $229 = HEAP8[$228>>0]|0; - $230 = $229&255; - $231 = (($230) + ($227))|0; - $232 = $231&255; - $233 = (($cur$4195) + ($k$9191)|0); - HEAP8[$233>>0] = $232; - $234 = (($k$9191) + 1)|0; - $exitcond277 = ($234|0)==($3|0); - if ($exitcond277) { - break; - } else { - $k$9191 = $234; - } - } - } - $235 = (($cur$4195) + ($3)|0); - HEAP8[$235>>0] = -1; - $236 = (($$4197) + ($3)|0); - $237 = (($cur$4195) + ($out_n)|0); - $238 = (($prior$3196) + ($out_n)|0); - $i$2 = (($i$2198) + -1)|0; - $239 = ($i$2|0)==(0); - if ($239) { - break; - } else { - $$4197 = $236;$cur$4195 = $237;$i$2198 = $i$2;$prior$3196 = $238; - } - } - $$sum302 = (($125) + ($44))|0; - $scevgep278 = (($$01229) + ($$sum302)|0); - $$9 = $scevgep278; - break L50; - break; - } - case 0: { - if ($30) { - $$9 = $$1; - break L50; - } else { - $$2213 = $$1;$cur$2212 = $cur$1;$i$0214 = $i$0211; - } - while(1) { - if ($31) { - $k$7208 = 0; - while(1) { - $202 = (($$2213) + ($k$7208)|0); - $203 = HEAP8[$202>>0]|0; - $204 = (($cur$2212) + ($k$7208)|0); - HEAP8[$204>>0] = $203; - $205 = (($k$7208) + 1)|0; - $exitcond281 = ($205|0)==($3|0); - if ($exitcond281) { - break; - } else { - $k$7208 = $205; - } - } - } - $206 = (($cur$2212) + ($3)|0); - HEAP8[$206>>0] = -1; - $207 = (($$2213) + ($3)|0); - $208 = (($cur$2212) + ($out_n)|0); - $i$0 = (($i$0214) + -1)|0; - $209 = ($i$0|0)==(0); - if ($209) { - break; - } else { - $$2213 = $207;$cur$2212 = $208;$i$0214 = $i$0; - } - } - $$sum304 = (($125) + ($44))|0; - $scevgep283 = (($$01229) + ($$sum304)|0); - $$9 = $scevgep283; - break L50; - break; - } - case 3: { - if ($36) { - $$9 = $$1; - break L50; - } else { - $$5188 = $$1;$cur$5186 = $cur$1;$i$3189 = $i$3185;$prior$4187 = $prior$0; - } - while(1) { - if ($37) { - $k$10182 = 0; - while(1) { - $240 = (($$5188) + ($k$10182)|0); - $241 = HEAP8[$240>>0]|0; - $242 = $241&255; - $243 = (($prior$4187) + ($k$10182)|0); - $244 = HEAP8[$243>>0]|0; - $245 = $244&255; - $246 = (($k$10182) - ($out_n))|0; - $247 = (($cur$5186) + ($246)|0); - $248 = HEAP8[$247>>0]|0; - $249 = $248&255; - $250 = (($249) + ($245))|0; - $251 = $250 >>> 1; - $252 = (($251) + ($242))|0; - $253 = $252&255; - $254 = (($cur$5186) + ($k$10182)|0); - HEAP8[$254>>0] = $253; - $255 = (($k$10182) + 1)|0; - $exitcond275 = ($255|0)==($3|0); - if ($exitcond275) { - break; - } else { - $k$10182 = $255; - } - } - } - $256 = (($cur$5186) + ($3)|0); - HEAP8[$256>>0] = -1; - $257 = (($$5188) + ($3)|0); - $258 = (($cur$5186) + ($out_n)|0); - $259 = (($prior$4187) + ($out_n)|0); - $i$3 = (($i$3189) + -1)|0; - $260 = ($i$3|0)==(0); - if ($260) { - break; - } else { - $$5188 = $257;$cur$5186 = $258;$i$3189 = $i$3;$prior$4187 = $259; - } - } - $$sum301 = (($125) + ($44))|0; - $scevgep276 = (($$01229) + ($$sum301)|0); - $$9 = $scevgep276; - break L50; - break; - } - default: { - $$9 = $$1; - break L50; - } - } - } - } while(0); - $316 = (($j$0228) + 1)|0; - $317 = ($316>>>0)<($y>>>0); - if ($317) { - $$01229 = $$9;$j$0228 = $316; - } else { - break L18; - } - } - if ((label|0) == 14) { - _stbi__err(25424); - $$0 = 0; - return ($$0|0); - } - else if ((label|0) == 17) { - ___assert_fail((25440|0),(25096|0),3996,(25368|0)); - // unreachable; - } - else if ((label|0) == 59) { - ___assert_fail((25472|0),(25096|0),4049,(25368|0)); - // unreachable; - } - } - } while(0); - $318 = ($depth|0)>(7); - $319 = ($y|0)==(0); - $or$cond311 = $318 | $319; - if ($or$cond311) { - $$0 = 1; - return ($$0|0); - } - $$sum = (($1) - ($15))|0; - $320 = ($color|0)==(0); - $321 = (24976 + ($depth)|0); - $i3$0148 = (($x) + -1)|0; - $322 = ($i3$0148|0)>(-1); - $i3$1145 = (($x) + -1)|0; - $323 = ($i3$1145|0)>(-1); - $324 = ($12|0)>(1); - $325 = ($12|0)>(3); - $326 = ($12|0)>(7); - $327 = Math_imul($3, $x)|0; - $328 = (($327) + -8)|0; - $329 = $328 >>> 3; - $330 = Math_imul($x, $out_n)|0; - $331 = (($329) + ($330))|0; - $332 = (($331) + 1)|0; - $333 = Math_imul($3, $depth)|0; - $334 = Math_imul($333, $x)|0; - $335 = (($334) + 7)|0; - $336 = $335 >>> 3; - $337 = (($332) - ($336))|0; - $338 = (($327) + -8)|0; - $339 = $329 << 3; - $340 = (($338) - ($339))|0; - $341 = (($339) + 8)|0; - $342 = Math_imul($3, $x)|0; - $343 = (($342) + -4)|0; - $344 = $343 >>> 2; - $345 = Math_imul($x, $out_n)|0; - $346 = (($344) + ($345))|0; - $347 = (($346) + 1)|0; - $348 = Math_imul($3, $depth)|0; - $349 = Math_imul($348, $x)|0; - $350 = (($349) + 7)|0; - $351 = $350 >>> 3; - $352 = (($347) - ($351))|0; - $353 = (($342) + -4)|0; - $354 = $344 << 2; - $355 = (($353) - ($354))|0; - $356 = (($354) + 4)|0; - $357 = Math_imul($3, $x)|0; - $358 = (($357) + -2)|0; - $359 = $358 >>> 1; - $360 = Math_imul($x, $out_n)|0; - $361 = (($359) + ($360))|0; - $362 = (($361) + 1)|0; - $363 = Math_imul($3, $depth)|0; - $364 = Math_imul($363, $x)|0; - $365 = (($364) + 7)|0; - $366 = $365 >>> 3; - $367 = (($362) - ($366))|0; - $368 = (($357) + -2)|0; - $369 = $359 << 1; - $370 = (($368) - ($369))|0; - $371 = (($369) + 2)|0; - $indvars$iv = $337;$indvars$iv254 = $341;$indvars$iv257 = $352;$indvars$iv260 = $356;$indvars$iv263 = $367;$indvars$iv266 = $371;$j$1151 = 0; - L148: while(1) { - $372 = HEAP32[$10>>2]|0; - $373 = Math_imul($j$1151, $1)|0; - $374 = (($372) + ($373)|0); - $$sum2 = (($$sum) + ($373))|0; - $375 = (($372) + ($$sum2)|0); - if ($320) { - $376 = HEAP8[$321>>0]|0; - $377 = $376&255; - $382 = $377; - } else { - $382 = 1; - } - if ((($depth|0) == 1)) { - if ($326) { - $scevgep = (($372) + ($indvars$iv)|0); - $cur1$4125 = $374;$in$2126 = $375;$k$16124 = $12; - while(1) { - $452 = HEAP8[$in$2126>>0]|0; - $453 = $452&255; - $454 = $453 >>> 7; - $455 = (0 - ($454))|0; - $456 = $382 & $455; - $457 = $456&255; - $458 = ((($cur1$4125)) + 1|0); - HEAP8[$cur1$4125>>0] = $457; - $459 = HEAP8[$in$2126>>0]|0; - $460 = $459&255; - $461 = $460 >>> 6; - $462 = $461 & 1; - $463 = (0 - ($462))|0; - $464 = $382 & $463; - $465 = $464&255; - $466 = ((($cur1$4125)) + 2|0); - HEAP8[$458>>0] = $465; - $467 = HEAP8[$in$2126>>0]|0; - $468 = $467&255; - $469 = $468 >>> 5; - $470 = $469 & 1; - $471 = (0 - ($470))|0; - $472 = $382 & $471; - $473 = $472&255; - $474 = ((($cur1$4125)) + 3|0); - HEAP8[$466>>0] = $473; - $475 = HEAP8[$in$2126>>0]|0; - $476 = $475&255; - $477 = $476 >>> 4; - $478 = $477 & 1; - $479 = (0 - ($478))|0; - $480 = $382 & $479; - $481 = $480&255; - $482 = ((($cur1$4125)) + 4|0); - HEAP8[$474>>0] = $481; - $483 = HEAP8[$in$2126>>0]|0; - $484 = $483&255; - $485 = $484 >>> 3; - $486 = $485 & 1; - $487 = (0 - ($486))|0; - $488 = $382 & $487; - $489 = $488&255; - $490 = ((($cur1$4125)) + 5|0); - HEAP8[$482>>0] = $489; - $491 = HEAP8[$in$2126>>0]|0; - $492 = $491&255; - $493 = $492 >>> 2; - $494 = $493 & 1; - $495 = (0 - ($494))|0; - $496 = $382 & $495; - $497 = $496&255; - $498 = ((($cur1$4125)) + 6|0); - HEAP8[$490>>0] = $497; - $499 = HEAP8[$in$2126>>0]|0; - $500 = $499&255; - $501 = $500 >>> 1; - $502 = $501 & 1; - $503 = (0 - ($502))|0; - $504 = $382 & $503; - $505 = $504&255; - $506 = ((($cur1$4125)) + 7|0); - HEAP8[$498>>0] = $505; - $507 = HEAP8[$in$2126>>0]|0; - $508 = $507&255; - $509 = $508 & 1; - $510 = (0 - ($509))|0; - $511 = $382 & $510; - $512 = $511&255; - $513 = ((($cur1$4125)) + 8|0); - HEAP8[$506>>0] = $512; - $514 = (($k$16124) + -8)|0; - $515 = ((($in$2126)) + 1|0); - $516 = ($514|0)>(7); - if ($516) { - $cur1$4125 = $513;$in$2126 = $515;$k$16124 = $514; - } else { - break; - } - } - $scevgep256 = (($372) + ($indvars$iv254)|0); - $525 = $indvars$iv254;$cur1$4$lcssa = $scevgep256;$in$2$lcssa = $scevgep;$k$16$lcssa = $340; - } else { - $525 = $373;$cur1$4$lcssa = $374;$in$2$lcssa = $375;$k$16$lcssa = $12; - } - $517 = ($k$16$lcssa|0)>(0); - if ($517) { - $518 = HEAP8[$in$2$lcssa>>0]|0; - $519 = $518&255; - $520 = $519 >>> 7; - $521 = (0 - ($520))|0; - $522 = $382 & $521; - $523 = $522&255; - HEAP8[$cur1$4$lcssa>>0] = $523; - $524 = ($k$16$lcssa|0)>(1); - if ($524) { - $$sum291 = (($525) + 1)|0; - $526 = (($372) + ($$sum291)|0); - $527 = HEAP8[$in$2$lcssa>>0]|0; - $528 = $527&255; - $529 = $528 >>> 6; - $530 = $529 & 1; - $531 = (0 - ($530))|0; - $532 = $382 & $531; - $533 = $532&255; - HEAP8[$526>>0] = $533; - $534 = ($k$16$lcssa|0)>(2); - if ($534) { - $$sum292 = (($525) + 2)|0; - $535 = (($372) + ($$sum292)|0); - $536 = HEAP8[$in$2$lcssa>>0]|0; - $537 = $536&255; - $538 = $537 >>> 5; - $539 = $538 & 1; - $540 = (0 - ($539))|0; - $541 = $382 & $540; - $542 = $541&255; - HEAP8[$535>>0] = $542; - $543 = ($k$16$lcssa|0)>(3); - if ($543) { - $$sum293 = (($525) + 3)|0; - $544 = (($372) + ($$sum293)|0); - $545 = HEAP8[$in$2$lcssa>>0]|0; - $546 = $545&255; - $547 = $546 >>> 4; - $548 = $547 & 1; - $549 = (0 - ($548))|0; - $550 = $382 & $549; - $551 = $550&255; - HEAP8[$544>>0] = $551; - $552 = ($k$16$lcssa|0)>(4); - if ($552) { - $$sum294 = (($525) + 4)|0; - $553 = (($372) + ($$sum294)|0); - $554 = HEAP8[$in$2$lcssa>>0]|0; - $555 = $554&255; - $556 = $555 >>> 3; - $557 = $556 & 1; - $558 = (0 - ($557))|0; - $559 = $382 & $558; - $560 = $559&255; - HEAP8[$553>>0] = $560; - $561 = ($k$16$lcssa|0)>(5); - if ($561) { - $$sum295 = (($525) + 5)|0; - $562 = (($372) + ($$sum295)|0); - $563 = HEAP8[$in$2$lcssa>>0]|0; - $564 = $563&255; - $565 = $564 >>> 2; - $566 = $565 & 1; - $567 = (0 - ($566))|0; - $568 = $382 & $567; - $569 = $568&255; - HEAP8[$562>>0] = $569; - $570 = ($k$16$lcssa|0)>(6); - if ($570) { - $$sum296 = (($525) + 6)|0; - $571 = (($372) + ($$sum296)|0); - $572 = HEAP8[$in$2$lcssa>>0]|0; - $573 = $572&255; - $574 = $573 >>> 1; - $575 = $574 & 1; - $576 = (0 - ($575))|0; - $577 = $382 & $576; - $578 = $577&255; - HEAP8[$571>>0] = $578; - } - } - } - } - } - } - } - } else if ((($depth|0) == 4)) { - if ($324) { - $scevgep265 = (($372) + ($indvars$iv263)|0); - $cur1$0138 = $374;$in$0139 = $375;$k$14137 = $12; - while(1) { - $378 = HEAP8[$in$0139>>0]|0; - $379 = $378&255; - $380 = $379 >>> 4; - $381 = Math_imul($380, $382)|0; - $383 = $381&255; - $384 = ((($cur1$0138)) + 1|0); - HEAP8[$cur1$0138>>0] = $383; - $385 = HEAP8[$in$0139>>0]|0; - $386 = $385&255; - $387 = $386 & 15; - $388 = Math_imul($387, $382)|0; - $389 = $388&255; - $390 = ((($cur1$0138)) + 2|0); - HEAP8[$384>>0] = $389; - $391 = (($k$14137) + -2)|0; - $392 = ((($in$0139)) + 1|0); - $393 = ($391|0)>(1); - if ($393) { - $cur1$0138 = $390;$in$0139 = $392;$k$14137 = $391; - } else { - break; - } - } - $scevgep268 = (($372) + ($indvars$iv266)|0); - $cur1$0$lcssa = $scevgep268;$in$0$lcssa = $scevgep265;$k$14$lcssa = $370; - } else { - $cur1$0$lcssa = $374;$in$0$lcssa = $375;$k$14$lcssa = $12; - } - $394 = ($k$14$lcssa|0)>(0); - if ($394) { - $395 = HEAP8[$in$0$lcssa>>0]|0; - $396 = $395&255; - $397 = $396 >>> 4; - $398 = Math_imul($397, $382)|0; - $399 = $398&255; - HEAP8[$cur1$0$lcssa>>0] = $399; - } - } else if ((($depth|0) == 2)) { - if ($325) { - $scevgep259 = (($372) + ($indvars$iv257)|0); - $cur1$1130 = $374;$in$1131 = $375;$k$15129 = $12; - while(1) { - $400 = HEAP8[$in$1131>>0]|0; - $401 = $400&255; - $402 = $401 >>> 6; - $403 = Math_imul($402, $382)|0; - $404 = $403&255; - $405 = ((($cur1$1130)) + 1|0); - HEAP8[$cur1$1130>>0] = $404; - $406 = HEAP8[$in$1131>>0]|0; - $407 = $406&255; - $408 = $407 >>> 4; - $409 = $408 & 3; - $410 = Math_imul($409, $382)|0; - $411 = $410&255; - $412 = ((($cur1$1130)) + 2|0); - HEAP8[$405>>0] = $411; - $413 = HEAP8[$in$1131>>0]|0; - $414 = $413&255; - $415 = $414 >>> 2; - $416 = $415 & 3; - $417 = Math_imul($416, $382)|0; - $418 = $417&255; - $419 = ((($cur1$1130)) + 3|0); - HEAP8[$412>>0] = $418; - $420 = HEAP8[$in$1131>>0]|0; - $421 = $420&255; - $422 = $421 & 3; - $423 = Math_imul($422, $382)|0; - $424 = $423&255; - $425 = ((($cur1$1130)) + 4|0); - HEAP8[$419>>0] = $424; - $426 = (($k$15129) + -4)|0; - $427 = ((($in$1131)) + 1|0); - $428 = ($426|0)>(3); - if ($428) { - $cur1$1130 = $425;$in$1131 = $427;$k$15129 = $426; - } else { - break; - } - } - $scevgep262 = (($372) + ($indvars$iv260)|0); - $436 = $indvars$iv260;$cur1$1$lcssa = $scevgep262;$in$1$lcssa = $scevgep259;$k$15$lcssa = $355; - } else { - $436 = $373;$cur1$1$lcssa = $374;$in$1$lcssa = $375;$k$15$lcssa = $12; - } - $429 = ($k$15$lcssa|0)>(0); - if ($429) { - $430 = HEAP8[$in$1$lcssa>>0]|0; - $431 = $430&255; - $432 = $431 >>> 6; - $433 = Math_imul($432, $382)|0; - $434 = $433&255; - HEAP8[$cur1$1$lcssa>>0] = $434; - $435 = ($k$15$lcssa|0)>(1); - if ($435) { - $$sum297 = (($436) + 1)|0; - $437 = (($372) + ($$sum297)|0); - $438 = HEAP8[$in$1$lcssa>>0]|0; - $439 = $438&255; - $440 = $439 >>> 4; - $441 = $440 & 3; - $442 = Math_imul($441, $382)|0; - $443 = $442&255; - HEAP8[$437>>0] = $443; - $444 = ($k$15$lcssa|0)>(2); - if ($444) { - $$sum298 = (($436) + 2)|0; - $445 = (($372) + ($$sum298)|0); - $446 = HEAP8[$in$1$lcssa>>0]|0; - $447 = $446&255; - $448 = $447 >>> 2; - $449 = $448 & 3; - $450 = Math_imul($449, $382)|0; - $451 = $450&255; - HEAP8[$445>>0] = $451; - } - } - } - } - L187: do { - if (!($4)) { - $579 = HEAP32[$10>>2]|0; - if ((($3|0) == 1)) { - if ($322) { - $i3$0149 = $i3$0148; - } else { - break; - } - while(1) { - $582 = $i3$0149 << 1; - $583 = $582 | 1; - $$sum10 = (($583) + ($373))|0; - $584 = (($579) + ($$sum10)|0); - HEAP8[$584>>0] = -1; - $$sum11 = (($i3$0149) + ($373))|0; - $585 = (($579) + ($$sum11)|0); - $586 = HEAP8[$585>>0]|0; - $$sum12 = (($582) + ($373))|0; - $587 = (($579) + ($$sum12)|0); - HEAP8[$587>>0] = $586; - $i3$0 = (($i3$0149) + -1)|0; - $588 = ($i3$0|0)>(-1); - if ($588) { - $i3$0149 = $i3$0; - } else { - break L187; - } - } - } else if (!((($3|0) == 3))) { - label = 134; - break L148; - } - if ($323) { - $580 = (($373) + 2)|0; - $581 = (($373) + 1)|0; - $i3$1146 = $i3$1145; - while(1) { - $589 = $i3$1146 << 2; - $590 = $589 | 3; - $$sum3 = (($590) + ($373))|0; - $591 = (($579) + ($$sum3)|0); - HEAP8[$591>>0] = -1; - $592 = ($i3$1146*3)|0; - $$sum4 = (($580) + ($592))|0; - $593 = (($579) + ($$sum4)|0); - $594 = HEAP8[$593>>0]|0; - $595 = $589 | 2; - $$sum5 = (($595) + ($373))|0; - $596 = (($579) + ($$sum5)|0); - HEAP8[$596>>0] = $594; - $$sum6 = (($581) + ($592))|0; - $597 = (($579) + ($$sum6)|0); - $598 = HEAP8[$597>>0]|0; - $599 = $589 | 1; - $$sum7 = (($599) + ($373))|0; - $600 = (($579) + ($$sum7)|0); - HEAP8[$600>>0] = $598; - $$sum8 = (($592) + ($373))|0; - $601 = (($579) + ($$sum8)|0); - $602 = HEAP8[$601>>0]|0; - $$sum9 = (($589) + ($373))|0; - $603 = (($579) + ($$sum9)|0); - HEAP8[$603>>0] = $602; - $i3$1 = (($i3$1146) + -1)|0; - $604 = ($i3$1|0)>(-1); - if ($604) { - $i3$1146 = $i3$1; - } else { - break; - } - } - } - } - } while(0); - $605 = (($j$1151) + 1)|0; - $606 = ($605>>>0)<($y>>>0); - $indvars$iv$next = (($indvars$iv) + ($330))|0; - $indvars$iv$next255 = (($indvars$iv254) + ($330))|0; - $indvars$iv$next258 = (($indvars$iv257) + ($345))|0; - $indvars$iv$next261 = (($indvars$iv260) + ($345))|0; - $indvars$iv$next264 = (($indvars$iv263) + ($360))|0; - $indvars$iv$next267 = (($indvars$iv266) + ($360))|0; - if ($606) { - $indvars$iv = $indvars$iv$next;$indvars$iv254 = $indvars$iv$next255;$indvars$iv257 = $indvars$iv$next258;$indvars$iv260 = $indvars$iv$next261;$indvars$iv263 = $indvars$iv$next264;$indvars$iv266 = $indvars$iv$next267;$j$1151 = $605; - } else { - $$0 = 1; - label = 137; - break; - } - } - if ((label|0) == 134) { - ___assert_fail((25496|0),(25096|0),4129,(25368|0)); - // unreachable; - } - else if ((label|0) == 137) { - return ($$0|0); + return 1; } return (0)|0; } -function _stbi__paeth($a,$b,$c) { - $a = $a|0; - $b = $b|0; - $c = $c|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $c$b = 0, $ispos = 0, $ispos1 = 0, $ispos3 = 0, $neg = 0, $neg2 = 0, $neg4 = 0, $or$cond = 0; - var label = 0, sp = 0; +function _uint32_compare($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = (($b) + ($a))|0; - $1 = (($0) - ($c))|0; - $2 = (($1) - ($a))|0; - $ispos = ($2|0)>(-1); - $neg = (0 - ($2))|0; - $3 = $ispos ? $2 : $neg; - $4 = (($1) - ($b))|0; - $ispos1 = ($4|0)>(-1); - $neg2 = (0 - ($4))|0; - $5 = $ispos1 ? $4 : $neg2; - $6 = (($1) - ($c))|0; - $ispos3 = ($6|0)>(-1); - $neg4 = (0 - ($6))|0; - $7 = $ispos3 ? $6 : $neg4; - $8 = ($3|0)>($5|0); - $9 = ($3|0)>($7|0); - $or$cond = $8 | $9; - $10 = ($5|0)>($7|0); - $c$b = $10 ? $c : $b; - $$0 = $or$cond ? $c$b : $a; - return ($$0|0); -} -function _stbi__decode_jpeg_header($z,$scan) { - $z = $z|0; - $scan = $scan|0; - var $$ = 0, $$0 = 0, $$2 = 0, $$9 = 0, $$lcssa = 0, $$lcssa20 = 0, $$lcssa5 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0; - var $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $m$010 = 0, $not$ = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($z)) + 18116|0); - HEAP8[$0>>0] = -1; - $1 = (_stbi__get_marker($z)|0); - $2 = ($1<<24>>24)==(-40); - if (!($2)) { - _stbi__err(25528); - $$0 = 0; - return ($$0|0); - } - $3 = ($scan|0)==(1); - if ($3) { - $$0 = 1; - return ($$0|0); - } - $4 = (_stbi__get_marker($z)|0); - $5 = $4&255; - $6 = $5 & 254; - $7 = ($6|0)==(192); - $8 = ($4<<24>>24)==(-62); - $$9 = $8 | $7; - L8: do { - if ($$9) { - $$lcssa5 = $8; - } else { - $m$010 = $5; - L10: while(1) { - $13 = (_stbi__process_marker($z,$m$010)|0); - $14 = ($13|0)==(0); - if ($14) { - $$0 = 0; - label = 14; - break; - } - $15 = (_stbi__get_marker($z)|0); - $16 = $15&255; - $17 = ($15<<24>>24)==(-1); - if ($17) { - while(1) { - $18 = HEAP32[$z>>2]|0; - $19 = (_stbi__at_eof($18)|0); - $20 = ($19|0)==(0); - if (!($20)) { - break L10; - } - $21 = (_stbi__get_marker($z)|0); - $22 = ($21<<24>>24)==(-1); - if (!($22)) { - $$lcssa20 = $21; - break; - } - } - $9 = $$lcssa20&255; - $$lcssa = $9; - } else { - $$lcssa = $16; - } - $10 = $$lcssa & 254; - $11 = ($10|0)==(192); - $12 = ($$lcssa|0)==(194); - $$ = $12 | $11; - if ($$) { - $$lcssa5 = $12; - break L8; - } else { - $m$010 = $$lcssa; - } - } - if ((label|0) == 14) { - return ($$0|0); - } - _stbi__err(25536); - $$0 = 0; - return ($$0|0); - } - } while(0); - $23 = $$lcssa5&1; - $24 = ((($z)) + 18124|0); - HEAP32[$24>>2] = $23; - $25 = (_stbi__process_frame_header($z,$scan)|0); - $not$ = ($25|0)!=(0); - $$2 = $not$&1; - $$0 = $$2; - return ($$0|0); -} -function _stbi__get_marker($j) { - $j = $j|0; - var $$0 = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($j)) + 18116|0); - $1 = HEAP8[$0>>0]|0; - $2 = ($1<<24>>24)==(-1); - if (!($2)) { - HEAP8[$0>>0] = -1; - $$0 = $1; - return ($$0|0); - } - $3 = HEAP32[$j>>2]|0; - $4 = (_stbi__get8($3)|0); - $5 = ($4<<24>>24)==(-1); - if (!($5)) { - $$0 = -1; - return ($$0|0); - } - while(1) { - $6 = HEAP32[$j>>2]|0; - $7 = (_stbi__get8($6)|0); - $8 = ($7<<24>>24)==(-1); - if (!($8)) { - $$0 = $7; - break; - } - } - return ($$0|0); -} -function _stbi__process_marker($z,$m) { - $z = $z|0; - $m = $m|0; - var $$2 = 0, $$mask = 0, $$mask7 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0; - var $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0; - var $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0; - var $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0; - var $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0; - var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0; - var $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0; - var $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0; - var $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $L$0$lcssa = 0, $L$015 = 0, $L$1$lcssa = 0, $L$122 = 0; - var $exitcond = 0, $exitcond30 = 0, $i$014 = 0, $i1$118 = 0, $or$cond = 0, $or$cond5 = 0, $sizes = 0, $v$0 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; - $sizes = sp; - if ((($m|0) == 219)) { - $6 = HEAP32[$z>>2]|0; - $7 = (_stbi__get16be($6)|0); - $8 = (($7) + -2)|0; - $9 = ($7|0)>(2); - L3: do { - if ($9) { - $L$015 = $8; - while(1) { - $10 = HEAP32[$z>>2]|0; - $11 = (_stbi__get8($10)|0); - $12 = $11&255; - $13 = $12 & 15; - $$mask = $12 & 240; - $14 = ($$mask|0)==(0); - if (!($14)) { - label = 8; - break; - } - $15 = ($13>>>0)>(3); - if ($15) { - label = 10; - break; - } else { - $i$014 = 0; - } - while(1) { - $16 = HEAP32[$z>>2]|0; - $17 = (_stbi__get8($16)|0); - $18 = (25744 + ($i$014)|0); - $19 = HEAP8[$18>>0]|0; - $20 = $19&255; - $21 = ((((($z)) + 13444|0) + ($13<<6)|0) + ($20)|0); - HEAP8[$21>>0] = $17; - $22 = (($i$014) + 1)|0; - $exitcond = ($22|0)==(64); - if ($exitcond) { - break; - } else { - $i$014 = $22; - } - } - $23 = (($L$015) + -65)|0; - $24 = ($L$015|0)>(65); - if ($24) { - $L$015 = $23; - } else { - $L$0$lcssa = $23; - break L3; - } - } - if ((label|0) == 8) { - _stbi__err(25712); - $$2 = 0; - STACKTOP = sp;return ($$2|0); - } - else if ((label|0) == 10) { - _stbi__err(25728); - $$2 = 0; - STACKTOP = sp;return ($$2|0); - } - } else { - $L$0$lcssa = $8; - } - } while(0); - $25 = ($L$0$lcssa|0)==(0); - $26 = $25&1; - $$2 = $26; - STACKTOP = sp;return ($$2|0); - } else if ((($m|0) == 221)) { - $0 = HEAP32[$z>>2]|0; - $1 = (_stbi__get16be($0)|0); - $2 = ($1|0)==(4); - if ($2) { - $3 = HEAP32[$z>>2]|0; - $4 = (_stbi__get16be($3)|0); - $5 = ((($z)) + 18168|0); - HEAP32[$5>>2] = $4; - $$2 = 1; - STACKTOP = sp;return ($$2|0); - } else { - _stbi__err(25696); - $$2 = 0; - STACKTOP = sp;return ($$2|0); - } - } else if ((($m|0) == 196)) { - $27 = HEAP32[$z>>2]|0; - $28 = (_stbi__get16be($27)|0); - $29 = (($28) + -2)|0; - $30 = ($28|0)>(2); - L24: do { - if ($30) { - $31 = ((($sizes)) + 4|0); - $32 = ((($sizes)) + 8|0); - $33 = ((($sizes)) + 12|0); - $34 = ((($sizes)) + 16|0); - $35 = ((($sizes)) + 20|0); - $36 = ((($sizes)) + 24|0); - $37 = ((($sizes)) + 28|0); - $38 = ((($sizes)) + 32|0); - $39 = ((($sizes)) + 36|0); - $40 = ((($sizes)) + 40|0); - $41 = ((($sizes)) + 44|0); - $42 = ((($sizes)) + 48|0); - $43 = ((($sizes)) + 52|0); - $44 = ((($sizes)) + 56|0); - $45 = ((($sizes)) + 60|0); - $L$122 = $29; - while(1) { - $46 = HEAP32[$z>>2]|0; - $47 = (_stbi__get8($46)|0); - $48 = $47&255; - $49 = $48 & 15; - $50 = ($47&255)>(31); - $51 = ($49>>>0)>(3); - $or$cond = $50 | $51; - if ($or$cond) { - label = 17; - break; - } - $52 = HEAP32[$z>>2]|0; - $53 = (_stbi__get8($52)|0); - $54 = $53&255; - HEAP32[$sizes>>2] = $54; - $55 = HEAP32[$z>>2]|0; - $56 = (_stbi__get8($55)|0); - $57 = $56&255; - HEAP32[$31>>2] = $57; - $58 = (($57) + ($54))|0; - $59 = HEAP32[$z>>2]|0; - $60 = (_stbi__get8($59)|0); - $61 = $60&255; - HEAP32[$32>>2] = $61; - $62 = (($61) + ($58))|0; - $63 = HEAP32[$z>>2]|0; - $64 = (_stbi__get8($63)|0); - $65 = $64&255; - HEAP32[$33>>2] = $65; - $66 = (($65) + ($62))|0; - $67 = HEAP32[$z>>2]|0; - $68 = (_stbi__get8($67)|0); - $69 = $68&255; - HEAP32[$34>>2] = $69; - $70 = (($69) + ($66))|0; - $71 = HEAP32[$z>>2]|0; - $72 = (_stbi__get8($71)|0); - $73 = $72&255; - HEAP32[$35>>2] = $73; - $74 = (($73) + ($70))|0; - $75 = HEAP32[$z>>2]|0; - $76 = (_stbi__get8($75)|0); - $77 = $76&255; - HEAP32[$36>>2] = $77; - $78 = (($77) + ($74))|0; - $79 = HEAP32[$z>>2]|0; - $80 = (_stbi__get8($79)|0); - $81 = $80&255; - HEAP32[$37>>2] = $81; - $82 = (($81) + ($78))|0; - $83 = HEAP32[$z>>2]|0; - $84 = (_stbi__get8($83)|0); - $85 = $84&255; - HEAP32[$38>>2] = $85; - $86 = (($85) + ($82))|0; - $87 = HEAP32[$z>>2]|0; - $88 = (_stbi__get8($87)|0); - $89 = $88&255; - HEAP32[$39>>2] = $89; - $90 = (($89) + ($86))|0; - $91 = HEAP32[$z>>2]|0; - $92 = (_stbi__get8($91)|0); - $93 = $92&255; - HEAP32[$40>>2] = $93; - $94 = (($93) + ($90))|0; - $95 = HEAP32[$z>>2]|0; - $96 = (_stbi__get8($95)|0); - $97 = $96&255; - HEAP32[$41>>2] = $97; - $98 = (($97) + ($94))|0; - $99 = HEAP32[$z>>2]|0; - $100 = (_stbi__get8($99)|0); - $101 = $100&255; - HEAP32[$42>>2] = $101; - $102 = (($101) + ($98))|0; - $103 = HEAP32[$z>>2]|0; - $104 = (_stbi__get8($103)|0); - $105 = $104&255; - HEAP32[$43>>2] = $105; - $106 = (($105) + ($102))|0; - $107 = HEAP32[$z>>2]|0; - $108 = (_stbi__get8($107)|0); - $109 = $108&255; - HEAP32[$44>>2] = $109; - $110 = (($109) + ($106))|0; - $111 = HEAP32[$z>>2]|0; - $112 = (_stbi__get8($111)|0); - $113 = $112&255; - HEAP32[$45>>2] = $113; - $114 = (($113) + ($110))|0; - $115 = (($L$122) + -17)|0; - $$mask7 = $48 & 240; - $116 = ($$mask7|0)==(0); - if ($116) { - $117 = (((($z)) + 4|0) + (($49*1680)|0)|0); - $118 = (_stbi__build_huffman($117,$sizes)|0); - $119 = ($118|0)==(0); - if ($119) { - break; - } - $120 = (((((($z)) + 4|0) + (($49*1680)|0)|0)) + 1024|0); - $v$0 = $120; - } else { - $121 = (((($z)) + 6724|0) + (($49*1680)|0)|0); - $122 = (_stbi__build_huffman($121,$sizes)|0); - $123 = ($122|0)==(0); - if ($123) { - break; - } - $124 = (((((($z)) + 6724|0) + (($49*1680)|0)|0)) + 1024|0); - $v$0 = $124; - } - $125 = ($114|0)>(0); - if ($125) { - $126 = $56&255; - $127 = $53&255; - $128 = (($126) + ($127))|0; - $129 = $60&255; - $130 = (($128) + ($129))|0; - $131 = $64&255; - $132 = (($130) + ($131))|0; - $133 = $68&255; - $134 = (($132) + ($133))|0; - $135 = $72&255; - $136 = (($134) + ($135))|0; - $137 = $76&255; - $138 = (($136) + ($137))|0; - $139 = $80&255; - $140 = (($138) + ($139))|0; - $141 = $84&255; - $142 = (($140) + ($141))|0; - $143 = $88&255; - $144 = (($142) + ($143))|0; - $145 = $92&255; - $146 = (($144) + ($145))|0; - $147 = $96&255; - $148 = (($146) + ($147))|0; - $149 = $100&255; - $150 = (($148) + ($149))|0; - $151 = $104&255; - $152 = (($150) + ($151))|0; - $153 = $108&255; - $154 = (($152) + ($153))|0; - $155 = $112&255; - $156 = (($154) + ($155))|0; - $i1$118 = 0; - while(1) { - $157 = HEAP32[$z>>2]|0; - $158 = (_stbi__get8($157)|0); - $159 = (($v$0) + ($i1$118)|0); - HEAP8[$159>>0] = $158; - $160 = (($i1$118) + 1)|0; - $exitcond30 = ($160|0)==($156|0); - if ($exitcond30) { - break; - } else { - $i1$118 = $160; - } - } - } - if (!($116)) { - $161 = (((($z)) + 13700|0) + ($49<<10)|0); - $162 = (((($z)) + 6724|0) + (($49*1680)|0)|0); - _stbi__build_fast_ac($161,$162); - } - $163 = (($115) - ($114))|0; - $164 = ($163|0)>(0); - if ($164) { - $L$122 = $163; - } else { - $L$1$lcssa = $163; - break L24; - } - } - if ((label|0) == 17) { - _stbi__err(25824); - } - $$2 = 0; - STACKTOP = sp;return ($$2|0); - } else { - $L$1$lcssa = $29; - } - } while(0); - $165 = ($L$1$lcssa|0)==(0); - $166 = $165&1; - $$2 = $166; - STACKTOP = sp;return ($$2|0); - } else if ((($m|0) == 255)) { - _stbi__err(25680); - $$2 = 0; - STACKTOP = sp;return ($$2|0); - } else { - $167 = $m & -16; - $168 = ($167|0)==(224); - $169 = ($m|0)==(254); - $or$cond5 = $169 | $168; - if (!($or$cond5)) { - $$2 = 0; - STACKTOP = sp;return ($$2|0); - } - $170 = HEAP32[$z>>2]|0; - $171 = (_stbi__get16be($170)|0); - $172 = (($171) + -2)|0; - _stbi__skip($170,$172); - $$2 = 1; - STACKTOP = sp;return ($$2|0); - } - return (0)|0; -} -function _stbi__process_frame_header($z,$scan) { - $z = $z|0; - $scan = $scan|0; - var $$0 = 0, $$h_max$0 = 0, $$lcssa = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0; - var $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0; - var $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0; - var $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0; - var $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0; - var $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0; - var $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0; - var $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond = 0, $h_max$0$lcssa = 0, $h_max$017 = 0, $i$022 = 0, $i$1 = 0, $i$216 = 0, $i$313 = 0; - var $i$313$lcssa = 0, $i$412 = 0, $i$412$in = 0, $or$cond = 0, $or$cond2 = 0, $v_max$0$lcssa = 0, $v_max$018 = 0, $v_max$1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[$z>>2]|0; - $1 = (_stbi__get16be($0)|0); - $2 = ($1|0)<(11); - if ($2) { - _stbi__err(25544); - $$0 = 0; - return ($$0|0); - } - $3 = (_stbi__get8($0)|0); - $4 = ($3<<24>>24)==(8); - if (!($4)) { - _stbi__err(25560); - $$0 = 0; - return ($$0|0); - } - $5 = (_stbi__get16be($0)|0); - $6 = ((($0)) + 4|0); - HEAP32[$6>>2] = $5; - $7 = ($5|0)==(0); - if ($7) { - _stbi__err(25576); - $$0 = 0; - return ($$0|0); - } - $8 = (_stbi__get16be($0)|0); - HEAP32[$0>>2] = $8; - $9 = ($8|0)==(0); - if ($9) { - _stbi__err(25600); - $$0 = 0; - return ($$0|0); - } - $10 = (_stbi__get8($0)|0); - $11 = $10&255; - if (!((($10<<24>>24) == 1) | (($10<<24>>24) == 3))) { - _stbi__err(25608); - $$0 = 0; - return ($$0|0); - } - $12 = ((($0)) + 8|0); - HEAP32[$12>>2] = $11; - $13 = $10&255; - $i$022 = 0; - while(1) { - $14 = (((((($z)) + 17820|0) + (($i$022*72)|0)|0)) + 44|0); - HEAP32[$14>>2] = 0; - $15 = (((((($z)) + 17820|0) + (($i$022*72)|0)|0)) + 56|0); - HEAP32[$15>>2] = 0; - $16 = (($i$022) + 1)|0; - $exitcond = ($16|0)==($13|0); - if ($exitcond) { - break; - } else { - $i$022 = $16; - } - } - $17 = HEAP32[$12>>2]|0; - $18 = ($17*3)|0; - $19 = (($18) + 8)|0; - $20 = ($1|0)==($19|0); - if ($20) { - $i$1 = 0; - } else { - _stbi__err(25544); - $$0 = 0; - return ($$0|0); - } - while(1) { - $21 = HEAP32[$12>>2]|0; - $22 = ($i$1|0)<($21|0); - if (!($22)) { - $$lcssa = $21; - label = 24; - break; - } - $23 = (_stbi__get8($0)|0); - $24 = $23&255; - $25 = (((($z)) + 17820|0) + (($i$1*72)|0)|0); - HEAP32[$25>>2] = $24; - $26 = (($i$1) + 1)|0; - $27 = ($24|0)==($26|0); - $28 = ($24|0)==($i$1|0); - $or$cond = $27 | $28; - if (!($or$cond)) { - label = 17; - break; - } - $29 = (_stbi__get8($0)|0); - $30 = $29&255; - $31 = $30 >>> 4; - $32 = (((((($z)) + 17820|0) + (($i$1*72)|0)|0)) + 4|0); - HEAP32[$32>>2] = $31; - $33 = ($31|0)==(0); - $34 = ($29&255)>(79); - $or$cond2 = $34 | $33; - if ($or$cond2) { - label = 19; - break; - } - $35 = $30 & 15; - $36 = (((((($z)) + 17820|0) + (($i$1*72)|0)|0)) + 8|0); - HEAP32[$36>>2] = $35; - $37 = (($35) + -1)|0; - $38 = ($37>>>0)>(3); - if ($38) { - label = 21; - break; - } - $39 = (_stbi__get8($0)|0); - $40 = $39&255; - $41 = (((((($z)) + 17820|0) + (($i$1*72)|0)|0)) + 12|0); - HEAP32[$41>>2] = $40; - $42 = ($39&255)>(3); - if ($42) { - label = 23; - break; - } else { - $i$1 = $26; - } - } - if ((label|0) == 17) { - _stbi__err(25632); - $$0 = 0; - return ($$0|0); - } - else if ((label|0) == 19) { - _stbi__err(25656); - $$0 = 0; - return ($$0|0); - } - else if ((label|0) == 21) { - _stbi__err(25664); - $$0 = 0; - return ($$0|0); - } - else if ((label|0) == 23) { - _stbi__err(25672); - $$0 = 0; - return ($$0|0); - } - else if ((label|0) == 24) { - $43 = ($scan|0)==(0); - if (!($43)) { - $$0 = 1; - return ($$0|0); - } - $44 = HEAP32[$0>>2]|0; - $45 = (1073741824 / ($44>>>0))&-1; - $46 = (($45>>>0) / ($$lcssa>>>0))&-1; - $47 = HEAP32[$6>>2]|0; - $48 = ($46>>>0)<($47>>>0); - if ($48) { - _stbi__err(24736); - $$0 = 0; - return ($$0|0); - } - $49 = HEAP32[$12>>2]|0; - $50 = ($49|0)>(0); - if ($50) { - $51 = HEAP32[$12>>2]|0; - $h_max$017 = 1;$i$216 = 0;$v_max$018 = 1; - while(1) { - $52 = (((((($z)) + 17820|0) + (($i$216*72)|0)|0)) + 4|0); - $53 = HEAP32[$52>>2]|0; - $54 = ($53|0)>($h_max$017|0); - $$h_max$0 = $54 ? $53 : $h_max$017; - $55 = (((((($z)) + 17820|0) + (($i$216*72)|0)|0)) + 8|0); - $56 = HEAP32[$55>>2]|0; - $57 = ($56|0)>($v_max$018|0); - $v_max$1 = $57 ? $56 : $v_max$018; - $58 = (($i$216) + 1)|0; - $59 = ($58|0)<($51|0); - if ($59) { - $h_max$017 = $$h_max$0;$i$216 = $58;$v_max$018 = $v_max$1; - } else { - $h_max$0$lcssa = $$h_max$0;$v_max$0$lcssa = $v_max$1; - break; - } - } - } else { - $h_max$0$lcssa = 1;$v_max$0$lcssa = 1; - } - $60 = ((($z)) + 17796|0); - HEAP32[$60>>2] = $h_max$0$lcssa; - $61 = ((($z)) + 17800|0); - HEAP32[$61>>2] = $v_max$0$lcssa; - $62 = $h_max$0$lcssa << 3; - $63 = ((($z)) + 17812|0); - HEAP32[$63>>2] = $62; - $64 = $v_max$0$lcssa << 3; - $65 = ((($z)) + 17816|0); - HEAP32[$65>>2] = $64; - $66 = HEAP32[$0>>2]|0; - $67 = HEAP32[$63>>2]|0; - $68 = (($66) + -1)|0; - $69 = (($68) + ($67))|0; - $70 = (($69>>>0) / ($67>>>0))&-1; - $71 = ((($z)) + 17804|0); - HEAP32[$71>>2] = $70; - $72 = HEAP32[$6>>2]|0; - $73 = HEAP32[$65>>2]|0; - $74 = (($72) + -1)|0; - $75 = (($74) + ($73))|0; - $76 = (($75>>>0) / ($73>>>0))&-1; - $77 = ((($z)) + 17808|0); - HEAP32[$77>>2] = $76; - $78 = HEAP32[$12>>2]|0; - $79 = ($78|0)>(0); - if (!($79)) { - $$0 = 1; - return ($$0|0); - } - $80 = (($h_max$0$lcssa) + -1)|0; - $81 = (($v_max$0$lcssa) + -1)|0; - $82 = ((($z)) + 18124|0); - $i$313 = 0; - while(1) { - $83 = HEAP32[$0>>2]|0; - $84 = (((((($z)) + 17820|0) + (($i$313*72)|0)|0)) + 4|0); - $85 = HEAP32[$84>>2]|0; - $86 = Math_imul($85, $83)|0; - $87 = (($80) + ($86))|0; - $88 = (($87>>>0) / ($h_max$0$lcssa>>>0))&-1; - $89 = (((((($z)) + 17820|0) + (($i$313*72)|0)|0)) + 28|0); - HEAP32[$89>>2] = $88; - $90 = HEAP32[$6>>2]|0; - $91 = (((((($z)) + 17820|0) + (($i$313*72)|0)|0)) + 8|0); - $92 = HEAP32[$91>>2]|0; - $93 = Math_imul($92, $90)|0; - $94 = (($81) + ($93))|0; - $95 = (($94>>>0) / ($v_max$0$lcssa>>>0))&-1; - $96 = (((((($z)) + 17820|0) + (($i$313*72)|0)|0)) + 32|0); - HEAP32[$96>>2] = $95; - $97 = HEAP32[$71>>2]|0; - $98 = HEAP32[$84>>2]|0; - $99 = $97 << 3; - $100 = Math_imul($99, $98)|0; - $101 = (((((($z)) + 17820|0) + (($i$313*72)|0)|0)) + 36|0); - HEAP32[$101>>2] = $100; - $102 = HEAP32[$77>>2]|0; - $103 = HEAP32[$91>>2]|0; - $104 = $102 << 3; - $105 = Math_imul($104, $103)|0; - $106 = (((((($z)) + 17820|0) + (($i$313*72)|0)|0)) + 40|0); - HEAP32[$106>>2] = $105; - $107 = HEAP32[$101>>2]|0; - $108 = Math_imul($105, $107)|0; - $109 = (($108) + 15)|0; - $110 = (_stbi__malloc($109)|0); - $111 = (((((($z)) + 17820|0) + (($i$313*72)|0)|0)) + 48|0); - HEAP32[$111>>2] = $110; - $112 = ($110|0)==(0|0); - if ($112) { - $i$313$lcssa = $i$313; - break; - } - $118 = $110; - $119 = (($118) + 15)|0; - $120 = $119 & -16; - $121 = $120; - $122 = (((((($z)) + 17820|0) + (($i$313*72)|0)|0)) + 44|0); - HEAP32[$122>>2] = $121; - $123 = (((((($z)) + 17820|0) + (($i$313*72)|0)|0)) + 56|0); - HEAP32[$123>>2] = 0; - $124 = HEAP32[$82>>2]|0; - $125 = ($124|0)==(0); - if ($125) { - $145 = (((((($z)) + 17820|0) + (($i$313*72)|0)|0)) + 60|0); - HEAP32[$145>>2] = 0; - $146 = (((((($z)) + 17820|0) + (($i$313*72)|0)|0)) + 52|0); - HEAP32[$146>>2] = 0; - } else { - $126 = HEAP32[$101>>2]|0; - $127 = (($126) + 7)|0; - $128 = $127 >> 3; - $129 = (((((($z)) + 17820|0) + (($i$313*72)|0)|0)) + 64|0); - HEAP32[$129>>2] = $128; - $130 = HEAP32[$106>>2]|0; - $131 = (($130) + 7)|0; - $132 = $131 >> 3; - $133 = (((((($z)) + 17820|0) + (($i$313*72)|0)|0)) + 68|0); - HEAP32[$133>>2] = $132; - $134 = HEAP32[$129>>2]|0; - $135 = $134 << 7; - $136 = Math_imul($135, $132)|0; - $137 = $136 | 15; - $138 = (_malloc($137)|0); - $139 = (((((($z)) + 17820|0) + (($i$313*72)|0)|0)) + 52|0); - HEAP32[$139>>2] = $138; - $140 = $138; - $141 = (($140) + 15)|0; - $142 = $141 & -16; - $143 = $142; - $144 = (((((($z)) + 17820|0) + (($i$313*72)|0)|0)) + 60|0); - HEAP32[$144>>2] = $143; - } - $147 = (($i$313) + 1)|0; - $148 = HEAP32[$12>>2]|0; - $149 = ($147|0)<($148|0); - if ($149) { - $i$313 = $147; - } else { - $$0 = 1; - label = 40; - break; - } - } - if ((label|0) == 40) { - return ($$0|0); - } - $113 = ($i$313$lcssa|0)>(0); - if ($113) { - $i$412$in = $i$313$lcssa; - while(1) { - $i$412 = (($i$412$in) + -1)|0; - $114 = (((((($z)) + 17820|0) + (($i$412*72)|0)|0)) + 48|0); - $115 = HEAP32[$114>>2]|0; - _free($115); - $116 = (((((($z)) + 17820|0) + (($i$412*72)|0)|0)) + 44|0); - HEAP32[$116>>2] = 0; - $117 = ($i$412$in|0)>(1); - if ($117) { - $i$412$in = $i$412; - } else { - break; - } - } - } - _stbi__err(25000); - $$0 = 0; - return ($$0|0); - } - return (0)|0; -} -function _stbi__build_huffman($h,$count) { - $h = $h|0; - $count = $count|0; - var $$0 = 0, $$lcssa37 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; - var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0; - var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $code$014 = 0, $code$1$lcssa = 0, $code$110 = 0, $code$2 = 0, $exitcond = 0; - var $exitcond26 = 0, $i$022 = 0, $i$17 = 0, $j$017 = 0, $j$115 = 0, $k$021 = 0, $k$1$lcssa = 0, $k$1$lcssa$lcssa = 0, $k$116 = 0, $k$213 = 0, $k$3$lcssa = 0, $k$39 = 0, $k$4 = 0, $k$4$lcssa = 0, $scevgep = 0, $smax = 0, label = 0, sp = 0; - sp = STACKTOP; - $i$022 = 0;$k$021 = 0; - while(1) { - $1 = (($count) + ($i$022<<2)|0); - $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)>(0); - $0 = (($i$022) + 1)|0; - if ($3) { - $4 = $0&255; - $j$017 = 0;$k$116 = $k$021; - while(1) { - $5 = (($k$116) + 1)|0; - $6 = (((($h)) + 1280|0) + ($k$116)|0); - HEAP8[$6>>0] = $4; - $7 = (($j$017) + 1)|0; - $8 = HEAP32[$1>>2]|0; - $9 = ($7|0)<($8|0); - if ($9) { - $j$017 = $7;$k$116 = $5; - } else { - $k$1$lcssa = $5; - break; - } - } - } else { - $k$1$lcssa = $k$021; - } - $exitcond26 = ($0|0)==(16); - if ($exitcond26) { - $k$1$lcssa$lcssa = $k$1$lcssa; - break; - } else { - $i$022 = $0;$k$021 = $k$1$lcssa; - } - } - $10 = (((($h)) + 1280|0) + ($k$1$lcssa$lcssa)|0); - HEAP8[$10>>0] = 0; - $code$014 = 0;$j$115 = 1;$k$213 = 0; - while(1) { - $11 = (($k$213) - ($code$014))|0; - $12 = (((($h)) + 1612|0) + ($j$115<<2)|0); - HEAP32[$12>>2] = $11; - $13 = (((($h)) + 1280|0) + ($k$213)|0); - $14 = HEAP8[$13>>0]|0; - $15 = $14&255; - $16 = ($15|0)==($j$115|0); - if ($16) { - $17 = (((($h)) + 1280|0) + ($k$213)|0); - $18 = HEAP8[$17>>0]|0; - $19 = $18&255; - $20 = ($19|0)==($j$115|0); - if ($20) { - $code$110 = $code$014;$k$39 = $k$213; - while(1) { - $21 = (($code$110) + 1)|0; - $22 = $code$110&65535; - $23 = (($k$39) + 1)|0; - $24 = (((($h)) + 512|0) + ($k$39<<1)|0); - HEAP16[$24>>1] = $22; - $25 = (((($h)) + 1280|0) + ($23)|0); - $26 = HEAP8[$25>>0]|0; - $27 = $26&255; - $28 = ($27|0)==($j$115|0); - if ($28) { - $code$110 = $21;$k$39 = $23; - } else { - $code$1$lcssa = $21;$k$3$lcssa = $23; - break; - } - } - } else { - $code$1$lcssa = $code$014;$k$3$lcssa = $k$213; - } - $29 = 1 << $j$115; - $30 = ($code$1$lcssa|0)>($29|0); - if ($30) { - label = 11; - break; - } else { - $code$2 = $code$1$lcssa;$k$4 = $k$3$lcssa; - } - } else { - $code$2 = $code$014;$k$4 = $k$213; - } - $31 = (16 - ($j$115))|0; - $32 = $code$2 << $31; - $33 = (((($h)) + 1540|0) + ($j$115<<2)|0); - HEAP32[$33>>2] = $32; - $34 = $code$2 << 1; - $35 = (($j$115) + 1)|0; - $36 = ($35|0)<(17); - if ($36) { - $code$014 = $34;$j$115 = $35;$k$213 = $k$4; - } else { - $$lcssa37 = $35;$k$4$lcssa = $k$4; - break; - } - } - if ((label|0) == 11) { - _stbi__err(25840); - $$0 = 0; - return ($$0|0); - } - $37 = (((($h)) + 1540|0) + ($$lcssa37<<2)|0); - HEAP32[$37>>2] = -1; - _memset(($h|0),-1,512)|0; - $38 = ($k$4$lcssa|0)>(0); - if ($38) { - $i$17 = 0; - } else { - $$0 = 1; - return ($$0|0); - } - while(1) { - $39 = (((($h)) + 1280|0) + ($i$17)|0); - $40 = HEAP8[$39>>0]|0; - $41 = ($40&255)<(10); - if ($41) { - $42 = $40&255; - $43 = (9 - ($42))|0; - $44 = 1 << $43; - $45 = ($43|0)==(31); - if (!($45)) { - $46 = (((($h)) + 512|0) + ($i$17<<1)|0); - $47 = HEAP16[$46>>1]|0; - $48 = $47&65535; - $49 = $48 << $43; - $50 = $i$17&255; - $scevgep = (($h) + ($49)|0); - $51 = ($44|0)>(1); - $smax = $51 ? $44 : 1; - _memset(($scevgep|0),($50|0),($smax|0))|0; - } - } - $52 = (($i$17) + 1)|0; - $exitcond = ($52|0)==($k$4$lcssa|0); - if ($exitcond) { - $$0 = 1; - break; - } else { - $i$17 = $52; - } - } - return ($$0|0); -} -function _stbi__build_fast_ac($fast_ac,$h) { - $fast_ac = $fast_ac|0; - $h = $h|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $i$02 = 0, $k$0 = 0, $k$0$off = 0, label = 0, sp = 0; - sp = STACKTOP; - $i$02 = 0; - while(1) { - $0 = (($h) + ($i$02)|0); - $1 = HEAP8[$0>>0]|0; - $2 = (($fast_ac) + ($i$02<<1)|0); - HEAP16[$2>>1] = 0; - $3 = $1&255; - $4 = ($1<<24>>24)==(-1); - if (!($4)) { - $5 = (((($h)) + 1024|0) + ($3)|0); - $6 = HEAP8[$5>>0]|0; - $7 = $6&255; - $8 = $7 & 240; - $9 = $7 & 15; - $10 = (((($h)) + 1280|0) + ($3)|0); - $11 = HEAP8[$10>>0]|0; - $12 = $11&255; - $13 = ($9|0)==(0); - if (!($13)) { - $14 = (($12) + ($9))|0; - $15 = ($14|0)<(10); - if ($15) { - $16 = $i$02 << $12; - $17 = $16 & 511; - $18 = (9 - ($9))|0; - $19 = $17 >>> $18; - $20 = (($9) + -1)|0; - $21 = 1 << $20; - $22 = ($19|0)<($21|0); - if ($22) { - $23 = -1 << $9; - $24 = (($23) + 1)|0; - $25 = (($24) + ($19))|0; - $k$0 = $25; - } else { - $k$0 = $19; - } - $k$0$off = (($k$0) + 128)|0; - $26 = ($k$0$off>>>0)<(256); - if ($26) { - $27 = $k$0 << 8; - $28 = $27 | $8; - $29 = (($28) + ($14))|0; - $30 = $29&65535; - HEAP16[$2>>1] = $30; - } - } - } - } - $31 = (($i$02) + 1)|0; - $exitcond = ($31|0)==(512); - if ($exitcond) { - break; - } else { - $i$02 = $31; - } - } - return; -} -function _stbi__parse_zlib($a,$parse_header) { - $a = $a|0; - $parse_header = $parse_header|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0; - var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ($parse_header|0)==(0); - if (!($0)) { - $1 = (_stbi__parse_zlib_header($a)|0); - $2 = ($1|0)==(0); - if ($2) { - $$0 = 0; - return ($$0|0); - } - } - $3 = ((($a)) + 8|0); - HEAP32[$3>>2] = 0; - $4 = ((($a)) + 12|0); - HEAP32[$4>>2] = 0; - $5 = ((($a)) + 2052|0); - $6 = ((($a)) + 32|0); - while(1) { - $7 = (_stbi__zreceive($a,1)|0); - $8 = (_stbi__zreceive($a,2)|0); - if ((($8|0) == 0)) { - $9 = (_stbi__parse_uncomperssed_block($a)|0); - $10 = ($9|0)==(0); - if ($10) { - $$0 = 0; - label = 13; - break; - } - } else if ((($8|0) == 3)) { - $$0 = 0; - label = 13; - break; - } else if ((($8|0) == 1)) { - $11 = HEAP8[(25895)>>0]|0; - $12 = ($11<<24>>24)==(0); - if ($12) { - _stbi__init_zdefaults(); - } - $13 = (_stbi__zbuild_huffman($6,25896,288)|0); - $14 = ($13|0)==(0); - if ($14) { - $$0 = 0; - label = 13; - break; - } - $15 = (_stbi__zbuild_huffman($5,25864,32)|0); - $16 = ($15|0)==(0); - if ($16) { - $$0 = 0; - label = 13; - break; - } else { - label = 11; - } - } else { - $17 = (_stbi__compute_huffman_codes($a)|0); - $18 = ($17|0)==(0); - if ($18) { - $$0 = 0; - label = 13; - break; - } else { - label = 11; - } - } - if ((label|0) == 11) { - label = 0; - $19 = (_stbi__parse_huffman_block($a)|0); - $20 = ($19|0)==(0); - if ($20) { - $$0 = 0; - label = 13; - break; - } - } - $21 = ($7|0)==(0); - if (!($21)) { - $$0 = 1; - label = 13; - break; - } - } - if ((label|0) == 13) { - return ($$0|0); - } - return (0)|0; -} -function _stbi__parse_zlib_header($a) { - $a = $a|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_stbi__zget8($a)|0); - $1 = $0&255; - $2 = $1 & 15; - $3 = (_stbi__zget8($a)|0); - $4 = $3&255; - $5 = $1 << 8; - $6 = $5 | $4; - $7 = (($6>>>0) % 31)&-1; - $8 = ($7|0)==(0); - if (!($8)) { - _stbi__err(27096); - $$0 = 0; - return ($$0|0); - } - $9 = $4 & 32; - $10 = ($9|0)==(0); - if (!($10)) { - _stbi__err(27112); - $$0 = 0; - return ($$0|0); - } - $11 = ($2|0)==(8); - if ($11) { - $$0 = 1; - return ($$0|0); - } - _stbi__err(27128); - $$0 = 0; - return ($$0|0); -} -function _stbi__zreceive($z,$n) { - $z = $z|0; - $n = $n|0; - var $0 = 0, $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($z)) + 8|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)<($n|0); - if ($2) { - _stbi__fill_bits($z); - } - $3 = ((($z)) + 12|0); - $4 = HEAP32[$3>>2]|0; - $5 = 1 << $n; - $6 = (($5) + -1)|0; - $7 = $4 & $6; - $8 = $4 >>> $n; - HEAP32[$3>>2] = $8; - $9 = HEAP32[$0>>2]|0; - $10 = (($9) - ($n))|0; - HEAP32[$0>>2] = $10; + $2 = HEAP32[$0>>2]|0; + $3 = HEAP32[$1>>2]|0; + $4 = ($2>>>0)<($3>>>0); + $5 = ($2>>>0)>($3>>>0); + $6 = $5&1; + $7 = $4 ? -1 : $6; return ($7|0); } -function _stbi__parse_uncomperssed_block($a) { - $a = $a|0; - var $$0 = 0, $$lcssa = 0, $$lcssa17 = 0, $$op = 0, $$ph = 0, $$pr = 0, $$promoted = 0, $$promoted8 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0; - var $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0; - var $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0; - var $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond13 = 0, $header = 0, $k$0$lcssa = 0, $k$03 = 0, $k$12 = 0, label = 0, sp = 0; +function _add_entry($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + var $$sink = 0, $$sink1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $header = sp; - $0 = ((($a)) + 8|0); - $1 = HEAP32[$0>>2]|0; - $2 = $1 & 7; - $3 = ($2|0)==(0); - if ($3) { - $$ph = $1; - } else { - (_stbi__zreceive($a,$2)|0); - $$pr = HEAP32[$0>>2]|0; - $$ph = $$pr; - } - $4 = ($$ph|0)>(0); - if ($4) { - $5 = ((($a)) + 12|0); - $$promoted = HEAP32[$5>>2]|0; - $$promoted8 = HEAP32[$0>>2]|0; - $6 = ($$promoted8|0)<(8); - $$op = $$promoted8 ^ -1; - $7 = $6 ? $$op : -9; - $8 = (($$promoted8) + ($7))|0; - $9 = (($8) + 8)|0; - $10 = $9 >>> 3; - $11 = $10 << 3; - $12 = (($10) + 1)|0; - $14 = $$promoted;$k$03 = 0; - while(1) { - $13 = $14&255; - $15 = (($k$03) + 1)|0; - $16 = (($header) + ($k$03)|0); - HEAP8[$16>>0] = $13; - $17 = $14 >>> 8; - $exitcond13 = ($15|0)==($12|0); - if ($exitcond13) { - $$lcssa17 = $17; - break; - } else { - $14 = $17;$k$03 = $15; - } - } - $18 = (($$promoted8) + -8)|0; - $19 = (($18) - ($11))|0; - HEAP32[$5>>2] = $$lcssa17; - HEAP32[$0>>2] = $19; - $$lcssa = $19;$k$0$lcssa = $12; - } else { - $$lcssa = $$ph;$k$0$lcssa = 0; - } - $20 = ($$lcssa|0)==(0); - if (!($20)) { - ___assert_fail((27000|0),(25096|0),3734,(27024|0)); - // unreachable; - } - $21 = ($k$0$lcssa|0)<(4); - if ($21) { - $k$12 = $k$0$lcssa; - while(1) { - $22 = (_stbi__zget8($a)|0); - $23 = (($k$12) + 1)|0; - $24 = (($header) + ($k$12)|0); - HEAP8[$24>>0] = $22; - $exitcond = ($23|0)==(4); - if ($exitcond) { - break; - } else { - $k$12 = $23; - } - } - } - $25 = ((($header)) + 1|0); - $26 = HEAP8[$25>>0]|0; - $27 = $26&255; - $28 = $27 << 8; - $29 = HEAP8[$header>>0]|0; - $30 = $29&255; - $31 = $28 | $30; - $32 = ((($header)) + 3|0); - $33 = HEAP8[$32>>0]|0; - $34 = $33&255; - $35 = $34 << 8; - $36 = ((($header)) + 2|0); - $37 = HEAP8[$36>>0]|0; - $38 = $37&255; - $39 = $35 | $38; - $40 = $31 ^ 65535; - $41 = ($39|0)==($40|0); - if (!($41)) { - _stbi__err(27056); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $42 = HEAP32[$a>>2]|0; - $43 = (($42) + ($31)|0); - $44 = ((($a)) + 4|0); - $45 = HEAP32[$44>>2]|0; - $46 = ($43>>>0)>($45>>>0); - if ($46) { - _stbi__err(27072); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $47 = ((($a)) + 16|0); - $48 = HEAP32[$47>>2]|0; - $49 = (($48) + ($31)|0); - $50 = ((($a)) + 24|0); - $51 = HEAP32[$50>>2]|0; - $52 = ($49>>>0)>($51>>>0); - if ($52) { - $53 = (_stbi__zexpand($a,$48,$31)|0); - $54 = ($53|0)==(0); - if ($54) { - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - } - $55 = HEAP32[$47>>2]|0; - $56 = HEAP32[$a>>2]|0; - _memcpy(($55|0),($56|0),($31|0))|0; - $57 = HEAP32[$a>>2]|0; - $58 = (($57) + ($31)|0); - HEAP32[$a>>2] = $58; - $59 = HEAP32[$47>>2]|0; - $60 = (($59) + ($31)|0); - HEAP32[$47>>2] = $60; - $$0 = 1; - STACKTOP = sp;return ($$0|0); -} -function _stbi__init_zdefaults() { - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, dest = 0, label = 0, sp = 0, stop = 0; - sp = STACKTOP; - _memset((25896|0),8,144)|0; - dest=(26040); stop=dest+112|0; do { HEAP8[dest>>0]=9|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); - dest=(26152); stop=dest+24|0; do { HEAP8[dest>>0]=7|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); - $0 = (26176); - $1 = $0; - HEAP8[$1>>0]=134744072&255;HEAP8[$1+1>>0]=(134744072>>8)&255;HEAP8[$1+2>>0]=(134744072>>16)&255;HEAP8[$1+3>>0]=134744072>>24; - $2 = (($0) + 4)|0; - $3 = $2; - HEAP8[$3>>0]=134744072&255;HEAP8[$3+1>>0]=(134744072>>8)&255;HEAP8[$3+2>>0]=(134744072>>16)&255;HEAP8[$3+3>>0]=134744072>>24; - dest=25864; stop=dest+32|0; do { HEAP8[dest>>0]=5|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); - return; -} -function _stbi__zbuild_huffman($z,$sizelist,$num) { - $z = $z|0; - $sizelist = $sizelist|0; - $num = $num|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0; - var $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0; - var $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0; - var $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0; - var $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0; - var $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $code$06 = 0, $exitcond = 0, $exitcond13 = 0, $i$010 = 0, $i$28 = 0, $i$34 = 0, $k$07 = 0, $k1$03 = 0, $next_code = 0, $or$cond = 0, $sizes = 0, dest = 0, label = 0, sp = 0; - var stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 144|0; - $next_code = sp + 72|0; - $sizes = sp; - dest=$sizes; stop=dest+68|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - _memset(($z|0),0,1024)|0; - $0 = ($num|0)>(0); - if ($0) { - $i$010 = 0; - while(1) { - $1 = (($sizelist) + ($i$010)|0); - $2 = HEAP8[$1>>0]|0; - $3 = $2&255; - $4 = (($sizes) + ($3<<2)|0); - $5 = HEAP32[$4>>2]|0; - $6 = (($5) + 1)|0; - HEAP32[$4>>2] = $6; - $7 = (($i$010) + 1)|0; - $exitcond13 = ($7|0)==($num|0); - if ($exitcond13) { - break; - } else { - $i$010 = $7; - } - } - } - HEAP32[$sizes>>2] = 0; - $11 = ((($sizes)) + 4|0); - $12 = HEAP32[$11>>2]|0; - $13 = ($12|0)>(2); - if (!($13)) { - $8 = ((($sizes)) + 8|0); - $9 = HEAP32[$8>>2]|0; - $10 = ($9|0)>(4); - if (!($10)) { - $66 = ((($sizes)) + 12|0); - $67 = HEAP32[$66>>2]|0; - $68 = ($67|0)>(8); - if (!($68)) { - $69 = ((($sizes)) + 16|0); - $70 = HEAP32[$69>>2]|0; - $71 = ($70|0)>(16); - if (!($71)) { - $72 = ((($sizes)) + 20|0); - $73 = HEAP32[$72>>2]|0; - $74 = ($73|0)>(32); - if (!($74)) { - $75 = ((($sizes)) + 24|0); - $76 = HEAP32[$75>>2]|0; - $77 = ($76|0)>(64); - if (!($77)) { - $78 = ((($sizes)) + 28|0); - $79 = HEAP32[$78>>2]|0; - $80 = ($79|0)>(128); - if (!($80)) { - $81 = ((($sizes)) + 32|0); - $82 = HEAP32[$81>>2]|0; - $83 = ($82|0)>(256); - if (!($83)) { - $84 = ((($sizes)) + 36|0); - $85 = HEAP32[$84>>2]|0; - $86 = ($85|0)>(512); - if (!($86)) { - $87 = ((($sizes)) + 40|0); - $88 = HEAP32[$87>>2]|0; - $89 = ($88|0)>(1024); - if (!($89)) { - $90 = ((($sizes)) + 44|0); - $91 = HEAP32[$90>>2]|0; - $92 = ($91|0)>(2048); - if (!($92)) { - $93 = ((($sizes)) + 48|0); - $94 = HEAP32[$93>>2]|0; - $95 = ($94|0)>(4096); - if (!($95)) { - $96 = ((($sizes)) + 52|0); - $97 = HEAP32[$96>>2]|0; - $98 = ($97|0)>(8192); - if (!($98)) { - $99 = ((($sizes)) + 56|0); - $100 = HEAP32[$99>>2]|0; - $101 = ($100|0)>(16384); - if (!($101)) { - $102 = ((($sizes)) + 60|0); - $103 = HEAP32[$102>>2]|0; - $104 = ($103|0)>(32768); - if (!($104)) { - $code$06 = 0;$i$28 = 1;$k$07 = 0; - while(1) { - $14 = (($next_code) + ($i$28<<2)|0); - HEAP32[$14>>2] = $code$06; - $15 = $code$06&65535; - $16 = (((($z)) + 1024|0) + ($i$28<<1)|0); - HEAP16[$16>>1] = $15; - $17 = $k$07&65535; - $18 = (((($z)) + 1124|0) + ($i$28<<1)|0); - HEAP16[$18>>1] = $17; - $19 = (($sizes) + ($i$28<<2)|0); - $20 = HEAP32[$19>>2]|0; - $21 = (($20) + ($code$06))|0; - $22 = ($20|0)!=(0); - $23 = 1 << $i$28; - $24 = ($21|0)>($23|0); - $or$cond = $22 & $24; - if ($or$cond) { - label = 7; - break; - } - $25 = (16 - ($i$28))|0; - $26 = $21 << $25; - $27 = (((($z)) + 1056|0) + ($i$28<<2)|0); - HEAP32[$27>>2] = $26; - $28 = $21 << 1; - $29 = HEAP32[$19>>2]|0; - $30 = (($29) + ($k$07))|0; - $31 = (($i$28) + 1)|0; - $32 = ($31|0)<(16); - if ($32) { - $code$06 = $28;$i$28 = $31;$k$07 = $30; - } else { - break; - } - } - if ((label|0) == 7) { - _stbi__err(26928); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $33 = ((($z)) + 1120|0); - HEAP32[$33>>2] = 65536; - $34 = ($num|0)>(0); - if ($34) { - $i$34 = 0; - } else { - $$0 = 1; - STACKTOP = sp;return ($$0|0); - } - while(1) { - $35 = (($sizelist) + ($i$34)|0); - $36 = HEAP8[$35>>0]|0; - $37 = $36&255; - $38 = ($36<<24>>24)==(0); - if (!($38)) { - $39 = (($next_code) + ($37<<2)|0); - $40 = HEAP32[$39>>2]|0; - $41 = (((($z)) + 1024|0) + ($37<<1)|0); - $42 = HEAP16[$41>>1]|0; - $43 = $42&65535; - $44 = (($40) - ($43))|0; - $45 = (((($z)) + 1124|0) + ($37<<1)|0); - $46 = HEAP16[$45>>1]|0; - $47 = $46&65535; - $48 = (($44) + ($47))|0; - $49 = $37 << 9; - $50 = $49 | $i$34; - $51 = $50&65535; - $52 = (((($z)) + 1156|0) + ($48)|0); - HEAP8[$52>>0] = $36; - $53 = $i$34&65535; - $54 = (((($z)) + 1444|0) + ($48<<1)|0); - HEAP16[$54>>1] = $53; - $55 = ($36&255)<(10); - do { - if ($55) { - $56 = HEAP32[$39>>2]|0; - $57 = (_stbi__bit_reverse($56,$37)|0); - $58 = ($57|0)<(512); - if (!($58)) { - break; - } - $59 = 1 << $37; - $k1$03 = $57; - while(1) { - $60 = (($z) + ($k1$03<<1)|0); - HEAP16[$60>>1] = $51; - $61 = (($k1$03) + ($59))|0; - $62 = ($61|0)<(512); - if ($62) { - $k1$03 = $61; - } else { - break; - } - } - } - } while(0); - $63 = HEAP32[$39>>2]|0; - $64 = (($63) + 1)|0; - HEAP32[$39>>2] = $64; - } - $65 = (($i$34) + 1)|0; - $exitcond = ($65|0)==($num|0); - if ($exitcond) { - $$0 = 1; - break; - } else { - $i$34 = $65; - } - } - STACKTOP = sp;return ($$0|0); - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - _stbi__err(26984); - $$0 = 0; - STACKTOP = sp;return ($$0|0); -} -function _stbi__compute_huffman_codes($a) { - $a = $a|0; - var $$ = 0, $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; - var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0; - var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $codelength_sizes = 0, $exitcond = 0, $i$08 = 0, $lencodes = 0, $n$0$be = 0, $n$0$lcssa = 0, $n$06 = 0, $not$ = 0, $z_codelength = 0, dest = 0; - var label = 0, sp = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 2496|0; - $z_codelength = sp; - $lencodes = sp + 2039|0; - $codelength_sizes = sp + 2020|0; - $0 = (_stbi__zreceive($a,5)|0); - $1 = (($0) + 257)|0; - $2 = (_stbi__zreceive($a,5)|0); - $3 = (($2) + 1)|0; - $4 = (_stbi__zreceive($a,4)|0); - $5 = (($4) + 4)|0; - dest=$codelength_sizes; stop=dest+19|0; do { HEAP8[dest>>0]=0|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); - $6 = ($5|0)>(0); - if ($6) { - $7 = (($4) + 3)|0; - $i$08 = 0; - while(1) { - $8 = (_stbi__zreceive($a,3)|0); - $9 = $8&255; - $10 = (26904 + ($i$08)|0); - $11 = HEAP8[$10>>0]|0; - $12 = $11&255; - $13 = (($codelength_sizes) + ($12)|0); - HEAP8[$13>>0] = $9; - $14 = (($i$08) + 1)|0; - $exitcond = ($i$08|0)==($7|0); - if ($exitcond) { - break; - } else { - $i$08 = $14; - } - } - } - $15 = (_stbi__zbuild_huffman($z_codelength,$codelength_sizes,19)|0); - $16 = ($15|0)==(0); - if ($16) { - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $17 = (($3) + ($1))|0; - $18 = ($17|0)>(0); - L9: do { - if ($18) { - $n$06 = 0; - L10: while(1) { - $19 = (_stbi__zhuffman_decode($a,$z_codelength)|0); - $20 = ($19>>>0)>(18); - if ($20) { - break; - } - $21 = ($19|0)<(16); - do { - if ($21) { - $22 = $19&255; - $23 = (($n$06) + 1)|0; - $24 = (($lencodes) + ($n$06)|0); - HEAP8[$24>>0] = $22; - $n$0$be = $23; - } else { - if ((($19|0) == 16)) { - $25 = (_stbi__zreceive($a,2)|0); - $26 = (($25) + 3)|0; - $27 = (($lencodes) + ($n$06)|0); - $28 = (($n$06) + -1)|0; - $29 = (($lencodes) + ($28)|0); - $30 = HEAP8[$29>>0]|0; - _memset(($27|0),($30|0),($26|0))|0; - $31 = (($26) + ($n$06))|0; - $n$0$be = $31; - break; - } else if ((($19|0) == 17)) { - $33 = (_stbi__zreceive($a,3)|0); - $34 = (($33) + 3)|0; - $35 = (($lencodes) + ($n$06)|0); - _memset(($35|0),0,($34|0))|0; - $36 = (($34) + ($n$06))|0; - $n$0$be = $36; - break; - } else if ((($19|0) == 18)) { - $37 = (_stbi__zreceive($a,7)|0); - $38 = (($37) + 11)|0; - $39 = (($lencodes) + ($n$06)|0); - _memset(($39|0),0,($38|0))|0; - $40 = (($38) + ($n$06))|0; - $n$0$be = $40; - break; - } else { - label = 14; - break L10; - } - } - } while(0); - $32 = ($n$0$be|0)<($17|0); - if ($32) { - $n$06 = $n$0$be; - } else { - $n$0$lcssa = $n$0$be; - break L9; - } - } - if ((label|0) == 14) { - ___assert_fail((26944|0),(25096|0),3709,(26952|0)); - // unreachable; - } - _stbi__err(26928); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } else { - $n$0$lcssa = 0; - } - } while(0); - $41 = ($n$0$lcssa|0)==($17|0); - if (!($41)) { - _stbi__err(26928); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $42 = ((($a)) + 32|0); - $43 = (_stbi__zbuild_huffman($42,$lencodes,$1)|0); - $44 = ($43|0)==(0); - if ($44) { - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $45 = ((($a)) + 2052|0); - $46 = (($lencodes) + ($1)|0); - $47 = (_stbi__zbuild_huffman($45,$46,$3)|0); - $not$ = ($47|0)!=(0); - $$ = $not$&1; - $$0 = $$; - STACKTOP = sp;return ($$0|0); -} -function _stbi__parse_huffman_block($a) { - $a = $a|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; - var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $dist$0 = 0; - var $len$0 = 0, $len$2 = 0, $p$0 = 0, $scevgep = 0, $scevgep14 = 0, $zout$0 = 0, $zout$0$lcssa = 0, $zout$1 = 0, $zout$2 = 0, $zout$4 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($a)) + 16|0); - $1 = HEAP32[$0>>2]|0; - $2 = ((($a)) + 32|0); - $3 = ((($a)) + 24|0); - $4 = ((($a)) + 2052|0); - $5 = ((($a)) + 20|0); - $6 = ((($a)) + 24|0); - $zout$0 = $1; - while(1) { - $9 = (_stbi__zhuffman_decode($a,$2)|0); - $10 = ($9|0)<(256); - if ($10) { - $11 = ($9|0)<(0); - if ($11) { - label = 6; - break; - } - $12 = HEAP32[$3>>2]|0; - $13 = ($zout$0>>>0)<($12>>>0); - if ($13) { - $zout$1 = $zout$0; - } else { - $14 = (_stbi__zexpand($a,$zout$0,1)|0); - $15 = ($14|0)==(0); - if ($15) { - $$0 = 0; - label = 28; - break; - } - $16 = HEAP32[$0>>2]|0; - $zout$1 = $16; - } - $17 = $9&255; - $18 = ((($zout$1)) + 1|0); - HEAP8[$zout$1>>0] = $17; - $zout$0 = $18; - continue; - } - $19 = ($9|0)==(256); - if ($19) { - $zout$0$lcssa = $zout$0; - label = 12; - break; - } - $20 = (($9) + -257)|0; - $21 = (26208 + ($20<<2)|0); - $22 = HEAP32[$21>>2]|0; - $23 = (($9) + -265)|0; - $24 = ($23>>>0)<(20); - if ($24) { - $25 = (26336 + ($20<<2)|0); - $26 = HEAP32[$25>>2]|0; - $27 = (_stbi__zreceive($a,$26)|0); - $28 = (($27) + ($22))|0; - $len$0 = $28; - } else { - $len$0 = $22; - } - $29 = (_stbi__zhuffman_decode($a,$4)|0); - $30 = ($29|0)<(0); - if ($30) { - label = 16; - break; - } - $31 = (26464 + ($29<<2)|0); - $32 = HEAP32[$31>>2]|0; - $33 = (($29) + -4)|0; - $34 = ($33>>>0)<(26); - if ($34) { - $35 = (26592 + ($29<<2)|0); - $36 = HEAP32[$35>>2]|0; - $37 = (_stbi__zreceive($a,$36)|0); - $38 = (($37) + ($32))|0; - $dist$0 = $38; - } else { - $dist$0 = $32; - } - $39 = HEAP32[$5>>2]|0; - $40 = $zout$0; - $41 = $39; - $42 = (($40) - ($41))|0; - $43 = ($42|0)<($dist$0|0); - if ($43) { - label = 20; - break; - } - $44 = (($zout$0) + ($len$0)|0); - $45 = HEAP32[$6>>2]|0; - $46 = ($44>>>0)>($45>>>0); - if ($46) { - $47 = (_stbi__zexpand($a,$zout$0,$len$0)|0); - $48 = ($47|0)==(0); - if ($48) { - $$0 = 0; - label = 28; - break; - } - $49 = HEAP32[$0>>2]|0; - $zout$2 = $49; - } else { - $zout$2 = $zout$0; - } - $50 = (0 - ($dist$0))|0; - $8 = (($zout$2) + ($50)|0); - $51 = ($dist$0|0)==(1); - $52 = ($len$0|0)==(0); - if ($51) { - if ($52) { - $zout$0 = $zout$2; - continue; - } - $7 = HEAP8[$8>>0]|0; - _memset(($zout$2|0),($7|0),($len$0|0))|0; - $scevgep14 = (($zout$2) + ($len$0)|0); - $zout$0 = $scevgep14; - continue; - } - if ($52) { - $zout$0 = $zout$2; - continue; - } else { - $len$2 = $len$0;$p$0 = $8;$zout$4 = $zout$2; - } - while(1) { - $53 = ((($p$0)) + 1|0); - $54 = HEAP8[$p$0>>0]|0; - $55 = ((($zout$4)) + 1|0); - HEAP8[$zout$4>>0] = $54; - $56 = (($len$2) + -1)|0; - $57 = ($56|0)==(0); - if ($57) { - break; - } else { - $len$2 = $56;$p$0 = $53;$zout$4 = $55; - } - } - $scevgep = (($zout$2) + ($len$0)|0); - $zout$0 = $scevgep; - } - if ((label|0) == 6) { - _stbi__err(26184); - $$0 = 0; - return ($$0|0); - } - else if ((label|0) == 12) { - HEAP32[$0>>2] = $zout$0$lcssa; - $$0 = 1; - return ($$0|0); - } - else if ((label|0) == 16) { - _stbi__err(26184); - $$0 = 0; - return ($$0|0); - } - else if ((label|0) == 20) { - _stbi__err(26720); - $$0 = 0; - return ($$0|0); - } - else if ((label|0) == 28) { - return ($$0|0); - } - return (0)|0; -} -function _stbi__zhuffman_decode($a,$z) { - $a = $a|0; - $z = $z|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($a)) + 8|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)<(16); - if ($2) { - _stbi__fill_bits($a); - } - $3 = ((($a)) + 12|0); - $4 = HEAP32[$3>>2]|0; - $5 = $4 & 511; - $6 = (($z) + ($5<<1)|0); - $7 = HEAP16[$6>>1]|0; - $8 = $7&65535; - $9 = ($7<<16>>16)==(0); - if ($9) { - $15 = (_stbi__zhuffman_decode_slowpath($a,$z)|0); - $$0 = $15; - return ($$0|0); - } else { - $10 = $8 >>> 9; - $11 = $4 >>> $10; - HEAP32[$3>>2] = $11; - $12 = HEAP32[$0>>2]|0; - $13 = (($12) - ($10))|0; - HEAP32[$0>>2] = $13; - $14 = $8 & 511; - $$0 = $14; - return ($$0|0); - } - return (0)|0; -} -function _stbi__zexpand($z,$zout,$n) { - $z = $z|0; - $zout = $zout|0; - $n = $n|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; - var $8 = 0, $9 = 0, $limit$0 = 0, $limit$0$lcssa = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($z)) + 16|0); - HEAP32[$0>>2] = $zout; - $1 = ((($z)) + 28|0); - $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)==(0); - if ($3) { - _stbi__err(26736); - $$0 = 0; - return ($$0|0); - } - $4 = ((($z)) + 20|0); - $5 = HEAP32[$4>>2]|0; - $6 = $zout; - $7 = $5; - $8 = (($6) - ($7))|0; - $9 = ((($z)) + 24|0); + $6 = ((($0)) + 23|0); + $7 = HEAP8[$6>>0]|0; + $8 = ($7<<24>>24)==(0); + $9 = ((($0)) + 32|0); $10 = HEAP32[$9>>2]|0; - $11 = $10; - $12 = (($11) - ($7))|0; - $13 = (($8) + ($n))|0; - $limit$0 = $12; - while(1) { - $14 = ($13|0)>($limit$0|0); - $15 = $limit$0 << 1; - if ($14) { - $limit$0 = $15; - } else { - $limit$0$lcssa = $limit$0; - break; - } - } - $16 = HEAP32[$4>>2]|0; - $17 = (_realloc($16,$limit$0$lcssa)|0); - $18 = ($17|0)==(0|0); - if ($18) { - _stbi__err(25000); - $$0 = 0; - return ($$0|0); + if ($8) { + $11 = (($10) + ($2<<2)|0); + $$sink = $1;$$sink1 = $11; + HEAP32[$$sink1>>2] = $$sink; + return; } else { - HEAP32[$4>>2] = $17; - $19 = (($17) + ($8)|0); - HEAP32[$0>>2] = $19; - $20 = (($17) + ($limit$0$lcssa)|0); - HEAP32[$9>>2] = $20; - $$0 = 1; - return ($$0|0); - } - return (0)|0; -} -function _stbi__fill_bits($z) { - $z = $z|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($z)) + 12|0); - $1 = ((($z)) + 8|0); - while(1) { - $2 = HEAP32[$0>>2]|0; - $3 = HEAP32[$1>>2]|0; - $4 = 1 << $3; - $5 = ($2>>>0)<($4>>>0); - if (!($5)) { - label = 3; - break; - } - $6 = (_stbi__zget8($z)|0); - $7 = $6&255; - $8 = HEAP32[$1>>2]|0; - $9 = $7 << $8; - $10 = HEAP32[$0>>2]|0; - $11 = $10 | $9; - HEAP32[$0>>2] = $11; - $12 = HEAP32[$1>>2]|0; - $13 = (($12) + 8)|0; - HEAP32[$1>>2] = $13; - $14 = ($13|0)<(25); - if (!($14)) { - label = 5; - break; - } - } - if ((label|0) == 3) { - ___assert_fail((26848|0),(25096|0),3553,(26888|0)); - // unreachable; - } - else if ((label|0) == 5) { + $12 = (($10) + ($3<<2)|0); + HEAP32[$12>>2] = $1; + $13 = $4&255; + $14 = ((($0)) + 8|0); + $15 = HEAP32[$14>>2]|0; + $16 = (($15) + ($3)|0); + HEAP8[$16>>0] = $13; + $17 = (($5) + ($3<<2)|0); + $$sink = $2;$$sink1 = $17; + HEAP32[$$sink1>>2] = $$sink; return; } } -function _stbi__zhuffman_decode_slowpath($a,$z) { - $a = $a|0; - $z = $z|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $s$0 = 0, $s$0$lcssa = 0, label = 0, sp = 0; +function _LoadSound($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$byval_copy1 = 0, $2 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = ((($a)) + 12|0); - $1 = HEAP32[$0>>2]|0; - $2 = (_stbi__bit_reverse($1,16)|0); - $s$0 = 10; - while(1) { - $3 = (((($z)) + 1056|0) + ($s$0<<2)|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($2|0)<($4|0); - $6 = (($s$0) + 1)|0; - if ($5) { - $s$0$lcssa = $s$0; - break; - } else { - $s$0 = $6; - } - } - $7 = ($s$0$lcssa|0)==(16); - if ($7) { - $$0 = -1; - return ($$0|0); - } - $8 = (16 - ($s$0$lcssa))|0; - $9 = $2 >> $8; - $10 = (((($z)) + 1024|0) + ($s$0$lcssa<<1)|0); - $11 = HEAP16[$10>>1]|0; - $12 = $11&65535; - $13 = (($9) - ($12))|0; - $14 = (((($z)) + 1124|0) + ($s$0$lcssa<<1)|0); - $15 = HEAP16[$14>>1]|0; - $16 = $15&65535; - $17 = (($13) + ($16))|0; - $18 = (((($z)) + 1156|0) + ($17)|0); - $19 = HEAP8[$18>>0]|0; - $20 = $19&255; - $21 = ($20|0)==($s$0$lcssa|0); - if (!($21)) { - ___assert_fail((26760|0),(25096|0),3581,(26776|0)); - // unreachable; - } - $22 = HEAP32[$0>>2]|0; - $23 = $22 >>> $s$0$lcssa; - HEAP32[$0>>2] = $23; - $24 = ((($a)) + 8|0); - $25 = HEAP32[$24>>2]|0; - $26 = (($25) - ($s$0$lcssa))|0; - HEAP32[$24>>2] = $26; - $27 = (((($z)) + 1444|0) + ($17<<1)|0); - $28 = HEAP16[$27>>1]|0; - $29 = $28&65535; - $$0 = $29; - return ($$0|0); + STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0); + $$byval_copy1 = sp + 20|0; + $2 = sp; + _LoadWave($2,$1); + ;HEAP32[$$byval_copy1>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$2+16>>2]|0; + _LoadSoundFromWave($0,$$byval_copy1); + ;HEAP32[$$byval_copy1>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$2+16>>2]|0; + _UnloadWave($$byval_copy1); + STACKTOP = sp;return; } -function _stbi__bit_reverse($v,$bits) { - $v = $v|0; - $bits = $bits|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; +function _LoadSoundFromWave($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $$sroa$0$0 = 0, $$sroa$5$0 = 0, $$sroa$5$0$$sroa_idx7 = 0, $$sroa$6$0 = 0, $$sroa$6$0$$sroa_idx9 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0; + var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $5 = 0; + var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer4 = 0, $vararg_buffer7 = 0, $vararg_ptr10 = 0, $vararg_ptr11 = 0, $vararg_ptr12 = 0, $vararg_ptr13 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = ($bits|0)<(17); - if ($0) { - $1 = (_stbi__bitreverse16($v)|0); - $2 = (16 - ($bits))|0; - $3 = $1 >> $2; - return ($3|0); - } else { - ___assert_fail((26808|0),(25096|0),3471,(26824|0)); - // unreachable; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $vararg_buffer7 = sp + 24|0; + $vararg_buffer4 = sp + 16|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $2 = sp + 48|0; + $3 = sp + 44|0; + $4 = ((($1)) + 16|0); + $5 = HEAP32[$4>>2]|0; + $6 = ($5|0)==(0|0); + if ($6) { + $$sroa$0$0 = 0;$$sroa$5$0 = 0;$$sroa$6$0 = 0; + HEAP32[$0>>2] = $$sroa$0$0; + $$sroa$5$0$$sroa_idx7 = ((($0)) + 4|0); + HEAP32[$$sroa$5$0$$sroa_idx7>>2] = $$sroa$5$0; + $$sroa$6$0$$sroa_idx9 = ((($0)) + 8|0); + HEAP32[$$sroa$6$0$$sroa_idx9>>2] = $$sroa$6$0; + STACKTOP = sp;return; } - return (0)|0; -} -function _stbi__bitreverse16($n) { - $n = $n|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; - var sp = 0; - sp = STACKTOP; - $0 = $n >>> 1; - $1 = $0 & 21845; - $2 = $n << 1; - $3 = $2 & 43690; - $4 = $1 | $3; - $5 = $4 >>> 2; - $6 = $5 & 13107; - $7 = $4 << 2; - $8 = $7 & 52428; - $9 = $6 | $8; - $10 = $9 >>> 4; - $11 = $10 & 3855; - $12 = $9 << 4; - $13 = $12 & 61680; - $14 = $11 | $13; - $15 = $14 >>> 8; - $16 = $14 << 8; - $17 = $16 & 65280; - $18 = $17 | $15; - return ($18|0); -} -function _stbi__zget8($z) { - $z = $z|0; - var $$0 = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[$z>>2]|0; - $1 = ((($z)) + 4|0); - $2 = HEAP32[$1>>2]|0; - $3 = ($0>>>0)<($2>>>0); - if (!($3)) { - $$0 = 0; - return ($$0|0); - } - $4 = ((($0)) + 1|0); - HEAP32[$z>>2] = $4; - $5 = HEAP8[$0>>0]|0; - $$0 = $5; - return ($$0|0); -} -function _stbi__load_main($s,$x,$y,$comp,$req_comp) { - $s = $s|0; - $x = $x|0; - $y = $y|0; - $comp = $comp|0; - $req_comp = $req_comp|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $3 = 0, $4 = 0; - var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_stbi__jpeg_test($s)|0); - $1 = ($0|0)==(0); - if (!($1)) { - $2 = (_stbi__jpeg_load($s,$x,$y,$comp,$req_comp)|0); - $$0 = $2; - return ($$0|0); - } - $3 = (_stbi__png_test($s)|0); - $4 = ($3|0)==(0); - if (!($4)) { - $5 = (_stbi__png_load($s,$x,$y,$comp,$req_comp)|0); - $$0 = $5; - return ($$0|0); - } - $6 = (_stbi__bmp_test($s)|0); - $7 = ($6|0)==(0); - if (!($7)) { - $8 = (_stbi__bmp_load($s,$x,$y,$comp,$req_comp)|0); - $$0 = $8; - return ($$0|0); - } - $9 = (_stbi__gif_test($s)|0); - $10 = ($9|0)==(0); - if (!($10)) { - $11 = (_stbi__gif_load($s,$x,$y,$comp,$req_comp)|0); - $$0 = $11; - return ($$0|0); - } - $12 = (_stbi__psd_test($s)|0); - $13 = ($12|0)==(0); - if (!($13)) { - $14 = (_stbi__psd_load($s,$x,$y,$comp,$req_comp)|0); - $$0 = $14; - return ($$0|0); - } - $15 = (_stbi__pic_test($s)|0); - $16 = ($15|0)==(0); - if (!($16)) { - $17 = (_stbi__pic_load($s,$x,$y,$comp,$req_comp)|0); - $$0 = $17; - return ($$0|0); - } - $18 = (_stbi__pnm_test($s)|0); - $19 = ($18|0)==(0); - if (!($19)) { - $20 = (_stbi__pnm_load($s,$x,$y,$comp,$req_comp)|0); - $$0 = $20; - return ($$0|0); - } - $21 = (_stbi__tga_test($s)|0); - $22 = ($21|0)==(0); - if ($22) { - _stbi__err(24648); - $$0 = 0; - return ($$0|0); - } else { - $23 = (_stbi__tga_load($s,$x,$y,$comp,$req_comp)|0); - $$0 = $23; - return ($$0|0); - } - return (0)|0; -} -function _stbi__jpeg_test($s) { - $s = $s|0; - var $0 = 0, $j = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 18192|0; - $j = sp; - HEAP32[$j>>2] = $s; - _stbi__setup_jpeg($j); - $0 = (_stbi__decode_jpeg_header($j,1)|0); - _stbi__rewind($s); - STACKTOP = sp;return ($0|0); -} -function _stbi__jpeg_load($s,$x,$y,$comp,$req_comp) { - $s = $s|0; - $x = $x|0; - $y = $y|0; - $comp = $comp|0; - $req_comp = $req_comp|0; - var $0 = 0, $j = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 18192|0; - $j = sp; - HEAP32[$j>>2] = $s; - _stbi__setup_jpeg($j); - $0 = (_load_jpeg_image($j,$x,$y,$comp,$req_comp)|0); - STACKTOP = sp;return ($0|0); -} -function _stbi__png_test($s) { - $s = $s|0; - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_stbi__check_png_header($s)|0); - _stbi__rewind($s); - return ($0|0); -} -function _stbi__png_load($s,$x,$y,$comp,$req_comp) { - $s = $s|0; - $x = $x|0; - $y = $y|0; - $comp = $comp|0; - $req_comp = $req_comp|0; - var $0 = 0, $p = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $p = sp; - HEAP32[$p>>2] = $s; - $0 = (_stbi__do_png($p,$x,$y,$comp,$req_comp)|0); - STACKTOP = sp;return ($0|0); -} -function _stbi__bmp_test($s) { - $s = $s|0; - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_stbi__bmp_test_raw($s)|0); - _stbi__rewind($s); - return ($0|0); -} -function _stbi__bmp_load($s,$x,$y,$comp,$req_comp) { - $s = $s|0; - $x = $x|0; - $y = $y|0; - $comp = $comp|0; - $req_comp = $req_comp|0; - var $$ = 0, $$0 = 0, $$31 = 0, $$32 = 0, $$33 = 0, $$off = 0, $$ph = 0, $$sum = 0, $$sum30 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0; - var $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0; - var $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0; - var $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0; - var $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0; - var $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0; - var $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0; - var $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0; - var $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $26 = 0, $27 = 0; - var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; - var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0; - var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0; - var $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $acount$0 = 0; - var $ashift$0 = 0, $bcount$0 = 0, $bshift$0 = 0, $easy$042 = 0, $exitcond = 0, $gcount$0 = 0, $gshift$0 = 0, $i$166 = 0, $i$258 = 0, $i$373 = 0, $i$469 = 0, $i$555 = 0, $ispos = 0, $j$064 = 0, $j$177 = 0, $j$256 = 0, $ma$0 = 0, $ma$1 = 0, $mb$0 = 0, $mb$1 = 0; - var $mg$0 = 0, $mg$1 = 0, $mr$0 = 0, $mr$1 = 0, $neg = 0, $or$cond = 0, $or$cond19 = 0, $or$cond21 = 0, $or$cond23 = 0, $or$cond25 = 0, $or$cond27 = 0, $or$cond29 = 0, $or$cond35 = 0, $out$0 = 0, $pal = 0, $psize$0 = 0, $rcount$0 = 0, $req_comp$ = 0, $rshift$0 = 0, $v$0 = 0; - var $v2$0 = 0, $width$0 = 0, $z$065 = 0, $z$159 = 0, $z$2 = 0, $z$3 = 0, $z$4 = 0, $z1$078 = 0, $z1$174 = 0, $z1$2 = 0, $z1$370 = 0, $z1$4 = 0, $z1$5 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 1024|0; - $pal = sp; - $0 = (_stbi__get8($s)|0); - $1 = ($0<<24>>24)==(66); - if ($1) { - $2 = (_stbi__get8($s)|0); - $3 = ($2<<24>>24)==(77); - if ($3) { - (_stbi__get32le($s)|0); - (_stbi__get16le($s)|0); - (_stbi__get16le($s)|0); - $4 = (_stbi__get32le($s)|0); - $5 = (_stbi__get32le($s)|0); - $6 = ($5|0)==(12); - switch ($5|0) { - case 12: case 40: case 56: case 108: case 124: { + $7 = ((($1)) + 12|0); + $8 = HEAP32[$7>>2]|0; + L4: do { + switch ($8|0) { + case 1: { + $9 = ((($1)) + 8|0); + $10 = HEAP32[$9>>2]|0; + switch ($10|0) { + case 8: { + $$0 = 4352; + break L4; + break; + } + case 16: { + $$0 = 4353; + break L4; + break; + } + case 32: { + $$0 = 65552; + break L4; break; } default: { - _stbi__err(27496); + HEAP32[$vararg_buffer>>2] = $10; + _TraceLog(1,20103,$vararg_buffer); $$0 = 0; - STACKTOP = sp;return ($$0|0); + break L4; } } - $7 = ($5|0)==(12); - if ($7) { - $8 = (_stbi__get16le($s)|0); - HEAP32[$s>>2] = $8; - $9 = (_stbi__get16le($s)|0); - $10 = ((($s)) + 4|0); - HEAP32[$10>>2] = $9; - } else { - $11 = (_stbi__get32le($s)|0); - HEAP32[$s>>2] = $11; - $12 = (_stbi__get32le($s)|0); - $13 = ((($s)) + 4|0); - HEAP32[$13>>2] = $12; - } - $14 = (_stbi__get16le($s)|0); - $15 = ($14|0)==(1); - if (!($15)) { - _stbi__err(27512); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $16 = (_stbi__get16le($s)|0); - $17 = ($16|0)==(1); - if ($17) { - _stbi__err(27520); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $18 = ((($s)) + 4|0); - $19 = HEAP32[$18>>2]|0; - $20 = ($19|0)>(0); - $ispos = ($19|0)>(-1); - $neg = (0 - ($19))|0; - $21 = $ispos ? $19 : $neg; - HEAP32[$18>>2] = $21; - do { - if ($7) { - $22 = ($16|0)<(24); - if ($22) { - $23 = (($4) + -38)|0; - $24 = (($23|0) / 3)&-1; - $ma$1 = 0;$mb$1 = 0;$mg$1 = 0;$mr$1 = 0;$psize$0 = $24; - } else { - $ma$1 = 0;$mb$1 = 0;$mg$1 = 0;$mr$1 = 0;$psize$0 = 0; - } - } else { - $25 = (_stbi__get32le($s)|0); - $$off = (($25) + -1)|0; - $26 = ($$off>>>0)<(2); - if ($26) { - _stbi__err(27536); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - (_stbi__get32le($s)|0); - (_stbi__get32le($s)|0); - (_stbi__get32le($s)|0); - (_stbi__get32le($s)|0); - (_stbi__get32le($s)|0); - $27 = $5 & -17; - if ((($27|0) == 108)) { - $35 = ($5|0)==(124); - $36 = (_stbi__get32le($s)|0); - $37 = (_stbi__get32le($s)|0); - $38 = (_stbi__get32le($s)|0); - $39 = (_stbi__get32le($s)|0); - (_stbi__get32le($s)|0); - (_stbi__get32le($s)|0); - (_stbi__get32le($s)|0); - (_stbi__get32le($s)|0); - (_stbi__get32le($s)|0); - (_stbi__get32le($s)|0); - (_stbi__get32le($s)|0); - (_stbi__get32le($s)|0); - (_stbi__get32le($s)|0); - (_stbi__get32le($s)|0); - (_stbi__get32le($s)|0); - (_stbi__get32le($s)|0); - (_stbi__get32le($s)|0); - if ($35) { - (_stbi__get32le($s)|0); - (_stbi__get32le($s)|0); - (_stbi__get32le($s)|0); - (_stbi__get32le($s)|0); - $ma$0 = $39;$mb$0 = $38;$mg$0 = $37;$mr$0 = $36; - } else { - $ma$0 = $39;$mb$0 = $38;$mg$0 = $37;$mr$0 = $36; - } - } else if ((($27|0) == 40)) { - $28 = ($5|0)==(56); - if ($28) { - (_stbi__get32le($s)|0); - (_stbi__get32le($s)|0); - (_stbi__get32le($s)|0); - (_stbi__get32le($s)|0); - } - $29 = ($16|0)==(32); - if ((($16|0) == 16) | (($16|0) == 32)) { - if ((($25|0) == 0)) { - $$ = $29 ? -16777216 : 0; - $$31 = $29 ? 255 : 31; - $$32 = $29 ? 65280 : 992; - $$33 = $29 ? 16711680 : 31744; - $ma$1 = $$;$mb$1 = $$31;$mg$1 = $$32;$mr$1 = $$33;$psize$0 = 0; - break; - } else if ((($25|0) == 3)) { - $30 = (_stbi__get32le($s)|0); - $31 = (_stbi__get32le($s)|0); - $32 = (_stbi__get32le($s)|0); - $33 = ($30|0)==($31|0); - $34 = ($31|0)==($32|0); - $or$cond = $33 & $34; - if (!($or$cond)) { - $ma$1 = 0;$mb$1 = $32;$mg$1 = $31;$mr$1 = $30;$psize$0 = 0; - break; - } - _stbi__err(27512); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } else { - _stbi__err(27512); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - } else { - $ma$0 = 0;$mb$0 = 0;$mg$0 = 0;$mr$0 = 0; - } - } else { - ___assert_fail((27544|0),(25096|0),4658,(27576|0)); - // unreachable; - } - $40 = ($16|0)<(16); - if ($40) { - $41 = (($4) + -14)|0; - $42 = (($41) - ($5))|0; - $43 = $42 >> 2; - $ma$1 = $ma$0;$mb$1 = $mb$0;$mg$1 = $mg$0;$mr$1 = $mr$0;$psize$0 = $43; - } else { - $ma$1 = $ma$0;$mb$1 = $mb$0;$mg$1 = $mg$0;$mr$1 = $mr$0;$psize$0 = 0; - } - } - } while(0); - $44 = ($ma$1|0)!=(0); - $45 = $44 ? 4 : 3; - $46 = ((($s)) + 8|0); - HEAP32[$46>>2] = $45; - $47 = ($req_comp|0)==(0); - $48 = ($req_comp|0)>(2); - $req_comp$ = $48 ? $req_comp : $45; - $49 = HEAP32[$s>>2]|0; - $50 = Math_imul($49, $req_comp$)|0; - $51 = HEAP32[$18>>2]|0; - $52 = Math_imul($50, $51)|0; - $53 = (_stbi__malloc($52)|0); - $54 = ($53|0)==(0|0); - if ($54) { - _stbi__err(25000); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $55 = ($16|0)<(16); - if ($55) { - $56 = ($psize$0|0)==(0); - $57 = ($psize$0|0)>(256); - $or$cond19 = $56 | $57; - if ($or$cond19) { - _free($53); - _stbi__err(27592); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $58 = ($psize$0|0)>(0); - if ($58) { - $i$166 = 0; - while(1) { - $59 = (_stbi__get8($s)|0); - $60 = (((($pal) + ($i$166<<2)|0)) + 2|0); - HEAP8[$60>>0] = $59; - $61 = (_stbi__get8($s)|0); - $62 = (((($pal) + ($i$166<<2)|0)) + 1|0); - HEAP8[$62>>0] = $61; - $63 = (_stbi__get8($s)|0); - $64 = (($pal) + ($i$166<<2)|0); - HEAP8[$64>>0] = $63; - if (!($6)) { - (_stbi__get8($s)|0); - } - $65 = (((($pal) + ($i$166<<2)|0)) + 3|0); - HEAP8[$65>>0] = -1; - $66 = (($i$166) + 1)|0; - $exitcond = ($66|0)==($psize$0|0); - if ($exitcond) { - break; - } else { - $i$166 = $66; - } - } - } - $67 = (($4) + -14)|0; - $68 = (($67) - ($5))|0; - $69 = $7 ? 3 : 4; - $70 = Math_imul($psize$0, $69)|0; - $71 = (($68) - ($70))|0; - _stbi__skip($s,$71); - $72 = ($16|0)==(4); - do { - if ($72) { - $73 = HEAP32[$s>>2]|0; - $74 = (($73) + 1)|0; - $75 = $74 >>> 1; - $width$0 = $75; - } else { - $76 = ($16|0)==(8); - if ($76) { - $77 = HEAP32[$s>>2]|0; - $width$0 = $77; - break; - } - _free($53); - _stbi__err(27600); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - } while(0); - $78 = (0 - ($width$0))|0; - $79 = $78 & 3; - $80 = HEAP32[$18>>2]|0; - $81 = ($80|0)>(0); - if ($81) { - $82 = ($req_comp$|0)==(4); - $83 = ($16|0)==(8); - $j$064 = 0;$z$065 = 0; - while(1) { - $84 = HEAP32[$s>>2]|0; - $85 = ($84|0)>(0); - L114: do { - if ($85) { - $i$258 = 0;$z$159 = $z$065; - while(1) { - $86 = (_stbi__get8($s)|0); - $87 = $86&255; - $88 = $87 & 15; - $89 = $87 >>> 4; - $v$0 = $72 ? $89 : $87; - $v2$0 = $72 ? $88 : 0; - $90 = (($pal) + ($v$0<<2)|0); - $91 = HEAP8[$90>>0]|0; - $92 = (($z$159) + 1)|0; - $93 = (($53) + ($z$159)|0); - HEAP8[$93>>0] = $91; - $94 = (((($pal) + ($v$0<<2)|0)) + 1|0); - $95 = HEAP8[$94>>0]|0; - $96 = (($z$159) + 2)|0; - $97 = (($53) + ($92)|0); - HEAP8[$97>>0] = $95; - $98 = (((($pal) + ($v$0<<2)|0)) + 2|0); - $99 = HEAP8[$98>>0]|0; - $100 = (($z$159) + 3)|0; - $101 = (($53) + ($96)|0); - HEAP8[$101>>0] = $99; - if ($82) { - $102 = (($z$159) + 4)|0; - $103 = (($53) + ($100)|0); - HEAP8[$103>>0] = -1; - $z$2 = $102; - } else { - $z$2 = $100; - } - $104 = $i$258 | 1; - $105 = HEAP32[$s>>2]|0; - $106 = ($104|0)==($105|0); - if ($106) { - $z$4 = $z$2; - break L114; - } - if ($83) { - $107 = (_stbi__get8($s)|0); - $108 = $107&255; - $110 = $108; - } else { - $110 = $v2$0; - } - $109 = (($pal) + ($110<<2)|0); - $111 = HEAP8[$109>>0]|0; - $112 = (($z$2) + 1)|0; - $113 = (($53) + ($z$2)|0); - HEAP8[$113>>0] = $111; - $114 = (((($pal) + ($110<<2)|0)) + 1|0); - $115 = HEAP8[$114>>0]|0; - $116 = (($z$2) + 2)|0; - $117 = (($53) + ($112)|0); - HEAP8[$117>>0] = $115; - $118 = (((($pal) + ($110<<2)|0)) + 2|0); - $119 = HEAP8[$118>>0]|0; - $120 = (($z$2) + 3)|0; - $121 = (($53) + ($116)|0); - HEAP8[$121>>0] = $119; - if ($82) { - $122 = (($z$2) + 4)|0; - $123 = (($53) + ($120)|0); - HEAP8[$123>>0] = -1; - $z$3 = $122; - } else { - $z$3 = $120; - } - $124 = (($i$258) + 2)|0; - $125 = HEAP32[$s>>2]|0; - $126 = ($124|0)<($125|0); - if ($126) { - $i$258 = $124;$z$159 = $z$3; - } else { - $z$4 = $z$3; - break; - } - } - } else { - $z$4 = $z$065; - } - } while(0); - _stbi__skip($s,$79); - $127 = (($j$064) + 1)|0; - $128 = HEAP32[$18>>2]|0; - $129 = ($127|0)<($128|0); - if ($129) { - $j$064 = $127;$z$065 = $z$4; - } else { - break; - } - } - } - } else { - $130 = (($4) + -14)|0; - $131 = (($130) - ($5))|0; - _stbi__skip($s,$131); - if ((($16|0) == 24)) { - $136 = HEAP32[$s>>2]|0; - $137 = Math_imul($136, -3)|0; - $138 = $137 & 3; - $211 = $138;$249 = 1;$acount$0 = 0;$ashift$0 = 0;$bcount$0 = 0;$bshift$0 = 0;$easy$042 = 1;$gcount$0 = 0;$gshift$0 = 0;$rcount$0 = 0;$rshift$0 = 0; - } else if ((($16|0) == 32)) { - $139 = ($mb$1|0)==(255); - $140 = ($mg$1|0)==(65280); - $or$cond21 = $139 & $140; - $141 = ($mr$1|0)==(16711680); - $or$cond23 = $or$cond21 & $141; - $142 = ($ma$1|0)==(-16777216); - $or$cond25 = $142 & $or$cond23; - if ($or$cond25) { - $211 = 0;$249 = 1;$acount$0 = 0;$ashift$0 = 0;$bcount$0 = 0;$bshift$0 = 0;$easy$042 = 2;$gcount$0 = 0;$gshift$0 = 0;$rcount$0 = 0;$rshift$0 = 0; - } else { - $$ph = 0; - label = 62; - } - } else if ((($16|0) == 16)) { - $132 = HEAP32[$s>>2]|0; - $133 = $132 << 1; - $134 = (0 - ($133))|0; - $135 = $134 & 2; - $$ph = $135; - label = 62; - } else { - $$ph = 0; - label = 62; - } - do { - if ((label|0) == 62) { - $143 = ($mr$1|0)!=(0); - $144 = ($mg$1|0)!=(0); - $or$cond27 = $144 & $143; - $145 = ($mb$1|0)!=(0); - $or$cond29 = $145 & $or$cond27; - if ($or$cond29) { - $146 = (_stbi__high_bit($mr$1)|0); - $147 = (($146) + -7)|0; - $148 = (_stbi__bitcount($mr$1)|0); - $149 = (_stbi__high_bit($mg$1)|0); - $150 = (($149) + -7)|0; - $151 = (_stbi__bitcount($mg$1)|0); - $152 = (_stbi__high_bit($mb$1)|0); - $153 = (($152) + -7)|0; - $154 = (_stbi__bitcount($mb$1)|0); - $155 = (_stbi__high_bit($ma$1)|0); - $156 = (($155) + -7)|0; - $157 = (_stbi__bitcount($ma$1)|0); - $211 = $$ph;$249 = 0;$acount$0 = $157;$ashift$0 = $156;$bcount$0 = $154;$bshift$0 = $153;$easy$042 = 0;$gcount$0 = $151;$gshift$0 = $150;$rcount$0 = $148;$rshift$0 = $147; - break; - } - _free($53); - _stbi__err(27608); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - } while(0); - $158 = HEAP32[$18>>2]|0; - $159 = ($158|0)>(0); - if ($159) { - $160 = ($easy$042|0)==(2); - $161 = ($req_comp$|0)==(4); - $162 = ($16|0)==(16); - $163 = ($req_comp$|0)==(4); - $j$177 = 0;$z1$078 = 0; - while(1) { - $164 = HEAP32[$s>>2]|0; - $165 = ($164|0)>(0); - if ($249) { - if ($165) { - $i$373 = 0;$z1$174 = $z1$078; - while(1) { - $166 = (_stbi__get8($s)|0); - $167 = (($z1$174) + 2)|0; - $168 = (($53) + ($167)|0); - HEAP8[$168>>0] = $166; - $169 = (_stbi__get8($s)|0); - $170 = (($z1$174) + 1)|0; - $171 = (($53) + ($170)|0); - HEAP8[$171>>0] = $169; - $172 = (_stbi__get8($s)|0); - $173 = (($53) + ($z1$174)|0); - HEAP8[$173>>0] = $172; - $174 = (($z1$174) + 3)|0; - if ($160) { - $175 = (_stbi__get8($s)|0); - $176 = $175&255; - $178 = $176; - } else { - $178 = 255; - } - if ($161) { - $177 = $178&255; - $179 = (($z1$174) + 4)|0; - $180 = (($53) + ($174)|0); - HEAP8[$180>>0] = $177; - $z1$2 = $179; - } else { - $z1$2 = $174; - } - $181 = (($i$373) + 1)|0; - $182 = HEAP32[$s>>2]|0; - $183 = ($181|0)<($182|0); - if ($183) { - $i$373 = $181;$z1$174 = $z1$2; - } else { - $z1$5 = $z1$2; - break; - } - } - } else { - $z1$5 = $z1$078; - } - } else { - if ($165) { - $i$469 = 0;$z1$370 = $z1$078; - while(1) { - if ($162) { - $184 = (_stbi__get16le($s)|0); - $187 = $184; - } else { - $185 = (_stbi__get32le($s)|0); - $187 = $185; - } - $186 = $187 & $mr$1; - $188 = (_stbi__shiftsigned($186,$rshift$0,$rcount$0)|0); - $189 = $188&255; - $190 = (($z1$370) + 1)|0; - $191 = (($53) + ($z1$370)|0); - HEAP8[$191>>0] = $189; - $192 = $187 & $mg$1; - $193 = (_stbi__shiftsigned($192,$gshift$0,$gcount$0)|0); - $194 = $193&255; - $195 = (($z1$370) + 2)|0; - $196 = (($53) + ($190)|0); - HEAP8[$196>>0] = $194; - $197 = $187 & $mb$1; - $198 = (_stbi__shiftsigned($197,$bshift$0,$bcount$0)|0); - $199 = $198&255; - $200 = (($z1$370) + 3)|0; - $201 = (($53) + ($195)|0); - HEAP8[$201>>0] = $199; - if ($44) { - $202 = $187 & $ma$1; - $203 = (_stbi__shiftsigned($202,$ashift$0,$acount$0)|0); - $205 = $203; - } else { - $205 = 255; - } - if ($163) { - $204 = $205&255; - $206 = (($z1$370) + 4)|0; - $207 = (($53) + ($200)|0); - HEAP8[$207>>0] = $204; - $z1$4 = $206; - } else { - $z1$4 = $200; - } - $208 = (($i$469) + 1)|0; - $209 = HEAP32[$s>>2]|0; - $210 = ($208|0)<($209|0); - if ($210) { - $i$469 = $208;$z1$370 = $z1$4; - } else { - $z1$5 = $z1$4; - break; - } - } - } else { - $z1$5 = $z1$078; - } - } - _stbi__skip($s,$211); - $212 = (($j$177) + 1)|0; - $213 = HEAP32[$18>>2]|0; - $214 = ($212|0)<($213|0); - if ($214) { - $j$177 = $212;$z1$078 = $z1$5; - } else { - break; - } - } - } - } - if ($20) { - $215 = HEAP32[$18>>2]|0; - $216 = $215 >> 1; - $217 = ($216|0)>(0); - if ($217) { - $218 = HEAP32[$s>>2]|0; - $219 = Math_imul($218, $req_comp$)|0; - $220 = ($219|0)>(0); - $221 = HEAP32[$18>>2]|0; - $222 = $221 >> 1; - $227 = $215;$j$256 = 0; - while(1) { - $223 = Math_imul($j$256, $req_comp$)|0; - $224 = Math_imul($223, $218)|0; - $225 = $j$256 ^ -1; - $226 = (($227) + ($225))|0; - $228 = Math_imul($226, $req_comp$)|0; - $229 = Math_imul($228, $218)|0; - if ($220) { - $230 = HEAP32[$s>>2]|0; - $231 = Math_imul($230, $req_comp$)|0; - $i$555 = 0; - while(1) { - $$sum = (($i$555) + ($224))|0; - $232 = (($53) + ($$sum)|0); - $233 = HEAP8[$232>>0]|0; - $$sum30 = (($i$555) + ($229))|0; - $234 = (($53) + ($$sum30)|0); - $235 = HEAP8[$234>>0]|0; - HEAP8[$232>>0] = $235; - HEAP8[$234>>0] = $233; - $236 = (($i$555) + 1)|0; - $237 = ($236|0)<($231|0); - if ($237) { - $i$555 = $236; - } else { - break; - } - } - } - $238 = (($j$256) + 1)|0; - $239 = ($238|0)<($222|0); - if ($239) { - $227 = $221;$j$256 = $238; - } else { - break; - } - } - } - } - $240 = ($req_comp$|0)==($req_comp|0); - $or$cond35 = $47 | $240; - if ($or$cond35) { - $out$0 = $53; - } else { - $241 = HEAP32[$s>>2]|0; - $242 = HEAP32[$18>>2]|0; - $243 = (_stbi__convert_format($53,$req_comp$,$req_comp,$241,$242)|0); - $244 = ($243|0)==(0|0); - if ($244) { - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } else { - $out$0 = $243; - } - } - $245 = HEAP32[$s>>2]|0; - HEAP32[$x>>2] = $245; - $246 = HEAP32[$18>>2]|0; - HEAP32[$y>>2] = $246; - $247 = ($comp|0)==(0|0); - if ($247) { - $$0 = $out$0; - STACKTOP = sp;return ($$0|0); - } - $248 = HEAP32[$46>>2]|0; - HEAP32[$comp>>2] = $248; - $$0 = $out$0; - STACKTOP = sp;return ($$0|0); + break; } - } - _stbi__err(27488); - $$0 = 0; - STACKTOP = sp;return ($$0|0); -} -function _stbi__gif_test($s) { - $s = $s|0; - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_stbi__gif_test_raw($s)|0); - _stbi__rewind($s); - return ($0|0); -} -function _stbi__gif_load($s,$x,$y,$comp,$req_comp) { - $s = $s|0; - $x = $x|0; - $y = $y|0; - $comp = $comp|0; - $req_comp = $req_comp|0; - var $$ = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $g = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 18512|0; - $g = sp; - _memset(($g|0),0,18508)|0; - $0 = (_stbi__gif_load_next($s,$g,$comp,$req_comp)|0); - $1 = ($0|0)==($s|0); - $$ = $1 ? 0 : $0; - $2 = ($$|0)==(0|0); - if ($2) { - STACKTOP = sp;return ($$|0); - } - $3 = HEAP32[$g>>2]|0; - HEAP32[$x>>2] = $3; - $4 = ((($g)) + 4|0); - $5 = HEAP32[$4>>2]|0; - HEAP32[$y>>2] = $5; - STACKTOP = sp;return ($$|0); -} -function _stbi__psd_test($s) { - $s = $s|0; - var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_stbi__get32be($s)|0); - $1 = ($0|0)==(943870035); - $2 = $1&1; - _stbi__rewind($s); - return ($2|0); -} -function _stbi__psd_load($s,$x,$y,$comp,$req_comp) { - $s = $s|0; - $x = $x|0; - $y = $y|0; - $comp = $comp|0; - $req_comp = $req_comp|0; - var $$0 = 0, $$lcssa = 0, $$pn = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; - var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; - var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0; - var $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0; - var $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $9 = 0, $channel$033 = 0, $count$0$ph$be = 0, $count$0$ph31 = 0, $exitcond = 0, $exitcond$1 = 0, $exitcond$2 = 0, $exitcond$3 = 0, $exitcond36$1 = 0, $exitcond36$2 = 0, $exitcond36$3 = 0, $exitcond39 = 0, $exitcond43 = 0; - var $i$022 = 0, $i$118$1 = 0, $i$118$2 = 0, $i$118$3 = 0, $i$216 = 0, $i$216$1 = 0, $i$216$2 = 0, $i$216$3 = 0, $len$029 = 0, $len$126 = 0, $out$0 = 0, $p$023 = 0, $p$1$ph$be = 0, $p$1$ph32 = 0, $p$230 = 0, $p$327 = 0, $p1$019$1 = 0, $p1$019$2 = 0, $p1$019$3 = 0, $p1$117 = 0; - var $p1$117$1 = 0, $p1$117$2 = 0, $p1$117$3 = 0, $scevgep$sum = 0, $scevgep40 = 0, $scevgep41$sum = 0, $scevgep42 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_stbi__get32be($s)|0); - $1 = ($0|0)==(943870035); - if (!($1)) { - _stbi__err(27272); - $$0 = 0; - return ($$0|0); - } - $2 = (_stbi__get16be($s)|0); - $3 = ($2|0)==(1); - if (!($3)) { - _stbi__err(27280); - $$0 = 0; - return ($$0|0); - } - _stbi__skip($s,6); - $4 = (_stbi__get16be($s)|0); - $5 = ($4>>>0)>(16); - if ($5) { - _stbi__err(27296); - $$0 = 0; - return ($$0|0); - } - $6 = (_stbi__get32be($s)|0); - $7 = (_stbi__get32be($s)|0); - $8 = (_stbi__get16be($s)|0); - $9 = ($8|0)==(8); - if (!($9)) { - _stbi__err(27320); - $$0 = 0; - return ($$0|0); - } - $10 = (_stbi__get16be($s)|0); - $11 = ($10|0)==(3); - if (!($11)) { - _stbi__err(27344); - $$0 = 0; - return ($$0|0); - } - $12 = (_stbi__get32be($s)|0); - _stbi__skip($s,$12); - $13 = (_stbi__get32be($s)|0); - _stbi__skip($s,$13); - $14 = (_stbi__get32be($s)|0); - _stbi__skip($s,$14); - $15 = (_stbi__get16be($s)|0); - $16 = ($15|0)>(1); - if ($16) { - _stbi__err(27128); - $$0 = 0; - return ($$0|0); - } - $17 = $6 << 2; - $18 = Math_imul($17, $7)|0; - $19 = (_stbi__malloc($18)|0); - $20 = ($19|0)==(0|0); - if ($20) { - _stbi__err(25000); - $$0 = 0; - return ($$0|0); - } - $21 = Math_imul($7, $6)|0; - $22 = ($15|0)==(0); - do { - if ($22) { - $55 = ($21|0)>(0); - $56 = ($21|0)>(0); - $57 = Math_imul($7, $6)|0; - if ($56) { - $i$216 = 0;$p1$117 = $19; - while(1) { - $58 = (_stbi__get8($s)|0); - HEAP8[$p1$117>>0] = $58; - $59 = (($i$216) + 1)|0; - $60 = ((($p1$117)) + 4|0); - $exitcond = ($59|0)==($57|0); - if ($exitcond) { - break; - } else { - $i$216 = $59;$p1$117 = $60; - } - } + case 2: { + $11 = ((($1)) + 8|0); + $12 = HEAP32[$11>>2]|0; + switch ($12|0) { + case 8: { + $$0 = 4354; + break L4; + break; } - $61 = ((($19)) + 1|0); - $62 = ($4|0)<(1); - if ($62) { - if ($55) { - $i$118$1 = 0;$p1$019$1 = $61; - } else { - break; - } - while(1) { - HEAP8[$p1$019$1>>0] = 0; - $69 = (($i$118$1) + 1)|0; - $70 = ((($p1$019$1)) + 4|0); - $exitcond36$1 = ($69|0)==($57|0); - if ($exitcond36$1) { - break; - } else { - $i$118$1 = $69;$p1$019$1 = $70; - } - } - } else { - if ($56) { - $i$216$1 = 0;$p1$117$1 = $61; - while(1) { - $66 = (_stbi__get8($s)|0); - HEAP8[$p1$117$1>>0] = $66; - $67 = (($i$216$1) + 1)|0; - $68 = ((($p1$117$1)) + 4|0); - $exitcond$1 = ($67|0)==($57|0); - if ($exitcond$1) { - break; - } else { - $i$216$1 = $67;$p1$117$1 = $68; - } - } - } + case 16: { + $$0 = 4355; + break L4; + break; } - $71 = ((($19)) + 2|0); - $72 = ($4|0)<(2); - if ($72) { - if ($55) { - $i$118$2 = 0;$p1$019$2 = $71; - } else { - break; - } - while(1) { - HEAP8[$p1$019$2>>0] = 0; - $76 = (($i$118$2) + 1)|0; - $77 = ((($p1$019$2)) + 4|0); - $exitcond36$2 = ($76|0)==($57|0); - if ($exitcond36$2) { - break; - } else { - $i$118$2 = $76;$p1$019$2 = $77; - } - } - } else { - if ($56) { - $i$216$2 = 0;$p1$117$2 = $71; - while(1) { - $73 = (_stbi__get8($s)|0); - HEAP8[$p1$117$2>>0] = $73; - $74 = (($i$216$2) + 1)|0; - $75 = ((($p1$117$2)) + 4|0); - $exitcond$2 = ($74|0)==($57|0); - if ($exitcond$2) { - break; - } else { - $i$216$2 = $74;$p1$117$2 = $75; - } - } - } + case 32: { + $$0 = 65553; + break L4; + break; } - $78 = ((($19)) + 3|0); - $79 = ($4|0)<(3); - if ($79) { - if ($55) { - $i$118$3 = 0;$p1$019$3 = $78; - } else { - break; - } - while(1) { - HEAP8[$p1$019$3>>0] = -1; - $83 = (($i$118$3) + 1)|0; - $84 = ((($p1$019$3)) + 4|0); - $exitcond36$3 = ($83|0)==($57|0); - if ($exitcond36$3) { - break; - } else { - $i$118$3 = $83;$p1$019$3 = $84; - } - } - } else { - if ($56) { - $i$216$3 = 0;$p1$117$3 = $78; - } else { - break; - } - while(1) { - $80 = (_stbi__get8($s)|0); - HEAP8[$p1$117$3>>0] = $80; - $81 = (($i$216$3) + 1)|0; - $82 = ((($p1$117$3)) + 4|0); - $exitcond$3 = ($81|0)==($57|0); - if ($exitcond$3) { - break; - } else { - $i$216$3 = $81;$p1$117$3 = $82; - } - } + default: { + HEAP32[$vararg_buffer1>>2] = $12; + _TraceLog(1,20103,$vararg_buffer1); + $$0 = 0; + break L4; } - } else { - $23 = $4 << 1; - $24 = Math_imul($23, $6)|0; - _stbi__skip($s,$24); - $25 = ($21|0)>(0); - $26 = ($21|0)>(0); - $27 = Math_imul($7, $6)|0; - $channel$033 = 0; - while(1) { - $28 = (($19) + ($channel$033)|0); - $29 = ($channel$033|0)<($4|0); - if ($29) { - if ($25) { - $count$0$ph31 = 0;$p$1$ph32 = $28; - while(1) { - while(1) { - $37 = (_stbi__get8($s)|0); - $38 = ($37<<24>>24)==(-128); - if (!($38)) { - $$lcssa = $37; - break; - } - } - $39 = $$lcssa&255; - $40 = ($$lcssa<<24>>24)>(-1); - if ($40) { - $41 = (($39) + 1)|0; - $42 = $$lcssa&255; - $34 = $42 << 2; - $len$029 = $41;$p$230 = $p$1$ph32; - while(1) { - $43 = (_stbi__get8($s)|0); - HEAP8[$p$230>>0] = $43; - $44 = ((($p$230)) + 4|0); - $45 = (($len$029) + -1)|0; - $46 = ($45|0)==(0); - if ($46) { - break; - } else { - $len$029 = $45;$p$230 = $44; - } - } - $scevgep41$sum = (($34) + 4)|0; - $scevgep42 = (($p$1$ph32) + ($scevgep41$sum)|0); - $$pn = $41;$p$1$ph$be = $scevgep42; - } else { - $47 = (257 - ($39))|0; - $48 = (_stbi__get8($s)|0); - $49 = ($47|0)==(0); - if ($49) { - $$pn = 0;$p$1$ph$be = $p$1$ph32; - } else { - $50 = $$lcssa&255; - $36 = Math_imul($50, -4)|0; - $len$126 = $47;$p$327 = $p$1$ph32; - while(1) { - HEAP8[$p$327>>0] = $48; - $51 = ((($p$327)) + 4|0); - $52 = (($len$126) + -1)|0; - $53 = ($52|0)==(0); - if ($53) { - break; - } else { - $len$126 = $52;$p$327 = $51; - } - } - $scevgep$sum = (($36) + 1028)|0; - $scevgep40 = (($p$1$ph32) + ($scevgep$sum)|0); - $$pn = $47;$p$1$ph$be = $scevgep40; - } - } - $count$0$ph$be = (($$pn) + ($count$0$ph31))|0; - $35 = ($count$0$ph$be|0)<($21|0); - if ($35) { - $count$0$ph31 = $count$0$ph$be;$p$1$ph32 = $p$1$ph$be; - } else { - break; - } - } - } - } else { - if ($26) { - $30 = ($channel$033|0)==(3); - $31 = $30 << 31 >> 31; - $i$022 = 0;$p$023 = $28; - while(1) { - HEAP8[$p$023>>0] = $31; - $32 = (($i$022) + 1)|0; - $33 = ((($p$023)) + 4|0); - $exitcond39 = ($32|0)==($27|0); - if ($exitcond39) { - break; - } else { - $i$022 = $32;$p$023 = $33; - } - } - } - } - $54 = (($channel$033) + 1)|0; - $exitcond43 = ($54|0)==(4); - if ($exitcond43) { - break; - } else { - $channel$033 = $54; - } } + break; + } + default: { + HEAP32[$vararg_buffer4>>2] = $8; + _TraceLog(1,20138,$vararg_buffer4); + $$0 = 0; + } } } while(0); - if ((($req_comp|0) == 0) | (($req_comp|0) == 4)) { - $out$0 = $19; - } else { - $63 = (_stbi__convert_format($19,4,$req_comp,$7,$6)|0); - $64 = ($63|0)==(0|0); - if ($64) { - $$0 = 0; - return ($$0|0); + _alGenSources(1,($2|0)); + $13 = HEAP32[$2>>2]|0; + _alSourcef(($13|0),4099,1.0); + $14 = HEAP32[$2>>2]|0; + _alSourcef(($14|0),4106,1.0); + $15 = HEAP32[$2>>2]|0; + _alSource3f(($15|0),4100,0.0,0.0,0.0); + $16 = HEAP32[$2>>2]|0; + _alSource3f(($16|0),4102,0.0,0.0,0.0); + $17 = HEAP32[$2>>2]|0; + _alSourcei(($17|0),4103,0); + _alGenBuffers(1,($3|0)); + $18 = HEAP32[$1>>2]|0; + $19 = HEAP32[$7>>2]|0; + $20 = Math_imul($19, $18)|0; + $21 = ((($1)) + 8|0); + $22 = HEAP32[$21>>2]|0; + $23 = Math_imul($20, $22)|0; + $24 = $23 >>> 3; + $25 = HEAP32[$3>>2]|0; + $26 = HEAP32[$4>>2]|0; + $27 = ((($1)) + 4|0); + $28 = HEAP32[$27>>2]|0; + _alBufferData(($25|0),($$0|0),($26|0),($24|0),($28|0)); + $29 = HEAP32[$2>>2]|0; + $30 = HEAP32[$3>>2]|0; + _alSourcei(($29|0),4105,($30|0)); + $31 = HEAP32[$2>>2]|0; + $32 = HEAP32[$3>>2]|0; + $33 = HEAP32[$27>>2]|0; + $34 = HEAP32[$21>>2]|0; + $35 = HEAP32[$7>>2]|0; + $36 = ($35|0)==(1); + $37 = $36 ? 18812 : 18817; + HEAP32[$vararg_buffer7>>2] = $31; + $vararg_ptr10 = ((($vararg_buffer7)) + 4|0); + HEAP32[$vararg_ptr10>>2] = $32; + $vararg_ptr11 = ((($vararg_buffer7)) + 8|0); + HEAP32[$vararg_ptr11>>2] = $33; + $vararg_ptr12 = ((($vararg_buffer7)) + 12|0); + HEAP32[$vararg_ptr12>>2] = $34; + $vararg_ptr13 = ((($vararg_buffer7)) + 16|0); + HEAP32[$vararg_ptr13>>2] = $37; + _TraceLog(0,20180,$vararg_buffer7); + $38 = HEAP32[$2>>2]|0; + $39 = HEAP32[$3>>2]|0; + $$sroa$0$0 = $38;$$sroa$5$0 = $39;$$sroa$6$0 = $$0; + HEAP32[$0>>2] = $$sroa$0$0; + $$sroa$5$0$$sroa_idx7 = ((($0)) + 4|0); + HEAP32[$$sroa$5$0$$sroa_idx7>>2] = $$sroa$5$0; + $$sroa$6$0$$sroa_idx9 = ((($0)) + 8|0); + HEAP32[$$sroa$6$0$$sroa_idx9>>2] = $$sroa$6$0; + STACKTOP = sp;return; +} +function _UnloadWave($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $vararg_buffer = sp; + $1 = ((($0)) + 16|0); + $2 = HEAP32[$1>>2]|0; + $3 = ($2|0)==(0|0); + if (!($3)) { + _free($2); + } + _TraceLog(0,20075,$vararg_buffer); + STACKTOP = sp;return; +} +function _UnloadSound($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $vararg_buffer = sp; + $1 = HEAP32[$0>>2]|0; + _alSourceStop(($1|0)); + _alDeleteSources(1,($0|0)); + $2 = ((($0)) + 4|0); + _alDeleteBuffers(1,($2|0)); + $3 = HEAP32[$0>>2]|0; + $4 = HEAP32[$2>>2]|0; + HEAP32[$vararg_buffer>>2] = $3; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $4; + _TraceLog(0,20255,$vararg_buffer); + STACKTOP = sp;return; +} +function _PlaySound($0) { + $0 = $0|0; + var $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP32[$0>>2]|0; + _alSourcePlay(($1|0)); + return; +} +function _LoadMusicStream($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; + var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0.0, $39 = 0.0, $4 = 0, $40 = 0.0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; + var $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer13 = 0, $vararg_buffer17 = 0, $vararg_buffer21 = 0, $vararg_buffer25 = 0, $vararg_buffer28 = 0, $vararg_buffer5 = 0, $vararg_buffer9 = 0, $vararg_ptr12 = 0, $vararg_ptr16 = 0, $vararg_ptr20 = 0, $vararg_ptr24 = 0, $vararg_ptr4 = 0, $vararg_ptr8 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 160|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(160|0); + $vararg_buffer28 = sp + 72|0; + $vararg_buffer25 = sp + 64|0; + $vararg_buffer21 = sp + 48|0; + $vararg_buffer17 = sp + 40|0; + $vararg_buffer13 = sp + 32|0; + $vararg_buffer9 = sp + 24|0; + $vararg_buffer5 = sp + 16|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $1 = sp + 136|0; + $2 = sp + 104|0; + $3 = sp + 76|0; + $4 = (_malloc(52)|0); + $5 = (_IsFileExtension($0,18531)|0); + $6 = ($5|0)==(0); + if (!($6)) { + $7 = (_stb_vorbis_open_filename($0,0,0)|0); + $8 = ((($4)) + 4|0); + HEAP32[$8>>2] = $7; + $9 = ($7|0)==(0|0); + if ($9) { + HEAP32[$vararg_buffer>>2] = $0; + _TraceLog(1,20308,$vararg_buffer); + STACKTOP = sp;return ($4|0); } else { - $out$0 = $63; + $10 = HEAP32[$8>>2]|0; + _stb_vorbis_get_info($1,$10); + $11 = ((($4)) + 12|0); + $12 = HEAP32[$1>>2]|0; + $13 = ((($1)) + 4|0); + $14 = HEAP32[$13>>2]|0; + _InitAudioStream($2,$12,16,$14); + ;HEAP32[$11>>2]=HEAP32[$2>>2]|0;HEAP32[$11+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$11+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$11+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$11+16>>2]=HEAP32[$2+16>>2]|0;HEAP32[$11+20>>2]=HEAP32[$2+20>>2]|0;HEAP32[$11+24>>2]=HEAP32[$2+24>>2]|0; + $15 = HEAP32[$8>>2]|0; + $16 = (_stb_vorbis_stream_length_in_samples($15)|0); + $17 = ((($4)) + 44|0); + HEAP32[$17>>2] = $16; + $18 = ((($4)) + 48|0); + HEAP32[$18>>2] = $16; + HEAP32[$4>>2] = 0; + $19 = ((($4)) + 40|0); + HEAP32[$19>>2] = -1; + $20 = HEAP32[$17>>2]|0; + HEAP32[$vararg_buffer1>>2] = $0; + $vararg_ptr4 = ((($vararg_buffer1)) + 4|0); + HEAP32[$vararg_ptr4>>2] = $20; + _TraceLog(3,20348,$vararg_buffer1); + $21 = HEAP32[$1>>2]|0; + HEAP32[$vararg_buffer5>>2] = $0; + $vararg_ptr8 = ((($vararg_buffer5)) + 4|0); + HEAP32[$vararg_ptr8>>2] = $21; + _TraceLog(3,20376,$vararg_buffer5); + $22 = HEAP32[$13>>2]|0; + HEAP32[$vararg_buffer9>>2] = $0; + $vararg_ptr12 = ((($vararg_buffer9)) + 4|0); + HEAP32[$vararg_ptr12>>2] = $22; + _TraceLog(3,20401,$vararg_buffer9); + $23 = ((($1)) + 16|0); + $24 = HEAP32[$23>>2]|0; + HEAP32[$vararg_buffer13>>2] = $0; + $vararg_ptr16 = ((($vararg_buffer13)) + 4|0); + HEAP32[$vararg_ptr16>>2] = $24; + _TraceLog(3,20423,$vararg_buffer13); + STACKTOP = sp;return ($4|0); } } - $65 = ($comp|0)==(0|0); - if (!($65)) { - HEAP32[$comp>>2] = 4; + $25 = (_IsFileExtension($0,20452)|0); + $26 = ($25|0)==(0); + if ($26) { + HEAP32[$vararg_buffer28>>2] = $0; + _TraceLog(1,18588,$vararg_buffer28); + STACKTOP = sp;return ($4|0); } - HEAP32[$y>>2] = $6; - HEAP32[$x>>2] = $7; - $$0 = $out$0; - return ($$0|0); + $27 = ((($4)) + 8|0); + $28 = (_jar_xm_create_context_from_file($27,48000,$0)|0); + $29 = ($28|0)==(0); + if ($29) { + $30 = HEAP32[$27>>2]|0; + _jar_xm_set_max_loop_count($30,0); + $31 = ((($4)) + 12|0); + _InitAudioStream($3,48000,16,2); + ;HEAP32[$31>>2]=HEAP32[$3>>2]|0;HEAP32[$31+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$31+8>>2]=HEAP32[$3+8>>2]|0;HEAP32[$31+12>>2]=HEAP32[$3+12>>2]|0;HEAP32[$31+16>>2]=HEAP32[$3+16>>2]|0;HEAP32[$31+20>>2]=HEAP32[$3+20>>2]|0;HEAP32[$31+24>>2]=HEAP32[$3+24>>2]|0; + $32 = (_jar_xm_get_remaining_samples($30)|0); + $33 = tempRet0; + $34 = ((($4)) + 44|0); + HEAP32[$34>>2] = $32; + $35 = ((($4)) + 48|0); + HEAP32[$35>>2] = $32; + HEAP32[$4>>2] = 2; + $36 = ((($4)) + 40|0); + HEAP32[$36>>2] = -1; + $37 = HEAP32[$34>>2]|0; + HEAP32[$vararg_buffer17>>2] = $0; + $vararg_ptr20 = ((($vararg_buffer17)) + 4|0); + HEAP32[$vararg_ptr20>>2] = $37; + _TraceLog(3,20456,$vararg_buffer17); + $38 = (+($37>>>0)); + $39 = $38 / 48000.0; + $40 = $39; + HEAP32[$vararg_buffer21>>2] = $0; + $vararg_ptr24 = ((($vararg_buffer21)) + 8|0); + HEAPF64[$vararg_ptr24>>3] = $40; + _TraceLog(3,20486,$vararg_buffer21); + STACKTOP = sp;return ($4|0); + } else { + HEAP32[$vararg_buffer25>>2] = $0; + _TraceLog(1,20519,$vararg_buffer25); + STACKTOP = sp;return ($4|0); + } + return (0)|0; } -function _stbi__pic_test($s) { - $s = $s|0; - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_stbi__pic_test_core($s)|0); - _stbi__rewind($s); - return ($0|0); -} -function _stbi__pic_load($s,$px,$py,$comp,$req_comp) { - $s = $s|0; - $px = $px|0; - $py = $py|0; - $comp = $comp|0; - $req_comp = $req_comp|0; - var $$0 = 0, $$01 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $i$02 = 0, $result$0 = 0; +function _InitAudioStream($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$off = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer4 = 0, $vararg_buffer7 = 0, $vararg_ptr10 = 0, $vararg_ptr11 = 0, $vararg_ptr12 = 0; var label = 0, sp = 0; sp = STACKTOP; - $i$02 = 0; - while(1) { - (_stbi__get8($s)|0); - $0 = (($i$02) + 1)|0; - $exitcond = ($0|0)==(92); - if ($exitcond) { - break; + STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0); + $vararg_buffer7 = sp + 24|0; + $vararg_buffer4 = sp + 16|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $4 = sp + 40|0; + $5 = ((($4)) + 8|0); + ;HEAP32[$5>>2]=0|0;HEAP32[$5+4>>2]=0|0;HEAP32[$5+8>>2]=0|0;HEAP32[$5+12>>2]=0|0;HEAP32[$5+16>>2]=0|0; + HEAP32[$4>>2] = $1; + $6 = ((($4)) + 4|0); + HEAP32[$6>>2] = $2; + $$off = (($3) + -1)|0; + $7 = ($$off>>>0)<(2); + L1: do { + if ($7) { + $9 = ((($4)) + 8|0); + HEAP32[$9>>2] = $3; + switch ($3|0) { + case 1: { + $55 = $9; + label = 4; + break L1; + break; + } + case 2: { + break; + } + default: { + $26 = $9; + break L1; + } + } + switch ($2|0) { + case 8: { + $13 = ((($4)) + 12|0); + HEAP32[$13>>2] = 4354; + $26 = $9; + break L1; + break; + } + case 16: { + $14 = ((($4)) + 12|0); + HEAP32[$14>>2] = 4355; + $26 = $9; + break L1; + break; + } + case 32: { + $15 = ((($4)) + 12|0); + HEAP32[$15>>2] = 65553; + $26 = $9; + break L1; + break; + } + default: { + HEAP32[$vararg_buffer4>>2] = $2; + _TraceLog(1,20608,$vararg_buffer4); + $26 = $9; + break L1; + } + } } else { - $i$02 = $0; + HEAP32[$vararg_buffer>>2] = $3; + _TraceLog(1,20552,$vararg_buffer); + $8 = ((($4)) + 8|0); + HEAP32[$8>>2] = 1; + $55 = $8; + label = 4; } - } - $1 = (_stbi__get16be($s)|0); - $2 = (_stbi__get16be($s)|0); - $3 = (_stbi__at_eof($s)|0); - $4 = ($3|0)==(0); - if (!($4)) { - _stbi__err(27224); - $$0 = 0; - return ($$0|0); - } - $5 = (268435456 / ($1|0))&-1; - $6 = ($5|0)<($2|0); - if ($6) { - _stbi__err(24736); - $$0 = 0; - return ($$0|0); - } - (_stbi__get32be($s)|0); - (_stbi__get16be($s)|0); - (_stbi__get16be($s)|0); - $7 = $1 << 2; - $8 = Math_imul($7, $2)|0; - $9 = (_stbi__malloc($8)|0); - _memset(($9|0),-1,($8|0))|0; - $10 = (_stbi__pic_load_core($s,$1,$2,$comp,$9)|0); - $11 = ($10|0)==(0|0); - if ($11) { - _free($9); - $result$0 = 0; - } else { - $result$0 = $9; - } - HEAP32[$px>>2] = $1; - HEAP32[$py>>2] = $2; - $12 = ($req_comp|0)==(0); - if ($12) { - $13 = HEAP32[$comp>>2]|0; - $$01 = $13; - } else { - $$01 = $req_comp; - } - $14 = (_stbi__convert_format($result$0,4,$$01,$1,$2)|0); - $$0 = $14; - return ($$0|0); + } while(0); + L10: do { + if ((label|0) == 4) { + switch ($2|0) { + case 8: { + $10 = ((($4)) + 12|0); + HEAP32[$10>>2] = 4352; + $26 = $55; + break L10; + break; + } + case 16: { + $11 = ((($4)) + 12|0); + HEAP32[$11>>2] = 4353; + $26 = $55; + break L10; + break; + } + case 32: { + $12 = ((($4)) + 12|0); + HEAP32[$12>>2] = 65552; + $26 = $55; + break L10; + break; + } + default: { + HEAP32[$vararg_buffer1>>2] = $2; + _TraceLog(1,20608,$vararg_buffer1); + $26 = $55; + break L10; + } + } + } + } while(0); + $16 = ((($4)) + 16|0); + _alGenSources(1,($16|0)); + $17 = HEAP32[$16>>2]|0; + _alSourcef(($17|0),4099,1.0); + $18 = HEAP32[$16>>2]|0; + _alSourcef(($18|0),4106,1.0); + $19 = HEAP32[$16>>2]|0; + _alSource3f(($19|0),4100,0.0,0.0,0.0); + $20 = HEAP32[$16>>2]|0; + _alSource3f(($20|0),4102,0.0,0.0,0.0); + $21 = ((($4)) + 20|0); + _alGenBuffers(2,($21|0)); + $22 = HEAP32[$6>>2]|0; + $23 = $22 << 9; + $24 = $23 & 536870400; + $25 = HEAP32[$26>>2]|0; + $27 = Math_imul($24, $25)|0; + $28 = (_calloc($27,1)|0); + $29 = ((($4)) + 12|0); + $30 = ((($4)) + 20|0); + $31 = HEAP32[$30>>2]|0; + $32 = HEAP32[$29>>2]|0; + $33 = HEAP32[$6>>2]|0; + $34 = $33 << 9; + $35 = $34 & 536870400; + $36 = HEAP32[$26>>2]|0; + $37 = Math_imul($35, $36)|0; + $38 = HEAP32[$4>>2]|0; + _alBufferData(($31|0),($32|0),($28|0),($37|0),($38|0)); + $39 = ((($4)) + 24|0); + $40 = HEAP32[$39>>2]|0; + $41 = HEAP32[$29>>2]|0; + $42 = HEAP32[$6>>2]|0; + $43 = $42 << 9; + $44 = $43 & 536870400; + $45 = HEAP32[$26>>2]|0; + $46 = Math_imul($44, $45)|0; + $47 = HEAP32[$4>>2]|0; + _alBufferData(($40|0),($41|0),($28|0),($46|0),($47|0)); + _free($28); + $48 = HEAP32[$16>>2]|0; + _alSourceQueueBuffers(($48|0),2,($21|0)); + $49 = HEAP32[$16>>2]|0; + $50 = HEAP32[$4>>2]|0; + $51 = HEAP32[$6>>2]|0; + $52 = HEAP32[$26>>2]|0; + $53 = ($52|0)==(1); + $54 = $53 ? 18812 : 18817; + HEAP32[$vararg_buffer7>>2] = $49; + $vararg_ptr10 = ((($vararg_buffer7)) + 4|0); + HEAP32[$vararg_ptr10>>2] = $50; + $vararg_ptr11 = ((($vararg_buffer7)) + 8|0); + HEAP32[$vararg_ptr11>>2] = $51; + $vararg_ptr12 = ((($vararg_buffer7)) + 12|0); + HEAP32[$vararg_ptr12>>2] = $54; + _TraceLog(0,20657,$vararg_buffer7); + ;HEAP32[$0>>2]=HEAP32[$4>>2]|0;HEAP32[$0+4>>2]=HEAP32[$4+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$4+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$4+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$4+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[$4+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[$4+24>>2]|0; + STACKTOP = sp;return; } -function _stbi__pnm_test($s) { - $s = $s|0; - var $$0 = 0, $$off = 0, $0 = 0, $1 = 0, $2 = 0, $or$cond = 0, $switch = 0, label = 0, sp = 0; +function _UnloadMusicStream($0) { + $0 = $0|0; + var $$byval_copy = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = (_stbi__get8($s)|0); - $1 = (_stbi__get8($s)|0); - $2 = ($0<<24>>24)==(80); - $$off = (($1) + -53)<<24>>24; - $switch = ($$off&255)<(2); - $or$cond = $2 & $switch; - if ($or$cond) { - $$0 = 1; - return ($$0|0); + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $$byval_copy = sp; + $1 = ((($0)) + 12|0); + ;HEAP32[$$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$1+16>>2]|0;HEAP32[$$byval_copy+20>>2]=HEAP32[$1+20>>2]|0;HEAP32[$$byval_copy+24>>2]=HEAP32[$1+24>>2]|0; + _CloseAudioStream($$byval_copy); + $2 = HEAP32[$0>>2]|0; + switch ($2|0) { + case 0: { + $3 = ((($0)) + 4|0); + $4 = HEAP32[$3>>2]|0; + _stb_vorbis_close($4); + _free($0); + STACKTOP = sp;return; + break; } - _stbi__rewind($s); - $$0 = 0; - return ($$0|0); -} -function _stbi__pnm_load($s,$x,$y,$comp,$req_comp) { - $s = $s|0; - $x = $x|0; - $y = $y|0; - $comp = $comp|0; - $req_comp = $req_comp|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0; - var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($s)) + 4|0); - $1 = ((($s)) + 8|0); - $2 = (_stbi__pnm_info($s,$s,$0,$1)|0); - $3 = ($2|0)==(0); - if ($3) { - $$0 = 0; - return ($$0|0); - } - $4 = HEAP32[$s>>2]|0; - HEAP32[$x>>2] = $4; - $5 = HEAP32[$0>>2]|0; - HEAP32[$y>>2] = $5; - $6 = HEAP32[$1>>2]|0; - HEAP32[$comp>>2] = $6; - $7 = HEAP32[$1>>2]|0; - $8 = HEAP32[$s>>2]|0; - $9 = Math_imul($8, $7)|0; - $10 = HEAP32[$0>>2]|0; - $11 = Math_imul($9, $10)|0; - $12 = (_stbi__malloc($11)|0); - $13 = ($12|0)==(0|0); - if ($13) { - _stbi__err(25000); - $$0 = 0; - return ($$0|0); - } - $14 = HEAP32[$1>>2]|0; - $15 = HEAP32[$s>>2]|0; - $16 = Math_imul($15, $14)|0; - $17 = HEAP32[$0>>2]|0; - $18 = Math_imul($16, $17)|0; - (_stbi__getn($s,$12,$18)|0); - $19 = ($req_comp|0)==(0); - if ($19) { - $$0 = $12; - return ($$0|0); - } - $20 = HEAP32[$1>>2]|0; - $21 = ($20|0)==($req_comp|0); - if ($21) { - $$0 = $12; - return ($$0|0); - } else { - $22 = HEAP32[$s>>2]|0; - $23 = HEAP32[$0>>2]|0; - $24 = (_stbi__convert_format($12,$20,$req_comp,$22,$23)|0); - return ($24|0); - } - return (0)|0; -} -function _stbi__tga_test($s) { - $s = $s|0; - var $$0 = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $res$0 = 0, label = 0, sp = 0; - sp = STACKTOP; - (_stbi__get8($s)|0); - $0 = (_stbi__get8($s)|0); - $1 = ($0&255)>(1); - if ($1) { - $$0 = 0; - return ($$0|0); - } - $2 = (_stbi__get8($s)|0); - switch ($2<<24>>24) { - case 1: case 2: case 3: case 9: case 10: case 11: { + case 2: { + $5 = ((($0)) + 8|0); + $6 = HEAP32[$5>>2]|0; + _jar_xm_free_context($6); + _free($0); + STACKTOP = sp;return; break; } default: { - $$0 = 0; - return ($$0|0); + _free($0); + STACKTOP = sp;return; } } - (_stbi__get16be($s)|0); - (_stbi__get16be($s)|0); - (_stbi__get8($s)|0); - (_stbi__get16be($s)|0); - (_stbi__get16be($s)|0); - $3 = (_stbi__get16be($s)|0); - $4 = ($3|0)<(1); - if ($4) { - $$0 = 0; - return ($$0|0); - } - $5 = (_stbi__get16be($s)|0); - $6 = ($5|0)<(1); +} +function _CloseAudioStream($0) { + $0 = $0|0; + var $$pr = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $vararg_buffer = sp; + $1 = sp + 8|0; + $2 = sp + 4|0; + $3 = ((($0)) + 16|0); + $4 = HEAP32[$3>>2]|0; + _alSourceStop(($4|0)); + HEAP32[$1>>2] = 0; + $5 = HEAP32[$3>>2]|0; + _alGetSourcei(($5|0),4117,($1|0)); + HEAP32[$2>>2] = 0; + $$pr = HEAP32[$1>>2]|0; + $6 = ($$pr|0)>(0); if ($6) { - $$0 = 0; - return ($$0|0); - } - $7 = (_stbi__get8($s)|0); - if ((($7<<24>>24) == 8) | (($7<<24>>24) == 16) | (($7<<24>>24) == 24) | (($7<<24>>24) == 32)) { - $res$0 = 1; - } else { - $res$0 = 0; - } - _stbi__rewind($s); - $$0 = $res$0; - return ($$0|0); -} -function _stbi__tga_load($s,$x,$y,$comp,$req_comp) { - $s = $s|0; - $x = $x|0; - $y = $y|0; - $comp = $comp|0; - $req_comp = $req_comp|0; - var $$ = 0, $$0 = 0, $$16 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $12 = 0; - var $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0; - var $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0; - var $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0; - var $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0; - var $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $RLE_count$047 = 0, $RLE_count$118 = 0, $RLE_count$119 = 0, $RLE_repeating$048 = 0, $RLE_repeating$120 = 0; - var $RLE_repeating$121 = 0, $exitcond = 0, $exitcond55 = 0, $exitcond59 = 0, $exitcond60 = 0, $i$053 = 0, $i$146 = 0, $i$231 = 0, $i$329 = 0, $index1$032 = 0, $index2$033 = 0, $j$137 = 0, $j$335 = 0, $or$cond = 0, $or$cond13 = 0, $or$cond17 = 0, $or$cond61 = 0, $or$cond63 = 0, $raw_data = 0, $read_next_pixel$049 = 0; - var $scevgep = 0, $scevgep58 = 0, $smax = 0, $tga_comp$0 = 0, $tga_comp$0$v = 0, $tga_comp$0$v$v = 0, $tga_image_type$0$off = 0, $tga_palette$0 = 0, $tga_pixel$030 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $raw_data = sp; - $0 = (_stbi__get8($s)|0); - $1 = $0&255; - $2 = (_stbi__get8($s)|0); - $3 = (_stbi__get8($s)|0); - $4 = $3&255; - $5 = (_stbi__get16le($s)|0); - $6 = (_stbi__get16le($s)|0); - $7 = (_stbi__get8($s)|0); - $8 = $7&255; - (_stbi__get16le($s)|0); - (_stbi__get16le($s)|0); - $9 = (_stbi__get16le($s)|0); - $10 = (_stbi__get16le($s)|0); - $11 = (_stbi__get8($s)|0); - $12 = (_stbi__get8($s)|0); - $13 = $12&255; - $14 = ($3&255)>(7); - $15 = (($4) + -8)|0; - $$16 = $14 ? $15 : $4; - $16 = $13 >>> 5; - $17 = $16 & 1; - $18 = ($9|0)<(1); - $19 = ($10|0)<(1); - $or$cond = $18 | $19; - $tga_image_type$0$off = (($$16) + -1)|0; - $20 = ($tga_image_type$0$off>>>0)>(2); - $21 = $20 | $or$cond; - if ($21) { - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - if (!((($11<<24>>24) == 8) | (($11<<24>>24) == 16) | (($11<<24>>24) == 24) | (($11<<24>>24) == 32))) { - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $22 = ($2<<24>>24)!=(0); - $tga_comp$0$v$v = $22 ? $7 : $11; - $tga_comp$0$v = ($tga_comp$0$v$v&255) >>> 3; - $tga_comp$0 = $tga_comp$0$v&255; - HEAP32[$x>>2] = $9; - HEAP32[$y>>2] = $10; - $23 = ($comp|0)==(0|0); - if (!($23)) { - HEAP32[$comp>>2] = $tga_comp$0; - } - $24 = Math_imul($10, $9)|0; - $25 = Math_imul($24, $tga_comp$0)|0; - $26 = (_stbi__malloc($25)|0); - $27 = ($26|0)==(0|0); - if ($27) { - _stbi__err(25000); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - _stbi__skip($s,$1); - $or$cond13 = $22 | $14; - if ($or$cond13) { - if ($22) { - _stbi__skip($s,$5); - $38 = Math_imul($8, $6)|0; - $39 = (($38|0) / 8)&-1; - $40 = (_stbi__malloc($39)|0); - $41 = ($40|0)==(0|0); - if ($41) { - _free($26); - _stbi__err(25000); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $42 = (_stbi__getn($s,$40,$39)|0); - $43 = ($42|0)==(0); - if ($43) { - _free($26); - _free($40); - _stbi__err(27144); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } else { - $tga_palette$0 = $40; - } - } else { - $tga_palette$0 = 0; - } - $44 = Math_imul($10, $9)|0; - $45 = ($44|0)>(0); - if ($45) { - $46 = ($11<<24>>24)==(0); - $47 = ($11<<24>>24)==(0); - $48 = ($tga_comp$0$v<<24>>24)==(0); - $49 = $11&255; - $50 = (($49) + -1)|0; - $51 = $50 >>> 3; - $52 = ($11&255) >>> 3; - $53 = $52&255; - $54 = $11&255; - $55 = (($54) + -1)|0; - $56 = $55 >>> 3; - $57 = (($56) + 1)|0; - $58 = ($tga_comp$0>>>0)>(1); - $smax = $58 ? $tga_comp$0 : 1; - $59 = Math_imul($10, $9)|0; - $RLE_count$047 = 0;$RLE_repeating$048 = 0;$i$146 = 0;$read_next_pixel$049 = 1; - while(1) { - $60 = Math_imul($tga_comp$0, $i$146)|0; - $scevgep58 = (($26) + ($60)|0); - do { - if ($14) { - $61 = ($RLE_count$047|0)==(0); - if ($61) { - $62 = (_stbi__get8($s)|0); - $63 = $62&255; - $64 = $63 & 127; - $65 = (($64) + 1)|0; - $66 = $63 >>> 7; - $RLE_count$118 = $65;$RLE_repeating$120 = $66; - label = 23; - break; - } - $67 = ($RLE_repeating$048|0)==(0); - if ($67) { - $RLE_count$118 = $RLE_count$047;$RLE_repeating$120 = 0; - label = 23; - } else { - $68 = ($read_next_pixel$049|0)==(0); - if ($68) { - $RLE_count$119 = $RLE_count$047;$RLE_repeating$121 = $RLE_repeating$048; - } else { - $RLE_count$118 = $RLE_count$047;$RLE_repeating$120 = $RLE_repeating$048; - label = 23; - } - } - } else { - $RLE_count$118 = $RLE_count$047;$RLE_repeating$120 = $RLE_repeating$048; - label = 23; - } - } while(0); - do { - if ((label|0) == 23) { - label = 0; - if ($22) { - $69 = (_stbi__get8($s)|0); - $70 = $69&255; - if ($46) { - $RLE_count$119 = $RLE_count$118;$RLE_repeating$121 = $RLE_repeating$120; - break; - } - $74 = ($70|0)>=($6|0); - $$ = $74 ? 0 : $70; - $75 = Math_imul($53, $$)|0; - $scevgep = (($tga_palette$0) + ($75)|0); - _memcpy(($raw_data|0),($scevgep|0),($57|0))|0; - $RLE_count$119 = $RLE_count$118;$RLE_repeating$121 = $RLE_repeating$120; - break; - } else { - if ($47) { - $RLE_count$119 = $RLE_count$118;$RLE_repeating$121 = $RLE_repeating$120; - break; - } else { - $j$137 = 0; - } - while(1) { - $71 = (_stbi__get8($s)|0); - $72 = (($raw_data) + ($j$137)|0); - HEAP8[$72>>0] = $71; - $73 = (($j$137) + 1)|0; - $exitcond55 = ($j$137|0)==($51|0); - if ($exitcond55) { - $RLE_count$119 = $RLE_count$118;$RLE_repeating$121 = $RLE_repeating$120; - break; - } else { - $j$137 = $73; - } - } - } - } - } while(0); - if (!($48)) { - _memcpy(($scevgep58|0),($raw_data|0),($smax|0))|0; - } - $76 = (($RLE_count$119) + -1)|0; - $77 = (($i$146) + 1)|0; - $exitcond59 = ($77|0)==($59|0); - if ($exitcond59) { - break; - } else { - $RLE_count$047 = $76;$RLE_repeating$048 = $RLE_repeating$121;$i$146 = $77;$read_next_pixel$049 = 0; - } - } - } - $78 = ($17|0)==(0); - $79 = ($10|0)>(0); - $or$cond61 = $78 & $79; - if ($or$cond61) { - $80 = Math_imul($tga_comp$0, $9)|0; - $81 = (($10) + -1)|0; - $82 = Math_imul($tga_comp$0, $9)|0; - $83 = Math_imul($tga_comp$0, $9)|0; - $84 = ($83|0)>(0); - $j$335 = 0; - while(1) { - if ($84) { - $85 = (($81) - ($j$335))|0; - $86 = Math_imul($82, $85)|0; - $87 = Math_imul($80, $j$335)|0; - $i$231 = $83;$index1$032 = $87;$index2$033 = $86; - while(1) { - $88 = (($26) + ($index1$032)|0); - $89 = HEAP8[$88>>0]|0; - $90 = (($26) + ($index2$033)|0); - $91 = HEAP8[$90>>0]|0; - HEAP8[$88>>0] = $91; - HEAP8[$90>>0] = $89; - $92 = (($index1$032) + 1)|0; - $93 = (($index2$033) + 1)|0; - $94 = (($i$231) + -1)|0; - $95 = ($i$231|0)>(1); - if ($95) { - $i$231 = $94;$index1$032 = $92;$index2$033 = $93; - } else { - break; - } - } - } - $96 = (($j$335) + 1)|0; - $97 = $96 << 1; - $98 = ($97|0)<($10|0); - if ($98) { - $j$335 = $96; - } else { - break; - } - } - } - $99 = ($tga_palette$0|0)==(0|0); - if (!($99)) { - _free($tga_palette$0); - } - } else { - $28 = ($10|0)>(0); - if ($28) { - $29 = ($17|0)==(0); - $30 = (($10) + -1)|0; - $31 = Math_imul($tga_comp$0, $9)|0; - $32 = Math_imul($tga_comp$0, $9)|0; - $i$053 = 0; - while(1) { - $33 = (($30) - ($i$053))|0; - $34 = $29 ? $33 : $i$053; - $35 = Math_imul($31, $34)|0; - $36 = (($26) + ($35)|0); - (_stbi__getn($s,$36,$32)|0); - $37 = (($i$053) + 1)|0; - $exitcond60 = ($37|0)==($10|0); - if ($exitcond60) { - break; - } else { - $i$053 = $37; - } - } - } - } - $100 = ($tga_comp$0$v$v&255)>(23); - $101 = Math_imul($10, $9)|0; - $102 = ($101|0)>(0); - $or$cond63 = $100 & $102; - if ($or$cond63) { - $103 = Math_imul($10, $9)|0; - $i$329 = 0;$tga_pixel$030 = $26; while(1) { - $104 = HEAP8[$tga_pixel$030>>0]|0; - $105 = ((($tga_pixel$030)) + 2|0); - $106 = HEAP8[$105>>0]|0; - HEAP8[$tga_pixel$030>>0] = $106; - HEAP8[$105>>0] = $104; - $107 = (($tga_pixel$030) + ($tga_comp$0)|0); - $108 = (($i$329) + 1)|0; - $exitcond = ($108|0)==($103|0); - if ($exitcond) { - break; - } else { - $i$329 = $108;$tga_pixel$030 = $107; - } - } - } - $109 = ($req_comp|0)==(0); - $110 = ($tga_comp$0|0)==($req_comp|0); - $or$cond17 = $109 | $110; - if ($or$cond17) { - $$0 = $26; - STACKTOP = sp;return ($$0|0); - } - $111 = (_stbi__convert_format($26,$tga_comp$0,$req_comp,$9,$10)|0); - $$0 = $111; - STACKTOP = sp;return ($$0|0); -} -function _stbi__convert_format($data,$img_n,$req_comp,$x,$y) { - $data = $data|0; - $img_n = $img_n|0; - $req_comp = $req_comp|0; - $x = $x|0; - $y = $y|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0; - var $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0; - var $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; - var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; - var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0; - var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0; - var $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $dest$081 = 0; - var $dest$1031 = 0, $dest$1127 = 0, $dest$176 = 0, $dest$271 = 0, $dest$366 = 0, $dest$461 = 0, $dest$556 = 0, $dest$651 = 0, $dest$746 = 0, $dest$841 = 0, $dest$936 = 0, $i$0 = 0, $i$079 = 0, $i$082 = 0, $i$1 = 0, $i$10 = 0, $i$1029 = 0, $i$1032 = 0, $i$11 = 0, $i$1125 = 0; - var $i$1128 = 0, $i$174 = 0, $i$177 = 0, $i$2 = 0, $i$269 = 0, $i$272 = 0, $i$3 = 0, $i$364 = 0, $i$367 = 0, $i$4 = 0, $i$459 = 0, $i$462 = 0, $i$5 = 0, $i$554 = 0, $i$557 = 0, $i$6 = 0, $i$649 = 0, $i$652 = 0, $i$7 = 0, $i$744 = 0; - var $i$747 = 0, $i$8 = 0, $i$839 = 0, $i$842 = 0, $i$9 = 0, $i$934 = 0, $i$937 = 0, $j$084 = 0, $req_comp$off = 0, $src$080 = 0, $src$1030 = 0, $src$1126 = 0, $src$175 = 0, $src$270 = 0, $src$365 = 0, $src$460 = 0, $src$555 = 0, $src$650 = 0, $src$745 = 0, $src$840 = 0; - var $src$935 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ($req_comp|0)==($img_n|0); - if ($0) { - $$0 = $data; - return ($$0|0); - } - $req_comp$off = (($req_comp) + -1)|0; - $1 = ($req_comp$off>>>0)<(4); - if (!($1)) { - ___assert_fail((27160|0),(25096|0),1333,(27192|0)); - // unreachable; - } - $2 = Math_imul($x, $req_comp)|0; - $3 = Math_imul($2, $y)|0; - $4 = (_stbi__malloc($3)|0); - $5 = ($4|0)==(0|0); - if ($5) { - _free($data); - _stbi__err(25000); - $$0 = 0; - return ($$0|0); - } - $6 = ($y|0)>(0); - L11: do { - if ($6) { - $7 = $img_n << 3; - $8 = (($7) + ($req_comp))|0; - $i$079 = (($x) + -1)|0; - $9 = ($i$079|0)>(-1); - $i$174 = (($x) + -1)|0; - $10 = ($i$174|0)>(-1); - $i$269 = (($x) + -1)|0; - $11 = ($i$269|0)>(-1); - $i$364 = (($x) + -1)|0; - $12 = ($i$364|0)>(-1); - $i$459 = (($x) + -1)|0; - $13 = ($i$459|0)>(-1); - $i$554 = (($x) + -1)|0; - $14 = ($i$554|0)>(-1); - $i$649 = (($x) + -1)|0; - $15 = ($i$649|0)>(-1); - $i$744 = (($x) + -1)|0; - $16 = ($i$744|0)>(-1); - $i$839 = (($x) + -1)|0; - $17 = ($i$839|0)>(-1); - $i$934 = (($x) + -1)|0; - $18 = ($i$934|0)>(-1); - $i$1029 = (($x) + -1)|0; - $19 = ($i$1029|0)>(-1); - $i$1125 = (($x) + -1)|0; - $20 = ($i$1125|0)>(-1); - $j$084 = 0; - L13: while(1) { - $21 = Math_imul($j$084, $x)|0; - $22 = Math_imul($21, $img_n)|0; - $23 = (($data) + ($22)|0); - $24 = Math_imul($21, $req_comp)|0; - $25 = (($4) + ($24)|0); - do { - switch ($8|0) { - case 28: { - if ($15) { - $dest$651 = $25;$i$652 = $i$649;$src$650 = $23; - while(1) { - $63 = HEAP8[$src$650>>0]|0; - HEAP8[$dest$651>>0] = $63; - $64 = ((($src$650)) + 1|0); - $65 = HEAP8[$64>>0]|0; - $66 = ((($dest$651)) + 1|0); - HEAP8[$66>>0] = $65; - $67 = ((($src$650)) + 2|0); - $68 = HEAP8[$67>>0]|0; - $69 = ((($dest$651)) + 2|0); - HEAP8[$69>>0] = $68; - $70 = ((($dest$651)) + 3|0); - HEAP8[$70>>0] = -1; - $71 = ((($src$650)) + 3|0); - $72 = ((($dest$651)) + 4|0); - $i$6 = (($i$652) + -1)|0; - $73 = ($i$6|0)>(-1); - if ($73) { - $dest$651 = $72;$i$652 = $i$6;$src$650 = $71; - } else { - break; - } - } - } - break; - } - case 10: { - if ($9) { - $dest$081 = $25;$i$082 = $i$079;$src$080 = $23; - while(1) { - $26 = HEAP8[$src$080>>0]|0; - HEAP8[$dest$081>>0] = $26; - $27 = ((($dest$081)) + 1|0); - HEAP8[$27>>0] = -1; - $28 = ((($src$080)) + 1|0); - $29 = ((($dest$081)) + 2|0); - $i$0 = (($i$082) + -1)|0; - $30 = ($i$0|0)>(-1); - if ($30) { - $dest$081 = $29;$i$082 = $i$0;$src$080 = $28; - } else { - break; - } - } - } - break; - } - case 34: { - if ($19) { - $dest$1031 = $25;$i$1032 = $i$1029;$src$1030 = $23; - while(1) { - $111 = HEAP8[$src$1030>>0]|0; - $112 = $111&255; - $113 = ((($src$1030)) + 1|0); - $114 = HEAP8[$113>>0]|0; - $115 = $114&255; - $116 = ((($src$1030)) + 2|0); - $117 = HEAP8[$116>>0]|0; - $118 = $117&255; - $119 = (_stbi__compute_y($112,$115,$118)|0); - HEAP8[$dest$1031>>0] = $119; - $120 = ((($src$1030)) + 3|0); - $121 = HEAP8[$120>>0]|0; - $122 = ((($dest$1031)) + 1|0); - HEAP8[$122>>0] = $121; - $123 = ((($src$1030)) + 4|0); - $124 = ((($dest$1031)) + 2|0); - $i$10 = (($i$1032) + -1)|0; - $125 = ($i$10|0)>(-1); - if ($125) { - $dest$1031 = $124;$i$1032 = $i$10;$src$1030 = $123; - } else { - break; - } - } - } - break; - } - case 26: { - if ($17) { - $dest$841 = $25;$i$842 = $i$839;$src$840 = $23; - while(1) { - $86 = HEAP8[$src$840>>0]|0; - $87 = $86&255; - $88 = ((($src$840)) + 1|0); - $89 = HEAP8[$88>>0]|0; - $90 = $89&255; - $91 = ((($src$840)) + 2|0); - $92 = HEAP8[$91>>0]|0; - $93 = $92&255; - $94 = (_stbi__compute_y($87,$90,$93)|0); - HEAP8[$dest$841>>0] = $94; - $95 = ((($dest$841)) + 1|0); - HEAP8[$95>>0] = -1; - $96 = ((($src$840)) + 3|0); - $97 = ((($dest$841)) + 2|0); - $i$8 = (($i$842) + -1)|0; - $98 = ($i$8|0)>(-1); - if ($98) { - $dest$841 = $97;$i$842 = $i$8;$src$840 = $96; - } else { - break; - } - } - } - break; - } - case 19: { - if ($13) { - $dest$461 = $25;$i$462 = $i$459;$src$460 = $23; - while(1) { - $48 = HEAP8[$src$460>>0]|0; - $49 = ((($dest$461)) + 2|0); - HEAP8[$49>>0] = $48; - $50 = ((($dest$461)) + 1|0); - HEAP8[$50>>0] = $48; - HEAP8[$dest$461>>0] = $48; - $51 = ((($src$460)) + 2|0); - $52 = ((($dest$461)) + 3|0); - $i$4 = (($i$462) + -1)|0; - $53 = ($i$4|0)>(-1); - if ($53) { - $dest$461 = $52;$i$462 = $i$4;$src$460 = $51; - } else { - break; - } - } - } - break; - } - case 12: { - if ($11) { - $dest$271 = $25;$i$272 = $i$269;$src$270 = $23; - while(1) { - $37 = HEAP8[$src$270>>0]|0; - $38 = ((($dest$271)) + 2|0); - HEAP8[$38>>0] = $37; - $39 = ((($dest$271)) + 1|0); - HEAP8[$39>>0] = $37; - HEAP8[$dest$271>>0] = $37; - $40 = ((($dest$271)) + 3|0); - HEAP8[$40>>0] = -1; - $41 = ((($src$270)) + 1|0); - $42 = ((($dest$271)) + 4|0); - $i$2 = (($i$272) + -1)|0; - $43 = ($i$2|0)>(-1); - if ($43) { - $dest$271 = $42;$i$272 = $i$2;$src$270 = $41; - } else { - break; - } - } - } - break; - } - case 17: { - if ($12) { - $dest$366 = $25;$i$367 = $i$364;$src$365 = $23; - while(1) { - $44 = HEAP8[$src$365>>0]|0; - HEAP8[$dest$366>>0] = $44; - $45 = ((($src$365)) + 2|0); - $46 = ((($dest$366)) + 1|0); - $i$3 = (($i$367) + -1)|0; - $47 = ($i$3|0)>(-1); - if ($47) { - $dest$366 = $46;$i$367 = $i$3;$src$365 = $45; - } else { - break; - } - } - } - break; - } - case 35: { - if ($20) { - $dest$1127 = $25;$i$1128 = $i$1125;$src$1126 = $23; - while(1) { - $126 = HEAP8[$src$1126>>0]|0; - HEAP8[$dest$1127>>0] = $126; - $127 = ((($src$1126)) + 1|0); - $128 = HEAP8[$127>>0]|0; - $129 = ((($dest$1127)) + 1|0); - HEAP8[$129>>0] = $128; - $130 = ((($src$1126)) + 2|0); - $131 = HEAP8[$130>>0]|0; - $132 = ((($dest$1127)) + 2|0); - HEAP8[$132>>0] = $131; - $133 = ((($src$1126)) + 4|0); - $134 = ((($dest$1127)) + 3|0); - $i$11 = (($i$1128) + -1)|0; - $135 = ($i$11|0)>(-1); - if ($135) { - $dest$1127 = $134;$i$1128 = $i$11;$src$1126 = $133; - } else { - break; - } - } - } - break; - } - case 20: { - if ($14) { - $dest$556 = $25;$i$557 = $i$554;$src$555 = $23; - while(1) { - $54 = HEAP8[$src$555>>0]|0; - $55 = ((($dest$556)) + 2|0); - HEAP8[$55>>0] = $54; - $56 = ((($dest$556)) + 1|0); - HEAP8[$56>>0] = $54; - HEAP8[$dest$556>>0] = $54; - $57 = ((($src$555)) + 1|0); - $58 = HEAP8[$57>>0]|0; - $59 = ((($dest$556)) + 3|0); - HEAP8[$59>>0] = $58; - $60 = ((($src$555)) + 2|0); - $61 = ((($dest$556)) + 4|0); - $i$5 = (($i$557) + -1)|0; - $62 = ($i$5|0)>(-1); - if ($62) { - $dest$556 = $61;$i$557 = $i$5;$src$555 = $60; - } else { - break; - } - } - } - break; - } - case 11: { - if ($10) { - $dest$176 = $25;$i$177 = $i$174;$src$175 = $23; - while(1) { - $31 = HEAP8[$src$175>>0]|0; - $32 = ((($dest$176)) + 2|0); - HEAP8[$32>>0] = $31; - $33 = ((($dest$176)) + 1|0); - HEAP8[$33>>0] = $31; - HEAP8[$dest$176>>0] = $31; - $34 = ((($src$175)) + 1|0); - $35 = ((($dest$176)) + 3|0); - $i$1 = (($i$177) + -1)|0; - $36 = ($i$1|0)>(-1); - if ($36) { - $dest$176 = $35;$i$177 = $i$1;$src$175 = $34; - } else { - break; - } - } - } - break; - } - case 33: { - if ($18) { - $dest$936 = $25;$i$937 = $i$934;$src$935 = $23; - while(1) { - $99 = HEAP8[$src$935>>0]|0; - $100 = $99&255; - $101 = ((($src$935)) + 1|0); - $102 = HEAP8[$101>>0]|0; - $103 = $102&255; - $104 = ((($src$935)) + 2|0); - $105 = HEAP8[$104>>0]|0; - $106 = $105&255; - $107 = (_stbi__compute_y($100,$103,$106)|0); - HEAP8[$dest$936>>0] = $107; - $108 = ((($src$935)) + 4|0); - $109 = ((($dest$936)) + 1|0); - $i$9 = (($i$937) + -1)|0; - $110 = ($i$9|0)>(-1); - if ($110) { - $dest$936 = $109;$i$937 = $i$9;$src$935 = $108; - } else { - break; - } - } - } - break; - } - case 25: { - if ($16) { - $dest$746 = $25;$i$747 = $i$744;$src$745 = $23; - while(1) { - $74 = HEAP8[$src$745>>0]|0; - $75 = $74&255; - $76 = ((($src$745)) + 1|0); - $77 = HEAP8[$76>>0]|0; - $78 = $77&255; - $79 = ((($src$745)) + 2|0); - $80 = HEAP8[$79>>0]|0; - $81 = $80&255; - $82 = (_stbi__compute_y($75,$78,$81)|0); - HEAP8[$dest$746>>0] = $82; - $83 = ((($src$745)) + 3|0); - $84 = ((($dest$746)) + 1|0); - $i$7 = (($i$747) + -1)|0; - $85 = ($i$7|0)>(-1); - if ($85) { - $dest$746 = $84;$i$747 = $i$7;$src$745 = $83; - } else { - break; - } - } - } - break; - } - default: { - break L13; - } - } - } while(0); - $136 = (($j$084) + 1)|0; - $137 = ($136|0)<($y|0); - if ($137) { - $j$084 = $136; - } else { - break L11; - } - } - ___assert_fail((27216|0),(25096|0),1362,(27192|0)); - // unreachable; - } - } while(0); - _free($data); - $$0 = $4; - return ($$0|0); -} -function _stbi__compute_y($r,$g,$b) { - $r = $r|0; - $g = $g|0; - $b = $b|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ($r*77)|0; - $1 = ($g*150)|0; - $2 = (($1) + ($0))|0; - $3 = ($b*29)|0; - $4 = (($2) + ($3))|0; - $5 = $4 >>> 8; - $6 = $5&255; - return ($6|0); -} -function _stbi__pic_load_core($s,$width,$height,$comp,$result) { - $s = $s|0; - $width = $width|0; - $height = $height|0; - $comp = $comp|0; - $result = $result|0; - var $$ = 0, $$0 = 0, $$lcssa108 = 0, $$lcssa111 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0; - var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0; - var $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0; - var $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0; - var $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $act_comp$0 = 0; - var $count3$0 = 0, $count3$1 = 0, $dest$038 = 0, $dest$135 = 0, $dest$2$lcssa = 0, $dest$230 = 0, $dest$327 = 0, $dest$425 = 0, $dest$523 = 0, $dest$6 = 0, $exitcond = 0, $exitcond57 = 0, $i$031 = 0, $i4$024 = 0, $i6$026 = 0, $left$036 = 0, $left2$028 = 0, $num_packets$0 = 0, $num_packets$0$lcssa105 = 0, $packet_idx$041 = 0; - var $packets = 0, $scevgep = 0, $scevgep56 = 0, $value = 0, $value5 = 0, $x$039 = 0, $y$044 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $packets = sp + 8|0; - $value = sp; - $value5 = sp + 4|0; - $act_comp$0 = 0;$num_packets$0 = 0; - while(1) { - $0 = ($num_packets$0|0)==(10); - if ($0) { - label = 3; - break; - } - $1 = (($num_packets$0) + 1)|0; - $2 = (_stbi__get8($s)|0); - $3 = (_stbi__get8($s)|0); - $4 = (($packets) + (($num_packets$0*3)|0)|0); - HEAP8[$4>>0] = $3; - $5 = (_stbi__get8($s)|0); - $6 = (((($packets) + (($num_packets$0*3)|0)|0)) + 1|0); - HEAP8[$6>>0] = $5; - $7 = (_stbi__get8($s)|0); - $8 = (((($packets) + (($num_packets$0*3)|0)|0)) + 2|0); - HEAP8[$8>>0] = $7; - $9 = $7&255; - $10 = $9 | $act_comp$0; - $11 = (_stbi__at_eof($s)|0); - $12 = ($11|0)==(0); - if (!($12)) { - label = 5; - break; - } - $13 = HEAP8[$4>>0]|0; - $14 = ($13<<24>>24)==(8); - if (!($14)) { - label = 7; - break; - } - $15 = ($2<<24>>24)==(0); - if ($15) { - $$lcssa108 = $1;$$lcssa111 = $10;$num_packets$0$lcssa105 = $num_packets$0; - label = 9; - break; - } else { - $act_comp$0 = $10;$num_packets$0 = $1; - } - } - if ((label|0) == 3) { - _stbi__err(27240); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - else if ((label|0) == 5) { - _stbi__err(27224); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - else if ((label|0) == 7) { - _stbi__err(27240); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - else if ((label|0) == 9) { - $16 = $$lcssa111 >>> 4; - $17 = $16 & 1; - $18 = (($17) + 3)|0; - HEAP32[$comp>>2] = $18; - $19 = ($height|0)>(0); - if (!($19)) { - $$0 = $result; - STACKTOP = sp;return ($$0|0); - } - $20 = ($num_packets$0$lcssa105|0)>(-1); - $21 = $width << 2; - $22 = ($width|0)>(0); - $23 = ($width|0)>(0); - $24 = ($width|0)>(0); - $y$044 = 0; - L13: while(1) { - if ($20) { - $25 = Math_imul($21, $y$044)|0; - $26 = (($result) + ($25)|0); - $packet_idx$041 = 0; - while(1) { - $27 = (((($packets) + (($packet_idx$041*3)|0)|0)) + 1|0); - $28 = HEAP8[$27>>0]|0; - $29 = $28&255; - if ((($29|0) == 1)) { - if ($23) { - $32 = (((($packets) + (($packet_idx$041*3)|0)|0)) + 2|0); - $dest$135 = $26;$left$036 = $width; - while(1) { - $41 = (_stbi__get8($s)|0); - $42 = (_stbi__at_eof($s)|0); - $43 = ($42|0)==(0); - if (!($43)) { - label = 24; - break L13; - } - $44 = HEAP8[$32>>0]|0; - $45 = $44&255; - $46 = (_stbi__readval($s,$45,$value)|0); - $47 = ($46|0)==(0|0); - if ($47) { - $$0 = 0; - label = 52; - break L13; - } - $48 = $41&255; - $49 = ($48|0)>($left$036|0); - $50 = $left$036&255; - $$ = $49 ? $50 : $41; - $51 = $$&255; - $52 = ($$<<24>>24)==(0); - if ($52) { - $dest$2$lcssa = $dest$135; - } else { - $53 = $$&255; - $54 = $53 << 2; - $dest$230 = $dest$135;$i$031 = 0; - while(1) { - $55 = HEAP8[$32>>0]|0; - $56 = $55&255; - _stbi__copyval($56,$dest$230,$value); - $57 = (($i$031) + 1)|0; - $58 = ((($dest$230)) + 4|0); - $exitcond57 = ($57|0)==($53|0); - if ($exitcond57) { - break; - } else { - $dest$230 = $58;$i$031 = $57; - } - } - $scevgep56 = (($dest$135) + ($54)|0); - $dest$2$lcssa = $scevgep56; - } - $59 = (($left$036) - ($51))|0; - $60 = ($59|0)>(0); - if ($60) { - $dest$135 = $dest$2$lcssa;$left$036 = $59; - } else { - break; - } - } - } - } else if ((($29|0) == 2)) { - if ($24) { - $30 = (((($packets) + (($packet_idx$041*3)|0)|0)) + 2|0); - $31 = (((($packets) + (($packet_idx$041*3)|0)|0)) + 2|0); - $dest$327 = $26;$left2$028 = $width; - while(1) { - $61 = (_stbi__get8($s)|0); - $62 = $61&255; - $63 = (_stbi__at_eof($s)|0); - $64 = ($63|0)==(0); - if (!($64)) { - label = 32; - break L13; - } - $65 = ($61<<24>>24)<(0); - if ($65) { - $66 = ($61<<24>>24)==(-128); - if ($66) { - $67 = (_stbi__get16be($s)|0); - $count3$0 = $67; - } else { - $68 = (($62) + -127)|0; - $count3$0 = $68; - } - $69 = ($count3$0|0)>($left2$028|0); - if ($69) { - label = 38; - break L13; - } - $70 = HEAP8[$30>>0]|0; - $71 = $70&255; - $72 = (_stbi__readval($s,$71,$value5)|0); - $73 = ($72|0)==(0|0); - if ($73) { - $$0 = 0; - label = 52; - break L13; - } - $74 = ($count3$0|0)>(0); - if ($74) { - $75 = $count3$0 << 2; - $dest$425 = $dest$327;$i6$026 = 0; - while(1) { - $76 = HEAP8[$30>>0]|0; - $77 = $76&255; - _stbi__copyval($77,$dest$425,$value5); - $78 = (($i6$026) + 1)|0; - $79 = ((($dest$425)) + 4|0); - $exitcond = ($78|0)==($count3$0|0); - if ($exitcond) { - break; - } else { - $dest$425 = $79;$i6$026 = $78; - } - } - $scevgep = (($dest$327) + ($75)|0); - $count3$1 = $count3$0;$dest$6 = $scevgep; - } else { - $count3$1 = $count3$0;$dest$6 = $dest$327; - } - } else { - $80 = (($62) + 1)|0; - $81 = ($62|0)<($left2$028|0); - if (!($81)) { - label = 45; - break L13; - } - $82 = HEAP8[$31>>0]|0; - $83 = $82&255; - $dest$523 = $dest$327;$i4$024 = 0; - while(1) { - $84 = (_stbi__readval($s,$83,$dest$523)|0); - $85 = ($84|0)==(0|0); - if ($85) { - $$0 = 0; - label = 52; - break L13; - } - $86 = (($i4$024) + 1)|0; - $87 = ((($dest$523)) + 4|0); - $88 = ($86|0)<($80|0); - if ($88) { - $dest$523 = $87;$i4$024 = $86; - } else { - $count3$1 = $80;$dest$6 = $87; - break; - } - } - } - $89 = (($left2$028) - ($count3$1))|0; - $90 = ($89|0)>(0); - if ($90) { - $dest$327 = $dest$6;$left2$028 = $89; - } else { - break; - } - } - } - } else if ((($29|0) == 0)) { - if ($22) { - $33 = (((($packets) + (($packet_idx$041*3)|0)|0)) + 2|0); - $34 = HEAP8[$33>>0]|0; - $35 = $34&255; - $dest$038 = $26;$x$039 = 0; - while(1) { - $36 = (_stbi__readval($s,$35,$dest$038)|0); - $37 = ($36|0)==(0|0); - if ($37) { - $$0 = 0; - label = 52; - break L13; - } - $38 = (($x$039) + 1)|0; - $39 = ((($dest$038)) + 4|0); - $40 = ($38|0)<($width|0); - if ($40) { - $dest$038 = $39;$x$039 = $38; - } else { - break; - } - } - } - } else { - label = 20; - break L13; - } - $91 = (($packet_idx$041) + 1)|0; - $92 = ($91|0)<($$lcssa108|0); - if ($92) { - $packet_idx$041 = $91; - } else { - break; - } - } - } - $93 = (($y$044) + 1)|0; - $94 = ($93|0)<($height|0); - if ($94) { - $y$044 = $93; - } else { - $$0 = $result; - label = 52; + $7 = HEAP32[$3>>2]|0; + _alSourceUnqueueBuffers(($7|0),1,($2|0)); + $8 = HEAP32[$1>>2]|0; + $9 = (($8) + -1)|0; + HEAP32[$1>>2] = $9; + $10 = ($8|0)>(1); + if (!($10)) { break; } } - if ((label|0) == 20) { - _stbi__err(27240); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - else if ((label|0) == 24) { - _stbi__err(27224); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - else if ((label|0) == 32) { - _stbi__err(27224); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - else if ((label|0) == 38) { - _stbi__err(27224); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - else if ((label|0) == 45) { - _stbi__err(27224); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - else if ((label|0) == 52) { - STACKTOP = sp;return ($$0|0); - } } - return (0)|0; + _alDeleteSources(1,($3|0)); + $11 = ((($0)) + 20|0); + _alDeleteBuffers(2,($11|0)); + $12 = HEAP32[$3>>2]|0; + HEAP32[$vararg_buffer>>2] = $12; + _TraceLog(0,20722,$vararg_buffer); + STACKTOP = sp;return; } -function _stbi__readval($s,$channel,$dest) { - $s = $s|0; - $channel = $channel|0; - $dest = $dest|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $3 = 0, $4 = 0, $5 = 0; - var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; +function _PlayMusicStream($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = $channel & 128; - $1 = ($0|0)==(0); - if ($1) { - label = 5; - } else { - $2 = (_stbi__at_eof($s)|0); - $3 = ($2|0)==(0); - if ($3) { - $4 = (_stbi__get8($s)|0); - HEAP8[$dest>>0] = $4; - label = 5; - } - } - do { - if ((label|0) == 5) { - $5 = $channel & 64; - $6 = ($5|0)==(0); - if (!($6)) { - $7 = (_stbi__at_eof($s)|0); - $8 = ($7|0)==(0); - if (!($8)) { - break; - } - $9 = (_stbi__get8($s)|0); - $10 = ((($dest)) + 1|0); - HEAP8[$10>>0] = $9; - } - $11 = $channel & 32; - $12 = ($11|0)==(0); - if (!($12)) { - $13 = (_stbi__at_eof($s)|0); - $14 = ($13|0)==(0); - if (!($14)) { - break; - } - $15 = (_stbi__get8($s)|0); - $16 = ((($dest)) + 2|0); - HEAP8[$16>>0] = $15; - } - $17 = $channel & 16; - $18 = ($17|0)==(0); - if ($18) { - $$0 = $dest; - return ($$0|0); - } - $19 = (_stbi__at_eof($s)|0); - $20 = ($19|0)==(0); - if ($20) { - $21 = (_stbi__get8($s)|0); - $22 = ((($dest)) + 3|0); - HEAP8[$22>>0] = $21; - $$0 = $dest; - return ($$0|0); - } - } - } while(0); - _stbi__err(27224); - $$0 = 0; - return ($$0|0); -} -function _stbi__copyval($channel,$dest,$src) { - $channel = $channel|0; - $dest = $dest|0; - $src = $src|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = $channel & 128; - $1 = ($0|0)==(0); - if (!($1)) { - $2 = HEAP8[$src>>0]|0; - HEAP8[$dest>>0] = $2; - } - $3 = $channel & 64; - $4 = ($3|0)==(0); - if (!($4)) { - $5 = ((($src)) + 1|0); - $6 = HEAP8[$5>>0]|0; - $7 = ((($dest)) + 1|0); - HEAP8[$7>>0] = $6; - } - $8 = $channel & 32; - $9 = ($8|0)==(0); - if (!($9)) { - $10 = ((($src)) + 2|0); - $11 = HEAP8[$10>>0]|0; - $12 = ((($dest)) + 2|0); - HEAP8[$12>>0] = $11; - } - $13 = $channel & 16; - $14 = ($13|0)==(0); - if ($14) { - return; - } - $15 = ((($src)) + 3|0); - $16 = HEAP8[$15>>0]|0; - $17 = ((($dest)) + 3|0); - HEAP8[$17>>0] = $16; + $1 = ((($0)) + 28|0); + $2 = HEAP32[$1>>2]|0; + _alSourcePlay(($2|0)); return; } -function _stbi__pic_test_core($s) { - $s = $s|0; - var $$ = 0, $$0 = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $exitcond = 0, $i$01 = 0, $not$ = 0, label = 0, sp = 0; +function _StopMusicStream($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; + var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $cond = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = (_stbi__pic_is4($s,27256)|0); - $1 = ($0|0)==(0); - if ($1) { - $$0 = 0; + $1 = ((($0)) + 28|0); + $2 = HEAP32[$1>>2]|0; + _alSourceStop(($2|0)); + $3 = ((($0)) + 16|0); + $4 = HEAP32[$3>>2]|0; + $5 = $4 << 9; + $6 = $5 & 536870400; + $7 = ((($0)) + 20|0); + $8 = HEAP32[$7>>2]|0; + $9 = Math_imul($6, $8)|0; + $10 = (_calloc($9,1)|0); + $11 = ((($0)) + 24|0); + $12 = ((($0)) + 12|0); + $13 = ((($0)) + 32|0); + $14 = HEAP32[$13>>2]|0; + $15 = HEAP32[$11>>2]|0; + $16 = HEAP32[$3>>2]|0; + $17 = $16 << 9; + $18 = $17 & 536870400; + $19 = HEAP32[$7>>2]|0; + $20 = Math_imul($18, $19)|0; + $21 = HEAP32[$12>>2]|0; + _alBufferData(($14|0),($15|0),($10|0),($20|0),($21|0)); + $22 = ((($0)) + 36|0); + $23 = HEAP32[$22>>2]|0; + $24 = HEAP32[$11>>2]|0; + $25 = HEAP32[$3>>2]|0; + $26 = $25 << 9; + $27 = $26 & 536870400; + $28 = HEAP32[$7>>2]|0; + $29 = Math_imul($27, $28)|0; + $30 = HEAP32[$12>>2]|0; + _alBufferData(($23|0),($24|0),($10|0),($29|0),($30|0)); + _free($10); + $31 = HEAP32[$0>>2]|0; + $cond = ($31|0)==(0); + if (!($cond)) { + $34 = ((($0)) + 44|0); + $35 = HEAP32[$34>>2]|0; + $36 = ((($0)) + 48|0); + HEAP32[$36>>2] = $35; + return; + } + $32 = ((($0)) + 4|0); + $33 = HEAP32[$32>>2]|0; + (_stb_vorbis_seek_start($33)|0); + $34 = ((($0)) + 44|0); + $35 = HEAP32[$34>>2]|0; + $36 = ((($0)) + 48|0); + HEAP32[$36>>2] = $35; + return; +} +function _stb_vorbis_seek_start($0) { + $0 = $0|0; + var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 48|0); + $2 = HEAP8[$1>>0]|0; + $3 = ($2<<24>>24)==(0); + if ($3) { + $4 = ((($0)) + 52|0); + $5 = HEAP32[$4>>2]|0; + _set_file_offset($0,$5); + $6 = ((($0)) + 992|0); + HEAP32[$6>>2] = 0; + $7 = ((($0)) + 1377|0); + HEAP8[$7>>0] = 1; + $8 = ((($0)) + 1380|0); + HEAP32[$8>>2] = -1; + $9 = (_vorbis_pump_first_frame($0)|0); + $$0 = $9; return ($$0|0); } else { - $i$01 = 0; - } - while(1) { - (_stbi__get8($s)|0); - $2 = (($i$01) + 1)|0; - $exitcond = ($2|0)==(84); - if ($exitcond) { - break; - } else { - $i$01 = $2; - } - } - $3 = (_stbi__pic_is4($s,27264)|0); - $not$ = ($3|0)!=(0); - $$ = $not$&1; - $$0 = $$; - return ($$0|0); -} -function _stbi__pic_is4($s,$str) { - $s = $s|0; - $str = $str|0; - var $$ = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_stbi__get8($s)|0); - $1 = HEAP8[$str>>0]|0; - $2 = ($0<<24>>24)==($1<<24>>24); - if (!($2)) { - return 0; - } - $3 = (_stbi__get8($s)|0); - $4 = ((($str)) + 1|0); - $5 = HEAP8[$4>>0]|0; - $6 = ($3<<24>>24)==($5<<24>>24); - if (!($6)) { - return 0; - } - $7 = (_stbi__get8($s)|0); - $8 = ((($str)) + 2|0); - $9 = HEAP8[$8>>0]|0; - $10 = ($7<<24>>24)==($9<<24>>24); - if ($10) { - $11 = (_stbi__get8($s)|0); - $12 = ((($str)) + 3|0); - $13 = HEAP8[$12>>0]|0; - $14 = ($11<<24>>24)==($13<<24>>24); - $$ = $14&1; - return ($$|0); - } else { - return 0; - } - return (0)|0; -} -function _stbi__gif_load_next($s,$g,$comp,$req_comp) { - $s = $s|0; - $g = $g|0; - $comp = $comp|0; - $req_comp = $req_comp|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0; - var $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0; - var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0; - var $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0; - var $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0; - var $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0; - var $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond = 0, $i$04 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($g)) + 8|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)==(0|0); - do { - if ($2) { - $3 = (_stbi__gif_header($s,$g,$comp,0)|0); - $4 = ($3|0)==(0); - if ($4) { - $$0 = 0; - return ($$0|0); - } - $5 = HEAP32[$g>>2]|0; - $6 = $5 << 2; - $7 = ((($g)) + 4|0); - $8 = HEAP32[$7>>2]|0; - $9 = Math_imul($6, $8)|0; - $10 = (_stbi__malloc($9)|0); - HEAP32[$0>>2] = $10; - $11 = ($10|0)==(0|0); - if (!($11)) { - _stbi__fill_gif_background($g); - break; - } - _stbi__err(25000); - $$0 = 0; - return ($$0|0); - } else { - $12 = ((($g)) + 28|0); - $13 = HEAP32[$12>>2]|0; - $14 = $13 & 28; - $15 = ($14|0)==(12); - if ($15) { - $16 = HEAP32[$g>>2]|0; - $17 = $16 << 2; - $18 = ((($g)) + 4|0); - $19 = HEAP32[$18>>2]|0; - $20 = Math_imul($17, $19)|0; - $21 = (_stbi__malloc($20)|0); - HEAP32[$0>>2] = $21; - $22 = ($21|0)==(0|0); - if (!($22)) { - $23 = HEAP32[$g>>2]|0; - $24 = HEAP32[$18>>2]|0; - $25 = $23 << 2; - $26 = Math_imul($25, $24)|0; - _memcpy(($21|0),($1|0),($26|0))|0; - break; - } - _stbi__err(25000); - $$0 = 0; - return ($$0|0); - } - } - } while(0); - $27 = ((($g)) + 28|0); - $28 = ((($g)) + 24|0); - L17: while(1) { - $29 = (_stbi__get8($s)|0); - $30 = $29&255; - if ((($30|0) == 44)) { - label = 12; - break; - } else if ((($30|0) == 59)) { - label = 38; - break; - } else if (!((($30|0) == 33))) { - label = 39; - break; - } - $108 = (_stbi__get8($s)|0); - $109 = ($108<<24>>24)==(-7); - do { - if ($109) { - $112 = (_stbi__get8($s)|0); - $113 = ($112<<24>>24)==(4); - if ($113) { - $114 = (_stbi__get8($s)|0); - $115 = $114&255; - HEAP32[$27>>2] = $115; - (_stbi__get16le($s)|0); - $116 = (_stbi__get8($s)|0); - $117 = $116&255; - HEAP32[$28>>2] = $117; - break; - } else { - $118 = $112&255; - _stbi__skip($s,$118); - continue L17; - } - } - } while(0); - $110 = (_stbi__get8($s)|0); - $111 = ($110<<24>>24)==(0); - if ($111) { - continue; - } else { - $120 = $110; - } - while(1) { - $119 = $120&255; - _stbi__skip($s,$119); - $121 = (_stbi__get8($s)|0); - $122 = ($121<<24>>24)==(0); - if ($122) { - continue L17; - } else { - $120 = $121; - } - } - } - if ((label|0) == 12) { - $31 = (_stbi__get16le($s)|0); - $32 = (_stbi__get16le($s)|0); - $33 = (_stbi__get16le($s)|0); - $34 = (_stbi__get16le($s)|0); - $35 = (($33) + ($31))|0; - $36 = HEAP32[$g>>2]|0; - $37 = ($35|0)>($36|0); - if (!($37)) { - $38 = (($34) + ($32))|0; - $39 = ((($g)) + 4|0); - $40 = HEAP32[$39>>2]|0; - $41 = ($38|0)>($40|0); - if (!($41)) { - $42 = $36 << 2; - $43 = ((($g)) + 18504|0); - HEAP32[$43>>2] = $42; - $44 = $31 << 2; - $45 = ((($g)) + 18480|0); - HEAP32[$45>>2] = $44; - $46 = HEAP32[$43>>2]|0; - $47 = Math_imul($46, $32)|0; - $48 = ((($g)) + 18484|0); - HEAP32[$48>>2] = $47; - $49 = HEAP32[$45>>2]|0; - $50 = $33 << 2; - $51 = (($49) + ($50))|0; - $52 = ((($g)) + 18488|0); - HEAP32[$52>>2] = $51; - $53 = HEAP32[$48>>2]|0; - $54 = HEAP32[$43>>2]|0; - $55 = Math_imul($54, $34)|0; - $56 = (($55) + ($53))|0; - $57 = ((($g)) + 18492|0); - HEAP32[$57>>2] = $56; - $58 = HEAP32[$45>>2]|0; - $59 = ((($g)) + 18496|0); - HEAP32[$59>>2] = $58; - $60 = HEAP32[$48>>2]|0; - $61 = ((($g)) + 18500|0); - HEAP32[$61>>2] = $60; - $62 = (_stbi__get8($s)|0); - $63 = $62&255; - $64 = ((($g)) + 18476|0); - HEAP32[$64>>2] = $63; - $65 = $63 & 64; - $66 = ($65|0)==(0); - $67 = HEAP32[$43>>2]|0; - if ($66) { - $71 = ((($g)) + 18472|0); - HEAP32[$71>>2] = $67; - $72 = ((($g)) + 18468|0); - HEAP32[$72>>2] = 0; - } else { - $68 = $67 << 3; - $69 = ((($g)) + 18472|0); - HEAP32[$69>>2] = $68; - $70 = ((($g)) + 18468|0); - HEAP32[$70>>2] = 3; - } - $73 = HEAP32[$64>>2]|0; - $74 = $73 & 128; - $75 = ($74|0)==(0); - if ($75) { - $87 = ((($g)) + 12|0); - $88 = HEAP32[$87>>2]|0; - $89 = $88 & 128; - $90 = ($89|0)==(0); - if ($90) { - _stbi__err(27392); - $$0 = 0; - return ($$0|0); - } else { - $i$04 = 0; - } - while(1) { - $91 = (((((($g)) + 32|0) + ($i$04<<2)|0)) + 3|0); - HEAP8[$91>>0] = -1; - $92 = (($i$04) + 1)|0; - $exitcond = ($92|0)==(256); - if ($exitcond) { - break; - } else { - $i$04 = $92; - } - } - $93 = ((($g)) + 24|0); - $94 = HEAP32[$93>>2]|0; - $95 = ($94|0)>(-1); - if ($95) { - $96 = ((($g)) + 28|0); - $97 = HEAP32[$96>>2]|0; - $98 = $97 & 1; - $99 = ($98|0)==(0); - if (!($99)) { - $100 = (((((($g)) + 32|0) + ($94<<2)|0)) + 3|0); - HEAP8[$100>>0] = 0; - } - } - $101 = ((($g)) + 32|0); - $102 = ((($g)) + 18464|0); - HEAP32[$102>>2] = $101; - } else { - $76 = ((($g)) + 1056|0); - $77 = $73 & 7; - $78 = 2 << $77; - $79 = ((($g)) + 28|0); - $80 = HEAP32[$79>>2]|0; - $81 = $80 & 1; - $82 = ($81|0)==(0); - if ($82) { - $85 = -1; - } else { - $83 = ((($g)) + 24|0); - $84 = HEAP32[$83>>2]|0; - $85 = $84; - } - _stbi__gif_parse_colortable($s,$76,$78,$85); - $86 = ((($g)) + 18464|0); - HEAP32[$86>>2] = $76; - } - $103 = (_stbi__process_gif_raster($s,$g)|0); - $104 = ($103|0)==(0|0); - if ($104) { - $$0 = 0; - return ($$0|0); - } - if ((($req_comp|0) == 0) | (($req_comp|0) == 4)) { - $$0 = $103; - return ($$0|0); - } - $105 = HEAP32[$g>>2]|0; - $106 = HEAP32[$39>>2]|0; - $107 = (_stbi__convert_format($103,4,$req_comp,$105,$106)|0); - $$0 = $107; - return ($$0|0); - } - } - _stbi__err(27368); - $$0 = 0; - return ($$0|0); - } - else if ((label|0) == 38) { - $$0 = $s; - return ($$0|0); - } - else if ((label|0) == 39) { - _stbi__err(27416); + _error($0,2); $$0 = 0; return ($$0|0); } return (0)|0; } -function _stbi__fill_gif_background($g) { - $g = $g|0; - var $$sum1 = 0, $$sum2 = 0, $$sum3 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; - var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i$04 = 0, label = 0, sp = 0; +function _UpdateMusicStream($0) { + $0 = $0|0; + var $$ = 0, $$0 = 0, $$04143 = 0, $$byval_copy = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; + var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; + var $42 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = ((($g)) + 16|0); - $1 = HEAP32[$0>>2]|0; - $2 = (((($g)) + 32|0) + ($1<<2)|0); - $3 = HEAP32[$g>>2]|0; - $4 = ((($g)) + 4|0); + STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0); + $$byval_copy = sp + 12|0; + $vararg_buffer = sp; + $1 = sp + 8|0; + $2 = sp + 4|0; + HEAP32[$2>>2] = 0; + $3 = ((($0)) + 12|0); + $4 = ((($0)) + 28|0); $5 = HEAP32[$4>>2]|0; - $6 = $3 << 2; - $7 = Math_imul($6, $5)|0; + _alGetSourcei(($5|0),4112,($1|0)); + $6 = HEAP32[$4>>2]|0; + _alGetSourcei(($6|0),4118,($2|0)); + $7 = HEAP32[$2>>2]|0; $8 = ($7|0)>(0); if (!($8)) { - return; + STACKTOP = sp;return; } - $9 = ((($g)) + 8|0); - $10 = (((((($g)) + 32|0) + ($1<<2)|0)) + 2|0); - $11 = (((((($g)) + 32|0) + ($1<<2)|0)) + 1|0); - $12 = (((((($g)) + 32|0) + ($1<<2)|0)) + 3|0); - $i$04 = 0; - while(1) { - $13 = HEAP32[$9>>2]|0; - $14 = (($13) + ($i$04)|0); - $15 = HEAP8[$10>>0]|0; - HEAP8[$14>>0] = $15; - $16 = HEAP8[$11>>0]|0; - $$sum1 = $i$04 | 1; - $17 = (($13) + ($$sum1)|0); - HEAP8[$17>>0] = $16; - $18 = HEAP8[$2>>0]|0; - $$sum2 = $i$04 | 2; - $19 = (($13) + ($$sum2)|0); - HEAP8[$19>>0] = $18; - $20 = HEAP8[$12>>0]|0; - $$sum3 = $i$04 | 3; - $21 = (($13) + ($$sum3)|0); - HEAP8[$21>>0] = $20; - $22 = (($i$04) + 4)|0; - $23 = HEAP32[$g>>2]|0; - $24 = HEAP32[$4>>2]|0; - $25 = $23 << 2; - $26 = Math_imul($25, $24)|0; - $27 = ($22|0)<($26|0); - if ($27) { - $i$04 = $22; - } else { - break; - } - } - return; -} -function _stbi__process_gif_raster($s,$g) { - $s = $s|0; - $g = $g|0; - var $$0 = 0, $$sink = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; - var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0; - var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $avail$0$ph = 0; - var $avail$0$ph7 = 0, $avail$1 = 0, $bits$0$lcssa = 0, $bits$0$ph = 0, $bits$0$ph3 = 0, $bits$0$ph9 = 0, $bits$040 = 0, $code$047 = 0, $codemask$0$ph = 0, $codemask$0$ph$in = 0, $codesize$0$ph = 0, $codesize$0$ph$in = 0, $first$0$ph = 0, $len$0$lcssa = 0, $len$0$lcssa$lcssa169 = 0, $len$0$ph = 0, $len$0$ph11 = 0, $len$0$ph5 = 0, $len$042 = 0, $len$1 = 0; - var $oldcode$0$ph = 0, $oldcode$0$ph8 = 0, $or$cond = 0, $valid_bits$0$lcssa = 0, $valid_bits$0$ph = 0, $valid_bits$0$ph10 = 0, $valid_bits$0$ph4 = 0, $valid_bits$041 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_stbi__get8($s)|0); - $1 = $0&255; - $2 = ($0&255)>(12); - if ($2) { - $$0 = 0; - return ($$0|0); - } - $3 = 1 << $1; - $code$047 = 0; - while(1) { - $4 = (((($g)) + 2080|0) + ($code$047<<2)|0); - HEAP16[$4>>1] = -1; - $5 = $code$047&255; - $6 = (((((($g)) + 2080|0) + ($code$047<<2)|0)) + 2|0); - HEAP8[$6>>0] = $5; - $7 = (((((($g)) + 2080|0) + ($code$047<<2)|0)) + 3|0); - HEAP8[$7>>0] = $5; - $8 = (($code$047) + 1)|0; - $9 = ($8|0)<($3|0); - if ($9) { - $code$047 = $8; - } else { - break; - } - } - $10 = (($3) + 2)|0; - $11 = (($3) + 1)|0; - $bits$0$ph = 0;$first$0$ph = 0;$len$0$ph = 0;$valid_bits$0$ph = 0; - L7: while(1) { - $avail$0$ph = $10;$bits$0$ph3 = $bits$0$ph;$codesize$0$ph$in = $1;$len$0$ph5 = $len$0$ph;$oldcode$0$ph = -1;$valid_bits$0$ph4 = $valid_bits$0$ph; - L9: while(1) { - $codesize$0$ph = (($codesize$0$ph$in) + 1)|0; - $codemask$0$ph$in = 1 << $codesize$0$ph; - $codemask$0$ph = (($codemask$0$ph$in) + -1)|0; - $avail$0$ph7 = $avail$0$ph;$bits$0$ph9 = $bits$0$ph3;$len$0$ph11 = $len$0$ph5;$oldcode$0$ph8 = $oldcode$0$ph;$valid_bits$0$ph10 = $valid_bits$0$ph4; - while(1) { - $12 = ($valid_bits$0$ph10|0)<($codesize$0$ph|0); - if ($12) { - $bits$040 = $bits$0$ph9;$len$042 = $len$0$ph11;$valid_bits$041 = $valid_bits$0$ph10; - while(1) { - $13 = ($len$042|0)==(0); - if ($13) { - $14 = (_stbi__get8($s)|0); - $15 = $14&255; - $16 = ($14<<24>>24)==(0); - if ($16) { - label = 10; - break L7; - } else { - $len$1 = $15; - } - } else { - $len$1 = $len$042; - } - $19 = (($len$1) + -1)|0; - $20 = (_stbi__get8($s)|0); - $21 = $20&255; - $22 = $21 << $valid_bits$041; - $23 = $22 | $bits$040; - $24 = (($valid_bits$041) + 8)|0; - $25 = ($24|0)<($codesize$0$ph|0); - if ($25) { - $bits$040 = $23;$len$042 = $19;$valid_bits$041 = $24; - } else { - $bits$0$lcssa = $23;$len$0$lcssa = $19;$valid_bits$0$lcssa = $24; - break; - } - } - } else { - $bits$0$lcssa = $bits$0$ph9;$len$0$lcssa = $len$0$ph11;$valid_bits$0$lcssa = $valid_bits$0$ph10; - } - $26 = $bits$0$lcssa & $codemask$0$ph; - $27 = $bits$0$lcssa >> $codesize$0$ph; - $28 = (($valid_bits$0$lcssa) - ($codesize$0$ph))|0; - $29 = ($26|0)==($3|0); - if ($29) { - $bits$0$ph = $27;$first$0$ph = 1;$len$0$ph = $len$0$lcssa;$valid_bits$0$ph = $28; - continue L7; - } - $30 = ($26|0)==($11|0); - if ($30) { - $len$0$lcssa$lcssa169 = $len$0$lcssa; - label = 14; - break L7; - } - $39 = ($26|0)>($avail$0$ph7|0); - if ($39) { - label = 29; - break L7; - } - if (!($first$0$ph)) { - label = 19; - break L7; - } - $40 = ($oldcode$0$ph8|0)>(-1); - if ($40) { - $41 = (($avail$0$ph7) + 1)|0; - $42 = ($avail$0$ph7|0)>(4095); - if ($42) { - label = 22; - break L7; - } - $43 = $oldcode$0$ph8&65535; - $44 = (((($g)) + 2080|0) + ($avail$0$ph7<<2)|0); - HEAP16[$44>>1] = $43; - $45 = (((((($g)) + 2080|0) + ($oldcode$0$ph8<<2)|0)) + 2|0); - $46 = HEAP8[$45>>0]|0; - $47 = (((((($g)) + 2080|0) + ($avail$0$ph7<<2)|0)) + 2|0); - HEAP8[$47>>0] = $46; - $48 = ($26|0)==($41|0); - if ($48) { - $$sink = $46; - } else { - $49 = (((((($g)) + 2080|0) + ($26<<2)|0)) + 2|0); - $50 = HEAP8[$49>>0]|0; - $$sink = $50; - } - $51 = (((((($g)) + 2080|0) + ($avail$0$ph7<<2)|0)) + 3|0); - HEAP8[$51>>0] = $$sink; - $avail$1 = $41; - } else { - $52 = ($26|0)==($avail$0$ph7|0); - if ($52) { - label = 27; - break L7; - } else { - $avail$1 = $avail$0$ph7; - } - } - $53 = $26&65535; - _stbi__out_gif_code($g,$53); - $54 = $avail$1 & $codemask$0$ph; - $55 = ($54|0)==(0); - $56 = ($avail$1|0)<(4096); - $or$cond = $56 & $55; - if ($or$cond) { - $avail$0$ph = $avail$1;$bits$0$ph3 = $27;$codesize$0$ph$in = $codesize$0$ph;$len$0$ph5 = $len$0$lcssa;$oldcode$0$ph = $26;$valid_bits$0$ph4 = $28; - continue L9; - } else { - $avail$0$ph7 = $avail$1;$bits$0$ph9 = $27;$len$0$ph11 = $len$0$lcssa;$oldcode$0$ph8 = $26;$valid_bits$0$ph10 = $28; - } - } - } - } - if ((label|0) == 10) { - $17 = ((($g)) + 8|0); - $18 = HEAP32[$17>>2]|0; - $$0 = $18; - return ($$0|0); - } - else if ((label|0) == 14) { - _stbi__skip($s,$len$0$lcssa$lcssa169); - $31 = (_stbi__get8($s)|0); - $32 = ($31<<24>>24)==(0); - if (!($32)) { - $34 = $31; - while(1) { - $33 = $34&255; - _stbi__skip($s,$33); - $35 = (_stbi__get8($s)|0); - $36 = ($35<<24>>24)==(0); - if ($36) { - break; - } else { - $34 = $35; - } - } - } - $37 = ((($g)) + 8|0); - $38 = HEAP32[$37>>2]|0; - $$0 = $38; - return ($$0|0); - } - else if ((label|0) == 19) { - _stbi__err(27432); - $$0 = 0; - return ($$0|0); - } - else if ((label|0) == 22) { - _stbi__err(27448); - $$0 = 0; - return ($$0|0); - } - else if ((label|0) == 27) { - _stbi__err(27464); - $$0 = 0; - return ($$0|0); - } - else if ((label|0) == 29) { - _stbi__err(27464); - $$0 = 0; - return ($$0|0); - } - return (0)|0; -} -function _stbi__out_gif_code($g,$code) { - $g = $g|0; - $code = $code|0; - var $$pr = 0, $$sum = 0, $$sum1 = 0, $$sum2 = 0, $$sum3 = 0, $$sum4 = 0, $$sum5 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0; - var $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0; - var $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0; - var $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = $code&65535; - $1 = (((($g)) + 2080|0) + ($0<<2)|0); - $2 = HEAP16[$1>>1]|0; - $3 = ($2<<16>>16)>(-1); - if ($3) { - _stbi__out_gif_code($g,$2); - } - $4 = ((($g)) + 18500|0); - $5 = HEAP32[$4>>2]|0; - $6 = ((($g)) + 18492|0); - $7 = HEAP32[$6>>2]|0; - $8 = ($5|0)<($7|0); - if (!($8)) { - return; - } - $9 = ((($g)) + 18496|0); + $9 = ((($0)) + 16|0); $10 = HEAP32[$9>>2]|0; - $11 = (($10) + ($5))|0; - $12 = ((($g)) + 8|0); - $13 = HEAP32[$12>>2]|0; - $14 = (((((($g)) + 2080|0) + ($0<<2)|0)) + 3|0); - $15 = HEAP8[$14>>0]|0; - $16 = $15&255; - $17 = $16 << 2; - $18 = ((($g)) + 18464|0); - $19 = HEAP32[$18>>2]|0; - $$sum1 = $17 | 3; - $20 = (($19) + ($$sum1)|0); - $21 = HEAP8[$20>>0]|0; - $22 = ($21<<24>>24)<(0); - if ($22) { - $23 = (($19) + ($17)|0); - $24 = (($13) + ($11)|0); - $$sum2 = $17 | 2; - $25 = (($19) + ($$sum2)|0); - $26 = HEAP8[$25>>0]|0; - HEAP8[$24>>0] = $26; - $$sum3 = $17 | 1; - $27 = (($19) + ($$sum3)|0); - $28 = HEAP8[$27>>0]|0; - $$sum = (($11) + 1)|0; - $29 = (($13) + ($$sum)|0); - HEAP8[$29>>0] = $28; - $30 = HEAP8[$23>>0]|0; - $$sum4 = (($11) + 2)|0; - $31 = (($13) + ($$sum4)|0); - HEAP8[$31>>0] = $30; - $32 = HEAP8[$20>>0]|0; - $$sum5 = (($11) + 3)|0; - $33 = (($13) + ($$sum5)|0); - HEAP8[$33>>0] = $32; - } - $34 = HEAP32[$9>>2]|0; - $35 = (($34) + 4)|0; - HEAP32[$9>>2] = $35; - $36 = ((($g)) + 18488|0); - $37 = HEAP32[$36>>2]|0; - $38 = ($35|0)<($37|0); - if ($38) { - return; - } - $39 = ((($g)) + 18480|0); - $40 = HEAP32[$39>>2]|0; - HEAP32[$9>>2] = $40; - $41 = ((($g)) + 18472|0); - $42 = HEAP32[$41>>2]|0; - $43 = HEAP32[$4>>2]|0; - $44 = (($43) + ($42))|0; - HEAP32[$4>>2] = $44; - $45 = ((($g)) + 18468|0); - $46 = HEAP32[$6>>2]|0; - $47 = ($44|0)<($46|0); - if ($47) { - return; - } - $48 = ((($g)) + 18504|0); - $49 = ((($g)) + 18484|0); - $$pr = HEAP32[$45>>2]|0; - $50 = $$pr; - while(1) { - $51 = ($50|0)>(0); - if (!($51)) { - label = 11; - break; - } - $52 = HEAP32[$48>>2]|0; - $53 = $52 << $50; - HEAP32[$41>>2] = $53; - $54 = HEAP32[$49>>2]|0; - $55 = $53 >> 1; - $56 = (($55) + ($54))|0; - HEAP32[$4>>2] = $56; - $57 = HEAP32[$45>>2]|0; - $58 = (($57) + -1)|0; - HEAP32[$45>>2] = $58; - $59 = HEAP32[$4>>2]|0; - $60 = HEAP32[$6>>2]|0; - $61 = ($59|0)<($60|0); - if ($61) { - label = 11; - break; - } else { - $50 = $58; - } - } - if ((label|0) == 11) { - return; - } -} -function _stbi__gif_test_raw($s) { - $s = $s|0; - var $$ = 0, $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_stbi__get8($s)|0); - $1 = ($0<<24>>24)==(71); - if ($1) { - $2 = (_stbi__get8($s)|0); - $3 = ($2<<24>>24)==(73); - if ($3) { - $4 = (_stbi__get8($s)|0); - $5 = ($4<<24>>24)==(70); - if ($5) { - $6 = (_stbi__get8($s)|0); - $7 = ($6<<24>>24)==(56); - if ($7) { - $8 = (_stbi__get8($s)|0); - if ((($8<<24>>24) == 55) | (($8<<24>>24) == 57)) { - $9 = (_stbi__get8($s)|0); - $10 = ($9<<24>>24)==(97); - $$ = $10&1; - $$0 = $$; - } else { - $$0 = 0; - } - } else { - $$0 = 0; - } - } else { - $$0 = 0; - } - } else { - $$0 = 0; - } - } else { - $$0 = 0; - } - return ($$0|0); -} -function _stbi__high_bit($z) { - $z = $z|0; - var $$ = 0, $$01 = 0, $$1 = 0, $$2 = 0, $$3 = 0, $$n$3 = 0, $$z = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; - var $9 = 0, $n$1 = 0, $n$2 = 0, $n$3 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ($z|0)==(0); - if ($0) { - $$01 = -1; - return ($$01|0); - } - $1 = ($z>>>0)>(65535); - $2 = $z >>> 16; - $$z = $1 ? $2 : $z; - $$ = $1 ? 16 : 0; - $3 = ($$z>>>0)>(255); - $4 = $$ | 8; - $5 = $$z >>> 8; - $$1 = $3 ? $5 : $$z; - $n$1 = $3 ? $4 : $$; - $6 = ($$1>>>0)>(15); - $7 = $n$1 | 4; - $8 = $$1 >>> 4; - $$2 = $6 ? $8 : $$1; - $n$2 = $6 ? $7 : $n$1; - $9 = ($$2>>>0)>(3); - $10 = $n$2 | 2; - $11 = $$2 >>> 2; - $$3 = $9 ? $11 : $$2; - $n$3 = $9 ? $10 : $n$2; - $12 = ($$3>>>0)>(1); - $13 = $12&1; - $$n$3 = (($13) + ($n$3))|0; - $$01 = $$n$3; - return ($$01|0); -} -function _stbi__bitcount($a) { - $a = $a|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = $a & 1431655765; - $1 = $a >>> 1; - $2 = $1 & 1431655765; - $3 = (($2) + ($0))|0; - $4 = $3 & 858993459; - $5 = $3 >>> 2; - $6 = $5 & 858993459; - $7 = (($6) + ($4))|0; - $8 = $7 >>> 4; - $9 = (($8) + ($7))|0; - $10 = $9 & 252645135; - $11 = $10 >>> 8; - $12 = (($11) + ($10))|0; - $13 = $12 >>> 16; - $14 = (($13) + ($12))|0; - $15 = $14 & 255; - return ($15|0); -} -function _stbi__shiftsigned($v,$shift,$bits) { - $v = $v|0; - $shift = $shift|0; - $bits = $bits|0; - var $$0 = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $result$0$lcssa = 0, $result$01 = 0, $z$02 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ($shift|0)<(0); - $1 = (0 - ($shift))|0; - $2 = $v << $1; - $3 = $v >> $shift; - $$0 = $0 ? $2 : $3; - $4 = ($bits|0)<(8); - if ($4) { - $result$01 = $$0;$z$02 = $bits; - } else { - $result$0$lcssa = $$0; - return ($result$0$lcssa|0); - } - while(1) { - $5 = $$0 >> $z$02; - $6 = (($5) + ($result$01))|0; - $7 = (($z$02) + ($bits))|0; - $8 = ($7|0)<(8); - if ($8) { - $result$01 = $6;$z$02 = $7; - } else { - $result$0$lcssa = $6; - break; - } - } - return ($result$0$lcssa|0); -} -function _stbi__bmp_test_raw($s) { - $s = $s|0; - var $$0 = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_stbi__get8($s)|0); - $1 = ($0<<24>>24)==(66); - if (!($1)) { - $$0 = 0; - return ($$0|0); - } - $2 = (_stbi__get8($s)|0); - $3 = ($2<<24>>24)==(77); - if (!($3)) { - $$0 = 0; - return ($$0|0); - } - (_stbi__get32le($s)|0); - (_stbi__get16le($s)|0); - (_stbi__get16le($s)|0); - (_stbi__get32le($s)|0); - $4 = (_stbi__get32le($s)|0); - switch ($4|0) { - case 124: case 12: case 40: case 56: case 108: { - $$0 = 1; - return ($$0|0); - break; - } - default: { - } - } - $$0 = 0; - return ($$0|0); -} -function _stbi__do_png($p,$x,$y,$n,$req_comp) { - $p = $p|0; - $x = $x|0; - $y = $y|0; - $n = $n|0; - $req_comp = $req_comp|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $result$0 = 0, $result$1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ($req_comp>>>0)>(4); - if ($0) { - _stbi__err(27624); - $$0 = 0; - return ($$0|0); - } - $1 = (_stbi__parse_png_file($p,0,$req_comp)|0); - $2 = ($1|0)==(0); - if ($2) { - $result$1 = 0; - } else { - $3 = ((($p)) + 12|0); - $4 = HEAP32[$3>>2]|0; - HEAP32[$3>>2] = 0; - $5 = ($req_comp|0)==(0); - if ($5) { - $result$0 = $4; - } else { - $6 = HEAP32[$p>>2]|0; - $7 = ((($6)) + 12|0); - $8 = HEAP32[$7>>2]|0; - $9 = ($8|0)==($req_comp|0); - if ($9) { - $result$0 = $4; - } else { - $10 = HEAP32[$6>>2]|0; - $11 = ((($6)) + 4|0); - $12 = HEAP32[$11>>2]|0; - $13 = (_stbi__convert_format($4,$8,$req_comp,$10,$12)|0); - $14 = HEAP32[$p>>2]|0; - $15 = ((($14)) + 12|0); - HEAP32[$15>>2] = $req_comp; - $16 = ($13|0)==(0|0); - if ($16) { - $$0 = 0; - return ($$0|0); - } else { - $result$0 = $13; - } - } - } - $17 = HEAP32[$p>>2]|0; - $18 = HEAP32[$17>>2]|0; - HEAP32[$x>>2] = $18; - $19 = HEAP32[$p>>2]|0; - $20 = ((($19)) + 4|0); - $21 = HEAP32[$20>>2]|0; - HEAP32[$y>>2] = $21; - $22 = ($n|0)==(0|0); - if ($22) { - $result$1 = $result$0; - } else { - $23 = HEAP32[$p>>2]|0; - $24 = ((($23)) + 12|0); - $25 = HEAP32[$24>>2]|0; - HEAP32[$n>>2] = $25; - $result$1 = $result$0; - } - } - $26 = ((($p)) + 12|0); - $27 = HEAP32[$26>>2]|0; - _free($27); - HEAP32[$26>>2] = 0; - $28 = ((($p)) + 8|0); - $29 = HEAP32[$28>>2]|0; - _free($29); - HEAP32[$28>>2] = 0; - $30 = ((($p)) + 4|0); - $31 = HEAP32[$30>>2]|0; - _free($31); - HEAP32[$30>>2] = 0; - $$0 = $result$1; - return ($$0|0); -} -function _stbi__setup_jpeg($j) { - $j = $j|0; - var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($j)) + 18176|0); - HEAP32[$0>>2] = 2; - $1 = ((($j)) + 18180|0); - HEAP32[$1>>2] = 1; - $2 = ((($j)) + 18184|0); - HEAP32[$2>>2] = 1; - return; -} -function _load_jpeg_image($z,$out_x,$out_y,$comp,$req_comp) { - $z = $z|0; - $out_x = $out_x|0; - $out_y = $out_y|0; - $comp = $comp|0; - $req_comp = $req_comp|0; - var $$ = 0, $$0 = 0, $$1 = 0, $$in = 0, $$in4 = 0, $$pr = 0, $$pr5 = 0, $$sum = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0; - var $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0; - var $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0; - var $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0; - var $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0; - var $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0; - var $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0; - var $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0; - var $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0; - var $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $coutput = 0, $exitcond = 0, $i$018 = 0, $i$115 = 0, $i$213 = 0, $j$020 = 0, $k$023 = 0, $k$111 = 0, $or$cond3 = 0, $out$017 = 0, $out$112 = 0; - var $res_comp = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 144|0; - $coutput = sp + 128|0; - $res_comp = sp; - $0 = HEAP32[$z>>2]|0; - $1 = ((($0)) + 8|0); - HEAP32[$1>>2] = 0; - $2 = ($req_comp>>>0)>(4); - if ($2) { - _stbi__err(27624); - $$1 = 0; - STACKTOP = sp;return ($$1|0); - } - $3 = (_stbi__decode_jpeg_image($z)|0); - $4 = ($3|0)==(0); - if ($4) { - _stbi__cleanup_jpeg($z); - $$1 = 0; - STACKTOP = sp;return ($$1|0); - } - $5 = ($req_comp|0)==(0); - if ($5) { - $6 = HEAP32[$z>>2]|0; - $7 = ((($6)) + 8|0); - $8 = HEAP32[$7>>2]|0; - $13 = $8; - } else { - $13 = $req_comp; - } - $9 = HEAP32[$z>>2]|0; - $10 = ((($9)) + 8|0); - $11 = HEAP32[$10>>2]|0; - $12 = ($11|0)==(3); - $14 = ($13|0)<(3); - $or$cond3 = $14 & $12; - $$ = $or$cond3 ? 1 : $11; - $15 = ($$|0)>(0); - L12: do { - if ($15) { - $16 = ((($z)) + 17796|0); - $17 = ((($z)) + 17800|0); - $18 = ((($z)) + 18184|0); - $k$023 = 0; + $11 = $10 << 9; + $12 = $11 & 536870400; + $13 = ((($0)) + 20|0); + $14 = HEAP32[$13>>2]|0; + $15 = Math_imul($12, $14)|0; + $16 = (_calloc($15,1)|0); + $17 = HEAP32[$2>>2]|0; + $18 = ($17|0)>(0); + L4: do { + if ($18) { + $19 = ((($0)) + 48|0); + $20 = ((($0)) + 4|0); + $21 = ((($0)) + 8|0); + $$04143 = 0; while(1) { - $19 = (($res_comp) + ($k$023<<5)|0); - $20 = HEAP32[$z>>2]|0; - $21 = HEAP32[$20>>2]|0; - $22 = (($21) + 3)|0; - $23 = (_stbi__malloc($22)|0); - $24 = (((((($z)) + 17820|0) + (($k$023*72)|0)|0)) + 56|0); - HEAP32[$24>>2] = $23; - $25 = ($23|0)==(0|0); + $24 = HEAP32[$19>>2]|0; + $25 = ($24>>>0)<(4096); + $$ = $25 ? $24 : 4096; + $26 = HEAP32[$0>>2]|0; + switch ($26|0) { + case 0: { + $27 = HEAP32[$20>>2]|0; + $28 = HEAP32[$13>>2]|0; + $29 = Math_imul($28, $$)|0; + (_stb_vorbis_get_samples_short_interleaved($27,$28,$16,$29)|0); + break; + } + case 2: { + $30 = HEAP32[$21>>2]|0; + _jar_xm_generate_samples_16bit($30,$16,$$); + break; + } + default: { + } + } + ;HEAP32[$$byval_copy>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$3+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$3+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$3+16>>2]|0;HEAP32[$$byval_copy+20>>2]=HEAP32[$3+20>>2]|0;HEAP32[$$byval_copy+24>>2]=HEAP32[$3+24>>2]|0; + _UpdateAudioStream($$byval_copy,$16,$$); + $31 = HEAP32[$19>>2]|0; + $32 = (($31) - ($$))|0; + HEAP32[$19>>2] = $32; + $33 = ($32|0)==(0); + $23 = (($$04143) + 1)|0; + if ($33) { + $$0 = 0; + break L4; + } + $22 = ($23|0)<($17|0); + if ($22) { + $$04143 = $23; + } else { + $$0 = 1; + break L4; + } + } + } else { + $$0 = 1; + } + } while(0); + $34 = (_alGetError()|0); + $35 = ($34|0)==(40963); + if ($35) { + _TraceLog(1,20761,$vararg_buffer); + } + $36 = ($$0|0)==(0); + if ($36) { + _StopMusicStream($0); + $37 = ((($0)) + 40|0); + $38 = HEAP32[$37>>2]|0; + $39 = ($38|0)>(0); + if ($39) { + $40 = (($38) + -1)|0; + HEAP32[$37>>2] = $40; + _PlayMusicStream($0); + } + } else { + $41 = HEAP32[$1>>2]|0; + $42 = ($41|0)==(4114); + if (!($42)) { + _PlayMusicStream($0); + } + } + _free($16); + STACKTOP = sp;return; +} +function _UpdateAudioStream($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $3 = sp; + HEAP32[$3>>2] = 0; + $4 = ((($0)) + 16|0); + $5 = HEAP32[$4>>2]|0; + _alSourceUnqueueBuffers(($5|0),1,($3|0)); + $6 = (_alGetError()|0); + $7 = ($6|0)==(40963); + if ($7) { + STACKTOP = sp;return; + } + $8 = HEAP32[$3>>2]|0; + $9 = ((($0)) + 12|0); + $10 = HEAP32[$9>>2]|0; + $11 = ((($0)) + 8|0); + $12 = HEAP32[$11>>2]|0; + $13 = Math_imul($12, $2)|0; + $14 = ((($0)) + 4|0); + $15 = HEAP32[$14>>2]|0; + $16 = Math_imul($13, $15)|0; + $17 = $16 >>> 3; + $18 = HEAP32[$0>>2]|0; + _alBufferData(($8|0),($10|0),($1|0),($17|0),($18|0)); + $19 = HEAP32[$4>>2]|0; + _alSourceQueueBuffers(($19|0),1,($3|0)); + STACKTOP = sp;return; +} +function _emscripten_GetProcAddress($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0; + var $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0; + var $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0; + var $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0; + var $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0; + var $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0; + var $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0; + var $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0; + var $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0; + var $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0; + var $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0; + var $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0; + var $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0; + var $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0; + var $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0; + var $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0; + var $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0; + var $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0; + var $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0; + var $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0; + var $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0; + var $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0; + var $496 = 0, $497 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0; + var $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0; + var $531 = 0, $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0, $549 = 0; + var $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0; + var $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0; + var $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $1 = sp + 12|0; + $2 = sp + 8|0; + $3 = sp + 4|0; + $4 = sp; + HEAP32[$2>>2] = $0; + $5 = HEAP32[$2>>2]|0; + $6 = (_strlen($5)|0); + $7 = (($6) + 1)|0; + $8 = (_malloc($7)|0); + HEAP32[$3>>2] = $8; + $9 = HEAP32[$3>>2]|0; + $10 = HEAP32[$2>>2]|0; + (_strcpy($9,$10)|0); + $11 = HEAP32[$3>>2]|0; + $12 = (_strstr($11,20793)|0); + HEAP32[$4>>2] = $12; + $13 = HEAP32[$4>>2]|0; + $14 = ($13|0)!=(0|0); + if ($14) { + $15 = HEAP32[$4>>2]|0; + HEAP8[$15>>0] = 0; + } + $16 = HEAP32[$3>>2]|0; + $17 = (_strstr($16,20797)|0); + HEAP32[$4>>2] = $17; + $18 = HEAP32[$4>>2]|0; + $19 = ($18|0)!=(0|0); + if ($19) { + $20 = HEAP32[$4>>2]|0; + HEAP8[$20>>0] = 0; + } + $21 = HEAP32[$3>>2]|0; + $22 = (_strstr($21,20801)|0); + HEAP32[$4>>2] = $22; + $23 = HEAP32[$4>>2]|0; + $24 = ($23|0)!=(0|0); + if ($24) { + $25 = HEAP32[$4>>2]|0; + HEAP8[$25>>0] = 0; + } + $26 = HEAP32[$3>>2]|0; + $27 = (_strstr($26,20805)|0); + HEAP32[$4>>2] = $27; + $28 = HEAP32[$4>>2]|0; + $29 = ($28|0)!=(0|0); + if ($29) { + $30 = HEAP32[$4>>2]|0; + HEAP8[$30>>0] = 0; + } + $31 = HEAP32[$3>>2]|0; + $32 = (_strcmp($31,20811)|0); + $33 = ($32|0)!=(0); + do { + if ($33) { + $34 = HEAP32[$3>>2]|0; + $35 = (_strcmp($34,20849)|0); + $36 = ($35|0)!=(0); + if (!($36)) { + HEAP32[$3>>2] = 20868; + break; + } + $37 = HEAP32[$3>>2]|0; + $38 = (_strcmp($37,20881)|0); + $39 = ($38|0)!=(0); + if (!($39)) { + HEAP32[$3>>2] = 20902; + break; + } + $40 = HEAP32[$3>>2]|0; + $41 = (_strcmp($40,20917)|0); + $42 = ($41|0)!=(0); + if (!($42)) { + HEAP32[$3>>2] = 20932; + break; + } + $43 = HEAP32[$3>>2]|0; + $44 = (_strcmp($43,20947)|0); + $45 = ($44|0)!=(0); + if (!($45)) { + HEAP32[$3>>2] = 20962; + } + } else { + HEAP32[$3>>2] = 20833; + } + } while(0); + $46 = HEAP32[$3>>2]|0; + $47 = (_strcmp($46,20977)|0); + $48 = ($47|0)!=(0); + do { + if ($48) { + $49 = HEAP32[$3>>2]|0; + $50 = (_strcmp($49,20991)|0); + $51 = ($50|0)!=(0); + if (!($51)) { + HEAP32[$1>>2] = 3; + break; + } + $52 = HEAP32[$3>>2]|0; + $53 = (_strcmp($52,21003)|0); + $54 = ($53|0)!=(0); + if (!($54)) { + HEAP32[$1>>2] = 7; + break; + } + $55 = HEAP32[$3>>2]|0; + $56 = (_strcmp($55,21017)|0); + $57 = ($56|0)!=(0); + if (!($57)) { + HEAP32[$1>>2] = 8; + break; + } + $58 = HEAP32[$3>>2]|0; + $59 = (_strcmp($58,21029)|0); + $60 = ($59|0)!=(0); + if (!($60)) { + HEAP32[$1>>2] = 9; + break; + } + $61 = HEAP32[$3>>2]|0; + $62 = (_strcmp($61,21043)|0); + $63 = ($62|0)!=(0); + if (!($63)) { + HEAP32[$1>>2] = 10; + break; + } + $64 = HEAP32[$3>>2]|0; + $65 = (_strcmp($64,21057)|0); + $66 = ($65|0)!=(0); + if (!($66)) { + HEAP32[$1>>2] = 11; + break; + } + $67 = HEAP32[$3>>2]|0; + $68 = (_strcmp($67,21074)|0); + $69 = ($68|0)!=(0); + if (!($69)) { + HEAP32[$1>>2] = 1; + break; + } + $70 = HEAP32[$3>>2]|0; + $71 = (_strcmp($70,21097)|0); + $72 = ($71|0)!=(0); + if (!($72)) { + HEAP32[$1>>2] = 1; + break; + } + $73 = HEAP32[$3>>2]|0; + $74 = (_strcmp($73,21123)|0); + $75 = ($74|0)!=(0); + if (!($75)) { + HEAP32[$1>>2] = 2; + break; + } + $76 = HEAP32[$3>>2]|0; + $77 = (_strcmp($76,21136)|0); + $78 = ($77|0)!=(0); + if (!($78)) { + HEAP32[$1>>2] = 3; + break; + } + $79 = HEAP32[$3>>2]|0; + $80 = (_strcmp($79,21152)|0); + $81 = ($80|0)!=(0); + if (!($81)) { + HEAP32[$1>>2] = 1; + break; + } + $82 = HEAP32[$3>>2]|0; + $83 = (_strcmp($82,21165)|0); + $84 = ($83|0)!=(0); + if (!($84)) { + HEAP32[$1>>2] = 12; + break; + } + $85 = HEAP32[$3>>2]|0; + $86 = (_strcmp($85,21179)|0); + $87 = ($86|0)!=(0); + if (!($87)) { + HEAP32[$1>>2] = 2; + break; + } + $88 = HEAP32[$3>>2]|0; + $89 = (_strcmp($88,21199)|0); + $90 = ($89|0)!=(0); + if (!($90)) { + HEAP32[$1>>2] = 3; + break; + } + $91 = HEAP32[$3>>2]|0; + $92 = (_strcmp($91,21219)|0); + $93 = ($92|0)!=(0); + if (!($93)) { + HEAP32[$1>>2] = 4; + break; + } + $94 = HEAP32[$3>>2]|0; + $95 = (_strcmp($94,21236)|0); + $96 = ($95|0)!=(0); + if (!($96)) { + HEAP32[$1>>2] = 5; + break; + } + $97 = HEAP32[$3>>2]|0; + $98 = (_strcmp($97,21253)|0); + $99 = ($98|0)!=(0); + if (!($99)) { + HEAP32[$1>>2] = 4; + break; + } + $100 = HEAP32[$3>>2]|0; + $101 = (_strcmp($100,21265)|0); + $102 = ($101|0)!=(0); + if (!($102)) { + HEAP32[$1>>2] = 13; + break; + } + $103 = HEAP32[$3>>2]|0; + $104 = (_strcmp($103,21278)|0); + $105 = ($104|0)!=(0); + if (!($105)) { + HEAP32[$1>>2] = 14; + break; + } + $106 = HEAP32[$3>>2]|0; + $107 = (_strcmp($106,21294)|0); + $108 = ($107|0)!=(0); + if (!($108)) { + HEAP32[$1>>2] = 6; + break; + } + $109 = HEAP32[$3>>2]|0; + $110 = (_strcmp($109,21317)|0); + $111 = ($110|0)!=(0); + if (!($111)) { + HEAP32[$1>>2] = 2; + break; + } + $112 = HEAP32[$3>>2]|0; + $113 = (_strcmp($112,21330)|0); + $114 = ($113|0)!=(0); + if (!($114)) { + HEAP32[$1>>2] = 3; + break; + } + $115 = HEAP32[$3>>2]|0; + $116 = (_strcmp($115,21346)|0); + $117 = ($116|0)!=(0); + if (!($117)) { + HEAP32[$1>>2] = 5; + break; + } + $118 = HEAP32[$3>>2]|0; + $119 = (_strcmp($118,21357)|0); + $120 = ($119|0)!=(0); + if (!($120)) { + HEAP32[$1>>2] = 15; + break; + } + $121 = HEAP32[$3>>2]|0; + $122 = (_strcmp($121,21376)|0); + $123 = ($122|0)!=(0); + if (!($123)) { + HEAP32[$1>>2] = 16; + break; + } + $124 = HEAP32[$3>>2]|0; + $125 = (_strcmp($124,21398)|0); + $126 = ($125|0)!=(0); + if (!($126)) { + HEAP32[$1>>2] = 17; + break; + } + $127 = HEAP32[$3>>2]|0; + $128 = (_strcmp($127,21417)|0); + $129 = ($128|0)!=(0); + if (!($129)) { + HEAP32[$1>>2] = 7; + break; + } + $130 = HEAP32[$3>>2]|0; + $131 = (_strcmp($130,21446)|0); + $132 = ($131|0)!=(0); + if (!($132)) { + HEAP32[$1>>2] = 6; + break; + } + $133 = HEAP32[$3>>2]|0; + $134 = (_strcmp($133,21463)|0); + $135 = ($134|0)!=(0); + if (!($135)) { + HEAP32[$1>>2] = 8; + break; + } + $136 = HEAP32[$3>>2]|0; + $137 = (_strcmp($136,21478)|0); + $138 = ($137|0)!=(0); + if (!($138)) { + HEAP32[$1>>2] = 9; + break; + } + $139 = HEAP32[$3>>2]|0; + $140 = (_strcmp($139,21493)|0); + $141 = ($140|0)!=(0); + if (!($141)) { + HEAP32[$1>>2] = 3; + break; + } + $142 = HEAP32[$3>>2]|0; + $143 = (_strcmp($142,21514)|0); + $144 = ($143|0)!=(0); + if (!($144)) { + HEAP32[$1>>2] = 10; + break; + } + $145 = HEAP32[$3>>2]|0; + $146 = (_strcmp($145,21534)|0); + $147 = ($146|0)!=(0); + if (!($147)) { + HEAP32[$1>>2] = 11; + break; + } + $148 = HEAP32[$3>>2]|0; + $149 = (_strcmp($148,21554)|0); + $150 = ($149|0)!=(0); + if (!($150)) { + HEAP32[$1>>2] = 12; + break; + } + $151 = HEAP32[$3>>2]|0; + $152 = (_strcmp($151,21580)|0); + $153 = ($152|0)!=(0); + if (!($153)) { + HEAP32[$1>>2] = 2; + break; + } + $154 = HEAP32[$3>>2]|0; + $155 = (_strcmp($154,21599)|0); + $156 = ($155|0)!=(0); + if (!($156)) { + HEAP32[$1>>2] = 1; + break; + } + $157 = HEAP32[$3>>2]|0; + $158 = (_strcmp($157,21611)|0); + $159 = ($158|0)!=(0); + if (!($159)) { + HEAP32[$1>>2] = 3; + break; + } + $160 = HEAP32[$3>>2]|0; + $161 = (_strcmp($160,21623)|0); + $162 = ($161|0)!=(0); + if (!($162)) { + HEAP32[$1>>2] = 1; + break; + } + $163 = HEAP32[$3>>2]|0; + $164 = (_strcmp($163,21635)|0); + $165 = ($164|0)!=(0); + if (!($165)) { + HEAP32[$1>>2] = 1; + break; + } + $166 = HEAP32[$3>>2]|0; + $167 = (_strcmp($166,21647)|0); + $168 = ($167|0)!=(0); + if (!($168)) { + HEAP32[$1>>2] = 18; + break; + } + $169 = HEAP32[$3>>2]|0; + $170 = (_strcmp($169,21659)|0); + $171 = ($170|0)!=(0); + if (!($171)) { + HEAP32[$1>>2] = 13; + break; + } + $172 = HEAP32[$3>>2]|0; + $173 = (_strcmp($172,21671)|0); + $174 = ($173|0)!=(0); + if (!($174)) { + HEAP32[$1>>2] = 4; + break; + } + $175 = HEAP32[$3>>2]|0; + $176 = (_strcmp($175,21683)|0); + $177 = ($176|0)!=(0); + if (!($177)) { + HEAP32[$1>>2] = 2; + break; + } + $178 = HEAP32[$3>>2]|0; + $179 = (_strcmp($178,21695)|0); + $180 = ($179|0)!=(0); + if (!($180)) { + HEAP32[$1>>2] = 14; + break; + } + $181 = HEAP32[$3>>2]|0; + $182 = (_strcmp($181,21708)|0); + $183 = ($182|0)!=(0); + if (!($183)) { + HEAP32[$1>>2] = 15; + break; + } + $184 = HEAP32[$3>>2]|0; + $185 = (_strcmp($184,21721)|0); + $186 = ($185|0)!=(0); + if (!($186)) { + HEAP32[$1>>2] = 16; + break; + } + $187 = HEAP32[$3>>2]|0; + $188 = (_strcmp($187,21734)|0); + $189 = ($188|0)!=(0); + if (!($189)) { + HEAP32[$1>>2] = 17; + break; + } + $190 = HEAP32[$3>>2]|0; + $191 = (_strcmp($190,21747)|0); + $192 = ($191|0)!=(0); + if (!($192)) { + HEAP32[$1>>2] = 18; + break; + } + $193 = HEAP32[$3>>2]|0; + $194 = (_strcmp($193,21760)|0); + $195 = ($194|0)!=(0); + if (!($195)) { + HEAP32[$1>>2] = 19; + break; + } + $196 = HEAP32[$3>>2]|0; + $197 = (_strcmp($196,21773)|0); + $198 = ($197|0)!=(0); + if (!($198)) { + HEAP32[$1>>2] = 20; + break; + } + $199 = HEAP32[$3>>2]|0; + $200 = (_strcmp($199,21786)|0); + $201 = ($200|0)!=(0); + if (!($201)) { + HEAP32[$1>>2] = 21; + break; + } + $202 = HEAP32[$3>>2]|0; + $203 = (_strcmp($202,21799)|0); + $204 = ($203|0)!=(0); + if (!($204)) { + HEAP32[$1>>2] = 5; + break; + } + $205 = HEAP32[$3>>2]|0; + $206 = (_strcmp($205,21818)|0); + $207 = ($206|0)!=(0); + if (!($207)) { + HEAP32[$1>>2] = 6; + break; + } + $208 = HEAP32[$3>>2]|0; + $209 = (_strcmp($208,21837)|0); + $210 = ($209|0)!=(0); + if (!($210)) { + HEAP32[$1>>2] = 7; + break; + } + $211 = HEAP32[$3>>2]|0; + $212 = (_strcmp($211,21856)|0); + $213 = ($212|0)!=(0); + if (!($213)) { + HEAP32[$1>>2] = 19; + break; + } + $214 = HEAP32[$3>>2]|0; + $215 = (_strcmp($214,21869)|0); + $216 = ($215|0)!=(0); + if (!($216)) { + HEAP32[$1>>2] = 20; + break; + } + $217 = HEAP32[$3>>2]|0; + $218 = (_strcmp($217,21887)|0); + $219 = ($218|0)!=(0); + if (!($219)) { + HEAP32[$1>>2] = 21; + break; + } + $220 = HEAP32[$3>>2]|0; + $221 = (_strcmp($220,21905)|0); + $222 = ($221|0)!=(0); + if (!($222)) { + HEAP32[$1>>2] = 22; + break; + } + $223 = HEAP32[$3>>2]|0; + $224 = (_strcmp($223,21923)|0); + $225 = ($224|0)!=(0); + if (!($225)) { + HEAP32[$1>>2] = 23; + break; + } + $226 = HEAP32[$3>>2]|0; + $227 = (_strcmp($226,21941)|0); + $228 = ($227|0)!=(0); + if (!($228)) { + HEAP32[$1>>2] = 4; + break; + } + $229 = HEAP32[$3>>2]|0; + $230 = (_strcmp($229,21961)|0); + $231 = ($230|0)!=(0); + if (!($231)) { + HEAP32[$1>>2] = 3; + break; + } + $232 = HEAP32[$3>>2]|0; + $233 = (_strcmp($232,20902)|0); + $234 = ($233|0)!=(0); + if (!($234)) { + HEAP32[$1>>2] = 7; + break; + } + $235 = HEAP32[$3>>2]|0; + $236 = (_strcmp($235,21979)|0); + $237 = ($236|0)!=(0); + if (!($237)) { + HEAP32[$1>>2] = 1; + break; + } + $238 = HEAP32[$3>>2]|0; + $239 = (_strcmp($238,21994)|0); + $240 = ($239|0)!=(0); + if (!($240)) { + HEAP32[$1>>2] = 8; + break; + } + $241 = HEAP32[$3>>2]|0; + $242 = (_strcmp($241,22015)|0); + $243 = ($242|0)!=(0); + if (!($243)) { + HEAP32[$1>>2] = 9; + break; + } + $244 = HEAP32[$3>>2]|0; + $245 = (_strcmp($244,22030)|0); + $246 = ($245|0)!=(0); + if (!($246)) { + HEAP32[$1>>2] = 10; + break; + } + $247 = HEAP32[$3>>2]|0; + $248 = (_strcmp($247,22048)|0); + $249 = ($248|0)!=(0); + if (!($249)) { + HEAP32[$1>>2] = 2; + break; + } + $250 = HEAP32[$3>>2]|0; + $251 = (_strcmp($250,22064)|0); + $252 = ($251|0)!=(0); + if (!($252)) { + HEAP32[$1>>2] = 11; + break; + } + $253 = HEAP32[$3>>2]|0; + $254 = (_strcmp($253,22083)|0); + $255 = ($254|0)!=(0); + if (!($255)) { + HEAP32[$1>>2] = 22; + break; + } + $256 = HEAP32[$3>>2]|0; + $257 = (_strcmp($256,22097)|0); + $258 = ($257|0)!=(0); + if (!($258)) { + HEAP32[$1>>2] = 23; + break; + } + $259 = HEAP32[$3>>2]|0; + $260 = (_strcmp($259,22112)|0); + $261 = ($260|0)!=(0); + if (!($261)) { + HEAP32[$1>>2] = 8; + break; + } + $262 = HEAP32[$3>>2]|0; + $263 = (_strcmp($262,20833)|0); + $264 = ($263|0)!=(0); + if (!($264)) { + HEAP32[$1>>2] = 1; + break; + } + $265 = HEAP32[$3>>2]|0; + $266 = (_strcmp($265,22123)|0); + $267 = ($266|0)!=(0); + if (!($267)) { + HEAP32[$1>>2] = 3; + break; + } + $268 = HEAP32[$3>>2]|0; + $269 = (_strcmp($268,20932)|0); + $270 = ($269|0)!=(0); + if (!($270)) { + HEAP32[$1>>2] = 24; + break; + } + $271 = HEAP32[$3>>2]|0; + $272 = (_strcmp($271,20962)|0); + $273 = ($272|0)!=(0); + if (!($273)) { + HEAP32[$1>>2] = 25; + break; + } + $274 = HEAP32[$3>>2]|0; + $275 = (_strcmp($274,22139)|0); + $276 = ($275|0)!=(0); + if (!($276)) { + HEAP32[$1>>2] = 12; + break; + } + $277 = HEAP32[$3>>2]|0; + $278 = (_strcmp($277,22166)|0); + $279 = ($278|0)!=(0); + if (!($279)) { + HEAP32[$1>>2] = 4; + break; + } + $280 = HEAP32[$3>>2]|0; + $281 = (_strcmp($280,22180)|0); + $282 = ($281|0)!=(0); + if (!($282)) { + HEAP32[$1>>2] = 13; + break; + } + $283 = HEAP32[$3>>2]|0; + $284 = (_strcmp($283,20868)|0); + $285 = ($284|0)!=(0); + if (!($285)) { + HEAP32[$1>>2] = 5; + break; + } + $286 = HEAP32[$3>>2]|0; + $287 = (_strcmp($286,22200)|0); + $288 = ($287|0)!=(0); + if (!($288)) { + HEAP32[$1>>2] = 6; + break; + } + $289 = HEAP32[$3>>2]|0; + $290 = (_strcmp($289,22218)|0); + $291 = ($290|0)!=(0); + if (!($291)) { + HEAP32[$1>>2] = 9; + break; + } + $292 = HEAP32[$3>>2]|0; + $293 = (_strcmp($292,22230)|0); + $294 = ($293|0)!=(0); + if (!($294)) { + HEAP32[$1>>2] = 24; + break; + } + $295 = HEAP32[$3>>2]|0; + $296 = (_strcmp($295,22251)|0); + $297 = ($296|0)!=(0); + if (!($297)) { + HEAP32[$1>>2] = 26; + break; + } + $298 = HEAP32[$3>>2]|0; + $299 = (_strcmp($298,22269)|0); + $300 = ($299|0)!=(0); + if (!($300)) { + HEAP32[$1>>2] = 27; + break; + } + $301 = HEAP32[$3>>2]|0; + $302 = (_strcmp($301,22287)|0); + $303 = ($302|0)!=(0); + if (!($303)) { + HEAP32[$1>>2] = 28; + break; + } + $304 = HEAP32[$3>>2]|0; + $305 = (_strcmp($304,22308)|0); + $306 = ($305|0)!=(0); + if (!($306)) { + HEAP32[$1>>2] = 14; + break; + } + $307 = HEAP32[$3>>2]|0; + $308 = (_strcmp($307,22334)|0); + $309 = ($308|0)!=(0); + if (!($309)) { + HEAP32[$1>>2] = 3; + break; + } + $310 = HEAP32[$3>>2]|0; + $311 = (_strcmp($310,22357)|0); + $312 = ($311|0)!=(0); + if (!($312)) { + HEAP32[$1>>2] = 15; + break; + } + $313 = HEAP32[$3>>2]|0; + $314 = (_strcmp($313,22395)|0); + $315 = ($314|0)!=(0); + if (!($315)) { + HEAP32[$1>>2] = 10; + break; + } + $316 = HEAP32[$3>>2]|0; + $317 = (_strcmp($316,22411)|0); + $318 = ($317|0)!=(0); + if (!($318)) { + HEAP32[$1>>2] = 7; + break; + } + $319 = HEAP32[$3>>2]|0; + $320 = (_strcmp($319,22426)|0); + $321 = ($320|0)!=(0); + if (!($321)) { + HEAP32[$1>>2] = 25; + break; + } + $322 = HEAP32[$3>>2]|0; + $323 = (_strcmp($322,22449)|0); + $324 = ($323|0)!=(0); + if (!($324)) { + HEAP32[$1>>2] = 16; + break; + } + $325 = HEAP32[$3>>2]|0; + $326 = (_strcmp($325,22462)|0); + $327 = ($326|0)!=(0); + if (!($327)) { + HEAP32[$1>>2] = 29; + break; + } + $328 = HEAP32[$3>>2]|0; + $329 = (_strcmp($328,22476)|0); + $330 = ($329|0)!=(0); + if (!($330)) { + HEAP32[$1>>2] = 30; + break; + } + $331 = HEAP32[$3>>2]|0; + $332 = (_strcmp($331,22490)|0); + $333 = ($332|0)!=(0); + if (!($333)) { + HEAP32[$1>>2] = 1; + break; + } + $334 = HEAP32[$3>>2]|0; + $335 = (_strcmp($334,22510)|0); + $336 = ($335|0)!=(0); + if (!($336)) { + HEAP32[$1>>2] = 8; + break; + } + $337 = HEAP32[$3>>2]|0; + $338 = (_strcmp($337,22530)|0); + $339 = ($338|0)!=(0); + if (!($339)) { + HEAP32[$1>>2] = 17; + break; + } + $340 = HEAP32[$3>>2]|0; + $341 = (_strcmp($340,22546)|0); + $342 = ($341|0)!=(0); + if (!($342)) { + HEAP32[$1>>2] = 18; + break; + } + $343 = HEAP32[$3>>2]|0; + $344 = (_strcmp($343,22564)|0); + $345 = ($344|0)!=(0); + if (!($345)) { + HEAP32[$1>>2] = 26; + break; + } + $346 = HEAP32[$3>>2]|0; + $347 = (_strcmp($346,22580)|0); + $348 = ($347|0)!=(0); + if (!($348)) { + HEAP32[$1>>2] = 19; + break; + } + $349 = HEAP32[$3>>2]|0; + $350 = (_strcmp($349,22595)|0); + $351 = ($350|0)!=(0); + if (!($351)) { + HEAP32[$1>>2] = 9; + break; + } + $352 = HEAP32[$3>>2]|0; + $353 = (_strcmp($352,22617)|0); + $354 = ($353|0)!=(0); + if (!($354)) { + HEAP32[$1>>2] = 31; + break; + } + $355 = HEAP32[$3>>2]|0; + $356 = (_strcmp($355,22635)|0); + $357 = ($356|0)!=(0); + if (!($357)) { + HEAP32[$1>>2] = 32; + break; + } + $358 = HEAP32[$3>>2]|0; + $359 = (_strcmp($358,22656)|0); + $360 = ($359|0)!=(0); + if (!($360)) { + HEAP32[$1>>2] = 10; + break; + } + $361 = HEAP32[$3>>2]|0; + $362 = (_strcmp($361,22674)|0); + $363 = ($362|0)!=(0); + if (!($363)) { + HEAP32[$1>>2] = 11; + break; + } + $364 = HEAP32[$3>>2]|0; + $365 = (_strcmp($364,22687)|0); + $366 = ($365|0)!=(0); + if (!($366)) { + HEAP32[$1>>2] = 2; + break; + } + $367 = HEAP32[$3>>2]|0; + $368 = (_strcmp($367,22702)|0); + $369 = ($368|0)!=(0); + if (!($369)) { + HEAP32[$1>>2] = 12; + break; + } + $370 = HEAP32[$3>>2]|0; + $371 = (_strcmp($370,22716)|0); + $372 = ($371|0)!=(0); + if (!($372)) { + HEAP32[$1>>2] = 1; + break; + } + $373 = HEAP32[$3>>2]|0; + $374 = (_strcmp($373,22726)|0); + $375 = ($374|0)!=(0); + if (!($375)) { + HEAP32[$1>>2] = 1; + break; + } + $376 = HEAP32[$3>>2]|0; + $377 = (_strcmp($376,22736)|0); + $378 = ($377|0)!=(0); + if (!($378)) { + HEAP32[$1>>2] = 2; + break; + } + $379 = HEAP32[$3>>2]|0; + $380 = (_strcmp($379,22758)|0); + $381 = ($380|0)!=(0); + if (!($381)) { + HEAP32[$1>>2] = 13; + break; + } + $382 = HEAP32[$3>>2]|0; + $383 = (_strcmp($382,22784)|0); + $384 = ($383|0)!=(0); + if (!($384)) { + HEAP32[$1>>2] = 14; + break; + } + $385 = HEAP32[$3>>2]|0; + $386 = (_strcmp($385,22811)|0); + $387 = ($386|0)!=(0); + if (!($387)) { + HEAP32[$1>>2] = 27; + break; + } + $388 = HEAP32[$3>>2]|0; + $389 = (_strcmp($388,22824)|0); + $390 = ($389|0)!=(0); + if (!($390)) { + HEAP32[$1>>2] = 20; + break; + } + $391 = HEAP32[$3>>2]|0; + $392 = (_strcmp($391,22839)|0); + $393 = ($392|0)!=(0); + if (!($393)) { + HEAP32[$1>>2] = 4; + break; + } + $394 = HEAP32[$3>>2]|0; + $395 = (_strcmp($394,22854)|0); + $396 = ($395|0)!=(0); + if (!($396)) { + HEAP32[$1>>2] = 3; + break; + } + $397 = HEAP32[$3>>2]|0; + $398 = (_strcmp($397,22878)|0); + $399 = ($398|0)!=(0); + if (!($399)) { + HEAP32[$1>>2] = 2; + break; + } + $400 = HEAP32[$3>>2]|0; + $401 = (_strcmp($400,22889)|0); + $402 = ($401|0)!=(0); + if (!($402)) { + HEAP32[$1>>2] = 33; + break; + } + $403 = HEAP32[$3>>2]|0; + $404 = (_strcmp($403,22911)|0); + $405 = ($404|0)!=(0); + if (!($405)) { + HEAP32[$1>>2] = 21; + break; + } + $406 = HEAP32[$3>>2]|0; + $407 = (_strcmp($406,22933)|0); + $408 = ($407|0)!=(0); + if (!($408)) { + HEAP32[$1>>2] = 5; + break; + } + $409 = HEAP32[$3>>2]|0; + $410 = (_strcmp($409,22957)|0); + $411 = ($410|0)!=(0); + if (!($411)) { + HEAP32[$1>>2] = 4; + break; + } + $412 = HEAP32[$3>>2]|0; + $413 = (_strcmp($412,22966)|0); + $414 = ($413|0)!=(0); + if (!($414)) { + HEAP32[$1>>2] = 5; + break; + } + $415 = HEAP32[$3>>2]|0; + $416 = (_strcmp($415,22974)|0); + $417 = ($416|0)!=(0); + if (!($417)) { + HEAP32[$1>>2] = 1; + break; + } + $418 = HEAP32[$3>>2]|0; + $419 = (_strcmp($418,22987)|0); + $420 = ($419|0)!=(0); + if (!($420)) { + HEAP32[$1>>2] = 2; + break; + } + $421 = HEAP32[$3>>2]|0; + $422 = (_strcmp($421,23001)|0); + $423 = ($422|0)!=(0); + if (!($423)) { + HEAP32[$1>>2] = 15; + break; + } + $424 = HEAP32[$3>>2]|0; + $425 = (_strcmp($424,23013)|0); + $426 = ($425|0)!=(0); + if (!($426)) { + HEAP32[$1>>2] = 16; + break; + } + $427 = HEAP32[$3>>2]|0; + $428 = (_strcmp($427,23022)|0); + $429 = ($428|0)!=(0); + if (!($429)) { + HEAP32[$1>>2] = 17; + break; + } + $430 = HEAP32[$3>>2]|0; + $431 = (_strcmp($430,23032)|0); + $432 = ($431|0)!=(0); + if (!($432)) { + HEAP32[$1>>2] = 18; + break; + } + $433 = HEAP32[$3>>2]|0; + $434 = (_strcmp($433,23044)|0); + $435 = ($434|0)!=(0); + if (!($435)) { + HEAP32[$1>>2] = 19; + break; + } + $436 = HEAP32[$3>>2]|0; + $437 = (_strcmp($436,23055)|0); + $438 = ($437|0)!=(0); + if (!($438)) { + HEAP32[$1>>2] = 20; + break; + } + $439 = HEAP32[$3>>2]|0; + $440 = (_strcmp($439,23063)|0); + $441 = ($440|0)!=(0); + if (!($441)) { + HEAP32[$1>>2] = 3; + break; + } + $442 = HEAP32[$3>>2]|0; + $443 = (_strcmp($442,23075)|0); + $444 = ($443|0)!=(0); + if (!($444)) { + HEAP32[$1>>2] = 21; + break; + } + $445 = HEAP32[$3>>2]|0; + $446 = (_strcmp($445,23090)|0); + $447 = ($446|0)!=(0); + if (!($447)) { + HEAP32[$1>>2] = 22; + break; + } + $448 = HEAP32[$3>>2]|0; + $449 = (_strcmp($448,23102)|0); + $450 = ($449|0)!=(0); + if (!($450)) { + HEAP32[$1>>2] = 23; + break; + } + $451 = HEAP32[$3>>2]|0; + $452 = (_strcmp($451,23116)|0); + $453 = ($452|0)!=(0); + if (!($453)) { + HEAP32[$1>>2] = 11; + break; + } + $454 = HEAP32[$3>>2]|0; + $455 = (_strcmp($454,23141)|0); + $456 = ($455|0)!=(0); + if (!($456)) { + HEAP32[$1>>2] = 24; + break; + } + $457 = HEAP32[$3>>2]|0; + $458 = (_strcmp($457,23158)|0); + $459 = ($458|0)!=(0); + if (!($459)) { + HEAP32[$1>>2] = 25; + break; + } + $460 = HEAP32[$3>>2]|0; + $461 = (_strcmp($460,23174)|0); + $462 = ($461|0)!=(0); + if (!($462)) { + HEAP32[$1>>2] = 26; + break; + } + $463 = HEAP32[$3>>2]|0; + $464 = (_strcmp($463,23190)|0); + $465 = ($464|0)!=(0); + if (!($465)) { + HEAP32[$1>>2] = 12; + break; + } + $466 = HEAP32[$3>>2]|0; + $467 = (_strcmp($466,23202)|0); + $468 = ($467|0)!=(0); + if (!($468)) { + HEAP32[$1>>2] = 34; + break; + } + $469 = HEAP32[$3>>2]|0; + $470 = (_strcmp($469,23214)|0); + $471 = ($470|0)!=(0); + if (!($471)) { + HEAP32[$1>>2] = 35; + break; + } + $472 = HEAP32[$3>>2]|0; + $473 = (_strcmp($472,23238)|0); + $474 = ($473|0)!=(0); + if (!($474)) { + HEAP32[$1>>2] = 1; + break; + } + $475 = HEAP32[$3>>2]|0; + $476 = (_strcmp($475,23251)|0); + $477 = ($476|0)!=(0); + if (!($477)) { + HEAP32[$1>>2] = 2; + break; + } + $478 = HEAP32[$3>>2]|0; + $479 = (_strcmp($478,23265)|0); + $480 = ($479|0)!=(0); + if (!($480)) { + HEAP32[$1>>2] = 36; + break; + } + $481 = HEAP32[$3>>2]|0; + $482 = (_strcmp($481,23287)|0); + $483 = ($482|0)!=(0); + if (!($483)) { + HEAP32[$1>>2] = 37; + break; + } + $484 = HEAP32[$3>>2]|0; + $485 = (_strcmp($484,23294)|0); + $486 = ($485|0)!=(0); + if (!($486)) { + HEAP32[$1>>2] = 3; + break; + } + $487 = HEAP32[$3>>2]|0; + $488 = (_strcmp($487,23310)|0); + $489 = ($488|0)!=(0); + if (!($489)) { + HEAP32[$1>>2] = 2; + break; + } + $490 = HEAP32[$3>>2]|0; + $491 = (_strcmp($490,23327)|0); + $492 = ($491|0)!=(0); + if (!($492)) { + HEAP32[$1>>2] = 1; + break; + } + $493 = HEAP32[$3>>2]|0; + $494 = (_strcmp($493,23344)|0); + $495 = ($494|0)!=(0); + if (!($495)) { + HEAP32[$1>>2] = 28; + break; + } + $496 = HEAP32[$3>>2]|0; + $497 = (_strcmp($496,23360)|0); + $498 = ($497|0)!=(0); + if (!($498)) { + HEAP32[$1>>2] = 1; + break; + } + $499 = HEAP32[$3>>2]|0; + $500 = (_strcmp($499,23376)|0); + $501 = ($500|0)!=(0); + if (!($501)) { + HEAP32[$1>>2] = 4; + break; + } + $502 = HEAP32[$3>>2]|0; + $503 = (_strcmp($502,23393)|0); + $504 = ($503|0)!=(0); + if (!($504)) { + HEAP32[$1>>2] = 29; + break; + } + $505 = HEAP32[$3>>2]|0; + $506 = (_strcmp($505,23407)|0); + $507 = ($506|0)!=(0); + if (!($507)) { + HEAP32[$1>>2] = 30; + break; + } + $508 = HEAP32[$3>>2]|0; + $509 = (_strcmp($508,23419)|0); + $510 = ($509|0)!=(0); + if (!($510)) { + HEAP32[$1>>2] = 22; + break; + } + $511 = HEAP32[$3>>2]|0; + $512 = (_strcmp($511,23430)|0); + $513 = ($512|0)!=(0); + if (!($513)) { + HEAP32[$1>>2] = 2; + break; + } + $514 = HEAP32[$3>>2]|0; + $515 = (_strcmp($514,23443)|0); + $516 = ($515|0)!=(0); + if (!($516)) { + HEAP32[$1>>2] = 23; + break; + } + $517 = HEAP32[$3>>2]|0; + $518 = (_strcmp($517,23453)|0); + $519 = ($518|0)!=(0); + if (!($519)) { + HEAP32[$1>>2] = 2; + break; + } + $520 = HEAP32[$3>>2]|0; + $521 = (_strcmp($520,23470)|0); + $522 = ($521|0)!=(0); + if (!($522)) { + HEAP32[$1>>2] = 24; + break; + } + $523 = HEAP32[$3>>2]|0; + $524 = (_strcmp($523,23482)|0); + $525 = ($524|0)!=(0); + if (!($525)) { + HEAP32[$1>>2] = 25; + break; + } + $526 = HEAP32[$3>>2]|0; + $527 = (_strcmp($526,23504)|0); + $528 = ($527|0)!=(0); + if (!($528)) { + HEAP32[$1>>2] = 26; + break; + } + $529 = HEAP32[$3>>2]|0; + $530 = (_strcmp($529,23524)|0); + $531 = ($530|0)!=(0); + if (!($531)) { + HEAP32[$1>>2] = 3; + break; + } + $532 = HEAP32[$3>>2]|0; + $533 = (_strcmp($532,23537)|0); + $534 = ($533|0)!=(0); + if (!($534)) { + HEAP32[$1>>2] = 27; + break; + } + $535 = HEAP32[$3>>2]|0; + $536 = (_strcmp($535,23559)|0); + $537 = ($536|0)!=(0); + if (!($537)) { + HEAP32[$1>>2] = 28; + break; + } + $538 = HEAP32[$3>>2]|0; + $539 = (_strcmp($538,23579)|0); + $540 = ($539|0)!=(0); + if (!($540)) { + HEAP32[$1>>2] = 2; + break; + } + $541 = HEAP32[$3>>2]|0; + $542 = (_strcmp($541,23596)|0); + $543 = ($542|0)!=(0); + if (!($543)) { + HEAP32[$1>>2] = 2; + break; + } + $544 = HEAP32[$3>>2]|0; + $545 = (_strcmp($544,23613)|0); + $546 = ($545|0)!=(0); + if (!($546)) { + HEAP32[$1>>2] = 3; + break; + } + $547 = HEAP32[$3>>2]|0; + $548 = (_strcmp($547,23633)|0); + $549 = ($548|0)!=(0); + if ($549) { + $550 = HEAP32[$2>>2]|0; + $551 = HEAP32[$3>>2]|0; + $552 = _emscripten_asm_const_iii(0, ($550|0), ($551|0))|0; + HEAP32[$1>>2] = 0; + break; + } else { + HEAP32[$1>>2] = 38; + break; + } + } else { + HEAP32[$1>>2] = 6; + } + } while(0); + $553 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($553|0); +} +function _emscripten_get_global_libc() { + var label = 0, sp = 0; + sp = STACKTOP; + return (33204|0); +} +function ___stdio_close($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $vararg_buffer = sp; + $1 = ((($0)) + 60|0); + $2 = HEAP32[$1>>2]|0; + $3 = (_dummy_738($2)|0); + HEAP32[$vararg_buffer>>2] = $3; + $4 = (___syscall6(6,($vararg_buffer|0))|0); + $5 = (___syscall_ret($4)|0); + STACKTOP = sp;return ($5|0); +} +function ___stdio_write($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$0 = 0, $$04756 = 0, $$04855 = 0, $$04954 = 0, $$051 = 0, $$1 = 0, $$150 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0; + var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0; + var $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer3 = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr6 = 0; + var $vararg_ptr7 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0); + $vararg_buffer3 = sp + 16|0; + $vararg_buffer = sp; + $3 = sp + 32|0; + $4 = ((($0)) + 28|0); + $5 = HEAP32[$4>>2]|0; + HEAP32[$3>>2] = $5; + $6 = ((($3)) + 4|0); + $7 = ((($0)) + 20|0); + $8 = HEAP32[$7>>2]|0; + $9 = (($8) - ($5))|0; + HEAP32[$6>>2] = $9; + $10 = ((($3)) + 8|0); + HEAP32[$10>>2] = $1; + $11 = ((($3)) + 12|0); + HEAP32[$11>>2] = $2; + $12 = (($9) + ($2))|0; + $13 = ((($0)) + 60|0); + $14 = HEAP32[$13>>2]|0; + $15 = $3; + HEAP32[$vararg_buffer>>2] = $14; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $15; + $vararg_ptr2 = ((($vararg_buffer)) + 8|0); + HEAP32[$vararg_ptr2>>2] = 2; + $16 = (___syscall146(146,($vararg_buffer|0))|0); + $17 = (___syscall_ret($16)|0); + $18 = ($12|0)==($17|0); + L1: do { + if ($18) { + label = 3; + } else { + $$04756 = 2;$$04855 = $12;$$04954 = $3;$26 = $17; + while(1) { + $25 = ($26|0)<(0); if ($25) { break; } - $26 = HEAP32[$16>>2]|0; - $27 = (((((($z)) + 17820|0) + (($k$023*72)|0)|0)) + 4|0); - $28 = HEAP32[$27>>2]|0; - $29 = (($26|0) / ($28|0))&-1; - $30 = (((($res_comp) + ($k$023<<5)|0)) + 12|0); - HEAP32[$30>>2] = $29; - $31 = HEAP32[$17>>2]|0; - $32 = (((((($z)) + 17820|0) + (($k$023*72)|0)|0)) + 8|0); - $33 = HEAP32[$32>>2]|0; - $34 = (($31|0) / ($33|0))&-1; - $35 = (((($res_comp) + ($k$023<<5)|0)) + 16|0); - HEAP32[$35>>2] = $34; - $36 = $34 >> 1; - $37 = (((($res_comp) + ($k$023<<5)|0)) + 24|0); - HEAP32[$37>>2] = $36; - $38 = HEAP32[$z>>2]|0; - $39 = HEAP32[$38>>2]|0; - $40 = HEAP32[$30>>2]|0; - $41 = (($39) + -1)|0; - $42 = (($41) + ($40))|0; - $43 = (($42>>>0) / ($40>>>0))&-1; - $44 = (((($res_comp) + ($k$023<<5)|0)) + 20|0); - HEAP32[$44>>2] = $43; - $45 = (((($res_comp) + ($k$023<<5)|0)) + 28|0); - HEAP32[$45>>2] = 0; - $46 = (((((($z)) + 17820|0) + (($k$023*72)|0)|0)) + 44|0); - $47 = HEAP32[$46>>2]|0; - $48 = (((($res_comp) + ($k$023<<5)|0)) + 8|0); - HEAP32[$48>>2] = $47; - $49 = (((($res_comp) + ($k$023<<5)|0)) + 4|0); - HEAP32[$49>>2] = $47; - $50 = HEAP32[$30>>2]|0; - $51 = ($50|0)==(1); - do { - if ($51) { - $52 = HEAP32[$35>>2]|0; - $53 = ($52|0)==(1); - if ($53) { - HEAP32[$19>>2] = 2; - break; - } - $$pr = HEAP32[$30>>2]|0; - $54 = ($$pr|0)==(1); - if ($54) { - $55 = HEAP32[$35>>2]|0; - $56 = ($55|0)==(2); - if ($56) { - HEAP32[$19>>2] = 3; - } else { - label = 17; - } - } else { - $57 = $$pr; - label = 18; - } - } else { - label = 17; - } - } while(0); - if ((label|0) == 17) { - label = 0; - $$pr5 = HEAP32[$30>>2]|0; - $57 = $$pr5; - label = 18; - } - do { - if ((label|0) == 18) { - label = 0; - $58 = ($57|0)==(2); - if ($58) { - $59 = HEAP32[$35>>2]|0; - $60 = ($59|0)==(1); - if ($60) { - HEAP32[$19>>2] = 4; - break; - } - } - $61 = HEAP32[$30>>2]|0; - $62 = ($61|0)==(2); - if ($62) { - $63 = HEAP32[$35>>2]|0; - $64 = ($63|0)==(2); - if ($64) { - $65 = HEAP32[$18>>2]|0; - HEAP32[$19>>2] = $65; - break; - } - } - HEAP32[$19>>2] = 5; - } - } while(0); - $66 = (($k$023) + 1)|0; - $67 = ($66|0)<($$|0); - if ($67) { - $k$023 = $66; + $34 = (($$04855) - ($26))|0; + $35 = ((($$04954)) + 4|0); + $36 = HEAP32[$35>>2]|0; + $37 = ($26>>>0)>($36>>>0); + $38 = ((($$04954)) + 8|0); + $$150 = $37 ? $38 : $$04954; + $39 = $37 << 31 >> 31; + $$1 = (($39) + ($$04756))|0; + $40 = $37 ? $36 : 0; + $$0 = (($26) - ($40))|0; + $41 = HEAP32[$$150>>2]|0; + $42 = (($41) + ($$0)|0); + HEAP32[$$150>>2] = $42; + $43 = ((($$150)) + 4|0); + $44 = HEAP32[$43>>2]|0; + $45 = (($44) - ($$0))|0; + HEAP32[$43>>2] = $45; + $46 = HEAP32[$13>>2]|0; + $47 = $$150; + HEAP32[$vararg_buffer3>>2] = $46; + $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); + HEAP32[$vararg_ptr6>>2] = $47; + $vararg_ptr7 = ((($vararg_buffer3)) + 8|0); + HEAP32[$vararg_ptr7>>2] = $$1; + $48 = (___syscall146(146,($vararg_buffer3|0))|0); + $49 = (___syscall_ret($48)|0); + $50 = ($34|0)==($49|0); + if ($50) { + label = 3; + break L1; } else { - label = 26; - break L12; + $$04756 = $$1;$$04855 = $34;$$04954 = $$150;$26 = $49; } } - _stbi__cleanup_jpeg($z); - _stbi__err(25000); - $$0 = 0; - } else { - label = 26; - } - } while(0); - do { - if ((label|0) == 26) { - $68 = HEAP32[$z>>2]|0; - $69 = HEAP32[$68>>2]|0; - $70 = Math_imul($69, $13)|0; - $71 = ((($68)) + 4|0); - $72 = HEAP32[$71>>2]|0; - $73 = Math_imul($70, $72)|0; - $74 = (($73) + 1)|0; - $75 = (_stbi__malloc($74)|0); - $76 = ($75|0)==(0|0); - if ($76) { - _stbi__cleanup_jpeg($z); - _stbi__err(25000); - $$0 = 0; - break; - } - $77 = HEAP32[$z>>2]|0; - $78 = ((($77)) + 4|0); - $79 = HEAP32[$78>>2]|0; - $80 = ($79|0)==(0); - if (!($80)) { - $81 = ($$|0)>(0); - $82 = ($13|0)>(2); - $83 = ((($z)) + 18180|0); - $84 = ((($coutput)) + 4|0); - $85 = ((($coutput)) + 8|0); - $86 = ($13|0)==(1); - $88 = $77;$j$020 = 0; - while(1) { - $87 = HEAP32[$88>>2]|0; - $89 = Math_imul($j$020, $13)|0; - $90 = Math_imul($89, $87)|0; - $91 = (($75) + ($90)|0); - if ($81) { - $k$111 = 0; - while(1) { - $92 = (((($res_comp) + ($k$111<<5)|0)) + 24|0); - $93 = HEAP32[$92>>2]|0; - $94 = (((($res_comp) + ($k$111<<5)|0)) + 16|0); - $95 = HEAP32[$94>>2]|0; - $96 = $95 >> 1; - $97 = ($93|0)>=($96|0); - $98 = (($res_comp) + ($k$111<<5)|0); - $99 = HEAP32[$98>>2]|0; - $100 = (((((($z)) + 17820|0) + (($k$111*72)|0)|0)) + 56|0); - $101 = HEAP32[$100>>2]|0; - $102 = (((($res_comp) + ($k$111<<5)|0)) + 8|0); - $103 = (((($res_comp) + ($k$111<<5)|0)) + 4|0); - $$in = $97 ? $102 : $103; - $104 = HEAP32[$$in>>2]|0; - $$in4 = $97 ? $103 : $102; - $105 = HEAP32[$$in4>>2]|0; - $106 = (((($res_comp) + ($k$111<<5)|0)) + 20|0); - $107 = HEAP32[$106>>2]|0; - $108 = (((($res_comp) + ($k$111<<5)|0)) + 12|0); - $109 = HEAP32[$108>>2]|0; - $110 = (FUNCTION_TABLE_iiiiii[$99 & 7]($101,$104,$105,$107,$109)|0); - $111 = (($coutput) + ($k$111<<2)|0); - HEAP32[$111>>2] = $110; - $112 = HEAP32[$92>>2]|0; - $113 = (($112) + 1)|0; - HEAP32[$92>>2] = $113; - $114 = HEAP32[$94>>2]|0; - $115 = ($113|0)<($114|0); - if (!($115)) { - HEAP32[$92>>2] = 0; - $116 = HEAP32[$102>>2]|0; - HEAP32[$103>>2] = $116; - $117 = (((($res_comp) + ($k$111<<5)|0)) + 28|0); - $118 = HEAP32[$117>>2]|0; - $119 = (($118) + 1)|0; - HEAP32[$117>>2] = $119; - $120 = (((((($z)) + 17820|0) + (($k$111*72)|0)|0)) + 32|0); - $121 = HEAP32[$120>>2]|0; - $122 = ($119|0)<($121|0); - if ($122) { - $123 = (((((($z)) + 17820|0) + (($k$111*72)|0)|0)) + 36|0); - $124 = HEAP32[$123>>2]|0; - $125 = HEAP32[$102>>2]|0; - $126 = (($125) + ($124)|0); - HEAP32[$102>>2] = $126; - } - } - $127 = (($k$111) + 1)|0; - $exitcond = ($127|0)==($$|0); - if ($exitcond) { - break; - } else { - $k$111 = $127; - } - } - } - $128 = HEAP32[$coutput>>2]|0; - $129 = HEAP32[$z>>2]|0; - do { - if ($82) { - $130 = ((($129)) + 8|0); - $131 = HEAP32[$130>>2]|0; - $132 = ($131|0)==(3); - if ($132) { - $136 = HEAP32[$83>>2]|0; - $137 = HEAP32[$84>>2]|0; - $138 = HEAP32[$85>>2]|0; - $139 = HEAP32[$129>>2]|0; - FUNCTION_TABLE_viiiiii[$136 & 3]($91,$128,$137,$138,$139,$13); - break; - } - $133 = HEAP32[$z>>2]|0; - $134 = HEAP32[$133>>2]|0; - $135 = ($134|0)==(0); - if (!($135)) { - $i$018 = 0;$out$017 = $91; - while(1) { - $140 = (($128) + ($i$018)|0); - $141 = HEAP8[$140>>0]|0; - $142 = ((($out$017)) + 2|0); - HEAP8[$142>>0] = $141; - $143 = ((($out$017)) + 1|0); - HEAP8[$143>>0] = $141; - HEAP8[$out$017>>0] = $141; - $144 = ((($out$017)) + 3|0); - HEAP8[$144>>0] = -1; - $145 = (($out$017) + ($13)|0); - $146 = (($i$018) + 1)|0; - $147 = HEAP32[$z>>2]|0; - $148 = HEAP32[$147>>2]|0; - $149 = ($146>>>0)<($148>>>0); - if ($149) { - $i$018 = $146;$out$017 = $145; - } else { - break; - } - } - } - } else { - $150 = HEAP32[$129>>2]|0; - $151 = ($150|0)==(0); - if ($86) { - if ($151) { - break; - } else { - $i$115 = 0; - } - while(1) { - $152 = (($128) + ($i$115)|0); - $153 = HEAP8[$152>>0]|0; - $$sum = (($i$115) + ($90))|0; - $154 = (($75) + ($$sum)|0); - HEAP8[$154>>0] = $153; - $155 = (($i$115) + 1)|0; - $156 = HEAP32[$z>>2]|0; - $157 = HEAP32[$156>>2]|0; - $158 = ($155>>>0)<($157>>>0); - if ($158) { - $i$115 = $155; - } else { - break; - } - } - } else { - if ($151) { - break; - } else { - $i$213 = 0;$out$112 = $91; - } - while(1) { - $159 = (($128) + ($i$213)|0); - $160 = HEAP8[$159>>0]|0; - $161 = ((($out$112)) + 1|0); - HEAP8[$out$112>>0] = $160; - $162 = ((($out$112)) + 2|0); - HEAP8[$161>>0] = -1; - $163 = (($i$213) + 1)|0; - $164 = HEAP32[$z>>2]|0; - $165 = HEAP32[$164>>2]|0; - $166 = ($163>>>0)<($165>>>0); - if ($166) { - $i$213 = $163;$out$112 = $162; - } else { - break; - } - } - } - } - } while(0); - $167 = (($j$020) + 1)|0; - $168 = HEAP32[$z>>2]|0; - $169 = ((($168)) + 4|0); - $170 = HEAP32[$169>>2]|0; - $171 = ($167>>>0)<($170>>>0); - if ($171) { - $88 = $168;$j$020 = $167; - } else { - break; - } - } - } - _stbi__cleanup_jpeg($z); - $172 = HEAP32[$z>>2]|0; - $173 = HEAP32[$172>>2]|0; - HEAP32[$out_x>>2] = $173; - $174 = HEAP32[$z>>2]|0; - $175 = ((($174)) + 4|0); - $176 = HEAP32[$175>>2]|0; - HEAP32[$out_y>>2] = $176; - $177 = ($comp|0)==(0|0); - if ($177) { - $$0 = $75; - } else { - $178 = HEAP32[$z>>2]|0; - $179 = ((($178)) + 8|0); - $180 = HEAP32[$179>>2]|0; - HEAP32[$comp>>2] = $180; - $$0 = $75; - } - } - } while(0); - $$1 = $$0; - STACKTOP = sp;return ($$1|0); -} -function _stbi__decode_jpeg_image($j) { - $j = $j|0; - var $$0 = 0, $$sink = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; - var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($j)) + 17868|0); - HEAP32[$0>>2] = 0; - $1 = ((($j)) + 17872|0); - HEAP32[$1>>2] = 0; - $2 = ((($j)) + 17940|0); - HEAP32[$2>>2] = 0; - $3 = ((($j)) + 17944|0); - HEAP32[$3>>2] = 0; - $4 = ((($j)) + 18012|0); - HEAP32[$4>>2] = 0; - $5 = ((($j)) + 18016|0); - HEAP32[$5>>2] = 0; - $6 = ((($j)) + 18084|0); - HEAP32[$6>>2] = 0; - $7 = ((($j)) + 18088|0); - HEAP32[$7>>2] = 0; - $8 = ((($j)) + 18168|0); - HEAP32[$8>>2] = 0; - $9 = (_stbi__decode_jpeg_header($j,0)|0); - $10 = ($9|0)==(0); - if ($10) { - $$0 = 0; - return ($$0|0); - } - $11 = (_stbi__get_marker($j)|0); - $12 = ((($j)) + 18116|0); - $$sink = $11; - L4: while(1) { - $13 = $$sink&255; - L6: do { - if ((($13|0) == 218)) { - $14 = (_stbi__process_scan_header($j)|0); - $15 = ($14|0)==(0); - if ($15) { - $$0 = 0; - label = 15; - break L4; - } - $16 = (_stbi__parse_entropy_coded_data($j)|0); - $17 = ($16|0)==(0); - if ($17) { - $$0 = 0; - label = 15; - break L4; - } - $18 = HEAP8[$12>>0]|0; - $19 = ($18<<24>>24)==(-1); - if ($19) { - while(1) { - $20 = HEAP32[$j>>2]|0; - $21 = (_stbi__at_eof($20)|0); - $22 = ($21|0)==(0); - if (!($22)) { - break L6; - } - $23 = HEAP32[$j>>2]|0; - $24 = (_stbi__get8($23)|0); - if ((($24<<24>>24) == -1)) { - break; - } else if (!((($24<<24>>24) == 0))) { - label = 10; - break L4; - } - } - $25 = HEAP32[$j>>2]|0; - $26 = (_stbi__get8($25)|0); - HEAP8[$12>>0] = $26; - } - } else if ((($13|0) == 217)) { - label = 13; - break L4; - } else { - $27 = (_stbi__process_marker($j,$13)|0); - $28 = ($27|0)==(0); - if ($28) { - $$0 = 0; - label = 15; - break L4; - } - } - } while(0); - $29 = (_stbi__get_marker($j)|0); - $$sink = $29; - } - if ((label|0) == 10) { - _stbi__err(27640); - $$0 = 0; - return ($$0|0); - } - else if ((label|0) == 13) { - $30 = ((($j)) + 18124|0); - $31 = HEAP32[$30>>2]|0; - $32 = ($31|0)==(0); - if ($32) { - $$0 = 1; - return ($$0|0); - } - _stbi__jpeg_finish($j); - $$0 = 1; - return ($$0|0); - } - else if ((label|0) == 15) { - return ($$0|0); - } - return (0)|0; -} -function _stbi__cleanup_jpeg($j) { - $j = $j|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; - var $i$01 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[$j>>2]|0; - $1 = ((($0)) + 8|0); - $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)>(0); - if ($3) { - $i$01 = 0; - } else { - return; - } - while(1) { - $4 = (((((($j)) + 17820|0) + (($i$01*72)|0)|0)) + 48|0); - $5 = HEAP32[$4>>2]|0; - $6 = ($5|0)==(0|0); - if (!($6)) { - _free($5); + $27 = ((($0)) + 16|0); + HEAP32[$27>>2] = 0; HEAP32[$4>>2] = 0; - $7 = (((((($j)) + 17820|0) + (($i$01*72)|0)|0)) + 44|0); HEAP32[$7>>2] = 0; - } - $8 = (((((($j)) + 17820|0) + (($i$01*72)|0)|0)) + 52|0); - $9 = HEAP32[$8>>2]|0; - $10 = ($9|0)==(0|0); - if (!($10)) { - _free($9); - HEAP32[$8>>2] = 0; - $11 = (((((($j)) + 17820|0) + (($i$01*72)|0)|0)) + 60|0); - HEAP32[$11>>2] = 0; - } - $12 = (((((($j)) + 17820|0) + (($i$01*72)|0)|0)) + 56|0); - $13 = HEAP32[$12>>2]|0; - $14 = ($13|0)==(0|0); - if (!($14)) { - _free($13); - HEAP32[$12>>2] = 0; - } - $15 = (($i$01) + 1)|0; - $16 = HEAP32[$j>>2]|0; - $17 = ((($16)) + 8|0); - $18 = HEAP32[$17>>2]|0; - $19 = ($15|0)<($18|0); - if ($19) { - $i$01 = $15; - } else { - break; - } - } - return; -} -function _resample_row_1($out,$in_near,$in_far,$w,$hs) { - $out = $out|0; - $in_near = $in_near|0; - $in_far = $in_far|0; - $w = $w|0; - $hs = $hs|0; - var label = 0, sp = 0; - sp = STACKTOP; - return ($in_near|0); -} -function _stbi__resample_row_v_2($out,$in_near,$in_far,$w,$hs) { - $out = $out|0; - $in_near = $in_near|0; - $in_far = $in_far|0; - $w = $w|0; - $hs = $hs|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $i$01 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ($w|0)>(0); - if ($0) { - $i$01 = 0; - } else { - return ($out|0); - } - while(1) { - $1 = (($in_near) + ($i$01)|0); - $2 = HEAP8[$1>>0]|0; - $3 = $2&255; - $4 = ($3*3)|0; - $5 = (($in_far) + ($i$01)|0); - $6 = HEAP8[$5>>0]|0; - $7 = $6&255; - $8 = (($7) + 2)|0; - $9 = (($8) + ($4))|0; - $10 = $9 >>> 2; - $11 = $10&255; - $12 = (($out) + ($i$01)|0); - HEAP8[$12>>0] = $11; - $13 = (($i$01) + 1)|0; - $exitcond = ($13|0)==($w|0); - if ($exitcond) { - break; - } else { - $i$01 = $13; - } - } - return ($out|0); -} -function _stbi__resample_row_h_2($out,$in_near,$in_far,$w,$hs) { - $out = $out|0; - $in_near = $in_near|0; - $in_far = $in_far|0; - $w = $w|0; - $hs = $hs|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $i$0$lcssa = 0, $i$01 = 0, $phitmp = 0; - var label = 0, sp = 0; - sp = STACKTOP; - $0 = ($w|0)==(1); - $1 = HEAP8[$in_near>>0]|0; - if ($0) { - $2 = ((($out)) + 1|0); - HEAP8[$2>>0] = $1; - HEAP8[$out>>0] = $1; - return ($out|0); - } - HEAP8[$out>>0] = $1; - $3 = HEAP8[$in_near>>0]|0; - $4 = $3&255; - $5 = ($4*3)|0; - $6 = ((($in_near)) + 1|0); - $7 = HEAP8[$6>>0]|0; - $8 = $7&255; - $9 = (($8) + 2)|0; - $10 = (($9) + ($5))|0; - $11 = $10 >>> 2; - $12 = $11&255; - $13 = ((($out)) + 1|0); - HEAP8[$13>>0] = $12; - $14 = (($w) + -1)|0; - $15 = ($14|0)>(1); - if ($15) { - $16 = (($w) + -1)|0; - $i$01 = 1; - while(1) { - $17 = (($in_near) + ($i$01)|0); - $18 = HEAP8[$17>>0]|0; - $19 = $18&255; - $20 = ($19*3)|0; - $21 = (($20) + 2)|0; - $22 = (($i$01) + -1)|0; - $23 = (($in_near) + ($22)|0); - $24 = HEAP8[$23>>0]|0; - $25 = $24&255; - $26 = (($21) + ($25))|0; - $27 = $26 >>> 2; - $28 = $27&255; - $29 = $i$01 << 1; - $30 = (($out) + ($29)|0); - HEAP8[$30>>0] = $28; - $31 = (($i$01) + 1)|0; - $32 = (($in_near) + ($31)|0); - $33 = HEAP8[$32>>0]|0; - $34 = $33&255; - $35 = (($21) + ($34))|0; - $36 = $35 >>> 2; - $37 = $36&255; - $38 = $29 | 1; - $39 = (($out) + ($38)|0); - HEAP8[$39>>0] = $37; - $exitcond = ($31|0)==($16|0); - if ($exitcond) { - break; + $28 = HEAP32[$0>>2]|0; + $29 = $28 | 32; + HEAP32[$0>>2] = $29; + $30 = ($$04756|0)==(2); + if ($30) { + $$051 = 0; } else { - $i$01 = $31; + $31 = ((($$04954)) + 4|0); + $32 = HEAP32[$31>>2]|0; + $33 = (($2) - ($32))|0; + $$051 = $33; } } - $phitmp = $16 << 1; - $i$0$lcssa = $phitmp; + } while(0); + if ((label|0) == 3) { + $19 = ((($0)) + 44|0); + $20 = HEAP32[$19>>2]|0; + $21 = ((($0)) + 48|0); + $22 = HEAP32[$21>>2]|0; + $23 = (($20) + ($22)|0); + $24 = ((($0)) + 16|0); + HEAP32[$24>>2] = $23; + HEAP32[$4>>2] = $20; + HEAP32[$7>>2] = $20; + $$051 = $2; + } + STACKTOP = sp;return ($$051|0); +} +function ___stdio_seek($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$pre = 0, $10 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, $vararg_ptr4 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $vararg_buffer = sp; + $3 = sp + 20|0; + $4 = ((($0)) + 60|0); + $5 = HEAP32[$4>>2]|0; + $6 = $3; + HEAP32[$vararg_buffer>>2] = $5; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = 0; + $vararg_ptr2 = ((($vararg_buffer)) + 8|0); + HEAP32[$vararg_ptr2>>2] = $1; + $vararg_ptr3 = ((($vararg_buffer)) + 12|0); + HEAP32[$vararg_ptr3>>2] = $6; + $vararg_ptr4 = ((($vararg_buffer)) + 16|0); + HEAP32[$vararg_ptr4>>2] = $2; + $7 = (___syscall140(140,($vararg_buffer|0))|0); + $8 = (___syscall_ret($7)|0); + $9 = ($8|0)<(0); + if ($9) { + HEAP32[$3>>2] = -1; + $10 = -1; } else { - $i$0$lcssa = 2; + $$pre = HEAP32[$3>>2]|0; + $10 = $$pre; } - $40 = (($w) + -2)|0; - $41 = (($in_near) + ($40)|0); - $42 = HEAP8[$41>>0]|0; - $43 = $42&255; - $44 = ($43*3)|0; - $45 = (($in_near) + ($14)|0); - $46 = HEAP8[$45>>0]|0; - $47 = $46&255; - $48 = (($47) + 2)|0; - $49 = (($48) + ($44))|0; - $50 = $49 >>> 2; - $51 = $50&255; - $52 = (($out) + ($i$0$lcssa)|0); - HEAP8[$52>>0] = $51; - $53 = HEAP8[$45>>0]|0; - $54 = $i$0$lcssa | 1; - $55 = (($out) + ($54)|0); - HEAP8[$55>>0] = $53; - return ($out|0); + STACKTOP = sp;return ($10|0); } -function _stbi__resample_row_generic($out,$in_near,$in_far,$w,$hs) { - $out = $out|0; - $in_near = $in_near|0; - $in_far = $in_far|0; - $w = $w|0; - $hs = $hs|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $exitcond = 0, $exitcond4 = 0, $i$02 = 0, $j$01 = 0, label = 0, sp = 0; +function ___syscall_ret($0) { + $0 = $0|0; + var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = ($w|0)>(0); - if (!($0)) { - return ($out|0); + $1 = ($0>>>0)>(4294963200); + if ($1) { + $2 = (0 - ($0))|0; + $3 = (___errno_location()|0); + HEAP32[$3>>2] = $2; + $$0 = -1; + } else { + $$0 = $0; } - $1 = ($hs|0)>(0); - $i$02 = 0; - while(1) { - if ($1) { - $2 = (($in_near) + ($i$02)|0); - $3 = Math_imul($i$02, $hs)|0; - $j$01 = 0; - while(1) { - $4 = HEAP8[$2>>0]|0; - $5 = (($j$01) + ($3))|0; - $6 = (($out) + ($5)|0); - HEAP8[$6>>0] = $4; - $7 = (($j$01) + 1)|0; - $exitcond = ($7|0)==($hs|0); - if ($exitcond) { - break; - } else { - $j$01 = $7; - } - } - } - $8 = (($i$02) + 1)|0; - $exitcond4 = ($8|0)==($w|0); - if ($exitcond4) { - break; - } else { - $i$02 = $8; - } - } - return ($out|0); -} -function _stbi__process_scan_header($z) { - $z = $z|0; - var $$0 = 0, $$lcssa = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; - var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0; - var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0; - var $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0; - var $8 = 0, $9 = 0, $i$010 = 0, $or$cond1 = 0, $or$cond2 = 0, $which$0$lcssa = 0, $which$07 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[$z>>2]|0; - $1 = (_stbi__get16be($0)|0); - $2 = HEAP32[$z>>2]|0; - $3 = (_stbi__get8($2)|0); - $4 = $3&255; - $5 = ((($z)) + 18148|0); - HEAP32[$5>>2] = $4; - $6 = (($3) + -1)<<24>>24; - $7 = ($6&255)>(3); - if (!($7)) { - $8 = HEAP32[$z>>2]|0; - $9 = ((($8)) + 8|0); - $10 = HEAP32[$9>>2]|0; - $11 = ($4|0)>($10|0); - if (!($11)) { - $12 = $4 << 1; - $13 = (($12) + 6)|0; - $14 = ($1|0)==($13|0); - if (!($14)) { - _stbi__err(28048); - $$0 = 0; - return ($$0|0); - } - $15 = HEAP32[$5>>2]|0; - $16 = ($15|0)>(0); - $17 = HEAP32[$z>>2]|0; - $18 = (_stbi__get8($17)|0); - $19 = $18&255; - L8: do { - if ($16) { - $30 = $19;$i$010 = 0; - while(1) { - $20 = HEAP32[$z>>2]|0; - $21 = (_stbi__get8($20)|0); - $22 = $21&255; - $23 = HEAP32[$z>>2]|0; - $24 = ((($23)) + 8|0); - $25 = HEAP32[$24>>2]|0; - $26 = ($25|0)>(0); - L11: do { - if ($26) { - $which$07 = 0; - while(1) { - $27 = (((($z)) + 17820|0) + (($which$07*72)|0)|0); - $28 = HEAP32[$27>>2]|0; - $29 = ($28|0)==($30|0); - if ($29) { - $which$0$lcssa = $which$07; - break L11; - } - $31 = (($which$07) + 1)|0; - $32 = HEAP32[$z>>2]|0; - $33 = ((($32)) + 8|0); - $34 = HEAP32[$33>>2]|0; - $35 = ($31|0)<($34|0); - if ($35) { - $which$07 = $31; - } else { - $which$0$lcssa = $31; - break; - } - } - } else { - $which$0$lcssa = 0; - } - } while(0); - $36 = HEAP32[$z>>2]|0; - $37 = ((($36)) + 8|0); - $38 = HEAP32[$37>>2]|0; - $39 = ($which$0$lcssa|0)==($38|0); - if ($39) { - $$0 = 0; - label = 26; - break; - } - $40 = $22 >>> 4; - $41 = (((((($z)) + 17820|0) + (($which$0$lcssa*72)|0)|0)) + 16|0); - HEAP32[$41>>2] = $40; - $42 = ($21&255)>(63); - if ($42) { - label = 12; - break; - } - $43 = $22 & 15; - $44 = (((((($z)) + 17820|0) + (($which$0$lcssa*72)|0)|0)) + 20|0); - HEAP32[$44>>2] = $43; - $45 = ($43>>>0)>(3); - if ($45) { - label = 14; - break; - } - $46 = (((($z)) + 18152|0) + ($i$010<<2)|0); - HEAP32[$46>>2] = $which$0$lcssa; - $47 = (($i$010) + 1)|0; - $48 = HEAP32[$5>>2]|0; - $49 = ($47|0)<($48|0); - $50 = HEAP32[$z>>2]|0; - $51 = (_stbi__get8($50)|0); - $52 = $51&255; - if ($49) { - $30 = $52;$i$010 = $47; - } else { - $$lcssa = $52; - break L8; - } - } - if ((label|0) == 12) { - _stbi__err(28064); - $$0 = 0; - return ($$0|0); - } - else if ((label|0) == 14) { - _stbi__err(28080); - $$0 = 0; - return ($$0|0); - } - else if ((label|0) == 26) { - return ($$0|0); - } - } else { - $$lcssa = $19; - } - } while(0); - $53 = ((($z)) + 18128|0); - HEAP32[$53>>2] = $$lcssa; - $54 = HEAP32[$z>>2]|0; - $55 = (_stbi__get8($54)|0); - $56 = $55&255; - $57 = ((($z)) + 18132|0); - HEAP32[$57>>2] = $56; - $58 = HEAP32[$z>>2]|0; - $59 = (_stbi__get8($58)|0); - $60 = $59&255; - $61 = $60 >>> 4; - $62 = ((($z)) + 18136|0); - HEAP32[$62>>2] = $61; - $63 = $60 & 15; - $64 = ((($z)) + 18140|0); - HEAP32[$64>>2] = $63; - $65 = ((($z)) + 18124|0); - $66 = HEAP32[$65>>2]|0; - $67 = ($66|0)==(0); - $68 = HEAP32[$53>>2]|0; - if (!($67)) { - $69 = ($68|0)>(63); - if (!($69)) { - $70 = HEAP32[$57>>2]|0; - $71 = ($70|0)>(63); - $72 = ($68|0)>($70|0); - $or$cond1 = $71 | $72; - if (!($or$cond1)) { - $73 = HEAP32[$62>>2]|0; - $74 = ($73|0)>(13); - $75 = ($63>>>0)>(13); - $or$cond2 = $75 | $74; - if (!($or$cond2)) { - $$0 = 1; - return ($$0|0); - } - } - } - _stbi__err(28096); - $$0 = 0; - return ($$0|0); - } - $76 = ($68|0)==(0); - if (!($76)) { - _stbi__err(28096); - $$0 = 0; - return ($$0|0); - } - $77 = HEAP32[$62>>2]|0; - $78 = $77 | $63; - $79 = ($78|0)==(0); - if ($79) { - HEAP32[$57>>2] = 63; - $$0 = 1; - return ($$0|0); - } else { - _stbi__err(28096); - $$0 = 0; - return ($$0|0); - } - } - } - _stbi__err(28024); - $$0 = 0; return ($$0|0); } -function _stbi__parse_entropy_coded_data($z) { - $z = $z|0; - var $$0 = 0, $$1 = 0, $$2 = 0, $$sum1 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0; +function ___errno_location() { + var $0 = 0, $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (___pthread_self_108()|0); + $1 = ((($0)) + 64|0); + return ($1|0); +} +function ___pthread_self_108() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (_pthread_self()|0); + return ($0|0); +} +function _pthread_self() { + var label = 0, sp = 0; + sp = STACKTOP; + return (5172|0); +} +function _dummy_738($0) { + $0 = $0|0; + var label = 0, sp = 0; + sp = STACKTOP; + return ($0|0); +} +function ___stdio_read($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $vararg_buffer = sp; + $3 = sp + 16|0; + HEAP32[$3>>2] = $1; + $4 = ((($3)) + 4|0); + $5 = ((($0)) + 48|0); + $6 = HEAP32[$5>>2]|0; + $7 = ($6|0)!=(0); + $8 = $7&1; + $9 = (($2) - ($8))|0; + HEAP32[$4>>2] = $9; + $10 = ((($3)) + 8|0); + $11 = ((($0)) + 44|0); + $12 = HEAP32[$11>>2]|0; + HEAP32[$10>>2] = $12; + $13 = ((($3)) + 12|0); + HEAP32[$13>>2] = $6; + $14 = ((($0)) + 60|0); + $15 = HEAP32[$14>>2]|0; + $16 = $3; + HEAP32[$vararg_buffer>>2] = $15; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $16; + $vararg_ptr2 = ((($vararg_buffer)) + 8|0); + HEAP32[$vararg_ptr2>>2] = 2; + $17 = (___syscall145(145,($vararg_buffer|0))|0); + $18 = (___syscall_ret($17)|0); + $19 = ($18|0)<(1); + if ($19) { + $20 = $18 & 48; + $21 = $20 ^ 16; + $22 = HEAP32[$0>>2]|0; + $23 = $22 | $21; + HEAP32[$0>>2] = $23; + $$0 = $18; + } else { + $24 = HEAP32[$4>>2]|0; + $25 = ($18>>>0)>($24>>>0); + if ($25) { + $26 = (($18) - ($24))|0; + $27 = HEAP32[$11>>2]|0; + $28 = ((($0)) + 4|0); + HEAP32[$28>>2] = $27; + $29 = (($27) + ($26)|0); + $30 = ((($0)) + 8|0); + HEAP32[$30>>2] = $29; + $31 = HEAP32[$5>>2]|0; + $32 = ($31|0)==(0); + if ($32) { + $$0 = $2; + } else { + $33 = ((($27)) + 1|0); + HEAP32[$28>>2] = $33; + $34 = HEAP8[$27>>0]|0; + $35 = (($2) + -1)|0; + $36 = (($1) + ($35)|0); + HEAP8[$36>>0] = $34; + $$0 = $2; + } + } else { + $$0 = $18; + } + } + STACKTOP = sp;return ($$0|0); +} +function ___stdout_write($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $vararg_buffer = sp; + $3 = sp + 16|0; + $4 = ((($0)) + 36|0); + HEAP32[$4>>2] = 2; + $5 = HEAP32[$0>>2]|0; + $6 = $5 & 64; + $7 = ($6|0)==(0); + if ($7) { + $8 = ((($0)) + 60|0); + $9 = HEAP32[$8>>2]|0; + $10 = $3; + HEAP32[$vararg_buffer>>2] = $9; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = 21523; + $vararg_ptr2 = ((($vararg_buffer)) + 8|0); + HEAP32[$vararg_ptr2>>2] = $10; + $11 = (___syscall54(54,($vararg_buffer|0))|0); + $12 = ($11|0)==(0); + if (!($12)) { + $13 = ((($0)) + 75|0); + HEAP8[$13>>0] = -1; + } + } + $14 = (___stdio_write($0,$1,$2)|0); + STACKTOP = sp;return ($14|0); +} +function ___shlim($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$sink = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($0)) + 104|0); + HEAP32[$2>>2] = $1; + $3 = ((($0)) + 8|0); + $4 = HEAP32[$3>>2]|0; + $5 = ((($0)) + 4|0); + $6 = HEAP32[$5>>2]|0; + $7 = $4; + $8 = $6; + $9 = (($7) - ($8))|0; + $10 = ((($0)) + 108|0); + HEAP32[$10>>2] = $9; + $11 = ($1|0)!=(0); + $12 = ($9|0)>($1|0); + $or$cond = $11 & $12; + $13 = (($6) + ($1)|0); + $$sink = $or$cond ? $13 : $4; + $14 = ((($0)) + 100|0); + HEAP32[$14>>2] = $$sink; + return; +} +function ___intscan($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$0154222 = 0, $$0157 = 0, $$0157$ = 0, $$0159 = 0, $$1155192 = 0, $$1158 = 0, $$1160 = 0, $$1160169 = 0, $$1165 = 0, $$1165167 = 0, $$1165168 = 0, $$166 = 0, $$2156210 = 0, $$2161$be = 0, $$2161$lcssa = 0, $$3162$be = 0, $$3162215 = 0, $$4163$be = 0, $$4163$lcssa = 0, $$5$be = 0; + var $$6$be = 0, $$6$lcssa = 0, $$7$be = 0, $$7198 = 0, $$8 = 0, $$9$be = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0; var $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0; var $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0; var $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0; var $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0; - var $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0; - var $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0; - var $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0; - var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0; - var $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0; - var $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0; - var $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $data = 0, $i$023 = 0, $i1$035 = 0, $i13$054 = 0; - var $i6$040 = 0, $j$024 = 0, $j14$057 = 0, $j2$038 = 0, $j7$043 = 0, $k$032 = 0, $k15$051 = 0, $tmp = 0, $tmp5 = 0, $x$026 = 0, $x16$045 = 0, $y$029 = 0, $y17$048 = 0, label = 0, sp = 0; + var $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0; + var $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0; + var $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0; + var $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0; + var $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0; + var $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0; + var $294 = 0, $295 = 0, $296 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0; + var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0; + var $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, $or$cond12 = 0; + var $or$cond187 = 0, $or$cond5 = 0, $or$cond7 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 128|0; - $data = sp; - _stbi__jpeg_reset($z); - $0 = ((($z)) + 18124|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)==(0); - $3 = ((($z)) + 18148|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)==(1); - if ($2) { + $5 = ($1>>>0)>(36); + L1: do { if ($5) { - $6 = ((($z)) + 18152|0); - $7 = HEAP32[$6>>2]|0; - $8 = (((((($z)) + 17820|0) + (($7*72)|0)|0)) + 28|0); - $9 = HEAP32[$8>>2]|0; - $10 = (($9) + 7)|0; - $11 = $10 >> 3; - $12 = (((((($z)) + 17820|0) + (($7*72)|0)|0)) + 32|0); - $13 = HEAP32[$12>>2]|0; - $14 = (($13) + 7)|0; - $15 = $14 >> 3; - $16 = ($15|0)>(0); - L5: do { - if ($16) { - $17 = ($11|0)>(0); - $18 = (((((($z)) + 17820|0) + (($7*72)|0)|0)) + 20|0); - $19 = (((((($z)) + 17820|0) + (($7*72)|0)|0)) + 16|0); - $20 = (((((($z)) + 17820|0) + (($7*72)|0)|0)) + 12|0); - $21 = ((($z)) + 18176|0); - $22 = (((((($z)) + 17820|0) + (($7*72)|0)|0)) + 44|0); - $23 = (((((($z)) + 17820|0) + (($7*72)|0)|0)) + 36|0); - $24 = ((($z)) + 18172|0); - $25 = ((($z)) + 18112|0); - $26 = ((($z)) + 18116|0); - $j$024 = 0; - while(1) { - if ($17) { - $i$023 = 0; + $8 = (___errno_location()|0); + HEAP32[$8>>2] = 22; + $289 = 0;$290 = 0; + } else { + $6 = ((($0)) + 4|0); + $7 = ((($0)) + 100|0); + while(1) { + $9 = HEAP32[$6>>2]|0; + $10 = HEAP32[$7>>2]|0; + $11 = ($9>>>0)<($10>>>0); + if ($11) { + $12 = ((($9)) + 1|0); + HEAP32[$6>>2] = $12; + $13 = HEAP8[$9>>0]|0; + $14 = $13&255; + $16 = $14; + } else { + $15 = (___shgetc($0)|0); + $16 = $15; + } + $17 = (_isspace($16)|0); + $18 = ($17|0)==(0); + if ($18) { + break; + } + } + L11: do { + switch ($16|0) { + case 43: case 45: { + $19 = ($16|0)==(45); + $20 = $19 << 31 >> 31; + $21 = HEAP32[$6>>2]|0; + $22 = HEAP32[$7>>2]|0; + $23 = ($21>>>0)<($22>>>0); + if ($23) { + $24 = ((($21)) + 1|0); + HEAP32[$6>>2] = $24; + $25 = HEAP8[$21>>0]|0; + $26 = $25&255; + $$0157 = $20;$$0159 = $26; + break L11; + } else { + $27 = (___shgetc($0)|0); + $$0157 = $20;$$0159 = $27; + break L11; + } + break; + } + default: { + $$0157 = 0;$$0159 = $16; + } + } + } while(0); + $28 = ($1|0)==(0); + $29 = $1 | 16; + $30 = ($29|0)==(16); + $31 = ($$0159|0)==(48); + $or$cond5 = $30 & $31; + do { + if ($or$cond5) { + $32 = HEAP32[$6>>2]|0; + $33 = HEAP32[$7>>2]|0; + $34 = ($32>>>0)<($33>>>0); + if ($34) { + $35 = ((($32)) + 1|0); + HEAP32[$6>>2] = $35; + $36 = HEAP8[$32>>0]|0; + $37 = $36&255; + $40 = $37; + } else { + $38 = (___shgetc($0)|0); + $40 = $38; + } + $39 = $40 | 32; + $41 = ($39|0)==(120); + if (!($41)) { + if ($28) { + $$1160169 = $40;$$1165168 = 8; + label = 46; + break; + } else { + $$1160 = $40;$$1165 = $1; + label = 32; + break; + } + } + $42 = HEAP32[$6>>2]|0; + $43 = HEAP32[$7>>2]|0; + $44 = ($42>>>0)<($43>>>0); + if ($44) { + $45 = ((($42)) + 1|0); + HEAP32[$6>>2] = $45; + $46 = HEAP8[$42>>0]|0; + $47 = $46&255; + $50 = $47; + } else { + $48 = (___shgetc($0)|0); + $50 = $48; + } + $49 = ((23750) + ($50)|0); + $51 = HEAP8[$49>>0]|0; + $52 = ($51&255)>(15); + if ($52) { + $53 = HEAP32[$7>>2]|0; + $54 = ($53|0)!=(0|0); + if ($54) { + $55 = HEAP32[$6>>2]|0; + $56 = ((($55)) + -1|0); + HEAP32[$6>>2] = $56; + } + $57 = ($2|0)==(0); + if ($57) { + ___shlim($0,0); + $289 = 0;$290 = 0; + break L1; + } + if (!($54)) { + $289 = 0;$290 = 0; + break L1; + } + $58 = HEAP32[$6>>2]|0; + $59 = ((($58)) + -1|0); + HEAP32[$6>>2] = $59; + $289 = 0;$290 = 0; + break L1; + } else { + $$1160169 = $50;$$1165168 = 16; + label = 46; + } + } else { + $$166 = $28 ? 10 : $1; + $60 = ((23750) + ($$0159)|0); + $61 = HEAP8[$60>>0]|0; + $62 = $61&255; + $63 = ($62>>>0)<($$166>>>0); + if ($63) { + $$1160 = $$0159;$$1165 = $$166; + label = 32; + } else { + $64 = HEAP32[$7>>2]|0; + $65 = ($64|0)==(0|0); + if (!($65)) { + $66 = HEAP32[$6>>2]|0; + $67 = ((($66)) + -1|0); + HEAP32[$6>>2] = $67; + } + ___shlim($0,0); + $68 = (___errno_location()|0); + HEAP32[$68>>2] = 22; + $289 = 0;$290 = 0; + break L1; + } + } + } while(0); + L43: do { + if ((label|0) == 32) { + $69 = ($$1165|0)==(10); + if ($69) { + $70 = (($$1160) + -48)|0; + $71 = ($70>>>0)<(10); + if ($71) { + $$0154222 = 0;$74 = $70; while(1) { - $27 = HEAP32[$18>>2]|0; - $28 = HEAP32[$19>>2]|0; - $29 = (((($z)) + 4|0) + (($28*1680)|0)|0); - $30 = (((($z)) + 6724|0) + (($27*1680)|0)|0); - $31 = (((($z)) + 13700|0) + ($27<<10)|0); - $32 = HEAP32[$20>>2]|0; - $33 = (((($z)) + 13444|0) + ($32<<6)|0); - $34 = (_stbi__jpeg_decode_block($z,$data,$29,$30,$31,$7,$33)|0); - $35 = ($34|0)==(0); - if ($35) { - $$0 = 0; - break L5; + $72 = ($$0154222*10)|0; + $73 = (($72) + ($74))|0; + $75 = HEAP32[$6>>2]|0; + $76 = HEAP32[$7>>2]|0; + $77 = ($75>>>0)<($76>>>0); + if ($77) { + $78 = ((($75)) + 1|0); + HEAP32[$6>>2] = $78; + $79 = HEAP8[$75>>0]|0; + $80 = $79&255; + $$2161$be = $80; + } else { + $81 = (___shgetc($0)|0); + $$2161$be = $81; } - $36 = HEAP32[$21>>2]|0; - $37 = HEAP32[$22>>2]|0; - $38 = HEAP32[$23>>2]|0; - $39 = Math_imul($38, $j$024)|0; - $40 = (($39) + ($i$023))|0; - $$sum1 = $40 << 3; - $41 = (($37) + ($$sum1)|0); - FUNCTION_TABLE_viii[$36 & 31]($41,$38,$data); - $42 = HEAP32[$24>>2]|0; - $43 = (($42) + -1)|0; - HEAP32[$24>>2] = $43; - $44 = ($42|0)<(2); - if ($44) { - $45 = HEAP32[$25>>2]|0; - $46 = ($45|0)<(24); - if ($46) { - _stbi__grow_buffer_unsafe($z); - } - $47 = HEAP8[$26>>0]|0; - $48 = $47 & -8; - $49 = ($48<<24>>24)==(-48); - if (!($49)) { - $$0 = 1; - break L5; - } - _stbi__jpeg_reset($z); - } - $50 = (($i$023) + 1)|0; - $51 = ($50|0)<($11|0); - if ($51) { - $i$023 = $50; + $82 = (($$2161$be) + -48)|0; + $83 = ($82>>>0)<(10); + $84 = ($73>>>0)<(429496729); + $85 = $83 & $84; + if ($85) { + $$0154222 = $73;$74 = $82; } else { break; } } + $$2161$lcssa = $$2161$be;$291 = $73;$292 = 0; + } else { + $$2161$lcssa = $$1160;$291 = 0;$292 = 0; } - $52 = (($j$024) + 1)|0; - $53 = ($52|0)<($15|0); - if ($53) { - $j$024 = $52; + $86 = (($$2161$lcssa) + -48)|0; + $87 = ($86>>>0)<(10); + if ($87) { + $$3162215 = $$2161$lcssa;$88 = $291;$89 = $292;$93 = $86; + while(1) { + $90 = (___muldi3(($88|0),($89|0),10,0)|0); + $91 = tempRet0; + $92 = ($93|0)<(0); + $94 = $92 << 31 >> 31; + $95 = $93 ^ -1; + $96 = $94 ^ -1; + $97 = ($91>>>0)>($96>>>0); + $98 = ($90>>>0)>($95>>>0); + $99 = ($91|0)==($96|0); + $100 = $99 & $98; + $101 = $97 | $100; + if ($101) { + $$1165167 = 10;$$8 = $$3162215;$293 = $88;$294 = $89; + label = 72; + break L43; + } + $102 = (_i64Add(($90|0),($91|0),($93|0),($94|0))|0); + $103 = tempRet0; + $104 = HEAP32[$6>>2]|0; + $105 = HEAP32[$7>>2]|0; + $106 = ($104>>>0)<($105>>>0); + if ($106) { + $107 = ((($104)) + 1|0); + HEAP32[$6>>2] = $107; + $108 = HEAP8[$104>>0]|0; + $109 = $108&255; + $$3162$be = $109; + } else { + $110 = (___shgetc($0)|0); + $$3162$be = $110; + } + $111 = (($$3162$be) + -48)|0; + $112 = ($111>>>0)<(10); + $113 = ($103>>>0)<(429496729); + $114 = ($102>>>0)<(2576980378); + $115 = ($103|0)==(429496729); + $116 = $115 & $114; + $117 = $113 | $116; + $or$cond7 = $112 & $117; + if ($or$cond7) { + $$3162215 = $$3162$be;$88 = $102;$89 = $103;$93 = $111; + } else { + break; + } + } + $118 = ($111>>>0)>(9); + if ($118) { + $$1158 = $$0157;$263 = $103;$265 = $102; + } else { + $$1165167 = 10;$$8 = $$3162$be;$293 = $102;$294 = $103; + label = 72; + } + } else { + $$1158 = $$0157;$263 = $292;$265 = $291; + } + } else { + $$1160169 = $$1160;$$1165168 = $$1165; + label = 46; + } + } + } while(0); + L63: do { + if ((label|0) == 46) { + $119 = (($$1165168) + -1)|0; + $120 = $119 & $$1165168; + $121 = ($120|0)==(0); + if ($121) { + $126 = ($$1165168*23)|0; + $127 = $126 >>> 5; + $128 = $127 & 7; + $129 = (24006 + ($128)|0); + $130 = HEAP8[$129>>0]|0; + $131 = $130 << 24 >> 24; + $132 = ((23750) + ($$1160169)|0); + $133 = HEAP8[$132>>0]|0; + $134 = $133&255; + $135 = ($134>>>0)<($$1165168>>>0); + if ($135) { + $$1155192 = 0;$138 = $134; + while(1) { + $136 = $$1155192 << $131; + $137 = $138 | $136; + $139 = HEAP32[$6>>2]|0; + $140 = HEAP32[$7>>2]|0; + $141 = ($139>>>0)<($140>>>0); + if ($141) { + $142 = ((($139)) + 1|0); + HEAP32[$6>>2] = $142; + $143 = HEAP8[$139>>0]|0; + $144 = $143&255; + $$4163$be = $144; + } else { + $145 = (___shgetc($0)|0); + $$4163$be = $145; + } + $146 = ((23750) + ($$4163$be)|0); + $147 = HEAP8[$146>>0]|0; + $148 = $147&255; + $149 = ($148>>>0)<($$1165168>>>0); + $150 = ($137>>>0)<(134217728); + $151 = $150 & $149; + if ($151) { + $$1155192 = $137;$138 = $148; + } else { + break; + } + } + $$4163$lcssa = $$4163$be;$155 = $147;$158 = 0;$160 = $137; + } else { + $$4163$lcssa = $$1160169;$155 = $133;$158 = 0;$160 = 0; + } + $152 = (_bitshift64Lshr(-1,-1,($131|0))|0); + $153 = tempRet0; + $154 = $155&255; + $156 = ($154>>>0)>=($$1165168>>>0); + $157 = ($158>>>0)>($153>>>0); + $159 = ($160>>>0)>($152>>>0); + $161 = ($158|0)==($153|0); + $162 = $161 & $159; + $163 = $157 | $162; + $or$cond187 = $156 | $163; + if ($or$cond187) { + $$1165167 = $$1165168;$$8 = $$4163$lcssa;$293 = $160;$294 = $158; + label = 72; + break; + } else { + $164 = $160;$165 = $158;$169 = $155; + } + while(1) { + $166 = (_bitshift64Shl(($164|0),($165|0),($131|0))|0); + $167 = tempRet0; + $168 = $169&255; + $170 = $168 | $166; + $171 = HEAP32[$6>>2]|0; + $172 = HEAP32[$7>>2]|0; + $173 = ($171>>>0)<($172>>>0); + if ($173) { + $174 = ((($171)) + 1|0); + HEAP32[$6>>2] = $174; + $175 = HEAP8[$171>>0]|0; + $176 = $175&255; + $$5$be = $176; + } else { + $177 = (___shgetc($0)|0); + $$5$be = $177; + } + $178 = ((23750) + ($$5$be)|0); + $179 = HEAP8[$178>>0]|0; + $180 = $179&255; + $181 = ($180>>>0)>=($$1165168>>>0); + $182 = ($167>>>0)>($153>>>0); + $183 = ($170>>>0)>($152>>>0); + $184 = ($167|0)==($153|0); + $185 = $184 & $183; + $186 = $182 | $185; + $or$cond = $181 | $186; + if ($or$cond) { + $$1165167 = $$1165168;$$8 = $$5$be;$293 = $170;$294 = $167; + label = 72; + break L63; + } else { + $164 = $170;$165 = $167;$169 = $179; + } + } + } + $122 = ((23750) + ($$1160169)|0); + $123 = HEAP8[$122>>0]|0; + $124 = $123&255; + $125 = ($124>>>0)<($$1165168>>>0); + if ($125) { + $$2156210 = 0;$189 = $124; + while(1) { + $187 = Math_imul($$2156210, $$1165168)|0; + $188 = (($189) + ($187))|0; + $190 = HEAP32[$6>>2]|0; + $191 = HEAP32[$7>>2]|0; + $192 = ($190>>>0)<($191>>>0); + if ($192) { + $193 = ((($190)) + 1|0); + HEAP32[$6>>2] = $193; + $194 = HEAP8[$190>>0]|0; + $195 = $194&255; + $$6$be = $195; + } else { + $196 = (___shgetc($0)|0); + $$6$be = $196; + } + $197 = ((23750) + ($$6$be)|0); + $198 = HEAP8[$197>>0]|0; + $199 = $198&255; + $200 = ($199>>>0)<($$1165168>>>0); + $201 = ($188>>>0)<(119304647); + $202 = $201 & $200; + if ($202) { + $$2156210 = $188;$189 = $199; + } else { + break; + } + } + $$6$lcssa = $$6$be;$204 = $198;$295 = $188;$296 = 0; + } else { + $$6$lcssa = $$1160169;$204 = $123;$295 = 0;$296 = 0; + } + $203 = $204&255; + $205 = ($203>>>0)<($$1165168>>>0); + if ($205) { + $206 = (___udivdi3(-1,-1,($$1165168|0),0)|0); + $207 = tempRet0; + $$7198 = $$6$lcssa;$209 = $296;$211 = $295;$218 = $204; + while(1) { + $208 = ($209>>>0)>($207>>>0); + $210 = ($211>>>0)>($206>>>0); + $212 = ($209|0)==($207|0); + $213 = $212 & $210; + $214 = $208 | $213; + if ($214) { + $$1165167 = $$1165168;$$8 = $$7198;$293 = $211;$294 = $209; + label = 72; + break L63; + } + $215 = (___muldi3(($211|0),($209|0),($$1165168|0),0)|0); + $216 = tempRet0; + $217 = $218&255; + $219 = $217 ^ -1; + $220 = ($216>>>0)>(4294967295); + $221 = ($215>>>0)>($219>>>0); + $222 = ($216|0)==(-1); + $223 = $222 & $221; + $224 = $220 | $223; + if ($224) { + $$1165167 = $$1165168;$$8 = $$7198;$293 = $211;$294 = $209; + label = 72; + break L63; + } + $225 = (_i64Add(($217|0),0,($215|0),($216|0))|0); + $226 = tempRet0; + $227 = HEAP32[$6>>2]|0; + $228 = HEAP32[$7>>2]|0; + $229 = ($227>>>0)<($228>>>0); + if ($229) { + $230 = ((($227)) + 1|0); + HEAP32[$6>>2] = $230; + $231 = HEAP8[$227>>0]|0; + $232 = $231&255; + $$7$be = $232; + } else { + $233 = (___shgetc($0)|0); + $$7$be = $233; + } + $234 = ((23750) + ($$7$be)|0); + $235 = HEAP8[$234>>0]|0; + $236 = $235&255; + $237 = ($236>>>0)<($$1165168>>>0); + if ($237) { + $$7198 = $$7$be;$209 = $226;$211 = $225;$218 = $235; + } else { + $$1165167 = $$1165168;$$8 = $$7$be;$293 = $225;$294 = $226; + label = 72; + break; + } + } + } else { + $$1165167 = $$1165168;$$8 = $$6$lcssa;$293 = $295;$294 = $296; + label = 72; + } + } + } while(0); + if ((label|0) == 72) { + $238 = ((23750) + ($$8)|0); + $239 = HEAP8[$238>>0]|0; + $240 = $239&255; + $241 = ($240>>>0)<($$1165167>>>0); + if ($241) { + while(1) { + $242 = HEAP32[$6>>2]|0; + $243 = HEAP32[$7>>2]|0; + $244 = ($242>>>0)<($243>>>0); + if ($244) { + $245 = ((($242)) + 1|0); + HEAP32[$6>>2] = $245; + $246 = HEAP8[$242>>0]|0; + $247 = $246&255; + $$9$be = $247; + } else { + $248 = (___shgetc($0)|0); + $$9$be = $248; + } + $249 = ((23750) + ($$9$be)|0); + $250 = HEAP8[$249>>0]|0; + $251 = $250&255; + $252 = ($251>>>0)<($$1165167>>>0); + if (!($252)) { + break; + } + } + $253 = (___errno_location()|0); + HEAP32[$253>>2] = 34; + $254 = $3 & 1; + $255 = ($254|0)==(0); + $256 = (0)==(0); + $257 = $255 & $256; + $$0157$ = $257 ? $$0157 : 0; + $$1158 = $$0157$;$263 = $4;$265 = $3; + } else { + $$1158 = $$0157;$263 = $294;$265 = $293; + } + } + $258 = HEAP32[$7>>2]|0; + $259 = ($258|0)==(0|0); + if (!($259)) { + $260 = HEAP32[$6>>2]|0; + $261 = ((($260)) + -1|0); + HEAP32[$6>>2] = $261; + } + $262 = ($263>>>0)<($4>>>0); + $264 = ($265>>>0)<($3>>>0); + $266 = ($263|0)==($4|0); + $267 = $266 & $264; + $268 = $262 | $267; + if (!($268)) { + $269 = $3 & 1; + $270 = ($269|0)!=(0); + $271 = (0)!=(0); + $272 = $270 | $271; + $273 = ($$1158|0)!=(0); + $or$cond12 = $272 | $273; + if (!($or$cond12)) { + $274 = (___errno_location()|0); + HEAP32[$274>>2] = 34; + $275 = (_i64Add(($3|0),($4|0),-1,-1)|0); + $276 = tempRet0; + $289 = $276;$290 = $275; + break; + } + $277 = ($263>>>0)>($4>>>0); + $278 = ($265>>>0)>($3>>>0); + $279 = ($263|0)==($4|0); + $280 = $279 & $278; + $281 = $277 | $280; + if ($281) { + $282 = (___errno_location()|0); + HEAP32[$282>>2] = 34; + $289 = $4;$290 = $3; + break; + } + } + $283 = ($$1158|0)<(0); + $284 = $283 << 31 >> 31; + $285 = $265 ^ $$1158; + $286 = $263 ^ $284; + $287 = (_i64Subtract(($285|0),($286|0),($$1158|0),($284|0))|0); + $288 = tempRet0; + $289 = $288;$290 = $287; + } + } while(0); + tempRet0 = ($289); + return ($290|0); +} +function ___shgetc($0) { + $0 = $0|0; + var $$0 = 0, $$phi$trans$insert = 0, $$phi$trans$insert28$phi$trans$insert = 0, $$pre = 0, $$pre$phi34Z2D = 0, $$pre29$pre = 0, $$pre35 = 0, $$sink = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0; + var $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0; + var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 104|0); + $2 = HEAP32[$1>>2]|0; + $3 = ($2|0)==(0); + if ($3) { + label = 3; + } else { + $4 = ((($0)) + 108|0); + $5 = HEAP32[$4>>2]|0; + $6 = ($5|0)<($2|0); + if ($6) { + label = 3; + } else { + label = 4; + } + } + if ((label|0) == 3) { + $7 = (___uflow($0)|0); + $8 = ($7|0)<(0); + if ($8) { + label = 4; + } else { + $10 = HEAP32[$1>>2]|0; + $11 = ($10|0)==(0); + $$phi$trans$insert = ((($0)) + 8|0); + if ($11) { + $$pre = HEAP32[$$phi$trans$insert>>2]|0; + $$phi$trans$insert28$phi$trans$insert = ((($0)) + 4|0); + $$pre29$pre = HEAP32[$$phi$trans$insert28$phi$trans$insert>>2]|0; + $$pre35 = ((($0)) + 108|0); + $$pre$phi34Z2D = $$pre35;$$sink = $$pre;$26 = $$pre;$29 = $$pre29$pre; + } else { + $12 = HEAP32[$$phi$trans$insert>>2]|0; + $13 = ((($0)) + 4|0); + $14 = HEAP32[$13>>2]|0; + $15 = $14; + $16 = (($12) - ($15))|0; + $17 = ((($0)) + 108|0); + $18 = HEAP32[$17>>2]|0; + $19 = (($10) - ($18))|0; + $20 = ($16|0)<($19|0); + $21 = $12; + if ($20) { + $$pre$phi34Z2D = $17;$$sink = $21;$26 = $21;$29 = $14; + } else { + $22 = (($19) + -1)|0; + $23 = (($14) + ($22)|0); + $$pre$phi34Z2D = $17;$$sink = $23;$26 = $21;$29 = $14; + } + } + $24 = ((($0)) + 100|0); + HEAP32[$24>>2] = $$sink; + $25 = ($26|0)==(0|0); + if (!($25)) { + $27 = $26; + $28 = $29; + $30 = HEAP32[$$pre$phi34Z2D>>2]|0; + $31 = (($27) + 1)|0; + $32 = (($31) - ($28))|0; + $33 = (($32) + ($30))|0; + HEAP32[$$pre$phi34Z2D>>2] = $33; + } + $34 = ((($29)) + -1|0); + $35 = HEAP8[$34>>0]|0; + $36 = $35&255; + $37 = ($36|0)==($7|0); + if ($37) { + $$0 = $7; + } else { + $38 = $7&255; + HEAP8[$34>>0] = $38; + $$0 = $7; + } + } + } + if ((label|0) == 4) { + $9 = ((($0)) + 100|0); + HEAP32[$9>>2] = 0; + $$0 = -1; + } + return ($$0|0); +} +function _isspace($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ($0|0)==(32); + $2 = (($0) + -9)|0; + $3 = ($2>>>0)<(5); + $4 = $1 | $3; + $5 = $4&1; + return ($5|0); +} +function ___uflow($0) { + $0 = $0|0; + var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $1 = sp; + $2 = (___toread($0)|0); + $3 = ($2|0)==(0); + if ($3) { + $4 = ((($0)) + 32|0); + $5 = HEAP32[$4>>2]|0; + $6 = (FUNCTION_TABLE_iiii[$5 & 15]($0,$1,1)|0); + $7 = ($6|0)==(1); + if ($7) { + $8 = HEAP8[$1>>0]|0; + $9 = $8&255; + $$0 = $9; + } else { + $$0 = -1; + } + } else { + $$0 = -1; + } + STACKTOP = sp;return ($$0|0); +} +function ___toread($0) { + $0 = $0|0; + var $$0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $sext = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 74|0); + $2 = HEAP8[$1>>0]|0; + $3 = $2 << 24 >> 24; + $4 = (($3) + 255)|0; + $5 = $4 | $3; + $6 = $5&255; + HEAP8[$1>>0] = $6; + $7 = ((($0)) + 20|0); + $8 = HEAP32[$7>>2]|0; + $9 = ((($0)) + 28|0); + $10 = HEAP32[$9>>2]|0; + $11 = ($8>>>0)>($10>>>0); + if ($11) { + $12 = ((($0)) + 36|0); + $13 = HEAP32[$12>>2]|0; + (FUNCTION_TABLE_iiii[$13 & 15]($0,0,0)|0); + } + $14 = ((($0)) + 16|0); + HEAP32[$14>>2] = 0; + HEAP32[$9>>2] = 0; + HEAP32[$7>>2] = 0; + $15 = HEAP32[$0>>2]|0; + $16 = $15 & 4; + $17 = ($16|0)==(0); + if ($17) { + $19 = ((($0)) + 44|0); + $20 = HEAP32[$19>>2]|0; + $21 = ((($0)) + 48|0); + $22 = HEAP32[$21>>2]|0; + $23 = (($20) + ($22)|0); + $24 = ((($0)) + 8|0); + HEAP32[$24>>2] = $23; + $25 = ((($0)) + 4|0); + HEAP32[$25>>2] = $23; + $26 = $15 << 27; + $sext = $26 >> 31; + $$0 = $sext; + } else { + $18 = $15 | 32; + HEAP32[$0>>2] = $18; + $$0 = -1; + } + return ($$0|0); +} +function _copysign($0,$1) { + $0 = +$0; + $1 = +$1; + var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF64[tempDoublePtr>>3] = $0;$2 = HEAP32[tempDoublePtr>>2]|0; + $3 = HEAP32[tempDoublePtr+4>>2]|0; + HEAPF64[tempDoublePtr>>3] = $1;$4 = HEAP32[tempDoublePtr>>2]|0; + $5 = HEAP32[tempDoublePtr+4>>2]|0; + $6 = $3 & 2147483647; + $7 = $5 & -2147483648; + $8 = $7 | $6; + HEAP32[tempDoublePtr>>2] = $2;HEAP32[tempDoublePtr+4>>2] = $8;$9 = +HEAPF64[tempDoublePtr>>3]; + return (+$9); +} +function _strcmp($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$011 = 0, $$0710 = 0, $$lcssa = 0, $$lcssa8 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond9 = 0, label = 0; + var sp = 0; + sp = STACKTOP; + $2 = HEAP8[$0>>0]|0; + $3 = HEAP8[$1>>0]|0; + $4 = ($2<<24>>24)!=($3<<24>>24); + $5 = ($2<<24>>24)==(0); + $or$cond9 = $5 | $4; + if ($or$cond9) { + $$lcssa = $3;$$lcssa8 = $2; + } else { + $$011 = $1;$$0710 = $0; + while(1) { + $6 = ((($$0710)) + 1|0); + $7 = ((($$011)) + 1|0); + $8 = HEAP8[$6>>0]|0; + $9 = HEAP8[$7>>0]|0; + $10 = ($8<<24>>24)!=($9<<24>>24); + $11 = ($8<<24>>24)==(0); + $or$cond = $11 | $10; + if ($or$cond) { + $$lcssa = $9;$$lcssa8 = $8; + break; + } else { + $$011 = $7;$$0710 = $6; + } + } + } + $12 = $$lcssa8&255; + $13 = $$lcssa&255; + $14 = (($12) - ($13))|0; + return ($14|0); +} +function _memcmp($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$01318 = 0, $$01417 = 0, $$019 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ($2|0)==(0); + L1: do { + if ($3) { + $14 = 0; + } else { + $$01318 = $0;$$01417 = $2;$$019 = $1; + while(1) { + $4 = HEAP8[$$01318>>0]|0; + $5 = HEAP8[$$019>>0]|0; + $6 = ($4<<24>>24)==($5<<24>>24); + if (!($6)) { + break; + } + $7 = (($$01417) + -1)|0; + $8 = ((($$01318)) + 1|0); + $9 = ((($$019)) + 1|0); + $10 = ($7|0)==(0); + if ($10) { + $14 = 0; + break L1; + } else { + $$01318 = $8;$$01417 = $7;$$019 = $9; + } + } + $11 = $4&255; + $12 = $5&255; + $13 = (($11) - ($12))|0; + $14 = $13; + } + } while(0); + return ($14|0); +} +function _strncmp($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$01824 = 0, $$01926 = 0, $$01926$in = 0, $$020 = 0, $$025 = 0, $$lcssa = 0, $$lcssa22 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0; + var $23 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond21 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ($2|0)==(0); + if ($3) { + $$020 = 0; + } else { + $4 = HEAP8[$0>>0]|0; + $5 = $4&255; + $6 = ($4<<24>>24)==(0); + $7 = HEAP8[$1>>0]|0; + $8 = $7&255; + L3: do { + if ($6) { + $$lcssa = $8;$$lcssa22 = $5; + } else { + $$01824 = $0;$$01926$in = $2;$$025 = $1;$10 = $7;$13 = $4;$22 = $8;$23 = $5; + while(1) { + $$01926 = (($$01926$in) + -1)|0; + $9 = ($10<<24>>24)!=(0); + $11 = ($$01926|0)!=(0); + $or$cond = $11 & $9; + $12 = ($13<<24>>24)==($10<<24>>24); + $or$cond21 = $12 & $or$cond; + if (!($or$cond21)) { + $$lcssa = $22;$$lcssa22 = $23; + break L3; + } + $14 = ((($$01824)) + 1|0); + $15 = ((($$025)) + 1|0); + $16 = HEAP8[$14>>0]|0; + $17 = $16&255; + $18 = ($16<<24>>24)==(0); + $19 = HEAP8[$15>>0]|0; + $20 = $19&255; + if ($18) { + $$lcssa = $20;$$lcssa22 = $17; + break; + } else { + $$01824 = $14;$$01926$in = $$01926;$$025 = $15;$10 = $19;$13 = $16;$22 = $20;$23 = $17; + } + } + } + } while(0); + $21 = (($$lcssa22) - ($$lcssa))|0; + $$020 = $21; + } + return ($$020|0); +} +function _vfprintf($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$ = 0, $$0 = 0, $$1 = 0, $$1$ = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; + var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $5 = 0, $6 = 0, $7 = 0; + var $8 = 0, $9 = 0, $vacopy_currentptr = 0, dest = 0, label = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 224|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(224|0); + $3 = sp + 120|0; + $4 = sp + 80|0; + $5 = sp; + $6 = sp + 136|0; + dest=$4; stop=dest+40|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + $vacopy_currentptr = HEAP32[$2>>2]|0; + HEAP32[$3>>2] = $vacopy_currentptr; + $7 = (_printf_core(0,$1,$3,$5,$4)|0); + $8 = ($7|0)<(0); + if ($8) { + $$0 = -1; + } else { + $9 = ((($0)) + 76|0); + $10 = HEAP32[$9>>2]|0; + $11 = ($10|0)>(-1); + if ($11) { + $12 = (___lockfile($0)|0); + $40 = $12; + } else { + $40 = 0; + } + $13 = HEAP32[$0>>2]|0; + $14 = $13 & 32; + $15 = ((($0)) + 74|0); + $16 = HEAP8[$15>>0]|0; + $17 = ($16<<24>>24)<(1); + if ($17) { + $18 = $13 & -33; + HEAP32[$0>>2] = $18; + } + $19 = ((($0)) + 48|0); + $20 = HEAP32[$19>>2]|0; + $21 = ($20|0)==(0); + if ($21) { + $23 = ((($0)) + 44|0); + $24 = HEAP32[$23>>2]|0; + HEAP32[$23>>2] = $6; + $25 = ((($0)) + 28|0); + HEAP32[$25>>2] = $6; + $26 = ((($0)) + 20|0); + HEAP32[$26>>2] = $6; + HEAP32[$19>>2] = 80; + $27 = ((($6)) + 80|0); + $28 = ((($0)) + 16|0); + HEAP32[$28>>2] = $27; + $29 = (_printf_core($0,$1,$3,$5,$4)|0); + $30 = ($24|0)==(0|0); + if ($30) { + $$1 = $29; + } else { + $31 = ((($0)) + 36|0); + $32 = HEAP32[$31>>2]|0; + (FUNCTION_TABLE_iiii[$32 & 15]($0,0,0)|0); + $33 = HEAP32[$26>>2]|0; + $34 = ($33|0)==(0|0); + $$ = $34 ? -1 : $29; + HEAP32[$23>>2] = $24; + HEAP32[$19>>2] = 0; + HEAP32[$28>>2] = 0; + HEAP32[$25>>2] = 0; + HEAP32[$26>>2] = 0; + $$1 = $$; + } + } else { + $22 = (_printf_core($0,$1,$3,$5,$4)|0); + $$1 = $22; + } + $35 = HEAP32[$0>>2]|0; + $36 = $35 & 32; + $37 = ($36|0)==(0); + $$1$ = $37 ? $$1 : -1; + $38 = $35 | $14; + HEAP32[$0>>2] = $38; + $39 = ($40|0)==(0); + if (!($39)) { + ___unlockfile($0); + } + $$0 = $$1$; + } + STACKTOP = sp;return ($$0|0); +} +function _printf_core($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$ = 0, $$$ = 0, $$$0259 = 0, $$$0262 = 0, $$$0269 = 0, $$$4266 = 0, $$$5 = 0, $$0 = 0, $$0228 = 0, $$0228$ = 0, $$0229322 = 0, $$0232 = 0, $$0235 = 0, $$0237 = 0, $$0240$lcssa = 0, $$0240$lcssa357 = 0, $$0240321 = 0, $$0243 = 0, $$0247 = 0, $$0249$lcssa = 0; + var $$0249306 = 0, $$0252 = 0, $$0253 = 0, $$0254 = 0, $$0254$$0254$ = 0, $$0259 = 0, $$0262$lcssa = 0, $$0262311 = 0, $$0269 = 0, $$0269$phi = 0, $$1 = 0, $$1230333 = 0, $$1233 = 0, $$1236 = 0, $$1238 = 0, $$1241332 = 0, $$1244320 = 0, $$1248 = 0, $$1250 = 0, $$1255 = 0; + var $$1260 = 0, $$1263 = 0, $$1263$ = 0, $$1270 = 0, $$2 = 0, $$2234 = 0, $$2239 = 0, $$2242305 = 0, $$2245 = 0, $$2251 = 0, $$2256 = 0, $$2256$ = 0, $$2256$$$2256 = 0, $$2261 = 0, $$2271 = 0, $$284$ = 0, $$289 = 0, $$290 = 0, $$3257 = 0, $$3265 = 0; + var $$3272 = 0, $$3303 = 0, $$377 = 0, $$4258355 = 0, $$4266 = 0, $$5 = 0, $$6268 = 0, $$lcssa295 = 0, $$pre = 0, $$pre346 = 0, $$pre347 = 0, $$pre347$pre = 0, $$pre349 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0; + var $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0; + var $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0; + var $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0; + var $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0; + var $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0; + var $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0; + var $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0; + var $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0; + var $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0; + var $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0; + var $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0; + var $306 = 0.0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0; + var $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; + var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0; + var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0; + var $arglist_current = 0, $arglist_current2 = 0, $arglist_next = 0, $arglist_next3 = 0, $expanded = 0, $expanded10 = 0, $expanded11 = 0, $expanded13 = 0, $expanded14 = 0, $expanded15 = 0, $expanded4 = 0, $expanded6 = 0, $expanded7 = 0, $expanded8 = 0, $isdigit = 0, $isdigit275 = 0, $isdigit277 = 0, $isdigittmp = 0, $isdigittmp$ = 0, $isdigittmp274 = 0; + var $isdigittmp276 = 0, $narrow = 0, $or$cond = 0, $or$cond281 = 0, $or$cond283 = 0, $or$cond286 = 0, $storemerge = 0, $storemerge273310 = 0, $storemerge278 = 0, $trunc = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $5 = sp + 16|0; + $6 = sp; + $7 = sp + 24|0; + $8 = sp + 8|0; + $9 = sp + 20|0; + HEAP32[$5>>2] = $1; + $10 = ($0|0)!=(0|0); + $11 = ((($7)) + 40|0); + $12 = $11; + $13 = ((($7)) + 39|0); + $14 = ((($8)) + 4|0); + $$0243 = 0;$$0247 = 0;$$0269 = 0;$21 = $1; + L1: while(1) { + $15 = ($$0247|0)>(-1); + do { + if ($15) { + $16 = (2147483647 - ($$0247))|0; + $17 = ($$0243|0)>($16|0); + if ($17) { + $18 = (___errno_location()|0); + HEAP32[$18>>2] = 75; + $$1248 = -1; + break; + } else { + $19 = (($$0243) + ($$0247))|0; + $$1248 = $19; + break; + } + } else { + $$1248 = $$0247; + } + } while(0); + $20 = HEAP8[$21>>0]|0; + $22 = ($20<<24>>24)==(0); + if ($22) { + label = 87; + break; + } else { + $23 = $20;$25 = $21; + } + L9: while(1) { + switch ($23<<24>>24) { + case 37: { + $$0249306 = $25;$27 = $25; + label = 9; + break L9; + break; + } + case 0: { + $$0249$lcssa = $25;$39 = $25; + break L9; + break; + } + default: { + } + } + $24 = ((($25)) + 1|0); + HEAP32[$5>>2] = $24; + $$pre = HEAP8[$24>>0]|0; + $23 = $$pre;$25 = $24; + } + L12: do { + if ((label|0) == 9) { + while(1) { + label = 0; + $26 = ((($27)) + 1|0); + $28 = HEAP8[$26>>0]|0; + $29 = ($28<<24>>24)==(37); + if (!($29)) { + $$0249$lcssa = $$0249306;$39 = $27; + break L12; + } + $30 = ((($$0249306)) + 1|0); + $31 = ((($27)) + 2|0); + HEAP32[$5>>2] = $31; + $32 = HEAP8[$31>>0]|0; + $33 = ($32<<24>>24)==(37); + if ($33) { + $$0249306 = $30;$27 = $31; + label = 9; + } else { + $$0249$lcssa = $30;$39 = $31; + break; + } + } + } + } while(0); + $34 = $$0249$lcssa; + $35 = $21; + $36 = (($34) - ($35))|0; + if ($10) { + _out($0,$21,$36); + } + $37 = ($36|0)==(0); + if (!($37)) { + $$0269$phi = $$0269;$$0243 = $36;$$0247 = $$1248;$21 = $39;$$0269 = $$0269$phi; + continue; + } + $38 = ((($39)) + 1|0); + $40 = HEAP8[$38>>0]|0; + $41 = $40 << 24 >> 24; + $isdigittmp = (($41) + -48)|0; + $isdigit = ($isdigittmp>>>0)<(10); + if ($isdigit) { + $42 = ((($39)) + 2|0); + $43 = HEAP8[$42>>0]|0; + $44 = ($43<<24>>24)==(36); + $45 = ((($39)) + 3|0); + $$377 = $44 ? $45 : $38; + $$$0269 = $44 ? 1 : $$0269; + $isdigittmp$ = $44 ? $isdigittmp : -1; + $$0253 = $isdigittmp$;$$1270 = $$$0269;$storemerge = $$377; + } else { + $$0253 = -1;$$1270 = $$0269;$storemerge = $38; + } + HEAP32[$5>>2] = $storemerge; + $46 = HEAP8[$storemerge>>0]|0; + $47 = $46 << 24 >> 24; + $48 = (($47) + -32)|0; + $49 = ($48>>>0)<(32); + L24: do { + if ($49) { + $$0262311 = 0;$329 = $46;$51 = $48;$storemerge273310 = $storemerge; + while(1) { + $50 = 1 << $51; + $52 = $50 & 75913; + $53 = ($52|0)==(0); + if ($53) { + $$0262$lcssa = $$0262311;$$lcssa295 = $329;$62 = $storemerge273310; + break L24; + } + $54 = $50 | $$0262311; + $55 = ((($storemerge273310)) + 1|0); + HEAP32[$5>>2] = $55; + $56 = HEAP8[$55>>0]|0; + $57 = $56 << 24 >> 24; + $58 = (($57) + -32)|0; + $59 = ($58>>>0)<(32); + if ($59) { + $$0262311 = $54;$329 = $56;$51 = $58;$storemerge273310 = $55; + } else { + $$0262$lcssa = $54;$$lcssa295 = $56;$62 = $55; + break; + } + } + } else { + $$0262$lcssa = 0;$$lcssa295 = $46;$62 = $storemerge; + } + } while(0); + $60 = ($$lcssa295<<24>>24)==(42); + if ($60) { + $61 = ((($62)) + 1|0); + $63 = HEAP8[$61>>0]|0; + $64 = $63 << 24 >> 24; + $isdigittmp276 = (($64) + -48)|0; + $isdigit277 = ($isdigittmp276>>>0)<(10); + if ($isdigit277) { + $65 = ((($62)) + 2|0); + $66 = HEAP8[$65>>0]|0; + $67 = ($66<<24>>24)==(36); + if ($67) { + $68 = (($4) + ($isdigittmp276<<2)|0); + HEAP32[$68>>2] = 10; + $69 = HEAP8[$61>>0]|0; + $70 = $69 << 24 >> 24; + $71 = (($70) + -48)|0; + $72 = (($3) + ($71<<3)|0); + $73 = $72; + $74 = $73; + $75 = HEAP32[$74>>2]|0; + $76 = (($73) + 4)|0; + $77 = $76; + $78 = HEAP32[$77>>2]|0; + $79 = ((($62)) + 3|0); + $$0259 = $75;$$2271 = 1;$storemerge278 = $79; + } else { + label = 23; + } + } else { + label = 23; + } + if ((label|0) == 23) { + label = 0; + $80 = ($$1270|0)==(0); + if (!($80)) { + $$0 = -1; + break; + } + if ($10) { + $arglist_current = HEAP32[$2>>2]|0; + $81 = $arglist_current; + $82 = ((0) + 4|0); + $expanded4 = $82; + $expanded = (($expanded4) - 1)|0; + $83 = (($81) + ($expanded))|0; + $84 = ((0) + 4|0); + $expanded8 = $84; + $expanded7 = (($expanded8) - 1)|0; + $expanded6 = $expanded7 ^ -1; + $85 = $83 & $expanded6; + $86 = $85; + $87 = HEAP32[$86>>2]|0; + $arglist_next = ((($86)) + 4|0); + HEAP32[$2>>2] = $arglist_next; + $$0259 = $87;$$2271 = 0;$storemerge278 = $61; + } else { + $$0259 = 0;$$2271 = 0;$storemerge278 = $61; + } + } + HEAP32[$5>>2] = $storemerge278; + $88 = ($$0259|0)<(0); + $89 = $$0262$lcssa | 8192; + $90 = (0 - ($$0259))|0; + $$$0262 = $88 ? $89 : $$0262$lcssa; + $$$0259 = $88 ? $90 : $$0259; + $$1260 = $$$0259;$$1263 = $$$0262;$$3272 = $$2271;$94 = $storemerge278; + } else { + $91 = (_getint($5)|0); + $92 = ($91|0)<(0); + if ($92) { + $$0 = -1; + break; + } + $$pre346 = HEAP32[$5>>2]|0; + $$1260 = $91;$$1263 = $$0262$lcssa;$$3272 = $$1270;$94 = $$pre346; + } + $93 = HEAP8[$94>>0]|0; + $95 = ($93<<24>>24)==(46); + do { + if ($95) { + $96 = ((($94)) + 1|0); + $97 = HEAP8[$96>>0]|0; + $98 = ($97<<24>>24)==(42); + if (!($98)) { + $125 = ((($94)) + 1|0); + HEAP32[$5>>2] = $125; + $126 = (_getint($5)|0); + $$pre347$pre = HEAP32[$5>>2]|0; + $$0254 = $126;$$pre347 = $$pre347$pre; + break; + } + $99 = ((($94)) + 2|0); + $100 = HEAP8[$99>>0]|0; + $101 = $100 << 24 >> 24; + $isdigittmp274 = (($101) + -48)|0; + $isdigit275 = ($isdigittmp274>>>0)<(10); + if ($isdigit275) { + $102 = ((($94)) + 3|0); + $103 = HEAP8[$102>>0]|0; + $104 = ($103<<24>>24)==(36); + if ($104) { + $105 = (($4) + ($isdigittmp274<<2)|0); + HEAP32[$105>>2] = 10; + $106 = HEAP8[$99>>0]|0; + $107 = $106 << 24 >> 24; + $108 = (($107) + -48)|0; + $109 = (($3) + ($108<<3)|0); + $110 = $109; + $111 = $110; + $112 = HEAP32[$111>>2]|0; + $113 = (($110) + 4)|0; + $114 = $113; + $115 = HEAP32[$114>>2]|0; + $116 = ((($94)) + 4|0); + HEAP32[$5>>2] = $116; + $$0254 = $112;$$pre347 = $116; + break; + } + } + $117 = ($$3272|0)==(0); + if (!($117)) { + $$0 = -1; + break L1; + } + if ($10) { + $arglist_current2 = HEAP32[$2>>2]|0; + $118 = $arglist_current2; + $119 = ((0) + 4|0); + $expanded11 = $119; + $expanded10 = (($expanded11) - 1)|0; + $120 = (($118) + ($expanded10))|0; + $121 = ((0) + 4|0); + $expanded15 = $121; + $expanded14 = (($expanded15) - 1)|0; + $expanded13 = $expanded14 ^ -1; + $122 = $120 & $expanded13; + $123 = $122; + $124 = HEAP32[$123>>2]|0; + $arglist_next3 = ((($123)) + 4|0); + HEAP32[$2>>2] = $arglist_next3; + $330 = $124; + } else { + $330 = 0; + } + HEAP32[$5>>2] = $99; + $$0254 = $330;$$pre347 = $99; + } else { + $$0254 = -1;$$pre347 = $94; + } + } while(0); + $$0252 = 0;$128 = $$pre347; + while(1) { + $127 = HEAP8[$128>>0]|0; + $129 = $127 << 24 >> 24; + $130 = (($129) + -65)|0; + $131 = ($130>>>0)>(57); + if ($131) { + $$0 = -1; + break L1; + } + $132 = ((($128)) + 1|0); + HEAP32[$5>>2] = $132; + $133 = HEAP8[$128>>0]|0; + $134 = $133 << 24 >> 24; + $135 = (($134) + -65)|0; + $136 = ((24015 + (($$0252*58)|0)|0) + ($135)|0); + $137 = HEAP8[$136>>0]|0; + $138 = $137&255; + $139 = (($138) + -1)|0; + $140 = ($139>>>0)<(8); + if ($140) { + $$0252 = $138;$128 = $132; + } else { + break; + } + } + $141 = ($137<<24>>24)==(0); + if ($141) { + $$0 = -1; + break; + } + $142 = ($137<<24>>24)==(19); + $143 = ($$0253|0)>(-1); + do { + if ($142) { + if ($143) { + $$0 = -1; + break L1; + } else { + label = 49; + } + } else { + if ($143) { + $144 = (($4) + ($$0253<<2)|0); + HEAP32[$144>>2] = $138; + $145 = (($3) + ($$0253<<3)|0); + $146 = $145; + $147 = $146; + $148 = HEAP32[$147>>2]|0; + $149 = (($146) + 4)|0; + $150 = $149; + $151 = HEAP32[$150>>2]|0; + $152 = $6; + $153 = $152; + HEAP32[$153>>2] = $148; + $154 = (($152) + 4)|0; + $155 = $154; + HEAP32[$155>>2] = $151; + label = 49; + break; + } + if (!($10)) { + $$0 = 0; + break L1; + } + _pop_arg($6,$138,$2); + } + } while(0); + if ((label|0) == 49) { + label = 0; + if (!($10)) { + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue; + } + } + $156 = HEAP8[$128>>0]|0; + $157 = $156 << 24 >> 24; + $158 = ($$0252|0)!=(0); + $159 = $157 & 15; + $160 = ($159|0)==(3); + $or$cond281 = $158 & $160; + $161 = $157 & -33; + $$0235 = $or$cond281 ? $161 : $157; + $162 = $$1263 & 8192; + $163 = ($162|0)==(0); + $164 = $$1263 & -65537; + $$1263$ = $163 ? $$1263 : $164; + L71: do { + switch ($$0235|0) { + case 110: { + $trunc = $$0252&255; + switch ($trunc<<24>>24) { + case 0: { + $171 = HEAP32[$6>>2]|0; + HEAP32[$171>>2] = $$1248; + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + case 1: { + $172 = HEAP32[$6>>2]|0; + HEAP32[$172>>2] = $$1248; + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + case 2: { + $173 = ($$1248|0)<(0); + $174 = $173 << 31 >> 31; + $175 = HEAP32[$6>>2]|0; + $176 = $175; + $177 = $176; + HEAP32[$177>>2] = $$1248; + $178 = (($176) + 4)|0; + $179 = $178; + HEAP32[$179>>2] = $174; + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + case 3: { + $180 = $$1248&65535; + $181 = HEAP32[$6>>2]|0; + HEAP16[$181>>1] = $180; + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + case 4: { + $182 = $$1248&255; + $183 = HEAP32[$6>>2]|0; + HEAP8[$183>>0] = $182; + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + case 6: { + $184 = HEAP32[$6>>2]|0; + HEAP32[$184>>2] = $$1248; + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + case 7: { + $185 = ($$1248|0)<(0); + $186 = $185 << 31 >> 31; + $187 = HEAP32[$6>>2]|0; + $188 = $187; + $189 = $188; + HEAP32[$189>>2] = $$1248; + $190 = (($188) + 4)|0; + $191 = $190; + HEAP32[$191>>2] = $186; + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + default: { + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + } + } + break; + } + case 112: { + $192 = ($$0254>>>0)>(8); + $193 = $192 ? $$0254 : 8; + $194 = $$1263$ | 8; + $$1236 = 120;$$1255 = $193;$$3265 = $194; + label = 61; + break; + } + case 88: case 120: { + $$1236 = $$0235;$$1255 = $$0254;$$3265 = $$1263$; + label = 61; + break; + } + case 111: { + $210 = $6; + $211 = $210; + $212 = HEAP32[$211>>2]|0; + $213 = (($210) + 4)|0; + $214 = $213; + $215 = HEAP32[$214>>2]|0; + $216 = (_fmt_o($212,$215,$11)|0); + $217 = $$1263$ & 8; + $218 = ($217|0)==(0); + $219 = $216; + $220 = (($12) - ($219))|0; + $221 = ($$0254|0)>($220|0); + $222 = (($220) + 1)|0; + $223 = $218 | $221; + $$0254$$0254$ = $223 ? $$0254 : $222; + $$0228 = $216;$$1233 = 0;$$1238 = 24479;$$2256 = $$0254$$0254$;$$4266 = $$1263$;$248 = $212;$250 = $215; + label = 67; + break; + } + case 105: case 100: { + $224 = $6; + $225 = $224; + $226 = HEAP32[$225>>2]|0; + $227 = (($224) + 4)|0; + $228 = $227; + $229 = HEAP32[$228>>2]|0; + $230 = ($229|0)<(0); + if ($230) { + $231 = (_i64Subtract(0,0,($226|0),($229|0))|0); + $232 = tempRet0; + $233 = $6; + $234 = $233; + HEAP32[$234>>2] = $231; + $235 = (($233) + 4)|0; + $236 = $235; + HEAP32[$236>>2] = $232; + $$0232 = 1;$$0237 = 24479;$242 = $231;$243 = $232; + label = 66; + break L71; + } else { + $237 = $$1263$ & 2048; + $238 = ($237|0)==(0); + $239 = $$1263$ & 1; + $240 = ($239|0)==(0); + $$ = $240 ? 24479 : (24481); + $$$ = $238 ? $$ : (24480); + $241 = $$1263$ & 2049; + $narrow = ($241|0)!=(0); + $$284$ = $narrow&1; + $$0232 = $$284$;$$0237 = $$$;$242 = $226;$243 = $229; + label = 66; + break L71; + } + break; + } + case 117: { + $165 = $6; + $166 = $165; + $167 = HEAP32[$166>>2]|0; + $168 = (($165) + 4)|0; + $169 = $168; + $170 = HEAP32[$169>>2]|0; + $$0232 = 0;$$0237 = 24479;$242 = $167;$243 = $170; + label = 66; + break; + } + case 99: { + $259 = $6; + $260 = $259; + $261 = HEAP32[$260>>2]|0; + $262 = (($259) + 4)|0; + $263 = $262; + $264 = HEAP32[$263>>2]|0; + $265 = $261&255; + HEAP8[$13>>0] = $265; + $$2 = $13;$$2234 = 0;$$2239 = 24479;$$2251 = $11;$$5 = 1;$$6268 = $164; + break; + } + case 109: { + $266 = (___errno_location()|0); + $267 = HEAP32[$266>>2]|0; + $268 = (_strerror($267)|0); + $$1 = $268; + label = 71; + break; + } + case 115: { + $269 = HEAP32[$6>>2]|0; + $270 = ($269|0)!=(0|0); + $271 = $270 ? $269 : 24489; + $$1 = $271; + label = 71; + break; + } + case 67: { + $278 = $6; + $279 = $278; + $280 = HEAP32[$279>>2]|0; + $281 = (($278) + 4)|0; + $282 = $281; + $283 = HEAP32[$282>>2]|0; + HEAP32[$8>>2] = $280; + HEAP32[$14>>2] = 0; + HEAP32[$6>>2] = $8; + $$4258355 = -1;$331 = $8; + label = 75; + break; + } + case 83: { + $$pre349 = HEAP32[$6>>2]|0; + $284 = ($$0254|0)==(0); + if ($284) { + _pad_674($0,32,$$1260,0,$$1263$); + $$0240$lcssa357 = 0; + label = 84; + } else { + $$4258355 = $$0254;$331 = $$pre349; + label = 75; + } + break; + } + case 65: case 71: case 70: case 69: case 97: case 103: case 102: case 101: { + $306 = +HEAPF64[$6>>3]; + $307 = (_fmt_fp($0,$306,$$1260,$$0254,$$1263$,$$0235)|0); + $$0243 = $307;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + default: { + $$2 = $21;$$2234 = 0;$$2239 = 24479;$$2251 = $11;$$5 = $$0254;$$6268 = $$1263$; + } + } + } while(0); + L95: do { + if ((label|0) == 61) { + label = 0; + $195 = $6; + $196 = $195; + $197 = HEAP32[$196>>2]|0; + $198 = (($195) + 4)|0; + $199 = $198; + $200 = HEAP32[$199>>2]|0; + $201 = $$1236 & 32; + $202 = (_fmt_x($197,$200,$11,$201)|0); + $203 = ($197|0)==(0); + $204 = ($200|0)==(0); + $205 = $203 & $204; + $206 = $$3265 & 8; + $207 = ($206|0)==(0); + $or$cond283 = $207 | $205; + $208 = $$1236 >> 4; + $209 = (24479 + ($208)|0); + $$289 = $or$cond283 ? 24479 : $209; + $$290 = $or$cond283 ? 0 : 2; + $$0228 = $202;$$1233 = $$290;$$1238 = $$289;$$2256 = $$1255;$$4266 = $$3265;$248 = $197;$250 = $200; + label = 67; + } + else if ((label|0) == 66) { + label = 0; + $244 = (_fmt_u($242,$243,$11)|0); + $$0228 = $244;$$1233 = $$0232;$$1238 = $$0237;$$2256 = $$0254;$$4266 = $$1263$;$248 = $242;$250 = $243; + label = 67; + } + else if ((label|0) == 71) { + label = 0; + $272 = (_memchr($$1,0,$$0254)|0); + $273 = ($272|0)==(0|0); + $274 = $272; + $275 = $$1; + $276 = (($274) - ($275))|0; + $277 = (($$1) + ($$0254)|0); + $$3257 = $273 ? $$0254 : $276; + $$1250 = $273 ? $277 : $272; + $$2 = $$1;$$2234 = 0;$$2239 = 24479;$$2251 = $$1250;$$5 = $$3257;$$6268 = $164; + } + else if ((label|0) == 75) { + label = 0; + $$0229322 = $331;$$0240321 = 0;$$1244320 = 0; + while(1) { + $285 = HEAP32[$$0229322>>2]|0; + $286 = ($285|0)==(0); + if ($286) { + $$0240$lcssa = $$0240321;$$2245 = $$1244320; + break; + } + $287 = (_wctomb($9,$285)|0); + $288 = ($287|0)<(0); + $289 = (($$4258355) - ($$0240321))|0; + $290 = ($287>>>0)>($289>>>0); + $or$cond286 = $288 | $290; + if ($or$cond286) { + $$0240$lcssa = $$0240321;$$2245 = $287; + break; + } + $291 = ((($$0229322)) + 4|0); + $292 = (($287) + ($$0240321))|0; + $293 = ($$4258355>>>0)>($292>>>0); + if ($293) { + $$0229322 = $291;$$0240321 = $292;$$1244320 = $287; + } else { + $$0240$lcssa = $292;$$2245 = $287; + break; + } + } + $294 = ($$2245|0)<(0); + if ($294) { + $$0 = -1; + break L1; + } + _pad_674($0,32,$$1260,$$0240$lcssa,$$1263$); + $295 = ($$0240$lcssa|0)==(0); + if ($295) { + $$0240$lcssa357 = 0; + label = 84; + } else { + $$1230333 = $331;$$1241332 = 0; + while(1) { + $296 = HEAP32[$$1230333>>2]|0; + $297 = ($296|0)==(0); + if ($297) { + $$0240$lcssa357 = $$0240$lcssa; + label = 84; + break L95; + } + $298 = (_wctomb($9,$296)|0); + $299 = (($298) + ($$1241332))|0; + $300 = ($299|0)>($$0240$lcssa|0); + if ($300) { + $$0240$lcssa357 = $$0240$lcssa; + label = 84; + break L95; + } + $301 = ((($$1230333)) + 4|0); + _out($0,$9,$298); + $302 = ($299>>>0)<($$0240$lcssa>>>0); + if ($302) { + $$1230333 = $301;$$1241332 = $299; + } else { + $$0240$lcssa357 = $$0240$lcssa; + label = 84; + break; + } + } + } + } + } while(0); + if ((label|0) == 67) { + label = 0; + $245 = ($$2256|0)>(-1); + $246 = $$4266 & -65537; + $$$4266 = $245 ? $246 : $$4266; + $247 = ($248|0)!=(0); + $249 = ($250|0)!=(0); + $251 = $247 | $249; + $252 = ($$2256|0)!=(0); + $or$cond = $252 | $251; + $253 = $$0228; + $254 = (($12) - ($253))|0; + $255 = $251 ^ 1; + $256 = $255&1; + $257 = (($256) + ($254))|0; + $258 = ($$2256|0)>($257|0); + $$2256$ = $258 ? $$2256 : $257; + $$2256$$$2256 = $or$cond ? $$2256$ : $$2256; + $$0228$ = $or$cond ? $$0228 : $11; + $$2 = $$0228$;$$2234 = $$1233;$$2239 = $$1238;$$2251 = $11;$$5 = $$2256$$$2256;$$6268 = $$$4266; + } + else if ((label|0) == 84) { + label = 0; + $303 = $$1263$ ^ 8192; + _pad_674($0,32,$$1260,$$0240$lcssa357,$303); + $304 = ($$1260|0)>($$0240$lcssa357|0); + $305 = $304 ? $$1260 : $$0240$lcssa357; + $$0243 = $305;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue; + } + $308 = $$2251; + $309 = $$2; + $310 = (($308) - ($309))|0; + $311 = ($$5|0)<($310|0); + $$$5 = $311 ? $310 : $$5; + $312 = (($$$5) + ($$2234))|0; + $313 = ($$1260|0)<($312|0); + $$2261 = $313 ? $312 : $$1260; + _pad_674($0,32,$$2261,$312,$$6268); + _out($0,$$2239,$$2234); + $314 = $$6268 ^ 65536; + _pad_674($0,48,$$2261,$312,$314); + _pad_674($0,48,$$$5,$310,0); + _out($0,$$2,$310); + $315 = $$6268 ^ 8192; + _pad_674($0,32,$$2261,$312,$315); + $$0243 = $$2261;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + } + L114: do { + if ((label|0) == 87) { + $316 = ($0|0)==(0|0); + if ($316) { + $317 = ($$0269|0)==(0); + if ($317) { + $$0 = 0; + } else { + $$2242305 = 1; + while(1) { + $318 = (($4) + ($$2242305<<2)|0); + $319 = HEAP32[$318>>2]|0; + $320 = ($319|0)==(0); + if ($320) { + $$3303 = $$2242305; + break; + } + $321 = (($3) + ($$2242305<<3)|0); + _pop_arg($321,$319,$2); + $322 = (($$2242305) + 1)|0; + $323 = ($322|0)<(10); + if ($323) { + $$2242305 = $322; + } else { + $$0 = 1; + break L114; + } + } + while(1) { + $326 = (($4) + ($$3303<<2)|0); + $327 = HEAP32[$326>>2]|0; + $328 = ($327|0)==(0); + $325 = (($$3303) + 1)|0; + if (!($328)) { + $$0 = -1; + break L114; + } + $324 = ($325|0)<(10); + if ($324) { + $$3303 = $325; } else { $$0 = 1; break; } } - } else { - $$0 = 1; - } - } while(0); - $$2 = $$0; - STACKTOP = sp;return ($$2|0); - } - $54 = ((($z)) + 17808|0); - $55 = HEAP32[$54>>2]|0; - $56 = ($55|0)>(0); - L24: do { - if ($56) { - $57 = ((($z)) + 17804|0); - $58 = ((($z)) + 18172|0); - $59 = ((($z)) + 18112|0); - $60 = ((($z)) + 18116|0); - $61 = ((($z)) + 18176|0); - $j2$038 = 0; - while(1) { - $62 = HEAP32[$57>>2]|0; - $63 = ($62|0)>(0); - if ($63) { - $i1$035 = 0; - while(1) { - $64 = HEAP32[$3>>2]|0; - $65 = ($64|0)>(0); - if ($65) { - $k$032 = 0; - while(1) { - $66 = (((($z)) + 18152|0) + ($k$032<<2)|0); - $67 = HEAP32[$66>>2]|0; - $68 = (((((($z)) + 17820|0) + (($67*72)|0)|0)) + 8|0); - $69 = HEAP32[$68>>2]|0; - $70 = ($69|0)>(0); - if ($70) { - $71 = (((((($z)) + 17820|0) + (($67*72)|0)|0)) + 4|0); - $72 = (((((($z)) + 17820|0) + (($67*72)|0)|0)) + 20|0); - $73 = (((((($z)) + 17820|0) + (($67*72)|0)|0)) + 16|0); - $74 = (((((($z)) + 17820|0) + (($67*72)|0)|0)) + 12|0); - $75 = (((((($z)) + 17820|0) + (($67*72)|0)|0)) + 44|0); - $76 = (((((($z)) + 17820|0) + (($67*72)|0)|0)) + 36|0); - $y$029 = 0; - while(1) { - $77 = HEAP32[$71>>2]|0; - $78 = ($77|0)>(0); - if ($78) { - $92 = $77;$x$026 = 0; - while(1) { - $79 = HEAP32[$68>>2]|0; - $80 = HEAP32[$72>>2]|0; - $81 = HEAP32[$73>>2]|0; - $82 = (((($z)) + 4|0) + (($81*1680)|0)|0); - $83 = (((($z)) + 6724|0) + (($80*1680)|0)|0); - $84 = (((($z)) + 13700|0) + ($80<<10)|0); - $85 = HEAP32[$74>>2]|0; - $86 = (((($z)) + 13444|0) + ($85<<6)|0); - $87 = (_stbi__jpeg_decode_block($z,$data,$82,$83,$84,$67,$86)|0); - $88 = ($87|0)==(0); - if ($88) { - $$1 = 0; - break L24; - } - $89 = Math_imul($79, $j2$038)|0; - $90 = (($89) + ($y$029))|0; - $91 = Math_imul($92, $i1$035)|0; - $93 = (($91) + ($x$026))|0; - $94 = HEAP32[$61>>2]|0; - $95 = HEAP32[$75>>2]|0; - $96 = HEAP32[$76>>2]|0; - $97 = Math_imul($96, $90)|0; - $tmp = (($93) + ($97))|0; - $tmp5 = $tmp << 3; - $98 = (($95) + ($tmp5)|0); - FUNCTION_TABLE_viii[$94 & 31]($98,$96,$data); - $99 = (($x$026) + 1)|0; - $100 = HEAP32[$71>>2]|0; - $101 = ($99|0)<($100|0); - if ($101) { - $92 = $100;$x$026 = $99; - } else { - break; - } - } - } - $102 = (($y$029) + 1)|0; - $103 = HEAP32[$68>>2]|0; - $104 = ($102|0)<($103|0); - if ($104) { - $y$029 = $102; - } else { - break; - } - } - } - $105 = (($k$032) + 1)|0; - $106 = HEAP32[$3>>2]|0; - $107 = ($105|0)<($106|0); - if ($107) { - $k$032 = $105; - } else { - break; - } - } - } - $108 = HEAP32[$58>>2]|0; - $109 = (($108) + -1)|0; - HEAP32[$58>>2] = $109; - $110 = ($108|0)<(2); - if ($110) { - $111 = HEAP32[$59>>2]|0; - $112 = ($111|0)<(24); - if ($112) { - _stbi__grow_buffer_unsafe($z); - } - $113 = HEAP8[$60>>0]|0; - $114 = $113 & -8; - $115 = ($114<<24>>24)==(-48); - if (!($115)) { - $$1 = 1; - break L24; - } - _stbi__jpeg_reset($z); - } - $116 = (($i1$035) + 1)|0; - $117 = HEAP32[$57>>2]|0; - $118 = ($116|0)<($117|0); - if ($118) { - $i1$035 = $116; - } else { - break; - } - } - } - $119 = (($j2$038) + 1)|0; - $120 = HEAP32[$54>>2]|0; - $121 = ($119|0)<($120|0); - if ($121) { - $j2$038 = $119; - } else { - $$1 = 1; - break; - } } } else { - $$1 = 1; + $$0 = $$1248; } - } while(0); - $$2 = $$1; - STACKTOP = sp;return ($$2|0); - } + } + } while(0); + STACKTOP = sp;return ($$0|0); +} +function ___lockfile($0) { + $0 = $0|0; + var label = 0, sp = 0; + sp = STACKTOP; + return 0; +} +function ___unlockfile($0) { + $0 = $0|0; + var label = 0, sp = 0; + sp = STACKTOP; + return; +} +function _out($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = HEAP32[$0>>2]|0; + $4 = $3 & 32; + $5 = ($4|0)==(0); if ($5) { - $129 = ((($z)) + 18152|0); - $130 = HEAP32[$129>>2]|0; - $131 = (((((($z)) + 17820|0) + (($130*72)|0)|0)) + 28|0); - $132 = HEAP32[$131>>2]|0; - $133 = (($132) + 7)|0; - $134 = $133 >> 3; - $135 = (((((($z)) + 17820|0) + (($130*72)|0)|0)) + 32|0); - $136 = HEAP32[$135>>2]|0; - $137 = (($136) + 7)|0; - $138 = $137 >> 3; - $139 = ($138|0)>(0); - if (!($139)) { - $$2 = 1; - STACKTOP = sp;return ($$2|0); - } - $140 = ($134|0)>(0); - $141 = (((((($z)) + 17820|0) + (($130*72)|0)|0)) + 60|0); - $142 = (((((($z)) + 17820|0) + (($130*72)|0)|0)) + 64|0); - $143 = ((($z)) + 18128|0); - $144 = (((((($z)) + 17820|0) + (($130*72)|0)|0)) + 16|0); - $145 = ((($z)) + 18172|0); - $146 = ((($z)) + 18112|0); - $147 = ((($z)) + 18116|0); - $148 = (((((($z)) + 17820|0) + (($130*72)|0)|0)) + 20|0); - $j7$043 = 0; - L61: while(1) { - if ($140) { - $i6$040 = 0; - while(1) { - $149 = HEAP32[$141>>2]|0; - $150 = HEAP32[$142>>2]|0; - $151 = Math_imul($150, $j7$043)|0; - $152 = (($151) + ($i6$040))|0; - $153 = $152 << 6; - $154 = (($149) + ($153<<1)|0); - $155 = HEAP32[$143>>2]|0; - $156 = ($155|0)==(0); - if ($156) { - $157 = HEAP32[$144>>2]|0; - $158 = (((($z)) + 4|0) + (($157*1680)|0)|0); - $159 = (_stbi__jpeg_decode_block_prog_dc($z,$154,$158,$130)|0); - $160 = ($159|0)==(0); - if ($160) { - $$2 = 0; - label = 66; - break L61; - } - } else { - $161 = HEAP32[$148>>2]|0; - $162 = (((($z)) + 6724|0) + (($161*1680)|0)|0); - $163 = (((($z)) + 13700|0) + ($161<<10)|0); - $164 = (_stbi__jpeg_decode_block_prog_ac($z,$154,$162,$163)|0); - $165 = ($164|0)==(0); - if ($165) { - $$2 = 0; - label = 66; - break L61; - } - } - $166 = HEAP32[$145>>2]|0; - $167 = (($166) + -1)|0; - HEAP32[$145>>2] = $167; - $168 = ($166|0)<(2); - if ($168) { - $169 = HEAP32[$146>>2]|0; - $170 = ($169|0)<(24); - if ($170) { - _stbi__grow_buffer_unsafe($z); - } - $171 = HEAP8[$147>>0]|0; - $172 = $171 & -8; - $173 = ($172<<24>>24)==(-48); - if (!($173)) { - $$2 = 1; - label = 66; - break L61; - } - _stbi__jpeg_reset($z); - } - $174 = (($i6$040) + 1)|0; - $175 = ($174|0)<($134|0); - if ($175) { - $i6$040 = $174; - } else { - break; - } - } - } - $176 = (($j7$043) + 1)|0; - $177 = ($176|0)<($138|0); - if ($177) { - $j7$043 = $176; + (___fwritex($1,$2,$0)|0); + } + return; +} +function _getint($0) { + $0 = $0|0; + var $$0$lcssa = 0, $$06 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $isdigit = 0, $isdigit5 = 0, $isdigittmp = 0, $isdigittmp4 = 0, $isdigittmp7 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP32[$0>>2]|0; + $2 = HEAP8[$1>>0]|0; + $3 = $2 << 24 >> 24; + $isdigittmp4 = (($3) + -48)|0; + $isdigit5 = ($isdigittmp4>>>0)<(10); + if ($isdigit5) { + $$06 = 0;$7 = $1;$isdigittmp7 = $isdigittmp4; + while(1) { + $4 = ($$06*10)|0; + $5 = (($isdigittmp7) + ($4))|0; + $6 = ((($7)) + 1|0); + HEAP32[$0>>2] = $6; + $8 = HEAP8[$6>>0]|0; + $9 = $8 << 24 >> 24; + $isdigittmp = (($9) + -48)|0; + $isdigit = ($isdigittmp>>>0)<(10); + if ($isdigit) { + $$06 = $5;$7 = $6;$isdigittmp7 = $isdigittmp; } else { - $$2 = 1; - label = 66; + $$0$lcssa = $5; break; } } - if ((label|0) == 66) { - STACKTOP = sp;return ($$2|0); + } else { + $$0$lcssa = 0; + } + return ($$0$lcssa|0); +} +function _pop_arg($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$mask = 0, $$mask31 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0.0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; + var $116 = 0.0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0; + var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0; + var $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0; + var $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0; + var $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $arglist_current = 0, $arglist_current11 = 0, $arglist_current14 = 0, $arglist_current17 = 0; + var $arglist_current2 = 0, $arglist_current20 = 0, $arglist_current23 = 0, $arglist_current26 = 0, $arglist_current5 = 0, $arglist_current8 = 0, $arglist_next = 0, $arglist_next12 = 0, $arglist_next15 = 0, $arglist_next18 = 0, $arglist_next21 = 0, $arglist_next24 = 0, $arglist_next27 = 0, $arglist_next3 = 0, $arglist_next6 = 0, $arglist_next9 = 0, $expanded = 0, $expanded28 = 0, $expanded30 = 0, $expanded31 = 0; + var $expanded32 = 0, $expanded34 = 0, $expanded35 = 0, $expanded37 = 0, $expanded38 = 0, $expanded39 = 0, $expanded41 = 0, $expanded42 = 0, $expanded44 = 0, $expanded45 = 0, $expanded46 = 0, $expanded48 = 0, $expanded49 = 0, $expanded51 = 0, $expanded52 = 0, $expanded53 = 0, $expanded55 = 0, $expanded56 = 0, $expanded58 = 0, $expanded59 = 0; + var $expanded60 = 0, $expanded62 = 0, $expanded63 = 0, $expanded65 = 0, $expanded66 = 0, $expanded67 = 0, $expanded69 = 0, $expanded70 = 0, $expanded72 = 0, $expanded73 = 0, $expanded74 = 0, $expanded76 = 0, $expanded77 = 0, $expanded79 = 0, $expanded80 = 0, $expanded81 = 0, $expanded83 = 0, $expanded84 = 0, $expanded86 = 0, $expanded87 = 0; + var $expanded88 = 0, $expanded90 = 0, $expanded91 = 0, $expanded93 = 0, $expanded94 = 0, $expanded95 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ($1>>>0)>(20); + L1: do { + if (!($3)) { + do { + switch ($1|0) { + case 9: { + $arglist_current = HEAP32[$2>>2]|0; + $4 = $arglist_current; + $5 = ((0) + 4|0); + $expanded28 = $5; + $expanded = (($expanded28) - 1)|0; + $6 = (($4) + ($expanded))|0; + $7 = ((0) + 4|0); + $expanded32 = $7; + $expanded31 = (($expanded32) - 1)|0; + $expanded30 = $expanded31 ^ -1; + $8 = $6 & $expanded30; + $9 = $8; + $10 = HEAP32[$9>>2]|0; + $arglist_next = ((($9)) + 4|0); + HEAP32[$2>>2] = $arglist_next; + HEAP32[$0>>2] = $10; + break L1; + break; + } + case 10: { + $arglist_current2 = HEAP32[$2>>2]|0; + $11 = $arglist_current2; + $12 = ((0) + 4|0); + $expanded35 = $12; + $expanded34 = (($expanded35) - 1)|0; + $13 = (($11) + ($expanded34))|0; + $14 = ((0) + 4|0); + $expanded39 = $14; + $expanded38 = (($expanded39) - 1)|0; + $expanded37 = $expanded38 ^ -1; + $15 = $13 & $expanded37; + $16 = $15; + $17 = HEAP32[$16>>2]|0; + $arglist_next3 = ((($16)) + 4|0); + HEAP32[$2>>2] = $arglist_next3; + $18 = ($17|0)<(0); + $19 = $18 << 31 >> 31; + $20 = $0; + $21 = $20; + HEAP32[$21>>2] = $17; + $22 = (($20) + 4)|0; + $23 = $22; + HEAP32[$23>>2] = $19; + break L1; + break; + } + case 11: { + $arglist_current5 = HEAP32[$2>>2]|0; + $24 = $arglist_current5; + $25 = ((0) + 4|0); + $expanded42 = $25; + $expanded41 = (($expanded42) - 1)|0; + $26 = (($24) + ($expanded41))|0; + $27 = ((0) + 4|0); + $expanded46 = $27; + $expanded45 = (($expanded46) - 1)|0; + $expanded44 = $expanded45 ^ -1; + $28 = $26 & $expanded44; + $29 = $28; + $30 = HEAP32[$29>>2]|0; + $arglist_next6 = ((($29)) + 4|0); + HEAP32[$2>>2] = $arglist_next6; + $31 = $0; + $32 = $31; + HEAP32[$32>>2] = $30; + $33 = (($31) + 4)|0; + $34 = $33; + HEAP32[$34>>2] = 0; + break L1; + break; + } + case 12: { + $arglist_current8 = HEAP32[$2>>2]|0; + $35 = $arglist_current8; + $36 = ((0) + 8|0); + $expanded49 = $36; + $expanded48 = (($expanded49) - 1)|0; + $37 = (($35) + ($expanded48))|0; + $38 = ((0) + 8|0); + $expanded53 = $38; + $expanded52 = (($expanded53) - 1)|0; + $expanded51 = $expanded52 ^ -1; + $39 = $37 & $expanded51; + $40 = $39; + $41 = $40; + $42 = $41; + $43 = HEAP32[$42>>2]|0; + $44 = (($41) + 4)|0; + $45 = $44; + $46 = HEAP32[$45>>2]|0; + $arglist_next9 = ((($40)) + 8|0); + HEAP32[$2>>2] = $arglist_next9; + $47 = $0; + $48 = $47; + HEAP32[$48>>2] = $43; + $49 = (($47) + 4)|0; + $50 = $49; + HEAP32[$50>>2] = $46; + break L1; + break; + } + case 13: { + $arglist_current11 = HEAP32[$2>>2]|0; + $51 = $arglist_current11; + $52 = ((0) + 4|0); + $expanded56 = $52; + $expanded55 = (($expanded56) - 1)|0; + $53 = (($51) + ($expanded55))|0; + $54 = ((0) + 4|0); + $expanded60 = $54; + $expanded59 = (($expanded60) - 1)|0; + $expanded58 = $expanded59 ^ -1; + $55 = $53 & $expanded58; + $56 = $55; + $57 = HEAP32[$56>>2]|0; + $arglist_next12 = ((($56)) + 4|0); + HEAP32[$2>>2] = $arglist_next12; + $58 = $57&65535; + $59 = $58 << 16 >> 16; + $60 = ($59|0)<(0); + $61 = $60 << 31 >> 31; + $62 = $0; + $63 = $62; + HEAP32[$63>>2] = $59; + $64 = (($62) + 4)|0; + $65 = $64; + HEAP32[$65>>2] = $61; + break L1; + break; + } + case 14: { + $arglist_current14 = HEAP32[$2>>2]|0; + $66 = $arglist_current14; + $67 = ((0) + 4|0); + $expanded63 = $67; + $expanded62 = (($expanded63) - 1)|0; + $68 = (($66) + ($expanded62))|0; + $69 = ((0) + 4|0); + $expanded67 = $69; + $expanded66 = (($expanded67) - 1)|0; + $expanded65 = $expanded66 ^ -1; + $70 = $68 & $expanded65; + $71 = $70; + $72 = HEAP32[$71>>2]|0; + $arglist_next15 = ((($71)) + 4|0); + HEAP32[$2>>2] = $arglist_next15; + $$mask31 = $72 & 65535; + $73 = $0; + $74 = $73; + HEAP32[$74>>2] = $$mask31; + $75 = (($73) + 4)|0; + $76 = $75; + HEAP32[$76>>2] = 0; + break L1; + break; + } + case 15: { + $arglist_current17 = HEAP32[$2>>2]|0; + $77 = $arglist_current17; + $78 = ((0) + 4|0); + $expanded70 = $78; + $expanded69 = (($expanded70) - 1)|0; + $79 = (($77) + ($expanded69))|0; + $80 = ((0) + 4|0); + $expanded74 = $80; + $expanded73 = (($expanded74) - 1)|0; + $expanded72 = $expanded73 ^ -1; + $81 = $79 & $expanded72; + $82 = $81; + $83 = HEAP32[$82>>2]|0; + $arglist_next18 = ((($82)) + 4|0); + HEAP32[$2>>2] = $arglist_next18; + $84 = $83&255; + $85 = $84 << 24 >> 24; + $86 = ($85|0)<(0); + $87 = $86 << 31 >> 31; + $88 = $0; + $89 = $88; + HEAP32[$89>>2] = $85; + $90 = (($88) + 4)|0; + $91 = $90; + HEAP32[$91>>2] = $87; + break L1; + break; + } + case 16: { + $arglist_current20 = HEAP32[$2>>2]|0; + $92 = $arglist_current20; + $93 = ((0) + 4|0); + $expanded77 = $93; + $expanded76 = (($expanded77) - 1)|0; + $94 = (($92) + ($expanded76))|0; + $95 = ((0) + 4|0); + $expanded81 = $95; + $expanded80 = (($expanded81) - 1)|0; + $expanded79 = $expanded80 ^ -1; + $96 = $94 & $expanded79; + $97 = $96; + $98 = HEAP32[$97>>2]|0; + $arglist_next21 = ((($97)) + 4|0); + HEAP32[$2>>2] = $arglist_next21; + $$mask = $98 & 255; + $99 = $0; + $100 = $99; + HEAP32[$100>>2] = $$mask; + $101 = (($99) + 4)|0; + $102 = $101; + HEAP32[$102>>2] = 0; + break L1; + break; + } + case 17: { + $arglist_current23 = HEAP32[$2>>2]|0; + $103 = $arglist_current23; + $104 = ((0) + 8|0); + $expanded84 = $104; + $expanded83 = (($expanded84) - 1)|0; + $105 = (($103) + ($expanded83))|0; + $106 = ((0) + 8|0); + $expanded88 = $106; + $expanded87 = (($expanded88) - 1)|0; + $expanded86 = $expanded87 ^ -1; + $107 = $105 & $expanded86; + $108 = $107; + $109 = +HEAPF64[$108>>3]; + $arglist_next24 = ((($108)) + 8|0); + HEAP32[$2>>2] = $arglist_next24; + HEAPF64[$0>>3] = $109; + break L1; + break; + } + case 18: { + $arglist_current26 = HEAP32[$2>>2]|0; + $110 = $arglist_current26; + $111 = ((0) + 8|0); + $expanded91 = $111; + $expanded90 = (($expanded91) - 1)|0; + $112 = (($110) + ($expanded90))|0; + $113 = ((0) + 8|0); + $expanded95 = $113; + $expanded94 = (($expanded95) - 1)|0; + $expanded93 = $expanded94 ^ -1; + $114 = $112 & $expanded93; + $115 = $114; + $116 = +HEAPF64[$115>>3]; + $arglist_next27 = ((($115)) + 8|0); + HEAP32[$2>>2] = $arglist_next27; + HEAPF64[$0>>3] = $116; + break L1; + break; + } + default: { + break L1; + } + } + } while(0); + } + } while(0); + return; +} +function _fmt_x($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$05$lcssa = 0, $$056 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; + var sp = 0; + sp = STACKTOP; + $4 = ($0|0)==(0); + $5 = ($1|0)==(0); + $6 = $4 & $5; + if ($6) { + $$05$lcssa = $2; + } else { + $$056 = $2;$15 = $1;$8 = $0; + while(1) { + $7 = $8 & 15; + $9 = (24527 + ($7)|0); + $10 = HEAP8[$9>>0]|0; + $11 = $10&255; + $12 = $11 | $3; + $13 = $12&255; + $14 = ((($$056)) + -1|0); + HEAP8[$14>>0] = $13; + $16 = (_bitshift64Lshr(($8|0),($15|0),4)|0); + $17 = tempRet0; + $18 = ($16|0)==(0); + $19 = ($17|0)==(0); + $20 = $18 & $19; + if ($20) { + $$05$lcssa = $14; + break; + } else { + $$056 = $14;$15 = $17;$8 = $16; + } } } - $122 = ((($z)) + 17808|0); - $123 = HEAP32[$122>>2]|0; - $124 = ($123|0)>(0); - if (!($124)) { - $$2 = 1; - STACKTOP = sp;return ($$2|0); + return ($$05$lcssa|0); +} +function _fmt_o($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$0$lcssa = 0, $$06 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ($0|0)==(0); + $4 = ($1|0)==(0); + $5 = $3 & $4; + if ($5) { + $$0$lcssa = $2; + } else { + $$06 = $2;$11 = $1;$7 = $0; + while(1) { + $6 = $7&255; + $8 = $6 & 7; + $9 = $8 | 48; + $10 = ((($$06)) + -1|0); + HEAP8[$10>>0] = $9; + $12 = (_bitshift64Lshr(($7|0),($11|0),3)|0); + $13 = tempRet0; + $14 = ($12|0)==(0); + $15 = ($13|0)==(0); + $16 = $14 & $15; + if ($16) { + $$0$lcssa = $10; + break; + } else { + $$06 = $10;$11 = $13;$7 = $12; + } + } } - $125 = ((($z)) + 17804|0); - $126 = ((($z)) + 18172|0); - $127 = ((($z)) + 18112|0); - $128 = ((($z)) + 18116|0); - $j14$057 = 0; - L87: while(1) { - $178 = HEAP32[$125>>2]|0; - $179 = ($178|0)>(0); - if ($179) { - $i13$054 = 0; + return ($$0$lcssa|0); +} +function _fmt_u($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$010$lcssa$off0 = 0, $$012 = 0, $$09$lcssa = 0, $$0914 = 0, $$1$lcssa = 0, $$111 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; + var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ($1>>>0)>(0); + $4 = ($0>>>0)>(4294967295); + $5 = ($1|0)==(0); + $6 = $5 & $4; + $7 = $3 | $6; + if ($7) { + $$0914 = $2;$8 = $0;$9 = $1; + while(1) { + $10 = (___uremdi3(($8|0),($9|0),10,0)|0); + $11 = tempRet0; + $12 = $10&255; + $13 = $12 | 48; + $14 = ((($$0914)) + -1|0); + HEAP8[$14>>0] = $13; + $15 = (___udivdi3(($8|0),($9|0),10,0)|0); + $16 = tempRet0; + $17 = ($9>>>0)>(9); + $18 = ($8>>>0)>(4294967295); + $19 = ($9|0)==(9); + $20 = $19 & $18; + $21 = $17 | $20; + if ($21) { + $$0914 = $14;$8 = $15;$9 = $16; + } else { + break; + } + } + $$010$lcssa$off0 = $15;$$09$lcssa = $14; + } else { + $$010$lcssa$off0 = $0;$$09$lcssa = $2; + } + $22 = ($$010$lcssa$off0|0)==(0); + if ($22) { + $$1$lcssa = $$09$lcssa; + } else { + $$012 = $$010$lcssa$off0;$$111 = $$09$lcssa; + while(1) { + $23 = (($$012>>>0) % 10)&-1; + $24 = $23 | 48; + $25 = $24&255; + $26 = ((($$111)) + -1|0); + HEAP8[$26>>0] = $25; + $27 = (($$012>>>0) / 10)&-1; + $28 = ($$012>>>0)<(10); + if ($28) { + $$1$lcssa = $26; + break; + } else { + $$012 = $27;$$111 = $26; + } + } + } + return ($$1$lcssa|0); +} +function _strerror($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (___pthread_self_105()|0); + $2 = ((($1)) + 188|0); + $3 = HEAP32[$2>>2]|0; + $4 = (___strerror_l($0,$3)|0); + return ($4|0); +} +function _memchr($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$0$lcssa = 0, $$035$lcssa = 0, $$035$lcssa65 = 0, $$03555 = 0, $$036$lcssa = 0, $$036$lcssa64 = 0, $$03654 = 0, $$046 = 0, $$137$lcssa = 0, $$13745 = 0, $$140 = 0, $$2 = 0, $$23839 = 0, $$3 = 0, $$lcssa = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0; + var $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0; + var $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond53 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = $1 & 255; + $4 = $0; + $5 = $4 & 3; + $6 = ($5|0)!=(0); + $7 = ($2|0)!=(0); + $or$cond53 = $7 & $6; + L1: do { + if ($or$cond53) { + $8 = $1&255; + $$03555 = $0;$$03654 = $2; while(1) { - $180 = HEAP32[$3>>2]|0; - $181 = ($180|0)>(0); - if ($181) { - $k15$051 = 0; - while(1) { - $182 = (((($z)) + 18152|0) + ($k15$051<<2)|0); - $183 = HEAP32[$182>>2]|0; - $184 = (((((($z)) + 17820|0) + (($183*72)|0)|0)) + 8|0); - $185 = HEAP32[$184>>2]|0; - $186 = ($185|0)>(0); - if ($186) { - $187 = (((((($z)) + 17820|0) + (($183*72)|0)|0)) + 4|0); - $188 = (((((($z)) + 17820|0) + (($183*72)|0)|0)) + 60|0); - $189 = (((((($z)) + 17820|0) + (($183*72)|0)|0)) + 64|0); - $190 = (((((($z)) + 17820|0) + (($183*72)|0)|0)) + 16|0); - $y17$048 = 0; - while(1) { - $191 = HEAP32[$187>>2]|0; - $192 = ($191|0)>(0); - if ($192) { - $197 = $191;$x16$045 = 0; - while(1) { - $196 = Math_imul($197, $i13$054)|0; - $198 = (($196) + ($x16$045))|0; - $199 = HEAP32[$184>>2]|0; - $200 = Math_imul($199, $j14$057)|0; - $201 = (($200) + ($y17$048))|0; - $202 = HEAP32[$188>>2]|0; - $203 = HEAP32[$189>>2]|0; - $204 = Math_imul($201, $203)|0; - $205 = (($198) + ($204))|0; - $206 = $205 << 6; - $207 = (($202) + ($206<<1)|0); - $208 = HEAP32[$190>>2]|0; - $209 = (((($z)) + 4|0) + (($208*1680)|0)|0); - $210 = (_stbi__jpeg_decode_block_prog_dc($z,$207,$209,$183)|0); - $211 = ($210|0)==(0); - $194 = (($x16$045) + 1)|0; - if ($211) { - $$2 = 0; - label = 66; - break L87; - } - $193 = HEAP32[$187>>2]|0; - $195 = ($194|0)<($193|0); - if ($195) { - $197 = $193;$x16$045 = $194; - } else { - break; - } - } - } - $212 = (($y17$048) + 1)|0; - $213 = HEAP32[$184>>2]|0; - $214 = ($212|0)<($213|0); - if ($214) { - $y17$048 = $212; - } else { - break; - } + $9 = HEAP8[$$03555>>0]|0; + $10 = ($9<<24>>24)==($8<<24>>24); + if ($10) { + $$035$lcssa65 = $$03555;$$036$lcssa64 = $$03654; + label = 6; + break L1; + } + $11 = ((($$03555)) + 1|0); + $12 = (($$03654) + -1)|0; + $13 = $11; + $14 = $13 & 3; + $15 = ($14|0)!=(0); + $16 = ($12|0)!=(0); + $or$cond = $16 & $15; + if ($or$cond) { + $$03555 = $11;$$03654 = $12; + } else { + $$035$lcssa = $11;$$036$lcssa = $12;$$lcssa = $16; + label = 5; + break; + } + } + } else { + $$035$lcssa = $0;$$036$lcssa = $2;$$lcssa = $7; + label = 5; + } + } while(0); + if ((label|0) == 5) { + if ($$lcssa) { + $$035$lcssa65 = $$035$lcssa;$$036$lcssa64 = $$036$lcssa; + label = 6; + } else { + $$2 = $$035$lcssa;$$3 = 0; + } + } + L8: do { + if ((label|0) == 6) { + $17 = HEAP8[$$035$lcssa65>>0]|0; + $18 = $1&255; + $19 = ($17<<24>>24)==($18<<24>>24); + if ($19) { + $$2 = $$035$lcssa65;$$3 = $$036$lcssa64; + } else { + $20 = Math_imul($3, 16843009)|0; + $21 = ($$036$lcssa64>>>0)>(3); + L11: do { + if ($21) { + $$046 = $$035$lcssa65;$$13745 = $$036$lcssa64; + while(1) { + $22 = HEAP32[$$046>>2]|0; + $23 = $22 ^ $20; + $24 = (($23) + -16843009)|0; + $25 = $23 & -2139062144; + $26 = $25 ^ -2139062144; + $27 = $26 & $24; + $28 = ($27|0)==(0); + if (!($28)) { + break; + } + $29 = ((($$046)) + 4|0); + $30 = (($$13745) + -4)|0; + $31 = ($30>>>0)>(3); + if ($31) { + $$046 = $29;$$13745 = $30; + } else { + $$0$lcssa = $29;$$137$lcssa = $30; + label = 11; + break L11; } } - $215 = (($k15$051) + 1)|0; - $216 = HEAP32[$3>>2]|0; - $217 = ($215|0)<($216|0); - if ($217) { - $k15$051 = $215; - } else { - break; - } + $$140 = $$046;$$23839 = $$13745; + } else { + $$0$lcssa = $$035$lcssa65;$$137$lcssa = $$036$lcssa64; + label = 11; + } + } while(0); + if ((label|0) == 11) { + $32 = ($$137$lcssa|0)==(0); + if ($32) { + $$2 = $$0$lcssa;$$3 = 0; + break; + } else { + $$140 = $$0$lcssa;$$23839 = $$137$lcssa; } } - $218 = HEAP32[$126>>2]|0; - $219 = (($218) + -1)|0; - HEAP32[$126>>2] = $219; - $220 = ($218|0)<(2); - if ($220) { - $221 = HEAP32[$127>>2]|0; - $222 = ($221|0)<(24); - if ($222) { - _stbi__grow_buffer_unsafe($z); + while(1) { + $33 = HEAP8[$$140>>0]|0; + $34 = ($33<<24>>24)==($18<<24>>24); + if ($34) { + $$2 = $$140;$$3 = $$23839; + break L8; } - $223 = HEAP8[$128>>0]|0; - $224 = $223 & -8; - $225 = ($224<<24>>24)==(-48); - if (!($225)) { - $$2 = 1; - label = 66; - break L87; + $35 = ((($$140)) + 1|0); + $36 = (($$23839) + -1)|0; + $37 = ($36|0)==(0); + if ($37) { + $$2 = $35;$$3 = 0; + break; + } else { + $$140 = $35;$$23839 = $36; } - _stbi__jpeg_reset($z); } - $226 = (($i13$054) + 1)|0; - $227 = HEAP32[$125>>2]|0; - $228 = ($226|0)<($227|0); - if ($228) { - $i13$054 = $226; + } + } + } while(0); + $38 = ($$3|0)!=(0); + $39 = $38 ? $$2 : 0; + return ($39|0); +} +function _pad_674($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$0$lcssa = 0, $$011 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0); + $5 = sp; + $6 = $4 & 73728; + $7 = ($6|0)==(0); + $8 = ($2|0)>($3|0); + $or$cond = $8 & $7; + if ($or$cond) { + $9 = (($2) - ($3))|0; + $10 = ($9>>>0)<(256); + $11 = $10 ? $9 : 256; + _memset(($5|0),($1|0),($11|0))|0; + $12 = ($9>>>0)>(255); + if ($12) { + $13 = (($2) - ($3))|0; + $$011 = $9; + while(1) { + _out($0,$5,256); + $14 = (($$011) + -256)|0; + $15 = ($14>>>0)>(255); + if ($15) { + $$011 = $14; } else { break; } } - } - $229 = (($j14$057) + 1)|0; - $230 = HEAP32[$122>>2]|0; - $231 = ($229|0)<($230|0); - if ($231) { - $j14$057 = $229; + $16 = $13 & 255; + $$0$lcssa = $16; } else { - $$2 = 1; - label = 66; + $$0$lcssa = $9; + } + _out($0,$5,$$0$lcssa); + } + STACKTOP = sp;return; +} +function _wctomb($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ($0|0)==(0|0); + if ($2) { + $$0 = 0; + } else { + $3 = (_wcrtomb($0,$1,0)|0); + $$0 = $3; + } + return ($$0|0); +} +function _fmt_fp($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = +$1; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + var $$ = 0, $$$ = 0, $$$$559 = 0.0, $$$3484 = 0, $$$3484691 = 0, $$$3484692 = 0, $$$3501 = 0, $$$4502 = 0, $$$542 = 0.0, $$$559 = 0.0, $$0 = 0, $$0463$lcssa = 0, $$0463584 = 0, $$0464594 = 0, $$0471 = 0.0, $$0479 = 0, $$0487642 = 0, $$0488 = 0, $$0488653 = 0, $$0488655 = 0; + var $$0496$$9 = 0, $$0497654 = 0, $$0498 = 0, $$0509582 = 0.0, $$0510 = 0, $$0511 = 0, $$0514637 = 0, $$0520 = 0, $$0521 = 0, $$0521$ = 0, $$0523 = 0, $$0525 = 0, $$0527 = 0, $$0527629 = 0, $$0527631 = 0, $$0530636 = 0, $$1465 = 0, $$1467 = 0.0, $$1469 = 0.0, $$1472 = 0.0; + var $$1480 = 0, $$1482$lcssa = 0, $$1482661 = 0, $$1489641 = 0, $$1499$lcssa = 0, $$1499660 = 0, $$1508583 = 0, $$1512$lcssa = 0, $$1512607 = 0, $$1515 = 0, $$1524 = 0, $$1526 = 0, $$1528614 = 0, $$1531$lcssa = 0, $$1531630 = 0, $$1598 = 0, $$2 = 0, $$2473 = 0.0, $$2476 = 0, $$2476$$547 = 0; + var $$2476$$549 = 0, $$2483$ph = 0, $$2500 = 0, $$2513 = 0, $$2516618 = 0, $$2529 = 0, $$2532617 = 0, $$3 = 0.0, $$3477 = 0, $$3484$lcssa = 0, $$3484648 = 0, $$3501$lcssa = 0, $$3501647 = 0, $$3533613 = 0, $$4 = 0.0, $$4478$lcssa = 0, $$4478590 = 0, $$4492 = 0, $$4502 = 0, $$4518 = 0; + var $$5$lcssa = 0, $$534$ = 0, $$539 = 0, $$539$ = 0, $$542 = 0.0, $$546 = 0, $$548 = 0, $$5486$lcssa = 0, $$5486623 = 0, $$5493597 = 0, $$5519$ph = 0, $$555 = 0, $$556 = 0, $$559 = 0.0, $$5602 = 0, $$6 = 0, $$6494589 = 0, $$7495601 = 0, $$7505 = 0, $$7505$ = 0; + var $$7505$ph = 0, $$8 = 0, $$9$ph = 0, $$lcssa673 = 0, $$neg = 0, $$neg567 = 0, $$pn = 0, $$pn566 = 0, $$pr = 0, $$pr564 = 0, $$pre = 0, $$pre$phi690Z2D = 0, $$pre689 = 0, $$sink545$lcssa = 0, $$sink545622 = 0, $$sink562 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0; + var $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0.0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0.0, $117 = 0.0, $118 = 0.0, $119 = 0, $12 = 0, $120 = 0; + var $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0; + var $14 = 0.0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0; + var $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0; + var $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0; + var $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0; + var $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0.0, $229 = 0.0, $23 = 0; + var $230 = 0, $231 = 0.0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0; + var $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0; + var $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0; + var $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0; + var $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0; + var $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0; + var $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0.0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0; + var $358 = 0, $359 = 0, $36 = 0.0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0; + var $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0.0, $52 = 0, $53 = 0, $54 = 0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0.0, $61 = 0, $62 = 0, $63 = 0; + var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0; + var $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0.0, $88 = 0.0, $89 = 0.0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond = 0; + var $narrow = 0, $not$ = 0, $notlhs = 0, $notrhs = 0, $or$cond = 0, $or$cond3$not = 0, $or$cond537 = 0, $or$cond541 = 0, $or$cond544 = 0, $or$cond554 = 0, $or$cond6 = 0, $scevgep684 = 0, $scevgep684685 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 560|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(560|0); + $6 = sp + 8|0; + $7 = sp; + $8 = sp + 524|0; + $9 = $8; + $10 = sp + 512|0; + HEAP32[$7>>2] = 0; + $11 = ((($10)) + 12|0); + (___DOUBLE_BITS_675($1)|0); + $12 = tempRet0; + $13 = ($12|0)<(0); + if ($13) { + $14 = -$1; + $$0471 = $14;$$0520 = 1;$$0521 = 24496; + } else { + $15 = $4 & 2048; + $16 = ($15|0)==(0); + $17 = $4 & 1; + $18 = ($17|0)==(0); + $$ = $18 ? (24497) : (24502); + $$$ = $16 ? $$ : (24499); + $19 = $4 & 2049; + $narrow = ($19|0)!=(0); + $$534$ = $narrow&1; + $$0471 = $1;$$0520 = $$534$;$$0521 = $$$; + } + (___DOUBLE_BITS_675($$0471)|0); + $20 = tempRet0; + $21 = $20 & 2146435072; + $22 = ($21>>>0)<(2146435072); + $23 = (0)<(0); + $24 = ($21|0)==(2146435072); + $25 = $24 & $23; + $26 = $22 | $25; + do { + if ($26) { + $35 = (+_frexpl($$0471,$7)); + $36 = $35 * 2.0; + $37 = $36 != 0.0; + if ($37) { + $38 = HEAP32[$7>>2]|0; + $39 = (($38) + -1)|0; + HEAP32[$7>>2] = $39; + } + $40 = $5 | 32; + $41 = ($40|0)==(97); + if ($41) { + $42 = $5 & 32; + $43 = ($42|0)==(0); + $44 = ((($$0521)) + 9|0); + $$0521$ = $43 ? $$0521 : $44; + $45 = $$0520 | 2; + $46 = ($3>>>0)>(11); + $47 = (12 - ($3))|0; + $48 = ($47|0)==(0); + $49 = $46 | $48; + do { + if ($49) { + $$1472 = $36; + } else { + $$0509582 = 8.0;$$1508583 = $47; + while(1) { + $50 = (($$1508583) + -1)|0; + $51 = $$0509582 * 16.0; + $52 = ($50|0)==(0); + if ($52) { + break; + } else { + $$0509582 = $51;$$1508583 = $50; + } + } + $53 = HEAP8[$$0521$>>0]|0; + $54 = ($53<<24>>24)==(45); + if ($54) { + $55 = -$36; + $56 = $55 - $51; + $57 = $51 + $56; + $58 = -$57; + $$1472 = $58; + break; + } else { + $59 = $36 + $51; + $60 = $59 - $51; + $$1472 = $60; + break; + } + } + } while(0); + $61 = HEAP32[$7>>2]|0; + $62 = ($61|0)<(0); + $63 = (0 - ($61))|0; + $64 = $62 ? $63 : $61; + $65 = ($64|0)<(0); + $66 = $65 << 31 >> 31; + $67 = (_fmt_u($64,$66,$11)|0); + $68 = ($67|0)==($11|0); + if ($68) { + $69 = ((($10)) + 11|0); + HEAP8[$69>>0] = 48; + $$0511 = $69; + } else { + $$0511 = $67; + } + $70 = $61 >> 31; + $71 = $70 & 2; + $72 = (($71) + 43)|0; + $73 = $72&255; + $74 = ((($$0511)) + -1|0); + HEAP8[$74>>0] = $73; + $75 = (($5) + 15)|0; + $76 = $75&255; + $77 = ((($$0511)) + -2|0); + HEAP8[$77>>0] = $76; + $notrhs = ($3|0)<(1); + $78 = $4 & 8; + $79 = ($78|0)==(0); + $$0523 = $8;$$2473 = $$1472; + while(1) { + $80 = (~~(($$2473))); + $81 = (24527 + ($80)|0); + $82 = HEAP8[$81>>0]|0; + $83 = $82&255; + $84 = $83 | $42; + $85 = $84&255; + $86 = ((($$0523)) + 1|0); + HEAP8[$$0523>>0] = $85; + $87 = (+($80|0)); + $88 = $$2473 - $87; + $89 = $88 * 16.0; + $90 = $86; + $91 = (($90) - ($9))|0; + $92 = ($91|0)==(1); + if ($92) { + $notlhs = $89 == 0.0; + $or$cond3$not = $notrhs & $notlhs; + $or$cond = $79 & $or$cond3$not; + if ($or$cond) { + $$1524 = $86; + } else { + $93 = ((($$0523)) + 2|0); + HEAP8[$86>>0] = 46; + $$1524 = $93; + } + } else { + $$1524 = $86; + } + $94 = $89 != 0.0; + if ($94) { + $$0523 = $$1524;$$2473 = $89; + } else { + break; + } + } + $95 = ($3|0)!=(0); + $96 = $77; + $97 = $11; + $98 = $$1524; + $99 = (($98) - ($9))|0; + $100 = (($97) - ($96))|0; + $101 = (($99) + -2)|0; + $102 = ($101|0)<($3|0); + $or$cond537 = $95 & $102; + $103 = (($3) + 2)|0; + $$pn = $or$cond537 ? $103 : $99; + $$0525 = (($100) + ($45))|0; + $104 = (($$0525) + ($$pn))|0; + _pad_674($0,32,$2,$104,$4); + _out($0,$$0521$,$45); + $105 = $4 ^ 65536; + _pad_674($0,48,$2,$104,$105); + _out($0,$8,$99); + $106 = (($$pn) - ($99))|0; + _pad_674($0,48,$106,0,0); + _out($0,$77,$100); + $107 = $4 ^ 8192; + _pad_674($0,32,$2,$104,$107); + $$sink562 = $104; + break; + } + $108 = ($3|0)<(0); + $$539 = $108 ? 6 : $3; + if ($37) { + $109 = $36 * 268435456.0; + $110 = HEAP32[$7>>2]|0; + $111 = (($110) + -28)|0; + HEAP32[$7>>2] = $111; + $$3 = $109;$$pr = $111; + } else { + $$pre = HEAP32[$7>>2]|0; + $$3 = $36;$$pr = $$pre; + } + $112 = ($$pr|0)<(0); + $113 = ((($6)) + 288|0); + $$556 = $112 ? $6 : $113; + $$0498 = $$556;$$4 = $$3; + while(1) { + $114 = (~~(($$4))>>>0); + HEAP32[$$0498>>2] = $114; + $115 = ((($$0498)) + 4|0); + $116 = (+($114>>>0)); + $117 = $$4 - $116; + $118 = $117 * 1.0E+9; + $119 = $118 != 0.0; + if ($119) { + $$0498 = $115;$$4 = $118; + } else { + break; + } + } + $120 = ($$pr|0)>(0); + if ($120) { + $$1482661 = $$556;$$1499660 = $115;$122 = $$pr; + while(1) { + $121 = ($122|0)<(29); + $123 = $121 ? $122 : 29; + $$0488653 = ((($$1499660)) + -4|0); + $124 = ($$0488653>>>0)<($$1482661>>>0); + if ($124) { + $$2483$ph = $$1482661; + } else { + $$0488655 = $$0488653;$$0497654 = 0; + while(1) { + $125 = HEAP32[$$0488655>>2]|0; + $126 = (_bitshift64Shl(($125|0),0,($123|0))|0); + $127 = tempRet0; + $128 = (_i64Add(($126|0),($127|0),($$0497654|0),0)|0); + $129 = tempRet0; + $130 = (___uremdi3(($128|0),($129|0),1000000000,0)|0); + $131 = tempRet0; + HEAP32[$$0488655>>2] = $130; + $132 = (___udivdi3(($128|0),($129|0),1000000000,0)|0); + $133 = tempRet0; + $$0488 = ((($$0488655)) + -4|0); + $134 = ($$0488>>>0)<($$1482661>>>0); + if ($134) { + break; + } else { + $$0488655 = $$0488;$$0497654 = $132; + } + } + $135 = ($132|0)==(0); + if ($135) { + $$2483$ph = $$1482661; + } else { + $136 = ((($$1482661)) + -4|0); + HEAP32[$136>>2] = $132; + $$2483$ph = $136; + } + } + $$2500 = $$1499660; + while(1) { + $137 = ($$2500>>>0)>($$2483$ph>>>0); + if (!($137)) { + break; + } + $138 = ((($$2500)) + -4|0); + $139 = HEAP32[$138>>2]|0; + $140 = ($139|0)==(0); + if ($140) { + $$2500 = $138; + } else { + break; + } + } + $141 = HEAP32[$7>>2]|0; + $142 = (($141) - ($123))|0; + HEAP32[$7>>2] = $142; + $143 = ($142|0)>(0); + if ($143) { + $$1482661 = $$2483$ph;$$1499660 = $$2500;$122 = $142; + } else { + $$1482$lcssa = $$2483$ph;$$1499$lcssa = $$2500;$$pr564 = $142; + break; + } + } + } else { + $$1482$lcssa = $$556;$$1499$lcssa = $115;$$pr564 = $$pr; + } + $144 = ($$pr564|0)<(0); + if ($144) { + $145 = (($$539) + 25)|0; + $146 = (($145|0) / 9)&-1; + $147 = (($146) + 1)|0; + $148 = ($40|0)==(102); + $$3484648 = $$1482$lcssa;$$3501647 = $$1499$lcssa;$150 = $$pr564; + while(1) { + $149 = (0 - ($150))|0; + $151 = ($149|0)<(9); + $152 = $151 ? $149 : 9; + $153 = ($$3484648>>>0)<($$3501647>>>0); + if ($153) { + $157 = 1 << $152; + $158 = (($157) + -1)|0; + $159 = 1000000000 >>> $152; + $$0487642 = 0;$$1489641 = $$3484648; + while(1) { + $160 = HEAP32[$$1489641>>2]|0; + $161 = $160 & $158; + $162 = $160 >>> $152; + $163 = (($162) + ($$0487642))|0; + HEAP32[$$1489641>>2] = $163; + $164 = Math_imul($161, $159)|0; + $165 = ((($$1489641)) + 4|0); + $166 = ($165>>>0)<($$3501647>>>0); + if ($166) { + $$0487642 = $164;$$1489641 = $165; + } else { + break; + } + } + $167 = HEAP32[$$3484648>>2]|0; + $168 = ($167|0)==(0); + $169 = ((($$3484648)) + 4|0); + $$$3484 = $168 ? $169 : $$3484648; + $170 = ($164|0)==(0); + if ($170) { + $$$3484692 = $$$3484;$$4502 = $$3501647; + } else { + $171 = ((($$3501647)) + 4|0); + HEAP32[$$3501647>>2] = $164; + $$$3484692 = $$$3484;$$4502 = $171; + } + } else { + $154 = HEAP32[$$3484648>>2]|0; + $155 = ($154|0)==(0); + $156 = ((($$3484648)) + 4|0); + $$$3484691 = $155 ? $156 : $$3484648; + $$$3484692 = $$$3484691;$$4502 = $$3501647; + } + $172 = $148 ? $$556 : $$$3484692; + $173 = $$4502; + $174 = $172; + $175 = (($173) - ($174))|0; + $176 = $175 >> 2; + $177 = ($176|0)>($147|0); + $178 = (($172) + ($147<<2)|0); + $$$4502 = $177 ? $178 : $$4502; + $179 = HEAP32[$7>>2]|0; + $180 = (($179) + ($152))|0; + HEAP32[$7>>2] = $180; + $181 = ($180|0)<(0); + if ($181) { + $$3484648 = $$$3484692;$$3501647 = $$$4502;$150 = $180; + } else { + $$3484$lcssa = $$$3484692;$$3501$lcssa = $$$4502; + break; + } + } + } else { + $$3484$lcssa = $$1482$lcssa;$$3501$lcssa = $$1499$lcssa; + } + $182 = ($$3484$lcssa>>>0)<($$3501$lcssa>>>0); + $183 = $$556; + if ($182) { + $184 = $$3484$lcssa; + $185 = (($183) - ($184))|0; + $186 = $185 >> 2; + $187 = ($186*9)|0; + $188 = HEAP32[$$3484$lcssa>>2]|0; + $189 = ($188>>>0)<(10); + if ($189) { + $$1515 = $187; + } else { + $$0514637 = $187;$$0530636 = 10; + while(1) { + $190 = ($$0530636*10)|0; + $191 = (($$0514637) + 1)|0; + $192 = ($188>>>0)<($190>>>0); + if ($192) { + $$1515 = $191; + break; + } else { + $$0514637 = $191;$$0530636 = $190; + } + } + } + } else { + $$1515 = 0; + } + $193 = ($40|0)!=(102); + $194 = $193 ? $$1515 : 0; + $195 = (($$539) - ($194))|0; + $196 = ($40|0)==(103); + $197 = ($$539|0)!=(0); + $198 = $197 & $196; + $$neg = $198 << 31 >> 31; + $199 = (($195) + ($$neg))|0; + $200 = $$3501$lcssa; + $201 = (($200) - ($183))|0; + $202 = $201 >> 2; + $203 = ($202*9)|0; + $204 = (($203) + -9)|0; + $205 = ($199|0)<($204|0); + if ($205) { + $206 = ((($$556)) + 4|0); + $207 = (($199) + 9216)|0; + $208 = (($207|0) / 9)&-1; + $209 = (($208) + -1024)|0; + $210 = (($206) + ($209<<2)|0); + $211 = (($207|0) % 9)&-1; + $$0527629 = (($211) + 1)|0; + $212 = ($$0527629|0)<(9); + if ($212) { + $$0527631 = $$0527629;$$1531630 = 10; + while(1) { + $213 = ($$1531630*10)|0; + $$0527 = (($$0527631) + 1)|0; + $exitcond = ($$0527|0)==(9); + if ($exitcond) { + $$1531$lcssa = $213; + break; + } else { + $$0527631 = $$0527;$$1531630 = $213; + } + } + } else { + $$1531$lcssa = 10; + } + $214 = HEAP32[$210>>2]|0; + $215 = (($214>>>0) % ($$1531$lcssa>>>0))&-1; + $216 = ($215|0)==(0); + $217 = ((($210)) + 4|0); + $218 = ($217|0)==($$3501$lcssa|0); + $or$cond541 = $218 & $216; + if ($or$cond541) { + $$4492 = $210;$$4518 = $$1515;$$8 = $$3484$lcssa; + } else { + $219 = (($214>>>0) / ($$1531$lcssa>>>0))&-1; + $220 = $219 & 1; + $221 = ($220|0)==(0); + $$542 = $221 ? 9007199254740992.0 : 9007199254740994.0; + $222 = (($$1531$lcssa|0) / 2)&-1; + $223 = ($215>>>0)<($222>>>0); + $224 = ($215|0)==($222|0); + $or$cond544 = $218 & $224; + $$559 = $or$cond544 ? 1.0 : 1.5; + $$$559 = $223 ? 0.5 : $$559; + $225 = ($$0520|0)==(0); + if ($225) { + $$1467 = $$$559;$$1469 = $$542; + } else { + $226 = HEAP8[$$0521>>0]|0; + $227 = ($226<<24>>24)==(45); + $228 = -$$542; + $229 = -$$$559; + $$$542 = $227 ? $228 : $$542; + $$$$559 = $227 ? $229 : $$$559; + $$1467 = $$$$559;$$1469 = $$$542; + } + $230 = (($214) - ($215))|0; + HEAP32[$210>>2] = $230; + $231 = $$1469 + $$1467; + $232 = $231 != $$1469; + if ($232) { + $233 = (($230) + ($$1531$lcssa))|0; + HEAP32[$210>>2] = $233; + $234 = ($233>>>0)>(999999999); + if ($234) { + $$5486623 = $$3484$lcssa;$$sink545622 = $210; + while(1) { + $235 = ((($$sink545622)) + -4|0); + HEAP32[$$sink545622>>2] = 0; + $236 = ($235>>>0)<($$5486623>>>0); + if ($236) { + $237 = ((($$5486623)) + -4|0); + HEAP32[$237>>2] = 0; + $$6 = $237; + } else { + $$6 = $$5486623; + } + $238 = HEAP32[$235>>2]|0; + $239 = (($238) + 1)|0; + HEAP32[$235>>2] = $239; + $240 = ($239>>>0)>(999999999); + if ($240) { + $$5486623 = $$6;$$sink545622 = $235; + } else { + $$5486$lcssa = $$6;$$sink545$lcssa = $235; + break; + } + } + } else { + $$5486$lcssa = $$3484$lcssa;$$sink545$lcssa = $210; + } + $241 = $$5486$lcssa; + $242 = (($183) - ($241))|0; + $243 = $242 >> 2; + $244 = ($243*9)|0; + $245 = HEAP32[$$5486$lcssa>>2]|0; + $246 = ($245>>>0)<(10); + if ($246) { + $$4492 = $$sink545$lcssa;$$4518 = $244;$$8 = $$5486$lcssa; + } else { + $$2516618 = $244;$$2532617 = 10; + while(1) { + $247 = ($$2532617*10)|0; + $248 = (($$2516618) + 1)|0; + $249 = ($245>>>0)<($247>>>0); + if ($249) { + $$4492 = $$sink545$lcssa;$$4518 = $248;$$8 = $$5486$lcssa; + break; + } else { + $$2516618 = $248;$$2532617 = $247; + } + } + } + } else { + $$4492 = $210;$$4518 = $$1515;$$8 = $$3484$lcssa; + } + } + $250 = ((($$4492)) + 4|0); + $251 = ($$3501$lcssa>>>0)>($250>>>0); + $$$3501 = $251 ? $250 : $$3501$lcssa; + $$5519$ph = $$4518;$$7505$ph = $$$3501;$$9$ph = $$8; + } else { + $$5519$ph = $$1515;$$7505$ph = $$3501$lcssa;$$9$ph = $$3484$lcssa; + } + $$7505 = $$7505$ph; + while(1) { + $252 = ($$7505>>>0)>($$9$ph>>>0); + if (!($252)) { + $$lcssa673 = 0; + break; + } + $253 = ((($$7505)) + -4|0); + $254 = HEAP32[$253>>2]|0; + $255 = ($254|0)==(0); + if ($255) { + $$7505 = $253; + } else { + $$lcssa673 = 1; + break; + } + } + $256 = (0 - ($$5519$ph))|0; + do { + if ($196) { + $not$ = $197 ^ 1; + $257 = $not$&1; + $$539$ = (($257) + ($$539))|0; + $258 = ($$539$|0)>($$5519$ph|0); + $259 = ($$5519$ph|0)>(-5); + $or$cond6 = $258 & $259; + if ($or$cond6) { + $260 = (($5) + -1)|0; + $$neg567 = (($$539$) + -1)|0; + $261 = (($$neg567) - ($$5519$ph))|0; + $$0479 = $260;$$2476 = $261; + } else { + $262 = (($5) + -2)|0; + $263 = (($$539$) + -1)|0; + $$0479 = $262;$$2476 = $263; + } + $264 = $4 & 8; + $265 = ($264|0)==(0); + if ($265) { + if ($$lcssa673) { + $266 = ((($$7505)) + -4|0); + $267 = HEAP32[$266>>2]|0; + $268 = ($267|0)==(0); + if ($268) { + $$2529 = 9; + } else { + $269 = (($267>>>0) % 10)&-1; + $270 = ($269|0)==(0); + if ($270) { + $$1528614 = 0;$$3533613 = 10; + while(1) { + $271 = ($$3533613*10)|0; + $272 = (($$1528614) + 1)|0; + $273 = (($267>>>0) % ($271>>>0))&-1; + $274 = ($273|0)==(0); + if ($274) { + $$1528614 = $272;$$3533613 = $271; + } else { + $$2529 = $272; + break; + } + } + } else { + $$2529 = 0; + } + } + } else { + $$2529 = 9; + } + $275 = $$0479 | 32; + $276 = ($275|0)==(102); + $277 = $$7505; + $278 = (($277) - ($183))|0; + $279 = $278 >> 2; + $280 = ($279*9)|0; + $281 = (($280) + -9)|0; + if ($276) { + $282 = (($281) - ($$2529))|0; + $283 = ($282|0)>(0); + $$546 = $283 ? $282 : 0; + $284 = ($$2476|0)<($$546|0); + $$2476$$547 = $284 ? $$2476 : $$546; + $$1480 = $$0479;$$3477 = $$2476$$547;$$pre$phi690Z2D = 0; + break; + } else { + $285 = (($281) + ($$5519$ph))|0; + $286 = (($285) - ($$2529))|0; + $287 = ($286|0)>(0); + $$548 = $287 ? $286 : 0; + $288 = ($$2476|0)<($$548|0); + $$2476$$549 = $288 ? $$2476 : $$548; + $$1480 = $$0479;$$3477 = $$2476$$549;$$pre$phi690Z2D = 0; + break; + } + } else { + $$1480 = $$0479;$$3477 = $$2476;$$pre$phi690Z2D = $264; + } + } else { + $$pre689 = $4 & 8; + $$1480 = $5;$$3477 = $$539;$$pre$phi690Z2D = $$pre689; + } + } while(0); + $289 = $$3477 | $$pre$phi690Z2D; + $290 = ($289|0)!=(0); + $291 = $290&1; + $292 = $$1480 | 32; + $293 = ($292|0)==(102); + if ($293) { + $294 = ($$5519$ph|0)>(0); + $295 = $294 ? $$5519$ph : 0; + $$2513 = 0;$$pn566 = $295; + } else { + $296 = ($$5519$ph|0)<(0); + $297 = $296 ? $256 : $$5519$ph; + $298 = ($297|0)<(0); + $299 = $298 << 31 >> 31; + $300 = (_fmt_u($297,$299,$11)|0); + $301 = $11; + $302 = $300; + $303 = (($301) - ($302))|0; + $304 = ($303|0)<(2); + if ($304) { + $$1512607 = $300; + while(1) { + $305 = ((($$1512607)) + -1|0); + HEAP8[$305>>0] = 48; + $306 = $305; + $307 = (($301) - ($306))|0; + $308 = ($307|0)<(2); + if ($308) { + $$1512607 = $305; + } else { + $$1512$lcssa = $305; + break; + } + } + } else { + $$1512$lcssa = $300; + } + $309 = $$5519$ph >> 31; + $310 = $309 & 2; + $311 = (($310) + 43)|0; + $312 = $311&255; + $313 = ((($$1512$lcssa)) + -1|0); + HEAP8[$313>>0] = $312; + $314 = $$1480&255; + $315 = ((($$1512$lcssa)) + -2|0); + HEAP8[$315>>0] = $314; + $316 = $315; + $317 = (($301) - ($316))|0; + $$2513 = $315;$$pn566 = $317; + } + $318 = (($$0520) + 1)|0; + $319 = (($318) + ($$3477))|0; + $$1526 = (($319) + ($291))|0; + $320 = (($$1526) + ($$pn566))|0; + _pad_674($0,32,$2,$320,$4); + _out($0,$$0521,$$0520); + $321 = $4 ^ 65536; + _pad_674($0,48,$2,$320,$321); + if ($293) { + $322 = ($$9$ph>>>0)>($$556>>>0); + $$0496$$9 = $322 ? $$556 : $$9$ph; + $323 = ((($8)) + 9|0); + $324 = $323; + $325 = ((($8)) + 8|0); + $$5493597 = $$0496$$9; + while(1) { + $326 = HEAP32[$$5493597>>2]|0; + $327 = (_fmt_u($326,0,$323)|0); + $328 = ($$5493597|0)==($$0496$$9|0); + if ($328) { + $334 = ($327|0)==($323|0); + if ($334) { + HEAP8[$325>>0] = 48; + $$1465 = $325; + } else { + $$1465 = $327; + } + } else { + $329 = ($327>>>0)>($8>>>0); + if ($329) { + $330 = $327; + $331 = (($330) - ($9))|0; + _memset(($8|0),48,($331|0))|0; + $$0464594 = $327; + while(1) { + $332 = ((($$0464594)) + -1|0); + $333 = ($332>>>0)>($8>>>0); + if ($333) { + $$0464594 = $332; + } else { + $$1465 = $332; + break; + } + } + } else { + $$1465 = $327; + } + } + $335 = $$1465; + $336 = (($324) - ($335))|0; + _out($0,$$1465,$336); + $337 = ((($$5493597)) + 4|0); + $338 = ($337>>>0)>($$556>>>0); + if ($338) { + break; + } else { + $$5493597 = $337; + } + } + $339 = ($289|0)==(0); + if (!($339)) { + _out($0,24543,1); + } + $340 = ($337>>>0)<($$7505>>>0); + $341 = ($$3477|0)>(0); + $342 = $340 & $341; + if ($342) { + $$4478590 = $$3477;$$6494589 = $337; + while(1) { + $343 = HEAP32[$$6494589>>2]|0; + $344 = (_fmt_u($343,0,$323)|0); + $345 = ($344>>>0)>($8>>>0); + if ($345) { + $346 = $344; + $347 = (($346) - ($9))|0; + _memset(($8|0),48,($347|0))|0; + $$0463584 = $344; + while(1) { + $348 = ((($$0463584)) + -1|0); + $349 = ($348>>>0)>($8>>>0); + if ($349) { + $$0463584 = $348; + } else { + $$0463$lcssa = $348; + break; + } + } + } else { + $$0463$lcssa = $344; + } + $350 = ($$4478590|0)<(9); + $351 = $350 ? $$4478590 : 9; + _out($0,$$0463$lcssa,$351); + $352 = ((($$6494589)) + 4|0); + $353 = (($$4478590) + -9)|0; + $354 = ($352>>>0)<($$7505>>>0); + $355 = ($$4478590|0)>(9); + $356 = $354 & $355; + if ($356) { + $$4478590 = $353;$$6494589 = $352; + } else { + $$4478$lcssa = $353; + break; + } + } + } else { + $$4478$lcssa = $$3477; + } + $357 = (($$4478$lcssa) + 9)|0; + _pad_674($0,48,$357,9,0); + } else { + $358 = ((($$9$ph)) + 4|0); + $$7505$ = $$lcssa673 ? $$7505 : $358; + $359 = ($$3477|0)>(-1); + if ($359) { + $360 = ((($8)) + 9|0); + $361 = ($$pre$phi690Z2D|0)==(0); + $362 = $360; + $363 = (0 - ($9))|0; + $364 = ((($8)) + 8|0); + $$5602 = $$3477;$$7495601 = $$9$ph; + while(1) { + $365 = HEAP32[$$7495601>>2]|0; + $366 = (_fmt_u($365,0,$360)|0); + $367 = ($366|0)==($360|0); + if ($367) { + HEAP8[$364>>0] = 48; + $$0 = $364; + } else { + $$0 = $366; + } + $368 = ($$7495601|0)==($$9$ph|0); + do { + if ($368) { + $372 = ((($$0)) + 1|0); + _out($0,$$0,1); + $373 = ($$5602|0)<(1); + $or$cond554 = $361 & $373; + if ($or$cond554) { + $$2 = $372; + break; + } + _out($0,24543,1); + $$2 = $372; + } else { + $369 = ($$0>>>0)>($8>>>0); + if (!($369)) { + $$2 = $$0; + break; + } + $scevgep684 = (($$0) + ($363)|0); + $scevgep684685 = $scevgep684; + _memset(($8|0),48,($scevgep684685|0))|0; + $$1598 = $$0; + while(1) { + $370 = ((($$1598)) + -1|0); + $371 = ($370>>>0)>($8>>>0); + if ($371) { + $$1598 = $370; + } else { + $$2 = $370; + break; + } + } + } + } while(0); + $374 = $$2; + $375 = (($362) - ($374))|0; + $376 = ($$5602|0)>($375|0); + $377 = $376 ? $375 : $$5602; + _out($0,$$2,$377); + $378 = (($$5602) - ($375))|0; + $379 = ((($$7495601)) + 4|0); + $380 = ($379>>>0)<($$7505$>>>0); + $381 = ($378|0)>(-1); + $382 = $380 & $381; + if ($382) { + $$5602 = $378;$$7495601 = $379; + } else { + $$5$lcssa = $378; + break; + } + } + } else { + $$5$lcssa = $$3477; + } + $383 = (($$5$lcssa) + 18)|0; + _pad_674($0,48,$383,18,0); + $384 = $11; + $385 = $$2513; + $386 = (($384) - ($385))|0; + _out($0,$$2513,$386); + } + $387 = $4 ^ 8192; + _pad_674($0,32,$2,$320,$387); + $$sink562 = $320; + } else { + $27 = $5 & 32; + $28 = ($27|0)!=(0); + $29 = $28 ? 24515 : 24519; + $30 = ($$0471 != $$0471) | (0.0 != 0.0); + $31 = $28 ? 26446 : 24523; + $$0510 = $30 ? $31 : $29; + $32 = (($$0520) + 3)|0; + $33 = $4 & -65537; + _pad_674($0,32,$2,$32,$33); + _out($0,$$0521,$$0520); + _out($0,$$0510,3); + $34 = $4 ^ 8192; + _pad_674($0,32,$2,$32,$34); + $$sink562 = $32; + } + } while(0); + $388 = ($$sink562|0)<($2|0); + $$555 = $388 ? $2 : $$sink562; + STACKTOP = sp;return ($$555|0); +} +function ___DOUBLE_BITS_675($0) { + $0 = +$0; + var $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF64[tempDoublePtr>>3] = $0;$1 = HEAP32[tempDoublePtr>>2]|0; + $2 = HEAP32[tempDoublePtr+4>>2]|0; + tempRet0 = ($2); + return ($1|0); +} +function _frexpl($0,$1) { + $0 = +$0; + $1 = $1|0; + var $2 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = (+_frexp($0,$1)); + return (+$2); +} +function _frexp($0,$1) { + $0 = +$0; + $1 = $1|0; + var $$0 = 0.0, $$016 = 0.0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0.0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0.0, $storemerge = 0, $trunc$clear = 0, label = 0; + var sp = 0; + sp = STACKTOP; + HEAPF64[tempDoublePtr>>3] = $0;$2 = HEAP32[tempDoublePtr>>2]|0; + $3 = HEAP32[tempDoublePtr+4>>2]|0; + $4 = (_bitshift64Lshr(($2|0),($3|0),52)|0); + $5 = tempRet0; + $6 = $4&65535; + $trunc$clear = $6 & 2047; + switch ($trunc$clear<<16>>16) { + case 0: { + $7 = $0 != 0.0; + if ($7) { + $8 = $0 * 1.8446744073709552E+19; + $9 = (+_frexp($8,$1)); + $10 = HEAP32[$1>>2]|0; + $11 = (($10) + -64)|0; + $$016 = $9;$storemerge = $11; + } else { + $$016 = $0;$storemerge = 0; + } + HEAP32[$1>>2] = $storemerge; + $$0 = $$016; + break; + } + case 2047: { + $$0 = $0; + break; + } + default: { + $12 = $4 & 2047; + $13 = (($12) + -1022)|0; + HEAP32[$1>>2] = $13; + $14 = $3 & -2146435073; + $15 = $14 | 1071644672; + HEAP32[tempDoublePtr>>2] = $2;HEAP32[tempDoublePtr+4>>2] = $15;$16 = +HEAPF64[tempDoublePtr>>3]; + $$0 = $16; + } + } + return (+$$0); +} +function _wcrtomb($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $not$ = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ($0|0)==(0|0); + do { + if ($3) { + $$0 = 1; + } else { + $4 = ($1>>>0)<(128); + if ($4) { + $5 = $1&255; + HEAP8[$0>>0] = $5; + $$0 = 1; + break; + } + $6 = (___pthread_self_448()|0); + $7 = ((($6)) + 188|0); + $8 = HEAP32[$7>>2]|0; + $9 = HEAP32[$8>>2]|0; + $not$ = ($9|0)==(0|0); + if ($not$) { + $10 = $1 & -128; + $11 = ($10|0)==(57216); + if ($11) { + $13 = $1&255; + HEAP8[$0>>0] = $13; + $$0 = 1; + break; + } else { + $12 = (___errno_location()|0); + HEAP32[$12>>2] = 84; + $$0 = -1; + break; + } + } + $14 = ($1>>>0)<(2048); + if ($14) { + $15 = $1 >>> 6; + $16 = $15 | 192; + $17 = $16&255; + $18 = ((($0)) + 1|0); + HEAP8[$0>>0] = $17; + $19 = $1 & 63; + $20 = $19 | 128; + $21 = $20&255; + HEAP8[$18>>0] = $21; + $$0 = 2; + break; + } + $22 = ($1>>>0)<(55296); + $23 = $1 & -8192; + $24 = ($23|0)==(57344); + $or$cond = $22 | $24; + if ($or$cond) { + $25 = $1 >>> 12; + $26 = $25 | 224; + $27 = $26&255; + $28 = ((($0)) + 1|0); + HEAP8[$0>>0] = $27; + $29 = $1 >>> 6; + $30 = $29 & 63; + $31 = $30 | 128; + $32 = $31&255; + $33 = ((($0)) + 2|0); + HEAP8[$28>>0] = $32; + $34 = $1 & 63; + $35 = $34 | 128; + $36 = $35&255; + HEAP8[$33>>0] = $36; + $$0 = 3; + break; + } + $37 = (($1) + -65536)|0; + $38 = ($37>>>0)<(1048576); + if ($38) { + $39 = $1 >>> 18; + $40 = $39 | 240; + $41 = $40&255; + $42 = ((($0)) + 1|0); + HEAP8[$0>>0] = $41; + $43 = $1 >>> 12; + $44 = $43 & 63; + $45 = $44 | 128; + $46 = $45&255; + $47 = ((($0)) + 2|0); + HEAP8[$42>>0] = $46; + $48 = $1 >>> 6; + $49 = $48 & 63; + $50 = $49 | 128; + $51 = $50&255; + $52 = ((($0)) + 3|0); + HEAP8[$47>>0] = $51; + $53 = $1 & 63; + $54 = $53 | 128; + $55 = $54&255; + HEAP8[$52>>0] = $55; + $$0 = 4; + break; + } else { + $56 = (___errno_location()|0); + HEAP32[$56>>2] = 84; + $$0 = -1; + break; + } + } + } while(0); + return ($$0|0); +} +function ___pthread_self_448() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (_pthread_self()|0); + return ($0|0); +} +function ___pthread_self_105() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (_pthread_self()|0); + return ($0|0); +} +function ___strerror_l($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$012$lcssa = 0, $$01214 = 0, $$016 = 0, $$113 = 0, $$115 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; + var label = 0, sp = 0; + sp = STACKTOP; + $$016 = 0; + while(1) { + $3 = (24545 + ($$016)|0); + $4 = HEAP8[$3>>0]|0; + $5 = $4&255; + $6 = ($5|0)==($0|0); + if ($6) { + label = 2; break; } + $7 = (($$016) + 1)|0; + $8 = ($7|0)==(87); + if ($8) { + $$01214 = 24633;$$115 = 87; + label = 5; + break; + } else { + $$016 = $7; + } } - if ((label|0) == 66) { - STACKTOP = sp;return ($$2|0); + if ((label|0) == 2) { + $2 = ($$016|0)==(0); + if ($2) { + $$012$lcssa = 24633; + } else { + $$01214 = 24633;$$115 = $$016; + label = 5; + } + } + if ((label|0) == 5) { + while(1) { + label = 0; + $$113 = $$01214; + while(1) { + $9 = HEAP8[$$113>>0]|0; + $10 = ($9<<24>>24)==(0); + $11 = ((($$113)) + 1|0); + if ($10) { + break; + } else { + $$113 = $11; + } + } + $12 = (($$115) + -1)|0; + $13 = ($12|0)==(0); + if ($13) { + $$012$lcssa = $11; + break; + } else { + $$01214 = $11;$$115 = $12; + label = 5; + } + } + } + $14 = ((($1)) + 20|0); + $15 = HEAP32[$14>>2]|0; + $16 = (___lctrans($$012$lcssa,$15)|0); + return ($16|0); +} +function ___lctrans($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = (___lctrans_impl($0,$1)|0); + return ($2|0); +} +function ___lctrans_impl($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ($1|0)==(0|0); + if ($2) { + $$0 = 0; + } else { + $3 = HEAP32[$1>>2]|0; + $4 = ((($1)) + 4|0); + $5 = HEAP32[$4>>2]|0; + $6 = (___mo_lookup($3,$5,$0)|0); + $$0 = $6; + } + $7 = ($$0|0)!=(0|0); + $8 = $7 ? $$0 : $0; + return ($8|0); +} +function ___mo_lookup($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$ = 0, $$090 = 0, $$094 = 0, $$191 = 0, $$195 = 0, $$4 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; + var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; + var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0; + var $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond102 = 0, $or$cond104 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = HEAP32[$0>>2]|0; + $4 = (($3) + 1794895138)|0; + $5 = ((($0)) + 8|0); + $6 = HEAP32[$5>>2]|0; + $7 = (_swapc($6,$4)|0); + $8 = ((($0)) + 12|0); + $9 = HEAP32[$8>>2]|0; + $10 = (_swapc($9,$4)|0); + $11 = ((($0)) + 16|0); + $12 = HEAP32[$11>>2]|0; + $13 = (_swapc($12,$4)|0); + $14 = $1 >>> 2; + $15 = ($7>>>0)<($14>>>0); + L1: do { + if ($15) { + $16 = $7 << 2; + $17 = (($1) - ($16))|0; + $18 = ($10>>>0)<($17>>>0); + $19 = ($13>>>0)<($17>>>0); + $or$cond = $18 & $19; + if ($or$cond) { + $20 = $13 | $10; + $21 = $20 & 3; + $22 = ($21|0)==(0); + if ($22) { + $23 = $10 >>> 2; + $24 = $13 >>> 2; + $$090 = 0;$$094 = $7; + while(1) { + $25 = $$094 >>> 1; + $26 = (($$090) + ($25))|0; + $27 = $26 << 1; + $28 = (($27) + ($23))|0; + $29 = (($0) + ($28<<2)|0); + $30 = HEAP32[$29>>2]|0; + $31 = (_swapc($30,$4)|0); + $32 = (($28) + 1)|0; + $33 = (($0) + ($32<<2)|0); + $34 = HEAP32[$33>>2]|0; + $35 = (_swapc($34,$4)|0); + $36 = ($35>>>0)<($1>>>0); + $37 = (($1) - ($35))|0; + $38 = ($31>>>0)<($37>>>0); + $or$cond102 = $36 & $38; + if (!($or$cond102)) { + $$4 = 0; + break L1; + } + $39 = (($35) + ($31))|0; + $40 = (($0) + ($39)|0); + $41 = HEAP8[$40>>0]|0; + $42 = ($41<<24>>24)==(0); + if (!($42)) { + $$4 = 0; + break L1; + } + $43 = (($0) + ($35)|0); + $44 = (_strcmp($2,$43)|0); + $45 = ($44|0)==(0); + if ($45) { + break; + } + $62 = ($$094|0)==(1); + $63 = ($44|0)<(0); + $64 = (($$094) - ($25))|0; + $$195 = $63 ? $25 : $64; + $$191 = $63 ? $$090 : $26; + if ($62) { + $$4 = 0; + break L1; + } else { + $$090 = $$191;$$094 = $$195; + } + } + $46 = (($27) + ($24))|0; + $47 = (($0) + ($46<<2)|0); + $48 = HEAP32[$47>>2]|0; + $49 = (_swapc($48,$4)|0); + $50 = (($46) + 1)|0; + $51 = (($0) + ($50<<2)|0); + $52 = HEAP32[$51>>2]|0; + $53 = (_swapc($52,$4)|0); + $54 = ($53>>>0)<($1>>>0); + $55 = (($1) - ($53))|0; + $56 = ($49>>>0)<($55>>>0); + $or$cond104 = $54 & $56; + if ($or$cond104) { + $57 = (($0) + ($53)|0); + $58 = (($53) + ($49))|0; + $59 = (($0) + ($58)|0); + $60 = HEAP8[$59>>0]|0; + $61 = ($60<<24>>24)==(0); + $$ = $61 ? $57 : 0; + $$4 = $$; + } else { + $$4 = 0; + } + } else { + $$4 = 0; + } + } else { + $$4 = 0; + } + } else { + $$4 = 0; + } + } while(0); + return ($$4|0); +} +function _swapc($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$ = 0, $2 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ($1|0)==(0); + $3 = (_llvm_bswap_i32(($0|0))|0); + $$ = $2 ? $0 : $3; + return ($$|0); +} +function ___fwritex($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$038 = 0, $$042 = 0, $$1 = 0, $$139 = 0, $$141 = 0, $$143 = 0, $$pre = 0, $$pre47 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0; + var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; + var label = 0, sp = 0; + sp = STACKTOP; + $3 = ((($2)) + 16|0); + $4 = HEAP32[$3>>2]|0; + $5 = ($4|0)==(0|0); + if ($5) { + $7 = (___towrite($2)|0); + $8 = ($7|0)==(0); + if ($8) { + $$pre = HEAP32[$3>>2]|0; + $12 = $$pre; + label = 5; + } else { + $$1 = 0; + } + } else { + $6 = $4; + $12 = $6; + label = 5; + } + L5: do { + if ((label|0) == 5) { + $9 = ((($2)) + 20|0); + $10 = HEAP32[$9>>2]|0; + $11 = (($12) - ($10))|0; + $13 = ($11>>>0)<($1>>>0); + $14 = $10; + if ($13) { + $15 = ((($2)) + 36|0); + $16 = HEAP32[$15>>2]|0; + $17 = (FUNCTION_TABLE_iiii[$16 & 15]($2,$0,$1)|0); + $$1 = $17; + break; + } + $18 = ((($2)) + 75|0); + $19 = HEAP8[$18>>0]|0; + $20 = ($19<<24>>24)>(-1); + L10: do { + if ($20) { + $$038 = $1; + while(1) { + $21 = ($$038|0)==(0); + if ($21) { + $$139 = 0;$$141 = $0;$$143 = $1;$31 = $14; + break L10; + } + $22 = (($$038) + -1)|0; + $23 = (($0) + ($22)|0); + $24 = HEAP8[$23>>0]|0; + $25 = ($24<<24>>24)==(10); + if ($25) { + break; + } else { + $$038 = $22; + } + } + $26 = ((($2)) + 36|0); + $27 = HEAP32[$26>>2]|0; + $28 = (FUNCTION_TABLE_iiii[$27 & 15]($2,$0,$$038)|0); + $29 = ($28>>>0)<($$038>>>0); + if ($29) { + $$1 = $28; + break L5; + } + $30 = (($0) + ($$038)|0); + $$042 = (($1) - ($$038))|0; + $$pre47 = HEAP32[$9>>2]|0; + $$139 = $$038;$$141 = $30;$$143 = $$042;$31 = $$pre47; + } else { + $$139 = 0;$$141 = $0;$$143 = $1;$31 = $14; + } + } while(0); + _memcpy(($31|0),($$141|0),($$143|0))|0; + $32 = HEAP32[$9>>2]|0; + $33 = (($32) + ($$143)|0); + HEAP32[$9>>2] = $33; + $34 = (($$139) + ($$143))|0; + $$1 = $34; + } + } while(0); + return ($$1|0); +} +function ___towrite($0) { + $0 = $0|0; + var $$0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 74|0); + $2 = HEAP8[$1>>0]|0; + $3 = $2 << 24 >> 24; + $4 = (($3) + 255)|0; + $5 = $4 | $3; + $6 = $5&255; + HEAP8[$1>>0] = $6; + $7 = HEAP32[$0>>2]|0; + $8 = $7 & 8; + $9 = ($8|0)==(0); + if ($9) { + $11 = ((($0)) + 8|0); + HEAP32[$11>>2] = 0; + $12 = ((($0)) + 4|0); + HEAP32[$12>>2] = 0; + $13 = ((($0)) + 44|0); + $14 = HEAP32[$13>>2]|0; + $15 = ((($0)) + 28|0); + HEAP32[$15>>2] = $14; + $16 = ((($0)) + 20|0); + HEAP32[$16>>2] = $14; + $17 = ((($0)) + 48|0); + $18 = HEAP32[$17>>2]|0; + $19 = (($14) + ($18)|0); + $20 = ((($0)) + 16|0); + HEAP32[$20>>2] = $19; + $$0 = 0; + } else { + $10 = $7 | 32; + HEAP32[$0>>2] = $10; + $$0 = -1; + } + return ($$0|0); +} +function _qsort($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$0 = 0, $$067$lcssa = 0, $$06772 = 0, $$068$lcssa = 0, $$06871 = 0, $$1 = 0, $$169 = 0, $$2 = 0, $$pre$pre = 0, $$pre76 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $15$phi = 0, $16 = 0, $17 = 0, $18 = 0; + var $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0; + var $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0; + var $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 208|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(208|0); + $4 = sp + 8|0; + $5 = sp; + $6 = Math_imul($2, $1)|0; + $7 = $5; + $8 = $7; + HEAP32[$8>>2] = 1; + $9 = (($7) + 4)|0; + $10 = $9; + HEAP32[$10>>2] = 0; + $11 = ($6|0)==(0); + L1: do { + if (!($11)) { + $12 = (0 - ($2))|0; + $13 = ((($4)) + 4|0); + HEAP32[$13>>2] = $2; + HEAP32[$4>>2] = $2; + $$0 = 2;$15 = $2;$17 = $2; + while(1) { + $14 = (($15) + ($2))|0; + $16 = (($14) + ($17))|0; + $18 = (($4) + ($$0<<2)|0); + HEAP32[$18>>2] = $16; + $19 = ($16>>>0)<($6>>>0); + $20 = (($$0) + 1)|0; + if ($19) { + $15$phi = $17;$$0 = $20;$17 = $16;$15 = $15$phi; + } else { + break; + } + } + $21 = (($0) + ($6)|0); + $22 = (($21) + ($12)|0); + $23 = ($22>>>0)>($0>>>0); + if ($23) { + $24 = $22; + $$06772 = 1;$$06871 = $0;$26 = 1; + while(1) { + $25 = $26 & 3; + $27 = ($25|0)==(3); + do { + if ($27) { + _sift($$06871,$2,$3,$$06772,$4); + _shr($5,2); + $28 = (($$06772) + 2)|0; + $$1 = $28; + } else { + $29 = (($$06772) + -1)|0; + $30 = (($4) + ($29<<2)|0); + $31 = HEAP32[$30>>2]|0; + $32 = $$06871; + $33 = (($24) - ($32))|0; + $34 = ($31>>>0)<($33>>>0); + if ($34) { + _sift($$06871,$2,$3,$$06772,$4); + } else { + _trinkle($$06871,$2,$3,$5,$$06772,0,$4); + } + $35 = ($$06772|0)==(1); + if ($35) { + _shl($5,1); + $$1 = 0; + break; + } else { + _shl($5,$29); + $$1 = 1; + break; + } + } + } while(0); + $36 = HEAP32[$5>>2]|0; + $37 = $36 | 1; + HEAP32[$5>>2] = $37; + $38 = (($$06871) + ($2)|0); + $39 = ($38>>>0)<($22>>>0); + if ($39) { + $$06772 = $$1;$$06871 = $38;$26 = $37; + } else { + $$067$lcssa = $$1;$$068$lcssa = $38;$61 = $37; + break; + } + } + } else { + $$067$lcssa = 1;$$068$lcssa = $0;$61 = 1; + } + _trinkle($$068$lcssa,$2,$3,$5,$$067$lcssa,0,$4); + $40 = ((($5)) + 4|0); + $$169 = $$068$lcssa;$$2 = $$067$lcssa;$43 = $61; + while(1) { + $41 = ($$2|0)==(1); + $42 = ($43|0)==(1); + $or$cond = $41 & $42; + if ($or$cond) { + $44 = HEAP32[$40>>2]|0; + $45 = ($44|0)==(0); + if ($45) { + break L1; + } + } else { + $46 = ($$2|0)<(2); + if (!($46)) { + _shl($5,2); + $49 = (($$2) + -2)|0; + $50 = HEAP32[$5>>2]|0; + $51 = $50 ^ 7; + HEAP32[$5>>2] = $51; + _shr($5,1); + $52 = (($4) + ($49<<2)|0); + $53 = HEAP32[$52>>2]|0; + $54 = (0 - ($53))|0; + $55 = (($$169) + ($54)|0); + $56 = (($55) + ($12)|0); + $57 = (($$2) + -1)|0; + _trinkle($56,$2,$3,$5,$57,1,$4); + _shl($5,1); + $58 = HEAP32[$5>>2]|0; + $59 = $58 | 1; + HEAP32[$5>>2] = $59; + $60 = (($$169) + ($12)|0); + _trinkle($60,$2,$3,$5,$49,1,$4); + $$169 = $60;$$2 = $49;$43 = $59; + continue; + } + } + $47 = (_pntz($5)|0); + _shr($5,$47); + $48 = (($47) + ($$2))|0; + $$pre$pre = HEAP32[$5>>2]|0; + $$pre76 = (($$169) + ($12)|0); + $$169 = $$pre76;$$2 = $48;$43 = $$pre$pre; + } + } + } while(0); + STACKTOP = sp;return; +} +function _sift($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$0$lcssa = 0, $$029$be = 0, $$02932 = 0, $$030$be = 0, $$03031 = 0, $$033 = 0, $$pre = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0; + var $23 = 0, $24 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 240|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(240|0); + $5 = sp; + HEAP32[$5>>2] = $0; + $6 = ($3|0)>(1); + L1: do { + if ($6) { + $7 = (0 - ($1))|0; + $$02932 = $0;$$03031 = $3;$$033 = 1;$14 = $0; + while(1) { + $8 = (($$02932) + ($7)|0); + $9 = (($$03031) + -2)|0; + $10 = (($4) + ($9<<2)|0); + $11 = HEAP32[$10>>2]|0; + $12 = (0 - ($11))|0; + $13 = (($8) + ($12)|0); + $15 = (FUNCTION_TABLE_iii[$2 & 7]($14,$13)|0); + $16 = ($15|0)>(-1); + if ($16) { + $17 = (FUNCTION_TABLE_iii[$2 & 7]($14,$8)|0); + $18 = ($17|0)>(-1); + if ($18) { + $$0$lcssa = $$033; + break L1; + } + } + $19 = (FUNCTION_TABLE_iii[$2 & 7]($13,$8)|0); + $20 = ($19|0)>(-1); + $21 = (($$033) + 1)|0; + $22 = (($5) + ($$033<<2)|0); + if ($20) { + HEAP32[$22>>2] = $13; + $23 = (($$03031) + -1)|0; + $$029$be = $13;$$030$be = $23; + } else { + HEAP32[$22>>2] = $8; + $$029$be = $8;$$030$be = $9; + } + $24 = ($$030$be|0)>(1); + if (!($24)) { + $$0$lcssa = $21; + break L1; + } + $$pre = HEAP32[$5>>2]|0; + $$02932 = $$029$be;$$03031 = $$030$be;$$033 = $21;$14 = $$pre; + } + } else { + $$0$lcssa = 1; + } + } while(0); + _cycle($1,$5,$$0$lcssa); + STACKTOP = sp;return; +} +function _shr($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $$pre = 0, $$pre11 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ($1>>>0)>(31); + $3 = ((($0)) + 4|0); + if ($2) { + $4 = (($1) + -32)|0; + $5 = HEAP32[$3>>2]|0; + HEAP32[$0>>2] = $5; + HEAP32[$3>>2] = 0; + $$0 = $4;$10 = 0;$7 = $5; + } else { + $$pre = HEAP32[$0>>2]|0; + $$pre11 = HEAP32[$3>>2]|0; + $$0 = $1;$10 = $$pre11;$7 = $$pre; + } + $6 = $7 >>> $$0; + $8 = (32 - ($$0))|0; + $9 = $10 << $8; + $11 = $9 | $6; + HEAP32[$0>>2] = $11; + $12 = $10 >>> $$0; + HEAP32[$3>>2] = $12; + return; +} +function _trinkle($0,$1,$2,$3,$4,$5,$6) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + $6 = $6|0; + var $$0$lcssa = 0, $$045$lcssa = 0, $$04551 = 0, $$0455780 = 0, $$046$lcssa = 0, $$04653 = 0, $$0465681 = 0, $$047$lcssa = 0, $$0475582 = 0, $$049 = 0, $$05879 = 0, $$05879$phi = 0, $$pre = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0; + var $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0; + var $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $phitmp = 0, label = 0; + var sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 240|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(240|0); + $7 = sp + 232|0; + $8 = sp; + $9 = HEAP32[$3>>2]|0; + HEAP32[$7>>2] = $9; + $10 = ((($3)) + 4|0); + $11 = HEAP32[$10>>2]|0; + $12 = ((($7)) + 4|0); + HEAP32[$12>>2] = $11; + HEAP32[$8>>2] = $0; + $13 = ($9|0)!=(1); + $14 = ($11|0)!=(0); + $15 = $13 | $14; + L1: do { + if ($15) { + $16 = (0 - ($1))|0; + $17 = (($6) + ($4<<2)|0); + $18 = HEAP32[$17>>2]|0; + $19 = (0 - ($18))|0; + $20 = (($0) + ($19)|0); + $21 = (FUNCTION_TABLE_iii[$2 & 7]($20,$0)|0); + $22 = ($21|0)<(1); + if ($22) { + $$0$lcssa = $0;$$045$lcssa = 1;$$046$lcssa = $4;$$047$lcssa = $5; + label = 9; + } else { + $phitmp = ($5|0)==(0); + $$0455780 = 1;$$0465681 = $4;$$0475582 = $phitmp;$$05879 = $0;$28 = $20; + while(1) { + $23 = ($$0465681|0)>(1); + $or$cond = $$0475582 & $23; + if ($or$cond) { + $24 = (($$05879) + ($16)|0); + $25 = (($$0465681) + -2)|0; + $26 = (($6) + ($25<<2)|0); + $27 = HEAP32[$26>>2]|0; + $29 = (FUNCTION_TABLE_iii[$2 & 7]($24,$28)|0); + $30 = ($29|0)>(-1); + if ($30) { + $$04551 = $$0455780;$$04653 = $$0465681;$$049 = $$05879; + label = 10; + break L1; + } + $31 = (0 - ($27))|0; + $32 = (($24) + ($31)|0); + $33 = (FUNCTION_TABLE_iii[$2 & 7]($32,$28)|0); + $34 = ($33|0)>(-1); + if ($34) { + $$04551 = $$0455780;$$04653 = $$0465681;$$049 = $$05879; + label = 10; + break L1; + } + } + $35 = (($$0455780) + 1)|0; + $36 = (($8) + ($$0455780<<2)|0); + HEAP32[$36>>2] = $28; + $37 = (_pntz($7)|0); + _shr($7,$37); + $38 = (($37) + ($$0465681))|0; + $39 = HEAP32[$7>>2]|0; + $40 = ($39|0)!=(1); + $41 = HEAP32[$12>>2]|0; + $42 = ($41|0)!=(0); + $43 = $40 | $42; + if (!($43)) { + $$04551 = $35;$$04653 = $38;$$049 = $28; + label = 10; + break L1; + } + $$pre = HEAP32[$8>>2]|0; + $44 = (($6) + ($38<<2)|0); + $45 = HEAP32[$44>>2]|0; + $46 = (0 - ($45))|0; + $47 = (($28) + ($46)|0); + $48 = (FUNCTION_TABLE_iii[$2 & 7]($47,$$pre)|0); + $49 = ($48|0)<(1); + if ($49) { + $$0$lcssa = $28;$$045$lcssa = $35;$$046$lcssa = $38;$$047$lcssa = 0; + label = 9; + break; + } else { + $$05879$phi = $28;$$0455780 = $35;$$0465681 = $38;$$0475582 = 1;$28 = $47;$$05879 = $$05879$phi; + } + } + } + } else { + $$0$lcssa = $0;$$045$lcssa = 1;$$046$lcssa = $4;$$047$lcssa = $5; + label = 9; + } + } while(0); + if ((label|0) == 9) { + $50 = ($$047$lcssa|0)==(0); + if ($50) { + $$04551 = $$045$lcssa;$$04653 = $$046$lcssa;$$049 = $$0$lcssa; + label = 10; + } + } + if ((label|0) == 10) { + _cycle($1,$8,$$04551); + _sift($$049,$1,$2,$$04653,$6); + } + STACKTOP = sp;return; +} +function _shl($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $$pre = 0, $$pre11 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ($1>>>0)>(31); + $3 = ((($0)) + 4|0); + if ($2) { + $4 = (($1) + -32)|0; + $5 = HEAP32[$0>>2]|0; + HEAP32[$3>>2] = $5; + HEAP32[$0>>2] = 0; + $$0 = $4;$10 = 0;$7 = $5; + } else { + $$pre = HEAP32[$3>>2]|0; + $$pre11 = HEAP32[$0>>2]|0; + $$0 = $1;$10 = $$pre11;$7 = $$pre; + } + $6 = $7 << $$0; + $8 = (32 - ($$0))|0; + $9 = $10 >>> $8; + $11 = $9 | $6; + HEAP32[$3>>2] = $11; + $12 = $10 << $$0; + HEAP32[$0>>2] = $12; + return; +} +function _pntz($0) { + $0 = $0|0; + var $$ = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP32[$0>>2]|0; + $2 = (($1) + -1)|0; + $3 = (_a_ctz_l_763($2)|0); + $4 = ($3|0)==(0); + if ($4) { + $5 = ((($0)) + 4|0); + $6 = HEAP32[$5>>2]|0; + $7 = (_a_ctz_l_763($6)|0); + $8 = (($7) + 32)|0; + $9 = ($7|0)==(0); + $$ = $9 ? 0 : $8; + return ($$|0); + } else { + return ($3|0); } return (0)|0; } -function _stbi__jpeg_finish($z) { - $z = $z|0; - var $$sum = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; - var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond8 = 0, $i$02 = 0, $j$03 = 0, $n$06 = 0, label = 0, sp = 0; +function _a_ctz_l_763($0) { + $0 = $0|0; + var $$068 = 0, $$07 = 0, $$09 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = ((($z)) + 18124|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)==(0); - if ($2) { - return; - } - $3 = HEAP32[$z>>2]|0; - $4 = ((($3)) + 8|0); - $5 = HEAP32[$4>>2]|0; - $6 = ($5|0)>(0); - if (!($6)) { - return; - } - $7 = ((($z)) + 18176|0); - $n$06 = 0; - while(1) { - $8 = (((((($z)) + 17820|0) + (($n$06*72)|0)|0)) + 28|0); - $9 = HEAP32[$8>>2]|0; - $10 = (($9) + 7)|0; - $11 = $10 >> 3; - $12 = (((((($z)) + 17820|0) + (($n$06*72)|0)|0)) + 32|0); - $13 = HEAP32[$12>>2]|0; - $14 = (($13) + 7)|0; - $15 = $14 >> 3; - $16 = ($15|0)>(0); - if ($16) { - $17 = ($11|0)>(0); - $18 = (((((($z)) + 17820|0) + (($n$06*72)|0)|0)) + 60|0); - $19 = (((((($z)) + 17820|0) + (($n$06*72)|0)|0)) + 64|0); - $20 = (((((($z)) + 17820|0) + (($n$06*72)|0)|0)) + 12|0); - $21 = (((((($z)) + 17820|0) + (($n$06*72)|0)|0)) + 44|0); - $22 = (((((($z)) + 17820|0) + (($n$06*72)|0)|0)) + 36|0); - $j$03 = 0; + $1 = ($0|0)==(0); + if ($1) { + $$07 = 32; + } else { + $2 = $0 & 1; + $3 = ($2|0)==(0); + if ($3) { + $$068 = $0;$$09 = 0; while(1) { - if ($17) { - $i$02 = 0; + $4 = (($$09) + 1)|0; + $5 = $$068 >>> 1; + $6 = $5 & 1; + $7 = ($6|0)==(0); + if ($7) { + $$068 = $5;$$09 = $4; + } else { + $$07 = $4; + break; + } + } + } else { + $$07 = 0; + } + } + return ($$07|0); +} +function _cycle($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$02527 = 0, $$026 = 0, $$pre = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; + var $exitcond = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0); + $3 = sp; + $4 = ($2|0)<(2); + L1: do { + if (!($4)) { + $5 = (($1) + ($2<<2)|0); + HEAP32[$5>>2] = $3; + $6 = ($0|0)==(0); + if (!($6)) { + $$02527 = $0;$10 = $3; + while(1) { + $7 = ($$02527>>>0)<(256); + $8 = $7 ? $$02527 : 256; + $9 = HEAP32[$1>>2]|0; + _memcpy(($10|0),($9|0),($8|0))|0; + $$026 = 0; while(1) { - $23 = HEAP32[$18>>2]|0; - $24 = HEAP32[$19>>2]|0; - $25 = Math_imul($24, $j$03)|0; - $26 = (($25) + ($i$02))|0; - $27 = $26 << 6; - $28 = (($23) + ($27<<1)|0); - $29 = HEAP32[$20>>2]|0; - $30 = (((($z)) + 13444|0) + ($29<<6)|0); - _stbi__jpeg_dequantize($28,$30); - $31 = HEAP32[$7>>2]|0; - $32 = HEAP32[$21>>2]|0; - $33 = HEAP32[$22>>2]|0; - $34 = Math_imul($33, $j$03)|0; - $35 = (($34) + ($i$02))|0; - $$sum = $35 << 3; - $36 = (($32) + ($$sum)|0); - FUNCTION_TABLE_viii[$31 & 31]($36,$33,$28); - $37 = (($i$02) + 1)|0; - $exitcond = ($37|0)==($11|0); + $11 = (($1) + ($$026<<2)|0); + $12 = HEAP32[$11>>2]|0; + $13 = (($$026) + 1)|0; + $14 = (($1) + ($13<<2)|0); + $15 = HEAP32[$14>>2]|0; + _memcpy(($12|0),($15|0),($8|0))|0; + $16 = HEAP32[$11>>2]|0; + $17 = (($16) + ($8)|0); + HEAP32[$11>>2] = $17; + $exitcond = ($13|0)==($2|0); if ($exitcond) { break; } else { - $i$02 = $37; + $$026 = $13; } } - } - $38 = (($j$03) + 1)|0; - $exitcond8 = ($38|0)==($15|0); - if ($exitcond8) { - break; - } else { - $j$03 = $38; + $18 = (($$02527) - ($8))|0; + $19 = ($18|0)==(0); + if ($19) { + break L1; + } + $$pre = HEAP32[$5>>2]|0; + $$02527 = $18;$10 = $$pre; } } } - $39 = (($n$06) + 1)|0; - $40 = HEAP32[$z>>2]|0; - $41 = ((($40)) + 8|0); - $42 = HEAP32[$41>>2]|0; - $43 = ($39|0)<($42|0); - if ($43) { - $n$06 = $39; - } else { - break; - } - } - return; + } while(0); + STACKTOP = sp;return; } -function _stbi__jpeg_dequantize($data,$dequant) { - $data = $data|0; - $dequant = $dequant|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $exitcond = 0, $i$01 = 0, label = 0, sp = 0; +function ___floatscan($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$0 = 0, $$0105$ph = 0, $$0106$ph = 0, $$0107$lcssa = 0, $$0107127 = 0, $$0113 = 0, $$0114 = 0.0, $$1$lcssa = 0, $$1108 = 0, $$1128 = 0, $$2 = 0, $$2109125 = 0, $$3110 = 0, $$3126 = 0, $$4 = 0, $$4111 = 0, $$5 = 0, $$6 = 0, $$in = 0, $$old8 = 0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0.0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0.0, $14 = 0, $15 = 0; + var $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0; + var $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0; + var $53 = 0.0, $54 = 0.0, $55 = 0.0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0; + var $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0; + var $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, $or$cond5 = 0, $or$cond7 = 0, $or$cond9 = 0, label = 0, sp = 0; sp = STACKTOP; - $i$01 = 0; - while(1) { - $0 = (($dequant) + ($i$01)|0); - $1 = HEAP8[$0>>0]|0; - $2 = $1&255; - $3 = (($data) + ($i$01<<1)|0); - $4 = HEAP16[$3>>1]|0; - $5 = $4 << 16 >> 16; - $6 = Math_imul($5, $2)|0; - $7 = $6&65535; - HEAP16[$3>>1] = $7; - $8 = (($i$01) + 1)|0; - $exitcond = ($8|0)==(64); - if ($exitcond) { - break; - } else { - $i$01 = $8; - } + switch ($1|0) { + case 0: { + $$0105$ph = -149;$$0106$ph = 24; + label = 4; + break; } - return; -} -function _stbi__jpeg_reset($j) { - $j = $j|0; - var $$ = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($j)) + 18112|0); - HEAP32[$0>>2] = 0; - $1 = ((($j)) + 18108|0); - HEAP32[$1>>2] = 0; - $2 = ((($j)) + 18120|0); - HEAP32[$2>>2] = 0; - $3 = ((($j)) + 17988|0); - HEAP32[$3>>2] = 0; - $4 = ((($j)) + 17916|0); - HEAP32[$4>>2] = 0; - $5 = ((($j)) + 17844|0); - HEAP32[$5>>2] = 0; - $6 = ((($j)) + 18116|0); - HEAP8[$6>>0] = -1; - $7 = ((($j)) + 18168|0); - $8 = HEAP32[$7>>2]|0; - $9 = ($8|0)==(0); - $$ = $9 ? 2147483647 : $8; - $10 = ((($j)) + 18172|0); - HEAP32[$10>>2] = $$; - $11 = ((($j)) + 18144|0); - HEAP32[$11>>2] = 0; - return; -} -function _stbi__jpeg_decode_block($j,$data,$hdc,$hac,$fac,$b,$dequant) { - $j = $j|0; - $data = $data|0; - $hdc = $hdc|0; - $hac = $hac|0; - $fac = $fac|0; - $b = $b|0; - $dequant = $dequant|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; - var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0; - var $7 = 0, $8 = 0, $9 = 0, $k$0 = 0, $k$1 = 0, dest = 0, label = 0, sp = 0, stop = 0; - sp = STACKTOP; - $0 = ((($j)) + 18112|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)<(16); - if ($2) { - _stbi__grow_buffer_unsafe($j); + case 1: { + $$0105$ph = -1074;$$0106$ph = 53; + label = 4; + break; } - $3 = (_stbi__jpeg_huff_decode($j,$hdc)|0); - $4 = ($3|0)<(0); - if ($4) { - _stbi__err(26184); - $$0 = 0; - return ($$0|0); + case 2: { + $$0105$ph = -1074;$$0106$ph = 53; + label = 4; + break; } - dest=$data; stop=dest+128|0; do { HEAP16[dest>>1]=0|0; dest=dest+2|0; } while ((dest|0) < (stop|0)); - $5 = ($3|0)==(0); - if ($5) { - $10 = 0; - } else { - $6 = (_stbi__extend_receive($j,$3)|0); - $10 = $6; + default: { + $$0114 = 0.0; } - $7 = (((((($j)) + 17820|0) + (($b*72)|0)|0)) + 24|0); - $8 = HEAP32[$7>>2]|0; - $9 = (($8) + ($10))|0; - HEAP32[$7>>2] = $9; - $11 = HEAP8[$dequant>>0]|0; - $12 = $11&255; - $13 = Math_imul($12, $9)|0; - $14 = $13&65535; - HEAP16[$data>>1] = $14; - $15 = ((($j)) + 18108|0); - $k$0 = 1; - L11: while(1) { - $16 = HEAP32[$0>>2]|0; - $17 = ($16|0)<(16); - if ($17) { - _stbi__grow_buffer_unsafe($j); - } - $18 = HEAP32[$15>>2]|0; - $19 = $18 >>> 23; - $20 = (($fac) + ($19<<1)|0); - $21 = HEAP16[$20>>1]|0; - $22 = $21 << 16 >> 16; - $23 = ($21<<16>>16)==(0); - do { - if ($23) { - $42 = (_stbi__jpeg_huff_decode($j,$hac)|0); - $43 = ($42|0)<(0); - if ($43) { - label = 13; - break L11; + } + L4: do { + if ((label|0) == 4) { + $3 = ((($0)) + 4|0); + $4 = ((($0)) + 100|0); + while(1) { + $5 = HEAP32[$3>>2]|0; + $6 = HEAP32[$4>>2]|0; + $7 = ($5>>>0)<($6>>>0); + if ($7) { + $8 = ((($5)) + 1|0); + HEAP32[$3>>2] = $8; + $9 = HEAP8[$5>>0]|0; + $10 = $9&255; + $12 = $10; + } else { + $11 = (___shgetc($0)|0); + $12 = $11; } - $44 = $42 & 15; - $45 = ($44|0)==(0); - if (!($45)) { - $48 = $42 >> 4; - $49 = (($48) + ($k$0))|0; - $50 = (($49) + 1)|0; - $51 = (25744 + ($49)|0); - $52 = HEAP8[$51>>0]|0; - $53 = $52&255; - $54 = (_stbi__extend_receive($j,$44)|0); - $55 = (($dequant) + ($53)|0); - $56 = HEAP8[$55>>0]|0; - $57 = $56&255; - $58 = Math_imul($57, $54)|0; - $59 = $58&65535; - $60 = (($data) + ($53<<1)|0); - HEAP16[$60>>1] = $59; - $k$1 = $50; + $13 = (_isspace($12)|0); + $14 = ($13|0)==(0); + if ($14) { break; } - $46 = ($42|0)==(240); - if (!($46)) { - $$0 = 1; - label = 19; - break L11; - } - $47 = (($k$0) + 16)|0; - $k$1 = $47; - } else { - $24 = $22 >>> 4; - $25 = $24 & 15; - $26 = (($25) + ($k$0))|0; - $27 = $22 & 15; - $28 = $18 << $27; - HEAP32[$15>>2] = $28; - $29 = HEAP32[$0>>2]|0; - $30 = (($29) - ($27))|0; - HEAP32[$0>>2] = $30; - $31 = (($26) + 1)|0; - $32 = (25744 + ($26)|0); - $33 = HEAP8[$32>>0]|0; - $34 = $33&255; - $35 = $22 >> 8; - $36 = (($dequant) + ($34)|0); - $37 = HEAP8[$36>>0]|0; - $38 = $37&255; - $39 = Math_imul($38, $35)|0; - $40 = $39&65535; - $41 = (($data) + ($34<<1)|0); - HEAP16[$41>>1] = $40; - $k$1 = $31; } - } while(0); - $61 = ($k$1|0)<(64); - if ($61) { - $k$0 = $k$1; - } else { - $$0 = 1; - label = 19; - break; - } - } - if ((label|0) == 13) { - _stbi__err(26184); - $$0 = 0; - return ($$0|0); - } - else if ((label|0) == 19) { - return ($$0|0); - } - return (0)|0; -} -function _stbi__grow_buffer_unsafe($j) { - $j = $j|0; - var $$lcssa = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0; - var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($j)) + 18120|0); - $1 = ((($j)) + 18112|0); - $2 = ((($j)) + 18108|0); - while(1) { - $3 = HEAP32[$0>>2]|0; - $4 = ($3|0)==(0); - if ($4) { - $5 = HEAP32[$j>>2]|0; - $6 = (_stbi__get8($5)|0); - $7 = $6&255; - $8 = ($6<<24>>24)==(-1); - if ($8) { - $9 = HEAP32[$j>>2]|0; - $10 = (_stbi__get8($9)|0); - $11 = ($10<<24>>24)==(0); - if ($11) { - $16 = 255; - } else { - $$lcssa = $10; + L13: do { + switch ($12|0) { + case 43: case 45: { + $15 = ($12|0)==(45); + $16 = $15&1; + $17 = $16 << 1; + $18 = (1 - ($17))|0; + $19 = HEAP32[$3>>2]|0; + $20 = HEAP32[$4>>2]|0; + $21 = ($19>>>0)<($20>>>0); + if ($21) { + $22 = ((($19)) + 1|0); + HEAP32[$3>>2] = $22; + $23 = HEAP8[$19>>0]|0; + $24 = $23&255; + $$0 = $24;$$0113 = $18; + break L13; + } else { + $25 = (___shgetc($0)|0); + $$0 = $25;$$0113 = $18; + break L13; + } break; } - } else { - $16 = $7; - } - } else { - $16 = 0; - } - $13 = HEAP32[$1>>2]|0; - $14 = (24 - ($13))|0; - $15 = $16 << $14; - $17 = HEAP32[$2>>2]|0; - $18 = $15 | $17; - HEAP32[$2>>2] = $18; - $19 = HEAP32[$1>>2]|0; - $20 = (($19) + 8)|0; - HEAP32[$1>>2] = $20; - $21 = ($20|0)<(25); - if (!($21)) { - label = 7; - break; - } - } - if ((label|0) == 7) { - return; - } - $12 = ((($j)) + 18116|0); - HEAP8[$12>>0] = $$lcssa; - HEAP32[$0>>2] = 1; - return; -} -function _stbi__jpeg_decode_block_prog_dc($j,$data,$hdc,$b) { - $j = $j|0; - $data = $data|0; - $hdc = $hdc|0; - $b = $b|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $sext = 0, dest = 0, label = 0, sp = 0, stop = 0; - sp = STACKTOP; - $0 = ((($j)) + 18132|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)==(0); - if (!($2)) { - _stbi__err(27664); - $$0 = 0; - return ($$0|0); - } - $3 = ((($j)) + 18112|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)<(16); - if ($5) { - _stbi__grow_buffer_unsafe($j); - } - $6 = ((($j)) + 18136|0); - $7 = HEAP32[$6>>2]|0; - $8 = ($7|0)==(0); - if ($8) { - dest=$data; stop=dest+128|0; do { HEAP16[dest>>1]=0|0; dest=dest+2|0; } while ((dest|0) < (stop|0)); - $9 = (_stbi__jpeg_huff_decode($j,$hdc)|0); - $10 = ($9|0)==(0); - if ($10) { - $15 = 0; - } else { - $11 = (_stbi__extend_receive($j,$9)|0); - $15 = $11; - } - $12 = (((((($j)) + 17820|0) + (($b*72)|0)|0)) + 24|0); - $13 = HEAP32[$12>>2]|0; - $14 = (($13) + ($15))|0; - HEAP32[$12>>2] = $14; - $16 = ((($j)) + 18140|0); - $17 = HEAP32[$16>>2]|0; - $18 = $14 << $17; - $19 = $18&65535; - HEAP16[$data>>1] = $19; - $$0 = 1; - return ($$0|0); - } else { - $20 = (_stbi__jpeg_get_bit($j)|0); - $21 = ($20|0)==(0); - if ($21) { - $$0 = 1; - return ($$0|0); - } - $22 = ((($j)) + 18140|0); - $23 = HEAP32[$22>>2]|0; - $sext = 65536 << $23; - $24 = $sext >>> 16; - $25 = HEAP16[$data>>1]|0; - $26 = $25&65535; - $27 = (($26) + ($24))|0; - $28 = $27&65535; - HEAP16[$data>>1] = $28; - $$0 = 1; - return ($$0|0); - } - return (0)|0; -} -function _stbi__jpeg_decode_block_prog_ac($j,$data,$hac,$fac) { - $j = $j|0; - $data = $data|0; - $hac = $hac|0; - $fac = $fac|0; - var $$ = 0, $$0 = 0, $$lcssa = 0, $$lcssa63 = 0, $$lcssa63$lcssa = 0, $$lcssa66 = 0, $$lcssa66$lcssa = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0; - var $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0; - var $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0; - var $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0; - var $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0; - var $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0; - var $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0; - var $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $k$0 = 0, $k$1 = 0, $k$223 = 0, $k$3 = 0, $k$4$ph20 = 0, $k$415 = 0, $k$415$lcssa = 0, $k$5 = 0, $r1$0$ph = 0, $r1$0$ph519 = 0, $s2$0$ph = 0, $sext = 0, $sext1 = 0, $sext2 = 0; - var label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($j)) + 18128|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)==(0); - if ($2) { - _stbi__err(27664); - $$0 = 0; - return ($$0|0); - } - $3 = ((($j)) + 18136|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)==(0); - $6 = ((($j)) + 18140|0); - $7 = HEAP32[$6>>2]|0; - if ($5) { - $8 = ((($j)) + 18144|0); - $9 = HEAP32[$8>>2]|0; - $10 = ($9|0)==(0); - if (!($10)) { - $14 = (($9) + -1)|0; - HEAP32[$8>>2] = $14; - $$0 = 1; - return ($$0|0); - } - $11 = ((($j)) + 18112|0); - $12 = ((($j)) + 18108|0); - $13 = ((($j)) + 18132|0); - $k$0 = $1; - L11: while(1) { - $15 = HEAP32[$11>>2]|0; - $16 = ($15|0)<(16); - if ($16) { - _stbi__grow_buffer_unsafe($j); - } - $17 = HEAP32[$12>>2]|0; - $18 = $17 >>> 23; - $19 = (($fac) + ($18<<1)|0); - $20 = HEAP16[$19>>1]|0; - $21 = $20 << 16 >> 16; - $22 = ($20<<16>>16)==(0); - do { - if ($22) { - $38 = (_stbi__jpeg_huff_decode($j,$hac)|0); - $39 = ($38|0)<(0); - if ($39) { - label = 12; - break L11; - } - $40 = $38 & 15; - $41 = $38 >> 4; - $42 = ($40|0)==(0); - if (!($42)) { - $52 = (($41) + ($k$0))|0; - $53 = (($52) + 1)|0; - $54 = (25744 + ($52)|0); - $55 = HEAP8[$54>>0]|0; - $56 = $55&255; - $57 = (_stbi__extend_receive($j,$40)|0); - $58 = $57 << $7; - $59 = $58&65535; - $60 = (($data) + ($56<<1)|0); - HEAP16[$60>>1] = $59; - $k$1 = $53; - break; - } - $43 = ($41|0)<(15); - if ($43) { - $$lcssa = $41; - label = 15; - break L11; - } - $51 = (($k$0) + 16)|0; - $k$1 = $51; - } else { - $23 = $21 >>> 4; - $24 = $23 & 15; - $25 = (($24) + ($k$0))|0; - $26 = $21 & 15; - $27 = $17 << $26; - HEAP32[$12>>2] = $27; - $28 = HEAP32[$11>>2]|0; - $29 = (($28) - ($26))|0; - HEAP32[$11>>2] = $29; - $30 = (($25) + 1)|0; - $31 = (25744 + ($25)|0); - $32 = HEAP8[$31>>0]|0; - $33 = $32&255; - $34 = $21 >> 8; - $35 = $34 << $7; - $36 = $35&65535; - $37 = (($data) + ($33<<1)|0); - HEAP16[$37>>1] = $36; - $k$1 = $30; + default: { + $$0 = $12;$$0113 = 1; + } } } while(0); - $61 = HEAP32[$13>>2]|0; - $62 = ($k$1|0)>($61|0); - if ($62) { - $$0 = 1; - label = 53; - break; - } else { - $k$0 = $k$1; - } - } - if ((label|0) == 12) { - _stbi__err(26184); - $$0 = 0; - return ($$0|0); - } - else if ((label|0) == 15) { - $44 = 1 << $$lcssa; - HEAP32[$8>>2] = $44; - $45 = ($$lcssa|0)==(0); - if (!($45)) { - $46 = (_stbi__jpeg_get_bits($j,$$lcssa)|0); - $47 = HEAP32[$8>>2]|0; - $48 = (($47) + ($46))|0; - HEAP32[$8>>2] = $48; - } - $49 = HEAP32[$8>>2]|0; - $50 = (($49) + -1)|0; - HEAP32[$8>>2] = $50; - $$0 = 1; - return ($$0|0); - } - else if ((label|0) == 53) { - return ($$0|0); - } - } - $63 = 1 << $7; - $64 = ((($j)) + 18144|0); - $65 = HEAP32[$64>>2]|0; - $66 = ($65|0)==(0); - if (!($66)) { - $71 = (($65) + -1)|0; - HEAP32[$64>>2] = $71; - $72 = HEAP32[$0>>2]|0; - $73 = ((($j)) + 18132|0); - $74 = HEAP32[$73>>2]|0; - $75 = ($72|0)>($74|0); - if ($75) { - $$0 = 1; - return ($$0|0); - } - $sext2 = $63 << 16; - $76 = $sext2 >> 16; - $k$223 = $72; - while(1) { - $77 = (25744 + ($k$223)|0); - $78 = HEAP8[$77>>0]|0; - $79 = $78&255; - $80 = (($data) + ($79<<1)|0); - $81 = HEAP16[$80>>1]|0; - $82 = ($81<<16>>16)==(0); - do { - if (!($82)) { - $83 = (_stbi__jpeg_get_bit($j)|0); - $84 = ($83|0)==(0); - if (!($84)) { - $85 = HEAP16[$80>>1]|0; - $86 = $85 << 16 >> 16; - $87 = $86 & $76; - $88 = ($87|0)==(0); - if ($88) { - $89 = ($85<<16>>16)>(0); - if ($89) { - $90 = (($86) + ($76))|0; - $91 = $90&65535; - HEAP16[$80>>1] = $91; - break; - } else { - $92 = (($86) - ($76))|0; - $93 = $92&65535; - HEAP16[$80>>1] = $93; - break; - } - } - } + $$0107127 = 0;$$1128 = $$0; + while(1) { + $26 = $$1128 | 32; + $27 = (26437 + ($$0107127)|0); + $28 = HEAP8[$27>>0]|0; + $29 = $28 << 24 >> 24; + $30 = ($26|0)==($29|0); + if (!($30)) { + $$0107$lcssa = $$0107127;$$1$lcssa = $$1128; + break; } - } while(0); - $94 = (($k$223) + 1)|0; - $95 = HEAP32[$73>>2]|0; - $96 = ($k$223|0)<($95|0); - if ($96) { - $k$223 = $94; - } else { - $$0 = 1; - break; - } - } - return ($$0|0); - } - $sext = $63 << 16; - $67 = $sext >> 16; - $68 = (0 - ($67))|0; - $69 = ((($j)) + 18132|0); - $sext1 = $63 << 16; - $70 = $sext1 >> 16; - $k$3 = $1; - while(1) { - $97 = (_stbi__jpeg_huff_decode($j,$hac)|0); - $98 = ($97|0)<(0); - if ($98) { - label = 33; - break; - } - $99 = $97 & 15; - $100 = $97 >> 4; - if ((($99|0) == 0)) { - $101 = ($100|0)<(15); - if ($101) { - $102 = 1 << $100; - $103 = (($102) + -1)|0; - HEAP32[$64>>2] = $103; - $104 = ($100|0)==(0); - if ($104) { - $r1$0$ph = 64;$s2$0$ph = 0; - } else { - $105 = (_stbi__jpeg_get_bits($j,$100)|0); - $106 = HEAP32[$64>>2]|0; - $107 = (($106) + ($105))|0; - HEAP32[$64>>2] = $107; - $r1$0$ph = 64;$s2$0$ph = 0; - } - } else { - $r1$0$ph = $100;$s2$0$ph = 0; - } - } else if ((($99|0) == 1)) { - $108 = (_stbi__jpeg_get_bit($j)|0); - $109 = ($108|0)==(0); - $$ = $109 ? $68 : $67; - $r1$0$ph = $100;$s2$0$ph = $$; - } else { - label = 38; - break; - } - $110 = HEAP32[$69>>2]|0; - $111 = ($k$3|0)>($110|0); - L61: do { - if ($111) { - $k$5 = $k$3; - } else { - $k$4$ph20 = $k$3;$r1$0$ph519 = $r1$0$ph; - while(1) { - $k$415 = $k$4$ph20; - while(1) { - $115 = (($k$415) + 1)|0; - $116 = (25744 + ($k$415)|0); - $117 = HEAP8[$116>>0]|0; - $118 = $117&255; - $119 = (($data) + ($118<<1)|0); - $120 = HEAP16[$119>>1]|0; - $121 = ($120<<16>>16)==(0); - if ($121) { - $$lcssa63 = $115;$$lcssa66 = $119;$k$415$lcssa = $k$415; + $31 = ($$0107127>>>0)<(7); + do { + if ($31) { + $32 = HEAP32[$3>>2]|0; + $33 = HEAP32[$4>>2]|0; + $34 = ($32>>>0)<($33>>>0); + if ($34) { + $35 = ((($32)) + 1|0); + HEAP32[$3>>2] = $35; + $36 = HEAP8[$32>>0]|0; + $37 = $36&255; + $$2 = $37; + break; + } else { + $38 = (___shgetc($0)|0); + $$2 = $38; break; } - $122 = (_stbi__jpeg_get_bit($j)|0); - $123 = ($122|0)==(0); - do { - if (!($123)) { - $124 = HEAP16[$119>>1]|0; - $125 = $124 << 16 >> 16; - $126 = $125 & $70; - $127 = ($126|0)==(0); - if ($127) { - $128 = ($124<<16>>16)>(0); - if ($128) { - $129 = (($125) + ($70))|0; - $130 = $129&65535; - HEAP16[$119>>1] = $130; - break; - } else { - $133 = (($125) - ($70))|0; - $134 = $133&65535; - HEAP16[$119>>1] = $134; - break; - } - } - } - } while(0); - $131 = HEAP32[$69>>2]|0; - $132 = ($k$415|0)<($131|0); - if ($132) { - $k$415 = $115; + } else { + $$2 = $$1128; + } + } while(0); + $39 = (($$0107127) + 1)|0; + $40 = ($39>>>0)<(8); + if ($40) { + $$0107127 = $39;$$1128 = $$2; + } else { + $$0107$lcssa = $39;$$1$lcssa = $$2; + break; + } + } + L29: do { + switch ($$0107$lcssa|0) { + case 8: { + break; + } + case 3: { + label = 23; + break; + } + default: { + $41 = ($$0107$lcssa>>>0)>(3); + $42 = ($2|0)!=(0); + $or$cond5 = $42 & $41; + if ($or$cond5) { + $43 = ($$0107$lcssa|0)==(8); + if ($43) { + break L29; } else { - $k$5 = $115; - break L61; + label = 23; + break L29; } } - $135 = ($r1$0$ph519|0)==(0); - if ($135) { - $$lcssa63$lcssa = $$lcssa63;$$lcssa66$lcssa = $$lcssa66; + $56 = ($$0107$lcssa|0)==(0); + L34: do { + if ($56) { + $$2109125 = 0;$$3126 = $$1$lcssa; + while(1) { + $57 = $$3126 | 32; + $58 = (26446 + ($$2109125)|0); + $59 = HEAP8[$58>>0]|0; + $60 = $59 << 24 >> 24; + $61 = ($57|0)==($60|0); + if (!($61)) { + $$3110 = $$2109125;$$5 = $$3126; + break L34; + } + $62 = ($$2109125>>>0)<(2); + do { + if ($62) { + $63 = HEAP32[$3>>2]|0; + $64 = HEAP32[$4>>2]|0; + $65 = ($63>>>0)<($64>>>0); + if ($65) { + $66 = ((($63)) + 1|0); + HEAP32[$3>>2] = $66; + $67 = HEAP8[$63>>0]|0; + $68 = $67&255; + $$4 = $68; + break; + } else { + $69 = (___shgetc($0)|0); + $$4 = $69; + break; + } + } else { + $$4 = $$3126; + } + } while(0); + $70 = (($$2109125) + 1)|0; + $71 = ($70>>>0)<(3); + if ($71) { + $$2109125 = $70;$$3126 = $$4; + } else { + $$3110 = $70;$$5 = $$4; + break; + } + } + } else { + $$3110 = $$0107$lcssa;$$5 = $$1$lcssa; + } + } while(0); + switch ($$3110|0) { + case 3: { + $72 = HEAP32[$3>>2]|0; + $73 = HEAP32[$4>>2]|0; + $74 = ($72>>>0)<($73>>>0); + if ($74) { + $75 = ((($72)) + 1|0); + HEAP32[$3>>2] = $75; + $76 = HEAP8[$72>>0]|0; + $77 = $76&255; + $80 = $77; + } else { + $78 = (___shgetc($0)|0); + $80 = $78; + } + $79 = ($80|0)==(40); + if ($79) { + $$4111 = 1; + } else { + $81 = HEAP32[$4>>2]|0; + $82 = ($81|0)==(0|0); + if ($82) { + $$0114 = nan; + break L4; + } + $83 = HEAP32[$3>>2]|0; + $84 = ((($83)) + -1|0); + HEAP32[$3>>2] = $84; + $$0114 = nan; + break L4; + } + while(1) { + $85 = HEAP32[$3>>2]|0; + $86 = HEAP32[$4>>2]|0; + $87 = ($85>>>0)<($86>>>0); + if ($87) { + $88 = ((($85)) + 1|0); + HEAP32[$3>>2] = $88; + $89 = HEAP8[$85>>0]|0; + $90 = $89&255; + $93 = $90; + } else { + $91 = (___shgetc($0)|0); + $93 = $91; + } + $92 = (($93) + -48)|0; + $94 = ($92>>>0)<(10); + $95 = (($93) + -65)|0; + $96 = ($95>>>0)<(26); + $or$cond = $94 | $96; + if (!($or$cond)) { + $97 = (($93) + -97)|0; + $98 = ($97>>>0)<(26); + $99 = ($93|0)==(95); + $or$cond7 = $99 | $98; + if (!($or$cond7)) { + break; + } + } + $111 = (($$4111) + 1)|0; + $$4111 = $111; + } + $100 = ($93|0)==(41); + if ($100) { + $$0114 = nan; + break L4; + } + $101 = HEAP32[$4>>2]|0; + $102 = ($101|0)==(0|0); + if (!($102)) { + $103 = HEAP32[$3>>2]|0; + $104 = ((($103)) + -1|0); + HEAP32[$3>>2] = $104; + } + if (!($42)) { + $106 = (___errno_location()|0); + HEAP32[$106>>2] = 22; + ___shlim($0,0); + $$0114 = 0.0; + break L4; + } + $105 = ($$4111|0)==(0); + if ($105) { + $$0114 = nan; + break L4; + } else { + $$in = $$4111; + } + while(1) { + $107 = (($$in) + -1)|0; + if (!($102)) { + $108 = HEAP32[$3>>2]|0; + $109 = ((($108)) + -1|0); + HEAP32[$3>>2] = $109; + } + $110 = ($107|0)==(0); + if ($110) { + $$0114 = nan; + break L4; + } else { + $$in = $107; + } + } break; } - $112 = (($r1$0$ph519) + -1)|0; - $113 = HEAP32[$69>>2]|0; - $114 = ($k$415$lcssa|0)<($113|0); - if ($114) { - $k$4$ph20 = $$lcssa63;$r1$0$ph519 = $112; - } else { - $k$5 = $$lcssa63; - break L61; + case 0: { + $117 = ($$5|0)==(48); + if ($117) { + $118 = HEAP32[$3>>2]|0; + $119 = HEAP32[$4>>2]|0; + $120 = ($118>>>0)<($119>>>0); + if ($120) { + $121 = ((($118)) + 1|0); + HEAP32[$3>>2] = $121; + $122 = HEAP8[$118>>0]|0; + $123 = $122&255; + $126 = $123; + } else { + $124 = (___shgetc($0)|0); + $126 = $124; + } + $125 = $126 | 32; + $127 = ($125|0)==(120); + if ($127) { + $128 = (+_hexfloat($0,$$0106$ph,$$0105$ph,$$0113,$2)); + $$0114 = $128; + break L4; + } + $129 = HEAP32[$4>>2]|0; + $130 = ($129|0)==(0|0); + if ($130) { + $$6 = 48; + } else { + $131 = HEAP32[$3>>2]|0; + $132 = ((($131)) + -1|0); + HEAP32[$3>>2] = $132; + $$6 = 48; + } + } else { + $$6 = $$5; + } + $133 = (+_decfloat($0,$$6,$$0106$ph,$$0105$ph,$$0113,$2)); + $$0114 = $133; + break L4; + break; + } + default: { + $112 = HEAP32[$4>>2]|0; + $113 = ($112|0)==(0|0); + if (!($113)) { + $114 = HEAP32[$3>>2]|0; + $115 = ((($114)) + -1|0); + HEAP32[$3>>2] = $115; + } + $116 = (___errno_location()|0); + HEAP32[$116>>2] = 22; + ___shlim($0,0); + $$0114 = 0.0; + break L4; + } + } + } + } + } while(0); + if ((label|0) == 23) { + $44 = HEAP32[$4>>2]|0; + $45 = ($44|0)==(0|0); + if (!($45)) { + $46 = HEAP32[$3>>2]|0; + $47 = ((($46)) + -1|0); + HEAP32[$3>>2] = $47; + } + $48 = ($2|0)!=(0); + $49 = ($$0107$lcssa>>>0)>(3); + $or$cond9 = $48 & $49; + if ($or$cond9) { + $$1108 = $$0107$lcssa; + while(1) { + if (!($45)) { + $50 = HEAP32[$3>>2]|0; + $51 = ((($50)) + -1|0); + HEAP32[$3>>2] = $51; + } + $52 = (($$1108) + -1)|0; + $$old8 = ($52>>>0)>(3); + if ($$old8) { + $$1108 = $52; + } else { + break; + } } } - $136 = $s2$0$ph&65535; - HEAP16[$$lcssa66$lcssa>>1] = $136; - $k$5 = $$lcssa63$lcssa; } - } while(0); - $137 = HEAP32[$69>>2]|0; - $138 = ($k$5|0)>($137|0); - if ($138) { - $$0 = 1; - label = 53; + $53 = (+($$0113|0)); + $54 = $53 * inf; + $55 = $54; + $$0114 = $55; + } + } while(0); + return (+$$0114); +} +function _hexfloat($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$0 = 0, $$0133 = 0, $$0142 = 0, $$0146 = 0, $$0148 = 0, $$0148$ = 0, $$0151 = 0.0, $$0152 = 0.0, $$0155 = 0.0, $$0155$ = 0.0, $$0159 = 0, $$0165 = 0.0, $$0166 = 0, $$0166169 = 0, $$0166170 = 0, $$1$ph = 0, $$1147 = 0, $$1149 = 0, $$1153 = 0.0, $$1156 = 0.0; + var $$1160 = 0, $$2 = 0, $$2$lcssa = 0, $$2144 = 0, $$2150 = 0, $$2154 = 0.0, $$2157 = 0.0, $$2161 = 0, $$3145 = 0, $$3158$lcssa = 0.0, $$3158179 = 0.0, $$3162$lcssa = 0, $$3162183 = 0, $$4 = 0.0, $$4163$lcssa = 0, $$4163178 = 0, $$5 = 0.0, $$5164 = 0, $$6 = 0, $$pn = 0.0; + var $$pre = 0.0, $$pre$phiZ2D = 0.0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; + var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; + var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0.0, $143 = 0.0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; + var $152 = 0, $153 = 0.0, $154 = 0.0, $155 = 0.0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0.0, $167 = 0.0, $168 = 0.0, $169 = 0, $17 = 0; + var $170 = 0, $171 = 0.0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; + var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0.0, $197 = 0, $198 = 0.0, $199 = 0.0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0.0, $206 = 0.0; + var $207 = 0.0, $208 = 0.0, $209 = 0.0, $21 = 0, $210 = 0.0, $211 = 0, $212 = 0, $213 = 0.0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0; + var $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0.0, $67 = 0.0; + var $68 = 0.0, $69 = 0.0, $7 = 0, $70 = 0, $71 = 0, $72 = 0.0, $73 = 0.0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0; + var $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0.0, $96 = 0.0, $97 = 0, $98 = 0, $99 = 0, $not$ = 0, $or$cond = 0, $or$cond168 = 0, $or$cond206 = 0, $or$cond4 = 0; + var $or$cond6 = 0, label = 0, sp = 0; + sp = STACKTOP; + $5 = ((($0)) + 4|0); + $6 = HEAP32[$5>>2]|0; + $7 = ((($0)) + 100|0); + $8 = HEAP32[$7>>2]|0; + $9 = ($6>>>0)<($8>>>0); + if ($9) { + $10 = ((($6)) + 1|0); + HEAP32[$5>>2] = $10; + $11 = HEAP8[$6>>0]|0; + $12 = $11&255; + $$0 = $12;$$0142 = 0; + } else { + $13 = (___shgetc($0)|0); + $$0 = $13;$$0142 = 0; + } + L4: while(1) { + switch ($$0|0) { + case 46: { + label = 8; + break L4; break; + } + case 48: { + break; + } + default: { + $$0146 = 0;$$0148 = 0;$$0152 = 1.0;$$0155 = 0.0;$$0159 = 0;$$2 = $$0;$$2144 = $$0142;$101 = 0;$53 = 0;$55 = 0;$99 = 0; + break L4; + } + } + $14 = HEAP32[$5>>2]|0; + $15 = HEAP32[$7>>2]|0; + $16 = ($14>>>0)<($15>>>0); + if ($16) { + $17 = ((($14)) + 1|0); + HEAP32[$5>>2] = $17; + $18 = HEAP8[$14>>0]|0; + $19 = $18&255; + $$0 = $19;$$0142 = 1; + continue; } else { - $k$3 = $k$5; + $20 = (___shgetc($0)|0); + $$0 = $20;$$0142 = 1; + continue; } } - if ((label|0) == 33) { - _stbi__err(26184); - $$0 = 0; - return ($$0|0); + if ((label|0) == 8) { + $21 = HEAP32[$5>>2]|0; + $22 = HEAP32[$7>>2]|0; + $23 = ($21>>>0)<($22>>>0); + if ($23) { + $24 = ((($21)) + 1|0); + HEAP32[$5>>2] = $24; + $25 = HEAP8[$21>>0]|0; + $26 = $25&255; + $$1$ph = $26; + } else { + $27 = (___shgetc($0)|0); + $$1$ph = $27; + } + $28 = ($$1$ph|0)==(48); + if ($28) { + $36 = 0;$37 = 0; + while(1) { + $29 = HEAP32[$5>>2]|0; + $30 = HEAP32[$7>>2]|0; + $31 = ($29>>>0)<($30>>>0); + if ($31) { + $32 = ((($29)) + 1|0); + HEAP32[$5>>2] = $32; + $33 = HEAP8[$29>>0]|0; + $34 = $33&255; + $41 = $34; + } else { + $35 = (___shgetc($0)|0); + $41 = $35; + } + $38 = (_i64Add(($36|0),($37|0),-1,-1)|0); + $39 = tempRet0; + $40 = ($41|0)==(48); + if ($40) { + $36 = $38;$37 = $39; + } else { + $$0146 = 1;$$0148 = 0;$$0152 = 1.0;$$0155 = 0.0;$$0159 = 0;$$2 = $41;$$2144 = 1;$101 = $39;$53 = 0;$55 = 0;$99 = $38; + break; + } + } + } else { + $$0146 = 1;$$0148 = 0;$$0152 = 1.0;$$0155 = 0.0;$$0159 = 0;$$2 = $$1$ph;$$2144 = $$0142;$101 = 0;$53 = 0;$55 = 0;$99 = 0; + } } - else if ((label|0) == 38) { - _stbi__err(26184); - $$0 = 0; - return ($$0|0); + while(1) { + $42 = (($$2) + -48)|0; + $43 = ($42>>>0)<(10); + $44 = ($$2|0)==(46); + if (!($43)) { + $45 = $$2 | 32; + $46 = (($45) + -97)|0; + $47 = ($46>>>0)<(6); + $or$cond6 = $44 | $47; + if (!($or$cond6)) { + $$2$lcssa = $$2; + break; + } + } + if ($44) { + $48 = ($$0146|0)==(0); + if ($48) { + $$1147 = 1;$$2150 = $$0148;$$2154 = $$0152;$$2157 = $$0155;$$2161 = $$0159;$$3145 = $$2144;$214 = $55;$215 = $53;$216 = $55;$217 = $53; + } else { + $$2$lcssa = 46; + break; + } + } else { + $49 = ($$2|0)>(57); + $50 = $$2 | 32; + $51 = (($50) + -87)|0; + $$0133 = $49 ? $51 : $42; + $52 = ($53|0)<(0); + $54 = ($55>>>0)<(8); + $56 = ($53|0)==(0); + $57 = $56 & $54; + $58 = $52 | $57; + do { + if ($58) { + $59 = $$0159 << 4; + $60 = (($$0133) + ($59))|0; + $$1149 = $$0148;$$1153 = $$0152;$$1156 = $$0155;$$1160 = $60; + } else { + $61 = ($53|0)<(0); + $62 = ($55>>>0)<(14); + $63 = ($53|0)==(0); + $64 = $63 & $62; + $65 = $61 | $64; + if ($65) { + $66 = (+($$0133|0)); + $67 = $$0152 * 0.0625; + $68 = $67 * $66; + $69 = $$0155 + $68; + $$1149 = $$0148;$$1153 = $67;$$1156 = $69;$$1160 = $$0159; + break; + } else { + $70 = ($$0133|0)==(0); + $71 = ($$0148|0)!=(0); + $or$cond = $71 | $70; + $72 = $$0152 * 0.5; + $73 = $$0155 + $72; + $$0155$ = $or$cond ? $$0155 : $73; + $$0148$ = $or$cond ? $$0148 : 1; + $$1149 = $$0148$;$$1153 = $$0152;$$1156 = $$0155$;$$1160 = $$0159; + break; + } + } + } while(0); + $74 = (_i64Add(($55|0),($53|0),1,0)|0); + $75 = tempRet0; + $$1147 = $$0146;$$2150 = $$1149;$$2154 = $$1153;$$2157 = $$1156;$$2161 = $$1160;$$3145 = 1;$214 = $99;$215 = $101;$216 = $74;$217 = $75; + } + $76 = HEAP32[$5>>2]|0; + $77 = HEAP32[$7>>2]|0; + $78 = ($76>>>0)<($77>>>0); + if ($78) { + $79 = ((($76)) + 1|0); + HEAP32[$5>>2] = $79; + $80 = HEAP8[$76>>0]|0; + $81 = $80&255; + $$0146 = $$1147;$$0148 = $$2150;$$0152 = $$2154;$$0155 = $$2157;$$0159 = $$2161;$$2 = $81;$$2144 = $$3145;$101 = $215;$53 = $217;$55 = $216;$99 = $214; + continue; + } else { + $82 = (___shgetc($0)|0); + $$0146 = $$1147;$$0148 = $$2150;$$0152 = $$2154;$$0155 = $$2157;$$0159 = $$2161;$$2 = $82;$$2144 = $$3145;$101 = $215;$53 = $217;$55 = $216;$99 = $214; + continue; + } } - else if ((label|0) == 53) { - return ($$0|0); - } - return (0)|0; + $83 = ($$2144|0)==(0); + do { + if ($83) { + $84 = HEAP32[$7>>2]|0; + $85 = ($84|0)!=(0|0); + if ($85) { + $86 = HEAP32[$5>>2]|0; + $87 = ((($86)) + -1|0); + HEAP32[$5>>2] = $87; + } + $88 = ($4|0)==(0); + if ($88) { + ___shlim($0,0); + } else { + if ($85) { + $89 = HEAP32[$5>>2]|0; + $90 = ((($89)) + -1|0); + HEAP32[$5>>2] = $90; + } + $91 = ($$0146|0)==(0); + $92 = ($84|0)==(0|0); + $or$cond206 = $91 | $92; + if (!($or$cond206)) { + $93 = HEAP32[$5>>2]|0; + $94 = ((($93)) + -1|0); + HEAP32[$5>>2] = $94; + } + } + $95 = (+($3|0)); + $96 = $95 * 0.0; + $$0165 = $96; + } else { + $97 = ($$0146|0)==(0); + $98 = $97 ? $55 : $99; + $100 = $97 ? $53 : $101; + $102 = ($53|0)<(0); + $103 = ($55>>>0)<(8); + $104 = ($53|0)==(0); + $105 = $104 & $103; + $106 = $102 | $105; + if ($106) { + $$3162183 = $$0159;$108 = $55;$109 = $53; + while(1) { + $107 = $$3162183 << 4; + $110 = (_i64Add(($108|0),($109|0),1,0)|0); + $111 = tempRet0; + $112 = ($111|0)<(0); + $113 = ($110>>>0)<(8); + $114 = ($111|0)==(0); + $115 = $114 & $113; + $116 = $112 | $115; + if ($116) { + $$3162183 = $107;$108 = $110;$109 = $111; + } else { + $$3162$lcssa = $107; + break; + } + } + } else { + $$3162$lcssa = $$0159; + } + $117 = $$2$lcssa | 32; + $118 = ($117|0)==(112); + if ($118) { + $119 = (_scanexp($0,$4)|0); + $120 = tempRet0; + $121 = ($119|0)==(0); + $122 = ($120|0)==(-2147483648); + $123 = $121 & $122; + if ($123) { + $124 = ($4|0)==(0); + if ($124) { + ___shlim($0,0); + $$0165 = 0.0; + break; + } + $125 = HEAP32[$7>>2]|0; + $126 = ($125|0)==(0|0); + if ($126) { + $137 = 0;$138 = 0; + } else { + $127 = HEAP32[$5>>2]|0; + $128 = ((($127)) + -1|0); + HEAP32[$5>>2] = $128; + $137 = 0;$138 = 0; + } + } else { + $137 = $119;$138 = $120; + } + } else { + $129 = HEAP32[$7>>2]|0; + $130 = ($129|0)==(0|0); + if ($130) { + $137 = 0;$138 = 0; + } else { + $131 = HEAP32[$5>>2]|0; + $132 = ((($131)) + -1|0); + HEAP32[$5>>2] = $132; + $137 = 0;$138 = 0; + } + } + $133 = (_bitshift64Shl(($98|0),($100|0),2)|0); + $134 = tempRet0; + $135 = (_i64Add(($133|0),($134|0),-32,-1)|0); + $136 = tempRet0; + $139 = (_i64Add(($135|0),($136|0),($137|0),($138|0))|0); + $140 = tempRet0; + $141 = ($$3162$lcssa|0)==(0); + if ($141) { + $142 = (+($3|0)); + $143 = $142 * 0.0; + $$0165 = $143; + break; + } + $144 = (0 - ($2))|0; + $145 = ($144|0)<(0); + $146 = $145 << 31 >> 31; + $147 = ($140|0)>($146|0); + $148 = ($139>>>0)>($144>>>0); + $149 = ($140|0)==($146|0); + $150 = $149 & $148; + $151 = $147 | $150; + if ($151) { + $152 = (___errno_location()|0); + HEAP32[$152>>2] = 34; + $153 = (+($3|0)); + $154 = $153 * 1.7976931348623157E+308; + $155 = $154 * 1.7976931348623157E+308; + $$0165 = $155; + break; + } + $156 = (($2) + -106)|0; + $157 = ($156|0)<(0); + $158 = $157 << 31 >> 31; + $159 = ($140|0)<($158|0); + $160 = ($139>>>0)<($156>>>0); + $161 = ($140|0)==($158|0); + $162 = $161 & $160; + $163 = $159 | $162; + if ($163) { + $165 = (___errno_location()|0); + HEAP32[$165>>2] = 34; + $166 = (+($3|0)); + $167 = $166 * 2.2250738585072014E-308; + $168 = $167 * 2.2250738585072014E-308; + $$0165 = $168; + break; + } + $164 = ($$3162$lcssa|0)>(-1); + if ($164) { + $$3158179 = $$0155;$$4163178 = $$3162$lcssa;$173 = $139;$174 = $140; + while(1) { + $169 = !($$3158179 >= 0.5); + $170 = $$4163178 << 1; + $171 = $$3158179 + -1.0; + $not$ = $169 ^ 1; + $172 = $not$&1; + $$5164 = $170 | $172; + $$pn = $169 ? $$3158179 : $171; + $$4 = $$3158179 + $$pn; + $175 = (_i64Add(($173|0),($174|0),-1,-1)|0); + $176 = tempRet0; + $177 = ($$5164|0)>(-1); + if ($177) { + $$3158179 = $$4;$$4163178 = $$5164;$173 = $175;$174 = $176; + } else { + $$3158$lcssa = $$4;$$4163$lcssa = $$5164;$184 = $175;$185 = $176; + break; + } + } + } else { + $$3158$lcssa = $$0155;$$4163$lcssa = $$3162$lcssa;$184 = $139;$185 = $140; + } + $178 = ($1|0)<(0); + $179 = $178 << 31 >> 31; + $180 = ($2|0)<(0); + $181 = $180 << 31 >> 31; + $182 = (_i64Subtract(32,0,($2|0),($181|0))|0); + $183 = tempRet0; + $186 = (_i64Add(($182|0),($183|0),($184|0),($185|0))|0); + $187 = tempRet0; + $188 = ($179|0)>($187|0); + $189 = ($1>>>0)>($186>>>0); + $190 = ($179|0)==($187|0); + $191 = $190 & $189; + $192 = $188 | $191; + if ($192) { + $193 = ($186|0)>(0); + if ($193) { + $$0166 = $186; + label = 59; + } else { + $$0166170 = 0;$197 = 84; + label = 61; + } + } else { + $$0166 = $1; + label = 59; + } + if ((label|0) == 59) { + $194 = ($$0166|0)<(53); + $195 = (84 - ($$0166))|0; + if ($194) { + $$0166170 = $$0166;$197 = $195; + label = 61; + } else { + $$pre = (+($3|0)); + $$0151 = 0.0;$$0166169 = $$0166;$$pre$phiZ2D = $$pre; + } + } + if ((label|0) == 61) { + $196 = (+($3|0)); + $198 = (+_scalbn(1.0,$197)); + $199 = (+_copysignl($198,$196)); + $$0151 = $199;$$0166169 = $$0166170;$$pre$phiZ2D = $196; + } + $200 = ($$0166169|0)<(32); + $201 = $$3158$lcssa != 0.0; + $or$cond4 = $201 & $200; + $202 = $$4163$lcssa & 1; + $203 = ($202|0)==(0); + $or$cond168 = $203 & $or$cond4; + $204 = $or$cond168&1; + $$6 = (($204) + ($$4163$lcssa))|0; + $$5 = $or$cond168 ? 0.0 : $$3158$lcssa; + $205 = (+($$6>>>0)); + $206 = $$pre$phiZ2D * $205; + $207 = $$0151 + $206; + $208 = $$pre$phiZ2D * $$5; + $209 = $208 + $207; + $210 = $209 - $$0151; + $211 = $210 != 0.0; + if (!($211)) { + $212 = (___errno_location()|0); + HEAP32[$212>>2] = 34; + } + $213 = (+_scalbnl($210,$184)); + $$0165 = $213; + } + } while(0); + return (+$$0165); } -function _stbi__jpeg_huff_decode($j,$h) { - $j = $j|0; - $h = $h|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; - var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $k$0 = 0, $k$0$lcssa = 0; +function _decfloat($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + var $$ = 0, $$$0345 = 0, $$$0350 = 0, $$$0385 = 0, $$$0401 = 0, $$$5355 = 0, $$$5390 = 0, $$0329 = 0, $$0332490 = 0, $$0333 = 0, $$0334 = 0, $$0336486 = 0, $$0340496 = 0, $$0341$lcssa = 0, $$0341463 = 0, $$0341464 = 0, $$0341465 = 0, $$0341513 = 0, $$0345$lcssa = 0, $$0345467 = 0; + var $$0345468 = 0, $$0345469 = 0, $$0345512 = 0, $$0350$lcssa554 = 0, $$0350494 = 0, $$0360 = 0.0, $$0361 = 0.0, $$0365484 = 0.0, $$0372 = 0, $$0380 = 0, $$0380$ph = 0, $$0385$lcssa553 = 0, $$0385493 = 0, $$0393 = 0, $$0396 = 0, $$0401$lcssa = 0, $$0401473 = 0, $$0401474 = 0, $$0401475 = 0, $$0401509 = 0; + var $$1 = 0.0, $$10 = 0, $$1330$be = 0, $$1330$ph = 0, $$1335 = 0, $$1337 = 0, $$1362 = 0.0, $$1366 = 0.0, $$1373 = 0, $$1373$ph448 = 0, $$1381 = 0, $$1381$ph = 0, $$1381$ph558 = 0, $$1394$lcssa = 0, $$1394511 = 0, $$2 = 0, $$2343 = 0, $$2347 = 0, $$2352$ph449 = 0, $$2367 = 0.0; + var $$2371$v = 0, $$2374 = 0, $$2387$ph447 = 0, $$2395 = 0, $$2398 = 0, $$2403 = 0, $$3$be = 0, $$3$lcssa = 0, $$3344503 = 0, $$3348 = 0, $$3364 = 0.0, $$3368 = 0.0, $$3375 = 0, $$3383 = 0, $$3399$lcssa = 0, $$3399510 = 0, $$3514 = 0, $$413 = 0, $$425 = 0, $$4349495 = 0; + var $$4354 = 0, $$4354$ph = 0, $$4354$ph559 = 0, $$4376 = 0, $$4384 = 0, $$4389$ph = 0, $$4389$ph445 = 0, $$4400 = 0, $$4485 = 0, $$5 = 0, $$5$in = 0, $$5355488 = 0, $$5390487 = 0, $$6378$ph = 0, $$6489 = 0, $$9483 = 0, $$neg442 = 0, $$neg443 = 0, $$pre = 0, $$promoted = 0; + var $$sink = 0, $$sink421$off0 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0.0, $103 = 0.0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; + var $116 = 0, $117 = 0, $118 = 0, $119 = 0.0, $12 = 0, $120 = 0.0, $121 = 0.0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0.0, $132 = 0.0, $133 = 0.0; + var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0.0, $144 = 0.0, $145 = 0.0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; + var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0.0, $159 = 0.0, $16 = 0, $160 = 0.0, $161 = 0, $162 = 0.0, $163 = 0.0, $164 = 0.0, $165 = 0, $166 = 0, $167 = 0, $168 = 0.0, $169 = 0.0, $17 = 0; + var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0.0, $177 = 0.0, $178 = 0.0, $179 = 0, $18 = 0, $180 = 0.0, $181 = 0.0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; + var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0; + var $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0; + var $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0; + var $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0; + var $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0; + var $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0; + var $298 = 0, $299 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0.0, $304 = 0, $305 = 0, $306 = 0.0, $307 = 0.0, $308 = 0, $309 = 0.0, $31 = 0, $310 = 0.0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0; + var $316 = 0, $317 = 0.0, $318 = 0.0, $319 = 0, $32 = 0, $320 = 0.0, $321 = 0.0, $322 = 0.0, $323 = 0.0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0; + var $334 = 0.0, $335 = 0.0, $336 = 0, $337 = 0.0, $338 = 0.0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0.0, $343 = 0.0, $344 = 0.0, $345 = 0.0, $346 = 0, $347 = 0, $348 = 0.0, $349 = 0, $35 = 0, $350 = 0.0, $351 = 0.0; + var $352 = 0.0, $353 = 0, $354 = 0, $355 = 0, $356 = 0.0, $357 = 0, $358 = 0.0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0.0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0; + var $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $39 = 0, $40 = 0, $41 = 0; + var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0; + var $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0; + var $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0; + var $98 = 0, $99 = 0, $cond = 0, $exitcond = 0, $exitcond551 = 0, $narrow = 0, $not$ = 0, $or$cond = 0, $or$cond11 = 0, $or$cond14 = 0, $or$cond415 = 0, $or$cond417 = 0, $or$cond419 = 0, $or$cond420 = 0, $or$cond422 = 0, $or$cond422$not = 0, $or$cond423 = 0, $or$cond426 = 0, $or$cond5 = 0, $sum = 0; var label = 0, sp = 0; sp = STACKTOP; - $0 = ((($j)) + 18112|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)<(16); - if ($2) { - _stbi__grow_buffer_unsafe($j); - } - $3 = ((($j)) + 18108|0); - $4 = HEAP32[$3>>2]|0; - $5 = $4 >>> 23; - $6 = (($h) + ($5)|0); - $7 = HEAP8[$6>>0]|0; - $8 = $7&255; - $9 = ($7<<24>>24)==(-1); - if (!($9)) { - $10 = (((($h)) + 1280|0) + ($8)|0); - $11 = HEAP8[$10>>0]|0; - $12 = $11&255; - $13 = HEAP32[$0>>2]|0; - $14 = ($12|0)>($13|0); - if ($14) { - $$0 = -1; - return ($$0|0); - } - $15 = $4 << $12; - HEAP32[$3>>2] = $15; - $16 = HEAP32[$0>>2]|0; - $17 = (($16) - ($12))|0; - HEAP32[$0>>2] = $17; - $18 = (((($h)) + 1024|0) + ($8)|0); - $19 = HEAP8[$18>>0]|0; - $20 = $19&255; - $$0 = $20; - return ($$0|0); - } - $21 = $4 >>> 16; - $k$0 = 10; - while(1) { - $22 = (((($h)) + 1540|0) + ($k$0<<2)|0); - $23 = HEAP32[$22>>2]|0; - $24 = ($21>>>0)<($23>>>0); - $25 = (($k$0) + 1)|0; - if ($24) { - $k$0$lcssa = $k$0; + STACKTOP = STACKTOP + 512|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(512|0); + $6 = sp; + $sum = (($3) + ($2))|0; + $7 = (0 - ($sum))|0; + $8 = ((($0)) + 4|0); + $9 = ((($0)) + 100|0); + $$0329 = $1;$$0396 = 0; + L1: while(1) { + switch ($$0329|0) { + case 46: { + label = 6; + break L1; break; + } + case 48: { + break; + } + default: { + $$0393 = 0;$$2 = $$0329;$$2398 = $$0396;$366 = 0;$367 = 0; + break L1; + } + } + $10 = HEAP32[$8>>2]|0; + $11 = HEAP32[$9>>2]|0; + $12 = ($10>>>0)<($11>>>0); + if ($12) { + $13 = ((($10)) + 1|0); + HEAP32[$8>>2] = $13; + $14 = HEAP8[$10>>0]|0; + $15 = $14&255; + $$0329 = $15;$$0396 = 1; + continue; } else { - $k$0 = $25; + $16 = (___shgetc($0)|0); + $$0329 = $16;$$0396 = 1; + continue; } } - $26 = ($k$0$lcssa|0)==(17); - $27 = HEAP32[$0>>2]|0; - if ($26) { - $28 = (($27) + -16)|0; - HEAP32[$0>>2] = $28; - $$0 = -1; - return ($$0|0); + if ((label|0) == 6) { + $17 = HEAP32[$8>>2]|0; + $18 = HEAP32[$9>>2]|0; + $19 = ($17>>>0)<($18>>>0); + if ($19) { + $20 = ((($17)) + 1|0); + HEAP32[$8>>2] = $20; + $21 = HEAP8[$17>>0]|0; + $22 = $21&255; + $$1330$ph = $22; + } else { + $23 = (___shgetc($0)|0); + $$1330$ph = $23; + } + $24 = ($$1330$ph|0)==(48); + if ($24) { + $25 = 0;$26 = 0; + while(1) { + $27 = (_i64Add(($25|0),($26|0),-1,-1)|0); + $28 = tempRet0; + $29 = HEAP32[$8>>2]|0; + $30 = HEAP32[$9>>2]|0; + $31 = ($29>>>0)<($30>>>0); + if ($31) { + $32 = ((($29)) + 1|0); + HEAP32[$8>>2] = $32; + $33 = HEAP8[$29>>0]|0; + $34 = $33&255; + $$1330$be = $34; + } else { + $35 = (___shgetc($0)|0); + $$1330$be = $35; + } + $36 = ($$1330$be|0)==(48); + if ($36) { + $25 = $27;$26 = $28; + } else { + $$0393 = 1;$$2 = $$1330$be;$$2398 = 1;$366 = $27;$367 = $28; + break; + } + } + } else { + $$0393 = 1;$$2 = $$1330$ph;$$2398 = $$0396;$366 = 0;$367 = 0; + } } - $29 = ($27|0)<($k$0$lcssa|0); - if ($29) { - $$0 = -1; - return ($$0|0); + HEAP32[$6>>2] = 0; + $37 = (($$2) + -48)|0; + $38 = ($37>>>0)<(10); + $39 = ($$2|0)==(46); + $40 = $39 | $38; + L20: do { + if ($40) { + $41 = ((($6)) + 496|0); + $$0341513 = 0;$$0345512 = 0;$$0401509 = 0;$$1394511 = $$0393;$$3399510 = $$2398;$$3514 = $$2;$368 = $39;$369 = $37;$370 = $366;$371 = $367;$44 = 0;$45 = 0; + L22: while(1) { + do { + if ($368) { + $cond = ($$1394511|0)==(0); + if ($cond) { + $$2343 = $$0341513;$$2347 = $$0345512;$$2395 = 1;$$2403 = $$0401509;$$4400 = $$3399510;$372 = $44;$373 = $45;$374 = $44;$375 = $45; + } else { + break L22; + } + } else { + $43 = ($$0345512|0)<(125); + $46 = (_i64Add(($44|0),($45|0),1,0)|0); + $47 = tempRet0; + $48 = ($$3514|0)!=(48); + if (!($43)) { + if (!($48)) { + $$2343 = $$0341513;$$2347 = $$0345512;$$2395 = $$1394511;$$2403 = $$0401509;$$4400 = $$3399510;$372 = $370;$373 = $371;$374 = $46;$375 = $47; + break; + } + $57 = HEAP32[$41>>2]|0; + $58 = $57 | 1; + HEAP32[$41>>2] = $58; + $$2343 = $$0341513;$$2347 = $$0345512;$$2395 = $$1394511;$$2403 = $$0401509;$$4400 = $$3399510;$372 = $370;$373 = $371;$374 = $46;$375 = $47; + break; + } + $$$0401 = $48 ? $46 : $$0401509; + $49 = ($$0341513|0)==(0); + $$pre = (($6) + ($$0345512<<2)|0); + if ($49) { + $$sink = $369; + } else { + $50 = HEAP32[$$pre>>2]|0; + $51 = ($50*10)|0; + $52 = (($$3514) + -48)|0; + $53 = (($52) + ($51))|0; + $$sink = $53; + } + HEAP32[$$pre>>2] = $$sink; + $54 = (($$0341513) + 1)|0; + $55 = ($54|0)==(9); + $56 = $55&1; + $$$0345 = (($56) + ($$0345512))|0; + $$413 = $55 ? 0 : $54; + $$2343 = $$413;$$2347 = $$$0345;$$2395 = $$1394511;$$2403 = $$$0401;$$4400 = 1;$372 = $370;$373 = $371;$374 = $46;$375 = $47; + } + } while(0); + $59 = HEAP32[$8>>2]|0; + $60 = HEAP32[$9>>2]|0; + $61 = ($59>>>0)<($60>>>0); + if ($61) { + $62 = ((($59)) + 1|0); + HEAP32[$8>>2] = $62; + $63 = HEAP8[$59>>0]|0; + $64 = $63&255; + $$3$be = $64; + } else { + $65 = (___shgetc($0)|0); + $$3$be = $65; + } + $66 = (($$3$be) + -48)|0; + $67 = ($66>>>0)<(10); + $68 = ($$3$be|0)==(46); + $69 = $68 | $67; + if ($69) { + $$0341513 = $$2343;$$0345512 = $$2347;$$0401509 = $$2403;$$1394511 = $$2395;$$3399510 = $$4400;$$3514 = $$3$be;$368 = $68;$369 = $66;$370 = $372;$371 = $373;$44 = $374;$45 = $375; + } else { + $$0341$lcssa = $$2343;$$0345$lcssa = $$2347;$$0401$lcssa = $$2403;$$1394$lcssa = $$2395;$$3$lcssa = $$3$be;$$3399$lcssa = $$4400;$72 = $372;$73 = $374;$75 = $373;$76 = $375; + label = 29; + break L20; + } + } + $42 = ($$3399510|0)!=(0); + $$0341465 = $$0341513;$$0345469 = $$0345512;$$0401475 = $$0401509;$376 = $44;$377 = $45;$378 = $370;$379 = $371;$380 = $42; + label = 37; + } else { + $$0341$lcssa = 0;$$0345$lcssa = 0;$$0401$lcssa = 0;$$1394$lcssa = $$0393;$$3$lcssa = $$2;$$3399$lcssa = $$2398;$72 = $366;$73 = 0;$75 = $367;$76 = 0; + label = 29; + } + } while(0); + do { + if ((label|0) == 29) { + $70 = ($$1394$lcssa|0)==(0); + $71 = $70 ? $73 : $72; + $74 = $70 ? $76 : $75; + $77 = ($$3399$lcssa|0)!=(0); + $78 = $$3$lcssa | 32; + $79 = ($78|0)==(101); + $or$cond415 = $77 & $79; + if (!($or$cond415)) { + $94 = ($$3$lcssa|0)>(-1); + if ($94) { + $$0341465 = $$0341$lcssa;$$0345469 = $$0345$lcssa;$$0401475 = $$0401$lcssa;$376 = $73;$377 = $76;$378 = $71;$379 = $74;$380 = $77; + label = 37; + break; + } else { + $$0341464 = $$0341$lcssa;$$0345468 = $$0345$lcssa;$$0401474 = $$0401$lcssa;$381 = $73;$382 = $76;$383 = $77;$384 = $71;$385 = $74; + label = 39; + break; + } + } + $80 = (_scanexp($0,$5)|0); + $81 = tempRet0; + $82 = ($80|0)==(0); + $83 = ($81|0)==(-2147483648); + $84 = $82 & $83; + if ($84) { + $85 = ($5|0)==(0); + if ($85) { + ___shlim($0,0); + $$1 = 0.0; + break; + } + $86 = HEAP32[$9>>2]|0; + $87 = ($86|0)==(0|0); + if ($87) { + $90 = 0;$91 = 0; + } else { + $88 = HEAP32[$8>>2]|0; + $89 = ((($88)) + -1|0); + HEAP32[$8>>2] = $89; + $90 = 0;$91 = 0; + } + } else { + $90 = $80;$91 = $81; + } + $92 = (_i64Add(($90|0),($91|0),($71|0),($74|0))|0); + $93 = tempRet0; + $$0341463 = $$0341$lcssa;$$0345467 = $$0345$lcssa;$$0401473 = $$0401$lcssa;$105 = $92;$106 = $73;$108 = $93;$109 = $76; + label = 41; + } + } while(0); + if ((label|0) == 37) { + $95 = HEAP32[$9>>2]|0; + $96 = ($95|0)==(0|0); + if ($96) { + $$0341464 = $$0341465;$$0345468 = $$0345469;$$0401474 = $$0401475;$381 = $376;$382 = $377;$383 = $380;$384 = $378;$385 = $379; + label = 39; + } else { + $97 = HEAP32[$8>>2]|0; + $98 = ((($97)) + -1|0); + HEAP32[$8>>2] = $98; + if ($380) { + $$0341463 = $$0341465;$$0345467 = $$0345469;$$0401473 = $$0401475;$105 = $378;$106 = $376;$108 = $379;$109 = $377; + label = 41; + } else { + label = 40; + } + } } - $30 = HEAP32[$3>>2]|0; - $31 = (32 - ($k$0$lcssa))|0; - $32 = $30 >>> $31; - $33 = (27776 + ($k$0$lcssa<<2)|0); - $34 = HEAP32[$33>>2]|0; - $35 = $32 & $34; - $36 = (((($h)) + 1612|0) + ($k$0$lcssa<<2)|0); - $37 = HEAP32[$36>>2]|0; - $38 = (($35) + ($37))|0; - $39 = (((($h)) + 1280|0) + ($38)|0); - $40 = HEAP8[$39>>0]|0; - $41 = $40&255; - $42 = (32 - ($41))|0; - $43 = $30 >>> $42; - $44 = (27776 + ($41<<2)|0); - $45 = HEAP32[$44>>2]|0; - $46 = $43 & $45; - $47 = (((($h)) + 512|0) + ($38<<1)|0); - $48 = HEAP16[$47>>1]|0; - $49 = $48&65535; - $50 = ($46|0)==($49|0); - if (!($50)) { - ___assert_fail((27912|0),(25096|0),1636,(28000|0)); - // unreachable; + if ((label|0) == 39) { + if ($383) { + $$0341463 = $$0341464;$$0345467 = $$0345468;$$0401473 = $$0401474;$105 = $384;$106 = $381;$108 = $385;$109 = $382; + label = 41; + } else { + label = 40; + } } - $51 = (($27) - ($k$0$lcssa))|0; - HEAP32[$0>>2] = $51; - $52 = HEAP32[$3>>2]|0; - $53 = $52 << $k$0$lcssa; - HEAP32[$3>>2] = $53; - $54 = (((($h)) + 1024|0) + ($38)|0); - $55 = HEAP8[$54>>0]|0; - $56 = $55&255; - $$0 = $56; - return ($$0|0); + do { + if ((label|0) == 40) { + $99 = (___errno_location()|0); + HEAP32[$99>>2] = 22; + ___shlim($0,0); + $$1 = 0.0; + } + else if ((label|0) == 41) { + $100 = HEAP32[$6>>2]|0; + $101 = ($100|0)==(0); + if ($101) { + $102 = (+($4|0)); + $103 = $102 * 0.0; + $$1 = $103; + break; + } + $104 = ($105|0)==($106|0); + $107 = ($108|0)==($109|0); + $110 = $104 & $107; + $111 = ($109|0)<(0); + $112 = ($106>>>0)<(10); + $113 = ($109|0)==(0); + $114 = $113 & $112; + $115 = $111 | $114; + $or$cond = $115 & $110; + if ($or$cond) { + $116 = ($2|0)>(30); + $117 = $100 >>> $2; + $118 = ($117|0)==(0); + $or$cond417 = $116 | $118; + if ($or$cond417) { + $119 = (+($4|0)); + $120 = (+($100>>>0)); + $121 = $119 * $120; + $$1 = $121; + break; + } + } + $122 = (($3|0) / -2)&-1; + $123 = ($122|0)<(0); + $124 = $123 << 31 >> 31; + $125 = ($108|0)>($124|0); + $126 = ($105>>>0)>($122>>>0); + $127 = ($108|0)==($124|0); + $128 = $127 & $126; + $129 = $125 | $128; + if ($129) { + $130 = (___errno_location()|0); + HEAP32[$130>>2] = 34; + $131 = (+($4|0)); + $132 = $131 * 1.7976931348623157E+308; + $133 = $132 * 1.7976931348623157E+308; + $$1 = $133; + break; + } + $134 = (($3) + -106)|0; + $135 = ($134|0)<(0); + $136 = $135 << 31 >> 31; + $137 = ($108|0)<($136|0); + $138 = ($105>>>0)<($134>>>0); + $139 = ($108|0)==($136|0); + $140 = $139 & $138; + $141 = $137 | $140; + if ($141) { + $142 = (___errno_location()|0); + HEAP32[$142>>2] = 34; + $143 = (+($4|0)); + $144 = $143 * 2.2250738585072014E-308; + $145 = $144 * 2.2250738585072014E-308; + $$1 = $145; + break; + } + $146 = ($$0341463|0)==(0); + if ($146) { + $$3348 = $$0345467; + } else { + $147 = ($$0341463|0)<(9); + if ($147) { + $148 = (($6) + ($$0345467<<2)|0); + $$promoted = HEAP32[$148>>2]|0; + $$3344503 = $$0341463;$150 = $$promoted; + while(1) { + $149 = ($150*10)|0; + $151 = (($$3344503) + 1)|0; + $exitcond551 = ($151|0)==(9); + if ($exitcond551) { + break; + } else { + $$3344503 = $151;$150 = $149; + } + } + HEAP32[$148>>2] = $149; + } + $152 = (($$0345467) + 1)|0; + $$3348 = $152; + } + $153 = ($$0401473|0)<(9); + if ($153) { + $154 = ($$0401473|0)<=($105|0); + $155 = ($105|0)<(18); + $or$cond5 = $154 & $155; + if ($or$cond5) { + $156 = ($105|0)==(9); + $157 = HEAP32[$6>>2]|0; + if ($156) { + $158 = (+($4|0)); + $159 = (+($157>>>0)); + $160 = $158 * $159; + $$1 = $160; + break; + } + $161 = ($105|0)<(9); + if ($161) { + $162 = (+($4|0)); + $163 = (+($157>>>0)); + $164 = $162 * $163; + $165 = (8 - ($105))|0; + $166 = (5548 + ($165<<2)|0); + $167 = HEAP32[$166>>2]|0; + $168 = (+($167|0)); + $169 = $164 / $168; + $$1 = $169; + break; + } + $$neg442 = Math_imul($105, -3)|0; + $$neg443 = (($2) + 27)|0; + $170 = (($$neg443) + ($$neg442))|0; + $171 = ($170|0)>(30); + $172 = $157 >>> $170; + $173 = ($172|0)==(0); + $or$cond419 = $171 | $173; + if ($or$cond419) { + $174 = (($105) + -10)|0; + $175 = (5548 + ($174<<2)|0); + $176 = (+($4|0)); + $177 = (+($157>>>0)); + $178 = $176 * $177; + $179 = HEAP32[$175>>2]|0; + $180 = (+($179|0)); + $181 = $178 * $180; + $$1 = $181; + break; + } + } + } + $182 = (($105|0) % 9)&-1; + $183 = ($182|0)==(0); + if ($183) { + $$0380$ph = 0;$$1373$ph448 = $$3348;$$2352$ph449 = 0;$$2387$ph447 = $105; + } else { + $184 = ($105|0)>(-1); + $185 = (($182) + 9)|0; + $186 = $184 ? $182 : $185; + $187 = (8 - ($186))|0; + $188 = (5548 + ($187<<2)|0); + $189 = HEAP32[$188>>2]|0; + $190 = ($$3348|0)==(0); + if ($190) { + $$0350$lcssa554 = 0;$$0372 = 0;$$0385$lcssa553 = $105; + } else { + $191 = (1000000000 / ($189|0))&-1; + $$0340496 = 0;$$0350494 = 0;$$0385493 = $105;$$4349495 = 0; + while(1) { + $192 = (($6) + ($$4349495<<2)|0); + $193 = HEAP32[$192>>2]|0; + $194 = (($193>>>0) % ($189>>>0))&-1; + $195 = (($193>>>0) / ($189>>>0))&-1; + $196 = (($195) + ($$0340496))|0; + HEAP32[$192>>2] = $196; + $197 = Math_imul($191, $194)|0; + $198 = ($$4349495|0)==($$0350494|0); + $199 = ($196|0)==(0); + $or$cond420 = $198 & $199; + $200 = (($$0350494) + 1)|0; + $201 = $200 & 127; + $202 = (($$0385493) + -9)|0; + $$$0385 = $or$cond420 ? $202 : $$0385493; + $$$0350 = $or$cond420 ? $201 : $$0350494; + $203 = (($$4349495) + 1)|0; + $204 = ($203|0)==($$3348|0); + if ($204) { + break; + } else { + $$0340496 = $197;$$0350494 = $$$0350;$$0385493 = $$$0385;$$4349495 = $203; + } + } + $205 = ($197|0)==(0); + if ($205) { + $$0350$lcssa554 = $$$0350;$$0372 = $$3348;$$0385$lcssa553 = $$$0385; + } else { + $206 = (($6) + ($$3348<<2)|0); + $207 = (($$3348) + 1)|0; + HEAP32[$206>>2] = $197; + $$0350$lcssa554 = $$$0350;$$0372 = $207;$$0385$lcssa553 = $$$0385; + } + } + $208 = (9 - ($186))|0; + $209 = (($208) + ($$0385$lcssa553))|0; + $$0380$ph = 0;$$1373$ph448 = $$0372;$$2352$ph449 = $$0350$lcssa554;$$2387$ph447 = $209; + } + L101: while(1) { + $210 = ($$2387$ph447|0)<(18); + $211 = ($$2387$ph447|0)==(18); + $212 = (($6) + ($$2352$ph449<<2)|0); + $$0380 = $$0380$ph;$$1373 = $$1373$ph448; + while(1) { + if (!($210)) { + if (!($211)) { + $$1381$ph = $$0380;$$4354$ph = $$2352$ph449;$$4389$ph445 = $$2387$ph447;$$6378$ph = $$1373; + break L101; + } + $213 = HEAP32[$212>>2]|0; + $214 = ($213>>>0)<(9007199); + if (!($214)) { + $$1381$ph = $$0380;$$4354$ph = $$2352$ph449;$$4389$ph445 = 18;$$6378$ph = $$1373; + break L101; + } + } + $215 = (($$1373) + 127)|0; + $$0334 = 0;$$2374 = $$1373;$$5$in = $215; + while(1) { + $$5 = $$5$in & 127; + $216 = (($6) + ($$5<<2)|0); + $217 = HEAP32[$216>>2]|0; + $218 = (_bitshift64Shl(($217|0),0,29)|0); + $219 = tempRet0; + $220 = (_i64Add(($218|0),($219|0),($$0334|0),0)|0); + $221 = tempRet0; + $222 = ($221>>>0)>(0); + $223 = ($220>>>0)>(1000000000); + $224 = ($221|0)==(0); + $225 = $224 & $223; + $226 = $222 | $225; + if ($226) { + $227 = (___udivdi3(($220|0),($221|0),1000000000,0)|0); + $228 = tempRet0; + $229 = (___uremdi3(($220|0),($221|0),1000000000,0)|0); + $230 = tempRet0; + $$1335 = $227;$$sink421$off0 = $229; + } else { + $$1335 = 0;$$sink421$off0 = $220; + } + HEAP32[$216>>2] = $$sink421$off0; + $231 = (($$2374) + 127)|0; + $232 = $231 & 127; + $233 = ($$5|0)!=($232|0); + $234 = ($$5|0)==($$2352$ph449|0); + $or$cond422 = $233 | $234; + $or$cond422$not = $or$cond422 ^ 1; + $235 = ($$sink421$off0|0)==(0); + $or$cond423 = $235 & $or$cond422$not; + $$3375 = $or$cond423 ? $$5 : $$2374; + $236 = (($$5) + -1)|0; + if ($234) { + break; + } else { + $$0334 = $$1335;$$2374 = $$3375;$$5$in = $236; + } + } + $237 = (($$0380) + -29)|0; + $238 = ($$1335|0)==(0); + if ($238) { + $$0380 = $237;$$1373 = $$3375; + } else { + break; + } + } + $239 = (($$2387$ph447) + 9)|0; + $240 = (($$2352$ph449) + 127)|0; + $241 = $240 & 127; + $242 = ($241|0)==($$3375|0); + $243 = (($$3375) + 127)|0; + $244 = $243 & 127; + $245 = (($$3375) + 126)|0; + $246 = $245 & 127; + $247 = (($6) + ($246<<2)|0); + if ($242) { + $248 = (($6) + ($244<<2)|0); + $249 = HEAP32[$248>>2]|0; + $250 = HEAP32[$247>>2]|0; + $251 = $250 | $249; + HEAP32[$247>>2] = $251; + $$4376 = $244; + } else { + $$4376 = $$3375; + } + $252 = (($6) + ($241<<2)|0); + HEAP32[$252>>2] = $$1335; + $$0380$ph = $237;$$1373$ph448 = $$4376;$$2352$ph449 = $241;$$2387$ph447 = $239; + } + L119: while(1) { + $289 = (($$6378$ph) + 1)|0; + $287 = $289 & 127; + $290 = (($$6378$ph) + 127)|0; + $291 = $290 & 127; + $292 = (($6) + ($291<<2)|0); + $$1381$ph558 = $$1381$ph;$$4354$ph559 = $$4354$ph;$$4389$ph = $$4389$ph445; + while(1) { + $265 = ($$4389$ph|0)==(18); + $293 = ($$4389$ph|0)>(27); + $$425 = $293 ? 9 : 1; + $$1381 = $$1381$ph558;$$4354 = $$4354$ph559; + while(1) { + $$0336486 = 0; + while(1) { + $253 = (($$0336486) + ($$4354))|0; + $254 = $253 & 127; + $255 = ($254|0)==($$6378$ph|0); + if ($255) { + $$1337 = 2; + label = 88; + break; + } + $256 = (($6) + ($254<<2)|0); + $257 = HEAP32[$256>>2]|0; + $258 = (5580 + ($$0336486<<2)|0); + $259 = HEAP32[$258>>2]|0; + $260 = ($257>>>0)<($259>>>0); + if ($260) { + $$1337 = 2; + label = 88; + break; + } + $261 = ($257>>>0)>($259>>>0); + if ($261) { + break; + } + $262 = (($$0336486) + 1)|0; + $263 = ($262|0)<(2); + if ($263) { + $$0336486 = $262; + } else { + $$1337 = $262; + label = 88; + break; + } + } + if ((label|0) == 88) { + label = 0; + $264 = ($$1337|0)==(2); + $or$cond11 = $265 & $264; + if ($or$cond11) { + $$0365484 = 0.0;$$4485 = 0;$$9483 = $$6378$ph; + break L119; + } + } + $266 = (($$425) + ($$1381))|0; + $267 = ($$4354|0)==($$6378$ph|0); + if ($267) { + $$1381 = $266;$$4354 = $$6378$ph; + } else { + break; + } + } + $268 = 1 << $$425; + $269 = (($268) + -1)|0; + $270 = 1000000000 >>> $$425; + $$0332490 = 0;$$5355488 = $$4354;$$5390487 = $$4389$ph;$$6489 = $$4354; + while(1) { + $271 = (($6) + ($$6489<<2)|0); + $272 = HEAP32[$271>>2]|0; + $273 = $272 & $269; + $274 = $272 >>> $$425; + $275 = (($274) + ($$0332490))|0; + HEAP32[$271>>2] = $275; + $276 = Math_imul($273, $270)|0; + $277 = ($$6489|0)==($$5355488|0); + $278 = ($275|0)==(0); + $or$cond426 = $277 & $278; + $279 = (($$5355488) + 1)|0; + $280 = $279 & 127; + $281 = (($$5390487) + -9)|0; + $$$5390 = $or$cond426 ? $281 : $$5390487; + $$$5355 = $or$cond426 ? $280 : $$5355488; + $282 = (($$6489) + 1)|0; + $283 = $282 & 127; + $284 = ($283|0)==($$6378$ph|0); + if ($284) { + break; + } else { + $$0332490 = $276;$$5355488 = $$$5355;$$5390487 = $$$5390;$$6489 = $283; + } + } + $285 = ($276|0)==(0); + if ($285) { + $$1381$ph558 = $266;$$4354$ph559 = $$$5355;$$4389$ph = $$$5390; + continue; + } + $286 = ($287|0)==($$$5355|0); + if (!($286)) { + break; + } + $294 = HEAP32[$292>>2]|0; + $295 = $294 | 1; + HEAP32[$292>>2] = $295; + $$1381$ph558 = $266;$$4354$ph559 = $$$5355;$$4389$ph = $$$5390; + } + $288 = (($6) + ($$6378$ph<<2)|0); + HEAP32[$288>>2] = $276; + $$1381$ph = $266;$$4354$ph = $$$5355;$$4389$ph445 = $$$5390;$$6378$ph = $287; + } + while(1) { + $296 = (($$4485) + ($$4354))|0; + $297 = $296 & 127; + $298 = ($297|0)==($$9483|0); + $299 = (($$9483) + 1)|0; + $300 = $299 & 127; + if ($298) { + $301 = (($300) + -1)|0; + $302 = (($6) + ($301<<2)|0); + HEAP32[$302>>2] = 0; + $$10 = $300; + } else { + $$10 = $$9483; + } + $303 = $$0365484 * 1.0E+9; + $304 = (($6) + ($297<<2)|0); + $305 = HEAP32[$304>>2]|0; + $306 = (+($305>>>0)); + $307 = $303 + $306; + $308 = (($$4485) + 1)|0; + $exitcond = ($308|0)==(2); + if ($exitcond) { + break; + } else { + $$0365484 = $307;$$4485 = $308;$$9483 = $$10; + } + } + $309 = (+($4|0)); + $310 = $309 * $307; + $311 = (($$1381) + 53)|0; + $312 = (($311) - ($3))|0; + $313 = ($312|0)<($2|0); + $314 = ($312|0)>(0); + $$ = $314 ? $312 : 0; + $$0333 = $313 ? $$ : $2; + $315 = ($$0333|0)<(53); + if ($315) { + $316 = (105 - ($$0333))|0; + $317 = (+_scalbn(1.0,$316)); + $318 = (+_copysignl($317,$310)); + $319 = (53 - ($$0333))|0; + $320 = (+_scalbn(1.0,$319)); + $321 = (+_fmodl($310,$320)); + $322 = $310 - $321; + $323 = $318 + $322; + $$0360 = $318;$$0361 = $321;$$1366 = $323; + } else { + $$0360 = 0.0;$$0361 = 0.0;$$1366 = $310; + } + $324 = (($$4354) + 2)|0; + $325 = $324 & 127; + $326 = ($325|0)==($$10|0); + if ($326) { + $$3364 = $$0361; + } else { + $327 = (($6) + ($325<<2)|0); + $328 = HEAP32[$327>>2]|0; + $329 = ($328>>>0)<(500000000); + do { + if ($329) { + $330 = ($328|0)==(0); + if ($330) { + $331 = (($$4354) + 3)|0; + $332 = $331 & 127; + $333 = ($332|0)==($$10|0); + if ($333) { + $$1362 = $$0361; + break; + } + } + $334 = $309 * 0.25; + $335 = $334 + $$0361; + $$1362 = $335; + } else { + $336 = ($328|0)==(500000000); + if (!($336)) { + $337 = $309 * 0.75; + $338 = $337 + $$0361; + $$1362 = $338; + break; + } + $339 = (($$4354) + 3)|0; + $340 = $339 & 127; + $341 = ($340|0)==($$10|0); + if ($341) { + $342 = $309 * 0.5; + $343 = $342 + $$0361; + $$1362 = $343; + break; + } else { + $344 = $309 * 0.75; + $345 = $344 + $$0361; + $$1362 = $345; + break; + } + } + } while(0); + $346 = (53 - ($$0333))|0; + $347 = ($346|0)>(1); + if ($347) { + $348 = (+_fmodl($$1362,1.0)); + $349 = $348 != 0.0; + if ($349) { + $$3364 = $$1362; + } else { + $350 = $$1362 + 1.0; + $$3364 = $350; + } + } else { + $$3364 = $$1362; + } + } + $351 = $$1366 + $$3364; + $352 = $351 - $$0360; + $353 = $311 & 2147483647; + $354 = (-2 - ($sum))|0; + $355 = ($353|0)>($354|0); + do { + if ($355) { + $356 = (+Math_abs((+$352))); + $357 = !($356 >= 9007199254740992.0); + $358 = $352 * 0.5; + $not$ = $357 ^ 1; + $359 = $not$&1; + $$3383 = (($359) + ($$1381))|0; + $$2367 = $357 ? $352 : $358; + $360 = (($$3383) + 50)|0; + $361 = ($360|0)>($7|0); + if (!($361)) { + $362 = ($$0333|0)!=($312|0); + $narrow = $362 | $357; + $$2371$v = $313 & $narrow; + $363 = $$3364 != 0.0; + $or$cond14 = $363 & $$2371$v; + if (!($or$cond14)) { + $$3368 = $$2367;$$4384 = $$3383; + break; + } + } + $364 = (___errno_location()|0); + HEAP32[$364>>2] = 34; + $$3368 = $$2367;$$4384 = $$3383; + } else { + $$3368 = $352;$$4384 = $$1381; + } + } while(0); + $365 = (+_scalbnl($$3368,$$4384)); + $$1 = $365; + } + } while(0); + STACKTOP = sp;return (+$$1); } -function _stbi__jpeg_get_bits($j,$n) { - $j = $j|0; - $n = $n|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($j)) + 18112|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)<($n|0); - if ($2) { - _stbi__grow_buffer_unsafe($j); - } - $3 = ((($j)) + 18108|0); - $4 = HEAP32[$3>>2]|0; - $5 = $4 << $n; - $6 = (32 - ($n))|0; - $7 = $4 >>> $6; - $8 = $5 | $7; - $9 = (27776 + ($n<<2)|0); - $10 = HEAP32[$9>>2]|0; - $11 = $10 ^ -1; - $12 = $8 & $11; - HEAP32[$3>>2] = $12; - $13 = HEAP32[$9>>2]|0; - $14 = $8 & $13; - $15 = HEAP32[$0>>2]|0; - $16 = (($15) - ($n))|0; - HEAP32[$0>>2] = $16; - return ($14|0); -} -function _stbi__extend_receive($j,$n) { - $j = $j|0; - $n = $n|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $3 = 0, $4 = 0, $5 = 0; - var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($j)) + 18112|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)<($n|0); - if ($2) { - _stbi__grow_buffer_unsafe($j); - } - $3 = ((($j)) + 18108|0); - $4 = HEAP32[$3>>2]|0; - $5 = $4 << $n; - $6 = (32 - ($n))|0; - $7 = $4 >>> $6; - $8 = $5 | $7; - $9 = ($n>>>0)<(17); - if ($9) { - $10 = $4 >> 31; - $11 = (27776 + ($n<<2)|0); - $12 = HEAP32[$11>>2]|0; - $13 = $12 ^ -1; - $14 = $8 & $13; - HEAP32[$3>>2] = $14; - $15 = HEAP32[$11>>2]|0; - $16 = $15 & $8; - $17 = HEAP32[$0>>2]|0; - $18 = (($17) - ($n))|0; - HEAP32[$0>>2] = $18; - $19 = (27848 + ($n<<2)|0); - $20 = HEAP32[$19>>2]|0; - $21 = $10 ^ -1; - $22 = $20 & $21; - $23 = (($22) + ($16))|0; - return ($23|0); - } else { - ___assert_fail((27688|0),(25096|0),1657,(27752|0)); - // unreachable; - } - return (0)|0; -} -function _stbi__jpeg_get_bit($j) { - $j = $j|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($j)) + 18112|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)<(1); - if ($2) { - _stbi__grow_buffer_unsafe($j); - } - $3 = ((($j)) + 18108|0); - $4 = HEAP32[$3>>2]|0; - $5 = $4 << 1; - HEAP32[$3>>2] = $5; - $6 = HEAP32[$0>>2]|0; - $7 = (($6) + -1)|0; - HEAP32[$0>>2] = $7; - $8 = $4 & -2147483648; - return ($8|0); -} -function _stbi__idct_block($out,$out_stride,$data) { - $out = $out|0; - $out_stride = $out_stride|0; - $data = $data|0; - var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; - var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; - var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0; - var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0; +function _scanexp($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $$04861 = 0, $$049 = 0, $$1$be = 0, $$160 = 0, $$2$be = 0, $$2$lcssa = 0, $$254 = 0, $$3$be = 0, $$lcssa = 0, $$pre = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0; + var $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0; var $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0; var $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0; var $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0; - var $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $d$04 = 0, $exitcond = 0, $exitcond9 = 0, $i$08 = 0, $i$13 = 0, $o$01 = 0, $v$06 = 0, $v$12 = 0; - var $val = 0, label = 0, sp = 0; + var $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond3 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 256|0; - $val = sp; - $d$04 = $data;$i$08 = 0;$v$06 = $val; - while(1) { - $0 = ((($d$04)) + 16|0); - $1 = HEAP16[$0>>1]|0; - $2 = ($1<<16>>16)==(0); - if ($2) { - $3 = ((($d$04)) + 32|0); - $4 = HEAP16[$3>>1]|0; - $5 = ($4<<16>>16)==(0); - if ($5) { - $6 = ((($d$04)) + 48|0); - $7 = HEAP16[$6>>1]|0; - $8 = ($7<<16>>16)==(0); - if ($8) { - $9 = ((($d$04)) + 64|0); - $10 = HEAP16[$9>>1]|0; - $11 = ($10<<16>>16)==(0); - if ($11) { - $12 = ((($d$04)) + 80|0); - $13 = HEAP16[$12>>1]|0; - $14 = ($13<<16>>16)==(0); - if ($14) { - $15 = ((($d$04)) + 96|0); - $16 = HEAP16[$15>>1]|0; - $17 = ($16<<16>>16)==(0); - if ($17) { - $18 = ((($d$04)) + 112|0); - $19 = HEAP16[$18>>1]|0; - $20 = ($19<<16>>16)==(0); - if ($20) { - $21 = HEAP16[$d$04>>1]|0; - $22 = $21 << 16 >> 16; - $23 = $22 << 2; - $24 = ((($v$06)) + 224|0); - HEAP32[$24>>2] = $23; - $25 = ((($v$06)) + 192|0); - HEAP32[$25>>2] = $23; - $26 = ((($v$06)) + 160|0); - HEAP32[$26>>2] = $23; - $27 = ((($v$06)) + 128|0); - HEAP32[$27>>2] = $23; - $28 = ((($v$06)) + 96|0); - HEAP32[$28>>2] = $23; - $29 = ((($v$06)) + 64|0); - HEAP32[$29>>2] = $23; - $30 = ((($v$06)) + 32|0); - HEAP32[$30>>2] = $23; - HEAP32[$v$06>>2] = $23; - } else { - label = 10; - } - } else { - label = 10; - } - } else { - label = 10; - } - } else { - label = 10; - } - } else { - label = 10; - } + $2 = ((($0)) + 4|0); + $3 = HEAP32[$2>>2]|0; + $4 = ((($0)) + 100|0); + $5 = HEAP32[$4>>2]|0; + $6 = ($3>>>0)<($5>>>0); + if ($6) { + $7 = ((($3)) + 1|0); + HEAP32[$2>>2] = $7; + $8 = HEAP8[$3>>0]|0; + $9 = $8&255; + $11 = $9; + } else { + $10 = (___shgetc($0)|0); + $11 = $10; + } + switch ($11|0) { + case 43: case 45: { + $12 = ($11|0)==(45); + $13 = $12&1; + $14 = HEAP32[$2>>2]|0; + $15 = HEAP32[$4>>2]|0; + $16 = ($14>>>0)<($15>>>0); + if ($16) { + $17 = ((($14)) + 1|0); + HEAP32[$2>>2] = $17; + $18 = HEAP8[$14>>0]|0; + $19 = $18&255; + $22 = $19; + } else { + $20 = (___shgetc($0)|0); + $22 = $20; + } + $21 = (($22) + -48)|0; + $23 = ($21>>>0)>(9); + $24 = ($1|0)!=(0); + $or$cond3 = $24 & $23; + if ($or$cond3) { + $25 = HEAP32[$4>>2]|0; + $26 = ($25|0)==(0|0); + if ($26) { + $$0 = $13;$$049 = $22; } else { - label = 10; + $27 = HEAP32[$2>>2]|0; + $28 = ((($27)) + -1|0); + HEAP32[$2>>2] = $28; + $$0 = $13;$$049 = $22; } } else { - label = 10; - } - if ((label|0) == 10) { - label = 0; - $31 = ((($d$04)) + 32|0); - $32 = HEAP16[$31>>1]|0; - $33 = $32 << 16 >> 16; - $34 = ((($d$04)) + 96|0); - $35 = HEAP16[$34>>1]|0; - $36 = $35 << 16 >> 16; - $37 = (($36) + ($33))|0; - $38 = ($37*2217)|0; - $39 = Math_imul($36, -7567)|0; - $40 = (($38) + ($39))|0; - $41 = ($33*3135)|0; - $42 = (($38) + ($41))|0; - $43 = HEAP16[$d$04>>1]|0; - $44 = $43 << 16 >> 16; - $45 = ((($d$04)) + 64|0); - $46 = HEAP16[$45>>1]|0; - $47 = $46 << 16 >> 16; - $48 = (($47) + ($44))|0; - $49 = $48 << 12; - $50 = (($44) - ($47))|0; - $51 = $50 << 12; - $52 = (($49) - ($42))|0; - $53 = (($51) - ($40))|0; - $54 = ((($d$04)) + 112|0); - $55 = HEAP16[$54>>1]|0; - $56 = $55 << 16 >> 16; - $57 = ((($d$04)) + 80|0); - $58 = HEAP16[$57>>1]|0; - $59 = $58 << 16 >> 16; - $60 = ((($d$04)) + 48|0); - $61 = HEAP16[$60>>1]|0; - $62 = $61 << 16 >> 16; - $63 = HEAP16[$0>>1]|0; - $64 = $63 << 16 >> 16; - $65 = (($62) + ($56))|0; - $66 = (($64) + ($59))|0; - $67 = (($64) + ($56))|0; - $68 = (($62) + ($59))|0; - $69 = (($66) + ($65))|0; - $70 = ($69*4816)|0; - $71 = ($56*1223)|0; - $72 = ($59*8410)|0; - $73 = ($62*12586)|0; - $74 = ($64*6149)|0; - $75 = Math_imul($67, -3685)|0; - $76 = (($70) + ($75))|0; - $77 = Math_imul($68, -10497)|0; - $78 = (($70) + ($77))|0; - $79 = Math_imul($65, -8034)|0; - $80 = Math_imul($66, -1597)|0; - $81 = (($80) + ($74))|0; - $82 = (($81) + ($76))|0; - $83 = (($79) + ($73))|0; - $84 = (($83) + ($78))|0; - $85 = (($80) + ($72))|0; - $86 = (($85) + ($78))|0; - $87 = (($79) + ($71))|0; - $88 = (($87) + ($76))|0; - $89 = (($42) + 512)|0; - $90 = (($89) + ($49))|0; - $91 = (($40) + 512)|0; - $92 = (($91) + ($51))|0; - $93 = (($53) + 512)|0; - $94 = (($52) + 512)|0; - $95 = (($82) + ($90))|0; - $96 = $95 >> 10; - HEAP32[$v$06>>2] = $96; - $97 = (($90) - ($82))|0; - $98 = $97 >> 10; - $99 = ((($v$06)) + 224|0); - HEAP32[$99>>2] = $98; - $100 = (($84) + ($92))|0; - $101 = $100 >> 10; - $102 = ((($v$06)) + 32|0); - HEAP32[$102>>2] = $101; - $103 = (($92) - ($84))|0; - $104 = $103 >> 10; - $105 = ((($v$06)) + 192|0); - HEAP32[$105>>2] = $104; - $106 = (($86) + ($93))|0; - $107 = $106 >> 10; - $108 = ((($v$06)) + 64|0); - HEAP32[$108>>2] = $107; - $109 = (($93) - ($86))|0; - $110 = $109 >> 10; - $111 = ((($v$06)) + 160|0); - HEAP32[$111>>2] = $110; - $112 = (($88) + ($94))|0; - $113 = $112 >> 10; - $114 = ((($v$06)) + 96|0); - HEAP32[$114>>2] = $113; - $115 = (($94) - ($88))|0; - $116 = $115 >> 10; - $117 = ((($v$06)) + 128|0); - HEAP32[$117>>2] = $116; - } - $118 = (($i$08) + 1)|0; - $119 = ((($d$04)) + 2|0); - $120 = ((($v$06)) + 4|0); - $exitcond9 = ($118|0)==(8); - if ($exitcond9) { - $i$13 = 0;$o$01 = $out;$v$12 = $val; - break; - } else { - $d$04 = $119;$i$08 = $118;$v$06 = $120; + $$0 = $13;$$049 = $22; } + break; } - while(1) { - $121 = ((($v$12)) + 8|0); - $122 = HEAP32[$121>>2]|0; - $123 = ((($v$12)) + 24|0); - $124 = HEAP32[$123>>2]|0; - $125 = (($124) + ($122))|0; - $126 = ($125*2217)|0; - $127 = Math_imul($124, -7567)|0; - $128 = (($126) + ($127))|0; - $129 = ($122*3135)|0; - $130 = (($126) + ($129))|0; - $131 = HEAP32[$v$12>>2]|0; - $132 = ((($v$12)) + 16|0); - $133 = HEAP32[$132>>2]|0; - $134 = (($133) + ($131))|0; - $135 = $134 << 12; - $136 = (($131) - ($133))|0; - $137 = $136 << 12; - $138 = (($135) - ($130))|0; - $139 = (($137) - ($128))|0; - $140 = ((($v$12)) + 28|0); - $141 = HEAP32[$140>>2]|0; - $142 = ((($v$12)) + 20|0); - $143 = HEAP32[$142>>2]|0; - $144 = ((($v$12)) + 12|0); - $145 = HEAP32[$144>>2]|0; - $146 = ((($v$12)) + 4|0); - $147 = HEAP32[$146>>2]|0; - $148 = (($145) + ($141))|0; - $149 = (($147) + ($143))|0; - $150 = (($147) + ($141))|0; - $151 = (($145) + ($143))|0; - $152 = (($149) + ($148))|0; - $153 = ($152*4816)|0; - $154 = ($141*1223)|0; - $155 = ($143*8410)|0; - $156 = ($145*12586)|0; - $157 = ($147*6149)|0; - $158 = Math_imul($150, -3685)|0; - $159 = (($153) + ($158))|0; - $160 = Math_imul($151, -10497)|0; - $161 = (($153) + ($160))|0; - $162 = Math_imul($148, -8034)|0; - $163 = Math_imul($149, -1597)|0; - $164 = (($163) + ($157))|0; - $165 = (($164) + ($159))|0; - $166 = (($162) + ($156))|0; - $167 = (($166) + ($161))|0; - $168 = (($163) + ($155))|0; - $169 = (($168) + ($161))|0; - $170 = (($162) + ($154))|0; - $171 = (($170) + ($159))|0; - $172 = (($130) + 16842752)|0; - $173 = (($172) + ($135))|0; - $174 = (($128) + 16842752)|0; - $175 = (($174) + ($137))|0; - $176 = (($139) + 16842752)|0; - $177 = (($138) + 16842752)|0; - $178 = (($165) + ($173))|0; - $179 = $178 >> 17; - $180 = (_stbi__clamp($179)|0); - HEAP8[$o$01>>0] = $180; - $181 = (($173) - ($165))|0; - $182 = $181 >> 17; - $183 = (_stbi__clamp($182)|0); - $184 = ((($o$01)) + 7|0); - HEAP8[$184>>0] = $183; - $185 = (($167) + ($175))|0; - $186 = $185 >> 17; - $187 = (_stbi__clamp($186)|0); - $188 = ((($o$01)) + 1|0); - HEAP8[$188>>0] = $187; - $189 = (($175) - ($167))|0; - $190 = $189 >> 17; - $191 = (_stbi__clamp($190)|0); - $192 = ((($o$01)) + 6|0); - HEAP8[$192>>0] = $191; - $193 = (($169) + ($176))|0; - $194 = $193 >> 17; - $195 = (_stbi__clamp($194)|0); - $196 = ((($o$01)) + 2|0); - HEAP8[$196>>0] = $195; - $197 = (($176) - ($169))|0; - $198 = $197 >> 17; - $199 = (_stbi__clamp($198)|0); - $200 = ((($o$01)) + 5|0); - HEAP8[$200>>0] = $199; - $201 = (($171) + ($177))|0; - $202 = $201 >> 17; - $203 = (_stbi__clamp($202)|0); - $204 = ((($o$01)) + 3|0); - HEAP8[$204>>0] = $203; - $205 = (($177) - ($171))|0; - $206 = $205 >> 17; - $207 = (_stbi__clamp($206)|0); - $208 = ((($o$01)) + 4|0); - HEAP8[$208>>0] = $207; - $209 = (($i$13) + 1)|0; - $210 = ((($v$12)) + 32|0); - $211 = (($o$01) + ($out_stride)|0); - $exitcond = ($209|0)==(8); - if ($exitcond) { - break; - } else { - $i$13 = $209;$o$01 = $211;$v$12 = $210; - } + default: { + $$0 = 0;$$049 = $11; } - STACKTOP = sp;return; -} -function _stbi__YCbCr_to_RGB_row($out,$y,$pcb,$pcr,$count,$step) { - $out = $out|0; - $y = $y|0; - $pcb = $pcb|0; - $pcr = $pcr|0; - $count = $count|0; - $step = $step|0; - var $$04 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $5 = 0; - var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $b$0 = 0, $exitcond = 0, $g$0 = 0, $i$03 = 0, $r$0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ($count|0)>(0); - if ($0) { - $$04 = $out;$i$03 = 0; + } + $29 = (($$049) + -48)|0; + $30 = ($29>>>0)>(9); + if ($30) { + $31 = HEAP32[$4>>2]|0; + $32 = ($31|0)==(0|0); + if ($32) { + $100 = -2147483648;$101 = 0; + } else { + $33 = HEAP32[$2>>2]|0; + $34 = ((($33)) + -1|0); + HEAP32[$2>>2] = $34; + $100 = -2147483648;$101 = 0; + } } else { - return; - } - while(1) { - $1 = (($y) + ($i$03)|0); - $2 = HEAP8[$1>>0]|0; - $3 = $2&255; - $4 = $3 << 20; - $5 = $4 | 524288; - $6 = (($pcr) + ($i$03)|0); - $7 = HEAP8[$6>>0]|0; - $8 = $7&255; - $9 = (($8) + -128)|0; - $10 = (($pcb) + ($i$03)|0); - $11 = HEAP8[$10>>0]|0; - $12 = $11&255; - $13 = (($12) + -128)|0; - $14 = Math_imul($9, 1470208)|0; - $15 = (($14) + ($5))|0; - $16 = Math_imul($9, -748800)|0; - $17 = (($5) + ($16))|0; - $18 = Math_imul($13, -360960)|0; - $19 = $18 & -65536; - $20 = (($19) + ($17))|0; - $21 = Math_imul($13, 1858048)|0; - $22 = (($21) + ($5))|0; - $23 = $15 >> 20; - $24 = $20 >> 20; - $25 = $22 >> 20; - $26 = ($23>>>0)>(255); - $27 = $15 >>> 31; - $28 = (($27) + 255)|0; - $r$0 = $26 ? $28 : $23; - $29 = ($24>>>0)>(255); - $30 = $20 >>> 31; - $31 = (($30) + 255)|0; - $g$0 = $29 ? $31 : $24; - $32 = ($25>>>0)>(255); - $33 = $22 >>> 31; - $34 = (($33) + 255)|0; - $b$0 = $32 ? $34 : $25; - $35 = $r$0&255; - HEAP8[$$04>>0] = $35; - $36 = $g$0&255; - $37 = ((($$04)) + 1|0); - HEAP8[$37>>0] = $36; - $38 = $b$0&255; - $39 = ((($$04)) + 2|0); - HEAP8[$39>>0] = $38; - $40 = ((($$04)) + 3|0); - HEAP8[$40>>0] = -1; - $41 = (($$04) + ($step)|0); - $42 = (($i$03) + 1)|0; - $exitcond = ($42|0)==($count|0); - if ($exitcond) { - break; - } else { - $$04 = $41;$i$03 = $42; - } - } - return; -} -function _stbi__resample_row_hv_2($out,$in_near,$in_far,$w,$hs) { - $out = $out|0; - $in_near = $in_near|0; - $in_far = $in_far|0; - $w = $w|0; - $hs = $hs|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; - var $9 = 0, $exitcond = 0, $i$01 = 0, $t1$0$lcssa = 0, $t1$02 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ($w|0)==(1); - $1 = HEAP8[$in_near>>0]|0; - $2 = $1&255; - $3 = ($2*3)|0; - $4 = HEAP8[$in_far>>0]|0; - $5 = $4&255; - $6 = (($3) + ($5))|0; - $7 = (($6) + 2)|0; - $8 = $7 >>> 2; - $9 = $8&255; - if ($0) { - $10 = ((($out)) + 1|0); - HEAP8[$10>>0] = $9; - HEAP8[$out>>0] = $9; - return ($out|0); - } - HEAP8[$out>>0] = $9; - $11 = ($w|0)>(1); - if ($11) { - $i$01 = 1;$t1$02 = $6; + $$04861 = 0;$$160 = $$049; while(1) { - $12 = (($in_near) + ($i$01)|0); - $13 = HEAP8[$12>>0]|0; - $14 = $13&255; - $15 = ($14*3)|0; - $16 = (($in_far) + ($i$01)|0); - $17 = HEAP8[$16>>0]|0; - $18 = $17&255; - $19 = (($15) + ($18))|0; - $20 = ($t1$02*3)|0; - $21 = (($20) + 8)|0; - $22 = (($21) + ($19))|0; - $23 = $22 >>> 4; - $24 = $23&255; - $25 = $i$01 << 1; - $26 = (($25) + -1)|0; - $27 = (($out) + ($26)|0); - HEAP8[$27>>0] = $24; - $28 = ($19*3)|0; - $29 = (($t1$02) + 8)|0; - $30 = (($29) + ($28))|0; - $31 = $30 >>> 4; - $32 = $31&255; - $33 = (($out) + ($25)|0); - HEAP8[$33>>0] = $32; - $34 = (($i$01) + 1)|0; - $exitcond = ($34|0)==($w|0); - if ($exitcond) { - $t1$0$lcssa = $19; + $35 = ($$04861*10)|0; + $36 = (($$160) + -48)|0; + $37 = (($36) + ($35))|0; + $38 = HEAP32[$2>>2]|0; + $39 = HEAP32[$4>>2]|0; + $40 = ($38>>>0)<($39>>>0); + if ($40) { + $41 = ((($38)) + 1|0); + HEAP32[$2>>2] = $41; + $42 = HEAP8[$38>>0]|0; + $43 = $42&255; + $$1$be = $43; + } else { + $44 = (___shgetc($0)|0); + $$1$be = $44; + } + $45 = (($$1$be) + -48)|0; + $46 = ($45>>>0)<(10); + $47 = ($37|0)<(214748364); + $48 = $46 & $47; + if ($48) { + $$04861 = $37;$$160 = $$1$be; + } else { break; - } else { - $i$01 = $34;$t1$02 = $19; } } - } else { - $t1$0$lcssa = $6; - } - $35 = (($t1$0$lcssa) + 2)|0; - $36 = $35 >>> 2; - $37 = $36&255; - $38 = $w << 1; - $39 = (($38) + -1)|0; - $40 = (($out) + ($39)|0); - HEAP8[$40>>0] = $37; - return ($out|0); -} -function _stbi__clamp($x) { - $x = $x|0; - var $$not = 0, $0 = 0, $1 = 0, $2 = 0, $x$lobit = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ($x>>>0)>(255); - if ($0) { - $x$lobit = $x >> 31; - $1 = $x$lobit&255; - $$not = $1 ^ -1; - return ($$not|0); - } else { - $2 = $x&255; - return ($2|0); - } - return (0)|0; -} -function _stbi__stdio_read($user,$data,$size) { - $user = $user|0; - $data = $data|0; - $size = $size|0; - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_fread(($data|0),1,($size|0),($user|0))|0); - return ($0|0); -} -function _stbi__stdio_skip($user,$n) { - $user = $user|0; - $n = $n|0; - var label = 0, sp = 0; - sp = STACKTOP; - (_fseek(($user|0),($n|0),1)|0); - return; -} -function _stbi__stdio_eof($user) { - $user = $user|0; - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_feof(($user|0))|0); - return ($0|0); -} -function _ErrorCallback($error,$description) { - $error = $error|0; - $description = $description|0; - var $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $vararg_buffer = sp; - HEAP32[$vararg_buffer>>2] = $error; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = $description; - _TraceLog(2,31136,$vararg_buffer); - STACKTOP = sp;return; -} -function _SetupFramebufferSize($displayWidth,$displayHeight) { - $displayWidth = $displayWidth|0; - $displayHeight = $displayHeight|0; - var $0 = 0, $1 = 0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0.0, $18 = 0.0, $19 = 0, $2 = 0, $20 = 0, $21 = 0.0, $22 = 0, $23 = 0, $24 = 0, $25 = 0.0, $26 = 0; - var $27 = 0.0, $28 = 0.0, $29 = 0, $3 = 0, $30 = 0, $31 = 0.0, $32 = 0.0, $33 = 0.0, $34 = 0, $35 = 0.0, $36 = 0, $37 = 0.0, $38 = 0.0, $39 = 0, $4 = 0, $40 = 0, $41 = 0.0, $42 = 0.0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0.0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, $or$cond = 0, $roundf = 0.0, $roundf1 = 0.0, $roundf2 = 0.0, $roundf3 = 0.0, $storemerge = 0, $vararg_buffer = 0, $vararg_buffer4 = 0; - var $vararg_buffer8 = 0, $vararg_ptr1 = 0, $vararg_ptr11 = 0, $vararg_ptr12 = 0, $vararg_ptr13 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, $vararg_ptr7 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 112|0; - $vararg_buffer8 = sp + 24|0; - $vararg_buffer4 = sp; - $vararg_buffer = sp + 8|0; - $0 = sp + 40|0; - $1 = HEAP32[8856>>2]|0; - $2 = ($1|0)>($displayWidth|0); - if (!($2)) { - $3 = HEAP32[8872>>2]|0; - $4 = ($3|0)>($displayHeight|0); - if (!($4)) { - $29 = ($1|0)<($displayWidth|0); - $30 = ($3|0)<($displayHeight|0); - $or$cond = $29 | $30; - if (!($or$cond)) { - HEAP32[10216>>2] = $1; - $51 = HEAP32[8872>>2]|0; - HEAP32[10224>>2] = $51; - HEAP32[10200>>2] = 0; - HEAP32[10208>>2] = 0; - STACKTOP = sp;return; - } - HEAP32[$vararg_buffer8>>2] = $1; - $vararg_ptr11 = ((($vararg_buffer8)) + 4|0); - HEAP32[$vararg_ptr11>>2] = $3; - $vararg_ptr12 = ((($vararg_buffer8)) + 8|0); - HEAP32[$vararg_ptr12>>2] = $displayWidth; - $vararg_ptr13 = ((($vararg_buffer8)) + 12|0); - HEAP32[$vararg_ptr13>>2] = $displayHeight; - _TraceLog(0,31064,$vararg_buffer8); - $31 = (+($displayWidth|0)); - $32 = (+($displayHeight|0)); - $33 = $31 / $32; - $34 = HEAP32[8856>>2]|0; - $35 = (+($34|0)); - $36 = HEAP32[8872>>2]|0; - $37 = (+($36|0)); - $38 = $35 / $37; - $39 = !($33 <= $38); - if ($39) { - $46 = $33 * $37; - $roundf = (+_roundf($46)); - $47 = (~~(($roundf))); - HEAP32[10216>>2] = $47; - $48 = HEAP32[8872>>2]|0; - HEAP32[10224>>2] = $48; - $49 = HEAP32[8856>>2]|0; - $50 = (($47) - ($49))|0; - HEAP32[10200>>2] = $50; - HEAP32[10208>>2] = 0; - STACKTOP = sp;return; - } else { - HEAP32[10216>>2] = $34; - $40 = HEAP32[8856>>2]|0; - $41 = (+($40|0)); - $42 = $41 / $33; - $roundf1 = (+_roundf($42)); - $43 = (~~(($roundf1))); - HEAP32[10224>>2] = $43; - HEAP32[10200>>2] = 0; - $44 = HEAP32[8872>>2]|0; - $45 = (($43) - ($44))|0; - HEAP32[10208>>2] = $45; - STACKTOP = sp;return; - } - } - } - $5 = HEAP32[8856>>2]|0; - $6 = HEAP32[8872>>2]|0; - HEAP32[$vararg_buffer>>2] = $5; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = $6; - $vararg_ptr2 = ((($vararg_buffer)) + 8|0); - HEAP32[$vararg_ptr2>>2] = $displayWidth; - $vararg_ptr3 = ((($vararg_buffer)) + 12|0); - HEAP32[$vararg_ptr3>>2] = $displayHeight; - _TraceLog(2,30912,$vararg_buffer); - $7 = (+($displayWidth|0)); - $8 = HEAP32[8856>>2]|0; - $9 = (+($8|0)); - $10 = $7 / $9; - $11 = (+($displayHeight|0)); - $12 = HEAP32[8872>>2]|0; - $13 = (+($12|0)); - $14 = $11 / $13; - $15 = !($10 <= $14); - if ($15) { - $21 = $9 * $14; - $roundf2 = (+_roundf($21)); - $22 = (~~(($roundf2))); - HEAP32[10216>>2] = $22; - HEAP32[10224>>2] = $displayHeight; - $23 = (($displayWidth) - ($22))|0; - HEAP32[10200>>2] = $23; - $storemerge = 0; - } else { - HEAP32[10216>>2] = $displayWidth; - $16 = HEAP32[8872>>2]|0; - $17 = (+($16|0)); - $18 = $10 * $17; - $roundf3 = (+_roundf($18)); - $19 = (~~(($roundf3))); - HEAP32[10224>>2] = $19; - HEAP32[10200>>2] = 0; - $20 = (($displayHeight) - ($19))|0; - $storemerge = $20; - } - HEAP32[10208>>2] = $storemerge; - $24 = HEAP32[10216>>2]|0; - $25 = (+($24|0)); - $26 = HEAP32[8856>>2]|0; - $27 = (+($26|0)); - $28 = $25 / $27; - _MatrixScale($0,$28,$28,$28); - dest=9024; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - HEAP32[10216>>2] = $displayWidth; - HEAP32[10224>>2] = $displayHeight; - HEAP32[$vararg_buffer4>>2] = $displayWidth; - $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); - HEAP32[$vararg_ptr7>>2] = $displayHeight; - _TraceLog(2,30992,$vararg_buffer4); - STACKTOP = sp;return; -} -function _WindowSizeCallback($window,$width,$height) { - $window = $window|0; - $width = $width|0; - $height = $height|0; - var $$byval_copy = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $$byval_copy = sp + 4|0; - $0 = sp; - $1 = HEAP32[10200>>2]|0; - $2 = HEAP32[10208>>2]|0; - $3 = HEAP32[10216>>2]|0; - $4 = HEAP32[10224>>2]|0; - _rlglInitGraphics($1,$2,$3,$4); - HEAP8[$0>>0] = -11; - $5 = ((($0)) + 1|0); - HEAP8[$5>>0] = -11; - $6 = ((($0)) + 2|0); - HEAP8[$6>>0] = -11; - $7 = ((($0)) + 3|0); - HEAP8[$7>>0] = -1; - ;HEAP8[$$byval_copy>>0]=HEAP8[$0>>0]|0;HEAP8[$$byval_copy+1>>0]=HEAP8[$0+1>>0]|0;HEAP8[$$byval_copy+2>>0]=HEAP8[$0+2>>0]|0;HEAP8[$$byval_copy+3>>0]=HEAP8[$0+3>>0]|0; - _ClearBackground($$byval_copy); - STACKTOP = sp;return; -} -function _CursorEnterCallback($window,$enter) { - $window = $window|0; - $enter = $enter|0; - var label = 0, sp = 0; - sp = STACKTOP; - return; -} -function _KeyCallback($window,$key,$scancode,$action,$mods) { - $window = $window|0; - $key = $key|0; - $scancode = $scancode|0; - $action = $action|0; - $mods = $mods|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $or$cond = 0, $or$cond3 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[8992>>2]|0; - $1 = ($0|0)==($key|0); - $2 = ($action|0)==(1); - $or$cond = $2 & $1; - if ($or$cond) { - _glfwSetWindowShouldClose(($window|0),1); - } else { - $3 = $action&255; - $4 = (9120 + ($key)|0); - HEAP8[$4>>0] = $3; - } - $5 = ($key|0)==(259); - $or$cond3 = $5 & $2; - if (!($or$cond3)) { - return; - } - HEAP32[10144>>2] = 3; - return; -} -function _MouseButtonCallback($window,$button,$action,$mods) { - $window = $window|0; - $button = $button|0; - $action = $action|0; - $mods = $mods|0; - var $0 = 0, $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = $action&255; - $1 = (10152 + ($button)|0); - HEAP8[$1>>0] = $0; - return; -} -function _CharCallback($window,$key) { - $window = $window|0; - $key = $key|0; - var label = 0, sp = 0; - sp = STACKTOP; - HEAP32[10144>>2] = $key; - return; -} -function _ScrollCallback($window,$xoffset,$yoffset) { - $window = $window|0; - $xoffset = +$xoffset; - $yoffset = +$yoffset; - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (~~(($yoffset))); - HEAP32[30512>>2] = $0; - return; -} -function _WindowIconifyCallback($window,$iconified) { - $window = $window|0; - $iconified = $iconified|0; - var $$ = 0, $not$ = 0, label = 0, sp = 0; - sp = STACKTOP; - $not$ = ($iconified|0)!=(0); - $$ = $not$&1; - HEAP32[8984>>2] = $$; - return; -} -function _ldexp($x,$n) { - $x = +$x; - $n = $n|0; - var $0 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (+_scalbn($x,$n)); - return (+$0); -} -function _qsort($base,$nel,$width,$cmp) { - $base = $base|0; - $nel = $nel|0; - $width = $width|0; - $cmp = $cmp|0; - var $$ = 0, $$0$be$i = 0, $$0$be$i19 = 0, $$0$i44 = 0, $$01$be$i = 0, $$01$be$i18 = 0, $$012$i = 0, $$012$i15 = 0, $$02$i$i = 0, $$02$i3$i = 0, $$02$us$i = 0, $$02$us$i30 = 0, $$03$i = 0, $$03$i14 = 0, $$66 = 0, $$67 = 0, $$lcssa = 0, $$lcssa102 = 0, $$lcssa70 = 0, $$lcssa71 = 0; - var $$pre = 0, $$pre$i = 0, $$pre$i21 = 0, $$pre6$i = 0, $$pre6$i26 = 0, $$sum = 0, $$sum$i = 0, $$sum$i17 = 0, $$sum2 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0; - var $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0; - var $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0; - var $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0; - var $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; - var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $4$phi = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; - var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0; - var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0; - var $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $ar$i = 0; - var $exitcond$i = 0, $exitcond$i29 = 0, $head$0$lcssa = 0, $head$076 = 0, $head$174 = 0, $i$0 = 0, $i$0$lcssa$i = 0, $i$0$lcssa$i23 = 0, $i$01$us$i = 0, $i$01$us$i28 = 0, $i$04$i = 0, $i$04$i13 = 0, $lp = 0, $nTrailingZeros$03$i$i = 0, $nTrailingZeros$03$i2$i = 0, $nTrailingZeros$03$i2$i$lcssa = 0, $or$cond = 0, $or$cond68 = 0, $or$cond6873 = 0, $or$cond72 = 0; - var $pshift$0$lcssa = 0, $pshift$077 = 0, $pshift$1 = 0, $pshift$275 = 0, $sum = 0, $sum$i = 0, $sum$i16 = 0, $tmp$i25 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 688|0; - $tmp$i25 = sp + 424|0; - $ar$i = sp; - $lp = sp + 232|0; - $0 = Math_imul($width, $nel)|0; - $1 = ($0|0)==(0); - if ($1) { - STACKTOP = sp;return; - } - $$sum = (($0) - ($width))|0; - $2 = ((($lp)) + 4|0); - HEAP32[$2>>2] = $width; - HEAP32[$lp>>2] = $width; - $4 = $width;$6 = $width;$i$0 = 2; - while(1) { - $3 = (($4) + ($width))|0; - $5 = (($3) + ($6))|0; - $7 = (($lp) + ($i$0<<2)|0); - HEAP32[$7>>2] = $5; - $8 = ($5>>>0)<($0>>>0); - $9 = (($i$0) + 1)|0; - if ($8) { - $4$phi = $6;$6 = $5;$i$0 = $9;$4 = $4$phi; - } else { - break; - } - } - $10 = (0 - ($width))|0; - $11 = (($base) + ($$sum)|0); - $12 = ($$sum|0)>(0); - if ($12) { - $13 = ($width|0)==(0); - $14 = $11; - $16 = 1;$51 = 0;$head$076 = $base;$pshift$077 = 1; - while(1) { - $15 = $16 & 3; - $17 = ($15|0)==(3); - do { - if ($17) { - HEAP32[$ar$i>>2] = $head$076; - $18 = ($pshift$077|0)>(1); - L42: do { - if ($18) { - $$012$i = $pshift$077;$$03$i = $head$076;$24 = $head$076;$i$04$i = 1; - while(1) { - $19 = (($$03$i) + ($10)|0); - $20 = (($$012$i) + -2)|0; - $21 = (($lp) + ($20<<2)|0); - $22 = HEAP32[$21>>2]|0; - $sum$i = (($22) + ($width))|0; - $$sum$i = (0 - ($sum$i))|0; - $23 = (($$03$i) + ($$sum$i)|0); - $25 = (FUNCTION_TABLE_iii[$cmp & 7]($24,$23)|0); - $26 = ($25|0)>(-1); - if ($26) { - $27 = (FUNCTION_TABLE_iii[$cmp & 7]($24,$19)|0); - $28 = ($27|0)>(-1); - if ($28) { - $i$0$lcssa$i = $i$04$i; - break; - } - } - $29 = (FUNCTION_TABLE_iii[$cmp & 7]($23,$19)|0); - $30 = ($29|0)>(-1); - $31 = (($i$04$i) + 1)|0; - $32 = (($ar$i) + ($i$04$i<<2)|0); - if ($30) { - HEAP32[$32>>2] = $23; - $33 = (($$012$i) + -1)|0; - $$0$be$i = $23;$$01$be$i = $33; - } else { - HEAP32[$32>>2] = $19; - $$0$be$i = $19;$$01$be$i = $20; - } - $34 = ($$01$be$i|0)>(1); - if (!($34)) { - $i$0$lcssa$i = $31; - break; - } - $$pre$i = HEAP32[$ar$i>>2]|0; - $$012$i = $$01$be$i;$$03$i = $$0$be$i;$24 = $$pre$i;$i$04$i = $31; - } - $35 = ($i$0$lcssa$i|0)<(2); - if (!($35)) { - $36 = (($ar$i) + ($i$0$lcssa$i<<2)|0); - HEAP32[$36>>2] = $tmp$i25; - if (!($13)) { - $$02$us$i = $width;$48 = $tmp$i25; - while(1) { - $46 = ($$02$us$i>>>0)>(256); - $38 = $46 ? 256 : $$02$us$i; - $47 = HEAP32[$ar$i>>2]|0; - _memcpy(($48|0),($47|0),($38|0))|0; - $44 = $47;$i$01$us$i = 0; - while(1) { - $40 = (($ar$i) + ($i$01$us$i<<2)|0); - $41 = (($i$01$us$i) + 1)|0; - $42 = (($ar$i) + ($41<<2)|0); - $43 = HEAP32[$42>>2]|0; - _memcpy(($44|0),($43|0),($38|0))|0; - $45 = (($44) + ($38)|0); - HEAP32[$40>>2] = $45; - $exitcond$i = ($41|0)==($i$0$lcssa$i|0); - if ($exitcond$i) { - break; - } else { - $44 = $43;$i$01$us$i = $41; - } - } - $37 = ($$02$us$i|0)==($38|0); - if ($37) { - break L42; - } - $39 = (($$02$us$i) - ($38))|0; - $$pre6$i = HEAP32[$36>>2]|0; - $$02$us$i = $39;$48 = $$pre6$i; - } - } - } - } else { - } - } while(0); - $49 = $16 >>> 2; - $50 = $51 << 30; - $52 = $49 | $50; - $53 = $51 >>> 2; - $54 = (($pshift$077) + 2)|0; - $105 = $52;$168 = $53;$pshift$1 = $54; + $49 = ($37|0)<(0); + $50 = $49 << 31 >> 31; + $51 = (($$1$be) + -48)|0; + $52 = ($51>>>0)<(10); + if ($52) { + $$254 = $$1$be;$56 = $37;$57 = $50; + while(1) { + $58 = (___muldi3(($56|0),($57|0),10,0)|0); + $59 = tempRet0; + $60 = ($$254|0)<(0); + $61 = $60 << 31 >> 31; + $62 = (_i64Add(($$254|0),($61|0),-48,-1)|0); + $63 = tempRet0; + $64 = (_i64Add(($62|0),($63|0),($58|0),($59|0))|0); + $65 = tempRet0; + $66 = HEAP32[$2>>2]|0; + $67 = HEAP32[$4>>2]|0; + $68 = ($66>>>0)<($67>>>0); + if ($68) { + $69 = ((($66)) + 1|0); + HEAP32[$2>>2] = $69; + $70 = HEAP8[$66>>0]|0; + $71 = $70&255; + $$2$be = $71; } else { - $55 = (($pshift$077) + -1)|0; - $56 = (($lp) + ($55<<2)|0); - $57 = HEAP32[$56>>2]|0; - $58 = $head$076; - $59 = (($14) - ($58))|0; - $60 = ($57>>>0)<($59>>>0); - if ($60) { - HEAP32[$ar$i>>2] = $head$076; - $61 = ($pshift$077|0)>(1); - L15: do { - if ($61) { - $$012$i15 = $pshift$077;$$03$i14 = $head$076;$67 = $head$076;$i$04$i13 = 1; - while(1) { - $62 = (($$03$i14) + ($10)|0); - $63 = (($$012$i15) + -2)|0; - $64 = (($lp) + ($63<<2)|0); - $65 = HEAP32[$64>>2]|0; - $sum$i16 = (($65) + ($width))|0; - $$sum$i17 = (0 - ($sum$i16))|0; - $66 = (($$03$i14) + ($$sum$i17)|0); - $68 = (FUNCTION_TABLE_iii[$cmp & 7]($67,$66)|0); - $69 = ($68|0)>(-1); - if ($69) { - $70 = (FUNCTION_TABLE_iii[$cmp & 7]($67,$62)|0); - $71 = ($70|0)>(-1); - if ($71) { - $i$0$lcssa$i23 = $i$04$i13; - break; - } - } - $72 = (FUNCTION_TABLE_iii[$cmp & 7]($66,$62)|0); - $73 = ($72|0)>(-1); - $74 = (($i$04$i13) + 1)|0; - $75 = (($ar$i) + ($i$04$i13<<2)|0); - if ($73) { - HEAP32[$75>>2] = $66; - $76 = (($$012$i15) + -1)|0; - $$0$be$i19 = $66;$$01$be$i18 = $76; - } else { - HEAP32[$75>>2] = $62; - $$0$be$i19 = $62;$$01$be$i18 = $63; - } - $77 = ($$01$be$i18|0)>(1); - if (!($77)) { - $i$0$lcssa$i23 = $74; - break; - } - $$pre$i21 = HEAP32[$ar$i>>2]|0; - $$012$i15 = $$01$be$i18;$$03$i14 = $$0$be$i19;$67 = $$pre$i21;$i$04$i13 = $74; - } - $78 = ($i$0$lcssa$i23|0)<(2); - if (!($78)) { - $79 = (($ar$i) + ($i$0$lcssa$i23<<2)|0); - HEAP32[$79>>2] = $tmp$i25; - if (!($13)) { - $$02$us$i30 = $width;$91 = $tmp$i25; - while(1) { - $89 = ($$02$us$i30>>>0)>(256); - $81 = $89 ? 256 : $$02$us$i30; - $90 = HEAP32[$ar$i>>2]|0; - _memcpy(($91|0),($90|0),($81|0))|0; - $87 = $90;$i$01$us$i28 = 0; - while(1) { - $83 = (($ar$i) + ($i$01$us$i28<<2)|0); - $84 = (($i$01$us$i28) + 1)|0; - $85 = (($ar$i) + ($84<<2)|0); - $86 = HEAP32[$85>>2]|0; - _memcpy(($87|0),($86|0),($81|0))|0; - $88 = (($87) + ($81)|0); - HEAP32[$83>>2] = $88; - $exitcond$i29 = ($84|0)==($i$0$lcssa$i23|0); - if ($exitcond$i29) { - break; - } else { - $87 = $86;$i$01$us$i28 = $84; - } - } - $80 = ($$02$us$i30|0)==($81|0); - if ($80) { - break L15; - } - $82 = (($$02$us$i30) - ($81))|0; - $$pre6$i26 = HEAP32[$79>>2]|0; - $$02$us$i30 = $82;$91 = $$pre6$i26; - } - } + $72 = (___shgetc($0)|0); + $$2$be = $72; + } + $73 = (($$2$be) + -48)|0; + $74 = ($73>>>0)<(10); + $75 = ($65|0)<(21474836); + $76 = ($64>>>0)<(2061584302); + $77 = ($65|0)==(21474836); + $78 = $77 & $76; + $79 = $75 | $78; + $80 = $74 & $79; + if ($80) { + $$254 = $$2$be;$56 = $64;$57 = $65; + } else { + $$2$lcssa = $$2$be;$94 = $64;$95 = $65; + break; + } + } + } else { + $$2$lcssa = $$1$be;$94 = $37;$95 = $50; + } + $53 = (($$2$lcssa) + -48)|0; + $54 = ($53>>>0)<(10); + $55 = HEAP32[$4>>2]|0; + if ($54) { + $83 = $55; + while(1) { + $81 = HEAP32[$2>>2]|0; + $82 = ($81>>>0)<($83>>>0); + if ($82) { + $84 = ((($81)) + 1|0); + HEAP32[$2>>2] = $84; + $85 = HEAP8[$81>>0]|0; + $86 = $85&255; + $$3$be = $86;$102 = $83; + } else { + $87 = (___shgetc($0)|0); + $$pre = HEAP32[$4>>2]|0; + $$3$be = $87;$102 = $$pre; + } + $88 = (($$3$be) + -48)|0; + $89 = ($88>>>0)<(10); + if ($89) { + $83 = $102; + } else { + $$lcssa = $102; + break; + } + } + } else { + $$lcssa = $55; + } + $90 = ($$lcssa|0)==(0|0); + if (!($90)) { + $91 = HEAP32[$2>>2]|0; + $92 = ((($91)) + -1|0); + HEAP32[$2>>2] = $92; + } + $93 = ($$0|0)!=(0); + $96 = (_i64Subtract(0,0,($94|0),($95|0))|0); + $97 = tempRet0; + $98 = $93 ? $96 : $94; + $99 = $93 ? $97 : $95; + $100 = $99;$101 = $98; + } + tempRet0 = ($100); + return ($101|0); +} +function _scalbn($0,$1) { + $0 = +$0; + $1 = $1|0; + var $$ = 0, $$$ = 0, $$0 = 0.0, $$020 = 0, $$1 = 0, $$1$ = 0, $$21 = 0.0, $$22 = 0.0, $10 = 0.0, $11 = 0, $12 = 0, $13 = 0.0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0.0, $2 = 0, $20 = 0.0; + var $3 = 0.0, $4 = 0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ($1|0)>(1023); + if ($2) { + $3 = $0 * 8.9884656743115795E+307; + $4 = (($1) + -1023)|0; + $5 = ($4|0)>(1023); + $6 = $3 * 8.9884656743115795E+307; + $7 = (($1) + -2046)|0; + $8 = ($7|0)<(1023); + $$ = $8 ? $7 : 1023; + $$$ = $5 ? $$ : $4; + $$21 = $5 ? $6 : $3; + $$0 = $$21;$$020 = $$$; + } else { + $9 = ($1|0)<(-1022); + if ($9) { + $10 = $0 * 2.2250738585072014E-308; + $11 = (($1) + 1022)|0; + $12 = ($11|0)<(-1022); + $13 = $10 * 2.2250738585072014E-308; + $14 = (($1) + 2044)|0; + $15 = ($14|0)>(-1022); + $$1 = $15 ? $14 : -1022; + $$1$ = $12 ? $$1 : $11; + $$22 = $12 ? $13 : $10; + $$0 = $$22;$$020 = $$1$; + } else { + $$0 = $0;$$020 = $1; + } + } + $16 = (($$020) + 1023)|0; + $17 = (_bitshift64Shl(($16|0),0,52)|0); + $18 = tempRet0; + HEAP32[tempDoublePtr>>2] = $17;HEAP32[tempDoublePtr+4>>2] = $18;$19 = +HEAPF64[tempDoublePtr>>3]; + $20 = $$0 * $19; + return (+$20); +} +function _copysignl($0,$1) { + $0 = +$0; + $1 = +$1; + var $2 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = (+_copysign($0,$1)); + return (+$2); +} +function _fmodl($0,$1) { + $0 = +$0; + $1 = +$1; + var $2 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = (+_fmod($0,$1)); + return (+$2); +} +function _scalbnl($0,$1) { + $0 = +$0; + $1 = $1|0; + var $2 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = (+_scalbn($0,$1)); + return (+$2); +} +function _fmod($0,$1) { + $0 = +$0; + $1 = +$1; + var $$ = 0.0, $$070 = 0.0, $$071$lcssa = 0, $$07194 = 0, $$073$lcssa = 0, $$073100 = 0, $$172$ph = 0, $$174 = 0, $$275$lcssa = 0, $$27586 = 0, $$376$lcssa = 0, $$37683 = 0, $$lcssa = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0.0, $104 = 0, $105 = 0; + var $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0; + var $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0.0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0; + var $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0.0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0; + var $160 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0.0, $28 = 0.0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0; + var $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0.0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0; + var $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0; + var $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0; + var $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF64[tempDoublePtr>>3] = $0;$2 = HEAP32[tempDoublePtr>>2]|0; + $3 = HEAP32[tempDoublePtr+4>>2]|0; + HEAPF64[tempDoublePtr>>3] = $1;$4 = HEAP32[tempDoublePtr>>2]|0; + $5 = HEAP32[tempDoublePtr+4>>2]|0; + $6 = (_bitshift64Lshr(($2|0),($3|0),52)|0); + $7 = tempRet0; + $8 = $6 & 2047; + $9 = (_bitshift64Lshr(($4|0),($5|0),52)|0); + $10 = tempRet0; + $11 = $9 & 2047; + $12 = $3 & -2147483648; + $13 = (_bitshift64Shl(($4|0),($5|0),1)|0); + $14 = tempRet0; + $15 = ($13|0)==(0); + $16 = ($14|0)==(0); + $17 = $15 & $16; + L1: do { + if ($17) { + label = 3; + } else { + $18 = (___DOUBLE_BITS_272($1)|0); + $19 = tempRet0; + $20 = $19 & 2147483647; + $21 = ($20>>>0)>(2146435072); + $22 = ($18>>>0)>(0); + $23 = ($20|0)==(2146435072); + $24 = $23 & $22; + $25 = $21 | $24; + $26 = ($8|0)==(2047); + $or$cond = $26 | $25; + if ($or$cond) { + label = 3; + } else { + $29 = (_bitshift64Shl(($2|0),($3|0),1)|0); + $30 = tempRet0; + $31 = ($30>>>0)>($14>>>0); + $32 = ($29>>>0)>($13>>>0); + $33 = ($30|0)==($14|0); + $34 = $33 & $32; + $35 = $31 | $34; + if (!($35)) { + $36 = ($29|0)==($13|0); + $37 = ($30|0)==($14|0); + $38 = $36 & $37; + $39 = $0 * 0.0; + $$ = $38 ? $39 : $0; + return (+$$); + } + $40 = ($8|0)==(0); + if ($40) { + $41 = (_bitshift64Shl(($2|0),($3|0),12)|0); + $42 = tempRet0; + $43 = ($42|0)>(-1); + $44 = ($41>>>0)>(4294967295); + $45 = ($42|0)==(-1); + $46 = $45 & $44; + $47 = $43 | $46; + if ($47) { + $$073100 = 0;$49 = $41;$50 = $42; + while(1) { + $48 = (($$073100) + -1)|0; + $51 = (_bitshift64Shl(($49|0),($50|0),1)|0); + $52 = tempRet0; + $53 = ($52|0)>(-1); + $54 = ($51>>>0)>(4294967295); + $55 = ($52|0)==(-1); + $56 = $55 & $54; + $57 = $53 | $56; + if ($57) { + $$073100 = $48;$49 = $51;$50 = $52; + } else { + $$073$lcssa = $48; + break; + } + } + } else { + $$073$lcssa = 0; + } + $58 = (1 - ($$073$lcssa))|0; + $59 = (_bitshift64Shl(($2|0),($3|0),($58|0))|0); + $60 = tempRet0; + $$174 = $$073$lcssa;$87 = $59;$88 = $60; + } else { + $61 = $3 & 1048575; + $62 = $61 | 1048576; + $$174 = $8;$87 = $2;$88 = $62; + } + $63 = ($11|0)==(0); + if ($63) { + $64 = (_bitshift64Shl(($4|0),($5|0),12)|0); + $65 = tempRet0; + $66 = ($65|0)>(-1); + $67 = ($64>>>0)>(4294967295); + $68 = ($65|0)==(-1); + $69 = $68 & $67; + $70 = $66 | $69; + if ($70) { + $$07194 = 0;$72 = $64;$73 = $65; + while(1) { + $71 = (($$07194) + -1)|0; + $74 = (_bitshift64Shl(($72|0),($73|0),1)|0); + $75 = tempRet0; + $76 = ($75|0)>(-1); + $77 = ($74>>>0)>(4294967295); + $78 = ($75|0)==(-1); + $79 = $78 & $77; + $80 = $76 | $79; + if ($80) { + $$07194 = $71;$72 = $74;$73 = $75; + } else { + $$071$lcssa = $71; + break; + } + } + } else { + $$071$lcssa = 0; + } + $81 = (1 - ($$071$lcssa))|0; + $82 = (_bitshift64Shl(($4|0),($5|0),($81|0))|0); + $83 = tempRet0; + $$172$ph = $$071$lcssa;$89 = $82;$90 = $83; + } else { + $84 = $5 & 1048575; + $85 = $84 | 1048576; + $$172$ph = $11;$89 = $4;$90 = $85; + } + $86 = ($$174|0)>($$172$ph|0); + $91 = (_i64Subtract(($87|0),($88|0),($89|0),($90|0))|0); + $92 = tempRet0; + $93 = ($92|0)>(-1); + $94 = ($91>>>0)>(4294967295); + $95 = ($92|0)==(-1); + $96 = $95 & $94; + $97 = $93 | $96; + L23: do { + if ($86) { + $$27586 = $$174;$101 = $92;$156 = $97;$157 = $87;$158 = $88;$99 = $91; + while(1) { + if ($156) { + $98 = ($99|0)==(0); + $100 = ($101|0)==(0); + $102 = $98 & $100; + if ($102) { + break; + } else { + $104 = $99;$105 = $101; } } else { + $104 = $157;$105 = $158; } - } while(0); + $106 = (_bitshift64Shl(($104|0),($105|0),1)|0); + $107 = tempRet0; + $108 = (($$27586) + -1)|0; + $109 = ($108|0)>($$172$ph|0); + $110 = (_i64Subtract(($106|0),($107|0),($89|0),($90|0))|0); + $111 = tempRet0; + $112 = ($111|0)>(-1); + $113 = ($110>>>0)>(4294967295); + $114 = ($111|0)==(-1); + $115 = $114 & $113; + $116 = $112 | $115; + if ($109) { + $$27586 = $108;$101 = $111;$156 = $116;$157 = $106;$158 = $107;$99 = $110; + } else { + $$275$lcssa = $108;$$lcssa = $116;$118 = $110;$120 = $111;$159 = $106;$160 = $107; + break L23; + } + } + $103 = $0 * 0.0; + $$070 = $103; + break L1; } else { - _trinkle($head$076,$width,$cmp,$16,$51,$pshift$077,0,$lp); + $$275$lcssa = $$174;$$lcssa = $97;$118 = $91;$120 = $92;$159 = $87;$160 = $88; } - $92 = ($pshift$077|0)==(1); - if ($92) { - $93 = $51 << 1; - $94 = $16 >>> 31; - $95 = $94 | $93; - $96 = $16 << 1; - $105 = $96;$168 = $95;$pshift$1 = 0; + } while(0); + if ($$lcssa) { + $117 = ($118|0)==(0); + $119 = ($120|0)==(0); + $121 = $117 & $119; + if ($121) { + $129 = $0 * 0.0; + $$070 = $129; break; } else { - $97 = ($55>>>0)>(31); - $98 = (($pshift$077) + -33)|0; - $$ = $97 ? 0 : $16; - $$66 = $97 ? $16 : $51; - $$67 = $97 ? $98 : $55; - $99 = $$66 << $$67; - $100 = (32 - ($$67))|0; - $101 = $$ >>> $100; - $102 = $101 | $99; - $103 = $$ << $$67; - $105 = $103;$168 = $102;$pshift$1 = 1; - break; + $123 = $120;$125 = $118; } + } else { + $123 = $160;$125 = $159; + } + $122 = ($123>>>0)<(1048576); + $124 = ($125>>>0)<(0); + $126 = ($123|0)==(1048576); + $127 = $126 & $124; + $128 = $122 | $127; + if ($128) { + $$37683 = $$275$lcssa;$130 = $125;$131 = $123; + while(1) { + $132 = (_bitshift64Shl(($130|0),($131|0),1)|0); + $133 = tempRet0; + $134 = (($$37683) + -1)|0; + $135 = ($133>>>0)<(1048576); + $136 = ($132>>>0)<(0); + $137 = ($133|0)==(1048576); + $138 = $137 & $136; + $139 = $135 | $138; + if ($139) { + $$37683 = $134;$130 = $132;$131 = $133; + } else { + $$376$lcssa = $134;$141 = $132;$142 = $133; + break; + } + } + } else { + $$376$lcssa = $$275$lcssa;$141 = $125;$142 = $123; + } + $140 = ($$376$lcssa|0)>(0); + if ($140) { + $143 = (_i64Add(($141|0),($142|0),0,-1048576)|0); + $144 = tempRet0; + $145 = (_bitshift64Shl(($$376$lcssa|0),0,52)|0); + $146 = tempRet0; + $147 = $143 | $145; + $148 = $144 | $146; + $153 = $148;$155 = $147; + } else { + $149 = (1 - ($$376$lcssa))|0; + $150 = (_bitshift64Lshr(($141|0),($142|0),($149|0))|0); + $151 = tempRet0; + $153 = $151;$155 = $150; + } + $152 = $153 | $12; + HEAP32[tempDoublePtr>>2] = $155;HEAP32[tempDoublePtr+4>>2] = $152;$154 = +HEAPF64[tempDoublePtr>>3]; + $$070 = $154; + } + } + } while(0); + if ((label|0) == 3) { + $27 = $0 * $1; + $28 = $27 / $27; + $$070 = $28; + } + return (+$$070); +} +function ___DOUBLE_BITS_272($0) { + $0 = +$0; + var $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF64[tempDoublePtr>>3] = $0;$1 = HEAP32[tempDoublePtr>>2]|0; + $2 = HEAP32[tempDoublePtr+4>>2]|0; + tempRet0 = ($2); + return ($1|0); +} +function _strlen($0) { + $0 = $0|0; + var $$0 = 0, $$015$lcssa = 0, $$01519 = 0, $$1$lcssa = 0, $$pn = 0, $$pre = 0, $$sink = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0; + var $21 = 0, $22 = 0, $23 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = $0; + $2 = $1 & 3; + $3 = ($2|0)==(0); + L1: do { + if ($3) { + $$015$lcssa = $0; + label = 4; + } else { + $$01519 = $0;$23 = $1; + while(1) { + $4 = HEAP8[$$01519>>0]|0; + $5 = ($4<<24>>24)==(0); + if ($5) { + $$sink = $23; + break L1; + } + $6 = ((($$01519)) + 1|0); + $7 = $6; + $8 = $7 & 3; + $9 = ($8|0)==(0); + if ($9) { + $$015$lcssa = $6; + label = 4; + break; + } else { + $$01519 = $6;$23 = $7; + } + } + } + } while(0); + if ((label|0) == 4) { + $$0 = $$015$lcssa; + while(1) { + $10 = HEAP32[$$0>>2]|0; + $11 = (($10) + -16843009)|0; + $12 = $10 & -2139062144; + $13 = $12 ^ -2139062144; + $14 = $13 & $11; + $15 = ($14|0)==(0); + $16 = ((($$0)) + 4|0); + if ($15) { + $$0 = $16; + } else { + break; + } + } + $17 = $10&255; + $18 = ($17<<24>>24)==(0); + if ($18) { + $$1$lcssa = $$0; + } else { + $$pn = $$0; + while(1) { + $19 = ((($$pn)) + 1|0); + $$pre = HEAP8[$19>>0]|0; + $20 = ($$pre<<24>>24)==(0); + if ($20) { + $$1$lcssa = $19; + break; + } else { + $$pn = $19; + } + } + } + $21 = $$1$lcssa; + $$sink = $21; + } + $22 = (($$sink) - ($1))|0; + return ($22|0); +} +function _strchr($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = (___strchrnul($0,$1)|0); + $3 = HEAP8[$2>>0]|0; + $4 = $1&255; + $5 = ($3<<24>>24)==($4<<24>>24); + $6 = $5 ? $2 : 0; + return ($6|0); +} +function ___strchrnul($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $$029$lcssa = 0, $$02936 = 0, $$030$lcssa = 0, $$03039 = 0, $$1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0; + var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0; + var $41 = 0, $42 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond33 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = $1 & 255; + $3 = ($2|0)==(0); + L1: do { + if ($3) { + $8 = (_strlen($0)|0); + $9 = (($0) + ($8)|0); + $$0 = $9; + } else { + $4 = $0; + $5 = $4 & 3; + $6 = ($5|0)==(0); + if ($6) { + $$030$lcssa = $0; + } else { + $7 = $1&255; + $$03039 = $0; + while(1) { + $10 = HEAP8[$$03039>>0]|0; + $11 = ($10<<24>>24)==(0); + $12 = ($10<<24>>24)==($7<<24>>24); + $or$cond = $11 | $12; + if ($or$cond) { + $$0 = $$03039; + break L1; + } + $13 = ((($$03039)) + 1|0); + $14 = $13; + $15 = $14 & 3; + $16 = ($15|0)==(0); + if ($16) { + $$030$lcssa = $13; + break; + } else { + $$03039 = $13; + } + } + } + $17 = Math_imul($2, 16843009)|0; + $18 = HEAP32[$$030$lcssa>>2]|0; + $19 = (($18) + -16843009)|0; + $20 = $18 & -2139062144; + $21 = $20 ^ -2139062144; + $22 = $21 & $19; + $23 = ($22|0)==(0); + L10: do { + if ($23) { + $$02936 = $$030$lcssa;$25 = $18; + while(1) { + $24 = $25 ^ $17; + $26 = (($24) + -16843009)|0; + $27 = $24 & -2139062144; + $28 = $27 ^ -2139062144; + $29 = $28 & $26; + $30 = ($29|0)==(0); + if (!($30)) { + $$029$lcssa = $$02936; + break L10; + } + $31 = ((($$02936)) + 4|0); + $32 = HEAP32[$31>>2]|0; + $33 = (($32) + -16843009)|0; + $34 = $32 & -2139062144; + $35 = $34 ^ -2139062144; + $36 = $35 & $33; + $37 = ($36|0)==(0); + if ($37) { + $$02936 = $31;$25 = $32; + } else { + $$029$lcssa = $31; + break; + } + } + } else { + $$029$lcssa = $$030$lcssa; } } while(0); - $104 = $105 | 1; - $106 = (($head$076) + ($width)|0); - $107 = ($106>>>0)<($11>>>0); - if ($107) { - $16 = $104;$51 = $168;$head$076 = $106;$pshift$077 = $pshift$1; + $38 = $1&255; + $$1 = $$029$lcssa; + while(1) { + $39 = HEAP8[$$1>>0]|0; + $40 = ($39<<24>>24)==(0); + $41 = ($39<<24>>24)==($38<<24>>24); + $or$cond33 = $40 | $41; + $42 = ((($$1)) + 1|0); + if ($or$cond33) { + $$0 = $$1; + break; + } else { + $$1 = $42; + } + } + } + } while(0); + return ($$0|0); +} +function _mbrtowc($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$ = 0, $$0 = 0, $$03952 = 0, $$04051 = 0, $$04350 = 0, $$1 = 0, $$141 = 0, $$144 = 0, $$2 = 0, $$47 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0; + var $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0; + var $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; + var $not$ = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $4 = sp; + $5 = ($3|0)==(0|0); + $$ = $5 ? 33268 : $3; + $6 = HEAP32[$$>>2]|0; + $7 = ($1|0)==(0|0); + L1: do { + if ($7) { + $8 = ($6|0)==(0); + if ($8) { + $$0 = 0; } else { - $$lcssa70 = $168;$$lcssa71 = $104;$head$0$lcssa = $106;$pshift$0$lcssa = $pshift$1; + label = 17; + } + } else { + $9 = ($0|0)==(0|0); + $$47 = $9 ? $4 : $0; + $10 = ($2|0)==(0); + if ($10) { + $$0 = -2; + } else { + $11 = ($6|0)==(0); + if ($11) { + $12 = HEAP8[$1>>0]|0; + $13 = ($12<<24>>24)>(-1); + if ($13) { + $14 = $12&255; + HEAP32[$$47>>2] = $14; + $15 = ($12<<24>>24)!=(0); + $16 = $15&1; + $$0 = $16; + break; + } + $17 = (___pthread_self_439()|0); + $18 = ((($17)) + 188|0); + $19 = HEAP32[$18>>2]|0; + $20 = HEAP32[$19>>2]|0; + $not$ = ($20|0)==(0|0); + $21 = HEAP8[$1>>0]|0; + if ($not$) { + $22 = $21 << 24 >> 24; + $23 = $22 & 57343; + HEAP32[$$47>>2] = $23; + $$0 = 1; + break; + } + $24 = $21&255; + $25 = (($24) + -194)|0; + $26 = ($25>>>0)>(50); + if ($26) { + label = 17; + break; + } + $27 = ((($1)) + 1|0); + $28 = (4840 + ($25<<2)|0); + $29 = HEAP32[$28>>2]|0; + $30 = (($2) + -1)|0; + $31 = ($30|0)==(0); + if ($31) { + $$2 = $29; + } else { + $$03952 = $27;$$04051 = $29;$$04350 = $30; + label = 11; + } + } else { + $$03952 = $1;$$04051 = $6;$$04350 = $2; + label = 11; + } + L14: do { + if ((label|0) == 11) { + $32 = HEAP8[$$03952>>0]|0; + $33 = $32&255; + $34 = $33 >>> 3; + $35 = (($34) + -16)|0; + $36 = $$04051 >> 26; + $37 = (($34) + ($36))|0; + $38 = $35 | $37; + $39 = ($38>>>0)>(7); + if ($39) { + label = 17; + break L1; + } else { + $$1 = $$03952;$$141 = $$04051;$$144 = $$04350;$43 = $32; + } + while(1) { + $40 = $$141 << 6; + $41 = ((($$1)) + 1|0); + $42 = $43&255; + $44 = (($42) + -128)|0; + $45 = $44 | $40; + $46 = (($$144) + -1)|0; + $47 = ($45|0)<(0); + if (!($47)) { + break; + } + $49 = ($46|0)==(0); + if ($49) { + $$2 = $45; + break L14; + } + $50 = HEAP8[$41>>0]|0; + $51 = $50 & -64; + $52 = ($51<<24>>24)==(-128); + if ($52) { + $$1 = $41;$$141 = $45;$$144 = $46;$43 = $50; + } else { + label = 17; + break L1; + } + } + HEAP32[$$>>2] = 0; + HEAP32[$$47>>2] = $45; + $48 = (($2) - ($46))|0; + $$0 = $48; + break L1; + } + } while(0); + HEAP32[$$>>2] = $$2; + $$0 = -2; + } + } + } while(0); + if ((label|0) == 17) { + HEAP32[$$>>2] = 0; + $53 = (___errno_location()|0); + HEAP32[$53>>2] = 84; + $$0 = -1; + } + STACKTOP = sp;return ($$0|0); +} +function ___pthread_self_439() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (_pthread_self()|0); + return ($0|0); +} +function _strcpy($0,$1) { + $0 = $0|0; + $1 = $1|0; + var label = 0, sp = 0; + sp = STACKTOP; + (___stpcpy($0,$1)|0); + return ($0|0); +} +function ___stpcpy($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0$lcssa = 0, $$025$lcssa = 0, $$02536 = 0, $$026$lcssa = 0, $$02642 = 0, $$027$lcssa = 0, $$02741 = 0, $$029 = 0, $$037 = 0, $$1$ph = 0, $$128$ph = 0, $$12834 = 0, $$135 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0; + var $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0; + var $35 = 0, $36 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = $1; + $3 = $0; + $4 = $2 ^ $3; + $5 = $4 & 3; + $6 = ($5|0)==(0); + L1: do { + if ($6) { + $7 = $2 & 3; + $8 = ($7|0)==(0); + if ($8) { + $$026$lcssa = $1;$$027$lcssa = $0; + } else { + $$02642 = $1;$$02741 = $0; + while(1) { + $9 = HEAP8[$$02642>>0]|0; + HEAP8[$$02741>>0] = $9; + $10 = ($9<<24>>24)==(0); + if ($10) { + $$029 = $$02741; + break L1; + } + $11 = ((($$02642)) + 1|0); + $12 = ((($$02741)) + 1|0); + $13 = $11; + $14 = $13 & 3; + $15 = ($14|0)==(0); + if ($15) { + $$026$lcssa = $11;$$027$lcssa = $12; + break; + } else { + $$02642 = $11;$$02741 = $12; + } + } + } + $16 = HEAP32[$$026$lcssa>>2]|0; + $17 = (($16) + -16843009)|0; + $18 = $16 & -2139062144; + $19 = $18 ^ -2139062144; + $20 = $19 & $17; + $21 = ($20|0)==(0); + if ($21) { + $$02536 = $$027$lcssa;$$037 = $$026$lcssa;$24 = $16; + while(1) { + $22 = ((($$037)) + 4|0); + $23 = ((($$02536)) + 4|0); + HEAP32[$$02536>>2] = $24; + $25 = HEAP32[$22>>2]|0; + $26 = (($25) + -16843009)|0; + $27 = $25 & -2139062144; + $28 = $27 ^ -2139062144; + $29 = $28 & $26; + $30 = ($29|0)==(0); + if ($30) { + $$02536 = $23;$$037 = $22;$24 = $25; + } else { + $$0$lcssa = $22;$$025$lcssa = $23; + break; + } + } + } else { + $$0$lcssa = $$026$lcssa;$$025$lcssa = $$027$lcssa; + } + $$1$ph = $$0$lcssa;$$128$ph = $$025$lcssa; + label = 8; + } else { + $$1$ph = $1;$$128$ph = $0; + label = 8; + } + } while(0); + if ((label|0) == 8) { + $31 = HEAP8[$$1$ph>>0]|0; + HEAP8[$$128$ph>>0] = $31; + $32 = ($31<<24>>24)==(0); + if ($32) { + $$029 = $$128$ph; + } else { + $$12834 = $$128$ph;$$135 = $$1$ph; + while(1) { + $33 = ((($$135)) + 1|0); + $34 = ((($$12834)) + 1|0); + $35 = HEAP8[$33>>0]|0; + HEAP8[$34>>0] = $35; + $36 = ($35<<24>>24)==(0); + if ($36) { + $$029 = $34; + break; + } else { + $$12834 = $34;$$135 = $33; + } + } + } + } + return ($$029|0); +} +function _ldexp($0,$1) { + $0 = +$0; + $1 = $1|0; + var $2 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = (+_scalbn($0,$1)); + return (+$2); +} +function _fwrite($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$ = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $phitmp = 0, label = 0, sp = 0; + sp = STACKTOP; + $4 = Math_imul($2, $1)|0; + $5 = ($1|0)==(0); + $$ = $5 ? 0 : $2; + $6 = ((($3)) + 76|0); + $7 = HEAP32[$6>>2]|0; + $8 = ($7|0)>(-1); + if ($8) { + $10 = (___lockfile($3)|0); + $phitmp = ($10|0)==(0); + $11 = (___fwritex($0,$4,$3)|0); + if ($phitmp) { + $13 = $11; + } else { + ___unlockfile($3); + $13 = $11; + } + } else { + $9 = (___fwritex($0,$4,$3)|0); + $13 = $9; + } + $12 = ($13|0)==($4|0); + if ($12) { + $15 = $$; + } else { + $14 = (($13>>>0) / ($1>>>0))&-1; + $15 = $14; + } + return ($15|0); +} +function ___unlist_locked_file($0) { + $0 = $0|0; + var $$pre = 0, $$sink = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 68|0); + $2 = HEAP32[$1>>2]|0; + $3 = ($2|0)==(0); + if (!($3)) { + $4 = ((($0)) + 116|0); + $5 = HEAP32[$4>>2]|0; + $6 = ($5|0)==(0|0); + $$pre = ((($0)) + 112|0); + if (!($6)) { + $7 = HEAP32[$$pre>>2]|0; + $8 = ((($5)) + 112|0); + HEAP32[$8>>2] = $7; + } + $9 = HEAP32[$$pre>>2]|0; + $10 = ($9|0)==(0|0); + if ($10) { + $12 = (___pthread_self_607()|0); + $13 = ((($12)) + 232|0); + $$sink = $13; + } else { + $11 = ((($9)) + 116|0); + $$sink = $11; + } + HEAP32[$$sink>>2] = $5; + } + return; +} +function ___pthread_self_607() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (_pthread_self()|0); + return ($0|0); +} +function _fopen($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $memchr = 0, $vararg_buffer = 0, $vararg_buffer3 = 0, $vararg_buffer8 = 0, $vararg_ptr1 = 0; + var $vararg_ptr2 = 0, $vararg_ptr6 = 0, $vararg_ptr7 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0); + $vararg_buffer8 = sp + 32|0; + $vararg_buffer3 = sp + 16|0; + $vararg_buffer = sp; + $2 = HEAP8[$1>>0]|0; + $3 = $2 << 24 >> 24; + $memchr = (_memchr(26450,$3,4)|0); + $4 = ($memchr|0)==(0|0); + if ($4) { + $5 = (___errno_location()|0); + HEAP32[$5>>2] = 22; + $$0 = 0; + } else { + $6 = (___fmodeflags($1)|0); + $7 = $0; + $8 = $6 | 32768; + HEAP32[$vararg_buffer>>2] = $7; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $8; + $vararg_ptr2 = ((($vararg_buffer)) + 8|0); + HEAP32[$vararg_ptr2>>2] = 438; + $9 = (___syscall5(5,($vararg_buffer|0))|0); + $10 = (___syscall_ret($9)|0); + $11 = ($10|0)<(0); + if ($11) { + $$0 = 0; + } else { + $12 = $6 & 524288; + $13 = ($12|0)==(0); + if (!($13)) { + HEAP32[$vararg_buffer3>>2] = $10; + $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); + HEAP32[$vararg_ptr6>>2] = 2; + $vararg_ptr7 = ((($vararg_buffer3)) + 8|0); + HEAP32[$vararg_ptr7>>2] = 1; + (___syscall221(221,($vararg_buffer3|0))|0); + } + $14 = (___fdopen($10,$1)|0); + $15 = ($14|0)==(0|0); + if ($15) { + HEAP32[$vararg_buffer8>>2] = $10; + (___syscall6(6,($vararg_buffer8|0))|0); + $$0 = 0; + } else { + $$0 = $14; + } + } + } + STACKTOP = sp;return ($$0|0); +} +function ___fmodeflags($0) { + $0 = $0|0; + var $$ = 0, $$$4 = 0, $$0 = 0, $$0$ = 0, $$2 = 0, $$2$ = 0, $$4 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; + var $8 = 0, $9 = 0, $not$ = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (_strchr($0,43)|0); + $2 = ($1|0)==(0|0); + $3 = HEAP8[$0>>0]|0; + $not$ = ($3<<24>>24)!=(114); + $$ = $not$&1; + $$0 = $2 ? $$ : 2; + $4 = (_strchr($0,120)|0); + $5 = ($4|0)==(0|0); + $6 = $$0 | 128; + $$0$ = $5 ? $$0 : $6; + $7 = (_strchr($0,101)|0); + $8 = ($7|0)==(0|0); + $9 = $$0$ | 524288; + $$2 = $8 ? $$0$ : $9; + $10 = ($3<<24>>24)==(114); + $11 = $$2 | 64; + $$2$ = $10 ? $$2 : $11; + $12 = ($3<<24>>24)==(119); + $13 = $$2$ | 512; + $$4 = $12 ? $13 : $$2$; + $14 = ($3<<24>>24)==(97); + $15 = $$4 | 1024; + $$$4 = $14 ? $15 : $$4; + return ($$$4|0); +} +function ___fdopen($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $$pre = 0, $$pre31 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; + var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $5 = 0, $6 = 0; + var $7 = 0, $8 = 0, $9 = 0, $memchr = 0, $vararg_buffer = 0, $vararg_buffer12 = 0, $vararg_buffer3 = 0, $vararg_buffer7 = 0, $vararg_ptr1 = 0, $vararg_ptr10 = 0, $vararg_ptr11 = 0, $vararg_ptr15 = 0, $vararg_ptr16 = 0, $vararg_ptr2 = 0, $vararg_ptr6 = 0, dest = 0, label = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $vararg_buffer12 = sp + 40|0; + $vararg_buffer7 = sp + 24|0; + $vararg_buffer3 = sp + 16|0; + $vararg_buffer = sp; + $2 = sp + 56|0; + $3 = HEAP8[$1>>0]|0; + $4 = $3 << 24 >> 24; + $memchr = (_memchr(26450,$4,4)|0); + $5 = ($memchr|0)==(0|0); + if ($5) { + $6 = (___errno_location()|0); + HEAP32[$6>>2] = 22; + $$0 = 0; + } else { + $7 = (_malloc(1156)|0); + $8 = ($7|0)==(0|0); + if ($8) { + $$0 = 0; + } else { + dest=$7; stop=dest+124|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + $9 = (_strchr($1,43)|0); + $10 = ($9|0)==(0|0); + if ($10) { + $11 = ($3<<24>>24)==(114); + $12 = $11 ? 8 : 4; + HEAP32[$7>>2] = $12; + } + $13 = (_strchr($1,101)|0); + $14 = ($13|0)==(0|0); + if ($14) { + $16 = $3; + } else { + HEAP32[$vararg_buffer>>2] = $0; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = 2; + $vararg_ptr2 = ((($vararg_buffer)) + 8|0); + HEAP32[$vararg_ptr2>>2] = 1; + (___syscall221(221,($vararg_buffer|0))|0); + $$pre = HEAP8[$1>>0]|0; + $16 = $$pre; + } + $15 = ($16<<24>>24)==(97); + if ($15) { + HEAP32[$vararg_buffer3>>2] = $0; + $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); + HEAP32[$vararg_ptr6>>2] = 3; + $17 = (___syscall221(221,($vararg_buffer3|0))|0); + $18 = $17 & 1024; + $19 = ($18|0)==(0); + if ($19) { + $20 = $17 | 1024; + HEAP32[$vararg_buffer7>>2] = $0; + $vararg_ptr10 = ((($vararg_buffer7)) + 4|0); + HEAP32[$vararg_ptr10>>2] = 4; + $vararg_ptr11 = ((($vararg_buffer7)) + 8|0); + HEAP32[$vararg_ptr11>>2] = $20; + (___syscall221(221,($vararg_buffer7|0))|0); + } + $21 = HEAP32[$7>>2]|0; + $22 = $21 | 128; + HEAP32[$7>>2] = $22; + $29 = $22; + } else { + $$pre31 = HEAP32[$7>>2]|0; + $29 = $$pre31; + } + $23 = ((($7)) + 60|0); + HEAP32[$23>>2] = $0; + $24 = ((($7)) + 132|0); + $25 = ((($7)) + 44|0); + HEAP32[$25>>2] = $24; + $26 = ((($7)) + 48|0); + HEAP32[$26>>2] = 1024; + $27 = ((($7)) + 75|0); + HEAP8[$27>>0] = -1; + $28 = $29 & 8; + $30 = ($28|0)==(0); + if ($30) { + $31 = $2; + HEAP32[$vararg_buffer12>>2] = $0; + $vararg_ptr15 = ((($vararg_buffer12)) + 4|0); + HEAP32[$vararg_ptr15>>2] = 21523; + $vararg_ptr16 = ((($vararg_buffer12)) + 8|0); + HEAP32[$vararg_ptr16>>2] = $31; + $32 = (___syscall54(54,($vararg_buffer12|0))|0); + $33 = ($32|0)==(0); + if ($33) { + HEAP8[$27>>0] = 10; + } + } + $34 = ((($7)) + 32|0); + HEAP32[$34>>2] = 10; + $35 = ((($7)) + 36|0); + HEAP32[$35>>2] = 2; + $36 = ((($7)) + 40|0); + HEAP32[$36>>2] = 3; + $37 = ((($7)) + 12|0); + HEAP32[$37>>2] = 2; + $38 = HEAP32[(33208)>>2]|0; + $39 = ($38|0)==(0); + if ($39) { + $40 = ((($7)) + 76|0); + HEAP32[$40>>2] = -1; + } + $41 = (___ofl_add($7)|0); + $$0 = $7; + } + } + STACKTOP = sp;return ($$0|0); +} +function ___ofl_add($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (___ofl_lock()|0); + $2 = HEAP32[$1>>2]|0; + $3 = ((($0)) + 56|0); + HEAP32[$3>>2] = $2; + $4 = HEAP32[$1>>2]|0; + $5 = ($4|0)==(0|0); + if (!($5)) { + $6 = ((($4)) + 52|0); + HEAP32[$6>>2] = $0; + } + HEAP32[$1>>2] = $0; + ___ofl_unlock(); + return ($0|0); +} +function ___ofl_lock() { + var label = 0, sp = 0; + sp = STACKTOP; + ___lock((33272|0)); + return (33280|0); +} +function ___ofl_unlock() { + var label = 0, sp = 0; + sp = STACKTOP; + ___unlock((33272|0)); + return; +} +function _fclose($0) { + $0 = $0|0; + var $$pre = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 76|0); + $2 = HEAP32[$1>>2]|0; + $3 = ($2|0)>(-1); + if ($3) { + $4 = (___lockfile($0)|0); + $29 = $4; + } else { + $29 = 0; + } + ___unlist_locked_file($0); + $5 = HEAP32[$0>>2]|0; + $6 = $5 & 1; + $7 = ($6|0)!=(0); + if (!($7)) { + $8 = (___ofl_lock()|0); + $9 = ((($0)) + 52|0); + $10 = HEAP32[$9>>2]|0; + $11 = ($10|0)==(0|0); + $12 = $10; + $$pre = ((($0)) + 56|0); + if (!($11)) { + $13 = HEAP32[$$pre>>2]|0; + $14 = ((($10)) + 56|0); + HEAP32[$14>>2] = $13; + } + $15 = HEAP32[$$pre>>2]|0; + $16 = ($15|0)==(0|0); + if (!($16)) { + $17 = ((($15)) + 52|0); + HEAP32[$17>>2] = $12; + } + $18 = HEAP32[$8>>2]|0; + $19 = ($18|0)==($0|0); + if ($19) { + HEAP32[$8>>2] = $15; + } + ___ofl_unlock(); + } + $20 = (_fflush($0)|0); + $21 = ((($0)) + 12|0); + $22 = HEAP32[$21>>2]|0; + $23 = (FUNCTION_TABLE_ii[$22 & 15]($0)|0); + $24 = $23 | $20; + $25 = ((($0)) + 92|0); + $26 = HEAP32[$25>>2]|0; + $27 = ($26|0)==(0|0); + if (!($27)) { + _free($26); + } + if ($7) { + $28 = ($29|0)==(0); + if (!($28)) { + ___unlockfile($0); + } + } else { + _free($0); + } + return ($24|0); +} +function _fflush($0) { + $0 = $0|0; + var $$0 = 0, $$023 = 0, $$02325 = 0, $$02327 = 0, $$024$lcssa = 0, $$02426 = 0, $$1 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0; + var $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $phitmp = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ($0|0)==(0|0); + do { + if ($1) { + $8 = HEAP32[1386]|0; + $9 = ($8|0)==(0|0); + if ($9) { + $29 = 0; + } else { + $10 = HEAP32[1386]|0; + $11 = (_fflush($10)|0); + $29 = $11; + } + $12 = (___ofl_lock()|0); + $$02325 = HEAP32[$12>>2]|0; + $13 = ($$02325|0)==(0|0); + if ($13) { + $$024$lcssa = $29; + } else { + $$02327 = $$02325;$$02426 = $29; + while(1) { + $14 = ((($$02327)) + 76|0); + $15 = HEAP32[$14>>2]|0; + $16 = ($15|0)>(-1); + if ($16) { + $17 = (___lockfile($$02327)|0); + $26 = $17; + } else { + $26 = 0; + } + $18 = ((($$02327)) + 20|0); + $19 = HEAP32[$18>>2]|0; + $20 = ((($$02327)) + 28|0); + $21 = HEAP32[$20>>2]|0; + $22 = ($19>>>0)>($21>>>0); + if ($22) { + $23 = (___fflush_unlocked($$02327)|0); + $24 = $23 | $$02426; + $$1 = $24; + } else { + $$1 = $$02426; + } + $25 = ($26|0)==(0); + if (!($25)) { + ___unlockfile($$02327); + } + $27 = ((($$02327)) + 56|0); + $$023 = HEAP32[$27>>2]|0; + $28 = ($$023|0)==(0|0); + if ($28) { + $$024$lcssa = $$1; + break; + } else { + $$02327 = $$023;$$02426 = $$1; + } + } + } + ___ofl_unlock(); + $$0 = $$024$lcssa; + } else { + $2 = ((($0)) + 76|0); + $3 = HEAP32[$2>>2]|0; + $4 = ($3|0)>(-1); + if (!($4)) { + $5 = (___fflush_unlocked($0)|0); + $$0 = $5; break; } - } - } else { - $$lcssa70 = 0;$$lcssa71 = 1;$head$0$lcssa = $base;$pshift$0$lcssa = 1; - } - _trinkle($head$0$lcssa,$width,$cmp,$$lcssa71,$$lcssa70,$pshift$0$lcssa,0,$lp); - $108 = ($pshift$0$lcssa|0)==(1); - $109 = ($$lcssa71|0)==(1); - $or$cond72 = $109 & $108; - $110 = ($$lcssa70|0)==(0); - $or$cond6873 = $110 & $or$cond72; - if ($or$cond6873) { - STACKTOP = sp;return; - } else { - $113 = $$lcssa71;$122 = $$lcssa70;$head$174 = $head$0$lcssa;$pshift$275 = $pshift$0$lcssa; - } - while(1) { - $111 = ($pshift$275|0)<(2); - if (!($111)) { - $136 = $122 << 2; - $137 = $113 >>> 30; - $138 = $137 | $136; - $139 = (($pshift$275) + -2)|0; - $140 = $113 << 1; - $141 = $140 & 2147483646; - $142 = $137 << 31; - $143 = $141 | $142; - $144 = $143 ^ 3; - $145 = $138 >>> 1; - $146 = (($lp) + ($139<<2)|0); - $147 = HEAP32[$146>>2]|0; - $sum = (($147) + ($width))|0; - $$sum2 = (0 - ($sum))|0; - $148 = (($head$174) + ($$sum2)|0); - $149 = (($pshift$275) + -1)|0; - _trinkle($148,$width,$cmp,$144,$145,$149,1,$lp); - $150 = $145 << 1; - $151 = $137 & 1; - $152 = $150 | $151; - $153 = $144 << 1; - $154 = $153 | 1; - $155 = (($head$174) + ($10)|0); - _trinkle($155,$width,$cmp,$154,$152,$139,1,$lp); - $113 = $154;$122 = $152;$head$174 = $155;$pshift$275 = $139; - continue; - } - $112 = (($113) + -1)|0; - $114 = ($112|0)==(0); - do { - if ($114) { - $135 = 32; - label = 56; + $6 = (___lockfile($0)|0); + $phitmp = ($6|0)==(0); + $7 = (___fflush_unlocked($0)|0); + if ($phitmp) { + $$0 = $7; } else { - $115 = $112 & 1; - $116 = ($115|0)==(0); - if ($116) { - $$02$i$i = $112;$nTrailingZeros$03$i$i = 0; - while(1) { - $117 = (($nTrailingZeros$03$i$i) + 1)|0; - $118 = $$02$i$i >>> 1; - $119 = $118 & 1; - $120 = ($119|0)==(0); - if ($120) { - $$02$i$i = $118;$nTrailingZeros$03$i$i = $117; - } else { - $$lcssa = $117; + ___unlockfile($0); + $$0 = $7; + } + } + } while(0); + return ($$0|0); +} +function ___fflush_unlocked($0) { + $0 = $0|0; + var $$0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 20|0); + $2 = HEAP32[$1>>2]|0; + $3 = ((($0)) + 28|0); + $4 = HEAP32[$3>>2]|0; + $5 = ($2>>>0)>($4>>>0); + if ($5) { + $6 = ((($0)) + 36|0); + $7 = HEAP32[$6>>2]|0; + (FUNCTION_TABLE_iiii[$7 & 15]($0,0,0)|0); + $8 = HEAP32[$1>>2]|0; + $9 = ($8|0)==(0|0); + if ($9) { + $$0 = -1; + } else { + label = 3; + } + } else { + label = 3; + } + if ((label|0) == 3) { + $10 = ((($0)) + 4|0); + $11 = HEAP32[$10>>2]|0; + $12 = ((($0)) + 8|0); + $13 = HEAP32[$12>>2]|0; + $14 = ($11>>>0)<($13>>>0); + if ($14) { + $15 = $11; + $16 = $13; + $17 = (($15) - ($16))|0; + $18 = ((($0)) + 40|0); + $19 = HEAP32[$18>>2]|0; + (FUNCTION_TABLE_iiii[$19 & 15]($0,$17,1)|0); + } + $20 = ((($0)) + 16|0); + HEAP32[$20>>2] = 0; + HEAP32[$3>>2] = 0; + HEAP32[$1>>2] = 0; + HEAP32[$12>>2] = 0; + HEAP32[$10>>2] = 0; + $$0 = 0; + } + return ($$0|0); +} +function _fgets($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$0 = 0, $$06266 = 0, $$063 = 0, $$064 = 0, $$1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; + var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0; + var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond3 = 0; + var $sext$mask = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ((($2)) + 76|0); + $4 = HEAP32[$3>>2]|0; + $5 = ($4|0)>(-1); + if ($5) { + $6 = (___lockfile($2)|0); + $17 = $6; + } else { + $17 = 0; + } + $7 = (($1) + -1)|0; + $8 = ($1|0)<(2); + $9 = ($7|0)!=(0); + if ($8) { + $10 = ((($2)) + 74|0); + $11 = HEAP8[$10>>0]|0; + $12 = $11 << 24 >> 24; + $13 = (($12) + 255)|0; + $14 = $13 | $12; + $15 = $14&255; + HEAP8[$10>>0] = $15; + $16 = ($17|0)==(0); + if (!($16)) { + ___unlockfile($2); + } + if ($9) { + $$0 = 0; + } else { + HEAP8[$0>>0] = 0; + $$0 = $0; + } + } else { + L11: do { + if ($9) { + $18 = ((($2)) + 4|0); + $19 = ((($2)) + 8|0); + $$063 = $7;$$064 = $0; + while(1) { + $20 = HEAP32[$18>>2]|0; + $21 = HEAP32[$19>>2]|0; + $22 = $20; + $23 = (($21) - ($22))|0; + $24 = (_memchr($20,10,$23)|0); + $25 = ($24|0)==(0|0); + $26 = $24; + $27 = (1 - ($22))|0; + $28 = (($27) + ($26))|0; + $29 = $25 ? $23 : $28; + $30 = ($29>>>0)<($$063>>>0); + $31 = $30 ? $29 : $$063; + _memcpy(($$064|0),($20|0),($31|0))|0; + $32 = HEAP32[$18>>2]|0; + $33 = (($32) + ($31)|0); + HEAP32[$18>>2] = $33; + $34 = (($$064) + ($31)|0); + $35 = (($$063) - ($31))|0; + $36 = ($35|0)!=(0); + $or$cond = $25 & $36; + if (!($or$cond)) { + $$1 = $34; + label = 17; + break L11; + } + $37 = HEAP32[$19>>2]|0; + $38 = ($33>>>0)<($37>>>0); + if ($38) { + $39 = ((($33)) + 1|0); + HEAP32[$18>>2] = $39; + $40 = HEAP8[$33>>0]|0; + $41 = $40&255; + $50 = $41; + } else { + $42 = (___uflow($2)|0); + $43 = ($42|0)<(0); + if ($43) { break; + } else { + $50 = $42; } } - $121 = ($$lcssa|0)==(0); - if ($121) { - label = 51; + $48 = (($35) + -1)|0; + $49 = $50&255; + $51 = ((($34)) + 1|0); + HEAP8[$34>>0] = $49; + $sext$mask = $50 & 255; + $52 = ($sext$mask|0)!=(10); + $53 = ($48|0)!=(0); + $or$cond3 = $53 & $52; + if ($or$cond3) { + $$063 = $48;$$064 = $51; } else { - $132 = $$lcssa; + $$1 = $51; + label = 17; + break L11; } + } + $44 = ($34|0)==($0|0); + if ($44) { + $$06266 = 0; } else { - label = 51; - } - if ((label|0) == 51) { - label = 0; - $123 = ($122|0)==(0); - if ($123) { - $135 = 64; - label = 56; - break; - } - $124 = $122 & 1; - $125 = ($124|0)==(0); - if ($125) { - $$02$i3$i = $122;$nTrailingZeros$03$i2$i = 0; + $45 = HEAP32[$2>>2]|0; + $46 = $45 & 16; + $47 = ($46|0)==(0); + if ($47) { + $$06266 = 0; } else { - $$0$i44 = 0;$157 = $113;$160 = $122;$164 = 0; - break; - } - while(1) { - $126 = (($nTrailingZeros$03$i2$i) + 1)|0; - $127 = $$02$i3$i >>> 1; - $128 = $127 & 1; - $129 = ($128|0)==(0); - if ($129) { - $$02$i3$i = $127;$nTrailingZeros$03$i2$i = $126; - } else { - $$lcssa102 = $126;$nTrailingZeros$03$i2$i$lcssa = $nTrailingZeros$03$i2$i; - break; - } - } - $130 = (($nTrailingZeros$03$i2$i$lcssa) + 33)|0; - $131 = ($$lcssa102|0)==(0); - if ($131) { - $$0$i44 = 0;$157 = $113;$160 = $122;$164 = 0; - break; - } else { - $132 = $130; + $$1 = $34; + label = 17; } } - $133 = ($132>>>0)>(31); - if ($133) { - $135 = $132; - label = 56; - } else { - $$0$i44 = $132;$157 = $113;$160 = $122;$164 = $132; - } + } else { + $$1 = $0; + label = 17; } } while(0); - if ((label|0) == 56) { - label = 0; - $134 = (($135) + -32)|0; - $$0$i44 = $134;$157 = $122;$160 = 0;$164 = $135; - } - $156 = $157 >>> $$0$i44; - $158 = (32 - ($$0$i44))|0; - $159 = $160 << $158; - $161 = $159 | $156; - $162 = $160 >>> $$0$i44; - $163 = (($164) + ($pshift$275))|0; - $$pre = (($head$174) + ($10)|0); - $165 = ($163|0)==(1); - $166 = ($161|0)==(1); - $or$cond = $166 & $165; - $167 = ($162|0)==(0); - $or$cond68 = $167 & $or$cond; - if ($or$cond68) { - break; - } else { - $113 = $161;$122 = $162;$head$174 = $$pre;$pshift$275 = $163; - } - } - STACKTOP = sp;return; -} -function ___memrchr($m,$c,$n) { - $m = $m|0; - $c = $c|0; - $n = $n|0; - var $$0 = 0, $$01 = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = $c&255; - $$01 = $n; - while(1) { - $1 = (($$01) + -1)|0; - $2 = ($$01|0)==(0); - if ($2) { - $$0 = 0; - label = 4; - break; - } - $3 = (($m) + ($1)|0); - $4 = HEAP8[$3>>0]|0; - $5 = ($4<<24>>24)==($0<<24>>24); - if ($5) { - $$0 = $3; - label = 4; - break; - } else { - $$01 = $1; - } - } - if ((label|0) == 4) { - return ($$0|0); - } - return (0)|0; -} -function _strchr($s,$c) { - $s = $s|0; - $c = $c|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (___strchrnul($s,$c)|0); - $1 = HEAP8[$0>>0]|0; - $2 = $c&255; - $3 = ($1<<24>>24)==($2<<24>>24); - $4 = $3 ? $0 : 0; - return ($4|0); -} -function ___strchrnul($s,$c) { - $s = $s|0; - $c = $c|0; - var $$0 = 0, $$02$lcssa = 0, $$0211 = 0, $$1 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0; - var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0; - var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond5 = 0, $w$0$lcssa = 0, $w$08 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = $c & 255; - $1 = ($0|0)==(0); - if ($1) { - $6 = (_strlen(($s|0))|0); - $7 = (($s) + ($6)|0); - $$0 = $7; - return ($$0|0); - } - $2 = $s; - $3 = $2 & 3; - $4 = ($3|0)==(0); - L5: do { - if ($4) { - $$02$lcssa = $s; - } else { - $5 = $c&255; - $$0211 = $s; - while(1) { - $8 = HEAP8[$$0211>>0]|0; - $9 = ($8<<24>>24)==(0); - $10 = ($8<<24>>24)==($5<<24>>24); - $or$cond = $9 | $10; - if ($or$cond) { - $$0 = $$0211; - break; - } - $11 = ((($$0211)) + 1|0); - $12 = $11; - $13 = $12 & 3; - $14 = ($13|0)==(0); - if ($14) { - $$02$lcssa = $11; - break L5; - } else { - $$0211 = $11; - } + if ((label|0) == 17) { + $54 = ($0|0)==(0|0); + if ($54) { + $$06266 = 0; + } else { + HEAP8[$$1>>0] = 0; + $$06266 = $0; } - return ($$0|0); } - } while(0); - $15 = Math_imul($0, 16843009)|0; - $16 = HEAP32[$$02$lcssa>>2]|0; - $17 = (($16) + -16843009)|0; - $18 = $16 & -2139062144; - $19 = $18 ^ -2139062144; - $20 = $19 & $17; - $21 = ($20|0)==(0); - L12: do { - if ($21) { - $23 = $16;$w$08 = $$02$lcssa; - while(1) { - $22 = $23 ^ $15; - $24 = (($22) + -16843009)|0; - $25 = $22 & -2139062144; - $26 = $25 ^ -2139062144; - $27 = $26 & $24; - $28 = ($27|0)==(0); - if (!($28)) { - $w$0$lcssa = $w$08; - break L12; - } - $29 = ((($w$08)) + 4|0); - $30 = HEAP32[$29>>2]|0; - $31 = (($30) + -16843009)|0; - $32 = $30 & -2139062144; - $33 = $32 ^ -2139062144; - $34 = $33 & $31; - $35 = ($34|0)==(0); - if ($35) { - $23 = $30;$w$08 = $29; - } else { - $w$0$lcssa = $29; - break; - } - } + $55 = ($17|0)==(0); + if ($55) { + $$0 = $$06266; } else { - $w$0$lcssa = $$02$lcssa; - } - } while(0); - $36 = $c&255; - $$1 = $w$0$lcssa; - while(1) { - $37 = HEAP8[$$1>>0]|0; - $38 = ($37<<24>>24)==(0); - $39 = ($37<<24>>24)==($36<<24>>24); - $or$cond5 = $38 | $39; - $40 = ((($$1)) + 1|0); - if ($or$cond5) { - $$0 = $$1; - break; - } else { - $$1 = $40; + ___unlockfile($2); + $$0 = $$06266; } } return ($$0|0); } -function _strcspn($s,$c) { - $s = $s|0; - $c = $c|0; - var $$0 = 0, $$027 = 0, $$03$lcssa = 0, $$035 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0; - var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; - var $8 = 0, $9 = 0, $byteset = 0, $div = 0, $div4 = 0, label = 0, sp = 0; +function _feof($0) { + $0 = $0|0; + var $$lobit = 0, $$lobit8 = 0, $$lobit9 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $phitmp = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $byteset = sp; - $0 = HEAP8[$c>>0]|0; - $1 = ($0<<24>>24)==(0); - if (!($1)) { - $2 = ((($c)) + 1|0); - $3 = HEAP8[$2>>0]|0; - $4 = ($3<<24>>24)==(0); - if (!($4)) { - ;HEAP32[$byteset>>2]=0|0;HEAP32[$byteset+4>>2]=0|0;HEAP32[$byteset+8>>2]=0|0;HEAP32[$byteset+12>>2]=0|0;HEAP32[$byteset+16>>2]=0|0;HEAP32[$byteset+20>>2]=0|0;HEAP32[$byteset+24>>2]=0|0;HEAP32[$byteset+28>>2]=0|0; - $$027 = $c;$13 = $0; - while(1) { - $12 = $13 & 31; - $14 = $12&255; - $15 = 1 << $14; - $div4 = ($13&255) >>> 5; - $16 = $div4&255; - $17 = (($byteset) + ($16<<2)|0); - $18 = HEAP32[$17>>2]|0; - $19 = $18 | $15; - HEAP32[$17>>2] = $19; - $20 = ((($$027)) + 1|0); - $21 = HEAP8[$20>>0]|0; - $22 = ($21<<24>>24)==(0); - if ($22) { - break; + $1 = ((($0)) + 76|0); + $2 = HEAP32[$1>>2]|0; + $3 = ($2|0)>(-1); + if ($3) { + $6 = (___lockfile($0)|0); + $phitmp = ($6|0)==(0); + $7 = HEAP32[$0>>2]|0; + $8 = $7 >>> 4; + $$lobit = $8 & 1; + if ($phitmp) { + $$lobit9 = $$lobit; + } else { + ___unlockfile($0); + $$lobit9 = $$lobit; + } + } else { + $4 = HEAP32[$0>>2]|0; + $5 = $4 >>> 4; + $$lobit8 = $5 & 1; + $$lobit9 = $$lobit8; + } + return ($$lobit9|0); +} +function _sscanf($0,$1,$varargs) { + $0 = $0|0; + $1 = $1|0; + $varargs = $varargs|0; + var $2 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $2 = sp; + HEAP32[$2>>2] = $varargs; + $3 = (_vsscanf($0,$1,$2)|0); + STACKTOP = sp;return ($3|0); +} +function _vsscanf($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, dest = 0, label = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0); + $3 = sp; + dest=$3; stop=dest+124|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + $4 = ((($3)) + 32|0); + HEAP32[$4>>2] = 11; + $5 = ((($3)) + 44|0); + HEAP32[$5>>2] = $0; + $6 = ((($3)) + 76|0); + HEAP32[$6>>2] = -1; + $7 = ((($3)) + 84|0); + HEAP32[$7>>2] = $0; + $8 = (_vfscanf($3,$1,$2)|0); + STACKTOP = sp;return ($8|0); +} +function _do_read($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = (___string_read($0,$1,$2)|0); + return ($3|0); +} +function _vfscanf($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$ = 0, $$$0266 = 0, $$$0268 = 0, $$$0305 = 0, $$$3 = 0, $$0266$lcssa = 0, $$0266417 = 0, $$0268 = 0, $$0272 = 0, $$0273429 = 0, $$0276$ph = 0, $$0278$ph = 0, $$0278$ph$phi = 0, $$0278$ph336 = 0, $$0283428 = 0, $$0286420 = 0, $$0288$ = 0, $$0288425 = 0, $$0292 = 0, $$0293 = 0; + var $$0305423 = 0, $$10 = 0, $$11 = 0, $$1267 = 0, $$1271 = 0, $$1274 = 0, $$1277$ph = 0, $$1279 = 0, $$1284 = 0, $$1289 = 0, $$2 = 0, $$2275 = 0, $$2280 = 0, $$2280$ph = 0, $$2280$ph$phi = 0, $$2285 = 0, $$2290 = 0, $$2307$ph = 0, $$3$lcssa = 0, $$319 = 0; + var $$320 = 0, $$321 = 0, $$322 = 0, $$327 = 0, $$328$le439 = 0, $$328$le441 = 0, $$3281 = 0, $$3291 = 0, $$3416 = 0, $$4282 = 0, $$4309 = 0, $$5 = 0, $$5299 = 0, $$5310 = 0, $$6 = 0, $$6311 = 0, $$7 = 0, $$7$ph = 0, $$7312 = 0, $$8 = 0; + var $$8313 = 0, $$9 = 0, $$9314 = 0, $$9314$ph = 0, $$lcssa355 = 0, $$not = 0, $$old4 = 0, $$ph = 0, $$ph353 = 0, $$pre = 0, $$pre$phi516Z2D = 0, $$pre507 = 0, $$pre509 = 0, $$pre511 = 0, $$pre512 = 0, $$pre513 = 0, $$pre514 = 0, $$pre515 = 0, $$sink443 = 0, $$sroa$2$0$$sroa_idx13 = 0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0; + var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0; + var $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0; + var $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0; + var $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0; + var $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0; + var $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0; + var $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0.0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0.0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0; + var $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0; + var $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0; + var $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0; + var $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0; + var $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $arglist_current = 0, $arglist_next = 0, $expanded = 0, $expanded1 = 0, $expanded3 = 0, $expanded4 = 0, $expanded5 = 0, $factor = 0, $factor331 = 0, $isdigit = 0; + var $isdigit316 = 0, $isdigit316415 = 0, $isdigittmp = 0, $isdigittmp315 = 0, $isdigittmp315414 = 0, $narrow = 0, $narrow469 = 0, $or$cond = 0, $or$cond3 = 0, $or$cond318 = 0, $or$cond5 = 0, $trunc = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 288|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(288|0); + $3 = sp + 8|0; + $4 = sp + 17|0; + $5 = sp; + $6 = sp + 16|0; + $7 = ((($0)) + 76|0); + $8 = HEAP32[$7>>2]|0; + $9 = ($8|0)>(-1); + if ($9) { + $10 = (___lockfile($0)|0); + $306 = $10; + } else { + $306 = 0; + } + $11 = HEAP8[$1>>0]|0; + $12 = ($11<<24>>24)==(0); + L4: do { + if ($12) { + $$3291 = 0; + } else { + $13 = ((($0)) + 4|0); + $14 = ((($0)) + 100|0); + $15 = ((($0)) + 108|0); + $16 = ((($0)) + 8|0); + $17 = ((($4)) + 10|0); + $18 = ((($4)) + 33|0); + $$sroa$2$0$$sroa_idx13 = ((($3)) + 4|0); + $19 = ((($4)) + 46|0); + $20 = ((($4)) + 94|0); + $21 = ((($4)) + 1|0); + $22 = ((($4)) + 1|0); + $$0273429 = $1;$$0283428 = 0;$$0288425 = 0;$$0305423 = 0;$102 = 0;$24 = $11; + L6: while(1) { + $23 = $24&255; + $25 = (_isspace($23)|0); + $26 = ($25|0)==(0); + L8: do { + if ($26) { + $53 = ($24<<24>>24)==(37); + L10: do { + if ($53) { + $54 = ((($$0273429)) + 1|0); + $55 = HEAP8[$54>>0]|0; + L12: do { + switch ($55<<24>>24) { + case 37: { + break L10; + break; + } + case 42: { + $76 = ((($$0273429)) + 2|0); + $$0293 = 0;$$2275 = $76; + break; + } + default: { + $77 = $55&255; + $isdigittmp = (($77) + -48)|0; + $isdigit = ($isdigittmp>>>0)<(10); + if ($isdigit) { + $78 = ((($$0273429)) + 2|0); + $79 = HEAP8[$78>>0]|0; + $80 = ($79<<24>>24)==(36); + if ($80) { + $81 = (_arg_n($2,$isdigittmp)|0); + $82 = ((($$0273429)) + 3|0); + $$0293 = $81;$$2275 = $82; + break L12; + } + } + $arglist_current = HEAP32[$2>>2]|0; + $83 = $arglist_current; + $84 = ((0) + 4|0); + $expanded1 = $84; + $expanded = (($expanded1) - 1)|0; + $85 = (($83) + ($expanded))|0; + $86 = ((0) + 4|0); + $expanded5 = $86; + $expanded4 = (($expanded5) - 1)|0; + $expanded3 = $expanded4 ^ -1; + $87 = $85 & $expanded3; + $88 = $87; + $89 = HEAP32[$88>>2]|0; + $arglist_next = ((($88)) + 4|0); + HEAP32[$2>>2] = $arglist_next; + $$0293 = $89;$$2275 = $54; + } + } + } while(0); + $90 = HEAP8[$$2275>>0]|0; + $91 = $90&255; + $isdigittmp315414 = (($91) + -48)|0; + $isdigit316415 = ($isdigittmp315414>>>0)<(10); + if ($isdigit316415) { + $$0266417 = 0;$$3416 = $$2275;$95 = $91; + while(1) { + $92 = ($$0266417*10)|0; + $93 = (($92) + -48)|0; + $94 = (($93) + ($95))|0; + $96 = ((($$3416)) + 1|0); + $97 = HEAP8[$96>>0]|0; + $98 = $97&255; + $isdigittmp315 = (($98) + -48)|0; + $isdigit316 = ($isdigittmp315>>>0)<(10); + if ($isdigit316) { + $$0266417 = $94;$$3416 = $96;$95 = $98; + } else { + $$0266$lcssa = $94;$$3$lcssa = $96;$$lcssa355 = $97; + break; + } + } + } else { + $$0266$lcssa = 0;$$3$lcssa = $$2275;$$lcssa355 = $90; + } + $99 = ($$lcssa355<<24>>24)==(109); + $100 = ($$0293|0)!=(0|0); + $101 = ((($$3$lcssa)) + 1|0); + $$$0305 = $99 ? 0 : $$0305423; + $$327 = $99 ? 0 : $102; + $$$3 = $99 ? $101 : $$3$lcssa; + $narrow = $100 & $99; + $103 = ((($$$3)) + 1|0); + $104 = HEAP8[$$$3>>0]|0; + switch ($104<<24>>24) { + case 104: { + $105 = HEAP8[$103>>0]|0; + $106 = ($105<<24>>24)==(104); + $107 = ((($$$3)) + 2|0); + $$319 = $106 ? $107 : $103; + $$320 = $106 ? -2 : -1; + $$0268 = $$320;$$5 = $$319; + break; + } + case 108: { + $108 = HEAP8[$103>>0]|0; + $109 = ($108<<24>>24)==(108); + $110 = ((($$$3)) + 2|0); + $$321 = $109 ? $110 : $103; + $$322 = $109 ? 3 : 1; + $$0268 = $$322;$$5 = $$321; + break; + } + case 106: { + $$0268 = 3;$$5 = $103; + break; + } + case 116: case 122: { + $$0268 = 1;$$5 = $103; + break; + } + case 76: { + $$0268 = 2;$$5 = $103; + break; + } + case 110: case 112: case 67: case 83: case 91: case 99: case 115: case 88: case 71: case 70: case 69: case 65: case 103: case 102: case 101: case 97: case 120: case 117: case 111: case 105: case 100: { + $$0268 = 0;$$5 = $$$3; + break; + } + default: { + $$7312 = $$$0305;$309 = $$327;$narrow469 = $narrow; + label = 137; + break L6; + } + } + $111 = HEAP8[$$5>>0]|0; + $112 = $111&255; + $113 = $112 & 47; + $114 = ($113|0)==(3); + $115 = $112 | 32; + $$ = $114 ? $115 : $112; + $$$0268 = $114 ? 1 : $$0268; + $trunc = $$&255; + switch ($trunc<<24>>24) { + case 99: { + $116 = ($$0266$lcssa|0)>(1); + $$$0266 = $116 ? $$0266$lcssa : 1; + $$1267 = $$$0266;$$1284 = $$0283428; + break; + } + case 91: { + $$1267 = $$0266$lcssa;$$1284 = $$0283428; + break; + } + case 110: { + $117 = ($$0283428|0)<(0); + $118 = $117 << 31 >> 31; + _store_int($$0293,$$$0268,$$0283428,$118); + $$11 = $$5;$$1289 = $$0288425;$$2285 = $$0283428;$$6311 = $$$0305;$307 = $$327; + break L8; + break; + } + default: { + ___shlim($0,0); + while(1) { + $119 = HEAP32[$13>>2]|0; + $120 = HEAP32[$14>>2]|0; + $121 = ($119>>>0)<($120>>>0); + if ($121) { + $122 = ((($119)) + 1|0); + HEAP32[$13>>2] = $122; + $123 = HEAP8[$119>>0]|0; + $124 = $123&255; + $126 = $124; + } else { + $125 = (___shgetc($0)|0); + $126 = $125; + } + $127 = (_isspace($126)|0); + $128 = ($127|0)==(0); + if ($128) { + break; + } + } + $129 = HEAP32[$14>>2]|0; + $130 = ($129|0)==(0|0); + if ($130) { + $$pre507 = HEAP32[$13>>2]|0; + $138 = $$pre507; + } else { + $131 = HEAP32[$13>>2]|0; + $132 = ((($131)) + -1|0); + HEAP32[$13>>2] = $132; + $133 = $132; + $138 = $133; + } + $134 = HEAP32[$15>>2]|0; + $135 = HEAP32[$16>>2]|0; + $136 = (($134) + ($$0283428))|0; + $137 = (($136) + ($138))|0; + $139 = (($137) - ($135))|0; + $$1267 = $$0266$lcssa;$$1284 = $139; + } + } + ___shlim($0,$$1267); + $140 = HEAP32[$13>>2]|0; + $141 = HEAP32[$14>>2]|0; + $142 = ($140>>>0)<($141>>>0); + if ($142) { + $143 = ((($140)) + 1|0); + HEAP32[$13>>2] = $143; + $147 = $141; + } else { + $144 = (___shgetc($0)|0); + $145 = ($144|0)<(0); + if ($145) { + $$7312 = $$$0305;$309 = $$327;$narrow469 = $narrow; + label = 137; + break L6; + } + $$pre509 = HEAP32[$14>>2]|0; + $147 = $$pre509; + } + $146 = ($147|0)==(0|0); + if (!($146)) { + $148 = HEAP32[$13>>2]|0; + $149 = ((($148)) + -1|0); + HEAP32[$13>>2] = $149; + } + L55: do { + switch ($trunc<<24>>24) { + case 91: case 99: case 115: { + $150 = ($$|0)==(99); + $151 = $$ | 16; + $152 = ($151|0)==(115); + L57: do { + if ($152) { + $153 = ($$|0)==(115); + _memset(($21|0),-1,256)|0; + HEAP8[$4>>0] = 0; + if ($153) { + HEAP8[$18>>0] = 0; + ;HEAP8[$17>>0]=0|0;HEAP8[$17+1>>0]=0|0;HEAP8[$17+2>>0]=0|0;HEAP8[$17+3>>0]=0|0;HEAP8[$17+4>>0]=0|0; + $$9 = $$5; + } else { + $$9 = $$5; + } + } else { + $154 = ((($$5)) + 1|0); + $155 = HEAP8[$154>>0]|0; + $156 = ($155<<24>>24)==(94); + $157 = ((($$5)) + 2|0); + $$0292 = $156&1; + $$6 = $156 ? $157 : $154; + $158 = $156&1; + _memset(($22|0),($158|0),256)|0; + HEAP8[$4>>0] = 0; + $159 = HEAP8[$$6>>0]|0; + switch ($159<<24>>24) { + case 45: { + $$sink443 = $19; + label = 64; + break; + } + case 93: { + $$sink443 = $20; + label = 64; + break; + } + default: { + $$pre514 = $$0292 ^ 1; + $$pre515 = $$pre514&255; + $$7$ph = $$6;$$pre$phi516Z2D = $$pre515; + } + } + if ((label|0) == 64) { + label = 0; + $160 = ((($$6)) + 1|0); + $161 = $$0292 ^ 1; + $162 = $161&255; + HEAP8[$$sink443>>0] = $162; + $$7$ph = $160;$$pre$phi516Z2D = $162; + } + $$7 = $$7$ph; + while(1) { + $163 = HEAP8[$$7>>0]|0; + L69: do { + switch ($163<<24>>24) { + case 0: { + $$7312 = $$$0305;$309 = $$327;$narrow469 = $narrow; + label = 137; + break L6; + break; + } + case 93: { + $$9 = $$7; + break L57; + break; + } + case 45: { + $164 = ((($$7)) + 1|0); + $165 = HEAP8[$164>>0]|0; + switch ($165<<24>>24) { + case 93: case 0: { + $$8 = $$7;$176 = 45; + break L69; + break; + } + default: { + } + } + $166 = ((($$7)) + -1|0); + $167 = HEAP8[$166>>0]|0; + $168 = ($167&255)<($165&255); + if ($168) { + $169 = $167&255; + $$0286420 = $169; + while(1) { + $170 = (($$0286420) + 1)|0; + $171 = (($4) + ($170)|0); + HEAP8[$171>>0] = $$pre$phi516Z2D; + $172 = HEAP8[$164>>0]|0; + $173 = $172&255; + $174 = ($170|0)<($173|0); + if ($174) { + $$0286420 = $170; + } else { + $$8 = $164;$176 = $172; + break; + } + } + } else { + $$8 = $164;$176 = $165; + } + break; + } + default: { + $$8 = $$7;$176 = $163; + } + } + } while(0); + $175 = $176&255; + $177 = (($175) + 1)|0; + $178 = (($4) + ($177)|0); + HEAP8[$178>>0] = $$pre$phi516Z2D; + $179 = ((($$8)) + 1|0); + $$7 = $179; + } + } + } while(0); + $180 = (($$1267) + 1)|0; + $181 = $150 ? $180 : 31; + $182 = ($$$0268|0)==(1); + L77: do { + if ($182) { + if ($narrow) { + $183 = $181 << 2; + $184 = (_malloc($183)|0); + $185 = ($184|0)==(0|0); + if ($185) { + $$7312 = 0;$309 = 0;$narrow469 = 1; + label = 137; + break L6; + } else { + $311 = $184; + } + } else { + $311 = $$0293; + } + HEAP32[$3>>2] = 0; + HEAP32[$$sroa$2$0$$sroa_idx13>>2] = 0; + $$0276$ph = $181;$$0278$ph = 0;$$ph = $311; + L82: while(1) { + $186 = ($$ph|0)==(0|0); + $$0278$ph336 = $$0278$ph; + while(1) { + L86: while(1) { + $187 = HEAP32[$13>>2]|0; + $188 = HEAP32[$14>>2]|0; + $189 = ($187>>>0)<($188>>>0); + if ($189) { + $190 = ((($187)) + 1|0); + HEAP32[$13>>2] = $190; + $191 = HEAP8[$187>>0]|0; + $192 = $191&255; + $195 = $192; + } else { + $193 = (___shgetc($0)|0); + $195 = $193; + } + $194 = (($195) + 1)|0; + $196 = (($4) + ($194)|0); + $197 = HEAP8[$196>>0]|0; + $198 = ($197<<24>>24)==(0); + if ($198) { + break L82; + } + $199 = $195&255; + HEAP8[$6>>0] = $199; + $200 = (_mbrtowc($5,$6,1,$3)|0); + switch ($200|0) { + case -1: { + $$7312 = 0;$309 = $$ph;$narrow469 = $narrow; + label = 137; + break L6; + break; + } + case -2: { + break; + } + default: { + break L86; + } + } + } + if ($186) { + $$1279 = $$0278$ph336; + } else { + $201 = (($$ph) + ($$0278$ph336<<2)|0); + $202 = (($$0278$ph336) + 1)|0; + $203 = HEAP32[$5>>2]|0; + HEAP32[$201>>2] = $203; + $$1279 = $202; + } + $204 = ($$1279|0)==($$0276$ph|0); + $or$cond = $narrow & $204; + if ($or$cond) { + break; + } else { + $$0278$ph336 = $$1279; + } + } + $factor331 = $$0276$ph << 1; + $205 = $factor331 | 1; + $206 = $205 << 2; + $207 = (_realloc($$ph,$206)|0); + $208 = ($207|0)==(0|0); + if ($208) { + $$7312 = 0;$309 = $$ph;$narrow469 = 1; + label = 137; + break L6; + } else { + $$0278$ph$phi = $$0276$ph;$$0276$ph = $205;$$ph = $207;$$0278$ph = $$0278$ph$phi; + } + } + $209 = (_mbsinit($3)|0); + $210 = ($209|0)==(0); + if ($210) { + $$7312 = 0;$309 = $$ph;$narrow469 = $narrow; + label = 137; + break L6; + } else { + $$4282 = $$0278$ph336;$$4309 = 0;$$5299 = $$ph;$312 = $$ph; + } + } else { + if ($narrow) { + $211 = (_malloc($181)|0); + $212 = ($211|0)==(0|0); + if ($212) { + $$7312 = 0;$309 = 0;$narrow469 = 1; + label = 137; + break L6; + } else { + $$1277$ph = $181;$$2280$ph = 0;$$2307$ph = $211; + } + while(1) { + $$2280 = $$2280$ph; + while(1) { + $213 = HEAP32[$13>>2]|0; + $214 = HEAP32[$14>>2]|0; + $215 = ($213>>>0)<($214>>>0); + if ($215) { + $216 = ((($213)) + 1|0); + HEAP32[$13>>2] = $216; + $217 = HEAP8[$213>>0]|0; + $218 = $217&255; + $221 = $218; + } else { + $219 = (___shgetc($0)|0); + $221 = $219; + } + $220 = (($221) + 1)|0; + $222 = (($4) + ($220)|0); + $223 = HEAP8[$222>>0]|0; + $224 = ($223<<24>>24)==(0); + if ($224) { + $$4282 = $$2280;$$4309 = $$2307$ph;$$5299 = 0;$312 = 0; + break L77; + } + $225 = $221&255; + $226 = (($$2280) + 1)|0; + $227 = (($$2307$ph) + ($$2280)|0); + HEAP8[$227>>0] = $225; + $228 = ($226|0)==($$1277$ph|0); + if ($228) { + break; + } else { + $$2280 = $226; + } + } + $factor = $$1277$ph << 1; + $229 = $factor | 1; + $230 = (_realloc($$2307$ph,$229)|0); + $231 = ($230|0)==(0|0); + if ($231) { + $$7312 = $$2307$ph;$309 = 0;$narrow469 = 1; + label = 137; + break L6; + } else { + $$2280$ph$phi = $$1277$ph;$$1277$ph = $229;$$2307$ph = $230;$$2280$ph = $$2280$ph$phi; + } + } + } + $232 = ($$0293|0)==(0|0); + if ($232) { + $250 = $147; + while(1) { + $248 = HEAP32[$13>>2]|0; + $249 = ($248>>>0)<($250>>>0); + if ($249) { + $251 = ((($248)) + 1|0); + HEAP32[$13>>2] = $251; + $252 = HEAP8[$248>>0]|0; + $253 = $252&255; + $256 = $253; + } else { + $254 = (___shgetc($0)|0); + $256 = $254; + } + $255 = (($256) + 1)|0; + $257 = (($4) + ($255)|0); + $258 = HEAP8[$257>>0]|0; + $259 = ($258<<24>>24)==(0); + if ($259) { + $$4282 = 0;$$4309 = 0;$$5299 = 0;$312 = 0; + break L77; + } + $$pre512 = HEAP32[$14>>2]|0; + $250 = $$pre512; + } + } else { + $$3281 = 0;$235 = $147; + while(1) { + $233 = HEAP32[$13>>2]|0; + $234 = ($233>>>0)<($235>>>0); + if ($234) { + $236 = ((($233)) + 1|0); + HEAP32[$13>>2] = $236; + $237 = HEAP8[$233>>0]|0; + $238 = $237&255; + $241 = $238; + } else { + $239 = (___shgetc($0)|0); + $241 = $239; + } + $240 = (($241) + 1)|0; + $242 = (($4) + ($240)|0); + $243 = HEAP8[$242>>0]|0; + $244 = ($243<<24>>24)==(0); + if ($244) { + $$4282 = $$3281;$$4309 = $$0293;$$5299 = 0;$312 = 0; + break L77; + } + $245 = $241&255; + $246 = (($$3281) + 1)|0; + $247 = (($$0293) + ($$3281)|0); + HEAP8[$247>>0] = $245; + $$pre511 = HEAP32[$14>>2]|0; + $$3281 = $246;$235 = $$pre511; + } + } + } + } while(0); + $260 = HEAP32[$14>>2]|0; + $261 = ($260|0)==(0|0); + if ($261) { + $$pre513 = HEAP32[$13>>2]|0; + $268 = $$pre513; + } else { + $262 = HEAP32[$13>>2]|0; + $263 = ((($262)) + -1|0); + HEAP32[$13>>2] = $263; + $264 = $263; + $268 = $264; + } + $265 = HEAP32[$15>>2]|0; + $266 = HEAP32[$16>>2]|0; + $267 = (($268) - ($266))|0; + $269 = (($267) + ($265))|0; + $270 = ($269|0)==(0); + if ($270) { + $$9314$ph = $$4309;$$ph353 = $312; + label = 139; + break L6; + } + $$not = $150 ^ 1; + $271 = ($269|0)==($$1267|0); + $or$cond318 = $271 | $$not; + if (!($or$cond318)) { + $$9314$ph = $$4309;$$ph353 = $312; + label = 139; + break L6; + } + do { + if ($narrow) { + if ($182) { + HEAP32[$$0293>>2] = $$5299; + break; + } else { + HEAP32[$$0293>>2] = $$4309; + break; + } + } + } while(0); + if ($150) { + $$10 = $$9;$$5310 = $$4309;$310 = $312; + } else { + $272 = ($$5299|0)==(0|0); + if (!($272)) { + $273 = (($$5299) + ($$4282<<2)|0); + HEAP32[$273>>2] = 0; + } + $274 = ($$4309|0)==(0|0); + if ($274) { + $$10 = $$9;$$5310 = 0;$310 = $312; + break L55; + } + $275 = (($$4309) + ($$4282)|0); + HEAP8[$275>>0] = 0; + $$10 = $$9;$$5310 = $$4309;$310 = $312; + } + break; + } + case 120: case 88: case 112: { + $$0272 = 16; + label = 125; + break; + } + case 111: { + $$0272 = 8; + label = 125; + break; + } + case 117: case 100: { + $$0272 = 10; + label = 125; + break; + } + case 105: { + $$0272 = 0; + label = 125; + break; + } + case 71: case 103: case 70: case 102: case 69: case 101: case 65: case 97: { + $285 = (+___floatscan($0,$$$0268,0)); + $286 = HEAP32[$15>>2]|0; + $287 = HEAP32[$13>>2]|0; + $288 = HEAP32[$16>>2]|0; + $289 = (($288) - ($287))|0; + $290 = ($286|0)==($289|0); + if ($290) { + $$9314$ph = $$$0305;$$ph353 = $$327; + label = 139; + break L6; + } + $291 = ($$0293|0)==(0|0); + if ($291) { + $$10 = $$5;$$5310 = $$$0305;$310 = $$327; + } else { + switch ($$$0268|0) { + case 0: { + $292 = $285; + HEAPF32[$$0293>>2] = $292; + $$10 = $$5;$$5310 = $$$0305;$310 = $$327; + break L55; + break; + } + case 1: { + HEAPF64[$$0293>>3] = $285; + $$10 = $$5;$$5310 = $$$0305;$310 = $$327; + break L55; + break; + } + case 2: { + HEAPF64[$$0293>>3] = $285; + $$10 = $$5;$$5310 = $$$0305;$310 = $$327; + break L55; + break; + } + default: { + $$10 = $$5;$$5310 = $$$0305;$310 = $$327; + break L55; + } + } + } + break; + } + default: { + $$10 = $$5;$$5310 = $$$0305;$310 = $$327; + } + } + } while(0); + do { + if ((label|0) == 125) { + label = 0; + $276 = (___intscan($0,$$0272,0,-1,-1)|0); + $277 = tempRet0; + $278 = HEAP32[$15>>2]|0; + $279 = HEAP32[$13>>2]|0; + $280 = HEAP32[$16>>2]|0; + $281 = (($280) - ($279))|0; + $282 = ($278|0)==($281|0); + if ($282) { + $$9314$ph = $$$0305;$$ph353 = $$327; + label = 139; + break L6; + } + $283 = ($$|0)==(112); + $or$cond3 = $100 & $283; + if ($or$cond3) { + $284 = $276; + HEAP32[$$0293>>2] = $284; + $$10 = $$5;$$5310 = $$$0305;$310 = $$327; + break; + } else { + _store_int($$0293,$$$0268,$276,$277); + $$10 = $$5;$$5310 = $$$0305;$310 = $$327; + break; + } + } + } while(0); + $293 = HEAP32[$15>>2]|0; + $294 = HEAP32[$13>>2]|0; + $295 = HEAP32[$16>>2]|0; + $296 = (($293) + ($$1284))|0; + $297 = (($296) + ($294))|0; + $298 = (($297) - ($295))|0; + $299 = $100&1; + $$0288$ = (($299) + ($$0288425))|0; + $$11 = $$10;$$1289 = $$0288$;$$2285 = $298;$$6311 = $$5310;$307 = $310; + break L8; + } + } while(0); + $56 = $53&1; + $57 = (($$0273429) + ($56)|0); + ___shlim($0,0); + $58 = HEAP32[$13>>2]|0; + $59 = HEAP32[$14>>2]|0; + $60 = ($58>>>0)<($59>>>0); + if ($60) { + $61 = ((($58)) + 1|0); + HEAP32[$13>>2] = $61; + $62 = HEAP8[$58>>0]|0; + $63 = $62&255; + $68 = $63; + } else { + $64 = (___shgetc($0)|0); + $68 = $64; + } + $65 = HEAP8[$57>>0]|0; + $66 = $65&255; + $67 = ($68|0)==($66|0); + if (!($67)) { + label = 22; + break L6; + } + $75 = (($$0283428) + 1)|0; + $$11 = $57;$$1289 = $$0288425;$$2285 = $75;$$6311 = $$0305423;$307 = $102; + } else { + $$1274 = $$0273429; + while(1) { + $27 = ((($$1274)) + 1|0); + $28 = HEAP8[$27>>0]|0; + $29 = $28&255; + $30 = (_isspace($29)|0); + $31 = ($30|0)==(0); + if ($31) { + break; + } else { + $$1274 = $27; + } + } + ___shlim($0,0); + while(1) { + $32 = HEAP32[$13>>2]|0; + $33 = HEAP32[$14>>2]|0; + $34 = ($32>>>0)<($33>>>0); + if ($34) { + $35 = ((($32)) + 1|0); + HEAP32[$13>>2] = $35; + $36 = HEAP8[$32>>0]|0; + $37 = $36&255; + $39 = $37; + } else { + $38 = (___shgetc($0)|0); + $39 = $38; + } + $40 = (_isspace($39)|0); + $41 = ($40|0)==(0); + if ($41) { + break; + } + } + $42 = HEAP32[$14>>2]|0; + $43 = ($42|0)==(0|0); + if ($43) { + $$pre = HEAP32[$13>>2]|0; + $51 = $$pre; + } else { + $44 = HEAP32[$13>>2]|0; + $45 = ((($44)) + -1|0); + HEAP32[$13>>2] = $45; + $46 = $45; + $51 = $46; + } + $47 = HEAP32[$15>>2]|0; + $48 = HEAP32[$16>>2]|0; + $49 = (($47) + ($$0283428))|0; + $50 = (($49) + ($51))|0; + $52 = (($50) - ($48))|0; + $$11 = $$1274;$$1289 = $$0288425;$$2285 = $52;$$6311 = $$0305423;$307 = $102; + } + } while(0); + $300 = ((($$11)) + 1|0); + $301 = HEAP8[$300>>0]|0; + $302 = ($301<<24>>24)==(0); + if ($302) { + $$3291 = $$1289; + break L4; } else { - $$027 = $20;$13 = $21; + $$0273429 = $300;$$0283428 = $$2285;$$0288425 = $$1289;$$0305423 = $$6311;$102 = $307;$24 = $301; } } - $10 = HEAP8[$s>>0]|0; - $11 = ($10<<24>>24)==(0); - L7: do { - if ($11) { - $$03$lcssa = $s; + if ((label|0) == 22) { + $69 = HEAP32[$14>>2]|0; + $70 = ($69|0)==(0|0); + if (!($70)) { + $71 = HEAP32[$13>>2]|0; + $72 = ((($71)) + -1|0); + HEAP32[$13>>2] = $72; + } + $73 = ($68|0)>(-1); + $74 = ($$0288425|0)!=(0); + $or$cond5 = $74 | $73; + if ($or$cond5) { + $$3291 = $$0288425; + break; } else { - $$035 = $s;$23 = $10; + $$1271 = 0;$$8313 = $$0305423;$308 = $102; + label = 138; + } + } + else if ((label|0) == 137) { + $$328$le441 = $narrow469&1; + $$old4 = ($$0288425|0)==(0); + if ($$old4) { + $$1271 = $$328$le441;$$8313 = $$7312;$308 = $309; + label = 138; + } else { + $$2 = $$328$le441;$$2290 = $$0288425;$$9314 = $$7312;$304 = $309; + } + } + else if ((label|0) == 139) { + $$328$le439 = $narrow&1; + $$2 = $$328$le439;$$2290 = $$0288425;$$9314 = $$9314$ph;$304 = $$ph353; + } + if ((label|0) == 138) { + $$2 = $$1271;$$2290 = -1;$$9314 = $$8313;$304 = $308; + } + $303 = ($$2|0)==(0); + if ($303) { + $$3291 = $$2290; + } else { + _free($$9314); + _free($304); + $$3291 = $$2290; + } + } + } while(0); + $305 = ($306|0)==(0); + if (!($305)) { + ___unlockfile($0); + } + STACKTOP = sp;return ($$3291|0); +} +function _arg_n($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $arglist_current = 0, $arglist_next = 0, $expanded = 0, $expanded1 = 0, $expanded3 = 0, $expanded4 = 0, $expanded5 = 0, $vacopy_currentptr = 0, label = 0; + var sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $2 = sp; + $vacopy_currentptr = HEAP32[$0>>2]|0; + HEAP32[$2>>2] = $vacopy_currentptr; + $$0 = $1; + while(1) { + $3 = ($$0>>>0)>(1); + $arglist_current = HEAP32[$2>>2]|0; + $4 = $arglist_current; + $5 = ((0) + 4|0); + $expanded1 = $5; + $expanded = (($expanded1) - 1)|0; + $6 = (($4) + ($expanded))|0; + $7 = ((0) + 4|0); + $expanded5 = $7; + $expanded4 = (($expanded5) - 1)|0; + $expanded3 = $expanded4 ^ -1; + $8 = $6 & $expanded3; + $9 = $8; + $10 = HEAP32[$9>>2]|0; + $arglist_next = ((($9)) + 4|0); + HEAP32[$2>>2] = $arglist_next; + $11 = (($$0) + -1)|0; + if ($3) { + $$0 = $11; + } else { + break; + } + } + STACKTOP = sp;return ($10|0); +} +function _store_int($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $10 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $4 = ($0|0)==(0|0); + L1: do { + if (!($4)) { + switch ($1|0) { + case -2: { + $5 = $2&255; + HEAP8[$0>>0] = $5; + break L1; + break; + } + case -1: { + $6 = $2&65535; + HEAP16[$0>>1] = $6; + break L1; + break; + } + case 0: { + HEAP32[$0>>2] = $2; + break L1; + break; + } + case 1: { + HEAP32[$0>>2] = $2; + break L1; + break; + } + case 3: { + $7 = $0; + $8 = $7; + HEAP32[$8>>2] = $2; + $9 = (($7) + 4)|0; + $10 = $9; + HEAP32[$10>>2] = $3; + break L1; + break; + } + default: { + break L1; + } + } + } + } while(0); + return; +} +function _mbsinit($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ($0|0)==(0|0); + if ($1) { + $5 = 1; + } else { + $2 = HEAP32[$0>>2]|0; + $3 = ($2|0)==(0); + $5 = $3; + } + $4 = $5&1; + return ($4|0); +} +function ___string_read($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$027 = 0, $$027$ = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ((($0)) + 84|0); + $4 = HEAP32[$3>>2]|0; + $5 = (($2) + 256)|0; + $6 = (_memchr($4,0,$5)|0); + $7 = ($6|0)==(0|0); + $8 = $6; + $9 = $4; + $10 = (($8) - ($9))|0; + $$027 = $7 ? $5 : $10; + $11 = ($$027>>>0)<($2>>>0); + $$027$ = $11 ? $$027 : $2; + _memcpy(($1|0),($4|0),($$027$|0))|0; + $12 = (($4) + ($$027$)|0); + $13 = ((($0)) + 4|0); + HEAP32[$13>>2] = $12; + $14 = (($4) + ($$027)|0); + $15 = ((($0)) + 8|0); + HEAP32[$15>>2] = $14; + HEAP32[$3>>2] = $14; + return ($$027$|0); +} +function _fseek($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = (___fseeko($0,$1,$2)|0); + return ($3|0); +} +function _fprintf($0,$1,$varargs) { + $0 = $0|0; + $1 = $1|0; + $varargs = $varargs|0; + var $2 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $2 = sp; + HEAP32[$2>>2] = $varargs; + $3 = (_vfprintf($0,$1,$2)|0); + STACKTOP = sp;return ($3|0); +} +function ___fseeko($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $phitmp = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ((($0)) + 76|0); + $4 = HEAP32[$3>>2]|0; + $5 = ($4|0)>(-1); + if ($5) { + $7 = (___lockfile($0)|0); + $phitmp = ($7|0)==(0); + $8 = (___fseeko_unlocked($0,$1,$2)|0); + if ($phitmp) { + $9 = $8; + } else { + ___unlockfile($0); + $9 = $8; + } + } else { + $6 = (___fseeko_unlocked($0,$1,$2)|0); + $9 = $6; + } + return ($9|0); +} +function ___fseeko_unlocked($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$0 = 0, $$019 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ($2|0)==(1); + if ($3) { + $4 = ((($0)) + 8|0); + $5 = HEAP32[$4>>2]|0; + $6 = ((($0)) + 4|0); + $7 = HEAP32[$6>>2]|0; + $8 = (($1) - ($5))|0; + $9 = (($8) + ($7))|0; + $$019 = $9; + } else { + $$019 = $1; + } + $10 = ((($0)) + 20|0); + $11 = HEAP32[$10>>2]|0; + $12 = ((($0)) + 28|0); + $13 = HEAP32[$12>>2]|0; + $14 = ($11>>>0)>($13>>>0); + if ($14) { + $15 = ((($0)) + 36|0); + $16 = HEAP32[$15>>2]|0; + (FUNCTION_TABLE_iiii[$16 & 15]($0,0,0)|0); + $17 = HEAP32[$10>>2]|0; + $18 = ($17|0)==(0|0); + if ($18) { + $$0 = -1; + } else { + label = 5; + } + } else { + label = 5; + } + if ((label|0) == 5) { + $19 = ((($0)) + 16|0); + HEAP32[$19>>2] = 0; + HEAP32[$12>>2] = 0; + HEAP32[$10>>2] = 0; + $20 = ((($0)) + 40|0); + $21 = HEAP32[$20>>2]|0; + $22 = (FUNCTION_TABLE_iiii[$21 & 15]($0,$$019,$2)|0); + $23 = ($22|0)<(0); + if ($23) { + $$0 = -1; + } else { + $24 = ((($0)) + 8|0); + HEAP32[$24>>2] = 0; + $25 = ((($0)) + 4|0); + HEAP32[$25>>2] = 0; + $26 = HEAP32[$0>>2]|0; + $27 = $26 & -17; + HEAP32[$0>>2] = $27; + $$0 = 0; + } + } + return ($$0|0); +} +function _strstr($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; + var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = HEAP8[$1>>0]|0; + $3 = ($2<<24>>24)==(0); + do { + if ($3) { + $$0 = $0; + } else { + $4 = $2 << 24 >> 24; + $5 = (_strchr($0,$4)|0); + $6 = ($5|0)==(0|0); + if ($6) { + $$0 = 0; + } else { + $7 = ((($1)) + 1|0); + $8 = HEAP8[$7>>0]|0; + $9 = ($8<<24>>24)==(0); + if ($9) { + $$0 = $5; + } else { + $10 = ((($5)) + 1|0); + $11 = HEAP8[$10>>0]|0; + $12 = ($11<<24>>24)==(0); + if ($12) { + $$0 = 0; + } else { + $13 = ((($1)) + 2|0); + $14 = HEAP8[$13>>0]|0; + $15 = ($14<<24>>24)==(0); + if ($15) { + $16 = (_twobyte_strstr($5,$1)|0); + $$0 = $16; + break; + } + $17 = ((($5)) + 2|0); + $18 = HEAP8[$17>>0]|0; + $19 = ($18<<24>>24)==(0); + if ($19) { + $$0 = 0; + } else { + $20 = ((($1)) + 3|0); + $21 = HEAP8[$20>>0]|0; + $22 = ($21<<24>>24)==(0); + if ($22) { + $23 = (_threebyte_strstr($5,$1)|0); + $$0 = $23; + break; + } + $24 = ((($5)) + 3|0); + $25 = HEAP8[$24>>0]|0; + $26 = ($25<<24>>24)==(0); + if ($26) { + $$0 = 0; + } else { + $27 = ((($1)) + 4|0); + $28 = HEAP8[$27>>0]|0; + $29 = ($28<<24>>24)==(0); + if ($29) { + $30 = (_fourbyte_strstr($5,$1)|0); + $$0 = $30; + break; + } else { + $31 = (_twoway_strstr($5,$1)|0); + $$0 = $31; + break; + } + } + } + } + } + } + } + } while(0); + return ($$0|0); +} +function _twobyte_strstr($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$lcssa = 0, $$sink = 0, $$sink$in = 0, $$sink$masked = 0, $$sink17$sink = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; + var label = 0, sp = 0; + sp = STACKTOP; + $2 = HEAP8[$1>>0]|0; + $3 = $2&255; + $4 = $3 << 8; + $5 = ((($1)) + 1|0); + $6 = HEAP8[$5>>0]|0; + $7 = $6&255; + $8 = $4 | $7; + $9 = HEAP8[$0>>0]|0; + $10 = $9&255; + $$sink$in = $10;$$sink17$sink = $0; + while(1) { + $11 = ((($$sink17$sink)) + 1|0); + $12 = HEAP8[$11>>0]|0; + $13 = ($12<<24>>24)==(0); + if ($13) { + $$lcssa = 0; + break; + } + $$sink = $$sink$in << 8; + $14 = $12&255; + $$sink$masked = $$sink & 65280; + $15 = $14 | $$sink$masked; + $16 = ($15|0)==($8|0); + if ($16) { + $$lcssa = $$sink17$sink; + break; + } else { + $$sink$in = $15;$$sink17$sink = $11; + } + } + return ($$lcssa|0); +} +function _threebyte_strstr($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$016$lcssa = 0, $$01619 = 0, $$020 = 0, $$lcssa = 0, $$not = 0, $$not17 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0; + var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $4 = 0, $5 = 0, $6 = 0; + var $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond18 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = HEAP8[$1>>0]|0; + $3 = $2&255; + $4 = $3 << 24; + $5 = ((($1)) + 1|0); + $6 = HEAP8[$5>>0]|0; + $7 = $6&255; + $8 = $7 << 16; + $9 = $8 | $4; + $10 = ((($1)) + 2|0); + $11 = HEAP8[$10>>0]|0; + $12 = $11&255; + $13 = $12 << 8; + $14 = $9 | $13; + $15 = HEAP8[$0>>0]|0; + $16 = $15&255; + $17 = $16 << 24; + $18 = ((($0)) + 1|0); + $19 = HEAP8[$18>>0]|0; + $20 = $19&255; + $21 = $20 << 16; + $22 = $21 | $17; + $23 = ((($0)) + 2|0); + $24 = HEAP8[$23>>0]|0; + $25 = $24&255; + $26 = $25 << 8; + $27 = $22 | $26; + $28 = ($24<<24>>24)!=(0); + $$not17 = $28 ^ 1; + $29 = ($27|0)==($14|0); + $or$cond18 = $29 | $$not17; + if ($or$cond18) { + $$016$lcssa = $23;$$lcssa = $28; + } else { + $$01619 = $23;$$020 = $27; + while(1) { + $30 = ((($$01619)) + 1|0); + $31 = HEAP8[$30>>0]|0; + $32 = $31&255; + $33 = $32 | $$020; + $34 = $33 << 8; + $35 = ($31<<24>>24)!=(0); + $$not = $35 ^ 1; + $36 = ($34|0)==($14|0); + $or$cond = $36 | $$not; + if ($or$cond) { + $$016$lcssa = $30;$$lcssa = $35; + break; + } else { + $$01619 = $30;$$020 = $34; + } + } + } + $37 = ((($$016$lcssa)) + -2|0); + $38 = $$lcssa ? $37 : 0; + return ($38|0); +} +function _fourbyte_strstr($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$lcssa = 0, $$not = 0, $$not22 = 0, $$sink21$lcssa = 0, $$sink2124 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; + var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; + var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond23 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = HEAP8[$1>>0]|0; + $3 = $2&255; + $4 = $3 << 24; + $5 = ((($1)) + 1|0); + $6 = HEAP8[$5>>0]|0; + $7 = $6&255; + $8 = $7 << 16; + $9 = $8 | $4; + $10 = ((($1)) + 2|0); + $11 = HEAP8[$10>>0]|0; + $12 = $11&255; + $13 = $12 << 8; + $14 = $9 | $13; + $15 = ((($1)) + 3|0); + $16 = HEAP8[$15>>0]|0; + $17 = $16&255; + $18 = $14 | $17; + $19 = HEAP8[$0>>0]|0; + $20 = $19&255; + $21 = $20 << 24; + $22 = ((($0)) + 1|0); + $23 = HEAP8[$22>>0]|0; + $24 = $23&255; + $25 = $24 << 16; + $26 = $25 | $21; + $27 = ((($0)) + 2|0); + $28 = HEAP8[$27>>0]|0; + $29 = $28&255; + $30 = $29 << 8; + $31 = $26 | $30; + $32 = ((($0)) + 3|0); + $33 = HEAP8[$32>>0]|0; + $34 = $33&255; + $35 = $34 | $31; + $36 = ($33<<24>>24)!=(0); + $$not22 = $36 ^ 1; + $37 = ($35|0)==($18|0); + $or$cond23 = $37 | $$not22; + if ($or$cond23) { + $$lcssa = $36;$$sink21$lcssa = $32; + } else { + $$sink2124 = $32;$39 = $35; + while(1) { + $38 = $39 << 8; + $40 = ((($$sink2124)) + 1|0); + $41 = HEAP8[$40>>0]|0; + $42 = $41&255; + $43 = $42 | $38; + $44 = ($41<<24>>24)!=(0); + $$not = $44 ^ 1; + $45 = ($43|0)==($18|0); + $or$cond = $45 | $$not; + if ($or$cond) { + $$lcssa = $44;$$sink21$lcssa = $40; + break; + } else { + $$sink2124 = $40;$39 = $43; + } + } + } + $46 = ((($$sink21$lcssa)) + -3|0); + $47 = $$lcssa ? $46 : 0; + return ($47|0); +} +function _twoway_strstr($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0166 = 0, $$0168 = 0, $$0169 = 0, $$0169$be = 0, $$0170 = 0, $$0175$ph$ph$lcssa220 = 0, $$0175$ph$ph$lcssa220323 = 0, $$0175$ph$ph256 = 0, $$0179244 = 0, $$0183$ph200$ph255 = 0, $$0183$ph200250 = 0, $$0183$ph262 = 0, $$0185$ph$lcssa = 0, $$0185$ph$lcssa322 = 0, $$0185$ph261 = 0, $$0187$lcssa320321 = 0, $$0187266 = 0, $$1176$$0175 = 0, $$1176$ph$ph$lcssa211 = 0, $$1176$ph$ph235 = 0; + var $$1180224 = 0, $$1184$ph196$ph234 = 0, $$1184$ph196229 = 0, $$1184$ph241 = 0, $$1186$$0185 = 0, $$1186$$0185$ = 0, $$1186$ph$lcssa = 0, $$1186$ph240 = 0, $$2181 = 0, $$2181$sink = 0, $$3 = 0, $$3173 = 0, $$3178 = 0, $$3182223 = 0, $$4 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0; + var $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0; + var $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0; + var $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0; + var $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0; + var $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0; + var $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0; + var $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $cond = 0, $cond191 = 0, $cond191222 = 0, $cond265 = 0, $div = 0, $div188 = 0, $or$cond = 0, $or$cond190 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 1056|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1056|0); + $2 = sp + 1024|0; + $3 = sp; + ;HEAP32[$2>>2]=0|0;HEAP32[$2+4>>2]=0|0;HEAP32[$2+8>>2]=0|0;HEAP32[$2+12>>2]=0|0;HEAP32[$2+16>>2]=0|0;HEAP32[$2+20>>2]=0|0;HEAP32[$2+24>>2]=0|0;HEAP32[$2+28>>2]=0|0; + $4 = HEAP8[$1>>0]|0; + $cond265 = ($4<<24>>24)==(0); + L1: do { + if ($cond265) { + $$0175$ph$ph$lcssa220323 = 1;$$0185$ph$lcssa322 = -1;$$0187$lcssa320321 = 0;$$1176$ph$ph$lcssa211 = 1;$$1186$ph$lcssa = -1; + label = 27; + } else { + $5 = $4&255; + $$0187266 = 0;$12 = $4;$20 = $5; + while(1) { + $8 = (($0) + ($$0187266)|0); + $9 = HEAP8[$8>>0]|0; + $10 = ($9<<24>>24)==(0); + if ($10) { + $$3 = 0; + break L1; + } + $11 = $12 & 31; + $13 = $11&255; + $14 = 1 << $13; + $div188 = ($12&255) >>> 5; + $15 = $div188&255; + $16 = (($2) + ($15<<2)|0); + $17 = HEAP32[$16>>2]|0; + $18 = $17 | $14; + HEAP32[$16>>2] = $18; + $7 = (($$0187266) + 1)|0; + $19 = (($3) + ($20<<2)|0); + HEAP32[$19>>2] = $7; + $21 = (($1) + ($7)|0); + $22 = HEAP8[$21>>0]|0; + $23 = $22&255; + $cond = ($22<<24>>24)==(0); + if ($cond) { + break; + } else { + $$0187266 = $7;$12 = $22;$20 = $23; + } + } + $6 = ($7>>>0)>(1); + if ($6) { + $$0183$ph262 = 0;$$0185$ph261 = -1;$129 = 1; + L7: while(1) { + $$0175$ph$ph256 = 1;$$0183$ph200$ph255 = $$0183$ph262;$132 = $129; + while(1) { + $$0183$ph200250 = $$0183$ph200$ph255;$131 = $132; + L11: while(1) { + $$0179244 = 1;$31 = $131; + while(1) { + $27 = (($$0179244) + ($$0185$ph261))|0; + $28 = (($1) + ($27)|0); + $29 = HEAP8[$28>>0]|0; + $30 = (($1) + ($31)|0); + $32 = HEAP8[$30>>0]|0; + $33 = ($29<<24>>24)==($32<<24>>24); + if (!($33)) { + break L11; + } + $34 = ($$0179244|0)==($$0175$ph$ph256|0); + $25 = (($$0179244) + 1)|0; + if ($34) { + break; + } + $24 = (($25) + ($$0183$ph200250))|0; + $26 = ($24>>>0)<($7>>>0); + if ($26) { + $$0179244 = $25;$31 = $24; + } else { + $$0175$ph$ph$lcssa220 = $$0175$ph$ph256;$$0185$ph$lcssa = $$0185$ph261; + break L7; + } + } + $35 = (($$0175$ph$ph256) + ($$0183$ph200250))|0; + $36 = (($35) + 1)|0; + $37 = ($36>>>0)<($7>>>0); + if ($37) { + $$0183$ph200250 = $35;$131 = $36; + } else { + $$0175$ph$ph$lcssa220 = $$0175$ph$ph256;$$0185$ph$lcssa = $$0185$ph261; + break L7; + } + } + $38 = ($29&255)>($32&255); + $39 = (($31) - ($$0185$ph261))|0; + if (!($38)) { + break; + } + $43 = (($31) + 1)|0; + $44 = ($43>>>0)<($7>>>0); + if ($44) { + $$0175$ph$ph256 = $39;$$0183$ph200$ph255 = $31;$132 = $43; + } else { + $$0175$ph$ph$lcssa220 = $39;$$0185$ph$lcssa = $$0185$ph261; + break L7; + } + } + $40 = (($$0183$ph200250) + 1)|0; + $41 = (($$0183$ph200250) + 2)|0; + $42 = ($41>>>0)<($7>>>0); + if ($42) { + $$0183$ph262 = $40;$$0185$ph261 = $$0183$ph200250;$129 = $41; + } else { + $$0175$ph$ph$lcssa220 = 1;$$0185$ph$lcssa = $$0183$ph200250; + break; + } + } + if ($6) { + $$1184$ph241 = 0;$$1186$ph240 = -1;$130 = 1; + while(1) { + $$1176$ph$ph235 = 1;$$1184$ph196$ph234 = $$1184$ph241;$134 = $130; + while(1) { + $$1184$ph196229 = $$1184$ph196$ph234;$133 = $134; + L26: while(1) { + $$1180224 = 1;$52 = $133; + while(1) { + $48 = (($$1180224) + ($$1186$ph240))|0; + $49 = (($1) + ($48)|0); + $50 = HEAP8[$49>>0]|0; + $51 = (($1) + ($52)|0); + $53 = HEAP8[$51>>0]|0; + $54 = ($50<<24>>24)==($53<<24>>24); + if (!($54)) { + break L26; + } + $55 = ($$1180224|0)==($$1176$ph$ph235|0); + $46 = (($$1180224) + 1)|0; + if ($55) { + break; + } + $45 = (($46) + ($$1184$ph196229))|0; + $47 = ($45>>>0)<($7>>>0); + if ($47) { + $$1180224 = $46;$52 = $45; + } else { + $$0175$ph$ph$lcssa220323 = $$0175$ph$ph$lcssa220;$$0185$ph$lcssa322 = $$0185$ph$lcssa;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = $$1176$ph$ph235;$$1186$ph$lcssa = $$1186$ph240; + label = 27; + break L1; + } + } + $56 = (($$1176$ph$ph235) + ($$1184$ph196229))|0; + $57 = (($56) + 1)|0; + $58 = ($57>>>0)<($7>>>0); + if ($58) { + $$1184$ph196229 = $56;$133 = $57; + } else { + $$0175$ph$ph$lcssa220323 = $$0175$ph$ph$lcssa220;$$0185$ph$lcssa322 = $$0185$ph$lcssa;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = $$1176$ph$ph235;$$1186$ph$lcssa = $$1186$ph240; + label = 27; + break L1; + } + } + $59 = ($50&255)<($53&255); + $60 = (($52) - ($$1186$ph240))|0; + if (!($59)) { + break; + } + $64 = (($52) + 1)|0; + $65 = ($64>>>0)<($7>>>0); + if ($65) { + $$1176$ph$ph235 = $60;$$1184$ph196$ph234 = $52;$134 = $64; + } else { + $$0175$ph$ph$lcssa220323 = $$0175$ph$ph$lcssa220;$$0185$ph$lcssa322 = $$0185$ph$lcssa;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = $60;$$1186$ph$lcssa = $$1186$ph240; + label = 27; + break L1; + } + } + $61 = (($$1184$ph196229) + 1)|0; + $62 = (($$1184$ph196229) + 2)|0; + $63 = ($62>>>0)<($7>>>0); + if ($63) { + $$1184$ph241 = $61;$$1186$ph240 = $$1184$ph196229;$130 = $62; + } else { + $$0175$ph$ph$lcssa220323 = $$0175$ph$ph$lcssa220;$$0185$ph$lcssa322 = $$0185$ph$lcssa;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = 1;$$1186$ph$lcssa = $$1184$ph196229; + label = 27; + break; + } + } + } else { + $$0175$ph$ph$lcssa220323 = $$0175$ph$ph$lcssa220;$$0185$ph$lcssa322 = $$0185$ph$lcssa;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = 1;$$1186$ph$lcssa = -1; + label = 27; + } + } else { + $$0175$ph$ph$lcssa220323 = 1;$$0185$ph$lcssa322 = -1;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = 1;$$1186$ph$lcssa = -1; + label = 27; + } + } + } while(0); + L36: do { + if ((label|0) == 27) { + $66 = (($$1186$ph$lcssa) + 1)|0; + $67 = (($$0185$ph$lcssa322) + 1)|0; + $68 = ($66>>>0)>($67>>>0); + $$1176$$0175 = $68 ? $$1176$ph$ph$lcssa211 : $$0175$ph$ph$lcssa220323; + $$1186$$0185 = $68 ? $$1186$ph$lcssa : $$0185$ph$lcssa322; + $69 = (($1) + ($$1176$$0175)|0); + $70 = (($$1186$$0185) + 1)|0; + $71 = (_memcmp($1,$69,$70)|0); + $72 = ($71|0)==(0); + if ($72) { + $77 = (($$0187$lcssa320321) - ($$1176$$0175))|0; + $$0168 = $77;$$3178 = $$1176$$0175; + } else { + $73 = (($$0187$lcssa320321) - ($$1186$$0185))|0; + $74 = (($73) + -1)|0; + $75 = ($$1186$$0185>>>0)>($74>>>0); + $$1186$$0185$ = $75 ? $$1186$$0185 : $74; + $76 = (($$1186$$0185$) + 1)|0; + $$0168 = 0;$$3178 = $76; + } + $78 = $$0187$lcssa320321 | 63; + $79 = (($$0187$lcssa320321) + -1)|0; + $80 = ($$0168|0)!=(0); + $81 = (($$0187$lcssa320321) - ($$3178))|0; + $$0166 = $0;$$0169 = 0;$$0170 = $0; + while(1) { + $82 = $$0170; + $83 = $$0166; + $84 = (($82) - ($83))|0; + $85 = ($84>>>0)<($$0187$lcssa320321>>>0); + do { + if ($85) { + $86 = (_memchr($$0170,0,$78)|0); + $87 = ($86|0)==(0|0); + if ($87) { + $91 = (($$0170) + ($78)|0); + $$3173 = $91; + break; + } else { + $88 = $86; + $89 = (($88) - ($83))|0; + $90 = ($89>>>0)<($$0187$lcssa320321>>>0); + if ($90) { + $$3 = 0; + break L36; + } else { + $$3173 = $86; + break; + } + } + } else { + $$3173 = $$0170; + } + } while(0); + $92 = (($$0166) + ($79)|0); + $93 = HEAP8[$92>>0]|0; + $div = ($93&255) >>> 5; + $94 = $div&255; + $95 = (($2) + ($94<<2)|0); + $96 = HEAP32[$95>>2]|0; + $97 = $93 & 31; + $98 = $97&255; + $99 = 1 << $98; + $100 = $99 & $96; + $101 = ($100|0)==(0); + L50: do { + if ($101) { + $$0169$be = 0;$$2181$sink = $$0187$lcssa320321; + } else { + $102 = $93&255; + $103 = (($3) + ($102<<2)|0); + $104 = HEAP32[$103>>2]|0; + $105 = (($$0187$lcssa320321) - ($104))|0; + $106 = ($105|0)==(0); + if (!($106)) { + $107 = ($$0169|0)!=(0); + $or$cond = $80 & $107; + $108 = ($105>>>0)<($$3178>>>0); + $or$cond190 = $or$cond & $108; + $$2181 = $or$cond190 ? $81 : $105; + $$0169$be = 0;$$2181$sink = $$2181; + break; + } + $110 = ($70>>>0)>($$0169>>>0); + $111 = $110 ? $70 : $$0169; + $112 = (($1) + ($111)|0); + $113 = HEAP8[$112>>0]|0; + $cond191222 = ($113<<24>>24)==(0); + L55: do { + if ($cond191222) { + $$4 = $70; + } else { + $$3182223 = $111;$117 = $113; + while(1) { + $114 = (($$0166) + ($$3182223)|0); + $115 = HEAP8[$114>>0]|0; + $116 = ($117<<24>>24)==($115<<24>>24); + if (!($116)) { + break; + } + $118 = (($$3182223) + 1)|0; + $119 = (($1) + ($118)|0); + $120 = HEAP8[$119>>0]|0; + $cond191 = ($120<<24>>24)==(0); + if ($cond191) { + $$4 = $70; + break L55; + } else { + $$3182223 = $118;$117 = $120; + } + } + $121 = (($$3182223) - ($$1186$$0185))|0; + $$0169$be = 0;$$2181$sink = $121; + break L50; + } + } while(0); + while(1) { + $122 = ($$4>>>0)>($$0169>>>0); + if (!($122)) { + $$3 = $$0166; + break L36; + } + $123 = (($$4) + -1)|0; + $124 = (($1) + ($123)|0); + $125 = HEAP8[$124>>0]|0; + $126 = (($$0166) + ($123)|0); + $127 = HEAP8[$126>>0]|0; + $128 = ($125<<24>>24)==($127<<24>>24); + if ($128) { + $$4 = $123; + } else { + $$0169$be = $$0168;$$2181$sink = $$3178; + break; + } + } + } + } while(0); + $109 = (($$0166) + ($$2181$sink)|0); + $$0166 = $109;$$0169 = $$0169$be;$$0170 = $$3173; + } + } + } while(0); + STACKTOP = sp;return ($$3|0); +} +function _strrchr($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = (_strlen($0)|0); + $3 = (($2) + 1)|0; + $4 = (___memrchr($0,$1,$3)|0); + return ($4|0); +} +function ___memrchr($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$0 = 0, $$09 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = $1&255; + $$09 = $2; + while(1) { + $4 = (($$09) + -1)|0; + $5 = ($$09|0)==(0); + if ($5) { + $$0 = 0; + break; + } + $6 = (($0) + ($4)|0); + $7 = HEAP8[$6>>0]|0; + $8 = ($7<<24>>24)==($3<<24>>24); + if ($8) { + $$0 = $6; + break; + } else { + $$09 = $4; + } + } + return ($$0|0); +} +function _strncpy($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var label = 0, sp = 0; + sp = STACKTOP; + (___stpncpy($0,$1,$2)|0); + return ($0|0); +} +function ___stpncpy($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$0$lcssa = 0, $$037$lcssa = 0, $$03753 = 0, $$038$lcssa = 0, $$038$lcssa79 = 0, $$03866 = 0, $$039$lcssa = 0, $$039$lcssa78 = 0, $$03965 = 0, $$041$lcssa = 0, $$041$lcssa77 = 0, $$04164 = 0, $$054 = 0, $$1$lcssa = 0, $$140$ph = 0, $$14046 = 0, $$142$ph = 0, $$14245 = 0, $$152 = 0, $$2$ph = 0; + var $$243 = 0, $$247 = 0, $$3 = 0, $$lcssa = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; + var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, $or$cond = 0, $or$cond63 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = $1; + $4 = $0; + $5 = $3 ^ $4; + $6 = $5 & 3; + $7 = ($6|0)==(0); + do { + if ($7) { + $8 = $3 & 3; + $9 = ($8|0)!=(0); + $10 = ($2|0)!=(0); + $or$cond63 = $10 & $9; + L3: do { + if ($or$cond63) { + $$03866 = $2;$$03965 = $1;$$04164 = $0; + while(1) { + $11 = HEAP8[$$03965>>0]|0; + HEAP8[$$04164>>0] = $11; + $12 = ($11<<24>>24)==(0); + if ($12) { + $$038$lcssa79 = $$03866;$$039$lcssa78 = $$03965;$$041$lcssa77 = $$04164; + break L3; + } + $13 = (($$03866) + -1)|0; + $14 = ((($$03965)) + 1|0); + $15 = ((($$04164)) + 1|0); + $16 = $14; + $17 = $16 & 3; + $18 = ($17|0)!=(0); + $19 = ($13|0)!=(0); + $or$cond = $19 & $18; + if ($or$cond) { + $$03866 = $13;$$03965 = $14;$$04164 = $15; + } else { + $$038$lcssa = $13;$$039$lcssa = $14;$$041$lcssa = $15;$$lcssa = $19; + label = 5; + break; + } + } + } else { + $$038$lcssa = $2;$$039$lcssa = $1;$$041$lcssa = $0;$$lcssa = $10; + label = 5; + } + } while(0); + if ((label|0) == 5) { + if ($$lcssa) { + $$038$lcssa79 = $$038$lcssa;$$039$lcssa78 = $$039$lcssa;$$041$lcssa77 = $$041$lcssa; + } else { + $$243 = $$041$lcssa;$$3 = 0; + break; + } + } + $20 = HEAP8[$$039$lcssa78>>0]|0; + $21 = ($20<<24>>24)==(0); + if ($21) { + $$243 = $$041$lcssa77;$$3 = $$038$lcssa79; + } else { + $22 = ($$038$lcssa79>>>0)>(3); + L11: do { + if ($22) { + $$03753 = $$041$lcssa77;$$054 = $$039$lcssa78;$$152 = $$038$lcssa79; + while(1) { + $23 = HEAP32[$$054>>2]|0; + $24 = (($23) + -16843009)|0; + $25 = $23 & -2139062144; + $26 = $25 ^ -2139062144; + $27 = $26 & $24; + $28 = ($27|0)==(0); + if (!($28)) { + $$0$lcssa = $$054;$$037$lcssa = $$03753;$$1$lcssa = $$152; + break L11; + } + HEAP32[$$03753>>2] = $23; + $29 = (($$152) + -4)|0; + $30 = ((($$054)) + 4|0); + $31 = ((($$03753)) + 4|0); + $32 = ($29>>>0)>(3); + if ($32) { + $$03753 = $31;$$054 = $30;$$152 = $29; + } else { + $$0$lcssa = $30;$$037$lcssa = $31;$$1$lcssa = $29; + break; + } + } + } else { + $$0$lcssa = $$039$lcssa78;$$037$lcssa = $$041$lcssa77;$$1$lcssa = $$038$lcssa79; + } + } while(0); + $$140$ph = $$0$lcssa;$$142$ph = $$037$lcssa;$$2$ph = $$1$lcssa; + label = 11; + } + } else { + $$140$ph = $1;$$142$ph = $0;$$2$ph = $2; + label = 11; + } + } while(0); + L16: do { + if ((label|0) == 11) { + $33 = ($$2$ph|0)==(0); + if ($33) { + $$243 = $$142$ph;$$3 = 0; + } else { + $$14046 = $$140$ph;$$14245 = $$142$ph;$$247 = $$2$ph; + while(1) { + $34 = HEAP8[$$14046>>0]|0; + HEAP8[$$14245>>0] = $34; + $35 = ($34<<24>>24)==(0); + if ($35) { + $$243 = $$14245;$$3 = $$247; + break L16; + } + $36 = (($$247) + -1)|0; + $37 = ((($$14046)) + 1|0); + $38 = ((($$14245)) + 1|0); + $39 = ($36|0)==(0); + if ($39) { + $$243 = $38;$$3 = 0; + break; + } else { + $$14046 = $37;$$14245 = $38;$$247 = $36; + } + } + } + } + } while(0); + _memset(($$243|0),0,($$3|0))|0; + return ($$243|0); +} +function _strspn($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $$01925 = 0, $$020 = 0, $$1$lcssa = 0, $$123 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; + var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; + var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $div = 0, $div21 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $2 = sp; + ;HEAP32[$2>>2]=0|0;HEAP32[$2+4>>2]=0|0;HEAP32[$2+8>>2]=0|0;HEAP32[$2+12>>2]=0|0;HEAP32[$2+16>>2]=0|0;HEAP32[$2+20>>2]=0|0;HEAP32[$2+24>>2]=0|0;HEAP32[$2+28>>2]=0|0; + $3 = HEAP8[$1>>0]|0; + $4 = ($3<<24>>24)==(0); + do { + if ($4) { + $$0 = 0; + } else { + $5 = ((($1)) + 1|0); + $6 = HEAP8[$5>>0]|0; + $7 = ($6<<24>>24)==(0); + if ($7) { + $$020 = $0; + while(1) { + $8 = HEAP8[$$020>>0]|0; + $9 = ($8<<24>>24)==($3<<24>>24); + $10 = ((($$020)) + 1|0); + if ($9) { + $$020 = $10; + } else { + break; + } + } + $11 = $$020; + $12 = $0; + $13 = (($11) - ($12))|0; + $$0 = $13; + break; + } else { + $$01925 = $1;$17 = $3; + } + while(1) { + $16 = $17 & 31; + $18 = $16&255; + $19 = 1 << $18; + $div21 = ($17&255) >>> 5; + $20 = $div21&255; + $21 = (($2) + ($20<<2)|0); + $22 = HEAP32[$21>>2]|0; + $23 = $22 | $19; + HEAP32[$21>>2] = $23; + $24 = ((($$01925)) + 1|0); + $25 = HEAP8[$24>>0]|0; + $26 = ($25<<24>>24)==(0); + if ($26) { + break; + } else { + $$01925 = $24;$17 = $25; + } + } + $14 = HEAP8[$0>>0]|0; + $15 = ($14<<24>>24)==(0); + L10: do { + if ($15) { + $$1$lcssa = $0; + } else { + $$123 = $0;$27 = $14; + while(1) { + $div = ($27&255) >>> 5; + $28 = $div&255; + $29 = (($2) + ($28<<2)|0); + $30 = HEAP32[$29>>2]|0; + $31 = $27 & 31; + $32 = $31&255; + $33 = 1 << $32; + $34 = $30 & $33; + $35 = ($34|0)==(0); + if ($35) { + $$1$lcssa = $$123; + break L10; + } + $36 = ((($$123)) + 1|0); + $37 = HEAP8[$36>>0]|0; + $38 = ($37<<24>>24)==(0); + if ($38) { + $$1$lcssa = $36; + break; + } else { + $$123 = $36;$27 = $37; + } + } + } + } while(0); + $39 = $$1$lcssa; + $40 = $0; + $41 = (($39) - ($40))|0; + $$0 = $41; + } + } while(0); + STACKTOP = sp;return ($$0|0); +} +function _srand($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (($0) + -1)|0; + $2 = 26736; + $3 = $2; + HEAP32[$3>>2] = $1; + $4 = (($2) + 4)|0; + $5 = $4; + HEAP32[$5>>2] = 0; + return; +} +function _fgetc($0) { + $0 = $0|0; + var $$0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0; + var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 76|0); + $2 = HEAP32[$1>>2]|0; + $3 = ($2|0)<(0); + if ($3) { + label = 3; + } else { + $4 = (___lockfile($0)|0); + $5 = ($4|0)==(0); + if ($5) { + label = 3; + } else { + $15 = ((($0)) + 4|0); + $16 = HEAP32[$15>>2]|0; + $17 = ((($0)) + 8|0); + $18 = HEAP32[$17>>2]|0; + $19 = ($16>>>0)<($18>>>0); + if ($19) { + $20 = ((($16)) + 1|0); + HEAP32[$15>>2] = $20; + $21 = HEAP8[$16>>0]|0; + $22 = $21&255; + $24 = $22; + } else { + $23 = (___uflow($0)|0); + $24 = $23; + } + ___unlockfile($0); + $$0 = $24; + } + } + do { + if ((label|0) == 3) { + $6 = ((($0)) + 4|0); + $7 = HEAP32[$6>>2]|0; + $8 = ((($0)) + 8|0); + $9 = HEAP32[$8>>2]|0; + $10 = ($7>>>0)<($9>>>0); + if ($10) { + $11 = ((($7)) + 1|0); + HEAP32[$6>>2] = $11; + $12 = HEAP8[$7>>0]|0; + $13 = $12&255; + $$0 = $13; + break; + } else { + $14 = (___uflow($0)|0); + $$0 = $14; + break; + } + } + } while(0); + return ($$0|0); +} +function ___ftello($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $phitmp = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 76|0); + $2 = HEAP32[$1>>2]|0; + $3 = ($2|0)>(-1); + if ($3) { + $5 = (___lockfile($0)|0); + $phitmp = ($5|0)==(0); + $6 = (___ftello_unlocked($0)|0); + if ($phitmp) { + $7 = $6; + } else { + ___unlockfile($0); + $7 = $6; + } + } else { + $4 = (___ftello_unlocked($0)|0); + $7 = $4; + } + return ($7|0); +} +function ___ftello_unlocked($0) { + $0 = $0|0; + var $$0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $3 = 0; + var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $phitmp = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 40|0); + $2 = HEAP32[$1>>2]|0; + $3 = HEAP32[$0>>2]|0; + $4 = $3 & 128; + $5 = ($4|0)==(0); + if ($5) { + $11 = 1; + } else { + $6 = ((($0)) + 20|0); + $7 = HEAP32[$6>>2]|0; + $8 = ((($0)) + 28|0); + $9 = HEAP32[$8>>2]|0; + $10 = ($7>>>0)>($9>>>0); + $phitmp = $10 ? 2 : 1; + $11 = $phitmp; + } + $12 = (FUNCTION_TABLE_iiii[$2 & 15]($0,0,$11)|0); + $13 = ($12|0)<(0); + if ($13) { + $$0 = $12; + } else { + $14 = ((($0)) + 8|0); + $15 = HEAP32[$14>>2]|0; + $16 = ((($0)) + 4|0); + $17 = HEAP32[$16>>2]|0; + $18 = ((($0)) + 20|0); + $19 = HEAP32[$18>>2]|0; + $20 = ((($0)) + 28|0); + $21 = HEAP32[$20>>2]|0; + $22 = (($12) - ($15))|0; + $23 = (($22) + ($17))|0; + $24 = (($23) + ($19))|0; + $25 = (($24) - ($21))|0; + $$0 = $25; + } + return ($$0|0); +} +function _fread($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$ = 0, $$0 = 0, $$054$ph = 0, $$05460 = 0, $$056$ph = 0, $$05659 = 0, $$57 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0; + var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; + var $42 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $4 = Math_imul($2, $1)|0; + $5 = ($1|0)==(0); + $$ = $5 ? 0 : $2; + $6 = ((($3)) + 76|0); + $7 = HEAP32[$6>>2]|0; + $8 = ($7|0)>(-1); + if ($8) { + $9 = (___lockfile($3)|0); + $36 = $9; + } else { + $36 = 0; + } + $10 = ((($3)) + 74|0); + $11 = HEAP8[$10>>0]|0; + $12 = $11 << 24 >> 24; + $13 = (($12) + 255)|0; + $14 = $13 | $12; + $15 = $14&255; + HEAP8[$10>>0] = $15; + $16 = ((($3)) + 8|0); + $17 = HEAP32[$16>>2]|0; + $18 = ((($3)) + 4|0); + $19 = HEAP32[$18>>2]|0; + $20 = $19; + $21 = (($17) - ($20))|0; + $22 = ($21|0)>(0); + $23 = ($21>>>0)<($4>>>0); + $$57 = $23 ? $21 : $4; + if ($22) { + $24 = (($4) - ($$57))|0; + $25 = (($0) + ($$57)|0); + _memcpy(($0|0),($19|0),($$57|0))|0; + $26 = (($19) + ($$57)|0); + HEAP32[$18>>2] = $26; + $$054$ph = $24;$$056$ph = $25; + } else { + $$054$ph = $4;$$056$ph = $0; + } + $27 = ($$054$ph|0)==(0); + L7: do { + if ($27) { + label = 13; + } else { + $28 = ((($3)) + 32|0); + $$05460 = $$054$ph;$$05659 = $$056$ph; + while(1) { + $29 = (___toread($3)|0); + $30 = ($29|0)==(0); + if (!($30)) { + break; + } + $31 = HEAP32[$28>>2]|0; + $32 = (FUNCTION_TABLE_iiii[$31 & 15]($3,$$05659,$$05460)|0); + $33 = (($32) + 1)|0; + $34 = ($33>>>0)<(2); + if ($34) { + break; + } + $39 = (($$05460) - ($32))|0; + $40 = (($$05659) + ($32)|0); + $41 = ($39|0)==(0); + if ($41) { + label = 13; + break L7; + } else { + $$05460 = $39;$$05659 = $40; + } + } + $35 = ($36|0)==(0); + if (!($35)) { + ___unlockfile($3); + } + $37 = (($4) - ($$05460))|0; + $38 = (($37>>>0) / ($1>>>0))&-1; + $$0 = $38; + } + } while(0); + if ((label|0) == 13) { + $42 = ($36|0)==(0); + if ($42) { + $$0 = $$; + } else { + ___unlockfile($3); + $$0 = $$; + } + } + return ($$0|0); +} +function _ftell($0) { + $0 = $0|0; + var $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (___ftello($0)|0); + return ($1|0); +} +function _rewind($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $phitmp = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 76|0); + $2 = HEAP32[$1>>2]|0; + $3 = ($2|0)>(-1); + if ($3) { + $4 = (___lockfile($0)|0); + $phitmp = ($4|0)==(0); + (___fseeko_unlocked($0,0,0)|0); + $5 = HEAP32[$0>>2]|0; + $6 = $5 & -33; + HEAP32[$0>>2] = $6; + if (!($phitmp)) { + ___unlockfile($0); + } + } else { + (___fseeko_unlocked($0,0,0)|0); + $7 = HEAP32[$0>>2]|0; + $8 = $7 & -33; + HEAP32[$0>>2] = $8; + } + return; +} +function _vprintf($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = HEAP32[1354]|0; + $3 = (_vfprintf($2,$0,$1)|0); + return ($3|0); +} +function _strcspn($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$01824 = 0, $$019$sink = 0, $$01922 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; + var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $div = 0; + var $div20 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $2 = sp; + $3 = HEAP8[$1>>0]|0; + $4 = ($3<<24>>24)==(0); + L1: do { + if ($4) { + label = 3; + } else { + $5 = ((($1)) + 1|0); + $6 = HEAP8[$5>>0]|0; + $7 = ($6<<24>>24)==(0); + if ($7) { + label = 3; + } else { + ;HEAP32[$2>>2]=0|0;HEAP32[$2+4>>2]=0|0;HEAP32[$2+8>>2]=0|0;HEAP32[$2+12>>2]=0|0;HEAP32[$2+16>>2]=0|0;HEAP32[$2+20>>2]=0|0;HEAP32[$2+24>>2]=0|0;HEAP32[$2+28>>2]=0|0; + $$01824 = $1;$13 = $3; + while(1) { + $12 = $13 & 31; + $14 = $12&255; + $15 = 1 << $14; + $div20 = ($13&255) >>> 5; + $16 = $div20&255; + $17 = (($2) + ($16<<2)|0); + $18 = HEAP32[$17>>2]|0; + $19 = $18 | $15; + HEAP32[$17>>2] = $19; + $20 = ((($$01824)) + 1|0); + $21 = HEAP8[$20>>0]|0; + $22 = ($21<<24>>24)==(0); + if ($22) { + break; + } else { + $$01824 = $20;$13 = $21; + } + } + $10 = HEAP8[$0>>0]|0; + $11 = ($10<<24>>24)==(0); + if ($11) { + $$019$sink = $0; + } else { + $$01922 = $0;$23 = $10; while(1) { $div = ($23&255) >>> 5; $24 = $div&255; - $25 = (($byteset) + ($24<<2)|0); + $25 = (($2) + ($24<<2)|0); $26 = HEAP32[$25>>2]|0; $27 = $23 & 31; $28 = $27&255; @@ -55603,2939 +70354,237 @@ function _strcspn($s,$c) { $30 = $26 & $29; $31 = ($30|0)==(0); if (!($31)) { - $$03$lcssa = $$035; - break L7; + $$019$sink = $$01922; + break L1; } - $32 = ((($$035)) + 1|0); + $32 = ((($$01922)) + 1|0); $33 = HEAP8[$32>>0]|0; $34 = ($33<<24>>24)==(0); if ($34) { - $$03$lcssa = $32; + $$019$sink = $32; break; } else { - $$035 = $32;$23 = $33; + $$01922 = $32;$23 = $33; } } } - } while(0); - $35 = $$03$lcssa; - $36 = $s; - $37 = (($35) - ($36))|0; - $$0 = $37; - STACKTOP = sp;return ($$0|0); - } - } - $5 = $0 << 24 >> 24; - $6 = (___strchrnul($s,$5)|0); - $7 = $6; - $8 = $s; - $9 = (($7) - ($8))|0; - $$0 = $9; - STACKTOP = sp;return ($$0|0); -} -function _strrchr($s,$c) { - $s = $s|0; - $c = $c|0; - var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_strlen(($s|0))|0); - $1 = (($0) + 1)|0; - $2 = (___memrchr($s,$c,$1)|0); - return ($2|0); -} -function _strspn($s,$c) { - $s = $s|0; - $c = $c|0; - var $$0 = 0, $$028 = 0, $$03 = 0, $$03$lcssa = 0, $$1$lcssa = 0, $$16 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0; - var $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $4 = 0; - var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $byteset = 0, $div = 0, $div4 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $byteset = sp; - ;HEAP32[$byteset>>2]=0|0;HEAP32[$byteset+4>>2]=0|0;HEAP32[$byteset+8>>2]=0|0;HEAP32[$byteset+12>>2]=0|0;HEAP32[$byteset+16>>2]=0|0;HEAP32[$byteset+20>>2]=0|0;HEAP32[$byteset+24>>2]=0|0;HEAP32[$byteset+28>>2]=0|0; - $0 = HEAP8[$c>>0]|0; - $1 = ($0<<24>>24)==(0); - if ($1) { - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $2 = ((($c)) + 1|0); - $3 = HEAP8[$2>>0]|0; - $4 = ($3<<24>>24)==(0); - if ($4) { - $$03 = $s; - while(1) { - $5 = HEAP8[$$03>>0]|0; - $6 = ($5<<24>>24)==($0<<24>>24); - $7 = ((($$03)) + 1|0); - if ($6) { - $$03 = $7; - } else { - $$03$lcssa = $$03; - break; - } - } - $8 = $$03$lcssa; - $9 = $s; - $10 = (($8) - ($9))|0; - $$0 = $10; - STACKTOP = sp;return ($$0|0); - } else { - $$028 = $c;$14 = $0; - } - while(1) { - $13 = $14 & 31; - $15 = $13&255; - $16 = 1 << $15; - $div4 = ($14&255) >>> 5; - $17 = $div4&255; - $18 = (($byteset) + ($17<<2)|0); - $19 = HEAP32[$18>>2]|0; - $20 = $19 | $16; - HEAP32[$18>>2] = $20; - $21 = ((($$028)) + 1|0); - $22 = HEAP8[$21>>0]|0; - $23 = ($22<<24>>24)==(0); - if ($23) { - break; - } else { - $$028 = $21;$14 = $22; - } - } - $11 = HEAP8[$s>>0]|0; - $12 = ($11<<24>>24)==(0); - L12: do { - if ($12) { - $$1$lcssa = $s; - } else { - $$16 = $s;$24 = $11; - while(1) { - $div = ($24&255) >>> 5; - $25 = $div&255; - $26 = (($byteset) + ($25<<2)|0); - $27 = HEAP32[$26>>2]|0; - $28 = $24 & 31; - $29 = $28&255; - $30 = 1 << $29; - $31 = $27 & $30; - $32 = ($31|0)==(0); - if ($32) { - $$1$lcssa = $$16; - break L12; - } - $33 = ((($$16)) + 1|0); - $34 = HEAP8[$33>>0]|0; - $35 = ($34<<24>>24)==(0); - if ($35) { - $$1$lcssa = $33; - break; - } else { - $$16 = $33;$24 = $34; - } } } } while(0); - $36 = $$1$lcssa; - $37 = $s; - $38 = (($36) - ($37))|0; - $$0 = $38; - STACKTOP = sp;return ($$0|0); + if ((label|0) == 3) { + $8 = $3 << 24 >> 24; + $9 = (___strchrnul($0,$8)|0); + $$019$sink = $9; + } + $35 = $$019$sink; + $36 = $0; + $37 = (($35) - ($36))|0; + STACKTOP = sp;return ($37|0); } -function _strstr($h,$n) { - $h = $h|0; - $n = $n|0; - var $$0 = 0, $$0$i = 0, $$0$lcssa$i = 0, $$0$lcssa$i13 = 0, $$01$i = 0, $$02$i = 0, $$02$i9 = 0, $$03$i = 0, $$03$us$i = 0, $$lcssa$i = 0, $$lcssa$i12 = 0, $$lcssa$i6 = 0, $$lcssa303 = 0, $$lcssa306 = 0, $$lcssa309 = 0, $$lcssa323 = 0, $$lcssa326 = 0, $$lcssa329 = 0, $$lcssa344 = 0, $$pr$i = 0; - var $$pr$us$i = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0; - var $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0; - var $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0; - var $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0; - var $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0; - var $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0; - var $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0; - var $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0; - var $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0; - var $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0; - var $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $281$phi = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0; - var $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0; - var $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0; - var $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0; - var $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $byteset$i = 0, $div$i = 0, $div$us$i = 0, $div4$i = 0, $hw$0$in2$i = 0, $hw$03$i = 0, $hw$03$i8 = 0, $ip$0$ph$lcssa$i = 0, $ip$0$ph$lcssa147$i = 0, $ip$0$ph76$i = 0; - var $ip$1$ip$0$$i = 0, $ip$1$ip$0$i = 0, $ip$1$ph$lcssa$i = 0, $ip$1$ph55$i = 0, $jp$0$ph13$ph70$i = 0, $jp$0$ph1365$i = 0, $jp$0$ph1365$i$lcssa = 0, $jp$0$ph1365$i$lcssa$lcssa = 0, $jp$0$ph77$i = 0, $jp$1$ph56$i = 0, $jp$1$ph9$ph49$i = 0, $jp$1$ph944$i = 0, $jp$1$ph944$i$lcssa = 0, $jp$1$ph944$i$lcssa$lcssa = 0, $k$059$i = 0, $k$139$i = 0, $k$2$us$i = 0, $k$338$i = 0, $k$338$i$lcssa = 0, $k$338$us$i = 0; - var $k$338$us$i$lcssa = 0, $k$4$i = 0, $k$4$us$i = 0, $l$080$i = 0, $l$080$i$lcssa343 = 0, $mem$0$us$i = 0, $or$cond$i = 0, $or$cond$i10 = 0, $or$cond5$us$i = 0, $p$0$ph$ph$lcssa32$i = 0, $p$0$ph$ph$lcssa32151$i = 0, $p$0$ph$ph71$i = 0, $p$1$p$0$i = 0, $p$1$ph$ph$lcssa23$i = 0, $p$1$ph$ph50$i = 0, $p$3155$i = 0, $shift$i = 0, $z$0$i = 0, $z$0$us$i = 0, $z$1$i = 0; - var $z$1$us$i = 0, label = 0, sp = 0; +function _strcat($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 1056|0; - $byteset$i = sp + 1024|0; - $shift$i = sp; - $0 = HEAP8[$n>>0]|0; - $1 = ($0<<24>>24)==(0); - if ($1) { - $$0 = $h; - STACKTOP = sp;return ($$0|0); - } - $2 = $0 << 24 >> 24; - $3 = (_strchr($h,$2)|0); - $4 = ($3|0)==(0|0); - if ($4) { - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $5 = ((($n)) + 1|0); - $6 = HEAP8[$5>>0]|0; - $7 = ($6<<24>>24)==(0); - if ($7) { - $$0 = $3; - STACKTOP = sp;return ($$0|0); - } - $8 = ((($3)) + 1|0); - $9 = HEAP8[$8>>0]|0; - $10 = ($9<<24>>24)==(0); - if ($10) { - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $11 = ((($n)) + 2|0); - $12 = HEAP8[$11>>0]|0; - $13 = ($12<<24>>24)==(0); - if ($13) { - $14 = $0&255; - $15 = $14 << 8; - $16 = $6&255; - $17 = $16 | $15; - $18 = HEAP8[$3>>0]|0; - $19 = $18&255; - $20 = $19 << 8; - $21 = $9&255; - $22 = $20 | $21; - $$01$i = $8;$280 = $9;$281 = $3;$hw$0$in2$i = $22; - while(1) { - $23 = $hw$0$in2$i & 65535; - $24 = ($23|0)==($17|0); - if ($24) { - $$lcssa$i = $281;$31 = $280; - break; - } - $25 = $23 << 8; - $26 = ((($$01$i)) + 1|0); - $27 = HEAP8[$26>>0]|0; - $28 = $27&255; - $29 = $28 | $25; - $30 = ($27<<24>>24)==(0); - if ($30) { - $$lcssa$i = $$01$i;$31 = 0; - break; - } else { - $281$phi = $$01$i;$$01$i = $26;$280 = $27;$hw$0$in2$i = $29;$281 = $281$phi; - } - } - $32 = ($31<<24>>24)!=(0); - $33 = $32 ? $$lcssa$i : 0; - $$0 = $33; - STACKTOP = sp;return ($$0|0); - } - $34 = ((($3)) + 2|0); - $35 = HEAP8[$34>>0]|0; - $36 = ($35<<24>>24)==(0); - if ($36) { - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $37 = ((($n)) + 3|0); - $38 = HEAP8[$37>>0]|0; - $39 = ($38<<24>>24)==(0); - if ($39) { - $40 = $0&255; - $41 = $40 << 24; - $42 = $6&255; - $43 = $42 << 16; - $44 = $43 | $41; - $45 = $12&255; - $46 = $45 << 8; - $47 = $44 | $46; - $48 = HEAP8[$3>>0]|0; - $49 = $48&255; - $50 = $49 << 24; - $51 = $9&255; - $52 = $51 << 16; - $53 = $35&255; - $54 = $53 << 8; - $55 = $54 | $52; - $56 = $55 | $50; - $57 = ($56|0)==($47|0); - if ($57) { - $$0$lcssa$i = $34;$$lcssa$i6 = $35; - } else { - $$02$i = $34;$hw$03$i = $56; - while(1) { - $58 = ((($$02$i)) + 1|0); - $59 = HEAP8[$58>>0]|0; - $60 = $59&255; - $61 = $60 | $hw$03$i; - $62 = $61 << 8; - $63 = ($59<<24>>24)==(0); - $64 = ($62|0)==($47|0); - $or$cond$i = $63 | $64; - if ($or$cond$i) { - $$0$lcssa$i = $58;$$lcssa$i6 = $59; - break; - } else { - $$02$i = $58;$hw$03$i = $62; - } - } - } - $65 = ($$lcssa$i6<<24>>24)!=(0); - $66 = ((($$0$lcssa$i)) + -2|0); - $67 = $65 ? $66 : 0; - $$0 = $67; - STACKTOP = sp;return ($$0|0); - } - $68 = ((($3)) + 3|0); - $69 = HEAP8[$68>>0]|0; - $70 = ($69<<24>>24)==(0); - if ($70) { - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $71 = ((($n)) + 4|0); - $72 = HEAP8[$71>>0]|0; - $73 = ($72<<24>>24)==(0); - if ($73) { - $74 = $0&255; - $75 = $74 << 24; - $76 = $6&255; - $77 = $76 << 16; - $78 = $77 | $75; - $79 = $12&255; - $80 = $79 << 8; - $81 = $78 | $80; - $82 = $38&255; - $83 = $81 | $82; - $84 = HEAP8[$3>>0]|0; - $85 = $84&255; - $86 = $85 << 24; - $87 = $9&255; - $88 = $87 << 16; - $89 = $35&255; - $90 = $89 << 8; - $91 = $69&255; - $92 = $90 | $88; - $93 = $92 | $91; - $94 = $93 | $86; - $95 = ($94|0)==($83|0); - if ($95) { - $$0$lcssa$i13 = $68;$$lcssa$i12 = $69; - } else { - $$02$i9 = $68;$hw$03$i8 = $94; - while(1) { - $96 = $hw$03$i8 << 8; - $97 = ((($$02$i9)) + 1|0); - $98 = HEAP8[$97>>0]|0; - $99 = $98&255; - $100 = $99 | $96; - $101 = ($98<<24>>24)==(0); - $102 = ($100|0)==($83|0); - $or$cond$i10 = $101 | $102; - if ($or$cond$i10) { - $$0$lcssa$i13 = $97;$$lcssa$i12 = $98; - break; - } else { - $$02$i9 = $97;$hw$03$i8 = $100; - } - } - } - $103 = ($$lcssa$i12<<24>>24)!=(0); - $104 = ((($$0$lcssa$i13)) + -3|0); - $105 = $103 ? $104 : 0; - $$0 = $105; - STACKTOP = sp;return ($$0|0); - } - ;HEAP32[$byteset$i>>2]=0|0;HEAP32[$byteset$i+4>>2]=0|0;HEAP32[$byteset$i+8>>2]=0|0;HEAP32[$byteset$i+12>>2]=0|0;HEAP32[$byteset$i+16>>2]=0|0;HEAP32[$byteset$i+20>>2]=0|0;HEAP32[$byteset$i+24>>2]=0|0;HEAP32[$byteset$i+28>>2]=0|0; - $110 = $0;$l$080$i = 0; - while(1) { - $106 = (($3) + ($l$080$i)|0); - $107 = HEAP8[$106>>0]|0; - $108 = ($107<<24>>24)==(0); - if ($108) { - $$0$i = 0; - break; - } - $109 = $110 & 31; - $111 = $109&255; - $112 = 1 << $111; - $div4$i = ($110&255) >>> 5; - $113 = $div4$i&255; - $114 = (($byteset$i) + ($113<<2)|0); - $115 = HEAP32[$114>>2]|0; - $116 = $115 | $112; - HEAP32[$114>>2] = $116; - $117 = (($l$080$i) + 1)|0; - $118 = $110&255; - $119 = (($shift$i) + ($118<<2)|0); - HEAP32[$119>>2] = $117; - $120 = (($n) + ($117)|0); - $121 = HEAP8[$120>>0]|0; - $122 = ($121<<24>>24)==(0); - if ($122) { - $$lcssa344 = $117;$l$080$i$lcssa343 = $l$080$i; - label = 23; - break; - } else { - $110 = $121;$l$080$i = $117; - } - } - L46: do { - if ((label|0) == 23) { - $123 = ($$lcssa344>>>0)>(1); - L48: do { - if ($123) { - $282 = 1;$ip$0$ph76$i = -1;$jp$0$ph77$i = 0; - L49: while(1) { - $283 = $282;$jp$0$ph13$ph70$i = $jp$0$ph77$i;$p$0$ph$ph71$i = 1; - while(1) { - $284 = $283;$jp$0$ph1365$i = $jp$0$ph13$ph70$i; - L53: while(1) { - $133 = $284;$k$059$i = 1; - while(1) { - $129 = (($k$059$i) + ($ip$0$ph76$i))|0; - $130 = (($n) + ($129)|0); - $131 = HEAP8[$130>>0]|0; - $132 = (($n) + ($133)|0); - $134 = HEAP8[$132>>0]|0; - $135 = ($131<<24>>24)==($134<<24>>24); - if (!($135)) { - $$lcssa323 = $133;$$lcssa326 = $131;$$lcssa329 = $134;$jp$0$ph1365$i$lcssa = $jp$0$ph1365$i; - break L53; - } - $136 = ($k$059$i|0)==($p$0$ph$ph71$i|0); - $127 = (($k$059$i) + 1)|0; - if ($136) { - break; - } - $126 = (($127) + ($jp$0$ph1365$i))|0; - $128 = ($126>>>0)<($$lcssa344>>>0); - if ($128) { - $133 = $126;$k$059$i = $127; - } else { - $ip$0$ph$lcssa$i = $ip$0$ph76$i;$p$0$ph$ph$lcssa32$i = $p$0$ph$ph71$i; - break L49; - } - } - $137 = (($jp$0$ph1365$i) + ($p$0$ph$ph71$i))|0; - $138 = (($137) + 1)|0; - $139 = ($138>>>0)<($$lcssa344>>>0); - if ($139) { - $284 = $138;$jp$0$ph1365$i = $137; - } else { - $ip$0$ph$lcssa$i = $ip$0$ph76$i;$p$0$ph$ph$lcssa32$i = $p$0$ph$ph71$i; - break L49; - } - } - $140 = ($$lcssa326&255)>($$lcssa329&255); - $141 = (($$lcssa323) - ($ip$0$ph76$i))|0; - if (!($140)) { - $jp$0$ph1365$i$lcssa$lcssa = $jp$0$ph1365$i$lcssa; - break; - } - $124 = (($$lcssa323) + 1)|0; - $125 = ($124>>>0)<($$lcssa344>>>0); - if ($125) { - $283 = $124;$jp$0$ph13$ph70$i = $$lcssa323;$p$0$ph$ph71$i = $141; - } else { - $ip$0$ph$lcssa$i = $ip$0$ph76$i;$p$0$ph$ph$lcssa32$i = $141; - break L49; - } - } - $142 = (($jp$0$ph1365$i$lcssa$lcssa) + 1)|0; - $143 = (($jp$0$ph1365$i$lcssa$lcssa) + 2)|0; - $144 = ($143>>>0)<($$lcssa344>>>0); - if ($144) { - $282 = $143;$ip$0$ph76$i = $jp$0$ph1365$i$lcssa$lcssa;$jp$0$ph77$i = $142; - } else { - $ip$0$ph$lcssa$i = $jp$0$ph1365$i$lcssa$lcssa;$p$0$ph$ph$lcssa32$i = 1; - break; - } - } - $285 = 1;$ip$1$ph55$i = -1;$jp$1$ph56$i = 0; - while(1) { - $287 = $285;$jp$1$ph9$ph49$i = $jp$1$ph56$i;$p$1$ph$ph50$i = 1; - while(1) { - $286 = $287;$jp$1$ph944$i = $jp$1$ph9$ph49$i; - L68: while(1) { - $152 = $286;$k$139$i = 1; - while(1) { - $148 = (($k$139$i) + ($ip$1$ph55$i))|0; - $149 = (($n) + ($148)|0); - $150 = HEAP8[$149>>0]|0; - $151 = (($n) + ($152)|0); - $153 = HEAP8[$151>>0]|0; - $154 = ($150<<24>>24)==($153<<24>>24); - if (!($154)) { - $$lcssa303 = $152;$$lcssa306 = $150;$$lcssa309 = $153;$jp$1$ph944$i$lcssa = $jp$1$ph944$i; - break L68; - } - $155 = ($k$139$i|0)==($p$1$ph$ph50$i|0); - $146 = (($k$139$i) + 1)|0; - if ($155) { - break; - } - $145 = (($146) + ($jp$1$ph944$i))|0; - $147 = ($145>>>0)<($$lcssa344>>>0); - if ($147) { - $152 = $145;$k$139$i = $146; - } else { - $ip$0$ph$lcssa147$i = $ip$0$ph$lcssa$i;$ip$1$ph$lcssa$i = $ip$1$ph55$i;$p$0$ph$ph$lcssa32151$i = $p$0$ph$ph$lcssa32$i;$p$1$ph$ph$lcssa23$i = $p$1$ph$ph50$i; - break L48; - } - } - $156 = (($jp$1$ph944$i) + ($p$1$ph$ph50$i))|0; - $157 = (($156) + 1)|0; - $158 = ($157>>>0)<($$lcssa344>>>0); - if ($158) { - $286 = $157;$jp$1$ph944$i = $156; - } else { - $ip$0$ph$lcssa147$i = $ip$0$ph$lcssa$i;$ip$1$ph$lcssa$i = $ip$1$ph55$i;$p$0$ph$ph$lcssa32151$i = $p$0$ph$ph$lcssa32$i;$p$1$ph$ph$lcssa23$i = $p$1$ph$ph50$i; - break L48; - } - } - $159 = ($$lcssa306&255)<($$lcssa309&255); - $160 = (($$lcssa303) - ($ip$1$ph55$i))|0; - if (!($159)) { - $jp$1$ph944$i$lcssa$lcssa = $jp$1$ph944$i$lcssa; - break; - } - $164 = (($$lcssa303) + 1)|0; - $165 = ($164>>>0)<($$lcssa344>>>0); - if ($165) { - $287 = $164;$jp$1$ph9$ph49$i = $$lcssa303;$p$1$ph$ph50$i = $160; - } else { - $ip$0$ph$lcssa147$i = $ip$0$ph$lcssa$i;$ip$1$ph$lcssa$i = $ip$1$ph55$i;$p$0$ph$ph$lcssa32151$i = $p$0$ph$ph$lcssa32$i;$p$1$ph$ph$lcssa23$i = $160; - break L48; - } - } - $161 = (($jp$1$ph944$i$lcssa$lcssa) + 1)|0; - $162 = (($jp$1$ph944$i$lcssa$lcssa) + 2)|0; - $163 = ($162>>>0)<($$lcssa344>>>0); - if ($163) { - $285 = $162;$ip$1$ph55$i = $jp$1$ph944$i$lcssa$lcssa;$jp$1$ph56$i = $161; - } else { - $ip$0$ph$lcssa147$i = $ip$0$ph$lcssa$i;$ip$1$ph$lcssa$i = $jp$1$ph944$i$lcssa$lcssa;$p$0$ph$ph$lcssa32151$i = $p$0$ph$ph$lcssa32$i;$p$1$ph$ph$lcssa23$i = 1; - break; - } - } - } else { - $ip$0$ph$lcssa147$i = -1;$ip$1$ph$lcssa$i = -1;$p$0$ph$ph$lcssa32151$i = 1;$p$1$ph$ph$lcssa23$i = 1; - } - } while(0); - $166 = (($ip$1$ph$lcssa$i) + 1)|0; - $167 = (($ip$0$ph$lcssa147$i) + 1)|0; - $168 = ($166>>>0)>($167>>>0); - $p$1$p$0$i = $168 ? $p$1$ph$ph$lcssa23$i : $p$0$ph$ph$lcssa32151$i; - $ip$1$ip$0$i = $168 ? $ip$1$ph$lcssa$i : $ip$0$ph$lcssa147$i; - $169 = (($n) + ($p$1$p$0$i)|0); - $170 = (($ip$1$ip$0$i) + 1)|0; - $171 = (_memcmp($n,$169,$170)|0); - $172 = ($171|0)==(0); - if ($172) { - $178 = (($$lcssa344) - ($p$1$p$0$i))|0; - $179 = $$lcssa344 | 63; - $180 = ($$lcssa344|0)==($p$1$p$0$i|0); - if ($180) { - $237 = $179;$p$3155$i = $$lcssa344; - } else { - $$03$us$i = $3;$mem$0$us$i = 0;$z$0$us$i = $3; - L82: while(1) { - $182 = $z$0$us$i; - $183 = $$03$us$i; - $184 = (($182) - ($183))|0; - $185 = ($184>>>0)<($$lcssa344>>>0); - do { - if ($185) { - $186 = (_memchr($z$0$us$i,0,$179)|0); - $187 = ($186|0)==(0|0); - if ($187) { - $191 = (($z$0$us$i) + ($179)|0); - $z$1$us$i = $191; - break; - } else { - $188 = $186; - $189 = (($188) - ($183))|0; - $190 = ($189>>>0)<($$lcssa344>>>0); - if ($190) { - $$0$i = 0; - break L46; - } else { - $z$1$us$i = $186; - break; - } - } - } else { - $z$1$us$i = $z$0$us$i; - } - } while(0); - $192 = (($$03$us$i) + ($l$080$i$lcssa343)|0); - $193 = HEAP8[$192>>0]|0; - $div$us$i = ($193&255) >>> 5; - $194 = $div$us$i&255; - $195 = (($byteset$i) + ($194<<2)|0); - $196 = HEAP32[$195>>2]|0; - $197 = $193 & 31; - $198 = $197&255; - $199 = 1 << $198; - $200 = $199 & $196; - $201 = ($200|0)==(0); - if ($201) { - $232 = (($$03$us$i) + ($$lcssa344)|0); - $$03$us$i = $232;$mem$0$us$i = 0;$z$0$us$i = $z$1$us$i; - continue; - } - $202 = $193&255; - $203 = (($shift$i) + ($202<<2)|0); - $204 = HEAP32[$203>>2]|0; - $205 = (($$lcssa344) - ($204))|0; - $206 = ($$lcssa344|0)==($204|0); - if (!($206)) { - $207 = ($mem$0$us$i|0)!=(0); - $208 = ($205>>>0)<($p$1$p$0$i>>>0); - $or$cond5$us$i = $207 & $208; - $k$2$us$i = $or$cond5$us$i ? $178 : $205; - $209 = (($$03$us$i) + ($k$2$us$i)|0); - $$03$us$i = $209;$mem$0$us$i = 0;$z$0$us$i = $z$1$us$i; - continue; - } - $210 = ($170>>>0)>($mem$0$us$i>>>0); - $211 = $210 ? $170 : $mem$0$us$i; - $212 = (($n) + ($211)|0); - $213 = HEAP8[$212>>0]|0; - $214 = ($213<<24>>24)==(0); - L96: do { - if ($214) { - $k$4$us$i = $170; - } else { - $$pr$us$i = $213;$k$338$us$i = $211; - while(1) { - $215 = (($$03$us$i) + ($k$338$us$i)|0); - $216 = HEAP8[$215>>0]|0; - $217 = ($$pr$us$i<<24>>24)==($216<<24>>24); - if (!($217)) { - $k$338$us$i$lcssa = $k$338$us$i; - break; - } - $220 = (($k$338$us$i) + 1)|0; - $221 = (($n) + ($220)|0); - $222 = HEAP8[$221>>0]|0; - $223 = ($222<<24>>24)==(0); - if ($223) { - $k$4$us$i = $170; - break L96; - } else { - $$pr$us$i = $222;$k$338$us$i = $220; - } - } - $218 = (($k$338$us$i$lcssa) - ($ip$1$ip$0$i))|0; - $219 = (($$03$us$i) + ($218)|0); - $$03$us$i = $219;$mem$0$us$i = 0;$z$0$us$i = $z$1$us$i; - continue L82; - } - } while(0); - while(1) { - $224 = ($k$4$us$i>>>0)>($mem$0$us$i>>>0); - if (!($224)) { - $$0$i = $$03$us$i; - break L46; - } - $225 = (($k$4$us$i) + -1)|0; - $226 = (($n) + ($225)|0); - $227 = HEAP8[$226>>0]|0; - $228 = (($$03$us$i) + ($225)|0); - $229 = HEAP8[$228>>0]|0; - $230 = ($227<<24>>24)==($229<<24>>24); - if ($230) { - $k$4$us$i = $225; - } else { - break; - } - } - $231 = (($$03$us$i) + ($p$1$p$0$i)|0); - $$03$us$i = $231;$mem$0$us$i = $178;$z$0$us$i = $z$1$us$i; - } - } - } else { - $173 = (($$lcssa344) - ($ip$1$ip$0$i))|0; - $174 = (($173) + -1)|0; - $175 = ($ip$1$ip$0$i>>>0)>($174>>>0); - $ip$1$ip$0$$i = $175 ? $ip$1$ip$0$i : $174; - $176 = (($ip$1$ip$0$$i) + 1)|0; - $177 = $$lcssa344 | 63; - $237 = $177;$p$3155$i = $176; - } - $181 = (($n) + ($170)|0); - $$03$i = $3;$z$0$i = $3; - L106: while(1) { - $233 = $z$0$i; - $234 = $$03$i; - $235 = (($233) - ($234))|0; - $236 = ($235>>>0)<($$lcssa344>>>0); - do { - if ($236) { - $238 = (_memchr($z$0$i,0,$237)|0); - $239 = ($238|0)==(0|0); - if ($239) { - $243 = (($z$0$i) + ($237)|0); - $z$1$i = $243; - break; - } else { - $240 = $238; - $241 = (($240) - ($234))|0; - $242 = ($241>>>0)<($$lcssa344>>>0); - if ($242) { - $$0$i = 0; - break L46; - } else { - $z$1$i = $238; - break; - } - } - } else { - $z$1$i = $z$0$i; - } - } while(0); - $244 = (($$03$i) + ($l$080$i$lcssa343)|0); - $245 = HEAP8[$244>>0]|0; - $div$i = ($245&255) >>> 5; - $246 = $div$i&255; - $247 = (($byteset$i) + ($246<<2)|0); - $248 = HEAP32[$247>>2]|0; - $249 = $245 & 31; - $250 = $249&255; - $251 = 1 << $250; - $252 = $251 & $248; - $253 = ($252|0)==(0); - if ($253) { - $260 = (($$03$i) + ($$lcssa344)|0); - $$03$i = $260;$z$0$i = $z$1$i; - continue; - } - $254 = $245&255; - $255 = (($shift$i) + ($254<<2)|0); - $256 = HEAP32[$255>>2]|0; - $257 = ($$lcssa344|0)==($256|0); - if (!($257)) { - $258 = (($$lcssa344) - ($256))|0; - $259 = (($$03$i) + ($258)|0); - $$03$i = $259;$z$0$i = $z$1$i; - continue; - } - $261 = HEAP8[$181>>0]|0; - $262 = ($261<<24>>24)==(0); - L120: do { - if ($262) { - $k$4$i = $170; - } else { - $$pr$i = $261;$k$338$i = $170; - while(1) { - $263 = (($$03$i) + ($k$338$i)|0); - $264 = HEAP8[$263>>0]|0; - $265 = ($$pr$i<<24>>24)==($264<<24>>24); - if (!($265)) { - $k$338$i$lcssa = $k$338$i; - break; - } - $266 = (($k$338$i) + 1)|0; - $267 = (($n) + ($266)|0); - $268 = HEAP8[$267>>0]|0; - $269 = ($268<<24>>24)==(0); - if ($269) { - $k$4$i = $170; - break L120; - } else { - $$pr$i = $268;$k$338$i = $266; - } - } - $270 = (($k$338$i$lcssa) - ($ip$1$ip$0$i))|0; - $271 = (($$03$i) + ($270)|0); - $$03$i = $271;$z$0$i = $z$1$i; - continue L106; - } - } while(0); - while(1) { - $272 = ($k$4$i|0)==(0); - if ($272) { - $$0$i = $$03$i; - break L46; - } - $273 = (($k$4$i) + -1)|0; - $274 = (($n) + ($273)|0); - $275 = HEAP8[$274>>0]|0; - $276 = (($$03$i) + ($273)|0); - $277 = HEAP8[$276>>0]|0; - $278 = ($275<<24>>24)==($277<<24>>24); - if ($278) { - $k$4$i = $273; - } else { - break; - } - } - $279 = (($$03$i) + ($p$3155$i)|0); - $$03$i = $279;$z$0$i = $z$1$i; - } - } - } while(0); - $$0 = $$0$i; - STACKTOP = sp;return ($$0|0); + $2 = (_strlen($0)|0); + $3 = (($0) + ($2)|0); + (_strcpy($3,$1)|0); + return ($0|0); } -function _strtok($s,$sep) { - $s = $s|0; - $sep = $sep|0; - var $$0 = 0, $$01 = 0, $$sum = 0, $$sum2 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; +function _strncat($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$0$lcssa = 0, $$01013 = 0, $$01112 = 0, $$014 = 0, $10 = 0, $11 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = ($s|0)==(0|0); - if ($0) { - $1 = HEAP32[31176>>2]|0; - $2 = ($1|0)==(0|0); - if ($2) { - $$0 = 0; - return ($$0|0); - } else { - $$01 = $1; - } - } else { - $$01 = $s; - } - $3 = (_strspn($$01,$sep)|0); - $4 = (($$01) + ($3)|0); - $5 = HEAP8[$4>>0]|0; - $6 = ($5<<24>>24)==(0); - if ($6) { - HEAP32[31176>>2] = 0; - $$0 = 0; - return ($$0|0); - } - $7 = (_strcspn($4,$sep)|0); - $$sum = (($7) + ($3))|0; - $8 = (($$01) + ($$sum)|0); - HEAP32[31176>>2] = $8; - $9 = HEAP8[$8>>0]|0; - $10 = ($9<<24>>24)==(0); - if ($10) { - HEAP32[31176>>2] = 0; - $$0 = $4; - return ($$0|0); - } else { - $$sum2 = (($$sum) + 1)|0; - $11 = (($$01) + ($$sum2)|0); - HEAP32[31176>>2] = $11; - HEAP8[$8>>0] = 0; - $$0 = $4; - return ($$0|0); - } - return (0)|0; -} -function _trinkle($head,$width,$cmp,$pp$val,$pp$1$val,$pshift,$trusty,$lp) { - $head = $head|0; - $width = $width|0; - $cmp = $cmp|0; - $pp$val = $pp$val|0; - $pp$1$val = $pp$1$val|0; - $pshift = $pshift|0; - $trusty = $trusty|0; - $lp = $lp|0; - var $$0$be$i = 0, $$0$i = 0, $$0$lcssa = 0, $$0$lcssa49 = 0, $$01$be$i = 0, $$01162 = 0, $$01162$phi = 0, $$012$i = 0, $$02$i$i = 0, $$02$i3$i = 0, $$02$lcssa = 0, $$02$lcssa51 = 0, $$02$us$i = 0, $$02$us$i10 = 0, $$02964 = 0, $$03$i = 0, $$03$lcssa = 0, $$03865 = 0, $$lcssa = 0, $$lcssa76 = 0; - var $$pre = 0, $$pre$i = 0, $$pre6$i = 0, $$pre6$i6 = 0, $$sum = 0, $$sum$i = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0; - var $110 = 0, $111 = 0, $112 = 0, $113 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; - var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0; - var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0; - var $ar = 0, $ar$i = 0, $exitcond$i = 0, $exitcond$i9 = 0, $i$0$lcssa = 0, $i$0$lcssa$i = 0, $i$0$lcssa50 = 0, $i$01$us$i = 0, $i$01$us$i8 = 0, $i$01063 = 0, $i$04$i = 0, $nTrailingZeros$03$i$i = 0, $nTrailingZeros$03$i2$i = 0, $nTrailingZeros$03$i2$i$lcssa = 0, $or$cond = 0, $pp$val1666 = 0, $sum = 0, $sum$i = 0, $tmp$i5 = 0, label = 0; - var sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 720|0; - $tmp$i5 = sp + 456|0; - $ar$i = sp; - $ar = sp + 228|0; - HEAP32[$ar>>2] = $head; - $0 = (0 - ($width))|0; - $1 = ($pp$val|0)!=(1); - $2 = ($pp$1$val|0)!=(0); - $3 = $2 | $1; + $3 = (_strlen($0)|0); + $4 = (($0) + ($3)|0); + $5 = ($2|0)==(0); L1: do { - if ($3) { - $4 = (($lp) + ($pshift<<2)|0); - $5 = HEAP32[$4>>2]|0; - $6 = (0 - ($5))|0; - $7 = (($head) + ($6)|0); - $8 = (FUNCTION_TABLE_iii[$cmp & 7]($7,$head)|0); - $9 = ($8|0)<(1); - if ($9) { - $$0$lcssa = $head;$$02$lcssa = $pshift;$$03$lcssa = $trusty;$i$0$lcssa = 1; - label = 18; - } else { - $$01162 = $head;$$02964 = $pshift;$$03865 = $trusty;$16 = $7;$33 = $pp$1$val;$i$01063 = 1;$pp$val1666 = $pp$val; - while(1) { - $10 = ($$03865|0)==(0); - $11 = ($$02964|0)>(1); - $or$cond = $10 & $11; - if ($or$cond) { - $12 = (($$01162) + ($0)|0); - $13 = (($$02964) + -2)|0; - $14 = (($lp) + ($13<<2)|0); - $15 = HEAP32[$14>>2]|0; - $17 = (FUNCTION_TABLE_iii[$cmp & 7]($12,$16)|0); - $18 = ($17|0)>(-1); - if ($18) { - $$0$lcssa49 = $$01162;$$02$lcssa51 = $$02964;$i$0$lcssa50 = $i$01063; - break L1; - } - $sum = (($15) + ($width))|0; - $$sum = (0 - ($sum))|0; - $19 = (($$01162) + ($$sum)|0); - $20 = (FUNCTION_TABLE_iii[$cmp & 7]($19,$16)|0); - $21 = ($20|0)>(-1); - if ($21) { - $$0$lcssa49 = $$01162;$$02$lcssa51 = $$02964;$i$0$lcssa50 = $i$01063; - break L1; - } - } - $22 = (($i$01063) + 1)|0; - $23 = (($ar) + ($i$01063<<2)|0); - HEAP32[$23>>2] = $16; - $24 = (($pp$val1666) + -1)|0; - $25 = ($24|0)==(0); - do { - if ($25) { - $46 = 32; - label = 15; - } else { - $26 = $24 & 1; - $27 = ($26|0)==(0); - if ($27) { - $$02$i$i = $24;$nTrailingZeros$03$i$i = 0; - while(1) { - $28 = (($nTrailingZeros$03$i$i) + 1)|0; - $29 = $$02$i$i >>> 1; - $30 = $29 & 1; - $31 = ($30|0)==(0); - if ($31) { - $$02$i$i = $29;$nTrailingZeros$03$i$i = $28; - } else { - $$lcssa = $28; - break; - } - } - $32 = ($$lcssa|0)==(0); - if ($32) { - label = 10; - } else { - $43 = $$lcssa; - } - } else { - label = 10; - } - if ((label|0) == 10) { - label = 0; - $34 = ($33|0)==(0); - if ($34) { - $46 = 64; - label = 15; - break; - } - $35 = $33 & 1; - $36 = ($35|0)==(0); - if ($36) { - $$02$i3$i = $33;$nTrailingZeros$03$i2$i = 0; - } else { - $$0$i = 0;$48 = $pp$val1666;$51 = $33;$55 = 0; - break; - } - while(1) { - $37 = (($nTrailingZeros$03$i2$i) + 1)|0; - $38 = $$02$i3$i >>> 1; - $39 = $38 & 1; - $40 = ($39|0)==(0); - if ($40) { - $$02$i3$i = $38;$nTrailingZeros$03$i2$i = $37; - } else { - $$lcssa76 = $37;$nTrailingZeros$03$i2$i$lcssa = $nTrailingZeros$03$i2$i; - break; - } - } - $41 = (($nTrailingZeros$03$i2$i$lcssa) + 33)|0; - $42 = ($$lcssa76|0)==(0); - if ($42) { - $$0$i = 0;$48 = $pp$val1666;$51 = $33;$55 = 0; - break; - } else { - $43 = $41; - } - } - $44 = ($43>>>0)>(31); - if ($44) { - $46 = $43; - label = 15; - } else { - $$0$i = $43;$48 = $pp$val1666;$51 = $33;$55 = $43; - } - } - } while(0); - if ((label|0) == 15) { - label = 0; - $45 = (($46) + -32)|0; - $$0$i = $45;$48 = $33;$51 = 0;$55 = $46; - } - $47 = $48 >>> $$0$i; - $49 = (32 - ($$0$i))|0; - $50 = $51 << $49; - $52 = $50 | $47; - $53 = $51 >>> $$0$i; - $54 = (($55) + ($$02964))|0; - $56 = ($52|0)!=(1); - $57 = ($53|0)!=(0); - $58 = $57 | $56; - if (!($58)) { - $$0$lcssa49 = $16;$$02$lcssa51 = $54;$i$0$lcssa50 = $22; - break L1; - } - $$pre = HEAP32[$ar>>2]|0; - $59 = (($lp) + ($54<<2)|0); - $60 = HEAP32[$59>>2]|0; - $61 = (0 - ($60))|0; - $62 = (($16) + ($61)|0); - $63 = (FUNCTION_TABLE_iii[$cmp & 7]($62,$$pre)|0); - $64 = ($63|0)<(1); - if ($64) { - $$0$lcssa = $16;$$02$lcssa = $54;$$03$lcssa = 0;$i$0$lcssa = $22; - label = 18; - break; - } else { - $$01162$phi = $16;$$02964 = $54;$$03865 = 0;$16 = $62;$33 = $53;$i$01063 = $22;$pp$val1666 = $52;$$01162 = $$01162$phi; - } - } - } + if ($5) { + $$0$lcssa = $4; } else { - $$0$lcssa = $head;$$02$lcssa = $pshift;$$03$lcssa = $trusty;$i$0$lcssa = 1; - label = 18; - } - } while(0); - if ((label|0) == 18) { - $65 = ($$03$lcssa|0)==(0); - if ($65) { - $$0$lcssa49 = $$0$lcssa;$$02$lcssa51 = $$02$lcssa;$i$0$lcssa50 = $i$0$lcssa; - } else { - STACKTOP = sp;return; - } - } - $66 = ($i$0$lcssa50|0)<(2); - L30: do { - if (!($66)) { - $67 = (($ar) + ($i$0$lcssa50<<2)|0); - HEAP32[$67>>2] = $tmp$i5; - $68 = ($width|0)==(0); - if (!($68)) { - $$02$us$i10 = $width;$80 = $tmp$i5; - while(1) { - $78 = ($$02$us$i10>>>0)>(256); - $70 = $78 ? 256 : $$02$us$i10; - $79 = HEAP32[$ar>>2]|0; - _memcpy(($80|0),($79|0),($70|0))|0; - $76 = $79;$i$01$us$i8 = 0; - while(1) { - $72 = (($ar) + ($i$01$us$i8<<2)|0); - $73 = (($i$01$us$i8) + 1)|0; - $74 = (($ar) + ($73<<2)|0); - $75 = HEAP32[$74>>2]|0; - _memcpy(($76|0),($75|0),($70|0))|0; - $77 = (($76) + ($70)|0); - HEAP32[$72>>2] = $77; - $exitcond$i9 = ($73|0)==($i$0$lcssa50|0); - if ($exitcond$i9) { - break; - } else { - $76 = $75;$i$01$us$i8 = $73; - } - } - $69 = ($$02$us$i10|0)==($70|0); - if ($69) { - break L30; - } - $71 = (($$02$us$i10) - ($70))|0; - $$pre6$i6 = HEAP32[$67>>2]|0; - $$02$us$i10 = $71;$80 = $$pre6$i6; - } - } - } - } while(0); - HEAP32[$ar$i>>2] = $$0$lcssa49; - $81 = ($$02$lcssa51|0)>(1); - L39: do { - if ($81) { - $$012$i = $$02$lcssa51;$$03$i = $$0$lcssa49;$87 = $$0$lcssa49;$i$04$i = 1; + $$01013 = $2;$$01112 = $1;$$014 = $4; while(1) { - $82 = (($$03$i) + ($0)|0); - $83 = (($$012$i) + -2)|0; - $84 = (($lp) + ($83<<2)|0); - $85 = HEAP32[$84>>2]|0; - $sum$i = (($85) + ($width))|0; - $$sum$i = (0 - ($sum$i))|0; - $86 = (($$03$i) + ($$sum$i)|0); - $88 = (FUNCTION_TABLE_iii[$cmp & 7]($87,$86)|0); - $89 = ($88|0)>(-1); - if ($89) { - $90 = (FUNCTION_TABLE_iii[$cmp & 7]($87,$82)|0); - $91 = ($90|0)>(-1); - if ($91) { - $i$0$lcssa$i = $i$04$i; - break; - } - } - $92 = (FUNCTION_TABLE_iii[$cmp & 7]($86,$82)|0); - $93 = ($92|0)>(-1); - $94 = (($i$04$i) + 1)|0; - $95 = (($ar$i) + ($i$04$i<<2)|0); - if ($93) { - HEAP32[$95>>2] = $86; - $96 = (($$012$i) + -1)|0; - $$0$be$i = $86;$$01$be$i = $96; - } else { - HEAP32[$95>>2] = $82; - $$0$be$i = $82;$$01$be$i = $83; - } - $97 = ($$01$be$i|0)>(1); - if (!($97)) { - $i$0$lcssa$i = $94; - break; - } - $$pre$i = HEAP32[$ar$i>>2]|0; - $$012$i = $$01$be$i;$$03$i = $$0$be$i;$87 = $$pre$i;$i$04$i = $94; - } - $98 = ($i$0$lcssa$i|0)<(2); - if ($98) { - $113 = $tmp$i5; - } else { - $99 = (($ar$i) + ($i$0$lcssa$i<<2)|0); - HEAP32[$99>>2] = $tmp$i5; - $100 = ($width|0)==(0); - if ($100) { - $113 = $tmp$i5; - } else { - $$02$us$i = $width;$112 = $tmp$i5; - while(1) { - $110 = ($$02$us$i>>>0)>(256); - $102 = $110 ? 256 : $$02$us$i; - $111 = HEAP32[$ar$i>>2]|0; - _memcpy(($112|0),($111|0),($102|0))|0; - $108 = $111;$i$01$us$i = 0; - while(1) { - $104 = (($ar$i) + ($i$01$us$i<<2)|0); - $105 = (($i$01$us$i) + 1)|0; - $106 = (($ar$i) + ($105<<2)|0); - $107 = HEAP32[$106>>2]|0; - _memcpy(($108|0),($107|0),($102|0))|0; - $109 = (($108) + ($102)|0); - HEAP32[$104>>2] = $109; - $exitcond$i = ($105|0)==($i$0$lcssa$i|0); - if ($exitcond$i) { - break; - } else { - $108 = $107;$i$01$us$i = $105; - } - } - $101 = ($$02$us$i|0)==($102|0); - if ($101) { - $113 = $tmp$i5; - break L39; - } - $103 = (($$02$us$i) - ($102))|0; - $$pre6$i = HEAP32[$99>>2]|0; - $$02$us$i = $103;$112 = $$pre6$i; - } - } - } - } else { - $113 = $tmp$i5; - } - } while(0); - STACKTOP = sp;return; -} -function _emscripten_GetProcAddress($name_) { - $name_ = $name_|0; - var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; - var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; - var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0; - var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0; - var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0; - var $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0; - var $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0; - var $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0; - var $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0; - var $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0; - var $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0; - var $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0; - var $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0; - var $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0; - var $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0; - var $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0; - var $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0; - var $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0; - var $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0; - var $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0; - var $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0; - var $530 = 0, $531 = 0, $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0; - var $549 = 0, $55 = 0, $550 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0; - var $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0; - var $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $end = 0, $name = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp; - $name = sp + 4|0; - $end = sp + 8|0; - HEAP32[$1>>2] = $name_; - $2 = HEAP32[$1>>2]|0; - $3 = (_strlen(($2|0))|0); - $4 = (($3) + 1)|0; - $5 = (_malloc($4)|0); - HEAP32[$name>>2] = $5; - $6 = HEAP32[$name>>2]|0; - $7 = HEAP32[$1>>2]|0; - (_strcpy(($6|0),($7|0))|0); - $8 = HEAP32[$name>>2]|0; - $9 = (_strstr($8,31184)|0); - HEAP32[$end>>2] = $9; - $10 = HEAP32[$end>>2]|0; - $11 = ($10|0)!=(0|0); - if ($11) { - $12 = HEAP32[$end>>2]|0; - HEAP8[$12>>0] = 0; - } - $13 = HEAP32[$name>>2]|0; - $14 = (_strstr($13,31192)|0); - HEAP32[$end>>2] = $14; - $15 = HEAP32[$end>>2]|0; - $16 = ($15|0)!=(0|0); - if ($16) { - $17 = HEAP32[$end>>2]|0; - HEAP8[$17>>0] = 0; - } - $18 = HEAP32[$name>>2]|0; - $19 = (_strstr($18,31200)|0); - HEAP32[$end>>2] = $19; - $20 = HEAP32[$end>>2]|0; - $21 = ($20|0)!=(0|0); - if ($21) { - $22 = HEAP32[$end>>2]|0; - HEAP8[$22>>0] = 0; - } - $23 = HEAP32[$name>>2]|0; - $24 = (_strstr($23,31208)|0); - HEAP32[$end>>2] = $24; - $25 = HEAP32[$end>>2]|0; - $26 = ($25|0)!=(0|0); - if ($26) { - $27 = HEAP32[$end>>2]|0; - HEAP8[$27>>0] = 0; - } - $28 = HEAP32[$name>>2]|0; - $29 = (_strcmp($28,31216)|0); - $30 = ($29|0)!=(0); - do { - if ($30) { - $31 = HEAP32[$name>>2]|0; - $32 = (_strcmp($31,31256)|0); - $33 = ($32|0)!=(0); - if (!($33)) { - HEAP32[$name>>2] = 31280; - break; - } - $34 = HEAP32[$name>>2]|0; - $35 = (_strcmp($34,31296)|0); - $36 = ($35|0)!=(0); - if (!($36)) { - HEAP32[$name>>2] = 31320; - break; - } - $37 = HEAP32[$name>>2]|0; - $38 = (_strcmp($37,31336)|0); - $39 = ($38|0)!=(0); - if (!($39)) { - HEAP32[$name>>2] = 31352; - break; - } - $40 = HEAP32[$name>>2]|0; - $41 = (_strcmp($40,31368)|0); - $42 = ($41|0)!=(0); - if (!($42)) { - HEAP32[$name>>2] = 31384; - } - } else { - HEAP32[$name>>2] = 31240; - } - } while(0); - $43 = HEAP32[$name>>2]|0; - $44 = (_strcmp($43,31400)|0); - $45 = ($44|0)!=(0); - do { - if ($45) { - $46 = HEAP32[$name>>2]|0; - $47 = (_strcmp($46,31416)|0); - $48 = ($47|0)!=(0); - if (!($48)) { - HEAP32[$0>>2] = 2; - break; - } - $49 = HEAP32[$name>>2]|0; - $50 = (_strcmp($49,31432)|0); - $51 = ($50|0)!=(0); - if (!($51)) { - HEAP32[$0>>2] = 7; - break; - } - $52 = HEAP32[$name>>2]|0; - $53 = (_strcmp($52,31448)|0); - $54 = ($53|0)!=(0); - if (!($54)) { - HEAP32[$0>>2] = 8; - break; - } - $55 = HEAP32[$name>>2]|0; - $56 = (_strcmp($55,31464)|0); - $57 = ($56|0)!=(0); - if (!($57)) { - HEAP32[$0>>2] = 9; - break; - } - $58 = HEAP32[$name>>2]|0; - $59 = (_strcmp($58,31480)|0); - $60 = ($59|0)!=(0); - if (!($60)) { - HEAP32[$0>>2] = 10; - break; - } - $61 = HEAP32[$name>>2]|0; - $62 = (_strcmp($61,31496)|0); - $63 = ($62|0)!=(0); - if (!($63)) { - HEAP32[$0>>2] = 11; - break; - } - $64 = HEAP32[$name>>2]|0; - $65 = (_strcmp($64,31520)|0); - $66 = ($65|0)!=(0); - if (!($66)) { - HEAP32[$0>>2] = 1; - break; - } - $67 = HEAP32[$name>>2]|0; - $68 = (_strcmp($67,31544)|0); - $69 = ($68|0)!=(0); - if (!($69)) { - HEAP32[$0>>2] = 1; - break; - } - $70 = HEAP32[$name>>2]|0; - $71 = (_strcmp($70,31576)|0); - $72 = ($71|0)!=(0); - if (!($72)) { - HEAP32[$0>>2] = 2; - break; - } - $73 = HEAP32[$name>>2]|0; - $74 = (_strcmp($73,31592)|0); - $75 = ($74|0)!=(0); - if (!($75)) { - HEAP32[$0>>2] = 3; - break; - } - $76 = HEAP32[$name>>2]|0; - $77 = (_strcmp($76,31608)|0); - $78 = ($77|0)!=(0); - if (!($78)) { - HEAP32[$0>>2] = 1; - break; - } - $79 = HEAP32[$name>>2]|0; - $80 = (_strcmp($79,31624)|0); - $81 = ($80|0)!=(0); - if (!($81)) { - HEAP32[$0>>2] = 12; - break; - } - $82 = HEAP32[$name>>2]|0; - $83 = (_strcmp($82,31640)|0); - $84 = ($83|0)!=(0); - if (!($84)) { - HEAP32[$0>>2] = 3; - break; - } - $85 = HEAP32[$name>>2]|0; - $86 = (_strcmp($85,31664)|0); - $87 = ($86|0)!=(0); - if (!($87)) { - HEAP32[$0>>2] = 4; - break; - } - $88 = HEAP32[$name>>2]|0; - $89 = (_strcmp($88,31688)|0); - $90 = ($89|0)!=(0); - if (!($90)) { - HEAP32[$0>>2] = 5; - break; - } - $91 = HEAP32[$name>>2]|0; - $92 = (_strcmp($91,31712)|0); - $93 = ($92|0)!=(0); - if (!($93)) { - HEAP32[$0>>2] = 6; - break; - } - $94 = HEAP32[$name>>2]|0; - $95 = (_strcmp($94,31736)|0); - $96 = ($95|0)!=(0); - if (!($96)) { - HEAP32[$0>>2] = 3; - break; - } - $97 = HEAP32[$name>>2]|0; - $98 = (_strcmp($97,31752)|0); - $99 = ($98|0)!=(0); - if (!($99)) { - HEAP32[$0>>2] = 13; - break; - } - $100 = HEAP32[$name>>2]|0; - $101 = (_strcmp($100,31768)|0); - $102 = ($101|0)!=(0); - if (!($102)) { - HEAP32[$0>>2] = 14; - break; - } - $103 = HEAP32[$name>>2]|0; - $104 = (_strcmp($103,31784)|0); - $105 = ($104|0)!=(0); - if (!($105)) { - HEAP32[$0>>2] = 7; - break; - } - $106 = HEAP32[$name>>2]|0; - $107 = (_strcmp($106,31808)|0); - $108 = ($107|0)!=(0); - if (!($108)) { - HEAP32[$0>>2] = 2; - break; - } - $109 = HEAP32[$name>>2]|0; - $110 = (_strcmp($109,31824)|0); - $111 = ($110|0)!=(0); - if (!($111)) { - HEAP32[$0>>2] = 3; - break; - } - $112 = HEAP32[$name>>2]|0; - $113 = (_strcmp($112,31840)|0); - $114 = ($113|0)!=(0); - if (!($114)) { - HEAP32[$0>>2] = 4; - break; - } - $115 = HEAP32[$name>>2]|0; - $116 = (_strcmp($115,31856)|0); - $117 = ($116|0)!=(0); - if (!($117)) { - HEAP32[$0>>2] = 15; - break; - } - $118 = HEAP32[$name>>2]|0; - $119 = (_strcmp($118,31880)|0); - $120 = ($119|0)!=(0); - if (!($120)) { - HEAP32[$0>>2] = 16; - break; - } - $121 = HEAP32[$name>>2]|0; - $122 = (_strcmp($121,31904)|0); - $123 = ($122|0)!=(0); - if (!($123)) { - HEAP32[$0>>2] = 17; - break; - } - $124 = HEAP32[$name>>2]|0; - $125 = (_strcmp($124,31928)|0); - $126 = ($125|0)!=(0); - if (!($126)) { - HEAP32[$0>>2] = 8; - break; - } - $127 = HEAP32[$name>>2]|0; - $128 = (_strcmp($127,31960)|0); - $129 = ($128|0)!=(0); - if (!($129)) { - HEAP32[$0>>2] = 5; - break; - } - $130 = HEAP32[$name>>2]|0; - $131 = (_strcmp($130,31984)|0); - $132 = ($131|0)!=(0); - if (!($132)) { - HEAP32[$0>>2] = 9; - break; - } - $133 = HEAP32[$name>>2]|0; - $134 = (_strcmp($133,32000)|0); - $135 = ($134|0)!=(0); - if (!($135)) { - HEAP32[$0>>2] = 10; - break; - } - $136 = HEAP32[$name>>2]|0; - $137 = (_strcmp($136,32016)|0); - $138 = ($137|0)!=(0); - if (!($138)) { - HEAP32[$0>>2] = 6; - break; - } - $139 = HEAP32[$name>>2]|0; - $140 = (_strcmp($139,32040)|0); - $141 = ($140|0)!=(0); - if (!($141)) { - HEAP32[$0>>2] = 11; - break; - } - $142 = HEAP32[$name>>2]|0; - $143 = (_strcmp($142,32064)|0); - $144 = ($143|0)!=(0); - if (!($144)) { - HEAP32[$0>>2] = 12; - break; - } - $145 = HEAP32[$name>>2]|0; - $146 = (_strcmp($145,32088)|0); - $147 = ($146|0)!=(0); - if (!($147)) { - HEAP32[$0>>2] = 13; - break; - } - $148 = HEAP32[$name>>2]|0; - $149 = (_strcmp($148,32120)|0); - $150 = ($149|0)!=(0); - if (!($150)) { - HEAP32[$0>>2] = 2; - break; - } - $151 = HEAP32[$name>>2]|0; - $152 = (_strcmp($151,32144)|0); - $153 = ($152|0)!=(0); - if (!($153)) { - HEAP32[$0>>2] = 1; - break; - } - $154 = HEAP32[$name>>2]|0; - $155 = (_strcmp($154,32160)|0); - $156 = ($155|0)!=(0); - if (!($156)) { - HEAP32[$0>>2] = 2; - break; - } - $157 = HEAP32[$name>>2]|0; - $158 = (_strcmp($157,32176)|0); - $159 = ($158|0)!=(0); - if (!($159)) { - HEAP32[$0>>2] = 1; - break; - } - $160 = HEAP32[$name>>2]|0; - $161 = (_strcmp($160,32192)|0); - $162 = ($161|0)!=(0); - if (!($162)) { - HEAP32[$0>>2] = 1; - break; - } - $163 = HEAP32[$name>>2]|0; - $164 = (_strcmp($163,32208)|0); - $165 = ($164|0)!=(0); - if (!($165)) { - HEAP32[$0>>2] = 18; - break; - } - $166 = HEAP32[$name>>2]|0; - $167 = (_strcmp($166,32224)|0); - $168 = ($167|0)!=(0); - if (!($168)) { - HEAP32[$0>>2] = 14; - break; - } - $169 = HEAP32[$name>>2]|0; - $170 = (_strcmp($169,32240)|0); - $171 = ($170|0)!=(0); - if (!($171)) { - HEAP32[$0>>2] = 4; - break; - } - $172 = HEAP32[$name>>2]|0; - $173 = (_strcmp($172,32256)|0); - $174 = ($173|0)!=(0); - if (!($174)) { - HEAP32[$0>>2] = 2; - break; - } - $175 = HEAP32[$name>>2]|0; - $176 = (_strcmp($175,32272)|0); - $177 = ($176|0)!=(0); - if (!($177)) { - HEAP32[$0>>2] = 15; - break; - } - $178 = HEAP32[$name>>2]|0; - $179 = (_strcmp($178,32288)|0); - $180 = ($179|0)!=(0); - if (!($180)) { - HEAP32[$0>>2] = 16; - break; - } - $181 = HEAP32[$name>>2]|0; - $182 = (_strcmp($181,32304)|0); - $183 = ($182|0)!=(0); - if (!($183)) { - HEAP32[$0>>2] = 17; - break; - } - $184 = HEAP32[$name>>2]|0; - $185 = (_strcmp($184,32320)|0); - $186 = ($185|0)!=(0); - if (!($186)) { - HEAP32[$0>>2] = 18; - break; - } - $187 = HEAP32[$name>>2]|0; - $188 = (_strcmp($187,32336)|0); - $189 = ($188|0)!=(0); - if (!($189)) { - HEAP32[$0>>2] = 19; - break; - } - $190 = HEAP32[$name>>2]|0; - $191 = (_strcmp($190,32352)|0); - $192 = ($191|0)!=(0); - if (!($192)) { - HEAP32[$0>>2] = 20; - break; - } - $193 = HEAP32[$name>>2]|0; - $194 = (_strcmp($193,32368)|0); - $195 = ($194|0)!=(0); - if (!($195)) { - HEAP32[$0>>2] = 21; - break; - } - $196 = HEAP32[$name>>2]|0; - $197 = (_strcmp($196,32384)|0); - $198 = ($197|0)!=(0); - if (!($198)) { - HEAP32[$0>>2] = 22; - break; - } - $199 = HEAP32[$name>>2]|0; - $200 = (_strcmp($199,32400)|0); - $201 = ($200|0)!=(0); - if (!($201)) { - HEAP32[$0>>2] = 5; - break; - } - $202 = HEAP32[$name>>2]|0; - $203 = (_strcmp($202,32424)|0); - $204 = ($203|0)!=(0); - if (!($204)) { - HEAP32[$0>>2] = 6; - break; - } - $205 = HEAP32[$name>>2]|0; - $206 = (_strcmp($205,32448)|0); - $207 = ($206|0)!=(0); - if (!($207)) { - HEAP32[$0>>2] = 7; - break; - } - $208 = HEAP32[$name>>2]|0; - $209 = (_strcmp($208,32472)|0); - $210 = ($209|0)!=(0); - if (!($210)) { - HEAP32[$0>>2] = 19; - break; - } - $211 = HEAP32[$name>>2]|0; - $212 = (_strcmp($211,32488)|0); - $213 = ($212|0)!=(0); - if (!($213)) { - HEAP32[$0>>2] = 20; - break; - } - $214 = HEAP32[$name>>2]|0; - $215 = (_strcmp($214,32512)|0); - $216 = ($215|0)!=(0); - if (!($216)) { - HEAP32[$0>>2] = 21; - break; - } - $217 = HEAP32[$name>>2]|0; - $218 = (_strcmp($217,32536)|0); - $219 = ($218|0)!=(0); - if (!($219)) { - HEAP32[$0>>2] = 22; - break; - } - $220 = HEAP32[$name>>2]|0; - $221 = (_strcmp($220,32560)|0); - $222 = ($221|0)!=(0); - if (!($222)) { - HEAP32[$0>>2] = 23; - break; - } - $223 = HEAP32[$name>>2]|0; - $224 = (_strcmp($223,32584)|0); - $225 = ($224|0)!=(0); - if (!($225)) { - HEAP32[$0>>2] = 7; - break; - } - $226 = HEAP32[$name>>2]|0; - $227 = (_strcmp($226,32608)|0); - $228 = ($227|0)!=(0); - if (!($228)) { - HEAP32[$0>>2] = 3; - break; - } - $229 = HEAP32[$name>>2]|0; - $230 = (_strcmp($229,31320)|0); - $231 = ($230|0)!=(0); - if (!($231)) { - HEAP32[$0>>2] = 6; - break; - } - $232 = HEAP32[$name>>2]|0; - $233 = (_strcmp($232,32632)|0); - $234 = ($233|0)!=(0); - if (!($234)) { - HEAP32[$0>>2] = 1; - break; - } - $235 = HEAP32[$name>>2]|0; - $236 = (_strcmp($235,32648)|0); - $237 = ($236|0)!=(0); - if (!($237)) { - HEAP32[$0>>2] = 8; - break; - } - $238 = HEAP32[$name>>2]|0; - $239 = (_strcmp($238,32672)|0); - $240 = ($239|0)!=(0); - if (!($240)) { - HEAP32[$0>>2] = 9; - break; - } - $241 = HEAP32[$name>>2]|0; - $242 = (_strcmp($241,32688)|0); - $243 = ($242|0)!=(0); - if (!($243)) { - HEAP32[$0>>2] = 10; - break; - } - $244 = HEAP32[$name>>2]|0; - $245 = (_strcmp($244,32712)|0); - $246 = ($245|0)!=(0); - if (!($246)) { - HEAP32[$0>>2] = 2; - break; - } - $247 = HEAP32[$name>>2]|0; - $248 = (_strcmp($247,32728)|0); - $249 = ($248|0)!=(0); - if (!($249)) { - HEAP32[$0>>2] = 11; - break; - } - $250 = HEAP32[$name>>2]|0; - $251 = (_strcmp($250,32752)|0); - $252 = ($251|0)!=(0); - if (!($252)) { - HEAP32[$0>>2] = 23; - break; - } - $253 = HEAP32[$name>>2]|0; - $254 = (_strcmp($253,32768)|0); - $255 = ($254|0)!=(0); - if (!($255)) { - HEAP32[$0>>2] = 24; - break; - } - $256 = HEAP32[$name>>2]|0; - $257 = (_strcmp($256,32784)|0); - $258 = ($257|0)!=(0); - if (!($258)) { - HEAP32[$0>>2] = 7; - break; - } - $259 = HEAP32[$name>>2]|0; - $260 = (_strcmp($259,31240)|0); - $261 = ($260|0)!=(0); - if (!($261)) { - HEAP32[$0>>2] = 1; - break; - } - $262 = HEAP32[$name>>2]|0; - $263 = (_strcmp($262,32800)|0); - $264 = ($263|0)!=(0); - if (!($264)) { - HEAP32[$0>>2] = 3; - break; - } - $265 = HEAP32[$name>>2]|0; - $266 = (_strcmp($265,31352)|0); - $267 = ($266|0)!=(0); - if (!($267)) { - HEAP32[$0>>2] = 24; - break; - } - $268 = HEAP32[$name>>2]|0; - $269 = (_strcmp($268,31384)|0); - $270 = ($269|0)!=(0); - if (!($270)) { - HEAP32[$0>>2] = 25; - break; - } - $271 = HEAP32[$name>>2]|0; - $272 = (_strcmp($271,32816)|0); - $273 = ($272|0)!=(0); - if (!($273)) { - HEAP32[$0>>2] = 12; - break; - } - $274 = HEAP32[$name>>2]|0; - $275 = (_strcmp($274,32848)|0); - $276 = ($275|0)!=(0); - if (!($276)) { - HEAP32[$0>>2] = 4; - break; - } - $277 = HEAP32[$name>>2]|0; - $278 = (_strcmp($277,32864)|0); - $279 = ($278|0)!=(0); - if (!($279)) { - HEAP32[$0>>2] = 13; - break; - } - $280 = HEAP32[$name>>2]|0; - $281 = (_strcmp($280,31280)|0); - $282 = ($281|0)!=(0); - if (!($282)) { - HEAP32[$0>>2] = 5; - break; - } - $283 = HEAP32[$name>>2]|0; - $284 = (_strcmp($283,32888)|0); - $285 = ($284|0)!=(0); - if (!($285)) { - HEAP32[$0>>2] = 6; - break; - } - $286 = HEAP32[$name>>2]|0; - $287 = (_strcmp($286,32912)|0); - $288 = ($287|0)!=(0); - if (!($288)) { - HEAP32[$0>>2] = 8; - break; - } - $289 = HEAP32[$name>>2]|0; - $290 = (_strcmp($289,32928)|0); - $291 = ($290|0)!=(0); - if (!($291)) { - HEAP32[$0>>2] = 25; - break; - } - $292 = HEAP32[$name>>2]|0; - $293 = (_strcmp($292,32952)|0); - $294 = ($293|0)!=(0); - if (!($294)) { - HEAP32[$0>>2] = 26; - break; - } - $295 = HEAP32[$name>>2]|0; - $296 = (_strcmp($295,32976)|0); - $297 = ($296|0)!=(0); - if (!($297)) { - HEAP32[$0>>2] = 27; - break; - } - $298 = HEAP32[$name>>2]|0; - $299 = (_strcmp($298,33000)|0); - $300 = ($299|0)!=(0); - if (!($300)) { - HEAP32[$0>>2] = 28; - break; - } - $301 = HEAP32[$name>>2]|0; - $302 = (_strcmp($301,33024)|0); - $303 = ($302|0)!=(0); - if (!($303)) { - HEAP32[$0>>2] = 14; - break; - } - $304 = HEAP32[$name>>2]|0; - $305 = (_strcmp($304,33056)|0); - $306 = ($305|0)!=(0); - if (!($306)) { - HEAP32[$0>>2] = 3; - break; - } - $307 = HEAP32[$name>>2]|0; - $308 = (_strcmp($307,33080)|0); - $309 = ($308|0)!=(0); - if (!($309)) { - HEAP32[$0>>2] = 15; - break; - } - $310 = HEAP32[$name>>2]|0; - $311 = (_strcmp($310,33120)|0); - $312 = ($311|0)!=(0); - if (!($312)) { - HEAP32[$0>>2] = 9; - break; - } - $313 = HEAP32[$name>>2]|0; - $314 = (_strcmp($313,33136)|0); - $315 = ($314|0)!=(0); - if (!($315)) { - HEAP32[$0>>2] = 7; - break; - } - $316 = HEAP32[$name>>2]|0; - $317 = (_strcmp($316,33152)|0); - $318 = ($317|0)!=(0); - if (!($318)) { - HEAP32[$0>>2] = 26; - break; - } - $319 = HEAP32[$name>>2]|0; - $320 = (_strcmp($319,33176)|0); - $321 = ($320|0)!=(0); - if (!($321)) { - HEAP32[$0>>2] = 16; - break; - } - $322 = HEAP32[$name>>2]|0; - $323 = (_strcmp($322,33192)|0); - $324 = ($323|0)!=(0); - if (!($324)) { - HEAP32[$0>>2] = 29; - break; - } - $325 = HEAP32[$name>>2]|0; - $326 = (_strcmp($325,33208)|0); - $327 = ($326|0)!=(0); - if (!($327)) { - HEAP32[$0>>2] = 30; - break; - } - $328 = HEAP32[$name>>2]|0; - $329 = (_strcmp($328,33224)|0); - $330 = ($329|0)!=(0); - if (!($330)) { - HEAP32[$0>>2] = 2; - break; - } - $331 = HEAP32[$name>>2]|0; - $332 = (_strcmp($331,33248)|0); - $333 = ($332|0)!=(0); - if (!($333)) { - HEAP32[$0>>2] = 8; - break; - } - $334 = HEAP32[$name>>2]|0; - $335 = (_strcmp($334,33272)|0); - $336 = ($335|0)!=(0); - if (!($336)) { - HEAP32[$0>>2] = 17; - break; - } - $337 = HEAP32[$name>>2]|0; - $338 = (_strcmp($337,33288)|0); - $339 = ($338|0)!=(0); - if (!($339)) { - HEAP32[$0>>2] = 18; - break; - } - $340 = HEAP32[$name>>2]|0; - $341 = (_strcmp($340,33312)|0); - $342 = ($341|0)!=(0); - if (!($342)) { - HEAP32[$0>>2] = 27; - break; - } - $343 = HEAP32[$name>>2]|0; - $344 = (_strcmp($343,33328)|0); - $345 = ($344|0)!=(0); - if (!($345)) { - HEAP32[$0>>2] = 19; - break; - } - $346 = HEAP32[$name>>2]|0; - $347 = (_strcmp($346,33344)|0); - $348 = ($347|0)!=(0); - if (!($348)) { - HEAP32[$0>>2] = 9; - break; - } - $349 = HEAP32[$name>>2]|0; - $350 = (_strcmp($349,33368)|0); - $351 = ($350|0)!=(0); - if (!($351)) { - HEAP32[$0>>2] = 31; - break; - } - $352 = HEAP32[$name>>2]|0; - $353 = (_strcmp($352,33392)|0); - $354 = ($353|0)!=(0); - if (!($354)) { - HEAP32[$0>>2] = 32; - break; - } - $355 = HEAP32[$name>>2]|0; - $356 = (_strcmp($355,33416)|0); - $357 = ($356|0)!=(0); - if (!($357)) { - HEAP32[$0>>2] = 10; - break; - } - $358 = HEAP32[$name>>2]|0; - $359 = (_strcmp($358,33440)|0); - $360 = ($359|0)!=(0); - if (!($360)) { - HEAP32[$0>>2] = 11; - break; - } - $361 = HEAP32[$name>>2]|0; - $362 = (_strcmp($361,33456)|0); - $363 = ($362|0)!=(0); - if (!($363)) { - HEAP32[$0>>2] = 2; - break; - } - $364 = HEAP32[$name>>2]|0; - $365 = (_strcmp($364,33472)|0); - $366 = ($365|0)!=(0); - if (!($366)) { - HEAP32[$0>>2] = 12; - break; - } - $367 = HEAP32[$name>>2]|0; - $368 = (_strcmp($367,33488)|0); - $369 = ($368|0)!=(0); - if (!($369)) { - HEAP32[$0>>2] = 1; - break; - } - $370 = HEAP32[$name>>2]|0; - $371 = (_strcmp($370,33504)|0); - $372 = ($371|0)!=(0); - if (!($372)) { - HEAP32[$0>>2] = 1; - break; - } - $373 = HEAP32[$name>>2]|0; - $374 = (_strcmp($373,33520)|0); - $375 = ($374|0)!=(0); - if (!($375)) { - HEAP32[$0>>2] = 3; - break; - } - $376 = HEAP32[$name>>2]|0; - $377 = (_strcmp($376,33544)|0); - $378 = ($377|0)!=(0); - if (!($378)) { - HEAP32[$0>>2] = 13; - break; - } - $379 = HEAP32[$name>>2]|0; - $380 = (_strcmp($379,33576)|0); - $381 = ($380|0)!=(0); - if (!($381)) { - HEAP32[$0>>2] = 14; - break; - } - $382 = HEAP32[$name>>2]|0; - $383 = (_strcmp($382,33608)|0); - $384 = ($383|0)!=(0); - if (!($384)) { - HEAP32[$0>>2] = 28; - break; - } - $385 = HEAP32[$name>>2]|0; - $386 = (_strcmp($385,33624)|0); - $387 = ($386|0)!=(0); - if (!($387)) { - HEAP32[$0>>2] = 20; - break; - } - $388 = HEAP32[$name>>2]|0; - $389 = (_strcmp($388,33640)|0); - $390 = ($389|0)!=(0); - if (!($390)) { - HEAP32[$0>>2] = 4; - break; - } - $391 = HEAP32[$name>>2]|0; - $392 = (_strcmp($391,33656)|0); - $393 = ($392|0)!=(0); - if (!($393)) { - HEAP32[$0>>2] = 3; - break; - } - $394 = HEAP32[$name>>2]|0; - $395 = (_strcmp($394,33680)|0); - $396 = ($395|0)!=(0); - if (!($396)) { - HEAP32[$0>>2] = 2; - break; - } - $397 = HEAP32[$name>>2]|0; - $398 = (_strcmp($397,33696)|0); - $399 = ($398|0)!=(0); - if (!($399)) { - HEAP32[$0>>2] = 33; - break; - } - $400 = HEAP32[$name>>2]|0; - $401 = (_strcmp($400,33720)|0); - $402 = ($401|0)!=(0); - if (!($402)) { - HEAP32[$0>>2] = 21; - break; - } - $403 = HEAP32[$name>>2]|0; - $404 = (_strcmp($403,33744)|0); - $405 = ($404|0)!=(0); - if (!($405)) { - HEAP32[$0>>2] = 5; - break; - } - $406 = HEAP32[$name>>2]|0; - $407 = (_strcmp($406,33768)|0); - $408 = ($407|0)!=(0); - if (!($408)) { - HEAP32[$0>>2] = 4; - break; - } - $409 = HEAP32[$name>>2]|0; - $410 = (_strcmp($409,33784)|0); - $411 = ($410|0)!=(0); - if (!($411)) { - HEAP32[$0>>2] = 5; - break; - } - $412 = HEAP32[$name>>2]|0; - $413 = (_strcmp($412,33792)|0); - $414 = ($413|0)!=(0); - if (!($414)) { - HEAP32[$0>>2] = 1; - break; - } - $415 = HEAP32[$name>>2]|0; - $416 = (_strcmp($415,33808)|0); - $417 = ($416|0)!=(0); - if (!($417)) { - HEAP32[$0>>2] = 2; - break; - } - $418 = HEAP32[$name>>2]|0; - $419 = (_strcmp($418,33824)|0); - $420 = ($419|0)!=(0); - if (!($420)) { - HEAP32[$0>>2] = 15; - break; - } - $421 = HEAP32[$name>>2]|0; - $422 = (_strcmp($421,33840)|0); - $423 = ($422|0)!=(0); - if (!($423)) { - HEAP32[$0>>2] = 16; - break; - } - $424 = HEAP32[$name>>2]|0; - $425 = (_strcmp($424,33856)|0); - $426 = ($425|0)!=(0); - if (!($426)) { - HEAP32[$0>>2] = 17; - break; - } - $427 = HEAP32[$name>>2]|0; - $428 = (_strcmp($427,33872)|0); - $429 = ($428|0)!=(0); - if (!($429)) { - HEAP32[$0>>2] = 18; - break; - } - $430 = HEAP32[$name>>2]|0; - $431 = (_strcmp($430,33888)|0); - $432 = ($431|0)!=(0); - if (!($432)) { - HEAP32[$0>>2] = 19; - break; - } - $433 = HEAP32[$name>>2]|0; - $434 = (_strcmp($433,33904)|0); - $435 = ($434|0)!=(0); - if (!($435)) { - HEAP32[$0>>2] = 20; - break; - } - $436 = HEAP32[$name>>2]|0; - $437 = (_strcmp($436,33912)|0); - $438 = ($437|0)!=(0); - if (!($438)) { - HEAP32[$0>>2] = 3; - break; - } - $439 = HEAP32[$name>>2]|0; - $440 = (_strcmp($439,33928)|0); - $441 = ($440|0)!=(0); - if (!($441)) { - HEAP32[$0>>2] = 21; - break; - } - $442 = HEAP32[$name>>2]|0; - $443 = (_strcmp($442,33944)|0); - $444 = ($443|0)!=(0); - if (!($444)) { - HEAP32[$0>>2] = 22; - break; - } - $445 = HEAP32[$name>>2]|0; - $446 = (_strcmp($445,33960)|0); - $447 = ($446|0)!=(0); - if (!($447)) { - HEAP32[$0>>2] = 23; - break; - } - $448 = HEAP32[$name>>2]|0; - $449 = (_strcmp($448,33976)|0); - $450 = ($449|0)!=(0); - if (!($450)) { - HEAP32[$0>>2] = 10; - break; - } - $451 = HEAP32[$name>>2]|0; - $452 = (_strcmp($451,34008)|0); - $453 = ($452|0)!=(0); - if (!($453)) { - HEAP32[$0>>2] = 24; - break; - } - $454 = HEAP32[$name>>2]|0; - $455 = (_strcmp($454,34032)|0); - $456 = ($455|0)!=(0); - if (!($456)) { - HEAP32[$0>>2] = 25; - break; - } - $457 = HEAP32[$name>>2]|0; - $458 = (_strcmp($457,34048)|0); - $459 = ($458|0)!=(0); - if (!($459)) { - HEAP32[$0>>2] = 26; - break; - } - $460 = HEAP32[$name>>2]|0; - $461 = (_strcmp($460,34064)|0); - $462 = ($461|0)!=(0); - if (!($462)) { - HEAP32[$0>>2] = 11; - break; - } - $463 = HEAP32[$name>>2]|0; - $464 = (_strcmp($463,34080)|0); - $465 = ($464|0)!=(0); - if (!($465)) { - HEAP32[$0>>2] = 34; - break; - } - $466 = HEAP32[$name>>2]|0; - $467 = (_strcmp($466,34096)|0); - $468 = ($467|0)!=(0); - if (!($468)) { - HEAP32[$0>>2] = 35; - break; - } - $469 = HEAP32[$name>>2]|0; - $470 = (_strcmp($469,34120)|0); - $471 = ($470|0)!=(0); - if (!($471)) { - HEAP32[$0>>2] = 1; - break; - } - $472 = HEAP32[$name>>2]|0; - $473 = (_strcmp($472,34136)|0); - $474 = ($473|0)!=(0); - if (!($474)) { - HEAP32[$0>>2] = 2; - break; - } - $475 = HEAP32[$name>>2]|0; - $476 = (_strcmp($475,34152)|0); - $477 = ($476|0)!=(0); - if (!($477)) { - HEAP32[$0>>2] = 36; - break; - } - $478 = HEAP32[$name>>2]|0; - $479 = (_strcmp($478,34176)|0); - $480 = ($479|0)!=(0); - if (!($480)) { - HEAP32[$0>>2] = 37; - break; - } - $481 = HEAP32[$name>>2]|0; - $482 = (_strcmp($481,34184)|0); - $483 = ($482|0)!=(0); - if (!($483)) { - HEAP32[$0>>2] = 3; - break; - } - $484 = HEAP32[$name>>2]|0; - $485 = (_strcmp($484,34200)|0); - $486 = ($485|0)!=(0); - if (!($486)) { - HEAP32[$0>>2] = 2; - break; - } - $487 = HEAP32[$name>>2]|0; - $488 = (_strcmp($487,34224)|0); - $489 = ($488|0)!=(0); - if (!($489)) { - HEAP32[$0>>2] = 1; - break; - } - $490 = HEAP32[$name>>2]|0; - $491 = (_strcmp($490,34248)|0); - $492 = ($491|0)!=(0); - if (!($492)) { - HEAP32[$0>>2] = 29; - break; - } - $493 = HEAP32[$name>>2]|0; - $494 = (_strcmp($493,34264)|0); - $495 = ($494|0)!=(0); - if (!($495)) { - HEAP32[$0>>2] = 1; - break; - } - $496 = HEAP32[$name>>2]|0; - $497 = (_strcmp($496,34280)|0); - $498 = ($497|0)!=(0); - if (!($498)) { - HEAP32[$0>>2] = 3; - break; - } - $499 = HEAP32[$name>>2]|0; - $500 = (_strcmp($499,34304)|0); - $501 = ($500|0)!=(0); - if (!($501)) { - HEAP32[$0>>2] = 30; - break; - } - $502 = HEAP32[$name>>2]|0; - $503 = (_strcmp($502,34320)|0); - $504 = ($503|0)!=(0); - if (!($504)) { - HEAP32[$0>>2] = 31; - break; - } - $505 = HEAP32[$name>>2]|0; - $506 = (_strcmp($505,34336)|0); - $507 = ($506|0)!=(0); - if (!($507)) { - HEAP32[$0>>2] = 22; - break; - } - $508 = HEAP32[$name>>2]|0; - $509 = (_strcmp($508,34352)|0); - $510 = ($509|0)!=(0); - if (!($510)) { - HEAP32[$0>>2] = 2; - break; - } - $511 = HEAP32[$name>>2]|0; - $512 = (_strcmp($511,34368)|0); - $513 = ($512|0)!=(0); - if (!($513)) { - HEAP32[$0>>2] = 23; - break; - } - $514 = HEAP32[$name>>2]|0; - $515 = (_strcmp($514,34384)|0); - $516 = ($515|0)!=(0); - if (!($516)) { - HEAP32[$0>>2] = 2; - break; - } - $517 = HEAP32[$name>>2]|0; - $518 = (_strcmp($517,34408)|0); - $519 = ($518|0)!=(0); - if (!($519)) { - HEAP32[$0>>2] = 24; - break; - } - $520 = HEAP32[$name>>2]|0; - $521 = (_strcmp($520,34424)|0); - $522 = ($521|0)!=(0); - if (!($522)) { - HEAP32[$0>>2] = 25; - break; - } - $523 = HEAP32[$name>>2]|0; - $524 = (_strcmp($523,34448)|0); - $525 = ($524|0)!=(0); - if (!($525)) { - HEAP32[$0>>2] = 26; - break; - } - $526 = HEAP32[$name>>2]|0; - $527 = (_strcmp($526,34472)|0); - $528 = ($527|0)!=(0); - if (!($528)) { - HEAP32[$0>>2] = 3; - break; - } - $529 = HEAP32[$name>>2]|0; - $530 = (_strcmp($529,34488)|0); - $531 = ($530|0)!=(0); - if (!($531)) { - HEAP32[$0>>2] = 27; - break; - } - $532 = HEAP32[$name>>2]|0; - $533 = (_strcmp($532,34512)|0); - $534 = ($533|0)!=(0); - if (!($534)) { - HEAP32[$0>>2] = 28; - break; - } - $535 = HEAP32[$name>>2]|0; - $536 = (_strcmp($535,34536)|0); - $537 = ($536|0)!=(0); - if (!($537)) { - HEAP32[$0>>2] = 2; - break; - } - $538 = HEAP32[$name>>2]|0; - $539 = (_strcmp($538,34560)|0); - $540 = ($539|0)!=(0); - if (!($540)) { - HEAP32[$0>>2] = 2; - break; - } - $541 = HEAP32[$name>>2]|0; - $542 = (_strcmp($541,34584)|0); - $543 = ($542|0)!=(0); - if (!($543)) { - HEAP32[$0>>2] = 3; - break; - } - $544 = HEAP32[$name>>2]|0; - $545 = (_strcmp($544,34608)|0); - $546 = ($545|0)!=(0); - if ($546) { - $547 = HEAP32[$1>>2]|0; - $548 = HEAP32[$name>>2]|0; - $549 = _emscripten_asm_const_2(0, ($547|0), ($548|0))|0; - HEAP32[$0>>2] = 0; - break; - } else { - HEAP32[$0>>2] = 38; - break; - } - } else { - HEAP32[$0>>2] = 6; - } - } while(0); - $550 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($550|0); -} -function _roundf($x) { - $x = +$x; - var $$0 = 0.0, $$x = 0.0, $$y$0 = 0.0, $0 = 0, $1 = 0, $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0.0, $14 = 0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $2 = 0, $3 = 0, $4 = 0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0.0; - var $9 = 0.0, $__x = 0, $y$0 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $__x = sp; - $0 = (HEAPF32[tempDoublePtr>>2]=$x,HEAP32[tempDoublePtr>>2]|0); - $1 = $0 >>> 23; - $2 = $1 & 255; - $3 = ($2>>>0)>(149); - if ($3) { - $$0 = $x; - STACKTOP = sp;return (+$$0); - } - $4 = ($0|0)<(0); - $5 = -$x; - $$x = $4 ? $5 : $x; - $6 = ($2>>>0)<(126); - $7 = $$x + 8388608.0; - if ($6) { - HEAPF32[$__x>>2] = $7; - $8 = $x * 0.0; - $$0 = $8; - STACKTOP = sp;return (+$$0); - } - $9 = $7 + -8388608.0; - $10 = $9 - $$x; - $11 = $10 > 0.5; - if ($11) { - $12 = $$x + $10; - $13 = $12 + -1.0; - $y$0 = $13; - } else { - $14 = !($10 <= -0.5); - $15 = $$x + $10; - if ($14) { - $y$0 = $15; - } else { - $16 = $15 + 1.0; - $y$0 = $16; - } - } - $17 = -$y$0; - $$y$0 = $4 ? $17 : $y$0; - $$0 = $$y$0; - STACKTOP = sp;return (+$$0); -} -function _scalbn($x,$n) { - $x = +$x; - $n = $n|0; - var $$ = 0, $$0 = 0, $$1 = 0, $0 = 0, $1 = 0.0, $10 = 0, $11 = 0.0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0.0, $18 = 0.0, $2 = 0, $3 = 0, $4 = 0.0, $5 = 0, $6 = 0, $7 = 0; - var $8 = 0.0, $9 = 0, $y$0 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ($n|0)>(1023); - if ($0) { - $1 = $x * 8.9884656743115795E+307; - $2 = (($n) + -1023)|0; - $3 = ($2|0)>(1023); - if ($3) { - $4 = $1 * 8.9884656743115795E+307; - $5 = (($n) + -2046)|0; - $6 = ($5|0)>(1023); - $$ = $6 ? 1023 : $5; - $$0 = $$;$y$0 = $4; - } else { - $$0 = $2;$y$0 = $1; - } - } else { - $7 = ($n|0)<(-1022); - if ($7) { - $8 = $x * 2.2250738585072014E-308; - $9 = (($n) + 1022)|0; - $10 = ($9|0)<(-1022); - if ($10) { - $11 = $8 * 2.2250738585072014E-308; - $12 = (($n) + 2044)|0; - $13 = ($12|0)<(-1022); - $$1 = $13 ? -1022 : $12; - $$0 = $$1;$y$0 = $11; - } else { - $$0 = $9;$y$0 = $8; - } - } else { - $$0 = $n;$y$0 = $x; - } - } - $14 = (($$0) + 1023)|0; - $15 = (_bitshift64Shl(($14|0),0,52)|0); - $16 = tempRet0; - HEAP32[tempDoublePtr>>2] = $15;HEAP32[tempDoublePtr+4>>2] = $16;$17 = +HEAPF64[tempDoublePtr>>3]; - $18 = $y$0 * $17; - return (+$18); -} -function _srand($s) { - $s = $s|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (($s) + -1)|0; - $1 = 34728; - $2 = $1; - HEAP32[$2>>2] = $0; - $3 = (($1) + 4)|0; - $4 = $3; - HEAP32[$4>>2] = 0; - return; -} -function _memchr($src,$c,$n) { - $src = $src|0; - $c = $c|0; - $n = $n|0; - var $$0$lcssa = 0, $$0$lcssa44 = 0, $$019 = 0, $$1$lcssa = 0, $$110 = 0, $$110$lcssa = 0, $$24 = 0, $$3 = 0, $$lcssa = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0; - var $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0; - var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond18 = 0, $s$0$lcssa = 0, $s$0$lcssa43 = 0, $s$020 = 0, $s$15 = 0, $s$2 = 0, $w$0$lcssa = 0, $w$011 = 0, $w$011$lcssa = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = $c & 255; - $1 = $src; - $2 = $1 & 3; - $3 = ($2|0)!=(0); - $4 = ($n|0)!=(0); - $or$cond18 = $4 & $3; - L1: do { - if ($or$cond18) { - $5 = $c&255; - $$019 = $n;$s$020 = $src; - while(1) { - $6 = HEAP8[$s$020>>0]|0; - $7 = ($6<<24>>24)==($5<<24>>24); + $6 = HEAP8[$$01112>>0]|0; + $7 = ($6<<24>>24)==(0); if ($7) { - $$0$lcssa44 = $$019;$s$0$lcssa43 = $s$020; - label = 6; + $$0$lcssa = $$014; break L1; } - $8 = ((($s$020)) + 1|0); - $9 = (($$019) + -1)|0; - $10 = $8; - $11 = $10 & 3; - $12 = ($11|0)!=(0); - $13 = ($9|0)!=(0); - $or$cond = $13 & $12; - if ($or$cond) { - $$019 = $9;$s$020 = $8; - } else { - $$0$lcssa = $9;$$lcssa = $13;$s$0$lcssa = $8; - label = 5; + $8 = (($$01013) + -1)|0; + $9 = ((($$01112)) + 1|0); + $10 = ((($$014)) + 1|0); + HEAP8[$$014>>0] = $6; + $11 = ($8|0)==(0); + if ($11) { + $$0$lcssa = $10; break; - } - } - } else { - $$0$lcssa = $n;$$lcssa = $4;$s$0$lcssa = $src; - label = 5; - } - } while(0); - if ((label|0) == 5) { - if ($$lcssa) { - $$0$lcssa44 = $$0$lcssa;$s$0$lcssa43 = $s$0$lcssa; - label = 6; - } else { - $$3 = 0;$s$2 = $s$0$lcssa; - } - } - L8: do { - if ((label|0) == 6) { - $14 = HEAP8[$s$0$lcssa43>>0]|0; - $15 = $c&255; - $16 = ($14<<24>>24)==($15<<24>>24); - if ($16) { - $$3 = $$0$lcssa44;$s$2 = $s$0$lcssa43; - } else { - $17 = Math_imul($0, 16843009)|0; - $18 = ($$0$lcssa44>>>0)>(3); - L11: do { - if ($18) { - $$110 = $$0$lcssa44;$w$011 = $s$0$lcssa43; - while(1) { - $19 = HEAP32[$w$011>>2]|0; - $20 = $19 ^ $17; - $21 = (($20) + -16843009)|0; - $22 = $20 & -2139062144; - $23 = $22 ^ -2139062144; - $24 = $23 & $21; - $25 = ($24|0)==(0); - if (!($25)) { - $$110$lcssa = $$110;$w$011$lcssa = $w$011; - break; - } - $26 = ((($w$011)) + 4|0); - $27 = (($$110) + -4)|0; - $28 = ($27>>>0)>(3); - if ($28) { - $$110 = $27;$w$011 = $26; - } else { - $$1$lcssa = $27;$w$0$lcssa = $26; - label = 11; - break L11; - } - } - $$24 = $$110$lcssa;$s$15 = $w$011$lcssa; - } else { - $$1$lcssa = $$0$lcssa44;$w$0$lcssa = $s$0$lcssa43; - label = 11; - } - } while(0); - if ((label|0) == 11) { - $29 = ($$1$lcssa|0)==(0); - if ($29) { - $$3 = 0;$s$2 = $w$0$lcssa; - break; - } else { - $$24 = $$1$lcssa;$s$15 = $w$0$lcssa; - } - } - while(1) { - $30 = HEAP8[$s$15>>0]|0; - $31 = ($30<<24>>24)==($15<<24>>24); - if ($31) { - $$3 = $$24;$s$2 = $s$15; - break L8; - } - $32 = ((($s$15)) + 1|0); - $33 = (($$24) + -1)|0; - $34 = ($33|0)==(0); - if ($34) { - $$3 = 0;$s$2 = $32; - break; - } else { - $$24 = $33;$s$15 = $32; - } + } else { + $$01013 = $8;$$01112 = $9;$$014 = $10; } } } } while(0); - $35 = ($$3|0)!=(0); - $36 = $35 ? $s$2 : 0; - return ($36|0); + HEAP8[$$0$lcssa>>0] = 0; + return ($0|0); } -function _memcmp($vl,$vr,$n) { - $vl = $vl|0; - $vr = $vr|0; - $n = $n|0; - var $$03 = 0, $$lcssa = 0, $$lcssa19 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $l$04 = 0, $r$05 = 0, label = 0, sp = 0; +function _strtok($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $$010 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = ($n|0)==(0); - if ($0) { - $11 = 0; - return ($11|0); - } else { - $$03 = $n;$l$04 = $vl;$r$05 = $vr; - } - while(1) { - $1 = HEAP8[$l$04>>0]|0; - $2 = HEAP8[$r$05>>0]|0; - $3 = ($1<<24>>24)==($2<<24>>24); - if (!($3)) { - $$lcssa = $1;$$lcssa19 = $2; - break; - } - $4 = (($$03) + -1)|0; - $5 = ((($l$04)) + 1|0); - $6 = ((($r$05)) + 1|0); - $7 = ($4|0)==(0); - if ($7) { - $11 = 0; - label = 5; - break; + $2 = ($0|0)==(0|0); + if ($2) { + $3 = HEAP32[8321]|0; + $4 = ($3|0)==(0|0); + if ($4) { + $$0 = 0; } else { - $$03 = $4;$l$04 = $5;$r$05 = $6; + $$010 = $3; + label = 3; } - } - if ((label|0) == 5) { - return ($11|0); - } - $8 = $$lcssa&255; - $9 = $$lcssa19&255; - $10 = (($8) - ($9))|0; - $11 = $10; - return ($11|0); -} -function _strcmp($l,$r) { - $l = $l|0; - $r = $r|0; - var $$014 = 0, $$05 = 0, $$lcssa = 0, $$lcssa2 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond3 = 0, label = 0; - var sp = 0; - sp = STACKTOP; - $0 = HEAP8[$l>>0]|0; - $1 = HEAP8[$r>>0]|0; - $2 = ($0<<24>>24)!=($1<<24>>24); - $3 = ($0<<24>>24)==(0); - $or$cond3 = $3 | $2; - if ($or$cond3) { - $$lcssa = $0;$$lcssa2 = $1; } else { - $$014 = $l;$$05 = $r; - while(1) { - $4 = ((($$014)) + 1|0); - $5 = ((($$05)) + 1|0); - $6 = HEAP8[$4>>0]|0; - $7 = HEAP8[$5>>0]|0; - $8 = ($6<<24>>24)!=($7<<24>>24); - $9 = ($6<<24>>24)==(0); - $or$cond = $9 | $8; - if ($or$cond) { - $$lcssa = $6;$$lcssa2 = $7; + $$010 = $0; + label = 3; + } + do { + if ((label|0) == 3) { + $5 = (_strspn($$010,$1)|0); + $6 = (($$010) + ($5)|0); + $7 = HEAP8[$6>>0]|0; + $8 = ($7<<24>>24)==(0); + if ($8) { + HEAP32[8321] = 0; + $$0 = 0; + break; + } + $9 = (_strcspn($6,$1)|0); + $10 = (($6) + ($9)|0); + HEAP32[8321] = $10; + $11 = HEAP8[$10>>0]|0; + $12 = ($11<<24>>24)==(0); + if ($12) { + HEAP32[8321] = 0; + $$0 = $6; break; } else { - $$014 = $4;$$05 = $5; - } - } - } - $10 = $$lcssa&255; - $11 = $$lcssa2&255; - $12 = (($10) - ($11))|0; - return ($12|0); -} -function _strncmp($_l,$_r,$n) { - $_l = $_l|0; - $_r = $_r|0; - $n = $n|0; - var $$03 = 0, $$08 = 0, $$08$in = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; - var $l$06 = 0, $or$cond = 0, $or$cond4 = 0, $r$0$lcssa = 0, $r$07 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ($n|0)==(0); - if ($0) { - $$03 = 0; - return ($$03|0); - } - $1 = HEAP8[$_l>>0]|0; - $2 = ($1<<24>>24)==(0); - L4: do { - if ($2) { - $13 = 0;$r$0$lcssa = $_r; - } else { - $$08$in = $n;$6 = $1;$l$06 = $_l;$r$07 = $_r; - while(1) { - $$08 = (($$08$in) + -1)|0; - $3 = HEAP8[$r$07>>0]|0; - $4 = ($3<<24>>24)!=(0); - $5 = ($$08|0)!=(0); - $or$cond = $5 & $4; - $7 = ($6<<24>>24)==($3<<24>>24); - $or$cond4 = $7 & $or$cond; - if (!($or$cond4)) { - $13 = $6;$r$0$lcssa = $r$07; - break L4; - } - $8 = ((($l$06)) + 1|0); - $9 = ((($r$07)) + 1|0); - $10 = HEAP8[$8>>0]|0; - $11 = ($10<<24>>24)==(0); - if ($11) { - $13 = 0;$r$0$lcssa = $9; - break; - } else { - $$08$in = $$08;$6 = $10;$l$06 = $8;$r$07 = $9; - } + $13 = ((($10)) + 1|0); + HEAP32[8321] = $13; + HEAP8[$10>>0] = 0; + $$0 = $6; + break; } } } while(0); - $12 = $13&255; - $14 = HEAP8[$r$0$lcssa>>0]|0; - $15 = $14&255; - $16 = (($12) - ($15))|0; - $$03 = $16; - return ($$03|0); + return ($$0|0); } -function _malloc($bytes) { - $bytes = $bytes|0; - var $$3$i = 0, $$lcssa = 0, $$lcssa211 = 0, $$lcssa215 = 0, $$lcssa216 = 0, $$lcssa217 = 0, $$lcssa219 = 0, $$lcssa222 = 0, $$lcssa224 = 0, $$lcssa226 = 0, $$lcssa228 = 0, $$lcssa230 = 0, $$lcssa232 = 0, $$pre = 0, $$pre$i = 0, $$pre$i$i = 0, $$pre$i22$i = 0, $$pre$i25 = 0, $$pre$phi$i$iZ2D = 0, $$pre$phi$i23$iZ2D = 0; - var $$pre$phi$i26Z2D = 0, $$pre$phi$iZ2D = 0, $$pre$phi58$i$iZ2D = 0, $$pre$phiZ2D = 0, $$pre105 = 0, $$pre106 = 0, $$pre14$i$i = 0, $$pre43$i = 0, $$pre56$i$i = 0, $$pre57$i$i = 0, $$pre8$i = 0, $$rsize$0$i = 0, $$rsize$3$i = 0, $$sum = 0, $$sum$i$i = 0, $$sum$i$i$i = 0, $$sum$i13$i = 0, $$sum$i14$i = 0, $$sum$i17$i = 0, $$sum$i19$i = 0; - var $$sum$i2334 = 0, $$sum$i32 = 0, $$sum$i35 = 0, $$sum1 = 0, $$sum1$i = 0, $$sum1$i$i = 0, $$sum1$i15$i = 0, $$sum1$i20$i = 0, $$sum1$i24 = 0, $$sum10 = 0, $$sum10$i = 0, $$sum10$i$i = 0, $$sum11$i = 0, $$sum11$i$i = 0, $$sum1112 = 0, $$sum112$i = 0, $$sum113$i = 0, $$sum114$i = 0, $$sum115$i = 0, $$sum116$i = 0; - var $$sum117$i = 0, $$sum118$i = 0, $$sum119$i = 0, $$sum12$i = 0, $$sum12$i$i = 0, $$sum120$i = 0, $$sum121$i = 0, $$sum122$i = 0, $$sum123$i = 0, $$sum124$i = 0, $$sum125$i = 0, $$sum13$i = 0, $$sum13$i$i = 0, $$sum14$i$i = 0, $$sum15$i = 0, $$sum15$i$i = 0, $$sum16$i = 0, $$sum16$i$i = 0, $$sum17$i = 0, $$sum17$i$i = 0; - var $$sum18$i = 0, $$sum1819$i$i = 0, $$sum2 = 0, $$sum2$i = 0, $$sum2$i$i = 0, $$sum2$i$i$i = 0, $$sum2$i16$i = 0, $$sum2$i18$i = 0, $$sum2$i21$i = 0, $$sum20$i$i = 0, $$sum21$i$i = 0, $$sum22$i$i = 0, $$sum23$i$i = 0, $$sum24$i$i = 0, $$sum25$i$i = 0, $$sum27$i$i = 0, $$sum28$i$i = 0, $$sum29$i$i = 0, $$sum3$i = 0, $$sum3$i27 = 0; - var $$sum30$i$i = 0, $$sum3132$i$i = 0, $$sum34$i$i = 0, $$sum3536$i$i = 0, $$sum3738$i$i = 0, $$sum39$i$i = 0, $$sum4 = 0, $$sum4$i = 0, $$sum4$i$i = 0, $$sum4$i28 = 0, $$sum40$i$i = 0, $$sum41$i$i = 0, $$sum42$i$i = 0, $$sum5$i = 0, $$sum5$i$i = 0, $$sum56 = 0, $$sum6$i = 0, $$sum67$i$i = 0, $$sum7$i = 0, $$sum8$i = 0; - var $$sum9 = 0, $$sum9$i = 0, $$sum9$i$i = 0, $$tsize$1$i = 0, $$v$0$i = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $1000 = 0, $1001 = 0, $1002 = 0, $1003 = 0, $1004 = 0, $1005 = 0, $1006 = 0, $1007 = 0, $1008 = 0, $1009 = 0, $101 = 0; - var $1010 = 0, $1011 = 0, $1012 = 0, $1013 = 0, $1014 = 0, $1015 = 0, $1016 = 0, $1017 = 0, $1018 = 0, $1019 = 0, $102 = 0, $1020 = 0, $1021 = 0, $1022 = 0, $1023 = 0, $1024 = 0, $1025 = 0, $1026 = 0, $1027 = 0, $1028 = 0; - var $1029 = 0, $103 = 0, $1030 = 0, $1031 = 0, $1032 = 0, $1033 = 0, $1034 = 0, $1035 = 0, $1036 = 0, $1037 = 0, $1038 = 0, $1039 = 0, $104 = 0, $1040 = 0, $1041 = 0, $1042 = 0, $1043 = 0, $1044 = 0, $1045 = 0, $1046 = 0; - var $1047 = 0, $1048 = 0, $1049 = 0, $105 = 0, $1050 = 0, $1051 = 0, $1052 = 0, $1053 = 0, $1054 = 0, $1055 = 0, $1056 = 0, $1057 = 0, $1058 = 0, $1059 = 0, $106 = 0, $1060 = 0, $1061 = 0, $1062 = 0, $1063 = 0, $1064 = 0; - var $1065 = 0, $1066 = 0, $1067 = 0, $1068 = 0, $1069 = 0, $107 = 0, $1070 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0; - var $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0; - var $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0; - var $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0; - var $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0; - var $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0; - var $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0; - var $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0; - var $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0; - var $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0; - var $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0; - var $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0; - var $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0; - var $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0; - var $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0; - var $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0; - var $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0; - var $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0, $424 = 0, $425 = 0; - var $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0, $442 = 0, $443 = 0; - var $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0, $460 = 0, $461 = 0; - var $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0, $478 = 0, $479 = 0, $48 = 0; - var $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0, $496 = 0, $497 = 0, $498 = 0; - var $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0, $513 = 0, $514 = 0, $515 = 0; - var $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0, $531 = 0, $532 = 0, $533 = 0; - var $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0, $549 = 0, $55 = 0, $550 = 0, $551 = 0; - var $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0, $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0, $562 = 0, $563 = 0, $564 = 0, $565 = 0, $566 = 0, $567 = 0, $568 = 0, $569 = 0, $57 = 0; - var $570 = 0, $571 = 0, $572 = 0, $573 = 0, $574 = 0, $575 = 0, $576 = 0, $577 = 0, $578 = 0, $579 = 0, $58 = 0, $580 = 0, $581 = 0, $582 = 0, $583 = 0, $584 = 0, $585 = 0, $586 = 0, $587 = 0, $588 = 0; - var $589 = 0, $59 = 0, $590 = 0, $591 = 0, $592 = 0, $593 = 0, $594 = 0, $595 = 0, $596 = 0, $597 = 0, $598 = 0, $599 = 0, $6 = 0, $60 = 0, $600 = 0, $601 = 0, $602 = 0, $603 = 0, $604 = 0, $605 = 0; - var $606 = 0, $607 = 0, $608 = 0, $609 = 0, $61 = 0, $610 = 0, $611 = 0, $612 = 0, $613 = 0, $614 = 0, $615 = 0, $616 = 0, $617 = 0, $618 = 0, $619 = 0, $62 = 0, $620 = 0, $621 = 0, $622 = 0, $623 = 0; - var $624 = 0, $625 = 0, $626 = 0, $627 = 0, $628 = 0, $629 = 0, $63 = 0, $630 = 0, $631 = 0, $632 = 0, $633 = 0, $634 = 0, $635 = 0, $636 = 0, $637 = 0, $638 = 0, $639 = 0, $64 = 0, $640 = 0, $641 = 0; - var $642 = 0, $643 = 0, $644 = 0, $645 = 0, $646 = 0, $647 = 0, $648 = 0, $649 = 0, $65 = 0, $650 = 0, $651 = 0, $652 = 0, $653 = 0, $654 = 0, $655 = 0, $656 = 0, $657 = 0, $658 = 0, $659 = 0, $66 = 0; - var $660 = 0, $661 = 0, $662 = 0, $663 = 0, $664 = 0, $665 = 0, $666 = 0, $667 = 0, $668 = 0, $669 = 0, $67 = 0, $670 = 0, $671 = 0, $672 = 0, $673 = 0, $674 = 0, $675 = 0, $676 = 0, $677 = 0, $678 = 0; - var $679 = 0, $68 = 0, $680 = 0, $681 = 0, $682 = 0, $683 = 0, $684 = 0, $685 = 0, $686 = 0, $687 = 0, $688 = 0, $689 = 0, $69 = 0, $690 = 0, $691 = 0, $692 = 0, $693 = 0, $694 = 0, $695 = 0, $696 = 0; - var $697 = 0, $698 = 0, $699 = 0, $7 = 0, $70 = 0, $700 = 0, $701 = 0, $702 = 0, $703 = 0, $704 = 0, $705 = 0, $706 = 0, $707 = 0, $708 = 0, $709 = 0, $71 = 0, $710 = 0, $711 = 0, $712 = 0, $713 = 0; - var $714 = 0, $715 = 0, $716 = 0, $717 = 0, $718 = 0, $719 = 0, $72 = 0, $720 = 0, $721 = 0, $722 = 0, $723 = 0, $724 = 0, $725 = 0, $726 = 0, $727 = 0, $728 = 0, $729 = 0, $73 = 0, $730 = 0, $731 = 0; - var $732 = 0, $733 = 0, $734 = 0, $735 = 0, $736 = 0, $737 = 0, $738 = 0, $739 = 0, $74 = 0, $740 = 0, $741 = 0, $742 = 0, $743 = 0, $744 = 0, $745 = 0, $746 = 0, $747 = 0, $748 = 0, $749 = 0, $75 = 0; - var $750 = 0, $751 = 0, $752 = 0, $753 = 0, $754 = 0, $755 = 0, $756 = 0, $757 = 0, $758 = 0, $759 = 0, $76 = 0, $760 = 0, $761 = 0, $762 = 0, $763 = 0, $764 = 0, $765 = 0, $766 = 0, $767 = 0, $768 = 0; - var $769 = 0, $77 = 0, $770 = 0, $771 = 0, $772 = 0, $773 = 0, $774 = 0, $775 = 0, $776 = 0, $777 = 0, $778 = 0, $779 = 0, $78 = 0, $780 = 0, $781 = 0, $782 = 0, $783 = 0, $784 = 0, $785 = 0, $786 = 0; - var $787 = 0, $788 = 0, $789 = 0, $79 = 0, $790 = 0, $791 = 0, $792 = 0, $793 = 0, $794 = 0, $795 = 0, $796 = 0, $797 = 0, $798 = 0, $799 = 0, $8 = 0, $80 = 0, $800 = 0, $801 = 0, $802 = 0, $803 = 0; - var $804 = 0, $805 = 0, $806 = 0, $807 = 0, $808 = 0, $809 = 0, $81 = 0, $810 = 0, $811 = 0, $812 = 0, $813 = 0, $814 = 0, $815 = 0, $816 = 0, $817 = 0, $818 = 0, $819 = 0, $82 = 0, $820 = 0, $821 = 0; - var $822 = 0, $823 = 0, $824 = 0, $825 = 0, $826 = 0, $827 = 0, $828 = 0, $829 = 0, $83 = 0, $830 = 0, $831 = 0, $832 = 0, $833 = 0, $834 = 0, $835 = 0, $836 = 0, $837 = 0, $838 = 0, $839 = 0, $84 = 0; - var $840 = 0, $841 = 0, $842 = 0, $843 = 0, $844 = 0, $845 = 0, $846 = 0, $847 = 0, $848 = 0, $849 = 0, $85 = 0, $850 = 0, $851 = 0, $852 = 0, $853 = 0, $854 = 0, $855 = 0, $856 = 0, $857 = 0, $858 = 0; - var $859 = 0, $86 = 0, $860 = 0, $861 = 0, $862 = 0, $863 = 0, $864 = 0, $865 = 0, $866 = 0, $867 = 0, $868 = 0, $869 = 0, $87 = 0, $870 = 0, $871 = 0, $872 = 0, $873 = 0, $874 = 0, $875 = 0, $876 = 0; - var $877 = 0, $878 = 0, $879 = 0, $88 = 0, $880 = 0, $881 = 0, $882 = 0, $883 = 0, $884 = 0, $885 = 0, $886 = 0, $887 = 0, $888 = 0, $889 = 0, $89 = 0, $890 = 0, $891 = 0, $892 = 0, $893 = 0, $894 = 0; - var $895 = 0, $896 = 0, $897 = 0, $898 = 0, $899 = 0, $9 = 0, $90 = 0, $900 = 0, $901 = 0, $902 = 0, $903 = 0, $904 = 0, $905 = 0, $906 = 0, $907 = 0, $908 = 0, $909 = 0, $91 = 0, $910 = 0, $911 = 0; - var $912 = 0, $913 = 0, $914 = 0, $915 = 0, $916 = 0, $917 = 0, $918 = 0, $919 = 0, $92 = 0, $920 = 0, $921 = 0, $922 = 0, $923 = 0, $924 = 0, $925 = 0, $926 = 0, $927 = 0, $928 = 0, $929 = 0, $93 = 0; - var $930 = 0, $931 = 0, $932 = 0, $933 = 0, $934 = 0, $935 = 0, $936 = 0, $937 = 0, $938 = 0, $939 = 0, $94 = 0, $940 = 0, $941 = 0, $942 = 0, $943 = 0, $944 = 0, $945 = 0, $946 = 0, $947 = 0, $948 = 0; - var $949 = 0, $95 = 0, $950 = 0, $951 = 0, $952 = 0, $953 = 0, $954 = 0, $955 = 0, $956 = 0, $957 = 0, $958 = 0, $959 = 0, $96 = 0, $960 = 0, $961 = 0, $962 = 0, $963 = 0, $964 = 0, $965 = 0, $966 = 0; - var $967 = 0, $968 = 0, $969 = 0, $97 = 0, $970 = 0, $971 = 0, $972 = 0, $973 = 0, $974 = 0, $975 = 0, $976 = 0, $977 = 0, $978 = 0, $979 = 0, $98 = 0, $980 = 0, $981 = 0, $982 = 0, $983 = 0, $984 = 0; - var $985 = 0, $986 = 0, $987 = 0, $988 = 0, $989 = 0, $99 = 0, $990 = 0, $991 = 0, $992 = 0, $993 = 0, $994 = 0, $995 = 0, $996 = 0, $997 = 0, $998 = 0, $999 = 0, $F$0$i$i = 0, $F1$0$i = 0, $F4$0 = 0, $F4$0$i$i = 0; - var $F5$0$i = 0, $I1$0$i$i = 0, $I7$0$i = 0, $I7$0$i$i = 0, $K12$029$i = 0, $K2$07$i$i = 0, $K8$051$i$i = 0, $R$0$i = 0, $R$0$i$i = 0, $R$0$i$i$lcssa = 0, $R$0$i$lcssa = 0, $R$0$i18 = 0, $R$0$i18$lcssa = 0, $R$1$i = 0, $R$1$i$i = 0, $R$1$i20 = 0, $RP$0$i = 0, $RP$0$i$i = 0, $RP$0$i$i$lcssa = 0, $RP$0$i$lcssa = 0; - var $RP$0$i17 = 0, $RP$0$i17$lcssa = 0, $T$0$lcssa$i = 0, $T$0$lcssa$i$i = 0, $T$0$lcssa$i25$i = 0, $T$028$i = 0, $T$028$i$lcssa = 0, $T$050$i$i = 0, $T$050$i$i$lcssa = 0, $T$06$i$i = 0, $T$06$i$i$lcssa = 0, $br$0$ph$i = 0, $cond$i = 0, $cond$i$i = 0, $cond$i21 = 0, $exitcond$i$i = 0, $i$02$i$i = 0, $idx$0$i = 0, $mem$0 = 0, $nb$0 = 0; - var $not$$i = 0, $not$$i$i = 0, $not$$i26$i = 0, $oldfirst$0$i$i = 0, $or$cond$i = 0, $or$cond$i30 = 0, $or$cond1$i = 0, $or$cond19$i = 0, $or$cond2$i = 0, $or$cond3$i = 0, $or$cond5$i = 0, $or$cond57$i = 0, $or$cond6$i = 0, $or$cond8$i = 0, $or$cond9$i = 0, $qsize$0$i$i = 0, $rsize$0$i = 0, $rsize$0$i$lcssa = 0, $rsize$0$i15 = 0, $rsize$1$i = 0; - var $rsize$2$i = 0, $rsize$3$lcssa$i = 0, $rsize$331$i = 0, $rst$0$i = 0, $rst$1$i = 0, $sizebits$0$i = 0, $sp$0$i$i = 0, $sp$0$i$i$i = 0, $sp$084$i = 0, $sp$084$i$lcssa = 0, $sp$183$i = 0, $sp$183$i$lcssa = 0, $ssize$0$$i = 0, $ssize$0$i = 0, $ssize$1$ph$i = 0, $ssize$2$i = 0, $t$0$i = 0, $t$0$i14 = 0, $t$1$i = 0, $t$2$ph$i = 0; - var $t$2$v$3$i = 0, $t$230$i = 0, $tbase$255$i = 0, $tsize$0$ph$i = 0, $tsize$0323944$i = 0, $tsize$1$i = 0, $tsize$254$i = 0, $v$0$i = 0, $v$0$i$lcssa = 0, $v$0$i16 = 0, $v$1$i = 0, $v$2$i = 0, $v$3$lcssa$i = 0, $v$3$ph$i = 0, $v$332$i = 0, label = 0, sp = 0; +function _malloc($0) { + $0 = $0|0; + var $$$0192$i = 0, $$$0193$i = 0, $$$4236$i = 0, $$$4351$i = 0, $$$i = 0, $$0 = 0, $$0$i$i = 0, $$0$i$i$i = 0, $$0$i18$i = 0, $$01$i$i = 0, $$0189$i = 0, $$0192$lcssa$i = 0, $$01928$i = 0, $$0193$lcssa$i = 0, $$01937$i = 0, $$0197 = 0, $$0199 = 0, $$0206$i$i = 0, $$0207$i$i = 0, $$0211$i$i = 0; + var $$0212$i$i = 0, $$024371$i = 0, $$0287$i$i = 0, $$0288$i$i = 0, $$0289$i$i = 0, $$0295$i$i = 0, $$0296$i$i = 0, $$0342$i = 0, $$0344$i = 0, $$0345$i = 0, $$0347$i = 0, $$0353$i = 0, $$0358$i = 0, $$0359$$i = 0, $$0359$i = 0, $$0361$i = 0, $$0362$i = 0, $$0368$i = 0, $$1196$i = 0, $$1198$i = 0; + var $$124470$i = 0, $$1291$i$i = 0, $$1293$i$i = 0, $$1343$i = 0, $$1348$i = 0, $$1363$i = 0, $$1370$i = 0, $$1374$i = 0, $$2234253237$i = 0, $$2247$ph$i = 0, $$2253$ph$i = 0, $$2355$i = 0, $$3$i = 0, $$3$i$i = 0, $$3$i201 = 0, $$3350$i = 0, $$3372$i = 0, $$4$lcssa$i = 0, $$4$ph$i = 0, $$415$i = 0; + var $$4236$i = 0, $$4351$lcssa$i = 0, $$435114$i = 0, $$4357$$4$i = 0, $$4357$ph$i = 0, $$435713$i = 0, $$723948$i = 0, $$749$i = 0, $$pre = 0, $$pre$i = 0, $$pre$i$i = 0, $$pre$i19$i = 0, $$pre$i210 = 0, $$pre$i212 = 0, $$pre$phi$i$iZ2D = 0, $$pre$phi$i20$iZ2D = 0, $$pre$phi$i211Z2D = 0, $$pre$phi$iZ2D = 0, $$pre$phi11$i$iZ2D = 0, $$pre$phiZ2D = 0; + var $$pre10$i$i = 0, $$sink1$i = 0, $$sink1$i$i = 0, $$sink16$i = 0, $$sink2$i = 0, $$sink2$i204 = 0, $$sink3$i = 0, $1 = 0, $10 = 0, $100 = 0, $1000 = 0, $1001 = 0, $1002 = 0, $1003 = 0, $1004 = 0, $1005 = 0, $1006 = 0, $1007 = 0, $1008 = 0, $1009 = 0; + var $101 = 0, $1010 = 0, $1011 = 0, $1012 = 0, $1013 = 0, $1014 = 0, $1015 = 0, $1016 = 0, $1017 = 0, $1018 = 0, $1019 = 0, $102 = 0, $1020 = 0, $1021 = 0, $1022 = 0, $1023 = 0, $1024 = 0, $1025 = 0, $1026 = 0, $1027 = 0; + var $1028 = 0, $1029 = 0, $103 = 0, $1030 = 0, $1031 = 0, $1032 = 0, $1033 = 0, $1034 = 0, $1035 = 0, $1036 = 0, $1037 = 0, $1038 = 0, $1039 = 0, $104 = 0, $1040 = 0, $1041 = 0, $1042 = 0, $1043 = 0, $1044 = 0, $1045 = 0; + var $1046 = 0, $1047 = 0, $1048 = 0, $1049 = 0, $105 = 0, $1050 = 0, $1051 = 0, $1052 = 0, $1053 = 0, $1054 = 0, $1055 = 0, $1056 = 0, $1057 = 0, $1058 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0; + var $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0; + var $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0; + var $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0; + var $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0; + var $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0; + var $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0; + var $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0; + var $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0; + var $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0; + var $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0; + var $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0; + var $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0; + var $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0; + var $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0; + var $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0; + var $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0; + var $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0; + var $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0; + var $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0; + var $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0; + var $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0; + var $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0; + var $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0; + var $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0, $531 = 0, $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0; + var $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0, $549 = 0, $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0, $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0; + var $562 = 0, $563 = 0, $564 = 0, $565 = 0, $566 = 0, $567 = 0, $568 = 0, $569 = 0, $57 = 0, $570 = 0, $571 = 0, $572 = 0, $573 = 0, $574 = 0, $575 = 0, $576 = 0, $577 = 0, $578 = 0, $579 = 0, $58 = 0; + var $580 = 0, $581 = 0, $582 = 0, $583 = 0, $584 = 0, $585 = 0, $586 = 0, $587 = 0, $588 = 0, $589 = 0, $59 = 0, $590 = 0, $591 = 0, $592 = 0, $593 = 0, $594 = 0, $595 = 0, $596 = 0, $597 = 0, $598 = 0; + var $599 = 0, $6 = 0, $60 = 0, $600 = 0, $601 = 0, $602 = 0, $603 = 0, $604 = 0, $605 = 0, $606 = 0, $607 = 0, $608 = 0, $609 = 0, $61 = 0, $610 = 0, $611 = 0, $612 = 0, $613 = 0, $614 = 0, $615 = 0; + var $616 = 0, $617 = 0, $618 = 0, $619 = 0, $62 = 0, $620 = 0, $621 = 0, $622 = 0, $623 = 0, $624 = 0, $625 = 0, $626 = 0, $627 = 0, $628 = 0, $629 = 0, $63 = 0, $630 = 0, $631 = 0, $632 = 0, $633 = 0; + var $634 = 0, $635 = 0, $636 = 0, $637 = 0, $638 = 0, $639 = 0, $64 = 0, $640 = 0, $641 = 0, $642 = 0, $643 = 0, $644 = 0, $645 = 0, $646 = 0, $647 = 0, $648 = 0, $649 = 0, $65 = 0, $650 = 0, $651 = 0; + var $652 = 0, $653 = 0, $654 = 0, $655 = 0, $656 = 0, $657 = 0, $658 = 0, $659 = 0, $66 = 0, $660 = 0, $661 = 0, $662 = 0, $663 = 0, $664 = 0, $665 = 0, $666 = 0, $667 = 0, $668 = 0, $669 = 0, $67 = 0; + var $670 = 0, $671 = 0, $672 = 0, $673 = 0, $674 = 0, $675 = 0, $676 = 0, $677 = 0, $678 = 0, $679 = 0, $68 = 0, $680 = 0, $681 = 0, $682 = 0, $683 = 0, $684 = 0, $685 = 0, $686 = 0, $687 = 0, $688 = 0; + var $689 = 0, $69 = 0, $690 = 0, $691 = 0, $692 = 0, $693 = 0, $694 = 0, $695 = 0, $696 = 0, $697 = 0, $698 = 0, $699 = 0, $7 = 0, $70 = 0, $700 = 0, $701 = 0, $702 = 0, $703 = 0, $704 = 0, $705 = 0; + var $706 = 0, $707 = 0, $708 = 0, $709 = 0, $71 = 0, $710 = 0, $711 = 0, $712 = 0, $713 = 0, $714 = 0, $715 = 0, $716 = 0, $717 = 0, $718 = 0, $719 = 0, $72 = 0, $720 = 0, $721 = 0, $722 = 0, $723 = 0; + var $724 = 0, $725 = 0, $726 = 0, $727 = 0, $728 = 0, $729 = 0, $73 = 0, $730 = 0, $731 = 0, $732 = 0, $733 = 0, $734 = 0, $735 = 0, $736 = 0, $737 = 0, $738 = 0, $739 = 0, $74 = 0, $740 = 0, $741 = 0; + var $742 = 0, $743 = 0, $744 = 0, $745 = 0, $746 = 0, $747 = 0, $748 = 0, $749 = 0, $75 = 0, $750 = 0, $751 = 0, $752 = 0, $753 = 0, $754 = 0, $755 = 0, $756 = 0, $757 = 0, $758 = 0, $759 = 0, $76 = 0; + var $760 = 0, $761 = 0, $762 = 0, $763 = 0, $764 = 0, $765 = 0, $766 = 0, $767 = 0, $768 = 0, $769 = 0, $77 = 0, $770 = 0, $771 = 0, $772 = 0, $773 = 0, $774 = 0, $775 = 0, $776 = 0, $777 = 0, $778 = 0; + var $779 = 0, $78 = 0, $780 = 0, $781 = 0, $782 = 0, $783 = 0, $784 = 0, $785 = 0, $786 = 0, $787 = 0, $788 = 0, $789 = 0, $79 = 0, $790 = 0, $791 = 0, $792 = 0, $793 = 0, $794 = 0, $795 = 0, $796 = 0; + var $797 = 0, $798 = 0, $799 = 0, $8 = 0, $80 = 0, $800 = 0, $801 = 0, $802 = 0, $803 = 0, $804 = 0, $805 = 0, $806 = 0, $807 = 0, $808 = 0, $809 = 0, $81 = 0, $810 = 0, $811 = 0, $812 = 0, $813 = 0; + var $814 = 0, $815 = 0, $816 = 0, $817 = 0, $818 = 0, $819 = 0, $82 = 0, $820 = 0, $821 = 0, $822 = 0, $823 = 0, $824 = 0, $825 = 0, $826 = 0, $827 = 0, $828 = 0, $829 = 0, $83 = 0, $830 = 0, $831 = 0; + var $832 = 0, $833 = 0, $834 = 0, $835 = 0, $836 = 0, $837 = 0, $838 = 0, $839 = 0, $84 = 0, $840 = 0, $841 = 0, $842 = 0, $843 = 0, $844 = 0, $845 = 0, $846 = 0, $847 = 0, $848 = 0, $849 = 0, $85 = 0; + var $850 = 0, $851 = 0, $852 = 0, $853 = 0, $854 = 0, $855 = 0, $856 = 0, $857 = 0, $858 = 0, $859 = 0, $86 = 0, $860 = 0, $861 = 0, $862 = 0, $863 = 0, $864 = 0, $865 = 0, $866 = 0, $867 = 0, $868 = 0; + var $869 = 0, $87 = 0, $870 = 0, $871 = 0, $872 = 0, $873 = 0, $874 = 0, $875 = 0, $876 = 0, $877 = 0, $878 = 0, $879 = 0, $88 = 0, $880 = 0, $881 = 0, $882 = 0, $883 = 0, $884 = 0, $885 = 0, $886 = 0; + var $887 = 0, $888 = 0, $889 = 0, $89 = 0, $890 = 0, $891 = 0, $892 = 0, $893 = 0, $894 = 0, $895 = 0, $896 = 0, $897 = 0, $898 = 0, $899 = 0, $9 = 0, $90 = 0, $900 = 0, $901 = 0, $902 = 0, $903 = 0; + var $904 = 0, $905 = 0, $906 = 0, $907 = 0, $908 = 0, $909 = 0, $91 = 0, $910 = 0, $911 = 0, $912 = 0, $913 = 0, $914 = 0, $915 = 0, $916 = 0, $917 = 0, $918 = 0, $919 = 0, $92 = 0, $920 = 0, $921 = 0; + var $922 = 0, $923 = 0, $924 = 0, $925 = 0, $926 = 0, $927 = 0, $928 = 0, $929 = 0, $93 = 0, $930 = 0, $931 = 0, $932 = 0, $933 = 0, $934 = 0, $935 = 0, $936 = 0, $937 = 0, $938 = 0, $939 = 0, $94 = 0; + var $940 = 0, $941 = 0, $942 = 0, $943 = 0, $944 = 0, $945 = 0, $946 = 0, $947 = 0, $948 = 0, $949 = 0, $95 = 0, $950 = 0, $951 = 0, $952 = 0, $953 = 0, $954 = 0, $955 = 0, $956 = 0, $957 = 0, $958 = 0; + var $959 = 0, $96 = 0, $960 = 0, $961 = 0, $962 = 0, $963 = 0, $964 = 0, $965 = 0, $966 = 0, $967 = 0, $968 = 0, $969 = 0, $97 = 0, $970 = 0, $971 = 0, $972 = 0, $973 = 0, $974 = 0, $975 = 0, $976 = 0; + var $977 = 0, $978 = 0, $979 = 0, $98 = 0, $980 = 0, $981 = 0, $982 = 0, $983 = 0, $984 = 0, $985 = 0, $986 = 0, $987 = 0, $988 = 0, $989 = 0, $99 = 0, $990 = 0, $991 = 0, $992 = 0, $993 = 0, $994 = 0; + var $995 = 0, $996 = 0, $997 = 0, $998 = 0, $999 = 0, $cond$i = 0, $cond$i$i = 0, $cond$i208 = 0, $exitcond$i$i = 0, $not$$i = 0, $not$$i$i = 0, $not$$i17$i = 0, $not$$i209 = 0, $not$$i216 = 0, $not$1$i = 0, $not$1$i203 = 0, $not$5$i = 0, $not$7$i$i = 0, $not$8$i = 0, $not$9$i = 0; + var $or$cond$i = 0, $or$cond$i214 = 0, $or$cond1$i = 0, $or$cond10$i = 0, $or$cond11$i = 0, $or$cond11$not$i = 0, $or$cond12$i = 0, $or$cond2$i = 0, $or$cond2$i215 = 0, $or$cond5$i = 0, $or$cond50$i = 0, $or$cond51$i = 0, $or$cond7$i = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = ($bytes>>>0)<(245); + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $1 = sp; + $2 = ($0>>>0)<(245); do { - if ($0) { - $1 = ($bytes>>>0)<(11); - $2 = (($bytes) + 11)|0; - $3 = $2 & -8; - $4 = $1 ? 16 : $3; - $5 = $4 >>> 3; - $6 = HEAP32[34736>>2]|0; - $7 = $6 >>> $5; - $8 = $7 & 3; - $9 = ($8|0)==(0); - if (!($9)) { - $10 = $7 & 1; - $11 = $10 ^ 1; - $12 = (($11) + ($5))|0; - $13 = $12 << 1; - $14 = (34776 + ($13<<2)|0); - $$sum10 = (($13) + 2)|0; - $15 = (34776 + ($$sum10<<2)|0); - $16 = HEAP32[$15>>2]|0; + if ($2) { + $3 = ($0>>>0)<(11); + $4 = (($0) + 11)|0; + $5 = $4 & -8; + $6 = $3 ? 16 : $5; + $7 = $6 >>> 3; + $8 = HEAP32[8322]|0; + $9 = $8 >>> $7; + $10 = $9 & 3; + $11 = ($10|0)==(0); + if (!($11)) { + $12 = $9 & 1; + $13 = $12 ^ 1; + $14 = (($13) + ($7))|0; + $15 = $14 << 1; + $16 = (33328 + ($15<<2)|0); $17 = ((($16)) + 8|0); $18 = HEAP32[$17>>2]|0; - $19 = ($14|0)==($18|0); + $19 = ((($18)) + 8|0); + $20 = HEAP32[$19>>2]|0; + $21 = ($16|0)==($20|0); do { - if ($19) { - $20 = 1 << $12; - $21 = $20 ^ -1; - $22 = $6 & $21; - HEAP32[34736>>2] = $22; + if ($21) { + $22 = 1 << $14; + $23 = $22 ^ -1; + $24 = $8 & $23; + HEAP32[8322] = $24; } else { - $23 = HEAP32[(34752)>>2]|0; - $24 = ($18>>>0)<($23>>>0); - if ($24) { + $25 = HEAP32[(33304)>>2]|0; + $26 = ($20>>>0)<($25>>>0); + if ($26) { _abort(); // unreachable; } - $25 = ((($18)) + 12|0); - $26 = HEAP32[$25>>2]|0; - $27 = ($26|0)==($16|0); - if ($27) { - HEAP32[$25>>2] = $14; - HEAP32[$15>>2] = $18; + $27 = ((($20)) + 12|0); + $28 = HEAP32[$27>>2]|0; + $29 = ($28|0)==($18|0); + if ($29) { + HEAP32[$27>>2] = $16; + HEAP32[$17>>2] = $20; break; } else { _abort(); @@ -58543,81 +70592,79 @@ function _malloc($bytes) { } } } while(0); - $28 = $12 << 3; - $29 = $28 | 3; - $30 = ((($16)) + 4|0); - HEAP32[$30>>2] = $29; - $$sum1112 = $28 | 4; - $31 = (($16) + ($$sum1112)|0); - $32 = HEAP32[$31>>2]|0; - $33 = $32 | 1; - HEAP32[$31>>2] = $33; - $mem$0 = $17; - return ($mem$0|0); + $30 = $14 << 3; + $31 = $30 | 3; + $32 = ((($18)) + 4|0); + HEAP32[$32>>2] = $31; + $33 = (($18) + ($30)|0); + $34 = ((($33)) + 4|0); + $35 = HEAP32[$34>>2]|0; + $36 = $35 | 1; + HEAP32[$34>>2] = $36; + $$0 = $19; + STACKTOP = sp;return ($$0|0); } - $34 = HEAP32[(34744)>>2]|0; - $35 = ($4>>>0)>($34>>>0); - if ($35) { - $36 = ($7|0)==(0); - if (!($36)) { - $37 = $7 << $5; - $38 = 2 << $5; - $39 = (0 - ($38))|0; - $40 = $38 | $39; - $41 = $37 & $40; + $37 = HEAP32[(33296)>>2]|0; + $38 = ($6>>>0)>($37>>>0); + if ($38) { + $39 = ($9|0)==(0); + if (!($39)) { + $40 = $9 << $7; + $41 = 2 << $7; $42 = (0 - ($41))|0; - $43 = $41 & $42; - $44 = (($43) + -1)|0; - $45 = $44 >>> 12; - $46 = $45 & 16; - $47 = $44 >>> $46; - $48 = $47 >>> 5; - $49 = $48 & 8; - $50 = $49 | $46; - $51 = $47 >>> $49; - $52 = $51 >>> 2; - $53 = $52 & 4; - $54 = $50 | $53; - $55 = $51 >>> $53; - $56 = $55 >>> 1; - $57 = $56 & 2; - $58 = $54 | $57; - $59 = $55 >>> $57; - $60 = $59 >>> 1; - $61 = $60 & 1; - $62 = $58 | $61; - $63 = $59 >>> $61; - $64 = (($62) + ($63))|0; - $65 = $64 << 1; - $66 = (34776 + ($65<<2)|0); - $$sum4 = (($65) + 2)|0; - $67 = (34776 + ($$sum4<<2)|0); - $68 = HEAP32[$67>>2]|0; - $69 = ((($68)) + 8|0); - $70 = HEAP32[$69>>2]|0; - $71 = ($66|0)==($70|0); + $43 = $41 | $42; + $44 = $40 & $43; + $45 = (0 - ($44))|0; + $46 = $44 & $45; + $47 = (($46) + -1)|0; + $48 = $47 >>> 12; + $49 = $48 & 16; + $50 = $47 >>> $49; + $51 = $50 >>> 5; + $52 = $51 & 8; + $53 = $52 | $49; + $54 = $50 >>> $52; + $55 = $54 >>> 2; + $56 = $55 & 4; + $57 = $53 | $56; + $58 = $54 >>> $56; + $59 = $58 >>> 1; + $60 = $59 & 2; + $61 = $57 | $60; + $62 = $58 >>> $60; + $63 = $62 >>> 1; + $64 = $63 & 1; + $65 = $61 | $64; + $66 = $62 >>> $64; + $67 = (($65) + ($66))|0; + $68 = $67 << 1; + $69 = (33328 + ($68<<2)|0); + $70 = ((($69)) + 8|0); + $71 = HEAP32[$70>>2]|0; + $72 = ((($71)) + 8|0); + $73 = HEAP32[$72>>2]|0; + $74 = ($69|0)==($73|0); do { - if ($71) { - $72 = 1 << $64; - $73 = $72 ^ -1; - $74 = $6 & $73; - HEAP32[34736>>2] = $74; - $88 = $34; + if ($74) { + $75 = 1 << $67; + $76 = $75 ^ -1; + $77 = $8 & $76; + HEAP32[8322] = $77; + $98 = $77; } else { - $75 = HEAP32[(34752)>>2]|0; - $76 = ($70>>>0)<($75>>>0); - if ($76) { + $78 = HEAP32[(33304)>>2]|0; + $79 = ($73>>>0)<($78>>>0); + if ($79) { _abort(); // unreachable; } - $77 = ((($70)) + 12|0); - $78 = HEAP32[$77>>2]|0; - $79 = ($78|0)==($68|0); - if ($79) { - HEAP32[$77>>2] = $66; - HEAP32[$67>>2] = $70; - $$pre = HEAP32[(34744)>>2]|0; - $88 = $$pre; + $80 = ((($73)) + 12|0); + $81 = HEAP32[$80>>2]|0; + $82 = ($81|0)==($71|0); + if ($82) { + HEAP32[$80>>2] = $69; + HEAP32[$70>>2] = $73; + $98 = $8; break; } else { _abort(); @@ -58625,205 +70672,207 @@ function _malloc($bytes) { } } } while(0); - $80 = $64 << 3; - $81 = (($80) - ($4))|0; - $82 = $4 | 3; - $83 = ((($68)) + 4|0); - HEAP32[$83>>2] = $82; - $84 = (($68) + ($4)|0); - $85 = $81 | 1; - $$sum56 = $4 | 4; - $86 = (($68) + ($$sum56)|0); + $83 = $67 << 3; + $84 = (($83) - ($6))|0; + $85 = $6 | 3; + $86 = ((($71)) + 4|0); HEAP32[$86>>2] = $85; - $87 = (($68) + ($80)|0); - HEAP32[$87>>2] = $81; - $89 = ($88|0)==(0); - if (!($89)) { - $90 = HEAP32[(34756)>>2]|0; - $91 = $88 >>> 3; - $92 = $91 << 1; - $93 = (34776 + ($92<<2)|0); - $94 = HEAP32[34736>>2]|0; - $95 = 1 << $91; - $96 = $94 & $95; - $97 = ($96|0)==(0); - if ($97) { - $98 = $94 | $95; - HEAP32[34736>>2] = $98; - $$pre105 = (($92) + 2)|0; - $$pre106 = (34776 + ($$pre105<<2)|0); - $$pre$phiZ2D = $$pre106;$F4$0 = $93; + $87 = (($71) + ($6)|0); + $88 = $84 | 1; + $89 = ((($87)) + 4|0); + HEAP32[$89>>2] = $88; + $90 = (($87) + ($84)|0); + HEAP32[$90>>2] = $84; + $91 = ($37|0)==(0); + if (!($91)) { + $92 = HEAP32[(33308)>>2]|0; + $93 = $37 >>> 3; + $94 = $93 << 1; + $95 = (33328 + ($94<<2)|0); + $96 = 1 << $93; + $97 = $98 & $96; + $99 = ($97|0)==(0); + if ($99) { + $100 = $98 | $96; + HEAP32[8322] = $100; + $$pre = ((($95)) + 8|0); + $$0199 = $95;$$pre$phiZ2D = $$pre; } else { - $$sum9 = (($92) + 2)|0; - $99 = (34776 + ($$sum9<<2)|0); - $100 = HEAP32[$99>>2]|0; - $101 = HEAP32[(34752)>>2]|0; - $102 = ($100>>>0)<($101>>>0); - if ($102) { + $101 = ((($95)) + 8|0); + $102 = HEAP32[$101>>2]|0; + $103 = HEAP32[(33304)>>2]|0; + $104 = ($102>>>0)<($103>>>0); + if ($104) { _abort(); // unreachable; } else { - $$pre$phiZ2D = $99;$F4$0 = $100; + $$0199 = $102;$$pre$phiZ2D = $101; } } - HEAP32[$$pre$phiZ2D>>2] = $90; - $103 = ((($F4$0)) + 12|0); - HEAP32[$103>>2] = $90; - $104 = ((($90)) + 8|0); - HEAP32[$104>>2] = $F4$0; - $105 = ((($90)) + 12|0); - HEAP32[$105>>2] = $93; + HEAP32[$$pre$phiZ2D>>2] = $92; + $105 = ((($$0199)) + 12|0); + HEAP32[$105>>2] = $92; + $106 = ((($92)) + 8|0); + HEAP32[$106>>2] = $$0199; + $107 = ((($92)) + 12|0); + HEAP32[$107>>2] = $95; } - HEAP32[(34744)>>2] = $81; - HEAP32[(34756)>>2] = $84; - $mem$0 = $69; - return ($mem$0|0); + HEAP32[(33296)>>2] = $84; + HEAP32[(33308)>>2] = $87; + $$0 = $72; + STACKTOP = sp;return ($$0|0); } - $106 = HEAP32[(34740)>>2]|0; - $107 = ($106|0)==(0); - if ($107) { - $nb$0 = $4; + $108 = HEAP32[(33292)>>2]|0; + $109 = ($108|0)==(0); + if ($109) { + $$0197 = $6; } else { - $108 = (0 - ($106))|0; - $109 = $106 & $108; - $110 = (($109) + -1)|0; - $111 = $110 >>> 12; - $112 = $111 & 16; - $113 = $110 >>> $112; - $114 = $113 >>> 5; - $115 = $114 & 8; - $116 = $115 | $112; - $117 = $113 >>> $115; - $118 = $117 >>> 2; - $119 = $118 & 4; - $120 = $116 | $119; - $121 = $117 >>> $119; - $122 = $121 >>> 1; - $123 = $122 & 2; - $124 = $120 | $123; - $125 = $121 >>> $123; - $126 = $125 >>> 1; - $127 = $126 & 1; - $128 = $124 | $127; - $129 = $125 >>> $127; - $130 = (($128) + ($129))|0; - $131 = (35040 + ($130<<2)|0); - $132 = HEAP32[$131>>2]|0; - $133 = ((($132)) + 4|0); + $110 = (0 - ($108))|0; + $111 = $108 & $110; + $112 = (($111) + -1)|0; + $113 = $112 >>> 12; + $114 = $113 & 16; + $115 = $112 >>> $114; + $116 = $115 >>> 5; + $117 = $116 & 8; + $118 = $117 | $114; + $119 = $115 >>> $117; + $120 = $119 >>> 2; + $121 = $120 & 4; + $122 = $118 | $121; + $123 = $119 >>> $121; + $124 = $123 >>> 1; + $125 = $124 & 2; + $126 = $122 | $125; + $127 = $123 >>> $125; + $128 = $127 >>> 1; + $129 = $128 & 1; + $130 = $126 | $129; + $131 = $127 >>> $129; + $132 = (($130) + ($131))|0; + $133 = (33592 + ($132<<2)|0); $134 = HEAP32[$133>>2]|0; - $135 = $134 & -8; - $136 = (($135) - ($4))|0; - $rsize$0$i = $136;$t$0$i = $132;$v$0$i = $132; - while(1) { - $137 = ((($t$0$i)) + 16|0); - $138 = HEAP32[$137>>2]|0; - $139 = ($138|0)==(0|0); - if ($139) { - $140 = ((($t$0$i)) + 20|0); - $141 = HEAP32[$140>>2]|0; - $142 = ($141|0)==(0|0); - if ($142) { - $rsize$0$i$lcssa = $rsize$0$i;$v$0$i$lcssa = $v$0$i; + $135 = ((($134)) + 4|0); + $136 = HEAP32[$135>>2]|0; + $137 = $136 & -8; + $138 = (($137) - ($6))|0; + $139 = ((($134)) + 16|0); + $140 = HEAP32[$139>>2]|0; + $not$5$i = ($140|0)==(0|0); + $$sink16$i = $not$5$i&1; + $141 = (((($134)) + 16|0) + ($$sink16$i<<2)|0); + $142 = HEAP32[$141>>2]|0; + $143 = ($142|0)==(0|0); + if ($143) { + $$0192$lcssa$i = $134;$$0193$lcssa$i = $138; + } else { + $$01928$i = $134;$$01937$i = $138;$145 = $142; + while(1) { + $144 = ((($145)) + 4|0); + $146 = HEAP32[$144>>2]|0; + $147 = $146 & -8; + $148 = (($147) - ($6))|0; + $149 = ($148>>>0)<($$01937$i>>>0); + $$$0193$i = $149 ? $148 : $$01937$i; + $$$0192$i = $149 ? $145 : $$01928$i; + $150 = ((($145)) + 16|0); + $151 = HEAP32[$150>>2]|0; + $not$$i = ($151|0)==(0|0); + $$sink1$i = $not$$i&1; + $152 = (((($145)) + 16|0) + ($$sink1$i<<2)|0); + $153 = HEAP32[$152>>2]|0; + $154 = ($153|0)==(0|0); + if ($154) { + $$0192$lcssa$i = $$$0192$i;$$0193$lcssa$i = $$$0193$i; break; } else { - $144 = $141; + $$01928$i = $$$0192$i;$$01937$i = $$$0193$i;$145 = $153; } - } else { - $144 = $138; } - $143 = ((($144)) + 4|0); - $145 = HEAP32[$143>>2]|0; - $146 = $145 & -8; - $147 = (($146) - ($4))|0; - $148 = ($147>>>0)<($rsize$0$i>>>0); - $$rsize$0$i = $148 ? $147 : $rsize$0$i; - $$v$0$i = $148 ? $144 : $v$0$i; - $rsize$0$i = $$rsize$0$i;$t$0$i = $144;$v$0$i = $$v$0$i; } - $149 = HEAP32[(34752)>>2]|0; - $150 = ($v$0$i$lcssa>>>0)<($149>>>0); - if ($150) { + $155 = HEAP32[(33304)>>2]|0; + $156 = ($$0192$lcssa$i>>>0)<($155>>>0); + if ($156) { _abort(); // unreachable; } - $151 = (($v$0$i$lcssa) + ($4)|0); - $152 = ($v$0$i$lcssa>>>0)<($151>>>0); - if (!($152)) { + $157 = (($$0192$lcssa$i) + ($6)|0); + $158 = ($$0192$lcssa$i>>>0)<($157>>>0); + if (!($158)) { _abort(); // unreachable; } - $153 = ((($v$0$i$lcssa)) + 24|0); - $154 = HEAP32[$153>>2]|0; - $155 = ((($v$0$i$lcssa)) + 12|0); - $156 = HEAP32[$155>>2]|0; - $157 = ($156|0)==($v$0$i$lcssa|0); + $159 = ((($$0192$lcssa$i)) + 24|0); + $160 = HEAP32[$159>>2]|0; + $161 = ((($$0192$lcssa$i)) + 12|0); + $162 = HEAP32[$161>>2]|0; + $163 = ($162|0)==($$0192$lcssa$i|0); do { - if ($157) { - $167 = ((($v$0$i$lcssa)) + 20|0); - $168 = HEAP32[$167>>2]|0; - $169 = ($168|0)==(0|0); - if ($169) { - $170 = ((($v$0$i$lcssa)) + 16|0); - $171 = HEAP32[$170>>2]|0; - $172 = ($171|0)==(0|0); - if ($172) { - $R$1$i = 0; - break; - } else { - $R$0$i = $171;$RP$0$i = $170; - } - } else { - $R$0$i = $168;$RP$0$i = $167; - } - while(1) { - $173 = ((($R$0$i)) + 20|0); - $174 = HEAP32[$173>>2]|0; - $175 = ($174|0)==(0|0); - if (!($175)) { - $R$0$i = $174;$RP$0$i = $173; - continue; - } - $176 = ((($R$0$i)) + 16|0); + if ($163) { + $173 = ((($$0192$lcssa$i)) + 20|0); + $174 = HEAP32[$173>>2]|0; + $175 = ($174|0)==(0|0); + if ($175) { + $176 = ((($$0192$lcssa$i)) + 16|0); $177 = HEAP32[$176>>2]|0; $178 = ($177|0)==(0|0); if ($178) { - $R$0$i$lcssa = $R$0$i;$RP$0$i$lcssa = $RP$0$i; + $$3$i = 0; break; } else { - $R$0$i = $177;$RP$0$i = $176; + $$1196$i = $177;$$1198$i = $176; + } + } else { + $$1196$i = $174;$$1198$i = $173; + } + while(1) { + $179 = ((($$1196$i)) + 20|0); + $180 = HEAP32[$179>>2]|0; + $181 = ($180|0)==(0|0); + if (!($181)) { + $$1196$i = $180;$$1198$i = $179; + continue; + } + $182 = ((($$1196$i)) + 16|0); + $183 = HEAP32[$182>>2]|0; + $184 = ($183|0)==(0|0); + if ($184) { + break; + } else { + $$1196$i = $183;$$1198$i = $182; } } - $179 = ($RP$0$i$lcssa>>>0)<($149>>>0); - if ($179) { + $185 = ($$1198$i>>>0)<($155>>>0); + if ($185) { _abort(); // unreachable; } else { - HEAP32[$RP$0$i$lcssa>>2] = 0; - $R$1$i = $R$0$i$lcssa; + HEAP32[$$1198$i>>2] = 0; + $$3$i = $$1196$i; break; } } else { - $158 = ((($v$0$i$lcssa)) + 8|0); - $159 = HEAP32[$158>>2]|0; - $160 = ($159>>>0)<($149>>>0); - if ($160) { - _abort(); - // unreachable; - } - $161 = ((($159)) + 12|0); - $162 = HEAP32[$161>>2]|0; - $163 = ($162|0)==($v$0$i$lcssa|0); - if (!($163)) { - _abort(); - // unreachable; - } - $164 = ((($156)) + 8|0); + $164 = ((($$0192$lcssa$i)) + 8|0); $165 = HEAP32[$164>>2]|0; - $166 = ($165|0)==($v$0$i$lcssa|0); + $166 = ($165>>>0)<($155>>>0); if ($166) { - HEAP32[$161>>2] = $156; - HEAP32[$164>>2] = $159; - $R$1$i = $156; + _abort(); + // unreachable; + } + $167 = ((($165)) + 12|0); + $168 = HEAP32[$167>>2]|0; + $169 = ($168|0)==($$0192$lcssa$i|0); + if (!($169)) { + _abort(); + // unreachable; + } + $170 = ((($162)) + 8|0); + $171 = HEAP32[$170>>2]|0; + $172 = ($171|0)==($$0192$lcssa$i|0); + if ($172) { + HEAP32[$167>>2] = $162; + HEAP32[$170>>2] = $165; + $$3$i = $162; break; } else { _abort(); @@ -58831,434 +70880,426 @@ function _malloc($bytes) { } } } while(0); - $180 = ($154|0)==(0|0); - do { - if (!($180)) { - $181 = ((($v$0$i$lcssa)) + 28|0); - $182 = HEAP32[$181>>2]|0; - $183 = (35040 + ($182<<2)|0); - $184 = HEAP32[$183>>2]|0; - $185 = ($v$0$i$lcssa|0)==($184|0); - if ($185) { - HEAP32[$183>>2] = $R$1$i; - $cond$i = ($R$1$i|0)==(0|0); - if ($cond$i) { - $186 = 1 << $182; - $187 = $186 ^ -1; - $188 = HEAP32[(34740)>>2]|0; - $189 = $188 & $187; - HEAP32[(34740)>>2] = $189; - break; - } - } else { - $190 = HEAP32[(34752)>>2]|0; - $191 = ($154>>>0)<($190>>>0); - if ($191) { - _abort(); - // unreachable; - } - $192 = ((($154)) + 16|0); - $193 = HEAP32[$192>>2]|0; - $194 = ($193|0)==($v$0$i$lcssa|0); - if ($194) { - HEAP32[$192>>2] = $R$1$i; - } else { - $195 = ((($154)) + 20|0); - HEAP32[$195>>2] = $R$1$i; - } - $196 = ($R$1$i|0)==(0|0); - if ($196) { - break; - } - } - $197 = HEAP32[(34752)>>2]|0; - $198 = ($R$1$i>>>0)<($197>>>0); - if ($198) { - _abort(); - // unreachable; - } - $199 = ((($R$1$i)) + 24|0); - HEAP32[$199>>2] = $154; - $200 = ((($v$0$i$lcssa)) + 16|0); - $201 = HEAP32[$200>>2]|0; - $202 = ($201|0)==(0|0); + $186 = ($160|0)==(0|0); + L73: do { + if (!($186)) { + $187 = ((($$0192$lcssa$i)) + 28|0); + $188 = HEAP32[$187>>2]|0; + $189 = (33592 + ($188<<2)|0); + $190 = HEAP32[$189>>2]|0; + $191 = ($$0192$lcssa$i|0)==($190|0); do { - if (!($202)) { - $203 = ($201>>>0)<($197>>>0); - if ($203) { + if ($191) { + HEAP32[$189>>2] = $$3$i; + $cond$i = ($$3$i|0)==(0|0); + if ($cond$i) { + $192 = 1 << $188; + $193 = $192 ^ -1; + $194 = $108 & $193; + HEAP32[(33292)>>2] = $194; + break L73; + } + } else { + $195 = HEAP32[(33304)>>2]|0; + $196 = ($160>>>0)<($195>>>0); + if ($196) { _abort(); // unreachable; } else { - $204 = ((($R$1$i)) + 16|0); - HEAP32[$204>>2] = $201; - $205 = ((($201)) + 24|0); - HEAP32[$205>>2] = $R$1$i; + $197 = ((($160)) + 16|0); + $198 = HEAP32[$197>>2]|0; + $not$1$i = ($198|0)!=($$0192$lcssa$i|0); + $$sink2$i = $not$1$i&1; + $199 = (((($160)) + 16|0) + ($$sink2$i<<2)|0); + HEAP32[$199>>2] = $$3$i; + $200 = ($$3$i|0)==(0|0); + if ($200) { + break L73; + } else { + break; + } + } + } + } while(0); + $201 = HEAP32[(33304)>>2]|0; + $202 = ($$3$i>>>0)<($201>>>0); + if ($202) { + _abort(); + // unreachable; + } + $203 = ((($$3$i)) + 24|0); + HEAP32[$203>>2] = $160; + $204 = ((($$0192$lcssa$i)) + 16|0); + $205 = HEAP32[$204>>2]|0; + $206 = ($205|0)==(0|0); + do { + if (!($206)) { + $207 = ($205>>>0)<($201>>>0); + if ($207) { + _abort(); + // unreachable; + } else { + $208 = ((($$3$i)) + 16|0); + HEAP32[$208>>2] = $205; + $209 = ((($205)) + 24|0); + HEAP32[$209>>2] = $$3$i; break; } } } while(0); - $206 = ((($v$0$i$lcssa)) + 20|0); - $207 = HEAP32[$206>>2]|0; - $208 = ($207|0)==(0|0); - if (!($208)) { - $209 = HEAP32[(34752)>>2]|0; - $210 = ($207>>>0)<($209>>>0); - if ($210) { + $210 = ((($$0192$lcssa$i)) + 20|0); + $211 = HEAP32[$210>>2]|0; + $212 = ($211|0)==(0|0); + if (!($212)) { + $213 = HEAP32[(33304)>>2]|0; + $214 = ($211>>>0)<($213>>>0); + if ($214) { _abort(); // unreachable; } else { - $211 = ((($R$1$i)) + 20|0); - HEAP32[$211>>2] = $207; - $212 = ((($207)) + 24|0); - HEAP32[$212>>2] = $R$1$i; + $215 = ((($$3$i)) + 20|0); + HEAP32[$215>>2] = $211; + $216 = ((($211)) + 24|0); + HEAP32[$216>>2] = $$3$i; break; } } } } while(0); - $213 = ($rsize$0$i$lcssa>>>0)<(16); - if ($213) { - $214 = (($rsize$0$i$lcssa) + ($4))|0; - $215 = $214 | 3; - $216 = ((($v$0$i$lcssa)) + 4|0); - HEAP32[$216>>2] = $215; - $$sum4$i = (($214) + 4)|0; - $217 = (($v$0$i$lcssa) + ($$sum4$i)|0); - $218 = HEAP32[$217>>2]|0; - $219 = $218 | 1; - HEAP32[$217>>2] = $219; + $217 = ($$0193$lcssa$i>>>0)<(16); + if ($217) { + $218 = (($$0193$lcssa$i) + ($6))|0; + $219 = $218 | 3; + $220 = ((($$0192$lcssa$i)) + 4|0); + HEAP32[$220>>2] = $219; + $221 = (($$0192$lcssa$i) + ($218)|0); + $222 = ((($221)) + 4|0); + $223 = HEAP32[$222>>2]|0; + $224 = $223 | 1; + HEAP32[$222>>2] = $224; } else { - $220 = $4 | 3; - $221 = ((($v$0$i$lcssa)) + 4|0); - HEAP32[$221>>2] = $220; - $222 = $rsize$0$i$lcssa | 1; - $$sum$i35 = $4 | 4; - $223 = (($v$0$i$lcssa) + ($$sum$i35)|0); - HEAP32[$223>>2] = $222; - $$sum1$i = (($rsize$0$i$lcssa) + ($4))|0; - $224 = (($v$0$i$lcssa) + ($$sum1$i)|0); - HEAP32[$224>>2] = $rsize$0$i$lcssa; - $225 = HEAP32[(34744)>>2]|0; - $226 = ($225|0)==(0); - if (!($226)) { - $227 = HEAP32[(34756)>>2]|0; - $228 = $225 >>> 3; - $229 = $228 << 1; - $230 = (34776 + ($229<<2)|0); - $231 = HEAP32[34736>>2]|0; - $232 = 1 << $228; - $233 = $231 & $232; - $234 = ($233|0)==(0); - if ($234) { - $235 = $231 | $232; - HEAP32[34736>>2] = $235; - $$pre$i = (($229) + 2)|0; - $$pre8$i = (34776 + ($$pre$i<<2)|0); - $$pre$phi$iZ2D = $$pre8$i;$F1$0$i = $230; + $225 = $6 | 3; + $226 = ((($$0192$lcssa$i)) + 4|0); + HEAP32[$226>>2] = $225; + $227 = $$0193$lcssa$i | 1; + $228 = ((($157)) + 4|0); + HEAP32[$228>>2] = $227; + $229 = (($157) + ($$0193$lcssa$i)|0); + HEAP32[$229>>2] = $$0193$lcssa$i; + $230 = ($37|0)==(0); + if (!($230)) { + $231 = HEAP32[(33308)>>2]|0; + $232 = $37 >>> 3; + $233 = $232 << 1; + $234 = (33328 + ($233<<2)|0); + $235 = 1 << $232; + $236 = $8 & $235; + $237 = ($236|0)==(0); + if ($237) { + $238 = $8 | $235; + HEAP32[8322] = $238; + $$pre$i = ((($234)) + 8|0); + $$0189$i = $234;$$pre$phi$iZ2D = $$pre$i; } else { - $$sum3$i = (($229) + 2)|0; - $236 = (34776 + ($$sum3$i<<2)|0); - $237 = HEAP32[$236>>2]|0; - $238 = HEAP32[(34752)>>2]|0; - $239 = ($237>>>0)<($238>>>0); - if ($239) { + $239 = ((($234)) + 8|0); + $240 = HEAP32[$239>>2]|0; + $241 = HEAP32[(33304)>>2]|0; + $242 = ($240>>>0)<($241>>>0); + if ($242) { _abort(); // unreachable; } else { - $$pre$phi$iZ2D = $236;$F1$0$i = $237; + $$0189$i = $240;$$pre$phi$iZ2D = $239; } } - HEAP32[$$pre$phi$iZ2D>>2] = $227; - $240 = ((($F1$0$i)) + 12|0); - HEAP32[$240>>2] = $227; - $241 = ((($227)) + 8|0); - HEAP32[$241>>2] = $F1$0$i; - $242 = ((($227)) + 12|0); - HEAP32[$242>>2] = $230; + HEAP32[$$pre$phi$iZ2D>>2] = $231; + $243 = ((($$0189$i)) + 12|0); + HEAP32[$243>>2] = $231; + $244 = ((($231)) + 8|0); + HEAP32[$244>>2] = $$0189$i; + $245 = ((($231)) + 12|0); + HEAP32[$245>>2] = $234; } - HEAP32[(34744)>>2] = $rsize$0$i$lcssa; - HEAP32[(34756)>>2] = $151; + HEAP32[(33296)>>2] = $$0193$lcssa$i; + HEAP32[(33308)>>2] = $157; } - $243 = ((($v$0$i$lcssa)) + 8|0); - $mem$0 = $243; - return ($mem$0|0); + $246 = ((($$0192$lcssa$i)) + 8|0); + $$0 = $246; + STACKTOP = sp;return ($$0|0); } } else { - $nb$0 = $4; + $$0197 = $6; } } else { - $244 = ($bytes>>>0)>(4294967231); - if ($244) { - $nb$0 = -1; + $247 = ($0>>>0)>(4294967231); + if ($247) { + $$0197 = -1; } else { - $245 = (($bytes) + 11)|0; - $246 = $245 & -8; - $247 = HEAP32[(34740)>>2]|0; - $248 = ($247|0)==(0); - if ($248) { - $nb$0 = $246; + $248 = (($0) + 11)|0; + $249 = $248 & -8; + $250 = HEAP32[(33292)>>2]|0; + $251 = ($250|0)==(0); + if ($251) { + $$0197 = $249; } else { - $249 = (0 - ($246))|0; - $250 = $245 >>> 8; - $251 = ($250|0)==(0); - if ($251) { - $idx$0$i = 0; + $252 = (0 - ($249))|0; + $253 = $248 >>> 8; + $254 = ($253|0)==(0); + if ($254) { + $$0358$i = 0; } else { - $252 = ($246>>>0)>(16777215); - if ($252) { - $idx$0$i = 31; + $255 = ($249>>>0)>(16777215); + if ($255) { + $$0358$i = 31; } else { - $253 = (($250) + 1048320)|0; - $254 = $253 >>> 16; - $255 = $254 & 8; - $256 = $250 << $255; - $257 = (($256) + 520192)|0; - $258 = $257 >>> 16; - $259 = $258 & 4; - $260 = $259 | $255; - $261 = $256 << $259; - $262 = (($261) + 245760)|0; - $263 = $262 >>> 16; - $264 = $263 & 2; - $265 = $260 | $264; - $266 = (14 - ($265))|0; - $267 = $261 << $264; - $268 = $267 >>> 15; - $269 = (($266) + ($268))|0; - $270 = $269 << 1; - $271 = (($269) + 7)|0; - $272 = $246 >>> $271; - $273 = $272 & 1; - $274 = $273 | $270; - $idx$0$i = $274; + $256 = (($253) + 1048320)|0; + $257 = $256 >>> 16; + $258 = $257 & 8; + $259 = $253 << $258; + $260 = (($259) + 520192)|0; + $261 = $260 >>> 16; + $262 = $261 & 4; + $263 = $262 | $258; + $264 = $259 << $262; + $265 = (($264) + 245760)|0; + $266 = $265 >>> 16; + $267 = $266 & 2; + $268 = $263 | $267; + $269 = (14 - ($268))|0; + $270 = $264 << $267; + $271 = $270 >>> 15; + $272 = (($269) + ($271))|0; + $273 = $272 << 1; + $274 = (($272) + 7)|0; + $275 = $249 >>> $274; + $276 = $275 & 1; + $277 = $276 | $273; + $$0358$i = $277; } } - $275 = (35040 + ($idx$0$i<<2)|0); - $276 = HEAP32[$275>>2]|0; - $277 = ($276|0)==(0|0); - L123: do { - if ($277) { - $rsize$2$i = $249;$t$1$i = 0;$v$2$i = 0; - label = 86; + $278 = (33592 + ($$0358$i<<2)|0); + $279 = HEAP32[$278>>2]|0; + $280 = ($279|0)==(0|0); + L117: do { + if ($280) { + $$2355$i = 0;$$3$i201 = 0;$$3350$i = $252; + label = 81; } else { - $278 = ($idx$0$i|0)==(31); - $279 = $idx$0$i >>> 1; - $280 = (25 - ($279))|0; - $281 = $278 ? 0 : $280; - $282 = $246 << $281; - $rsize$0$i15 = $249;$rst$0$i = 0;$sizebits$0$i = $282;$t$0$i14 = $276;$v$0$i16 = 0; + $281 = ($$0358$i|0)==(31); + $282 = $$0358$i >>> 1; + $283 = (25 - ($282))|0; + $284 = $281 ? 0 : $283; + $285 = $249 << $284; + $$0342$i = 0;$$0347$i = $252;$$0353$i = $279;$$0359$i = $285;$$0362$i = 0; while(1) { - $283 = ((($t$0$i14)) + 4|0); - $284 = HEAP32[$283>>2]|0; - $285 = $284 & -8; - $286 = (($285) - ($246))|0; - $287 = ($286>>>0)<($rsize$0$i15>>>0); - if ($287) { - $288 = ($285|0)==($246|0); - if ($288) { - $rsize$331$i = $286;$t$230$i = $t$0$i14;$v$332$i = $t$0$i14; - label = 90; - break L123; + $286 = ((($$0353$i)) + 4|0); + $287 = HEAP32[$286>>2]|0; + $288 = $287 & -8; + $289 = (($288) - ($249))|0; + $290 = ($289>>>0)<($$0347$i>>>0); + if ($290) { + $291 = ($289|0)==(0); + if ($291) { + $$415$i = $$0353$i;$$435114$i = 0;$$435713$i = $$0353$i; + label = 85; + break L117; } else { - $rsize$1$i = $286;$v$1$i = $t$0$i14; + $$1343$i = $$0353$i;$$1348$i = $289; } } else { - $rsize$1$i = $rsize$0$i15;$v$1$i = $v$0$i16; + $$1343$i = $$0342$i;$$1348$i = $$0347$i; } - $289 = ((($t$0$i14)) + 20|0); - $290 = HEAP32[$289>>2]|0; - $291 = $sizebits$0$i >>> 31; - $292 = (((($t$0$i14)) + 16|0) + ($291<<2)|0); + $292 = ((($$0353$i)) + 20|0); $293 = HEAP32[$292>>2]|0; - $294 = ($290|0)==(0|0); - $295 = ($290|0)==($293|0); - $or$cond19$i = $294 | $295; - $rst$1$i = $or$cond19$i ? $rst$0$i : $290; - $296 = ($293|0)==(0|0); - $297 = $sizebits$0$i << 1; - if ($296) { - $rsize$2$i = $rsize$1$i;$t$1$i = $rst$1$i;$v$2$i = $v$1$i; - label = 86; + $294 = $$0359$i >>> 31; + $295 = (((($$0353$i)) + 16|0) + ($294<<2)|0); + $296 = HEAP32[$295>>2]|0; + $297 = ($293|0)==(0|0); + $298 = ($293|0)==($296|0); + $or$cond2$i = $297 | $298; + $$1363$i = $or$cond2$i ? $$0362$i : $293; + $299 = ($296|0)==(0|0); + $not$8$i = $299 ^ 1; + $300 = $not$8$i&1; + $$0359$$i = $$0359$i << $300; + if ($299) { + $$2355$i = $$1363$i;$$3$i201 = $$1343$i;$$3350$i = $$1348$i; + label = 81; break; } else { - $rsize$0$i15 = $rsize$1$i;$rst$0$i = $rst$1$i;$sizebits$0$i = $297;$t$0$i14 = $293;$v$0$i16 = $v$1$i; + $$0342$i = $$1343$i;$$0347$i = $$1348$i;$$0353$i = $296;$$0359$i = $$0359$$i;$$0362$i = $$1363$i; } } } } while(0); - if ((label|0) == 86) { - $298 = ($t$1$i|0)==(0|0); - $299 = ($v$2$i|0)==(0|0); - $or$cond$i = $298 & $299; + if ((label|0) == 81) { + $301 = ($$2355$i|0)==(0|0); + $302 = ($$3$i201|0)==(0|0); + $or$cond$i = $301 & $302; if ($or$cond$i) { - $300 = 2 << $idx$0$i; - $301 = (0 - ($300))|0; - $302 = $300 | $301; - $303 = $247 & $302; - $304 = ($303|0)==(0); - if ($304) { - $nb$0 = $246; + $303 = 2 << $$0358$i; + $304 = (0 - ($303))|0; + $305 = $303 | $304; + $306 = $250 & $305; + $307 = ($306|0)==(0); + if ($307) { + $$0197 = $249; break; } - $305 = (0 - ($303))|0; - $306 = $303 & $305; - $307 = (($306) + -1)|0; - $308 = $307 >>> 12; - $309 = $308 & 16; - $310 = $307 >>> $309; - $311 = $310 >>> 5; - $312 = $311 & 8; - $313 = $312 | $309; - $314 = $310 >>> $312; - $315 = $314 >>> 2; - $316 = $315 & 4; - $317 = $313 | $316; - $318 = $314 >>> $316; - $319 = $318 >>> 1; - $320 = $319 & 2; - $321 = $317 | $320; - $322 = $318 >>> $320; - $323 = $322 >>> 1; - $324 = $323 & 1; - $325 = $321 | $324; - $326 = $322 >>> $324; - $327 = (($325) + ($326))|0; - $328 = (35040 + ($327<<2)|0); - $329 = HEAP32[$328>>2]|0; - $t$2$ph$i = $329;$v$3$ph$i = 0; + $308 = (0 - ($306))|0; + $309 = $306 & $308; + $310 = (($309) + -1)|0; + $311 = $310 >>> 12; + $312 = $311 & 16; + $313 = $310 >>> $312; + $314 = $313 >>> 5; + $315 = $314 & 8; + $316 = $315 | $312; + $317 = $313 >>> $315; + $318 = $317 >>> 2; + $319 = $318 & 4; + $320 = $316 | $319; + $321 = $317 >>> $319; + $322 = $321 >>> 1; + $323 = $322 & 2; + $324 = $320 | $323; + $325 = $321 >>> $323; + $326 = $325 >>> 1; + $327 = $326 & 1; + $328 = $324 | $327; + $329 = $325 >>> $327; + $330 = (($328) + ($329))|0; + $331 = (33592 + ($330<<2)|0); + $332 = HEAP32[$331>>2]|0; + $$4$ph$i = 0;$$4357$ph$i = $332; } else { - $t$2$ph$i = $t$1$i;$v$3$ph$i = $v$2$i; + $$4$ph$i = $$3$i201;$$4357$ph$i = $$2355$i; } - $330 = ($t$2$ph$i|0)==(0|0); - if ($330) { - $rsize$3$lcssa$i = $rsize$2$i;$v$3$lcssa$i = $v$3$ph$i; + $333 = ($$4357$ph$i|0)==(0|0); + if ($333) { + $$4$lcssa$i = $$4$ph$i;$$4351$lcssa$i = $$3350$i; } else { - $rsize$331$i = $rsize$2$i;$t$230$i = $t$2$ph$i;$v$332$i = $v$3$ph$i; - label = 90; + $$415$i = $$4$ph$i;$$435114$i = $$3350$i;$$435713$i = $$4357$ph$i; + label = 85; } } - if ((label|0) == 90) { + if ((label|0) == 85) { while(1) { label = 0; - $331 = ((($t$230$i)) + 4|0); - $332 = HEAP32[$331>>2]|0; - $333 = $332 & -8; - $334 = (($333) - ($246))|0; - $335 = ($334>>>0)<($rsize$331$i>>>0); - $$rsize$3$i = $335 ? $334 : $rsize$331$i; - $t$2$v$3$i = $335 ? $t$230$i : $v$332$i; - $336 = ((($t$230$i)) + 16|0); - $337 = HEAP32[$336>>2]|0; - $338 = ($337|0)==(0|0); - if (!($338)) { - $rsize$331$i = $$rsize$3$i;$t$230$i = $337;$v$332$i = $t$2$v$3$i; - label = 90; - continue; - } - $339 = ((($t$230$i)) + 20|0); + $334 = ((($$435713$i)) + 4|0); + $335 = HEAP32[$334>>2]|0; + $336 = $335 & -8; + $337 = (($336) - ($249))|0; + $338 = ($337>>>0)<($$435114$i>>>0); + $$$4351$i = $338 ? $337 : $$435114$i; + $$4357$$4$i = $338 ? $$435713$i : $$415$i; + $339 = ((($$435713$i)) + 16|0); $340 = HEAP32[$339>>2]|0; - $341 = ($340|0)==(0|0); - if ($341) { - $rsize$3$lcssa$i = $$rsize$3$i;$v$3$lcssa$i = $t$2$v$3$i; + $not$1$i203 = ($340|0)==(0|0); + $$sink2$i204 = $not$1$i203&1; + $341 = (((($$435713$i)) + 16|0) + ($$sink2$i204<<2)|0); + $342 = HEAP32[$341>>2]|0; + $343 = ($342|0)==(0|0); + if ($343) { + $$4$lcssa$i = $$4357$$4$i;$$4351$lcssa$i = $$$4351$i; break; } else { - $rsize$331$i = $$rsize$3$i;$t$230$i = $340;$v$332$i = $t$2$v$3$i; - label = 90; + $$415$i = $$4357$$4$i;$$435114$i = $$$4351$i;$$435713$i = $342; + label = 85; } } } - $342 = ($v$3$lcssa$i|0)==(0|0); - if ($342) { - $nb$0 = $246; + $344 = ($$4$lcssa$i|0)==(0|0); + if ($344) { + $$0197 = $249; } else { - $343 = HEAP32[(34744)>>2]|0; - $344 = (($343) - ($246))|0; - $345 = ($rsize$3$lcssa$i>>>0)<($344>>>0); - if ($345) { - $346 = HEAP32[(34752)>>2]|0; - $347 = ($v$3$lcssa$i>>>0)<($346>>>0); - if ($347) { + $345 = HEAP32[(33296)>>2]|0; + $346 = (($345) - ($249))|0; + $347 = ($$4351$lcssa$i>>>0)<($346>>>0); + if ($347) { + $348 = HEAP32[(33304)>>2]|0; + $349 = ($$4$lcssa$i>>>0)<($348>>>0); + if ($349) { _abort(); // unreachable; } - $348 = (($v$3$lcssa$i) + ($246)|0); - $349 = ($v$3$lcssa$i>>>0)<($348>>>0); - if (!($349)) { + $350 = (($$4$lcssa$i) + ($249)|0); + $351 = ($$4$lcssa$i>>>0)<($350>>>0); + if (!($351)) { _abort(); // unreachable; } - $350 = ((($v$3$lcssa$i)) + 24|0); - $351 = HEAP32[$350>>2]|0; - $352 = ((($v$3$lcssa$i)) + 12|0); + $352 = ((($$4$lcssa$i)) + 24|0); $353 = HEAP32[$352>>2]|0; - $354 = ($353|0)==($v$3$lcssa$i|0); + $354 = ((($$4$lcssa$i)) + 12|0); + $355 = HEAP32[$354>>2]|0; + $356 = ($355|0)==($$4$lcssa$i|0); do { - if ($354) { - $364 = ((($v$3$lcssa$i)) + 20|0); - $365 = HEAP32[$364>>2]|0; - $366 = ($365|0)==(0|0); - if ($366) { - $367 = ((($v$3$lcssa$i)) + 16|0); - $368 = HEAP32[$367>>2]|0; - $369 = ($368|0)==(0|0); - if ($369) { - $R$1$i20 = 0; + if ($356) { + $366 = ((($$4$lcssa$i)) + 20|0); + $367 = HEAP32[$366>>2]|0; + $368 = ($367|0)==(0|0); + if ($368) { + $369 = ((($$4$lcssa$i)) + 16|0); + $370 = HEAP32[$369>>2]|0; + $371 = ($370|0)==(0|0); + if ($371) { + $$3372$i = 0; break; } else { - $R$0$i18 = $368;$RP$0$i17 = $367; + $$1370$i = $370;$$1374$i = $369; } } else { - $R$0$i18 = $365;$RP$0$i17 = $364; + $$1370$i = $367;$$1374$i = $366; } while(1) { - $370 = ((($R$0$i18)) + 20|0); - $371 = HEAP32[$370>>2]|0; - $372 = ($371|0)==(0|0); - if (!($372)) { - $R$0$i18 = $371;$RP$0$i17 = $370; + $372 = ((($$1370$i)) + 20|0); + $373 = HEAP32[$372>>2]|0; + $374 = ($373|0)==(0|0); + if (!($374)) { + $$1370$i = $373;$$1374$i = $372; continue; } - $373 = ((($R$0$i18)) + 16|0); - $374 = HEAP32[$373>>2]|0; - $375 = ($374|0)==(0|0); - if ($375) { - $R$0$i18$lcssa = $R$0$i18;$RP$0$i17$lcssa = $RP$0$i17; + $375 = ((($$1370$i)) + 16|0); + $376 = HEAP32[$375>>2]|0; + $377 = ($376|0)==(0|0); + if ($377) { break; } else { - $R$0$i18 = $374;$RP$0$i17 = $373; + $$1370$i = $376;$$1374$i = $375; } } - $376 = ($RP$0$i17$lcssa>>>0)<($346>>>0); - if ($376) { + $378 = ($$1374$i>>>0)<($348>>>0); + if ($378) { _abort(); // unreachable; } else { - HEAP32[$RP$0$i17$lcssa>>2] = 0; - $R$1$i20 = $R$0$i18$lcssa; + HEAP32[$$1374$i>>2] = 0; + $$3372$i = $$1370$i; break; } } else { - $355 = ((($v$3$lcssa$i)) + 8|0); - $356 = HEAP32[$355>>2]|0; - $357 = ($356>>>0)<($346>>>0); - if ($357) { + $357 = ((($$4$lcssa$i)) + 8|0); + $358 = HEAP32[$357>>2]|0; + $359 = ($358>>>0)<($348>>>0); + if ($359) { _abort(); // unreachable; } - $358 = ((($356)) + 12|0); - $359 = HEAP32[$358>>2]|0; - $360 = ($359|0)==($v$3$lcssa$i|0); - if (!($360)) { + $360 = ((($358)) + 12|0); + $361 = HEAP32[$360>>2]|0; + $362 = ($361|0)==($$4$lcssa$i|0); + if (!($362)) { _abort(); // unreachable; } - $361 = ((($353)) + 8|0); - $362 = HEAP32[$361>>2]|0; - $363 = ($362|0)==($v$3$lcssa$i|0); - if ($363) { - HEAP32[$358>>2] = $353; - HEAP32[$361>>2] = $356; - $R$1$i20 = $353; + $363 = ((($355)) + 8|0); + $364 = HEAP32[$363>>2]|0; + $365 = ($364|0)==($$4$lcssa$i|0); + if ($365) { + HEAP32[$360>>2] = $355; + HEAP32[$363>>2] = $358; + $$3372$i = $355; break; } else { _abort(); @@ -59266,55 +71307,60 @@ function _malloc($bytes) { } } } while(0); - $377 = ($351|0)==(0|0); - do { - if (!($377)) { - $378 = ((($v$3$lcssa$i)) + 28|0); - $379 = HEAP32[$378>>2]|0; - $380 = (35040 + ($379<<2)|0); + $379 = ($353|0)==(0|0); + L164: do { + if ($379) { + $470 = $250; + } else { + $380 = ((($$4$lcssa$i)) + 28|0); $381 = HEAP32[$380>>2]|0; - $382 = ($v$3$lcssa$i|0)==($381|0); - if ($382) { - HEAP32[$380>>2] = $R$1$i20; - $cond$i21 = ($R$1$i20|0)==(0|0); - if ($cond$i21) { - $383 = 1 << $379; - $384 = $383 ^ -1; - $385 = HEAP32[(34740)>>2]|0; - $386 = $385 & $384; - HEAP32[(34740)>>2] = $386; - break; - } - } else { - $387 = HEAP32[(34752)>>2]|0; - $388 = ($351>>>0)<($387>>>0); - if ($388) { - _abort(); - // unreachable; - } - $389 = ((($351)) + 16|0); - $390 = HEAP32[$389>>2]|0; - $391 = ($390|0)==($v$3$lcssa$i|0); - if ($391) { - HEAP32[$389>>2] = $R$1$i20; + $382 = (33592 + ($381<<2)|0); + $383 = HEAP32[$382>>2]|0; + $384 = ($$4$lcssa$i|0)==($383|0); + do { + if ($384) { + HEAP32[$382>>2] = $$3372$i; + $cond$i208 = ($$3372$i|0)==(0|0); + if ($cond$i208) { + $385 = 1 << $381; + $386 = $385 ^ -1; + $387 = $250 & $386; + HEAP32[(33292)>>2] = $387; + $470 = $387; + break L164; + } } else { - $392 = ((($351)) + 20|0); - HEAP32[$392>>2] = $R$1$i20; + $388 = HEAP32[(33304)>>2]|0; + $389 = ($353>>>0)<($388>>>0); + if ($389) { + _abort(); + // unreachable; + } else { + $390 = ((($353)) + 16|0); + $391 = HEAP32[$390>>2]|0; + $not$$i209 = ($391|0)!=($$4$lcssa$i|0); + $$sink3$i = $not$$i209&1; + $392 = (((($353)) + 16|0) + ($$sink3$i<<2)|0); + HEAP32[$392>>2] = $$3372$i; + $393 = ($$3372$i|0)==(0|0); + if ($393) { + $470 = $250; + break L164; + } else { + break; + } + } } - $393 = ($R$1$i20|0)==(0|0); - if ($393) { - break; - } - } - $394 = HEAP32[(34752)>>2]|0; - $395 = ($R$1$i20>>>0)<($394>>>0); + } while(0); + $394 = HEAP32[(33304)>>2]|0; + $395 = ($$3372$i>>>0)<($394>>>0); if ($395) { _abort(); // unreachable; } - $396 = ((($R$1$i20)) + 24|0); - HEAP32[$396>>2] = $351; - $397 = ((($v$3$lcssa$i)) + 16|0); + $396 = ((($$3372$i)) + 24|0); + HEAP32[$396>>2] = $353; + $397 = ((($$4$lcssa$i)) + 16|0); $398 = HEAP32[$397>>2]|0; $399 = ($398|0)==(0|0); do { @@ -59324,1754 +71370,1624 @@ function _malloc($bytes) { _abort(); // unreachable; } else { - $401 = ((($R$1$i20)) + 16|0); + $401 = ((($$3372$i)) + 16|0); HEAP32[$401>>2] = $398; $402 = ((($398)) + 24|0); - HEAP32[$402>>2] = $R$1$i20; + HEAP32[$402>>2] = $$3372$i; break; } } } while(0); - $403 = ((($v$3$lcssa$i)) + 20|0); + $403 = ((($$4$lcssa$i)) + 20|0); $404 = HEAP32[$403>>2]|0; $405 = ($404|0)==(0|0); - if (!($405)) { - $406 = HEAP32[(34752)>>2]|0; + if ($405) { + $470 = $250; + } else { + $406 = HEAP32[(33304)>>2]|0; $407 = ($404>>>0)<($406>>>0); if ($407) { _abort(); // unreachable; } else { - $408 = ((($R$1$i20)) + 20|0); + $408 = ((($$3372$i)) + 20|0); HEAP32[$408>>2] = $404; $409 = ((($404)) + 24|0); - HEAP32[$409>>2] = $R$1$i20; + HEAP32[$409>>2] = $$3372$i; + $470 = $250; break; } } } } while(0); - $410 = ($rsize$3$lcssa$i>>>0)<(16); - L199: do { + $410 = ($$4351$lcssa$i>>>0)<(16); + do { if ($410) { - $411 = (($rsize$3$lcssa$i) + ($246))|0; + $411 = (($$4351$lcssa$i) + ($249))|0; $412 = $411 | 3; - $413 = ((($v$3$lcssa$i)) + 4|0); + $413 = ((($$4$lcssa$i)) + 4|0); HEAP32[$413>>2] = $412; - $$sum18$i = (($411) + 4)|0; - $414 = (($v$3$lcssa$i) + ($$sum18$i)|0); - $415 = HEAP32[$414>>2]|0; - $416 = $415 | 1; - HEAP32[$414>>2] = $416; + $414 = (($$4$lcssa$i) + ($411)|0); + $415 = ((($414)) + 4|0); + $416 = HEAP32[$415>>2]|0; + $417 = $416 | 1; + HEAP32[$415>>2] = $417; } else { - $417 = $246 | 3; - $418 = ((($v$3$lcssa$i)) + 4|0); - HEAP32[$418>>2] = $417; - $419 = $rsize$3$lcssa$i | 1; - $$sum$i2334 = $246 | 4; - $420 = (($v$3$lcssa$i) + ($$sum$i2334)|0); - HEAP32[$420>>2] = $419; - $$sum1$i24 = (($rsize$3$lcssa$i) + ($246))|0; - $421 = (($v$3$lcssa$i) + ($$sum1$i24)|0); - HEAP32[$421>>2] = $rsize$3$lcssa$i; - $422 = $rsize$3$lcssa$i >>> 3; - $423 = ($rsize$3$lcssa$i>>>0)<(256); - if ($423) { - $424 = $422 << 1; - $425 = (34776 + ($424<<2)|0); - $426 = HEAP32[34736>>2]|0; - $427 = 1 << $422; - $428 = $426 & $427; - $429 = ($428|0)==(0); - if ($429) { - $430 = $426 | $427; - HEAP32[34736>>2] = $430; - $$pre$i25 = (($424) + 2)|0; - $$pre43$i = (34776 + ($$pre$i25<<2)|0); - $$pre$phi$i26Z2D = $$pre43$i;$F5$0$i = $425; + $418 = $249 | 3; + $419 = ((($$4$lcssa$i)) + 4|0); + HEAP32[$419>>2] = $418; + $420 = $$4351$lcssa$i | 1; + $421 = ((($350)) + 4|0); + HEAP32[$421>>2] = $420; + $422 = (($350) + ($$4351$lcssa$i)|0); + HEAP32[$422>>2] = $$4351$lcssa$i; + $423 = $$4351$lcssa$i >>> 3; + $424 = ($$4351$lcssa$i>>>0)<(256); + if ($424) { + $425 = $423 << 1; + $426 = (33328 + ($425<<2)|0); + $427 = HEAP32[8322]|0; + $428 = 1 << $423; + $429 = $427 & $428; + $430 = ($429|0)==(0); + if ($430) { + $431 = $427 | $428; + HEAP32[8322] = $431; + $$pre$i210 = ((($426)) + 8|0); + $$0368$i = $426;$$pre$phi$i211Z2D = $$pre$i210; } else { - $$sum17$i = (($424) + 2)|0; - $431 = (34776 + ($$sum17$i<<2)|0); - $432 = HEAP32[$431>>2]|0; - $433 = HEAP32[(34752)>>2]|0; - $434 = ($432>>>0)<($433>>>0); - if ($434) { + $432 = ((($426)) + 8|0); + $433 = HEAP32[$432>>2]|0; + $434 = HEAP32[(33304)>>2]|0; + $435 = ($433>>>0)<($434>>>0); + if ($435) { _abort(); // unreachable; } else { - $$pre$phi$i26Z2D = $431;$F5$0$i = $432; + $$0368$i = $433;$$pre$phi$i211Z2D = $432; } } - HEAP32[$$pre$phi$i26Z2D>>2] = $348; - $435 = ((($F5$0$i)) + 12|0); - HEAP32[$435>>2] = $348; - $$sum15$i = (($246) + 8)|0; - $436 = (($v$3$lcssa$i) + ($$sum15$i)|0); - HEAP32[$436>>2] = $F5$0$i; - $$sum16$i = (($246) + 12)|0; - $437 = (($v$3$lcssa$i) + ($$sum16$i)|0); - HEAP32[$437>>2] = $425; + HEAP32[$$pre$phi$i211Z2D>>2] = $350; + $436 = ((($$0368$i)) + 12|0); + HEAP32[$436>>2] = $350; + $437 = ((($350)) + 8|0); + HEAP32[$437>>2] = $$0368$i; + $438 = ((($350)) + 12|0); + HEAP32[$438>>2] = $426; break; } - $438 = $rsize$3$lcssa$i >>> 8; - $439 = ($438|0)==(0); - if ($439) { - $I7$0$i = 0; + $439 = $$4351$lcssa$i >>> 8; + $440 = ($439|0)==(0); + if ($440) { + $$0361$i = 0; } else { - $440 = ($rsize$3$lcssa$i>>>0)>(16777215); - if ($440) { - $I7$0$i = 31; + $441 = ($$4351$lcssa$i>>>0)>(16777215); + if ($441) { + $$0361$i = 31; } else { - $441 = (($438) + 1048320)|0; - $442 = $441 >>> 16; - $443 = $442 & 8; - $444 = $438 << $443; - $445 = (($444) + 520192)|0; - $446 = $445 >>> 16; - $447 = $446 & 4; - $448 = $447 | $443; - $449 = $444 << $447; - $450 = (($449) + 245760)|0; - $451 = $450 >>> 16; - $452 = $451 & 2; - $453 = $448 | $452; - $454 = (14 - ($453))|0; - $455 = $449 << $452; - $456 = $455 >>> 15; - $457 = (($454) + ($456))|0; - $458 = $457 << 1; - $459 = (($457) + 7)|0; - $460 = $rsize$3$lcssa$i >>> $459; - $461 = $460 & 1; - $462 = $461 | $458; - $I7$0$i = $462; + $442 = (($439) + 1048320)|0; + $443 = $442 >>> 16; + $444 = $443 & 8; + $445 = $439 << $444; + $446 = (($445) + 520192)|0; + $447 = $446 >>> 16; + $448 = $447 & 4; + $449 = $448 | $444; + $450 = $445 << $448; + $451 = (($450) + 245760)|0; + $452 = $451 >>> 16; + $453 = $452 & 2; + $454 = $449 | $453; + $455 = (14 - ($454))|0; + $456 = $450 << $453; + $457 = $456 >>> 15; + $458 = (($455) + ($457))|0; + $459 = $458 << 1; + $460 = (($458) + 7)|0; + $461 = $$4351$lcssa$i >>> $460; + $462 = $461 & 1; + $463 = $462 | $459; + $$0361$i = $463; } } - $463 = (35040 + ($I7$0$i<<2)|0); - $$sum2$i = (($246) + 28)|0; - $464 = (($v$3$lcssa$i) + ($$sum2$i)|0); - HEAP32[$464>>2] = $I7$0$i; - $$sum3$i27 = (($246) + 16)|0; - $465 = (($v$3$lcssa$i) + ($$sum3$i27)|0); - $$sum4$i28 = (($246) + 20)|0; - $466 = (($v$3$lcssa$i) + ($$sum4$i28)|0); + $464 = (33592 + ($$0361$i<<2)|0); + $465 = ((($350)) + 28|0); + HEAP32[$465>>2] = $$0361$i; + $466 = ((($350)) + 16|0); + $467 = ((($466)) + 4|0); + HEAP32[$467>>2] = 0; HEAP32[$466>>2] = 0; - HEAP32[$465>>2] = 0; - $467 = HEAP32[(34740)>>2]|0; - $468 = 1 << $I7$0$i; - $469 = $467 & $468; - $470 = ($469|0)==(0); - if ($470) { - $471 = $467 | $468; - HEAP32[(34740)>>2] = $471; - HEAP32[$463>>2] = $348; - $$sum5$i = (($246) + 24)|0; - $472 = (($v$3$lcssa$i) + ($$sum5$i)|0); - HEAP32[$472>>2] = $463; - $$sum6$i = (($246) + 12)|0; - $473 = (($v$3$lcssa$i) + ($$sum6$i)|0); - HEAP32[$473>>2] = $348; - $$sum7$i = (($246) + 8)|0; - $474 = (($v$3$lcssa$i) + ($$sum7$i)|0); - HEAP32[$474>>2] = $348; + $468 = 1 << $$0361$i; + $469 = $470 & $468; + $471 = ($469|0)==(0); + if ($471) { + $472 = $470 | $468; + HEAP32[(33292)>>2] = $472; + HEAP32[$464>>2] = $350; + $473 = ((($350)) + 24|0); + HEAP32[$473>>2] = $464; + $474 = ((($350)) + 12|0); + HEAP32[$474>>2] = $350; + $475 = ((($350)) + 8|0); + HEAP32[$475>>2] = $350; break; } - $475 = HEAP32[$463>>2]|0; - $476 = ((($475)) + 4|0); - $477 = HEAP32[$476>>2]|0; - $478 = $477 & -8; - $479 = ($478|0)==($rsize$3$lcssa$i|0); - L217: do { - if ($479) { - $T$0$lcssa$i = $475; + $476 = HEAP32[$464>>2]|0; + $477 = ($$0361$i|0)==(31); + $478 = $$0361$i >>> 1; + $479 = (25 - ($478))|0; + $480 = $477 ? 0 : $479; + $481 = $$4351$lcssa$i << $480; + $$0344$i = $481;$$0345$i = $476; + while(1) { + $482 = ((($$0345$i)) + 4|0); + $483 = HEAP32[$482>>2]|0; + $484 = $483 & -8; + $485 = ($484|0)==($$4351$lcssa$i|0); + if ($485) { + label = 139; + break; + } + $486 = $$0344$i >>> 31; + $487 = (((($$0345$i)) + 16|0) + ($486<<2)|0); + $488 = $$0344$i << 1; + $489 = HEAP32[$487>>2]|0; + $490 = ($489|0)==(0|0); + if ($490) { + label = 136; + break; } else { - $480 = ($I7$0$i|0)==(31); - $481 = $I7$0$i >>> 1; - $482 = (25 - ($481))|0; - $483 = $480 ? 0 : $482; - $484 = $rsize$3$lcssa$i << $483; - $K12$029$i = $484;$T$028$i = $475; - while(1) { - $491 = $K12$029$i >>> 31; - $492 = (((($T$028$i)) + 16|0) + ($491<<2)|0); - $487 = HEAP32[$492>>2]|0; - $493 = ($487|0)==(0|0); - if ($493) { - $$lcssa232 = $492;$T$028$i$lcssa = $T$028$i; - break; - } - $485 = $K12$029$i << 1; - $486 = ((($487)) + 4|0); - $488 = HEAP32[$486>>2]|0; - $489 = $488 & -8; - $490 = ($489|0)==($rsize$3$lcssa$i|0); - if ($490) { - $T$0$lcssa$i = $487; - break L217; - } else { - $K12$029$i = $485;$T$028$i = $487; + $$0344$i = $488;$$0345$i = $489; + } + } + if ((label|0) == 136) { + $491 = HEAP32[(33304)>>2]|0; + $492 = ($487>>>0)<($491>>>0); + if ($492) { + _abort(); + // unreachable; + } else { + HEAP32[$487>>2] = $350; + $493 = ((($350)) + 24|0); + HEAP32[$493>>2] = $$0345$i; + $494 = ((($350)) + 12|0); + HEAP32[$494>>2] = $350; + $495 = ((($350)) + 8|0); + HEAP32[$495>>2] = $350; + break; + } + } + else if ((label|0) == 139) { + $496 = ((($$0345$i)) + 8|0); + $497 = HEAP32[$496>>2]|0; + $498 = HEAP32[(33304)>>2]|0; + $499 = ($497>>>0)>=($498>>>0); + $not$9$i = ($$0345$i>>>0)>=($498>>>0); + $500 = $499 & $not$9$i; + if ($500) { + $501 = ((($497)) + 12|0); + HEAP32[$501>>2] = $350; + HEAP32[$496>>2] = $350; + $502 = ((($350)) + 8|0); + HEAP32[$502>>2] = $497; + $503 = ((($350)) + 12|0); + HEAP32[$503>>2] = $$0345$i; + $504 = ((($350)) + 24|0); + HEAP32[$504>>2] = 0; + break; + } else { + _abort(); + // unreachable; + } + } + } + } while(0); + $505 = ((($$4$lcssa$i)) + 8|0); + $$0 = $505; + STACKTOP = sp;return ($$0|0); + } else { + $$0197 = $249; + } + } + } + } + } + } while(0); + $506 = HEAP32[(33296)>>2]|0; + $507 = ($506>>>0)<($$0197>>>0); + if (!($507)) { + $508 = (($506) - ($$0197))|0; + $509 = HEAP32[(33308)>>2]|0; + $510 = ($508>>>0)>(15); + if ($510) { + $511 = (($509) + ($$0197)|0); + HEAP32[(33308)>>2] = $511; + HEAP32[(33296)>>2] = $508; + $512 = $508 | 1; + $513 = ((($511)) + 4|0); + HEAP32[$513>>2] = $512; + $514 = (($511) + ($508)|0); + HEAP32[$514>>2] = $508; + $515 = $$0197 | 3; + $516 = ((($509)) + 4|0); + HEAP32[$516>>2] = $515; + } else { + HEAP32[(33296)>>2] = 0; + HEAP32[(33308)>>2] = 0; + $517 = $506 | 3; + $518 = ((($509)) + 4|0); + HEAP32[$518>>2] = $517; + $519 = (($509) + ($506)|0); + $520 = ((($519)) + 4|0); + $521 = HEAP32[$520>>2]|0; + $522 = $521 | 1; + HEAP32[$520>>2] = $522; + } + $523 = ((($509)) + 8|0); + $$0 = $523; + STACKTOP = sp;return ($$0|0); + } + $524 = HEAP32[(33300)>>2]|0; + $525 = ($524>>>0)>($$0197>>>0); + if ($525) { + $526 = (($524) - ($$0197))|0; + HEAP32[(33300)>>2] = $526; + $527 = HEAP32[(33312)>>2]|0; + $528 = (($527) + ($$0197)|0); + HEAP32[(33312)>>2] = $528; + $529 = $526 | 1; + $530 = ((($528)) + 4|0); + HEAP32[$530>>2] = $529; + $531 = $$0197 | 3; + $532 = ((($527)) + 4|0); + HEAP32[$532>>2] = $531; + $533 = ((($527)) + 8|0); + $$0 = $533; + STACKTOP = sp;return ($$0|0); + } + $534 = HEAP32[8440]|0; + $535 = ($534|0)==(0); + if ($535) { + HEAP32[(33768)>>2] = 4096; + HEAP32[(33764)>>2] = 4096; + HEAP32[(33772)>>2] = -1; + HEAP32[(33776)>>2] = -1; + HEAP32[(33780)>>2] = 0; + HEAP32[(33732)>>2] = 0; + $536 = $1; + $537 = $536 & -16; + $538 = $537 ^ 1431655768; + HEAP32[$1>>2] = $538; + HEAP32[8440] = $538; + $542 = 4096; + } else { + $$pre$i212 = HEAP32[(33768)>>2]|0; + $542 = $$pre$i212; + } + $539 = (($$0197) + 48)|0; + $540 = (($$0197) + 47)|0; + $541 = (($542) + ($540))|0; + $543 = (0 - ($542))|0; + $544 = $541 & $543; + $545 = ($544>>>0)>($$0197>>>0); + if (!($545)) { + $$0 = 0; + STACKTOP = sp;return ($$0|0); + } + $546 = HEAP32[(33728)>>2]|0; + $547 = ($546|0)==(0); + if (!($547)) { + $548 = HEAP32[(33720)>>2]|0; + $549 = (($548) + ($544))|0; + $550 = ($549>>>0)<=($548>>>0); + $551 = ($549>>>0)>($546>>>0); + $or$cond1$i = $550 | $551; + if ($or$cond1$i) { + $$0 = 0; + STACKTOP = sp;return ($$0|0); + } + } + $552 = HEAP32[(33732)>>2]|0; + $553 = $552 & 4; + $554 = ($553|0)==(0); + L244: do { + if ($554) { + $555 = HEAP32[(33312)>>2]|0; + $556 = ($555|0)==(0|0); + L246: do { + if ($556) { + label = 163; + } else { + $$0$i$i = (33736); + while(1) { + $557 = HEAP32[$$0$i$i>>2]|0; + $558 = ($557>>>0)>($555>>>0); + if (!($558)) { + $559 = ((($$0$i$i)) + 4|0); + $560 = HEAP32[$559>>2]|0; + $561 = (($557) + ($560)|0); + $562 = ($561>>>0)>($555>>>0); + if ($562) { + break; + } + } + $563 = ((($$0$i$i)) + 8|0); + $564 = HEAP32[$563>>2]|0; + $565 = ($564|0)==(0|0); + if ($565) { + label = 163; + break L246; + } else { + $$0$i$i = $564; + } + } + $588 = (($541) - ($524))|0; + $589 = $588 & $543; + $590 = ($589>>>0)<(2147483647); + if ($590) { + $591 = (_sbrk(($589|0))|0); + $592 = HEAP32[$$0$i$i>>2]|0; + $593 = HEAP32[$559>>2]|0; + $594 = (($592) + ($593)|0); + $595 = ($591|0)==($594|0); + if ($595) { + $596 = ($591|0)==((-1)|0); + if ($596) { + $$2234253237$i = $589; + } else { + $$723948$i = $589;$$749$i = $591; + label = 180; + break L244; + } + } else { + $$2247$ph$i = $591;$$2253$ph$i = $589; + label = 171; + } + } else { + $$2234253237$i = 0; + } + } + } while(0); + do { + if ((label|0) == 163) { + $566 = (_sbrk(0)|0); + $567 = ($566|0)==((-1)|0); + if ($567) { + $$2234253237$i = 0; + } else { + $568 = $566; + $569 = HEAP32[(33764)>>2]|0; + $570 = (($569) + -1)|0; + $571 = $570 & $568; + $572 = ($571|0)==(0); + $573 = (($570) + ($568))|0; + $574 = (0 - ($569))|0; + $575 = $573 & $574; + $576 = (($575) - ($568))|0; + $577 = $572 ? 0 : $576; + $$$i = (($577) + ($544))|0; + $578 = HEAP32[(33720)>>2]|0; + $579 = (($$$i) + ($578))|0; + $580 = ($$$i>>>0)>($$0197>>>0); + $581 = ($$$i>>>0)<(2147483647); + $or$cond$i214 = $580 & $581; + if ($or$cond$i214) { + $582 = HEAP32[(33728)>>2]|0; + $583 = ($582|0)==(0); + if (!($583)) { + $584 = ($579>>>0)<=($578>>>0); + $585 = ($579>>>0)>($582>>>0); + $or$cond2$i215 = $584 | $585; + if ($or$cond2$i215) { + $$2234253237$i = 0; + break; + } + } + $586 = (_sbrk(($$$i|0))|0); + $587 = ($586|0)==($566|0); + if ($587) { + $$723948$i = $$$i;$$749$i = $566; + label = 180; + break L244; + } else { + $$2247$ph$i = $586;$$2253$ph$i = $$$i; + label = 171; + } + } else { + $$2234253237$i = 0; + } + } + } + } while(0); + do { + if ((label|0) == 171) { + $597 = (0 - ($$2253$ph$i))|0; + $598 = ($$2247$ph$i|0)!=((-1)|0); + $599 = ($$2253$ph$i>>>0)<(2147483647); + $or$cond7$i = $599 & $598; + $600 = ($539>>>0)>($$2253$ph$i>>>0); + $or$cond10$i = $600 & $or$cond7$i; + if (!($or$cond10$i)) { + $610 = ($$2247$ph$i|0)==((-1)|0); + if ($610) { + $$2234253237$i = 0; + break; + } else { + $$723948$i = $$2253$ph$i;$$749$i = $$2247$ph$i; + label = 180; + break L244; + } + } + $601 = HEAP32[(33768)>>2]|0; + $602 = (($540) - ($$2253$ph$i))|0; + $603 = (($602) + ($601))|0; + $604 = (0 - ($601))|0; + $605 = $603 & $604; + $606 = ($605>>>0)<(2147483647); + if (!($606)) { + $$723948$i = $$2253$ph$i;$$749$i = $$2247$ph$i; + label = 180; + break L244; + } + $607 = (_sbrk(($605|0))|0); + $608 = ($607|0)==((-1)|0); + if ($608) { + (_sbrk(($597|0))|0); + $$2234253237$i = 0; + break; + } else { + $609 = (($605) + ($$2253$ph$i))|0; + $$723948$i = $609;$$749$i = $$2247$ph$i; + label = 180; + break L244; + } + } + } while(0); + $611 = HEAP32[(33732)>>2]|0; + $612 = $611 | 4; + HEAP32[(33732)>>2] = $612; + $$4236$i = $$2234253237$i; + label = 178; + } else { + $$4236$i = 0; + label = 178; + } + } while(0); + if ((label|0) == 178) { + $613 = ($544>>>0)<(2147483647); + if ($613) { + $614 = (_sbrk(($544|0))|0); + $615 = (_sbrk(0)|0); + $616 = ($614|0)!=((-1)|0); + $617 = ($615|0)!=((-1)|0); + $or$cond5$i = $616 & $617; + $618 = ($614>>>0)<($615>>>0); + $or$cond11$i = $618 & $or$cond5$i; + $619 = $615; + $620 = $614; + $621 = (($619) - ($620))|0; + $622 = (($$0197) + 40)|0; + $623 = ($621>>>0)>($622>>>0); + $$$4236$i = $623 ? $621 : $$4236$i; + $or$cond11$not$i = $or$cond11$i ^ 1; + $624 = ($614|0)==((-1)|0); + $not$$i216 = $623 ^ 1; + $625 = $624 | $not$$i216; + $or$cond50$i = $625 | $or$cond11$not$i; + if (!($or$cond50$i)) { + $$723948$i = $$$4236$i;$$749$i = $614; + label = 180; + } + } + } + if ((label|0) == 180) { + $626 = HEAP32[(33720)>>2]|0; + $627 = (($626) + ($$723948$i))|0; + HEAP32[(33720)>>2] = $627; + $628 = HEAP32[(33724)>>2]|0; + $629 = ($627>>>0)>($628>>>0); + if ($629) { + HEAP32[(33724)>>2] = $627; + } + $630 = HEAP32[(33312)>>2]|0; + $631 = ($630|0)==(0|0); + do { + if ($631) { + $632 = HEAP32[(33304)>>2]|0; + $633 = ($632|0)==(0|0); + $634 = ($$749$i>>>0)<($632>>>0); + $or$cond12$i = $633 | $634; + if ($or$cond12$i) { + HEAP32[(33304)>>2] = $$749$i; + } + HEAP32[(33736)>>2] = $$749$i; + HEAP32[(33740)>>2] = $$723948$i; + HEAP32[(33748)>>2] = 0; + $635 = HEAP32[8440]|0; + HEAP32[(33324)>>2] = $635; + HEAP32[(33320)>>2] = -1; + $$01$i$i = 0; + while(1) { + $636 = $$01$i$i << 1; + $637 = (33328 + ($636<<2)|0); + $638 = ((($637)) + 12|0); + HEAP32[$638>>2] = $637; + $639 = ((($637)) + 8|0); + HEAP32[$639>>2] = $637; + $640 = (($$01$i$i) + 1)|0; + $exitcond$i$i = ($640|0)==(32); + if ($exitcond$i$i) { + break; + } else { + $$01$i$i = $640; + } + } + $641 = (($$723948$i) + -40)|0; + $642 = ((($$749$i)) + 8|0); + $643 = $642; + $644 = $643 & 7; + $645 = ($644|0)==(0); + $646 = (0 - ($643))|0; + $647 = $646 & 7; + $648 = $645 ? 0 : $647; + $649 = (($$749$i) + ($648)|0); + $650 = (($641) - ($648))|0; + HEAP32[(33312)>>2] = $649; + HEAP32[(33300)>>2] = $650; + $651 = $650 | 1; + $652 = ((($649)) + 4|0); + HEAP32[$652>>2] = $651; + $653 = (($649) + ($650)|0); + $654 = ((($653)) + 4|0); + HEAP32[$654>>2] = 40; + $655 = HEAP32[(33776)>>2]|0; + HEAP32[(33316)>>2] = $655; + } else { + $$024371$i = (33736); + while(1) { + $656 = HEAP32[$$024371$i>>2]|0; + $657 = ((($$024371$i)) + 4|0); + $658 = HEAP32[$657>>2]|0; + $659 = (($656) + ($658)|0); + $660 = ($$749$i|0)==($659|0); + if ($660) { + label = 190; + break; + } + $661 = ((($$024371$i)) + 8|0); + $662 = HEAP32[$661>>2]|0; + $663 = ($662|0)==(0|0); + if ($663) { + break; + } else { + $$024371$i = $662; + } + } + if ((label|0) == 190) { + $664 = ((($$024371$i)) + 12|0); + $665 = HEAP32[$664>>2]|0; + $666 = $665 & 8; + $667 = ($666|0)==(0); + if ($667) { + $668 = ($630>>>0)>=($656>>>0); + $669 = ($630>>>0)<($$749$i>>>0); + $or$cond51$i = $669 & $668; + if ($or$cond51$i) { + $670 = (($658) + ($$723948$i))|0; + HEAP32[$657>>2] = $670; + $671 = HEAP32[(33300)>>2]|0; + $672 = ((($630)) + 8|0); + $673 = $672; + $674 = $673 & 7; + $675 = ($674|0)==(0); + $676 = (0 - ($673))|0; + $677 = $676 & 7; + $678 = $675 ? 0 : $677; + $679 = (($630) + ($678)|0); + $680 = (($$723948$i) - ($678))|0; + $681 = (($671) + ($680))|0; + HEAP32[(33312)>>2] = $679; + HEAP32[(33300)>>2] = $681; + $682 = $681 | 1; + $683 = ((($679)) + 4|0); + HEAP32[$683>>2] = $682; + $684 = (($679) + ($681)|0); + $685 = ((($684)) + 4|0); + HEAP32[$685>>2] = 40; + $686 = HEAP32[(33776)>>2]|0; + HEAP32[(33316)>>2] = $686; + break; + } + } + } + $687 = HEAP32[(33304)>>2]|0; + $688 = ($$749$i>>>0)<($687>>>0); + if ($688) { + HEAP32[(33304)>>2] = $$749$i; + $752 = $$749$i; + } else { + $752 = $687; + } + $689 = (($$749$i) + ($$723948$i)|0); + $$124470$i = (33736); + while(1) { + $690 = HEAP32[$$124470$i>>2]|0; + $691 = ($690|0)==($689|0); + if ($691) { + label = 198; + break; + } + $692 = ((($$124470$i)) + 8|0); + $693 = HEAP32[$692>>2]|0; + $694 = ($693|0)==(0|0); + if ($694) { + break; + } else { + $$124470$i = $693; + } + } + if ((label|0) == 198) { + $695 = ((($$124470$i)) + 12|0); + $696 = HEAP32[$695>>2]|0; + $697 = $696 & 8; + $698 = ($697|0)==(0); + if ($698) { + HEAP32[$$124470$i>>2] = $$749$i; + $699 = ((($$124470$i)) + 4|0); + $700 = HEAP32[$699>>2]|0; + $701 = (($700) + ($$723948$i))|0; + HEAP32[$699>>2] = $701; + $702 = ((($$749$i)) + 8|0); + $703 = $702; + $704 = $703 & 7; + $705 = ($704|0)==(0); + $706 = (0 - ($703))|0; + $707 = $706 & 7; + $708 = $705 ? 0 : $707; + $709 = (($$749$i) + ($708)|0); + $710 = ((($689)) + 8|0); + $711 = $710; + $712 = $711 & 7; + $713 = ($712|0)==(0); + $714 = (0 - ($711))|0; + $715 = $714 & 7; + $716 = $713 ? 0 : $715; + $717 = (($689) + ($716)|0); + $718 = $717; + $719 = $709; + $720 = (($718) - ($719))|0; + $721 = (($709) + ($$0197)|0); + $722 = (($720) - ($$0197))|0; + $723 = $$0197 | 3; + $724 = ((($709)) + 4|0); + HEAP32[$724>>2] = $723; + $725 = ($717|0)==($630|0); + do { + if ($725) { + $726 = HEAP32[(33300)>>2]|0; + $727 = (($726) + ($722))|0; + HEAP32[(33300)>>2] = $727; + HEAP32[(33312)>>2] = $721; + $728 = $727 | 1; + $729 = ((($721)) + 4|0); + HEAP32[$729>>2] = $728; + } else { + $730 = HEAP32[(33308)>>2]|0; + $731 = ($717|0)==($730|0); + if ($731) { + $732 = HEAP32[(33296)>>2]|0; + $733 = (($732) + ($722))|0; + HEAP32[(33296)>>2] = $733; + HEAP32[(33308)>>2] = $721; + $734 = $733 | 1; + $735 = ((($721)) + 4|0); + HEAP32[$735>>2] = $734; + $736 = (($721) + ($733)|0); + HEAP32[$736>>2] = $733; + break; + } + $737 = ((($717)) + 4|0); + $738 = HEAP32[$737>>2]|0; + $739 = $738 & 3; + $740 = ($739|0)==(1); + if ($740) { + $741 = $738 & -8; + $742 = $738 >>> 3; + $743 = ($738>>>0)<(256); + L314: do { + if ($743) { + $744 = ((($717)) + 8|0); + $745 = HEAP32[$744>>2]|0; + $746 = ((($717)) + 12|0); + $747 = HEAP32[$746>>2]|0; + $748 = $742 << 1; + $749 = (33328 + ($748<<2)|0); + $750 = ($745|0)==($749|0); + do { + if (!($750)) { + $751 = ($745>>>0)<($752>>>0); + if ($751) { + _abort(); + // unreachable; + } + $753 = ((($745)) + 12|0); + $754 = HEAP32[$753>>2]|0; + $755 = ($754|0)==($717|0); + if ($755) { + break; + } + _abort(); + // unreachable; } + } while(0); + $756 = ($747|0)==($745|0); + if ($756) { + $757 = 1 << $742; + $758 = $757 ^ -1; + $759 = HEAP32[8322]|0; + $760 = $759 & $758; + HEAP32[8322] = $760; + break; } - $494 = HEAP32[(34752)>>2]|0; - $495 = ($$lcssa232>>>0)<($494>>>0); - if ($495) { + $761 = ($747|0)==($749|0); + do { + if ($761) { + $$pre10$i$i = ((($747)) + 8|0); + $$pre$phi11$i$iZ2D = $$pre10$i$i; + } else { + $762 = ($747>>>0)<($752>>>0); + if ($762) { + _abort(); + // unreachable; + } + $763 = ((($747)) + 8|0); + $764 = HEAP32[$763>>2]|0; + $765 = ($764|0)==($717|0); + if ($765) { + $$pre$phi11$i$iZ2D = $763; + break; + } + _abort(); + // unreachable; + } + } while(0); + $766 = ((($745)) + 12|0); + HEAP32[$766>>2] = $747; + HEAP32[$$pre$phi11$i$iZ2D>>2] = $745; + } else { + $767 = ((($717)) + 24|0); + $768 = HEAP32[$767>>2]|0; + $769 = ((($717)) + 12|0); + $770 = HEAP32[$769>>2]|0; + $771 = ($770|0)==($717|0); + do { + if ($771) { + $781 = ((($717)) + 16|0); + $782 = ((($781)) + 4|0); + $783 = HEAP32[$782>>2]|0; + $784 = ($783|0)==(0|0); + if ($784) { + $785 = HEAP32[$781>>2]|0; + $786 = ($785|0)==(0|0); + if ($786) { + $$3$i$i = 0; + break; + } else { + $$1291$i$i = $785;$$1293$i$i = $781; + } + } else { + $$1291$i$i = $783;$$1293$i$i = $782; + } + while(1) { + $787 = ((($$1291$i$i)) + 20|0); + $788 = HEAP32[$787>>2]|0; + $789 = ($788|0)==(0|0); + if (!($789)) { + $$1291$i$i = $788;$$1293$i$i = $787; + continue; + } + $790 = ((($$1291$i$i)) + 16|0); + $791 = HEAP32[$790>>2]|0; + $792 = ($791|0)==(0|0); + if ($792) { + break; + } else { + $$1291$i$i = $791;$$1293$i$i = $790; + } + } + $793 = ($$1293$i$i>>>0)<($752>>>0); + if ($793) { + _abort(); + // unreachable; + } else { + HEAP32[$$1293$i$i>>2] = 0; + $$3$i$i = $$1291$i$i; + break; + } + } else { + $772 = ((($717)) + 8|0); + $773 = HEAP32[$772>>2]|0; + $774 = ($773>>>0)<($752>>>0); + if ($774) { + _abort(); + // unreachable; + } + $775 = ((($773)) + 12|0); + $776 = HEAP32[$775>>2]|0; + $777 = ($776|0)==($717|0); + if (!($777)) { + _abort(); + // unreachable; + } + $778 = ((($770)) + 8|0); + $779 = HEAP32[$778>>2]|0; + $780 = ($779|0)==($717|0); + if ($780) { + HEAP32[$775>>2] = $770; + HEAP32[$778>>2] = $773; + $$3$i$i = $770; + break; + } else { + _abort(); + // unreachable; + } + } + } while(0); + $794 = ($768|0)==(0|0); + if ($794) { + break; + } + $795 = ((($717)) + 28|0); + $796 = HEAP32[$795>>2]|0; + $797 = (33592 + ($796<<2)|0); + $798 = HEAP32[$797>>2]|0; + $799 = ($717|0)==($798|0); + do { + if ($799) { + HEAP32[$797>>2] = $$3$i$i; + $cond$i$i = ($$3$i$i|0)==(0|0); + if (!($cond$i$i)) { + break; + } + $800 = 1 << $796; + $801 = $800 ^ -1; + $802 = HEAP32[(33292)>>2]|0; + $803 = $802 & $801; + HEAP32[(33292)>>2] = $803; + break L314; + } else { + $804 = HEAP32[(33304)>>2]|0; + $805 = ($768>>>0)<($804>>>0); + if ($805) { + _abort(); + // unreachable; + } else { + $806 = ((($768)) + 16|0); + $807 = HEAP32[$806>>2]|0; + $not$$i17$i = ($807|0)!=($717|0); + $$sink1$i$i = $not$$i17$i&1; + $808 = (((($768)) + 16|0) + ($$sink1$i$i<<2)|0); + HEAP32[$808>>2] = $$3$i$i; + $809 = ($$3$i$i|0)==(0|0); + if ($809) { + break L314; + } else { + break; + } + } + } + } while(0); + $810 = HEAP32[(33304)>>2]|0; + $811 = ($$3$i$i>>>0)<($810>>>0); + if ($811) { + _abort(); + // unreachable; + } + $812 = ((($$3$i$i)) + 24|0); + HEAP32[$812>>2] = $768; + $813 = ((($717)) + 16|0); + $814 = HEAP32[$813>>2]|0; + $815 = ($814|0)==(0|0); + do { + if (!($815)) { + $816 = ($814>>>0)<($810>>>0); + if ($816) { + _abort(); + // unreachable; + } else { + $817 = ((($$3$i$i)) + 16|0); + HEAP32[$817>>2] = $814; + $818 = ((($814)) + 24|0); + HEAP32[$818>>2] = $$3$i$i; + break; + } + } + } while(0); + $819 = ((($813)) + 4|0); + $820 = HEAP32[$819>>2]|0; + $821 = ($820|0)==(0|0); + if ($821) { + break; + } + $822 = HEAP32[(33304)>>2]|0; + $823 = ($820>>>0)<($822>>>0); + if ($823) { _abort(); // unreachable; } else { - HEAP32[$$lcssa232>>2] = $348; - $$sum11$i = (($246) + 24)|0; - $496 = (($v$3$lcssa$i) + ($$sum11$i)|0); - HEAP32[$496>>2] = $T$028$i$lcssa; - $$sum12$i = (($246) + 12)|0; - $497 = (($v$3$lcssa$i) + ($$sum12$i)|0); - HEAP32[$497>>2] = $348; - $$sum13$i = (($246) + 8)|0; - $498 = (($v$3$lcssa$i) + ($$sum13$i)|0); - HEAP32[$498>>2] = $348; - break L199; + $824 = ((($$3$i$i)) + 20|0); + HEAP32[$824>>2] = $820; + $825 = ((($820)) + 24|0); + HEAP32[$825>>2] = $$3$i$i; + break; } } } while(0); - $499 = ((($T$0$lcssa$i)) + 8|0); - $500 = HEAP32[$499>>2]|0; - $501 = HEAP32[(34752)>>2]|0; - $502 = ($500>>>0)>=($501>>>0); - $not$$i = ($T$0$lcssa$i>>>0)>=($501>>>0); - $503 = $502 & $not$$i; - if ($503) { - $504 = ((($500)) + 12|0); - HEAP32[$504>>2] = $348; - HEAP32[$499>>2] = $348; - $$sum8$i = (($246) + 8)|0; - $505 = (($v$3$lcssa$i) + ($$sum8$i)|0); - HEAP32[$505>>2] = $500; - $$sum9$i = (($246) + 12)|0; - $506 = (($v$3$lcssa$i) + ($$sum9$i)|0); - HEAP32[$506>>2] = $T$0$lcssa$i; - $$sum10$i = (($246) + 24)|0; - $507 = (($v$3$lcssa$i) + ($$sum10$i)|0); - HEAP32[$507>>2] = 0; + $826 = (($717) + ($741)|0); + $827 = (($741) + ($722))|0; + $$0$i18$i = $826;$$0287$i$i = $827; + } else { + $$0$i18$i = $717;$$0287$i$i = $722; + } + $828 = ((($$0$i18$i)) + 4|0); + $829 = HEAP32[$828>>2]|0; + $830 = $829 & -2; + HEAP32[$828>>2] = $830; + $831 = $$0287$i$i | 1; + $832 = ((($721)) + 4|0); + HEAP32[$832>>2] = $831; + $833 = (($721) + ($$0287$i$i)|0); + HEAP32[$833>>2] = $$0287$i$i; + $834 = $$0287$i$i >>> 3; + $835 = ($$0287$i$i>>>0)<(256); + if ($835) { + $836 = $834 << 1; + $837 = (33328 + ($836<<2)|0); + $838 = HEAP32[8322]|0; + $839 = 1 << $834; + $840 = $838 & $839; + $841 = ($840|0)==(0); + do { + if ($841) { + $842 = $838 | $839; + HEAP32[8322] = $842; + $$pre$i19$i = ((($837)) + 8|0); + $$0295$i$i = $837;$$pre$phi$i20$iZ2D = $$pre$i19$i; + } else { + $843 = ((($837)) + 8|0); + $844 = HEAP32[$843>>2]|0; + $845 = HEAP32[(33304)>>2]|0; + $846 = ($844>>>0)<($845>>>0); + if (!($846)) { + $$0295$i$i = $844;$$pre$phi$i20$iZ2D = $843; + break; + } + _abort(); + // unreachable; + } + } while(0); + HEAP32[$$pre$phi$i20$iZ2D>>2] = $721; + $847 = ((($$0295$i$i)) + 12|0); + HEAP32[$847>>2] = $721; + $848 = ((($721)) + 8|0); + HEAP32[$848>>2] = $$0295$i$i; + $849 = ((($721)) + 12|0); + HEAP32[$849>>2] = $837; + break; + } + $850 = $$0287$i$i >>> 8; + $851 = ($850|0)==(0); + do { + if ($851) { + $$0296$i$i = 0; + } else { + $852 = ($$0287$i$i>>>0)>(16777215); + if ($852) { + $$0296$i$i = 31; + break; + } + $853 = (($850) + 1048320)|0; + $854 = $853 >>> 16; + $855 = $854 & 8; + $856 = $850 << $855; + $857 = (($856) + 520192)|0; + $858 = $857 >>> 16; + $859 = $858 & 4; + $860 = $859 | $855; + $861 = $856 << $859; + $862 = (($861) + 245760)|0; + $863 = $862 >>> 16; + $864 = $863 & 2; + $865 = $860 | $864; + $866 = (14 - ($865))|0; + $867 = $861 << $864; + $868 = $867 >>> 15; + $869 = (($866) + ($868))|0; + $870 = $869 << 1; + $871 = (($869) + 7)|0; + $872 = $$0287$i$i >>> $871; + $873 = $872 & 1; + $874 = $873 | $870; + $$0296$i$i = $874; + } + } while(0); + $875 = (33592 + ($$0296$i$i<<2)|0); + $876 = ((($721)) + 28|0); + HEAP32[$876>>2] = $$0296$i$i; + $877 = ((($721)) + 16|0); + $878 = ((($877)) + 4|0); + HEAP32[$878>>2] = 0; + HEAP32[$877>>2] = 0; + $879 = HEAP32[(33292)>>2]|0; + $880 = 1 << $$0296$i$i; + $881 = $879 & $880; + $882 = ($881|0)==(0); + if ($882) { + $883 = $879 | $880; + HEAP32[(33292)>>2] = $883; + HEAP32[$875>>2] = $721; + $884 = ((($721)) + 24|0); + HEAP32[$884>>2] = $875; + $885 = ((($721)) + 12|0); + HEAP32[$885>>2] = $721; + $886 = ((($721)) + 8|0); + HEAP32[$886>>2] = $721; + break; + } + $887 = HEAP32[$875>>2]|0; + $888 = ($$0296$i$i|0)==(31); + $889 = $$0296$i$i >>> 1; + $890 = (25 - ($889))|0; + $891 = $888 ? 0 : $890; + $892 = $$0287$i$i << $891; + $$0288$i$i = $892;$$0289$i$i = $887; + while(1) { + $893 = ((($$0289$i$i)) + 4|0); + $894 = HEAP32[$893>>2]|0; + $895 = $894 & -8; + $896 = ($895|0)==($$0287$i$i|0); + if ($896) { + label = 265; + break; + } + $897 = $$0288$i$i >>> 31; + $898 = (((($$0289$i$i)) + 16|0) + ($897<<2)|0); + $899 = $$0288$i$i << 1; + $900 = HEAP32[$898>>2]|0; + $901 = ($900|0)==(0|0); + if ($901) { + label = 262; + break; + } else { + $$0288$i$i = $899;$$0289$i$i = $900; + } + } + if ((label|0) == 262) { + $902 = HEAP32[(33304)>>2]|0; + $903 = ($898>>>0)<($902>>>0); + if ($903) { + _abort(); + // unreachable; + } else { + HEAP32[$898>>2] = $721; + $904 = ((($721)) + 24|0); + HEAP32[$904>>2] = $$0289$i$i; + $905 = ((($721)) + 12|0); + HEAP32[$905>>2] = $721; + $906 = ((($721)) + 8|0); + HEAP32[$906>>2] = $721; + break; + } + } + else if ((label|0) == 265) { + $907 = ((($$0289$i$i)) + 8|0); + $908 = HEAP32[$907>>2]|0; + $909 = HEAP32[(33304)>>2]|0; + $910 = ($908>>>0)>=($909>>>0); + $not$7$i$i = ($$0289$i$i>>>0)>=($909>>>0); + $911 = $910 & $not$7$i$i; + if ($911) { + $912 = ((($908)) + 12|0); + HEAP32[$912>>2] = $721; + HEAP32[$907>>2] = $721; + $913 = ((($721)) + 8|0); + HEAP32[$913>>2] = $908; + $914 = ((($721)) + 12|0); + HEAP32[$914>>2] = $$0289$i$i; + $915 = ((($721)) + 24|0); + HEAP32[$915>>2] = 0; break; } else { _abort(); // unreachable; } } - } while(0); - $508 = ((($v$3$lcssa$i)) + 8|0); - $mem$0 = $508; - return ($mem$0|0); - } else { - $nb$0 = $246; - } - } - } - } - } - } while(0); - $509 = HEAP32[(34744)>>2]|0; - $510 = ($509>>>0)<($nb$0>>>0); - if (!($510)) { - $511 = (($509) - ($nb$0))|0; - $512 = HEAP32[(34756)>>2]|0; - $513 = ($511>>>0)>(15); - if ($513) { - $514 = (($512) + ($nb$0)|0); - HEAP32[(34756)>>2] = $514; - HEAP32[(34744)>>2] = $511; - $515 = $511 | 1; - $$sum2 = (($nb$0) + 4)|0; - $516 = (($512) + ($$sum2)|0); - HEAP32[$516>>2] = $515; - $517 = (($512) + ($509)|0); - HEAP32[$517>>2] = $511; - $518 = $nb$0 | 3; - $519 = ((($512)) + 4|0); - HEAP32[$519>>2] = $518; - } else { - HEAP32[(34744)>>2] = 0; - HEAP32[(34756)>>2] = 0; - $520 = $509 | 3; - $521 = ((($512)) + 4|0); - HEAP32[$521>>2] = $520; - $$sum1 = (($509) + 4)|0; - $522 = (($512) + ($$sum1)|0); - $523 = HEAP32[$522>>2]|0; - $524 = $523 | 1; - HEAP32[$522>>2] = $524; - } - $525 = ((($512)) + 8|0); - $mem$0 = $525; - return ($mem$0|0); - } - $526 = HEAP32[(34748)>>2]|0; - $527 = ($526>>>0)>($nb$0>>>0); - if ($527) { - $528 = (($526) - ($nb$0))|0; - HEAP32[(34748)>>2] = $528; - $529 = HEAP32[(34760)>>2]|0; - $530 = (($529) + ($nb$0)|0); - HEAP32[(34760)>>2] = $530; - $531 = $528 | 1; - $$sum = (($nb$0) + 4)|0; - $532 = (($529) + ($$sum)|0); - HEAP32[$532>>2] = $531; - $533 = $nb$0 | 3; - $534 = ((($529)) + 4|0); - HEAP32[$534>>2] = $533; - $535 = ((($529)) + 8|0); - $mem$0 = $535; - return ($mem$0|0); - } - $536 = HEAP32[35208>>2]|0; - $537 = ($536|0)==(0); - do { - if ($537) { - $538 = (_sysconf(30)|0); - $539 = (($538) + -1)|0; - $540 = $539 & $538; - $541 = ($540|0)==(0); - if ($541) { - HEAP32[(35216)>>2] = $538; - HEAP32[(35212)>>2] = $538; - HEAP32[(35220)>>2] = -1; - HEAP32[(35224)>>2] = -1; - HEAP32[(35228)>>2] = 0; - HEAP32[(35180)>>2] = 0; - $542 = (_time((0|0))|0); - $543 = $542 & -16; - $544 = $543 ^ 1431655768; - HEAP32[35208>>2] = $544; - break; - } else { - _abort(); - // unreachable; - } - } - } while(0); - $545 = (($nb$0) + 48)|0; - $546 = HEAP32[(35216)>>2]|0; - $547 = (($nb$0) + 47)|0; - $548 = (($546) + ($547))|0; - $549 = (0 - ($546))|0; - $550 = $548 & $549; - $551 = ($550>>>0)>($nb$0>>>0); - if (!($551)) { - $mem$0 = 0; - return ($mem$0|0); - } - $552 = HEAP32[(35176)>>2]|0; - $553 = ($552|0)==(0); - if (!($553)) { - $554 = HEAP32[(35168)>>2]|0; - $555 = (($554) + ($550))|0; - $556 = ($555>>>0)<=($554>>>0); - $557 = ($555>>>0)>($552>>>0); - $or$cond1$i = $556 | $557; - if ($or$cond1$i) { - $mem$0 = 0; - return ($mem$0|0); - } - } - $558 = HEAP32[(35180)>>2]|0; - $559 = $558 & 4; - $560 = ($559|0)==(0); - L258: do { - if ($560) { - $561 = HEAP32[(34760)>>2]|0; - $562 = ($561|0)==(0|0); - L260: do { - if ($562) { - label = 174; - } else { - $sp$0$i$i = (35184); - while(1) { - $563 = HEAP32[$sp$0$i$i>>2]|0; - $564 = ($563>>>0)>($561>>>0); - if (!($564)) { - $565 = ((($sp$0$i$i)) + 4|0); - $566 = HEAP32[$565>>2]|0; - $567 = (($563) + ($566)|0); - $568 = ($567>>>0)>($561>>>0); - if ($568) { - $$lcssa228 = $sp$0$i$i;$$lcssa230 = $565; - break; - } - } - $569 = ((($sp$0$i$i)) + 8|0); - $570 = HEAP32[$569>>2]|0; - $571 = ($570|0)==(0|0); - if ($571) { - label = 174; - break L260; - } else { - $sp$0$i$i = $570; - } - } - $594 = HEAP32[(34748)>>2]|0; - $595 = (($548) - ($594))|0; - $596 = $595 & $549; - $597 = ($596>>>0)<(2147483647); - if ($597) { - $598 = (_sbrk(($596|0))|0); - $599 = HEAP32[$$lcssa228>>2]|0; - $600 = HEAP32[$$lcssa230>>2]|0; - $601 = (($599) + ($600)|0); - $602 = ($598|0)==($601|0); - $$3$i = $602 ? $596 : 0; - if ($602) { - $603 = ($598|0)==((-1)|0); - if ($603) { - $tsize$0323944$i = $$3$i; - } else { - $tbase$255$i = $598;$tsize$254$i = $$3$i; - label = 194; - break L258; - } - } else { - $br$0$ph$i = $598;$ssize$1$ph$i = $596;$tsize$0$ph$i = $$3$i; - label = 184; - } - } else { - $tsize$0323944$i = 0; - } - } - } while(0); - do { - if ((label|0) == 174) { - $572 = (_sbrk(0)|0); - $573 = ($572|0)==((-1)|0); - if ($573) { - $tsize$0323944$i = 0; - } else { - $574 = $572; - $575 = HEAP32[(35212)>>2]|0; - $576 = (($575) + -1)|0; - $577 = $576 & $574; - $578 = ($577|0)==(0); - if ($578) { - $ssize$0$i = $550; - } else { - $579 = (($576) + ($574))|0; - $580 = (0 - ($575))|0; - $581 = $579 & $580; - $582 = (($550) - ($574))|0; - $583 = (($582) + ($581))|0; - $ssize$0$i = $583; - } - $584 = HEAP32[(35168)>>2]|0; - $585 = (($584) + ($ssize$0$i))|0; - $586 = ($ssize$0$i>>>0)>($nb$0>>>0); - $587 = ($ssize$0$i>>>0)<(2147483647); - $or$cond$i30 = $586 & $587; - if ($or$cond$i30) { - $588 = HEAP32[(35176)>>2]|0; - $589 = ($588|0)==(0); - if (!($589)) { - $590 = ($585>>>0)<=($584>>>0); - $591 = ($585>>>0)>($588>>>0); - $or$cond2$i = $590 | $591; - if ($or$cond2$i) { - $tsize$0323944$i = 0; - break; - } - } - $592 = (_sbrk(($ssize$0$i|0))|0); - $593 = ($592|0)==($572|0); - $ssize$0$$i = $593 ? $ssize$0$i : 0; - if ($593) { - $tbase$255$i = $572;$tsize$254$i = $ssize$0$$i; - label = 194; - break L258; - } else { - $br$0$ph$i = $592;$ssize$1$ph$i = $ssize$0$i;$tsize$0$ph$i = $ssize$0$$i; - label = 184; - } - } else { - $tsize$0323944$i = 0; - } - } - } - } while(0); - L280: do { - if ((label|0) == 184) { - $604 = (0 - ($ssize$1$ph$i))|0; - $605 = ($br$0$ph$i|0)!=((-1)|0); - $606 = ($ssize$1$ph$i>>>0)<(2147483647); - $or$cond5$i = $606 & $605; - $607 = ($545>>>0)>($ssize$1$ph$i>>>0); - $or$cond6$i = $607 & $or$cond5$i; - do { - if ($or$cond6$i) { - $608 = HEAP32[(35216)>>2]|0; - $609 = (($547) - ($ssize$1$ph$i))|0; - $610 = (($609) + ($608))|0; - $611 = (0 - ($608))|0; - $612 = $610 & $611; - $613 = ($612>>>0)<(2147483647); - if ($613) { - $614 = (_sbrk(($612|0))|0); - $615 = ($614|0)==((-1)|0); - if ($615) { - (_sbrk(($604|0))|0); - $tsize$0323944$i = $tsize$0$ph$i; - break L280; - } else { - $616 = (($612) + ($ssize$1$ph$i))|0; - $ssize$2$i = $616; - break; - } - } else { - $ssize$2$i = $ssize$1$ph$i; - } - } else { - $ssize$2$i = $ssize$1$ph$i; - } - } while(0); - $617 = ($br$0$ph$i|0)==((-1)|0); - if ($617) { - $tsize$0323944$i = $tsize$0$ph$i; - } else { - $tbase$255$i = $br$0$ph$i;$tsize$254$i = $ssize$2$i; - label = 194; - break L258; - } - } - } while(0); - $618 = HEAP32[(35180)>>2]|0; - $619 = $618 | 4; - HEAP32[(35180)>>2] = $619; - $tsize$1$i = $tsize$0323944$i; - label = 191; - } else { - $tsize$1$i = 0; - label = 191; - } - } while(0); - if ((label|0) == 191) { - $620 = ($550>>>0)<(2147483647); - if ($620) { - $621 = (_sbrk(($550|0))|0); - $622 = (_sbrk(0)|0); - $623 = ($621|0)!=((-1)|0); - $624 = ($622|0)!=((-1)|0); - $or$cond3$i = $623 & $624; - $625 = ($621>>>0)<($622>>>0); - $or$cond8$i = $625 & $or$cond3$i; - if ($or$cond8$i) { - $626 = $622; - $627 = $621; - $628 = (($626) - ($627))|0; - $629 = (($nb$0) + 40)|0; - $630 = ($628>>>0)>($629>>>0); - $$tsize$1$i = $630 ? $628 : $tsize$1$i; - if ($630) { - $tbase$255$i = $621;$tsize$254$i = $$tsize$1$i; - label = 194; - } - } - } - } - if ((label|0) == 194) { - $631 = HEAP32[(35168)>>2]|0; - $632 = (($631) + ($tsize$254$i))|0; - HEAP32[(35168)>>2] = $632; - $633 = HEAP32[(35172)>>2]|0; - $634 = ($632>>>0)>($633>>>0); - if ($634) { - HEAP32[(35172)>>2] = $632; - } - $635 = HEAP32[(34760)>>2]|0; - $636 = ($635|0)==(0|0); - L299: do { - if ($636) { - $637 = HEAP32[(34752)>>2]|0; - $638 = ($637|0)==(0|0); - $639 = ($tbase$255$i>>>0)<($637>>>0); - $or$cond9$i = $638 | $639; - if ($or$cond9$i) { - HEAP32[(34752)>>2] = $tbase$255$i; - } - HEAP32[(35184)>>2] = $tbase$255$i; - HEAP32[(35188)>>2] = $tsize$254$i; - HEAP32[(35196)>>2] = 0; - $640 = HEAP32[35208>>2]|0; - HEAP32[(34772)>>2] = $640; - HEAP32[(34768)>>2] = -1; - $i$02$i$i = 0; - while(1) { - $641 = $i$02$i$i << 1; - $642 = (34776 + ($641<<2)|0); - $$sum$i$i = (($641) + 3)|0; - $643 = (34776 + ($$sum$i$i<<2)|0); - HEAP32[$643>>2] = $642; - $$sum1$i$i = (($641) + 2)|0; - $644 = (34776 + ($$sum1$i$i<<2)|0); - HEAP32[$644>>2] = $642; - $645 = (($i$02$i$i) + 1)|0; - $exitcond$i$i = ($645|0)==(32); - if ($exitcond$i$i) { - break; - } else { - $i$02$i$i = $645; - } - } - $646 = (($tsize$254$i) + -40)|0; - $647 = ((($tbase$255$i)) + 8|0); - $648 = $647; - $649 = $648 & 7; - $650 = ($649|0)==(0); - $651 = (0 - ($648))|0; - $652 = $651 & 7; - $653 = $650 ? 0 : $652; - $654 = (($tbase$255$i) + ($653)|0); - $655 = (($646) - ($653))|0; - HEAP32[(34760)>>2] = $654; - HEAP32[(34748)>>2] = $655; - $656 = $655 | 1; - $$sum$i13$i = (($653) + 4)|0; - $657 = (($tbase$255$i) + ($$sum$i13$i)|0); - HEAP32[$657>>2] = $656; - $$sum2$i$i = (($tsize$254$i) + -36)|0; - $658 = (($tbase$255$i) + ($$sum2$i$i)|0); - HEAP32[$658>>2] = 40; - $659 = HEAP32[(35224)>>2]|0; - HEAP32[(34764)>>2] = $659; - } else { - $sp$084$i = (35184); - while(1) { - $660 = HEAP32[$sp$084$i>>2]|0; - $661 = ((($sp$084$i)) + 4|0); - $662 = HEAP32[$661>>2]|0; - $663 = (($660) + ($662)|0); - $664 = ($tbase$255$i|0)==($663|0); - if ($664) { - $$lcssa222 = $660;$$lcssa224 = $661;$$lcssa226 = $662;$sp$084$i$lcssa = $sp$084$i; - label = 204; - break; - } - $665 = ((($sp$084$i)) + 8|0); - $666 = HEAP32[$665>>2]|0; - $667 = ($666|0)==(0|0); - if ($667) { - break; - } else { - $sp$084$i = $666; - } - } - if ((label|0) == 204) { - $668 = ((($sp$084$i$lcssa)) + 12|0); - $669 = HEAP32[$668>>2]|0; - $670 = $669 & 8; - $671 = ($670|0)==(0); - if ($671) { - $672 = ($635>>>0)>=($$lcssa222>>>0); - $673 = ($635>>>0)<($tbase$255$i>>>0); - $or$cond57$i = $673 & $672; - if ($or$cond57$i) { - $674 = (($$lcssa226) + ($tsize$254$i))|0; - HEAP32[$$lcssa224>>2] = $674; - $675 = HEAP32[(34748)>>2]|0; - $676 = (($675) + ($tsize$254$i))|0; - $677 = ((($635)) + 8|0); - $678 = $677; - $679 = $678 & 7; - $680 = ($679|0)==(0); - $681 = (0 - ($678))|0; - $682 = $681 & 7; - $683 = $680 ? 0 : $682; - $684 = (($635) + ($683)|0); - $685 = (($676) - ($683))|0; - HEAP32[(34760)>>2] = $684; - HEAP32[(34748)>>2] = $685; - $686 = $685 | 1; - $$sum$i17$i = (($683) + 4)|0; - $687 = (($635) + ($$sum$i17$i)|0); - HEAP32[$687>>2] = $686; - $$sum2$i18$i = (($676) + 4)|0; - $688 = (($635) + ($$sum2$i18$i)|0); - HEAP32[$688>>2] = 40; - $689 = HEAP32[(35224)>>2]|0; - HEAP32[(34764)>>2] = $689; - break; - } - } - } - $690 = HEAP32[(34752)>>2]|0; - $691 = ($tbase$255$i>>>0)<($690>>>0); - if ($691) { - HEAP32[(34752)>>2] = $tbase$255$i; - $755 = $tbase$255$i; - } else { - $755 = $690; - } - $692 = (($tbase$255$i) + ($tsize$254$i)|0); - $sp$183$i = (35184); - while(1) { - $693 = HEAP32[$sp$183$i>>2]|0; - $694 = ($693|0)==($692|0); - if ($694) { - $$lcssa219 = $sp$183$i;$sp$183$i$lcssa = $sp$183$i; - label = 212; - break; - } - $695 = ((($sp$183$i)) + 8|0); - $696 = HEAP32[$695>>2]|0; - $697 = ($696|0)==(0|0); - if ($697) { - $sp$0$i$i$i = (35184); - break; - } else { - $sp$183$i = $696; - } - } - if ((label|0) == 212) { - $698 = ((($sp$183$i$lcssa)) + 12|0); - $699 = HEAP32[$698>>2]|0; - $700 = $699 & 8; - $701 = ($700|0)==(0); - if ($701) { - HEAP32[$$lcssa219>>2] = $tbase$255$i; - $702 = ((($sp$183$i$lcssa)) + 4|0); - $703 = HEAP32[$702>>2]|0; - $704 = (($703) + ($tsize$254$i))|0; - HEAP32[$702>>2] = $704; - $705 = ((($tbase$255$i)) + 8|0); - $706 = $705; - $707 = $706 & 7; - $708 = ($707|0)==(0); - $709 = (0 - ($706))|0; - $710 = $709 & 7; - $711 = $708 ? 0 : $710; - $712 = (($tbase$255$i) + ($711)|0); - $$sum112$i = (($tsize$254$i) + 8)|0; - $713 = (($tbase$255$i) + ($$sum112$i)|0); - $714 = $713; - $715 = $714 & 7; - $716 = ($715|0)==(0); - $717 = (0 - ($714))|0; - $718 = $717 & 7; - $719 = $716 ? 0 : $718; - $$sum113$i = (($719) + ($tsize$254$i))|0; - $720 = (($tbase$255$i) + ($$sum113$i)|0); - $721 = $720; - $722 = $712; - $723 = (($721) - ($722))|0; - $$sum$i19$i = (($711) + ($nb$0))|0; - $724 = (($tbase$255$i) + ($$sum$i19$i)|0); - $725 = (($723) - ($nb$0))|0; - $726 = $nb$0 | 3; - $$sum1$i20$i = (($711) + 4)|0; - $727 = (($tbase$255$i) + ($$sum1$i20$i)|0); - HEAP32[$727>>2] = $726; - $728 = ($720|0)==($635|0); - L317: do { - if ($728) { - $729 = HEAP32[(34748)>>2]|0; - $730 = (($729) + ($725))|0; - HEAP32[(34748)>>2] = $730; - HEAP32[(34760)>>2] = $724; - $731 = $730 | 1; - $$sum42$i$i = (($$sum$i19$i) + 4)|0; - $732 = (($tbase$255$i) + ($$sum42$i$i)|0); - HEAP32[$732>>2] = $731; - } else { - $733 = HEAP32[(34756)>>2]|0; - $734 = ($720|0)==($733|0); - if ($734) { - $735 = HEAP32[(34744)>>2]|0; - $736 = (($735) + ($725))|0; - HEAP32[(34744)>>2] = $736; - HEAP32[(34756)>>2] = $724; - $737 = $736 | 1; - $$sum40$i$i = (($$sum$i19$i) + 4)|0; - $738 = (($tbase$255$i) + ($$sum40$i$i)|0); - HEAP32[$738>>2] = $737; - $$sum41$i$i = (($736) + ($$sum$i19$i))|0; - $739 = (($tbase$255$i) + ($$sum41$i$i)|0); - HEAP32[$739>>2] = $736; - break; - } - $$sum2$i21$i = (($tsize$254$i) + 4)|0; - $$sum114$i = (($$sum2$i21$i) + ($719))|0; - $740 = (($tbase$255$i) + ($$sum114$i)|0); - $741 = HEAP32[$740>>2]|0; - $742 = $741 & 3; - $743 = ($742|0)==(1); - if ($743) { - $744 = $741 & -8; - $745 = $741 >>> 3; - $746 = ($741>>>0)<(256); - L325: do { - if ($746) { - $$sum3738$i$i = $719 | 8; - $$sum124$i = (($$sum3738$i$i) + ($tsize$254$i))|0; - $747 = (($tbase$255$i) + ($$sum124$i)|0); - $748 = HEAP32[$747>>2]|0; - $$sum39$i$i = (($tsize$254$i) + 12)|0; - $$sum125$i = (($$sum39$i$i) + ($719))|0; - $749 = (($tbase$255$i) + ($$sum125$i)|0); - $750 = HEAP32[$749>>2]|0; - $751 = $745 << 1; - $752 = (34776 + ($751<<2)|0); - $753 = ($748|0)==($752|0); - do { - if (!($753)) { - $754 = ($748>>>0)<($755>>>0); - if ($754) { - _abort(); - // unreachable; - } - $756 = ((($748)) + 12|0); - $757 = HEAP32[$756>>2]|0; - $758 = ($757|0)==($720|0); - if ($758) { - break; - } - _abort(); - // unreachable; - } - } while(0); - $759 = ($750|0)==($748|0); - if ($759) { - $760 = 1 << $745; - $761 = $760 ^ -1; - $762 = HEAP32[34736>>2]|0; - $763 = $762 & $761; - HEAP32[34736>>2] = $763; - break; - } - $764 = ($750|0)==($752|0); - do { - if ($764) { - $$pre57$i$i = ((($750)) + 8|0); - $$pre$phi58$i$iZ2D = $$pre57$i$i; - } else { - $765 = ($750>>>0)<($755>>>0); - if ($765) { - _abort(); - // unreachable; - } - $766 = ((($750)) + 8|0); - $767 = HEAP32[$766>>2]|0; - $768 = ($767|0)==($720|0); - if ($768) { - $$pre$phi58$i$iZ2D = $766; - break; - } - _abort(); - // unreachable; - } - } while(0); - $769 = ((($748)) + 12|0); - HEAP32[$769>>2] = $750; - HEAP32[$$pre$phi58$i$iZ2D>>2] = $748; - } else { - $$sum34$i$i = $719 | 24; - $$sum115$i = (($$sum34$i$i) + ($tsize$254$i))|0; - $770 = (($tbase$255$i) + ($$sum115$i)|0); - $771 = HEAP32[$770>>2]|0; - $$sum5$i$i = (($tsize$254$i) + 12)|0; - $$sum116$i = (($$sum5$i$i) + ($719))|0; - $772 = (($tbase$255$i) + ($$sum116$i)|0); - $773 = HEAP32[$772>>2]|0; - $774 = ($773|0)==($720|0); - do { - if ($774) { - $$sum67$i$i = $719 | 16; - $$sum122$i = (($$sum2$i21$i) + ($$sum67$i$i))|0; - $784 = (($tbase$255$i) + ($$sum122$i)|0); - $785 = HEAP32[$784>>2]|0; - $786 = ($785|0)==(0|0); - if ($786) { - $$sum123$i = (($$sum67$i$i) + ($tsize$254$i))|0; - $787 = (($tbase$255$i) + ($$sum123$i)|0); - $788 = HEAP32[$787>>2]|0; - $789 = ($788|0)==(0|0); - if ($789) { - $R$1$i$i = 0; - break; - } else { - $R$0$i$i = $788;$RP$0$i$i = $787; - } - } else { - $R$0$i$i = $785;$RP$0$i$i = $784; - } - while(1) { - $790 = ((($R$0$i$i)) + 20|0); - $791 = HEAP32[$790>>2]|0; - $792 = ($791|0)==(0|0); - if (!($792)) { - $R$0$i$i = $791;$RP$0$i$i = $790; - continue; - } - $793 = ((($R$0$i$i)) + 16|0); - $794 = HEAP32[$793>>2]|0; - $795 = ($794|0)==(0|0); - if ($795) { - $R$0$i$i$lcssa = $R$0$i$i;$RP$0$i$i$lcssa = $RP$0$i$i; - break; - } else { - $R$0$i$i = $794;$RP$0$i$i = $793; - } - } - $796 = ($RP$0$i$i$lcssa>>>0)<($755>>>0); - if ($796) { - _abort(); - // unreachable; - } else { - HEAP32[$RP$0$i$i$lcssa>>2] = 0; - $R$1$i$i = $R$0$i$i$lcssa; - break; - } - } else { - $$sum3536$i$i = $719 | 8; - $$sum117$i = (($$sum3536$i$i) + ($tsize$254$i))|0; - $775 = (($tbase$255$i) + ($$sum117$i)|0); - $776 = HEAP32[$775>>2]|0; - $777 = ($776>>>0)<($755>>>0); - if ($777) { - _abort(); - // unreachable; - } - $778 = ((($776)) + 12|0); - $779 = HEAP32[$778>>2]|0; - $780 = ($779|0)==($720|0); - if (!($780)) { - _abort(); - // unreachable; - } - $781 = ((($773)) + 8|0); - $782 = HEAP32[$781>>2]|0; - $783 = ($782|0)==($720|0); - if ($783) { - HEAP32[$778>>2] = $773; - HEAP32[$781>>2] = $776; - $R$1$i$i = $773; - break; - } else { - _abort(); - // unreachable; - } - } - } while(0); - $797 = ($771|0)==(0|0); - if ($797) { - break; - } - $$sum30$i$i = (($tsize$254$i) + 28)|0; - $$sum118$i = (($$sum30$i$i) + ($719))|0; - $798 = (($tbase$255$i) + ($$sum118$i)|0); - $799 = HEAP32[$798>>2]|0; - $800 = (35040 + ($799<<2)|0); - $801 = HEAP32[$800>>2]|0; - $802 = ($720|0)==($801|0); - do { - if ($802) { - HEAP32[$800>>2] = $R$1$i$i; - $cond$i$i = ($R$1$i$i|0)==(0|0); - if (!($cond$i$i)) { - break; - } - $803 = 1 << $799; - $804 = $803 ^ -1; - $805 = HEAP32[(34740)>>2]|0; - $806 = $805 & $804; - HEAP32[(34740)>>2] = $806; - break L325; - } else { - $807 = HEAP32[(34752)>>2]|0; - $808 = ($771>>>0)<($807>>>0); - if ($808) { - _abort(); - // unreachable; - } - $809 = ((($771)) + 16|0); - $810 = HEAP32[$809>>2]|0; - $811 = ($810|0)==($720|0); - if ($811) { - HEAP32[$809>>2] = $R$1$i$i; - } else { - $812 = ((($771)) + 20|0); - HEAP32[$812>>2] = $R$1$i$i; - } - $813 = ($R$1$i$i|0)==(0|0); - if ($813) { - break L325; - } - } - } while(0); - $814 = HEAP32[(34752)>>2]|0; - $815 = ($R$1$i$i>>>0)<($814>>>0); - if ($815) { - _abort(); - // unreachable; - } - $816 = ((($R$1$i$i)) + 24|0); - HEAP32[$816>>2] = $771; - $$sum3132$i$i = $719 | 16; - $$sum119$i = (($$sum3132$i$i) + ($tsize$254$i))|0; - $817 = (($tbase$255$i) + ($$sum119$i)|0); - $818 = HEAP32[$817>>2]|0; - $819 = ($818|0)==(0|0); - do { - if (!($819)) { - $820 = ($818>>>0)<($814>>>0); - if ($820) { - _abort(); - // unreachable; - } else { - $821 = ((($R$1$i$i)) + 16|0); - HEAP32[$821>>2] = $818; - $822 = ((($818)) + 24|0); - HEAP32[$822>>2] = $R$1$i$i; - break; - } - } - } while(0); - $$sum120$i = (($$sum2$i21$i) + ($$sum3132$i$i))|0; - $823 = (($tbase$255$i) + ($$sum120$i)|0); - $824 = HEAP32[$823>>2]|0; - $825 = ($824|0)==(0|0); - if ($825) { - break; - } - $826 = HEAP32[(34752)>>2]|0; - $827 = ($824>>>0)<($826>>>0); - if ($827) { - _abort(); - // unreachable; - } else { - $828 = ((($R$1$i$i)) + 20|0); - HEAP32[$828>>2] = $824; - $829 = ((($824)) + 24|0); - HEAP32[$829>>2] = $R$1$i$i; - break; - } - } - } while(0); - $$sum9$i$i = $744 | $719; - $$sum121$i = (($$sum9$i$i) + ($tsize$254$i))|0; - $830 = (($tbase$255$i) + ($$sum121$i)|0); - $831 = (($744) + ($725))|0; - $oldfirst$0$i$i = $830;$qsize$0$i$i = $831; - } else { - $oldfirst$0$i$i = $720;$qsize$0$i$i = $725; - } - $832 = ((($oldfirst$0$i$i)) + 4|0); - $833 = HEAP32[$832>>2]|0; - $834 = $833 & -2; - HEAP32[$832>>2] = $834; - $835 = $qsize$0$i$i | 1; - $$sum10$i$i = (($$sum$i19$i) + 4)|0; - $836 = (($tbase$255$i) + ($$sum10$i$i)|0); - HEAP32[$836>>2] = $835; - $$sum11$i$i = (($qsize$0$i$i) + ($$sum$i19$i))|0; - $837 = (($tbase$255$i) + ($$sum11$i$i)|0); - HEAP32[$837>>2] = $qsize$0$i$i; - $838 = $qsize$0$i$i >>> 3; - $839 = ($qsize$0$i$i>>>0)<(256); - if ($839) { - $840 = $838 << 1; - $841 = (34776 + ($840<<2)|0); - $842 = HEAP32[34736>>2]|0; - $843 = 1 << $838; - $844 = $842 & $843; - $845 = ($844|0)==(0); - do { - if ($845) { - $846 = $842 | $843; - HEAP32[34736>>2] = $846; - $$pre$i22$i = (($840) + 2)|0; - $$pre56$i$i = (34776 + ($$pre$i22$i<<2)|0); - $$pre$phi$i23$iZ2D = $$pre56$i$i;$F4$0$i$i = $841; - } else { - $$sum29$i$i = (($840) + 2)|0; - $847 = (34776 + ($$sum29$i$i<<2)|0); - $848 = HEAP32[$847>>2]|0; - $849 = HEAP32[(34752)>>2]|0; - $850 = ($848>>>0)<($849>>>0); - if (!($850)) { - $$pre$phi$i23$iZ2D = $847;$F4$0$i$i = $848; - break; - } - _abort(); - // unreachable; - } - } while(0); - HEAP32[$$pre$phi$i23$iZ2D>>2] = $724; - $851 = ((($F4$0$i$i)) + 12|0); - HEAP32[$851>>2] = $724; - $$sum27$i$i = (($$sum$i19$i) + 8)|0; - $852 = (($tbase$255$i) + ($$sum27$i$i)|0); - HEAP32[$852>>2] = $F4$0$i$i; - $$sum28$i$i = (($$sum$i19$i) + 12)|0; - $853 = (($tbase$255$i) + ($$sum28$i$i)|0); - HEAP32[$853>>2] = $841; - break; - } - $854 = $qsize$0$i$i >>> 8; - $855 = ($854|0)==(0); - do { - if ($855) { - $I7$0$i$i = 0; - } else { - $856 = ($qsize$0$i$i>>>0)>(16777215); - if ($856) { - $I7$0$i$i = 31; - break; - } - $857 = (($854) + 1048320)|0; - $858 = $857 >>> 16; - $859 = $858 & 8; - $860 = $854 << $859; - $861 = (($860) + 520192)|0; - $862 = $861 >>> 16; - $863 = $862 & 4; - $864 = $863 | $859; - $865 = $860 << $863; - $866 = (($865) + 245760)|0; - $867 = $866 >>> 16; - $868 = $867 & 2; - $869 = $864 | $868; - $870 = (14 - ($869))|0; - $871 = $865 << $868; - $872 = $871 >>> 15; - $873 = (($870) + ($872))|0; - $874 = $873 << 1; - $875 = (($873) + 7)|0; - $876 = $qsize$0$i$i >>> $875; - $877 = $876 & 1; - $878 = $877 | $874; - $I7$0$i$i = $878; - } - } while(0); - $879 = (35040 + ($I7$0$i$i<<2)|0); - $$sum12$i$i = (($$sum$i19$i) + 28)|0; - $880 = (($tbase$255$i) + ($$sum12$i$i)|0); - HEAP32[$880>>2] = $I7$0$i$i; - $$sum13$i$i = (($$sum$i19$i) + 16)|0; - $881 = (($tbase$255$i) + ($$sum13$i$i)|0); - $$sum14$i$i = (($$sum$i19$i) + 20)|0; - $882 = (($tbase$255$i) + ($$sum14$i$i)|0); - HEAP32[$882>>2] = 0; - HEAP32[$881>>2] = 0; - $883 = HEAP32[(34740)>>2]|0; - $884 = 1 << $I7$0$i$i; - $885 = $883 & $884; - $886 = ($885|0)==(0); - if ($886) { - $887 = $883 | $884; - HEAP32[(34740)>>2] = $887; - HEAP32[$879>>2] = $724; - $$sum15$i$i = (($$sum$i19$i) + 24)|0; - $888 = (($tbase$255$i) + ($$sum15$i$i)|0); - HEAP32[$888>>2] = $879; - $$sum16$i$i = (($$sum$i19$i) + 12)|0; - $889 = (($tbase$255$i) + ($$sum16$i$i)|0); - HEAP32[$889>>2] = $724; - $$sum17$i$i = (($$sum$i19$i) + 8)|0; - $890 = (($tbase$255$i) + ($$sum17$i$i)|0); - HEAP32[$890>>2] = $724; - break; - } - $891 = HEAP32[$879>>2]|0; - $892 = ((($891)) + 4|0); - $893 = HEAP32[$892>>2]|0; - $894 = $893 & -8; - $895 = ($894|0)==($qsize$0$i$i|0); - L411: do { - if ($895) { - $T$0$lcssa$i25$i = $891; - } else { - $896 = ($I7$0$i$i|0)==(31); - $897 = $I7$0$i$i >>> 1; - $898 = (25 - ($897))|0; - $899 = $896 ? 0 : $898; - $900 = $qsize$0$i$i << $899; - $K8$051$i$i = $900;$T$050$i$i = $891; - while(1) { - $907 = $K8$051$i$i >>> 31; - $908 = (((($T$050$i$i)) + 16|0) + ($907<<2)|0); - $903 = HEAP32[$908>>2]|0; - $909 = ($903|0)==(0|0); - if ($909) { - $$lcssa = $908;$T$050$i$i$lcssa = $T$050$i$i; - break; - } - $901 = $K8$051$i$i << 1; - $902 = ((($903)) + 4|0); - $904 = HEAP32[$902>>2]|0; - $905 = $904 & -8; - $906 = ($905|0)==($qsize$0$i$i|0); - if ($906) { - $T$0$lcssa$i25$i = $903; - break L411; - } else { - $K8$051$i$i = $901;$T$050$i$i = $903; - } - } - $910 = HEAP32[(34752)>>2]|0; - $911 = ($$lcssa>>>0)<($910>>>0); - if ($911) { - _abort(); - // unreachable; - } else { - HEAP32[$$lcssa>>2] = $724; - $$sum23$i$i = (($$sum$i19$i) + 24)|0; - $912 = (($tbase$255$i) + ($$sum23$i$i)|0); - HEAP32[$912>>2] = $T$050$i$i$lcssa; - $$sum24$i$i = (($$sum$i19$i) + 12)|0; - $913 = (($tbase$255$i) + ($$sum24$i$i)|0); - HEAP32[$913>>2] = $724; - $$sum25$i$i = (($$sum$i19$i) + 8)|0; - $914 = (($tbase$255$i) + ($$sum25$i$i)|0); - HEAP32[$914>>2] = $724; - break L317; - } - } - } while(0); - $915 = ((($T$0$lcssa$i25$i)) + 8|0); - $916 = HEAP32[$915>>2]|0; - $917 = HEAP32[(34752)>>2]|0; - $918 = ($916>>>0)>=($917>>>0); - $not$$i26$i = ($T$0$lcssa$i25$i>>>0)>=($917>>>0); - $919 = $918 & $not$$i26$i; - if ($919) { - $920 = ((($916)) + 12|0); - HEAP32[$920>>2] = $724; - HEAP32[$915>>2] = $724; - $$sum20$i$i = (($$sum$i19$i) + 8)|0; - $921 = (($tbase$255$i) + ($$sum20$i$i)|0); - HEAP32[$921>>2] = $916; - $$sum21$i$i = (($$sum$i19$i) + 12)|0; - $922 = (($tbase$255$i) + ($$sum21$i$i)|0); - HEAP32[$922>>2] = $T$0$lcssa$i25$i; - $$sum22$i$i = (($$sum$i19$i) + 24)|0; - $923 = (($tbase$255$i) + ($$sum22$i$i)|0); - HEAP32[$923>>2] = 0; - break; - } else { - _abort(); - // unreachable; - } } } while(0); - $$sum1819$i$i = $711 | 8; - $924 = (($tbase$255$i) + ($$sum1819$i$i)|0); - $mem$0 = $924; - return ($mem$0|0); - } else { - $sp$0$i$i$i = (35184); + $1047 = ((($709)) + 8|0); + $$0 = $1047; + STACKTOP = sp;return ($$0|0); } } + $$0$i$i$i = (33736); while(1) { - $925 = HEAP32[$sp$0$i$i$i>>2]|0; - $926 = ($925>>>0)>($635>>>0); - if (!($926)) { - $927 = ((($sp$0$i$i$i)) + 4|0); - $928 = HEAP32[$927>>2]|0; - $929 = (($925) + ($928)|0); - $930 = ($929>>>0)>($635>>>0); - if ($930) { - $$lcssa215 = $925;$$lcssa216 = $928;$$lcssa217 = $929; + $916 = HEAP32[$$0$i$i$i>>2]|0; + $917 = ($916>>>0)>($630>>>0); + if (!($917)) { + $918 = ((($$0$i$i$i)) + 4|0); + $919 = HEAP32[$918>>2]|0; + $920 = (($916) + ($919)|0); + $921 = ($920>>>0)>($630>>>0); + if ($921) { break; } } - $931 = ((($sp$0$i$i$i)) + 8|0); - $932 = HEAP32[$931>>2]|0; - $sp$0$i$i$i = $932; + $922 = ((($$0$i$i$i)) + 8|0); + $923 = HEAP32[$922>>2]|0; + $$0$i$i$i = $923; } - $$sum$i14$i = (($$lcssa216) + -47)|0; - $$sum1$i15$i = (($$lcssa216) + -39)|0; - $933 = (($$lcssa215) + ($$sum1$i15$i)|0); - $934 = $933; - $935 = $934 & 7; - $936 = ($935|0)==(0); - $937 = (0 - ($934))|0; - $938 = $937 & 7; - $939 = $936 ? 0 : $938; - $$sum2$i16$i = (($$sum$i14$i) + ($939))|0; - $940 = (($$lcssa215) + ($$sum2$i16$i)|0); - $941 = ((($635)) + 16|0); - $942 = ($940>>>0)<($941>>>0); - $943 = $942 ? $635 : $940; - $944 = ((($943)) + 8|0); - $945 = (($tsize$254$i) + -40)|0; - $946 = ((($tbase$255$i)) + 8|0); - $947 = $946; - $948 = $947 & 7; - $949 = ($948|0)==(0); - $950 = (0 - ($947))|0; - $951 = $950 & 7; - $952 = $949 ? 0 : $951; - $953 = (($tbase$255$i) + ($952)|0); - $954 = (($945) - ($952))|0; - HEAP32[(34760)>>2] = $953; - HEAP32[(34748)>>2] = $954; - $955 = $954 | 1; - $$sum$i$i$i = (($952) + 4)|0; - $956 = (($tbase$255$i) + ($$sum$i$i$i)|0); - HEAP32[$956>>2] = $955; - $$sum2$i$i$i = (($tsize$254$i) + -36)|0; - $957 = (($tbase$255$i) + ($$sum2$i$i$i)|0); - HEAP32[$957>>2] = 40; - $958 = HEAP32[(35224)>>2]|0; - HEAP32[(34764)>>2] = $958; - $959 = ((($943)) + 4|0); - HEAP32[$959>>2] = 27; - ;HEAP32[$944>>2]=HEAP32[(35184)>>2]|0;HEAP32[$944+4>>2]=HEAP32[(35184)+4>>2]|0;HEAP32[$944+8>>2]=HEAP32[(35184)+8>>2]|0;HEAP32[$944+12>>2]=HEAP32[(35184)+12>>2]|0; - HEAP32[(35184)>>2] = $tbase$255$i; - HEAP32[(35188)>>2] = $tsize$254$i; - HEAP32[(35196)>>2] = 0; - HEAP32[(35192)>>2] = $944; - $960 = ((($943)) + 28|0); - HEAP32[$960>>2] = 7; - $961 = ((($943)) + 32|0); - $962 = ($961>>>0)<($$lcssa217>>>0); - if ($962) { - $964 = $960; - while(1) { - $963 = ((($964)) + 4|0); - HEAP32[$963>>2] = 7; - $965 = ((($964)) + 8|0); - $966 = ($965>>>0)<($$lcssa217>>>0); - if ($966) { - $964 = $963; - } else { - break; - } + $924 = ((($920)) + -47|0); + $925 = ((($924)) + 8|0); + $926 = $925; + $927 = $926 & 7; + $928 = ($927|0)==(0); + $929 = (0 - ($926))|0; + $930 = $929 & 7; + $931 = $928 ? 0 : $930; + $932 = (($924) + ($931)|0); + $933 = ((($630)) + 16|0); + $934 = ($932>>>0)<($933>>>0); + $935 = $934 ? $630 : $932; + $936 = ((($935)) + 8|0); + $937 = ((($935)) + 24|0); + $938 = (($$723948$i) + -40)|0; + $939 = ((($$749$i)) + 8|0); + $940 = $939; + $941 = $940 & 7; + $942 = ($941|0)==(0); + $943 = (0 - ($940))|0; + $944 = $943 & 7; + $945 = $942 ? 0 : $944; + $946 = (($$749$i) + ($945)|0); + $947 = (($938) - ($945))|0; + HEAP32[(33312)>>2] = $946; + HEAP32[(33300)>>2] = $947; + $948 = $947 | 1; + $949 = ((($946)) + 4|0); + HEAP32[$949>>2] = $948; + $950 = (($946) + ($947)|0); + $951 = ((($950)) + 4|0); + HEAP32[$951>>2] = 40; + $952 = HEAP32[(33776)>>2]|0; + HEAP32[(33316)>>2] = $952; + $953 = ((($935)) + 4|0); + HEAP32[$953>>2] = 27; + ;HEAP32[$936>>2]=HEAP32[(33736)>>2]|0;HEAP32[$936+4>>2]=HEAP32[(33736)+4>>2]|0;HEAP32[$936+8>>2]=HEAP32[(33736)+8>>2]|0;HEAP32[$936+12>>2]=HEAP32[(33736)+12>>2]|0; + HEAP32[(33736)>>2] = $$749$i; + HEAP32[(33740)>>2] = $$723948$i; + HEAP32[(33748)>>2] = 0; + HEAP32[(33744)>>2] = $936; + $955 = $937; + while(1) { + $954 = ((($955)) + 4|0); + HEAP32[$954>>2] = 7; + $956 = ((($955)) + 8|0); + $957 = ($956>>>0)<($920>>>0); + if ($957) { + $955 = $954; + } else { + break; } } - $967 = ($943|0)==($635|0); - if (!($967)) { - $968 = $943; - $969 = $635; - $970 = (($968) - ($969))|0; - $971 = HEAP32[$959>>2]|0; - $972 = $971 & -2; - HEAP32[$959>>2] = $972; - $973 = $970 | 1; - $974 = ((($635)) + 4|0); - HEAP32[$974>>2] = $973; - HEAP32[$943>>2] = $970; - $975 = $970 >>> 3; - $976 = ($970>>>0)<(256); - if ($976) { - $977 = $975 << 1; - $978 = (34776 + ($977<<2)|0); - $979 = HEAP32[34736>>2]|0; - $980 = 1 << $975; - $981 = $979 & $980; - $982 = ($981|0)==(0); - if ($982) { - $983 = $979 | $980; - HEAP32[34736>>2] = $983; - $$pre$i$i = (($977) + 2)|0; - $$pre14$i$i = (34776 + ($$pre$i$i<<2)|0); - $$pre$phi$i$iZ2D = $$pre14$i$i;$F$0$i$i = $978; + $958 = ($935|0)==($630|0); + if (!($958)) { + $959 = $935; + $960 = $630; + $961 = (($959) - ($960))|0; + $962 = HEAP32[$953>>2]|0; + $963 = $962 & -2; + HEAP32[$953>>2] = $963; + $964 = $961 | 1; + $965 = ((($630)) + 4|0); + HEAP32[$965>>2] = $964; + HEAP32[$935>>2] = $961; + $966 = $961 >>> 3; + $967 = ($961>>>0)<(256); + if ($967) { + $968 = $966 << 1; + $969 = (33328 + ($968<<2)|0); + $970 = HEAP32[8322]|0; + $971 = 1 << $966; + $972 = $970 & $971; + $973 = ($972|0)==(0); + if ($973) { + $974 = $970 | $971; + HEAP32[8322] = $974; + $$pre$i$i = ((($969)) + 8|0); + $$0211$i$i = $969;$$pre$phi$i$iZ2D = $$pre$i$i; } else { - $$sum4$i$i = (($977) + 2)|0; - $984 = (34776 + ($$sum4$i$i<<2)|0); - $985 = HEAP32[$984>>2]|0; - $986 = HEAP32[(34752)>>2]|0; - $987 = ($985>>>0)<($986>>>0); - if ($987) { + $975 = ((($969)) + 8|0); + $976 = HEAP32[$975>>2]|0; + $977 = HEAP32[(33304)>>2]|0; + $978 = ($976>>>0)<($977>>>0); + if ($978) { _abort(); // unreachable; } else { - $$pre$phi$i$iZ2D = $984;$F$0$i$i = $985; + $$0211$i$i = $976;$$pre$phi$i$iZ2D = $975; } } - HEAP32[$$pre$phi$i$iZ2D>>2] = $635; - $988 = ((($F$0$i$i)) + 12|0); - HEAP32[$988>>2] = $635; - $989 = ((($635)) + 8|0); - HEAP32[$989>>2] = $F$0$i$i; - $990 = ((($635)) + 12|0); - HEAP32[$990>>2] = $978; + HEAP32[$$pre$phi$i$iZ2D>>2] = $630; + $979 = ((($$0211$i$i)) + 12|0); + HEAP32[$979>>2] = $630; + $980 = ((($630)) + 8|0); + HEAP32[$980>>2] = $$0211$i$i; + $981 = ((($630)) + 12|0); + HEAP32[$981>>2] = $969; break; } - $991 = $970 >>> 8; - $992 = ($991|0)==(0); - if ($992) { - $I1$0$i$i = 0; + $982 = $961 >>> 8; + $983 = ($982|0)==(0); + if ($983) { + $$0212$i$i = 0; } else { - $993 = ($970>>>0)>(16777215); - if ($993) { - $I1$0$i$i = 31; + $984 = ($961>>>0)>(16777215); + if ($984) { + $$0212$i$i = 31; } else { - $994 = (($991) + 1048320)|0; + $985 = (($982) + 1048320)|0; + $986 = $985 >>> 16; + $987 = $986 & 8; + $988 = $982 << $987; + $989 = (($988) + 520192)|0; + $990 = $989 >>> 16; + $991 = $990 & 4; + $992 = $991 | $987; + $993 = $988 << $991; + $994 = (($993) + 245760)|0; $995 = $994 >>> 16; - $996 = $995 & 8; - $997 = $991 << $996; - $998 = (($997) + 520192)|0; - $999 = $998 >>> 16; - $1000 = $999 & 4; - $1001 = $1000 | $996; - $1002 = $997 << $1000; - $1003 = (($1002) + 245760)|0; - $1004 = $1003 >>> 16; - $1005 = $1004 & 2; - $1006 = $1001 | $1005; - $1007 = (14 - ($1006))|0; - $1008 = $1002 << $1005; - $1009 = $1008 >>> 15; - $1010 = (($1007) + ($1009))|0; - $1011 = $1010 << 1; - $1012 = (($1010) + 7)|0; - $1013 = $970 >>> $1012; - $1014 = $1013 & 1; - $1015 = $1014 | $1011; - $I1$0$i$i = $1015; + $996 = $995 & 2; + $997 = $992 | $996; + $998 = (14 - ($997))|0; + $999 = $993 << $996; + $1000 = $999 >>> 15; + $1001 = (($998) + ($1000))|0; + $1002 = $1001 << 1; + $1003 = (($1001) + 7)|0; + $1004 = $961 >>> $1003; + $1005 = $1004 & 1; + $1006 = $1005 | $1002; + $$0212$i$i = $1006; } } - $1016 = (35040 + ($I1$0$i$i<<2)|0); - $1017 = ((($635)) + 28|0); - HEAP32[$1017>>2] = $I1$0$i$i; - $1018 = ((($635)) + 20|0); - HEAP32[$1018>>2] = 0; - HEAP32[$941>>2] = 0; - $1019 = HEAP32[(34740)>>2]|0; - $1020 = 1 << $I1$0$i$i; - $1021 = $1019 & $1020; - $1022 = ($1021|0)==(0); - if ($1022) { - $1023 = $1019 | $1020; - HEAP32[(34740)>>2] = $1023; - HEAP32[$1016>>2] = $635; - $1024 = ((($635)) + 24|0); - HEAP32[$1024>>2] = $1016; - $1025 = ((($635)) + 12|0); - HEAP32[$1025>>2] = $635; - $1026 = ((($635)) + 8|0); - HEAP32[$1026>>2] = $635; + $1007 = (33592 + ($$0212$i$i<<2)|0); + $1008 = ((($630)) + 28|0); + HEAP32[$1008>>2] = $$0212$i$i; + $1009 = ((($630)) + 20|0); + HEAP32[$1009>>2] = 0; + HEAP32[$933>>2] = 0; + $1010 = HEAP32[(33292)>>2]|0; + $1011 = 1 << $$0212$i$i; + $1012 = $1010 & $1011; + $1013 = ($1012|0)==(0); + if ($1013) { + $1014 = $1010 | $1011; + HEAP32[(33292)>>2] = $1014; + HEAP32[$1007>>2] = $630; + $1015 = ((($630)) + 24|0); + HEAP32[$1015>>2] = $1007; + $1016 = ((($630)) + 12|0); + HEAP32[$1016>>2] = $630; + $1017 = ((($630)) + 8|0); + HEAP32[$1017>>2] = $630; break; } - $1027 = HEAP32[$1016>>2]|0; - $1028 = ((($1027)) + 4|0); - $1029 = HEAP32[$1028>>2]|0; - $1030 = $1029 & -8; - $1031 = ($1030|0)==($970|0); - L452: do { - if ($1031) { - $T$0$lcssa$i$i = $1027; + $1018 = HEAP32[$1007>>2]|0; + $1019 = ($$0212$i$i|0)==(31); + $1020 = $$0212$i$i >>> 1; + $1021 = (25 - ($1020))|0; + $1022 = $1019 ? 0 : $1021; + $1023 = $961 << $1022; + $$0206$i$i = $1023;$$0207$i$i = $1018; + while(1) { + $1024 = ((($$0207$i$i)) + 4|0); + $1025 = HEAP32[$1024>>2]|0; + $1026 = $1025 & -8; + $1027 = ($1026|0)==($961|0); + if ($1027) { + label = 292; + break; + } + $1028 = $$0206$i$i >>> 31; + $1029 = (((($$0207$i$i)) + 16|0) + ($1028<<2)|0); + $1030 = $$0206$i$i << 1; + $1031 = HEAP32[$1029>>2]|0; + $1032 = ($1031|0)==(0|0); + if ($1032) { + label = 289; + break; } else { - $1032 = ($I1$0$i$i|0)==(31); - $1033 = $I1$0$i$i >>> 1; - $1034 = (25 - ($1033))|0; - $1035 = $1032 ? 0 : $1034; - $1036 = $970 << $1035; - $K2$07$i$i = $1036;$T$06$i$i = $1027; - while(1) { - $1043 = $K2$07$i$i >>> 31; - $1044 = (((($T$06$i$i)) + 16|0) + ($1043<<2)|0); - $1039 = HEAP32[$1044>>2]|0; - $1045 = ($1039|0)==(0|0); - if ($1045) { - $$lcssa211 = $1044;$T$06$i$i$lcssa = $T$06$i$i; - break; - } - $1037 = $K2$07$i$i << 1; - $1038 = ((($1039)) + 4|0); - $1040 = HEAP32[$1038>>2]|0; - $1041 = $1040 & -8; - $1042 = ($1041|0)==($970|0); - if ($1042) { - $T$0$lcssa$i$i = $1039; - break L452; - } else { - $K2$07$i$i = $1037;$T$06$i$i = $1039; - } - } - $1046 = HEAP32[(34752)>>2]|0; - $1047 = ($$lcssa211>>>0)<($1046>>>0); - if ($1047) { - _abort(); - // unreachable; - } else { - HEAP32[$$lcssa211>>2] = $635; - $1048 = ((($635)) + 24|0); - HEAP32[$1048>>2] = $T$06$i$i$lcssa; - $1049 = ((($635)) + 12|0); - HEAP32[$1049>>2] = $635; - $1050 = ((($635)) + 8|0); - HEAP32[$1050>>2] = $635; - break L299; - } + $$0206$i$i = $1030;$$0207$i$i = $1031; + } + } + if ((label|0) == 289) { + $1033 = HEAP32[(33304)>>2]|0; + $1034 = ($1029>>>0)<($1033>>>0); + if ($1034) { + _abort(); + // unreachable; + } else { + HEAP32[$1029>>2] = $630; + $1035 = ((($630)) + 24|0); + HEAP32[$1035>>2] = $$0207$i$i; + $1036 = ((($630)) + 12|0); + HEAP32[$1036>>2] = $630; + $1037 = ((($630)) + 8|0); + HEAP32[$1037>>2] = $630; + break; + } + } + else if ((label|0) == 292) { + $1038 = ((($$0207$i$i)) + 8|0); + $1039 = HEAP32[$1038>>2]|0; + $1040 = HEAP32[(33304)>>2]|0; + $1041 = ($1039>>>0)>=($1040>>>0); + $not$$i$i = ($$0207$i$i>>>0)>=($1040>>>0); + $1042 = $1041 & $not$$i$i; + if ($1042) { + $1043 = ((($1039)) + 12|0); + HEAP32[$1043>>2] = $630; + HEAP32[$1038>>2] = $630; + $1044 = ((($630)) + 8|0); + HEAP32[$1044>>2] = $1039; + $1045 = ((($630)) + 12|0); + HEAP32[$1045>>2] = $$0207$i$i; + $1046 = ((($630)) + 24|0); + HEAP32[$1046>>2] = 0; + break; + } else { + _abort(); + // unreachable; } - } while(0); - $1051 = ((($T$0$lcssa$i$i)) + 8|0); - $1052 = HEAP32[$1051>>2]|0; - $1053 = HEAP32[(34752)>>2]|0; - $1054 = ($1052>>>0)>=($1053>>>0); - $not$$i$i = ($T$0$lcssa$i$i>>>0)>=($1053>>>0); - $1055 = $1054 & $not$$i$i; - if ($1055) { - $1056 = ((($1052)) + 12|0); - HEAP32[$1056>>2] = $635; - HEAP32[$1051>>2] = $635; - $1057 = ((($635)) + 8|0); - HEAP32[$1057>>2] = $1052; - $1058 = ((($635)) + 12|0); - HEAP32[$1058>>2] = $T$0$lcssa$i$i; - $1059 = ((($635)) + 24|0); - HEAP32[$1059>>2] = 0; - break; - } else { - _abort(); - // unreachable; } } } } while(0); - $1060 = HEAP32[(34748)>>2]|0; - $1061 = ($1060>>>0)>($nb$0>>>0); - if ($1061) { - $1062 = (($1060) - ($nb$0))|0; - HEAP32[(34748)>>2] = $1062; - $1063 = HEAP32[(34760)>>2]|0; - $1064 = (($1063) + ($nb$0)|0); - HEAP32[(34760)>>2] = $1064; - $1065 = $1062 | 1; - $$sum$i32 = (($nb$0) + 4)|0; - $1066 = (($1063) + ($$sum$i32)|0); - HEAP32[$1066>>2] = $1065; - $1067 = $nb$0 | 3; - $1068 = ((($1063)) + 4|0); - HEAP32[$1068>>2] = $1067; - $1069 = ((($1063)) + 8|0); - $mem$0 = $1069; - return ($mem$0|0); + $1048 = HEAP32[(33300)>>2]|0; + $1049 = ($1048>>>0)>($$0197>>>0); + if ($1049) { + $1050 = (($1048) - ($$0197))|0; + HEAP32[(33300)>>2] = $1050; + $1051 = HEAP32[(33312)>>2]|0; + $1052 = (($1051) + ($$0197)|0); + HEAP32[(33312)>>2] = $1052; + $1053 = $1050 | 1; + $1054 = ((($1052)) + 4|0); + HEAP32[$1054>>2] = $1053; + $1055 = $$0197 | 3; + $1056 = ((($1051)) + 4|0); + HEAP32[$1056>>2] = $1055; + $1057 = ((($1051)) + 8|0); + $$0 = $1057; + STACKTOP = sp;return ($$0|0); } } - $1070 = (___errno_location()|0); - HEAP32[$1070>>2] = 12; - $mem$0 = 0; - return ($mem$0|0); + $1058 = (___errno_location()|0); + HEAP32[$1058>>2] = 12; + $$0 = 0; + STACKTOP = sp;return ($$0|0); } -function _free($mem) { - $mem = $mem|0; - var $$lcssa = 0, $$pre = 0, $$pre$phi59Z2D = 0, $$pre$phi61Z2D = 0, $$pre$phiZ2D = 0, $$pre57 = 0, $$pre58 = 0, $$pre60 = 0, $$sum = 0, $$sum11 = 0, $$sum12 = 0, $$sum13 = 0, $$sum14 = 0, $$sum1718 = 0, $$sum19 = 0, $$sum2 = 0, $$sum20 = 0, $$sum22 = 0, $$sum23 = 0, $$sum24 = 0; - var $$sum25 = 0, $$sum26 = 0, $$sum27 = 0, $$sum28 = 0, $$sum29 = 0, $$sum3 = 0, $$sum30 = 0, $$sum31 = 0, $$sum5 = 0, $$sum67 = 0, $$sum8 = 0, $$sum9 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0; - var $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0; - var $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0; - var $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0; - var $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0; - var $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0; - var $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0; - var $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0; - var $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0; - var $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0; - var $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0; - var $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0; - var $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0; - var $321 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0; - var $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0; - var $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0; - var $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $F16$0 = 0, $I18$0 = 0, $K19$052 = 0, $R$0 = 0, $R$0$lcssa = 0, $R$1 = 0; - var $R7$0 = 0, $R7$0$lcssa = 0, $R7$1 = 0, $RP$0 = 0, $RP$0$lcssa = 0, $RP9$0 = 0, $RP9$0$lcssa = 0, $T$0$lcssa = 0, $T$051 = 0, $T$051$lcssa = 0, $cond = 0, $cond47 = 0, $not$ = 0, $p$0 = 0, $psize$0 = 0, $psize$1 = 0, $sp$0$i = 0, $sp$0$in$i = 0, label = 0, sp = 0; +function _free($0) { + $0 = $0|0; + var $$0212$i = 0, $$0212$in$i = 0, $$0383 = 0, $$0384 = 0, $$0396 = 0, $$0403 = 0, $$1 = 0, $$1382 = 0, $$1387 = 0, $$1390 = 0, $$1398 = 0, $$1402 = 0, $$2 = 0, $$3 = 0, $$3400 = 0, $$pre = 0, $$pre$phi443Z2D = 0, $$pre$phi445Z2D = 0, $$pre$phiZ2D = 0, $$pre442 = 0; + var $$pre444 = 0, $$sink3 = 0, $$sink5 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0; + var $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0; + var $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0; + var $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0; + var $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0; + var $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0; + var $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0; + var $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0; + var $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0; + var $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0; + var $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0; + var $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0; + var $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; + var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0; + var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0; + var $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0; + var $99 = 0, $cond421 = 0, $cond422 = 0, $not$ = 0, $not$405 = 0, $not$437 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = ($mem|0)==(0|0); - if ($0) { + $1 = ($0|0)==(0|0); + if ($1) { return; } - $1 = ((($mem)) + -8|0); - $2 = HEAP32[(34752)>>2]|0; - $3 = ($1>>>0)<($2>>>0); - if ($3) { + $2 = ((($0)) + -8|0); + $3 = HEAP32[(33304)>>2]|0; + $4 = ($2>>>0)<($3>>>0); + if ($4) { _abort(); // unreachable; } - $4 = ((($mem)) + -4|0); - $5 = HEAP32[$4>>2]|0; - $6 = $5 & 3; - $7 = ($6|0)==(1); - if ($7) { + $5 = ((($0)) + -4|0); + $6 = HEAP32[$5>>2]|0; + $7 = $6 & 3; + $8 = ($7|0)==(1); + if ($8) { _abort(); // unreachable; } - $8 = $5 & -8; - $$sum = (($8) + -8)|0; - $9 = (($mem) + ($$sum)|0); - $10 = $5 & 1; - $11 = ($10|0)==(0); - do { - if ($11) { - $12 = HEAP32[$1>>2]|0; - $13 = ($6|0)==(0); - if ($13) { + $9 = $6 & -8; + $10 = (($2) + ($9)|0); + $11 = $6 & 1; + $12 = ($11|0)==(0); + L10: do { + if ($12) { + $13 = HEAP32[$2>>2]|0; + $14 = ($7|0)==(0); + if ($14) { return; } - $$sum2 = (-8 - ($12))|0; - $14 = (($mem) + ($$sum2)|0); - $15 = (($12) + ($8))|0; - $16 = ($14>>>0)<($2>>>0); - if ($16) { + $15 = (0 - ($13))|0; + $16 = (($2) + ($15)|0); + $17 = (($13) + ($9))|0; + $18 = ($16>>>0)<($3>>>0); + if ($18) { _abort(); // unreachable; } - $17 = HEAP32[(34756)>>2]|0; - $18 = ($14|0)==($17|0); - if ($18) { - $$sum3 = (($8) + -4)|0; - $103 = (($mem) + ($$sum3)|0); - $104 = HEAP32[$103>>2]|0; - $105 = $104 & 3; - $106 = ($105|0)==(3); - if (!($106)) { - $p$0 = $14;$psize$0 = $15; + $19 = HEAP32[(33308)>>2]|0; + $20 = ($16|0)==($19|0); + if ($20) { + $104 = ((($10)) + 4|0); + $105 = HEAP32[$104>>2]|0; + $106 = $105 & 3; + $107 = ($106|0)==(3); + if (!($107)) { + $$1 = $16;$$1382 = $17;$113 = $16; break; } - HEAP32[(34744)>>2] = $15; - $107 = $104 & -2; - HEAP32[$103>>2] = $107; - $108 = $15 | 1; - $$sum20 = (($$sum2) + 4)|0; - $109 = (($mem) + ($$sum20)|0); - HEAP32[$109>>2] = $108; - HEAP32[$9>>2] = $15; + $108 = (($16) + ($17)|0); + $109 = ((($16)) + 4|0); + $110 = $17 | 1; + $111 = $105 & -2; + HEAP32[(33296)>>2] = $17; + HEAP32[$104>>2] = $111; + HEAP32[$109>>2] = $110; + HEAP32[$108>>2] = $17; return; } - $19 = $12 >>> 3; - $20 = ($12>>>0)<(256); - if ($20) { - $$sum30 = (($$sum2) + 8)|0; - $21 = (($mem) + ($$sum30)|0); - $22 = HEAP32[$21>>2]|0; - $$sum31 = (($$sum2) + 12)|0; - $23 = (($mem) + ($$sum31)|0); + $21 = $13 >>> 3; + $22 = ($13>>>0)<(256); + if ($22) { + $23 = ((($16)) + 8|0); $24 = HEAP32[$23>>2]|0; - $25 = $19 << 1; - $26 = (34776 + ($25<<2)|0); - $27 = ($22|0)==($26|0); - if (!($27)) { - $28 = ($22>>>0)<($2>>>0); - if ($28) { + $25 = ((($16)) + 12|0); + $26 = HEAP32[$25>>2]|0; + $27 = $21 << 1; + $28 = (33328 + ($27<<2)|0); + $29 = ($24|0)==($28|0); + if (!($29)) { + $30 = ($24>>>0)<($3>>>0); + if ($30) { _abort(); // unreachable; } - $29 = ((($22)) + 12|0); - $30 = HEAP32[$29>>2]|0; - $31 = ($30|0)==($14|0); - if (!($31)) { + $31 = ((($24)) + 12|0); + $32 = HEAP32[$31>>2]|0; + $33 = ($32|0)==($16|0); + if (!($33)) { _abort(); // unreachable; } } - $32 = ($24|0)==($22|0); - if ($32) { - $33 = 1 << $19; - $34 = $33 ^ -1; - $35 = HEAP32[34736>>2]|0; - $36 = $35 & $34; - HEAP32[34736>>2] = $36; - $p$0 = $14;$psize$0 = $15; + $34 = ($26|0)==($24|0); + if ($34) { + $35 = 1 << $21; + $36 = $35 ^ -1; + $37 = HEAP32[8322]|0; + $38 = $37 & $36; + HEAP32[8322] = $38; + $$1 = $16;$$1382 = $17;$113 = $16; break; } - $37 = ($24|0)==($26|0); - if ($37) { - $$pre60 = ((($24)) + 8|0); - $$pre$phi61Z2D = $$pre60; + $39 = ($26|0)==($28|0); + if ($39) { + $$pre444 = ((($26)) + 8|0); + $$pre$phi445Z2D = $$pre444; } else { - $38 = ($24>>>0)<($2>>>0); - if ($38) { + $40 = ($26>>>0)<($3>>>0); + if ($40) { _abort(); // unreachable; } - $39 = ((($24)) + 8|0); - $40 = HEAP32[$39>>2]|0; - $41 = ($40|0)==($14|0); - if ($41) { - $$pre$phi61Z2D = $39; + $41 = ((($26)) + 8|0); + $42 = HEAP32[$41>>2]|0; + $43 = ($42|0)==($16|0); + if ($43) { + $$pre$phi445Z2D = $41; } else { _abort(); // unreachable; } } - $42 = ((($22)) + 12|0); - HEAP32[$42>>2] = $24; - HEAP32[$$pre$phi61Z2D>>2] = $22; - $p$0 = $14;$psize$0 = $15; + $44 = ((($24)) + 12|0); + HEAP32[$44>>2] = $26; + HEAP32[$$pre$phi445Z2D>>2] = $24; + $$1 = $16;$$1382 = $17;$113 = $16; break; } - $$sum22 = (($$sum2) + 24)|0; - $43 = (($mem) + ($$sum22)|0); - $44 = HEAP32[$43>>2]|0; - $$sum23 = (($$sum2) + 12)|0; - $45 = (($mem) + ($$sum23)|0); + $45 = ((($16)) + 24|0); $46 = HEAP32[$45>>2]|0; - $47 = ($46|0)==($14|0); + $47 = ((($16)) + 12|0); + $48 = HEAP32[$47>>2]|0; + $49 = ($48|0)==($16|0); do { - if ($47) { - $$sum25 = (($$sum2) + 20)|0; - $57 = (($mem) + ($$sum25)|0); - $58 = HEAP32[$57>>2]|0; - $59 = ($58|0)==(0|0); - if ($59) { - $$sum24 = (($$sum2) + 16)|0; - $60 = (($mem) + ($$sum24)|0); - $61 = HEAP32[$60>>2]|0; - $62 = ($61|0)==(0|0); - if ($62) { - $R$1 = 0; + if ($49) { + $59 = ((($16)) + 16|0); + $60 = ((($59)) + 4|0); + $61 = HEAP32[$60>>2]|0; + $62 = ($61|0)==(0|0); + if ($62) { + $63 = HEAP32[$59>>2]|0; + $64 = ($63|0)==(0|0); + if ($64) { + $$3 = 0; break; } else { - $R$0 = $61;$RP$0 = $60; + $$1387 = $63;$$1390 = $59; } } else { - $R$0 = $58;$RP$0 = $57; + $$1387 = $61;$$1390 = $60; } while(1) { - $63 = ((($R$0)) + 20|0); - $64 = HEAP32[$63>>2]|0; - $65 = ($64|0)==(0|0); - if (!($65)) { - $R$0 = $64;$RP$0 = $63; + $65 = ((($$1387)) + 20|0); + $66 = HEAP32[$65>>2]|0; + $67 = ($66|0)==(0|0); + if (!($67)) { + $$1387 = $66;$$1390 = $65; continue; } - $66 = ((($R$0)) + 16|0); - $67 = HEAP32[$66>>2]|0; - $68 = ($67|0)==(0|0); - if ($68) { - $R$0$lcssa = $R$0;$RP$0$lcssa = $RP$0; + $68 = ((($$1387)) + 16|0); + $69 = HEAP32[$68>>2]|0; + $70 = ($69|0)==(0|0); + if ($70) { break; } else { - $R$0 = $67;$RP$0 = $66; + $$1387 = $69;$$1390 = $68; } } - $69 = ($RP$0$lcssa>>>0)<($2>>>0); - if ($69) { + $71 = ($$1390>>>0)<($3>>>0); + if ($71) { _abort(); // unreachable; } else { - HEAP32[$RP$0$lcssa>>2] = 0; - $R$1 = $R$0$lcssa; + HEAP32[$$1390>>2] = 0; + $$3 = $$1387; break; } } else { - $$sum29 = (($$sum2) + 8)|0; - $48 = (($mem) + ($$sum29)|0); - $49 = HEAP32[$48>>2]|0; - $50 = ($49>>>0)<($2>>>0); - if ($50) { + $50 = ((($16)) + 8|0); + $51 = HEAP32[$50>>2]|0; + $52 = ($51>>>0)<($3>>>0); + if ($52) { _abort(); // unreachable; } - $51 = ((($49)) + 12|0); - $52 = HEAP32[$51>>2]|0; - $53 = ($52|0)==($14|0); - if (!($53)) { + $53 = ((($51)) + 12|0); + $54 = HEAP32[$53>>2]|0; + $55 = ($54|0)==($16|0); + if (!($55)) { _abort(); // unreachable; } - $54 = ((($46)) + 8|0); - $55 = HEAP32[$54>>2]|0; - $56 = ($55|0)==($14|0); - if ($56) { - HEAP32[$51>>2] = $46; - HEAP32[$54>>2] = $49; - $R$1 = $46; + $56 = ((($48)) + 8|0); + $57 = HEAP32[$56>>2]|0; + $58 = ($57|0)==($16|0); + if ($58) { + HEAP32[$53>>2] = $48; + HEAP32[$56>>2] = $51; + $$3 = $48; break; } else { _abort(); @@ -61079,294 +72995,285 @@ function _free($mem) { } } } while(0); - $70 = ($44|0)==(0|0); - if ($70) { - $p$0 = $14;$psize$0 = $15; + $72 = ($46|0)==(0|0); + if ($72) { + $$1 = $16;$$1382 = $17;$113 = $16; } else { - $$sum26 = (($$sum2) + 28)|0; - $71 = (($mem) + ($$sum26)|0); - $72 = HEAP32[$71>>2]|0; - $73 = (35040 + ($72<<2)|0); + $73 = ((($16)) + 28|0); $74 = HEAP32[$73>>2]|0; - $75 = ($14|0)==($74|0); - if ($75) { - HEAP32[$73>>2] = $R$1; - $cond = ($R$1|0)==(0|0); - if ($cond) { - $76 = 1 << $72; - $77 = $76 ^ -1; - $78 = HEAP32[(34740)>>2]|0; - $79 = $78 & $77; - HEAP32[(34740)>>2] = $79; - $p$0 = $14;$psize$0 = $15; - break; - } - } else { - $80 = HEAP32[(34752)>>2]|0; - $81 = ($44>>>0)<($80>>>0); - if ($81) { - _abort(); - // unreachable; - } - $82 = ((($44)) + 16|0); - $83 = HEAP32[$82>>2]|0; - $84 = ($83|0)==($14|0); - if ($84) { - HEAP32[$82>>2] = $R$1; + $75 = (33592 + ($74<<2)|0); + $76 = HEAP32[$75>>2]|0; + $77 = ($16|0)==($76|0); + do { + if ($77) { + HEAP32[$75>>2] = $$3; + $cond421 = ($$3|0)==(0|0); + if ($cond421) { + $78 = 1 << $74; + $79 = $78 ^ -1; + $80 = HEAP32[(33292)>>2]|0; + $81 = $80 & $79; + HEAP32[(33292)>>2] = $81; + $$1 = $16;$$1382 = $17;$113 = $16; + break L10; + } } else { - $85 = ((($44)) + 20|0); - HEAP32[$85>>2] = $R$1; + $82 = HEAP32[(33304)>>2]|0; + $83 = ($46>>>0)<($82>>>0); + if ($83) { + _abort(); + // unreachable; + } else { + $84 = ((($46)) + 16|0); + $85 = HEAP32[$84>>2]|0; + $not$405 = ($85|0)!=($16|0); + $$sink3 = $not$405&1; + $86 = (((($46)) + 16|0) + ($$sink3<<2)|0); + HEAP32[$86>>2] = $$3; + $87 = ($$3|0)==(0|0); + if ($87) { + $$1 = $16;$$1382 = $17;$113 = $16; + break L10; + } else { + break; + } + } } - $86 = ($R$1|0)==(0|0); - if ($86) { - $p$0 = $14;$psize$0 = $15; - break; - } - } - $87 = HEAP32[(34752)>>2]|0; - $88 = ($R$1>>>0)<($87>>>0); - if ($88) { + } while(0); + $88 = HEAP32[(33304)>>2]|0; + $89 = ($$3>>>0)<($88>>>0); + if ($89) { _abort(); // unreachable; } - $89 = ((($R$1)) + 24|0); - HEAP32[$89>>2] = $44; - $$sum27 = (($$sum2) + 16)|0; - $90 = (($mem) + ($$sum27)|0); - $91 = HEAP32[$90>>2]|0; - $92 = ($91|0)==(0|0); + $90 = ((($$3)) + 24|0); + HEAP32[$90>>2] = $46; + $91 = ((($16)) + 16|0); + $92 = HEAP32[$91>>2]|0; + $93 = ($92|0)==(0|0); do { - if (!($92)) { - $93 = ($91>>>0)<($87>>>0); - if ($93) { + if (!($93)) { + $94 = ($92>>>0)<($88>>>0); + if ($94) { _abort(); // unreachable; } else { - $94 = ((($R$1)) + 16|0); - HEAP32[$94>>2] = $91; - $95 = ((($91)) + 24|0); - HEAP32[$95>>2] = $R$1; + $95 = ((($$3)) + 16|0); + HEAP32[$95>>2] = $92; + $96 = ((($92)) + 24|0); + HEAP32[$96>>2] = $$3; break; } } } while(0); - $$sum28 = (($$sum2) + 20)|0; - $96 = (($mem) + ($$sum28)|0); - $97 = HEAP32[$96>>2]|0; - $98 = ($97|0)==(0|0); - if ($98) { - $p$0 = $14;$psize$0 = $15; + $97 = ((($91)) + 4|0); + $98 = HEAP32[$97>>2]|0; + $99 = ($98|0)==(0|0); + if ($99) { + $$1 = $16;$$1382 = $17;$113 = $16; } else { - $99 = HEAP32[(34752)>>2]|0; - $100 = ($97>>>0)<($99>>>0); - if ($100) { + $100 = HEAP32[(33304)>>2]|0; + $101 = ($98>>>0)<($100>>>0); + if ($101) { _abort(); // unreachable; } else { - $101 = ((($R$1)) + 20|0); - HEAP32[$101>>2] = $97; - $102 = ((($97)) + 24|0); - HEAP32[$102>>2] = $R$1; - $p$0 = $14;$psize$0 = $15; + $102 = ((($$3)) + 20|0); + HEAP32[$102>>2] = $98; + $103 = ((($98)) + 24|0); + HEAP32[$103>>2] = $$3; + $$1 = $16;$$1382 = $17;$113 = $16; break; } } } } else { - $p$0 = $1;$psize$0 = $8; + $$1 = $2;$$1382 = $9;$113 = $2; } } while(0); - $110 = ($p$0>>>0)<($9>>>0); - if (!($110)) { + $112 = ($113>>>0)<($10>>>0); + if (!($112)) { _abort(); // unreachable; } - $$sum19 = (($8) + -4)|0; - $111 = (($mem) + ($$sum19)|0); - $112 = HEAP32[$111>>2]|0; - $113 = $112 & 1; - $114 = ($113|0)==(0); - if ($114) { + $114 = ((($10)) + 4|0); + $115 = HEAP32[$114>>2]|0; + $116 = $115 & 1; + $117 = ($116|0)==(0); + if ($117) { _abort(); // unreachable; } - $115 = $112 & 2; - $116 = ($115|0)==(0); - if ($116) { - $117 = HEAP32[(34760)>>2]|0; - $118 = ($9|0)==($117|0); - if ($118) { - $119 = HEAP32[(34748)>>2]|0; - $120 = (($119) + ($psize$0))|0; - HEAP32[(34748)>>2] = $120; - HEAP32[(34760)>>2] = $p$0; - $121 = $120 | 1; - $122 = ((($p$0)) + 4|0); - HEAP32[$122>>2] = $121; - $123 = HEAP32[(34756)>>2]|0; - $124 = ($p$0|0)==($123|0); - if (!($124)) { + $118 = $115 & 2; + $119 = ($118|0)==(0); + if ($119) { + $120 = HEAP32[(33312)>>2]|0; + $121 = ($10|0)==($120|0); + $122 = HEAP32[(33308)>>2]|0; + if ($121) { + $123 = HEAP32[(33300)>>2]|0; + $124 = (($123) + ($$1382))|0; + HEAP32[(33300)>>2] = $124; + HEAP32[(33312)>>2] = $$1; + $125 = $124 | 1; + $126 = ((($$1)) + 4|0); + HEAP32[$126>>2] = $125; + $127 = ($$1|0)==($122|0); + if (!($127)) { return; } - HEAP32[(34756)>>2] = 0; - HEAP32[(34744)>>2] = 0; + HEAP32[(33308)>>2] = 0; + HEAP32[(33296)>>2] = 0; return; } - $125 = HEAP32[(34756)>>2]|0; - $126 = ($9|0)==($125|0); - if ($126) { - $127 = HEAP32[(34744)>>2]|0; - $128 = (($127) + ($psize$0))|0; - HEAP32[(34744)>>2] = $128; - HEAP32[(34756)>>2] = $p$0; - $129 = $128 | 1; - $130 = ((($p$0)) + 4|0); - HEAP32[$130>>2] = $129; - $131 = (($p$0) + ($128)|0); - HEAP32[$131>>2] = $128; + $128 = ($10|0)==($122|0); + if ($128) { + $129 = HEAP32[(33296)>>2]|0; + $130 = (($129) + ($$1382))|0; + HEAP32[(33296)>>2] = $130; + HEAP32[(33308)>>2] = $113; + $131 = $130 | 1; + $132 = ((($$1)) + 4|0); + HEAP32[$132>>2] = $131; + $133 = (($113) + ($130)|0); + HEAP32[$133>>2] = $130; return; } - $132 = $112 & -8; - $133 = (($132) + ($psize$0))|0; - $134 = $112 >>> 3; - $135 = ($112>>>0)<(256); - do { - if ($135) { - $136 = (($mem) + ($8)|0); - $137 = HEAP32[$136>>2]|0; - $$sum1718 = $8 | 4; - $138 = (($mem) + ($$sum1718)|0); + $134 = $115 & -8; + $135 = (($134) + ($$1382))|0; + $136 = $115 >>> 3; + $137 = ($115>>>0)<(256); + L108: do { + if ($137) { + $138 = ((($10)) + 8|0); $139 = HEAP32[$138>>2]|0; - $140 = $134 << 1; - $141 = (34776 + ($140<<2)|0); - $142 = ($137|0)==($141|0); - if (!($142)) { - $143 = HEAP32[(34752)>>2]|0; - $144 = ($137>>>0)<($143>>>0); - if ($144) { + $140 = ((($10)) + 12|0); + $141 = HEAP32[$140>>2]|0; + $142 = $136 << 1; + $143 = (33328 + ($142<<2)|0); + $144 = ($139|0)==($143|0); + if (!($144)) { + $145 = HEAP32[(33304)>>2]|0; + $146 = ($139>>>0)<($145>>>0); + if ($146) { _abort(); // unreachable; } - $145 = ((($137)) + 12|0); - $146 = HEAP32[$145>>2]|0; - $147 = ($146|0)==($9|0); - if (!($147)) { + $147 = ((($139)) + 12|0); + $148 = HEAP32[$147>>2]|0; + $149 = ($148|0)==($10|0); + if (!($149)) { _abort(); // unreachable; } } - $148 = ($139|0)==($137|0); - if ($148) { - $149 = 1 << $134; - $150 = $149 ^ -1; - $151 = HEAP32[34736>>2]|0; - $152 = $151 & $150; - HEAP32[34736>>2] = $152; + $150 = ($141|0)==($139|0); + if ($150) { + $151 = 1 << $136; + $152 = $151 ^ -1; + $153 = HEAP32[8322]|0; + $154 = $153 & $152; + HEAP32[8322] = $154; break; } - $153 = ($139|0)==($141|0); - if ($153) { - $$pre58 = ((($139)) + 8|0); - $$pre$phi59Z2D = $$pre58; + $155 = ($141|0)==($143|0); + if ($155) { + $$pre442 = ((($141)) + 8|0); + $$pre$phi443Z2D = $$pre442; } else { - $154 = HEAP32[(34752)>>2]|0; - $155 = ($139>>>0)<($154>>>0); - if ($155) { + $156 = HEAP32[(33304)>>2]|0; + $157 = ($141>>>0)<($156>>>0); + if ($157) { _abort(); // unreachable; } - $156 = ((($139)) + 8|0); - $157 = HEAP32[$156>>2]|0; - $158 = ($157|0)==($9|0); - if ($158) { - $$pre$phi59Z2D = $156; + $158 = ((($141)) + 8|0); + $159 = HEAP32[$158>>2]|0; + $160 = ($159|0)==($10|0); + if ($160) { + $$pre$phi443Z2D = $158; } else { _abort(); // unreachable; } } - $159 = ((($137)) + 12|0); - HEAP32[$159>>2] = $139; - HEAP32[$$pre$phi59Z2D>>2] = $137; + $161 = ((($139)) + 12|0); + HEAP32[$161>>2] = $141; + HEAP32[$$pre$phi443Z2D>>2] = $139; } else { - $$sum5 = (($8) + 16)|0; - $160 = (($mem) + ($$sum5)|0); - $161 = HEAP32[$160>>2]|0; - $$sum67 = $8 | 4; - $162 = (($mem) + ($$sum67)|0); + $162 = ((($10)) + 24|0); $163 = HEAP32[$162>>2]|0; - $164 = ($163|0)==($9|0); + $164 = ((($10)) + 12|0); + $165 = HEAP32[$164>>2]|0; + $166 = ($165|0)==($10|0); do { - if ($164) { - $$sum9 = (($8) + 12)|0; - $175 = (($mem) + ($$sum9)|0); - $176 = HEAP32[$175>>2]|0; - $177 = ($176|0)==(0|0); - if ($177) { - $$sum8 = (($8) + 8)|0; - $178 = (($mem) + ($$sum8)|0); - $179 = HEAP32[$178>>2]|0; - $180 = ($179|0)==(0|0); - if ($180) { - $R7$1 = 0; + if ($166) { + $177 = ((($10)) + 16|0); + $178 = ((($177)) + 4|0); + $179 = HEAP32[$178>>2]|0; + $180 = ($179|0)==(0|0); + if ($180) { + $181 = HEAP32[$177>>2]|0; + $182 = ($181|0)==(0|0); + if ($182) { + $$3400 = 0; break; } else { - $R7$0 = $179;$RP9$0 = $178; + $$1398 = $181;$$1402 = $177; } } else { - $R7$0 = $176;$RP9$0 = $175; + $$1398 = $179;$$1402 = $178; } while(1) { - $181 = ((($R7$0)) + 20|0); - $182 = HEAP32[$181>>2]|0; - $183 = ($182|0)==(0|0); - if (!($183)) { - $R7$0 = $182;$RP9$0 = $181; + $183 = ((($$1398)) + 20|0); + $184 = HEAP32[$183>>2]|0; + $185 = ($184|0)==(0|0); + if (!($185)) { + $$1398 = $184;$$1402 = $183; continue; } - $184 = ((($R7$0)) + 16|0); - $185 = HEAP32[$184>>2]|0; - $186 = ($185|0)==(0|0); - if ($186) { - $R7$0$lcssa = $R7$0;$RP9$0$lcssa = $RP9$0; + $186 = ((($$1398)) + 16|0); + $187 = HEAP32[$186>>2]|0; + $188 = ($187|0)==(0|0); + if ($188) { break; } else { - $R7$0 = $185;$RP9$0 = $184; + $$1398 = $187;$$1402 = $186; } } - $187 = HEAP32[(34752)>>2]|0; - $188 = ($RP9$0$lcssa>>>0)<($187>>>0); - if ($188) { + $189 = HEAP32[(33304)>>2]|0; + $190 = ($$1402>>>0)<($189>>>0); + if ($190) { _abort(); // unreachable; } else { - HEAP32[$RP9$0$lcssa>>2] = 0; - $R7$1 = $R7$0$lcssa; + HEAP32[$$1402>>2] = 0; + $$3400 = $$1398; break; } } else { - $165 = (($mem) + ($8)|0); - $166 = HEAP32[$165>>2]|0; - $167 = HEAP32[(34752)>>2]|0; - $168 = ($166>>>0)<($167>>>0); - if ($168) { + $167 = ((($10)) + 8|0); + $168 = HEAP32[$167>>2]|0; + $169 = HEAP32[(33304)>>2]|0; + $170 = ($168>>>0)<($169>>>0); + if ($170) { _abort(); // unreachable; } - $169 = ((($166)) + 12|0); - $170 = HEAP32[$169>>2]|0; - $171 = ($170|0)==($9|0); - if (!($171)) { + $171 = ((($168)) + 12|0); + $172 = HEAP32[$171>>2]|0; + $173 = ($172|0)==($10|0); + if (!($173)) { _abort(); // unreachable; } - $172 = ((($163)) + 8|0); - $173 = HEAP32[$172>>2]|0; - $174 = ($173|0)==($9|0); - if ($174) { - HEAP32[$169>>2] = $163; - HEAP32[$172>>2] = $166; - $R7$1 = $163; + $174 = ((($165)) + 8|0); + $175 = HEAP32[$174>>2]|0; + $176 = ($175|0)==($10|0); + if ($176) { + HEAP32[$171>>2] = $165; + HEAP32[$174>>2] = $168; + $$3400 = $165; break; } else { _abort(); @@ -61374,1291 +73281,1280 @@ function _free($mem) { } } } while(0); - $189 = ($161|0)==(0|0); - if (!($189)) { - $$sum12 = (($8) + 20)|0; - $190 = (($mem) + ($$sum12)|0); - $191 = HEAP32[$190>>2]|0; - $192 = (35040 + ($191<<2)|0); + $191 = ($163|0)==(0|0); + if (!($191)) { + $192 = ((($10)) + 28|0); $193 = HEAP32[$192>>2]|0; - $194 = ($9|0)==($193|0); - if ($194) { - HEAP32[$192>>2] = $R7$1; - $cond47 = ($R7$1|0)==(0|0); - if ($cond47) { - $195 = 1 << $191; - $196 = $195 ^ -1; - $197 = HEAP32[(34740)>>2]|0; - $198 = $197 & $196; - HEAP32[(34740)>>2] = $198; - break; - } - } else { - $199 = HEAP32[(34752)>>2]|0; - $200 = ($161>>>0)<($199>>>0); - if ($200) { - _abort(); - // unreachable; - } - $201 = ((($161)) + 16|0); - $202 = HEAP32[$201>>2]|0; - $203 = ($202|0)==($9|0); - if ($203) { - HEAP32[$201>>2] = $R7$1; - } else { - $204 = ((($161)) + 20|0); - HEAP32[$204>>2] = $R7$1; - } - $205 = ($R7$1|0)==(0|0); - if ($205) { - break; - } - } - $206 = HEAP32[(34752)>>2]|0; - $207 = ($R7$1>>>0)<($206>>>0); - if ($207) { - _abort(); - // unreachable; - } - $208 = ((($R7$1)) + 24|0); - HEAP32[$208>>2] = $161; - $$sum13 = (($8) + 8)|0; - $209 = (($mem) + ($$sum13)|0); - $210 = HEAP32[$209>>2]|0; - $211 = ($210|0)==(0|0); + $194 = (33592 + ($193<<2)|0); + $195 = HEAP32[$194>>2]|0; + $196 = ($10|0)==($195|0); do { - if (!($211)) { - $212 = ($210>>>0)<($206>>>0); - if ($212) { + if ($196) { + HEAP32[$194>>2] = $$3400; + $cond422 = ($$3400|0)==(0|0); + if ($cond422) { + $197 = 1 << $193; + $198 = $197 ^ -1; + $199 = HEAP32[(33292)>>2]|0; + $200 = $199 & $198; + HEAP32[(33292)>>2] = $200; + break L108; + } + } else { + $201 = HEAP32[(33304)>>2]|0; + $202 = ($163>>>0)<($201>>>0); + if ($202) { _abort(); // unreachable; } else { - $213 = ((($R7$1)) + 16|0); - HEAP32[$213>>2] = $210; - $214 = ((($210)) + 24|0); - HEAP32[$214>>2] = $R7$1; + $203 = ((($163)) + 16|0); + $204 = HEAP32[$203>>2]|0; + $not$ = ($204|0)!=($10|0); + $$sink5 = $not$&1; + $205 = (((($163)) + 16|0) + ($$sink5<<2)|0); + HEAP32[$205>>2] = $$3400; + $206 = ($$3400|0)==(0|0); + if ($206) { + break L108; + } else { + break; + } + } + } + } while(0); + $207 = HEAP32[(33304)>>2]|0; + $208 = ($$3400>>>0)<($207>>>0); + if ($208) { + _abort(); + // unreachable; + } + $209 = ((($$3400)) + 24|0); + HEAP32[$209>>2] = $163; + $210 = ((($10)) + 16|0); + $211 = HEAP32[$210>>2]|0; + $212 = ($211|0)==(0|0); + do { + if (!($212)) { + $213 = ($211>>>0)<($207>>>0); + if ($213) { + _abort(); + // unreachable; + } else { + $214 = ((($$3400)) + 16|0); + HEAP32[$214>>2] = $211; + $215 = ((($211)) + 24|0); + HEAP32[$215>>2] = $$3400; break; } } } while(0); - $$sum14 = (($8) + 12)|0; - $215 = (($mem) + ($$sum14)|0); - $216 = HEAP32[$215>>2]|0; - $217 = ($216|0)==(0|0); - if (!($217)) { - $218 = HEAP32[(34752)>>2]|0; - $219 = ($216>>>0)<($218>>>0); - if ($219) { + $216 = ((($210)) + 4|0); + $217 = HEAP32[$216>>2]|0; + $218 = ($217|0)==(0|0); + if (!($218)) { + $219 = HEAP32[(33304)>>2]|0; + $220 = ($217>>>0)<($219>>>0); + if ($220) { _abort(); // unreachable; } else { - $220 = ((($R7$1)) + 20|0); - HEAP32[$220>>2] = $216; - $221 = ((($216)) + 24|0); - HEAP32[$221>>2] = $R7$1; + $221 = ((($$3400)) + 20|0); + HEAP32[$221>>2] = $217; + $222 = ((($217)) + 24|0); + HEAP32[$222>>2] = $$3400; break; } } } } } while(0); - $222 = $133 | 1; - $223 = ((($p$0)) + 4|0); - HEAP32[$223>>2] = $222; - $224 = (($p$0) + ($133)|0); - HEAP32[$224>>2] = $133; - $225 = HEAP32[(34756)>>2]|0; - $226 = ($p$0|0)==($225|0); - if ($226) { - HEAP32[(34744)>>2] = $133; + $223 = $135 | 1; + $224 = ((($$1)) + 4|0); + HEAP32[$224>>2] = $223; + $225 = (($113) + ($135)|0); + HEAP32[$225>>2] = $135; + $226 = HEAP32[(33308)>>2]|0; + $227 = ($$1|0)==($226|0); + if ($227) { + HEAP32[(33296)>>2] = $135; return; } else { - $psize$1 = $133; + $$2 = $135; } } else { - $227 = $112 & -2; - HEAP32[$111>>2] = $227; - $228 = $psize$0 | 1; - $229 = ((($p$0)) + 4|0); - HEAP32[$229>>2] = $228; - $230 = (($p$0) + ($psize$0)|0); - HEAP32[$230>>2] = $psize$0; - $psize$1 = $psize$0; + $228 = $115 & -2; + HEAP32[$114>>2] = $228; + $229 = $$1382 | 1; + $230 = ((($$1)) + 4|0); + HEAP32[$230>>2] = $229; + $231 = (($113) + ($$1382)|0); + HEAP32[$231>>2] = $$1382; + $$2 = $$1382; } - $231 = $psize$1 >>> 3; - $232 = ($psize$1>>>0)<(256); - if ($232) { - $233 = $231 << 1; - $234 = (34776 + ($233<<2)|0); - $235 = HEAP32[34736>>2]|0; - $236 = 1 << $231; - $237 = $235 & $236; - $238 = ($237|0)==(0); - if ($238) { - $239 = $235 | $236; - HEAP32[34736>>2] = $239; - $$pre = (($233) + 2)|0; - $$pre57 = (34776 + ($$pre<<2)|0); - $$pre$phiZ2D = $$pre57;$F16$0 = $234; + $232 = $$2 >>> 3; + $233 = ($$2>>>0)<(256); + if ($233) { + $234 = $232 << 1; + $235 = (33328 + ($234<<2)|0); + $236 = HEAP32[8322]|0; + $237 = 1 << $232; + $238 = $236 & $237; + $239 = ($238|0)==(0); + if ($239) { + $240 = $236 | $237; + HEAP32[8322] = $240; + $$pre = ((($235)) + 8|0); + $$0403 = $235;$$pre$phiZ2D = $$pre; } else { - $$sum11 = (($233) + 2)|0; - $240 = (34776 + ($$sum11<<2)|0); - $241 = HEAP32[$240>>2]|0; - $242 = HEAP32[(34752)>>2]|0; - $243 = ($241>>>0)<($242>>>0); - if ($243) { + $241 = ((($235)) + 8|0); + $242 = HEAP32[$241>>2]|0; + $243 = HEAP32[(33304)>>2]|0; + $244 = ($242>>>0)<($243>>>0); + if ($244) { _abort(); // unreachable; } else { - $$pre$phiZ2D = $240;$F16$0 = $241; + $$0403 = $242;$$pre$phiZ2D = $241; } } - HEAP32[$$pre$phiZ2D>>2] = $p$0; - $244 = ((($F16$0)) + 12|0); - HEAP32[$244>>2] = $p$0; - $245 = ((($p$0)) + 8|0); - HEAP32[$245>>2] = $F16$0; - $246 = ((($p$0)) + 12|0); - HEAP32[$246>>2] = $234; + HEAP32[$$pre$phiZ2D>>2] = $$1; + $245 = ((($$0403)) + 12|0); + HEAP32[$245>>2] = $$1; + $246 = ((($$1)) + 8|0); + HEAP32[$246>>2] = $$0403; + $247 = ((($$1)) + 12|0); + HEAP32[$247>>2] = $235; return; } - $247 = $psize$1 >>> 8; - $248 = ($247|0)==(0); - if ($248) { - $I18$0 = 0; + $248 = $$2 >>> 8; + $249 = ($248|0)==(0); + if ($249) { + $$0396 = 0; } else { - $249 = ($psize$1>>>0)>(16777215); - if ($249) { - $I18$0 = 31; + $250 = ($$2>>>0)>(16777215); + if ($250) { + $$0396 = 31; } else { - $250 = (($247) + 1048320)|0; - $251 = $250 >>> 16; - $252 = $251 & 8; - $253 = $247 << $252; - $254 = (($253) + 520192)|0; - $255 = $254 >>> 16; - $256 = $255 & 4; - $257 = $256 | $252; - $258 = $253 << $256; - $259 = (($258) + 245760)|0; - $260 = $259 >>> 16; - $261 = $260 & 2; - $262 = $257 | $261; - $263 = (14 - ($262))|0; - $264 = $258 << $261; - $265 = $264 >>> 15; - $266 = (($263) + ($265))|0; - $267 = $266 << 1; - $268 = (($266) + 7)|0; - $269 = $psize$1 >>> $268; - $270 = $269 & 1; - $271 = $270 | $267; - $I18$0 = $271; + $251 = (($248) + 1048320)|0; + $252 = $251 >>> 16; + $253 = $252 & 8; + $254 = $248 << $253; + $255 = (($254) + 520192)|0; + $256 = $255 >>> 16; + $257 = $256 & 4; + $258 = $257 | $253; + $259 = $254 << $257; + $260 = (($259) + 245760)|0; + $261 = $260 >>> 16; + $262 = $261 & 2; + $263 = $258 | $262; + $264 = (14 - ($263))|0; + $265 = $259 << $262; + $266 = $265 >>> 15; + $267 = (($264) + ($266))|0; + $268 = $267 << 1; + $269 = (($267) + 7)|0; + $270 = $$2 >>> $269; + $271 = $270 & 1; + $272 = $271 | $268; + $$0396 = $272; } } - $272 = (35040 + ($I18$0<<2)|0); - $273 = ((($p$0)) + 28|0); - HEAP32[$273>>2] = $I18$0; - $274 = ((($p$0)) + 16|0); - $275 = ((($p$0)) + 20|0); + $273 = (33592 + ($$0396<<2)|0); + $274 = ((($$1)) + 28|0); + HEAP32[$274>>2] = $$0396; + $275 = ((($$1)) + 16|0); + $276 = ((($$1)) + 20|0); + HEAP32[$276>>2] = 0; HEAP32[$275>>2] = 0; - HEAP32[$274>>2] = 0; - $276 = HEAP32[(34740)>>2]|0; - $277 = 1 << $I18$0; - $278 = $276 & $277; - $279 = ($278|0)==(0); - L199: do { - if ($279) { - $280 = $276 | $277; - HEAP32[(34740)>>2] = $280; - HEAP32[$272>>2] = $p$0; - $281 = ((($p$0)) + 24|0); - HEAP32[$281>>2] = $272; - $282 = ((($p$0)) + 12|0); - HEAP32[$282>>2] = $p$0; - $283 = ((($p$0)) + 8|0); - HEAP32[$283>>2] = $p$0; + $277 = HEAP32[(33292)>>2]|0; + $278 = 1 << $$0396; + $279 = $277 & $278; + $280 = ($279|0)==(0); + do { + if ($280) { + $281 = $277 | $278; + HEAP32[(33292)>>2] = $281; + HEAP32[$273>>2] = $$1; + $282 = ((($$1)) + 24|0); + HEAP32[$282>>2] = $273; + $283 = ((($$1)) + 12|0); + HEAP32[$283>>2] = $$1; + $284 = ((($$1)) + 8|0); + HEAP32[$284>>2] = $$1; } else { - $284 = HEAP32[$272>>2]|0; - $285 = ((($284)) + 4|0); - $286 = HEAP32[$285>>2]|0; - $287 = $286 & -8; - $288 = ($287|0)==($psize$1|0); - L201: do { - if ($288) { - $T$0$lcssa = $284; - } else { - $289 = ($I18$0|0)==(31); - $290 = $I18$0 >>> 1; - $291 = (25 - ($290))|0; - $292 = $289 ? 0 : $291; - $293 = $psize$1 << $292; - $K19$052 = $293;$T$051 = $284; - while(1) { - $300 = $K19$052 >>> 31; - $301 = (((($T$051)) + 16|0) + ($300<<2)|0); - $296 = HEAP32[$301>>2]|0; - $302 = ($296|0)==(0|0); - if ($302) { - $$lcssa = $301;$T$051$lcssa = $T$051; - break; - } - $294 = $K19$052 << 1; - $295 = ((($296)) + 4|0); - $297 = HEAP32[$295>>2]|0; - $298 = $297 & -8; - $299 = ($298|0)==($psize$1|0); - if ($299) { - $T$0$lcssa = $296; - break L201; - } else { - $K19$052 = $294;$T$051 = $296; - } - } - $303 = HEAP32[(34752)>>2]|0; - $304 = ($$lcssa>>>0)<($303>>>0); - if ($304) { - _abort(); - // unreachable; - } else { - HEAP32[$$lcssa>>2] = $p$0; - $305 = ((($p$0)) + 24|0); - HEAP32[$305>>2] = $T$051$lcssa; - $306 = ((($p$0)) + 12|0); - HEAP32[$306>>2] = $p$0; - $307 = ((($p$0)) + 8|0); - HEAP32[$307>>2] = $p$0; - break L199; - } + $285 = HEAP32[$273>>2]|0; + $286 = ($$0396|0)==(31); + $287 = $$0396 >>> 1; + $288 = (25 - ($287))|0; + $289 = $286 ? 0 : $288; + $290 = $$2 << $289; + $$0383 = $290;$$0384 = $285; + while(1) { + $291 = ((($$0384)) + 4|0); + $292 = HEAP32[$291>>2]|0; + $293 = $292 & -8; + $294 = ($293|0)==($$2|0); + if ($294) { + label = 124; + break; + } + $295 = $$0383 >>> 31; + $296 = (((($$0384)) + 16|0) + ($295<<2)|0); + $297 = $$0383 << 1; + $298 = HEAP32[$296>>2]|0; + $299 = ($298|0)==(0|0); + if ($299) { + label = 121; + break; + } else { + $$0383 = $297;$$0384 = $298; + } + } + if ((label|0) == 121) { + $300 = HEAP32[(33304)>>2]|0; + $301 = ($296>>>0)<($300>>>0); + if ($301) { + _abort(); + // unreachable; + } else { + HEAP32[$296>>2] = $$1; + $302 = ((($$1)) + 24|0); + HEAP32[$302>>2] = $$0384; + $303 = ((($$1)) + 12|0); + HEAP32[$303>>2] = $$1; + $304 = ((($$1)) + 8|0); + HEAP32[$304>>2] = $$1; + break; + } + } + else if ((label|0) == 124) { + $305 = ((($$0384)) + 8|0); + $306 = HEAP32[$305>>2]|0; + $307 = HEAP32[(33304)>>2]|0; + $308 = ($306>>>0)>=($307>>>0); + $not$437 = ($$0384>>>0)>=($307>>>0); + $309 = $308 & $not$437; + if ($309) { + $310 = ((($306)) + 12|0); + HEAP32[$310>>2] = $$1; + HEAP32[$305>>2] = $$1; + $311 = ((($$1)) + 8|0); + HEAP32[$311>>2] = $306; + $312 = ((($$1)) + 12|0); + HEAP32[$312>>2] = $$0384; + $313 = ((($$1)) + 24|0); + HEAP32[$313>>2] = 0; + break; + } else { + _abort(); + // unreachable; } - } while(0); - $308 = ((($T$0$lcssa)) + 8|0); - $309 = HEAP32[$308>>2]|0; - $310 = HEAP32[(34752)>>2]|0; - $311 = ($309>>>0)>=($310>>>0); - $not$ = ($T$0$lcssa>>>0)>=($310>>>0); - $312 = $311 & $not$; - if ($312) { - $313 = ((($309)) + 12|0); - HEAP32[$313>>2] = $p$0; - HEAP32[$308>>2] = $p$0; - $314 = ((($p$0)) + 8|0); - HEAP32[$314>>2] = $309; - $315 = ((($p$0)) + 12|0); - HEAP32[$315>>2] = $T$0$lcssa; - $316 = ((($p$0)) + 24|0); - HEAP32[$316>>2] = 0; - break; - } else { - _abort(); - // unreachable; } } } while(0); - $317 = HEAP32[(34768)>>2]|0; - $318 = (($317) + -1)|0; - HEAP32[(34768)>>2] = $318; - $319 = ($318|0)==(0); - if ($319) { - $sp$0$in$i = (35192); + $314 = HEAP32[(33320)>>2]|0; + $315 = (($314) + -1)|0; + HEAP32[(33320)>>2] = $315; + $316 = ($315|0)==(0); + if ($316) { + $$0212$in$i = (33744); } else { return; } while(1) { - $sp$0$i = HEAP32[$sp$0$in$i>>2]|0; - $320 = ($sp$0$i|0)==(0|0); - $321 = ((($sp$0$i)) + 8|0); - if ($320) { + $$0212$i = HEAP32[$$0212$in$i>>2]|0; + $317 = ($$0212$i|0)==(0|0); + $318 = ((($$0212$i)) + 8|0); + if ($317) { break; } else { - $sp$0$in$i = $321; + $$0212$in$i = $318; } } - HEAP32[(34768)>>2] = -1; + HEAP32[(33320)>>2] = -1; return; } -function _realloc($oldmem,$bytes) { - $oldmem = $oldmem|0; - $bytes = $bytes|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0; - var $7 = 0, $8 = 0, $9 = 0, $mem$0 = 0, label = 0, sp = 0; +function _calloc($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$ = 0, $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = ($oldmem|0)==(0|0); - if ($0) { - $1 = (_malloc($bytes)|0); - $mem$0 = $1; - return ($mem$0|0); - } - $2 = ($bytes>>>0)>(4294967231); + $2 = ($0|0)==(0); if ($2) { - $3 = (___errno_location()|0); - HEAP32[$3>>2] = 12; - $mem$0 = 0; - return ($mem$0|0); - } - $4 = ($bytes>>>0)<(11); - $5 = (($bytes) + 11)|0; - $6 = $5 & -8; - $7 = $4 ? 16 : $6; - $8 = ((($oldmem)) + -8|0); - $9 = (_try_realloc_chunk($8,$7)|0); - $10 = ($9|0)==(0|0); - if (!($10)) { - $11 = ((($9)) + 8|0); - $mem$0 = $11; - return ($mem$0|0); - } - $12 = (_malloc($bytes)|0); - $13 = ($12|0)==(0|0); - if ($13) { - $mem$0 = 0; - return ($mem$0|0); - } - $14 = ((($oldmem)) + -4|0); - $15 = HEAP32[$14>>2]|0; - $16 = $15 & -8; - $17 = $15 & 3; - $18 = ($17|0)==(0); - $19 = $18 ? 8 : 4; - $20 = (($16) - ($19))|0; - $21 = ($20>>>0)<($bytes>>>0); - $22 = $21 ? $20 : $bytes; - _memcpy(($12|0),($oldmem|0),($22|0))|0; - _free($oldmem); - $mem$0 = $12; - return ($mem$0|0); -} -function _try_realloc_chunk($p,$nb) { - $p = $p|0; - $nb = $nb|0; - var $$pre = 0, $$pre$phiZ2D = 0, $$sum = 0, $$sum11 = 0, $$sum12 = 0, $$sum13 = 0, $$sum14 = 0, $$sum15 = 0, $$sum16 = 0, $$sum17 = 0, $$sum19 = 0, $$sum2 = 0, $$sum20 = 0, $$sum22 = 0, $$sum23 = 0, $$sum2728 = 0, $$sum3 = 0, $$sum4 = 0, $$sum5 = 0, $$sum78 = 0; - var $$sum910 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0; - var $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0; - var $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0; - var $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0; - var $17 = 0, $170 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0; - var $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0; - var $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0; - var $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0; - var $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $R$0 = 0, $R$0$lcssa = 0, $R$1 = 0, $RP$0 = 0, $RP$0$lcssa = 0, $cond = 0, $newp$0 = 0, $notlhs = 0; - var $notrhs = 0, $or$cond$not = 0, $or$cond30 = 0, $storemerge = 0, $storemerge21 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($p)) + 4|0); - $1 = HEAP32[$0>>2]|0; - $2 = $1 & -8; - $3 = (($p) + ($2)|0); - $4 = HEAP32[(34752)>>2]|0; - $5 = $1 & 3; - $notlhs = ($p>>>0)>=($4>>>0); - $notrhs = ($5|0)!=(1); - $or$cond$not = $notrhs & $notlhs; - $6 = ($p>>>0)<($3>>>0); - $or$cond30 = $or$cond$not & $6; - if (!($or$cond30)) { - _abort(); - // unreachable; - } - $$sum2728 = $2 | 4; - $7 = (($p) + ($$sum2728)|0); - $8 = HEAP32[$7>>2]|0; - $9 = $8 & 1; - $10 = ($9|0)==(0); - if ($10) { - _abort(); - // unreachable; - } - $11 = ($5|0)==(0); - if ($11) { - $12 = ($nb>>>0)<(256); - if ($12) { - $newp$0 = 0; - return ($newp$0|0); - } - $13 = (($nb) + 4)|0; - $14 = ($2>>>0)<($13>>>0); - if (!($14)) { - $15 = (($2) - ($nb))|0; - $16 = HEAP32[(35216)>>2]|0; - $17 = $16 << 1; - $18 = ($15>>>0)>($17>>>0); - if (!($18)) { - $newp$0 = $p; - return ($newp$0|0); - } - } - $newp$0 = 0; - return ($newp$0|0); - } - $19 = ($2>>>0)<($nb>>>0); - if (!($19)) { - $20 = (($2) - ($nb))|0; - $21 = ($20>>>0)>(15); - if (!($21)) { - $newp$0 = $p; - return ($newp$0|0); - } - $22 = (($p) + ($nb)|0); - $23 = $1 & 1; - $24 = $23 | $nb; - $25 = $24 | 2; - HEAP32[$0>>2] = $25; - $$sum23 = (($nb) + 4)|0; - $26 = (($p) + ($$sum23)|0); - $27 = $20 | 3; - HEAP32[$26>>2] = $27; - $28 = HEAP32[$7>>2]|0; - $29 = $28 | 1; - HEAP32[$7>>2] = $29; - _dispose_chunk($22,$20); - $newp$0 = $p; - return ($newp$0|0); - } - $30 = HEAP32[(34760)>>2]|0; - $31 = ($3|0)==($30|0); - if ($31) { - $32 = HEAP32[(34748)>>2]|0; - $33 = (($32) + ($2))|0; - $34 = ($33>>>0)>($nb>>>0); - if (!($34)) { - $newp$0 = 0; - return ($newp$0|0); - } - $35 = (($33) - ($nb))|0; - $36 = (($p) + ($nb)|0); - $37 = $1 & 1; - $38 = $37 | $nb; - $39 = $38 | 2; - HEAP32[$0>>2] = $39; - $$sum22 = (($nb) + 4)|0; - $40 = (($p) + ($$sum22)|0); - $41 = $35 | 1; - HEAP32[$40>>2] = $41; - HEAP32[(34760)>>2] = $36; - HEAP32[(34748)>>2] = $35; - $newp$0 = $p; - return ($newp$0|0); - } - $42 = HEAP32[(34756)>>2]|0; - $43 = ($3|0)==($42|0); - if ($43) { - $44 = HEAP32[(34744)>>2]|0; - $45 = (($44) + ($2))|0; - $46 = ($45>>>0)<($nb>>>0); - if ($46) { - $newp$0 = 0; - return ($newp$0|0); - } - $47 = (($45) - ($nb))|0; - $48 = ($47>>>0)>(15); - if ($48) { - $49 = (($p) + ($nb)|0); - $50 = (($p) + ($45)|0); - $51 = $1 & 1; - $52 = $51 | $nb; - $53 = $52 | 2; - HEAP32[$0>>2] = $53; - $$sum19 = (($nb) + 4)|0; - $54 = (($p) + ($$sum19)|0); - $55 = $47 | 1; - HEAP32[$54>>2] = $55; - HEAP32[$50>>2] = $47; - $$sum20 = (($45) + 4)|0; - $56 = (($p) + ($$sum20)|0); - $57 = HEAP32[$56>>2]|0; - $58 = $57 & -2; - HEAP32[$56>>2] = $58; - $storemerge = $49;$storemerge21 = $47; - } else { - $59 = $1 & 1; - $60 = $59 | $45; - $61 = $60 | 2; - HEAP32[$0>>2] = $61; - $$sum17 = (($45) + 4)|0; - $62 = (($p) + ($$sum17)|0); - $63 = HEAP32[$62>>2]|0; - $64 = $63 | 1; - HEAP32[$62>>2] = $64; - $storemerge = 0;$storemerge21 = 0; - } - HEAP32[(34744)>>2] = $storemerge21; - HEAP32[(34756)>>2] = $storemerge; - $newp$0 = $p; - return ($newp$0|0); - } - $65 = $8 & 2; - $66 = ($65|0)==(0); - if (!($66)) { - $newp$0 = 0; - return ($newp$0|0); - } - $67 = $8 & -8; - $68 = (($67) + ($2))|0; - $69 = ($68>>>0)<($nb>>>0); - if ($69) { - $newp$0 = 0; - return ($newp$0|0); - } - $70 = (($68) - ($nb))|0; - $71 = $8 >>> 3; - $72 = ($8>>>0)<(256); - do { - if ($72) { - $$sum15 = (($2) + 8)|0; - $73 = (($p) + ($$sum15)|0); - $74 = HEAP32[$73>>2]|0; - $$sum16 = (($2) + 12)|0; - $75 = (($p) + ($$sum16)|0); - $76 = HEAP32[$75>>2]|0; - $77 = $71 << 1; - $78 = (34776 + ($77<<2)|0); - $79 = ($74|0)==($78|0); - if (!($79)) { - $80 = ($74>>>0)<($4>>>0); - if ($80) { - _abort(); - // unreachable; - } - $81 = ((($74)) + 12|0); - $82 = HEAP32[$81>>2]|0; - $83 = ($82|0)==($3|0); - if (!($83)) { - _abort(); - // unreachable; - } - } - $84 = ($76|0)==($74|0); - if ($84) { - $85 = 1 << $71; - $86 = $85 ^ -1; - $87 = HEAP32[34736>>2]|0; - $88 = $87 & $86; - HEAP32[34736>>2] = $88; - break; - } - $89 = ($76|0)==($78|0); - if ($89) { - $$pre = ((($76)) + 8|0); - $$pre$phiZ2D = $$pre; - } else { - $90 = ($76>>>0)<($4>>>0); - if ($90) { - _abort(); - // unreachable; - } - $91 = ((($76)) + 8|0); - $92 = HEAP32[$91>>2]|0; - $93 = ($92|0)==($3|0); - if ($93) { - $$pre$phiZ2D = $91; - } else { - _abort(); - // unreachable; - } - } - $94 = ((($74)) + 12|0); - HEAP32[$94>>2] = $76; - HEAP32[$$pre$phiZ2D>>2] = $74; - } else { - $$sum = (($2) + 24)|0; - $95 = (($p) + ($$sum)|0); - $96 = HEAP32[$95>>2]|0; - $$sum2 = (($2) + 12)|0; - $97 = (($p) + ($$sum2)|0); - $98 = HEAP32[$97>>2]|0; - $99 = ($98|0)==($3|0); - do { - if ($99) { - $$sum4 = (($2) + 20)|0; - $109 = (($p) + ($$sum4)|0); - $110 = HEAP32[$109>>2]|0; - $111 = ($110|0)==(0|0); - if ($111) { - $$sum3 = (($2) + 16)|0; - $112 = (($p) + ($$sum3)|0); - $113 = HEAP32[$112>>2]|0; - $114 = ($113|0)==(0|0); - if ($114) { - $R$1 = 0; - break; - } else { - $R$0 = $113;$RP$0 = $112; - } - } else { - $R$0 = $110;$RP$0 = $109; - } - while(1) { - $115 = ((($R$0)) + 20|0); - $116 = HEAP32[$115>>2]|0; - $117 = ($116|0)==(0|0); - if (!($117)) { - $R$0 = $116;$RP$0 = $115; - continue; - } - $118 = ((($R$0)) + 16|0); - $119 = HEAP32[$118>>2]|0; - $120 = ($119|0)==(0|0); - if ($120) { - $R$0$lcssa = $R$0;$RP$0$lcssa = $RP$0; - break; - } else { - $R$0 = $119;$RP$0 = $118; - } - } - $121 = ($RP$0$lcssa>>>0)<($4>>>0); - if ($121) { - _abort(); - // unreachable; - } else { - HEAP32[$RP$0$lcssa>>2] = 0; - $R$1 = $R$0$lcssa; - break; - } - } else { - $$sum14 = (($2) + 8)|0; - $100 = (($p) + ($$sum14)|0); - $101 = HEAP32[$100>>2]|0; - $102 = ($101>>>0)<($4>>>0); - if ($102) { - _abort(); - // unreachable; - } - $103 = ((($101)) + 12|0); - $104 = HEAP32[$103>>2]|0; - $105 = ($104|0)==($3|0); - if (!($105)) { - _abort(); - // unreachable; - } - $106 = ((($98)) + 8|0); - $107 = HEAP32[$106>>2]|0; - $108 = ($107|0)==($3|0); - if ($108) { - HEAP32[$103>>2] = $98; - HEAP32[$106>>2] = $101; - $R$1 = $98; - break; - } else { - _abort(); - // unreachable; - } - } - } while(0); - $122 = ($96|0)==(0|0); - if (!($122)) { - $$sum11 = (($2) + 28)|0; - $123 = (($p) + ($$sum11)|0); - $124 = HEAP32[$123>>2]|0; - $125 = (35040 + ($124<<2)|0); - $126 = HEAP32[$125>>2]|0; - $127 = ($3|0)==($126|0); - if ($127) { - HEAP32[$125>>2] = $R$1; - $cond = ($R$1|0)==(0|0); - if ($cond) { - $128 = 1 << $124; - $129 = $128 ^ -1; - $130 = HEAP32[(34740)>>2]|0; - $131 = $130 & $129; - HEAP32[(34740)>>2] = $131; - break; - } - } else { - $132 = HEAP32[(34752)>>2]|0; - $133 = ($96>>>0)<($132>>>0); - if ($133) { - _abort(); - // unreachable; - } - $134 = ((($96)) + 16|0); - $135 = HEAP32[$134>>2]|0; - $136 = ($135|0)==($3|0); - if ($136) { - HEAP32[$134>>2] = $R$1; - } else { - $137 = ((($96)) + 20|0); - HEAP32[$137>>2] = $R$1; - } - $138 = ($R$1|0)==(0|0); - if ($138) { - break; - } - } - $139 = HEAP32[(34752)>>2]|0; - $140 = ($R$1>>>0)<($139>>>0); - if ($140) { - _abort(); - // unreachable; - } - $141 = ((($R$1)) + 24|0); - HEAP32[$141>>2] = $96; - $$sum12 = (($2) + 16)|0; - $142 = (($p) + ($$sum12)|0); - $143 = HEAP32[$142>>2]|0; - $144 = ($143|0)==(0|0); - do { - if (!($144)) { - $145 = ($143>>>0)<($139>>>0); - if ($145) { - _abort(); - // unreachable; - } else { - $146 = ((($R$1)) + 16|0); - HEAP32[$146>>2] = $143; - $147 = ((($143)) + 24|0); - HEAP32[$147>>2] = $R$1; - break; - } - } - } while(0); - $$sum13 = (($2) + 20)|0; - $148 = (($p) + ($$sum13)|0); - $149 = HEAP32[$148>>2]|0; - $150 = ($149|0)==(0|0); - if (!($150)) { - $151 = HEAP32[(34752)>>2]|0; - $152 = ($149>>>0)<($151>>>0); - if ($152) { - _abort(); - // unreachable; - } else { - $153 = ((($R$1)) + 20|0); - HEAP32[$153>>2] = $149; - $154 = ((($149)) + 24|0); - HEAP32[$154>>2] = $R$1; - break; - } - } - } - } - } while(0); - $155 = ($70>>>0)<(16); - if ($155) { - $156 = $1 & 1; - $157 = $68 | $156; - $158 = $157 | 2; - HEAP32[$0>>2] = $158; - $$sum910 = $68 | 4; - $159 = (($p) + ($$sum910)|0); - $160 = HEAP32[$159>>2]|0; - $161 = $160 | 1; - HEAP32[$159>>2] = $161; - $newp$0 = $p; - return ($newp$0|0); + $$0 = 0; } else { - $162 = (($p) + ($nb)|0); - $163 = $1 & 1; - $164 = $163 | $nb; - $165 = $164 | 2; - HEAP32[$0>>2] = $165; - $$sum5 = (($nb) + 4)|0; - $166 = (($p) + ($$sum5)|0); - $167 = $70 | 3; - HEAP32[$166>>2] = $167; - $$sum78 = $68 | 4; - $168 = (($p) + ($$sum78)|0); - $169 = HEAP32[$168>>2]|0; - $170 = $169 | 1; - HEAP32[$168>>2] = $170; - _dispose_chunk($162,$70); - $newp$0 = $p; - return ($newp$0|0); + $3 = Math_imul($1, $0)|0; + $4 = $1 | $0; + $5 = ($4>>>0)>(65535); + if ($5) { + $6 = (($3>>>0) / ($0>>>0))&-1; + $7 = ($6|0)==($1|0); + $$ = $7 ? $3 : -1; + $$0 = $$; + } else { + $$0 = $3; + } } - return (0)|0; + $8 = (_malloc($$0)|0); + $9 = ($8|0)==(0|0); + if ($9) { + return ($8|0); + } + $10 = ((($8)) + -4|0); + $11 = HEAP32[$10>>2]|0; + $12 = $11 & 3; + $13 = ($12|0)==(0); + if ($13) { + return ($8|0); + } + _memset(($8|0),0,($$0|0))|0; + return ($8|0); } -function _dispose_chunk($p,$psize) { - $p = $p|0; - $psize = $psize|0; - var $$0 = 0, $$02 = 0, $$1 = 0, $$lcssa = 0, $$pre = 0, $$pre$phi50Z2D = 0, $$pre$phi52Z2D = 0, $$pre$phiZ2D = 0, $$pre48 = 0, $$pre49 = 0, $$pre51 = 0, $$sum = 0, $$sum1 = 0, $$sum10 = 0, $$sum11 = 0, $$sum12 = 0, $$sum13 = 0, $$sum14 = 0, $$sum16 = 0, $$sum17 = 0; - var $$sum18 = 0, $$sum19 = 0, $$sum2 = 0, $$sum20 = 0, $$sum21 = 0, $$sum22 = 0, $$sum23 = 0, $$sum24 = 0, $$sum25 = 0, $$sum3 = 0, $$sum4 = 0, $$sum5 = 0, $$sum7 = 0, $$sum8 = 0, $$sum9 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0; - var $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0; - var $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0; - var $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0; - var $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0; - var $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0; - var $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0; - var $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0; - var $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0; - var $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0; - var $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0; - var $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0; - var $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; - var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0; - var $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0; - var $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0; - var $97 = 0, $98 = 0, $99 = 0, $F16$0 = 0, $I19$0 = 0, $K20$043 = 0, $R$0 = 0, $R$0$lcssa = 0, $R$1 = 0, $R7$0 = 0, $R7$0$lcssa = 0, $R7$1 = 0, $RP$0 = 0, $RP$0$lcssa = 0, $RP9$0 = 0, $RP9$0$lcssa = 0, $T$0$lcssa = 0, $T$042 = 0, $T$042$lcssa = 0, $cond = 0; - var $cond39 = 0, $not$ = 0, label = 0, sp = 0; +function _realloc($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0, $5 = 0; + var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = (($p) + ($psize)|0); - $1 = ((($p)) + 4|0); - $2 = HEAP32[$1>>2]|0; - $3 = $2 & 1; - $4 = ($3|0)==(0); - do { - if ($4) { - $5 = HEAP32[$p>>2]|0; - $6 = $2 & 3; - $7 = ($6|0)==(0); - if ($7) { - return; + $2 = ($0|0)==(0|0); + if ($2) { + $3 = (_malloc($1)|0); + $$1 = $3; + return ($$1|0); + } + $4 = ($1>>>0)>(4294967231); + if ($4) { + $5 = (___errno_location()|0); + HEAP32[$5>>2] = 12; + $$1 = 0; + return ($$1|0); + } + $6 = ($1>>>0)<(11); + $7 = (($1) + 11)|0; + $8 = $7 & -8; + $9 = $6 ? 16 : $8; + $10 = ((($0)) + -8|0); + $11 = (_try_realloc_chunk($10,$9)|0); + $12 = ($11|0)==(0|0); + if (!($12)) { + $13 = ((($11)) + 8|0); + $$1 = $13; + return ($$1|0); + } + $14 = (_malloc($1)|0); + $15 = ($14|0)==(0|0); + if ($15) { + $$1 = 0; + return ($$1|0); + } + $16 = ((($0)) + -4|0); + $17 = HEAP32[$16>>2]|0; + $18 = $17 & -8; + $19 = $17 & 3; + $20 = ($19|0)==(0); + $21 = $20 ? 8 : 4; + $22 = (($18) - ($21))|0; + $23 = ($22>>>0)<($1>>>0); + $24 = $23 ? $22 : $1; + _memcpy(($14|0),($0|0),($24|0))|0; + _free($0); + $$1 = $14; + return ($$1|0); +} +function _try_realloc_chunk($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$1272 = 0, $$1275 = 0, $$2 = 0, $$3 = 0, $$pre = 0, $$pre$phiZ2D = 0, $$sink1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0; + var $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0; + var $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0; + var $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0; + var $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; + var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0; + var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0; + var $cond = 0, $not$ = 0, $notlhs = 0, $notrhs = 0, $or$cond$not = 0, $or$cond3 = 0, $storemerge = 0, $storemerge1 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($0)) + 4|0); + $3 = HEAP32[$2>>2]|0; + $4 = $3 & -8; + $5 = (($0) + ($4)|0); + $6 = HEAP32[(33304)>>2]|0; + $7 = $3 & 3; + $notlhs = ($0>>>0)>=($6>>>0); + $notrhs = ($7|0)!=(1); + $or$cond$not = $notrhs & $notlhs; + $8 = ($0>>>0)<($5>>>0); + $or$cond3 = $or$cond$not & $8; + if (!($or$cond3)) { + _abort(); + // unreachable; + } + $9 = ((($5)) + 4|0); + $10 = HEAP32[$9>>2]|0; + $11 = $10 & 1; + $12 = ($11|0)==(0); + if ($12) { + _abort(); + // unreachable; + } + $13 = ($7|0)==(0); + if ($13) { + $14 = ($1>>>0)<(256); + if ($14) { + $$2 = 0; + return ($$2|0); + } + $15 = (($1) + 4)|0; + $16 = ($4>>>0)<($15>>>0); + if (!($16)) { + $17 = (($4) - ($1))|0; + $18 = HEAP32[(33768)>>2]|0; + $19 = $18 << 1; + $20 = ($17>>>0)>($19>>>0); + if (!($20)) { + $$2 = $0; + return ($$2|0); } - $8 = (0 - ($5))|0; - $9 = (($p) + ($8)|0); - $10 = (($5) + ($psize))|0; - $11 = HEAP32[(34752)>>2]|0; - $12 = ($9>>>0)<($11>>>0); - if ($12) { - _abort(); - // unreachable; - } - $13 = HEAP32[(34756)>>2]|0; - $14 = ($9|0)==($13|0); - if ($14) { - $$sum = (($psize) + 4)|0; - $99 = (($p) + ($$sum)|0); - $100 = HEAP32[$99>>2]|0; - $101 = $100 & 3; - $102 = ($101|0)==(3); - if (!($102)) { - $$0 = $9;$$02 = $10; - break; - } - HEAP32[(34744)>>2] = $10; - $103 = $100 & -2; - HEAP32[$99>>2] = $103; - $104 = $10 | 1; - $$sum14 = (4 - ($5))|0; - $105 = (($p) + ($$sum14)|0); - HEAP32[$105>>2] = $104; - HEAP32[$0>>2] = $10; - return; - } - $15 = $5 >>> 3; - $16 = ($5>>>0)<(256); - if ($16) { - $$sum24 = (8 - ($5))|0; - $17 = (($p) + ($$sum24)|0); - $18 = HEAP32[$17>>2]|0; - $$sum25 = (12 - ($5))|0; - $19 = (($p) + ($$sum25)|0); - $20 = HEAP32[$19>>2]|0; - $21 = $15 << 1; - $22 = (34776 + ($21<<2)|0); - $23 = ($18|0)==($22|0); - if (!($23)) { - $24 = ($18>>>0)<($11>>>0); - if ($24) { - _abort(); - // unreachable; - } - $25 = ((($18)) + 12|0); - $26 = HEAP32[$25>>2]|0; - $27 = ($26|0)==($9|0); - if (!($27)) { - _abort(); - // unreachable; - } - } - $28 = ($20|0)==($18|0); - if ($28) { - $29 = 1 << $15; - $30 = $29 ^ -1; - $31 = HEAP32[34736>>2]|0; - $32 = $31 & $30; - HEAP32[34736>>2] = $32; - $$0 = $9;$$02 = $10; - break; - } - $33 = ($20|0)==($22|0); - if ($33) { - $$pre51 = ((($20)) + 8|0); - $$pre$phi52Z2D = $$pre51; - } else { - $34 = ($20>>>0)<($11>>>0); - if ($34) { - _abort(); - // unreachable; - } - $35 = ((($20)) + 8|0); - $36 = HEAP32[$35>>2]|0; - $37 = ($36|0)==($9|0); - if ($37) { - $$pre$phi52Z2D = $35; - } else { - _abort(); - // unreachable; - } - } - $38 = ((($18)) + 12|0); - HEAP32[$38>>2] = $20; - HEAP32[$$pre$phi52Z2D>>2] = $18; - $$0 = $9;$$02 = $10; - break; - } - $$sum16 = (24 - ($5))|0; - $39 = (($p) + ($$sum16)|0); - $40 = HEAP32[$39>>2]|0; - $$sum17 = (12 - ($5))|0; - $41 = (($p) + ($$sum17)|0); - $42 = HEAP32[$41>>2]|0; - $43 = ($42|0)==($9|0); - do { - if ($43) { - $$sum18 = (16 - ($5))|0; - $$sum19 = (($$sum18) + 4)|0; - $53 = (($p) + ($$sum19)|0); - $54 = HEAP32[$53>>2]|0; - $55 = ($54|0)==(0|0); - if ($55) { - $56 = (($p) + ($$sum18)|0); - $57 = HEAP32[$56>>2]|0; - $58 = ($57|0)==(0|0); - if ($58) { - $R$1 = 0; - break; - } else { - $R$0 = $57;$RP$0 = $56; - } - } else { - $R$0 = $54;$RP$0 = $53; - } - while(1) { - $59 = ((($R$0)) + 20|0); - $60 = HEAP32[$59>>2]|0; - $61 = ($60|0)==(0|0); - if (!($61)) { - $R$0 = $60;$RP$0 = $59; - continue; - } - $62 = ((($R$0)) + 16|0); - $63 = HEAP32[$62>>2]|0; - $64 = ($63|0)==(0|0); - if ($64) { - $R$0$lcssa = $R$0;$RP$0$lcssa = $RP$0; - break; - } else { - $R$0 = $63;$RP$0 = $62; - } - } - $65 = ($RP$0$lcssa>>>0)<($11>>>0); - if ($65) { - _abort(); - // unreachable; - } else { - HEAP32[$RP$0$lcssa>>2] = 0; - $R$1 = $R$0$lcssa; - break; - } - } else { - $$sum23 = (8 - ($5))|0; - $44 = (($p) + ($$sum23)|0); - $45 = HEAP32[$44>>2]|0; - $46 = ($45>>>0)<($11>>>0); - if ($46) { - _abort(); - // unreachable; - } - $47 = ((($45)) + 12|0); - $48 = HEAP32[$47>>2]|0; - $49 = ($48|0)==($9|0); - if (!($49)) { - _abort(); - // unreachable; - } - $50 = ((($42)) + 8|0); - $51 = HEAP32[$50>>2]|0; - $52 = ($51|0)==($9|0); - if ($52) { - HEAP32[$47>>2] = $42; - HEAP32[$50>>2] = $45; - $R$1 = $42; - break; - } else { - _abort(); - // unreachable; - } - } - } while(0); - $66 = ($40|0)==(0|0); - if ($66) { - $$0 = $9;$$02 = $10; - } else { - $$sum20 = (28 - ($5))|0; - $67 = (($p) + ($$sum20)|0); - $68 = HEAP32[$67>>2]|0; - $69 = (35040 + ($68<<2)|0); - $70 = HEAP32[$69>>2]|0; - $71 = ($9|0)==($70|0); - if ($71) { - HEAP32[$69>>2] = $R$1; - $cond = ($R$1|0)==(0|0); - if ($cond) { - $72 = 1 << $68; - $73 = $72 ^ -1; - $74 = HEAP32[(34740)>>2]|0; - $75 = $74 & $73; - HEAP32[(34740)>>2] = $75; - $$0 = $9;$$02 = $10; - break; - } - } else { - $76 = HEAP32[(34752)>>2]|0; - $77 = ($40>>>0)<($76>>>0); - if ($77) { - _abort(); - // unreachable; - } - $78 = ((($40)) + 16|0); - $79 = HEAP32[$78>>2]|0; - $80 = ($79|0)==($9|0); - if ($80) { - HEAP32[$78>>2] = $R$1; - } else { - $81 = ((($40)) + 20|0); - HEAP32[$81>>2] = $R$1; - } - $82 = ($R$1|0)==(0|0); - if ($82) { - $$0 = $9;$$02 = $10; - break; - } - } - $83 = HEAP32[(34752)>>2]|0; - $84 = ($R$1>>>0)<($83>>>0); + } + $$2 = 0; + return ($$2|0); + } + $21 = ($4>>>0)<($1>>>0); + if (!($21)) { + $22 = (($4) - ($1))|0; + $23 = ($22>>>0)>(15); + if (!($23)) { + $$2 = $0; + return ($$2|0); + } + $24 = (($0) + ($1)|0); + $25 = $3 & 1; + $26 = $25 | $1; + $27 = $26 | 2; + HEAP32[$2>>2] = $27; + $28 = ((($24)) + 4|0); + $29 = $22 | 3; + HEAP32[$28>>2] = $29; + $30 = (($24) + ($22)|0); + $31 = ((($30)) + 4|0); + $32 = HEAP32[$31>>2]|0; + $33 = $32 | 1; + HEAP32[$31>>2] = $33; + _dispose_chunk($24,$22); + $$2 = $0; + return ($$2|0); + } + $34 = HEAP32[(33312)>>2]|0; + $35 = ($5|0)==($34|0); + if ($35) { + $36 = HEAP32[(33300)>>2]|0; + $37 = (($36) + ($4))|0; + $38 = ($37>>>0)>($1>>>0); + $39 = (($37) - ($1))|0; + $40 = (($0) + ($1)|0); + if (!($38)) { + $$2 = 0; + return ($$2|0); + } + $41 = $39 | 1; + $42 = ((($40)) + 4|0); + $43 = $3 & 1; + $44 = $43 | $1; + $45 = $44 | 2; + HEAP32[$2>>2] = $45; + HEAP32[$42>>2] = $41; + HEAP32[(33312)>>2] = $40; + HEAP32[(33300)>>2] = $39; + $$2 = $0; + return ($$2|0); + } + $46 = HEAP32[(33308)>>2]|0; + $47 = ($5|0)==($46|0); + if ($47) { + $48 = HEAP32[(33296)>>2]|0; + $49 = (($48) + ($4))|0; + $50 = ($49>>>0)<($1>>>0); + if ($50) { + $$2 = 0; + return ($$2|0); + } + $51 = (($49) - ($1))|0; + $52 = ($51>>>0)>(15); + $53 = $3 & 1; + if ($52) { + $54 = (($0) + ($1)|0); + $55 = (($54) + ($51)|0); + $56 = $53 | $1; + $57 = $56 | 2; + HEAP32[$2>>2] = $57; + $58 = ((($54)) + 4|0); + $59 = $51 | 1; + HEAP32[$58>>2] = $59; + HEAP32[$55>>2] = $51; + $60 = ((($55)) + 4|0); + $61 = HEAP32[$60>>2]|0; + $62 = $61 & -2; + HEAP32[$60>>2] = $62; + $storemerge = $54;$storemerge1 = $51; + } else { + $63 = $53 | $49; + $64 = $63 | 2; + HEAP32[$2>>2] = $64; + $65 = (($0) + ($49)|0); + $66 = ((($65)) + 4|0); + $67 = HEAP32[$66>>2]|0; + $68 = $67 | 1; + HEAP32[$66>>2] = $68; + $storemerge = 0;$storemerge1 = 0; + } + HEAP32[(33296)>>2] = $storemerge1; + HEAP32[(33308)>>2] = $storemerge; + $$2 = $0; + return ($$2|0); + } + $69 = $10 & 2; + $70 = ($69|0)==(0); + if (!($70)) { + $$2 = 0; + return ($$2|0); + } + $71 = $10 & -8; + $72 = (($71) + ($4))|0; + $73 = ($72>>>0)<($1>>>0); + if ($73) { + $$2 = 0; + return ($$2|0); + } + $74 = (($72) - ($1))|0; + $75 = $10 >>> 3; + $76 = ($10>>>0)<(256); + L49: do { + if ($76) { + $77 = ((($5)) + 8|0); + $78 = HEAP32[$77>>2]|0; + $79 = ((($5)) + 12|0); + $80 = HEAP32[$79>>2]|0; + $81 = $75 << 1; + $82 = (33328 + ($81<<2)|0); + $83 = ($78|0)==($82|0); + if (!($83)) { + $84 = ($78>>>0)<($6>>>0); if ($84) { _abort(); // unreachable; } - $85 = ((($R$1)) + 24|0); - HEAP32[$85>>2] = $40; - $$sum21 = (16 - ($5))|0; - $86 = (($p) + ($$sum21)|0); - $87 = HEAP32[$86>>2]|0; - $88 = ($87|0)==(0|0); + $85 = ((($78)) + 12|0); + $86 = HEAP32[$85>>2]|0; + $87 = ($86|0)==($5|0); + if (!($87)) { + _abort(); + // unreachable; + } + } + $88 = ($80|0)==($78|0); + if ($88) { + $89 = 1 << $75; + $90 = $89 ^ -1; + $91 = HEAP32[8322]|0; + $92 = $91 & $90; + HEAP32[8322] = $92; + break; + } + $93 = ($80|0)==($82|0); + if ($93) { + $$pre = ((($80)) + 8|0); + $$pre$phiZ2D = $$pre; + } else { + $94 = ($80>>>0)<($6>>>0); + if ($94) { + _abort(); + // unreachable; + } + $95 = ((($80)) + 8|0); + $96 = HEAP32[$95>>2]|0; + $97 = ($96|0)==($5|0); + if ($97) { + $$pre$phiZ2D = $95; + } else { + _abort(); + // unreachable; + } + } + $98 = ((($78)) + 12|0); + HEAP32[$98>>2] = $80; + HEAP32[$$pre$phiZ2D>>2] = $78; + } else { + $99 = ((($5)) + 24|0); + $100 = HEAP32[$99>>2]|0; + $101 = ((($5)) + 12|0); + $102 = HEAP32[$101>>2]|0; + $103 = ($102|0)==($5|0); + do { + if ($103) { + $113 = ((($5)) + 16|0); + $114 = ((($113)) + 4|0); + $115 = HEAP32[$114>>2]|0; + $116 = ($115|0)==(0|0); + if ($116) { + $117 = HEAP32[$113>>2]|0; + $118 = ($117|0)==(0|0); + if ($118) { + $$3 = 0; + break; + } else { + $$1272 = $117;$$1275 = $113; + } + } else { + $$1272 = $115;$$1275 = $114; + } + while(1) { + $119 = ((($$1272)) + 20|0); + $120 = HEAP32[$119>>2]|0; + $121 = ($120|0)==(0|0); + if (!($121)) { + $$1272 = $120;$$1275 = $119; + continue; + } + $122 = ((($$1272)) + 16|0); + $123 = HEAP32[$122>>2]|0; + $124 = ($123|0)==(0|0); + if ($124) { + break; + } else { + $$1272 = $123;$$1275 = $122; + } + } + $125 = ($$1275>>>0)<($6>>>0); + if ($125) { + _abort(); + // unreachable; + } else { + HEAP32[$$1275>>2] = 0; + $$3 = $$1272; + break; + } + } else { + $104 = ((($5)) + 8|0); + $105 = HEAP32[$104>>2]|0; + $106 = ($105>>>0)<($6>>>0); + if ($106) { + _abort(); + // unreachable; + } + $107 = ((($105)) + 12|0); + $108 = HEAP32[$107>>2]|0; + $109 = ($108|0)==($5|0); + if (!($109)) { + _abort(); + // unreachable; + } + $110 = ((($102)) + 8|0); + $111 = HEAP32[$110>>2]|0; + $112 = ($111|0)==($5|0); + if ($112) { + HEAP32[$107>>2] = $102; + HEAP32[$110>>2] = $105; + $$3 = $102; + break; + } else { + _abort(); + // unreachable; + } + } + } while(0); + $126 = ($100|0)==(0|0); + if (!($126)) { + $127 = ((($5)) + 28|0); + $128 = HEAP32[$127>>2]|0; + $129 = (33592 + ($128<<2)|0); + $130 = HEAP32[$129>>2]|0; + $131 = ($5|0)==($130|0); do { - if (!($88)) { - $89 = ($87>>>0)<($83>>>0); - if ($89) { + if ($131) { + HEAP32[$129>>2] = $$3; + $cond = ($$3|0)==(0|0); + if ($cond) { + $132 = 1 << $128; + $133 = $132 ^ -1; + $134 = HEAP32[(33292)>>2]|0; + $135 = $134 & $133; + HEAP32[(33292)>>2] = $135; + break L49; + } + } else { + $136 = HEAP32[(33304)>>2]|0; + $137 = ($100>>>0)<($136>>>0); + if ($137) { _abort(); // unreachable; } else { - $90 = ((($R$1)) + 16|0); - HEAP32[$90>>2] = $87; - $91 = ((($87)) + 24|0); - HEAP32[$91>>2] = $R$1; + $138 = ((($100)) + 16|0); + $139 = HEAP32[$138>>2]|0; + $not$ = ($139|0)!=($5|0); + $$sink1 = $not$&1; + $140 = (((($100)) + 16|0) + ($$sink1<<2)|0); + HEAP32[$140>>2] = $$3; + $141 = ($$3|0)==(0|0); + if ($141) { + break L49; + } else { + break; + } + } + } + } while(0); + $142 = HEAP32[(33304)>>2]|0; + $143 = ($$3>>>0)<($142>>>0); + if ($143) { + _abort(); + // unreachable; + } + $144 = ((($$3)) + 24|0); + HEAP32[$144>>2] = $100; + $145 = ((($5)) + 16|0); + $146 = HEAP32[$145>>2]|0; + $147 = ($146|0)==(0|0); + do { + if (!($147)) { + $148 = ($146>>>0)<($142>>>0); + if ($148) { + _abort(); + // unreachable; + } else { + $149 = ((($$3)) + 16|0); + HEAP32[$149>>2] = $146; + $150 = ((($146)) + 24|0); + HEAP32[$150>>2] = $$3; break; } } } while(0); - $$sum22 = (($$sum21) + 4)|0; - $92 = (($p) + ($$sum22)|0); - $93 = HEAP32[$92>>2]|0; - $94 = ($93|0)==(0|0); - if ($94) { - $$0 = $9;$$02 = $10; - } else { - $95 = HEAP32[(34752)>>2]|0; - $96 = ($93>>>0)<($95>>>0); - if ($96) { + $151 = ((($145)) + 4|0); + $152 = HEAP32[$151>>2]|0; + $153 = ($152|0)==(0|0); + if (!($153)) { + $154 = HEAP32[(33304)>>2]|0; + $155 = ($152>>>0)<($154>>>0); + if ($155) { _abort(); // unreachable; } else { - $97 = ((($R$1)) + 20|0); - HEAP32[$97>>2] = $93; - $98 = ((($93)) + 24|0); - HEAP32[$98>>2] = $R$1; - $$0 = $9;$$02 = $10; + $156 = ((($$3)) + 20|0); + HEAP32[$156>>2] = $152; + $157 = ((($152)) + 24|0); + HEAP32[$157>>2] = $$3; + break; + } + } + } + } + } while(0); + $158 = ($74>>>0)<(16); + $159 = $3 & 1; + if ($158) { + $160 = $72 | $159; + $161 = $160 | 2; + HEAP32[$2>>2] = $161; + $162 = (($0) + ($72)|0); + $163 = ((($162)) + 4|0); + $164 = HEAP32[$163>>2]|0; + $165 = $164 | 1; + HEAP32[$163>>2] = $165; + $$2 = $0; + return ($$2|0); + } else { + $166 = (($0) + ($1)|0); + $167 = $159 | $1; + $168 = $167 | 2; + HEAP32[$2>>2] = $168; + $169 = ((($166)) + 4|0); + $170 = $74 | 3; + HEAP32[$169>>2] = $170; + $171 = (($166) + ($74)|0); + $172 = ((($171)) + 4|0); + $173 = HEAP32[$172>>2]|0; + $174 = $173 | 1; + HEAP32[$172>>2] = $174; + _dispose_chunk($166,$74); + $$2 = $0; + return ($$2|0); + } + return (0)|0; +} +function _dispose_chunk($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0419 = 0, $$0420 = 0, $$0431 = 0, $$0438 = 0, $$1 = 0, $$1418 = 0, $$1426 = 0, $$1429 = 0, $$1433 = 0, $$1437 = 0, $$2 = 0, $$3 = 0, $$3435 = 0, $$pre = 0, $$pre$phi24Z2D = 0, $$pre$phi26Z2D = 0, $$pre$phiZ2D = 0, $$pre23 = 0, $$pre25 = 0, $$sink2 = 0; + var $$sink4 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0; + var $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0; + var $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0; + var $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0; + var $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0; + var $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0; + var $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0; + var $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0; + var $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0; + var $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0; + var $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0; + var $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; + var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0; + var $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0; + var $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0; + var $97 = 0, $98 = 0, $99 = 0, $cond = 0, $cond17 = 0, $not$ = 0, $not$1 = 0, $not$19 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = (($0) + ($1)|0); + $3 = ((($0)) + 4|0); + $4 = HEAP32[$3>>2]|0; + $5 = $4 & 1; + $6 = ($5|0)==(0); + L1: do { + if ($6) { + $7 = HEAP32[$0>>2]|0; + $8 = $4 & 3; + $9 = ($8|0)==(0); + if ($9) { + return; + } + $10 = (0 - ($7))|0; + $11 = (($0) + ($10)|0); + $12 = (($7) + ($1))|0; + $13 = HEAP32[(33304)>>2]|0; + $14 = ($11>>>0)<($13>>>0); + if ($14) { + _abort(); + // unreachable; + } + $15 = HEAP32[(33308)>>2]|0; + $16 = ($11|0)==($15|0); + if ($16) { + $100 = ((($2)) + 4|0); + $101 = HEAP32[$100>>2]|0; + $102 = $101 & 3; + $103 = ($102|0)==(3); + if (!($103)) { + $$1 = $11;$$1418 = $12; + break; + } + $104 = (($11) + ($12)|0); + $105 = ((($11)) + 4|0); + $106 = $12 | 1; + $107 = $101 & -2; + HEAP32[(33296)>>2] = $12; + HEAP32[$100>>2] = $107; + HEAP32[$105>>2] = $106; + HEAP32[$104>>2] = $12; + return; + } + $17 = $7 >>> 3; + $18 = ($7>>>0)<(256); + if ($18) { + $19 = ((($11)) + 8|0); + $20 = HEAP32[$19>>2]|0; + $21 = ((($11)) + 12|0); + $22 = HEAP32[$21>>2]|0; + $23 = $17 << 1; + $24 = (33328 + ($23<<2)|0); + $25 = ($20|0)==($24|0); + if (!($25)) { + $26 = ($20>>>0)<($13>>>0); + if ($26) { + _abort(); + // unreachable; + } + $27 = ((($20)) + 12|0); + $28 = HEAP32[$27>>2]|0; + $29 = ($28|0)==($11|0); + if (!($29)) { + _abort(); + // unreachable; + } + } + $30 = ($22|0)==($20|0); + if ($30) { + $31 = 1 << $17; + $32 = $31 ^ -1; + $33 = HEAP32[8322]|0; + $34 = $33 & $32; + HEAP32[8322] = $34; + $$1 = $11;$$1418 = $12; + break; + } + $35 = ($22|0)==($24|0); + if ($35) { + $$pre25 = ((($22)) + 8|0); + $$pre$phi26Z2D = $$pre25; + } else { + $36 = ($22>>>0)<($13>>>0); + if ($36) { + _abort(); + // unreachable; + } + $37 = ((($22)) + 8|0); + $38 = HEAP32[$37>>2]|0; + $39 = ($38|0)==($11|0); + if ($39) { + $$pre$phi26Z2D = $37; + } else { + _abort(); + // unreachable; + } + } + $40 = ((($20)) + 12|0); + HEAP32[$40>>2] = $22; + HEAP32[$$pre$phi26Z2D>>2] = $20; + $$1 = $11;$$1418 = $12; + break; + } + $41 = ((($11)) + 24|0); + $42 = HEAP32[$41>>2]|0; + $43 = ((($11)) + 12|0); + $44 = HEAP32[$43>>2]|0; + $45 = ($44|0)==($11|0); + do { + if ($45) { + $55 = ((($11)) + 16|0); + $56 = ((($55)) + 4|0); + $57 = HEAP32[$56>>2]|0; + $58 = ($57|0)==(0|0); + if ($58) { + $59 = HEAP32[$55>>2]|0; + $60 = ($59|0)==(0|0); + if ($60) { + $$3 = 0; + break; + } else { + $$1426 = $59;$$1429 = $55; + } + } else { + $$1426 = $57;$$1429 = $56; + } + while(1) { + $61 = ((($$1426)) + 20|0); + $62 = HEAP32[$61>>2]|0; + $63 = ($62|0)==(0|0); + if (!($63)) { + $$1426 = $62;$$1429 = $61; + continue; + } + $64 = ((($$1426)) + 16|0); + $65 = HEAP32[$64>>2]|0; + $66 = ($65|0)==(0|0); + if ($66) { + break; + } else { + $$1426 = $65;$$1429 = $64; + } + } + $67 = ($$1429>>>0)<($13>>>0); + if ($67) { + _abort(); + // unreachable; + } else { + HEAP32[$$1429>>2] = 0; + $$3 = $$1426; + break; + } + } else { + $46 = ((($11)) + 8|0); + $47 = HEAP32[$46>>2]|0; + $48 = ($47>>>0)<($13>>>0); + if ($48) { + _abort(); + // unreachable; + } + $49 = ((($47)) + 12|0); + $50 = HEAP32[$49>>2]|0; + $51 = ($50|0)==($11|0); + if (!($51)) { + _abort(); + // unreachable; + } + $52 = ((($44)) + 8|0); + $53 = HEAP32[$52>>2]|0; + $54 = ($53|0)==($11|0); + if ($54) { + HEAP32[$49>>2] = $44; + HEAP32[$52>>2] = $47; + $$3 = $44; + break; + } else { + _abort(); + // unreachable; + } + } + } while(0); + $68 = ($42|0)==(0|0); + if ($68) { + $$1 = $11;$$1418 = $12; + } else { + $69 = ((($11)) + 28|0); + $70 = HEAP32[$69>>2]|0; + $71 = (33592 + ($70<<2)|0); + $72 = HEAP32[$71>>2]|0; + $73 = ($11|0)==($72|0); + do { + if ($73) { + HEAP32[$71>>2] = $$3; + $cond = ($$3|0)==(0|0); + if ($cond) { + $74 = 1 << $70; + $75 = $74 ^ -1; + $76 = HEAP32[(33292)>>2]|0; + $77 = $76 & $75; + HEAP32[(33292)>>2] = $77; + $$1 = $11;$$1418 = $12; + break L1; + } + } else { + $78 = HEAP32[(33304)>>2]|0; + $79 = ($42>>>0)<($78>>>0); + if ($79) { + _abort(); + // unreachable; + } else { + $80 = ((($42)) + 16|0); + $81 = HEAP32[$80>>2]|0; + $not$1 = ($81|0)!=($11|0); + $$sink2 = $not$1&1; + $82 = (((($42)) + 16|0) + ($$sink2<<2)|0); + HEAP32[$82>>2] = $$3; + $83 = ($$3|0)==(0|0); + if ($83) { + $$1 = $11;$$1418 = $12; + break L1; + } else { + break; + } + } + } + } while(0); + $84 = HEAP32[(33304)>>2]|0; + $85 = ($$3>>>0)<($84>>>0); + if ($85) { + _abort(); + // unreachable; + } + $86 = ((($$3)) + 24|0); + HEAP32[$86>>2] = $42; + $87 = ((($11)) + 16|0); + $88 = HEAP32[$87>>2]|0; + $89 = ($88|0)==(0|0); + do { + if (!($89)) { + $90 = ($88>>>0)<($84>>>0); + if ($90) { + _abort(); + // unreachable; + } else { + $91 = ((($$3)) + 16|0); + HEAP32[$91>>2] = $88; + $92 = ((($88)) + 24|0); + HEAP32[$92>>2] = $$3; + break; + } + } + } while(0); + $93 = ((($87)) + 4|0); + $94 = HEAP32[$93>>2]|0; + $95 = ($94|0)==(0|0); + if ($95) { + $$1 = $11;$$1418 = $12; + } else { + $96 = HEAP32[(33304)>>2]|0; + $97 = ($94>>>0)<($96>>>0); + if ($97) { + _abort(); + // unreachable; + } else { + $98 = ((($$3)) + 20|0); + HEAP32[$98>>2] = $94; + $99 = ((($94)) + 24|0); + HEAP32[$99>>2] = $$3; + $$1 = $11;$$1418 = $12; break; } } } } else { - $$0 = $p;$$02 = $psize; + $$1 = $0;$$1418 = $1; } } while(0); - $106 = HEAP32[(34752)>>2]|0; - $107 = ($0>>>0)<($106>>>0); - if ($107) { + $108 = HEAP32[(33304)>>2]|0; + $109 = ($2>>>0)<($108>>>0); + if ($109) { _abort(); // unreachable; } - $$sum1 = (($psize) + 4)|0; - $108 = (($p) + ($$sum1)|0); - $109 = HEAP32[$108>>2]|0; - $110 = $109 & 2; - $111 = ($110|0)==(0); - if ($111) { - $112 = HEAP32[(34760)>>2]|0; - $113 = ($0|0)==($112|0); - if ($113) { - $114 = HEAP32[(34748)>>2]|0; - $115 = (($114) + ($$02))|0; - HEAP32[(34748)>>2] = $115; - HEAP32[(34760)>>2] = $$0; - $116 = $115 | 1; - $117 = ((($$0)) + 4|0); - HEAP32[$117>>2] = $116; - $118 = HEAP32[(34756)>>2]|0; - $119 = ($$0|0)==($118|0); - if (!($119)) { + $110 = ((($2)) + 4|0); + $111 = HEAP32[$110>>2]|0; + $112 = $111 & 2; + $113 = ($112|0)==(0); + if ($113) { + $114 = HEAP32[(33312)>>2]|0; + $115 = ($2|0)==($114|0); + $116 = HEAP32[(33308)>>2]|0; + if ($115) { + $117 = HEAP32[(33300)>>2]|0; + $118 = (($117) + ($$1418))|0; + HEAP32[(33300)>>2] = $118; + HEAP32[(33312)>>2] = $$1; + $119 = $118 | 1; + $120 = ((($$1)) + 4|0); + HEAP32[$120>>2] = $119; + $121 = ($$1|0)==($116|0); + if (!($121)) { return; } - HEAP32[(34756)>>2] = 0; - HEAP32[(34744)>>2] = 0; + HEAP32[(33308)>>2] = 0; + HEAP32[(33296)>>2] = 0; return; } - $120 = HEAP32[(34756)>>2]|0; - $121 = ($0|0)==($120|0); - if ($121) { - $122 = HEAP32[(34744)>>2]|0; - $123 = (($122) + ($$02))|0; - HEAP32[(34744)>>2] = $123; - HEAP32[(34756)>>2] = $$0; - $124 = $123 | 1; - $125 = ((($$0)) + 4|0); - HEAP32[$125>>2] = $124; - $126 = (($$0) + ($123)|0); - HEAP32[$126>>2] = $123; + $122 = ($2|0)==($116|0); + if ($122) { + $123 = HEAP32[(33296)>>2]|0; + $124 = (($123) + ($$1418))|0; + HEAP32[(33296)>>2] = $124; + HEAP32[(33308)>>2] = $$1; + $125 = $124 | 1; + $126 = ((($$1)) + 4|0); + HEAP32[$126>>2] = $125; + $127 = (($$1) + ($124)|0); + HEAP32[$127>>2] = $124; return; } - $127 = $109 & -8; - $128 = (($127) + ($$02))|0; - $129 = $109 >>> 3; - $130 = ($109>>>0)<(256); - do { - if ($130) { - $$sum12 = (($psize) + 8)|0; - $131 = (($p) + ($$sum12)|0); - $132 = HEAP32[$131>>2]|0; - $$sum13 = (($psize) + 12)|0; - $133 = (($p) + ($$sum13)|0); - $134 = HEAP32[$133>>2]|0; - $135 = $129 << 1; - $136 = (34776 + ($135<<2)|0); - $137 = ($132|0)==($136|0); - if (!($137)) { - $138 = ($132>>>0)<($106>>>0); - if ($138) { + $128 = $111 & -8; + $129 = (($128) + ($$1418))|0; + $130 = $111 >>> 3; + $131 = ($111>>>0)<(256); + L96: do { + if ($131) { + $132 = ((($2)) + 8|0); + $133 = HEAP32[$132>>2]|0; + $134 = ((($2)) + 12|0); + $135 = HEAP32[$134>>2]|0; + $136 = $130 << 1; + $137 = (33328 + ($136<<2)|0); + $138 = ($133|0)==($137|0); + if (!($138)) { + $139 = ($133>>>0)<($108>>>0); + if ($139) { _abort(); // unreachable; } - $139 = ((($132)) + 12|0); - $140 = HEAP32[$139>>2]|0; - $141 = ($140|0)==($0|0); - if (!($141)) { + $140 = ((($133)) + 12|0); + $141 = HEAP32[$140>>2]|0; + $142 = ($141|0)==($2|0); + if (!($142)) { _abort(); // unreachable; } } - $142 = ($134|0)==($132|0); - if ($142) { - $143 = 1 << $129; - $144 = $143 ^ -1; - $145 = HEAP32[34736>>2]|0; - $146 = $145 & $144; - HEAP32[34736>>2] = $146; + $143 = ($135|0)==($133|0); + if ($143) { + $144 = 1 << $130; + $145 = $144 ^ -1; + $146 = HEAP32[8322]|0; + $147 = $146 & $145; + HEAP32[8322] = $147; break; } - $147 = ($134|0)==($136|0); - if ($147) { - $$pre49 = ((($134)) + 8|0); - $$pre$phi50Z2D = $$pre49; + $148 = ($135|0)==($137|0); + if ($148) { + $$pre23 = ((($135)) + 8|0); + $$pre$phi24Z2D = $$pre23; } else { - $148 = ($134>>>0)<($106>>>0); - if ($148) { + $149 = ($135>>>0)<($108>>>0); + if ($149) { _abort(); // unreachable; } - $149 = ((($134)) + 8|0); - $150 = HEAP32[$149>>2]|0; - $151 = ($150|0)==($0|0); - if ($151) { - $$pre$phi50Z2D = $149; + $150 = ((($135)) + 8|0); + $151 = HEAP32[$150>>2]|0; + $152 = ($151|0)==($2|0); + if ($152) { + $$pre$phi24Z2D = $150; } else { _abort(); // unreachable; } } - $152 = ((($132)) + 12|0); - HEAP32[$152>>2] = $134; - HEAP32[$$pre$phi50Z2D>>2] = $132; + $153 = ((($133)) + 12|0); + HEAP32[$153>>2] = $135; + HEAP32[$$pre$phi24Z2D>>2] = $133; } else { - $$sum2 = (($psize) + 24)|0; - $153 = (($p) + ($$sum2)|0); - $154 = HEAP32[$153>>2]|0; - $$sum3 = (($psize) + 12)|0; - $155 = (($p) + ($$sum3)|0); - $156 = HEAP32[$155>>2]|0; - $157 = ($156|0)==($0|0); + $154 = ((($2)) + 24|0); + $155 = HEAP32[$154>>2]|0; + $156 = ((($2)) + 12|0); + $157 = HEAP32[$156>>2]|0; + $158 = ($157|0)==($2|0); do { - if ($157) { - $$sum5 = (($psize) + 20)|0; - $167 = (($p) + ($$sum5)|0); - $168 = HEAP32[$167>>2]|0; - $169 = ($168|0)==(0|0); - if ($169) { - $$sum4 = (($psize) + 16)|0; - $170 = (($p) + ($$sum4)|0); - $171 = HEAP32[$170>>2]|0; - $172 = ($171|0)==(0|0); - if ($172) { - $R7$1 = 0; + if ($158) { + $168 = ((($2)) + 16|0); + $169 = ((($168)) + 4|0); + $170 = HEAP32[$169>>2]|0; + $171 = ($170|0)==(0|0); + if ($171) { + $172 = HEAP32[$168>>2]|0; + $173 = ($172|0)==(0|0); + if ($173) { + $$3435 = 0; break; } else { - $R7$0 = $171;$RP9$0 = $170; + $$1433 = $172;$$1437 = $168; } } else { - $R7$0 = $168;$RP9$0 = $167; + $$1433 = $170;$$1437 = $169; } while(1) { - $173 = ((($R7$0)) + 20|0); - $174 = HEAP32[$173>>2]|0; - $175 = ($174|0)==(0|0); - if (!($175)) { - $R7$0 = $174;$RP9$0 = $173; + $174 = ((($$1433)) + 20|0); + $175 = HEAP32[$174>>2]|0; + $176 = ($175|0)==(0|0); + if (!($176)) { + $$1433 = $175;$$1437 = $174; continue; } - $176 = ((($R7$0)) + 16|0); - $177 = HEAP32[$176>>2]|0; - $178 = ($177|0)==(0|0); - if ($178) { - $R7$0$lcssa = $R7$0;$RP9$0$lcssa = $RP9$0; + $177 = ((($$1433)) + 16|0); + $178 = HEAP32[$177>>2]|0; + $179 = ($178|0)==(0|0); + if ($179) { break; } else { - $R7$0 = $177;$RP9$0 = $176; + $$1433 = $178;$$1437 = $177; } } - $179 = ($RP9$0$lcssa>>>0)<($106>>>0); - if ($179) { + $180 = ($$1437>>>0)<($108>>>0); + if ($180) { _abort(); // unreachable; } else { - HEAP32[$RP9$0$lcssa>>2] = 0; - $R7$1 = $R7$0$lcssa; + HEAP32[$$1437>>2] = 0; + $$3435 = $$1433; break; } } else { - $$sum11 = (($psize) + 8)|0; - $158 = (($p) + ($$sum11)|0); - $159 = HEAP32[$158>>2]|0; - $160 = ($159>>>0)<($106>>>0); - if ($160) { + $159 = ((($2)) + 8|0); + $160 = HEAP32[$159>>2]|0; + $161 = ($160>>>0)<($108>>>0); + if ($161) { _abort(); // unreachable; } - $161 = ((($159)) + 12|0); - $162 = HEAP32[$161>>2]|0; - $163 = ($162|0)==($0|0); - if (!($163)) { + $162 = ((($160)) + 12|0); + $163 = HEAP32[$162>>2]|0; + $164 = ($163|0)==($2|0); + if (!($164)) { _abort(); // unreachable; } - $164 = ((($156)) + 8|0); - $165 = HEAP32[$164>>2]|0; - $166 = ($165|0)==($0|0); - if ($166) { - HEAP32[$161>>2] = $156; - HEAP32[$164>>2] = $159; - $R7$1 = $156; + $165 = ((($157)) + 8|0); + $166 = HEAP32[$165>>2]|0; + $167 = ($166|0)==($2|0); + if ($167) { + HEAP32[$162>>2] = $157; + HEAP32[$165>>2] = $160; + $$3435 = $157; break; } else { _abort(); @@ -62666,56 +74562,56 @@ function _dispose_chunk($p,$psize) { } } } while(0); - $180 = ($154|0)==(0|0); - if (!($180)) { - $$sum8 = (($psize) + 28)|0; - $181 = (($p) + ($$sum8)|0); - $182 = HEAP32[$181>>2]|0; - $183 = (35040 + ($182<<2)|0); - $184 = HEAP32[$183>>2]|0; - $185 = ($0|0)==($184|0); - if ($185) { - HEAP32[$183>>2] = $R7$1; - $cond39 = ($R7$1|0)==(0|0); - if ($cond39) { - $186 = 1 << $182; - $187 = $186 ^ -1; - $188 = HEAP32[(34740)>>2]|0; - $189 = $188 & $187; - HEAP32[(34740)>>2] = $189; - break; - } - } else { - $190 = HEAP32[(34752)>>2]|0; - $191 = ($154>>>0)<($190>>>0); - if ($191) { - _abort(); - // unreachable; - } - $192 = ((($154)) + 16|0); - $193 = HEAP32[$192>>2]|0; - $194 = ($193|0)==($0|0); - if ($194) { - HEAP32[$192>>2] = $R7$1; + $181 = ($155|0)==(0|0); + if (!($181)) { + $182 = ((($2)) + 28|0); + $183 = HEAP32[$182>>2]|0; + $184 = (33592 + ($183<<2)|0); + $185 = HEAP32[$184>>2]|0; + $186 = ($2|0)==($185|0); + do { + if ($186) { + HEAP32[$184>>2] = $$3435; + $cond17 = ($$3435|0)==(0|0); + if ($cond17) { + $187 = 1 << $183; + $188 = $187 ^ -1; + $189 = HEAP32[(33292)>>2]|0; + $190 = $189 & $188; + HEAP32[(33292)>>2] = $190; + break L96; + } } else { - $195 = ((($154)) + 20|0); - HEAP32[$195>>2] = $R7$1; + $191 = HEAP32[(33304)>>2]|0; + $192 = ($155>>>0)<($191>>>0); + if ($192) { + _abort(); + // unreachable; + } else { + $193 = ((($155)) + 16|0); + $194 = HEAP32[$193>>2]|0; + $not$ = ($194|0)!=($2|0); + $$sink4 = $not$&1; + $195 = (((($155)) + 16|0) + ($$sink4<<2)|0); + HEAP32[$195>>2] = $$3435; + $196 = ($$3435|0)==(0|0); + if ($196) { + break L96; + } else { + break; + } + } } - $196 = ($R7$1|0)==(0|0); - if ($196) { - break; - } - } - $197 = HEAP32[(34752)>>2]|0; - $198 = ($R7$1>>>0)<($197>>>0); + } while(0); + $197 = HEAP32[(33304)>>2]|0; + $198 = ($$3435>>>0)<($197>>>0); if ($198) { _abort(); // unreachable; } - $199 = ((($R7$1)) + 24|0); - HEAP32[$199>>2] = $154; - $$sum9 = (($psize) + 16)|0; - $200 = (($p) + ($$sum9)|0); + $199 = ((($$3435)) + 24|0); + HEAP32[$199>>2] = $155; + $200 = ((($2)) + 16|0); $201 = HEAP32[$200>>2]|0; $202 = ($201|0)==(0|0); do { @@ -62725,103 +74621,100 @@ function _dispose_chunk($p,$psize) { _abort(); // unreachable; } else { - $204 = ((($R7$1)) + 16|0); + $204 = ((($$3435)) + 16|0); HEAP32[$204>>2] = $201; $205 = ((($201)) + 24|0); - HEAP32[$205>>2] = $R7$1; + HEAP32[$205>>2] = $$3435; break; } } } while(0); - $$sum10 = (($psize) + 20)|0; - $206 = (($p) + ($$sum10)|0); + $206 = ((($200)) + 4|0); $207 = HEAP32[$206>>2]|0; $208 = ($207|0)==(0|0); if (!($208)) { - $209 = HEAP32[(34752)>>2]|0; + $209 = HEAP32[(33304)>>2]|0; $210 = ($207>>>0)<($209>>>0); if ($210) { _abort(); // unreachable; } else { - $211 = ((($R7$1)) + 20|0); + $211 = ((($$3435)) + 20|0); HEAP32[$211>>2] = $207; $212 = ((($207)) + 24|0); - HEAP32[$212>>2] = $R7$1; + HEAP32[$212>>2] = $$3435; break; } } } } } while(0); - $213 = $128 | 1; - $214 = ((($$0)) + 4|0); + $213 = $129 | 1; + $214 = ((($$1)) + 4|0); HEAP32[$214>>2] = $213; - $215 = (($$0) + ($128)|0); - HEAP32[$215>>2] = $128; - $216 = HEAP32[(34756)>>2]|0; - $217 = ($$0|0)==($216|0); + $215 = (($$1) + ($129)|0); + HEAP32[$215>>2] = $129; + $216 = HEAP32[(33308)>>2]|0; + $217 = ($$1|0)==($216|0); if ($217) { - HEAP32[(34744)>>2] = $128; + HEAP32[(33296)>>2] = $129; return; } else { - $$1 = $128; + $$2 = $129; } } else { - $218 = $109 & -2; - HEAP32[$108>>2] = $218; - $219 = $$02 | 1; - $220 = ((($$0)) + 4|0); + $218 = $111 & -2; + HEAP32[$110>>2] = $218; + $219 = $$1418 | 1; + $220 = ((($$1)) + 4|0); HEAP32[$220>>2] = $219; - $221 = (($$0) + ($$02)|0); - HEAP32[$221>>2] = $$02; - $$1 = $$02; + $221 = (($$1) + ($$1418)|0); + HEAP32[$221>>2] = $$1418; + $$2 = $$1418; } - $222 = $$1 >>> 3; - $223 = ($$1>>>0)<(256); + $222 = $$2 >>> 3; + $223 = ($$2>>>0)<(256); if ($223) { $224 = $222 << 1; - $225 = (34776 + ($224<<2)|0); - $226 = HEAP32[34736>>2]|0; + $225 = (33328 + ($224<<2)|0); + $226 = HEAP32[8322]|0; $227 = 1 << $222; $228 = $226 & $227; $229 = ($228|0)==(0); if ($229) { $230 = $226 | $227; - HEAP32[34736>>2] = $230; - $$pre = (($224) + 2)|0; - $$pre48 = (34776 + ($$pre<<2)|0); - $$pre$phiZ2D = $$pre48;$F16$0 = $225; + HEAP32[8322] = $230; + $$pre = ((($225)) + 8|0); + $$0438 = $225;$$pre$phiZ2D = $$pre; } else { - $$sum7 = (($224) + 2)|0; - $231 = (34776 + ($$sum7<<2)|0); + $231 = ((($225)) + 8|0); $232 = HEAP32[$231>>2]|0; - $233 = HEAP32[(34752)>>2]|0; + $233 = HEAP32[(33304)>>2]|0; $234 = ($232>>>0)<($233>>>0); if ($234) { _abort(); // unreachable; } else { - $$pre$phiZ2D = $231;$F16$0 = $232; + $$0438 = $232;$$pre$phiZ2D = $231; } } - HEAP32[$$pre$phiZ2D>>2] = $$0; - $235 = ((($F16$0)) + 12|0); - HEAP32[$235>>2] = $$0; - $236 = ((($$0)) + 8|0); - HEAP32[$236>>2] = $F16$0; - $237 = ((($$0)) + 12|0); + HEAP32[$$pre$phiZ2D>>2] = $$1; + $235 = ((($$0438)) + 12|0); + HEAP32[$235>>2] = $$1; + $236 = ((($$1)) + 8|0); + HEAP32[$236>>2] = $$0438; + $237 = ((($$1)) + 12|0); HEAP32[$237>>2] = $225; return; } - $238 = $$1 >>> 8; + $238 = $$2 >>> 8; $239 = ($238|0)==(0); if ($239) { - $I19$0 = 0; + $$0431 = 0; } else { - $240 = ($$1>>>0)>(16777215); + $240 = ($$2>>>0)>(16777215); if ($240) { - $I19$0 = 31; + $$0431 = 31; } else { $241 = (($238) + 1048320)|0; $242 = $241 >>> 16; @@ -62842,117 +74735,215 @@ function _dispose_chunk($p,$psize) { $257 = (($254) + ($256))|0; $258 = $257 << 1; $259 = (($257) + 7)|0; - $260 = $$1 >>> $259; + $260 = $$2 >>> $259; $261 = $260 & 1; $262 = $261 | $258; - $I19$0 = $262; + $$0431 = $262; } } - $263 = (35040 + ($I19$0<<2)|0); - $264 = ((($$0)) + 28|0); - HEAP32[$264>>2] = $I19$0; - $265 = ((($$0)) + 16|0); - $266 = ((($$0)) + 20|0); + $263 = (33592 + ($$0431<<2)|0); + $264 = ((($$1)) + 28|0); + HEAP32[$264>>2] = $$0431; + $265 = ((($$1)) + 16|0); + $266 = ((($$1)) + 20|0); HEAP32[$266>>2] = 0; HEAP32[$265>>2] = 0; - $267 = HEAP32[(34740)>>2]|0; - $268 = 1 << $I19$0; + $267 = HEAP32[(33292)>>2]|0; + $268 = 1 << $$0431; $269 = $267 & $268; $270 = ($269|0)==(0); if ($270) { $271 = $267 | $268; - HEAP32[(34740)>>2] = $271; - HEAP32[$263>>2] = $$0; - $272 = ((($$0)) + 24|0); + HEAP32[(33292)>>2] = $271; + HEAP32[$263>>2] = $$1; + $272 = ((($$1)) + 24|0); HEAP32[$272>>2] = $263; - $273 = ((($$0)) + 12|0); - HEAP32[$273>>2] = $$0; - $274 = ((($$0)) + 8|0); - HEAP32[$274>>2] = $$0; + $273 = ((($$1)) + 12|0); + HEAP32[$273>>2] = $$1; + $274 = ((($$1)) + 8|0); + HEAP32[$274>>2] = $$1; return; } $275 = HEAP32[$263>>2]|0; - $276 = ((($275)) + 4|0); - $277 = HEAP32[$276>>2]|0; - $278 = $277 & -8; - $279 = ($278|0)==($$1|0); - L191: do { - if ($279) { - $T$0$lcssa = $275; - } else { - $280 = ($I19$0|0)==(31); - $281 = $I19$0 >>> 1; - $282 = (25 - ($281))|0; - $283 = $280 ? 0 : $282; - $284 = $$1 << $283; - $K20$043 = $284;$T$042 = $275; - while(1) { - $291 = $K20$043 >>> 31; - $292 = (((($T$042)) + 16|0) + ($291<<2)|0); - $287 = HEAP32[$292>>2]|0; - $293 = ($287|0)==(0|0); - if ($293) { - $$lcssa = $292;$T$042$lcssa = $T$042; - break; - } - $285 = $K20$043 << 1; - $286 = ((($287)) + 4|0); - $288 = HEAP32[$286>>2]|0; - $289 = $288 & -8; - $290 = ($289|0)==($$1|0); - if ($290) { - $T$0$lcssa = $287; - break L191; - } else { - $K20$043 = $285;$T$042 = $287; - } - } - $294 = HEAP32[(34752)>>2]|0; - $295 = ($$lcssa>>>0)<($294>>>0); - if ($295) { - _abort(); - // unreachable; - } - HEAP32[$$lcssa>>2] = $$0; - $296 = ((($$0)) + 24|0); - HEAP32[$296>>2] = $T$042$lcssa; - $297 = ((($$0)) + 12|0); - HEAP32[$297>>2] = $$0; - $298 = ((($$0)) + 8|0); - HEAP32[$298>>2] = $$0; - return; + $276 = ($$0431|0)==(31); + $277 = $$0431 >>> 1; + $278 = (25 - ($277))|0; + $279 = $276 ? 0 : $278; + $280 = $$2 << $279; + $$0419 = $280;$$0420 = $275; + while(1) { + $281 = ((($$0420)) + 4|0); + $282 = HEAP32[$281>>2]|0; + $283 = $282 & -8; + $284 = ($283|0)==($$2|0); + if ($284) { + label = 121; + break; + } + $285 = $$0419 >>> 31; + $286 = (((($$0420)) + 16|0) + ($285<<2)|0); + $287 = $$0419 << 1; + $288 = HEAP32[$286>>2]|0; + $289 = ($288|0)==(0|0); + if ($289) { + label = 118; + break; + } else { + $$0419 = $287;$$0420 = $288; } - } while(0); - $299 = ((($T$0$lcssa)) + 8|0); - $300 = HEAP32[$299>>2]|0; - $301 = HEAP32[(34752)>>2]|0; - $302 = ($300>>>0)>=($301>>>0); - $not$ = ($T$0$lcssa>>>0)>=($301>>>0); - $303 = $302 & $not$; - if (!($303)) { - _abort(); - // unreachable; } - $304 = ((($300)) + 12|0); - HEAP32[$304>>2] = $$0; - HEAP32[$299>>2] = $$0; - $305 = ((($$0)) + 8|0); - HEAP32[$305>>2] = $300; - $306 = ((($$0)) + 12|0); - HEAP32[$306>>2] = $T$0$lcssa; - $307 = ((($$0)) + 24|0); - HEAP32[$307>>2] = 0; - return; + if ((label|0) == 118) { + $290 = HEAP32[(33304)>>2]|0; + $291 = ($286>>>0)<($290>>>0); + if ($291) { + _abort(); + // unreachable; + } + HEAP32[$286>>2] = $$1; + $292 = ((($$1)) + 24|0); + HEAP32[$292>>2] = $$0420; + $293 = ((($$1)) + 12|0); + HEAP32[$293>>2] = $$1; + $294 = ((($$1)) + 8|0); + HEAP32[$294>>2] = $$1; + return; + } + else if ((label|0) == 121) { + $295 = ((($$0420)) + 8|0); + $296 = HEAP32[$295>>2]|0; + $297 = HEAP32[(33304)>>2]|0; + $298 = ($296>>>0)>=($297>>>0); + $not$19 = ($$0420>>>0)>=($297>>>0); + $299 = $298 & $not$19; + if (!($299)) { + _abort(); + // unreachable; + } + $300 = ((($296)) + 12|0); + HEAP32[$300>>2] = $$1; + HEAP32[$295>>2] = $$1; + $301 = ((($$1)) + 8|0); + HEAP32[$301>>2] = $296; + $302 = ((($$1)) + 12|0); + HEAP32[$302>>2] = $$0420; + $303 = ((($$1)) + 24|0); + HEAP32[$303>>2] = 0; + return; + } } function runPostSets() { +} +function _memset(ptr, value, num) { + ptr = ptr|0; value = value|0; num = num|0; + var end = 0, aligned_end = 0, block_aligned_end = 0, value4 = 0; + end = (ptr + num)|0; + value = value & 0xff; + if ((num|0) >= 67 /* 64 bytes for an unrolled loop + 3 bytes for unaligned head*/) { + while ((ptr&3) != 0) { + HEAP8[((ptr)>>0)]=value; + ptr = (ptr+1)|0; + } + + aligned_end = (end & -4)|0; + block_aligned_end = (aligned_end - 64)|0; + value4 = value | (value << 8) | (value << 16) | (value << 24); + + while((ptr|0) <= (block_aligned_end|0)) { + HEAP32[((ptr)>>2)]=value4; + HEAP32[(((ptr)+(4))>>2)]=value4; + HEAP32[(((ptr)+(8))>>2)]=value4; + HEAP32[(((ptr)+(12))>>2)]=value4; + HEAP32[(((ptr)+(16))>>2)]=value4; + HEAP32[(((ptr)+(20))>>2)]=value4; + HEAP32[(((ptr)+(24))>>2)]=value4; + HEAP32[(((ptr)+(28))>>2)]=value4; + HEAP32[(((ptr)+(32))>>2)]=value4; + HEAP32[(((ptr)+(36))>>2)]=value4; + HEAP32[(((ptr)+(40))>>2)]=value4; + HEAP32[(((ptr)+(44))>>2)]=value4; + HEAP32[(((ptr)+(48))>>2)]=value4; + HEAP32[(((ptr)+(52))>>2)]=value4; + HEAP32[(((ptr)+(56))>>2)]=value4; + HEAP32[(((ptr)+(60))>>2)]=value4; + ptr = (ptr + 64)|0; + } + + while ((ptr|0) < (aligned_end|0) ) { + HEAP32[((ptr)>>2)]=value4; + ptr = (ptr+4)|0; + } + } + // The remaining bytes. + while ((ptr|0) < (end|0)) { + HEAP8[((ptr)>>0)]=value; + ptr = (ptr+1)|0; + } + return (end-num)|0; +} +function _i64Subtract(a, b, c, d) { + a = a|0; b = b|0; c = c|0; d = d|0; + var l = 0, h = 0; + l = (a - c)>>>0; + h = (b - d)>>>0; + h = (b - d - (((c>>>0) > (a>>>0))|0))>>>0; // Borrow one from high word to low word on underflow. + return ((tempRet0 = h,l|0)|0); +} +function _i64Add(a, b, c, d) { + /* + x = a + b*2^32 + y = c + d*2^32 + result = l + h*2^32 + */ + a = a|0; b = b|0; c = c|0; d = d|0; + var l = 0, h = 0; + l = (a + c)>>>0; + h = (b + d + (((l>>>0) < (a>>>0))|0))>>>0; // Add carry from low word to high word on overflow. + return ((tempRet0 = h,l|0)|0); +} +function ___muldsi3($a, $b) { + $a = $a | 0; + $b = $b | 0; + var $1 = 0, $2 = 0, $3 = 0, $6 = 0, $8 = 0, $11 = 0, $12 = 0; + $1 = $a & 65535; + $2 = $b & 65535; + $3 = Math_imul($2, $1) | 0; + $6 = $a >>> 16; + $8 = ($3 >>> 16) + (Math_imul($2, $6) | 0) | 0; + $11 = $b >>> 16; + $12 = Math_imul($11, $1) | 0; + return (tempRet0 = (($8 >>> 16) + (Math_imul($11, $6) | 0) | 0) + ((($8 & 65535) + $12 | 0) >>> 16) | 0, 0 | ($8 + $12 << 16 | $3 & 65535)) | 0; +} +function ___muldi3($a$0, $a$1, $b$0, $b$1) { + $a$0 = $a$0 | 0; + $a$1 = $a$1 | 0; + $b$0 = $b$0 | 0; + $b$1 = $b$1 | 0; + var $x_sroa_0_0_extract_trunc = 0, $y_sroa_0_0_extract_trunc = 0, $1$0 = 0, $1$1 = 0, $2 = 0; + $x_sroa_0_0_extract_trunc = $a$0; + $y_sroa_0_0_extract_trunc = $b$0; + $1$0 = ___muldsi3($x_sroa_0_0_extract_trunc, $y_sroa_0_0_extract_trunc) | 0; + $1$1 = tempRet0; + $2 = Math_imul($a$1, $y_sroa_0_0_extract_trunc) | 0; + return (tempRet0 = ((Math_imul($b$1, $x_sroa_0_0_extract_trunc) | 0) + $2 | 0) + $1$1 | $1$1 & 0, 0 | $1$0 & -1) | 0; } function _memcpy(dest, src, num) { dest = dest|0; src = src|0; num = num|0; var ret = 0; - if ((num|0) >= 4096) return _emscripten_memcpy_big(dest|0, src|0, num|0)|0; + var aligned_dest_end = 0; + var block_aligned_dest_end = 0; + var dest_end = 0; + // Test against a benchmarked cutoff limit for when HEAPU8.set() becomes faster to use. + if ((num|0) >= + 8192 + ) { + return _emscripten_memcpy_big(dest|0, src|0, num|0)|0; + } + ret = dest|0; + dest_end = (dest + num)|0; if ((dest&3) == (src&3)) { + // The initial unaligned < 4-byte front. while (dest & 3) { if ((num|0) == 0) return ret|0; HEAP8[((dest)>>0)]=((HEAP8[((src)>>0)])|0); @@ -62960,58 +74951,53 @@ function _memcpy(dest, src, num) { src = (src+1)|0; num = (num-1)|0; } - while ((num|0) >= 4) { + aligned_dest_end = (dest_end & -4)|0; + block_aligned_dest_end = (aligned_dest_end - 64)|0; + while ((dest|0) <= (block_aligned_dest_end|0) ) { + HEAP32[((dest)>>2)]=((HEAP32[((src)>>2)])|0); + HEAP32[(((dest)+(4))>>2)]=((HEAP32[(((src)+(4))>>2)])|0); + HEAP32[(((dest)+(8))>>2)]=((HEAP32[(((src)+(8))>>2)])|0); + HEAP32[(((dest)+(12))>>2)]=((HEAP32[(((src)+(12))>>2)])|0); + HEAP32[(((dest)+(16))>>2)]=((HEAP32[(((src)+(16))>>2)])|0); + HEAP32[(((dest)+(20))>>2)]=((HEAP32[(((src)+(20))>>2)])|0); + HEAP32[(((dest)+(24))>>2)]=((HEAP32[(((src)+(24))>>2)])|0); + HEAP32[(((dest)+(28))>>2)]=((HEAP32[(((src)+(28))>>2)])|0); + HEAP32[(((dest)+(32))>>2)]=((HEAP32[(((src)+(32))>>2)])|0); + HEAP32[(((dest)+(36))>>2)]=((HEAP32[(((src)+(36))>>2)])|0); + HEAP32[(((dest)+(40))>>2)]=((HEAP32[(((src)+(40))>>2)])|0); + HEAP32[(((dest)+(44))>>2)]=((HEAP32[(((src)+(44))>>2)])|0); + HEAP32[(((dest)+(48))>>2)]=((HEAP32[(((src)+(48))>>2)])|0); + HEAP32[(((dest)+(52))>>2)]=((HEAP32[(((src)+(52))>>2)])|0); + HEAP32[(((dest)+(56))>>2)]=((HEAP32[(((src)+(56))>>2)])|0); + HEAP32[(((dest)+(60))>>2)]=((HEAP32[(((src)+(60))>>2)])|0); + dest = (dest+64)|0; + src = (src+64)|0; + } + while ((dest|0) < (aligned_dest_end|0) ) { HEAP32[((dest)>>2)]=((HEAP32[((src)>>2)])|0); dest = (dest+4)|0; src = (src+4)|0; - num = (num-4)|0; + } + } else { + // In the unaligned copy case, unroll a bit as well. + aligned_dest_end = (dest_end - 4)|0; + while ((dest|0) < (aligned_dest_end|0) ) { + HEAP8[((dest)>>0)]=((HEAP8[((src)>>0)])|0); + HEAP8[(((dest)+(1))>>0)]=((HEAP8[(((src)+(1))>>0)])|0); + HEAP8[(((dest)+(2))>>0)]=((HEAP8[(((src)+(2))>>0)])|0); + HEAP8[(((dest)+(3))>>0)]=((HEAP8[(((src)+(3))>>0)])|0); + dest = (dest+4)|0; + src = (src+4)|0; } } - while ((num|0) > 0) { + // The remaining unaligned < 4 byte tail. + while ((dest|0) < (dest_end|0)) { HEAP8[((dest)>>0)]=((HEAP8[((src)>>0)])|0); dest = (dest+1)|0; src = (src+1)|0; - num = (num-1)|0; } return ret|0; } -function _memset(ptr, value, num) { - ptr = ptr|0; value = value|0; num = num|0; - var stop = 0, value4 = 0, stop4 = 0, unaligned = 0; - stop = (ptr + num)|0; - if ((num|0) >= 20) { - // This is unaligned, but quite large, so work hard to get to aligned settings - value = value & 0xff; - unaligned = ptr & 3; - value4 = value | (value << 8) | (value << 16) | (value << 24); - stop4 = stop & ~3; - if (unaligned) { - unaligned = (ptr + 4 - unaligned)|0; - while ((ptr|0) < (unaligned|0)) { // no need to check for stop, since we have large num - HEAP8[((ptr)>>0)]=value; - ptr = (ptr+1)|0; - } - } - while ((ptr|0) < (stop4|0)) { - HEAP32[((ptr)>>2)]=value4; - ptr = (ptr+4)|0; - } - } - while ((ptr|0) < (stop|0)) { - HEAP8[((ptr)>>0)]=value; - ptr = (ptr+1)|0; - } - return (ptr-num)|0; -} -function _strlen(ptr) { - ptr = ptr|0; - var curr = 0; - curr = ptr; - while (((HEAP8[((curr)>>0)])|0)) { - curr = (curr + 1)|0; - } - return (curr - ptr)|0; -} function _memmove(dest, src, num) { dest = dest|0; src = src|0; num = num|0; var ret = 0; @@ -63032,25 +75018,236 @@ function _memmove(dest, src, num) { } return dest | 0; } -function _strcpy(pdest, psrc) { - pdest = pdest|0; psrc = psrc|0; - var i = 0; - do { - HEAP8[(((pdest+i)|0)>>0)]=HEAP8[(((psrc+i)|0)>>0)]; - i = (i+1)|0; - } while (((HEAP8[(((psrc)+(i-1))>>0)])|0)); - return pdest|0; +function _llvm_cttz_i32(x) { + x = x|0; + var ret = 0; + ret = ((HEAP8[(((cttz_i8)+(x & 0xff))>>0)])|0); + if ((ret|0) < 8) return ret|0; + ret = ((HEAP8[(((cttz_i8)+((x >> 8)&0xff))>>0)])|0); + if ((ret|0) < 8) return (ret + 8)|0; + ret = ((HEAP8[(((cttz_i8)+((x >> 16)&0xff))>>0)])|0); + if ((ret|0) < 8) return (ret + 16)|0; + return (((HEAP8[(((cttz_i8)+(x >>> 24))>>0)])|0) + 24)|0; } -function _strncpy(pdest, psrc, num) { - pdest = pdest|0; psrc = psrc|0; num = num|0; - var padding = 0, curr = 0, i = 0; - while ((i|0) < (num|0)) { - curr = padding ? 0 : ((HEAP8[(((psrc)+(i))>>0)])|0); - HEAP8[(((pdest)+(i))>>0)]=curr; - padding = padding ? 1 : (((HEAP8[(((psrc)+(i))>>0)])|0) == 0); - i = (i+1)|0; +function ___udivmoddi4($a$0, $a$1, $b$0, $b$1, $rem) { + $a$0 = $a$0 | 0; + $a$1 = $a$1 | 0; + $b$0 = $b$0 | 0; + $b$1 = $b$1 | 0; + $rem = $rem | 0; + var $n_sroa_0_0_extract_trunc = 0, $n_sroa_1_4_extract_shift$0 = 0, $n_sroa_1_4_extract_trunc = 0, $d_sroa_0_0_extract_trunc = 0, $d_sroa_1_4_extract_shift$0 = 0, $d_sroa_1_4_extract_trunc = 0, $4 = 0, $17 = 0, $37 = 0, $49 = 0, $51 = 0, $57 = 0, $58 = 0, $66 = 0, $78 = 0, $86 = 0, $88 = 0, $89 = 0, $91 = 0, $92 = 0, $95 = 0, $105 = 0, $117 = 0, $119 = 0, $125 = 0, $126 = 0, $130 = 0, $q_sroa_1_1_ph = 0, $q_sroa_0_1_ph = 0, $r_sroa_1_1_ph = 0, $r_sroa_0_1_ph = 0, $sr_1_ph = 0, $d_sroa_0_0_insert_insert99$0 = 0, $d_sroa_0_0_insert_insert99$1 = 0, $137$0 = 0, $137$1 = 0, $carry_0203 = 0, $sr_1202 = 0, $r_sroa_0_1201 = 0, $r_sroa_1_1200 = 0, $q_sroa_0_1199 = 0, $q_sroa_1_1198 = 0, $147 = 0, $149 = 0, $r_sroa_0_0_insert_insert42$0 = 0, $r_sroa_0_0_insert_insert42$1 = 0, $150$1 = 0, $151$0 = 0, $152 = 0, $154$0 = 0, $r_sroa_0_0_extract_trunc = 0, $r_sroa_1_4_extract_trunc = 0, $155 = 0, $carry_0_lcssa$0 = 0, $carry_0_lcssa$1 = 0, $r_sroa_0_1_lcssa = 0, $r_sroa_1_1_lcssa = 0, $q_sroa_0_1_lcssa = 0, $q_sroa_1_1_lcssa = 0, $q_sroa_0_0_insert_ext75$0 = 0, $q_sroa_0_0_insert_ext75$1 = 0, $q_sroa_0_0_insert_insert77$1 = 0, $_0$0 = 0, $_0$1 = 0; + $n_sroa_0_0_extract_trunc = $a$0; + $n_sroa_1_4_extract_shift$0 = $a$1; + $n_sroa_1_4_extract_trunc = $n_sroa_1_4_extract_shift$0; + $d_sroa_0_0_extract_trunc = $b$0; + $d_sroa_1_4_extract_shift$0 = $b$1; + $d_sroa_1_4_extract_trunc = $d_sroa_1_4_extract_shift$0; + if (($n_sroa_1_4_extract_trunc | 0) == 0) { + $4 = ($rem | 0) != 0; + if (($d_sroa_1_4_extract_trunc | 0) == 0) { + if ($4) { + HEAP32[$rem >> 2] = ($n_sroa_0_0_extract_trunc >>> 0) % ($d_sroa_0_0_extract_trunc >>> 0); + HEAP32[$rem + 4 >> 2] = 0; + } + $_0$1 = 0; + $_0$0 = ($n_sroa_0_0_extract_trunc >>> 0) / ($d_sroa_0_0_extract_trunc >>> 0) >>> 0; + return (tempRet0 = $_0$1, $_0$0) | 0; + } else { + if (!$4) { + $_0$1 = 0; + $_0$0 = 0; + return (tempRet0 = $_0$1, $_0$0) | 0; + } + HEAP32[$rem >> 2] = $a$0 & -1; + HEAP32[$rem + 4 >> 2] = $a$1 & 0; + $_0$1 = 0; + $_0$0 = 0; + return (tempRet0 = $_0$1, $_0$0) | 0; + } } - return pdest|0; + $17 = ($d_sroa_1_4_extract_trunc | 0) == 0; + do { + if (($d_sroa_0_0_extract_trunc | 0) == 0) { + if ($17) { + if (($rem | 0) != 0) { + HEAP32[$rem >> 2] = ($n_sroa_1_4_extract_trunc >>> 0) % ($d_sroa_0_0_extract_trunc >>> 0); + HEAP32[$rem + 4 >> 2] = 0; + } + $_0$1 = 0; + $_0$0 = ($n_sroa_1_4_extract_trunc >>> 0) / ($d_sroa_0_0_extract_trunc >>> 0) >>> 0; + return (tempRet0 = $_0$1, $_0$0) | 0; + } + if (($n_sroa_0_0_extract_trunc | 0) == 0) { + if (($rem | 0) != 0) { + HEAP32[$rem >> 2] = 0; + HEAP32[$rem + 4 >> 2] = ($n_sroa_1_4_extract_trunc >>> 0) % ($d_sroa_1_4_extract_trunc >>> 0); + } + $_0$1 = 0; + $_0$0 = ($n_sroa_1_4_extract_trunc >>> 0) / ($d_sroa_1_4_extract_trunc >>> 0) >>> 0; + return (tempRet0 = $_0$1, $_0$0) | 0; + } + $37 = $d_sroa_1_4_extract_trunc - 1 | 0; + if (($37 & $d_sroa_1_4_extract_trunc | 0) == 0) { + if (($rem | 0) != 0) { + HEAP32[$rem >> 2] = 0 | $a$0 & -1; + HEAP32[$rem + 4 >> 2] = $37 & $n_sroa_1_4_extract_trunc | $a$1 & 0; + } + $_0$1 = 0; + $_0$0 = $n_sroa_1_4_extract_trunc >>> ((_llvm_cttz_i32($d_sroa_1_4_extract_trunc | 0) | 0) >>> 0); + return (tempRet0 = $_0$1, $_0$0) | 0; + } + $49 = Math_clz32($d_sroa_1_4_extract_trunc | 0) | 0; + $51 = $49 - (Math_clz32($n_sroa_1_4_extract_trunc | 0) | 0) | 0; + if ($51 >>> 0 <= 30) { + $57 = $51 + 1 | 0; + $58 = 31 - $51 | 0; + $sr_1_ph = $57; + $r_sroa_0_1_ph = $n_sroa_1_4_extract_trunc << $58 | $n_sroa_0_0_extract_trunc >>> ($57 >>> 0); + $r_sroa_1_1_ph = $n_sroa_1_4_extract_trunc >>> ($57 >>> 0); + $q_sroa_0_1_ph = 0; + $q_sroa_1_1_ph = $n_sroa_0_0_extract_trunc << $58; + break; + } + if (($rem | 0) == 0) { + $_0$1 = 0; + $_0$0 = 0; + return (tempRet0 = $_0$1, $_0$0) | 0; + } + HEAP32[$rem >> 2] = 0 | $a$0 & -1; + HEAP32[$rem + 4 >> 2] = $n_sroa_1_4_extract_shift$0 | $a$1 & 0; + $_0$1 = 0; + $_0$0 = 0; + return (tempRet0 = $_0$1, $_0$0) | 0; + } else { + if (!$17) { + $117 = Math_clz32($d_sroa_1_4_extract_trunc | 0) | 0; + $119 = $117 - (Math_clz32($n_sroa_1_4_extract_trunc | 0) | 0) | 0; + if ($119 >>> 0 <= 31) { + $125 = $119 + 1 | 0; + $126 = 31 - $119 | 0; + $130 = $119 - 31 >> 31; + $sr_1_ph = $125; + $r_sroa_0_1_ph = $n_sroa_0_0_extract_trunc >>> ($125 >>> 0) & $130 | $n_sroa_1_4_extract_trunc << $126; + $r_sroa_1_1_ph = $n_sroa_1_4_extract_trunc >>> ($125 >>> 0) & $130; + $q_sroa_0_1_ph = 0; + $q_sroa_1_1_ph = $n_sroa_0_0_extract_trunc << $126; + break; + } + if (($rem | 0) == 0) { + $_0$1 = 0; + $_0$0 = 0; + return (tempRet0 = $_0$1, $_0$0) | 0; + } + HEAP32[$rem >> 2] = 0 | $a$0 & -1; + HEAP32[$rem + 4 >> 2] = $n_sroa_1_4_extract_shift$0 | $a$1 & 0; + $_0$1 = 0; + $_0$0 = 0; + return (tempRet0 = $_0$1, $_0$0) | 0; + } + $66 = $d_sroa_0_0_extract_trunc - 1 | 0; + if (($66 & $d_sroa_0_0_extract_trunc | 0) != 0) { + $86 = (Math_clz32($d_sroa_0_0_extract_trunc | 0) | 0) + 33 | 0; + $88 = $86 - (Math_clz32($n_sroa_1_4_extract_trunc | 0) | 0) | 0; + $89 = 64 - $88 | 0; + $91 = 32 - $88 | 0; + $92 = $91 >> 31; + $95 = $88 - 32 | 0; + $105 = $95 >> 31; + $sr_1_ph = $88; + $r_sroa_0_1_ph = $91 - 1 >> 31 & $n_sroa_1_4_extract_trunc >>> ($95 >>> 0) | ($n_sroa_1_4_extract_trunc << $91 | $n_sroa_0_0_extract_trunc >>> ($88 >>> 0)) & $105; + $r_sroa_1_1_ph = $105 & $n_sroa_1_4_extract_trunc >>> ($88 >>> 0); + $q_sroa_0_1_ph = $n_sroa_0_0_extract_trunc << $89 & $92; + $q_sroa_1_1_ph = ($n_sroa_1_4_extract_trunc << $89 | $n_sroa_0_0_extract_trunc >>> ($95 >>> 0)) & $92 | $n_sroa_0_0_extract_trunc << $91 & $88 - 33 >> 31; + break; + } + if (($rem | 0) != 0) { + HEAP32[$rem >> 2] = $66 & $n_sroa_0_0_extract_trunc; + HEAP32[$rem + 4 >> 2] = 0; + } + if (($d_sroa_0_0_extract_trunc | 0) == 1) { + $_0$1 = $n_sroa_1_4_extract_shift$0 | $a$1 & 0; + $_0$0 = 0 | $a$0 & -1; + return (tempRet0 = $_0$1, $_0$0) | 0; + } else { + $78 = _llvm_cttz_i32($d_sroa_0_0_extract_trunc | 0) | 0; + $_0$1 = 0 | $n_sroa_1_4_extract_trunc >>> ($78 >>> 0); + $_0$0 = $n_sroa_1_4_extract_trunc << 32 - $78 | $n_sroa_0_0_extract_trunc >>> ($78 >>> 0) | 0; + return (tempRet0 = $_0$1, $_0$0) | 0; + } + } + } while (0); + if (($sr_1_ph | 0) == 0) { + $q_sroa_1_1_lcssa = $q_sroa_1_1_ph; + $q_sroa_0_1_lcssa = $q_sroa_0_1_ph; + $r_sroa_1_1_lcssa = $r_sroa_1_1_ph; + $r_sroa_0_1_lcssa = $r_sroa_0_1_ph; + $carry_0_lcssa$1 = 0; + $carry_0_lcssa$0 = 0; + } else { + $d_sroa_0_0_insert_insert99$0 = 0 | $b$0 & -1; + $d_sroa_0_0_insert_insert99$1 = $d_sroa_1_4_extract_shift$0 | $b$1 & 0; + $137$0 = _i64Add($d_sroa_0_0_insert_insert99$0 | 0, $d_sroa_0_0_insert_insert99$1 | 0, -1, -1) | 0; + $137$1 = tempRet0; + $q_sroa_1_1198 = $q_sroa_1_1_ph; + $q_sroa_0_1199 = $q_sroa_0_1_ph; + $r_sroa_1_1200 = $r_sroa_1_1_ph; + $r_sroa_0_1201 = $r_sroa_0_1_ph; + $sr_1202 = $sr_1_ph; + $carry_0203 = 0; + while (1) { + $147 = $q_sroa_0_1199 >>> 31 | $q_sroa_1_1198 << 1; + $149 = $carry_0203 | $q_sroa_0_1199 << 1; + $r_sroa_0_0_insert_insert42$0 = 0 | ($r_sroa_0_1201 << 1 | $q_sroa_1_1198 >>> 31); + $r_sroa_0_0_insert_insert42$1 = $r_sroa_0_1201 >>> 31 | $r_sroa_1_1200 << 1 | 0; + _i64Subtract($137$0 | 0, $137$1 | 0, $r_sroa_0_0_insert_insert42$0 | 0, $r_sroa_0_0_insert_insert42$1 | 0) | 0; + $150$1 = tempRet0; + $151$0 = $150$1 >> 31 | (($150$1 | 0) < 0 ? -1 : 0) << 1; + $152 = $151$0 & 1; + $154$0 = _i64Subtract($r_sroa_0_0_insert_insert42$0 | 0, $r_sroa_0_0_insert_insert42$1 | 0, $151$0 & $d_sroa_0_0_insert_insert99$0 | 0, ((($150$1 | 0) < 0 ? -1 : 0) >> 31 | (($150$1 | 0) < 0 ? -1 : 0) << 1) & $d_sroa_0_0_insert_insert99$1 | 0) | 0; + $r_sroa_0_0_extract_trunc = $154$0; + $r_sroa_1_4_extract_trunc = tempRet0; + $155 = $sr_1202 - 1 | 0; + if (($155 | 0) == 0) { + break; + } else { + $q_sroa_1_1198 = $147; + $q_sroa_0_1199 = $149; + $r_sroa_1_1200 = $r_sroa_1_4_extract_trunc; + $r_sroa_0_1201 = $r_sroa_0_0_extract_trunc; + $sr_1202 = $155; + $carry_0203 = $152; + } + } + $q_sroa_1_1_lcssa = $147; + $q_sroa_0_1_lcssa = $149; + $r_sroa_1_1_lcssa = $r_sroa_1_4_extract_trunc; + $r_sroa_0_1_lcssa = $r_sroa_0_0_extract_trunc; + $carry_0_lcssa$1 = 0; + $carry_0_lcssa$0 = $152; + } + $q_sroa_0_0_insert_ext75$0 = $q_sroa_0_1_lcssa; + $q_sroa_0_0_insert_ext75$1 = 0; + $q_sroa_0_0_insert_insert77$1 = $q_sroa_1_1_lcssa | $q_sroa_0_0_insert_ext75$1; + if (($rem | 0) != 0) { + HEAP32[$rem >> 2] = 0 | $r_sroa_0_1_lcssa; + HEAP32[$rem + 4 >> 2] = $r_sroa_1_1_lcssa | 0; + } + $_0$1 = (0 | $q_sroa_0_0_insert_ext75$0) >>> 31 | $q_sroa_0_0_insert_insert77$1 << 1 | ($q_sroa_0_0_insert_ext75$1 << 1 | $q_sroa_0_0_insert_ext75$0 >>> 31) & 0 | $carry_0_lcssa$1; + $_0$0 = ($q_sroa_0_0_insert_ext75$0 << 1 | 0 >>> 31) & -2 | $carry_0_lcssa$0; + return (tempRet0 = $_0$1, $_0$0) | 0; +} +function ___uremdi3($a$0, $a$1, $b$0, $b$1) { + $a$0 = $a$0 | 0; + $a$1 = $a$1 | 0; + $b$0 = $b$0 | 0; + $b$1 = $b$1 | 0; + var $rem = 0, __stackBase__ = 0; + __stackBase__ = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + $rem = __stackBase__ | 0; + ___udivmoddi4($a$0, $a$1, $b$0, $b$1, $rem) | 0; + STACKTOP = __stackBase__; + return (tempRet0 = HEAP32[$rem + 4 >> 2] | 0, HEAP32[$rem >> 2] | 0) | 0; } function _bitshift64Shl(low, high, bits) { low = low|0; high = high|0; bits = bits|0; @@ -63063,6 +75260,62 @@ function _bitshift64Shl(low, high, bits) { tempRet0 = low << (bits - 32); return 0; } +function ___udivdi3($a$0, $a$1, $b$0, $b$1) { + $a$0 = $a$0 | 0; + $a$1 = $a$1 | 0; + $b$0 = $b$0 | 0; + $b$1 = $b$1 | 0; + var $1$0 = 0; + $1$0 = ___udivmoddi4($a$0, $a$1, $b$0, $b$1, 0) | 0; + return $1$0 | 0; +} +function _roundf(f) { + f = +f; + return f >= +0 ? +Math_floor(f + +0.5) : +Math_ceil(f - +0.5); // TODO: use fround? +} +function _bitshift64Lshr(low, high, bits) { + low = low|0; high = high|0; bits = bits|0; + var ander = 0; + if ((bits|0) < 32) { + ander = ((1 << bits) - 1)|0; + tempRet0 = high >>> bits; + return (low >>> bits) | ((high&ander) << (32 - bits)); + } + tempRet0 = 0; + return (high >>> (bits - 32))|0; +} +function _sbrk(increment) { + increment = increment|0; + var oldDynamicTop = 0; + var oldDynamicTopOnChange = 0; + var newDynamicTop = 0; + var totalMemory = 0; + increment = ((increment + 15) & -16)|0; + oldDynamicTop = HEAP32[DYNAMICTOP_PTR>>2]|0; + newDynamicTop = oldDynamicTop + increment | 0; + + if (((increment|0) > 0 & (newDynamicTop|0) < (oldDynamicTop|0)) // Detect and fail if we would wrap around signed 32-bit int. + | (newDynamicTop|0) < 0) { // Also underflow, sbrk() should be able to be used to subtract. + abortOnCannotGrowMemory()|0; + ___setErrNo(12); + return -1; + } + + HEAP32[DYNAMICTOP_PTR>>2] = newDynamicTop; + totalMemory = getTotalMemory()|0; + if ((newDynamicTop|0) > (totalMemory|0)) { + if ((enlargeMemory()|0) == 0) { + ___setErrNo(12); + HEAP32[DYNAMICTOP_PTR>>2] = oldDynamicTop; + return -1; + } + } + return oldDynamicTop|0; +} +function _llvm_bswap_i32(x) { + x = x|0; + return (((x&0xff)<<24) | (((x>>8)&0xff)<<16) | (((x>>16)&0xff)<<8) | (x>>>24))|0; +} function dynCall_viiiii(index,a1,a2,a3,a4,a5) { @@ -63117,14 +75370,14 @@ function dynCall_viddd(index,a1,a2,a3,a4) { function dynCall_vidd(index,a1,a2,a3) { index = index|0; a1=a1|0; a2=+a2; a3=+a3; - FUNCTION_TABLE_vidd[index&3](a1|0,+a2,+a3); + FUNCTION_TABLE_vidd[index&7](a1|0,+a2,+a3); } function dynCall_iiii(index,a1,a2,a3) { index = index|0; a1=a1|0; a2=a2|0; a3=a3|0; - return FUNCTION_TABLE_iiii[index&3](a1|0,a2|0,a3|0)|0; + return FUNCTION_TABLE_iiii[index&15](a1|0,a2|0,a3|0)|0; } @@ -63191,13 +75444,6 @@ function dynCall_i(index) { } -function dynCall_iiiiii(index,a1,a2,a3,a4,a5) { - index = index|0; - a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; - return FUNCTION_TABLE_iiiiii[index&7](a1|0,a2|0,a3|0,a4|0,a5|0)|0; -} - - function dynCall_vdddddd(index,a1,a2,a3,a4,a5,a6) { index = index|0; a1=+a1; a2=+a2; a3=+a3; a4=+a4; a5=+a5; a6=+a6; @@ -63239,199 +75485,582 @@ function dynCall_viiii(index,a1,a2,a3,a4) { FUNCTION_TABLE_viiii[index&31](a1|0,a2|0,a3|0,a4|0); } -function b0(p0,p1,p2,p3,p4) { p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; abort(0); } -function _emscripten_glUniform4i__wrapper(p0,p1,p2,p3,p4) { p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; _emscripten_glUniform4i(p0|0,p1|0,p2|0,p3|0,p4|0); } -function _emscripten_glFramebufferTexture2D__wrapper(p0,p1,p2,p3,p4) { p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; _emscripten_glFramebufferTexture2D(p0|0,p1|0,p2|0,p3|0,p4|0); } -function _emscripten_glShaderBinary__wrapper(p0,p1,p2,p3,p4) { p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; _emscripten_glShaderBinary(p0|0,p1|0,p2|0,p3|0,p4|0); } -function _emscripten_glDrawElementsInstanced__wrapper(p0,p1,p2,p3,p4) { p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; _emscripten_glDrawElementsInstanced(p0|0,p1|0,p2|0,p3|0,p4|0); } -function b1(p0) { p0 = +p0; abort(1); } -function _emscripten_glClearDepth__wrapper(p0) { p0 = +p0; _emscripten_glClearDepth(+p0); } -function _emscripten_glClearDepthf__wrapper(p0) { p0 = +p0; _emscripten_glClearDepthf(+p0); } -function _emscripten_glLineWidth__wrapper(p0) { p0 = +p0; _emscripten_glLineWidth(+p0); } -function b2(p0,p1) { p0 = p0|0;p1 = +p1; abort(2); } -function _emscripten_glUniform1f__wrapper(p0,p1) { p0 = p0|0;p1 = +p1; _emscripten_glUniform1f(p0|0,+p1); } -function _emscripten_glVertexAttrib1f__wrapper(p0,p1) { p0 = p0|0;p1 = +p1; _emscripten_glVertexAttrib1f(p0|0,+p1); } -function b3(p0) { p0 = p0|0; abort(3); } -function _emscripten_glDeleteShader__wrapper(p0) { p0 = p0|0; _emscripten_glDeleteShader(p0|0); } -function _emscripten_glCompileShader__wrapper(p0) { p0 = p0|0; _emscripten_glCompileShader(p0|0); } -function _emscripten_glDeleteProgram__wrapper(p0) { p0 = p0|0; _emscripten_glDeleteProgram(p0|0); } -function _emscripten_glLinkProgram__wrapper(p0) { p0 = p0|0; _emscripten_glLinkProgram(p0|0); } -function _emscripten_glUseProgram__wrapper(p0) { p0 = p0|0; _emscripten_glUseProgram(p0|0); } -function _emscripten_glValidateProgram__wrapper(p0) { p0 = p0|0; _emscripten_glValidateProgram(p0|0); } -function _emscripten_glDeleteObjectARB__wrapper(p0) { p0 = p0|0; _emscripten_glDeleteObjectARB(p0|0); } -function _emscripten_glEnableClientState__wrapper(p0) { p0 = p0|0; _emscripten_glEnableClientState(p0|0); } -function _emscripten_glClientActiveTexture__wrapper(p0) { p0 = p0|0; _emscripten_glClientActiveTexture(p0|0); } -function _emscripten_glBindVertexArray__wrapper(p0) { p0 = p0|0; _emscripten_glBindVertexArray(p0|0); } -function _emscripten_glMatrixMode__wrapper(p0) { p0 = p0|0; _emscripten_glMatrixMode(p0|0); } -function _emscripten_glLoadMatrixf__wrapper(p0) { p0 = p0|0; _emscripten_glLoadMatrixf(p0|0); } -function _emscripten_glEnableVertexAttribArray__wrapper(p0) { p0 = p0|0; _emscripten_glEnableVertexAttribArray(p0|0); } -function _emscripten_glDisableVertexAttribArray__wrapper(p0) { p0 = p0|0; _emscripten_glDisableVertexAttribArray(p0|0); } -function _emscripten_glDepthFunc__wrapper(p0) { p0 = p0|0; _emscripten_glDepthFunc(p0|0); } -function _emscripten_glEnable__wrapper(p0) { p0 = p0|0; _emscripten_glEnable(p0|0); } -function _emscripten_glDisable__wrapper(p0) { p0 = p0|0; _emscripten_glDisable(p0|0); } -function _emscripten_glFrontFace__wrapper(p0) { p0 = p0|0; _emscripten_glFrontFace(p0|0); } -function _emscripten_glCullFace__wrapper(p0) { p0 = p0|0; _emscripten_glCullFace(p0|0); } -function _emscripten_glClear__wrapper(p0) { p0 = p0|0; _emscripten_glClear(p0|0); } -function _emscripten_glClearStencil__wrapper(p0) { p0 = p0|0; _emscripten_glClearStencil(p0|0); } -function _emscripten_glDepthMask__wrapper(p0) { p0 = p0|0; _emscripten_glDepthMask(p0|0); } -function _emscripten_glStencilMask__wrapper(p0) { p0 = p0|0; _emscripten_glStencilMask(p0|0); } -function _emscripten_glGenerateMipmap__wrapper(p0) { p0 = p0|0; _emscripten_glGenerateMipmap(p0|0); } -function _emscripten_glActiveTexture__wrapper(p0) { p0 = p0|0; _emscripten_glActiveTexture(p0|0); } -function _emscripten_glBlendEquation__wrapper(p0) { p0 = p0|0; _emscripten_glBlendEquation(p0|0); } -function b4(p0,p1) { p0 = p0|0;p1 = p1|0; abort(4); } -function _emscripten_glPixelStorei__wrapper(p0,p1) { p0 = p0|0;p1 = p1|0; _emscripten_glPixelStorei(p0|0,p1|0); } -function _emscripten_glGetIntegerv__wrapper(p0,p1) { p0 = p0|0;p1 = p1|0; _emscripten_glGetIntegerv(p0|0,p1|0); } -function _emscripten_glGetFloatv__wrapper(p0,p1) { p0 = p0|0;p1 = p1|0; _emscripten_glGetFloatv(p0|0,p1|0); } -function _emscripten_glGetBooleanv__wrapper(p0,p1) { p0 = p0|0;p1 = p1|0; _emscripten_glGetBooleanv(p0|0,p1|0); } -function _emscripten_glGenTextures__wrapper(p0,p1) { p0 = p0|0;p1 = p1|0; _emscripten_glGenTextures(p0|0,p1|0); } -function _emscripten_glDeleteTextures__wrapper(p0,p1) { p0 = p0|0;p1 = p1|0; _emscripten_glDeleteTextures(p0|0,p1|0); } -function _emscripten_glBindTexture__wrapper(p0,p1) { p0 = p0|0;p1 = p1|0; _emscripten_glBindTexture(p0|0,p1|0); } -function _emscripten_glGenBuffers__wrapper(p0,p1) { p0 = p0|0;p1 = p1|0; _emscripten_glGenBuffers(p0|0,p1|0); } -function _emscripten_glDeleteBuffers__wrapper(p0,p1) { p0 = p0|0;p1 = p1|0; _emscripten_glDeleteBuffers(p0|0,p1|0); } -function _emscripten_glGenRenderbuffers__wrapper(p0,p1) { p0 = p0|0;p1 = p1|0; _emscripten_glGenRenderbuffers(p0|0,p1|0); } -function _emscripten_glDeleteRenderbuffers__wrapper(p0,p1) { p0 = p0|0;p1 = p1|0; _emscripten_glDeleteRenderbuffers(p0|0,p1|0); } -function _emscripten_glBindRenderbuffer__wrapper(p0,p1) { p0 = p0|0;p1 = p1|0; _emscripten_glBindRenderbuffer(p0|0,p1|0); } -function _emscripten_glUniform1i__wrapper(p0,p1) { p0 = p0|0;p1 = p1|0; _emscripten_glUniform1i(p0|0,p1|0); } -function _emscripten_glBindBuffer__wrapper(p0,p1) { p0 = p0|0;p1 = p1|0; _emscripten_glBindBuffer(p0|0,p1|0); } -function _emscripten_glVertexAttrib1fv__wrapper(p0,p1) { p0 = p0|0;p1 = p1|0; _emscripten_glVertexAttrib1fv(p0|0,p1|0); } -function _emscripten_glVertexAttrib2fv__wrapper(p0,p1) { p0 = p0|0;p1 = p1|0; _emscripten_glVertexAttrib2fv(p0|0,p1|0); } -function _emscripten_glVertexAttrib3fv__wrapper(p0,p1) { p0 = p0|0;p1 = p1|0; _emscripten_glVertexAttrib3fv(p0|0,p1|0); } -function _emscripten_glVertexAttrib4fv__wrapper(p0,p1) { p0 = p0|0;p1 = p1|0; _emscripten_glVertexAttrib4fv(p0|0,p1|0); } -function _emscripten_glAttachShader__wrapper(p0,p1) { p0 = p0|0;p1 = p1|0; _emscripten_glAttachShader(p0|0,p1|0); } -function _emscripten_glDetachShader__wrapper(p0,p1) { p0 = p0|0;p1 = p1|0; _emscripten_glDetachShader(p0|0,p1|0); } -function _emscripten_glBindFramebuffer__wrapper(p0,p1) { p0 = p0|0;p1 = p1|0; _emscripten_glBindFramebuffer(p0|0,p1|0); } -function _emscripten_glGenFramebuffers__wrapper(p0,p1) { p0 = p0|0;p1 = p1|0; _emscripten_glGenFramebuffers(p0|0,p1|0); } -function _emscripten_glDeleteFramebuffers__wrapper(p0,p1) { p0 = p0|0;p1 = p1|0; _emscripten_glDeleteFramebuffers(p0|0,p1|0); } -function _emscripten_glBindProgramARB__wrapper(p0,p1) { p0 = p0|0;p1 = p1|0; _emscripten_glBindProgramARB(p0|0,p1|0); } -function _emscripten_glGetPointerv__wrapper(p0,p1) { p0 = p0|0;p1 = p1|0; _emscripten_glGetPointerv(p0|0,p1|0); } -function _emscripten_glGenVertexArrays__wrapper(p0,p1) { p0 = p0|0;p1 = p1|0; _emscripten_glGenVertexArrays(p0|0,p1|0); } -function _emscripten_glDeleteVertexArrays__wrapper(p0,p1) { p0 = p0|0;p1 = p1|0; _emscripten_glDeleteVertexArrays(p0|0,p1|0); } -function _emscripten_glVertexAttribDivisor__wrapper(p0,p1) { p0 = p0|0;p1 = p1|0; _emscripten_glVertexAttribDivisor(p0|0,p1|0); } -function _emscripten_glBlendFunc__wrapper(p0,p1) { p0 = p0|0;p1 = p1|0; _emscripten_glBlendFunc(p0|0,p1|0); } -function _emscripten_glBlendEquationSeparate__wrapper(p0,p1) { p0 = p0|0;p1 = p1|0; _emscripten_glBlendEquationSeparate(p0|0,p1|0); } -function _emscripten_glStencilMaskSeparate__wrapper(p0,p1) { p0 = p0|0;p1 = p1|0; _emscripten_glStencilMaskSeparate(p0|0,p1|0); } -function _emscripten_glHint__wrapper(p0,p1) { p0 = p0|0;p1 = p1|0; _emscripten_glHint(p0|0,p1|0); } -function _emscripten_glDrawBuffers__wrapper(p0,p1) { p0 = p0|0;p1 = p1|0; _emscripten_glDrawBuffers(p0|0,p1|0); } -function b5(p0) { p0 = p0|0; abort(5);return 0; } -function _emscripten_glGetString__wrapper(p0) { p0 = p0|0; return _emscripten_glGetString(p0|0)|0; } -function _emscripten_glIsTexture__wrapper(p0) { p0 = p0|0; return _emscripten_glIsTexture(p0|0)|0; } -function _emscripten_glIsBuffer__wrapper(p0) { p0 = p0|0; return _emscripten_glIsBuffer(p0|0)|0; } -function _emscripten_glIsRenderbuffer__wrapper(p0) { p0 = p0|0; return _emscripten_glIsRenderbuffer(p0|0)|0; } -function _emscripten_glCreateShader__wrapper(p0) { p0 = p0|0; return _emscripten_glCreateShader(p0|0)|0; } -function _emscripten_glIsShader__wrapper(p0) { p0 = p0|0; return _emscripten_glIsShader(p0|0)|0; } -function _emscripten_glIsProgram__wrapper(p0) { p0 = p0|0; return _emscripten_glIsProgram(p0|0)|0; } -function _emscripten_glIsFramebuffer__wrapper(p0) { p0 = p0|0; return _emscripten_glIsFramebuffer(p0|0)|0; } -function _emscripten_glCheckFramebufferStatus__wrapper(p0) { p0 = p0|0; return _emscripten_glCheckFramebufferStatus(p0|0)|0; } -function _emscripten_glIsEnabled__wrapper(p0) { p0 = p0|0; return _emscripten_glIsEnabled(p0|0)|0; } -function b6(p0,p1,p2,p3) { p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3; abort(6); } -function _emscripten_glUniform3f__wrapper(p0,p1,p2,p3) { p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glUniform3f(p0|0,+p1,+p2,+p3); } -function _emscripten_glVertexAttrib3f__wrapper(p0,p1,p2,p3) { p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glVertexAttrib3f(p0|0,+p1,+p2,+p3); } -function b7(p0,p1,p2) { p0 = p0|0;p1 = +p1;p2 = +p2; abort(7); } -function _emscripten_glUniform2f__wrapper(p0,p1,p2) { p0 = p0|0;p1 = +p1;p2 = +p2; _emscripten_glUniform2f(p0|0,+p1,+p2); } -function _emscripten_glVertexAttrib2f__wrapper(p0,p1,p2) { p0 = p0|0;p1 = +p1;p2 = +p2; _emscripten_glVertexAttrib2f(p0|0,+p1,+p2); } -function b8(p0,p1,p2) { p0 = p0|0;p1 = p1|0;p2 = p2|0; abort(8);return 0; } -function b9(p0,p1,p2,p3,p4,p5,p6,p7) { p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0; abort(9); } -function _emscripten_glCompressedTexImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7) { p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0; _emscripten_glCompressedTexImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0); } -function _emscripten_glCopyTexImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7) { p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0; _emscripten_glCopyTexImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0); } -function _emscripten_glCopyTexSubImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7) { p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0; _emscripten_glCopyTexSubImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0); } -function b10(p0,p1,p2,p3,p4,p5) { p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0; abort(10); } -function _emscripten_glDrawRangeElements__wrapper(p0,p1,p2,p3,p4,p5) { p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0; _emscripten_glDrawRangeElements(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0); } -function _emscripten_glVertexAttribPointer__wrapper(p0,p1,p2,p3,p4,p5) { p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0; _emscripten_glVertexAttribPointer(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0); } -function b11(p0,p1,p2) { p0 = p0|0;p1 = p1|0;p2 = p2|0; abort(11); } -function _emscripten_glGetTexParameterfv__wrapper(p0,p1,p2) { p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetTexParameterfv(p0|0,p1|0,p2|0); } -function _emscripten_glGetTexParameteriv__wrapper(p0,p1,p2) { p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetTexParameteriv(p0|0,p1|0,p2|0); } -function _emscripten_glTexParameterfv__wrapper(p0,p1,p2) { p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glTexParameterfv(p0|0,p1|0,p2|0); } -function _emscripten_glTexParameteriv__wrapper(p0,p1,p2) { p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glTexParameteriv(p0|0,p1|0,p2|0); } -function _emscripten_glGetBufferParameteriv__wrapper(p0,p1,p2) { p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetBufferParameteriv(p0|0,p1|0,p2|0); } -function _emscripten_glGetRenderbufferParameteriv__wrapper(p0,p1,p2) { p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetRenderbufferParameteriv(p0|0,p1|0,p2|0); } -function _emscripten_glGetUniformfv__wrapper(p0,p1,p2) { p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetUniformfv(p0|0,p1|0,p2|0); } -function _emscripten_glGetUniformiv__wrapper(p0,p1,p2) { p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetUniformiv(p0|0,p1|0,p2|0); } -function _emscripten_glGetVertexAttribfv__wrapper(p0,p1,p2) { p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetVertexAttribfv(p0|0,p1|0,p2|0); } -function _emscripten_glGetVertexAttribiv__wrapper(p0,p1,p2) { p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetVertexAttribiv(p0|0,p1|0,p2|0); } -function _emscripten_glGetVertexAttribPointerv__wrapper(p0,p1,p2) { p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetVertexAttribPointerv(p0|0,p1|0,p2|0); } -function _emscripten_glUniform2i__wrapper(p0,p1,p2) { p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform2i(p0|0,p1|0,p2|0); } -function _emscripten_glUniform1iv__wrapper(p0,p1,p2) { p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform1iv(p0|0,p1|0,p2|0); } -function _emscripten_glUniform2iv__wrapper(p0,p1,p2) { p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform2iv(p0|0,p1|0,p2|0); } -function _emscripten_glUniform3iv__wrapper(p0,p1,p2) { p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform3iv(p0|0,p1|0,p2|0); } -function _emscripten_glUniform4iv__wrapper(p0,p1,p2) { p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform4iv(p0|0,p1|0,p2|0); } -function _emscripten_glUniform1fv__wrapper(p0,p1,p2) { p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform1fv(p0|0,p1|0,p2|0); } -function _emscripten_glUniform2fv__wrapper(p0,p1,p2) { p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform2fv(p0|0,p1|0,p2|0); } -function _emscripten_glUniform3fv__wrapper(p0,p1,p2) { p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform3fv(p0|0,p1|0,p2|0); } -function _emscripten_glUniform4fv__wrapper(p0,p1,p2) { p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform4fv(p0|0,p1|0,p2|0); } -function _emscripten_glGetShaderiv__wrapper(p0,p1,p2) { p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetShaderiv(p0|0,p1|0,p2|0); } -function _emscripten_glGetProgramiv__wrapper(p0,p1,p2) { p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetProgramiv(p0|0,p1|0,p2|0); } -function _emscripten_glBindAttribLocation__wrapper(p0,p1,p2) { p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glBindAttribLocation(p0|0,p1|0,p2|0); } -function _emscripten_glGetObjectParameterivARB__wrapper(p0,p1,p2) { p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetObjectParameterivARB(p0|0,p1|0,p2|0); } -function _emscripten_glNormalPointer__wrapper(p0,p1,p2) { p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glNormalPointer(p0|0,p1|0,p2|0); } -function _emscripten_glDrawArrays__wrapper(p0,p1,p2) { p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glDrawArrays(p0|0,p1|0,p2|0); } -function _emscripten_glTexParameteri__wrapper(p0,p1,p2) { p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glTexParameteri(p0|0,p1|0,p2|0); } -function _emscripten_glStencilFunc__wrapper(p0,p1,p2) { p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glStencilFunc(p0|0,p1|0,p2|0); } -function _emscripten_glStencilOp__wrapper(p0,p1,p2) { p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glStencilOp(p0|0,p1|0,p2|0); } -function b12(p0,p1,p2,p3,p4) { p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4; abort(12); } -function _emscripten_glUniform4f__wrapper(p0,p1,p2,p3,p4) { p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4; _emscripten_glUniform4f(p0|0,+p1,+p2,+p3,+p4); } -function _emscripten_glVertexAttrib4f__wrapper(p0,p1,p2,p3,p4) { p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4; _emscripten_glVertexAttrib4f(p0|0,+p1,+p2,+p3,+p4); } -function b13(p0,p1) { p0 = +p0;p1 = p1|0; abort(13); } -function _emscripten_glSampleCoverage__wrapper(p0,p1) { p0 = +p0;p1 = p1|0; _emscripten_glSampleCoverage(+p0,p1|0); } -function b14(p0,p1,p2,p3,p4,p5,p6) { p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0; abort(14); } -function _emscripten_glReadPixels__wrapper(p0,p1,p2,p3,p4,p5,p6) { p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0; _emscripten_glReadPixels(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0); } -function _emscripten_glGetActiveUniform__wrapper(p0,p1,p2,p3,p4,p5,p6) { p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0; _emscripten_glGetActiveUniform(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0); } -function _emscripten_glGetActiveAttrib__wrapper(p0,p1,p2,p3,p4,p5,p6) { p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0; _emscripten_glGetActiveAttrib(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0); } -function b15(p0,p1,p2,p3,p4,p5,p6,p7,p8) { p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0;p8 = p8|0; abort(15); } -function _emscripten_glCompressedTexSubImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7,p8) { p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0;p8 = p8|0; _emscripten_glCompressedTexSubImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0,p8|0); } -function _emscripten_glTexImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7,p8) { p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0;p8 = p8|0; _emscripten_glTexImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0,p8|0); } -function _emscripten_glTexSubImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7,p8) { p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0;p8 = p8|0; _emscripten_glTexSubImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0,p8|0); } -function b16(p0,p1) { p0 = p0|0;p1 = p1|0; abort(16);return 0; } -function _emscripten_glGetUniformLocation__wrapper(p0,p1) { p0 = p0|0;p1 = p1|0; return _emscripten_glGetUniformLocation(p0|0,p1|0)|0; } -function _emscripten_glGetAttribLocation__wrapper(p0,p1) { p0 = p0|0;p1 = p1|0; return _emscripten_glGetAttribLocation(p0|0,p1|0)|0; } -function b17() { ; abort(17);return 0; } -function _emscripten_glCreateProgram__wrapper() { ; return _emscripten_glCreateProgram()|0; } -function _emscripten_glGetError__wrapper() { ; return _emscripten_glGetError()|0; } -function b18(p0,p1,p2,p3,p4) { p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; abort(18);return 0; } -function b19(p0,p1,p2,p3,p4,p5) { p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4;p5 = +p5; abort(19); } -function _emscripten_glFrustum__wrapper(p0,p1,p2,p3,p4,p5) { p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4;p5 = +p5; _emscripten_glFrustum(+p0,+p1,+p2,+p3,+p4,+p5); } -function b20(p0,p1,p2,p3) { p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3; abort(20); } -function _emscripten_glRotatef__wrapper(p0,p1,p2,p3) { p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glRotatef(+p0,+p1,+p2,+p3); } -function _emscripten_glClearColor__wrapper(p0,p1,p2,p3) { p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glClearColor(+p0,+p1,+p2,+p3); } -function _emscripten_glBlendColor__wrapper(p0,p1,p2,p3) { p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glBlendColor(+p0,+p1,+p2,+p3); } -function b21(p0,p1) { p0 = +p0;p1 = +p1; abort(21); } -function _emscripten_glDepthRange__wrapper(p0,p1) { p0 = +p0;p1 = +p1; _emscripten_glDepthRange(+p0,+p1); } -function _emscripten_glDepthRangef__wrapper(p0,p1) { p0 = +p0;p1 = +p1; _emscripten_glDepthRangef(+p0,+p1); } -function _emscripten_glPolygonOffset__wrapper(p0,p1) { p0 = +p0;p1 = +p1; _emscripten_glPolygonOffset(+p0,+p1); } -function b22() { ; abort(22); } -function _emscripten_glLoadIdentity__wrapper() { ; _emscripten_glLoadIdentity(); } -function _emscripten_glReleaseShaderCompiler__wrapper() { ; _emscripten_glReleaseShaderCompiler(); } -function _emscripten_glFinish__wrapper() { ; _emscripten_glFinish(); } -function _emscripten_glFlush__wrapper() { ; _emscripten_glFlush(); } -function b23(p0,p1,p2) { p0 = p0|0;p1 = p1|0;p2 = +p2; abort(23); } -function _emscripten_glTexParameterf__wrapper(p0,p1,p2) { p0 = p0|0;p1 = p1|0;p2 = +p2; _emscripten_glTexParameterf(p0|0,p1|0,+p2); } -function b24(p0,p1,p2,p3) { p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; abort(24); } -function _emscripten_glBufferData__wrapper(p0,p1,p2,p3) { p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glBufferData(p0|0,p1|0,p2|0,p3|0); } -function _emscripten_glBufferSubData__wrapper(p0,p1,p2,p3) { p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glBufferSubData(p0|0,p1|0,p2|0,p3|0); } -function _emscripten_glUniform3i__wrapper(p0,p1,p2,p3) { p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glUniform3i(p0|0,p1|0,p2|0,p3|0); } -function _emscripten_glUniformMatrix2fv__wrapper(p0,p1,p2,p3) { p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glUniformMatrix2fv(p0|0,p1|0,p2|0,p3|0); } -function _emscripten_glUniformMatrix3fv__wrapper(p0,p1,p2,p3) { p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glUniformMatrix3fv(p0|0,p1|0,p2|0,p3|0); } -function _emscripten_glUniformMatrix4fv__wrapper(p0,p1,p2,p3) { p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glUniformMatrix4fv(p0|0,p1|0,p2|0,p3|0); } -function _emscripten_glGetAttachedShaders__wrapper(p0,p1,p2,p3) { p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetAttachedShaders(p0|0,p1|0,p2|0,p3|0); } -function _emscripten_glShaderSource__wrapper(p0,p1,p2,p3) { p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glShaderSource(p0|0,p1|0,p2|0,p3|0); } -function _emscripten_glGetShaderSource__wrapper(p0,p1,p2,p3) { p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetShaderSource(p0|0,p1|0,p2|0,p3|0); } -function _emscripten_glGetShaderInfoLog__wrapper(p0,p1,p2,p3) { p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetShaderInfoLog(p0|0,p1|0,p2|0,p3|0); } -function _emscripten_glGetShaderPrecisionFormat__wrapper(p0,p1,p2,p3) { p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetShaderPrecisionFormat(p0|0,p1|0,p2|0,p3|0); } -function _emscripten_glGetProgramInfoLog__wrapper(p0,p1,p2,p3) { p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetProgramInfoLog(p0|0,p1|0,p2|0,p3|0); } -function _emscripten_glFramebufferRenderbuffer__wrapper(p0,p1,p2,p3) { p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glFramebufferRenderbuffer(p0|0,p1|0,p2|0,p3|0); } -function _emscripten_glGetFramebufferAttachmentParameteriv__wrapper(p0,p1,p2,p3) { p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetFramebufferAttachmentParameteriv(p0|0,p1|0,p2|0,p3|0); } -function _emscripten_glGetInfoLogARB__wrapper(p0,p1,p2,p3) { p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetInfoLogARB(p0|0,p1|0,p2|0,p3|0); } -function _emscripten_glVertexPointer__wrapper(p0,p1,p2,p3) { p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glVertexPointer(p0|0,p1|0,p2|0,p3|0); } -function _emscripten_glTexCoordPointer__wrapper(p0,p1,p2,p3) { p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glTexCoordPointer(p0|0,p1|0,p2|0,p3|0); } -function _emscripten_glColorPointer__wrapper(p0,p1,p2,p3) { p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glColorPointer(p0|0,p1|0,p2|0,p3|0); } -function _emscripten_glDrawElements__wrapper(p0,p1,p2,p3) { p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glDrawElements(p0|0,p1|0,p2|0,p3|0); } -function _emscripten_glDrawArraysInstanced__wrapper(p0,p1,p2,p3) { p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glDrawArraysInstanced(p0|0,p1|0,p2|0,p3|0); } -function _emscripten_glViewport__wrapper(p0,p1,p2,p3) { p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glViewport(p0|0,p1|0,p2|0,p3|0); } -function _emscripten_glScissor__wrapper(p0,p1,p2,p3) { p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glScissor(p0|0,p1|0,p2|0,p3|0); } -function _emscripten_glColorMask__wrapper(p0,p1,p2,p3) { p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glColorMask(p0|0,p1|0,p2|0,p3|0); } -function _emscripten_glRenderbufferStorage__wrapper(p0,p1,p2,p3) { p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glRenderbufferStorage(p0|0,p1|0,p2|0,p3|0); } -function _emscripten_glBlendFuncSeparate__wrapper(p0,p1,p2,p3) { p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glBlendFuncSeparate(p0|0,p1|0,p2|0,p3|0); } -function _emscripten_glStencilFuncSeparate__wrapper(p0,p1,p2,p3) { p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glStencilFuncSeparate(p0|0,p1|0,p2|0,p3|0); } -function _emscripten_glStencilOpSeparate__wrapper(p0,p1,p2,p3) { p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glStencilOpSeparate(p0|0,p1|0,p2|0,p3|0); } +function b0(p0,p1,p2,p3,p4) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; nullFunc_viiiii(0); +} +function _emscripten_glUniform4i__wrapper(p0,p1,p2,p3,p4) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; _emscripten_glUniform4i(p0|0,p1|0,p2|0,p3|0,p4|0); +} +function _emscripten_glFramebufferTexture2D__wrapper(p0,p1,p2,p3,p4) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; _emscripten_glFramebufferTexture2D(p0|0,p1|0,p2|0,p3|0,p4|0); +} +function _emscripten_glShaderBinary__wrapper(p0,p1,p2,p3,p4) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; _emscripten_glShaderBinary(p0|0,p1|0,p2|0,p3|0,p4|0); +} +function _emscripten_glDrawElementsInstanced__wrapper(p0,p1,p2,p3,p4) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; _emscripten_glDrawElementsInstanced(p0|0,p1|0,p2|0,p3|0,p4|0); +} +function b1(p0) { + p0 = +p0; nullFunc_vd(1); +} +function _emscripten_glClearDepth__wrapper(p0) { + p0 = +p0; _emscripten_glClearDepth(+p0); +} +function _emscripten_glClearDepthf__wrapper(p0) { + p0 = +p0; _emscripten_glClearDepthf(+p0); +} +function _emscripten_glLineWidth__wrapper(p0) { + p0 = +p0; _emscripten_glLineWidth(+p0); +} +function b2(p0,p1) { + p0 = p0|0;p1 = +p1; nullFunc_vid(2); +} +function _emscripten_glUniform1f__wrapper(p0,p1) { + p0 = p0|0;p1 = +p1; _emscripten_glUniform1f(p0|0,+p1); +} +function _emscripten_glVertexAttrib1f__wrapper(p0,p1) { + p0 = p0|0;p1 = +p1; _emscripten_glVertexAttrib1f(p0|0,+p1); +} +function b3(p0) { + p0 = p0|0; nullFunc_vi(3); +} +function _emscripten_glDeleteShader__wrapper(p0) { + p0 = p0|0; _emscripten_glDeleteShader(p0|0); +} +function _emscripten_glCompileShader__wrapper(p0) { + p0 = p0|0; _emscripten_glCompileShader(p0|0); +} +function _emscripten_glDeleteProgram__wrapper(p0) { + p0 = p0|0; _emscripten_glDeleteProgram(p0|0); +} +function _emscripten_glLinkProgram__wrapper(p0) { + p0 = p0|0; _emscripten_glLinkProgram(p0|0); +} +function _emscripten_glUseProgram__wrapper(p0) { + p0 = p0|0; _emscripten_glUseProgram(p0|0); +} +function _emscripten_glValidateProgram__wrapper(p0) { + p0 = p0|0; _emscripten_glValidateProgram(p0|0); +} +function _emscripten_glDeleteObjectARB__wrapper(p0) { + p0 = p0|0; _emscripten_glDeleteObjectARB(p0|0); +} +function _emscripten_glEnableClientState__wrapper(p0) { + p0 = p0|0; _emscripten_glEnableClientState(p0|0); +} +function _emscripten_glClientActiveTexture__wrapper(p0) { + p0 = p0|0; _emscripten_glClientActiveTexture(p0|0); +} +function _emscripten_glBindVertexArray__wrapper(p0) { + p0 = p0|0; _emscripten_glBindVertexArray(p0|0); +} +function _emscripten_glMatrixMode__wrapper(p0) { + p0 = p0|0; _emscripten_glMatrixMode(p0|0); +} +function _emscripten_glLoadMatrixf__wrapper(p0) { + p0 = p0|0; _emscripten_glLoadMatrixf(p0|0); +} +function _emscripten_glEnableVertexAttribArray__wrapper(p0) { + p0 = p0|0; _emscripten_glEnableVertexAttribArray(p0|0); +} +function _emscripten_glDisableVertexAttribArray__wrapper(p0) { + p0 = p0|0; _emscripten_glDisableVertexAttribArray(p0|0); +} +function _emscripten_glDepthFunc__wrapper(p0) { + p0 = p0|0; _emscripten_glDepthFunc(p0|0); +} +function _emscripten_glEnable__wrapper(p0) { + p0 = p0|0; _emscripten_glEnable(p0|0); +} +function _emscripten_glDisable__wrapper(p0) { + p0 = p0|0; _emscripten_glDisable(p0|0); +} +function _emscripten_glFrontFace__wrapper(p0) { + p0 = p0|0; _emscripten_glFrontFace(p0|0); +} +function _emscripten_glCullFace__wrapper(p0) { + p0 = p0|0; _emscripten_glCullFace(p0|0); +} +function _emscripten_glClear__wrapper(p0) { + p0 = p0|0; _emscripten_glClear(p0|0); +} +function _emscripten_glClearStencil__wrapper(p0) { + p0 = p0|0; _emscripten_glClearStencil(p0|0); +} +function _emscripten_glDepthMask__wrapper(p0) { + p0 = p0|0; _emscripten_glDepthMask(p0|0); +} +function _emscripten_glStencilMask__wrapper(p0) { + p0 = p0|0; _emscripten_glStencilMask(p0|0); +} +function _emscripten_glGenerateMipmap__wrapper(p0) { + p0 = p0|0; _emscripten_glGenerateMipmap(p0|0); +} +function _emscripten_glActiveTexture__wrapper(p0) { + p0 = p0|0; _emscripten_glActiveTexture(p0|0); +} +function _emscripten_glBlendEquation__wrapper(p0) { + p0 = p0|0; _emscripten_glBlendEquation(p0|0); +} +function b4(p0,p1) { + p0 = p0|0;p1 = p1|0; nullFunc_vii(4); +} +function _emscripten_glPixelStorei__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glPixelStorei(p0|0,p1|0); +} +function _emscripten_glGetIntegerv__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGetIntegerv(p0|0,p1|0); +} +function _emscripten_glGetFloatv__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGetFloatv(p0|0,p1|0); +} +function _emscripten_glGetBooleanv__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGetBooleanv(p0|0,p1|0); +} +function _emscripten_glGenTextures__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGenTextures(p0|0,p1|0); +} +function _emscripten_glDeleteTextures__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glDeleteTextures(p0|0,p1|0); +} +function _emscripten_glBindTexture__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glBindTexture(p0|0,p1|0); +} +function _emscripten_glGenBuffers__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGenBuffers(p0|0,p1|0); +} +function _emscripten_glDeleteBuffers__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glDeleteBuffers(p0|0,p1|0); +} +function _emscripten_glGenRenderbuffers__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGenRenderbuffers(p0|0,p1|0); +} +function _emscripten_glDeleteRenderbuffers__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glDeleteRenderbuffers(p0|0,p1|0); +} +function _emscripten_glBindRenderbuffer__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glBindRenderbuffer(p0|0,p1|0); +} +function _emscripten_glUniform1i__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glUniform1i(p0|0,p1|0); +} +function _emscripten_glBindBuffer__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glBindBuffer(p0|0,p1|0); +} +function _emscripten_glVertexAttrib1fv__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glVertexAttrib1fv(p0|0,p1|0); +} +function _emscripten_glVertexAttrib2fv__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glVertexAttrib2fv(p0|0,p1|0); +} +function _emscripten_glVertexAttrib3fv__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glVertexAttrib3fv(p0|0,p1|0); +} +function _emscripten_glVertexAttrib4fv__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glVertexAttrib4fv(p0|0,p1|0); +} +function _emscripten_glAttachShader__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glAttachShader(p0|0,p1|0); +} +function _emscripten_glDetachShader__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glDetachShader(p0|0,p1|0); +} +function _emscripten_glBindFramebuffer__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glBindFramebuffer(p0|0,p1|0); +} +function _emscripten_glGenFramebuffers__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGenFramebuffers(p0|0,p1|0); +} +function _emscripten_glDeleteFramebuffers__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glDeleteFramebuffers(p0|0,p1|0); +} +function _emscripten_glBindProgramARB__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glBindProgramARB(p0|0,p1|0); +} +function _emscripten_glGetPointerv__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGetPointerv(p0|0,p1|0); +} +function _emscripten_glGenVertexArrays__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGenVertexArrays(p0|0,p1|0); +} +function _emscripten_glDeleteVertexArrays__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glDeleteVertexArrays(p0|0,p1|0); +} +function _emscripten_glVertexAttribDivisor__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glVertexAttribDivisor(p0|0,p1|0); +} +function _emscripten_glBlendFunc__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glBlendFunc(p0|0,p1|0); +} +function _emscripten_glBlendEquationSeparate__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glBlendEquationSeparate(p0|0,p1|0); +} +function _emscripten_glStencilMaskSeparate__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glStencilMaskSeparate(p0|0,p1|0); +} +function _emscripten_glHint__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glHint(p0|0,p1|0); +} +function _emscripten_glDrawBuffers__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glDrawBuffers(p0|0,p1|0); +} +function b5(p0) { + p0 = p0|0; nullFunc_ii(5);return 0; +} +function _emscripten_glGetString__wrapper(p0) { + p0 = p0|0; return _emscripten_glGetString(p0|0)|0; +} +function _emscripten_glIsTexture__wrapper(p0) { + p0 = p0|0; return _emscripten_glIsTexture(p0|0)|0; +} +function _emscripten_glIsBuffer__wrapper(p0) { + p0 = p0|0; return _emscripten_glIsBuffer(p0|0)|0; +} +function _emscripten_glIsRenderbuffer__wrapper(p0) { + p0 = p0|0; return _emscripten_glIsRenderbuffer(p0|0)|0; +} +function _emscripten_glCreateShader__wrapper(p0) { + p0 = p0|0; return _emscripten_glCreateShader(p0|0)|0; +} +function _emscripten_glIsShader__wrapper(p0) { + p0 = p0|0; return _emscripten_glIsShader(p0|0)|0; +} +function _emscripten_glIsProgram__wrapper(p0) { + p0 = p0|0; return _emscripten_glIsProgram(p0|0)|0; +} +function _emscripten_glIsFramebuffer__wrapper(p0) { + p0 = p0|0; return _emscripten_glIsFramebuffer(p0|0)|0; +} +function _emscripten_glCheckFramebufferStatus__wrapper(p0) { + p0 = p0|0; return _emscripten_glCheckFramebufferStatus(p0|0)|0; +} +function _emscripten_glIsEnabled__wrapper(p0) { + p0 = p0|0; return _emscripten_glIsEnabled(p0|0)|0; +} +function b6(p0,p1,p2,p3) { + p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3; nullFunc_viddd(6); +} +function _emscripten_glUniform3f__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glUniform3f(p0|0,+p1,+p2,+p3); +} +function _emscripten_glVertexAttrib3f__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glVertexAttrib3f(p0|0,+p1,+p2,+p3); +} +function b7(p0,p1,p2) { + p0 = p0|0;p1 = +p1;p2 = +p2; nullFunc_vidd(7); +} +function _emscripten_glUniform2f__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = +p1;p2 = +p2; _emscripten_glUniform2f(p0|0,+p1,+p2); +} +function _emscripten_glVertexAttrib2f__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = +p1;p2 = +p2; _emscripten_glVertexAttrib2f(p0|0,+p1,+p2); +} +function b8(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; nullFunc_iiii(8);return 0; +} +function b9(p0,p1,p2,p3,p4,p5,p6,p7) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0; nullFunc_viiiiiiii(9); +} +function _emscripten_glCompressedTexImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0; _emscripten_glCompressedTexImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0); +} +function _emscripten_glCopyTexImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0; _emscripten_glCopyTexImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0); +} +function _emscripten_glCopyTexSubImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0; _emscripten_glCopyTexSubImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0); +} +function b10(p0,p1,p2,p3,p4,p5) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0; nullFunc_viiiiii(10); +} +function _emscripten_glDrawRangeElements__wrapper(p0,p1,p2,p3,p4,p5) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0; _emscripten_glDrawRangeElements(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0); +} +function _emscripten_glVertexAttribPointer__wrapper(p0,p1,p2,p3,p4,p5) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0; _emscripten_glVertexAttribPointer(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0); +} +function b11(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; nullFunc_viii(11); +} +function _emscripten_glGetTexParameterfv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetTexParameterfv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetTexParameteriv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetTexParameteriv(p0|0,p1|0,p2|0); +} +function _emscripten_glTexParameterfv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glTexParameterfv(p0|0,p1|0,p2|0); +} +function _emscripten_glTexParameteriv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glTexParameteriv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetBufferParameteriv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetBufferParameteriv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetRenderbufferParameteriv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetRenderbufferParameteriv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetUniformfv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetUniformfv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetUniformiv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetUniformiv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetVertexAttribfv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetVertexAttribfv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetVertexAttribiv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetVertexAttribiv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetVertexAttribPointerv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetVertexAttribPointerv(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform2i__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform2i(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform1iv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform1iv(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform2iv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform2iv(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform3iv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform3iv(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform4iv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform4iv(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform1fv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform1fv(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform2fv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform2fv(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform3fv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform3fv(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform4fv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform4fv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetShaderiv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetShaderiv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetProgramiv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetProgramiv(p0|0,p1|0,p2|0); +} +function _emscripten_glBindAttribLocation__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glBindAttribLocation(p0|0,p1|0,p2|0); +} +function _emscripten_glGetObjectParameterivARB__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetObjectParameterivARB(p0|0,p1|0,p2|0); +} +function _emscripten_glNormalPointer__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glNormalPointer(p0|0,p1|0,p2|0); +} +function _emscripten_glDrawArrays__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glDrawArrays(p0|0,p1|0,p2|0); +} +function _emscripten_glTexParameteri__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glTexParameteri(p0|0,p1|0,p2|0); +} +function _emscripten_glStencilFunc__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glStencilFunc(p0|0,p1|0,p2|0); +} +function _emscripten_glStencilOp__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glStencilOp(p0|0,p1|0,p2|0); +} +function b12(p0,p1,p2,p3,p4) { + p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4; nullFunc_vidddd(12); +} +function _emscripten_glUniform4f__wrapper(p0,p1,p2,p3,p4) { + p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4; _emscripten_glUniform4f(p0|0,+p1,+p2,+p3,+p4); +} +function _emscripten_glVertexAttrib4f__wrapper(p0,p1,p2,p3,p4) { + p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4; _emscripten_glVertexAttrib4f(p0|0,+p1,+p2,+p3,+p4); +} +function b13(p0,p1) { + p0 = +p0;p1 = p1|0; nullFunc_vdi(13); +} +function _emscripten_glSampleCoverage__wrapper(p0,p1) { + p0 = +p0;p1 = p1|0; _emscripten_glSampleCoverage(+p0,p1|0); +} +function b14(p0,p1,p2,p3,p4,p5,p6) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0; nullFunc_viiiiiii(14); +} +function _emscripten_glReadPixels__wrapper(p0,p1,p2,p3,p4,p5,p6) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0; _emscripten_glReadPixels(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0); +} +function _emscripten_glGetActiveUniform__wrapper(p0,p1,p2,p3,p4,p5,p6) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0; _emscripten_glGetActiveUniform(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0); +} +function _emscripten_glGetActiveAttrib__wrapper(p0,p1,p2,p3,p4,p5,p6) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0; _emscripten_glGetActiveAttrib(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0); +} +function b15(p0,p1,p2,p3,p4,p5,p6,p7,p8) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0;p8 = p8|0; nullFunc_viiiiiiiii(15); +} +function _emscripten_glCompressedTexSubImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7,p8) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0;p8 = p8|0; _emscripten_glCompressedTexSubImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0,p8|0); +} +function _emscripten_glTexImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7,p8) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0;p8 = p8|0; _emscripten_glTexImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0,p8|0); +} +function _emscripten_glTexSubImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7,p8) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0;p8 = p8|0; _emscripten_glTexSubImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0,p8|0); +} +function b16(p0,p1) { + p0 = p0|0;p1 = p1|0; nullFunc_iii(16);return 0; +} +function _emscripten_glGetUniformLocation__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; return _emscripten_glGetUniformLocation(p0|0,p1|0)|0; +} +function _emscripten_glGetAttribLocation__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; return _emscripten_glGetAttribLocation(p0|0,p1|0)|0; +} +function b17() { + ; nullFunc_i(17);return 0; +} +function _emscripten_glCreateProgram__wrapper() { + ; return _emscripten_glCreateProgram()|0; +} +function _emscripten_glGetError__wrapper() { + ; return _emscripten_glGetError()|0; +} +function b18(p0,p1,p2,p3,p4,p5) { + p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4;p5 = +p5; nullFunc_vdddddd(18); +} +function _emscripten_glFrustum__wrapper(p0,p1,p2,p3,p4,p5) { + p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4;p5 = +p5; _emscripten_glFrustum(+p0,+p1,+p2,+p3,+p4,+p5); +} +function b19(p0,p1,p2,p3) { + p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3; nullFunc_vdddd(19); +} +function _emscripten_glRotatef__wrapper(p0,p1,p2,p3) { + p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glRotatef(+p0,+p1,+p2,+p3); +} +function _emscripten_glClearColor__wrapper(p0,p1,p2,p3) { + p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glClearColor(+p0,+p1,+p2,+p3); +} +function _emscripten_glBlendColor__wrapper(p0,p1,p2,p3) { + p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glBlendColor(+p0,+p1,+p2,+p3); +} +function b20(p0,p1) { + p0 = +p0;p1 = +p1; nullFunc_vdd(20); +} +function _emscripten_glDepthRange__wrapper(p0,p1) { + p0 = +p0;p1 = +p1; _emscripten_glDepthRange(+p0,+p1); +} +function _emscripten_glDepthRangef__wrapper(p0,p1) { + p0 = +p0;p1 = +p1; _emscripten_glDepthRangef(+p0,+p1); +} +function _emscripten_glPolygonOffset__wrapper(p0,p1) { + p0 = +p0;p1 = +p1; _emscripten_glPolygonOffset(+p0,+p1); +} +function b21() { + ; nullFunc_v(21); +} +function _emscripten_glLoadIdentity__wrapper() { + ; _emscripten_glLoadIdentity(); +} +function _emscripten_glReleaseShaderCompiler__wrapper() { + ; _emscripten_glReleaseShaderCompiler(); +} +function _emscripten_glFinish__wrapper() { + ; _emscripten_glFinish(); +} +function _emscripten_glFlush__wrapper() { + ; _emscripten_glFlush(); +} +function b22(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = +p2; nullFunc_viid(22); +} +function _emscripten_glTexParameterf__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = +p2; _emscripten_glTexParameterf(p0|0,p1|0,+p2); +} +function b23(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; nullFunc_viiii(23); +} +function _emscripten_glBufferData__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glBufferData(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glBufferSubData__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glBufferSubData(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glUniform3i__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glUniform3i(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glUniformMatrix2fv__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glUniformMatrix2fv(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glUniformMatrix3fv__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glUniformMatrix3fv(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glUniformMatrix4fv__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glUniformMatrix4fv(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glGetAttachedShaders__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetAttachedShaders(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glShaderSource__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glShaderSource(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glGetShaderSource__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetShaderSource(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glGetShaderInfoLog__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetShaderInfoLog(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glGetShaderPrecisionFormat__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetShaderPrecisionFormat(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glGetProgramInfoLog__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetProgramInfoLog(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glFramebufferRenderbuffer__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glFramebufferRenderbuffer(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glGetFramebufferAttachmentParameteriv__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetFramebufferAttachmentParameteriv(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glGetInfoLogARB__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetInfoLogARB(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glVertexPointer__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glVertexPointer(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glTexCoordPointer__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glTexCoordPointer(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glColorPointer__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glColorPointer(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glDrawElements__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glDrawElements(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glDrawArraysInstanced__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glDrawArraysInstanced(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glViewport__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glViewport(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glScissor__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glScissor(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glColorMask__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glColorMask(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glRenderbufferStorage__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glRenderbufferStorage(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glBlendFuncSeparate__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glBlendFuncSeparate(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glStencilFuncSeparate__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glStencilFuncSeparate(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glStencilOpSeparate__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glStencilOpSeparate(p0|0,p1|0,p2|0,p3|0); +} // EMSCRIPTEN_END_FUNCS var FUNCTION_TABLE_viiiii = [b0,_KeyCallback,_emscripten_glUniform4i__wrapper,_emscripten_glFramebufferTexture2D__wrapper,_emscripten_glShaderBinary__wrapper,_emscripten_glDrawElementsInstanced__wrapper,b0,b0]; @@ -63441,45 +76070,236 @@ var FUNCTION_TABLE_vi = [b3,_emscripten_glDeleteShader__wrapper,_emscripten_glCo ,b3,b3,b3]; var FUNCTION_TABLE_vii = [b4,_stbi__stdio_skip,_ErrorCallback,_CursorEnterCallback,_CharCallback,_WindowIconifyCallback,_emscripten_glPixelStorei__wrapper,_emscripten_glGetIntegerv__wrapper,_emscripten_glGetFloatv__wrapper,_emscripten_glGetBooleanv__wrapper,_emscripten_glGenTextures__wrapper,_emscripten_glDeleteTextures__wrapper,_emscripten_glBindTexture__wrapper,_emscripten_glGenBuffers__wrapper,_emscripten_glDeleteBuffers__wrapper,_emscripten_glGenRenderbuffers__wrapper,_emscripten_glDeleteRenderbuffers__wrapper,_emscripten_glBindRenderbuffer__wrapper,_emscripten_glUniform1i__wrapper,_emscripten_glBindBuffer__wrapper,_emscripten_glVertexAttrib1fv__wrapper,_emscripten_glVertexAttrib2fv__wrapper,_emscripten_glVertexAttrib3fv__wrapper,_emscripten_glVertexAttrib4fv__wrapper,_emscripten_glAttachShader__wrapper,_emscripten_glDetachShader__wrapper,_emscripten_glBindFramebuffer__wrapper,_emscripten_glGenFramebuffers__wrapper,_emscripten_glDeleteFramebuffers__wrapper,_emscripten_glBindProgramARB__wrapper,_emscripten_glGetPointerv__wrapper,_emscripten_glGenVertexArrays__wrapper,_emscripten_glDeleteVertexArrays__wrapper,_emscripten_glVertexAttribDivisor__wrapper,_emscripten_glBlendFunc__wrapper,_emscripten_glBlendEquationSeparate__wrapper,_emscripten_glStencilMaskSeparate__wrapper,_emscripten_glHint__wrapper,_emscripten_glDrawBuffers__wrapper,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4 ,b4,b4,b4,b4,b4]; -var FUNCTION_TABLE_ii = [b5,_stbi__stdio_eof,_emscripten_glGetString__wrapper,_emscripten_glIsTexture__wrapper,_emscripten_glIsBuffer__wrapper,_emscripten_glIsRenderbuffer__wrapper,_emscripten_glCreateShader__wrapper,_emscripten_glIsShader__wrapper,_emscripten_glIsProgram__wrapper,_emscripten_glIsFramebuffer__wrapper,_emscripten_glCheckFramebufferStatus__wrapper,_emscripten_glIsEnabled__wrapper,b5,b5,b5,b5]; +var FUNCTION_TABLE_ii = [b5,_stbi__stdio_eof,___stdio_close,_emscripten_glGetString__wrapper,_emscripten_glIsTexture__wrapper,_emscripten_glIsBuffer__wrapper,_emscripten_glIsRenderbuffer__wrapper,_emscripten_glCreateShader__wrapper,_emscripten_glIsShader__wrapper,_emscripten_glIsProgram__wrapper,_emscripten_glIsFramebuffer__wrapper,_emscripten_glCheckFramebufferStatus__wrapper,_emscripten_glIsEnabled__wrapper,b5,b5,b5]; var FUNCTION_TABLE_viddd = [b6,_emscripten_glUniform3f__wrapper,_emscripten_glVertexAttrib3f__wrapper,b6]; -var FUNCTION_TABLE_vidd = [b7,_ScrollCallback,_emscripten_glUniform2f__wrapper,_emscripten_glVertexAttrib2f__wrapper]; -var FUNCTION_TABLE_iiii = [b8,_stbi__stdio_read,_EmscriptenFullscreenChangeCallback,_EmscriptenInputCallback]; +var FUNCTION_TABLE_vidd = [b7,_MouseCursorPosCallback,_ScrollCallback,_emscripten_glUniform2f__wrapper,_emscripten_glVertexAttrib2f__wrapper,b7,b7,b7]; +var FUNCTION_TABLE_iiii = [b8,_stbi__stdio_read,___stdio_write,___stdio_seek,___stdout_write,_EmscriptenFullscreenChangeCallback,_EmscriptenKeyboardCallback,_EmscriptenMouseCallback,_EmscriptenTouchCallback,_EmscriptenGamepadCallback,___stdio_read,_do_read,b8,b8,b8,b8]; var FUNCTION_TABLE_viiiiiiii = [b9,_emscripten_glCompressedTexImage2D__wrapper,_emscripten_glCopyTexImage2D__wrapper,_emscripten_glCopyTexSubImage2D__wrapper]; -var FUNCTION_TABLE_viiiiii = [b10,_stbi__YCbCr_to_RGB_row,_emscripten_glDrawRangeElements__wrapper,_emscripten_glVertexAttribPointer__wrapper]; -var FUNCTION_TABLE_viii = [b11,_WindowSizeCallback,_stbi__idct_block,_emscripten_glGetTexParameterfv__wrapper,_emscripten_glGetTexParameteriv__wrapper,_emscripten_glTexParameterfv__wrapper,_emscripten_glTexParameteriv__wrapper,_emscripten_glGetBufferParameteriv__wrapper,_emscripten_glGetRenderbufferParameteriv__wrapper,_emscripten_glGetUniformfv__wrapper,_emscripten_glGetUniformiv__wrapper,_emscripten_glGetVertexAttribfv__wrapper,_emscripten_glGetVertexAttribiv__wrapper,_emscripten_glGetVertexAttribPointerv__wrapper,_emscripten_glUniform2i__wrapper,_emscripten_glUniform1iv__wrapper,_emscripten_glUniform2iv__wrapper,_emscripten_glUniform3iv__wrapper,_emscripten_glUniform4iv__wrapper,_emscripten_glUniform1fv__wrapper,_emscripten_glUniform2fv__wrapper,_emscripten_glUniform3fv__wrapper,_emscripten_glUniform4fv__wrapper,_emscripten_glGetShaderiv__wrapper,_emscripten_glGetProgramiv__wrapper,_emscripten_glBindAttribLocation__wrapper,_emscripten_glGetObjectParameterivARB__wrapper,_emscripten_glNormalPointer__wrapper,_emscripten_glDrawArrays__wrapper,_emscripten_glTexParameteri__wrapper,_emscripten_glStencilFunc__wrapper,_emscripten_glStencilOp__wrapper]; +var FUNCTION_TABLE_viiiiii = [b10,_emscripten_glDrawRangeElements__wrapper,_emscripten_glVertexAttribPointer__wrapper,b10]; +var FUNCTION_TABLE_viii = [b11,_WindowSizeCallback,_emscripten_glGetTexParameterfv__wrapper,_emscripten_glGetTexParameteriv__wrapper,_emscripten_glTexParameterfv__wrapper,_emscripten_glTexParameteriv__wrapper,_emscripten_glGetBufferParameteriv__wrapper,_emscripten_glGetRenderbufferParameteriv__wrapper,_emscripten_glGetUniformfv__wrapper,_emscripten_glGetUniformiv__wrapper,_emscripten_glGetVertexAttribfv__wrapper,_emscripten_glGetVertexAttribiv__wrapper,_emscripten_glGetVertexAttribPointerv__wrapper,_emscripten_glUniform2i__wrapper,_emscripten_glUniform1iv__wrapper,_emscripten_glUniform2iv__wrapper,_emscripten_glUniform3iv__wrapper,_emscripten_glUniform4iv__wrapper,_emscripten_glUniform1fv__wrapper,_emscripten_glUniform2fv__wrapper,_emscripten_glUniform3fv__wrapper,_emscripten_glUniform4fv__wrapper,_emscripten_glGetShaderiv__wrapper,_emscripten_glGetProgramiv__wrapper,_emscripten_glBindAttribLocation__wrapper,_emscripten_glGetObjectParameterivARB__wrapper,_emscripten_glNormalPointer__wrapper,_emscripten_glDrawArrays__wrapper,_emscripten_glTexParameteri__wrapper,_emscripten_glStencilFunc__wrapper,_emscripten_glStencilOp__wrapper,b11]; var FUNCTION_TABLE_vidddd = [b12,_emscripten_glUniform4f__wrapper,_emscripten_glVertexAttrib4f__wrapper,b12]; var FUNCTION_TABLE_vdi = [b13,_emscripten_glSampleCoverage__wrapper]; var FUNCTION_TABLE_viiiiiii = [b14,_emscripten_glReadPixels__wrapper,_emscripten_glGetActiveUniform__wrapper,_emscripten_glGetActiveAttrib__wrapper]; var FUNCTION_TABLE_viiiiiiiii = [b15,_emscripten_glCompressedTexSubImage2D__wrapper,_emscripten_glTexImage2D__wrapper,_emscripten_glTexSubImage2D__wrapper]; -var FUNCTION_TABLE_iii = [b16,_rect_height_compare,_rect_original_order,_point_compare,_stbtt__edge_compare,_uint32_compare,_emscripten_glGetUniformLocation__wrapper,_emscripten_glGetAttribLocation__wrapper]; +var FUNCTION_TABLE_iii = [b16,_point_compare,_uint32_compare,_emscripten_glGetUniformLocation__wrapper,_emscripten_glGetAttribLocation__wrapper,b16,b16,b16]; var FUNCTION_TABLE_i = [b17,_emscripten_glCreateProgram__wrapper,_emscripten_glGetError__wrapper,b17]; -var FUNCTION_TABLE_iiiiii = [b18,_stbi__resample_row_hv_2,_resample_row_1,_stbi__resample_row_v_2,_stbi__resample_row_h_2,_stbi__resample_row_generic,b18,b18]; -var FUNCTION_TABLE_vdddddd = [b19,_emscripten_glFrustum__wrapper]; -var FUNCTION_TABLE_vdddd = [b20,_emscripten_glRotatef__wrapper,_emscripten_glClearColor__wrapper,_emscripten_glBlendColor__wrapper]; -var FUNCTION_TABLE_vdd = [b21,_emscripten_glDepthRange__wrapper,_emscripten_glDepthRangef__wrapper,_emscripten_glPolygonOffset__wrapper]; -var FUNCTION_TABLE_v = [b22,_UpdateDrawFrame,_emscripten_glLoadIdentity__wrapper,_emscripten_glReleaseShaderCompiler__wrapper,_emscripten_glFinish__wrapper,_emscripten_glFlush__wrapper,b22,b22]; -var FUNCTION_TABLE_viid = [b23,_emscripten_glTexParameterf__wrapper]; -var FUNCTION_TABLE_viiii = [b24,_MouseButtonCallback,_emscripten_glBufferData__wrapper,_emscripten_glBufferSubData__wrapper,_emscripten_glUniform3i__wrapper,_emscripten_glUniformMatrix2fv__wrapper,_emscripten_glUniformMatrix3fv__wrapper,_emscripten_glUniformMatrix4fv__wrapper,_emscripten_glGetAttachedShaders__wrapper,_emscripten_glShaderSource__wrapper,_emscripten_glGetShaderSource__wrapper,_emscripten_glGetShaderInfoLog__wrapper,_emscripten_glGetShaderPrecisionFormat__wrapper,_emscripten_glGetProgramInfoLog__wrapper,_emscripten_glFramebufferRenderbuffer__wrapper,_emscripten_glGetFramebufferAttachmentParameteriv__wrapper,_emscripten_glGetInfoLogARB__wrapper,_emscripten_glVertexPointer__wrapper,_emscripten_glTexCoordPointer__wrapper,_emscripten_glColorPointer__wrapper,_emscripten_glDrawElements__wrapper,_emscripten_glDrawArraysInstanced__wrapper,_emscripten_glViewport__wrapper,_emscripten_glScissor__wrapper,_emscripten_glColorMask__wrapper,_emscripten_glRenderbufferStorage__wrapper,_emscripten_glBlendFuncSeparate__wrapper,_emscripten_glStencilFuncSeparate__wrapper,_emscripten_glStencilOpSeparate__wrapper,b24,b24,b24]; +var FUNCTION_TABLE_vdddddd = [b18,_emscripten_glFrustum__wrapper]; +var FUNCTION_TABLE_vdddd = [b19,_emscripten_glRotatef__wrapper,_emscripten_glClearColor__wrapper,_emscripten_glBlendColor__wrapper]; +var FUNCTION_TABLE_vdd = [b20,_emscripten_glDepthRange__wrapper,_emscripten_glDepthRangef__wrapper,_emscripten_glPolygonOffset__wrapper]; +var FUNCTION_TABLE_v = [b21,_UpdateDrawFrame,_emscripten_glLoadIdentity__wrapper,_emscripten_glReleaseShaderCompiler__wrapper,_emscripten_glFinish__wrapper,_emscripten_glFlush__wrapper,b21,b21]; +var FUNCTION_TABLE_viid = [b22,_emscripten_glTexParameterf__wrapper]; +var FUNCTION_TABLE_viiii = [b23,_MouseButtonCallback,_emscripten_glBufferData__wrapper,_emscripten_glBufferSubData__wrapper,_emscripten_glUniform3i__wrapper,_emscripten_glUniformMatrix2fv__wrapper,_emscripten_glUniformMatrix3fv__wrapper,_emscripten_glUniformMatrix4fv__wrapper,_emscripten_glGetAttachedShaders__wrapper,_emscripten_glShaderSource__wrapper,_emscripten_glGetShaderSource__wrapper,_emscripten_glGetShaderInfoLog__wrapper,_emscripten_glGetShaderPrecisionFormat__wrapper,_emscripten_glGetProgramInfoLog__wrapper,_emscripten_glFramebufferRenderbuffer__wrapper,_emscripten_glGetFramebufferAttachmentParameteriv__wrapper,_emscripten_glGetInfoLogARB__wrapper,_emscripten_glVertexPointer__wrapper,_emscripten_glTexCoordPointer__wrapper,_emscripten_glColorPointer__wrapper,_emscripten_glDrawElements__wrapper,_emscripten_glDrawArraysInstanced__wrapper,_emscripten_glViewport__wrapper,_emscripten_glScissor__wrapper,_emscripten_glColorMask__wrapper,_emscripten_glRenderbufferStorage__wrapper,_emscripten_glBlendFuncSeparate__wrapper,_emscripten_glStencilFuncSeparate__wrapper,_emscripten_glStencilOpSeparate__wrapper,b23,b23,b23]; - return { _strlen: _strlen, _free: _free, _main: _main, _strncpy: _strncpy, _memmove: _memmove, _strstr: _strstr, _memset: _memset, _malloc: _malloc, _memcpy: _memcpy, _emscripten_GetProcAddress: _emscripten_GetProcAddress, _strcpy: _strcpy, _bitshift64Shl: _bitshift64Shl, runPostSets: runPostSets, _emscripten_replace_memory: _emscripten_replace_memory, stackAlloc: stackAlloc, stackSave: stackSave, stackRestore: stackRestore, establishStackSpace: establishStackSpace, setThrew: setThrew, setTempRet0: setTempRet0, getTempRet0: getTempRet0, dynCall_viiiii: dynCall_viiiii, dynCall_vd: dynCall_vd, dynCall_vid: dynCall_vid, dynCall_vi: dynCall_vi, dynCall_vii: dynCall_vii, dynCall_ii: dynCall_ii, dynCall_viddd: dynCall_viddd, dynCall_vidd: dynCall_vidd, dynCall_iiii: dynCall_iiii, dynCall_viiiiiiii: dynCall_viiiiiiii, dynCall_viiiiii: dynCall_viiiiii, dynCall_viii: dynCall_viii, dynCall_vidddd: dynCall_vidddd, dynCall_vdi: dynCall_vdi, dynCall_viiiiiii: dynCall_viiiiiii, dynCall_viiiiiiiii: dynCall_viiiiiiiii, dynCall_iii: dynCall_iii, dynCall_i: dynCall_i, dynCall_iiiiii: dynCall_iiiiii, dynCall_vdddddd: dynCall_vdddddd, dynCall_vdddd: dynCall_vdddd, dynCall_vdd: dynCall_vdd, dynCall_v: dynCall_v, dynCall_viid: dynCall_viid, dynCall_viiii: dynCall_viiii }; + return { _roundf: _roundf, _main: _main, _llvm_cttz_i32: _llvm_cttz_i32, _bitshift64Lshr: _bitshift64Lshr, _bitshift64Shl: _bitshift64Shl, _fflush: _fflush, _memset: _memset, _sbrk: _sbrk, _memcpy: _memcpy, _llvm_bswap_i32: _llvm_bswap_i32, ___muldi3: ___muldi3, ___uremdi3: ___uremdi3, _i64Subtract: _i64Subtract, ___udivmoddi4: ___udivmoddi4, _i64Add: _i64Add, _emscripten_get_global_libc: _emscripten_get_global_libc, _emscripten_GetProcAddress: _emscripten_GetProcAddress, ___udivdi3: ___udivdi3, ___errno_location: ___errno_location, ___muldsi3: ___muldsi3, _free: _free, _memmove: _memmove, _strstr: _strstr, _malloc: _malloc, runPostSets: runPostSets, stackAlloc: stackAlloc, stackSave: stackSave, stackRestore: stackRestore, establishStackSpace: establishStackSpace, setTempRet0: setTempRet0, getTempRet0: getTempRet0, setThrew: setThrew, stackAlloc: stackAlloc, stackSave: stackSave, stackRestore: stackRestore, establishStackSpace: establishStackSpace, setThrew: setThrew, setTempRet0: setTempRet0, getTempRet0: getTempRet0, dynCall_viiiii: dynCall_viiiii, dynCall_vd: dynCall_vd, dynCall_vid: dynCall_vid, dynCall_vi: dynCall_vi, dynCall_vii: dynCall_vii, dynCall_ii: dynCall_ii, dynCall_viddd: dynCall_viddd, dynCall_vidd: dynCall_vidd, dynCall_iiii: dynCall_iiii, dynCall_viiiiiiii: dynCall_viiiiiiii, dynCall_viiiiii: dynCall_viiiiii, dynCall_viii: dynCall_viii, dynCall_vidddd: dynCall_vidddd, dynCall_vdi: dynCall_vdi, dynCall_viiiiiii: dynCall_viiiiiii, dynCall_viiiiiiiii: dynCall_viiiiiiiii, dynCall_iii: dynCall_iii, dynCall_i: dynCall_i, dynCall_vdddddd: dynCall_vdddddd, dynCall_vdddd: dynCall_vdddd, dynCall_vdd: dynCall_vdd, dynCall_v: dynCall_v, dynCall_viid: dynCall_viid, dynCall_viiii: dynCall_viiii }; }) // EMSCRIPTEN_END_ASM (Module.asmGlobalArg, Module.asmLibraryArg, buffer); -var _strlen = Module["_strlen"] = asm["_strlen"]; -var _free = Module["_free"] = asm["_free"]; + +var real__roundf = asm["_roundf"]; asm["_roundf"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); +assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); +return real__roundf.apply(null, arguments); +}; + +var real__main = asm["_main"]; asm["_main"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); +assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); +return real__main.apply(null, arguments); +}; + +var real_stackSave = asm["stackSave"]; asm["stackSave"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); +assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); +return real_stackSave.apply(null, arguments); +}; + +var real_getTempRet0 = asm["getTempRet0"]; asm["getTempRet0"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); +assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); +return real_getTempRet0.apply(null, arguments); +}; + +var real_setThrew = asm["setThrew"]; asm["setThrew"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); +assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); +return real_setThrew.apply(null, arguments); +}; + +var real__bitshift64Lshr = asm["_bitshift64Lshr"]; asm["_bitshift64Lshr"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); +assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); +return real__bitshift64Lshr.apply(null, arguments); +}; + +var real__bitshift64Shl = asm["_bitshift64Shl"]; asm["_bitshift64Shl"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); +assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); +return real__bitshift64Shl.apply(null, arguments); +}; + +var real__fflush = asm["_fflush"]; asm["_fflush"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); +assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); +return real__fflush.apply(null, arguments); +}; + +var real__llvm_cttz_i32 = asm["_llvm_cttz_i32"]; asm["_llvm_cttz_i32"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); +assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); +return real__llvm_cttz_i32.apply(null, arguments); +}; + +var real__sbrk = asm["_sbrk"]; asm["_sbrk"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); +assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); +return real__sbrk.apply(null, arguments); +}; + +var real__llvm_bswap_i32 = asm["_llvm_bswap_i32"]; asm["_llvm_bswap_i32"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); +assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); +return real__llvm_bswap_i32.apply(null, arguments); +}; + +var real____muldi3 = asm["___muldi3"]; asm["___muldi3"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); +assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); +return real____muldi3.apply(null, arguments); +}; + +var real____uremdi3 = asm["___uremdi3"]; asm["___uremdi3"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); +assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); +return real____uremdi3.apply(null, arguments); +}; + +var real_stackAlloc = asm["stackAlloc"]; asm["stackAlloc"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); +assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); +return real_stackAlloc.apply(null, arguments); +}; + +var real__i64Subtract = asm["_i64Subtract"]; asm["_i64Subtract"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); +assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); +return real__i64Subtract.apply(null, arguments); +}; + +var real____udivmoddi4 = asm["___udivmoddi4"]; asm["___udivmoddi4"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); +assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); +return real____udivmoddi4.apply(null, arguments); +}; + +var real_setTempRet0 = asm["setTempRet0"]; asm["setTempRet0"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); +assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); +return real_setTempRet0.apply(null, arguments); +}; + +var real__i64Add = asm["_i64Add"]; asm["_i64Add"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); +assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); +return real__i64Add.apply(null, arguments); +}; + +var real__emscripten_get_global_libc = asm["_emscripten_get_global_libc"]; asm["_emscripten_get_global_libc"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); +assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); +return real__emscripten_get_global_libc.apply(null, arguments); +}; + +var real__emscripten_GetProcAddress = asm["_emscripten_GetProcAddress"]; asm["_emscripten_GetProcAddress"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); +assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); +return real__emscripten_GetProcAddress.apply(null, arguments); +}; + +var real____udivdi3 = asm["___udivdi3"]; asm["___udivdi3"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); +assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); +return real____udivdi3.apply(null, arguments); +}; + +var real____errno_location = asm["___errno_location"]; asm["___errno_location"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); +assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); +return real____errno_location.apply(null, arguments); +}; + +var real____muldsi3 = asm["___muldsi3"]; asm["___muldsi3"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); +assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); +return real____muldsi3.apply(null, arguments); +}; + +var real__free = asm["_free"]; asm["_free"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); +assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); +return real__free.apply(null, arguments); +}; + +var real_establishStackSpace = asm["establishStackSpace"]; asm["establishStackSpace"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); +assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); +return real_establishStackSpace.apply(null, arguments); +}; + +var real__memmove = asm["_memmove"]; asm["_memmove"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); +assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); +return real__memmove.apply(null, arguments); +}; + +var real__strstr = asm["_strstr"]; asm["_strstr"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); +assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); +return real__strstr.apply(null, arguments); +}; + +var real_stackRestore = asm["stackRestore"]; asm["stackRestore"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); +assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); +return real_stackRestore.apply(null, arguments); +}; + +var real__malloc = asm["_malloc"]; asm["_malloc"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); +assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); +return real__malloc.apply(null, arguments); +}; +var _roundf = Module["_roundf"] = asm["_roundf"]; var _main = Module["_main"] = asm["_main"]; -var _strncpy = Module["_strncpy"] = asm["_strncpy"]; +var stackSave = Module["stackSave"] = asm["stackSave"]; +var getTempRet0 = Module["getTempRet0"] = asm["getTempRet0"]; +var _memset = Module["_memset"] = asm["_memset"]; +var setThrew = Module["setThrew"] = asm["setThrew"]; +var _bitshift64Lshr = Module["_bitshift64Lshr"] = asm["_bitshift64Lshr"]; +var _bitshift64Shl = Module["_bitshift64Shl"] = asm["_bitshift64Shl"]; +var _fflush = Module["_fflush"] = asm["_fflush"]; +var _llvm_cttz_i32 = Module["_llvm_cttz_i32"] = asm["_llvm_cttz_i32"]; +var _sbrk = Module["_sbrk"] = asm["_sbrk"]; +var _memcpy = Module["_memcpy"] = asm["_memcpy"]; +var _llvm_bswap_i32 = Module["_llvm_bswap_i32"] = asm["_llvm_bswap_i32"]; +var ___muldi3 = Module["___muldi3"] = asm["___muldi3"]; +var ___uremdi3 = Module["___uremdi3"] = asm["___uremdi3"]; +var stackAlloc = Module["stackAlloc"] = asm["stackAlloc"]; +var _i64Subtract = Module["_i64Subtract"] = asm["_i64Subtract"]; +var ___udivmoddi4 = Module["___udivmoddi4"] = asm["___udivmoddi4"]; +var setTempRet0 = Module["setTempRet0"] = asm["setTempRet0"]; +var _i64Add = Module["_i64Add"] = asm["_i64Add"]; +var _emscripten_get_global_libc = Module["_emscripten_get_global_libc"] = asm["_emscripten_get_global_libc"]; +var _emscripten_GetProcAddress = Module["_emscripten_GetProcAddress"] = asm["_emscripten_GetProcAddress"]; +var ___udivdi3 = Module["___udivdi3"] = asm["___udivdi3"]; +var ___errno_location = Module["___errno_location"] = asm["___errno_location"]; +var ___muldsi3 = Module["___muldsi3"] = asm["___muldsi3"]; +var _free = Module["_free"] = asm["_free"]; +var runPostSets = Module["runPostSets"] = asm["runPostSets"]; +var establishStackSpace = Module["establishStackSpace"] = asm["establishStackSpace"]; var _memmove = Module["_memmove"] = asm["_memmove"]; var _strstr = Module["_strstr"] = asm["_strstr"]; -var _memset = Module["_memset"] = asm["_memset"]; -var runPostSets = Module["runPostSets"] = asm["runPostSets"]; +var stackRestore = Module["stackRestore"] = asm["stackRestore"]; var _malloc = Module["_malloc"] = asm["_malloc"]; -var _memcpy = Module["_memcpy"] = asm["_memcpy"]; -var _emscripten_replace_memory = Module["_emscripten_replace_memory"] = asm["_emscripten_replace_memory"]; -var _emscripten_GetProcAddress = Module["_emscripten_GetProcAddress"] = asm["_emscripten_GetProcAddress"]; -var _strcpy = Module["_strcpy"] = asm["_strcpy"]; -var _bitshift64Shl = Module["_bitshift64Shl"] = asm["_bitshift64Shl"]; var dynCall_viiiii = Module["dynCall_viiiii"] = asm["dynCall_viiiii"]; var dynCall_vd = Module["dynCall_vd"] = asm["dynCall_vd"]; var dynCall_vid = Module["dynCall_vid"] = asm["dynCall_vid"]; @@ -63498,7 +76318,6 @@ var dynCall_viiiiiii = Module["dynCall_viiiiiii"] = asm["dynCall_viiiiiii"]; var dynCall_viiiiiiiii = Module["dynCall_viiiiiiiii"] = asm["dynCall_viiiiiiiii"]; var dynCall_iii = Module["dynCall_iii"] = asm["dynCall_iii"]; var dynCall_i = Module["dynCall_i"] = asm["dynCall_i"]; -var dynCall_iiiiii = Module["dynCall_iiiiii"] = asm["dynCall_iiiiii"]; var dynCall_vdddddd = Module["dynCall_vdddddd"] = asm["dynCall_vdddddd"]; var dynCall_vdddd = Module["dynCall_vdddd"] = asm["dynCall_vdddd"]; var dynCall_vdd = Module["dynCall_vdd"] = asm["dynCall_vdd"]; @@ -63507,20 +76326,23 @@ var dynCall_viid = Module["dynCall_viid"] = asm["dynCall_viid"]; var dynCall_viiii = Module["dynCall_viiii"] = asm["dynCall_viiii"]; ; -Runtime.stackAlloc = asm['stackAlloc']; -Runtime.stackSave = asm['stackSave']; -Runtime.stackRestore = asm['stackRestore']; -Runtime.establishStackSpace = asm['establishStackSpace']; +Runtime.stackAlloc = Module['stackAlloc']; +Runtime.stackSave = Module['stackSave']; +Runtime.stackRestore = Module['stackRestore']; +Runtime.establishStackSpace = Module['establishStackSpace']; -Runtime.setTempRet0 = asm['setTempRet0']; -Runtime.getTempRet0 = asm['getTempRet0']; +Runtime.setTempRet0 = Module['setTempRet0']; +Runtime.getTempRet0 = Module['getTempRet0']; -// Warning: printing of i64 values may be slightly rounded! No deep i64 math used, so precise i64 code not included -var i64Math = null; // === Auto-generated postamble setup entry stuff === +Module['asm'] = asm; + + + + function ExitStatus(status) { this.name = "ExitStatus"; @@ -63563,7 +76385,6 @@ Module['callMain'] = Module.callMain = function callMain(args) { argv.push(0); argv = allocate(argv, 'i32', ALLOC_NORMAL); - initialStackTop = STACKTOP; try { @@ -63583,8 +76404,12 @@ Module['callMain'] = Module.callMain = function callMain(args) { Module['noExitRuntime'] = true; return; } else { - if (e && typeof e === 'object' && e.stack) Module.printErr('exception thrown: ' + [e, e.stack]); - throw e; + var toLog = e; + if (e && typeof e === 'object' && e.stack) { + toLog = [e, e.stack]; + } + Module.printErr('exception thrown: ' + toLog); + Module['quit'](1, e); } } finally { calledMain = true; @@ -63600,9 +76425,12 @@ function run(args) { if (preloadStartTime === null) preloadStartTime = Date.now(); if (runDependencies > 0) { + Module.printErr('run() called, but dependencies remain, so not running'); return; } + writeStackCookie(); + preRun(); if (runDependencies > 0) return; // a preRun added a dependency, run will be called later @@ -63612,7 +76440,7 @@ function run(args) { if (Module['calledRun']) return; // run may have just been called while the async setStatus time below was happening Module['calledRun'] = true; - if (ABORT) return; + if (ABORT) return; ensureInitRuntime(); @@ -63640,15 +76468,18 @@ function run(args) { } else { doRun(); } + checkStackCookie(); } Module['run'] = Module.run = run; function exit(status, implicit) { if (implicit && Module['noExitRuntime']) { + Module.printErr('exit(' + status + ') implicitly called by end of main(), but noExitRuntime, so not exiting the runtime (you can use emscripten_force_exit, if you want to force a true shutdown)'); return; } if (Module['noExitRuntime']) { + Module.printErr('exit(' + status + ') called, but noExitRuntime, so halting execution but not exiting the runtime or preventing further async execution (you can use emscripten_force_exit, if you want to force a true shutdown)'); } else { ABORT = true; @@ -63661,25 +76492,9 @@ function exit(status, implicit) { } if (ENVIRONMENT_IS_NODE) { - // Work around a node.js bug where stdout buffer is not flushed at process exit: - // Instead of process.exit() directly, wait for stdout flush event. - // See https://github.com/joyent/node/issues/1669 and https://github.com/kripken/emscripten/issues/2582 - // Workaround is based on https://github.com/RReverser/acorn/commit/50ab143cecc9ed71a2d66f78b4aec3bb2e9844f6 - process['stdout']['once']('drain', function () { - process['exit'](status); - }); - console.log(' '); // Make sure to print something to force the drain event to occur, in case the stdout buffer was empty. - // Work around another node bug where sometimes 'drain' is never fired - make another effort - // to emit the exit status, after a significant delay (if node hasn't fired drain by then, give up) - setTimeout(function() { - process['exit'](status); - }, 500); - } else - if (ENVIRONMENT_IS_SHELL && typeof quit === 'function') { - quit(status); + process['exit'](status); } - // if we reach here, we must throw an exception to halt the current execution - throw new ExitStatus(status); + Module['quit'](status, new ExitStatus(status)); } Module['exit'] = Module.exit = exit; @@ -63697,7 +76512,7 @@ function abort(what) { ABORT = true; EXITSTATUS = 1; - var extra = '\nIf this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.'; + var extra = ''; var output = 'abort(' + what + ') at ' + stackTrace() + extra; if (abortDecorators) { @@ -63733,7 +76548,6 @@ run(); - // {{MODULE_ADDITIONS}} diff --git a/docs/games/wave_collector.data b/docs/games/wave_collector.data new file mode 100644 index 000000000..661c824c9 --- /dev/null +++ b/docs/games/wave_collector.data @@ -0,0 +1,14030 @@ +info face=font size=57 bold=0 italic=0 charset= unicode= stretchH=100 smooth=1 aa=1 padding=2,2,2,2 spacing=0,0 outline=0 +common lineHeight=68 base=55 scaleW=512 scaleH=1024 pages=1 packed=0 +page id=0 file="font.png" +chars count=95 +char id=32 x=2 y=57 width=0 height=0 xoffset=0 yoffset=55 xadvance=29 page=0 chnl=15 +char id=33 x=4 y=5 width=16 height=61 xoffset=2 yoffset=4 xadvance=16 page=0 chnl=15 +char id=34 x=22 y=10 width=25 height=27 xoffset=0 yoffset=8 xadvance=23 page=0 chnl=15 +char id=35 x=49 y=26 width=41 height=27 xoffset=-3 yoffset=24 xadvance=34 page=0 chnl=15 +char id=36 x=92 y=26 width=41 height=27 xoffset=-3 yoffset=24 xadvance=34 page=0 chnl=15 +char id=37 x=135 y=13 width=34 height=49 xoffset=-1 yoffset=12 xadvance=30 page=0 chnl=15 +char id=38 x=171 y=16 width=51 height=46 xoffset=-1 yoffset=14 xadvance=47 page=0 chnl=15 +char id=39 x=224 y=10 width=16 height=27 xoffset=0 yoffset=9 xadvance=13 page=0 chnl=15 +char id=40 x=242 y=8 width=18 height=60 xoffset=0 yoffset=6 xadvance=16 page=0 chnl=15 +char id=41 x=262 y=8 width=18 height=60 xoffset=-1 yoffset=6 xadvance=15 page=0 chnl=15 +char id=42 x=282 y=11 width=29 height=32 xoffset=-1 yoffset=10 xadvance=25 page=0 chnl=15 +char id=43 x=313 y=25 width=29 height=29 xoffset=-2 yoffset=24 xadvance=24 page=0 chnl=15 +char id=44 x=344 y=45 width=16 height=29 xoffset=0 yoffset=44 xadvance=13 page=0 chnl=15 +char id=45 x=362 y=33 width=29 height=15 xoffset=1 yoffset=31 xadvance=28 page=0 chnl=15 +char id=46 x=393 y=45 width=16 height=17 xoffset=-1 yoffset=44 xadvance=13 page=0 chnl=15 +char id=47 x=411 y=6 width=37 height=61 xoffset=-3 yoffset=4 xadvance=30 page=0 chnl=15 +char id=48 x=450 y=14 width=43 height=49 xoffset=-1 yoffset=12 xadvance=39 page=0 chnl=15 +char id=49 x=2 y=91 width=22 height=49 xoffset=-1 yoffset=12 xadvance=19 page=0 chnl=15 +char id=50 x=26 y=91 width=42 height=49 xoffset=-1 yoffset=12 xadvance=39 page=0 chnl=15 +char id=51 x=70 y=91 width=41 height=48 xoffset=-2 yoffset=12 xadvance=35 page=0 chnl=15 +char id=52 x=113 y=91 width=40 height=48 xoffset=-2 yoffset=12 xadvance=35 page=0 chnl=15 +char id=53 x=155 y=91 width=35 height=49 xoffset=-1 yoffset=12 xadvance=31 page=0 chnl=15 +char id=54 x=192 y=91 width=48 height=48 xoffset=-2 yoffset=13 xadvance=43 page=0 chnl=15 +char id=55 x=242 y=91 width=38 height=49 xoffset=-2 yoffset=12 xadvance=33 page=0 chnl=15 +char id=56 x=282 y=91 width=49 height=49 xoffset=-2 yoffset=12 xadvance=43 page=0 chnl=15 +char id=57 x=333 y=91 width=46 height=49 xoffset=-2 yoffset=12 xadvance=41 page=0 chnl=15 +char id=58 x=381 y=102 width=16 height=37 xoffset=0 yoffset=24 xadvance=14 page=0 chnl=15 +char id=59 x=399 y=102 width=16 height=48 xoffset=0 yoffset=24 xadvance=15 page=0 chnl=15 +char id=60 x=417 y=98 width=41 height=42 xoffset=-2 yoffset=19 xadvance=37 page=0 chnl=15 +char id=61 x=460 y=104 width=29 height=30 xoffset=0 yoffset=25 xadvance=27 page=0 chnl=15 +char id=62 x=2 y=173 width=42 height=42 xoffset=-1 yoffset=19 xadvance=36 page=0 chnl=15 +char id=63 x=46 y=155 width=39 height=61 xoffset=0 yoffset=0 xadvance=35 page=0 chnl=15 +char id=64 x=87 y=167 width=58 height=53 xoffset=-1 yoffset=12 xadvance=54 page=0 chnl=15 +char id=65 x=147 y=169 width=47 height=47 xoffset=-2 yoffset=14 xadvance=41 page=0 chnl=15 +char id=66 x=196 y=169 width=47 height=46 xoffset=0 yoffset=14 xadvance=42 page=0 chnl=15 +char id=67 x=245 y=169 width=41 height=47 xoffset=-1 yoffset=14 xadvance=37 page=0 chnl=15 +char id=68 x=288 y=169 width=43 height=47 xoffset=0 yoffset=14 xadvance=39 page=0 chnl=15 +char id=69 x=333 y=169 width=43 height=46 xoffset=-2 yoffset=14 xadvance=39 page=0 chnl=15 +char id=70 x=378 y=169 width=40 height=46 xoffset=-2 yoffset=14 xadvance=35 page=0 chnl=15 +char id=71 x=420 y=169 width=41 height=46 xoffset=-2 yoffset=14 xadvance=37 page=0 chnl=15 +char id=72 x=463 y=167 width=43 height=48 xoffset=1 yoffset=12 xadvance=43 page=0 chnl=15 +char id=73 x=2 y=237 width=16 height=48 xoffset=1 yoffset=12 xadvance=15 page=0 chnl=15 +char id=74 x=20 y=239 width=25 height=46 xoffset=-2 yoffset=14 xadvance=21 page=0 chnl=15 +char id=75 x=47 y=238 width=45 height=49 xoffset=1 yoffset=14 xadvance=41 page=0 chnl=15 +char id=76 x=94 y=237 width=31 height=48 xoffset=1 yoffset=13 xadvance=28 page=0 chnl=15 +char id=77 x=127 y=239 width=51 height=46 xoffset=0 yoffset=14 xadvance=49 page=0 chnl=15 +char id=78 x=180 y=239 width=40 height=46 xoffset=0 yoffset=14 xadvance=39 page=0 chnl=15 +char id=79 x=222 y=239 width=51 height=46 xoffset=-2 yoffset=14 xadvance=45 page=0 chnl=15 +char id=80 x=275 y=239 width=44 height=46 xoffset=0 yoffset=14 xadvance=40 page=0 chnl=15 +char id=81 x=321 y=239 width=51 height=46 xoffset=-2 yoffset=14 xadvance=45 page=0 chnl=15 +char id=82 x=374 y=239 width=45 height=48 xoffset=0 yoffset=15 xadvance=41 page=0 chnl=15 +char id=83 x=421 y=238 width=34 height=48 xoffset=-2 yoffset=13 xadvance=28 page=0 chnl=15 +char id=84 x=457 y=239 width=41 height=47 xoffset=-2 yoffset=14 xadvance=36 page=0 chnl=15 +char id=85 x=2 y=306 width=46 height=46 xoffset=0 yoffset=15 xadvance=43 page=0 chnl=15 +char id=86 x=50 y=305 width=44 height=48 xoffset=-2 yoffset=13 xadvance=38 page=0 chnl=15 +char id=87 x=96 y=305 width=55 height=47 xoffset=-2 yoffset=13 xadvance=49 page=0 chnl=15 +char id=88 x=153 y=306 width=43 height=46 xoffset=-2 yoffset=14 xadvance=38 page=0 chnl=15 +char id=89 x=198 y=305 width=38 height=47 xoffset=-2 yoffset=13 xadvance=31 page=0 chnl=15 +char id=90 x=238 y=306 width=40 height=47 xoffset=-2 yoffset=14 xadvance=35 page=0 chnl=15 +char id=91 x=280 y=295 width=26 height=66 xoffset=1 yoffset=4 xadvance=24 page=0 chnl=15 +char id=92 x=308 y=293 width=37 height=61 xoffset=-4 yoffset=2 xadvance=29 page=0 chnl=15 +char id=93 x=347 y=295 width=26 height=66 xoffset=-2 yoffset=4 xadvance=22 page=0 chnl=15 +char id=94 x=375 y=294 width=28 height=17 xoffset=-1 yoffset=3 xadvance=24 page=0 chnl=15 +char id=95 x=405 y=346 width=49 height=15 xoffset=-1 yoffset=55 xadvance=45 page=0 chnl=15 +char id=96 x=456 y=295 width=20 height=17 xoffset=1 yoffset=3 xadvance=18 page=0 chnl=15 +char id=97 x=2 y=387 width=38 height=39 xoffset=-2 yoffset=22 xadvance=35 page=0 chnl=15 +char id=98 x=42 y=375 width=41 height=52 xoffset=1 yoffset=9 xadvance=38 page=0 chnl=15 +char id=99 x=85 y=387 width=38 height=39 xoffset=-2 yoffset=22 xadvance=34 page=0 chnl=15 +char id=100 x=125 y=375 width=41 height=52 xoffset=-2 yoffset=9 xadvance=38 page=0 chnl=15 +char id=101 x=168 y=387 width=38 height=39 xoffset=1 yoffset=22 xadvance=34 page=0 chnl=15 +char id=102 x=208 y=375 width=27 height=52 xoffset=1 yoffset=9 xadvance=23 page=0 chnl=15 +char id=103 x=237 y=387 width=41 height=52 xoffset=-2 yoffset=21 xadvance=38 page=0 chnl=15 +char id=104 x=280 y=375 width=37 height=51 xoffset=1 yoffset=9 xadvance=34 page=0 chnl=15 +char id=105 x=319 y=380 width=15 height=47 xoffset=2 yoffset=14 xadvance=16 page=0 chnl=15 +char id=106 x=336 y=378 width=25 height=60 xoffset=-6 yoffset=12 xadvance=18 page=0 chnl=15 +char id=107 x=363 y=375 width=40 height=51 xoffset=2 yoffset=9 xadvance=38 page=0 chnl=15 +char id=108 x=405 y=379 width=15 height=48 xoffset=1 yoffset=13 xadvance=16 page=0 chnl=15 +char id=109 x=422 y=387 width=47 height=39 xoffset=0 yoffset=22 xadvance=46 page=0 chnl=15 +char id=110 x=2 y=465 width=37 height=39 xoffset=0 yoffset=22 xadvance=34 page=0 chnl=15 +char id=111 x=41 y=465 width=41 height=40 xoffset=-1 yoffset=21 xadvance=37 page=0 chnl=15 +char id=112 x=84 y=465 width=41 height=52 xoffset=1 yoffset=22 xadvance=37 page=0 chnl=15 +char id=113 x=127 y=465 width=41 height=51 xoffset=-2 yoffset=22 xadvance=38 page=0 chnl=15 +char id=114 x=170 y=465 width=34 height=39 xoffset=1 yoffset=22 xadvance=30 page=0 chnl=15 +char id=115 x=206 y=462 width=37 height=42 xoffset=-2 yoffset=19 xadvance=31 page=0 chnl=15 +char id=116 x=245 y=453 width=36 height=52 xoffset=0 yoffset=9 xadvance=31 page=0 chnl=15 +char id=117 x=283 y=465 width=37 height=39 xoffset=0 yoffset=22 xadvance=35 page=0 chnl=15 +char id=118 x=322 y=463 width=35 height=41 xoffset=-2 yoffset=19 xadvance=28 page=0 chnl=15 +char id=119 x=359 y=463 width=51 height=41 xoffset=-2 yoffset=19 xadvance=44 page=0 chnl=15 +char id=120 x=412 y=465 width=35 height=40 xoffset=-2 yoffset=21 xadvance=29 page=0 chnl=15 +char id=121 x=449 y=465 width=37 height=52 xoffset=0 yoffset=22 xadvance=35 page=0 chnl=15 +char id=122 x=2 y=543 width=38 height=40 xoffset=-3 yoffset=21 xadvance=31 page=0 chnl=15 +char id=123 x=42 y=527 width=24 height=61 xoffset=-3 yoffset=5 xadvance=18 page=0 chnl=15 +char id=124 x=68 y=522 width=16 height=66 xoffset=1 yoffset=1 xadvance=15 page=0 chnl=15 +char id=125 x=86 y=527 width=24 height=61 xoffset=-1 yoffset=5 xadvance=18 page=0 chnl=15 +char id=126 x=112 y=526 width=32 height=16 xoffset=0 yoffset=4 xadvance=29 page=0 chnl=15 +char id=32 x=0 y=0 width=0 height=0 xoffset=0 yoffset=4 xadvance=29 page=0 chnl=15PNG + + IHDR&TIDATxxTC.x,@P(TDDTD@:ґzf!& R!tԋf3f,s$I3>=mΜu/lf3f6lf3f6lf3f6lf3f6lf3l%)O$qg.IWclf3w$Qk((崨$btWD~9Zf3fɮ[J+J)|Dx)QC|j6',߷>a 4 KNDY9f3fl[i$Qekxy k)Z'EÏc-ʄD&PBk'S2XQ3r8s̠Vdwjߺdf9iQy\W((YOmIQd\spK9^Ԗ7HU7K}H|옝j,UgԖR[HPԴl9t=\y0D.'EUZkm<t]<o։A/_}ؼ ;/|_ x wA@`~9Ipcpr6wES 0$2WFH{LJ1e`6-[60X=~L1$sPL(`o ZC1.R(2X"=B(lb|AYs gpL^4t.ʴ`@/넠[@7AhX>L\Qc&ՒT'+@O*m(kWVLd)xN<)A<䠡/8qO}G1Gfsw4._tPa$Xn y\_zLR;)-dǂcѐڥQEZ_Zr5ae,GxӯYr,0X';C_/NB`vgSc-)yy$m8Ltq垬[S9) iЈmiV6$)%^hLX>0vi7hké()ǧ5D\Z}LenyLQw +k?J09G`Ղ_eĒl)95pWbvpa3gXPXoM3U@NXfı:IRA]|+4A?NVY}s`&Jo:gxV_2k܌WFEX]V"ܑv.|KMR6EL7 d0ο_nO6"Nqdu`I%A'x27W|&^|䨢*֪'0wBC M0WR9_TJ:~%nHV-LI嶇 T`zݙ8yZS߷Y|.:26V۝4tBV~/ޭnĥCi8TW +4_XS]+J ]zD{WO67@.# ɷ0eFm;Uu)/z6x;م Zy7=ңXlōL?@Gh}cUVM[ {6qQa5R|Ǯ+bnI;x7h(>`ß _\KsD!6^_~uC*4/?\5y:x2XTLoƾ7v6Kze(%4 Ѷ[w~<R/9R I0_'YhTAvhQzҏRoW)qAGML%B""Z'sZwJYg.{;?BXr[ +Z`9\P˂{zwcҲ~l>;v$G ,$)L?$nK 9\} +d&$"0/?~@p۴PG]Lj7v\$ Y 12 t(Cp4fG\ܦLoNImyYݑ@ZN|Gd,:/q.+!0[hC,?`0q :ߏgo=]mN 0I$vX5ױf8Z7څ_Ov'h*hٌc$$ʶ3dEFnWYd ڠ" юs.A7MYO伢ΰw^J_R3%Ep^#v[1NN-{rm-=cdyk9QͰTt糷\86{O4J ]w@oL\6];q_ L1cb=v[%Ym*pE**/UeiMO*#`A}!q8 :LN8(^ե{w? d,3B!_r\}7sHtY\m,MxV}YTF/+0 C):?^Wuu6"BEhD:hDzֈ':>0wĹD֢B:ql9J4+ڄ_q? rJܔFUP::*s8c a"9oáJ J 4\pDEw:onH^:OTO 5*(8M{P<>Z?v l혻@壛⋏3c.tPyjm ֲm`j|2Qip7*d ?K=z:=f(e\Y{8ߗgL:-PbX,J0twB܇v?@W+d[譩 0׵'byDeqn Md/qG-7ngDR ~ɐ͢wk[uB~ LU܇y54⽥qvo.KU ½p%ߙ{~sY9R[.ڗ]fN%~z(,3=A:E>/.ݛuBQ m풢^?Ԅ|U)nKuGb𻖞O|_ ^"6O^\O}牸q>1h_#R51-0nӆ38XP$HzQR xY^+sV.Ј8yGDiUOuPsGk@." d&Kk ~uFئy\_r[&ƌ]qkݱhtɂIsB_5 Tq5oW_#fhsķ#Y;[oҠ~G>J |Jup$D5_]H:14$(͛`Tª'iF0jg޽y&6J-TU,^uUm4@N4]rN\u#qshv jRʞJKķ~y.sL/SG vĤ~q>;wXT Q Q'S 佺%D>c-d!g/5Hmqz+pU59{rxSKhg.wbYldxg T #kI +_C'fR#^/$9eG'emJ>6v^K2I#mTۉ]Rąrmg&_qx鮣R ꛏfۥ @ +^m,G!,N + Ӭ>~m~_*(k,7ĢW*.M掋;TY)@E4//?|fųrޗb=<;aXp^v\*h!+rVT, 9gCm!x+Ta~|.%TQʙRFEY(C%KikO~s6o +iӅ J&Սxd4y +~OݾnA5]籪e6 GU&slaQ۩7o=I< +Y93o偶3y[e'nv#MIDHޢ<T#mo=Z'[/Ǜr伏%pޣ2 QS_ Q~X+-*ؐ E9rR7L'S B`@osMȾWgr~c< aӥ^O_}{>-PDZ$+Sv侹p Ĩ-q/׳F[sv18Y=3q[JDWQwGw9;9X~}mBin*2eAl%͐l VbV`cPe^ޭBWV@/1.No-gRrĤmS˼(guޔ +se+xwUC욣\,PG_ );f}L/Z#IiR _HpedžŖaUR?)*ӵmyC3X,jƝEH Lڮ=#T0M;=VX*-h{sdU@ih܃ C<|9F|>vxYj+Qo"kSv7/:q LV`mWoDIᐜ?Cn Ae> sPKt端/C Ej+se+}]]܆V2Y~X҇LG7 + 1u +X:i`o#ˊSYo)}(5fooBu1wRr,_MGm|qg8r|lVA(4Cu]G i7yXPQeewsu\ÿB.17(.Y(}V\M N`DxKGQ>:E~XKOޣ;> +Ԩ\楉>Z}oM睰]u6u4-J0UsEkbD 1Up{,3+oy@b<.p❟/-9o\^gj810",3 +{p/gxG^1h&=uWpQq%z,Qv–0 Ե^02KIVu[XžR[,= 8dZgoT> Ȉ !{`(?e_">ZʯuJH-@h?ME!jn~=DW ٖFŢp,^]4tGڽNVq ܠ rL͉U0hpj +S7oE'8ԹSZ-΅S_}7/VvD);;gVhۅ 0S~+)w#_j&SDx˄SwGB' p/=p ڃA?HV[DqTr!I`GUG mO+2We"_; :Z*XE'42ꍉ_oNGL\ңԗ UQ +q7 i̱jbkh1\,dj|X3(NX&zz8'#/ɲo=$V{>5!4לշS7Ua9'u-Cnwlٯowù\@jMp]ꋩN[ |G.Lglkɐ- +z[+ڃSfE>=>BoC/T0Ԙb O| +#`y `U; ',KZ?y/C<~x5+NvDԞ~gh!#zECK *ײ0[ \r u/JqQ lM9C)ߊa\V 8础dJ,?Mو2nexz8^"S_ )mKU9a߬NcpxM+msGs\=+,:ޓo6\ԛ~\F%hz~۩hjXk-s^hKw̬@P3UCcb24b֨sxjhfsܠJ%EQ;S "ӂ jR+#3 {=gxOiڬ6;Ur q0VkPsvwR͡WJo/>,b_趂ֺ"Qٶ:VMG 3T@9qQ}Uh^zFڷjbCƹrI9~;ퟅXY]HvWչ`hi_|M3"jO9+Ycx<5|osd~* +@@Sj=p.SAR8s dx I飯 +7{qԷfNxKk"_X Z,p*MT- /=lڿ8ct<撲nPqQsˇʆ~ jH9"AI8Q$zo{Q}vACV!< z\߅p@\Cūt;@5_]jԉK.=@"ݭ_Dl2nGzq>qwaҒ߅\7{,ւw01W^Z{9CK6U8T2YXQ:I1dT3rOXy͓`񕂺,tT-&y(3e6tq{=oaXzoxFQgYQ?׾8gqo1|<Tmv@3< U uAPX-y&ҡjn<ǮpOV4ZWĹ\C̟0~>(ޜw֫{Ṳȿ`+ 8F13^tbH+9zT[j;V +9ݟgcYfC.6}P̀(TU(}t\[S뒵X;,n* V-{Gushβhs=_ +8T wg;ϣSK!?|*3oz9\KFϡ'/5(8!QkLMrIc/MW/~-BNSB:;}]ϳ2/w۩U2R^S' f՝.Ut= Ü9aW9J ZPK>+͟Ehx;*90}Y] Lեvd LqSiTr@؊ b,KWzuAWoGتL*Z$F FĐ.U&#feKYVJ`'\1$s>OAT;,6@V3E|'l:oa{%E+XͲ4@G~rv(RBIWz0E0)XX-5`A.С[$жcͻVq8ˊ(*̍R OڏA[*̀GSuq{?pUՎs-0ǽ j# uً|1WפX}Rhy"߮~w>҈⁏ƣM@:vmAitu^* <"^٘pgp;`jn:}˳8Ro 5+G -#3HJ3b02ڐ'nk/K.5i) Bj̼bH,p>V+Ujx,x3p[ʂzmSéG9ǿ /N҄3"_^ɡ]߸8NpDu],GFta۩6&jKtBծkO}pF [NV\4Nٍj[KNߩS;VM9n;-?yri%d! ٔZQO2KG2 +jfb ǁ,s?,9jM,l&:R YGz{hq}7@D^o{s[)I*y#`- Z" UBY|γ6'>yX|}a( V#PtV-e`Wi`x^*%rbDJOH-˜ϡ'3M{S~>[wk fV]ߋSwe/5)J-*M,H<9l( +-lUpsFxw(5:wFչ{pNbRd^nӕnꖈWg]q$UiWvx9QW8䢷~9x) XR}omP0>MP +q*U+Ac̔H@ ^G?/ԖQ_I(Hc SK9UGw>/*/2͆g8(*P +٬Oc #ߡ2c_.Iw-_I(p* &G%zW"qGݻ[R1'ҟ4'OZC~ZsyTtU%i +Fٚj4NG%$*x2c^2dUr' (*+g  FM)QE|WO 8Uƫq @ -Ѭ4=īrA,^ QGCid$x/M7 汴4}qy[i2o EqT^|/[;Ĭ`]H1bJ+IۦL/ N8N"߬e^RTB[OR_9OۈH3G=cE1eYmS{)`ɌWzG@6w;hdb$t%GoKU-sc}~xREW hrQe8y;^5'RJ$AG>I[SY"gm;UqMSW]sw7I^h'MG`-Eah*0BE#F@*/+iڷy2LNk@ >?&pvwp4-8qc]Z]ygXeU ?te9 P8M$Σ*^&@Eo]e]8Yv(9fS m'Vp/RYbP +9(gGRxc#p@Zކ$/"2P}fYR +>?PKRn90]s5|}w ]"AZaNI`AW Yz Zv&Onsfm?[r{lSZSJjѦ ">: G- +SjNghR!@]iA=As;5}bp)]xkb5ʦӗCp< +sR @c~ǟ-Ȣ||XZ9TFW GK w-݅>;p"/}َ;q-XAsLmwhl +̦i>,I1ŅFEӨ*:iw4"> +M]w!~縧wpGD юN@(j+q:O M+lU&Qގ2d$ >^jt0jtgޢuכG] ny Fz?R'Y/|S \8^0k^FNEqChkԒZ ֪Y?,Dm piX $g"Ʋl8UmqL_VjwO3웢%GP.DW ćn%-m zYK9 +~2I#c0rfXk;ZC/|? +L,[J5|tgQ剢T xy@sYFyqQMT͋kizFZ6|(|S05xErph4Y/.)DщY'x*Ƨtpw[QhԀ(CBQGc0+NqfD4)/W(!G(Bj=bMjqvcn3H|eo"W7 @Ѻpo$IT苅=%je]ƚqOAF +02׬EknL85zR.@>n3OPb+LQ!f5]¿NJAV?*ؙpզ]v')KPkTԔ Af%HQq?ou"TJfQ0JA`<#@]z¬)mY> Sjb0l1 + SDˁ?͖şK- +HG)ԛ|0Z<7JCi6'A(`D, ⵰O\{7ʎۘDԞ,rҼΦ: &AdOZZMl*Y54e70DX+N U̫kI@w[sxveTYϲ T).3Qh:/6Mb]G(^_ɡ+,#ķWtNMEHl;. +渿LZVUrB_MENuhZ0AZ)& 9*IሉYzY ԝ&)[9>i9A0ƪ6d5׬x|+%;,ta0_'v-Kx#|'ˎ8c\(hU4`U\ytQ{/5t@@ˍOxTϼy[zmj,cB g\ca-2;j+ıc"'3=VgH*E~Oc-M~gif>dR0Ӗ{Ik.a]j-ZZRsdzS<]ZNR~,m`%4R/2J910vФ8c-5Ժ <+W"wzaai43=&{WpQeKdx8R +(5:&=jm8}nw?axuA<.=U eN]p9|om/&V`d#@)wUڿѻ`kWBSُ*)˫W_u4QQ葸'S؁wff<@hj5Z3S!ۓ~l T!)H+Zkh;3F0hTd^'Bk%ace~/vMcM_/x +(rlG^+xѻ)=mT/+-;N5o/KD#TMNn1+PhOU,K:L,qc8X?T"DP;*]w2` · +@-¿KM*b8#2*އ;PTL% +(wU2[&~ȑ{,(/x|ٽ eɋOm_=X|Cnj:އ*6`w`9΁ˡG!eymʘKlOF4\ UVS)׭h<@+[pL1/;nC"sjgl.6iF;m?qj̓#f[5BLD>B?,=j͕Cx:de'l|jk%>7^dN* d q7ۗks-1(-'y[&Z}q& `ȉ.5dEj$VJe&0)NvAV]qJ#ZT`B /\Jesq' bΫ@lU%'}LV3l9u ).~IҌ^Xc5Vp[B\ˆ #,~I+T&~Y4PUJW;)ξB ߯abJv5x\2>*oΫcpd&i3nV +j+AJ"h*xjϣ5:9mĆմNo;~eGm%%5D8slf3@|@&K%^3hkaũ]gg&nN\?b f6ln._2znƿOJ&8VS|nu'M޴lf3vR2R;>s3"ػB+xDkћ>oݭf6lfj%ZT+z3:u,zhlf3̖V&M*;f}LWTŔ̽f6lfY xSr{Flf3fO{=#f6lf3[V[aʹ7lf3f6lf3f6lf3f6lf3f6lf3f6lf3f6lf3f6lf3f6lf3f6lf3f6lf3f6lf3f6lf3f6lf3f6lf3f6lf3f6lf3fz KRIWDW=ߠ'E^ynn$\ȱo}/ wu>њ!-sTqbL6l}fb&e_kY+5{g=./=SI,3wY|k~e156Z)^OXB>ښ-A&U +/\#ⷣol*?=RA~sSOgaY}s90Qt)/c1}1FI҂%G6:U`UV?qށWdtw@UsOO\kZ-jn ZMV0xլUNo纒_.O}Py+ ʔ۔pf8@}~JN+Q"x 4G@#~A_鏧4P 0ЉaevVtqYٗyE[CR(~ n6$\/R4%Ou1tGuF[(@w2|gv: +.7 @ \9Jߵ9JKCže1NUg7gOaJP_)H2 H2wTrQ~ھ h"zX X @wJa&xLfyN qw4}0E+Hω3}Q߯q.b 2;/=0$8Tz53 8oC)N [_A71CZine%V%Y3Z9# +׍t!STro3L`D#g?}X @2ά|/ze@/_'~YWcx^?t:zp/4jgVD_7pa$0cmg`PKtX%a9YTPrV\Sy#^`J@?s⻰sYdrGABKѴtP{xSA1:ߋ}j6~f2S>x)2Oq2L*ΡY|_&+OĢu؂{rSxEJTKh4L9aWj%5?}OSyܶ:PKyn՗?,S~`0D?,'wq-Que +3`cMw>ٮD-p8 *p޽ɌپQfE( Rp&ȩRkvQתHkL!|?oG13X +D]=XaamמL^X3E$hpIOu2@/u +mM;LE$y(AC7^|kk,-.*mpQnFT +WQsK;~aqJpbߵa6'Wuߙn( ' lnTS6!cmKpj{]A2v3ދWw] QhZjciL%;ŋJ[E69f97׷8~ +ҀDUH|>'Ӧ~';bqȼ!E]e){)2^wj'#ʏɈEaDo|rf€p1G- (#,m~jTc6QJC dü`ؘh- 1 ].I^ȧDyO;ʰ"+Il"eJwYPKH4NQS1='W&j>J|*s0WG4:f9 㴗HufRǜ@K*[b݈KxƛX|`_]eE}!(&Ƽͥ֍\nI+2B5uYݾW9\V 8΁sOk"_'<s{:?YCwcc,;9nnxrY]+p){lx1R5k$Ɖu`Jy|cCZS09ρI>| +W xgn?\3Uq6T@7나Uv[~ +FfwS"lw2!'ӂf%R&I?RGO@bܥQm2 +б30I&:`}.q̟.0  2$ >& HLMRY NA.1U^G'7 xAWFY=ȳckUVN煖8x3^1r f5/&Q|Ҩm +p C`)h!4.h 1dsd_ʹQfȬUIH$;Ѐe?}P)sBS>RlPX7]z<ȼL +N>8L)e-yz+3Q,t3$O@3oT)ok5_v΁44s᬴LRmS,ލwMxA'<['Zxn<ۅ^b/]8F` +7ZA$@ +LHd"L}Of}Uxɚ%I/svh\#Myud}kNrW%4rr]8V"d_Kt'ъl>|v?eh èH.;[b@:}-QU2z+j+Ea ~W}e\Zơiz4Lћ~p20/O .S2j+p?O{bۙ$Pfbg`U|p5QI"O⭨ߢ)eӯOxI #cW]w՛QM +_X T Zs.ʼ"0kZehEMo؎5,ך 0_y%'E) byD7y( h;כ{kj)_3G+/$`T\Z!>s  +4s7v?:;/0e1+NUOXO{ݱL7ɐ*,WZxHdoxD*J}'~P5M˰bbxvڋ"crPGW.mK pqSCx51&{/抏\4#3 UDŽLLL0ZU^S+2Gfpq #f8s 0`%). ws56Mv ˮa/e+x~|C˛~Xt`h G7V+asW\UϓŮHRx[BI{,0LO + zZY +ym3ri9ҫ󝨔*oK˵3D݉^?wg ڢm?y$} Ocpa2zЄ;m<t_RӨC_/!Kjx#]{5Ɉ3VSK#}D6SކCUd1G䛥T]#Lm: ~aı@F*߅əޞ+ !'U>33k(_.(_羖HW- lKcQ &g*xJ2: r.KV';vB+Y c^߳ǐC +a>h1OsUGXR7QD%;/z=b_̱ +Ψ[)K-@t_fT渧9H/hʽe0ߜh5{yCz< +Y3,][L'vf9x̆3(qR,cx7Ņ`썠 +ROX&R2$qxteGk.7s  3n34NTh?ZY yuSA+T4Nii$>ia= PNȒb0&.q,`.6\p=>ʰ?Tc.@Mw{(ӿ˴X.\dFh+0KNOd?!ދJY%nHd3cύ؇W][ TfTk C˟xzg׋^ls%el^0 =țo`+' -g:5a#%IF6ޮc O%ywA8=9y_Y ngXD @:,O{zl:5ƞPS5@_j'dzzƱ]7Y+6VP7Vy nO! ^MtHOepNg/oB)'#ڑ3$NedŻk׋D/f`R?}ղ(lv%hڗ@pN>߂x_c$8y jLn> S!'-)W H{cL^O?'ώ_ ;u#|wo67T@#ċi/>%f|bQ͊ɼ5'ǓsUWǥ4Iۆ_ċq֏ygq'M'ú4}<9)P|zjWbRg!GD0q<|&T n9ɖQ]ɆT Qmx +@]P_Zܘn*-n +,F]>H# %ZBp_;`w| PPx>Ň ,L'Y1p+΋G>"vho ɟӧnUE/WPA@(DDA0sB%sfCA!0 0f@Qg?}ϹnfwyQЧ[UD.+j2E +ץ XʭT6h3N埆{*=;~e1[P,Xntc [Xg'sחb)tj{, 3wJ$-_P0^JsK]Sepߕ쌽"޲Sv^Zgx\xm6[g2FVҗ.|2FʉSJ ӱ*&艳KdDʳZ>Ct'xN)?ju8ՆGc7: 5]xxJAGy?#6vxvUm I8+x.[JK~}%T:@I _o&|/:e#Փ ,@_޹Ga㲖F1RI:H\r8NUntj~>Ⱦdz.]ǃ,=<\kԴwYN[(^ u߃N4IZ9Y5Kۢ8(=~|m]ҬPW; 0wpZ*w7X֏( T.>xUw A{+?$*L% '|lPfex=2$(nxuEocb %A`(i}RuJPXv}W}T)Q@#R 5qq_};[W{;;󠺋U3Q]?|:Biײu9+|2J! $~8"*=3trSw_nӀ`PmNx/=+lN3dĽUL^-A 9^C '%:Enkɖ\?l 0^ +8:nm ; j[8f_C*ZeFz?tɝz*„m )IN۷j?WEr1f*bޒˎ 9McDH娄32o6y#U/&Y*zQNj›6m&7}E@Ta +Z-׽5<~xAU ~[+`#8<)Ӿ93dfYO?a y@WKBm\fɝ ko,c%IQtEul@0.v&-yvgbxg%l=(~ /9zo,9V RU'N]`ٖ +VcΌv.w(B|Eo +Fc@ zMiFSO땛8>uWxPqXROKQNdmQQ?*}ȅûh T({(';>V +8䕺vWf$L#Xs4EU'2(]k"w(^ILF2!7"!lȷ&Vca9 &{<(UW%oPXVB'7jnGQFJcu2_@G%uAIͪĤX=Gy59=`=1[?錓3 &%,TJHk 0U?OsJM>c'uxCQʳv߬lOF3.~?痟ʿ8w}R8Aaa>r`6,/&'S`tuF,!2NE t&mǐ>o=Ig#y8rT* ]oOJ`$b B@ +7\'sW4~V#^A(qxa @\({~환pŰ^Ƶ3` >\(%r֌<= ϸU&QVg!G߄e,^IZ9^юIU#)1&(Z̽藈{>U씔*H5A2il5 + Uǁm~OG]KE/r[`t:_|xf!븾He)aRc"' j}-WewQid B:b'#? +bW[J.XBY +!V2qj_8xеd;2RX/qWQϴ{g&?rU |ݟ:rWu6zq;#c +5ˎQ[X܊c-,dq\j|{Dֆ?ʾN(Ў`yHF M \{LFq1A}~g, ;FKҍw7_*=0QJ|L2}/#DşE=bgޔ ao:p 4،UES3].jXŧkGن#{$x-qq'l:Ҕ,oJ^ TvZu95WF̎|9w@ʼnͻGK`ƞzyg7f;ODԭSCii 368NleU[䖲;59h wnD V!*<Q0E;Q`_oI`׍[pT0fUCqZrxgDNkL֒4otӷ&-֨>?a$ {!#?}o۟*R(%$(kE^ї^<0Zېj{k(m}kܴsG)rx7mkb(xi>%*5dqnn.[xZ +v=:73ᝤ'x%{Yo5}/,=fsR6ĩDXxz&(=K7;s'c"_*A^D;2tN;}*~Ƴ^[1@'$I[0ȶBdPq~u(.)ڰ|6Y—, C%v[o[#l*cM~1mn`>vS'yנ *Cn?vڵ&1I3VfLe00LM<;_*-`_'P~LM2Rr4"J ]}{ُL~b\xek^T*?LՌ:.*/;ޟٙ`^d'[]V} 7Y*ï])k'cXH.a)*4'8ۣ'uJqz$E\b̧$?2w!M|׺r 8 >{~z>u+=-Ve,÷ѯH7XOxjEzߩ5o'jH>%%S1ɋN^PE_>6MYۮ5 rp)s׃|濬5ZD}9,jQ`s@?[:6w~1j\o 2}JZ jˎ^VT%VĊ$BGNp7jS*%ʸLJ/ر襐 *yԋ0M '.P˹倢-Y9(X +.B\f{n}Cq*Gqf[UyQa,\W[~g ~Fȡq{eϧ;+5O\ZeVx S!Hm(щ *?k8= +.iƞD6K`^zxm^MBV8?T֞Z繏199_3[4l)-˶ ,kg[yOU3yp:u{!*i^[Qyqa + +1}ҿlO9E-P#{j7}TH +UQPIl:|"Ln*.eZ ?7/nz;7ƥfVP_Gb}ByzNn"iQ#iGoD!QD}cy0OhT, ǥ&<޼E/뛱V^^[McF(I~ +!xS;3NN, q +A0%L9^"k;F~yAfϞ4ʌx[k4ݗ[m q[)),HU'=.od)W ƒ-mZi;;XC;@F%ÜJq);rӶ]:5[X%b}_e:1awm>WD1( 1 Hv^/{ +QRWߤ gr,q_$^zM!yHJPNޓ)e8o/ E`v\x؈HXįSnEެԖpp3yjsX UNx3KFl؎o2w~ua g~˳DWa$ekUF7ek(bl ''FP29Ji䇾G_P7;Gŵ>tO?nuK5&TQJQvY9h?ph:q+`I[dk("Izљ22^JK"h<o|Tjna{\<0kx ^ቤN˗R!=*+D~G Kзj3wzu NJxs6[ G"w~^fK;,2XGFPbE8n57G~RJ.1Y@6W@Sk?׽1 `Z~ld@#RVj0uYx@ǂڏR=Ŗ [Gb Yx3 F Pv%R/w|2Etޔ~[O#'B JL/҂{TK"M' UvYLxy"o2FeCI6I 8.fE1 ;/=uE^ 7w[(oYuln=7R'D5- ,V 6yy)C%^ 0mi\@}A{̼0:s{ZRr4{X|iM1tϸO>+brKgiQkZ}zYC%Dr=not<$ x?!?M/9F՚ cG ,ڿ +1~(9UoF\{9(+ƉbA לZW__a慹Pn#z m#V$ =@\m;27.+J7Vrl +U`¾SjG_L*`|ccsZTQ{*@ <ަG|)^^7PU|- )1/;<}`C{vfXF+̀'=6kN̒;d2!ׇnZMX迥BR-joK[S`ʳӷ hՑ{=\׼3F Sk#[X zDiGfMI?!٥goe,9騽E퉯 P:%2>|AiP( s+?6EY>$)tI +`qIEYƧXk5%Y}7h4%V]dT7Ѕ_ +A3y%Շ d7|u +*1RhzU k- `aE2+9L,rGYJJNs hbg9Xe]B*-:#4=kn 5˗zP|0ybmzn1:tސaQL L\'hj7~("*?A^xfmlt=i +! Yp Uޗ[p=c `F-z'ʪ&̨|Jm~yDA2j9V'.H•ns6Rߒ҅&L}Nmns涌 T8,`ޝ426mn  ˪s_ㇿ]$iJO mns< }MĘ95U7t׹mns_ I|?ZM=MrIQͨ6mns[`^$]ɪ%JIk9UO 56mns[z"}d,;r_nX׼Ӫ=)]6m3^S^>`;lhu3jimnsP)֨4U*nO=6mnsBSgRZ6mns6mns6mns6mns6mns6歹mV?iJz]qn/gq6-)JYHQI)T}(*r6DQ˃WDE]_$x9,*sg,ιV mnsܖ?9Qdz@j۷ykNx5>u+[Ƨ.n/uI}tRO](Z|7Rǽ?u CxRx0ևKsns6T(FiRۼ?uZ9  tZM:ek1HN[2ޣS>kRMs5gֽĔ5['mnstVE.\JyIL=W]A`r8/}-ѩ- ŝ( $6y'SZ*WO 6mnK DL֢#x{(,QῊ? ^I^PRns6C)k/L\@oB$pPBUmnsa -Evi)oL+oINWz1Ps sUJ,̸mnsIpT&j?cE_ӝ, }MLwmnsH*QG=gh99U?t$oGq6-R<8n NGmnsܖ.ุd<$p݆$֬"E\ǀ7o2}6c"[SɁ-mns"M^Y_pL)zqBߛt_jWBɾ{Xf鳡]" LD{ u 3kxRgvO*mns[etf%c3Pܤ|d (*V󏉯%*.?%^ݟE>|??,^8(ٯԟ[q}Κ>߲6&9ĔWHCN0JaQ@mPN58,jiVˀ\ qWIaZns2FR+ihHeEzf ( %{U>jxlW1[%v4Qg&$Sj:a֢{>;TAb-c"ʒ4~P=VϬyx\^&%l_kҦ_E|ᝄ~)[]`i[πoOԮ&~M"@ ƀfɜ/ v;7&mU Z񷪤 $SXրo%O} 3ų0!UN t G,׫-vb(^ /j k9F5ơF1oM[ Vx~i\z7J|&ɒd(3|s֥Gty +P,(;ij6Y>=RՕLBy!*Q}cJS~Sz;W3Tm@h՚4YJ ;:>$JW!1E u_~(wb_UgVAdq~ PoU93!Mݗ}96i,:N +pb"_OE_ݢ˦TS(cyj(&X 0M?`ψ{rw~`(P.$*BfC{eYP(tA Um@pu r9\a/3M}o@)a.H(B C|ExllC'@}xYWIzcHF`(|َɔB5!w3|o%M7bq+egh95~Ky4~Zi"ٕeB)2FϞUR_J3S^S +ֳ3;7Rv֨i27F'p駣q\S*2tPޝ5?*sihҴ5!ڌXzq2+d7McO}DƜӑXF r^wݙTlr9i'ϧUE} ~1|??+[wN$e>P*! ؔ[o( ^ PV0uaA"u/ aPkJjiemU_{zg!p;;{ޢ5RR;xؗ\YA2RB! OKGAqD7O5]鹇XcI{(A h_DZv"k2 (T,6iDAus\I'/6IIP)@kF݋glfi7E֞w`@v D:b]46s`|J?~G__Xsf ܢtw|9/Å+ZT6+ sVufR"oa,}`\u"sP`R1)5*F,x3Cqf;n/e?BƖ@E^3I-u1ٻ@W@Id?mAݲ 2]xL\Ê;4VgeE&'VKT^_@|^YǻCp +Oqչ.{cx}^tgj9:OSJj$lqcX@ЭNoN+@Q~c + 2'>T~Z%t tbj'.sn%I>[vXvٔ^yT!xn]w}dԭbd?VlC<[ؘrG㕻JY݃߮9S%=rʜvv;"YLB"T 'B',}Wk(@q:űH8󍁶6@8/K H?ޏ:(<@4_50H^G| 52W_ޏoI#P\Ӝ` JIp#b!k%[v]2k.،XyV]8?K!?~ݸ>R&XGqiʉåBo 8{( +#XpxxeSzsiqE);\*K#sP}AQl?lJvDL٫1DK-I9= v H#EKy?scj5*D_b.@P}ϋSx>(| x̭Upgc8+FFR,\|  +jt.<$pcWTd2 Uv͂Zii0Iv-`*~A#dsmL2%d1 Ɯ*eMYwLD fOyo97!RAKM~ Η+wmےoY'pߕ)^(^:-ZE_2RF_c#R@'tU,UX2PE_:cq.zhc|YݖdG͚s}[ Pnʮs̷`yj,=r [;ۋ.Rq߯cWx]AZ RIeQ*ɋ\ت c?A7XpLFea\=HT8(j5:F[(UuڞUxx\odxPNJv\kےlyNCi `ONC8! +bp'5ITSxϳz_X AZuN99 }x\IXI]7On5y=JJͅLɔ"{^(P+4gQ;yſ >EMI.êB K" }L6 />tޢh:~O_p}y'߾(x{e:[|ƿ}c%w=FWֆ]f < g ~GTtpzwkѿ]`?ZzֲO: h;- cbE9[E?,axJK%"wT?2o \Cvmǿل=~yl5+ S$ۂ<gT6mG;z+~w2fF> =<YU$ɹI|)=)ZpMϳz_R8Rx57HEWUw4\*\|7Ond=iG_P +0=~>U%zm(;eEOgt{kBwQcno^gRˁZ{vB;RԁLM'驹r3(X@ze>q ]S\6$Wfzc J&ví@av#ϱb x +AyS3`Hln3ﶖ}3rZ!Y~纚.)T#V?HQ@ZLVhEVY!X uyǻCE# o:TJ +J) ,/Co4&^rV*>+h.UgiRX];o;8F$@(,soQx8 NJ+کW|K Z{z/O<>~uv,"} ^A3ޞ`G>㘴{՗? zI^=M==-$ >\vٔ^Իա,* >]<;w.n<#P[r1'6(O{є߯ϯ=\aI,“޿ދX x\ǡԤxXRp$+g$(j0feC_NI*W6PeD|uQP l>ko~F| +הM! DY^CQ@1w3b]Ez-}d5;sEÂ!0}z3z,%0="V~7cW}79bC_C)/-N$42Ry}뀴Lckr5bԗ7 +[u媌oRP4oEǎwۦxYg +$KҖo?n{\2eZ,&\Y/wyѱ&(.'#8?pIQxU"< w9΍]{fǿ^$"ϹhJٛ"̍?M!kW*Vz>r݊q]:uWdKfx2>CxkޙiGJ%JgyfbL)5z,]-J6sp{kȅk}]CѲ6}E{+m*$1Q6@-`}eQ{)ΈSkԙXP^'xӮO(Rcb#jroPa oAG:xfz^);X>cdJ rI;LLp$/xO XӹL=BAGUFևQ}ɱ/CM,rޟ%k|їL<}+mmn>=ŠA}pVe*cUǢJ %'<M^qW E-LjC=K(dmEZr&zin%lg%4k0GFtި]~xgU< +6  1鞧l(Vd =N{K.['%:|;}{R_Z8J^]Vc/26Ć='W)Wm:oZRZBuo\u11'\iZ`ěOz}*W4^<1,>pydR1F/z(5M@VT\!oDo&aE;Nڍ )wWU7E>Sf|;KDEkY/wG3i2; oKjoqHrHZFiQd OPd|;Qh=Y4uђJ@p.L웕)d5V\X@/g }1M:e#.+wG @>WڈASJ8Y/ӾH:K\tZ ߹NKעN[_XJ ! Bjg9h?uT]ܜxYOQ|F5 +,|lj<\yVǬ/ͦ뮗hCm{"z۫uxk>j뙁1JqP +ym xQ^\(Kr=O]a^ˮ{") r):kV3x./vceWj/=* xMqlPfĦ1z!7U4&y2~/cBտ^"j3j1naѳέxm̽S~g;_{Uhx=ĵwZ+/@[ety 8;yV]a>Pv=Pc5~R3j;;E޿6mtz([d.em9,N4q/;ʉ*dFנ% yR{ԝ*-&AZ-a q_٧,QT^ +K{UR佾 -Ǹx`Q9ًZ{v|ՑPԚ A`UtֆE 9VyT +|/r|"3($;v{wѷg5B0&$J¹ucz]xa3.2 ސ}24V B`fu: +&={L +o@YGꍍw#uyC.OWǒ$qd0J2 +H6_!@;|oF%. %HS2w&G]=1[Jg 3_`uv Rn7U٪>Gi{g"D.E~@xxbDp27`GOU5{ v^5h3d,w)Ky?Rut%HJ.EESz-GedZN{g<?[`&"Q 4kҡc=y*(hK1IoQQK$ H>K˚!Db_.@иrkJ%Pۙ)y[=oR L{+'X,fHQ.q?$[JMAlT,Ʊɫ1`³vlJ(B|di(r1Qv+V5)Yg L? +~Aa *u|ZK[ mʼnn4ީwsLLT#]xwHCUd+, 'X[qtJOv\Nnc[a ?P 񬺣<Đ#/ +Xh/hyʬBuR <џt7me E#ĭ VQ`"ߧ S.XRNkDb=IX@ 3#ЮG̊ƂD;Q\G֝F š$x\"Eΰ֔^{R53n>v'|%Y6vR<)~g5e&Ȉ ,՟(QeczE拲B_ +0{>Qc"w;P]w:š,Tx?ʴ|g ^!^"Luk}wT0qhV5 +Ja+Gx%jZ + +c"|ګpGL> ߈}--/ͼa2&PQnD쾸. +"VfRRI Y~~ zsΛR{EFDb-(_Zb[u`LuM.tQNlj0Y}#n~۸QXW1ˁ!0ٛ:u"f}F1YyJ:2uͻQrb>bBxNn$sJϢJc,rK&BwQ[ 1[d7$ߗ-|N\] qzTh0>ύI4}}r帜f](p&h|gJEVPgN0N"M]xV_>$D/0c|jN[ϵX'F?Jr]GCF FşDW d`J+X;ӪؗO6{a(Fonn؛Wtͬ}&noqV{kBw_~_UZx<f, ~oD" +d$a kEbqBz&'@` dj!X©6sזډ:o5ƞWTuqGŃߎSv\!TTEXR?ͺ*[A?ozsl 1v1ߧf約? p DIZ~0H!,r1Q ~\Z𕛶b7*߭ޣS0-Dш&ϭgZwQ?&ykX\顄"1z{AӶ?d;9ZvSaޢ\&c&I_p4PNkԻ/=/3?2HS#e;۔NQ\:Z @8SߤwX nNw]cң7@ +' ~ Zg7E&+ޭ3|We?BČUSe^PWRg0|ћzmoe-9L3n8^*o_|BvZR +x;!GXE(WYoUBڱLOu']0SR錹2(]O&Z 4`w0E"niiKxxjG ڰj}UbLYz| 'd_h,uRc= SLx2K_joQsqwkD0^X,V$>g +gx{HЙ-SBew<ߓ%Ponyxzx7~SJװΪ N;6߉ΛRɟW{6yV?,t2X.V Uz検^-r=+1by{T2D)[@ CYRKV܂4>MM⌳7&i?OT!AT7K u<23frƯ}h@UpCOP,v=]oOyaCZ߹gg໨J=X'k&>@P:?n>DmiSOSެs pֵԹ]- {CdV0R~Q/#3Vʠcfy#jsgl.:κh2WZ'OE׺&:=<5>*~A0 +Y%'w cC; WBNbHjq mpUp.҂1&^z{Zb{oS ^=đ/ʌxn^2` ,6uD$JYj +$,=|i^ւ.xВW^_"VԔɌ=Q5%pѽg(o󕞢ڈuO=*.ךs&{ˮ-)@x(UIXJlWd]`-"`-߯$ +Yb'zlS@X 馭= ,l/nm;O*ǵ(7sh1=c'ߡ0FbxAP s@!L SZ?1~()GKO`ʑ^Z<σX&&N +ʾ-/yV i._8?,*3p[4I4{p{J9α.U@{zTzRqެNQ sF4 tz,BNoD(@]K PD"d$Z xp\ إ{56_iA/_jRf z@7ՏuV[qBdoPb[7ϭ2xP wE/Ϯ;{~|^s8c8dN]ȝq;q՞v >֬/gW%sK8#77(dmƌO, _Se6}E.:"-q\j>nwOK Hca6):JO<=^W?HMʠ`N,;* =._ M`{4ke<ӎ9>fmEO9}9,Z,=xnk < '+5Ux>ѿoXˮ%~4EZ(yG!IJ$]bcR0"*\DfB-?uYU"9R>nҿlp؍tsd5 '1.VE.o$+_c:QT26InlGҟ`yCSl{Y3pq,ߕi!+X^mюGG<6kWW.\e]aēu==J.vUF ~.JF#Ov‹}P +Ta|?NrϻDaRF?jwmWl&.Hi{k0BhDa()Jq>I_K@ P}f^gήؙM$0"ex}Imoq[%uSd%fD\ 4Z]yH$sTZL~pUj?=9GzǺņo>|K* (MV R Pi9Sz+kdiF}<}υ1KutT%ƊR^)/hPd(ʍ#"R {;?"u冞K?'^hU0DAlNu=5V$aY)i\zaJJx `AAt,7'O(b\ZfF;laenJ(>ĩnn,(;LxYT@7ːWKZ&JW;6iOkm5\<=s&7w2&-{Q28٦ϟ{ CD{?kg<(ˋ +r* (9  AA%0`DTDE 9sFrA8qI¡*pK;ΦuyQnwgU]] +P#4DDg(( LݙR2]ٟRt +}Mb;ϳ{ +hFAKf>,j;*aTEp3,x֠2B :ʼnRb\]}@;v +'BV!,W92X7 ^{39"gMG?+8oo6, !PxcrTNJBmV +'G.X *_&~8{Vq1JY,|n5PQHCT+t=)(0NZiZu2w(&D+M?L͟z}"mwVB&+c5DU!h4*-utc6՛Y{eV΂+*HGӊ}DG6t%Lyv]AEʫ:{߽WYS;xݰwPtwEbJy2}&@Y [&=0*L<|$' (]B&:]D|A|h%yF_]Mҗ|ͧ)k%Fz_݃iM<XR\fAƈPEOzL+MKV*b;-z/Ф4T3=Igq_t (nȰ<މ*)^oaU&߈=̠oЊ?Dmu'l[[; Z?s%(HTr5Th7:%bq~c˹沁+6`F^.F|NR!@k]3vcKv>+D [֟X !Zwt9XB>][@:xyXVBg1l7HN : +k;!g^"CE̀S*yI_T[bqEYL8O_}2te-;jbq vSb>ҩWHKwe,*A#M{PD(pщ/9]U!b}\T\+##]ߩ'PF["jJ#&ϥP@=W{? 14Szb)2U3˅[FXke1N-LH" +֤ 9Z8Q@|fO Q,ЋPa^vv:1FN.s>N˕2bR}(N  syR/(#Cxɳ'F(`Ϣ*FT[wr'DB#cD +tHi0T;(w3wR[:یO +A$r.q^*O;xx?kVFLp( ITu%Kxx^žoxR~~+?fw[ǯ +a͢$=8]7Q Rr |JEWsȄ_"OU ,\~+=kXFG;FWWiwPDO=d! OUKB=c̢J}]u#m6Kh伭F'ZЭuy-ʏ\k}5¼+w/\(%y=uM+ΛT`馆csTE=)'n`\dqu/N ,{dF¶,}L,u@UY*+K[zG/+vx}Q99GT0l6w7pǹaඞ%hjHu_vCYs3ڶBK>F/<0zm2JFq 1!IqB]g̺cYKlj뵴8Ȳc1x&{d1kҿgW׷J]txgٹJ-.V Q,9}-=#؃e\݅MSFwT*{ʼnk@(ڧjU5 +W~x}SWXoѳUP]>*"mTx#< 9.U"OVR^5aȓ`7Qmޞ$IK8R۽GH}>Ԇu}>N ƷagzWcB2 2n=$0ֱzH( ass)3z5@ P@{eu;sx7WqU[QX6YTe +etTn1F^^jd{-42O`.ȹ c|aw"><"gF|tù[ci&+b9A5=~KPHc N:sL򤾯Q3d3ž<;|_o9@)b@v$ +x ]A ,8 g~mmᐃxkw7bWoX$;z +ơ +p4Z]?"zuDL9:2Cf2ANҍ8k e7nV-frٮ'|*){) +$zZ"`(gP_"f0dL$UH$\G$t *p̒i<,0"3#ڻB,29r \gq#!qK.m,Y<;{4u1}DϰVDS]:c϶f֟UZvJC;0j$ɢrHOxDOK 4߼}U@ LM~ v `(y +vH"|g՟dQ$*cRr);+>I#:>9(ȒZJaSښ,K_Pq*ya|^GYi:2$~k}W2~T|Fy$􀧝tAo'z:7Ƥt׹bO' Cs)CX5Am$nwnbG[o#lu{R6m #.~ϴy6Y +̒p WNہ&GMT0i}O?g:brr&y9^tA3WuQܹQ͓E=!T<Kf1Ϛ$z1i0oj~Q'L$UTD* ec‰>;BFFR@#2\(u/Lk{x!ig\K5Z(=G)yI塒+qyǧgq؟n.s5~8 ~w;(jJ8p8V2_i9Cyٔ *7jrSHLK&%cZTR>Ke +Hj!eGn;s0ĺQ.li #G~;\x!:O.c}n%_(qH,!bT~(+Y?x}NQ闫L؂UEǏhIS +k +\u.> O=1[rXǀ۪sB6}ye}֦Ud6w<V~+\2|מZcT>ƣ0FKŠ÷AFÙt}G%K$RpVř}E:'@q"s~S(>LxT&;/ecdTي|zʟq?LJ{E[꺈Bih-Քb %n.uQ 8t_7&Lו:,-?Ath +f"}s cM-8y"]o!/>B(mH.$|jIպ.y|+@(@!T5I(r÷my0#&ֆݻ])Qc6ºCfvNאu6d?B*t 4 4M%>RD )xwdCn1ݼB*ݱCeBE\ "":=Q`Gc<$M%jwD~Dwǧ𗻀LK=('קB!3'YbTBUXyvg_TKZ_QcoUm=[P :"τ!$Ft ?{t"w^ÿ>?53FnХ@>(f>x浖Fwd*k[R-jl6qP({|4h&EͧŰ7eKEEZ9mj@ߞ! +k2:sA$Vn2YA.cf8 +!~Ӗ3$AjQ/h%38 Ȳ |?S՞/q3~p\gY>2/F ƣb ^ϡv LKP#-T̝9>)xcQka +-'#_}.E<(y/0JvɗV : ]';7*] CLм~T.aP'[&=,o{Y#smy3Da@Տ?&pէmw*M1Im)83NAA*K> <^-cρd$HϪpS`A?ť.ptce.==tReFm}Qoo'08SJ5&xXv֓ uɶ}.F#E5Җ%9E~Ar7U8lKTy[ϵm EbK }%=k` 4{e}:*k6X2zkg'&\c 3wםp5v9ߡD!C>kaώŁMg8, YcpJ21'kxFom3GP{J2vܘ* +#k+ͅ) +솔qPZR~fVZJ E %c;8׃\uDVzt9Kz𛥂]/^~M (>1B7]q?hnT곙Ġ PWw4Cl$#J&LJdŧY=D~83g 5 +7B>59HM(Z}TYCbD#1o],U)to;_djW&k\r@"" kYRN!e\I' ƈy=D#gI0qoSlS^k , D1#: O$)Dx_ @8-'U ~fPr@%Wr7bYZSz}$ZP>Uw'E`i?9Zɢ0w)ȩ6'n4#'z&+뢟`&xSiEM ۉ<0i!y9&ƠhYKo%+ϒ#`|ʌu2Pe7#u+Ixsmc=EƏ6C!f7΃4xN'>8@c +jOpi?ь ԋbzoYsu{52P'[W:t9ZkfS'@!ҬG#u:v2Pu_y.a!|_vpng]Ķ~N* sADs7Nh9C1h!urǑ0j P5 l*:Gt&Rnm1vs${K##N ՜:kO, dA|%UD`'hO Yu͕8Wy~W6vr +(0b:H +*j;@ƸJ H +[<3;z!{T&"6R{UdZkOmd4@@eD} s#v;}p#,9[,ңU2t8 ~0Q1Lj('MbAU=O'x[0'Vx!>uVb4ʜCu.lgz yIg*o:c /X1LɨjeyޣԨxn.\`u~5On9?cCsO 6!TU?5V6]@a?D6so3 SbXx ևh/[y֒**>X+f1 cR''w RCi,c[N?{xJˎ+P Dav ~0Nߤ=Q}< %%-Saq*veK0 +@;.=N99ƍ{>$ QFQxKDQHӅ"dM7we5Q~0A4[|}='AERŨ=cQh~H<{7{e +~y{_ !ONQ/+\3voǙOt4v>S(9NT2"?oY~֒*|Aᔝ('Fzcw6o0Fϫt_mzk)zc/)]ȓ6 +a^}D`8~lA{}ŝ(J<%]Ʉt +8 =8D gȫٟ +4nʍ/,2կ.ʧ!u1P]v4WS╙ lv Y: x;.<77#<`Al\T[v,I-2bʻd.5 ;C眼*W:f cD~afVgޖn_|eG~w +~v׈3#88yme ,d iɑ*{o}'SJ5H5W8fN}g?J[ L;tYKzbw1H0h9cD1Ļ+f ;}aRS +"@Qe;<{= 1㿑IwOW D + Q?Yc" 2a d/P '@ rf.L;zS`oDWƁpc`#)Dxcj*l_A(՗f v]f@[~hnQNHœD8g(KW[Q͸P>F _/&-kn,E?BU"h0勡>#BSbߔ)lN[H96ʚ0Egce(F]%f\ND3W3vy]:Hw6)^z,NGKZREO)z aѿa(0v[3tE *uFo/=xQ+ze {z#T qByQo' Č+!Z_u);W=H6bnٿ#"VV71SHgWo?g*n>vIĄO\a̻g̸>K D_ z)^T]qBS 6oD"k"}gFF [ZlUЙzAzmK*.r}\G(ޔΟ0~Yju퍨xxa!J~1G +UoӧQDj19d~mMoFHUbR +K[}\ /=Ne"s7)pu, kzo :(ʠ򵝭 fY<Ba cI:dNYSkɭ(M>_47^ +_b77%ͱlGӒC7<ųT2ph__Y#|-jesF6Fϩ_o~bp㈠d_u/9!XtƒL=$=J'I S /Of4TG촜7=ˑtS{eѷ6Hmī XRYeڄ{&Ѣ\r6o0Fԟ7N81`e.+XR;\bgb` ?/όGlSWCYy򯯁{.ŘE̪JbתНo&_{9xxj4CKR=G'х5>sx*:ݰB۪  "͹3|NhrbtڠMGk,zdt# Hl!h쨱I$`DmU䅜:mNg ;y֪+}2qm Az_-龶 ##zu~PlEOR歉#3*nh+/ݜ n4{ zd:7]5B %8 ++"2AcgfͅsfUgمk8D@Ԙ}J7w@8?E l1E Q~[% )U}}FrΘR"@S_s~$  pJ#>8FQ{'Jۨd7>َmh`*֛ds;\bEopŦD; +ߞ_uR V(1=:8zHo?%B{šX9{0.dTu*hZuDOƭ֢nz+ 4&oŴm=cv1R-{,PФ4>ACWAL9o04vSׯ$2.}o_'F + +{x$8HDZǝ~zBh4׀TsWu5]ˮ~ɲMn ~R_E=oifSeogD1esk%֠{;/1թ"ĝMV fCrO+3>Ydc +Q2(;[Mw\{P7ԓ2s{t-Er $U7OCP s@2:QPJaX4u <&#gQfS(ҨAzV \΅^~*u[KNJ,sSӋGr.KhE~EU%96!pv0M;n{i.mrXL9x  !YO+5 =;常Gz񩛨UípG 92_E'AcZ<7WK*z;E{@/nE|^od za鷽=PJ{N|^wʛCH/ȌS~ח|w $@,o$gR0IrKû.3vxϡӱLLJ{.2&-Tm`Oñ@sQcr-kth{}g'cް=6]^i0$x 91-J?n}ŮE;IL" pH΅L'o/`<9ԉe= Rd!y"-)7]zx^ lw59JFO<䖀?K`e?E<;K*eF8hs{ XɁXn7S +z_̤ѩHY⦗{GgLs2႐@!xͩllgbxHӒסϊ}!mpA+OՍOݚסBXZ1ɶ2oI"Nht\R¯6˾h>Y/BZPxo2Vq)cns>0n&иW 7enCoBv'r ;NF'ԍDIPqƖ躑#AH,t,x+C?3~ H{}x^KD#Pǟ5M:K̴_,ؗ߉$?uav ɉ"+8$# (y=BUG +ݳt*eBR!=clo'}!U/k'F7Mg<6 $c5)ƅ2'R(râ$dn^)z}dBެmi1vt@͉?[RϿ 2")'|O'#j_]P pF~C\hvՉx+dcf6֤_,^"D=6'qCiߟ/JaɅŮ-m`!s<NJ]D{l  8N?ò4ғ=6'5URXğM[OUw5z?T2%>)meErRzȺ:-CEhs\x͇nG9w4=`:Ӎ$,WvwgЍv`<+1_I³!9jxŢ>+>Z]zrxkv"h >Oْ + }/ A(+gEՊONْ1ܨhc" L}N9 17պT~B)Zv59Bۊ snp(qwKїR`g)uoj>&n~xdϮ?Vʘ07kg?c? |+EvD/AxS; x3w~;Kߑ&{1F5>nKlߏlW1?̒MG*V 08j͇x,حBzzIc};aglNx\ y?Ϗ\R3KY#1@Jk[ _'`1#Y~T5 +(} ,h|>/5|x~g W~}vw +IJjo{s!z>" +"n?YP'HOT_~8=P)#߂}L˜V$ekvL2$!ޮD-"@}`Vtb[2T-sٖA֌3``"kl?N+['ZN^BXgiD7FY[+ɿ |&U7>Z75FTâ}xH8eƓ3xY3UF`.8QW:[+ȹAU: 9{SŔn1t}%=0I> smvԣv;:y]ǎk06FlI$ ?#BY+[qC> M/&Z)b;PXv /%گ}Nw4]eE_.N0YK_IGy[G^ S9w3|9Xۊtq&Q#p9eo]aИ_vLgTɮ}vϵ ЃHĂSNȪF9C1GU9/Zm_*M57&}9o8}A;t7{~n8P@ҏ'֧$_гh 9#W)#9XкQ zF0ꬺo[?Ι5dm!"M|^mOJttSћNnV,'z:*N[Rs߱rϬ<2x v1/!VzTT4{V4#~ ^K+ +F!Dx5vۮNƸi GG +ƧmW H7k#J[֊dsy̞'Ʋ܄#w(G$YW<4ƊRd~Lޅ!„'yf0`8 .>ό7Kvڤ{cB9T P#"KaIs^4"j CFdp[w@1!VO!w&m?r7tA bn}_`,ܸ2RW}ڔ<8%k Lq9AQy m9(Ǘ܁a`:< :T;;)'ʡKwORwiKҼ:ٴ㵣<+B75$j;Mpa=@F*kD {j|b?mD>DaBa2ykD2|#o +y_,ftSܓ~&ђ/y{lLhcTu䉓 ={A}|l퀶<N yK;JѬNYxxW^s]ƫ 9g ޥ)9B##![nзm~&JufF^s 2W 8%ث8Aiwks +|\U􁔽Ce$(ZNTwx2gFb?"$*HF矓9vi'U{ꖗzyΥߑ _ /Q>StL:o|'A}FOM{X$O +R!PGj*ej3|NB:z =ך {07 }F)y4;J7J'_7ӈ4ςqFZ{|mIC %:[:dA߁vBoIOE~GD)9@Jykw,h$0< I +(niYY + ,n0_ч}/XNMد ycGwfI[sϒi]n>|rG1#P.Iyj-mo!VpVMt<g gcj`L +GXP\#e9?N: U +}glP Jvۥ|23v|+#"s֠ J7:&J [Xm,1@!dxxQaiS;* 6w{BIr-v(7(Ŕr7+]ʬfHX=ÊtSRIo .h pzxYoyC*#Y‘wWs.`儘3s5/8^JؒxF.;ms_#"KcKv-yޱ>+/Иt(c#gJɁ(|pk()idXʗCf vQ˕QnHlkQz ꖺ g +{M&_t.:эF}EF'@: E#c޶.z؏B6eF8/Z1ZBhn6~I_Qf@J*}"1^yoPal).9 @wIwiWg)&EϑHܦfv鷿וM8Eğ|c3އJ̗jC}}@P}CV޶LojAwr\21^!SŻ=tWٖ})tcT)Z5!knJeZ.}~uDtKPsI?Q븠U J0c[ \j$e-s3Av.\,xmeJJTsa" rK`|o h|- "^3wB]fW'Qj= 8)+aF}ޡ as6%t(K҈vKwR[*mƧ(Oxv +4B{+2>`9iǝAŋ=͡ +D XyGa52%ЅKcF~q=7h)?wv$B|ak5|3sT 7FXDGʱDdl̗_^ڴ%oyۿƂ1|"#vzm -9q>c+tP癩tT,.=Fhܸ^b{S85>k0y-MHPPHW%"-kuYۍ Zg|U^+ouZ_R'ꮖ#.hF `a]7L +6":4^0 ~+$"N XD¸@V=^m[_E#wt{qTFdcx,/ĝ|lu?:bx`d tF͹b6mǧ6~f:>Wer5ĢكT| |Ɂx +p> ~I w eN̡$X9'xu.?x%CZSOq@P. +HB<8a&* [YE^S g]LjOဋsnd|:B8x51p'ډu5[~Wƫ}nJYqJr3 UO+!]n h>[1 bj.ڿs=__K +8ùw +ٰ Zc@KHJPj/[-/HVl)c0P՚ +ui7U`2x6Yya\Cx%L~.3; |4Iv(GB ?G$uJ>X oxy'Đ }bro¥y 0ŞOjx!j<= LE᫙ ڌg!j8L PF@ xͳ P%KZ kn>sJ 2W87[Bh}[_Of!hu>A/Q\Zm,NRJI}l񁭀_&w 6"x]Ƙر '7%!$ǖ':/;"ʺIMh73}]Q>gNZwO1X!9B1;N(2QE'dMοy.F_1ݐjCk#E_s=/ҹh -Ow_ 1;iTk"C“7j_~3٫ +hF5,*%lW7Os)6ϴvcW91 I|+τ.n?_ +<3 7LwXB3>{pLy&ߧ +jq᰸:ʎ9}F(̏?\f@|Lђ9Se.,0YV}\]y=EF]ZCmYUޱڽ~|cl(>xogz-X@L'N涿nF#0baNfaû(Ƶ 6mh(\q6mns6mns6mns6mns6mns6mns涿u^sV1{ mns涿)JuNUjۘ=5콕 jns6/qK=[y"0uΥdo).QP?=J _%@:&rQ2y MB\/7$mns< K+csHzw*3l<(dq%`ŨW tS[EkջJ\}K~\'|sVkMo'z:Nխmns3x'4ucނ^X5;{^tH FAxO5͗R=CsŨig:/ȝ TǪ_FMa)J^pHaR+o$z<8'HƋ&tY&ZN_l>gJ|w.xD-T$ b_#ȠV%I%m@b;qouxGDi-^z:u|jb1i0VT`tQh5Ւ\5Qj^ ,)퓜M\ :x9 @ӽSc="{c1"*uZ"-9%9.<㩵־z5ȡ4dYyjfŦsŪQI"i[uI2ImnJJ{5bQb'KτDgdEόWonJ7QmX9 Q+¯u(5|4]ăL W@MI8jԗЧ3E?Nr:>y1ZUIW +x|[S; +l?rsjvqO½VCq4N(o$ I/ʌK% +نsOv5םN;架ΔK=eGť0>@H ^X끴楇:}O˹dM"K߈S?G=ja2շYE~@%5\wj7k'JuX#)UyL禹*Fxp9{LSgV墋v&_3JeY~eB +d-~] @fCҋ0ne "XK^_od+7\U_;<ygCH'=!uQ7s>fKH}/a%'EbYdXkEob O,>]ΒJ~6Cm3e=H%BQYGrP>D1b?__~c? W z-E;))=u]8*/@~\P4t/J+n}ś#i 8 A'QKxptTqQskvB 5˧  GhDr; +23C%~,7K*N} `!:cp[0Y#ʯFfo۶zQ\c͸b?eA YGn5"*e Ve^,ykw:Ԡ'X88;9 +"|U㟷 4M7uA7p hA4~^E#'JCE[eGŧ09G+|ˎ;ɻxgI>3Me,Q\\xFDSωm2LT>5Xͭ@%+uXUr|||<+ipi`Jx71Q[R"#_Vu\i?.2r<1T\{mzy癥\7!(SឫUe8ZYpթ +dTr6QZuʟDC&~_zm.Rcir7N4;C=j,74+I|%tptNE"BC-3~Wp՜G| 3'/ }ʬGUcq;JȬƭ=J{=4EH?o9FH(]:tCGo:W,fud&QH{wa?!LK=Rp5A`=TWH|cb :/Tbc=!eb?'iDX )]D.&G?7Kt1em>0a'^LryCEq;|nԏ;/"6rU"Qq/P: |>.u'^{23ޣQ1q ʳ#"KBI<ێfcO5td1Ir1VƏͷ\/gs>3E"Rd|ƾ|5*1U F%@<| r b"w"+xѷoTׇ!j2D8觱} +J)9'#Z&Latejc^/mS 6L=k/Q>7WT!P2n>)-L PM1lQ n웩Gjg ܃qK1 +8Bþ^Q98'D T4,d@%7WsJ_6CrVB5֨4=7INmA3> |QdQķ"}V]푢]=Q)Bp#oQ⵹G~m jٺsݞS@z`xb|7a^74?O89OvΥwU +i?xټT"f@}7I7/-hV,w!\Ȭcx }heVC\ec +yD¼EKw S@N4UtM/[mXiT'ק찒+a@&M_QA#XQo.(K(R) ϯ?=jh%Q*kTF0.p[DH'ݱp"(e-gG2tv8'9\4yL'}^4 +9UE˒FPĬPIU,#ֺjYH"4߳?RΥdQyq@G?ؒewk:hĜfj,9rP?x>GnUfz?QwvKYe +%jcIƖ]Jnǿ]-}oF{hn5%|m[Wc_PC'xϴ{'}ogumH;KS^)* 2 +JSS̢̘?h?o6X+Z{Rڃ7 в:/ _nhye[2Zi^g̙3/˷۬󌀩>/P.{~nʋ(=^5=Z!󋸥IwA9\5YȀݬoaT9m +pʙ1{O5d o 4vj9y ĻG.Y^wѐx{('Iմ3 _n':$w-(84̗ 鍅GFj1Q#@+dDI3YQf*7V#@O{dp\!F;Lju䩰Wlydٽ {S^r/&"\ɱ| #_eo_e +@ybC#jI*@= (q9xixqyCz^ʌx:Q.]6@Tp<A9y%o{iQFK/RG#6ni-¹\õf~586 ҪΡHT3q[`2p[EmzTe]}e}MgּM!'D]ڰh89F!֊rp NɶSqّ]HEç;yډzEy )G^77w3((2:ѳmTyֻNc^Qeo/3]=.r ךݛgĚP ;͒gL :Wݏr-"\#$7;({-1rsң0|c+7+^ o͂5#ɩZ$K&SxzeBy1zE?%w|pYlD˅SQkmsE9RiEF߉* cq#ioqJ@T5`1T >i䍞} _%Ĩ+wIo勡#Mp^7հVQ4c~5}ܔP5 `p +0OܼUQλǕT16 *wXy:eV#D&]FDykCD1r\]r](0[}X2 R]SAxy&>gH.x'OI/]6@;hؒ헨nr1#*Y7G>c'e +08s~3 9˺ `J?3J,>G=AKW~33Q={ld=#ߪc AɬPە չ#|/TO4mPz.F<=v +F*Zxkh*# .πf✼LT`qtza:vg5h8\@;E1GT4Xns 0 #p" Cz6A Po8ScšilU^h |^xQxkRf>+|5z9kv/& &+u-AE3y@}Qq7]Ͻ6U bZf@h2߭6GvK#=hoeI ]f7O<P$:qAxl5q[] Z#^IYNe=w mKQANj׀9K }xl!j +P/$JJ Z [m.,*->2 2+s-9SNO:r4{> *Z7@&eǀU9bd( pX@,w([΢cscùJX vۜAzF0Ua=W+Jjݨa3z gnGo/m}sq +Owm܃g> ](>2*C~VƍŐ@ ٝp[b^k=0:Rx\Cl Q{Ae!BzA Eyι*2ލd4@䁑WɫF1)6r +4t~zR!QLX22A5$@gJ頻<{>- +Y~#:VC@,T( 戠1Q0\@78 6!WSD }E{bT[c׻A޻|^QNݫoMcct}]/oxp>!ٛ4\X+{Bg[f( f Qˠar߮c &wī((HeDUFoF^R1BY+qNV&kWOJ L^jpk5$jN8&v. UuP7PƺS9"hl"Yʳk`7NT뒯 Fי5ߗ %XsAb0m[3N=۱~gwgWX7ECq`( z_9'~*w zirָO 6K`t?qNb .{uy @3=퉝hs*#SeqAx* !M>{ ~ ~@<»".KfEO YdoKh1|?4g8n2(:G_ z֐hi[4XߚqB4'k~5Y7\@*ujІ` +uƒV+Ehcl:쏃썞}[{XmT8fv-p1!q֚{=k+L}O}4U, ?ʬAf7FךxL~cj@YTMX6ؓ|kΗg'3廞x`Q{,AZ&[ Фa(5Ww DUU{ŕ-=s91/#eh [OVh6/VitO=*jM>*kA DZxo NĈ WJPg9CCT[yk*S$me.nEIZ6|^.c6 "\xPRܕȲ5:TB6*aݺ]'l_<7l@92I9|oO'Gw7:߈Gݧ榳WM};ǺW}2&۟p̔٥/F]މW#@D.VyޠQ#@o.1g̟q}Tԑ@͌ /|| 6/TBS:AԜt֐8 vЯLϭR%GڽEOT Ut0 T4&̞w4Ho= `6Vͪ}U~yw씳T3rʿ]=KOv!.R$oaTww'-r&Sn{у(2ÿEۭ0G̀nL!SZ7]xHB*dfd2RD&ƹteq6ALԬ벷!}f֨\ߟ疟w"ޕk3v3; h|{$0(ȗ Nb<ۊ;h?So^nD rͨP`<* + ʌ5RfˬAFѣ4q3gpN+&I)PREr+5qw>"s[n?(m~H{b18tTd9hz^n[wD8P8kxYUlK܇qPJ[U Ƞ`JrVHN{iLr>TH}x5K!S0ǫAѧ= GOg)C5c  h RIgYҐ=x$'-+Ln3To(q*)Zzt250oAiIkFqQd*wnra_#kƤ#4O:jzҽw+7 )/ryrOm'Ɖ, Rޏ{:w~9 +n[JtjxC< 0:c%FmsXuj?I̴oR =}H>O-! | @rcLo)Qj3-U{3z@l/QWzrRjK #9(RLy,,ZؽGU_{RNXb(Vmf 0B3F|wXQ~z/L1 +;1TC7amͻƞ1=L8 S`I:;^9Uz^lrG{,玗 +qDf`1Qn$&0J +hxtQf1܃{9*$&w)sxLQi̙v%Dϩ-;@H:q?BTJz>}e +"v6xUztaln-xfL\iy/;ek^<>zϪ'-KJcŕ\ ۯG1$t\+^Nx +&}~ +?'gw tg)`II)EZ>-ȣs%wDLzAZԿϥ@T5V?Vr=9m>]` c|sڣ <I+K°|+VTX/FxxnF|+5ct#U2u17"vxXl}m]oEĊRCOL%:OυEZj5K4X +RWQ9 3TPOL5CN=NAYVokz*6"ܭ.7F=$H6rK<>+YY٪ڤr,Py>_oֈ_zu W>o&?W[8pi_d7yo()VZ>+*sK_FR@WD+29U1/@Di 挈>Vu2Nڷ~%_g, +^gbQy]+[u!Q-fl <Q%Oۢp@a?xL7QU*7JV]goX}6Tʌ^&l:FUE +qNcِzv^ʃh;y⭆ d㵮aI'@!T޳mbGGQANX" Jpu_yAZqmj$%MC^OJ&!| "^o+0H B@/ذUco@3lS|Sz/e1aI{nNow]QN3.U-(bXӋsy>K4vb鶛^9Qb*̄u.0e'P +сң!WP#pު W]PՅZTTq+:] PXʤ +ަx xPPwO PhCV~DδfdjdvTyWYQl:!ܷڋRWYI~wQ{\r<)A*љJ7GzdpPT^H{WY ނ=l"d; ⃬& B~ 0fywP;4g|?|ow=R¨#/=z_Z v ow}8UL2ᮕș)rH$k +HWscXdҌ(.%@6 He$P'^[As)V;ڙ%)~Ke~{ ^3!AX&߄z !&T{p*2&E<$f52O gǁN(AmB<;uKw>L<9-jEj}.r_$|}Hgd0~&ցOjB乲FxQCaf/77c̥osP<>|kǽ?y=.%}ih6 3{tӍ[ qɝ?Kj !@n9g"Uf^1vwl-M֢  sq}Q𣸤7 vY]LIޏOlf1N{nYfvP4DAp*Pupr1VhD&Y@Pq Cܒl/K 8nߟw`|M׹˸>í$ư@<ڔ;,rQH{dԟxFH:^RP:0TʀJxo8<'3Ж`jJ tD< KO^dV$?f>707h; f˘ؗ*:lK4$s^z+Tx(W=ze` 8d!ÃIVŗϘʨ?q>rjl$2n&̸EVn? Z`I\=CE1}AYw@=xޗ>S¼?y@A9o\i"ƌZnPcp1ѐ2BW@2~72}KE7?GS4Al(o5}ܦR ㄸc`9yxQ5KA,$6&^LK}$|}֮҃8.e\dS^d;PޫUB%kT'`͎""zɐ8;ްZNJ%<(:Nma/S4=VWlfmz*5&z?.b"zR +]wσ2eJnE9^-J|5Gdk1(.S4[{|p /q + (r~09Enw[+.͗ .QvCދKذM%c*F$.b ~d\6 }Hk/WJtܞ"&* V k63SW1PTUkLLxeς݅q.ܖ;f%C 70ΰ"tcQ0 j=be; Y|$6J\+;n^UxҒ޺!-p*u_(^Y`[Eu +}a +nܚu0խZ4_?xɐ8b_OzL6IzQ&=sc^IY;  UV?}mj,xsxyڰ(8`(7kx%>**v[!E &9OT{h< +?A[dE =J3yN/C-GP|3;.aI3`K@ #|jAIdm<+CTDCR +6B~#e7O' tts3DBQ~!hvI[ D}6& &Ě\E5--݅5>ke>G uDT]QU1w Chs:{*b-zqU/7K;'k,OFK\sbmf= N >[\2$el4$R{9~ƽ7"ǦoIJ<,J*O#m#{whHf%FщuYgݔ*Նh!q$ލZfV;_#,o< ._ \qm J]i6#"H!bck>RNVFN7IbCbx{a5[*?Uur-A(/JYc;FĎ\b?x|)}Q"K] ߉5qO \({Ƅ7P1XzJY<}Ipu=mjZy@r9Z^|R*diq{>÷+eh7Y}+ks9R U85t^q8?zg +8h8Oy@Wk3Cb}ye#^E%C2Thj`#v&/=vQ2q.ו}mJc?$M]׭Nu[\aGF%Q^*dT!ho@,EivTY}BjBE?,+oݗ$-=!1lX͂KG_nC3I +@ڽ4t^1Rfx\UK%C- EmU:Xil~{FOZ'eEZ + `a,^ˬhaeWp#w﮼rv(Lq$ovGRqI}l-.pF*A֒5j`I0Ɵg }ck? j Rj8x1"ZSTmh[u 'anߪ_SїWa > +94O5k>/g-pG?E़%r]ʜr _Wȓkn\az?= mj.?[;9nL4.^5s|uM]5⶙e_M&+nP2~܎ۊ T!фૼ抻^ls4>F gXGCȦ? ?7Y#vRMJ;ɳ5(+;VVЫs Dnx0d\5 >ҤP J[\!2ww D= I`~ /9 +e[x;-xlgfoWT_p@z4X7!T3[Ό 1n돎6ߜcv]Yd҇0,to{/E LL)\^zJoE[k {R^iBzhڔT4pMrk)Ğp c/U\tPhb6h3NW׸՚UhÊgG8'Mt9!(0ںuHM4Bq>c2Mg-7/t7G̈]Zf|8pO򩈘䭩=$o MNņg&~/*~\ڡgFR|2e,1z%rjCg@Z`mt}׫2珙pY4ypjUad5_^R7+Yk xP2Cxqښ%5FxGˊqz /?ƥM?xmC}#o13c"?oTtl*럍<Wn^A`ԒM簼C7A@0("Eپ;Ti:D +"\cډ PҬ@(&1 qmK\H4U + g<+RrH(1ʭ.%A^MO!7VAo>(". W&=;oϨPS?"`KOg3QKR*jl>/ߓrHk :J~%N nҟ*Zgo}{t>BK3j"Z˹oO|sfce.IՌKz[mYɬ( 쐭8 9&gVE!ԟ?frz{SR,#|/xkh^ץx2Cxv5/165(%'lŇo ~ᩜ(7JGˋ."qϒ ݍNW%x<]lu +Zxnjʒ +Ԛ"3W,LP+\ro9ډMŸ^(AEcwCŃL0?#x|c۳;pj+:T&l&}R贍q0P k k|{U!Ky7J]uώ';oJzFMkX,ʃTFR>lc;:YڕJ@ٔH۟2&@*u ``(_T%7Y".E E|5U4wI b;1gR4j9#V-T!.3jw})՞rD]88<$M;xz +ƥC22T1"C% È 0Cm/%5D%V]GQY(C-k*;wF[v zes$P|Ry9ûm|q./s F|: ߇EĬӀ+mEӹ |}ɼ?yjuyoP*곹yVf[r4'^^xҒ?cI<<3Ey_Õwg;dT6qgJO~![3K֦]Db"=1p~suՆVEL~a ^RjD@=ږ|/f&hf3Y<\RqU+5o3 ǠW~9S*kW$Ԣ W*gk0[%pUO*a9S2$[ֈI^rvjvTƓLMi%ۓL-+i1_zBKdPޜq.{9\c8 +r4 ӫ|ky7^_y0` `,;Tqj 7зŇG"%}Bޕ' \dQ-M%̰|;z J=KNv縚O)7*Ɵ٬=oC*|ko=*#Pr PcjfoS~?ݧClyC22TE2ğ-/ͨ跋l "WS2H̓ҙ9o㩰h5`w躟P>%U}#GE =aMx~9C)@[ +_ԙr{>.-#H5"W%"ʚ*,zР5@ h$EBS*ړޏwz?hͬN Dts,DH+[O^P⏷-Jw`0ί,?0OŁv@;L\D/go[ͮr. ,#KO~睐˰pyHu!ku_YxRiҳC! uZ fyg) qԥF唝*kz,%.A z=Jrܛv:Te>%燻Fzr` b}z.q[*ЗsEm)=,A*1- ûo.+Orvyx +wҸxare=}*9Rё9Uޕe?[{t/mJؕQ)cߪnvW1XD' /C!UC`9CƽM`\B0ׇ渓(`'0ΊНj\R%dg=?#2 =5vIYgs}ޡHpUP/xz^SÍT\ήQ VP +* #zS +^m|-r֐8 ;dkQ=7E|g`*V5^ҨpC,i%U^s43Qq{xR}Q(6&hdׇޓQ\F|;";ry>&A`R)DĹRz޺) 2LE{7 }7YvK=rR6 ^G[bGU 'UFƙY2OڿޤQM,<(e[Ef_`#8?_YJ6Ը L;gH5`ɒ_}%>k)\K{Qc kC)xH)T*Y3.fiԎ +6OoL.-fYC)iPp( Pmٚu0Ҍ?nq]O)1(x,`cG v/1^P+(ʧ5 9%,:>0oy4W-{b#7Py&Ʋ%N#*Fd.# +uk+sD<T׏7һ@ZscYjQlZpa 9S+QcYC8%L&rSjZ ߢvͮ)Rg˭b |kꓣ; x@`w%c2= 8މl: +RG/UƟ>53=n +z}gݳ*&zїY#NktBQhoDBF eIq7λ{^^S ͬPݽLdqʄ5fzOr+ CTKA# +Rg95/ u,t>ez XܧWJ }AǎHgz`wzi/c{cJC"㏪b֍\(LnøhY +`Iբ?ޓc;%#B;KI9565#R]^ڼE2Ax?@!=lK^0Žx(+Orpi^p&݌0{R~'j#BadPޕ]Nqok{freOQ~o=,HQ>v/ZfAeP) T1?k=̕prd.0H R*O 3'cIE 9xsiVN`^R=}Td,حzgKڽAQ0{PT=hڠ Z=)A Op.)3W +^e pVr@T& eۈsb~2|t\ 7{f`'^'1%qf/ǀ6^5>&Y{~M(hM[Dqg q~(85eX˥Bݕ㧽?5ѹ@ pJ]?l&_|`G7۽uvXǩ#/uCtpr6) r6@Z7H`V.%70< ,ϢsfBz]6 +" E{c0;q=3ϚR1QtjtJ#c=EgR&Ip2SP +qQ:s5 {S0*0e29I*g@|<=K/S([¡^bx/S;.d+^B)ZpV}fSL8aJkЃW97zZvr5b81[n{b(2h*ݳ9#Y,u֟q. Uh7 +Vȫό9q_ȫxWU&p3y^_`1Zڻn<tJG,gNBC ?HJc +Ï|rCfxF{CC]2r6ISpOY EEɃ=+%,ָ(;f>ݡ?WfrVncZ/0;WT0ffѢĭ筂'vQZNd|PDy@V9VJFJ0NXF'.8{1e| @([el!:M +YHR̄-g~kxbԙXh9m'jJ8Tν[)/g(VIq}cF@$ۋC8p#]oE`⡎3SKژ~'ǝZH]U!ׅwcK}]RMy(nmX| v?x;YI>q_vS + @x4N;Hҷy;J*qu!{98Mvd!?{JYcPYp|,Z * py@w(&'z/H>!G,hF5Z-jcPvp hɇY +Z<. +ÈLOC`.2h*eo֪RY?.ʍ84mE[ծaT +s(^%ifu7޲d7ˀǞU썻ޢFFI0\UR.F=.y`B9KfH03/Le㎥RHjVQ5-HK2?frq+#@f~z*n }wO=DJ5Sz"L@s)gR~ޠ26xmML]#A@; ƪ@ i,c|M`, zmA^s}߰qZq`n'׭[gF}(AJ 7 D2NEEz茿~s B@RnCQmiTl(q(Ҿ6KSD#xߐCswR eI@Z O}̾ӎ JAݺiA{9ffF~~a?6F<̈́u.!E%`x\D pUTaxmeQ_xt{mUx +ߟY[mMβ_/\UX iCkjpf v|&'=Fx\DqQ0o(9(=tQ*FVviݻ4 E)y;5?O{j)/eA처5 \oĦ)5![yLwX8" +Ro{nys|tyox1W=?c?K:Sic.'eOYb a;xV*/)k'_*_/SeqyݱpLrH5܂?{f,GYv`m;[Uɑk2Ж;Jd!cDDFy";H^oĒ]SC9YJUשxlE 0}i3Tt9/kR ~J/oLE<l7VT_,:G9J}-OJd0*a0Rr߈"'D HXskgn +`GYԥy;NW;^Xۯ*q҆POUwev砬#`|yGsB苲c7Q?[v𬷀UNWC?aFGJP׽=j[_H{9x͌?Ϸ-4Pq#3Ѳ xg /`O=zW'Zԋ8*rD}deETLG.//@G'Ǩ[Qwi r_wxli>_8EN$gЫr1<@3,N검7  \Dt D_^؈=_pz{owۊGÍGf}=BŌ(JG ^><㕁iFG=>v}3F+Y fP,HY)z9 =n;/Ԕ)ؙV@'&d0_._6lfԋ<=7(~L@YS  @od7 CeJJ5F66Ym`4`㱕[OC g2՟޶^MKQ(ˢ=kfj}G5.y[P9 +{XN\j# f]0o35).Y߈oSt^I)]81FB/6IZDƿ'!zܘ5FϾ..7O[ 2o\emG[t?Yhв?TK+AJ1+R8x*+7;~.ý ?A24~U[Fз7𷘪 paW7ĮP+r >Χ>;0)~'/ +NEDT +`"ȋJA1bB䕨D993H8@8 ;0^ӻ-3{{jԃtW}&SR97#!V7wr 2NR}]~q>@=u +`nQda2tڳk}5A.QBieS8_/90^L2/[w[eԌ7ߵ1gKn`otĝ{4vfлܽ1_?@nCn&+f?=!09̬ 'qO6KS3ߐ;ƅ +lۼ=K[tĀ%ɏx(ݸ*4W !u[7n<7׳RA&o`#s TD=ew"/@ȏ "bYLB1&_=3 |ITV XP U3,F%\nQb*Ƒ1db@9iox}dKbcft,H~ Np(^by#NCA,$O1PW7@FX!dJccdNTɜ0^ˌ BhΙ$L +䶶0:œm}UA02[?=:P <}b쌟ǵj3Ws/sJ +mΜaQ.rT@X CA~ +0Ңl3xZ)'sh9EJӶ A:NyӖ ƨxȵÏ EmV3/7e¡gǒdKw*k"VdѶ_`9W*Zz!GNX bDjp6=| !^0ޛkzb䀨u?W: }jqAXlPZ#֦̎T Xz0yߛL̺2ߟ`o!<֤I,%*~439aR%S[îVmZ(-jDǻvޒ^2.ry=s5iҤIS,"/%z͏ Wrɓ')pWMئ&̤pΛEv<dN +M4iҤjE%Oʟ S(`긝 +)-qVmērPs3W&M4eLQ@爨GPÑF4d|aOTs4`/3LЀc*smǦ]3zjҤI+"I VW_中:qe ʑOw𙠘 yd+yjMM4iҤ)$OevC{KcbZ$N8oUz^䤑%CK"ShҤI&Mi]>:j~|קzQdaD@u\I{B#MƟ#m,T=)6RʵפI&MaRTϕg,!WY+6ji+,8p*}3{՞T +.9TK%E^b4/v^~b$N 8I`>ɈI&M4NLm(hҤI&Mi_qƾW—s6*n{og]u ӣI&M4U q#n,Z}E{D]gT ܧGO&M4i&qz7eg%{Xtb6УI&M4Uq Mb]KPvX2@p ӤI&MkwX279ZIA=z4iҤI_HEBG.Œ5ФI&MB9Dt<,r(v' nk%4iҤISf+yyBk{D􀁰oDɖX~k +)@~-8eդIB9-nB?p;'~ABDw<.#Dm6%[2k`ܲ+`vRT@M~|#$ݩ |yD`30z9*yc<^K0qQwYOo`?x 6 _ށջ}Cȟ@3 Xf=ckDOJOK֜wLJSyg/:D{'IC6$[2ubZsgCf( ~$(1jj1FA*8di 209L|zXԢ?xfY#NfMLb<8p8g2lA_y¼>?mfc"a2|#X3X5L6GE9r3NlCfw gIٻ˿yҹ~+CXֳyG$mqxv?5]3U#)] +a\l +oYw1G>-{ދwaMڍcB3E!g1yd +G'0/#|e}R:A\mߌs %QH8W9Z`gXs}x7\LF2 )GYj{iaxFȶY_!SoƻYkxNEs_sMoKLmզȍز9X 7*,IG]ƽvx\cc󮼳/EA7%u7'r\o?3s\}qXl0~s55?eQL_e[ _n<|x~rD  ="ZdA!S F9*pj#4UߏR(-rc֨wWƘ9F[ƚM,@m,R.[(Q}}x|(m +kw"C.xӢߵ + 0?7k~GɧJXᣤW yL8co4s_0/\BgĄ]=NeYRPŹ$i53ܔ %n%ERYjƓXn*(DK*5 t\zs(\Rޝ(|JۗVr}c%aL$,%-ꗴPjX|[h|6wyRC6EX1c=oP?3w}Cv6e ,p+כ}{|@ qQ›^ߺj;W.%[ ŜAwnzYZ}ɒV.U(ҭj5 +soi("e"=Wci'm"}0-E'|-PRf\*(Q?&eʂ7&l77m߉X̱PsZwol>BOSf2ǚ+3fO X(< +脪!gF N}o^eJR[ " ;?~y{, =;/R6xDAEW֟EQ 'g.AůL>.hU4e@:/}_6?Y)KA`)dEe<3%G7c}qm;WYeVWȢf..ESرPlUxfM 9#mI9_wgr2[y)˸gDѮ)`k֔%iؔܒivk߮M`7V/xg(7myOMD Kga)|9t=vւWm<&kӵgռsy DDO.9l#;ѿ{:Do)Q2g?'@m-lZ~"S'M1O܊آv:cwYǿQq^>%ȥ $Yq)K{E XYr~@&}@e().̘򙌱6 K]rKEZO_5mytxjaߑogҵ(P߯o5֟~#}xǵ0Hd'0;6rP}Q` 4g΁G|<,F=6ZېR~Řl">ߘl+@l3NUٍtm()Rg~$t4xP5lmw7%\^6p_rJ}1/l8Y{Wk*}I{(Qֆə#U's}6jK˚X<}7{'ޕ&T8;Үse ^3ƈO$n39/h^hVܒ3Rh TOy~kD ~b ̅ vpi$ľxe ?ĎYlxBiE/PYڟUP`\j~|{'լ('L; qj<@q<)XŲMӿ?\(" +^e(tbiy\XC֧mIn8d|ŧ%+=ng2V]a^#ˣwWl?N_5OLp2~I΀s 䐍XUYO_0Q5>aCzg=+G\@0`:/:P7Gbh?ߜp*fXjO,"W]d%ȖVn1B82(^ wQbqGDkE;.w2C!&\ Dh*|TG']2jmfxg76e#ߵzXxh |W_\CNO^iǟonOT>vϋ +eFnxWV/_*޷CI` +`rJPxԟOxW8;0x2 h%HTvh^d1Cvņ.@#T1g|] 9+ {vG'^zZ&4 LdgY7Ѣh?)KL}A]ʴE@;F@TpN ~bՔ}A[D=DG9#YtX#?`lK\ajknb` s_ߩ6dy&^8JbXHԗ1'+t b~W"W \۲qP4\Zq ;9e&]/QJ$Ea< }FnaBkЧ.ҹFZ"m_pQxNI49o|/hs=ČQyƛOV]-Lj'rT I`i@tEKn8用V<-q֪r_GLWG$~sN~VJ +XvOj%RGүP=S6?HΌH#{Xm˸ᡴmxEd}Vm6/n~k;d`}aI&ćKn|1j3C<6 GɶA4X_3!m 3AayN7um p+\sQI=>DR*i5T5JP>W.04`y y@/:`(wE2 8XyN+c;93YCf}O]=tʵXBF}m@bMAo\B=īw=fv|&g~x#UJR818RYXUM5|%zE\z΋3O*iw/ѭJzXɧϔy&{85~ vT@`rvQMiV'וU)d6a2 2a T)b(JrX抗qhEI +%lÎqH-&DŽ(a>|@y(cMs89r"-f{&[7&7R ̻]kmj\yڗ 22/3fO1toE_F*a=䩦T@{ʂ |]?S)Fd;cjEy܃1)^;k¼CViW-v ,O<| Kq*ck {s2Xf˶x[N"(3>JVQ HD#fCldž60|t 3ˏ'lI +c:][Z,>-C\u С6S({kO`p6zsT+y +^qJ5 S)qr8c_߲"0γڡ<'쫩E!"-yF#?KD6; E,IIO䈭 +伻mo,8&"͓.q$_PNKPOOF%^d8B*vcRo'x(g%v~WT7~}O{M$Qͥ$l"W-J0X|@q߱^4wցSx-Tt-B%Oas*H ({N<=?6aUw06gntÛ.r&2v\V (' u gl32Ϥ9~ 7U;.LC06N')S/J6Y^m cx/c-{ETn\j 8}J5pU޲Y-'zQֿ:Q7).S=ޏQqd!/1a1]}EsWr^67F@LO]?dptR79k{YwW&@ey^31))EP/N{ Q({Tч:1)\D1I#@>n-.9ޡw+Ok\`g(t*5& +Ug;D{Ƃ^v%!6 +dY 8aǯ0⩺>o(cLv咲^DdAol1v +߮U ]EQ3HKw,}Bo-9mF{v*%(`LjOXJHD{/@)sb=wm8~İZ?8t?..+!r7-'\G@ʄ`*s.X2gUR㬼oXn1O/;n"[h%YcO1ccn-}&{mr?2G/ڼ RnOQ5=# }k렛 Ǩ#lOV֙zD݋VlĆe<՚iOg(/Ǔ`{u)uTMfqr+Th{ͯ@Of5iq?``t{H8XS .~sc0NyvoVP N.3K25@GᛕǡcϤ_)X^O{Ǥ8z~*̹WNF[*.?{*AZƙkƮḁi'hϏ~JjGWV@Y-0Ee:- IZ"[~R͓9"5%6թx= +gZ\$T̞Iƥxy y/<| ڶ| MJb~nY↛}êZe7{NK/lO0+tL^lXyŻYߨSj}?D<(3~xSޢTŶ\yr] v#jl8=EM~k$c|:KB1f.jt:߈ZN{1p-pv(s=e^%`gNJrOnvfE?Pd,FV\퐱Bw=ȹJ߼Wclx /+!|wʴC{_U<QOyLzOZ{[PfS~f:=k.BT`$9Tsp &;5]8WwHMԞ0;Qv,?W 5XK9K؜Jg/=¶F X + 02@B+,VXw`J +@Ƥbq[ȃt"W^ċORZTXl^l'^vޒZ'2QPl/ Ilje|Qԏ 9oʅZOFnvq-/JͶKS9 P=qm)g6s6e&HSH͘ `}%ֵ9D[,$殑vAt +꿣@C{l` +MDk.ցiJ݋[8V2I-O }'b՜g s8uUPn缠gлN]ڧĝDnV lL` Wvp3M)hFۥ=so6 % 'om9H<”EY1h +Y+?x~9KR෎G)W@ɯ$ĉ9 wo.Q߄#(2b8_ʙ%O2sxm>ɮpo+,U?s"n> 6;xeV(2w⹑lWsQ#cXnŘO@f›hXeU)'AMLq܅qh@(ndi` pc{fw"~qՏI^D>qah]`\VY:qk{3er_" +#W^ܷċ3;J +A2⿓Y2g5`8Z:*$ĉ9Vua3F9>JZ]{gs@rm'[>֦EU{e9g̮O c۽NFmRm_m;HNA2N!G|D2⠭ GozwOb3TKG2[!l^e.pVwX0V ԂԷ\ {+E8:q]uKZ6=I;A0yLVϬsV +D_/[3sCiljQ`ĝ!yDf78ثA66f)pohROc٦-Iʤ('cMޏbW} +fГmPﰘiSI%D?!XG>$No]b,֩'W8g="Tivu~Yd^6Y=EZv9r\WJarn1$@aM<6{+Wȗ E)1#W/ɓEsËmųY2sEwBT>gL\j~5'tga.XֱAY$EƘ}W6G+%g-Vȍ X]7rЛ<(@6kJ#M^DOg[V9vV/޽|vg^Z#_/5䬕 JNx:4|%Nr|Ea0oh1/U"BA'HQaAپnwMbo>g},$v|@M] *@2Ͼd?ׁ>+<0Z\Ƃ}wrba/q^Fr +h=grN]o}Q~9ʖqoeP n X8"joW~Rw3+ +ZD&暪 #㆗}OVط6+jsBΦקܢ/ό?gNnNXx'Xk ' tDHHpPl穤HSu,2#Qv2J&Dլwհvmw210 +v%_.v7*N[M0$QTs]y*zxg0)rQ| +q;s}A |0q-#;VuBETPV:{iKG}WI(zz oߋH`xWT + *22M_5i?Rn5I<8zYQB5J[yBw9ɹ eەvׁS~VNGQvܖ<嬼]GȽHӃr IіAĭe`[Y 0 l=R˲M;`(+潝g*H@f\+%(`˅ZOSV4N 4x#w9t/*=QW†6y"-WMAʗSϚraE(~GLnjU<FN?ֿԴ h ;b]n~7?!7B 3{:gJw ?wq<Npoi3;H`6c/"uxd~J|w޴;aU~0K^qUi5;"N0SUoޏb,T`#_=6yߛ( ȐjaM$=ǒ" ^%^7Zl>a* q '>O0?ú^2~dONۑ֋Y9B.3}8]<:LP\^qsng(1CVSPT\p01PcdQo7^ dϨL{Ζs^=31ԑG~PY߰5%S[tF&OqN G䜱b~24?ԟps[#D/ǧ򦸔K 4j/~Sz&(ݼSr8]?nTfౠA +4qir}Cbh/N ;sk4'qytH7H9ʼr?#3TpM28 - Ղ[e~$=x㝢/eT/7% +Tߚ(ǧ9A> +|`SMgїrƒ[ Qy3QV띖m|4U&@7q9LWbں EO4td;aO|QI-( +W - pCrPoR3<rX,@ ?b))1i;r(n= _L pI[ԊsV¹x%)75ZhT<$N8eڹCaG脝lؙr/oE'~ϸ؍%*DNS'J^iop:?N'lO}7 i9vͻ?po7NU6Y*}͍Vxx1S9\^(\׼7䴕緂SʵBP"yaf<21S^Qr^\sgp 5]v^׾IU ~R,⽣3y~yݱKIzARvsq;EoÃͥS᫒ԉ&??9(vYӬ4 ճ72·z2q YucЧDEAW{B<$K- &CƾW :)L۷y߰d)M,fe,DzF.J=y(-#.=SK^^h(>(:5߈[զ8sxy*(BT^PqIy0}\@>? {ڛ>'$w],c6?!_prmw/~iw`xԜQYw})w^Wsvo=)e +y }F }e=B}J6cY)~UD& kr +c 29_=_׻>2OQT_r`:{vgRǜSÄsͻ>ǓlRd FT1(DWL[^O{~ U։6a/(ގ3R_pz;"L{N,%b$qo0YփC нJH-3svA%|'DKM*+Ԝt+G,I<03yy\!k^:ea\W`F2_KsĠyw_qFp='JXz &,y%3JkKK_|ZyQZh3EfwR$14wO1,UŲ/oY6 +w3E.ԩ B2Ґ#iD瑿d\SOMIT||^[Fw sW?sޯxF`o͸ >`G؀"UNȦh%X0'^L`TaoAʿ? + p>gѰGGąJC*w6SĤ(7X)jlG*F8Vi/؟Pmyn`oq 欽dQvr="%+GrmA۸vpRg|fx7+]nz7Y@qpY` JL +1ݸu皉WE)O;yIi3ZoWʇ8]b_e+f$>53ϞsO tU'A>ׁojE116k|~7`),5{&6/$D~٬aAru8;2RJeȸ!-d`B!r_a\ܙ/?@nWwWݗ&>~qWƜ)7_Zb @64vzE?eAD'9cc!fz|$MK e)X6.  /"EC x۔W &r$Qm2)Z>ń{ &64 +V]Ơ'_š@ykpf1Q"EV(=;ovT<ʘ7a;/4l̷ ,I+9N(Q- Xl5؟.{(id a$ jXXK> bPߗ'X= շ޾߹[Ȉ3mjgHN"ӤPœ7T(F֑;i!QWI $g=#T1SA3IA/, +;&M4ӠiラQ^U9GfA0STV9;[ol;[ 1oI#bsI?lWWÿ:DlRT`)3jA),fir[^ d +>_nL\&:E+Vu{YVԙ14iF3V ُSRAĿ1C-v[Ԑ]~̿h 5;?1qؔcu]+ՠ2gŦe/ ?FW_o2.1uFhҤ Y[yԝ1jT:DMdۼxqRYcF_ł%Y)A` {ݨOpu1V&q>"M4] kc|>5gZ`P;UF_wy-^&4T$Ot\#= +]l)2=L4ito 7ƌ$QDOM4ilU_F&M4iҤI&M4iҤI&M4iҤI&M4iҤI&M4iҤIS=4I&M4M?GNȶGDvEi +oc~unr_&M4i(ICv'WVSQYIt:GM4iҤoR'#JmIyޟ1"O)inDdڻw$[$"Pup/IPC`&M4i͋b$$rl 7>y355>dgL*LtuUDQMmyHg&M4iޔ?$J2BoV8h$}@7Z(Oźz7i{%;ש@ʒCK@h>7$V^܏|XNmn"c/IoE?r u^r؇<& +wZtюKC)}*]e4iҤIS)qV6ʵΔ%o9KN;XMb]U-Œ밖(oiWA#b5;_o5(}y_)X4[(Q93j QߛŹfN9ԉE*}QOdM4iҤZ)"Ž]~ ]i7OrA<"JFQbu@IŻG~7$:}vXTO‡I$O+g͕|+ +3N4_ݜlʭWw6.%tеҊxxa֫Vq~YI&M?!"ߍw}Ue,7j "gA( g:pLƾyC(mMdq=l7U`N_+O8pQlȇRFG~0^{=ahR@~kiQY6ܨh4=DbO|̳ 5iҤI5S$QWPMmWJp-9}rnK%%` (8 +kfڧ j}'~"M +Miht/廯͗\ +$SD6X)VhҤIk$x֟ޘ`QkwA{=E g,Tļoc>dc[3+NvoNTe{])KTl +Pr,7%jb<{̸\ "Go+1'|vDT_M4iҤ)k"="$*\):lK?>!nzex)J,O |)ْ$)N;0\4Q{tZxWo3^l'wBTr.?5i?QlM"g.DW]g9TjK<,aG +ն> +I&Mknn4P|껔T'])ף|->ߘln< ;Xذ(>0;/甀I&M4HEZk25o&_Mjkسaզ/tC%;^"f&>lk=c +=V|:n 4D?/"nL:}*Luw;A]FE~Sƻ}ub­uJ`M4it?OZ$y|Gni4@|9ٔ}gxldOҝ@/d}%;lUVD*P0ǫϨ;/V`A@Jű%,8ZSբ㷲@ "ɁT21mJP4a+NJ~yhĪKǒ ^b˜P&M4i + Phlu,>+N"Zdx@@vRʊse[GSE;qJh |*wcFQO +>"j8Il^ + ])~ϽziҤIkRb/ykbkLH`PGvRd.jAT{")(yr>7_i5Q],x9@ݜ}8BiҤIyٟ8Ё;^fOsT:kζYȚ3չ}9_pm|AXlBC4iҤISQ/{-To3״>rpj +I}kO7Jﭺd[OϋM`p難$ֵSu4iҤIp+O8 + +HzpiWgݵ卽lA "h%SFr*y+.Y!SU0[c*!ğ o 4iҤISXRѠ*G9;>; +1Vĺq?g%OCtoE_|oO/?Nz\GY8!qܮ+T3sӹčMb]SUB 4iҤISϹzJҢL#|Ntu9L;o9|JdQ*x IRv7\=JVLE{UHp:.Zr1Ne[ƻzV)Uf=-hAwGJp(9rkZ) XpQk +tprA&M4iV7QEv%ܒLў%P'px牊}7kMy6vN1 DE-F:^ڀvKGLZ̄lPW5iҤISxu cs(~8uC^D[E9 ͦLafJ_UZ.,m:{6w>zk>ϫ;G.`AwM/f}?* bV HM4iҔ Ug2cwA9SĆ'gUPg`I\EoPlYU&u[mꮯ2hñ. `cYU_hujx,uu1cNKEkDCi9F@]G&M4e  U)q6Ew(K$=O{Ȁui[PqZ=DQulUâľ[ hxеE-o oUTMƸ8$*3OW\0OWTi; 0דPGLI&M4 +%cQ@cŋr"`E (@arCbxPS&D ćk.2r{逑SvD)>)4$J YS[2ջ1ʰEL9[#D(g[<Ungr7dǺRZ5:iIФ t>M4iҔe2z{Xĉ'fk-6umEl|zgpo L37^h,:,Un,-r''zm +PS`h ن<3{`S@̀v8WjxUf}xw-uJu: hҤIk"֨9=2ՅH'rq-/4?l(5tE(櫤={({Ly[ӁBCqQX-^rXMr^ <{QoSb3 NJP`A`U_~l;y* dsA&M4i + 8! +5uXE?):jKߗLS {8TGu):"9Ktٶź/Ѯ9H _Z{n4ԫ>-Wv^,*JsΛN|mʿ\q{ L5KD"G6RyR?ݝdIԤI&M2 ~Ds㹧78?6}ѷHKeFP" բP멖{~|-MXÂ30ZTGԚyޔ|sa%OwO->,tR +VT"c»k_&M4e9tpCȱm牆O /8hwj?^{uPpLzH͘+Gr5VԜ򣩵p"_)ڮ(?xjҌ|ڔ()ã7oNR QuM4iҔ?; + eD:uwlBqCQVLt;y{9QR꫔9vq/6hUZ-/KܟkLQjKԊIَb(NϛNAEV =\ {/.M4it ?Vsl|R{p\{IuM[y, &mF7N`rZlm4iҤ)'q {֕,ʌ.- yhB2s"W8d#aqbA&M4i +\'216gGz~'r5,ק':]Gź{%8}8@,/u HS hخxns| EûI]DE;߯ƺ:P&M4e*b%?v&smoTߨX`ZI m#[{XX*yAJbj %FJEZU*d3FRP>&n KTpΔ"J"([+ obTq 4iҤIS8@vYbzTrVy-Vۀ|o?,ns?@"by+dgl=Rv<)Z"P2@&M4iRd+? +JJ˴AǴWv^f`o[AQ7gf:aRjc5 J%*;kʅH0xeE x҉w-7sO +ɮl-M4iҔe}zx +cΆojUwi +u" -~~XTʲس]aaiǑoc'MÆSȄDAym!$ni&f1 t2 "upK&dn=: dԍPކ8"f )>}>InzoO?9g~2wYT\<(6H:n[kҥ_{;_~W:{tvHu+ڰ&_rYP,g Խ&>) n˖ ~v'4m 4OW@ۖa[VqO;X;mIiY??K0פHb:p `KŇA?.nG'V;ҩqR$72 bc2huG{<#X}s'?>vjyGܺ^7cgԊm=%ӽE[L_\ϝ;]@}H0/ :%.鷶#؝όtĸK7˗W﩯[p0G{ ք7]|]ܓV9 S{DX? cX=s\{o`:y|.r- @4lޢ-mK/*qraKEkR|ƣpgqE˶x )I'Jܙr٭kg}l}yWoO_b;Vͭ=oTBēFTNp[:/0q/KHf//y@!/}g]aZc||$n8vI@hq(Mϸ/xŖ/Uw^Xa{j.Y畫6\Q-nV/f| `?zXtCM+HCoOc`"5ž짧-{Y0k{MԼHtvs{^9wcamyB$(.'eսS8&c ?#@8/N݋'Xo[Z|[ۮ3[G<6^]# ~sg.O13v|=nV.ؚ>; "8Ev RŃx3.;j~@B+Wœ}bXc\Lw/Nʾ><@OGY{-^b]ߴ~V?ީ#[_#}<~u +L=nN86f#ɉYY㻋Zg7ʏO$ʚ'lwx?j'JRɋ; hyBP?ַc3 + EB9u4hv!k|>ڛ5lK_~e̔t}z_~Pj4g($D_;G-iߋG3 HCO1>j s!li;rGk&n=0aSd"ڿ?!K߸(}rEſ"Xd[aRX>aƾ-h^ch6Oo>@P8gW_Q(Xo\Gc? X+˞ݽxQ1ɷxb߈߿,hO[ Km3 #g1ljKc$#?"3 ,~Xx⏢͐o۫fשD?[EmM5V>䡕NHF"}ŅbS-A/DޗNl,V㩿>e@0'm1C"(L%QO8}>L /Cp-tEXtSoftwareby.blooddy.crypto.image.PNG24EncoderIENDB`RIFF.eWAVEfmt DXdatae %FHJLN~}{zyxwvutsrqponmlk'ZYXWVUUTSRQQPONMMLKJJIHHGFBCEFG4322110//..-,,++**))((''&&cT + + + + i  oppppZOHHGFFvj*)'&$#xxyyzz{{|}}~~abccdeefgghiijkklmnnoppqrsst>  WLMMNOPQQRSTUUVWXYYZ[\]]^_`ab~{x67789:;<=>?@ABBCDEFGHIJKLLMN0  !"#%&'()*+,-./0123456789:;ADHKNQTWZ]`cfilorux{~Wyl +!%(+.258;>BEHKNQTX[^adgjme@2$ d  #'*-047:=@DGJMPT:ug  #&*-037K=.  v QA1"imquy|qBFJNRV[_cgkosw{l[J9(#(,049=AEINRVZ^bfjnrvz~8  %)-26:>CGKOSW\`dhlptx|s`N<*  #',049=AEJNRVZ^cgko #(,159=BFJN|s`M:' +!%).2 )lqv{ ymXD0INTY^chmrw|@G2!&,16;AFKPU[`ejoty~oZD + %+05:@EJOUZ_dinsx}w`J4 + %+05;@EJPUZ_dioty~ i. "(-28=BHMRW\bglqv0v_H0 "'-27=BGLRWM4jdjpv| "(-28lS;# ;AHNTZ`gmsy +tw]D+A!'.4:AGMSZ`flrx~x^E1!(.4;AGMTZ`flsy_mS8 +$*17=DJPV]ciou{[?$  #)06=CIPV\bhou{Y{_D) nu| %,28?EKRX^dkqVlP3?FMU\cjqx"(/5FOW_gox #+2:AIPW_fmt|-# #""""f"E"%" +$,5=ENV^gow #+2:AHPW^###w#V#4##"" '/8@HQYairz&.5[$$`$>$$####p#  %-6>FOW_hpx^%;%%$$$$g$D$!$v '/8@HQYajrzC &%%%z%V%2%%$$BENWajs| +$-5=FNW_gpx&&&b&=&&%%%%b% )3* *))t)B))d -:GTanz'1;FPZdoy )2*)))j)>))(((e(:(5&1=HT_ju#.8BMWalv &/9B*))~)R)&)(((x(M("('u'2>IU`kw$/9DNXbmw +'0:CL))a)5) )(((\(1((',8CNZep| )3>HR]gq{"+4>GPZ)k)?))(((f(;((''' :EP\gr~  +5@JT_is}#-6?IR[dn*#?))(((f(;(('''g'@LWbny&1;FPZdoy )2IS]hr|",5>HQZcmvI(((a(6( ('''b'8''& +Wcny'1"((''''U'+''&&&\&4&r}  +5@JT_is}$-6@IR[enw('''W'-''&&&_&6&&%$/9DNXcmw '1:CMV_hq{'''V',''&&&^&5& &%%%&1;FPZeoy  )2FOWp &%%%d%<%%$$$w$P$*$$##$.9CNXbmw '1:CMV_hqz!)1:BJRZc%%%a%:%%$$$u$N$($$###'1##"""i&1;FPZeoy  )3GPYclu~ $,5=ENV^fnv~) /$ $###p#J#%#""""k"F"""!!!6AKU`jt~%.8AKT]foy'08@IQYaiqy###u#O#)##"""p"K"&""!!!r!N!GR\fq{"+4>GPZclu~ $-5=FNV^fow#s#M#(##"""n"I"%""!!!p!M!)!!P[eoy  *3=FOYbkt} +#,4E{""f"B""!!!!i!E!"! r P - y  *3=FOYbkt} +#,4=EMU]fnv~ '.5  qP. hH(  *3=FOYbkt} +$,5=EMV^fnv~ + '.6=DKSZahov}B uT2lL, lMI &/9BLU^gqz )1:BJR[cks{$,3:BIPW^elsz KyW6pO/oP0!+4=GPYclu~ %-5>FNV_gow +!(/7>ELS[bipw~ +#*08|Z9sR2rR3z %.8AKT]fpy (09AIRZbjrz$+2:AHOV^elsz  &,39?EKQ$^>~^?fH* &,5?HR[dmv &.7?GPX`hpx ")18?GNU\cjqx %+17>DJPV\bhuT4tT5{]> HAJT]foy (09AIRZbjrz$+3:AHPW^elsz  &-39?ELRX^djpv|q >}^>fH) wY< QZcmv &.6?GOW`hpx ")08?FMU\cjqx %+17>DJPV\bhntz`@!hJ+ x[> ,dmv &/7?HPX`hqy #*18@GNU\dkry %,28>DKQW]ciou{cC$jL.{]@#vZ=!o~ %-6>FNW_gow !)07?FMT[bjqx $+17=DJPV\bhntzsT6eG* }aE)  !*2;CKS\dlt|&-5EMT[bipw~ $*17=CJPV\bhntz !&,hjM0fJ.lP5 #+3EMT[bipw~ $+17=DJPV\bhntz "',16CHMRW\afkpuzqV;eJ0}cJ1mT<'/7@HPYaiqy$+3:AHPW^elsz!(.4:AGMSY_ekqw} +%*/49?DINSX]bglqv{B& kQ7iP7rZB*DMU]emv~ +!(/7>ELT[bipw~ %+18>DJPW]ciou{ #(-27=BGLQV[`ejoty~ tY?% qX?& zaI1u^G0hpx #*29@HOV]dksz!'-4:@FLSY_ekqw} +%*/49?DINSX]bglqv{ "&*.37;?( +pW=$ x`H0s\E.zdNq #*29@HOV]dlsz!'.4:@GMSY_ekqw}  %*05:?DINSX^cglqv{ #'+/37;?CGLOSW[_cgrX?& yaI1t]F/{eO9# v  ")08?FNU\cjry  '-39@FLRX^dkqw} +%*/49?DINSX]bglqv{ "'+/37;?CGKOSW[_cgkoswz~yaI1t]F/zdN8" wbM8# %,4;BJQX_fnu| +#)06BFJNRVZ^bfimquy}oXA*v`J4r]H3 +|hT@, +!(/7>EMT[bjqx  &,39?FLRX^djpv| + %*/5:?DINSX]cglqv{ +#',048<@DHLPTX\`dhlptw{K4iS='{eP<'o[G4  r_L#*29@HOV]dlsz"(/5;AHNTZ`flsy "',17BFJNRVZ^bfjnruy} +  #&iS='{fQ<'o[G3  r_L9& +AHPW^emt{ #)06ADGJMPSVY\^adgjmorux{}t`N;(p^L;)|kZI9(vfVG7(  > #)/6DINSX]bglqv{ !%)-16:>BFJNRVZ^bfjnrvz} !$(+.147:=@CFILORUX[^`cfilortwz}j}kYG6$wfUD3#p`QA1" { m ^ O A 2 $   h")/6BFKOSRIFFC$WAVEfmt "V"Vdata$tq^~qu{nrmuctrigzsjZ~w{\y|ih{s~~jwlbWs`otrt{w{~|w}bu~`nosr_wmsold|\xkhai}zw|~i}emqst}em`z{pvt}su~skhhqp~yuskfk`zottyy~`pnqx~zzvhxcmnw|swrw|`qmeuzr|t|mogmxj]hu~didi{}qxws}dpxr|pt}ystygqvz}pkv{vublucwtw{sy}z|i{souptvwks|y}{`~xvoj{nvmt|m|ve|}yjn{wrju|}ln}gpqzfzt~sxrkztxfjpn~{{s|q|n~|toto~lymtvqjrvhovky~yqptun{qxmyltngtltw{qlv~y{vsmuwx|pxyxpu|xyaqptt~ryv|ooyz}}sz}rur}ux~xvnixky}tiv~xz|x~x{ezvr|pjm}xyr|~|wpzyp{{uuy~s|vzxzryvxq{zyzvxx}z|wpm{tzutwuzp{y}|n~|~za~fyk|yq{msovwxzqpo~w|{r~yoxz~qkov~x|qy~~f|x{zzynmvjx~xxz}izrj~~ztn~oo}uq|mpxxypo}zxq}}vtx|e~zxky~{|i|qu}qwjupr~lxhwvk~wpuvr}yu}zyrjqy{}vsu{qsk{}}mu|~tqwo{oyw}|o|uw{qx~w|xv{su{mxxvxvz}xtym}sjozyqt|t|r~tywt|~q{u|~{rtyu{|rv{tq}zrw|||tjy~uthq~rptsv{xp{y}vnrsy~{{ptuoxpp{tqvwmyv~{~s~tzmgvlvl~zvpvp~n}i{q}x{nw{qw}suy|}xpw{z||zzm}yjlwszzxs{zzyvtuxq~r|~t{i|uu}vzzw{xvxqxrx}}y~{{h|xwp~txrv}uwqvxrkz{s~m|vks{sjgt~qznv|zs|}{~ptov}||}suys}qt{{z}ynyr}{zr|{xqq|yy|}xtp}vz|w~wkxmtw|xq|xqqv}wwt{uxsnsxwrn|}|{zq}yzszxy}~~}rtuppqt~~{k|yyrx{zyt{z~~yxx|oqozh{rywr|xtm{w}sz}xy}{{svwtw}z~w|{yr}o}~kvtwvyt}vy{~nim}p~qty{{u{xwu~}mmyr~ypwopxuvytu|xltvuy~ww|urwv{ypxnsws|vywxr~s{yq}{}puzqzso}ww~~}}}~~|vsu}{}wzwowuk||uw~~qzyt|wk{vzwyyn~xpxo|j}~y}{~ozpyy~m{ywzvlyt}x{x{v|}{{kwyuqw|}~}tx}s{}p|xuxztt~ntsyr|}wr~|vv}|yyv|kupy~tovr}rxu|}wwq}x}v~u~zyu~}utv|~txyu|}z~vz}rx~{w~{ywtxrty{{v{k~vtm|~|z{u~rok{x}}v}~|~{~vpyw~m{x{qz{uyw{||vyv}v|{ws~{uv{|x~s}nzv}ov{|{kxykv|u|{}uw~~vxvmvpz~zyu|}pwt{z|zvvp{{~~}{|z~wu|vv~v}nxsx{z~}{w{yxw|wyy~rtrstuw~tvxs|}uyyt|uzvx|q}{u}vv}sw|o}{|n|wux|{vs}y~~syzysy|ruyxqzq~vu~~uw{yy}o|{}tv}w|zvt~{y||}|w~{r|~xqtr{{zyoy}quzsu|{vz~{z{~yx~~ss}y~{|yzums~|zwuz}pyyu|zz}{}w}||xxyzz}vwwolz~z}pz|rvv|x|{|xw{v~|tvwut}x|}~zuw{z}|sxzus~yx||~v~{zw}yzw{zwxyy~}{}x}o|wrqvysy}}v}p}xy{vvyvpz~}nx~}z}w{}st}ywzyyt~~x|ptv}{pxzos{v{~t~q|}p~~uywrszqwxw|zw{|{q{wwtyuz~~vr|~~u|x~yzytx~|y}yru{u|{zvuwzqsq{v~xrpy|yx{{t}~~}~z~}uyyyxxxvz{zw}{{~yw{~vt{|xw{}vszw}}}ty}vuyz~~|uzyxx~vyt}|zszx}zzzy}}|}|}w{}{xwutxv}}}u~~zs~~{z|s~{yw|}xx|{xw~|x{rw}|}}x~w}q}z~|ztzw~zzx{{~~qurs{~~x|xz|s|vry{y~|w}{~|uuy{vw}{{{vrw~|pwwxzzvry|z{~~z}yvvz|}tzyzq|x}{xt~{}wyzvvx}|vx~~tz~~}w~y}~wry|}w~w{~~|zv~|s|wt{{zy~~}|{zz}z}~}{s|zz}t~~|r~y||~zzt}yw}ww{~x}~svw|vxzwz|zy|}z|~y}~xvz~zzx}zyuzxu|}y}w||v|yzt|~|}y|w{|vsy{}|y~}}z{~~wz}{zy|{x~}{y{{rw|u|wvr}~z|}}}~{zw}|}~}{~w|ywy}{xzy~{r~~yzzwv{rws~xr~z~~w~}}xy~{~|}|t}}y~|z}}{yxvwv~{y~{{u}}x{u|{t|xz}{v~||~{}}}}}}y~x||{z}~~{}{xxxw}z}~|yyx|zy}s~}|yx{y}wy}|||x{ywyzy}x{}|{}zyzuz}|}ztwz{}~z~|~}}}w}~}xv~~}z|{~|twx|~~vz}{yzxu{||zvxy}y|z}~z{~z~zy}~y|}v}y{{y~|yw{~zt~~z|v||~{~~~v~}z~|}}{}~w{}|{}~y}|{{~~|w|zy~~{~~|}wzzy{z|{||w|||vy}~x~y|vy~~|y~w|}||}}~{zw~}}~{|y}xw}}xzz|yw|zy~{x}zz}}x{}}yx{~|z}|}}}{~~vz}yz|}z}}z}~|~{}x|xz~{yw}~{z}zw~zx{wy~zx~~y}~z~}~yy{|~}xyx{|x{wyz{|{yy}~yy}y|~~~~~|}z~w{x}w|}{|y}{}x}}}}w{~~vv~yv}y|~~w{y|}y{y}zwz{{{~z~~~|xy||xyz}|z~~wy}|z{}~|y{~}||xy~}~||||zw{}|~~zy}|{~|}|~||yyywzxyz~zw}z|}y~}z||}}~y|z{y}{|{}{y}y}z}~z~z|~~|}z}{z{~{|}}|~|~}y~{{~~{{~|yy}z}~||z|~}y{~~~}||{}yyz~|~x{z{}x~{}z}{}|~zy}|}~w~~xz}~~{}z{{~zy}|}}}}{z}~z}}}||}{{z~w}~}{~~|{{~{~|~}yy}|~~~{~~{}|}||}}}y|~}}~~~zzy}~{zz|z}y||{||~}z~~}|~zxxy~}z~{~}~~~}|}{}~~}~|z||{~}~~{~{}{|~z||{z|~|~y}~~|~~~||||~}}{{}~}~{~~~{~~~~~}z|{z~|}|{z~}|}~~}|{}{|}{}{~}|~|~}z~~|~~|}~{z|~|}}}|~||}}|~~|}z~||}~}|{{~~~}{z|~||~~}}~}~~|~|~z}~{|{y}z}{}|}~~}}{|~|~~~~z}}~~~}~~|||}|~}}~~}~~}|~}z|}|~~|}|}{|~}}~}|~~}~|~~~~~|}}}~}}|}~}~~~}~}|}}~}}|~~|~~}|}}}|}|}|{}}}~{~}~|~}~|~}~}~~~~~{|}~~~~}{}~~{}~~~~~~~|{|}~}~}~}~}}|}||~}~~}|~|}}}}~}~~|}~{~~}~~||~|}|}|}|}~|}|}~~}~~~|~~}}~~~~|~~~~~~~|}}|~~}~~~|~}}|}~|~~~}~}~{}~}}~~|}~}~}}~~}~~~}~~~~~~~~~}}~~~}}~~~~|~~~~~~}~~~~}~~}}~~}~~~}~~}}}~}~~~~~~~}~~}~~~~~~~}~~~}~~}~~}~~~~}}~~~~~}~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~RIFF WAVEfmt "V"Vdatawppp~pppppppvtppppppp|pppzppppppprxppp~pppppppvtppppppp|pppzppppqqqrxqqq~qqqqqqqvtqqqqqqq|qqqzqqqqqqqsxqqq~qqqqqqqwuqqqqqqq|qqqzqqqqqqqsyrrr~rrrrrrrwurrrrrrr|rrrzrrrrrrrtyrrr~rrrrrrrwvrrrrrrr|rrr{rrrrrrrtyrss~ssssssswvsssssss|sss{sssssssuysss~sssssssxvsssssss|sss{sssssssuysss~tttttttxwttttttt}ttt{tttttttuzttt~tttttttxwttttttt}ttt{tttttttvzttt~ttttuuuywuuuuuuu}uuu{uuuuuuuvzuuu~uuuuuuuyxuuuuuuu}uuu|uuuuuuuwzuuu~uuuuuuvyxvvvvvvv}vvv|vvvvvvvw{vvv~vvvvvvvzxvvvvvvv}vvv|vvvvvvvw{vvv~vvvvvvvzywwwwwww}www|wwwwwwwx{www~wwwwwwwzywwwwwww}www|wwwwwwwx{www~wwwwwwwzywwwxxxx~xxx}xxxxxxxy|xxxxxxxxxx~xxxxxxxxx}xxx{xxxyxxxxzxxx|xxx~xxxxxxyyy}yyy{yyyyyyyyzyyy|yyy~yyyyyyyyy}yyy{yyyzyyyy{yyy|yyy~yyyyyyyyy}yyy|zzzzzzzz{zzz}zzz~zzzzzzzzz}zzz|zzz{zzzz{zzz}zzz~zzzzzzzzz~zzz|zzz{zzzz|{{{}{{{~{{{{{{{{{~{{{}{{{{{{{{|{{{}{{{~{{{{{{{{{~{{{}{{{|{{{{|{{{}{|||||||||||~|||}||||||||}|||~||||||||||||~|||}|||}||||}|||~||||||}}}}}}~}}}~}}}}}}}}}}}}~}}}}}}}}}}}}}}}~}}}}}}}}~}}}~}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~RIFF6WAVEfmt "V"Vdata6qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqxqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqxqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqxsqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqvqqqqqqqqqqqqqqqqqqqqqqqqqqqqqxqqqqqqqqqqqqqqqqqqqqqqqqqqqqs~qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqquqqqqqqqqqqqqqqqqqqqqqqqqqquqqqqqqqqqqqqqqqqqqqqqqqqqquqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq~qqqqqqqqqqqqqqqqqqqqqqqqq|qqqqqqqqqqqqqqqqqqqqqqqqzqqqqqqqqqqqqqqqqqqqqqqquqqqqqqqqqqqqqqqqqqqqqqqzxqqqqqqqqqqqqqqqqqqqqqquzqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq~qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq~xqqqqqqqqqqqqqqqqqqqq~uqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq~qqqqqqqqqqqqqqqqqqqxqqqqqqqqqqqqqqqqqqqssqqqqqqqqqqqqqqqqqqzqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq~xqqqqqqqqqqqqqqqqqx|qqqqqqqqqqqqqqqqq~sqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqxqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqzqqqqqqqqqqqqqqqq~qqqqqqqqqqqqqqqqsqqqqqqqqqqqqqqqxqqqqqqqqqqqqqqqvqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq|xqqqqqqqqqqqqqqv|qqqqqqqqqqqqqqxxqqqqqqqqqqqqqqqqqqqqqqqqqqqquxqqqqqqqqqqqqqq|qqqqqqqqqqqqqqzqqqqqqqqqqqqqvqqqqqqqqqqqqqqqqqqqqqqqqqqqzqqqqqqqqqqqqqvqqqqqqqqqqqqqzqqqqqqqqqqqqqxqqqqqqqqqqqquqqqqqqqqqqqqqqqqqqqqqqqqqqsqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq~vqqqqqqqqqqqsqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqxuqqqqqqqqqqqqqqqqqqqqqqzqqqqqqqqqqqsvqqqqqqqqqqqxqqqqqqqqqqsuqqqqqqqqqqxqqqqqqqqqqqqqqqqqqqqquqqqqqqqqqqqzqqqqqqqqqqqqqqqqqqqq|qqqqqqqqqq|qqqqqqqqqq|qqqqqqqqqquqqqqqqqqquqqqqqqqqqqvqqqqqqqqqxqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqv~qqqqqqqqqsqqqqqqqqqqqqqqqqqqsqqqqqqqqu|qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqquxqqqqqqqq~qqqqqqqqq~qqqqqqqq|qqqqqqqqqxqqqqqqqqqqqqqqqq~qqqqqqqqzqqqqqqqqxqqqqqqqqxqqqqqqqq|qqqqqqqqqqqqqqqqxqqqqqqqvqqqqqqqq~qqqqqqquqqqqqqqqzqqqqqqq|qqqqqqquqqqqqqqqqqqqqqqquqqqqqqqvqqqqqqquqqqqqqqsqqqqqqqqqqqqqqvqqqqqqqzqqqqqqqqqqqqqqzqqqqqqqqqqqqqq||qqqqqqqqqqqqqqsqqqqqq~xqqqqqqx~qqqqqquqqqqqqsqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqxqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq~qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqquqqqqqqqqqqqqqqqqqqqqqqqqqqqqq~|qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqxsqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqxqqqqqqqqqqqqqqqqqqqqqqqqqquqqqqqqqqqqqqqqqqqqqqqqqqqxvqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqxqqqqqqqqqqqqqqqqqqqqqqqqzqqqqqqqqqqqqqqqqqqqqqqquqqqqqqqqqqqqqqqqqqqqqqqxzqqqqqqqqqqqqqqqqqqqqqqq~qqqqqqqqqqqqqqqqqqqqqqzqqqqqqqqqqqqqqqqqqqqqqvqqqqqqqqqqqqqqqqqqqqqq|qqqqqqqqqqqqqqqqqqqqqzqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq|sqqqqqqqqqqqqqqqqqqqxuqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqzqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqsqqqqqqqqqqqqqqqqqqsqqqqqqqqqqqqqqqqqq~xqqqqqqqqqqqqqqqqqv~qqqqqqqqqqqqqqqqqzvqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqquqqqqqqqqqqqqqqqqqvqqqqqqqqqqqqqqqqsqqqqqqqqqqqqqqqzqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqvqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq~uqqqqqqqqqqqqqq~sqqqqqqqqqqqqqqqqqqqqqqqqqqqqvvqqqqqqqqqqqqqq|qqqqqqqqqqqqqqzqqqqqqqqqqqqqusqqqqqqqqqqqqqqqqqqqqqqqqqqvqqqqqqqqqqqqqsqqqqqqqqqqqqquqqqqqqqqqqqqq~qqqqqqqqqqqqqqqqqqqqqqqqqqvqqqqqqqqqqqqxqqqqqqqqqqqquqqqqqqqqqqqqqqqqqqqqqqqqx|qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq~qqqqqqqqqqq|qqqqqqqqqqqq|qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqzqqqqqqqqqquqqqqqqqqqqqqqqqqqqqqqvqqqqqqqqqqqsqqqqqqqqqquqqqqqqqqqquqqqqqqqqqqqqqqqqqqqqvqqqqqqqqqqxqqqqqqqqqsqqqqqqqqqqsqqqqqqqqq~zqqqqqqqqqz~qqqqqqqqqz|qqqqqqqqq|xqqqqqqqqqsqqqqqqqqqqqqqqqqqqzxqqqqqqqqqqqqqqqqqq~sqqqqqqqqvzqqqqqqqqq~qqqqqqqqqqqqqqqqqqqqqqqqqqszqqqqqqqqzsqqqqqqqqqqqqqqqqqxqqqqqqqqqqqqqqqquuqqqqqqqq~qqqqqqqqqqqqqqqq~qqqqqqqq|qqqqqqqq|qqqqqqqqqqqqqqqq~qqqqqqqquqqqqqqqxqqqqqqqq|qqqqqqqvqqqqqqqqxqqqqqqq|qqqqqqquqqqqqqqqqqqqqqqquqqqqqqqvqqqqqqquqqqqqqqsqqqqqqqqqqqqqquqqqqqqq|~qqqqqqqsqqqqqqvqqqqqqqsqqqqqqxqqqqqqqqqqqqqqvqqqqqqz|qqqqqquqqqqqqqqqqqqqqqqqqqsqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq~uqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqzqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq~qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqszqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrr|wrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrurrrrrrrrrrrrrrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr|rrrrrrrrrrrrrrrrrrrrrrrrtrrrrrrrrrrrrrrrrrrrrrrrrrtrrrrrrrrrrrrrrrrrrrrrrrz~rrrrrrrrrrrrrrrrrrrrrrr|wrrrrrrrrrrrrrrrrrrrrrrt|rrrrrrrrrrrrrrrrrrrrrr|rrrrrrrrrrrrrrrrrrrrrryrrrrrrrrrrrrrrrrrrrrrr|rrrrrrrrrrrrrrrrrrrrr{rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssss|tsssssssssssssssssssyvssssssssssssssssssssssssssssssssssssss{ssssssssssssssssssssssssssssssssssssstsssssssssssssssssstssssssssssssssssss~ysssssssssssssssssx~sssssssssssssssssyysssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssuvssssssssssssssssyssssssssssssssssvsssssssssssssssysssssssssssssssssssssssssssssssssssssssssssssssusssssssssssssssussssssssssssss{yssssssssssssss{xssssssssssssssssstttttttttttu{tttttttttttttttttttttttttttt~ttttttttttttttxttttttttttttt~tttttttttttttuttttttttttttttuttttttttttttttttttttttttttztttttttttttttwtttttttttttt~}tttttttttttt{~tttttttttttt}{ttttttttttttutttttttttttutttttttttttttttttttttttt}wttttttttttt{xttttttttttt~tttttttttttttttttttttttwztttttttttttttttttttttt~ttttttttttt{ttttttttttt}ttttttttttttttttttttttztttttttttt{tttttttttttwtttttttttt{tttttttttt~tttttttttt}ttttttttttyttttttttttuuuuuuuuuu{uuuuuuuuuuuuuuuuuuuu~}uuuuuuuuuyuuuuuuuuuvuuuuuuuuuvuuuuuuuuuwuuuuuuuuu{{uuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuy{uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu}uuuuuuuu|vuuuuuuuuuuuuuuuuyxuuuuuuuuuuuuuuuu~uuuuuuuuyuuuuuuuuuxuuuuuuuuyuuuuuuuuxuuuuuuuxuuuuuuuu|uuuuuuuuuuuuuuuuyuuuuuuu|uuuuuuuuzuuuuuuu}uuuuuuuuuuuuuuuu|uuuuuuu~uuuuuuu}uuuuuuu|uuuuuuu|uuuuuuu}uuuuuuu}uuuuuuuxuuuuuuuuuuuuuuzuuuuuuuxuuuuuuyuuuuuvvvvvvvvv}}vvvvvvwvvvvvvvvvvvvvvwvvvvvvyvvvvvv}|vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv~vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvxvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvxvvvvvvvvvvvvvvvvvvvvvvvvvvvvv}~vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvyzvvvvvvvvvvvvvvvvvvvvvvvvvvv}vvvvvvvvvvvvvvvvvvvvvvvvvvv~~vvvvvvvvvvvvvvvvvvvvvvvvvv|}vvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww|wwwwwwwwwwwwwwwwwwwwwwwww~wwwwwwwwwwwwwwwwwwwwwwww{wwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww~wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww|~wwwwwwwwwwwwwwwwwwww{|wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww~wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww{wwwwwwwwwwwwwwwwww|wwwxxxxxxxxxxxxxxx}xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx{xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx~xxxxxxxxxxxxxxxx}xxxxxxxxxxxxxxxxyxxxxxxxxxxxxxxxxzxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxzxxxxxxxxxxxxxxxyxxxxxxxxxxxxxxx|xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx|zxxxxxxxxxxxxxx}xxxxxxxxxxxxxx|xxxxxxxxxxxxx{xxxxxxxxxxxxxxxxxxxxxxxxxxx|xxxxxxxxxxxxxzxxxxxxxxxxxxx{xxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyy{yyyyyyyyyyyy|yyyyyyyyyyyyzyyyyyyyyyyyyyyyyyyyyyyyy|~yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy|{yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy{yyyyyyyyyyyyyyyyyyyyzyyyyyyyyyyy|yyyyyyyyyy}yyyyyyyyyy|yyyyyyyyyyzyyyyyyyyyzyyyyyyyyyy~yyyyyyyyyyyyyyyyyyyy|yyyyyyyyy}yyyyyyyyy|yyyyyyyyy|yyyyyyyyy|~yyyyyyyyy|yyyyyyyyyyyyyyyyyy|~yyyyyyyyyyyyyyyyyy}|yyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{}zzzzzzzzzzzzzzzzzzzzzzzzz}zzzzzzzzz~zzzzzzzzzzzzzzzz}zzzzzzzz{zzzzzzzz{{zzzzzzz{{zzzzzzz|zzzzzzzz~zzzzzzzzzzzzzzzz{zzzzzzz~zzzzzzzz|zzzzzzzzzzzzzz{zzzzzzzz}zzzzzzz~zzzzzzzzzzzzzz~zzzzzzz~zzzzzzzzzzzzzz}zzzzzzz{zzzzzzzzzzzzzz}zzzzzzz{zzzzzz}zzzzzzzzzzzzzz~zzzzzz|zzzzzzzzzzzzzzzzzzzzz|zzzzzz}zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz~{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{|{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{~{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{}|{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{~{{{{{{{{{{{{{{{{{{{{{{{{{{~~{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{~{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{~{{{{{{{{{{{{{{{{{{{{{{{{|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||~||||||||||||||||||||~~||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||~||||||||||||||||||~||||||||||||||||||~||||||||||||||||||||||||||||||||||||~|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}~}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}~}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~OggSHC!rvorbis"V!OggSHuN;vorbis+Xiph.Org libVorbis I 20120203 (Omnipresent)vorbis$BCV@B*c:!B)B!$C:5cGdBɁАU@WPrI-sWq s gq %s9r1sWr)-sGqsGqsm1r9s Rr5sgr %s gq s5r9s9s9s1s9sn1s9s9s9s 4d(( +@qGK$  YHHXfi&z(*iʲ,˲. +HPQp Yd`(8XYP GM$<<<<<<<  Y (dBCV@!CR\ +BCBC)%cSA!|={АUa8$!b'Dq !$Xy$݃B{˹{ 4d B!B)RH)b)s1 2蠓N:ɤN:$Rk)SLc֜sA)c1c1c1# YdA!RH)r1BCVER$Gr$G$ɒ,I<˳<˳c|.b9>a1sc\s.0 l_Fc|5{1#1sEb1F_ FRgVq "BCV11 RJ)c1c1c1Ɯc9+ؕYZQI^A:b32R*fr"j +nА䤔Z-BAi5 $$"c҂1Ic +!v1R +R +j911'R @ $A 08@9 ph DL`P 2"B*HLP.tA . 'thff#Cc$Dd$@ !"  OggS+H>͊dk&B7VtM=Yc'h)bR}ӣ˩4JkvKg(Cf()6/.o~>Z^n|^j'tV* Ҝ/M?u!Fm4+?v֥IٻK} +Ӛkw/d9S(*8Md8A+'JPM㾄55懛Jn-L&c/oܪsvf .Az\dus1ߥq־QUFD{]ͳ6SҞwXf-R$VbK> +Sb 6m9rYmJ\DYu2!*\H_>Y/:c$["QtcnE٨NeD| T'1!Cف4VųgSzՏE MYqÛLׅI]jua!V|漚; 2a[7E)y7!3T]ft9Uϝa^{Vһ`C9)0QAz"~{96꺈{?a2 +sg3XCټ޶3A8G>YEsRWa<3MxVcwV/]^38%\h. ƹfK'x3u``8 VEm* ;}r<'-U z q:3OpY4ww2'GYQ4/~}Kv a8||KŊ͌1J+^:FԺӼaGIL8L<$٪e_jIlxM,d3>R!]PߴwSuWt)ȳxNHVaNe;-ZZ kG6:m/ \氬"?ݚO7o +kQ,<ɕ)&"%4Nw8xw͇Ye<704C&a?i֙}RK}?XqkrAQsoS}j; +@_Xu&]!JЧ}Z)- k!ԦM8mjZZw`^KJJB[P6deFH6 * b+s3w/Jeꂴ}_ +^y"ܴqVEoZsׂ$i&I1IT4fbn.M%1䔽 FstGbj%Z*AJbw)Am:[{5Zmx06z2I7eEwOU׃YZq{:)?C1yþoh;Na?Jlik6FRs6XS%֓uYFc:> oDUu^#Zr(2ܕw'MsgWVʠ՗[(U]dNAJvKaOTF*3!zE`0+[DMG<;~{T1ls%ސw? JEP\dd6o*LMTug5!մ8VYls]1sz߼*vJ6Ӗ\L;ow(NsT>[:* rIc6n񝝦vSFjXרO<۸8yw豙Go0}EƁJkyBos/ajYBNVM}dY)`Y'' Iэz%z;pޓ[J5=(pmaZ}L%:UuDRaKQsu3Z+ERb +}BTeL<yFz31sϒ#u.e틔3L[o:ڊ٥ ey(e65{53)ҝP}hshP BDgQ9k*i[6,%>ZH֝k61_U62::UO`ڄǽ-^;+Gӥ-]-WB)M뎬|;4.m;H͈k_!+qs\>e5&be߄ +-OWc3ٟb>mұ0Vq3Os!W2L HUۻ4i×3]bEK/% Vp2~2܏+aoda}O~pԕ +ɇi8㿝>ʹ}J5 w?S56x$ 3hӷ$i^jiMqKaQMC vzf?lEM4ք0gkjg?%܍O=t7a~ľiiw së~P,5s^GUTX'x"zJr`a6;$1aT^J0UW1&n+5k}tNyvL=og7-o+I:bGN/ٻXg==5`ס<1&N0w/m{k~&v68UG?U f~l2<{%~R+H[۲li}F|ݽ,0^0t}IۈҦƑƴۛKw³'UWJ[YڳJ(9\cV#FՑ)o)$Mz&ItҚqK$y5%Pt7<sU:llV@&`߾Z;@GWK&9y~/2g jkn䆳[NM7u[Ѿ=B 'QȤR&ϬO8ULMvtaV_ )U,V@&i, +=:qy!~oȊ(-+T]E7.2YvjJ(XuzxJͻnN4Ғ'YҮhעҷB NUBѺ! ]j~yٻ&j\~CRGnO-=/. a=Q;M$r_°lITސl2Oˊf|ʗ =>f Vmyh}!/ %)cCcNO͜(,@~.u∿>&-aϽOMok111XsSMشq8y24E:v^K˾MЊyvng3`ØSrKzGg V`.'p/coh7m{{[gem?zLRQ{oCҎX{0 [?& n)fԑX0,ĢZ̀#oy igk[k~%ѭ3ofis%Zuv D"PF`ib]JA_U4n45`aYs+^v,' D7w`3Spڸ4hteb8cS>Hlt3w sVn,!,_ +Uc|,*lBc2:q#ˈnSWbĔ&-/dSx6\E@̐<)jspY^f Vpw[sUev:|c,b SUT̫gԐGk Iv7H[b>s1E?uj*X}sl<&$_Nl|oDƼOsw5/jn~3.0F0)TWg +݅y{Ugh52ˆtWqNKޅYCp۳Y0w(=|EQ +YYXeo6Ֆ;=3xUu0ŏQʲY2M;Y9^@Zy~fvrq[=0>U<,tb) ҂#3Vf>V{C^"S5BŰRu kqǽYk v j$hr/n㸕쮨³m*'oǣbF6Lo@‡^NK&є’S=uj}t ␗zva&xG_X+(IVun4*ʻJ>mi +bJ8İB՜*Z$ښ% +i+ߧTeIq>vlV @ sQ#R4 +EQs-qʺm*.#QM!_LAdYa;[!_2$d(ڍ- i5'vlOcD[5 lλOqp7ZV4VgB0vcǎ%1+we8v5'I"Y}9amjecW1P=̤+uƎXrZ]\Y!*|9/vsDm6gzX08 2Zӽd-= iBjq7M >ijVb'?ᓽl'h^#]`O6VL<۱bzLYg)p.ZW'_gJ9|>k2Z{vb<χ |Uة26Ax-L.t sܤ]|^#de;nɡï:[:ޜ\{X׼Mc^tPL[7cGǟщi2Jjrgo︴yyegOkˢՍ׭ ޼,M";{~zo}?02=k:h8X  mSL5/5eQ$0jyD4)VP-LbZ!TO%֎5I.=CO,b~D]Y)VLֻoKRzwA$zG>Em+eBڡPLN9sbᖚ+Y=PZ4U:`]u 8݅DRt`;FE$V[~(e 4^4qJ%+ 5A76](.{h6 UY޴1y,*0CDjቕ72m=|-HtSyo*Uޡz戩ETt6W7|iFh(@>)qzxy U;w^yX0eCZk b h3Mu4 }Dp9TdNV#$,I_H۵Voܣha~4tgwhhxA%Ѓo1y0i/e K֔=%X׌8."!1/K>v)Y­M;OtW+KA-m6/e^"ڎ4}2r]BHtY=&iQa9?HKjkixz R#vSǷ{ hT\G|iG洙-%Z>{C3IvD l~s9ނM=0n')]^f)`uݭ lp+ PkJUg5y-Ayia|^GY<[m/\$ We zep@sj)tJqYϗV'RڬR4e֓p87Ymi +ރ_|x^$#Vah,F!}H[$Z"blIIr}b_g{˦X`~L)r}0~hh풘i=f{q#=cKNeyTܨ\|@V~4Ti;45_4Nk !Xyg3}l76 WѻOZ0wVyMS71xڑa2i_NuY$椈䢍>} H.;ǽzc7Nvme^] +q)]φqPSGϟ+W?cx^LѾ8Y}-ŭoύK(3~ݭ̧։r[N_ӎX?4H+g=G[pܨq[#DlӛRY~ +Ax 7<ηJ˪&J}a+=hv_qGY$֫>#Mi[^N}m̪T8YQEU1J 䢍mQ @˅w?"JcV/68ofc^ޮ9$Hŵ|ij\:Zv/M=ԫ7<IOo4/Lpo=\}?>:yյwG;tBO3ݐ"0wá7z6>h=YXּgp0.E*/J”٣ +YzA",Ft[l~U۪ώn=]$?`v =n<]]WRSkA|eVڵ1SgVOJP}ʍHA~ݽFޝRRa0\-cF.CiejVBU9OF%lC5y͊jkħxM<ش-G5H٩i"y +}iiݭ436wTΜI}&?sD4LiuYGyzU4X\lV0vae@w{fBUr +srtMgю±<\#cty6iOz>1Ky$Q c3v33'(KTgw,Dgg߶,Ny5~R]PaAARX={ܧ)zK +PBȚkf>SM'=:7uoӱc܏ 3( .z0lGKy#%-ws Dm; +~Y8/<9#\ƔEa܄'&e$ε$F9M_2IR֘-FM$'}#*2aNޖ܍O}:ۣTz*u4Ub?t;Z0xIr: DE[A\Q<^q."Fqo[In7 ٌsqtɳZr{(oLn4 WZ>ϲܷ$7!UџsSC$%Ze:d`V#.r%GXQ3ӏv9xU__6ܗ%{'#=TVځQCbt"3=[>Dy-ꪔOVLoUvQƞ*6ko=!,Ge@*dޱ5wڵID.-Oo`)IsGI!t/[ +Ptv`l,PIl<ݴ8J+VaSSr:w0_?^QƦɬf "i+m; U&IeP8}ѵz?{X5|d7ƆKgFT}5Ma#UqR? r]cln-bQR:l w87nW %cfR8+TD%_R1z66=IbG.t*$#CGQݳjݺ0ֻ^5x>̚*j^{ӼflzΜsVk1˖yN\v=E^ÐhO:2>\`\/;+c12:, 8XZO½*לkSRguY ̰#y^jsyY&#xL$ f~<66":K̦O*\O~Q6y0)>ڣr9%K7ޡ>R!zQb<wT3CؤێvmӯO`YvZSxCĜQJ-Zt1U^Nb7?Uoo=R2RJ_Z=o±۝_:'ᾮ8uğ[E58 +)31q&]ٯ%=@UUF{‘V=U{';9PU &-|:z̅}||כҳ2tWe=W;&;^S96yt[MUMt>OtMBYmw|RY@'S+u2!E+Ո>jmqvEv_^5s%+{D>4`ݢCyK0x+>ߙVYc=>=s(#~ݻ{Y|8m}Ɠ]9vA[V6zSo::([td{T{RmɼLDvU2YapfebQ˨=N(싥Ȼ)P^5S"4#թz(!wX8B@>sKOIb0mБ(,Bu\Ohb[C6=Qͼ۞ ޖ V0:`=%Oᅱi<&2Dy-vwx*7 +1UZ S%<ϸ=^yr8%9[/\gYop1q~vc=*>MkLt (O] .m2QZB~Dp'۾+ĉiVSSe])aDDSH: !rX!ҁ*t( WX{zgkqim*羻q88bpbPYp͔f\JuS@1[zc>˪ݬoG#YV+^HsZ/ޗ?/%>ZrK"f3e4As+oOn?ĵB}X&Ok{J m$h`e6ι1pϋ8P,&~6C(u`YP\-Edȩqo4'5돡_L,ZiYU9=yDӼ( Ďj8ou#(OggSH̼Ȣ̠ľm쨍1wx`Tpݯ[Tۡߘ:P_E[.DsXMM=]_]gm?/[9Myáw,X㵶p'lɴ7't_i| +{]GbzzmUy=XY;d{m֬ľQ @B/s"oԥ@|U!,QbWUpjLKe# +;ktޟEfFT#;Y<Si{_9z'w7O-oLWJ"wg'?8چ:,FyӅؙ@vqr;kRdTqoRYmCv%c[sS975+(W4vV +8Is45ImUռo S0~vYi~ޫ \-R3y"RySc#k7T'.֛)w=fVb[6Fa@1]XA>:P6p7.h(Dp#քfVK3:%&t5A֟߾O;iIw>5H;>V=)?Bbor +3JAm9;Ư=fJKJ롭/gūbMIvg} +iü㖐5%}G >:X%;*:zTt¾sgz{l^NyM>.ɲ[2*N6괿 Opj([A݈Kodӥ;Q 1M^n*:EQj׀D6ShT:"m^4[ 8p+ZHng\%ޖT.jyPdn5kV=Ʌ'˽TVϊ ref}YOsV9{Io+['2,VT75理[Zo76|Ҁl7ro>AItF+j8nY*=Wu2J{c<$%<ʼߖnB>qֲYm iAi4 ƺ,V`7w^No[:seHc2r_&*cvlo^O{#V頋$vkY/H:- ,q{K֏2ƒGR^:]$2݅cC>VޕH뽊zEp6-Ŝ;`+{uӐWmvm +2fZlSޖIpLQ3 >h=Fcz^Hޣc4oꥆٯq>$OHԶ>Q7w}5f;7ugma[ADXz!tv 'ɤwK`PyљzS| +ϟy4e4E(Fiȧr,EճO6?mԤtґHA]kXm3݆^ۿHhOSUbڎhmKQJ+Mª8 +E0Gr88Rj'!KnзÞA.dqg +=o.x)^3';^ ܵvv@[wIn;ISrZ NC׽mNiT$~uydv>ohis0eksmv}79~ڬ\s,tJoJ' Wt¿=no>X`a a(yD_F۟\-$|)ࢴ޶;Isel,DieԽ+yk|i_>ikugE{ur{JQ~r0GCAsgUDOd҅ 즍>}% ';ho>l8N^^=\K/%|?Ï'{m;Ô[ӣ7ݣsCGsXK55cO$z_Γ^dm 8~C:^SP9[1잗='QF2JR lX6U4AɊZ%<XMsW2&Q\-P>~p#e Գ5gKf?54\M"O^y`>> ktbuaq522?m1_H3}v >J>u[|38VI|*dgkio]^ek?W2Bf()RSB+h\xu~ΟYM$eLcfb˜zIfyRI0+UrVvu݋w4pMq\?>OYIozZyWyYy$;4㿖wO߭{fkX 5o[{7Dm t$뱹zՏ煫QeƸwzٺagY%+ϼ}9v rGXebiV4¤׹jw F{õ1͕nǫ'2;W靹2ӝ';Covvt?ǫtdcO86l5G[5zƺ-XX=pwx<~f!1ZL!_mzD5/cNFv"if^kd C1o=9̓SvN!̥g,9uT8%foL2(WOvy :_,372.-̓-i&MZ˓D=noϾ-5Bz>l]Xvݵay͋f͜3^`PzDd\Bm +Ʊ﫶CתCC^2|I^7!Ђ~_J$ }2&j]V5d[B*D7I1Z1]AL5`E|<<4;˜}?2Me˻d6[^ϭ dƺ,V;)j@]vepM +5ݫ8[ro:9_0mIк~P8D3@A|0B+|I=]f, ~lthؽ j,Xb77ܐfneͽjg6fE*O]ن.WFke[h9.9*.@ts!|mYnVP4O]nRj(yAكN:ng)YyeiֺZ[|djh!Ӟe塧S5Ke:?þ|͔vzwi|0ռuǧj` m)c\튷jhDz1Qlp2V6_^ {[}}atOV zbL7gn 7v< sp^ "I͊.rZ-ni+B}}pX{^O& +RHlGs.kk!Zw$u X<֝b#-iPw}(c4 I3v}#ɯj^64ltlM3-c!P QЀ n7i7_ += n]G{L'˅5Ð]VVG9_"rh/놽]to5o1`\4H$3CH.|OggSH|̽˽V;t[1\]#Y3, [{Zz6_Zq.-K7 TX%&ջݸxvkeer^W߼J;9y횾zޟ5?T}:{Ҍto2G-sUV*ch &%},<4{|{7z3L<[Mz~>}Ίa9JS*:cn6t/gk̕]1+,>߬8bYRU{رغ7MaܵGK {ƺVp@D?Yz'{Es3R'܄[,+T(m7@uweFk>QQEo/KHB-N۪9Oׂ/GnKT|+#Sb^im͑7If֝dĸڗZt4~?L|lӼ5J_}qTnǹdr!~׺`5~+fF&w%qvUwD^v!gvi:ɟ֍++uQDV[c6KrIn[T $-w؍X&q>Ƒ\D"-ƀǩ4|oiCqA-#lޣF)Q3iaj-)L8ݭSnֺY2ͅP8<ՅEaQ:t 7/RsirfI4D7Cwc-3FۜXbjhit6]ׯC< I3̮<5ul7m2K |[ף'Cgǣ*aWcR]};Stw(]-نl>e.'[CǺ)c& V Ye{6$$ixĭ.!;*9 +='V}Ou:ƘqZs*[qs 1HLzgj>0hS)?f lE7rUcjŌo=ik-I}jncvvr99"QF0YY?^5Y$ h VqJ Ӝ=kYn"bk.0T=:& KT6r:U+S]dTp-Nf+eZ9u0o;Kn+Xcvw`fmiuTpi*S~>M]קk]PF԰" f,6kc_3 {l5I.p(2"Rn?ʊ߈~B2+}͜htQW=GHG+.!)&_|hoGK ?lzB-.Qm+oy^:;n}J#\!_[24{7Y7fWpqwA)nۢifK2H|-~,0^`ݸ힢"yV9[P-i}۶=Τ/džIcxrk8=_C~ aaq'dJ +8BXXY(UHX+Er9z/NJzyZ>{bd++}+`]{͉sO7 +bKQ=4A%l뤔!Аjz zr =cuDڙi;R))Z|aOs7Gr%aPkRr6cV%żi15*aJai|UOj7֒É:.ZPmø‹V -lPiFעJp\*[[*iO{9)IdE'Zk]k鱾Q: DKjgDd8g$ לrQnƚ^O8J :$/b `ÎܫLhߖs֙~:`+}aEo9.U",~}8a=΃4{-Z&T{2]~ Z2v[iM9N_7zVPn:ٱvu?ʹSQ›%.5QX$g(=596hu0;8{a<-7^4ԑv=Ly 5uT&Uf RĆ412l7KL#k}BΪۭw'vtY6 ̑F̣C݆8TSV5"vu-6%ZmDV#UWhQ^l[7UZjc˼N-ѩhj.]'I}#r;2=i+vZb >Ǻa Vp7Ow7/ΝR(d]ys ۢQs8#E.C2off57,^zxOˆ6̾T=h٢!<^_=OdwMb$6=< ٶm!`# W#=v 侲ayglnˋݸ??]foD(> YW e߻>^w(ayqu^- +ʢxVYyW۴2}fi%FCfv{Es=^!|{"ף6fH|SI_o'p劎?Fp>, +VLw 7rfqmpI*eڵ*!Vuj l\4.,jc bjޣPsσ!"v&Ɠlʔ4}Fnq$OO()yYRKKLi}yVͥɭEaqs^ S9>lVw½n,^8p r8)* a(l!39e [=]{gUI6En]NdFㆥܔܵ<Ō{b=ѧ$>׺h,«@@pw/k)XŞiՉ^b=X3jDPlHdd=^?쮕^HvhX`d|PL5R'W,xwCҦy3XZ[ֵ/Mj^9f=FY?V:,W#wE"iyЬt깖^ze1ƣ,%].Fqn~~Y}[=5 jU>*׳q3apGk%:{ #dyS? 3Ft{Ŋ}[ըy4_f~]IkIi裚1gl."gh;A) Vp`C3m5`]}H#׺\&W5涚M,uV_nl~4pk#ӼLța;yCC ¾cJO$zRYnT ? kcs]lfS}񕴪ĩEM*Zǔvk[^Go<lEF^6UBbK PǺI'd 5`|lnC8uC?~:V0sY"rx4n:?p1DhZzOҘ}} *wRA74QOl^V[9NN]#UMAܠ-PӇ [ ټUЀK7凭j$46F 9.{t5ՁbvWȆk~zlU2sX%q?{_NyVߒ.uqnw|Z86_Gڡ{A{döqx~Zԓť/b,4Ct,K‘MMAa`in5`Z{QFcgC]*vg,Dj%̊fsq6jĘQ&S;:->%ؚ.o>o@JfUv58g戊lf=' g+_mCr۫e-Ļ}ni DnS =s!+&!Z'yBҍieeTQ ^`l0W4kGRrs:3ZɄJ WE'iڥYϷ$H\ZuUiN!Rpo*쳔lI!"}nvtGҩuq cq4vYI5ȪI?L%'O]w{2Fnkwז*j#/7->ǺlX=Rne@{y"C//Veʑj5DSK}Q:A5Jtz֐SyhfN_Ja#KҐMZIlutUcB} I1 Z p_OP2Ҹ/xɿ_gaRrsc؎>Y{/'[&6sG hV`eU꘥8+X<5)km\'ªS}<) .7 CKkÍD?W{"*bY@܎\J 퉌{ˇf>LJno1Sh]҅)X=@VOw,2U)ǻ>esS$c4S,tz0]y{3yK6j>-kZ eVh_GDK7q\e"?fKt)VK ej2݌ԠTѝ06KzZ0CzM|M$շH%?Dԩ&a1K>׺:Gp,[3Nls95$Tej hr5['j]R0//\X +~q+12cb挪ƣ2c%\CH&>C4?Zr +#$vQڽE|N5Uﻢ۽9<^d45&!yhRZ֓w,%54{ hLwlۃfiűۼXIFb24jJgBis^f{4|Z"mPmOG&g#XyMUѽ6sRL}NJs0Z/CD[.i[nFqQTŎkj%GkVi^n߳ (~>Yi>IZ= WD岳jxDP &˓0l'9~t8-tRݯۢIm5FE|+][k:b^ҲL^ߎ_bOyNNT_O>F=IƁ)tz"&Mqs_ߚ}#Sk `+YD|iH?GGMDU#ʮަK'm_5|9Gtέ1Z+\q=78 oSvb6-oC)5ĜʄkY)-6gng =?V]ٿu{#H9\Ѯʽ:m=gdO>lS +纠l pw+L蓻:/@P*c/~膞>haеy%AP`;xH^ f,B$krKԻ0Nuv\ˌm`c<֖XXk-*S0fK6DwdNnž۝42}h74%38r^8^Ǻ z7(7oh1Ҷ(cK?rn_TNzObeG=D%m:!64kz,istmI3#'WI:4x<:ɓ+^[/|QyoaCZC7 /?uZF 2VfV}|nB'<|֚i"a;-8 +:rY8Ɯ̶}on-RܨX1^9[>MefC/ Dv^ ++۹vE_n~bGUƠ]CΏm Cf(͋g9of٭ethz(.XSX$'΢\*7U穭:=5toIuVBEI }ғ>6DI`>xOz_/w6fSL/ Oޯ\~M眄*;n=c{Z7]u9IWyp{9D"=/ >8(V +` }q~>vrT*v۷|!Ҳ]siaBM-5Q樇+uvw* ]DNP4*s[ OݗUQ` "G6`TbhGسjIQ;&vIM/~_ssC{Q[撓cӟonj_ԏǏ%f3մOggSH@.|ԣʟn>88o.u,\P +6E׶$ r g+̍ڮWt M|vߚorc=a aNhmnNehy\Kk>h!|dH-!ݓN䛤9R|o|PEԪ/&pz|F$ (  ]~g 3)Toej\紬Z _Z i?-e5o26T6sr)5ȸ^iχLO97Om(>MJMݬ;aӠxق*+DRL1iձuÑ^;-9x-%S ݼS[\(oA W:ݭQR[OoMd.GHFPYfcQzVn!5{hm276Lf H#e G vc=/–-g4s Q<@aRwobUnl0PZE3}Оok\2ʇwa$6a,V pke5s4ifQ8BJNiycρ2ro=`Mt;KzϛZˣFbyy? L=uKRE]zqWTj]#y3v8I176Qr"Z[_v-4zF&|?IZeSǸ15l_=lM + xi&jԤ1)$Cׯٌa۴ֶ\j|q~g.K>q'/b;IK&V8ҳYJ}5x)׺9 +)j@;Ժ*f`atfn94ݍʚM\!Ulctƶ;!}ºinڰ}.vaA؟k/)l1m_KZM]c%R9e͔ XMm2zIM]J0N⸗X4zKr_4<])ܶgTKTVLYVƹw7r + >4$VP>@0^㝮Jry^:,da9n;!<*).h`P~ +n8wdP&ɢ~ƐY$)lf5z0OGj*NkLaM=VB?_ 1asYڐ9'{ZnYᘭH3>_̐!L]{vY N=6 ejmLZ)E7K +FrZvkz8VwGyy:- ǀ:1:Ӳ2:xO?߾4nn/L;z (/ĭ*ZcxX~NXx;FSciGw*8=0>VhBS3c +UE<'FL|rZ۴|~z]ޕ'[l<UQ~x_?zw:i/ߺ=v19]gkkثq)3diBPߝL%3lrSyOS +[ @ȩ<70_#M.nF2C-TsM^< +ٔM'[\ZG+oyϼ^ŲγώEuj#|Ut_}j18lu\GN6]w/ɵW=q|'5{0h՛j+xM/߁ѫɞN\xSlvڱf,l9-x;9?+rS!Vŋz̹~{+ƫ{w7O?-\Ͷ#1;v6?}?x%ڦ]='oOfzn  C!D>6nLRdW9фO(-fu:!ɌEJҸ5L8vSSD&x*MN:PjA>j#^j4&29r₆ ]ZN=ON{՗V֣.Ki4ǺK\= ݵV*ۡ,[0aHVsXT9YCmpYԣ OFX6'ia;ģ896 +O\N&1f3S0}JJ <Ș~5wdnCvyl]%MZ7M3LA`5mϻi-S1IW[}qSAծ"I{uHZ5Z! RʧNoZB/oC_٧M_Ēd;Mi+o2-S^6EŬ.0 kA0IN$K@WmAsKWYFB9)sSG;ei;Z$ i?W6=#x[v}=uS_fF;:++QQq3>\q,Y(>?F/~%o?fޟ7O m ȥ~թGe+9o# ygAݗP֚&$+oZ܆qM]vhNGx|8:mnpu:+ÞŢjxSY*c_W~ulhRcRvV?=ل8@ݨ[wvzwp{*T=g>e=}:r/gV=J?O lvIL +/;cW;yj;n{݅ǕZ:1^x[~xS>[ i [eRQ|}|oQhLP>;dKT4.WT/KÒo-sb+MgP]kƭoWwtZ]ɎlfpںR*?eaMU孛,2: +EuAyv&0'5ęs1XnZ"RCKc{qk,9Y16z6qے73=15*@PBzR!ff)售qy~-=~mk+ kf>nOK=$N~$&漌Eq_z:&QϾ D.>* #f2eX!v:#lz)|AlE_o2=yEMBuR8eҗN|cw9G٘Mوa=ˣ4 DM " -Һ^Oe.@J$oq '%\-E,\;bl6uONӊr=Wb h8nW9F5ijYeO >Bz Z˞{lY;la ʇ4=ף~E#=њOJ ^q׊,n=~(!(}`?܇gebSҹ]>squɝkNʧ&WͩMWvJ':Nossvq3J\׵/kRu3n/=wl:]gOW'ompIlyTTOggS:H .pϤoqwq ]ٕ;( ?'Lj0׉/=5Y5ӎ:=G_{psKL}(=^jvL?{Z:|Xknp&ӥϛz龑=]ϊcJ d%աR:OqEn. W.3/:t}nq-nr1̜m>?6FaUڞÔ'yKi,?)Zx&nl؛ ~@,=ݝW>֧PSYI״C4zg2MgHavco8q_U&+VėG?eD;xG*|翁Ke5(FԹE=@G6l7Vy1G{߼@z,P}|yF6l*p!ONkScoc뱿(v_nfy|[LJeU/d5Iu +enNGGꃻ__^z&:׺ +z#93^u[kZRf m>Z{Rb}b8}=2q:$\{ Xުv󷪿M29ȊAc7eʚ[V[xFsQ띺[!?&wɿmg1ݡ|(B<$|mσsCu(9u O7ƺ%:w-H6ؑڧm1͝ 3C:d}5={=sؼ~:,,Ƃ^B"qww6-=v66hz^kXU7=YNC?5_Jm\-l}=9g%?TAkܘb|UeqL붅D/(i,<~iɼ]]WPSG`+ln~oJwBmhr+nx/fOx.sX~;PN‚ }"%Sšۃ"RlF{;N2ӿPws<ӲJJͫ9xs<'ꚱcAwOndyP㐼'nD~9O>lrWfq:nZf2 fL +v/y:JoC>HχЦ_h=}ߥ%߭m0E=ƺG .WǯNH4ґ 0܈K\&!B>:ZOҷUKE uHk %S:-SͽcĽ*>̓-̱ShF,Ghnk2Syv:=럸uumr殄vq_ʞ֌;ioc΋-gP(-| +,Nɬu;t\ӇkNx;T%-ŻoUۅ1b*©oLԿ/ݫ#oۍͽƮ[Lz;ܻurN_篝S7WӎuNZh~Aa91o_Vׇ\ VC{KKo~n3t洅Jrk׽=k7'4ʼb_+d3~(scDNū sze}@KUzzHЅu.$'\;5cebMVZ"ZխM7c,-x }lmzɠgXn 0>l'>׺,Vڮhp9^ͥjYɂ8#N!rf~4ՠ6eERu+aώΙinS#Ӑ+S~VK1|#ьn`ptmK\ac,e͠-Yᐞ)Ġm8~k!~t 1%m. S(7-6k7XZ/[y#3yTZPWsb paέk_L7ݛvΑJ/J"ao geT}{^ѯz_K6D؊xq,*o)5t57z=hF6&V ׭T$rٕK.^rra +3_/ {7sjZgo+62{x׫kcޚdZeJl C'7+G=p$qr3@TxnpP}JF_=n}h VU~=eUe/T=]=h*皻85`&$PFM(TfoOZs9}]$V=壚+L8>Z^+-}y4֝[:߯t^_ +!޾Bió:wk)SwZmN'qXؕ0.,B፧ƛb}'?e {m[Oޒ-Wl.6;z)q۽N֎Y.fЍz{n-g.8z6,SO01t -a0p*haQs+#@i0߻79k{tlY<ϜYFk<9׺lf^=5xjT.{,rRϓ(r6X #8VmiGq$2@nւq]ni6R=j|2wu&Nj~kIQa~(fpc+ )QTCRll}gShj،=ДIvhH ^:$8jATT̅{PM!1fd +FᓴL\RB6RvS!l_xݎ[Vo"6>w+;*Q%/2XC!}`ӱwIhu^-eYx䔇U 4T!jp52{fg2wBA:llߍKpw:tB{ꯕ-[4)X{Ɠχnړ6:7ru23nk..a.ūNpѰiKFmF `LާC.d_:ɵx[:Ysxױߨa~I4ez%{FԵ%aP^׺X`Up/=NkI#r{M +WSϋR3(ibw _ܔ9}Mm)h*E$m0-aدzDpD _$OĜs|xH>f7#?C؄ЭGWՊqXw%X5?E1SOk{6ˍ7EmGOggSbH +p'VĽˡ̽lù^纠l +2%n+.M-ML"^|ܫ~"v }!Fy[_ɶ=z}ׅU={^gb|V_mjZ?gˇboBsiNS4bNFl]<&Axyw)I5D$ Fg)LsjZA3S22zH̩Un7ݢ<_X'an$P:`F2|gIH{+ʼnN h,V5`s::dyx{%sZTW.N7E֍?O{7m+?TN$j5&$(ɤ<Ǵ[ap^ʚoy<6$tX0Tnck3t;h#w;Ln(kft%ž +:gf5mN9^:fPB0w*߷3u}{kE.r?A&~aBoF( dn^{ nu§ ?%zd[iy_W"'0GGýiɨi\K5IVyKشK+o=2'7dͽ{* yԝy^50aVmҋbR[/bsbOyw]紐ʠgx᭧\1yS=bX&^Uo:!:Vc..-)utkX&Iڽץf젢jI4Ssj}H̞:ܪZVs?X2i )= }{F}'MiRV ;e?TI bomQ\V2R&;Ùk<=vvYv!O\s ET@[z!7 3&oQv.׻x* J5ok3+ ;OֆWONbQ255u}35==twhoұ׷w%ʑu[}:jzrk>yw+>_;%t6$Gq@]j[sN393UeؿQ?,~OFٗTɸ|dZѕ~/忺H?ͣ32LU$8Pk*.lדiIkɹȶɤ:4V0I wL$~/6wWSeUYڏ'y6/M\|3f#CQBە:xN3d|&O/)9Ej&.^Xci}s>6n6~H҃)0u3G vPҭ`_9:IMhwޚY +mo-vEnYrm e]іlQMiadF~^Q8Z0CkvNZf~ #3ޕ?bk<ڊ֧Nkud^-[Vɥc4\}i'W5dΧղaɘ&ϢWV.Zݲ}&st! «5=BuI#ݖDh{4^7yV4mXWslۛS7)qך}TꑛҿV_񣚧'f<5j \>Gۖ*_;^EF9K R{]'bhk){0:[1>W' #<$Y.[n*6-3ji hl@9>7.v7^<G"\"g϶l׼Főg{jv㽝[f7S\xddg)myJUGй_jd؛<(]yȵG|- Rw#MT5w־t 9ɳ +Y8^2. џzó/nJT(4 +WL&VV7ũt[m(3s&Yx yjd F]/ʰg5WvNS}U ӦM_0<5͎/Tӡi7QLc>m&Tqͷ#?W-.*.:-ZV}WH+:IeOmw\W}heLtpqNY(OeLMb̾f~S%u*>}k~umB-4sNǸ2O[-w+¢u4M?vuLsΎ?=ֹ\/<t3fa[=v|d.|sZJŤ=:z|DZەrR7h>g}w7Y6ˏ6쨍>hhip9P?) + m"zk4JˣaԏZOs5y5-YYպO`SQ!mW;NJ%׎mu1wntoy67JdcoIVd_ųK915;I _-`h4`n]h:^XvjBNv7Kf!O"`:,ܠٺ U&$IxWrƌ~GׯCҒ<d +\,'y_Dat`FJyz!Sqrfνq2]dՓCtv,alX=1-ݬ d^t~h`q ,~NؑX)7YrϲWZi4ten2AVSrci)מU6N7LB/&ףDrYHS5TceMM-|^"&q : 45SKZ[ԐdOnB_Ecҳ,V&2wxzQs)4oeJBa{VSn'OFx5Ė4BYL` VV_Y?8K?5evgs6@NQ7HEƋl_9Tڴ! f%6l7ƃ'IXbXXEKC&φٷap#|֓*aRĊ8w+<ԗyD%%0iin ރz5N\)Jr>gPW;j'͡Y*[.o9T3 K޷'Jzp23=n]Lj! 87z=Kfq[X"qv1'VJTxbB}Jg3!"걢@F !4ɷYqr +a +}ng0oYpI_%S|6 ZNQj6ƲK9V=oG;Bo֙ga,ٽVVI7XP F&dd !6-0[1&IԚmܛ<ѫyb;I9V_+|镜Ukr8$uƴDgg4,2L,*D>jc&d4S icuSw=YԜ]{}=)~IN_,Ehʛ &\?qXr nV7&h8kFOqCMWђmm5j{@xIt~)rFӫ.jdY_v$V~O'Nړ:]<oHMωP(L$^=8B0bUI_xzS}ݮk<7<(n˿k`ݙY8nM]O[l"HYнp?(M-*RuiZh4iV8Δ*ꇌ%v.:-S&x>eKKohU +\} ^W!AXO\g>oFih.9U̬#~G?l&Q6%F.Z0Tw125ka4qO}Ζc,ҶyUe:ڪ*wx\̪ &,+ ffV8ܱX+,[#Sf,Q m%ɼOKtۿ(AY}uK£I~GȁC:`urBG)5 0]+}?&8|H:K?[dmgH.4@L.2JjeԿ{XI]lbRVmSS; oxpm_U i=B5t1kZ*Wgm$7 I +WOL, Fջ(ؐJ3jIM瞌h|Ӯ͏LB~w<@{Jk~jʬ% ޾7eZUɊTKoPv=?t#8guv+=E5QeF1/-n3a]70Ն^_Ad!bA=kB}L?RL`jYnâk55GE+ 6+_+̢Z[wwŰY9OVET+nJ-EM5 HVFOygx; ++7$sIw t.=O鿪ԭh [v"ұPD}=4tg_ͤ^ށAN>z~L1A5{^exll̨R2ezO@WbhhNƆ.W,qqg<>+ 3lpU8_ -dt: Iͷ{*.4sgw}?.6SXj1GFPluZ=bXU(]}t~YX<դ~݌שSԍEQN$(ړn ,6mj٘h'FgXF%GE +%A3V~u_=T"uD9W`,.|nˍ/d S޷;N@Z :u6.iXwwGYu*zmHU1T}s,هY0+"rޝ22z'WXOԉvi6QM]_=3yPih ڦGlfjQL1xI3Bh<7}'etY+I]r!2N5["eql_zGU$PFťB% Kݫ~Om +;L- + qm|2ve+<78OroStMEUA^(мV&P(:+RsqѤbӾT).KLxӅKٝ1 +K;]hitީʆAX=c:jk"իvˮhwnk +R4ש:hj@bub{cmxwš7oFz.n{=+̊"ɒEg Β|\}ˣj81CgL+WFN&b^-OBF5m`[B=rQfIMs[zC_dggz{eġTu`i=FhNfPB^, 6>  _;i;R(y8myHOv%훑|~D~/5n*j rv3S +Eh8=54M52 ^CfxO- ?nkIxœMfIXSAMMHn0q֣ e;%mdP˾&f +bm[> \A^pu95`ᕘڶJ+1*>v  +SxͻmZ(,K49i %2iZOlZ,5EeCIlSmuk)4%e\L8j|Ozn35n\]6o!L|:8͡uy^o᮫6֙wH \C@ H-ѡS6F޳i97o7fh7.Zh6l7#eW8R*hϦl!HrѪè*uZrZ+ܺ>oWv3SMM&7[I%~ʐDJFTa~ٹ5 /] m)PSMI R=>;-, J`+3yh5@,_˳̅ӅЦ4bC߮n0 ɗY6#4v?޼ʴ9o;6R-k@U2]t$u +#tMhhT,O= @늎bvCϕ/^);+*l!(nn|!={B{>;Lj +X=@eB6NrVWlmm+NSޝiUC`y{R1L:s&触sVa$nҁdL2QrY]Y YKByFjЦy]JD|T(s[4ZMBzkD?v,,~)̛56l4x˚ io(_'j + 3eڍ̮يZֻ"gDO6]NQm;QٺO:+(^^Ms 5lMY>o8sɣQRA&Ò })T.1zSX” bFzgg-N”QԐml3$]44[YީB%{TiE{Ii;v0&IoxioOg@5cEb.~vF;g3ef~dTVb\TjYM-rAm(֦1wILY\.J 3?.4!8|ehOggSH v^q<BCP訕Ӧzke[m&L(M9(KYnW׹KmiT]ZRX>*2 UQJm*Nm#t^ɫqlc uoI+F[,jW(lا[}_G'T٪UZ,6F?TsYZ9ѪС 5XPN29Sx.?q6c/e?Qc/aW0kٟψj5gVY}sN{3o>ѕR|EÄ9)}6Ug˜SY,'v88M[el5,ڗ8;k彽ꁉ,Ϗm|WS^oD2*Lwzde+{Ϋe//f9EnuRRm}Lݞ9|Wcv^zmtAX{ُBkQ751]G*#i#a㷿 +_?=\S;͵nEH[mVz~{ +B~\v=~`hKsojoD)VEj{5<^ϿQOTZD8p+jK:5㟽ބFu[:ñΪ? zţq~ OI7ѾU[sCذ]W-hn>t[վZB+{mݟzu"KgNL?]d&7J}8dUŶpeؗy2,|5IJ߾\}p!7:JіxBFKr?1}#gڮ\)4qVԮ"Q;P*EE'b#)BDL0Jz~"Z[KOG汸H^ɵ2{+zcp?E+7+uٝ6ZvV[ou]뇥YYL?L7*G"<5q"ů?xZR8_XgLEHTlATa60-~hUWgz շ/|Lc!:֘ 8hiKoZ|J<ʼZ)f٨CE01ż쉀"{WVdWފ$$v9metf۳\o~1NlJµz-?~~-zj-/޲dVp0̿tM`8!My?ny*q.m)s~FSf'S*bR2_s62H>&b5˟zaWyWWok 7 QL(9yp6ǹ¨uÏ]Jm}?^K ƿN{.x|ɋV2Fս/iJ Zrtu{mۘ4mgDsD|fOuu틞|Sc+#{L~"Z[/hovqH}JQd)Yj73edm>6-O?k[lHܪ O:x9VXcIeO̩K'Tz] .הqLBvK}7_]}ǯVUIѭm" U]܇{{n T2*PY^n Y,'ħB{$bѾh\bEXBL_s>A툏$mAҟwY{+"7.-54kwylTNC9ef?Y+W Mw5oj7jy&RkG&1#CWLH|4&؉MЙ<}=/}S\ZǞ@odӋz~[TG9)7HU^=d7gg::y`Ö{ ^5(`g"Qe˖/oSoɠp]nB՝،=g3LyN: +]zQ99k)U^OG~K:,8D?^떇SRq yDƅTw+m&1c^Y$Z-d{b˳U[8<L)K1 {qN4J9dS,ÃQA[xloRѧΙf?> f3)r9fͨMՃ'}wn1#=|(42xeۗ9ܙrRlmu +\Q*.N~,tVn:ڲDŽZDS<0wٵe<+g_JO}m.&I~[rsp:,>̶!hɩ1<cE ^w߿ qYx4~w՘IB 2$z2tK{؏~N;.?]|muϥM5֊$^pZIuu$ckjxhYәs,a޷=#\t41[e8 +exUkpeT +C؛ފԅlc8N=\Y龯1PEDz% +%+ 7_9Kk7[c;=-[VbR'S_Y<3-_́@2Hl.+h]EURL>qU>k [SY fk/iX"Zʍ_0\ +=ai@=/%85WxoMhvԂΝt\ K!F3GuX~[FwiCz9' eL_i<__>O^|04:c$6D~ԴI=fhtR@tM$-Aӌ}jyqվ^ӛ W?bkxujD^5F4=.dͮκ%ar_\Sp20 +MG| =BE+4z@z(R^gw㸗߇fiT ^W&aOggSH MRrۙL?)=ϻ\mY.B鶶Yv]K=]N9mq(;Sx\lVk?_df#t^_Vr:XjQz?OUǧ]]^+9~{f)3;Ϯw9ATGNfhm/UZێy"v?,4qf=ӽ[HS7r3o{Lmđzϣ6vWn3pe=.'&F6q2 {op5O?Q|Cy]UME4eU#%׷Ih+'c09nsy4'[;.=v\}C [:xYl&u<lD~NOG:J"X6\"#vƿt=ىo ƫe/YuO.iƻ_x\jvu +Mnjg4ilv&ܺ;rx.rȴeo g*GN+[3t3ڏvן=}ᮼ^ݺR{i}~^v/8u*\=Y=AFk j4+un3u:;PV2reU;VXyMV=GMYvLu>OqvB獳v]sY>h}d5ťJ7T߼/\Ǥ<Zڳ4^AzJoO?ChWzRz2_Tm#'y2]r]j?,Sp{L dc @U\b_kͬ4DÈɧnR$:j5FIChS0ѵ[0*Os,MRۢz +G9)֊~ z+~s5MiHD]id=wKY"UYvu۫OKEle٪/Erd4քlI+PJ) etm/vzV>IikTMEk{}[kmBKqH1̕Rˬ q]ܶa>4Li~m5֣6cVCqd9S営F5cT+զ箼 h5 ȃɐ*"}HzSsdTVKXCjze[n/4E`v!fL5W/3:N-&k|qLj~^ҹeoИyu jT #ʵF/9ӽ5竃ɫ[¬qy~NYot9j:{q: z7z8-I=Iv7NQ~!UShlL ڧ{Aݘ9bktI fmȞѫNzznI$ڧHQ=ӏoڐl.m.y9;K*ar(yֈղ }w{#UZnuъ.wq]n8Լ&f >h[%@x3 ɸ!UyfcTЄqN=zN[\1]֧L]gWzFd&Dg=s6NgG,;b C^!mcVWm5L+Dsj(!M2mL<>}X\/6"7VeSL٥>OlWND>xhEK2N=rx36wl˾ehʏtV2B7nTt ۶Wш}[8GV&jvc*x/i$mHwb su|,='G)yO=+7Y"SzCH+Vz(V;MbIh+L>bL3+\Yk*%N: {&^h[A +BJkc%qA<[ќS̄b*[H"{Կݘ7LjgVbINXzK,-Z-w?}/5ajR';e8Krhp{h}OhR~au+5؊Fγh?9M&JKO?JȻo~5NgAQԝV+GnnxP 4 gŰ$ݼ!=ݳRc4njs7? 2Vu$oDvt"]Qs4mOò+5{(g3ZiQm=ثe)k!N_fCѻMiH#<$(\YILj˦Nf/UcǓ'QEmZ$C,;-lz )+ 3{U mE,ijݪ84|xVz׭wV1#z+k{>s>KrBXIC|Wˮwc~ Ǽ&.N?@GҮri*M\G5TPf΃io%ZOW8{䓏WJ:9w ;kuw8(.炉]j0Pˋ|+՗''*kKnCE~yJ=+۰@\{@CN_52*V+fX%%εEз/ܤEfb!JRX)ܦZ"[}u7e[*XtlNlc;OdT='VAo8^yn1Ƶ&dj]Y6V(]2ZUf'tv7Sx:9LY5eDIah[H 5bEaJK~XtEƬ&M +]`z\{?{Bzp'W;[}v꿒dXeh~f,nlMgVЯutә ! ~>9ۘ`:KsZ,9Wrv};UsD\KuvѽK.XFֻi$\b<9KAgd469"Ʌ6hm 9Td3z:/Ɵ$Kb'ח řTb_ιPl#m>A>],y X<:v3/uj~٣yنPOggSH*nϚn˝VTY96Sk׹.Z(:xlݵn/Kk3~Kgc])IGmv1+q3we"T/PhO4)ao{PtnӶSGΥk4 HF䉓NQzd/,FMm縋^NMNbB6|!-[MD'KkQDDACP;漾ް=G9=W]J2}pcCcX~Y-]4Sw_vR:Th̓~G rwyxnv^OQlلCۤ=*[e= +{ޙ2e$`4jEGM;[~ +zMx-F wWՓ+כ'{*=wėIɟSoV壍/IU^Ȯ:\y'˛ +)jxuH|E8*`z}ysJwk ~aɼ{Q^ٟNԆSݱCU\z:ƒi1.M%t;^TRWi?U+)Nk Vh\E4͛t;[r@zl-giū⫹#\?JqfW?ki}^vvo}[6=۳.٩(1w^=$n+`B~BLv4U33w'קWUEzyi]TgS: zC4p]vy#f!mBի˶]HǼRs[R6YGsZ~e{}V\{Oi-ks4HD4aW/G˼!9iBbz| Ki>XZ!pMS>鶘2V6tLiS\r/9L)Z2O_9O{'m.̚a!4^+5+!3h/B;_j*;rzë2 sK1͓^~+Th|iXn> lD_-9Vjc 哟G-2cU* HŮ fΝ9AWDa=[>e5*$ە9boLma!Z5x'g%^sDbz}ʦ+dj̻eoRK [y4PB^(_ vMeٛ)B(SOy/ؤ͍x߸?ZzuwfL;N6[X4H +]}=7=GvAS`Ω $3ɭ7B٦Zjs.j|ծVdFz7LoU6L3{ُ] 5{;Li'IH^QX,,CͤVϓ*oLT5vH=߬˓ˍK͙LojE5iyܝJ+jziim0v~;2g]3虜-{Ⱥ{L>~t[3]TSv3}x^սN^ eXl=6`=:=~ՔVM |lN񨚲0=ofUFGzza"m~YhQ9NOGݢ<ॴת[~޼u2̼ǁse{û9~#MFkse˺[W>\3<|z%KR5+Z|?S$^wT(wO秖,svT|:[oū НGWۮ`J+/w5|ٮnmxzT,_L1[.퐎ߠ%~|vrQ;)apޛ5M9q&l1HRrЉ1t-l)jeiO{34xB/Vuԃ%ŒMGj:Lͼm!ƴ3q]OG]ǯ٫^OUzš-*C1QީМيf7 N=3_{f>ݸjbҮ+wpG +0lzfnƶD3zҷPe9nfQ$44LrKa, I3ײz~ս5$ba5Ŋ?dh+1w,f=b%C7jWԡ +Al6gOK}Ŏc=K EkeWy!E>[ x76թ>w>-X4oY}h;8XeNz/%,d{+ˆgV.>Yˍ>k'aޓ9(5j1tDŧy|txjzWsc0Z/iն r_sq4d6,.%aZetozZ2㷵yl֕$v@*T'Y붤&=JyOS(Uo~tCԶWz9a5=U}/jNjeΊG'Sl[&նkڟMTD9jY*ױ[ՐgSl}8cIȟ|O3镈ne,i[r& +9L(}{ 4=* ;E7y~U +8?9y\,|/f_ ׯo;Vɧ;bcϑmG$_ʲֈoos՘kXd7o.\zS~rfcP]x1nDGE- -s-h[oY]?J+пv(VT?/*<٩W.fqv{i5?ocYJ&3~K߸[mUη^?z&f) q30% h9`?FJCc/ljF^nKk:_E +dc̶uOq 8D)SkNrYzkNUP˶Dir7^z2gH6VCT .L^BN[LE.FqHC46کXa*AǼoD sMi,<"?mP޿ki}iV:tufմE;=6 ͻ9UN':eMgiO^zE펯+*Da/:Ǟ>T&GOu̞uDQkk3%>xwMl{u$q+2kOr_헐bCbYs[ q5վipnD R\]}fnV< g*yϿ`l"~i $[E9ɉJkzbw;OE5ɘK356K=^-jGoߩS^\r28yŐfyS{po*T~)\zK7i1+ݳr;6T8wv1G#M۸NO{HU71DjS5QѦmȸ7OdOggSHfvқpҙثPAhCU1|P:uK89.*ԮJl%a CQMPT,[ +/]: l~Oz{nhҫvf{M4c&tJ_FC73Pl/zFTEf2![YƀBS$9sD?MMf +sWf< 3_bt?V ZQCRk2u^;vT5:0J=z!0?^-TRg WT~bbRM%]|1W jYPi3U=FnDuO%?fj rHSz}y%GW’g;:Hi"uO,:4A14i+ڞˋzrKj6TJU\?Ձ=iyX`j^{f-;GvSE3=#qn?vMIߨŹ8/U8d>1`rVNR`A|oVbmGqswzVCb;&W=Vo]6.Z}ovu+[SiVWTf%k_ߋl=A~u@]fEf$}EE_x$qPif]koLx\JW?Uil˱x,?+oꉋc:OK=ʦAwZDt{JɑJxRCz?Uqrue+t;F2~ZRf\͵Lj^SZ%r-|ۊ!BwBC\gmW5SOVa#X6&֨Ͳ:b} +dV^Zli.IgQ֫{{?ڗGu:էSz!!E^z4H]7CAԮ:K_͐mPl2َ3WҺ]&AA_4։EOFYb` 7$u~L|6dFla6I|&H U4G7gQS9D=*UUT]񸓞f<0,)Xu1tsOkJ2zN{ 4|^I} +bk$V +[=C{XYQYzo%}syF`rM~OSlέrktDv` ѪQKUtbvly0IcZW.InM+уFQ jWnnطO nY8/]KAת'g_Wf^D6\gD;2HbhneQlg6kzh[U'=dƸz7rO]b|{ZjY*+ԲxmNWqϗFŨ JB}o L5a=x 6?jj=[+XGGcON.OϏCjH={۱9x^ʞT|352(x8_coʷ}> Rhl?~?l^zGNl(x0y # {`fX>>n+M}p:۵n7<{yv&:[wgo;7>~VV|g[όмNK}:bI\c$9˷*ȩ9)Wu}ռ *?Ɯ1Y&+zy>ӛ]6vktʩTR+o 6|: +]ӥؔ}M}{{뉏/pd++O4O=^[Gwh(qnt*%>2]{c*sߗ.g^d̖m"zS$"zK}#HP0:sm_~ӵ{Pk~OןRQ756T2`Ӄ}O7ws 1FGF|\=ME +@Ii8 ^Zu |mh߬N׶Y{*o5_.W|l=VLk)(Ua +f'nCvWIf,}=m,ӱTiܷSS<85_2@/w+d.\z=x#ЦNfl׆qZ2⿼M0X~4nZI%Vq- O}@FMQٓ AP)=CtQ\$oXTs6nD÷pSD/B܏Bt9 mCHݷz 'TYCZ? iDEb)[P]R_uJm m>L cA8un +Әk}Ʃ`v4-t&ĸůC7Pؚ* @6|vRt\\7&?zykjUO96PSle}7PtWjڢXicQQp[= n/Q/j'<'R{/4,Tֈ"-,m]Yk ڻn/fjٔ)ĩMо+\diriQ/6UfO#u`,d&>j9\\uuG,,9 +75lrxnنrl=[l*_9ț!8`Lo՘18VaxU]6u*7ULe/|X򸯭rZ8>D} 6w5 JV<¥]7n?myLA}Jwo6Ī>WNӧ+Pأ+|aykς}?V>˼F^M{>fcV酱քlRm\Mm6i߰GXKW7)>O=؏TI}rmKEc~̈z+-^wxG?b0:p{'ĕ=AvFVZ|]SbNXIk"Wk]XY}neN7Xuy>powϯt{ jY}2W eLǷ:}~]b,P2:N&r:aju^P'[ż:, $#qKh+wm\x-! O33xvkw ZGfۤD*-@qPkDxT2D~[0~PfIxf#x41oۍ΄J,0R">~8NE%t@s8差F];~[UD`ߞ`Oqte/S=m QIýwypxSD?/Vur= +e:ώڠE:˰Җ_2$fD𷪳W%dl_I%@] kn&Ӣ\x4OggS8H͚mǾѡi M ZfЙKϵr(ORm]g ڦ`'z*>s8ө`e_^ Vd湍'ho'8Py)ݾJ'JwhH?u~~T\V~1Cd=bW5vC&-2s['>OM:M+Ѵ0"BJݫzuϽXyZk%O>E\Zm=sF[ZE:nQoi\ѼIuc. )zGʭY[CCwLdǭ2PWxYmcX|Y:c7sqaںYF+W){]ncT35]<;ի97:~Ùr}tuUf>rW_( tǀS3Ş-GV}??,&c)7[sq^Iv39uI:LdGjcd8=_V7v*yj? +[l^$<Z6̅ ܴPG}<׽gr ԗƵz~zvޟ;V:>3uwҫV1u˧VWu7nv}޻,oqm]R?LG6p~sb%]Իt=ſ\x> +ڢ{u=*zMZ:co9\_0OHOƭVEN=t|^:a~+sis>"6nެ+Q2?û藍v=XsEs͹U)FT&OtSFB .8=ҏ2>ujm}jiT$E!̫^|I.^.uKtef;>6!=1g!P$XJE2f =Ÿջy'd Ew}+Ķ5jL@nw*m|6w(+jT\pwΏDqA$RCiErU/4MW=y!إ)i{2;oiYh搚X}doUWWemG1o-<ʂ>59n /f}~Nt?Ô=5Y諥 ѣp&.kp\xU󩓇W=5~z\p*wlwJk\?c9|(pLUW.wGOiyFw{_O^V?kD5D]TC.Fw0 uCw2vu{{4˅֯2sK-өt|jX}Ho8?]8nchOV_5D#on9)\\~C|;L~WkOTמyގވ9z tEe̟=Rxt^,Y >;'tb->5j\blj+v'.#MWNFiՌ^f[kMum=-%dK_[֚mٕ=k$,qlVugoMm-{Scώz=em]2@p6Wƴk8b7y]]}(ո"*՝?I12gt<|o ƞUˌQ7 +{LM?ѨĻSרn00 E)L~rB\u6+-JcLf5Eî>"<~q4 Za7[p~w' $+]fLԏ4$4zU6eOm:-m2 ;s1h1 sysҏwe[xcTTEȇHcG#{@v8,{f^E]a.z;ѤEe2l钸u=/ѣ6ܰY ,m9M%^U_v՘yFON }ݿ{9%^NSJ3ݡ]@U/{'$ V%|n]D?^ԅPoAs瑥1\|(ʖ*-5?Ȫ_)+'+J:uOo@.I;&yVKn)1-s,'[Y|;D?@q_]ݓbEug>="T+_u.aPO3G#̩KNlqxsmUs`2Jc#y~IXő5x*{)[UmsX|-vg}¿}>ţGr#2=jphH?h~N&Մ;>q7=ҳTavl#mxV]+yZX/VGht]G4_lj|{Le7]j;q͈mQuȾm8ѺjoԗLCsB=]Liy2.Cm1W?Ge''Ý:]C){t:)쓎7$> +$/3$n:%Iww[% / +Tj3 o +iY:M>-ڎ׻.dD2jܗAS5Cg9ٝt@.[ O擪kY^6"J4!!Xc8>]L-ܧIQVLY!sT4ik_tnM +~Ӂ z+2 ԦWfba>=촻gnOuFa<ÅLC /~G?',dJb3r2^\=|6\em'$m FS#|OGztaℷ<$NQ:4YnUerAnM+F[vMg|5abC T:b +c[-c&6JzD ud*=6 eU1vƺ-KNݢ'Ub;1m6jz[ s_ q]y.oV0bӐu ʎhn/)|U"h.GbSb|[eH7 1 $m-ʭ~cyRØF#tfEgdZlVL=bB4JqUrCN W6rlKfiu*5C.hXmDWO^dW{~ꢉ>U $qRӘS=~<ݧL5->o3z-mv`6f}칃Jᤖߤ9_F)ݻ敫bFr,+\t}cxg|~|o K~;+6+Y-??} +:K;D?ԞDZKLDt3UqNZpdvo\@Z)[V e"m]s65"1zLNou]yoo柃ތQ.WNch[3farYW]8.{'b$þ{<"v7.f.2!Thlc\Rl<JƖǔ̕&֚+/ k8ZmwWê' DS61oW󷟿W:a-7dž'1g7٠~$9BU"6Z4^IOy-39v) .㓓Fsg]d+z-,K__Vz&.ޤ&WbYYv/M4өDBSWt9{O;l )|ծ3e^rr(8As>[-p,.>U_f6[uʣʎ~wRi-C"<|~31&9EY:hGsM^Ld) }F-i-ܔ~(m[Eϡo^.L^Y^vR#uV8<o6Gg'gZ~UgnhW_/wn흫Dǧ׷Z8:L8VWo=;Y;4{s}oTAl+־\C~䑰_,CWzY[ۋ7Oտ?ݭoۺ}޺ί-]1D骻^_Ae:'?[o7+_t۶Χ7;oʕPw>>TGYSϟ+ +QU$0|~ߜZo=3XxΏwEʔ]VşEߎ屷\"4WS2cg=mMx[Vmw$ZWOgO}Tw>=Omݽ(1 +-?gnOggSHH֝ÿ*}x} A ZgVS_ f-±Нs4Gv%a}ͅ3Wnrts<¨|F黤b5 ڢ6 FNctl[3cЈF*Y4.[UFoI{6bÁ=o}{J`fMlS +L|AMY2$y$"I~I:Hܕ:Ul@i͵g 4FI(\NMý[5,=ռgkpDfmgֆGԫzHAxdd~jM)͝?hG"2k 6&^@޻#ZԖkS%rXj5>I)f,I䢏ETDM#rLR5(Fk>lEeʨD~9 +4ʽU-3uŎMif;)5ޑUEm:N/yn|s:%ig)2i[U~*{IBQ4]AU%i #We"pѸG>H7B)&B[&'TM_@b/8%]ZwF8?QJI +:Ur7 hYWRץn?^se|y*V9g(O<̞SjuZbƚX]:i"6anZΎCV!vQ Ij(wui?&Ag~xMY&Q\cYTB1Ud?o=DɇZYʵ-q1ث DVU-Zi>׼UVk~ՑRcٴj_+iKOܷ<˃=ö+Z?o ؽT NJ(%A[Al†SOue\B_.Q %ar7VG[1 v`xT4"ǖhyə8Je f9hak9\(yR'^zӾo$%+tDw k kw2-ga׌J84՝ ڭK3Vt:8!:Lz{lï-oёiT ]t~:5wf{'M~$M$zЪaI͏fIC=U8XiZ +sg}-]B~z*g +D4HeSmJrNUz߻iC9#pU4//"J>!<:ͭ~O?Ř,yד-eY‹#UF_,̓/[}֖z}R-I6b= eCʬjp{Ӣ9C}gr:\z6⺆psjm\SBJk֩R>^krُ{sNKUa#~w&MZկv^_o 7]o#7CN0[b@F#^UI⋏Q)9Htwll.q.&2M}@,ԟ2ݫk[ ͘n`KW]gʅRBoy^jN +ZҵL2SNki#TI*<0WaNIЦiD[81j ?ecS:cRjI2&}?Sܘ_$վg$_ܿ[lM9 (=\VZW)KCۏΊϥuժ?y]G(?T\ C('.^J z+>@HiOZP hΛE񄐗BVZ:jەwmnT>77uo/6\ 넾^/ImIЧI1r10]7ZUU=v#kL/$L*筕uՎ +y^)K=<,iL:┻LvkU@Jt3c\tIs/ppZ/yX܈LJZ#9uybzҏfhHߩE%nP| A̖^#n|YO|2 +B SѦhڎfP|jispl*hAb'49UTSlyyUKhY75=罭㝕ǻҿu:]?Uyrqvo(eO+{5޾_nU$oBSzZQ_o=bdAՉ{~=Ыr/?6MUuNd࿻YRzxEjŭաnkjSO9)%[kOs4YH5 nOʇzQq+ot^&J:{z튫wxtlDžrUΘet'fF:l3\?^fjGZRp_uebJR^rwo͔K^;zq0x<|eh1){v]dźXji_,n.T75ȫzaf ST[.nFAVݽkm|+q<9>I~>Y\?\9[MH|ݞ_ꃿGg4o=co'ni +~ w^L>lZgA^WUh*^k[?'ᵅZR +%bxW6#5y|ñF]ԧZߥF*^O:iؼ]8bS?A;& +}4Q䔀mtc6}y-_ֿ ǼQ8XۘCCl殽4sv9pvl䵓:Ev 5F[=[ѦI!L*Ŕ%:鑵dƾNq#x41BOƸ'#n@.WR"ߓ 1[i7>=h=+MţVcHj暈6ڸȉypi^S/E.%uG0c@^Z1Ѣ 1<4ѕԌsl'e٤rhcɓdS*M<6$QKh6aQNw3o۵I >fv(-Vr4Z5o@Mu}ii9b5>XOhB 7oFʻ-Ūa=F2Lb~qǎAVAஔTZdH܄p+NrV-|pxyz͕Dqv/VNl|^\ݒ[KYIueO j5,bvy]S,[, +ׅ>=6͆rz9J J(՘k7LUZ9].ZE*|Ytw'>!;Le9V[4oq?OtG7JX o8P~eSBh&ǧNG*>v;wVsO|D}pZi4SSQOvhtu v?؟MG16U?/2A\AU9@:ϙj_/=Z[U4KW=׫J4u6/E49$$ֳ&!rk dX]?[M3 \9#sH<R_1PʝPrgIDYƊI<_co~q˿Jυ~]yo#>GVj+:, ԭ +ePv|;6r;WE_Z [ZFZ Oyp4G*ƍjN2%E[װw|{S}2[q>89Q i6bΨx-u@xoJX%LmՌ6CQeFOc(5z.3DsX\ͷhEYi.ԑzuo0xz9 VZMH:K_ i˵q-,TRNL8Ҭ:Ϣ圙NI植UN0hNz7k5_DdGmյԫٮ)JU'BCe/J㔱PMGJqg"KS^m8)͹_ۻVufbk[2pCrYD>Ih4HܕXPKt&uIۜŜT ǔֹj+0my}_tcs՘1f+xTYv(sލ`Rb093UD&c~;\ !0N$u@д'M =Ey@7xI\1+z +RkykǛ9gtCϲ+l=xbUqtDGJ#88]SYs_$j\ --vsu6RzuhWbyw2:tvzzêy2)Hibk^sHμ?]\ܭnh~ v{6^4M-Cˤ7?G8yYw(쟖 +-z;\/JMas֣ 3h3ݞu5 }8qϋ:[wv=T7o'om۶ScD*5z(js9l E}RwB\?U9&0?l{yR7^6\^*bK,H?oZ\޶Fk=Wzx]JqOSg.{>זmN;)V]uyֻwy5sLGBo܊WcP;^ ˳Y-l=pH sl#zz7wuz >T_bCZB8[ZZR=ogFO'yIl=qg\D엢#NJuoxW:ZJ~Gju)ʳ񗩓+5vrunt_jIr?9K>VF͂ͫmlO/ultjYeO.,7ΧOͩXUNZ$DݵS/=W30'"^Y^>X|hs%y?}V9Evo4 +9ďc~Ngm>Ez[q \ⵗӶ[+x˲09Lbt%7QE^mssls|lb̺ۺڷ?I1\y4kfI~]{:"]Ge_"53~j\f04xtYOacpEJK06Ӯ.ى8F?=*b8k9gDm[ +߬3yZG +pƨ;wFB[Ͽ˶\\鋦H9C򯣨?jCֹww*bDzVn($f5giǦRQ_~INN?ԒtXiW)3Qq7%gZ;TrӞʇD˽򃉊S z+;p~VS>iUjwsbrЧn,ad&dHNYRU6p$erM?:ik-~1_gV{s<8;+q`>Wci :8 sS5cpWFu^;r38<:1?M̶l.,7j[Kۈ3IǓEi\s]ݣcjtlii0w/'Hb)]\BLKͷ+* &SoBqk^YGzC^(*@VkEtJ_+7yPXrq;NUlnA)xzd"-Jrbi PÙ&>J\K]wCeZtڰ,[w1*Z:H{㑇Jb[$NfIks漓me[OZKZOoF:ŶUAKTؚ(@Z1l<;iPmYe4闹ZJ( 捯B5[Dt|)mJX-CTz{kJGK1Qx7}x!Bt +H2YBy]yN4&U|E{uv夲Iore7)JB7#3Z@hO: ]XI{Vԡ ;iܯ^"m2j2&̟u :leb9.aHU [3^V8ӹ~ 5?m'їy>$[ fj}<ޥsHF'?Q +V+@3kt$@e:݄]=7g^@hDoFcl?~֩zj_{D!\þpnsc +VJG^ڂz[4OO7TWk#\ˌ5یFd +Ά VUKc:&4eLM==g8Řn,Kq) ={s:,)qtݿ`94Q{jz_ootݟ+'8ު\i?\ofzړ +4!\/zG27w7jWOձ?3x»V]8̸W޺_Ϋ&ڮIlkwuQ&n[LE)dy]ײه2PocrR9,-1YMA12~YooO,eN 7׭nVV2ϖ>n׵Y1]}|kCݪ.gyk*j6ނMl*OggSHC"כϝÿɜ\GSka*Lg}~p{paeZtjpe,ImOKuΖ޼v풒t\lx9 Y1{RsοJ׌ƛV-gw{{!z1Ϟ)or4Cyk?xKgb#N*+*(Dר<%v7wv>0ں3)$y\ۮ NLmp>oW?^?KgӶY5 '/)Q__w31hLxl?+iLɵLiFӇ~m10Ҹ[cԋ^{߼涼nh+-w#]և壾LG?(b-mqߛ6o`i1ۨ?#T{ Lh^y>Wjnn? Fn%dm|ip-њϞs.Ut[Ǚ86RbUwٶ}@k'J<>NNb2Mj#0Y-sM`qHk14>-V %PJ-\Mr%%S2M}Jv߽|鞙wx ^i,)찁(t;4٫\t?,BcQa,=>AӨ/S`9co)Жt뾢&ۃ"J &_ّI|V z](b|^NCUD9v˃#rr]۾3,\iYwd1xe(ք2 oEV^eثtVE\AU[t"eE2xG^9S7<_n +iv?uHrVueO2j FC$x"n;SX9_Vu4|Rv& Qd" ljKQHӢFl˧=O^F 5^i2xQ?}Q|kbzSRZW]UJS/J O1G^ՏTTmZ Ѽ-nZH_}RuCWU54VW#(!G h'۪X𴍭k+ݜ)҉X\z4l +ʐ>%rڣM~$niY߫IḦ́~7$n[RDWR3fH6dDd2cVSv+^NaKe[qshӰu +󸉴^R}ӏ?L1EZR*S\*Qqb}sLgyhkeVi @ x +ʵ;Eu]A#*]oj}1!P(+w[j;̪M=)7PvyB@0u*h=ίʝces[om]+&] UdpSG7T/357F×X1!}ՓEJ閳~j|َGk7CD4(VkD?fAsEOn4RʦUڈ?-o#57\eNTT7h=B!'eQBDcjP*|J[.FcR-NvSBEtzC%M*ѽMte}yp̖8ݼte'ϲWzK2yZI{2lW?yl3klCŽ~Òf1!R Q❄5Bu]9ksqϵC 7CՖ;'zG9>zܜiڝ?G1b;K7Z;}1ξlyW8t%5M?nʵvFW\i0v`oh=5a`5mW뱃ͻ`Ù9`"|9*k}t]>ښM+Vz,[?R7ptw𺠩$K'CUY-ǻL2^U4/?;O7z; M^ L60ugW㦥{x:DL?7t_zUQ8-LJ\?>ҕ>'~;:_s/1+i׏KΑʷ]QnoXϟֱ}TcY5e"^uT~N#'A6<Ltwɪ35m? UqY׼tu\YVuOz2-3hㅥ_H1$f:O)î T`O5S.@ò*᥆[+fZ46\Uv{߹Gi3%¨1T.ug5VEEkT˳^=IS^[q` pmt~4Iɑ;k+ qcֈrnYrZyn 3̵.?zsѭ{{IV_ $g2NdYZdvmHFbwI4 %Yڡ?7J>{-fmxqYohL&k0lw:ke?_vq^[qk#`J…\ݘs: _YwAz_]r;r_NȜ{6Av,e@7G-92Hۭϭ)5XzRI 8Vܒ8S~aͫ)2Lzܤr21W[G=͡uJFHeF4ݡCK&jҾ|DUf?Їs~2gɦLu]χ`hպU2Zxزp$woMG_^]lF3MAɐXKE>ӏgW9h=qkd~vb\~ OV!\R8 !UeiKs[Bk/O;-}fV-S +͛RL +2ꤢzNZzVF!4%` +vB5Kgox`VGV=gjQl878iTDxĶCU?O*J'{/1Q7Z:F<IΏO޷d:;+WYޝ;'eK+7ңkXq~ħ͡ +]:ohOggSHHUi͚\CH'Dhuoz^ř f,m}P9%"z09ZK;LU]9ڛ||Y>t-my-=Hj?g^U_$|5Խ~-z,=>x\m;}T*_) +wwtns~LGQZ81X¬dU;47Sg ylG[I:Jk,+*YV!Tf6&)HmvaXbg2\{.1W0j}>= {fq(˘ 53fS7. [Ϩi*̥@DA4ؿy9Ha!0=-S]˱_O5{Ú D]R:z$d(Uώi_ DzKۼ}VƱ +yVWo|/!DAr$tu/D闙[*Nϋ3I?8 գrz_\ލ4;Avd9$Ŵ?#ڬXx}~a|ܥ4vm{?h{v8:AuwyKt=:_D,`['!{txc`*llE-k2sr]<~N>|[?i;g["M|<^DE|֨Uov">߻流կ`0x_Ͻ^7CŽdUFZ\]9ZfUBSWƇrVwmuwzYc+wZs;RK:k3dgiJ7~;zeՓK/a&;߮N֣Sy?߸ԟ"O^Vyo~lAw]N;s_ɫ+i5wVpssfU.}}z8P핧oNc"ו!S7[7;N[Bϛo?ګ[Ol `/QeЃr{PU\?%3›M\yM& yZmқ^%|#Nϱe,}q~}9jh\VFrwo4{W\oSRF__>F_4~5e3zg4]_]ۆi&ʳ zm8~ǘ͹2'$ `GHtFZme^6cbdFH8XhsMUcB/yU4ۓ]JDC.%EH[EwKk[:mPh*d2#8.<<7vI.,̶ֳhH 3JhgNfɔJnzwkqEK#tPF@iqhE.Z2㖃tz] ee&m'D Lʟ@gn.-b +GA޹18%jRS7_WaT<'GF>v1 7r^`YL=J]Wcu좣) ш2c[ iA zmvk%S[ղbhN +Ƿ u?!\;qlB)FH$aҏZH˟W{o+ ]XʮׄKRDh}A݈'{)SWc] ceM]) +Ͼ1bȎFVJ9f8\Imm]]I2"йuYȺW@yبQ. P`~tR kS׵LO7 ebY^~L}{Jy4:e.6>p2,a]uD,1 Tb&ݿF{[V;(u0}VWLGb6/ۘ*GI[}2az| b9lw{bYzh__ci~5vn +ɞ~#}Ylu)L9?`ݮ?PD[!|=ϤtW)̟Z΋]q1[I(ժ2֥!Ye_۴;N#<˃_WF&-K찢r$Z^lwY\6VjavBsr4CN^9L.j1o&ZύcY߸%l\0Ͼ<\ TgAkdqS}Թ+2UU郷jC4+}ŧBFD|^ٟ`eluQ/=o$9܊%EP;V,k|wk}7] +ZGanQ4Oly_XRK#RfG)tdo+O,JΧ?owoW7K'٨OYwSy$AUIRWQx4RgjKӊ*TznksCȣG(ERm;F roY?k>R;44x{:z=sGk{)ob sNA]i>t4)E#Se)S5Z30n݅Kp^ +|\33F[nM#50ɤwQ~oKX֮QdhDkmAnPtjtڕ N#D-8>ZXLdֈkm{ryz]N!DWOW.I vr&{uR53o~.OW\a,P~Zq`YKӵk:x=ȭE +m7xtUȖ,r6qWFC.O{ (rmkD X'gУN;\T:&\/24}PA҃Jla*|ű1Z>z:%fxt>bUZbVM5lm^/>dmG V ew$Lw9(P~Ț3l:w9|TۢE;l]WL\xU}K+ 7 w`LKiĶiO"V3)nѭjm1cw{to][iJ} ͵MY+XhZZOggSH0>rn4),{נ\DO!D{/ʭZ4f'0<, `6ikm+${o/ɽ ;Q略TIJd;O[ϯC%)rӻf\\ՍEH|boT4 y5m֨[,A,ki)KHwGklo6}pc2Cq`e6˺v3vi\FO^͊k[^ +cө˧E}]PGXzܛ_j+],eV{J/?;*THl?~]Рgw_ +G,atI/X_Ewں +++ 2lvmޣP|~<4?u̻Wxb=&UkR>~cJ.<\!Hd Gm:Nnl\$X?\-q16𥉴)^_Ή8bm܂$nw*r1ELK5q*&?^zJ +@3M%@жRǪmʚ?(>מUtCMOYͤ,3Y؍0KHU;f!"9wHl)fYR+ߴ{#oۍ'AcvhB]]VZ(3~? J:WH=/ q {:O}}á9dA5J(UZY6q}7M3$~9__[}Ԇ5g\\즉TvZ:;;jJ>۝~'ۍ/et3\E孬tmʡ揽ȴvl`Zw5W7e=Ρ-OzgghxjOHxa7 + z>_N/ Nd]d8]:,^{rlib!>/# tU)}%P ۿ&}(Y& &\.60l/_a~ή3qbnjRYNfVf˖ơT-VO3 ZuXЀ]<!;<2_IlUeY$(Qg}VF(Ijb'gތPKEݿ~0[rY3ńօd4C[.vJf{bH)u%ؾShSΒ֤D3S4EߦAA>v |7ZV1-@]žNtÚ)e}Xn%Zk$C꤉YH^P=0O4!WQa';d@r1y7DF,\ \aԨ25hֶk7]ZFx5?./-ǒ4c{=ÒXOe&#nDR{s DOggS1HVVsơiϝ6Ț0 +w#]=Xzu>˳r.vrS&|Ǫ}Z0u*Ot mej?wɷ_$!z !?l&%Z$h(gIir24cU?\-x&hLg%r3 'lk.sTf%"oFG{2n5|OKfjV5n-P$)#.\Ho#wӲuaïOUF`=47JR3*J2VFj<5H_\iDw3z-2 {N9bu&Mt]{;ߗߜd8C¹ѽ\s\Vݽcl|=lj~XGi{^|TCoU&öTgs?m+ˆrRjfd]18t'{;c;WҶWHwT+WoNi^W_i?tzY7v\]yo7wN3Wz{Yߋ7c-L3?ɀ7n/οsLG-u4@ YL)1{_|}Iz᮶K4r鰂$2[UNVK^Jo^gjO bޛKYr{v|zuʊbB۽V+ʅy9Sڪ%WK-5OwO#lwvk1;*H<#8ZwzYtm67*_2/EgZ[ze +}r4Gޘ\/Lm|ygZY4%Z2+*Sol괤fhjvϣ VxX2RIcr<~cah!y7M}LYV/S8ORS fUAI*oeY5bb轝O8Gn7jp4ڱШx/RK > tm&<[a9hHHCydfe/Akg&m-c_9ߍ2݉kҙ~,J3_=ʀ? &L(Fڞ|Ѽ}ՑmUd!ǺQ8@3:ŭg؉4sWL,7QzȣB**X( *'F/uz}{/k&Ww~/,Cś+UqSUM1+xhz}M+כ+'oŽ벃%㿵xܓjtWQQ6X&tRtRO Y慤.ymmO,e@žED*=:j_T;wz⦧}Y[N֥CզL6M}E +4^+V.K5pO7!ո%E8_&tl|¦_n}e,_cnuPi<qѫWMTkէwt1BWqΑQBq-olZaEߝLvHݵmtϰ cثuDsOs_PB83=A{V0.Q_FyPA6|džscpfYkkyb3Қblkmz{Z&84wuc&sNx6k|˅5HAF鰪VѶMeU5%=3IZ+Ą,;Τi]+_ڃN?òda +2z8ց,V_^ڃ]3Fhyٙ:,z0 76ewyldsʮzÒeQtZ'irmjmlJin=3.lToivk39-N囩|WW;ޥ: >бkO3z^W̪Ӷ׭A~(V<ze~?enǿz~z%w eX T;kз_-V0OkÇף59yEfss3?5>'V.OnGKRk_;6o=_ϸ_~|8vW@z( 0[9k2Zܖ0ͧ!vw](N4˛"<:zW{~d1}Ò{VyHM)< MhN[gV:VȈOggSUH8qkҚϛʞ) 9Y3`6Rjľa +}gw#fwP9tb-wle$[0:+&ɃaCڵud-z4O%ը53Y.QM̞l&+quup 'd71H0t223d}/Ґ|򃭍Y&߻VT:)5`߄4]SRQKSG_V>H:uM +}W.p(*,Ye7۬XVާ[_y:`c{^:g1"$bJMmUpJ xSKf4s^iӊ[VT߈vyUٮΙ=uS1=/)13£N$%ɦPfV"o?uŕ70Ymc[4$[Chsme a{xZwe6iZ +˻q;SD<3ɤ^\ӏh*xT{pGGPw,i6zNOrPsT>YCV4Qr%][;5~WۺثjO"m|iq|fz\w+,Vf{zM \EUS崰T&^t-ͭRz9'ĝzqS?6 '-u5SUo1~ o*\k/5q{nO=vNV+GϬRʆxveE0o7,YpճݯVfqw'PV9l=Teɾz/IWeWw_w?*tұ(:t۱\KU} DzYYIz<҅#tЖ]r:%U2^e2x,5Wػ4* V8:<:;Oɨ"~m.~/o\4:^?'n|͜ +]=~yV1S] [Fm@fA_mD8$" +ͼqteٸ2M̡bl1RNR੅*ܽt; Qbgk0iJST⪃Q'+25W/nvY.Id E;-RMjD]Ę.gpg(3 cV]^'b?Nu;wFT8,\GQ̾ř}-tfFo,r`,|#,5m/MK̮ݞ/! Sݍ*Q[G)BOFi6 ?qފM|KaH}pIgujh+q :R!B9w .ɌOQVx{ʻ:ȓ D]@QBֺ*;>;v_MX-x[9뒜l{g{}u%xio6ɵ nz +RicLN؋d'E.ioZAuewb[v()mTOLN91RRsDi+ńj\zy/R,Ԓzf/ǥߤfg{zof(S=.y[VX;umy#QU뙻+NnYr?:,^.wh|ֱO{n,}mt?˔) e2e4~`9ᰞy'#8.7w_ }eo믿W|uVv'5rɸ}{O޳xyK5x58 TBn\LjkcKe[*=Iny*:e}k+{F-/n}QKOUavޛa}my߬[r^}L>^ @-$+kU:Fw *YFhK6B Z;^?USn *TQE3!OwQ}Y,9X]{{R\t6ܲ!#D;wӎj~nQNNӏ |w=hF$uSX1E˫ڰ'R:jN_Ӛ7+bQmzt^US{׼ʦM:4 ݂ۤy.v%,Hs^?:?v9|n4l7V[4^WV= [pޚgHGcZ\=ɮ|*|û7&*9nIxNVэ'2fc/Ys;՘JXzfp0؞e;?ɹ]Tj[{oA/u~V*,~:)bzItҏrڒV;Ə=_.U"/:+5x +YS7j d}Ͽ2<~ٟ{uDnLNƹW>-a&NHþvm-y&j9^ݦqW!x:ٷҀ[`ԇ71f!.v&/DOl΋iL_U7߃6L8-Qr?:$OggSxHbƢ֘j +_$O7GT-4Vxoug{k˴ƴ\Ϛeɧ%7$)њ-⡓dqmQ4 e 7GӔ0glެ"u%J^n) .]e%j͈Kzj괷jO%[/ԸNH^:@) ݅ 5=<;4ή^uhgmLBY xnʙJ>$hHmԂ;֍iU6"t|<~<_uO=66zsvT*ݳkWO{5kiCW#crkt|oa yJ7Μ}c==:)_-ꄍWf˜W&rsS퇣Tq/>?FJSs{%kd>׆Q3Z_隅jvF^ {oWG4%hv1-ocWFefjW@yMѵ/Å9Bh͖4ނ^Mxs'Si_ϴĒMk4ݰ\v`T&*vckd~IÄ uW꣦MG^:f}oj뼼M(kkzR'Kqɪ}LNJKwg + g<аuX4c,⠙J+B" Lv8{vq)&EDuάH㿺9߳ЈRSzg`7~*cu|m~?%vgx=(R(l*R6d?/\it> +H U(%`mizUin1*Wk?TT"6z~\O"먥K sGNQ"$ +c%Վ*ɭQ`&O94* L776P)Lꋂ.#N~m'ɧW63j +})+q9UǮ`t4t@qn}?ʼ}ً8#]q?ЕE֮{c鵋AV>]?=h+^hm/E?OuJfrt0qnһ[UO7]JB5c +KfF(c ˆ8]*kMv e(Bֺ.Wjn{ܺL,Ҽ9]ζ(עnttL3j T?ũ2 j6vtS4S(VBRng;+Ug;ԹL\9H|{FJ;wX~BNq3kFs>꨾_UxL:x68W]KRkp,\m A G8*M>9RUE6f3{kLS]Є͘[NU}43|]suJ-ymoo~lJ7<}7E5,ցn46_lu}8f&]Ujz/ӟ9~U\n~tE{|2ef2kmow >8nl&{?;Z!7=O?vf=~Qٳ{?:iu*G˗}3u*5?yJHXѨK#kRn=7y:2ގ-hFGCuy]Z{v^WD|?դ;sH M5h٣E\NZ?Q꜇f>,'Ggɲl*?ku{62ZL=JdetۑZ\6߻"n'ߛ'x49unÛL9d=8 F6 +^i4}8VY=wzd[;n^MŅ#}t-&˖R1*Lnzտ15I'@Ͷ>xǎɭ_[gC4.k,k7FLM?γ?o)IV$XvP JeST\(#c9`^44!nq;JM͔ϧ6Y8n-?s8]cʡmеLiF~ӎ q+%ኄ{FSO^߾W7s%n=d}e-s!/6^"iln.*ݐ [66֊"QOASߙCK z=gUbNMw5.=uliKieW7LP`SɻI'Ku?6v7Py Y2tV|V9ffi݋먒Uvhۉg/N]/Qav_b6ѪtsK GX!*bzOyIszRé**J7e8M_Dg6$:̓xyqW|u^yuyn?GFF7:?U;|å[)bŢ#.mJk+1_oK{Z١S%H d7򱌧anKb,'|.N7'ޮ?cEaVthOzwҕxbUүWf6{Ut=k=ej,>UIu*#zKw唩;T?Ч9sglM:y'-:uYFZо=lOձ:rNkCubk7Amllex=u[vډ緾YmumjWvOo=m<ȬtO.|͑CF3h-&YY6K/vF-ڶZlmC~ŢS3w;MdNq~8 pWq*%4Ats\;k}d$ Rlm_ܩF#5$sK[\=gxEi&=ij6kL6zZ濢G|?{mTgK~q<{ +YA4CwI 3'VLߵ ++5k3\o6zP1Y uZ=Wߚm;o;M-טW}?G\d}0тd{3'Kt30k%K!oDv51j/9-z#n؝wxtP~i^/W9U4-!nO9[[따 wuwvś_B6ZkN%-ǵxy*ʤ,IZRfo nGixl闳=ҟJ~I{].G:g Tp߹r|2-Uxśw$g)#KRɲ$f/Jc?L0Kf69$Q[rOeʰ3Ѩz3ŚE{jC [uZ=!H$DD7@}ɝCg NCFW9mNW~AOc]}ڨk~;K?Z2ק_M }bmK'p>oj +UvzG]*c[j "-1Lׂ ۏUF4oشYy;>{"OzE\Eq|4sz?xUx\yWub&mȞy_>W}2\W '{ac/8*d5͕SkHi#ڜvXUU/;6쥧e#yVnE+C9;McMLJao+gU.^i,t+uSl/'H@WlxluY;^+wKN<\bb'NG+&"sW~s6U-y"|H[u/"VF&筯wɄ>1gS!,RFsW+F1HrŬ +W1IƘE@).n{;rajK нo?m>g~ng!#^,pJ]KHAW`4 kT6$c5&P +v\xa[4_$fc(aLagA4naR2?ײ3dy٪stb:WnvQ`95))"2ls:?gA9ffR0 VWN$.4U Q (fi'6vs%{"`N!+ CnaZ ƈ}-y=bbO0Ga1'ĵRBRt1RժOm%:1_ Zn֞Ł8׷sviB*)Ŏךv 7Wq+|'c]hAe+DvH(l$Xʯy$1c8Bh⬞l )JB5renFڣz*1 :7=ƛDAloMPC>muB(;j`X}Ǖ3fɛ(VR}<\( +lu^}Ukgi 7LB?Q<"S^tO~ t'.Һ2_<7q3{S061e"aZWVIc*Lu2R^1wez(EY u7FP BG]mp_̎yH<(zwљTg~:yIcB`w~7sB{ʯa#L\k_cbI6NPNoz]Z5Kf,o͓o +H) +B26{mW >xHukĩQhJ|ozz7#kYSr8\2,ѧJ}۾єN86tm^ nQ[BPU#MXkѲ&S(9 +}0FTG&%uI5msoAN-Mm¤ؒ&"K'#qk%k4!HՉ(&ETyu +4a=S'ۏ+Sϖh(3{buOggSH-(բjtKgh aiJh$P]q%樓敪 Hjzniy蘩NGger43s=}5?&xeY=CH1ӊ'S,:Guԟ2^?g9S?3$\/Wwqx0{PٙUޙq4Xn5oWsD|th{W4W&:_'ˇ?6,gkڻ7wHD|Uߟ]]:fr5ÓXA{iނ$@2l*Vz*Cp>/?*sOonnAK.s fޟDɜ~ifE{9vPPɽ—ԭ!L0.c7= zEu>rQst~a(JTs&l vC=ns 6z#8vש{f>Z1Z ݅>!fϩ[3c"ܻ^7<+_WUf=^PMlWLϱ{ӥlm4[8º'`NWzA6PռB]Jj޼{2k N#"oG䃮 a"*l[ 7x{VƖHdTUFoϳg f! >Z am<.C{~1.xSr^HdhŶ![P ̘Y'EGZ7TzM[F*3&W 4H~RlTc`{5RXcCS NE<++2IZtno lɳٷP´X +풮T7sMLn**pWɭa*h֢yuږ6m-߹}ٺz埘oiJw8RoLCI}n AwH]{۽[iNVvSan޲XļzeJauL*'>PcIi+1y:?JwGRʻ9|Y}sw^eT,gٙ꥛fbX9+ON~ nTtEO%Lgp^I +NaʆҮMsCd[oyL߻6hfVT5aiVmjsrʖ.ϱ[7pj'6 BWbtW#Hg݄MRmŲh7TbT5$ +=sޗ/_qx~j6 5uٹmf͕riu~>ލikS,Xg7~xDcxNkt+v.#Ρ2.n宺hm^ؤ?5n +$C4PE2K QRw5;7H,zww]`_OiR40mx_*_=?x]2ClگdE;tAx9~Mv|xEU4~pPAVGʼnN`l Q&ҙ/N.UwF};yV" +v8m5zbV؉RL&ZKx\Z6F&{^F6Khs)"uSq-lIÌݥ\wϹr®Z&M}AF9-a2)-L-Xz*^W<v/oN_u=3O1(tVIj]br~-op֘BNKB/mzצ07z@KxE3[: ʎܹƅicj@pv>jfMUzoigO,HE+QTNpU .4$OɪVjMj<)&+ f޲>ۓnK$ zWtH#+Huz\u6|{[Ԩ!/[hاڭz~Zyk$:Fڪq2Q8m^[Fk2C3gxLl5uu-wTd-4PۗFFeiZj2rsb%X:)xiK/1"cLʷ~چ,Yៈ::\\?]{L=Uez#j}`$]gS!^osZWv;tuCjZW6e_=uX哿6ḅ"F F,;{cѷg\7V'EQSR)YU{و,CV/3<,[/eZ|u6ScUYjMBff{r1}sy/8w?ٝs7^yΗVw&t'u{L>D+JϿʮ'otE|pkR6}Zb'ܪ\}Yiw?O&Z-Yaz͋EYqk)ܹgvOޥ;GvEj#[Y=_Wx~e3=c4<y5߱2Zxs=:T t=pIZ7%玠Uy%Zuh_Z}E=rGW9]wz3`t"=w1~H,}:]]߳ݱ}YZؚrtޓ碜5Ө[΁O]OcݭrX?/MLl?Qp\Ztj٦<0jM3T$œNKtp{O?V,P}/ci?+_9'ʺ./%{&vRuUYxe#ſ[W6n߼WVpy}:_ د#3-E)OƖPku?':#zNZeg㌝3۶m'KuF㋧3&D"^S4Ey KYqej^Ṡw{"k~&TWɿ' /Fltjmy=t_{s𙦉35PϬzkAJ+TV\K4ֶL3 J՟S M+{E͊]_6zP >*$-\ t4}5J;S-eiDۊ[zO۱zI0{ѕ\_胷]%`jƄd5YEv; l&X VEcR!pR~3"QiZfB:۾0?r?2a|]1bipZ&];,ߙniKi.-g/`[ ]L=Wtl3WTi~7JwCjU{QP q0jj×8X.qE,9sQvaf NE,7蠫vuq&'VtᙅϦymk}K9Ly8>l-ާl_~hyy}9zqURg/WWm&ͱ͗v:_R/})WJ:co &,;c `ϓ*<_mO%[ĮYحݛVJb{v[.IhN?+=O^<޼=5RIw7GU.]y20wrީ<;}δ1vzF7#X z7:P;rw}rKC^WRf_V?] ~Lt:0CTl VEaiuodO uo[& +vrWaNхu NL07(:.VyEKS,@+%݊QeB{/x2}3th?h[?1|۲$$F]罧+b{c>;M~Eۈ:8ɼXe^(zvmf#7+zTUi箄d]{jיgŚ{tzz)vvs&h _:C(jlKCلm0ȄHwTL80t[foPti*zAud?0F4,{w*v{>v͖՛g;ݷOJst\t{ܺ]n'׿}Ӯktwݕ+4_dG2d}d.4ݳj[^?w3&dA?)n]}cJ|V~O>_9'Iݷv˯ o{{oYf\;o%'+TZjĵ/HU:*dؙ{J|ۃ%TOCñn{a'\k'fKm}T?IYHTޝoᖨ(Ķeu|ߐ$x?F:6نR'Iv^܈ ɽGeJ8k2KBދS[F 5F&VhDSw5J'1]I&C=52k +LR1`Dqxf[LHWGqV*H\{]@j]SCLp]R+J#:vUZhO«w;_b9EtL٬ngu<i^gbl~;ܕ?3G+9]Rt"vߠK/3$DU7$' ~lK"D2mǾjim_Y峻R o"l?AtEj,/9<[Ԇw*^;7eŏx;SZ5]/xlP[;{Ǩǫ{?~*ݾn#Cw.ۺ/ڱ3p"zɆ;ŸC[3l +Wwx^ۅ]_f/olCwZd +}=Nb\aڠ d">X^J CW+okSˆejzntݟNQUYtQ)hvNSPF.{veFD|M+zFevYj\NEAVgJp:٨|qtKSZOwH@W,@+_ɉnN~P7)j"cɽл cE3J ;lԼF +fu˺T^GL{jY#sS'Wdpo/m9 +MĽ@4mF1 r~l6jm}]{G|7򲚡$ZD yj 4xwRxG+I8V6mYu(N.qL/&5DH~hx GѬI?pH#,jc9'^WKO=[? mn%r|u6/b !f0􏾎E dߝp0[Qou J#Og}PS~IoGtQJsjeq{!~h$d3pgܦI >i(fpN ݽwruFH}B2l췜m?v?tGgx$Xp 1bj$I'90]H`+?ֵULsI<+OW Z?TmK-"4Cz7I)bl7x5J޸eR^OggSHer֟ڤZ$n܁td ϥ9=QX鈰~ugu5Ӌ}5hfKMciթG^Mf) qH.Nd+(~,5rX"-=W}bq?= wV8ؐd@¤Fq&6JpR<J(hv')'^y-(tzOdO}MU!;Pg;nw1̈|5F^/9%' &CbW枴M$575ٲd7cXu_6GUjQ/}{n!-i1鯘:vi~ uOz7w7=]?ϖ*k5֧^ + yQHw7ԤOIQԤ3\mN~xh +ΪOS=gݳf&W}Ժ̘A,5d7tNj$zԿ$!`Zr=!Gajqܦ49=oT݆e\f œp=Ieύ^07d^Q@vR#F={k{g} 쵤AtϖCd:J_Ϻ*te\O;K j]&oq&ILmmnM+vїK:Qi˄|wҺ̈́A1Ѭ_@pI"f3U +Q?Skc}M.3gHuh;O5,Q) lb"0ZofͿFbVo?)_,Ү,cgX[/nɟ#.h$Fjz}I J՜\<һzP"\zfk)E|֚ dQWO? Ͱx^_-pnXesR4>qz~u%wi6,V}Դd67rNCY_?ͦ +ޭ۪Ŧzš(N0:cd1%lL n΋E$6mm^OL@_.b~-,k/ + *r5<*j,VxOh*FNWɠn)LxپOɷV]qR|1"tTAUyu]3^[&_oU(wwy0u<~#lMun>>v6ޞl! + +{+W[|f4*oVjTݞ*<3V':Kѻgw*ͭ6ok x][ruqgtUJTE{G.{bc|"?jXv( l)pdS}9H;Z9ح?3Mfkj+{X\"o=eTEcyua߻ܲ*ZcsMafJ-i4sxPWW\ک*>E + ULJG]U3R (ukoŅpyr e1[kBL*jƩi#Bf ]nNu?FgkPIJ}>9 ftu{7vU~i0J&+ZjxܽjZCs<벙C\w仰-!}tQG+A +"y<呴b< "SơNQ dU_C)}LqMRX-*$?}Z"m)q^3[2hz9(حiOx=sp'Rm^I*ZעH +h/Azuyq\ۧTy.!gNV`$߸+ij!1\wJ +ev#:9wuц/RuT6[hFcy:D6x̫71( A̓ƇUݺ?/l6NDxּfVvJր,]K<+֤{q^6uxDΓ˷ꩭma l6 A{|B88OV6SJk%ױJJN}s\TA*P1~ l_&!91G laE|e5NgKz>SWɳUel=U3+U_+샅|@4t.[ʃ3+ަ>޻35~U], Cnw^k6G[p83d fk$ƽdzޭyݓ >!K|Vr.0̓y[f@Jvt:k\ǚGE8<)Y ɐvZF5UEgͲx: 5OOǛO0gyd*ՆQzS ^ʓJRf2%Zؓ'LeHXinZ+{59G'mEN\#uFU6VpcKɨw!ɉ8uˇA&vJ(|̴[i~~娈F{S۷V+ts4q]L(4NnShWze'6C+] ?eò-:u>[0%S$*5V0uW~zz}\yvޜ*Aoؠ_jh4܄TݶVK|[Yk&T\fԔzvׂ&}Ww<mw55N!DuhXαklz69E{Q%i`L{bFH9YTys7ӧlVz>ەC#k˹6˶^/iƘoɨ=6&d# R[VTvZ٩+1z C( ؍W]obE%:bӎ#c:BJ'wzKF;a {lב|iwQ9GLINǹϳAyZS(^ىtsDz܂OJ":T/ݮbi[a>sI^7G1m)KMcU]l&ٟAI=ƴ_ +S f%}ס!solmm:x+a _F1M/^UiاsՊmX'W m vBbǼWVd7R78R|ywBڛTK ΑM;.4棧:^RBٞwsEO*&'gi[F-R"MoV>Wz1^|ksurwXuٱjo1OfFR]*,ᡬ+nt{]ѴۮWǎO%,:>gǰK-,^ңn\,-jR싦b:H"Vmkқ󑬞1x,F̯)ZzYKGaC{ۍy/gW ÅޱmTi!jҌU%fK,34TӐ2Z2;9e'M`%舍f-+z[Vf}i ^I, +RwHhP˫`E[9/s}KʜkVm5bRN/'qƗ@nZBqaVp-^YS +];0%}{+]BqL!txX2SQZ955:+e( 9c\+FIH`~FG_F/K4uG${FNOr7xY݆pIQH,ipT +$P=uUh#l_cWȪվXQn8UJ۲Կ2:lR2opL#j+$~yքҪ䮩eRm-3'}pźfeS/HV#l{oM.$ʪCEj dzM&]__zs h;vrP+$E?D#H(RZivu*֩|]OYEYb*blVttr)w5~{29T3LM,OmW:pт{A7c=цCW?k2F/bF(8g'}[c `?kNVl*ZSF).l?ʮ:sV:َO\eQʃP(R>4BQBZ_%I< +OGOʻ!K\Bv~a{^x.&5v5Dx(#+W&ŷr-mٰc:5K_r@8unq3aNCwçB!B|@&Y:/^%Cq/L]ڭ9ص㦎Tg(k,ϓKR'zHա2 yE&䪽/X6uЩR2;v萗BVUcr:c?\ydWwS /-uRsz깮5gxQv>{G]qWq'ZZt@P s+>mokPu:\LS>hukefMzLcopW;B#'#TY(1AD2 G U05Ւ-!t a"kC_Mh,M y: M[lw$5w#0!zĴD}F^zC|9#v|=m`^lXkVvƝ&+%*>:# +ފ4juMwR~(=rma(;o6Ҍhj/ɓGof`66U4ԕ]ա[u;7%W);VgI$gɻM ǶŪqZţMۻ'6k˘j?Jj1mӕ5BM~`MrWd(oFehLCj8J5QDEzڽ(a}T|/Gf> Ѧj '^ ׻䈯ĕfcAi8l,FKumҘGc{-&98QŵlI2":$9TF!b_t)JD#Zﻛjh,4C漮] 'lߚ`{fJsrնؚ3TH$10*ZU^uCfps:žʱfE^r;;u젬ͳXTxQi5+Yg)%'e(uZYˬlƶih2)]:1JS M#2TS;C7èI +l9**c!kU)RƤ֎IȊ5 6^PҏpuÆw{ˆ(IZ^^+[N ))iR'*.>.P&p;nfkOڲNɓS-jw3#n;ڄ쌜/<>2&o`/>/ '&8i(s6=tR?%!#"dC+žt;ݩ.N9?{V0пpPuO[去Z}}|̺ +g +oft<~^r_L}kt<_/ֱͧvwe(ۯ^6| +9mڥGo3}:sqTG@lZN(3v?o6kM~̷r$ldatavOիWJ^^_tjڞK#;dBbxnڦwbϳsG44SWw2ei[D2}vWxNt +:mډ H<3OWsL &O}`_kNOvu}$JJ1J]\(ïP<>f,'fq4fm|uig~:ysxyI͙i4gXb\]b=ލbؓfDS=]T͛WlF~F;jWZ=;NkSїH׭i0Vi:>ĆMҙj_QۉRNY!CǑ9DT܏Z ٔ@U{Ŭ*:SW̊J߰i.Gl$F0CgQJdemXЇVY?i׾UY(|0OlFgV'JbtƉVސ`MM~aO^1J7,n6]Ğb>WsczdO%=U^iB^ރ͠i':*Z%$~){9V·," +^!ѸJ^.PTQ&zB#= /x0dhgbs:d>G8^X7OBo:fN#ՔD׏{3^)vz'ĩ=SKә7XiҜv#mrZYſUq($ +$1R'A9Z>g֡<=.!?ij4l;1W+atyl[t'%S۵՟3fɛhOоÞvU5utx-kbgSm>uCheĪZƯFĂnOi Y=[Znwmbk]5acٟ~\/l=x0GfUk ׽,ß{hܘl kƘ;WÇqc7v??:ql|LAJ"Q>X?;?R|06;q=9vGU)^P<ZAŹyvӹpua>M(ZnfWpJ64sq1m*{ksnI5?VhTy<):_fM[[c/Twa}4] +ϳutKοmdCu3z  Ţ +r7JAگueWt&'Admk{}uj{D8ի{`La_'ss-rEo8/'z9ѯI=Gq\}ˠW4 l=8uQ7cz _:ۓ3e* +ViSykZ^˜:WٖO^MWh'j4JF{e'1/^;j|{6K+1˃?Wuo#ǜ.Upcl?8tga4{wSzwYJ<ԓ?ӓOO{z]=@_oeN,wfcm笺^?/͹>q_ON*V_6mz̻ܤw~|Y[_T~c\{56zڣZ~vqtwhA&4*Xɷ!Fߨ3֡ڸ_I޴|sw7~ hss، vi"zGm.+_D\Hc+X"͓!m7#JZ[Xb|LtUk|EZMn)AR[Y= ?Fwѳ|食|I"Zz*$ҩ]Wt!Te4CmmO /-eXS _#Lcj6aO{kgߌ銭K&RQM䌓FA(f*%ӚT)kgM1!2y[,,>LW2҆<:iEfUؙNger\3+MlĬC#NI=D R|(<|ogКF`gL)ޭcnь\]sYi)Q691W/`iFy:cߞ !&{k+d[h#4rSv$|`[:L9J2ºK\8Km8m# <6apyEXjmBnQ:ð^3 OggSrH  iȠڜD? YOir_\l_Y2/jb-&:VnVk655]Pg&m4q![[2B1|b[n)6T7XZ-eAʽ}^MV@7tCNMXq+VًY=Dam{rputC;~5֚(rj0w|9[fWw^mߎ*~wgE)<.p^ @x5˧߮P=^^8靕WRT|[=O.=_= ' ^\. G,ҿNrIGj1VKk5Zl.x"y^ܥvs/ozR+B{xksJ(yYEz3TN=d LZ}~pָ5~"{;^+/YSncSc}nGL$5}iILajCA\S8Xaj+㷊JOez:r.Yb"-ʵūD<?rvI?u' };%p/OߖV{/[+unC(+s}- y+4_svY޴*vEqGu\:۸(AqhɥfkC%Kmċ1bx`MӞZUBd5H6g/ZSe>>=G h/]R6F95dɻՒQ?)۞_^* ·ѳNa4ww/d~Hjq駇0AJp6^F~SJhs21^: U$x:t&=B.f9\$Fx3칯#-tN7|`ä hk%Jƴ(3mSY{퀀o?nW':Ej驔YW.MHd׸*5ss~tA*ӣW{7)KkWZ{TcjB\s +F.mm(`JeenJt^mP|9y9T\[]T *쪋[Kr'f͛]$amMmȲ(زVV$ݭaSsvDEBwm 6u]M[$N]-{8a;suQkϙK TKYqڪVyG ?|wtǛ~i؟Ð<[R0̆xv|)=޴ߎ?oj_ %M 4{էz;ɐR73ﳬЫcjL^}52bfUXlo_^w}9mֹ<,\lÚQp|y sq'Umľ S3y;~%ypr^8=_J/)=oo_˭㿛xSx*[ڹv.R;W?m޾x۷}wVVIݟTKj~Dˬ^˱Gp^FY+{w4pûﭩWu:1^fȫG՝c4[r^=O1'^k=uMccaO,OLjݽ??=& &]Ӑ:@ncQ@j7#Z¯%+}_+J(s .Kc ̎?5y㍬wzLip U=(^ͥGjspZr33s rwPcl-gMBLT +r4\أvv|)cڦ_4<ksEj]Uk~~9 +Q9k1.nP估pl?*;|9t26Y7RԔ3ﲛh'O& ʍ/9,gUݫݶ$j+Y+ nP?IXD11ŰEuѰHf40FUհU?M!*fiuFUũi5ʠ]6W6SmFYKJ8ixßi8s|]e僪Dd?]Ծz^mar,TF? _쪃{ϗ‡|R.MGʜqYd 9TKg{ug{y{BM;K +z[޵ߣ:7tu:w~4Ѵ_Lt'Ǿv@W|m=j%%7xE^]TONq޸\(sS7:=>ٳ~{7r'ߗF/#[Ypu~~}h̿&*wFry7UWT7ͷdەi;ٟ| tCפކʸf16:r}jD2.`cx\fhLKn]TEmy:[_u_i/=WWu~]]iBTſ?g:OFOJ5wm\9om `d.r\IKI:tYS^tD"6yKf/c +po˥˭t _Myٍoz7*YyTabh;GdCRp?.s4?C' :UANO]/C";"eTO}t; KE/ +C?ns%3F]F/dK-{ᤚ1G2j @[H("%ƒ^m36نYRiZûOD&Q. +6D b6,5=T M?ơMS=Z +ݽ,~Qxؼ䒔>8 z-?&LFo㜯{g9ġ&3gW3Bӫ^D.X#i5d5孻V#桛ig srS&H>&}{Β1F+c4"i|u-h;jўDf+dE6=4P}Y%#܄EHzLFFwe"ɼZeTv OggSH!Πļhnc4͎2%8{=\6nt\+L AnhkEH<>c!iɒrC2Z4ZA~;9ۧ!)rI\f5m +ꇍ@?Tv|ibe?Ƀl!Ȼ@+UuQJFL!YabtjO`Z,Ymcmsslg:`]AѶIƑe;Q Del5AŦkv{*E>]"ElJsJw>] s>D:u;ޜ_gP^vNZjxӺ33<(kc-R.mLSx%hR=)wz릛-6pp*]]K Oٮk>>g(n9%ˆ&c(R-i8qOaᥓtV  gYN6w_m$;V#]>**[-~ǯwT9JNV^Rr_<UZ}8:L11MMn /3M`mQj&0jtJˢa^P{3^M)hn}u–:r6SkH,Sͧ)z㬭df_<&q9gз@+0'y#X%$:Єʐkr_Lōhۻ(M_Rȟ2D>$*2Ϙu'`-:,#=NߖAsV6}:E.uJB(GU +ۍx'^Oa1h칞9(ą~-wzNoN/K?a +[8Sk[y@tZ/44ޯto5۳; -TCY)cKfk7:n3i;PN:T4OVk|y^ߎtkG?;/n[7AffţnHYs1"v_>i"|{i]xTϻTG=K<)Ry|X'pHcEY G*܏۞YpFw\Lj3yuڊ}|IjX:NOe';Ӳ5qdznwOTB?}~g̨?DBI~ӽo:xy6;{T:H-BDžˁE5G,\_JO^ZBkٱ2U\+khZ9x bg|V=֮-NOeE wRENqFXV8>OY1~&Eku2,IZRDhqU6Z^Qa鋦Gr"mmU"4@[&2o7k4&H0ݹfձʴ^I:}]ٴ4z]Yƚ'=zxp4׬7䧘{ĩ0ΏT-r؎%.NB1UBDkOUiXs˸_&ac3ڂյ0iOyAsxyt ڀ~B1V7߽)!71jMWy<ēcKkw_<^OQM?E{6>>)$m$d,`/@SttOK%ҹ.ߥ/tsxuOnT$ 9lԔ鶳gwjP{"Tbkh!&ciLfixR>'/TC~iHC4EozI;VX+TxN}-+yE;"}II5ϵEEC/}qVs*)OY=.luU @ {Gu| 텮߹jK|S۳?ڷo8Od$PݫT|\U$˿OohxQw<nY)'jTCY T ]KDyP_{,2ilOayF%`OBω]!=bp"xz6Av .WCgŵ4JLQ7f0u J8eLnR~4 +O,S'Eه O׈&*cp?!L`^P]|\V뙝zecsDA[o "{vfTOiJ{4d$F]L_iǝ/H6{?]mj7^'KkmɥXWv%t.3ο4K(5j͋*+6ҩ.tPS{|Wzs=E|?$ˠ\{IYz_g[\fpI=Wk JLuvC+f OSffwW,}z|bU_'+g~)dvc{ΫmtbxWm\r]EٞA(M*׶O*sXn(ì-UX?:>y]I,o߬*~Hly/'Q_5Crub7j{M;VXOGIOk=l\ k[sIJwж|?ԽF$ۛ=fRo-_%*x1ssDQWHNm;;%Rwϰw^OӳljҹSi3uz3^sM/&)_}Y11KM5d;Q M3,w_);eTۘJϺR$t\ӻY!u:Ni]o~(Uܮ* 6ָ86Ugߐ0G9a^Hڷ: +ƞk)OggSH"9 +SИſėqz5ju٪5IV9ZPR;0Wd#CLUUgiy{CG1J:=&ݍv}S8g)򴲢4|)'=!@kbqk?A +#rm4ֳU1-pO)gg7)71~q6ڢ~gxqc+~ǖ,'i:17mqaV_ZY #^59txZlU&rc($蟨GC4bUGNR\\* )[y{Mvfg1%0"fDϐt(@2S{[9yاDɇ'~jo%{O'3+|wKT\y/|ϡZklЩly(:klOO˯2}g6A` (["{nkjh]ǦϭbǴhe$K]W_ƛ^c+%:[hbR'B2tjU\b.FZTzɻ!:U-$gMBTPkK.E?3W_-Z4{j!֩c GtUV#{|nU8tܐG(14͹TwʞUt 5C?l-eIlmGaRm +lNqMT +cm21ҏhpx0D 6`BJ'lJsV~ڑض@["kR=mf(VdLyGELk^43߼!T9X 0//ݲ_N +|ӧI ;|Y.ΕRut_ S-jChS[ڭ=Ǽ]"svtr7W6uǡp%;׽Mqzd"O*Y>44C{KM.2:7g)K+kĜGk'^YoyNj]yp5^=vtw뭻Di96kqTN>MۙM#f}صRa+Vfïϟ2\'4EQ{ʵ*eme>+'E꫋{gƻ5z9#rBjI˜ y<ϓ[;l(bIo[$F51w>xR;-ND~/2GɮqPϼ%bfx?}V$1x5M=?tv?%3Z?\nҖjXڼVs/OOw4Ӟ񎋌 +3dVګI\H.oTWqY(pZntERmךz$+D&To(wiyrZDQ6`Ktw/^)(|TtؚTzC0E߷ >&$a{)g+F,V7$+~YؐAI!h^Ȋ)Vt- ښ9[C15kS>S_بTo%^T̺A Sv&1XqL…ک9y=݉壷gSmi3r.fs +2`"ey&qZKI|799?}viv0L=k[hL1ٍqIteP~\K7eBPNs9I,Ųʨu/n4(^cF;HI[11%li+~qPbڤ[1K{O\:9Fl.-X2>} +=(e~\˸3XLK7- 5<sT֋.2DžײiW@6wZ% ѰNas:3Ck,XP1ZW=iy=۴vK= &iokp߿5>:2ܱΑ*{r/sN͌"!*M,&w@ڙiZ-i8{Hzq,ޒnbAІjgͰ,͘)XL:~B;4)=]!B=Jf_y_#x Ui;GbAu^o$O;Q\|{gucNPgzܜ?JgeqD;H܆7e߿kNdv ͇~puϣ\q\CromR3^zNQuof(pe>AлLKYbx'h\gfB-y"Kˑ|rR/' jM^oR<Ѝ +̍3E"b1Dwu' n^poYr%bSϾSHuf}x]z,J(3A? k̽'2{M,V9_YHY>E7Fro/%`;%l\FWټX%FL=6-4bԍd:*uZѤ]aK _iͻ{VX%vO4y9>Nr_%w`@Sʴ4m[G^Y*mP 4Ef^4{}m6:D]갪JPej+CSlEhf-Yf2iR#UMPem5@p?7om;^W2G|Iœ֟Sx^tMFl9[u n,aŠC%_)=]LS>߮wfB7y'p6|M;خ~-*Wm앎>?S^:#2lm.]Y]L6bdss_iY-wy pC.8l9cdo<6uzz}e] mGlSj0w5`J)[WOoϖ<Υv{Fl׶at ]:/kZg1m*\qFߕt˦L,_- ?^Ao,&*ll;%͐|_Y5+b݊#iUZe-^oݹkW0ܣnk'ڊ3R<4^2@V$mnRvf" cd貍0Qօ+T +z/\ ;5wr_=60p\'=\%*T&\+j#{muV>R}-[1[PZO8²^h/j{3q{]Wrrs;; +[pdi#d %QCXLnUS,u嘫ysuDGhc׍1=Oպ+}3/籬@CnEnf3Rުir7VAL$:E߉,Cz+'[q&CSUp;)f>TWR?FCS4%bs7ҞVc?WվB_QezdkX vyK9D6V={Autq}6rKcul͉+f_ηJlv[vїu߽uȑܠvkJWIs;"Ia`8gf="ghc&뿼_r%5z[7/s)dxdAcuVa(BrAiTj[zk"ޘnsb#L;Uzgde_|FUU<[HqAzN݀6W,o%v2,!Ksd7r~^X_Ϯxai7V.ɇwW#ő7?8O>^lEڥ -eџ|C'흗2KiY \JzqoDV_6aZN{t1wT52qUYWjzz?ÿRȈ3rxa#IS\6pI/oL15>,=v}J́@%4]7ĉOO6'8,v\fIy^J?=Cޭ?\UZ'Qt磿2tSŒ +!dWPq\,jj}V)%B)d2 +` y?l05ݝգMdxޝ1zTot`EҚ'b.>Kahлy1 Ҭ,~ܵ!u.vPB;ڙMcS#Q`ϯG~c=_Qs vM ^ _K]Etw7-WĖR-]{Ϻ۽`ZyXL93mQ//ӕdGUkQU۸*uuD,+5U9WN~|~2@e0Sg}{bj5Q +b2{߉Zm&BEh`gY}\|9ll6LyUkYG{Kl~]u9|8*^L<?sU +\CYSOM9&%zwOuww,,yʍWPL[{9<ں[ܕ҈;}/[nLμ'JݥuI]mȴTh ztjϷg7#j1\"ܓ}qr*<$wo~TIHD>DFDI.cFgOY·=YN29>8n襔|RvNxg{HY^tֹs8:<>R1? VR#\j9aǫ\zWiZSk(-.o+[]B?Z3tz8SZs|*LTڵeK]lmLlc3ʈT]y=n/PIYQP4[[R:]"hж iXܯ._B4 ޒO&] %SEZl$Ƀ+NfEmaVMKn9R:EJ(sSOof_z oU_}[~?~i TcJS;g]U LAw~!#a"3:ܓys}Xgda~}WVwߑ]֪3GniooMk|k柣^+ӵw:£t?~]x{5 t?x?VFKtiڻV+Z/Z"GF| g@gPкOңSDfd|X.W{6.U݌xiEz=噬G/Woem[ݓ8T;$ M;HJ[l˾墩no3kǮVV[Wo'iTQWvweÊB]|Xe/iG=GUǒŸk16QgR!˰]hcbyv*-~7t=^g֪i{uh$3.x:MϞDLVr+17N|y[U+=ijQqLb,K׶{K `5N:*ǣtmO="i'mOS dz

˭)fi)j ^U>uMgr^=qJ][z̯\;b{Etb2 Ƙ{u_>{B TAO yw.bꦢ_.O"̋rfkRa5)QZZ*ɰaG%[ NrYmƬu/$^M/)fc: gs_:^zpT8OggSHqӤ:HluŜPY&ݳ:ʓVqѧۜ+|4),8<]<H/]'2˚cR7oiq̩\*QdI3kjv>E`sZ;bnuX]˪l)2YewnxF*:kuhSͿJ + վǺĒǘY &mZCl+.VɝRZ)ҭG}kK$ FcmhuWy"W + ??CŗT[j]+OuT,N'x&vs#AFeHkݽ~̬@%7eEr.^¤dKWk{nt"Oߡ# 90Nw`II2+th_+|m4vz> VEy*ʇS״K/4/$em>CHm{gxf;JKuL⮯^zSWٗ"C ?7)=rx\}){VÉْ㏱f,/__7Ƕ7S[evcki|`tOYNBo+uW%zѵui}t3- 6K5Ek\V,Ʀmb̕5/:bPrFGc]u7ݧ&ԮA\x?ȼǒqCdn+{,wÅv eQn;g۳h|r;iRS|a7OJjd\PAZ0lmXͥyVLO/noKep^?[w^&b9-Dc+kכD5U{_ISSz<ltE.HZHSj~b?YQPٍ5ķd{"oN'D$$s: 0/011qT;al]+)\w}s>zd$@GO`U{MWFݦb8;):϶Elpc/o&MS?R(vNj>Wpn-}{Y+L 7^^icd_دus[NmV6+ηW8ϣGh̪Ӫj{c{.]9weWi+'2}Of|EÄ^'Uar)'D^mJ-yNxMx]\-e,N <+w]o{EuFgJZy?w7O7Ϋdu/sp|NPk/v/#qtV) $f}[,σ<] +f +JV|ldȷ6gOOëR^oN  +˙۴gܟ&SyiK׈jmaĚڹCW 4]>WN~ t\a'NըJc3k -P+ϔxL%z?aqQ7 LGGGKu +S^[Tl/Jr,2SH6Rak:zh:]`e yE-wVkJ o!:Wۤm:L7 }叺3=ɢo4(.JDOҒӘ=Ff?Y8u ㄑl 6w'wuaNoZ-]v}:vNNwy>Xۻnhzc; jT:kwM!"W7ZqWtT-E^Խ-;-x>!(ڹiZv*OjiiۈO6>Cu' !7GSd/Bd*ҳKe +[u/V"rx'}6 +k۳f66~j$:0yr"gG/:"]X6w^]:N5w6qR-v=M]ٶ49 6yJi4dSpU}Av]|LUt^t ִ<(Jh&.;X@oFkIl!O$w)U!Vcս.A+M7a?{MV](ZQ9IzЀ׳#t<-azC†m`ر|G*t +V0ru,"m,؎Red_A+R=󭩩k"\f/(4ϫLIQuoߥ\ SWf&eCa߽E4ޗՍ5UN|b'>J$?s*D4kp/.͉_xv]g{4P_ԓF)6=~ &-ϕ$ejj1RzUY8ߑ7!V(|RGl^Lʭ얪ٵv/~i1[:;Hl痵Gr[TznD}V^زd[GmџOG۟*[S0$l +ږ_ֶQqEa~o&C8?葫D9>i2l K__8"M3gv,bf2d szBam -3m;pU5^}qAR񷗙>+hK=iµv|S ϙf>KS}KtTanS^4}\s7 +Rڱ'ū7T{OM3F*7jj4t˯j02^>:>͹lQk ·Q!=MjӜI? jҨiaw7n`d<13ͦBd+M\.\H7Ӻ~Rܑ8s冷Lۍ=̷&2rʭi;B#P:vWteWiSb7N[Uo*6r,ι ++0viNG"A0<6lMsZ:b?!d]3:-Y`~* z-Ht4fVee}9lGjxϤ.*<贅Җjް1J"l,EFvK~$1yQFD/*48"^ c1yTپ4x5GrU0=2'Ff\H]ߛF٭] }Mo +dڅ}c=Sk<7mo?]hyސR)C$v[xPU9$kM([cylv?Ύۡ"N8@%oh +G >~"3]ɨbDN}3l?v;%W^bm0F1:.7` grE4mr˘2Fn?uvE}fH4߸Af3>iNbܘP6웤zZE5ތ u&<"zjCͮt~w&̜CShZf"̍ߩ>tMJ4>Jo=.*KgGޜyg}Xpvo5HW\tN,62]RN#D9y QX=Q]Qa_sF/C?-uQ]"bA6Q”Vy-M Z5Tu~Q)oZ"j'Uk%BW4m%Q7n6mDI'QԥLvVʣkllQt SˎCMeV̉5wѧ-܌u"G+)9{| 2=nIC7j$snne._<=̚3~4۟Ox)ץ5 + ^Y[)t (Ҷj(2Dld4 $㺆ZMLCBC*qnjEi$lI.TUwXO撤u;2+G3!rc +l?ii\XJ;]M LgŦZVAOEk2֙3"z{CGA@kTUu}<|ZH8 r庪Tz)M?Ph_GիV:UKĘ䡋(FF+"c$6ޑ]YtlXJ5uL !xJz&J_=@/Kb̨y6dQ^Ƣh'*,Tu+z1IMnF>o?/X TySf?)7ގJe«FŠ+~[(y +;, `P|ryQRcYǑO+CєƱGKk hcV7L"82.l_^MW~@\C57%S_ܕWgq +թǣo ^Gw[Ou>~Tg1CwcY}|ssV'͖% +/2=ssS=*k;?7G۰jj?|r\Gh.fhYPE}]_ 1n;:,+YVy5?o4[;UCTt-~Z5ڵfwǻ󲽲>ՙE<~fu(oWտNw2/͊eky_?z ZD&:8Dv375zut^ KyZܟ㩫qY <=$ƾڪ[YNZ(i.*~ɉ̤!4W:EZ,ǗmiFқtWiDLᮿwd.vn>.Mw${D뒶%+c;ꦅ7-I*F-U;N3#:JSfş>i8q|3_t:WXPBUYԾa VJٌmYV-U8MUVJ>;L}l×BROVC]ÔJ֑SL4s7ĦѨHD!<ɫ +14^Gmo8QFS^_ S~vY/C4 `bvʩvTL݃}<)fO3 :SBIuW +j|W4d"iK;;LbDékeǍ"\5=hMlza)\'NUp`jЗt#Q4P[!-ik,{UF`Yk|(ZmGS>D?V드? +aJwe9ƒ $nن2QF>lz&^ܵ]Xщuccu .<|Y mET0ZT64+'F]T߼}fztj)UEsg+DcZrBZ_("Ge,f?Mń0߹h궤`?ߞ;X95Wy{iVSͥMXT*߭TIO1/VP:WGP-G(q8-[1^Im;]g0=Ĕi: )L׶bCQH,s n"fyo +hN,&11ӭEm:Q*6_+!>:7rbNTg>Sa`)&SܼT1E;TČᬻ\*Rغ{Tt?+ބS(#zӫ;l2ܟWVe qo=fDR~ynбؓCPT7WVȪ۟9mQNBz:E֌T^7&gMyYIu'ν;?MF;6U0Vf̞ښގ Uq&A4,OwU|5k^Gw)ayUϽOkemH\=Fy=4?'zK׳7+۬Ƴbs0.ֿ勻Ӿt]+}>:=6;Miĺ=®GN_C>*Z7שOe|5Ϣ\kjZeSh=A5Rq& D>Kz/rNY/lٷ"ұ[T߭VsܺI^m/wuo϶oQi\(1tz,`$ +TH?tL.:Xrrgt :{dy̞l1]/ϓ]YV;?ĭĬ/Nh}r^6Ze!\8CZj'R֡UF?z)ZIaS؏n{|j+h. +aX,eps0WETjIؿ£qRwRƳpxVpscS;4p +QONo(mNVUU)NsX<&(baS&mYIfX&g|OXFWv[Lt7QMQH*|o K4<78#wVumj{,+E&r1xER5A: ^nS8\n0Jy|yBrc%b? tc\f&Rt _Gc(8A@p:5%3kPД{L^H98~W'QtRLio˒d$K++ #+e,w7"am1F ?OD9tWY^U_&Fw] 7 Mdx{ph+e2CУ*qe3׹9T [oRdqum>*L ~ 4>{:K@L,'sT@Sgӷ:pu.J%n}{hڪop"dPO CG ťe/or0U "㿨=Hٞ;MkrQwG[t6ưւd7|)1uڤs_LE9˰@G*DdvMJzim.]Q6 ѻ:,50fԝs`:ˠLA +ٸ*N[4)bDZw2Lc_c a>%&KE ZӯCT!ZħReF(E2:|ip vdؾ{N`_=:_teC)hr FFm4/ Fhhtu /A\(9Qyz7ɠfnjh~hѥ`@CftO[My.zMEw尫RY}o(g4| U"4y,: :bk _V+}6TG7,Ÿ(EkbkS]1^FؚbS2#1}*4ps5FuY}ϣ7ҁnBK[= +k 3Z֮ε7 +=AIꥇGe(1kV1"/Șf gLжs 0@?On ZWK݃#`5 z귍$!BLd"J[k"Ӓ qTҧ)n_-Ukk.? +z(3؉:$ZEz1qV^mm1%3UDJ4?qnD3 (NW)0g"Վq]`Wq|1؎1Cgm8ꖘa||3ɔZNmсJ Am!3jP^1穱"Kax]+u"uOc` +OggSH.nn>8 ҅ӄnV2x5 ٸ3}YCm"̍nx"r"Q^;2gC96⩰_#w ԲZ'36 ]0Ҍb ٥(Ux腐q!Z͋y9%>ymW啋!FLN"u8Rlw&)ϤRkKi6Yg@Mq])l x9tU<O*6[-Xf櫺ƘYxQA; aĵ䁘TQɿؽF<l|wf`DH`W=ePq7A!l nV9voMĨh`kO~aZ9U*_F!=y,[nɹskL9=a3x^ҭT>p~_:ta1V}Wt"eQ L1xt>?K2sX/>L +/7CyUYou;5)~yx[[ID5]7L6 䌙C183}jtv* d^&x'ޜCP<.ZMa.wɣ4̳Hy8yfP.~zCd"x韊S>x,Gylr۝m}<}~E6*>/ms}zý(<KL7; +dE5ٱ;.-&:֓ h锵Woz:txzry>4)*96t,Zz*ԫwSͪփ9Uq8aј}/izFovl]]{+>Ko܅ʯ#Y羼Y{~U+[dG;"mR:0MܿrNb2|3x.%~G;J{]^ߤQ??el(˥i96^<:v>Z.htz.i_:R݂?'mPϒZD ia4qy. +Eqj[R=ӗ:BxL4N|YvEiN#~wD%QŤӵ,2.EAT*^ZVIX4QZk#iYbͿ-{iwPkH!9g+lKވjcI~R|ޮh}ϸE}VK:-1(Nyv.3:=-M捿B+[ 0Z3,xwKJ6l9؃i;5ift[B~$)D*7T# V=*E=X$).sFzo{@P!@&bJ\y?[r'z }?G~|p9%#v{ql@|Иx{; <#atcf+0oWzR1;WڧGE+baP JA6ʅ1z̯>+ u$ Og6U 2P@Wff=RCkU^\vE%'{=6d |R_9@>[Adƻ%9C!MsPKYww_V/o=:**גˢ"˅,]YQWD۹)޲?xggsyrꄾ"';+dX"GMNr]ַZ߁?r/Ի +UYKTkL +? Uv^ufͺp\nWt1'2M#1sf]bGE }Tpqp}|~DB_֧ ї#Ǧէ"5 *YZ~O)yMf0q9<.gWXU"Rg)!UeݏofU*xט|p/inpn=g#ԕf5ƕD<i1V:̕H-A'Snk҇0`r5=W\;Kczn (oU޸j[;KULgٳc83XzytJ+QKž;WA p|׿!^kDn?N)V]J_SgsZr+zq>23soqY7b]$lwnNɃn4We8:B<_+FsKsu&Ǧd{Qnwe[.VSl]͑Tǡ.6 hiuz='S{KۼԮQbb=kmJ8m_?^$iĵH%NTqa-R5%Ĕ,Nu7g/f#6H9&q;@6^e𨬞tgհhoS UL'kxHq:  +ߘ]!@.stݺqi|_֩7UOm׽'T.vg{1µ0"}F|,.`ҰqjγF3!} "xM4aVjwu> +tUOt+ƁNv YdV>&}m=Y/y U|5VqʖN8z2DDIK4 *x%ey;^(}mwj 4gGgS}"D9&ƾMăV a: X_E"*~پWMb˿aaLW~cA&<³ƹ{ +g9|Ċ1;Ği:7.J̪n7aG,o$z7|Mo~W<}QN3Y_Q@R%*;d}T6tdStJƒ/l*zuf4IХaTRP.Gñ>X6َZnPGc U.^bJ>\ѣ2AVjrN9]N%L|y9Vqjr?ڸ}c$K/_)bI2yk#>&zjŤkf. +FL^?{1a jiL <>.K4n'8s +)J2>\ň>5_R+7+7Q[K7[vx^ޏ{A[!x?#X%{LgͻLW6I0ި >|*:J >bE{g:w[V$KckžƘXQf1H[LYjr%|旐[ZVzK`k.Uiե㺧\\^ +{};/6ъr3Du =:]$۔jn0O]')e>#|n.VOggS&H֚(n4oYZg̝c3e<Ŗ.ٳkejNzobʹ0g֫Hf9xt@Y63/lƻ-iyfM" ;+. W O "s預7ҬٳmL*PnLCPRsi,c>6k1S·\ĕͺ&h7ړd|h 6yCW +[cJ=Ȫգ!j/鮸E/͡iƼtD`R 9M󎎢ҭ_H9 $(HB-7ҚN"$0}IXzgz@ 2Q1W:ifm*z &Fw^{u.6t3z}yй'M: dXl XzJniyoy+Hk~EE&}*۳_Jѥ5Tw:5|>;iO^yee@+)&{ӏ8q'ݰ\XR3+"rMgx=u [P$ឳVj}̦!G5}KW<&OƵLM3V]{y(>Z R_ޔNipeAin@!W9l9<,Sױ۔ĘM12 3,Om.]5vKQ@O;zh㑎=S򿝛ua+I|7e??<ťRU3hLxA-J C[\j'SL 9x͹V_VU4baC!FH/\ru>=*"wX +2 +/KEϰisl#tKFKHnXzrfl׋h="Ƿp08?\]Wb7o5.b=1MQgufFj~3ɎxN8n^An>6tOf3ji9\$FQ~K$ӫ3"zLҽr^SV/VtE=KZȾׁvo- +L}U-eyhE֓5VW=cGS'љgWE_;[>#~Ү#,-@.MNΎ=J|-ɡ!{r%٥l_IcePlrzUxFdQq98V[/U֪4S$aeQk;eS#^U\͸,yLz_odۿ cK%ćuhOmFd43pܕVie\ta3o;j4C4H9u@CѳvbNӖ]WMY9чF =rݰd)y ðdtrJ#?86cp>5;f^H+dn Q,iumVoӾ H:??yl.>@Ts:*sӱVaƥ4E8*|$`NJe{jw{R{_#4Hlm29xͪf]F==ڷp!%4F%sO5̡~zi& tjXowp2oe] Pc=]kМiF#\>+pj/~!UU6Zge攘mkZIzOƘ=)s料YpD_Cy-ȩGi2ݮ,;H.kh{P)uv*Q%m%OY)RK/?` +)<1+ Sm5~Q Oz('ѬwNKPUUoKpX.jۏo㕨qO]\oxַ Zy"K458n{Լ-h Om_vVOe]SXo/_-ZU=8#Mz<&w*[jfM;==gW%?bve2too<,SǥAqVTw+;-evxpO{dC=ُ훱,,C~8V{]Y75T^;nDwgi}Ǔ~=/W.UZJ7m=ˬgK!W~7~:tճwٯ?m|d)[}y+HN)TIPe.:r5iRomڥs\\<6b:Mo)!B2_[Ok|bsûHwl4XѽJT-Q~[kly_ٟ;unV>v<슟&>oZ*?=}/Ud:Hlz=mRvС,YZWd.#nt$IwvbzwQ={XAzX].Eɖb/CP]|{9goW7fuk Kו㒓w񈱹>&3R%;1[h4z}6x{ux՚g.>?޴Mr^Z,QW;Tg&& k;Iwk[-6'7*y,c0MK|9^[2m[/`U//>OLM}A\<{m549vF&KMQ\4j :ה%f6fӯ <$c<ƒsv{8I!^{[0Q]r跣Lj33X\+o^jD3[=Ã])"֥ 3c5.tֻ~W%_zϪoHp e<7N+ W1Is:Xs=A:Z lռn΁ {hT}҈y*պ%fk<8^˭sX+gv{t3C0n҉ϟ~;2NI7'|!ÉmO(#hkMx +4*0US-#д ʿΤxZ?9}>v*{3L8fAzON ߩ/WN?٧ꆗWoYJHH?~J@Bd9,_ڊIm0nU+So1B(:FkmzзC.MۅL&]q~!tai3gg+\A##M(c%}RйOu0 ׹萘rթڜT{m4*U3mBN[#/Ol:c"dȁfҷs9TCd08.~Vi:,-Bo%ӖP[_OOөr]ѕtr*hN$Wִs5Qrf,xOKnnq*'?_kh^ꔆxŵ {J?deT^2S-G1ѥz,+̃ww#?cʩDٟgp 2oݸ[kL=La\%/(tyY禾{}%f}'jW~ZOTGdweFNt'\GzzQGtExp_>_a\nqvGg4nazʝ>.7g^F=}sx\Qqzk}9UN@ZL>򰡗ʸЎKgRGEBYb}lswա[}:^_|ti6\oLz#4Hր`D?)4mIk<FΒ:LyislzKT`O:PzAB:uvǗj 9z +ݠN`+A鬬˶)6r4Ӝً~La!7 Jcq[Y^Ic9mҴ m?nhǾِhΨ2M#b>t OP8=bh\al]Qiq./N\pbkLܳ_fJQHӺ6yVtmoTG _ry=)y|z^ZЀzXO\]$E*ݵLXqر&ku[/ߨ0r)ؗ7~wq?^lqex.D4 RJ|Ш^t溗amyq(bEi#Ě N綹*,{9M˷p:k%#KlMW1&+KVvٳXWIMãy +DT N_etl9[оA7t^xSmri˺2Ӽ;T[I@")aZir'hK*1YJ +P}?N^9?ZkJ?CeH&mr!lE_VKR +Lj9cb}Z2Vfo >ip+cRPgu^5`jw5YdZzŕЅNp#z&{wgfI_g18#S]$7؄;Q4%2hz*rvLbL̊/l\Q)ORgeO¼u{0x{j_6>oEl\$(C>9@ |+}|T +=2_VG9JCJE|۷?rUz:DPT|/u\-0|NƫS #qRٰ$3.ƣR;Ϗ/Y\)4*TK0fOGbdYʞO 7*ͲN_fk-LZR?G/MG> H<{yD¤AvգU< ۋak||iɬb=JLcy= *AZ/9Fux:b0xJ4S5=SQIBc>Nvԣ OMck۵3ݷfK&2mO6nXнkׂ'+XGk"ױOggSnH駼ԚvКϖIH<ŭ/5--PyUs'tr}gzfxK,B1[-P %G> mIr_φ3gZA};AjOn ۓ^JLjcrH Ƅ[4@=3K~Dwc.~XV׫R#v+sgsbyҖ=۩̊#[.7:m:XZJ.]^zWOmJFq?LG1êiR^mm:i9GQEcFr UZ~oq^j\K96}MXYxmVdLb;JZ)KnQ]ko͢o9aCU<3շ̜Lyc"?ҙ1!7ڣv'ڑ/:& ̧ʅKВP9緝JuWCXlSkB!^^^~؉rzQ|]D謻vJT\G5gQ92N?N^:~+5Qi&q|.L4hB jѾ+a*DLPù fWIunjzbfѪhlgB,TGx~p}"b995Z%t2N[mJTLo/Ĺ{_Z9pOGݱ۳tYuȜt|v_/ֲe9Z֯CMoMK5P:wo~DC%d<8q|70//aylU%VBaX21Z[x0]ZQyOߵ?+NERW.QC⭿um_|(v1#GTJ7<N֚[#"H=3Lj8;e9 hm%+KtJ=ze!}PZJV-3r^6Wh -U&AUvɳh֥;4G6m-ƖZ +*cJZڶ9aZ*`zzصMBYS> Ri +'&cWPsF ߰LMתk?d +ڴ嗋㻥ABj{||:UuW~⿓+gQB:=Ͱ QeA0 : tCX׫ +ô}$rv6W&X'J>NǫdUޭ̴՟c][^GOv<ӊvּZ./ZfrfnNq.I+?KC5u~L:eŅdwT\Ax׻2 ץnoz+5hzq0&KUs2=&]ƻIRQz{/K&"o]-E)`YgZUa(l~g1M4HFFFVs˜sxI{f~iB1R^I-GLCvgk-1-7qU7`N݆o% {u._yw*o>w3_?e#d十 Р 3uy\.EJ"mEob"h~2"V@Zј#vBcN%Y1̢ #2FQDžn2wlR~e&/0zxNMZ}[YTN2pkR2 0v9IHݴDYy6щZe;˧ +h=uɰ{2QqS_4V͵tdnCC!(,)>u߲cDj6025>ٸiդVO]g=9K`> R.4"a!F5_|[FMa guuL҃9{OJF͠)]`.b;đf[M#qE#YKxz( -dm{2 o72bv{c0C+s<.:ԯ#`'510tNmThVdkTO~-]]p$SNoGg\ގИ gXPP~!]F)1d Ŭg*gTYqj-#9R6,8+.d/Z+" +i0^{c2.SG`ҵ$f)*)y;hzS3 +䞡Ջ xO w=FII& xT^=vrrMo(Q6}VԶ%|#eC6}ȉFN-єߊT$qX&H&="lM7_i;F2uC{׈Ȝ*O)L|-yn@_UihT=}"z^4pm}IL7jg'Lgu\,aUE!/k2sE[VWt! +bZ?VI:M1Qtw6/-#C.vzyNX~e}-h;6νH}| ?KdOU=<~}Pɓ;1{~:H qe KL'}py 7~/w-ȍ 0ULmJ>C#/C|U~1WPe$aC +U6H>hZ/FEYaw%ǥP+ͦ%EaF+4pIK0_>"O,zPim.#("gşu>I4HzmOc/Jw4F}+CWfCJNspkLU7DUsUw%}4T W Lg4 ;tFPrH<[ÅWזDm?.RbB`QMvE7hz/7ٵ*f-+~m["}sRK˻2ڇAOggSHD?ΚvX4>Y­4#IrD8K%صە2Eǣ%.JȺM Bow_ӓαM4s H .N\IOz;ƠJ9iVIA?ZR6HAkğ%2(0V nI#x\׮-XxgMS5:ksl| +v9c''ӗ@;dSgvz#Bh[fY9 KPuc ԅ\i_qm"'=)y-JjG\dtm?K6>u4|# }6Ϛkur)8xGEږK^eI/}7LPjW3K=6jwqtړ/BCWL9X:u'"s,۵yg[Ϣ5.^jn;TWt/W -b_M b}'ޝW' k1kmΏ"O{Y}>z?\u|糷sUܱdE}%wyѿwoh$s%t2.\}GދWv>XC>}T[(-!{wu +ڮAZR{tuFGXz)[To}x(mfC4]Ъ'Y=V ޝ]ufFW k_u3(d*Yߵr1%NFiÆ +ET{_;D(W܎VrqL}GzK+cwǟEۣFռhGr6wNR*K}gz%N*M!T (!cY~NhS'ݷAtDHG<x4غ{۷QNf8|1vyid.53P ewmcˌۣxLfb뾔|Ap +wj.CQRVTM20\+"CKիb#&XQKw_[c+31MiK??t>_N`Ys<1 eco7_Jl?@R'2kKș~՘+;';ӀQ8H};JԱYczrr,gtQ3Quڟ/;{No/{3s\r)7tt_4HvḐqIMvye*s3Q)e5}C4OyۜZٔ0kD34:Cwʋ@HYBw5 կcBstHoGj.6ǫ2Vy}V+*6^Sݕr)& Ę#T 0O~J:Noo'i ^<Kh_Ŕ&a.V4sFgR^ך.noW$!ͫ1#BVUÜ1 'Vnmδ:stvA0.*_B䤊e_Sn}oQʮwԞr/d+S.:\Ѐ'ǟuxIR҈A5*KW +sG uJr$,girpžsGIDi`Yd̙rnLybס[&~M4JQ1)WajVhxDz| ĈOVπw l6/ +E._6OYzҺF\z{A V6xvl"5䴗~SޤJdzH*d! msQ$IaPl]W~pOEg^4V1C#חe忱DR/ͬ:MEE]hpce*@0V6ed߂gOeO +ef󰅌/ f8 Spu]J6N[ўEhZexDQY#L&Ri5}Ίk9s f9^JԘ q+.}NiSoejڍ.gfݟyݻܷ2f+vUKوCfyYRĆ,bԅbc'0FڜگfN&d4[ܫi'/Hrr1m:,uZ0-=7oG|mqyz6O,}lͰK1HF9 +ρV #c{?ktu}ix%bt7.NmDi=4]cO+=gSlNs=,.~G[6T@xL\^imeh +jv/Y*A_TCy泱O),=iW.^:ffwg̦O_ >)ڭ_(NΞCQʬ^Zw.}#]i"ΕrM0u6tZbdj+ې 2vԮw=6[ʽK zҰʷ}7FF/37EA)hQSq9ZliR ЯYLm4}^:r7MKf]Pz)Gy8OggSHoћ៛> $[CT  d,͛ui$)X5WᄞXhtׅȦ{ G}:H{LjFԠs=(**E4~[0KQn hu{l5W+Q[ǥfV-v[L4IFF;qʍNkg6¾ފފcGfAG*Tz +Kh<|ՒY_}ΠWƍR/zwm^V|k(R }yooPe:;eBjz2s`}#rH49]=:yy/>"e"3tBSaݛiyQW]tQ~vy8 |7.,=G/Nno"Y˹#=r±<_1guza׼BM+| 7yNq^IN +6Jj=0G!ȅ+u4aM2Nfp7A̯E=GO)A:: >I QTOr"}!f[VVR5j;gNj+L=QD<$z-@r,)O=~Roif?_Hk՛|fX[oY/޾=&9v]~Ln?nqM+Gzu_zW9og.~?eJs\Eğ3:zΥ|<$G0P5rm|R߯n.w~ŇyTe&fNֻYs]Ot۵Jӭ׻{M3v- ;OariG_szfڌp+\eDiqn.Sz|+j@;y~>MGtU_nF6WxNAWƸ+vͶro[%iRیS;Tnl&I.5FTzS b20EQNT͝B(ZY"큒W"yu(6 {E6r+}ل2jDCI'kUV^[T~e=3*MJ^ic |ԳJ>0aKsR^eܡ1Ccz2 GZ6_o~ןc5OnR=RB( eO0j 2v{pLuѥ݌EpٍT[nz#0n9V~Tbu\55rtzw=-~I,*H\*X\iFMP57;|X@"ފʺ($W3.k4_*F4=%0QWf3KuJJG"j&tOiYia9h,t.<|ڒEdG"<5VS<F7c^ū%+fuYFo#t 5cbWwzU7Yt-6ަ\Q{zRk?rrї6Tg[G' ,i,9nvn[`Mvc*;ztgo+?)Sn&*_;ӊևEU!Ȧ'}֖[m4^8hb*NgGi=wJz؆ZYNռ˺j "4Ý() aՇ;5艊I֩}Pn7qij9޾5kqY`YqRAy Q1ANo^#d H)̦eg6ڧ a-h䒕&޲+vU?Z9MlCIqUجD6lyG;K/ ۈ%fNRshC)̾S|HV~>nn͛^c"٣8ʵI~ҦP'BM]Lʽ?vzw'z>U9آtDeZuً!ݔN*YB? +9Q σ`Q!W;XSgR5}W#PK7eJdF~*^'YWy`aB&{߾$7&R[[hRY:'ALIL_6=9^*]}̫nTYm C4HmgvS((.tU]&vś|#sϭf#(Zit9LJL-9anL\u GѦsK1Egtշu*؉Y$\CԱ^(Rݟ=ILcC5ߧӔ}\EXz\ްTZSf[޺s6IG2av &P t%zRȬʖM7jlC#9FS7JnhD@s,&RZ/2D,U +ixYK>d4>KiUd5F:RgcչX(ks`r#ّJԲNIƵgָ͆pB:qBFd^LJ{()͢}C@}3=[>@&7\*ئ":,{pq>jbjc!&׻gd^+R_>mkR/nVj%,6K\ F +?:v.fOgs W+NOggSH~r~ +Kt; wȃy59f頮9E; ̔`9ȲH۵4gmyJhV# y>g~`Ϩ~zG߸@{0Ox/ukϦU ҋ6!IJ?Z`b4HნY+>$aͦލl/tc_~x:SoOR7CjYwAZj>:v4/MlyZ]/;AkP̍_]*X(_T9?vAK,y'#LGJ{1[ TPCV+X`dʑ1 z) Oۄ1Dqa߆&ʧM ?}>j1<Q[+^e֩j?[1f2}oˊ1i}]uj?s:y(̅Y7*ӽsh`F}b[[ү}Yu[e:VSG{eZ+6RY GW%𸟤<%bs,Ss?o5}*mT3 fnA_2{lIRu@Pb|S#nRq2ʞ*o5kJymƢX4&:(UxGlK. M'nJ;NV{/vCF}j-I=M]$GoȘ&*K3YI] tQ_mrB? (yUDĝh 22i7FO^joTx+_c67N5߉xk;ҹ'dDC5ȓEy?ZR>Z *pYP2tr0x0+/}~_{=PiE0`C~ɏI%ERƝL@s$+%_'Rsv'ߊٜV¹N +̎"f%2 0XM˞WRl_E +r^}?4uvɀ:UVӷ*GIkEuzQax^{&B>*$nEcdrFNg߿Y%H^'1{XR _^q~CP6}p˽Vytf k҆PKĮ§:u=&P]?3]sRM.Ĉ3z00g5 C?< Rתl8Mp_RSLMM-O #FhMSswHF4GX[8֞WO QVQZ$^/<_fj|dlz!> h=;[wǹVglHYc',ݭqRWуayM7<:m6%OmMR-;ז;=ۜMX˴A-nuE!Ui$}2L5h܌j\-×]Xl٧>*|3mprĶ}|Dj=ɑZіhQU٠a{VAjk?=Դ,UӝK YAe0k6]>9%cmZՏ$=7e4Y18iӵ9%۫ +ULb,Dچ" m*"Cd4LI3-i7&i^:1% +!/9oP3%X VK ϞP:[MݦVjk |Pmet6u#hx[*09I>bk"? +1)c18VNJhmPgV|h1[ +g=5*4*xr\Y o QWë04xxmkVǾ/TB8DC6ŕC=[HȶA`RVx,$Gcb ;>|2 E99zҌw"gʪř//hBrj{Zb':hӷ>QbtJ"~*4ݤđ>1ukVMy&*fX`#::"{\J )d7j:<(<@!Om 5ˣ$꼽s 4²c,}?d8lo5m曽?)li4pF{2TTgW7x bLR]ns3"wP&[~_SN)mR 5ʜﶾXBm8QNUEDq~>m7S(IHu~^_7E0!^ p:#9iϓ^d+C} c*5&8\וq ؼ(HT>Dw$ 7|ݲ2 ږ*|@Ƀ]cU˲+owO/o¬dl)DOǣOzh3!-Ԣ6~KdmI^85KT'EU$OULyeK;1J)礞QkXWh{j_YFy֛.tڽБMMtVsJVF/Ԧ)Z`j+F;ne"H*KI[k)aیHF*W X .gޭKJ{:lM|7~cpRa2iR_q+ Zkױ#ca+DsF$!41|\yj!BI(Ƶp=4W%7"p<Bu8q{<l88!-jOF̍Roz-jCDu*)4fMZVB={s\OggSH# 3AtuGWS&L ,񈨴Êd_>[V@]!;:Ո:tlmc k6oBF gU=_3\GG~ ViRlySo{ǥhۿ)}ꆛ$;L۶o1b.%Kɳ\\2ٶ͸J[\{Zp?{Ơf4LJ$IKnwcd1 ߌkx9&͏ϫpfyɪJ^n:L=>P9&qϹIo*)zwc/XqW?,&#F׌syWI."D_/ȃEq9\Ahz3= 灮ڰ9Ve8YʫڃwgUgNȝyEǫ[U+JOezCf.^ꭑ}kYGt8ȕzTc#M +%e{rK?> Ϛsmdc׏ZwzdIY8i-wtf޿^6c[>OC-t]\%m] #/Nj"֘H*VcRm*׶sɳ,](l?Ňjogѫ׽z;#Ƞr]Wە|u+Mjam!G|((Ф6 +xmkg<řOȍ0>>R'Zگ;qFA^]jd;oZ訫6b/fC/0\Jbq}ò _r3I41^>P^LNs ݎ&cu G3#iɨ<tv%þDw۵S ~OY#M\̔°Y:H=;xv4j̈́M*˫6SSރ&W]i'J~N +%?,RQPg P?blMM) bhYBzh&4zO%l}P5E [v!j!]gl'fVM-%C@I4^QzqCb\e9M7'Wr̨w&vQIyv)SYIedVgߕ s4u@=]l\')kWb׫l֢~&ܑSj +ûX?2qBDϦe3R:]_څbDњ˝ ,pI(1yƟ c+wK+F֬zU6H,ӗYy_K,#y@m"΋ɝJF\ Y(4U(Ĺ<ڭI q#$cVɦUh5ABh@3g'T vZhO'l FgqD%Sj9d3B-F‚ +}{_  +3Q%%۾?Nյ[4Z{>i+XO0θ>""d!]q(#?"jMDHafRaI ?A\^Be/K]=b_6Vyz|d,._7fti[ڴ^&٨hֿkLoSlz'zTEjT@tEmU{fƹms~+dN=N`dTWt,}M#/1WcNj"(iΔ$n/]5an,Q~t]DGTE2t袳kOU!.$S"PzH7S N3NHd +dރJ(B:)  e$bבN2iXWޯG`f%뱳ĉbqkal r wR8ҭEMvde4N>>/.#lז[1oDq< cJ1FanU)o2GYnW_4eJybOj Tn2g6ֺ +^82o? +ޅ0XpQF 9XZ_*(P5C铆[[̮֔k[ݭ 1GnٌvvCVN-Sջ=#C-5 +vc33b6˗<V$  qz MvMQ|ݞ,9nv$A޶-AIH@?2?WN}HF1O*`vN[ϳ._v)>*D@uTU 5t26:oSsGn٩jtfdIs?BE)X4LO h4۳HLWC"aلBiƧ: `Lk㦋Gݟr榨{Id8P gb~:Bgi0ĝ : 0@VnUhxvV'eIb/O&aοM6Yqk*XQd̎w.80΂iK_E0mU&e}w PX.?5a/2uKL8p|Yx1\6슋a.Kh5oUgzSmw?;&pj9faaW+%o]>j D!aph_j I]oz"KfHs(%s|Y<J{K_'"ʱk6 )}=P>\yps'\ԌՎ2{=cT,zC}8w)R~48:N$\`|V&h0[$8h0Q@n̍p6\o7q;t1niBV ߽)_A +! f=􂪟i^G/1](i$1F +[dQ @h.#@?^0 ?Za1~3^SߓUi1-{ ixI\R@Iԝ{)x1x$@.د_5a[b_fkv%zʰ1?=9;,+s^A +S߯ dYB4{&$Ƒ8I@G&}u A/+m]+J WB@# E3U;mlprz0&x[~Ǹwt oY}l)Kʪx #Q&ڹTU6Y OggS(H0~>9"_t #!%6!B<+`fg&#% '$-15 Hj\RbaL۟ҊMafZؙ|vړH/f6 ,Q[j5F QSfXɈ)&`WZe.+ %>h!&P5Q`Qzeg;ud_?3ǐ/$={#+x} #-hzv\_e:/Y yvpګcWM|QcQfP4d=㕷)ͶFQa{^gCyӦn9*-* `e6n-ٴ0҃D"oZ-UF˜_:<9Uu=FOu`dzw?r/%tw2g{U!O u洈ߩU,/Z*$R^]LCl:=Ӟ%Tl AOģiԹ6*ؚO MTH8*bdICZ͒`FԌxqzx}\[._uy"H-X贡Ba!*q&_O|&ޞoTu\n"lͷ2_W2Iܴц3FP7%ֵityzt2i$" #mfu#Sr=ˆdZ5^Hi8KVUqch*^"Ԗeb^_aAhO]./2q_5lҍ'y0k( +DzJ} +h1V+nxNl-Χc'y!2 X..8mk ̴?3DP]EHō\^*00sx(+ \x~Y&5R0 k- Qw',GHz۲oGxG 6_SM^DW!Ecg[ž~ye,~OQj9?)"2aRCж^UO*~ \'4d"ғeG>+:s=FGGr`^V_Sd^4V3r,MÍDn) +M_FJf&8cLb <՛bl3AŲ7g؜pYoF%Z 653O|&Pأ Wa)߱=I=~ued1&-Mȑeft73J"_)r`XlV +wTyU;<^kW/_G(h$i}ZQǯus-MBP3UvN#hE#^!La>=*]{j}wݭYtԿ8D4nЫ_,汊FHwwfE؞Fʪ){.J':pH\6\ +/,0g1EBcdt5u2S1vjz y5Ŭ}f̭+ͺf:=~>}&ƫcߒ'avkPmcġzՒ1jde4mjlSK{߹K> Hl/o^nw\uzc~8ϓsowbeesdRJZ^q-qkb +{^cgw;}sR%ݨ\O6:/9mRy|\a&̽\V˦FFEΪ_[{ +yuŽ=$rn +$|;)M+j}Rb=vV$r\l8 Vu~"Jub4/Dxt^RddFrox@l͒:1rO܈.9n&? zC*#b zշ6)/:UӤWr4Fa^Z7y}iҫprtBMW6b + Lxz$Ic0JKJg5bVӫӎ,/~.FCs#%X8R}߱l ܅z42F2X'7R'7 DEvɆ8.s3 śֽh/9UW' 0Y.YcT(}lٴlJ79:1FH\NJROn6b[GS*HSJ60d\Uv7zrZs\I}-~5yV"HWj}'#1.>C4L W>\[Cx(kJFex D=2ԆP %Ur%%䠐DnK$uj=k^}sn! p(푮|߫-9H~Zm>]ed4GV}_KKhAr{Yo="*3N Ns}`hF~fbL[8:[9lGy5Ch.y\, ,o2"\ӋŅ&9Mᔼ2I "ު=ۗ +cs+]Ww𦬋2SpY7{Q1t2nkVFogP$QymlOSJmčV)'/4!"зr)qX?|mSEFn{s?kUP=.h&irb#>~1Oz.<,Fžz[Ǻ;h"c𲣥{U%z`wcOWzp)^=24ZEиĢFm?"{iKy(Tsyեa15Dd3~S<9ff~KS^VmVB2٦&hXO<–'aǩhr6̏<e#s+|.oU[}}mFP |o +衾M!JP˳+.+6r?(z:(NJcT?ES\枰ա\k}ƌ&?Y<] Ԓ 3WH<9ziBV=@sρ:{ca+fIzs.0KH7޻Z_5L?Q{ӌ ZpIW-ɸ6lZXrHSy?h&OggSOH8lVD[T0nhQ^ҺPGIzzOω/R4[W*'W )P{=h= ̕zSp/6w=1+U0joE3DZpKwýs[&˒zbxjKP.%dF"gL862z=cq2#Q*D3VktT^T;.I?u!?,[mG-} s9i[0sb +Zk/n娸P/vj.;\A5 Iuݮ`Nk/Ov__,hRv?etet%O%ôd~6'"^t=={Dtv<=ȚWj~wxӟ[ls%Z_.O!ptos'\IinԲ'\CҟG fmpɉη[k-1 ZM4}buJt.mN q7^9޸|V/=[ˏ/bʢ!%Fxs:$zek1;^ۦKT ݹj% GLqj<Ȧo iRuv*>#_ kk_<جixر&ЊYv1֭e"a+rܼF51R,d!>p$~Ei`A97RE^^n~q~pm5g+v(Sg#xfW6)D*H=ꁢP:]<oXAAK㥝wMư۴rV1-j"1Ss{ҔOGPB!KA>R`OˆXzJ-ehOv󟘌5m34QY83x +l6܊._ll`` cx^ܪ:nswsf t.tS')kX'{}P_w$2vg6K}Ώ{HJŸc(?^ݐ +Ɠ56\T~s+mcGŏ@k,j]z)}%ͥ~]V"gO]Ӳ+j${b#>#hAb+|<^"9U~b`5BOY{uqF5[isl@WMH_u]9g^d\}'nW*+[S_TNAx dx"YS=iͰLB7s6?S}2n4+J#"~;dЀPjW֞9|}yDYǕ85#|JhSl 63d?ŘiP$inԶّo <`? ӞJ#bA{Պ墳bQGﵖ~[dbvT%6W[) +;إTyX2Oq^lzÓEۮ]Vuhs:#4>7 ţ@tnu`JSV˟ N['u搑0 _F8RʋY=4BnT/E|46#77 窺i9݌~P5Y!], ۮ]2zfWCM=V}6)31![tl;J cY0G9_|(\,(9jO)#>qu a@*l~'xi]wYek%vU+*? {ÿW)iħ ]*ܭD\}yFMaEsލ luy/S/n4K 05zjEnT{zM9%:KXV{(y'sʺӵV+~D +LAx|u 4Uu*4[)Uf{${E9.eO`YVL "k hߗF d:\%kRzKe:j$CU{R OSطE]VȘEdzfr3+󪣽O7bC 4KlY^wꕔs}nxMtb'9]:OUi :fs2]?GL&Xg)^}D{I׫yNF#kK>LF]lϫ i1TVE$ju5tV6%ifɬ׽u+LU5, $$%zFX ux^,2L8=JXu:H;Mu=ck%ežAc}QӭB1|zZsY/Rkbmh#,<;f{Ix[Z HwS-\`a2fOڵcDQ"iNj6*x6nd{<}횔^+L(s +DN: &ywm<ݾ.~ltM%UOњg]{nce .B]x%تI:|Kzৌi`U$UB[6|GJPX)StYn=Ț4M]nd얕^<~Ye6:6k64oj3 |{(Y&$_t6^' JUnu\ZV^[JdF߫*-`<\gD֖mƹsnA\,>۴  31W-b2S+Bzg^9bK,}nlI|K᣾T|΁/O i,ň +s"o7HH/wݣkV/hn)fgva@.wsDaQ5kq|l-W"[\}^,- );tϰ%c}v<}Ba:bEe"C'h˷QzY.2&jQWNq@ے8MF3&ߪ]/}޷`M=۾uGzm+E>I*VܑqKƒڅY|{4jD!WAhF# +֪14Yp +}3Y^ˣH+0T +ӲxҰؿi”ik0SjKgܮ;6N&m {h8QMz3YIJlj'J$981uLV/[Y3HzkA/ASXfx'JרjzCZ:u/za2KqZ]pOê{V4yQ6-HNlWЮY0eaJ^}LR9lt%Zmv{j2xn-p̗N֛mT43zŌZY6vOΤW!OggSvH/GӦԛ45;vAS;*cw5{h_iQzkyse}*;:4i_l-R(kٻ­oxl卫=#KGiյXfu|Ez_Ism#e(,^\(\A."+#ūmI }uԫ;)R0zh֎?inMOWz'ufZ:?+gpϕR7췦5=ztV3$ڹF8ZWNMe{>\N{سt!&nYY\IDJ;Cڴ @̚zy.&/Qm[ W7o?ZO_G{g-Ϥ<*ttYNQzlyئFwv^LVKQOWO46#v?}Og;J3GOg]fxJUj. H +赑^OilsaJ}1mrFg tM"V;+FY95cψ]r~YVfJѼ<ٮ; QW L{v;)kjb˳# "͏1cNu&H;I1e98Uu^? &f5xd꺦sL3WnٮQމ"J9K-5T o|il}1W%5gT78y~Y +M~w$ 9<8T̪%$Y] tߏ敩+gU)5A+%CwjZdlJYܵ3'yg1ۺR~c'GM)|= G6i6nGWj&x-u\ӛ>ܣ&5qyl"Zv1& [Ks:nX–wj.O +ު"-:&ͽ/[M&{Y0,bovri9CAduYa,)Fś‹ξ^{OXyYYw +if%k', _zKG{;5sO#Pm7{)ߧ 1v[:PHHb]:xMS+cR'3D&]ZU,d*,(Q) fU>[ϣZ>%FܥnSє5Mk;zbݡحخ0WE!ί5p((6A +Y<9ܞI$cLЛ567p`y|ɠe}ϡzu~u7?l  [^멡eB|K.) nPyjϨU߼{Cy6k릵.$RƒSs_n?SD%+a~IV4 ݳ2ί'%Jtldjz5(QY7q#4B†Oy"`Ne`'.E:(<1fFzAV( L%]4zxf;Pte9VjZy b C,DݔJGf[+bG#a*F|S$iqAbjjkE*zm.Aĩ^Y?s0MT +ו񿽷\W6PO8}.A{aOCwKO#zF + u4W6~z: Ǭ]d5V. _F7A_ e(aQ֗}Ӓ}Ͳ骟+i]h,-AFLe[=G*c \yv{~3,3YZIqj-\fmwM7hs^}jZUѦ٣~<|rKMz-ڃVvH{o8ܱxux7Oil*LdfzRss_s]SN]lOggSHwϜȚ\EErhh/_޳{pc*;*FltW\M\n뫏 +t귎x齾|;U;}QZ{+oo~*|ً/s=6rԾ9;:]˳˚VGwgMBk}6=u?QdGU2ZzY90j\3=ioNR.JVSpx^i2uyeQ;۬0+uYmfE7zoޡm{_龮*lk GG|zm彘XT Eyw*]mNډ&8CWaZ[41^K !Ԏ :xVv8>+j&44]I"MUQ')~]Bw^޲_ ۰҃qבY譸YNwc4BBN%pKV$/yJ)bcS:sOkt6=7UTziQSIWwse!r =OgrZ{l(q-%] vhZHܹ,~U}cQl^\yoJrh;) S)GcYha;yݠmwdzQ!kkT2.Ats<#Z~*Ws>~1H m4P6\Z5zN3l?xje@ luT_]*}x7tp6 w5Ԙs0irenNհvӪ^=6.4ޡ{Smحzkvl%9y]ٶRFoB|E u`Ě'eBAd4\׼К" j]Izۧs\uOz]u \ouy/2fY)k7oo+^Kݥd1Zҍ:d}] +Vm٨VqqV_h%kȼyǡbN (jJgsGUcFQ bi}(d32Mv-=̬bB!u[!HB&A/7xdNg h<4(Yߘ{J7%fU= ͩ׌uE[J*Y$آH'=V ϾpAC'| 5J3OIv*mhKLיn&?οن;d)C3ASE7c=)k޲4oKIBT&xժÉep$e[H௄ < sG+i)XZ .ƫl{mSY !|ὕj}6Zh3ͽ?%I[?. aUS}7Q|>k|rkcLa[QVt;+,S_-.ˆ"gK K|wsoViEl,5|I5™czdx4):'sʣ֙&tN&,yn=w!AQT2'n3o=+l|GD3xj֓.SɹӴѢ+-.v0}niӬ?;C۴n=UzFM;~_ߪ|^kg9%wsNm/z~8rؙ7o߄ bQCƯ޺snOggSHϖdCU^ yW]A*n=x'Qe]wyd(xMiܺ%wֽFJϞŽ|ݎ^U=uuyL{z91cE.5z}wVF~{?2WW|(]/zWP&coisPf]q-n`mik";4"no<݅N?*n i(u^98fVkmwڋ.D_;9wd ʶ[[V40BOj&w͒{U̓lѻ):H&'E>g۱n|mw˝ٷr1Jz JppiU2$z-5tc)wx̏2͌4VB A`ondd td\:},md;ƙ𪠿Wms M.UjIS] +ٷ%Vڲd3oJK3B/S7[-RLRnj.OI[0..RpEbh|<(ϏjBhBkh/.2f]Fٕ\:5-/?^8OܾR5Ng}'gE8/a^ھ_KzퟛgˬWhj?>S|ɏc>u+0ulF3 '0%)v1ն u#S~=yN7$.+#'ss]ɬi=[#w +Gu$LPoyuڥu皉84ڨTF攠ӰGvuj!V_U *8֭zCq!q먋IJaI,8(q{mb kҽt^SLv--6,5KݫA_# CLd _~fA0Ο~W?ry*C6SUd5hňFDRU}BI)^Frx(Q̘^Bk zKҥ:i)D8^O)r:{a -ž\4eiupf|tOse7aF-\}ߍ ;ƞ}ѹ  s0lv3!nߙT[Ͷdml@.@U>Fд'q͇b8I!FE9n/=7õ$Nf,y m,ؾwNڙ+ y*H \P q+*Qu{"w0u5UkJjy`5(vϖaB_SI.W/UPDd&c~ëLpNhܑ0HN$=gLҏE!DC,4 ꮄI]]:~?Y#=n}OIc.{dy'E,ڨG~"n{‘%:++]Wgn yEFku&ߌ%nyDE) ^,n.GnJǡ/*X,*PE^]"d'PۯL@(^4.ׂR=GƢ=RLM6h]nz58Xk赈r?6k.gQX[nT2Ys? v'ST66`)Rk7Sn=Ďxpɵy;9ژN)]^vJt5ꃵrD+M͎h׋"$U&߾ڵ洔D[ 6mt4R,+b"'# 5U7T=>e*m¨*}99& 0.9mfDKEye6\[*zϓϜwZXY\=++˅8IgtU)#Z-DE#g*=Xd:ߛ=Vo|n109 >ycaؾKy-½n ̕hץDǪo22&UJ7l|IN3-pq9s[`*]X[,8jH&-h qE7֡Z7e: ß͉SW_}oާq\dWk+?配ԫfEzޯӤ\'{Vο4.]g OggSH\Txך՞\KUc +,tԛ]DஒSU=8]ܱz?RW [UuϻA_hy\u=Ot^"giƪ7n*qݺ~㨫X믮9ީ|45]o<]{eOHmM홦4"<_= c7 5 ǴfcwW>{6dCյ7ed,Td!vQma\wⲓDzBRy*}'4t?-s-Ey=їy|*]%XDLcb޼F3s~SFtT1/dҋQ&_o1LJeM]B~xwich^_ڙO UHj$ |-Y m9"tlX7C簳Ce?ۻ$@Z`xUY~V02%j.ڧ8,˾I5a mnM=H\#*uu[Gpn:2EuKVFጔ~e6n\hjftU_ӰȌc>,PqJD*V'!MLo:|crJ^F4̄Rg!5ނmЗrS=jKSI3]ɳ"꥟5QR|*7? wC&??Vj=\ j4v 2կҷⓑ^am2 ưu+hc @USVe}+P *V@fZv̠k*n}ePG@i:mJwzRQݞS1ӕs^)vMPشWu_ QdӦPn +UsMR&ΜEb^:Kl^_^F):e0f6[)Tc2E,IC&לe&'& >mݼ^j3g:JR߻H?T?8ʋ_āVdkbo?\_TuZJdH;>ƩDsT!stҥmGwQg̹|)P]#D[XxepZKX;oxXJ6Y)%1^1NSAN7HEIwգfW)U=]GCM<ϹFQ +RԴ/ǶQs6meic{sUш}^?y;=J D}XSgD#&uWĦRKUOgGs#}{rgU8[AaxqqdH{yK1CdSNLfm )K ^1Fm=t`H81L憫G=H fKq뮧ly;m}MfHK=pxj4x=g-L j4!ZU[x_°UY[O]h?\tpvd&|=#mĈIxHɠTh/ޢI]}7ZϷ-VE`\>_-JaP.iFZz)xN+E=].7/eXl-$JJކ$IR$ۘے彎qX"#T`N FC 1=4z#g$B.WjDwQhC‘- +V{@^$(2fk莰msl>@R4T~(}= 15>Ro7@K^rɰ7 b[aը&K%,=>?Q[g{+PJvj0sXavՁ0Ț +f'/6.j{Y^ x_?qz罴&Azi{qfgewbu"3V.8sg1 +eoEtyDVx|ܫH1!͛vl#"Tt)C^sl + b Ioƛ+&uJ(⟹??Kʣ(IAǢ &FUD7=c]uմd> i^n +i?)Zh!_t9bfqhS5z 6a2M C^C?FY߫8!7w65p9XA Vth\lotS{Z SJEך +NPmws1r#JӶz:M۝qall&2+e֪4>L<{̈,xwcxM W=RR3qAKn6C$U! \n@ҨΦyUZAD^ˮUס*aת';OIj=v^ + }c1D ' kJ7704}=vbk7QF ,t"xws94Pfy>4Vp: +eji01|JM7'˷);tǧVZi{=QSW2ԹvO^ [,& B*CnXJWVM>OU!й>^H, cwBQө'F+4z>uZR_q"%KTiӵ'Kj]59 zyi>gJ-RpSKXlzM5ɿFԥ1'1x:̦$^;TFL0` :Bp{n{=Uzx!Dېij) }q+9sUL`B4'U|V˯t_4{WB^j}Q0&rŵz'Jݽg#<)VkNbyflyrF :6r`bֿ O|bKBȡh W'Bg-`5PKEvH;4[|u=31Mh^@WVEJy|je.26혋]Umsq@寣*&Ugz7U#qi2yHεSR8i渐X}59@Tcგ+[îME8ɩjiw +!y {ŠLrOωOnu[.}S-~ZD8p-'[W 9m^s`ChW > CE-9Њ4 |9#%ޑTp~#:B +c!c y ?%_q\! wȢuU EΛGϖ!p {7L4*k`<]1C/gɪ=yU!d{%8V'v0;9I&3~^3EeJd$OYfiC :z Bi.*˲P;QKxRYʽ\wU3 #=;Џ蔭!OM'9%4H(rs("&ze'vg1_ndB%Dk*B`&Ks/sjhS'5<_Qfh=ӽFt`h+x +Wج#i[m2ت+~ZD!slNN-ja0 <݃2~v0-J8E-gK\ˏ*o9Rr(%6&o Qȝ~ln h3FN[ W&#e}hܤ6kcn{^ {Ut2Jͣ( վlKQ,n֣ٵ}}kukemNՍvEIu$oé]9jHT~m'E#L^s%9 usgᓏ(=?;[\^~;җ"#sieK"1IJѢ*L^:V?.G45w:pVȔML7Y_`H -25M@>Eu z`nC.*~EZޭ2xF^C ;֖̈́ܽr*-W3K%5鷰,~+)Kl vZ$oΤ0BܱN_͂x?=DOVUNEģj%V_k*b3C *:4k [>ڦlsƫ2fmܿvL&RJ1ɖVB';+AI?E٩c,Y'ӛ\X?545M<=bYv':]iUkgi/-`؝jݨmzT':^'f&cqj12G4JS5kZZ(f +R^oVhaY!Ѣd-iW#V2]܆ލއZ}- 93!\igOggS1HӚҘA)^M +{}3il{{R[L+9՘xg_VzMbңuє%WS"SU?}O1Makc SW{0tw2*eF9[͇inkv,C[шη"#ȩK GهL7DY'A.46.[*t݃V~n[z}ѯ((X&zatcylt]T)%:9ehC[I SϹGVs* M*njݍm` O꥽֗G&y>ɣ4fX@$(wȡpAm6QqU㟖ޣ C`"mݯc'V388/4]<9F0/*#DѦ˕ҲƵgB،i{) 5m s5:|}`LoLÿL(Ǚ7!r/Af2GCP(>s3n!SwKg}#.w]]np/"lт5H֙3@CUJլ{Lg~{u\qMO|kJ9{Q"=f?b3'D'F~'y1WUu0y{p?AʱȨVCڇ,OiQؓ^2릅F_Ę y"?C$yN3?p!ۡZȁx{<j뢧(T5K΍B=thbe ,^0c7C K->L;H ׄ.]:vLR_p*Oʣ9-.:uO{_/LOgHou{e Ϊۋ]tA_>"&tp(}D.Y ݎDՙ14(b{MyW)8G !ڥvy|yꡪK=nE池_͇їp}TI3?65r5=~^n.{g}qA%u܏1M.*ULHї缢)r7!{?}Wb\nKiRfb9ҬB*1pmcQveNą;Ld}N2R^XZG ְHmTMG}o~ZoU>҂ԙ}|::s\zNs谍._ ㆮU4 9HBXNki3_V1aYrQݓ/tbxQZoH1'/Id*id0'mr+IH׵BQD~I._Y[Y!Mtyoz |K%եGcf[3jR\<4.SN"ɹ_Nv`saY +=݂:!Ch#_īj-cԔNm)]/\4o%ECR'Sz[WcUH!{Y.ý~UfIs@Ib1~lO'0N rj +*請.9Iw>L##X}v!U tlTg&C+EMN:uCTZMX>Hȟ,aB\gC+vizPXI T1׫%$1^' +1E5a Jjo2{5\Bj~7G8sY//U.dw4BeEVѕb_A48kc{VDNQ޺3@h!15:- 4\=m0~E2}FkI6~sɈޞqbivQ +s?'(oo"ZQp̣N۔fC[`5 #U%. +vMm'ƴU{(q2Emg/9~#[i:L_-GE^wX2a%囹0 +Gs)m%l*C UUm|lN+Qd @õWo9خM%]Vdr,O̓e#LsDUDnD\ i3)tN/k HAYHgGtg 1ndl4mnђ>$[ۚUE{1-= +޼?M|[6M}KDʺq!f g"֏_ֿdnw -^C 1FҙuOK$ ]Dz)^IG:[D{o!.GtVX|z#S5iAH'B:=a\~rjnLS/,ht=VVM; $Bi +Rz!zsĺ8S}\!BxtL.tƕ>.!vO^BЭ𪏶6 `0.n<''[Cuh1_"ċZ˞0찰/hg[>?'. +#c>8x c 螧HJcҋo W8WL;spLD=j-k4gݦ.s}Zc)#8ӝ(-]\k-˦nV-ꥷSUZr~L]7s~4K=~b{({_M&6fo%βoօ})23fy(7Xjޭ??Od_hU^g)4#JԻuX[``UOrON]p䦷?kN)nNT# nde}vh/`GmY|j)q[6¨JAۼT,|өdZ#7! !MncٜKr]oJE\Ƥ9 "*0I婚qoy1^^=Oj}9ƶkQ<]UOggSVH<cp9ZwXnD0Xbsؑ\&M"0U&0aN:韶SՌJ-yB%vqbƶ䇊1QgDPKܨ2S%D!cFgU_ZF}$ ?!Ƚ<`$"nd$fQ4H`tXd5ѲM´dGe)ND$})n\ĥhN3J'yD]X#Qj!@Nv`{0ܹS$gj 蘽!xɦc&5** ̻SHM0ٱ' PlDWZ3NR y :K>` '\&jA!Cĥ,IОNfv¤hds򀭻Dr(m_@p.bm7`YQЪm"VWu_nmViN`u"ј3kJӏΐxyޏ,ŝjS&~;(e4pV*3C̎"Zk!˩3Es΍FȥBMy63pylϡLJ6_ܱM$w5DNx 6%FT!gt_l_HàW#$ YݮtVxokЫ 2~>ܖRKVJsJ=u $ *H;?DMQoLհIxok!<"RS]($|K>gv M9M4V,y֫V˞݃UFyw]?ݥDN߯KQlbDhI|zh]%8:tyJ\>Deʥ`ڡ 0ɫpNAQ+ Gd<.Lu\-aJ$l8F"~Y<8$pSڙ׊>[ -Ȧ҉W#_>7;)o8kSnk=$B d0W!8~Ęk{g# 8i6J';kͺN F- ~ +d 46ϮV@lq`&L6ⲳ~T +a +nƊ9G'R~%i&s"d}D?$![Cs F)e*sIѳz"{D4%"`t\P`Yֈ҈Z zcfURsݨTf.)»RcrfizQ)Mw?uՋ?Ҹ,?u8P s7L ?'LΡM ){>~7:J ^fezD+| +aUQH٨Ȟғ:8b!+^??"x!dkB<>ImwX^ON"TlƮTL4ؼ_l;ޙp:#]E'ڲu%/ݼ!;8x bZ>! JYGC%$%oߑ>U+tnZ:!j1Ȩvt--G']ZE EcS{j=mʒ1N=/e{,Y!jWe +CzջG4ZLёd[Nz,b~Ewhy)T[.Rx^@(Bz^wBy:m"Ժ*U##sVH񮖇M\Q*\=S/7jÔ +qɂfES2f FN_<݉MĐBW+d9ۺkѼTY~Y+÷ 9V& y,ѻTc GWyn㺆c{øKU(=ېwR%x:GlooHYDZAabnQW`&1{@=F1=vDOvřp1;6c.]٥oeZ +MgRxɋg`YlIJZXzm;D6QLy»nȇѝ%|Z~sUu_js!M]Q8f<}dZvI5i#`^uy@^{F#}ث(v@n|HZ'Jc]DGjkeUmP~SG@A& Li$XUj4?#K=ht2I0걇72(Jqbi>םyrlh5NZwUmrR @;- Af?q/wVd?ikk֑p=#݂)SL_{0g}s[S`k;#[7vy)?jx6X,el+zf0ťevi}|:o-nG+ggY\ }*_4NLS /OnMjPZF+vXAu7$^P{zKdžB7kv +7oQnմ?RAuY s2*>*xdp&.flأHMP#FCQ>K%ՙ;uB6W٪TBo*Bᶨ`˞*^Q<OggS}H#P4l>Ѐ8C +2G iP(QCw ) شrܶڳVl<ڸ8W_\W +Jʲ!7U0^#)t{8UȾTqיxJљʙZW&ռ8~VKFU?N Yصk`,5ˣk s $FI7! t"0vd7I3B` D^?.F8 3KU[Y3Oa+RDEr:ER_6k1rd|aw4YdVYtʢB¢bw3*r!BY.{%iNT&7oD ~1K 6xR[Wj&) XY`tvYkj\!$܊PkMmؚ{[S8!~y1PEQwMX^}2j<*Z^[X7WV96sTd[QUu7ӕ4fᱤdھt2">%sɾ1*KgvZ7ۧrKք곤o'0DR\g2"Si}\czM04z ZΡȩ>mxܥVIvpUs9VV|U,_hQp~h,j01Q!4w, 6U>֛o91ZE|oj[>M# Sz= mSr_wŀBV\{ }5IڡNڊhu''GcvVZn$^9sXXeXs^'*MedU+Pt`=XLpwf_ 'a8Wtc*]? h=6<krXw$eR0ku ^+gGTDD +ӈ +/ %oevjvٞ~7e3h.\Lc'`"n#P+t$rsYLKߝ>vivƇErskjLvېBx]gWvi6mc17c^f="ʎo_!``ءgi )Gky7+fAFjZice"RTD +G+I59O#wGueBJ*F|MK<7gJT!14і{^D|v*ҊIauؚ͊"r=Rsx7ڌA^) X:) +^Tp7|=KGURt0紪s %VDu,r9h]Mmz\26aؽ0"Z'085θ0o/6 a:ڗAdDfT@stIYVH" +ֺ_ѶO9o= 'c +ƙbY srF5Й޺SA{wyYTgʵnJEKSŻTo#}"]4wgJQ*Pm'kL>Ӭ&x^MlS جX-N*|Xt +]ƖLv2~Ȉm~2 7~ܥPbJvSri?1ѸE r`s2ŐJ2tY>M~ =墫4 ~#;Gn"UgaBֲFlB(IZW5d=M9M7:(IC{PK,?V+Inį b* RZLlcCZm ebM"ڟZdԧ{ ^"DMt.\M_fSp3]VhO5DaVbLN>qK7应 y# @n>etAF0(Z@a9庽p7!ђuE@EJV&T8s9{Z!,+y3SaԸgЂvcCJuY 4uvr4\56Q쟱,9mHy&e'Ҿ_uc_O-5u N 򑐽Jz[i4UƇ0;ޏG8jWKB蓤NZψ/:nfR3fpȺZUrO{o+]ײ.ͪ, }Ka\>H>vm#{l'ȫKG]?*}Rr\fݷC3!Q.ThYwm8 ۖ%~c˃ZjiΖei +D;pP¨֏Mٕjso1fl:rbԞeƔpY"[Vj_z.Y"#۞_7#T559E[oe5Ei* JSNԸ޴~]wS}'W^Ì/;?U+3oTxy}CbܡSO ]s{W=J>*T~Cd7}Dop|"Kw~v6õC~ƝOMWw[{bjVC/dgzKk{+CUM7;Ar2Iv?y햾qgs o,7>-b"ݵ@r*U1~_h(Q.NZ=kA>G&'3KZ;#'ͽ$GTVZnǾGr4/O=>iMe3H>4n__>Y-s:JOw~fՖJ~MVEicBǚZQח,_C XcVgVNRme:U*ePp2Dw:x%0j-k?U>$?ߤf$&שeg{Hw {S_{aXOggSHpFқr +o鰧f-.]fiUu>>UzStԧfvşTǗJַ:U:}҉\l0)6U439n fpX2}5 nԼ ڎ$fjK(QKg=p䷦z8ëb.1jZҼ}呣_%l @K7w9+̇mZ0}1I p˾y4]kO{(ei@Z?v/l,H<9i9,ba9W'絸.,NlU1bҴn}K$ +zoesfhX4W0Ub3mxUP7PHw+-wIBUgj1#v:K$0}N.UןC7f2#}[[A!6up1eK4+)*Ɗz=)ǀ:v}A9BDL+g{9 +27NMX~Ccysѡs4%=j-݃NwR{p@4;g&D{@XՁtJBtSqWT5x|WT,{EYb|\*nY"V}R/Ԫ1c#xF󔦮=Q3{]o^9띕Ŕk^eg٪ѰXtdB^ٟY{B^O*TB\Ͽ*vKUg+j,[şъ¾b7q%w<}Yܚ񫫽TMx3zJmGת׳)l6ԛ+p =&/dfFKí'j20<}_l}hO[jov]ND! S͡Tf]핏pBb#I`ZԅMcŔ|Q +Nԟ:tz +&F&W<2lvd7maەp:tzBf;w1DZiL #t%Y"\tFGJ[T:ge)8}W.9BnQJOC_ lUڂmzms3Sc#r:/oo~7[IeNGU/5"7?T6R6QZ{T([w99X~YQN$vˍ6SjK pOcGy5iNm?v_Sy@FIۗOt=_wbfm͎" +?m\AɟRDclq1zY(gUm?~ 黳 +M'C1!Ï+t`fC$т}n\ P~V~c  /{'s94vJ{.)?9a=M\~/&Ɓ=1$ ;tcK3æњK[m {IqѓtN +>C PPIKH]U_J޿≸3A* _ Uyf<:=HYr% +I+(CS6-LJy0z?hePV7* / DZ hpU&[+ualm8&,nϠ!UwK0[bBўUL5]? XҡۋZzث<<S]6U>TV,f3VfުbxhOvtc1l +?6(*Y,GLyoVX+w_\d9#{,3#e ߩq;c +]/dfp;kLWe݃ Q?;Zd8~c|vz;ڱC‘>ޠD̲!:dӽv +zU{6r9(3z3esKmɬ"==D!v^+]EvgʝDt?M&" sz4r+{=$m֭\5}~*tVP-[47E`یsЫU.7]MTsW|/]Q wZF-a: [?NkpK z쉌vx"c^S|G2&]%bt# 3ij14hQ}|ZʥQel+$>Cl/jgSMb+mm횑amEv*}^~mD/!Eumw6b +Ӫ DRdhM;]B%aBTi[l#O-b̍5j4ڪSM8hH 'QD'-w_.u2L ߦķOggSHC[қs)C>E*;?$uJl>>f8J|ۺÿ]K个5`oO8CrmpW;@_.Eפ(dB0QxnS +|6f8[`ꦭ. yY^ټfX՜G PH֍^)PvCt@D{.H0 +I 43z.H3}NR5==ugtϊsC5TdvkMy t6?\ijxߧ P{gL]%tq6Й=Jv1* Mf9vvvo蹷rgZ+5{".uY9Kw3(zχKD maރ~9Lenj֕mhWE]s0!yHڃe9\>F9[ufn^?yu~ 8ilOwLj +ݲ/ݪP\NƷ FkER`GOL6ؼה!#W{ hFc{u805s=,y#.)˹heTnHX $T*u af,iʶTJ>3zGKhq}GշCTeGB)pp1i|$$^i1P V Ͼ_ +?6|h{IK|M2=0Sl0bjAnhdd,ȒIaE)l?(ҶBfy~YٞR#`ZS12Pgn{wuM|p)`Su&MQ7[S^X٣nU!/ml+ZY񨟥i#Ce`՞?Fj$Ծꈞ)`S^!2'-oi<Z!C1%Ķ?bd4 H(˷[Q-v4B̐Zcq#}̿z˅P,}WI~t.؉I7˛3;t(m?U|@? ;=PUm#16:tU}niQSҕc\/e3$q-Dm½ O( {ZEة_$iBԈÓl#4]K{_Ҙ_)h~ +. BdWu`LԲф8 HIQȍP=PWd9^c8d~YW~NDt,2TWg2Tl4^oa7Q54!^Tyķ7+VJG\RS3Ɛ /굂{MΐqLaTEC=<4Be', ͪM &QnK"dMQ44a lo.=p޿6 +bPWuXOn%LL+=fGO% cgR߬P@qX0 + h W kL-ICUwB/>D +yՉax#1iA<[aaX35D ؋Er8E+3`䒱D|O);3W ï4V8nxH7A$/#ٓ"s=>rXfL-ӏƒ b$\1)4(_ +C?Hqy,1 R> Wo#9zR1%F7@3_^7Ɣ̎[)5suAmQۊ|HvLFxDˆӀDsYܷjdw؞ضZJY= 1uWBmG&R,xLiQ<= ;Kl"^+Ѹ`͡D^L9ʓNl?.Ȃŷ3޷yf«L= X`$h\t:0Nުonř0\s4cZcz'Mv$ɕF]ZHfz-S s/c?2(.)A`KP`7a@L[:XBmycXכ|ΓN\u U([>0+lmd˞I7S}FOwK_qNޚ TDߡ8Lq;VH<.ڥЂ٨UV5Aj%ӻkliw!O~NL+لb7X~Va` Q"O c 9E$t&n0k+"sp%Q'[9he(٤K2 1,DM,JG;7dc4T,[% +A½]x]rN=;6#i_^/G,J5S` }ՃdUd/Xmgm|mw2Wиn뾻 _ZX~J7-zk(5)Ea QHīrB̼}(d\TA/>uP | +J؜UNg(e)`~Kc_MBCre:II ( X݊ث[p3)vC"b2'PEajy(lգ1 ,\N-n=o5pLLG]UǓYgD˖\ߝmvYd cJxH? GSZ-UVόt[.fm:tiHSG:QtZ8c!X)pϺ-!}d o+ӉMDX¨żD7>ht'%^/>9,o'ÑL;cJ{ѸL\Wlv_OUQx#\ [}kRY^(e*c1?' YM7x0?\Ebց+jnBUYEO%־Mؿ^hD?Ɯ3Ĩ9qux1ݻZ5Zj3İU'*hH#u9"oNמ5 H{ͲD.jXћ9sj~nWB(b'$fI3GB.-" v~l$Q1U`Wa'.€"Lx0XCc؃(vU= ﶰ &LV{4RSrP͗=^!d+oTT&Q}˴>N Q5ڷ복j)$vP;]ڶBe&߹FG:x84`<8L4ݞ$ SL?bC8 L<Ӎ{77_DMOggSHY-fՓiV pv@e5_P؁Τ]-113GxF acɆqaނ~8ZJRSD3ܾcL-8'D5JDFQ\!F +l 1 $|]9ЀݫB)(nIHh]5BG%IEHDURYH+M tٗ߷nn"DFA=δO~dY$5uUpUp/p K ] d w xB`5`YY*=jQs  -Ci ]q V6&q aRپV0F ~e>  +Tnn7{bGr趎DrmTɄQf_0Qs18AAjo3V{7fD!"!~ZXOU7jo8n6mn5>nh]} q%dd>U9~to7?iw)u1_W$T(ewN4muD?/"~d<=T񼁠+elRWlqV&MBӭKEv6Pp}Pⷻ_&SC +N%!\gm;Kì^OM@[A.2#R4#ECbJ)g +e޷ߗf#ԬG3 ym4>K$P sEz8譁'ݜ\ԗ^]'))-v;^,`, _]Ġ&ɥ}9h;=՘=K!L\[̈Nݼn,,Ҏ3 g΃02}@?,&Ǽ#q\a;, C q:.cׯ[>D7@~-S1BZO`HDWU5x<ˊ*٨Dtd#W0;%4t2CZi D7C6 1-qKypS<)&16-=vhX~m+<$@Wj_.0="`r)ױ bgx}jRx&%k\Y' T9ieK1vI|*TD<~[EѦ(p}5i*KlO;S^{N9_`Al󇱇4;%F^hz$0WMaGp/ Owf3e,Uk-O3b]$akK?J*Yvs\66VdLb}>iFRSklYEWԐ/[Wkvt2iln[ m V~JD_5\},in=>Q{[v#>gECOHGL;FG* +=e YRe,>Ñ)},!q|z4C_ÐtT7% +ɶмv;Dꔛ+NFLa-ZVm.XT.'/!LlIzC[_ްZU("OA)ydt*N*iC.,O…-S}y(9s,6]E:lsy-Q?).\ bӂ|{ĕcV:.z:$P,]g2e~yP6Xil DOz:k"3ґMAi@2h= Be˿.F3l&ԾC %CNh)M4۶%ŊԈdN!rU&K~Y@, X}!N6菹hoGRE;${ѷJj +1n^z&&r]ʧ9cms3[EM[KxLLB{[AW .(X|zzr!1-o*͹\MW&bJ$ljֈy:w)V㞑i_Aŝ +^4 q6!7C$TpS^RZv7H[0 h~\ME6OWWnW{#]Q@X.:}zݾҧ)uY8+!ze8i>= Bu6g+1HjT ޣ|9)7ssRw:3+vyWH,gKRnNbCލǺ >jyؾOcCŧK.ow?pX 0duR,8X\Ain%A{m!AS՝7[537krw7K^q/j7C2 +fjSUiGZ%._wyսYu8ָ8J{u-8ijY,G:^Ns/G̭ZiHITC͂G6WtHnfIOt+Wte^GNm ?jYU]ڻMEh}(hoG+Y~Eʀp.r2MhKxxkBI:|asW«L$/cҷ +wV&0Fs06Sd%tR(H!AkxĒk$)sD3`[3+֋M$HqSip)zGh 8w+Low>I;)f%LiSmT;U0ޚdYJ4t9|^m!t#o24G &\ΠAko5 ො$ +` y[}uTf8t$U} ogeMekeMqI_"*jbР䇐x$Ԋ"r:F_-w̒J`)4kK[۝KVi{LskLMBG~VNӏ +w;RyV/wL,= +>)  Kկs|~tJ -1/ _Q.'̷! l &7M&qSth8.U\w|a!tJ2# sQ +ùX*z))Q-kUQQ\5Z:Uh׈,9uNZ@o9U}Xapw7D/phZ)x˩ ` +ޔۜƳt$`-*h&+X_gw}kOggSH}R0uY $K-_o}9SD։^L3LdA,VVQ4c4IDԆӘ'p`p~cuz@7ThY atU]9-5.TqZ c K`I~\B`kˈqځX_2bjiѫF2A qmVGoQdXd}\ e7hD`~(եz+OXlt=j#{H, Иlۗ~4`oSs{UO*^UI:0FUZf9α0Fgq(DY2-sƦR*22bN\ζ_&*ȵ8+蔦Ү@[E\xk G"(u= FaэQOy<_U4^VV(~NCyΥzλa34!ap<MB (P(iBW4fYhJne+fblnUNu:٨h+~iϏ(ff#ȩUjCJФdÛYsMJ]e詰P8rYH'UnhO/ю H^RGHuY%q'10 Jl}WQ“C~PR$)yBD8$s4.v^߶]yd MbS2lԢA:ǚڐ9-@Offkt/;{nrW +MIYLhKXJk|##d6HVR*BHkI',j1k})6R:aSiVuzJZj}Md&;ɗB 9ǒv$DQqzZ8ILS*dxfʛV Y]4Р1„9= +$ {Ry\ yu^] +D_"GdYky%[I5L_L)#F2Fszq{ṪMo'/8/lΒσ +B(ž5XeↆTS ZMkm%ض?-噰R=4-ȵ=>F:}H~ +~4˜~,ܾ  +T"-Ah +q V?  A`Jh0yչN}=Rw+{nV(寉H\WZH䔁'!Pi:L-[ʉ^1z5pA4UߒV1`/̜NiK# /?(Y1OM-5Xl3z>.;KƈJoC-:nH/Q"*^c Q+ ]Np)>NmzE:-uvo> PÃOi\It(/#=3e9#{_ph.^]RËױ|lELxE w$k"[MJQ:.{"uV&v!T 1BEMU)L4e&?S`rxn$O a%m4|?^k ^+d=/7vXŮ+TJoӡuV0͙s(h<6ǵ-HY<8+6f*#G0Z:P\:lOtƣ7D+LOwe,mқ 5{–(5iy̑=RM+Sr+)Z9;$Vvx6C/#/Pї$^ d4n>kmzصFFcx͆G6=좯RY~cVߥJ +G-|-`[+fǘG%iOFZ0 q㶥2Qh(GoeiخqΜuƝ,ľw1괾p U񧡚%i{E)R*veWG%eruU՘~ `_ܫ\¹Hp<#x ZWgj_';m(HiAM{5s;xyQOCPA +pC/- #Ozkg1ص:OfM<|*61}94x!Qg'1<QAvd*[WMa\4ݢa& x rߧ~4ؗF[(!u>x6BW%JCN1A&Kw{z6N2ٛQ>N mr9o6 eblVv3U{gViT?17PJ +!ͤ7ᩐ^V{c~1o`qwDny }W6{_CwޯOE2*7*T|CU˯ צZ>IlAzo?)3yM_eי<+cdgd Z~Ů:"Boڎ(ʎiF͊IgmJ4H,u}ũ +m\OSRef^MK#gQr^Vh(8tcOkvf+k7[oz\C]0v\D ++-U\/-]鏦N*K+_2xuLȚގrtDb}Q}yO{ǫ+&=[Fb5ʆ?ޏxz_|}]mUV_bw?}ε5Ѧ"*8Юf36j"ـ)zn~-Ÿ^wI9ґa8,o/{Zyɸ]fô/i#tD$j%l/dEt 9) +D8M/.JE[FCivO8鵊)UW +2ַ8|5ڨ6r菌|F38EݗM8 e٪bΘG1rj9AULDꖗN/ 4$1sa!} 55ϒpZP{U>+d0yoǧ¦-  c&PeAaj +?e4mݞڽ>iMJHc;})SJ+b͝ΡbqtNGm S/#Ic Fni"-u}ӛ2 FTd*`-7%$<-s0Z߻u$k]gݲD8b8Z +$`H?z Z$ 8ʓehv`̐pXQ 6+p`ݱ>^ұqRǑU]%go93/rtwS +$Br"r%Mٟ5ڰR _E$kBSBjg* oV" ΗrmBvd,ʞEM) +*DjmQV?8# N4t!_@&+ +-P O2!givyGc%|nx9. O_ - L#a8A)̗Ԑ80f\ mؖ-u]ekKӚ{Hλ5LO]2b }X4(`3R"j^Nj< '}P6*DJ8~_${9 Nω ib^:573nC#r5W3Z6f.m@bOݙ4/ d[R2 t,-QQ,N[vRXXȐqmVcy?i cuVYY0]# 0|XLG_ʸ&76>l ;#yxƶV [EwPD6L;D"~e37\g\Ȓ5a>T,*%l GcoXzwϔmP6hcW'Gw]us]I!;'mf&XEҵ2ۏ uH" V2t~l@5?@%-Nzbm[_TH[ I+L?~3k^"Gc3JgiQgE51mNzz5L;t$"UMW27?O*j=֐5%-=t0UE[+ +*IdgQrh7:tiVHf;z_-e>? Yu6VoxS`@mU<4ϐSC=E0_T"24\؟O &<>$ }J=mJh$Cd4pO ef0YbAPqbyVMJMXRYU#,K +^; +̙ܲB[;NYIk|LH +<^y_u)xB;)Ks,M:ws=1/Rw,@Z1āqP }uݼV7 aY1">tvS"}D< YkmRgAzbń!>sWې" 9w($oLK*|hNI0>a~=8B-+|=_ΘЪnR kKQH +꡹/3)A+?)_ye5A{al;꧉*A`S5Pmp՘tI4t̟ư 8-JrbWl܊׿tWWO.F12'VY#-iK纑`D%$DmWqՑ}F +L^JFqcj5_"{~SCe+6F + 儩k M﵎,Yev~^EԽyG) +V"4OggSZHKIXY_Qi0aЀ\G4f[{IM:[, w+VZWSO^uק%V:H.b7W$[ ,DcF&lH! ~.3$Rǰ+ !ĮlBybei[R?2+[ގ=LBQ\bS,YǾNG+ { 0Z  ti Cw #4,Z7!k# LzT,A"X~<0a#=-TsRшp&+iHDRbMwKj-~4AjkG_f$mFF H'rޭ7B4-`.lfa`DEiKgN;Acxd;s1$W1QX9F +s*z(لsy~IrL,џĊ:F鱸FVǿ`~ ;oh#;ڃ&1X>9M ` bQH ^[u +r!\$  Js (0`|)q PLg(;jme.iDa?Z+*~]=oҊL-&Qa'a˩ˬ֊̬e hNI*;_TDJ9`6+Jlf/o  +d6RR;€H 5͎#ukƄ +.ht,M+DX1,ѤVQ돤eRma$΄zһ4jR,KpY +x+'p,, T7iNjDQYa #2v3_5G=ni]ca%@/k s:lA}2+ C{AUa$n="<8Pɯ +Re+ƾA ګ6>)8{o nF!~;Waإ[%YFsˬo9EQ*ӅH`0rC 7 cdfi7ՠ^IZСGK"m9[=씦uHҮT3&OPdwB2Șp"P;b1z1]%<JJ::DDŽ @ p^bT9'sn7\juZl)iUҪ+_R<愠s&ܹ(T-Q=jo7a֝&!XONm\@?$4'/D1yq,<g0xNJ'c7%mp%PEßfbL %i JΣh"ڣuӛGw#Y0ۀ_J&%g #!#"˝_;T%z_ ˢL&/S+KIuLǚeuWy$(XԶ/{{^ (9x^pE"Vt[EZG`^>/mĤCg|1Βs]{vjQ`Q4^Sg54{T6x3g/gFO) +ddJG!]a6p A^A5a/_LsƱݙT~>u^WUʭhʣJHt5 X9DlS"4ìYzgqIw]m{yc$ԏ=T ΜN"u iB_MDƊs'QEJ_2Uhz6X_}iPy5&qDjL%z;|/T 4O&;j;;]sox +ELĞV•?غP9z~/TQϢmY Ni+@)z=LY0:Q1b>^Z_op݂a,.د*-)>pNf֘^֓J-l2ӋJZmWL qC\͑Rt Gᇠ އF`䶞r\%aDmmԶ7R1R$ƖUG'4-靈l–6چ'^תmhbWs$E4V# h1\i`I0xٻiR/_}"TJ3]j_0a%}zWlxWv~kXeF@ӎIK 1!aVD2-ahYo@r(?)'QEh̪(s/OZE0ΈWKBPOt}$\.g_]}M(_z_k3?{R)q+``~ B:\8Tw`o[B ;b e+unA %yl\kLїPZևĠ4U!P;˺]Y;D-wQOa]`=MSBNHrujaYg ͝kb}*,4o3jViB80DJ7Ԉ(99sq_vm[#`FsUaKڡ'w僳Z_4>YY6H$ae/4|f674x@@ 'n gseo8.äP9Z:V䘤h]*hF '~{&YMH 0=BmeL]Ê/Gھ;A),(T逷pjp2L0ހ)6ka@o,Wxʊ#N&V9qD•׈RcIXK2HeEv]Mց a'mO+^]Twߐu(tJ)܉q//ԙЩ~07('Um yld'!BhR⠇mW˙TzNsJoeV3OggS~Hf@ohބ~=yPlŠ0kM1 Ҷ.49l{,TcGdۧ0''`{&Zr*9of^)0q杫 Dr]mb0U#I]RƻgKխC~ qB,;`" coLsHEXLbl˚ӿqLcī~ߟ'fނzf.IL*d~NŴix*xMFM&mȮvSzdr&F=s<6sGo}FRRXYD5 E҂[5VÜm˕ZFEUI)E;O]Ck|HcGtT9)!b6gyS6bڥmx )g2R1EuǛ&uH*%<}5Y(`Pp/TrrqUKt"哽qavp ,5PgJ )?&t6 ~덇Y#512[u!:Sz!w dWpnH0c+:(n j@Th/&7veńB^z4xnoRO1Sk[&A^t߿#qvi/"D͂nVƑ4oMBƉ0{265u4Ζ}#ZJU3kMsWʜc,]՜cÄu8]+Fixlq/gng yv?o(bliiо0: T$ ؎߽yp,zB01 U=sr+)k4 +$h$5t֨;_<[ONFbKLb~b(QzvYl|M[iʒb輶r&W\b컥!]-!w6Y^t +qO7&Ӻ`ޒq=fHehWX=</kmn)>4H燦,?y*Bxev:{>٧VH-^T6@$H:+~GŞAL!1݈Pɮ_HӉ;ke!4Q3S[mE*pumIɍƾ'J)빀ׯmaw4ƶ N'gE_J*/[|} #H9n!{3 6tUyɟOv\}^RZegȲt7VD(k4JfΜ||ݩTo %mU%1?3UL\O3>Qu.ۆ$z CO {凌y[Y#B=EJQf$אSmD=hq^jX&#;ξ_#DڣO=9ͰX=eИ,Š UR˵iK݈8Wyzm3י^XR. Y~˲Bhf˗='U B4O|j*%k3>1_am)Q +LCQY*K2cQPl(^.nD +_Cy2 +t$걮YrHGϭp-EG* SﺂGJO(t:J宜!_6\魛fsE,ٔR2).h")o`Tg֥C) bh)#lJyk&_+i_q,am!\&#K,y/gM_.yFNmI'wg4?Nd4MϪbpڜ\=A)<^5ؾ2%Ŗ<|4aWq쐐Bu6K`}i )NghZ|+Tڈ}+P{tZ$)y\|JtaTXw|9cs*T6ZMO5XbIAf~~|:Z؈[I k:R5Ǭu<ik8^ + Yu%7dL ]э0{ z uůܮl}Q)Z#[eƆD<5H2 %!C>-Ғh@iGdm6!o#.%Dzʪ㆘m5psMFVҤLʿFx FKݬLK3ok-qGb:LURUޅfs3ӄkT~ړѨVsH +$ 8sta]bZW>)x +t&ohMdO+'š&kRs.˶nN&aWV+5`Һb5bYgfɌDP='j*w *@|DZIyw%v_.Uk vC\zF~X~*#׵a,DlmQc@nHMsy}{zuzGGu$qD'K͵^,;eF~}6MKsX>o턨W&[I~nSQx}5aNX"GI&ZЙ> +vWַ6MotEꜨE"2*.9Z]8_wxV͙6[M žq|h&IȽU q{ldE]Tؒl-ƏPkUx,V1{VKHN6[θPXi?06Q\V:-O[S쏞E(X?Ŋ_s1y9_\Y=ݫJ}˽Frxkt^知kwY +_3k $d?ј2ˎd_A{/ *6g4Ye}lu'Or5o՚77e^岧+c3}UGc©^lZ~tm<2|Ӝfl?XTyW%-NV6k_MoCMeVFkU]燮[d;9g|}LGeSzx޽;qש=|6xt74K{R K׳Gz_T23&lfZEcGɔ|_*Ъu\6(/Ux:{2 ζCzQ%3Xj'^BDq'( gqc}3'Im~Z<&K;7Xרs{՛Hg6)zTb6Ks$q)rz瞷y-ED-$03K)M~Ѽҕɫpy̒U፬u38ʬOggSH ړҾ*D M7iZ$SJ\5PP4pGetZ=v%>LR])I' 'V90_4-8mVGsEijrWV(L6+3*ꖉC\SEwk@]-Ȥ)\DNHڣsE-Qvp\ڿTݾl{oDݛK"|tX˾4*1Wa).U3 +>HEj\ +]ϴ% +Ҥn`3vzOTUHgQ$7]Kv; ]4zR1/ҡvab*9؂#5XChlckN n;Pn7Iq߫:cWʜ3#WضU~32Q j3OVkgVq#[I}+/j+[NI=#jGۆ +j# TsX;槄(W a-Y$M:`Y`|ʡ䏆tޫs5`tBH]՝xYB@B_vJ=|-ba(K +  Xm/0N2/7Sd̐40ʽB1GRlhf^34Hkyi&<gaɟQ!09fvҥ]FwgT~\ٸrF_`xL1uAVN$"l+ LTB#eN~lÆJ#@ŷE#^FZXA$*Bp:aҹͥZ*&ƺ,"qƃ2}{S:GO̙džm>$2~>|=: WOAgr=brQuXtX`4gh&*dFuRj#4W^8i+p qoQQ]+azi3}<%$C=S;YҤSLh#RPFzE<Ψ}\IRdid٧~/Jv-7Vv+Sg.{iթa%w4(tPc-vT뺅)Ba~Jj6߅f쉌N Kcuu5^GZc:lT4lI%ⶖ rl}]H#!ˢ2+MEoFW7D۝EcG*kWm0pϮ5"lL*K +(>c.ˀ6ά0Uky81-ٝ3S>U Tu| ' +)Ӕ S}88ۗJgjWquEf)/3 +\RhDϓu5Qԫd2@! O;K^7T-&xfj]^KFpW7*" Hڣ$ T%6=(oJx6=ȡtvw*&$qD}hȬ} f2.O 1NIGbXcZɱիA' NY0(Mӗ)W(RƜYĨ}?zg/z住7e/ZSdUbi.ׇBvq[\'!& +aK)$䗗BϮ\c1&d(HLj)ɦ,+bGXI^ yD ĆRK`7l{IaZO<ϛGB?* +Lf.33C 2ӿ@-O^W8Qatez4<22q0c*D\PuɠkM;(݅᫢!C ڕ  *04Q;lsL7d l[ ުSWi@#la S,ᙀ +3rtLN +tJ_oбQs$͒հ,qc_[.kE/vStCݖ 9EHQ͑hfVd8{(AM]b|[0)7{-ls+ݶ.6 -+nΞn CPt)fZWEÍN*͈yЉÚw&CMdp_"ҿ:լTZO$m CnS629͋}mG}MQWMQ61/wUyA +KSsvbNhqQ9ɢS|:PQҗ ~0IKZqعn.*$<>I ݎ+'c +Kx(Mz`3wvyձx2J?Z-F C~t{ni6TvDI[[AV&p\+ {Yv IkW; 1jy?QXO\Ug#2yj,4OSOT. #|w8J O">jS=)Bi;Ƽ[Qh~OHlN'YS`=u ek!C& 6onq*Awr繨ԝTf$ /?(5s{ʕ?[|Or>* vD3Z8~5Wl5 ki|:VtlrW'!=ƾ_Yɛ`t}!MFyOY{&T9>u6)*dd3'".kpʹo٦PN#SZV}.'F1-u1q}srr8ۛ]ޮ.w>4.OV8:/;R֊-T51sd2Tncqdn _o^i}jMGz|jʳڹ{yb-_v?:~zou꥔ޝf^b/;~/NMwŸ>"}Ǟꗪ[?=6\2Soڕ&jɬ`݅O71Abm%xj;+ޟY\L>3[uB߄13t<[|S{Id)o٘>T{# Oi5T]D*PTgGr>\0:SoGaa{$]8c a~bE%HC6АazӉ\vev!n1\05ݽjG7y-RdXR"8up1}y3x+-*C۪A)ZyT.wiIT$TT-ԣ͞fd~p!fc?0\0oa=o:C@Q[O&^9j\_6QL +J*jVČE IBOggSH%ʛؚ>zn]O]={ݗj\^NMok핊nsEQz:lK0f  >wCZ5F62y![׳gS)WV}5`hmAn|0jzyjr' Mԅ:EF%[}{+~O(3 *CHݲLy\sVFGk[|P:^7~0z4v㶻5Mv^-mopWB{/2m½ ߐ96T%Uյ|L ܤ=aSU0>vYnc$dǺɶuuNK]$%C(&lPWk# Bf}ت׈u,I_'SU{xcִ2jjxj*1mJ~3k{o4%LCJ'/祇eyj=c$C;$Ήb7;E+ + ~RhzIi]Y5l&L1Y$Dilَ>D/YWX4 +W=qO0"xϟcՃ\l8j=U8Kb6îCA73VcGݻM}fJ~vP(ӭ]׻²z"T*<֗]=_2 +ٝ'l\WٶZr8lt ZXMId$}S]*ib%\jJR95e#>fm}ʹ(x!p&=+7?-NwNq}2NDP;_ASBNK5Hݭ))A?DL&i>+aUf[10%/"E=-w&v$Qް=3zZ{Pe*dBy sS{g:Jo٩VM *dCn$%)!eQYj=;I½v(K7z+svf6X^nglObȦ0 'BZ + +_x@U!yU߼![r"$Cm|όگ՞+ Rg jxPW|}Ͳ' [s_P6 +/_zTF)x&#">`G B!uFҭJl:MZ*gtgKJO(K+]#*K~:_UB,;#LC4Nt4PX5<-WhI>(eza^60-,e(|ӊp❶+%4|P22`):`lBV{\j<ٺA=*_v0U{[ua]#6Kz# zc|xzJ{ nͤoNN1êMDa<ũYVuYDX[2Zs'^UF4s1ѣa Aj+xU)݋nN3B.rxA&Gj4b K}b ׀3d\6ڮYǙ"@+/oR#[*zouM01^QS~k1DtX(zS謊LyԵSDF G+} FBQZo-E{xWW`-٨zll3mѬ oK ǧ2żex{B+Kya2m/CrEnM +c/uS"_.Kk|!<*ՅŶgmEӫqs0{/5껎5?~yٔvC9+˓׮z.Y@UѹC5}=SɯkGrSl;kSVCc}0k06}q 3|o7{agcwUw,jt>Smmq0K]LdV#WwE ?}yxG?9nTJ*x'=z0~o@䥻n8qz$hJ)csg5s^}qȄ.{~Gx}.+fqÜ͞d}CS 7uI$[tש[VBm{=bHo&UqRdjQd4Lf m+Vnjf?ԃቛ 㹪"1*~u"y>9W/"AogJ؜=_OrSwP,a^. +׷5=>WVMWvzFX%nB#{RVeh/"+ Qc|ÊM+7 +M # E|00|Z1E +(0w ڹ伺^*:ū`'OggSHcD:Ԙp^z +u|_TN;Q^ Ն[ݾ 1p۵ù>V߷p57׊ +eVhdc7dg9T$!oq7/)79JQrH\wi' +mT^oM$MfYz[u/6h3Y8s&*ծ-N.܊v)(e_3BVk]/2sZZ_zR2Y +SK,QgK;e>5Iioi=.LY^W1zbA +t||92ܵ+XP8d 0t7eT\8wsz%ҲRmɼx<1'?6}!6Js x|cS[vh&CVѥԕ}kܒvÄn{sҗ]Dܯ4rs2[iSYնq9nprO{cutp-$O]Ÿo& yc Փ fuw`^eD؇L?)Q0x4:B[!hۨ/ž=)q2#~#geJrreHT5d\?3&\Gط1Nck&ܜpE! ;l*g]<՚8h;~:_b3F;Esϓcqyd3wcGHxT+g_غ}{)t;ߤi]~ھk}SP>ĨOˮ.0|:,w|ua2Sto[owWe]_k T ]Z4=yjwgۃŰ:!"Vb7$IϬqGN>]vkEJ,IVlel::Z4I(׍pF'c_=.ꐠC+kcnW; &uVǦcSΚT4aw\3kqݒ9m%XJ<4ʝᢠmFO8΄[ *TɃ>Qb&ETLs 3^ss[m>TXЀwQ92a&;4̇ԙ*bpiz*s=:KƞH䕉;Cr[Ja'u#[H$+,qKNj w:# pԦo rZ5 W!,JIpl}GL7ROrI#"?z7G'`\[2| CTfT3 ڞ !g:Y +#l-%P qwkIdLrg2kL~ۍEM"}z2f*-I+:OIX.YyaީC#/oW1lԍ+t`_?|&yД'Qb`%Icl؍"R7@h3+AJ*)%L ny B–:"=iAHP,1ppeff\ |Y?"/qA LGkA4'Pq|܏WV^hv}fh?J0}9֊Ԫ +Z/g[X|hEyɾa}c'{i6%b%iX@@C ҁΆvRHg:^_=l:"qsSԚ'VlJ# "‰1AK%6.vw d@#4&JZJY:k'=3κDƷ ,Q6^.R9z8~ʒzK6ou'M/]ﲢ7UOVU&\?W^[C '+ XC׀@M1( ۡWUŔZt%C4b{3u=Wu&lu2OAoSE%h}ުsSϛ\r*)JНsR)YP(lzj*>߈4 U޾e$Sځ(`FkE%J[ !v"MwƏbXT4OfYPkQ'RPEVj f8kv([)J7+Iu~B11lo@beM(D2ɼ}]̡S[V  +Áz)<&LL$2$٨O['r#kШSS\q91Z(Nf=2 ;1(NzAEtQE +EQ42<7(tv>;::0O1v]GW=U̞ʭcSD+~~Tl1{O^v t?voƦlN߾J|MDoěfL 0=]m|64\A;ĎWz?~9AR,kX]}]|/dZ +=Q*3SDq+3\ꨯD<|-~x>]g*i߻݇EK:cؠHYeazs5yZ/t~ƫg -:J3),,k&(ɑ$-r4L}GRVYpX?6u榃dg|ػ=BǝX2-'d^((TlUjC;sh9Zyr&;7%ai2yȑt˝D"V-׈T{`s\60>}z.J y:^s$Mh< +C]hHbBA½^˙b^=T +Em( TKiC RoU#"4IKbE]G#)?F(l42{ɨ@B&_&{ugz "e L^I@Zyw]4坞f+&U#BWOggS H[(i>Zܺ2fʁk`%j' TUxI ]8g,֞5i,B!Y~i \0n޴|~!}|ji>?H/aﯢva#"]YDny&Eb^R]˜uyDOzC0n}/'ψ_ݩ=8, +C>{DijO\/i[STŽ.LJ'jl:h.93*=mvjCعGRF2io(m(]^ $4?ûQy +2Na+OA3g q]Xx櫆Yc Y)l~AHLYJogiŻ1LDk-i6tƜ܊;gOQ VS-&HE iCd)ZoF ` b~ZLI=~DOwq{^N3 hqDm0̩4ԧY $4Ƀ*ghf*]WWOwH{S͂"?d&Shw=3*Y>IDtQWl"kp?*)\:®Sh7c=#ϔf{LKȓYAV.+,Hx-bz]Կ*%xF+鳋u,&35jT*Ms Te +$*OIZOTk.#w[fxhWUB3PAwT0/s[@/ᴤZ1@='L=)n.\g:fb+ikv:52ܨ2MCEzW[uW jS#@^W>ٜ1$(=,ܦLT :^D؂2&w-A6QeƜVLJnJR}U"B>>}s>^/.uY0*U:0σ~sd7=;wi>º}*~\ AO$rR+3/&i:_<';׋?K6_aս=o:g7KoӲo(nTXuP9}U٨tm%*S{Jgo2Xo{ϧzd2ss/swי˨}{ISKtN{T2ڙbzy:3 mz0˫ޖu˼15L_i2J$"q) _Z\֢vO5Q!L+{>qnU\$1J3z-%m>&u1\1-drlx]]U쪖~7DeWՏ^A^Z~4lz֓M{>aC{h$l۸dTe;"A'Rz1zx!w.Wդ'Ocak 6jQ0",'8QW:.c&>%PSi26e7mj st!wpm)R7y2HWp*dBL7_K3Ic~Z[AIGgr3/Qi +r͒ŏ<FW,b^lOUBVjeCzVժ1QA6` b݊ve_KVq5j0JT/j6s&gA7ABcoon,c x>ypڻJU+}hu%vf!ztjU\5 ST躮=`7_h3['GBx+[fΪ}JGmRG-=^X翩J,ꨍOOUᫀo +5ZYo`yTO?Z'OK +՞Z]L3|AW6[e+2k0zypunɡN;^hU^\lo2g{bdk[tm-yjunre;{q*Z+d">4}4vjSx=fVy5֝Vѳwۮr3[iSxv_/k]3XBU.a+R6#f~a;[m})׮&Jkϯ\/8vImz4d&}UV<[h.?! Oh[;ov_dWKߞ[!$[_/+ +>KdwBjnY@ EVϽQֵ$[Nx]:|=bkL{ƂBE6Di*uRY=vI2VjvI3Q.Zlp'q 1.E\;ef~Yx^ wn*bBRPB9ۿLn=HYFo1fik?BFF}/inZŸ9ԻJd*{n.6衑*gKӵzcB[Kl4}+nHַRk]Ji8o[Fg*C^OWA-S%1:E7k3r¥BHeoNb$5%&Vd!z=k(Y2enT+QwXY'n돞ZdL3| j$pߓXE6sDz&xje-={o)XUJSb0#;f"9m|X>3?aUQ_ܾ[x4\͋yY±Q!js5}Mt#Y 9r^vo5at~dq=ǵH/]. ň] q-tYZozzbrh[?nkL5_89YձMXX.&Xu[,gy$qBL\guP.FgTD>ݷ1eOhIuҷ E4v۽vER-in٢Dh݅43ptk~tJA*&4 +gW= Jֶ㖿Ҕ)mɼ^ccNCW tkJdRNFd F'i[16n4dZ>.Vx%uymOyz{y x5m`T"HΏQz άz>uj+?Cm9)Le\d +KAjTwcIRpVo6qYlgŸJT92N7YbeTnL +xDԚ6ٲ[`c'kԗjmaer;=WwNH=׶/jWyoD@4oT_()6#:q (Tӗ; +df!η\n>%-c|"V'o(Z ɧ +0﯍hja~yXdt}MDYZil9^v$^X$R5Bn&7(>liY(v8ewj~j'gݠ+JtNd0cE_8Q*񈼋krm?Zt>3aѸU{ty(ԝ/i+8]Vp~uYU+I]ubV:K\A!0uw*34cvLs_ԣD@'#LTBg/s}^[Lu{<.yY<,VWvӸ6o{coREFM>/uێ˅z9:KcJ|+q٫ ]Z +$P ȃ@F+a p]^= "g|E nYܨr"˨hN^'VݩYZل,M*4rVFnj25t4C< J.O\x=.PBms;6"ѴS⨧pFoFM&lxJm":̲g1Z}Cf'o>:Em%<#Mo~@^dp!_meNz=3m;)(i$m)PC-Y"2H;×eMGLז?)#K{~L|5$pߝPByaBKy-yIga&(V,C)W %,3ӥ͉ȳr[5WV`Y{4w>J$_ +3ұ,.yW};ځdѕRWXz:a;Y_dW6Kw9e7V{uٲ߂뤘Cp&,c,,obܖUXaیQdM6'67Ls=7$23L󰛋64kvs؜`ʖ rL⩳qѼ6[OggSa H1kk> +$h:5HE"AAQ#դ)4Ϊҫ'wHO:&Mۓ,t8?6{kÍ7 UՂYWؗsu4?:J5Yd!e(7$zDP)M\58eb.mu+#jv͊g0C>c9D6]qb Ryݻq[W={4Mnz"cr%Й\u +C +T/42.ham#'x56;d9z~,첬e DM!9. ݌zfOWgp+"RZv^=vmH!bȳ'`|?~m +ȡ7Uޞ]!]F9dtX8?7^;P v?BdG_,pcNTzZ6[dU"#<;s+?]|:RӘi+Δ%(4[2ݫI:?%.9&cE_{WOg];랹-ĆDL`ޡCa5AzkSb٬;otOM~f kxdiܨT >dDosuuq30l&YYYUmz+ݣ]9^Xc|h*!iTLTD;+Xֱfٞ(N7nE,lP-S\FB5eqщƭ :}Ix;x2=C5D/S4$VHg3ϷI좭M~{k{A]GpSW:ez{өP.6fS;~ucn QYQS!: dn9 t\; KRtUU5kwEo!(&X%_8xJzMqu^Pkٟ0xf}0ȮQde$"5uҐ"rA +6z3;$NپF~ ƭmbRB/|0+}dmaD1|6Mtvnzzv\tܰ(nnjd$'G}"`ՇLbóҧW篽]{Kjw򹛆)jd̕"ݘ{Km@VeCꩯ[YCZ!c7D_)%ƺ lr髺zzR/~T1e_s[^I{5j>>Dy0—^ I؉SRnXb?1m#_,PG. DwWlbM6顭1dJY*?^3HOc;= +&w`!h2 W +[O[o#GiSL)f^'ed>e>o(-2"w.cK̾9u. P N|j&s[|ӄ<Όe(٬ +,bK'YQ{xj=SCjMZso%LnndJLYFQWiM-GcRJ=eSs,z~:8x2u|P3/Gz}{3y/Ni)l#:pv]Cf2BfƮږK_ }(9OzΙV +3)aÊLIcO䦔\R$Hn>$Qg.4;ZcDῲVRig|-Ɵ^,"uTk|ܜsNeV;Ju^c@$,-ku Y ڽJ7|*$R0r1wj7 Rehs +!аkXVy|yjseL )%`LY$|VHu!,;[Tg;+Л@~2Eތk˽ ĚcMո㠓 wm'|ji!d/Wac\ }3ة+Az{طx_~ӝN77bF& < +8%q<,SQLwf7FdFNV\ù:c-IZ{?2bu2.Oez?{-fWAss{jt6}V:M0J͓>riH3&xy"".V,{A\8*T?C8 q◿q/}yzAB6CyecJۘSFџIUkw/2;m(IfgHV(3!T!64&_)/W$hA22SBc<ɺQ].3֊ 6Hl6:[D9(ʄPc!13to3kRrlۻůqOtQ zG A _53k}I- كQo-Rz^w(+Üh:>(K+=QOx35PbNU\\ua*~ۺLvBMiDV[vmzt*N]4Q4cC^kgo ?wso;qd)NBL=u(: +aJ!RfGFD|TepDZ8@;WvB>"LN7^m6Yse7!򮇒L9YrF%/xگ8<lj-^\ͫb!\߫rYʴ nb؟KG>=ݼ(8ogut]9JuhsuOZ_$3p-o>Sz6h=XڣxV^^7d=5I-5.sKY3<e +GӜ +xHd䯹.Nׇv4ͥ~YNWxfʺ +±mF +=ꏥm?޹?KC.{ۉQ4%˼Ee RC%&[$h7YاU7-mk.Vun馯DOY9ZdlPy}ÞU̒Зa"nљE洘f>^f{suѳ&?ߢIcuVq}mi-/w<޽6&Jh9]FL75^f|=cy<N:ON=OSneeKe]$B8Z<֌ Ϭf^lL?⢊ȫX +cKxwΈ+ƟMl&9 1;IQazLo牑鿣ܨii=u6h#ڲkqֳz??d$:w]vth;>c | +ϯ_\BgWDrwӹ7?dwA헓V]#F1xEOŹh2_W>a>QBok2|ny؍MbpK1(5?s\mڙ=YNy"5]RHڒ&Fέ ߵtI& ?;YΑz-Xumeq$ uV{`P@W.ϛ>#M=&ں+cޖ?oݚSy)]:7^w;J3cե<43V3;nuɽt=}]ӦmA{bcζj#C=#BLdτJp4ŵm"銢Lk uaw{yM_]QfܢvЫϣ:ڴMar{ zVi]Cmfen\8D7KaF m L0{޼ 6B +j_M^<5=%UM<У]s77b׵}89\Z~,!wO;rbj]h\ -y@ۿ-MuVe%QϤ vms.랅f$s"@-#%UKӟ9^ 3.(bλ^O$hPS9!A+fHثgÏ^ TH/]')ίF{Ul V?,hNiU٣@GgeK.qմk]ҎZi[b>$9wR?-)W#ټ̱njGV#]kJGp77KӲs״QnKU9ngJ!n7F#*/[#؈+O$'DBpF d!DBi;YS_a4g +d 4Hy|iWsDB`fP̈́}Z zC[測\sdjH5ȸ׶lEۚLZ-#QRn Y~v4kO}Jf4B&$tᛠj@dwsLl$X^Jͼmp,o+M*BIb)=P.DiTD45 J1_KUj&ڣ;Oj9Z$؏v^ bpE6U:8BSǷMYzPc16Vft5@5p~%hjHE}΢j9Z)0u1dF #n[dǒjEƖٟrhآȨ}+k%՚ߕB5lw6IA{:L?bXC앗]ta}=Ș)d$^ Fkn-䛾t]#rgO}~:d>=R CLaz$ja'&"ˮ3R2W[!l\Mi}#6DBSJs[iD Y[XnNYNwQ[kGTjsTk6 "߼T>&=HՔ^SB +)yYliw9A$LZjZ–j*DwZ}|{$޷GzVA. k2~G 1E5}@ U N\P8]5&[kH,ˮWZ(2ٙzI/X5/j鱼h[3atp?T\hYL (=qs4Ȗ%qk8WkU:c#ls2!4 l#j;V;e vX㖂۾.=`}1V QT-E~Ho'Ijge2҈e:#9%qm=dV.E%Zk:86ZiOi +j}+>ɳ 4@-' oEmPhh^7G˵\ PwaaM^/2b~vy1B-5J`&R$"i2eάroNGV gSv9bGŀ \[0Nxa'-".}%4qfઝ=p(S +a^I ̮<34< &eۓП)ל,kr>IUowfSfl/Zl%LwUF3`S}Lvcu\= +Q)$dI{6%5I Gfm" |q*? +vy5(sb<'FJдFukOm~z5=Dv:{҉߿۞k49_bQK?0kvSSzg5}Q4 ]aơjR'mN3jmXɑbxv5ڹxIҘ]%Csƭ.b)]mNwT= 55\= +ꯎUGqu__Hş5rlJaW SqizX|nn^|J8^zq{kk}n8QymQMF6:V6n.^d?䛃5قT/䍏E/k-vcbƿwW'ɍJnq/Ac3]uvp< WZjГX9Sg +eK7e.bhX68y9M}|5vWl=ō9",O豑הz$451::x6]}eWцFWˊ?WU1I,Z9,wmp  g=0~-$v=O[ w;ĩBvߋ+Ak~(pY?7ٌ_nQԟ #&OՅ"-(>nFUKyʗ>CZΐm1tnzfic=z~8>* +4HE&v9X*`6 Ǹژ~ǵ}\ۻ91$3̨RPCg}&*Rь/(߷ZU$'Q/|#e_w("Ħ3%TǗ] j5#"*r#&%9|~yW ;POjcƦ{vƢ?3vygAR*ۥ 񢐍+ > + +[Båp褴G_5N?΍@͇|jg \Zx??~ϕX Uu̜\,i0d5Gg~}ind^qӚ(HSAu[G'ڈ/%ȷ*r2xH:F9꥚UkzD҉)D8 FWz(U5 `d^HOggS HiܡJ$ +}E=wτc1*.M2 8`nt`O<9g}VwQB1 D!auH{_V_WqRߒOxI&?ba$,)HOiOD } +Uc(E)G6UDtIL۽< +ɷ}"[O߈9owjW|HTҐr:T&(} (Amc~5UCl1&kX`Xt:y9,ekFD6SnLyMgsA4EQϑ&Xcs^3`mwҲ%E ,ϑr ZFyLb0R®qw۰@dL$O1E4&n󤨍0L,nvD%/˻e$QS3a邆-*6.rʦ^^;D 4aԥ]gd4V6 +MMZ;4XIN$慮ާxSUHxyo2[R )۞QC>*PDyNwYLp,aC`>zdbxY/~,}J YB#?JI'>40^b6< V} <ӊ+jHU3ѳv724"f;~?^`;M lp:{cQulHnUG0rwVVt 2 GKIc;z]\m ׍smm̠< c*6w'tdsz #y]!ogў'mK2^c&L ޖ(lS5@0' + x!)0&y[k=̩0yxNJ`q)D*aH}|[Gi7qўZ㷪#ɝn5 kO=|Sa8m秤ޫ4):R߸Y$->,0y2J+/vm40n|#Q1hc^w%/pxC|IÂ$NA2CYnxMg;_ /{L'X<8~b9%!gGHd̻Ĉu!?qڋe{5bKD]Γ^ɲN[̚Ǡ!M+=cӮMɑbN r,[avKvC; W~), +#GaFcN~:eD\lVW9/e_bTrDXeǣsI?>c?>Q֯FX ~m{qI2_3 ֋}.Gnd +xP5nظe" \.w^Jd?.z;z;bgڨ1 :jt a. _[Gl_t0+䚲˭H)r]\)5Imr&W +뽷zBs3 N罗 Slhs߮{v'.Ej|5 8wTGsO5hQc6INfwN'}]ݤie~T +^ +$$価Np*@8Y<`q&X#qmtJ ;|p*I~i'cZD5zd9yAzN!jqƜAbjv%AQZ8*c} !VeE?߶uVSvD; !P2 dlW?t!c+"4/t}s +(φwDxN{3iI~xi~w@;l􇆐~ rpp:X # A= eXp#Eu ӮNJ\vک%W[R>YR^La&@%w4?Ud4!=~wAaс.ά'ix!Xǃ"`gïk0f17oS4[ŨhO(x =װZVaz9PcZ^p7nem +Y6 =:d`1+Ѹ~^$_q(iC&Vm7FwGs(ŴD6!HH$]WUL|6^Fd6' ,史8n5w/,ۨJ^C08_֨棫 +A\r'6*ay.{>+R33m3Ni/zxZaPFmNKHNj7^MLs>#DMܷU,+k]4n:U=b59`BM-*["lksT r͎̥Չ&ɣAdc(꿬7kb5j_KktQ)12:ILN.+ ٛLUkJEsP5R }]7t#="!LQeMadP :((4z0xt$Qzd~뵛rW=T$ґs8ͷc,gEj)F{d"gNexQqW4?(i0T-0ddc?6C8DRSZPߎ`#~ hj(xE L~x.V|Z?FT5"#s0@zgŷ&k%ڲ;c)OC$C@N6QT\~0$6GSOs,{ѻD.c6FDiN͎!z)K⃊U#u|[5* [ˣ_3S#D[kxvۭӟG_<9e!>0U1,Eo,c9#|-9j3N[| B-z{wвX[O6)tpQ%ͷ͘r /:euuqˊ(8,^V5̕oB{o^-],i{=Z_>֟?K'd=5F/;}Pi]f藑Mf}`'1S  c޷1![[;"0`ֺjMyp׿N7⨒Ze]/tɛaj +aJ +(ZmŤ+SI_D\k ;wEЬ!R.%Apw^.{\@>0!Uhilܮ\6]|ճVumG*hjU}]CʉOggS HY֙D#~&QsȧR̞Nb(|"h!Uɛ"{H(  R] +qEK򠏣m +4x 3Օ6 !zn6eDyn^pU#H'7Ĥ +X-S5ʽ?O LcwɍO<虗քnaek4(B?LdB?5<; ;W4HC\I;[/x#HRiQ?>} +XC gniL05Kt!l+|XT.8DDEGazH9IctJ̰!wW@YNKUї?V;/D"X-V, 浩O֗Ea4IJܸifB=.kzeR^ mMI\=_+Kz)%4ncԔﶍ1h'ǝs\es@"`43TL2xƽm}РS+c<$dYV",mU6 lhxK1MٶB~]n%QwBp HzLvM<miC-z,iEsIe3aXk˪c=^GfV ]Ł5Zze6%r,` Zr:/ 8¨L%2i4JC(8-?2Jpr?Ji;RffڦON>#"?t Sr&e?qm ++W!b<#?c2nnu #ud3K{BO(.%L1 +>4u5EeJs2CkT+2N1nS,:B1| dxU߁P:ƝYhSZe̥9n~lg:Nƥk~ (b8hi;ܟ"օfU52Kwu(-43=d2GI]z}U:w4Q&]ބwf&+2Fg<2^9Į{PZsMl"'*h9dը~lvjuMl&24@Y7oxBbs@6fȍj\O嶮+'9yV!h2#=2 yVTw]4*#(׼L琪fv{] sxĢ~&cr$> 䶴5JSoq{u5Tx1ڴ})j+RNxJאyAFCd-^lg'438^+t1?:prkdj]~ g⅝W;%Rw'NUx8=ō+yngE ++伔nf( XCA +5mr&?#GImTa)aOQ\_EA.JȸTJXl]5;;kdyjk7l!>3 Haڧ(ʸLJk+Io_R};xl'+0G}uwy/Lh}tn*uSYͱmn4͛%q%&A4RS{rW|jLb_% +%&rާmG-ߔqRmn5ƕUEMe"uk,_^ko/oiI>oc;@,kR q6UtF\n + ;QMjL|/束|&# Vx]CҰƪ~:\<;>%xtպ Zƕ*TɛȜ#5 DfʰzvL= RJԡGŔF5i0}ZNVsS3tʿϩ:=M~PE:]Ζ !]{5аnhU{h\M0 "%2B Ɲ|6W}ZehbN0֦q{sMגf=MGt1yVjwHkX {LnjTK!ؑam~Ǘь*šh#u1<gOkR +TbdfѠ.KsĭRaI6: #1kc ~儚T;;W/vt`'(;Z&:B.PVH"D5OgdyROG]ʊ}tc~M0N쨻d6 *0F&1NF6m_imEKg|[j 4u=lQ49+0IEPk/tzo:_GQؼ=uIU~_dDfʨW +ei44&%JmnԵkx LNTJ F-c=x(|'YC?["B3蓺˗`6 !'ǝ~|1G6#6:ӽ5zB;kh23/nhdtUDCvJl_Zc_w7#o^LcP3Vf]Z'W^twmU_|Y\7h˹5&,tz8-6zp|Ͻ. +4o#װyX[D3{P+l[x,]s=4kO^iPy'J:??ogWmɗ^zߝ*=6n黚\95yuaU>%wť́wMɑWvM{Ui_ZWi)WM9vvxk{Ϫ*=ٵfdku~3u<z$[ӧė~2lgnz~ڽCU +ttBjH =6w灢FRn +V4d F߉D~w4G.StEں-gHQkWsX'T\SoF EG7=Z*gYBf=4TooӅۀPyaiHr+Kb-+=^L?uoF>oo߸ǣeE[GBs$p۶Oie '9(YBDTh&/ xoj=L OtDr@SDEh^} ,:ߘ*1 4-J|y +&/| +oZ=X`2j#Yuͫ[-jg1jJw/OG{ZY_ʶ˷E^d,FGSW>wٴ^Uq Wcڣuz Me97ƣ77)|?`/}L Z>4~=v/Q$01 5k7jݥ~;fYsMSV\kU%k+CQo7cNg=b=T&DivdS/P: +#뙹g+VO|<sCw=+" +Pkחޒ&ntM23nWv0Ik.%@Bwmg@1/7ĤIL"$G.VlBaPv Ws +9>ʤ@-|W3}a~$bbl^ =tN3>n UYFUo>$) Y: d8z,~Ԧ qǰ6o*n3H9iVoͳfq,jD-`YSՊݵdKIG8S[AxGPnÁn7YjvFX:i0VS,gnv4̥rӐ"TS+"{)hz'# S!F{֌vU70iP]zzzIM5#—wH"PB!JbEcS4!=S _!}UYR3M]Ky +r8n ED>/4h_Owto[bz1WGn-=5-w7Y.cID\FQc+!m=tEL4RiaM>v7u^m2OJzow=qJ&̊'Vkˆ h4@eF-S +W^"T}2& Z{h罹[l/?,M]ON0,7 N\5W>zSVսv۹LEټt4w'o!a~i0ϕd2';(&dh78*4iƓ\% / +^&;`;EIS{"ԩDՍE+c`|5k`A^ vstv%NmzinQ-*mB4؂Xu0Q={3u~c DܲvlVRHrA'Pk&V񳞣v4;YK⦡gǒZfE!UhYSTbn/Q4>:nE6'QuT) VeE0K*7ha~" o.J Z`筟B_yxDS.1Ϩ6eOFm ͮ7d lz +Ǝ#S$ӋQex? $yC=D6O r O(aV\F'OWGT(,3%l;:C_ĭ`[%{csn'QeDYjO24O%mw}kBJf]|L50ώ%CCPgZUyoʭlw- fDS|9ilgrOOL:Seǧ|{9تҮ4t9:ŤϦK8.&WA]}rQ%Ot%"l;#{z*f3:8Zv7(}7}K^9?ʯ<{-"T9fKTV[qHEҽ> rZf_A^inʠq|̎f|[wn ۫#:_ ǤjW?oa;co±m^Avk|6 }zjHz +RC*ϧB[\WhPӱ8ZX4yL7~M|`ݽq}j'O ZOB2©/)YgTb_DvwMLpt?j]4tW5oIgk{)̍ h=o.5}^ƪ)(ݢw b:^M]<&hXu|+sSFQR;~?/Ӝ1ie\6}gL% +{5>%pSiPSY[6q7Z_ؙdP+ڌL1)bP*<fdĢ 9ۮm'W[,jCZVJ $"ۗjX:#a +vzzz49u_r &+"i'?uJft[yGdMe~=F\kZ̡o4F~BCEIGl f/Zs{h%V}+m2-O]%j{iL#^2vG̒nK-W뽣ҟ}d63ƜbZf*dqC|ݛ3">e7&ykikkP^s%ҹoic6Et"0yzc 蠠\S,;i*`qgM@;[jgAqɓY_U_{7e竚*V -HIۆ@c}Blh96$w/CS+rW*o.VAG +²PR 3knMa*PԷT$ Ջ#¨ʹjqÊ9t +## YΞw~:d޹_f[з{n I0yw HC&Bo |`m zu boT&Q= [ .F9m65BдIHhpeVH%2Ծ~|k0S!jK':0wXrSM%̣ɦ`4'2:x_xֵYNѰ+PoX]h벻IDyW'~S {r ]`ym0d4D|0غP_o>v= WZ86/ 'BŖ&ֽC=`@ ;U%wBjmP!nQXcnE׎ +=[2_GS6:?qwg$rqٟ=Ҷ_Z~1bB_Q Z0% -SީC)KzƢFIҁj@#'Pǽ>wbWMZNھ#1ƟMCw+VôgiBK) D cm;C)d+6[X ߗs!af+8$i:Q3M +R=SX$ _ѼE? +A8-Dr90âq.ۈ1?r&g!=x +zǃ,"mc4sc Uf5N+AMm=eMuI6,.dҖ;wjEƶDmU0tJ ϨHg*X|㊧Do:n9 O5i&k۶ދ0ԯwȇg6UFIXTA7G98#x r Zf+n9w*ŕq_8e/ZQŭٕׄOHy+?XDSl#K؏g_}dE\c'v },;~ș3KyZe +/ Yh%.5gKS|]OJĞo)eI %2)v&uzGsm +L54Vj?)F/\eYLeZJbv-zz(#{,4;IA L0ZaP |o4QT-%O}=Sa&uhtUeR0C([—AuS"~;H%QD@.Od#q:DWdTLH!hТU]S[ &VCzNMa^ju +`$ѐiՓw~J_Z;]pF&+@R8XE՜ԫj!:6ו;)-NSC!|YȽVH?#|4JI Io,iX<B-ouFZ + +-Ͷ iֳrOөyEoK993X9wڸ{N[fs^p$7siݿȕ*ƓYrkY>:6Tа>L/f&0rU}k3dM>K/p-vT{7-fɖ 7(Y'01x:QXMF7ǔ@녞LX:zVPPrߥсEGW= +A]dw}ipiKìwt$r]`ȟql2|#fԄ*_\[OggS>!H#5gאyT" 3YvmI".5LEbA]!-YQY/f#겼rd|gb[0k[T5H +LJF'"/vڐ)l!͊ia>3WQ`du)dBkq.vD$Cy:3Xi:Ԃ"z ,_gPpb|ʌk瞭jYӍۏ0 +v!\YP*I4d&qLN46XPN#Fϝe+ݙ /IЎ*djX љ^L%UG`?[Y P%B؏C֘s۶nQW" A(2wqN}i&}u)~܀aic<^}Td4H)I"|3} |wWc)+ +D6\xg!kt;<]O+Yn{ fŃ gŰdG#9$ ݊Yf~J8$||s5PۖC+Tk>oPQFC-ٹhB4_ 9-l[OLS=`I+j*:d(a#MBgJBN"K=qͼ+!v3B iJD鞮F(s˨%;߮r2Q[4-!~gS|X'1j-kh}歨,f2}Ƙ/fՅ4EIȑx᳆oѵd˟tP9QF-,ozFS(>K8y*(PL$_ j`6C\ǵj}lϒzH$!IIsmqA~ A%쌋#NPvX*##h՞+}3dX҃546͊QQ3&x)OQ_t9̙M,vZie+Ywwlqabs{YD"zPV>}sW:JP+05XM0u1kROV2o^z +~ hz=VT$eN^Y2nh&eA'V + +v._u1|۵iң&wxy#aM<|TWҬL5VrP0o +8+W;B?{/&Ϭ0鳹&-DtOSIlmr̤Y^YK /s=0ܿ%6_9\,nT.nF+2F*dsVے# ]mefc44UR4>#_MޑU56*R!詶|>KRX=a.!tqn7":)м{+W@L}qb}11qCi"ӠS@`6>r6ƈX,Tu7\^,_gJR]ݓQi܁:xX^R c4woSRu=I}2]i2G"S+YT ab+jmiNp; O bc{4v16X~-te6''%ʍ(DDIkْ&U=Z]bx|pIk;rH-:X3HsGH}ֹ_ qQo+Fs8#(^'/~%:zJiBҺtooaNZNvbG:Gr0mcVX +}L X>ŐG6hݕ:pYgּj ?Bi顇EzwL_fr6˚H~*L2JNYyI Utnp }'.r {V+&nikO[gן k]өuVU4?8{;y{K;+f+[N(qe$eAzbYmUf0lgP\T['ЪfhyH9=An zD*ϓUenŝKIcrmfkhlYsscLJcz_%lQӨxM;jo %Ns-TZ{nH%7^fyh[ɠҡ3Ӽg{ESvFJUW0؋xa83(EL*m~ì_@XJFʸy# J5g05ym|)c$وypXDaF#D3Y+*$ 9.Ku+6ev#4>iKtXv"rl* up wlާQVtXp>E+cS`bP?oV?}>EהjV:~$`!b2y$v_Oha{l}e7Kڟ⍧`So?bE\_0j!C2ӬM{|X`umSfJ+.4=}oMbG5h:ֻ3Svo.WY]G[L<4Oz>/3Ю)Bkz޿o~P_=֬>_|&\gkSh_Y?dChjk\&duRdb/4qSNM?S?[35htqlTl 2'k>\]]yzj +wq?.*RUI}*wU#}b j&Qаpq<QvaOȟI&Z1 o)#TC2A^ Kl"=mm`pg&G/>-DoG4?J?UА7 `XU}{]ZQ(]O6weoR@*:+٤l\eeG`U@+b<* EY8=ƾc6Җ\> +Qp jP6z^=6f)ܜf=Q:d#%YXNpSx4ߠ(a&a1xg޲egKIo_ndLBw )x]) rBo(Rps'oUV!McP\<7O?4YB`?MU]@DZ /h5ͽ4? t~*7[Z(d^ K~1X&Kϙ@ŗu!]ŦxKyb[@HK@wi*]B.f $:ց Ye)(qϥ F8tGt]؊#Y*,5Q{eY2'[I0fo[ j?6$mDVA]ܤHKD8[;U_bIV32)+\۞S(m{*pLad,Xapdjl@u/#X|6ʆ Č9$@8Jɜ78 4Lh|3 E٘- bnphwJL6wTQ| bQx6G!HwQS4c֏U4қ0*P_gre2 .vq3dļ3_84!ٱ\g!$ u׍l+W+8>?7RnhجUg,KUzU+L}Sz5HY "S~8iL +L]1 Z2U +9^YIjX%EV8_7T^SÈ޴[ϐԇ7& HFM 0Hu?XRWaOau̅<ԗyhբN"{4E0@4i;e`F&Dc;fDoPvtvy D+jɧXU xxWk͵ݤ5EKDoIGẂJu+ҙ4ҏN8LW7nUOI`w|jwW 4xL0Ly' +gJOʮjFtǙ6,eHc=lݪwp%Y4t1~]N~MZoA;}oB +S5 -0MK4VA%Mhʢ3hzbNkOQnžq++KBG.AuՓمZk6s仕os7(tMcLr)8mb43 :|`K* +>%jm&HtAbB1t#K ɁYYu쯨,TѺ1&Ĥ] a)sĖBf + # 0B;mGe n,5_Q);N+Y\E(Y;lٶK/Ft~#\]wOji|iSJcٸǛv*I7>} 4@ ,~*|ySV=GIFA8QŢ +PYS & @哷_ǖ*Gr5S a0ه-d-GqB~)63s_n%+ !Ė6k+)n05BKIkԀr&t\r*Lzes?]06ߙbx )Ҍ?lFf۸17 +`ߞkn[.9l +J{ A5ʞɟm|B +2[tGԩ9 `N3%Z4/.e2cf N9/]XĀn7ʟTzs2 +Q3I-ai$5YkdH*CY[OLCw49Viҥ +$Ѐwi5ڣ-AMi4:Әt1p\mmL&cˌ'֕/'#dŞAXxH'fjLnt8D8c.9J aNYH-eHގktdOb2ԋ06)X'/+fML)gSCF2z#5r_M1y}-,"aSˁ1&{%/fs#A9^ +x%^BQ +o`?!B֕}_#gΤڅW=vv2֬sHn8I1Ed§4cl!*Fs3ZXȱWU+pEꇵ1_o,e?Ice^K H;us/a٫ڐRe5}͞G#&_TcቱMc!³6::"c3S|C- 'Pb ju +Ti 60u3Sx٫VlYZ[bec5+^.aV2仁ȣ\F\ Gtx".Isa +s+%q#ɛ쾐2i楅 ",_M*q/Ťyxq$6_$euܥrnxFLܥ2Lۈt\ I;ޏ2\ׯug !cŮ3܃ z,l/U^#;uxL^.ʭ[|Kp%+'OdA{siTQoM5:!ڜy|{Nop߼gg[S-~I,Wg1ϮYCeoO/{sg]12|;\>yqG=/MMpxd/Eؓ=u28PlҢzfSo{nf+Tw_J|`SgPU[Vb5 +ʃg>(O!5~;~ +Iq:MVGc]jO~/GarjLҁnBٞDaw&arrGf8!2_=Bz\#G&5M4eEM(hH3_ɽ 4ݯ)om~ +>$~{ $^|LD :*ohi g{7dx×=A&I!ש}R)dks~\w^Gy35dHW{/ I _'i}_ +"2T9^Hi]n\s0J&oQYtۙb^S/>+E ؼ-i/Zʞ4ZRWOՊlɳ_=COggS!HF"᚝~*4Hv5甂BzrR 4^*}`pڏ}<ͫ{^86ǐZ f+`k4J!DB,)XϦӫwsHD̅7nH;t1lc& +Q,U%Y0nZ2É!\(bS1W:8)^̑ubzQeeA.,6n W"^$P G ,["T]BJWNٮc|閂"9b$:-qQ{vU/VUZBr)K҄)\48b*ztO)zaȶTlon֥T.Z>ɱ⨊5f $]"N GWc^)3^#"JsM~o|5<ܕ'fY G5㴖##}of@ɖkTƤɝz*rub8,iֆ:5ũgm{4_ښq~HP٦D($"03N'Xe/?5YPl*5`СO1%l8BQnR&V(wr.yֱohΆm!U\z:y0Kz~y>ED\D5HQ0!;O6uW&PMS-υ <6~wVݺ +"22WȲ䱣ips뤰R /JH64茴zͬ#SR_ >+4.9ŒI\ ?MX @MZjL:|$:OS.W5/|hVG饌9!wKJ^FHSj:"wz\ '!>;Ɲj*ٗsF!ꝨEmiZdaBj!,sm])C>nFv${DF߃V²_3/[!!qXJz$Oh܉Jd yҸʫKBhLB YB38a@aPѲNgwcU|>5Şkd1z崽/jM# V$gY5/BoqSE܂&u:"S*A̧*BD8|)S&ꙝ'YYՎ3XVZ&7g/gcZK_!QSL3LxTDiO?eHQ"{ݗ}p8J(%rr~ cƄ5tj3CC @5"A}cRhv\4%InV%2^EUƨ:F/J﫦E-͉kIYZ2>rGL"d ׋RC:v2Fc.S.Pw/[iD}h=ֿ|Kм< +"^ +D7:4w(A/HPP5 O~NioWZ%{1HAH RޫRbP)Nnt"W߉Ӭ`asHy6t(ktHj=پS"E7v}c=JJ}#i+lL?A]C(Ĩs >xn( b ȻtE4իi2,"~ ӍN!U 7`?; #0;t [ U0IYXNZq8=m$9fuYJZdZUr96+z8ƥƖlozҲl9+jd:(Io֘FÈ{e1ɫQ⯀P<a֐>mxyQi0'`;'$6~ܨ6ri^C4pD xLX„=M &tS`/DQSX8#VܖhbjkWJb=Q`~0}On4'dkb +iDݴ<tHK^c ^We$:oq^A!iLW Mh04ctK]UOvIގ޾mۗ"aۂniL+a*Ya;wTr0QUp5/U8r[d˸&͎CH[8MXZS-_ WgSXQ*._g-GWl@v?lH_jDX0>v|H1 ='7=HD{jØxx{4l66'mbb^gDm SP,8F]-ԙ(|Rѭo۪ +o?!ksNeLzƚ|-iUD+1tN|ii|Ҍh/^䘅ۭ6 +%ҘK9 +YnL1)5TѥRSKtǹc0,%tx++7~; + 8麶_qzen,x!7ckR; f//hYg>㷡*qUz׵!~-ZZzΊHu@d(dH+M)Mn+sV*}n t.xFtY*9Y౭ָJe;NC".iPr cpp&c#N{8%ysظdJ>=od !ZN+xˡ(϶ +ӓYǫ-3] *,&U!`dH˻Qsch9 DY7= ?+D.'1uT"iwЪva^F Kܞ}ߑ%tzO=2"徾M |N\챈]Xi$:Oi;%D;5`ӣ ρ.SqԹGaU/bt[Kr-si?{v䅩~XdGz֚z˯n ^]_VD%͋>tvz~EOZ:|Ŭm3!9iiĦZ`oAItlg+מT]IZy.gU=y*2t%vF6OL N"J,\i}"6<|lhZyl")sZV)20:M]ƒ5ʔ(q7jOCB+eʷZ(Yuev\sW6MC2O>4H|E/:oKRI!>Nc1`dW,b*A0aczz{騈uSTHw 9ڼF}q/~-5r;)15dYۢu2Ǽ'* 6əޱ}ir(: +S@"-O 4dҾry4C,iަ|&+5YʳkȥdfD\@HUV'}u!QۏdS}򷃐l4OE6k؏H'}mI:NT'_ +>QЧ7XcbxLt=aOY)VsfLQ&UV0k A,Kn; pM sEn%!(2ǓR$W첛DL_R?`)\79z +WAgYO3N^7wʙrI +z`_ +_n+dID SS`| +逤 :;Y^єXMF*20w'-lpQaGfWC2{O:ؔAwp3\ةv|9;(¯RE/Lt{9G m{/"ċޮ``>&KR%-_QJDks +Wb4o +D*$ R. ST Ҽ@%1XqsyVN ][]K')ۼ4%{m"q6Q +h8 +r%49y*}' gJ>C(t &NƀioL`߫~Iǁ6:*̈`41ץ?ypC+HuWjk=jG~ +d +Hy~DI?JЅD't3#�(b:|j0v /?gN:>r]~ G)$o&TMH q;&ZՑٻRv.N)-FlHrbE + l.ǀM]r*vu\sޝzqfJG{~qʱ7&5b6 ̿j9@  c-y;.nf폒BF=!u!u?.EO~#KUSay+QKJM?U[|Q- R[&dgʁ- k,ϭ6#.fF?(]QcC=9$3 +a[+|v iD0wD$POXU{טjel|pjJ[t "HHx/.Se(Ľ2)Ĥ "fDqWh7z#&)ݬaN{}~D7vsLc"Y?:1v9 ` +KQL2Mzrcr +S F~Kf?89pݕ MqKDݏжǢrTiu0ȸlq/|ɦ!B#.Y!F޷ ~4+i(ltZ(ڏ"n(l"ϡpj6oӥ V+9\bIt%f&,g}S;!3?ؑlfzg5 k +^9He!yف.t|p0{O `=pžAVY|amBMº S ƹoLU 7~pm~T +!DEQpʛCY90lqr!rjUIFf!ƒ@[ ̙utf3+hdZ#r5d" L"V^3^+04g99`,qqٕpXl)nO &|dahpc|iṗEEL1)#2\B&e P;7nXZyw$`r秥Yn ߛD?>w$|z&PJ_ECJrVco({75ܸͶ@=ӊd|Qƨғ1w:BʔW Afv4(,uM=2! H 4qW%Χ/*ͳFi לcͦ!&9F3UcIj)%mIcQ? {??VJ.^,@ {|X6972@{yM!2;Ps^Mh4, dyLC +=rַ9KkҚUs~ +4@R7oԾW;M$gY^5]i|!{TkuYTQQV}Ovwڪ X{:ЛdcY[zU ~:i7(\h⤻"5{ThM_5Ip|sbXm[Hen*Ut>ѸI6$^׼}f Խ52|53z/ZEQyc)4HF\kI`W!Jk]= vE<y|?D)ԏmi3-!NC\: _ѥ)C0&p?W;acNGLsSۿi5w.]U? {?Q)fiۘP!d3ϟ3 UU֦0Zu>HY7GfԖ~nV&"c< aPՎDV%ouXQD7Q5 G# ВF~x-~j_w$~钝D4HOE0/C +hzʖV.SڻiSDۮK 1^`V"`Dâ1o=cOk46=},v&6q=bWکIyF%)x k8s\lot؅U 9Z3(*L3E'3%4<5` ҰfDS.?߬el+Θ퟊c:U UY3V잹ʸPC/E6i4nYlNg=?+Yexlec@&97RgPǥK# :i"Z#:__!&1TҤe~{>,(NOFRB[ e;?U|?0WhU-z:m>cȼ92GT:Lz~$ăYcErT\ms8=t޾Mʤ9pExrvyhY6Wt };Ukb /<%|ۭ\Fu8s<+IgӰG-DF@kzdfY=v'e;~5칒Lz0(M\j)F3Ƨ-[lߍ)eK4,ZU).z&[ >+$@DXb !n^^APktzT+FBQcNTdUOEVYlD(o&J[f¨nl"pC5 }r~_\`Op+k|ͅ#Y·7!n +իNFqTpO JYiIhbXJ`9Rkd.:ykjFpl9nG\ + $'{ܵhĤB4zUsx(B|䆪ʂV+՜ib"^K%+!-\9yGW zVa"W ul%Yz"'6MsJ|~ &adثvS?iKLDBk&Q^'0J>t [k 6Q-B5HML!M=0Ԛ=_,VswKYU*L%`f.Me!cE ϵ4z،༬|oOsi]d7 f~"fJ&) cg\ >*r*OD:fMG?O׫ ^9:yeԇ~ _Wn%PkS%3YI4ݍvUEU8tFWyH$KK,qs.pn& yA)(cmmQzJ/|<]MC=>qn~?:).5uRo +^+f6d [0UzVTNϾ癵̷<Ħ},|LJp} Ny8&=iRV$:06dU"*;+ +_we5,LSIv_.M^tW>6he2{z M箊?@qq2 4 a!ӓm&:s07ƋV]82-ftuQ}Znpz)R9Pڽ >CW:odJ miBMчq53`lخew,vH-Uu 1L2!ȊuKxZ-*w7֟oR55u,z({{s5[,zKdS8$h!-߳]բ/yn +,,S%(D֮~\ֵ:FVݷĕ$mo~[Œa-"qi9U/V==li ̩Y_.ʾpҜ4=LdJjgv"]duƎţ@yj8EnX1M Iw D|QK«MC>h'L; [kaRIEWS#hcvR7yO1^e:{rowő|;8y8}S^ewGkk1X|N3at^=wVoc3=2uD{[o\A^TـFNzj]o[pr+:5lߍ)Z{G'ۏqF+S涗u]̯|~c_/jөK7G~ribVb{8tdYhݙTExc4[z o:ce!va_ZYc J<=zd:ɶ'KyOR.X8On,[S(þ):[MQu56q]S׋V׶?.i(i|,b웘v;W#0}ƴBguHI)~fhL?* *rIVTu*9Gt_ܧIzdkrx%~Ӛzh8s݄ ~16K~ +"-LdzZB„Ɛ5Ih=%2ifװ8XMMdp:<5&2B$ +$cӗε(_BiC +]cjr0ޘȯTuS_zW5Fi vw&`7ʬL!rҖ1\t4NluiL>9䤘̍+MH_ZM&.f iI$";)ƻbV42g{Ṟ'bRpYZBNbS?AIkφ%,lOggS!H:j +$"ΪLi%`wj +W"%6aʶj:k!\[ev^1Eyw + (hCSE‡% O֪R6z(\O=iܔV[ty|=lXЌ0UU|%c:!bXk|J#JmR63?,o85U)O>S.div:yt-2JYubrn鰤NܯU> 𚞕 7Y0Quzv_}oiLUL,UJCءX +_iJk2_KGdu/mn +=Ա`WyagUeľG4ԪhV3|˴dڤ~ښJ4FQL8-2Θn I q?lXWPLɓl(`4E} )Tt3% ɃY/Rg+3{MIPv>8'XhЙ0Q@g7B8wWO?e*FDQ!qZ.~ ڮa^u&b v x-?Y>Oi=[=XZMiyN-ҭ[+~jX*W:W亰vVtJE|'*4w׏jCb 3A\G{?C)U>Xm"Xzo%}.fq7*{"V%r t0D)uxt e+ 71N xji 6ryXGD*cW,ăޯHxR֛YF AL,m,/UIl+Z&=W#P d]&#kAz&ٵIc%TRI}SU)|Y.dExt|MZΪ|TsM_L-?:e1B`_*([]u_P? nYL9"O,x|hݣhlp*$O\g2ok>i%+ۙ+/ *Qڼڿ0 Ppg7ag4vޕ$B5h\Mb^N|sD޸gV]ٚEqXyۡĊ%rRL3X (.k 3D߷"&X t˩ZWm|_ۉjItdxr1 &%TRm֭m`?,éuyuԃݤ?X #n<"Y'<&٨?OQYΝ2sk6.yYoW3GHӃ&:פl#=9#)3{4Okga;XKq&U6I>*yT$V",vHNQzhm'u()NT+f W}Õ yЀK-zb"Ħ$զUJsX,:aEoczf[7(M}S5hi+ `^,eLFMjۣM z0Z`bRԕHW dPPV$U -ֶs#*cVEiCT!͕S4`N‡yt U=8lGPH[W7w%x}[0ަrJaV ֡=b س5͓SE =r<¿t8w(c$RP2Ζv۝uYr:QFcH4R/τW +aG܋^h".=o4zuz^A:j#D9yd~>^nXog1shy}i{'lE=&MNDmuLnTG{zHYzg|T9=uflW e;crM enԋC}RvȹD֚~Msz\,zS:[CNO\[ێ剮 8.0:òWggp}No}oRߌhhd9=ԥG Uwޕ󶴅Z9*(TveexXkduvjxt_xhu C~bICgNqtz?Rnj"#+.wyl)kk߷2]ſTXˮs:  $<ZDa"碩J?$\sVhc{*vU]24\,;Ys2ڇVl-i\b\O5]P4jE|yj*KUF[Pi0P-3$+{1,#v駥^m 6<zjxAN5 Qb_g8!쑸[ϟdҨ-1.w);Q,Z&V<(3ۄ㩵ǵz>xk2o^V"[&-ݽd(5O[E4P8b[ϣt5t¼GwTѮg8XCh:q|Af=c2fz(9$nEPuQ+T`j9*4ѷ_n$եI9l&m6MQGf ^f.,zJ3liLzDC*WbWK|;E~Gz-XhsLij2x|x0[0Ɋ)q83kf6)_CN~xSŰ|z%6*TOggS"H7]֛oIS0zŃQp`4ݳ*QqL$Bt~1'x^NIyf >=~lhek9og4wpW{܉-}Jz1ok4juI.ECEtּ=clH%W=dr^n`x ϳv +2e|+"l3KTGa-zci +':qс= PuzP'?>WO~ﲯ.3/K吏qym&76^>6+ckّ,}noN6@ +tڊUNzB|4Tj]Q;Uﭱ/ =ä1tk**3Jk?u#'jyKo+q;;kz\2ONuCo4{gn^REg^(mGK~')^u)EN패Pg2){!w+ԔZs40¯agd DZesY4j +YzVXΉo~HTM_6ܐUsR=3mcy(Tpm qlh?U?Mect\ק݇_婻+sveȼ$Ǜӱ$nc6wYzp +>T--Z 2 _T~9> $ I5<(*nZTr_h!rTZYw3J|&Ca?-8DK)9KK&ajE$MCF]}{1 W^´aaNOmMj5ߔ/`4 b>x76vw6gDӞ[a^3cK~Cot5DNC+W⪨ 4@'=Cpƫ*C+ҞL*yw7Z+XM2 +C‘g=B?۔20fjS-A*?K(M6<8Ww&[zhLNZ3D!y#Fb8.:Qݝ"11waT%}! 5I293 ~alyW25:yy?Qž)$'|YBar&ysV?sڮzZ_X/i:8K-:/P54F*,r[WH]$ߒ_tOO4DBW}QV5e"yih-MBG4ak5{ N7Q[o2-o溧t:I[t1`[k-OcE.mȩ)/uL{ɗc 赌!?aJTTށ~2:51_hnH9aXs+.ޒ7bx2J|G&tjUA鋛fXVj3HҵOx59ͳwQ /Tr)籎CtK.ηw.PO S1VD~+fH+}y+ٳ|`bm-d 'c46Lq΋ruަ#uh">}XKsҿ9 +4_>d_Vu3NӐ8s $(Kl xGh5oYxf|јHLM2i}w1~߫&S}NK/Km4=V_Lbm +qTY_rә_?BNl~clτݣ=,ӟmQ y+hOjg4͘A;-QO&2C>wM_!DQM@VvҬZkEŴ[Õt +9s(mk-7zf7*ݸДm Mcr[ea~͛H5JTIzޏrtFGcvo]aLIZ6$ +x{=⫃]W^0$y_W)@ۃ\ēy O10DclwkQفٌЉZˠSgKo' w 4 +{~#G1 c2O("p"#jmZ%v^ nkTSW$2qfB%^Ӥ7,(Xv 6X6M {c( fsǩo.CAj$ e0LmaH1ph^%|ӊ yS4I%Q:hu+odUP.RjϷ)[w4Ƣ J/ÎWcs0s=a#FZC!Ag\PqI_1BqObSRsʲYԱs~_7KшWYS7O/?Qq~}yX^R>9-LUf?X'>*cR~tRq|\'li&K˭uT)|t]l>68\9h0]{5aYcDž.p'X(}Ek+L#g(ˏ)ְWfWCڰ_$=~#.+Mai%>5`;=F_ƃKyygmMYE6&zzc $N|gU3Ή2a+s[cޫĘ3ޔ:2jl,Se&Cѩ딿'k˛Ęidooyvv5[yP-kVe/>}GSu@xnD̬5vo[p׫jު&=V7$elaSvTEz۸bz;mt w|QO!i[qGu6nB}bXL[.V,ǡ[Q^ާMdz4.c*S}0̂CzʏFɈ523{O&nM9:^Ļ,fԒ!23&FE( Db۞#R=P*\69zr +zc>Z@todrww9ġL{=n7WB~ژ~]n,0E/w-Mcmvy)r +}P~!?{l4K}Dv3!F~ct)tLlQ-IL=vvwɨ -o_I vT-_!=7P뵻2ZQC4>{)lM6Y,yzh2XѴwzI-7l;^*|:{'{7mTɗ!LJza 5=tʍj<P_qVmC_!g!2e!!z/ͶU"e5*w̢?>z̨q Zx9t?4+G586JK4hc;4hR^Tݿ!ĚBw Se n=lH΋,o9`"<_bV s>jagV?ܛ@~%&8[h8()hz/ǻ +RǺkХj]6lo[wO41w5=qO +9l+b#uIOggSA"H/Ƅbݔl5ާU'>U/Wt_V;h[*"5U5Yuv?zcS6ܻ.-F­ =z]Yy}l0rX/)Yndg>ݑۅhmnWe#ʚ+~5n3|=wV?rMJڹhb.CXvϼt][d(gwgmhlȃQ?+7;}wB^ui ¤JmTjuE&ŷ+-p[rdb~0iJy^F|mO;Hl} 2Aᗯud\v7n1wCd5;'0X:CaʼGT FΌGiń_|`\s1\QZC/~PԲ\wΙ| -^ _^ M@h$!<=N2{"<;5 * t$Z߾ ì.J4ޠ=J\T^Y,u:Yrӏ~8_8%b0蚭DC GTPXdXSA23=ihaߛnVGQ"xT GFߜjE`ƠKVm"(ˊ0'lRJQ7i$~<^_e"}쌛U\Rk\rj%O8 +>dBo^ZGܔWcW˪=V)['ϲF +Bd c:ɣ@8,'-l(?kbB#Oާ3霉{#iY?Uc0LT+\[ ,R_t0O|P.͹6= Uȉ0\9.?$W?饦hUΕv’~:d-~Fѻ r +)No)L (|g l$}GP1`'?Xsaf!_ǸNۜhttdGO Jpl<-+Lٿ o3- .h,iAnUx)o{'8ӽ-Q4 'u=a`?}2F+]MUx{X}q{5|UGrg n#iRHTzko~*+@uǀ8VjεAo +@꼭_vsקՇL=K\ׯ+!# #"6u}m:%΃41䏞+5w:_UKIPIJVŅzGzk.mM +} +ikm4_w +8,fHEZsK=y2ux +T! \9pFABWHA tiPژ9\qtJ^{غSh0_lU+4<;[U`(xo#&Ube#uYNko!V7Mb;r/|iƭ=ݽZa=}O$(CHla׉?Ua7V. qj1E%.&+L0x]ZR +e ݷ5MtjEtn5·w$aл@a$j!ɩ> |j? w8תv2u2n`EzD2;B2]7E$_jb`J~2tľ0S;~@NJh.rS?6.=dgjR4F z$DxPch[y["!|E > ~Sw8l<݀}1Cᡱ d Ό㬡gbS0TI}ϻlc74w.`{H6U~[UcaSkrZh[K!L_EKi/r6􆦳x~5){!/[bSȑf +S=Ozc5FDmGC<6>҉dzgd^ +cNŲfYxघxdC0+KΧW'9muH{&}>J%v(bc(HiEяF!q^w^o1O(3ivCL*]7eQj/O G~dP 4IM-x픮672.je9<]-J8^fyN%~##qRߗ&`H&Kh+ЄuGYٴoP_8췼9͔Fw҄;'3R0>wbY#j,0ickP2<0ƪָ\u5k2A='}yVSS&&-:ȶp^#b4=&a_"j鋭p3o&$cySL7\n {U>& X&سkCl$AH5 +1ÈYE +DY}JFՖǸ&MDo^KiS0g\WaAoHqŠxOGMmDd;hҬ,k_; CAa?&Fvgst蒆RѰ9=}ڹc[w9l^~]-XԹ_o5<mM=՝%oW'ۧΣ߅˟഻m^*ptAܚ:[ S5SLf|{FصϷҫx+shb<63өی yΨpr^v/s A^-oͫCӿ=gɓ#dlYԢq\Lݩ].FBVd팎Z* PYEkGwS -B M)p>[$=Q`;o4j;ħ^"DKd& +MMn7w[m`*5Dln;օ O`-P^8vy +ζ]tYe6/j\/n0_O %Ewp[z+lU1GF_ѯ.769 8/| A4f,hQ֑f#'_}a>_䘍 Ɩփ,;gæM-~yG~rz+R[lJ +T?t&o +&=ۺNn:̩nԱ%EmO3Qu -kWQRUכQBdtX"+ӯn-j'{x?Ž,bk?U{lK ^C{gTrB@ߦY^ | 4dL=$\nJXܠ̄R~ +\9zDmRXjlY$/cq;<-'<{/4Ljcݐ~"riF X-vigrG' N|[L:$f#A~aF$E=YJJ!CܸDhz +ċ:x#"?,*QRH3OTR!xvzJiOggSh"HJ;m^ T/+asvݠ}-Vi!>䐞<7[O i`wqoeV)rPV3jU(/EhnZ&!DI*"4feJa(wFBJ-!|dEg)dMC6V1ZŴvF>WQCS!#K!Tё`>5#-TmΎ +)͚׆{Ȗ+Yu_0>vx1c H塥F]:%ͷV[rbm{d ~aRژr3|5laʜƢLъ<_-JR PBU0š]ҪgERM'DW +`ǫ&y(Bq< j pp$c&[XlqVduK?iz;9˕2CKtZw(1*7Ȁ. B Ik]=R4 P>'ьQ[;-!zGc=I.~9rb&\DS,w4XV;ˉ3]F~),OiL{,2Iz名sߊ&q}5+j eچeqT:rr}^K @z$uXmʗ[cew{?>QڳbxTW}9 fY M1a +XrZ* +ѶuIIYDnMWo[y̺b\9{o!$4J:QB +_ω.?ös I=dG^:whZJvf^{dR7_*ƂgDuLvBE٨gLn֢gY ۧEL!SL«-1tUIWo2C=JB@=7¦[6nZɡ~h*h!yŔ4y}Wmʌ2Eh~ǓkS˰_9tKCGYH9P^8=Iӫo0O7'˗fWG*#+ʦj)h P뿍glaӖ +/snщ0gF]x"' +b|k7F"宮tzmYZjVvբ>vv[Z`ˣv M-,hq aXDY{ʒ?_l>jD*ɩͣ3g+ SO)W#ϤyHx9:=` +:Z?/+!v[9ߊ'K/SL!s<֛z{q1("-k.+R'60c&gOR<rq܄gSǸAW+}ҫK1MlyVKZ"JJ*D8 {A6AcazFz]V9sKjo4-]Ȟy3K`'>r{Dzmj!sSr.9[.Eu*GoG]NNItzYuSL%/H;qZR +Sۏs9i88T@ۙЈڠ|ǏtlV\I:D4;/u"_s7" HJl2]hU:"^EԦm<ɣo*RE߸I$jfV լ8gn#36yK9೟Z˓1.fYi'YVϲ$Q$Yj(:&|[f0&%h3u~@"U!{SELV\- +$8 :WZd@\ -e@Z啙Ǵh +!X3ԅsѦ/Ýֻ5y1j[j#>)gAOewvބɢq_}"цnOFO%<&'3ˠO*CEA~毃vxԡXA[1¤&'+L}-tU|My~nvec֮bՙ^*dP N^c[zv#LtL<K ɔDz$ŷ ;D !˓:*FTqY26Bihyzb r+EQ;ݝԯ6e̩ fS-bڂ$/*c>sI +Ztiw4"]s gY1YZ*B~)),'2DCuyJrVsƒrL8v0%m"}h{W6KnwywZtvO3WJ_リ￉ SN{5-EH +TY#+o|QO6fth@,Y +[zy$5_z.yow*WJms)_/f^WJSAf/|xZwLͭ'}(j!,t[ɎD{fQ=5AԾoJ!8J/3O74ƪ7KGta75g5{tFr]&1Z-h߄ReJ_7?~J:Тe&z447;m}hNWr\HNr 7\~j{w%DשV)iƲC{2S|3)6":GsJGZK3ۺ"_>X4PmĈФZT9EWKl=x0ϝ!˩tXbv6{ss`:09l@R&)YwΞ2ڛKE&;Vzjw_uStwP;Z(-n?;ǕOÁ? 1 ƣ=z8~=|L?eU}`Tӝ6y5#ǘէ!dcxl|r[ ̴Q%*/$3?>YSڭ]~16B]ŧF׌ֻyoyT,Zڭ:A+L4x#"K&R2BF9DCffŶk3kۅEkM`r+-|Z&oeb#}Qz㵫+[Q%H:km"6u)̐uV|նHߌc? Oz?_s!$c}K%yU?ƬbF+5ne\PD?t1 +}tCsw޷>߯GXau""Rjvw 2nnJ}J,:uS,w3SܾFýUW6 *߆=ΡC-i6V^J׎%TJ$nvi mQvCRqj1u<=}.;w;ً&-h`ҍ*ulMnTG }\RZZ}5MҊ{Ia` %|\OM!e\צ8G"FnAUT^*NOggS"H25td;U-pȬ]&ͺY%ORZ?˗}>M?ыV?`aȵw+؄Khuf\"'Bajm{zJ߯h2ƭu㛯]݄CYzʵ>yJ&~b3:M ͦڻzȐtEΥ_EL mt*K/O+Sf9G9eMl'eo5](QԚyn˭ߝyNMqc߮duK{>&6_]&slڧ谝?j6=կ:{;%:;d">w|oHzTM'sQMq0av:ʴzA CbV{wB&7/sp`S{;&h0LX~6 Y] |"wnOGQ4Ii Ffϙ.6LۢGzlJuچb6,7^wfwDW#j.{./i˵Wx+LIIz3GwtX'cB:թ/2^oSױ4D*QmI*f0KSnKHuFȬ:vM%%fN=$-ѸH'qKJ*e#~l;ף{?!$'̶BNu"Zs؎(4iJ?5V}owցv"ʆ8/H:]rT<5&lSɸwv.^Ymn-,]Q1[Xi%ti/R1XUV#Ze1-"϶*\;*HϛD$&vgӟ]饛3nR&-~ѥHs%g_0{tl?xCU-Ѯd:3P)=tk̸,/i8UPr&V+k. +5Hj9x类5&͛'An\zWN*^ T]Ǵ 鐍ݳZֺW)ͣ\fXW!8 +V$7} ƣΨmājz؂uJS6±Lzb;w%h#_醵 \q]Man{H<&RƋKIk$0cFvɩuǚJ ֒r>^Tk9^}:t*{g pψa?,bwOSGf=q}C~7W-Kl~63OHqBK3Kci'ꢼ_Ү-HA\+9d.#݋_T(Ҧ A57&с̞MhR!W2+W=Eo{qHS)|f&̊ezbKaP~ "X_UHR)\2PPZsԿ>ˇz_UI;6*Ȭ=Eٍ(RJ b^K®˖'SH\xJ[ʭ MVjOArE##ßUy4PHg4VtУW8K&8YYŒQ}M¼ِb.Ȏ p }]v%FYʄ> #. / &C7I1+f*a92*%i>昧 \$4Ҕ6kIγRWM끖ua+(9~q`Ws9Yld8~+fO&X[v}hvtWMj:lOwa`~VW6:?oZ{+y#}λ4r>kTغct(:YTRR<Ə%DΈDpi2*4׉|_HuFfɳǦP~C_SROr&I6/CvA+ZzWpw9%Miȑ&'oahE/vot4${e oEsPkF(z*dY`kt+#Pc⎊:=z IvzS;>5Ĥku|BsJm?v)Eg ,GF]Z؈Ẫsi^cxė´έ{ Dݎhv/ty2"khT~zbL]O'Zjl_A:M|n39>lf7Uʼչ:y}Y#3Qy԰V.Z+֯5z +߾ιyǚc#DQqy%LRjqF[|aou(_#Qإ(+\ { mH&i9ߴlޓAK%?TZӃԆ? NUY$78hDӋ|xUV[y_ + +Ϲ$ u1Cj\|ŕn㗏@i6;*Ң|JÇ[2'כ +o^t4nѷm1Cehx<*;X1_z$|R7LeW:/C?aL[fZ*,B97܍Rn*kO^ÞEz.>hf/Ü_WӵUhdQ4nٓI +q.7sm(N5ze@K%ު^Lu;Il>oۖk R5 G/y`Nޗ nr3NSfn?d!^ +DRA)z,~;6ZVڴ$_nt?ZLmWBHCGq4܇u$J咥WWUw$ Yp_PK6<joy<{EK3HQyby'fσߖetoSBbPmͲǭ eO}/yf5{58OH#OggS"Hf_оKdo;bC1=K΂4OIȷ &,UgwšĨzVO +js[FlM3e͞{Snvsmi5EPdԉk/CF~g|:TKM{m a_Fڸtҭ]~* +>;, @ݵaaz-cZʻ(rR^ +q17͊Pr[ܭ|`Jf*T? +vnց:RSXJE5e0:a [OG0(0x\,swf;2i٦2O:m'8l8w1=Z(y)7٥t Еm^[ĚpѮ z>=ίo *F ߑ[OQ %5R#MӜiuq) x-HhcRCft L1}ٮZ*G?b]qw|ql6WGc·lr9V)YHu~m-G܄f#cϪq੪h$+n8Z:ފ ]gRkwOũX\wA`yi cU/$F'ڟ̸ܟW}?讱\>O9 dLz/#& C.LZ$w:rڿwC? \nn5m#num53tĔ/gϔkn_n-l`CmAqkmx9'q~z < g#HjU`ūc9B;鿚P68)VT+E++7Oo luc˼jFgjtmPw83e|b4s)xW|-ڶ#h=AXy9hViVeF/J*lZ(%_BܷMuֹ3eQD[CH95[.5R%264w],eϷwJ ^)8 עBI"k+nKgm\_ev"wNB]bn*:o[gVU%n2,9@F7 1/ƟٜWqZܴ}9_uܴM7K2|ԩkM:LqD==S:vYJƒj4ód*ntn2\׎n "J]E[9BWU)s rl+kٻQ*>O +G;[\9"X)X2Fdbg'z*~Lw~]Z_-]$֒5Wٮn"JD_o'v$\ƥquyLņLIlV<.zeHzB+gQ_mw7 65SwViZ=s/]W׺.;Ūs>AWte Y!u?p&1kVb ErKxWy3E3U;Kٙt۱fF3Hi\(cXǜ,ht+iXRqL71͛'ї4_=*&Rv. 39.MҗG3E[N[Pz-_:tJ@^/׺7?UmM H<|J5@pG,Q315߷Mu}ᷯQ~& '`<[K 5%l*LعSthTvY@z,&5~_Os}2b#M!\+}X nSS[e?u7kO;j>4&㨛U8-0i\KKbpT\?5=n۴. y19^@.]7 \T{{U +c|ՌU]j­ 7lPꄐ_ΤA8<Y򻖐rh䞧/A.p`VRەYh×l&qLZU.RJtm+5w367H&7~(=qfUGy}bkAV]_ +7U5~zP!cttwOoT s 5kxM +H<'1N&q'OtJO]b|4*jp ڻyaٓ@?uNJ3Kr(ldAH/K}uJ>D4I?E55sws-x@myq"S7co8tGߌs\@)}=k^@js|8%ʫۉ^ ΅Gֈz$]= +&lȤg"+:ϬlWQ%.MIZZLAnPƄNК0qtn=Km +|H&Ԛ?A컝{ iCUyC)oŏ8墶!ՕbqoVHiTTMxNUo-fC")32HIIdL~~6X.D%d:O]-5]g&/O-5ynGNZωZsvrȌ؍* K' T+Z `*uY(ે^UJkgCt9 Tit n9FHtkKw5:`\ ~=֋6f*OߎvW%s"ܭ7;29􆥷T HZ֐u3nLӒ{>t3v_LS-OaN5kW +$HE>GgR~ҕb*N٪U2BKvs::85rF< 4T?ڽ]lFAtqe(?܈'3v%>|x>nh&ն瘙!ӭ~e6{$CTYӉMzS̟RK$8 ž|NtI]M=[)% cy}%ʾVr|<3 91DV1tu7bqJ2-Vnk|67}X:m^%I&iGtw7&+_sz$ٓJ2inӼHrDg=e#u/J«KOggS"HS~kdЀ'GI 1tw+C'Bܣɗbÿ!-oYx+8/$6Td(ܗMMFĄm_:I3%5^*Mhjbs*>Rb0XchPu?},O5hG{#_C?.i'+3`}9_ES^#5^K Eg9,&"Gxz|]hRQ0+܎4H_O`_xE]f1k 7|4Ugpۊ!;flSB. FO?x޶vV}k۔(_cJmIKNҵI.h-mFylj w5m|;+aUs Q|࿟1V]/1Q[t>՟k6SAhwb=VBɺ#'̀ʎו-zl·z#cnjJGj`FT" #.H=Mw̛8uŌߗA6SOzP$/4sb:7?c*#̓خ#yں}ϔilo;ۛk4J+{wr~dVtmYPzՒ~f[3MZw )O95vajOrUH~Vu6fyɴYgI)TL\A!L9-S h*zq3%q Ex[;eX UzN2JoK!kDۢ5V[zLnSP[zе!mgڼf4kVI+x_<(^ϡy>͈Rhj:\Lt+gweLsݹ2Alpڬl8FEܸyZUuȣܞN4G-\r>Ud>Ȗ;1^e Q.i!K֋dzUV/Y,"X:Mch7{l_=ϊ`y")#(;Fjd4>ŧC!a#0݅cz ŏ4zz1,>FG(8:.i|yPUt +K\lhUE{b;:=e$f[VeHڒoWm.:rs7|FKÿTQ9W6V6Ζhez{r ~: At}*  C>4KKJSn?ܐ,:W|+2S?o%fz&1P'Ae9\˟gB},28ӳWP/Ըw m~ڐȃ,TQ1JO,%o&4mk"&qYݑV[ne#=޳BFԾL^'\t}kWK.9:W7_rU|ѼVZ*Jof]y3$~MSOQЭH\d>5[$R_6Mh0馳V""M6gzq +ZMп܅ۣ6ay3W6zĚOf>d|b?ek{!^~ۤ رq/fUDR} +ni[cV[/jkm+33mD4  +*;PP  m")Mz%eE+70j2˷O}%e/z Oti9Qb)} 1Dk7'U| 5|JAX%I}: sWHO˽Ä[ Sb&ZS*DފPz^1R:mӦ2kS`tϣe٢֫?s6*y:/& +!uتxbǾۆ1u,#<&a5oV! T%4wj:¦x6˘z˧LhqCTc= ^Ԕ t6|`uRpJfeSytJ["t6*AbϮ=N[>GCr-I,KhDF(rYZ;Nojϱ qs44|O\Q~lR~S0H}>֮s״-$x摭f%b؆6vut;dM).M^RA.9Yh% H}Zƣk( %w}NԱ8[zN)8iuKKZ1WKc36Usd͞.@=uLv.CZi|5 bm%Ļ<_j g!u.Të,nٜQdI(ܕ"0Ǯ/zd"u]> [AhJ{^Vyûz: +gU+Y%&>x= +s*ԊDt9kdrdE6_I'b*R]~=kUL${ByS:OW)M9;[*&VsKK'2WpR=o= a9d*Zߔ@P0%?H Q^bi.5Ȩ]yV6CI%KE\W%X, +a1QlYPʋDP+[d纍2eTL7tɿt}1<'CVGpT<PNīQFѢ2^!FOMhܣ-f t8XgŻr\~58c :eH}G0od֨5 M1"߉~:CUO[1amr]÷_DwEnVthϓ]1E0] aP1nykoxO^K'8-@jUS)]R3JG_k69"q*w+_\6ܪ $8JsM0zSmH\=s* K桷<BDD5 ![pcDM{eبHҵjfnpoOZ>{ܲ>+uG q_1y/sb=~.is:uf/\fChWw:DK^-vE6}~^3/-VLC.  Esn4VЦ]/jH̜ǩm86:tG2i7sw<:))$J䥵>U;OggS#HZ+0o[DR@xF? ~WNx?UQW?HX" +1i4(mwH)RD$2\:vnlhԈaڠCɅRC:B&3z*Hg-I.(Z|r'aZ]P`*ߣk(Bcݘm2Z;I\eU=]ɸ.jlo]!zd"Nh @ҽ ލ;7nkVTq܋qh1gc.g#]㤎p4Evaw ܬsbۿV4dp=ta_!HyW6Wm=!eLflg6tCgRW:Dz/Śh}ףGz"^u/ OQ&tdoo^/7F' +hDۄ%GS+#{a;}?bX:UB#]fOYHvv]mnBHUs=Hf)c\#>kCvP{} eb!x5}Q6| PPZSM#qS]ƳTvs~Z4H݊Y'tDtuoJ/E_upxgo陌%jC5FNܟFy<klyFfĞ#9l#Zy}NMb5ޞLr+1MV#%T?}ʧ|Lb|iݍqfIuu+yi^gݼ9$ H1ݼv9O/$<5ЃtX2x0]ZZܯ-3:fx{}Q®E<v +ӤbN6nn6ȏ;y54 ?[SRӼHt.#NC#@\D}CI&5st5Hnieq=coQj{qsV^IR@%i c ڳC)E^;xN۔UY*ecBtxͲ2~'*7\"i=ЗU7?Z1Q5y}ڴCbę2MCd{e}ŐR>|_/>Y;wl ͦQAppTg{wl;ZQWЎwW~B69ZCDC!ЪRnzȞ'{ZP4Lsr6;>D@8.w^&䇢EMT/Θ~^TKY$ˆL9 2_-;M{SD~Vꝍg-z!"F2>| +E nN0$1F saIv/+؈U)~᝻E +8"7lZRH#gXr\?? "Oe\ ۉ.]LwXˊ+nbxkW1]bE͉/LE>X[DZ%5ġ#0X𣏕ORL۸mThi:F{{5S'q). ZcV7,$ +a +9E‡01# [;RL  qWu5Q(4%5\бԘ {e]L3(8fLϣ2aeoE:m-{V%X'ɖ|/sE)#NaىȁR'I`s1qn,mj*EI_dAJUn3׌|v lV90bۭw IxL~;EYV暼D0*2M'sUj;{Q$TArkl/9>Y9=rw^*v/V>DGoj3`&›ۣҏh~2̼lR#l#Ae(9Q{dC>2|K2rLF-27ܥԛz{=[:mVE/1ϛ52SZ]U/?S<22ssik9앇o2/6G;Փ_'٬~yM\+—R8亇q TIin96YK q0%y|Zsoz^$Gͤ>۟kZ4)㷅Ɓ5kQr{`ǢgMi횞zIk]e:NWvɹѻu<'wՉvT?L=2?:&oyZ $R9x䊚 H%xx hiݗk];ۖvua{ +"JAxvF[?;'e۱f'^.G݊3zO^:ΙQd;O3 @3qNpc;G:zluJC.:ѐtlb"Y6o잴ƭ[ґ/לsJSuӚ4sޔHiH) }f +tjcը3WMď}0fG:F{1MEޙdv)@9r<<Ͽ_2f=Xoɂ0 sҚg_ykpatdxq8WaI:}dT+ A.U^$aps=l]흨ݦ~xJn>uAkI"H<013 - zǍS몭)n*e,醏5)Lk I!mF +~fkĊ2_ޞCC2͢t '_ע,{f4ʴ̝piU==KkԚo~jiHI v;ciиݕ磉~n~7*QY!|>I$"<>}U@ݓA@2)]YUܻuSEsS/ؕkC׌pDQB0&o4Wi"_u/ERT{-L ixs}Kڏܚz~hP҂#z,3"b[!,=FͦBElq&%4S|;3qFi4\uj~~(Z),wټS+I>*\ KPeD.¹.&90S׀@.*4U.RWT,&:ōJV$5QŘEmoIL{*C~젦Mp[m^Z\ ʶΉyy3x#3ΕID!Bs^aKWk>V]h=])tfYIz巐~5QTepjo[9M"ܫGGGUb(ٯt7d3f\Ǝʒ+2ܵL4nDM_F ѻ@zOyZ6J˾ B[#η@zuͥ09qp2om} +LB8Ѣ|7TJnE݆  +{ٱ>HyH%]ud\?݇i6qT~jb8 UJWnMq]v[q8}1l +> )rzQh2oEKS̓CI*Hl%lO &ۖ>ObdH-TMPa +!X VǐZ +=~wZfҌ"ʵ] {Rw OggS,#HVFԾz ' kWvRsL4Kʅ@k)'G^?ڧr.%yK…nnf+m=B5-iG2Uj)gO^RŪijd( vW =w}Jθ\SD+nf[5vȮ$R4w"Ke}Ϥ{U0Ju8~ZDE*Ŧ&2Wy~~t]e9}3Z L,Y<-9ܨ&HN"tWF»]Jף,U;H{8E&`+ +k}Dl4:Eł_ Y 5>DK۰ub'T|2^ǸYF}cG Պ|gWEU/uyܟZ~4˞[-> !=}w5»q@[_e#O0V?}8psߗD1NJTr#Z'7Ŋ?qQhKQt Q}4'Šs_$*C>˩mqZ.F/UsI}DVöU_*Rgf: +!](dлAL萳SNކfԭJxVvGla~twDo;Ł5uj:smY:UHVB0c)x`C9M^tD^LCRt\J<FxS[t]V!}쒠 SsZWҴt5 FN^DP?mسUR.g]vgj$$q':rlַp(8&脦: t `e$-;EZZ`c)VΝҜg!!qYI_u偓ԑ$bڶöÄ91(u UgjK/Y^ג="![+˔akϻiKP1aTMOU6$^]#: 瑐\co73qfsOug?@)'\{WGuUh5Ml#U-jQM©Ip%b߻ esTƵ.fȋKHziz, +j\?"̮B8#o SG[NbDM\_" CWJܡ$u4͆ɢOj9H,4()? 5ЯL2̗v +d 7Z~ǪIEi+&@UU1]W_%FJjx+HF(i+|rLR;$8o=,]EW=2y1#]mslUgc'͡>5leӭ]o°=GкƄTIBҞS]X\jv/͔DiE{tqX,Q$a9vfH*Lz MnT9y'unE^ϳ۝$#ˍSR4](&S[gSM_I]+ l׍%ϚPqB/Dp +ōWj}Q}܌iޫBkrbaE'S& +>Jv}~_4zΑjOG`+^L=*ğs2}~U=!,nliZ*޽t\2tA ߓXͬ)n>jW-ΩAF#?^0+fVxĤWdE.QaK m,[+Kt^jZ_vm7CxCnW + TK{_ (#j$o)wӣ#ɱ +64hj(1uS:Vt*J^su#T@<}YlKTc]5_4 w{MQ&J}NNsT_ +d9niv>\nJl}p-4HHUA+Oln$q5fk=JWz~Y8P +R3ɣbлa*344T` J{)h=R}NW! +i23Xc@ r/J4|!",;Pcŝ +${Uj6 4x)R46(b!N'dv^F!D⑯Ŗ! +Xj!(4fK&zPZK۝aTfZ}$'*=|S­h˗% +I$D9>)+nͬXjcTi}&hz86fckj`]Xn34.СY*H[6`5R1cʽ49rn/UQ`J ƺ1c#"yAmUH &:|Yr(۴Jqẽ9ѱ4ۥ>#w/zt5Pr ;DHm88u.SWuhKkD^l*H]ĜķfM&WGoA+S YHgMZn[o݃m-K0?QNy5Z$}g_hmY={uBAbsJH Nݸ^΍dt'Qתo/Q +zD[M{R +zvG")y SnLnI$sFI fHIum2Qwن9=Y +3\̑D,Wrk9#kώmI~$*uneg| +颐wc<zJaIrqSEyq4iOggSR#HEzbytO{!um<]\5>eŌ:-f{Mm&y4KէO8g all,Jr_j}m=*y(2% {fDVٳCwBڣa|uOσ}#)׫>=q͐e/:UWXaع~w]7_\A.9Y>Z@A;E ,)0+j TWL|up^1;T~Vyx[ݐjf_*AD?v dD*ze4;DSZyc8ۤĬUVk&+~TKN]\ws!v}g(iy<.4|!שǨIʜVmԅ6)<#;ҶʟO%~y(2D[sfb@N T` `vb@Li\jJZuj77q + "sQ&d3yIGĜc{hၐ:}տ-󓮫=ԻWk]48r% ؼ\GÄ̋otGutO4f݂ +0iɬuP þZs+iWd1kr+A㌳39 +0&xTc\F`< 0YD3vp +~<&>d's^XS2rP:AFaxg6\(/ɡӠ4#;9#$[?DNBVldzV(9F1C nh^y)9Khi<+e =y|j(F\-0ݐxz/QbߓDMڹKT R +~y$+RG4V? +<`LMsc 2fe1j8=bP$VmsZ86w?n A R go#iC6"s,i{lYp%.݈q!E6R9,D vS~ć;JM ɞ7EF^Qk]Z/e7o|CHabeMC$u/nQI0pWJqL +3?6JV0*k(ڄcx0UH-cZݗ2*M0>|#1<M%OcI00|W^_sҩYKVi)m8EdE%16 pKh7nu89XwAG3,l8ulO)cO\Ro>qR !>]Lƅp8Y"W$),÷V8  at@̤Ot xHEjvLZ1@U]p $]e!D?X!$fa["1᠒*A"&ъNƭn5V7&B۩K&hlYd)eJnsBc'kxC +,{9dC[eַ6wf ~`w]!%}9t+yT[]E/[kC &=~৸v+O%OBӟ!11+|4ol7N{<$~in''Kj5--_?$!ypKTL Sz;h6tIf¦HV^' M=3b>y|6Jy:GuQ[VW,2kSv48IUٱ-m{%k?ߔ`UD*\Dxw|*' D#_/WqI77ݿ--WֲGwyB4{d.SQ1VsJ=VV%1-K.OX{cI!c=nK>yr~\/ԉ4su kUmI}kkqk/Ey9q]m~7vHx;+_fŽHdi%QM[)"Kyq"eT1`\lOu~FQGE5g7xd)^uۧq+,>?}]BAÇǖ l|y5aTbvCF "ݪqvlggznb~Y_36Y̴K* ')odBN QIv,X 9ծPRK@d9EuۖusjDZa}mY|j;[p4YrhsT˟"ؑDW{ccbUh&u5ʶ"3_2TJ e7ٯ9}<(Mv2m.@WxAj!Es$OiH8P R9.N ~oQPL(ftP5@)F6C]7.V\ɼL!;MlhřΗC +3%R㳆a̸uc ;R( rF=wXJ:ɛd]3T1uhT`=lC{2%gB4:!2ϗ):⧛2$gT}2_HnՔ5֮T΀~ZEE} +aePCKU@_k}yz_HQh[54+'bY Fa72vވvVJ{ВI!1b#7'ڲC?+̡WfՃgH 7QrjaZz_T!ޮdڭ;'ony`P}t9Z~[DTP q^m;Hg;23&}G$-7Zf "I/01Gh}t]BZ|dTKhz2i[ID"AwLI%Wi=1ڑ6WҘ$2y+H u{G b[8<>v6?ϒG\j*"cL_{{7$e +^;$ |..<신 ýZL5 k0jP]45ͩ[P 9e._Ν]Cu icG-#;6Q\F~Z9w-+7]o+u3H%WpH\4j&Ř%Fsc6]^JU$peKY_-H+7{1bRj 5I'ں]1u*Ɯ;U}KAH`HKTLPg,Us`9Vu!SצsϽPu~S2_H2+sjM` +PǬ͉X'/;DHϫz4AJL~0k*4B\*nVg6sEmI +Ykۋ2h +V~юųGW߅ℷ mLKg/r>:4#[{SBNT fE!%Ck3O<K=<4˔i54ݬ)R֪ͻSEb7R}xgcM[o{%):"+f|Dn\~E tEkBkDoEmǭ8XQ.ommUA*~[ǔmɕ +FKRqcs,eZ-JDv pJsY$\PQ-drr@WCR^d^ )${b$NQsؚVO:.xjf{y Jd 7?ㆥ^F`|& +M ^0~is+<4s*?itΖЈ~Bӕ1 o8>ȒIF9JNQ>% boJ!km~cLSa$2=;j~DA`j;DD¹KCE:bE|ˈ-s%lNz Uc4gQ9P[9i()eV0*,eCFt 1dM_ ʊ6]smޗBvűw4fa-TI?~D0SbYYD4xPI D ˚yt }˽ol؞2؍٪.j^!-lS0o\i4\2ڴMlPB;Hlͺ1 E?Y|6gd(6\@9(Q(?>ۉ(x+oS< L%7Ai{ ykίQY\KZo 1nr_y AKPgmU|t:%F@C~!K]Z݂)M?+HFov]r:tnţR)QŬ-$%~ւ"oqLl{™{(²2'J|89ڧGhFfrn֓Z!$Z}݇7W۴ +&ll# `"fh@?2S;%oݾX5wClbJ12{y'$!Zdo1^U2U4S_uÒ{!EB??}{vD`ڲR2x[!#z8ݑj#/tKf@T*$dDyV wMq߼Y(ھ\A5]ocB^Xfn^_0osƦDnЋi쩴,M/zk>!iZ5KڇmQ;r͢yT3FRr^n0:"`{:nkf̵ZeȆXr{{\?;U3'zlT,/>$ +i +p-m2O!`{,MҦ( ^rejhbH*#'_C#/E1,D}ȎTa{>ZC~]GDdX6-zvҘnBT$4$&?ĎYmcG"%<j'{8թX%s{}1HaeV%habSM}:Iυ)wYden3O|aЊr]"hZ>𝳡I$(9QͺY&J2߿)vFh.dȌ%*ldnYKҵ2. }\uYHa_uv*ud!> _\ˀ`; + +}4o0hSBh`(WHZG^˳dw,t%x7c7 +#BQlm IV !Q%L7Ō|TYb;qfEH +!mGx(Fy)B4Vȱ!ĺl퀍IF>4_Q jeM" e$_ʦvB+BOԂY +~Dpv+G^:ARn4]+26Ưv׶2lсٲHmWBPyi5C>EHJ*;)]aVj{|$?MFr;Zh4T!X&3Tˬ<(ktPh轢?0;!p!=; qF-?Z@_Ɵ?5Kd\$ܳCنg\s=3jFTzUW̧릵"Ho!S)KUUVC(@94vKY3Zų*RP0 J7]Bh߉}N62W7q- ) ֫Vq*S\8詃Uo4F$-VS׸_eӞ"?u䧟X.>廽cC}_r!`D:4HlVϢ󳨕:'`#Oe6SApDA[h:\FiDF<:cЌcCDLSFo׫Uם Ԑi7ĉSwtb}dD\XײǮ)[k*oWON2}FS+HL^ΪCRhf /QҒUKJU¿hMNtfݪ AhiEΤOI *<Ku:~})$Crҍjvf aYd$!>j{HL=?=$3Us|6q.+Fd>Z4P/K.}`z K|7U76h=`QB޷G'WTuٿ2^JڄctoΜ eY}B<&.),kAG&R.ųZsf*&ץ,ҹ1)k+CJC˧Vĝc8.RNya^JHK] +HwoUW+A?z_[sl GI R@:O`;$)4րw vV4!bvYFNfd"EuBgô_ON{T>=P as*UW׃b^73-\> n/RTbTmL/G^J%M Շ`[=}q9^T5tF]ሪtee|zm:13~%+Y^ acUϦm R;%r*;[`rSD9Kje ~!/^45@hToe>byK7wS?HnwL97nz<^#~vS}=܈#6u~j:i +BF``x5q% aBM^^-5lTWϫl ϭ?^ ;-rN2 JoŒ: 4Q:)![B`BI,h` p29l~|:q1aX7P*/!HMūwnZ@?qU~-+}9;CE"-@L\ +O]lA!;# Lɥgcq{Bl-[!ǽ% qW$tlB?Z!}w4Rb +^~#E2_odU=kv1Nzl6ꋷ"^Y_'|} T{w4y.<Uy>^7J%[Hek/rF"1;f(LLvj,מ}D!Bf#D ϛg|xѐ)5KP= 5QD8FVI~`|m/Y=yMI[o0,-`doSPß\]Nswsk?8Fn:?oM8 +$+ +U|FyBlܵ!»]^1h2}T0iItW𭧱idgǝϬbǸ\~-RHwȀcB D`Uɖj)iNF林E׋ Dbw%L! +j%:1Hd.ѝaZ,&}ۥ3{ܛ$,p8#2#d}\Xタ-kͮLGfâ {  ;8$ᑲO'R;uBP"6U4V{Q"DW['D{s$aB +}__Zq +~˭Ǡ]$9@R&BZ`2%0RKdɮ =l硍-EJk +Ư[# 0jܩhxiO޷V4$4?EinrAsgAN$(tg!dbRyĪ_Lϣ҂YeyI t;ӥb|7V7ZjkK]BZM^WR +8\AٱF+]PI<֬ e51nb2,R1ݧOEO[i"鴸OTrbhѿ5)ұ WHWe[<%zeUSR>_t6G=fY(^{]錗י%\I;'sǃsruNWSu+T˱Yxs;| | s_%xaGm",7omZ㸨crPݟ\ܪŽs2۱0|9*loV+ۍLӬ֝><=Gɿu3phCɴ:'g +QS-rm EQ=ky^YO =4S3Է,JB~7ՋZ'd0Tvgz^iZ/Mk޸4cy:KqǤ|C 0FZ`Ҥ YY-ӪLtnnJЇMێ6~ 9vc>Ddуj`<#bqrᶌ H@do<;j i!.}OK+~GEB}랋a)ɘ)ʟ[Γr/ڴ3ѝi'-^GDHҷ.5Dfn']~N,f}sP/yƲg +|!i*JJ>E )D:XBa⨟wNNfcc6dU+FJ;FD" R{8ҙb~,QRZ١/1 )Up-f|素J)- FKT&T+%)bo_""TaE2iOx4"ed0v9uIVKͿoNFJJ'mW*[ў +IX"8 ܘ}:&s]@!u5 8+WZ9J B + +!/ALK袔R vQ>Iq +)؈"͜dV52[*V翾zT?zٍ=KN&CL44K:#Õ[ɛ !jc0S됃z3Vk䨷|;}-JaI$"8ƣ9`yk$ؙ2T펅Da]JFR)ᐘc'tr2 ze_^EdM">1QZ*hlNU%Lf*9nYP Q@7"4M.KEmE[7/(rg/ASWgI7%sRqR,Bp$ ŚowsF:P:3V\l֚n[%g*woN?TCjSЈ^GSs&R]SL}굞a1Ľ̞qݓ\qF?F l_lK4}O_FȖLSA =Z"52slǑ)nJ3b|;[ZhO?W_Gf,Q;蝯[k,܊.++p]Lc6kr[ }+I1H{Δ4Պ#+[ ["|bhSOlL&v?0u +xZ ǃoK=axfZ'm/|bpMz7dbh U|;VgI҇^y\m=ۅpĢw+jk'\{*>t>  GҽvBwKnJZٸY|f$dڞ֧ndvt\ sB\J`cuX p=Mq*M_V߿Y{ilIm*^k.-_PR6oy8xZl-a[waGk<=*j8*?tVKó^BOggS#Hhq㡞J4`]xo~s/xYUy2g"K,]dֿI t_.Gۅ,K +RL(ae\7j~.x&gfY5 R:%ť +k#E˒suW)Vz7+mOw+Di;JAxxbm~of]rkDW;ϩ+D$]H7pS/On˯QH7]SVY(gڦ/ۨ:08Ok&v=oc'p+ޕR1)MGv*%GDGܞA!cc9}'!6lI-u.u2TC,Sr!)%֣V±9k +y7n6^N)%>+`֯r-\rtu$Kmi@n@kzL-cԥ?8x/J]B4VҬN}2+: 0o).ͅI9fvG<qm !_W՚"YiD4Q-$9lXT$lZ\_6mLN&360qw~[{*:#59xbx#}X2>) 8c&tQRcmwY2X҇`fe `{c.XA]&:9M vdR$_&ͪz,҈(ɦC%d_4+4|aN>dd.5B߷ !r)&bEEpcԈh4Kh9eu1?7{t)xN]^RPG2'ia|fW5:RAj{RE%%WRcn9=Q;R,1|u"Z/% +XbSVSj_cQb +#>/gS;kpCW`L lЁߥ!a-Qul3UIoEBYg$^|8׳|R3Xg$K\庪mǞRCۨҎӯ-ki:qnAQ.eD4L܀ou#fe#XI2~ZUa4&YU9N.YoB$*|1]|B['THN>A"յ_*G6goa]#4h4` \?9B^ +%#6A>_]'Ysav즓07H(dxPQN*`s= + - +n=girΣ +sR4Q p/Ը$UJ9XlCTc8#ZwFԈsnnN6{W+~i,]eݺ6#x#.])eoO /l;MoO-?]˟şw_}Ds>Zڔ")9#Y?Ko/>80DIN_l?F^nFyg6KcIBˍwNNѧMdf g0ˌ4jmq2X%[M[\EFrrY̻溫n.qUBf՗}t owr-->xyYG;<#މ"H<{ȭ_ψ2So)nOSj¡ O-? YJ{Oƣտ%FX7秩Eg.A`r_:UUeYjg(E><ј+sUk6B$'I"xyÿymĘĺ=[)3bk񃜢mpeČy0a$?oW?ϟE~Xw^sԗHAVA\]OJU>jgt(V>*s)ͺL&ka$`Z˱ܬPZw' h;lgv|5 eB]"^ea=?[G"vjYi$KICϔ0.KF#MuC=}#Mf_A6j~Sb[~ģs=8Xz4g#.ޥɾcA66ߟV=)4O/VK0#,][E})⫯9 ~ 消(&|2}W|JhBsWZ8~ksc"FNJR}H53s"ل>vﷀ7%koL-ΡpFT8b=/s qq*WigR +Ea<8t}qEΨ(_D{)˰޼'~w`U +o/; "YC `{U;|TĬP뎩Rmӿe؝q$iN[ +%n0#|MǿP%v~S+ɜRWѫ;z̅ڸk$ uߣa奕ᦇ7KYtG`mz6= ]{HF](尮~P?k2p|Ad|eO]d/Qػ[Y[ާ [ğ3_*& jBrl;uX.N^QZ޹%hRigggO_Wd]n~GXI~k7^oEFJ"ʹz :K5LYu.)Ü*ݺs\_ٿv ';xoU7C'n곊Ώj"[:y;.L{ˋΊ3ݴR/QY{(pXzK{^+4Hmr\ ]E*.cLẴS9 QuO)ly_zbrKVQzm&yz^z2-cdcY-#S]c81iD} ̹5ÔwlVa]ӼL1Vo9F\#U{r7#G}x:0_qK٭s'b׉t^jK*hϥ8[H:3 Ii_E(A 3q_-(H׌W=wlw:Q {5`3%qⷽ"ՒfIVoe0 +SE(C[ !V+fTHhDl_[Vf㰺HejvflqY"an)>eb5KmS~ҧ{tV@<<*;ZBXRHeEI3on*C,&+nIiH$AHs_]'|Qt]!n169OjWØ[J.ي<=64م~XSեT_^͏h+?x޶9py0yj )x&5r&nP@UeX._u\׎!>f`<}4s.uPMv:|۟;R]wF0юd%;Űؾw>0|Pd/(qD+WJfLL;G-kY1/(׻􌟥,%6{Ķ뽄H#ZTu:~%ꩍM07PL{H=L6I `mmTad4F b'2#)SI1npk8iv +CkIT&"Gg9]1=}DIU$L-Y63 ++r4b[;*9 $+:\ugZ;&(,jh0 bO6VK^v +O}ڎ;-L<{Z @LۇFJ83ESND;y" HXodAUT;vMz2>ʂZ@j +W,# 7: s LLc2z"շ=z0 Qycڊh$LpFfSGQPMϻk_lID$(75{r(رfW@P3 AdWn3lÍfb%e +[(#rna}A! ݉ +U\ c&P'NQ;c`ndnWxD:0keP Ϊsqht_!ol}## %Ѻa۶+x?"ƮiSLCl'݇a )ʘ@N~, +NT=\ofJM1 @~F%4F!"L>>Ioi {H2zO݌~d j;/R2 } tC٤ZhEPZOd뎞|v?jۮ8vdEVpxKwlcp᝺ozΎE&C^tw-y- N|H_e]7swvaj+35;qr.cſ$t9dC+h:+tTVKUvvdMjfYWj];l ]ˎ뺍ί?$BѸ2K5xnLj׍]{MINmԟ+Njp^噼Ϭ.mY]59*;H^;4|쥉$maD(AjaN*":<$11Aiמ4=v<i܌썼)km_|wCwqmUxfמ1!~#'Eڢk$$\ϲoJ*i{[020ʧ792Kq'ڧM}fEUfcEjygT ZfuL>z9v~q&^j4H<[^*N1UyfU'ѩ58k6wV잕Vzӎ/cCH*>X6q0` ;SP^h|T ubE>bx]d OHEG +S6k9$d*1:M{<CXz)gCZ}(qV xq}=9n +ZW!G)R,9gǃUsL{8s\'>2 h +GEi(Tj)62 &f ~%4ez`:ܐ1zlqG|X2g$x ׷qaꙒ'V7Qm7!M4SX`r-6KD`u CFb;ܽ2O&QTlL"}a'(h>{M3^^_y4"N{a} %41^[HT+%y32ՔQ$ƄCZV,畾_!=~g{+cwi~ yȾtzJWM0}Zy53?,cj5d{+ӤɄNtt*-&l/L.b$_ ~ټBdvfٳF`~\6 +AM(a|(Rcxr]BC v*{.d-+e_3TxNπ uգ[4+yalM̕ٷ[9*uOnXb7ܗlb{4ltj_20I-/nTHٰƂnctPmf9%| B)|@̵cM"#3>DȜ c5-PSHM*+Aa|+ֱ[gW+Dy!fCl4[)ᶎeӧ^.)Rn0R72tT +axa47c~fPUtp8l3%ՑV$ߏTb +b\Kq/vrڄ/ΙSNgXܓ*D\ [Ea7 CL5@qt㖎 IDQ'qsUgK>=[Lb4f1Vb Sw4,}_c|"Y6<{_hUflT(ڰգoT5]Py +W +g3*|S+Zs*S2Bӟ<*kOl#Onh%Aop-Hұbmc!o?6ñ/$}^ڗjnEɜW'ᱢϚR#-#.J$ Ibeb^HzP*un + U|#yMD>+c%̉Xra4~ '2oxfheۈ,#lFVF]=:/q#FMᑮk wV>VGO{d=@P1'?RM~: +JNޥ@e +u^$mITūLJmVy6_#BSdm! R|@RjqN#uPGuhL]k$OGDZ-Dn>-;Jlŵ$cD"#bt{kWS_bl̶Loe6tGZ':<07)$p+)oD)nNƗ4k)L/D1QLcޘH_JbërE(?VF>9ƲI!l~AhAےBƾGѓ6ln`]Ẍ́/E6򊬍4T!DTv?]n;{4ʙx:FYۧ8Wb:)= "-Swb\t̚jzj-@vTq8z~%E]K]f[5.zc~\/}9{Mv̅Y)lGr?]Lwǜ~W?뽎GbLsʝ?:pm{oܱ^hMu.\C77ϗE];zOc`0 +vat(B[To)Xýh<=~?SbF1^5^!vә~V“'S {\<=OX͚537^. =ש[ ^-~U66{m߬Cnn%_Thh|mxsJ9)P߯\^O8t׵3Vfy:u L 9eo$׏Ţ7[!nXY䤲<={& Z ȶE?ciU^["4l6&=Dx~7OF3$߷Gh?i;Y´5#q8H1Vkkg%utbZԦp$^90wE*i&xTB@ΌD,чn+ [~TvVSAc +:Qe*AtK+ (Y $'}[6M0;M"_ϓis}.F`JF]2'mDBFc9W1#K[7t̉Q:۶e;Mw5 +=*I]k}u0:4)WۼK >cc\d{RnfkTw΢[q{O@Rdn5rlܧfcY~LX׃:p:kH$9咿,c#!H Fp.!Nmi^3AZbիYVӷ?0WQ^Og!^9W^;'MML4.\T8]*7QFˋKX[7&a٥XO5[Lހݥ:s s#^θhTt&{.47=1H۱2%J̼o?eI8սUW.%w +AouڦşLQk]aJ5^mtDjw#M0 +>_ +ةJ_!]WNsӇ::ikRݥ3ќž~+t[`KJD|ahQo/}x Any7ljWm夆bk:~6m =o 4ZM/ˀaLV\8\:d#~i'jiWߟ\vb0&+4H=ՖPRxL4ܵg)7'-gv,v35!=5X2M$;v_e<)P=-P} +ɡ_51ֳ%`]񞗍_<^lÁ8zFmWd5eچo/c4ދ6;lsk~j2D7h}W,+t<+z"erIGR|^ mj_@( TP]^/JzYŋIŌ7Smb;=er<^QkTIc:w#EQHE},:k'Jk,=r KϿElfu0mGF +;F!cB)1g_"`^*4@)+tX<:D:uw$ZMy.5f.>f] +v_P,/EجP[ZLw}'<.7{ &`$wզ;[1Cz#pz7oVbKu\}jv$Wzm4평Q6"sJ)VN*kW^ V?x7]Y?sz٤OggS0$HlRv*4n9/G{uDtu4:ZW$;_.IVvoWJ86"3twèDcmUׇd2LԺ(.lk4ᰉ=})kJ%V 3H:Wt%яK)t]gur5ݞRzΩ<},\B^$ zNʎV{xWa/vcB@6O~Ksw`G}CVmf:8풴S V bn9uDvSǰ{hwݖ]' HBdp0⡈Jb_˨Nk}!G>W"^9L{F[{GFئ/Fl4\1~ŸOh,F~O7-~QX)w* k Y\> n~93R{HFcȹt0^@' +b&ƐT@U&ӱ#״~{Cu[njBI +CJMG,i`.vtj`áMKc!fT l84X 6l`oIk–!cr\:zL1 <(Su}0_V"S`GRߖ$Jڶo )_RtPciCnE?o#IL[!b~P}{ ͈֟W4CL}NK7KR[gIn g mE6|A[/_%5FyZ?I)=4 ڿ%%~]Xɭ~4"8갵EW'HFv)-R|tן@{mGXQZ7:01<&%}7sTO<3iĘe~UڻҘw!Bzl]̢hjsVVd-pm "ۏn@fKfdgn/uҟtIQ#83l( 2K,%XL1 "ENx*NRTC@#}S'`iv&tuid?r:n#+1N$噱ai8C{Hxձc^ tLv d}֔vP_[\wH^:uicĈdAAl#爄Wlػek09s(.Xrp}V{adyp(Kڋύc_ŏG3:߿2oNwnw3c7W/eTD^kw"ys&\GcvSQg.ўJ,0ٹ-,< oևSVյĶ/v^c4Cө,t"Bw)[K.gW:/o[oÌviWz_3neHѲW?-ݺ~Sٓ^]z%}5UҴ \Kɤm&,sFhJeEh8i<2zQx;2KfS}(nv}0G2oIcKOT:7{ׯhxMٚ vN|Iߚ問x#>T:¬aN|i8̷[y,8hxF *q82=GLw5s'>[Lqn}=|odӭp"kқzʕ.<'R}cՎORmn^3n]NZ)ݦ񶧽M5@l~7&kKdGSW`|BZ_$d]tUmMbD-o՚pke!}`}uz6*kFVy/b\LY,TxJzީotP:s&Pb:ƞnUmRk6 E6j_%2INP/3Z$M"&^ξ2QXQ;fᆅd}ޗ_w,0"ɘhͅ4e〪~^ Uc>wVnnKZl3pmT]Q׼W8 9*0yF8:#\U>*7>fD.[7+2YOH6j}"Y_9;Wf,ؒK~ ERиP">s &f)`FʠB"=>49f_-RvSY:E\M7|US'r>羜d_Q}Ol6g1@ )>E2}彶[E3(<*3<[Uulg4ں˭Yo_']`IۮMw&B"zzqXªMq5t_xf9 eq&rȊW?-G{·s-6E&4㒓.J،fG4h&n8֩N砽jX:gntFH;;Ou{擣vKyou=vfQ$B InFv{҉W%'">{WgCDbv@"wbcz'j:\d35:gmfhe90,zqƍALc}=[U>^V}Z)ISd.-x%ئ$$4H<ůDPl0@']((ɽԏ֟N׹x6fϾo[#ڱF$;}uF%_]DiuV'*cX%2"`͈4r'CxsoSC44R94*~Vd:bɟ*:15,ytAUa>K-5S nd?CiLm+UoJ[:d`FrXd +YEi̗ 'KkW?PЇKloF:#aoghg{\Jco"ԍ1}`礸9n0F ZN3\J.)NcW<`ۍQKT'_:p䴴ʵ%h^IVUMO}ڹyJ=~qTugNMO[d:;mV߷| ٢X.d%'Ca"bVPlG ı1ۆ1_R}cWيn2QgzEJ֒”35 #k}~/bzjk գэœс +ҭ"ҼV"͗a*a`RAR%m[DyV7Dm(.2Bd|,#|(X ՠ~cAiTU[0 o+r3,1= ++d{O +iģhA]NuE˾uz3.)K  +opyKTP 4,06 +s at4*N;?{=EL?| #F~IYrȘ?ɬS'U" VSgF)A94,pET+MICQE+vLG,JQ1aOMԃTǡjea']$!,- 1g1cdPUoH%v{Qc +\46 +usBXklcHg[ =3= +#"ƒodžT"Vl)Ŷݰ ;j%ђP{ =g'a5oZ?]ޤ^g"iB5VHiRKٓHcKنWf )Sotm Ff|11LتFMИlh}IWYp G3-*տj1imӑӈ;+ ȾD)~B&dTc? +WGpV 8Bͪ#"&) :nș'rCTrRJn719򴭧nK )fi 2/KXV;7tRD]' #rM)YtADCRtsFs?cG=y3;i]_azo85ZkIzTlͥ(Ε-9L8^{L\wOE׋?MGO̷?{Y.[n'=㛻ﳻsݡmZ?Sv}fi5EtGA.GuB{!;j V{Y^Vh|Oޔg_C#VmN˦io~]f7lȺw(d^5>ǟtyq[Jj>n=_i)籭cʧhRzsg*-\*dK֭b +c:?Co}iK{ 3Dz\pI|Uzr7w^:J‡vpw6nʛ݃N땋<6tBxdJ[<~W(nαUitzȼE%5[,hU`oݽo7fg?/GI:~^JI}ERݳw~_$:jǺ#t $SEp/ų +jpzLSJ6 GkMV>l-p.B5F,ܶwe$}\@{u/VEIH >*=n`8lt]z(vtK껃;f3ְaTgMbpݜ*V"r7aaLLπ$7?i3MKl|uoJFޱ6cb V{ﲤ +% BJ+:6o*q_"_5 ʧv)1WLMҌ(tUu=3#,_y> +H)uY~G> )&u0f }ۖ*ݓeT&멄{tD;jFx"I>-ib4P3=uwt[QgN2Ҧ9)S]M0ya85ߔ./ے˿K+9ZHN[qޤ}_ʟ4.ɝ +(*~UzI{y'mܘfLjexQoEAܠh7?EǐfѶ^&HӟՕuȄjޟݮ&\7jsSz;TP mG,g?ZmNwwG-վZz>xOxTYpZ[ٓ+'~?7^bmH?Q9Ǖ%Z1F/ӘWU +,}pj̦ZJ'YueX{NٍU%a AjCk|>(]V2~6fbev34 {$ r3Ɍ߆<ְhKL!FKCV!u+δ},Ʃc4ԉoG73S52EQwmW_e +{ ESA47m͞G>[pFڞOӵp !20LB=PO_zZGVd:c9I'-aeܫWxZג抶:xSN1~+D809W/T߉;&KT$]-+u +]J0WiD 9eF 8㼙D4shi l)}n='G,w*hK'zպȫ IDUe7Ulks?Zd,h#z Vnc?վGUѩ>|ds'zՔ:[;wRLA +xդ{HQrvϓ?|˜oud+EUtde'6oFܦϋFiIJFzhs2Z٨b:l7X70(nv!S,.,bQ+vJLF *+>12MJnȎRXƾd4Q8W2i8Ag'`fOȅaTYkMaTk_WVWT&zvZ(G PUg&n8'i& ܿE_ 7IbN,(Ǜׂ%JŌ"Oʭ+šs2 +#tu*gQ+;xב>]rfe#T_ntQuehFWl\9 ciVstV*~Vc+XV'q#M>X'ãW$nUq,yP-JV5NJ>DKx~߫6cl^{:  +OggSy$H4X栟JS7ѷwkQnkԙӕU]O%RM~ΐքE+[3$uOaBfI+i9۞m[Շ#6ҤBJ2}, љݨ iezd*KDAqڨjv䓐Y[Dž[{͛SlFQVskzO/s'4^9}{kU N-荒z1uW4Wza)ea\iT0h>l( TXg *'{3/Oj_U)ЍxшpHvB-Ok1s ךk/Kuy{ +742ҟs3>J4 T|4MEBqSX0)ƨʪq6{,RWٴB7x+ei˱3AN̞:,)vjLC>nFB\~-D\ݴ7_LJe“U78oe\S IKI%AIdz}* Er]X[kx-3^Z$dYnUjٰ% +!AyM|/j,.gc,9RDO 8) 9=n•ɽG舃ym${1F42k* AVW^]Aj^^fΦ tVۘ +d|Ẽ ˟'Im?"K~e9fMXL>Xt Nyq(U) A+j?^(yHhKG`Yn]PpFOJv͎+KUyQ?c2Wߎ(ͪ%QʧC)- dXne^`B5 nfos:$"O\j29F_Uxϻ\+rCa:wɄ02(Wޗ(G8.Tk5`m:!Gɛ + KrH_7bQkT]G~;u2 13d6(LD s{;4R]d?~2[ƊK?Rff,: :m{ݽCͧU-Enk]{0dxHH\"}v3SEԅtCD^?<+l!LQ鋕S9ڍ::ע|'Kd:7ȧn{O:͎ujW +=]v_xHvK~R]ػoӎuWŮ*oc7@;yc;\~u.tGAއKY8ER5SozsQ59߷č( +shF'dmJdQI.[7iN,T8S^37XչGn\ c=-N~#A,S EAT!{ec^GLLGL|c~(km)[ͯ +!iFl[kH~rJ,T9"MD{1g|QfT*-dck.ӾI!i!]LŎzǚS׊wϕv W]ѯ#AC +>91ήrו65l'q +gͦJ~vKTbY2@Elyr!f^EQ{k& -mWFeTE'RH;}bouIw.sEkkSQg^혨L6]63,^yϗ,L'=e?W^Ů;˚yuS$V^ +$"HE&/llS1wS1.i/DȖ7ԳV$ګ~05=dI&,?Ȩc,Nr3A$sAXGܽƺJcԻΗY)Q\c&`!5wKHKo.FBcV6@ mES6DBA,^Ǭ- [԰Nr&^52I>4v +-v弲 jSyeݰRZp|憫?4r%EgW +5XgEk0yUב^–bB_Pt(bCO=qMyRB-v:goU1FaPiWBJβ=uCJ_*A{cxKc*]BjU][->;)x2Fx's5eb#&FB8md1DŽꑏYTPFbf\VOsu ^;D"?E#.?;&ǦAUc펶߷2JXў,%,RjYSs21JENX#{y0R ݪ}[j*~xMtO8;6k$|dV(y. '^/sbޥ)D6ٽ7j7Yrսqq +·Z_bQw3Ϟk"fJ c>jSe@}f;ʪA S\[*SGI-U6~RhX$)#YF*]2ɯZl ~ec[1K i]v9 |]qiQƃ g3eKgg06ik 7GB6?"S6zew\ ) t +UxA֏Mh?ͭ I| - +AGM±qj6D^qT +f,Hzt\VGCcxyqwbOW廢y8b)<0g"g⾀>=d"W:KLCOoety~Z$୞8vhZotA06: ŇV/(Zh*/\99,tjɎ14Ki.AyӄmՀߡ-xK]5e g8׮tF Jc31IdcPmb+:*vCk7m2cOÛ:`ڻB٘_۪F{ YOggS$H>홠뜞ojeiZP.1K?D3:B2#JyQܶӦOo&#JwØ)U_m2j =D~k47YͶkT)1֠ua|~26&s6]m9en]]Y߬Þ|f^nG]/n^]?\j2>|_[}Af!eȒ.r);Co?tQ'AesQ$ZUuUkR-EY8qbpD.潖sSRo0 MhW`ewcR~R9Vm_S0Jd +p}+pnYA8O^䫗avl@m +SVN`,֮AAa2(׻$'2{f&2pW E3e"[uK^jEFhv_YXX_S nJG6LV[3oNҤdn_Y6N1hfZnVSƳ$ԟU)|UGcdqC42?ve$%$ 1.8hb+24,m/x1[ #Єa%R9>M%}CRVR:4'&zՌf,Z 2~VH֗M+ +Upwo,ٗj!JeʯUKXHͮvC4F:,{VN9GAUDJz \L:&LeG4'N6QT!>k22mU{`mАq&kD@.whFlQ Lx0L-{B%8y&zAdSV:.*̅b g?HqLZǓi ada;}봥/u䌅 +~*8N%C新>`7Du[C[vXU3~a o'`Md)Q ԙ=DiM~L%5{ V 6oOy}-]1I0?SBTG4 xs.+Ubog"W)[nŤ۔*12Q\ig w{噑DnD@Jiʬ %Ǘ65=-lfQlK:m"iGR4<3Q 1S* )% 1\q#>(R# כa +o9. +aDClލAy Y)\+e(Vt*ei 1KI/e:k}RRV˚2*O02=wέXQTۉj񨰱^⬵FEHeDE8ݷ+x!%;a>JsV=<bM'Vc˕+|֩ɾg* ϭzE;Ⱥfлϴ mssku3V%Piӣ 7}}m܊WߝWE|"#R~).[N)y+yЀnYʎ:#[D[~KiSd;z1#FNkjɴ|շXOgP@~hqYqjmeb( tG8 Uiw[7L`Di(/u3v|VuIjRv; !DhTvJpR\Ԭ=ՏZS=Jt.ļ9"Kz皟Hÿ9nڔ=Fמ׉Wf~ƴ^IЁWcfJ^,Y[-PclxɅӖv¬y+EJ,5}0JΙb-‡2 %d-%M?jԄH_0cekpQꛞj]i{i;jVDX0(vFpwwF +.jNIOFI#dž8s^ђH'" ݻv 10x%l&j&&D`4ZPbH'rUqH<(δ?^{t\NF(50Q+MQv|*ЍR>hJS=Ƨtڴ4WM!_^˂MXQ9`U@PXHabTyZ8gZk Q$mf|5{T-zwC©ySRqX5X{M2f.suVRYQ'նe(?Vʙ:bf/G6|v*U|{gӚ|qYUtVY91͹_§Op]ْigW]I]Yߵ i&C/2e-|s\F!{o93RYsѬ̙tV +:\wՊtOMqtd?c]s? {2d:#*Q94"qu7*gvߢx>v|i/}Ou˸;,2{[/"JF&*7.≋x]U(FsQԶ/dxLg=QRӫvAmvd YF\e ЫuidrfuUܴtԦm9\lD1EmhUy8v*@^ ]2*/۽z,d'6Ƣ# *k˿Ze: +|ERi}εk"a!@a"ӏ[Eҽ) +,<g;wh]Bk&S{+e;gds::!UG۟aalϭmG%So)ݳJt(A}&CGfQYkC?S4Tr벜y΢cTar eXˋ0vX<ҿOoܦcJF:M25E;1o]韘ﭙitH-/ +̧]eC~ ݽБ4]S]|CO~jYy#LKQ:9i:q^-5}e㪷ۜj{7@ox=gQsndV>T9WDVݷbNJpv1X7ٶΨ7^cL Ρ:J + '(@K7nP5H~*|sd0znz jUW-3R{SP7vߒv|=2ޗTJLaSKe +x+nwCܫXI7Bfj5(79J SIq rթLwzi=`f?.d]GJnz;6`8Y BddRh1,Q{[,ͭo4C0MhfUyMYE뽏p}Y^Bg7y﫷_DRSZ,( _!!`l!ѫj9:N &V.YkO%ƌWs|LjnsEP \dGq.ߊƲ(uEJYnA6jH)~6$a*#ye2I-/LTovW )cl Q#\$\I 'V +>o6Ԋ=өϧ%Hџ!X^YLQoGqV xa˰sM@kL(:ЛIGgB(ύ[41}#MˈK 4Tngj~HIhjP_;e0p6wNZ`T,!imv$>ҌE>%|BJ` =L!z+UXd;W&HWp@fY3%808H(tNF!|>̋z +ެvN*g[?j7fN7ҹ;?n!2/IIl_Gxad\J֖  ꓗrJRQJcEL0Ke8}_[G ae#9oj + s>hvqo)C|"8ZruɬeϪb|k#.BV>9L{Tz# γᇆޛ+X9 b4 ߾Abk8g$[KXW lWÏJDx9}Ӱ%` gfʮpح#HB n:N{@#`ĺށ[`EQRa"l,2+dPcU)be=2lH4+{lcTc+ T @ωN~$P_bb??7w߉W¡L0WAPgj@aP#q;*SKVy9nܮ&1F~FBr%ֿ]DȲe2f 8]t$ԞiM +Ax*t6 IKoՑUC0yhhQTg"EHZjތ@L+$dNA͕rv髓, ,CDh54S8WVCc#w>QVgJ\VoYXr2s-@TG>*bIF}-)܈prY=}9azU~a[L=Uf7O<녭VzOLC7*L;g }Xŷ!JS(iX˒];䡷ʰ_ O1U#c~r=5HwWpn$yﱎ\L ys"\R/9e5g{ZW;-N,:|ۻ9.dG{8*Lk:Kᩬ&z($\g)޸-Qbxðگ\u`.nh %Uk?E-q3Ʒ/O/6]Gu}GMܯwGn}T-LU-n@ՙ +z_=4:H=R>fGX0a:@O 9.of,.k"YS̈́7qjF! bSSK\[zlrTѾudw͸Xnz}{~ :74OÃJ2߽WMV6(>omFSZQ]%v-#ާ ClWSa!vV~ *H}Qej(N p[ y%Xrj ll6X |W$tg|qV%fquQVcq1ȝ -c$ z /{j:9?+W֧U]={Y15_V8@ H-y"=ƃ 9-_LD: t0_)StByń(8[`& H=mU@O%gΫ_UKkiգma%wvp.|ߥ|ΚL]ՅRVZ t~BC;7E;8}oEQ.S+,{y"|k_?Bs{ygWҭ/$sF.Mu}hiF׏k.75~yX _).|;?e? +skmuCz@#f\z,09jɨA O+!3f(af2m6'(RRtl&RK\}}T%jFF帪 me&[9k'R7X1L֟oCGEE%fm]f9x0C.3w~Y P茈_.\c4LD3U A)ËJy`2. +#$g|RkV!"{;j HeW;Nf-O%*חBpRcVV + L:S+?OՕ;=SOþL{ i9'Mȗ8)C$D'Ƹ}5.Y'͈ kuȁ'"z+HSui+Ѹ4qUg8qW?_a4m:ݚl_n3WIa^;$Dbyᴀi/5xrԙ?{{ڊ3F\JR۾M:U?a2++rҴ wcȒIq'J0V4.Qfgg#۩9u6ꉜA'ˠQb>(~2_WHbUT=Ώep3{9Z$"-iT|(l$5x:,K%ﰢ#g!( UR$E^n%T$skuŌ궮JʳF߱C@efqsX)zYb`g0[.9Oj]oSIa+CUVImê\&GQ1.+Ei'A=31%Y*7]"T +:_xxĹo *kcJ j$:&KJ(~_(_ r*3eB6+0RTIA\,[*3_.my[6Ƙn!c]+DRID+c iF;NOAe:FN"3&j$Y4ҨZw +!KR5͋K)H,hȉ-"ioXL? `f s圸B$PSS"|˳2s +*K^N^GZ3ƨصܪHh9(K&æ8BlyF 䟟 +pw"\̏h걲k ar >vẀ4ޝ")N3#j䘒bU!(vI$Ofl52%Jf +L3i@+ j,bb0V'6<;zIfڼ8GIQT[#NM8s +2/]@Bt&r%)I@(S3䪭V ;*iWqI#{c UOW4Ĝ"Ԯyzy LbҞ6!Я$W)^lELl{LCA;Vn4BLEchwsYGk*DEaB_34[*VfFC Umg?*l=!:A+$~DnQ92("eaU+ITCQjzea)HMQ݅y5szu-::}oǎ2*>"q3}}Ud8yuOӻ5ߺ'Qx>*f<};(0tA+m(6CbʲuoTKێz-o#Skg|Tn0)tTibh$rH\%ߧ~U~pz2[s2{x3gLz':;=Aׅ;o v\bݸy/s4Ojg Wvooxq}#P~<>NGb20i&.HV]s~Te[n1{0\Q/IŲRDD{HbT^<əTϾgE\0Vu.ꔙ!MċY,=B.*]N}XY?RVU|aq4t qK6?R&y_Jd.495)AƲR +#i,0p*Yv% jt.5Qۖs.bżө49$)zٻ"=l _ErƿWL= σ3ѫqE5Ίdd)>omk]hn'z3~_אZs vmx0TB?KzzPkأ.zo!+^'6?3ۛ ;r=T9D)$7Δ:vXxxk Grk/L Vz=ٴmȪ+VQ [1E R3uki0IWgabN\aʫOui1M:6\Va*%ʶdԣnmp.Q=SGCXw#EjLqݒQM`7hb}RϗY#`ōN1'uYb7#~Y$ + + Yu :̺lP2Z ֙c,!\}jh vpb.ȨF[%4fƙު0R1wz-#ON_cȵr3P, ~|=;߽k0 xI7"xCXjDJZȉF ;Ә1m_ja汓pvv&nm-_z߻x3gl\MkD4]. %(SVŪB4Z]Qs{ұf9^9P-~,6Ju`i-l +x}7UCc^(I~eEWP +^IYľ_.Yfg&suė6.;uڜEc!姝h]+l.{_-ԓFMlv?G>(ZԈP ˓oQB,gByUe恕9p0 >VNqBh2Nּ FuVqm#<`T^R!'X66jE8e椱 s7C$(xgYDϯ,7IhvdV} ,=ו%jrhPUfUf[u1Nz;&zw??ҙ ZY>K4H<󗾊a:4ZW 4)ԩ +^Y+&ޢmT:bkT_ vuG)Uj݇#h<0*!pL{GmwnĹQ݅`SHNv 2zn^K}J_uH(Qh4֙Z<'qZXEHt$N/bj f57ye`_C;e\>t^ESEgP@UՄYCbUmtn'__:_u᧏5** +yR^Jz_2*;2a&r+K~z\ "[Av ubX_}D'` l4ַDwП;IcDlS fZ9BJ"P[a!ՓʼnKS&{aaޚ$1*n +yaT0t:$u.ݕ)gGBfDqii˜,%OQ hU V[N[5$;'$.+QqDp{ $#;gz!T^}ћ8Unl~BOe(/17ܴcJ ۓGaF/pG6xuIR +{ey웨Vx OggS %Hរ \t=<*$#l+ì 0W.A;Uo8yk{:<) gZ`DlGthZ6Ћņ|;ʫG\jφ]BX&iԂװdmmU@3vOq_":IjFv]LYPRybwBz|MC'XϚns)+Z ^ G[ qm/j)yڒ,pxh^~G-8L#=e$4 ne}lJ:8Ҿy 6nEGGsL>lw ϷŊfJQT Ol>2%ZK {w=kZw$N}ʸ_#<::b>)GQ CߟPAp=GZ^$gSr0O&l +TflɶfmrP۲fTTXT-sR#SŘףSr'/sN U0D+-S:,W1Hg$pĖhV"ua2><2'긧IIQ4[E+ŞW187M F94˥X݆癖+Si*ЈM"N;bNA8HR)(D5uEuǑWO~FYu\:Qq2#:&w٘3$K[xj/""47Q h;(LNRgތ7]uNM)sW}h3]3 cd*Y~PNG3:Q7ٽ된CS;R,(*+pq6h0Q8xvpFr(r>yRVeUo*Kgw9vÌ'qF45G{X2:H034ِݺ4¡.̎ H뺏8VmW,-!i~T鴝JǸPJ6Ej+4LR;AtՍk46Qo+:`9qלպzJܼ0E7gWhe^i,H곟 @4}7" p~u^g Lv. PC9jjqXtcei澣PgvQ"5SG~Ub"\'zY% x{%bbiݙ6TimeYŒkۋ M1OB-ő C +c"pV+W%wq gE1"]nc*Hm+T3-)i= <|<5Le¦oT֥X?łI&sq,A;!ؓuiw&7S^ɔ_k緢~)8C[n0oJ7yV3D .JqajG]k6or.ey"BH!(*VYrYL(dҏ^+2gU5*3+9R_)*W cVrWkВi8@vP$>ӷ`U7~+]BNJH&+TjgH2[:<%~q-~j,nP-Ē@ba[/cmb+Aē}xp{c+vsj?."g_+ Z[#B ~CW/Q?~* c=˟eJI`PGU0sJts몄?Y_]6yґ^I7 if3>#!Zn,eGl$rK}]" :l <( !0Cߐl1ëxEӐͦJrݚ +Ф RձHPoYNgj+f|gȒ~[N R6.)c@xԜk%Iņny'ii-Dy)*l)626R.J.'tX70$Bʇ=Fht85G8:]种GV*S\Ch"k7eG19MDeGݒIfz}Z%s:#>[Do +z$:+R-ݬ۶˿\Yx`6g(8B Sc@?  +!V>"{Mɫa[K{ }QJ9ޏ {SQ28#>i|llÆG<ɉX[n=讦*Kq^;4w8+.%O%ѿ,ecoK]0LZwldgA&٩݌:iLph3;=N…Ҩ@@1U S*Ke@\oH#~~D~x=3fE ; f~`=/Q5 +wp~; ҵ5S؃_vo=/.ʼHJ0,Y +*|a[ O=p{1LgI A9c +!8 Qb]֌uLӧ]/cB|u=G.rf&VVKRПOggS1%HxED~z +2ou<]/Y^~bj!9;KWva%YkC9P +a;/LXDcbl'MDݡ5.@VH1\N>e +0_Mޗ KU4#=swʿkDu,ح:'qJ/R .wE(#2x'L"0 ˘P$>[d41V7ϓptG4,:B {y_l/?kM1ڲN #Y:iZJ_.E£9z^6+5LgbHjm(l|vnr0")y 2d2yyUl=)]oHU$9Ńf4,YW-6,Jd$el  ;kܩjY l& o:53s?S/MS;蕝'ٸ|P! ,Oc! NKf_1S䲐^/Ts$,MkH8h.+q᠒%D)S[kz4I¹ j'i/栒+:Y|#xͤPoPm;gPaR['nsk-wqecM^>6LoG?Kp" +}Rۤ-i4VB)|+Qg!$_0u6 d#R5`\o&EdYYCrRE<-q瀸v(q>I $0?#^7H v_.Q' !J-V&LL` LLAҁýjj'~m VV!٩V*h^}XGgOR'Wmd|W /FeS*` ZB,,bdt + <ΕHb׵x7i+\_~nb& m06NG'`W àV 3NnCgY$H?IzTIszN.2y~~?7:Uo{mgzʴA)a#i$֦e>]5aS'Z;\%)Aީ$~E޳ǕX[ZQ* + +cHPK5I_mԸJLJP*gP5ħVJDf-.򳊊vZUy0.3 +%Fcʏ|sVxyA0 F&"=45׉- Fs08^W>OƵ6.ặL"U3O,\g?jPA)!$j HLNO]"ix)_X$–"S,ױdWY,c6#)ic"u\IaJʍU~V!|ޣ ^VH#xú>5ǥ0/ ޒRNq,]\ҩDQh-bl(&,e{QqMxk*VzuvVFG9)-v>ƹlaVTtyʻ +ZE\VwfL 8E +Gln`&: Y*!'̜JV=T5"_w$ew٦𤄝 hlzKY (o`)s \ _0\URr?&y|}/HMT#ȋ")pet]"/u/k^YZq'fޭ~|: /_e_D4p[E%e%tw%fj3.+nD#~یf*/1e~N30u :f~af?嶙Kȶ`PAӛ_?Q 즨b{K>/ p~Sv'>-nF>ۖN]W눔L +Oo}Way2uOQHqk€v}]Jo<2ZԮNCk[aH@c(9+_ &,ҫt-ޣ>+t}1Q2A_^7"afI?D" N ++RklCv՗SKЂGP3Vm3o}) (ٻ4%=654NKQ0Xk) iha?'jR[-&k9 Fhxgten\geTl +>ZOuE9[)Æ=6(\gh |Z&Vn;I{-C,:yYץAU{*0拍ĝ/y6/Jm>e"=k\7.,wi 4j`R]VgIۇ}. +jR*>_j޵3n^-*l-h ŚRDA$FQj"k/ӑ.΂&&5&M@(UOj/\Z38ss"%'=aEJ0 ?׈\nk eKk*``#i鄎E(^xc$Q h .USA"ܩb<3+"Y Z0TW{0t!0eꡫCں6Oy!lJ;z +6Wۢa0JOggSW%H.5^Z𔮱{g `)E]bs3] B^5i콑J)\hDvMf6z4j6nqH|j19cETC_񔍎$0-3ѻh0{O#x5-ґsz 4V:O[CZ1l>I5&S2.w=eOU3,ʐ16l44-|1}YGwx#47'$G{3USAᑜ[v^qQ䓤yrSsEٔq;I `L ֫\ь4LJiOp'vxזe?:f  Y+jzHB0}Uh8D!Do>Gm;٭Flu~} +ıv~Il!捘u*˟ Nĝ\Ox(pS5s16r&jS>BQ'cˢZںտ:uYM~īO 08iH( 2"p< T0O@!$kou4A2\RE2*һ0FVzhBسL`fCN`N)Sdm~FY]YE}%̋˟qOlk=e zzuF}^A`/^rc}Ƣ0t:m;Xģ>{lȰ5F`_O,! >YCGV QX@$r\A1 &L~2͋ 'fag}Y'g8 pRpXncLdym>貐VzAnFɭr|YTLwGlxu!:OR +0b_F]usDJ_3u m_q +H{<үQT6<4 _V; wT#6EکY5wשeAG>kD g,b Ĥs +r`%Qn}g} 6~3kPN'VZKj2-B@v {-Gvs&:ٟW[k{B 45MO8L,ASh<۰еz?>5 cwW_LO GG_=$1/;Oe(m3 {ӣ+2UT4HcecDڭit"GєD=uQ;7ra@+zEe(v}q.;.*NǗ(}erAKNNJMDMT>lZǪGr_3m^T 4r)9'9?NSuVs[ICGqzwDVVIZO:NQuz"ZuVw-?ypU~w}$"mSmuP3sv*y?4gi وcc''P^M6ʽ1B w'j9Ř" N&1N6tuG,sWm;ŏxV[K*RA{5H3XC7 tPK\KX?]= [ %Z%/Eo<*o۾˥54^A+j+-Fڹ6i@PFH!\Z KV,A WK;kKUbg%ѺGto 6[0ޜQ3Rl@4E8WQj_!0<绬?V ~p>JUB"9(Ԃ +z$`2 +yu}e&ZLn)bR k/"/ďRZ ~PN(V2R qT+X.$[U}Nu;(dB)=ЎFp5;`\GS:4^rf"HuC? F=Zb?dwrW)B΢j7h&\PUQJ>'i*ץDT?pje^BY/6't7sQbow6}WR[R6[_-9\nnn?oBDK6hyp#F1|G5gi@2i*v -5S%3Ȫly`{+ǣt=b#hTF7KBg᧨yFA]dhRmSОʿ/iG_8M̜ڏCOKB+ ^oOjx:2o%yh5eӻ:״K{oS]QjkD?#E ̱JwvUR{)j-קSCQJ+O7JTI{Rzn#e~O4ox4O'y #b~EIjjΒ)5Y2tҾɒf+'oWgqzxfEեKGaNpqvXgƫvo.׏6D~[ ;XjRQټ0.w6AꕅV{-قLXS}3VULgaaXfaR$iޛ:IFlFfz~#YȰhA{xPOsB$9юNl@"f$Kr_X<&*^ H~ʍeh{537{N֧5vWzW\DDJtxmxc8)3`9 ˆr:=)"RYq0k qhzgqa&.:qPz׏ra.:EQS[gRcNEMKz̾DvUq! n(f>xjX| k^B6 +9mO<6V[&K<_.4ravJ4Ant*0QIs m=1;Po儋F0)/3ߋUChV)<{R^2'ٯ oskF۴v{YY0)[f3r=Z>j%G6.cu#mK$Mln)+]1Uѽ1qjpUk?4#!~H]vFo.^= +BrxxGwp6S2(tJ\4Q~ԍi,yX?^3E!BUH neS0S3=Z432giVkğ5 OA~OvsN{Z]WoY?{T9,8p_v ŚPQkUX*/ ~w_b0l_I%_ٌքF">OFCU!u=t@>S((v~sYtTIFS,'{wMVEf`XVFЯ]{Kvp6_ "IY.n@#2YboܫWJYx~Ԕ\aI>I\t$A +{d%3Lʵw:.Cb N exB[=)޶Ovyzr y/PɀQ8D!=KF=.bl.iBKLY0MǶ ѷ*^2=IgCle6)[mnΖZa=\nS27z<X$mEq=AаUаx JzrbmD<51kq+%F +F;Ciݠiy_ d ?ukÈsja(V掠 +i]Y._ 4UrOZhˀeb }>zˌ[iq4]KbbeQC>\Zq7<[&ɬ4੸.u΃׫Tulɤ oƖCn\&&㎋~?ַsYDZ)Bn -&P2 %JA9~Nr|N<3euۜUA6=ӷMT30ˆ3!пĿ?}2~}9t +"୨ ]1+p^7ΊdT] ݯɈvf% F:]#hu٤R./ fϮfU]=|q1-s7iɭϵ–ne^hEis =kk1wOn<Ը߫|z_f~f/#1tIN 6ߜj3{_OY)(#H=|M=m#]r䰙xD_[+BguNDŽ@~[` iZ +.aAYZOxbL1,ʞmlQkhc'kXh4+SMo 1M̋.".RCR޷²dٓ[nLߨV|r;o%3 Y$o)wrmx]@(aJ3+%e2fN5ȡ+}yX17+x_%CJ̺߭ =v yY u(i3>zZ'P-I$X6'zn㵨J8Z!q05NX !os&M%ujH+΍"46H)",,V(l;MlT$1 2"glJe?i"e!.ʕk~l^UUק=,UYN{ctdQ ݤDpvF>x_%sPQ٘`+(۵W?01sF0Q!׹uDCBO}MCe1EV֗CATwo߰B_.{vRY/JS6}yPwR I8yn'yH2CQ5yfz6`\̋{{I=|zteAafk/R?2. +[儙nTƍo;R×e-Y"x)%I?BNUcyFy4\Q[S]3"KcuIb"bLLiRr{A@C0/Y#EWTAqh+g\hho'NL^~aKD8)$I1TЦPIV|u'[:Z)9 .cÀ@(\_)s*6>8GDAhi#/MyQ\oMЌBB'.vvu,Wa>xMaiuhLM}¼FhEDgl8 {xe.b4}$cqOX-wV"CnP[F֤žQa3RsJܙ iR~KH SF%Ж.h*LHz@h r4#¦OeuʢfV3A1XTRR%"ar)yJDm|2oѽ8 R6Q㵒)m3)Y{g"i0zB# +0mlMmy8ǽ}:W^= "NK9[.zkHz8c{)r{V W[Jgʃ@) qs\rϭǽR>z$*;=P'Gi7«r]=a~U[ϓV&Sː;iCY<'r)|vͮb: .e$HCN# Y,/W,Ѭ,)z4ZԌ&g6nJ?E+뱪t\JnLmdž:yHm^-M`G +b]ࢧZ#So&)Cq=YK;9[Վ$B=7ui OggS%Hșe^:yG 9> YB&ݖ&$TtE2m&b|Sjӗ Q)3;|&TOO'348]}EtTR+ɍ"Ӏ>]S'#Aۤ DUHJqNNK&/*~]鿄/W 7͗U7"2fElb\zHajw3.5yXE*55ű/kߏۙ.s~ h[[el;nPS(I/ +ʇ0h}J[f#_A`K/afT"}x˴$X~dř*Cw3WaYFA_Hѵn@v[_[HezI7U/wFcj^{zIb!=hޫpIK~< +eHx0gyYd~k\ޛ Ä~:,hPr +ixKh*TVh{0ܓad:=|6]_z&ADC?սѷXg,6[bE_=ߕa8>k%m`mS(s14.zA69awOĈ*V:Gb@t{31&v}4}X*ӌ5B?zh|wHvݒzH#>*$dC ?mP t>]?SAc-ߴ;T!ȴT"bNs:#TvuDB*ym78P hCX˗-Ǡfُᬽk-]=h2)GJ׆Ű#o8 ׿ά*cZjRsvf3shRy + ]F[|Y[D<a7{$:1{u`|gk0r@*_{O,TC(IV9nue"2-^&3H%HnQ{+MJEXRknuRUu(2!]I^d6ׯ77ȬU*OSdH]SXOP™&vkɭlq,RDՃLS&O#s,FLtAA`O[ g=ct^josXo"UFؗoGRMM{"DdkrZ zd/QmBj׽n6Y{ KakdH q +WuyzMR+?hhV-?/[6# +/ E[=5keTٸ&~z$6Ed2v2$[X* ɝlmvv9Fw?JD̾򊀬k/>7_ZEV`QEm5n3EKDHw +ͬ + KH 2{¼hg},QzD?c,B-ߏ!3˽@Y5j49W\ؑ :ɔha q1rFOOBXO|0kRP v@eB +[3ѓC.#s7bx#,*&VZV-De$|KEK +Q#,A3k\|lK;7n:GzJmYN.wX&LWCai9:/U [)0Zj=vgt3<5ɖ>*]E|;ƅ%\S?AQtFA;U21$&7VWN1w:omϻddFl&z50"Ȅ=KR"5>#J:͕\Vg]bߤ*ߋ2E!/oˬP=}bzA4.})8X5/k>r=G|G-⼮i3e~QK:@ Jr.ULTil56]Wھ mz.?#va! ˌZ'6RN;])$:}*nQ*T]{QW)OggS%HDv욜:4†;֧P{KV" z]W{_qF{GrN m_* + ei5`v?i/S S/D +鎈f'8Z10ShY=c5/oyVn QTYh5‘:G|S [59hn+X̞ٙ_LS-qʘ7YZ3ñ+kv[:$$%/.=7aon0p4B:a^#  r@JapLYLfoŒE8 oeD$ +UR w#H.*ĺ/¸Ri_Y(k9òRnj")}ȹ#=ȳw֩1R +Q%˿3) V%s$ Iq865oD7 Zf̩sުHr8-3HN &MhN@0xFT],)[[&9`yjXpfe[AIMH$~u} UΠ +D֪[QmqKK!\bTB1m%; '{ڎ@Q}U0.㟝p)8S|^to95mplD~>3'j&Fn(MA _RM\#c"/smݰgўLJI4w) $Ͷ#2 !Q#Yln]]=3 8l@I"[ڦS.KԒ2p;fHlY< !ԊeD.>a!ڐufAT#^8S2;wDC) ;{:SĒSbc %!!i{b-mdҎ,t('(WY;߹2Siվ?w.%rP.}[cءxO=ӋE~|ovzˢ.bӕ>}?9XtuuW?u?QG fqK?gg\Iįc^6g껫ψbM[c?7sn%6ZW*le^.f,~1wGp{F&tW{3~׈cr&җ^*GóEEWx=xJ1"S'SԱ&k@z!ᰟE#՛_QZѥi :i4WWL"+v6aŦJ6GHwKPoU9o3.*S@2^61cyo\I1G*x}`=]`ny)NY`<411ש"&e +~y DN5alU6#Б #:wʂ^Q謝ȥHޝBWKoe y){C.S皦`ꖻ԰O-0aϐ#^לeη'w殭v*1VǾJsQZ~|T$- 2,:X2LIEG@Q͝}S:$A,}_"ޢ!E(r{pf ^Y,HA4X鐆Faa>Сh +`Gwzڠ̸Dokrukeñ [ޤNZ8RF+dN5 Q[=Y!n^~56ץf<] ,z$CU=#P1*,M]`bRL*ei1wua:Ր' sagO0uX :> /| UL{eSI0iv04FILS0Y $jGBɳ@IB#OYYmQmizPjxcĶR rdd8t}rdT#z1.ħN53mR bzcɓrh2eFCptޥOm/%Spkgv$bO/1c{y0[n N +&U ޞ}Jyǧoc|QISn~<"B`#a4L` ޖ!3]E:AXV~E|~K&]@ Բ52_u_wWcqVt"=h!=SI*A tQvP5irF +U+楢)w5\I`^d-{s2[ƿ2wy^V&Up]YPgI\lVFI^a|p;șՉcyӛ8:.ܒ?ȿ +í}eZbPjqv -#\2)ai"ITki'2QҞW{r׭0c!.srk9W\!qp6GhWq$t#Ocfh8H#wF؋kŌ:OwsoT{VtV/YVi:ia8^lsڟK:;$zkx]RUP\7(jp 'V;VN+:R.}b^ :KȤNR.6~#qK{,KzNZĩRj_0f^ix"γ˩B!KI{oon>yT6m$9d,?z= HrR%ޢf 9,՛.WO6؈ : :>/(IP􀬚v@ކR Q?[1kZi_s'ZJ@#{*rwan#0ϗ@qK]*EAT^NB$CϦ;\u1]wh'F6Q+(R:.Fʴjo* -wE3zB& v=0Q!E#9FM05<*Sf8>:4vuPcӰD umuy#eB/p ++¹Qz S!v,^RuWGAƝV.$eNgև>\Z.Y9Hu9 +K5 .1$ )V MGMώZÁ~r-אsl{k~f1ghяѨA-a7טPHa>:4AgC'a+0]ީ +FJg|X'砤~YC{(oI xX[kkVGieP-`V{k|45|n @Dϟ 66־Gv"Q/Sj\V[=h4uc`HTT{e.KqQe\U%Lʅo I 52J$'5cyE}·pvpxeHՠ T,5<3)A6Qx]beLx}jqǶ2iM: p,۫ bw+ =H#Ő}gt0j<0SF;z4cM3B9L2H@{,cHl }f(gNhKWK7fMHU6~np6'F0OggS%H7󜥦i8 J[Xǝ! Aϔ^:v4Y^|n&qQu!%fz9ȊLz#SQYc?[Wl=9sjvz(%|3 /{T`~4_&=k׮&TLhO[wҞ2KQ)b(}peP@AQIc\1 B U(hryucCݫbNHS5(+. W}^-ك$6Iŀ)I@,Mp$1?*ceI O޵B8pSqC+qYG#qִRD(1R,JHۭ9id>DTjcs[)bqr/cUH Xp)U^  O0K0) +XR XbI+ o9 ;XtJ26znr)6!8|DWzC?l[hlr!A^ Bx=m:2rV4 X_+HJDrз(b0Oڪ/.)MvڈV[ +F>- ;IW-u%`~#z5`lj N2bI.f<e8m)!3y)@^xȹo, j+ݑz!+UO32ڶ>{a~(x˱谰Drk?T]V]L6ffž=z5UD/Zz'TG['/VOzd8g>=qQ?} u @X61 /<׺=Cf}9=ȩ_U[y1YhW|m.ct8ը[aT/t6:ƚ?dojZ R_%/ݹ tl|<$pzOOнyQjNłªIմVQ\] (ϝ\d}KZbrw{~=g|ZvMĆ\oʒBF9A)OK[%$TYb&KTVg{IzkjˤEMͯx(˰9խEGIhL_=ndP! ޙ*xgg19? w ث*]lĊmә'(aF !J$L0+6ΈcM!~Ǒ-0? ػ;W{)ԠٓZY~)$dsph:pȨ*h)LFUV z%b:ZkYOJ{ª]_kjL_xƆ+cM;,ϼ$W ,p~}}EU99ĜNSjn֋l_Tr;r510|e.fҒ6~Ql+1rk|QJ)M&Tq`4sŒqRCV=2Š&qkCscs԰&gL3#D{eGieN +Qb_m֕dMioͻ-?#F_6יNFYM 9{!Dq/`͟EߟT$X7 -C!vXYnsU20Ǝ#0A}ja\ V'( +)1M+8F٬U|ѱc +' I9JFnwL2bVV!Eӳȼ̛_' #;{]2HQ u(B+aܳsr#)xk T4ȝh[ѪBLHIU^=},~XUIL)Uʬq_V'ZESӳӊ0w}uhŮLJ* c;mL'ݬʯO2ۋ9nq4@[I.M*WkKT8 x#V(j,PUyέx/ t֑ w&|H&`FI_Bj|#ޖ˚0f)*c_eW"0clZ ˟aO&ZUUsJQQڊГ皪Z*rx?8և>[fRJo% p3#}YIB F-燂ڣ:lu~iciuu 4 fzup 3MXBNx|ioo6qVEckO"H| +_?z۱|expKޢj;FLFP+xya 6bW0ֿ]Nڃjć^M-,u 7*Ŧc [j^kr=*ѣwvL:WZ=m"VK|OggS&H yPޔ^Dc]wܚ—a?n^Wڛ?8EkncNNt2˷WϲmqE2z`ztfmmU}8S U_vnޓv]wa>c!W]_l a})Ja޺UBmf^=j7K7Wo0Wh:eX + +|NF]rX'1țh8קc|b !2O +\Y֣zX'}ۋS +,4KWն1oY[ wyo(t"^ Yh1F7 +/ +s2+6O[mbua,cODǗP2qe= .}{X$܄e9z\$ +頾rS&(:Vy`D`Fo#LAF&#OKY_y 6gg1.Z +#3iz㣅)%j;Y O2nJFeeU''WRņU{?R\r9eόUjwhKx~UFd%lA׷e(6ZV'F]r?k#RoNۦ#9y׆9NUjWO毗֫R\鞍SX[ގw-`tR).WVvg̮wdGHycw͉^"YBfd[2d55fpl}ֽYi22֞E7l=53jT}9;VOM3ruty8Ƈ7vU|T}ҽvr\שԛN~oݒ BZ"<>{Bf: tvv˅ϒçu;vx~;l+홱 +"!@Ό«Y67C\VL}c8*aY(s| "QOEW#A[G&͡ڛѐ1{m.]|%!:ͦ&I#St[u[}Z-a~kM*im,F>bi+5uWK42Umt[9f{%Yd6.Ԫ8~JljU,H_6I:1 "׵H֘HD.)٭\f2{hKW4ʉ)>;x/+J&b2_˿'4h5e^Qdcގl9+ARqCeQĊ;Wde֞G:ƪ?1ә ~Y ( W"gWUB뺵_qWN:TR;5dQdjdiQۆ1Rf+ĻVlR0{G{Y5Þ~N5mbcf6bZfIPOR?:Wgw}M#){߳kX94-Dt]nbS0GA/bJ?LRWYrj"zb#гMDӏ PO'}nyG|M(%TYz=)*ߊMQ|]ubvYEB&{rQ3?`ݸnğ= lExşH-K$γhdpv{XSz!g2׆[Ko6',|1 c\Qo\.$i,+Śن;2f_vUa͘ث+yyLp;)&9)X٧Te&|0 ݳaaZ^wSfuBF2%$!?8tUdhRg g(W\{3鲋g܍ߐ$GG%D3tBDN5yUsMn9%2]&OC0%b{=Kw3V7%JMl[VmLE{3 =2KTq?wkLfXZРu!:/Y>Y앦mFq5};v;zJ/Va5`9#9bk*km5sjYrKd5<`㞨5r!T3փ,%ң)40{Mz2 IZ[Ƀ&~*͊S)峕_5U?_ c7>+)@S,9cWh[kCxyz;.Gmagbl +J%#ņc-jeWmm~fP`sKGw $ӟcu<ۉqIG7ɛLMoo&6"R%@0/A<5 G7Z#m[͋f˲ +0=mW-atxk9Vij0dUo[w~;Kǝ,S |-N0vsK!M=fmz0 +ke(%VupwY)K"BdoSo>+|Q*kڀR[R2jv2;Ihy v\m\VO0٘tqȪllN80fQDj4 MH^idQAwTkCx0&ƌ5ӟZ+:%A)Q9HC}q&f[K.m~1bSݸ2~e[=~J98{KOKAܚ*rȬWɩ *Qr@(hs2,='<(eA*NnRuo8ؾ~FvNZ)fIzu@"S+b-\%:ԿKz ~OɪrڭGcd߭W^Kkfet42yPx uHn^$,Sފ>w'j` 6/ {BT~ˤDF|^kwkPC=ƽjn Qp)˻e>fդKEŪkEcwW8,3}dI7Ӯ<< tO0X)qy-g1 BfO;_f5g%xb{|% OggS4&H +zT۾J$IjwJLtF&P7_xw sOQ^#Ûf{H}m[0 Va0vW/Q΍Q+qDl]m]}FVK\DљUYq'ô>Jo2}뷸ޓv2Ęq~: + r(;B`2]^}.iCͱʘt-)&9ӷjaYY6QlQ(Xġɰ4Re0>;&%r׵n.I@iF0"F3xi '{drTVdV5]rW\ҭk5nuZw=Q*M=]t벞(E9#I +8]٪47<M!]m-ص%30c4/ =>7_I{oYi3paOkg3,`_?n;ZRPɞs(RhlI-Ix;j! VoBFq$rjG6d;+k3[7qgjQ>ȶW"KaoEwZ$\;<&cZbF+~:{9G6"ByvA:T0Ȍnr:PguҷtAhp˰ BVe0aorfP BV>Ufl`eo[S_e֗xWJ.Q=MCk=Xp4? sM[liU's7'1۞.ʼn!%(LJ8-~t5[)o:X޾d=F`j^@h%VSɞOҺ5sO#tEMI:^R5X 4P("İnH; M#{T"i*XR 8jQOO½_3Ѭ|ьMNL42 wP`OӐj,omz`yl<9_N`f +TfMЩ +SN(G*|7jwu26x#FE-v!Ĭ6RPHwm\ KQY1Js0[7 Uo!^Bľĩ +pdlޡ@z 4Ҋ˦Y|\Þחz|iLG>6ֶkn3B"kޜ 6NM\CN]Xxv.t3G!HSC4Cc w&JU<8vWp8ckSN_M]-[jv>iW}O˖nJ&we4ZVu">9ڛBR,.**6+|C.*} Ztz+JkNn}[#vٶ]j=,c?6^3GJf{ei'xtnp^{:8R57iTנGh(9 ,fTsߊGz<lIAb/1 $,ue$D闼VCs_ݬ_dMvq]?39ٲSяǵ%V|u#Wrco:KŏWi{nfOp6}$W|dU}Uq1-ކo dN]O^>Qx]?cIyGr ؂-3[adi-Ȩ߫MO[KNk(r,Zr'I{E2cm[Rn*:2"{9Gd}珏1_ +G e`|b ;+-bxo\Ok=C}X.:¦$S4vJ(WS*: s}= w0jDOxi=Eq8=U3]ʇS%eوƟKUJO3Eژ((OD蓻;4u:!y׋$qQJY0y5m9o.Uodcp9{{,e/TRB\]kZ׆֚{ߘbk7cZ8Α?γ3ydҠ!A{U4)UjnJRdOOUqnTMteQ 4w mZ "xbJNHE~4fﯮ+RcgCcsAŬ)-1u58i+X!4b`褡eJm<{O{G[fs&{)ntB#k{?('"1J)q + xƟM>j1(  2'N.Yt섺oN̒Fw2(tԦ v%D~ŌpxY^ t2}c/TE%`r_*fPtG@f֪7WIoLO5wF_V*I"'d֡U.LkWG*W=nZLo1) +4Ȝx:'P EU A6_S޺[aR9(VY!:RNթ TBwTB]X]ӉR^8k `cF<[I2]Fu뺷V, N/P)7,s1`%HIpm2a6B1Dz&ɨlWI`X&^xfg|~+Hlo,_Sy'Tu=*95y,E s*kc +1 fM~xˌo{p1 ?^M{)tϰt!7-{XŨA~t8ug4iI* ?8DmLPAO?OtWKJ;c2jjeZFG >d8P V?*ɼf@}fόaSMx vkUMajcSyw&i]M,eM77Q}VYYЋ"^GBZrOK 䇕ۅHqlD*d):=Aԛ+S!nѓҸGM8{.g#JK Cu~MfW w\YV,ԽkoYKGtl>>[T4~wo|Y)K5ZL +1 *L#naRa!ThU8oV£ el[ILCke$TC6.Yչ kٵ̫5lY3݌J̶Q<#"/d<;+"+;UyY^ދaw}:43_nxz`}9zs_JUx:d\ Y߬:Eۘ,K_혏hYMEJ&9:OEߣVd0drSg">iAeLwCQ[v*^{ qtS71+IӿF T ?z]xN l6H!•fE|Op{t/NAJޙ %2_qZ*1u`nKQyq>$ sۥvTh1Wq++t7OSV9?ۺqNd_ +}lMU&[0T)|9( / aр0]q;x3SO[p== +.-(C j݌~$! +l?1@akOqqd-i͖&y"4{mhbͩqt=5<'5nuOggSY&H 4ᜣ^D8pv?ro RY&6dmn6)/n{EJloiԹr_YWMLIô9O[t\~:ˀ=88',`mpegҨLSk3N z^/?ۦ} aE%iiV;Ppr#Y-kI3 +$ eΥ`aYf>#ayB0"p5W60orp,V1}9F=y@rm=@oJyg) )Bر}yQ,B8АPU=Lw.»:T=ꩫ#zKogB$SP4f6cVZNbCPGfF*SQ |j]GS1wDH!7GD6b{__#l[:m"ʤ< +7ꦟ~3qÆxd9jx33?ON/oEg 隿 {s~)y=g5`fv`r e&BU6jX?-w[O+hp:;lWIع2ynK +OH䖦Д`!_N!+kl_WE񷕛FJN-`>hBKd3%dXG%ĦSo~elo>߄fsAlPJӐ.۰6isLj]$mtg*Y8ĮvO s^>Ēd23tU`~7xTSn;Ɖفk8тy9/޴t5Q3e^>ʸ$摂}q u;.nK4۲BfDŎri"> oҞ1^Edቼ(F bzsoXZ|l])S.HW3Y:gmd=jF`z4T?aTZ,ʛ9jujՠzXowJgǗyN;J%G3{quo$>L9˿;WwOTrOrؕ%{~)d<&~_ٯXCڼ(Y"H<¸4DhsS=<7[oӐ.`M銎_r>GJseBan}R`SFv +#(y\Lbqε6o%cC6hl!jՒ?irsɯkQ>{p<`_R7PeL_ĉYawcwϲ+ v[c|Ė:4FQC)kOV!Jj6m>O'q巼O{I ?qfsKF ?E]6xwڦ,<P>;?dER GP fl9)"aH"\/9Qɴ.9^17g#)зZfC鶕w%åNfVJ#$BG6`*?4>wtUazklhR>Wy>J.A@*su:` 6];&؅\](ҧRg3Rkl.MsqS=>:`x36F(\`lNvpJpRy*,gA_̳=%5_c 'G6쭖t۔NQ%[7F0K#Hz9u˽ʰ{'kz$y~;D?Ŭ\c g=xvd/d]L6|)̒ll!e+O&k!գ;Ai9[66]}_ )AJ.Ӳ||dTFL<镲歉M1Վ{8қhK֖JѭJ%rnGgR KMwG;D\Do9ݿP-$u6zWSż^ERK{DT;v_U,{ͪ7z|s6k=Mn cU|/>xi9${mt*ɥ-6r3m!o19)[5R[L| aTRTLǢ'WFHP^r%U-Q}s5SpT _DI=rS\شXuLW(lnG= `zs6BȤf޺]W<v%6=`EVrv+xj{d_Ż[i{~+(&6 xu$Rg8b*dL>r`w9~_?8[P(?_@3MT#oͽrWh)m㿳-}lX=3?Yk|QU˔*o+I3}0ȉ0Q2;Oi+.OggS&H aDߖ>4H=pK1J:)-8q]O4iv5 Fmv f1R Ass7JL;'.ҙ}5J+BX6{ZU1ʂ`&K7 KiΒIGmS0@K-O>>S ."CuNGtMv;Sͻg'zb7">* $ ,:iL! ܠ >ɅTtxV„g= D ~zL#S1aÎA׳˖EgD~, @0Q.x:bߘE){}{u_/b !i&CħӅh+8gڀ;A\픗  +)^IPC-uWuʷc&&Lj [(':}WCI`^OÎ- |j*&B d?k8OQ  ):왐!ȈR"+ pv.|YA4=Ѵ9_8x6]{[JR8PWD(Qqc& + @ ߷12^*{8,O1E80XCԩаMio%zy/iidBWBJ#<ܾyB𽪖|Y$UI#rFqߌW;Gm^m9`j %@YŊ^O1Ǩ1q vـ$C⛣Ja9kG+$X*<;mjvE2h]wfe)_꠺a4IqCc#Ј1EM*ZE~|5X$gz]}Ϊ#43Rz]$baN)$-AE411VWFA`mI4rIc) MSK\ź#}g& ӿj'ppfpĤRW)X76#R&j{z9 `7upӑ&b; +2̵"TEtjDVaɛݚh9K)yn;q'$c⢘ft?>甡¢bHwGЌboc)Iv\rg K@ +DADa.kK xeOhh`p3$~_m1RǗ9$Xy,_'t }u?;Ex9}>V TCq\~ᭋÎY;iIQiΛB.6&{ˢρiҸweVȾZSrhX veC)+.I=n3ۅe5,zC{QdC@~9:E%COt4ΜFDiOkxUO?r{Ol<)_UV^\#;W 3ھ1?^3V]J=ZݻXtoƙ{>o&gcoY[ 0lՎ7?3*n:p+\uГYi3we}<鲛(꓂>rIyc= +QۀGh='Jζ0ݨnchĹ`I_~ԃ`90WZl: FƴO.~,H1Wj46 +^u󩌡]9lfCEx:7~Q<;#SƮsܷG }yjLs\.+n^ոe2@UT=:`}?({sJeoVwUuFL4 +.Wmtz9InθG6tC{wq_a 3(ϼU &ȶCO[R0e͜ڏH 5N 35ԣ10}%ABQ J`u)Yl#Si>VmHirhlWuṃzyى:.֧iJwK7sHؘ^ɭ}0_ };Rw$iv)-ϣuZy}I)a5\S'7vg}֐e4#dt=.cjrL/c#+DA6~%5nsySw5(:svSf5KAkDpzǩ5|9zmk4=S<$}VT㹮 'F%2="1Rga_Ӗ^n+7D43F[#GyvuiM-ê1+1JaP;+{/KoQ.ANoTl~+t->st pȬ_(Ԯz-(ӫWES~ɝސ4h楒G rRE0BHwH&6mRAr 6/pDG*mṠTY:dXDڗFp5ƚ' ZWH K^f 5k^<B| +qWl=iV&LFQz̲/D(Z +P[~h:՞=iH?tT8ֆi25a2ƫOxɮ];cӈ+FYFd3EfFd +,SLxNEemh$&K-6t=zuYk|SA0_vT!ea﫺phOG#+"2ig{FG7† [4`/~;v#d} 32hWuzs+t[PITsGOWP*dSlbϮj 3j_D޿hN|? ]V눨|.3ei +FgD)r{ßTNgK@b!f3on_#jJ$4>9>N2ndDN=cd60/6-U$dzWƴwĘf6/{UwW,> +_Y1dyQ`+a~HHј4<r"+,Zs{YkY؍/!om]ïɩK 1}.wJai궾hx %CBw. ZG 4odl7yUwA8aQr}#{ +H1?G;{F 1 +f$;Zɝ ,?%V +MCIb{Jɩ>lF] +U ,3-ϔItsspn٥dKc#iI\VC^:Da+ BH &cE`+jvTZFFB(2le9s`YjJI'ۑolxS7K1K}hNOj{o<tC>:+}6 usϰCdpWnkmsݪw`_߭[G3w oMT\Gɓ眧knMjN_wImqxȄ"@ٔxDJtݣ&.g?f ?}ڲT,bRY +;)-Wuv+/T~K(J%!n2<] `<.6,`eV ll[=#ǵ~٫/<"RqX B$* +)QwEԇaXIV4$Sg1^Meߓ&{S'ZY|ծqm~_'{{AV8&Y!âNOa5}W Nr^3Ұzu~LRcHڙKe0O7;_ zH_QW{^ZlTMVIsp鑛-᫖ts> +"ޥ=Q" =uʙ-.yՕ7X؜J?דhd Ha!+~^Lrq#[WO0 ?;7'(K)s +? ;&y+ IeQքtzojm)$>E]iμYXZJ2-I|V;oӱ KR[/V`_3uj=AZG}[0;bDžxk84Q0 ikXD iȐӲS% DyR{TsK7iI``NNYP%_v۶~jZ ŲHI|G¨7=tCvjxlW _}PDG{ݖNLMY^ѧ諍󇤹Bvg{yz3ھQ%Z.?v,t=s.*MRX5bp1IеQY";7.JB@vZI.q!6ظG)n]KNk T&Y$($pҚ52?AB*yIʺ_x3:Fd>x:GkR*ӳg{g">;"ot :vhM1"k冗7m:!kQ^|7׺Z;" |5hgĻsbj];L/`", \M lQô(ؗN߭>B$d4UtZ*Ko!q?G}1ѓ`2'7fނ P.d=@L/Ҥ")>Ol\V;$¯D#ۘ%rgqL^W%&^0u\8]SZKAg3Icۑ8@،nr@.7<(0hJST ̙V@bIVl\Kį+M]mY$:4[uW,*8P`Qo̐c)@Xc)1 +E% _hBVub:)JO{ +t:PóI:g=˅5GZ3q@ԏ/}`"nf"+3?>iF<:WCxowEcQb߅)C7>%31Yg蟪qDUU H͆{Bt >P%z6:^Ш}4ugߛ(7eTjoF>J)/֦9h*k38B_0SI)9=wR߇T)`slH9Js+ +!{Y7ErQ,D<|PCMGcUؚcm +E;֘Z1IZ<$BIQ15C\eAԓn ǸS7A,nhD37]uO")676ϓ.ً>y=QR5qW$ O^۴T@}aVc)P^54&oiWu~ fXN]i5#bbpQN&a&*E CoV, uJIp\o2;/ĕNVЩEk&쇠} +  yJeFRk}u92#W{QJn/uo(OWY@%! R]lUu%JuIy2m@_FG|'@Sf#'<1)E +HXĭ\hEF\r ''z܌ _Kv]'8a::(D3l 쾂趫:XT&XB PUfJ + |yˋۦ"7Nb$[[Y$A~4<xˁǢ9xokUQݢL5}Pԭ'#>$wS4S[19N>XNbVrT}IAZ~.hۥKM-otݚʍXJ3/Ҝ)-5B-z۴=14 p*Mzm m+_5jVgkXz~&}^]!=jaR`g?;uDn˨ҸZM>gϦaŔ~ !/lG%z^ݾËMqP`S/.y=d7hM<ޣuV^4Ҭ"Yf|׽Mun׭Ի7</Nk}<5 &Zaguj[º[dž ZH9( R$f>4A*YS7=3ӥ٬[lֱ=01M#ٓ fF] 5yJ#뿮G5I\ʐ17CzhN9QƊU"迖ucͰ79)(F7]+qِsw2TD [u + :n0>u'Ch%BdDpmQ7QRlt|wm" $ uty&a #} `R麶G_f>;b-rg! qZӄq7ͧ!`)R=:Upa5oIgB:oJĻsFM*63ltGLā1|&fŠ̀Z mjk?-SgFּ;9ߌxG +פj?[җaD + + z +{%͉9^#A{ίb7(>/ø*e=!r# U$l:h\m#HGJ|.eccɽ4ftQ$Gntu16|3Kf +]lLVUcjh\$bN7B1]G Kw8LúզlS]*<%*'ީ־|P\B~j J|Z_;I=z[4on)vHŲ|4tkU@`FYx]C.u+nó *j:T8Hmg=~)$rKŶ2է?L3ij4",0HKҝ[D@P q +_O\C40$uhTwfguZ62(yXwXFִ7Q/ޯɴSmX4`NN Ѭ1,ףk; F2kf֙F;ݳqWxGgǥ!CŤ>[$DߢZ8/v%9R1 Y\Kj9J.!,(q0D0r^ljL_lIǛ$5&sLwz dǩTQEݰ."S\dw٩rFE$tw'I"abdCj8OƾW4;Rů&ehLvwTu}qA' {D8Jw8+Kq[=dߤ0{a UO>5Y8J7>U&}c:^QQ(CKF#1.@Sx#|uLh: +n uc]mXow˫hՈ.jX8esNh q?L)ҟ-[_GL9GϽ!uJ<츹K^2l,K¤Z%9< &>U{zC0_n8$,a\ʔM3}^3qi"T]- +HWtk.o5*"J)+yZ$`gN-pxOfA*i ͝JH%by2"~F&ξO[Ycz#!!B⨷'9`*{fw>`2E{> *D +fRyMBX_jq2><&"Cw,.E:fZm +8ۜvţXtZOggS&H p霦똟*\jkM~THC>l_4|ჱބiu +zc +1`9LR?dШ0HSQiG~+qTPDO ?Ǧ@Mb|6<4;-LޔȲYv`X=s[-@gm-1h_;*L޿['"P97D'AZaYF^$P Q?(z&$M[MJ&1Aˆ ?hjJ<(ASwzb^d_e+G%_Jc!A C[nnFШBB#.6ǜD52\cS1q{tʂ%t}C#pcPSY<͞K{T0{SZZЯ4~U5mзں~^sD r-E- A$8͕ 'vʚ=! |U%|9ޭɼZh̐e6-ZS,S_{?,'tJDQ-Oi-gD5|K!!k5˲UGZ(-`L>rWeɭ2dKTъ^0<b1ȅ,ޕeEQDmTC%ݠquG:l kshmdEYmH1nJ++7_l_Ӂ WVٰk6:ڱb^z '[a\Sקճg_=va,UG}j$pۍ?W_M]|u_i=wK{A\a02BhfMQ'ktj 3_gE=Y!y83 EMDxc)湾\*ӻZHk bZpp$J ?Z4_ _sy*pŴE^A}~lKo7SI s'?gj iRoI,HЁM Kp[fә萎, .ʘdvR(`id_!t"\#A'XȗR͸`:^̔ A1)-; +g퐚M}߈*mTEYlbKH4g@"?OW}=+Y+vi_)͡x J7xMl F%2.9T}IUDӖ_C9?>xLG7(M)f{)ZDKX~ DHډ-eܯTk[;2fC5G w6F%F9[4u9!9a+"tFN^ +ar#x(e7rmLC^DE{h4车 QyLs#;֌ZM8|P3] [u>٣aRJ©ŀWAuqO`7*JWWջ|Z$2.nsvwIF>Y8A}UE_Wۇ#Di~d2%8^ؕS܏ӿ/4\tEuo~D']GsWwu\Üdɲմ_*s&,e|s=oznF{9YvQ5ϣeWx6,>};/d->[]kʃ?p +:[]Ti(ro`Oj:t\7;Δxʍ +#[Kk˛ # +# k.(bd#(dV3"A5MSk5 8gGk,V~,>2wULߣ&:WWT:[ͮa[ԯ[Bs7/8o:WCh총vFVJkZyo_L4i*֒: DTit&n-]2먙GЍSEC"O6(kPc0ɮNT1N\6c$w6G}3TFڇ͙珠[: #r@ɨhaP(pvU:QM5W[_F_Ff$dr闂MH_Q-ƶ泿jo{V +[Dw:2J)xѴ9vw>2Rsu4K2 Dqۊ{+ݣ&ŕJcĝkTۄ4._vWXzmbEWq4*I!I&J4P1&ߔqi9H(t7 '[p7o@U{yU^蘋Y7oțxYj~V۶A3?&(l+w˅4!) ;}('\\*k%l UF7;H2 Fy2K :m/ D(1r^A7H_LɐlGt\V_${Oy/ FFDW:z,C5?c]q.L=1S0`x[bÐIr?i\YϿJ/2A:5mګ"~o"ЪIADMO}H-†a-o$k4YUb  ڠT{*%`n=55_OପջvBӟ̊ʜIRɽ4,YgKKBI@a{3Ux0ױnS{zҡ9{|#5]#4\`]$f7&h?зNw:.\ E-rJGM)U$fc#i!-Gl! MgmK\_QxǓ +G5s?0W&l{w'h{@y kx*N ׄFGF39*kUsT͒xϒK9[j>z"}(D]m%OZƒ [&zӊ ] VO6mËF[(Ԗ(z)OX;ˇɨ%i\(8d܄_T? m؜Q*&JZgg1ۀRK.fʷY7-{T)U_ƥGw7YOggS'Hm}L|^YD GEXi;0 9"p@bX ݟXc%+}Y0 ,9|:%>K k0?FQ9PPD0mc1kOH-i)œm *MhEt>ygB#l5K׾ j-E3H>e +hma& QxB!H + +1^okb*X(F#fXP} Ԁ75)&G4 Y'IZ黶SvCM"ElX ]lIQDL"KC䯘1"` @cD(uDvT)i5Eo擉hUk["r_ [{NiaiHKܻYTaCz%@@d ,k1]H,H_E&` >Ч`Nxپud +`IaWOdM.5**)jaA|Qtedeb@$Dd@ie"DkS;/$`};HkW2n}r`Py/vMW D&dX[ g,o:fC^'yHS`cnOH'Lgk>3V X.X_,AO~~9+ ^☣| ag=7aAPfRrłOBz`Kw*YWHb>ӚҌ@K .#F{NNKK h]_ZFTOLol))vN{7 .cYK 叜JI?@h"Ϧy&di v*vfq$M_Wv !H',Aŏ$y^KC:lvB +oShhBAFc̼/m^o[bk =+N#klZdE`}LӃbL3yNm LCA/mKpyzV?NEw$6Y\WnGQ-R۶h@ ޠ,=glM!VF0ϻ{{鰏Guj|_?bmxNފ OfJIDe懂2ꄄ1R3U%`tYYNǍ .NFL6SO&~$ HqS)3 @n=Enzu4j4Ho_BS&wڔ+*t~c^&e8#Aح٪^*H8UКA7w-!6~ߘ˜4rP.uP7>-i$`"] +&[(aQd@n4fBa dMPMdcop+?`]rqHQs2F +TB4kn8meƴZuSw _\eP:ü =_6"O$lȳid_hkGɎFAE{]"F= zu>` za_`X5BIY}Ty-ֆ۵QG:C",k~IM "WD!9#~p;̬J=<.77nm03hEERu1?.6Ag MF/2FqVaF`0`@4Bo' aˍ-ͤ]cq[q0Aeqծ^.|dZdӗ(O6 H+E28yHvRG?Ѥί*^Q6bIC(ѪD_D-Fzyy!Veo*;A[R%}!Н |^!޶ 3,T SO!g};i ~_ =C0~D ϦE~`4u"qq2#.oL@Pniҩ?ך.H;#NJ_Y2$-rl(I; ~U<7/yc/5Vƅ[ȏD{Œ~yƕ MI}O4JO[8rP3?8R 1 ^ #jOnbF5}b4om?6hDFCюm|Izr5 _2D7l&*qZ}0[)[7m}?}_iw^'ɢ T~[D +dl*ӳjNN77}~K@雔|3Vf;/ocV4_`J"7KRc#rVGO}<.DJP8&N+ zW4͏so?F[K + +XUUVZx41E\vaxp4K}6=gڌIFT}a22LivHVzFC`:-=Y]zj\ 7K[c9?m,+ӫLIԱ{؟Mvr_OVMDA\^7T6~`4!TJ +3-)%OP[|1`'[ީΓ:3!?ƻ u鈔OҪT>X`GB2gA9c>I]].Ӥ"&/7RkDs+~:D$ u +ta1y\;w_B]z, VŜ]ZoynKęV3wmI =gB+1cK)ڕʶBNb^>[rs0_||- +aebZC\6Ŋ=Ǯ%]TT?~[DXzoU `ܗ;MU07$oMŮ'V7>C:Ds Ϗ:9ǹ9v;JE0Dӽ +yciB)lVsH!Զ +L~(]6oRHkٰf?KK\cwaiP:5 +B*L㽢{үVΉ̒~Ij?w7h Q534|;-mV꙽zI)Szf[j׸z +Z +DoEZqЃ =HN8"9g'-fzX{H8kFir!0NƚZjrz׉B2T?=]dE9\U/s愘a Q|뮓_ԊeTկCWIi4얟{Mj{.q߫{el4,KdG;9nb<!ECC /ܳRi\$SڸZ$NBHlMhb1{ tgF]YAbc(V.mb%$e=$cZqcqqҢ۟K,2#(=AHgF<+<{kGp1c7Foď0֗_WS!]/v+nq#K]ޣcOggS:'H77vܞJ$ |/mG6E%%X%4tTe,4|gAz0IRҹ/b+ryT5{[fhu1ݎ3\ ?4+,J_Nqy B/&== J GAuhͩGz1 Fv!t Yϭn$MCe!p^ gC)tXcݗ9YY;]0R0ҫ% _~$k֌"Böj[mS!"淋9bV.ฤE./ {my{I tỊ1RMtAVSF?7 +^ؤ@l33L?mՂ:K=ɝt--'7q+ƘJL=1!ެ!f %Š6$Zܗ 5 +FtK0-YP kye0'y\ #RD@'`X#v Mf2 +v*vI%==kᎸ$֏tYTNN{Fz^ʿ*'G^[S1s>oT0|wD{87wg*ص +.v7}>&$|dq,"oxd@[a1"6\hxާ9eߣO]$%AH#QA1?U4v>M0"v;yeLE;>WlA6=б0W+iQ@pjP{ N(<+-EMk< _̜HTF %}iOnQKdEҤFd_ ],=BJHqMF {4%zopC'Ȍg9^-k1tp]xZt.MyoNݓGAzqn6^v}ZS~ޜ"dE}'Зma);[/3O#ؘ9T ̂ *Mq{ћUw .~qLT,%47 +cIvGߋH,DrF.] +*9ܚV8l#FcB.P[ GU"\Zlx/+,)=oS>;)xG?6z"x*>~j;fe97*8K!jx@[ 0:zK:FrlUQ99A}ge˶/+Y2{Kn +>YjʜRr/C1Q޷9j>.HN d"}t'vVTߩ$So'kWI`*j$C3CM/R{NgYY٢ǒVeǸJR1TFD(з9>=V+7 ( nmB./$4ku,UM1"W;?CI,wAxmͮ¤!`Fa}LIsL8 +ߋƞS&Kre4-b)S3N6]WzݰoM^맷[UZOggS`'HG y( x f"^ų0Q<CGcAMf{ao "+`v.޾[O=D}r̍ԅ~sNvQ 5qlyg1/O:C<:r`LPgCˏI\u3f,q>Y2U d}LwG}%gvaۋYp^\O"+Q{r\[D~~Q⦽L?9r6+)%9`6A(,C\IB8x@6F`Xn^WdW=i~G"ul +]г0+uJځTVj 4 _lhܑKբ7okݑ2m˄тiIP3)M]{3qY RQ?D$Fa|))ߖzCez)̩`Ny2E#UJvy'do7) +~i\Ȁȹ 4bcD h 0Pe&~=W`ؠUژМg /*:V(MV6_i3 FT$\&n1c囄WMhK#ip]:m1VϭelQFcz-v!oEנ!ӀIx2mb 1ێl +L?>`i5Vy.SN4>90N_+rRdF_xR `އuw(1AQ@"7ӘfXQ'6ya/KHAc\@̮RԒwT0^s аF[2Aή6gx;bi!}ѸJڰL"mEg!<$jWPHyAX"(;Ba'5:|on/_`L$[c7O][s +^,[#9+J8 d)JJ9cRУ_ܭr_#F[[3;{+z4YW0֔(=ب/j)3!Typ\X;l^9YuRkWTknѧ!gKZ}ф0d{{ lG颐֟ƓXWLizW 6b>H|#z0@@@j9ݨTo[Jbp;nS\z\蝴;=E?b8B8n&O-ҦRi,Uӻ"@A'4 ӱ[>vl[PM&Hai -M=Sk##N8B#O)usnfYs)߬eRڴrQt$ +!(Wa3ݎ۝\%T`"*"+xƌ_k̼ H\:,/fI@.ulU g9Cw(qf|pN?٭eiZ]n_4|_"/4T,vO33:CܲouYc6KrMLqƟ/>:$+22( |?8]ЀݤYy;HVآ ̩֞R{1Bvd ӗDUߘ8d/czN&Ny֒'#"\j _&c5A>xQ}2|fq}3V~q:`:]Κ4.:QWDz/{r}nMY耧E!`)LȜ<=ki;,U[2* SLL{*7'U/A&cD_N8"6B" +~k άY%,D;}G˗l!ё0߅=U,mlV!kTt&+44jhRD%MQ-':Yo)?7ɹ<SsߜL0. Y*:@ +dQ³J0?vUIY9~<>"XV6$=”7u}B3*#jJl.G"{oųY])-V2H +Lϙi^SG&(*n,ɺ~<\Å˦&'r)@YF$^+d3蒿wMdU*ݣVxZgo3EQBĪUTXD3Gg K7VJJ 4,I'n"`Qm݇t5?ZY:} +r6YF"y_fM#3ҘpQѨƄ紭RTF$cE^^UJ.l")[$4H=y/CfUt|j]jEUeZv8Küj˨aeX-b=ނwG*VLUI\_FPB t/I YH֓eWk*!'Si!=+0AfT@#{yU5ޓ۬o'|-}?l/|V<\8d[O:o%u4fJG3JkP)^x;RUJ8UHRaTY:ibnf]DcHثoi+ +5E#/{Ui5ѷ~}; ,fȢˏ6Cf8ZӃF)jkRWۖ7B9K]m@566кF[ZhO9۴[ >{8Ѐ74+]'L>%D0:`"S6dT -եv2\q^4akN{2Ҙ_'WzCN.gW<%K}dpETP4 эi%'\Os:۵m8(-Diѭ؟>Xo2?a}]_$=MӸKۜF7۫6Z^: + s5Q9 9Sg'Ek6y oٛѫL[;N}G"f&ț.)yH_ʦg-F%EgY\ PMk`%gX1Mib?ޏ;S(}|y*RyrMJ%Z/vڨ+-[q@>_Ȍ%J8`_,5paaa4똼Z@lHL\曵|nrèMo,olQgaLZx؈ %9_XKV~ 3:[-}mS@v#JQ8k:*ԕ<,el=2L_9Z<50({DcL˽bNm_21d>k9lwA) Hj=0 o2[Þ|v\&QŽJO/H3٪n̩dL؉DL4F/%kgAa+u^(= a$DZ8<)ALy8W:@y~ Jżmr{%*<Ð4;ܴ;J$@n4ZW8D'Oa .M#M6$@UO؆{Y~qZͳ7T3<3tK$ +J D?pEI#+ f㲔𻭘H4N8 + r^V|+,3gHrPc0ձ4lũ>UeЛ,cL"%sݪ`VLO7Xrtkar陒E=Bp]q +OggS'HɔyվJ4ð7Ӵ>@c uv<><@b[FBǜ6\'"1q{h)/J;;l3U*A=R]U .cɜ#ugK'HYY`g38٩dBmH.uj WX#kaT,dI,hH%QX,tK!UU0XHJ.)f464x$msJNCڳf3BõqP12jD, DMɯز+ b' c YYu(Fv3-ը+*{}7EJV<0Oz#O͟ BW4 +VvIdപQVc>RB_T؏nұFٽdI H,Рb~pT伽OdUǯ6sB0`%Q"% :%t)mgSdJzv#{>U "t 6bo|"cJPXom /Ȇ,.#0}哄<84`Nr TC<{m8:A}zԓSX(pJU +.Q.3M׉ g'!gt +L6@OBīOTS=u\*ޜ?xTC37䎺vS @aGW`F)N*S&69GaB9h2| +tSNϋ\'Z36x<}Jyr[X'Ӥ7B$SA2ʦ] e!6T' [,Ȼ'/l1{RlA5=\?wA+U/لuϫi_~2. lxp<x|Ԍ*f埑KcJg*#ފwzv>z$ rse:h3 +fc{ ѪU7xM,zcbo3;ۛZWu^miCH%s/$HNn뒢v{v,xH~ʋ[`KݾGnJ( m MLyNd~sUHәz :JxѷT>X +.5M + +O׵c~)zəl_V%Kc;#"}ZWDluO;u,}_} LPIYtvR}nvs/qT-C0,ZEn6N8^iܰ$JvDq9_:J}^+hiY9a}uȸnb/K*Q]ry5T{MMkz5E{T +zӃh:r8Υ +΂ ;o/cآ+ U#+N]'KךEikm:bL*u-7qZ9굜o!э[$P4>1jzIb.ASp.7nwDhNLi=N.#vSbv>Fx!R:'͞ڍN8򏴉{&9n +~h߿ MQqٺUbCʘj m"hXۘKhGK\mu\rJYjeHE~J8]4>CA,nyiz PUv=kو~?{\|AqS +EFi/DM C"<>Ҹu!v53_3{BQyK]٭,Xz[:A4+}9P+͘qbaștݡ"xeiHDޓÚ67s?gR3xr{eA5FY ~P4-<]wG`֡`W&WGbt7%*LkgR}}[r~Ft-ѿA4ASLvsF-HZ=e}AM7G  \! VR'wO3Q0]mhljjprz}^t aic5/0ۈ6"ҌdžD ;z)c{v@jw{(⒠p *3gXX햳`j\c伮qI1Bnʹkx + ӡl_tܴRŵLg>utP\oǷ.}xiy-K݅'}WKLTM2кVgS{eƖGqm3&X!ޯDxY|oH ]P>J1Hѧ:ML1ɇnOm`dT7?qowډD#aFALT#CgIF;HLﬨl٤W΋"/0:ƿ뚔B[f=ZkӔlk4ݪm#w QU@4[7b,N%5FD EoKmK^.kßǏ޵1:I4uӨOggS'HF잠>yb3=wRJY^YXҤugd۲MŪÇe*O(ZakdfXH׭02<~:iU5mĄfːSZuLel~y岯bdLa}ʧ6ʺ9|7[){8O7_ +bxTNBt&5ںSeZm#~>iletE)%aBBttܖI"Sp> +Y +xs$a-"o)sRG򛓶F"QLic} + +YS@'M % (# +^&d?<zoAlៗz%E" n Q O2o*6zzi=iWm̷ByI&~1MW`EncwWB =eE06XBu%SXa!CP: +i[|wjc7 SnLh1kcNɆ.ݐHLۚ=ª9~z!њ$z+#O4Cu.Oo<%Bdy9`K Rm#SLVQY"z-*]]Q}s%Xx}TH'%^c>d{m>8>Vsi/4zvynV'?DԽ*"٧J|EhԖٱRn] ND8Jc5p{ٽh-_'׸z3uz^Mq/ݺswq~^^]f藥]voe>t|tNN:Ү޻އ]s#^Nxv]Uo}y|nWG>Sx[0 +m;|=Zwˠnַݝ7{-P_s֗2u+v?$ܟyg7vF +)/21_wJ碾5}rji˳eG.z&ZZG9EϮ (vӈVdq@19WUcrkbX+GLFv"%:n; \('=&Ӈ)sWȗz+soW5ew>c0e2S]eyRj*x FCb[٩zq|;lhRx& ׺4䒺 +⮸64mç9ptz#f@"6kwWM0= x2b] O1VeMD/L\EQ).8=t*}^yU^zD_8ג P N5|L(]MWx2c&BXe) 'D2b2-t46j_;MyQF7ad"X_UF9V6g̈́2S-'zKO}_xiFBViXdź?l:S dKC>}5&&kXǗ~Z.Gёdkà*%%FhW7UAD J"ڏiCSp,Ypl`5f}6 Шe),W 7modBe1,WL,Fiկm~h~++}gMO~VRuh;,V(Άv~0U gϣF[\C8̡ShFs< +5Z37LfIGkMoƜb3](W):^Jb}Lgb/g樇Q,'*L5+=lz~m: 1fbZ0"껌H!޾`JuΨp"S\Qϟ1 +^3yw"߬#LfHLv&2Dc(B(|7N] +=""d)[po('VheTSA +я]nY<kl_<8LRW9*ZK'.w\_- 8~+ +mCmdj֤mn j3y"vI~ IwU_B8-V_kLfm毥DYI^n)I)Km yhIR+1b#dbk!d2OxVO} M#ŷKd(xSvV:r@[ 7WrfZm9 m +qA Wl)d3Ϡ$fsWH<+M~1hR~'/>ɢú} Ec_n+5u<_hGj$ M[q6a8S:ξߕ";dE9w)~awzM-ؼU[`+< iʹIZD<r棧., 59fRHQ~*{..bCU1Om}gPS'_ QG礉˴URWG+6Kwt;tJٞ1ٺȽ-F J$ 'ZҎhmM1hbcB +xvUO R^-7L%E̝65Nh|y[w͔nIvųFH* ]4fha U ^i6g+T;dUoƨ݃;_ nĸ#DAmfCs3R^Uضէ_>PT-og"qåGJ$ҿyc>#x aPС=uǃշ0(ƞt1ǝfRjcMˬND6ĖREs_!DRfcnLC>wynokoe*wSk(-m7[QpRFú{:m8nL瑽 >H!bTڜ~o_:k%_ zoӌ[}&kT^I8s"C(v3 .A&=<)]xXN>I6'TTꥢj}}+J*QpX-N6?Yl~#.;ҙ⵴rn\Ldr +\WVk!agQ\Ry\ek3.>ԕV(16{WtmBkOZ@XB& +LI[3}1XC'␁6uH +tlW[a>V~jB&>i0$'З @ +ONbd _z[M^}f3N HO_bi/`*TM(QN' &%,y59*2ZlQnQ /-&P1 g%r_ şnݶednҩųowH ͿnL7VYJSaۮ?d(da.DM6] :/at-i'&dTTEFw>$}bޣsQr11IjDH>x=f^ڭM;=;-\ TԞ:6[W})WXfTX.KM);;=?/%qW&-Ѱ~>!кB|A畵e.0eCZS4h?YyszW((YLh0f' OAƢ1ߨHD}uҾL,Dmŕdz)`K +f ҵ8;*}nR:l)2,n'M"**F{UR>NZMdNn_N.sj_ cnUցX>?i&s}CaߴOA81cV0V*ZDS1ŜWyLj rj`fduՕɛuF}eNj1/{_rA^KH<NǤujLѯ&m6OIQ4ߛxIqlLj6z鬞z +u1NZt%fk8y{K#Ԯ4HP= Ab]'9-r=a$]ީ)~҉›*i;SbV%3D$4 +,l ';ъ/;~vhRBut3tgoH$V̞/g=KYΫ4&,X#3pbJ`;em[iw[, +'p{s͡S8x wz)[_f֭3~J$ +tE„bzx(`%FvGhYT) IdA|l3˲cϕxԠږRL1|SЗ{z>-EԲpLMj39[Ir!!pӴt+-)sTpU'V*oQHkx)jOV>1rYUtVD;wx#gά^71wjn?h= jOZu>n.B j68(]ªzWDɮɼjPfo<&;w}O!DX̴]o+Ʋ &;RNU҃c*^Z L<4mU.#~R ɕy3.QnIE$sTnQm3bs 'Ƙ+ |)lNGE܏yygTx(yik +OO3!Z y/0Y␙)]@x4:?>E.V1[q]V,-b~s%U-ąBPOk_hu3p>BSQO2e괐W %urh8slTjm/Xamw,BkoG뇹2)J hi8°g3rX۶+e|rS=[B.yM !:~K ? 7@KVjv:3a,&\0y#I"_(L?FĶZ#Sh„΅]( DK`l3 eCIouUE ("Q4Fí/?14ڳWb\ĭjjVMQE`.hV*0u+'=օuT@P)<-(c$ KSݛbDyϊk {YTʹe8-R.W}k3 ˥hߊu!4FiEmPt=7R.']p(?HJHB3k۠`sXV'bbܦTzԡ]U$y)PB\he;j(Nod}A?![ڙd5 DC8x +9'H<)zftʼziU}[qo6MJg&[ikB &?+ lO#HPvHc;ҹeS,U6\CKvz\/C;{?vxY:GRXGb~)ᩛN[-7ȖyT:LSjG撢~g.s7.; Ϗ2O.-B#*>$ܭbMjU{>>!,\I +7rD~_k$dIjYBwexs63oi?s#h]v8zmT_f?Go.;~}ǥ/&=z,2Tg7ML& +飚yx|֬̿e,wld^8{=:l? mۖ0LNIt-޻lys~}yE3=̓Mݏi`{V1FO8Oo.1(s{9+kg§vW5L?B=3.ckI]_ܩ#zEAv4]_ < +2*ّc ub?B: *xciOFK۷".lY}q,vH>P rq0bw F,0hw < XU'疎^XlTk=!|e?i:݋PW8ZN?sp9ueUI8 +FHOEU*kgQ0ݔA6=-엀/۸XnÒK53V#}pi"z1y>0?Jv̼=;m ZIVѲU(_A8=Wp|o4Nn$b{蜪KY:jh)==o|N1-mCFMbiؚ}zR7 7>Z}"> [IqS<6*@v!-hv]G8gK{r$Cp `\E9HG9kbքWRe;{EX9?v0y_FqDص50%VYc2g|u +yN.ׄ(0hC2IL[1eSUB.̼;kE&Sirq1wBKJ{"/Mw5p9멮qS}x%VxN D'U^o/l a-w|Q;9^KdD‡ݖG;ZvP?@,Tk=@#csTN}ӊNօ&l-KGnozߪe* J0tڀH$ܯN:LLJȵ {gD>w3Hɚ !ֿ=~ɼQ\=ݽ궿{bvxJ[lؾlu+Y!]դ]'fņ26Oz;T =O_qiO&sN߂7 ;1&@o(Aa89=Frt)]3{6a)b ل^baV P \,?-3|hʟ(HL^\!o$~\+pgDc}tס1m:a+K9*I6&Yߟ,,q2OzԧZwF&7FM[OggS(HHuy޾ +$ +/;~J*v$] C!қP,Cs232(fk=\V*:McE2]ue/1jZ; Jdfj lQ"_X>9Ur;I,4~-!}DȶUH +ȲL(BxǺriT)?OBʣr1!z!dYM4`\/5ifN Hp4͌q%JeH+P_)^/2q_}sfVxsCݣa 3LTq@I +|YA_Y5^LnfN`sT 5DZ4 %ŖA{ e>0m@?nk>^!{\j\Ƙr6GQˠf}?Q_-! !6bɻ7 $T +K2v1-+шl i zҫm"q71*QcwjĮw=T6)8_^>@2_2@ 7B Sn+u⁙H0 mI? + %v[5hwF1mpfʹSX-e~Z3}Yw/#Pf +~v(,ȃ,ӤmYÍ +\T$F*&"FLd8LdN.XLY6ͩ "9,I1gS$}ʳ^R[֐[kˤѸtDA8r/8Z#}Zr_L+I%gjCNJؿA4A;cw"'[? "myc//+@%E3 N(Uҽ*] ˳DC|-\Q١mb'nZKe7>aOlE 1'k9dWb3Xo4xi+Z`2T6g73IYQqIk-~Ab LY@GhE+mU2a cS3ݛ,{@/oYPr˯ٿJVJޙ  +pBTL:̷l8&n+3KMȮNiFxyLNVWJ*xsm2%]KeéT/VhOpHM:jex*,%j(&U4QL:^iDagaqzׄJI &CqHJoo_6rMKԑ00Vd+輸Yh@0y>(8,T8z.` :5c2a>Xd5`R^F;%H +o_`ؔW +A]ir=d0>R/2B{6|[[@-dʐRq2 %T[RfPx!ռ*8M\$|ggnf"#I-Gqr(]C'f &iF6{Wӊs>yw§3 0"lpR FCqk&,jUAn8F==^Mf_I?&{9#mIƦ [_]ds] HŴyXBXAA! +[{ȦcƐm\\jo*"P&L4Ţ׏ I4jv(-ͿKrLF%k 0knF +aJmac~;Td2r0ht*uĠhc.Gk^9a|݌z ,wjVLljNl+J 7cDH;+ q& +Im싃2+njEjz)"v VG mG=x޶!'1jklWHk"֚ YbĨQtH[P CSؒ bT R1m|oE3V)l6_dhfͥ MBvU1[U|8*f C!ġ1c< bTs]h]4*U/̑%^vev)AsCUm)!F\w?^nOoR6 V785RI!RRONCFZEI p{Ηp 54H]Yh`mTŨbo0C֒4 4,M4kv:mgVMhx[Rs`rx'$)ƴg8֏ֺ|D$)- ʷJbݬjDDKR֒(bt핲9drJsBw +>\t^& J8CJQY%OVskͨ◬{uqʨ~hd4rmIێWIrB.* BbcRI-zǏ[KQ˨KGs{[MFW=6e;ބ Mbfx*ozzXVh97o!Z>:D0_>p +`1* ϋe  +*۴%@уWO_Vʇ /IaSj)ܦÃ".TJ@yu`Elf>icfBeWίZ۫WBXd;D󯘙cw<k<$ E8G%N|N:L*{=eWT dJrN5r'Xoqo}[>JL!es&N i8EGE >GfV +ه>7d7t1jYηD"N"߷h!Ua]!/n7A^F kyk]B}$8RXژ{V AFܿL1KG9'.b8b}54^NOggS<(Hm}~IO hO( +p +`%=7LB¤[9Af* =]cw*ݭaf\By;_[˖B2 ,R#F +; 6 .>dfk(g]âHb'2NI8nlX-Qj`/Ӆ +1kER*w[1~rhK[b H+P2' ?בa/py:lP9>'E`PËI8A +=㐎Cԯ%\ +%kI.#H:[s%Z* N6ay2CB%@_f.[2f[*|`LR!8peEb;40u|L Ӆb BO?5_(Dv0{m1wowBY,(@_>F]8p,g]8,X`apz+$s2ɤ_dP_&#g\80tjrߗ52=K2u\WA6Ԏʳtܴ׈ +$-؉? ی#$h<ѩ/mu2eȐm@fhgc[G m$ڣXbkT~P!+WzyԈ J(~E\qw~Z75~: <ܡ |@ =S>^Xg|<*l~W/bUx}Z I<21AlRJ1F a +9bC+![mD`Oj ?FBcc` +?uDQkޔN AtV|)U(Y2eLf[٭|{5*;k-71ϻ?+$P 9=nfފF!~nyr),h#ݪQ.#XTᑥ9牉G[|bf˅@ +aVvmlq;#LcUYo:e$24FD|1vmh,YM!4Jq+]ךI9_}C#*$8\.l 8B` +%htPz\>]{iJYzűL#7;IRZ?Q#$vIC<^'LSgsxOoA\#zHaɈƫ,kљ˿𦿰96 D܊4SWI[p9`)mV:UW_BMӤg ~^ 4@)GFX2a.5;\^ +Hwyr(uXpGѵ +Ӵ%('#cj0i 6+#dٚ2'&̗+%1cd1)#szQ~l@7n G\Yq8ʗ~N%;XGK/!Iw)޹jڦmk[o ÓWc9 +H~ZH`5Unt O~Vۏ"&#]VV4˻2#l=05#rFM*80y-ztn򼳍FQc<^ 6G'm*fZpvoG-/k<%ACֹEur6_Oi ]4l6oxy%~KT4Hus蘄,9LM7Bsz|`%5Ƨۡ[+}QycgƊѸv8/ɚ(9 YBBuD?6 ^56GΞdS_ZUY[ ?!o% +[м4霻.3Y>U#g_$\^A3q*)tzM3Gyd]6x)CGW OggSa(Hq$4'S0a, +oaat?Z;<.M>'M)ۂڐJ!4 \gҠ 'ƉɶP=@YjlOKm!¸;Fyq w|kD0fZ"zSG̖hN:!{kdT`ٟRM/^ƅ.ԟdeiN!fڙ0%Fs^@ +.$_x3rEr"(4.-8t)4 IO;حGJm)/v5Xd?Et;4ybţW bǡ9Uo 5m˯XDVQ A?ˊ`4-go?8 ,&?+a^@@ʰ@=L^E(HWb[&15򞸪G ٜTUj~QuRyؿ2 -wvOjwH u\mcN>3j@G(9Baz-xg2&"{u5ac@d/iHەh' 75t";M(5ȅF?l%"+֣G9|ltA6fDAg@#u3Ü]nFh]ޫз  9*)fMKOxM#~3  )b+[ӫpDlM51C'kTy^TruV̈-Co*1jE=eil˖Fw;,x׉Q<-SZ6B/t%'hd)Rk溺U#TqIBd`nIbˤʬNk5$mr\&S5iZ:/9) vFw;+khLA 񑱥[ `sNgrpPU7A+qĈbF:Y|Dk׊s#-FJ3Π'۱V!D]m#@ȧnkTA.p}[&l:Zm:l\Z _T0 }uqTo*=d!^]NT1tսZu;3YOQ%اk}WS=P1ݺXͧ^ӊ+dC@h_'8coG}o;k` z>W^fVWr0VU\Gr$s+v߳fv77^U^)Z2JM3ycoTܿs9rB*9/v2t^**)_5C%a{uO*מ0']m_k(eV+[٭4,N[u0t:DdQOe"R3"<(bN1\VvӒڴxC"h<ٷukrg/ÅY_ hF-CjMDz+jaGqʨ޼kS/z14н6}NΤurMK ZdRU<ʝG8ֳAUls%jr~Bl٠StZ+pCSwDQMI&2JJ4\)ر3 " PUcPЏ y5li_g#<:&Cq&)E io#u۲'ɝIRu~^* +eXA'σ|IO^>UY>˾0=+xtҳP]5.qA0{їldDAeQzd3w0B4XAKק㲬XY9IcJ!S*ټ{ +Hw)_:)ĉcєoTT%Gߜ +S(}ۨQEZ-jU|FllqRQ=CkX|0zB7Dc)DS\⺣̈́I%C[_jf:79ȉgL$Ӭ(vՈHCw[[I+WEfQJ#`#YjHB#ܢzVr-DDnxEMJf7/1w-+}s0ROF* }!M0vz4ûm)([M:uCkΆ.ߥ,u9jR + 4T# 4 xJZ+Çۥ[;Bz^u%ܗ" wP-*3F^((RauC] JX?vܦ^鵾VAp.u&.ĩHli ZҧU,/s;=ACS٨K r:d\5qyCY)UQoSr;$DغWALEgJ]gjRg;WV{bGPm35be#,lI딩:{$%LwR {o2"Ú6oudYes&|((V'&c)SO#iqߣUFUa1{Fƴޤ'uGe_ҙΊ=k!~+T@@Bkb֙}0sXTo`aïOFf[pU=C۴4T|elB*acIV4, +R4t`4o2}ӡ^)iĸ6t 5[^-Rc+ (-E"~ݚ֫Ǹ(L. Ab;Jc4}~,ᡋaa^;XP`YOO;iRsJnD1FZ pQ\DPw~b+ &޴P`*FF).&*$P f?}N 0AaGkr[X?>*x7穼REiOB0jNlru*aGUD-B{>+&~=!VmbRa 7w׫!qaW7nYGU'3#gUQaZ03zIo4Ҽ/X* %{3ꮩU߮ƙG?qM&*nx#ZOggS(Hp]s)(5iNBtL0:ENNP'@`W餽x W` +͗O!݂ÐT#ͩmM7d/YAJ< +S^':?f8Hl^j@N-{[y~ H1X0{I@$}!j <`#ڨ>N k1Wut91D߆G*iP^Wqe12&M +~) XD$aGos&FUir?aBMཪ,ygYRշUP#͔I޶cа!iAܷ>Nav= +V ؖ"-{(2WmxbyG8tDͿ6ftxa{ǫ#13I[,|Ec(Hc}H /  ҆cz 4`^3s~eN +!5tӤILǃI[h?b襣 ) 9xn +ByQ$$LA^%OqO=K!ڥ{ 6%8ٗřk{kN1bJP%+N.TYoL湑ܓmsvS 4[sXYtdAd^_^~9u6U~$Lb${rn2_H, aa=v#}ֵJح^*sj>8H$*|!Hۙ(u2ݭK|?>72VSo[g/bZqK{Q8WlEHtt4J_[?he]/vݰXy&7G3U\VΛT.)""/KFߋuDi\?^bxccal7e @@Yh1v-mDh[1}k oLÛ]U%m"c9c]j'iUO U..>z4H<9ZByTAmO.LXd+ iC=0 +4 +v_筧{a`i/6[佾6J_ "̡_A3%}C+e&L},Լydkv8楤K!UMk *{q8|?IA^nӚO{ʻ ̶~L$L{DI![,]y+sY (W~aڋDv_/d(ތosg Ҙ=1/តݹtזÅ6X4/g')Ůs\_J#njH[ kLMcLDO)kqR$f٣_~[7_ +ѯgTJT蕣[zŭnĶJuIHiɯCĿg̻$k+ [b pCvebS#Lc1),2qAǫWb<t556{tս{QR=s͑% ccʬj_~T +(./۾I%Vˮ-[/& EIMtlgTC@UV_DoB;\͟&o95IlYpoA):ZgN}, ѯT\TK/1,M(fC|BmAJj|"a=ܳ9FdªNvZ,s̐zۼ|{ui솊D٤K>1/oS+D$9޼_]O8E_ ϪIO ɘ;v7|p[?y_q~Ż)FR ijքN 7:7*ơ]-a2qd*r1K?.˅G:F+k |a>D4WHD% ,DeA&K|jT,9$&*ʴL8Z=%}Bk{o~駱6Rt>o +*TP"IUl2˫/UGoGI<ɫ^?KW9mvpO#X4yBe՞EPz<,`[ j>?a"fPK&獽$T!LO36Z( :CNBL4 Y~6rQ +L})F'ܝפ"b/$ +:UcݏOY:D$M<+VM/=;mcޢ %BA<{%D) բ5bX{^c'eg$ eBP]nfuգDL Z4Z,z/mK1b=2?z2!RJUL~:+ n}46qRŠMskI⽺A?uJe)bZ#۶ a5̘ݴB:&lKIzun?O_<%ʆ^d-Qy^ +7w!,Szd~Neu+Lk xnvoRJ}!\,FGC➒43ixM'h`LQcrʯI 7_UR= DUP|"M :߅V6X8oSF&DSJSqkXb*z-Y^vXdulA0;X?u*X.F}_$0gWi8jSoyo:)-zW,׊6) .)C uN*|A ;3A +e%C$1Zi=4O'qN7,U3rB&l}d{Hl_U̗`4ni[Qq"5Ʋ;~Ԙ4VnD(.! Y.݉];b&dFF j?S'(Cfw։iM U\AU'5yU∰)UjŴ1hi2B\ + ߷l;IXkq- + +]:Sd nj+3~guy^IMΰy~lCuh;ít_Ҟ^9]#Wf|9^\o0^MupK^OKh=ϫg(ğZgnb'x"8\C>_w;ȥd9dTdٹ̻}l%[_X, AsW®IVh]{}i:3[+uw*E]2:f1̻ k{?_='c2J)g\EuuIq_Fuy٦?}/}gTYvˆQ=eW!ȾU)wAj??9sow!.ٰ?iTOٚQ|1͙5=-'?K2SGCO?X/f7z=|)[7_f ^ߢKG6UN۪4h`U#Qsy>xv,gϧ%e<`3M$d,(kVۆmH}̔ +rS"%ouثO!..Hm|'#پ'eO:~ҔW6HXc#RԵ4Q</Ò$y-xIv RS\ΫYytŽL+G>JE]gO&b~DК䛲H6Lx6ZwjSgbB|QeOD"@,xEW9Q_&)q¨Oo\-cs%$Xm)fX-{J gsQIp;њ5b4M{*+۫nl\zt{Mr'HZz;gv i)O}ǔ9k&$ cbr]9|ح2;%W+MgAN. 6ewڎ B41wUHvHc)^TkPJ6Wn ;#H~Ԉ.YvlKUAF M62 j-RsjT)GN +؞鶛h oo~U&K + %ٿ&4c+$"HSMD!@I%JGJN zDץދKʙ2(6Tؾ<؛8*}zqvri+ؐ͡G *9PvDE71`b(`0b3{ 4H<ŧHc @бo]b/ig,Z ^ $`YoVJ&gsήHe`害?sRovV!/ C[>2dΔF}ؤކq"Me'%"jFS2q"zM!MnRLX.?cd0D冴\B4H%H4L%4bʿ$ۙ!^jgO3iN+_*4ȼգ*µZ%c LNr\>7NėZڞQS=qu]ScS_iCe!5^Y')2sJF8ڭ$ K`\,ѣH4QB2$Lt2O!q慪W~QRսښoYQ|ۺJ<;'A$yɌ~* ĵ_֫lM#ej6s9u+L:F:vf44NZC1/0ޥiIlw޵M*Nä݆r5*~@i !|^ɊySzu a$ݧPUfns-_zg3I~??6>_ƟBFNOxa1 ZhjΰBMOU="-zR<$o#Z!-# )!\`/ +bRV{)%xgM#ש,v(iA<,llMiՃaO ˽2F~lŒx0]޵F +0SPaloݑfn'9m#piG]`L1T^:TP Vr#by`Se X]%f_^n3Es췦S=!M +Kiv`N ̏4Ēk̪-OO~GrV)Q\|jkwTbJ霋g:uq"QxzmqjnM؍M&CO x]R\csF׫mUltδqs2ll\[OoI{ݙOggS(Hi7vݟ>I,x+gʤ4vcv !hZa2r^Wm^שqJAs{̫é08e2Ed]rV^oW:|ut\ +oq2l))o¿ 釆YTw+-:e)dԽ.lC= +Xit~h({Zp#N>!lղ[\yWg1QޞD˙zӡ׫V{zF"{gK=Vt[v8;_'婲#7{ߓ^EsC?ZRnxzy𫇽4<#q +#nf>J m>z_L)%/z8.i&p.uϷix4# +! "K}d ~0؅}7xIֹ>On6|~,{h)O%.j.C]'}/0Y~]}_ێ|UoPZj8C!۔J㛇5zy D>9Q<6vCE^k]iƙr,BQSS;QIFtVubQ$1eQRBЉKDxV㾚+W^{Ŕ͛:hb.f )&呰.ʆ=3}x$g@|r^[OXu)YvQ};c2`]*H]x+|Iv-ϫ`˩I6rh'm _SFkG{^0ڪ]`9ђaHԴBb{oT*ř87ZTJc l!ʎjp[+%bZH{J>c%WX51ᶙ4;ri@yMx hmrbU;d +S8>4lu)W=w{Sn5Tg~N?BMi,h;k'*lu:ui}W':?[sn&1ƣc hE|i)yld$m%a6dJCHPM˅JR5?Cٞ4 ޥE2bUDtA^m%%*IvgB<۾KߕʉQdܝ*/t_}'Z~m[[~!Ȭ׭fؽGG}ߕU]'~idTt}V {Ɇ/@fddof6Je^+{$C0G/i2pœվ I{( j<:dܱ[ߗ=zY^ %Tzre7vy$j4NsiɮNֹ'[csp㿯}v]O)3?Xsnt'kƷz;H<_LH&U¤{E9pn1}S;$hs0i~H6̤ pz 3^sUwڒxȇyd5E" ˧0swn;ɨxfw6*4[Rlrw Sܿot󊬼IzU.cq^j *]ґfJ֬USia5 ȽMsQ-2{#V)pPA ӻw [- !:1ҭn:;Dp'aϏD& +VUi>g3]3*Fi(zlxf;K#b4D TΏѥ{JͿ7]t^6Ržd:w>RňEuScݞ^k.7AͽA59㶍’*Rvz1"]Ē7/>$8 Ǟ0;Q?h +Ap] ;`d+p!hD,,)yÖ}TDT]ŐHZL_1S:F'tS83BʎEרBUF"y7w?Z+*?]uAh24x󸂘6N}w=V҈YH+kdmޏg;WW7wYR_KǿZ]|w*c\*Dx2;6KK +0襢M^.?=O6[ ۏ*_ƣ\5֪)Δ]FTBjT* +!ҭ/٫X!<Tgfg_)oC0Z8a&g˦OTMm~hRS@fWE"jㆺYH( +B ia#PV→r"FU0SNXnSKefL=l{S.Ʌp\!2Q/0Wٷ&#$AvuWZ5׆U^IzF~kT@αW.SUA951:sFV;|v"ŸujySGoF\IVFȨ'Z6ҟO݁k +K.~fW[nI"桿ZO|W*L&],,sl 4|>0h&#ˊQS_M7hq$m\%̌xȼ +OggS(HO^m$$ЀsvFC|1ߣg6g !Q`Ge餭k+)?{>o/"bg\Q򩑨(їȡȄi.lev6&Co<0,zMT쒃pJD<,$&:d#9;6<URv/JF攺2h-YbV1鬚9b$n\cE=]ly$~ +vS +%OAЛ`2:#+Bx`xtv)錱"Xʉ5pz&8WMiDXN"3fVg PEnգ"ATŎm,;.v?뼽s*.E$)1 +=Q4v*ؚBhF\aZ'9!>E!nۊlYz9ӌ22-gݓt hyJ>4YYtcSfSif@4ao+ZOkw"#H!I0l@MZl7eCj@1~e+purcHk\B\ByJW*.oߢL:f[ \,wjcE_ܽJ"(6A>FOQ#M7oaO C f%ԡtd˾V?=V)wEkęKM:jVN_H֧ٙ>d*r?l-,?_}e3NJb8W{z=Dx6L@b%FE6ⵦ^E"npQa<WlOf$$ET%ILbYA_׶c\Apz\lwDJڢ=iԤ+qAdaܿi6ccʍoT뒲sM6lZv3HەlCaGX9{tvN=HxFk?jz}/WPhq;>^~zD4/MW7V EJr1kyiY>noVާۭL̯24IE=^B+ߕAvJ LN}/kOm4Ug)Jܟ9ݬz,5*zvo.;*o+Z~z5^$ ̴'5(t(wmlN<]2^<> f~!?ƴm?fR4wqI=HEOvVhvd2 Zq:ֶNFRϫP o;#DaX:b:>?WHV V91B[cdzgc O5MM}5^A)z>9hJ9VֺmԑP-VkJmȫbKLЏYUǔ0v=q0@oJ+')\7Erƃibw}0u_xZyl>SJB(v3 71f#^WLWE$1bmԾe&lcM.s~wg+Mr>4H܊TNtY9MK??~Zm X”uXv [oMDܭvS鶴j2 +cmC VMt=3Y=OS ̙_s-2Pɓ}]K+} +ڪ,AɌ<^Ⱦ62aU_zQGPK'Yc1uN#XC/*鉽ZácDZji Mx]nЗG- +1V$ݪ\*ړ`1XyZxn/k%"u =#44rm{4$!.NZvPhs}^T"VV[P~GVCPmnOR|jH~+Ĕ&gyՋSęnUڳ45+ӒZfdfid3ȱrN~;6Bl179x9zM){^*KeԁhRJNq!R&iv/^M(dMW)*<ں6Ezjʱq/`&"l# =Mފm(3HByZk)\]Cr*u|L"m7(i{J!BxDZs5sG[ff*~hgz^>yuXuRtp3RyEWM0Vf{&ۆ-9r ^wbD +D!֞GdV+ݳ"f<ş}w3jg*F*WL ~+l-&'׷:$xdA=d:YuQm:sd%ζloJъaa'} r[O} -JLmۂˋӺpU% +-6N3 zw5ȿL%Ui~:\BvYݘʝڇA͈9Ov!r.bͽ lIE]qK#oq:_->)d}Е]Affz|וRj.?.z#c<ʄqV^(E535L yֈPo;`Z9L[Zk5TR +ܢblcì#tO^RcKvw7U[}6^$ e8v܂S؉TW~ލzrgc|c\h&Z}[&EvBUE&e"FF^vRG#o|*ӐB[i Yy)(RFjIo]ă8Xlb#7x/reGGzJHwy/5*]z:l vmtc@Lo_1ݫǔoZjsżFѷ00!ַKK2[{\':{^q4c5rR èhUUBPmn ׿1R)FtIHF; 0/aƊ~fr +n6TSqk O$O5mqf;&OggS)HI3r>$ ?GxO,Xj&L@fձMq[ީyZ"}6"a >K8j s-;ENXI~ǽR"8?_5j!EiZ"H~B<"-SUZǎYE5|/w!,\ERԦ*o*VS~x#eEܓs. 6y8}a5W"f'x>`UOlճ)Okc{0uI[Vg)Mi'/np%wd_H~eyCU>m,7w<뇿.?\>v7^Z:-:Kǹ6`0QSQTrVp|!ْ YLi4'h&iۅAY[/<",/RJUayRhr`w˻-0CWR-zn=B.2QԮz+wAmnha"=-O^L?<"SBz_( >J*0=}D/0ExLvI!f@p] Qb1A+ ^ 8_"*Y#~0le}UJ3< +wREq9Җw0^flMv e|G#hlD4Cөʴyq[mUZdmtd*_,Es-*)4POZoW-c$8=aJln|Ur8*GdÖ/WjigbiNl?{ruˠmoll l+$yK+T(d' t0HbX6%wQc4[[mڰx̙fI{纋=L4kuW%2ow\Mvܞ$^k kwk +q`0{G̗(dBܽہV(M+1[=h˺lYkExIsh{L~ +n$N8DGgx–w-Gܻ[uynѓ CM9%boNu;Qv|s}AV͘;mGZ[// +5/>;O?/I;&uICEuݭU#FB;eݸ Rn(Ě8m8G5R u,fźv; >7h1懳7) G ųrLky "5DM}Aьpߝ82 %+IFx e;dUM@?7L݋qXf~in<|@f0>;D8@Ŀy<]' ׀Yîl0:H PNU$y¸@ڋr%L[ 㗹'\cB4#yɆZHމ|ڝa}fGqJ٨ !X%gȌ7j^4ۗ#/!nk4 嗵OD,C!ERs-̷O;T֠ը;m;Gt5K8ڡ52FJD~?S<4P1`5f`%z`Y>S?gU]V\߻R 4,^Ab$)5fGAʴf+24mex|2|wUol4톃8l\N;ϖ#b' +,W?Ad5?>]=YɑL' 01z{#(CR'+Q;@ZDc ~,hpr[,s"M0(arrF-˝Ձ"u(Q2-Ees-Z~T+C#M3eB]ϔ̧-X+c.Se'R-(BqϺDcR+g[}EYB'u$=g7,Oeݔ2^7t\p_=Stίa ^Z$`oq/1؃2aKMp>N1Y*+QNz`\ ;'Q0T;FHiq8hlan(4cִz*kpĻڐBăB"LrbAۢ1<> Sb +G]lHSYJ' ը16;M?ɫLHm.2s,kU"ĿՏO McHKW֪{Y?gO}: Anm{=H7!۰TjO1HL_<%/d|%fO-Eu3Ŋ53ނUuSGRsJN-YEMu:IјȘ?!ӝQjv E[Loz}n0szOǫsg1Lx{b `Ksث̠޿F2ٛlﰜR N:]ŧi"qsf;H[KW^KN"-omDOpTCqb=ëB/U]N#Zk,^jtTףo7{^v~e]9T4LLNC }b3mכV=DJD `ϵa#"Z +<g &tHoXcت`Q FM~>ĤN$Hig0~:QҁsI(&DA ߏ"dx2)eDg}|e|!x{DÿD axt)gq bK &vN̪񔔞(ƴJ((?\}N$]OggS?)H6be񝦣9 \~J 0I pj(3 NOvNQknHCg.lGٔH_ό*L:J6H2"Y~"6"1] +“ٻiDdĖ 7Ds&OA +>I 46:zyt8JL<͎))0a$: O^9C5W4Gv(Wӊ[NZ%$@ܽ Du0c),xYq(8`:묓əPBQPdS6,QicUwY3|zfrF'ێ IU&6G?-I'.6T/u(V9?16셃,0%4!N h(0P +Ϊ'qa않:YY_]kw*t+2DqWU/τ% =n6x mؚuG! SV.|(RX!AI%^4Bd^ȿ$Bfh-JvF*qKLVʡ=3`dzOKvfh'ݫJov6o6DC_xuA=H1SHk;ߗ΃jS ]VA|χKrIЇE瀱~?+۽ VޖaB+,a{}99zMJu^i}H866RS^el'Mr˴E.9Zky:TC}f׼u˭%uvz?έHv9i1|{ ͮH͎2l(wvn48.~z&:'F+Vlo}7^~xDO7xn&{_ ]k_~YܾȘښV>utޑMi+Gu{Ѿ)6{dG4{3OL _{STd5@v +Yw՟v]{h*+;h$7C/E=oUOS4gzbٕe:]'s]{o=ʥ^ ]w.}ot׷&5mz*;g:#ds;z,G9$ e:"wzι?.vY>[E oHj>9Ng]Co)/5&O}zOI*+CWP- pS3*V'k˪as@LNNbO3ǨW%'-wSJm2Z(~+F݇ﵖ?]65t>,iQy(7 +tw?)a~X!O%T)OgiUUY-BƦ] Vtov9B*ʃDq3Nh\"eqĢ5&v_ň(sÞ_G1I-c6%_iQJv)`]Q^Vˏ?F39?nGyj#rڏvo}ӓplx; +{:5^Y(W~ < +b6 po`Mj*_p3ݘXMo;JD0#"~3UFb^#SZhDzW)^8j`[A{8T;ʵJGCZ-PI%(~lݽ29[DLx%4 ښ /~INK]&rɕWlUX>I(_z+H| DŽfx{?k:0y؉X(9LN0C=]0wvZ^pgUJZ@ &O02Fغ4zQYn?o3_D2>b9&Hz )w+6ݏcp҈PuVQB[HpAeMŮy-1bIԖ&v1[+)X YaґI#(kGjOX /881 >_ng+dJp(0a#8V (=TI{"b;1.c7EyQI{M,^7H2Ok#BTErӁ8HHgfcTʋaY~rPٜOX{Ϻ{\T2{2Z6IsBWէJ.C-w 2_F=jul+mB#|M]TE!m); }]u1 BPBVi=hBqI=onjVQZ?+6`yfp+Cst"IJot񘒸%Rރ\O[E*NV(0b(jbgIF;hExh F53Ɋ,vw%q7/0$fpHRy`CHĔg Xgmh+㨽LPBXHN57l +[ 4>OݑK:`;,Uŭ²O%zaoGHg"t)sQt=$k%o%%gdnzE,5ɯThlL͸h,Oߓ]ߟd; +'?fymtn`p~!4(LBND>Fi+e;Al'~$pD2Ŏ}V!KZLJ3ҐF:QdD'md"ƌ^B>2d_空?SOAyƸ=W9ċJLC+Hb] +"L\Sj5WuS<"noR-~J +(gG~@ӄF(6 zXm:qjy@Ϧ_mkY7k?lkDa RGgMPY.#sWҼ(1u讔WȂi Upƞ8Iߙ{OO.E:} !;``1!kJyL'K,yz`d ΕŮX/~JD 5m{nj^Bj`,bb> /Ѱj&"C.ύ5 T+03E +u`7 y+$/0fN O-$!]A`f`F +dhy=M@)SjBYT/F?<-#)OUeE]wԮg::z0궢qQL秪fL{إjjO>;JSi#_q_9){tTĐ0ު'2HsJg;3@+U,VR]!5wIKD WuXq!TcfK ȲQB,ƺd#*@!xHRى۞=>,oꪝgkajvOÛ:={ b{kroSQ62 _kfm!1/l0GiDi/%{UaR2h:V֍mJߤUl&%_Hav԰ȖQX;bKK˜ى{h\EN8Y(OS, +qKA]^EHWB r6&!'Dۜ0yTMn|f&]|6 +Se4@0?BDmxvgʇ5S{VlڳNJ $ +oDrt=PylxFKǰj6u<<1=5T'cL-d^Lo8̐I4Nfn;R]tX2"hc_-QpFu&mI8V/OtZ#PcoU2&, <[ +ɉcdт,$i"e\VTƱX. 3s\q\Sj9N"L! ; ߹_OggSd)H eP^HjnVF'# 3=W <nv6f$ Ie4!{Hv6dfMVb\ LR^vF &=Lj0RBnّHe2H}t#D* b䗇h;z2Q Y׃Y+yN`~F71φ^xaV!&jNw+NZNK?cv +J=TY )+؁~CNBvѿ]q$" :}vS `GC)0:g3&^ElzW/mLG^ ҖިHPl=9`Dd]O&4*B[+'tٴzY/ |cL>++D+ʳ+p + DC;Gsp1hy3%Y-:KVɽz7ta3c++hn2,hn&Vi}B b+`_ q)RlWK?i%lN/sڊm!+9]b47vv%v0 'J^9RtJ-uifS + M`]1x%x¦#w7%ZQC8$(8>}!Ix& o.c (S6S5~iXp5iֈ"nU*ɔ/^["A dKBQ %IyǔRs,Dc7&C. S`mڝ-~bQ&@>fjAF11B*GR{/d߸0Jqb=KߝSW-”yOP5<,Mf6m +4\m}/KMlVfqX]xnGo {F.6y2J|~^-6ʴ^mWܧ{VVc糡uXڽaaz~2ucs*-\Z,Jʴ:L7fD>&ö\)שkR??=4}nKg3q?nǘmדWC i[k} `Ja=LWJTPuVCK'Y⑈&lYm3DԣfHtٿ'mᏋhIYK76jX-Wi1f|fwxةdꭦޢRv UvFJ/WIRiH?_`9 ;YWTzEOD{Kf7ES40rV[g#DN+Q}@4S̻;YZ.d[]֝ILJNMkSRKdC?1N%gvʍY]+U);u$S'oC>'3 h%WSbb̓T=8h.2x1+q +.KYK]MrYˬ_WtUW a?W' ,פFj.+n)oԃψ,'#iÍ %s +^Yi֞yJB"_*xgohFFa7Uxy-'&"K CH2)fq|y%vGf)dPY^ +o@Jߒ)+bNX]aq|vF؟"9" {~p?uDdxcg&qsc&rӡPr f *NHHJ)-"{ēPâ٭4h&vroLx_ yn-DROt[='60v4OCYӐ_^(S/,:nFI[`FIB(pfف9mpʢ +c>IL?o +Ep=!Lxq2^: d0,,2YrbUN"?R +S,>8+EgVg; q- վ3!"qሄ^4YH v[~髅AˣU SGPv~ +F*' Э>ch,Q!.,kDXo{Xr jfchevP{g [ GrlsaS|Wl6b 5ۍ#-"Tݛ ~ ,yF'֑]HܰYV4_^8mhM17\QÀy/o^WPzri7K=O)FiW #Ҝ_]<&#~K$H<!YLdW$&ʕe^ ؏Q4sF% +S١PsA#֪b% ?Qw'ɖװEyZLR"Y|3.5ɥbSr+ Z9,O')аZBH?N\ѻAMgMc ލHg/OR㳥㓢6nFvG{ݗkk0H>;dũl}Z(%{bj)&ڗ_uHKk]ΗK[~6heIE>W֠YcհL[ZGǺo(k7X^'%Z7w#}ISNxǼF`ǞeFe굈Bduf#=ttrGQ8ArL7-=Y$(WiHG6>{tX*1u5CB[h;,YwWwGMjތs䃭Mm;0b{400>K,Om֛!\20- x %>Jp5!DGb<9XJW;ģgzDKgΟJ/4_αJͲ;"͗<:jt87k^\="'b qB j],J/:DjJ߲NKHa6F@tOH4 XݮmG>{WH.aPm v4ng N7 `X+cIs5"~_!M&-΍y%͚=Fz^^kd>9uv+ d<څKn76 K+n!}!gӑpu~b$ܲLlvB +o hٶC*D L +$HɢQڿyaC2Rb1=ΰs녹EZCmjס&&}ݧI b})nsx׭ѣ']~(jhSД2v 0ұp\|Qka`e5wt"4*?2H%$"*K@8W{+Bv +XKFN0F&sQHVfd /v8h!^LVL,*aC&0 4w>>#RrQQu* s, MɼmIY 6}!0n WL.[4$K@ȏ*xD̞ciD AXݑNKCַL}Y{m@R#K ,y+ m$hT29Ho>i,h~E5_w|k +,zȀ|I +' +a +3 i$C` NhFsng$ +}`F0}F +. +I`o0p|FGI't15/0uQU+I<'aHR$Q֩Lْ0!]~؄ޞw/͠OWM4NM"r5ြBV/Y_21:\'N `4H4h3A3rlgy(jê.FWd"Suv@e;*$@תI0 +F&{Jϭqzh̯r71GWSGF\H덫s!EvI\Cŵx͇q*l}$k_(.T/% m|ډ-΂Ukië6̥iP]6eEw)#{FՅ|Vgnu!fu]:cL>\<_F2zR8̝ Ff&h5HJ+|/NsYxo .UhSwD[+Ysyϥ-SW^!dIcιMW-B^Dzs$Vd"t d#M1w4ƺǕͱlY +򄚥 a8PQXjn̬gU6DH -俞4]?Z6#i^z/rlDҗ֓9UYmܼuvխ|(/d >ƫPgpM;?764c r?1AR. uWlRm*:h,SRMq6S^-\q5Y,( ԯ  } 8LYWTPEGjƆ s:7Ʉ'JJwIFO*O94?%{>7)%Sb<"-4XէXƴ7dg[-̯oz0'ʹJn\í')yb+R-`觿ј~E5 i7@ZC©0{IgY8||"\Or aPAp]j5y^gּ&[ +afb/(H4D!8)4NV|CZV:)G.̝clmX ӕ"<~JmE~I7m{3U`lZ "ss>ꐾ\LJ4B5mx醊hەc(wTnͺ,?x~)PHJK>)iߕ/]bI%CʪkvBpy ?zk$StF +tQYVE;%-̾XTƷ7ԡfBñy$l?̸|Euy4~]!I􊣼3EHq$-̄y4êx\}\l쎛NqQuj~>UD FC#ǰ[%d{? 4 +KRĉ[<] K+$2m~Sl߉:wO'}ZdwR" sgNDx1 Zcgqi?a}9666{}'˂9Q<)PUxiX= F==dlǸljU޲eey>yI<űzgiSLH^k m}K!,u!(ӫ[9nZϮތ;{Ec{ %${-s6t";~_of!XnXDOR8?C9)~8huͨ9QTtHdCYJ3]#3bB' n;FkaH3ڃXW Ϥ>o]&1J4Z ^B(;& $ZBq2ݲqQǤC,{fK4-\H 5 jmw:RM)tBU|2ON5Y!*I^;ZA1{ɘ^I qW3s 6-U]Ny0ba)Gn˺r׻ӭ|7lR oeF*83FcJ0Il(› ){o`/ٞPr}vRː]MD&bFMTƢh>sMyT K׋"]}~+%⌹QSX_m~޽90jg cR+C]zUK-woeXGLrlY Č QݹK'A*Dh#kleTEޟzS$l+Ɉu&n&f).jDo[~92lЈ<jf4QSoZ,sRCZqk k^U=Ec~jʍz D)e9*.5`,)As^9(s),2vXRxwZ4NDB(DsPB &^`v~M/Ij+G߷r MJN:y13sԠ62w*ȋǣ>RQ3(z7&iq5t\VtKB˰+t*HqhOggS)H"q>*@[d/4=QUP,xASƀ! &̮Rt:xv(~k^R Vگ+f*m2A{~.3h9jt&kOV?/Xc/f!(!UY<Ml{!4|k "|BTYDCPK=4ZRGSNMf +c&vQJnGLXj +]iL>]x~ !߭j): `tƐU529ޓ\ UaU)tDD#jȓ*4+!N&&l% ]`vYSj5;( n|_6˜ڿLFí/-M~Fya-$L9Ӻimeʢ%OP|S`4 ?ꒃa?|ㆹ*/^ڿH]16q6[)a{4xlX (DŽdRPqv4R޺t1t}R7{kxNVQzAg8:K + o1.g,ՓMxAă1x? 41pUKSR lp*2Ʒ|"{96{~Qoo٭nz@FZ wv[ՔǗMxvرHN[ `^VTݛ~H,gXXixƪUj*uLS7Y%ũ|--ګc2 o^$?ۘDi~gk~GrKsߞ4mp9Jsx2?J'?_ݰS4=C:Jy~ХCԯ&k|Kn&xioGE8YG7 V\BL ҩi l"Zߒ<\q5! eָ4:uO4VF?UsŶ7zta\MZ3aYTZUWi;)7K +Ԩm0rJIޙw!+=ժf]&P3t[tVͪ{eQ?uwMY&6M[_}b֘(d0#PKt0){ "Gaߟ +t}h*1/l33rH1Ai x5!Ґ7 C)$hhe^qR~`Xlh;=A̧{ܹ#k6]y¸qD^J@-V +T%%c1!,Np=쪣es_޹"Xs(}ݕQd~PG9h 3^YOba8/8v@ +sto"$sK֖|f|:-P\#ӐE1"' =J&sSCzSg1V+IթDjǐkYɗ!ʹ90iPgozLrY"bG3ףJؕ0}?+4m0)NŢV +{BTSu} –ou6]Ė {ȖSL٨(dȧhVSa-{9S#U.6AaG1WД"tw,ߩm{[0H=ƥ SӬ&]^m$!q̪FېIr?8"n4lʾNqPq3$kXџoMiL R6R Psء0ۄhQYݟ[#kdP97ƮZ1V:Tgpĉ\hfVFDߠgB@g +d˗**m:%MדJ猕m28g[V)˧w=ƒ*+L%fiHޫw$ +KQ?/-~~yI% ZT s-7: FXUSb&m[^P߆ c4B Hy>O"ngXT_  eWMZӆ.߼x$=X4ɭ/ҊN+}`(xt1e`Exn~4ujtR_3cqKYws/XN~zD8%}j9}c>*v8 D; m +DT"xi7g5@Ȍb*Qhbblg}5=::{Y胷+zyk ;5duX@VBSoqMqnj3gIW>^f*[aSoCI-0m/fXo_(YխJ$POFc僩ZV9>R8}1m{eD/g[2/TśaxJ >d@,C59\eÚ(g[j^tŦV4Mԓ$ "-p&՝p#,M5C6ӣncu%Eښ^kTFAG [DGI` OA~:?[?ϕd!L_|bٵéQf",51gg1cշ U$>X;Hk+Y\"iT! TfIOnK\꺶GqA[R)aAp[M~:oWLF񨗬kCNjQ*9gBABc)!|CCz oZ)Y~$S5A`>қA8sմ2(0{W87w{[$^?5ƺ0=+ + ]eCA=ٚ8K.}4NpWM c+OggS)H#-稍yJ_X]aGr` `—'6 pJAg: QROe'ZCwr/B$V&#ֻg4X?W`v<))ޓ;QbNjY2@VAi _+tmK ;gqZJli}iczMr،yS<;wܻEԛ$zIM4k(7c'DLח"R.v9ȳ$#g!.XC-43Ы`#h 6f.!T?smfflw&bi)ǒ%_oD>#\39:sJk)1mᨃP>`M!BTÍ= |#"Ԛr"mZ̔(7GՐ[pH08RHKy旫Q"V{-1!I iNjߗD +p^nI $*:LG]]?Tv$zZ3SN/\C`euMj6.CA6ba3M ',߮fSGbW;WIDwlQ359u*7xJW kܽi^;p lMZ3/-VllpέnASUWU=sx?:F!lCɵFswe/N VCUcڧױ.e! +Rq~.oNZ{܋U}h_G*y؎:o& WGYJv"oZȡSsV{l3*׫."~RR;ɰ< 1B4tH]i*;G3 ҹ~uGɆsk(Nш3J8QJ0nM +`g/kF*+hlj£œ23-ϻiH8Qԑz[I$gofû:go6#ǽ-c?gQɺ͘ts./GxUOkPމpx"YTFDCWK@wܔ}}l\lvO;xҬo dK Hw'bVJ+<ƒ9w=T#Ef}bePru\5IڈTzCqeCmP? yar"ff /. TђLmz?LbJNkcIݫAK]ͤM߹r/b Z84H0f(j1Ѡt]7,N^kdb:߃"1n#02[u +sZ@ A˪0\ϒyl +ْݽ t,)bi~jd_2L$mKI?1"4&#c$g=H\ewbu[{]Jfq*e.p +zu9rN{EB_?;>r\A;,GP r:ַYU˾ڹ>:d:e̶i8#>.*(yU-+zw/O] +[Zz 8o㽂Q-qϙ!!7Xq=HϹ;GHטTKcֳtA`{7żֻ*2Q=k%6ditϸՊ%nXG?1͓oԆ\F O +5}I2e[7Sƞ4 ʇҫ'cg׶51QO/U)ylHϢIg~vȆEz $ .*BQV&& 4]Bu%{-F:ْLVr[ͭt;o*+RNj; 6b¥TGBHZ SLHvq;j >*N,6Ғ/j~"{Oڼ-ɪAIU^S(}F/6Ml8[}Wn|z>"p~gU2Si ;͛Mar>՜l ѻ"z,8 z!deĄT9oՠ*1و ԑ3=1f՘O"?h{+2#W}.gƂ6o8-bd#Hߝ +)uqVs>fh_'Mcmؓms˪G)I-ew-u'X3}Qdմż$7zkƜ|;I%d*gV6 +xq~i@\+2E \6k)bƼ{yrap(.M=ƇƠJctDdRڃl%GΙ45}NRCMQF3ɎazU QYX]Ɇ am! "KLZR{6fba6 +ng#)z4WПw(^eکnW܂OggS)H$`NqpI8ᷜ뾧/BdNjT +Qkm"Y)?Uƃnbx/%^vA9c߭F1SyX)u$+&7S1KEL +>d{ EO^,p36*:Zrv'ʈчA,bq߲JZ{Q.”F7RzLK:%ޙ$rꏛCy)aDWTyV+LmU3ra5Gݷ e0U +4˖3W"#1ڡYĦ Q.uT"iщRg8H|8$jZ7][{|ZzՖٽjBоؘ$Ct,e-ql[ҎիfHZxYwLh с +*uʈჟgM鶗Xn 1s_/|V*)B2ڒh;?w(i-Ui,kR?i[/犀B舱Eޘa83qM{1 /XVb˄짪GkH0q`wxgz*3)ܠFeY&Dۋ\E + '@7WzƏgD7J,R";,k'*G7lu/ f h4G510M:4_6rNZXlExns1cYj'!)0jf{ghm3>o|Pa[8?Nk-[qVsDW??ݩ8f_XdnYDn߸2ŊVu ou=S|E]2S,> ;c)]SכRb㽦FW~~+}c| &a?cѰzV6ё~vYqֵ)?}5tMywVwڭm[?N\WO˄_G=ڽʟ~y zT*H<"94Djw2b1w;ZFo_zu[ u %~ +=SfR!sW3l7S#5V^-vxTNO}eJ;ߓYE>I%M{ԷY{N\J +A~A &voMfNAvγhWjkoFs~vzT*I;`3CʉC:=z5YnB=NfubĮmEc~`ͭ}w߱mTUB_'0L z:ͱŢP-'CӬknP:kirbJ_IFVq.C]W%cՈSncN&0&U +j496$Qz<9~3Z)ڜk6'Q#&J;fw`^Q$cxN9^sֶͲn8bjyW[lzfʜWΙ0zu`NJcP 3Ug\qit*j{ticQ1ϏHIj+^ +[oYelC?=ƑR]k6 +~YGM~oYHcx(ݒtAɓ޿WxٖEQwME!l71z)]a~DsiHBNsY-<+0ƌ2`k/a4F~e" +[ֺ Sj +ͬڸ;ڮ1}+A^:$;(xz0%^@0Ma*Tf:J̓W6lF%cEѾ}ITKz0(_Bi< H>5,m3P1,ɜp;_Dž s$Mf7mή(ghXkd]bO-M߿>|[eF +][5s3|۱K$ mhrAWRdŽ|/ϯ$vL(]ƨ庶oB|ydb]x~yrnLU qgѐ19}R$|jCC*w?tZ?# lR %j1K@4&ȿ7 fڼ-Ry_cڣNETocT}j7)G|[AYRTI½Zә\tƇT447\ +?2~DynrZjMT#cʞ.eaL\{xZG_!l'-5}ޟ\k'\c|" +k\}ח!|o2Bb?l4mCLjcg!q*Q x!ϖ&SRִ%+iNsu{^#o΅K8~G KxރapnX/wlJ#!}GT-R~w<[y`MqgnĤ.Q̐}ažru~f,=e~QIɱMJQ[߆qY[fRžq#nz`hQf)ELٲy~,aM`ݝ2vejS_˃U~jP|rf,;9_>=a' aNk~h]i#{SG>{N +!*HI`(~28q+iģ*QFq[l!Mald$yG*qfHE6CUCse;F.|qbUU`WӺԐiUB7vy ' ysOggS*H%1Y83߈]Ǧ@U';:>$d(c˫vqڧ;1^쳥2#vy%צ&(#@F :[s3H=jQxt9e-SvW1cv~<nV!d.[ 3d4_7( )_cߙOrm0{4oJj%]?uFg\i,(H8:j00X̑_epZh^i +fF+4җ,ǛԃH84B+X&ȬSM#VȾx½B5y2Fl'BB X[෎BPN0tJYIfDZizsk^'iZK]kOo-V\$F -Nqb^buh8eEpT= GL0CJ ӥBq^NC?ۦ~;Mcs NjU2$9QYfi13'j\^]+\mo4Rjew0>i,Bh)0]W,~PRZ"!by/$y$qsv" >|IQgք!CG6EBfTe+ɏwd:TDɮbL63| 1wO+~7ŔV,vgwM#q(^K +DC|ȶC&Tۡ3i/գtKÕ"Uֲ?OkDNlr_,oY ]:ԫ !.'E +_}$zhc¦!V-^X}5_`~ +a:1vT+Dct uzm؋ΏN6 z[wG)KQOKu8*;NpngڄO3?} OD\e"/Dx7ZQ9:e/-;og_\/Ղ4/b1Kp{ N6Ez~/:L}d1Oc)1Om<>ю?J:F9 +H|S#G7 +]5ʝ}qQ^V[[^Z8=-^ ^aD$+Рd,ӫJʿU[;38)pqexJVMM)hJ]@OdtEB]Z2 yчs >T.clF,JEq{K' ƏKRs\"Q1i$c#xw3TS2|o{R8V]?Z.6Yy񤲥߄!~$T]G)@WzJJOұ7#hOG/4g).EŒ&f&y5"9-Up= b&9ZvEj"`Cz }崡_փqH))&K1[yL?$2ֹ6LCW] eTu\1G#|Mt3߬z ǫ +W뗘S<]f `Ahwp92nlCr]ڠDC2*3y;> +OKB^h?EșZÿꝥ1 KXa8H@ + f󞇻5 1N2{.=5\L;7D[FCSΰ~r_ `]vi 8+2_W+d7!X#$N"ڞ@5دFw;]Y+-S,ݷ4!sF7q.1bkݔ:ld`rw /G +H +%ΛP%᪫] -e䪝UyzHLk7m"ukLm}Q| +RMitM\3G-`kᎭZt/oCTk`Ɲ^i0( 1#?THDy`511zjc[ٮ=#S|[ZĒḂ#[U" +w:ȲDAҊ^I=v9&^Rxwt$fh52G}˺w`AZ6ppͩ۩_r@ 7 uޛ2CgxX<| qk<?:BRk%?d 5y2COggSE*H&UWPi,h[-{Xf#,C@8. z6\?n3ݿ] Kʤ|P)b0>f gZd^e,R!jGF`qYgP &A27޴ɘeb:i^Ll*}/.->p8ZW{RD>(lZOLiV9H3/ϒ4' IL *0/ %T_0%cCCʕ)]KҸ-y炨IeJ +޲$IXyF$5Hb d ߙgAZ!LJuZWiYU8͐ۊ%e<\tLmh\Im}7wy"Bc"#h +{ #nĽ~:s#">1p[1CRp =;~ !ރ7)vo }PYwx!*H|6|h#X\vANy{8/U|qzq]= ӌ-JETay]or3Tr:~rFH52%:s3M{vj?g|K F8d$SJT +Ko*i>ZT}JyWUidt-k&̪⏋/t.V=+wi}!ٛ{Eڄ/-)2 ClY1ԫL8V;Q_*NjWG˻mƫ|eI=_BߡݙS1_)+ƴFjDJdualjd1JLsTSaoYw".h)$#Sס +7xG/fQe?ݤ⡳&huL=+=JWb9vƽe'Aٟvk.._aq;O~GiZ]*;´֮EObå\ Bsd[-vi.jq^橷e6E҇_R !}mu,ݮm =2 + 7⩼2+r\Q =ऍR`X~p7ve]H})QyZ7[$$Dg^ΏP@뼺*nwze/7vjv7sGAvLi*zCQH>^# niy=֟l6P_to\:X]|>ض+?}3UJ\<$J> Z͂pKygԓյvi]>[DH<Ž#LF&U|U)2V͔ZsN3"2TSGtoz)k."lLz䶄Rbm/ZP +FXĉ^.^'Cݼ )Ri$ё;OS1Pڌle9ZiOG.wSƩ36QX' >KEmUvUn eT$ XRUevG"F'%V9 6RlՎl/403^F揱8(c uQNJ#eK(_^0|c ~5H" +yRX5D!UeAN#bR_DӱGh{4]Ǔj}m:cJ񎻫͹᭨,bӣ J$Hy?gG0{< h s ٰ!6/tFË[]z+2ٞ&HY-D&ao\m<dh[>zD?ƉB8 dÀ+HV_HDe/,۶<6߶4m\{uo^[49 L/`M&cFCfP\N(y|<gbJ1sT%^J,@Q)nGR"Tp`)<5χ3UYqC-.enȫR(#>}'Z:DDFs%DU4=^[lUc;A +o?%IzH\mɟc鬋Kڱ9oL]$FPFgiчPr'ot|@~~ocK +q]m}TgE>JP`ɿlp^? f{th(#ʗ'/trDtSVQy#.*qug]uvN46+Y3<(Y~(x0'DCCŵ#}9ge cA ;)) +N)J/%rԹXR}R ^;r&8|L[je>*$+=g&}HU0Z~,z?L?_?Ovy5]hkAbUuhfem ݴP3=S|DDV4u6zf {]fC qR0Q"y*< Ȧ}+sH^ bBi0n%Rx2d[ $<ƦR7yc5Hq4Vvhz 8w xb>8˹PWL!a^bЗ3; f~,D99{'w EwiR|!1xS /M-Ow B!UlAruH∎K1oڣD3Q듩1ٶˤTJ3}]56m.$Uwk?MdMR*zrӈcwҭR$:_(Nkǜ*AD;:-BnWIC> D|,m:͛;`|9ӆȎ(4rtj-)_>Kc}Jn:d?~+n(!ޥ2S2ĭ^Қ,u!D )4;i"aM~̃L^:#,`:4lz&^oLRإwH|XZhe.W-?JDž 1s!Rya 80{] +5OVf CtX[Ph,ˢ,+u mNXV"y F%B]b)"h|=HPOggSh*H'9|H_ @"}u߇6-Om׭M0S'AkXA_B:._\+%4$iK -ayyDg>R"5B4Z2;W` +%%em~24"q ,6;=||^Du#""rJb6gf%]W D1'b4Қ&mlbb ;Cp 8Azuu>Y& 5I|y:!B%6 L̓lM=x2c*"$+i T+X75SF0M̨WY^q==ưﱧ4ܶBP#Uay_EN'G$x5=GV˼_ףi؉7s$j/_t&sUR8~jF;LC(ia M4>/v/g +t DE%F mJi +5Xb']k'[ 0ߟf}/p~rpd_(w`(QƾdCahs9N&ƮUo,g꺲tև߇E3QO#*>啴*n^J ē'Zrk~dzl͏-;m\U7vFzӚK:)G#l;};'u#~B~۝cLG [c:d +;?pA̻6ڳ}Ի{pTޗ{XN'Ic!{=oC+*+'`t~S[c?_/e{窮wwZ5p7Y!juk)4J{Ɏ5iӾ*_JN +[uvUZs uWv9[S!L'1qϣBKM:Z +m#pcEq^Zkb64RYjԁq3"Y3LA_V*gTh*~I؈KnR275zƖ%3lx}MQ=y'}۴&Kߢ +wEttř +^+qm߶1T i`RJN%0CߌΣ +ֈ3,KUu~Uw.W ݰ:`irQJZAa?e=a`;ekZ:|9 )pϞ{Ԥӊ1PJZ4MMT;xWҺd_%ȾRy٩t(uG˯u'.mHot%SWl_Mt5H~Y$ /x6<6L|AP ] `4n +&GF3mU }HyKϫ\= +-Wxf[%|}s5M);BBKIj_gBE3F +ӲDd(ڱ]ۍ•ʎd Ҿ]JdfTX}R,?@8 1S՘U>$o6wI)9$:7L)0>Y ( RH^;&8Us7%<@0ft:;1$T|mrR+;RS#,8 }T4Sm0d+R mvQp+lDogm@ڥ^¤kN||ǰ䰕x+ N|۲/)RjCjI5 +Uj8J/,K}W`´&KcrDT׉m{'3 -L8QOp@)`!Wuҧi$1"FǪ%r"TÙ1Aq?`,dB@GXW{qha43B~B7'l%DVFAgb%rO=q +n;#x>[o(%,'-w KN2t1R.ڨwma KC UId-|1yq3PNјϫzKbݘ {;RSWydX,~ obP(zãܗo~8V }+M;za:1F|bW.uy]6zթ;zcyirk=YxLΤC۵O?ZX7ԽRQfQEq\rC/KNWaVFU0C A?1t۩ܨk:>o=Uwo꾶Ǿ/<7jc~Һ//)?tQi6gΊjyjOԆA=Z[St!454FGye h+Z=RGo^cdfax}Yn&ejyV>ѭ~Hk"m4L|bSdknolZ4T} + +p~VߑS\vUBJy\r"nA=k¬K$)QU2G*^3ņog}YۺLm+} +HZ4spXz\6`S.++ij#Տ_Uv+urB#!NG Lpbf/b,IK:$P ^2 ؇0'`*kډ#Lӛ:7xr.꽹q!"JtBHO/di_WTܙt[J#"}1Bg]Ҍc^n p)0qa b7ZO{AkEJ2gj J+,_װ)1qBO}gf/_zJjާ>:  )8^boe;Xao?]YKzFKU=o#\47dT!o +aFyR{BJf)Zt"A#oYJXM/0}!2=l0/[+B=ߍTR6e$\b㟔gT)&˯l69nb<$,iXoCPal)X_s~b=R Tg 0#އPZeAHc9b3BW=KK,?ɂY]EKhD+ڒDnzݦ+Iq=i$;ЋAP;`]v mHRC:߾!2(+jד?*Ғ3p?D024]m$`U! +gBRK 6? ؃{G0~m_SONuH(vFR` Ic .U_u!||])|OggS*H(Gu|i;P4" +8TXK|< ළ33T}ux3Pv&wrN"hbwnvlbInPHCo YVӋ30ߛR4_T#Fٔ bkbӒa.^!.6eZCܳ?Ersiӈ(Z"BdN*? Oh \Z ͙J2]h7X,p "P?wuV@|e W0}&&=ĮHlyyTj|_ҾVFF#=1F^W,= 4;fe67ߐoB?F{MIKF`vHK!|?@ê)WVt}6Ze zvרCh&!1'-c%6DC@⟘؏s^/xu'f +`W&, .IAn00ϭ}[J4ua+7Vo0ogkЃ%( Q0!Hb ݪ;F^(֘w {+X}vyO. ~dzu:Sc䤝ciX hy˵4; 5[ F{BUqg1 g(1a|[,?ĝ)j9JQ0Ih|l&3 e5KF2'\i(X)FI^6HE[j8lv_Z)U40dE煂um37YY1k(^;5Y˲9 ++V݊v=U={NeKjGW?Id_6Z!7kHTYI٢ SIZ֚U[6N/PqgGnԳtޭA"W16J  %'%XSQx-ODDdzS0uVm{T k"XȅR!mf84&أhf\9^_xrKI~j*_9\A0ޑr{3Wê{ެĮhd>p5FHTRI)rq7͛e]->2f<SzѴ{݉KRhUnHJiAWx"4MDa}:|Y ʚ`'+}5Rp/߼uXx%,!L\kŠ__{ךEBGՐo+L+Ti ce $Y}Z-ab/iu/[ @Yr/"biמ&iScI`k:DQZYv2")tkނ9hIצ\M"W]QÏ&+E\Gm fk +dŪ^v6|[62@&>=Rp_vcOqND#k0.Eq&Kfr$y):_6}k~U覙$@jJ=O…LڦDrH)DXvQso8ZI Nڄ FOEL gbh{zRoEaDxw(ǼRX"Y( 诈 +cxu 4z@FhƧcvfIw{^ OB@-鷴@#8Js󣻹t0vi ѕ}<`ֲrؘ/uN"M>k9,U4"e{|On=ذȦ't0kNJѳc^nq%慤}(}%Y8o=*l%2_ܢt0hZ6[-Q> Ueڠ/ +5=>}{LQ. i4h =ZGǤR:C\m%49Kcg)!MZ?O];莕n)-QzOh;d4>y zT{}Ym8Zدzˑ:z W$.01$sqTCA#moPLX;vhRr˗)8uU[N%=Ҵm+Dqh])o|@ =ꐲj7?m蘉HjR?jopB; |,|F~ DH=\R6bi(;cJ{{GpV/ L} 5+IfYmQM8ثb:4 ᜑ,/VDړu ţ.\۟wO%6֪mJs>Ɇ*c2GYl(ɰnV*P<.N_|YmV#Wc+AHz۰RdAШ^}r䏎ͺs(t:{&Q]!OKT/ zxq|fX)uY)\*K1ecőg[XM𨺵{9D!jL*>17-F$;ǘ<9 t/ͭ>[d'z٫hyԮY9s9&6(1L櫛2Zeh+ ȦČT2T![f+4NLV`2i24 Wczl?L&wL}/5kEKD \Ƹ2l61&RC.:醠?1)<{׾e"l50HL7gUH ^봢:7c߭¾mi +D$ f-MC@ ٛ}^1f6V0=keWOϸB% ?jTZZӅ1Zl~fonwLm{*5%%^ 84lN<nwc}bۄj\`r+|i/b,R6KQ=snvVI Sq(2v|97:MjGԃvn8 Ysz5Mc{!zi2t}iRXcOKmKQ{Yǃ5ki9>MGZcU >+$H}Yh13* + X&ねLg^5=VI. ,+ґt7)/d 7w*JA6-yx^'^ոH[B5%cȱVb6\볝/0JR:ie0Z<6*vz2V[?dyȩY7جNŬ6ΣM{'r--涤ir]? +d ɱFsNR@tvH75}wAяYyh-:CQ*!Dp*,^F +)MVFhY(qJ-{FSJ˕yxQppf95Rw7ӬXQQ@^y^vsIxjTt,$zEV1 ɃF?_ JڋQl*OggS*H)̛m':\BM#*aD ScL +fNpIDQ)ݸ n[YObn_c,}Zؚ!Dn9R5OqT0J}E{L*wqZ l(D6B cF-ky,C|a!qFC!hRQ[.2{dpf"/_*a>koK#ذYױ46ʰtyGzu/M  [tJ -l*Pq9(IFc0tUNeTQO‰@.#?J\ZVk|8).>t@*R""aVBz:t64㴃a8zfk"P|)ZtJhsHTr˘>#r+5}.X.l0Q&#wyC(0BƙGU.n3"8`>Q/îm5*V\F5dž1nՂ?)%{0ٌ^Y=%ƾ-fU0 bf=6L$yz8ɗBgY Pt-aR?OmP4NBV#e|ѱū;޹6=xIƃR*յa4p6?_Ky}ň]TAhGB KXSX$q[ ~U%~<_s˵K{'坱eɷCdnBo#̬Ffxqg)7ף@zqlC*ck7UW?,G.Gs̵Qe/uuz9qp,55ꎿtv}_PzaD*;㝱rw͛H1ݳc?]_c;rӎW?Õ~/*wͳf1_\J?7lEHyG7u\B<[J͝7{]qCW׷1J(aV7{c7l)Zrw,OUoS8\+ݎ?eiH,>iϧރjR"ww "W5'l?{z-;niK1AkܳlOm*br"ޒD~? oơm_|Jbzg\1YS*v)P.>2 Y F | Uccsw,,ѶyURnӺSQρXnYˈƞcwA]6X겫}5V>, .h_y^j D=nQЛ"Iu_pklv ;z`?k=dwLNc,mp7>3r[ #Q^1TbpqDdX(t@Z/rG9,1xNg7]ٻI#Y h8HZ F6hT :-soFUK2j\ldoG_͸^ eK`O>:D|q(ŚpXS jJL{jo1[(iKHtRh4nڰ@t鑬Q_<*ЄbGTUmS>(6M{* pK4\̳ܸdO ޭD:[;޳~gbF12SsWVc?P}/1])î^ +TtFDpgؼ@n2G@ljT9yV;N E"h9oe9fo+8pBjA 3Zj$ h6 *iEh{*gs&Mmyl>n,3*> 4 mg{99E第rCz맴z{-C~ѵ>546?=M_n}+I`pj Kz蛘UQ~4 Z=ǦS0YoܻPVZ,YtQggpyT>K4#voYiuJwJ˪̕kY9+lV^k!kDadFctϡ.8]KM4 0|<6h3zfB^j z7Cfd:0[3)r^x>Bgktz-A3|_LtW"<-ƽQq[#Oo4lȰ(JX"xᚣ'[ם:ZdLyNev*LƒWwfei JҺTjN/ä6j>WAU2zA\۟{[Pl^&I"Qgk%f{+=.fzF!lH>@KtQiIO6+.5_=,gf;[t-ةZeMhHRpiumn6nZhB. V-=Q::u?o~xC4MFђqy1?k:S5w8'1I kN7kyƕ9{J Xr47 mh $&dКF]T*?;gMHF4:Z8S<~[⹤B $hEЬݶP4j5$Jܸ_II['_boyRb]7`I9mԐP%|!+ϻsj۵ggk>B8ZʾROH9+'YKdXLr%OR/^x'f$yqY1T+͕G{+"ϫ&a6s %Po~UJX$,\\?DaTBQ?RH{lOgz0JfZPVm^;I8;_?!z;< TtFWP^)+\ 4rG7| |3ꞜLD'-8q8> ޺::wnf|+͈|AQ]# EY'yjbѸkI/#a#qeKqn8DYQ^04JMFЙ95JJCK?w?ؼ5ǿ WIˠx:ReҨ*fPb[Wz #28{mwf0^4=TP*7_ 9x/^'zq6i7*ԏ souT1.q Ѧ7xhK[f*ȼ:sry5x0#4 ZtPJ\vO]AbƪņGpo6}ghȵ2|9i!!e4DEouDU5w/21^ӯJpXOp"`n*o9Z?tQψ5B ^.dx9$/6 6vZTۖݥlf#^ a?$^)|NEk/ޤӤL5Κɼ6^⬀pmGepNrzun(Y:Qا H;fص@WǤ{u*ĭ@0( +d`Y+%8pd6`¡(`"oQriЦ呖cTHP. ]{P,+10kMaTjWa5t.BZAXQHm OggS*H*e 瓡) 4)E}Ŏb:ʹPkd(&APFRm ɹVwR[_&:kPݳbo%.mD[oI`Un&L#d!5O);!KcSw@ݻ^s߻/yan@pOe"Zaa&99 '7P!ؑ47aQ$ciC[73>ǸGwߩi݅UYjߗIOɜ+˘4'؏_7ZK73f[WXrKckۋI[o-[FV8`aE{p8MdY,6$іi 4N_6Z0tUhȋ\M-?kdt2DA›ER򝱗+S4GVG:2[;y,{0Xx!oѡMP6u~Еehy)J6f័oΕtrwc %Ȏ^)Fu~37G~_-ZSD") =f3UϥQqXTSR/Gg)SWWwj60Һk z=/Z$^®=!0h+/11M+ĪǤ!W hm73Ԏ-QhD\*gkEW8+RF}~zU-ˇӦIyGaЃ͡{{LW͕5qî.j>EJ/ےh'bk$Ȭ\_acz\ϧ a[{τuBL*W#LZe\f<9>M^wC-F@/&AZJzX}[Nz$Sa{$oK]61iqOpxp'o*) +'gEo@~Mמ ߋ.+t=tⴻlk^@)x@niT,@!u]hD&6 +\y.?沅D%cOкs~ +WQ7GgR\2!0#,^|s3{1v?iĨf[{*?S^JЀH顮V<% L36w.EV eLP>>><Њb!BVE"I_ɱAL0e~#{;1v&ʩ [ WS'ٲi +fTg! {N,s͕r*" D1RK! Z;#TσNMo2xꚱ |B4G GxOmdnnIlgؠP찇6Nwm AWrcY(gX(0FaE)PDywA4+w+蕤#P0Ò%_S]]W{%՞o8NywʆPo bV-Rz)z$qD^|>sWiއ$X 5nt"ʫ{p{x.o)y 52+ix{V+_מWjO3Y֩% D#=eUjƜhb!dW(,ڦ2Ԟ!zLKR6MX4GsŃ~c%\LdOEҎJuc :he/ۅ~/iZ1>ֱ=YQ2Z'N\;d&}~qD5zU,U^N/*ę]wJ XfաLz""zCpŢcnurɀ(y*9`+ePdXDxu-22XmoC^R/qz8?&F jJ7,L.~7[-\1 {2k8ۜu\3j;~$^*tPUiQ:UEMx$칱c2vYZ5F{=ԛQ Ҭ 8/<22Ƀ$!W_d vV!WĎ.DbSw dGf6 ܬ'cW@{SNzy:uHhկ:]3Lj巫'<Xq>;dP (NUk`>)ŴvRUn'f_ZtwFZMsjoF A)a[< f!q`;0oy'9v +L7uԗM#&_1Kg _ 3a<34:GA#oet!E EƊ.TiE$Xà +z6eheʶ>fLEhFg:f=u+$NΣ~𕎘qly'!F5Юnꪬ*:D7U 1\,w'JN`C^?P͓>H@^NfZKi(ƥw`9sye0t.ւ) +'lvqSue?i~cʦ?uZzyt- gCpyt~-ޟ)ձ+)49 ~: Ӗ6Œ*fߤXX:vJdQ[+~w&.T0cxZ,v7l/yYK̚lI"fj0WF9Bi5kUNf[%Ǔ}|D=Dj\jfϷ~T9D r%Ǥ/amܢ"Z:r=1:.[i},VptCoche>j +ؗMm/˴K=r,왫.MGF7L1#-,4iDn/ ayeltsq|[9Ad)bEy:.Xpu(w<'CKɭRJI3աu?v%;&f?sk ؕuY Tb91]Xt>{ y1iGzY>EBOa 3`&PV<Ϳ13}}lcUqtLJZ+ֹ@ءb% AWĶ;T"u "ْp+?+($br˲WL{? +zYgj~qV OTjǮB^1tA?jMEuRn'0Y;O|;?EdSqsoԸfb:TpbIdaj,T ؘݢ 8 4D'M?.Y!NI::wY3r dy"B!w܍HhDjY+pUpt4eEMͲ|!0z!uτNqM^:9 Fpt9r✐x#Ѧ/ug}Rv3bfzO>NOggS*H+M^<s)8hx8SIZIzᒌ0i+aV%yr_s7󫪶uIYn\J+X2D}E-*mYa\媠XYVv?!Ea "aW ë(~KHn3pLziN"s!tޓl1=i!Lɺ!*4:'i'w;R>*oڌ>\cGjwʞX÷ 5}!5]85:WdؼIePh 5]S &/dy60f `oT#D$Ѽ%MO%1R4_ֈ9-s#"UP y,y:G49Y1F?E"Kqb,ұ S󫱦:D"-zFvP:L9 Ω40΂]V.E~|t0fyd2t:3޷B`+a,6|c2)V3H#PJe{|0F{}{t;SK/.ƚ0FkLVasƴL+O3t'c%VϻjJ+ul +\˳ a쑩$ݣZa92tsxu*f!M<(DBϠ<<4e7wY֨`B,lˇՐ9+Ulq\M/3W05N|͔}?z塳0Y!nNOTZeGA~W ~+@mGǩjK&H+ ,YK9_.?d?_Lzjm oàbCDYTOͼ&j:O7^daWNMQTnǸ\rOfڭ%5K!_^%2:3휩suyv:OWs58 =v5^) uNUUq{P[ +FN{+?vt7(vZ>PwIV5yHmo(ΙN5`LS:4bF_7If DS?):g`83Axn eUEzr1Zej> +gSRӞVb{krI6KA|ve=/Bs(*D\P Qeq,8G5PT5DJ.I_ץk5YFC>j|q$A{ӛ >Ykؖi!3R_,>Rn{Oy J;)0pD1Y8<8Y{f;]6T%c@)ԾIʂ('fDO17gS[hrRD'pUnguWz׌b++o+a'mRhFGlBMC_rNak+_#`ӊ ,_S]U̹{u-2G['**4m}dq0>ĩGQޘ. 3OaV=!W1AV +mY0KX7DӦo9$"ry}/OggS!+H,.Ɔܚ~9,H)uM 'v6ԠiF>$;yOuBꨈYcBd&2R<^cKlūˁZww&5Oi%Οi~y4VGۘ-!΅ 3jO<u fvYFSD08`M}# +9 Ta o,$n]7ŷVhZ+WN^9 $zNOdy&DDB˝6!xZfCp 9i@յ}} 朴'J&c Z6 h[<b+01;: =h qc46FzoWXjmy/yW)kӅsEL<1ĘE7`-NR6#UFZ5߶բ\͂ ɧȠm1? +"z1؎tΙz^1rg@?p^ӇGl_\SB@7CLL"F*L?>7SZsTkʎYk_v??T+F?V3O0O{1vk]㺋yŶ//W{siSdAHDW1pyW_guwP[Coz+AF =*^u/;*Wya0Ou)k^GͥW/ygv%ms;_?UMOҌ=K͑c[Z҃.n' >Z@[gx]jLZ{ꖀv|1E.MA^bۘHX,GZ:bqs0 m!ZZ(!~Rwwqє`>h&xd]_ c_@NgU#dU۲5jZ%+ƍ6ƕ"aqӞ (3mۂ_M4kأǩa{eZ;i=Y"Vy#jUU^ʷ̐h_G)vnŘ3>舀dk䢈BVwI"xB٦OݛUԟI1D\R 7d {K[tL3GV_lfb/ &ejg4/L]ɉ p,덣uNʚCnqxBអR4ȼ>p$Xr>1uڠJI l^SV}9w8^0? .Q Ғwq:&rivF0-ȑ^u&~ pF3P^El7 ܦZCU+:]jj'5]1̉Fg.0V5m|W2ﲰIAu'SCS:5b em?b7wS[ 94Oq}0*]U0#p ΥFu#S2-xw8veiӾs )l؅p!bsJÛLm/BI9M]3φ::BP%OY0'/ewħd7 +zkz@(l2ZuHTWG׃a6NjK+0٦l막i2rK݂;k]T˨4c.,j`hio`4ܖ0"&qmͣ +Ai zėߩ?"mYٰ'Dc9kkMK .2 .O!شyUgkݪP}ɻZEfVpGHp牌0ؔNKN]%Q@Wco[PEhwID3#4 +' 6^KKGx$C~6pJ0y}tE}Yv*4t)d5i295.8bqE: =/)3ix]syfke5nľv$eܚMj(E{Z+ӊf[Un|=rN!s1l7M_o9>;Dnԏ)m#J vw 7ɋj̦QLiMN?*.d[@Fo纙t=(b=D8X$. 澹_OVO-;ҍxhk 8;[U^]pܲx2m_l v$~:ڲ~,oT#V/|Q)\XNsT>;t4;ksԑS0W5Nj7CI=Xմx+ QnzX_6eg|(cHYLAkG^5;C>=+,OF|БIRP;8M~7\|T}Ӄ]}8UE׃n?K.qhws{v ˙Mee#L,ޤ=on_Sg+y#kdI%"}L$$_6-XؖDKaGd?eͳQ$,js_[@| +-L:@4)od| #ē(~8KWD_k[R̦~WMhŸE_ʊ]OggSF+H-I 0EWqI'Lz'45QYC:1xrw'^њ 1cVJѣ"{aƨrk!CS#:2Fi*ȾS{-YۂD>rX7UU]cnB)F?\ +mʵc_Db!F'q>xK:7*jQmٯį+ij| )tǩzVf!.,=$=j脭7iT:C]\Ј`E[*wirGe; o,],'OXՐ]s!Ʃ֯0?n#~ i瓑!D(h_;R/x)ѳGI`TD(X4'-\SCx-N,{s 2Y^g|ݺ1X?cʉƙQX_E~flD$i-!<4n)  ҹ}e᭘%&hԽhAj +:iBb?,]ؘq̤1r_WBEܺ׊f:3O#0#"iC ViBed 6NGYHBGZN*t۵^$Et襀o(LT_Ev +oC#Wʆ,߸|GnXujU,W-IWK_Kd?j6zᙠV:>[e>3~{n)/չc(v~=zƾ)DK+Kdqd9:#77#qrQ=n?yqwJχVA3M-ʲhtCa:l:zua'?9U wcY}n(3{xqsW}Uo\J;yks{dyZ+M\q-F[q_Cl"\nx;>7-u7qGg:HmMﵤ|G..JKaV.sz2em6Gٙ<jeƝppJծgO3v9o+y5\/ۛ8ON/+jkp'zk_޲#iՎTU~,mlAgy{RZH(zڔ8-:vkOǦݙ3ch4(מ9l/'ƫj*ԯTu[4 +&.ڂ/BŠ" +y) ^5Fi6a!ZQl/w_nI?dF*T[̓aq:,O#7o.ٶ}mv{Fi'vqlGJŜiEmN+4cW^SN3|2ӜPQ^z +w@Vtvmf$ƥs$};ȶ?dga/ά}z۶@@-O3pK줉![L +]cTec2){5hK#oJ%ڰځ 6_z\"IC2i\]gN]9D,ĀcUqYP?E%ir$՚w#nQ֯]}0xGO쯅w0R>* 3-J;oh=D*X]S:?|;P'ts VܚO÷Fbٶ X +&'l̶Ej$R!+Cdy`7F{\1Cw-JU5F>gM('"vc e40ak9sI~91"dڃRT*]Zt D}yxZ=(DRlY]˞ڝEM"ˌSA( QHû*d޲1/H26+A=V _"'8)b!Aw۾ >hg<:T>&Mv Z /ajOe(v3Աd[Xܘ{$e]й:.+_Q( phz + +;dHl;nn5ro݅gWE+GϹϱo#e\+SQxk8$Ennznĭ;JKYV'n\ԊE;I /M0Kߒ/O[6jfn{Ęq#yqg^=R񊥞^Rf[Ѐ'3n:hw5?LʽG}rjtڊ8pIR !ĤehX\g3$ōt0ԇΡ4q:>0*Hm**CT̥D*Mpɿi N7+N A񗊥"\҆ў/ikr գنȫfEszjS.z;>[? N̺m:dv6? <5(kc%p4Gӑ(Ą6FHA2&4xOL>cWۅ,NGf?롍ߖoYY/&w_ A(> 8 zb_ڪwre۳$%ʵW +D.O(Q57lm(A&%[x2bM+QwjG1⊮9wnfW,nn#ӄW̃ +Q5yguН Rwӑxp5݄bcҳU]%`k7{*mck7-L/J$4ɺ*\VL&s%4 +TyU^^tĢtl _3_ix!E]]0_ٞ;m= K:1NHtܩ/8S]͊3B&KƨVY>YTKjm DTnfW; (m$;J 4A-:1\0eB8VO`\kń1i&0tq"?>ZM?S]Rf׎ Ѥi>dEE0~ץ4B/ŒM9b~QnѶnh] Hc 1EqOQ#蟼P]FvF@/tL>EӍ)#sļQw B͋0e:OggSl+H.%^*4FE3h5rBasIKb5 %ņ4)}[\06\sX%x'̮CI2QC%6VB bYFR2F6li~nnEQ̿6O0e"*^IL &_Y R*fv~Zf@k:֮U"^Z + +0`~&;< +a 5x?42̇7q˰$A5,o>;ϴj1_CFfvB踫EjۊTE4@d0ܩ]33@:*Hz&>~YQU54R"%F?!([q7o9zasGkӖekmdPm7Ugٯk#d#lX/(~I_u.7 +'#!\߶TGkDљVW9^V +PP@Bqr ;JCѱ(b#IݥU3ZE]rg;^J)z{SI%f[byHUJq:U\Әfp + X'fͥRBu%8h4v1J%ӏ="Aחh|a}zO+Tqw& +})E6 "nwhtcR#>ǹ }./[L+.ڊUr +8~̆عxU{, Evu'> ڝ^*ogӔˇ5 PUY(w??_V!h9ysK'r6`z4a)0%3ڟqDWڣRT;^2j7څ1uWõɺCؾqA;ޤL3I %P1h[ 8W1rG׾k}@/(<]W/Sme9wHl[ 9(đ%Eha yKzfMleoFsBv[!XkcmRޠ%c0&bS IVM=3Tfc%HpY,c<dlT]\M36ϽŘlܚ]xۭ?Y~[$HA$nȡ-y Tp}nHެx{ Fr&ھ;Hb;?z[EدM7hbP.HuS,z.a)ge +;o#њq[K´jz/dPW%l)1]gW\L*#Wv#H"7U|hb}IxJ_QΜGM+d DxQ8p[ng0 a6o l1ZjJΗmkDl֕$Dl͆tY5`<-_9cgWA~ '?Ҫ殰1}U;uuȶQm6Ԭ>`ٳ5"txfF#6+b׹+ 0oӢ9[ߋ{pR=lSءO[_JHaRrbmlT [6sT A\Xme +iz2vԛRBREQx, PM*&OggS+H/&d탠H (~E ?N b#T$3L³|j@?_zm h(0X=kd ǩ=g!2cȂ^ + syXH^# d,a,ilf%31iG&W ( !D~0z@VVUBhv, ?Q9Lc‰/Iͽ4n(#ҏBVͻU4kiT"!n۔0K|Aa9,(³Qp/ yp@# i +f3Jz)X&xA62Ӣ~ I디5i&F8nϡ ;;%R7,Yt2+@jdh=Q3؉m6d&;-)̽oYVezu „w Qh&=,IM~HHIO`7L= H+{ryM̈0Tn DCߔN@굩d1ii 5,'T9Cew"o9Eߗ<dQlaI]ndCgAnp׹ +~[Zw+{&d`T244Cm鷨*V g&nʣCԊQ]߶gmwkN~Ih>U+Q!0/#mrɊ6[[j]U}ejlULU|Zw0];CYokkӷciRfeeV\dbs%S2Xj`c`z6#<kxŀzr?ᾪ.bVRZf,^7CjZٖWMQ/ LzתlYhWdؽFuӁ% + &րf3*_ nfNˢG/)@O$骼nhISn-ڣ3P#H +ײ[HY׵e%g!BݮsUhwVYe;wմ` ~TݬWJ5–}3;çZ̚Ѩm-{~aщGJm oŸ@pvqxWq2?v*/~I,Wć§RB Tc(Cis;հ1EBLj{kLHG97JD36՝*vyv!ޤ',i =viAV< ˺W-lFX(#U\AcQ Q8m#ah_1؟ >%\K=0N0WI:%4-rG Myڥ$ixc4 +>h 3g4Q96M@o 0lPVC迎 ^([ V/*"$RnӴ{,#1RTx8#LVȤL4!&ߖ%Z.JV-<-+Qj%Gd#+lRvԨ+?NŎ22Dijc/S & p|.5nꚔ2z.jk˟\GwY;c~J[V(7V0vK$ >;rnSĖ0ғB])Yf}h -! xi4CXVj^y{TG|Rۼba-kA H{bI8pg}E*KYW7r+k UHMtLsB Aԉk2_lbN^+HA-3"`̞BRdl MuzjSo +M9[.Z/cv$FN?V9'tOah͝Eo/oR4;bL[yؠJ&&8$FܖK ȱ"C1 +{hk^7"\#Lq\,9ON6h&uH^J"HЕ{: 6Nl1Gt 48ݨ\9O80GV{@Nid3B(YzZ˶BMX)?ݍF`AmKt:DrDN ZQAy%$-'xzm3oboVm +uT:lKFn_ȐJ 7AElLFF>:4A.oB-264cs3(<&MWMht=7%R7%ne؊s-#f#od! +yJb>n_Rp96fQc%q+0IzZWkdsR' c2I2Fڗs^hcr^2?6^>g9fb_Gw i^jO ,qXsRwి@cFc8{^ ntK5WMb$o\#!Jf#a4ϫ){)¯YIhjnt|)l;#3̔>##[gפDҏ$C!G:㺢(W\Wuv~(nȓG|Y66WpY,"G0_kj0pD5zG_PUWV5 o9c4Q6v$ը?!D"@9=7QT +Q-caՋ4gN{^kXixsuTe_X[h>UVI47[M7o}bM̔csU) nT&T۹ &yΘon! +6k^VjBa '\Ήc jV[%8 +~f*Z#šPޙ&˷\sMW?iy}xQ KN@v*D`פ}QJ&(Ķ_,%W؉T`4z1L]&oꦭ{}_v?֌XrT_5%O>g|IGȀs9L:%f l#}e+J1L#:F3;c9),m#DdKiUJΗ&ث/#AV,ti$ٿ 0@B4u\4MvrR#'`dֵ +[&dv4!@}ŮodH~- OggS+H0;~X\ )d/8[Y׎cMKo )<3"lu%'"XFTAS ya ,KKH +I6"# DE>*GXQ!Dq$M_Ba sIhe4U5(_*c-Ƭ"2PkBnۀuݪ_YPO f}))H W11W +D#p~pQlF' 8(c8W`~sCL;5@NĪ/9ϖOBSK"19`OEvvv4\LGt4x!; +!Ƨ NH0rܘY׉3xK{< "Jӭ[o;p(92b|#uΑ#hn;.hU&1Q<UB1},h_). `G쿘fp2$0|֣_&GY{3X & +`#$%E'ՒQ=ou-b2K +ײ)Onv$H&!lB+` ~Ag +n }a{˄--^<`N*֭r2q"&?F8S#RgY:SЕBfJ8|?iDȇ"?V(,ADFU;8B 46dS2^W| 5oz{h nh(g1ɓrjՎ<  ӶiIqЈ?q}yQn\FOkz4nljӦ5LC6;r&ud)b$S_GP cv(4*r|2P1)u9TL*ْyC + jp$^]*VoGDт\m_hu51EێGw}2o4׫1򲵛8C@?UD鍸dI7]a&#k۫]Ƕǁv[(6sGhR+Ddznا~])K" +].x%ʎ~\Uo˟̵AunsmO?kh=v&I:w3Tɬ$ IװxǢ\Δ)w:}YBz<\VJD!Z*BōhI{Hͅn; g<{01bߖH $J_au*lJ{e;|o SƋ40m+[cS*,J?4wڴ8[3Yx6*$JRxo|lo9 y:8Q\6  @dLJ !jW~vbXpgXs ϯP +r<m9ul|fbT=I!Ήw\~,zdr1wK 'W!"sGP+󺒪؏yp²A]*]_%mcI\T(zmSW{&wU}UuC٫¿މ"[_B) `13} +г2k/Ars$'0/z8ԝH[n*%.,_O)fǐ ;}a(Kr&Um6/N|]GBi* A~"ʉ7}]f]T_YdU9L_ Q3Q ~YﺊZ.,翻BxQ X]SFRf$Ć؈ 5À!|Oǻ9͈͸J@9tعAfz8Uf-ΒYi}OjK^_fj/K޻[ ґ>- 6Tz{d8Ѐ7߆>t-4jQ?5%gʰQU#ݼka}>I(Šlوي-j`ޒEH +l*D~{TW|kɏ5)Qhbf`lp.LT)7TNe/iuq-Hj76^W3csD<m/X&aχ~lZ8.3"[!2 -Y B .Dݗ0cqRU򷭧0֮o6GG׸r;WP5VB&w+xmU6{jlRʶi`مyAZE#6(@W ~mƬ7OK7^x?^%Ώ3.:csN@Z=\G($D{4ݭRXۮ~[ Bk»卧= +J8 =x-vsœИ j0iAk3rQnDn*y!]*S o/&Xk*BtP cV!בdˣO%`j #ucY6׶Jy- b:]?|6QKdcD:φbΘSQ^j.?Ҽ-/{裵I'eNdk1"Jd@7#N9;l $OSUà+]yRr0,*1(BQ\ܴ˦ҦfaQ?)"|ubxEgr9OZӴi+Wry{ +MKDo .]'osρc$8yP}G佔48t/Ơ6kGa=GƆ`POW,qRF5aڱ݂53kߞ8Cc^KT +;>*pzM{ +Ԅ/6 Ǿpwug %"͏%R6yE)A= +C2mܟlFZ&r +28i=@D yVP2+Y sohkZ+H2<>Ej9ߣT~a@lE+wԏl&}mu-׸X(^毵AcW^j~^NF?RĝKfQh48tI/!0)x PC`[ c>6b' LMאxe;!tIS #Vsbl`ZV0`WBMAhruD>(u] +G Y) gd 76Ote1zVY4 +[ck0? ,$*ڷ6h'Z7}޽DlZWBBvoH4yUi|t?"J[N 8#@+it+;9 52@ʽ]&"M%珗 r]/g;FjB[|(c>I"Ob h i7B~^b&.Y9u nqP=vٔ67Wr{~jMky9f=7N Mo}4,H :p֖2}A8|,jY0ۏL[fE9ܕ zLݪ&cʑFnRШF%veH+➳yD4E7שR,|tI6}!'ܸ 46mjaWAstW1_*,> iŏAߝExJP8|3GOIXNV%#R$tLz_\Eau[羛(6٦bYs]obO4nE[]{usK{qMȱ7i34RasS_.eѯ?i0tn{ףe=i׿:ә)7Wlr,9Ju"tES;h#O)fltJ:9wHSmf{̡^VZN/\gzwi.moZ묹T{ELxuTkN %IMWSU-dǟ4_w߳4N>붸mO~H2Gt64io:e)k^fdƾäbq5ݾ=3q71C|]%WW5+˧ny3j y8$s=>cd`0:3i/8?SuŇWpԉ.9Oe D4&-ˢHqv:Os+OK+C!3F!EbA-v=$vI&澨d{ 'w_"ɡ4#Ptp{^oXOwG]fuVƼlB {Hi4H<`JBWEPiHΪX'l%O߶D:3q2k#=?اi(hT)B㕾YyptaD/ ˜"M҃ŏԠkU"|N;N*]n'|)E_vVb0K[98O!] +qIF#rߌw9#fࢫJYoq1~]W6`4yd +94Dy±[[$r !vf@ULejGϦ9!/ Ԏ/F~syDAIFW)ݟՋu붔 e;6%-{yCr*IRH_H +kX=WƱ55J#eZ1)g[FڿTsjQ2*] ?Lja)iR3z3Du^_3$~I8I@Wԯ!/^#̺a %Kg*~#SLdC̋n̓Ye%JؒV?] !6WMx ou *sWB%"2лmUZhcs-O̖7+jyU"†AΤw@  ',HL5WPkch9ZK~~nkԢ[$IRgzwSB +P啙ӼdߝR}+-,/)WǶ5;ɘU*(|j 2v o_+G$陥03" SI8{Fӓ)o|n-,v!7,d1>KAo:"5LY $>WRB0ͦig!hVc*%>]4ڦ[D-Oj-Re/Zk~(|,h \h#M̶c/;W+o B׷49FFvܠ[G~ᄴ6M׳c.fB F1h,A(Xv^BWv- !b+^%%EHr6Mf|Zd+u3eK}Y-;ĥ_wt]RTY2}ҩvb0}E;H ~ŜeZkGUՠ Z:ڹDžS]aL%骉L˺kgWQa k1+;iw\]λ<YPCe=к?G"=֘JWeM+=W c!~kZYG4̫;%LܽPU/Jq_ '2[=5z:bo}JQKHelBݱ?*!BBsI٪SRB{[']cy¸.}OjջzKx{j.0k"ej^ G~$޺`D/O::MB&_60Nz:,qAzϡ$LAl:0n6 +>? {/q` Sf"]Agld Cg`hK]vPu"$ѧ\gScHɷ$RR`)65 C\S쟳ֆB&^UՅDV&A%WB|zJQk; zA |^i +XVx{Xf\\l~5̍ך&~*ރӥ#1 L&t@WUx$&}|0i5n?97lihrAđ!%@j< +ITj|rKEk u{I%蜌Hײ~(M^h9 5E(i@&`$u}r)[>nFviёΤ שcT69ҷeY)B$s:C5 83Ū<9bqt/]=KQoY5U[Y9Ho$$Q>Z*ec^'kr`A6H9 K^Bzgyƒ5e0{<QO1h&Kюo_`?umؿ͜zZi)q\jؗekN} +rh5~z4լ>> a=rIRgs^xӯܺLl=R2KZNj Hkܯ.BF`|ߌMLtVx 64-4Omi*9KJĥm&B{XťdpݥZa4`TS蓧ٰ;-԰f.r[r>8BZy.iO[vh"PL(wP4L+b}U}OtF}gl5Hrh•ڿzաBS䴽ը-ib0YZ櫹5L~HDRHzskEkzya!F4b0'KkY,UeQ_ _fʟu~}L=+ rA7OggS+H2tm )29~+rC !3̎%&kȡU=n$O)t\+>:vn>Cc/"o??2 .]ؾ"1 +Yx1g)D}?RsW4nEsPݙ"DgWZؚs)FDRdaYX0ʿqx_r㵟J|TP +#d]xzJj~M4VQVDV]3֓_ +iEnum岊=6e +a|`9, h *++OGПjTtW̬#ߘh#|# +-yYN@&O[ۛYk%VO$܋6O-JyzTCgaUjC?9ĭi /r1}X€rf@05 BfV6ᦧ8-wPkފ_^gn$Lw[Q@r?~kwd(/Z"WE$|cJ \wN* •9<^f`>(6q }-و֝$jz&BK.(_){j.j߼1NjT".v*&UҪ.>{f6X5l:'=bl +:8`xDK %BqFi ]cqjH]I"_c'o*K_FԾ0_r !,&=ҁ.D" ac~  #߂a8Hl^ D(hsOK C"r{z@}ɏ{Pcu\ct+**"]oו=nGQyݓݻ-4Rz2d a0Rj*B*LX>@VO~TVfŸy:}S^rZض0amۄ Hy՗a)uk0 ,- U +Y>-oe?!kKIo|ͺQI;UΊe8BPc*9LUٌ94bG>ˉo fa#5uRJd 7o/K|l0++˅}lw_u*6T |ۓ1JC +S߸_ +ɺ.Vc6x30Pi'_rg$}25鯼%@9 au֫n0!!_*ퟗ<۾%նk|5ԽX>J8P8dR'טC a ({gZgt>wTbV),>6FԑXO0 U}}:@4|]%a +7OEytU{P,Hֲht|٤@UYU f`&)NτDH\֌$)a-1_@;]%x&[,\:V +ogcVJ 0EjU=sC#ؤzKʽ=]c-9~]08EK?P2A=$]&M]޼T]חF?0' ٩&lvS"tݨ]t_XG_U{\z=o&aq!׿uTշX_y99o2uj QXJBf &brhN9?٣RzSl4ar4BH j>"nH|r M 6ҍlw %,r|]si`jm'-a[%N!v^?lNOWde?~"1mNU{ߖŁW:yO]TG+“RSW)^) y0=_tИ, ^C&2 +Q5)IAثov;-M(\M8ŒoG/D")lP !E‘}TU) DAR9O1("ah؎4?G~Yj[FGz+@/'gd'įV|y%b|qN=u4 ;OW W БU)*w{G zz8`2gP]J7)[ӗYgS,&퓮ؠ/V6Th, +r +QC7:MrŃ +Oꬪgs}1VUa|̶>X蹎)yeniAqq55ŔRshQĬR^4Ubi#xVW4.?&[_7Z_M>ᚦ%ݨ]WK+O}ӐJƭmC.~6TL&{?V ><02ΆԞyJ>.Qx҆ʴ?Ԏܬy*71_9E.!jh~&]&77̈́z8'{ns M@u!mLijz0zt2vxӃ{<1:]9FEu÷i }FYWjZbMb9ɦ Z8 q*/cQj@j5_)s-*g58Tv8d֗uDOscHӷw}OLMoojIr4%jiLO]t|꩹= GcDc#Qm# Ȥ$s7C^ M;M.G0.f ݌Xm`>jT_ `~yRP"j0 =*͵Χ_>[S/ ]:.5 WcdX*F%ke}l #y۫}bPH0m+RJ4iR{?l[>d0l 6|e5֡6 +1wr$#7k UΆKiRx{,9,(z5Lm ::nVWiNTM)Vu:e׷en+\ޒU x23* j#q=|IZ5H:茅Y +vR{V[eD̶67= .iT2_@=tqQ ba_l(2vlzuڞC/&|?}_<}S$OggSJ,H4asމxKS.x+7 0 +<E,Q_r3cOǾ~0!lvp7HE#SM:)buY$!1RF!FeXB)3!. q 2jcox?I +;QtRTJR>N48oOJOodF궓^MljS_ߚ4I]uxsTy`Q3=B?AA_|pZS|sqG{8~fvWFݹm0F_f׌)#Y: + IǾGm%L'NT&=x6x?}QV6-*͊]\JY+~ÛןYr*fuU9Ic oًe$x;{dzlEJTpj"=H%fK]2JMR2p/ UzsZQoo%Ѳ\c9-:4)yʥCmqq9!?! +:v\FVUNln2Mx2~?hinER.Nf]cM-ey+2sKDL3) +޳ݞz,[>NCHE} vBr^':XT$e-}9NQlsVBvٶJSzak|Hۼ$W |M`D,uڞ|hfT?zjDbщ}Q6y/L5,;Av9Jkyf5umڠqMvӁ2lXf+No.̺JCo,6 + $"V`1PAPEYm*I*O׆W6xW !kf(^";$b|6ڢ0~J9_ҥgՌ]H6L,O!h9nf^j7d0&f!>k}Bƥ,̰2 1Nr:}v)LtbXaN\gg=/7wKu']NgvWE~Ze]p+{ѫ0Qߪ"ݽ iwS4drzeNwe5jվoX,2r0 {L}gICOȺN7loXu7:#;ZFcϼkCT=/.'Mϒnݵڧj2BFw%uWkeB㵺7M6c/-w^j|S5*$ +JΒJH+%5?Uk ʳY]0mH[[{D6+`ņ,㇙;&Wk~ ?g֢lLZ3F"N"*KAVhl0t~IL# pD1&km1ht q8Oa& ]Nmil'D%ƫk󌜧9\>ҘdJ48''qiL\pEuVe튰 I\х,&9a򥇪bd^? q[=\Vf:~aޑ(Z-=^NxUhxlJ"61>Oa{Hckw+RkZ +uL!T:BN0Wu}li7o j1 v TC2!=C")P *cy#FjqeG +U07'Q|uk{\YT[A&[Sɦ`o?S0!~^.Bm lA}voߞ37sTYgu.);,͚eeU95V7C@97jolWf6+cוU[J{rW\gHouuUpqQcUǕ S !E l?(Psݺ|RwSEKo}~x]b$w=Hk:?s!vGo.kDSVfW+S{+kQ $\kKu&~;k7?ERk$"?q=5HЕ)t4ǿwjp-[Yajz|!<2\TDswD8}݄?!v&R1yIimfc_J^Y/[*{I]?5nC6JZ3(3n 7p:Mk i%hmFYL5sКNs?)S׶uE.wOۍ?kT4G7}!;PٓB >eP^}Z_6/,`lB0: d1T s*N^E ]l$6\Yc!b4f5~Qf|]:ƼnciTYzys8b61J7GM}\B>xKhu[z C'?@._lJY?'2wZ.=^k*Hяc!(>q){D*)ZKqѺ=n?/AZ`ZJ=[Z/aK!j$ʎ'P@PF3hْꕹb=,pEs!p3`MZP>-J% 5Ȅ|Զ>ؤ!~SɥHuUͰ.BM=}#NzoO=yUJ8 d(]+k3~ & 3qjN)ǿ +f+M^w")J_>)._f>+):RZp e3S/_8&갥ˬ-z:?ٗ_f~_[+bYK|Nhf;Uv%նˤP$[R=D:$|t.2q{3?zYKhY6znH~z~N-`O &]j\`n 6>Nﵢz5ٴc+Cʨ2V (/%m+E~"m' Bkv:Ofo)p[V[۷p{ۧOT6D(E3LɍC]Z1m[P~J氼T/+uOc.pw۟^\sy_Y^:Sĩ65eRc/֊J! ?G6v3[W4ÜΪ*D1[ ֎6d66 +''at+v5-Jh͚wlۙ[V֓f6ppF֋zލwkR0=+ӳ4z]L-z4@+ԝݘ%ӰAiOILk[~d)7\a}-˂NܪD9Si͑lԈ\7E7ۆ4oEup^Qn)N" +SK^-۪Ǎ S>oޞ 1,R+6i|mZ-.iJD_^;ų۞<, +tm4ms+w}*` g)=z"+r40mu#!Գ3)_;mlV$ 35c Z>v!J!ݮ=@ XO- +uw0kE 1&n'.Tۨfچ#5&-z 钢׷gRVa ݮ[k n9՟#էybx~Y8?C@0-|0Nt,o\˵d?t6+KSDg{a7흛@WK%[ vBl·k|#%[W|fԙVSk-iGxHi ݥ'0'- +Fz oLU?C^d,QHI= +U5}#pHoFjWF1RwV<: +\OggSp,H5YiN^Y8@NGb@&m3l23j"6JQwNnbZSR;ٙiJK$WF!5u䒰Қ+uuS ZO լ(C5,I}PHqCImN;(g1U2%L82-!ҕA1cǥu{=7X8/reGE,ܘ$oCviUo Fh%p_gCiErJjmoݹ- {I"[;VדGb65z#o"7&&˨G簣҂/Bˋ$:Xק3*kTxݵbc/zu>,g#F4ܿKEUF8\I^=1u&^!>j,tV۳ rԿwEWPLY5[G]w 8Hm3l})Ut)hӳII#9nC"cٱjd + /ya|)DWvr,xհl!h?`CK\}?m +slPD 쏊ChF?isH5$A{B9fWշuKʬ4H<#t:>YVHQ:7c.L}ij[6֣ס5k ?T':ӭ*/5ֿW$~̝`N'ų.>K7n,"%5 {Z.#}YO/L(MEpؗyu $;GWCc^$:=sdƹ[``⒞.ks{mh>j 2*#xzMA yL.kD';)hh]06 NY|HYB s6!y05=25*&~M!ܻ#vbϨ~?Q]oC,bNs"&i澽FmƚSn&j%J4:r2՚ェlԨ-Wf^zV/s_宴fSvz拕{b̻ב* II_'t6c*> +"M|DVU榺hpeVߪ53cƷy˰D햪`֠#!scJL{јSaYsTbݘjVNA?Ȩ?&Iڛ5z~Rq" 4gLD;.ZJdL1i^+E3+GW\Djµ]yuZuI$Կ=;U'[PC2Y, |Pz` +o|DT=%r Ҕ>=dȻC *\ uB53dԫ,FJ),)Fٌ҄(pd]6чC u"$*:ZS=rA0=څˬv9G=dFij$ε>XDPnOCڠ%kAmR ,fRZ^:Hŝ_ņO8I]Y@Qﲻ}җg}Nl{ۙ?8yD, KƮKN!]%[zWnXT/z]NHJg?Hb%("(jcdby-e-b}U$L֊XeߊUE贇:1WkJš}9/w+XdNY;x1V鮫fҚK)ٶJQ*)n˙Nμ[*4;+WC[m|©yrmU(v[_MRE(@שe cTN.ì[%j(':7+D9M8CN>Yz_b)vsr# +deD3(u?'%' +mzJEugym 3*;8 ه뀫0,j֧.Y}ģ{m!Jm2rN;ZWͥ)9#u=Jˤf Ei`ҸADǕb5Yƾ1U-⤙i-sV$&[eg sQR䟖ƎdgE֘:jLV\šfeuk&:5.l{VC^;$Nct&zhf `UԁEƲUƸ ,(R/O5mߧ0N~ꧢ gg% ]H!*B3|؊=nU;84wJDR66Zؽ?iO#rJĈ#1BU VoznR!^/;hK!gQ~ `?lc|X(Y$[m V%foӨMoY"N6:c`;t]mrc{?Iʗf-;iYMcѷ62s#C0Q!NU#ꙜVw.uqO?K+ޕ=x9)jwoɨ&fxiMF-:zl[3?Z8KQ[YXA $!0ȣg7GV׏So[gsi*nY+' Li'IyU_MJ~}D٫Qa1xq%%BY8mޛȆi}g yJJ]}5,eNgFf3벇6j&)5Ni^l֡;G7Ur0u祉K4*V" F[Z::FmYh@=ʳ"cYU{$G3SʮOʿXZֺVfF rWoOZC֚q' y;n B +J DfH<6Uqh#;'wwV:[TeD])HSD@ƶ/: #PپjB^'"fn<]mVvpTKT\j*\oϾʾK_L]gqɔ~E+ ==goZkaQ@`$ޤC4uF3EHWf0NsiRk2>/RIFC6UovB;޶`vRwKn +//nFOzN%g*\_̆TMO7}leę:|i~&vcF^i1L"W YMZ`+N]ER U٠)8B1S] G'V/m?JPoO.݈xHDFuyFzB֑):H諌Em= 5{Ih+Xj +ܗ "2ەFs2w/RGײ,ŕ +Cvu67ˌ1VglW2f>ew8#yͰ4CI4JEPo)3{%)?>tmԿvjcAކvѾճ~)7un.6[%u-(qE_L r;1!b"s5!hW,51je_7) Xk;eeqqTzH:]xMb/Tp!_)[-vc-k'oMb3^KȫyeĦN}77Q>i )AI|0SC`U Ajx2uj=olM+E_lIZsWLcG>Fb?d߶P$7I֭o2[€re|BEq]߻+"FYwYMkƆT +y0q/=E2D_VuHA7)RiSG 玻D+?ZَmYMK+[YOggS,H60.~I,(Ϡ  /98=0+;P~jBEhJCtшy(3eɎMT ehrږ~,GpdBak3جw,1e2T](d˗e(9m0n(6lYnii8R >vof#R祔Ipi.O5־'*~)) ++(n)3 {Fԃg:Ab@YM1emnJ~h(+[ dF)*'M +**H'v6o9RBHSb;{RY5!z8&*[3lwBAEcėBf _0}w'Ba _[0\ HQ~i0x*rƞc9喌ZW4Bc|kPY(P_EҲIl`\(EʝksV`&mIUZ!FF0=z+4\J?* vchzT4?eJl7iv兌\@g ';ѼZ4,V yWȬ.:>I1H Ud{l_Ecs'Z BUetqO]^˜*i4V&ocLclr][xS*`lUG'KܽXݜ#}?-jGS(Ɋb4׫ q%%dchFVA, BZ޼ +Tuݓ⺆f> h@7:]|7S)EFJl^[ƛTk_Rc=lϝ]7@|Lz,Xdß碊<P?,cZW XMAY%0"菟p$h%ͭg +adhדVazT ]X69+":DpQF#0vtvv;`LG0a׏=Uq;>SA+NC2~L6 +yQu2i$8FcDuDkAbC>H" 9"g'>qO!q5 xTyk3a!~Y1;_U]K0= a -]̉(/ڬ 晘CJYqjPbc56ohZx&;%oI`aG"0JIu}B\Ur4Fg˙+g[\¬5ƆuwGz&SN`Gh߬4T8qW̱"7G1-0O}`ABL>SXnhXd&>J>My(-& ťv +ɖ-!-G"p2bZD^QHaYRKE5FUerV8XDV6乗S5[#l}9 ;P-뺑Jˠ܋Κ!XS4{o3_5 qUSзJB}^=AF[K;>I]>A_lL{rw]?-Zsݥd*3?.QO7vTowڶ%Qcʵ$1<F!DohMgʩ>'2ouɓ=pm<@^ALd

 @#(o0E AQ#a\044m&j$xkXzE|U/x01E 536 < vB~V<Q+Q2rV~F4 Z<(g+*Xz`F6w$ld׾SNܮBE [ˡ0$6Wѱ羦&]vIޓ9 Bb1NeM16Q<9~B`܍-bvQ"驇}zC^&Q~h4~bfk39L +ΛAyhSY|m,219 dWQ=^C:%V8!ố4nwI^4&sT+rJ ^:>e {CVuׅe^?cVcHW0'Qit +eOV>F~9mZjߟ>8^ +P[Pf{/hؐ;'qe$JS6}=Ӷ;ˇo $F.(R1i:2;䔎<߻keǢ'"(3w;mN,6Axi4 +BgY1JѾw8!dk/Em*w`,V.AZph?O3 Ĩ°LHeOGZ+# ~`uFB'tfxYk/,>%kEݣ8;n- Z am[\< #K2)v+Vpٱu-XQG>~7DihrNF B St)/Xlhkh[S 㵚q˹9("`٧p᧫.2*;@(5r}'F)OggS,H7[m辷`DQRiuu&{}n&R?-ySuG] }m2w92f0쉇6d|A:C1"8w n_)1~ʓ5ѭm^0ZtӚa^I\(iW^"˾Y43iavjfKuL޹蟔>1ym٣{1O7cSj1TDŽ+\ĭ<ۨ3$z'VڤNH[__EqPDHWɏznwPZ#dۋ :w5Ut|PW7M!r4wz&iF/O[%cc$_Ί{ybO ߴU3c~< eG3!iC` 5==xc;{Wf] C7Rl>8 짚(3%$HH^8¢46at`ʛ+0I QΉ 31)9*5Er ?KM +!u`Tc8a1,!' ^8huHËǖ/C?aE޸eR8=JڰVE`<2| *FtɎoD9vl1 B+fNKI y.iPͳ~6>>f9 f]!Y010&ðT pGۤ[UJ!f"0HG)mt&: X؝z"̒Ė*& ; )?{ ;6зR`5mu p@_qRnF!ؼJYjE (CO| 4׎F_+yiTCo'i4i W[%AWR`,~G BmUeP]ZH,,H絟G1#,j<e,K#yYXIOR9'Xب/<,%YkrFKZ͏۠J SݹNjTXq~޾/c@Wp1wBaX&^.] L ݨ㮉=cU)I6g.: i{hzY&jwS0Tߜ޺gX]0XXM1>4eqΣ^m~V+P 'i7qY?wjn#xĪH9#P VߎQ6=LEiECfѹG5 ܨWe)E:cm'Z5v&asY4{sݕ'8! q7 b,BU?b*裗N}57C8K󏴮B{eԦ!]w5EL+Yn0˜CC(pg(ҾHd\(ea8􅡅B[%*z,Y𐥽B9GXu9F}G]KV!6,9W3k3-6{S}tll2gŇ9MjVAe!Lpvqiѵɾ"*yUݝB#hxL:~"1 |mrt]_{$yܳ Fq2 ~+15q}OpL_RY +GbhUGl9T ?忴9}UF2iDXM-{SAgBM*"@R5JwŪ~Y?F~[ bKOYKȖ&|X,׆$)1ۯZ4-Ny:rt7{iH؟?, 6rq5}6R|iw;sZQ,$Ѐ"8=hN ^^P 2G4Jquc)2+}۷T%A6jmRhAߴ:m;yRKH ?>/iX77`ѯsũ^1m?H?lE=Q eB{Q2tmԤLcVX2gVv/_w67fm8,e-܏fGLH+8hhP"8vFMũPI^R]WS+'0( G*_yod]⭱QlbLiZ>[Z0wCa]nF\H/Ħfe.7m}ӫd$q\3UO_krۣ"BC(SgDVy{HOnz\4T$l=GծYʼm?~Ӂn=bxһd( +@\+=>K̔=)$é. -?{Vz +9o^kU ㊂%]/?frkb +twRɆVXc d5bM ֟iQU +ډNYʲA2C$&喤b\WYZ}ߏm6,Oe)~]jS-zJƍ=..R+@v=K-"&~!3K3;<Сj`履OoֽT7A3iD4Z n>f +=QLSj ?J{8L}27i +KWF/$<VQdC̦/gw.Jcsx4&7B?r6ذ ? +!1 +êMdD6l4ecBTۉÖfkclBZAeL +isEK-McFQq_+g}\+` Cm|`X_qwhl6=R-T!G( R VAj K4π>oK4v &Z '<(ƹD(Kfeaٴ|1_[PTLY##"r!LHU y|aK@h'z{^Ev`پ1*ӵQuLEG}.(+{; d]!C9dOpdw+.BW;>ȫpN_)ڙK@0%aX` ;U J2}TH$f3Q Gl7ZZZZ8Q<%k)$Ƙ=\sFȭe#@S)(GZKea`"g*#q%,5}?\+?swKRꀉCJfzQ>3y$dzeMo6M<ƓNU> >p k * +{Q6J0m  6x*cF0>rGz! 3s4`;0HkD}HC(!q-/#"*YcOORQc16s|LoNf49&  j`T>p޿_g dV{nf8A`$Gz2&hwsOշs1PjVeOggS,H8q>9>-~E2.Y8/Jv7oa&L먡w< +%ph@wM:N2z@Hc0~, Ki*D[^H0v)ZF˚ISȣlr)Y"'ͦ咲rM@UGF+¿h+D`ЯRhY4UqP)ho]TI*jF+[&^ثHwEгl.Os6X x@Kqλs6C.2V8)̗c)&[ejiBb$S0AFuer[;7́)䫁TI+"~=wd0?W~c$%3 5aGoY!38@2Ỳos +omUks +;m&\ZIՓY +N{ 4kK6fh"Ƅ ʊb#Nv(@~Y:W!SoDW7YY\gQq[#;VlccB^8-|4KS/ST|h! ^ѾX8LOU=v'ХkY1 5m&_/VCַ0Z6Վ0;lKұ,CZ,?U ݲZNrZg$Ѐ"aV|̖tۻ&`5Mm9Ȇ<~F?X6RB黬bd!XBgCYO(e&0wyBX="#w6edʣNʒ(rԆ&*Vln/!;k{s2E)BJ F0}ޔi$:Ϋ}k*gQ>GHAW +-oPC + 6 +9&-spwЗsI#%y4: CW.jPVkKG_ v'̂[P YXK˼`]̕#߄sD)Ø,1O!BC~#iIO#93j>?bɹ?+8 +T㬵Kk-͟bf"ЄwcE%vv;0/\x=<3f5J0"G9Px͏("☤jf{;ȅZD"CZ/ 4S8?ʏс17\$_@MӐ6ԙQbRW!@L.} +b݉-E74lkZk,rc4. ?>&cP@_~!f)>J->"p̓Q^RDpݺ#wKT+\nvDMY^K 2׮Yf( y_0j*(mesS0fZ !>Mت(I`,*;0Z4Zs꒝){vtD۾EkP`YS:rZkC3b8츥l~wݿKS1>G$P cQSdcK-,QڬJoܯfY˔C)bMh 1&THwjm_M0qܾ.hdBHv\<;T:2.]`vŃ\8 G89 xYۆ@L0YxkF#>Z錮WߴlLjp.s/H>7((t*}*MW[vRm|Ӥ<gFbsݛ68rmš^ZiZ 6Q/ +ZNIz¿ޫl 9,g+ۏֻR/ ٜ*^rek &#z6ABov_Zfό6]ȅtމ]:ӕZ<[h3Zo -}x*GX}6M~vn jtŦy;+OMh-mdRtsԥ٦MVN??iC6ަb$_]ey6jHT.I̻cj2bܩ$@Qݤ0곥la( N OX㿞m8g* +68 S^/!(,ڃGah[<ĩ16ЭڳQJ 5F rqFxd‹"|(x + Tc*ɝ$4%JQ+ՀbaT<& qW +YDZЏXm(\m$r#R?6 +HMin?Yhy8 WmiUD{4'|x4N{bvPFF@JAT9~)"!9$Nv^b<rH}k!㊍٘vx172J.yCZ#f) >^=X )b9&QQ3iD6L@czy(E =5I!=MDgCv: C f_\śe{hSшLo#I?Dk1vx?YL\Wv-== kxHR@`'GG `@yJ֟813r=ZoEp=jxՔ0]lcݐ .>d_KܸU!XA HL~uR,Λm>:WHqFBxV+.ZSfS4hh)^.qC||?zSƩKF cӬ;9GcO?T3 e7^g\N@;K 30fY`Z+J6QX)]&EBJm5N} LGY)Ŗ/h*(+1_Vy_{.Uyuv19D3"Q(Hv{;-b4H۝i웎O:rQj13 +hp~D-Z]J=X阸5ZA֏]WBSt2=`$,`{Hl>aTg{C8cBc$=eUmR'` :(%cڇHj7 қZmhyB|^>gL]AŲ=dfٮHXĄEꗠc#Jv? ئ:@ Hۀ @<ѵ9~1 rO\b̻:j@C7NtmiMtTjR?6ao26ʦ6鈘"-1 +$M5{(E(VǙ#7i &SE/kpb!.NS W(t}J>A]J]j!߰ϗ('2eЌm2';عOD&[~RBxW{ ȣGc-@n/1 V~zDMH8X{|V0[=ZW( 2USV~+ɮ+.17\o(Jm5W--cGu6qw4H^0KKm<7h.NS6_ Il%m%▒ Dl4 !e?٧2QR/" K@5Ǝ.g;דLtU S`esJtI : A˭دE_ ,wrAu =I==c9G\ +\_czy `c5C^Dea`/S1'G4طc6B6i|0{q:nm'¨Ɉth/w:x91؞lCbK=N+334{ Y׊w' +oȗU~ѠZ~)/dԈ{r1IwFM"^XX!iT_T yiCD tk\ +OSSmOMq~gcD`1d%$'j$#s?RraTm;^?ut;]6fL{v +Xi[h^q#l؛КH7Є82c1o\)0+ }FU4<">d2:kg Wek7z2 o~ ? 0h5!{1ҋC>f=Z>46Ypڼ!#uXSzhG%tՇS}cIlAK)̵翌2v$q[2zճRsG_mh6kt>XHH!|ѻv@3%Sg:xE_٩',0 +E9Yrd,+~NH2)-ĶB4hkڡd{RWp:O2Hk经zi"+:UՃfCXRPH^yT].,+U{^>z+<?x~G#S +p= x՟fm *.MoasJ&<18JDvB:UƕRyM%o&B b8E4un%yn]Ǯvir?:{=bއ(4ND9wXtq`a[@f5wE=C_w,7e.U!`&@@ +qj/٠c?a SU鈞F0C(0mAgb][)Dv@X {l?5 C`r{9k"e']aGu[2q+7 +}Y].ĩbU_t!N*4MqY֩0t$Ȉ&I4=YFb򼻗}^w%AOcW_`?RO}:0z ^-y޵:=U -&ajn R$dRk%r<[݊ͩ% ƼϥXI, + !H{$D>25 qq8aX)Aˀ/5^D(]ʑΧ+`4(ʘlB9"CX?} ^GE`D`X %FM-$tT5==1n=T$d@zj$g@E!(\6Rt{w B^)3ʱoalӨPω:EJyc̓r#V+ꋵ07zpz2C9D4YIx*P=UhzmlE/D>pO52f[ a+۫f_~ < - 15*աnNCBi^@2GFZ]KN^oWEEGĢY e[DWWYB$;o_w?4MsAd}X$\1F _; z~/2+xЛd6uFS7hhgj5{B\/Gh?KI|p>$$4tȊU39׿_a1kl>|2Ɛx#,ǚ+ `#&Ȣ(E Fd6DJةX}IۈdQo~GʤD` [K_]e?+-'"Cr?+VV+YZQjo\~tlݧǞZ+Heƃ.&0J9׌XYr)lX%TLvI],ƛZ$&C#kW$LAHFD QF(}g I+s0x[@tyl6 ~L4BHCݶNz']{0X"U66ZM쬥IꠏީG:,\- [mOggS2-H:BXp~1 ӫuaܣ*AObFW'V% TW$fszW[N=t;z$erݣQt3m]j|J<- aYOuyeUyw|Bרa.jV$EU~Q%B*7KF茧t_&ц^G`,{ј|>EyW)PjfL摉BWaR;0Ւit> +g»BxMo'dDf8囪gYxg=O4犮H["MdA*QYILD'zmpG򖢜׍SP]D͟U*~'׺yPG8Ѐ\c/,+#@`%gFBJ9k&ƑX\LG!ZC@hUEthl!,g4ʞ\^$T#7!Anԝ +!Joڅ:~;I.њifqd \衄q7UIGnPLcuTG|rbh%0oi~g N=l0A*ij[,rf(:=scHଖZfc7kS=NBŠ(,txo9˩6.^I8l}L1M Urp]*~:ib̎BPSi<+ݿ|]:^=3wfZ`͸Բe^Fgu^u U:V!2lN\e'i{_;>o-Y:V-ы e+Q[o[&3g-Y^tK4qIyIzO]kgP )8?4z7:;E _{~)s̆i|8!Bi=ku[O茘FnjָvI-]&4 <2kE\B8 `HV/}N现XF1LM@qVRlf!)TJ }>0ʰ{.ٖYW0a8U։!F+&EJz<3\k/duj#FlfP ++/mהok a$udcgocse#wL}.tLDmt$iaJ)ۮ@)X_6 _wh@z1Ԁ^8 -H yrxYi0~ݚr Dn09l骖`kE2Ƅ/2fGwW}>`/R Tǎ*;FF(*FH^8PJN`V:㣀'&zd{`Z<䪔F"8} iU4WY*]:[w-+QY_jf+jRDT +@kHQ> ++Lp3&L5P1h w DOd4hV2h*i$!XP7=*b|XF a#Mz6=l +Th/1Dy[?W +S e$,]mFȫT_# ]R8*̽&!Ũ~h>AncehlD0Qf62LB9H~E UXןg策K`%aBT\%Ӝ7t!:/gӯk$ ¬D!&Zdőw!e@\'A -j/B!?;;GEM ijk7DJCl3UV(S%Ÿ`:1f!8~IHљY2Št~v1K[PW8zrJ노&! 9IYR73(*6yUC +V=ʅVB$I?6@UDmy2V +f#dj_H>*N`4~_c&% RVհY%5{MiR]q#J*!6UcR8 )l$ wft%KZrL]d?}HJI%MX蓅$+wY# DC&֏}!l.Fƈ6J3!oTrcB66/QK/P3Oƴ|1Q⤌*p:+W +|AƲ]IH:Lh P +nJn#^z۬}ԡd!_`|9"P[I?(5F7(OY;%yL_D\th%@rG|/Ati+y1nJM/릮x (3Xtg*|F{j2ݴmB乯D_>Ng| _@^5s* TLM?yԺƅYJVm;I&2@.`޽&ԑ#lQVPjDZ%bCȕD\%T)7hTϗHTE } (GHm"Jjx8HcIvUS&# b[|lC B>~E(4(:*kG )zEN;W|oEW-TgcJN9<̣-w2 +&o7``Q﷪@c3uR'_`{kGT>69 +!b~ZOoV~|6 R+f+I;z]Ӊ.<])ln ʄMN[_\[iioЩeJ01 +dzf&){[%`"`:Dmw$,AcEZ8}rȹ/ϓrayMA#K0b`poOU}Q¬٤I9FWDK/d@PI(ًVq41η{أWw);b w_(Gw6Ս94G z@fWv"b^Zt.=C|m0#n^ns,{{%nJ F;TB+]3H݁kOt ֩Nl 1B6{x֌(LQ--T:d?,[X?׵?Tk!dT#+MzCŪ0@q~ER +f 0g$:. + ¸*6(AXe 'g!ؤl] byKIȩtʰB "6XzJ@$f0`(WP0[MD㽬Bw%D+5duo#zwhƵV +&/e巴OT%)Zc(OggS\-H;^Oĺʾ("u +!OH*l4]a0pD9) v.`= H =Lr[29Dbbba;H_o k}OԬ$w[?:X>BHQ֑emd1}lqZ2I(0"!A73Rּ˥[K3 /b zm3Ѫ"Pgj Ŋ`[xXtLX#VaԱR= 6hȜl>vY=[f CJ51B@ͫL]XD6 h 2AM5*#/HBy }j[0(73!Q_/iK + $ 4D]>>Ci(ƥcYJ⦕V~{>JUEr&/T)H̀J_' z@(/4 aA3M7}땇kLlsnsL=QKPu~ۅl +} KHbR +d;eDSI)<Q4`_$#2<~͒F +62'be*FHrcʴiݔ~|qh4Z_5-_jfB$CqZ*27٣+VA d -(9B5 ۹$oe",)!nO4ےؑdQ;16KIbמ~Y3 -qcC\UMTQߌlj _$A ) 9κ gei 0Np蓬.^[<`hP$~޻XNFl?ɓzFFD h/]bH)%54 RgU0&tcbkst 4wzqOܧ?4H‡ 5 Nm2NW@wj!/n(MiМG@iӓ ;45PT8{֦I4T!#VńFXYlR[ :y^=;ӁS,Mhuŵ߄*@>ֲH`/T{` }?J ̬ +`P][.&dh l{+DCt 1T+zX#xO]yMc*%o@ljv,$lh KBoyj1#4'Xm%]~""{OdF5^Z=(1Ǽt%MќMWa +w}6: +*1ʰh4^|Vπon{<] + MޕDYp@λ U^:e@}S4mZcj%lbGSD㶚_Ѫ199"PҨGSKa]_wcaHe;Deؓ{HHJ@ĥĢ'HI>ڈͧ,4ٍ-Oʃ)R2M(HkǬ +&ޅH %..ްź=6Oկry8 /, +P`%ZNH`P(Ĩ`jL֯|.?n#m A{i?*Nnm¼)ݒ㒑\ss׍a8{乺c6=VOfD"ɲe*RUH ~ zf[%g؇m'CA ^PDQ'Aq[A4bB2 I.Ĩ_XBg^OF~y^l(9I +|5B_? +B_o>%X2'D2C"o &F#Iؘ2d)x]JiHhvO\*ʽZR;-iD3(!oa2i`Nϓ ~;4tlod|N#!b عZk'+5gOrPgƾW(XR_DO3F6D\K[р`$%,AZݫ{P!eHH<%՟@L& 31Ajpaݟ s"g'PԄa10M6GAj|Lʫ<Ee\_bٌ_85"LNOv\y$D)S.ٯr"uXs} jMgtؘ3 \d& &{f9'S>&ّ#OggS-H<MɱĪdPL@ɵ +lW +&hC]MxS2~j/ӟ}i)%:LY V ˖2(~_~(`XjBSo~WH6&qͬ :BH@Ġz$tGF)fz^SXZ1el=w+ Kgo"%cyj) 1)NUw#DO^UB` %_N`;wY|ޢ8vB. 2o4j\ni$1M)BT!`uT3wS9W,dސhm8q fsgH!CW)$jb|Y|ի0 eQ.Q %|_6\ϕw]Ἦ4vߤm)ߎIv|.UJ%XR08$ϊVKS +ا>^,U* ?W~l:Hb0`X`4-fcy5hUN X'#=;:oKRҍq3^W7FCKU +暓7|e j0?=@ @%H}5Yd0 +XQYO}/ " t5ƋPU0?,0h IW_#A@t^y,8pȺ?G<K钙G̈́z}Pu"C +| @\^3:RSmp{VH;@0`e5+c(P=7b $'`z |UH^C0|0I`\}l7]pv޹0dyBe1"( -UŒO.]1?.p^Ѕ0΀ށ9U;T~FFXN0XSRJ +w,@E_30Eg"?`ތG +;|˛hڵDzn蓖,8a)tEtL#eF9% ~YY ~5_1rqTZoYMA>* 7}/ \Rz+}I`zs ,\O*q߬"IG9ةcwE8s>P!n +nTE(wξ3@~VQo͂qM#Q*yr <9oVuCl϶$`9?4흁bID? '8$S^{zB飗p̓HH'M +!M4~%@%A2")(%LI&^ k FR9;DwP[%v 1` 4Pǹvr]#0ZؕxѧU.2ۧ WI+J@ +   z ;_ MHS:uP-kkq7v26EE[2>,:H +m==б%WuӥVJ$eO* W|`ށ M-~"7R>V8~J'$~> XH_ZA4gS +Q.-{8uW@Tf*6Hun^ gN W i0 N:߾)H*>FkKb$w|* +4tҍ n0" US +p/J#2@c2 F\4 !; "wo Go+`j INߧg=ja|IRp=_]<eVcDdՋ"_VZSk2/:B?~Jul\FGøz +pV +CBDFOkU`~;-0hZDMqx0w_敏1f}|{kŽL@~Y +M[hܳn Ԩxw<JkV t@Jk##>C2 [0#(w@ĥ  ``r]SV4kW?X,Y}oU3&Hc\pܾ"_>HCt}p$ޤa g߂DfR=78=7Os'Cx c (TRW] 0fM G{A?3^Dm X.`싎 V0^9hG&V +5\ +xJT(;U{!xe[&H`rV2='h蟔xse`t dZb Wu@X@]G[ F_vU^zO4UJ@ 0Li[)ӋeQH`GPu ʖH.[URCzO_X; s _(Olڒ mKV}=+RH|u d0F*#l$A"E Lt_k%@t F~e =?YFtCW)F+k3 iQ^W{]m!SLYF# SsT`cd+t禊Q}YEM-.'mjsi9Ʃ]} +'=o; LVme$TkXatثt溕:g4!V,JÓ@,\)[ڷF2댓eI%&)j%/=܏lҗ1h*ܴs-n^iO+n]z}³ًKkT;!=#HK ļK.CJغ]ʳ7OXNV,Id 9*Q\QkOyby;.di)nJ[L|=m< ߘNYCNzc2ՆOTv~ bSc2)MqU#WK>(!S;yyFC W<)dnN JjvfQ<E[))iXMuFdVN"[,UTA_`SZ'OD=߼JNL*zX#Ѳ9nVҫQ%eJZ(v,J 3Ǝ[ޱK:C #ѹL}("VkFNm9Qi5w%\BےS;z^->mݕdT⾋FU6n׫mB+9[g }OsJۈFC Sy ps7 +Pl,EaFkUaj]مXUdшvur~oܨ!M}8hn./bCic:-P.vU9e +n>6# < ܄;Ի$ ǻ^DSbulxK籹Jt=tYyYje}=]q5V~ep= k.>LR)!5_1\I*vKo y[1^s髬&c ,@.\ú:EHGgusV"?714<`wzir{< += ݊Q1>Uiqӓa+nH szEBwuS ) :xc]1ۯ>rtΟSyX9yȧN{k,|t(8)ӋQpG V,I@ 77w]sSsɳDDh{ b,]>Ij3w~3TکXn 2buKnT͐_t]%l2/k^p};2?N[g NFaZi+硫}* me4Cr4ܻi&[ V”X6 W@ sn0{H.ǘ{Gho{@yIS [fk an_f 9L$5{<є6԰FssqDO5zu'vnX5,75$no=]:ÉFc SX<ln澨PRȀEŝ*wUqbsr6P=hLō Kk|5{oAQZifMO{?}Ý,i_Qec.%5Ֆ.IeжrS7ߦ(v,I&;t301}.la.-SOXte}mr#4GJك)uC\bƪj9ENCa=N6-#3뢋=+޺&v0KBMT1 PqV,J͓@B1H}ܯ}Y٠Oƒt0ssںvVikloTWZ%z-R/< uj*z%N3I|Pnߜfm<\o5cSM:—p& (m "5lk&Nja$fb5hA4[Η^d}FdNH[;i'3^B 4ẽF7 cvBf,J'ݍݔBpRߚC4noX&޵S5HD*ƖNffİ+ /XBwX!gd13%qer]UBR[, +ڶ\{ݪś=m%:KSfu F# Sxx1)#nK{q( ! +-{bAONAg2}>fmypiK][NO>.#M_,nZ|o k+#~ yǜ| R9udF# l fa*F0v#K+EBzÒ.-gAZ2l1o*SL3Ii 9iNa5IƑ $jm߷ĊΟGδ&*ͩdzsם2;>k`g_Q6ÉT4@ ̞[΅k!HK;W% M5pIik{u\>r?P桒ג"Z<9~ٯdV볚W0}󼭪k2fsQX0;1k UF# S8y 7B %W?UP:`JsheKU v\2DΖ}PɐDU[立^^KZ4JyBcJ8M JjRkngm[nE/Y6F:6)y v3Kf)' ,G6-4BŰt$*w+ZL.H3вfǦ'bw4j,DZܬaګJ6l̵W‘ΔG=aܬX)9zVv,Id󀰱h",N +P7Bufl.htX[krS 7],TT=]-[ksp4L9\3AcVBLrp_n;0kM,\:sJv,Kd;fB %Ii~L7.e\kU1zkȹk K^^C51VŌm-M8ä4L^FB܎^rz6yAIP/YL#W? +fNʕtF# S8y k37(RK +OVm6Җ\>^dw6ͳ*lRFҫc}6 xxrww6JSDzv<<"&MKD)DdbHؽf^LZ!u1JAA lq5oKKo_Ge86nZJo1C?%J[ӱAע"[V,JɓNpxLdԹ7?㏰JdCXS3}SPi,h[sbMU*)f쌿FgnYieq%l]Z&,b5 F+<9ln]DE% PYrg?ifCLܥQ?b8/Q/JWE[VdFgM3GfZ937"=b.LˡlQ7LJmVtKHN2 |}7%tsZ6 xA svwa^b}/čgc0gq!L.foC/T?T`Wy%XJB(ɶ16i8[յn-Uʦ K,Rnx꨽tӼkj v,I'cdM:@#p/AU(Dy^JLܔ{PqdKsň{'IkV`kC:/I[b#Ks~LW^j#?j2i޻*~ֶ6# S<9$܄; T݆e1\ix zn?!n*|=3'@jh4&V|Cr &e}!nfn=Mgks_m)׊AlGɓ*31d)Ga,Ks2;mZR~s ސG:^F_˰M%SW mU.Շ ^_߯pK݌O=zN9i4{o^6ɫKglR8s۬3go̽?V,N'ݍKٹk4oP҉ Yyjjޛ$CtxѴ%V`r4*7Z"a|ԒƵG7l+]z$3h͙}!=}dQ7!13$Ș5 v,K`w#b^@m־C@ЬTuq ˏ=M pa}MoU2I^Vh *Ó)(X ;VUgT8 {fɥTLTӚw{S/sՆ ff+V,Kdva`^?bT2$S0ԹfJj 2%r޸o=EfR#S&LV|o=(Fij~x A1S=Goc٢9{-(04&C Sxx*$BC/cM~kB.s{ʞgcs *a󎧬V]qth.u2ϊ\O`^9׾j>v(FumoDe!?wSƫK"Lrq?|U3"a>T!JF# ogQ\/I9;1WZ ? Z7 Dw&Xǰ$uiRIF# S<)neEg+f q%c6phSٞlv3nojHJ*1ULv"t-T>e}).QS~Ta9i[ y8qL/zn{omkj v,I]L ڛoxbuwm[Dm^Cد3͘= ˊ&ifkUFX$wm?)S4/ݷa5$n1T0\3,Kq`ܾDLv7y?4D[MR7ɑIܯO4b3۹XeFy֩&Ӭ~S_,^6{K1gNn+ۗpYlpo2k֩E:V,$LA`ss(7--'㟨^x5x4OSxjy%M*.DUކs }NeVM# d٭W+:EEqrt1[+qYs4:kk)V,$L@ !TZzs:=o#'2ܭH+N+צ]\Bv_8J6SpWs,ˎt )xUyZ++5.溕Qnjg^:Ӥ2.ǡ8sc#|Vg&)lBQ\h̗ IXs$ҥK"\+ ynChzdG~Jx bjR!)*xVpqȶRajDެASQg]t7zC_:S3f\FC <)L 7̹n=kdԈv9$=S +Dr/=HmQΙbt8G"H4)lwY}s9צ,#V,QGYdvv* J.QOa}xu'A_)[ V,J͓@lKRlΆF+<1[ju sɣ]gt^-Q'v;}bNG|ˀ/ܴU\=E9!GNd_sVKÞZ3{(o=)$jxh٭A4JJ&C l<͍݀K%χ5RۚWG7]2D558&]>ϕ.]05Bfn[" +xyq+l͛jyRO}z#L]3.[}#k C͑X9&+< ]6nqS"@S: +n*<-6&s1SQ8}iɢ<ژFn *Q17ӝqUے7^WB8`ͤ:!J]ˉFC WxxrH8k7);+kr h&6jj<}H[u:x>%G4%C]i;p夅qQ*(w†aH?_ƼE9jK^q2(qOggS@.H?jsVFC <9{М 6!sᴔYww^e }X }&e E[g!JIP| цn{\٬0n,鴅m|fSVU[ \<{Zf,I 6 `Ɇm8a}KX;~a\= 5j Ik> C"&s_1r E7u3 Zi_3in.ЌY6+"+<r4ZTկv[SEb՘Źo;au/R6K[ IZ\ fz-&# S<0sw@)C> sOg>2{K}yICUӫͲ o(1ib뻪$N2qYrB;|mk>MvsM %5lyyV3K d*bF[v,I 7wd]}w0uzbC{`Z&+Zr3QNHPꯆ*t<6=-G>29]ۗ{X~*,h|ɐLvqZo.mQ6PnSV,J͓C؜`HeT}os4oQS ͑('avs0JbiէbǗ!S RbUGL>&tɹڭ׻}ߠM 4Z-N©;F# SX<n,^֤0F]w4^ 1۰]a$h/DN^m%}~_ ]-/*}3j7Ws9gSm՚gq5eyCvڒI2Wet :mV7\X8ϲ|'V,Idd 1@|K=&n'?,;z;{3\%}>톯`5)0P2άܮBضa҅=vc =M S4$AOsK6^k8^IV|39w﫶 {FC S<)ln-K*gD âܫ4V!TÂǹ?׳Ϳ:myKn7=C .{#``/sÑI3c xBpUDY;18zs056j~+vMn~4iӛ Qj@n!FȲ!7m[zYZ-Rtj6{J*Y7A+qd>FC S8yrXhsanZ4*X};+nʥ8eFثO0Řn޴&Ii""ENΖ"QtP D<[.AByh@,ϼ1g.DM]EuiNV:Xtnқ]6C Wy 0{t9Qn]xcOu%TmVw-еێ/ !;-#v,J)%:tuu9T>f3 EDukP5Ee1hsl̽X`|{UH؏¦N{vΒ,ͮZz{'bI+4;6C Wy27w.D"1346Ww׎2s:r|fwu~rzR&]2zpwwrצeDHўkNXzSds0JO+N!FC Sxx in ܧl85^C;"s\"%YhkDqɝaJʀ1D^uŪ?X9naҸ9io9-17nYЕ{pOnlA:kc;6+l }IA|b5HKAnyRW K6T\!Ш/K"؞S_"/p*iijV,G*qh/'մj ~ I|svDU'v,I`w tV=|RRq4zDﹶL"PZ15=ǡRqCev%֎SfhBd3qg#u|ImbNjjKZE8&1k^'~~F# SX<l= "5\2̐WH7ҦfXkA'ȽFHQ'3 +iսʐPD-%(Zw> 2{Zf3q&qLG<,-8;%⚶f,Ibg2֥ } _Nm:h $ڍTӯ̷c];-?S-?2= `?X6i<9d,K' }O_#`1"yBhiGqg7踻$Ȧ21-fi¥Ok@{d*71( R;6Lx~ +@ɑ904H7$ʳ.Xu"ܽܢۗkOsZOfԻ41Fi<<9n-p:gu2Nn\b+YAoJqt3dlkMUC9C F6r|f,hͣbl1-:o)Q@sJ=PM[%啬̵f,Kpst6#(-ҭz_9UQZ">ɖ. 7sCgTj~|c<Ϭ1*kl_E &2|mrji k:OqYfZΣhÇw 4گMݭhhq{?^q^7CRYZb짇}o$ϳ5Q{"NW| @@OggS|.H@j6c l<n^$BuwoN7ɯٖ~;d=cpNc=MܬMi~(ϩ3A[?X.mL͔i/Fc-}=Vݗ2sEyw&C Sxx*$f)X \&{f5UO.巤ܗD2uJZOڶk |¾rFiz'd58+ͪ Gr2޳65H!K.Wr@YqMBtoF# 8yr•hE˧[INbI0Ff}ps(s_OL޻5tMUkʹU ǑT(kОըn{{}Yj`[n`Ǜ5h$fΦ$ SrMBNZTlBoK-inKdKz~> :%үٞc3$xv,I,'șY$Pߴ׶4947x8X; r/ۭӕl{_^C;jEU5@~mSҌCToEz[V]WVԨ85 -F#N<,L8WZs@©pgۣrטT {aP-vfofV+iߞ7s~\ rlH C[vIrQg+v3A4WK?IE͵/J_*iC*F# l &LClDz[pI]m +De~28#VobSʨ;ķ;\IfWOJ%M}Ajj3m[ڽ[[7̳zr=?|.z3&+lB8%$*6fOskk\R&4sWoKzi3-:c?4%#:g8gfB4vgǜomi-l+8Ha3Ժvoe+177pFjv\Mְi:e4%%Bk(ߏ&H0LoPa߽V,$LIA sf{{tw =HT>![ʳ8f!Do$f^žlJ³\`+ozuyݡzu#T$%-(_^+tvKY6C W8y2Q~(HHCPGo-v}l )'l<+1czH4+CJbax0]"jS^Y"6^S}$hr5\^9*zHbo~d2&nQnh46C S<p\:BXts +v;ԢS]tPbjՌc_5-ϗn-Jco/vEbF<]N+% Muyqnǩw0Q#I&aʲ~`ek-|Kջr+FC Wx4@ nnԘQAxw oY<`K) ҂0$(m!^n.$['kn*u'rll{0t ꫺l^ _>aUiX#q$!iNF!4{Ov,$\tDkұ덆2Z?6:]ZZfqQң0眵˵>Raf,KQ"J͂Fvh<GûsBK|/MjM#U-eުAVy_md4vâd˵~atSkٯgqk}{$VƊD%fUa ޷9ڷD+ϙIfǣD@: |OڷL>ѻe>Noxڭ)q2O,㱘eF6U ǖbEHT6C Sxx2a?)fkV*fGް0d>_}7͗6[?fx6dΒ Gj:3}\#̘j xRYE%\O !QM"]|놙e*"MߞF]f,Kɓ@.hP &'i5;Dk._~T Gu\0%no&k}G)7{cRS'cmA 4jM5}mjܙr"uCtR[m\SٶiۦqC} M0xu6# S8y {pˆ'&5*w9鳭m;aZq'ylƐyMύ(T; MǰOѶXX˼YMɬA*)~4T%ɳ5eT6z^%a +hf,Jbg,B2V( |_& b";QBNkZy]=D1 =TņcEa)?>LQnW_eWN#)aI#ik!n)g8 }2r+{*7J +FC S8y QT"%^H- 2Ӫ=3ysm":R7C$A2$-Zm"8 Z1g4T!FGx$pFՈ)uH5Rt}>s>53ݤ-V7?lg8f,Jƛ'QcHvر W_陰 JT1{KKy `bܵ 1҃KfFy͕ dQ|e56zC6;nWj({4"ٗ<F# ,bgs*Q/s*W:/\3j>7Lꮲ/e*\gdbסӕYۀ˜oI*qW[7|Llr/oj;LIj3JxkaFC Sxx 0; w"IDTˆ:&_+MaKݓ&Ihfs4d6l4 Cv9yvטpC}޳6Um@i⅙zT$JMS GfZT&*hQR086 7yrpʕ)v®͇ZJ~[f%IV"fiSfDj*0!Zs_oT5p%@`!\/ն74e}YMb(TB}uV,I@`ssIkfl3E")fn:Cٍ)T%!iמmF3ߥ9XӵEu;"aL5G{Fyaxt\aփ8"}RʺeM: +OggS.HA6# S<$ &è^~~!f^m*sD9ny%9HpA:3Q A{'pδ%9:FJ_Ԋc<(]w+L_t4=(7\0rNHC̸gIDϭնXs +:2/d'wu+Fc ,Vf&$k̞8y`}M%/-9]ͻ9Ὡa Kd.___F2rߛb']0wDU {zx ڢ|%sU]5DL+}to6C lnGXZo.J> )^$RcV2/4k7w#{ 7A ze^ו[Bj^4Q |gd`$HbC 2%A™Wh6Q&FC S<„;s*&C}O2+ MeKL3,Y ;5! AJ{O=x0$SJMh8qc7^sVxk"i[Q\Il=˿ nȬ MZbblRbE.yK|Fc S<9H\$Sfݡ.~yƄXƚDޏN:9߭Uv25t hbuC{{uI z,PɂOa>*,ʭ +Rfk^e¡G'= :Bΐ[ߡiݽ:F# <<]؄pL #uW+z0pOV ro=sGK]7&<{/(Oٙ_HnP+&_\ζj&!fgy(|32RBPMԍ'bFݤW"6# S8y 9 5:ѭh1=0Q΀D RAKKʓ3GfSBE3zx">yؗS .̺VuQ$3eVK6{aIz!15-8Yc j[c]7Yxͥܬ-V,$A n<&vQEoܥD veDsl>:iIez tI=6U*/ә=UӤ@ծ#gja|+ZV](26# S8y s=!1gxK;[K%YElìVCxnj䟸0꺇aV$~r414NAw#Ϻ'u$Zj>9s.Â?2*$/V,Idf7XnJ)4>|Qv&[@iGPF3?pc6qCڟn%[!{ VZbャ۸sf"bI1V۔&#FyG2=^ys כD/w#FC Syrӝ` +D\#u.~,*6|]Pkf6ty֡Fb" w^U'M޽8䔇m7k59-l}xIA4TwiTOͶŝV,KA`fPn!EGC B!޸tvZ#De˪ Aw@?c՘NyIa^]T6dۻ_Q8|MbKO?Ɩk}*}AϪkM\>,,GA{P5v,Iasv7@K`{ؘn؂u"FŇE0ݯњ$!N9Gx]!rhaL(Gح5jf쇊R(%jkd9?6# v,k7\ujN&a +7t2S]M4BF$ +۬qGa7WLǾ ,ArI<( ઓ܌cɟv"ҴJScxތA3Y +FC S<;WPGt:woDW1$2u|Ւr׫lKG依y6*FT"DqQ){DʇB:%܈4'e='ʾv˭G˓wS`:U/6iMҁ 8D~ܬp=ˇΛ,Ʀ-W־SY[tngr՞U]fwF#A8]լ}K6o\gUѴ {#A͙,Ivvʺxt+2yVj{MHf]6(ѹgxM:e")dwL*$D:CXW#!nt_#{~2bYSa,K5^\CۇV,Id ;:=M)@ M%3j[? R.Cn'ivl'!ZY™+䱝 yXD"[$HBlSeWPLEuj/֎<`R`6H[&Fi<9l. ]FWt$؂=>{R{:D{rN}APHw>ps2_2 + 8 vg3dx 3[Ak{*=>Dru\Z.r 7>XFC A`ws5 ;{{pAn,EWZN4B%սLBM'C[31u.8f7 ñwP@f ަ# qcGb7J^[Z bNVZ^yE|jF# l6a.hnpFvYU'Ecb_^Ebrr^_̘hD!fLak1Ss峧 Gnmo|kj~oǁRsү;y 1n7N[1jRW%F}]}6# SX<9憙}}KMP}r =Jetm>iCK9}kdk{A+DaB|1z?a%Rc9w 켂oX{݌=Zczu Vo +&)<if O\iL6--X4r`L86[sIjU3#-XTr +{y &vJdX@ fF- g55mڽ,yiڣ +'76Pn_\܉o^~#sLCnV7n$A>~$Olۓ9?R)j۞Qrj[\йjUJF# SX<nF\0 +Pu2sAKnMfꞧf7a4۲M2K7?o{H{6Uo葂؛HӖnnA*;̨ayy$C+U"3KYz\R>u6C Syr ^VZwc؂z"|Aeԝ(rh> +yA-s$#_=" UmqwD0fr6SY=lzG}iȕOޫJ%JeŹH!IټU&# lՃ@.\T'C\I)C4Ucc%l[1VILb~z9)M[M'm$n;AͶiSTTԼDSW< OwsnS#ʏ{J"0$q7A#\gqA]E mwLV,IyRX_2\zѭE4{[ihi!Cp\Ammqo_+C6I-kX.Y +/]eײ@6# <9nfSnש:KGb>:@Kë,'?bZ{]wݬT4vsE?YRifurJNYLWXd=q]fj9Ue&)Sثi6쇺|M8=&E/17WWLc cc$$΂7O'YVZikTX;;Q~XHa-#1.K|Y˕MTnƸZr <~":ɢO<Ҹu8ŒPNG + + IHDR@JtEXtSoftwareAdobe ImageReadyqe< iTXtXML:com.adobe.xmp IDATx]Ir%_=_pHJdgL2=e]q8r nfqȼU +@7AO +u͌Ǐge8cxK$W"<0w}GGP|?[O)Ƥ%%^LYSzU׷-HS(%&\tC + o$Z/ɋ_hJIWxvU}??~?}A&VUoV_몗"m]rJݠKcŷqJXFt_P]K77ǜ//櫵迧<R^\LfmQFtը{h;ŜoG ']]:ۅ4O֔4NK/_Uι\/6>2IO1Ű|EG)Wn)n__~<\R8E(xus +Mw./Jumr.LZjM|O/zl!qޅ[܄c7V8ϓn Dn߾oaeZkbX"/Vs0'uUCԽ]7XyQ1-w?u\nRt%SY*Τ7p/4/S(9׷ÿVӊ|';~wg/0)آD`W#τnp\nC/.]-L4ºe9aًuo +u~a ^sJx2^× lkS&z(pz~7O'77m[!Lln $aܫ 7fr$ȷ7vOirڔpMMtWU,r7>?bz$>~+)ò/W~:iɁ5Ѝp V@|[W*AEo*Iw^E߼z?o/ N;\^zc|yy1ee3X-y~UMA> Z]˟?izQUOgsh>H:ƹF;xino_~YM3=WmZL鱰܂|MV4O;<7?5i<st"5P>EA-R里o 6{ێd>AqJ?zv;)Xb76Thy:O5U G:>Z 5ra'jк{su1]4s&3t]0TiwZmw/gj^|c4&[v$-ZP1nƜ1jJꐞ^q3=`ȝy~6Ԭm 0]lUU/eHAH[a +\}M8^/iЭY VC82SWU D6HP}jxx=`OYJc|gN]/Xo'.*0#5/.oD|87[xS 5 . m:!zqOw@` ڏ˘o\}۟jƝPQzíUT,"\B݀߾?$_=z5MAIې `;rd}ŵ~F8x>>M<$>clŝ̔0׷a9b;fh/9 +EH5cd@pў<_%}r{ukڣTYL,f GI.OMH5Sv|qj|y Ƌ=dHla۫Z$rg ]FPws\zBK<̾ SHo?:o\=R'iXh0m#J,څQzh p0m/h'}y?_DF A Ԉq +ncM!i[ +bC:7)?}:OҤB(m]*>+;oP;AorKICj3`Y4|zu3 cVsz􋡉_!MKօQ˓=fbi%4Z4yO:2=JBpKZNիTh-W+iH8%iŪ7WtgH?)8EIPHekGT4HdPSi럽饚R' +tbYE]7tI2|26,ng `oe=&0\D"Ѧ$WXuHpqgp=@.iKvzBlEl4UO}2Cʓ)"Ր#Ex|/_^yt qŐ,X.{ͣƃոWX_.ƛ*߿N.0D#}'ɪٓ˫SY4Z_rjuE$8_Bpa0οx6<7ݸ== +c}jI$QcJJ8W tm2V"0ǡjnEʳE×Rff:_ pKGxP @Ts+@rV4gO.+`Y$?LԲyI*NVpU +gy,O_YE߷6ҹգ\Zq]FwEt= @%=UO YE H;OWO'500 i/¬z3UpDIg1]^L& -O4ŻƷ)w.uƎs;Dݓ˿W +W5h}Q(r;jLe;FNu%yn@ԖDG,56J`S?>D虇4 +n0W2$6tKidhXOӄtKb_]Pz`c ]XWK曶YSVq6@XA ԏ`:g&b97r*BTɠǥ6. l /VˈkY%XB hQ`.j Y ++xh6"ACh?d cu1.U(73s5%ÔvR,zmE)bEQ=J 윘uXnnپBUl4藧Bsk n`V-fNJ?h8n'$-n\PbO*,V<ӝ|s4u L!:׋'!!iQ9"ZC@WF(2u^4B׿W]?;Y+"dim[GY=ۑ;1(n:۶ECPE +5WoZ ppr4o|zU#8M%<Y؎ /O[=wSa )HQ9(M3:h˯VXX;1bWUs|dW@M1mڲR_✪ |&v3P%CNR_a0!;=-5!i<عHf>5Ϊm +.!\5_ax}X|ZQ'Y3TM_A1İxB&)L6Y>ZJ(}/@ri/Xڀ6[SCFa3Rn0b8eٸxfh",)$ل@`7訍% fܹjU +7In"`NW +(Cm]-+ 0 ꈁ,QʳdyxsˈuSabK> ++>_38L5G[;jK7~n 'xQMZPEGϓIjÜ.NRsk'oYҫXZzխX1{\...md:c?ٿ9j!^1 &\QV1v4 &7#5 i ژ)Kap\s N1C*zOaBN_P?Eގj xt͘'] p8<ҳ{R\K1=ZwРhHp%X($c[E EdQsCA܄J!D]WVyz5 AOMlGpV;E%iS ZV'`+:f?QLDmVMKbZrX:qaP:19JUJۢr!a]/rVg4M. {z@{BWIe҇ hɳ;S5>Z!L +VK 4'S2.[ 2DKMٙ_jC/q:I?NkjSjۊX|'Uǘmr;5jAY7k?<.wFcsQe/=M1}4ARVBj+]fҶ~K0tm lclVB uL#Q'-Qz\>'Dֈ9&.)i Uhi(fza+zԢ1FN@%>cy++6cwljUIJ_ejYֈE;uf]V8(Cߪ!j5#W+Bz槷˿oCL*V,jkR/Zru"j4s'3d )rk&#"zt5S6J<|:"4  6C#7,#FH(f3ue4֯Ęf~[:)pbwk'dP8HSMi!鈛RevsV==& &ܲlfi3ǂaRel$p'`Ql[o^? ad$iyW(\!(؜-1v98#lxaͭs7EcX,ݬ[yZ^li^\7j&uu3V 0~|oljf 6XB[5AS ^rzu9L– +,7Dj_@22j[;KioԪ)z%b]魭nՈ~ڰV>td1,0c> 6k:dibg2?Ȅ>!&pVȫIǮȄ`\ƶ5J^kV]ۭ5e˨UkɂARCr; 0^ŸYydd|0`)쇵ZZ;wR!ʊ7E('55 6Emb=gKd G#aJj'Kh@-Z#mNQJou 0[LxNx<<6Tc_U6u`k]T@*Ot1X"iAf35jsA- #2 B!#?ns72xQ_">Y>޾!lxk˻eil}Ķ_Ȫdkˋհ1j8`.5[2TR=Ʌym,&4 U@hbUPۋ’ +w2'~gq|F?-fQ4Y5.ˤi(:5v$pf"# Dƒ!kV(q:2ED-9r=&V,o/L{#mPf 4_[gUfVy@]XHx!U;F Y0 B $ Θ~΍"dA }5QWWX*o ۝A%?k+CMØX +nyFT4VT&bLV"Wzv%2hQ<d!$;Y^8s~mv@Ԥ h rdh 8f;'fQ!Y^cǁGhA c/8ϨF_]d"Gu;)hc +FUNr͗28%Xy5%W`] ٶ(iO3|3t,L +Ն1(ɷVx8 H0IL)՟U/0 +v 5cF&!0CqHP\4TCpH"wq:ZcUZ{_wl^Ut`_8HH6k |A@ њܸ3e2M4H[h0+Y茗ftZ= ő\>1{-WI0+9M $pg55ڠUĈKd+KkV3jbHC "8Z(0xd͠\:ISû9VS&+ <|SkYBXAޕX冗jCk +kP# +g +ٕՌî9w-A +gxY-/V7TWBo=Խ=X5C0 DG#]C.3F{ nkx;Ӿ?r3̫:omHZyk7~;7Lw=RX =8{%y&_ _:xC +C)H)I"aW\]L,rC0f< 0p9s~hUQl]YUkR*-Daq53ޥ$0}SƳKCJVjL!f%uݲ-[N Ͷwg7]vՕQ:#µy "oN?$&D1bf G !1]ƞO}qaYT +pd*yvd!)btePQnYsTj㲷bKY !3afvaH2(h,sN. X0\S4@p)L3~Io;~^ћs=];ff q( +nRO38X)'=j5km k[Kx%x 5"W6n{H1{\l6`%ζ +V5SؼheO'6?=Ȝ1Z8ft*~ȃF[}4Bq ?N^5'4&LRNz mr0c,Ԛ] չ  0d;5ޞ>C7ۂ}cRhth +< dt/>a~r4]>}!qw>ڃi== +3hUp=C[d=q'ȶ_'yhu*i4[z!( vF^< X 3.Ȝ&ffm#T4T}셊CK6ܲY؝pLj>5Nj9.n4Ӥe!PFw/b[V0*wn2i>KPCHKbm%+[x[>1y $׼^- <[.uf1LP=-LHbL?LhF/})%ZUKmV 77`ݶ9η1- (8oG%'3]a`@ui32 aX*lPb-b~+8zmKOA`Ҭl5:K1&6 d% 2CHd!+x vu1ݑ&Mشi!F:p7¶-DFVZGW(|3žI7Jti9KoJvcNivBJyGM2֐Y ՑaYqVKxG,-~'  0@r`4`M$i #1A<gX^#NȚA01f5L0z\\VjnAGf>6K )Q^5"B\pP1Y>pL*4cx2S)!$JՀRyz6O +|#Uܬk1[Nj\Ʈ7(z 44v}pؙtA_X20 )H!=>m6J˻]ў6͡{PFvc\[U 6MA (l8M:#9TDVzğIB0e +O2HM2sfRUץgs#ɧ3[3](w2׾^w@@h 3c/"FkC@xKŕnO" +=k&U{ {5уf.QŲ;#Jo%D_\//Z~vQo +4ul>A{OaX`N&z+b3 i=>$r̎Arň$;AGHM$ح j: %h{v,}6ܽkUnZ=AGVji3qF`G"+`j9i!?ޝ\~Re$[iz QNcNҞD6Ŋ([DRϚ\wc{F`L4{/-Rں l+Ki  m{qbPAM8+M\^)7mk65u&OI([w,f8 +L~վ'F%\G&Ɖ$ANhuuX֡9CDx;[c Z[ڷthNgW߈1mL;R >jl/*ĉБ㶀,7RBkݘw2.{qd6Ü17'@N.) {yh% FH%ޣ3ѓ8r{k^72=YKI}S}Dlw2, *~D\-^ ۤUC~Pbџ" T)+v~5lWɸ56l)ٵ"ڽ'M:<{sEv=ܘ>S.@~2J-n~}7c%NCTm 'D(ңX]oYS4٢(bR +FR+˅dFyMrXD#̻HdnaԷ =V+6@ (1aF/󇝮KT#!etx|4psouǿ?T9@HG 1ɇ6}pHr~ +1)m>#ߺ܏2N&vpGl}On+h,i3x&.a^^iR;O7&ZY4bRm6צpx`j}eogl.DŽO称5P7ўk) +i}t 4߳[X`4ƖGP7)ܘHBۑ}r}rO<;gCf΋&c +eh~1}E%a6 l jV i) JìP s +K'hX/~k>8r6CݢXx'E dt>baqxE*E011nuu~ H7sKsm3_匇h#m*G21R 6ʧԚGF>I>&T`2K)LÄk]m8p[\7p>>_4DDP0q hLINՇzrRO?3pi}\]AA)c N֚4vG 9 +UzQu8촏GoY֪k2myqUbc.-dndm5-hUH[zMbS@v3Hu)ef$Mze0DtZ\w!HJލ~(dtFz.k2Tb`Ή 9CO袉SsU]YOń@̤HkzBucG> K6<%pN!2 gL65**[|Z(E&7Z` |fsjRqc;CV`Ls% lIpWٛ5r戬[*HzOqk9Y/pm?.[v-٥`[V(Vs>8W%4%&R@K&3碮T$N+$z hQ;GxĚ? +1T2 z^I/{ycdbD}u$ ;ڑvf5LjLPW|>Oo haڦzN# M=Slr{+L1FO 샴JL)3п/67[:(K䢆{a A F>J{2XOY.W+r={l<ؼW%;&q=/CZXJs0mb'U4r^ncK!!%"_ MK +5 hcPI%6g|â8qDnr\}bm'W#}FݑEnd<݊O'C;tq8BM~ekڸwdaHؔ:1| 6Ȋec_IP>M +u^}ƃud*ܔE_?LŊv2=7]\2\J|lԻBoOᮺelvooƧrsm$ߺȅKHȁ㙔wiJxC ]P ⡠T8cH1h!.XԗJ=Kv`[+ev>@GN\`zz#eqx!hjAhC'ƻ@!ڟ~fULi'FS΋š!ފ7j1T$Bbazq7ϲK#|9;KVW/ >褲DLcqC/"'B"q 25$C[Jraŵ ݄:Āy)6'ܔCͺQ AiNwe䳶:Chˢhxt)Z}gi~'Qe&ơVz63DҙTd!yoXY:i%$|])HY;9 {xVhr`e9~Z*!0quVFwU3 8Bple)`jqf;ʉ;٘$w i '-6-&X(C{"ʧM$iNR;$SڨubNKd2Σ7e3̔d6m\RNOfܽ`hh{]8'^Q\kBٝ6+%5rQxðgdn +t&)׾8!G6 SgcLI;,g>o3Q{pRfF$Yrbm%z>'_6yK#j}1|:j}t9!C'F趯"7]^wQvZoө'xѥOM:5M6XO FM'~Jh~^uW-EU) k9xل oU!lo7c=,I)j {u27#/"}e%溸 O1v-$@65#e DQZlH} qhVRH?qwt15j%Ɩ,R~%i6ĆE)Y|pگI Lm쭏nU/3؞ UL~xlpe=j'Au`d_M+w{P!GXRd@e_GHhH]!Ze y 2ҝ2޸s +d-*lM?(!z#nEbk胤 >@Ab?"X.Y,La~k6o sܵ˩;]+PZϾ+59dʣ0gZMF랇Cѧ+q0s{ #:~ֻ"މ?[c}?ѫFBkH1V !{IeօqLؐN%y#]M +6ͻ7_>_>lfЙFQyijPvֶ?ЯdP3k|L/D*;S@ݛ'-o1vΎROeEv9Q|a8?t I{=8{{d[@O1.VhuhVeqa6 +cEن4u&m!5NRAo +9MO +U"(kAT +}Z0NSz#Al>#_ +Z-?02İ]t\<<{h2C}7l̎Z^@]衅#6++uNl"j^xϗ ws +1B4b>lF'o#{J"t>*&>Cv'(ZӸI /D涶cݭN{>BZ\+JFߍ 6ZkhK\*硛ϼ|- KUO7MR5Z7dlyC4aܓ-}0caQhh\A(u; >(c1d[M5Ӈzl'3@/k^̰Nx\F_Z[*>euy'M-6 2~̙8 NB3Hl'ԜPZeEAGW qcQ ;16?Y(-pVF uI(񤅳)x0I`Bn2=rzNEۼܙ1WYzK{o0 ܱnѠa G~Zyvp>A [O,!BNE<Ίw_1ֿA람=xubUM2 CP҃6'Wz'G,2JȾi&l@<4%1dfH<1 It"bnZg0ݍ r9W}t|`]ImR"s-^ck@>6=̗d3[֩Kp,5o >;*PI 0e +ꌆce3wh%'l>LXs!@x.t>o0wm ۦ+]' Tr`6R_ `Ybsd!z`\6uz|sc"|gᝁ$vI]b-;lo =:Z))œ!ud4GxGe)}ogkn@H)t\wؑӈdBJ4wUkGjOÉD* rAR@m'+ߓ5FZ{~CsVW'̟̮ow ]l^ ,Xś?qr4r*qn Mػ\fAB!zZ^MqQzwgĕ\v{dGV4{MA\) S;/O5%]~sɴrt2{6S lcHxԇm>*jϮoVpqZW1 V\KCAT#9+KdAKE[,D/P;7Nи#ꕹ3Z\9 2I`6Dx 3&V}d "ޅ܋11ZLOTSyј^yӍN p;ڻ.fᷖ08]mfTS7q|܋}$`|h2L_} sZ0W%q$0}?OwB3VX:}hϢ;O(8K3DadAS>~?*N =Jxi-@d׽$8T{O6cf)JQvuBn[ϰ]64qx1YS:d +5}LJvqHHNTΐ6r~3D`yk#m$ ;oABf4DcꙺnYi/լ]iȟUWL>=lwsBsg =uXNVY-d*O'+6w5X!^ x~!m45vHīUb ,z`Q3=[ٴdu4/tJmˋT@rS)DHg]4UTj=յ{#/Tw +YKgzR1- cr9 WjDW)ESD$M`P+geGxjp}g!J:-t>>|!_셃R¯#%֕Л. 4A +PьyfpԷ/Џ1793Z7ʸ8ASЩ*6`hĀQhC؂ͪV51:PL`K-M;^$כ3!mŊOh^tAt&gvyI絟U ` ԇ9шNfȔqe1lZr\vy-B&&7._߆`~K $ l$AEcFiT3Z[Ell@:D2{EXwX7]YŦ>&,)G(rkppz`h]R{h: ”Kw=V$pu[o=Sw9%LKŰx*8E|&:l&Øb7IlP,jj'eǼ+eW xXa Yj|3oiPil5HI灆s, L1r4Z&0ϞYHYlXF}$K9:i0aeO"t9% XilV_*A֞3x}oQa'0nbf<_$ebM_ReIQ36~33ڱ=dLI +[HnD)YyM-I!GmFT̒`0ei Ƙ& >)x@)!끯!J&"O #h 05uz!+kg`f#E붼&(k&la͞mhӃGp_[r9vem0_72>2uN7zcwJVd5;@ 'Ġ>v5.1$(q 2+:KY4JCS;j㯥[ͨ{<UsD~S~%SXX PX-6ب{Jy~HS\6",]zcoEŝ[]juY@܍<}Zh(X)3hOްf+HgF]ٸy!1(azڥ@&Ƅu٫Npv}.@ r7zL?! $MegsaxG7iJDS)o@aveӕ?q[XN #$U SMg4~o!H$]v 5rV]=p<=yo4¶FH ۂ8ƙ~8 6ntUet dCS1=}(\x-XJCa/&2փ Qbo]5k{Bf줛A ^-`#Lє\DcOH%>mƳ⪗@3}jkq7RN7,Q̺74sV +S*j@#jtIU8N9Rs?hp+Km.^7N=bSx7嬸͏Ж1-m]o +}`^?1S.*n&eg3)ަ\04"]Lm/Ys/5KFNr}_y;D"Z jE lGy#k3*rK(=Sz%k[ل{$3;ob:wR#j &1MMe:sIm>3%Tv NJ.FK wtb)[.Ğ#.5hsTϫ˒d A^{g'ɭ~ Y6rFڸP{! 9pwꖙX{fIF;Q<Y* +zH纕29Ba舱CvY2;:p2 }SӃ1x7ݒs%M(MLꉷUȑfO,t, ˴ +.31L,vz,05EO!D]8NiPbUlݙz:O&Dt'p蓒)n4syXNv+ϥ*f4 IFi0"dt?D||,"%r[.%wG\l?AS_Pn[NZW{9vE SW^U'|1|E0uA#>~waĘ2 >C!`YP'?H,1a*I2ʄ%{2h.0njmLV (9e4Rd;j6c*c-?Ni>'@ԇbE~\jgZ,ŇwhGB]]ș({l\FgE܇|2!Wԩq`ٟDFO?]`N A|ɇ[șԕXyKZ91|("0Į-&ޫQNK䴗;Qc3n&ÿjFZ?ّdbFoVr[=F[WFJarh&ևUcmKF&)>xAXZ68W[A@Ri;aVVG̼ۖ*ƕh'<.A)Nj)dvˀ $:!9KSr_$} +& v-Gq+HZ+FqpX+9e\˴?}5ƕ;"7N/h7`(A^nO $6}ree+~>$Nsc2)X\٤,i C>w&XWŒ9sL"VXO#*N@([t|Zk&%X#'>{=y>Kᓁib?@cڸeK6Mik\piOېczLƷk8 +qhx<1=MvT]()QȀ V0RG k$ ybWdN? 9?m!ZCYnq|oMZ&T `0{@mϴ6|B+p*$E: "^"p$GMo(KYBnN`!unf.=SFi{9aJL6S> F +l : .mH`(b!m+0推FCua9 6" -P.&"来d \wޚWo]M֔8Z@Сt|qVzՋUhbaF3g% eesq6+xӔ(oPU=O]^'-~ +QÀNL5 b_` b3MaN^59S1" +X Vqe(}A{*;QhSYJL,ĸ5܆л@ ģLDJeud8Ћ#;TCxyB #qpȟᎀ)>6wۇ#nJ&%4RNTcFj2[\beCH$WA!|tI?FȺyDmrFis>BNi <(r"r{!-saHnyXB#Qc +ZLxV#FhgL+( XNK:s}.'P>6 m9}E/} 3LM*O䙷 .ˎePrܙɃšrض-]>+{Ms,{< ϩt"|OP^>9հhpDL̙o+^Sk!콗QyuBb3әM:%ݿtn}MEH@4M"JSP6Il9}7i3vjogMCV2M[ݵp0w,+aS`n}o&g"31Dh+f//ZmL˧"QWhYn6QKݔ%k4B@#dmrD%,ZulKS\w*ecog4;V+ +CUsW/VUl=bLֶZKi)6m|Bڹnh Cb*Jk4ҎDZIW3)m.e,*hXX.cN,tĈJ~0,N^ooif()rƹKE[Yaˌ>lVM:[#?' +j`KHF QmspoK /Q:cwBrN/&=Qv~)mwt1cq/A E``bÜZ@ZMi[}I">m0]SPH;=ZkVdń)9 m2 z9õ'|6:LJ҉QۈQg@x+4OP'hB[oY + _'y龡h3'Ӆdp3εltJˮlK9Jէ}8褴K꣘lv*|0a_Gj3;c#Δ}D&hmr.Fb]{6ZT *պ=Ė>X$r8ZV(D\xeFxLiz qXb.v>]>t4S sʻia}% +Alg2 =m(/^!?ѡ`0 lw*q&a^3؉j[5"tìESPnM"lN'"aP>R{Q*sӴt^k4 5ɐRC 8Eo3Pjk1F%<慸gǍ5d@9%O4GRNOzo}~eq&CH;ipp +~[DCs;&|b=r 9 0Am2wXO1?,W dRd64D 7]wn4ZꌾzU"Jpip1Dt QoݺNFrioY5éo6t5(&qifl`NftFd<#=VgI[M1 ;bA;I~'` 4q0G n @Y=Yq/&}jWknpObZwE;jfj{]""+ _Dt9EǍE($Ч646RDT.]FtA4KF$md nje,E:m+4Nb=?&*yJv^0Õ~vO޶1{`F}*D +T < 9fvFs"O*gAd)btF3s]#v;8W5kTf%zs̘M]9 :+HdM1JFdQ>:1<$tS1"*lEy+{lX^;C$en]uh'!0hSAx(A,79w#` Dq|CR^~l>-ۖ~qƏs n`c8:*KaT Ce :R1+CWg;avM_f+wUL ! Ǡ {"ˀY;Y`ǚtǤd +"9T?{ocGrŖV$Y4/0 ۰0ln&YX|țpѨ5S==$n.'-IU#ub8bҊ2l.rGniՋRpl!\˰*٪uw|U@~>dʎH֫cb{xʭSpNgq'Y-Ii:(5,0B3iO^ro4nQ-pm\ܨ? +̚Syb뻣~UYӋhvZͧ{qu)\Sx2Ϭp R[Efr3|vts/DzNqʷjп ^UnZ#oY޹vi|Y+K`zlLtly۪f[ڛMnݪsK{FrTԲɼǻ +4l'L:=|K2VvTUV><ޟ ԩ5eOV <=bpԦ98xllU8>⾩PC[X +f +fq{ӊfb¼V$Ky:u)mYB94*G]Wbr$k;={oΞo=~gg/hw³A[h;5$/( ѬtQlf79ThkIl1:GCŗzR*]axn+,}sũxS ȹ_ʾR\֥եS$ 'ީm{$a.j%[OT@F?@>$ԄU:PG6p7ASMO3݆c~q$xu԰TBϛq7vNJ|tM#qMS`ezn9?]< `ʵ 6GtwbU6PA_18 Fg㺽RJo%hʈV.2(B_VP~> Zh2AJ.gd8qHPQ)qv/"jI_~j"LXm$q721ʕ˛_TM{i (wSV}Mjŋ>=RNi3k3{s(N 1 SMMmܼP~t,6ʃ6{Pơnf0Uřm0Z?osm.聱sB[TpI lNHU VMVDڷAvS) h,+b +SD@K0^@U<dX h#i+"j + seS%PGur:X%o~J7jwI{)34P)MCH4G* t)9قr֡5ru+%g7P  r/s!XL~i k[~``dl&Jdk3*Aric^H1;rx۶fY"ج9,ѻ }Z1d;ϳY{*81ت|ڊqB6$.Aǃ#Z &+jRj3AVJʚO%&DG۴ ҵM"&{Koi*3qFrXU[*ߙ($o,:+ùe93W1vH2 I% vnW2 [%rsWC?ƤN8"Eq Ou/@ y61'=|5,;"TIEZj DK3s 2ZY&%Ork6dtʥx77wo/>_Z[aӔT.]Eu O"izԠ*9\,ņtI,iۛ{\ַ] Bjݺk8yMqiZ,r|?14x#_(k}=+4kMJCK䲢6"%E5roKT]Mi݃EsG|/+w+C)N"PHRp RV jC~+rIͻYwo<S_^_0-C8O|3B5,uA~>.o%}r+^\N)@O3OWp5Zv7m d쥘̡uٺTYK^Ih6ɪS%;̘LnS!= +ϸVSno?wzZ;V{dj`Vz:(O^iZY-t6)|qdM^YߩFU.!ˈeAv{vݵwf,v*Pym/$kr ~,y])GyNez,c8.|J.q~-Jj%fbE ΉBQ<*ڰń>A-x8~sEPx[2}qe7h6ήK:^~5O\AOβ0f)$jNNٲABzTW*8AbY%阤̫n=}sͻay#O5Xsv%²0֟һ$\Ȳ<W!9E;drCՏ.ANYR g 뢀V rvCQjxQԯ"~$[XGsX*3 +`$`^Y|g0[5s]ZDxBm@-OJy(xt_|/nRŕ+wde.Cq +{G.:S88Ľ_YJzagoo7Ǩ;GkHX+GDFvzzRr_:HN|}B +h5ڠ2=yV s*wwrӈf_^L=H5MJ<Lf U(@ʙmwG {x_J%$7)8ĮV1Rƹu p퐿]AJ0 +p6xDf eM]qz̈́ @$I!PȖ׷ehZYvbU[6o_׷O?yiHƐdwA} DUQF )M|u^PJ=v_t]:f& Yâ$V* N/&f)?[ykCJ' g"L2c`VYobɅ.](Y9-߽Nu~: +vQB!vw L$r3,{ 3-`ݟi\%k_g2Z肗aKYȺυ'a!p P,ؖ,D t:MDI7=KW/$c$YެNy",5=SmȠdċVaH^"hh=n-f$//2Bj/ýdͫ_?,>4SD NܑL>̷?ܽ)$I t8PKݿGhw^1z+.RN.!ejt~U.炞 &3"(`\ZgƢrPIދ0/Ŕw_VIrZ-eIW#:1Yk)t&y 0VTTIx77Űsȇ>Xx`U%!7;E21Y $Zג&s'W!e=\6æ LuhwO#S ޺߿v;].r"!i[Ԑ;lvk=&F7dz 7ǩ~rJTaC{Z9H,MP#[Gȷm8V.Ӌˣ〼#iRL֫~\B#y|,#t`%#3y#%&?\_~ŋ֛ +7RVٿGTVlPAByj1sy@ I6T$$xiҾ;$PRCCyWTʚ1Wx1 #Ty5;3p,WE4hWW1C.wtww|?90Ht!D9NIR|'ioxVW$@| 4n) Ņ%߄S^$Y#3bO2R7-WP24DX2)x6ԾxϮC+KNb"JE R,e()}D{E-Xׯ$bTa.K(RTޫʺa1 ln2$/Ra$jsB L=w^BIrp`K-lC w'?]}u_E7/!d,%ȮlA9%;붬V VLH26/d!B(zmE>F2׍Y " D]G"I6u] Z'beNr])!jc" AR̩tf_,@f|K XdRU%"B O@?>uh+t4Vᠸ +K޵Le/FAj{WW ()-lL݈QE I冄e@fadFB@xqi.8Ài%H, Z y-h3hiZp&2a=Bw\u.?5Ř愼8 h 㸨o_˯~/޹Ej=\ F"iT@F`^ECR0<.'Y/od d6.L~|Oox&!cDMA7fH[ZfMaL +c*(水Je/NVt&z=a]ũܲHǖUb]8)N';M ,m "b%#*$rJ2_ի8&r'RRvC\ =~?68ng)oxwuqg_^Nsglrj$~ v6i +@rAX +ws>K ŋW.O4vX^;ۦ^l|wT\~_~7"\ݟ+͵sz8WA¤"4o +Dh;vOdENjM~9Sܰ{QϸrKY8_|sO҇8F8iŎpn_4`68|HMҲ9Bu14<_$vǿ[35ey%W4@@:kȋn@NjCS9[?޽=I?&f}6xqjC| +ΐF%^~9#I5(/~?[)pdK&u_ۻ/_JhJ[a@Dl7FIֹf$K~_7wׇ%R`inT+\7>v$%#裞.9㱾<~Ϧ,FS9;`2b*&.E[QG}cMZ70nq]UZ U(+"wԙ'!4=u(uF@% !E$ D+ru|Ԋwւ:s5I4ս<|yu"s;#NN]m .ȝR/4Gh|}_0i.fe;sk@_4ů~qW ]EeSl\‰82oSehg|udW翾_mLήvzoH4iyc+9p]`.TɤߴIQz~#\ ;G4Ԯğ2#~;_ߔuo.>| qI^r-v?NH^*&{ų,Zc%d^Eݒ &?P`"3kny*_~>_b(}Y[+]:{Cx;hWP66E4^ C2֨!l~; 6vO F>b:@JNxs*7vqWe:;32Ht:$燋@8ŗ$k2Wj}h=ΥG i:ʱ|ob|oԶtL>7" nA2:4SsސEV'Z%TAv}#<`<ÔEkzuyxݞѭY{3c&rvíR.88= ?:t,IN;I EWbAC''x>v+HhY 8K9{8i׺޲A{E@Uzk[(׮#R!{z-Ie2=Šޡ)] ~_:^Liu7`?G 24^@fL9txxi=!|3-5Unf Y;4~8<^[yN#$/G}3dbP6P U ݝVkg$̧&I...>z˫rX)'f'aWP[k#d)҇pu<8uK9O}wz "3* h; +'?%Ю$ILa,g +)q\Z; C @֬I?fꍄ¯^z4o^'`{~[ 0fWW˯>zu8RHUZ FG-TI +Kq{e? Xx6.cpϯ^N +(Ж04=5~uWcB`@'IS\NcI>KJ="f';ioO[Wf6*FMzLYcIr8T P{ڭ@xj&t(#ѥZ*5q [yd  ]4w-0> fvvj!E ħ=\PrD3|kbU?5w :)\Q 2⎔QKwʱnj3<% Hٿ&avM(n +D7͍ThA*7@;geܵ8+DRn4^qU}bNO%_qJw 0SyͿPcJݻ"0*z.N جXF!kdj,kgT%ja\BYcr"!S Qty LQb1CG2EH peKNqx`O%- atci KMRTe3mιpHq 4TPgU0$*{փ|{VRJq*mUb72pռ2du!|wZ)Ғ!;v}\mY!QBQ ZPu*)gC_j^ݚ\R|vY%k1eULo[>%bR0W=!p"JzxU;ӎcC)Ȫ!tflY͞#5: rh#jyxt؝oy9°VBܠ9^38eQ6VFnSuwxTfg<>W娆JSJ~jP] ?zAE^asav[]bVkRfR$xQRDI*J2qoK; t(p+DeaB +yhdTζ%2$H^m9nJÊA/*]V5A&>j08gt} B<,H0DrBIqZp,}kN]C2u 6sx^T2[%(*%%򼔹K h$ROXS n*c4,5\Ȗl7׉}Nk#g'mxSC +oZan #eNM$9餕yz*2czt"@%D#XPb1dCsv0|Z&=M9C[yF*]3DIF. }W<y@UTS(|f>7!;s6z@t*ܩ'TFYs7z&g0q'?r8SJ8,>2҄U2ԾtHש"å:w ;[?ip4V't›s;U˙UaDFLag9=Ȟ>ӌ1hi +lGOYSvAuY$F{!P,`Ѕʷ +)qjm ?sEmU=p.6j}BJJ2"0PY.fSqE*UY㜨vQhiҿ{_ +$j5Sb"T-R艈ijʠèպ\f򩵰ˠ4Z +J!)M%; 2&CxR:q*=> wi:"чTd* x4l92fx׮=e*DL9gD.<$* +hh yrry?V.`:J\{QrSQL@f2BV]䵃 #E[T9OJFt Uá=878hn!.LXWEy5 ̻ m6ԙQyVSEiL-#W} ʆq΁r@0ЊLH҅o@rL@IG0s{2O9I!lbRf @YrioP`l+VwӰU:fdRoSU?xxЅ75Mv: 9ELFz)ߓoseDrnSZRlN'Jc&(KHؔL U*}QALWy>=H}: A3]ũ\.g?J[0G.DgTHL#z'n`s545xu #Xsr &]6/2ǶUy>qǚWq؛Gy32Z2kOuq&Y3!̶Ug3B鲎_Q"Uq}*[+%䘁(&m?13cB%~SeiȿAjavgZGvQ%'.$Q|4Aεn1*R nv6-w=!TV&#z+WBim.|B2 ~T?]i<(pf OTՅ4*%Q meII!V2g+EWRKi6$oO~&OG}0&=k(b&4+ 2Ҿj9fjQk#*yZ>guݜ/u#te-v=#CrqmKQAJZZ- :&!ӳ Jy& ڄ,*U-O*@a곊6hӶxO:J?)۝E1%o"rf*؊mjie6Ux;k%LC2x7ߠSLH,^(D?P>x!EH#r|qY뮱`dNړca,&!6AҤdXIvīӁi/JY;\"l0/?f~""{T)8ᴪ$|}VH̚7"Q6ZE HSIɔ%#? %N;BnZ+Sխ 'U(b`q aX\C~#}{/ &-uufhmHEbj7LRMOe/fz+=ĄJ>>beZ8w ,LUr>Lq7--w,-pW_ +Jtx0bB|}l ;$+S[k+%9{rWVU[+[.@vonܢʤDX η䑢CUgcn4rrJF3KLZO1vi摖>lNy lnIg-G}]<po mΜ[GN.Ԥж4b\+L98^\ +pW5.+зr@LfAzN GUtbxn3js-i\~<74j,2aZ]a W saQV3F6Rdo^6H1t:6."hN* ++Q@+d5M6];JU"Sҁh ֕Nds ݱVVD9ԇ,uX +BAF:tW&R,)`e&HlbJUEfi6>Adyb3RRf|31y~I9! +v^V0mH\Mkkn>E<Հmg,p9ʿKbp7aE=I`k>2%Su ҠRue3ѪDu)]yqGl$6*lb(W\d?7+jw[fÚ_rXlnE+]-/P*E6+Ecc$rՓzB6x3Hi3R/:x4Yǭ*uG}Ay,MG +d F +7݀ՙxf8S3V7"Y9DclU+cQ=ԊIujw!3kc?ж&::J'.:|C{`r`jyHS #煚VBZXUrijP3=)]R,~ԠKBuUS^Q{̴mDMNrNM  "&v"k)bvEGi%CSB+5!{@Jʶ)8Z|Aږ<[Pd9[[%Gke#sLHmpʼntZ<eQ\#97tsMtg%RMCG"~imh6W +jЯ$F}۷Y9rs⮏Nk>Ϡ]GW.a*k< Nפ# +ϼYWKܛ5z9®Ԓ?qPOLjӞ5+j)FmA '@To6z[֍G~Uh9p+BRb>%`GC:Q} 1thp|GbCm%N LZQ ^bmoq4$UOpB,%uY,(fʦ'╼F޼%wuwZ2^Ïb>E jFPY^΄͔g +:d#૩sFN%ߩ{ZUu zCvf@:*<-gJpHQq:]QZxY0h7!@S|;/[Չ/xBWԽtvźGgO3HTd#Cok*T=ո!b gXd(^! IW?¾ ^@t37DbdwxQAksŰD4D-$QjMпAk6dA(|,ib Բ?lOawiT)csfr9x A7~ϡivs,k˧A9y"sqB:wbM*TOgZ{lhw*wêjU! Ar},!P+Www:UI4hJ-J_vО0~WUǫ+Z }[4 3 Q#絕0V6Hd/bsuCNK:)9qje1heH'(G6*frNTi?W΅PUj z +4@D6$scm,7ZKU`:jizW"Bk % IBдٺsa_r^=ѽ#}_uwmM`6 q3ymT]0Bfq0sq!%]Խ.:T1g"h(lh +T!a,uxgdf^9YE-Ž 5wNv[Mz߰Xtv*eh-YqvL솻@4U±vYi"=Pʏ1*lmZy[։ͪ8I[{lM;,p eW7CQc=B&B1ì@zu#8 s,_`_0o +BEQL<Z`}; h[)?\ma1x>8@ZU(ޯق[gnUP04v%'*p/Snl +8 f%WJ>[mkNuY;/2t~`#1&pktg}{H WjDe̵|" 1sOJ:(#QO͹M@(Q=g+n hz&Kюvi:v #ߏNq&E w&w**}GGO +ҠQw馔P31nх3-Kfx9DejW\5>uGul>DI)*C\ ]/PJ ]Km,k + 'bt0t2b.)x3讲gsxNGP{@fnGܧUqĉUUg$-,~ΰzѠ7D&s.9A^7&s]-#-$?hKt1؝u2J_ܵ7;K{@ ImI)c@X(TRQ.CV.nu;cN\A ; Oًy2 +fm +,;lEZ_an)k?-Z?"Q`R^IX]9qt0@mۤFQ!RylQgcd0 gzs.%0@R" |NL\dȍ);"7cQ=O|>%-}]*fxW zKgHw2)mGVREjڒ1B=SX% +[V0걌J6:CR^ļ.Ko;(lЭS:SH?᯶3:ڨz'3#D~k&3fBḆƤP IVzB O18 5lei;]A oNZH*.e뒗Z2O0YU} je+4/H0jM8ʺ 6S`TpI:獖M̩"ږc 2e!h{a~^"GNfK3NJ"T\+nh*hwIm4t[mYYz"la?,ÞkZZtshMAU +=koR[^ߞ+d)v|XH+|Z=tyHwi6ˢپMU@Ɖ4L+mDaG{:k2d0)%H,cQ)JΌg`GLH*u IbeрjۤErvK sGY- O>,Ǟ[)}sG܍3ta5UMCfvrYt3TTi=h!)?o0ZBX)p%%_q0if8S+V\^c>sMQgN>hYPk7)-Xū,oٯ0 u|/TD, G+_>X3IǸԸjTӭGG뫭x Cݛ)+&OI(y%Uޅ9Bw[FDu$E5ZgkFhtq4;&\u D1‚eiBPrCglH>!a9HJPj*_vERX-+=tR@$uQX;7/W:A$sҹiJaRxXp˭O~N gB6AU4 +*ǁrr~M5 +J*a\*zeB14Mg kjg's.!{ <lcq.N/ڟ}mҔk4Fǀ{_s£]_jڽֱ Y.6mVG󷦠L˓whUorѱpnm[LTakBc)<U \ (h0Tq6< U#әMФO|,ӈ>.=Z˫͢VYi>\QQ}ɮu;{ \7T4iHn``SW;:9A ρEQ ªƮG)X@v8@Tr꩚gv# +* 09gSJ`DrUk]IQŬ)e6<@mV̚f}hUlsWh$FU c'_uuQ"Mw9@:C,ha"'G]Zp՚Ԕ7\:V7(+6k[׼TB,m/ܰ:gD|SV I}BA(f(_տ]djھ@4*,|:+[6|s&%GFm9*%DۀY3VjF=g%i^I""xq[)B,tTUfE薤_%oj[m(RaLICKxI<%[-z(!)vbҒ۝qyomɈ>z vPu}d t8ߝ!0QluNBS5LtXF`]SvCX}h9Y%sQtz͡ԓ@Hf|6B,xy&r T9H1Ui +猢͟X?JI} Z02e3!S\4V + ;3UssmTN!hBJm-q5n'}(衪џ_PasRGq!i)=3m}?4w SHUu*dLA.#H^,ZzjlaodW :TE`Ak81$(qPA,l^K}ck>x)<\T~ہJI7vB/ 'ՇЀl$MfAM9,.jD Tj-9KE!eW):ӭqZ0 3-cȠ^*ǎ^ޜɺҎZz[\^=C (e F +/FFlD4bI@԰ڻKynVܱ:7鬍CGGAՅ=sU=jC4im+, +nnp3`F!)tadI!̾FztkKlTBE}jayI{#e*rDkv hYlAb9$&>*.V*rZvIR$aGM:E2hOkt?E]bkH8& 7vΚ' =|¬D֧_>>hK{H+Km2L*IVuuY_͘uόtJ E&so{νKX" rAFxv[ ^ekQbb\4T!]Dd +(^ +oTse9:Z[Ir9S+Iĸkߨ35Q +XR- :?>` #W#)MQԈFM[c=?{zE{sc)/<u<ƻޭ +7 p'BguܝQjK$bKώ =ң&=_QU [W}hٛ[]"pCJrbҏ&kٖum~CSz{ҴMs͋DxYdۋMUrs?gSѻfH[(mOG +掷 +"pvτz.++P]!s3$PBh`rj;ֲȾ;eœ념8KW83μx;`|@Ur3|v"}(4J)BґwL~j8h,Ξ}XIK;?+“"P|_%hTvܠ.8Ed24jhۓUQǐma!7&q1zFg+{)Gmdu~OQ$]}k܂!ۄ)[i Md~j{m)Yʷ|v np\jK0HwOGS~Q>UN[?~嵵oUӏ7qAis'yfb6vVU-RֹqӪþΊy BRda_,YY CIZwfOլ bp*DQH56շs3[YF濂hi+VRZ?j^H Q0mnN  dʬf,gؙ`mUf]@rx]oa~붓7ڮtqwç>"G`mHۖl"MW!ev:T6@gdMkqplKeo.nZTyYu +kӝIHJkj&]uU)Oq8YٷFY&H|mmP͞˫_2ΘVqLcgDFЯLa+,vsPu{Z{2.NnߥuMC-Jm!w.E߳lZ(i{-ĿʚbԆȢ16E +~R(~Fy뷷c^P|}Sy2,@#Qƥ[+E*W6 8,*ѸV|+ [f[K٦uw+鑳-|bcag{*̞[8ej1^^R3ΤޕjgtbDnNB*Ek4ͰXˮ_rMNм1ĥSڀHu  ܥveiw{  4\~ewY + +mZ=lpzR'O&Wՙ[%:;ޫH3MJ\ATD?5!!KQ%Wy2(S{Lzf5Dev*MeV0AZsR4R~^QLTWLQ+$ Mwb5"_QIn}$\WՀw˱ߞΗyo\YklYZ䊘6o|egMύy>oSz!Ş[Sq>e7?i-~ye)/m&]l:4ɣ_zwa;CK7d=oѢw [0:Z: k~7;ЮvlT\7{&0̹[re>Fc}O-3#TkH8[j-4PŃ-mDPv@Vag>sR]gd4F:!}pU`S(Ur;542EA4y{xqP粗9{|)vPRr[n}Dv}F}Mr/nm4E )jIwU׏__L֛9j \\$C Aɴk`6`r+rm(51 +T$d5 ;tyaLq?!a ')07#lWc2@rHW9>37`l0RUX/ϴȍxs*rVk 姲_}g&&Kpnն \f{M 2{k>q6h/`ߛjѮ\"k6pS;7DxE5P O!679j߶4oK{껨j*dK izHAoЦ;C[.jVCůˀτTyػztb"4ʵSB~,YFG6j뉹zb&"h~2ŏKVAY]͝R:@, u2Jކ>uЦ|.݂Z?ypT[@fbk존j4^ i$ۜpc?6zɻ+PW__[fCc'ǀ\ic0GS*) m3B>&gR8-W}785SwdeBҘL".[:b$@+SBA!zXJ_~$?hR"*b7 馫J.5βL ~joS ePaPLj+؁.C:Q;I +fg`| +L(K>;L*WfA^m} pvjI5pKQ_A- ]D1zЪJ&cjsW|QG:HUf +EZ~u5/Sh.-ݬYYґK{%uk^kQxR +ղlOPsvUDŭ'g"YlJaQEXy4G(ж-G@m]шk\ĮIWME{UU-:gFUH}h~8$]iYMP:ڛL@,|Ǡ2>Pay.ۗgi}UTH) +j߶H W0TtVԧmLmP2:FWkc!nUIVsPp7=i-~_qJݸQiHƐ7pj0n#k@£#m2!@ u%` +Am) Fh}ۺHxR}?itt +)M 56)(vLLnI_[[B"lfg? +T6U3UaU]8=r[6ʆoo=l!%gXaY; >jIEvǯƮl\H=#/%,P c<ԉwħ`Q-m]2`duJz"ZouO1/? (:-nH7w}ƵF}mun&o]j~Ug@#g6wq^FYd)_i -os SV,}Hsk&&SFN%TC`.IUZ,QEN` ܆}o(K鮦r\0J[)?rT+E=Ur4mqB(9XTI8Zn$00WU[l1.kwq P}Zkh \yl}֍( }&O7N\D7ctB46LT7 ąM4R4l/F"tYV4 tQZ yiibtʙE;y_Qw_ +U$lZ+uD)+O%@k7İW :C©܏_?~-diny"pOU#m8r8,? TE4ߴ.nXF|ݤ/z9/|ƙX(PY:Ot1Ujp>Eu ^pj 9Ř"" ZpS[kZ@\rcٶ.i=hjvʊWڠX9}3l ;0kK + w]~Y=r%=Gm+SyosuQW Ŵ NK ;ƗTSM7c8~k:d\ۦmNx,MB]yEW` +tiE"IU/e՗d^=L&w̼?QNFZD +V[AYmku~oxSڶoTq^/F3i6@OfJⴒW˗!yh,4 jG'NՍգ):ZBVs9 $\|RԦ\pH߫ѢHiЫ9<Btcs*k>"*TL&_,:B"-Re~qo?{6(֫M#]`.¿b*cZRKq#i6UI!5'r LG⠄ٹn588jWS0~M{\EOm}tVk,ZkGE=fӢ=a {=، tj+`U\7MVǯfw ++8Z}YV] %~l(\:brXZWIC(f~/}e|㴵PYN3ZkУWS*D_YŻH=6Yd04-=)Bj#ἢ Y,~VK{U%AxǮ/m#>U*YkRj|o7V05 +3tj?5V\Xzp8T[i}u>D_U u.C\VuXf˹Ң:[ҖrӞGwXۅBM]auS#džю`JlW[o6guz+' ^}]S8K;9?m/B3e6SRvE/d;G)5f٧ +s޳#y@C9pV!NnO?N9nG6u9t5Zʀ [gwlʜ~O،уܼb<}!W\?_JRUvq4N],ܷu%etUXbIW:뽮cftY1z74]ڥg[e-Z?^ne0̷iS+Gt{+Vl/PKf b^:4y`hikO)[ЏClVdZg7-2.p%1ьuS}V!PMM͛H#$qI2Rv`r,X):OuxZƽvrXv.*թZiL"ĈLLtK -5H_E oۖKͯ$Dm4 N=r2[ %*?n~ +Mљ,-UJr#o΂YmؔcMǞ`έ}AN7Y+j]`vmT6l&kb1iV[嬖}[CV3k' +SG +Y%z{g#CPm ޜcMV$Z +2)ZyG{]xӬ=s 4Eb>Bхs=JJ8q%}m66\LZ@b%=@ k=jQj2; + C+ӂ;Sum 430az)qWT7Fj=hn#M4Tn"wfJZD'z.X +.qtX !n_E|?]k236l39r8Ly&eaVxuyz ܗDT>j[9WQmqv[ .Mf}OiD)]$$7Z9y-J9Z6ULf%:_~KWo FGvͶZvU(s/7 >!.k߲ҺK.vk;kH;'{CXefh[<"wՕ:ݹ߱Ӕ<*}=3h#4B_Ls!h-Hk|*]LS;}St_8姟*)=sa=um9Ķ͜Mm]VJWnuIM2޾q[~7{NL7uQқowz׭Fu@Q]JJK3,@'jRgs +_|YעCFD)iϑ/،1*Y.zIV}R' 0 ݹwV~.ܙm$K+sQ#.yO/ S}rml~~3LhrFgS;, ˃d۲f'HZ+ػu6Yw;݉򄡵C`64[~_s]lj{96Sm'mǝ}y+DO5 9^<䝐P wy]Rw}÷*7ZA^ FE\FTkDv[WMj_xzY_ԶfYO$mj :{N~owz4Q/Ul #~t ̼/HJ9Z,j[VIE4y y3,w! Ec,'h',Z6PcVP[mN";K8An(DfF$ <&i,hf nV$9T3xqE<?5E&qfڴ98-+9e7FCJʢ-r#1v:+y_09(۝TŴA~Z`]ճ}_5`5K.)-h̲[!7{rQ)#ATۦ07] sYmcġ~ł|"ɋUpHϻ<7%Dbje^&e)AU[+y&VP1:?@:ZQr? 8)b`_Te5fOTE|/ <1oiЛ{v:iD zEO h0ܹ)MI%9`UDڗ.>;tl8òg ۢzggy AZt'4>ZGڞyR?60 q[;:iC?n"NmITP(gkuW kT"2Z?) kmј];UXCp7~ZBNL#EpN+FNA.L@^܉i}8m~gp +Cgy?n20Tz"y"3xAGG8sɡ [䶷jHUdz;j: LBV\E\ |*\4ŞIKiۮo9cTiY--|+K*VFivhtWCD[Y\o4Me*&;|Ț|ˀ N(KYkPx]HD$>/*:g 1%dsS>\$1[k ZܤY1Aԅ(70I6dQqY+Fp8cTv;*~l,6M"f<{ &+!.%&yli w8е[MRI Mkr+d'kgRlàF|ƅ͂`<!&*(ma&+$Ѐ;84J9+K.CN2|*ŎCoK7YV{Kb1ϺW*b@'YDu86I&U8d|~<7KUR[Ŏ7V!i:xj{@fF adx zsmy"!ݢD4őʱ)T`]8Opm @}\| vzIh^JI> +ZotBa<anh~(`ƃ E(wv'Q+T'WmFSiy5Yʩ;ɭAA8!vHEXlF"F[MNt|Ubo zNNq1hC^2d?!?0φNQaU7ltGCZ$/o،*l4tׅ@b2CuJӇվ:6؆<$-OjPȿk7P 깇]!|G\7BȺq5FPRG.!1QdZS͘<}YEXg4 . RIIbl‡DVuc9-+k6.кgQ=qs+^!q.uwn.BЀ(vvϼYGTD-lpmj jFB]0Zwr=dX5>jkgZnv]cwQ7GsTCԢ >K+}4E[lfRسLShjܮ!ب_csdҟM[KRrauE$qrd4zNRs9A1l}qTÝlJlNB̏܊Y+AŠ.Kf\PTņk[]ZRuOS ?h.0>RkK6`;܁@6τ@Pv19{e%߂;Z_UO+?TZR=seL "؈'F%S5٤;"<ɿJ|>?C^Ns2 +G^v)]>tkUD'Byhנ]}QSbظinE ++Nl kݨ7?~VBzXN0&RkhKN+ȳ +z5|ǢCpmjUժ-m>|C(6ÃڙyqeL7] Do[Un3X-5~̳d09%W3|D;QQ톖ݸu]i +(B<$>6 +Ӎ;UK#a*e9sVwl3lb*p> +J 7DM ɥ|"8DT"!Q+s`. +K ޚ 12V,6{$s%>1[qpv̄tJrvqt Q89_g)pᛡ̆FK~ Wc"nMhmqɋrA7k&lm +8eюr俑zܵYxFmEZeX.2.Ss9&Lp45AYy&XfT!A AAr)Z<yt: +jgg:׹cD8t쭂_.`v +h¡Zy#L! zLYًr#"sf;nHu҃fQu(kIY?HVr]k:5q +hѨJTۢ|xn*H~KjNõ8hӬ5ZO$.JI`C3eцO5ﰬ>On!oKo~d%KyyzXh!\1C{̓<H;"81eyv{TTqaa%爘5x,J" cs]=[\ Kv J5[I1Rx3vS7RusgV@N@%IUZGǎWD.Vł[YS53 +،TT:HM;#}wϻîOr"ðcԶ*]'+*W'x}PqG[2eZa>E)goϭe +*TKW*Qb ̅!^L +sl%D (hANCX@=jGWvbj'%.uq/U0)ionG`8u\)0ɓqLmd\n!&mЬv+piM"[)Kqa 8ʎ8rS}n,әJP U,Ѐ:J։I(/ArYc%cXJB$@rڣ|Ex@D]$T'Nrng ;5a)ye ѓ6rAUYmɱ kt^Hc9m[d@&u<XU{gE\I֌Zk`S!bPjw]ˡ6BP}:Egî`[ץ^0_'[ L ! T *3[$6ahC$f2g0M%PiұasBc)Zby2`j8975F")K]4Eq#Mͅ.置Y +.]U6"_ݖܕ09bKx/vnu +];-c82'az0МkqWm& /;*5O)Ʃ,iڃZf)$&"/: + ?82%z37J̅|赎lT_>=0&YDG*͞eZqChEaw]+˭WJph< +g$/ϱVtUoHX74/ f +A +R3elِGB*pY}i2D'()Fn"Uqh/|ۂR1A'rHcwO4,5OML6&XZlyecRΝȸ+I?)l'GL-Z2"}xԽV6ESP!䇕$ I`GAWpk@S6TkBL~ebM1RTx<~֯LD%.좹 +~i926 (tqH_y"TmeTbpjJ!z% h]bI` W?9~ +( G'weUF@qzkђ\iؔ[529u{36t +QE5!7`"[`gIh=:,[O,WZc1wCϗȏm_D6`j(SA%7s`4[~G$Q<^3+d!22WI]%~:sL:Pk0s'* *az<)DaRW"Zv&dUW+D*q j`RG 0žk3Ks4.V6":`.*! Z*:!f՞8P8 +ZoGY'ĝ#PhQKCo:9ly~Mœb^B&5UU,*ݴ=9.Ip?uMD*s"VN-E6g*{zQZv9\ RJUr6r TI `qZcBmV5ND3$A '|j]oO vs + 9SZM٥G‘}li&@("mƌ["|X[%ZMkn,f_Mt:Lҁ2wYR@adDmI7sH AJ8<-'0Nk9qYśLOFtՄ&P][XrZR37荕^IEecLVhhj!S%?0;2UAeMN_ vŸhBD~)p5q4:w(-= [#`˖ +5F‰2n@Ō)*JLkFiz<Еj^]KI՚~U^@;r &K黌PS'DI2W/)s'h\b*NB`ݺ(HјD6AnJlI.^WR +~oMhe} ++Z)􆆈${sB@ε`!]eSrH4cJ3agxl`V uw`J H.^gAt]3WmfӫovS +9}r[\P.t'^3ǹ*5L/bqqrFzގh *e͞)|TяB[=y*P|7 5њ\ +^`(0D# +`Tw}YOL~bpHA >i린'1vrM Q2(DD;S$w3 NP&Hީ) +NI>9hQ eyͧ@ 1C; +aϢrF +xm"Rq_9" 8bAǓxH 0ň3"C-G;x^|wMY]}%g)ǐRsNy7սU-zm.s0։ (\.[t;T=!1 ѠK>ېM!K䗣D)1E(ŊL愪A tVF9TJ;JIЭλ@C\)fjJCkvV!uqCsl?KO;0 W` >_- įP,&i>KkFx }\U]rqjs7IZo*}tU`%b(hTc,= Grq@2<̗c!UFz*D ?Wîy:Qvt\Lb(x#dv؉KBYQZkv_eOIԑk>n#}54KFUɠo\24R*>=eHÝ$ eJ:ݠEgs3& lp1|fxG,I(հL{ +i"T>,)K59qjP:LU;]9%BHb&AKZ᰸hmtLɵY&Y;Q +{p8q{Ub/!XL3YKZv"XܐV Mb?U%$eRV,Kp?NLڼ#c tUCbr(s칰h ("y%wu a[PH'ȃ<[U1]vÕ<KM&-҅3 ^ygT!ɴԔှ/:xƶVRTu#M:tAL}bh!}yrUqP҉惕όR6<5#[mF_rjK[R.~qnT1"#4{es T,0avcڧ^& {hBޗiΥ{j"~#u=]F#kDkemi쬔-dCΉuɑđ3b +g8qc; _R!X?8ᅆn`&XQ5Us_ltF4$|JlҨ)\:|d~_8u F +"\{=D4K"7eLA>pG0"8虤yl42|E=)0@o+g" T>aq'rd]0fxX lHOw+ŎT1Bp*]YWP o?* 4$s1#67 s(O^\\@/l} +h[$w "T%;mgFG&uHC]!3 jI%O,AJ$WV@l~\`K(L +'i;'rYcmwVƭvԆ'|lYS#Yw雛NOYv9Gj2 kڽ<;bڬB?LOݍS_v_Y(A˩ODjI;nLm?Jd[6_ے~|w8Mh%RzN' UtXG; 畒䜷Z⧩nayA=Z"8\6Ciΐ*&(wR8毧ׯ~1ntǵڽ1 V~yp}؉euE jO +|zpܛw7!z ȝF7x+pDصS RP]w_e)Ir3BOx`0&9JZ>no߽9|!SS*pKKt` B8JMp;]ISâMWյ|?e*s85t!:J&2A ?ȄOvM,q>q҉$7_rEAZ,8aj`o+tOu~SǨ5MrFZgl3{oGSi.+]P?GU[G9U?nN^m͓YxyLI{JRb{"yRR^Kyr.כp]]>^R# s</VȖ֓M=MⰓrӁ2'Om2r4BH! Ov^$u $)wͤ&qFM!- @T׋4P>йT`6ibP:8Hs[ A +#Il%gooooopR +Ydy)rljdɆs)~ʼnR ~qRIKIs.nF,40ThTQSާ}{1%XdrS]=c5a#|`{ЊMvePmirV~$mJsMYrt_O_;rTꙉ+~We]=d+ 'Ցeɏ19`jadw[ _Bz M S3X TvX86b2hd1- +ao޼~?OPw*U&w"hyPӯ*gz#$8^iltp *i\@17ZUwA'Le쏾0~ӐЄ6ȷ|s=s# +vd_dj.F1[9v;0r54/xH z_%ng|j#)$!ZROyPb*iO.Q, ;5~O5h ,29͢:9ǮM&/@ ,+H~,_K9J_awCUVtDڱC0q*e2ݠ 9fXnϜ%%ܥ˯xDBMXwP߰>-꾰"jIX5n$</_ oF/m:ons^}ooh@;8h*A'BC-}BPQGdҾ$M(C{<[y>۸ì^j'16*'Ξ.8t%!Kq{o'%Hw@1RXm+n4'KFw ª{op{ANIpL#GzTwdQGT$fǓ{{Aο7Ww7T TvEN[5P/gӓfV0$7p~?ן\S䢅|Nb9oo޼勗 b1(hC+ُbjAG*(u^cN]kZ1U@HIwO tkpCeR?|w}+*/rl.ֆOixbwjnjJbԔy N6a)^hy!4?~soWn:Tb9UOY"4y9?h +VpLnBZ?|1| /?c U͆r6 $ Si_CK1:*x=uZ:8 P~0_O>+T̐+` bBI 5F#r ,_y]6]{{oo&9_|sQa3 b2s Ѫ.L" Rʡr|1I>9nNFDM|V(zT< ԦF $~sty}ο).^}& ѯ`j $L;4kW_r0T:u9raJQ8Y"YiQKxsgnc(!Yݒ_$mϭT9)7&io 7\YwShЋMpJd ! UueNO :HҸ(/v}sRA}ʝZ,ZO([9#$!9At2(ׯ.^'eԪ\@< pS8:qn\ ;(/ۛ7.|ތ$x?RAl-X^~{߽0RlnӐȌKu6bSgi#N>Ƙ$ʇ||/q!]"jC-}9o75s8(*;n߾{ɍY!a|m~eb4b +.1q֊_ӗ9@UU=1$32juH @hE#h0 +q~`+rn(-eQZT 9W7rm^*Ht:{x qf2:g䜃>’ jtl'ԿWw8]`<͝}%BGb<| 1Zi]EC1nv (Z8Mխ= {N=>dw@uLE ,S^rJa\p?31V +u7/oo!2R dLRC*1LLG RTuxR$wi:|?~2a0KL2LiF6B:3%w ap7_揿psЏ T+9cڧ0`,!Y#`E@0FjG"{߾j8+ַŚ&;շ˒N_pqN/i.mcw +>"Ь6C~/d9Lj ++^A #(ѧJ8tz!5-f,rq䭈&`nb:{$c\i + FgCosj$ թQz:(qF^aЊ<gJp|ﯮsف~z}RtK?OW{,DhpQiF!jb碒 `1il[4&`O @p8n5h$@AAC·Y4c@  #6ZR]@QIB +x/˟eas^C@&4}w:ẅ́ ݚA0`%IN*FuN@z6yF @Pһ㩜N1^O0aFS50qS|b,xr+Ϛ6fN/Nj_$uCPש;xWÓZ9)5?BMտĝ>ڒe{%P8U^[wZ@-r|<]C E?XjaHI\V>L=igrRڂes$ũ!P%d9&m4w3C= {9T^?_z-թ7i5Qyev"!7N !%TA/|ZbiUp8=$YŽk T؀__/+_Qibd!*IXYU;^O;NP΂.wx|x{D>TFrDKݾ.WnK,[ +tAEĺCQ,Ǎ Uf~j5')'v5o#UN*O9w"kÏ5VjFʠALY*T cKi9!İWBԱJ3jfSHaDȗ]@U}l̻ڣW?J#}%(hFϐj9e + _8-#?|WsU[jf̆o&f)Ts:&v>=A,%W|J}Rދ9;K"x2[NHog2 !͞>%65|+iLtg?ONH5\~{U%BulCm3hsê *?lZx5\JaCN+DwQܦߺtL"#J9d;o`.X:i*\zQr%?D2gdƌauDЋNyyM-;){Z͈u'{(5$ 9a:}ݜM q^-oܜddNzW۩LqpѣMs(Z"ΩORUw~wͳ6(p8)4 c6Tq_?1'̑?5|䇿O8a>pB:W,m:^>E.X?:H8g/I=j/[H?8A=DWinٿp_"_"J<s**MPh Dx2^O0˺iԫwHH|uqsTd#.w&,,ݱf2c/엟n5\z0彺r9v±4aO7wrHDoK9IB '2vè{TM:e\2x99GJZ?{Oٯ>ဠչbVa5744P劭b*ZB(R{&}RB[Wp cE/.?_|r?SeH $7$Hnc2Σ2PY:1' h>r_1ǎha_㗗? VȦ a/PN$OO(xBrDq>{qW_}[NL֡-\՝. ݠ2 7EN]1D8N}D&?LYqEPeVO^)oP.˟ٯYos&?UϽ?!H)TWBΪMz][GF𦚁x27s?g!\<g7ْnܽ|{"vv!KŰT_[ :u{P.J^4Z@9&RPc8I Kr]Z3~u+~?فv)3wضaT$ٴ#Wu>t D;V^/.P0$¡\l1©`I2~$sNy pY4d4qSBv͟0QSxqO>܂96/U rU*+[MPX'Ct#c,7͒vj$ϸxg?}_PY#LIU]Xb0]`_e>bR$#쮝s{HfLQU")&p3v . hn@Dj;:&axT]~!w_nWxZ~u>v +q{&2I4yFU_楮k+k1>6ک^787lnonnv#mM!6u']Q1~(\730?m Uc\>|wl!{kM0O3xegvi?x0on&lckyN1M 2X;%GG2!0zi7: )Z +Θ:F¢BuB#5p8DP1#&2Tolpta@+> ԑG+䜀?~S-A ($b/߹i[]Scl|@s@WPCo!&dߺvwZLLevE[\ҪW'z@9V{-qM^H׵;BS:X΢Ntvȣ$+iu}B=c61Oc*}-T:.`z,ɵ5u%7VL@*j +X1o[t`']S NPYM>$rBF%` [3:jP{TR% iMߥME'Vn.U u[nZ%A Ҍt` +e@^׉?b.YQM eWspTW5.fe>~RJo77x=&0)MU k) ] WݢR^9皿s@Rݯ3|ow9@721_q#w/Grg5AtNn^H}A✐ 'SVGآC[KzTߜ +Sxyܾ7x;|-?v)I@Ja6yGx'Z)QȈУ{+gNaڣAteKaN*EuMweS/OSLpd +ci݆FQaPoy t~ }>K:ls+M77ix? +tn#ZISD-F V|u^LkWn#ڊ +8q ≹9Ǒ}ouv;`dJxRoa*Q0/SٰU|"(ZQRlD9pCr7e^4o_qN& u, 6=W{Xm-qa2.+C*سPmB]k -!#XT֐[PoXp$ຉf⬍|@vcneXʨ*7͢ t7" % Ⱥ aN*7"z(s >lc 8 LKd)qE%xȾ?jGpV۰/NF.#5E2fĘ: J/qn/c^LP4R[/{tNAa;(:Rޙڢp=W7#q+~KFMRJU8&sK|6lFwo_, &?gWN:&Og46* 4qe [k jCIgg~r{>%X7]8%f@M J+_Z*%y70{ky'D(,eHlQl2>/4BKh†&R?ĩj@DtݽD};pE0i6fpa@* +fDjP*,* gakYysLDKn&a}YJ +ɫ +{M)z ּ|n4¾}&7&A`VcRɥ,aFi ̬\iw $x8E]rXCԇ挦/tza +֓D{Vv=tyG)˅@#YV 8't]yMLMpq_5n= qnpM@!8ǽ28\Gkn5ChzP,4ær7n՝83xhpkNz ![j?ZqSq(挒).h{;q?̫ԟp/ L]q8130 8lPHS4/@QZX9A'1qu=`aqh>A?@86ȴR 5q ;RohC1喢V~&4x|WT>!42# Pʡ;' +iB=PQJPϭ9a3Lߌ~nq1@TVrDRMž jZ[@Y@?N(X_fOӧ)t{Y\Uď:vQ-5*"_1&X˿e:7 0Cg|u7qTIl]KON,T]8"oy3eJF sSYU=Dюf;uBà2 +t?2U^Y-,B|Eq9ܑVJ7_LGŪ8E(,]EM[ +D%j! _̴̯ t~^/`f\xëp>yƠNF$]ٹP*p||VKz+i9"3iD_cTU* +MW+^PlRm/|\y jZ!|hb(!VV8E-'Ҷn[P j*/)=~P fПsB<sbw9H+ȨQ# 1jkB ?ƥi }5g@ӭzXwU%|.6%{|m Ym:SB7[~[rBlː<4bϪ 0!޳Հ0J@)fL43-Ц9 UU*g%/0C7?gryH+$vY(j~$ϯ](Vjf3Iբ1EMa@KM +|MY |Ԥ?o?󨉒V +FdsF0שZR-ǎ3뀩 zN:mh6T>.0 V-uk`>"MVUofybV0?2=uI\U D}oV7a9f^xpaiH;^KIXT}ɕYk2 +GNGuGKyCEV@4_?Oh{Ֆ5 74#{Oɿd5Tz"[Zp +>#xGjݕ~vt >UnhC{CI^yBE^P|.< c^{\N֕ ,%noa;-EN,qݫM:',Yn(4UgʬJټ][dE2()gͤ V jkG~жD-W-e"0 ~1d-zv&}FO Z/x\4,RMrKE[ +A\J+ރ>I?K vB/%'<'6PMfYU ӝխ6YUJ{\n]'ۛٙh.WLߢzCyk;ʅ3ߎ˝^Fs_F4K_=A%c@'x]?=6XqKd_Z@Ǩz]QͰ-PƓ5;G:g#?YxB4rKr-"wkgEm:"+7e/7mEYp\*wv>I,r 'YH7`d-&?kKpE)^f')]8slo)WmVɃѫ +}mDvC΁eY61B/s.R}/)Ja5866UJ;ծ=;u &$%<`hoy:@R(c&Z* +T'!d@( kJ^KczC+JJV-iB(Z\\oF:U<  VT!PN1}lHuˊik$ +Yp4e +lăbޢ6Ueuc_U:DŻűTgn(`0Bs2|2<ދ +6^SGOU&lDzewJWqzK_t,Kޚ15tUuAf`kdu*FNԩϝVQKW^H,hA`"|ĢavstkP_ړi6E_A TI +;^U>)o cxKA}U?4@< +ZUl[e5ph +QhsflTWWΑgr],dqyk4ȶF+6n).%R;i(X \!'o*JH%oLdS/"NL@T,MU|^e}"8Ņ!<6<`9 o95=ӶW:Y[qM +.Iheg}Uh h}Qo4>rL pk_LBu{1V.GlM½e&l[Dz2_RyF5U>D{ۿATp\nZƎTR/uRc/4qJTSe$bևGAfTK˭ JVo/"'*(:P a{Ǥb+.Z05myWM)Nߪ>؍$M&')kvBx+KR2{QS7Mr>F56|\rDM(umƷ F`pXy^[fDS\Ss[8NmBLa -r v:W,b*ʐ)VLu3cK;h:k9qa Cs`c"ؽɐG-0ƝJ!#ufHފЪ,oB3M3%ZL/22եPX3!y g|RCa%?A-.r#٨ZT*I'Zo&%6zw-*Qξ?-Q/ (T =翝!79`.:v aƭon4 ۿ?߲wՕn(VAMɷc7TM,D;j5,%<66~CE8k^᪁GXs!;Ӆ֋#LTX3%B"Nmžޚ2qìomq_kFg:׿@Y#ʎ_}ur)_MlUjui6هX-4k3 +H?5hnalm+)4TuS v$H%ojUQKQI1_]u[o!"I xUBԹ^ z<-MTUN\]BM)O @C48Pw;ęM +W`OH+z܎4XMH&S]j/=9V}HEg-i5|/ +?NYuf/\UE543v]8yPի8fB)xeelmN*dzm;:);J(̌A)F\6LTQjzRPo4Z+y[NL_z{ۮH5NXa/koڒ&@&o/jHcakU|maK8^}fݫlw2=mB;ŊͯY6:06\g|Ul޼j(tyٗW>k;rږPrgYuJB- Ia3#<2 E0ooڝ awTtQ6b #QH:Es0ʘLt 2  +!60 *j# ,7m\~AߔH4Vhwt?- [G]NN:ޭf>" ڲ}E6~acE🍑rX)jyKВfU꬘C,7t2̂Bvgea0"=6z û X 6DtŸ*veD8j#^UĜE|(’5ЁQ]3Fo FG,(w=VZ'ZW]ֽzz3QLDsyd^z|nN]t{^nB3||z>jH`4]rPC\z=J .+ᓿΆ611)w*Mn$Px~4 +.d^\"j4 E_Df}bW_5"Ei4G3U2}ͪn7pCΖژ8r-v#SEô/jTb:B& gX9 ^G;+Lxwk]z#"_DT^Z%b$Yk5\8O3??7>]U.[+-}'muS2?~[#㩛 +ސ/;PuӣayWӀyՂVA꫒ehNhi0G=5FRgØ] qhv)xԫoKT &`͏ ڹhpTĔ˲^wn}ry$ںۉ7!9a\/3ES_?zjt^)޹niCܪFf,+e\6uI@(-XM& 7NIW$f|>/&tLd #1^G> + eRhz#5̿cFYT,mk&乊E֘8O(}7 NVPSt>{O&qʓfBQS6*5*e3Nd//D'X/x}OR֧g1ma !)v^1^{69AiNF65)ȄIwdu{? VS6w4O[qB$cë"tPTC}R;YL}SmvoaE sd'&s0'~|s@c"D~ +b&ȷ4YRK\"MI[Ò/: ++l ^W&͊x7[3"խu*tNnY:вKSʻxZ1kַ&'͆TVÜPRȘo1we*a<`OCq{R|a[hXW\[ ** 9s$쥮l uD8M5R[jthB.5`֦`n+. 1BӟңZ]6=z&i@L=NTHBl[](^#Cz&^@kSo:dd$ +)E5p}\3sּ&S{x7%\oJ&!X nK:Xr,rut=g+bpPwJ 4.^8VQ`?w8 ODܺL>PDLVߥ;@ +%FJBх|;0~¾p/kZolL!՜GDIz&8r>uÖFP+,Quc+b0AX@n5^Ni[/`YZ5*&<1o7iC6˪D lcrІR^'8x:rٕyaG̬*E89?09^K@!-:SAFBˋYWwX߉+;P+t W]3sQmdKGjfjxȻP6Ff +^g:#2jΈ =Wݫ;Iټ~Ko_~%xz4sLp@ oXoAΓ0)RZ$4kRk_d9[ܲ`woV? ِU|ی-Ǫ]+>o[#V qW܇y~i<= eUB_+E0Vu.6iR7H)qP#rOYHXR/b4q~{1˒F -.=(wpNbޙS}85fXw-pȋ[\9EqVszAĚy4^{Ÿ9`ݬIG1`f@k^nŊܲ3Pi +@^C(rVj/O>t"/ehh3b/-\' esB#t{ +wi}U{mb3[tҹ3qr|C6ACz#A@Q'5Z 79=[w Sma7n1)CdY~땫# gz[W>Pu1e#)3m)vH&tc;hتep"e.cQ<ң?JN)+yG!: R|!1uϸѬl ^F.M UR㮹w 4Z5S5r09kJ'ɑ+ hPnn@IbzmAZs, Z̰5cDV}b Bf3셙'+~X6y71~3IV_hܱ'o|`Ux㞶Yv-fZD/Cr6W4M.%ٹY_c] )8hXNZǨ}B(g/,%~@kZ`H]wnҸq%lf~F:,V@aRKznc*/ l|a.c1h(N.WSS#j z9"7rWWeL8#2띝%8%7S E GY;m +W̳a2Ц\ZoHd5SkLrsЈ'sVT)֙?kXԸY~LR1rj*Fq@Weٚ*(7֊6 B]" }FN+:Ħ1 +: [ك0;KG#NUoG%Žx=F` Ga4"ϏZWӲo@n8rﺋ7󜥭O%ʱ1Keي^g:3_߄ qNSԢU.͟<1S=UoD>s\3'*ZMB! z6)DUkE;ϊkES-xx2hIǰu45u]Br=LCINXRگqKZc\׫H2l u'Eu@Ω8TT.si3vו$dm6f=2@.~d_DZYQ05#z!T`H^њ\޼n#+57%ݕ-ک)+O AڠhMɾFQf[7ِ7ӾGm4Rw_؅A1YdR[:ldCͧOrqp$Bש'v&l/e"$"UhX.=ȱR1W^Br"\6XR1@[4Kb=U>}.oCeDy9?&ׂCaqͼw]7S_FD8oiFIỵ_9,%{<㢇fRa5 NSR~5p}~KYq<_a:k}KɚM-#B'oujmC6_U2Gs\և Um1(H=!m:5f.V{?[ ENYt)vdhT^_mhʚhޛo8Km)u]pM^Tώ=2~kV*GV:i)κBb5w pJ;,.-q_u?~EWywh8+HDV*Fwus|7w5Wθ1EqƫGQ yn iEM:Frj:ݘS8{ ~y ֽ:NƟB [l:ٚgc7h\4)-Dd[1Sy3.יsCU'2r)v(u뀀 ʉu/8+aR/6MS &luH$ĀGlc/j_E3jSb<&B*wBMڬ:): (]; m ^7& e[=M]a +WEE/pp_i^ܪ45U +yն_C)_%\LMzP²'Y3/ Ld℄b.d1 r$< +t7K=ϨI _IlJ+(& Rva*$Hǔ(ϡA254YD5]}ϫ8+6#aFƬ &ztQ>anG:wfNbY=?)dEs=Қ٭䭕r-+̲hb=LćDz3[YkvLi/\̙92=ynnn;UFi,VD+~,妫ﳱmVMQqawutRїՙ(+.Q̚3&T1!R4O.T +RʺQB {a_͔uxLU>St@PZk+zc.~&7 9^~ciVqj67#Dw.Z1!w7%T"+@Ju_)r}6[@S4CtSjW./5 +M-uy2]J>!GIKb'P!/AYRJ[Ďz.|;j%^Gxkavy}?"KYٝt +['BMmAcu7tG 2؆ASѤIa1b6+Gtm7zܐg2GeN˹ٟV ."tdiNQ6Ӻ%*~ϗUP\R-t/ĩ`6A2G<]rV=B2E@@{ڞ+) jo]>e㍌c[`BqD_Mv{ $V|`z,!c1#~9}Q;H[X^Y\wUMv{#b{-_&񯮦 bC[=vu,ԋâ/zjC`uGhkάy LK/ySy$mpص<(L#`*Q'vS,z%NfBvhl)wp^_@YSM"(%6 m2RLv?v#Mz!ëlLz]en _SM8n֫R~<)C-Ws_Z&:ߋ ?=q/.d "f^j-Z_MMZStU͞^U+$$6#{w6hĭX6Mɵ-Vm/E8.D 0 +0(#rX%aܥR@t$[Th]Hu,UDv9F%%4t(EWhN!I-9W䭯DUX]a k잳]:'yHq<#N,qI_@YՅeʎ˯+I+lV9~[XI>履{_f]$ }Ld_C"^Ć:5ZU{iog޹:0U.$#̡|1$rr慾Dl +mR"sXTR;3&H_8vk9e-8ޢOdi`(5ERYey,D GjV1}PuMd*u-UOק2=RA!)Q㊡JP'xe^в𱘥O Uќ U)!eib: +r} +U;JT=J+ls_˻t,+X!I\9^7zՙl2t{i7uru#j Y`wt}6{eaژ2YT0.$ƅ6Q"Uu$4U+hjP'*œCӁAwWMܬīR2i 0o ME0,UOѮj,} H1,@^W~>.JNi*ue_Y 5n삚 +~ +F5,ؠ,[
9w~=O:~f6O䤗Kz pڙQ2 +2Er&8Tq9X!82/*슥o 5@guݳ' /ca|D?M ^s_'m,H~5lH++t9gK~GxԴ-+:CE]?\a!FpgDl]6tovR<s= p. FT1JKr +h%$ + +ʙxk]}IM_8S;46.oLQTI6)lCI̻ݧLF^W攌7bsᚩaGRjo`~$6̧m[u!`-BNxhXolڇ ueSSEmyZ{=mXbGnU'U*b,(uNvQ̼jæ2[o4:aԭ8q˫'`wwT[5;ARV^4Kh?e5.XKZw{;7 ޻Ǜk獶r9$Uٔrt +hw=])H_a1h|3ѼRv%oW t@I(atvjsd[H1)U]Q,s]1 X^9uFlmPFa<f +kInƺjD${L)|Ua/o}?7 Ћvc<43Q=6pgZ@gmR$"pkAM!akT +#fu~#DU3Lyzb ǖ́≻hy}PEݗ0L~HУ,Y1ՇVөbQyl9Ma̩W]M&\YdU\sBk"O^TNџrLH1ʑꎸ\XȢ#> |ŊYtM9~zߍfc& 7'"P56Rbξ>+^,nja[}_X +#ov啸~78)n`3+T=|p^7nWy3n +t5q:JPkY)1}=&Aug^>2]:wmjۄB|?Յ<ַRvh^i{>ε,pMG[)kU(=:_}–)ESFAS %z*%rC)gH-*ZtqnkXN4UAܧrM͌'k;I~BU YU4iz@.(chWv9(ʛu&lk}^%`?$ninmf[p2ם~#0ܣFʹd鄃].CWﯺP\d$y;?}v<_t'M 'G7qU=F삔yBO?<|Tn kZ[orv\(+\hhC5xM<ƌ7᧏ [ͮ~B)ߚcUfX^p Qg+{ܗD +g=pn. Tւ2( OG67zzCy8|{Dn(l#(Qk-c>RH]YunF5A?)  <:KYs z)^Z*= +s减?|;j|k:j0u9US5˭93N=>ypPs9%uvO3-r^ 0 1Ao .Ă2oCMczC?MP00gi]:mB9ZJ,dkZoPt^ x#kUی#40n`h*{* z7ӗ.u`E]9&qa0;ZgXjϴz*feJ[wFzyJħvV+Ob:܈9yWr?>~%eMSr͑4`UG\0ܣ"Cv=ʜ7( @Ctw7}~C=?jSV 0"MF;z!6a3qE?⭴Dq\ӻE]wHxvxO7ND +~s( <ϓ{kR7B983'r|k+ɋd 7lȍ8lS>E5AG[z#"yz ep? +F(3\3؊|,Oos"!q69'g}BH0fhhDMaׂ2Ý aO| bn؈a{ױl/)y{EL I3Q #= 4jW#i-j o%}9χ~|טP ׍ +'`5CT&jX#Z7)n쇙JLȡq?:|# +Sŋ,Sj1eV}ҮN;&Rkwq?vCZva1/*T&-fK8FE{\*$Xz>= wy7&~S.twÓNW +zghXiX\\ʈYuwO78lQek^s& P݈WYV%zE4Lg}pćO?|ݷ.kַ L^siATRTg@kHjaAy3?ywT=4= C.RkcD(u6_~q[YǧzX[ar5qW L 7m$I̬k], 0d4~OEi {\Uy^v) >"#<9>|~ORo-<S}F}Y!8IdoIâ5vф0xGE/?;:Cq:YYZ9P:%7q[oٙ۰JUtDdۍ +ϋ{xO! K]s攆>@ARcoPM oTuw_ySZGɌL
یg:h]נUp _AWQj!?1blF{1ϭ!&Hޝi-d}?7)|I\{:+Sk"7s_h.u3x#'{[)j ܦR}yk/[]q: &3;O +9>2n]d\ Ȃm6Sa?_q~ݫZ8s#Gk€Ab#VIa\=a؍n|FB0bUV 枲Нj"މ Mc}6r:NÀD"/r.=~E5aoN!/1vk{Oe&\,μzL +{Aġj`xtgk!rm뗟<[vb^ AEH# +Vi/_XW iQ(&x_xe* c۶F a\ZG8c ؽϙ'-N;\$,8 z0j9_tw8"iXy"F󽎤YkrHB0#$H*s呰Op7?t <<F'J!p)-+w50F6*jaj=yx?~]__Blw`VJbWaD/%x-OjGCŎXw! nXо;H&l!!> `Z|kAAR@uR/"G`)S[/)9Y>ꟽxovMӞ>hWVW8g4:iG_w弜M8>RWѓN|YIKQٙ2Kv̝^1tw5MJie;mB&;xPjGH|7Nn?/WC[:Iwfg@>i5R̽睓wZOp!mv۹y bzYnjV@իƼ)>حqdWO^; y<Θu +mtu[CH^1Լ= /W_~w;ơY叧?~Euc*,<X˯Dtߣ^;֒V+ +Tx 2˻*9:MPrT9o1gI$`Ost;4\E2j OieaܓE]|Z ೗|CŬ#KEmSs[8iwGfPfm@PMct_^q{* UVJ0M}zIᾑG谏RQ֐=IVW%R}SkOo^Nc$m{5"訹2vF}`~ԉha?ϧv]VѰ=h+P_:ƽvRE:Y/s_܍?| $6_vNƟg[-AwIʶ "B}KXFM_Rݻ_b=l@ 6M bџiQrT#!$Z[~ۇ߼;]NgW`mlks*/ҎXڿcieO޼6c,咚\4FD4Zv=jw?kثh(') wXH2ʼ0i#s.o̼l:}>lvn^5m\%#,m7)1!?)Na߭ꑘ.ٚm Nfޙ ]b=n_ywK%k=w%yiۜ{NyIZ8,J1 +E9>"K,$L~͗v,-`4yS,Ӳ1zwwxq&"07^= 6hvږ39ԗ\%'ިT34EbpЪ< lu<&.DJNn4FWʢNo?λ)o Vjz-}IU⚪ֳWaL1a:GkKٰkLCiN} B +6qۜӟNBC&򾖀~߇;3u "l's<32\0=F7/%~g/j^K(T@8mV=;_;U-ȚLTOnLJsċݫ?=bŲo&է ~a` rS\1 p`-4~&g-kd}gjkWmX foyj}[ 2-iLqN(t@&NN6t,hD~BGMfS\N:\ [1L^vLvB `QC8vݿ|ux%#%i?{&ZbCQ4Գ 5xի7{' d:敾jJJ_3Fuw4]wc>h3?&N9OE3rRlI +t\___Ԓ'E($m/L--_}iy|yմ~鳅bjЇw5#x؁ Z]U ̎Y>}sW^$BXYK}d޲m(u:KV$l):`97)/ݫYXBo*#J'"ٜ509?} i|sxQ_a@ YOrbs6Y4_.`/Gw~?|WCD݌:j#VAAg&nSYcaS$}Ž[ۏ%O$7 , XuvQק|fqj?-N$|1 m I!\@sգ 7ayw?_ Iiu+oqᗿ~\/?ۿɨ1\{lxA a7­yԱݯǩ/wR]4WQ[AYV]3Eii,~ J^|/oC\k[O.ZM]3:CYeAfܫ§LJc/2Q[Y%!Mza Nroj2\C%)~ju1L̿dX ,~6ȪFng)wyZt`r# A _$`r)U8UG7x\g/^; +͊XOia!daQxMhʋ"AޟOo8}*Z^^d|y#ǗL4aƧW0qtxwqxNoK|5~'X lTOr +,r!cĘauCa5a=nw_ë*4y/ەŶ!$oʈzK +/w'~>܇7dg.27e_ 0TcqwZ())˗׻WwClK(D7L8I,l쌎Px#2q>~+;4MS+, =\H  aDW +zb6-_|o?}nH,W~D-~/5e7.L%BJ|30VN\fHc4fR,=+XjVcPzX^l,w(A&Y+V!b\'/^~zx]¼C\Χ`gY3gtIN`*\_(GXD,eK +Wӿ|qȧToTyB@K6JHUX 9K/p oS܇ Pax߰J(ײ_ů/ϟyzAmٓzDak;rIy$~[T7 KFE,28Cws>qǑ|B$W poqw^&%^>^6D_"3V~7 Nߝ!zS!AB2A`3f2Nз&WE{_ +a8d83y_F3 f\Eo.՞j|;r3>kJ/0ƻL}FJ>nM!npI 9+ 很il'LoJ1.q.d֨7C[ٿAW7kn0þ~?#2Ɖ3!rT%_(ǐ/ f$ʼn$jFF5qذ&̯j(^1NDz04>p#TՆɎYLVb|@G9u- +"M@w8_K~[x/ޣPa nsLئ52~8v}xSyy8#ZEB0Af,zhAO[r.(eɑf99P~oզ7s^3%.ۻ4u-N.nzq-y!EyKqDЦIniOmϙFHjL;Q\|" |Q)F tP\0/A!boͅl2#)$9gmF:$)@c )C}LwK&.LQXjBKW-ԓn m/?#vRyP"=%*K.AST0M>dhO5U$E,Z NGD27?Nx*p^hdEc]PvхݜO"]2:`F/D,1_~ծ?_ %h슰g8 +^,*?>y- EX&sbN!(v/Ȭa$j"AQ(I%3,D.T&هa.(Q$αW6`N DOn$EPD ѐN&U>7 \= Zh+T^laB6xI&I$O@\0P$pq|#Vִ<f#|<:Pg ews ̰QP-R TYl٧~0c5l`dp>Un ep@u9քY GjMF? -~~濗6f|ʌ4X߮0^7E"`fNfrΆM݇9s^iy{:CMi +ئS8a04F#p `v@s6ZFx>gdHk3cʋ +Qz)Iv]NܷZ:.2 +&X\2 ;O 9 jS a%r 5QܡUs@%OVƠEU +|\-]v6H{ a;!0޾~+Y-p]u0k +%'`1_*FyOmjPT^_+AиT6b֔yfZFj7TE1 3g!P\\s@ٰ;P܈PK~%1\aӋ3YțpF19:`S` (RÖP %14LD^O $.PFڄn,j|.OL̃TRӃj|Plblۧ+\7*_oz>< (.gFay݅Q$^cUN-E(` gޕ*]Z *ӖI<BOyս/?j?//VO}7 9! +hgX]!H|[]_0d6j\fd9eb,5^Ed㽵W'77^&N>Y592(ivb`p2T'AXʡ! !F}$1 |q.brY_:z ^'r\ݧ\9$mILb{INIsqWKY0U¦#EldJJJxzY,9FPŌ6 f,HāEScr-+8/>­݇^q if ox[5^W+g? 4|᳓=F!D־t¸P&(Z}9[m6(@za5~ MȤjE4>>C} +- oxeS_fUAT;iIzl?lӄ+;@KE{a48U׶Rx)xFigC{ف*F +z([7DusṮfXHvzO> 3:CvHtJsyb+Ltd@Ϸzڣ ԋTc n56wa~t^}#u'*Fo3} +fP`8F *^dWgo5[$ɚͲA%GE5CuβE?FK{Nmv.b5wCAlF~x{?FhXԺ]Zn[n-cD:GZo,,l\׾VW{]9ϵq?.nn8@}" U$vgUo{l7X|Z-.+%qʰ<ɼRUEn|"Ư^ kx5ܳm6C5ӝ\ lB7H^TP8Q)hǴ-yvųk{a]C6FVH;]m2>Bt3*=N|R_3F9]}BF!"j 6?(\LPbsY ZP#谈G$^pӥ[7l')ddr3|j +Gd`Pi=<5Ef㵲-3,jʃ 6bX+7Vt]dޟfH2@5n&v,+X_v"kE^ K,MCZBڻ_BP}Y + tqOKdy ul͸r*X@ꭢ*,JP C=PX@uS{K[ ٴ6@?#6R$nA@yS`Ei૞93/2cgQLK,(hje }΃&&uX(<)PWHԘ"Alf,`kqQuqDgCv; r.i-$Z̫6g ,ef -D27[#FFG˦++ adk\%! iM-?^)e:4rT#ldmhr?(RL6ʪL9w ǽGC5F ;(0{9g!s.$ijcʰpW|/I2v;U%QjÁk xSiyr 7MCgDJ3:>c o H/+o:/e>c9nœˣk)IRD060m$KIzhD~mJ8RS>&vmMkKԊչv1%:L)hN2Ρޕ(~U5vczk:9fFgbIi%xf]MhR>_U{زϸIe1̓GU(5: ن $Sh|o[%طyg0͊UK/m)AaP/=Yv1 ' C:R MT3M1|#@i9%{K3bmi&b%V,5tpY9 GxWI)K$` 5F)dk[bӻF(\C!U*'B&Y°{`Q\&B(묗WZ \Xpwey4tS~+,T/vrvȹG*cYc S{-qS`)U6$ J +MYItIl4MଐǺDQzodf|۲[øj\dZʍsHNR& v.|.٩sn8>!qv(78 eJ냚KhmE (fPʏ{Cm71T =yV%4-& +<Ƅya6yb".,Ò3ɴgayk)CIі3r d֠r9 *ngbz$x'9#mx2fԏ. TLz4]z pL&ժYh,^MR+96)BdryfAl6A֋ɪ.T <]ޛͺ}sԆp4  z}XK)Fr~:<ؼ6k*u&lNy#1c2Up.ToH0AeAC(0#!YDR硜mTմcz.'DhF̏0lVFmD>AR\aq Pbd hb,6Vp(!01J뽜\hٺDX@5}AZ./ `8lt7P,L&;8/z'L.swV7(MEsHD!n~J8̛@f99Ʊ쇰SΏN>w8niַ3_ͧw 'vQS#|`FhΝa#r~@逶_N)|hlSӖXS0ixC Ǽ~]39t˶uHcgE| +F")awL1L#JZj}.9o_D3ENB/ZQؤY~eߧan5Ⱦ5@Kc*V|4)KfvR`,em(Tp>,21ͨ+ axD<A:(-=mmgʸVA82٬ %d ^EU""q%opq&qV)|W]i @2<9s;ŝ"6ɾ-B TE%ҡ/FG)STvJ[Z #A (X87HPN}jT4aa $e7eǙth'Š˽4d&`\syZe!ɁvRB#&W޴z?1K\̤7\ bi @pT$6N5SʙH3)w)p ޥl$KS˧;~;,@hE.!9Ix )Ʒ\Y>SQ`f(JW`}XZxT{ J(3š<ț?Nt3AMjOFx-5Â{zi+H8]84 r`DJ\f+-ɨId;;Q񘋖dбby>n8s,^Sѐ x*&D\\mf/I XAhSqS:2 kRthdCef?Y4zWw=fK")VhQ; +v#qpY @"5 8Z@dJsD61mxr.p; +@ݡ Bb9Dz "%a\EHȂKCb2iV+kxq_J~AYzheP: ֘s6M]Χ2|i%^pD0$ؙK*I f ,#T fNh)tT[[rFl +$Y`̗"37`5(X NvIȖ;X|i+2[u !Sle|mDJ@|) dMjnbB3L&ĸ4j,Jv^CiSQ2gpe `Η]pOwn)}6!PkH^R^LV]OH͐y/2M &\S x0Pq{A6|l%Zx2W%Y%J{ +rFvi9z֤ {&# nx ev1g]4G[!0ٗtvILru{]@1=47ZUY2莁vnrRoʦli^d5O1cyT2,j)s쉢&s'v&wdAGV䇽^n|ѾR=OI7؀2 +ڋ.E,6Td:wǤܗZfz`C|EEB֫ \8#JҙْL.fP="j,eI/PۀEgGPF_pHxĥX;M#-S:%H W16Bi K6i'u-b ~y9N$AroV +˜3M΢h8{]i?,?M] ̯cs>PUZh͈udK묹!; ٵc'6yу(C:YS-yFl[" \؍B ̓P34r.ftJm!$El/-\Fy2(bwq~ɲ:_ioy$^"&lRm9j 0e7y*5@61Va @A($y#7~]f [:NBܚyr;19s;&% QhXpaħ ևpt_ +.Taf%.J qG*ذVO9f&Gf.|'^- >ˁU"27Y.2啵f0wV +=zQ"To %m)Vp5$qn @ZaHfk')Q8L^ߡ4"4NtXk!@:-6;).{xsIi];NUd{`SHGp߾w+0kAN˦,#gnM"^PI$$_L4 //z$ñ~}/`h ,#A(wA[Qhn3 `[]GإFE<np9aJ \_/+JYr#Z A*7)i46#uobƙ,?^W00`kiG([%n%{&A_rgwvR\c+B!eeb".r  ۜ [k =z@LT*%wE^Hh#&ing%}hZpy `7`9pG{*WO'\~p<Sc;Ih<,6`:F.I)hfkM08@䐮;/PTM|Y /GZ5v$UTј\e.mdd20Xz HvTzMXGo(U.,SGz1*{r,.X"mY_/(ߪ|j@<$H;9dR`(&ϮG"yZ=GPyxrƬrv6ǰUZaui۲WbR.m%TJww+Tr)PJIۅes+ZxT®Z1Z/}g7܄RfyNm.TV;o6굜HT2@ ⰏGʠjh:E/ykP!ܔ(6!m!pwY1u޵Zwؼx$I-Rp U֝Fy.F]hTq H `+uͥaV×Fv&xK$6B~ucɶ`F Faڍ # +_Z2#2󅛉=3?]rnL[+k |ͺO{36]Mnzd&{(}\6~e +l6AmO:m&\;osvD7D%&t0ߩ&- @nL=Fŧ\wI?=$dk +߂x1Aaz9t'p}e!WF-I!uHF.(l^p64*.z~WrMP>L.يZbtDT.m96Mʀl#feY~o59#J+!Qj^$[V +g$J6ۓ?MwNu|YfdhO+Q[3gPݏL\Q7AdSLDZY/lEmN:,[ /]4ԦŦEq_F3B$5UxNFc0V9uU*a3MЭo܁ۣL|2]6S2aRiEߎ:>wJ7ʳ&$׸vJ.fmV)O|yS`=a<7S*:vIؼE j^UkX>h{Vmq6WʿM&l&e".]&~ʥF푓8U™biW,5/M)Y[ j"6Pp]JrNTKC+)+v_ jՍ2giU㪼wrrrѹqM^wu?fIsq&l/< =Tߋ+=nù)-VSZB<|f\paZ@zA*m]@S۞m[k[Tu,s}y?[a~{6֛C[YUy%F !yõ4@:TBϮ=oj^[>ȥ<ڄ:-JDpuy%([Ac${tXuJbq~߳nоD%7)MZssX7"᳼IQsRKU62}>jmlvįN\ekJ$y.AA7cRnctZ4Jpɻ/eYmS3:q/0I6O?,l.;X-$5dor'FY_nWk l_ƛtU9/X8ef[ڥ^iۼc {Y/~ϷEe A?gn?Qs5&OEik+mpQ~EtLvsX6V +@zwƋ0F5wq +rj7%w >h3Pj+CSŘq$6+Q?kcKbTgeڴS*.t.++C)E*Nq4&6f$l;("bG%˟{֟Lټow}ܜxb_]S4/eݔuZ:Hf t=$goV+~q?ݥgc#LӟREblޒEInWx6 WmfRM`J ¦Hw܏gn7,bJ?B$Y7@!Ֆ8u}=7uP6-(/Hیy1Nגxi3)$UH홯ٝ_T3/ֆO]_*'B攰q0$/͓u/ o>޾!GBV/ažy6O_=K7G,oJa` #1W8Jn7Uh[ x3sf_i-DJiծBC3훸#46AS+-'Ky-n+!޻NOΡŋ\yK\Z\n!V;-T 􇠡^6]a6ϱFI)mSFǙgá۵~4_a~5yl{.!5xJ'@fuF -_{Ҽa?ϋV>z-5ERL:BA!2T~VcMݢDiZG  NmC}%#J1[^cyݳ!\V)17>8F&rm2Z."@o&QLkH7?Q`bS .NP>@SGNDaP@2Fcvd 972W6B"J{}un*:4Pӈ|)-k{d~n8 ]I=M7҈؍gm.FPoK {:>eAYZ ݳ%j'pJmF/w[𐥙5 6C~9ȾQIۂvg;J43''%~OMk3JVu@WٜBAf)J7Y]$7^ TS5R/.S*V 5^SW_*-E{n + i( ֦"}b᪘Fǥ{BVQ9 y92/܆"䒳zZ f\4+}psi[a3J Lw@"p{_tǫ~>UrS1sH6ìeuTG1R_fj(i mAv#ǫy=~trCA^|c磧{'03Ua+JGYx~T*eIbub̀-v34`1DZWſ EK1K|8ɩָ$Kׅ#& +uRi6&b4ZJp7F{oh" H?B݁h&z|~%4=Ѕ #}J]3֣8@jۘx=vX gdsNvOC>P1r"xױ +^8pE-c|iEo1jTT%*Z` ̜۬ݿ:Δp} g:MGWq{Q{x%4ʰMѿ`)Ҍkj1ǶQ)~rO^\6PxDh,9tlMNMv4cmR:C-3#/5Yȡ1K4_ sH&_VI<'$TS2e,$< ʭ#dorشbRe) mS1nɪ;ї&L~qERm{n_Ne)Eb:w˦mی<'m<-Z77asS2p%5gz/3٭jS\)]G-굙^5Pr]>L7?:IIHnFǪOjaJۼ_R/ƍ5RFx eS%~=)]!_bzF!ڔ\q~Fy?[iI{ެc.HS[;×׶6E(FBd|vB!xٕO3TU`ycuBΝ<ߙF!QX6< `9U]-Hv)d_Z~Cf֣RK6iP._,:qud"ޭ≦)XXTEqX܏I,`H +=y\߲퀽kVY_g셢ɸNM9L8㯐sEf=hE݅͞ߛbZ۹Nn{?J54Hv/mzT̿_H"s`~\ e ,dRZiB#ARyyT̖/m7w/bV) c*E63p_$ +(*ʑ"CGo9 5wKmFq9{`1H sðnGAe ޴l}gQI .Eyr~Z{Sk2CR4$__Må$uhpL~\Sk6>}@:~VO:t8j +k/sBij93xr gԷhoYaa,4]&w>&Wjt+OsU?b"pyJw5*&M(mo/AR4Φɬ*.N.f*$^:J|T}+pc;m-]\[Bߘ70s"$>9yM=цZ=w mm]ncv* 5begS6on {W.No 5UF6yE5P 8o=am0:놰9@9B(lo:ˇf?̗'o߰!^NOd3 +aSix5D=W@'5do2Ae @,7NH͛qm4 Rq@3GA O΍ ޺`- D"h͑n*'%+pG7\xQ܁CK GRa/nFNRņ]xaj aN4MUqnHkHE$wZ2%EM.ٜFK4AC摜v׻Y }ZN7"pO)ޅoҕ>u+jNjZ\S4eE ]SVf!'USW+G%qrWCܜu)Uŏf] mn=O5cNN, .&ɚeBYKDJn`i"s0Ny0Gր*M ,4Dk;pQ /QE& f^y?jŬʒWCӻfpCB{K*|k穱ma%- d@Mv&j^[6et6Hs=NLg.tlb#љr$X"FiWgk>D,OݫJ ) O?W^njM6W~x\D@QwAG>]/f7æ>OHNF$qzI6D͕{+5@+]vN|/I߰ ves5ʕNjyr?/Ț+n݊걗]|RG؀?1m&W2vr-4as壶M ~#$c|YfbɍZP6Mwuzz\ܪt #n ot?&„,AbW㉽YW#{}m3Mi6,Ub3)Hpc%o*~M0^l ަcHIG;j#M-'-0瀱wk<ܴBBp=^U ;,bs!Zl+dƚ7B[ sPf [.z|]1fyxs-.EN`]z-oX;-~%/eyC:0ЮkbZ<)wCZK=HwI( r;17}bol\obFWJ -)+ɭyw]%L[R`)nL3LV/JqEYFaCgAd$mpHݐbRb*js] SD<ᾋI*՚:WG̍J3T|dpsGXVuC+U +^kqؕm|vz3pa0n)4^%YĎôpbC"RW,yD`<'k͹M2R&@|_l 犵p3ktJk2Ȁا{j7zf^Yb#uX&K, bxD3CPYtb1JOɠͫ=pQˢ0So7"EP=ܒYM79Gw+yjқz L3>x8j3ODz'7PJhW>ZaY!_ ]7XDbdn-(FkQzע3H#^ ],k{Ve[yxsU.gaj.-k?e5pђָٺ#Kb <ogm +@d}Tgbǯ5ɒGzzXqohl($=LLӠ51¯tĬ+jL6!]WEe~CwS[cD +6l^-;l}?])z0!r #GqU͞5J:RƟ6Pq 6r T|{Yj&0¦nkZ@WxP%l4Cכ2liPoKn7BřoDܵb3= O*ؑ}@io㗏h!ukIu9<үfkˋ SlAMHUxD0~on;wq; I ܭ}ԋ6#GRnPmMX/+}}Xq>vǙmDn&܈Ғ>59 0NZFA3= +d#oi+[:.._.Fvg&BՒ=5Db،mJNG} + ^XSJU@[_e, b*RW#G~5HNΠ1O&Loo}V Q-Ht{l*FybpHY1ԀjcӍ$kcX]>$TzcIn;nTQ}Vh +RmTjorUNv7STrwʗ DXR$Rb~7KCɋ>nfd<,HҵLxxCw 0*j16NbKv587oF~Hk6w!k27h0lQa6r؛(M<05mvC#WD~Da?ǔ^BwGPn(jzSZ#nXL"wҹPz ƥ5>Mn88ڔ\, naQ@xPQAMN|d:W 5V!ŘdnNeVINof`XCIoV"iMx q6(p)J+ #+-3j=WNz0II&G@.uuM7gB<#23]]Y 6w73UT<"@ueА,p77S}o`%*̞ [ͱ9b ی!47R_; |h)3{go5Tg户*F(5cc)܋c-] H(҈\ ZTvF-ՈqedpH|#Xsk_/6ԍ0?$v}WLO\6nl["; :SuTj01n&t5\+q%w߬S~XV7 Wmdb$:m55^LP% DN>ONsM i% +F Oo2IK2-3qa"f6PClA ^̮+r'vngIH3oy@pH?K(1ѫyM.6-hl֢ENl{(gЏi\BF:D0 ?{Ӓ\C{A[;M=6l0xɻuìeDzXU_= 7vm!7AMAh}jPgrz +nC*׌3i %1Wv8mfν0{o-<7Tݐq)@Ý5Z$MUiԭUB{ׇUk4<*̢h{Bt6nZ1~JSUH( mm::Z/gdAJiLUd ^[ kx+DUQ۪6672%SOa,ӽPc'E4:RR"I y`+9EAvE-J$] s{C Tee L}]VH4o!#!%s%Y\!P+KOI67>*۠ɲDK6l=7'ɠlZH/?J?|"k/<$Z"%١N#{iԃ1'j(5Am*7G򴃢 Y)o* +`~%@ E)p!ˍY>,c0<;Yqj|]#R3ϓß?@w) +v TxV%_=2B! - Hup\8[ɴAמKx.\rVVf[^jZ_@7^J82Rt ^,0,)&!jJoazm\bqUsᓠVIЯĠg)'l.#r7NL;f.e2#-7bQq^ǪV~e3&!Wl%qEx \$lTCzE9+Ae3&7]`IG?4n)U#kVsWf];Y񳒬N14^ԋW K^o 5OyP {n(kE̅Oֽ6odLz-me=yG7\2G&E>UCPzAn%VRN*>M<kmP*GoYcJ;? +k2񛚰윰!uPЩEEpMR G,땷%(oCe|?V t KiBZZ +?S!v! /8оctqx1΅f9ޅմDQE FA#Vw'V) 5h^D;u3/yQgIxH $VHɕ!C]t]F7R= `"jm'9FB0-* Mk?btF,~yvNǩae~ j$#qۉJT/޻ #Muƥ%7keśVFݍSSW{p8X᪋~M2h)iXeX(2-&U,ED݁a4p\/U5e; hDњR1qz;2m:tt +mj~OzENz U6b&pIzLLVP nҸnB|jZ]b]mEq,wB0ڹ102[9yhE!Ws[άe"lf ފC~aϬsc35 ;l_<0-$YCpG30ې6THaYVIP$K~̳\Z0̋Sj}j3e ,C(P'$0T}j~ +X"?7[;N!,6<aqIiZ;Gxh|cӄQ?B(cA[mrh־H`1 +Ɗ^AqD L,>Y+-9M^yh +}!ranZwt='vK%r<ȼ99/he@v: fxxbh]gx + X_jrWz3 g3*g?v2a)gzn' #I?5VߢBQ2Y?k#gwN2$x]+t^~r)kmA%sS^}Qos˓`=ȒVKɞf"IaaP\WHJ%|ʿa҅U>Lb!4 " ~ˍ\u([yI!k$ pGC%?7l\/UQ1^d.~xEh +ermJ&5 uQiZ:.KZxG#ͺ!pȒF\yY*,x4.;Tp W㠹Q< kaF%: 0h\Bg6Œ hd_A&hM+tb~; +Uo:`df,UT.ٛd({J}YiZBN`V㜛P +o\jTWE`PGˈ1%Uk^:%]쭀 Dwj`Kګb,{Lr@}hl#J-6NQRVVpZ`*& 1噢Öp{[h',`QuV9+:"qjF… GőW +AyhhT j)|t}^L VĠǁ=WWٮA` "֫dd`[IBpSs(zFrWotm- ~t;H9()&W->R-;LݠGynۑ!6s&?ڸS(/x@Ci[[g]X~꺴6Ox/Cy8%p jv9\7hZ驪hCʹ<#7`CH):U@C' %]XУP8O#S zs +c뗊0wR _} X8jNm1`0K((=!?<mK +0 "Ax~d ' +$y7#&)4/adT@77,I*ҞFap!bYt *`V.٘]jYP@ LB3Ss8ޔ%GH]ù ^]4VTfcp14~3OڤcAwMyC[xƛ1Nf_|N{:O[몲<>T8z0ْNT8tTX-Ia`I4WW2ocѫ硫h@Uj*l-YYIOi60dGRm FT@6r\&=& +S +(gw$_W$Ո߄i2jGj T- ]_Sx9g*g@6H\u6;E˃-ء~]'P9r-R#@(K}>myU/kXdէb6@aP@J6}o\&rOv6T?' n-sa0Qfū68-Մf / t#^Wq$_UbTS'ƳLPR"$5&bʛ֢58$&NijJ x9dfMǀ\ӞY +-1p[=˫UjcEq6'0R'tzʎ舮Y~iDb*r5+͙6@'|9 aw97$$jơ+ +&9i/l;@NOE ş*2p3ǵ}`P~B&*S֐ںCΤ ֩ FKķhZ~سdj@-^C@4wQuR-J4bWb}B&=R{C)l M-c5H 6 ˊ2iv>eK5m +.vdvkMS=`L'Ns!k#g0d&,o;y'1㴀[lk=YZ5zվ)eܪOeAY1=q!!5'j[tTb4vFh>>j~HClT7 b]\݄)dž* (OԇRs:^f _:e0#QН: ;H^8sj :\|2NˡMSS"u)-K*7U+r۩ar>sX0QQ98!($z$/LMω|}r]8|dx@nJ^ǟ*c.;o0|2RUjeKVOMy"/M@șFk{u|d'up%ah#婖{^RQ*>ğ OJ^ԏ1+L$%qG&дUxy"yVá1)O%nTѵL xXR|S]Rr**5UW.Ug 32 É)Ryirp,uMRgyF;1.3k΃ 06KQZVs#Id&ţdAU ٫J$({"Egey];u[ugrΒ,{eƱ3ǨAHEˀMf!R!M 9eMM;2ePx M%ALJmC)XTFs_͌7)%˕A#h:ZJp?m9ΨĨhR A68RlDU}.aWVI6uaY-.!RGt9Si-߁paZFo;dD0Kpvc) +)hc<24ߐ6(7k;wv4yV?0AZ#9FRϵcmiv6%(pE:!b#!(2pa`WJ[?aZ("-9L-`ORWr)FMTTwܢ[K; <~#Lߥ$إv%]z:P'*RgR@uPZ08˥˿Ns[l\=j,P=6UbMDOWGhN+>an7[HUJI!(33/aX-cXk"W1*cZUND: ?yfZ k4H8uپArTט:%&oڛ~sY8qa)3FUP_uәmT,%d *Hg=D>J*֦nAeǠܖuf1ő,{Dqo9+UVAxQ݊yNisrCBW{rg>z@ 嘗+vI(ۛ:>o35L2 ܈fQc@= .:>Kƙژ +>ZXT_H +⌝S@%Ay6z!9mLB!}뀡`h)&"jS?i6dKkDZUWߏrh?i6zvx J9_U(p`Y\Мש"%ә1I̸τBIiy RZk]sYz'5cAB 3haG+8Ş993QVAQ3> +}]QY*+KHiF^<7%37*ϹF7yBT)5:;P"ck՛=:v(tH8Iw0I5>B9,8q I R:ʊIrָniKIP*uu;B'8IRWC5o9'9純di$YT[@ʥT_OR/T*R"Qbq|JǢ\<Ԙ6i7L"dlIJOtaaC4ѾjlCo]xv3CncNBe;_Ytt'RCJLGG G)ċ1R#] +ۑ~ Lb@œ]q? zq8 *KԳ-k9^CTMJb4)RZgb[*X~u˿bR-"ӥ$ro֭ֆX4B +AsLTN>FsXcbR2OBP t>J5褣͒_Ž$G_aK1U8ZroRp ᔍd,IAfiH-~^LrW0R٣q\Gظn +vc y=m$+ڴ뺋$nh1XxC@Fe?E5.Q >إ4,Ri}u9U(Io,wS~^:rS!~p;Bo%™H:[䮜*j| W1 hK+X:hyN=gX̉3h0"} <'J?]J]qo)P5liXIX,*.xW{PԜz"NFFi8{ i dz!PC kvu: n/4n.]"c =ڠH%af)0pM}j",;rXBY(zԋhxM?Z3wCl:+Y6k@Iv_2֏S&ApT5?3Ɛ"^p5@ƾ1mI46@aN119&=-/idN$PgzcR2y5 Ոw䤆aX#pRpZ!Vp Wmy!]my>dV/RzDUSڻ9 cz=~_QY``V2L,`ilq +QPcπ45+)aa`._QL^${%4L#Z88˄VDgv/߾O/ WEU Rl&Blª\ϻ:Q\Db)^Fb@-ޅ3'Jjتc,aZQ9?HFPP$Ҡᛱ&M,ŮypLJ_1+׏Niy)x__Fs|yU|jZ|OBAνv|\Ll% _J~#lP(}99qSl5< w#') Y%2$6u 7v(qM??ϔ)gzYOG YbMo^_FTuqqǛ$H*BeSkyJU`{>D YG7a~xw>={̋Y<ӓDVq:]P>6cthPT}Mjx>=˻/}JiRQ#Vy<:4i(Dزa'Ԭwcy͛Fv6-矶>M;?N~m_$[3hw]ue@hTϏ{x{{wÏTtâҀlLڱ&.,XGJSI\?~xxwyvɾ^6D٘Wg+nDoi %~ط*m5P0S¦?/xϲR{L hR۪uιJJ@f_L9&ɠ$ ̰H̨j] E HbЇDgV3**a#;=;Z]bmY(e#m@b +E!1o~>ыP,r] +$Hl^NFkn:ɡuM^C9AwC8z7!\h{9_7ȷ憎(TQt%Y,?4i6mdX'j%ڀZP۞qϏ}b?װ'ʥCdmRmpBGS<`Jx\e>='~)4BQ's+>EFg ^gC\Tsλ)c3J 2pi/dHű {kp%ԋ,4Ɨ>S)0]YޝzZ夝O +OQe2$ 9AFvy{tml LNwoc!ѡZu\{^|e~;xL<% Sid]aA=c0DS?cD>L[);(D3,=x jnX:ف]d[NŗY0H1墑,+4O/B9 +aEds1/"w _aټɥ-DTH̼YXi˧Ӈ|6O N_`W7 5常כϲpw^N響/?^Aeg Ch߷H=˾82H_(i"1K:Q-BҚp̙^ȞY>|'%vWl]B.8<,!ړ(4w$,^ :'ոD*TtT;-Aq4Fr֢̠O e(fOY2 1-P^R]q]{¼[% #q^>C\ٗ^gKfP28 Rw}'/o8G˧"kѳ| iX):^N̟čE77wbׇjX}9+ z4HG+KU+0}wW_}y7ehMa+eF_{h\9 +`N)x~z(t_{ +L8%LM5.2ϞH)wy:=˱(5rvlL +Kkd#ϥ$zz<7 (gŢiuΐmkrq8}dzr?Ь"Ye1ňKy &8cML_ǛAeimap> cwx㍁2T-:Jpe˽;.n{.nZzR>xbh-_dspkQ"]hE57E}ipEdSw\$mF^͟Վ6r*ePT˙A<Χ$U~8|BJߌks0M]FC?@/˽@Wt< +$M++ćJ.9 b<-8fZGO$̓L5vLp\PC)2wӿ c޿4ќl~ ϹH4$'tlhu:&K}RC)W2#rÄ04&48 Eׄ&`!î+4/ixߡӬE$Ð5J*"$3+gԈyؽzśp87.^;>LC$??>tlyBl%^1fi.a,nh # ([1y}zX|44p: YR?f#$V,e[q0D47q\xȿ]N;9Sa 9[_˼yHj6)dol=\·psW;g$(ԪHHq'HMmX#*+~[w?ȗj<ιv Op43^ߊm@֕g^ZX˿.8nƛkY_o}5y5C ;F0=I)xbyzooGwCL/Պ8 +jL([O6CzGT&>n쨜MN-'H]pt|(FB;?FcRL}6 }|L09$q<.Dp8(:LX1b&\63a#u>))~ž ad4$b'fCêx _ztl r՘1IN) ۷RJ(@ +KT_i9i}H8\0JC~/DžYq#],6C58.?}w?\!uC=/^2Q52䪸9L6e|Z9=7sۿosVu-Yަn|w?y^Eb/AU9տ<ɒG +t\t|Uq]-?c!ǘ9HBSgCEPItbaHA If{_=/M׳TUxHM'Msz\pSIjT5hq.|p|sp '|NɌ !wZbD-Q 6< #5G_U]Ғ:skTHL XMXC`.(hF +I>}}N~ҪAN  m>=ș笒~\W?y5&/WD咡찌0pbICjm y{|\Β .v7WDA2J\ФxbT/_^}&ؔwY|HW?bΌq9d@,=tf dRɆ+@~?d9W$2QJTO(h迪DL_ 86/:,h{X᰻_\\d{FllEzy,鿪|twt_޼MH${Mz*WW"8I/@[8dz|͗$/8X;|W(~#Yc@7NZ|cYv\w뗇/K^d&(V5J+' }UGIOwwH6՚A<{Ft.3x`o^0az,nYʺoA{g0H{moY|5~_AB]b2۽K9< @gA C?P*`=<ǻy>_Qy|:iJf1˕]i0WnoƟT˯SͿq8/@$tބW$ܸTA18F}qс sD%D~P5[ّ怈GusqJWFB}-ۨ#OG& Fk:(2w]I/)Iku_ o7_Ve ~xM<_evyVGo%>M'*-ÀV8h{M5! I*Bj4D</p{SW@8Eѝγ[CgEu=@d%%8G7w y1IO8)Q ezX}.!dÞi7}3PÌ؊O׈q|xݻw߿BN#y$3vVgE i#Qp0śïWy53'&}s-!7E;6,keA>/h1\ˊM+kc˩ -`$Wp؈̍Uroם)Ϡ3RU/zۯަPIVuv"mr)_ 6817I"+8\c+h琥dV.?zPGxނݸM}[4ھ1/z!\lUt>{wJ5v=&РACp~D'}')N*-ի7WϢ*~so='G죝vo9T~ejad,*dI{B+#@lW=]VYT5gY Om^)r+XGjs/ߦ72D+4ƶҕ^ӭd]VͿQ {]A1ݞ7oÍZ{N'H (V3!b36=KTw0^wo_kL}3TC(egNUd@mDHJxUox}ͰLC]d !o|)ɈG ,ߟoo7)Pe?h]-ľ?u-?2QLӜonx}sde +~Go>| + +FQJp?ધ_5@Y|MڮZݜ=]ʱ%G<1\7_] U<p$&ņ%M^H[K9lsi?µLW1{tK ʞ CYA >W6CoVja%=׻.P9~1Xo2jŽWvLїi[;N۪" +Q"kɏ9s޽: #\N!B+s~pT@ YgGvk RǫVVO%K]ST8k !ڤ#gqK]Ht|ֽaWɟߢ31S~*ɭ' TXOk`L*;hW SYno()t6C&bK,B[S3̰#nEFG_[4$Ȏ1ȳ%#T أ!tBy5/\+"`zrI1054kqbg%q{uOtkYG՝ͤβM!- 9S*g]SeRvGI +/Y6>(cVu'rX=\r>!1P^lMRڈҖ,ͺfl0[DwxM t͆7v=`[U8Ojf9*xj|+4en\O +g]vd͸ZP'Ou7WhF) +UPM[KbPbͼ !CUm0 +3cbu uwN꺌% pbJ!glRE3jVmBH’j}Sr< 1<`?$pX/˛Em=[ 0\C]^->3n헔tf}@[D"J OszqC 7Ќw?eQ }G[<$ ΀RwG78KǨ)!ABa${E5N6JIR22s*u+ J$R=FCOvdQI~\iJTchoJ +!FO^/K6L8l}jlf1Icb:fˋѫHpiv5I0F_Ι`5n?0;#P1k7 qZ3Rׯ`'Zj A+&#+n܋qH@/`F,&neō*UHf v*b8@iOu녏\Τ&1~d 4GFk<3+~uf:vgӞL03?*3U5|a:N9\l" YLE6sSܙ(cy&UsWQ1t;7UOB]P~۸TXID+TA$ȦI#mzԋ~1a|8Wձzwd! U'R4oQrǖ+XyO-Y4-g16Jvt2ƅURIFG@#VML/\q.2I*l^Rd7DoS/_ױi\hK1@"EiH%_\>pv[N/"VwlMb{; ZL[r@Tm3IHL F.N) []LԼpsk,bjV +џì] ]C'5TVexf}QϡoB٠maIJ@a0xzwEq('[՗=@'Q_zT:@ u/ sA-S|1K;p:M]rkR)P32emaf&gFlY^1ZTVȺ)1MB-L. 3jn۪6l=U/ӫ*֐lC'-)׫aBT73G?Ki1q [Қ"hc.HWb*~B P1!Qŝ 1XK<-gMi=UaW:@ )J; +zs@T#s |O'"9Qvt3ct*UP]D=LS(^gg̐g,U*4rlZk7׋U3=ndC9dnZN:Yݻyv-u=z?5N_/~G:jF.wW+ Ek#/|LD _6[|,ט2`VLrY#vބ\'ΟZlbY@[[IVX^qKdX ւ4uyn=4M|]e*+JSM傲L'i=fj(1{ywZ-ߞWF[фD +O*kY~M\k7w^m]57:vmcM/-k=>${$Rn_Qy+|țG9Qa4o{ 3t+g'_|~ ЬJ6FtZ=(^I|Fg|s*p|d5h9x,{NMURrR|t} (?f;tSzw86L& ="B'?юQ[T*s"Zq8Z.lMCTx:l^Ccna= L\1MK*{śKոufAK`o(]fSɓB +CUT*׌:RDFOϘ*WO8g&֭e*@_l܄YrMjW6rTEJ-A{ŭX[uo̪ P!ͭIK|2{$ÔY'湔eQ$~^CؔرحcCTq]'GH/!Zq﷫&/ uvZ7d֜F' +IbxFd;Qg96oa]X]{MWTOk +ǩmjg*U)8 +#/::<WK8Jl1 \ߚ}pclAy׵LM[kղ1'=o~|0smу^Ǘoe +iTն;3&^V1Ydp#pXv4lcuUJvjIK&dy`k7eM8e=VOhMkv63ƪ(΄i53Vc~Cfi9bdU4W*Jf8͌U+RM](q0ӏڇ 4 $^ rr"PXn9+`.wAm + +֚d^D¸l)ezڄN$u2S,hX|}6W%55FPDY +tA)M iڊZǿ3,]cQxem }M'|_+O𞞳װXȀ)?jV w-v $(֙}Zզ.BӐ%ȳT/]'x͏Op<VPbGU(m]oGr``n5ܬ:ïlEpEKYǨ|WHWB/hkoh*Zׂrh~4>!{yQlfi͢2,kXrxrԳo>OxVĈ6QwgEg/wo%5U+d(lx42'+Ttڳ ҜI)brVQ'٨:rhMzaXt*u*6JI1[b4w_6Z-Yj)~.E!0n:Ɔu%O}{{|,زEr}:̬][՟sqk\W/ߢ0B} (J֞r+,81b_TmxA4y_kھ۞N:M-'UJChi5h/-ju7.ibK/7X2}-@,JDJF;AReҬ LizNVor|$%16wq&*)4RàWYDk5[ ^ h-9 𴬎n?ԭl>_e:LPE-.g-Gd 0+;ܞ5EU*=QKVp +VȹeCEˋ;W"eo/dݵOc-_FRwJ@$0x՟\,#tTVG롨('4p7lJ>f;2(bvC>.'?c qZ/jZ >*c`7j^La>֥`4W gλ-j!J'ӎ u;ng8x{X& 4j\A6PQ+b- " 4Md#CdIPiVA#TAfK[U0͈wt86v,-Ln'8rX[h4'ETK|p4~ճMD¯׃JRN#EOړz;p5хDk, AcSNC)lmS\̅f +`"8[OL )}tH_Yw~_\n,2wsZCxVKrӿfZ=Yĺz)0N[9pY+zہ|pfZ EZ%cus S!މ/f<Kaxąaȶv;dlWU(fLױQvAE(YZb FQTӶZ@tfM#a;Y /US읝rEy=a X 5y8W3b5 %64N6Z_4t7ѵ꧗bQѣ/a5Fh` n ʴ4_~RO,w v&\ÐS):w৫~э?L0TUuCVYWdqIXmB.K"Tw3ZsXmOзŋP`c3`RJCr\^>~dƣ_?LC[oG)%6k芪nn@(St҆΁6J/c5_cA 5/fkYMUuDEc==4=#E?TRp4=($:,Vl^R&O}a#~o4Zψ̩Wk25/jHOƷu4Ѯ$.ʜ'%.VYiSRdY`uJ:d0yфJvi&oDRGCة*QVq9C&1OYf,בϺnպ;}$u3V:hMafb6Q'kKJ³)f\wWR³bOI`>䍻$~4;!(5v{"w\$5!l-a?0SDh*[ +Z9O%6 j.qNl\ 5e)V1 `zB3顦}8)jvinOG(<94fqw{l:4-qÜE١W|5jHLڗyyGC&iPՋE#[[1 +a%8O^iMLy8 XU{V+Tc%ɝHz\US8{ЀN峑&!li|Y9ˮ<GP>"7UsҠ#vns*ֳVbQ5mL˫Mhp~Wpt%r0?ULDi_?.lr8*3̢t_MԳ(m:"ej)ĩ]6n@b.őJ=gZj#r!3gճe@XXέNҊ}"v95(2.N}I-} nIQt~BrJy/GDlx?WB Z Q8J)\k?SL؏3bH# ɪcI ` n7=3@|Mj|%@ʨ&(6tVӨLb|a8-zVWJ +e}yԟΑ6c<4tVMMgioRy5t+ITIz +R3Y[ Maz4`sCy,M^M>۟f(/TQr6=s%SYOMvLg3=ِgt~]䮗K_wX:~_=W)m*A*S[?AV4Ã5#`+#?Qֵ[!b]Ԧ{S+d%fM*0+Wl½@>x wbW0tAO`q=`ll +"H1Rd#b֮ 3>5r\$(:!spC&X}BCw\Po~ aMϩ1:g/S}daG^pg(h%|^nHQ ]Ԕ,oLto/$D~鑊TxA5ϴ? UwW_"F:Tq|2 *]q ++ȮsT +M.+W0 5Z~1$R=n/8?lZ/^WC7 +,|ZzNۘ;?GG˄mL3){yi9_>z F +[|X[ݒ{&o|XRc$cpnQ׼.FLD~B%t+k@q#lcU7b@ghisƶpPiPKOsO2٠Xvt)Ot R)nn3EYv1+]] @R1 e e?(_4\圯g¼7<~e㓆ٗG(k?coss Y`^m(ЦM\# S k G _俐q@_eyC@}O4ymp4E3&cȮ] D|P}Hw +X*b ڠWJ.r5Nն#ZE!rVN_N\:bEҡPrXWztf2|7қe뱚 +57A:)w큷3Zׁ '\oɅ>Z r{6*Wm\|0VCSO -h8b2 blQD(5l/d5iewR5vBnmgUU5;PE +=O)ڕ. 83@I'cmh8HdM!+;  zfi7fmٮfDYd7Y!Zd%IJVN8dKJ4h{C0DJoooYbẓk>MHET\.ON=?%T$x;(-!ǫl]=nϦ Ih2g9h=U뽪tU+LAbIn}͡;L{afk<)PUhƆ= ػ$N5J|l=hbwUWЌ+ġxp)`#Ȅ]\ݥl=;њ~Ig*}od:8k8TqyU^+'CՒd\8h븵=h>[lLROVuVJyv?~I&W }_joJyun3D7Yͼ^Tsp=͋ڊ2Nrt1NYYomme&Uʔֈ֡e0c'>c +>!5\kf+i %@TjGU$2+V =# +XӂS|q^l,U b`e=䞦V#M!o)^nuT1ҡ=ՇBb1?8F9ʿNmT,PZ(vOz>Fe +[WfŦ#{;;iĪSF!Γ2+b7gx$wɰ:'N=/-:&P1gnz +S +bGNե}(ԅtVX (Z C TXmj-<{(wۺcj)*VF s+U?9۟osPb$0CON~'&O( @LQ)s!Q(s)Zڸ)AoE`tT8\)|yqkIHxH\dZ SՈ?Rb} A>ܛiXUuRE"CƄdBFX,{|1r # +z!FK"7(VmUr1˚0 'F/J`cHe"8i);QN ޤ*3mNm'9װWoǖԊ/9b]Xj5+C |7Q +>UyB8gfO6TϤE[7OZc)kvES( ƝO+`3Q6޵Eiv~>4V7yO3"P$aGZ}fھVVAFS[*}k*)6wZtwoܼ +<5]9DAYw,,Y~oo$7`ME~jjObQj-3Bu@j?5? Hɸt IsDg>?wjLJrTҨ`^9Q<$Ah}Bf o4@W25Xk )Gq!j?H|@E,KvԒt_;C^N~B7l˛qy~WQd2r Od>8fWyffhhu*}bLK,a/80.n a(ENhƫ'Sv$h G1֔ڼ3f&*j0y,Y{|lDnV%J7kGC&p䣚Yhdu*%t$|'pZgD3e0q8ixO$xFeڑsƞ:"j"KXqS3{Hmq2PF[1eFh o|*О^(tN&obIc]}3G+#hˆYHz3d{17GEn?-b5վYj9ɞGS*SzJb71oUݞ9s>i+kO=SkyuX-PNڲ˕1V2nDn'<տ> $%z_1VqJ,ʰu3HI'gjj9V`RQ!&7\}@&c@έï&z˲.HldjUMZ]U1  -75/i-dT:GWd':WF; )zWS@kẓHk( ܅.>R7B+ `m&blo` hR3r#>h}*O9=nQP1@@iT bd:^gyxtz5w6GG!?Mq,+gچɅ;?'O-W_Vc+?2Qբ+%Vſf'}Nw@۟TےxpNy`1KT֦OS+q,.a3Q̚TMWDD*o z}t`їh/\6^j6:2ŔAUcj\DIaكlVHm37HoZޫm]:(,u qikc:"sJ_"^z֯KxQ C5izXbWߧ{(O3f@0guR'}n&JF]h"JԴkevlZp@ w9y? fWO{bDCSb֒`cȌͷpN}Xj$(%Jr1p]ȆFdb s8+s{(Uk2[WQZt6`<G}4Kd%\yJ]|9m1/׷ 3r_ۿ~Uu\W1y[t^fd0Íi\w9]_n#R!DEl#V"ʤ(x}PUH\ܰcAxQ +Ip 6OE_38x>NR֍ZH%C075P9;Q<2v1˒05Mم.ք |M@ڏR7$gF6.FlzLF[ NxX{؏3nCB.}2YI`"RŖEl#ݠj>t(u_m% ^*ԹO!MܬOӆ]"-cJ>0^_8-x:n5;v\:/":!h'\n/Av廖R`TŨL  +  vjjDIeash5Qa1epY&4OWV(v{R] nKw!`YLP ˑ\AC#b(l9b.^Mxh(}^-1RX I7ϩVUF)ycNtZK~ɉ.ZFEOh,lvU2&ɬR/+Jjikp\CH0Tޱ3jt&]O67AzqI؉qa3ltH@%jь81ή݆̮Hq@H\w +VKUT l,^,kYǼnWC1Ƹ(e"֍FSwxA?b  +gy|,.XFƠk_K;t~cH7z)ER1.GS6ZS`"P\K; 1.'&k2_񼙛ZibRL2 +[CG;ĈccQB}@fFVDg6/YݳB7Y:vl`y wfkCmhpm^ nHf׋R؅4if9E3 M.}Hn-Cs4ph +.5%nZ ݬ# i.QmV2aY:GAW+2|pCYie'^]lU,ee*<4anmuəuEC(&8dE,qh <OY#ea \fc0Z<&Ma{AG_hG4 i8ϫȲV$ e3fn8R}L/:eku +[mawqF\ֽxjB'SunWca iIOv(,S`3.C߆Sƙ[gt9TxP_+ʾX%GZ[E2Ԏ Ӏ@Fc{&ˀkj@6b{E U cp" g!=DŽ7u؋GK#& n3MuO١^qMH "Igh-@Nwc\Wc83"J" MbDeWlZ[S,b|@PA1s55/'ƿ<\{-ELD*/Sp\gpבT^3^x"]5A5ON)mpNy?lC, '5gC$/%I)BF7Qorou&dJ[/`jQO_1Mum=1!CCt5Ꮸ>"֬ʫ3Vl\}Pv  pǷV]jNy,}~^8cTo^}`-d<07<ب+ʢ9vX4WeP} oU;`^ !N>}A +!bsUubY6=ȭ;\#p ۛ_#[f||EV4쏦ײ:!]6W1&63_m|۾~|s0 vH߹? +JO)j𹥀‡$[q~CIa/ 7,eKc_=ϤJڊ= +!hE3֫:DS78 l!q4yw{%|]Xsꯎ嗴=3 }ܬj". Fd0n@5V&%apie3pV _0o<,JpPI4gf{mZeU@EY]iHd aGY% Xԟ7T{׸LnڿNӄ/G`YD$t&8i>{:7y +Ԣ#^Oߞev6bf`nLt '"]Kl]WyE-.g\}~!ʧ>42+]&-es~Kl3JJv|mLBnm^¡2u& PXǻU7 ڀ!rO4f|ˣ 3YLqd(@ՑGkR rL ӝsjVF_4/Jj\lby;t!l䭻.aՁ`ɾH2.[NӂWĖME'6k'Rap4^ Uyɝ՜0{iYJRWҷV{vWv!g[^!$On9>"B[ JLqZFOu\G,g6I$L6MϵøCφrUAơoMa|Z"^gT(9I\_g~U| +~ +KWcxh9J`l+]+׫i JbU+^ t6>S]?d +N2*jS: .gHxXgt~p$BLrȥLAݔ&AJKFeяZ:ٔi_x&r0^':w->+trdžRt̫Ϭm3֛ ++d{ 嚲U^{_>Wz]﯐T-wu7=Hƴ->8.էk_?~r4TU"XoB{>:,')M +~tdz1AS'+o0/=XmfC _pU`1AG\k3W7ߊ5g49njTVƏA2~^h]?G#d_."0\XU0~B Wcً/(Te +2_3-4*Dh]0g&zdE0MN\Ӷ$[;q`2@O_-{G(?pch'lSvE |qk!(ѪÔ2}\@ޢ +6*@sxx̲I'Ub^t:[Yղ>qoMZ7!B~[2H+FG7 JfXb5TT&?Zۥ̞0R#AR#@'N`~Lms_U%U6s͎i3&lOt,;tj\'kW9q5Ed惜;F7O7UJw+&RK)n +&%Tzb\;G15}]Cc+&ab/ӱ]w4Bq޷Rh'voeYƺr ]Jf)x @]KXs[&0IH ɐ5\ @75eڣ ytiDϣȜب\]ZR>'3YQ6q&@ZӞL3B q\+ܠWO=tNV/y\( ,~!ܫP%Ҁ+9N-FΣ|jЗqԁk}_^xUZ!*ttpTMH6]L*K*\b' g9OK +tyͨ=9g}{&E5HS7fXN48՛Q?bxr[Aju_&i]=GxPc]'ZDb;Pi%, d3P+3lH* t/ٯ /rBR詬8`pR4 ߳ S+!%T;(w+G܆诬J6,4:^.P0[d1ZVc"vqjt{ bpLG".{H3^|W5PfO%}Ig<9zkpbw[]OeY;ĞjH3jiXv]k[MuQ9!8z N7FfeOedZ#sRxB(](ڱ=4mڞjE +/: +HrkXg@V#,mt?'x\}ƠȀ n'a +^C&|޸dJ+6Nw>lpA=S_- :z,5 ,,bKPGA6 iCߒ&[cfi3K/9 &5x1; +K^Dw,ar$#R0?iU i\J4q**i?gO|<|1m3K] +*rvƼ1O4A2vEY/l@Gߋd& <̲ܴ"UT`Ll"^IJsJ7tH>**ݢg,,S)e*^v#k)TU!;[nm;CZuaW8GVHߕ]'xSBS:,; I趕zv݋CPgs2i"9 tįnvTݳaȚhF{#7؊EX{XZzx h H§ @NY3LY󢁊"KE壱Idn}ΉVo[P{|;8K9QRxK;?=tE. k.Y (nnb&^0'gk(Sl]*d+ މ7aWy撧_]6k/D&WMuY֤0U"&.ee-IHYP/E$酲"& ˀ8^пKH7ytbC]ˎ|24|FRO=ϙ1>hT1F?G~Y丮TN.5ڪH  -EeRlhOR|I]W-|ǫ3ro;ՕUzTʂ\e'j6GO1 +[)m.c\EO{&JPଚ,"FKnGFJi9n~hzk6B (KquT"U~rj7mL-rnz}C7&(ԚW<;p_2<䘗] $:CmwrJG84ؼc^U ;я!viwY*BIaZbeK-8G3!򎫰6#9gmVA{P7(2l]ns;vR"&ϹHƂV3ZtY -Mqy ·}]T!ܸ6_#D=j #pU[5Xd{P8č3WJfVc\[3ŭhT#nW g+PT;vRrot{˻FBUK 8:z^d;E P2csb<`\#_{LU,mSV[hKr-|1تm noo|=TEqw;*QV[Mz_sʎ +iwCAKA°K#Wy{l xY $KӸVHy~WneV7RJqCyCqF,;O /GW +.c{V؍n: + +ݳs]zVIrwq>*}}<4iӇa>űNm/@mRDD!ש8viqdgҖ_gS_ğR/OZamebc kNG&S2Kjqd;W6:p/NIj Ac)P}1lU`F+j)攴BiL4[dۍߵ:!`Aumly#o Xz u$u%v|%(yc!bo1:UxZ*۟ZQSpCr{βe1YuqP'rufCfZ6$A|+%qC*2X cgc (sP]v+2 A&"}Em{/A~6<"F=}i#]VY)WhZGldU T'0Pcnډ雉nw;P$"pFLNX\NZLJu|*e-DCzXVcM`iaV)P*hL 8qJ}1E2φwtmKfYiT{+:5 D&zȦeV`9P4ޥ݁ŌqO"n{O`R`XLVx8evXWFWHrzZbyKe1!#]R(e ^5_%]4G2AVmŘ,m!kK&cӮ'.ї^:N .4K$3MzlRRH\6pp(K\360,yC.\S }7*Bz-(r=_ԓMe3K V /\Y*BJ +Ten)fb[cN*+kڄs~Wd45 0yK_^4z)| oA@YҹpIfIݤOmO$<  \e'1B ,%!h/,%luAHPkciL?y˹T5ΤݨEV[(3ӕC$^lN{1tЊ{)=*GQvն})?sm"P`b +R<GkUy`ו=jQl*уޓzѐ_;2b"ߴʦUMBm,4#̶ON\."*xхLK[m\A(Q"|j֝#ब@leYm6gU,NKƯVY}6hc'eDݱ?d\9INjL z]8+CS.J|P? xsSkKʾ=y'd^7{Y۷nXYm0NPSJv"x56ӆ@`{B9D.PQTPnauKYӶbI1rVc)n&k7:j})=0ЋT,+:B"5Nŕt2gT>uNDi̤(/\L^.|}Fa[E51ަtD=p0 &PP fvLE"EÔ͈ 5ZiAPYr%\ǁޮ/lĒ,bAMӱVǴ14E_y^vӷ7vfhƸҭ$Ł#TAB]FnOQv5 Z ˸9c>̃WS?>|+\Mz_MCcD㭐XUˠU, WJf8;]0g10iچ< +S43Xvaqeyrh|`0%Y[j4`D˰HpT~*B/+Z+Vir졒Z,Hழ *:y@% `3,tǤ+s !n;V&趋M^1 +-edzNVFVM(E&Ѹs> +34A^nf7 x\4Hf҆XESָu)eKך)FRb/#%Dq kM4jnڵ_{>7!FsdQ'7HF'e9m6H&!<켶1ei^1pI.)SA:~QVWUH,dXWu}UYѸ*vf'pM0=+:kZ8[BgV_N a +Cne)H ) dmRe32}$XZ *inwӖZގV?7K"k iN2><b)P5_TP5b=/InRE;7g' tc!R*QnFkvj{6>Ҝ D&bI獵Td(刂ëz'KZj/BN2},eR{L?e6x Byo=o=Ҁwf^+58eZQݫۼ߇wZ + ?./y80#v?@aӾ"x{KƮ9;K.Iϒ/ioq ?߿V1QhѴBltsm=8Cz|?a9CYԶtr*"yh4tS +x.[p(Tz2 |j׼_p:=[c$>U*YXVbK4|u+5h^$JMwI޲{c0˭<9v "Ml}'~8z޿c:pG7s]fa.vl-q8=~8> z!x_IS5ؙcZJ]>,pz?ȇVX.(g?OhCdБ]*Ǭ+)ȚUla>%MߴG^C[sbBd8Rڥ_ J>馭nX2nb4"'*O*\\2n7HHjW*Kb*jxY]ȈrDMTyDDQ,q*q燷o[me3A$c(TiVz`^t˻CrI2&\lX-çCM$*,,2Ƿo_8 )*m?xJe(4E\eX+~ E71q7_;M,ݛͻ=đX"R~$$91v= w;_1ŋhK8O|K|>|wz~.m7НoM=Vhsig3-h$7h#M+6V4B&-(`!PNd7IfX-ZJDzbgzi5nxcu47"=x}`\uoeJڎ_Ç~wvڷpNA +2[E%|{:޷8֨*Dk8~fGߔ'Uc!Tf8ÿPt%A񍢻 +:6^+㮵* f|UNv+z)}8?T|{Bt>kPRpVho( ={;pp*;Q]r^HhJD5̱/++U~<>q>-ǰwb: i={eP ;J̻Ç߷M緭˅}At\V.v;kx?ga1mBGR|NqbI$!+EZ"xzksٖlRU? eHޞ?zmq.Sb<33ռhq<펴ҿ5γuƕ"`{\b8l}MemMßyL5\部tyw٥q,ulky'"x#;4kFh|ʶ'ӱsvj?JS۠YFZe1#98'w\)@m~( +]~oOx8C;Ozk/*ml$H"w\C7MNe%!V 7S1yh.\,WoV35ׯ7@>=hPZ8h!l :Q&0FG`raOF]MCqr,Lte<T%WR5_.?ۆʸ]i5]X<6g:wS ^3&?cied%Df}S-M;qd-w47ÑwPTϋb+rz싸TKtYm]Md&\;MNOǫWxpnN:%jĨa+܈KKَA*}a mձߝm|vALU a`5s`9j77m?&iJotׂ6n H[kYb &w5wHZX|>-_7ߕrh+.s v+wXP.-x %)T!@Z<ovn~=Ӵ%-IXDNz$@G1Xji^b??қ?y|w:sG%L. ;d\t([R u`31kmk網^٥V,.—~RɥɆFK KtXwӫWn9=I f;DX걝ܷ.eYBb&V&+_a-+,&u&߿~^޼9~bn="ܷa@2~O}+ST^v1֡Y{"Po?? vq +>=3hNJYcd.Wq*?OڋrYSF;JEҪ^t )swQ=$*c;5no^VrĤw?Wl?J]\,3$m+?~oAꈶL{#K5 J +ʪ{2ۄ Xb㼼y۷2c&ɿ*yLlܕ^z  > IJ(ci'VJ{=I[ͫI6Tar$6Ϙ,W$EN~ޛ0I+p "|ZJjvoY[[3DK3U}DfVu͛n8ueF Ͽw7hkynJcMwH3qՠl) +#4ۆ=<绻կ}ݪ\X.-ryPO+].*oO;ZڙӪ\FŸ~߿?}T,Va<`̣M)mݻyUkat_Ü @[lWm~2Т)';vaFV Ql)9x \IHוS#}Q풜Ԑqh Ӈj5%/rs"Sdhs#YIJ%m5pКVQ+h= Lv1~E4oM5b i U9N$JЏHJ,UZ(?xJhmtѠzAmMxU=bIqrfhB_}mΕ'&KRv P;r^Gk}3?>:޼maZҝ;YNŢ2EnNZɈ/dxȵ̤Tͥ,{><ف#$ܨ^NC>GZ>h*G\褧c$A@1\v_4lgJwow};>zF?-!b؉s_Om{} +2b>kz]nJpsJ@XG~nZq:Z&U&΀?L2 g C/% +Wwo'y>56?A:<~/{_~} +A(qh|rZ+GeS +Hٔڬy[/SʩU,({%vS}\??x&53g&+d7oo)\9!U.;HjAqhT-π UǩU#Ok5c;ITP@ayPVIPIgR妝jmU KZu(jVų 7,FRX:65 ?-_Wݬ(=PE)TTAg|C&LJpdxR ָ?|^o<-5Ý͡8vt^+}y޴j^SU8(3Y6|7eWY":OzRtJx܎ҡ䔲_/o|{wo&Q&[p#;lۍ+fkkG<՛W߼~\/tβS7rd⸜BY+(xLÇ%vK?ͯ~58;-MK/VKڴ8k߽q>Wo`Xm1u+ S jvm4Q5 @'>7A +`Ҽӫ`[A˥@~m"y %'ׯ/WBeÃ>qLA*u=,1YD ypz{wxJY8k׹5몺;u0Hf\M큹><dJ鐧ۃ3Y^\> q=bD8d-͔Ӳv5S6Pq:qy>VL +A{[4cqrǵm Vca +nU4-Gݎ=0\7J8]+UtN_Znݼ'-IWG=s$÷2u,զW7=_U ֳ-iZ{nrEP7_z{3}o^$z3>k߾_|oo^R"@ *ȶ9jK1g•qkG ??Zӯ|VvˆXVd2귷_W)! Qi[7Oqj$bY5!|(S~񾴃MD( |S2|d-ce+ΥITת|.Ik%=ΧkA9o{o|}x *-=1$i$jӅ]ln'x<.ꛛ_=) !MFqTY4G;dzTK9MS)k59p7OLTùU!!kgkQWV=.mW$:o W{ʰl_r?nnݫ77w7s/sh7Lm̩.VWnNj+=7ѷ]'??ۻiN] wyjcB=*%>׎+K/N勪+j޺1ϯA)soZ/1/ Ҋ!>oЅ70YFnNidNʧB )+O/אSRؖ< :\J-OG-`YEY|{L(Qv[Hr$f9JNө7ǃ*ws9NT&n 7 9z;8h5stHCxRQM^쭸#޿)QFY;LXuKW <}ݱ* ٺw(]믭̂F(eW}?>u6YUQ+lgAfmB FRȍrxs;aqJBq3fU`]χt7ë_O% +ƶE%sNЗ4}u%S:K%B mz~_ՃB#衪2;J2_Q9\9,q9<0ma=JQe~ׇ~+V\|g gY\5W9MQ2;7?jW3gFlšۈ@XbrkQMJ?㺆 x^ aP8s&*Y [croWDF9%޻jMƔ#TiFoS:o^Ta>kcRM<l5hi*S>m?cy*ՕT.u/|B!AtQO@tYIq>!+J7ˍ͑}9h_B{2ě}5?ri4ISдֳULaj d#ݽfO)Ws]×uO> 9cfG +Y{5x@1Ø*DMR%?1Gʗ#L1䌲c%YP`ϱ= %|O1?|#^酘Aq\) Y2a.T2~֯}NvCZkh]:,<@֖E.*C-paKS^k:uQaqSN,GPaov^K')[yuZ^(kP'C} t +=DRS-RhK9,p24(V!gϞ1[ڜ=Vִ_&[SJ B8piw;(XTTm.)+_rBw[x~P2 M>۳FOeD{GK `Fnca( |-4zW&]i +Wd1ЏpJ }v;M|ģ3U(jg [ԧN"N6 (lﳮ9Xc=i"[XSET#Ve_rm#[tgx]̄1B*A%S,0=5b'vm -*“QyNt>倈YgC`&J4h{iC=.:Pz"0]imlNIƀ"+D1̐SMLV<)cm80r`ONgH_Zq E[9OxΩ>Cvwsݠa!D}*F2(39E +S:w=0$CNStM-Q2'}]8n"s|dQf1M +wW)'^TI\M "OkN*AS ZΨ3jS|:7U P,Sʞe+'t~bn+!X[o=p}\t5wſ RĹ'~mq$CN(*āJ,,ZM[VfՆmɓt_{e*} ?>*ՁVLi"H0%,`Q`c$rx2޹Q^9_ii_%m ~a v>VEnY+EuKz|=AtPv.qn"IK*OD#_wԱTW@.u)iDg- j&Tb8;|117SD@Ldu-jY%JG(Rt7"Tv`MVA߉$ƊqKP2_ƒuúw+qؚDS|DuHw7:g};GC^P>%.k}8-dyCDϔVvMKҟLQ +UI녆gxh /Wmpr"9tEPV,xq)ԛ_O)g:KV1<ߖZ?< +I![h9#У+" ؖΡwY5Oue&0|Hw,aiAH +u9HzleB7hklD%KUp^o7zrC=61': Ds]Ff6:W܄$Jj .|H6ָG5A/*Um?&d`r:&%Zipр.\Vsvv}wj5Vv 냾>]\۵}0jסv 7[E% *D;+uiAy7<,jXW''x(u\@,:U.8Pu)yFkw +Og%3tV ]?&[<i?t~2~ҏ5]F RIUeiu'g'WJ2(/MfC$?:Vֆ*k@&Fa!ogDY#O^rnK+J/ƈ˶HaXxՏ-¢VgE nFǵ5 \,:9 RBq2\x1@nNPh@y&Y%Sܿ8vM&W%D)xʡJq^5 brnГ;ctHˌpZOU$]'fq tL+gZZ@1ZtBn?S:x*͵Nۊ6OXU;Nk"CvJÜ3EBg50Ѓ1̨[_ sf{ $i*Յ4L;Uݢթ W` +ޤjޒ5^$6w39[`Fډ0QTWÄv +SARB(!)h t>KgF?=qI[qv2Wy zKHtqi缴Ot|Z6z)C += 1l7\ĜM9\K^?KWQI)vEK)9"pm?-kC&֕j]OvT?zF6z۪gj#1-iGH$G iok}\UijA$<`E/y`jqǡ㘨PJ{#6- jMV_q\+YcK-\hZmt栶b|JeeDN'9\pe#,GP UUnmP.fvne^ qv^ږzA{2huԡq[Xꅹȅ/Am|kpG5;`3b Uz'1b,$`6Lے[10$Z&Noލ0jb Wd*?mF7?D2< 46I]dtXTMBIv^u(,7APBVTjf۵MEξn3l= ?]@rЭ(h'a ̜cT,vEHJd]8T ̀u\tǛ|IǪ&pT ^2f=8\i0Df;s|ɖ+F6Q/vIDkn.|ʤ1n9Ik+P=(1BVS F@YͶôhgpbacx!_Z!/Ti֛,\{MS833^P(iTIod-u̼L:iA^]2i$ + "G0!h ݸiW9"}š Ytq +u%ˤNJGlf*Jv%_:w{X|h'`1g !.?5Su[?y/ϔY_^%;l)9M7ɕs f<.~ZsT=>|AiPM( C=&x[fV'Z$<5%ݸέQTGmću3Pka!-VMD.jb n(7F^ONy:c9ݯ?Vˎ* VZlKSt"<=(ֻ$ \NN2}hc}hݜTEoo'T򹲍C: #N#IM7)WɞGfMq+qW0ЊyJx,r,GBE u-56 +4k5%<`{^Ag8O!i@vS݄jɊV8Fi3zSL4&rGhVJ):Bj4aƆiuؾX^vz"Ŧdhi'[VHm ǜ@ԝ]1MXZ[b72*093#CqRw\gg O|bkn8[|DL­қ>}h7daON'`~sݤy5͵/Աyf_-hWqM-]uXl О:s,Nn_WWe/{Q,';7ǡ5G Z|jVL)N5thD>K,E#[4nSi.{pFq`%T0EA«9>S 4p cg[3bK)#+c^HWrumWP/ߌt&3?ʸ!pAʀ Gx.(H*ef{PĂ2SIO;+hUauڧnt<ḇ9̤]j:8gn]&s %Oq.$&@-NByЈs-pVT_ަ. +*&K*RywZH dMP,}{ v䥶vN,F;"W@EHw"d0ڧҳjp}A]t},g YڷGyM-Ea{(Jц tJ5VHmBƦ0iCBD~FrM3ޣ9)T4~XZڮy$|PGkb%JcE3sշge#2{uk7SOUT*F7Pd bMX,SgDmL詊%za||׊4rf#Ȇ(`Rp{xٺ}DгcC[>Ṩ"xb2k|_" 4]3J=ؕa<XV$Ai{A1Ve3o6D=72HR{" amL| ?kpZ_ qB΁׀JZQ܌%6x#G +HPߦNקЃg`a=U }9x΋ncS:&ḌG<0:txih=9KZsqwcgvrPc@ RS⌞D:Gp]W=4 Gd/s8#NRo2Z + VK"H~?B5MT?RSRλ白+Fuk+qϰ˅kǁjK^;g=p}bNq_\x>~p>N4MYyl/Q +.KaJI( B[WU [ЮNmEzjА`wAӄlZOS0lPq]Ny},SSh"U0͒F5:ě[)Bkpo=lг%d./]'Y,Y97|4)#Wꬹ>}Q,AA[< 켂*,Tsqת |4á-8>DV BqJ8Ie%H˿H\i3=.` $ R^ӷn:1u@,@cr۩{ʜL hCN)OEm42Sry8lE,J +շ)Uz7#&]S!2lB'%f L=o RSfVB+^ҭP=hˬʔl'GNjfRsZb1"\`'\.},!=@wBx/BK%Ux?͑YP6t8M漍Mӏǿ/W0 4¶l)?|I +\dƹYit"79BXXw=Sl&Bx+uk*dtV7Wc{B|A/07.|Jj'K8vD/t?+g7| Vivb0w +C?\. 9&a[%t+X0 Fje"'(vt*OLD2V=JR~ռwlgt5PٶxVKoZ332YO9ƺQ& hƾX'C#x8q$)YPWcx6~$#FU5FFA*2ο월2;yyb_IXXNK\$\l›6VU2jNF58i֥pf4MxIu߯Y-lj-P/] [?[1h*jIxfv vo wz +s&zǓ"9]3>bsw[8R0qBqKl' s -ۘáK W*Q}a=Hf~tέžW?Cg~i)1:~ V{budz0"DvK f4dH`_V ͯNM:b}ŦpXeHc^I I6UIV.}{s:gj1Džl&Ǯ†KFHLQY|)8nּG>kkh때) mUqvIƢ3g[л\[nY?~L*um>m}Xjہ6=2/AFU'&d\?b 6 OhNkf<<1F>&9fhl .I67) ++&)6h$58% Ez*X !T2Zʊfz";8XTЇ .v5qVT%n /|s\Le|/[kBnȖ +k 0B#8PߟXJcCC~/s~>Iiw'oջtՠX xH$e蛀2 xIƐOmR5)OX9>}f6lԍg9 QÛg6}iISz+ %ŋAM'#V+\YSJͺ_*KNDte}xN7@XP&޾tY5kT:(p`2"VO_+!X4ٕ@i\YgkZA}x_e$|^V(WM ac/x$Qm>^l p>+$-8`F.׋ǂGpkfT:K<' b] +^{ZFX m&BAj# ^{C̄/&yĎtut+aZ%^}?Q lm;^qn[R\ ZA?} Ch&]}tINmFHz(jaB^F%{[O};su 9K&z_"0:v۬#q`0|Z&+3ZM)=MT{J{NInj+Z5 q PӅ)Ж/'v +3nhL㗏/%;6āy ,@{kA+3bxğ [G +=_]+Dw/]>&M.Zn!DI%1 q +=BV*h,]D|#ȑ*hUqv}g<,.l'W,mSj$} G a\4mj/QwVRkP?kEp[.0󓿻:Z*}XJ,i!H~TMW)k1ΑJTweٔi2- EeMcV+Ew*1ru^j .TRx؟O_K} PlqS!ٸ7=F>P+ZuGF:OS6ҽb‡T^ R޸Uq26XBwA1qJXJ +fdEYܳQnXnsAXD#qDjM?j:O6i3]E`&ȻN2 DVT0{#\̄粔`i75慤bSN[?Ǟ&;ygv$Մ&,֌e(#_48Rw\z:1Blu¸=4ZkҦ[˘Vˮ5ح)9CdJbٳf\^Ŏw/rr~(*M=!ˁ|$FҎ)ɮ uyxQ}󍕏?5n))4BT3ym#03 r!iRI h\Ŕ `^60et=^{m\^9F$\vo@ 6R}<ʤ ͏:7(nE_,,t!Ӷ?#Y7jOO4~:m?Ci 0ә-pؽh Z)zzy/5߮**~Enjɘ`/] Z{9p"Q-4.+Ƚ7"9_[Uo~'E!" +hVp(L&u 4 }e&|(nmN#stj ֢]u2<=(|2G'~H&IrUC}~\E~pŖ` adgvWМݖ.E$gSϕTG&Að>ȊWWg=]}a庭8l{$(׭J/Tnb#\>#>4K!"F%D=nPz k΍&m[ac: 3Ԇ.+NsBiK0BgCѭ pٻGZܝ%QHGm>==J+`bt_Z_>IP'? ˜w$<ŸҬ&cь(~0g.48#Adtz|gO9NKsfZu Gԍ,ʩ</߸l-FfF#M,N1~2B,=}F34qw9+^Bt]G|}5nQ ElVC]/c%׳oT%XĆF5E-DUJ/1Z0aW$b温DF`~S`ə(gE!1}׾is6Ջ[(p6 ك[炿b!d ym=8+z,fXGw>Wj*-#^\JYS$gLU5W$kOk*~{-Fvu*=on9݊g$3-*#Xvk]e,hb8[}>E5IY} Lu/a7cBdp &fRy~K?R $6ֆLJW|g̸m i!V\ c.fofКD +pt69/i^ *fX;6uME:06 ]SFZաbS̟^l; ߽;;+ݠ*m~a4SL+ +W<:wٶ'ɖ]Y>Wt5Sy;7Ka^YcRLe\fn`V?rD<`Z۬YZEjɩɁ%n-]Wcq~ܣ HF_9ڦBi$I1VLzd%zpp].L_>~'Qqxre0 .2ÜjL7YHػo*[qW[ ՚<;rC$lr?9^?*G/ -4_wZD,+YQd.*̹,;ݲՏHW55V޸3M ",S-O]m0a Qp>Um<Q(AaߟGTL=$5(Ov+}Efe39ShgGR6DmVr7nǂ9_{6g%j˼8[xݲZ Ef WfWY.%7zNt smeAbx{3L~AXӱ, 7ܜ u ʟV/1?5{m/c۶Oz;ozGм+<)+Υzc/@/D|9ݘN@ ި\{EW5dyzVڌca!  @U[owN}~F/f0.W}|Ͷi'Ҿ~T/+W]=g_/Qސ(b~ƞ*w13藁ZWG)=` ʥdL'p`"֥w:e]wB9Lc8EٵgqMޖG۶2TD+.}uO/}!PSZ"-ev-5W٤QiL@.!hf~'bw2Zn}iUlyFuG)9k2nk0X^-w@T1dROfI=KeQ\3>B}S~t8hTزL캔fX٢ha +D?C:r/dmVJDJg) njK;{>H6Ϲ;EÄvUiD]NS۾`jnDg':Z}|4&UT><Ȧ4!7-p[ JG1=K%c0)CV2~<OUap_"$kAgg'İ;E?ۣ~(_WFqG; vYF9|Mt +?IXYcx pO%zhإ?/f辨?]xJsƲOИ)'_I#2>P5yUt9?/XoX!_p5r|nZTE~)s]J#8< +h3񖨇ˋ!=Zx~0ةgXs*/  t!@XVY@3'V lQkџ3e^~z$$dE5UB=;i{\V7d۳ = .c)6̀ѠE9PDwf]f#ʕp F^[qƿ\s헝#͟-=k yYuH@;E =s3|u COz\g۰|ҡ?{^eWCujȤ{}}R\;E\X +dPRT&)y8N\at +"qgg;\ }WdO۹Ao`ԭDC͸,,ƟG g~ z]6uSU+Vzxi?+"ܔpClLΞw9dtM:z }-qZft'4\Zk&?.R\Oi?d4^sU]5 R |H}_ne.Ss +]h녿8vnݾt}mwn.4MFQQf,ӌ³-g+<0,Sz¿'f{3V{Ӫ{v"?,zϔkF^ +hRE=SwگSGBPHCS +ԞF +*rV&CV8t8j"6,7.Γ5DH':YO+D hiܶՓ:6Re x1O+Y~R +SH%ɽqI +5P]z 9$b +JG45ㆄA#<J1 h؞Z@TV h'|}G~/8Bmp'%&KE $yXM!kVICz?MYoYK5w=,9'IÐ`jkVbj3skۦTE<涢ʭE+w +HDDLx'DS`߉ {~lph@BeXAob5my fR{,׫M,Q]G$>ʳյ⇝4DOqX D`I0˗( ̤PCXRTk3jֽCIE =>pMb,n7 ['cOQ*'y,QgfgϘm6 +is[%FhoIR3kQ LsCw[mͻa +^9МkgejVr}r1+|JA>ڕyCSCPMwL$` h8f+j磆Y:YkwP=r\kJxԥFJ[dz^dCjB1:uP̈CGO$.Sna}uщpA828c4]n\F rLlb,KY+-X&S) Naw>_ +lv`M}lVdʄ?*uK'Хf+G59R_Ja0k'*7QJ $(ٹt4Izo)ALZ+{1݂HP̈́[P£f`D-㑐YY{7xBp* LRzwQz#f<򴻻x6{35Λ@:rnU7d8/mo`c(gELV׽3VǤZC8-K~hylVeioTB0TZcIaTEޞݭ<4sO?am_V6&k뛚MjRЊKI5xLp5E\O6\Oi +}ۃw9k4nt|Pn u0?@D[SV,qGNZ^qZ'cED(ʇE;r>kAhur +f뇋P&m>w=JCDL4IX<,5"@mZAf$ vS [9Xd Z+*㩔9N9XffPwqLfSDٜ!ZҵQYY(ֹCƥQ|U8G9Qb5/κ{ōΧOjX:YACe=ƊJM<؝%UA+iU; Gj\dFyPPSdHҪ%ǤQE㬵m*T/;(g"2YۦC(h;EPrT|v>bCT.;VhЊl)G +д8gmHP˚%Mn[BYy*ygNTb٦ /|f[UqKA2_Vp~ЉʠvOW&0C#*ywAzvZmW^t3/g ?'<[BW$" WL<ݤ\YqpoiU07fɅw5ShubyK^rb'+V r[g-0*8=.%Wc+ +SH +\Ib(Kde<#J8y¨ECpЙhrZ_*j]?MRIN8K+5An5=(]S2s~`4=#!}Vx`@5!=8E>["^B/tg)9Pv Ū#G8ԘϱH'ؙasX7*]%S @sҺߛj)mLڙCYb<'4u[ }0,OFֶt YOb 5&TRzAw.M^$ T#L3dnIUҭ20 =2loL}Ƽ28cCT)⧶x-%#̊="Cì @3 *KcY+>du+7,J>)w3X]{}8$\RHk2TL`c&(SBW?wV:^N$uAX$x}f7s(&kWr--ޣWf@8?J8'oFꊎۆurq4iɌhmT_^tkC #6VX`HD`\1R%|ҎQaM'&r6sܻe9HFψ*9}&1v\wJ,"7-nZW\caUgk[+ܳS`~o<\4^{&1:Qhȯ+ov]bDq2E0/ ur/͌ink> ST@YV9c܂+ ^vWJކng:siOڬW w9 ̈́5Æfk4:$`[UX#snI#F+7TH6mV2v 47%;xZ\bJ*ahQqZYT33?b"IaGqG@e +y7Nֿv K2_y=zpح\@,fj(x`zӵwu cA`vgSf{9tAذTOjGW~j:Tvz$WO]Wxʡ/䃞r$[BYJ4 fj0H-Q23<ţl!d[o* ,< >)?#?EdxNe{)Gu泋O>gGi8,S)+'Zs[۴&REu-[Z} `OdY`䒒Mx Sʒ5r}`uYƩULK&๧=̠afnp6E: L;ArPfGtƩ奉Ń[3%Dpon\uPmžd_ "gLx)J5+CQIߣЄsnH 㪸_1QZ 2T1-RQ@=I0ŦUr˥r_>D,8_TDֵ@\ +nGwɪO ҽN+Nií0`|qrFE +iR3@|I5 ƍQ +\jUnM)axm]`ԝ#knwssapӺ#eks~0V y#(0\D +p.ݚc¶s~7u%3ׯ]#Ts"'Ű7 h0 傁 mq΍⋤5d*CeoJB [(v\& @xMlwhW%lVcwp o~[:sH]4{_( 4/XtIDy(O9Q![LEDX;sVo&L5L1 Xƻy訤8{VSͦOyyʥz <*o}.CgT](CuArztv`:4bAۗyHcVUqr~("?vrkI)q˞Mj @3l?gz{xt8<,ՆI.k=NXrfLH( +]dcroGwYS.h| *vSkhäLCsԮ}upOkF2oQ(f0aGR~JZ>Lׂ|* c 4%X8֍*yI\ GE np٭\J^><=P>ʈ'R/[j^J~#~RrTl":]I3>W7Xs+2o0g͚,I+1"Z!Er1dEq^ecL4 CzAyws>\jfuu]"ݿ;ۖ?] H`Z *r/DFp6f+2bk_:}Mn%Xe1 vQC߸s Xj4L#kG6W _/c19cg?+u{p%1#0JؙH/@zEA0 +}K֔ 4DI K>*Q%w[ga7 ؗ6ڐtFZ1:h*C+i(X/RYL"}9v$,~B a6g:'`!H>ri_0?o"3q91]0\x#~Zbzjr_4st]xq{5e1Aܳ񬽑]1bԙKvU%!oՄ6sbi& `V.56K q%'lW7ٕ3&gA+?D&D,2YB$]E1l33LSc).+gϯ׹ZF eXBa2I\3&ضXhV>'rt j\ޞ@ +F8YpdQeգ;?.X:"m%YyHGX?9NOBLl1v7cV PYTFmmGե=4 RPb s4+"uf*A&'c.dByӉA^)W)W:r'k(D:< LQ0ĥZLVJ(~Gh]mўDZ 2#}TlF;}PSMr4%{4DWR1NX(!iQv;nR f(ޖI$7|7Of(87RBeag;ѻ93%smЮc)a^~;>dH@5| Z&p%~E 5NT*sc?&4RB8=wNŜl71Ċ;_ߦZ?#h:UJkzu@k Ҳb?GH?>> i*TBݢaMgƒZgS\q Xauk*0EȤc3Ը3x) M8D%dWكzkA݊î_~U:,I6u멃^սM,d,7Բp\YPb! +)eG۩,Ze(#.u/ UFgFOGpN.%nkU7CMh-Ka Mah^} !fg90!jkF)(YIba_Gw.XNrl=|dQq5ꗝ?wtՁL9S_|2xKd5a0> i5亗>HPBي- S'Ó},\!4~lm;g:?{WU%BOU@0T@ԪIugNd}W$)Vz /p8jM-/5Td3MBv*Tʋuޭ&Π{xITt*6QVR[qrܮSdx*S߱uErz0.Th}X,lCm%OI9o`[v >J")l󂣈5's*#Z7[2*wO4JCtYj#?KZPvn7]Vcw`})f-F b// +ȪF@oqژbw,U @>aSVQ) F`d;ɵ'NœĊd3j}@ɐK±c4 j_aK8$!jN[;Xݒ/FoKtɹZxSwQ1;̾\5%ވlp~* +w];]x<tSթyu_OWEzƗKf=vfuJ$[Q +wA>#fZ]fG}qk*"Ϗ`v{AW*/0ƄT"vbO@< 3lNxRD։@O[c)0WN5CЦ J] +ܶ3gP6wH) *ܗ*zOIJ"tYĩJW adv +u)-am^~ABvڇki(fL>^u0*lN /3#bTH ]HΔy +ziI+)O-Ak\JAK!-<iU5 3ruZM뷝mLiioЍ~`ᦅ>W5-GF=p~߉m EJg\F`?hqcʌ]gK΍*mp;M൥rheNz_Wrbq*{OH%Kg+_AN8G*-;3X]ϜVټP˕k}DzYWI#m*g,!(*7u9&W|f'spHKO޴]1؟ +AJd e2:X\l6áY46K;ͦdNa&Oz&Mw)4-`I(B K{ U9=6ni b +`%`B6vӭ6 YĨr{zTLi7]B!R}g)*#+Ę-=AęGvm[~/ tØ*H!>[:C=&Q~ i(X$bQ~0?Ɓ%ein*vQ% ^zbQ]`!SRDY_E3.c'2%;ii@!զKPRk~ Fg@N~_oԹ1;uI JL+L:ùZM痍S`3 X4!4VKLu#<35Ea\$0NLC8pZam#=BcX1.X3 Sh)簈_m+ [=rg٤RSpVe܂8(P7$QR730H?]rڒfXj~Dװ4 .Nr$1rǓ`;ήgf(E8/q|]aOٍXѹE:/6NङNC ƶu1K_vs= Wmhe&ri ڹ͆fk +y\Q`0FhZA݄'V_cy>n`}Ǯ4/ "Yo 1 W>E Xjw/FlP(0O돥uN=*P}D-c<素mʸU Nf-x+3[W-탵⬵? e Rr4R.C,XCSEI0'gF'JǕPe]hgjFQ"߂ÿ~=kU +mxRvR +Am AZwȮeѻ[yuߩ_=qt_2BjLQ)+ׇ˧c]9T Rn=\0zCe5~C]_] ls^ıxiDHchM918NP=b7P"Rlb?/{~oZ[)cl%_" nZ0/Z5jI#_g~Wjw"]s4f( ?z2%%ӬV1,AM}sO!2v}ݸ݁ӌuA3PM#S"QXȍ<ֱyQq U/]zғʾ5>)Km(_7"%FHq%|#mE`<ɟ;)Cļr:Pя"=4ir 긞}o.Qjk Z2E-힮G߻>.-! ̯6L}&9rpሇ Jt"Y«9ʾ^$K뒁5~hX9> "N򰩡t/ ԓ X:uVN!zH#BB(vW'jT8ywYsH8fw; + +t*ZUF"+O =Mm̱Um3h-UO)p#v<+˜1/p^RBfv.!ٕvG~('i`JNkc•?3|55r V=ps?ݼ0Ʋ:4Zr֌Yò*VoԢXSnւg, Ik<C< iLc^CNjv5!2 ԄݗHP^CR Ur3v1'ZDd_d'E8ݖ%ɥlL=ckCW龅N=m,Rxب39]"ٴ= ܆*c-}uܙza40?g+:I7՚|eha*)DCI^2؂S%uM=uezN4^=gs{3(Mc-TujQDZ⎹^f:]DקYtagD:߶IdxAfe)S+0˜[3g PX/I;Cua(sLQXOCi).'Qa)&?`I1ʃNcg7j>%wu$!isQ_781@,(V؏l<|ҌB|_qK[,el;:-fK` %ŘaH̺yPQ ,wfPgc'ʬlIنB;V:ze`zeנ/]˱ar +9HRv&X⛃FxS資TġT՛fw)~|2voM6-S/h,dnYflbzY9n^Yxz03>/b1lքW_dN%+:U[Dgטig>q +u/nUsB++m\,(#'\EQ9N4[ОY<ÉEg Hڗŋl|8_NVe;і z%#\jE?zZYjMOHT.Gb PksnG-ݟ=;#kܳa+R;/c>yˇ9j=VOfm_kSZ9dX6-Fy:ˣ)n+)=[ 3 Lhq6뀒/n-s^ gքٟ?pF_ڳ4ÔÇtoAmXm$E3W.~%mCC δP%wq[z~*uB-=z3g/L}Y]IH)g7^e=@mvvgn1Y \gGG0u%!܈xp)`o>9Og]Qh.f8 +9D2\\ٿ}<)r5Zpű0m6A +Jӌ(W9+aB/dô=["ثy*DS4W @ }*XJ<>"zyi*S4?fxIr܃xM-0G8-iIaƴ5}E`5KJ8 ̥-a`x.~B7;8nŠm)w4 +vIty+ǔՙ {[҂v4ڥ*חV)sAyy <붰%VZH{xdY`Enquq/~Uhf| cv@;tsZV]DM*$۵93m;%2 +1.ŊPq2y[1&L5>Ԏ W9%U,AWg>Ekl]Η|sY |BÈm}6v߸KP"]R?rsLC>uɁzl']iJ(Eơݩꯝї>&аCj6 uC6 @ =ߡEYe^Vy. %pp::Le`pSDo)nR "HBx +lj@"qjyϔr +Ύps 'jOpe-TtR/cޟOi[/w?+xCbdpWPoޟ퇉~iz82 ^qs|aZc[E1mm[tal_BhS`UVdI\DeH۶]>Nt(tB-@Na=7f&ߗ@G ?\ɇuD`#>OS c0*7; yYe emwf{V4Mvsw --A#Z(f'iFh?.e@\YTb%1"6%5>'榁&l wle¬(&<:- Q[h~s?}ni}8#njQLy'VFw>* ݤ0 +i=XC1q>ͻyyBD&F/>hU2bmIxw_ s[^O!uMZlVӖUVDe.jkީz_t:vF&}0~8r_oo>@8$Z1/Ъt޺Y WɌFx=Yv.⁹e=X-|AVx^>~e[ -_SqmDk>^6#X\\.yɴalӻ_a&gҩL.3f=~qbà6croIHu#[\JWv4;|p.t9B8J&&93Wb Y1i)napٰ&p:N?Lؖd8K04 *?;(T7& S ZewioCqVJ;-aE:yZ # J5by W)۴ty4nf"VR_#\ޜݏ8I8Y7" Uxg|ѯCdW ݕ*fqߝǷ?0o{O-Vs3y [bAVcXPbo?ǿ_?&xTU-uAIhgߙ>yf-$ { ϦCF"yb({_Hh]Nelg['pB&O*"bڡ: n/ +9ݟ]0(PQϋ.qslIy[?| VD8YX@,Uf\߼}K< |8A@;px kW9 +qm%DqnWS7eښZ.x +6kCV:093m>\ o"NueEpZx} 2L՘Eviil +J޿}s\LwIGcR!(}xLt>l ""wh&"^uǝbX=Fhbno޵7˫Ygd̝s+BSkVXޞy@$Cc&$>zŬ+xV[8^\{}R;( GkLomUT6uoO%¶'7tzq<^]{vˍWF +PyZg!Rz +~zrn0?BJU@Xn/acT mԮ!A 2ꐮwn^' | @+wSr7ݟ?ޟ*E=m4ڂHa |AAR,_^Ӟ#, [#ўoޝǻա T$8 +h$0[nSX̀ā50pwZRo^]&,^]=%&[+}m^&7ӟx~ [;QJEԱǾŴ^iheF>]*M0!tiZZ{*2wbDS_`^c,kͺ)]z]>'??}pye"xЛQTTse#t2@"Oχ9ܞnû?釛+NDa7[3-"iY˥ܟOm?v:}qY<"hCgE3bWK #>r2ֽ\.mڥkRWw[%,w~G>IX sk||^ZA#b+H̪' "Rv.ߞ/Ssac[E7<̹\:#rPjZګN /r.K۔#K+K~D_J'۠&s4"k~|w¬9eFQqIV7V)%?fbS|3Mw{dWIBo`Ab.x*XK\no;14TNἅ+͠M_x\i1_K/K|w{9IG椁/1H`y\K3?$2mwwcJlEaHԎ_@m`äzƴn?ëWM//I[yq"MQ!R+ J#WOڲ]w߽i$<qΣ76HLveMfF<}KS~x__nW`'cuJ-"Spmﲰ=6wo`3H+s~Qj^ػcKdҔ/S:ڢkhU s]agdL*]N^V81:"*.aʚ 9v>,/.q:%~_%+ mߏ_Ej0_&Ut.brŽ}T涃xOܶ_n;NgqnVk։6UcsWWwC[e~J +T"%~dx`l_s-xr/i[mUl "2uhs|L& X[i5ro>ܟ7?ߞ>||:*$`)/cc:zbaI v伾o!d GZ] +fՑUAy@"OΔ*bIo"7ntp߾nWLfȡP@k@'Im*:nr*R. [qH394,.dUTɵ}!ٟs|{v5[D3tPLjv-#iK{WF[̵CwV@VvOۖe`>̺hE= 7W#Z1wt_[vO?㿾WVe#)r>Lnqi.!Ѵr׮_f.-o^|o= a $"]K⠨ڻa:$Y8=Ӊ.#4Ϸޞ9sD +2u),1³8'-'J4϶2,@v7w $BMn!]&iZMHbBWez+/soz|1C3-[;uVeХcc'zQ x[v.8#ZP92Aj=qZPq{^(f2yN[8/rmٮk< +d;Xx\uڨS;dYkT|zq ݆Y@pwsGMwâSdU7?ָz͗-]ǻ2[8qrVHLn:v) Dە;ǻso_qD[+.ׇfšrSX|vu:}1:Cz1w GcGr7[ӊ +i ٚzү^.0tʨv( !# *W+`fZ3)иH, C"^6嫗>is݆غl$]ʱ|+%T? np5`;#-* Zut{7WkǮ +&Xj0&5ٙKP*(k ݏjo~i*r"3{jttvLEySF4w~?ߥi2;=hIb +;,ji9Q]VA/Aw}t|N"4EUd%0xH0\x2#¾I~9OWzjJ+xa:] +Thr6q6Wvh'MQDBU+qŸ~_4Z3Fh6*N5J|e9IwρXM^Oo׿y6K!PA X%UdS.C-7^j9BkrJtn1zZ)!d~=9>݋oSP\LF *בNA93/S'{NWl057W߼h';ݩ̟l},we+u=Boӥ}3*p?{y:ϳoi|=l8g-wl{j~ի0";[%XQM&DsAx C.߶jx18#@""@Bn廲$xWc*1lhLU6r|o mSo +x2%l9u ϴrFm~ 5eƯnn #v +jKrb!W94,QWGMӲ50 |( vĞ>Zje]Zv8z3X"L lv툘؊ ٜbBu0>&84v⯿77נKnDz> /*Eڏe1A~PELG wV$2-E bWedˇq}yx7Õg xj 2յcwKjF̼m/ջ?<~KQeb8va,jgY"e.߼_~D#6) +T7]l䶯3\5?S\KvO^߻s;RWx0CgB+9" a Nl^zy,:։7 ^@p _(i !rJ;K4T^'tX51H)iΡ-s/~_]":#Qn281I'zp3?s7ڳp]^|yL= 5oy)WK0( I"ooOu7_בiɭ&S=yVrvnu\ _@>K[NVǗ7/qcS9oa&[:iJ؁Z;0pɪ3ru5|:u0ϜebC$:iUFqg9@wATCM\湽 )OJ,yY 9h +Т0f΅vj),nTblmptL wɭ<vtwcx0Mok ,2Wf2:`>Ln(u]ڍȃKe՛nbjt3Ĉ/rWjt +t +Ϧc^?OCzqy>_?(Np{7y*srO)X YLRk瑵dU#}+EOJѨfeT&E{ xz9er["iiO9GwTU3hQwC]!c-'67<_ ~+޼G*o\)PbfQUoF]b sH GK}9$+Ṱp &vm${ 5 w ~>?^naL8Ak1ްpGQ8\dhּbϒ!vN& +%e&, +%y[(#fh,]"wPd`ޟ%E6QEi= r B+ 0 >6> 1Eh\c`6v'b҄2kL  Ifi$7jYWfF]Xj zy rA,A4X5Uº*[Vm+u`GYrSk*}ȑ9w L")H-^P6vǐ' #C*/yt 4c]שAW3|^8f +A3/EYsDE[}qg$u>; q!ens`Y!`b +8ijS\V0~z\j%@&([",<@A^6E-h'n6REJ,2(ܧB%)ф[-Ț3'ڬKRHĭަT|{Nxw3=7=u0cE 3%TyԀ)e1jޢ2w~^Ǐ߃ta|ғs|[ Ib ( hwQզgpVqQ VwE9 (ݔ]a#50߅$ԕKY#.ԻEONzسtL󥕸y> i'b{+4%z[,0$f Xg ۿ`9oF:)gqAw;r@و'(rv>Rr=T/,=!W830OAV- (XU;3Gџ|wpJo_gKN7ϖfa'^oL߁Cyc +&3T^~OwC?uH2SyQ suJ_ࡉ¾#U9r4ҊeH! Յ,\Hc!Z%rsfd햅zh'鼤ߎ;lE#kcn.SUʼnH V~AS"޳.LKQ狾v" J|I\Sl%Nv9ȝT婫%y!!Xvi2K\x}>YYJj"tiO9;=8l\{ ji,<\EJ3=Z r˓Oe瘲ˎ}`ٓUuӔGO˕_/=+Z9(y΢k&bEmǑL}BdFbh5pskyVŘC/Jt|)RSn]QL|JcJA~"Pw:fK1>+Ⱥ3c1ߎYjHq.- X31 gbȱOHgϭ̷ٷӭU.kD5< 5>u3djx8lJL5\DGeuG~*w/G AjA* <Э1X-ARD"ȨUCCo=aZ8 W݈]֦N S)oLjѺ:6EU9]C"9-BAzN!}/o~P{"*HfţHV.چھ&>Er9mi}v@24 +C`6diO!(`cf5)pk,hr4YTN@RkW= +}eb!5~(y,;B`F꣜_w 1(r `׭PXԣ-v^dEB}5x~杯:qbكvyjZzŮ76z ѭMW<5c !z"v:ڬgAhJK6omiB ב`\,Hom;49mޒBTHޮKdƶcǩQnM%q;)uӃަNH3έ'a"č"Yy*s;C3қɱ, &U;+tnj*FOqcW,NvQgRKVsj^%5?$E` +LMo]<={CAͩ-_Neu&%s# +r 4v;r9efVT {6*%Jx~BYCo}f]l J,S+"s y.pt(Kkn1\xȢڿ{Z[z |TvRLtްs,OQk< ǎ!m+yo;WɎQ)!\T~: UT"%i8vVanu,`97IO'Kil +WRD_1&< I%XUwxLaAfF *; LT&ᯯ?/ |>l~i~d.~˵ji+R܁BMTr{XMPGԶpL՝8`4P1i#S k/yaTӫe-zG$h,d=o5w˟Jaz^ Zwci;L˕R1Lw7o1?A-uZ7AkS K6K[V1BsA"fm [WUo\6)tqG#{1ncVڋV¹T~Jh7YDD_T @A:4 j1 (G^RFTe&b%hu*')aG] _w;kv@d5(0q&ے6;m/]9':xK'2Vؗ +Q\nZ29M%lcn2EΔ5reHRUWNYu\ בƧ+d?hDq:CTVr Š|]0+k eE|,Rd+vX=vѸn9sg8/==2Vaʵө@,J \M:qƁUfR83|:C$U)ChsD ?D6 r&t+ц]h5yq]֩fјdbIi%C XL.1\/ f$cVK6PJ\ %-4{nWm+UVL粠q[zf׃+B5Ŕ8dr:u'r=HP f$` pZs.nL7\ױG2+ۯ"nA*U8xqʋ%dJi bʱa8VV`8V2 r @-&YT僴k'w'X MpP|(>I2z{lG%DMc)nERvU@p [2C :~kT.XhN~g_HHF/.c4vvKZ' vS iWr 4w"t w.,GQAZ4PRTH/b\z`GPH#s :{ &83B橶ޏ@B43 _-LSB`L 4%`tl?pfc/=Lđiv:rټug3Tv07Z2~`5@ L Kԁ?ζpyGwH_O1y*X]Ũi/T›`#?QX_y~A{\ 6pcoR-^&%7r5J/HZGGn3Bhl2"]Hxwt(W{Re3|z}lO(k[; se#A5ɲH?$0(a=?W?0R'.޷Ͼi9`Lٝ: r0*~Sl fy͌>3NR#SX#s!8u״alǍtXmp6G+)UD)J2*`UA>tNo ێ(a-=P)VK%*n{TcbGN 1? wX +)חvfgos:- :EʤE7L~qNn [Ul'D_ߧ(صZilh{ݍݽXW).?Rf> [(\blLNNC~Q=FaiP54U[؃EV=pUigQ3ZD[؍4j/&dR_= j/Tc`ZvvO:uv;suJZjV#5ٝAcײVFK^4bHS UZŏk}A#*+[-^tfx۩=‰;>Z7NɦlMԾP,maDaљL:1A L6Ӛl`[,Lhs/SrYh(WzDtcs}_`u|EK(~ Nfl^﫡&FA6n0dOSKbslJY&AeѦam<<:AYLR.IQ1Jʤ ]"GSEM3*l c cdL+F) E/ +" pEt=FWj9J*tMLk}d2 +r$7:'o@#RC54;ȅ#X;ZwB_.IarU6743ѕulO"u[d~ 6PGFN=Zt+_ȕn302 x',7 XD**<۰)R1a鍝;s S`it@^_OL8WCByc_p]`(&}V }yĮ[5BC(v+/_CsCȌH ϵODg|{BD<AepԿ27|r<ܰc];h<֥Uœ8-PZ-ug[|Μ})#"98j g9#e)&&"Py.R`M9d5^W~h\NFVIXģʾv:_1,56"w XIW-$])@\4MKp +L?W\bϾnXM{RaLN&õ1Ŕ/t0XqB٧\ MG8@QkZt7éT{ -bۓHXRT!уlQv rY3e^O ]27:M +_tQAY)'1W]mO~ŸRg36_(H5Btޙ>.%gB*' bZc-ŧEL۵aDtSM)e!n)fbnp{]|WdEq ٰ|;0Q&NP(9Nv_RߨpQ +/}:Es%Sc5ţ VLPh,SAYjPԃ*W&vTԈN@hUa-nwgLx@Tn@ziC[w)PdbTb&myrecѰ m<0"\ tSLD4(.]L:.H_㾇eڳ"Yu]C7Vx\#SiRDTU"A +m7yv ]^&]^Xa3L@Ԇ ghEm>A5{I p@81Z#(>@$zuqfx9`) +4)qŌ:]wdDWBK L5% `'x/TQ{w#pRI͔ +}y>tCEϸV#!nfT1{@}M!=fV Rgj +,9lT2hF9CmZOn!b햹΀aaFjri/kXn3Ve1"؉&*ַBvbsq&L9vYz={ql=3|3fnKa0.-j9`#l}UQG^k mo n"|n'2#d),'Ca,6v蘣7Ҡ^u;qcT.[ ++'͖c5ceQJJ C7dٓ)kXPJi&"-E*7Jb4$0M;(_3޺b*0}I;b;"ҷ!YP;j\J+ D̹tZ;Xp2b|d'/bT q,,K_JL d& rͨ «UyOc)ӥSsX>'R/=@G4܍(bTioa8c M2w 4U^ゃ5U6ߪ^sJn*-(_܊XHL_uVj G"%›"*Ә2-99ϥnjW⪿dTMNc +j|hC8#G"h](N!@ UX5a$XLyE]hRcW0Gm:Is%v;Cw2x&3B8' ,Iֵ4YV4aIr]| ]߮Qk}j9)]&rRdVfUuxb04d/?˱dbւ!z`)Ҽ0^2?Yshc+$Gh,&¢ )*x`G,oӹ +C\[0_V."S +h]v +:wr)%:Β!C:)),m'*Gԑƒ!TP쥊T"L^#l"S2sK9o786q&V.C)\Mq;&~c)qѻØ$9R S֛@IzN7ܕp^ٵϞurYtO^e54H=Q* +ti81JV=SUMdPay$n/Cb] +-=Wi+6x*[h?qOK[cx[;GyqTQ^(lGY PR<)7& K"lj,3<N9.uQPIzCLE?Q xM<ƠUy:dwUVd" {Q*!Υxf0p"d9څH5c\8Gn;+`l,N6`ȻD)Kr2in ))2|ѕ{kE:9w~Ѫ&[ݪw]w+t2GazB-;;SG,;z)™:c|Oу=ʮs˧8L_GmK]GUMRv^XRX´1OoB^lNw{bN-'p؉XDybղdSrk),,+&#e)8iN Ϟf< "ewY,P~VRMq{r\^, fQrtXCVd|_roF@lKCȱGxt`:_g񋗓QV0?mK` ;Hк 2F!;E<=8{0Ex j+ڿ~Ci.b|xӀ{s<&UX!G"P9gy`', &dV<Ўa׵<,㖨ݸB0 +rv x_l'*7UXk {`'GTci>U0lRcRt7ḲBj,eiВ<<d_( N&G۠5IQ+א1ӓ4^%sDG_$Qb.Bw\HCf̨V︆=c/ʇ\F'(Tl懅 H+jPr#_w̭G&C'2ywIj:ƒ,$NHPw{k(O9A:殙E)~b*0V$'C|`dy/"u{B&ks +UH#{8,H n:l~jf4XX'=t; 0X*Y߭^YgMk._~2;u** pbmQڜGA˅u,kYZC)oXKhFԥ!Q/Ytq3#" I'=]n,K|y86mJ(&[Ň<+P}fK>}"1ܢ3S(1WIc;Q@<)ͪJUg(kxm}F@pa^j:p<qBHnߏ}F懒2UM3dnBW`cV+j&R-܊,7,"Ngmr?sr;m`3-1~Gկ9/GK$eI%n7hb$Q{.W"FvHwcA*})Ϩ'52f+n#Vz~0qܨ[S VP|賵|K +:捆{skrވ@dcee4Y-<i RzzYܚc#΄W/g!%(I/" N!~]#ʥ42v%~bʄ"ڨ_l– + ckتG񟇱OAUnPyS +G8:Oc\)g AC@q}LtID O k>m(5QvYiHɽxJC?4-p0uB]`',V$yGhP,PB 4DPWѸjƚIرm.;p`h7}f+,:WoP7l6Mm!TJEtTS2[a(a1])sP<7#$Yqx}){i,.C"BcӁR Hw`D?'0{sJt0 ;s#iZ&s'%Z5%4FQN8#F' X7&/1I=]Lc0)wnřeaJ*R; RSg70KIK4NzcBۧqZyӒ"U05ڠxw@W^e>^K[_?yiyTfF#~^i S֤ (1K2֞8y˵x+8GO?' &kheLHn-;FF߁ ~UPm*ʾVݗ +g,_}"k0.𒕀^ f&`EؒR-v %YQZnnȞiFtN A|3!":h4C<1u(7D3dxx +O\R=۴{RXRĘ_Mld%֬p<5-kaK=J%O%>cbM_v˳_Vww#FpҪIC>YzAx %Ui:N%{M cI!*>mEY}qR[LяKr<<\u,|G]~ sEʯ4T]6eD\c4ĵ)X;.ܹDGa$KO*U4SwnV}8ʴ 8,"vrIRcNş,e\4=M/,*ApWffKah1-h.T˙zECc + !]fo~{ϹXbUR]|2e71 4ȺO9ʻߊ} 'Y(I*UeCqQ,Xo G 0 df=vZ4ٖfdk.r˹|%=՚4o&񜄙QF䑱z6"΅  ɁG`* (Mo9׏4p(.{CQ97v,w;Ptw'a.]L`i>7nöFl<2?,v>FYaړe$;u;Muرӌ"Z2S܎9#ZF2 Asp]\}訊@jzdY1Fo% zm-=.Z Xɰ|p Jp+HXw'm&zRtzkV\X94b8CR&4љ-slJfɕ!ru't;D2JV79}ɮDBͤ 4;ټ]ЍZŸ?yii8ϗH' y +.]@Zb׊+ σAKp۠ 4yE' +9֒a.BPT ]8b"oK}_6@y\epm~ ٣? ;ė >#G9b_9{\ľ8S0ؽ9=RJqe[[؝[OB\ @_1].(.ֶ7RE`5V' BR;pqcZ |F$ +n3D(t[܁y &?[%_B*rjrTO&@Gm'5t2: pjQ)h# l,b '.Ύcޜ "OWs6S[|?}|l~b}f23Lx%DZv 0e$̣߯ZT ^۷xTN|t.D}k> +Kc۟3q78BY Ofj;jXֲр}=D 9Puw`y2uwDZu%;[{8nT~;cJũ{NIw, Yha졥Sx:A?keL2a+F Z4E`.~<YGqhu +O"<(E蓖gZVk. pb_3Er|LtOQ|eqDZJ({baڞ?sϖ'vc*LǙ1< +wϣf'C~-lT9>g8xIsVv.P\^="/qu@Uv0.4~Yx֮5/,^ +x:ȉ[sZ9]5>p[z*Z~^!>#r,:Z;j 7^;zU2OW.zd9)͔iDF^McgPVZ\ ! {0'v(9gx DD$|9(S8v+Ha$q<3 m!x Ȍ0q($<4}g^.Eқ})+(i#Kb69w~6 +k)V~9ǽ5LyF"H +P(wSݿ\Y;eWd;p&&{Vh %Wf}釟+ 94{ׁ݋ax@Yj,1̊,v]҇S_Sq7IgZoa + ӏtP҃?ww<5M.@mK"Zz9u6=[at*CW$ab| ?^R/*tL ].Mz\4 d'g%Xٛc"; W[@]XHZ_T^9 )]-rAsMi6NHvxVKX6´'pŁNGY Eݝ\u=$&ܖI(R[|Z-b]r䣲2 5~~Mg%B\tj ユDv@BfoMty6mno?ydJ?wONө={@cg'Ed.GNϽ ɤ7K/`- _ǜe_j늱XZ/-1&~7Z`x>z~"(<;9 *WK9 V\;\Jz(@=125w +j^úPjS~YFg[x{6dL_JE©2 ii?Y"Sh_P'D337jhQ'Cnnj"~zDlM2w#BaC$Jcwi:YL=(Uf0K-}nzQ yFO<ԾFq%K?˻J؝j /Mcp]>\umyqsz`Y:gFov 텽>h|AkvDꁚ+m+veCSSúַf>V@!y#7zypkEޕv'A]MӁ*[A'Ârag֏:@g8 ',-M9h5B Q>g;϶#O}a5$6ނUlŎP1,Li(3"3(6eeׅ7~)Zp.S3ӸAnSGWbO7F4Bã="ד#wˑգDxw'1U F\2Ӌ=q\iI3Da h[,8>09$=9U^z LRtPw\$**>Ot/||KMT>JSΙA3ӑ>fW.=zz cwCi^j3O1((Xhn{7y1_}Z,y7^t7Ub lZS\ +{ rЊ4\[9=OMκo*òmtqd.&v9֍S{`F4{@KhI#=9>Cyn5KkgpKqS1KNa+u9jJKa5ۧd;C8;X?U}`V);eӯͨ3nf>=(89;,FK,Qlh:S|WhTpk CSв +[O;i'/ed~Zog>Br5 ӌ߻7:l>NŖsB(ͤa) +n]Q=W.{}%m/4_P="4BuGwU !,[vZƦJ jϕ>N'0EW;~>ʹOif96Ç9JP=62c~X"N6-d:A| }ӷӓ, ӣgfwSM;]&kGqôβxcNrcym9]m-hg3ܼFIyɰ47%;Iv%9vC<9Ub~睊|H޻ ig{QJK,v[u/Ѿᅿ5ߵn).-ṆG`FTÐr4o/i[7dލĹI]$oh~ǯi%Ћ-ڜ΅RdQ[ƿyTȃcӥi ^fM CedN;YY})e)|ޟx\^mx gnN26<(3, p K- +W S,]J{o%CYR>]Ǘy= +dӧt_yl=Kw¡:3Ϗk.BhU 0>\5pu5QgowO~_YJq(?°/reA?N)(x7(w~axۄI\VI~qMvQ#3|sZe1-f3s{/H'11shndv{”N!e ޺:;w=O9/5zK`$D}%zޘw +\I~׋ *znɦ55{!wȢ^Í'_[)x}fGr1y<{:Alw<^?B n:wbA}nboa,Ӹ*|=\꽑 Յ1S&/(}n8 1tiX(G_u,C ֚{eS'`%Y،> w\?|4Ǵ +GpHdw4g( E KAH r;IYKa_%>̡͌$ qs%fr0%ö+پ46.Dq~hmrM',Q>j,`+C+a#?rLFt;\"Hj/cf.(&˭;rFX҇o]`<| ìt56aBms0:w>C=ks^^'Ϗ?0dF}/%x<h@#}mfÒo-eS.Ky\hsyQQ35!vnj_ Cx3yH tlCs1t=Dx݉vvoLu6ܣ +]`>X"#UWlnRf9sXMݥLEњ"i2ʹ$鳦Xkw''-i]˜&B"8<"3ԗD='G"Ŏ^hldǴ]F2 |%r|ZQ&9p(=;sG q\jޏpi)B6wS8PMR?2١\Rh1~z}lY?ogܡ D{ ݰj-NϣSJmhvYҲ-׭ +)@l(FVhҷfEZA%ݞNޝ!ho(:'4c@cyޟm#Eh(.@hs\2Q _҆TK^rZ<,ukLP|WD8BZAEoM<\`ú7m(>l=+T)(4(qIaKRf~K}jTWdwML>PʞÂl^[vL.|VFȧ~ϲ#nƽl3?zgTVH>JKUʤ޽:TV$8qqcoԷi A4ƿ3Rzj]Y-aW=靯0!wx.)YB{Q{; +2U1jO`3g3,srxG3WvGttdE1׺W=ؾum?i)gQ玗ܥ##ƕG6-9t@9޸ˬ %4l3Lr>~&2S zŕ't=y^nA7 wlsR/a鼬^P'A[G(39yTf)X{F6Z&g;H)nV x[! 7mfq'^yZlOɁ;|xN:YN'rۍZaPP61!ݍ+H$6ޝ! 6Ϝ@Vxb?zż,E;Q5Ѧ@Hsp|.zZ0*qIO5 +,7@$;B7fE >3Yn1aϏ?P gyj(7˲CYn]/y]Z<_GcA2.t,jZ4e8ClO8BX]֔rjTa@tg͕Ec<4V[Qџ{=q*~ +~ڶ~)Nb* oY;v95ʚboa;dAI0SB~މQac{dӗ}PnϬVaNNg~+IS\b×IˡMI lSN3٫?l0\e.wշϋi\s3vĝ@ /Q~@[:>.YY];@%`+*#w Y=\]*MZO@q~ o~z~.s` ;6}$MJkyl68O۟o|2|ǦM hWCvDoTDNk?D_gVmvMNӟፄ!pcB08,ys|䪝3BnP:x-'G+[ +| ((d- t-P2Vv'!٢iߗ6:;xv'uyF˹)uKJZ2SJa~R,Wϓd.DV|As; k7δ?pE4’r,z*)Xg~U=GssXj]K^ +Z>:?ÛV6շ g[Im09`W^_IsHS->on@Fx[#޾HUSps7?` )#|; %̙ɤ_N^~8 s:tL5`΍^P-qCŅi]:sN"hcKw\B/rS;<3uoImo[`@u(]N kfO,tHϝtGMLOCS:X2)6V yDt%碯 +4MF>@?7gy{u}ZGfrA3<7T[ s¬@QW#lou!sҺ?rv](ބz*SOq.nEjoi8]:ONo7>a'ѻי]&"VW0f>8ߝq\Er+]p0eS Nu2d"B8Z }o:j;gpFʜUMdlBgYn*}Mxr !%# > #s)F%\۞rZ8=|͆#׭QVX7 Z6en˔n7smcwaR08VJ^`򴔶t ; sֳn#C'୦T& i|Y~?٬ +*ڀKbB#\`?ͳ!5CTJ[!ݱ懬-48i݉91 l9z:l8 ,\8ɋ Ko&jJNTPGZR$ +za0T8aN?]Sl |v..m #EV",'fViWWa5H[ˢ{&'T3h29UfN4݁ vy%9ܒ_?Hƽm (V^% o qڞN>sRf(#{ls{vR;0TwjXnH{4l_!c{0WZM +6 '/qafk/}dN!@Cw\;ڨ3=[ +Sy[*'9mP߂d1nF9dC^u:4$!g~arr"|$4;N07l*I*jQ\D٢]n璜PI.n}Āi9}kQ6x5G-| bРo;X\0PFXs8Ro\)qY/U֢jd>uq!xawe~4xYlW⫙Yd>{dY8ɶFcݏs)RM2Az~qpjn1! FcR3moc}n>kcfi>QMW#! Rq\O(W[ǯ*d+SOx;U^e凉'|$;^Ʀ5ʳNGu-L|X^aY_YҢW\ƌE۷,^nԟ?\ +6L)v-l06ñn=o/dpKז>@]lpG9{c'<-Ј?Y5NxP1 +lOҴP +_J+]tGߵ/١@p\.ii,Th*f$$)NG7),|5Ks} ypUU+F%~';8`6r~[@Chlnu +J,h㇏6 ͶLto)-st6ܖqZ}ckQ2ٽ7\jڤ]Sq8Li[vk$I89-C +*lx K~^2Mq'[qj$֎bڛh-:/vYMbT`1`ߠ1^Eul>ܳ?T.%A5 "q +䊇BHS!|Y>XyfۼHB̹l(]YI*=4 `WdشR e)F)'3Ss a|7xm؛ 2~L|-}dU 8C` ZOeqݲQWz]FMp|`G#Vhշ,a5. ,kZ;쩶J5׵e_5L08QQ|Vf/ڐΥiDhUۆqbte5MW72.ֽ?@h H^?|jH;#ȸuf(`a0LuC Ӻ\q,VVv!|q/6EFإ6ےZAxR<^Lº]{w#U{ "0ZvQ$c꺺|t8)(ٽ| +dȮױ?qP1IfuӨp8gJ0A{%s(aKzmT#5- ҆d\ +T9"楬:0\~^p'Q\6ѦMDj~(6C~ ķʟhkGFK06b5ⵂkb8ʃN#hc8sX?rV!8iYd].{(X0UusWi5rDdsPh*k@VxXtDsxV Q#󓚋3WL͞3p>z>\H|/Zou. @@6ڛaPWiE=(0N[ƣyNrdcp>/ў-q捲nϻع ï%V=q^t.v;p99x~Z`xma+JQO$ZP>˦lnNݒ4՟֡phٳô/9#V{i\[S |zGS.qp (>]H@|hvKz(*h:4rZ;L6 Bh׼֎۲POo,²YPiݡqYd1>G'WYRy13DKxg_` gٍ\V:ԪyQoKU8G$BnviGL*O pX\ERKj8.+ C'oԶ='^t3 GRcWx6(L)my[G਩9U@nubAht-UiFȗ^SLugb(+)xL%Gc}nZ~m̪dx]ܙu/lW*wG(jP%P#m;N kl ;JDV*LSʵXd{&=X&̷kxͣ/~4"=Q̌}Q5!9B?#!2T(V*ы +AidTSa%7t[[E*CǹFw܃Cb^} +%tXBj)}gT,q9 +N59] {."w9ҹXT[el^w߅?iq@wTsЍmnJ=34L9HM(&%0Ƭ#4cy2n(uBĜ]A5V^[nkv7(f;a<"#,GnP`*Zm2X;z@+࣋Puq0f 3G1z٨!}^aدdaS"䬐[5/0O!f&Ϗ};,f)$$/QFRiÚWoTK9CburYΛy,22Vf 8d<=U? 0k%3v[hE.hB_F.?0 I *DRC;>GFavч 6*>.S$Xa*pO ,M/ dGJIr 0<'۽ AY~~zOG+,6cuƚ|k؎6%v`/z_ϒ$2眞6k^Jw&_wڤ?_b]Z9\ƒ=;•P*3`rКZwZ6uLq?^XOmؔb !y|~l/9PD˓KQ?EF/58Cukq, %K{HRy|h]0j) 5_ MtL{eOnO>J>A䐘^S\4,(iF0f`#0 K5g9j3MI)"vnl^>q|὇"eCr*tZo`I:hǿ`G]ǘ9kjgBm<*G'i[ }Ƅ-^Hs(}zR%qg {)j%9*\XJCƶ^=P~O+41ٚZ0cs9|4*-2p{rkذ"G{X2[}|X> +ޯ ]}F,Qu)^ʁa_1.Ӿ7?ΣP2bp@˩CҊ*fJqQMܓ?2jaU7z +3m;G%=yWy%5WI ]w0w\5)!ƣGc2$!l 1αVܴ3l\tnJgE,&o!l4 +o1 /xF1M4L*#9>xW`+n+&?~s|D5bw]rnn-NbI,_ F^W?!hcqRvdM5i)`RiO|:dap_̫YU H-҅ze(͸ߓcwʹh]D`;ѵ; Nț'> #Oc 鉕 9y7C8egAQ7jyXcuHwT ``l& X> 5,/ø%]-7 w g q!GN 4}w\@#aw?t5^sa[&Ӛͱ+lG2=magۼ+'>LZD|t`X`/\kGĠQp Y!LYm8>qX ԕ Q+{&BRGma}x0\l~Ҧ=A :6CM"!&l#.& Nmenx`aa]tr&r#"xݞ;mvgL7>Q(%qvm - 5Y9zP,8SDP^g7W]Yhfk:c_p>Lf@iߨipY󑋛ݤi; pWuPa(D-Sx~J#v\,%8θD@7B<ʻ5'p⡅}p|(;3knmnsoO&u ~K3vމ65/]/ +J^zYMN t=]Eύ|Y vYe􎈻%PS68]3Qz% JQe IW%&V.uoˇ2v_<$LoS&l?4V2~,L]sRTXwn19Q):<QL* QM];Unh] +hX}V1 7&n3~Wye\xJm^~e+"?@ mÃ=mpp^B\*i%[E}RT`'Tg0qJHeheG^4v"5: +yN`oMNҽvt{1K'kըOٸNKjRjImDX$۝3>ȑ"1iHP+ ц(v:!ϓT>pr1bx }ǧS%8ӵɾd +!!eCJHc6"HP5Bo$=}IYcBJNe Z]vUas>&'gn@^CGt731vzf0z*O)?=_h <͇ݒ0-8,/l[uDw$f/;I_s9d(ǯ]x%M]ܽ`ceKPoT .hCf8]9-PMd g+^`)nboDY7sv*6Q~*B(?;#WV8qs})Ԓup$4*(CO)cQc%j?{q᢭ `#E 4utSŒ jbOQoJ@6\ *ܰQ@zóm[z'P";Xv/婵(H>f5}c#Sٯ`2WhcwG<qYY&ޣ8n}%-llLR MmwDb IzUn`#M|='"dp9>|&oyCCy: 9me ڍ-{sg59-FEc+" +1T!Zd뽐 aQn*mٶgYوleYDin[[ݶ˖!%R628MKøL+m?< +6_ ֠QY>Qi]wz}OXE|kz>cu;tK*[n|y;KF-W`,q^V_<{=ϟ"^˧Q1~v Ş3zFwQn_~/||y@>=ne W%wW*qPlJvp͸  Ǘ?q X#/fކ먈eOeK߷秏!O"O(QNx*4~ +YÌn|˧O?.[햩?t$BESc8x6퍤ist)?oeECR=W22vv˧OOm۠EdXIF;NX^Djbr76~%ko@^*ݓNg:J;>#䲌(r{>onm-TVVb<ȱȝ:T=cSnrom3˶`(H5H- ݼJ(L%\XQY۷m;ǭh^o>DŽD</;W/ {XZm/tr_|vyt!#=Ez=?PYi9ҥv}Xc4iŰql4ùbgGmc$ܶJ*gn?L&n{qh,LmKs/l~[PS:_h@m{z/p,0ږ]v :/,\ Ҥ0Q._^~]c X$ɶE7'9S +WBU;S}/{ogk +ˆEQ2..NK己!O_|$g[It"muG<-L𘔞/=>}/2n[By;~ +b"8=Vt+s>}r~BLuT8PPDj0NA]il_^vM Iҹār%N˚$ s,c ئ.fYpw[pԬSpO(]L->و[دr]!<ϰ&ifag𝇃MN +-Ԭ?ϗr%`dx?EKl])$Yi[5 /Ӹѩ__\A5_&84]w#1Mj퍞9m//iKϟnyVJpCn# hgJOЁ +ZdM'˒JQ &,>|dD@ip~fїSחӇ?JQ 6UF% +tټR)e--|>>ޮo/gJ>@66W{$_)\F0~| zM |h^=w1NխU[4da!jʺ$Y7k]VC?mz/[|izVVfD;hZrz 0a7R;Qέis$Q\U!0i\֞|&,힯ʖ)T`0qO/o hnwAUJyzoZ@Cj!■L[uohr7!N_oKg4קyv +p&˾Wty؅Tx'S;I\ψrTeR!/=m/q/oCY?ެIHfWu,!;;0>tu觪0ǑUb$YfBQo9y6Ҍg757Ӵ{ի=t [m|]M~m! CIz**[(9oxPGɦtyJnky8'MHf1Zrpq9k?Lϯ^?OON}L!.cPcL2xsMIf(t8p!Pot}8Gu 5l>5~y㟾-M%>+)ȔF.ݤWAZA [#]f0})A/zf훲~ +ҜDbh׆2R! WWeӾ<}9X}f[*1u嗮G5VNK^ϧ#4̴ \xTio}2MDt^b||X.2QpfNΖuB#RV% 9{ԗMC? Nv@cS/~xRӄNM9YAT9UNkZgؙ+*M7wo^/]^6=ķih}/A&՜2)67A9;E1wo?v1wB#> t~apagR`w77Wi8剹҉_ip?~&#'5dhBC> lif`& \m,I*'̄*NzDU4<؇oKlXږO8^8ƙ"qg3IRwzu_t{:O<"}/gLET̙G7 wW뿱^mvG(k{#p:X>Ѹ˱~t14tiFbEiq F4]O{]Y=yNWJZ$zl1%톍|xJ8*!9"wx&1>ƙ{Ž/6liq'D~Q79NSY7_g $si H'iP[WY\;!.M6ҧw VO[zi2-nN c'հMyӓjV l"Ri@ m}ןlO˪#>;{bsݜA@d7'I#8QlX9d`e|?AY +r{cv jDn 4V5.5̻9hrN7Rrr1(2m5!2j$/52F:v7ג""ȣ. X.atDDcJ@|q'g gڔ̛6sJA-1Bt=S+})gquzsuEΤgוelgp>_ lOg$#yY2`o,o\n6v"gi X/bpeFA<(B&mȒ쿹~|+g+zb,ҭymHuQX8t -Wy0ٽ ƫs^*b5^ @%۳C/ t9йq7]Nn'nPaV_ryZ l>R9Сf7X ?*$ywfzʿEL,Či(Yvpo^]+_GH&[;Τ+MFg5~(l?l~o]0^ĄJ ~C5culLWYItw:mX6Cgf l[,J3խ-ZC*u8!n%ݱz"_}I8j|2K9 74YIn?eܯR|7 Eہ佨 g3&}FrγͿn?=~8Ŭ)7G3GZg"ι' + %v~ t@pˍ+w3\B)چW{8 a{I/^.r}ٕM}Ez - z4܊t߸W{No6__.xT޲`3z q.<+6z4y8yf;ޖ K^=ߣeV|)xJ7G%Q1CY +R)MhWb +peT/r-y6{3iPBW +}SR9s@fޔK7q)n3*bjLk"e}sR%k4zvJ)Mo_o.h;\\q >:g̶c +`vٕ;"kf%OEic #L&D'qN=I.k*QjRD|f_xfwI05 CI/NX{pˊVz9J!oJzܬi(NŔ`<2]eqo^^28}}IwZVȹccL&11M*)PZbH)<<ےWͳ/6Yx+%7o™h"lej8g"a$x}}o\bźFfXn"5hG9Ʀ8m?{, XͅCNc>ʰujhNl3+/7(8Qz@bwBYnJ|~o?x<੔QpwP^`PF*:3VR[p0Qme~6k[:+GU: 7;?__|?RfVfw'];m'Ͽ_^|g6g0e-Xd6YF_Y Y )2V`fly+?|sYР5 d:=DMU\xW/}^Vo)#v^ED ^@m9A0E ֚<$/o˦/_ս:m͔r?r{tUtIz('(bȟŅ7%oN](y<ӳIG0fhp@u=mN?yYJCu+xA|M=Pdj7]vBnGB۶,m??{RBtڵ]%Ąw4~Z.xվ$ܾg/}vz:hl"bQum4d98x`Yd;0~9v/.[FqX0a~奖><=3 2tG}w!$Lyr\T҈i @ {xK&og> g/>{v߸}ɬ/9<;3P]>Pif{:ﳋ; 0LdMf&Uqb Z;?Mt~O  8/)(yjeۙUs9ߗwo/zWd49CȻ:\.AU9ɔN:`YҶ3=ǙU<)ϸҽ4Y#5@f_}b&0gLTazGV~fӎ+fA 4Ot=5q1ѽӷ6j{D˳RxF0>LBHx~C15e :!qHg2FRL<5䫬K$XzbT$s1R#XHMBa4'ϷMWBXHl]X [E%T=ٝKUIc|NhM +q{mrߞo1*vVͦ.(A-%ypXrmi?\|GPP#rpG =s=_~;)k[]8`#'/w3wn#h)/c=^r ^&8DӓsvO&+rB`y%2Ptt9 +|):$w7 Wvs17kB/o aز~NԖ֟T8=n1`O2dK>W޾?ё܀H]xϋ}y6 mc̓K`J?l/;fȣۯS[b{|^~]ʹCG& +d =r}\^Sg:  %qy`w.)1ݎYf6`Y~\N*~i۞`Y"2; XL,'ǹ&B@*`uڝtrBg/n]w5JFP$ %s_·oN{fz]#!e߳pٯvFV|Ng/οyۗ+pyˋwUĨЊH#'s 2ڽYs1 (c,ܜhR^ǝ6YtS7/~pαA^IJR6]G02`{gNJ( Uv +_v>ڧ.ο}v3,ڒ\!0ԅŶM]MRyu-ZUL Xl#CSDY&=r/&lή,\_^bI n?߯;5:jC^91R=jλ7o2xS.5Li3^} !g(&bˢG1ne=.N{,V:!|n]g^|1 M93pS# *wY +8aEn/N%s7⼵9k{S=:$&boZ~j?ifӝSp exXWn[pft6]|IJ@:ŒbMR tKr.^Y9 [֨UVL,Z*xkL ÉIgۆE"ʄ/[ ';/~2-[q arUCX"@';QIޠm`xHH2˛A/soKʱIYVΘ6~.OffV,#@b2~Wz/8B k\t?|ǭ)hس2O(x +2X\m \5T/XLL Dt&MYdBdwczGlQot<_G4s,\KSٙG mNh+Ӗ<̀E!>KdyQk |y]⺊]Y: FNԠBng.7 ގ+-<8 :W&"m `3A#KٻUy_^6VLxaR(7:㖠۞~ yof37"yȿC۬ 391JAY;X*'F`ж5M WOK`(;6]t5Ɣ'|o(e0O=Jx^KembƼJ dPp92.&L$>=YH`Vqa۟_WܚM|_f+5o(,o/TF|HAy,0o 1Ț J]A#yn\R,_ IZQ`gZ'ͼ9ތ3F/'T +D{6qtmlPR@53I$2ΗsoniY~v.H:?WY :`pxV&b`~$u#%>ӎŎqLk~zM%GGfa4aRtutj Men ]2?vbcqf'Ԛhpڨvd4#I5ٞe"i&.dk9"`xJK/ы|;xfTI5a?j/Mjb'@旵Pb,鑑5 'o{6cyWnhx.Bw)ey@/l)J*j{?)~h\>nN{!|l7짮tB~usq ftwۍ7}?0*|4`7)(-CN娃/8xmS_ON{E˾a;9FH|X#8d\LBEanR8"tg'ШTs_GWDX- XNe#8`丹=Լ֢!>FwXVф~c `@JXM:<[m J3,Nӎ%}Y|Iz , N|~,w”ZE;\$ؖ&]rfS +۠ +7UT@*@Bajيf~Q$xz.]nQf=6t>(Mf<n +}gÖtЁf%O|zYt.7%L% ` +nX}(I8f6) WB֮0ghD/$L5Dp "ai-"mKUnn|7BB *xV֗\ZHꈍ;:F/H[cl%hHLS{,큵 + À˾E#bDV`VtG ~AUBUN#:hC[#NѸ.̪!$HȄT=Wy+j6VˉC`QsqIQLZnQp=Y6iýj%ϡX")E63U@+Z?~ꣿ..1Lm]zpVY0V]zZ3?Շe˚%&S`D= g2 C{u_IL64G2?@ĂdFHtüi 1)P}&@#4s7֑;2>I2>~Zk蘫UWgݜU]WOLLNFd/^YddڶK*%LߐtY"B 2չ(%%,j):΀ȓ%%i!//`8g'Z85]<"I4gfA4az_5EemP\5:,r_DbUVzr,lCtgrٔnzܩ%@jf).Unf}U@YZ`ߞ2w&< ǿƒ%3$ض ͱ`69EPjƿ[$cGĠ:+aNͫu]狽IGP1Y׵$̉ңSS˄Z9!so萣H &y#L@N,[M%c9۲WBrXwm}^%N&R:)B* ݉xb.7@6QTU࿿5} b/nxgIagv 1;Kl_oEsڼh`:½5~/-^ͩLCTP"Jc 7ÉlJ(H +&LZ;*#JHUݢJ &2::-H{yYxiR$x*DI˧}d,7O(s?1L0߹A*(")ko5+"'WV..b(UVsVND:z)b![(ۆu_SR0@$E|YPouѪy* xYItԤNLS)42^$+s2.&rȕr.Şh}cI3Z%) zʯV:n[QrEY)/yW&v&-Ӌ1W2Ura^SCQR}V-ԀylMRM64g cꄢ,FwED.G*%.ӥPX#XoB^1,q ZBA =\|C +8f,``Q:e +49!A+쎨e=#:vbqdj/(r0̯ݺLVbd`9}/~AR^-ENȉ[!csU &mf. P1!zNL2%Y T_f(%Ǭ"xz{Ng\( +'1]F\d#mj$!v}(Fɹ){it1DhIfDfDMH%g 8kΊ܉ɰHoThTe rV +_$I[`ڲzBI>I%/ɹǝMr5i(Sbi&XGOiAWw+5dz["Elޯ%Hc MPCu+˨_BhCok4Ca +:?J~X5X%=ՍIޠl4MإHA!J$ +#-얥A{eaO n +lcl _GAA{s39!0U:g t\ ul -S!B63:aM"p.e2 +?Z Z{m\g]1I2oWyؕXD4uPO %j!rL9dW/xm_moMS'\t5?= +DyQSvW07g{ӌF˲Xg1afqp:"H;OyCInN5xk#xĻC@-B%pRcn=$呇aS!Xmw~U DDG܎ mCYli@{d8^1 %f ӹH-M-p'fUq@r=ΑO}|+0 nXRjXNlE.nlMc M-;S˩őVՂt* eb\yHKm.2l?=:9YXݡKjjtgJDz7?N_.8= 20ZE y ]vdrM8-#;땧4/X[G`D St'0XU[ +;Oh̬*/zo9iUAX9QEkT]n495! +M3/w8tm,,@plA mx4ȥ3ǺUqy(#y*FHLQ2hRD|5[P&?3YA\UEd hU/M' +/CKВ}B1Жp1)sYD2((::dLO\:ܧfj|Gl.Zt%tœOUǽ LTLPcn2)E6E^fBe!.HRz{c1ΚmQȰ~aGX]^ 5m f0 +X;dumõ9 $=(&+{D˓URcAS5*W)&yD! zc Ns4C,0s0<*IF_F:'Z2% +PQ0Z3Ka1?"LcaYI]ģH@9ܤ|6|3X\n¼_]A^koNQPG~Km  | Uc䑲{A d_ZU7.{pV72byGW#PBqoYr.-@?剒 %V}ɓl^j:XƶM[=hu(RI[TjG/LQ0"4!T=bU"M:SJx^)6X%rWٜKup7f>LYAx?8sB\PTI%I!D;ZD<) l DJzw0J;4kE(npbä9M+[_QS>߉h3a,̎-6YuHI<D2ٔ9 :"]Qbuȏ:OY"D"wZ!S;1+P%Ω\v``P[:U}2:P6wJ4NH޲7:_;FCPaGgL̨5s׃+)`ŭW}7DEv^"v׺N}cS} X1uLVl(٥Dܧǝ1\7ie+޲ +|V 3{Y%;xncMm MD}5'^ [A) yh"쭺/膈oJRzQ'&(0{q9ThE֬hl~v|u]:l;`=;VRBܜ *u~K&#&~JVsa<2ZaߔrGXտ0"&ѪiO$CHQv +}ȫ1gkmrՋ_U4ћNYOTTB C̩ޛhg! /n_w+`UWkW0aٖ8ZZΜ?%]S #&D" [=YynVI/AJ&E(~rjm`+D]rBp9Q+&^&6+ׄD\^5X%%tn5Jflwkm< +>P {d8YeO/em)/L]Aҩ 5˒ZmoIDRIB; t"p,Tcp/8)6f +^\w_r[@b}Y4Cz|hFqh2DUS3:IZe6ג'b)IJX,E ̭OSV>a@!a/i}%kSSqsIprGLH>`R|(cߊjWZnq6siF)P; +bIr)n$ ٤FAVHV1^ v}-O==tA2 P+0adh=֨ƿ!!H*yDf+w}Cn[f R#G rC3&+ W;X0Hv^O!6H*GSq!vK3Wj+ ʦDrDI&c@Pt˲jg3dAXϩߴj\ } \mM(XRfnyĨ yEtG[+kB'7+Y̛$E)~^ ,S4waMB`Ei ɀ1WƃH2_6=?NT‚xDoѳZ97[*51Vpafz2 sfKua`͑\lҾF2y" a^D)CJP&OܵLra{ȴԗHt)BoSK;HMM`|u4uh~*~ƞӪJ7ŷOwd/Q"rw]ZDbbf}`y>vbz5R| &Xȹ$ ԡnկU9@:ȋČԌJ1܊+c oz΂LZoV j9N:+'gk33| 9N mTtݣ/-D%ޗ|45[(\#Kr* ZH5%߰8+,_)Y侓pű-FfD7E,)Zx_%D22aWU~lL #RQ0b;9zcfgmG`{%OT.ޯPA+g DW*U Gh~9AT܌M)zga˨&Y&PNm[PW}TeH:WzNwyеbBA5epwdhߑ.9N58K¥zXژ`p2svyvټZ/a7 +V&b"d %"GSO0'Yv$IOGKq!,ׅU(ɼǽ"g¿\1h:Ŋ'3q ̩ՈCg`A-E=lǙ?j8z=r7%\b+B?TߓuHmQ5#¹olt}L%+jIGxI} RlRpR'FfdK8>EsB5\k1hC Wi>YJl>ٓ'Qh4EPP+$8ccl;sr,"˞b >r($}MIS=i*HI]= ׵|(/fV= C]1g)HbbLji x])lpꑄ\@ QHpr6!ےy8Ѽ BıKNl2I)C~8'xi;A7C5Ei'xCɺ1==K3R _A3b8z'{c>$8y"V@GӮ$|3"gD%Dd;>tL++:E/2vw@F3E?M/GƏƿѻ`~) *Dwo]@ :7Q|2`I^B=vq?%nFk`Hm^d&C`1eZ{d 6K9+ks)L~BY$~Q$ 5E ѢYo\9\ۓczےLinҏc1/q 칥hn#|y<.+ReHw6jϸ&ʱPfx#2Uw3׽Iӡ%%q 8Fxtbq,}㞣{A>Q몖6FW{cBW)+5;VE5ɿxNJ)jүVCт5НGJ:GW +$9EB N+@A뗶 +Zu+E-U|)&7[_LvzEHH[ ++'*ܟb!L`X2Buoo!M֜ϵLjNlգMɊ҃핻R?u7- Cht2oc|{1j I/Oc7d0_$d@Ky,8%)+/9f,q:MZL !iqWWu}tۙ{6=/@hHt~9(b?c4y=f??XV4cIG<¦d3o܋"'r玒8֫9;L&kW\Q;"p]X!~z\Rwv=uyB-}<5*a; P>ǐv59(/(9􉍑QSsVHL7)M1脵.KD I:(c)$&H|ۇ?s{*Ѫ{u*M=XNݓu׀PYu}I;T '-jظ|:D`0S0M>`xlLDIt4BP$AEQ%IljOJ:G0ikc+_Kpyd"đHnv%f0bz~X-3`=>.r/ DєQj +5FJ {Cx>)XjyMdduIev>R2xHoH:V ]OdszxFg2ptF#Ƃ&x%oҜ[K=Qs&XcR^@ ̍pdme6\L7d0kCg9IJIp6)-U$|fWT26Fʆ +$*9$Zj5HrTQ6<@|H^CkP.ejqH/_dm1O-6au;9qI T#EI)BiKOyXV[|+f9j%BrIa\~ԉ/JmF[޶ڥ1+d*4d:K8R.Rq|cX q|J*>:UAK_JW#LqbAUMK8B.̣|2g_"4e0PcKozJ?7ٓRI[D+K;fʢ?l2nT}I@gy꓊^"x(RۍۧAzq{N~< J)go|곟e2= ҕgL^!jSSk(eH +OR`ݻP#.%W3 C#8Sdܛ M( $f MeGx5}_"tI+w͙j2›Z|{EPjN)i]cWKC +C>]~o }\(˪ o&`G_Z!ͬU:1-$t [ zPi oIE|dLz +GY?s{[yOɘ"c0@:;4sjݹ,{j9U:b Bz=AD0"Ō sza|,TAAHKDrrno# N+F{F <#ޒIOb仩aR_XB +R9,3P+/?o#:uGI,? bWxGs5zwlCrDs,Q>TdgU @$)L-1U٩6e(eNdW#-z%Dvȏ[vEQLi*R>Wshp[ibj&OEHO `?pl3U,ku\4a{[OL(FC%GTQpk@+7iz*h +U1oI>@|o692_cj>&SUo!9MY_5x i_UwxF`BytΟ9!AAI \w\&ly& `sC7$^´F"w +d5ȭj.@tC.lP6 .B'qpsɎgqNHV;s`Rj~5k'_> '@(<؇xjBLb2L2Tb_}9M@+yy cNٜVs߂?ܼвAPH:Y1OS#4)( CVLjLYD:b~Kqκ"]^cf9p9N 2A*etvQ:35ҥͿhT/Lh.q!R^j6Y}71HsYO<҇B^D]>8w]|{4W(Ӂ;<FV!}αQG{τ]vld  @I̊:-)lv+"s_p|T []-N̄Y[w߫@bRm^)Qk1Ŏ8}6r,+ꩠ}`l:uTWG6 "fTu8> (pZ0 O,Va݈3BZHD˒ՙ1BRggH~fq7NXnXE%/goO̼Ͷ@]`g@Z5Xy~|j&0^cXiҔ< ='bBѱ߈]qP!(+ +PogئR I׍N] IdGffb{s#MȚT_B 󀠣Yt+hhT~F8nJ$_Ц+xGDA6M\~LYstAPXLae ZH|=5u)7p.)$cw\.~Nsd/\d٫ $ .A#/<Wyֹ)< M{0稉/cTsM{ՙt]"9ЌJ%`cOu5[}[OD.<߬% <]ȣU:!_UM/}Q,ݯmw3 zey:-5JU}a,hmX$8`Ԭ9TWv\S]Z CnVY* ę#\>?lO,3bQOޡQ's@%,E) dtxH <Q*τ~wN"$ۛ,oj*'HUW=.jGYLqd2Dεڦ-Wl翦Ul[́a#e _lFv]Sm.h[e6(wƼR$ š.;](]<o4@E2ݪVl*GΈV^j,̷yn(,#4\@%xH0?EǶyq/BbBLMզ{&PzӦUFdP#3痪B3FIƕ\L:[5t +oRu+QXyh|t7:wЅAQ!1(#Pl:pU`4%&M~z=iE[031:|-q7An6&&;YҐ%OٞjcO]uV2e S3PvUL-|!Cɽq? z+AV9#ԇ#bϲ>iKY}B0URZTV0˙nf1BSl|mTY|4RQ*s'E3<ƨv}zQ>ìw¬BPɱVy1F^gIQNdJ~@UZKr:&J}wR_-+͔5ᅋ>VpK==)6|TrN3TUz0*`CUiy͂27ϝXf{VbPVGXERf)sV2սierjf3]fQ6bxusvvm#[:k}L>pxx;N@'ԃm\% y^,bM--iR;y<4Jyiӏڶf>;8PuR:}a/6LJQvmzy Wm=UKT^κ-&mX6bn֮3=Y=4w](嚾R6TSa*/T$7Jl]wi&7n%[~ʞS]w&RdidS=Ț-Y^+HwrZoe +OS{ TO:5WTQe_ Gŗ&U;U:"v(+hSuNfTfĽRR392$3uQ٠?Վj~cCHGv*)Isf>^4o4偪 UCU-[!ͥ,B爱BSxo}ID&"jxlHWˮs])anRxkhK@MWˉ2&H],QeLyʵxqò2\SeVqƪֳI)T B@!(4dbS::$V<#Ebt-sbz r)Q[o:VπQPӾ!]*%gw6ͨVŰ*+Su{>KPah|/{y$ŌveZ.*kF[?gF=#l7ΉY\s±-:? a'T)G vqôշ@Ï=1:.(͠)h /m]="S\# MdfG\w +N 6ىiy)5\[bv'`WF2O ]CMM7ͻYV>[=U=h_JU~UT&? c:yR[$ +eg]shi˳ǽb vT^9]O=QvtbO.0O +0vnE;9)wiߘbUD+NM]3z=ELwJmKk\6V&ӇrIbas^Nx$@ f~NeXRdJmÄd(g0ff^E` 36ā[H 9$)[_t(45Wݷ9J]Hcه1oθd &8)M\!+ӟ9/()<Ɓl4yb&vM8&;# +6ь3_t 0em6]gћ-4J%:*JW=fעq*x瀜x39L}v8/Ђs=ۮ<$Fl{aFFn>c o&_ ʚJq x̊N9;v4Ɯok]"̹ `&h4Ɯ:T-r2tkKIuH t@ǦXVxQNvonGpO+n'ΆG\Hu0_J6$y܃& Vy¦Nrq/vQK`s֟znQ{2sh r8ey١\zջm. V}IQd56*'ԛ!8wtKl)}bZuDXQlMeݶnրJibݴ%v[^t `^~6Y4DH窨{h֌$g:vy3Y5DYa8JDe&f>H_>izɩN ,.rF~qB*/p}K{u;LΎ6lEdv0ӾVZFڄ 90eT?ܳ!w:)'3F}9Ƙbw㸓*\|0^bf n5rUS~{(N?|`A %c'] >!,%C.rX&R "nHx#Y M7__Z2 z@'r6H\Q[P1 gw77ׇaUcЪ5 :lvޑ'wtjۊ֯Y@є]uT3LX _Oi6eO/6iyh([i#e5ߩE|O6jS3ŧ8|w=F|t]qjvl}0}fKQTњ0.6}#).9 1kX>rgC([YmRbƒIES2-"!r +R2cwair0r󳬋{mX1{Udg|p!bmuWv2 [$@j|ݷqmvJH#Ky5㓪>α=:xdJT7_v˒`#[O%W:s|@+6Z H +?HPmsbBUq/76zfƱ҈Ơ̐⧻|FyDP΍iNq챘ڳҲ4%^nrR^ARaʇK;{#KRV5y/RqfߐE,q_R>_KzQ^>>H=V)5 WБ@vOnohiK++ !Sl^Bh`ɇKӘnvݽp$DK;y[Tw-X="JcNϮUy)I葂6/ B!Y1().=ܫ*$5Y*!?Ioid$_N +!FgyV.,?9+v(h ՊNi"Mn['] nތ=9A1 K$Զ%5ZvY9e풄qvH8ۂ82j~8`PU"Z^dl~b )Y0,AJTU1 y[溨.m*:prwLGsܣ4e ?3 Ǹl˳؍3_\*nTBR=ŮDK!6-0H!HVݐLRl;! +ewgxL;Jhq|lGsya3Sb< \!@)evjY~u*ViKp#gƭ=|k?]- +i\nT:I8:\Z0稡PEZ~}}>M$}&\%Nbs,d1`HaF)Bj‰~"|*!nO4H(IeB@Q){R Oԓ&{_";Y8EHSk?JA}>txm ZDr΁f=?K +*%-9"HٌW9TNNa_W>t~֌"U^JlP;di㷷~پ .TcJOvTK }Z&13ǻ" ʩ~DP9j90_1H0ўJ-_!x}(SvsOșߍ(AΚ!r[.VōHIXhO!-dLkux:I|0N=ky[/7-Valu=ņY9gi|٨pcۥ*GÖE#** znuqW{MPSā+6l)JOV=!̵:?"p;Gl}a4EycA5\j/hcOYͻUvPenNOizC +טs}N TK/ U / rHr{oܧ!'Dr]icZd¯-[oT釻[)V^ppJ9&VPSa uv~cHd܇E!.pRT$Q"vg5( w ZT/,nP+دo7?}|#v(7R,n$r}_c +8tA=Lm}+()8Ld2(~)1UB#䟶?~w +ӧdAzRvOe~S6=/ 쑦}]{ɮJZIkҤ&Wqc(n>xawM-Iƍol:gNjղMn,Gz}h0H:w!_HQTV\t顨&6M'Ih>Ǜzc@@*/m:|0jb;̅-Hpr'2&<OwqQ$ XB@v(9Oѳ(*~Xv}mc + eN&K._Y_l3KGdfzfs$*ْ­+rD؈曯NI s]!NVA A3外̤S~bbH7 + sv2,/]fT9loB1qĢWq:S|݈a?AYۭȡ;1XνHؠ}nRWܭ)(lJpu.7eU#$z͵fˏn @UmL2a~w~#D}HS. sRÚ1\(ϰo+ubr%s&~̻׷_^|\/yMZH)IF*HE,B3K41g4~S:4pzL\:dK?qv!elT)ɲ%9:aCi"Rzkm<PCJ?n_Qz-m^Ae3t,9eKo8|xM.AJ6'p&1# +LЈѫ +j"K^a5~عv`o]:BٜNg{!(PKG&}0>McR2U߷&bv10a '-!a$p+r'+n6ȪSO$/K"*E*TN@ +DX +}gyݦuݘx}O$s`@-Yjc w/_˞?P/jf'7sneF55 59zK8_XZ(i6XrHۄ~L]n8wdЬu8,=q5cM*y8޿}!c&"6\v^kў=UXy!VmFVùap$4SZ3hœ[IOhHm%TMci3)iTM'5hrV5W-`|?۽ڼbA$)9f'E7&pW$4EDp<έrM(iS~| [e}PXeQ[9|Ux!z c`i0X !uo%2ghpJ򶉽u>/ٿiJGfVT)(68AO)}yһN~UWDZN3丸0(=zxo`oMlV, ^*u8}ZR׉_~ WOiT)n{Ar޽\]9hqgJU*B: &"PJb\|vׅ.7y*EY9>=Ro&@^X$RG$K4g-o_Eg_ d E_Y`}J{&U6!tױHk__V$bʣh(, صr"xʏ /?_Ug89T >쬴8={o(f#x?__"M;W;yON=P+IM pml߼ׯvOpTe-3wfM$ d{TRF|$o](R@l'Vˋj}E0Y[CAmH6}f 9L/xԠO7wt n|M)*EՍZޞY[G]e0l&~{y!e-Aw=^6xpdz(eYC!ul<[:ܤ?Ę} pbr'Z3,Jjr:G"js{+_^[I%9Q3," >yqsn\mQ)D9D>{mȝvl:ɑ9jףFUU٭ps|ᶗpz;:bDS J{~_~L +YMՖxHk)o +diw_tм!–,J f^۪`z"`ؑW,yUN7ZE3$ׁv'  \l_}ݗow0G ./1"&U$Ggyt8n.~~%W#W7__Bgջ|o#F-6@|3sd¬v0ԡ pDІ뫿û$f3* r*ogٽf8pd%8 qot[0 +dc^kP'P.bN&U2qk&i:AW;p9e%VsX;2ũPJECiSVĽ&UWՀ_y^T)Wuv]^+1|,Pqh5sῈa۱,"e_iY\-vO/^ ni ^ӂEJ.ˮ]P Dr7§ *=_ VE" +1I&1u6vt_!]M;yBSjŜӪ;r16m(ˌxNcV:_.B*3n|̱w`ڲ۸c=4%N ~wKs[lrͳ]S`1 [~hW}p">x+p}{H<A8@Ys-i:\ rE4x>T4)8HiL0]O_3[V,%*NGExtVeH#( zUT$m(v&r{wHi Aj$ sgf5C4qa7a_H{pPGYm8βf;WeDYnBC-GaUds-W'n4Uպ9GJnRf烜{Ԯ,UJy91,@I+GP!7%boJS>ST+`}*雯{A"6~RgAlׯB +F +FC=by$J2|Ijl T9~J߾˿ӭDN_"G2U:ulto_ t]qO/\Kv\T,%ZZ7~yۋ7 Wm)k-8~rg_\l.$`guoM13c*L(+ǃCyug_͘GL՞5Q*U6ߟG9C)m~2M䯲y[̷e0~Y`x۞ռQ&67CW}\k9 h9w͵~{qolla2>4ڈyo+[PwUwW!X}^d6If{-Nee@ױ%&7'-Tvw[[:|[y1OެU #Ykρ'[lBbzfo\x qPKAǷ e6d}xȧFQvSLr4U%O%[ͺ-FN'4e͏A^buT&O#W9t*Z'̆{הfbw}1X@<1*` b2B1|lG&Gyׯ\#[cl ܰg@D>"u**lzyWvgQMώTpHZjT'V;LYSvtןw~f6q5>"[Q 'Q*ҹJ7x$| KgA:̈́mJXS}(/8e=>Y2[yͯŶXM%);A|LѴU=qc`"#a f ~{.^acx Nt*Xh/zgJ˒Y0bi=1l@gTv8̓ hP=9@J ҔcH藎K`ErΧ+dJܸٙ> @W\`A - KSڒP¬G\x ^]pD8=(ԃUu\NvG +!+A.I/_m1ȉU&uTdrM&L07#.$eU/(d~OVyD86IK''}|ݿ\,jMdu d"+9;ھ4 s4vXrtS˕ޙ !9sZ3n +EJջE ):읡qq!EI92X⡌>dIJpf@xLpDuXlW{!RyLJ92iN=JErWf3i_ ?6\$Jt6i R١m"9zZʄR2 ~%ogQ'aC'r{=Mh_@=j1)uWM\)ügtY2AeUdP'!F/Z +-Ҩe^QTYL[ɰ-J@1~ avGC_mmH]pY_e҇W0N!DO9qJ1O@>1H !{X(S$qv;ʌ`Rl@/N U 7 GW6!ߡR Ljs~E⁣V3 1p$0n7`SAd.s7Nk8dg̣l4{ Ȍx\f;NΈ3۟R.*EElAT(yr'+w;SF;D41>.m\!g Lf] 3Zd?*˘ǩLq8%AD88̧+4T3*^4"Īā9,'7*8IQ^tsa*&P4x +4@ ] +[-$B 5lK93O8.hLkӡ9o"Ӛ9&^+{[0y_yݫVuХp#*Ҏ^*>DOP4hc9O]'20K!{xd|S (iÜ7|Ւ(SSA ~x 1E0iQWQ9[X7{6Xc6)B^4pƆos-~ B]Pz&dZf= ns@2g*ɆEhlShk=rF HԖʠlGq<bZ,cfb,-%<P{:_ Hj342ȼU}A[|$?=ʚ# Z{:"ge5`3a0,{ +R4#䨪0T<*NKEeNGUKT[xmLr ʙMʨ4lnrCDPB Gdgk\ AH3juƊ U3z&6ʧ?Pxt#RJ@OR3lA6h<m,,7LoVT n(ʎH9$+NI6~'[M *}&:Z¯`UZ*&PgұY#tz.EN ɇ@jO2-ר. |:>Jjz#y)Hr0C'Y`ޕ0=`y{SKٔUĂ' %QfTFc]w`9OMdPgceA4 Y/ eȟ~t{ e>ROF$g\s:+*K j34Xz|yt/EVH#֧׸v{ +9   8'czދku"lf $}8X8jn=FMgmS" +夲*S:B؇n0 u]g(%$O=JY{rwf6pe.E!$G +$`Nxk|$64]̴U(Sn 鋣,eQZh X܌OH ŒFEƑ ՄT8NN&R k2s`A] +,J/g2‹܌^ kkX9l w)?;s}1sg?n<\ug]]Dgj+>蠸s`sO7+܌lk+_ݮlm{>gRQ56u[)VS^Wʺ0T +SLlf=iގy,Njf@uԪI`W@D.u0:!IlEFo1@4;h0$Gj3*9ocdVF V 1v[xLT͡TT36"mm8nK#(txQ?\TM(V%vsinj[eSv5u  ySVw.yX+dn8TК-RNy0;8NkiPMn +(p&ҔmO>rtDhRcyXm .o,=;05؎f + oJ_`MUD>=_g U & 67CZMN@a=GUUWRN<`ʈO:.3.iBIDĦ@IȞ2V +XRMR9s@ j8*{J[g@H5Y*pEq>]C.C^!0ϼ8"*T.ˏ=W_ְ,RU2Z-p_]JwYEN9BeiA@e͖iwaÜ`6\2y 9U魱(o3M= V2|9j<;U mP_^':G݄c8+Z;|_|+T/dTQ9uu glMfǣOLLP9!.i4IR}֪uUsS; ZuS7un7: "h'Brr*[qMKcȑrW+y 1GJ)瓁yCTX0PҎ'ݠ($g"b]e*5:}?D3@ϔ ޤagVLU m2Ðk$}q:( +vSe}2+Ә[ue \~hJdG`WSbVTϕt8ޚa=]_*: 6qnEp1:#c=m8UgyjOj,KIgȳc?/)[,Ǻf_*q~z5Ձ$_t0LKjZ(QRq̙(crrlG^&εV0 ӜYTA:Ek?n 'j4+A@2hTRy^z )Zu2nh5㡖r,і[{e e蹊Vu\}؇֗]ZSQ'E@P 0f:[^AnpgNC eج a/5xtdC|bxT-j:{\=O}lpY篗*ofu=\= 9ns8^?>Rs +Q<8mT@sckH-4ASWÆS^% m=64ūJ/1+5 v*$o:EHvXAR׏EIfMamfb4I:bM5P*\[-jyԔ[Id-(O~0׾B.ύdx22xBl d*|^г͡'(NASn^S 溞itX$Ɛ6$}e8ㄚ `2Jyt~,Ƽ3HrY 7 +کݺHfNɊJ.l#w;S؎4ڕT';͹'YC ,W4y׃ܨXnU&ԅx;r*_T#/VK +}[eb.h}JR|UⰩ TSɯfI:QT'Ar;I\QR+LU]ȥT +l`!eNYxܨI`9;W4WwD2}ABlN]ŬCk #jRM&N~GXΝ靟BO%$*m7#HQA95L&UY۞%XlkAאCd\{r5h_*k ql&MU*F7ϗIڄc(LX5))T% ʩsϕgǒ>I9FK_Q"5R^mzfm/۟X=q ɫO20TTdlEeɏIиj\T-4!# ȲMK#f"c7ײ:F)"TDјiMߍ RM&`:Mڴb#b[ryi#EYGzP6l@VdRAlQiŒI*AA]cɋCӄyBq2,Py.lA:aɔϋ +–X<6VjIŦ~<++7#q|dQ=1vFGcRc}KE4shHp3J5Clʊ C<5mrq3~T_UyĒV~c~AYٜ`mVYb 6MD3gyg'GWbvr1lqx/-:m`y.(~&^@I[P+\-b;ԖiK%M:|]mqem^p=+NQ>13,$!ve$r߇RˆH"@<m笚*]/kɏx7#ר:#2lA8bauTT@ 2}uJLD=JbӜ+ + C86~C\\̶T&wP +A@Txov6[ Q9:䒕YSڿs]EVA1 OU(y}2X8ӝy!+Vt}ܥ@/-jrI`ҮtZ`eIX֖K>B$ˋ8O'o rX'B?ZRi MgˊcsS8tJ냮T@W?UCV|h*uio! UKdz¤z*_ح\q*ukۄEᣣ TPbo!|*N,ͩDL KgtSe`io mK]u*t.{!0ٹ]T$t4eQ.;8T*qD3U,j-3H±>^it(ʓ +ű K$<ᔵX78 GS'=:2+8.k^fZCjkO2$w0/G a'G߃7x%[[[갗)TAۑ19|aLR9ap^vu~=r08 6y +Ṉ֣d1prHnhHq7)'I6#+q%䯐Bӗwi$u0NRե'+YS])$9r֮*Q i:r=#H'N +ZIhR,A p~ikA&S9;g==c2L EEo'U#k¨N6J>g}CҮ"Pq^mnDaOL=A["NfbdJx8Etށ鼀6&RO:V:yq5SЙpj@4?iSMԘ#D?2:LbOE@嘱c.ٔLEl1m~s.WWVzK`__ͱEi mC-3D(4-uV1HZb?,YtUvIV YZNkKKA__~ɳ,fJUm%jtL=]$MPPU'3lKT]]+=l]imF,4I:I0=I(u`FB'YsRsҷ% +g+|FYSa5fJs c-#2".L`{4- 1 L]Vj4gXgu2>/7fKG.w+-:Kw0$Զg &biTE$/+4Vg#D>г9Cu_ +AD#0NGLC%!Oj +t+ۙ~SB!j2 +D +I>jIUTAK9UuŒ7YݼEk>6 "`gG}Wǧ9w4H%wѪxԽK>8\ +R"& IKKduŻ֒FEtO,:Fw=O9O2 q<㖫4wvXT*.q6pcQjI#qmֈstSW=J5f +~f eδqQ,O6\xdʉ,cEJ8%QN\kUGnب%]ْKaDhL#0^w`O[ /OHT' OR{z)l:xR'=0X +ȱ+W1 +@VϠ`n|Nŕrß~?2%ze(f=Hj" +(}$e͕ZMt9DyOzLCk)ۣ%/i[WOvׅXM@ê>2g,':g(ぢBrF5h(e&mTxYUT{.FsCYlMi+\m oСDm@ySLLu+OIR5⹥y$J_AE:QRE1Cc=cӌ҇|%a|PIyJC,H&+̀zRnlqe9(lRRA%*l&8MrXҵP6#n&> ~R(1>FwCYy8v^m: +n6&`Jq]yfҒo +%y1~2>KXsਟb1q7 ~7}xO<M +n}+kN=jϋ~  uOHzP$l\dLd@VԞwE`j{VTդU(+M[]Ls-mˣdԼ4ZU1qMޥTlD]vJΑYPI,"]p8JnH8M*W|ŕ1f8 'Ƴ`a? /r\+9WK~tKZGa}TTeMsۤKdTYXkS=2c:O{UR4s-K[!ZZWȖfԪJf{`rnytY9S;L3/ ZV)M$VvpJ(؇m`'( g91whUS kM9O >;_EOR9Y B +bSBl~55 |\m ǔfp-&8Sq"`amaY1K,O6VrQBfѨ^DO&H'B<N.,^ajV +d$rkhFlլt5pRwt|ȏa{[˭Uz \~>rgT|5²3Wy['U첪{TAhhg8bѡ2O|4ǭAƺω9-WH oS Ɇ}pE3Rb՟#TF]*hKkDTǥQnfF橔$Mbk;(Z)_]4F\Yv@ A~RJ1\730aR%eU{Iju\ kx}YÀ24h|.Y;clW9ZP$ ;9£K3b[@$kl+Ub,r,?&$Qx=l?i$Gv%f{Ddf-h9>h7wIE32ll-"m{,,"cq7{WNJcȞFR3$%ɰ@!X@8Θ>y@e7?g>uRXx)!Н=m>yNVgُh9(M} +TE0xq2қe+^Z+N¬t#wkVaku_D6|"*zsjl)^)N Agl5$IZ>W9BYҔ `K)]QQ 6u" -p%N&` 4J(63։ʂj.eyHC^ȭ;CLm!iehÉqP}>~*iq.10 3=g,N<\$o&xC +'++مңDhe&nCLO`-n?B@AQr)bόyn1=,]LxoD[[mSM<ҖVb)`Ə gw&&Ó|3 b#e5Q|SIc<]gY_ڏ}(tyg>ϔ'ã# yGnpR+p*:ACd&WO P>?=r9@k;.|tnrBL/^Ȱ9I#Ԣ@H}@fl5Jrv]*Z}$}Xk*:?feFZBWGjq)O߮O.2B^}g@: &hb[CӶ^gS)a^] ::sVZ82iV\aP& Sdxh)z* *)M *SI*7ڽZ)Sһh229u%`T Qߖbqb?P$F[:΍jS3АnsGCɇ +!y3rShF*>jRzM]P)X#ED^WL\0!C_ɜzDԣ$V"` + ]VD{hY +ϔD6bĈ9~XdžrJA!2yiQʹrb8cPk߈< 6t9᠕fg yںd>|P5SկB=^%FوA{xB/ ʂU|$:Lzk|=5:8G6\J+tqt|4rfߴ#P)?ʔcWN +235Z) +"Z>n'Ǽ溙P v8ZTmxf[{b +Tb +<AuˏgxX3?s;}:+~x4 uu1{M](du2t%ju +fD8 +A?]@0 [{IϽ "csI0:tB㨀]DѳtXEDB]hʶ]Ic9@pfқ9S'5[Z`$&<3; @zP"?MRun& & [iB&kX'L3R+){iY4<4#:Va$*$a90O= +墥rnO̖skZA] KPNcqz}##tjqrt\vϦsӕq"ΰ;#}-S }'YR^Z +9/^0B!lu'DKZ 7@vOVT>.RLjXJ5څ<*l*BR%u'hQpdK~"Ɨh%Y[>y c)qi >c"`jDQW,T" +E旯_!g*v2f *iRG#)MWKdP^mUd7m';5B屩5c9\*L oD˰#u܎×=I"-:Q.;ZX V(/ଧ٣ɝs,g0'`j*mQ S3`<u{т̬%xJIߣ#Fs6I @Ru Ⴜ v,U`RMKm:e5! +̢&τO!-~D6jX& +9fTo'f۸&#0҃QаZLz^dL|"dofYdH?^cQ(@6.u&jD wԺWEN#4i\KquSy~<9c#dv< +A]5q̍:hm0n=8>U>\_E)O$Dt?dCJ18ӑ^u&cXѺ@|\idr!Mƣa}ND$5'oFILZd~t['"b针y @?SdIG~Qґ@?hӕiiEȧ 8lɁ +EC_[c8]cBT %LHQԩ 1&~  bB ,p;φ\S3k3j-'^Zȁg[z=+4 0FWz924}KzoƂLtSCu^.`dv!M=;ouHEy [dT'=vwViGrsCO枨K}̉e#*,,!MH^ֳƝ d# hK.i(/f6hTS^yhrKlбA";<C Ʌ(wЈ¼.RM{Y[A+W60i^;NeXx?װ!<,Ԃl LU*>RNB5J4ͪKYiy +U`9xAZf$baE]K2FDtLM +H:8ڗM- ]9hKBkJSp,M#za*F[ )EPkɻp9]#<.8:]&© 3 |MւBR>+l]50{"e\%A7LK3n:8;Ô܇P҈ + ɖK}?m#'p$|'} +'q=B2FoHI*B7,O'ѻƿ hu*j((_']yBksy{5r6m&Ǟd*QStiJ-kr#VtuFM}RfDufx1og\ E@^R;,x4e^^<:!///C+Q߰L-/hYE,bZ(8ԲQ'XHlQyh57P[\wF4lIHAVIGM4gI8P8cIijsf'xQ+b!Vz)Y;^M2X5Jai"G'1QPM~tbTjVϢD=\G="* y9ȥyL}ѧcAnn{ERX;SOK7).0WY-ͭsx)~Lij-9<M57KV?/li1o?f59礜IӌIfVWf*$qiG_ܹC9%-E,|Tz2x\Z Z%1@T@Rz62v9&NM$I̧֒7'#b#][=bms9<:&:RK}Z;|Up$1nzqBtj1۰ipoOϸδP|EMوm$Bkl#[X#$:5ǩ`SMT쟅 4xNM@^sƬ09"ᯨqDk;)K{Os̴ e!.P9!Yi{u4FuS">N90G碭 +s uufJn^s)_CBA)`DUmV"J1IL0PpUĦ8*w^2ϓjah3jpt'bNyr"pf* VLQw`)4D0c*K!>81q7ag6+$':ҤS [XoZRmx9[Mvi"l*gH&e{[m)c$b4cF~`;r?ʏ2ʉ}L<T Ǟ\ҹsKr_~Z{5hJWr<߲Ҧڕ_L̑  S"'BN(!bIV@xCJFiq[0 F!{uy][;$-9lt^>*n9dj\ #ϟ_3BFn˹wPVacLYbUgnYZ*cg&X}=L'iuGv>p?]Eg2hF,77.1uAVC+w7 1H;O6Z#dlCz' = G0c?}mɟZ|3yGI1L4x}qsi"^Fg8+:t]c"˶>juKFBE)e2y2"Ǖ"|[jz*7ϯuG\tBk YV},?Z1es뢚[+OM5/ ETpVK;%m4'+GYѾ +l626(tx;)'*\v;w"B x t&McBt8Ѐ!sc$W<1<뿬UADM$'|}-6Lc߃tCJ8N2طk^9e1xKqA7!͚}hKL~Sc,):'Ʊץ'jg. )`PN' *UR7 Xgy9ңd;\?rc@5&ɜEdDX쬵dD +m|K^ 0[~ՉysI-gՠe V=d)r$ >V>%bt{IҹDDN6grΒ$r.h~:l[vK$hwmhaBVvniA3ea]wH:eqN.İX5 3${7{GP%ɚ䃜E,F˥9ږ&M?JoR"жYN)V><mgs<6䦗( X|PITi7qv@&-x~}K:YFd5=->05}Y8 +!aI#<:|{649wj kBbz0j6x93nqJğEZVj%@5rJaEo4cqߔnTZQ9)v:s`OOS-#[;nob4K~{TVP#1Ly)YcߕG{L2f#{+SHˡ@8!18@կgsu'? 2YŵԵm[;~ ?s@nS2l.صY%mf•EHQ ʬU5G$d*(#`B@0OY~j &*.#DZn;%@n#+0)} Cga,)0 (7plO'OR* >@ƳoqRd%6e +ox~<H z׽7iӉk +kBɊoz~\'mPg @u0C~%@-Z{ea8> 0cN{]D0"Fkmㅜl0T’cwZcS)<Ԡ5z:1_} y_D(l`"3бlkwȃ#MuMC>^x]L97 +9t$RHp*,w +MT r]=!H0N}3\eР ¡SYV?>bAچG\*{Lq 6 K&Ak4`!fwtUD0{[Kz3/#\7ٌ| i͈돸{Gj04QM"@TRd.f*AXKH1zƭ_տAVRVVWe#]!FԊ 0Y)NZ-HUNeMF'N).lcH=_zFQd?1 |Z 7%t!徆Tލ{˦KC1=<b'B,b' ?|cX5>IեI]/gfdQZmDrNvi9uDI|@AoxRQ*._ǝ_z\Cg8A d<%Grsa7)>, H=~Xʔgk"y09{~Y{%#ŪHVt(- ĵ|BYA6 Y{"2( #=g8E-WJ +zAyꌱ{AXd( i V/D'EIRVy=<1>a)vDBq(I.}:ؘX:nRU޻tADMl곍.:PN%Eseo)-KĨN&CRߢA@r禶F~ +NqCrTB(ƞI %nΏUz1T$-4Tgˇb#' -#sNog9g>S/TrF'}%IhQkbDcNjؾpN12*1'Yq+g',q9B)S% +jFi>15AJnV= {p"*CLy.*"-u1Aea-+=qZzݲ% W4g5@C4?ǟ-Ĩ 'QNI{' Gsu}TIn^U40|hh3K =Nf)gB.tU--Jc-2،faO.\DTip#e'Ag}neCH硼"tɨX4@g'P<4g+^ yP||IKIt.+I +9hQK"|h.>ʲ.鑀-:Lp8g؉#Gkn$!uKa06~IGmΩ w!q6 @{^bƩvIzAR$Q}\vD,JH (%r2M"@"NR,X!'p i|T8->{Dh#B(Zem}pQRDC*.{ƂBgIs};8{kx;ev~yԤjHHQ@@.wт2;9n6kʚ!%P/*"EJ-w0.vnC[aǟٿ[N9ah)rgnF}&{Sa\jUoJȳqe_o187MLam}:$p63@66 ) aT7bg{;Xsdz0˃\:X9ѐ#WpBfHHfY ;eHeD42qe]y/@m! ]-Hse~k=-+6-BfJsLMȘ"^֕ Bʘ/1Ci +e/2Жg~>l( 02gƳzn4S)OPR&`%q-|?@{0KNJ(5cDűmS=ThQ4اbӆ,B5G(6॓^iCZE( $o茜U +3:c,Šz8Gxvb.8d8WttPz&r^z<$Fi!X(A"xw;(|v$<ƓɡGH$Hk* 4.od˻BUX.瞅9&[~ƺ39?긭0_p4k/mfD0`XmbFS$'vzQq4o9DDZhՐ, s09N6uHߔլ)D*5Yj7 ndzhZE1#Y1 [!A0եƠ>0&< nŅHikJ_Gyeh3]eKj#rkn'c[xYU]261OXc{φGiHb*mλe)h(ŦNXESUтWtj2_̺wCV%d 1Vn>iV٥h#?3W.QDl!Y~*9ckQĒ;4K+5o,gHszTh`Q. SF7\8/{]fGӛl <&`1{ +%.ɝ1w\رeʶo#=f3)T 'Լi1m#մ3ݍq:B(`k>HX9xw+~hkWN1Ǿ|zZr\vaL='а#IuǂP X.JޣH7{n '%ԙ1֪ۛɋnS'tn#l}ʗʀ'j՞0 aoDCwg:i{~ç_$V >‚289E{dy2M uǪmQ# QqLrdҷCk,`(!֣$daLVU^e6ge ~;x2R&!n鈾 Rz@*ܝ%3a`!Eaf\O^~HuJ޳:I7׷..AIf-#gbcxB'=;y.^窤%kOYƈr˓"fSr]/Ec_'B42")eB׻-)B c}2vwxOjzsw.%|yZ51X 2*"RIV,,#A0N 410rS*۵9g)$@rXU yH }8jn4wg:26Q3PEB8d8 bqb'vQ};&%?g4$ƴwaܤ,R5|CJ8Ujr͒j8gsq7f2iK"el8|0,CfK=ߋS=(;gZJ aj>UƙNłb\Xk)} n +Gp`+R,*^f#m'RSTa'Ww_1n%><^c:t@$'cOh5YRA<讞2 sc@òZcqK,0$dLu@lrtds&ɣwCPKL FRCIb:ʅD\fª OP t L\MWAz/l⽆Tcқ V:_.HU4@I;9БX +^`D$|\Ьi|,[~=Z-M +)nqD./6CN`9O"5fO"Ljwm Vԃ]*4vf/eDk4!W@9Q`"*1V<P((0MDxu25Lϸr5z6(zF4ۍMxHH}(=!f7*fSt-O:N3qfN  Hq$O t-މ0ܦnmWŽUUeG#8V:^1(*Du#1ѣ(^*p +2M1 I^kqG]nء( FXھ2|pv" I맱`9HPKbO/n6%8 25pmj3NtFBU@Gq},GGEf_Vm=+a-" 9{E2,33N&xJ<#ҐB>p'BGn4 $Nh);kK);oE?#=D ka9U`(#g:[NYu,f\呺kR .D_YL]"fZb錩"젽 2,>KT9=)26WN"{RF|m#SI, Q]»Y{8;('qxބɭγ~a6=a Ɨhi7׫^?(Ύ AP`ps%iux[sL~U:?A!hGtT,-,IL1nM,ElMv;2#yYCd$}YK 3 1t7Ĩ"y2I\pjSbG6 C*)?Z>\//~8Hu0B=Q%;C #vk~=βXjV@uTT:KojvʶOμ]Ӳ؃|2~C0)ks?WgeN`X x]fw ZNºBB'l79L-෡m3Huaą ׿ dbv[**f\emuHV:h@o1p +l|4@2 YCgjYE%΢ʼnZUDem`vBv>aq NV<"].~+JR>dF oZi"*LDi>IF jD:u$yh)^og}]rNy[4XoUy=*Om ]R_AuZf+$b-־H-"(4z=&" +\Hn1YrZ(V,v,C҇6J~`Qd'W$,Z!ePyBGhl`؅Pk랕LϨY`ǂ8e'mGtΰ9v:G'ԛQn49 #Iwd!Q.dJAdީ'x3jAsBvXUO9vŵ5]v14֩ V̵<9_Coi8;lH!e8osujc2&Uǔ+ RAsgvMۼ8./G7--O:Q)MJʀ'✁hCċ*@w˱0 P`;4F!dʽQGSX'ډс3&WQ#GoA>RM珍` hו/SîSo9\N giXmKLC9̖Tx'6`5=ՊlY#+]yP`?f9D*r4UmVr3} +ׄ/(͔+8 3h.Ewy.V znhđhI>Zq PIh% +р]%FBr&P\Gw,z & !& +z{5|?ahJKxwAS3JLFd:B(Țު`؁D=oM7!X`MUqIԏQ}4'f?F膶&Udv5Fu6KQ:Fs)W'{9hM +Rz&J2PfQgD@eD[DJ[(?wpӾ,~!lV? + 57NT'=GK1w&k:8e,x!$="):YRch &zqxOxeZBE +Lv(& +u@|[" ÈMzMwWe(2a]fEֳs@VvBM<.7 lOxa/z/Kg&^+ TT)`M k:va5i&Z6(VN~:"꤬%ͳEQZlҔ0gA˱Hݦ ,RIDP֨&as Ee5D;Ү(l:sڕ1H9?+QDZ0aiNdfcS8cGETM@ +CA㍣YM'8qgmlz7L:muXFaV<$2\-6`f#^Zt\U쌹C[K8m$fV@D0lVb~0ev1D"ҝ`KΆǰY`33ٶʼmvܧ[ߧ>{H5C+)87 .#B.iuVT-./E!5(zsZ_ut-pهi>Ϥô,%߼#B015֏}#X\kԟ jE/vcXxIye4:?O"{'?P>lOV /:3x>9?HC 964eIZ㗆70 +`ª>ʣ1n$o5}]Kf.զq嗗zbӬhmsбR] NHTF(R!(B ;Nt!_uwa| x)2F/IF$UI 7uԛmJFRĨ&Np=II)۱t*Ф$M/go}RM] 2p&jH߬ænv !F X'PMn qi7^Ga7w OFLP VҮf`._ z84:JOI?UStcK3&ĀIDZfx8 s j6fa ?LkJhXi )w-;]Ki>h=O6[~;p|_V5X2M# ݲ1/n+(S}2k}>.DɱRΆm]nT/XMD~}+ +F %ᩧ>3܏wwe\޵r7?GJj%S@HFH^dƻ~n ozO?,@>@XlQb$D~ۻ.tm q_Nڷy9ZOWdE9ឍZ 7ago￾a&ϐ]"Zaz7n:VVsbf[̻13Öqr&&cXǎ07ԏ=f<\z^r y88HlFtnwSe}t(7{hS[YnkZ9(f:{6_}VaL({>߬_ 7/8NS8S!ZpÖE#Vj%pABD~qvw0V[jEi$Q=f!FѪG(5!H v7:8BpM;6tD8YiQy: 0nsnSh,ITZݮ8ځZ v!yAB^ty꾻ݏCoS3j8&Uq`T2Ssztm_8xכ W`LfaZ.b{r>?%!F6w]P}M݆> P 1 Fx<9bDIw]-8M(떞@Ίm1혫i}-kWW_eɡh!茴̌\=s'GҚ\jzw_?r< 1wuqC0I!NЀU%۱oݿ +50* tT=<殤`us4b !tVh-I\%bIJZ[֫Ͷ}և<{(vkO/2c~f›j%G*?%J) CvB'Ir{í2/K٬\O%ix(ݍwۚ4]v]VM 6:/0c^R͖,!WnW8vJ?݋u~X+fwۛ$NNe5Ey+O ƋT5zFPOn~k/WW|*+tdS!FgzYoս/ zbA}_i:[B5gxX/:[]綻&ЧqMog]!`ȤMnhD}ZTb`SPɆtsZRKG +#_=3UX]!ߥ{ɞͭTYx$'..-fkYP ݿW 2:V^iⵚ&BB̢MV _ zw[s GHƾY}J"eYN` HhXߡӷ\Ռ뻗vݷo08b8pTn +[.VgWu wۻͫUQ@݉Hi]~|ZG)H2/tN{05n>߼l(4$ +ЬS(A2 +؇[:R=^,\Sa,?J\3b@nyVt@˰;2[h'k'>s `."ghDNx#BR^KD'ACh'3xD1\W%>noj55?F k. ;ଛ4CA[$Zן^as''9yaVUoPZ͋r@w6Vb&1xyw~k:IVyI!4+RM܄~ʫJ t~0nbS&*h+;#N$$z\-x<oݰW ̘,G6g^vf dii JC 5ߠLw 7߿]'#FQ52MV0$TPXo\o~\YkLy +%3鏗|ݩ-xNmeZjIT 1t2]\(F}Xω2r$uxl_˛ 8^pu]HE$ ;i,Iywh3ڻ]}ސZх1TKix^StN^찋2V@vXc%:֙\D +PpvƘjdYցƄrIG){q)ecS%.jO"AITOdȉI lR)*se 49ׯ7/s\0p_?,~oȳ:8kyַg ԧ.l|rsG`aNswۡFy{CڏH(+r(=Muz({ѴW7&+)\nfmj-Oc6O ;47wW/vxq|0G*uqS7D;*50ukEj+U5R}}I ;aȈEcdYÆ 8C6ƚ3-ė<]"Gm=L߈'~rQԠh?G*kLTozi}߫m)֘)^_'crmK)Z2iɼKwq{W!v9{s`[ D!zGyw&ד o}ﯯ硿7ދ܉s"cI}黂 04nCWUzխݚ]0Dʸ<ҀC4K)~e+/_]\m6/7@ Q<8BE%/TΛ]x>_\]\W_\ƴS6"2Zcx+(:Ⱥz.~w?~ڐ$Vr0g T晝$DyM-zʫtw78:t^\n~Ub܌-F6L5ls0fqIgFw?곋pA H !d)2byT +a$*Gz'"/~^]Ÿ;2qnĿA8I`٭Bc5`AB7vy.jw5t:,V((KLU\rFvկ/W+~Jtr5ф90N#-q*H cfSru⦉Ӯ~kCEteiF83: ,V^YEh@ +;Z[)&_ݦqiH7]qthxD^Jf_tfݝ2rVρ[nrՙ*O=ۯkhh<4{GzK*lVV>i ǝmka`2jS5wO[$2J5YS,)!/3[C:$׎@ xi[b^]6SǜP pLA(#k55`%57ݦǺx㷿 ?vpAYވ, 55\+R1q'@5dʯ>ׯ^m.;< ܦq_&IIαtv?lyOͿݾ6Q֫P]Ls$J&7b jO?ǿ_곍CG8g!ij9M}({攔g}wv: +( +N&hNbu>85tOmW?̪eެ}p!{b]Kf?C>CnTr`MeOʙ[EmZ9>c =ג1/ 2 nˋˋDI;W +C6s 7\Xߜ[r2ăF=ԋYz(1bo8pׯ6ǒ\hh}R6>5o7lQO8ҫ9'LA6M8m߾V~ج._ͯ|uQWM]|^}RcUo懛ݛ˿_^&wfG`{S~vWNmƴ8WÐU[_oF9C ҷm?UJ|eQyohxΔ?uˣ>޼>}Mi[OٶUSn8F}.Y])+=ؑA\ϣUU}/J×}:4jIJ\Jp#;͵ ]w7\HO tqeⷯo//W2ҾM->ˀ3Mߩ&* iݻo~onQi~ghR&0f~0FZuB4k>&勿/zՋu-kwIo٩+,& ̀R +I&oǫ>ߔE4KK) jWu].k6W/_\YwwT>A&l{3cd0R7|A@h,۷{o+܀xY8{hܸ$b׿ʈF$X59Y)\6/ǚvT}7/K9?5~VE띹ͺP) #D~EghsDJJpȍN0C";kr5v1xt!N -kw(n1w;M@CWg=RNǾI{}qWe-s:t+֮ >$vX۹qhCȶ #xE?Wf)cJ3uŋ}vsSoǯ/_a=Bc ;]at&yLmֹ5Z(v 3;ʚFCJCj@B!տ|=믊l{:yALL+J^I9 FN>8vrMYAvw?z翾L:xM'>MЛ}Q˷0{Ifsa/AXaɬh0] BwՍ|: +z-:P,B z}dja ўT8Qpr{%In$]  "Ydzw/k{!ݕ\YV9f*32p@gu !Q΀Zeh|T5"lgDG"~-\zmr,i?Ns"5FHh;XT~S.0ɹgF[[&@.6柫sRgxlMM(>Z:pDka;Tƛw±ԏ\l.vxtCII0 O>88.e+Nn}h%6v.ϫ7V/̐5/~?ɔAyU+씦* :*=߆B2% m_kܿŸ? =֦:aRʻaDڠnh8._zzGF >a*u&ӾX1ŜYC%yIJol1-OO|8)B=YO@Ev(à /=2r;5;ҿ|NeOobMwx!V-@vA+f&(sj3?W +!q78 /QŕX*( T{&#%RJ K3^õ8e> \ yl9W+}x S+)M`#۵vS + ?I_-ֽy4g_V +/:}q lr۟@󲪆Y@ jrZ+c_էUv!bD$gh_!].Ff֊ëH eDC1Db&XWzxxy78_ iwx p]&!cI?=?,p弞ڧbH?I%]uWÆgh TmJY 0M0ܖz~~ȇC?g0݀wW>k*\C@YO$rL^Tuz0%)P*stWKK+r=sdŽ@.'G3ڎ!=~ʓEV{TZ|Ojg15l0IG|{ )׏?~R'}Jak(fI {bPX+ "%b>"pP! +$T v%cNz;H~2.ا[sn)~hO03|3n/*T~QS+Aǫ55m={2͹Ef1HM 06F@:g`9F4`wي< ~?Y_IlW%" rλh=Uh7{dRPKGS +j`[߫3F3Z=nt&cކ W ]`]-&Lլ;1R-lyӀ(z?Pr873f3pA~"X^ j%nK׼26J:kmг3A` $ƾ3BH$^*j&U>5f5mTR> ۙO=1|ACˍh(S\lXn[mR!V`RѶE*5i -o"H4jЪ1~(n n* o2s=nc]10H !σbiCd٦- Ů'0 7Q +/1eֵƕ,%/>s1 x;OpF%j +jvD3xHN?"{ }~$M({q p?[[՚1,Gh%?f:?Sc:p{mC85>*Z>yфg{fd2Z [,gw +Z1 gVmtA  +eg_~D{A{yEo[:Ty<`w +w{o5[-H+6&l59FL  4ɡ򐝽h|A\e ,$UjMY)񞰚=ޝcx_ +[\yKYJz573w7.5[zZh-#qL/+Դ +:8Ȗ6[sz*A~a*$cy1O~)|8XPLJ.fF2ܵQ7R5miه?Pʾ__Q _c| v]tlD4|ɤU8e–.`o~cdijzhנꊈT/ 7 ߨ䜑M;glڂJ}}my߾SX羱0-ɖ&kp96 cgЦlU +"І!>Eo0U CbnGf.~@@)ZR +G16-*2\;b~`WKKJxq @U4(c$pS"ޱHP0iMTP;'xȓQK j9C!Uf5;f-C(Bj-p.l1 +w0,L[ j":ģ%SYUЀ9&Z! +AjR..U -6՛`ф'~&j)TX[Ҿ˱/Yvg$z'A`Miܔ5o!Է~`w%+j!zjwC% o߬oMFUS.Vtu<5WjcWo572Kn|{ Db'FZ[w6N"[ cVMU1HIfOoF7CJjYSf$cY@u qZ?h8<" eDc7D*cjLʢp A@fl9^眻 +tH*2Y-6{P0lq .+JYk@+_T l NI]dm.0 poIP\YHh.0:9 HʂI&C +.e/^Kffc}Y ᵺ!pFiYM8I0m rJ~{. FˌdH53WqѠM[gkZ¸R*آ JN7VId5i۟!?:Դ%-R* &5x "@W:+̫ +6Xҿ{zlwf{APwW*8NCA,k m4[Xp#61xi}h/ `Iߍֻ<*3`JrtנB uei++ aVU$UBo C4b]Ay5xf!5p6fqUM׃76GjJ&"Qh ARXKllv3(h`ǸϖTQ"hVf@)$]F1V |{ڽ0Gi+FҾ[j]iyl= W%S +;G]k~xb/w&Q#AXQ2Ϝ)jGQ+u-N^[z<߻:.""@#%Mta)DӠE|Qgm +i !\JjѷA}׆# 4#5yU@-J0Iw +^ R>b`@C4UL":$:W{x2`/o??毫_d*day<?E@ h@x?X[Tڈ!\ 9W{L2!z2CX/0I$FQrp[3:$,rw0^-k;UXRj +TLdT.s`+GTC0$"EcʶYl 9֓f1g"`U.xTt /#Fu &|;>/n%GpZaE䯐-[+:J41jhb+i +tP{"hyg䵁,p-ZXmC +[<˗(8!3)dvWPEp$ڌ/DXu7WőBT3慙>C a n!C@źIɓACy,uIc/XfPSRUbf]]XUNMgd_V̢R|RK|ܫqqj>c˞ n%:_"EyMFX7QTCL=,;&g*K^~[\SNuٻutY⍀iQ-Tkv +g4;HܚezI/4n`ćΥ^Ms[dk)i duLӑ59&xpȎHhü[-}1jO<ЇDi=8gt/K'Xkjq;PN. fh\RBGS@Ѕk /7];Ա5`1rQ\[b#?ΩmT0\[Evy*P/B.ѯtGϔս;rK ;kݩ.&ѭ"5>^D} E"TX55iNtN] _:=F &^_-yoYMjv~6}[E@ukk=en3Ӌ(f$]kB Y ÛQ ~$[9&"e3_3H>JMJRR-`daWETdMwqo̜v ']NƮ %a\5\iQVpxhjE1$v0Eh;/1ŤԶ*Q-ŮkϷi~ixi?︰O ,%i'b;"|xHQg +xw-<:`@I{OXv*Zq#vA9 # Q\oSB5![Ӊ;ps1Uvٻdfv +AMh)^훦oECMfw8\mPDW0ߑoWIpm%#^L|i1LR>%~"TA3IՕd"ߙkZCKlZSkjuEe"YԞ/BA`Ob??KhT&NRD33_qEn VnFػFI3+lbWA`K2P K1zj_|:qů=q<:mU"qn’ٓ-J AKM#U^bϤISx'<`rNAHV+8Vjγӹ=ui"Xg"$ =^5jaQ8Ӊ,?s ‰C hwRWxy׺% +oeˬ|ǩ:ìY7[9"|jQ̛ܸ}*+^q/ZST$"MET+ڙ#YNU3y;^n̉d SB4EzfwT;zmsdB)" ?в]. +*)+RT"K$ܢjd9W>U8vyPmvc@&7vfr5Tys_@%Ԛ~o:<,_`UJst-d wxV/_8P|898ؿzAI2hd(ڀ:fa3s@TYU~672&֤>f5l?7Үd0Ie_9>GdKbw/m7aH _gZ9+C_˕ٮ i8.#<>s?LEAzZcTy'ˉ +mcPV_ +۲_*:1MmIDV0%y6R,9#y GD*Gü90)Y k>S7 0mWo0ҫUOg-z +$[|ReQc̢ +]=v.A2cC'rZ$t|,1R\6OV `1\K\DMw!6I'ߢ p?0[\z}QkK-qq)il E? +9믓 +%V稔Q vB5YUd$8Vux'`0}5zM/;=pTuDn +@I'>얬g .;R]䎒ea [eݻUrZ%g? Q%价VӁ&9{Lp8#ţi9Na~jj9fӰU q^OwDGb$v!҆&wtX`hN#w8kYf%'+C>iZDÎK,O/A؋ص,⛱H9 +H1oWYzM۶⃑j;%,I:!=inpl8b;?ϦYhZ#ri??4C(~%Q ^X d +^J ilՌL`x8|cFhA-DY >.i.L ./ѭܥQ@i*m#%Zm[` 0N7&W=◎u x^tȜJ[M︓sMaA݃y?iNcBӺhas %Zc]^jy3yTOL^L:k +jG{ʒٹ@j ~7KX/=_ s}#KE#ضlr+QȝF7z qՠ}_#:=Bdz9[ +31J.Al{NQ\`Y68dZ˦Τx]1Do@!!{hh,YrJ޹̮S7 H +h{xb[;^Z+A{;&ޱ%R Q xvIbҫ_>Ïm _$-&XlB`C7>q9Hzqp$\G5=)axcHo.C"=r}y`פ4n% UENʋNef럅d nƖ-!jntgı,hri_iK_e6Feɩ[2 5K/`buZ{̧T ~._[LaCTwZ# $ݔ|ٹ LϤ P! mFk*Yό<0>nЊ>z,Mm׫%5XXyУc%?^V'Qh:j8rRLt C4 f1h _Z.B `A3 +!1m?B ޸?xKU'0'wϷl*jux@ ]rUu*Q 0L@F +jJzòcYcݳů?^{+8Kjߌ/=ϥ"z/J+>>(WC(0fM<&9[66&ئ JΤeSu;w˄FUG3xS}u0k.v&7T~ὁ#m#L'=X^VP&k(&q:nҙQU򹄲)@쏹_n'u +{5Zw +U1c[ܖRÏe=I7}?(g+@}I5^+'nVh톝wmLawwY7=ۮQ!K9W3ђ)}}&mO&tX(4[̗fu^fDOư ߼u\s `M;69%,$Z\ʡ:FQt:^+C $-I5LV}D;Ëz+;mg)LF"Ei>(B=|椚IfZ~[j}h +pda"Ð|-82;%6<)rPJe s"Mi[+u#p瘛RXqE'Iυc CS 33SF _΍z͈ZKc/R0 I'mx^y-'($xH1H( Ƶ?#ZAYI7RWvBBL6 +7m:gWՏ4LNʣ54281Ʈkɬ t38w.7 _-$~A 7NI=%6}f$eB${#6j %. =ce5*)Ї4OeI,1+~mc1Vju,4od$*o Q=#< Su|]T ȔmL׿ w^< +>?H.ݤ18P=R +2`ںɫ=dF 3UZbCڡnV|+1hblBRfE"D>כLesB*xkh̀AT1Iu57} ȩQ&XH*AwY'я]i{ UhQ^ϸw;Z0tYvQ-__<=7HM! e@irlFAǵ\ީ}3BchVR,)teZUM$S6M0t넂HmINj׋mlYjM{!$k.C +Pƪ<ٲhQ:.kø$j[?j 4cVܩW,}Y&M>f[5pq*7^cC'f5b^6{W'^k ==/]IIt=WsUQbڴ9lavb6SZZ\eݸҨ%i(8aMw68Nr5%O8ag‘xFM^B@bʘϨjYVףǓڵ{Nt&VH(먾AQzI=2~/Gsq^)>ya`,,CA v;^Uˤ n.llXQ 9ݨUMEYE,-.g  "^͛ RqAiC`8*pOiE$i{FwňQilIm9J;B0aNU`%5Iއz $`{ڛ%w҉t52$`yku[qmuD=U72ɞ~{k0Ju'kuSQMkQlaNFh *V-S xgQk^]"&/n}ɺtУJ,ĦȺɺɀJ@uۃ0E%jуG$7 qC;TCfQUV`:SOA ͌MJ uW9M3?k(NV2c%Cp'ehŽ݉m3{10G%[}IN@ pB{LOWphr}%ԉCLO!*JFz]u,\Gֲsx<>1Ю^GTńS7d#߶ UGca\pcQ6M~ῶJ(@6tnZ'ņJR07c* zUZ*S,TWӱ TtS M\*,u?߰yqГ +7Bzoܻ_w]k%mG + 9?bHщ }am6g< +$4 d;Ĵ4Ŗ6~ImK9 4 P9GOޮﶷ|\۝C(_ԟUZ弜[L +kms]~<PitLB9_s?asYa=Ai9^# @$;o1>^@8d %X /ߖ3BZUZX*&P~Rf^D_`dQ^(l\& ӓ61DD\lHzba*X-;AY- w[ eiݓdCLk86c6a` +kd .Һ*\RT&\JjA1΍SVDaG 3mSI'2O g AiLdKR:յ>rY ֞0v~ u18K"_{&óx1BT;TM q.mIQVeSSJHAt_K:0ln=?q* z[Ճ: +]dt0V3FQVFYCz#jc (\Pr&llCt8'oɫUXӾM+kX?_3KLq)C!3Mo*^)Q`3Ky:+0 +&m;f*Us/Wܶ,+EMqu on=ت#9(NcIHEAԞgNz֣'Gv!! `P{ {H y21ɪqŻ=AD)t[NXju_nH BZ̔E&fa(?G+9m,:*7{W7ʓ5z)!#qEפ伤_Y3ã\Tms 5ҕʾR) +ѥ[&>D +\~+7;pQG҇ ؑJhww!!PKݨxl)kKE7cG5]o:7&gCԊtub)iPj1M5Ն|]jc +7c#g8L)&Hy'kTTk:+- +9Ҍ: '7|U! 9N|4e%]8r)SЅ>%J?4D RS OMlhSօ#M֏4Nu 5c9E닾l5\U]m|FnZn{?VE^%8:Q~3rui۶ۏ=hmW6$1hQ6I= +jX`ν`3߃xR$,hΣZ2ٻL>yУIDZ2QsӃrkQ+4>]:CL5i'oF>ӬuHJ]qF!RG0ݟYpEȏ)b2NӮodI75U  +Os*XPr,|%P / +ŬhUq>@7>3 VZ OvJ])lC1XfKڭ:{qhI>Ns7ͳM*=c ;,OgRww2ѣp~unJ, ȇ:-\D۶i¢8X6B"fh7ȵ̴.͑l* OV]7sMe?T8*o;2N\RL`ڱdqMd[0I y4ɲ5I{sY[qU1I5͞x 0Śwñc Ek'G.*> J;DQ7 +H;tW:.5q_or, qx +6QQ36JK\GYxWEɱ+^'>)7KD[[qƤahc? ;GbիQ[˙OVdJ,3  *gG[A Y\/j!a=6#{Z MD*jS(/wjXrorvIUjÉ+W끽)mtϚPRREEv3/Ѿ)TոIj{/Zڭշ+ +j4P+Ihj%z I@Pc^4,'.JY_3%ÆSפRmOj廯}f/ʞNGCzKڿ֘`T +Nv4M#TU z%X-^BIIpt9 Ǣ$79gnB}NI ϦxLFenstt`es)['IC*<1#>OcksD5ns`/<7}`TzF +&UʭQM ɲ`.D`6o;hGw +F`w93W5ઘ"|NM?um<!dBkXvk3?ccV4Z3+<43T?C_O1KRVcRϮmf'4Z:-ƩR<-6[1)Hm7*O-ݚ.csN;D\Qt5O}R9mz9'ښW +PkeQ&\S꯶_Ք’ZPn?IM f xU Lj<͞,< 4+ m UaYowku[~hiٰNt%  1h/kCuաto4^W72S{:"Z_rQ@bz~lM@BG偛Ʒ jBfYSr\<{pqm>&D#b%őn֩/-yfj9}B ;O5I(e O8,vLtZҙc0@j_}ۋ'zS6$=_ #އ)pIM=sV36N{5l!LO9sϢXSbyLEMUc U$KT=T1[Wa.sƕ}׶`i %H3QQ)5״i +qBZ{og:K l.+υyBPT;.HuDEqEI] bKq{;h\Db-BQ6Oo*G) ( D[+5ju-TuY㲦0Mz`,;*1nɤJnu5,Nr烨ڳ$^*%[`j}]Iwn:OS9@0'ZΧ9Ms>*'$Ek "LX /? QrΓtU~*uo0eUF}A~O菉Ǘu= \"=î*c:R6t"Jڏ,?Na.ɮ#R w &p=eҎ7l$z.UĀ6/W.+xĄvdHEcY Pr=DS-SX*t*y-zc$U#j(B'i:Q&U!C?{[{%\VN)T$'ttY@ :CJgI2%"~]}igS>uܹﶾ#bҒ0WԙrBS*5 +KQ7Uو&7EkyʑVTX Zv8B8|(꺟: ?5xd-kxx83ך'aQܶ|,D´.rQYkMTGF?Q؄p$%BLt+˃gxpl'pV{U<;4 Ǥ>ɬeNPT*H!wMa|K_.Re/CG 31nͻaUD7szUTIvXj$K~;P*'>`=Lec|HF 4ZQm($===3ZF0CdN 2+ +3$y'aBhX %Bcr4>R} < ÄKf_i=gqlad:E<bxdyŦi,E9 +O"- QC]WA=kGFyp@ұ)w8|ArM ,t랐<PG2rmbWJ;~^.ߒ( 4׻j:oK- qwUxDFTHA{/*CUK7Tc<+@|8~09-Qq?n֮ /+s IR g@7O ԭM0R7kÖ&')vP2 +[9K3pUn# jZ j{M Mɳ"gB&hMFA־! xVgi0`{Xj1$cƅ?Uvl+E ~c]#3zR3)EEf:F1V+?˱VjO`8I$â,L9#imT(^YxsJA1ej**=/a{(Ҙ~u%,'d'F^  7m%j|$&"7jp=RLѤ=21,Ǚ+ojeZ$pfY?oQm@1UxD6Oɦu9`%á9J 6RPSExvAUqhtrihDsS3K0_/xdYʆ;)$vɔK xRz2mk5TX ӲjwoZ)fsTZ+nGe%m׿qR@Mh5Mp[RIњQIг#A_\թȦ@}M')1_Kk]%|9d~_8ぞ]R$u9WW(+Ƕ8I\{8Z/E2<{7'lbVw_>SNjg7+dIwLyi}=L%Wa7+rnX?>dv:0`JTɂmnb>* fT.#< Laֶe#5s5sY棫"J +Fp8)`4 e D&duevk")X]6l2xڬ)%rDu(sKg%&Ra(l#`^?o,h߄P[^ ̯_U_xW'[ɜ +&COEvxf 25QLڮ$c'Sn=&y!?;}nyBrs5ӷƟ%>Mm\,ٓckn>xdT/}Α +Ķ ;7tܞ8:JE7?@$v!sZ)e6kj&?fRqu3Zy "ƦQ,zlŲ)2X~Eh\w:7t=N"G_9YO iyO1m_z4 "̋ge@\IƳ^Hm*V= Re8dꫪm>W8'E+c-kS NQ ZVʕ*R< eчS o"= O~o(G!ga@ +1`{)sKWqt7NN*TJ6~(FdXLm{Kϡ>&!g>Y]ܴlkhJRM d& &!d9gTu~~B-avLEհG HOQjK{=ہ}q$~>ȵ#0xRz˛LyH~xnld-P3xJS^bԅOc +kD Jt>%t +m@W'23?-8*KѰ3 +v r̩7˞*ƦU>";k.PliZqJF1I+ b4'P8`DR_4ר* +HS +"=~!,~[yu׺ncO/V=,^>W^O8Fa}#MƵF;GIiJHUhij,丬XრԚ) H:Tg`zaVE jt{(Ģ!G9HdeUDkubEѳ2iHBЍﭮq3cVYḞ>g\>3W/Ri ۀO\dluSY |lMA +MAzD?o2Ioo)Q: JXn]2٣($x̒??/?7;EөTe+*w[Rffl-s734PNeQ/-ȱӦڮb;zk;Bb>C +XD5`jkRr?WDӨt>N-Ǖ Γuhy~V91ڕyӤ@I-ɛzRY@Paq~4z"m-A(I1AZLv ͒?qc×{t\O,%$AY%~)0¼E~ӿdz)A,Ί [o:|N=,z>~~q>UI呸dyҟ,Q +~e9.LW,f4l2Idz\wȕ%en* YiV>?/yא 7¯">Ə#j +QBtM m\ͨa WO +?}ރr}>P"#W5t%ϖ:r>y}?Ǹ w 3n7i V=g?~OiUac2sku1cjUc-|oϏ?E=E1@ k!Q̋+,NK$ +4ٶkY}:tJA&\H[ϛXk4f + + U #,ƆWk-L sFB?~xc;b՛,ĨdB ŷxQF-<_NeϞ6'xam__*}gɣ3A$3w鯟?/?8N0=p;cъ'nFaڣE\UEk= 2A`SL.IW~9_~rZҦ׷Heӿ&~_U8@&|.#VJݏ tREx\NR̂ެu=u!* Զvi=Pf]ɕ%YUdjwfdfkz׋=Lqi6ٍP̌psu̬DP~?=:crܭ;?|ۛaxY"^88FM8flIsAO.n7;`c,kʓI̿+ +XsyZ@.yKU\FY?n>|CѠÀqs˥oMנScOꜜ|zyy߁ɦ݄,k>PSkɚGeTB>N6o?|]wz@k.#-O&*(|ݴω -%!O(6@>^϶O+a0{/2$b0qCz9ㆃr|S/O$x8EmBNsK\X|+ǪJ~l67w웖ԀdvAY3^dZuww7f$ԪE%H C6:@2Hl &Kn|({fkDy納FVR~Jq=J`ai" ֊* 2À$%J m?z1S |@wOhljk~aC%-#zm3&T:,I?~o~_V/JԸ.h(U)7212d#yi1@zv߿ƿxV">:v{rLb;l#2 ۣNbPn %ݍ_ ?t:*7Gv'@ܿ}ؽߖx{oF]Eog*GM ޗ<;h*Y\~ǹ˛诬sWW/$gt!QO^9k~di;~oo~[,Uphu*r1j<)~?V&Iڦg^@L\iL8H٬6)9ȱ | t KF'e6$B pJp.Ʈ8"skǮqCQщ3݋nnve%] n>1$:\6HjXXjk6 `!bhvF$L[zŚfqx#-[};Mδ^:7ׯ~ ?4v8e4BZm dFa-4~_lJ$[jӇ>}N<V(rӨ(f/L>i.{6 V+m'> +x|x#`?.׉r2:k1k$57"5gG8," uB#q~5pa8H'&Z4Hxi;v9s~+zy>N$1tN)uX JD0گp^v6L3$w +,7y Q~>qw*)tN=R6KR(1RR%4.T7Y{<AEv +詨)5E8,GLl\wYMı|?C#BC(ϢYYa/U-gҚ3іYdԢb?+ îՋW_|l׽i@F:ɲKnNIHyɲYLg&7]Xï^7/7 00H 'ʍZD1x3Sۇ}؆^׷_?[mrc4H#r7(\oEhG/Z|]j]ߴ>}G9J@`)?P aۇ:{pqb+tfNF.ݩF1T6߽ǔ_Wϟݦ~]O۰uۇLC{Y8.{2Ĝw0(*aљKo'tJu|qͷ_}y!r1\)K[\afac?uYUvq~P,ݦX?1#S~19]zX- ?1ҽݽ|[ѓh(P>cF:{ 1j$dƎݻwo7˷׿7e9TS %(R[8E0BuHߓ OX"n_|~y7Ț7HU:Ɏ{Www-9Wݳn46\郿Èýl{/^WCS϶U"YC߮DŷлxM!6UO0uo{vP|,G +g',IlsY WzķHnRnwݫWOtVBGF BM_o/ٜ nC8f\<2Pbh1nkń4g_g_էasXc0h j~o~{{g2(#aeyq=_}}(Y=;yn7d:Ij^l[ᰍGzZKd@Py`~>AN~j{y_ݯ@Uz&عÝrE,m=AW_xv) PUĒ8C ؓr^v%q,:K>1W&Rlֺͨ)Gv{zlw?˛|5bnFm_PCf?f1I_}req m}~l޼ToހHf`{eBSݏ?%u.#x608t +E>hmKLx#vܷ؝wbI77a+whu(*<*#L +#0bL77MݺH?VZX*uOojPk]ЙO߭ꗿ~ճUIx5{fѳYS%0ɿQv_/ + +i^bRj^B-/n~vw^_ny5TTͩB.+"nW<ч}7ZKHL6.:%R-^ʸ_Ovn_*_߼^a}HMyk"O񤒓OdTtb a=NԿW_o_A o?҅uƣNr3JvmwF}Haj ]37oݯ뗯EVsQLa\qG NؑJ1Ay퓻ߧ߿ os헛}[n0/-fYj38Raۿ)g|j^W'a:ŁVNۉ*MZ93W}C%ٷ_5B߉ =XCу] &S&:=۽]=l__YPkH%}ȽM/׿*~]x>wlƻuޣmqwDj/˙9f2cTbYHE)z7z5`*VG嬙 z\k̙΄q6yFLu: c5* ZU!ކ~= U/8c~ &Jv僇pOLُwɝ͐͢sB*T֤0,3SwJki=@AqIY;B"A o(ƅv<x|{YiL㰃>p +9>33Ԥ +"]ZniSAc:ds){< Z iDIV p(2bpTydB2S F$DONR%(:~/jZTGYHJF{ێTbLj9<ީF8XJAZW:vӻV./4נdD}yn5Cr38'DVم&Vq&&mo1=`\"6n[vcԧmc<̴e6)::Kʡw@%l.G-boBC vULSѼ|>@kN +OkYFY&҄ +壡 ǸD@=hHNc3'CbvHajC"*,ڏR (xe!lÏPDvQlgϣ6? UvHHj.#Oc bh럊Q@:6]y<dˊV.uŠy}QOZPDYfIx?žإf"K&( +pX_7UTNiPÃ&A]S6茉EfLPj +?;KX1.hv*;Hޞ@UGPor~?G w .JF1~YEca|$%_f6C?C,{n"ƇM*)B; +ɪ`˳85b}WsD`c% V2/\:k`S6O\-M=aɳ竓ƬP *dIߒ Fbul4[()I Ji1W=l9 )|褺PșSR{^Y#퓡G:P;$K#yk#irGI C$}˞F#OTeYex&$"n6b)d1IV5CϜō_*ESP<91˓T\bTJCP cM‚Opt#ٔ3B#&˜Ft_6 0=JsD_`wU#ef.I\GP&rV^g ]%Xsߠim*b]ItɍEj*Q+f!clM҇'N1oX?FIMyk7AϓsfFXֵRs-7 AΊV>Y)C1LUJ!'WGw|ۧ3:H +'l1;&j()0RPﲦ2~~Jj!O؝KwȄVEH[cgQXTVyhul̑3 +!֚PÅ^CXt>JmBw'f U D2VH :d6BwI)"d,P-@A=d+ؕP37# *D SQי.VSԩSWB®njiIuɭ&uhàBQƟ6%J;1~e!2 J*DWmqF(.FO Zm91&}\ӶgҤ;,Z<qMppj~3Q*h)yY{@`(ML!k2])L#zSlPCPlW58O~.[+3ނ`0rRKBefCY,^3j.ORl:=@Uq>"Irbpqh-YH<< ރLGȦTZKը` !/I/ЎziΠIZ\1YLA5-gydo\6 ɫe=Z\b~uۑّ =w%Pט0(^s(N{ ܚ,Ap:yRK:9P=44;Jfa p6AyElgδ7%Y 8wq詊JCqK_m*XC^V{VaJU)~ uv*V̟ +4?m3M* 3fgQy =m?UZ~22yVF蔢"Ad9^3r)ׇ㌱YdkrձX7P,qp$,ecr1aD'CNJycJ[tU\|&ƿ|ʨ(6QA׫96C?cR J"/F\k%QlOJf v I>fRyQH-RH:&VqG`N6иhV5UقP(G;A42D],W@vOY BZ"ÅUo@3Bf\Wx$A+VS3bB$Z&ޖͣ|ԫ;LhC 7k3*KT[rC EqfC0ʙFr ++YY@<\RGbMֿgc&) i0?]4eeHPCu]I8\Vyk 6٘\9fe87iL} 7bٜ!Z^WV2=b,ǫbv/(_ H;hD>({VtMFy at4bU6g/CsB@qEf1L7(7]QD- ->bT +:26=* @C1`ua(aHlJ&MN\-`Ђy=X"@,6ֳ͋1AeAYkޤ&Jx+ebxA3-Zj9 %A e_Q#sOJ˽ d QYIi2cBAaʡfN%::ztLY:5B 4z#Ydѽt?k WuqKqAxX&3ˬ3:/_ Ӎq׉m&Zlz.MBg濕<.O錗)7wYh9,Ҁ)OR'i!etRaV6mΞje=QZr M,6Y(DǨZXO6VP ]*+6u:zA b +UMU- OK䗼,QɍiqY\>AӭmV-)&;:ѪG]Ik ) DTs˔W302RF$IQ#cB +VҩRқd/ôyG ++0ԅGO!t]SjU*{1XBQ~CԔ#"H6B?|uE~K 'D2!\C}7Р)t}`'׮aNFxgİ@ |iGZߙP4aȒ"ܒ_8 $VVg+tH9TK~:"ӉT# F +;i)hA1le0ΧH$4#O9/1o:f:r0%JgE UH[ 6gW:Oyjђ,0=Vxmjڨ` r + `fWW;!tHSDq0LȀdN* jl"] ĕk*(4 +nz/ks'Wk[xb1י}[YyŞ4DLLvZIE_z ? S8@vP{cis0鰸6"&دl t2Dhc/rۊV9euwt9ÜRuꝑd"8PQ0#0?|vqpI<E40<7fڋ`mȈ[ ɩ7N1}Xq\{tΈ<nѓ}(rA ' +9V=TݚuK|' VMxHV+jB#_sHzǧp@؊e"JM6HI>z01d}MY'לTp/E#Q{ }:,>5(u=|P=ym}FI@&42osD@`. ;>Ow)47)f5b\A{q4;mxgkKQ?4?}a^űcD#2%pj07jioTYp^/ۉp@p^ U5;=Gn>)5F(_lAݒǭM^Xs G۩S-MU$Yo{l|!4Ka^׃LAs9e7,%~Xh#]APe01}"{Ԡa;JGn$L:G"}>h?%5X[mf!;}jFg<3)NhDx1FU>(E:NPu4I1&_A?PLSq@F ;Fg4l=fAA~7_Ӕ"{ Yk4-|#ik3Rk1KC8Thp9 ]\x@_s+qiCX[ %Qju R|ꊩZw;@Ac2Kؕ4Ʈ]G.^`[qv =ȑNx2V8&'yc [l^)AXv@M u_K5geZ= 2`LPRh9gf;VJ@u[y$ #ԁҕf{eOX57XPJW#T@¢0_7aMhD dU9q(.n'9Cw9|'TŝLU-`pMo]AK NaZ' +qC?U^ MA0~Q|֜,piKv9'(]}L!æ!>J 2rݰܳ #Q=[YɹwmU]$ yqbEA l$Apq߻ջ0aNEs+[de3s  u1UŹ9 +A `͞ "#Wl^jP\ڥTlhN}[tW! ; ,y-[ۻqYt<<,eUmKۀCbdj)iz$2h8 uݜ4 B?#jUa]USKse>sl5a}%f Bs_d6Y ZR + _'4Dj\`2t >Ovqާr.uUɩ ;UR*K^g?Huy +.@rl~r?=O[ըeOg- {6ݟPgp!\Av|eG|$SqlR2Ytzi4^ukbRSoUcT9`\wSDz15hM9!:U@|Sp;c⧈?CX1CpV} '̽ !h7[+R_4 KEjC,rjʑT RHsdhşY*d~jC B3oCO./QYBVЋ~lGOeȳ  ++dw_=hJ|?cIg-XLzHC8\f~cy:(:r.Lq)Qgl9Mp~5t}nbf\u^z]uׅYN'%R>;҇/wElV ߔz]u^z]~uϴ|ꀍ}µ:μHmƏCq98u;¸J/T2~C0&]<[9&gO+I4vw*H ^aw=ꬊ Wr^z]uןiyU8^쫥 0Oz ƊROIJݗ^_ +[ ^z]u^/*fR,/ M^OfI_z6E<i?=+G7?-їFw]u^躒E39kk-Y~͈.yJdG9VnlG;ǃƗwV~Y.=P{ʡC&=V)Pj`! +pH<(]&7xlFhA)wcP`gsFѕXx2V\T !w y᪹9ˬ(G{YEQߛ@mQhsWS_:z_oHYj1;h0 vX{YԟN޹ҭg}{Z +/+>bO'hi52Gn{AJ$T +&*-0d(eEdO +,T]+rhL/-.jEDW=ˡG|O +eϢ*%W˰1x`Y{\ +πXX^ $js}]ƲYӓ`(dߞ/pw^W$}@ +ʁ=sőfv=>X.Ml,I^ Y6=N;e2;Ԙ)!(x"cGk?2^028NCr>pD`h؋ 6'7aX=DT t릮uUI<Իb>+AҀO:hzʱfՂ!KXUh{;,u2,SЃ3$cC3:, v|%Ưzt-T)7β[Ou|' +,Y`9i#լytDVԧWKNh(wŗ:U8O.aiGBâi4w|V8_iuhB9 h_0tOgVb&NYxơ0tՌ:L3'A_o1\Al=#'.Jnu?%%QdR%@ݢ9mopc ײ:eU*9J-6LG/,eG.)n,C]h7oYl([GxZU|ҧpNW@;.|ɒLx҇JgQfIh!5Ҫyz͢0{)dKPi<-}cY*W>[bGYEGqyػRDd2q>c0%@6OZ',!X`Rtm yU*\XFpBT?KF\V3LnCV-Ld@<KQ& Rqc:_Mo-*l]?ɲujsiaJbAmWd6\b&k}K/kD DrJKKkr3zj,,ٲuZluV+QG&JgBـlA#D =YA;w - ;/oH/ЙP 2{}ҞpahK,_aҁo8{` p л@DK zú$!;d,ءI LmۭY_a(ߊg{[cjyܒS1ŠdeFN59<Ϲnd/Dbo)XUB. ZIzcŕ_)?80"/k(&',M@' f0ޥag}l"ijd(<ٍKтYŪib :pnm\\*7&aݸ}Y%zީi}ݷV!56= +c[kќDV˹/\eW̪x.)ZP%+ +e)ءYeKGXP|v7RzKV|kY)1eIl]"kL9kCU<(|xH?}(|P\C8[_>po˛x m'GcroQ{`,~|Z#h\Dc[- FZtbI25d$@Q¬-enQ4T"xA?tO`ovެRtȬΈ[rqk)"S+z`Vi?naIH7S0/2ew^z La,r:;Y#|"rl,|r)9RfmZ=\ܙa-<7_S7 +zkꓼ9b>N6O,q?kr7Oh=;K$:x pr&5/a\kp85THrDpc0i*eX C +L EuT/Y2а6ϱTE$Xڼ0_R_afhpjK: 'K df$a{ !b/ + LbePi)ֺ4jm`QtWauJfd,2|)r,E9:oUF;p,I|&yŬƀ3D,@'+֛DH}nOŮ?磠 Z'F\ xS˲VF7X;_F3F|!lP'lp<\%C@Nۧ )}6"]6BI+=2j(;Fm^nEY]9i Q$8yܦr?ֆ^Qu$t8( +6"ͦA8}.7? f 'sYw[Ĺa^&ϋγz#n+^ܞGxʏf_;Q*1^3C")u33؋rxZ좑#5*xa !T$ek\H\ӧ\M5Mm|BWP:OBeϡhgsdUjg GHl"y,V*z/ +`Or&-Sߓ +\ЀiJwtM<qLO˜5"as,pZkLQWr0!+ 6#A'3/ ~:%_5-k޻jtmoIvuEqˎQ4`uhs)yƒ̧lԪXSkmHB+XNdudlbǼ{G_-Ýθ]PsK.c^'lH\vȝ,Y3RȚ Fr G EaOyVݪ˩76 +x +q2jQrYD*&oϜ)NN.]ŗ"̇ʙI=JR9o/g(@Gzr"nY|kC( j\%tD>_n& 4#FkP©E?bgzؕ'I+Zi8霘:|rWSJm86yPa(Yh!{ZO~KѼ +Xt޻Y],bh\˓mY2UNձ u.+$n}n*&Թe/DT L5y}QNY7 F5{Oc)ב%DK&'Raϕ51ZՈ41vf4.B-XP!2;2w8-֎M63`9(G AIɨvƹoځCqIG@$l͒{ w&dœոYX6Bٙ_)jL*p+卖[AeH!rB&51ݎ'WV(lȳQc0wށ `ZNk<^ ++B3 ڧH!NBZAі٭Ir +q#:UI}߃|,;YhۧTʝDa}ï>nOX&ZyKaq:Nԃ Nb ASXA02ybM PE) lVNQ OcFq8WcIdoМycN8d l@ʎx1/M_3:NpTlՂ{ G1NVi9A <Lg]dU͝5,/y|̣QT@a5Ҩ|$5뾽2Wm[ ({k Mnv7' +O" + 6+ͻZ{39w9QxʑwI㹫Jt&f+WedЦ;WpBjƘ(!oFh~g/S03g]hNq*#bi_v8,xhnK {9Ts@y&VTL}ϔ7Xp/q?Ҧ7bc6 +a"5>x +t?jtq|:xn16Dl&R +:HUv*%oZo3ǁ69~|4Nks4n Ì!3%F-"%5(+<l jc|.p$Rrnz=*E򟣀OMZ|m(mҖ˶ Ơ6 +i5d6?/H}hd">yLɎAmw`uwc_6Uid +fHE9_1&% R'/pR+nW;@V-iLFtLzYqK5I,&'͛DHmrQt`4؍SJk6-׵"oCf־vw]NS{=q#Œ,. wK=E&M)Gumcu mcQ1EZ*txLtswLeԿg7M͋,89bf٬ +xeEOXdjXSTG? Nz% fzKMu%#R_^ +0ؗPigH 5&=^i;WWfk?J}ɞ8} 2CDŽNlf|k zOLNaFuAc v+:5 k[ieFk9.w2pctdc3p(7h|U:_NL7i-XC@(H0d_FJƒ iҞ=wtLá%ȇ$15;}xm +0zWу'uZDֻZQxiό96_5tz/ZS!gJ&\zF_ +۴{tTQ. RB bwY(9db,Idj#[ƔD;,HzÚ]nj5 7Mw_BkͅHX"wF5JHö́@Ƹ;0mπspO/"~ H<O`" E0C@k=5"t>>F2@'[Y{>i@!̡CXLG J9cZ=1=i `Lg`er0/<'QGth,0yjȢ4J̶)>{7 nkҀQPbQd9\Oyږbns:*Sup$ +B_Xm@N]@&2yKd$T:x^TG!=j0_J}c2"ql x&"q/*x6a4-LԷY0S5{"N.sUAkOQnMin*4}tbTjBn_} {c 6C^b =:b +or)aD7GU>!A8nem0@ù2<(9_;u+,l]y?^n;׭z}] +P{fen30T =K((jUgtc:a*7)8cnFdѯǍ4~H⇱Ĉf>pAz{6 $/Ff16K6mZ*ɻK%4q-f\qBy>о* + 7HR!+J,SwHD@ne>P%жd>8zGb&qx_ xu.+[ +)m`rN{ky)-?TلsڬST57aۢ,{S6)eս[|hWڪ4 +:.'ۿ jBqF%*`L6o·g|5`n`oPhլeG(%[%!<85Ȑ]f33H6Tx' +HW9|Ek6xjL]_DI*&ڀ8B+ 8O7827iigbz8݀:GPl_5ub6EKAh7*@)U"%u9MJxW (.C(3y)l"c1pq:K-3Sa}6tp6 +5N%Cy5 +*@0!N|1LcrAzЕڊV*M/ m %non T@(x&m$i :<);6aLxt_٥Q*wchn9\DKAT`t1%i 7͒7J%5Np)ta9kItQw^cg%EC3GQK|ҹ{\]t^V !sK>^,3->Z9x ȰRƃr0??~,IΕ-;t Ѫ,õ0"Z@RP`y;`- `b܄fa4nASr^V:RE(/3!vŀ粌#|6(]s;B=@֌/+nt7=zu}j8sRZ_HjQz]b\eK-g:u}9?a;$DMZWtkq{^b +V]Xi!3|)Ϣ&8h{%?XnM=*iцqXeQU`^˵w^CZwݡdesmܓ(?Z%6s>?|8f +D^[C @E:뇙k%U'F~$9zDWPb<r m qc 0 D$G O0R7X5s7BZysNQXD0%&OUqu~Qlx1¹(ٞqWlśxLWY1x%aKY|b38l1eQJ ws%&bdavg%Zs08=l1ՋDIēePC9%@]IO{oGre  dR$u3m s鮮JJ) 2v3slT5SR+OI={]Tk,T<,=<=R8}됨LQ_fb+sCb`(4f)ܨ@- BŠ-UM$M1gZ1XB\eJ8]҄ƣ3oʶAz#tx+t=1v@0luF@khmu׊U3uhWIiV"drn5pc7N2@ oU,$~r#3ΝΉk#RX`v>^V}c2$EW4P6e6o30_v"T F#@ dCkmP5SX`T9 nYQ 7N9mY9DsziB.>,POCXnG>i/]yQL{{ݻ]XwɡJS~Oe?+]g=_kuѸ.4<{gMqɻ#5K^kiש`ܦZWISKX8ลfQ,"rL j`|"UlAxkxSgeb%<)?ZWNg j6Mz؉V7=,r ~ΛG8ZYlXx8*9?δ[i{|f/Y_pMHΥնiz۾2RەB]J1 E ZZPjۉCNdlmhnC:L\Wy{M_hqR4X-@ٕ;]:QJ &Qa6`H *NFpt^;5iqָؤa>dj==*eNz ]]n*Ƒ^Szekѐiz$˗ x?(o|R`4Xχ@kt˹FN" &a^`3C Ɯ-e`,t}Nd_m1^n{X=ũ~,6pm_?!B*o)TzЀIԥKTrLqch1գ)ܿ H|U[EC~pK~LMO1G0^އ0F!ίh|x>aV'zaeXZ+:-!ІT[ThF2p'>t,?0l(QWOPO8򫢸c|8W[ 6K /V!`7M,`x2OY]Dw1-(IL_GTrkc.IśH㵮$1F=`'1i.@2 `U %;-K~Qd6,+^`*wFWT0G8KCn8: &Js\>b.k;C0lakF Ƌ|GqmgT\UsJ) i=̶Y;MjԐ +!Bi%.pC +M>#Ft?I#H9&OB_|UE]R> elEiSv\ +QxŊ\V@uVo/UYIJco9s9bRA5y\)bI*߶ g <^IKRڇU~$'W"NL:iM\Lq1[氦WR}gJLX>*‹` iG>kFhANT?&1(VrC&8?&ܧ_i#)r%SLƅtܙ#Nuƴ׻q>ܮ'RL/W]LKUl b@;Ӡ ZrgIXN;lZV͸k[cmV/&ç9a[vgwkqEv9\gݴ:z_\ 5q6 @V_ͫ1NτbA{x'l^|™kO +Qg̎7nisL)|b03bv Sw!Uݞo. ̀S6;5Tʆ­5lE֚@ D,N0TW[}э6)DfWDsw€$R3Cl3-e]~"Ί+)e+Hw/ipzCvVv1E,͍dN},5L4`3ti2]N,O* Ŧڹ1UQk:{Xy[6e4uO>^gks~e_~F[ƺ>`&-Іo!Afry }?lGqEt^PQpPAoI;̿fw.OGWyǏpۜbQ˲s`&U 5zco}04\>/TloL +]ڑo9rȵ`(OJp,]9iDD?NHT&MɅΒS0}C,"DD>-e8ḰˆFaFx9E8׺8v!/ׯѦ-Ο aBږ0md/zrgr͜4k ~R_DVä(?+ +'lLu(M &-=U1^04ɹv%"3<îo?M?vz9@FE򰾤leO'. +mp7M㐿кUf*"_HP|O3KJUpR/aqm\`ř + 4rB̈́%PR#HDa Ƴsw~Ɣgu 1:m^q"'@F62mB4Epwe [L9.oMP ;ͫ5 +R.]9SA%Ez!@_>D@HԆ !IIoH)yUyJ +{,tgU.ahj.fjp'4619}@]2=r5Af~mjJI75 +\6kllQXwl';xɵ7> }|v7?_ܟob瀞W;L'=Tp5kf]wY|u8{1}.Hx0{<&98,sqzwzR'y^Z]JBJ2L?fsֶmC\6t]7Js1M?߾fu)w>/gY޿㰻8/z1IK ;$ve:nM֥E f5ի_}[iz I-J)sV7VooǛ?Е.𜉸 ҚҮӗG~|a!W+ x,68PL̳?Vt͝s͖ H + huqzv&؅JY;CP8ajO ?ЫvMBz-Lȭmë{PSڶ|Pwn7it&Di'lJM~76O+j[ֻqb}B8tZ_H*#M=_:Hm@*l_W \Swi.}F߿hE٩>VܶSkD\YU+r dsnsUѫ c +)Ls>$3y(+ +VJ7re޿~ӛwH~L istHM-w?xC{ERpmR&>DPq^Ѕ-0g\as"Bd + 71(qVHW\,R-W99y^>>J,zM2@{Γ(۷vۜLҌHӧbB#BwFD=H/I,i۾CJkp(h44u_>2УOݸounͣB(=UM>n]] k p&*IqI;ԐpE/qZ} Bv nw{hǞu%[şƒQhͤb% YScWvoB?ۛFtPDm.\$1Z?:fKN[s2.^ƭ|pKӑG6;w^KkVGt޷k֦}ϧ8DV MA&+sL/FM׾f۶ݸAtehǧAtQ) {9-#eVpȰx}{f5^wn?=>Pm:# |^ ۳?׈뻻ҋBvq +L4˂&J|55-סG~ÁGk(yW?Џ"N2ĠLm 0P0=-D~ )? & MQ NC}?~ $5+j&a84%4b12HqzIinw^|W._-xS +CVtkGZqj}ʞJy!_(bfSNih5@\w9<gb]Js["eKc? 9گn9J=\xItaYr՞o~?joNmq%-6ICPQcu6n>ZaDɡ@\hx/xӺ5]juIaxDSOݿ?+ g[cG?Ǜo~ի^k͊.9$_C5}_X%hm9w`уRU؆ݺ$YKE=po;9o6˥wne~ȫ@Jc2&V!E' .$zQߏ?_.W@}Hc?Ќ\TDɌ`,`tsfGUu|}y6v4 !Ie}EnB @S:6m9|uחl@mb; .N>pΩiyJfw(4ܛqoM`|Fg[Bc& */Jڜ=W+4a//ȩ,eMϮn'ytL-ѣAQrӟ~zȑPLtYΛfU)ɲF0d+TV2$]XiCs +TY5AJP(s6" dqFޘfUl評i\~*=X]l_z4&T%TV͟%6{m7N~"""(Q2$Nj,ɲ9wƵ盋v~dB.oţH2 FZ8[ HϰV-=ʤ4]xY Ac* {?L䝞lBuo(oK=gs߽ye}m{b|P,!(x1otK7wt6m=A1g;hajVW'nNy5dyx7^Mqqnz8UO=-&x zc7y]4I=gёDZ5MM!#ITX_<:]{C?URR'6З~kײɣ\69Ƃ;sn:?n4zvU3  &Sd]`Q=\j߉88CDXp(9d"tIͫ(D u?G?uw{8H,IKbᒨKI +h0:9dxps6)%`ne*$zRUݨb/6=3d୥(շ?]}FҲ9pi{HCjWMj\{>MQ[Fs>.Tq#9`ːGvصo\ڄ`M"=M_xS* k0(0AhחW7|n">5HxD b]訚&LCYI䧼y1>d,_ʈ]җOfmL;n6ۯߜ;jgՇg4˿8Gkkv'Xbd2p8 MKQ9KVL;~]M\]o^Y!-c2ƒӈ,q۽Ru岡d0;_WW߾ϿWWjkL[M5a(Vz1*$34d7cY +!VʒfJd]4*.`Źr+ }|.s̰,"g8>ބ$Pà^ZL*}rғ.q!2$gA⺳ T74{Azm`> +h -g?~6ͫz:a7`Ҝ)xLY`ɉ6Ufdr&f=껳oW̓u>;="-f2m\p{C{c{ ʚ+a؁E«5}ket)03ANm?syuTSáU#1=[ߜ7?޿, ayQ+hrОDe@EEBv9t>o狳 :GDWF21poj_ Уpf5Qlf귿WiǨƤt<ļ-;ɭQ/g`Gϑ\ʯruc.GuDu,|R(l)a\y߶EgjIyhqǎc EqDӊga^/Y0D4EnHໆRj!a1.Ӕ7{nr~@]aAba=6:twQ䲅/;9JX$P R@7Jx󫼽f2C:T+yfPK!0omh//?ڎdGt\1rWF:]P P8xg/i7UP6bc9/rD]hŋ,#瞘WJ_\}]mO>(=-i5Ki v;Z>ƜtC(7Ms] +ޘfTP_e3"kMADMmH)jVqWlw߭_oCPO]`C48)@ڨ5bgh LCǫݻ7*o˂a Y\?Ht .d5QZ>L]}{yfW@+Wipo$3W"8L ͽR|m8ؔkInnȊ;)QN$x1C]kۼX/V*'bӧC`O< +h{as_}ׯ^oVm_^xscw?j뾹b{qL:=̀gņ`ӿq*r@dzWc3_:h Ȯrڰsif;=dbqigc%ai 89oЋo7s:ELOBX[2Vwnʼ?-^?5[{>w%1BIX~ p*سw/_ZėIOR_&$nj\n÷WZc7gzU y `fmv8_<쬕/䵤ͧeT1,cP9yۺ~ا}Z^-SP8iLn}NAz9i_[wޮ`N՚ +4+<$nhsهw[իWMHzDpzDɘ_9ornCVQ7ˋ]|ifMקiry +jAz߿y!#Ẉ,HO,&B6lmS~{ݻ`jI=|z3ЮخXYۢF=τ%JlӴ׫bݸmȅƚ-E4h 锇PA`݇Z}6b `w^%}nXk5G*G=Lrv(ZF>ŚuD + +Ղ^?t{^oݜ+7"N۱3ǵdO 26-:/dVÍmtN/~w84y]eNVnLВ A浉(bp cA(xG<"Q^owwy .ۜ"Y0Cs_5ᣆ$rHкjӬ~˛^_O6!ee^Q36N>@MgV'ֲ^c0<R|OuF3gYm /|\]oڕQ +P6K䰃3{iY~he +"*F)GօOtE5IJg(+$ m76YZTrץhzV59m҂࡞j S!<"bfҝ/9y@nj_\4P! vGHZz?zA| ]!tE觩v9 AN٨+n^,NWHbuD&]d+19: S$0@U t hG":.T̊6J]sؾ(fQFСf"5DSWrK[ -ͷ>~?ꇼ[3]nm@8TX+e..C` +"D3%(~^ 5S@g=wvw tymZV2M)@TQ/(>>EOy SznH 1oU]Y$vNs$%F1=PU?&A(ځ(K׻nb9b`i9ڂV xvx:vd,țHl8:1RJRBr"h׃ od]$rj@wF]?U(ԺA!ku|mP)Nbz0 椑zs35 B +];t@G;q2~c rYq:rh n00ҴzHAZޟ)qL}]c(J=8>v!qmnU\AF* ъdrfpF@LE'z-m I$0{쨅K"~]C:sgdnŷK1Z8)V)l&*Ȱt5!~?Sb"CCCOsх,FeP>H 4]rS9-Wp26tsfn%׫uqr*Vxi)idȢceqT$EJvt;P^\ɴHuP݈17S[/mڋFv D(1 +>؀:#J,VĨ]TUU[fK6s6hA- ߩ>E~E`U0>XDx tZ~ǗjK'l?$bdRSwVe6 + u ,AMfEj(YӛI9_jb,ev1݇qrK=8^G-eB߁XNr)tzs=5D_Q+BY +Td)^i!Ա,c%GHB8$J:],%pf +`7D v׭,i8|7U )l{]֚ >s-iGce헩`F+?v@a@m#LT*O JpL0l6 Q)~aן -vBv"%iNNu;X6:V8ro~n6 t1QWpA)8;b\QiCUdhN&RlbO^wc1U:ct7G !n[NX'i'C=pE xǻ!4eD$=^2uQ21 +9U(-$ G1ȋ, 3AzĎVeG8#Ğ$("tHe9F2IEʑm`s:9ht/\quj6싐)W$-eVx# vt #>+)5tZ +4 <&*c/Qݨsnٍy;hӎM:Z*ZTl(j<X:(7!ĕ~h`=ͥ/M !ޫZsP+ +EغBML я\jFss#==2.bɑ"^hW$:ߦi/+R+zz Rx!|HHf0E? 4yɾov}k.&(C3$6򩝗= +n}8c:A 4"\*uZ0y r ɛ6Nj>HR0mrZ0MZs =bhUWw^s hx.un?.'Cnr~׾^|?rbDMK_V*~+:,)AlZn9Ւ}~-U[^y(ʚah_Hb CEwiI$)S]@.R8,CQh"2F`bkZOtr3Eё϶9>,,j:Vtг$=V7'7)=f{}hK-ɰ-]KoLA*8jc: R恿HWN"IjAHIƎή=3!ʙ$!l}ZbrP.YB=:ծ^)gIiu\iTs,2G'Q h9*Ya +e=}[D,QL|=h¥Ҁ~fR3vk uD4x]PQ j LqC,jR8?:+!bxg1ɼT3>kJe%RÖ䅠elb_r +(cf~Q0襝ÐH(8hgJ'Ȱj,vE{`%kyݢWGn8}Y8$ZQX8MyFNF- /"t +ʘ56j!bq|w:949~21b- g1!FpuwmUOK"[b> r?#Fq/Șҗ/ſ^z$bB.(m$UڧPۡUL~ĎNH m`V$h_B t{0bTo@9F,GH<ˡjk$ڴUS> + ԙZEqa ƒǢrg R"6B2DF  p# AdQJVM7X%x +bK]:BDMlRK>6Hfwn"QuoԶRh".:c f($l,  .D ]1>q/T}Zԏ @4aNA.Yֳ#@'dM,!|+K};xa˻oX*d-@ T"Zu3_wfxxd6ΥeOwҨw 6R8Q.3R8B V&9- qb +r45W`Q[{IfU&ݘ\sA ǃ @+Xp8(xrdˮ\) 4y:f%'BȃM K BIv4* @)I[H]u]K {N{aaxGT̡pYn} &Tſ!Vͤ/cKAGqIrm+Pp ʁW + U221L}YTїMRWHUsgUvG8 ,!~cҴˏ~x4tIs\%/y p$PtTD[o󚒹z)ND;yġ%`s Q!tQ9)=N^&)=f&=`md+B-HcYt_4 Kd %O24T,U9%8kcg]Ok\:pfW]O+\Sݧ!0i " w4Z-Yq(1$)=<˘ttZřT13VHD]a$baHx7 BD`\Ft򴵀S LtΡ%^T1fK@pi"*]LOft*c3»"<<lXϏd#B"m^v ny;D0mg֮ +wP\Jn` +S勡 H)J"IXRm |or%&Il5YtHtfakWʫ?# xdd[L +|\e* YC7tyHޢhc텒A4m|:!?A('hɂH6eYm|ה,-xtnS1 ܉`so\ +gi[5f}O$TOxuI{*,K#Whڼ<:eEi;+)-Ft=.uȒ&-H(ZWDb#犚\ITR=ߐ@uLw3(AA:cqZ@Eo(q$*-MS:Kh%.?-!,t8Bl +uC?J*9| " +TklA2qd±BUdJA*ҵX +HQHfɟ13ơ )q)" M,? QǑ#|v*ܣDN Rz1Ҍwcl** B&ؓS%`[idG=91`h{І\:.Mb,rg,Ap7(%:-6* +=j^) +5U4o%7\.+WRQ@fL9ypk6ym؅#v5"Jfӱ$qa9G#f#;hχEe\A2mP@A0`C@{΀ri  ̜F`j|-ˤeCa*S-y#0Bl4@X,a&wiL2.}n@۷/>_~-qxzSM,)bf,xhD9/ȑaj,3q,mh@"Γ;(ݫD+ 1|9{ tyzI1eJBZdm2(_`acz`Q*4/F,kEn v˫`xR ;PA +U*f7RSh#S_8tMxg񡦓jad b:23(L]h%gp< @eԖ@1Bd +)G/ -[b1C.淃؟K`h +SH6CCMp)5@bFUl,n,%bIHco; h] Pp"X V$oj7@t 3V鳒|D-m@ L4lkph46\=QP;X &FIJM~4M i+MC;qc]>+åT s -#?3r6`J؏1oɎ'?^<}E$ x2v@ +T:v^"wAm@i+ FX|=& %+T]V,cgixH:GhaYdQ"1&͙g>nQ-*f`Gd]:!MFAq&Q +00u\\&_oiDhcO)JgݩǦe[OתX +H$Q0.R^dZ CDQY>l@ iJ 8m_PjWq(\^+%b)Mtx#91Z/=dh* +H:m<>rXM t&R*D]H澝ߒO߈be@XGū D*nҝ:"VVi;|*),qs5Xw}#ȿnN[0 qXqЄQo'cid_b ބ)>ZpF<mrևgnNcwhdUӶmJ yj -nVc1 tՄHΪ05,I] +Ķh9G*Q^jDW +yGfPq:a,h2l[u'QJ(HKb0IXZ:i;gmi2QH5ԡ{DX'lASEi7ˠ +("܏d͏ٶmB,RAvd"Fj0 $"Se0 A! s aE+Z6#6/Z7A@?aMeHWF U" +|`=$i=6FGw:} tLҚ'}{vQv>T%A=<5Ac^ tdl.+㢽 KkB (im>p2Đ11zكsC<9C!펩I6Grp " "=ZAX(y"4/?hGt$32ƚ}+،8Cw%^@3~qqd"hګ>aC ~N(deE ,a{GVdlJJ2 vt1}jOFјk9SeY8Xl:ڼ tYFCİQa[#, ROxRRWjTX!kjWVV?~4wI2(O͋P6#L%z#úhzֵUg!s .–J_n>XTR).l)Tż= +zJZ +R'J(aJ I|MD6Va~|HOIlӳ9P^ +&X2060xA18E4$'PVFR?QrsyCA=)b(r.S Y#V$/[䩩@bFcŃPb]3dY=AU +gčI)g4 t)"ݷѓY$?0a:9Y(U[uΚ]!.sS[!F*h4wR0n=! +k<>4N +-i0D Eme2k:fJH:~&O3AQKޣA\c E|O +Zۣm)FEq$XEMQD֚fu(c{29yLAx +_$Ί՘\WahC6LN.9 `G6`IlqnGƙcchWS34AHA|]'|09QrxL"LpO/%~1Z +9SS暨ev TֵF/|E + RRQUL3FtTX\uQX.xuW1+|GqKT4nQ]'S9KZL˘Բ,L9&@R3gMJ̴esϳb.<$2 @JFԪ2-p;$χ|댞Ԓ9yҔO%ߍG!"^ +K@AG3֨3gn 8{:z[ Yj;R Ff@""thl#t;C&5] lHD*)jɫ@R$YlAK[p@"HNOLAU^lVBFҏ]|X@e|nM ւS9.*$1ں] Lô*BpPG(qm%WHp^@¥IČ=/&]7h]%5:[^ȳHdS /€H{-N +OD7tQ ~=-|D/^ϩAޫq`&i|T 3Ern}EhR]3{d\e koЏTҥ&rRf8C2t̲!%8ՙx1*fX_&DrS33E`=Vy9C| +KDe'1@#3>mM=?2fĂ7KqdHaU"1 }zɐ% 7(S Q[JiqEGa0هz 8Yuk0%F?@hVIM ? +OÞX[cy{dcR1 }x{Zr,^Y?jr%. Km\Ⱥp9GxFEɱViQFW;K;c*~6xp.%'B4Wi'tz"ΰb4'SR 0`X9eSFYKöT}%'l4QM)unAk8F@y[F_bAܨ;xzjhKQV|l{jC!h؆aX!:Du5bo8iW-BH+i Սo1 +kiGZ i7]CKC^nuu. Pc$blb[agM@Mq7KM0Qf N&I" (~iUjygU (˯97i\%B텄9yS \Gu0H#iM)3{a=,C!+1^3a3Gh=e?ſrY0Q'Ҙ"O! sHDu?3uDJCuks9Ť8.U5 N5e`E|?q YPg#\k9V2~ +2q ֔~X45 z,BZyR3J7NLp *\T }])9SɨP}^dَ{pxh*=аpdi2Nj4^AD5'lGȊ-rMsJg4]hθ }pf/3l鶬h Ak^y24fچhg=q,?lIAnHw ٢@M>r(qɐ'rv$1ΝDx =l,Zq"E¿ W TG]Oz'QO#"AX7 +K/%PGUT<T%!įX4 +pHRMfe`}|B I%]s_Vhm _ND]`sN=0,$(w!}%T~ ԃ%g'&$-:Ӷ 5ZtMa/ZTɛ(˄Yja }=J?m rL1v>)cy+ 3CŰ+i>5aGV;" 1s +Ĥ!9 5-uo,'Nm+jEuBR3%#* *>.ς ?рdfzK%JD@;!^4kH$xU?YnjAsR0U>bRqJ;MMU9B%8jhIir&GO ]c0 UƛĈb S"LrH#R^Rh0W)@YD>B+A`B2H6Qa%P>lOjxAf ddI= 6gIEAL*C>k/J`ӱSőBwqY;SSAt5K4"W);!(#SUİe=p_d,Jz'0,U 1zߣO!NB+g\=P!T5ԏ53Sm$/Ln>$vQ^(KJ l8UBm*%VURM!mcUTMeQ ) +|SڂԽI"S +9ߵ39ka( xx_GV^u~&t|-8]~VVƜKӢFZU0nzx6MG)c͞ir}ӡH)r3{=O{ |~5Ģ>]OsԿg: `O IRUH?Kll~.WiX?۩>mS|N:] Rp),#c gV[%LWWg,שuN:]t_t N:]t _(})ȭӣ*==F-`X_tuN:]uN:]tuN:tuN_|Q EJTZ2Me8'uN:]TuN:]e0}FzIa,Z[xl9.IXtuN:tuN@|e͖$I0#rZz` ! )P0#{r3]xϹfU!RٕseK/|/$|/|?Gm3EbL%G.K/|/&SQZKuV_|5k |r OSyEw- k0uyc\%;\}J}3*OhK~~ ~-aܦa O_BÔ帪+3oZnl87f|MX¢VWX,LoM7hAS]ڽSrַ̛bԟi + ;}le{ s߶<>]\^tp%*dٽ7(X s_y}jeN#.bƷ~mόZy6KLn~BP2$iGedڬVb?Oy: -fz{,%:Eٴ'BÚe&k5lY&01]>a8O3aW!B{fnbIgY>ݴ|Ț{;V,F#c霪9H)TE'غ6ح4hJ.0+(V)TMΟB?H! 2䏗>\H\.|Q-++/]yr&ι= +oz_>ޯTbu ~ֲ+Ҥܼ䲧 G7!tྠ];kTζXQr-%]:=/:C6XـψhqٕIb'wbJtxOO#~6raK=9 ##G)Mn%-U{6ඝJ[q\|.VƩy?J$77egzc|z;'Tp|DHV E,S +r:l QNz !f!`GOB(X[)E[ 9r5.ź兼\5^VnєR[[^лg@_X%heO%ܶcر+B\},ƼþbHHXmĬY*K;ȟPr)MtI,FJ1vǣ$۝W6i﻾ xv%NtJ%.m}SO݈UO<Ƿ+ e=lWeԂ+f_p}.&rYs*p O8݈3#bem{р-}rx9 <[t<NSvNX+ٶPt&r?C回jvT4zT޴./p %rT,(t^6'(1+ضTG.RtynّjԱ#֐1mBxug^+&Mxe)տ+h2,AB{܈zuba__L%Zy{^ &!0U^ٕsq*DJ`{ٚ)Nځ!oh㎩T<X2Յ))7y\\}0XhFqLLy)aZ%Ч>MKO^?->%)۱}2CAݦq#Vp.3Zw :_++?Em eGY)0'B6\ hHhuuUŐ+t0o/I\ĬpȻak0 +rOx{F$ȇJdK2E';VltZHבL +ݷ <}{ +%Λzv4,F_G;Ng !I:?M0$Cn>Mp1O;C9 Cꃹ=*{Pﳬ^,%d!˳Q|%pyDJ S[B<㳸!-ܻ>mr8gt +z \VЃ='7eȏ$gsxmQz}M]/wvi_a\erR!U*\ojF oXrR"^$. XA(Pg֥Fk ۶_džDyҍWrt(^H^DztiiR-ٕ)X8r x-"e^&QHqq25D1ZMj2e,s¸_ϑ8(+J:&/ډqA$WCUm׺~ [#:>BF OpR#=QTS,,J(J0bS: aOmV"Wxj SX"Њ,aHp0[H{NzUbr@7DO փx 56~ʣ*Ji`γ]SHҳS͊q=p%H<\(,dK²Ia~Yfѹ/%hUa?Q)=V́S'+tgHQce% w`b!宰{Tn ]tRʠ0tЂ Ĭ^$39&m3E2 &/; 6Jh )=@ɊbD{r_YdMx<Is8,,[W}9$# KZ PQs%M/972TMx|l6?-BX4T0k{#M; ~ȗs%j[h0قՐȳ[pH$.a1eMs٬if90ɯecM,=9lβ-݃nv7vJp(|/_I^U$.`& +JVw|Gl{ɱ:$Mxy.D~Oi#PҨ2Wcv}E&1rKg{n2xGl`w6DdbJϯ:"#Y5-bFAl#4Gy)^ l#2rו>{Y}0> 2VaBsxD1V@vA] y#f0 +| 0{$7P|"B*-Ne&o@Cjw6,yn32S%1jbLB!!WXPy.puW;V%^n?bHS,ǺpqjbrW}$c F3iJr54A|YTXk• ȏFIρ{@2Z:LI~̕H f1e&F1HPAMrJ&Ff!J2uK[?nwdoDű+ekѤC#q ˫&բX^6 8,=v<'5Ht +BĥN0+/Ѭfѵ9$ %Fj<xj kLD!;u-nٵ +en'p`y⶛X4qţ;0'Fz⋱UaFē;Hm{<_eMD Ƣ vqI8ʀ/&YM (1^NT/ŞlK`XPON$.HO ̶f0L "dk.ҶkV3- ihVwqhPId9?O~1jТ Kȶ48,J%aQQnlQκ[H i=A0L]POQ*QBIoG9C0,r GW "~oWIB8@͗ZRz>=%S9Ⱦ%I$d1O\ܪ%6A:t +;,8O>5u_L^퉜H:fizw.zj)ylZ^"hͨJ5C弸VHfmZx]B +=)DO#-.h@|iGr|%R:Ix.&,)Y[1sX{r$4 \+y,PO>䛗@d]ntd&q^pˣf|&AǻNuV&AV 3(iU ^=VĆ։佄0m.E\z|;i&UItz$JoULLmgf31"\iqYaPOiMn,4L`nG9X|嚜Y-+f.g BfEub΍Ia`bL˛߆uµt^,PRv 2(U,?B+2A9RB1"|q}<8chRւ`JP[C5n=ek"L5xjY<D'5&gaG)6uy}%Ps|01UlxIT 쬊JZ1n!S·r܈2"^Kl1L⯁ +7w-aч&EP*=?쩋= gѢ"+{BYY~Q8XF[ n^+MÙeܥZJb|Vy2iAVj}<[{uD}f5uݶc`{jGZwqIORH:)GWsqJ%0C@V\a=ȚåQmхyBa qβ +U;7r?ZjbdW kT9G@= ֖}y#R%ѢȋvH޻]}r{Gc +;Еuk㚑6h~>I>9>tMDdhF@oL@yF"vWJ!Hud:dߨw.R`4Тnt ^\%gE95ZQ8uCRzzj<DŽ3 )l/GRUA_cb 053@.F+2YA%._S2x]d߳J̜VWdiHɅRV<ۣ,X8ܗ9=`|Npfqp-p=urբ@y\%xS-F0>ߡȨjTfc^60{+z.7E%60Q~3P +`KQHRCu,Yۋ9Wd%ʙ.+u$ rc&|IW1'S["UߏZaܓ[C_PC !sL?S%;oͰ ^H3h7B*W,i `U)`rA,<ɫMx`H*O&1nĖzXgkVpn*ɢhNǤkh +CZxcI +"9MydPl?$mh|I-ɇB2VϹJγk&BB<atpdW2=›(U YC!U%=e%٦2? )NdG9Iv3fqo JvՁ:RZVe!u-ZIюC/Ӗ>&n_A_ \Ъ +=d P$ՠhu^0t0>!$2vl +^6U3[榨b +rdF4Bv1N|(%$] C<䦄vގoL9sJa ¹=P$1ɛ-@TZgtIfOz9rUٹH}BuIQVo&W+S6!)hی{r ђNvU; τ_M++! +P;di-%͘>k]վbwj'k0l͗|ŪJNxMTdp'11i 8H,~S$ "G,Gm5@%nbC;zp"Լ'saՇ +?DL7YeFrӧJ(t22!afݙl(Mja),R(+?hq~rMOSRtf!âg~K_ (G ]c,@מ"-9=qKfF5T't{_!46W3;I(>㈤nBDK7UX +'hx%ԩxb]Gu mf;a]-lUT=FOf +Ai&-7ݎ( 86~]*Zng`HeF/"Y=nHvXQڶ)Ǥ<)S~Td̅s?^o~,R6bn~qc=af󠖟g]6fBW#~بUak xTYr2"\ܾSaszNL |wna(2$(`q"-sG#"M1?>ln2//)BF|h@< *$[VU]fd t}_&\> ,X;cHF۷Rߜ IsIk[Ʃe4~?V̷]yL܀rG/.]{Vw|~HP҉f2ԦN+*;.XJf,A(ʉPQ8%4 ڙ]`8Ki ipxN_6aF&D T[T"+OفDo޿TUl`t%cB,X~P_ m{aėFq+qw߼~1@!%~6j1[߉TF05 =NG]RUy.OS|ww7~|{#OFr8{Ʌ$+ $NRQY:L52T90$ð 8 +ÛEe;S˼΋WUVk ?yޝIB}٫my֖oߟn|{j?Wvya*tPflg;cjO;WW}Tf4zaS2Ea4=%n|=C3<y;9W]7 / mȐƮ b]xSdƙpMƧQAO5Fc#f pbvoFfV1^tq2qrF$l^( Bm(CMȳxw0;jP,Y >E)VRCvXUЂ&+ovx4/\ʭu@ _Kءm]+L8hئq9(Tx8yxı6׌ۺvFTvQ'$;iҪ">Thl4q(6ʤhU7ĦIe,zm{MPCᴠ33ʻwrot9^)SLJB}LS!sM~{:OeQ1NtXLUYS-zuAH6q<0݊Ol`jsnT%+6U.gVב-G:D8xCPt~:Apo&3 +w֝8G[Q jC,h Mzݏon4d=eB*q[pHæT!:H$x{Ebzc}?Ȯ_]yN>)3/7oo~ߒ/^ޝZF`'65:-d@v& +jհB|_1;@,ݜNcD#&1>JVrq{&cL#T:$w7P"@$G=&ʶNˁW򖷇C|aB(2ϕn(-kN'!wy۷/_zȊlȚ*ITW[~%<7}}+0 gN\9MirllTHtd]Dj<^@t=ƹkr(?ލ*bdrTL8Sx7U6e&!EJÔa"lLD`sBSضuΊOF_{a)*ɲ07?wO ף3P24nK7N +-"}H#!+j|{F~Bp:ȣm:NJ8B2/?8ٰs lYBT(Ĩy[-f$+?띻0NL+QxVعy U$D K\I:@JVƇ嫫$+O(ʱ̳MlEj:z̐:OG0lrp"g|+$Lfw1}"I +dgvS}9EI.쮮_u6feeeUDq(Te;]UcsLs?};KNX%2?<6C K8*(k:3ܼ8!o;԰ψw'̈ys:LyLwTgqFoUPكECw.%D1/f+)CI0DTgz@s%٪rV ؏M%Puddxy0FȡIm]%쌏ȅi|?ah36o:@<s6@ JZKNN7"f*hT)]ȴȈIۡ)]` +ѳ/Oṫ 67jS2ۗ$+${5\"Lc'sOXi'sߗx$J},S +|n$+t +ܜ7a#& 6"Jk# [@fG3]g 4{I~! ^Yd4u;ʅ&ʤo\K\uI^Vxe7F"9+þz>=Cfp9hΧiMr.C'l6y~[Wt<{75>hy\o6N|1rN?mkV@nu!'6:V;%&zW_׿{}B|8+-Wy?Mj[ B3.6$v ߿U1N![`84e殖:gX:2xgEn!!I]t:/wl(8? &)|/UX8L̤1LezW2F CqctuJԃ^iF +ԯҺDC EU΢)ͯ~(ȫ.\vڍ$МU2RI$OarbE}/&?Ƹ붿۾bu%q?} ۖ%jT$1߾؜ׯ.lI~s> lʝ4KTBBT@!ԉ%z齤? 9; EA9z}/w)Vxx|]e;3IX_tʅ_!Pg1̅v/<Ĵmt?8_o_^/Hb9Q8G/$*r8alMO!rw7\6wѼY-W/7]]CZp CLTg޴|G"H=ރy2h<weGM+ڷj?'!iXNf9 ut{ݫWW?CO|kU_:jWt&mp8S5%D_O^ܼo_| w\WgF<$ts^|s;NTDZJKTٸJmj?J0yln7lo_va?݂ %q:1۽@McQB7!H>X`i +Wjʋ^t,FTmsѨt lrtn6OȒ塯IV@ž`%/8j4{'"cpc@$TN&)H0 n{Q9l@^j ou[L2@)K=Yuv;#J]F,0$Tet/wf׍f@]qۙ(Ag3axiξ~ybč$)8;۠5MvUD@wy"xp*G')w7nwu*oB3AR"{3'C='UѼwp$is%.鈡+5 ݑt4_g[zje QDtRO%RdFI(8ݰCjBJfP"Jŭ{g +.'+bڹj'JE6h쯇umo_~ p5Zu\@O$ۃ1/BmxSOzn4+ݏ4 /Uh:%*M]a:Ԕ]dr'æ߽GFDW5k Vٻ65h1$Fч1@rq;_|2Wi&_v'qշ'78^ܿM>⡏Aܦu?w)ߑ'G7xmkBe)5K1{)>i0Dj¤`>PGI0إGgFk+&6F}uN2tʳV5]eo0i&lYSJbo`ُ7 R:Y2T0֒K#RTucԓ-5Tk(Q3wZVn"mڪ`*rbȮ=F!o=ɥ1aL:rYIkPK`NJWq_m߼ڽ͌aP]gb7tMp]JWGf JhZy\R8o=g{}/*uno3?~vy1OoaQ|&_b횲]]״=Ys͹zS_~^J@h<ۛuO  ]jCyH՟<>Cv0+%,甇* /T_wC% +:3usZjdF4߳3D[Pݢ/A2!xIS+Ob:Q޻)jm1:Rtv$h01pf|B_Vhxf7}x7x7Wg}&(xwv(Y>N,ŁAjncrS^:Lb] b^"˨ȢR1:0]7HBP?Bۖfk>Ҙ)Cy$*suMĤ8dI)ڢgfm骓90lc #`5Uo_T# gt(H՚p&%$sN§ ۼmdGU?4Aդhǣ3ܙZU_nӕyU%h}Z չNvVYuQ't\o$9 w~XN/V)EP1QCB@_B_O4^G+cB$:u(`x>ԃj}@72u0R0U|-yy7T `/P- NZ Z+̾yG,Zq]ם~'7ׯI (!XEmyY\93ω#V^}'SSt/^ȣ2tٯmZ5f7^| `~m*dH ZR'䟔U)mڊAj6H~BFc+:™5Th]# +'%Q"^~GMa_-Y|~i^1{J X|r_)͋7/])=;78Pb"% PoԅRh)|Rݘ4U3B[c<hS{'C[.p[⊹ʼSNE=f oa@uOŻW/u}-  Yd`5bѪ"~kS?mW7R(7ҧ2M2fwU1Vݹ𧏞q]2~tW[p!%X +Gا|k>t7aA 8zD~$f@ UٝZ x(V."bƨ*$[= 6йyEE);y閁 +02}Y{(,j.=Kz4qGt*:yp8#zpkс %}gx%o%p؂א@O!l:軕jobFD8ռ٣?9@›#CcOn<*?/Vsh1쁥ESRo!=Dg4cþ ($*Թ2FŀZJ<3R8)l-M"VIQovt<g㬉 +FW^jE4[1C6taR *L;֭L0X]:Б+nܕ;{ @B "ۤ3S:HM+gG;2)v8퀜(tMʃQ&iكXC 1@:nnUNu8h94cҡ< +rx桘U/˵,ṵʛ=p6+qCU6)-`Yjfg䜏,:ZYZsA?_JSam}(<;`pLb!@s,m<؈M1Z,[_`WtL }% *'F鬎[s|iPZhmJHK6~2-5cgŽ6#X d /"T%Hb)N4aϰhe泭YJwLbq9B\É70A9-'MH}z"64%pZB A9#Tq I0׶i<=_cB!R28`&9DH8qB*I$K7H/ϥs+ΝDUl}aǓd #x$م΍zF6NlHi9e]P?hÞjJԈmJ:>WZgx`;DcV&m/^$'4>ҽf,U6;J+T>aЊvrzV1K;yI\Vt0Y`7i>B|K B 0\E:爵`zWK!aݚ#χ2CIn:23cWՎB֎L:B3( ^^"@e,yw+吠Aɏ$[u +!7 Sb'O+]|S!r6:{xvAGVU +4` J @g*_p%F%KȲ/+F~u&"AE-˫_ +]$:PSCZfOT2xjܠJ\B`WOF.##HBF + "j6G#ݢI'As߁TW*Q>{6-c[`Ho[ ?ΜoKDMhy8BDfA;@/#;ZqSq.V+1@1j 14vԶm2%C֓ d%b#kxzeD#h`y݊RPlRJ G`DN׼Rl "OX]P9-D9V +Od5^p:bPB=_oCtd*ZORT4F( ႔UVz"}Yo4v4:VS4:3)+Ф:ZwN.GxN v% h51LXyoқl K:`9NKalwpO Yȿ+wsT妪6CV,rj<@)W塶J6 |)gָٲjU&9U*_\9'rP+BV(!9֝?|ki"-r7 +Eg6vAո8_(!Y'CS*4$!PRU𴧆tQIhlB,;)ɕӨ&G'i*ioaqя_D8s. ƹ] +BZ$Ut,"Ldq8w'A\^ =YW]jPv6Qݾ w1H:;)bjrH-CwԢ }.ȦB 'ı sR&T+AgrJЈA総e2]b|d]gb*R_7(&Fuc~,[ж!uZT5*Y f2v&CD-U`S7P(@蹿ٺ\Oj-!doy0K|ectd-ݝMsbfU2ouY'[AB608ֿW~VS?<}O1!=i11 /^: 1zN9MlAthxĶv0#8+,}e[EZmU"q&ҀO#r=z\7 ъ$E(%S'$~MmmvH|[̯Զif[>)vKYJl9rugfbrFG: i޸*hbdn8z-V2p@Y tvYgJ8+TB{Bb(5p}q sk7liL(0QsKʚ*ĺgN$̩bcoOqS )|H=Q8xO{;+>ǜ) +4l#]&ؖ szb:M*Rv]Tپס.ZW= +6] xu:ҩAOM΍|1-jI$R:q++45Xx6T(,I+S(C,]bm-Γ/F!ϫ(0B.?ROx)rNʪV qwxFyBWƞdpb 'GqډYfwZU j( +|E󥴙#:ڻʑ+,/[t|4%AlM\!D험.Y3ߵj2Q7 %}V;_G dZbe;4-f;ȻUZꔂ\ vUpURA&s[ yJa6yyB@b_߰NcYKgQɾs쬒?:=пc/@iRdTh)k@5/NݳJ压>p,Q<$϶T2*tDS3i%RR^V)93 VI}p4$^:j8CRm*ѥj؁m7 ((vjJ&:C>F:J=#[YMwks!0f$s9F£4WN?jA}d:ιI`%B-\[XK; DC`gixEAZ!LDyM6vn$"fi}Y{itjY8VׇTώjg_C2]ЖC3UGT oC2 pe2[hezRl"GJy@l"Ԙn6$7(l9:LuQxt,Xp-4PđWw-j|W^'sf74irGD#T@bSA5bQHP4JYD:^IT$]SZ3m4v ?a Uyz c{UY|)KNX5u&W/K"=*>R ZmH ҢH|R2]Ri8x٣vXMrj rw6/rH5e #X[;@3 q%5LOu9a}sn~| -O^"h]%gM9(PtfTB.蜾d: GolV;H%:3-+8'cklղZ'VG…y +,qpn0Zx"c547ȅ.iZ'Z5w?)SH* 'lhf`xBN!z@KxRTV4:Fԙtch6N1hz}4N`2ZxNP2t&NULvQAެ`U^(pe]j/}4\U;܏9-.J=Z^%Ϙ H04܄Af\Sg\iRGtjԯ9}~>"]u$x{F͏] ]\S!YG}y] ŴuoB1-Y$٨z2Y[JݫJ1 {!R3 E.RF'fʸP=U^0WD5rlz0u&;͌O8Y'OYB:hOٶ~oVA`1>Se + +}r\lYHlYF4VrPC+k̀u(D +Qsj$?S`0w^W06[4*̊R\2 vS2rɟ?vm#ǫ-"E y$Zu Cs?Ф9Y~ڹb|Ct𻭡"{a>,yrS|@F4<Ȣr^6; +/Fwo̸Clg3թvcE0\jI^I&OsWH>!8."WCSLcQ3sl5HԠ* TZa8qc͚$I41;#2 UsȣU3;]ʌp7S;v)^e [ 70HC{ٚT& /D,3ug +T qEg/%='c+5&MX**}bSuUfb6˅ʾZ0wVxz.tl~  |%[.# ׄXVL7l*MjW?qQ+OxϻkU<*^]m 6x\y"fc:Uy`Cx2JЭi7U&6"4wԤ3iaۋiH.2a]Zt$#b<{8W^a#Vj!%'8vˀ5q4y6 Up]6I! #Aja[U>f4\@(\yhx6жPYu; +F'nH}lSfDU7,BM"jw3%qU8 vnXmzo`q84y%_ʒ{ju8&qU`G_ .W̱j~veVgWԷ1@?]cbb-NA=C!De,DAW/C"0UE^ֽq5W}P|2ԻTVAE U؀zdJoU)UD3;Unyݤ: S Emᰣ0O|ᾸC&ˈ党_^?85SġYZ@*3>4VɆB@Èl Ȑ[W0ս +ĂKaAPB + C2ΪOA<3מ`:2\#]>E1^!V岌 ;zV6/Ux}LV+_جVQLE $BNo]()Dc(i>AUTC@rv:|%0=/TO3>95H.aTZҗ#գܠ-Amaiea8aRP\~ko Bi-? d]5֭'*h6.2<-}(D(fJ;Y$+ 5Sa97gqi0G|#)j Wr%{oyӿ (}jZB}V/0>dˆ/]KA%a&TU_1ԱfT7VU&_;")3Py* +t%jvPn@g0utUBFtQY݇[GIxOuRNB8cL¸Nx0*rk7jV2$FFCp^ +Ϋ-.-vƨT|궍z N?Z)*qӜ7Swg)]$9\jl\_<!:3`n(3wJi.9]vJ[,: +wJP(R*R,~tąR%U<}x# 뻯\X *oC袒dldv|`ޡվNDzBCX=BĈZdoϺoh3rcܭq.xѫ6D~4NnE<9=H)C*q":H7_~;GZ$&y6fqj u=G1Lv$ej;Bʰ_5+R%aDfxhdֺϘ_yh>`+ط·rJƔxuU1vOZ )8*u[;-U=,G(su]O b2"S&hB.B~Tb%IJZPmWm5Łg4<S~Gvc|7΍%nFL0c +̚O6aoo`z8l;P2ʺ\6/tO^#Rv3a*P'?a-L,q9i48}ZCZK6Q<c;q"=8eo6 (brZm&,?#ap\8CnMb5US#^23V ƛYӈkW Ԣp&paBQԴ/-;_뉴^??A:=)kDLn9EU2^NabC,"Y1Aou?RṘF26Zsvaư7:5!墷h\10Mu(Z2r{hNhݽ>߿.]f]gT ~-YEVM.'g&gFLb&"VC*R*Pt1 bgR"?{!{PcRȁWlX՜TG˫d!p]8zgIlTƎNVpVjf}͜j?%/I):-/ud`!|y{]hCKE mqe6Jy +.F {eQףS_{F@h|dUuZ8`HtrF_BͧH&fU瞀3ЌQF{Ddqt211CliOYezߺK/!iH6.u{h׭16H~5bt*h9mՁ8Li>dtn6 !v {!{'kRMJC@EVlm/Ӛ+cJ0g[= T@}Unqi9@ Q[;< GN)2cF u-^X Ec>5x.աA35[w rpDR\ RRu04dD77}-+U1JDPU] +[=|]a&wN˕v5|g]LaWvB E$|9wg8ZkBgϠHӖ2.tPLb;^!>: +şQ>bpSiXU a#ow6"&mpZmxCSySS@[4!w^F. U;]r}Kc|fl +gS?Zo5ljU g +y|N_azyMͨ<pLN{C0w)mLt1nWKJ!@+D9BpT + $Z2|)$yd貾֙h)lKC&Dkޜ6(KR;%gTDZ5x!(+5VP6oLJ}ړz+/`+%kgxrD0&+7~&ctzC5,HrphzaAYגy#gt6i vӖŝZR^ +mlW]U6-anYIqSr6~}Ge`+uJT1XjR?8j1pS +Hf#\Qw@#T}uTi kq #s7R2GYEዔZc]FB9_;iʰ=-`.aTh0yX`x98rXjg$f*Sf(.FgN6{8R%"30dľH,K{/6ǮIEyAaҀnIzƏKgB۾=DpFVMeUɳȬZ:uW13uydF(VFBqӁMз4G$J7h̕#hXg a?f9J]SQD5L(7!_aRyĮC#Ϗ g x4@՞/VZ}A`o4\D2Ō1W'_Tu_V{(氤g(4E2dxֺ[ʠ98}Vŕ8h&HXKŪ&#rcHwXEHS˝V݀Wdذ[RIe:pϴ!"nJ̸B=JN%G2,j3tKlSjoQ|j"6aa6t 庑fw; +Bc;.>qMW"^h\;_Wc+a=80QUٗ6m8teڇ4 - =Srf]4i? |=UI7>vs ԝ6-$-9fhqf<\s%wrxگބh*oUoJ]jBUL~c.>j-* _vw#D~ڥ;R-0oI]@C6SZF"г7J"AZqZ-cF7` e)y\i][1(VSZR>NqsVa2M5?2+<͌UX#\<_A ZuDzoǥ)bH%]űl @KZaޯ-A52Fĥ5LItWa .3n:an(^b& ~4/:2W{/@^;)v/7`S‚# +LH5g˚#\Qdf[K<ܴNX);B kr^b^K:RmC+ZEW9]:y>t ?5:+?vF2p~s\c/I$1Q+Z?X[G,1D{0 >5 p4]7cGo-l~ƥf=&LW#L{fl8\ܙ "i[U:U72(/7+rQ{lA +X&⅄Cie +nn~\·~<ҍY⍉l /ۇ{Fޮ֠0OisͦA#ﮆ,88ZFZ~q``l8<\3]H +UgVAf9@n[w +ʿb_f.eCf]DgYSfQ CX@BPZDjjn}+E3vXy4p14R-mM= 5WtW8mZ"p vbru\ "4{Ø:_ԜG2c~a|_Tfqx4Xfig: Yۉ>\ǤazvTzeM-<.ZWQvb4IdžQ9xa]%RVk523:ƔrK9'H+іxi!cg>w8g‚䑔:)ߪ9KmDYAKLjŗ*1^'4Q%*k Ru{QGl'zj\Ͻڏؙ6ϭF݆e?CiaNnE۬sU=fK'U:AՐ6/lOj\Yo wi>+ڔ=p\c0lrbhy@T|s&J{; iH' :Uvlډnl#7qy*|fsvܪX/V3΢ R2:jk<7]iٸ"/-w] p R=IU;>=%19l7.F.cE+Kx!/7 K߶ѿԵMNJzrjj5 b{K;{MECt wh m+Bw )ŧ +62ut~+!I%$IuH׸vDc-Ɲt_@ HCh:<8ǔyΘR8FM.ٚM$o5$ig%ݧ j;UWQl$[n5!}Ww$Ӱ''n 2R Y`MNupu$&ŷ#x+h[+g't1tg*, ]R W-^̛Ĝn +'HZUn(FC`piSk4W +0$7,n;;Mbe'q%KvrFܨ$ Gy0;3C$җCzZ[T)jz}7e)fC퍎I7L))RR:^46tauW8ucd N|TdЈ{4 !Z3RTtY.z&@ BRXFmUzA##~!#x!Qy-NO.HMPs$@~DR}im_9:RA$ȗʧpc[1F.E\wbzsB4K59VNS@X  +&jҊtp&TԊ B&%gZ㪗g*eܾVK6̚-!U0O -'§kVP 7pe¾W!f@"P 6C4 kd1J1/.NykSRI(jl%] -9Ҧ\gg0e-~R ˤt7jh/ 1JO}U-eMLfOi$]an + +3 +ĈPE;m2Qy5Sv'$: +wMB?)}ޠ*VU6,ځ:'zpn´Rv&H Q"(,ReWٶmTDSd(=&^T~XV~*vt~j{mL@M졝+1E|Mc@y`UIifp9};txxzHhh͖iz^dɎzL#AD4w!$V0@O- +Yj2 qd"%Ig4S7_F gw7'PLMM$>P+o]I j\+lng\Ͷ<OETY;)t~QG2\|R@ɛ#z,5N6wB;60߬TX?iu`.T݌[W':7j5"6@acUj1`X ;/.d崘?) L/ÂGw0V2zs2=&<0:/`kX8n~(^81z{p~/d.9eVzCg p9;V&c:dC}!hIaJ0j@{tUޚv&]m"*"GWs#Q0󰖥{VEߺh4&lU1_54y +q][9EU !x*_te3:+ wCm脂W.K/4ͭ_ϥiScoA3U[U ^rӆW8}9>X@"9>ЮB*#Fk;UrҰClHZaVr<]($ x߰[vxuho:}qot0+-cvBRa}˼\DenZExЭ&)>֛8[Qh"=#V \X9aGˋrj v}2LK {1b43嗮Z=b6bsi%)W +{7lCDԢ)|=escTcOySْ^z),;$Xkk&XZZ&h}z uey%RXo}KeV0١ etDOiݓJO! g1aU&ZaJ5۸STd2f~KYd-O3147zpYy8(jYBn!z%&Ik'!jlKn:4j _/LHSfAdCpb2϶49'82=ƘRF`jʩ.IS=Ѯ̾gN8sz }i偢5r) +|5(acl +vS&cչ8zWe_1@x P!Tn")".Y60N BO 蹬@2 c^ Kh'n]{WLޙ&)bXa66q1Y4 i9^ճ&J'IOy컚!jV2khD9zúX#j:CPU: +f ˴"$nPc +qB>vLcN&铒.zPq>s`q𩈷bG34b*XNµ GhH3_y1ph6hvQ"L6lJ\k,X#|cچs$y._N.BQ<mY "bwL +Fz%&NR0ݪI8#"oqZVƧΟ7OS +5.#~I3ӔRpqY 9$ꌧv $_!砆X.n㮓b6Qb^[U6J$AX}k(Ԡ>7oV0 g46 'cuFp(a;CP +V|d~&(:^7K6D:nU.1('} +:qM0`VϕyָSL~q1FD\ B& 26|;F, "fVtٹëH~/ +l@3:Hbp5n݉_m SՆzV6]|bGLiHw&-C}_R%s=݌o2דZ?uEŕv":NkQ9T8>jaOEI̤fU˱GoזQDS:(~eB"G.ն`~wRqI@KM@݀9) C[j[Ѿ4ε\VC9VR9ԕ((Yg%̈j59Iʦ e*g ,nRQ'2V|O}%3 gR[ G_}}+s(J}d:#ytP=׿T'Dxj$=7#y-єA/$_%_@' l:8>G,xy%jH"numzz9n~m`gI +144߄Td#ͦ 9&چ.Gm#MZrC;S5,{qV_}Bdd>A%\zfSQIje%} mw.Eƫoӑm_3J$,6$s +$d eG߻ 6~q,%y.2e;)a`ڎȑVlrw5͚Uc8bRb戦5L& dD]é *O%xJb;@)nhM+p 3511R/0@/ew/t% iI#tܽDIgI(k8N*҃[GB1kJô `''%9E +Cyl-W6-dXy CVHfwSqZ?Q=#FXF-R+ U1u#[9/r"_ 5puuhkiᩖjgZ{*;ܓxuӢP/>qA F܊1m *7bM-e Fm-doPi~ t&H97z.t[^cjy:^^QGq4/P/TS 'd3Q"_G<$Fi9a@LO +ݭƪ".׊&j" jfrQRa<hLj[aW0"~6FJB_lhPݚl k}@jԠMsT;ˈ4Lc)'U)Z\h"T2.j FhyP-Tt,_ -&3BBj:? ^'.cm{Vo@9<)Z|XvyLqo޶7ݻe)$``~;я])UT{,:"~a8&be2\Qa4cS/tJ|a/\4~Ҁ p=Wڿ4^2>S++phnk2UXvXngAY]`:,;VTZF0۴_;bCٳ}c eWK7퉦 zP +83F`fbNFEႬH=Z`9i}D M՝j;hdgΌ3lƿZ5+%s0g\h).gM#+ɊY%A +;UW5=ȓER2~(rpPֽ>U&Ut՗M=Ru4O 0ǝ2~,NɨTMᒻBj$W*U'fJA`M z~qG* t\,37xϝk+Ǡ`wbxjcr=8ܽxѬ1qɄQ`l?E Ĩ! ,7r]`Nv"]M]`]aL6ʃu{%3CG.*Ա)ҎJ)2j W + M,nUo |`};̠mڏ٣p3845φ\N|L\*;n9}w5x}6POQ߁,YnK"sli$k2 &Z$%t!A7tG}[Y^ȣS%f1ΥsHjvgljw :u2jkQk'EtWNDV TJeH(ZK\Kj"C[Ak]T} T Ɖp𼨘y9qZQ'MtDvZbs1nC2xpapOk_rZ(7t$Rb|Az\ft4a咸ENb]rܧ{CNu1IbGp)k P1Up̈́ +ޞEPBڎ{-4ׅŲ?I-r]kp垠 +2*2wS ӫu:g\Sg=SMк-5D`6[8T:9 ^"tVgqY笽< eogo]|Vgٜ=:>Cog@HG\sacJC0ddpk0ǭX +{`mźWs/ IE\ +! )RTE&f~sgw[iXM\=fCBPoCȐ,8{[ ˭֯]l޹: i{Siw7.AxԾZ8\Z5nCDrQ]>V]RoF;+}Vz$L3b*=U3J`8y@ƕj +röQa_A+>x%fnMgw9aN^'W]S;q]2UY'_j!&iAS2<8͔J4Z:>nmn6Gw+PMǝT +$\yXdxwj50/OS,:v潿(z0n;hYcTT.e2+C5qvdxf+ƍO-+lRz)H'rN9*sxc>&-a2Sqt0s 6z M$=(`x򅆟֪!xi` "njH,oPV LzԷrq w+t7L2Bg0zl&K`^H-bә(.r{7|eZVQxQiuJtֱIp  m3Df ƪ+s+@ M⧚fI-A-h>ѽo'ρ;U5RiI72\N3jl%J\]-6vs+" /R"e JaWz/߼'1l1uE%(DD;w)He&UQtg"#L bWt~2;~ }3fn]18v9a@?Q.! #\Az3r\j}C|0'BqrleD*:ՙD=F%1 ` hA*hLhAQ9)Kg &gl3LwɓZa&09߁2w*sJ oJ1-72 5^&14l̔GXRԸ'򸬏r'EШLT:`/Zfs]?EMv38(i>+zL CM-1CvJ_WqH7d}Y l$B7 +VT]=8J{.OdXWWZl;Xߖ}%rts DmKK5%7ŗ-ǬF$)q#Bٝ3wSo%ca( $3OT/3a r$9-X6'hV#BS6nχJ;LodɈRЪk[6+@Qe< !$s05+6R588bH~Ն0t4CGݷNf7_T!bV:CNcJoAKҩEwZ +ء7ʹFښ-j!!;Wb93C tvwr$"|XWċԧcsxĒE2 {OdibVb3UgmbRFkQuxNj-@{gk ʣբb6MjB)1v Wpݟ_id0',%vwL-g,[7`ڡKϽՕI~͑/뻃ĭ-Zilۛ@FyKW)S0K&gZX/ Ch꓌_֢Oze3^n^Yz«nMuXK])Sg *SJ88Vbms5c >5HMRv %ӥ1u tu$OV~) +VSƐpWEURy U] +TfԜ[ \BjzZWU Xff1G4ChyD5aƓmJ^uI'irPd7LhnWGM)҇_OAQtr} * +ޢXúR#h_fer]8Jw,`1did Uc\3jl`啺 F4bM03xcXJ)8M#{vp2w%^IDvM8lf+ UX9ïvO߆odh=*DJ4Ϝj% 0ClӧM 9hά1}BRX3@"f a',3$(g8,1mf8}ti(w|!/n>ssU=vKw6ޡAe/XRM̞~lPr+dP#Ce+FpSt|ociU0:TMa?7aw}OS$n(ɉʪUFN+@l4gZm6 w++8Ս _c[QgG<@-aYqCCsKc)KY)qЛ~IǓńlXhp(8k +h沍i2؆ wDӕCȞa\sbjAAQ@I)4q&v%OWKK2zN`cvJm Sxcf 9~E%@߀ +]q2%'"&l*00<>5(0y}`// s姤SMaai "$&[\q.ɬW[sV +9U=萌:toxyYsw=Ng8ha5y:bD?iU^R8'$|B +G0[SRȼE{t }Zđ=wZ`:żXlZpe,iu2Vs9և:viXbzȝ'G{kӶkTu +MZ#iǀG5'$;0gGHE?HSn M^LztCB;5u{bDx]|tƴMX>cUTӋE6-o>;[# bsOc +gnE5 uHvwTlʅsm=}溘>6MŮiiAZuÅm&.`;r<潼K@> ):E#Ia4tc~N.&S6vwe:Ur xTe FbLmHfO=hTU "1[ X<Ӟ 4"/r/'2ݮUȩ˜KyUt ,vtA9s`R9Z#M +ce7LNG#yG k]{aOt,*:í UiM3sqU"&[ d {%X͍8;zj@v!(M=7ǯmlvۇהNդ +:Y`u4NJ"q;Tr ,Vg(T{Hg8xz!ZzDo/1=d䓬@Tֺ9zY~j\( }3K=$!s:x, >9Y.,r@ *CKzDžiIN~pv>H&s1_2-u[`t02(: +hDZ{c8*p1zr(O8di&Bn+~"՚(VhmO@(ݾy'd5-̿_nY+ЙImR/ +j{"9Pp E{y-+L,T9*W_W;c Jמ<;æ"A#ZӤ3ɃF0edP{nE*c}A޵Mo(cdkB85f(#AvO'Wy05)k'hu+Bтj8çd\N0v/6 +)Jnk;t#́a(a58Ï7:0ej\QY4>*UgPۧTV^Onֻ+}LZ 0F;[U*ՃtЯm TZ|V5y)g@]P "gX,Vd*~rf+VDN9=)`OܲR9T=0ä0AlXDَg'Q5KZJ*tYoL{ \7%ήDP7J'nkK$+9h~9o-vZti/Fx#fe5bh,m |Z:VlήV@ŝ K:l0-Ld/ K8Mq4]vcȾ!}ZQbՆ6$gnX~9rJ?zD+uu BW6YWn\W1PQ`0gJ:e/[ŏ­a)VJ9Y7uͨ8G˦H%V:djThm]˔###ul5PА ? fFC02Tp*qݚw&^/ZH!Ytٶ3]m6$鎂{)ǔĤȋE}Vӈ=U`^jN$2XIjq;w{'!2Hú"Z3|guoYݕB^+X,PRm:5,]Pe$QYTkg*HSiҴYMbjw맅D:\[9@zPV1U]9E]3DH8&E=j4lF -\ʩ$9/^gjJֺ|]2S4I_7%bo3aR&H՜"$5W]@$Vm,S,"Lv_:hRܲ~  ^w[NuN7,LϬx ikYw򴔇bUw<DZAڦ2u|>3n`\<>$zl?xz.+cp_ C(G?I=S]ؓ,+,8Mv%hW!l6@QK=*7jՔ(Y\I= v?N{Ut-n0Ѧ=8C,huF|I"Qi)ܠ8ӊ,Tޢj5N"xY*kSl$u&/^-Hؒ`j(ROkBm;z]#y]}ۙpՌ(a:sxM^ri r~ms'd+ЃUԭ!蹴ryB>ke2v斪44kӝ|\KR?9,{|fPݢ? 4D,CRbbw9<2C +i9=ڝ?s;[r4B,`YzkZѦêg}NmS ޼o^G>bi /(ch.C z]WZ̚h0M󔳢qp?U`+L$ +A* MG 7p^xhUO!Ee$񼤧gwHAQeh~C51Z3Zw˵u U4/<ٚUm'wwA;\v[hZ̍?k=ju7_ ӥWzF'Yq> ?ZY{dÎE T*$!~8Vbӳ`|`;N4;檘eZ<-LI@Yu@Tf:IK1=M!@h\-}'KdžvmkmaFn}fM`Xl*ysS閔sݏL;S +O%T|Z?}wz|;!L%Gܓ pc>t8jo#j_cr>\&iZYppe^d^eH`i6m531Pơ&(j!iZNsr/}im[cExh' ) Gݦj FNFlmzղW-'1/p8ôZ +%tU$̩};x?뿞Nt69Dc1h9U䧵~ZN9qZɪZ莻ڰki%I$~Zgr浏q9Ð#bbWXꖴS=?S}|$|0ŬyRvb"Pfб[Z]si!Z4n (e1Nac6a}-6c*Oe ߟ~xtnxҼ1O-(lgnd +1OK˲B#=~p~z>s +u+)EGyz|Tg9>=xsM҉,4FfCxwŚafP~Ew󹬫 u˜ȷVe{z3reɶs;V?|?*.NIb5֫9{Mϟǻtl,O@PB/ +v)3v|K\b{ʱU%Ћ"$9+ZB)*+2=np>pw ܑZky}]A*}-H2kt +i>HnKZl向;h^)A$LDYJ./k~`u6㇕{.P#1象s]NϭlC*߶ڠ}49 Q 0U;0P\TN?t }>˴sUH4 AFZ\O˂D0}X}:Ϻ [&|:Ψ*X]:(H7OΟ0C5LI +%,)SQrMaZ5MWE~= ԦRmZVOӇáRKNHA& $Grd5ptRKF<,92|R* +Pin%O@܁i˩h;NR炙~%[يa"Z[ yfiDʚ4ׇ|:>㦧El2bˢCyXR~m՟ʓ6u_jcnF]L&tik80wnmiwHC[>޵wI+X wB[ퟔg`DVmam5V5 +wlw/zyxĵCIDkvmO B]˻Lknk?jː?>OO7A]xs̎-QCȳ<߷ۻkmE*tt}jyjOgTʓ&ZiY~\kOIbçϟNEa;9 f\U:ni;=ZVN036Ys\Os0dS}KD + @gg||z}Oǩ-P1l.?G:ZzPjUtt|iO8lȥ@0DSftp\x<ǟww<$cSY4怫- "Q.ڱ nJy9z~>}\'aMfc=Z{:`}l^hk` |zSW"O7[`f;̔a퉵%ȮҪA[a㏭Hc'h&/q"JԲ-ieu ZWN=\_ZfŇ?"+xErD??<>hI5*#-&dм s\)@]oC+Z$YL&-czc ܞNMa*ok[twtruiai ƣ7r~ni,Oú|'mw&~[Lę;ӖUip|-*{RqmI[.@Z¾<-*ᷮ qLr>ƺC>trc Adv{Op -/پkxQoO< +3g֔6"Z茥ߩIU2x&:-|:E--]( qȗ,ˏԞ6 Ѡ +֭\8v^ZP~}h?<큇cm8d/j2usϚѥ0giDD]! ˑ\M6(3=)=kHSrwZזXͰYQRSNJ +"!VI Z|}{k5+q +!Gg[k'Jjvp~|=~;#̇~ 8BN( 3ιNj߸v2xx||GӢRWcV +tM]5a.zj<>=}z|~~?woeTYRm \f!v/`uiuS+Ϳ|/L٫&Fު K[OǶ=he jmY)tu3e_o?Jt޽r0DpB`Z(O>?ó#A+hۚ>*翵R*`t~S[>ݏu9xMD^&=s-9Ϗ]Ï}--aU8}̪!s8jxgugM>ۭO8:;3ӴY:fڞz:fC'p -^&0OQ:txXZ7?wC:d}TV$r\LSD%1޼??Yӊlm!XT"fKx`D0)\Zw-z|~ho-LZP!3A a#')fOXtYs^O·# ^XMzY/y:O;>|xX,s91ȉS^Cke4g-S qҡ!iΩc 1 v&=Aȇ>v-2o\gu nu1q) 4GMϭ{|?o?Fpn5.ah)0Юi=yM xumHh{VQiq x6!Rzn |y^C+06C҆KV(p>g\.ϖUHvLwZޤIKjffVVe-]4e'x/͞ꮪ̌w3U@|{/LTJT,nfP}?wut?t-)mVN@F%&vLt~ǝ1oʚ2e.PbX(ثZՓR;OԗOXY'rr#1H`][/6Ѣ2EYĔHoӒ>f~y~k{-i Kl0U ?w/A +wc.{|UjuXn!^S6p5_GҏP+̸2t0atчjB=ׇëWp0γ/K(w/(HSlLNF` Ovp?}[_w&Zm ,Uvܶ<&{^nxn7ɯތe&JGkzqgɋ1M+o4 ~[z\^l[;%W(P4_/u8ӑؼOr]˜_%ɝqg-0ԺW7|F' +j4C_N|⋒عT[U}jS[pݫ/|j<{&>~^Է_2eb@zRJ7i/O20T Z;} +V$f#0&֐bjC8Ziڧ[rehۄvCv-:?ꋟ0j@"ՌTlhj+ b^8X˲4!*WbKJ>*Z*dRsdsBîbTd$anzb~_Èk䏤O8:/-唎pw}{}WKe.;@'Ʀ`|)k,J~H%ԥpm)qaSRn%lf(y-tJݍÒY0cxAYcQJ C Iŗգ"drb8 ypc}_|C$izZ=a^.ةl*Pҿ|?OxTT,{|N" ]l<!܀8/Oea:Xc_`RSVP_ʣʾLN5O|* 膓K;xu>dʮv<$ryXСm( + }܇zHP&sEQ>N7M|k(ɡF̻p~{gVcǺgf^ߢԊR^hR <JPt)@o}Hԩ\MwR s4\ݰ -S]ëwo߼vXv ^+V@i;PWS:|~ ~   +itڱڃI)|A(p 7y:ͅ/ܖ yrH~UM%y@ݸ_/fQl)0y,$Sv;z[FрZ`֎o?g\EL-=gKb0Zs_bsʣ)6giPrVYR9} MT3YxJ]x 5w}}l{6#N\14J[JJ=wO&1azw8j9;S]Yk/XQ}4 +Oo-g?y`)?<CvpO/|9S)\*5s(˯Z_%.@Zꂫm뉾/1A췚zzFB^ N 4+* +,kEݠ^We7b]6sJ݃Eߜj^/vM'8P@ְt\ +>3qJ`+ױooˡvbAW%z5ގjSK]57c=,-+lҠh A%JCo >?Wѽ}3o.wOzP8Y=a@;>ӃF|Xnvw߽۟^F)I:fFϓ/|9Ahqow*kEjI/Gz=kE}Dm0QOEGjywWo?&O.Ze!*?{XNMRZ,p c(Ou:;'}!\P3۷?wYA'xx hzkF[j;4d06(D%&8f>h<xڍyާIrb._RN}K7˙78J)oy ՛~ywa2K&.:܎TNnԷ#j SXJԗ4 cnqLSOSflvCGJ6:+dva[>.a BapCx&70L@:XN'Ԗuׯ#wYcYܜ憳zūR4JIo?^.+F-3Yᡯ5oowNC3&Z2`CdQ x6GZ>>&Iʡ;_$>xͲkVw'0NX>=P鹉#:2S@D(:[H\ Ǻbc + I?ͺ X(XJ bypjNK\hWaW Lan bz`]Dk@aI=O=-\a{ <ѓy1S4ɺG53*=#1X6N _O>aIcswWl钖xҎ߄hڹAl][oT7Wo߾?>#Dk#*yo)Md5?֒`r7!@$\ %J97Էy!/48c=ODž:#x͸mY-b{anq[+jp*tPO_߿rcE:ƳnpO$Ke/Oӏ):ȵ:)ECzaą :SkԔCT +u6MxhrG+}x5ӆ g#g̙CԅE"?<v~љ}XCVt\6pr)Y.yK_oGW=+Y权PL(4!h_@Nꉽn1SqMpS}'÷8rs^y}^?|W߲.dnUK!R-ո9\fB.aF(&Ҡ80 oowuHavBfd~kRL:Wۭg"C)k:0*,QF7 +]'ʞe)4˜)!=qԜܖ0l$]6cۉW)Hj6_xS: ]xkAq@YNtz>6k]տuacz؃B,OF<_=?tM8kߎf%pwtWubELoV?pa7-Zm3Sy+A;(,48!*2, (ʖ^O`E6Zz@gw68:%֟~nro7~ֻb 0;*gh}rvHWG3^ +$({ ~Ib*$ dۛnܾ +[AFD\#h#} ㄒTAk D~d?Y9&>d #qd?!8}~wT8cw_7HTŕJ=8يJD֚D~"LaS Q[}V/nzymݮ@{ጙ|JnM*GxN准I?7+f~Tv"]ٻZtm"D҉~:_[>؝Y)O}T,I״TUIIvPq ןir),t!"<쏸IpnZm*xǃ>b>G=8nP>dPb!̂ GH֘ez.p#PO׿(4Ӎc_\۝7|_uB$-rn=추Խ?W~-[! C}ŭdʵop@ (>ttј/;,WzmUn +_gGকգ'c-vwUvR>y}hwˬRY`pe ޏ!ˊG2յv;J0hv®hQ @fx8b(hgU,`K%3 d`eP/ /ks-iR/{X3`1IfzѱDŽ맯.ˎ[K_/uXx S*wK:DODJu箇Z [㥁*T,*w-Ԗ7dؾ1A 9DE䜛ֲ3G+Bĵ=Ω|kb9Ym,Mq, +dAa,y}<`'8晓Km3MuȐ$ 聘Sf:ǡI5eT_G-ĘXu&/υp߈,Yd0Ϡ~`20Lpt0WAg7Sob%fbDUӇqӧh,#`X=Do*!i2 P C xwf-jvƗ-{A5p3Z]c[$DQ8Tǭw%T[gu& פT:bіD =/3t$`,#jbX#I/4Rk3^uXKx@ePu +DgN?*iQb8=B,qf[V~4#C ,ۍ8snBo2U7 A}Cհ?^Q"=pT?znzU8ծ8bX/]:XCTYC0pF>>-żkij7 siIFHy6KhId̑<[D~/͹NrY /5/hT_挊^v^tsF^ژ~fud$FE-+!v*|("( +"߇5NTi$qg{:i5=LJ\:rWe4]I"QEhK,ހYyAC9֖{b &BSMexd'(qASS+%51${P?IyGױwWY'UD4[!T5S>|vI[kL_WeP= kͱBq.GCYg }Od[ si 0_ 8F_[_N36ؽ"9={Ͼ7$B{ȢISРB8'WI6lVƽkdB ).콴IA>rG&dCx4/GK +h땗Cq_9J/ nDo%R]d´*C"WsO0[4 (? Ś[mt=2v$,Uz&A)MަyQ|B^]^_Vi+Ɲ9YT$ixuU)P|T`<‹Ȇ!U0>wP`N +/:x lصYRFGټ]5NM0k)HPKCctz A^w/͞$s(*<{&,ΓioGKz,amIkvApxx:Pxh&C⦮T'HCC6 F;Lw]0nQ8Ճ`P;s-w]TX8aG9{`>5鯾~̑WN6]9*&eZ E͌aC>#+Rq T)MY=kX}nLoۣڐPF|=h7`[vR;r}FZ;K":2qLDψrCvx\p֜'*nOK-l ~X Liz3oYK~S~|Zc&aa AS59ZVukB=Opiv~Y_(s)@EH3y)qa }mrunv}@Q2H9d3fҒ 3shPsmq U7c:Ւf{z;NWJN6*|4<Jcf{/K7xvp. /iiMزWqՁAZmճ9*ۡ`0 Fyy؏"{DMKU+eU􆠮HbQh8$"+ದ4&YyA91]VT֘?oW`N=̧eK+3uDh)'3-ز۲JSz-`̪"JMC70A'.Jƫ&t3-sg[gHXeu-(RCX/}.d%~vuYgUEswRؖ<zڱcѪ-z/!T6;C-Pc܂^nO"9GšޑZ0M2&"emb"d~F F|CA%,C9 YQy\|{JN>8q}V(*\b\e3>59T3Ƞxv%ӶrZ"/ab%mrJS^X6*bA,82ZO2΁qyk E#+)NqU"(=<U{cTt3/<~^ t(+4K&v1ӿHZZ/vԅAM*IbYC3iw@&UM ~H-Ѳ3b'l#t +ւp0XzEKh 㻶j .. pjwnZUMGf~Eu/gz4-3~'L-gk]+a,#Lk!B[|hYCY ߕÁ׺ nt,V@pЙ<5U=pAcW6XT>ꐔD\˖ XL³0f>ɢ{7~/<Ʈz_ 7"gج.r(=YCH;(ȍZz쑹nFqL#5U6+_Vy(fKс7S836XG뇨dC]`$b| V}t"i}?JgnN-2kd#1qF$YT53lWI9浑*+Vhj`Qg`Vxa#W41)Pp/vTNM~q~V=3|D{qbBꦘF:i>+{e +J&- LGLO *k/f#8wn@FhtÉtOz绌)(Tjy5+ f!d}Fk͘e&8ppAxRaTO[eܫI% `F"T3z`'=ͅC>;/=` TSa[EUB<}с@gUC]lXZQRӤ"fk°iӂF!l?€Jݳsd1L8}G~q-@Q(P0 [\xSFPh_l;r'RGi7\g֍jeDi215ڏ +m)퉋 +[ `͚=3u0@Q6Nj;sgÁ&;i okb D ^6zggwh˺_rϪRM !I5YG, P +'hp8\nHq ~nI]Ml!hsSMp y까4AYɎ +ry從Jm#*{ 2s45s +u*Q"[=QDшn3՘FwZ?lHЅ9<{?@`ڵew&5 FhZ POZ1cc[C6k)y q}]4RH?ԥ ΀ިq_P U$mRhh< &2^aHth.(|]+Z.Cq?])52 ++ݩ%a8PUi^AĶnK#3Ga*((" P@ +"5 +gi{[ "#6yQ0c@)Sf8-k`inG !*JHTՂޛm s̲J@]ȴThhk;!b8%,p6v* +eO\ O+]ĪH:5MleJ9蠖ك~-=^jI?CX͚ZKw &?Hs-9W"TX8Iv؅.r@]X!Ě喺'ztt0`O)ThjHjH1Fo@7:m;5<_j4P(ao ynl:`qf4Z,E5@]ٮ_ԡv,q;eՈ!]¢2b]nxQm_J=|4~;{vm[Xk".^־rNKMŻs8>FmxoGk:+- GOzJ(77 h*JgTg>λ)%"S,k43y /_̈́f42˖<'wOJ +O|cČ'TNrvg=:cM4ʮun>CibOA=Լd~PٽdzzS2E76*SHfd7Oh; ( y"'HL=wy⎕}or] De)0^' [  +KEDw=EBí7 EMJ=zy;ғ#:ZMg˞&>}*龸OR=Rt Sn`"ʏ ȔvtXCaĕ±jG_{ڕmrR(.<-IQu)\G,E+KYX w NӲ&|hViCrRˆ5S|}-P>A!h aJ' \5$`uyvwv"4Ҥ*Ru5R**iGT*BԘW{izk}^Y}&BFܙ F#p$i@S1S3ذHK0,fQW!ldfqdx]R]3( FRN/rECyysF҉~5:N 醙(jZ *jfŮ b,S]D iGS.A&:nB_ՆIAcZI\G fUz &v5AkRL4Be(no<7"hԄbފ:V~*k7Z&&kv|4 /y`*r,]Syb*Dd@SW?˟rAZ䢫=b5I g%*~E+1h;g֨lpkca8k]३3]ݣv^zKs.;HM04ӧ P--+4?y=57VZ|Am4 aT qlgّ Xml& n<%Lkټx~'k]<2^PMdSq8yn DBY*!oNTJrD$@&GdjMjiPe- +T" d0sF5;pF{ޘ<&.iks&kgi}-/ޤkRWrYlldQ :4/Ǣ6wEth6uv8*]qlW t4]m}~UKۘ=1ӹr<@L/^PFb;5Rk +Ħ.5˜U! o|r 1THuZTdoŘɉj{:_B]R3kzҜ d9&.8͑6hA:,ō*c` u? +6g||U1Y=^D>O-na7zʾ>C݃qoRIag +oCY0xIŒ}>ir P)H@]R s̺|cz3l~B˻#ISTԄx Br>%㓙.ܸaW_%ˁ)4G;g5RC٢󫄞N -~,݇e2/Ɉ('D[p֫ [P3xopWD!c(<Զ;3XS a_x`4d*>kgV۲d *DrB|loqa(Vc/M;&E *L=n-l Wbi;$,4OJL7O2 ¤D|rw!X~s itFc1afTcȢA Ģ|k({^ήZ{܄ґK)P:z^T,UKV G=U'.s,ЈG|L)# +l eYvpI{V;N 5;2R,2 !Byɼqq?~&-7DVaL뾁:/s2-|\X +ԃ5D25& c@smMG܁o(K.)oŮڨ':`j(R4+q;:L^@V£q*pef%/| +n}gwe3y@2c">nLJLYf\ɪXҏ& L3qʛ!w?94cQHvw!wq/Ǹ#T;e!+k%LG`Es(D:\n ߴ@K*k[2*4 9>ͱFo0]Z׺n"YV󜮮D+^_8^{x u02*x(=r֘D/qoNJwLŁtq?Dޒ =5?GK)5Uj҃%ͤpƼ4̓ʱeK_6\cÙWP}vt`45qtZ2ɩ*64 B ^:P5Q9#eGYrnH\3R6 t]V+7Q (߼PuY&}6Pp^S}/ ry,K&z/iq +܎6<fiFt~eSF()z~Y.G 1 +Dr [տzIWs-erݬ͵3h7a]9fJOǦX4hӷ]^5.xt tpypi^V=sm.D QLC{aق,T0*pv'j/:`['&=äpW "  6;9`˵\HFT, 08%Kz+32:+u\kkhK*X%tϹ\mjvo0[ ۖYXEc5\S2O4RiHajGf`}-'%9f1|QŦVRa;}~̕ZJlf0 3@HEM$E&|9l+#skIԶƘ0w9cNLɮ'%qYBJրȳ뇉_qJQbZ)X4LmT^6R aALΕoKܮWt\51D )ENa`v,4 U0~6խPpaيK䀫0RϺi4CNkVJrTuSdc_ѢDLf^ uEUOQKbk_Jv* 7hϣ|F\Y5F 1S[6(@T ‹U杺fEnJgFCb,e- @+mv'rƭ#M:dҹ σ{5@G:?'FP 07qfl!`Yqm/S`\-Ӏ^ᬋ5aL3^(HVn8PSKgj {(SLrBr͓>mltq: II=AЪ +q$YLl^\!iǑZsĔˆaRf.mݚ᝺rYnAq^E 1`~kiWTLenre?{;+k~dGHǿX60ٮ?Th[`^ln6ي<~o{[>NHk*Y8:=U6kXۄHSM]~zUx?S/kZ;oie zNqhF M͢U ]]u_|z6rrof +%/ OΝ}MLaq4ۄjMmozmnhnD]7 3tfù>>5mgmM.6CO hz)D7ӵ/@&1NnoLrYEn?87J:Pz߹>6,i]C7BT\ܺ6o+ScEbe)fq7p[^<܀,q1n" +qNy;OT>̽T\dߕ/R +I*Qu]H6tVHƋfbÙ剭NFьKLF$A )pCEyU4$ ϑ CuɺVy%k]+^@5,Odgzt7mtx<*f2¹RmthLmjN59Y/|kiQ98R>d@JbC7LHTaR(ѹ L%G.2Kh#QU!j,znYX˨Q6]% w=Y)Sg$m%+BqA:z+oX>Vi@"rt&4[OzR6HBS! Am(NH[ S +&~5PlVjd5e/"[}M +ic뺍q) $Z+M C6ΔiׇfFmXIgK&>M^e͝n R{עG4^LGdb0͌X6#HC}ꪹ+rJ5n}Сed5-3)#fhsV޳lf+@+%Y$ }oA".jkig oY*ȭh*oZG=ΙsZPޏv' 61&cgV9^zuh(4At4{ts3%?\-5=Ӷ̳BI(%&X#Ix3l` +[Gfۃ16gK=4jIPYKy,]#ؔPggv^πs2y F={';W&V쟽Oҙrg JYA~F(  g}M|m8UoRڍ\%xkДCp GI0+f6!"V`26lG m >og v(iОкOB(z)atm,BwxUdsl(!kP68`t"$n 5=g 6kU3YbJfПT5}dhX7s,{.MqEJ1IڑޘZ6yQQʱg~:Iҏl(eM9x/=FVԞo||ePg{XE{_VpݿG9:u H`b4ڥ +wtNFs+Cpr|~?:i?#9JzA#`xWW.i;IiF8<] }~ӳGn2nC1is`v 묔u؀iw3~{׳B[3{0cP!cm|Y5>iPSBTEV bOن <]BI +.tr>B\=RL-%g:先6,lŦ.!,%G=l$0 Js١#]Ot{ S:6fIv,ސ@kO5C݅|-FHv`rMB0%5n֗tji99ZW:ibnMyzk-Xl6E}PiZ849͗l2Nn+bxg[ e7:mcuۄ|(xѷ WyNL̴!Bp@҇:Lezݔ1uk9[v9-FTxV1ulޢ0i͠Q?_("ۼf! +y2PbqO/ 6. _2M#]^ +9,OɵQgyܺ-0wÕfy)aœJEhNㅣUr*F9#EȈ5%LS1Nlk1:qL)?蠫z>gffрOC9ܡ +Zg @c],0\b\fׅDNc TЪ{X*!8M y A#XO0a3ޝN"bYIg_ W^m=M9rC<!?nZn'mNKiJElHe)lH];CÌ6r*[}ωU]+!x C¼yܣ|;UD G +1uu],yL3->JI/m~3gî_eZp=YTT @لh HʇʍxSMXߩ0Cf +b8Tt`\KQSbI7U.C/N(ˆüA)H-N& kbiQjE'Vd&zC?hDϮ3L*u^$@jW4~ݘ_JcP &4%V B~dmMs^X5_N1 +(bz" U!_i̼C8j7~4:kn\ݵI熣$ ]MI=AS*sȵ} |8?ݵe=~m4c1mX+KZ3շM;\7q30^~iاa'$y=Yf[xIʠstJ['8'326Ѩi^W.eԇ ͦjZʋ󃏪_M݇l֧ dld6a]*MhdՁi/i^N1X~ cB}c&]rrz2:† ٙYY +y2!Yd|Ni)cP9H䘙ϼ\6 +C^-c9KO{C񽞋fX>CXlZgѠ&"͢ms 15f ?:{rv{]CaC#D~GO[T[dJ\2vH~$FiT,!4ꭾ:ƱN5UtY&[-SfTjfp/AxT5b?K]M*s[|QٰojKY^ʫ7>x'uCV71VEƔfz"[HGH_~6-Ix؁õ_˯&XZpɮ M#זo"r\#e(3H$3}iFuZ33"{uG r'GmeUY]B6&$ r;OZ +`Shw$`Z{R@8 $#itИZJ뻤Dx[yڮ&7H aۄU1BiBԽƩaQ4hrrGIF47R9{lݣњO!NђQ1;[5]dcUSDPx@/ٞ, ѹܶ\&4 InWƞC|;vŎ99wVN!+lwܗr+<2w3{GTMj}k,B{V26\ +Bw3'd$\Gx57AMUo| Yb]_.۠Mx;>/2~Oz8fMkԪ +TZѫ剆j+^<}ixmn" GYȩfẠ8ƖwG\ܘLwMbN +Nu3&rU޶~]oV"Kyl-=֋pf$lpm)jZ:O$PD2''O-ͽc +Q$أ#M'7a2}{2} YSj~ѧ yyڐA3Bj&\[YXhhoAE9RzA aU_|/zw1@FRTʎ9A勮~ep[Zevyqޠpϳܢ8ff@X6M"+GyJ.(_-e_xPq2cZK+e0!~wzrH(T(S} Hu&]yN3<.&E@ר\8 LIxoX,qPYJuB`ypDsȉN[R]*C + v(а'm=,i 8\ez$9sE'5L#n&[Ϩ~v_]&zZ6й."Yf|H mDG&seO`B䂰}n=mA;gp0cp/~[S*yjSkJP7Ͳ-i~ +3CY] ²Mq')M + +d0wF(-R3תsɇIQ. !_heaYDiB–]紐YNY\/u,dVW)aTfpptҨT |h`Q)@@MQseA0}YgU8[9cI*88dy%",>5BaAvCf-Wuqxl\QrR_zaQA{Fp'9ܰ̔_8nRdɥmq:}/LGB>ֳ!aG9XC +/a'aۍh?MeK(-ķa$D/ XƁxELN5#$ʻ4UgVRC^Wrع +īS/Ow]S>IIhgpBߔeɝfU9W-;!&;[[G]1M8IiI™D ; 㯫 SԲȴyi40֏ڗU{qvuD%meV3ffQD+l_f`c#ՎjH$&=b,}sr %B}uds-cD҆ubQ/nucʶXTs'(:34L7&JE%%CKS★,Ӧ ;3j$.͕S"R859N`4+fFfs̵.O^%qUuTۖ͠P22%M8/[̉l(oJX_Z9%-J%ܹѧ8gz[ɤ[yrħJ S{30^}b *4A?rz@iK6Of@)ϝo{N {r&jj Bp@gkV h q|u;Rۖ*EXeƠIU8'GF-=ܷc[#k^:{&xwCpip Lk"c[߇pXߔMa2(hmף=G4ZWXQ]r/] nfʒ5wD)f';1Y$Pd/,lBk}hQ.I%eɼM6!}4>,`鼭Vl/\8jCL~qmtZuUJuavZ*]N!JGDJUFy`: + ѐߝI6IAda +hI8dاj>8u'ٳ݄eo+rzL9/AV8p, ++BCL.*)rL${{tPۙoo t(UtzMaXVziᤊCP&{t%_裝RX*였U2Z&UJ9+Drys %kI#zOy\Et ܇^R1)%z3tL֓5Ӈw^0"\wa,*_k}@e'#obe+K%< YmߣϤ|>p,#-dhMXŪi 2pTt|f rW 3V9lYm->N:7[!mdꬆYVT,BDR_ƒ3us#2j$Y)D"8< j(ub3 ]YB58Z&婨T~$?"$~bJOE-tD]d.3v;Щ7Bsb䯳'84.Ccs{3M;N% eo-dZ4m5'E0/WX>IOmɪb# n@jq#?-&=k92j`MssΨXlJpU3si>_t9"H5RYmƴ,ZyNS1*%fcGv(V̥iݷ[0{$bXj}F)w5\YP:f2픲RW,٥D4w0>fr em|p>!vSzj^HVZ:J+{1Y= 2||z ѳl#eHTLf,cy+ջ=j/#LSr[0+Y`wfDwCh"5M+y^/@O-EƢ*Pgp 8sS@Dǎ=z"=PzIcGxLC3_'˸p]Xp9IUvgAyÔLsበ7kLrV{#lu}(RE{cƘږ }ڨ] 3{J(rPBֽSQj<ԶXjXͪ,0$%bJM]H4{#NAƖD2fd );TT9eGzF2 g{@@)'HvT \b4iHReJ4.Zm 5)(-erLpJe^Xѵ\R?3w#)߷gRTH"; +ԌTUK.kr ^ϦZ$:"F8IN9 n #ʰy cw^`tDʊ;`zvmr[t$w{RC̝QYn0#ۦ}ɂ0GSK&'tD"GʏI%7!'P*y +O!Zi%u %: +F,TS; ϒI@n wBH+ + +5a٥WX3Ia 2WwL~ZWKTJ7UqvZ?;*kn"֡w Pa .qlfN:7fjq6"?^>MRRmV'trF`v3GEM;mTe zb?>a 4D*%VZērP6ClMW`eBVz m頜[9Ay`TTb"55%1Hd.V|f_]ZU6Ʃ\=WRdQ]gC͡\?]7.UHm}MP.*CyuusR.4NcG1v6S-ԇǎf!l$hgPxCT41(6 S>EsVl}5Lb-͡3rY8mlSnj69i[Q84Y=+6^YN~ȩ:=c5LHSb:vI )R5z'7r$ OlnL5O51~@r"܆Eθ;c+kzC'P~!A?{8Ջ7ȞX-ȟoӂE6T\כ|词J Ϝ} +$p^|HbWi^Jep9ǒ6j(܁@ eMc/yt͙Jz486#[)"Q>ԑo +m+O3WMS刁;Mk?G{kX*\.*n *Q$We 9*7; rƃ-:K s&D՜'0ӂ>DEfu R$x. Nmnj:jU穤!S3p*37N9ZMa}YD+dIYS.]5W@FhReW&<(VE&)`^*Eel.5ڪiZLplSa+w('>\]92N\ 氆# /LzTZIv@&͌I Ę%Գy9p~WB#D +1F*5\6ܸwݓ !٪|Q>04l =`O,FⓘҐ3]`Gq~b'u*k:sMЂ(S~e2 0}6=bOid+ϣSӺi1.p }ْ&}ǭu[ٍ4 +lÔBF<R:?ܟg )?BVSOT. +lXIZEh81Q{{g2zLi{8%eKz6bULu+Rv9̬""gϭdx9P@7QC Gb #*vJ+g|Մ6P-Epˉfb,+3g`pkw'CP; +Iv8rfU~bg4M]TkGN^dC"{ES)} DD:GA|OYIygc cM'ҟ<&,e,{4Dj,%JscoD=U$~qjҦ*Sv;Ng꘳/6Wcv4`dmx3ʍ;Pl_Ee€jTߍ };~VgeUЪwy(j [c)<ޮYj. F+VETR:lL2 Bf˚LNO)4M{V9ǐGrsRW+;rv@u;З0""|r`swVu3 Elm7!XNgZ׳e3*z% /<g0:Z>؟|xǁA!Y%F*Ք' BJuj3Z'rQAo3r)/xd,4r^^?:hpKg iU=J ʭ؉bN^Bj*UyD2fgHkQecPt>:>Nq]&Pr \$CfHT{?cI4$.?Hne&*ɹ*9£ue=iP) FW*}ɀE\3%y~OU tB3=r4bJpJw6ɀHb?OHj,9)7;,溄qa6sxN}!d`e-_@ )Z1̮lx^{G8v{#poE +}t $3 +Vmr )-*9J61Ѷs?(1D_@4}'. ZbLq'`If#PJ] +mSLM\NW1n9&~zrVp%+|cvX9tAsgI D٣S- 3rlL!r98KC^N ?XFExIĜ*o#"ǍlI$RNM d'{ Cl;W{ [*";4yUI'boG1uO*4\O@K=L1HL:Pl1eO(DODʮb"DŽ+Juu'."x3{xx|\\ [*D5 b[>́T$qC*;CMvR:ж'd%*NRÉVi)tpH倇ryFLSSuFCWSю 6,.&FA`-Ѓ~V| !O.de*:D9՜'dDJuxQh2<1.Ѕ?9 +}/OفcSPAU/F2s5S9ɇBN;t{ѣP: H_ͅt\豌$sfjBjGD>s, 2y/+|V>.+ +_pk_lȴW}5(bdc:U"IejB_u" T,]1/2A֭2#Ra*lIL%C p/P4s>0Vtf/U1U4Hl<:_8^+h~V'?)rpKMCQbհ4TRؙ]v +|y +kq͐Ic,'ӭᩏL`UȀ"SNl`ZD<wPB"ViDmG32T.#Sp%mUnT? n!༴jґ ].#B7)$B''d ZCmkRnD +pu\#EfreA.US1PS7[3!&X_}[*˺J*۪S%fзEz$(j견'HwkJDplQkhPw<9u:$t(Ĥ沸MLloP)bGREFHgfoS9L3`hƕ.Ebgm?lI`QvÄ ixVO \C+ ?ܣW<1S3WCT PIVǗ#a)ʣ^> ǔwA@-nT)wFT~w^UcC4YET3 -d0:4 =bYXӒf@ާ +E",x*Oomn">LUAp5,qj/D+^śܷ-?Gαܒ{v?HԀwl% +eUOc9=YxH5|W ѯq]?7ǬXj6JX bG6Ԅ`x1STu"x#)~"a;sI9:>c{s&xihe0 +/e`c<*^K)jNOD" B&[2ݘ@LҴ@swډQUC!EeMλAb,CrwF}曏_j'gyHK +eFY-EIjYD.F8k8G$T3/@FIYDݷnYBYĤzΈpJ-{Yȳs8,9XoqvKA>)!@n`r2NhTP) ƚ)|GɛRE7sL6PxWݶe9QHRObSsۂYX8 +Vvu ,j<ټ7 ]Dr=vMYV#uP~QhneʑxH18n"7|UWg3qq/wO"hmRӧ9iHjgԂ߾ۘF;< +SSJxr?Hͦ.8o= XM~-ujVnۭaqPvyw6Z6,vs MS՛Ŗp2T=/ȵ.BrS: uƒD:ՒzH{du]S;N;C34j#W_^~/jdG~T[`&o]VJ{׆P@QM? Oap̰C8(O%|^B'*[BY;CZ {1Ď,zy+aU{s縛^|0Wڭ:`C`  2a;; ~wne''ۃtPT+| %Υ;Gׅ~7~]tU^or:8…ע b6J0_"&re` +Qn}x2S0g=\aӂW}fv˖ړO uxHxn9y·܌lH`e4$,,os.(brJ0Fq}p9}Ma +ߥ 0j4Y%v)a#Ur,R${'97Du2EH}pv<=^U8ͼrk:821h#W}vmTqw Qb{̩$kO߼Ї/$i"%D7]l $:p3]󢠍y +DV0dM_|rb8 ˣ ' PUHSǭ1HQײݴ'YnoW8WNOasI/j(+&ͥѻ~!jI~vvH@@}6kO8Bo~}DIJ?;z$=Tb;F_p c#)S#JQdUz%g:hNi'>NoezлAzeU2\iTOݲlѪlJՏ_ )>Ӓb>@}$L+ ]fm5}76S <#x&`n!71sIiM8INۆ00B'bTDXsѲoSُoR[|NG}J,bKZ|_@(ƈYl]BE"˫7J|=o2$CQךOTx3fk/{9Y.7/D@Fz6_sG[?c({Zg`|S7?\w}|e/BeTOA1 zFrJ0U `Zw?#P!߾}fJf6HOӦ[1,7K + qBaU#()jTz[DSLcL"<'&maV8\Qxa6@?~H7,{huIjb@9ۜ#qoҿ:*4B43<&j|iI7 ey/vvO !Ġ/ XȚb)Rtt 6PN =o-T(\')zuPG:i^!t@:% PKƝ]6l7󉽉j}UOuⓡ|2^6>_ts3@*JLŏU}Yն«!o1a$c.6<Ih67БygQsB*kkXP^)= Ȣ.SC<(:Piqw.n>*f;PJ6ڗ㜴_)5#9+==} +0FoUv[;Ǚfz,>v[2S4]SYU#H(͂͠Te3@DVVGyo~3"uYYȅ6K9Nxu+FEWeM +Hf8 菬΢<"J=#Q0ьvׯ?cdGTe +bo"z.Mv\q#`#֘ToVh +cLIrؠPʛ/{=|Mo/A"u셜kGwiFCV@h%;ٔ^聯h#6IRO C iDǼD)*|Uc.9ͥTM;+d9w@_?} MF(WK-2Ë{E7]o\P3I?oNˋWgXZC4.Z:9ͥ] )bssol_| L00=ys\3|$2mB͔dv;C4ARK")1gfTyn$)>M?菉kmp}$~ a8qSs+-Cl< d3TtH47wdn W^:vlI"4~|3~m'+GEa&+͡ F5V7y}~?|}=7Hl>PzsAНכMZWs35}+Q +y0 }W"3kJ{>xXFcU9@8Z@Ю#`Ѝ{Q\+b^]gɧjn %9ʓ0s'e}Ӡ@[oFm"M'@}BYJ7uC﷿}Oo2C[8{[?$z޸1gwۘ6»3kSM+u nw@Ӱq +n#$:?ᗯ_ґN$3OH:s<ꙫ k3KpJ3,[>w߽aȐZ(aA-S nNMc|lQRr]a="caRSV<)jiw/..o.!>Ztl8ͧ)߾͛7V%Cj ]HU$igzVW-Eua*xޅ!+T9Զ\"u=2?QdۛmuUy';>|8yA~NR:-`E{qMQC,|4v{/Ta#[־[@]?SRIV`|Ѳ$MrĽ8g*s/VjE'n'|mw8ND y`U(/" g兾DZ"V8Cцvo@2d.Y^Hq"or<_l7]&zfqD'_K Rbz:S@_eա{@Ur9~ŗ9%ˋ_^\Ln;fl'bp SѱdʞL\ +r82Enx>?`oݯ~W/%QޗÞƬ9==5ceI*վ2ك* wfNBk'</I 1d9+>9isM8]ɆtiRYsAﲧYχ+yҧ@ȫV.=NozS++KWd; +IYտ(䖛Xrvuf, rCR6Q濎)ͳ\dʙ &,!ry97}J?dA0XIh qfD.:H^z5f[޴00y)l8C?xիg|Zfg:^ȹanE 2I} ff6%]\?g2yqooyqc(D*Lb("H:$] D/7 {#:9-IfSghM{)JB!#EfʀZψȖOJxo BdU(=gF̳8P3*Mcl7/_nJRG3D!y@rRvZRYm8wzo5aC=Iؽ}9ʈ3J+b!l Ϛ4jwեQ}/ɲG*!t'*J{&K{Ҩ.5U8V!|uਝP] +ҕ//~⥜nc:`Ҽ`nPNڟqM T ww'm>R!NyJ +z{S} m(]C˄T.g7qi0?A%_9L(gM8i$(8꫋~ % z{drCĭ + +rJ@1!sȃ{zڤ=.7ꅞ(VOL\{1K縆XP!;QvsbWw7 +i)d;_l ]74/ǎ\ͻG_%/3S} mrcї-]?0tX_ǘRn $vsvI>vT6Z6<+>hzc-IQ\|o ~;Q^e4_؟_]E2Y>ܩɣ)D gڬ-R)vǘ&ZFMnïozo;s4Ux Wگ!@y7fi\PNP/ՙb\U& B(oF!aن%)|bjIIJ,b% hɯ7޼|Dk!}3, \!~7+;QFCQ/2K[T!`~>Ww!^ˋ߼ǘXRYL,0;xm)ApQNIz>\ל!t-{#$0kYmjRKUv'/淿/VML]VLn(PҶG.;#7=^]H<P(JSyFԦyCOe(~$l +qhjY-p1b,Z[&7YXWH0rbz9[%'g v#gI0R'z;nS`V7rRiՙ:tZV^Jczk Y(o+cϼٸ jX*Ta=dlCO&P" T=uYhAkʫk.ΐȐ8QSe p*a[d&\j"Ve+8}o,K_ng'˯ (X7 +֛[_yT?]4YJJ*h\u>i$ۢt.v'kZote78#;n34ٕҜ^%/dQx[꧹Ko.<#jM= Zږ%.'-N)Gۧ g~AgyɁ)}׺6 /ߐ|#'[׻b{6gIDvW)~IPO[c1/u]/?^gڛ<"x&b9mNA BrF +Uu$o+0~zz!ַ·5/?jJԳ/Y6TveJm%Trh`*.RKU4.Y.x5u^TCuώ\G*ӳI( G~F`R}]EuOac}U%0+gx[j5ȭis{-bG\D03 Pd +Ac\ԪYP,: WxHqim?ci >TЕYBEbo=ui8T@\/ +̋d1GZ{]>Iv@]* ڼ2汔JhAWv]dا-I*W}hP6l<"iy]}i쭣4Q IMcSph+eeʹd9GezoyP%d]܂ӈ`9wuFbY+p+S.RI)u3ըׯҝBF\$ߙgEu rj@RA:)6h1uz.JZ]l9(ьR"AA!v. 8Υ ;X>4\,SR;[Ye#hݑ uo]r̄WNL}x)M3`#m աz\nsKe%zknlL=-ϚC*z3MC%ӣ<9Z{%a8yN& ++GWK':9c6{R5L6OL:lվxWK({%pb7Zkw4%jћ4ҞѬ}%_nU Y +wZg1ؤl\1+3"%&Mgݹj3`7)sfG'g¼8˂W fj Y9r;YY-,a0x?*jn=zIeQDWEyVd~OZUlf- + +l=NjɂPur-bcAUͶT&P֢4ZJmՂH jD_$YQeQx7,k5 eEM鄨"ˁT$T*ص?;q +S-5zUˮwٚ16CO/a1yZ|[܁q#-b+[Ge4rd~lxkN8XZqfWzvu% uоٶ/|Ċ>xnE%cXdSA;2ݚnQoޓ ZCcS*߹qZUK~])K8A_]ڰ’@( ՊP}u-.$;r| +/YFu}Ӫr:I:YMlj&/uԗM܋C+a/+&1N;8 gm*^+AlܡǢJ`eti2:T8&M60/3̜}@\T#xNKZ=ּzin{Uc27沌Ftunu_R,'q&K)TZLJͅMtueBRJ2ƦsuXʙ6#VP1g6FY@\s_tTS^7cj2hej TG㬆Lť[>1,kj^kB{,Kg#ݪ\=!.]4wS&u M?C?gI?S-e]Ő9v0q[rw+FM?,/.G5'z_OKowoZyTǘ6{OS* P U77Z~-ZrA0oRS/0f]rH p$o->3::GEOI3TMmrIfD8338#rayfJfFlQ[o{ ѡm1$edy4xD<7LpS62Ezwm}T dUy2͊&|ȍc<K +iMһhiߚ +%`@ah֐9 Nv]z::R:"] %:tX7kLu4+TXh -j{UNp^]tzCK/V&^OuƸy}B$+B+<ګ +`MП]YFg/̹^666__gk3w":+qc9wn)3¤#?6T$öYEkTCR麽 2晇k k@S NzX2Hůf&ęh +EJ۳q`0e" |p jcV潨\E"^G Z VW@ɳNςN;IkH[jH6C'."BVSW]߫aXWnƫ3_J Dͱ+IKWb04f> >a|!mA#Gf Vm2c}D6eM(z>S=JeuHؖj-bz^K6.CMv>NiA+G#@$ʂ*]-Z0ӠǮyӉ L+ ?ɠ8I:!l&Ե/t#5jSaC3H!R(DEW<8=k.JDrGWNf7y0 ކ̥pL53yIJ+[zgJwkv_E8|@"yy%U^"j'2W-u1TդMo5 Dc;CEgD['[pUщ@^Q k?K$vyTi𺲣ż)&Pu hZid(=Qмܽ*5 ]!6'uam!1@\àTW;{g`MơceRtSj6́g O?2d ȮT~VAFp6 +Q}c%AU4%MԷV= Bk U #f˹4`JяHCG1j2Z}?:;VVjT hV +% EP6]_n}`ǧd +l +]SdF3^4Zgݠz/VOIQ/ " +FV銝O5# pdѱڒJ`""e}YJ+??Ƿӎu p6(ܧyw~&vn~R}i2Cd/ß;zobG"݁qE% ,̨td6+ܬJ%˜)bsdF,E%g6Sy]r>S~#/RrFv;6UT-."׳58jo@^od2Y?{/<<|p}WDޤO㔆]4fkIѹih;X8HkLJm]x%i&1ET8+N +Z2G)XDB`P||I^(lAgG~'4T(~.RQXV0?y]Oa{(^8ڡlbY@EA.(}L GckKE e-l_B$Qb~]d Ƴ,UQ܊fծbTZlA Xd䤘'V;'k6i~?tGR{a>8ns3BGŐV`*.e)zIPoBoX}Ҙ\? 'C5Tz*ġu8%1}sx`%gڣ+d]R?حTZI'mb#[FaNT,ĐAA toqjXg+V]g]?l?Z;ѐkL +~hʖ.TMӁe+`@~W߃8Hf@pH\C!.S{ӯ +9 +PK*v-R rMH`dNzje\:+ ? ]q78O|ܑvRQdpC bRU}ʜ +)=E#1@Ð- ҙ §s| Kl-zU)nK:M0մ@5ʻʑv@e3,CݑTjC&AQq}kI1С/FYcQ[_rVwh9ș`̎f>Ё ̠{:YN>~zU:DUrWVp2b~dHP]K!^>4UqXvQjvW**; l2ffjZI;c ;*%X +:;S1lt5"U*GUEǢ1%(6y픜N=CK4ygQagipOGw"x,H +!dž5E7uk&C?U+GcjxP#.c4Cူg͂~Xx1(m`.v֘ه2b8THJO⋷XvXHVq *}zn~:b<1ffG?Jض:sL.IYnCDTYV8jHS`P1P Ck;W +!H$Vq1h6j.]6V#z %Zx?bЗ|,GxUkJ+7_](}oS\JtDf1Mo4uL@1-S_tZ T zp+$V(=]= xt7KQƯ,|oz| a,:>xZG5&9![Mhl,1I.\gFb Bk^̧_./)M%_J>uoD6))eLǀ j.}uDR9[Y4)aQcWk MZo0@8Hz\cO\lC4,Nݤ}S7zp8c%1-ٽ5Wf&$ cDR΢ lzo" FJӹ VD 4Vk aooƊ -;{S=?:%^[:TgR>ew +W+mN/I@ηD+e%WոSͷ@kgPT}߶;4 o%N_߫ES&}9KAB9(5fsH{Y:5RUeͱÀU]1p G~2Y]獕 A'W*_sխ"_r1u{4SZ +m[CYw{J+zD׉ۑܤs^*\0Bj?庉v;6j^=p屛ˏ{i$3`VGeAku_ӿ䩣+oWjtEoh6XFSUne&kՙ-̪5ME}훓jVV['"X%e \Wk_ W9=fy;?Wx@(;O˨(P@U$%f%F@6~Z(7b$_8(_}AOyo}s|?׫]?L)NUm0J i(5Z\A+o0PU &\ +F/g#@QTYP,}- Dͦh;>%xP+\d%Dsv{UЗ#CN9rbIeUxPР-;%`N&s>Za n*: ZL_ QEƌ祜r SLNUD*0Sӟ֤vbeE{TR\XV?I\^Q,㔟V9KRUùI 8zHEY,Sv6*?2w5F=5;`7 %]om3cx꬐4LD(>.F;u70)b+OX*IFDŽ*k3rlwg-Y BH:Ս6U1Zm.ދaՉzկs] +H|]uZBh +LUVcVφ,E\Z~ mU:D+[e[ l!jig( 3.sX"nD J:e}FjA^rQooߞA+<] u[dљiȧ0Fze'džfX[= }'%#٤-u:3v.<;_Z!VN5ߔ**jDWܫ-p M+2j +z@A[m% 4WxzIID?HL L;#_ideթ͉, +I9så>p^9HT&AY* :REa')ͭ֩sʞWj.nЛUkϒ8ԫbn +ףQSϮHtzz-]e˳^eM`fKJKw7`VXT(TtZQEpm=er/tE\sȰ +eF)B2iѐmCkC`q[3!tK[SXh٬%H:k4 ^ f JA{lf%D$b6!֠4E\Q?!Q՞1g1+;Q0Q{rmC>40-P@0(^""@,XQW.`$³ Y ljZ{AF">)hxz-NOo=$x\`E/˪Ga_5hUwB~jݿƟMRO]1d<0vΨڸY{ %Fq,RU:R]*~`j TCz7Ij4Ъx1\V.ɓ퉸lC·RT@|U܎d\W>нP1*I^pːf#*}o4UJr61teuΘz"kK3*^QO*֢`6 ՂqWV vH,J' дsO$(Jӽ>y#|&ϘO*Eˬh% +L`^K_ok;_] =Jx{e.B 4 +wRb d69i.˴4fvrV +]n6]oj]ՙNuiJ`|q1 6dٵzQ ot:LaZ;Q3 h_rF'}00TWz A-B?s ?XE3Bg1'hJF!͐)gE5ը1g2K5xZy otWXpj]'XcL ԛt~iC~ݖML]x8W4z:4QGU2lSU k\yZ"-xA}7VtSisWᇘLO€75o2[!CM6&jٮlpE+|iq^"hr)tWp [t&g: +U34Խ^'Ib hD7i=43&ZM#cte.rҡ.q >GT✪TV}oWᎄ;>f4\.x҆lz%'G2(}(I3*bUP>W sRDsRC({$(Ѱyk:y?{t.p'X`Ī'^m̧@G{ëfif Y3t}`RR:bߙ{}MͪAÜ Ӣnmb{cPӑj@A1^ +,![j=)vM})M+}<^4zC`z#w#{4IAYƇzuc0?Uji`ԴE:fRI(7}uK/}j}KFO+-&*,ۘ&nLި It"DD%C=Cu}K`>p^΋\%fK ;BL+QxX*%X$ubY2_r*P7/CdE +'@ ׊#qd#, +Y-=SOI2׋N6صqg0u%mԻ`/ 2f:arx`uGPr߾amj=O5Pc} +/7MBYT8zTֱG׀q/EjXS=4q[$"xI1JԞ' ]wSX6եRV)Rߎ]hnF: >Biҡca3a2lQZK4R)|H*,{2Ar#e7AKT-ub]mC,ѐI~ g=fijtRAm InބVLTAd;1qa` +}3vsK,o9bP!%qxt׉+x:4 +UCE!"JS1?N9\Nfqگcگ0K dE\*)uDz 'ctDIc+D+M#[C3,u/8HDMEzFr,qmhy1XБdGb4w&4X *h7jXe!1ؒWȔ6qW={ bxu2(Sx<լz&y6XxkWsm)4q]ܟ83?7bIڹoC)3zyOگau ,6cW[>5"mڻCDgwtRL iX/<@?7s@=ECDž7)hmi!}\tbp^k 9l̐ma O8C -%9 E[hZ2y6cza'{l--oǨwP1tZhtFt3)ӭ>*dԺ/zt"[:+|^.1&SgJ!%mX! . +9Y8yڏD9'֠&B{Gqݚ)pӮl\L|?$!hQIE/BoU"mk ڰPH s5JKjᏗ_.(A4IAZJ`a[8EpRwv[1tO[xGB6#osGX\j,NcE B#K]X ̠#iX\v\d^?rmw|Gl.ZfȟkQ CEHf+GgSjC0o2Vdcrԫ]Gܔf% ȊLI{J}\!=Q-$q8z"$rxJ[Aow,/̟J9 W|;:NE̫'!݃&ng'oESqʡy¡mWa q=Uڐϖ +B-)Tμ*pmvb#5֛rԗEQ?'" +1TJ,PĪI *J@6)~*^{V+N"3vm3qV ^ہ%aDe⍹k?vr|Cr.\VJ9lGā7ضMpȲAH *++Tm ++l)Q4Qs':&JwԺ?߰䡗CX5_3TыZ,9Քʫp~᧺KcFI|- ${q=sX8ɲq΢0b]4++[  ]yu6WUZKϥbCE&ejJuWE eDHTޚ<6qS=Ţw9 ݉XN.ww"Z{ 8LwC7c.B|B aMG(a]Ϊ ?*Fps:yBiMը5F<2zBk2댦KNp355Mip*Efx>;,̅DY'DʦxOn +!AOAN U]zC@Uָ1S*&nR`cA#>빐6[8460{Q ^W}3U[@׆~NeHt4Lao&D$}#^xtz(\+px_n$1X+ܜ,uwqYBLuCkOhʔ"ށYv)Xsibg?@7WR̺b#G4ŵva$duzI_, ~3#6)l5{v%k1OJqqNދr&rB@ۙxRs+1:c|4V a+Vo4luLM#!(EtW;{* F}}klsl; NStcv~;[, $A&h]Lz23o~m\mwMA4mg: +6nJߝktOxZWc(=ҁpqq֨VgxWacZ\v48 +恃!HZ(r4LIRnKCa2`a9f@Z!N\̼J-hzJFC+b5SmxUVszWeegBVrp+ wN-ZX3;9L8&_@zJyIވ4"JUk._M4boS)ښ{G(9I !֥fB/z|6@ϓV.-S̠yy;sp]So5%FqVc;I. N»;:h]UQ6*{߉bUm.֦Ii%pT7ܾ+xBHxol<{ +Kz3Ǫ6DLDcuI4{}ZYykC,0t5ENH!ܾ1A`t^Z"XOdkx!ծ3j ,_.=Vf a~mL|w0L5hV SΠ +83DxzfPQEe$bRaT6+̲vElvzڭ/q3Ӡ]=`.ƞe8tԃ)s+άfae!-8J:0{*}];F~4CfHfKrÍb\H7QaBAb.WOJK\]ڀnK!31<і΃rMxYgXpd ф˓ J&+G?ğ@ې6Me/8F^^dk!mxhm{.a:p^c+*[{8)R4$9u{6}6kY+7쥉#8@y Zof8XKyS)+YBtq PІBULVi9U>a 鋶bӱȂĄbZiye.koyԃ}I0.ڽo\9v[hdRS9a#{Rx4`dxv^z@CYF5 .=9uohee^o +!65YDGJ}t?L!NcbW-U.HŲ otDN~J%<,T 1.AL 7%jON7'" LAJ3wd9^ h/D!uWֵ5.f5?flL =9zB +][Ľ-^X6i[?B.b1nYY8bclShKT6FUf[<~^W4#,ςPH ϙTxC\J!-Q.hp_F{ #+ʔ>Vui7j-St#f3爜;KIP;BO PZאUYEqV-R4AbUL1yħX+[xA6IϗC0`'+]ⱈ<Uノf1 +57''`•ۯhEΝmM[{ÓV{ꁔǟdko{߹8 +ߌ ~ 5\WBU1n#(oc]5>rǭ-5 Q}ۓvZkb4Zi*s%DzjZ3e!e=OT %;B\_ttNلRnJQZGvm,CU{nTg{l ?\] IPgѶ?fvWR6|[ێ֣nXoz@9`E ?Ktj}nnc`y?F<"s*//VV%{"l7UbXSqKd`*dtUo51|,h)um ]*z6#(> !^u$2ug;/J z~b2)Ca4kte}&E>=F摼gh6SԵVB$O)ż7/$8:2水5JӶ0Cjkn1@y"/]_)?XkV8wC]r.LN a#<ϢAk슰忶W!~~˜y +W 7W.d68XY_kPKEvau+!٫% +kSRaBԋ˜,RaWHW*>p*PxR_%;H_0| +Bb(̓ndA^5'1f7*ӕhJtN~[9m׏b䤜Z<' +bhB&NuMWj|0~ɴXվ۴ڐCTa6vvFAQm愪BnX^3ӿ l'֋g7/qd),ɐw=!htnܑey]y{jhB|y:g1@U~M7jJ + ?(&t~"șLj.UluL8~UXm z-OH7TVi]?ROEٺd|ΧQ&&yČGƠ5_R er)Z[j똌R2qӜq%>Vg "،)nWzhD%qT_&Hqm!{|7F\H_*mL:]tmk;/tC 2xRP&crKU4 wca<䓆SBJS .1J\94:ҦGnlXCl( T:3htXD7&|ZGPm̓a1}@1wWi1  +P&FU+Ǿ?u"U:u3mk"(ڧ!5lpȠ8=֚N:of9glޯ@ƙH_l"*hHQ9<^u5jlHHť|N0Լeu 4ɏni^ }@U/F&ړ'ZVU2N =}5]NUZ꺿}X<_JKO*Ee %6!~GoaܜA +$cvR2}U 涬ǾZWٕ8Я Wi[p~:;xxG2ϵNuQ҂8|%6f|0ǣS=V$D?%\U#vh.:U F7/)Lm~`l d/m,<~'duY8L8XX t_ڕt/.Ez4TIs ¢T!Fnd_qqV1МCabTpYŖHB/?RK֖ TC_ˁ\Aw+lc5EORFee5hS,~+qT󡂻`;2"3*_[mS> +fy%hJ1*qp +M|vJE7%H-x8ɡel>W>_B{[9cw9vT"kpCZNk-d[+$fJ Z9ޢu_iDEmJ!;evX TBoѐq i6栣Vއumд9 rT CZ FbAkʙ67\Z57p@0A&ngȥժؿoLZx6+6C7i7)Slʃx/+|HZ +%ң< E^٪ҹt ߼ju!@*](VX% ӏKv-ZĆ݀ς3*IDhrSm "_{2K+m +N;Hi D~L]lkO/QwZE5EYX%t'nqnou[+FZf[Mnvgvg b!a4.&tENoW)T&6+즩c)j*67KTa7}m=Q7NX| %*~ULz h%fF|Y%j*"W2.PmED@f`듔]j$]9l.ٕH볷Ir]ĢBƖMeddVH WneX]+Ygb$%ZP>"fiz2S)x؁7?ZZb8T+`)=k$!7 I9Xp.:t}qpHh +˨էVj@*WP"B'/Y] :r%`Vmзn犻#,ߌ!LW;Eq_V0_ r0jCɱ~T17`X/D̡l-EvEc8 +2FA/V^2m6rغFG4>JDEoU'"&vr5}njnw-X!3zs:6Uːn5'B82,b8$(.{Y0N* *_Q3CX\~}P_Ru/}n`<U7 LS19}sCӉRGI Vf] ׺ULn&4"FBJ%;[ڽ^$$HLHq(_j؇D]H;_%~r'jBv)ǚrHs,6Uįd+H)wK$J5Q*QMufݵL눈jo $VCjZk~LdrZ%\yoVakYrJ*lm;V?@N|]Fp֑:LEZR2q*m6QIJQ$i+0;f{US,E0Lr:L誊;cٴԕAcz} k4-^)̴v[.~ܭ 4 x~jG8^Y<,\dP.p [ǴБfOVx}:^f%|E2|Qg&̍Sc^iE7rC`T]8,P\|'j>&$ w!Q6U@ΔU4 'rxf^lo +ɜ `Me8+ ,S8\m料_;|jꦁỹTKR̯8?LX-uBER3b^T8a6q晩%ʱMJ=7Mc7㱋od +A +.BH|2yzn>pEthT}m;$&g/U㣤zcү[A&~-UGnύn| LU5M/t{R>$ZW5.`aIO`pb͑"hH) +_mvЛ]FV.^:UYzpwAh11tk(>ķ{]ېF5s!Lfߩj)a\*SIIڦl!'/TgvD6sHèE}NQ%Re +{@5e/ 3A'ڨJITs)Ӽa +4neQ('emR^fQ640 )Z]@W}t{OEZMUL㵢ތzE[V2ybT#;e[w0]TK*؏= >k/A!Zù]n-1sb4pCV7fT^Ebjo 2E'Hiw`=*Jcߢ#!IXZ7(8˄8q_;hؕWhiH:8V;ƌLo^j%I͌ +/2nzr 6-%(;Z/zV[ࠫllUu2 でgv~scXk/+t e xENKas޻$[/]Txan?u]kMd!jQ tCIEsű[/ +yĊ~_5켦'ԫ8 S]uRs0:wI;-*xү;tC,@9iUCwS(L8l-?|45.\n;\P<țgDpCKQ:"rTEVa@#swۦwJk}+ז s*tE9/rP#3M40z)XJ_!z,T9Œ&t"ouhԮp +WxL~'*mTfiu/ Ҷ\1ʳbﺢPlIaʧDO>6fW/u$@r4xTlڙ^iP)7:J;uN>^+7)zN:-Yׯхqp3)_F^歱k"Rzl^$4 MI;R&!jhd@Oр8z'mGww9PLQ+Z#nUr)kuS.,E;2O U֪T8PԫFF\zPoJ±CBV +kČW㿉B'9j6J*Ш n.!B<վ,r&j-:(hVH4z uĎQu tk6dDls'.^wKU/-)V(9uM{yzGjpt&+Y%?*> G_AįNH&ne+x&de-L 9°U9iީGW^aVM7mj ѫUjky;>>(3uk%{g +ZW# ݁Qv& +hu1Yn͒"dL^W7'rg+sjSg̀Մ6QzuG}oDj'(aU7% 0jI&A>p 9E +^Z﷪,˹__ȹ.4@Ռ +A%Tlm9H5VOH89")ֻ[LLҊ?U% q**gs' j>ˬr/*d962IvUڪ8Ȋ+e`uiۭzA@w!]Ĝ.fH`O8ed~¥2zX%`V W\_SVK%)x +"A푚7djTnʚGvu;Dͨd^~^]\͡U%8\-HG2oq"n\@eiW(GcKg/=Nnc + S(!]©ՠKojW^nkElVhM8f9*T8JHɗ(|&GїP>XN=RGHwK1wtLd (BjQIffҖIZJHBD{O&vs]eASV ]kI;щ/Z|ޣS%Ԝ,LNω[P;ȹf*"VJ]X{#Բ(D,CHl,TFG:OV̏|||3PD {PB١bL8|YZ9stcj)g$QLfd=^E0OmVJTp +"Yڭuʩ" n!Q$Ytd$ݠ 4CnK5HW gtCos0](-ڝSˇ[|Z|mmK G=nX޾>fTqOInb-:KCN4$֭~]E&X_EV|6w{vWOb~9[#:hԊ̶]n\~AgQuk,4'cmHs6I-E]60,aCىVnm7;iNػ𛹝wrGb]{>B'Sjmp8z;;?{Jޗz^r[˚OŻH8{I,jNY_eͩk>mt< lHvóaܥVO9?.'Giq)r'"=5if)𧶻S:״H'}+~qq$ä9_KŗzoC8Jt?ǻh 8m!-vhI%>`%|-beD!8)Rj3:F;{szi䞥RYo@ZўRk+eXh".֫3!N oayvEf剈$ɹAe%9v`yv|je+($Ǝ w*'䤟yJ'^OĔDr2gM)*U;ݷe/IinGJE|*@h|};q|d zr#<O$O= Av&hGr7u]vQ> U@RKlUŭ^ +*-fś"mYf;6C;pxI+jJὌd؎CdLORܷIum"K{m:e3èI9VNPsb R|B`=L=G +oDK +WWmDEޑg KmvPږf4;4v=[%*O ,o<|(4*F$1Gڶ;Yھk8;+k@%FK[7fn7ѩe(&aU%2@=NT-%|(=.CU3V55Yɲ{{] vv*O僜}vY&'CӒiɥ^.eBB+/xz#L\х2Ԗ 9%Mg:%8SڒR2 cbR\h$K{6t +tjoOB`vY֛O>3/c"S2i)qhlD I]Zת>LlaK wbŻ$4d6I\XUmθ|Ag""!>p>LR:<^NRkK0y`=^fQ9ҋ:y{(#vGYfwiUa{e&rG;4ngM19JK). + tE8W:JnMsYM}9NwA:sKl1ny dŎJ@r^ʒIn\D{R<:Dm I;ZO9ċ@DݖLckP0:y9]j~>971"* ?"' F?䂵YL+(iVZ˟[&H$緸*QVCT'ݶ /tmiIn;Mv.|tHg*9HWG ~#.~ҦEEP DeR(hI׹U=EbWS7 PJi4W*YeѫCº$ÑJš" +8w+ҵ.UxڶNn\ypG_%JZKS/ +(IXx9x[P8nd*֊-*Ԕb^\ߥ{[, RV" IAbF8E1\nZ@ +Z0u)˒~:BSKo ^:mf!tG~w윊 M{ +b2˧˗c0=;t~'<.Ɛy{G#?~/~8}kEnq>|B^_ُ~)"WԌÇ1Wt|$Cn ͙adU"=˟>?GxLl]LjD}h uuCтhnO1t?͟/˜ H˚ "^:@k>[>EhAKnn5&Za)0N[bu"-c8H.z!h ?Om-ow ֪3D/T'oaV4M<~o%YNu8' X&ha!g%ﳫզvۚry?wKӬlDZ ~ULx"n>CK 4}~|ǟ#xX[f7[cኽk.Qs?y ]$ui lQ&a#w45o|y|li~;tz4Bץ bg9*Z5Yӝ{RcU8p,(@ZF&F} /{XsnԈqPЊ`턦_>]>|]|7 G b%#n*ScѺ\|LKs?(C0P ++ ؐb %n.- +mt7ߟ/¥ Ʒe3K&F;'%B[, !S!b_Pz .?q*fNޞ $U Ф7aVWׅMPOi3w]9Up=+{$)ݔv&I*+4@"HTӒ/ϟ󃬡eTJQmtŋdNpUGXNH][M4Jp#jRV VIG aILfA BrfIxۧ󿿟|>et2cp5}{j8(Spi˧ZVܵ(Uޯ}>XlG  +"{rvL?/Vr{8K{&Bh\;<5AZ!VJtW-H?C1_`|KEǼSOR>[3:EkOOm7~9NneP|r,a?nvQVz+$*UEUgZp|׿GiAS"%49;iҒFmd/yq9W6Rh zΗ +cSR޹$I*waVLw< B'LG GEQ]OJMOǵb~7c>XJ^4j0CK/K{ACsJio{Gƙ$J/'";>!GgvZ=IJ$M)(p0 r#av"{ +N?y>V/r 7U~dvx^?.{ HtHDjoo&QMIyT| ɟ%c̗]m~y_+6z$@*HH-s-UE ey_BċypZN|z?7wL)gTA?j,Ex_tF)ZE>Otle:{(N]`[E&/*hIlYu¦Ab +F4q[dI2OL}j@jܑj7#7Tn"huI$9 ȬKw2pZL1!Ld/{]##`v84Uݎ I_({ko.++qzxI))BQ8sKZiYn=d% 4 ]{H%fxVqI*QY("-?Qa 2iu=ݏ/qw^/SfA,pA:eY4Ԉ6$8umd#s?ܿeFY-"4(?'.y_opKtzx8~׾֯}ھzhcGu3m* f z Igg2C=F22%CDE&)E %qOE`a|(".hfR<^Vx}<j@6 @V2)h%:|?>/VRJ( \%H>"Ye~}-,2ßʈp B"A"_94҈86eX`g*B'W}B;+ʆꋨ5,hS! LW1T?9PP>A]<0)_뷷=@ Q xYqo}EᅬMuFң°M?~:?~glanzs>YuC0;d?pPi9{zϓp,%+s(E_E3㥻a~o^}/blc lvڵ*suuqGcONBʫW져:djU/ +iK5`ާOr7 û ϰÛ訛UϹNRTȫ(_sgW# Ӈ?<|3wt%X -2IX+ a*{U/DYs^T?Qb ZhxY)PA6{~ߏ*a{~smĮ Z(5OKa2."bqy|8y:n6T8pZ&2ՏV,,X4wwonHez+JɮX`ހ[`TբmL.qsܽݻ(wB,*0ˉ(Vx/L";܇tÝ0nq.G!71ԴȈgRKx eVnm<~s<DuakaI6݀Ɯt0s]ÐR@v#0n,%՘[n&C!,vUi +,jK~jdcvkUoa{{nYME1Y +促(u ^;~<.YȨ4A:CJa?~sw뭨IC٨/Gx/I^'Q-`4ͧ|;;~ ,ú^Ng6z`Ŗ 栓Wȹy(8Mß0|R;T*A=4kfAVYԁ>$wه(eYN?|.܀0 @ +xr] G@ؓuC몐@zw7^rf'R7|rDɸ6i9n>Mp|{mud2K1H-ǂEBmvXC$aCm Www)֞KzI5Xڒt'Zw@` PW#MHӘx<?-f/-:eċ|ر純A(eD59=#ZdK@-jT[2ϻHq'(~6>֓.ϩ63ԞN0_o# F-ΘZIoo׻sGJv8i̝d_C9* +yGOy{wf0º," *;NIN'I*|>Eĥqr?W; Fy@$S.E@*P8 R:`j;B5gӟ.GyFB<JT}xcY}- l> ^><΂9 <ש-M6y(_s\KX׻p>6@5OP7Fv_Ƙ"ֵ\ad9aJ2"j=-u/|S-C8qe!2ip* m >C} a$a8o1V,>Ce75K0 +0!v<.J a}{5\9CgFqI iPhWGA +z2ȬV>MiNu ^ڠ,-2noo~{P;),ҩßJ(NW6褮M`Je +]C!hR|F2;MrKNU ɃCv]]FXb/_f)sJl3U9g#{Ytu\Ǔ +Xpބ1輤o^xk +ěYW?^Y(f +k`i6&&#yDNErXJ}oه+*{Aϑ1?e7rw13Oژ`kG +Fu1G #YK0qnb?vK{.Z_ϵ^<{n(!8&skrΊ8B.yʼr_Czzv׿e9~JIkѫF1ERKb TL!rW~ͷ}7aVp=CN.C픊JJڜ_vhh) |aSX&G=7hlS/i2ՠ"P{dhxŕXA*cKt>xkc;Z<*@YRס‹>ݤMӆT0C]o{ޒ@#uR:.{alhsPK%C+^enVuQeӋ uvq8y:U >``@eSJېNa?}{ow֚$C/`[+Z<^aCbrJͭB _1'IϿ߿ݻa$)zL]q{oCq&)T7u+w%%C-xڙWDGԃt*c~Yp/Bi ( L +AP?xH(f5I+$?O8&0Y K 9JMc,>Ώq=,߾߾ʞdk JWQt 4hrC?"_&L [Wͬ(cޟ} JmȗVi`V%Sx]Dں>vO}>Q8Lz8G>.9שSSΖVrlk3>?@ew#㧧w_Owñ5n9'=3 $-8o`$[Dtso.}ݟvݷo+eĽՇ>Jy+Ul=~&].=RPjv"/1`̿QcJL: +-MXxmB3]ϫaU60w2Ұnwo16XoYv#ZcۆhjЋG0?En4 ^Xc^w{<@'tوDh.I:pa֞$liR%DV`D1nŦķ#^R&Gt^ [A|r"CKśhم&zNZ ]m [zoԣ{|A{vWQʽSGV4-Xc$ QKMHhMg,9NzJcriR\'dȐXܵ\P$ ~qCݞţgy0(RC]e}}ջohe*iYM@Cn60)XJm@`_uo^nn?+{Zun{z "D_Kaak+߿v +aҞk/F%Iw4*0ބbl%Egy\nBE-}N!{jt1:H@5ʭnLcEtыy#ɋ mYvǒrr|UF<4v6ՍDga/x'=.jQc~X k8.| /n>WVM{W~~Iw?-2U&((,p)VU>w$`ӈa1K وTJ}֏8>ޙ**A^.P%w=ۛn3x`gQA66_iiq2nDhR~0k>QpwX3,ŝKwb1)tiِae<#k*s(fщn7Fi4`W'aXuIf.d]2z^yus7w 1Gs dmœՖewCT{1'ڤn+N qn>;G!޽~L,Is ЧY z2CTs-\:tBٺ1*[!fA>W?"Oe#vC{@Jo$8hTl$Pۺ3VQLSŵ!w z j zCڍ^ }0݋\W- +7I~1!\1^ε,(a9׮F8*[[:CZ +C,n>kn#>0w F_ d]n"(Q9v'odʴcMF"9^q僛Gd[q tt2פFbL93&-o;B[I3jjrem kh{+2HZ7E`K 3SݐPՔT!t)g0%fFB]$˲ +:1adv$v nʷN I5E$L +cȺǁ{5Iq7tL2kwC%$L,$ HOI뉛W`GNPN\ǽ IBuR@R!v^eبQ;-8a#BYj4HqfAzW"brWK&Z&X½yuM8$JfMz#-}SW.eأd鬦߻x8 +'B,R˖GtV 5ʎ?v;jl'| N\2W*MdAKI(RD5"crYO9n`j *{y/ᬗN%V1'&mG&QEdZ?y| T#4hrJЄ658NRVSZPqt9!t S'mg_5]B C˷ Y"H^Zr[aw1*`^w.aЮB0%:pؿ:#p\l [V#z_J['R;EDҿ 'ՇT|Ŀ-Ej^7v> C!Np @ﭼ*$>]}]ε8ǖ%7̠S !A8U%BYAltbQr:$yX´,gqA-]_06ZZFFA)"=Gn$2*ZvJM碝ZʤSI9<(8Β%]}?;ؑTCZ*,I=-c2}(y5A)0/92u)qԵuE\naW_xe_,X{6I\5J[ߢ-nPL/ +.tL2ճt@2֛ ! uJ+\\:ڣ,gwAC(s`- + +ңRМwjѨU5(Y n[B "jԏԈZ44AE#޸H*{J!Ii8"_KRnEe AJْ\J1Fdmy1Yd,zϚ&E1҈i+YlHL*KV; og!Ѐ|ܣ~9ˍQ̫  s6 |Zդ@&זt7ßri 4(`^AaK$C-{y}9$fڑL[l<3gTAE]W +b=p=e? L/0&5\"Dd0 6W tl^V12+(sq/i_CڕmŶn;2aYcޱ9cTbZr=#Ě PKwˋѹ+=YKn@X:uo}0/ 'HIH ͽXr@2S`-\7#j 6dK2}IK3%óʺih^ [%o$NDU0nۇk_)qW*KߓC/)б ϐl_B'n/pWE~v^6I~A9lD+~YTsTnw 5e^d+ՏG~&Wx@g|QK=rX+zŻ+sfd*/B3M/tu6g6<~P3JR e/P,<AZ +rΜ 8 5Vu )+ A&1>;jxl4>HTyG-԰J2 oV5j5lAiV2 AD2oiݘQuOG%ƚS$1iIrׯ 2e̐qAnEL5qjy`Q3<1gy93f85lrmuJSH+9Dz$rU Ap‚ \g06}àeڏ44QH̍:hݳ= C#X>,…"mPhq傗4 p:&&m6SʧԅS`R&0!8 Xk90XSgZHִ]6wa eT,Ŗ`'^ņZž$wkq7B#>j zX/:owʩ @G(WPZ6+H6#}SOr}fa:j1S^7l+b4=,8 i1Y;Ť6EYh4 Ьsl>!aL5+тIɀV M5S9ɞ diNXQPq] w0,vr5 +f欓ShNcv) )ͤf?#^Ș-AWf$y2̲:՛dgً{ۣJB|1rMQrA)Pqsb _,]Ɏˢ$;й])?2h +,!fy0hRd4=pQt8 YqkNȼdz$91{!M:J@&H0/dB +6rD5^I9hX/afȂlaiCL4D2ak8se㩋Ʊ$0pbbRd0lm;&%i-XWBBGgNpHC>Eχaa$ecBez+o55Qbha|}gZs9 }Woᕸ*^ctJYX{//E--6E2!(j yHًnXђ8Bfs`Fjgua(6N^*֟NLuA2ͻ:ո8yC*EڄH 3Z򄣦5ɟ`s":뗪ySJg[d&!ZDS.\(rAtM@| #Q%7Pkj=06plT{ָ5)=U= 0 :Nr/Qh&Հ{7{t|&<ȋ['.lM zH>bR`#REeAҩXid g Flz[*^ƫwNub #8#;>]b.{}O! +j\{#٭>Yh;unhڐ,rS%(l/3]'s jf nEeZ+8,E.S,(VoQ*>"׀Uv/4DqWiTGpLSN>sqrEB|HRՃȏWO'S]F-]$\(5: PS`jfp[hZ%{`GPZ]bi焙m,hI}hYre/Gr<_y^^&@4PKVܓ(N#(S׏+) +,P"K|ڇh{tdaQUa\$D-Ta5(ms/p*'b*dV!·rF/cW?.M0Ug7,ʼf 62MZd 0iHAV tX1]hKiqE3eii#  D`$#>RgݓR:m(yUwoo.wDu y/İP !O*ʏM= 01D +P $‰]! +[Y$ȼ%a:BGv#jq"1w+?b)MZ?( +pf+X7&%Xɍ0 6cb.Nv׸k}kcLi_oU$SھaFsLxԜ*$]j8Ys.ث>YeGr%,DmJ蜅{0э\kP"B`#?L=*.v)4˜8sD;uyzR62~N&Z|#"=A4>tB?yYāȻcJ7%AjN)#6^Dz CzĪ*RW+܌+|{ԡ>RYRVK47*ĝ93t3(y2C( kFvhX Ee8dP3ZC,Zqtf-A^q(0:Q\1*% 1:P IV'9! + :φX# Į1(8Hi%nLBpLK +жPӭk 8dLvQo  +vƯhE,i#IҊ, \W<IEچY)6$c>0C +Qu/S]D%[1%&vg1cʨBK̥bAoIxꞕ/%nTiL#ՊYnȖSYQdg %?n(JOSFI-ŌF=&9I 3!W38π/ޗO\Q̗ޗAĸf P(47^6(oTʽTu˪-Kix@GFO:#!ȴ,3)y7X8}Xbg(Ǔ׷3U5GCz.qx"{J,{ +SkõʲONyCs )3:Rg،AEl,-9,EРJBEݱڏE?/GV/j$]AA( /Z' +T)k hLCU{1iŲw3!A g4)5fKe4ͧi>G+W2OdA)(7Ijs37SBY>?Nwrsf"(L ,+r5 +Ss4UAڽD&tئ  VܭronN}N2?APXC"ynsyqu+ F\ Wj0.ɽx]P JtVigͯKҡ)Rݕ$7"bck ܀H)8[Z bÙg^4 }[jd;n=psﴸȐmJWyTIs3^1#j)oi 0=;z9W;^G`XtM&/hY0z3EGBn 7B 쏄 :k* p֨|FYy-`~Ud +fY +" wH Vnj^<-,1͑ _y5/YJaggٶl֙Zᙨ6(/.z@3˷t}aMI!_yKR?EɲS>\eg`HWH lvAʧe\\ ~'mlp#?ΜJ <@Azi;XFK 9t",)YCE +7t(x dM7v,\a#:WOz**5,ԏG[t^n =iA0Vo$g 1%Y{VDѽЛ"΢!CL(~lM +gfT%Z-(\oye34̣J՘Ui2{$[m5H|)v2[aZAtg` s.]1t _.+U$A8Dn7`hG[kKw2CDqG5:lSYr* f;[x4ػ^ +SK7QRZb֌WO6"ʩ,V =O na@*$$ۄRU{BS`3Vpe9xduS-{0g :hQRi^xoԂR=\CwVjasNѨp4 +I:0Ϫ OPHԀl*Yh頧(]R-̬E~RΦ)0rHh}v摳{T-@Z7EiٶK̈ꂝmM7mlVfxQU( &~A+h tS啵L*#0,K\r!p!X,N̨бfu-ȹ~6;Z$]"+-r^[&LR +oQ6]v#S.GJTX?}$C^GՃF5)ꩬe%*B%\tb4ICf͐C¢&UN&/\2N;< +[6BCW5Dub)g Yyݿ4{V5y}/oĆjC#}c{Fͣ9TC\Ԋ2"[q*zk=3m>ɴ:9 y*Dz1'2x+*P@Iڶ!`R#P^![)rܴYgcnSj@,M`-uUVr_j-9jaڸ>s*G_)WlEAR +>4/fߣakO* R:GzKM׹Ȭ׈r&IMcXhi@̫75k:q7f$&J_'~.O +OY O_dXiud/p{A#b貸[q kq#'uoU*f91$ 6EY~Iq +z X3S=ANjvm^0G,C/HzO\4]Xa{eA*Do-~Nݮ.6XbN_'4j+5`\?}?27wq!9s?5l/\?U?{_N9F`kjCA!`}!`)'T_or):%NsGȞeB#TÁQtYmܥH|Cav0V|H'/Ԫr>4>)1$!ˆeNVՕ?h}QMmzP"D _{Npu8s{^!,Ϝ1S dN8̖l`)!jC|Թ뗰n7\=ǭD{d&[=ހjm}.N;3yc CHq%hNqʠ1 (0E:ڲ6YFQA4Yo0)RJ[pN\K͖Y]o QCYP# t6SQX~߫ڤ&;j#@&~vq('q1`Ujlh)@1 |Bo @W!!kߙE)j/R/zEneD{jʡX/`GH3* +#/EጉLHxvq#;? +7! +,*kb]xbSFZ4ajTkԞ DPvLj9JL%m+/D*<*p')WkGM!.13nnj.Ze3 &dn#]8Cn)M emBbL% t;Sp- 1G3m0 3r+n/ȑ`CX1ꩮODj%,6䳒yI3vǼ<4wAy9k8p4a y?Мc,btWl"轡%eSߓaNZW9=WzY ]XShcWwWɜ:TSo:ͤ͂X;eKzxɸP +}Q#gL2Cd\k`4:Mae4DuE O1=̑?ZuaMԣ0W4)Z5OO@ iSi_M:)TM60J]DLGkk&I4zj[{HdZu[T6!XKBe8O V3c3iқ*ÔՑ9~ i0Ʃʈ郟kz׃ 2Ly< +& )ڞؾ|05sj_)mY BEGV_37UHv(J8ǡGXZ FOGBxdTX CZ}. tg>q- 4( zE×.0w +cOCzS%Tw#i>8)QQ|*.0`Pقë"D#f7j'ʅn{I6EM +E/0%O\0)ӓcqU/1`.yj^d|X[_\v'Eն~@d$^J!G1.I=)>{G׿?-R$_pgF*. "j:|iJHWp3AJ)pK*"5C. bO2j .Zu4Qf1 [Ц]b\UߌIJn xYhFv;yBycg(٧,' Qv$͑Kg޲N|#xCܑɃoS!,ņ,dTrƜ:iŌvBڢ ,a6>t a"L(_3 gt.ys&i.w'JP.̫܇̻$=rƹxjFaNK6^3F0͸sq7zڒA>_ ?HQjKA?QgGk9>~͎kF7f0hX̜K)TRBߦ|ZTpÌpAԵAMC ~fKYxF$Z9د柆>\}}*E+r0[yj<]f eܸ} &^a_я#I#h[B39^շb0>xK^o:IA6y]kXΉL1Js4or^Xҹ?V52v5eD+Pi;` !;I: sp 23#b见&@o]f`dGTYL%;PfYCWE!O؊rVثu:`.T&q//[u5]rȍ} +&1U[@( JL6q/*kD֛{غ:DT7$?^CԙEP&48";U)l! lt1FRm'R@B) +X~;=?m{ QG9G[_!Ө3K(nlȖY_ +8PVD8FG-r^ܯ%%VY-l~vނLEulAw-/mvŃW&Ƥ&I8IS=*{IC<܊G:.Q_ܠ"aR9Ʃַu:Z$`] ap'*]DkGAsX|fP:-ղe鴔cRBLM\2DnhQI 5\BrB:ŧm)6's lOjCeomb^ԩ֎{׊.eKƺz`_ݡDv7pTbL<ɴE!9C`Yjܧmg:m;3T( 6[eK3+di +n!>Jޘ9 G >Q';'j-WZ12T1ei_qW%W+)Tt)"LNRd+aOWbjeGslsXcLŦW ͵xM~K :nƟ, .*e#w8#6L6,٦7^)|! ,]ǽIG9xB͢~/نte&^7n6(ɮSXc䝆\lMZW(")".8I Kf^-xP=,K`d~QyzJϒj=/rQ.nM%ksT QDkf; +^^U3,Nk2g(G DB$jɨf%$;NQ#kFEl…Kx\a%?co99 6E{ݮ~Q} >{|BPS&.2E(sӎR'ƒy!*;.V5١Ξ>T\-X lddUH'n*ָD +\6k0~ߺ(^/ruFm +6TXD\Q +t#=5æu_OP +62i K85hH-yQ-co4KJ_[:dOm%e3IgG'Ah\b# h\YGji0Û=2SX<Ϫnr|V) fI'kTbm]!Zwݼyפ'|쟄~sr',Yh +t/Zdux1p;6׈`@2cZsz9ܙpYGꦒVjj$n?rVeXnςZ3=6tHϱB +?!qMgV:mq=H;_ ʲЃTS%^,S"7fm,-yj2h xxaY8gܮ-ACp9j餞z'?Fm/\!E=)72^e4 izO^5f([@VuɝYpxð:U^4D/#__hӚ(6\hfr3Kٰtyz\/"ˠJ0$p~hvOf4G-KD>Ā8fyh:M/V#)*(Ulpe C /*2MYBhPSPֹ׺-ϰyY`E>*V(#]YSH䨞[ 0GwV&Hi;ԭ\rvTQA]0- +Us b68= +3HLKI/0st]8ud_^o83lfIJ}cKMQtH3S`9L:%H&i@יu2-B0x-KjDm!n@̚B59ǜ[ec7V\6Ot'_1}ua_O/c'lx/S7b2]lEݘW;YE&ra&^!vX* 'tBQFZ'`skIVkMctHyR] Gzn5a Qr}0hm}3* +#V:|"f1"4 w3aB )rRɰ[z{3gar-Y[no05^E\jۑŗmvT|zI?dРN1M=O-bX"'i$KhLn %71ɯ&!ar_bJVX6a:?[P(06u:\Pds~0?r>8WoaGlZpocҳo)K'S h_ڢX/9i>fjjH7 C[;Ou7_U ;nfQЬmm4@[7e_nJYElIWՐ+݀Uհ +)k;k&4*ӺGd)T!0{:^51/P_BP- + E.-KGJG@PvUE9<4P>5)HT}mpT=eV5X}&'[jnoiHzFͅASҢ*4wHGm d`]ÔIa4>.WznUsnB!uG$M\?*I n.γf0UJdFuLKXErl} H39zEMdE;f#?4cq[ G1k'.z"#ի*;oYΐiαYDVt5W[_3cF%e+ +WD/cpG2q/]t}#T+ [IQX5Y &&]ǁiI+V%bsͷ{p,zVkiWT*χ'cZaI4>ed#d9S)/1dzOq^F0&:Jҍ䭱BnEzL631ޕ Hd f`WEB]'IFT!yHtA5l84960Tqe}ѕT^t}uoX&>2 /,0V^/04Ǚ˗p#BL܊G?uxmT4ڠ?uZ+Ѹ;끕MiTw/sW@ +ruS +iUa'n +tA!mB`/ң\fܚ /h!AEVPn^Ӌd03XʓiN|OSuȝa9lAoj>6NtwLl^dmS,H2l{20BԚMՒC57tMNVuo%g]rbrR".HOKc-fA>}.)b,b6 Z2$DV؂kW k[l ZL$Vt Nѥh,D`͞V1f/6nSnY4,Vu"us'׊R14&nER? `B溧~;)hy4Vb^]k Tl/9[["eϕ?z"Q5H̬TuYʸ!RIZMNzxh iDJ={+q=&Wej>yφ-3<ג}OٚbeJr%;6~zBV45M"-=`6bΖQZ%ԝX?V~3C?Q*_G_ B%9 'l4j^mb&lnwuua"Z_G*$bD ٨ewpSXک4{#+9X->#ӌ=bIhMH,ǚ:ʜ8L;2@/if,->vu[r)} + NvrV^1L7zF[81$I'nJYk&0_xLN֔,~E,ǤMA1mA֛ougϩ+ =` `͎i#LjC2Svt`x_uz # B*<>CHjۉQx1kk-7Rƕ>)`[ +r>Q b{:5zbsic(YS +%KkM⎆1s1<iUDҴmHJ1!SM85 85fxfW:x5c-z%A,3 z.;lViJɑ?%YSQPMe 1WBj*dcY؊΢jpkgP40jxN=54ʼnD-CtRe>c{g29C1Ac:H7~'8@G mRr`sWCv+U_ԅ +%Ez!=*v"F Bt=mf˗r27\ꝴʧLrBs(h9czBl&L> 2:Gc +zK8V'zYe*|UK +tl.LWj$7! +q,^Ґ~րAz1|}JEV^mց jGZt)a't\oO X+X݃4a&+xIQr %۩ {R]E7gٍiH&vƂWb9Oea~6{1t2Kq4ɲ?Q)S.LBM;-8I_Adͱ$ٕoV[&51̤o2ߗ>̆2fWwoÖsuُE~.gq©ߐO-I8ʲ epO=G ԴcUd;S:_eJ9W +RNLn4{+wgn>Mwܤ@V|P?եZ6єZ?'[w'" +A^=Jw;'ǃ{*mR{XRgxN(3$y`%͏)Zg̻* H:H{Rir.RwCy#gDǂHʧpZ \ f3<~ P 7B?SX&gs E`uh/WGuj!ea4Eid0D]kR*j͵4DձmcOX-uC*|(\Y%gwKHREgM6ډ>e@<4Wa!aC$AJL%҂ % t&]85r +޼ܭSr ai0՚_&5qnul ȌF}YFw.4$uOD䂗҉" x8fj2# ЗD9Ѭ65A>AP6P`x;%RsyXRvvGSRH(k9.\!WAy J-ۤfc~[Tg5fPENzӰȚէGK7V4\5Vڦ?hIWJ(k4-[|+_KL)w>ݲ*: K(x嗏}1g8oҲc LK>svOb +q=\9b1J.WؤuYx%\uDX{ +"%@U%(F8Dx(+*^eg9v04$xbgCdQArX])EM{ +s&ԡtKǡb#Mf$c֪@]8l(sa +;0A)2wڧ`vS<$Wg>CgVw|2Y +!C-G TtNJ|WA/'Q +) 4\19Wp]\e|-?[S:'x֝c3G#okr0GeL- g{#ULkͧ xv*a.iP@YQjϦNZ$Ȧ'ZUsU"b :OdҎVmeqHՅ[pC0J  +5XL'3C& +=Rlh}JJ%&r]FSxRhF(DnΌH4J 9S\aF礇yB7M0ݬDxs<q︶}u0 +,CV<$*`TcгǕ m$byԵ<` ?6_0TayrHmvT1;n4 +B1]JB4ˬ/bi `J o10<'>9s*"ؘ,)̮ZY{2mb+JޡVp7Xc9uhѐNF]ZI;pI̙]EGY*m < ٘?;qnVN:KwsfOBkZPtJ_v/7%_R@" ٓs@R|c eznݰ$ihr籐0R9 V;>R f}?{Tt#$N=OD %k1)6Ndi YKҢہnY平pbJ-{vZQeFnlҤ#e1瓕^E+)ZHwFQTٚZtt=On=|ye%ܸoKKl[ ?*0KgW e7F8 #dfAqF̰\:0KAoWk^,<@ASeԔ+&UvEz|f !g%z($E\姎wJj(Ql0V^׬m +MQzsқ9[JB- |huQ*F3&O@$Bxn !BByի#/J[w{o]@OGܰCH vme$-#Aa~{ufωy/LOɬ)QT(k:٥ayUcSk|}Vf,G34 2K$…ȕ!])k( w"01+O1-,g8joV%j|* ]𩔨i;./Λwu+z^L}D i'.u[0iFIG^K*W~.G炳t?FWseN|^s|xh::]DOsuv*9Jn2ǹdʢqdJY(( +RW$D$ARJЄ*NaQ rě eËǘWQJ0zKf9B/΄(MxBQK(E,*]:cOVt0Nܒ,ؒz\SKI]8H^=m#i"Ĩ<8fu(Qb";&)۳k}gBTm&\UbҧEH6~8E7+;^e_k֭ӏЌr@iVzXI4)҂2U%{_%&uJ2UjjRX!悆r E؟V"=E'f\qI=d833VfǝW`l;,:VL7:?~>HZrϙ;y% ⪨=i5%(dg>i A$gGHޏv)}q>)WuEJ>9q$ξvZ1іgT`+T&)K#%R,iVT2E"n4iifgMu6j jWl[S艣SVZQ|;Ɠb%x"#FH3NP0D}?0a;oBAu,[KV6?ӉY@G~7 PT4 B֗7rV_41j(D1T>A7єH0$IMVLafoOuOn0ՁΪԹMs~hǗHASP{^pSO=W٥{=l;癯4и|ĪyBsT +F;Kv4%e]mFG!ebGt +\e HPtwKGmə6MV6K7 ;ef|W^1'*)E^֎leڢX {GW_fLj(p +}իp⟙5y ,2xyY+DMԥ;/MC9X2ܥPRO_֘ +'T +:]' ݜt&\ uh(POŏܣV%'[yx1C*GK+`tM16I;=mmN%3uc0lf CP*TcW",i5lUO*#1 2sU4pij(E<"Kaw;T+خxL9D!# _-\GC90޵WE$aW#B"mq0nxbl eZ5牷)G~*@ĨHQ` +ٜWVz2JY5w^ JF,nʿWr~K I^y\Rz N`JFHf=|Ĕm{rumwSI:M0nW¸Ų +g “{{ O 2 +98ӯE*Ű njJYYMHНXG: bBi +?TN.&VuXR F"Ң9~E3.?,spVX]$)+Z>M&ҙK2!ÊsرN·Ĥ$L7d\/)Y)星kEyD Ln~ۆ]dLck[TX~SS6nVg]p^` ff+%gyiԮ)%'[߾fEC0,fn"kDk̋QFKicdDžXm +#4>T֭ >ܺ,S4WqtT>U[nF.H1uh"Y%;c3̧gun +vkLjU^'{7Dɇ}V9+f` A ^UqjAÕɣG x9DžO.4P %|o9ѕN9>(۩hm%F]%(H'w 6(#I~E75udXAzRtdmH ѥ %٦,|ov}MNT0W%M̪n??|R4jIY_N?w |q@7UJ ^MJ!ObH;]Q$C+6ȢuA?R/ +#FODjGj*`3b􋍻#eg2UK817t[0_k6IΞ?v]Wԉ6U 礦s[qKӮ%;q)_-Hٻ*x,<]ǂu2˺uvS|R\HԖSh}=(97m&>4DCG[Mzks3%%DeHbfG +r:ź߷8V\hNdFɇڙ39ipJA!sS,y62Bä +)^G:Hԏ$IKP8"NO6;;~A1'R=Ia}Lm=T% +)l ;/޿#)奏VM^tǜVAE +R$%HCulRyZ 9Bm:Q ̺ +&)g[ aʌ=  @g+B+ s<KpqO f2"eօWg;NYmtR墲 "Bh =8h]8)ߣ_D%cLk.ak@<Wϵ߼Jf<8)j Šb7DNƂ + k[\IԈN97w|mQ!`\ ޥg(c`W6Do}b !Ћ'k::JۚO iFҴw*HhKˑ⫭ϧҥ8Io\>ҙBӸ`T KsJV+-hA4铉LVyw\҅`Wk&Y%ʳ)9쒶QC%()nh:~j@:N@hlvf4m_.u\ΔK'`TŸ:ZŮ܃Z=Q?{Qh H a2jbk-F9NGXkL=4i&2_FRZڭnd'^pJ{忝r󬎟]>?l!j46;G=3,Ib08h]8f܁!7tɽL0wM#PcF(B^Ej VbܥkZbuT8憍z6$>e֮]#]fdf.]B Ri6O8P,=(0\ɏ?(hi,ucjHgZHuQɀR]55I2*1U(O-dJ);(, ʙ%gR?'+hm-uL*h+GU@|R6d;Ȋ4T<=b?^%dI@ j>$>H IәR1j1G:S uJ^>UíH9kȽ8I3Q$Ҝv(˩kOg}qE~d MG|IrĞNXւʫJj_,e)r;S[H: +@08QRN&b&+j_Sƞ(hQ4qG9O8(5Y MFs,gE4q.h}K4}ô"vtBawc,mf'êF O^Ѷysˇ)ˌ  GyJ1N98S U +ؠi3XU t "D(=[xxm 6'4Е'x>fHTTtJbPD rL'݆NvTu`#3._p̭ShG9ToSM}RS :Q6ltQ'd%ĚX?+(*`YF_Z=Gz)X6 ޺GUȊ`)Yd:%wX@mxY9H+v[[u\C eu3"^$ +]BKvY5qOw3~`bgS :azp +.ͧ@ <mW4jʴ0 +ü\ܣ\ЊIsa3d ڙN\eV?09f@~#*^9ZOo32d +uxRΦΘ79]db8N9ZFH(D[OMZk\A-<#[M tU@?E3mZyHˉAڜh0B)X]'/9g.fQ0P dJm_M4 4ϳ|U[o|/nN]+>î~p@4%:MLU"KW6DOtF|L̪ ʅuDU-7jn#&e(gW?;}af_5(vۑ <`A<U~d/,ĀV#pV!%rȀHtP [jD01G%2|6Mɒ'i=: L},kAk enE;8}  W!VXC$ J *$H()KZ/AN;a"Ui蛅Dl2w]G=C@y#H1ؤ +9Mp=`C,Ϳ%L1FV$E7n@{gUV;(1ؔiZhƕ(k*l(Psh*KH(s>Ɯ>R͐eNKkX'W+֭@ H+ NJ ~2_S(Ub뱵s .?}SR9/FBq+LoG#ԂTCIpmsV5E sa,cxQG-W(6 DZԠ3"R+8e2vҎg"B0 z4~ީ򮍝-bsO>\ g'5HTq8t7WFfT]JDA(uVw"Oyg1_wݑҼRE|6hY% +Zh5!D7 cTi*btA f̋u `*ݗ]F;bgbȒҬ?Gu""ӕ&?˃\n,WV=5y")Z)K +2[o P p|6/ޓ +,g#u7+u咕"*AUy)y|jڡ^ɑ9\tV[65=1JB[ |&ˍQRXPK~/;[T`Qni=#EC5Og`pN 5;}aSVxY6N:5F>f_g}Ҕϼs\ 0sZhMIlPA>.o.[HH?X:Z4*i@ݔh ؕ +PIuИ)+Bi<{9GP%gSTgtOI vCd[x|$M`R;{f,,~_mA 0ƤC&-5. 9V+M՘y(Vĥ#DGT=eՅI囒߈-`}CBغ~W{R_QҤtk$ +%] D{<9qͪ'($b<0Ie/•1q`-=P(.n*8s7YgaiΑ(S1nT +(3=8ƒ`n? \$ + х]_E+*tz hA+ +/  E|4B&Ӷ,sV8AēB̄`M'#\A+V3k8mB.my?SySxVr>li>uZyimy\Oʱgb|9l*ԐU.\\kH|Bb$:ySFP`5O|>cyV{(K,'Ȯ\Zj עzIm4.X2}0/tnBզ 6jy-qN'EXI/=?`S*pr9BI7ՊsVYTTIge;4AG|Cґpo*rlFBozIKtA +C4@0Ew3 EhF7 eg|Ϩ¿вj:ZNx(C{/kgjsmVӉtZM7E*V7A5qFcWiNmOhj"kVȖqN9-ڳ{egdK7z6ceoDX̯J0ۥ'@;1dԲ2.;X<`pE֋<2NѺU¹M꤃ۊ%8+cK0D'p@4(-we3,҉ +"gÞXHP gQsCv5툕P/_[UƨiM,ڛ%b9FaNXS}8q +&>qD sշFhĹ DXi3&AYܸl5gJzgE/ZTTB1֡PW~5jV}wk9V׎lhT|GL^JUƆzmաE$),1;$PJRg>ဥVAE!y'J̍ +?pׅa1Mݟ +_QSƑ--ٙX4Ǟ={=YFl$NJKmy^6qYnÌ_ܗ5vN d'^oB^d)5,SixV;C}\2stK PLMAJF ,6P"dJ j:"q% ̸}S&E!ͫ},?h‡fLBt:8DNɑu&rg}y_pÒuN9t7JgsX]*fF}hr7込>HЭO|xOS ^\z._V3h5\͑2!ktje͟r-'i%M5A^ Ĝɤ|.sDD7&ٽsQ /}X~@?+$8L-4G +N?{PJ2_Xco? ˙;$pޅk}&P% -'rgP*} 5.@Dc+x:NOPλ-a"(v{WvrA!m_ZmA)GW@gAIGqnU 鳪&z ڞTj>a̿L{ 2);d7E7xx{?xuH ?RŃ^ +f^AvExy:S!λ<~凛wÇϹ/TU kOvr >)"Ruƍ{7~R]? =%;p+ K߻r#wݏ~^~ 0Jn7 (ْNj0g]իyC=@v`<ݘon?K..aV 4)fl!R ] xun;|8ˆ!&#k2c))R#23p {*gWpz㇝ͥ XXt̕q#[J2*Q0cn߿w͋.%5/+"iK6#q:Otu1g5~$\cw1lݝ+E/d*uezڌSv?)p?5Ƞ8M>c_HUMk^rwnY]_vs^}6Jj+TX;j|f$468 _~Cű:E120ZbI(0i(x q)"-D0鍊}ӶK}ᖍ*<2rY=îCZ 9*U>~< ;ċ@m G@;dIDdR *b%'Tq?;۔J eA ))/3KE!#XU˔$^f}J)=\K⮒VBOksd=̩s0 G79_Ѥ !`T{y(bvQ_uC`|o%-rU979,Fvq4,ً'mVA>N5eOK`#ޥQc*|r~Z7xD*V_YZPxk\э8.r"fv)FGhѩs])xCdz-.Ӱ˅9 bFlȗJ)Tx(ѻy{ߺC4d:}WhyQ Υfʑr CY%7{}CLhk6E#~~Az6%u͍ :U(EO7x3Ao.'5B%{GX9Y \ڧeN,;ǟn>? фNq vȲ&|(bo,qz_P~$`<'LHijҘT :ф'd Axއ1EvPG˭(9pqD7L/kߙ+*֊TGкo{A~)3 y/2l+q(B?D4~f;D܅wc_ާI[%1ҚR{19~] M0Fhk)jxs_yij/adY Si"#ZO7S뀲n??ߖe%HD(XETViVI75)1<ُ~_Vn(d|ow5?~},K0q(gZ)Nu +б+[Z#Fӕ,~;.L/y ɦ,dK2^}ʱAcsm` 69~Gons?FVa7 =r`sSWq*1EUfڻ_*W_v6ϾA--Q6/~w,[Y|?}eMGzș1k*y0%4ܰ)0~ǻXrL;_ɐ 2}ȣE-7^mwaϿ{/~3͜gf2 Ҫ%$Ձg2Ҵ`/$F4MxuxƲnZ{R$<ɨ3Wm(P)6S~~wO/~>f( K0մOԼ/|Je9^x?:|K|/щ$&4O  hRR>~7FՙT$z f]ÜPM*F5Z$|yr{!Xpi,hQްcݦ?-uv|v<(#F{$CZ8j1+*K<áqFxX#Q9d.q4yuc4altjxXrlߕSi_߼㝴)@Z[lA5S%Bב̋~~&=#.`>UqcG8r9 Yl-Rdl8Jǟn}tn&y+o5]!跌d}܌{U1{ɫs0$~r Wl 29]Z&'#!06)+ЄGSlmROU Dz~Cnݮ|_o~fԻR,zeW&S̷ @̨}rbbs ɤflfS[T3sm"-XP1MtFj ($#͚I<[lOS.SzLAjiqcI@f F蟠JӢnr3˛\#;v绒 9ތa|}/GUGXbVh,aʊy0A cI&?;~xM(]{t3Xm $VD_u"ݹw/q>=qb?Y[#(E-Or|י0%1k/XH^{ʎ4_&IJxTT0ҎOG5{XKuqQ*to>x?#_0<+sP(,F@l*XȆoeߡ4JnLvE"Bߜfs8e'wwwdp)d2!Cj>PGXشļkB{ȩL~g#A{O8K)M +ձUQb=>8(TnKazȒ?B.K[1Bpfo%//̶y>\9qkE}w&Ī، Ur#‡ѿ|i_ybA3i~?ܾ(QR*4G<7meg&y6-TD %o߾t~(SyP:/ LHQD361Z,x1 +ڻpݗ%ϐMxR=ԙyz4Y1Õ" +IA٨/y2XB3v;wN]cA(UaJ<+bꈍ)"뫿'X!5Lm}:Q3(жdqRIDBUTStS3s0H͎Ow=F0A@jfWv$b|^o@(105By8KS?Ճц<%OwI,͗W!OD~4psג0V(E'>zZ'W, s|YS(v7ϯ~;45o'aT#TF,H|7~44l65@7Ӽ"ƿg,!3Gvj0 8[Kx;x;C&N:w +Ͳbpx&v0ǛpznC Rlres+?&gmkNtP`+\676}x9ԟێ$~:|9x*ldqBkL87Nl!+CKM͗_xn"[[.H>=+} ++FsKcWW/viyLͧqʳR3YI N)G&Y^IعDM 0! I[gE/0yѮQNȑ-lոTϸp|߇a;\xftl<$1ql  vؘ}WOW_W ݉yQ|&PQ\|??^~u7ߖs4@:5i9Y, YN0_{ї }˾$EÒ@*TedL:% r]cGPNC/_z//,wrk +]s0F݉yӉ$o-qg$_۫|m6$ZƩjPrr}.~o^}8{g1kZ$'mB4S ڐ 6#`i _;"?T@=i0/mj4"*[X9PRï< $rέvqٝ(ӻC8~{ǒ ]Ilaa lE"+M;̋fFmI=H$Xvvx>6dCt<`k9ϣT %GCgHvp 5 }sׯ_\.@OSk܈WWmICRF6b[7_P61`B!D)8&%yHU*: (r+XjWۯޙ~hx;ol_ LU]Ɓ $u|}5m‡#/.WՆ/^=u9!؈wXj񪐯`VEv֣tn裛^ lߔ1)sO]gR7mp2 +{p̀ +%D߅7W_pp.rpf`lTpIPwP3(QLĄ#ra+|bmmn7dBPZwF*@I,Vr])F^|DhD@yA|܎SOIIiTdV98M~CWN96]?a+R9_OY<x)1rعᧁ;5]+Mo*&ڕSe/^}f}rFFC'* +0 G,ekHM$`b)Nѿ]. +dj |WKLך+}ߨcKw;$%HWn(|"ߪ"XOB9GY.py/QmGe@Q ;a$r`gE%xS56Ҵ}INtάu4~@.dIߐo(aU[`2DO\ /}397tbv]U3ZK +%qV4Ѷ@Vk$JR-c5aWj֒;ǁؒKԱ+M2~&P\`&Þ(ϕp˗Pb߰4F"6X$FRΨvv`kfI\_"qvW].6MAt\WwLfPP/Т(x1`[ys' +26ֲ%.؂v۹~(Té\`sSD +̞LI>Υ\ˍ۫49KD8CopT|w`ٔ-X>9̝ 6;POQL6l$þ+ءsg\j+(*k[L?5vfAu/% t4- +afW_OPt2JEkkyWqLi>j~cz&uKQ+Dіu3fzŮF(B.X9c `Vcr#'z(KAq扫W>SLyv $OE595n*c&G .ыu$$X/ָVgA͉q +a֬[ÿ8XTɘYDslK.<ο}[9 pLXtNT}6TK=):qoq`(]C-Box?"N$4ZuU;*`UU77JjUjH>C݊qf{^m 2af9 IT}ZRN&n&DM]UX#L(EEJa :<$!y4kY T\}qx\-WBJS*τVk'[8XQT LdIs}Ty[qD0t"t@aKI+gLd4}IUt B @ىJvIE7|"›c1 ԾF9@~"=iOji 8W +zpzZu3g$6+8R8c)S7f' 7PCju`4:%/h[ T}9$JDJf+{ +x^$d(ґ;[Ɋ -Lgē*NZ^ե1k]0c`"1:?)#=saS{6@\EuQ9ތ|4^$:U:'Gtfv楑*[L +Ȩ~O^͠lK.%1$I1HCv;0KSl%mi w}3)bfmvl ҽA=O>"|[ +U'm<. }^),sO2-e~v!L3IUC23Eg*3"ޕ#>G +\σAћw?.zIl;&/ĜMt\v}YNduZ8SdZ Zq!|k +6*ڔKP +w _?GypmV֐ٟ`gTͨJߦv!E n3EJu0.T+l們ZwҀ,rl#rfj{Mz!3s1ZK(cp"5r"SS.)gi w\s]^ȥ7@\ +27(d5ź4=]H[dXVc(_Lv"u#(f؈M"[\@8 +XJFǘq:܎n\zЪzhF?lRÆ+ 0c +|b49j3J$Ǐ&+B6cҘOIS!IDfyD;r&7XÉ2EڶFqN+lΈ}% cy8FmpU$\hԶXe`߲Id*`ڐ' qs!o1#^'l +Jlpz·:E

2]MXrP927L " 5SqZUv.8lE cZNk3CKe=ؕI@ȝԧT +P +LXqϦr0t v\oxItt7ai d.uϙUb@}Rʃ.ٰ3y=D +rG񯥣mRRڄ—OH&2ϊ[l ,lHPU_4ZrVZ\L{Z,b96/:ΧWWd mv1{0Iq^YM҅%fI2v٧C) WR#`-Xsba#)Y|}V6$9W(rYCGk%94e +n82h +ZJ +eJfNRx&7%TQ0S~Ku+tlTAwAnbbF"^q$+u2tA&%O8*I%}]v!M( c+ +A$Q \I@-f!d[33?ѷ)c6!вl%Dt<4^ v9x3~ldE[ulx\L%D3+bN^vL <[*ّkqgH)X/#a 9^XTz⊪ ̃ZvnR_NKT*}Bʲ~יrۙjIڐ!O/3IƭJئ9Рd#GV ]U !f&1;S]AD+M 9&t@XuLjULU&sYOjj\++F+)n±V0][+m&I K?i֘ Z4tP`N iL/+a#xN{#$%6S-KEm>-gvYbVv˹ea-gN{-M}S[S޹xF1/O?1m܊~i\ӢʓUbHd ၻDδPHږ-|ԗHC#S(?&~U۫ iP=dH6%4ZXI)iPH,tRC[cTn54JeG"$=萪<\_7 x1$d xIx"C*Eݰnk5GOR|{kLmi%öwR\V%ⳋY7:ьm2[F`) :G]2 1PG]7hX `n8&lO()"S9(Yj•,dP!d,A=6KP?poӊ*'q|E0{,]IajNqwd֝Wݔ,r q]=ܗV{w#I!#>4Ex(+%urͶf+ؿ67jt'm;"^Gyf?X fjgn|`2,M>B9` qCcHffv.oZ&LHSj+ķx>"1z}f($ ?Rs9LRgcm[Aa*[Ovn0kaxH3<^e$;p*T|daG(9\[3I-Ez؟`a>KH57k؜mH~v&^6h\ZS(xY;^v ?P4Cz~U*"0[T"4OJ$_$ԼQfu!MPك^rzw,f|4 ̠0[~Վβ8Phl()t dq/ZYwt]!dZ[2 PòdQZ͜XîWSjbQGVbT@8+\RGsq37%~8KAL|g xTؤ%{Rv24di(A-%#TBʗ)qw:<bf0[0ϰOMM/Nb_SN'y,#xW9tց'{>^S!fB9Am D\wufʰCVM2SћFH.nhE7~r>E0*иhZHZuɑB+aZMZ.E%Q&")$#1k!_H ْ*YrdStOP1w7Z\2q:f>R|b{b:rig^A2]=^6eؚջVuPtV`ǞHOs^P +F0#kOaXvʁ rWa"¿QܟUaO>L!(CDa4_AyVP)y ?Urgd'hOa8A_=h2m1rՍB*;H-*JJE+& hx$Zk o#<fzC/ͽ +\@2u:k σ / 1s8Q|Lw& ѡFd'/8%4mU ǚ?t7؇x^0䨡tC% (CX!@ h ~eG/ 4 4 +ҼcwLk*u^L, ++͂az#(Oj͒y*pכ41l)1SO1Y - +|CvWi$yp&AJk FZ3R8=98: dՇ';;ʥgF\zIeM.&tyuY(L(RveyBDFә:l%y#'tB8T gmX4NpR'jv˼1"6?VL}"4>XbHN&GOL*> Z8]3g>لOMPHjJQٻW#>8͛BuR͙N_sTà 79 Ye~bѮ@LƯCMUmOC{\v^6\Dg z0]HL1;lvʩ)*+LթnGtCXSe걶9M^wЦ`a7"l1uq\&X9ϸ|:I]{6 +e2Ii>*B{eWf;vէrSh1oȜ9xk=F<wO8F\wi͎($p)6zɩtNn=XfL%f'Nf{"3rV1UHNل0,q :#lMĵ UhGKGXXvqU|Љ.`8E̕>18X$~Qpdg!U)c J< L1,bD,Y!;--켶= +XR/r0ʟVח!:@E+zbgaw|7*_D!c&9ϷyrsXc0dja KS v[ +?e?vX 9Bf&pl .Ja'ܧ59ʖ7*@e`(Zc*qZ(TLy~4JdsjE?yb iaʴ:Qe,&7|ów4DljttmB?#6GK4 14?tm@uK! xg_HDw]I^[@^#ȡ l &(zb.Z5]kwkN`!(Ξ #+<yd*Gih'*!}k'{7%{ w]:efR_Ea^fjsL!gdys8lM0Uc=k('\zҼ7FnlHDݯP<,hyFKO(gž"g~/$pƢ($%p-?Lbt\ ЀSNqص8K`8L}n1.#J."CZrfp_#j} +.)_@ XCѵ(+aX: 5c7|,@ XFbcK0M%qe/9x +SjUxĐxJisB PKI\" teqw5`)gTzw+G2@3Yl~J OOLwz8Q͝IIuM2zBiT18m[5VG0#ǜ%MGP K!DN +T4 2A9v[T2!9/p C'|A]iO֔WWyt>< OF>H)ǯלJ<,oŭ4^z ce'SAfu +-ϢyceCt(#,1.bN/">r'Q:u3殇(` B$;%8MV뚽Dbk1lu f5Pk[R%' +Y9Z}3aQ Hd܏jHwǪHuZ6g$T x #=3 εӕ}d(CmKLeOh,mW'@ +F }R)߁vhrmR LMu@ROtPAIeTP&5Lz.dđWu8[T!h8('.S76RS{.gþ*uD }VܘisY,F5xwӪJ=g6g?H'\oe9bե}"P2Fsl@'7saSѭ滛U6bSYlCueN8g`:a}|gd`3 +;s\8B 4x5+"`9|qPFEbKAUb}~a@wC*еPhdR YFӠo9 Z+y3%/Ogiq*W M:ɽ[_E~y +zOݟOb/E>aG(7No(-=C(Zƒa͊.qm0]Yfd>HH3m8Z*B9Xy-+88wq(yʡ<P"=wS&,K "'IvfSy.z;&{#qu5>B ODն3cwa({yO!\cB `3'7uɼy&4c>fmV2.e@C'=Âc87E[` GAӭc@-*8`xGiB=> +BЂFq24Ær=I52lu" -m-mXHt41 ` >}T*jaY_gg?{6eD1Q}yŊ"x<>GSV ip0L@xqJ) ߩ;k0){=?+$0Ӗ !I/o'n3R)MG 6'>C=W*'nm0/{sP= ̒,.YO<dh%qp”Z $4i#ͳо+2Yr28vЎEK%8q+VBP}@+\+4ϑ7 ZZ}*!>0S}LBukȃ 55̴\`hnH)DA WRa>n"ItǦ8~Q<*OLF ʑ U<&*Y[cp@ D}ob"ƍݘAc +f c*ЌY%#.'S48")l#\tcS[LdcwS5&Z^8+vW NS]5T|69^Q>}LS%N)R%&/<hI<inr:ZmQ>* 'm cޮ,v<)H%atqX*{u ^2cc\ѮL0lfl(S Wk +S25l>eysOvZt^(&< >9ߣ_@VZ:<𞻂RIA*^as`4x#Zi?ax3#GDhv дi]Swl[։#Ύ]qIW_NYez63j63JmS;CׇD'@?ÿD`snTHzC"8m 0Bu\?5e qgbk<3pΪo޿Adu +K h|E) ɛ?:J\92@9ϹSQZ] h Hjd&B+ԱFCpȤ{uuFFTm,kcϋ~ }o "n8694D|06a1LDo4" fiA{jLP%fHnm Cř58+T<"$qE,t:$|A$@I2AiLN2L C^a6)=WG͢@7@1!/Gu mU&qy\Cous; eIvZݬư(c~lP =`Rq4($pTNYf!ES"LXt(xqV᥻XPBB}Prn+Mq!w:]֥@R[ Js5^]WeVdP甊++O4݀W$@Y 8tfݏDaDx[H;~$9y<%A>SjJx4gH"b&_֞N|(\0i޶u!6}=4iYkiK&=@Zo fƓҜ+5_]fD-ҷLclT7"Ale껄ݢsJXlk41]LW@@STW]OD(lS0J܁^'7<5qԑIr7(6 ڦwn$ȔGP$΃Go TNemeOזFG4qJPTßoikc?ꀪԍO8˳G0Ia;fN?D.Ύl+X Aav-/"L"0lr +Sti<%[ yɔ<v OZË~t0vr9JԵUI&SiSPl %a4g]6/U7ܻQ;k-< 4& ,.6E|C-(rUl ިi(T8 |)2 .z@ZPLEu glmgxΠ+Nx-$>!!ɤ-#.]x{\HM +T3Ǽ}$٭ʁ7 SC4Ӓ1(eh$e(h\i,ިoq3a~n#.p#+=+4OPnĹCq vru +{꺩g]A[,iX}[;é4(LKn E} +ޕ<8>>q{ thE`H>@<5WTjNl[W;\EC9I1ב&Hdv[T&k:%jOo?7?3mfɍu4I$;J!kX^D`&Ct/VQ~CUt̴p ׺3a+ SKu'y࣎`9,tM8Y脾R_q,?vכAj;@ZÖ9+!MD;&rߺ Ⱃꄑӱ5<zm2^Y4NCu@wzH3Ҟo U+P 3i,޵Mtm#v3ہ֨!?'Yv@c{J'){ lTfoadueHetSJr4l\8PL<&~q8>wPʡ> +LF9p +3[A_FeM-9dyWg?OB,'t=j68qwK9-8V ODQ]P\Lv3 uL,@R:6I^ޏr_hF_7-0ɜwjingޥ1dZiGSfmPh ^Hǣ#UXy/FSEY6E4;.<&q'< + PҠcACd\L9ߋCpݐpjsavh fh|]96HxҬUݰ'>whHspFosN8Z +uMP)U=Gjol9:^'z<}4#Pz5$@j~ +>%}KM?ޅSOZM, 5xϞ)vF!8oOXQ2`sUFuGv5$'}5r؈wa76eH 7s ױ  +]nrH}͠dHg^2-WgT.hʼDx4@;f^ Yto{m?Q {M\L8(M}8W}UG!´@Z?-EZgFJٜ^0p%4=kpFD } IFb}:f s(K,ڤ}5|,OJ P}:d(}.7w47qit"9&%h{ˎss:x2ӤƾkCqVKNoNo:NƛbtRx ҳF2(Pԧ=ښJ +jp!waOa#R9Fn%( +-()";㑑w$ߕ91ЋfNzz7Rv0=42׻ީaMi}8BRjWHQX +ߴ@7`8c¬򕓍c /`olߧp_?Y#g~= @-N n0U ++\I [+g = @d9\v9"Ce.ߦ_z23t t-y +4u!ʮ}ҿϯ &[K_J>M nw8`:䅹4 3Ltxms.K$Nm/^= OS$7*@-uf6ǡ ӗ0>_X@ RiUy )S%`߁0YŸ巐UM,,oѓ`13Ǔq?2nYU+.!硜MjXgx-)E;\ {+s-<#† ,L|Á8?x-9źɬV@ds^wy U|u& w"_5juĘ_[%v{>}湷|eJ&bH:&Ύr~̦pq#bLKcؾR#0"GNwaMQ*1XHXA1͇ +}C/\I}To?X[\N-6U 5OEĞ_{rBrMV/⻊wٳznKG;V#a6ohMT?NIU܅('gMsϻyN36nIgI/y)rLB,Mn.t ˴M>$()E9j.ih !_' N1FDcڪt#hmrY#8@w!Կ,>+Çk(c"􂫒J~RFPP?Mo~ 䨼%8A:6/=#@P rjnPC@$ސu8څ:dB}Vq: R%9 5<&1{%:TNp39(›M 'զԡD6 h|t*b0v@~<#}2Mve9㜏YE*`B%_G!i|MaݫMSqKi<kP+--#L]PKBuR􋳗LbR4jhOxWʱ&oz],in ]lqT}>+(Љ?|nNo̺rFO 5%o{sbHBڨW&bQ,a͔B91 5쫈7 6t +'7`珻W%N.E'r]96[hw:Oǥ Aj1wFSW_PF S@)CU~O<2gX{b\OSߧW/kg-1UWʬ{Oy͋C J@+çF0 +fKD&f=Ho +Ikaw"0W=evr?O7Ic=Jpu q:fi86fvL0MS 8HYao)Z̔70ğZq6+c&6 +%uZ*=_IoP2SdEcTG!UJ `ISBN1m:-W3p1۸};"G ++Ϯ\0rxO)&ZRE|ǫwA;juQY[`O맅66lq2hǪsH7>;TAv7_q\JӶbʜ*QWTQV.vCힽ(jTJ(``p 8=;sOA=o[dxuax,iJC&ԉl_$mթ$ +IF\djDѕ; Y` +RW2$A+q$RKpZ̓ٝT!Pd]Z%JߣlTvݕ{q͈c~ 4I,rU?iT{i>J]h(I!8Ĩ# @2.u2 +b}p# ^ wK1pG/پ?N[ KD!n +s21vl7t(Ρ`jˑjXz +aQP>D+pcHI|8_s Ir&&Gp|1+RF5aݟ'{ 3ӿ6=sKc9UC. aI82$aCϸBlA贬nk Yyx4N< qxr{q4,7Ms6F[tϕ4̍ )!0 IG[ YȖj׈J{6R`2cO\dIG~q[h)9BaZu WxJ*PƐ`P2M-qcicȤ +7~ܙDkβcDI?-!Z5UNwsaMփR!!W_'NM. a1AニhsigDtg{xEC1 J`b0/T"lqޙ9~1GahD]M pجv4O2H>mWaߌf҄2{Y5dk Fb\ ٩Fs?Qٟ*j,?[hRie `"TwxŶ/[|]hɋʥ-5>Vț9 n<>#eaGXo),4wk$BPZ`yJ^<(<Gw֯DgFb?^&ɭdcЬ(qr.$36͓Iw˛>?|U Y;v m{[kbt0J_ 2F,~n1?u"=ɯq,ק?~$zR8~F"Ye[x]=p>t +Ҍ1{֑yc ^KWZEe$hOaʅV;w8BM1ِp'l&O',ݫKc5w؛3$%~C00n=s*Spi S 4P`㋯g3-_,})q/mJʨD}j');F+&o_o{t(Cq7`RφG,>8 r]5<. ;z3/>5&.w%nT=RwM2Z"#"ɳ9!ħ)Ojp=/r| IL8gyzx!!ϬfgY0YZz8[8szCc6s!w)6vm've,)Qπŀ%IfG 8 ! +Ӧ tŏYh&"dQNUZ9meJd WcIy䏿 Pj~ !(9i,w9,H 3GہUeh5q ykP KYESI.G$ X{[]{Sz➡r[! =%]?hr ;$c 6",wDL:`)&?͵YڟK >)c"nƜbV'0a@%k#=~;Nw%ۈ.h%҈caPJspklMٌ pg'a+rlV*$0mz;+CyrDRD(uG*~ -MR5RNxV,BwO'Sh%mYu+Sra@t?A8 CpNNP>i_8Ky7ېݛy&~OX +A׭hO^s l` R)ת:2<`%zTM: 4Pܓ+w,eZ&_EI9;?z +8|qv9Uf\TOL*$N=Xȴ4 7n=fV8.C>PNocC~aw(導p4 0.AQ=6}=|HR$]5rn3! v +F6>N]6$;ZĝܜZH/-~{T?ש?^5LZvը*|m^kTH /"Z4,bT_A '7*L5XHΑi DBseB N~v2tش { Go58x -CCk|*_sB2g=Q(05}R,; n־32RU^sR?bΧ[9Ӈ=>ߺN=&I.Hεw$\aӤL7ZcՔsj9t5% : PY!ibq(Wp`SCMW29KxeژlCwƉl w!?^&Q5%D 8g_y8JQy-pwv+7 >2ujޢN8-"˴zs 2ՠG&D҆ +cݎp[Pi?+5ќU\睈"6'nϱB߇\cW*]Alٛ_@ `j:7-quZ5/%PQ[lHӞ1m "4 +.ߑum 7uCS#yhL^:['=7z+(i:%эIRVUm!1ʎˆ'45_UpQ"Omb!Jott|A޺iznkj{ѧߺpsYu#X Ĭ4A"q٭NSQAo<ޚ`PDOTړ-eZDp ʷx٢\SbU}C +աfPwU"i,U65cOaӞ7+=)&%-@7Xz@Z`iw8Wգ#7GnC!mt',;tYsyRn>>>)}(|?6,,z[S--uj!cTi,]Q3Hiur4#mKqG;U2^mŝKͷQ7 wxG3 (MH pGyj&S~`wp߯WK ǰ6$GEhܞVZ3FGIʖ/y" 3/"Bey[/IYb1DWt^{m{Q,cCĹM*lg,ٓhg m߯Rr]şhnfgݱ%٦|ΰ"fu[_QZnWՏjcƂ!UR"jUןne)pNaS.o*zFXʿӣf>XkiE\{n * 2*&(ni=* F1׾U)Kt# +Z+R^T9=k>6u3D티TZHu3t{iR?Pv +Ri]*/˾VcHM ++]2.<[V_ࣚF@apQ"ٸ\繘tuQo7c}gvgUtQ-6+ 7KnJvޛR~o6;'f+Q3Tmt4ϟ[uVC/ z޿ aӗ޻^hlX43!10Fu-֨DI!G^f +vr( +L?G0Q}Z.բnG;{eY..RfMC~qL5 92lZdrt 9 Q 8[rgHIA@fޒYN"Gi@> +v}XkvUVgoaBg}WE)' z4<^udລ}ԗCon1lIfsAQaƳz(M:NS}X$O"Oᣍ^ +U&^=힋rvط^n[_큿6~RQ Iٹ$5j]Q{ה(Loݶ~ld/ufE +RCq"%|]̋]r0B|!ۧcK{*(Z>x~xs9-GŞQmo8xpy| rm?%[}W+RV$ vBH9=T[k9)1UO?_]Lڦ[?8mS6}ʈje^؋pFDWtM葯gDyi?D"A|F59Zm Ur5q_>ÙXsak`)|WscT̶jKֆ)P׵C2V;ٙo3^?ggxMWkt$ R7m4O4\Fr$><ܡQu VD(z#`BKYr5\VqC?jӍ:qf:q\j')nЪA";bTiV2T8 2eМ3t먪'v.rڃЮnV,nݴ9tL/포cx(:PUpLf_~VTio FPI9{O+1!ai/j*ex\7%: }3=ylfP~\ۭ^'Z{P@6@@9rt51ͬYj*~"j$t!JXjSTδP,VFGOZ ,7[ClkZJ&x/V[eŹUp5ƻ&W%Z+4 +kOBJxCELl݁@T90Q<6:pZ@m}bl6*jgB42i$ܬO n.Lp8s ҄&R1ѴL|Z s )6S/}sN4zo&Df> =xYcl1)/sʑa~چ 5=PPN1wvuVnd^N[\qa[#F( E)9!Aktbsxۇ?vLpt(F1eKup.p8:˂![Uv)6WL etv!8AƑ^#<=LDN9e`P82tȗJh̽BZkӠǁsF _`((`PXas9S\'K>D;IeKe߉R7nsu}DPL3u36R{;זu{Qms.}1߾L߾%KN}zǚŝbmP#y˥kT%+NJŎu[VOF0yw4FQvixߎ c:.O>)fk j$KsyƬ!fsVCH#ٟz۠%S.{tGz&]L(1r*0"yiRMJ,r UPapt3DQ07JOFp̲Yu^ y+ EvD?Z +|Kv aylb`|9U]Jˇ`1%!>R0uجČ#/ؙ:&6gI]۶%=߰M¹{5j~K?>!ؔvl[('yѣ Q:fN큥?Kzcv}lj/bۯ=Jm.6MXe(yY Zz=}m, 0JE_}eO%%k8V JVߖz8|~#νBW5>f" ITe? ?&M.1ᾑ]N? 38ReKq2˦^uYS>`-rs7@'mbྔ/-Ӝ??oY1^kh}eι}ez0'_cjepkn@+;NeO +3,F*#ȸ'"܍]\h +ʕT[8ӖC.]fZa* 1vxA. !zGMk[bؐuQ7Ow]n恛h0dU +(t0Ha( +ї^ZNMK7x8tAa`(i:QZ'0y,'4DzD5y=!+QmmL:.po~G#HQC:u֡Qd܀ "U[?-Z+Zv;-ť <4 +o66/Qqy7(ICi +щYgx5)^)x{g^"\RGF^|9{ ƞ./v_--bI}jmBk̺A#V^Ai&YZZQhk+4GWi.7ر)= d`bʞW!4O@4uu^cQ&*U6zmQkb54Eqp @ֽv\3[{cy> 2e8Qnf lgp2 ]f+5ɉYCr7<e-5k Ҭ0:ƀ6Xǁ 4ҩ6^鍞}LzF$0X=e~hF[c ih$T/ rvˋZhkmhp$_%]_]#Iu>R7g2؀eI:=u!ԕ%1eT\:+aB~ !n@LY-Eo)dj(I +݇ 4} }c-+_Ծ]?bLXLFrI^V~'/}?n}!GE]=oT%|؎X ٭imJË(W)ӅgCW#/*AcݬXeўY[Y `b& Jirg҃>`"FA 58Ca)󠇗&11V%_ޕRΡm@[EӪN *d_mWyـK]GG5ígZc +FcyWߊ?p&_'~MalrO7H2t%CDTŒ5e5V2,^ a@1]%AlBg1cN[;{#LZN"Xry4 @/ey'{.b9o'ejPAXTf䅾GD[Ӊ,AY#. Ƈy%-h3d硫(dH0fQ&]ZKT9 4iHUI\j.岰8Kzav嘟/~BB +Ȟer(jWM`4HJtLC  +z7&I'fnLv {UbCm`$ S:g6Ze{ bL/*Řc?kdd9qpږ(mc bk,G?YAw]7-8Lf 0*m30T[3D琺LL_|sH0oR^C?>~S F]B_uL^}=֌p}l3DLWp4ٲBTu9j Gcd!F>u5oeg?\y3@ѬمU{.)ޮZ ֿP2Hf1al6895^m!=PoFD-wxƞua0U7g +jX"N 3ApY_̻eEtM2EBeD<潘۴κ6^2̐,%zYRSdA{b8d I 5\FeL{>#EHՅjxJ~ Plpj;\!ɤ@\ U.uh? r @yAVBwzX4/$>KYe 4qNq&8\ $]Y +L 4\_643`$,kIՅFOvB(O%>G!RBܼRńބZlAJҾЊv؎nNB1_mO.?wS\F1?0_0X~5V C.e4ߗ, +S3Mݤ 1jOU }N zO-A& e2?BY ߭xm3 d#~M7]@?jPOImonuMo 8pLj/-*Arc~Vjѐ۰:Z^^rܧVxs[T" >UL!|p0| RaqCnU\UCІgWS& 1\kNHmi匷0i}9ۮM^U;0怪s`GOMbfDkq60L5%r[Zְ!cJGf6f⽽nzVΟb] +a`beKNͅ$CTd}jMa)ת2s]\m׹hXdk1=T{̸R!=H^ܲq;,=F$1O<CMJ͎N'0vpƊj$Y຃oGĦm-ؙj +t:HԢk]!U!rw0=f`ÂŕdDࢮoUQEeX4rE)T!P3vf/ǜooAwƪcهڕ{UzwL"[,M`4 +DUHXXSmTº)w@YnxhlOǽnz5MA3dĩwҏ >l3 N?G3&e]/])kW2W;Pz o"14]9¡xld,`xa@LΔz_h,~e Zu F&< + ۢ2mh53HiX!o^&dcCD4-:ZAa45o.˴8'Oy֖`[Nd +Hth rt-V q$NL~ZiY3A0=)N*[SւSB2bDBd ݚڨY5 a7 K*wU17Z5kȼ+O\aXBc: S+&uߙQZGf5!# +$(A$5#jĠ{r3kpUp1\t˟Ornmu/pq`~&r@7Xi_+=NOm~ZHYan˺ZaOmVlþo|?}\^^nWu Tї+f YƋMPld*?{vOKǻOedž\yJPh;|oC{ x{oǕKϙ./dA>tc:jhj7eL?_?\ ڇD]{^|~ҥZVaNFӇ~C0Kw,awt̆&WTd uVjޯyn21tt r8͗\~^_˚þhcE><ATN?|ˤ0t"k<,X@͡iH~4%YZ_{*v{?\z|8 @(D1 \>n~O~?|pퟻP@3D2L1aPn Cb{b7#Y/?OaKI"J> U0ws6^]__~|bZ15/9^N`8 'Dۿ:zw P-Ըƛ̀λeW[SMr嵗VM޽кR\UBKB=l%l-R2'X߯iyqSMr$I{D +]}q\YY!?R?P\}ԅ#w3SUsD%@"ws3է؇dԛjҕgɧXɀF*#PiIx3εޤz_f.Ə |O6KBb3[ I*ZVw`)a26HP @XO?Og[F22qkk;zѿ{{_G틻WuNB᭙/4ervZ:շrF9MȾ Sm~y]o˫DA92bbH'1 +iehX H\R zӏ?}{{E/ӝ bɨt0+e[e6p7 pš66<ˈuݺVq@Ǔ]I}2Mo TH?K\s᳡P‰z(X;x9|}#?a~]ӫNku*`2L83j;!,ˢnr^͟~ބ襤(zHn<;o.ep?p;ͳ~k-spiu|=b.%rQF~>]o76'$45'Ac!g(%{%U2t[ʼc~OƍhgZ; rquVh-P_}ݛڳ Kۍ Ûn6(I? 2f93-RJ4^n4\2Na[ٰ $D3}D}=abR*O0參 +~xu͋]]õu + M`{|=C;8Q!oXlQqz9O<<P" Xy1'X24ô̖a s~xs{kzfɩK-~A[GsHw7>~98k)6z{вiUF[_[)E'@_o. ćyҐeFQQK?!WO{n.i1$COa8 }Bs^O_ @$E,lC I53 +{ Pć_;,Gճ營{ +?DakCOl*U=Kjhng>a&ݾ~/?+@CgnlCHj-p??~WmG,~TMG!]Nf1un|؋<]ݗC`jC{YoQxet_Ғ*ШV{isz~}^ +z@?H-9XUimĕaЙr>to_oִ-CFzD`JUh :QMVe9tI qs/sfRG^|X\b-u~%=GO]fD0D.R76 /0Iyb tI&C̦3sD hBioon?..y!4b6r^vZ\$56X@=[0Ӫti|/@emʦ^T^ǾGG>iK?֞PۦX KF?V'zz ^ZOc*0c( *!$(ta?~ P_72fDdrɪ|召딮DM%N?nP +N2&=4i/4Tm5;*A_#\,57u,\+Ow?IW&wSE,+bBo(Ҍ^\Q#4ns^7<2 yxS|CTOEZE@Jxato&%;r_(w! oS­Lj`qvZ!B@~Zmzo̔̓,xli4O8)9&6=|[ʹ^U{ݍY<]pPѩ: j.Z Dc #)GI6RjKnnfsN Um79k{kq#"VޡJ46_2p1@пRCȓR+\WK)޹6>u}a_L*^5mSSU^A묷>1 D u'ףLmc>wL^í\Q\yUvxdzA!Oa#o^ oY\'*n5#MK1)>`DjGmZwI2j}}{sw{#TZCvjARk*,Kbt_Mu X:{?tw1w%+Zt\ ,,^\p0-^^#_qHe!S_~w0+Sb,"O*tk=R PuILKHRxۺ ]^]I~Pҿ/drCZd ZT|l(]fWoxr}22}t,~˫7CNm;;nv៚!o=Q %3^/_|bSaOKr\@&:djN,BZ^9TDL䤺ߏuڿz}~vޓZf<+E|"3E_&ɉ /bxw؏`hѠ'5%ߋ'we MkЈk4߳͂灶|o~ˋ{q%B ,oPh)wo߿({2@eH ڤPJPty D1̵co?WzylUiօp.^6zqQ 4:S$u3JWs"4 /vys%qϵW2-jupP[L47B^ovzS|%D-#G5KN4uZqS?1g`fP%;c@c%r P h3 C*x?j[?ZҌ6ֲ|GؙIڍȡL-VdVz3 W׿ᄑ~)IA=eZjRغs4 W5ԡwm} +wۗ_}Y=Ě~xUæG5 薖 +b"e To}l{UwUUؑ.$%7^,yh<8dipx͏b,_?f@LO_9`Gjo>_/vwX75@>NqYM0؜EcT'~OZU\ů~l|@ +TsHLVȤZ57B'oR)^%]lp32ߕ}V}A mכ^$:ڌ yr#$f$ +FU CKDXo6y\J,`0m*Kcj_/ ]Ħ]&W=@GrIN]=.Z%pw_˴/{D=.BVWE*˓&EL)7`s4dJ_ov/-tAܶQ c>̷H{X=3s5Mͨ-_^o~sZJirmSoV" vPΓfnkà>_鯯G]/#Fr !(Sm Amw nvnB:kjMNW˿^UD@$岌YWj/_в-_|:j< +૘vQw *-P$'$vǯ~89r?n|*gw6K&D/ + . DVE-}YFM!۴IA)^]^|XGy˖Xv% XTY\n)G=p殾pDq 7#{)k@ɣ,\eSa/^ro2EyrjZiCˆDme) cMFe/f[eȄ!"5JO`OUIHq)ARô__\\^yKz|pfMo9?/0fN\wȞ8~wZ46dh~U9-&\դ0yFu'QrPgdD-\c~")z<~s}˯"SHnHOAW)QT߾8_0p~ ʲ2; q]puC}bpwֿƸCΛa^b,QqcJIG"B}#FrlIE٘vz;^ݛt89m Hw?uST5XyOBDi6כNSd,$gre'1M !+YuCe=p^MW^\}UbLRٲ)R5Ab7+jC^}Ǩb)CS Uva0sy#~z/oj݅F ezE=۸@~;AT' Dab_?$ZċR#yaJ*1,Sn-ko2:A/wQZY=DItJ/A&a(dϯ6i-Ջ7F:e socmq^Cm|/gnw׵<DR+Ho4_*td/Đ9}oDrqqNb#fk{a JTh۰qOp8n7/PskQ[aOɞ M⟪XP 7Ww7IZ#/\DH-؏U&\ʔGvH<] mg!a$P]G +h&rs=6o~%a1Շ#RmI(*w"!|$3!W/FQWWxlٍq%ۿvwx &[Q`à CٜؓaiE dщ͌x6 LME:0\#2IL:tCrP=2: i\J>. gO%NB2. +e {`;gϻbTC +Ģ&9eFb}cK[AHEHn3` `1VFpC7˸e 9HWS޳kge6_"^\lhץ4jzlbL?܇z6odb;fm[Dz:F3M-%!]obXNʑ*3z33e =-de䒝8KL]&3we;V=_7#oT["B}DDifn|XYҵdWP51 +EA'R"OE%A(f#b>& PoDiSۯ/$jxex~fڵt?ТE_ߔ}mAE^l7I5=N^Q B"-P݊! r[S/6VJ J-R(PEºu0X#IacyϮ϶iUb"Gh'61TKmWv̷uuӼ?&\]WQ3<jm9 m- kSQAD[.^\ RkB2u0UvMB-V^&alJه}OT0sUHy +ɥA?]kj6KT!j+VSo˗r}&9Y2VH7cXx;+Car&Um}W]FȽNY9>7|% H'yhz!4ϑPT,Qk[Hah! g9!rШC4N||'OR>7f<ٶSR>H&Qڨ7',"Hq>vzQPotlpZp(CJ*&5O(O0WsA5͙QX,Bcѻ|S*x˝<xkk "頍t/и;,<+5ݦjۡ>ѹ~+j)jqv1P-g#P,>T2\{$gY3_d]wMd*a ,8eo?k/g*?JXxmT$pr}汖0DM%$= Clh; (*Hz|17|7ď7,8mX vDk974L 'ΐ-9j9zfk4]lyBE^`RmVp[B]!KPcTJ@dA1ŰCs?[$\\G=O*!NwhI)J=0 Z;t̂fu]l[X6uIed1b`kIR h`3s9YԔQ_JxjfU<%;8 +|hD2(Xr}MŒ Ajo\ZzR )]aC"Fٜl뢮 +9غ[-N@D$jq[٫5HmwGT(6ʣ٬gB^ lA7!8>ח6wB(wFkD k;lO6̞&ITu ˌ;ʣ!i\gJ@ +I\'['TM$cH;W]$5M~pcI8h"Ή {9"8ߕ/!YDs2%O=3$^(7%:ƖFYT$ KY* +;P'sr}寵ܨCC2է(3"SE_Ȥ9cL#͖VW9Vf~Ȧ|r/CDLMkћ8)xISD2JD"BC&ٖ%D l<.V^9 :{ m;,4:ynCl2 +DO,́ ZaQFbOjY9Isw 'C7~B)HAiFB2ܩVOGęAEj'+\YEhhPRkSAܕ⋜=yiqEҺ_gv6'OH fC1y/AZRSV$Onbd(XnG1 t\-Hj"=٠hs:U)#T +rhk {t0R.uo6v*ʝЂ)pgmeSȷ@:r$+XS,@$ *|JINʝ`8$֐SN-fp6H'.%}KI qUQ^Ȧ7X/vh+flw׀U銋nZ3/$!witml># 5C)JCB𺼵()7%Gϥ'8J* ?i)s4H4'& Q_I6:3rOPGVmգ?7>]ٖ ]: +^f=(:l:z$άgOt79Mo'~ ES()Ů٨ۦ t)Žspм0z2`5ؘ$G[A8J6G{럯8Kz.dԕű,>Cb Z ,n8-aڈ# +ƃ&XJ}:$p~?|"ԔRw> *LdWkGUȔ@ %e3Y*8Wø#f<ߎ˻A۲!cHᑅT`["[v$#2 EH2őbnB|YVCSX7D}IZT1ii_l֧zp* +RG)*/N?t%?n0bB$J9:Q^%aSG唕c2= GPr!y#t iWS Zfh0HGQ!BȘZMqnMi+tTlmBv$xVKaP:;:ًm| f +; x6 =z<bg"S@a(#RꂡuT?@*taQo$)e YwbS``b\YDľ@^] Jr N;d%c  +4ԎR֒l6q@'jDZ7 +!:ղ cp"9}&-Xhwf^9@6U,2cIf-CްI'!NԔJ_>䙥էBUO}6;J/(^Zϧ5"V[g;dL׎l?Zf{ XVvD7%~riЧ;ih}еa k[= 1*~ Ynʢ{Bu:DtǛ5 >JǏ +f'FI2)e#p:IҴ(c@,`I|g!\ȑ7+n&񾄽 +!.LR#J[E*%^d˯ַ@9L5'F!)~1tLe.Aᩋ̋0taq 9DN:f;IKO,tI}7`L|OZPa!ʗ|%:O"D"[%lJI9ưwtܾGK0uVlITl#R`6C]94@z8_)F i".mp<;Μ]5kVMkk4 b _U\imXE}YX'l P ^.jy#? }wΟLg#۹<\'L ز?3a yKG*t +[tv#HA1<^zo0hQm4&Yf9*; )Ҫn`B*R2[[;s\EtT5b()lNXuo;ѥ/GT B[TeQEZ@ E߲`R7U`EwvQ>OxA{-4elqv.pV܉zrvЯ|XR 7oh"2 zP䇺U8) 96J}&6⺠\5{Tޏmh"a!pMR.Po8H+'z7)@o1v<ƨYwtV3'k(w);eZ\Z"5'̘(+ܑ* 8i +ӂQ+#0=voRDi"rv{~NBNO)5 `xF5M?mho琰6_-0jbdJ V"`f̼R D00-/u]-jPUakݡbہ;:_a*S(l 66YaG +"KhJH"79vvj6v=@>PR"h6 m*r먹#D-+SX|;HJk!,dXsÜόAZ=gkuq-u :ȘDckַRJe~+_3Q2 @+F =F P?ٰkՇMI3gRj 6' +xm;huxGjlAܭ% f'Eif%3 s? +JU f^L@s mf~W* /I9\zFf&(- +'4j R``'CQn2cqn\lX8 +URaD淲]ɖ0@spaE8t{ONAtP- iuy'iR-=:v~${6-tEE!NMX %%=,dL0y 3aT)G!p6Hk8}mQÙzr⬩BTT\"ٵ,xCPMU5DuRdOdIyZga dKW(jw:Sb2KӇêDU/70zxgmм2)4ƎD]ьI΢M0#-YltIU$Xl2\ p:@S{PhdN١YYV?DyLr#du + +pfa}ȇ*(^&TXAqBͰ8~cq’Rnia G&X  ɲ4lA5J_൴9::{1֚? _X~޴䲞)< ?*x_ڥ2'^<dj&8[*T/>Q "c;"[bSѿ)j`qb7 @DI6o* Ӄl4i PgSbiI^T \ec[6kne}h_)) ;;Scz1[si5JIOiƦ8V0]E~:!Y|amjKY-?=AlNU6ONWx4Dàr|D'Q1ltp`-ʱ.^ +*XFtvVzQx)ǧ¸}h4~_deeTT +>mNtlŕhS_nEKjL:*ˍ^!j`*.V.r頻饏⣨H7%.G OYh%2?cb|.=Po#˼2[-e4V!Vf@#.Y*uC*/\Li"qb QtgF er2D6 !%wF>/˸/5}D}-Yyin =oz,v%+PzgyH@= Y*Њ-yk=p߁؜C_19qjn.d>*bigȕU%K^_5JD"/>"ȟqq8Oٚӊ>v~uzC>+ 2@NX'Z0NqnS chILp3C/@,lE?][ !W< +7X~QX]m9 =iec"h'q-{,̶ZΖg숲(0F$Oܮ XId_NSNwMa.T X+fEщUklcL>w~ރ%cTd۔6" 6$c;yJE_r c?$ܰ£ F`'ȆOtΗހߣB=>LsQ^wᓯ2VDW$r\Bۢnm$y{Ƶth^;m&͐.ZӘ*=~)]w|t[k H r(WM%{{uI\v- rǺ?dۥ5V%wA%я6pdB£wiP TQ*8=G ,Y:$=MS5ŒJ]Qk4"8B]z-0 f"R>T)P$CtBvc72pĤ mjxvҖKgu.C/Ztsf $,*H *hբ M+ W,AXK>Bx*97)-F!%,[`Q׷_ѐƢD1|nO )}h +z,P:L Y۬7{vQ_1OW^xTG&W-:'Gt?kd41A\eƝ5G MȽ=5G~Yrv;sȩGm@TQjױ]݄vAMV,D|$%ZY 2&T2>iO;Cد VE˪l8Eh@P*@2`%V Oʤ^"vK=J *gXw#/dZ˙߷&ELQ wXO{åp=sVi^zS4eu8Q 0=:on Žaf&u /SM訍5mCf79 u؅)ʺ9~2_T;<:Pt*A8Ol>yOQv%}ৗ%(|u7g/-Q +T}PҔ ^%\拨R۴-Vʊ3Z H ⣂4t?E +1u6 *wuAVjjWϬEuU[|XY xNx=0%/(xJv/Uʥh"0z4=nq-^ۃI]LaYp}*)adcڠV `Is ?_i׀|jIan/:xYrpULי>=yF:pFq?F~ |`>s4ɕced +iwV]~V ƇT4Ӣ-q%J3Wc6vF)0@D/ٳdBO1ՇjfQ>qFFF#@n6qins(np]Y1ZѼTNgRCӖ䠉1KmJ]=D#TPr<`*7 IvX[7H+$h884?96jFǡI%E %)T OFx)=p xUQ7۸E5n +-Wc@:aU(1\"6kwdͦKyJKNrA7ԻAD꩗}hDƬL#}< + }4`ٿi`nr]|M93!nǟE'ʏU{KZ`ɖ\X0~ҧ)9?U,mrӯE}dco~q!7DX|״ܯ's~1;CoR p6vצ30/w; |CW$iZ\b.hH͍a Aᩝ?N=f:.=DI~ys=(UtK,@۫'U/ɏJ`LlZ9lg)%?yhǑ7J Sm&ZBkDlx):%yuLw pK\JPi/qo}/!NW _N0n0kv++JOIs?aѓݡAw\3,R؞²~WHiZOcŭp:QSu6wgpV^%3HY˔1vm?9ݞ> ;CbŬޣnGi=hr5@K1[yw/6RPsW%MH#qspgRd7C-O㟧o(?Ό]T씢9HwսJnaIZ{wODX۞mN\,ԊʠybFgiS? dV&3_N&2 3}9=v4FiEz,V;hbxҌz^pQ x $]Ce\23~l3."%_(LKskjQJjGw)w +pQW\!,nF~ lnnI8)##Q T[ KKk%'̟l4,Xv4MᏀbY:.11z +]|C0@yՅKM{pvA8SZuh%3ש2eifɬh븸tKM˃ +e!ٔ.n`2Fvp#2N~XYuE`!' +/Z~Cs OP52JTxԒqiqDjK1UT>^Sdmn&ba +4Q mB`eI=crHs=1JgIQ^>\{J]pUX֮|>ұ}H)[ Q"t_@%QCzG_{^i9KA(#LcWKw7ۑ0R|U3|8 F2D"EbN\IDZ8Zμ}FLAr⦔h{1ZZ%X[YŁZP6i9͓d@ +^jvJ%Pkm)ԅ:ma[ BHqnNWd_6`K0NL9gŬpth(CTI ʬM%(>9\pdN'y"Kk݈d i#ORHsZX}O;%X/ܥ/F>NSu˒izw}o%-tpɮF +;Ҩaڤu|x ` +-#`1⃅YG門'W/yIYj.Y=}de|'ܗCwg*:"7;[\'*OI%㴹B3/|\\e +v2[ҸyAXg1ѣ~9`hND_aI 'guḸ=g 3lAdw8͍,hVX”Z]mؖB[Sw==4扥/7TL?up2ӽe4cb>ѡUM>El,%'t?@zpˆ% /( [\>3eE|mZB^l5Ϯۂ7a w>yܢkEi?(_|@ooS60Φ+s&vGhiqf2ྀ<?zSVouOI/<8Pt%9;01XcQWrʹC01{h) N8ɚ|;Ҷ9l r',j9U{2Cǎ920?XR{t:>Ņ8ATʲ: +֗9Fk "Bg,^ʓn\*JBA㐖gNpyYr5%dND,p)W(U4CW ̴(: nT$.h팳S9[SI4׻mso!Qgve`o]$fw?`-b S ^}-Dov-aW4t<%֓;>af뭍-,dwD88M"UHʱC[t~xcF\lZZ{MR~ŵhpEFg=PMG=hyJz̖։:7n'7-3^8 PoUFZ.]a M X㚜;wKrH$mlw /гC]cMݬaN'lsw?XɊ^q{]!cޠRAy]So}^ %pU hE=lrCz?9oӐC#-uq鯾ue!|Տ}-\9n1?L;kM_j y +|Q +-BVGӢNʬ-.l^J+ +Iɮ9JEdD-lZgdwELP\J$b@'t^vi^ʃ^cY&ib~y5lS' v8@l&,YG3x~|h {FA^uނ#[" GovVC0!7Vqm "\ex ;G%ݗe \#Zf'|'=N=ݠC8yt0OWn@£5k[J!"yQG̦ZBx!#HCʁM)Ԋx@2/BG1M {:ɖ@g=.Tc\hzʔ%,̇5nlso]|]KI,t44;u5)ZBDI.+k5kEF7?0y8(Q½%UM(׻y=iT/ЉV,Of^SqJA] =4=Vcj1"Ӎ$RcdNR?.e!/@ɫǟ޹zCU֒~S=^AXו4q7v/£A m&SR+q  +ZuT>hEnQv7敠J]c ٘Jfw[ȞD>}(ݶ>T}^ק4\ǒeψJ`oٖ$ФCc6O Eb9ly$ʰ6,o4).eV/۾靺 +l_`{\_]\|w_B%ԷZ|o4BZUaSț )M2Md,Ghٔ7wUOƃ]W7'GcLC"N)A*b@)ZT')Á h\͘s꾕<8Oc93$Fl~6Ym#cLT>̡6Iy[W,yp2f/-xX anrS˲Dž.pFQ/I k] 숶'Ziئ-Xz+'Khiy,OrA,*gĖZ %zZ%<$Z"Yp*Gc,#l% +ꍩVX\ZG .7!ҳleeG' bQ(߀x$tԇ[:&}%ZT4TDžeqBꋺyeNEa`hMr$_Z$-N5xeP qexӢPkyHS4 oc!x 5P8 gyZAKL3DYY;FofhQ|GC2Y KD 7l#mb̨EKJjARG[kܺy[7s$,}RIrŹQ$i(0J3 A&5h$ sr8tFf{ Wy.ZrHx^Ԛ]!c2ifP3(iI\TG܈w5qqs^>ϛV &?}&r2ZYS aP ! +ZYEAkXZplbx)|1jEս~Y=j]>[+\/gM7IިQ;TTcre1J?/ii=)kG>W04tG X$ ++A~.WmU$ +=yaY}atވ7rS)=KΈh?g3e +yvO` M0M:g_~T|ܟVg1cНtdri-R'Vg3MeWC*.Ҫv֟Xo1u]akèM\?hLEP9{x3ƘZ7EPr-ޏ6a^B#dI YokPXol^(YZ" %Grw-[x#+v6d.#z쐿";1@)eGYtm !A WӷTZp>Kʠŧ$5nVi}䍞(%Y-ma`Jh:!9h,]K)#1pɓ6\fw͙ |aurL)C&7ٺ3B +"JSF_G-5 Px"{ i"rdQMGn\jP/ڰ%cKi/GyE UFL(@L,]j ,MBJ8܁7d= "k]WB/xr'iͣ&qKZBfrޒNs}9_{c\}͡9‚IVo=8ĺc>Ӑˤ\hTuX>:J8sGErR:m팆&"ҹO'WTEÙ(iI&C!8uGE5ķm3u"w~ܼ,=ك_lCL9{1U"3:ayzrՊmKy[1t%dV` <E>j>q֒'>$=;-9(HD +ݏ BٟN; .s~ +/5W;-8Ƀ7=sUL;O(.Q}Q{@|I1Mi^DdN3'I4d %hw +jS^Uli2}fB'[d fhANNEf"NTNNF4?e]#1;y~)!f,қلzK1e%0n#je݀)v~ݵz7ޑG,Yo;NK'Tj@h6PfsFdU5\\ɳD_$hF`AG% =f8od>:eQF[x1tUNvKP[m/lj}@涍+<~.*6H`j~l|5G_W3{,y' +4X`IyM6Y瞻-#fwTQ|M9mr@}e4UԖdFeLЙ t(eD&wLDpyXɧ FGݖswҠ(;Ê5G,,,WmY}ۼ4Lɋ&ho7YMO +MnӸf~ooCF«d4l^61:c7:AW r+QhzʖR]62W>݉''B!'1"(?:+ON%_DSS'<৥JgU{h]+QO0M>*_UzeW{`q^ )P_"/`v!S:WI [#fBn+.*s6bW򃀮*Dzmf>?hxSfI7֕! *CA\ + $[) qLӂܟPٶ~Xm < ծܫhM y&!qu,A~&tn}cj*$,!&[PITR) 8\Md4XvݢҭD)*E[\U"Z+@h4q sѬ 'qky?4zMiώ1UnY4{]|T6@ W6fo|8 `5zKim +rPȔN8_wP ')->hV`cE3gw&vRmFHVu>+/kPi^⾡c: x-] D7J"~`ǰoUV_Y??U}!^~>s4_5+$ğ~ hk?bf5b+jBpeFIf8$z햝[OQ#dOzEzwO@:4_R*6J/p-k,{)'{],l*I2֌ܼO"z>|~ɞY:zZ_D"@J=?J z  a*_uVitp +Y،׽ӍȨV^҇* '&J aL`.;Zf 2O-fb} \}TF`cL.HmrTJ2?,hŴ4=R^Z$Sf,t{BlJ&GYqj:t8]y2^r/C#CǺ Cٖ,*`Elz5 ;p.z.e ql BNjs|.ԟV|f8L|^jI֓j &Z%lXGѠŸm+`KIq!rWw ̟L?~_/Ec$:4RHydggob`-f6nѪ#|kq7$pDs4K3WC| vP/CTϐSw«QLC*y X*-zhMIH^+,*PZ~:x dϺ(މ3,Rq}ڶun#;-[ BGiXCqT[b&z%I31#ޛ{Uu79ͥ ?'==]][.wwE}瘻G-b+QʺGٱ|ˬ/6Dk*?LS_DƐ|f* +`Q=QIYV_4/Yns^vkrw`).ES{_5Iu+YUe9NKi8jڷUt41D,6ynIehYGY\luZ\ ./מ~-W!{ F}) mȞw'馳|9W(MH}>z[ҦE/4*%CcB +FN58N_S\)3/J,']q#v)WL'UR$ei|KK(6ۣ+Rp_K/=reR芛ܽPFp59'ݐ,Ϙ P-j@9ZzU' +†gM^׋!B. #('*/'YeԇRϫ[UZ1w Vז9,J5am[ fHB=+_:(͏`Zfҥd)%JлCìV^ntEimi>R + }ɫ{jŹqxr$TAqpyED!} %!H4鞌Cʈ6, ŭh>^hdnz&$29z7뱾tXqyg%jDs"`V?~\ +2ppZcqBO8Ap2'6T]hDM%.?z@PTs.z_vze8'w{K*|WcjըLslSS5eT6I3[)3`"M'f\ğtYrN:톆R4CzZC3aNsUPV-uZHF4}\9]J({d嶪;UM7PD +=X1`K[RP#FeZulQarڶx5:{{dAV@k ϰfppeu3ً?ڹk狢yDsL+2hYJ:hTr:عdQV|̑r> 6%9f25.!ArD-.Maj\#i"*GeɍkX`k>p_ +{U_(gKN輖W?dQ^`RA}+UMP"&ր"Pdqljca~FRfi(Wtb8sn9 enxza*㾻֌(AvndҔyW)[gRV_NsiGN#2QjMsjkg$607$I:b Ӿ"TiÈQftvB\(Q#ޞ%m&ϞŘ;vMco7 sw;Q ZB_-6偸_^l|""} MЎg@$QU$g|;"|y$=7gc:шᖗ夳N{]?v)"~>Y=6W,ӝ*ϊn%,ފTGe˭ {n*R8b X@ 0/8f4?h㝦G$\AX[7Ӝll)ce΋FFgП?H5?9Hlt/مWgM\fN%IIS%?-2q<1W/jsJ%_}BO&|y8PVYf?W%sV52 F4&L뗉_5|㬲E8̬}vPBzFp뜳CEW<ЃuR¬Rʣqd5QjǝT $5fe_V,b[,n(JjnO6ۃi_%L ̥Aa$!ϧN8K!e85~qv N~U5h|#s`F\OoÇpZpg|ѩRQRB)/9-20E1?,mggwF8|qe +5\'?SRYhͪYGJ5vVp"* ]44OXи+`rO).Ki'k |>$j=-% 5ߊr`βY-l:'0E =64qZr.&Ӑ/cVa)gwKf͢ZC0qb{uvahV+o&jW&OZE"#dʚCg&ŭ$(e|gO,L˧_?_9[!SڲXZlkFE=:;3Tup;*̉K2L6Z>5뉩@[f~ Ŭ\ |)+^`䶘,Su'ٟuX!!v+>ᝂ%Rvv]!VXfuKy`( +L~5lP܃O$xem Hjn'8gaeY6WMz7ކlSJ@PXxp{򕲐Ojyۼ_3e6 7QPI,7sQܻ4S(d +$2Lz癛\t)DǶƊ}30vpE;ˈ_Cv #}2VhYĽZڔW 5m[Mz3-2w"SQTY"hRRHZM^[29cŵ|SEUTsD_'~v|6!B2a^%LfK -OT+;;"N 4xv /OV^E!IDŽ=qJ" +{Ξ0yGgSlWLvdQ/pWzJ{.`H@>8PIUbو bl6!<&XU?y`$e31uX4#tdDTqBH|-Vpt &3KÎ.el|hcԱ{#?y޻{ó|kX"^$CXͳv$Dսh.ql)9C //0dsK F}i} ) sy\g¿hb1fUT1Pb"'V"yl7RdxWkH# ]7{v-XQٌuw;fu`g@9~7[ZFލGm\}}퀖rpGC#Ʀ$Ws(X w:IMdƶ9)hBA:qݧrXV押jZxdxz-)f7"> v%FvV6塌y(%[E +Ӱ^WMJBw)q:s# @w0zG%:uGԳFFI=罂!tv?[ƪiMK#~ }24rM*Z idgU%Pi,Y5^^z.crjj+kԏl6Udil@11eKQ^ŤSlPCXg>7:/f"J.K.٧ )hO$KyiQhm'BvJqPuxݪLzh5VpDSfңc5X{SG^'2,32q6enɶg컰A6}m24y#!7:&ɴOHC<p<6,Hj((6g: (Dݵ>#|A\)5NUŔ24?8~9Yx.Cp]GAjeHTqJSV'n`a}ŦqyT-X1"53+[OZps)z~^&d -[*O!{>V5*ehLYPgd0< G?92ơsˇ3]Q ͔mzL +́’oʬK:IE XK nE{m؇8#K\AX eq&I=Uv M0+D[1%Od7iPV )kX#K2E,KRkg: M<72 P{?hi@ "Ԅ/-]0uxwF Gʠ%ǭg* 1bη9g}C҆<׊VJ/X-+5H\~"Q_Ґ"Gd +g9QeTࢁxpYF߫:jZh5I(4)9h' _Q6ribt\Cݷ|}^qt=14dsnz)`֬x:ΔtyiӾkZ1Tڙ6K*k"OTIfYr*0&bN5:Ǝv:-c%&?L'+TM8GFOl:A5`7Z5*q =NÐp֔8]$/ky | ~ gPܦIO-)ZUP-ZWq:,b-=Rb;> @^PIkP*kǭ3e%m*~Ce'K=s/D1I{[,$1 C]b=TJt8e+ 3O!A "`ɒm*K?EXϿcza@HO;!YY<,:uV3# wJqu[ԧ@+6#-pǙSL@$RKt`Q%Gَ=ɝ*i$?DZ5΍ c."beoCfzG;uI=kXSSdfJC+'"y*E^ɹmD8%T 3/O"n[H~w),2rr}i2&dzdR ȸZVޗmqGDqw YKҳNfcb#I(X֥iAm$")pE# ṟfH݌S@,N)HzM"5ٹȿps`x{fY+oLqq2r1؅۝8I(ZXD`~}wÈO7l9POdNhn,ssg>ԓUØ?|aHCaֵNt=,Q1m4睢C[Cqr5ԫ,fXҧSGUmq>xxϠd}j +౧"qE;o3ysk(gt?EoG~=:nCSTQFEfPuP;c*nKѿ3u.4} aߏorY:"Y\c +d[} hQ99݌wx,Si*FCO/*"F^D2G$Aă`kFk'CPUuX:晪<`C@oa.v܈I6-FS\#/"jjL9w9~Ğ;r>ѨBk~iJxs{y?z'jREuM]3G9%Zz/aCD+v8N㐂݆8Z딬PE@.RnsDwnruSL\x)љC_;3Zr~ؐi~K}=4ДB7qfLF%pa›ǔ 9ӧO5n>XE-F)#EJ%Hd^7qݩ/q}TL 2Mfsz7zV,mK9Mޅ&-bCͥT뤚x5ipidvk +$N1:ay7u~Bf(?p2<AESp-q4} rbHw3zҖ_ϠŘLyN?!z 1 8 FVd“lrFo9 <ʸMSz곺ݗ} .Ԯ5q:?<'o.nHNr]kAJIn"eE$d8aNË&~Wi-q[1l߇WMO-`O$V8eDq1MiH8h\].2A?|4>|Mn"Hf0@ El;{}U )u*%-=e1OwnA,ҺppjR&q[ O%Mȵ\dnǻzVRgB{)Z&2ң-gCQnvݛW;F J~85Ӽm(8Ow;tR/LҐnWpJq[cV3a'є*\20uocKexpEoh4L3߹ 9?m{i ǯ82t}^jBd=GC̽epvCZg\Uh@yYi膽*? +)ebx*efJ {]D<(o -⚺Sasf{U'ժt'8I..*uGdyM*0laK~3SWoqzhR/4 ݥƫ48. 3)mlNh3)!B,NwӡGNۋMIb!!%1>^Ǥ8USEL'\6!ۛz&%ixAl:+?dauj(PtD^ B?OA+|LH(^ָdj! ?~op=u(][Z&DH?'WCcdrMZU-~//wo.n8kxRNXU/@z 2_3T0L}ۙ&nnqAPrzZ!6zݶo_ 'oׯs:kz.}tT=άΓVIԨl)Yx[_~{v@rAahJ|uqR&b%P-NP`o:Mտl ӤMt"iVvJr3\/n;ۿ_p<6TLkfczo/_{~#K݁zY/kWW{5r Z]ւŎFQ +~SsM$=I/R~fOE]bco m%?r{,{È"p{p3/ ,>!&{Ehz]0nզRURH¸xJ1` cD+o7ӧq_kŎ1l~eem,>A4mv]n9 (]FqP֪aF2}=[ĺ6o"glcpN7A!!pZBBջw/v[@s]~|Y193ЙfIVLX9S"WqLEcQɅ@ݝB +)B0MT:]Z}mͯyFuJ@8HTImEhlqo=z8lC7oz9!V:ƷեKuvJWݧO?M m7-t'M{!u,ꏾкָO +!?>w8Bq*HirhճC7]wj1P_³ 6Jx}ZLRvjmbݯ]z%4kX+řR9k6tu](lH+6}ÿۺY^tvS, fR){xAΐWk.yٿ|ݥ5#6z AwV!' +B(n_ݾx2>%ҶVru$K.:Kխy: +Jv|o^lƄZOhZ^xb:73VR8R/"V53JW2sD(Η>ȉCfdz莡}-؂$fN廰co__1o{K[ ˄O?Yj'l/Q9c4 xk-OJ)Oznp(˷uwy#@qn!n u5}L. FC@*PZxuK\%$v u+ +ƾƕsc;cGn97& :X [?:ʆ(3 2sL6Jp:s vW_?h(E( +s6?^v~rO5 VKen@,k]H`!fGxbꛯ^^k5:]zCTyԶjR C;u9a6ry\_t7Syޤ1Biw)g3<^ngd-rJK H;saɿJWW͑R?R) ݃H/rqrHTL?xU|>O}Ųʈ$}z_sMᏆSX| +dD] ԤN)4/wvqLdxr 2SPsA!`Xm93y6~3c.m.2jd2i$E":ώ@xpflv|ˮnmƷ|-ݼsȼW8֭?M9o}]_m:,I*WOyZjUSvonk^nE>B}׷f󯯾o|YSlr9 Gn`QNQ9C]mD\؈'lVTE(u BTbY\cG{oa[(>+a^usNC"ջ7o:Ӆ\h͟ *^.{ښWtw4#'= 7  ?o]U /-f<Ԥ]IGQ&9-^O#l)U3~O~`fڼm/m訍- Nl2Uk1N4d +9:1Bt$=0acWowwdE(WkJ OiJ u;Mta]bEf䩬zOkNqN-\S/Ǹ8^ 0SXo^}m*F +ΨGu"Bb*P b SݎQgM6ùL.:aq˷M=P29&ŕ,$r ckjɼ A䪜uMh_^\]TGdC`&kwͷ*kJHnL ںF5Eחow)/."ozT,d&d7 iѷXo^TA16yfo^]NhRDtAC"ŧ`f ڄPqG5|]=C~15* B1)-Rb' {u6oMkvh;0~]w/^ve߉=exqcT(F\-C<8ǺY/w/\~}C^hk\{n)C}|8nnCTމ"dl@EZ\P>8TC#%7 Řqܢg~W\l=N ITٴbBXQұIN,"6" #̬b?]~P_} + MSdʘD-FN,*f)qYcM<.q#f\}0c}7/6=[!_IVF2KkF ̻f0cRDPu&j?gnwe\FTx.-f7J"RNm$ /ft|W۫ףoAQ# 5q4*V<^ۄxĥ.q)Ҫ~ݰgvwfyJڤG +ƭylFvo++*Gd̮Ǻ!\=|V YV[I JnNZe~{MSZvBR 5tJ(\Eu8T\bjg?[J[jbR쭶'{JݖIH} z+=g- Q(k +x;7a<6ԱLNXcH,><"mU䠉)srl5[5ص­j3z-uH@ُ +x9t}'ZY rY)$ksB +&Bdurʑ',€vGTA~e=' < U@HBh[zGnR5AM. k [vO NdDB=0(OH|6w54H{f% gi>m̄ "]eS'>hjmfWC Ǽ"KQamN$Va>{6ϏsYp7AQAUq=9yAJh=:ضPz0!J) +N_a?`ѡ~L/ﵟ'yBG8[LY5pLr`nPPt'ƃ k ̆`m#z*AHmc6)<<Քy&[$,f&;UXG.cxi=:tԞ]l il\$RD kHLFT*f&J6,`ՎEm[DWP08B{HW )؅iba!$X ̐ 'O;#ȘW,)XenlmD@;NoKms SJXg JG- QNODec)\HqN,va^,AS:UJ^-Q۬Zo!'qH_-1 7;gU1?PXV[@:Y)jdm)èm6' +ІE^qS͵JDžN-VjX!/&;2|?}@lzC@'a6 á1H?3}Ҡ)б85`ORbzchZΤǵ|Z'u]%{UjU4 aQPlG+`D-t֐dMaHkc}d~8dxJ%J *yYE}"rf(G&?dCS=PRrHݤN^iW.i 3{ױT"\fqp>Rj4'9{ #dZܡCT+ ¯T q6˟"#ں¹BvKQq|'nP/K3̳ZT{R6C%NNl^>5_y 9"7o[R=#LE&w'r+M>`V-6i?=inӺ*Rz8AAe_j4QN#G6-( N̂ji-hlv qE`?Z!4wݻ:jۭ@pk>tȘ +&M &6s<{tj#ZZSNQ8qzW{"@18<-wmKisv[hkR~Nl-E3M +s,]T_MR] %([`F(#O,_nXNBE,Wn!3Ҷ䇾Kk/ջP+HOOp.<' "~`~boJn{^-1#>5LYaPΑ;4 >iUlA2]Z:tgI>ӟ!z7 +q/^^x+BX `pQtfk řXuNux3MzAe.%2| $'"CdITkd$CRzޠtgzH&/Z)(qKԙSܲ,Y27ZqDaO<1%u% ZNt@;-9RH5dH`, *1%y+ifV"&)zD"j"mAZKdH5:i^*Ff+-`ڊJs)$PUW.aKa +C#ެu|OXi^&b,Z[)W-Lx8aGޞ-2DbMpgdXֱH T(P:Z7,]W{'XIhxtXƹ=iŔtg2u PwlDUǠMףtA٩g"kQH¬@*qf#õ82rIYm)oE.԰*+QU}OWchQEɳFȪMWiFf9m8ڀ6~cAX ¡݊4MV͠ htnZ%GD `~e%Hv)HV-F +X֒E].7 kg'۲\}y1+u-RulHzp1N,rPt;@DD|55ZvQnfNAK>I6 g7R9אP? 3m۸ree`K[,9fG;Hτ>Њk:`#5naGx^JfRd(xT0 Kxg0hkk_2}kӸ_\X.&IMrQ$U%fg_ҜX1γlVfGEzEy$aHZ1kUf*duTH9J)1L(D#i0#)fL`VSaQ@sG9[}憤ņ )%9yKQq(‚J(m뜪͕cO͘;ro* zJgJQ:)=jp0a6Pl+Dd! +3&VaWԼd,#ڄŧ]M^DG-FTU'%!K+E׀8]P 8J^4g?$d;)#80vO4QH%Ȇ emN#\ϣ $$bJe.is sTlR9 i^mWCEV>d" +o0EX^/R91n8U +EMnT΄..;H'I˒~ŵ<jɹ=cc==!؀ˑ[V[aʾQK-h}G xK9)bҬj"hPf3)kɉEssY,|I{#`%_uf:#ʪs8P7)`@@w_gЖ1Ki,e,CG=RbfȂ8H'u4DtF*n7*Hgλi5-+V sLGůNv3 M, f%[ΒU1l?oq{mWcA-%Pƴ/ !P[Mjy^3zgZ) L +$"dm6k١"͌ޘ̊S аtEmN&#ᔥD!oKRe^[Yfnj.[NVs[~L.)18 f[~r@_,ee#(Tq+sFg?s:51,obyZe'b91 +|'64YnX1Zhn,22mpBC.7-ԓ0gzǟ4"f<;'}we l1y\Kaҕ6GusH+Y!X9ItzvBüÝW d~'PяQ6xrf-n2Qh`5BA?5JmNqƥu+{ᢲB*/2y'+"(RkI"Ӓ#tY0̬EE-VhWI#D6=Uh) 9RMfBճ"! 0*6q]ѳf-Wgءgnz㒹O@Qqc5VXԷz&yrJ:trnEyUn& P#̚ R9㑍 vkΏj:eǔOEKpev-3jՒfěba{7ev>ܦe0YR/tXog1,C0i\3,$(W#;vGHwF[7tI5'#_=QPv9<3?-)T C5̬P4B}di73@BKxW'X)QZb%}@30XXC#f'̓YdD8cC "aI +HzTA2L7-Y;eNbIHԳ"f #GKS`³@槏k1im>8p*e|W9\kZUZ!B\}gpaA&0 +S2[mJ7 +}d7 ,LgpR@ӻoWnZnn[hd"NZjxY8#N6$QߣMzDHC,kb*PsFA3ag~m?tR67 +/Q\CZĹsf`5>Tsw!lH4! * jKH 7%ÛVe(fJER-b)Q,uMsJ{'.us #j,|6F9Ҫ mF Ze_U˵z"oEw]NqR 0{P;z' +$2RdSt$'02v V`T As> L7P}Ayх&qh'"ٞF De&?n]B!(5xw3@'܁\Z RҾ5 Iqp)*nb胤DϹ&‚'7aGC6 )ys1R-V$9\UWhy>SJZ0 ҘѺ!$*>]rBYθOa,d)+"izѸqN0 +;d>>p/ł- Kؘ΂4rb{KVA5*  rm9Or/"x5FE&p6s` >;1HI0N(iSZ5Dg0lgNxQukk +:y)%A'v ՆG"Χ:r3''@ {@HfWґJ#\n@}@i 쬢bN\6э62P;9㾸.MR57d +`%:՚c iTM4DvhW<2,\II|. h*b%YО>ZrUEm "UfپIyMۯ(F W <(/d`ڶ 0ٷڸY(]e9moϿ;5LU- 9yN43R#`~َf`*87tz>I"x&CTA Q*X&.ސĐ)2G(@&fdW>IyMk |!W@e1X1$l[Mdel`穻sz4w߆ʣ%QM0!mSɪ !Ctr}P-,VPvmX.5)/pY:X%K;O#Lnء5fgmCkch/ 1adZ0m%⅊/&pc&i')Z'ϨDsgz #U[ zf1HHqv s%ʤI:\|)`n6]0Rɑ)lwڤ3#^G^*Qhy{a^">,vY3q"HNv>#so=2?pJ6F(KL)y:tU߽,Vjd|ސCZDKv%FqBB0̌Wo @.BDrD؆[7XP>t$ETT?'L^34`%-E۠Ut^z]atԏv$1'3w4,=X(ddE;A&/-'RLX@~1Ǻm8iG$+9dyɚSlܠyy>dR Zݐ ĐƤsU/\3h6}_zV" Y:ˬ"hƜ<6ugrq9BjG? qVbMy9Q ye*͆s J1M6cEbFY{gx}/!m&t{1G]bkH[ߖZ?%x -xNЧӛ tQF WFvJfY *i4r-CRc9v!Pj754yqBdMZېqT`&VRo pk ))+R@.<]7sUae;Mn\9BYO80CYPVu=].:Re$6)\J2H `]m1PNxs 8Ō&,[e;Lx<*⊊N(# Plڋ.}2yQtc~Ip6 )Onė v5Z+MYIJL{|0n5KQhDK Զh+ӟ*⊺IaWf4 "EZ@U'(DcAyE^H 9LɥQ"^f}7+\> _޴K#="VόH-g?}L/ZXndg HvEwgoV 8?(7Sc8:Cu5oqZܐ[_TERS/C2씵ms:-]0*=J~beIͨ=֧ܵVN;'dh?DfNn匀Rkx'ա tywrP}*f^bu蓚1:Ɯ&F!dN2XR;Bq$*M\t-SfXitv8kYVF5@|[ڣaMX3* + #K Mj*;2>2!N5hM"7h@&t%i兝ۉ p&*!(Ev #ї.bE#2wڅ +gkJ4,Bm՛1,JM=̬$h,UIې + s0p1d+m>t:YT"/*) RRxuzͤ*PaUK]2娝5{_2@k[e,.ň5ζIɥ~ؔ5p#n=*K^,lNg*mbnlhJn"f ! 啡| MlͿjG $EIka}ꁭHbL`l*pTCUvpjⒽJ}&\ HY˷hfT\o 抔TvY;sz8ͿAG` .Vt7@lʤn0gyVN<LcfjiVBF|slΪ@g:mP8v%UK@b*~$w@0 +2GXB pڐ6-s] ,0B%&pA6LvS,9u~ty7ѽ0,#+Aq'A DY +TrkÕe)vp: tD*g0HT5' X(gtDU\MLnN~7/;z)?}1"cyǰ"FrHU yN{c jD-.O~gdRO.ױ[{ܾXkcc Myw0CV/+?_ :]2-b䓱$mP ӵE +[kK7XR~(2ڳlK0gTUJXiܣpW#&`ODO4z"p0̡J*0$LYWl3 !V,~x!a嗢`/ `qh# j,flw|YE;Jl6 q.>ISAV݀&ݨA<"ORA%1TAޭQޢ +S8M` I2W;88s鉦ͦXLE28#`砑:Jl ++dumZ&e$i(ijFH{&hi:Yx^'u,X1 Ei=32a/Am%s +G=ʉ]~RE^_'8:w!)ˏ*kycIW/NO_oABmƗl}'eQz낝(^ĻJؕo4nU ܌gz%8Cv#J wU.Aև|'7e cE='NyĩrL3(dSm[/Kx}[`Us{ۗ]%x6]~> [*d@P֩,j2T_d}!XTTKx +?LSJvf#&zP< lX +|lK9׍g#0 cf2yHd E`7=0v0 ͺƯQհ P}~ۮZ LjNUj1h`pO۶AL ++dwּKA%:CGY%9hԥ-ЉzV0u~8?,Vmu6B9ԣ 9 ~* +MJ=Q6{ܛ|6WT"nl~Z +PC;jʅ/hz%üM.Cr|C%rWˡ+LP)HRnIK2 Xװd'"4,"}AVm(MT7Y< D\O'Ūh(a\]-ɿ!tUD&oe*SDWD xX;n[mFC-3mm(6.[7ӈ:lO rJ Y&эjvbwfoXfҔȏ^{jwTbe$S.1gAh +Y58Du vKIs};)Pnt_1q+*# ]ZPBVU4:T/hqS5'U$I +BЬFRo=` o0r#eܚ{7Q| }Ç09kXiQ3˧̜t>3v=Ғe%6fOq u¦ll>ԕN^_B.Ltn?Я_jk7!2N\r%^VWV-Q(zĊdY֖SR~OѺ徼UY"/X)ŸC?+^ +^TRMrH);?tyͪTƙT~wV16U9L[hN*EDҽ2hiA3ZWd +#Δrc"a3USP&AAPߗ +WVvߜf2Å] #.- oC[[#e*Oud-+&\Mlk~CCضV0%k]Q:Е]\#nHi+iԾ +rԝwvOc컧L1 +q< +4Xe_ZߌH&KfA$d{Yb5UBy }yF|_]Kua6soSg*Wm[̸;*Elک" g2 +^(DO h6AlQƷATqҩH"wQ9lVkj9Sm$onIX ]v:1%sRTI C%c"-;7LvYBݙ+ĚA +"̩^ _ cY'"u}J duMm6>S[v&Mv<VnʮaAl2)BO!P@}7?/pu<׉VQNb Ax:eV2QàS/fԌv[pIPlk`s +=[*c^.b=iSi 58J2s.@OÊcC $|j{XJ(\u,DRsz@j%]|\7!Kϵl ڟ-1P]C p}Yci}oFW9iUnym=f#] Yl«^ ĠQw.#X;%t5Ai^>}連q-6 Yvx.p7 +Ja,\%T+6 U:a ]WV6+Ī%80SmXr8*B4%٭zY֐~p/MB7Ԗ&{ֺ~@W +7sW k:]1E*}_Ɔ<t޹/{JB{a .u7 X 1lg~>P)n%$eWSn")`j)&:Qj9QU N"U]g {,KUm:e;{2􊺫(.Wu\'`#GsSpr#ϊ( !Bձ1ƖޥtT@eF0@C5biRh*Lyk, m̅nbhU}*BՏi(a: >% wu1(i>-&iN}<}Kk3 tؖfxqV4 viܯ hJ Ajpzl,!Ĉri\FfMd]=UBٽWfNbk>?Qr`EIICtY4y Vțn  \dڽV9Sl'zb։]`D6jـ!F JU g"s3?UUԣV?Q _/^ +m:3@*zc]C~⺖?lь&xsoɜ?7@y6 $gc+1[݉U™L͆Ȯ3Te90FHsӱmnjR 2!٤[KU+`*>*`>&st2s 5n3JajU st3vxg"R0.EX_wQ@"*J@|YM*[mW{5jv*LjK +zoM߼HT^BC;`k񃴞RIXձ3e1)}i4?aLx=(6C](: +]JJUAoVݖa: &6p^m4l@8*vRa7,cUE0= .(}ax ;͐ _B.pri櫍6EF[cXbJڻmQ~!VXkǔhNAǜh 2ы +g<-qOp]K_i&\K6zC;R&A]X_㸨IrT)!q($3JoAHTʅ 匯ó\َW8S+d/͑W&Uc$~eFR`%P/8vj̺7U-`RÙ*YaeSeTAͺz(&$!8[_X٘_hEZɤ1u/0rudePlUEot?MIfWmHnp._h匂_XRXkE @EUaJVHfXz'4Ѓ0Z! +0#A9 +=]:K:%)/tK㿢kBZl $?W + rs~[jl٥=\Wrsok@Rz<eG@&u{uT|Vkj&yt \܉%Tl13b++Cri}uUUSRpw3'ZEԠӗ}Kgs@KoPQK@# ~tJւ:WHj q/\!֦ ~X=K֎p/6sQvL|1 +l4;!6\s$a"D"#mNB>)?/٪JkoKU?(\ +cԳ)B,|tyg!|K+X*FūK3h:'y*1 R,)ԙj\c.O_q>#_,BW5}u.JwWx@wnwӫx@Bl*6CQ`D)FBRP^%g:iUѱR;,R<ʁod(7ĦOF.Z =z +BmXINz^ Gv.n3- . Sҳ + K^w'9UaF0ߤ4Ġ9g^3UAwWogM 4W.d !j} 2ciA熊T5/jD^rҎ0h و?q()0_N5VбRO[BrRYj̔Yks'Ԇt\5Pݬ +i58ջ[4Щ X繍15h!v)?l [¾evˉjF0tIJhzu*xE3LNjK A-\>HJӇMm0򿺽R]{OZ9 ,gpxTL_*p5ef U.Iϩ[TӤXOuk}~/~3{3FR;MMOMu u50ccWˢ*8NI2יH9|0~d\6廩o%`rzttxVX\BUWCgfOޢe!,M*6\5xy=m m@OJ翿D3yZ)/fʹfo<զq#mԤ꩟/xUA(}PHK3UO-B?ͽjPG:j}/^<-àMV D0Bs\-]|Ly,`ٜ%x]} so&:Ma:I,?NuJ0ZXیP^w,+8F:} +'!-ΟnрA";fW@VTP"8/[=ta`ɹR +>W;ꂆ^:$Eb]dC cXZ. ץB餉haWIrgq՘gk+F`P+q9U0=OnS)9iMP_Cmw&)j%eŊZ 5חJ# +VFbmbo`@Im3b㯿Zkm +еڇr + 2Vݳi90MTdg(ukU-m!H0\*}ːr5E8 "PYȨu "ˁT'>f83sx =f`kmC:ƙc~QFtiZQ<BMQLRUŜ`ᾕY@R* +%?-%@Խk以({{@EIzg4&w1NL-yu3H4,63krE5>[rJ^JvQTruL`NJ}9T=R]?ΪoK_*QJSky}1*4]7=噣兯?ֻ,?Z@M6MJP 7SA׌F5ZRE DxzzU @Pg5kAnDJI5)j&_Ǫm]=w3|  +aөuPb$? O H9/WLMq 61lz=w\Oi"T\04,/%^:)V3ǘЄ|qAvv\7=AEerm|:O,)Õ|o[ڪǶK玽WQ9̠`v͗ _P((e\k~s|5nWвΆV2*ʙX^\ M%ZNtbVs>k蕒>X*y!Jhy^nOd84 8\ޯ|CEP&vT6St4e&S4蒛^Z@3cd gJ4ue Q٦ь&D!-wuq1 1Qٰ4;26$SoU[" Ks8m×:;*+sIhppuY-v̉"oL;fo@r:S2TTlJm cpK۶ ZD ?-ٳz_!cbtxFmĂPT,s汹BTٍ"閙vzBUY{h- SFW*P#AK{ڍ*xT{N!tVρܦV[;%),'|kJ1mF?*/H+J;n7M]`_輸jUoNmakP"*Txs*w`U.1:j, +Ѩ$ߤڪf꒡)F{\;U_V4߼umk^A *@W̫/PSR=#[Ҳ̡MHt_-2ו uhwϪf*>W Hˢ⨐4Cx L ]@`tFNSXO8җЂa zV3Ua/QLI{}9YRuc8# ìVcaT@N'Ye y-K7qPr,'Nt0#R ۡ^^\T&߾%R\)pVog=19O,S%3{>$::t i({i 9}rssBkX9iُ5Ll5dv" 4;2|}>NSJ@dzYLWkՇ "pW,p+yUX&}_F< D +)]0 =-\vi-(GJ{;Ɋ׶ȌfG_̾VX7Lь!-3"Ayܳ ۊ]%EnA3z-&uu73=RyY3}*`;YMtMÝ LE+X@.;0Z]{tVz|vrUŃ:;!"1 *E hG SlFp,˶J!#ҕ̯g_I-cL[C).s:1) %gzNT\P E{w9紧P*{ .#9]Թ5FJy1$Z\8zlj 4Lp *W%9^nQ SzK%HP Ѵ5pYр)::ʀR55M[j&ժ!#& Du1DyHDfKөRp>4F$Ecy8'u-32eMn6%XZH yJ\Y+1?±$EfU-ں_tGߢ!N՟!txflQBGDwP% IWAnU e$Pg3ߟMI|9Zawh,袜-l *;s6["<!<ӎkW~m&dd)3$aWp1QutwA"sK's.6TR,5uW3 3V2{7 :cL3wL‘*P5eWXneԫQp1#)AdJvj +){)쥖ZrH4/0' aE=GsN4;C:8B<n)wӖjtLT( )K%Xzmr`<$&ya%SqrF':8$_p\yqRxePvn(94x/)940Tar@hNPp9HNN9-kGhq |`S1ĺ哪oUwT0(ɒ 0iڣȉDJ<*&4&sJƉV{B Ev +9(*  +,K4C8%Jf Ɂ!;-RER2&CT G쯄F zecq DV\z[Z /sBe|u6_Kt~VYflkv@qTX\S'ߍ]tc~JK&u&ejX=ǹEL5cBVmK 4xarrX-e~ZI-"á2TJyH lD#/2NM{r5tJov$~}\3_)U&F)&T>ƉX +8x<7RE\X~'1P$qhʚ8Rl;aǢHZwgwM>ivJM#IY +M:t5TjO;$q◼wTײgq[8oAyhKđ߿ .~ sh70TnhHuވp%z1 D閛<='\K dvԼ]d(HC3ޕՂ[%"lВw@ԗ>16vlmԒO?Vf8@@2gT0c +ejhYEOG3GSFj;7oBmԼ1eF3WZo^2 ޮlD9],u吟#&&×Q+$Zrg` ^ JGJե)߉NY-:Ы4r>z̊hWlϺH>IUYVKx$c[ðyqctm\5&U+P7gDH\V ;DDG\P2zսގmC)2{GHXVsw/?A +yvgܬd̞ {5Hu&WkHKʾ j;%T42u̿Ddk/hMEs^K|-oHRNw,xC l7<^u]J mʓ!~ 2X#%zŬ+aUBu1b?afxԻS+y3q<.kжk +$t{׶z'ef͍T3#)d*hK:+r$, F6p-`% +e\]18O%vK @7 *:ݝ-[OT`$ɹ,A's|*6*a?:=[0.N*80\C\x?~%(%F7$l]XkjUQ~3R'w4}G'>2@.W[[A"ގ(5@}ӳ:-Gj@$ N#3M TKʜ $t1(E{dŌwrV,bW<|XBw" I& 4ZSRMPJr|@ +x5w +q:FZyI,r97VlT|Dժgd}Pi ilX; m:@@khz zK{n3dKQ'ɨ5ȯށDtJjƋeVy~t+6„\cG)YR#`nԪ/5!!JV +傶P S6%{)-)hʂW^ qГf:'6rqAcm^.Ӆ@,"` |BqN[`,YƓ9o"9W\~. +{.MgʞTT”yɧR+>aXZD6V!O !3UbP1E\PdQ9Ȅ + L[ir#$]=Q NSQ6(H01%mmWYs60[>ľeʄyL )ҸcFW Bpsm>c&oqr]d~pMpGkYj אY.$Aмր8'y; +J<Yh2.|@h:UToD6KcVӂm60хR6 pU.:*n^|e>S(,0hV{ߜ4M\1PB ejrMiɥuQq0RrΏۍ;\TH41V' s4\6<9$ṇ=xy)*dK*.j5aFz;}ewCj8 ښ>|ˊISv9"UdWIT , fN2'qGq^*7;>dqH4#y@xE#6﯏9O|A<&€!t08EkC(iFK(+]A GsJġF=`%jG9/DlRڅs3f6:Ⱥ7k$-)7q~F _3Iub +C6-94Qbۅ V^Cm ?Զ%ы#oʱ$Pl>*O<U vq *"8@2D +`nW\JV 4 YMM灔l.o|kDǁGuJԿFVZY!Shص㳹.Ij)Dy!%! u1P~GI=( hѺ55%7`Pa`kدs݊ vh~vP*΋&tX{5a{4 ^KU"\EXԭ و0b~(p;tv1s;p3!kd(WumҺ*$PZ-w/W:z PݒMN (SՖCv|7BweaW0Ew(!S׾ոTTGd*+pd*`5|> =ЀU_І>9_)]I*U=Hsb> ybҪQBmR ʽ;O;RPNa\m8 +~ej~w׎ {awrGsX9̜pXi7-rbƣH=D% n؃@-(v>V +qxZ LJ<z\+Wån'PSC\J T_etBPƻvV;hg0O C(fVGLk2J 3h8ꕳe[|kV{ooU8tgB$mJj]D>r^ڹRJ? +zV,C Mt9f&ișț?ªT=E?) bmwsT-l˘n=ԑ4|G]= %,ED)@r-!5n(!Z<@x^wWR栙nhqPN)Usdg w],)kv9mECI6@\8gUp)w HKMA[x%D_7KOMQGYL#KL +d# rme VT{V.ٽTL5IBoϗz7ͣrovAK!TU˯>MB%-+Վ(Ŕ숨KqB4(w1G%y{6M0(;w-դ}!ٞ4x8q3u|)t~e +Ui6o:p5MV@OZλJ!Q^+>)!V0'Wv*ߔ +ӆ4jbpSż4~S/UsRF3~RBZyf~XZ?*ZZ?b ^I lStٗDmQ7-H7sK69) 8YOIl,xM+7#jDu%\!p%3oҞorz;tPLi*-c\=.)锷h+^Xxq(cɕg%gz诊T@:1 g V2EW8T#C6SӖmZ$+cHŀ&vWxH&XtQ;'T,hTu&|*)_|pKd9flY<>0]!kuNe#܍^dNip?VKn51YOtO\b>.ӉNG-GT5'7R]D' +2,>}H+Kr16!#z˻kuP SIf2ed m ;⤭ D(Q7ZbUAYEG"npD6#J%c 1&t@orc ET^Z8J|>/62'#SIAF>fk\SwlL2ͷ[cw!{\G +b? [NhL?eWRF,0/GuᓶKcIwVm ! t˧g~k$wqzNyxxzڧp{$1KYXqC47A0cBp}zo:W&ͱ .[ozaۇw|ǧ}9f- +m_7!Wd+be*pF[TqOn!+!Eؐ u +߭+7sf +B6bIIJSz`zk\-3gڦXAp|W0ܘbu>M&hhC]jnt?7Kv_^d:guw$!4L׹*~ryTngq|OOL7ώ^.e/T;C!]ͻӻx\^aaPtB|<5&զ<,<*9[yNA)[>u ^"0"<[Z˟=؏Uߜ>}J|1P@i򡚝A_ho~Q>zTʮ4XĔ4X;v `.<ǧ{_A@r6eq.F;JIPx{GRT,b).tbH$#rww*8'`),l3' +ge$qLu64,t燝 t>_o՟*G.@ްgHJEW~nF&YYH$@ڰ(XjB# 4.\%o}?J\> E"H 3*, @撰]'xcЦ*lzwz:M9|v÷wZqLC uX] FwߟNff?>0J^.!Ŵa#49=}y?NݧNws;HR F:'ഽ8 :߾ÛhsLհ;fpY}qTuB%9nxl=KR ΐú4rc$7U~x3T߼OKdB_"˼1gcqpXA=QϞhJx^"y| +_>0rˁB'%[NwW}יk/rIcPׇJ޿NɗbsY0R ju+F&ۧ )pAI 9WDф"S:O||*~+g&prpMQ[`eSj~dA=@/<;*u=x-Tiw9'OF_GkZ) |^%Ѐ8}ҴnI~&O8>Q*V%=P(qtaEJ=B:C[F'Fԑsa +vZ4A(to߿+O"OO$k-k9ܺ=%w:/^!$il{.r̓@MxR۸']}/b2?v>(f藩%ƤtقsQ!~, (~`e&^:"3rXv !ݡ3ہO߄8oJ@`L3|Y2R=KlbTj,y$;C Ϗ߽Λݫ7״0sRkFߩЌT ӧw?;=!0Tu?UI*CR iӻSЇ~ |\xo7%PdH$Z 45qͶC+IDߥw߼J#4%SsDQ9[BTd8ig|@}OO߽,1Pq̜dMŶZ 7/Jp4?<{P#x g)"tꍁ(qk&56RnH%}*}60 +;?H2آQ(m6V3 T*)~xre2D`jK:k~)3NG\0H⓪9 h.Y=c/ݾ9e:M1MJL&RX$"_ ( +JRI6p49x=<Ïot?OS0:^LLڌ٨bMmF;BӍV,?xի8=/T*k3VK 2 T߸PuBǣsoCI.OA."tcRѐ#6E:nkۋJؙ[̸pz߿}H=S){νz]%@ +(8X*NIlq_ݫW:eF +F!ea_ `y! fկJAS ;76-d6ǨUQ0R؃S{PÒ)<Ӳ'v66ErA:d)Pp,2Y/(!)ArT\@,nyZ?M-ejUªPz `MAa Ÿb:Zvv%+P¿P/¼əiT[ G\T5p̆{cPմ/c| Px6LjJ]XL>t\̌!#ؽ(ð>}8㗯 $u C=זU b^)+*+p=?Xbk V +6&I^;S[Kv!F$1֮_ G%VN,C'Fr@5F!d* O}w_ݜf ]q+Z~7dIbZ/Y +Hƺ'#|rBn9ҟoXi$KM`|h(u8$،pL{_~q;zGgh`,)n4\7;C-]p~wpn&dMPoo{bz*_䚾?퟾= ұ;42nK,"xmH=r9f5yY =1G6ݢ?ޯ2,+SQ#uц̪YZhDt,&DB-߿$L\Id!6+ؠ8#Nk7 +)boL8nk= (Nb#o3 yO|,&{jk=?Suw}i]l`ѐ +sUlHx>~{߉GOsL2GQ-e9Jj۷(3`738K2=.IWq*ӊXE%2Hw- Mƥr}ݾ6O-Sm'9 3 G}Xn +z؞F7ߗZ"Jŝsdnr6q=Ho~ZN'KnEZ "{e8RIS<>7x(q&:pKEXpcqtL +/W9}fV;?XNpp>S t%^Gؚhř>N_ݫojs7^M$j7L,I,8q3#}&cBa h)'Zt͏@N#^of .Hx`&I ɮ4m#o}o~}>$o⅁AڒjAEk_a( +z7)S80Zj-B/^T@06B'\򕝦A96h}}1?/o~կhQZsǛw"SSԖc=8c놅6ȧW9|>f=Y MOh9z gl*8?۟7fgGeC5 K$ZL>HP˚$S,&zȀT {1bZ/D t]_|ǯ=G#떉n8.ϿV?Ѯv16ƷDY&fpp!V "?wֿ,yJsX7oz}{{Ad=ɴV)4ksF{2sx}^IEbojzսZ{B$䕰!@FUR']}8 Zzů6WHO )Ϝx,4E2n|<<֛v"6[i!0 Ra *;B=Y2^niV"l,3 `I_rk֎E"NnB<ȫǏӄʫ<% f @1BO_˛݋.2JuYxL*i.?G#':xǻD/ݫw/ۧ|#Tྐྵ*$kiHE6xo o9'7ԍLd*nBBɬ- ~'0C}c'QMbzZi^W q/lW-{' +XẅDIæ7n,6^xXo޼6N֤R [O \QƬL^H-&YXa~X]=VVš!,C .84[~-K:Io)|o>:eߵtlzY )hSͧ Tyv͵z+tXe~rc+{Zu 9"6I6():"Pٚ&0ɍɢfo%Ƿ?|wpy轲Ԣr-Fi {T?Xka\$@J ~߽u)국WBNjNb\lun*ՌǺԖVTXlv^M[UЬZe|sپ.)<$UIzJ4ۚO +m@ډ$-yC&OlQ̸8UX9/6ft|2nt}Go3pؽNTK~+#p}ދ9yG&'7_uy<qX8q^kn^uW4n@Q[\eV}t,ӚT}v'|{X=~+4Rxd~CVTrwTPOnfಞF$X4M~,0W(YvI-C/_z/siR\D$@`=δͦMU:(Wn=ۗ_^LM 1LL9&orXNHzn{b9Soo׷Yw_|w ̽/B8ne25}>FJw=/!*-z̿/^23Q|^j`Yxazx>7ꥻWw~ +Ȋg %ӭ+6KL_ɪwVQ +Gvqy7 sq6xzT|rgX"5_NΎ Pa;D:p|q3>1W=h޿~wjRc;)iA bq1@±V$?|=Qxٹ&8hD ,-ѭ[  .7Bmj!*/|0%Su3;=ǜ!^r'J0]M_PʏB +J~ +WNIJ(J:i>@J?z ?݄wƇ6x_`U^̷ +_ZL2rT3D.9#YUڅ}ի +L9gz!z)alG\0i9$P42D]fI$!DRJ}HbNS,h $> zo_ݽ>D!30Q0X1$JEE,e],qB M?^_>HW Jn9ǚaB>Bqu"s~}T9Lw*oj~^y e"Ƚ1׾qū ذ/yk^n{x$_ +}%d X`KQOŸ/_|uw[?ʐ0}Z@:)A.F |.h=40;{Iw{DnjuIABt[w"0T]ȊI5<#Z^޽˯o^>~kbmo_=N]$H LmgeOa}Yv+'!~dQЬ} e X0Ps>;~{yx./B_|xL1j1%! +t>\1>F5<GH8W__IʩDgVMQܖOЗ}jĞFL%A0?}x{݋A,'![־ tΈ[,H޸5\nD{e4@w%҂RA]jT_0108ID6~\wWo#{2O^6RBlC=P摹xoT۝招yʺ_728i<\"x)wX0*<<.n Zk.r?zWpGSmٗhǥtֲXL,e:N ALJL&^!( +./WNLF8ee.A6^u/'@OE<<֓e=ryq?gWvm)U|3?淓&6Y씔GgķQDu,.*-$~6DAs)7P$޻aIa]ZWg`WxҜb „*I TZTY4 61ٷ)VK%,BM1f)t4:">| -X%bE[=( |Sۜ`PUcm)-BEn.t"#D'tTil qf_n'nKwrw<\R2Hl}lA`a %xAE@B4Emo<C c_]vZԦ.~y33v/\o<+bd(sfi=BypAH(+RMe!ܝ IY؞yyY$QuHSf)9qu%UGq1 %Mő_!(=DRGr%% +C4؃j9S[H?]wIMy vCW Iv#o-Be`Ia ̲O߱Z;N;bUZCM<0I (cpu 8C9[rˇz2wE gzg.dM =xe+@R\ٱpGLO?Bg1ᙸ ce/3afٽzM҂u\F@IO422R۵UjcV'BN%˄VfeJ㷈p1Qո1Gyy;f[DVAh 2flL8EȒI0ԣngԡwĪ*[3}ܸ$bL Cʖþֿtc ?`C =֫z`#K؏ iT5C$<YAQU\$8jeV#WHdP2u7ML~iT1/>\A %kN )2iX)Ī#AU)$ZN#.>35R_wU_5H 7 dSƲIٍnOHLRT/Z2XA7 uMpVe?sb/ ekLj>N4GEëse0Qq^mҩ}jt~ E.3$mMR6Ei 9ޢj oZs)S- HQwh<̷;bV/ߩNJo.Bu/ʰ.vWܚ_Ѽb}?QuI`2ڰ"! :0Yc9\ZbIzHJkGIq*BYT]m6Vn>ÌArGO%5\({5f5>6WȫY!u`8\"¸htۖ +r:A8 ?|v +R6d;gzDP#[Qf\{n)5x2ʳ A|#oP۴ZBkyikn6mj#֝YX³-00KuKK3>imQo`ͷ_oA A ]\y02XHD \rF5jx8U'PcW4~6 1{2@*FEZ@heo ūɼ|Ҡ+Z?ɄV+_Ez"ȺL0{t_LVIH!ϰFX'cy|ɜH9&sB/3}^y}P3( t0)H֑-Vb(% B0k@+{".-g!#͒(ȿOαmI-j# +Q,Tߎ\a'5mz g4rPtpH +G>_L`QŎ"-v6Z;xo*a.W0,OP2tMM=1`Hł9rxp43+5*g0ִ[Y`,EQ^ ێPgF< UpޖZ6+N&ԂOHyQ>$DyѰOzEOZjJ)VZ,R5x59_<#㣦̀0Г߮އ'm2V|d +KG'QU XCx+VRBh) 0mC@aiPt!l+dʃw2lԧjfeSP Q+ ag*w,{â͞MѪX) vֵE4,H赥TscXŦI̡VwYBtP~fCzWk0RT? `( [Ug sY3IRuDS,4No`Sµ0rdSYg$(U,!]{E nQBեƀ:yUv%xmj< /to)͓wЌCca.B''uŷܼ!UK((KfDRkHTujFNx*a,ܼF"܆~rS@-rCKaD-2d KXJC t"d@BM.f^P15{ nz$=|(zcwe!)ZE#%&I?/-j41feFCr ~*wOj{l8-H +y91tUw3ՒXW!xN(aQ +aL8XZog QMs84sX & __ٶ#sG> zֵbuĨ 6ʹB1_)\#P޳k0`F;8~)CѺr bݱp銶n#Hnj@f8/fKL =S=<\.]):߯h"P(}`dBȲ֗. xћOY;WaV|s렉M{m͹WB[ ==U85^8~j]3`QNt;l%3Qٟ(!|ukL9Uw9. zr `OjwoI8fϪcTth۫a Uah ۈVtEF_K)gFްQV*5ki긗hNŒ.=:Z3Lύz$ؙ8DSD8jڹ8 r~7sdSWX]QKc1`r}ˋyn audt!PB,)]u/m">jq)~X `*$eWF̃u |_.P@]q(do1Jȱ@T;)""IzhLۉh7`1ģ_a J7jՓɬ@-ڪC- 2(Z∴Si*ޣ^a#Hk#-̍{NushiϸY"xM[EQRҬfSǨ/_oP& &ƛ!«i€,sԦ963Ƈrq˫)0]XJ.ZKZaӨXfw&2P7v,Ytr>d&~xKwr1!uUCJfM+|p0"&㽎ea#}h<v #vd3kj9k˯zUoeVY8yhq=Y~5ڶA: \;@WР0UV T٦fL?vyHd Q<'?2>f +{>& +5Cfiymj}f1&ȊQlp +^p-[% .x 8&)z D勤 P7L6KmvPZsh'Sewf5WyWrODAe)[3_~PiI@L/.7ϭ"H*I!v]~leL JS ņn)AwG6I(1s+R2MùX]N-M840zXqk^ Hml&tO +Z?pY1⊃~Q e! Y Č+_MZ&<[z| b\]S+yZn$D{t{ׇ)0hF,y%["i;bʋ2bpʰ25z٧J"˪ xpxf=@<0N*-Md`Au[$DU\MriaID+5k.1ßcPIF(CZ3ɕ㡅P')a0kg;l6s5N؏ȶHm|-äM!5,zקmgU#8<'-6i\yd6oTv7x-|gpϦK'5_%:L Spt#<\L}ͤ~kWJ`Ѵbtb[Kl+6C|wL*29f 2\8bC` M[L5{[4WGJ튧v1h"s#DBOJ7- ֦BVQn:j`q;>3;c%\ӧ'{%6Qks/_O[ *%SYkkۈ :utr"kl>TZ*əfgD{B]Q9p +jٶ$Gў߱[[h@^4z7:rJses7).5Ѽ VsE^)iٸdf'FЋg1Rcz5e⺻3ugMDͧr~ޟ{[.: M[; :nBXy@6OF0pSu[X+|3.cdSXo#G41LŊ +eI)`&ju%@zl^ɭa)l]f2 P|l.ӐTzKVOf<ܬԹW6d v.3?A0[s,݂9eOQ9a<ۋL̇O0Vyp+LmO;qn>Fu4K%"rF²Uh$1Y)竃m-9tOg*Ν[bx)am0VE> +_UH~TGӧ4g+ϻnDzXǵgoN}+yjt|fhyL\$!Ȯ2O&P6FimନgqgqXIV7fg$jfq|2#=HO^Rܒ]9'nD6P^)۲RԨHg,KH:;ZѱA-IУf4A٨?/xp37Nl ~lOj +7|Ͽ| `: 'Mbr'HO!FRf1]kF]}te:;f[REhWY}oqvAHF¹;;1QD&Fv mdQj&6΃_sMP=fšV>չr4.} \nPJfI|Q=uNbT(\N-_~z ʖῼ={_hHu. gMe! +de '~r1P׉*M<8AHR Jgq<:3*]en4[˜C6Zl~od95Y')٤F&zh7Gd/S.].JGXS +xՏ9TP s˧oŀ&ff]Onw۶Ŝ6qeDo}m.NMѢ _y1$יRLE8Z>~^"-N3@P,ȶ/B_qske~;a3LwR~OYIuEVb3 Px*/9 +dl`V7]MoGx- +/ %Ӏ/ +^f +mmX44[WƲ-H9焂vأa$w{Vzz!t>*;R^ ېGiSMORRKvs|ʵo~=/b!1Q*R=Y%|u͒1-UŚۘZctףh6flk)D#99^XCgek}ԨU _Sg?^DFX/7HGJ1z>/jJ]rAۺY1Gt3JpvFSq@MRKp'lWZ鎪ƲKW?.?{)g^\*)uu0/?jQ^.Fı+@J4$f1qJ:3҈W27љ@ؚ@|_!f\+jE뫑FHA!yJHݝ$CGS5 0EkCZc + T%L-@Hf<FJMzdE+鸧\35}jV +x8"kzv"* [a0FE !4 +8 +[@K-KUS4Wi#HLj煟e㎝Sl"> +5vI瞶hR;{Qzڬݑ[MLI#HBV,\r)CA8Z \$m4,MlN٘ +,3]ki`h zӿ1}vp:FY[B"x+cP[uV +9b<x @̣5mǝƞ!>"v3C ߇٥U*ed3wJ"[!~쁏6Yps(h͜Ʃ=Lô{W,ڶw,vzAY4`fwf8sahiҙm4 7w?"jȼj `hzk ˨3sۥW2)B5P6Z$OXhg.4kZZU;//DGpG0\AXB\R"~&g lKȑfij;Y9CY9=5oPEen%4oQo!t?4Z +̇N>M|U^8;?sm~3i+_sUgBꛗ6uOf^X9)3,|dT @a`_C&h !퍻Dh3To{ay5T>;$=Xz G&*KY[A:zR#RR&0cbN$澌ԘAm,A$ )qnwۃAW4$YHdv5:46aFS$N2i&9X7հR]TH i2-BhyA1xH$Qf$^.hD׃RK _fXI +7{+u53| tr`1^Upui_`DBEgppH#K蹕[MXwLQ5akXʕZGLN֙ˎAG fF ɞ5v# +Խ6[J"`Q1mFfesK1m SLhsWMYŜZ)Z;3͕1΂gi[@ԐLsտr.?o'Zfp1CM$W?ho.|Qv=#d`ӊfv5ɨF&Z9DP#.QHgb.f"Z~zA؄rx2=&1 <2P8BRL#ZUx'7 =올Q[c̩QZ45S ,-q)}q o;N}ew֍Z'++ɽjUoiMv&ub}?ŴW6khp9Iߧ{f [bţX1' FZ05O/Q NRyn{ufJEuwGTU5pvdsEM&5Vuv6ioώ+ueP'?-SzwQ:Œ:KEwE͙=zNĭI4m A>mY'CNvàM#͞;y~M%h?=ƍ,xsTZAfHQ5ziUOWE,I'kNQYDp.c^. VXD. ԑs@qS_Me}SNYe #w_'oӲ>$&vk;l˚ QH5⢃cֆ<=S~}#̏k<Njn e( ?=^ĮSsr|5B9rw&d|l .ZV~VmJ,S=b;"mX/6mWm:J|:ߊ,OFtR6n=OX%&iLʾ +kPkiJV]%F#~3vRuK#16FX4*t%#gdDKv}߇^N6˲y,0&W7TDSu-*|͜)*q*`b0|Cb@B4>i$yU #S&o)]WH-c ~\ɂU7$-cpg gK=h, \BrR@JP~\ԀdV EV @D=7Ԓ*N_I +%讱VEnx(nD*.bX#g0ed"vMiNi/<7c7{q ׵\IXJ9{;BR7U}uC"O}q~vv Տ HY-27 ̼̈X0 W?]uN-T?CE٨Rjv)Ğl|L\}DiZ +_.zo\ʃ_q?@AP\PJRkT"Y/hSDm}Br\:0ɸ_G IJY8Nak_ 7*0V{jF!DM*=/\- +^4mt>{.%2n+tIp qJSZO/,͹ys8I6gw ӑ㪢m N,3Lh!g_y>oXe3 +\`[Qd-؆SQz ۽^<$i;O.i4ע^ג)#rC}Y:$5  2+ +OM1&v3XXIM +v o:}mՊ0jYcYW5ZL A WxYD}H"Wu !ht1 >SIŒeԲSJt;IP$dbAc@&%&$':J)춝+:Z;VMzȟ~rsSi +95G8G.=8v$&KꙥKYeIlOeudgΓ%:iók?8 :d,>du<,~ie^"Gжe(H{<[֦_n +޲׊<j_;ӈ ( hdnmbKNDDlÿFcgc?Q$Uc|!:C0^  q`=Rw.*+`|nRB4ʩɲx:[ &t %4-6ɵY \"!ҫ}i%v1&f` [ק=d'7nu5X 9A Ov s5jLG:Dǁ.5Fw鑾(ca sz֗V8s +9bbR]"P7;1==1iEXTG BPY8 3#a:Z)E,.Т%ֳLtFf/-x.`(1jD-Nov +QjF~ +ʯPۦ=EL0`D Qv{J驊/SB(!oOθP,t0M ~ږ79$Iu&ktZ/;rZ **@6+T +YD$5ܷ$CM-Cv&2.Fkx7sZ"{wJQ.br2%t6eVP+ty3l3.DłRy?P]մ&纑ܱF].cO"z %5 + :X.'PrlrDswޟȪGi j0:G` +bq8zmyj~BZz ms6{CC^]X+.F$~>2ceqZ7Qs#:]~*̞GM ƈ{A~HVQf)X/3țN)~",ETIV-#,-Mgs0QQ40+^ RmĚl<⫑C~ðۭ0kx +[V.qK9sZAl++>>w(F:24$hWqrF`-3uqRaӥE{e*(J =M7mѕ^KkK~,:dC1\D}DVSx~7qP5,mH.0ض~׵U8K;$zڦshXl"29yQA{;25oB_4f٨}o͠^v)jU^n,#2AmL#-lC{$c^n$:# +'gO6p6l6h75M;7,olTajbr灙RlGvb&N~m +sv)@1`.jو5waTXIj<쾀KZ#Or,,$-*QN=sFCBf} ߛ6/_`*}U.+}8f2HW7gxt)qXB*=>zI0-=%d_%TT꛲M4ǻEFE Xp(b{Ȑ:ӹ]c?BS+D43rN k oj7nS3 =m}~ u)1\+XX{fL)t9VԺش%\nAtH)6[XhZ]ߣfg6]RMnX"R/J`,dEm:x`vKfSӧ9#?ىM LW iMz[?][]šЋrŜu:67g2Z2]ȦN;SW_É BZn}nY eʢ@R +fGMՋѢ6DnHh]eXȟsfWU~pˇ\6Uȟ<_)[:-"s`B!0}ݤҍf +JtM4 Fb q|Զ"?vus.NLh0?ܿKY6'7I<iUë)D-(TcHF$6*M|j.7ΫysȿjsI#0+yl;o! X JܧyGfR zZoe&9 vEEfi$b&dM-olXڨL9f,OOre$ALm"6AGRjrgu1vp>E-NmDAiJ!~ +b[(" 1ڠue[ +{J6}L>>s\/N1YKvpXaz7%rL%l9zuA9y̦wT#k:a?3 EՍO@)D6``츴lG8_#MWp LtG՘Wڮh=aDhΪ+L`l֬e`O olE[lBC@c[ѩ#tgi ~M6 +Tep$U'y"N?7JAKQ /Ry 2j?5!Q xǔ:y>WS + O&$/re?jI;y+r=2ũitӼE]uOpY%E XP1r`7Vʪ^tn8k*fIbT +TGȕjTbo{^K4v+3~)yؼ湁/O@y:$16BI+gFyI)ell \,J*Jhb%4 ʺ0FQ@FU&}(>c|ΫפUU#}!fJڨg=39ЌE'+Hz\qBeqLwPx! eZګ2O~Q:;gadQ̡yy{Xjz~xP4S4zs>G+UK[dq$tӏ8n|zͽ! +4ɢ-Gβ6+ +=/F1HUA2&Cz\ps3xq2<LjǞ'awt!>ۍ9td.f/ R=?#dPҘԟE$ 4u y\Wt \O),bŲѡ*MS+_6gYant'wH;5h˞@H~&-ڴ6Vl~cۗyёi Q2rw㕒եXΥGH^GK>B8Wr.0$,8}_ JЋy4ZĀ6cNSbJ7܋@dFXXsqGz$xP&']MR e(FV7cJ!ddWԊ iyACy0A䇟行_N.&p +IpwJK +IF̤>14 E2>l=LR9]I1~jsF9΁Ը"*0)ʵvs-]FX2E-'͗V5I9blеgdt\tg2/#66a$2B'9Jz[K?#H}DdDAa4JO>Oh+!f @ +G\Z^lV90i!+^f͟VDr7w4^>9zhP߫}EMn5jgh$u5+7uQÛbpkR4,vrWǞ`xt>y3\My)X ++JɃV~߂ +xPR'/|j5CȒJE\p=@‹ܜG)l)NN:t"M3/X_LA[Aby]z|hăiJ%Ճ$XT쥊SNeE9}R4hU.I$Vqoΐ'a>I>V=!Yhg.:PmBqWcq:kU#~0%bWÖQxGص{Oc6!2Иe+˱O6p`s?ۤ7R2p冦t3,y#7r_fדͣb0;~Hp(]Y*n8~̰6\ D4V+5 M:xyRZl_|fSOv8`6&5Q&ҦAv\?>pA"Kn燲S#zB8Ȉ^[vjp 2 ;+beN/ѩ{6';UHӕa623h keſ YDU%)?qGqYz))Rl-J2[x!{4V^xlz&Grv,z<K!#:5=iClOZxHS(ɳȿ[!W7/$詡'ˑifm^TO]HpNGscaFb8{b}c[[4uu֧$2aDdxc6񦫜m 2=M3 +Sut&rZe(W9ؒ-/-{ưo֋*z DZi+MM`zS;<i>2Jv{ N$Hv?(hZ9L3{jHl30&Z±+ÞCݬ`g7@{V\cYz8XIm\.l=T]G=EjkM +6 SZ #I|TϛLP~EW6uT}b▆^&vW%y{N"(C[5YL-ޙtvlE!!d)x՝Gߤ/2GhEofg +CQO44K6'A#3yU_B K?02=I4!lb|t>ϡ'*GuT6:s),K˵4qI>aҖ_8`Y;S٨,֨r@añ8<㼩5.'dG^RLlVv n#_U|@k+kNe }ltrh/LO{u`e^ -fqH8j-1R'LKdAMxe +OvфCk)4ivY| #ꊆC-lmuOmxVcHB.m==+OHB/׿ɟb7NHFK &D2pȡ9YYcm)5ާM2~WբMgjKrITG' 8h20/CT\FWb|W#]gm,o0Hљ>v Eƙ6ЏV4+H&x4p;J5QVjMqb7E+3uL^:V^>#}YnKZZ'w W6'ܹXvtnjSII?Atb|l OAlk/LKr}TiwzPVOxʵ&|wCfI,u0yk 뷹PmrEbgHc`8TJ]9LgU7^/F ?ᱭy(b#ߐml/mӞE @9g+sCqO1@]fݔnb-ʩ5hmj:6iNr# 5׍'͇Oy8-""D{˒%Ɠ(1YpQ">גK洫h?Ca7 ++Fji%ꁚu'm3`[|}dű+2qno~'꾔$rzVՃY i-'_vHG]Z᱈(amDSAЎ~mJ]$iť?>!M\TV =Yq"dNVE%;TF{|DiBpZKݒ2EDW۰$E}ߩB_|8-{)ThLis~,Q\9bM]a5ZWOHT/*ٴe]V c)>ǵWd*-ռeppɢDpbÖ!{%IJL73w%Z({3$"|!E(2C3htuUeዙ*9GDFVw!](DeF^Y$nDj uȹjݾoWeD֘]lSV)[쵣հ\'C`S7mVPLdY񝬸p<6$/0\CTs s""0GfzR ΧOr"s-#^q\pU:KC\o!rxhG jGMI㥞؇3ƵMEL6}ò%.2)&Ť +&Mߕ<((Jg1a32߼<Bs2kK_1o`%_O>]Tf]51xgbh#?$fdN}0r::نI37& :УM:F2 A P疣J;ua:N8|](]$x#PLVB9Y%eD<栎5WNe(qB6D7z7 lL +t9,..S?>M <lzi$\\#ό+)H%aɔC3Oӵd}ڡL/|$eԱ(y''$Z\IJT͖dirU$i<Qryԗ3:!@ǎpPku(#gY& y(0˔M](PwA+c(Ҧf.orI!1{Zd +|RXN>I؉ۂe@3y/Ieù/=k0vW(v?NrÐQh Trv  +hk5Aݒ:4D[IYVPanW\ѭpGN#3l;'=Ic(\Yn{'g%,A)`YEKEֵڈȿ!]|RyZu"àȗMFH]|YfÛ_v33S(`R{ WkhN5¹:;v)Q *vVImB.+3v-Q҇nz׍d6~9(j6CYnyrK\91[t+g._oRI=BZ06V3nz~SQ5ɭ[!ec{PGKǜ:4o]c~pD5qJ!yd:CHS+|es#> -,`X_p:_fV +y(yрt"-꟪!Q@:քh1f&6 )h:jXBHm߽73 G,:qjɹ6lXf !/޸)BۿJHez|&'g'+6jW>*ž•Ceр(ws{4UGpG +W2RG5krI&hGN +ẏjV>hd5!B63P ѲGĚ=&y&:qdf#WQcpøAz3ʙMy_BfUl{a7x>Um:3xs$:sU#9@ "YlH8a*I~QVj[4l* (k벰 b5<(?Ȣ|{c< oZkN 1cG<*)AXn>x~s}A:࢚j!C{ uw+dn!΃xw]fN/'K38O0%,e?AVG)¯"6`Tg/ "5d/avZBHOwwI0插Fe%dBiaaQ4,;q+Lq a7\hNJ{/ lM^w?7Fk}sPVKzݐ>~޽78ʙkkcP=<{f0;*Y~ +?>]mUL~h]z }u#3q8za1"Z1L'}SaM*OG&Y'R:jk1"+t6J.ף,::j~#HCf C.~lA(c)`b(|?o}oNEOHRr-1PZ. C}w<@t̐> +ؖ',qN 9 p*}w!} +I$HކOr s*UEX#D+WM}mƹͣ'%Rb{?}#np$HPP2*SՐ7W dʪRS%#ø=y!})-1w^&.Z'#JKaEc09a +\_ñJ/Q8Y%|dBldP?ᨾ!A^6g%?(]9 `8%c$. x?|e9 +?^C2k%ڴ|2=P3??;=$os2.YG=MɘdH c؄ԝdzG&ɝ4Vg&Bq6ILW1d9"9>~㰓;rL@͟5 :bc~}7UyY֭ߍR]}>>݇cOKx} CCey$z(*2LN\KwqrɻdzRst6XHHCb=Q{ŕx:xKZ"pn)M$[ѯ{'wP{9MAzXS~~wo:hYÊ4ˉ1k'0;_9L|!OA솪\yUB|x{H1CwO]R9}#'"R1NI<@ ǿ>Oa?TZ+ lpJzCA}Bda$ q@bnuVA +KxZNN1ARSDYycL"W;?t'b"Mū 7ӡtBlH,4LB>'^n(S2}5& *O櫻-'R]V.!rHrvśi: Ah9n>(jlc-t?|۟4Y%E/KjSM v8Z#o.Kr]*gݶ@+Aoz&+S9:٘>egf}b/-t`FQ5j&; !b)VFv8O>{_o޼Q6Qg&]T(WRQaV0սݏxuF a,g^0u"#*g*iQwؗfl4SXfuVQީXbٻz0ޝk,[_|V(B]_,y)Ki{yu_l:eNF*fA;;ݭ4+ߦ*eݍ.ݫbT51OftzL1q׆(Ԗ5#ᬥ=~C?W7>jּU1 + +b3s_mn(>Wl'OoxNkęCy޴` 6-M{ӧ^>fsm|RKlqt VZ0+Qi{e$6ZstTwY0 $ "+b~0PL/J SWi8:yjb9ʒt tu3Qt'-ψw)Yw!{[YéƑ6OwC>`8;њAǔlt 4wi +8z6>]g{hHa$3WУBPC*r tW#1"O|=.HC#8De__Nȳp肐]/`ܟ$Acwmj,EY5Re!c$M\0<26#G.2Ina*g^_ a:ΓND肖VVs] 擩@bOo?~眎`xbAw+bS10Nar +\WT۠ 9nxSBEJ߲OSNPbfϲm+)Q]X0r7t +"87Ҳ(g?O|{Pq a+BͽY?L9^\,O8e&HhQ"YKoݙJJ61ꊖG/+sww8.3rLR0Bp=HD"o6.jk'iRHhkOASbP@A3L2!Z!?: ;Ţo6/&KMxN_ю=a߽K/'aU )055eiK~NcnՆZ/֯_}7_Uޛ6y"r,F 3_pDPT߿=nۿy{ 8Ŀ*gŘ֒܇{&_?x0(/)|OVn3EڗsɋdQa/kG:yǸ5JmJAE|$|\u%A)|:P?c = +E̾Zd&;e7Rs㰿Gv4"|ȀTKnΦL?9AHrS31d'h7ɽ77]ۻ&yC"i:IuJJJ'f}Lū|@tBOz6+:|mUљ h:/^G2)MQERҴqg0>dkSMMlU\I>97tonv/$%Mگu']Z{A/(u'($*PՊ`~V-] TPjӕ蓥ٕ߼lC)TՊr{9Y.jrjF0Hrww/W] a9g1\+j|Aq(;_??Ojs 4oKӰhST h֟ןo]@$H :PPNeTP`IyB昐Qi8Bi ߲Fr }$7UEm<(UDw}TN㟴YNlU-Se@="`~uRR>H7<;IÃۈL\ϧK;Aѐ|Ξ3cO{,اuepP[maw I!1Wxffufڊ$eJY#MLm10 +#qzHi_ݼLx@,C :њJ\Y@{ x5gʽܤwZ> pJߝZ{‡; +Iw\._ʎ󟷹"YfVp=%1Xv݋]ݾ~N䁴w*WMq~6b1z +:\@ +IR0^y-/o_\i<h,ࠨz%tBN%&s"]&r>xu8ȹ׻V2l)1lVS0.}2@1O~j4 0N MDKpeA3̆jibl8J6#FUɃl ~zq7/]wWr;S$"G*ȔSB3gٵEH1 {1EQz)Iސ*I8RJ*6ur@󾄷߾v7|E,$a+ ]l#Kq>e<~2?ܽt7/|=>\ 2M^>b|̀\?bNsw/!Vpo޼ҋn NGhj`'bpo@~ۿyUlݝҰskTV]W;]243҈%E&(6/QYFB2*%.n(KEQW/7w/^nAB?r/j<+^ċVn}m2o=CFO{ScK/:>vGuw.+Yw >ɩ)Tpj ^uq9q4ze.Ϝteh/5wdchX. M pa]ч^Vԕrv^ߏN′skɪ|F=1m9|A:\Pg>~WMY/pPTe}?$+ +{iǒ~˿z}Q8by W* +Z?79 m5LZ+y,rc<}70u.,^IOpgJ[hN1f)Vu)#13% c_J߾7/B Q6Sr"p: +"QС96P{2MZ@+P55^7+8HBT9(Pno>Kۯn XCX d1gSqDWOLyS"?CǺIM48^Xݸ.}^`@)+ZD:t6]oW1EiHNʬVSfI-RS\1ؓ7*n-d47*6zj +IՁ9yH +Z"b1ZVuԩH\QvLMd7B'w*y4 m5]7÷u7]CN$&m,{B4މz;tnK ʒ" +k40'z Q8<C%z&B_lnvv7qY63Y/sBy.RԳ]]͆P0+n4)K+o֔Jb0cLv_y}}H.OkOu;}>B mG0#2@+*BJx7srjJFaّ 1@xC/@ε~̬!`@d_w Bnfqkhy{4bZˁUӧӝJZv(,{g'VrubtAU!i'AdTuؾ~u|" +D?Ryr(gÙ$z&dfs٬9>TQiS)P΀!]rs#T&?;pUt?7+aiK`{IO0%*SBEw Ô ȶȤQb}&hvehEnU&5q?CFwx\`J~#|MQP_;en +@SOiU'ɧvSkLxeÖ(jPC+[iRk ⭷b5* !Vge5s+ 0dND1 TCˁEVm~eBNlԀCؤ͋m_ Tl#jT( zE%ZdA] +`N|vB؂^HsHVDgCw[ѽֽC~hPUOٽ|I1Ʈ pzJJZ/ŘS35uL~Q>!%/|mѱ+&u' 0VU] +TSW[獋:ǒO7 >_?d[nq(f tAjH#tH;EhLhMyfUKZ?ޞ+a*|5 CH 'Zx -Ƴl +>e-gX-]UwƇ$Pf U1K#f֢>? fb*x 3&'¿q0]4ErcXdtE&!Uˣmt!o}XTOZQ,&7 2/RQ&NŠ({!HH wpdi@(ge~5շOb΅YGYjC$ +~A^pZUYfTWۺhҜk(Z͙q:쏒Bઘ>me^ t*Mj[Vͯɑ~ %Se,O߇Vglքk'^su3)/h=+8F|vYYՏ~qƩ p4:.JnzGL +8Umeȯz/8J"'3--o[:DSW=6R4O6BRǂ%Dx 8S6[}FXjD8C>1}C8ڝ)O52k^#*t7]e(j@9Yڔ<|XSNX=^ Z<2dhCO3IbcdOaf#DʘdIt%P.̬3?L)^كA_dwA0CNu͇n +9`/ǀc☏BIJ>Ra/LN!0DI#=,̳A>v,3-:3r}f:KIh˰˲OԡVFyv2eX8d4u108! 5*5g5g֔`g[J4'}Hb\j%tyjEĎa Lt (+ji\̚Z.s=e.Y"(iwP#NÉrt4 Ԗ qBPpU튽=rJl+7"/2xؐ]MclOOZ,ح6KP vWs0'c'@8bWG+&40I+~g2LXc8< } _R'-!*IqLUI*EEODZVAq)ٵq>zjI;F $9jT]Z[ !<.{òw0A(ir8+LnF`ND<,c8Y]TC|FN yH@L62˰ |X$;3N\+5 5ɬR) (4M^/Bc2MnraPs-ň@aHv9L @2Q|a9x~{`Z}RMS2'ae%DUG<_Q  솄PZTh^?QЕbc !6l#%z.&YoI ( d iw5xVONcԮ'(Z 9V{"z3q6C+6<D' +#sSp. B62{?8jxs+:wVTBiBZ8k3vd\aܐ Y2 η9dl`H0xR HN3RN8F!dҴLwԀ\ ,䜏& DGvw3!$I6$.Ǻtgtzv<9Cާ {Ji8Z0pM ++-  P׾$ /mYU},t+촭0C`Z,- EaVsg)%e6}-Wi#9IA11wVuÛP +O' 9ku% 1Zv)IR46Ozo!x낢Z(KU1%h$wٯUҴź;t#qԁ|G?kl3pǨn͔w}hнɯ,/.oBGOVe>4&I+u#< +6}L(/00L5#S2:HiІ'!_W:$ KP{/}ߺMŽDƺ5LU;CFYC/yDه&<;c@H 2A~tpH@\ZB0(W+筲HIn~s6SCcpQ$ƩaXYap(6mBՠ]nH"5" D5kBN½d΃pyO0T剻nFOQH]3ӥ84&^vaNqޔ*JL"|7sydǛõ<J9xkI(*R͛?劊 Y8%tnPAam~ʙ*b-Sϫ1RAjYWneՇ JK*.*Fej <1M] +>M9P4}i$S94@G;3֋PǪLpZ;i&U 3*:R`knb$dN(YLª#IvoUp96Ϝ" `xhY͇]$u}Z~EݞYEOS=hk\LPt X2"AVOՈc ]xu,b[Q^':{owj +S u]a 8hA(ùr,WrzN"Ok .YDo ) %!`LP k2xԴRn%**Z H&Sd ZEPH +fL*tk`OU3h#hr߸#g|D'4;aB/Ц#jà\-tDo:!PC9 +iUR|TOܚ⇙H[ l(z,F;@UHRe94C,xNFNjv +ʏFdF'}>"زt0eeְ,mf%9ќnkŨwfP}vN=35e"35S A>!=6Y0ɏlp{WNDERD;Ϡ553xѱMAog/W]v7 %;iTZ JA 1vobPWWt8jRS}Dߜɉ=bdxucmRhXD,sH ;㱟 [>HItEH`"ف]ZWlJCF@>dKwp1꾷%[YGJ[Y[zZ'Xe3 $AZ)I{EB 6u])FmQ +L fR1>;~1NF0K\{h;s?GF}%+s> 'eeqr*jE]0_-zBI+ճJ[[DpĠZ];ǬD-˪"bK"TxHUՓc#g}=^sL9Cƒ/-wQ:Jki{bwC{)e02Zm99a‘ qrʸ9:^Ji:&~㪪zL8F&i?RU-m{u`}xdW!"pd-wGCC!QY)b)^ixLjwN9u}Ztƒ?Yn=V&j1m愼k:*A^:ty +ϭZ)ZߩœjTh8ˢНyB)D)8~>`e저Xffp^s ZUG@L՞DCQ˶+0{ɑG&N0ô jũo80)ĭ40'5+tWG%0y'N`Rj12’]>EF]12.r:za~g lMh/F]w?S? " Ii7OR?e H!D4WS$+H+êu׶LIoMsXgtN=:ME2Ny: Y/Lcz `o_lٖV9bYLΓ'.p_ )I1 tʒl)M-RX8>NUἪFGCNJq$-f8]1(pMQ.K(4àP T"oA5ZJX7 T=Հ@dG3Ù6=~uxa=uT+4z\?'FFV%2p/b<^XCdPJ.*96u^np xLXt8шFV ,xpYQ 8W0iA6a.SN ^np1J,t6DX4;IPKDĤ-Dz+R-)X^iG"Ħ_p { "+{,5v)bC-u1KUÕz(ᾔrzX!b2XIu%L|%hP|1';hρU_T(&BBfsm5)yq`n1ݓdQթsG3-zI=97mIi J4SlF;`SBd Ä! "R|Q09ǎyjcIx(74bp0Yo[:JuY?v@hw#(aӀ@] \37D[@YY%`ተ@)U0AuBUc* [MĴe?`OvDAT+?=`ߺۭMS&j:T7J0% >@5uUcvQT{Ş|/c`kTՒ׆qWKKV斍u~ݯuo6]FFJܱI,ìM5K-SCg*ut!r+zDV|@*[3U2d7ֺCD,'Zpg6j(K&c3$P@Laiq-[ $jMS|nZĝ;~ҵnbgG0Y%npp6)6NYm!rg +ʆOʺ*qs̹*^>-+eŢo4?UJfAceq4Nd yF*gc[']l_eRAh}̼@Sjf;ZK -T+)Ső*7 +nwh i n_.;ڂi +W0flx*W0ؽeˉ͵@g:>gYUE#Z0S0MSC%s-st(IZUHaU}R~}77OUHH<75zd}nw 4\-eM<eBa/%d>ʈ3Q =8g9RTw%ז6ĨĿRl܁ +uXU:jkF<(X }T(Qî's O4,?5 LZav I\ADR|bw<]򟊧*tQV[*΄8Bl1hDiZ?45Mz&WNC!z;;#ˎֲiZF9ӱP#v"KE6TAvyS:f9)?YW`sxKp׃VV:M +7gͳ}Yazsً]B*ު=9oquqNJ_u?Ep Y KXHqϲ +\شx>tY-SP.|q ,[ RfkgS{jbAߴadpe +Нݡ8pZdJ |pNT)`uKUk/EW3-tkkXqUYQ +0<,OhTq]Rpv6Rb_1\LFT@]br8 3Z<-(UJM[ɴJ+]q^aXa>V1­)|LÙ6|z;ϵz,!-V;ًrIM[H苎42%h;x>E*~E3_ݙg}hIlz` )n'͜{oWYJď]3i+bq$ڍuq*gÌmo-t* ++&D!R5wq>O.%~R4mn>~-3S1qg:,_@n#7cHųDCTs07̣/8Sg{S ##8xXK=BYa6EyYZ:,fT̂'SeX ȧ$RVU_?e[ڏWNg#afmW[&wb{m{fb9Ƕg?!aqUϤi.g_p{U]SXLS' 41cnWhhlq+ #׆r|(`I+ON,&MbsJP][3iG™wKDL/JUУ*P:ӋatLԮriܲQp |ZއQ5-G`AYN//BSfɭm#|vm}{:'Es_1m`Π05uI|S*R>6-Ksypg cAULMyŌZY ɫuz*W rԘ-u[e$`Qkk}4 bF93G?jPsO~\UݕLc.Uf5賯jyy3.{5;VG`O&hfͦesLg^,7Ǎnk]< ~%lEoMΨs0DI+hvUcM⿄KlQY.Iꟴ2#Jh-/7oysueyfj"Uo=ЦpkQ:M -t)e>{!gI2LR͑Z [Fx1cfٰta]XΟ=63b[#8VziMɂm2IJY~h(T"ђgœ"$_JVbQCkr% {6S a$ Hɳzo(XXmG|u}; .:1uW2W˒[KL?°oXwq.oκTk8И$7u?Y}.V[)Lx^& (M*!\uJx7'K䠾aԭ嚀CYM%P+k!ԳczgI\7M1P6*Q+$fA4$었܆v[W/BY`\d߶4rU}vyS.cՙ >HfN%)^Oc})`8-]M=yoՋi+ϟEd,V>qbbc=̪chs$XSj'Ýb6AF"' K[yb57#Ζ}urcK;:+6IM/ ztm=Dy-ܯ_OF#q+E}0Ʊ"-nV^/ s;?Ÿ`4@1#+ԋDhl-lN.)6Εj QԞV<ޛRWq)u03&sΩo< +Ne/X9֘Sc_4ۙHhy̤Շ_ +ZsZ|S.=33OɛJ m08A,mFa#F_a_%ȽE-D-KQJCzEWܯ[/@< jE[ PȩG8z:$;?]ۿֳs1!iC,E܏65ɩ;]unҡڬF%0$V?|RJ]&Ui&~U,^0-Z~dzs7I&,ИUbF-Ԋݭ ,K]:Z@\\3(gI_"[\dQD&xhE[qז{YΖޭy| m*anxU:-B]K_ኗ ++"3r\>%gPN|RpU׊Ҝ#D$ 968.ԛVU] Je߯ecdVz:zU jP{F4 1:뻛@TJR.ߞli_qmeΜh E4Q.Js?fƇXoy,<),._ gm8~DQ?֘j|1swb u&tRGL?3 B1T4 'Y;MGZ@ Z( _+.O $ϳrEӯZ}-[ y &ќ(³U{;xYXz53gmw[w 3̘U 9`?Lwa(ժt#~{ 0l< +m2;|3av׿+6RKZb< 1j|7*Rj :&a!?q>=䗝Z.mH҃C圃fn &Pc/ emX F'SGtmRKu//\}H!yM]s)H%t-^qV(l*Ջ3˵`0m0:;F +5bFSPLg{wZE"c18.Ǭ4:Yn0f4nI1й2Cݦ[7FxEsBTJء_8xJf#joeZ_,3VFStF>Aw=U5Yٕu!> RK p K[zzha ޫF/X~#PZy +,6~I)zCǰ>⶗vRC3E +2V-EVlDt@jtXߪyb?nDb]bYM!w}sSCNպhԱ~a秿 < ZZzWkuL0g.EIZ{X=kC^ E "Gz_޷|U)3Db6cUkx.dpR+i*^*pkZ*3Ւ-5\ scUIMJ7i3RRdD3U1nZp%kul#CUJ)eŭU%54xPV;.f0+$ jsDme3/4kJɂPJ /Y +M7B@P vrin̻lD W̉ 3s@?imbPArN_J>NC]OJK.O + t1}Bۤh-կ^l/pͬ/_89ܮl,=-'&ss[Ipvs өQ[tW]z]W<&f|UF̶\,mkZYUSBffyl_P`D0~Fk&F +PQh4Ƙ2ڇ@>^3^*@jַ.\-~4Gh惻]dUEhO&7t5ث.0HXIe%TwRL>,LQ<52%55ZUJF?l1Y`&w117GCW_T,_ӣGǞ}RU X,U&4iH_0_W;ܒ[ZDfaNr-j"&ԋe2ygbX4U+*4nesV.s|6@RNxk|"3ְ9w{K ܴl%WZaDtӞ[?<"ZSV귈p=S*V5\7Q?:[jL=tRR]z=w}P:s!yl\@w^ʔNT]෧E~%or@H2+hKg9.>{QHjK^(ef@)+`fA'|_S((J )UUy˰;pҝ[hGX&`lcL7knZ{ݛJs|wOSd4xzӹuiІ;AC\(pi| 'LSk*(+E5uqojnbfHV?ksڂ5߿1aþ|dY9ayQ' +:ӿo!YiZ2\WPhBFA&%Ul_EtWtyR-c?5 nT:yhiin)*Z$sLۡzB 7z-7U뵱*?4?R~AJˇ?2>UQ%PAh 2:*DըKqͫg ?7yzdPlh6X㨥}QObgjEpk?N;q>p̴ 3Wuk -=GSˬRo] -xGmjp}WMր\`C]V +^2 X,8ʺRHb%ia +_W6~8hw_&W*jN.USyXuz_;(ÿO؏P7fȘfXOK 'v"n +A d?o3b2qOV +J ̌N"|"Eg +w*w=?'^- ;ՂWkàe0yF*jlQ? ~ه;JɮuVDtߴpq U6ëV#[ALD$9S$¦%iQ &9%Eg0i5tZxfamx!d)ūR),ܸ}[v>{ c򕉠ׇ}T+(BNOn%zVE`/t> _: |]q䑟0.а3VMc?U8JgcB{/#A(^Ě { +(v422<@U ⣊6Q)1[}Y4-\9}˼꣙ڨ=裭fxAe+Z蕠sz瑱 J`L͒O}v1+$%z54@!{A8|hhCFKo\l6 Tu~R(45ڒ<]WU +=޺n53ϒbjm>stZ6?F\_CE}dORNJlASL\Dk{x:#UD ~1ըqHu}#NWtjo$_Q-^AЫYL}h0TZ5?4-ЊM%Un5ǞU91Y,Vgw[zM;3W2HG}'֤oQ|Uc FB{ztˊ%1.Z1*Ƀo0ϲ N~7MQYPEkO0!wzK;}fq^3¹c'"ՋcY5Lu D<)@V{.hsxכ1:MK(Ȝ#ꢽeKKwLMn}T@I \Yu2,6Ç7U8DmLgY@zjJ豞kiam0D^r3粹 ZIӭ @Qg9C+s&pKq-Lq)/f vUNLc(k-1~SMIP+lC0/̧EEZ=YA, c\πȱ!* +>r*Œ +-&?r,ăhKwe9 "qos,xq+rs><$_lyjrg*rIm:3!r3-jNT@̝z C_6$EJT!Wm0w=6Q_ ?xB8$t)+3Ͷ +,i6$H9 "Vj +MRqm1q&q̜(S3>֪{*F"w$XZAp.-INȐ[?Hٕ3c'̬@ YQ(@BsјYͽ:Dikf/_Tj!@꺧cU,hwqk~ꥆ UIt!x7ʲvkl><')leeKss7rNRɫjpus,6\݄eO#z =9iG.kVmYU-+6m"Q;͎7⡊n#XJf9qo?D peT(At2DRb*yTdx\ܬ2ko~$RS+˔;Z9\7r +:xr B:1$rKF.6".%{"e&gֆCm\T#>ZaSbyRs]y0X }Ƶ3{ @RSSn +3]Dk)ۄ?raٵR)IX?šS p>*D b +=f +tAȑyG5,ֆLɽ]9}FΝۍG2J҇SuIdWzRu_%h3eI梆mw#034gsA3$7yeE ( LΫ?DA1+gc҃K!O7Uf/zf1rre;:^ǻ(:V cZ[i@ɶ +c`77ohVgZTVM H69VU3|o%Ɛ?xY3B24β̤A6o8(fTm\o*ʶ δQ +$ ЎxW?RىdYRMFТk7:;3{CɓPA4>U/i|NKm}"KT-iA +~ PJ?@=/Z^ȮB{ᶢyϼF6, "W_T@BF$NZuhcu+uzUq+z=l5)AIN@ޖ0mSBCV SQzkNóxx'HoWOm +ijPQAṾ\WbC*dI3|޹7z2W{*xڝ? Te:IiĪݣjq#C&o^Vv%GXRQ$z "8g51;zmp\V$s )ՒݾY]͇=(4d!OƦU2̳Ȧ%hd|i̭6Ag|h#Zk8Xg2|!A.I i*;Ei%PF Yu=OIΓͨ9*E#R +[WZ$uzc>TM(M-y(h3:ș\9 V$YTfB,IydDG*)46._ ?/~G7QU!s[Sh\:5_f"j [<9n TUdSkb!M-5LfY SLeI/&p>qhpnl4euQȳf4QEޔUȣ6YS*8g7P8(춢W4f֪)ܓW &Ƽ@ qTIqJ|:2|.N~ּ'β + $AGADymP=I5YzM+R3 OYr^3cħ_/z:o(h:5U;t:.'++YVMY'TzfǫD6_ ~bC٣ԼQqzݕ2ֽ-^zAڐ|{m|Y7tTp{u[A8CZO-<7`c©kNA͐X`Y\rdQ ) |I$<>"爣2Ƒk/8^th-F4 +OS[4bn4#Ye'R2ETz%Ԯy] e)V)txT&ZC`2)`iF+]d#g*+5}f [?؋a}rt3C|џ7l\6UL \1?_dtL#e#x?FAYQFڗc&Ǝ.ZEgOAb=a!9K= ڸ=?~7Uԉ()U4,!_(2뤃bG5b8(#/Ǧj36hkT970+k)&Ү5_+stt;^u3AϦ.xBRSC/#eaieCjNW=g~CO4'ٗޖ,q^*8īZeE:qT%0 3e @s(fn,%ѩ̪tE߅ -"yJӡHg\ER~$S;%'@ ȨXlq$CЃ-{-NT Eu{vC%ygY&`djYH۴wʳXΩ֮TGܷv}8C 7!dm1!jEZ1u,.[iE0*=gGd _Tчq(FRN{J}ROz}mnB[p*ĭ,oG{f@<ߨoF1*G!jw&_lj͜ReMެh|wА^{]&>i(֟t[$PJbDv'0DD NpVG}?#!ѥ4ݯbl)V+hZ`nr@d~g^uчyjx4@/Vel ٲ=1COCC2\T0ƐA>uU9Oɍєp-%Ca.y:vV[Ko=@QI&`h>wLTgq̮PNo夆GTY+kQhpҬ +|o^}*Xfb\JM. +ۃ, B&~j豶 'f扨-4f=) Zff#iz`$\W׵{ppR.txKJ%u#ɹ(זxB yqcS)sVLb9z6eT%_KAy~A +EI!:-t+I#7lPL" WF 8nJO+~Hhol*4qVM*XYyc\uBô3b jb +9P@ + +*/R݄򴌕{5(nC_o`]),X"+N76HB̲ͥydv].ə4axgM9\ATR<Ϊ2'uGt,q_g5'i +  +lM].nL|i.)^#:Uazu\vwefIY2xEhD[ha +E9&n%Уֽ<֖K$hi ^:S&Vo\:l% 5IN=A.5D 29Ks,[3½v[xwˡ.RtN {%{UY(%$Qʦ)?朚EzKh<+ԋi2 $Xd&u"nj P| ZM6?qNeJdT弰&IhuW{%9di4iO~.(Z #~- +K-. - z6U]B3DS2\I)ͳ-Z7TԃivgY(`̙3k&?ܚHʩѭْу2/X;R⍬#re6.@eؙ|e"Awȡ$9g +:w1+Cj ]t1 H[wIY~JݕL ^s,Ues@7Z繞PcjemelQrJ:n3m}D"H@*Zpl7Z-7&Ce3MHAbDQP +|M7j2 4A͕C>2EZDzIN+<<.BTjF$x9fG*IۙS4ĸ]M=UESWbUΔLAV!mMl7̊A۠@^%Rt $TON֣>J/W.y1J-Y ulg vorښ +-$fus_dzeY'4Sg Rʭ}<_ͫݶh8unֈ9HӰ'H'V1xmgu|ҘwWڿ ofHPqkTaaն8bfm'i~EEZg $"y`R>h- ^B䖁s5V))aA#qvԨ̠WY»%4FFC58hf\ 2|Y@J9wmJG($B+TEVyn$&ņwgbFűKzb3iOQMWEI>oI>IVn)-h +R- 7kZoз1T^N@wˡxP{" a-koѵZ*Š+`֙LnB?-8_7΍RKȠ qi#E4@f81qB<[_6`okDo%tTQAJen^1eHQ”xeZWenP<{WVT@B6B0xء)Ȁ?ydxHJ<6Wy$4xjd|"U [2]PrSUDK0 24q{p1jM M +ſ`X9Z1_HGljLn jR8 g V ko՞CF8v;Pn.oYsv[q~UVӅu0u6HOo!.˴e5TpK/;pX A7d%Ľ +P$Kav:}ezt-б:j3I +b.}PyX3)I]Ci**U=L SA)[hIu +aWc]^ -@e y4/ }}YꮬE~hc0ҼV9[*  8U N) ;Z +Ee:j,j`T Dht(]DFgSE|f{l:zt1b*(rFw>>hRrbwKg1_/GypH~R)KFt~Jy1b6pN"CMF8!5:d/^&49H0_~k0I#9MLkF(v:dezT[`p"-Z:rG :Y9w3P Nkds@ F JˌI** *)b0v)%kV,fG .Z@(ʔ|;k\&B+>dNZK>}ڌ<ɭd)ʑNjDGƙ'%A3؄-ĭjAO'stnǝIrrs475@WjFDx* &g9[u 7 +0>|yL5-9oVy;J~O(se+eq6g-ƆERu +WB +2\UV +!z ^IS°\a:@D]٫8DjeCV-k먀/f\ȀaL>78bHc74M9z} + +BU@,m +xNCjsqVAab |ꢡhn)9x>8 l4,u4ex4!+iML :R%,Zh#`ҖҁL 45 36y7bx"g(ac PM'J=H\,]{|yq|^^WCToq>.'LYԛ@uĐ){_&dvrE%1'+&Þ0˪hm"(:kʱfFX`Zy:NMdXNJ TyYl\r 9xUT^׊SS:)|I9p(:QladVi0ڲ*y`:JP7?h(Z)Q=T25Ҙ/KxGl6>4&CT536=&2<-eQw"PQKMO~ZҪQUtUo!I _&D[ M]e 化GmjZ_וÃ6zlVx2- +mZ$U+'(no`!D4-e1pʌ+Qg"Ka ΛdvZ%q>6F0Y?$uvdKG5WN^k +Li"Ӳ WaGϣCBDWnH\)rgHi6,2 :oc3RՖ3' +u :AtD@ (2xSkvJz~* +%e!LNɯ% F`QMI4u)q19+x_VVK#gG{\˨('Se2\Ky?>` V8T``e)kYmTљr}pZUz@+Mu@<:H |wz)~|!#F2PFʩ6*^"c.[b2n튌{8jVY~UnZݺqrfEXpQD8S=l*簍.bA4bIEk<J&[ +LaKEkR3ׂv~5?v(i-1GdRR!5ӸL8c}}19:CS:{h<I>*};?˰5 +, Dtޭrj1,.GWFμ1ZZI{reUͰUg#dYAFQmj=v =*$D$u#a\2kt\xg2WB쵍T-5./ϥ8}&*/" ͡G#\@DH&a7&|eLhfצ0h`! +""CFQ\5EGH?> y8d^`/5W +gZJJԶݢU_ 2l!zt8xZ{Dm;Y|<ɶ +gsU qwdUB<\q"$8D fx@,u=w 5+PL7f؛tQHjgřQd#Mk8KRW`]IRAnd }GhSM!.V2o'7[no>6q@9Z=aZb8" ~T_kmy-{QwB0F2<0D@)W4J]zs!mУ8GM摋dp | KYIw^@CjfK_ereG AUpsZ1Ң/Og6| +})ΥLtJj,wYt al-C#N^PU&.w(hh"cxm CTL̄u(/7ܘgmm^gR{xAۧ2)$uL ϶ ++]BKMզ`,^S#Rza m#mhJSڼ;Y#?""-aEU U%+Vl,m[gS< DhV7:KNB]MƘq )fX VDOE*2M^ha㣧 ~h,RU{W0+14Pҩ!.]wv9Ld ؑӦ EiCcx$l6IB"1lT~Nq(1*%F#R^^Zcy +愹Z.U͡ R4ݠ?V(C!R]c6Uk( -x"dp 뼢K }Mm!(T ɨ24:ͦS@e?A"LrΖ7 ;0v"3Z-E ~!8t nD subt|Pk{k'MV88sIHN3\YP3ڕˣ7tHd"}tܐIP  ';MH+ gm u>;dzq $d[SܐXraJO#JjtI!}?"X4 +,TJ$h(0XfI]AZ>wךHA74x06 -r)UPiCjOWDL|vt.]m%Nfp5A  GFmo +tHU8A^Dp|6-:R%'Ar"JNuNB^eo`< +0C$/!v :sYC"x4XZ#S]뱷(r(9_POA +6DK[([zVvl{ir);ǀXԯ(`I?8,@>Z"`)gAZ1\q|/@5dUqVtP" K)MESU\Ih6ln}ډ&!^d.'$ bܠ=sśϫ%Fm#]qe15Aб8Ĕ%Юsi+Iv L F:ae.3OO1cHKߡ cijZ73u 7=)N[lQʰzm9r@*_b=a(C JewMjmui;H ֔MU$jW踐ogVά8-AeJkD[5%7USѩ4 RyW݋Ie+ZsZ?bUTvSscѵFFKNxפb'ĴıWH s)E,"ǁ# h+Bi7`n ߠLkȡAUW[< j I=3>uS dTpx/%$R7ŕ\N4GF>Z6SP_-u]5cd8.h9QTd195Aa21KEPQ9रS`Z׉5-KJ9dj*yU &o0BK db2#Г;K Q WUe>;ARAhڐ6;$X^G%`A PXWs0'UR ҀZ@_^8'')\)Љc65H*i\Vಹ,Wye +qE;dSd#Bpbnj>L "GqTnZ_dQ/'EOi?Y٢EH3qFnS+M3CI*5T0 'Iɨv6МecjBQ@{2i9W +E=8%/zh+QQAЄ tyLF,Jn 4 G)ӓ?0X.j +$i#\ +DCBl V(`| j-r^AO^ɉ}~L6s$ N |˯ZGDSZdV$)uw*06t?_n)s, ,EzzMЃI#2vT[C&0XE2Yg6%(ڡ@ͥ֕r#5vx,H pB>uHoVPpgވ:qZ5/5*dqN?x;x 3`WXoa/R<皒S&IQ=6@aJE3y MHxCMHBD''?ٌaF~ ;i bu$-PQ96*z=]E v>~/I/*("6>@*Umw1: Kyc7WQ{݅ԍeϙXOSJtss7xKCF0'?j扣'u*)蠵H*}\OLes^UJ%4kE$])s +u.BɀR*  rEW6Wz )Ct>BH3irXq);EL 2{)ݢ)}SDbo@L(UeQ$NSVydUHpCR~t/i,O|J*(3l`Ib05$_w-vwwrf?sAua. _W,icg- +,92w,с9 NC-&3poiRһ7:nΨO7og&_+vc"N(|eyj~ +1Ifc4#ZϯTUι;rw[yrI,;z@!BO1Oe:46M)뱏)=.`9!7`/MYU37p^!:r -7?mGM*m]3'EG|5 -5DwyCjM1FxPK9#Welw4/Ъ%UuI͠ ~3n<"HWro%F\C:+.BwU}@PYb8A\B2Y53/0v6OaPmp;c֧\*0 02ŠҜdSct}+?jonpҎӪXރ^7ೝ=u ߴ&^ ;p5{*0ų򹔣#") ;7/t' 3 UB1eH ü߾~{w/iiwtN\H8vAj5\-ܥp-8=W͸\X䄇"1 B Za=Ɲ'lܫ,~d4sg,>H:ʏ$o//a+@Yĭ:Y!*@g-^;m0>32 6:aV]*AB9{BrG#ww=1Y~z^;;>orAiJ +RD @ϺEJr$ݻonO/W|YWvFmk)+[Il.M/^+/FQL3m vlU!5C v.rﲧ4OT6m]c@Di/37^̵zI.(' ѭ̵搰r{ro^g~4GtϠ t=[oJf(9H +o9O7oD\pd-Gѡ0 DYg]t`i\[^m @jypjZKP(hA_UV +H7Ŝqxyl[ H0P$eUsԕ[ Jiy*ء2X׷)n>?$Yl$E ~S5+]aS}\9$>ow\ޥxxI0F۱ap4] +te:!+cpٛUL߽s&^Up \}+q9ςKي9hsXřn/Pa?9{ +UBLB_^ !_Ǘ{1n>JOcQ*\xIlxK +$` ʊk2c4gl@rii5P]ސpFLMZEў2#^n˾^=EoW~@\VFQHF6^t{fLPiif *&O45N \xq"Axs$nwq#DGeOcv+uϓd? B &H&TkO9cۤ-]̔乌a9yPAk!0:*t8sPM ,W-%S6^~H"|3x39^:m.[GKz@*7N9\sސal/?$_UI8G`" GBa7uRP$۷;wYN @/~HU +\ht7HI1Ua1|5~K~/̂ôPʽ Qԕ-~oj>d0F^4_0 #!m"J ذ|ŋP77}ݷ^?$kۛn+*+oxyb\ R(؏ݾ⻖|˟_+hCB줇O8}e@~?O߽[]$^ uQr6gPu)e3(Ĝ@}a{˴- yT4?*(S*?)Yef\ dВ'|*d\}$r:)>3=пo>qa_-gjgA$w2Mَ0l}:L`\~\F+ع9zu aƮݯ~ocjLuY#LVJ+]+Y!>ƿڸW/W//'Q<~>ѡ=-h*/0?c?FE$Bșt\KS5U{{~?{>_?&6*3XPPj^Y»~a F@7WW/^n Yq1"H鯧PbdT/eEa"?~w|ظqEmגku罎;^,M6*WϿ~ dX'hUM8di9f¼QѡYzgcꧢ;|ϯFFz9\~5 +h ppj[60gLbV=w;AW8\_WבSsQN-BشY8`3P87wwc+-ogPx{'Pˋ_virQ˪EN}0N'o//p\YD,h2Z "B6Qj7Eٖӏ ]%gT0!XORMMTۡq8fՅppsGE +J=J X!tCZ[`ɑz!5/Y׀ҘȤ?8 (˷(83<5^]^>ߊzQ\VõNf*o7کFݮ#Y ԛ$wfiލQаe j#sU$,H"^TuHW~?_f3>$Ws6 uLDhTE{g&OZ)ƒ=_n?K`0*pӁȐ%$U-NiC∣Q7}Na|?o7Yˮ׺'5?Is>0F>Wy &bڤT.9wû;@.PF G!=d;8Kf!7qQip+#ٹ)/e6 ˿I)Y`XO')';IbR /(p5MX.#ogaU뮚:ͺ*M%`||y7_|1k~ +Pv$$I,&N ?Ŧŗ_kI10ğvX %<2ujZ'/׷Y(8|d|t2Լ5QFAQzZ0^v5ho%6?^o '/YpwRݷi7 q@N O&,Haw}nRꤪ!)-}Z/xrG1b i+LȌ"FчmZ5ag]䛵4ؙ +TBŜPyw{^S6?al0$Mo|\SV n4t^p)߿}uqiñ6 +$hDkі\{S~۟TCr2[yv$S.{z<|q+9$fVhm3x_wlᏦlAU'Dio/_m=,=ߵ5MSZ-??&ޤO bϮ9 ?oW-YA( W%W[|h\ 'g>/8/SvV fxNv1@Q">Z]hU9ʲDŽað`ٳ`ӧ>w/zsyuyՋϯo^ +H .*HZ;`}RXV>:MS䏴 C2~d۴2,[Q<%/~w_3ee*TF'B{atWTDtꋍ\U G638.Az7_$u, +/a>e3߫rsKg(*aߐwM@Uq )JJ~黻;߼^r,KWg^]j\}J$;_^^} )InWeI[w/@wECx~}5/-UwVVHjU\y~R"=ac_vz{uyyr9r'vPt0d-aJ.2P8s]w%{PC5h+eч9]wa>T_GEb׷w/.V|E$D;za"të~vnc,z~bBpYKx ŠN+/SQ <>*!b%YG>>>r,iʁP$!&' PCi6PrbO|~/>8iE<R,4:0(4S 芉Z7|@<}+۽?@.s* KSG#&!њOUIR I_l.~?\wjt?~j\@z=_5;THek`:E}8t>&zwIiŋ_l]lQFP-`/I+_d蝤%e֩fu娴9)ӝaT=*ŊB׵..hr._@NY)P 2_ʡ3L~Zό gC4ոg|~"B_,:*8i%eU8x( ͳyͯVpl-r L[-v v @ހ;`f@ՊowvȡI1|yWhn®"ej% 0O8qxq-Wjgw1 Y\LYTe_Ҽ?l6 1 )ˍd>4v?+R>3eެs ]\v*; +'W4)]\< +8(uQ,jfd&\?  pԫ?{oɍd Z9sMpl`SK*&d[r]ͲkzGN]ߔ=PsLMa%d]i{}~ek j)NtYv X?޼6Tm[u^/~hJ{UOk0~DM ;ͼ]԰O-- kO#loEpCE +cz~vk #dw=e7SJazJ4*ؔF,GtnXt~@(F+g3NU4%qcEmBR9 \L@>ٚOVHځQ8ݥoqOU(kS8VD>Q M{K3qӵ~YO۲mm͛W-(nlf߯0$tR26X'ZOPKy=n#Ӗ9J(J4H?>P/k駵HmI, )ՙNMa6D+# ckNCּzD B00Yq^hSi|^^Ry3 -Ms55 Mw 1:kB|vC>l.,O[}Z/%k]QnY0Pݿ0;ƕ<`Ŷ1{lY +\}Nxv}!pGoGֳ O嶎-HSӶJ^q[˲<ڮ(R~qE[ fl6e3oMAAGU/xIlο%rZNFWr`8b)|Yr+3|Q7lu7,JpaIE{}d7Qݢ=he>e_y`}UXb:wCx6u}!ojrpu#{\ˀGZ??d)m֑ȝ3ulF[A&7&~ENMl <Pj7cH,`C'oHh'PuX^0Py,iV~vBMʒ|Q#i9&vhI -ÛYW L!bd}nQ 0[7 Dactu@x-C-<0tYh ezXxiCjBB`kbSfI5,aF]m6nl2pҜNv=< 5ǝ=Th\ l:ֵrkC9NhM{N+3筎.T>t"sʼXY5C| x3]/C7d^{}C"Ix[$͉%![DO@L/5s dhTY= P{+:}X1$S9䒑: (F 4!>4m2$Ds 篞$l(5xJ8 "S9}@ +yh4gdD +RS\18Ü'5 +I]1l0@1ȭSf9jTt uqa|$ +a[ҤRt"RܝTd 0PeBVHaR4bn)NI=8 |\͠LK7yE;" x;x3" gwUKI~Vv+$a0ޡe5 %MgcaEgRonqV]jǫ3GVLEn++:@01 T(Gg4hp 2WZJoW +Zγ(,3;qԙ!bKމAd蹳9{MK!y-fUu_TI]ClI%>>ia_\JF +cP^ +_A9h[κ5 +edʺpc lLh4ði#(q:mdzTQ|Л[ԨqijH`S y<@+"Z;|]5d-٫X qﵒsGnep7.Dc +8Y(  sR>@ۢcH7Uq9"]xݫ䰛lgF ɤQ⾚rso6i6Vo@Ι/ٹn8U"6#ߛ;ۆpۧrĘnU:[WnJ0ː]6]x$6ǖ_XB Ŗ!7&a~䙴~Q2t0%d·zQ5 l5M1qKO_c[> ă"\ fh6{:MJMT`BF_>pXز]Hn֮( +7ypQ*TogЩ!o)ఎ#0_@vkW^80~dvi'zY5qb<'YհK%urL߅_cגz"lyHA "Y8A-OO׸12n򐒧u)#ŏ&BޭYcO$3n~$:D(eZS>o7x +)cW))gj`-#6%bzsbjKyzA–}*v Kųu +ީZe~SEI]C#=$~b>V,zu67ay̖;{y@pWHl>ܨA'YM S|= I Cw=wzCꩳT} B Ae4!}%hM?2O4{sx$yX*bcF 2hj٦\ZL6?+w<+}S6&Қgg^HKvLj]1f +~?>shKa?e?-]?A}\B: j&[-s#c:8(zfc JV%mvl7."ofi4vrg#|:k6CRMA[jkFO|k[~lq^'!@efoߚOYR7T-NDrx#Ō*x-kU2腍q?TvSĶWNKp*g7RС1Fb9>{ϱAJK<@%:4%ٛ:7k;Xoƶr̶9hyK6UM _Y/z3R"MO-F/U@5׊%% +xfɎFj\X&/بwtH2vެerhB8DԼMcҗ*xV9Y-24/S+o;:0ܦ*yNjqcnJ!neQIQV9+k`ތ`c  {=}t0~+$M$S-jdfs,"eT +ފR T RҠ?Qg.]Q{#߼J"}̐(3'`'P%5,r/rYȽ\w“uNxE܅`ko.1lĄs J`:5߈go5}{M+b'Ҿ1儸y@fh@L'sggG r09&<4A`](!?1MS\FǹWz{Ł̸@^DY9-n?#?SRLT: + +Mc*;&I{y +1$!A5۵JG(mbL؊dZf E#%вT-[=LcV)YGPjƚY7zIJ2IqКzopir'긫*6Ĕpqx8%R"&dxfAZp쓬LuPZoLSb/؝;Z|xlnq[d`?xkZ'8)q@v sk04W_5?ϴPhiYLhaU;[6XhLj4]Ұ9MkSi2Z6 QD_re~*8yYڙa DM;8|mߌ(rs=k;}AG5Ba^{|䒎bf|rfRI<}Io]}ϱ Tk*0iQ;S]o1yPVD[X,JY$V\xzxU.tЛf7`H7DGK,_o;+:C :1t`e#4)Mzڹ =ww }8IHxF2\XZHJ}(鮙uu|{Q6WCn5͇%-G^׷]|'[D*Z%l8S-v5bﺊ_y[IksA~jjBbHQ7UDAqqJT@]wٴ1{+tBmРܷ;\:yVwgO `M3lF{@Zye-(c-4 [y?@ѝE>.Wr kt FCޯ5MP>Do~QZFVKQr>ywMm!Ok(yi"6DuӃ"C& /aCiIif>dZՌ k[,GDUmʑ7۝`dƭ$UC]^6 } O`o1x)ɪq7qB^,6D/4o;5]c<`p`(L?ŨeFjcnG"eXq*Lgۖo=WBW GVuLlKP>sFV7ݗSe3ǜwׂxTBD 73GVm6G#c>,g-{ +ʉ_arau$ZQBa 'VyijBF]QP ꀒ2Nmk$Ӧf8vB֚Brt[2d$gi~jdڏy'z f64Ӥ6?Vs +@*iͤbe) jn"TNY5MоȺW1OC(gGr§0&Sr'¨޶h-OhjNPgmm +[dfթXл*ws +!ӑU{57$Q K;ݨqd<]B[=R:<]c$c[7LOg͝C$@Mhuv4&-40ug (gՕmiR:j(HT_CQభQ&&h8ƚDA?FhxZ4'Z5\ܛ4G8zlbZ>/Ewf|sLf0GjXo&i|ddWKVP,;)_4.L!Ylbf`ݜ:ljs{)~` 7m@\5o!MN"E{@5HZZ'gI׉Z>`|,V$lہ'HxnJ_=a&9ݷ:,jr]kq$=,IK=j[B׷eX웼Sknи{ݱJӹArgLy:CC"zS0vpZ#sU3<+SO)Dgmۉ*:f2ըY:N7_viRBc AЯmuzN_%\"0(Ro=wI' u4,zo+6HAE=Tf/d+sE*{}uVj T!7R#.yH! 9T Q˜!ӏڜGd|Y!v&MFs4Jƪ;*PCgv`}&b7M -tɜf6-Ru⃸l|`J V-m!_᣺4h Df!H<(鱥g':Onf7 I,F82Gii|̑vFn +Ad@wgRFhNCbH8y`?sWuaZ4 ĩr%Dyhl1^Pְ.̂8gƟXRKZͼ(O(e$8_LۢZ77񡊫(`Z!WcMO6lYP=F`+I1`ܕżӈ4H.C{N}L (7Wl8=͍%7F7>ue9L/$jA|5i^ bƴA(#s3N}ߓԱ|B/(G£Ո@S'7DCrdn~[[^ҁIg"$q{;bjm8m8%U&Ľ@hĩ?Е *}M$[ +7id,7R!aNpy0h$Q I"Ƶyދ ^VxQfcΗzN)B̆@ԅ1"-Th%-h2luwfmU"i5KF'![qմ {ťy؋kswi8 z}&Y_VT:C-؋PH\ =,~aѵe}cGKOKͶM3e%V~"l F=hš6t~h>Q!(~(4GR3r ;CrA{N.\50q l!ZӭJereož- 髸le?Ö4&AjD-}WoM}{k]/c +s6Z+yiĞ@o ]y;2)L*NX-~B'KN",)G6[a%>WK8oZC\(1:-9H8ZP,2mX̞o0?C+gRoC(9e _=lhcfύ2l1ј66:` KDpի\[* bu,^1LDDuya̦$qe}i;Κ(Nyvy%4L^Z~MͥbF,1҄VUcGsDʸm='EC4a߭z uD;)Slݏ =ocoL[ +PO6ءMh}p?6XTlS(S~Hޘ3Qc% ;W`B(07qPrmπPΙH1;:qڝWz]|{v!U'`/-} ^Li4B %*ŭ}d| ۻᜯ}[A>7w@\Xj+aR^Batsxlo_c^ + QOO"̋*IGJZ1rhS-dtr;4"-~Qό[nhMupJnO[%p?>ۧm٭b4mKjpf6.S~\|R]bO׬^~]5JX׿,bNI~&ٖˁ g!1sID5a=`W:)fxL؄F#=[dDG)KbmZx,e(K +R]',-ʦ ]7 OKCAa!@[ڻ3郔G)kϖݐ_Hťq&t]Yzu_`E^.[OOL4WF)8Zf8xlv"( +`p\GРo38jKhjW!t+7vinwaۯ=צnVÄJ޾5zuQULiV lYuBZзf)<QױT s!Gdpj\[QnS̍@L9H߿WME i0Βa(}fPlyN9As巤gfE[VPNF)l:F +i g7gY&o>-H +UF@|\S79R` +zr!5498X߽AzD#^:j&aC)` '{Y(ssfKֽbÛ x;n:)Ys<Ðl*_kFc 9qN'`By\TΉa~o(vcʛN7XOG,2toWт#diciξӔ0T F1&;H/F7'lڇfvmYl4^EYA%Rjp leX)|$9uB{_yrWAȸVǞ- ӟw[s:%.R][.oFy}?gtP}hdGcz|7aҬQ`).ʡM]I˄NVWLDcC/fd=c篫K{"Zsuw[r#d=O x_<ߗ ʕ7aC#3˄My%˿~_SnXOnzFcє} M,{bRm;BnKV.@r2CJ_9y=r?L~,*N)%Dоk9 ZtxÀk}e dC-uX\wcfDݨ]#ValhP2%V(83?}$7z]1N(Lq9&"Ci_/cMajϐ(uIv7 t'9T=@-5&2f $mѤAl,@OSEw|6w!70ѾKoRqtp'<:X3Xt:Bs 3vO1>AC'ڿjJ'E9JwB ela/Oet?"{/9cR;ꀔS~,[ؒ< !;lޜjawnSQڀݩ@ѳ;n7B5-vF@@ː%e.#O!Ĉ(~ D:=DOxE )D` a17+ $⍱LCkv*L;^`(;6LY>{V;@OB/6:<*,c~?n Dž]uZ9{}wךj*2\/|%O3G J㷆~~ŝ?SI,pMV7369Hl|O?/TCNog=#u@GVJA%6fqjTMqJ%3TCSt>fL)N&801v#px 켱,&y0bVI»6h,0 FWǿ롻f6#/ł0/!o6gS_Ê\o hch2MR>B}j* ^8Ȩ-P +s4(^G/a1WдD1Vx|)VKY bZdr@ [_L=[hH5f*} L|bڽ|^R x=8}UAx{Ne-;y›P+eHjH"ɵ'uz-%1| G$#fVNKibn˨CX-r8Elh\3iT-\Hw3jiv][&ߟ>K7-ֿ(Gڸy=|#-5^7hyqWo1rLkL -Kd7]* I!7];݀^%}#G;Pk2)$ ,dɑ#m= qdy kC{(" \|lk H2Jd_n\u+l!v%=˲܉Gf7 0#N:s1a, $gyv`6%S-"(2$]A8 *wR"Ǥqx0gc,Z'4/Q5 +HgF$<.- c{Ngd` r/LLO+lzy $AP6iӨ^;(d2ACqki^J֔DI8Շp7spv &R<`4 C~5^c6٣͍΂7Z<# B T$l`g9fK=[&w18;Z4VN؛[F}LQى>\RJ k"6Dk}gTSw&Kk\do,l$Z~,2:b߿XAr)ay0}W I͞R^c̓etڛ]t %g7ȁ'̿.%2vyf·Td F.T4JOש2ؿYvܲ)'HtJ(K>`i¡f"00i1llkG%8ܭ.3~^s2h ?;3?"Ϗ_`fb9]-q j=3$4(=C*9R|R`S ׾ Ll^/j>?Gm4/{O##cD +L~!% MWʵ )(͂p*ZF@&*+kBĭ7U5(<}Rw;#5;0|SխmF}] +s&>y-;A9MniGR. +խ=[[-E[BC*/ I?i|,G1>=tt&uj7z2Y,\_a,LVA124L '=D5:رQJoO@p *@qqO+F|~(0E%J@t}u Z-HUQPMs7>jt,qf~q}uDks5m:6_%eIulRDv[lXj{-|ȋ8$!:c 9٭PILkLčr2 0Fj]{4nPPb֪P yxML:R)˙#8״my(CIf/M׎XIDcԶ tb- >Oonu;hB(aZNb(S,4d:-v,mviy/l  csjHĽe{EY3æu4\1V_M?NT\M]L6u_;H=Hz^^scOl|ɡ,G|:*[ON+l8Q jJsj}JS5߹gkf<(P\TKdhhk"0BsJD;[{Q^BPؚ ‹Mo#;Na|`ZmsSʤ v@YQߏK +?T 5Xt&oW闔hA]= !e0`-ajFOtJKn[-?N-2jMRH%ިopFT{XP£$B fsCH~!0-3%P#=(:_dGK'“Y}%a@k۠/g)=-GI)˟C*5@w<Qȝmȴaud:@swց:@跹Qz(gDJ<uu % +YKLsvTğ0^|Wwұ9L rG\濚}xo'oo""7W M&l5g[ut9*vLJk{bW"ǚw3xCO75:KJC/\pazshN 18Sا@m2{.SO>FPn9ViFq;r~,QaLOs@G+To 퐲S~^9ZtLncỚ ZF J&VND:#RovG6D +A.-}a{21iA8=&wOy0Ryw$ JPpk< ?d 0zt/M--֡$:~ '2Y .Xea)mL {0!ƙ5H!OqvX̝]ʾW6X}2>6M_^mK܂J!G̲BQp$iD0q&"P1;}@D$@)\BdGCKs->Dk&^ہ1Ek%*-;.6a< `A֢yx-ElsG]e( +0]}#$s%*gixHXYF Njo[/q,|L%2B{:W1h(QHo Y o$ѲN=7W.<}3+}KՌ} xF.*:G͜jM\^:E~V*Y}.)\nQ"oTS6@MŸg..EipZ&Z]CnAbk`kYRW޺vDfKbXFNRS|.Zk7EV X +' +#4\)#C/շݘ ~t6ճcsG1}kq%:ﯔ_S#(ab}No +2Bh IcyG3rmIT/d r|ZuZx +lP)]4Jh=x'54#ofk۠2k$b\Pl׮mZiHbؿ[/yJgLt.tNN| ,gn[<)\DCg)oԢvAgV5FljTicC_F۟X;۷[UAeN?^~PriS{^$ Ѐ[b!E+@DnI?5W]a(C5MTx2MzVW ߮u#"=_ _~>4!fCugݩV2ȥZDaf"=V2bΠ C41q[]K]`oa愯}t(U{۔ +z 9?Ok٠Z`ꂷIWkFyq|i=;.5\8QlsohLhH.,w%@X_Zyfy3',u6IrP7nEaڑc;w*aHQ ~A:13˻ GaͺYRhO?VqsTfimFRᴧn2aiMG>EVFA:S&: /Yo%az=wf\jp*1/E#&r{ ɱe-ԫYNGdBO?GJs_@(öɪ]ONn3=!W\Yܮa6mV!o&lQN.fW1z]r+Ij{y_伜mR%gfbgk/*<ݢ}E=^k{ɾGi5>q5vimGJ7d RzIw 2z +rXw~ٮi~=hK헋W1~/9K2v@I[6{mM{.^*`4!;g)۵FcNf}5m!7f<zUۮ@F +MJat_,Ț< k+N] 2=Kn=cJ5Mы2! +teH\Ӛ7m"0M drn䇀=ůe6!ʤ/ n 2&P?2ThfKʹHeX|enE cND␉nH.ʶɺ/=^s.[A}lrIO`bn(~%k0WCAbޖTjU@\OR5B8&% \Doѽ\[<.,{F 1dF/ 9NgmhoC.=>$$}}[?,mm]<'S3ITkoۮe +x +mc,x~8Ůn YYNi]\}H`| +5x<a7'5l +A4H>L;qH;S9YJ49 l,s/=YX^HI;DWױ,B>]uíJz՞`yx糚[xx+Y$ JsZlub:ɗ u)OM&# +.m b5S7.y+>#},` +}S.}۵Kw"SKV,14mCSCuCnm= +m gVӵC#=vW{V=W/*އ=0HEX@zʵgh9rb{ G=,^gK v(c ,i&Gcj|>=\M+P*U!5` {G9@5n{0;\T> "۽6.ZlfZ& YLcMN\nUɷ9[mj^ _Է!\SIf6]u,2%bF\9M'iw\aU0AZa>ŭL(NwF`~mWބhve܌Az)T;^s甗; yurE_ɹ))i1Lh, + +jpV1Ş!ʺ#aCȰ+z`deKwÌY`^'Vѷk]Ӻ7RŒ3LbYL!Lg~~sk +Pu' )of7 {}/җVr>/}[gRF뗆n47?S;5|Ւ>􀄵b0UK}* +d=L!{P'7;ko(kۿ!p\ty󎼅 K&-?OsжmHa] ~'Aբ^!yg~6l M +y>?>Tms,c*㩳7[ާyN `EJ<`sO맞M>,Qi%C[w'p/fE$/{؊ + ;Ibnd *1iIN%E'5M6;ӝgwfRTڋY1'U?.cwEF w:\ \P;ډIdD-`6*Am䂾A! 'y|Bk/Y/5,{5$Ԗgjd@8+ +F9:v cG6' {umCB" X޿Pۿ!wq)9ߗWFk~،7+Y- M(6 *D^,of/.׫~E8%j=: F6M×Ԣڈv4뿪nzIr-|uKQƚgű%llo ^niaP2*4S[,mjҙ"8X=̠"Us>۰eSԍXWfC`(@X̀eQxcBߋu~R.+a{hCՋIcqRk/hEn+:P-FOz:o!'=2%K2% ̮ +S (T/~$hX +,n7AOoԭ4BNܵy#zOh!ݞ240p:[py\{=Ŋl7O{at904{۞vzmۊ,7whO ^9<2!?3.-/ Zw^VӖ~,K?7,Nnй%jOɧ==+?(^6߮V֖7-6Kˋ|0WkCcx}B T.cVKv|uZz!-ҡT- PzG(>SO.%?|Z;~KSh]$vAk:tw`ׯ9_Yl%PFtU>WR@=}Qqqri J@=6X$˦.9=3}~pV[{ ۿh+j\P:le-ROxʙ͂bmY“aXjaٙ5vq~yG\VeG'kfhbۨn)Xů?+!4N@vjb{rIg]K!W + I5Os(J@}{Myٙ_h^kz|I@/^zY?x~T/*"G~8N/xjHENR+u[-x|7>? s>?7?9=F? az ,OXf.&hofgʿuE\XgTWer{5A:Y_N=6ZZpΧ+_(_|ƨBPTKʼn֦E-U<|' YaZy(l YLoۚ:j:P`D$ē@R@j@uM+;- vmҾp?-5 b }4JZ{ Ufʩi}Jk1 {dXl6qbxK./5HO 0#+fך+&l"PQ劏sxfіpzwA1*c%!cO_ԱUu V,ah37AZ}(H={`Sm[fFBV*AIH2eu C5Tgh(Tgڋ% `ao[͙|3 .cFtבzZJeeqY^e2Y):qma3 Z^PPn1k.}#c۩Uu[! 22y,//S6:VS^|94't ul?Hْ>Aig[۝2~܈VxFV>{Yj]B_NfDN , uSK< +*rA97qMGҲ1v߱,f3wG[fdC!͋Yu1;R s9.A5{TԱ󊿥9=Xw 9MΏn y kڂRH +(w5ZTsj Y1n K ZSg_0v7?[_՝ qrM53v5m@flEɰ hq` ^sMG @A(*KFM oxBG6 1l}e}ٶ9:Ke!LB-B GEĆF +.f*е\gwtV%M"C)1xW9fW'z=nI>}m| +< &64~Va_תV7r Q5}Ͷ7M0] [ g%])'" c)ԤXdE D԰&ڎYQޖegUJn Qê`묵L~s0);Y![bs(!u5?D~/ҶߢK9K$b` DaT]r&dWڃM{:'#0I_1r0"*UfbqIkɧӺjA3\Ơ o=,&:3錕Fx_W}c-=kȠ'W)8ԼqKIsLcg- }Ll͔ n| Z_Jmb䪵ma6ޕC_j}s<@иY?wqEM)d0]ªr?P|eͼ,x^?Rӏ?OōeLJI(w #ĴRzVsyZmK9_O??c}d:"nOF^('BX5yiUߜt/?]_{Fq$ 5.y)d6ɭ/7Qx٠as~#|\S=]Oχ%Ő6당G?>/?<Hɀ3Em8F:dxbp [rOoo7aJ㇮J(`c>OOSҊYnvV'%^zFPWQv,״^[eƖ+)  $uȋJ1Y[:e/m.^e[ԗ ǖQ b#8CځplѦ9];g}c8ع'C~`5{j\ۖYR!XDsZeFƪ??X?<}fKhr]ٱXO97]5ƈv,dm\/'4hzڲU4uY|gv7e~%$}Oz_պTvYY@v:UraW}}O/>Ï?5%40uÀ&`VlhdW5^% +XSK?O?5x2d=.>]^̜s$93SRdxeڠFҳqXe.oZDZ`Nn P/N)aO.=VW(2zŎE+Ou`Z%Y\>?|>-;AT se1b"&HK۹O?G(o c?Z|svlLQ_Zx${<{yeGPC +[jJiH5Lk2v7oۦ/?|..-yݩg=ڳ$8k?їw6ЧZ +Y)XC.Y@AARYxXLn,?.$b{&{D +ozF}6MU!`a;Zx#vGڏȳ6v֖Q+Ź6%}V@c_d(?O1yw LJ~>#G`{=AKySVOE\66⅞bLXY@ QK{|nt$3&VtM"ZtrmJ!:ܲ\.ǚ~,'ɆPٚ5viPK)F^?}~r~I9n+ʥXK/3dǁy/ #h,]-cȻ{ιb#fLYʂAg}{lQdV:Ø@6!]W=NnY젷2?CZN?=`33=Fӕ. )<ŸOr2:lx~\>%z3^ U],Лiy +QN֎82= yȺƱm&x7{CSϓ>vT]}!z|#YR~@ pE fsu$ 3IS8Džܫt %nGգ:eeYT (PXԕZJO{ 0X8^X>x}^v?CΥ(*x8;Zߴys!Nv8OʉwtEavh^/DO6< B=vٻ%i0u۫Wb]ZQrJiH>@H TE ۭ.n;jD =`B36'*x Ck"2QQ.4`^8xVO& +zqp@t%C2?#}7 :t MnܜQh)eƙ9ELYPn ?"'M8{1ka_YcciM =^C_ʣDW4|%G0q,,П1Lfw0#k}-9,rw%|c"N`N: X"|Sshz&nȼbR<=KrGbyzeMe{ =8-dIsR2KՎg8f&2YQ/͛k.{מkJ q0+Us*4[ {y'u2T޼4ߘJ)nxƮ"0O58-ĆnƖ P =1mY"},mv Y$XT cf5礱:䏚S&9Zvܷ[qg(PhՆMS}0|1y[3Lώb!{d +SkyFuwLz#6J'pE;'6U=ۃX6 cv-CUbVusI9{D e*5o}r&0`9 FO +U]UǔjY/Qnt;3nA[$u K/:Mڗ3] + f YkRqӯM?ݼՋn G]Yv`#CnQP u=cSwWEE)'$g/:iTmQcQ /_gcq`ё3kxYC"!1h#\[9h""cff1 W+6jL{a GݮuzVVU))!e19LdS >k61'N9T! nHwUrz?p?AIotYhqeYXc s:fcc"|9 QvX<و]ug +jzy`S=30l#2ihڳþGѩl .:ևfm[mk]8L6FJBM:}VLI!ߵz{\jݼy{1*z#}a)ϦԮF)^rT +6vt§ςc̚1AzUh`WC8nov=CߢGL_b\~ N%8{B h)lrdB8E*zr,Іɡ{3sO䋃9=% l˳/uff O| kU6*F7 Ϸb!X6*Kӏ1= s:v59X*, 4ZHM`z>Isf:ӓu*7ɜ<;?Eh7Y/NHv_\U|p~ѓL`ayﵹ!bcۮCiק ,s۲Gu\|m\2 wir V"_wdu >X\Ľ[Ua#y<޽bzR1In 兊j0 rլFTrt(>4DG/ rt{jȮ#!4 "{tԜL%"u[Wg\_`j!@ aZכ̄J BdPM(.`^WkP館Qp&?@b|g6rkA^Z1^(ؓ3};Zp۞$O@HzI^ +ᦪDrU/USJ.8GC`A\f(w>^?}3+|Ժ^'Bf H'VЏbY~Ih ҦKSg}BX˼*bY$ܫб$q3T$*l=(PP%Nc)E \dS4v.bEWW),LlԾ۞bV*T%s"$!LY<3eID90K'e5td{Jؘ~L^n/VݨԚ4Ք;!vvQSK +2Ԧ8?=,yg?K݃ :5&T0 &^Hd+KnK}ekM=F>&susȝ)>_tZICD3SE JON/d2*eQ:0 JSAq`H_9Y<8GnT{*8GaȚQT\B00r$x_N"vVt]/6CCD ŎؘLj$uiC,SgYT!L )k~ύ9^Wuc˜+ޱG*m^7!VyI_>QT~}t.Dm EVhepy &&3Q:JiD*؃W:~Y'.P7 ),)0/cd{ztzsl"uUVwGs\TG>S>~>ڪI8(>8zW/~^HM 886SԳX()ӰAU[n 3ޅ(OŬ-[|Ohy W<Ȼ. 5IDATxiI-f{DfZzOU/ 0H=K鮅 w3=\3ȌLU$U@u5nnvs=7/p!ثVBi S +ڿ_-o3Xk4W%ql)bJl_ aѮj>4g{W R-゙/~#)6'[}EXKgZui'ÿ{qůbmoV)'GWiZZwpm +_8>K4N*6[޿֪oK>ZjkKY)]Rڇ|{??C>/}_~)u]r}7RX8',/-G曗)Z85='ɟ]K~.qwf7bۨDC]&>)q}Kf,w1',]̩ջ4lOiO/ݟ9rf_^ #L?{F5ܞbUmڿWnmה 7weoշWo <8N;*;}Ts +uرʶ!ֵ7d&\-I͡_\ akx(E.V=Mm#}-]^`[__>`l;qgX5.>cӝkl=[-!UV,<(a)-ǛՋ/or[ւ`+jg4O!`vgo2loh5[O_.k%Oj}g&>>^]Wˌ: {lQ`W#I\aYnbكfA5:ɶ}s{3*GQ[f#!o]/iYlGmE F|.aY#/>_˶s +r-g~gW.x޲Hh{mq-K6RɱC+ ?ڃ;o~Wa08v.m)u͘6+Y0Nfj۹/~k/ԫ :~sl<8Y+h9d`]|y_g_žp\xU5 sOs+5r:`o|u40O2 ǃ{-+5{Sl +6xo4SYBggۭ3uf.<`M:>1E~jJW)R>ڧd>q_{3g/g=}6uēyn8n NC4b_d-i%DpXۭ]?h#4ܻ=i~6Qy2!Lixa27 '?o_m16nӸfvEf?_+c[frs5}w4_5"&vH&ό};GvoO/?|w9WW7``i.b.'/f`= Qm`Xq:̟vv%s4g4/XVL; jB`[|CL驰\A%+q>̳; 9s؁βAl _OoH`#>+u9݅cm:|qiZ($0D#]7wn 2a[_&v@ߋ%Y6Ӌ77_קyCFEb 3 Ҥ/Y`0nNѾʂ5q; d3l).&%p0M“s-zg{2:VkVhIF +ԦE)mݲORpdl`/6hqAn S# )}9Ti#&egq`ŽgS-?qM2~WV'*rˈP;IrK{10v, 6BKf&C+3HdouцdUҜ_gų62=K]_LWf񺅷hϖ?? jZeٵ x%x6ox͓}"9<կ^|zr+HlcweZ.|26H,ng `e=4+ HD!`r5ψGI9z\,7Ǜ:DVyZIcA萐F(_D"j9x2nVjuӞR1zEΙ'`G)qN:[' fO5XOf֟BR'1#Nq;w4?v,1cE67 `_Xn=Y!2J!fpv%k8i,!̔ aYmk,Vdv ݢƤ`9|0BDw`]42,",>Uۇ]#Ï7Xx`X|bdRL3k3N VBh7'ͼJ.q㉏=/TYdގk[P4,FxKZ91WAQ RKmɹ]w#Eheduɭ"lQ>yAk [gX)Q W@T^`oj\]xz7!S\ #̹u;@ZH誡{yQ ]q57YdKpPȻ&k_W:ޟ! pyHP>zSnܮݡtmFDHYܹ0[/P(ٵu1/eROvu+VEv3϶Aom;D?gǏ,:юSSɀeϲCTlќp* +8$+xz+~Jg%waXe"[r^ uQbJzte2]Mb;$S-{`{ʆSqÅ6&$a/1"a !T[+2HgQ #̸NXm a#2   c&V]&Vtd?QLA-E@.@b)Q/kο*RjwTpp5-bOማxTD#3o?IngY,mqwsg; g}A,C ϯaӅ9͢ X +(XW,K +Z/[uuaCÄ +4}CG!T% 55"k1I$0" I@n44*3d~1#b;,Kw-]cb0,Roݲ5lCiSWU$,[ӌrٛcJ "o猫izZDט7gjU "W;ET5>BV(Wi"D:卖Z(r|bhވS`$0k 3zAXR8ֵݮDP:Tt3cC# ]Qi_f'\=Ś?>kYX Nxgn"ɝ)p+U?x !@5T"2)EtFzkF"Cs,h~XG ;+!7݅%|JX=,PĦCۺܕ5 Xo;^GݨɃ8"30o2B :5Ζ >wjYM8Q毢Q:E")v(mmxn;c;qgF^;,81W+2|Rt|o%/y}z./0vdNtWnb.'2GJ=ʊF~7r%<ͦLے+UAP"ExS[l pv[9(3,EG&WƓG%{+'@nE4m`']'Roؽr'ARAdΒ؂Xi!@O'u4I{b3Ql2 BgL|++A[WwK3p]dy$L3YY ^2/`R] 2 cohl0yn(&Ux8#0ndG.fʯ56o (B.li4LT`G%װE ϻvƾ 4+0@i>YmNجvn Ky_Ⱥ>Ob4{&IvR#e"VW|; VE|2~PZ֚޼!bxtO^m]˶Imb%W!plt=f'm2ܜ3J P 0`ɴlud +[:-0.3! Fʱf DxР'Klki*(iAp}gٞ9m0:7/حDY>h`M7'jòL`5bq tփu@dάSYc+"g0ќ(Eq5.h'l{yUv/PMKS+Y|SX >Q6r߼t ]a)GeYt`*6t<T_& +zɷQlb٘ɺILДnZ@6缋k92r0ƒJ bCkꭀyʫY8h[ h6]yV=1qmMĤJ<Dj\ fH*H{1[5V7]+D% t_VJۡc7`lHm4ԩUv1v0pcVƉ;2Ϭmd* ni"b5> VcF1YDV-V! +#Bh"-qL$hA* DbM0+a/&pQ]몗 8^RḪ, JMchBBcMSrϨ+:'H1< Egpjy4Vw +OC8 wWLdc sGE[MӔSgƼ6Km{f؅:H枤!AU^+s/BDAy;ڑ%' vpL7/kU,lL Xk{ne5abd=6W**6j\~j>rBMuŗ%q>zN:ۘmNJͮpդMt&UJO*E : &|Srdtx݈ c߮pQ H62WDR`zVcT&vQQ&F>KsPHH19ρC7\]]@ZIlfŎD`rǮB^e*,$S._5햌 i)%RݰҌQK#xL2 +Ll' *s=C"icw4GQh`۫-[ػH#j]NI_y 3:Њ '^@d˭}ðt] ))q,MKďdmvz: Ey,L{24]\Wr[rkb ֝DQqgoX#ӉS@DS^kI;P Z#q@u~`O=xW|mU݀=2W +D$e +|ױ$E>T6l`;$&CC@?)3CMU=?TgWV= ;fGjpwLhؿİrT0̒ Zd2LJJkJ&8.+i a@۽Ɔ cPHL&D&, )e= V},@S't@Ţ$1)^C܅tZq˝6>"I8c,ؓ"om`H㇍Z5omuq]$lB}j6m0oLlRG7;.?#T"ʥU Zye + [1y@:Me'z?BjR q菸vSBxb<ƩXVm/b A8I1I^:mw_iPGn͔N$ 6+!pid!q4=N>ڃiiqgNlb&PX + +`hVڅZe=5 Ga;ހQAqW;1 ʬ ++d&\a=y$=iZo6K +|B<>$!nCL)`?GvbMhiw𥆖khFw/"vm`9*TPt=Ȼ: ;I mm=YGķfae]?PlAzVw&DJ|O +P䆬41Ɛ, B3n&KODe +Qt1xn>iQUqp )XRQNsB&)u1cnG$^r4}?5 +]M7I^#kFW5꒕<7CHdY1ě4]Gӑ!VN!¡EKEhLjDASme5NN,Ԏ*K/zVkD3FmG,($ +aS2JO+(>$PWjԓdSҲ;z(ڧOty@5O'(dݔV\h7O[3.6NwdmztL-uy8TRH8̾Y[eKB+ + /"vuHN,^o"kUb&uW4Eh6k!FŞA#r5ð\S)qߊ3T9wrcSDOY+Hęh}e#1lFR9ơ ʊ%q|W{'m8!w==/r<R Ia7FjbB*z" !;!( VǼtP9D_9U?lYZ@q!vҖsh6U +2HM)2sf!2}8^$2XQltQQQ$! ګe=el/ ^{ vu'ʧ~ǸZr0)P6@VOSMKgtp IcDi dJrDK2uV6=J:9qz6 & ̄B WN/oZH'%(}V{P(..-v0X&23l8gSb0,$bOŦ;hՕZN'"C7Oz,N5RncB<[u"% cXAe0T,6H]>Dc L%,dfyhoWEY#+BzrȖHa*gIӌ~h(Sg٥U4URW 5,zsN۸O uN~/vrT:oD_H_ūihc4$`u|{K.h̓'-.%Ws'L?x#)TLxX{d}zCP5ތnq춛w arX+=U.̣IH{OEܥ7="T7)>-g,?IϢ]U]ŷCDD!|."\nLt۾"7:9ߓJqnC][ny殮kK=Dۅ #xJX뭢ѵE8`@֮صp/gLw#%vDEMS|廰g⣒l>sܷO<đc G&i۽QlRZ<ymՃkʦ(i$cRkYݥIS9o N^+k"yIYU724+\5}).A*~JeǼzyO:KN[ԇGOs5- M]Oa+WBmS 4_d탨LR +|҅oxC|sUK Tְ~h@hTZY梵ޛSFH |ӖR->xҬf(^UFcܴU.ӏ.{ 1F)>}3Vky:WvijxM[]R>i)쯶){]Y a<'zSGs^ 8%+t8ptf!RsPOݡv=z`v :p9Tǡb|+.] @V[t>LT#!e +"R:,8wQ%õ& #pV[_`jH9ݭ HP xzLXjJ<y1Ow%hvj$誙SYks &M0)kNd{ewY)k#sQv"zhi&ӖW;]ZZL)m"e.4"Ji*$W$7ڌ+sֽoFI$. :ٞz<%47|.V|\}Hc4߇w/gYҮ,sM.alY26HrM>~1JZ:;eX?7Urs#/zWzBecGPz`=m +j扆@RqgCZQb$v{ɦi2ץm]6 +d4:FF tI5Ϲ$L<ń>v@j8^:iSkejp` oMi{qk%Y/0h|O7߂G'rsh| p>HJYRRKTk$^weD-Գ8sG(/T]lqDYTodzI(Q%]׀)Z=oޝvpVcgVus=|KzC*>֓(:@ɫ'{& +OLY"c:8iuY)9YN_ w%ÖC`̉m<i_&裪Zz,b9?wdp3/= /{e-(=93ka)=:A6ejlK=ޕʤJ_4r^cKȐ}S|h>-J5TaHtaQ5?c8z&GwpUb~5 +Yv"C &V~bK{W+{c~ MȒ٦M86M􊮃[g,AbS4 5_{#$}Sw|4)S@#7pJT3?~?~=4l(zl(2PԗpSLqB'٪w߅.Nyt?mWW^\,H}0'fS[p],}R8^Hk|TUxC ]м q z<0tlC\EiWPsg):EV+{#|hVODǁEk;3![qV(.WM:uhxhgpd\,է"%UHKU1+2FW)(0g.ߕ{yG$%/L1u NU]}h.]>Z5 Et6팛csg%Q )Z*TPpt*eBŇD92K8=ѵ1c3i@Gif\ey>%?闫MENUjpqc, U}뼭 %ؤ0tDHn-rufhӢ|_?Gqtn%P|9:5M`sgvHkh͢ʢIUӴb*UDaasM|rLໜlpa=;TY&"ǑLȡeC)溸 m=ԟY1Z&먱/&*<"Ee6:8>"7..&^-Y2l~^^4ZT4jB]~90! x^un Of  :3Ug1J~]#Ҡ٨޳qE.Hx0N[mJOe_ְ*H1+OE÷uW8OOYwrFӵj vg8=(!e h?Nw(SQS9 By& ^$4z!#^eOkHֺh/d`) IT+I :DB}3ɬ3k=S)hh2fpk{I9GJlj0:xRbÞ.({0=yNS倝GȌP( WǸBw+[Z%MK}q#%'.Y! PK[6YY(|ԅ0O!]Ɛ1I&y)f[~ ޜ|c{zm 0~ÓvF6LW(n(ؘiدN@@ c 'RsBea&l J{c{ ?x?Ÿ^?GHc)J!ZYx[>zHU3DK{xg+SRir|CF QJ?pP J] +n#wyOHK}s% 6 ͈yC)=Zڔr HL 1[;KJUv{ A6+hUS܁k|T(c;) 6J ' x1C}^pCdStRδ(5UM\xfLR;.q a͵I䬑Jn1 +=DCcf{Q;aJuLW`p Zp~uv'PI{{6!rTӃD+EP_AZC괔B=y#z·ԤlYq.h {IƗZY. N 7T}bHa Qg'm8Anyvo/\?,Ì/pl$ Gf,W >F;׹D*RXDB8~o!\f<Ʒ_1TuOƞf:Л߬I !J Gʼ} Q%'o4\ 8/"dw\-߅GӁUĐ"QpL!r'((](,șf5iP6H1f nDv,axAͲjTo +~{yh?9Ġ ]iI,3 rGmi#~}*2cRm[kگOb(a ]%t'M=]΃tA@\nc|a~?W{ZNTꔓ'\t6y ]~2܎oRoӉF}]K-PQ:Kfy@)Vg %iVR.KB-qo !.?A2С2.`QLԻC oy \j&Ya:Wk7{/wTw#A6r63!q)hD/ f.zZatA"̝o ŠM%SkD.D gGjBҾYq.Jou#(!O{1&Y耓>Mgf9vD[8G3J@+jgl.8v49UBL~{Sn@(Q\ڕD".h7 Xg(.ڶzR9*y5,婠R=<8ln앚0v4rqrJTֻ&iiޟ"'r,&{퐜Ҽ¡H!ض?nH^yt*ɟXi%˹+f(帀vrCe;oy0Pǹ @G=v%>a&NAjPGSҗ]D;lZJn$y481>:#oFѤiiͯhKlS"baP޸~X sF&qWr{דkͻ*7zj j>$J˄#̐q޻GQks qL㎇6_+sNAy7N"UO l{lݘ*k]?zc\ݪ&8d4n4 +0-$4!֩#-"x4)G(TU&@o/l:KJ7teשosSw=֔s@'v2uE!#('0K}r@}NCFrszLf7K#N(f>ov.=c6a~jA̪k+̀44cI'S3%rKپ$v6S7b9eq0r܇Y40߲"D)%KV*2M^rl{2c9C pq3$E_aJIQ36{ {\0)5#id*藪;NLigLJZ >/:`"~{n/f 8.y/ T20Zc2-/igyio`7$/+& Ϣ-4@qmB%+bG೵ [a)+UIG ^OL~͡X` ly4L9S@9 F FQG| 6qtrZ$ Bzd׿jTKF;j^%˞d5 +,OԱ&6U *Z1aGhPRb֑!d=57)=ݺF< }±AZKY +G92ϩFj8DB~$,F~rƢVό6qC1(!ivou)<ݽ˰#uKlvj$M9MqKXgp ~$rVLreT›$`i-IiWt +ݸbWF#SE~xwj ?̟^g2:*Tja-k" +|1)i>z۩1[CN/<3uU_ߦ UH֡&ut:jldTޢSkCveFxngb&*㠓Eu4udkun ۼ3Sj8wV mK92&bLҊ}2\$.C2J9'I1]9lݟ֤m8~aZؚ+)lqgst1WrxR" hM {]CjNhY;MM㛅8 dx ø"1l]q3}lϺ,lkf~:ZFž,[ 1:A>6{Bʖ͋hA%%JID `\B%o¹xS+%5/!׈, T[ۥĽc1ə IC?XY &ksKq YIV2P193IRpBj3&q5Hd+}tywgN\V~ig0>85n^3*gfcDb\N_E*nV>יYZǯfC-O|&f"v%^>`gjb. kH 1c/f&;}vgqwvGd+-MBn,p'\ҕ12LoJBHDpTj3Ba"-=-iUECQޤhExGx +\ P_E ^=%812ݔmej ة9L7RIΝR3z// +S /#gQ3WuT1աbYD|?yS)޻{J[⒱KǶg؎V']L. 瓋 =Y*4G&%K*fՒ@6nɊqТӒ܁Sp6TMo]p}̴*iQT;Sj=\dw}&?vdzvvoUFF5ܹ-U~Lp2c!S-rӄJ?Ggu %\ҽ;ݦ9}*CvgLƲ۽ըQ*ZXL((!zyRr=앵IM}.$RWˁOqK:7uǙ`ܫ3Hu|in[2ZiW*QSz9ǫ9f[G +fpbވv JXB"ȭTVGwN $+;6|d0Pľyqy0/S3j$>;40:t?2K'LPɳbd503q1MYԏυbB05)m!Ox jz^i %,i("sxV4z8H8FRd`v^5KE *sl@\*OW2c P{Y\6D%h,VOY93;/}"`G `T2BA$Vj !XV&'M!ZG{9$'1N%93`  %1sNl=W&w',Hmc;AލTʈUyuE Pilz:VUɚhꄩ [ʤhfQ@%ٌt2I+K(d.(hA ++.(;Kz-=^nQ.,ڈH+ol[baKԴJD;KGɀ\wJ٫5M_ܣfC|,uZϞKt3V$Qm9aC{fs8 $xZgj";iKPGMܤ&/-MsS5A3F J@qcL)C:A3<Ϡ %Q#d7d1Q=O蕞V1kV_G;}wF]Zmb$!E8@y&R}罘+uK}<3^X:g^aWl݄7 +SJjtaocqƻ vn+<2d29hFgYU𪯘Ƀ5euܖ9n聲Wds6s,{\-}z^{(so\_,l +̝47]BON"_k.g;koѐK͸~fVsSn67h@e>uyV`Zs&(`G+GuB2q*l +>&&`JNLR;8eMPSv4G۲ AkF)稱KABMPs\Ei7Խ'#;تɯ2)0M3-x":hrb97nx뎪n-{,1lݱ8w)v ej>K)d?@wQzz^;:3V%icoԠQOS(YխP4wPӰn}8YIe1t;=TeƙE01iĨUk]_4PTP{l[G |ÝCtV( + +ь:u*z &sQDaTP c _}ͦbV[bᣃ/4£_W}´6RIUq:t&:r̄i*YN~¹gs09lt|&_YV}z=(04/ r7&`3;c#Δ}D4kzhHYBݻ@{6;bDg+uME"ǎ֋WWK"ZHx1-nB$Dƍ< yrt| O/C8F:wN3Z{g#Φ ]//BR} N[{ϩeZ +5aMJ!.Lmє|v#Btrg,ϣ%jfMzF7ՋLUDsG +_~'{,uMZj]NS=҈m5˚Z)~ϑF;T(_QC%3)$ˡXP!AsvbˁϤ1,M;[-m9z?t7mm.X>LC{_uԼKS~d}D3)m2;EP\g;Cw,IgnT8ٱnClj)N扢Oє3_V_,hS$ٶa1 FF85'=>t-$q `96X{ŇXa}PuR5M>4Os;Nj# +AGï_GuLQ DW:XmYj&ru׏æzOVJ5gp|["n\k8+ ޤ_=rO+ϑ(ZƘZ} b h:TA|Ͷnq_'τj]{u%gM E!y% +E&XeV{^YlKȖGxz -`Ȝ93 C0`"bhh5xԫD-ܾfsnUSnm^+>K&t/c6NM^$ۤS,TgÈȽ$u(YI++)JƗڏ»c +/9nBNՆ[sWb{ubfmEAxݱO?nIV~zqU)ܢla  +UdLD3\Br\*mG'zP<xP*8< Ca}ɹfN=.Wbru af46QKP?|=R],Pݚo\sToR޺-&bֱG=-|^Rvےۺ]1'a%>ྋ HI.ƃY:t=YfQn);c^Њlap,Nb8%rznƪ%S[I+Mt@kS'AQ9 +S@ӟ#Ye)ܼ|l|&}n ~=* ?M/M4;UǴ|{&m:o=J2K  U9Ek҄مoD# mgVRlDvFybS[ +A)17߫I0 9BI,EΉלTCJ _#z-%_3AaO>KZKJoy",7]62YD+5XEb`ıDwa-\5\i}W ~g[,{mT|N@qjI1?4h$z`Mӧ?Ǔگ9b10h4Ȕ9&w5M%[^[">f5 +R`T6.7] +ɾ`JY/5 +"4W.k Esh!Y' anh=AkjD=3\~,!2Q{]"2^gvmǚ3sWx +.()\am!*7,>]},6 ޭ{mW_݋+v ۟חLF̚.5Ҩf eIth.3#ܰgs׌/NL=dux~*Ή~kD%]tW_]IJ6EmZ\ANwݽ'-~$&U)/}].u}fSkPIoI|CǾ"yiq,$[ ej?ɐ58!ߘi%5[o~-v>–'ki%/=V ^H\lR(!Wⲅ:]$a\bX+A,u*".\.5arq5KTh6T=BG)$?V%N6ۑ+dkOA<&UVKhMg4tŧ3;D{ .x,-y `X^b:vAVxnya.kյr@ը3={O`yԺ< w}1ȅQMo7~)q>tx3$ShXTZ@> JB&O +g~(?|.yZV=2_sDV=O jJւ]k)+6XZ(j%T1>ߨ52%Q`L!ރ7|fj,e% N('G"ͽtP̵Q$'Jk'g@J#bROUfݿ!"o[nzSz?=Nf%SR-.m.F=l +bK['f[$a9g4l|.0 7^~wGR}2Ń0[@RboZx +q4 oXy-Q):"YKO,r%D=͗>9A&DS0?xHNk +kC1 ƔvNB<ͩ"Ъ~)Fӝ +TԨdr! DB{?=xM)>w hRw= Qtzçz ]Pt *<햔?~,Nϸ[)_?\^%kPߘ,zG_6)Y~m?AoSp?]_rC5LW?sݗo#Ex}N5-RJ1wAc81+Wt6Y}6F.^gwXe8O&N_8pC!fU +n"=c|jP"A*N&UtA$T=+J_D+} i"޶84;đpKU96zLI7^TuǸ<Jsl1Z|ݨi.=4P ++c|pЍlҢe'Ȥj[X^d2*3®&@Nc3(p>cxu-!ZiV" ⦎ |yz5j\Di%.j7ץtǦpB/Du,-@584{a,`Z^!Zq~ _L +ՂNPYblxt-RU>0)gt +hz]"孖ؚ)1M_i(袆3])0B{%@(?\yhitXe[2W-tBX0⏝"wzlS%STԀS[١QfAH/rctZC$}Qj>/ܭD~ڀY}(HtlyJAQv}y K**M=im~ZsvH#)_ + QT/߲܂#0׼uJz^|mV9-55@A*YH&JGYIL ElEt%So +:r"3E7CZߧs^yDHk3OoTxKsE̗e9D^ϲo9bpWi{r__͟Oۚ>׳:ǖ]|J}wL +/>c8? @, +!uUK E׾Y}R%G i,HnEQw`x=ۤbB²SࣞA\jYdP> [1`L9doH-) Y ZV9E;Qk2+"(|p$Rj +6-jAUWlV̽$;TPj#uK]N}Qq~E0c+9,؎/c0Ғ@Ө{&NܼM7w`h^VU(IC#4i3 a؊Ff ,I^d+Ō^bA$R7QkM6N"NYb?#A=',߮ڋ\3[XnY1)p*ɗK;pbɕrɒpPRN(@W6%bD.glc.(a%!i2=m]>-~vLBZfFY ?쯹G oZu˿O wݽ8+ftsszQW,Gdc~+prђ Q :e 1F-y's'pj4Glg(ȴ q׉W0#{¤8Ӊ'WUE|t#R44VS.v5;Id~?S`ΐ|>ZSi3+&˯\P9˼`5_˦t"&9J 0WulDeޢZoAHicHbL%,R oZvMb&kry1\vZFC~/Z>K ʯsL$vDE?߿_Cw{ 5 :H:\@ s4#u.ۤia+jAbUפ%8g@M8OȯU(R@1}޺V4т\SLm9i9f4X^qh0ՐA F&7^nheqJG1cK}M '*>Թ\~H;oV;h̉V3 !٨N}ߟc!)>wuP(P'BGh"'*^t(I'T4.N/=\F9]3I\Kꉯ~v'[py҄9ICJm@l EyIM?r*.ƚFM̈́tBsAĺߓvP >=0Pl+Lh<8A ؠ>@ iBR%XcnshC=9# +gʎ~1k^Ȟf5>%.[;u<{~%~M!ܼ lwcX3~䠀UUG֘:iQ?Slq 6ko=NuS0'KA5JMPhtD!uNdC]SѢvJ0C?ȪcIu8`ue=IEJj} AJvClApHoq.OU|η4np³U +tS^ ϴ;Zo")yY2 + Ve&T@Ӡ-(zˤY5kjCy#fөCÀ>9b#FdrJIJ ^ʌ69]9?"JsȠrfvق7$>Fg&[:4zUZzl!2_dCn>u&@spD fЄaZd܉T1cbJ2!G6nÎ!+ ،1W+?ml _glIAac88Ղef5R&%ep!>P6TC;VӜSܝrJ\-$Sc5RT#;~pt:k貉75 ?NDd e +K;WYB/{k?첝,$kֽ͎n"%uNml:5F:Y:Z6o1S0eX]qX7w}7ԂF}3R $0mSun%Ȼ]H/[& |iAvΜ:iU{wr:xAu 4IptW\TPVr3(JP*QQ-iX.y}}&4ި1O89A7(UŻ5X&R */wCOSQ$'虭S4Uxms)cݕ4:ȡJ5I.hAqWq( "1'tt!C2AW~Yx48{:ݖoQBR}N:fZgc9r,yX+#y8+-Vje+YU)}H(։'ղ¥,`NlHWR0(y +0CA!PZ7dO3:ߍ=̫_ Mi'ŝȚ488}㑂vQ?@t:v*K&^"Cƃ<mF@LRCw,!xraHY5> 6+*pKZD rxљ bt]ə*[0)aP꜂OV"YkA`_ +c6X/&S KWD8amyz:]63 Di`t*>ݲP? oOs?@d 7ߡRccqzz@1fVM6NdLɣN @sK13ʽC'+2a#gVG*0 w~r( V>YB`tXe '0`89xpty<4+iL|NȢzK?pcc(+eY'5E8u?]7?/+ک8jӗ1Jg8{ PAq8:cc/f}1o$10d^0'} BpfFz;87lgH'9jI>% 4(<AT QLPg~BLlܶKJh XIQ(# 1Pβ]BcF-BK"{MW74~`ۛ4aj= ѹ.Z~׉AZH`81o8Uf'y TQm2JB9636S$mu<“P0 m}Gӄ1\ǪLU(;A`(Bhp*&А=^503:wDK5*4`Z01;N0("yT.SGp*9T{(Gc;l|8brЛ*"Xz=}ghx@2@m~Nʄ\H9iq-]^mfM\ K݂RiƆѦSbx{CnYTtzFk`s {ěRq +_(VOv)8`zqM{INs5 wU 5@⼝v_{X5ZC9{Lş A  *T0./lWN\Eː gi X%p%662ቻFVXܺތtuM3YU w|^JwIn q4#Ԁ>_ vRSYWN=?pxP?L1J0.)L4@W5bh0B/1z2vPG?'}QP^2&u X-4ms0L1Y; Lܲ cy0>1`Q%{XiYo `h=gڻk0)AG4X#gF;8 3bKrp@~ +4mM0x[eE`O #GMmgH՗U6`qJ!*[GjeE`:UrϏuN}zԎOc6 i-'$u\pvMn0,|GQJrT؀M_ABnOPǪ֌Ak &Op650`] ?gXyC&nu[b` fϋ۝{mFnWK*;W$z_<٫zebwOѮzg+2tcۘ4Ƒpt(ϓ? 6H,G>ܒ+Z j&O6e;}}/{)!wNr i^(43"I~ +򢓁-5 +#tՙl TmIQi`uٳ84[ń[G1y$iل!{E\<9qkr +pnJτjTɪj +Qg-EiČgy5jDY;IP,6n<Cszo_/_еF@[$lߚ|n-:3)D}fJ8j&g ݔ ?Q";@:)w+KGISx/Kȡ% h1=):YDD[HМNY:=*Oҿ}TΗQ[+hgtI%[:әTUmC3(8Dip2iiMX^aYK D]2EF¤j4)Ujl/R"=+P;], '.9A,v<Т$ĄBB|+^*(8ˈ܋?\hKI +FY500FgizNUowS:ƒ+vi_\anʚDG VQXGaq(ǜQCVZ{P|ܑ~ܫ|c/Tm'i'$|Ûo„+sagrڛb:M t*l p?Um W6UMR1-")z v]xChZO*8ݧu/}?}S.,Vԍ*Ɛ~x+!.}2PMB8ZM+e+?"9ME>IeGe0ϦʩZ$;SLk^R0QS5h,aM<f7F-ɀ=h(H5bjVӃD:Hv"^EbaxasՏD )+rTX,]kfR*J,՟j.ZtcMߵUC=m9H50坠xэ]l`< e_*bt/L=n.AN"7$2wxϹ/LN9 1;zE[C~q+l}\g~{${~6Ԏfh޹,r9h/1Y g\ӏU{$YA{S@Eoo_/(qpŠ8La~2תhjCm6ԑtJ@Qk !OY4lESb G4>AU(fZyC}-LٺǸż7XcvҾ~/չklQT3S&wpOq@˃ze2/ 5Nh}_(qps' |mx^.&!RC݅K3'>?`C8|McWV]Xg6d=`(yf#(Fv=ۚJs' PWj6|S}OJ+-?!J }<?bhoTe?/{T2̮3*<&PE%fCʬC=!d0E Wa=QS\ӾA#<:.DKJTՙOp]O;4pyWÇ.ىF9޶&;/ ZFy*-bxxF\xRtub JT[v4Zi(l??{$ʋ0r?C쏳vxZ!ffZ2S4hPN OI L6ON:NFS6MSvn3>JTH[:t8Ms)2)!dA}sΟ7iq3}"]:VNyc<ϼ G?jcҽ1'ڬ{8d/" A~=rޖMsqcMJg| pcܟ;G s@ZV@]Y|.G$i\x>.?g=F #0ȍ,:&M-eM*3疒Ц9.,[`rZjbdžf䓯!rڀG]4K근-?rRsVg6ZtDj{md˜tl?#4~mded P*÷@mcCh6~ɋJ1PDȃ=GTGI96pҘ{0tՃ+X1mN:]pKM>m&)p';BPl/ZƁ5Ynh1&[n%6N$n# M{~ig$sߢvׯ_6URAۘa, &IɆ,_ QMYlKژjVrm1V%NqXl='fϜ+b[bm6MЍlPӉ$̀'nPOz6flznܹ5\:BvgG/ o16@7F[y~@Ń59P$,NjA2&piwMIʊϭ髄?kbyLi6((cZrxFRZ-ul꘳|Y:ZF<]:?*H|b(f4+<13?ugglcX!,unFMޒbi;I.qui9A6<x;yGC@T;o3G~_d]HLG͢Y"RO6e+\BvY']쏪%xƔi;x\s8UW!q/!5&<,: GoA%,؎:F80P{ =%f ݢ!^5s FRls6mjH1ѠT3AzVׯ_} 6ơc#b ?J7t6mL;5\v b'<**Z-;ue@ 01~gMqF g,4q\5ϯOFHL4[j٫\ThxyxWRN_~pgoy}+βz2u&$q=a4/z?Z>U2wC@ӗo \fLCNI@MXEL- E^ޝBp첚Mï9 88^BSxkqgqN{4p9E!FzvMC}yj]9R01jQAdU"'ss<\<F>x" +GJ*'NǨ̹ +A8HGuLDāu`[Z֥"g{@ɭi]# ƛ?&t/`25]To 'vFTuIό8ULtEf>hu-!OTEHv0b(x*&5s!*gy٨P sGK-A G Juw1)ǟE`J4srBycuXVnE?T?69ejoQY4JӍ,Y5.GQi܏gAa;|,ΨelZF% Q9M;H}](lzU0O<|ؓl@%"0y`U0Wq(K T~S ȱUC7 +>\{M5~)ߣ/%Ok:e27ZWfp:YOCd~ +CFAR(JJ ;@BU0ɡDC˯ c™@~X2J^ 0tj̋ut|\϶M7' ~PEJnl[Bcmvyz$ +>IuA~T2gĉr|fY`jH0pq๮QxwbĢv0zXqW0ש)1uG:$!A O,axKmR<Ο5O? Rȅs 6lCq5Hk_®<jnf8|(^8] |I+.ȇ7t1z}te}E,%4z@#27SE?}_Ky+aC 'Y?wK) Po3c3zYP:i^GYh P~^)fE<ޯ~6!W@wH-mLKA& +js6/zC"3hDb:sHo?@tM"+Df[M,voym,{e +_CUW[蟢m|uVySdl>+ƃ.- ѢiJwjx>&8Rpn!Ibf4Xk?6a XVA7p0wnw`Sxt5yRٔݠ--?۞'bYΕ 8ek*}D'7 cMkr;g'1fuy*AV-8J(%*T_iu.:eYh w&L>!-0QTИ2,oP{Gy/že+|/'zhǰCMTT4vr0U[mڬ^Ԋc +0=؊'Z6z9@@ {dFGz aM$jAlYSP g&&V%8Ab}qKF48PRC}^tći"JV4ۡ!jըZ˦@Nf F!f>8y +2/LAm5:`x "h㔘G Ā2ZS&X͡+2Hf m>?ޔ#~ԝ{U@ Hp-9Ϋ''מ!Z5)lZ"KڟK5).rj6D}g %%8لl`\FaRrXw)i[VI=ǹ>J]$e+lt:EMf!4+LqqnӺQt3 ЄE(Hhh(&t7&e4Hת WҬD\ШoUQ靔*ΡLGp: +GAa3 @_AeQzD i縱WRNLud-”hpɶ )5[̡}l~~sʯik0Cߟ' s-c۝GTdؿCUJ pPwDhRt}[b>һ DT ٳG'X>:zu1wkɽ;VTL29[1b Jф(APfA]qQMlQ`wHl]H pBG;7&.@3"wO ቹR?X ZXOR{gH.!gJ*@X>@!392&,lɚ핈ߣ,IKbق|_c{rBB$z'oa u}L:3ep=F^1oκ#`H$6ya$z74 iS'>9{JXh8&0OHbV|u "⹀ +*M 46hCM:1e 2#BRޫ +XK#*du b8!EZf4&w!5HA;͢=;9iyC>=*^) +K$ӎY7+1I yÍTB3¦Jee*b՛cRM*4lێ !n +9Y˹V}pJk,8O(Z8%9M?Aǟ@"E*3SSn:tTT97ǩ*t"CS`ݱ}Ϣ@J4-"OӋ qZz`= eB^0il$߬ +tRȶf_JZTGUiGN&mF]_ǖ!!'tde}*ZfN&&R BO$WY;;I Oc$Àؓ9R[]w,Cz wrZB<7ռ-1g E˄{nY]msW ۶QIeKhov_|nu TIby&+I{6KR f[˶ZY_oJ9ctlcqBX,}D 0' y +c6u4Pe0.!HGdDW|Zc(~tfRyᖳ^zjsLYd=1IfTRCM'rYL)"hjB8˘Qæ60.)Sq ~llTcrgP֯?yZ:@GJY! ';-F +6 VS;VM*4紑`.;OLF<ԦߞvY#sרRfsf 1aD/u/[ʅQwSAwA(dKXI()OSwN+Td_[T@Qh ><CqHĬ/r ,öJaQD!PBOttv{t+Gdդ0&)CBN"+1=9b<꼳WZlHHPGҞ]GtNyb T͡ ̠jhRYic|)`:dZCP:hiSW(`# Wa ަ:uMl]C_?6MP;'ǘݳmUKtwv}mYt͹~T=~fD['$r^~ᛏ:*YyxAEE m& +Ϡ&~qӬӛf!,DVp zPv),bYY.bV\=9)_j{<oެz=QȡC`gdQO]p?tRHhU#hguTAcJ1꾌YTCßY:%4ϫޤy*#2\ABMհtkWs>Ӥ %QzCS~NQOe~$o4H/=-![(͒`1আZ{#.3 J haEN%R9&}a26'O\gV0}^ѽOkb||޳1l:̊a "uAġܓa2 ,D%/>8`PLm7|Q0Sh > Go& nlj_jdD0 {=tG;1c\߂As҇:ZzsG7%!QJQ%m c?CÆj)"MAY =uô -cvD8.;=H,p`CV\b@֎vUa Wvsis +*QW<6x/DEO1Re]F}m?`cxBtwG QxW~$AKE>exɦ_~˗Pؘ2K{~Ouq0z=cn?E#2(+v]Fb +'8m=+£̶UnV9p#xZE{HR6\eUp^mgaq\+D]Z.%(=v +u3VKvߒ# O~![\ugH JOE*-ްTv݋P2Ÿ^7W^ +X"| }n[Ӊ;N1YK :$o%1[xN]0Sul?x\Jl*u\qqŖѬ)ՆҨO/"y˓O#;%7}=z.nK +]cVg^GStCX lzBut*[vUn^kl[x[A} +uf"F]o'ϒІO2bblHQ*!:pV3bA9RJc.@' 0m{$4c}DW㖼JR-M ٣Ӗ[8^QF3~h +a`v0Rͻ{K']@jD{⸖)rXqY]vHi-u(=j!/F7u.A@#JZeH~Q PY^7uǎ ֈ#僥7%My,F񇦈S#Ya{~0Ђm1?v'瓆,@)?,m %idj=jGRA lkāK#$j7ȏn3Cӹ޸yLwT(=,ضnN!k,+ӎ jyjTZb]{we_cW˝=֢O[!cZGL#Fٶr)!T5m`*&۟u"m=9h&6κ)̫T y;t*` 0[a(|{k.zٖML^?H T-b"}]u:bƲ +g; ^zqBbn=e}|qyҎCb52c^&*)1*b(}djX HZ庮KZtKJ0'GuHJ +<'-|#vF☷R9uؤef{YT߃xvvY9?da, +PE$(Pv>= +mH X4˅zU%=O^.: XM#QubjLgv&Z/,zM,7%7®D Lc7赴&{v*W2cOS +Cg$P5϶4+lNGu&Ғ21w04fGBƓ1U{T|[ȡ*M<u̼4ھA)UY /#@[Q!9ԣHF4@Oql_N_"י2-kW:a%-|\ױL}0,sF0hD,ٶX?msR5)q tA8mys}P$5"`c:lz Aqɻ2X3!г$ҿ̞T~Nk&3-0SO 9+_vr_zHig̒AGa[]b-TN/?c/Lj=PF's%ؚsLhYtx^t*A8@Le $K);"}J7|~__荭X㶧{}q#ILcREGnO;ZAP~ջ aOΐ?Y_?v%m% ^}P!ƵdT^ +:~Ne&uADBļf/7ްp,`[rnc(jvS5+WՙΘ$d?8"s\˺ 9Syx/3r0vCts.J+knG,8[ZϐVrhO//~S RqxiFgY4@uo7 +^eO]MƼ/(˾.I9-Rm"T{ *ӧ@ʜy%bkԼm bn)b6~4AVqr%dWDCHX3fjJ%Yq{dJx'mIs.MImR)up>0hBkw*HPRlC>o}P6fȧQ^Gl ߫5񗊓>OZK1D/l&ahJ5-Y6rS+f N?SU5`lcsy J +f2Bs ҋYˁuOc/B 8EG |%w,33ɍRkX +h` 3b|ke=0MnۛH32r|Kr{sR#7ߑ-N~3['^d6e>%4&[v$gKC38 6`VCF!p]Ij$ߖs$m~hW/!c"4*K]0_1ݱu?=?߿b'?'ُb:A4fSٖ.?]SsP` ĭῖDNK8e5Pc;}t:(ELB'$heG` +)@ZtDbl@4v[4ZVǞfj@*%(!?ViFHY^.eiQxɝ+ͽFV@ Pr+BMe"3cyDfc36V3ZMz,Q˾/܌s&U#!/$.>&OglB?\ۙڥ"|m&hݭ֯>&wDQYĚhkp>L(^ ]㈉#_:<%UmlJb~( bI<{#ŭFEg  0Tү\ݲ̸3<;Q}.夿.-np7uexG_K|z|u+A!N2:BS O9)HqA/SFQǡ\27DVDjf;WN谀ڐ[*43djrL1XDv?!DfS3N "]?N9}ƽPRp֍s1" sO\H~ +)SqjL$h8}O<#8b0'T.]/Ի_?// 2o +\Uۖjmf=Κ:e$_h[ΐ7!B9N-,bMy*e>l8)~[$ mܰ#?EQҦ#^%Eyx +)a2V-vlv1cmuK2  d_|<)% t5l*'tȅ᧗5ډFL9]/to?㧰׽2Ț212k2?Y]}[-}ש)>}t>ΖwsIХb3Mthv(G"Xe 1޷/VY'%6PA*Q{#:NâE"G F +c +{kci[(V$d3gu;A@n_hB +/elϡ#VV0m6/ؽc@ &/?͇6<@98危E!:hjJI)f3`SOX76Ai(x'R@s +EPsLE#⢈UVO)V5mkF$1 򢓋|F}y]\N/UUA g&p -nK(>L1UZsgǛ~,!5~ܦ>2`h}=ecPCHݣ {<zk Bk  %;<fJ)8ur}/YtҥaM :+9Ms&CU+ V>(:8Z.慠g49n=VüBTHY!A* yx)U[wZq +EahۉCEGE,YqҔ +z6AX7UueςoӍ``;\ dy>ڳžLu4L{C8PLCӯJyNkU$3M,~IYRo5yX%vFR/\CS慎-ˊ6Cs5͢P<藟~^, )A#8!8y(EkZٛ.!|P4鮾FQL 0U='a*7a +'op5heQ]#pRU*m?8PpAt#5E@j#{Ρvtk^WyoO93&mI5k9 놶^Tō(TYӼl*Z](0N(-__s&(koaX8)0Ɩ@t#ˮ+!6{/ZZ֚1R߲r"(_.*JImuʛT[OPf-f7٧ǐ-X"{" HzbMY6^z軀l:f=n[-VeTHB1Hx;B fY +mP^dpUI՝]Ӥ̈́ 9 vRf1I7) ;:oΕQzZ6>wFU>E'r2aPTyAbkԜcʮUFDVBͽJ=i! '!3gqs quXR뛜o$樃;~'5?8iAqY،$+RM'faTSGշ›DjtɎ6Bݬ|:@|2}t3KG?YH%qpysa?Z+09èZh\poxM]&{eA u^SD0C'aS+ k1O +! +0L[ +#iLlJ:rn|ފc4!]dqϴС^2a~wodd3?&l݈yT) %Z;SWbFzc'){<|;/s'bixdRo;[j/0rb98s^ڒ2NV01gO1C\mphrVO\?KU\_|<>s,$>ǵS c=yb^tx]GxlzcDl-:bq`t@'j-Иw۹u> G]Y.Y.[Tt.(e:J/ d<85ݸ;lBZn|ۿ1@ >F2F3Ҽ&B!Qh_/i`;\PrzT!d|-QT);{*a~nEz+{>Ÿ䲹?;:AOMwNxJ&I6ӡ{"!@^R Lxr<${oڿf<A,4G>RzL%9W~טHSa8Sഺ;p+9iUe}1 [srM?z9a6ciG?Eq]S_uOU"n aĕ-&(F*~U^ϊGM$ 03-0_쮧-qh%?WźFRh]Jj˟d(#urȥ +p,@TmnTb ;KV> +ZN<n +x4KTp"Z0 SjW\f\۔-`>`_(oA0$ѫO䇧BU Z6)؇J$)}O 6?A{íόݔڽ[J˹wSr%1OЙ#ѡaݦIJGHʏ"E,2:ɬg8e~CyY/ޟAW|Xf)ԥTRUe:Sۋ3S^NB)ɮ9#N.z Ť/l.^4 +L S(L@ iڑpWk ,x, +g9swSW6/2Oܰ}'xox~ѐf?1rDa 㕶 :.c"<bH.Wxu}HMq*3ݞxAm3g㞞5N>[>[}Sa@4E+{"!D#| =)x 0h:HQIMo,9a<|8ܨ+c,xkI.ETeIqM|;۹ $r3ij>)A)L1o)S㼿r9x=;=miqe@e3(Jƛ C!yo:lMI]jrL9X{sΌI;Bw0(ce|gN??shݖMhI<( uW1呁w1|ZUШ_ɹ_mBnNۍF`0G(Jʬul$`ueJM+c ּl45,uFG V#Њ6cg26XrLv7}PUc{:gk. fSߋ^:>$%gAz#Dw5fb[t(ȂpguG=ZnոڟO` +~q;l(Sr(]$MAcioί~w itN bG{`FnUQ..uBLX“ZR5H &)p05X#xUYmvNcA‘~-[N޶ƃL "eQ_?'6$m,ǰrX7h31tLM%ƍajAo`(sY~4X.C_@}ZC’ +l>Xl s:-JzT.TBV`2:rǸbظu/GaFPE]~ 2M斬k`weҕ5\JY"׷7ߌ)ANKԜK:{uP܈v<&::zzHOlC@e'!-0Mj/ƖTx[۞Ucݶ}Fip"' .Ϗm$mY٨JDfލ".^+ +rWNc1̭%<WX fI]51(bX{ko_ +T[&҃" oIȊ-̻AY&e#>THw%{Gp.LZD(sGT,8iOd}؂uI` a_A<<{[$y[%簍SM y@Ab li4lZp?]ArszsҰxN.& +z"#V1Gh[8[t#G_OmՀXO`w8P8WrpvM0w C?{f(G'z5\@p-͝%u]cw>N W3zJ7lu^~=hL{4|pc`d:fuFFd~v,rt0G#?ikɪoWTpi?tdPW~ǯűΤW2tߕvP&bǢV+qA~4Z.+?Jɠ_JQ:#m{dBƋ~SiZ0eI!JSOcCg4wf'! -h*u]Urs>ʏs1Oa?SN0iМîj^5<*ujX".Z=7{&$<;RrsXdSW$!$~tHh)Sz>%$8X mTLyэK5%(Feآ r_6wl"k~,ܶ3a.T>P]nFMzE&,9vi&Gǀ^35ȐN1+"%c d'I_T| a> fDW^WY;;\pF6xvw4uFKQ@P CoކaOG?z' BZH:KL<. +ALaVPޱ~(}5WBPTڗʻ9Ɖf1r}^t߅ oJ*kwtt3E!yΏ69ܚgdK/L1I1$ ݋|F[fS*Po6dcRC/ :0Uk" Xsy*}pp1OO&Lˤ=_# qR9^ga,jLvA&VHLa* r&Tl3:ݡQ@ + A>2=b@~v|768*_)QOo3əGRi}i<}/BM(f&964zYh/•`l$E1r-W~N~fSlT-cQvn:_o@GU<4d^KW,[޻VJ+߅`}dB㐫xzȷ׺cg+>iz;E^LG#eVcrs'Ex$|Lc^hzvz}Cvu;?4E`)0#`ǏH܆aӴ&JA)A1, xښzOxv8Vyfنwلmi0LV+=Өi[-R?W3{;ˏ @5A63X&? 0$J=] v9qH߷?FI_Ed'iVA?$Ux^4?3i')%qMgϳ8%!BAr|| N;<^_-=I"ROyge+;ԥ҉.4aYfӼ5^_3X*c)Tn!jqKc jV$s zS3N=?B~Ҵ=:$P3[x16i%x7O=̾q䳆9,6rjSdz+G&Sر>9{^7J<2=ڴُzr' N&,sJI?S#}F }{yc82m_&= UG<ojpB0bM{H{339LYu.A>6Էd#Z%ٯҞJT巺/q*0zY'k7) +쥐$_Yƅ9.ZJm1E4XXgAFVŗb6\fQ_*h !c`4YZ<CU6zDP;e,S/$f梇k0r6ܙ"Cv6#ae ="!KHE9J:$wTl*t)a`٣XY\ +zrh~Ey'7FG\ }5R߃~,[GLl0#p[ː},߸s $KLӐOmkDae :a!.%LJlH +:o1l.пIj۶g|znOys_ޱ&2@exmH,yϢX;)qqX{sS(MycT epn2ЭzԵI\A3pIMhhܕ"qy-.o$:؛waX#JeA +f3^m!x픘.F z!D~6++"D"&A[?Om.b&B弘iءc«b?.4C A/6Tl{me"TA$2653(hn@]rޮ+2(J!NMcj,~9S\YS^)to?[.?w,nҝTJgp:b{q=HTL'J{Yð-sK5I-qG҄<4S$m.Lɤr%SuD5G.6}Iթc?Ym'Ӝl<5^b˿Ce0m>]MC[IetIj2^cjXK1K2覽^%UnF:RqtOi b;6D%yѰad.8U=+eZj /Ah,8h ZߛA_ Ჩ~n|WQV9tQHR|T)A/ |[lDz7'%F NR2\.o^o=(s3N#WkCs[7 VZyR7~Z#s=T~eoOk%hd= Czo?{\e0)ǾX}[Z|!77EV-_o3WWݨ).tӫگ>Td=n3NTФ&jcw.ז߽-q'2S:xhäapO`FfMBy>ɵYqJlKrVjBpYuǖ~zo-#cK(PySa6;[{gb^2f|YR0*UNݔ|rL*vx']x08YyYb+tfHaҕ0i9z/q㔶c/ŝ +T9r`rԗ&;BWȝ^\3?uW|ZójV4veBJNӆIL<]oLo5&5)k`PKt k3#0q3ܥW?tABjmL=( m# +TJAayVd26Pv' V[򘉆fBӾƹc15Ykʚ gh Za-R[KiV࠹ڳ&kϭG@ٲ@Hyou\맼-.6 akHݗ'%vm\r^㲫"]C&}B;w0ħZm\!X{XC[32Rr5\;USB|uukyv3aeG3>[>b~W7o˟MܹF[^6!0*ݶ%XbTZ'Js?rvCt]8Q6Jvh4#,4 ɋ\;0K}'UmMluj--K_.߿nzIcɷx#a[zΏ[DZ)|+% +#gݞա1ۥx+Se+9rGTu5Gv?m]gփkrk\s{ZȌ>9W竛AhKNzm08D4}@O +vFJ e-*i& 2:0y"V(ܺ^r)ǿ`ʩ](y! yuok!susAJsH?/[ `k+5H~],]H=wEIm G.Q <`{{̽߯ے̄_[wm{kp`&u崅+.U޳#zc6+B%g n, B_ik[CKZq'\X5 Uvc.4b@T C+Ȳ˷5sDgWE^ C,)ޖ׆s [ArCmAJvZk*KNqԉ"5(F”BA=5DLOTSWC[WcM;%YNI{[$(4 +ޒ.ke-t *b|[cm,(Vᣆ́黼~mjzc+;O'TlWe ׶[Лl)Xw:/Ul{2Wٓ:B_Y)MlYX$IDVljqq6 pv%Fu`cwx#W8KAZa6usT}+mfn=APoU$RV%v]vn(.4'N&ZiG.~%rW=Uk)%_S`aFLSLxB˛]c]v >m׍ G_]Or\aTi`wp Ҋ.J'˚5X9ʤj):Lx5̒?"zPǭsi-a+4 Msҿl#eoG.e3!sAYBYWñDL3 \k2*RB}|ϐt2ӧI'5]ίe-EfyNCv $:Xe"23U*6uUֿpA<*iY)];]KzA6wm eP4X˲c3Wz/E@I\4Gkl7a~s[ƾxo/VHO{v owۊ8?qmdtO /Okm'|_caZmBn2eQ0w-k*-ӓ0 -a";'#؈sdڛщx@[vuv0B3Bg>SW)թCpUV+=L*ZCs juD;6ĮT!/zQvƌkl|4oz! j:wqy:J%" XV r& iD"ب5ky;1:Ko3y~zeL)3[sbrpi=߸@vyÛm5CWQU/?*M:dj-U.-r/LNl^qD0RA0?dy9yr'Y=Pgpy6 bmМtPIe7z5Tn6~zX+]6ba\$QHwNa)yZ. h(ǥWTQ>|wn"5 +(F4L( +C+?I$U5 +pТYrp߲ mff4 +xSZ Zs8rf*jPQ-k0HK9qFK*}CȺat7ZC˔x +p#uzr%u"r( Ʀ<tí/lJHe)l&l\t!a1$viteV$3N*kIip1FA!_ϭsQH: n$ņ"\+S[./WmzĕqIU+t&Xg?Y8V=!ܴJ:.+*f)+"֮lVb0U+s#󦰠tZ|s0Ol7ɾō4O\D腥QoDIUab6B8e1~}nzBb?Q8 QqnLo-I3)h!sgt`Z#]2hs}-/7l5zol2oĚGQQPor:OuL:AEQ:Ch,Ę{QG7駲uy * iʆHKOFR>V0uT0[D}vVg4z*M_,, y_GN׏A8J*lb5-YY1Uf^zTN8kPCIzukx%5 Sw44AQİF(NH]}|8oy۰me<= ^}H/{ \pd2`]J2.Mx˞O&q n>0)=j*%BM2K.\g1HFZV)$v\h@0; li=h:$*o*axj}7,D0؇CtUgdm\j @NF¶km xCC|A M0'\O yk rfS|.h8E#K0 Z_y.F7N;Jv49G-Up!Ҭ}}z.L +"B+AGhp*x3#z.e"ۋՊ~$ΡF%Q4CB:gV](鉔dFèrnI=d׬5ADL; 0l* G[)O1z1@MHB1b?zzL:. ڜ! 4DMY]t0  + *gdَhy( +KNX6; +zKl:ennQ@RrQD>4Uhb\X"ԠRCAzr:" ZRWj2nd(14m&ob| 8Pmi?`hFvLd6Ϩц 2F5Ta/)٥D5!qKy#74hީQm7Ԇϱ0d& %pu7 h'J)m8VHфL чXGuJV2 O=Vxq %RPD&_#7<4Ai[ϸE Zq6 *e!߂20X/\Kۦ!gyߦLI։BȜȕ8 ?c>F8= eȮeFzpΨ:o]Z?@nِ *B[Őv0wB3C%oh⨖]WG< (iH,J)Szi=ITP Tag +A ;YL~mZ}Nx_;cr/4lTUbNo\nה.tyHܱ1ĥrLmsɏzO-KfPJ5NU?dŖ:aeb rprJFjQL2vƉt2na] i{%ACXv 6?(}C0́ꢐ;Xa$X C^ +Ƣ/kF W%3!f]ٰ #D,Yb;XaB)֎ RD6!B!{e7։riߠ睡Ty$։ v0j/iDnlg^o5A-Qt?;vʮchFhs;˙4Nm}FkPRvO"r39P5:G_XK݋TH/ GZubtu)5D-o>hM0B `hܒz/RL,Qp1u{.o<0<]Zv *$`ݥA[,AJQgo,y4؃U:miFDQ +jd l-&EIEY`,ծzBΚ#;ӓ HjSV<6q;BB6=hݞEhhy(&3rc4~LF4blmȿ;9ʐ8NXv)71/1~p|hn{R,ȭn|)t8G&H t`ޠ7 ~E05>銬˒zQbxP:a6Lؔ:IպJR :*5nvhv% J|mq+O9g7i9:TPI-+]2A1. 3 oiO|Nbn"z.a >) fҍ|J̾gw0k6ekѲ %C"?A m +8 't 7Rؽ EK:Rfwi2ZL]XH}iܡ7mBvx+ז6%㐰xڦh֩C$5]*gg%tk*O Q"ǁ*ރ1'#EdT1Vt̵2hښUk"0@ѳy1@-,N ?Z[A~l.c֙+ ЁH!{p 2L1fts'qFk޺ܬʼn-AheOqPv!,i:UUj0^?CQ+aV_5JF;9DԥW kqkXVLktf 1ia]d'a=wH41M5]ŽcFnq$(l_TL0md)vB7nuB=~[36$ J5h0 } j}A<UB‡ja]Qqt!^k)Հ̲ic;H0f '|?ӳö/֛>f2=vc5>'/GcF0 1+CAjOmoӹ){~P}]<=+)]).Bjģ;ŬuleCa}krR,H;;|V|6UqpH +/|4FDPNm 'ǐ]o46)@F`Hv6,jlJ q2> #15% 9m⹏IE4M~4֮zڣ1=ߌY:S}Ԇk99֩z> +H܄E>,kEDp^=7LpΫp <>HZXSq~KGhg>}xrC|{wl>d8Z;|x|Ko +᳖vdj >^#L*9pu6~^4*%FLm5 +$ dh,@& xtfǎ-Qޔ# mtwQXx`3ϦCସӍ`8*qG 0?na +ylV g>IF~%k>Tl!=4h@P!8L P?{ׄy +>P yNZxKtـDZ;F_F=[Ӽ>ՏY& n$ɹYi-gC0:o΀/IdNEw7y$$0NC"yyͽ[3g} QW}s̑'ќ.={ydG ·L(ve%mg~ZE_R;_;hjZ)u+KI >ŸUBwl'&Vf0XP 0NxyTy#!lWiRA[gaD[[UŸ%.W +q g/ ~&_/=c!dڃw83*qy0>W#T[tS7hJh5;j&|'C? e:IsuLD8 h}pVzU>N:Ҝo@Eۙ~|Mci}X#WO\FQQg?Ig"Q9c>穀N-3?{K R x^|!|v˓iJR^*nSPL}jG,_-Y*>"`$j? y}:ު(H߭ +"ᢻ $ ,{nW?0S/Dq#RZ9"yQ eT]Fԍ\cxw}2BdKLS/?L^^.;%dw~p X'^nvcİ;?oFaqc9WX&F P]ԁ%ih+lfրj}{_8r!qXtN!n`͉;cz a;i4W,CNm`]w)Ț1#>|ϦQnFN>緀`tm%O봑svZ/pzUuϢ?E+b߼[4JOX">Σ v釣L=0* {O pHS#MO=mz|AIeߞ $6 P=se)9PR@zǤk=hC.']yš'pf=ZגׂgŽrf tL):~abl/?4q_ODZ!0NRLvr*yKu1ljwtدUs'ܦ<η3׊cK +C8'ꢞ=VOQdǝ?6ˁNM5VC&p80/k:@_=,VBRMSo(Q~,y{_@7׉PMg;NNgʨ_ +Eq0q#aM28yG}F.8g Q\fj}XuD;{)YNi޾VG[5he| N4WE7MT}jhZ=/ȏW{gQQ&-TϛUhWWt-а6ch%$Q"9 "ʐT;5m\?!Q~=0H,(,7H hLGs"iC\eNqŹXD䭖SRkпCdwZ ^к#Ewƥ +czO9ߜjAA?QE"%ve,?^o@[N?maesYmVb +v]q_ו (]w)U/l- pNI 8^Nȳn/~0A+&Wj wlhF8ښg(|;'Hd@3M%9qخ)sNSGžg1?T\H9+=׭sS!DmLJr[Ҁ˽ UpcátL5-nx8 ~TI o?jUWQqPI=3.ʬ|4&z$v"]|( c\/uҐ}3 +4!P駾>fC/|TRob~hU"̒| %Cv/ > +l~,ւx788.^\:B;*atesՇged_{yȞ^=]U.1V$9m,[uao{jA˭sE ѦlH12md =UN}^fu6LF4;zwm~p g\wPjWMǐN,L+Z+қ;#pSTvJnrXD8_N2x .Ɯ{qM;5ද-IĒtzS|;ҮR+IGzKg#bѡa|n+#Vu-vWJ]as 3AcE5&|:@sܣ!t$~bD )WՐy_txmViN+IКE(pV:DpF \"S(rjFhtˢ!G +&"S|rd8axق1Nl MmB!5įD,Lz `^+Z +L{Gb:d;j7's@m+z@ݒ Is.l@ B?eo aN/uZC ?_I\b#eK@FBlqJg59?Ns;= ~-Ƞ[X1nwU Ԕa롪6ԍ`v,:^a$UPeP٧WP$w:K u !8LxѴ2,3Ja€gc=/ ukUdі3mXw cz{ru L{mu^$soǠ%5p. x'EAAg쩄a,\JJo6`1$x'bORX=Ñ5} +.L96Om5K +JFYfh@OALy`BjN&2}oR2QRLcp;Q x=[3ufY\* +uB =Mۤ<;(U*倔"%hG(6 O\XhCl*B~NwoO i 8$r[ُqH + D~EF*I$eY0@/bcjf6A>_y InJu:#_s,t+qᏘpk~ZNwK~'h:T.h.4]%T! +H9փ-enjlClbˆ%~QlNK p[!["aSi9V0chȓ}-ޑȀh)ѣ4">2X`6,P{`ԓUʁ, bz}bi~0v+T5G⧳mVl1c38g@[|S] -A4%@XSbP|Xûg*qC@vӆˇ:J6#APoGTQP ڞw9U\PӁ:M@9CY:'SL VߣW3szF ":TT86W.!bI[KϮ_ЂKRcyxMIel!]}}JkX =pv f`o]0V˞djƩIC?r=[MMe.bTC6nt\|) 2ISՏbl| [`Be^*uY'МÊXֿ` >Ңf#[xz)L^cL5Ϻҥ=J> a#'}~¾ܥ !Kն,tn3gAA\TwB al#Jx}bڅUH*>$ .7>^zV&bSS7˓iK fyP?`OaO v{CDkjz#|>7S7\ +FnMxrȱkp, Tp)DV+ M(5|n65Hg2$"oym;ߋ-L]E* A*W~`W3R̤%w /͠%UtʝeIAIwCi>x +UqKV̚ F MΗhȟ%&Ø(Da6[Y +kC`t-LDϻl`.c_~]K܉-N+ t\[y(F\M.[a$)/S\Sf[gSJl1Y867{* +:*T2&@rkSX%[fJhcՆ)zh lҲoeG6=6H40 &"U8D:{) tx%Ei'LuՃ&:K9&oÀ){IS}Upxp/5#ϣҸINvmQR&!TY^z%S"RKb{Cvu3pfO8EeZSsRVR6KV{Tƀ;?֋2'u;/ A=1vaE0 ܾ2&:"!s^TyBI):h_r +)͕NI@P KMBMK cST;"<W,iW9qd5?*wO s۞G@uީqgy\ǒ.M +!yO~Ӹ\%ǏuI("^uyd’jSX[VÚ,9r)[oBFMoPe f + 4VߝstYW +IӃ> +oۨ1p@ z'(kC)6C<9T |SQ bt8:ؓt ipE'@u98ϴJRg^wl $}ĴPܴv8Lt4H˵jЂp +m@i/;l"fgG~P7|+gBޗBt9%dr"RH)A3~03>T4>&99~{2僐er2}YȘ>V{^̨2:LZC USqmG/,Jk"(+!-пKbl[sA_^["ڽ݅s{cb rDP fz^>!A:B+vuxU.48TMBC69AW絔҉9jYEs+'=v48,іibIf涱]b@u'b;+ۮxPV)t+BS7,"W:wH/q&QQ1aA oK6Wx&qDxH@mGAk*N߹emy"f@s$26x>v!:  jDćoS4[@N'F3:Md|1=h_bqͺE Bh1RΈ}D7*̈+wi8q,jɝ'=@&Ζ5_9~pFKb6)S)lXX#zfA9kP8VI.WL2Dw+^a'ƢQYM֕N +R M?&DOy*0w'iyc1? '#c: K+Ue<[S:2̤I \'s'kL.$' +Z,J`Bދ=XPUeS&a&Zp\I['!rf"$QQ ~z9DFΗG3Ll*æ1kRXML (VEmVKk& -e5 6_,,-Ggţa`I9H9 + +Ld{Jic;wCfb] m勿VIcRQZw.FtCr/v‹x ֲ8-T.Na7v]tkVVRtrN7~nO*-R$ڣͣ]ikYaF*O9s`Z6t: k!RJ\,=bK *_Ɉx`;`FJR󘲵o4Ǻټt۷o?ߖuO?nK`mJk)Ƕv%X%qz-ٝud$)fB4tLo[աttF5h<v`RsQyu]3{)_-YhB?T])EՀ^(-G8ZGIZX6H婾~)>0MsCKtFN!g;ZK-ט)6@= jzԎu3`W)Bmxb#GIҔ#S Y*1:է7rt|P lEuXmtP[Q<6[E#hn"I9> W<<9R3= aDt ` . We_jP҇maᮼݻn>#aAA) 3z +VS6v1` uV߇_;F>ߣ"Y?&Jp"XdS6BEe1@x>C/0oS;185Hs4\HJv}m淅ז n`a_תt˽h.zFfI2@RV#3d5n|FA"i38k<3g;<٬|LCSB2JTTq5y BhpW“]l~]}_.m]fo[R,X66g1[XhvoJLD.D7dATC&u[eV.e3p[F1e4;,ptǵ7 Ԩ*l9J JaGg[ XMmvYK hnjTp$9ݾ8%}\XpH@= !wj*%A'YLhD=<8A_gR#wH&2Z>篎? A XZ19qrMbzS |B SIu]Ta2T4I+1.AGBPG/%$mFƴ*^ƒukFR<#-˞Y^+8Nʧ?/?鏮/ +sQK w!(q_59%ˌ0$e!j};&~WJ1i}Iwܼ~*@Y,ICWxr9l$rLkjZH_x|swM>^?~U<ԷyH0^azmf(tSkwI6|>/>I=kNԥ2sOPj̪C/Ӂ$3K}s;~7oNz'fT$YfwIz7J#t׵WZE͵k_qtݗ)]?0b> n*GmAτAZ}~?ן/~/>RȏIJ4tdߌH"[^ B:AS^p%FٲtrS5r ]!onNO~>1۴b g[ت񰅨뭮|WGG&si$=R*(K>C=P"϶^BWy&R=}W_|P2?uNVCt>>D-2+B)NߟŮ^_t/E:ݤ@lzz&EN[I/>]]_׼`CJY۽uAo^Wc<-PM"g\!>Ixsu]puZW2M2޹O r_CB`$8,$g8}W3cM~Uk٪5. +,`B\ӖD%Q~Eo~ Kﳄ(!5Tbc|m+ Aʩ 뷕nR⫫_x<\SV%-ן_/>'>Kѐu[inUVqEޠ oo/E~.IXP*fR_vGEqQ`sMUVl:SM1n{P#X#8t]uQ^ -u3ɽ6)U,}ͷ_~f~75,me]rbٕ$Q;:Ym_~׿Wэ3X져yYmSG؅ qCݳU}AI\uϷw'a ?[j曺&Ө8SMQTGj_ɟՏO+-ITuef>OQD($V֗ȭ9p(9Wz8~gɷuxx:ʽ߆׿obyIX|O:|2S(襉S/ᾞ_g3M$4OZb݇rK+戺z:x(#@]Wow_yM!WW!-5Qwp䷳H]ȩhw7m +[T:P<ǠxrL)2%6/Kb)s= Hjv:*>CV Txaw\źc8IMIU:64}|4_$[[jT*j69>AS IUM5dz~'O~%ưӳf#0[@:^-Pxu>>oG7G}qSϽ3k Cg>w_oWauޜ[vZ5KUWi颙Ľ^(pBV2*O/>B>~ͫEɥ7/?IIH-xq]usMgw5xk=tDXB);#,_ MlYFѩew_&~:xjf]rE/wuFtuIf&2A?X8Vި>ԩ&~}{헷1\>WG8pBEɇ?h ^TFm@YfÛԜwSO4קNha겨i%^"$+l Y&'_;'?t↓ו2xX .J&m_R }3E~qlk4Z87ѻeMyZ"/G܄6{_ޛ Ht-<,Lsu$ӛZu:r^޻xUTu (i +ɑ ;KLҥWwҕ?rgI{7wӇWuz-SKI e+$'Gh”oЉ*m*nL>y}E4׻ǟ{5,_{/i-"jdzq*,>Iiw(yG?{W]B8:Zr:*7ƣTd9H-+k6!WC:NRʑ24&43^$Un)O~]M$gd'EӬ}> |]H3Q-u +lFS(';e#֭9z x-˵LriaKEn|5K;+ׇ|L5O/jfOQDkΥ*& m@On_>i#/\52m ١3kcvYI?|K>䣏|xSlUvh,ULt|p|;3Qg3҃/{˺ ^߿קTws2\Nl)9Z8}P~ŗ5k ׇޫ-kny .oFK_ t4Co=-u`'W rslrٓl_}Ё5t[wM7po]};7ӫ9]YI$wT,;\IϚ{ЂSn oƢ;c"C64@t"xfF?_kSJS1gʝwmX3o 5S7D͑gҔ#O$6=#yB{a}X+Tߨŏ1"=3]1툯~[Zoԫ,D4m:E3u-5]eE`9-LO,5Xj?Ùs RM0ГlE;r s 浒0skj[Lz~pp6>F\=*"R+iKllTˈ 4}̄5%EHEz',9}egɖB:]#YiQ}U.'.Uf>c%oC@PL$,/*A[r@YKNHp64pYAM:Nٚ xFjdej'ɜD͒ܝޔW1Kpƥtߩŋ{j;  eWJ}{5}:#h_CB:wѵZ`*+v 4k)EJЫ?| HJ7$A,$0p.['d>b)n,2*A?M`f@炐3y $#ݒ_ԃA6В$(q6Cy)4kFp5!ÞhAI$d474]Dl=Dkm_Lr.bZK9u;=;tnB;a!KԒz %rM9I#`Z̲A(]դ6 g$_YT|Y::7*Bϝ$`;lԱ +āv ؖ"62k ̪},4qdi:lcw4[^ד!MKY`'#cp[*٩L4s>Qw؜N"^`qI y=<`ԄmO bGyM5% +nԺnkNo S2FJo~a0&4*mUL2 crRG5^Ũq^x&gMķx l1 V|MM:~<&MuhOX\;H+3Iu葄a:H_hLY|kK + Fu@$haG6,lYL$)Rtjн5`Eڔ x7i,_;/J#ו6~Ɏ$cDЍL_Lꓪ +zC%ND⸭55LF} /ّ(3bgR$1rSx䁂R<2\d,Xw~tg?muZwȝd@L#:ˢwtM|+/BڍK1)R1=99T+9 7w>/Ũ$%D(D&_nQ!DY ..SS:@NudKYOc;,.S+n>UukA>OeiqF( phguBw<3L;a u3MȌrRƲ Z-*@t^yB͢p̮-aEŐ&]_=J)g8\`:! :sVH<);ĜuQMD*^QGCrȄz fUuUӯ!CLJO ݪYA~Žit:}͂qɂR띾V]s~AXL@nKJyTm:pqQIG+ڇ2E2!s?[/E.C +wOE}:wl5"gQz= F ؁Nt=qG Beɥ=< \9fn#ֳJ ā@y3'ў1<lO'$KWR9J ͈nv;tJlbR]ꔺm+{'~6@ ԵڻBGf9ψG,VmL$/A>+V% j +RSU; 6c5]=JlgVn[󃗭x^E+`y#=өKb&% ?,Q1;+/},(Yfv* .JPKA6mB}!'!240iZZ$0K?3S -;8.klj.]99Ftle[T͙%I 5}H0Msے61Ƹؐ 4#!肄Ca3KŚQ>Hn8*1 w+ ,j <_O[[4EI~'jSܠPo֜N-g՟AJ[bX IڡU| zk5*6d;Os5@sǢ3D#x&goLCUrN_i*3x +XGHplx^4 +njH' _%[.N/#qv'9V/ѺMkyLd|}brz}ij[D-,-٪aEUPN?kQbY]ȥŁr$$nNjv>A-f2.;Fd%%aԽzQyEVv+ +sh턖]gv[-;](aǿ!Z]"Aybi0$Ië֖(M7*&=*-+AP gZeS~U]*2)? +A5ņ&:J4΋.ow9B{϶nDC7֦!T$kwޭzFÎ, >\]~|zzQ|7Qsߪ H;:MY"\zs"2|8i{ˤ䝨!*)zIŃ-V-m#hl8d"dbWzq +Y+ K?DeRĦgF /S7g1 b]Sr]4-"Go3 -Iex:0PEسR‚*qɌOn\եS}f½(/֌ȥ5/R8| v>9;E܍D@q+xFތ90lYn'I'@~ (S8(AWo`lIlU<,, +yB_9<ݼ\NfG} *@L!TM+gÅr1|h.+5~-d++/Xhj'64.U79$Coƾ cQV(a`4kBg&2di[L1eo\L`Et\~ q"g .xo `EH_avΐ 01B}Pb\--?rtxX{[u=T:%ڤSs5tAva5RNv;̘^:7^Ys >^nRΪ .ǴjX6x$ƞ|ah*V8S `*Oc ݴ.zΙ%.ǘx,7ҘsD'd~\04Xs(tmVf)ӟyTJhQfgH׼DZ X& |ՃĎO!%@^eXl%U*-%>pYqoaHShee~ڞq.j S>Ś dR)C܏Sq} ۇr\(N +!êIznm4<Δ5wʶ(ߴEA՜`RcuyCmO$ܖ<$CRm7hY3~ƴ=Eu-{Wx/~YۍZKgPg}/PsЬŏ< FCѮ"z:h:"h]k+Ne/tz 8Eu<f1E.~D2wacvep` Yh:f5({,9Hb;m L(DgJs eH4A8EmzgW"dA e:!j.<>(SQLT.=l!0wlmhK(|5uE^fF/:KmT$hvh] \ت_pkxjXbɫNA!9E)`9B ԎTpHiCzpE%Č} &Ke\XE8/6 0cԣ'7N*LKִ.zy pW3o0h|~_35ЌDWaG\;A +>^[d>+otv~``][}2=2t&VԬ{F[yl4z{YKKܰ-bJƖ`kaZë7`\XKHďv[$r#6Ӧh$w;DtriZ M +A̤ڔ fb J|.ztR(1P󐋞OKvF0e5WѦ vlp7 KP덜JWpla Aw702Bܑzgń7Z䎠/Q6WU17U};v!RL@߆wyV1Z[t(ZJ`Mczp&5=ARxcvDža6T;ෂiH"*py[8ys/3LF*ʦO!vJfh+afKv!u*lN]R:V٥5N"!)F(Ki5n0ҧTS4֜([65"5)0U;WFoܒE˼c+\'_=k4qmYAMÐSΐuY?(ovӡdb#TTU!Cd7O- W6IK;afU*w`)O)C X`$rTE^> [B(LKoңސ +To:-7(J*% A?a>@@Er3 O=zI |)g Nf3|{sDt{xkI;V:ǭ9.82i4JIRLKܲH{Dg9O(T5,PTtAÔumyޓDU^Ha vzSA.עVJlqYȢ {huaZWLI@֑ Jh]D^(KS8Uf~Wx롤4U2'NѕxF[\ +ɧa[0^oe|:K兇ENz~A?"q=i0`~aME75 <ũIA18J?wctg=i3WS\cR փ1nm8jr1uOM29T'l/i]lp:Կyhk" u)oӋծk"kpTۦRY とWbx:ṋo21MYQii\[A)(7{0riƕI]Cb@挩`61}fDz4 ~Tکٶ@L23DDU"wqH]#pR cs/\@'6ĈQe6J`zDž%{[is;-&uE~g/O9d%eI ʴTq2G=So\G (1Km`K^VdWXq]k4Xф +4ZT|5x3dWtyue `\>gq"dKYz.]R#(/=9 +[ 4}QT]dgE&7$84v>ߑ5'uc_M\5u>HጩW,7GAӢk~Ժe24۟D;du--ûw6**3쓙bz%L1d#d45W +S0|䵦ۑtaǍWD{TcŦFmjݔ= 'e[hA1fS٘6kvPI+j t +#o@]rNd818ԤE7mhˈl{2T-9:ḧ́FB{ȘD)Fиp78L[+J ]B"fr#5+>INeg Y`r>O}m")?d׺S];KǺMCJ"HO^2MCW=e'a$~Kʔq aQ1Y)qho ȹt`'L6KahUϾL.tW6":%2sn=o9qhYg'Ѧ]^/쿧bDdJI/VI "xٓ4tk<갗x}\[C7fѽFQeOc@smL*)IQoH1n!l4-%lT_2h5IxBdzhcX5c'8VAቲ\Ky ;ހ>"%;b0$Jc]mWYtsZ}ԹMg뙶,74Fʅ/{Yžzg環+w +gtY:i 4m>-MO-օmjP$fGS@4~X 1r_+e{P1/Ci@,+M:wV(0,Qd(ZֱɒLaUXծ-+pa&|-\ˬ}jnbDDЖq(}cǘ}2k_Kh(X|jgLdϾ2ǮBE}t 5h)Z-ws~؂`6gg%~|{#x\f@㞎F{Z">/n1lpQnS, dPɫ o01oMBd]][ڣTzsT' +;*jlF9L'o'a"X K}|0ƕ`T5{ωw~&$P8hssoc@Co#6r^r^Z&zN1Q"W̳FWo6\l'p34G8il(t|5 +jvoZ.Cn8ԭ +\BlXT;FF (V`,kPz QcD3sq2'T yCO?GjY$[Xdʐ\4]X)~dp֦Z^b Jc@%M{vDqr6H&;34͡-mE?+E+w[qm q|,0B_6[1"vCL1yp4C~W\Ѫ;ODKbT6aIMf{ڕa<> P56FBm6à}4,}:;!K)ʐV;ۙULޯy5?`:⚊8h-IFtNeGEʸ>–[Duk:ж8NR8_t7XUٍd +T,4qMJdک(>vWLi2]2z!kҺx͢%Cz39L͋Uq uahY 4]7rDS_$: @3ǑJ*eldwYȋLXlٱ]ḱׁ"}SUSiJ1lj :hA`b-JwZg]͵f(R$ImoR̺3 [@f+NN$ Sts8fɯp3&mⳁVP$`#d *]usi٨x͇$ ZRE1\k-Rs9;+*WV5ӛH\WS"9ewVݳ7=tNRO ?bTZ<2=F5D_gm۰-:yYEG-b)a+v3uÒvGNI3H"awM3̒nµ3r(& ;N'cBhVQ>'M*!T/>tD}O:Hb(D6I%Y!k@w5fV%.BiV5%*7=tP `w"_VJ|@<0CYEmpa>!J!oӃ:DB6vP1FRl\gCgm + +I1T=IJ9wJk-Eғ4գ)"φHMP!Qw+ B's36R7,D=@VTG|'IN;F‰D̸Yt[z{,?AZq--vDiPlDkO[ +xEr3sw01$ِN`*Kܕ%`{8Ӥ<%r#m?>M%zIR +RO 7,OGW⮉:p$XE^ohWMr ײo1_>šU/*9驺)MR!zBy<$d4Еՠ~5E#K9G5k.K'Qj8%Z' 5L` + G1FBFZ㩨2W4qj$16Nk(P&/y @dS5eOɕcLE1"d/I1J ^CZ5874cUiEg:f'j^RTfN+(Q >nrזZ^FK8G 2Er# +creDML1T$87 +E,uUDs_%86iUor/<{4l&Wjt0Կj'4ٌsfOGZ&Kʜb\KYa \q{ơfьM-xWS)ԥw͗`C3r5LG)D-Ef0٧j"wWCk]8Kն4X{~=|(eou-㣨7߼x?l6P!cids]P6tMi[ad-P]/^%q1HS:3Rꝓ>֡z= '  Ql05~T4纇OR/ph&qG y/ cn!nQ+7Ryڱ6/ht}!2rʉdk5xWfHz{ukJzϒ6H/~j'l8L:Ri40ĵD%E`n +AU`s֤"6XIGI=6MTuX?5tWcu͊3&}f<Vۨ̚!yONs1L]#y=k9|ki93uLxXiG׮v!gHRIq_CSoD_TbKD|J{ C^އN"1\hcN)h/>iGC( +Z \7Gt9F7 +-dv%KJ+|SKEf "h Ueɦ4\0h8 M   b]] ?$UGILc`^;v^reT[]<&yʮcBY#`N0|TJ$5%3g +߿c:LVVwq8SR~ P1T>cF-{bb)IԬu\ĸ-^)\W](Ng!Qt(Cm;&Y•(Q졭n(V o@06zcih/ny:]fQ'38kBɘ]R;t,A;tК_F4ߠТ=g] Y?5@1T#Xe]6pc+Ht6zU e2* fS#/< +2ХɥaHݜ)oPvr>iB +Hp+.I&43{.:dhoW26%p&. B%v˜aRh$4z[etVdd9?Z^`"vM^ھhD -`9D32gD g2mek@?iXl=(WVʍ+%yh<V?H.hx|sv_ri%VRJ{8 dP1LW[t3-`mI6CA.1KJ6:f?}A6ĩ߳keH:)B-TfE@%5:b.#`qbf76e\`R~%'UBsHߥlCxQK(-R`Ҳ, N\4̢Xf%ח>\EjG~@ zVg*6?wvehf>?)K: z!pL̸h5u07 +sw.$ȎS{}Y ++K +~&K xy"lڜ}EFo&K-):JOZg-{RR>NR,Z{H2|+Oq(q)م#2"276&E)],#2y3z^dL"[9 9!3r&UTաVb:̎DcRJiTd{]]lvt8{\UĐr$Z kuf7S\1 PC5-xDK* ^eөfro&%wa[nw@L!G-%tlV-0hG0=[D.lCI{G{gۈבּF6"q\XLV[耇&Ba,=Z|7>mXH+09!{BmyiݰMژ75Z2?٣uLi׶&Dy}p{{"'13GNB?i"|-th$tC#B;?u3S7AЋ KT^3l8e>J3|a6!#XjuHw  2Zdmd5Omw[F|.^rW4`h'~s:_3|v ]Y;ͱܭFȮ:5`?ߧ{&lr,nS E/Z*׬/L];aEdu:8W_ڰ:h𢷝ϴ-W +Bl.)h4F${﬽j{mZ =X˺v!:B==ß_Aҍz: Nos'*.ܠ_zp?yhZf ٌ<5W;'ސ*lI䅼49)9,3Mmia Czj=Z^S0"qL +i0eԗBb);lE}7[b@"r-io xK DGKdj7:(nAzw(ue#r,022esFenrjfY&yz373@6GzppA>/7vXǣ/y]!ޠ/hDbl$jJx'UzB#`'hfSh O簑yf=t$#_t:۫^^>]K%wnl^4Fk,n[5Vj&I,'(bP~#[=o`CWĊ` +BkHGTLEY )BvoP&('™ۤˆ=} +Jc8?)Q#j"ҠҬdLp|{ɼ ގNZQXTx6\/~< rcﳈ^ >vE0E1fպV'61m)MHASfu-U}ojr +pኝQPma {gYǐ-_#"NhT[ļmԛ\v<̶MI2RA5?; xx<_vW 5Wy[bhhx z2Y6 ,N^Pe=]a#iX <ҰUyNtLWsSh?R%-EK^m剎鼍ﱧd6kT);`N񮀔Znk–#&eb-PXF]ܤj,U3/V蝖hZv\=C( +eݷHx 42E^CќV)ʏuyd9'`'x7!vHpkG2޶~5hX/ p#>Cp{֦!GcU|"<+hQ5qB+_E"㰾~nۃ⬫iGo]bl=@~6؀ BxDG(-b,pR>й=Hl&15PW +,m  `]mkRa.Um6E{_)6k2{ +ul+s;i:MzqDw"5qݝN^6Z~eӾyö;$]KeYS7%F~u"&3~Ps%eh(YX)'>N0)Z(I9'}Os]W5p\^)3m ++H.%ج X/JL"Qol^N+81άFtAR8$m.*<9鱗6rdy)97h +VM1>rN"# +b]&- 2WLh*G+%w*xfeU0!Րm4 xJ5)p,ce&T`G[>7X2^[K,H+M:t?%˼%RoE@p5AK8#[H +Ge27!%x< Z13yC:\a>5P +k7Ͱ~:_JC 1Ï@5)/M4r,⚲!l.=Z6~!4pQTpR*lNM?@1&Iܳ{ '̖ߟ}ί~(MܑMYh@̱`)K{j}U.6Hʮ4 M$D- #"NNM4KÜuFfNv,tT5lR6%ÉR5?" hr)=%6}lUN=mxƫE<06f4]hmpw$Ilsl"á],[ Ivfi?ZӺIg1 yF30 @%u ptkkXfOm2kSSDC= hJj+M>ͶmQg@o2:w@ެ_GK~ڛ ~aĖzD5m1tW6ou=+ ;ן✊傈ҽk:bI0%5oootK݋X:*u6_\kiZؘLʽ2+tB2f cU 8.3~DJ<صyH< _(A>vH0:^ųV%EGޭO _Y|U+{7ö,d&:ȓay6uX=V&%#aQ52V;-baamrCrэ=zv9vәݠ(wDxE)Ѡ` oIF),k7,0+,:rZd&xӵ4Փ&y>s4=I~ o{^ M@ gTjw8Zc=/%z`.l@V8L-z*PPs^f%Wq9P]:n$$\C[YY#[@Pe.d=c6vetWaX"`jtH9X#>o^Lm:4N-f+õrv2>|8. ]X+v! +EH,&DK]{wkTvQOHǨ>AA,bz',E]4[OAxuWhDz]5cdb!3Rĉ׸0Hlmpw*}He+}yCI2w{oIQ^͊M"| 4w)%&]9^l> mQz8Dжlyo@}UvV2P[-idqEyHk`٭'0[!dBc:T?RZNz'KșP̝ . 6ϵA|3'y{o#k!Y) } +^ӓv,3ԂV ^׭D%%$;l,qiy>!YRlDu%8gp(:EEچ[ xMқV߈"ׅ^T``BJ,\D!~2cOzOFz]z}3{2mhI8{:S~^IB;qq}M T=aӪ"ja*v]hub.-3fe` aW4BF7 +'|Kvѭ&Qe֥(iPH:}eYLܼ rvbO:{Y0N S a*1}dl6B皞4~Ic! +ļHjE:86fx᤭~7&,YEq }7Nj\#L Űق뉯h`mGYGSآfQ `,M$,˵Խ )YPU@QKeR咊hbeFVJU5Nqz݉+EmTL3 +|=BٜCUe֌ϥ r=5diZ86ݑW L:dۦ $:伯fxK覸Mb[#NOJyiR)k1X I FM$nKd;F F[*t_;NT+C-4Cz'"6*'B_T8kz I8^ s|h^WP-/pBs, +k7ާ)P]f&by5RgG, dտk;Mi͜QY'Z׿O!TA^<9E F(Mb6p½\uo {^mT=S{?TLɰ$ex)AB؉K(1WhN1SG:OX?eD됰,HLW\45TW[վ 'BLc]ȑ4A8"dT=;wWٝL?T2IFxɔ2g+G]#$#p{ `܇ҥ/Ϻ2{( D!K5Y(g]9Dg|{`ʸI)ƩH7aEMg3Q])k*R{byLKY2UAqܲ N3&5pSS@T7&T|.1'dz+_xaSޕVD>$*˜\=zľ8WEB_Z4^PΤΣmb6nJ٧3o0W *u#sBW`!#ʮ~اǵ2[C}:"Vo*K}dUD4x9s&P p@/'p^$Jx6`bg +fO!"ma @H)r&6vWLiVy`Q!ĽG.<& hW h Wj=ͫKlT%P9⪘i,j,LFL໇XώBR3īWt/ɔGT7ƅ%n G&={%>#ھ֝*2:X'np[/;(yuccf\0O.g쿟tR) JT@X7 _R kL1y"p*f(aK*,-~˛YkT[aZg'ta>,GR>.NlB%2<Vt›b`JܯtX)ީ`:t+6 |[A@)#V,=p&ۃ?\D?/bql @qZ4@vA7vO+nfɔlRUg6CY 5ޝLN6Gzˬ|,nDI++U,9Id +%iO3Yinb$Tn! ?qRmbdKW#"Lw Y73ﷸVG}ʕK"upB;ƼQ!c!a \"6-+ +'=M$<0ZH\$$Wh1Ǎ7sh!B!,L\=xɫtQ&JMc\TQ9QaF6Zo7TٯkH[rQ[K%'XD)*&% @&,ӓ_tcx +tQ +(yi&2:a,].d{4ܷӊ׌V05Lw OB % x\^hGK8HT:H&d|OXvvEXA3 5LƹXle- 9U`tmQ)Ң7U\.\r"D>_ +&c,Aaj)o.7 +Ó1ƬD& \kgYj:3'nL|'(} _6yp' t0Whn1))|k ^hg3'fd`0ɳ(}bu0{Ym!+Y dI妘\3wL8P֛3:ǝ椞*BTMe5+aQgx5n8V D?9~ny{*s"_K5Ϝl0x/+D F(rqdO'AG&]<ݙ!Dc0]۾(ֱ3,_jV0^zpXŵC)1']Q 46j󛐕)t'35F<5[bar1יAX. eUτrk+R+^-.MaWJ1yWRUMyn.ȳC+ŃgI5fQ: +o'Ye1s|eY渟^ +sߙt䦞g-LƣO 8?VȧfN1ށ2?وwj Ef\ntw#x-kQd.DPyeDhۗ<˾dx} 7 kS TiGsni! n\\ +bN y"R@~LL#4e^t^QB0i5Zl2ſoƶԌzR/S&@ⓟs7!pB3Y!V)֨쥭T gRxQO8z{]ZLkDΧyO~*o }AЁ6 #jJ0`ASƬcLZ):#^=y,4~Z)SJ$EybŠ̞}>C +߆ ͊rbfbїIRf +I2R ?_Ii&"'i F1RRƪ8%1LD)OV(&kHoSܧ`j,bPc fu V(Y 5d3'1Nf+z?Hiu$rbo.ʂ9Lݢ.$ oni $,OϾOc%aruhv@2YUԬDpC٢E!fv#+&"LXLY6/z{b g*Fo/wekL 7Nx•l>]5Ep/GeXyc/c{!:m% qxRrN?-qC\3,q +О b³r JhBMjc8gf `ULG޽3t}_w o'A?G3.l<̊(N$Rh;-XAe(tXMgr^@b>@pƀRxedo!;o 1* U А<y+Bʃ$TdonxuzŽz, jF k<<%^Ug9(I6M{fBP;zf-6s%$ASL6sv5)p1cm,(4bտ%*޳9W3>iNA{ΨFOM9OdFvxRMzcOe /P ]K7-4XkxO)N`)O6`f6EZB74lhyA#4$J+z Z)C[-AKEI*'?Rt\FExM* U&}"C<}b^mߦ (fCXωU.]щ -|zy$LW.ZQ<ΪiJ* curezwܔ(J^s]>c8(&WJKHT].[""M|} Jݛ 8R-3iS$/|0A@9":hD奂N=;f0YM}?|Bs/UJ|7\1 +Khdi2eƩAv7ĹD)_Ī9.bbHz(JPȹ.HY! _I(qM6GPGB ~fx28d>fS0J(Ʀ庂~_m]qm1錢!}@GdtE(B"!,4 y\z} FP4/Cs^?ĽD 1!2s5>0'-dF(8-Ny9Th ;-ԙ 鑉^E2\)4.yIS/6;rdL8cMuֺsj^r<}yӧ'#$i@1zBNT$N T \w +`CAdug綋[_\TѨb>WUHnvX +qWLiC*j'rIEWr3}7Xv9pWsr s,c %f>IW2)tw449JV<~"`!V:THD%,9 2c :N78r7(PƵdJOZjYb|ͻꝹ9RC+PO*UVPƟm=ƭ6- ֕oA|2IM,A?M':POqҙiu!XUcʷ:iwJXᲸ2)QN2PE%1@I_H4EeIVМ+S ?+lO4"Y1/&z(D1%NLW*"BNϟ>yZU3q]:k!0\l@={}5ڲVjėX1ݺ5JB&)zZbLP\%.HD8~w,;@!Lq91Bt<Y15O.!H77cx~%*yKr?ĥP hg"LFL"$eae#Xxn^y/1FŔc\FCQg]E1HC7ܶmB#=5%<^i“&jvmgL o q'oחo0z|^@(v_Elf _×oX3&Jʡ*x] +EжQLp]Kud/msOӖZ Ֆet:\WWƓ +׊3cN hUE5;뺝/MǝJ[jWZ`^'e"]"bZi}]/+xH\U4SzȦڝ=TxL6cLz]/߾m3=/ +pݱr][PqBxz Pq0}}]W .@)䠪zUuaHZ$>Y{,y;?Lwc2$s'^ׯ+æ#G4nNv3G}d0 +!eWFտJ\7Fu*j +-y$!s OTp8f q7 }ǿk S߉UjSItY2+_I.&45^_5 _fT xzebTYc%uPcnj;ԡvv/y~2گˋKlKhKyJlX.h-U<Kq*8ŭՉhIP˃&>\aWizr8LO:=O#fO|G\7}JqᲦ[OJ䬟 n!)[cn3/2X؍ίibΙ[3?EKPܤ uaj3%.q>qĶ`tB!B,WjN ;O.{`e2Hs8b6˕,..I *8ljݹv)g|%f+)o5F-nREK,!Oa”d8P<@/9z=#_F1VUئr\^|\*9@ \*pLۯb"c⯒faJoNt[ݷv~Z Ẫ'Y lSF_ W_/+Opb + Й&#Skx B"&+ǘ/tڸϿurZ#Wv:k8~)=_މ6hXWm2~= gƹy"lleQBqg %k||x`$:mہ' ܌̜ze J-cN`k/AP<'^.?~t|7'}_ԜAW@x0Fob2u %}Nz6*Vd.YL1]]p]5diJMy{xox= 8ZH瘽e̽ XGtr3Y-~ڂ傖<>، K5ZوS Y(-)I#8c'A|\Em޶8뙢:SwUeaX/܊1Sn5'`1Uj &#UN MVYT'i4xŴ`zpULM4`J&mH@a ,GZy^)2xؤmo/e^NT L HQۯ_k\4TQeb|!dWC~ps^]l7OQ +7H715 m[Y񳲬 &fa_+VZ *%NB8x䌙LɥQ&xRE_|4'g<-^_yu{KI#hp\8:=eUy&neayPYF!Z9m;_=Q\8A8KPØCQ01C>ORe< +wzֵieU+t85$d9}y6`FR&`AO48A La//o1=`&7uS'TDyƇ*YϟtB@*,֎ |'L/\<vzO.OӼL>hҴdQ|G@iD,']/|'f02<5 ūe04DFRkIW@wni -%A5b%7 \ʼn)!6х`"Bhf(% J +G"`ڑjR2zPԽAy E^]㺹^XP~2(+6\B92"-QQ 2|QtSJN[`uGp:-)Xn'G[g_r\^4rVb$M<}6C]p3˪{?||'7lIH֨/r0 )Li__=^|o~f+vU +T[FVMo10Ťd<m-=FFT/{Ϻ3/>x~Z&1S@5j1 kf#r82oy'bpquY,7TYϷߕޮNb2k(GMyH ;OE+r>z= +|s/gή+{hlWNw3 | * ^~SOwXv_ +qca̮3m >ѓ"`fC l֍2i??*@ꤳ{ )m~ɩg, 7k\fHZ+S/f6y/&I߅߄^xuGr #zz 73sA: q#qi@e֍rz~Rϟ`T<7g3fxz_VĤьe !` ztE#OO éʷIìD|F]]p<_O3t0ŋN[1˞%a +W^'Ňn )RD3.`_8r2+mjh&VKia<9^뺑O$gzJ:L?1tH?[y,M2ί!!Ksa ȣ +0PfHNxR45y>~:i +z9EP4ĺi^q:GªKpm(džA@7*q1yKz]_/6ś]NYa`FIC,Mio\•9&4ˤ3p&N.Кh1s:IݸO\|+2ь+T3a!;e_woizxv/ẙ +}MO[c)?s1?Hv ͶSA'IXp &LvYNn32NiLaN>/=R 0S11^a%սiK<{WQ럎OO3 &S j[#bʿᖟU819V~ݾrNX+b*'ʌi:}LI}&oRf6COqFZݼŠ7;Vyf|?X<oo@{$)od KKyo49n%ijξ<NǙt}> ܂E 4.͗Չ`HG?ЀB\G)Xӝ +5A|sA7l ipH?"nJHP9m$JILmHOBCiHA]iD1TwOhZ3mpa2qMnL)jv]8O^J_#TQ0brNOt<0ȶ)M:I)?|7q Ym]g=,~M#@8VQNԒCK%߂8DՕ.xntYlgVwn.%|z^NRA[K=z;|Č6FGWpڧ?3&yfz6\b8߮DW\#Uq3 cs:65^6ި: Bv\ꏘ<$&6U@"A40`9Fv)\)$;OF+V+' m$Vw"/!1,7w,4EWJ $p":~]aS<(< BQ6&vXV$艇--U9)ب!cEZTs/u+=E4/LqY+er`[6- b) +|asz1co>C\W2v>d((AI^<0Դub@B&|wBvTH_R=oQ6ꑭ;w4U.% W,Z+V"2Ƿ<̞oB{ ݞ7If'o;7 YXPHmX?H_ƶ!"#^H2>pnMhcޗ}bq&mS|OO(+_;2\2lsţHġ&Ž^/ ',Aere%cQL0H %"(!?RxٚhSLM+ lkAL9 ZFwigTb犘<(,lJcQ ": )]Q@igi y.^fP&`vJY2=߉,Iy$RY'NQSIJhVػ k̛b>O ^u\@=jKI6;RLq>~4)M9Qk:NJp5S! 83P)B*AYS0/UcMex~>)’̲%I}mDr{)KҬ^INf`Fʙ)geB>v>\"][ 9tc΅Z gu +0bFSW 31$BWHec()˳]lkQv'4PI [OID!׮|@Ar$vy|<׼H2%h>{4oQll}Smд:nuə4lەK=!b$6"Y8b$f~c l@gEdH)'u@Lj@ +ՅUDM^3$-5D7]:+yOU.J=N#4 D§0Y5PvQXX\U?{V f&{ n}R\a*}s\1͉3S‚=10!RթХ$NEd7CA\BH_ eٴIy~Ku}q`7\agъd @$~Q㤟uNaI="K,<> +[:E %R{c'*ZCZ^*zB|O';S? !SpPlEǪ`O كֲ~h -:7d~`1Xvj:{E!NmvyJ/O/IfƸĥ*D? 5De|A^tIW$iLLQ>_}f_5 I2@Wp`6$+MfN «)mlc +զ;栋aJdb-;E1lUc=p0`Y/$zUh` +{DSTtrɠRK4oɒiF +**E1{Kx^&^Ψ + P{3$bfs> &ak ?1EpڊܣCrE6EN {c]am +;Rrw*cKPiŘOH * }𩨛ICQPǦPw-g +zi 4$YJ}?g&N Ff$Z['.O23Wf+./~14SffWv#'?a$hs3[^G'\6r&MYR>+i𸻯Ss'^>Mh1L""Qy2SM:MRPmLA22LkO:5斤,hCPRH|-ځo1 Zni>k`! 6+^Pq6-{K:;g \ 1 C.1]y`yauR/4ٶfkbI8Fn/Dj o*@9 ci .k⣙'`vfS0 +/ / D'{} +AS:8  Ucը M<>XlJ'5dv@HڰV y'TA`Lg+ǵj%e)E;|K"PxiX-&ԹjgJ:3/hUϟ,0F?[3QFx}p"y]IGmrX:pV'3)6q@; ԭt4e}Ёto U:X r`S2@ɶ1|C8d)<ׄS3$jӍ1F{'d՞S^x !K %Uh[P`4Q\ncC;>eg">"*ZT x nqtz;GY#KVbi>j¿2eLZMV"N.̣Ĥ_q?*Rd5nRAdA0}` 'X }$ BJEH= LӐA{r +|u4Z!fѻm$5Lft&.%,#l)kYdɚے)Thl^Ϥb[nty<)U 29n]ŭDΕtׄ$5;0_3<_&!W/V>I2FAٽګ{7$_0.Ax +Vuiisң1P-S)J5_+> +'T`:37iUe6h*La懧FS)2Z(aǛ[N)̘AMx=<3Jj4Q$sh373x1H0)3`ZpݜN׽ uLɲEhs$~aϧ:^fnUȪNeJь!"f͂`w@;n +lb=mFF]Ŧ1a3pDEw3SS rMV 1Eز%A(>%wk%5nA3 'IRӎ2CC*2ݗ=ÝC` )LIs +#8WuǨ.+)]Pd2Ud\`KPnJ-Թ;&#&z2&ڰ۴d@_}h-ùTXnQh:Qjj2i9mhedݹ6iAؐ(m8.-(`(XB=$ZTtB@=jVɮ%r 3 +,J;'̈́Jsi f&ιgHxAELړ #IX,)"֍ZB +nTw?f>&J"> G$C(^QtUD1f4ɭ*OlGP\!7a1[M$}B՝A`''WfWqe +6ʬ&벨fSQfIϙi2U=j9;H UcHͽ([C`! lw KYdZZcd˔@>/ +q~ikR yT{2m9+zm܂R7QA{ p0U|8E )5穲*yCr CgOb`&I\];XK҇6Xћe1 zWnM'Lo1ȍ K 2 jN{*iv7Iԋר)MRkW +XAW}d a#MC^Ξ"UT_!(Xwz;I%x2p1DI$BN7&c3RNj*a܄l!Tt?>i&|0irnbLtžGiXtK+I AfFdtQpC`a:\@ MKĘi/B1Ǖ*Z~h,&|FyصŰtSk˾И 2G; No&!m]n:tӏ6 +j8dP8R(sBRL_>7#wmMUJ^vFZAavs;\}?8q@{/ho& ~%suNM;x e8t=HfCktzi^_Xp0|x%|Kjr[:!KYbҏ@ŜĶO15L^;졐dG)ud,>m$?W;B;r.7ݜɔ3<^1شzWB3VA_zbO%κu +;upxPiaFtRMki9[ӰT&Y@v/_]cNd\g8$TT(yCU ~|Q:Hgc;=@6#v]v)"㳳PAkGL,HQ~&Y-i%ߔ =2WVaHpRIl$PVCg *uMs R5%v~NSXBLss 4ZCՙ:GYcp@9؃}X|s}14sYF Γ rτ;F1@M0r1sشI1܊ " +mSH5:.wsڠ "F:t=\E7S-]=&nsݍMtq덂zv; $w:1|]j8AhXo?, 7N5;5z6~LMoacW~ e=RBDåzܮ4 ڮ,t^ϼ6>"AtU:NeS TEv!|d@O6XV8: ]nK1 6-$4MpXDb*=ovJuojnAvĽZX7X0CˆЗUMol5e*Y{@Kƹ;(uƱ ]nrD;/!]w;`ҚouQL8)v?Pf& 2. -㠻(d (_Ίd ]#=_fjSu>S 47!V0/0nO3=9{T4wm[{<>̛zhU:Y+ `".Z{3xQp`66 CCMhjh 2yJ5BtDHC_.as#NwUSSP2ql wc_ Z1ELM@Pk+R_U}S,J ]+ ץ;,Qpբs%q?oDcxO=x_?D f$ 掀VGqpJ7`}˘I$UED0\pf>:5{7Zu| F4⽮_BorcdO h#D݇}~0[B־%1Mh_=t*軕ōAYM)sgETv>ҬQRY+ub|fAx7#r)Xn_S +wq`nj7>U&N[J}*e@>&v%~h9>tq{FK_ڎ |M!-\81VƅK-OϺ^hY1hԬ aG|v5MV*0 +w™BW}Cm3?:]z&# U;D;Vo?, n8+8HI +`|u5Qqdv[!~ufd u9ͮ^;p;1TF-ztlBI`P=!u߿~ZkͶ_M؜TO~x dogר}\;0-hZ[A^U B>n7`γl*^@h~72Y U~ PEp t!`ek ƊID(qЏ|f3`S!6 >xHq/`H[\ !:?аɱ裎E"44jM2@]]}8XO7Ѯ.e#!ks0 `o~쳐 9+e{AC!9Z0v\ p5߬VcXwe2G9foŭ6wens +X\lgnv'\;'o׏%Up7M1DT{mjowZ^ď[8$@MFH0KXM| +oo5᧖я_|PjE*O +=t$Jg0?v4&PZ14ؔ\#>xjg&ԷhVbЬSā"kTp77aUPo/ͻU}y k|p2wud9(5q#4 Dp䲣؊o+JCOLd`-b8i~Ua b3tí`#,Yw@L]i " D9ٱ ?U6r V\q( o^_3TXbFﰇ WA">j7L1ꇯ7dhrb%FbQu;D0 +76%IdKS|A  +oh7qd4 +~?ؚsJ؁#,|w^zwG]3l6ExN%cF>4hs+X:g3|sveN@?xY?.Cx7XEd@Ѥx}WOv#aU"VwX[h58m;aIΨIEuTab@ďi w~|vqۇܤ>Na[ Z:zR4d?tWL Xèk7m%5E-muî 6\y⭇{F"Mf}̸)V{_)mdU+ŮqQ{P)ϖ}k\@orw5Cckށ"`*d!yxg)nkK=d?4!38BK'j ɸY?Ǖ ` ` +"ZTسm,k4wtzAHǏIMG3=rWRe3wM^]vLC=8쥭8Xx{K6"H\ {a7>6?$޵!pVnO8x>^M] 7^Uev^q<[{Pv+wӠحV*un4k8yvyt ~enrAcm.F3/LXkP +A4Қ9/kҊQE"c6b3އX?c3D=5ΠCl>X- mx8n.9@0OkUMl$Чwq j/)o mQeƭPӤa?Aoq(R2fLf`° fډU1aǶ؀ +9v4hNt^7(иMp6BݭÞf(vyO\ن!AH9΅V* +Cac5y-3Cc@ˆBJ7c,MFX.-l$!MC}ڴt33 i5Z[KMGa:Y'o:m,?h-hLJ8C C +dRiɷ7qtnAH֊[#S=/̝2EkT{Qi7~p^U3i@uCP?}B0z粸21L=SHi\dX!/'=K +)0K|OP +`ós`]htn hC57ixi3g5h/a҆jJvmr<oMEچ;+nm <@RKϱ-:߶;26:r+}h9>, dƖ3Bm#UmÒ@?j YU?Ůᗳ `nk8 JzW 7"j@YÌKrNS c׵rZv&EwU UP&UhY`r ث7W¿);\֘ϼJ(jAAq^q czf -}8I.z@(MRUEh )U66;F`=n38ñ7=Utz`WnuKgQDǪ֊fbFBsGpK)bk +V]|UQ}<ovc`dMb%Ü(u,<̵f腵g.\uA^B$5ê t?N6ܹqNe;FoG ֿV p&E`TF` p.[`[O o(dG ]87"; C:SvGc^f%t!{^Ώ`°Sݨ'Ӱjh;tfoas) ۘ639PZ'DEPU*B2Us#tCFq tќ1|6Hf2@VNpʩFa?(&wfMhPd9GHj{ާzȆ}'[fD (zs^f.P6Ž@چ.}N +\VM +bh~,7őf&h"25 B'Cy7l텰=5G|ҵ3:;qI\tarwG|]pԚe3c@SLW٪ H ޿НoALna6c"d~e4צma;'zͷQIfSC3tمQ>sXBBsyU-ڠ[:&1ΩĨP]ݤf[*ќrP˰[EX ܚCU4OI[ +B|54 +FwQJFF ZT3[ձ@n_!pѢJz$#*s8ŝahY >gJqyr* i1͹f,o"f}#RZPs_;$pPy^F^ž1z `AZ6O$arfiL;3ͺY!EE_i9 HC !j38]+ڂbw]cOއUGN4mqйC2YVTg3Xe%ԅnw|!pښ\ʉ&a`if`rPu'ڎ2ٯ_`hq.Q@kh~BoHTܰk5z-0AtwC?w0+AWuaԞn\5Z &6*iJ +Sn(?웍59S[>szK ⥳# ,l]Bʚp{8>̖BI{LSx!|cSypuFZRdejٿY\5#aRi3{HZw?4vH_hG;a?MtقRo*9|Әq?McM`D0@uy \Bx=lLx[~?5rpndb17O핖-,mzB*`ufvʂ %^#oe_77KaL _kUTAQ k@X"sVnĪbm@R<%L+C}GAZ7?ud4doNz؛F͗ψL)-tnV!&Ǒ{Fs]?2ktkc$:d +veAi|'톜%9Mp֩ iM6 l#ك.q&UϿByM- N2F~`%0 .ZC|j9S>?)6@Jl:YPvpaK1}3N 0q<|CP! yń}q?H+s8jp譮,LV_KTUV>ѕov+[jS5a攺 VǣD^OJ- IvT$POgڕm4bW +~tG~̂U={ kf9;6 Zl$RBw:a w8t& pǃt.-6&8ePRmIniMu{{D';g\06k %kUޛ¾W;HYbt x 5@r$aezP^TѬĿŪPD|mi0G8$n|D3"]d#em,.@dJ7&EJ9^WY`fpn8&__]vԫCBJSoN;@Սe@liXj1;nTݾE9h(ªP6lkMO $x濫BY$ڡu;MWX_ :;-/ s`v;p/Ig ]}~#XqW;Nza|"z[!tH&ftexm.R.LbP >fQkufΦ^5 Vaۓ@cӻ9o2phT}j>=$7 nXhRCWYȊ;F KW +|B)qG=sXnFMB"Ck#隑D*o3,P;xA~+hHckkb${Mx(%F465jRC;栰q*)*EMlRM=Fo'W}hۜS6[Ǟ<v TYIuv"5FX΢ e2 +7J99vmqen-PSm!4UXWsA$t:x0̈́;ـe>g-hZ;Rb7F0WᖦQaR]I<`u3,~lj>N1pOW6I6ޮM+2MzLyݒ1aת  mb D`9mXą\-({uڛ>{JBNz3Hal?,\EPtA#S2#Ib]ܚCH5Q~-3 mHv 0?.2owFj>n]ʪt/PA3)]֛ݵ,p]_j@Th 8ŗ w c7yTߋ}'VR(;Z5)hCxL|bHUvФF(G0߷FkDY)wߣsיA"&`;$P~Lϵ@ݸWfC7-j3[}a80n|t?$DI*uϼ}3#U% $Q6[RW#pREI1}YnZzx% PY/+( u1C+qkv%9p8l0cy;;`}`G&yKSM Z-7E:=v( ' `.56PɆMueo0>Zmo {1n4{|Iye Ps8 ; 0M2@ƌz,i +@4n~}JTT7~o*`;4v=m +:I Xo{X$j(h5M_ o&cmk' [gOC=EwU1Wc- !Y9 ufTT(ӣ݉H61-*nn)<v/uSMoPs+#LxVD% p,FB&6#U:aO9ug…Û< ^97N|'Î[M `y< 94ZF2洘+T $(yVuG:%ntiZ sC<5'Q"-#36ēE2o&K.P!>"ſueyV3 p֡^/($|bwt(= K$[Ӓ<T:ã7Kw^Ia~_2- +|Jqz`k "j:<1N8,PzӺjCmǨ̄<Áh:ұOW#Kg׶ ASWmXY}}譿R < lꑂO/܀8Wz/Ô9ܑK'~f֛>Mfuz//H /Ib"yed3tW[%P2@u.ȸ=&f2zsqҝxhl2e{ML%#2A;Gɠ6r>D:eDi@/i(ۇ| + zjPsOP +A?V![1>uS1üRp,1'ߐ+_t׋ƥyA?Y7JDpvlD4s]xBQ_,ɨ"yc1[8B0ž;\``4J08U:"k CQqȞBxmTԙ$T{@:+͐PYo>ͽ)j9'8oPǷe6jcOD_a^0='maprG[7wjE>pPN1q,s-_=[-Fm!9Wisb+恵犐綮|me.r ~H/ZXXL.+ˮHªFA?U3L&R`g l˴uTt\8 I WrL)sbJ*Lf=b'A'X8%Gr/y l|^?^~ ,G&08"~B^,cQ(`9o~aAaw6z.q?m`.V|"3]^ J{}^1:M%<6u_8CO>-d{WcwxxvLءj:LFj+ԘZjKZW9۽׵ʻThcg`>^rߏݩbviV_Fц|t,+j"E;rk:qձV-I +spIFHF:et0"PH̼a0Mmx{[aƲ*5׊iw,m∃i`IwmR'=Nx,BW)O1d)yC%4e|8*傾HPhɯط1k->; GZpΩs;5 +o46җ#m +~gDOqN2 YpRt02ݽb2ɮr|uLcxEo9}c<*v1`㪠X4 | Eޥ"qR\{J o_\ۛ.uU9Mq0M^9;|cv|TVǽ)ɡqސ3Z*|)z(收qHL%ok^O܌~%#Q$ ŤrxRL@AAyM*e7Iw`9`0Q0o{#Iv?ԍQ_*H_\K,gՎtlo?KsgH?JqYOM!>m\ǁ^F_m}A4]wCc6Ǚl8I +u]d]G1c"8 *~tM&K<Wh̦#/V?o^eʩ\ZZj|~;E{y"ⵜd|MqvGJ`>cs\rV>D/ҠU~,"cIA Bi1>L([n5v}^s^w'&צ: PeN=]\;p.cZQw~2rha̛ )-'S~fgEFn6ƩR㸡M8ECRjQ ra5)hdug s$ອ'i,onYhK 8`KYqէ>zhn&m?LJ\&.yњa. +Qym*SzJ_#9`i.gZrk ; g8$xu[Toz[HR |wo9٢GU,{KzfAM R+޾ߎBE-t`pyKnyK?,E=x͑"G;E̚Mo`U} +f`KVj1y/]!"|aaw$6G/xlKÎ<=TM~qy2k3u55VBFNÒǑ@{Vc R]Zi%k8ヘBVk} +n@9r;o}]ɞ*Cİ)I3,ַZ߸w`b'#Xfg Uy>%3/V P*vg X1 ?K~˗)nJrbh<9o/~AGGQNF'@ŎAF/9DQ! +(dg͡WxiIvVYYq ޏ%Uq>*ʓ(^^#* mV0&RAIO8Q*7㒥7'$*5^Pb2| +璏oԠgU뭤?~ގyY6Dp' erk@όKYgTC?8`oX3SDW!\^`lKζ5gYߦZ͸x-ѯr<dz!hU +\)VA \c=-(?1y3Ews1Xp|/4Bo-Gc 5c6BIIL]7fQUyq $ۙ[-~_k  =6b#92<g _1N>&݃N:r{&w sO[ -C7T,}ڀv ۈ?k~㏷['bPi"[=Jn$H+"Y_~y^wG. +i%<[80]Ή[wf 9+q4sΎۘr;JmKy.&X)wrSۥ4jD ;P cW› BGrMY귶.PQ宑0Q)D3Od7fMFJWyGkcsO8QZ +=뉫1bZ;vD=Zs>r*VC7s6c׷i;042{z:#Wlc2r|v61.DžB !-aPU qz^q&[?V+k)tk?LG ",cEwzCƦ:>?o{}i ?<ι??&].#=Tk(i=՚M5,B5on}#afi"ɹ2XS,]=ۮ+Cq y>>D5#L:haD 늪{&E'F8&gmT]##4h(,>oAƔfj5XV013-'eql)x=tD'HtP>۟!;rܮ\:*boLvDimOuk[ݎ2*Tw2"_"LOidW^4g67xH{_$:Vӵ* ? ř/p.4H9N5_k#{ԩ=r+DGϚ<8Zh*5΄ZvͶpI=cWve|~og9ܢoQ3hQQFl.ׄFH919d{R~.9/ieB9!rX?2Dy=ki-?']FT8Ǽ_F(PpԗZt}}\ۨ@Q`a=M -zb|s s* R%jnb}UA])ji S4k G8G7#O7 ;S}?o;/?~> + h`LykGl:UivGԑ#Dn F6#-ȥc@Sl&nAj^AO\|BPd6x4CQ{'L,C;Fݫ`tdZWoǩU]ٲ3Ȝ{Qf9lV rDDUvC/6͕ Bnr,C> o_ Ӆsk9N#IxcYACЛSზmIa/>VBt ~kחM9Wlveqor`Nas>tUG?]/&㌔-j[&3,hCV۽ڭe-ҘjZ=3_Jō: o&0LC8 )4`jMEn#]x֦ڳXMG*rP[eP]ؽj*sQ%ӾMi4n~x$|͎"z GC`f;Rz*,-᱀u߾}vލO:0qqv8AR*f&ZĉΧ's~|J2+s4sBO-S8!d+0Ɯqq +yk'_V '\҅bhg!5՜&@lrƒ.!DT;^3_ zqJtƵ̏")MK[M8.%ƹ+ΉH|$ϱr2֧x%pGN2Dm b[L=]G@U8ռg7%*Mf +yz ;Vٱ|X6ka cQ$0Z:59k7(E.ɡ5i45n@MHU!TmJ-Freg5p -(mj;xywaMRCڌ1qCu>MF ]㞇axhu❶i{*+$~|+ PCɶS w3|Ccj#M GS1w@NdzZ^NBJߦB4}whEW.b0B\o*l`N|:܄`4mlb +p܅>@H,b]+ɣ[j1/9,X/&:I7ؾ1/ $Ͽ(tp㫺&ݢJe=|-t lg(~[H,-9A[B4q5,y(h@hPV3;ѱ^(+|4DߺP9 ˝ 5˔օTR~1Ĕݒ&>B>zYD._CrsCFJc>=M k=qfj6Obg?/60';;J|rZw\ 79v <Ӗ#-?VC„`&<>٫V(imiT` ^SUyvO;i}x!Xnr ~82+;{NF0G\6>=+?/IV(&|pw5ҼNbI&R<8,2kcr߱-.R,Thv EZ;kFt9jձj!Pxڱp&uSzhj2q5| U!4o15:h8kYoH#*bHBGV5/Xޯd;-K 8mSm8a44[# 6u,_IT̤P젷EԔN],R< MۆZJckbNK)IޘP0AR%{@X27#j= *JFk4SVs봡bfz;rke H=oSaY)POL?| T6?}kTt(Odp~Ԍ;̓@7c|EKpyuHҾŠ ;>sG ;'ntU2a+ ._|.ǦU(/By4kL3 j2y:Wfucm:tɴ~@h5('m2{0D!4pf@A' +[K~{eLv LgڞN9 *aru2mLZl B0V)Uve@XQigxr ; *jFS_ؽ#_2܌)0۾.`$+"is57r'" \ +M[(/`X +Ώ3-\1tI(WIDMlLB ?a1E㴼.`<t|qZWMZ/7=,#-lplb\Uie%aiϝ 'qG؃Xص8jL[Mkl$pY4apy1S#pj +BB%B{|(GURtLw~Na6/XYVWd6- Ey2FՆJe!m ҃{fďyc_kBcj*hu ɔ{6, ertW6Wa<! ɴ*1m-^P 1[L SWP܁hkXb%nJ,))!4*נK˝&''Ki)HhE4BNjʯ*R#L+调e%`{%Κ$ mmk9&KerjwOf(Gd0|~636#Gp-T!qP)ٓg*AG?7j}g:tپ'I]ҸS\\?֜(^$e79,hp(`F az^qsH`NCnIW:{nȷȮ|›$8Ҫ +Ĉ4٤Y02PEPA.q$t*aYj=rhﵺ5NcT p+:R8O+\ZeŴ|! |qZ PECCr + bcl?$ZyLGY_ D"QUv^Hub:V!_DcN^L! @^#!66V,[1+1*(3*aB;lMQf@tǡAL,V gx(% { SUxI"5_ob2걉9ZS7'(^@tvFV +C Q1Z'-(KN y*BHa;dyQ)$X.J +`KӮQ8R'gK:Yx5z|@8 bu#m/Y"BbI1ed^K)BTf):H+nOL ̃<ѸL:ElLJ(vυ/|\7Nާj& k\NFQQ3΍4.ن@ATuYwW|u' d~t3޽CvW?֐ + tGl@YeF 7鑭SxtOC+I!A%RwrUmM|22Y& +1jܜ:L>ul VzQ:kjf(C RrH3Hqn/pŰhgu53)]GVPt^2x.z%N1?G5]Ƅ}"qD/.3MXƊBօE?]a:; +3Fsbo3 LB1WQ~/!IUgdoVg7B=u^(aSm 10կW)_q72ƨ-%.%)3yfXJ^5@ ŀV{2BEh'M7>"FVӾpMت2Oh;h"qȴ 3&lz 62m™]QiN[yC[g3)nC( *$Sa[Y! q'Q}3^O3s')>=.D:.{M %J'u5ɂ\Q| +g `8L|y)8?meVz ?sUΡ.ҡ2#֌&O/['R5exXP#H#$Տ@ՐgX[NX e [wM8PI\ASr9/nLpBž9v,#+r,L,0%3id~ul&⸛=@;]Nڈ'P7m%cV; v( +C "v&]kES$+tוRյ^Z!D-LQTY.ciy盳 U]ROQUՓDT9^gr7;YlKM+Zw}q)ɮ\] "0b I懳nR B5ͼG`g 4AcfB2_FW(4]-jr>u.= +JSǡȰ8& O4 .PUVAmXzX2OnyIūI&]Q@2׫PbqU V730*'nvĹL.13 4|&I7u>5⮓ײ昌QZ2M8р57.էMIJk)hT@۝," 4$Jό[Ce:NmF 8b%zZ=Sl!47wbFhok9fqNseshUWQAp 5=o<-#J,Uw`at ؗL6DE@1PR^1oH_@&F Lc&5oڟ؎?kתk;yn.3,\ Psi[8~ B}5 AuIH  `݄֩?j#O&锷^IEv yG)`lI%PI*r̅l MHl &tҗ:&ܤHnTMgTv)H-(n^0ódXI^wZa`5>tfuephųM O%ۄc;+qE>\EN)<73`:D29P.iU4񆐾/"1F[ k)(0=d:x$3qh=JM +yv '(sbJmxɴ T= h %3FXa v :<~Dp5 +mmlxi +Sw%^; Hvgay7yճ)Z͉;sanSkM1=L8҆bA-QKK qbij 3Ym`_كlG>/ҝx#S J즆j͞tG] ~+YO !b#а(!`HW&O>O,#qV$X0|'k׹<|^K@_9+3VJtV,ۣ{N"9^$1N.%w_6gvvҜOxMsKlz@BFr!m2M3dF/SvX@Dun|#e^|մwӡ Z dҪ%ןmw*M҉H-r9Y@L@ѐ 0?ȑ + 6g* +ܫ-u| ֻf>sixW8ag$%dP]7-T&=ϬεlВIъb’ٖH?+ 24b[f PdTn7͹1b`@hDI,`L2<3q{|'S96ݗ߁|U-t +OMc0?}tT,m`VV`n!ko]S}3NIjDv%u wQԏtf+Y+cM.;W暁!,S^]D:mN> YP1ELW} +p&f=jv=wLFgkОT8INQW<"mZ{/+=_:Ofwl yLAdNN1gN@d4[|ԻU"J~逿aĎ`.eS9 s $ +{T;(D[ kylK{+DO](D @Q}5K1 +|TVzoYJ]~p.n~L.j=-/:.+~DC=wQ|q3ѴnJ18pCxh&ہ&A`Lވuc)#|OD) EOҜ,iZxq7|K +0s˲ +8:,ڲ +Sbʈ=cٲzcHE#RNF^>1k\%vkO͂n$:'%G9B;ֆӵ~H=E6wd=4gJ*阚nrut"@5 : d;K+Og{og׌m2AkY3+^រ& h`ߺhZE%0Q56g#H@AMUR-N'Φ0`#R:o6E߳rPn;=# ޡp"d=׾sұphq4)My1LnQgC 7+_|7-X)'Fk dve-O p 7J~vO5+UXxc$l1ox%O1' _9[Md3/_[xp]L{!.J5^YL@`S'3<9 +5y ?{+]J!n)0uFe'~*ou 8!Y=\Cc!B7_<cyQL/3":ŹM]]ŝ8D4 f5Rtp2tӰ8ma iCkܻ_:ϒhy.E]8Գ^nv%;,Zx$ӳ d!-7[Nb Ǯ|zǸϠ%L>j~i$"tb o2 ^W`0_Po mg.FȆuy 1|ܖ>|t\͗s~-1L0E9kXQ>DN (&-iʋjr F.r?]83bv [)qHK_ vy+IJj$vxJAU'5 CAjT8׆jIoV_B L>jkBE`faISmNIWqZ̛CKsBަԴ @{䠶!*S04M7=Ɂ=s?8|Q'-Ns*Mu $GSx)l3dRz4y-;l&gcy}׍?Dg(2C1[50W(SO7歮"%?X[-rWo|u;jP3d.N<@C¸l!ϋɹEUFVvlFax¿.lMB3톌Nv˂negtAcҘ򝎠9ySkBY*/1fnV?v[3b8i9(DgO@nb: D)q Ia¹i,| 3D_a߾ގ8Ŏ)udKS5,hH³A0W xdeBa))\Աlf5AL +SuKڀ]lX)-_@Reygilac{|E;KBonݤ8__^F/H͇N07mOOU4;5r)tS~t9lm_'@9uq_y#|ШFi[!LBWg[C.SlDI݁S.yZbw̩)a4l.i4px~C԰ٱǨW7\kڍ"<)ld8V +i-|1.&w.UѸܶvV|iwFŞLU.h;%Ck1A$rc@-b΅6 +_-]tV_I1>lBXJR|@#diWwkB-E`^ wCiV%9&!zkdpv_|mwV"5_!}ݕXӹO\['ceS]O4~oږpLt-NF6OYn :pQ?ˊT}L8/dݗ[^ +bt86 ߰A@!қ"=u?)w +;4%TѪn pe=3G |ҽhZ Eld@ @jMM)Kq>I}N(F_oXTx*;/^]/fjv/*QMB잋3EcHw8iϳdC*VluM~t#b+ujtV;5X [|}Mѓ ɞ\EK 5+hxYzl`~I&DISߔ60h)X7~(H4 YSe V86@P(9Ɵ,_ |HX3={1D`10CZIF6҉pЮ&r=+Q\+J݂&_5wN 4Eq u!py=A(f'&ecrR7P7(z~3Ph &?֊ͅ<bq<ԑDĝ8#vV==l=cJ9#;B5uҀۙ(;RxgxcM7F8fW}!u|HbA)GUgq }2d`QO2bUZ)q?uix# /nS aJ'_a;;#FUxwg'STTڛRP֯Шf[ ;[(Ҟ'8yv+MK35yGlEJ\ %d)9s?&懙'J#|㊥PFrN2'%XPefӾs I=Szl#F@'%T/?kdM4#c!<yZVA_™|`v Hu:ybe=OH~qό~g3#d8ᄬ7A㿾HQZo$.E /͚ F'0<SL:5Yl_Ycχm6?,/#韨 +Q9+hW4܅6_:n2əP܏ҞoW?8^|hJ𻠭m=P¤?֝/<#FM 0)m/:3 +?svGǞE [ͪfiJ/VZZ+\H+yWe|(%vݭj=5Á4 uYL 3lYX3oEݗȏjLh@_$q{ wq@NHXiCa>VŃ;$'ce AW@%N- fUNDz`xf8_VӞ $O-V3~zX?Tc|S#|ƻ,岈כ[S"[2].`snᓎst`_ +8oрБ!s䕡+ۘ#-C]PVL8ʼnK%y0ɝQK*㳗 +@gixVyC[kϚµ+4&(Ӡ@ᜯc_lLfN?S,xf-]x6!_ؕg vX6zf`zV+sΉֹlI]8gIصϨ"Ύ6͂@@Џ5խSJ;9JcIXѦ',nW䄛Jz…yï|z[=r6 +tYe)qvdO3&_zrl_Jy  e03q^*Zpr!A dIfx3`hE2Kq+GvN&6 vclXQ8r&hl 黾/r =B 0C/̵qҖnrUEClLZ԰*A o/7Ke[FFZ5+{o>^3;)Xήcysa 3]渴QILlM@Hi?BipC*q/Kʘ@+4i[`zp0t{㕕y[*1İp"QD={}DE>꒻jsA_469ܣ?0bζ ?>VEkÁE|j2bYek2bHQZ2V"7LfSN`~Zлe.a)BSZ еgH4Sgji]qs*%I>ENYxXS S|=)jԖ>x~_y@?ږ/&6eiA%a&b'0;[xEW?i2[] !w$7…rW>^,|lrR hJ%gG| ˅YqN4),5r+)n`\nk j~7OŎWQYb+;'VHcQ>ج,Ч%O U s1=D.-Xe2Ž/$2?ոH +x8pwaH¢LgbvR폦ѩ[rӺbS)m5Lec>lSYr{& 3Q#{FsS,[1R~p~-؞bS>|almD7Zs;]rۼn#l;lC\AZgrN|/5zf)9s;su7fw| +*-W![\)]תR1QK6YܙXO3ұoiu,jە'&=][+ނ?lXoSلV>ڱ{ G?IM%4DI&Ҧɇ윕k#=kwɊ2$8yxr+xTZrU)e؟8对,)W +1B@}pWD=?I)l9rMNpFLj49 +Xp2)6Yˈ6PBh66{ȡ +.̕7NEih.ZJ]XǴI9e `[uamŶ#/X9՗j[Wa1Ԉ[Zzڍl2_'Q9m+D-~E +&hJʖt +:6ܥxGMX-j3"/\mH4bC D̮-NCDxW| m}\vAW|_/-"26OJF@#,%!-_0o.Ì "({0Iυd-c$pD@Ar~/1KۇvJ F1+U#E Mdjk4AhCZ;}H!< 쌱ųrIye.lp5fZim^{},e]KrW@N+o3 ]baaۦe/MSs8l%nƶ؀9G2-B4EX ۊb |eQDXs!E!H˵'Q( +*=N ][叭QȖ$;uL%-OCd!|s3;cQȰZuP&<'c':[ZVڹĕ)?/Z,eVBTj)n"jŪ㽎ɃFq8ik7@hf=6V qTѰxйdm_Y\)h0:H?,z&ex -')bI90捜;igcxXG.FPPMa=ϳ^)VLs6Y"ڈG,cyeqxoN1dÇ7reܑF;Е7_'b6f71|<糮$Sn<[^LgYp7=b]<ӮhJVLNp m3!Pŗv P 5eܘx,i>Ms,1!- [ҶXc8H4 8ϸYJe8$1^ғTG<0*IL'XXf)m\өF}>BHF pILԚR{$~f< +*e=i\WA撟:Og 'q'Ndz^mHqP(<'@o; BI`-^U\? +yo!HK"eJZQ]vm\QhQ$)Ls뢓(aj +GEXo s>1{jsIogN~Y#&sKz%HdW2=4P]67P۽VTy^&j}*E +$A$xF1>Ʉc41}=1i!5GTk=NqN[n)/;vd94\330ꛮO1,K9@ul=G6ʢNuMuHhu+*CŹђRA Ӷ@1 KC.imDC+sޛ㍔L'dк lni>u fuXga +'@uɨ,{jgĩQ[Zpi# MUttB +i.hpq .PL(yD$#W&VuOtlMZy̖sTqߵ-K*I8C|)ÆG<4B[LaEaa9e7*jV`9ځmbhkWL* @c#3,#k2(\*8eQ֍Z%N5uDq==ˮTd3%j]/,>.p~QgVvr.9=#*`ڠb(2X&[s_wS f=p2 i LOMJ Meb4@5&NfBMv<.ҵBK=GLTvѦQ~sg ˥jlVSxCNP!LH!a>]\cT v P,-E%c0G-o3VіfY|c'Rc^/ GQN۳ro}Ff96{=6R0?Tb(F[Ȏ WdS0[kZ 8Pm YJhCrWPckYɃzu֩oa͹ RяĬ\0R@þi#*ٖq0Nuf'2htvOs( 6Ѡ9G9ڪi2U.C)ұlFD }/:Brݳib4Gnudlz$@UޔJn/6TNȫ()p_UZ3 +|;"KvŤlZ;Jy3v*v +tx¢"z4e)n9t~ "N7fēH3LJ$Wm{* iMG3t(pԵԶF+(r-9 +x9V9Saoh׉,W3V>qo(4^^vuӿ,=yEJ쨑 y]庨:q'GhCSӏ:{oÌHُS+9l=cۃhۑf&gEy9`?^/'9}j~y;}oD%_FlN2}W;}Hf3}eKT1v:ն!Wz¯ZǏXnmV=[\\ cuuB~YQv OUX@|P- e'o/P9FKQ$V* MuU$+>Qh< /@m?eq@(ocC %IS|dQFRQt$+f5rA'_?nǾ8}4f&O>t"X {ۂfuVB[y5Qkr\<x.#"UY)!5q^iXExĖsmJFٺ `r " | +?ۓpDTD!,-9AMf`Vgh0b[@>+Y0`YR~غ*j. PuUw⏣> 9ٜUSTċ&g-@8iB탴M=P.fA6~Z-v܄#,.*\e[^OPx;y;^c2-QVѮZ<Զy׽VFZ|ɫ9Q)fsxVwLx f7X8N +|D8~Қ Zx 3G+u/3)v-6gP3(]zܭ)٣4^Vf-iz?W'I`pmOQW `nzxg_n=4 - n@*ʼ +1ޅ%=w˭zD2hE +[Kι/NT@/}T v &n59B:y{VZB`&%Mi[˞w/?T2T{kV\A.3p !(NuJ́O4 MT0CŤm.Yc!hQ)|G}Vêt$rm xcu|؝SN6ﹽgc娛=SѫI5׽̈́ ?xtNdfNoߋt"s.3Ƣ*s4oo}|tufDqM1F<Roү{^mkư5k#L.2AM[z싶)YfsbԦx?tGktk!02:dVwSVgo +usi)1o"u1.:$c Nc)%ŲKע-̑TLtefNU+nzZ)+g3&xC:L^ |0i9KljˢT&JŽ)n]t+wχ4Ɂ,%O*]؝r}\[[Ƽ4kSh<{/l`YCQǝѯwu˘*x %0Vn0UYzp\oo߯.siC,>@NoouY9~LdW-8Vy5K @2Ք\9/F3u +g>?G8?~,EWh7` EEﷺl}F4ۓg+E`'ͧq )^2Ē=s~߾˶t&֞+jA Q4Dt6:s/>zғ!"Kj0}Җyv}7#ѼNg?i?Ye$Ǧ9:Jn ΫW7 +1%V㨻5ݔ:;&^BUtyx/p1]x9y"km/{}1qFp{+#},aLm qԳSf)v}3|u剕.c(iL7u?b--ۿG%mߎ]*vgsK B6V{oo| +o~}ͲL7NJUQ+kdd,i0 ?qm)9pBqψPwJdtc/ x6SG~|,#mϷo/C?;Mxv$[ًYoW\h*_PYqxBDrC=~ܯ}?^!_O4ؤ| 1'w}c5K`^q}8/o2b'%>58AT#(Jpr\GH;v$^ĝjjQ8߮%5`gOa j^T2GG+ +YqF)zF>6{O-)~?\VWYWC}#ֿG+8>H^qJ4FU(u{( ׸֒_cW~~~o9}`qcQ;G7X{!-0yoŵРlm\@6V^l C~TXwz4(m'h?o`Sx;}J.w%t^`1uk |E_+RMq <'ߛ'8!\ +:Q__N,-]>=*߉cjlc'RG Chyeғ^rhS=M硵"`;$lVfZ5; ոC ?x{ ǙK1/3dyВϮRΙG ~ߎixǦүdkFhm45)Nwh'|~\+*{!b<"R}zt.$'',xf+qH/yJι)|gb\g^uiog-Oa=0Hr[LuRۥZx1qV&o;qn>e(H!̺^}8CV:ҫp L6ж9DѾt҄.C,Y!_qdø60YbvVoMpߥAWڅ_j՟'$;ez*X-{yҘLz>\T4/_ 0] +Dպ0tǔ kʵ;̅m%])%Qߏ(Xfƫ6xύ3vT?L܃ <Qc,YuP{ +fBev<HsYfM1q^'=eRsB<.b!(!C^OoƎV@KL)UR# +[u+B^jƬˠ˻SP#kL3q9*!;e/jUnL?4k<@U\J?VACOIgn„ؒs{WheF)+ "q%)іD[ow>RY`ց$)yG :CﯷUٽCwBWIP г>"uoO_ҋHu!C1V;5hZ#:7;()gc}lTݰK8,GkE3e BgdT {)퇑ɮ}:GXӦTtcP{Et48%)G=jSyS96!p: 1a.ɩ +Ķs.{M;.t'5>@K ^]1cTۯonفZ1(A{5{o2އp_u,퍋JUj*b(Yx<='Ap2 )*Bl$\ %(1]J4F%޹!y_yce<S u֘n 6cYk y+? Aw!IuDZ(Z{'*j)0]x,Xָ*ImQEP7HAP컎mMB}J}Wd% šk\v[I'k_bP;nyTsI"U +ZEclvL׹qU>YM*SatUIae%=kz$V*r{HIPn`'Tv!قxFE@ +ŵo|V4 +P.*{1EB?v"J I57=aJNhOQJ]em_erT٪4 f+F[ +`dѡJ:Ehە}#)nf9an&r=g83D +ǜCa +jѸ&>0/H؇vi0os::_>U4fn"6u@,cm.$} +OCNsϴN + +$#\Α'(,G(a`\::5*fvaaoV-l 5ZR[8EDgOk^v[4Z_4]M;d}ɛzw)S lKhف6QF#l,90~OGyt4\>hM9 q|a,vIw,b +vk1EM}%߰! ^1E.@!g"00}\r5#P[gBH=zY ́v9޽z"$ѐq MF;m1xtۜ ݧtf͹>z]zG:B F*0Nvq~N0-AwNgO #OmVHOsxtWIڮ/86<0Ud&tERh=XBlAg독J ˟S@'GfSTŮyXVq\bXlii]7GsA=l*.Ҕad ,?n.O>?.V'/_!CAH}7$V_O(XK+ރC© L*Bk?4c! '$LX: +z>6*dU4ZS~ Y~2T kkW#c0r,t!A.TO .5Kv[kFP ЌILtpӨ<)a"[֩+n<\j88t1V_s OG0$1ARygD$7i_k,/:Dž6lYx9 . 8Bd(ݏ[Grl(Yadd߹q݂yDZuN95kM99Nx,`Ӛ:Qb:޶ze),"H6Υnx垃Ux]+Aw-չt1ӯQgnvݹFaAwy4.T ~Chu8xWsO{hcTp{( 'x 񑫋i:_HbĉpFy GqCU*N4kY3ON7x0oٳ< UW){h/~_.)KK4-"&HMߵ+3}Bv6K5gAtSjnY#FpsgC9NC8mo*᳟ M W? ww]vFO1k$zy. T҃d=z1|q_n)UbXjKޞa1wf`j aI= $TR+Djz.j -k1lVgcWkp}J$c0/Z=̛)i.| ,(|;w964Wjw*Js )YyEf3*Jq+ r߬_>+PxHm7T( oKwt!ʮ-T +?j'(R.uiYړ3K-2B S2y6zi($tAF%/ɫgW@eyj8 M!H;~Qͅ&KJ{"d|aް3Q7缎@㉢54("'{WZU;S8^]SR齻Dnm=,FyCL3 +\RyI 䉧E Yǭ\t%rPuŽY&fONX3_O]ab*hI=ssJJ/y6TPi 4yy,7)`gI,sZF0(j)~PJ+4GU|CYHSR]UN/Yji| `~5 vWPN*hzD (t_H ӫp5QȟVh NƓNl4P`6\}n_Y%O䨵40 kS\jCsy9g\L"V'8oٷ`=E/qJF9{DpM>+LzBURԵ1T5'ξYNtٿL~g_`m8־[L@Z;UE=>}ok/g@828yfȁ2E:RAJЮE(H54Rښ@r-x-cTܵ ˗fJ0T(2^M7b`^u!꽤ލw-V67Mϱh*ts&Jq~-&7'PB%(𞧝!YH{ޖ<胹Q"gNhXd8Ǽ2͙j#LN;L>*/GYܭDU!s%T%? +Z٬^_ JGjHڨaZcstCh:C^}PA #zNxxXhdKVԐmд?Gz"U ??sDJऻ;XlSu~9$gCv{hcN! Ԕ>.m0L%Ia܇wwcXKaۻK0N-coK Uo8(5=SÀtr3& ~^{ul3[Y2q(ǩDC5*!̦I>\~w's4 3#fZ:*a&nb-] +i gS!o\ffs*塎OVe)_0"(Q?o+~S'0&S((͍p_~Mj@Ϲg^.Xy^ʚ=I؉4<¤`(gR& sg +F}LZmBN}g4`~jWzq E^.LڸY?a w5N<fHBv8S-51Vaҹu3ǝ3uDi_Jy$>xM[1=0dOR,j3oIg 4.v5\.$x扖4]'&E±H'G 2j|\})qѕr'BEBI$O;ζ䎌z'&?˷_$W9+ޱ8|<3`nɍ=g|C)Fࠫs?/Dδ/E´BIi bY&ų.J^b{w{`G0C e6Pߵ.6UҥV:i'N8FMyxr9 + $dsY{QY#Z)Ṉu鹢ZLoK*xT}{Ϧǫ +kQՠW ` gdԒ4pEQPC,"'QFO ];т~6*2C/M虺{m__h.$Ep=)&>?6?6o@g=d#6jXjo4a4b_FAähjϨfaVaQ`ɊSSvpPi| 84瑓DUN;Kmۺ=տub~((V3y BnvʼnuGmCH8-^Jv'81W5A2Iծ_((lXp'G>rCxx5Nk=JiF{ak(Gq0#-X3Yy}?N{30qbDoJ!*y ☔& t&.&?- |;dJW +D9eH0ƖT12r3Ev]xXXzknE^sLRMƣmf&2yr~Μs~t )&iAo.BmnP1V)NX$3eI.&'MH  +0)^ײxlB?_#g@8IVMil } _"S"JMOjآ + F"[TLX۞93q_xF lؔUqgGYeZ̀AKyDZ1 +^ž>V4P7hV?4þ ;*~\*ä;}Q1 c}UI[\*gԬSkLjFu?@7 z4W!LNeԀM3u_~%1m"eQa-飮:1ci*þFy75NIu' ]TMT|hԝz8V]{pN}'όUY()c5f$1㉠>ғT򃳷)Dnc _\F +X{SW + RE[ZͺF]Y^ r܁ӣnpGKN͜5i7Q;L-GRNt4hnLf@cu + #7aĉD3H_{:c;갴9n>mgkxfzJ_b8' ;+jr{/Yc Z~T#pI O3ImkB[քQI0x2z/9|0*[|9"ʈ#>~+Ͳ&]q6ؽ=ZS|I$fLt ߦcA$DpZZ͌uǏ桲 4H|za"ET\Fc]*%ThQ +bAs]gQ\ +ہV=%7Dị@hiL̉)6 j,cΐO87ڳMa8 caQL (5Mis-oQyTm)b{cיeӹl&p0)>s[ ڳr4`A2) Us@/ޛyuGy1A0^<՟ElhڭRŵAYxYXhr\e&:i5 O mj2<>~hX#5+}*pz5Cs'sBx׈Oq.4\d%PRV2\eRL\!sJR.8UR~0ZOg#V11 +[DǯAH vz:ᩧסd!ѡ#LgdP;]i36Y'8>-E5jDi%v`B<_06Wvi1t*\B}bd~il g~.7mx0&F"<\%əw?9_;%vatnz 6Qo]-Lz:4TINDM(̤j|мku"r}=r3& My~ + c:ʄ0qm?+>̾Hc@'$ayUR?r8ƚr'D +iRѨ1ˆ(p2M]Cm~7>kgp_?jqUիe{Ե3Dk-jSɱVT-Gրuސ>A_SUK?2}t6C^_{(Qi8D bLdmA,mE"9#\ 'pV~Cf50ۓо4e|K3]^޻.c(| s|N'ضsxփ0k3\#۱;?h`,մn#AaY/~Pz;qwT ҬR(a,''T5 exKpUJհ`Qj ֌J~`.&X6rj8J\!G!Ёjx4P_`'><x!/PJmrzӮ JOC:ґ\3즍賚muBtYngQ֙(7 +>}~Πf|GiWYݙ&>.TA/߼Ye6.Jv+iF .lM >իxiԣifpn;0Z%j/*QxwdC8&ޓ 6|3.O\TNh0_WPvF\_U jBO!!)ʜ}M_%ycs3ge3 (t fƿbPZx*90RIc^sBxzXJ:CD+{"t@˂9,J!`Ȱ8"(w9߷`x7㡏Ͽ_Y/Z^bu[O ;0bH>x@avdϺIβ򻂺CjO SWËU".!h. +]u@ߏ,N,P5rBJ+ kwPRQPv 򽨴OEf>I5! *^}Ң 1Xg&~Biyz.. uX@MO<[itxԣb5愥BI8=mHF vL.cVHP)f[C]e@(v7|(}<觿x5(HK䢊8q7X6rA܊Io`CJu=4Y|ѣbev̈9ToI2OoH̀X-M˻eLum_MbᐛId"v]NZ ( +cp3QK|yxj3"ǒ }^U.c^_Ý`P~.-¦ zJli8,i +)Wq~_"./~EbfX\+-#'(S7~5NO +.;\@xqkYzFK>zhDȕDF\\#F!nY*n&@)Pwd2\3# \G8 +&#@|vh)*Jpzm)+2CZi3H XY"Y \BquZv9מn2J_b3NftGʑV hCuj蚑[JY`{[]"Zt;*:ok_ۮw@O]J.Q*mחa8`2fRx=#Td}&?E_OkI鍦"w?v +-//:sݭsfNZ`W z{ٙ,&M]Tɲb} %yHk`Ry&`θߥ}(6XC'/tnAN/qa8`@=~ ='hr9 C 27z <ο}˖⣜{¼o\(2;CCg붏8k0M$>9F |GWhV{)eu/}Vq-їl=;H.זo{ItN$[xr#6p@ lk[I˷C { fJz:alj/Ǽk~[x$cyw_DD~v%ZY;)2yrbfK4.ۨҭA!I1^W;!m LŶhN 5ږ=o:SȱbBP#& ɇJF.I Nx&SRd_to:ۙ&10hk=:"2WnFnٳq݉ڏ/m+=!ؔK0\*E/|-79c0/ 05S֖TPN +w]txپ"E2zb^([` m{Dlj"`_^[^hhU@*{:#﷿_[(va`tYhmۛ_YVd*GY: ge?' +Xz)3DhSAu=PPRa~mmz +uV14Eܾ-t+xBVcnű|g{9 DDI6.袱"QAuM8&ͨ~Vmmڈ%=3PQ[dnr唆o9Q}kQƬt4- H9W}%[VMpI'ic"cۃ߶Cz[>iv|Η3DXmg P|[T`|^r ~:=WFzj:amLJX0Dz[^3x+>^MҒx y#sݵ>¶8n?R MrroWu{J> rjt{^7gc2c)r}17b;w$-^agymauhW/ΠڇTIG[FP8#Eo?翴"yP,D}J~0ܤ 1U!VUJz7\V9ȩ%GzQ;`Yw,ۥƳN hsCjސx,>+5A_ }ťeY-Vc>ݎ%~ +_gG Ƀ{叆\l;&jwpQ{- m54~ U}QIX~]qy>7SIՙۜzo;*mPEUZ9]gA`p;:pw`"}ˏ_wl +ޞ +L; 弫5|Z\..&g\M=FJ%PWn)@RXvK{=ǚB4ژ|Y[Nkc/18= /wtnwi;nfڱHM>Q&SDIb(&b)(R *ҿoۢ}.ry| +?|~0=9n7D?oG]`Pl)O);RNS/9GhGFdmR :EG^n>U,SlzDUw\_YjNoǗY-+%>KŷX)51O[C/@Ot Uyb=Rؗ մBWR9(}-}jSҵDU͖֞R̽MνފR^Gtx|Q1r u@N7tNF:S&31v:.@̐ .DyGmC`ݟ:7`,%nk`v/r!جpPkJBpM68MQ'q}tiLFжc[x2 fTVm*()e-}yg*<ޫO~߯o[2u* $c&iR%vRZzۖh1VIlIɠ2%4W߹cSCoV3nbyy/\wYREMmCn]!.՘@)nK4k9~-WRc[]x}{$ܝϲOU);O2j&,KD3IA*~" S۵zM9 9&sa5R|T`lƣm%)ȞyTAgQsX6 ڂ2.Wj⚊EIӎ?BK۟P˭>me)z-?NɩUvyy$q\}uPt&vFAA:@Rփ>܂꘨|:stge%E ޲׶u;C%G4 ZySw9]{-9xs/(-'[*$Xg"3ުk*\*^[뷈ϑ>8_Fm׿m#bŎ.(&UdK$`K;^"!Vq5;5 +rY^r .ٵ8GG9lQ#jaR8`69po|?{g6~OՄ\fYY89orT%#t0PGPNnZҳ?L&L aXeSG;;k+:)`#gKKHYa;ڪGu˧ȅJ. ~ЍX-Q_-AB73S]Cv + \.G虄N+Ye^w7]3פc]R6&6;{RSQF@o0 +7}rGK;Ur/zoIP[xY'zGJnĥw|z۪Eq/LM{cT1-Lt&ΰ@ODZmfl7A8|:w|ex R'dɖ^.߮0`UJ+B7t*Hk5RLO]~K-u;7J(dn[\~Y}Gx{C;s-@6'm~_(VHt01K6{r^]2{8 ] -1s W|ÞVC,ƀTĈ_ o|Ԕ%('h +C)3FѠץrGn{e}{-fWHlmR~ٛ[EIkANۜNN?]@HW3o/22}C_˱T꒓ 5W\*ûݡ˖ u89( . =ݮ%H @c"5N/tBR꭮T梕YW"@;ˮ?_v mtF!bor-4#MTY;V~.>cĪ= 0ٰB B]Zǡ5 Yk㎡}۾Rcngv~{ۇ'n |^S3k=oSېwt,BXvChTY^BT +컂x)l &<ܙAWw磜fX +o0+|0td`>vi-Ķ]%#cJKhAA70D=\shr| ] +oTsm_HE;ɪ fM#,|efQT8KV{)6lH3-J xc e^qZvKĤ{mэՖ(|"8M¾t_kz{WvsiAO$&CRj R.[ryi|I+svcSK m(ĨF~10JʝV=l,ԂH251:V cT'>jS"`5=T%#I-x5O8?fuzҞuC.f&ܖ`;ft\+6sxu>89:Ap(@&ȮmIY&z!"pd^"r6`OuCi=Kn]VM "S{ SV9uM͞i{owI16Bi9{Ñ2TC6v7HA$8JvT fF 3:Hdg#|P(ml+3t3sG&LQRJoBAFٗoyԍ9I% 44&4u5Č +DIa5$O\Aj Uk-'/>D1E*jq}|>+OTnd~k*:Y㺁ٗ >gWYʩL=kuAD>KV_nj<4ٌ9b9&[z?oe1=auTGӉ[yth:ăޣ%QQSrB:2tq^?oII"{w@1 pFX2(KZHP7`HT ƗZ$liCs\):`lIP);\ÀsICXxaA~E>L>dC2ӫSp܏(vZ*TYh઒-[nLԬ8&RE8T*]9)TR/dvDSDR{HfR0ckJzV gV jykI9 P-d7ٲGZ`HZPX+tjj `XR30j*rCw$ Z&Ⱥ-Gv +I&2^cNh賡Y'َYTr:XR~X:NvZ\\<EUSKOtQZaGL>%bdeɦ:m-^vA(Y%eoįk  w,qe2N_*V:KT!REG$wf{GL;=i*M JǞcݬd:DS꾉;rjNjJ볜jRPueZ" D`wh*krJV!tC~jK+IgJYx壘⮖GJ?J'}OX@7D-T9(Eb)J7ⲦتR2M(b혭 Tdm0#"pԦ㒜7C.K +XeJ*?޴ѳfJ<Ȱ#ì,0;[6åUAHP/AW`Zba^Y1M=>m?4v_yRpsZcOrp,oUy_#j"(y/96)VUTH-2dы1'l씦"+t1^nSNp͟[(W(: fR&ϧA>R)ҥJ=GĢ'jGU1' e0 I 3cť||{-(4 +_4zD.zS]rAE ʎ,[߫M3 3<~S~ęlÌ1B􃏮!D +KΉfAA+Ќ"t)U[)=j;y5IqoX45~ԫvlw$GߤBOVGXNOnsUʥ%5b9X$ӇSy>F'ZJSYHQtd!kf[\ _B{F Vq*ҜC(Cn jz%!Sұ+')he *4zw9ZwEazőv:`bK\gq}9c?Ɓǚ,/?jTD+ +&J t KnѴ(Xo AFY -Zi:PqP `U-&ng+i+‰qE+[/Ͱp!;K֏Gϙ  +t6Us+a8PAU3a^X=zn^"vb"a.Vuv:x.v.lE96^ j"ac*f9"BHdO( +VKYϒh=Τ[iM-i\-loF#DsI +نux!>:EPpjEGse0~0j(Ҥㄻ)+N`!I )#ȹ%Ν[gխ\ʓܝB /A;ȔS"3(Fa-fV׮nxG(|K3:Ukp6m;8G٨VSǾv-5YC:mKZLD&-bJ_FiKʬUhMj po䈍jKtmcW疦}PJ6GZ! lS``,v TwqhBd0=t^-cFG>.[<55}w%S8zj_q.s.T&sGk WZ#lt]ڰ8}waI`4RL)^7 +D0{أMo6}RWVp-N<"0̙|=hԌ6IQ|CI[J '#oh f ]" 21c._zL8QM+X`t]Ӧ0DּCHBTڶJQ) ݒ A˳ ̽,K_[)@3OE?.[)fPbwO_:GV ջ+=&qa3vxH/pwtޑ&6,<(Of+h钡mޤcTn Z˅]^[isҍG+ভնL@&T-+qdcRqk`[~`FatJezr9plk)1EɖQ1왹w!V#nW8hv>QXZC>ϕtht}6MxT ,1YEe9 ZZ`]4ࠋ4];^D;-d"X`>uxR>ZMȌ\hgDsջ(5lL{S7 Tlh.41" +MګTƧVu/e>BjIp?mNR\.խcsk+QLU^7ppw^D6A,D!T*NPԠ4D-XvtYe :Ĥcf(mCS0= +>Ő6Y{ vLA4%ׄWb-p5hti(D(260d6BBc 1^%"=b&P +Tb"]DLݧP^̘v Oia9V  7e8>TS'E GӋGDƹZdqf;:]Ob˞>0 (g,1j*'8jܽ߭dh-zFiCtOTmo t5yh}:$!A\2Y08M4 ib;jNt{`ڪ>#̈{|Ob.w:S +>~e=`4[9Ql-bu8GcKAbr٩+鷻)S!{mJ48"΃hvpi Brug?@S]t;U7gFMa>fw"Z^oqNZѺ@ݬ:p4?Q:`iqy(N0;hn@pG hYR7JvC03MdD0m}TNߠs*!Y) y=-5mmOZnաiv<4I:%1y]Eu'zB-N> \y 'E~x,1*:A yVZ]RRxU$wLp`^Bׁ$~61qFy!WMs_0m=ٻyj}q&ab]wD&X~›!sb,[RFr;8t8?ǃx2iaEdX]Zrl@pj +(в,D^ؠ–i#ilH;PD8߉fY`gU4XpG{ S84~pᮯȀ+㝯ħ8ȦZsp6u#SSh698(/V_nD1+BO$Px3'5@ cI"@Nº %"w %+phv9HW׳$pazAT+5\mB +ۃlX#_[Lb:*Fh 3W=]jxCj1|~l{wg'"\T$ɚhlj]oyߧDg +<,'aB8\Fh4/uRF)-aYN" #j3(g=v&>ZNy>x%tѫy cO|ӇT^^DӫnFLz,c n&1ewDc;֍=FݙL/;Wtl)DZ$J5>ʬt? _?z{Q/]<,ZrgJUc霅^=n7~) ~PzfȜ1ƻdkZ廛 j! j\rs& rFkP86ijS A+c6:S;ɞ``Wv۝*4D0j{su&/<\ .w ^ iuyN"33 I{ge.=~Kെ Jy!=u4));X.8b48xS-w\*yu߯mRvV>4,u]8uC[3÷J!F㝏74yk-[63)VNjxtIf͗qeHbalf>/ y*QP}_e EvmX$1męcwcW5H׺ZT"y76AC:`(6 D!6PҊ{G8f\'_T|Q]qg_%shЃ;?a8x^ }x F~[y" A+f`NTkNXr:ua[C`t o!;G(DUJI~V"\3+aJݩT5|3ᗑp?ElRc[ni"`t*8#Tf%#YGA S%޲[Z_#"ݫ}` f[:p^׿uk. g&6%504N~3MFyr9'#-~7xu1QmD:Y/HL'd U6-+@9N_R:ѣ)u 1NҟPsNF(rz-_ulkG1L kRn%5/NF +Jg_70FHNѥ:Ι>!{N|z@oжB֖Πȴ`tuᇄч? dSW}?S6Żas+di6g`٘aNAkgשJY0 `d5K6qMziE;?:yڿG&c^i?*M:QoCyf ЄzYjصS|Oga?_\se +5-8EΎ/M+^aT2օ#z3>GN]8#w(A$0\4mG*5 /SOo3P+u0jO9=~# +y8w)AGCAxMS}((-J!7s|_Z3' $WytQc@># ڶXX[ay ~:Rq"tMh.q:eQT`r SхlʀdAOW4`ԗ S]aM{5,ԃى3>&=JsfQ|Hs:0N*>TS[\۞scёIn (#3RBR${b>fuNHzL0_r2DW/zVUDx +XMSI#}*﷌"-.{QN:>knlbp]Ȣ%0 +.}BO;~ć8.\Bgw^#/o D9~k#>eդ@9$Si==rۘ;`mF-hM،7iGpvexWd] ɕLo!1~g3D: .SIRO=};5q;k+wVzdȹSngieMW7tHC`r& hgRpU ++=Rs0FRT d#BкF0f(h[5[zPthެJȾp#/ HNfXc[ 2:s7fǚg&G*3}FCW:eݽ9M{Xr'Lޟ2yk vIp|3yDP 򬇶l>7t9yYQx,zУeT><ܬG.ar$F!eĔ` \F+sShs󧵙8a]ӊzlZ0|:xtbr箂S2lxk)`ysd@1P4]b6,.ũ0v7%,/XCBJ{A<247ϏK%jjPx{6/Pm̃@ ,|EG7Mã\r!mE~4-»/xvP':1x9/',Z=w$qKGzlUX`TׁR]R(Ӛ-B- ?@ZEl~$Jm'<@lk/I,,D>[G<EKo'9?9{ϿQ*xϭ5':h@y76X-3C@GceA;> SaZ!&R|E9ǝ fP[8]ߦKzmP#=sĭwt\zɹCDҳVX!G)g!wX8wu,pdhRGKk\k4a7=&4DϷzΞZèb JSM- K|r +B;J b{* (CwW5/Ҷ>jJx笅ԘJt|L 4X<;\@siF@yRnVZUA1 +wb}ٳq"`_TYǡI#tZ3gY1 Ԝ^Pl0}z Bo@)tȚB-FI3,٘lȓ٤VʳƇɫ^Oiq-M^z԰ؘIAȦНWu(MOK,fA@MF#꡺oo1NF0:!!- +G^2D 95ƝU~ iFR޳4 4փ {Wբ͋eTЧ'M" ;#H 1۽BF G򴴥;JvP!u$$et8B5i)5Μ|_H߶[OD0+KHkFGz$9%Kɣbٿ}M%&-(b,{z*q[Ό,ߘ[4<#rmC8I:vvі'A){:`Cu/Gq^\헦6SeRw<]XLɻp +V)8O7 QOh#u+\;ǰ=^zSh\1ٕ_50cd1c0 + 502>')PcYK_಄']^ůhָ\C[)$8jcY*XHKR=cN6j)6m^6bqc.6 GL#$#$ALrmԤS`qc%wEK.`=P}s]5$+7!9'$"K2ΤmA]xYTe8yd%{V|@`a Alpw/Z8/tCwDeg<hӡքF.{?O')81e6n5,+c6`U6CQ3/*qw`ٿ}J2$i0}ө3N"#U^.TTf:vdײCUU&jEFYts=6fZ0j<κQ-"a=YJ|eVcЫR5:dP8ѺW8r!U5e)s|*Jy96` 4/+3rz/63")`GORЖ}}Q҃$s+t!yTVre[ϊƘuǂ4 "ɇ5当Joݎi9ہ BhSs BPjSrS$MP*s?)u&ɷiV?ɯKqŞ rqRqo!BKŲ7&!nbKlΘ0?:NPXI$g͌$iO>(庈fQ NbYQ{=){~*$DU-R RZJ!-srz0g!+zlҋ'r,[g +ZP11 +bHxK7&>M[6=ЏDuU#ꃆ4$w؄NӲWK&6 .[VW2Ƨ\ޒLc!͙cݑUVe[Nᇘi-tQ3Y(Cj~WqcQ'ڠ*{m`*9lkrd|1-1vvbn@dh +OjXkUQh{Z\4wLoNHR6sy>B8kґF_`w@mSo!W>_+9)t>~&ɲ>gٛ| U'o89(kܲ<òa_Iܪ¬9F2Q T>~4IzBr2Հ"s# |;7yP5TYE7t-k'9sJwu :n2o'5A )}H5O5:W=uc TXpOсJxЖGOcIţ٫@ R; vgMF%3Uu^II"l{, IJ*ԕr!@f-B—|tOf9ԛUD{p_FqTU!'rYE4 C#~k)PDUMr@CYDJkmtC1 RK$%)F=X bKJYθrrWF~(7{fVÜ:NL&Y\\57@gTxP(O*}i,T ˢN r+IⁱۙVܔƽAEk,zL kSUvG4VJiu5V/K]ءZ;Fr(JE?tzS)V'67`_V8 )ǘxH]g)*D=#v|D].k*L+U;ֺ1ewaeR#Uik֬ޥ5f8_ 2j>4lEͥh'ṬWk$P; MuV1$kty'- 3ij3(iӥAXgF]DsG:ȳQfƇ6QyS'< +V;&qV&`+w2[Q|tӄAP Líhǜ{ƬS"`G/5 +1RJ +AH7RG ЂQ-O#!L^Yn+sPD +ZbI #ͨiaKdA:"pO2/|bۿnmbŲO;J2P{AM\M tGPLʩ1bIXlC[C^3w`_=aSkܿ*쳵/-!HٺhldoWӖ3'ZvVD5!DfO5<\r8Hm~X3r&)ᅔI,hc 'qI*T' +12wWy%v^ }\K @j_@kn4Wv!O lS=(ԱʲkbScE) $K[,6N +l +"&.Nfɝgڕc3vVª&_̤/,Sm~\W +j;gLcm IX6lKVRN֢)TCyeAϚl^rbeQ&x')š1f3mVƮPc3+fZA8SS=>^t@E( AR % k께G>ɆI$O ?Le `4s0F-bBR뺾Yo'u' 9d*·lrU@Ą$2!d~'tȡچˍ|Lqe*tȋdh:w__hW3v(L~ГQ u- +b)9Ɗ6˥.3܍PawHy;@(9"#-"R8n]f 5%q^PK=zosDNqAe@lojQXcs5?2Ct]Pi63dMwlR5nF)J]WXhT }UJ-J(Ӆ9*ml|1 у I+VA(q">C)W^S5ԅ-u޺?slqړƂP .>gP%($nt:G,!@8$`Ԍh ` _f1%fmmB]Z& \2FEX$KSdC2ҤH};xZ]tB9h]]@#NKHC!mX`V0v*l}Mx6 3=NU Chu ) +qF4zˣͮޝurК59:Km YS NG;`Z!W_qqQ-%X|3F@G0qG|St#i98QZg%X {X}^˝a |` t XϛJkp&5ض)&cB-`zi:nqQE. _S.ٷ% ,K $"ja.̍dR1_HAXˆ31A +> ڒ>fjoؠ|)_i:F SbȴŎŠ$5N)RCLLw\+OJeE|~Z;:`d,E'; '.)2%e>(F!5=ثQtg;Fr~%2Ac]by9p}r2ý^4J~]5v ,y󏚺}Nzݢ7B/jYENbjt-̧9s]}ۏɯpX^ OmtTGQbʁ"H cQɯ|o{8iG* 3q0̅{YpfN[f^zf"/TRޱ~>Kz[mG H>MVrl*Le-°`Ba\S\2fLGĢT͆4~ dF>C+1}أ\>0}g 21ΰ:v/_&I];} xmUKw,cTir7wzUsZ{+<ݸ^/F|+Vq?Rd|gYzY@(D ~Lny[zY-oqṮ,6<j}j} 5_p.6GU-}s󞼭 b .TYhժgDT:d߼?]&)䑒O\[(^Dt?P嗵ϰVu{vż) QŞ]WM!@ ؅X;uyfa(Q~ʘ,ĝu\C%9>yԭx =>_nsK8df<یKt uY \3"G[T|9dHřh:ЫFx3;?#f~A֊dbc& }wX qHHPl M-hPFöTgs?&KO^}N:)/#`1fa̍hndzZ;r%d +&K~nr-o=FpѽigW} 懻XlA2Qdl #Z[0/qnb0Z+iH!R-blMٔaR͹Łϴ|q oR}Q±Vٓ7Tе`"z}<\k52u +A*_,1э p^'v2$q"} NaRG7{4!ޏ^=mǏmO|1e,R2ܪ2FܩUCvq#o#\/ȈpõcN;½.)*Tt"vzͳ{̟ I` QCxYvܖbǪs)-T=BuoScji6Z6yxL=El)q7\毷=zx\֓T{V?׋a_}F>`@7 f@yF?Ny +|5&0۸F fqg.“H]s +?TQj( '8_l<[sY˸ P`%##syͲ7!iZQFSp n޷1dcna&˕ZqlCoQ9gNa +%B ʌBj,]ZL?nkh#g <'"^§˅RJX>FOr'(d[ynKJTaŒ&d>-l%=u9J܃IF0g),[ԱńF|X)ѬɎ֫R|9meKД [;vۅe}a~r֖Sp ̾B 1ӈ.،m;yd+V};X|I0\ˢATh 1Q_ Z=z+w2|Y. *I_Pq)M! #YqkfwIѪRg! Qh#-rvK3wv-[=B nwD8  NC+֚Trq6,hԄN Yql2BtQ8bv2ݴ*eayp^lkR*;BV˾lω}qq[A_l,tBr%[uce ߦ/\,-`{;#ⷚcBi4vʋ)vUԗPqY_ATwAY9Akmٯ\o D;u7jh;z[x{vyψ +q4F]w=b6=ӛ/ܶۿ껁:-zYA5kk4rߜQ4MV&!FN03~#Q cc7$.WR&V! >mvJ{PoY}*>!40x#aqXǕi=MHT++q9ً\.&ɀ>G*bm>6*};~7tFPeL!n"k˷dxi`,;k.d\esv@Y'J4OM73,?*Q°-6K%Ե>}ns9Pt ڌ*nDe폀y. +e50yB2BO%1[DrD<讷¦+f'#!$6WInפ*BAԈKCoۡ+4YD8-0>Ԍ l_:){׷cKQ p8ٯn/}5/ngK="'ENO-`س +DX.a>V4F&(2_k X**,Ƒdc|YhYzǙxd0:\AB:Jq46b Qz&3k*i`.|!np变ݹD(:aI娙B_eo>qKW>HyδDg"8jy"֤}˹|fm{֨$ ښ<3$ r^mu..h͗.~ys3D1LUz^CwGq+}x`m"j5tJD-URX˛]|1]Tӫ6!m(bSʇUgw¤GҘ@gnZA\.['d1^r)Z ;&i<>QŎoooU~>2|t?_£B<,Ww5Xz} 0bAxp7i +KyYdɰ͙wׂ4 +WY.lB X i,L#9tc5wAm=z]3L#_ [Q+!- rtZ?4ZIWkO@3hClwD)2CG aDA)᫫njCm</]op4fu nnt~,ޮg]6>IA*ul~YGrKIoDHՒTE(=)o]Ŗ(iDYDM*eQְѼ[?>%K{ϢO㛺w}bݎjfm +Yu=>P53]ٚ2$Yg6AׅПNA}}am>R(@-~t|;G0b%a"OgcG ө, 2ZߧY0pC`©'U}>Vw]TYt; fZb6P&ծ4ĔmR4q +\@owE;VL-\,8hjMG9'E ?4%М*O\TSw @~O!'D9'REnLSV]Քu.1HbAE!<2Н̔ga +ЩP@4NU`$䉋-HsGY8'Ea-\1Cs,F13Yx >Q=MxembU0H+l-dũOØ6vQ8BhѦImh[FSS /΍b DK:Hn*^"x" l2ͰS ?k̥D_Z0ܑ,w=T$LV|t"dG>>L7y}61]te,P))IΝ2u7D-[HjiYIrS +o69q(NEPy>U{6e*"809)3JA)kJ-/=4UpW~;jt**;nSeU"v]~Q;тɅ~1}D҃UB>;mnlZCӻM Iʣp5C*L)"!Hl=uJ.TEs^E5sYUVގQ:!㐃D`# ~R0撈IwH*h־@#P= +́IGۖ8o,Ł :%rL ++$ +]ЊB[FKX2V4TyN(f[žSvEA\&gTV;[&TE)AN.ܔ‰N;P 9f}:NH dM8YFErx_8̱PLP$`ز=]\D{T?ѵټu\d&wXEOhzJ ȡh%TL|DQ #JrrJb^]4)hrc GYƌL{dvӛ 2)h@Th0c&vM_B=-aPԋCrE3cf?O p#("|`e*rPCJU~AHrF +m{2x(=71z1M%4PJj,GE E G҃IVlR%ßs_oRDdjv]6 ÑV؟))쌉T?M M)Iy3ڙ4D<_8Ǭ9+)ZyA<,byNɃB}5L +_sV r3Is˗}Coi)1HyS~bGE$Ag*465KҔjzh߈6,-Y:\'PɅs4xK=hj#CϝW^g0o 89(|5vPx'+;:Jxi.40p=ŻO|}`GWRآnVЋ +6҅]eE4KPO#1Nj\~4I|veţ"˧ QSvqdHbBY늌,4pwFfP̑}FHך9*A\B8EaU; cבP:0L(%Uc&1cmH?$S(!wzT8P,#PJ>%&eV&)c@YgYg7itI,OvLZym}H@KuQD`:e&%Cbu6*|a*G[OLРm%ʞg{dGMsf$o՝ׄ _a'?r7(:a[x\GL,dzٞgiI8q^u^LXLkWVB2Nsj",z7T~T~[LE8CG]65'"hO_"4YNػ|Av+!_;Jݒћ/PBCإªT!@g<<@?A!9vӐpҋŘxytk$G( Y>MvU~| +ʉ*Sʏ!!n}`rE^g H=!(rrdVI d!!.B\tym^vf< +CbWNؓܚcFNUN*vjQ,8~GvFD`0xX(  σ)YPwd^ 6ց]ވXNHǨ-Z:|7¶.Aw$BZY娐'򺢞[d)#{N?j4k]s'DS.8+}>={ɗ< zNQAgRGyMW~r;xN;`N@FZy4ך|0+Iehr1BCuy kyy]+uCv+֑C?-HV l7B7GUv脄Ɓ\4ˑGU؀ԌLΨۯoi6 `.gRBKLRWF(қ+ND[܋lT٬ĥCa[ #i W(rfӶ+&XQլZeȔ/EClty[ƠG\t" N˲n:^t =CjaFC7AV)t_<)2S-ovӼA\8R,1sOyv ,jػ>.kL=J ?"j[px򾏃e7_~m~'ǦO?գ26a/p?]8;ϊtnv<02ֹ&419gqaDNf1Q|:4_yy8l>Ŵhrn q 7K~'3*sap-<|'v=vv;:2hCh_RY;eCA6N!%=< I$w3f`;mAc/dz:+$|A=I'y/Ze{|`VJbw#]D"<F-c~44,j4P ]:,$EU Pe'd + ^gJE)6 +7i>j +wK=q\_^$)ԪY;-R2@z>} +VU?edjLwBPigԨK1J) !;$#`8%XC&0渰744U:쨩;V`_2(PDpoOK0*Z<_o{7`ڕI}au1A-gqxk-n6j{"餓< ӌ ԜpW=⡈vgūQsd;.yUj=-9n5 w5f59np(5{hf"n%UtH闒{Pt^9d61lRp&hݙýYXM ջEFQߐ|bHs~4ah,NqXQn4ÁGW~ pd`ȉ0LjR[W/Qi,x +4h@D@6N(i qXo^%NqLP 5J,H1 'R͞7,ִUe4g@6{6.)Nϔ pИqQ$kZx.GMxT`}+ +e[SV9|2섾F IЦȯ;؍zK_q!}%h](K^85NlRԈD.Q)s Ɔ-)W&:F*3Wĺutѐ(q%ڶ4vAfIkib/E(}*-^vxnFK 7ѩ&g?s|.H",İKd=",bqѸ!/uXGҳfʈ5BA:FTbdaͬQ!3KȾ!6T-6R/DG噳XŴ>9E:|Bda"K# +PeE={Hwnh1'Tta4tON=i`\,Չ\yhj>/4S݀{9~rmʔERILbhDF2uic&H ֥:"#׊W%2/-jqmȻNÙ֊v./\Tj(irښ_oy~htQt6|;tpr(FPΩHOwY|} 0~1?0]%-'sIQz6 N?nڰګ'j~J+JC;W[vY~fW%VSa.f_5E w9GtCh7^mat@& ٕH;$b<0qҷ@߁t۱ɖ l= <"fז]:9 h+AlGJw4ii4mkӆ* +4tk3G Ḱ3XDϏ'A +mxnKh1 Y +E> iJ;PxILbxa pIc JQ1+ !3y.@mtlIE݌2R0Ka10؝عՅokmM󬛞\dJӢi9wU@tfuɄ_SnzR|<>8 eulz^/MGڣw$u~%QJQ=d٢#)4C%RLuuطmZ&0#+^.0~DNG+SK2\Lh& hZ/Pm^31ތH0LW<2S)!T%e=(̹Qb{W} +HOcSJKcEW!SɨI˹u*!)#*eˡ(tU4έ=r3`SA1.Iz /T +Ҍ+*/h[MHE}OG9$F 'hCDiT6b9Vʡ)%\ezOEEr) +y6?J"(T@H)Pߗcy}L䠛B9G rӗ)5CŤ6 el`/D˖:6/V6bB>.v:*\˨efav\BRi6֧R48fkv1N-A'PA5@>ZKŀ"Y$S r;(|-KndXAX^(5YM 3ưBйϏ^lƆc~ 篛ـL#c3%(|[Yؼ\V|gzbzhEUՄ9/Q{12szr.I31edyuwyG2M1r* #Ctg&֝Z6j-V|JDP'7ȅ^^R:Bo)ƚ&A.:XLBy^D).hY h%%h~KTG9pEndɍ>)-ό9 do+9We{QBMlViSjJ}xazr8ϭ%wJ^fOρ} 9'g02Zo<+C|ăM/It0OJ U)! ?_eTױlch'U@iD<rV3%%RdgNp*w$lSj1:2ڨz@Բ'2kWCV$ZH\:u +h'zKyU8+L;5vbg"Kv(Iu!3.%CKsFʪG/T'VS#iRwKE*dyK2%}#H׹M{$tg#üD4̪I"9cS24@+S Xyz^F!\So.p/adD8V~:-ZGw$jl9g@ɛJx23_aK7b\? + +bZ1[&\7kΐ)+vyw,1?1U=JRƄ( _wf-Џb\n2U!]#GY H>ٌ>Hҡ۩C';8L(G[o?fO\( fMKcK4Tkjvܣ.s2}!yrKnat}I\i~7wE3*-ߵ,ИeԹ;GtHeį8^@C_Ѯ_ElGdb&""3Iж`7sT Ly54ƍ{Uc>ݠiuܥ`,GlEX^TvhŶ*EĞTpX>|t KuNа+7OR`V[%4 6;}LPVg{cެ\{M5Pr3 +oÉ}ցYI} *xn{*cњI.֠AWɎ~+N,[F3m`Na$i̶.ei^Mv݃Ґe*SN]>#+d<[q _hFQ6ۖ0x`V(v w _O + hju 19oMTs +D#saZim5ȈۑT$f7 +7WfylF6 2te-.bG=ʫ"5qF$5Kb{ÆA1vneHɎq$<.KXc#@|6L˄E,|dd9mB&F$|(džSMW +l˜(۲$g@'5Udžs/Mi|3M-t3$$AB, b݃Gv n +Bv:) $8f'kP۵8DJ -#S2ff"l乧ư.|nuf\r:I+ΎH(Gf wf8&,y@e?ۧX`mm)pcO]y6bs $(20d k*iA؎DA\p$a6Ny/RY4ٛbЩļA5zĀqЋ^2eb\dD6it7o$w f8e+fƱX a+ƇI /y+TgmQ܅ +Au]OTa!5I9i iف>7ױ$)^va045mD@ѧڬͥ m yИKְÞ4k41k ~$*<=?-& q}Wb&324L)0fBh!.{a+m no Q~ZzgilkQr \+蚦&s6mj%.gT5]XG<]= 9mfE2{ TQ)H4QBڒA< }7L|\4nZ!šۓ K9DϹX"2dy clacC)N+8D34ˢ)׵.ȶV\A?XBe=A-c#uRrs! 6Bnf B6ζP- ot:^&8s;½qͻ}Ԣnd_*йJwݶΆ¬d5X(6= Ůi!n)ό }ʍJgT7( !CfRx2)Ȅ3: 4_3 CD*)}!6[G!HlYRHdIR?!Qhr'v\xAlU݊ 12pP4*K@)n?(k}>spoکۘ6=KtaLgZ"KLv1)YLDXPYk䊚hPr7g`qm3~ITUPikqVyŘ*l FA/d= +\;MCV|>mjHAxq?瞣'4 #vf_^sz[kJnTBM +C)\nX=YT?CEBRŜ~[}n),]Ƴ-V4',$>D 믩g^5Z1*0]\+ĐH:PW.YyH]mx,3ōPp3]lÊq04 50xȼm"T&VKGlϳy)5 ]>y؀7*ٙ36=g҇T?Ҋ긯a:BW\ˏ +s˂NfI!ڲz֨C;u ɀ#ttVZ]km)xdvo/B6 oI/Z2GVȨ`~Ϊ¬9ρ wDHG Twq: 57+-+$ꂃ`\r/o}r4`bcBQ",_ +_QM :Bazjy,4bI BN}Yvv9O'JK@v4=mGﶚNt@WflS~Hiu]VpBnʂ~4NB0v[+ K#1+,EP&\?\7J5Cwhy{~Sp}k/asIӘ\9V岇ͻ=r%0hD?&1j-l2>ߞ$MYa^XzVG \O&`*ޟLj[2;}uظF"}R@xl`HMαoHT?X˟"i8d ޢ[ȱci>> H׼foU>{xe>c:tnqyF]>(S +N2}X`sOQRu(;B&M!3-9FV`zKqkYXܮ:! i aTNfLч2'rkk(ׇ8K*A9b$T2]6S%TN;kTh6PT\|LF^XRRB@Y2C +7s?!:n@Wd p,mI&83fl mBTb]_5SԵD5cdjS@y[عILcaz"s ڳ@RCvN>\1']M/SL6QXKlnn!n@ s&LkȮaK ; +O#!dVf̴E%9>_C)TcJR8YZDmKMm&<*c}q?yIm+{Q꬝=~|~lG|!^Ygj]jH ӭն[d-4KqMŸo v{M_=:'@EC).TT.ۢ{_xhtģ)֊|OP!ڂqHcEwƕk c }Rҡ06#ֈF`Sfc(`@nI,ͲeJ^9sД~f($l[j[6^S[r$"OS5*&2=XeKH?2; :>FtkP.0[,f,&҇}K~r Pk^ck2]*.VT9kXz^x`JWTh][.h x Ar z.tZg+kS5Ho魜Mq_!s6ji)@Gl'!uJy nMܑ~a)d (Er'؋G4?[Pa#G| m][U2(M T+vo^(Ѿg$2,M3^X$\ݏ-@E} b@c#PXHSFF + LGڅEӊg|k;滽:eJ!"3+з=Y҉l[uȽ͝CxDvqN + pX)/kȵU91`U\tX#x?C}+v[s0T-4 GR&n@k%X=n1 <6cZ7VWk/wԍy]7kofK.s0xh__4=q8ҭ-;ʜ.E}ܮo/+RWK"wCߣ`c>_N:mv[FT\) H}D.IߐߞmYʌkB,t5T\xH5SJw av6CDwn{5qȅ6UbtwVpeXqΖ n_8 [,>f2mM +RVrٻWjhS/>`P1r;cklo>s~oDɅo&uZ/0Shˇh +nb{w;Ū׏m.m?YQ +bTC-߶@-gpNk@ +&A"-8ev*A;L.v modޖeg 6#q37Klc[H3IXIBPx³Xa,(8Ej:&^m,Ѓ3Ε3|`8 +w b"F{f 7נGI1>lSgt8.xngHMmvv{{w~0n+t:$-eMZ[A(FD,v·0Z\lC.]:P^B1DY"u3hV~,Gˋť"$2 $Z g{$UCBȌH]fp^S9؀ְ֣IybB3͑3;I'FY50!\5ć-j?N0E I;WHB(}Df QhH%ꅎ#ld?'7f@ч?XASuVq> 񢎼Aht;.B'7oj&Ń+50s|$ۛ*а~o\~\l1CM~~$O_+ô?DzY@'b x)|e}6ú<>l8AHW>lRZDXoqd5xob{Bi忚Ȇv(̺mf=&4̥༩ȫJObejͻo2ϩb&+[l/JPS槍jutwu)\qda=Q +ֵ=%i0=m߃ֺ2=A睩Сݩ#8Nbl@nW됙f[ouy[GKǰq> m:ÁReM\^=,٣K4WE _|{y(c`_#6kfC )6+g^2 E].G õ6ވ;'jmby6u +TW8"N2ba%k]m1,PC8MO<Y|"GJ)-G[/4.cvK6B +OAho1ZaP9)I\W|-X]=q>@#b,F|WCwݾ]*jn&` MK`].iMW|^m-];CfLnjԇ#AK>^[ dW1QU?!TXZY](4NC,e*4JgOJqJkk7_*䒼EyɂI &UDLWlC~VSKYV z{&:5.lS`QZrLfа 3bnܐݑAބ9aAC#J8.iDK#IG =ĖFs0AZ8}VB,L#wA=/=xD};F~Xʠ7uY$1kLSGʗ1:fǬIy3*b}pJ'Mux%~+S<4> ˪/ CBty5=EE!>P}2SZP'#xw=Q֓U c +񙣫r0Y7pyTaٯ* (/FA퐂*nF38Q׌omځqMm,0!P%a*1c8Ua_o(K.Xxyi} +Vr6GHaB8`ށrCsa}'zecftW}(o'Os=i:?M 'a_ˡsK_ +%'?h52[GjY=%\hl yu^(1iP?a2:6G6 H1"϶;.PYK4 j$0p^33M~LE*h/fZ:kH ou +fզldnk~8%8}AeBm6C4MFH@'Oxw^nS94Pm= +a5p6-IYgM?͘cױ +}6cK)ĥD6bǝgl&QЦ݀#_I{ljpqF lmM#Sqgi:uCq~}ݚ`&.Uӵ1GoB[On%4!*6JSu8wEA΋є9Sd3p +.(O͂;X¢g,mT'KllC6#9`|Y$3GI4VMsia[BeQrWve!4[k%J=#u@iC}_ +'Oncͮ1_ z"i}\4`8zQBWrM0mMTuQwd]T=3MJDaTx$a.+E +9 Myan +kKm<`C9 +(s(ihE6kw?6UE/2ʳO``{dQW [٩5a&o'<ozLֺF 3<#:C˔jlJsfZ~l0J/풲`!y*)+pjYPdQ5CTAts3"L^*ΑЎ㬏EmnF鋫)(A~t,8r(QPoQWL㳫_/nI ?nDFgrsLv/=),Qg/BK~Z^V^\3IQvQׯ)ݓC^dhK3O4o٤ܷNx8EYZ/` =?|h4bىFjl#;U5__z.?8*brydN0DP5xkȆܟo|2heu?!n%f<?{ jt$ 4 w#?GR]h~i%O}V|_3s {姃_w~IrOc8yX'Ve柈В 59`_iPZq'V:㿙Mt?{=t˟DO_BzO#_εoo< +nkv哏[*KMģoqKɑg4vG<݁+W~Zϩٴnm@u^u^u^u^u^aw^Gd +p>:::::W\_ Nty9`5gL"`EYy%T w +~FEh 0N2rs᎖/OpΘx]aK}>C"ܟϓtG⦖_vQi}XYqd~f4axtu^u^oqygr^5IjJ^2y^1⃑fQ1<~RR|)?.|[ _$_I!b͛[{z|zrB* x88vZ̦yS8TcpEf"m-ƕAaKy-؉k&`QKy{omj T?#ґ-Uu.uJ[v^O nj>Ovݯ I6~fxT7Ւ~9է|ƌL(M|ߎ_2LJllv?TLi'O>3Xdʍb '`(%pӷ hE[ QZ465fC!O`_ B;S #Qcw{ɋ_QklɈp:hwu;`k&0:_;] I0yxF =XT/hMw815+bdl3ݝp +6әOf1 (Kkrg(rid<%>('ONJ[ٞ*QL'oLV" #8 ~OŻVؚV6  ߢ4"iBJ,uVՁbq +˻aF=m"='%]nMi*w>9;S_49bh~҈|T3*O˦.-Pg%rYd[Ϭ,52.}W%A$ysך#s,VKY +zM:$8Tl8<.@.xxv3x{5n'9 d9j!Vpj.Lׇ:q6sKӇSWG}oA#ಳ@M=U 4@Ypst]I}0s}e1p w*Qt٧F2'q,ޮxx +c( 4u\75Zߺ>WRl%*. z[h1FCpTS 5A Yӟr#}G-! 8Ϝ" 'hRwTiOK05aI` +[U*4c BC90+Mͼej`Dx!zq,F*:YO9B(L)>+SurR=>ԼׅSm_S*'qP8UWCndic6*' ">(=? Njx PZsgj[ڳ*?|Bu「Jd9G>9$f:Y1}Vx??]u{6zфhvMϺ'5<3+V.W[t][\ +ؤV0Q1ZX6G==JJJ+M-Rg90W;o]w̋KN,FKhڜ1ꤊu>N`~>zvte(6䍙 v| Z54A: y)uƩiB +` +VIN!,?~guW1HKPĺoC ]15't+J5)] 3! >[>M ϜnˉWSLZ%]4sS ;7(RW ':q+'_85!|NϞrpʂ:x 53#& _J hs"۔_ !` ]뷲\~K +KʗIWfP M|F]xҩz1 +QμQ@t눌NP6.fTM xG/eٗ}|JK=)6}hrh8hℽ{ޙ1Ebx KYv1w_TxICQ1Fkve݂mB~ҭ.le4G2CU5 + pY{^eͥovPGOb}JZ_$-t6<zr!Jwٌ*cFT oFu`{+ WuTzрoU?JkPLAҫs!6h*q iDj>":-~EH_G)΍޹6m9LJ"F g7ϧ6N'F-2Shp Ϣ!G}Ȳ @v$l\TS&)n1_$^!Nдcl֜kMY/n}$<5 4ϔ:Fo!,.ͯK_d:t`C拣:yRFa}k&y8 :lDV/د`A tM?\C&]$S8_@ܠRs'!itUM~^1¹UJrPse)Z]g@Ӟn86w\Y1ño3{o|R:fv|cтc!vFf>R⓱%:4x7<}~3J<%Y=)"gş}CX2b#{ ɥ`yD2y)0h[Rd( +d{QdXEI_̨&ׯϏ<%86GTvyb8=6%"bRKOG7AAa Ⴑ N`o=EcD>~%r*_TMǨhq!*fv2$:Rqh 'A*8 0ią #_&MWފ9g !x+Q?8]'=yE3#K?"4-.-F]ZkQl2R4at{w3ti~Іf-W H/(Yg͂ޭĦ|F>[ +o!iQ #ވJkpM] Y +k pWðf#듃No40]*i3lWS[ `0Ǔ L)82F.C yf0 Q7U INҭ8X;~}ߚz4I_1"jVYCh[{TB V2"<cDI+}(K-K۬ZXl`uJSVL6~$/cP̅J8!x# kB d>cʣ2=$5k|Тز}p$6D>H Ee+U8hV34 L10!T`7Z>2ò{5;2`_N`KjrwbM +t'|VįlH +DŮL0tnAfuvaI ^9/P9BWanIc1i@mFۑ΁ K"R_fC i{\S-} +jx8wD^τsrs?) O2*N˽l)AEU#ye+U]9I?k{~~J: sɣ܍>I46<Ii@ _;sB$`M*Q݊ cgRU/#R5,mjL {~hOBPac{uvS҅ӌ˚W Ro^=Ȕ@z}GO;ջi =NMց/Wt`Dz#Qi`'ؘG,(Z73S +QY3(Kq |j,!OMj5&rY[}[:(%EzKcِ[3u=jQ8TzBtN +yORaޓzm8|W :nmY7ףgj,|TLb"vJ?8"Jgs%jcc[xV|N)*S¿=?sOr,P f@||zG9 =|lR[[; ̸0o:{Ccػle@HQvgQ8x3PagJE/^:Z +T9 +eYoܱv O~V}DTF<L) p|[a㋷ş2*=Y}+,@ @dK +F[]o=G ;ZW:_=kGV + h2~VkWP@ vC*ztNbފEKS `Ԁ˪Bؠy?<q^.s 7; 4(%Y#m~ 83p(;Pq1^b#IeSX Ծwq; r)XB6)?6E;Mm]XA +ʔh\#oLN@&k׾oT{@3]'C5r)3iE(ʰ(D/kVdaVͶ,Vc;}+mdt$H|r*] e+I/lj}Ze1DqvnT)7jLpgL寪96_hZFe.5C皞pL0.@Є?D%q#-lƎ_GU*!@ǯ*\x<}o~2VF +01QCz{L>xгK޻v*&Z%& X֪׾E;–_N욎kWhٜl3E*sHoQތHsKe#^Ɩ (mlҢų[y<|"_qߓ i~4p=)- {tj]Iocav雪 |{"77M=@])9fl$c+2BB^F='U{ן࢖!u9+ϿUCa!B#[+pܓVK8Գza޹6ʮ~tgr'H)X/K%VPJv3|6".Z'ju=L6NuVJ'F%,\`<0ECC5PY.>䇢31(x9CϢ޻<|i[iA1eo9+wVR:'Iq.f)U!@D=|׋\Bk2u3V zcK\*rzOZzi_N`p\4-iѺ wnլw-f nO"~^*BDZDA5 +6 Pv+1wРۀJ&4gb_?X5[*Hwn0zWx~7-!_Fwʛ~Mwxed@*9 )q"f3/ۆӰF<%OϿcnoiX}A;7k v=m7mk\*y~-ɰssJv!)cO8.:pܪ: '+Xl|);u͆ʂ9SAlh|[x>VEW5mtU=|w~|SɒaExhɺQ+W/)sܘRFLrBrΈp`!F%>JrhE9A_Hto(R(9p=1p=={ hs#V{İ:T >Y?ۤuR>z +3ZdIA9Pz [ex⡗PJ{VǛߒ\u'`Ŋ`:eM"\tRռS|&GrU3DejOۼhJZs}Au@eUW͠V>Ƚl7ݶ[c\_κ2ift(FՌ2h&KU}潛}3Acka5s_z}Ig#$m=ay{>j}?1)J $`FXs( B =-mP.GVϷ(#rt6=#.& j3ŔL%]޴AHN&ЧG ^ɓS޻`~O tM%}݁+K-f}F4HIGa53$&,>dg"+X^gwe1n:JĴ/RqТN:+߿X{ߐ^d蔨**ipKQMjEUG0XNBuD~)Dju 섇Z6j-{wu2bdŌZ2:>%̏PbܶLQg+FZ@R6 pb*Ձg|[ 㯳r\J;M +F|Uxv01mQH1[lZͣMs䦟֖27Z}|Icem9̃A֢_|-aOǝ@ u:iF +ݶI- 6>࢞S!M|֭ez*{>9+ªT}Ȇe7ýcghn9gl W?uZږ)pÄha?s>?bvK֪4 ;(d+8/[Ƞ M% 8cZT7̧I[ +_3k&`^; K6&&<^<8LԖgm]B'j?8)h~hDT#-z +_u=1db!\Ԝ(O=};iȕ޾цb{x3e}OB3if6?xp^);+F~w~oD>F:WrdufF3T2\ +{E\b>h'~EV#q/pxFOnt(6bvUPelNS G/x[ iW5Ǥ`"K- +_[Pi1{}r1 OI[|t>ԴqӸ +>l6jp YRƓR uJdT\'4Ŗ{-OX49A* 3*C&tJc\})/ ]vݣQ{$u UCX6ܢ2ATRQ >;ZOȐZ{v|P-QU?V*|zyքr^҂T (K%5&,VX%m5h%p3R[*AI"*Iv!rLFT{nfx檈,Pa;$#dq5n,j,3 آ7P7JDsʥVSݪ$LeEV&.[-1rh%BXɷl=1|n=>@ɿ0 ĪŽj;pHyl e9Ol]o((8hWGVjھ#d;K\ﲪ2M_'m_wwLG6 2ӀNn! +$et +P#0E/W*~T>*dЍR΢Ya+wG3"nہdE3ڜE{\J7۾B5,Y}n1yvTAAvzT~rEF} ɝaœHHۆVA4MCQKxsȋmI%`q{blMl];(;H +&͚H疩6ya%ԗ^ĥO-[>yIDxa82>7F=je%9ș޹ լ22$mۃ%k []W2$9ٰ0UW\Ic1>}#'lgƻ!|Ase(= -F1U9_>j ʧ[V! PzC +>1SpvO|bxK 0C>D3sّ˽PߣiKi@m?TL?#uI)?N}?n-5ρ ąA)3w-VK>Xؒ۔3*@B'b /gu'߲pW{b%O ,/StKY+*ywz=KqE7AjWIZ?٫8V-eZ[mxcB)p Cе.2-tVwyM_ n*ի&isb^~o6q:T=&?w# ;@ ?=$ýמ]-H븣AwR\SL)BUDxVYu9(sg'/T){XuLX~Wݲrd6ɿIS>:HZ/AkҰkMuyy_{w$?ϔsh\BԒ ) +b'!2!IJ]QS.ubkv]珷o>oU0{vZm{)$~<Y:R!#:8 p-cs:iWkbH{aJe9t;*!R4d52*槩O tx*e^Rts^1}kt x2l^Inz< XM4?Ln]- +L wa3"T4us'_JV$;QէZ視ȯ֡}K6Zk7F!$lR%Ätvh`F= $g5J@Q ]&ml"Id%lƑE}$ L&,`!Ѕ#Gfu0MvGQ`Pފ;Gx'5$A,b՟!xh,J9OH-B=Ƶ#AO2}JJ{K;cfuSoi*y#㞊-Dhm^SрuP쟖{/ڂ(CS6wdjSoj`:n ?B"kKU {ЉI}OUI_'T\wobo)xX0s,jw7ʍh.rnR\!e"i֞u*}e#9Rt=Ɲ^2jh7K%2}U5;XW֮xTG,*騤3EZ[8{S)cm{нݻy򎶌&ydQNSO>?8:U/LG&m~۞Ye^(ꐳƓzV#! +&ni!SG]Ft U@ĖNgBG{}`J43a&r5@XŦ:qHKQ'cTb6_0Nm*H [`v k<8qg$aMSC-OUM9 ~6ʡOaūݤ:2ja7żV~|u=!cRaӵ% wӄ#p/Gi۳6%u LTB88gk/vl_4\b䨧wɧ|b z}S,7,k0J%o15ߚ벅%}vDXP$ڤsߏn >:3o`x[c=XPNcP1 뤙*ZUʆVA T5yeYB} 9̬&Ue+ЗY AZ!s\s菓szVgEhd_iiChrX*Mڇܛr[WTIz83Pp)8e8jn j-Lk%j m3(j 4(M5 +6R,kM U1YOwJ=,LfԷbc3Z2LV|Qw1Fzfb?;=]*@3<83gk/}rưQzsw[rtSO<`poZ@#NպxV!I,L1irnU&cu4&@mB>s* gVi̓KsPt6:k'T=: 䏝ˉt4T<: }i|6jS?(bq򀾥 ׷HJxLTxjy*tOdXlVҌ0=5g9!{Ԣ h^v +FK T\3${C}.r#@=7E{ l+w +U˴ᔾiTa^;gљ֦\w +b(?j`mTùD4Ss8M33 +S`j(=57L4˫d9* 5K}"* +#n5'{է(Hְ-?<sXyTje(-|q gy.H]`g+3$w$dg{勣M+Don& 6%K '{U-G/ <8Pʗ֩m8;v3IfցH8XYfJ<ϼXH.8 ^ua2x_*L%,ZYX-̊]#_Z5d>y(Rx!љģ)Yft?'lΒ%O +CU)w4z`ڽScP*z%{Z 퓃s(6&؋,Ajm&Ъ>;38<4'"tqKb&_ؖqoBҩzQsu` 4M;#d_>MFX%߃jy*?j0?VR*VX=l,EW?vCA,#::> )b)GƏZv4hc͇#2切΁bT9:q̭w ڸ26,6MG +9<3h%ShNj޶OYd +k!ȕd)$Z|KI4jF7gh|cFtaAjkn,M=[wJE ?\,B318XRlٵVΘ1ѽzgiZl'Ȭ1&KV4EBEǵaGNK& %鰻j͐gar@ ;Ԝߠ5+[ +!Y5fs@sTKP,?D($8+%YW: i9p6V°@+R!?C,&v C5mk>/i޵ƃZaӝCg'/,oj,$fz*sf.,je?e[kj*:-@7g{dq]/to& 6ĻWXR`+!'RRR 7uCR\nhh'C?u^ͱvu[:0+f?@a" +gic+F\E>6+MinUWnG. ]7G9cu{ik YT(p8gllAdIQ +.Cܖ;uDM5I5)4ic!s}Z[_\prB"-]bW?s.~nT_PO4 +IF:FP ®!Vm VYL`<>6f*Zq( _҇ci#u] +*U֍N]rdM Fڵ cۧA x؟[ZS1z5@ঌ^ X (Q%5H +]ŗr}TWIZiv6qYtO9.āK%OpN*L);9S Trrtpi&KW09= (=8 v]N^3}ʠ(xT;|^PD$(_U(1Qa7\]lA/=ƺdOƅ;2O U,T +BűFomxNYw. 5JܢL<.QHB4We|L\7lᠲe"7 פ0Q]z2,ybN:~qx|BI]h{¦1M& +ԍnԿB^xP)c*9DE蝜G8 ]( tiǤC)Hɱt8)I4mXߝ*lK\9eޚA֭p"vu! ﺸXN ʏF;^g yCI]͵[6Jd\oZlӝF*` 7+@̅%"'( &k!J]r*&Y~CLwjBiN;LE [da~131@рf??AQ m@D(FK~uO+uSj&<֛JGz*`pOKM׃RKu 7K#o vMsLVXY)C]D_U(=pPb'xT?yQNԍ!7av,g˫:K@c͘Ibx:<|/;pd8,WSG*fa-UO;Y +>iY |yz/[`F]*HSffԑ`{5" mz!,S 㰒~>A8Opt&ImET4ʮg^jqMOvz+M?`JujԒS;.X: **5n~2^;d} [肑u%TvB)D'ZѩL\M%@C NH3gm%eУz"a3;*v}*'5i9i#WϵvLŘ::{[@4;6|*CO-gk2C[³A?=ٸW ɣZlnF$`v|h1MB'}Ɛkm)=r:vZ޽Xm{7(Y1Gߛw0ϥꅼ4{ MS7KldPYĩ)&wńui+WᚫD9󘿷RB=\Fȹ +zbTbZ~y?UvRjd?u2^o'3`G8VW39g;G7 +n>$ ʤS=ة`;襜X7B!; }9`< +xf#6!>m/ɦ{G|dLٔXP@Բ%&jZE˴5H%J5Ы߈|0^ 5<jF,:ՙ̰ohe¤T(h2=e4`MB0D!ŽNW"-*Ԝ`>,{TQB:iRE zЕ +][F)|{=9Flv<#,*+p2W>-결K'fa?*Q`3Cr4kzeSU8T8C!楡 +M'$\즖Í[zc@ޟbV KrfHQ[gj bU)~ba.\H Tw0DUΤElzb慨ɭָCa.A-ں2PMaALLE"3W諂5TS+BJuc![9NUTI(g߷&f a#vJEBnBCh>W2 QJA}Ag;kCq-zE¡1u97Íٮ{3iau +)ijb^Nd#Mj΢#0-%L__ѳ;C+*KiDՉ3u>*>#@\!bR KꩶrΩ xfeZ{&lo, E˗WX:>,z]#4%|Suk/u#8kD O4-d6X-ZzJDi :wD +Н٭awK[0!a`aJj +2X1 Tݟ (eY¡t:-nRp_õ}oKIt]_紳W&0^eCWπZ ֆ{8dg?VT:{]uu׻x?_.(.ec 3ճ#_ sT-|q(kNI+;g ?~#W'۬Ż8!\`5 ~*c_^W(?bb^~gU@tc+]-ӏKK^g*SoOYh +̩/{A9^YTg(ygiI >ogF{gtX guC|OP9$ ,7 y?m/뜓Eg"B|!8GMOXܦO'LbAKlq*o<FE;Cޢ;K"Pڑi,K7脲'G䷛ypoC?9]`CrlץT;4e>g!*^Gi ^;l<ꇯ97Gq͵A:D~ x.MV,F^@φ'2px lU'L|%hU6# Hi,𼭋>f*rWlG~\XZũ ^p?lۻƿx' )/"/^i -|{X>2'Xv}(Ӈ秜_!5. qF=d>7 K_Vӯgp \5e[Y'ZԼ@hùUo A>j: +eNP8]L j ; >X|+ߞW\%~?:@Ő*,+?;EyBcG +x߼b\鼷P[ǥv? F7D]7}} Pz}Jmd(JRN3*3yƷ~t-zV)>}>x{Ydj\mS>:2̡Ž7ʯwڑQNr 倻X7vEKFITxe=,OdN s$. +Է?BYEcbżxssnCW mxe"Q?SS6.HMͻח_h+ u!vf_|A8 YT,g(%z.gyq|ʬ: {dQ-DuU3iOW>{Ax@]S-os V;wDYQA(?}u9]uJ u|`su[U5`A. +A +ODGdJ#9%!Mha +Gh'#5~$9p.ۮZbp:s= Dz[#q kRx%a(<(] +Ԛ}^SWP5GrNule_Аz(a]'o +-ʻ E)mzx￑墵-kK\_%oͣq8'tvϻsXHʠz,h|z92a Hp/ATVЂZRBL趝5= ٢Q׵sj5iv>%Ƃ2:9~Dr` -޿:7CJ15 b@fMPEo c'_IS;Hީ=UR#r6p`i* vK{dRM8R\RPݽ nNN1԰BɖtfS;E4|VB.Ǖ(H yc%`i: +8^Oűv3n"@"!TZ x|X_aRhPFa&| H +@d_XMc䩠Z,-Uy:<0RF!E8c@bdL @2ZY\s!fv!0k=!3T7xmiL!c,͉Sdv>ШTή-י2;ÆO> r0C+Tk͛ X㣲$1{`3/RD_?(d(hca +6Ixu֫1AE䀞rd-W~jihĕIᬱ2`Ay0LWNqg븙9֮)j>oU+FJ9F2 ^YVup]q%Vd# IB TlljHQs#Nώ8`ZI I쨐pQъ5qv +,,T<qWD=\#gm*RmԴ%Zh% <"8C$*^r$Աn8 ʖiGR?c_01bJP:qD*I͸͔ԫsBRޣzZ`VqCw^iu^%5TJ^hi']1ɥNmcjQ@~[[ e>th!aPK8"oKUCvحt ʲUi1kXCbtqAzY_o-)TSjD{Һ*x]?-4*|c29(4uaS +W{؃_ˋBȓ;ء4XA8B݀j- RwCǩaKBG,եpJPLB5|Vz\Hpٰ9:>{ ACjF\w!vFjWtiaN 틄aEc)VS:%n‚ր.~OB+̈́&^a ɨnAZ;HƇym>kPHSAf4",p5Wb@IuR7Ka̻#xP~SNZzf?wV1aKm SB?p/h2.%DTBDA3|Kr!N5l#pڂdWkJjU&H7xa.f뤋S ޔoU˩ +W=Bյfދ_x<*E-/Pq 7tim*clڒ!PHAovG-P1@]#,NY*\; +'8ۭ-JxA'l~HN5}Π(*5T^VP)ihcr CTӚq Y㚈)QA'B!-t+U1c;;mNaߓw1p.Z׌0+ .K7%?8GXŐ:^F`FgMHcea*Bw +9P5^uCg>tbs= &|.vʠTT_JHbuT UonOLmjaנvv}aAbc5<Ď23aXQ-r{+~[KCͰJW0HS^4N]a[9T-y]&6搖G.! +uGV"5eE5^d>N7IB,cqPKv + 70M_Z(yJ) %my'N y}`Z\HiYmYn]-D}"PkKJMںͥk_jҍrSP:+Z™{$H! +7B"q4e O^K9MYcZgJW +`x^i~Le$rM_'zL/ +lLg:xE ByW\{fv]٫0UTsOATZ3t=ħ3P'SՙB%gp}'b{y tM'߽%bYD`?=ߡ^9K?u_ӻ ׼^E??:J=m - n_y-8(\4!;1s9Eh>^J?uF߀rab<C(f\2;ܢF2"9㭽`L! Ɩt-nڷͻ%. k=4xHMЃ) +N#nt=fI^p:aWo’yV*6wy&^bY%tB +ZxsHMf~w}[=qA9Y v +ӱoTpU)$gJ;~/.瞳//u%*bOSA'ٖ#5s0Ff_ډ.fH 0xu??vY VJk=ѪQJXM6Vs{ԑ[Y^ OQ&g'v_1m% _'J\0T$idt/{FI> +C佃6*hD+||jvJ?gbGrƼҹ M+0AzBk`Ig>e +# +8+T + uޢ62+oNTeS6+#ZC<(PJx~|h ^eتBВ-OˎwߟS".ºT( +PPYL/0U^p\(oЕ DCeDTQps7kn[*El}[a]|cG6Mfr|e媤^i&8g?Mpp:3[l",MEJlimyC +>:dtˊĉ?+zi *@ʆCG>mRXcH+ Jsa"|CؽdDn\iÕ)a] ) G﯏Sr* s&i%Gշ7ӹHfJg*p\7@^BDi]ݳCM_oGUQ0ЬrP?}Exmo t}c\ד*_`"ļ|t|Ȥc7+.rO^7AtZi/)̈́,n Hn@UxfŒ3{v{_RWrVhQo3^һSJ4^ݩc'R Ǔ};Ǥ51$V+\rHCmM~;TsqǦӖM7=2 +NOW#챱ï?{)mWL/r<ϐM|*4@UɰhIWBiN̓JV7"&<z9%-ڞ[=ƙx?k,\&Vjd`Qܙ zA2SPH8Of'ِW 'm2q׹z|# +%e% dαB~ -Ʊ][}A*5E2h|4)F˔tO|yA [rek2d kU49MVL,Ш)]K/wzkF@>z!Q=+{ +B`%ƽ;l$C(MgI{9"" +,PָuiDC5@ )ǽN!+xh]~1w:߭)4i ~%+9RK_If^UQmg5˲a+yemhöLYLplJMT5H[Oۄ=.s2Dⶶ(e>T Л'W`[_Wl }Rh^8JLJ K6=U F$5$zğ|;H[ fۄ8F |-2H իv{{*a){kYLS*sy+$GoޱN]'Z\0ʬ` +#V X;W]Ѕ b퉾wg]^߅eqJ5n女KnjQ˾-;7=W_t9UJCqED(J0Sԅ@7mzi]fHQhskV<"ñ͑sZqSqCi]j㠔l명#X7 ΋+:vm-n߶*lMN[ZeUtgpa ۩㩊j"٥`71O_d<7뎍 J5--Kbj8Ѽ*!pg23ߒ|LXqs9OItnZ܉r_.^g.kPS6Ke-LeA>t`togp{F1e08)l9d3[ʣ'Xv)o`0`h)f1]%FO6M$krk"fb(×|$B} +\嗻DzRU'KyJRKլ&u^kK?.#ф +W}=" iU=&Hʯ"-gU^,`i O;چXýU'g^#r'cv:q.<#Y-jv.V1[o>-jVb4*(=)YR{"@[ cxVj Ylk >r9-4Wf}cq5iLܷ )fr=J\F4U{a<|G諒?&=*oQ:؟ОQȧdk)>c+.K@wjCr?9Ǘ?`Y8MOf+hQD[^SQOl͐L5:b{BveKubǮ*N7fOBoߩP-i +=޶MY-(TR $'WW#=I ЦT-IixOgL%g.ѧ&O5􂝴՜Eڸ|{|Cz.fYL⦺%szH4 +T9ًDeyZGMM<|0R)`.doۏ[E5KI40tB'*_ OL# +ٵd:e!dv .[B%LWMQkbwpsǘ~obQ5'ϩ.E?ݶBujpA~t,„, '#74&50|+  gm'$v>}U͇54Ay=]S`7hJa#>̠J (hNG˨Ppm& +Oij +d#DJ$"貔k6㷜w}p\" +Q +af0 +惄Kmڣ;Y09u!!يe!h0+Z%I&2Ʀ)*E(gARQmTڹW 5J>YX9V`=EVQ}q`Ó1[V'WK =V%u<J:w5ĩ)- ,EA6 G-szTBq)\ n2ЀYrH2rUs5jiŸCلr @u aޘt)2"F at];NPaf8(B[YO1{"z$XJ cqbL1XU鵉["/vPF^Ϣ5'e%DM+aGެDe8vUvY^ek 2y˙w}dAz\$B&UQ H"Bt5̷16+ʪr`t$I:_upej8O*:3Qo2m~^~.ښHU@[LANr) :gJ9jܠƒk .jc<{ %׻ffQ;)¹Q*ːEJZIa ȴۀ'UDU#VfPtkz;Ю#ǓJ|=Mm3W'볰{i`K, S'MU{0I2M*,H#]^dso1#C1u.TK}sKݍmKjٟz hL?~ (Jg5gAy 􆹓6i鷦r|˒UP'Z +T -\=.⢒BAh ѩO {>k+{YIJGI`  +FaTōW^20{ISK\SPC~Ib䚫f T$@jq߽(A$C*n5ˤ-u16ݙ'fAԘ #gIZRN +,6vi~Kv%m2YDhgAvyKz6ѣz +>3A~j3`QCp]+/EOoaNM/\ӟNUKho "tSh[>[~wVnڦY+5va ÿҖ\2I3=Ӧ<=ԩz'"bN'9;بV +҅^ Mk=gYQ4@y˼RHh+7d&à2U Jl7-[GM|FʫVƭq: foi&1W2@ZmnQW|q3ug@*}ŧ5+blI3}Nk=ºsNMa:ði+YpW,j`w n]>ZxȴԌ@S~G 6f ԇ;*X +I4t-B ՉUyk(aO]=|R俢׹PPW U+jc;9fHE/1ʪ%{ĢI|ݎwz4zPmM{n]k@8{_k˻jU}p bSMɂj]0pPxؤ!N4?p}:Fv2Wb Z30VrPuCS!ht΍Pҧ,p W(BvK eMBb-;K0m+d@D+!7'am>K_B.3uS]>[L{bβKay8xjρ"]j<=1.03~۰5pCl]7OѰ:ig}ukBh}|50G@adCL̹)E)j%E\gc _f̳LtCAt76դ]Z.ީ~!}/2$!y3>>9s +#>g}L74͛ؽg!x&T2(j-> 5)ijB˖3@ml,>/mS|Uۢ!DL{ +'q_W4V/NnNmv[N83_J%8&Icg~i +o\u +̗/Z54a\JY#Sd;&W薕fQ æ=)УSפ8kp1,5z8]٠ +3KCfWtai:M Kf+qv _9 n8%N Tzoeƾ-Ԙƌ;H,fSa=\@~ e-$Uy ZX=D,ؔC#.vEVrh :FAfoeb V+@#&֍A ʰ:pwnPQ'V8Ak$/.splMJaW\? tp/Q7߆>r!ٰ{JеĔG7 QIف }2GI?97pa{[/"Ԏ[kl`AbtOcNS V&vSB8=ˮg5N}jѡhNhQIn2h׀39"ąʮ8+ nkEIT3}|﹂1[fن)Rs)Xk7VMF6n}ĺ/Vld.cX+l1q` += 9h_WOsua qy=gnNmU5R8tv8,F"uInY>1,pf 6mj"׽ K,]${6T{/};%X71yR sЭAO^/[1#IYV71V lbX}'g6n|℮՘# an\(f{*\n䗞_{sJ5DUd$% -g[hoI%cmqRU6Gep4Wn V-u*|fHҧ}&ջc_Lz.pp@&bu&0$70 |b$ݶi'$F62*u3#´E̙̥uPhVF*xfΞG,j߃6F0kA9) p &'V,(pc`:K  'ջ뉧NЂx=T8GmXD7DQZcS )RN ad2Lo켪jIU%+֦ f?R/7`Ad\3&3OQl_w> n`݈3 +*,Y4$N?qA9a-b!>2tcΫx7{S'^J Jßtۢv$5oi/PU$fy-<̅`Xe bȝ3Pnw&t9ey!O@<]ȷ☬46󾡆6l7M`e{_PS׍Mar.#U4Vq{ors'\ԫH2/fv)QScb ԂBp4OK'@ WK +au8ŐԂb4ZU:x-\$ cvn!hAw~z1LK+YEUDXV'q.hh\}]O`GLlɸB /s9$:,1K8$AW;f\[)+ +ڨThj̆Vl3JX9hLvEm-޽E:-"E%F=+MTmmAmEIvo]ZU1'wC:18cn\T jqqeU6yA RT˜1{UZ11lR2~sa'+0:th{תuU_+Nug`OdDovv|缙Qe]<+9v\M6P4y>| _βa.g WE) !4;Dg +x|[q#;wÆ b^D.AuCOZD20zr\ +*ܘxc9f \Lpdiٻā NF+BuYԅ>5]Dyz[I`y}xq6tBM A 6&rkG% -UwTFWS8 `%q'D<\*ѳIuȄڇX`!XK-kNKp@rCY å5͘XqUcvTvBՙS|zaU#Weo`{mU\E&df3684=Re-Jx+p$B7B%4r5/Vv,/ qei VF+j|^B +lgA$KSabWp ގ'yn4Lݿ"ɖc:Dz)OH渼5fĝjɨ~dd,9ȍQ~prb֗U%vG90 Vc7$B_]3`wo_ +ࠅ.ՔŢ{ۿI<ajD`O ti7a٢`:(*qs<W5Mg%>eH]Q;q8:یF}Ly(n7Y9?y[z wI'mv1jzr7]=MQ8zdoe 1R>pe.˘5Kإ=+laM &~C_p|=~p9, sC|`JoG;"Y*dž兝:M4SH\0*)6bf^5+]c,:܆0Cw? >&Nrgqw(]s,A@6!<93S.>c[~*%jZ/]Ȅ~5蟆)p}qg&"KԠY|9ݶ^!J2ryjrl7نƞS3?+Zx\wr4Zw74BFTApjwSgr~huHb1̨ݡ[oQ0їAd~jB ##+;Rk`PPQ)95?m;m Z6kGv²'U Xq=.7Z`ozdCsGq=[ٶMr\G7hшv`Eyj>B\VBPA@Z^)􈊤d?N/Lu="cw!W2L2ETJِڨBtrdfBKJܑEbb`V8,khCڢ3[s'`g460>HzPqr$''u6 rW'F=C!VuT/5KR-)6n.%ֳUA4xIχP)mvj4.̀/ ޯG*X$j}*R4g%e'+\ʝk'e9kKa*rg[j:|q ΃gtN)S51ޡL#$N-'s^U>Am 8R)9)7?m}*U&єL&s8L~y||tm\-6NRbw]D/)dZTВ-K @Cݢi5t!۱'NLQWg%<}M=}JOPreWWԠ䞼SԶ#3nDOJ;zK%ơ}գ.]0 o9]T[1e6Um]5ޒ Б'2#*bsŀ X!bwlvgg?=MKd5,H@Ekv@ӡALE +4jJ<՚F}gB uo|U}(Mr";준7.uNEEN\ForLSy>R +΍W)[H +Wm)j9ڂӤ.5자mΰ2sn:FE#XJ~EU[:W7=oslu /ݻ_S:{ `$'C%σ p) z#1y1Z,]E'OʛgG$:|O`,G$XDЄpYE3s)rUbZbj-vPNc/U9Ӟ:z[P0и?4ӈ!<:`''5~B8aPW[UU).WYNO%+?_/^:KZmn-xtqް婀(QW#vs4@ y)ct~?u" U<9Bs͐plB%D*4r֧wgQ$9:]Ydc\8ÛKU> )둦7:EZsCzvh +h95xӣB*z%o;fFFJo= ]QE#@p%fFΞgK^1qBTc:BJA!=kg\ ,+R^3߲.=`[+sw|x߫͛YXp`4> -C_6wwm['((8|X+1Γ[GeymJd+CE@" <1|kN+ O:l95&7?*:IQGȷo_HXRA9$̂SN|:&ÉyFQvڟfybM]yC*6'e׸窍'⣲\΋Y)[O4Y:%4|H39е9lޭs|8G|B$i\T.sF9jw}۳ eãr _6]z޽ؘ7'}ȇ@50^#厑,56Cռy~EPئo}4KxM?}8K7LEwK!}Fnuɥ1$WD<lxv([#8$&;8ߐovVM5jvVY E)e.=Еg RʱX^O ܟt0?XŽy)N&hX!Lz G?IcWWmA;c@.5d:&VZ× "$-t`hFƫdָ~Ǫsg;KupaCC>%v'TIfZ#݋vZE{~=%$VMgk[`xHgҴ0sexֽ:`G"F}9p em8^X@1~^;݅N'eV,~ǔ0ϯ +C +'^ݦX=7ہRxS1,k=2XMbP.v߻('zD#B<;E TyҁoT##]1p9{U>0x79lZvzd2whSeC@1ɸl J՝(4 sOaejf(ԂCgfU(C%239O]Ux+)0=*Z1L%F$3ԼG;Te24ϖȩO~|: Fpw^|X,fu2La솂h\:s8oP,~ } ‹R,K3&zRiE1sբ,-aew3#dt°VC%xeTO9nQĐjqe|(<^̆{P+hHlPxSG|Y, bt)5*f"cXp_Ts>(o ]YS9s|^hܤò@G0rq{!?F8|7cu;()UI)8lo0)9ЫӧbgGΆ㨷ܔ,9+6 d"3;xxNm8|߹n/iP/r@& 5˗*pRIӈ] xb'vFM01]ڧp :|n@ =Yjɱ:iӻD_)IE(kaԁG|@ɕ)569}|,I'{qfMn;; ؋8kC|8T&1ݢ||:;'^"ݥP>]`j` C@g4Q5m話E#C0T%D=5&Gi<ҍ8X(k9wީpO;9OZ2*<&vI3'WBm5 +}Q5N~"_٦)sXQ1kԬ`Rvo;0lUX Hr*sE3k౑ [7  χ܊ҵXV_cЍ +U,[,q+yk [l+|؁Xj 1 @yqx!ɳV\) +P F >cl/~GEp{-|(|B}"9pND/WDS9/nc(HOr70;?a +͠[m:Z"9{$ <8-fكg&՟Aq#;(ݎa8(KLF{ޡUo*g-6C@Q7ӊ"0^f#uQ .ZX SwamEfQZS +mKh +EDRwB"Enaw >Y<{i2#Ԍ#c+f[5BnUc`ΐtuIء[˵g4&:@1nfαhP =& ;s4EB))ŐIu2*Bxu \_Jn\#٬P+G(َgPhs5ρ**5ݝ#\3.$8w_\ITs{,_mI雲 %n=9`RNaܜ@ ¿D6}ز~@QµcҋOr],  yrGyL.D=|)Zvug?1:~X4h`m@=eLj3[&;-ʹeR ˂yWDqA;WijjLrob1 xTeࠬ=>Vn%anQ2 :iWJ%1髬PFFK^< Z]]\-ԲVf?!`Р`o/4hԙt%3;+Z֟*%rȶ6./dnrΓ ע*@.0n;܂S:7[1,swĎ y% T6 n3Vv橽9An0jR9f0I鰒VPŒڇjT3F{^倃ɹnk^Huaet͟]R>eڧPo6w~ irA0K}rK'-m tEHW%dь'C/ҪQ@lc)bbH@B1VܹoCjpv_anNX4-B ]g]NWeFnT7كWmfFڷ +!mv"v:Cd+5t4Wܷ8RږnQb: JH "n# P0.CݸT& +q79qp6>ϖ(ǣHb邥SMl-#-)Wl{RsyFiݚi`ju$g9d?aj،<ϟp;1E2ų6'[r+mꂩ+\uS/-_J!Gv- 9Z3M|&B/&N$;Dnmrޛfg@6%V7&Qe`SaKCѺx[\bCK26!T/Uj܌qKe$X0v\XDRӰ9od17SD";OʇFjV3jW4~Җwl-}aЗ+i6 1'ZQ`*t鄣5m-xLZMHR6=o#]1XݝcM31+]li?[-l9}w{7 -mu}\=[1m+ +wH8˂-R[)8Gw[nbos}7j*!0?5y`ٯv,.*5 aM לiX^8֬]z^Ż_iJR~[#GY:.b+!̱W=gʍ=s'SF!j3K)n t}%k +D9w(8tXx v}W7\y ЊC\~;3&,QHXNr%$\j>S޼ҷ%/q<eݶ:c{i{h-S%dѥr>_){׷Ռ"(vzA0{Qmha__v*"qjE]XH/s-q?l0 "chEtՄAa+K[x{sV9f&*=ea%!hs2@;o->ZpnK%h޹ 4 e/QVx/JX:!v|Ǩ]t~j (-R(WYiLޟ-okӱ;tw9Sd̹%O[RAu%iUv0!cPa|x|~{ ,A[yb۳ߦ{\-"'ST>>-,[dQ~\ dZj*ЄxvGAdrڵwb༨N}@4Ԫ`jޅRD7hf8:Qka:-hV˼m |E iR)BC㔫۶/.8kh+Rqs#5oZ#3xݭb{ :IճS~~-aJnj7'y N1nV +Ӛ#ϏZIH$;PMeZRONnb?K69Z*5%[bH!e|G|<(`<)xޟ5Gcw!Z)uǍVɫ'G=@zN.n/Xg4@(gn2[-I\j/7)ʛ3='$0+PoUSieBSl=l:m|bY5 t|0`]˖_l=(㩻TSqlOyaAT1^ڟwrioKee&ؓQ[?*FUU SYw%^7bk8O lgod绚4[`)ũ`>{^ghB]E+@ y8?2QRI Zâ8 +>L&r-@_B +;QHHGO0#PO.R8NJ{  lF]_q?1s5۪hYNmџ2Wa x<Ҳ}4B٬ qOo].k˹f]KX>W[j~_ޮøU;b+ ^ ).aF}6&ck4'7vrs$9Ad + {aMG?t5DWڀּ^o}1DcP+{jBl_?H7Z`-+eP5RҮ/jŗt<'v_.mO,'ƳŠ`=jϯ?i=mG!m:*ʫ\ݸ-@UpAkDЭU[s6K6Nd"\3LJrHZ%x?6~X(a,-f`Nx+/{!I.HcZ}v?nk_ͮ6qrV .q۠d~x)HռG_Y 9mh5_ L֝fWSԙO=ChØD0l(BIBxO?'\ - +]SEDa+m/>#nkeFÜ<]&hn{dӲ:8#Bza8\DX)( v5E@cַkx=ƾG*zEg/0 +W)$d}d1;'Xh-)ۍ-.*&7, +'PJSQk61 i5R)e9t:^oS\d9KqO_޶;8G+Z Sױ41x=so?BZxs2%r Pf8-jȠ,+W{uXgk.Qm!oo~wUl7Y}VZ{:&A3qw0Uv,mݾ/ޣw=-$JrqzC曅#K6^"KȏDhal5}!jamz#NDfY]7ܝC_yv^J3\E ņ⒒}Sٍ˺tAz}>ps:>ǯ_﷏- ]hmp8*9#[igo?.5<(xU`187^cYppt>f`9ݨaN ,$=YziGc[Y`eDXFZ8vQW=Q>!^M(:"'k>Ҏ$]<1Ǐo<1xuF˔|G[FM{FZI7?X'9(lXo!ni#n_;qr>d>ڿ\6ZC7uPm9-c!`yQMV{`![_?1{QD=òhcN8o!CЧۙ6F| 9ۣ20PV@R7l"q3wuEoI;G*= vqbSZ" aa[#EȴU|.ZգtQuu0,ԩNJ[9_R#5ђD:~߮i$BNz:ei٦rےO?pz;xA #/T'}E9~G]$sV#WHN0 Ny% ?A +ne}2TGX@`<.`ܹR'r^nDzNO]߮?ufnglQO5P2$"Q:oVXӊAoho^N`=A>Br/'ޮ{fݩIÌ&Cy߿ݖkbpI ;͒+q&!؂܏!J];jMDx?.}ۡO=н?MLQqaZN{2w-Wɝ5$~kG7n$f%%oZuOSK&U*L{t"3馄ft-PEzae ]rۼۿ.?1}~LT~)Q5oӨ6:1{_o?\R~L[!0l_gC˶5" +]߮[uSf +BrȎ2-="2{O[Sm=HΚJc-hJHxǢyQˤ\a*iؘ4He`*mI{\3!xkmVʳ7&ypƭe0/nt[%9k@!Z" D1c"-YzWEY%tFh b)Gm & 0\Dz&zAL^2ckn(Jda}('h=#wJP2J L$M +vV]3ˤCC.QwR׿H~N.HS[Rr>(7@VaǷPtt} dG{)^^NlONLFʟP1A$%ZTZL/.?~.5{L׏7ctAGZWb[4Vq;#.=QTFopV8HYFH!#l$P1ލEK^I,AM-w%5 aь2Fao A–^lr"DlU.Gף%4%) J`+}N5m &#Qlsl |ݲZYϰpm"4JoY+CD 0cf(/6\ѡ~+^ +zRN;r =qQ-}mK, ['`}4?Zt)2Wme_7 +$4.O3Dy)[D%ZhsaQs>}AKB1!=-}Z68_a`C(#w>,{5o)f,WK͕Nފcn-KPݳ҆򓭷yL$iEc CMY,Mȟ7|> +`uVފuB+NK(tn3I"8*&.ح?sgJ1) +ح(w> +g6yǮĽk>Bژ-A߄C)Wma͍rP>즨BiS9G&y"S'g"f"!(YEftC*5o?yJ`&T ^6uF8ʘg蟚y+_ sQw*u&c@İ+STlj+ߗ<9,~ljHxH>[y[1jӳ7#5%9=):!/q.E,Łs;X~\`}Nmt۽=>nٚC^_?ؐCo:3rW^h/#5Wia*՝±dx,x`G +#ǡVX-N\ܢjڙP(:XI =3_qUDʜ9R:2*ZGrG X1oK+$)t2c +0W΂cvri!-=(ڴIUZ`jq\CZ2.m8ẠzHbYH]a&Jl&f3FveJ3Ey )GUhf}^iaյXԞ#8)۠c!dEDaN}*$ZZEIҸt~+$ns* +bgPUQgWI-kl>'S׭Ӌ2~4,]Ns|E*ֿ2AQ;אwRRѱ(5!,Ff_T?P=]D@O31a -]JKFnAκH J\)YCrY!Pې㥈xVxDʣ)?p 81x^@{`I@?j + +Kq\LjVFa?\U>6!T*ynA ',`[‰S1B_r]GfjxQnWݲ{JPˍM5Λ"m& Ikv(7E˾2nL!v@4mP~vui" zW-Ʃ +OՄe )WhgJIMceɹ6Ұgk 4YM@5n_bkѬU?:N|Ԥ.؇υ'*jwN\ǼvSH$d=W PMӲ1EZmC8"[hXK+`"QAyAm.ZR3Lȣ1EB0\ըShf)HRUqJἢFfG=bץ bτպk$ K*VVH/(睒q ^vy AABL=x\w _d$jf™{faԹE+DF=͞JxMhA90)Q+VxۭdaJtYna3_q2$5/ cuDP`XCGʆ$Uu=ڃ> Fz,{&iԀ犥ClЭnyd0YP΢Ae͐J4M<`A4(jd}⾤S׳c>̎9tZS]> +}6VuD0>ln.1$syNN?̅x!U*TDI 0CUpV;P׳AcS%a8X%?\nATPlĠA|n)=.s_ʒٸ+S>c}D`E"Z/DWw&]/ʫE]_.2ϠzUAkQn) *D)bK07֪*Mx P^Lg&{7%#g[팈~Ŧ˦f[g٫ +K]djrj*}rvIՍ]j* SNE@kaFmmDţx9ct%߳T +-Aab{U*u*~+6X*88HSu*IQmb X9LIf]A u3H@`6ԣXrI wťݎJ`aULd(:1 + VMQ$pA +| A6.heŪاi`$Sb <ez5+LMƷ]jzL+M-c,ў $[në fƅas^Gt'ժJ.zGfޒ7-HeZ.t0CL6irXO߆NDO1) cF?aP**N +ZsxTa&965&|JϵY({{G7A"e,V]𢣍+!RI}n\B?ŭ .&Fv'nV/QKX!.;*C5kj/0VP(麂] ]E5:)[Ac`jRSB9'e׵):{\°h-#a,S ah|nFT~-4ý;/Ui6S+бU/o}1aFUq 9ΤUYSpIkԄKϬIKJA^lIϗR#Jj*] _%EOp\Y99ՂX7L¨fE0}`YR ڄ<x-SQ +Azz lJRNP[Ŋ{f9̎.SO=*$3#+D]킶bTa16Aկp:yLXe0*kZ/ [ȇ4X{.0t`MP4םl +!~jb.Sr޸TvU!<=}Bt m&]xIv)ޕ] <`)7ۥPZ#Y./!#)sP=t[HURGMԐP C&ku9cBN 'HK䘁ؘTMlaPZ(%Dڥ,/(Y)@0is *A^;ԧȤ<û̇:t6i]jp΃҂XeU~ak)%3JƊ/^' بSe⏜.oIúlfW,ʋ]ii޸񷊺6^HpkBؖ]rp)8VuoK$Q֬@5H8I/ݪ\,e> \@m|Y&lLw3ua 궩$C;Ӏ|yT/R GvRp:)#VlS;oGOAWK%hKM4  TyK"eB=Ue6 _DAϬTP\8O#M}Ⱥ}8/D癌OCC0a2(@O=)͹ۉ\ " rF +VtWk>To3K)7^Uq>SRv$L;jA2.RY[cY;±7$/Zg!v_i?Zi쯛-iNs1Ji鮄{ Juͪé&uX قRG%:*7fv.$`rPlⰀa)hwӲl"ĉ_kKM&qT5 o/I1 %'xrgJ,yg@8s/V(LѬVX0}ffsNsk?.݈/%?/wsXBR)/fٯ˹z`vM04],i(wH;׫@1 : +G<5EPiW B_O Gx8hk0v>[C@tJ<@u,0N10l|fP,te=1O|;eH.8Tm\1(èB~|a#cp 8'v4mpcq (8b5o9;صʧ5^nw!ka:Yq˲Pk_dJ7EHɎ ++5РJK9O&pda,EJɇr|!L?SH[)،S;e1~kUɢI +F8w-+xZ0@5x*81v>OѢ遑l_4:_63Mz =ThcfY{sLw *sab9&>X&VfLkaɬtcڜ R8y~2rcE X6!'T1x ~ݲ +)Տ. 7|:G{ ԟ3CWyL;bx O%6͒q[)?%= +uj !dKc?l|cwHԘ.w/4<,R +R3G]uUfAXa Q8N<{vwCMkd#ͅ *$D|1M$ L΀'Ta By6̈z!& }Tu祐ψdLԍ,7 <:ν\E& /59r8_Ƙsݫׅd,Nr?Y*$xVj6+]< l88 X+ <~-piڝ΄v$By2Kv33Xynt!ӿϮSp4Izñ E`4,DݝqlR-տԘNh~B-c$p&ڇgVT<893!qY" P(Zʤx@jo?w O4xh~X*얩0 +,G<ɉUO|3)rn+n%͋.ʎJ;H;YXY L0|Sv= 5j_ zE9;Foi*K&ct}`x7MUOn O)|3ңurLkӃqޟ(uYESnF&Sx}EHV +HexK?w_ˤ2׏ry: %u:(P\!52łLGKBR0 ,irnAe?>JVx;:d 0WC(U_"LtUO(Ma0bvVNi$o͞2k7KD}[)yqV-ct]ՔZbO8@1Ke:i0 :>hk\x53oR;aӮ0klï~XP !P85Bh=ipICfװ*_=!:!mq/Xnt1+1_}71=2t<񿌡ip"Cc[\S}|I#6}]iT 3s6Fђz ]o܊X (+${)&-h͑kѤ+ON"DҥI ٬t)aIg:jvXO#q"<)` 5/dMՆajp([< _;u'8rjPfenRUeߵivP z7OXs L yw`x*%%-UI/H|dCQZhRa*@Y*.z]`1;Ʈ^}Cd`gt8QN^?D*~jvQoǰj\t6Z{z(8Isw:@`c"ްXAF#I3 E6SNDE9h v=Z3#k1):K-e$OJ~|FREe kglT R-@#Į{ڍ_}n`ڼ޽l<)I##4YԸ|o۴/~X- !e;.eٻ?D޺1ou"LH\dca7+ꦵv> jCXxhȴ1M'`(eZF Ab1v| ؑvHM? J^n~' !3qgy's_(Ơw6# -k7*5xyHru9U!Jc||y&B7Ja GlXr *;̔JZBk] J'ͩ-9q[0tef +e"WٗkI +9"kĭ[- d҂~!,O3r~ +RsM.pǣ_CigNC:C٫1J *|\=z:BU+qޚ#:j1"mK#}ϰLwdlHb (s^? .˽܂r1xt +}4uhYf6`6uk7Y? +·&14&=xnmrY6HۏXrMBY98ݑcmp.hSG3q{d][?RBK_=^1xfjHF.!V8GsE:^"o%^4'f!! 3o=%!A'}`#&in9k~ca> v b~sdn~wB@|¾5JzzZsc#0 È퓮# Y;UTb9(|7X_a<_7XW8,%Cj*)ck8hls}b{F$^s*MJ{殶sM9GC}4)Pa+"ʘ:sѳy'T3\v P3Sbn}7ZONqKzx8(BgHpm<5={^:p8g|/fSoZvɵ:fLJWByTTd;X'MUg=Fw%G1||Vb7לKS } &T̪MSߢe%H51>^uXi6Q +Rvon1?]|Y l?)B(b6Q]Z?!n!'b*MֵJ'"rAX >u>b XڛVբw2>G "f6{ + ]R<6C2Zfmz?ft83PrSٕ3ʫ,@v0vJ{yK'g7̔#O1hB>))'g>7bOV%oH *0@|2쏴? 7n'j|:5?gix,3BLJvnRz[u u?w$q|g}d j1Fs>%\H]$&X(3v(Z +G!| "飭?:[1Nã"ڝx ~_o O|M XNkU1QuAҢ*}Qğ&O=ϑiSC˜6bԤU3,Gi5]+!]u71IƄc/3Moü)%HJĎag)@D~)Y uG=}Wh*q d,b8)&~T'tI\X~[a/e⡟n٠zE3JU#W^yER^)wю#GDa$lKdI]MŽnnn74*4ЄvV2mm1A*Ïn^{A#ΠE6)wm7Cei!liҜ{u/t7}\>:ndsCh0c.,$_vї'ъ9y:QAv +ݙM dt"'/ijh֔xʽ 4SiҰ>._dmw_JX䬉Ä%ڭqB^A:9h&x!B17y<HRČ0f2{pdG9Ӏ4%C:gui 1y9q[BAW}ƷR6j_ۄ/-vРAeV˵2Tq@@?Y}=y[q_4 ZEL%hԭ'ζӃ^fNA6?^qۆ<:"iRlJ5|P4` +=jj>_V==}tv)bih/:'/RaDwm{SBx @xa>aA>ì ~|n+ Z;j(Q +PU3TS~w<9TeZ [,I;7' +O<̈ t&Ijމȝ¬`SJ5}`3jc.ncp^Ye;f2"Q$ 3}#Wn1 (z ݥJ +jvBw=EEifι|P +SdXVH] imUK*":Oxt'W'A0G@4vͣ ;.ZZ!K' j^i \?괬ۥ&FԌC+B + HAneI2 +B 3m 2eR.y4LQۉNjoyG~)l<{:vu2us +k(aF-3 lozn:۔sO:R?R8kUdz +N^B"5Z| 9I cƩ_({5lƴM^R翠sCZL_ǭ1J*t?K 2Q/;\ؾxӃ8kG-poJSDw {>ly5PSLyҖ([7[hOC>C -+> LΪc/`tfWɭ'fÕ¨vd*@ԶƹHg$A6O1ukCiR"fNƨCb^pbZKo4i0Vmm.3 +tWI1^&4cCЧkVwܛn#] m앉4<.o}낊gdGF2{TH +*MDxg3ۢZ%/ZhU{6`X +Z~~SPy`É"#M6v9@aʀPS@Ov5aAGl5wۜ^Z \igyɣ` H!}mM$btjd:KPR +UDkx{? pXS'#m^};W*;8~FqR +(6HT̰&.Ro]oPsu" +E&ձ\%A 'fB2nm8|b}: }Yg+vԡK76T}Vyʉ>eU,3s ue2CVzy +0߇1x u,,^PgE'.HH1)\!<i;3yqS3һ/u?hu>ϳ^l+ 1Xj: +U;3m[p"q.T*sC-o_iw[ۘe"DPCH(lVlvU"+kCP#%S%V[^D_k\;|0c/ #d r9p)և`;чMX&+BXP;ޑ: _ClWj\HS2.ǵ(7}z/ԑH%DI_p +ySU|o JbY[UNbȀVa!PZBŖb`;@>6Z+Z7^ڷMJAuet(鶵N9 FdO* KBpѤՎohUwȦ Y,#7?c~Y;)m2;UMF#H8L `U^qeǿ:hǥI/C̢ +{YA[+eX7Eǔ-j]ǾT:fJeo*9TWް]dmqhYtu|6k LQsj$PU)و{4ZW3əd̔;N?[NZ,6L܃^f5ohT#YǶڌLF~XԵ|<C&b`w<|Uz]Q;zlVEib"|wk.*͵f ɄcmOГ2M]Om8kc:>O$h^j:ڤꖽ/C Ki>A깍]0wF8F]nWV>\h"h/e@F@BIh9K?e9<>l4Wq ᎁU莩(8)8NtPY.1NK['an)҂ڞS_>Q{/*1㓗&54YfTi { Š怔(ިÙKypnv MX@: +(Wm'Sɝ޴3$7)th<`gk..):$Z +賡cC~Y} *bBHDy[^"em2M$VIZ#JK笏K_Z[_ڒRU)bVmu~zh&PHOk\%W :1$0^ +ȥFH5 ږW:͵>9b@Q4cH.oP#3ϚN /ޛ#jz55&5tzw mЀ@j 7tTjVJ.u&fY6zYWXAGW]*5h=ޑ=s4CH)-[is z*Auː֞?4qѯ2TVj򊝨+tPy'`'wzףV _ +ѺhEb&=|پJII;ӉmjܘDkT9Ԃ+g}Ci0,ف9n_cjNw4mhҒlG)EPYXA#|N<UW$'XQGdv:QC*n%'d + n<Է^?%'M,MIJ@2ul(ع=脋gI$PHA`Jb +B[)o_l"?vd0++\A7ӓk5S79v*h #٦uġbX{IU*5P!kmI[V(mP¹I}O:P!Ԑ!FoyDvrexcy]6<J@%kGaSeسzo'b5*U=O䫝_^ά47iY +(MrAsBʐft'`F_Rl+c)SΉ}{s-n, -o<܋y&+,)(9QzAI؏!Pc +'s /*9 <]& ^ +e4IZoO]ߴmqW*pv[Ɇ\*J Uÿ"sea<0M&l⊻SF>_71tϓ+@fǽkw[Rȹ;D+qX9W*cx@2uJFr/b_/= 1=pbCDXݐ7<:ௗ5.2ܐsPQ W6]ZσZH!cU xY$/ScᓄJС=qŦn)~U[~MY+9dvn dl5fiwܹ8}k[Uvg-B u$0dztN8)ue]}r.`N%uNLaY<`2gU5)Xi3Z1tQivGM+Mŷ/X/K~C2/s?p@C7HP9 GZJ0dCònkM^dafnyYHΪi`!b"U&P= cHi k6,c~mo)@p;^״\KC%vleUi^+` (БqiR-/Y-!l~FteB/־oㄸnPniӥj-_֕puf[#sV\Y@ZA݂Ą{pyc_tM}__ vz{Akcx#-BR QeU5d+HU攝l*4xǥ1 Q2=AoB Hq/%0\ʼ)GvءupAMLn#uK"r?o^>b2oXNG|4s b'ߡF9O~wןg@GS*YOT, pa61ht=Luhd"$~y)GқR2훴wDG ĉLP?s'{׏TrXIrNy\M&5P{:)PP޾3B\2p;ΈcKG>vTE~+Zrg=vkÞ9V X}$g&X%8g|+ȍX UciG1"Z,nrVJ/_^o%"7Y{EO,‚yVEXvĎ 2$pmꮱ[a߹'QLm8 +3zerOP&:7'fy<1Yze(Pgʕz@ ~ 5e?F6maF\|5cNy +Lum<PfQJ'=PJkB'<#3z%eKT>C :t\,d6yC0\X +:K +y}f-N[>rj$ug^ C?ؼez AEi](cFJ=gH>{dxY%EӸڥ߉Bc)qLq^_GS[gScO^{d n[ 'q +۹Re27yN#vbCVNB}0HH%'oG-CCx5N4xRP~;`dV'{xJ`yc9[V65.E"n/Ǣq{ht olHy_#'"5#JiGoLI4-2NE8:Os@=e&֜!mu)(pȑo~+$rce{ϟZ2)t&9+ 7}X +GTb-s/mۏۏc9mY,[-=eup&bf'2ef|uoGB<RDOb{ۄ +NpIi) ;r帊xxq')78j2ڡ\w('n޿^| W9mS +Ԙn&%X.\cm#_5>BX`(]"v! Wv n4oyT-4FEj :l8uәt(_&Q:%1ޓ\.D$Ύ1è\WA +7Xjke^-qdO:cekФXuя츟?ndONqAaB .N\Ю}u3vC"ӑ{dKD%kkkgg#9qR(7^cBK"/;K{>^A&~u|Hw87U5 +*,fv Ij6hö<qєAяc{)oW@]Oa8U-/G ; jy{(Y6э>I+6ᯗ3 SLn_8pǖ_/?7KדvkK|==p:P +e)J4_?$]Dc~ /z=bװo?~oo %E$]L[)N)꿏}&9-U+;VzʽR81T*>F{';FM6\9wq$:TXS9mcO>BS}W.%}8Ï|4|81߷׻=I;)/kT'=nx۸'Pf=Sn6)SGH+6ܓvxfzQ4-b%GNfZpVf>Viv(pu__nA5%TژsM9(XD V,Xh&YVKJzf ˅F_7}mWXlzp=ixhg`!!Qm `NxP!Tt*^lM )d|j{>OL|O4Vu?{U-Y7]F2 0?UWo lC1`dlUV(3^ Grc_QiwȣNi$#Z+zU.n* !9B,%Y7hrÕU,mk_F #u\ѽYcL| +|&jM>Nպ꒲K1ٍ ExЏqa]׋b]Λ O>=6S=+uK^p4 H/v4)pcnzZDhNр ( cݽ8a㥕IPCo.-bF(SKUaaUu!g71X&[ʹv'Up;ԘEHie{ՙBmn6Qv\,\A~}vI;OzLz\v*^r}iOg.$@ti j!rzhr&[N ;ܠU%wXƜ@%%F{aZo]mn4ƪ' |( +/fn[Q5sL77\Pk>N4acýy +bޮ4漷t$`>!Z늱oQq*eUFf&[I ]N2?"32Jmm=8hEL|݇d6P]qB8%NUSyWgȄV۝C:T%mvlۜ|`NXE YW^`]+;hmSl}^xztd_GTSmj@' o2:g!UH+Q~i~5M51 s_3*°N +;H.^y{Νf!-6P.Y75ىA;Gg|T9E21~Ysnf`D:,CMMMjijaAOn <֔O >vhfv"scǝnA"X8ڏ+`4I"[2AEj5}t盉ULUN6"Q?}qrdJC6,h$W}L6&yBwa}+|UpA IH]s3}:j}+fh$7Y5U^_m֢8)eL.Dd4D8ap{>{(jr(u"+r5 ҃+='dHS|fa4 ūߏk)WFUZɺAkh@&D]ٖWyܷ^,0RBfgF&@`Ag O@q7EĞi})nK-N9CGE6gPY@ΚKf0;>f0Ef\/gmޝPժشU՟jXjR+j!B7>I>ph`9օ$aq<k4ljӏx~"3 T#xTdZ2|XxCGzh r$?-MJFtOŠջp(McQٯv{4x:~Fak"ܔENuhMǖWMop&)~&MQ.}Cd#)u +3!$Eabb>I[4Q]~PE6ҩx^&r]Iˈ0멆B=JN-/ky|(m}gZ'>4[|EM93,&F??CTY +=(i- PߤȊ% ͝$AhKn87Ng&1SOR+7qg!ҩâId-KT.zm\eJ>4(jQJ5WnW hW}a&UU)u 4Fui=N*ùy}/M<5wUz +U!mLd? r[#ݗ*JGYj<b;yaƧR[ms/]dF ̬/p|,q ɢxhza? ڎzb;E ytACf(U~Vܿ9r <62\{(\Jr3xlJwu/$/ۼ Kk_p(*A8yROȬ-VQPof]4=گB0ƶԬ zGQj⌣Yu4­ZAcv +)8w^A!h-v wcӎC LI|e"Pm Z4kzvM uWIZP-|ߒ]Q'?KgNSqZ:F'eZopIztap86 # k\1^Q튲d<⴫2>r܆V2H⇨h6\RZ9_ [T6xW7@xNߩ m*FZ7Fu0$Q)g9Gwb MM KUajZb,_ͮ6Yj?W{p OlP=CP=3y5c㨊Y_s"TuУW}i DR-jh__ֳWޛSP& +M&m"z?3 ">=ƒTEˁcF8x ԮM0XVQ'D#5O9E~\GDT| ={Jbr84E0Vb@ĔNyY|)q>3lw4T*碢wb6h^GWļ9I2Tlm鸂xѻ1}cCscDώМz Wr s*R}f4 +Qg!qqhǝ)F7l ZDQ^ysp\{cDTs3P';6gp*߆/[69WtȖ#Т2ziZg~ٌ6~P- +YS9j@Ig9/Ӏ +QRP[hc>[[+'Zh1XMʾD;qhJܓR͈W/c:OZ EEN]nLEdl66lK%#u$ 9,tRgѸ#\hoo4<Y{lyỵ4̚[$\DoHB x+}{d;ԡpw͜z(Qh9goqJ%kn8H0N44]|mBNMYlf;sBi=u0ֱ?LYLd-j8pz]7U9-Pi9A*?DJu!'їS!P&Rqs'N=9|,D_Zr˭\tmtgSVɪ"GH5'´)X}#32Y]1$'FfVA++eEY'1tuR[X{O`ޯ ?ͅ!/¸4p3'G;`|J&Y~X +М~VL2%U.A2׊wIo*_~S[:LM+S&捙C,1%!u~ay+\uȠMNnѤﻡ$Ӫ NM]*6F5ipX:ӿ[|:ϼ~HPVg^ (:Tfg ~P'n<ɐ[hw8W5-G(WԾpųr![/:meku~[fS6Ri 0_BPy#s~_? +)=e|u%@b5s樉!Br>3Z#!>qAwMPLLv$[fP]`L%ôڕ,,N>:~^:4:ZrԇӶ΍MѬYNkӖT dYf@GVJ *Jgۿup@bX>:Y9mo mHgf10dW +\c@lcKF(;X\#`a5LB%gnì[عmާ~a +'e i,l`B(e2(ە([x)\L!vϏ~,jQBXRm Ɖx-)2T^U^BhRd]i‚kOPUv͛V߉'%$Fٰ ^N0|RXQa=1Ufe-)27PMjrZ$bQۧAup{i>`ٞ5r9 %0N8;hR&m.4\7R:$2_eա!;)MY,AE= o"E˒v'ڴHMϫ,phG/h!ѡ \@ah>9EVTo6T1̂H9HE+ Dzg +C>9pLAA?K&kzCP-r؊.<~ [n oڬ޴r9kCO,(븆$0T>Lj[4,<8[m MF.qtAdQe l>E; d|jiyp)^tҹxOWu"kUՌgZ&*>\0%1&hOՌL頕CEEUJ>3O9ڞ휸P-%3ZqdvêZT/ķdnc7ᚁ6l|u,T y1Xpy֧![G0~E?q1~3\B Agi%L{n/Ί[qnhMՊT[/V>0'i&HD;\|J7* m887QNgJY`!@Za`X#D-+3  '3~g`_6x:Ե|1azz'&2 +6)aO=&gfsV'=q)+ց]*,[IUvgEMԦP`hs%<\$v +SinhǙgAp'+N[t#\LP.:)7; R=1 ]~8܉oK~^R){r 66I(B95[u1iݦN45wDi[vܹ~}$I a~`)܂,mq(1!0~ns:?g >-iٜPi/)$=oйȞ#'U7׿rĭEE$W|50pϠ@7: xT[$Q+!ps +`u>qV#|Pw_l \)ʢ F0sg J7)1ee6%>O:T\DT:P" Iǃ|v:j'ނ}VfɶBq[I%?Y!{8IXᷩt#DZ2G)zqoh!fw TFWV'7:Y".g`?]?bUK-lЖt!{..fqU7c1s$)nol,R['_eHE^gp 3TkoPZ6r15*yt2 F#΂@&c+W21Kp 9֋- s żȉjjFzd]NkwNQ"~D/NSg&hq +O2EIUuI[qVMa#hɿ; b`ݪ\w76xf*Mlbch@4v[UZcy%GL%/,N +|B %uy,-!kbRt%jWq.ghjgҢlO8J4Z_9 P3Y +i?KRƚ6Wa"1+Na-42<\B͆Ց9o1M8֘q뽋Yه~΄l w(8|K9ㆁO9Q1WI˗ÉZj~tvFT^dͭԝ{[ + tToC[ޫ|bX(^+kN"#©sW;2ЊRPn]fzWNi;щ +.J7 3\yrԚh`0ӊO Hr֬.l:fUKN0u.M?0Sۅ휷tm7{cħ/9VU+ ώ +i}POh &zTTZEt:e@KV*LT:w>(SWP9vLr))8@<Πesc#ՅN&!uT7ksk޸h?b( Cy-!UӼ;p1m:ESEN5\`fGA|<]^[ɸRKãע^^OVwLM>E#u/@1,\dAUjU]cN Y`~XOs!Y)ifc +3p2nkZl{T&M5CaV9L'SȢ g%pXڱ Kc{NJmI3c4Ń3"ǞzI=nr|`.@?pba'I}sź i]jPcN<vqC +h0g.^A'mHnزz5b;;Bq 0(4P%C&Jіiay܂CteBzϖi726)"ށKN6^-__M0\hslKi5O| uknvw qgX@kW)M'AƢB;#יdbdݰf?@GECp'-+UnȔ^7U:G: +|xAnsGQ,p`_ VSDxm4rp+9ϕIP[1!=~uij:5XoAAůWl` ks>:AW5/O3w޴ T-6Bps~zQ~r9}K Kͤ;}ДK >2\XF(bjЫ?{`==f>'Nk(ӼKۓ8#}(SH EԚ I&afײ&+I&tE +l+fAv;˄gټC=OcH>P()Uf +ѸYw̹]%_<^A/0f(Y'Q\pMؓ'"m!VF٤e'7: ~Z +Fʘ!&xKoDr]R\t@3[UPįq%A_+2e{6O[ym՝J6RY{`ee>YdjNTr}F ufH{B o6Dz~E Y +,-rvڛ舑V'm5 xg{'`/CP!~oo'{x(Yh}f VԸe#߷B|VɠVܩ1hǑ+^Y8\EaC(J> `{ݏn"h)ҕs.+y?(]j $6Tu$桲'dTM&xs${'idUHjDd(9PsshSG(`\r5q / am>>bɝpZ>(o\VCUaC` Ӿ,fKE&9eR_qr0wy0sg&ߥ#B)Nl{:vaC +~8b+" +!VN.\#~tTASqS,?:L jv69YZ=nS3\Cu2JCA-Rc^&%JV$m8(K벰Qȥ+mR-έC%@ k}&bpB֍LӪBYQ&<V 3IĪҨsyf0F|)ue=7aڄȥ.]y!X=5 ;k?pn@VNȏla rD eJW⭚w}ҒLЍ ؔNG=? As. "zFUz)ׂae5AuL H4k۹ y:lg,Uۓɦ1jm~6Y\Ly2= + rJ/AyT6}>jfr FBE=Lxs!h=L¸8%;g3Y G7pjv؇Xn" !a!XuUmFqiB7O̟AI a +~qN : +^쑁 +r =_U!wPuu}5W`~w,7nZkuLfcBŽ.Ap݄5ic9L\8J/$p߰u׎ǴIPE9Za16aA"Oy2dic=ݖ>rC9IWV7_ >9=Y <ϭrSӰu讛+=܏rz")jRPDޏ J-9GXDW]z羽[8NN3`w{FbCq߷mO x (KȈlچX*W$C \P۽d]؀[J }bMl\-f8 |OWǙ:)>l_JIcCnP]h +IEܲНyn1:Tiva~/0Vm2/Mx10[- V?}荚C2F'#l +ZqD71tjSJN!i9BT/tvX9Ģ-szuG /gh~$N{oي"ٚ5-E0~|NуgtTT52 i/CV1ODy+oKFyO^{KQqAMȌM6sHoD})O|TXa:WiLAU'9C~m:qJݙtPY:uGqCYIj˵{^5VF?oPg TtF+B=L]1Չk}5];Hw@9d3u_'jI\d_= $Wh1mu^L;K|1--'\U!d8o[JP!Pz/TiNj-wwXO]KQǎ1|#0^6Uɕ\ 졲hg)?,/JQO]^p%}68-mښ0MvD +(r! +Azn`,zhn49N[Rm`۸,y!u5&- + Ǥ}*Y Ku{FJ_ڟ{86\J^Iwb+oX쇹!WĊ"=^~/K0S-־S4]o#4eݽ5Q\wD%&r?"=^s*0Sq-%(uVs 9l?n?_a=`Z5`ژВ[$-pD_Y@)gvSl:g?ff- +ܴ`;=UE&)2™mu;z\$=܇W3wZy_:?}Kb{ŷ_q*(Zd4[YyB/G2},(Hp4"&N}2J?2卐,ZkeA^v VQ;8W/2IT0Jԍ'#yO+D?esǘv`$M' b|fxǮDHufA9ઈQ6qr8xÖ^*o"ˠkƏj{U[<}:v_i{5 oPyz( Ic%'ש*D9= Jp3s ;eB[Rq^x:P!^o?(5&Y|sfn Hﱁm/3H jI%͵].di qoar  RXНbxᩇ$\Tѵ3jPRՊMn(]P++[Ͽ*DT +37B34hk׎uAvJ|kɷSQ7cnhL7$6fCj)%CsNY +臬)KF"\IfZj6l돗)jos1)!W!r43n"~ZBLn{ޭJ[085j.xDk{'%:Uy-n̛#XuK|}OhYˇCzeeHEzکlXooIEȖ + q PơBݳ#`$~9KI=<XXiq~yDiY:D};d+PPjƛ^rʡ)hd,(9*&6guۿqxcKW>]Xw!+ev]p+u媀66o",H%݉*4|ၗ[% ;l,gٻtI$ {_v{͸(цAd+95Z:|˻7TI07PykS:؈GOiΛHQ0f="](霌S`$לގrI+p4CŴ +3jQwܤ\O+z ~Z kBѿ{,.##kW"5K~xeIu`DFg'V$"g^%_h(eIIYܰSlu_'̟0C}Z7l2 +-<4 eaFg'|޺h4S`HXN 4_ +tehhaWX*yd:B9H#\9[li Ԏ˰Iݏf\Dt*68h^|VqV/P>~S3El,']V0JtI_TY.8YV'9&oTF B]#MJA%4f²qu)-2$񨫷Ҡ*WhVO.[}>o:a* +5H3Fc@5?ʰwiMmK#lnjIJ- wQLEQ&dސVlY69ף<q@XTN~33vI70*7 GK'R +woc$*#ZeymbRGPllw +cU2 +3Z3وYG~ [a%< +K-\4TL,`4Tr%r,$GoH['l+b -u ^m/}-܏=J`ς8IEqy:ĹygWfPJCg*6? +6S=z! >A|#eNEEHs+:,E hc HnfGU8/7<> VJBΙ9;ج\SBcb]tP*PN'\N][)mbuqQ.ɠjm}0ӡְ51&6%cUo-]ިmFIh4Y L끨 ;P!%5':~NNr(&=IFr`Ls oR)&;[Nxc9`MJXD Εw~#29*3;}whvU92ǨF, QAvD1*]&ߖmnBWj!ˌ :PsR* w ǹy(7)Y8X4w%;2j~TKK+31;*R<EtJW[I[7c'ޒ&(P[AM몮xg͸-³ C1yiBtm.., qt"e%*$k=mM ]WM}e4Ammy#4,8}9E&-iOܒcU~yCPFeق=qY߀}a`b3Ң~!$H6^37+HUg)BhU>&Rԥ7A;*@Wp" $Öq{6GhN g$8CAݑ%2Ǫ)cj+))G%0:-`/XJ֡)#Rtj/YER*KO7[+v՚;G2Q T&M.Ic.Zਕg"WS>w/OnovIdpfa`dDR6!Aݎ[qߪWEP>XD +_F5C2 ; 5lswӓmN$,&M.al[.:i@!rVGH`w:MTF Yr*zMY.C.${&XŞ CDTz K2+ێ*&>^:ikĪi0IC8uJ%nIplIJG/i{wv4>cʘA׆pk_wNYѢdYيwft4M!Bs\PeLA-5px 0""N9Cҿf2[fPX1 Ŕֽg .goyEg{eo:pnO&#:0׷sX],N<p=ʹzܘxu3|}o a؈jg~Y;;{%%7}u@`lT0-O Ј~ڂJríѣ67ў^j9{#Vߛё.2a'V"%0QyG8Ii +Tk^Axlg7WX.,(簠Kȃ=#:-7FqͺpFe]ylS🎱ws]Gzg+'HG@tD +YBGkZ9D'>o_?EX';x6ODDi׵ 1I)ÅL||XZkI-]Bmttc(hDLeh&lyF8o?ΐ|q`'*P٣|YDž%S`6!^vBŅRJSQpFk5,Lk^X1l w2*NLHդh @9;r*-R]6Yi6s 'A0g(D~ +,F!D$| }QbU+}JZepzN8۝U\h^4,_&1kЛl1,\;ڴ1 Dv!NQL#`Ncrݚv/llb o7i3Q)g ŧkW/̗~}ND@W7>4kr#lɗ[P nsŸ4g_LuzpPI>;xD +~XۈY{߾M ogn`yi~g(MڢGb{tm\]jTMn0K"_ڂm5c1F|!ą/k4*BVRz:%%@8<kąW&_ Ra +DTKC4]f5/]j#4-ǫ~L0c35kl{RT?s}p($ {x/n_F4UQq 1 +V~e?v]pO'μ!;/V'9Qf\:cxmJd vC_@.MjH +$OZ3RzZ:~u+ yYl-tbc0@?қN9|isHW;d,Ub.NH^{cB/X&ҵ=K33ݖKF4*x-9I*=挾^2qgj=\*{i:M~a_eL.V\@QKYOa~w{[N7l(\A +'Π7~|vҁˑO-SuY!ZvXΐHMX]HJF#'^QƸU >EK75(bbR\43i`u,wD- +H_ϝ=ju MB6Ħ5[oЖ">W:}"ꤜh8HxwȯuJ +'_k~xKx.sF>ޭ(,|kmM6 +MQUatΙ``ED*?rfWk+̝5K qj5o&C3BjIgJg*HXw"-jnNpo@l.Oԣ^1&l?#geSPtی5LE^eld_@Byo;䇴'dRk~2? &ސHݹ'[P1perO~u<;ۆ:Pe,1AS榃 uJ]T_J].r sFHI#7K..j~} k6HJ, + "X|9oD +ቃVXOTXV<({nK$"bQ}. 'ߺ].bbs2٫{f d6#əE3 O/lX' |zټd0v րT&$ӰztJC) ]*˝j vAuP5& PNf[2Q[jDMdg~C% /CXeX)Ȕbqzhh #,Ozu7=&_ ;x !"1D.`xgrmk<~&.@l-OPԪ[\h^P>+bht`EEvв1ȶ7ЪR#58ɠҠ5@j`ۋsƄC50rn ǀex#SJ;X|l+x:cAA%NSxԥ +@%+A$<`kdԠ}DžKT"E:/!iB\k-r+\Nd?0tdž +hN}6LfWt`_9~Qj6Lko(fΌiA N +4 ְ-e3PC0UƮƭq [Hgj&Yhay11b\R;svs>%b8!bŮl,MbgWbKv't Gv + +].· kTN(,~cw&NKeZ1’jd w(ǰw@?pY ?d1fDhe],(p'[u8&&>|S6W?w*x·&\ώ;3Eޔk9B8#'4KYTmg{8S[1\zvեBٌe1ٌ.)rR 4K?3pZo<Ƭ5+ĩ`WpϽ#1}F_!Wԟ[?fLPk:8؉ "n(@9 f;D)a>Zʀxr_{ϐ5~H׈dxmR`2 %u)'QLK +@sOH&Ik?*SW/SZח D=yѸ>HCk!s0.^?ץ2Ok r?In F&zaz92Yrp:89qM7 I@Io~κ[|-l-'1 @ 83^ū(ףּzc@P˚+./l@h' _$פֿ=I˞vm֤䢽/ό/8jYs9sɟ|Gb .v5sT˪}7l`4+oK[nRf. + +GIѡ.ЦAa8toQc3}[PLXye>|w +]9LF }WdeLxJOћl1: Yzq Y׽Nnc=Y'^Qḣ͚!jnO;,uǥMZt-~܆ 2dmJG ͚Pt)8tm^Gz=:A]tz Z8w8;.6N1DR'=k|+o!uK1^4D'^dBb~ ma(S Z _r +P 19Ꮠ!=I%{(FP\׹_j\P d[ q?ad~/}"cy螐m+AU hH& O!L]h>ϷM&"}9$w1p1?=CíC" D(F=wi]r7) +{yRE˺4C~&}7ju yH$oRu:2A}+:&8f):[Nq:*,dWmd_k-V)S4xv0z{nX6-s#TK)y ˉLqv6 By/h#Fbz>mg1GHGdwvg lTW,⮷?q,ݞM!eА&ll 0\* V϶W@{sWg!wj|@fF]ܩqS6V)ZXӷ?tC{͌uWڣUc }RFm8t♳8;`si@3gk2+KaqUpBwg*HW0MzBΆ~K.OiG9fY^jԸ#ׄny͍9VqvE3K +L|Gb7Z`H+]{`#hRPS_5Kv~XӗUuM\RgxyWm9k@Tmॐ]|oOSFϚOiQ,y7*(( _ҤoDiYp;+MA(jg`ق&pD%?G?0Y{z* U ׏6& z e`k\bG%'pm֎K_QfHĤs퍏#.oωzs}syvh8ŬN^Vh +l1PMJ'HN/udzIzO#8[TH +9l R˖d76䚖F/ =A(: +%88h%IC]gQe+eUaz<'hNњPD%rLsxhth<pcyHsj8F01ۖrx%mP~qNBhQ0cԩs7O(=jUL\Dd$zbh ~duS SbBUDӮgQb31{ߙM|#Z#ri7ͿqK) 3IG;p%UV NL~tdY>B ,h8?drD*@NJwr[땪_(T6QU\YɁ!Op|5*NŬ]T ;17zhUi!Aq׵-8 秖E [!G0 /kB,`#{ЦroZ]ª4xTH*n7| Rۏ?te-ۓ}O\1;ۺFHŐAQFhvB KIƬWV>!KLp!mm`COea/(H`lcyblmO[(S‰͟-͝wp? +E(6 rCB=3T菖pޥ4,SNS.= vfC<]pضAMi<>L?b%n֬ܫcDH~t#>|1hͺ#\ACvJ=sE0$]L E<͘ԡsd&@ .zf:8[Sn,,ЖX%Au^ȸ.ȃYFZڳkJۦ V'>^kT$}OYH~fW,:$7*7deB!i9tAD߱:x_ar\O壝`}4f*nP6(jnmiUtn[f ײ12/9z^.ҠyO)I^DS#j!S^x˾ +ga;qќINz>]QqB%k&7'dQ9Iۄ=Wyӭ߳;k^G=vzd.|mS~9%xz_ڨ5zmPOMrM]of6DQ`'S,-~56{ z7(!廡O3L'kbXFvNP)O^PfaGkihU-{EfI4wE4$) +EzwN}LXiQ[}M\r;GɄ D+*t -%{ͲDhH[q3hqj si8tR +q*٠fJe|{m=kKCk)1& *ԃg=LS7K +V4J':ZoD'̵ d ,#[aCJEc~B/s.JjFjhعi6{FAܛ$\V^eڙ_-.NQ\0m+TS-{tɐj0RK ͶEVj3x,5✇ڜ%a7ꥒ_a[^:L$,9߻XTZ8Q*`fnEtNubĤՁwp0闒gonNʭa[qP3ҍ,Sfd- 7z[4d&?y$ÂW1R:YįBdz3oI+dit'f1URr/Dm6cUv'l\XŁ;%zo/} @ P7u$ 3x8^<^©xrV +^[.őrB:;֧7Ɋך$dVe]cAwj' 3?tr1|N*50vVγ\O.9F 简):7ze aqs8Nu]mOhF dxBaNwFCfyc#Uƻwc;cS`kywgtx F 1TtEJd)k-h6pVƊ{;fIzڨlgKtej9tpK͟Pu7S>mbwJuR}ex^ИPZOwo +f]cKRbD($YO$dOU]`&MNp9XU؞Tn"y+%%]cɜHȰ\߀xOϿ|exTDc^!j-Izn+o. 0>.q6t(g36\yOr _9YѪ 8`ʟ qIrhp 3l%F6p>HU+׷e$ X$[r2zpS CfH9]$YƇ +[>.!Qp8aLɰw-aysͥƜFVӉwwWw2Z|'5Q\=~%@lɴ^8z]`9gW|oqI-<%0)<($!GaO%Qm> lWe{U4[Duu+&^hjs< +Iujt61t2 ƙЦEḠQBlOl=P'k%FļI3ʫF8`=1IV߆ԯh1q)uT|KvlU5ȝ`]'S~$PV&9J_-k$5kԎkgKnW]V+AĦR2APfyivܘ+zH|C|达@i9?bS9z5UwreiD +VP*FB_ Ew#1jޱmީua!ROx7d <_|Z{]CKPcYTe=7EBH^g-qQ 򊢏`6y&+GsE$=ndOJ^y+2CUiyIm ֜pszmcnl)͕^ FʨB,:&ޑkDZފ C0I-($lva!T,qMpHk=L ijP!FW/kB08EΨ6'I{aSù T3FTARK02'fݕ_M>ځ굵 9RE`ZTosC<5ɸ(*iłږE2M hv,]Bxs#byT9޿c7 DQed;_@UV[^2F!U(_2f6~(^2}]\76bm!:S#QI^ϣMyQ^c>hJ:"+88"VVcsxFH=O@c"@ ֜ Pd:^%E,trsACUHM)`QɥS}kloq}فsz>|{Pq B*BfKeJmN+c(K̀"6t‚!=EibkFv¡86dX2;9O!8 rau;Dij=p>}8~|@FRW.3 56?[[/`4ۉJi8ډ,dJ4]ƶTF۶Sn +O0I. rm>RF$M. +4SWoN  f>~aMz>c0y& WJ!,C3ھqܤV+vCIC_OJspi$N̯bf}?7BtכC?;ߎcHsέ4g&J{`+c|ܢx!Lًom,#ܙCvܘ*:ވ!pڶ}5}#|&$QvL~E֪Pd41(׏x|#7x^q +o|riSv<7@˩&1䷡H=mHr@O9CY9U`xz^Klǖ[ަ# @'_Jj2awY_%wc,~~Wp?5ipAg2PJ`Tp߬B̋9 eVbqFa_1:VN53IHWn*Ɂb* H[)6gN-S{T~]H7MT͎x`Gſ ֏Ǐ"nʈV `m_|{ne+24Pَt?gV;h=j™4#8XܔjܽMx nǼ|m GSYG8=Ro/71nj6I>;$WЉWaˢ{u۳Rشޚ%;5jmt$_?( }9uiJ6l,.1(4X=ʮO}>6K +ZEYy-2]Iz!}G܇R [攻 +i |Tc?^9ǐu^AN֮꺱 GHjrnbp Rv#}=yg?ʷ19HH[w'~nÍPrҢ4En-_oo1lV&ć5(^ieF[nq@ܬkL&Umq4.fk8˅~ނ8M +~ XD>638on߾翾= 5obQљ :w> +Qnd< +8zhaJ#vf7 W{pncb s'UfJ =Q6JH v珽}GF`)CVlP+w}ȕ[4Du nz\Sd2#yHG*y-{9 kI/=o`}ow!ՙp]mS"5MHٟn9q4ikM1yt5@qLG}{{DNnڒ9>խZ^k+\ +ϏGt/$!#i[|2YpW_cD2sYEB@rr|,,:Zg:ct +UWU'ȴ?s%kbȝTRv_{5Hl>sd5dkDgzm/q*'[ͩA +NR?D|u`D=ҩSY&GwTm=:č?hOaYV-wTk^e]rmo=^[mܖ㐡2ySFF+~8u BKY.vhU;ǏWwQRL+Si?X]m2 +w/~`[KPc-5Ǐ۷UQċ0(װݾ͎݀Ǟ4D#}؁}O꙱7R.}?WS8/H758~ q۷x,`6)o|T[C7(Vz9ު/L/RuM naɃc)[׬/96(2;x}Gmۣ&~/лms^=FC7dN̂`rt`e-tlou6{6tBlndguƷonuXm~<B5k?{:tc-}Q*ۻ7jXL20M4{qXW!S7|?>s沷6 ҪV A'8~`gEn;ey.7v6sǻiU֏hۑXVu|g[[i1?N#?۩Tv;zSь$Vg!ECmMNy$% +iDkWofd>4)"DHk wHFM<6oG x1ϟv{W/-m` =vl;V񁻆!B!RFK6/nR [P߆H _CۿMX&{1k \D 剏$Jt@mFs"|(\HфX&0c=ȔH8geǝ_x;MM5Q9C2ix2yUrS+A^Z{:\|7sp̲q"mGlLN2ydvr7Cb?F#x?RG:II eu2HlnGLdwFv^Zթs>(kY58~?OyП8yǰFN>'3 l!_#}}~Ù}N +]Ycݿ!86[̱4aqsCq_w0]J=*wdN̹{xܣi00HrwMteC#||v`!$Ҕl uC~{KD}=6K.=y茐R._*jB%E*r69LP1%enw4n{<[_,~5{=(rN^L3ߒNjߥKY!|wtZUjTJ\ TEU)tUovܦ $?anBQ}GavN~bS4>>`HQut/q&r cz}+}UyF*ݶH-DZn}̍F%[UvQ> G|yH7s1SQuVmjfͳտʏCa+*ccɞCKGϑLUD{oyg0~s'х$CٕӍݷǍc{|b . + +!TĤ9o +_YؗX~B}{i̼EѶe=?褏I34[rp-PEɶ;(=BNeJU]0j'eٱ ac]Bq{Ćt9t~H>fB`[!}w= OouξM!fﮝK8Z6&= >GbCo?'D,[ -fI>T{|ZwyFP.,D%iHC 5y-&}ӨV!yl͵sIK!pVLVADvq.FO|"OZ8Z#@ +20#\Ɣ|WԬ?.8hm)7q>d9y_\?iLgvp +_54RdK"(Y x`l)Vȷs4 NIf̬vk;qK_e݃ۖ^*Y*+SqzKFxk2cHаtX:<яٌ&HL%:pt?e02O-ȉdrnz(3*teOiIhrR0ghK!PHYKE nA1+ߙ][z܈l6S%U8*h<̮N.Jen=zLeư>PIa=OBVeVLr&ug gf0{V"-STv6Il8hJl2ohxkn"M.ّ 5)QАϣ0xbi9a*92T+/1iE +𤩨7[l]N}8T 6bKr!l>3+@r+ h/&EVsFy.E7)SQ~]UB +R*Q؀N&={;r!xwsGӎQ n"IKkƍmA+,=,1˷~c~_5(TDDJS?3H>V8h/)V%a"ch!Vz%$Wᵀd })_Q桒Un⌠d=>t,=9Q/KLC`N-Ub"\9\L.z/F4wH@jvk@Xs1IP>aXx5Ap8I/35dN9}aXֆeˋo#1X mG4P#; +Q<7=+kz0$ZDsxװq +6-Lya nYYjd4xs$AEoc':p1V7ecmFm.w1\yYQEMmtDL_bRNyK6Zcɔl~ +U{SR灟k/OLDB\êdz*!67nѴmiЂ" +.51M/%7Ӵ /vZi22X uB@qLۊ:gi;dL!`Bj?Sq0%lrL< r}7C!OG urX~$ GA2e'pW!'1']Zf ƪj^P[_a=%/gJcϥ@7+p0bAS]zf#~&j)jj.o^-c`SM Q&wYd'8n'\t\Fb5[TZa&ts0z@< #GSBœYc{ +/j I )YkWsez2ZYv~Ja] sǧ ZtHcj+a f 0itBR-$c]@oЛ30Oڱiw$uӢm$V!/gvMB +\BfpC5A]?Vu 8]M,;7Y E!IշPgNClRe4gl÷#Z@g'[;٫Ugy}sN#P| 6>fęEdjXWZW ꕰɔBrgt)/GÓlP,b'C!Ō/FVń]HT>хbѮ{5O&iR&FN$˓qv)p_\Ǣ'[gƖPv-A6*xFGVgK`xݘos3 NA':(12vfI`7Cm)T^&T0Z\̭iPڙi/UaA|4Y{l7#*IcmسfS~\0HXsΓ8JWÆ}h΅j +s22\B)Qº)`^AGi-4䛍U)1htHBG:tJ6a[!Uf'#R2[;DT Ck +b< +TŶ¯ ;B̃Lm1JKA )ߔ{#&Ɗ |iVEI k.qh?T]+c$v&. rn|j"-?xϲWnGuyK3eݔA4ShCu4CWd_!t +ؽ-u"]ѦYE,BX_3nO<a B 2)5B*Tk̙tφ>,;P7k/}aV=!0 vqiuO=ݎTHwZhp*L8~#Sm'gnntNsD?AB`ɍh`U@Q?;8W<;d/Ʃ~L01SFhSIC mWOI=ڭF2\aHkNZLi5_1v|,i1>Xl*hf9^ +`%Z ݂a̯2bLY"iM B4`i@J's K\VWkOo=$w|Ҡ5"4 Ie B#NV#p_.&t<:*bd= qz[5zvub!Bng8A9:.8ٓfnFq`O*h)*k1?3 S 90$Rq%7\'6i\> MWS(=Nd/]HHi+}J0hMÒ37vehhC@Ӌ^t%A9N:gd}-l>Z)u 6V26V$,ͻ}ZB +U;uOPRA-kjsNbݕ Ïbˮ C#۲g1P)x8όz)VV_+dQoWMDPQ7奁*8&Ƙ6RVI^%p:?DH`M7cY@&hޜuA>ʻEPOi*lB ey TRsM ldYF߬Yêf 5\ɠx<Xz[EtHE60ni^H*W'@݁x6a ;XYdv!j\!fy$0~A`yP 4tQ_$NNEG)6jCg1B2D2cq{r(BALq`€vW"I h*9Vhͷ ePܥV5G9U-ⱁYmqMC!C|vVDǿF/b3NMm#so+#^Ma fLbW8BU量oеi}9t`íRB!Q!X ~{t)piHEԱ~0~7:0 +[PqL<0f-M}Sp)EL '&.\oCAcZBcn%'z\$;^R躽eToc=*ێ=r. 8yu~p.:gجu'#O2# f ZQ'Zs\/d`a=ҺPc`0*K,@R㳍4 Eaň>ס΀=I׾|Q}> 4N$( P&ao%yO52#L6@+J{ z}re.H(*QXm,NZ\vC똪 +LZZ@pLt2=?3dTp~R(|ţ\Yx;>Tt:#Pmetm^e~VYO'v`حx}[(^~zܩ)$SN%wr%7iqd~Pd=a'_Q^nHAꊆ[NF'9/{`5P`|L`){n`,cW88oy[!8-n%\KFÛ d~ڒŲdf#IMy +dd:$&_G1zƙRN0v-w75HX#=f$>ZN>@M33lAѤNCI/t5L\>cɅ"w8nBS>hةwFRROrζ=̰[JeW++Χ}i… J_i9l9}e,02ie_w\ja6MEO`?JZ<2k$Ǒ-Y rw25}'IfW2]UW<2{0 \ gUYǏO^ ܭ#Y9bޚ2vZO)o~ek~Ө@ Vw$ zՋ KzW܊AԿs-70AvU4|caDRQWsV* .}ŏ4s #jzu@(xS=zEЭJ +?2^&WڕpTZ3i^|y[Rv{ޢlJ⽡dS1z@._12~H'`LF=&hRK{s&@ryWhwɄށ&+}of>0ż?!o $WhZ4j#G.8Yxʁ;oߦc ]叞7#Q{\OVXe͚Qkk^pblz +GtO68}@szbs{A~}ۯxmoT¯qC_/37BG +rU^["0&mq8%RPpkHlz +E{TzbD7U'Ssg$:ZOV o^ޯ olU;LjiIwfyd|.Lo_^ڬ0q#(,t#{IHҗ ~c^R-ѝQmV5zX ?[i,J8k1x]Op8?Y < `"{w7O8>;\u荺oW7/ dFWO_-W)1u:^@_ +Zn .x{L5)[gd6d_9k9gy.nayƌ/06nBn#5_EpNne[%x-AS!}M~8`/z*Wh0umo +{},ظAEyfw?GxG68sW֍fm}TnLJ:v7*_F*lqӦKGycߪޥ/xNNؿߦد" +=yaY27ݯ;Pِm/lwiɱ{?\i?T&Te ]_n\>(!D=`r"n + ::;qݞs,m +arxm7m ].UX&ԟN;<1TMopt ~C] y`MtҮ(G 7R] GꦦQ# wYwyauẇu0JC,v;&+zE`'h@ +k=Pg&:! 2j'pߨl/'9tTɉ0vRᡚ!\x2׎tZJQ?+~Y᩠]ShT(mNX`̛-@ G"}=:EGV@ tbtN,4$Wރ;bwVo`:5 ny3gyׅ5WOcn'u @ 3S?ip 0`[f)Z3i1_/,8*]WԺtWCFۛBڛѬm;Ӌ:a6Y̯ h[;pպldQG_͑:6U,TLKvEٮ:%^Aw5GvƼꊪj8h5oN֧)gk}sڏ%]} Ԋ>!DeT^aLXр`+ Gy2WLtKqiS+"J[O[-WfqU + G80ElfaJolDR,v<ځ@a0g^$G9Lm&9vr;_9Mu=^Ph!y{!DXo76yD=R,=~+"E)kT{O"HoH^ft pξ)KcP Fi_;G%N oi}@|p0n)+ p"Q'!Ԕqyv.'l𤼐Zk,-nHxdh3k!zq/1voVrt|Hb^uک>9`r$1.&@m2{Y`9A~X:n Ib%>l  +O>a +}aU lֵ=^IvEGڪAÉv +,\X yӡQ \^-R+"5[` [wDjt/!F&eY!sÓaWŷ~1NG4Prv +t#}>Gy78=f&gGʃ<-Q4+˔2g~⩜nD?vnJ K\I5DRDnM]7UDU5f..6M҇*\/!=,S.>R6m1h Fs*E^y?(՗&"kgc-J^@6ڥ3v詍H.䥍!zhnTk9bڒP#;s Zp8ZΘv.5 T?6`zi;vsF6/mlhO!oxVhdÛgŒzNbГpTsq.M$x\t$ն$avaea-0fOg~Y~8C"&=0/F:V"7QN +ӥئ;ՙ!S=x$ Vl9WtgKXCc#xdi?R Rڹ {Կ2>/YW,>*<1fYdxuVZ 5 VpyvZHi=Iag'#@n$P9/^0L/.cA"^'@1eOg-j;?8]!nې-+hwNHhV dɖFQa\ DԄ H"Z㣩UۨEݞԴ_^Vr b¾QaRj/7 [ |كnal`uZ2&t +Ǎ,9KHP޺"ఽ!v"VNYm&T0-ki9S ֿt{Hz JǦ Eb0pk,AR}tůAGȽ%_h r{# oHSe4/c9=vc%D"ثi/iΠhw?VV JO% K(i۹6򺰌ȡ`Kž?ni@y0 9j.j~&k@; )Ń1 )=Q2hI8R.wDO4Uzl!XpǠÄ@#'ΜsHhNM$cf9TlKbq/'V3¾w]R(u댧mq@nJt Y}Юmiih4Q$q'[9!nϘUXIS PN~ +CJ\YffkNM]Mwdߩɭ.۫TYSu ;#kJP!܌dJ4\9i=Fwɺ:'<*tO"4!V\K Y%N.jy1rC(bz]"`_(4rTZ*GAjcF|aXı,%dN\z7,%yNdn3^ @O`s9v,/;ۺu+Ekf= +`0, GE.2ʎ5EN+Fy;̵[ƅCʫDԲ},e)dFuSSҞ{kHa\`8F' y6Rg?,VT(ص$B+Dhգ`ʅ>7gj1 S+SKw33QO ;]pjeڮ,M؍@\c;'l)De9'ͯZ:֞ {R}1 )I.|lk wəUqn~ jJlu0Z[ [N J.|կq4d{Fbk1:[n F0&ܧ + 栍.mBt贖.t$:6*mM[]K#RwG 1n}^kzHNNrD{|/:/-~Q$Vv2&uI9UaέLǭ(^L.>b%RvlXy#槡$ c[Nɡ]R [{ڭ;< [ a,!q:w]آ"h7Mתmؘȃ Qu!@}rD0!9 b<½T1A< + ):"\F݉BD +>{0!^^+Ǝ˫$|dr%k:ǠkЃ<a9+ɵˇ;wn˱]$-N+7`eʴ$nf!pS3)8SA:וX3cO-d\g>)>M]JіA923Hsc-օkLZU='y^[ܳRȔ@Iv̽׃8@$\tTtMKzep\*#AAƞZɏ);1ΛleMtJRelXojD-m_T+J@z5Jbԫ7;6CZӤQi\j[d9m&st@kCbMŧv)<:[yW=Y9 ,F(HƨVg{ ^% ^)SGb@YxWQ UG!nb;Iuޙ F_he_K/Yys8+q.(L<[t__Ai! 9`?IUMnwe%!8>P~WWtmZ=r=<ɣr&ۦ)#\Qn**"&~w kU&՚,tvUխH?g#( `-O'CjKP]nOxOȺNJOR/qLFBc6ٿwu$͓_0J9'MGedf5%n&h0`Psu +:'+E{[qŮf+-YM{pw'usQ-Cq\k),"OeC)*Ps.rabŋ8RI ͏l6ǃ*S - hbs F&!vRE97b&{=hT6%#XۘA4z ad^ DXKDØ ޘ5lGu"ozڡ٪)?&P"XC}ErLO#h.79o, 殠Ed{\_%#M vDAt\ (xImu HnPwmJ]%$&ƒ=2OeJ[F!'-NE(b)5>fGҚN +9Ί*fb<&B%;-6A \0m|]U;UB(P,6-lG߯wG١m%OP ̬*UϠj~kY¡a^rR!,MR\| W= +J\r`PP9w{el3˒tQ GKNш: %&EB'+2Jg'& MLުUH6rHKW~*R9V!3z̅}']~z]Q\VU·D 2X}?t$#|+W^NKY4O;F{(ޮw1b.$I&Q8S-:<-z! g#ʆ-9_e~uolm-/B&;\fI$ n٦dR6h8%Ob/ecSJbגXyg25*IbkCR#Ԯ C[9͓`9\}[eYӡi1]?oU }3D`qENkx6 826^Dʞ ca-s)ЇMHNyhi'84xd3yȍ<Ӛ̞CQ)ͨ?a#Nv0kXUS*8hR,nn/tcыڱcgHЬTpץzMqҜlyJ,yri`e@~ V`x!ô$fAs)Jʻ$gAըg;YȉE@EdZ +e}Ɖkl:<$_ * WxVE\Ds %ֿ\ǵ<B?9KpR ir b݅>O3MuƨwtnH9披\N TX8 V-5"$v,kß5U^%<2?%*ª}6Bal_H<K~y-r%\㵜i:OLI̤ȹ9|}sĺO4i9"k Gn4¬B9]lXǧ.O^ Ti@`4=\4*qpgX*VQrvSЊyB`D_^^kLiS)gw]{.(Gsb%<.r>p'mBʱ{,nڍO2p+΁w79/PEӰ[M IIE C:4=|”/%tx>xG3l:q yjK(`4)py-~ח<ŞFm/aZB˘HU,r4%NYRԕ/1Q5`}]AW%߭KRl?\wV-F(ϔh~zץܨ>pf $gJ|JɌe-+k*GiLfbZ״j׊WnWH"5qp;c?:$'PE)|JX#wpӤzh\n3] @>q9X0d]"'L4BrG[J|\:rN?\?\$ԤBt;>^UN۩R42%K'J7_l~x ߷Sp[0^%ٴ Cnɝ.ח43Y;8^3D豞sj2U*۷լԔ1":s9)AP,a4^Oa!|^K^Rhr㣒t,2?đS|[<άhVb(_+O> C>RBb9g2+^S× &IN?TKBG,+E#'C}ulx,+?ρM:"=E9^_^?}wݹ< b$1@E9%.OIfg/\ QgLY}@;Ý%ԕQޏA̼9\58n05YfM;F Cπk )Kz ,*Z6*n<}"mVZ i:EID)3{A!JLS<ƃJPCYz ]%QR>L<,VtT"n[x'!YE\> RÙ,< -&g=̧Յh0 a%Iy\ו&B4?]׏y:}]I t qѹ$ Iظj>.>DW;6C;%+U%>Ê^;lA'qe1naKKlʽZ~!#+sgh|Ҫx]by|wSdf?xӔ,L)`p,6tfsE5!V\1*}jDQ|sV0ᒦg3H(xZxRx~.ǒpӑ+ &Խ QGT-XA\3~[݈IVpdNiЙڨ.l@T{NƇMrFogCX0PjkE5ŔIe2>svjbNGl +Bg˵\O?>p1{+:H^#&z֤vn0 Aby1zKX<d˩{ 5!mB|z~|x8ӧwYQ'z/ݏIJ 偖8S2]Lvt._8R~yV4LWSsn(]ՄU>Ad9X$ma:Ü(-ÿeHSxejgPbz]IAl+W_Ъf6Z_.Y 7&Τi}oHYXDzZ>t8>,MB^dt%0\t7 '.|>R-y[Ӵ>|CUN6G%n sR6 $0֟0/p*T4 rpG5R3F:,qĒt,/&N&"TBz1zX3[WblON.^Qy3脞J75=S75{=T"$rg?!7K 99r,"e 9峥uO:f/}? / +˕+`}<~:4sl呬T +[V0 1a ~J>/\>|B +0bNGjsNȮ `tjkMu͏xA߾.RLzޘ >:iuy\3pE<0V'fȩ#\??fqf~($k9R/w z}ty q%ˎ(_2R +hDfcizegNSܵUBv=Jm,z~/)XJB٨:M[` y-K Lt>w]x|\̳PE* 6`Y m0sdY.gk:y*}A+x̾M67IGĈz{ƕq$`Z/rwpN|+1RG'!VCG<3ZgV܍g;ǦSG~?~wOܥB߸kOE8s)eb .<]s<8=S4 Lli4>#u" + Rj~—c%tN"Z&u?S~,<'>S2\IdQ^j+[\ኦA=>u)5! *y +I]l>@_@mu*3.yEG扮6&)j}A$R҄MXM5 O\춐7brMGƼ[`2hL7fLo6<|~e~(AYdY̦%%{p5q1VZ&Y8Ha>/+O=Z\"B\%QpJy:OsIOҩJXe΀{ZF,0>^|R6r3%%_TߤnMfZfRԕxtxbb|N%qcq C*U^Jrk&C}'XEZKAv.B~ s ?c^Sb:1(T2.EoH3L T ڜm7G.+ZLz-9 ӃXzLnh.°RwBt3rM^׆15z,K~5^PT6넸o@@4 oQ0'd<Z3"cSVvI${R"1 3U< ?7nr!} x ld} 1~>@?^2H1tCjj Vۙ6$wگEB3NR%Zc+?U%pђ7jDҴ'!K[ 5B$9CYWϋڐWT^]|a;M$+Iv!NGĔd}AA#e>eaGD]K_^8Ӈ?F8m7[@J:=2LOpRSrܹW3&0V:c6۩ұ W9 @ ;ZSݨhFCΆ 53ݹS`m)X,s <Cg>8/~.~:SFԙ AOjr׉uk&0ke2T>{ :˴WVdvw7 ~dur䲐f;i@tI~;B=X#M +<U*$"֚gfy|Yޔ[ϗb^U? !1zYYu;iRVF~<]2k)s^ K&kuP#^*Ua'O HK9:+-ъ+,4IS J5mQ,wI%A%/r,n0 g5pAO)\ES XT}Q䛘 )0|ӧ2(^P,`Q] QId\9J^LJCoy +rSܨڧcy ]SV,t$ +P4nfCTxO1=#%r0`qyT=Nga&+ I5IFզ@q4(rN  1Trph%vSWWW Da$ZfD"xJ9$W2 nt!VUROyqBM"T\8iʧ^õddWbJwʙz AN2xޥZlC H_ό>JNx RXI&Ý6-=A~^K 'K)(X],wn% +v1UF %H%XWEPʕ!yBE vuIʩZ Zcx%7Lu=$mgK/(ϴĐoE,YT˪*?_l<!)Vϣ>X@.Xlaq}0s) N%ZmVbܝSM֓qȧ!2Ԑ;ȀFN2y^ ε[RMr,,+E ejqPedw$ʵ3w[RF)%wbMT +#;i EOPN7 zd,vooKSWNwp/n5~iFI}י!ţ`ZKy=BBDDiw +ǶB:/zSU,riHڧrd{2 Z2yJ e៚גH2DZ +1Q8>%k*kuy{Y%MD佹˸hgWNc5~r,K 9rVX|VXZLMaDBTT1v0I%v#t{ N8ȑ~aB qzS&*B=umo Od=7HêrLjĽp` 5cT"f8ݔ Pepj^LiWS:f^ lQ,GGr? lZ +JE݅uU8E4Icr)]ӊS HFm8-M6X/M쨚y! ^a^۞j+ &wv n`1V*3.%.e>(cž\<턪6!w` ,kUu!IS,*O'vg{;0-LC-&V6%Qf)3㉃;|_'mb,B@y$m0),.I1Y)&eِ]ՙܛ^AJU2/)YӜ\N7dS>m:Y-qŕ5Bae*pH0)0*("ωn3ײV>: ߡ̸H˓-M'4G솇YyˉZ0:O١',( +hG+30庼\xUN@X;[FJTQ> < ?r̨VsܥDa?z:ˆ#(&Zm.]^Ehmך:WH1gV҄YQ>n d+z N_h?.q]EdGt^()ZĥjV[1|b(*seiJɲ;= qS^䩜G|,;ٷ'^\B )ltmR5W)/$.ǺȫuIP]R{ _ +Hٓ*`iN!QMu4 |\"xPf\J|&ٵ2>0Ƚ^Dƥm Bgງ/ 7Ky兖?.; +*{eg罻qb2rْ$I7r sa鼹Wfőf-T2L*gp$!8p5Ef0Ҫg@4cQhWn@E"eDȵXLTKD'@N@un{E`P*[P o̾IJl3u>s(?MfYYjF}|*(xRu@2Rͽ| ҃ ,MM( ^[ / RPyhȡ1Dק5?qE.7CHd +#//ܙMꎭi 3n[OPJԫp<vJ:A"Ovz)#(L ,,?ǨOdL ޟrQ}30|[oq%UW!;AkVW[Pmzsb2XenDnF{q/;OM;W~P(b gs?P0C) +ڬBm[ U|d!"۪=^D G酊o͢V9{-Or( +wY r]- ;X'd!fzͥ$}aL1R6cՂIdQ)o +UteYj%nabyPۣY9>h +] BWd0#Zk.k)3yThnVUcm$܈"JNΘ/g2 jVhQ.VhU9;HJRSASG4h͟dMZyϡ$CtPq0WʤҫЧ\I RFg$ &^ܟ60>0qWJcsU`t-(II?9]u7dvSfVE=8Sy6IR,_^mczst4itk Bȕr MAɤҮ4S~:UI*wUaR*Wg֘{H j&`Ѱ s"gl`9z\j8EAܒJpMXa^ b]DbCxV5 bZiJ bDtIirO6:7 4\Mtc/ O\9x_0qBRh^q pН)5% +6Ɉ0,܎wBkLGzsO2Ɂp\ +X;UɊ R?k})'@jsĽA^KC$  Z9a +1&\GT>4( ~s&d3UWs +j:"-tPVi3CWw0z]osI {-:GZ֦1aoA2XGm +3$^*yb:UgL0In\"PZcrV:p(pSX괬.[j%;n3Emoo0ֱti6x՟jSO Z Lu#P'a/c +QXfW%UmzȠ8n`\3El ;eyR;J(y!L{Pb 7)M`?;E 5%I~x֏QHzt3\'UH7 G2C xLe-Glu)H61343n>*kyS$SM^y !gD6P rW@npCߊHP P`LSl+FgDu셾n!QT69b,` 𫙎UZ%.8[ng'$oѩ U[Vhү=jr`p[z-THş5ѷz 8iA;["5x˓w{_ݕJZ0jl5gChh e܉Hb){}ٸV9ː}}]ʼ5nL{PQbF-Z`Zn֣fŮz&7#V_7#Etz/PH@W0pt4mK2+|45 +9I5]NoԤ]CtЪD)0 &'OKڋpl&J'/*p h>X`=gJ`}*ΖNG.jU[Di:B*$#uakz-_{vɱA]Imx\&ń @as,MȈEZ3+y(Nw,X.(>**u9yeT댆7QQ7!:VڴjN qu +@s[CunVݐ;Ž0֛yl~Ymۄuht7/^xըH٭|<7)֏6^pPTkp6\jf>:Lޜ/Pi J}ʧ>A=`BKiD]VΠW={2+}.كMYEa#oݩ$i_o0H]ފl!lC8*hm1|nM} +Y'Zs3R_HK)#f\O"ŊദS1er*Кv8/:LuNQ~~{5TX{! Tׯa]DԤØwۼy9;Rhzp7Q+#Z :Bٱ.?5ϭP+Re8<dMzJtLݙZšhX1 qGpUn6!}NatqF闦VCT[Շ5y;ɨQ:u1ܜKV8Lo[_QATфֈ!h:J 6gݿR=K4P$եM@/v^pJQ]-qm ]; +6\Yй :4uՆ$wQ*&b śɂ$kST~fE7-" =<ܠDfOEwJԣ${|xuZ6OLz(,"$g+t +nj eEQuaل 6* diDJwB(`қTlr r# ЍC*7;)JOyu@W h[4kHWzHֆ*k +~JPrIiD @1RI2, +@y6fX#SscǫRܩJ[/EMk=<>(6kihȥ7&}DڊM:OE"GPl$oxu><]VJP)g(ot_ptg=':\۔=ЍvxA&dB9L3'+AA4ƒdkv@T=Q͐y4_ q9W-}Py1 쎉:R~v*?PIÒQT>9N)y@!# 2Bx{'In,<"9@~ &Qz̤g}zH b{L_udF̪v5.fz2#<v΂Ǽ"jMGTL 9# x&_9{.Lw20AFJ0EoӴϰښ:M0E(C1LYOŊ%¤ח Pi)LuD&LP‚ +QT;L꿆#n.cni +Z֏]*@>0Q|P,`_)XV- bu5Ymz#kEHc"S3,צPy3G7c-MBEoܮ4\*go6/Oj`XS0u`|'~4j6Li9LH+N{۰Ó-:ԎfFK%IVJh?B/Slm%fw;[ >Tgxj&8wADב;j 6CmĀp)Օ6an~8f8wUSZ zܧtE?P΍$77}l{4cŤj1ɈbS&@܃99jfMob]S+_D:6ڠ̩T1EiӎƩOm ^ҽPQ=lCU^KNMh*_nHdY=%-wL'S0AIױGh?B{SOIA]FF-Xw1w IT.M|& gR-$GqLJԻ]Ѫ,S_?Fe,.vwFׂ-$ߗ n gj&M{",[` c[mڎͤ^-XwT-(r"]mJP!T%`L`ϼivg"!C=8^cTW]3u橂}>,E +*cmBEA9-GzpOR9JN"D7>mU~" +{3ϟwB9aQfmIeEe$4bAR=dQfX) y] ={Pe&^qhsEEJ xNk@P҄gMHѪ}cMe8PkkJ3je tU+[9nET(_k]fo1?{2Iy0>xuVmWaUye*rtxNʔT Xj kG~J܆Phar \Bܖ87%*|gn}YH 鎙xX,2ChkLr :!BNluxom3<3m-k; Ѧzh -k1URWl69R<%fe=d8 Mr?tCZ}d{WrJ `,8OUE{j;;)gp\l?F +X'7QM#Se&_喦]ěж)YGu3x]-rzbq`BI_tC8qAZSBjnV>1_Y_ gA[U_v"hIrbuY5ٓmiSWxt(KV91/̳K3Q(!+/ڢgÌ6"_-|tPv%g:8&JCǓgxr*e#gh0ujݶ 0)K2B}h +2N;56gb?2[NxF4XKj>>kqB}L]tܢ~э1/Yg[.Λ@n)-g&A'~R{x8Y->RmΈ9skk a7p@34V|⎊n*KER$n"$Cev&X2Fgz*1Nr@"U&ħ',Nz/V^Y?vOQԀcM]U1'go^ĜY)ml;&Jn'Q%g0ml22ʙRLh)`E>,NXdv4O8vOTQ>*(ht( ȑ񤟯粖B{&yf0%EWhA1J2ъGѼ3ԺO:Sdl C5n Y:f! Fm7ȧՈzB]2ӤnZCRPӦ4]v#efԒiSJŶi/z51xX|Oa7fF,ȫt/y`3©|/lܖ 5ObwXtbZƝܦΌ+ˋ8π>_r҈{uӓu/M|t+zO=; k#ڶ%teŋBkc^j7R1u)4Ҏxg^aP\8$9nJȳ$ ګ%0D6-!M UUA74ظ(DyHzKIcntA QO/gP<8wV9IYiX qd(z6V̨lyǛ5dpUg@`S,9ۧ?D^ +GZ*,T +H l6z*i243To kP`[PJ'T|d0O&#fsV:?3lǓZʜap.tmPkECglTQEITv +W,Tޒ)9W+avvjTӘMt.:|+^mcuF|-FEO"}O+oSY! +LOA`9 L J >)P^Zs2lVggV18E@SO-!.GhXg#Y2Dka+ngebq.8h[Hǰސo zzV EO|PQQě+ ӕ]#;AA}HF%*Qv:&YsЊ7G3tfh-OM *wLO23*ۜ[IN I Gkc*2S4f"cA7\\0 +"84M{\a?%mD^n;m~gpz:ާչ8eM7WMRlݐO + TDJ(1c[IȜ Lgi#) #7 IT/^>EiСC@E(Ϯ%I:bTQ.LϽzzlOFNv\(33mFCh + )4tu#,h" .Ƃ)Kc"ۉ~T^|(J~n1fz_@0sU w` ȬV0& +cn5qE'T iIuB3KW6ാN&όƋBBK؏_͜{RI4礪Fq5jZLXpɧ9=_*rJvOTd4E_D2K}”&%P贫KM8'pIexQ{D> foW*#jXN1F%CI H`S@0E5J-]@?H53A;EE۫v<1MAHK"j͏YѮwW$um!T2d`Uf*> nUѱU1c&/̕C*L'@DD{]T:58`K͊d~xk9DRN{aF)A`deg/J`8ʕ=N9h Ag%`ީM7t"k**KPmzi͠9kٯSTؤ݉~6<.X V8GP0#d, =ɤ +Fl<ح `H 9vA͊[*pԙ=LG0Ǡ &gz-)!Z-΍F!>U>*Ykcg 3E +=_bKދ?H74Hgzs2 eÇiyk0_rC:x&+VY9欹x[-F(WkۂX +[\&`~ae\C:h P*z6,r)Y @9%==fc\u䂶ZKs=.EuHւyzp93=L\֍۵0+'wZ }^ݱ ?q7coTLRmK+)R4h?}d~`6?d2feU̔ 1CMr TVTTR9L%{Arj9ӏosat0Gn_N-ً+r]!U2=l/exU!ZV*1a;/ڦb)3pd-(SG疫lPS88eY=#8ԯ'ӹ/ + $icc.:f4ghd7/A#(OI3qo,}ן Cq, n=-_Vu+׋Ӕ2uN#YٚTDqQ_&@#WLeˆp5p^xZ3 JFL~>f{n9sCZ6K/ ʄX + |]Z=ɴp7EA,31H |)2mK.!r|LӇzzpo+BxڶT{|S_wʮz >d0Ԩ´8 R}]̃-܂,:{#//a=}jub|C&cӨnR쏔x5BˠIN _jAcӟN;fa6 +spT\ƒk7 +85EڊǙMi_WJ1QjcZFg +NC^|d&qǼA{qˢ;7ɌI D >c;ZSQR 6Ԝ`57T73f:2C1AlXv.?UҍRMn#Udy{FKܟ1zրϸ$ 0eo+:ڸ tSΓh\&S*l݀Tz$P0'qpkIsi{ڄS)sZOlwDFrX@m| xuz=pv/;%;<T{9Y΄es1gyC}08@{9}j=x^=DG##Rm%.g0bI- pQvU\GE=h:r|9YVTDA#b>i@% zK`4aݠۨq5s#)XNs1)6H]mJ"=]_cfB.nrgbyar9n2=-f;빪]|j 9!qTh9-1ٕwc#*%9F2@謣sxxQm$i]t½N춾YYA5NB*ⰵ9S1?9/193GլoHY\ΣZ t;E7Q@CxNP Z,6Wqtݔ v|k3۪Lm8QOা>op)uԄֵ*[ʏA8IuuQhXUZMaXdHP*UKkjy ά9:)CF*SCFHqvh߲B ;LqsՈ>,V=;+WRl +*U:Ωș. g`Ԕ\OTotRWVmϗPBgШ:>J'}s͂vWn-@])X!1ѽ)4*I;vfstl5X]$AkɠvS/Vē^9.'pgmt< :}D@;%\EK$%'Wha(㕞"X _`JT( ktDQ;B&_5ܛn| 1J7f ,O 9pr},>6Ó ^‡*<]թ'$ Fs)iBgyރd[cT:FEGd`3G:;K4&KdQSp +όSn/z&D V1r'mh 0wR0KBFbOp L1lD 鋍v:"=ui$8ѕyHtQhT֎ ra(%+o>7V%MF3+ -|+IQJУ̞d/Ŕn؎I3g)9|t_SwbBЩK%wy-hK-Cʘv  ON-r98'މz*%u.nrLC<_XMDkYB`"QъZ嗠'o~frnؿD>gH|f +7r f*)4>寕ݤ 23rXyX҄Aj:'}lZѼBȹb{tNuM/0N  XdցUd6]*_j妛4w&7cPz0G*A-e EvЍ"#|̪_JKrdVo+!mjSj)uh*BcT#n0aIkhs\Jpk<ޕF0bE;cT!K Z@w`*$ i'RB=0lF3یզr;{Z1@_ 9}mOnCf}XmUf &r\ӳb*`zST"t2pG'LXB#yCkV=ڜqb} 2BL k‚=3T-OK\ѳʈժSoL ng +ºBÁM4n[Fx=< gaZBEݗe%_ +j L\COdpQFM?#5( _RKv@qb2 /[j|J܏^u朓04PUS'4T#l&Px5+&裊SWX^rN*bkTQiũ/M +6y. +R׏Kz<:8Մg52"Hم |fi{PSp_i~8FM. 4@{1P+=CTRfbxLA(2& +n.|&!}TEfPjN4 4G0KI8w + r/ԚY̸sLhZRmÒ!B[/L(+ә4xU,Uqf % kOܛB1+Ս9qNe^ +HdiM5oyPFp#E/muͬTh[ֵj6hJtYXbuKvP[]xd7tc2Oýl6 #VAҷv<&BWUk +ï/lI $Jquc)&d36k@hD.W,߃*4qu"l?ikVȳ) ԕT&[>SY -4LKsV(Sȧvԍ6RX '4$iUpJg'(@X֝J~lğY%B#42JIAK$`iY׳dγlw~FkqT&.# E +)ƍU뉝}9C*U6G׶chēn ewf W)*ƛ3V=0#3mPPp ܊ Oe@UY^ ŹF?<@>{ydY`LyCb^'5/(zi}%?*=whr \B;'4tBUƘ>`V,,:=àv+jp#-I"}'t=}\jQ3CBB<

OìrYNxkss(lOLn(t/,w,Yb4s;%.8TOh'FuK2RrBp~b-ULIHQXO#fzE8C o!tE+5!ܐW.e)#c1o4\\0aH󾣝ѪY.̩)'G:$a TFv┐X_$юud3Q{*PlT_ZW_6U P7LڎLc>Ixrʑ-n95&l N6,$j=Pa!OZB_+[+.8 1H&_d/!ȧ]|ԕ],'Ìi=O L@$!eǑQYErozz~)&ŊYY} *.{a,+6zeeLH@Nx"PlD4_8j!P2?N(#P]))hrDH'l2``#g ~IcrQ +J\SKdZ]|}2n#-$~yrCH)Se6ӫxƆ KIF\E%\-hbԝp(erwWb@qoP!z L侀MC)" b AW%Q acg՝P?h$\)ۙ",MS]fTVLY''!`J"A7VfFe5>ߊl&aX41ܼT?v(R+]ElB8_D٧+VcY7EMSős+[)iӰ7Nhp*t=LH&`Qn*YPYne"N +O|J76֥m򶤅 ArpCW679h@$>3kwZ5 M}qMIR\^eqi (h[ׅ9gDza?o_el}>9'qL.mB7xcQKvQ.@?* P1nGS0oY`awW+A' = }Ks ;wf<61@2h~V@5Lډ~ ERIۍ6E3 e@LLZHvY;`]mHA3|!t2E#u#(Hge$gy#o xYd1~Gѵ_ is;vOmljʜX>C7h(҇^5ru]|B _e{}y?㻀E[]UMJ{2=ɫ3p6/bFÎ"T6X6v.ϥaziڀpxݸUJ[QF 1e JaGHWWI@YEQ:$pNC432o|w҅MϯqLa2G <Œi)%]4%uԈ c|Jُ}9|W] n|RPZѩGjEr!%B3JfK]*Jc.Ր֑Jb`]@BxbFu~NIgA'QgQfaғ)( kk0v?]ovp<ҳ;\P)kqS.HiΩZ^W/陼=@_͆._ԡe9J 3pD=mxA7|ϻc}=\0ɅI[jzyLKW.;fAIVzhU h ǻrCǯ{Fz*&``h4O+1+̎ccG;P2b:KD8 #U*㮥m4ycU:_ZinBS]W8jq˝{ʊ@*bOB%/C^i8_߼[u~J:9@<9Ɠ0=јq9}.bFQc6 h4I3ri +qaߕ>f1EIQ öpJ1 )vD5sxu|)& @>)b{MXlәj>ei r vg *GΒa&Qmh8PhB쨒wT[ЊA) NQ32HkCQyzzRަaLb<Ɯ '^wQdL'Q(Ǽ7T7uGvͻ72cvt6`ٍ\UEy+Rw׷T5%SǶ-\C^W1!h,-]ziR! p8쓵XJn4D|4huIvNa%e0VJzÛݾr=:8Bb\RV3`hOw:ԑBE舦q6n.xq% Po2ޖ~Ahp-*1xG[G氻|@?Piki_QhѪ#ޠ0rR.\¿m::.GmRNn( azN%#|TbA!BjZϻ_]JK^]WT"j'Hh96Da0ޢ׏ 5gw\q=xuEa +eWc.-\fE4飡$I !Ba+Rr;o>AAt="x&)MV:Kܗp͈n=졅zM﮿ḠGGGIO@;8S4@ѿRMw3^wwW߿ftnS1'G@x .B}K_oOnstd*h;ɘBwec/Mn +ZX!MOAED.Ӈܧp ++8Lg `)'Vt;6[ᇑdd7 S Jۇ7|ñgm/o^&kՐ[n楼TG-8 H[l +b6 +8w7Tl%Ŗ"lsѱ#tǗww^~<89}|t"Q 5HRfE w!t?@HT ~J^zh.1)@:dʔ*rwwW# .XéG(X--R-fmXIA=-{P%sV`s˖zՋo^f2RuP\=%"b}Njj"}@{om<^qc°x3ì q,?}7.RKJ yW WZ]r2 +t(cy7xs}M.o2晆yd56#NAT;sI1IR˞4rHu9oKMyxTMP%"ج5!S1iKEfx[(ҢQB_uB5ȜIm>PLY#*7W%e}\Q&4P'oR27>yAsFj1$5bʹFÆjzy-^[eWh )Cp~zLq< +TqH9Jc :КD`w$!YbwPq%Gx\M 1ϱ(KIbXPśR0 QE +tY":P?~Sp/U:NG­0OEZƘKernT;:sn)Wo_Zmˁ^]kGx*RYUEӍ$)?Ciz<0AH?ځJz Dv9G +򙳜J `^@:1P})ܗ뻻c~yAS3if'D48Mkʿ;w~/aWη݇ûxtG£7A0n_rO*{yz:ӚٜØst 'niI!Pb6w=!$V#2pY38 +\?]\[ \{_38+<$DOLцs_!7!m~"ҳ|&!c7q\1K?Xe "-;YAT("~IVqL-LjuyqH1 ܶW .8+ @KQ5\E%~*/_^edneQWЛFa(3;UO㚏B:zc,cDE)t\E;VOִdžXt/.lzWr5rdWV%NSOQŅQ۔ REZ->|II2=2,|^lLJn*8|vtS}~mo^^zZvTTG3=+M|h]Hn @K᫿߿"]4"6z39>e7Wt1o^brz8Y|wdGFҗr(Q\惰4=!FWv7aE,p>!H 3wc9N뙑gFz)|xQc]xчaKD[7NBmʄR`Wo߬./l93AWHho. Q2 +typܭ;fiQU +[!L:R݀ZQN޻0o|uNKɟ-nT;GYWŭ|7߿q1݈[u)>w`lmFlLҰP"Q{^TP~׿-WM! gr` o 9[JVfQILtdOj+pdu=t\n)9Ā{R9mởoo_Q >Aȱ1pZ(mPs6]1>!RnNFq}囷=7JtH{Ǩ>{GRg&ի퇫wT&Q#0oO5 &(3Wb!cE&m'J@1NB(r0G$7Qe +F᲋eI0t'Eٲ6嵹T!Zꬶ:*kne)7)W|/Ytv@fP,Nz̢Lt&ӑA=o2ZD焉rG=< ވޡpV]X{N|oyr/#-B?`f _rP[FCqiR o/i;'٦D9ȥ71,( <\gikIx_^olcZYԅw\/ ~p"OYeu_Dq_c}C`t(^(" AL}Gf*]HnM6o_xZ1ዒeD C8ojST6ʄ*#7xɷJkχ8J_%~!1G8\nx|KE*-Ϯi+^ EskөoUBOQ:΂mDaFp˘>*]r˷*; @W&}ͯco0#i+Tۛb@5&sr~!Ry /&!JHU8"ԚҮ_vK8B iӋ?k*wWV*zۊyԡZqϑbD/wU77~!8¥pi-$ +ae]uHeJQDpakxNli{V Oe3|PX.'P8I}c< +F4 T&ib=LYi3kz_8Kj xgM +*dliqCǻ#lb\.B m }0MAX%|CvJKvWqLvj߼)wE9ηgtKCg/Ο {&f{a}7fYJzf:SC| a95v0ȷ8~z)\ +鏯?>ۿ%+ ɽp<2O0ytFLQ aGY\%'$Z`cQ<ֺfTX '20XP=*aN v8+J//_}u =KO>Zkӯ'orzyk!ў\|^)PK͛GdKz;NMɞ0XBin]Tnx}_MT:Yp ]_^tyT"* !1YDfKl zǁ1rTo6o_\eB( + 9FA ^i/R%p3KLj~PB=Iۘ='Uth=Dg_nda8q?Pͫ_ȃ-e:#M7Mu׿b1pcy#U>u_=k[aCC`nqoJ˯cΨUG}E8&q:utjtz)6BjE&_VL+Ji_m_Y_^DQW /:eTuMY=Tkp 1E#K#Ư_|e8^H0<Ȓl S\p,V7CbB@Ċx_~߼xN:sP1O9v A Yy[b}{Jf._ozS0Y,U߱&&Ldc^d㋗b fo]Iizqsw~&MwޡVxrүbx}ՋW^*_.%?G< Hj.S0=6\A +z6 \#̜iR\w|C.7c*Zxn.(2ҀN:(`VC TMhDcޏ5wovIƯ ɩpKIHIrFig ,,Xnַ\x@xb>8Fݘ͑s ֯/(m(=62u[+F-*ܚ-ozo_C2V(NL 3{-0P~w}.&lVK(ߧ(_byP\ a3ʢez`MQk"³üDZg2kWޱEoB͆ZVIͭUkaiz4 +3ʫN% +݋nuw|śo/ P7 +?-ڨԽ@t)ig,*5%P`3o9z T*>b)#ණ6ݪ(7JJ1"Q*"7Vr5nSoLcXp|{+@MKaz2hE MT`ۦf|mDj"PڨN7Lb8$ġf(/"1׻ð߯xzB=HNYx guƒ_of#jj9p5 /˃-vh3$9>b2Q.8o|nhrLca?ᨇ1=n5BbŝEVR7QRA) +q_(Ǣ|9GG Fn2d\V [Srl d֊U^ +Tx<<S*R,@AR%1U:ZeiIcc˙ʤl*Uz# ?w\0,TFkdKXd +TTUqAiy ,*2`OONgݏ*g=QY"vB4珲fp7(n$,"NSj<d@g %ԨÊ;qȘd,+S(sw**mysϽjIٯlئ-۱Cc@~(D&_$$D@!p (HA"p"[ +=v].7U޽}c5s{\Uֹs4_cx8LYb3!rS]8LeZh+):s?@MюزE-pfTg?/ONGmB ۪l]y %^;gJ\A Tx.>*riu>RY3%̊\/u@ &ֱB6nY:]rˡ<5ۚYAb nUAU?PC|/HJk؃CI-wQ5tLǂɓGdtغ/L99XV02+I-^J;7T?e,>yEfw/hUq='AuIÁOP^2rbc+o5F*\fpmز&պED jI]LKK|JWmϬQn)h.Wbx_誩&]xa8B +rv<t G.YZ + n$7yy8 \9P-0$G-fʤyB03+ܢG'i~.CIzgMwU,lwz5Ba'$Wꈫ + +,q #o/ViwV+iŝÙPhTL:ަ. ҅4^UYjОj ^y8Q}7r;Rʦg mGpՠ׸YS{RY*JYr6osd19.I2!֪SiL*6K'݅iwBmŢYF.ACn'5VjRq +C\'z79.[jADR4M|"s3:ɏg +' ++$iKjLr7r֫ejX2Fx׫HrΞGZdqyH%svgi."3"]XY +YP~8Uȝ?GFڿ.X*0*1:SO"y#t´LuX[2̓TUX0U{V6vH Kd,bz(`lS$ 8O7>n4%T0ZBeD"3QB566g.st%\$rf#=W:}U1`: 'd@"~ GG8Xx%ߘhjiTLtpC(L!7zT`ߨZ*ֱiTeVp㥸R jUդM`as!)VyDz~Ib;SBmRP h)SN $3h]u.rĦE0K5@†5*re\Wβ`JRh Vs_$4:K+uS +Be'J!T`]UHOV--Z!Uc?<İ-3ŬL3gAL}}ݛLl2`70n]|"]eEq][N &HUxP[٥,]>*Nɦ̕Y(.^z:X!/|]ˀ6Fs0-ek>RF) QAѐ]I5;h~֎;ׄWhssk P+3Nѱ]<# "AvXvnx9yBܣҢ*T.J'{Og6`r)sRYuX?lqF FZci2J7r5+ꀃ)K0Ni@2کKGBO(P6C21Y;^F'v1d,g˚& 'K)6 Q% Y6 f +~FjdU\q;*_yo, zXpA6?Sd/?!ri_t%XȨٍLԀH?+R+M`mKA9H򌣚+tlD=("Rs%;I˦CºI #d{ۭ9Ib;]W%ДT vT13EĜt!YЩGʧ如HJE>G{R @ }jS%WBW'P TٰZ'*(k%㯈Ibq_lEGI-IM٭'Q}a8ܦsjF͸U8VJW +#.':;Mi̠Jhf]bcY05UQ3hmK`KY#-k ]|#g6NbV3G^4[x *݌∩v}@v +Rc !g7BNq8 m;mWj T oqIڲSպVsf2:Ǭ +[8<0sF0B$Psv%ջ{VZ/ej5Zee:; :ɵ:"A]-ZzG]NKC02 ?h=ޚ́у;rM_兞gIbh@b(Q[o rZ4mf )] {$QGPqժbLU\ ?HN'Kޞ%{?MPUp4^EZ<$3ō`:|$2q՘2ZiG^oIT r\"@9MyF0g"4j|S [R3)%y4$R(bPHʴmAm{`OWO/b븝q"[oNލzҏ\& aRXX9RYPViVhnkQæ9k,҉Ӳ¯Dqm#_!9SL\YҺ˳Y(TSMLD3 ֤7մXi Z P0J(&q1S[BB j;);;mS>(gnZd=(9wj +(C|LF0EM2Ɠ7c8.ҒXmhQ\8@{c ,C ^hbJ+⍷ +j.լ46''"ܤZ։ nER%N'$I1dxޝ myK=팆WC-szT 4Y$ы7[Ws' &@ p(>!hVǑhv|jE|AƆ2rY/tya#̊.k ;+{Dn|L*Bĩ !D{E3#FF1@`<>h1'9z@jGrbbP pE|@6yV Mi̽ 5oI)8 +P Y;6/jWJvzvX +dY''וtV}T ZKv!@hz#¦/;J#Vd(c ˑg8fqUBz`sÏF4ڜ^,? d!lʖJ,0-#eU%fuDbH#UA#i6 Drzd~Q5ۣ/'8P͚תʠ=kQWHxkEScclsmu`.Y;z0EYT}s3%oiRvq%Œ4`U.h$L/؄9_B­]\!7uf:Lj1pp*gY6)gm퍐&F@hŬ N dvk7XWd15un`Y3qSLCAsֻ1F”^O\)مEa[V :XV~DOHHWq 魲5ՕPz@ "kӳVeu)_<+"z,{ +=MSrn;_IyRs= }SJ漏J Gj04`*¼zW8BAY Í$f6!B +Ms}iEQz8ǤS$>AJStNqh +ϫ>VDeu%G=G:z&FR,wQQK9 +pD=yz?Կ6Α]#8v82ut|<ţ[gLV0hiKg",R*v}I0ocBߧ6uMRU19e%G|Ғ3]n9 #6 Ȟh͓\2+*LLYLZ[cvxdQFnz |y*&LceC'<>b ]GxΡ]ms}cvU`zJ*`rB D% +(Af-u<xO8qw +ߊYdqO"E8k,B$#^ݤzIw &u-k+jbA}nJwrw[54z/pғ] #ޛ{όir +؛rv(٩ `V,SOfo$H1U-* +DL}AW +7*X,ړ9M,S]iEη<[ G1Ls>` %}d֥qAI[lB99PA!Ʉ{+T )褪㺶Us|"jnV8$wRЌP7;Gd@io^f"0G"szԓnn!A򸬊OYxv=Wb*v% 4GRpm +-Oι}X<㞺Dm_P@&Qu-Ь7}""(萣t' ݖyEEJa['dɺb1?> +t$E&f><$#}MX}+0Q~:lXM[xg6utLό.Mj\:Ȑ8D4t]Mq,Vgod`Bu#owŝ{|3J`4'o)-7 յkZX(SYde84(pи#Wnԁ mX@ S +j(Ru\o&90Ie<X8nDN'O2uDxaq2um}ttE}kcPjO\/SgNsv1.@ceYe^(Mh0G-W1:)ݰ6FTFYra +e~FOHxFSZsWZ{m:s Qt KS#=l@cʢ|"\XXҮ؝=M} @p#Eֲ11ͱ\N]j-,˜!ݎk(8Rs +zY)r"˛.xDjJ~34A쎙 +rRs9g,+` `yVBC]33ɷd啓JO^4WNPFCyjhQ"%;InXa`Xk̷LخT3E&FgIUb"u=a;ET{G=iam3r4Y`?V@i P b 96N)V){iӄzopBG}e0 *fפ8LHh_Kt_ڲ be+e +{ +,R#JXQ+{CQa"* +r[u䍎2.1,!!xBSN*G4+P4qͺ,e :.z9^햳NI#~#g%mF;C!bӞkXz GU ]_,Rb9V`:DDH)A,dV\TPt,axeC POiKeQf[-:')-S:`ՍI7q$OfhC=ha> 3ԯYQqHMA}*u |vr=Y!YߞSY f̙zU EUk(˧;ڱR Q vĤaOcEhb ; .V`DѨQ/^atzp)VZ 6^Y?Ӻ3xf)Q㍆y(x[^54FMNO_Sݗk3` t6aӫͽCUӷ↪Ia ٚ.H?8zMϤg ܑ(nK \ 0yl -%ҫrA(6bhWN<:f}Hm93ϴJ kGls'JEhOPaXsehwj[-\%9Vߖl6NƖ daoO}^wrPVNv]%gfo&%^}0`R`~8LLfWh&kT[ŵjYGq&L+U +FکTc2^"A5q=2]˞|B~ؤjCƪ#*fvU 9ֈFS+AE㯂<`T k $8h7VZC5ɗh*ĻbƒSj+Zp5T;b?A=#A0a3G2i'qwi/eMfelK$]%CM°`~Z̐~m "eD`gHÍQ:6dYזzǚSv^lr7EV*YK}֥PК`ۡ&̶gf:% ~TBV'.l]Mֵg"PZ7<!k*S"SVe^v:e6+K@m +mj?&mH^[!@:ppt7}%j j|X +UWy٧wPdPƜa;RjRnbBڭֲGS낚LlUה{ >HNfHpx#+%X^U;X +O?hMi.f}յĥ8l-Q= _kG$[~Ɂz /;ב1 8\*8J6Zno巳 ;1ō .KJj^LM>΢A%u(MNv( ~+۴+FRwe?<ـ`LCҦB=\2x'żOS{H2O:oO-g}cxnJ +P넴|bt'oD;4qlL Ά+i˪Geb94 S]` %jNjsTNT J;uҾ~1V*ivOY{g,{R ,Eͯggc,@8=Vm7)M^C9F<*aSn`(+Љ-x0M!*Iv ;ᷭsaCA.+1$1jg1ژ-tOf}eo,njmzˢPdUR 6ȕ]-iX02Aa"ЖTЭh &8ȈCg;N!L4z&@tR@7*̓6vMq]Awt_J+LQ>c~5e vcHZ|y̵!>TÙ 8:cనmI 8T=[q9€bF"^J &9yOm(ǑXUfi_~|z:` +t8JlVѐZ0tWȿ$3vΪB&/C8N&Y;um'E:l.t|#lFt g1lFK-n]Le~7%AAA%hەV3jAΒ$'fofo8r-i"B C8%Xʩ\Zζ%(t)ESPUL +E lo'q&͈Ia9AiBd:T6Ьj6?K2c|GF4Ѥ@SuZd9nF ")ޢS'zB+XĹ%sQU5޺2b;}c//eyd&S( ╰ʆHsC,Eb +R + ZVLbݟjaS$%yh +6 }P bxA*SKg[lbj4N)\`[THg@G}ɯOտ+;貃L8t#k&BD}[im#()X> +zpb؋&Cu Z0c7[vD\Psif+;b?nR%jg`4܈O8-ea/@`9 rlpΧ큵PO J8 +7TDE&]Z*tPab +[gݔ cֆlՁZ.J| s\TRDn &xU B 6b~Zd"问*+L*eK+•$lG#R[4UDRJR\Z?P}1cnK _Ax,XSuU < 68yp +UFi]nY(2th䶼z&l1d@WlPK焫7&X+9/Vқj49\`A!LMJ$үyXTޅ^8Cr# (5]^#z't i$Pq+gF<`'OuGj]/F.uk}.[ޥhT~V02>J,%5w:=xFo EP9RϣOXL& 4=̼/"da,VD-џцR6 I~6$훼߅X?r_ PbֳgsG="yXE.'Ku,$ `eݑ]b:Fk""hB +J4IvQNoy)'uّ*+hhY8}%B~ I`\ L [f!ݎOwZN-.ܻ}(٦21-į>D-/pD7ܥcnK&1uVkX4y3G$vBD=`!lY!R"Ȍ9&sW :Bxo˸ʹφv)Z紸2Mq◉h F& +q3nN5l.[҃fʾ rbcgW/hc$/_0fҔK}AWmxޥki\S1P:\6;@Uykd0OBǓUv2fqRbr1MZ:o7~vzLU +FWzAWۙyuWM~*b&Bfuh%%a:mz*NT^EШ(8b~%NWM'4õ!ttu4߸JfD'$%״tMBZ:EJ!^nEW!%Wj6r1my#l `&΋<5´sXgч6YsA6 l$&GnMjYle ^E찔JuuNwITh|vvQ`OSJp`MO1VjiA"/}Cd0Au_8!Ŗ*y)@O|\K2]0( 9 +*|#IY#r\Cݧb7"^ų{R/&״nv6}B Vqiu=Z^ SC9l.&^׋'2dUlJ:W_OfP+#_6uH9[B9Z3]j6ng6?Nz% H'~ZbtŌ +) вM-\]SQKyv'ǿon؟;AqJm=Yi4e19;D_vdx+=^.0a)χ|#M[~=qvNb*# :"fzgaCq_ % SauӨ.c+)fQ\! ‰f5g8/MQuZq (} C]' ÆZ9҅|=oֱ'Ly}AKvGmY83@μrh5: 8R&YRF"$k؀FA,rDW} +r1v|p++bC?\\h]4Q&iω >U}j](b_clv!9N8r!)~5лICZCa r!AUgvYzR WL.[~{[;q_bCɮSʅ!L)cr2*ULz=AJ7cv=n[%i)o;QĒ9PH4@6/_wUi.}tS(܄Tj8WU)B%|{n CQě& +dщ$u@`,Rh<2m t,75=!+b&.~ D![%tnq/~=ߒӯ80__~Oy f:6I=hL`Wzb8k$Lܦn0MU5r܉) neTSK2䠸s1Ƕ]*2e"qf9Np,)l 3=} %xg*ާXr)s~wGD9q$ŽV ܄Zc$^F7C\NiP8BB𐂩0nWBpK?|[}MXt|Bi$jFL'A<}ڃ Jx?t%8 g-4]:vVFv23N{ٔa%`I6)'@rRǻںO%8MOE-H'ĶzɰpM/9^Uc bg{QSq( ۬Pw-%+g^̕aWm:__y/0{Za+0x6sR5; 2bV-[)@ހ0Ik*LX1gmK#kGgFzM|4b}$ezTA#xjXѼ6$ZabU퇁LZ8፯{9҂%7t.Y#f q퉂1~Gj[9| ~@.ntc[v:E@EMӻBi%nx a{uXA=wjf3θ2!H) &҅sBw)٦O>91}&_hrzK 97ӝ`qYaD'u#3~YDOu^)'#K$EtD{Wd5ҦP+GB~(?M_!&P2ejS6#Lp+tAjhJ'gjM.*070.B3?7ڊQbmh42uﮗ 5wrqbZAנP~TtYELiCm +IC؜L<Ωr:KkNQT ct@s\^TanJN.CZk=lߩR椮;)j?*uC4%'xQ@*&l\q4UM%{C3Qpulҷf!ԹWLZ)j]Tߨ H]ԗ(hЧTDT@(]2$QkQ;teUiBܓa11q_7d5vw`CĘIhG+qOG5!'?AN8~R_ +_/ fe*ti$'8B4P5Uߨo_~/^JyElp]BCf5{Co:B=:qSޤMCC8G7]yzo>$9TzyozwZ.#d53HL1<>7hI}ei}u~MXF3^RP[eݫG͗µʨ?klwWoze]Ko/'??dyW_Y/;Sm>bˍp=u`ljMȥ]PBw0. +9m7^+nKa]|ʺ<]߸%w|8;!j.KO֞]zb6շw%0|V*( 2қ*I( iմ5O6Q;Iǡ+~NE$1;iU06쬪d?mq\ y{!3hl}GòUȟxT~1<_Do/_u )9}oop_Ol?{ߏQ; | 2BQϘLasg[8CGE';_0'kQ˪wDo ֯$OטkM|׀~ejYnybT0tQPK2lVYO|[8:oΦhes :Ɉ+ȷsp \1H3VhîS{:'B>F۽da6uopzGQ%* c/izW%aE)acc,' [Iu\E'!>͠c $b8s{FckQ&%8%#{Jסpw-p,%/?}_OQxilH^?v|m?[>R#s?o~ѷ);;vnB"n6umJMSa8BmYT=0F9\ *ambqvcⷱ|+H:rQ6syw8J~&h8.iAhvOr]F}=ټ|7p{q%?H:;~ƍr+h ]Ssf^gty6sJ|q>IK #iwS5II&"(qpF=_(Stl6nmz+wdz46YY;hSPN'\AeEq8Hd 4ZOX?Cdu5?Ԙ(V3qv k@KΔrp.|W$tvoKy;! QLf]kD]N k$^ܖYa %ħD:ޒbm ҈sl y_O·3>iz o2+%Sbo]TSp"{L4%>]uX6IyVYu'ՌkuQGKCol-ibVƜMmhqM6W]Ro(u^B]rd͝}ŁeG^@~؝\ExXD6m +GPm f$vSrpf`ŤOhB/}Z_(y֯5|+[M5}Ƶʿymoɏ s?4}C/?߮|5EKzY1 (dLj'wwEE6.ålxÿDgu#8!@@ ZePAX#1rn\2-1@Q[P"B +%1P^,q8x(JցI>T}ҧgZ{x¤QdtP0[ջ*}ϋaw˫٤i`(Eߢۨ1ϧ,JDORS`9)-I;:q@CpH]Ҹb9NZ܂emL zlsF\3nU)) -a)j_}V8u[%GWzppngqEvAouBwTZp5'Q TaO:n&#(&WkֶVU)ԺʽMP9;G<>;^hya,uT$_]I -C`j ,`klTrJU%K +L/0nSLʔ׌~pS22}7b{{u)Csv:'ۄ1 V1i +Wh#d/? URsj![`gS]7Z{}Zd&ȷkNưY1[9SM|oJXju.i.3bƘNHyU] .EZƓ1(ZD֙t*ʅ+XrR&PEՆv`U#=::ҒeEwCWNAđgaQOfk2عr3aF"N8#z-xPys [~ħ#mw5!e˔-L>`ݖ}"ZD.!]P"ǼCHhGA0&!M@L]o_k+'M[Qj}]n ub bH]FԭS>>t}Xn!=

E!:D>7/|q_PO U"5AvPZ~F?o]CoSǗ7>?=QM4RFY  0]@xɏCGکzHs s[Yðx`jAȾ1h*բmms%qH"j.sJӭHHw=Er6\ +FZ%JȚc-Z=s\2 ZG-ݾuUh}7hoW 1$-e[P8pڂl yVP αvYhj=iu$͌EϢEM{3T֩ŇxMʳ592JYMNE({@pCf^T×WI+ligP~'< ''o [ +i Ǜ/iՂ];r[z3-lqhz~YƦg4Sخf:)JzH] M)FItP!5ҥ{2ď1rV7cGՠ\ˊS{Ź6a(n6H-&YgTZRibM\8ahoKt]3c[GQHrAӮ@&+J+(m~;7l}>X\/oS뷴^rNKhݤmw?7YyoI2z݅bppעTUMlVp M$'K_-ZMEvYT8QIˬ8N]h>TlB*m71LU'm?sjmN3Z"lHugH& X9gmgJ 6^ jo +zZ6P_[~KJ%YTrhvEA)pt2L,v􌪦i%l@`Kawih3ӝ0([НME[7,M+BcK !H2]A#mh:ϷݺVi4a52}$Ƕa7K10|!UL/㱔+HFHݍQi9a-QẝDkGKĩ%zGšduDFHOc}` r=R(Qi7J/_FhMմ:FVe!p MW#ϋf*`O:(Gh:@׷KO*E.wmae5xRN6; -gOrO ..;j>ŵlLGgukQ/$OKTfn]7ԏ)q)~.~~[)%|9!٬|Zn_~|k^ֿK}׼y5W^L5a*N[$ +m*>+Wi+ F +WtU moQ + #kFp1DM(u#fBwWB=g@h7 Vග,&O@߬h,n*W4nE %kuV fEqKT +2TGȰs0't))=9|IЖ3\c{jTVEk򍤈 vtxw)܊yQbeыKvcLIѕeX;o[pj-!?f9bۖ +,]DŽ|o7 ;.VP,hyzV20mG4.>˕ډCG +蕆25Bg{?MIQjX4u]%t Sֆm+WαОOGx}.= *Z,gA-xxV n*->C@ U̘(5y5՜-˛h,fZwgL6Y#G<Y0oT(iGf/ELziA/]jHq`CJySSEo5T8a 2M>)rJuO~C=oy_;}7w?G?~H_?GkFpǑՏ?;~c<>:5t 7 I۔ X5E|K@'U˝"!E'09b6x*Al4zYǥml,טnHqu +Csh=p*"힞S+r_z_ FG .0ZCk+~C%nPp3A ]*m6\|ɵWtp#k4mB#JW)s1Q%'$+#4㲸jgja^U k5N)k6? ώi Z`K@aQ;V-ⴥ.hCŚ\D63OsܴY1kI]8.a +캛@I纚l Zf\QB xFXn2@ \vۦkGo |,|p1>5p[[9Ϫws(Jj|^' [t25u\SQXC&6,X e~Ԉ_Wij1'`P>n +P ]P?>`+ u0Ujj mޑ܉3'ŎYϢ'Pg8.Vdo ᙰOHqEZUlho$Es^sw[d8፟oYx`B # Kn.&2: +C_Y7:.NZ ?Lu!PfuKOe0?~/o͟$ygʛ]W'nk>/HRew +:r2ZQS(0<\h񦍧 :d~LiJ307sJuOw0zu_9.٠i +A+BȀ%Yb0㶇̧G'*֮صFtÃ[wog|GkQE ȠMcF!ߚ#UPԁ]}t<^e,`xt(tEtI(R'sY`'?"8/]u0(Fkm7 *1KŴv1}N.EXĊ¹T2E &M)KLsV;ϊf@>D['9V,u\:K]I_s j<Dw6 ҕMv;84ϓ;U6]^^RAL2!횦nk-fˢCpP* &CnFYi4b4'$W8fI@:x86~[erAʺOk+ԝ^H=$7WS@+ +VDk&V#lڡ^Sgj޹H^ $\h\ت1c+YH2 +n#./,Gsۚ/ug !e*05ʧ=VlJujl9J(w"Xv)ZyEr5xŌbӢFWBχ7rȿow~'{,H]~??VC*͛~&/o}nOҷ~;Ͱl g)DUOU8ʆ339LFD#N@1paډ!ZcK\&|\¦$!d[a: IH Si 839F`ӛД*@nGƓ|},VrLGZO%Ȍ(K3k#i.~pICP߻ɢLC]dF* f1[_b$ p=mOЌ:GYily[MmnB#b?QpB4/3qlSJS& Ԩ{ϴVXR 8 E˜iVu-u_ı@ e; YF~9jX 1KeLcd]-ڵZF@e7S*b>b +Z;Z*6 -NI[fo])0Is&7t"O)K㪹fK{^-vxSk/ͻ}I{힢nׂU௹ 끦SVJ~A* P(ar|GWnvqDk06xrj +Ɍ)fVslj9U՜CqtV yO}%lu^tb$[&CK|K~:w_9*3?(G֯jeOo.\z5띑h\2a2kP'MHGajB~2cKe uhf-csXJ3P&]E.sRSbUt MFRSQ2UG#1J1$XE˃ESK$]_[,GI|RDZ>Q{d"ߌ)& Wkw Za|_ +u۟΁ s̬܇t} nV,j5[U}zF÷ =Ņ~TejyVf`4PǸǐz)b-ŠBP{P5Xֵ݋.kcQ*Z:a`sQ^i%zEx∅/o3KfDzX>r;(b6C#nj, +KK#}+lcIpBVe!.g +qQ"{D1Gz!d<&=ǮCE`J@Zfp5n^͂Iٺ\"VÏR#H{y"Xąr*nkVZ*E'@Ze.W $-Yr $*-KDKbcStUaWZ.L>ȧ(ooz~mwM {k/~}9~[oz;4Gw36 j~[_7_+?VPSSҜ4 +vAiAe.X.T\Ж8몍p$r+݇iJYv1NyD vQ <(k.GA#k` ;\jtZC#zOGIcWʰ`? +/ւ ӟps}x_p5‰<`,JK"}=^m*޿K:YYEp9)]UAk8WRPkIFFIL:JʑJS/]172 +/^P*f7ei-ܬv="Dpsû8ǚ ΜV8coKu2ft71fv,2 {q]84<Ʀ>.DIKJ*ywFpl|G7phiܮbypF+4@x'"!\ģeEH/ G(^C4Nu69.9f|?7' ̂4U tzMolԤ@z (2 j@$:!ELFcu @@ N 208l;!õ]C$E66}Jfآ(1gAMI8Ui-Hlա bx;[JfHPNM/5M4h!) +/dRjӚCJv*ٜ¥]c$0dɊ%A2!.Yh9p +'k6irNEɹE= y@P#RQMk/(!LМg6n#P2\EL2ځadbΙFuoX, ?$]2ǴzUmfr 1k2akc5}I!?3yu zYnjXSJ$w^,y3+؀R*ZgAze^PfSoPj:c, +$͊fVՒe͎ieǹUf}&KCOP.P3փ'ކOGŖY08X"izn:TqJBe<$IG>պFJn ` 7YBYH:~&'ɷ=M~EqmgK@]yȁX'I7-WEfNЪ}g__wKEj^1r;Ne%njY~<#h;{Ui\r7鰖{V|]cWW~7])5cߞ-I 9SP\)a}HDCp41^M+1"N7in3.{ +v`US֨z9)ngU$5=S3VG9%⋞PSiHr(8 ma=U{ˈst%c(Dz`6 w^yʁ,CnʆzbGY81tF'ˏD!a9f'>hXbtܼ҄V n+=қLt`6:okr=%-P:3U:ao H2L/, }7p$ D .24%3xF' SҷB. ,+NZas7QJSan͜LweJP1~HZG몤M9bS]lH?! %qMy(ܵ&Å ZH̙N\bCN|sx[IdxzO#T KYkrdLcDӥfUmV${fT*n 3`?N6HP6<vo VD?H5PL`G  ҳ9 +C 7Z3]:'%fs4F>)5-zӦ@0۴tDAepC>*FiR<ɝ߀ANP%UE[%}9ϫ3A<{ROVކK[P&DI$*ƱPv +p\þ + 2( 3vM?uVTMc?/T aWuFLsyL JfqmN=jR{ f D C,-(WsH-{'Kl O_m?ibzd>4g_RGJxDɭu]i M.Z]t0rFed,I&0:nqJzOOFYRF-;kk\l9rd.ʈNGPA2^l6B*cO 4 MDUr1t(iS^D98xT2x#E 17)x? sDn˻^7+{[←^-w- +`2zdӫ?oz'?<3JNwM^T dzV܀HCW0CZ)h;eII$L'|]zL7*O7^Օ+Xq> TQ I*\xodLř7bLܺF PC@a ?Tn? ڈfn +(ᴘΖX*#Qnm*}mtmJeL3zk:ޚG6uC9)H $XxXe^kYz=WX;gxC]X%U ,* KTbnaT,Y ;SJ 5n.5o}2s5 +* +fٿA&"0_3]jPI 3IŊ)2 +,qr.5h 3JiG;7s ?!s C;"<8ҩt=PeM +ώ $ERN+wV׵UϭXjE0?'Qjrk +zڍJZi:jOJXO?(uWSY{@.1 +t(8gn BhŠ*فӤ31fJ7{e8 T#Sii^(E,cĠQxN9nP)Ȧhn$(9roe-f]O[łdg)r W;2>0JPUбᚖ)+: }ݞ,V[C^wfvgᳺA p+K׊l(e [ ? xJ8I % &da^|1{wx?W=,/H&wfto\Ǩ(#姆_~黆'.V MOyϬK?8s!=PdFeRO#3k˲% +P1$ z=f`ZS\Tmv jC};CGH4HQقq!'0t0 ̢]67tOj\ H-7EP]rL`bӡ1 Rhb&Sr?f ]Ņ[ )W (`o6n5IjM0>(ĠNNЌ!DcLSС 2]۱f'=%L={)M}SkPX! +[08!AGCr ڈt8XȨs Gb6PWc~XaeӕP' +%?]@C}<)eH#0Lta۫öM;e.9$ -WP9VJeb̀ROK 4z*eiYQOj|/x?V c;Wa_}# "H䥑^j!!i5;/@d;<$Pd!sA%EB }Qdm###qeX܃uYSsP:K{Qvhe֎F$: Wf FD?UwVV,-T'uQ\YʱV3Q+2Nn%D !|4 Oa=qfRqv>6Bcy 0èVÛoG5̌!eΆvKQ\cK) 0䃮DC,Q \1ds!R5AVi1a]UE}M\|?Qh2-FAzUO^1$y7rBm`"1Crps}kug},حm8ULMp"xz(ŖN(k oSq4]kfBfxR +DPB /&=r}Юǫa˙QVEch*~motz8&Lp. BҘ){`nZoZs;sHd#xw!"E7{tbƲnfQM,gql-¢ұ\u~vksCA:6h|t.Pfo07zEA.\G"Zq=;Uy/H ˅VT8 +0КƧz/߹^홙y|#~Heکjٯn-݃%47 2JF߾GqiwW# +he^c\ϼ#O֯ 4]M'5˶?\[>:Kդua7giB')JG0M^#ͽȴh=Ts*P*]{}up߭r9"yyϴq-E}BmS4-::>8ͺ)De\b;paΧW2KPe@U:ZW^- +?#E$6 R)s Z<[Ͱ-a Vh)'^&Uzr +S{ElRH\zY)Yo/F% i=ugH"@~O9~KqdWWmeD7N^`?o[52EG!sSg 9hҜ ]ݽ}syp`m.t~XE'dpt>x+wi.dڰџA##08BBxm5pkwupI,BP<3R '2%!i!nuo$RλʮV+K(=2qFč>]GS T'`;&<^Wc*F2,9=QO>:XR~uDc\.zv-Ba 5u ۜYMue:36./wcBIqx/jGtRx檸IM/EU8QjHI"Q37[j`}x9Z ͇5zELZDW,H=DF0\[ӵ/t 侀o{ꇮSo>-ۇS |KL K78g{vr\0$E@RB.'9 Cl~{1[}ڶ֕3vfuyҫ5 &WS=\MaMO K0a顇 ,tP928t%R?BJpy2J=z%t#2S@*:_j0CCwhR6:_Gbtl˦R{4Qi%ӐxґrN %.Q~ 眊tC,wGϿ~.C܆QT/iz!)džwo8?NKOE~oߏ?o~p9}90c[7럞}G_yOXzk|.Vi/t%ºW+HqvehKQ-Z.>B>i6Tڧiء(m0@`U۠IDw7+'3Z|^W} +I_mEʤ>mg-1~dcֶTpͨ6Hll3pGbHCbʋ Mѭc߆y3k2.PHgc6 +s*4w}n8"khMDW^{~w T# ;dcbtg758b/0V/_ݯj[5s+[)b{m:?t ;fyo{-2KOHM +<QO*S=nιs::힬x^&T6tc.[)W:捶9EaCڔJ/m*zwxEۋ2=(JvMQ +` 4ЙeZ>2wfZ,UM F4fXdĪ1}SճjkwX5 ({j2]2-ag ƘFva@|J r#$#Jk`7 QK7~ICK%l ܗBR})g[[;f;Tp-*FZGՒ +X kIgA;_} ٜnw At=C?a5!C>Aּ+A`E@tj.ܼ%~ogWya~OT$DqJB0~>ŚL}T[_wN}~BJ}MEQNHYV\Xd' d*MJ\&ѱ'zQl:lSC9(̩Cҥ8դF٫pIr 8‘1nRU㹵NT ;K=j(%tG#::֕4J,D&䌞򮀁QI A1Ooa NXU p9Ng:US.mA"K} >U/m9Wzt: M jKe ʗ9 CF2/>̥8Grչ9TA=$e4w H6=j$J %~fwmۆbjtj̬(8C$dmDCa!j(мvmX4&ϧ1eTK%E)24{DѽYRTդⱽG߱^C*4, EL٭zR:٨5H#AZ:+&Iu>IKD2T`]~fTA "'7}u|{"a@ۃM{~'}sʓ1 sGvsw?k˯kQ[}G};3|H~s/-UCW-M" 򩑦DXLAQr߈ץz爿!EfvXϗ:浝9x9076tS$C#9ãryt~ߦ +0pFq422'Zn7iت#ť񨐦qKm,`'E%OEPYGq]ҀyE`nY!YqcYQ<,7P" k4*iMK/M! r"7A/d$\ )8C^wC +~޹)%yi^]جSC`HZ=Q%2x`hz6J 1LX^Ѭ=&Wgvuu^J⎆8䚨3jUm Ѱ!i;yO]5֓d@`<*K. k_x-ob9 1 tE?  Vrvmj߳j.rywvۮm6 Y\rkñb?a`6;mzmԘ q]45܃kEЪKpU9ٵQݸv'Lf6z}Djit +pFcEkƖ-Q2U#TQRt'k[q!)"yd8=3̶˩utE}gڵ:Z @KMU;!Sgn[vmpb!6OZR ۦm:-,iJ +*>l`s o kr˦Ҷ:}n{{iko^_QӅ.:)7$Da$)6.-jݘ4 -j!_t_/4|H٧+~Ϋoਞ;j,ё^uwTvv>/fb^;@&)a1jd}hat]x!J8ckV;a\ȅsd8M{ղ {"e(K:baDFkZj.H@1) iH'۵Ջ2wH);LԴ+v.4Ʉnyz|둽}n=M&s"{kc+)Ƹ mK_4y`q.=wbeD`K$-ˤRgHbG?SEu5d}rMCR{"x ~!X; V.s.Ѐ8*ҿ<ot +4FWv.=s v90S!ij%o}o }09E}8s080)) E?Vf1۽; 0;+Vޒ@QsƝaPC>ޫ6%U0IyC#ig\:q_B$.@SgI^*C\֫uKv4'qc 3$QPWd?:0/p +?|E/={s)|oTOWS/RLݍ};/_|A@ٻSqai+du5IGyp}MP4'mή>vG.WԷ)6o4U%$y(1JSknku҅[l;Iޢ5gܒRs6v-u&@FG" c P#VpfrMHlK!xb [նzB9~zCMjv.}RΚxپV횁<~"Ǥ| "VN[O,6ryO²-şTn>ѩ{;|M%O Wz@<{N'13K̪d5rvڊ1g~8 vy KH#jㄉ+P' +4뚺~t{}={x|c74L.HO:U>߿|m糙ܼ24 +.6,D\ZLշne>%\CtKP:CSu}ʤ2x]ٽ{9Ӵb]fP`Ýn:bDtU)Vq7S1ouJl5n0}Kz&A~*5i0QH/CvaCʁ)=i-;W%Z=Sȡ=vim5Gf2T1/|sn,HmuU: fzg8ŬlOh6zQRK"PQgzrB,Bu}=i&GSkaffv7;wQͷt/EiJ٦k2*u>}|^ӹiy#D3DA+ɺDLOAj֢ݮf^՜HYJ"JO]x|3^O~z Rӕp Psnw{gwk;m9jqՊm!2WlO/nÝ|`cڰa2b5ۋŹf~E)aM.•s7D NOqHE:Sai|wag|njMnG÷Xy.kҦ{y<9yֈt)jJ,VXg+.T۳b[U.'#^;}_r:;^\7Ǖ--V >z.p=ɿOGTbUs%Q5]ݞ*ҲJȎ]]+\Gm&Ǝ>8 Ip<@;q`k0 pSi݅ v +,\&< á4Lh|jѺ;)]\>@NJ 0[8sc)ߐuUGw# 55f:lB(Gq kGhެU}?V[n9_DȍYIϋ2UV✁}14TkR^<f[n:Uƚ!.3tAbBf~r<%r_$ "JPhnSdMhrF'pq:ݰjgNUg~5,BIO7@;RFvj: L9X)NAgۑ*+*hbjõ7th8HU՜4ٯ9)O+U`3}!sgƒB2/ﯧE5I*JqJ:U?Խ~\4mM 4׆_H\|{o] 噣.MOmZDrusuwB2gs~J\|߾-'&\.V^`Wbg~awvew Gm} Z#0s0I(hak|Fݽlsz0'<^٤fdQu'>5ۚt@NQ[,,"P>n[j=̜YĭhքaEI,!aj8Dt Tdb҈]RYkrrz{u|gAbz|\&'qNPߊ$dmR @ $Pw6f JV6Փ8;X'RO(t*~|֬ldies{:]U-j98֒/8 #36VͪWUrd\3}u\ YE)*e7ðLȟ"7$ҡ4QjD57 '"25$YD3֘9͍W޿swqOr[μrdMVp̸JǤ? a>> պ,9 s{ܶ*4Յjm]B-bzD4H߹j5nHiq$= i<]M&o8?Q^z0n0匞-TFX"^,ȇۑXĐzYgL!eHÓ&*.+59 +]g h39~k/֝'܁-C ;XlhaOW NRp p*8z>.aDk\փ9}?]Xll {䡫I[Z ^Euyu9(1Փb(އj~Hӣk_ˡM׮j!]\"iP^9 XE_1.ed+N +S8Z)w;yOa'*þ1<!$h+]pnc͌^k(AJ f1cQHl)qo][ *DMday8RcEHp0Rlb^6 2F +4Ed(ܩanh}oujEY:ȁ&+;=nDZ=XCz# t:F*t)rӃj",0ZP@-cRw-rK ȶ 3x TCO|F}zT7^Š٠Ih\0bS*O9rmntڸ[+5"=JRs:4b7JjVGxmihǡ`<``uG^A,UbD04)J&^>bUֳo! 45J0!Rۯ+fEv_j251V) 1₥mN2;X_oww8ق|$L'zȥp߯=fsk$Be%(V H8]Lڪ(VoNSN/֞YuzUdNQFmHw}9*- bxB 3{)]!ܧ^y 4RkAcv(EZT+US'G'޹9Fl<.Xfes~T(҉iEFKWHp3-UK,t(!VMWuȈT xIoc$+LK\*]?Cbc\LT$tUKDceS0W օʥܓtMz)}0ԯ24N1.f)Og7Wt -E7a =(bD2JyAQ=8'zC&ʤh-[ًQ%?Hk/_go={cčdO0 +1(H-iJ&f=k#0a6E1ҘA?m:s8j*-A&/mt>Xل7]MQfhk4dW6#2etI*ݪk,g¨&mPTQ&T +N}Nv#io/jTڟ?o@-.5~&azY03t5seT~iz/@ `Gg'r +I#CkUi*&Q U:pmes[dJ|7e,|u)/  H)r_2Ny'gth5 +D$tj:/Q&mJl 7{l}y hdy}$;;9+p֋g,sFO^eTi2 /Ivpуn-^jx#`NCt%{E9 >AȖuFZ>lj3vDxf}␗,FH r,с$9CyMǝ +!dB>(R!YN +n֤UZV+A" L5˺o/a[]̊GyQEnjќJռ 0&L{_/ lw8Ihk{82)b~FaUYV&G6sPԡH2ƝT,3Epڣ^À/=<,[؍[Bә6 Mz sUg vGڲQ sZ-E^Myxj *!NF;6y(eBvf3Ҥt=jy2#?DPޗpTv"Bv50xLq@"|K]~y@$׬K&5ɓ+)lzȎ,:ky¯H_og/G{pF(+x80JNLa'SL@Byإ4}] +hjox8=NP@cv)wk;) 'N!# xY4lumj)g,**r1? 8+v GI|,r|wQD4ko8,Ȯ;q6FA2> €`U#mR)ڊz9 kdQ= +˓OVwB߃4 H#A1^ +fh^b=Y]6H Hb;NҨB>JpM;ruMV*ÌDX1b4eoD&km~DG!j/oˠtBA1Y:RI9p7$5slX[ig1:0y IT&fOFdEz%\iPQΏ &ȣڶp0ٗK6XɎ$.jÉ)*;DžH4L'K5d86V'y75o4F@>ʒ .g}g62ZCC>  k2G|q}Z,%{ :Uq>T]+uXzg8l8}٭JM򥌊Y@EU,mX-6nLpSD*Ķ7ͱD̢D1i8:}|x5y3Ov3ۇ3kJ׈h>Qm_f;~"JY`|+jbc ++rڄOGToN5D`ك3d,أeNà Z5g<4m2VD@ef&E.G~ VNFTh8Dƅ fR`31híJ%[jL^وcŤcaȱ|H8h/Vxl?kmTggG|?CQ,SP옊mJ GgG?9Z^ȡĕմw r [^,]s'MYy/,Zb9)F6`Q8 xYC L#oS +/y16l_/,qm>NmДge2YHӲ-"܊7'[E$:hqRj[?_\`ĿVzcT\\3xd~xa8"ipiIbaV)ZuFFYdk)1d^1N9tڗHxrģ`H_gmloD,*oUa8K]\4H8WNA#59>$wE[|>d3JIyA'[<}FJmsZ4@2ʯПQKueJs\2Fk`D]1nL%)WGUj$)ZOio/.ʐ@:78,xP-h8g@Y%hj[vhBf՟.g6IN 9k_XZr\~+'>]Ld3Tw)}3?No{.[^9Կsc9K`յcݙܪsbjI_;xAbŞb߬Y5]P}8.-rZEq#FymLY̲ZҶ ccZߠp)ŀ"O:c}!{=hb.M"E`#{2ep2yx e16{u، Bq?"[o0 n~G)(D鬴ʼn4r jˀY&! ~NSTKD#A˽xN.`&ύ&7ulds_{J2t=D77η5ML֪P#7ɩ4>*ޥbnAɿdZ$:)(+La&rBg省]nW ]Ʃ7r [SG~(Ƈ FO ,'23:Ws'ՌΣxjv@'(CPT 034yRzBC/@)s63,4Z|W3hФur@zMFD+Ջb÷ ۓ*,46&f _;G];>;88Ѽ^U7\׎~qGʱf#50 +_ +$,c/ڿl{̳xbAQqvY Z_Z&0s㇙[hMC]+hv(o<ۨ'-qu0,";G֢=c #\)"D=KdlVa `F% 0KncJ2D=V|yA1 dpQXZFCICIPZƞZi"L +zYz,NdȵLfnBѣݠ_vsh( +?x7><,l2<!G<1)U}齚h,y`!Ll[m$.1Ҁ %V&,negx WS:7䪕GhVg-?(20$duYկOYx$1ӧJn(e+oE^ltJ{P  9? 5#_IXiAhPBEw,ؿ?g 2uQȍ9g+~'UmO~?Y*w=/H M_K:TMrRgMIWgw~c/Tw-0Gj$r󻮰Δ ;!$CE؛ufzPpKyE7 9Br7?ylG*%g#3=HML]tQ'EVQngwbߪyS>PectzZ6gS윇F˦/|%7`MLQR*3]iUl~fe>ܲxd\Ta_z2}Gϼ%'PW5fgtu`zRngT}eg/_m3p2Ԋw_[~e*48AmP'ɑQdb=QƼK #No89NZtq($ۓHj'v-4:ca/=N!|z7|(d~&fve<ϐN,"4-^Iz՝''BGlRы~tS/rox':sLpC̊ 9cUs|6 +M*=YMu| X4u}ٱ`r"XCG~oyLQݶt͙f1 Ne0wvαtx7F0Q5ɥ"$Y']E|1^~[6CVB^eɢOEb} v2:Ji:]|C(58ze,2T(EլLtf~re%[<*@EUZ,;_,2-a@~eP qT'3^"yۥ -bL|mh[t&"X(h '7d`J8n['R|~G/Γj̚tE:d__35U~U~#U1>tߛ^ioTk^?xHlL,)M80|G&YWvGd6kiʨ6 +77nr@3yo&`==RXoL Ψ ӡ BhΙ.mDv^#TnHt {a:hIMm٣^dف hA~l r63C5B1B4͚<\W>9I%_(5$荖bDN|}(= hΙCq56{e, 8$E!*.M̱DH>dl5VeT|c,V8UzpelTA1%KjBܸ)wy oJYz^6 4j}&-yc[V9eBUaB`':KZi/&XHo$(oҰk>HƎ'#=maϯG]>AKQ㘛 +l]e'5&Yt?*of,CGnj 8R&Dp2G>'؟/7)!E(H\ꓥŴ{Ooj i4o dq@Җ[Krc$3UfyϲTh3"Sޓz F4 +[bEFQIyw,6aX pѶzqFg?~0MCiMo~Cs{eG]#ρ̿rsJR%Ԗs.OgN:ǐG_l~F娑mR8aBA쿰~^WH_kzmbwl̛54RuY ;ʨ(gyUL3:z`LZ9 +@^l'%496c[A xsfcd08t=814;|#҅a[8b 3s^(_\2(%̏j?bl0k`ѹCþq""͗W\C'%谳vxX, +8 $ቶZF/A86s  +0xeYl 2L!,-1RgJ`{,O.!EJ/aͽ-o}$M8i,# _k6oM DL,(3,%`Fu㾌B>>9 (r{-#O3-q@ g4%Mj@Se=i ]fOyϟ`tJJ{EQeO{)@bJH5IYӣS}!̝=ɥ-YR\OD MFD\~Ϳ3fEކ"eaʼnq䓋MEo{53'aRNK?}n\,ֲ,=ZZ{sSdUVVfde*Snڸ-r[r6my@ K x㱅 !R?m51 6Gges^gk{rfVeUTd'g?}CabWB=K/z&מQi\ۯIqglv`URT'XM{ iJB+d74`H৿LJUa)Z|1d*IW=.̿~arp+&PTxs+c~ A8N!.PWG-e<F{5zٲ)C`gRgUZh/Q lc{8>AB7u(/Rνke^/Ճ_coN/X4Oڜ6;]rWlG}f6ZPf+GܩnXlS0UVFv +.FĨF+%>l,3B!y2iGkӆ1Ka*ż! n7{ VGURg2BG1vZ+~,h5|*ȶV\JKdɈn.IԂlt&QR%'5WADv+n62U }G( J|&qnob¹tV uSXaĩ9"OcW(6?;t-WK \ 6f\XVTn75@L!;,I'ʟ ݺMF5[aU.x:Dc8:1ISe;85 Y9R+dzOmnh IuJ'8R +oӝ`#4m{F[}DҲB(jLߏ361PpkLHjӧ*AΣ*LP}\^H+Sw2n$,J a ,!E~6M5Du&rOv)xYn1H]56^9q"$+X'|t]$sgY%18mJKݧ/O~z ?w:;ow_, /4FMAH'S;Ǟv>0\(X*¾,XiaLsшmpj=R ɅJRk-|i-3qB{|P|j۟ +!O@lFBįe*E#W Y'R$i4n4&%cC0xFoUMF]f3)&*#9. 6ΙފYѨ0%ذ׃obUQ x?Aɨ0"~7-k@ /j̹Rj#tQy²NQYi_wf6*+]DQ4|ehX} ++}3P̴] +^>2܍v>lj+^YST|Tƿ(\96vBRM~ d 4_UQE$W %7aQgc[a[PCD`t1`W)B!\à ph;yu-ws-Pc!9@)]i@ݯz}Wڇz0+&[7^9G?{5>{Pu\k˟Ve*LUD1ɤHJIt6誧ekT׏r`TP}ns8 |W'u6q2*MW9jArsy:TϾ69 OnT``9#~J:SU)+<FjI6ad`ݕA2# JPXish;eո*Q8x#B']T l-g]PA &^< +R12q}^Aa1ʧu/ɴ1a{(!,C髋Pp̽QêTQƕ LF葃Nbx B^70R])ɆE4 TbXAxĦ"yZ=Z`X\Tr(^Fޭe~[3\*D Vusb0W9Y6(;InCN,c8̖Y?nklKQbF-\g_1cӋÆ֨ +8:?3{/*bnRk`[.uNU+zxil.-dD Wq@p殁Qɫ1[U*haѻ0_#y;i##Ѧ(}~2 >RN(r54#$m"fOPCĐ$ԧb7^yD0Kxq4TǹI(7rR$YÕUcJM.Y6)}dE<x@S@?u=9pF1WtOR z 9oQ)MƖ.gJOE|:wqlDpr+(MZJPi\oUՓ*@RiHq#TAS-LIV(FS7 +@MIe:F`^تQK!^t1V)GҞdWACLeJsEvu$v!'ޘD\v&H[Iuޘzdj_?<(kOϣgחnO}~=yCrsA7ҵ5uf/]9>8Hɧ+P6>0熫;/ +4a +n!Ielk7Z +Ѣ>eg5 , M:bq_`:Qp::ֳ#:I03ƒN"Q 9enxކAm48(NhhD+2@uk8)|pVZ(R +2MөZ%!0:*S b3)6ECMs褠d(S63 4khNS/eK3u@E.>QuQۦ˚$|KeM&>-9HI m8)fh:ľ*΀2Ia=x[u>?:m7_|[~pu1 0&@Sqr!I 5%? /82[Yl\#>ip~Fm`3LcWv] UyCic%КhSf~"-+cZG%uQ`w\6s +U˱|΋j%lu= +b"ݑ?}z\?_z{ܰ_??sE~clrQOTOR6ʹohx߿s.S;e`5)':{*'>'SSI=qPt#p\HZ"-p`_ =(ZȭB #Ȝ& H7m[n,NO۠ 2MpS4"`"wşcR+,g>ǘh,LFd^T5 vjv +~]gi=Gu-dvnLQ5dV& tǝd"" ;ί%?gaf{x#o>p.}xBp}g}_8{[Q[uŭٵf)WwK{C kiYAg5IlxĐ39d ϷvzSqBIiMtH{7H +%^-\P)YN4sDŽTv + x|FX7:"[QKJ&i.=PYGС\"ppEpVzܶ6YњDݎIf4V6&{um(W#-.Rs}1o dher(9&uQ-HRSW ew6x7Ь +9Wii4Dp޲rs;3A+eLo-4y'!+R iZ\p ZIy(ɡJ<rk>th"%J=KFgNgo!ຜF +̳d/3uppbx󌳀Sbϗ 53"9&1δ;KXcȂVȖ +X7n{]s2OwphNfփ"4KLdLL"tJwxwK^RPfS3HbM jC3,T!M+jb(@=z$jHtXڑ㵜UK*L_[?|S/w7q'߼t$y)^Zm.3'\}F>Ht+j 5JCYIͧVw?ϥYxǩh%;'7Pm1Wa"#s„ӑiV +^FJ +qr(P':Il1{e +b>d\VB˟Ӗ65j*IiMhG <~{ RŵPv[^Wr zS+\T`ŜȮ6TtSƷ0*Pa4mס`z9e(s=4T\5%iᣲ&-f:aȉ;9X'lj0m`y<$p hsq_`DoO 6DqORo.#d MX64r?Љx".u%p,3hBnk:>hIܱo_Ϡ0D7z QbFYj5s<{36xIv#IF"fJoX(tY~TChbZȮK֟&HBψb7.+a>ZhE9}&s ?g/왁?s84ƹ@.L!")Fs~Vh<7hİ GS߹;/31<8 +q&YW0yFG6Fg҆$wde4O__@i5{4ϹNKkّYlo(~jupDSomM3wv|Dۋcѓ@77 +]o,I_&.Ζ3?^ 2LaN__y?<jRhN{2$YU?wgo@|}~+_Ì,D|%o_Z?}Gw>gʹ`Bߠ#RNRo,0)0Ioh֙]M9 c3c)z +=6 +*&L죎GO pt%T]/OI7}Gbx7@%^(iE#B?xwʫ $ӆ41\ᶌ[*h;K(8\F&43aB.Zu-+ԐWTW V69" Nl +f$K`|p{v|ct# W @D\+ɌaȩRbVIcs( p31SckI|RwqIv} ׅ 7_PF' 2u#VuM80Ǭ/8>O/{ }~1E' W cNL/ӗw_Js@|OϏ\/Cg6asf\pĉ;|ߺſ{Wٽ/u %3Iq;M ⣂xo~r-ǫOU%$_1TE}#Xq#U$sokuVԦ >8V݋AA9E6*)ܧe5K&d (*[Tw,/,ET`Y {lCmZϦ"B??( mzxsBz GGxtO%}t Ձ IxRp+R@rփInkm+|$$y4R!Z4"m +hoAB|*7ZO86/Ʃ5_j ^LuӅlRq{6WZm7}1Ǹ(4S&[`7/!|^FOŦL 8-e +G&=ԺFLCQ%00}Ɔ4#D7(f$-lXCkYR0ؽ|`?cJ  ܽ915 I}<(wן\=܃V_ [ə~| kտ*ؚ2k|_V%i3e1eq* [DRrѹ -9JS[wX_ce޻uiB0r&=Í <1.o'T5nRjۈt¢I!(7+s$:BUL*=6dVGLy^![H2n=5j#`M]8 +B%SjMzbp4Ꙉ9 uT */<ߧ'-G-Kzq3RBQ_y#go ͛gv('`'=o_^>MAϱ+JP̓I] !H;oIFp>+"8*%(p+zic yAE)RM5Qu2:5Lrc SHP镻.fTNo=[axFر% j`Meʱ38$ ͯpp +3b3T 7 Lm!s1рQp;V} ̄P|hѨɱY n`g&i%͕sSĆu(uaRHnhlNf[RlXfs y.9 7 > ) (? X:8ݒ.9!:&U!AqF + ۓ܋nPٜY@)fa5vjf% 34Rti*eIuxt*4oXvMk0pU[X'/*95 ZŚќK맮3eiTqd&F-Nb) SѸ8uц"wU(=l+7kO:rdbN& +R=NX + k&V^:H6M^9:7 +QTی" px[`f|th-pP CJyIx~"qJ(7nԺUҨzcֆ茩yOСTsMn^RJ S%N?`RX$xR"cQ H{0Uav ͣL:a2Pz'ǿLY&QڳMxX4a,`@V5+L/{qpB?:Pv?N??p5qc>Dbs{$S-`TS:X<9+ P:H2#7qv-ZIsCMeeHrҦgNZD=UfiE߄zUi,V^uò)o +Ɏ[2ʼnr 靴bY?˾a" `drD,MI``cމ]s (Pq]׆ Xi"0WusO_~^b#aLZ POTwR`V\4i%90Ev(-&|Kwj>J]WT:4 k.gQem4 H'./@KE j +n_Np4R(#9yc-&=B\I) OvcSE 3,L5Thʢ "L#GN3+wyyO C +$FӬuB_ +F ,hݜe~f}rk"JuekD5s4NٿG^*,|$H|  21Pco͙%?BdeK?lT C0;K}>V_4XJͫ&he &*j4Bސj 61V5#O *DV*Ր\qz~ SYzl bqE3rKwYUV60'.-WՒ zX!Uo¨4 c?lfMIԒaׁ Zu+?, z޷MU)|8 ܵ90j{|H$P8s_n??pT\BgkP|_8{92}J"{O=G?yR,_r@Q4S$9(^vg6b +QdYi"rd/h8)Ko'+W7NBtmxQ$m☫`#&_|sxƆU^ʸBDT_IզkEL l%srt`ec@A:TNl"c3%>] ++FH- 1ԁjlZ3)Kn ݚ?ɸ=;gS@GS$Y>;ܢRBS}a 'Hf?YNҢ'xN +|=pXc?|9hd:vtxג3dU#uM֙h-jͣFUv2P^!)@ >EbW5IǪڬ gz &?M-NIx~1Pdt2>.}9qZecG7S2|W a#';xƭsMx[<׺I,oSP6{ &Qw.=ΒɡzLzGgY]C Ip-@BTL(ZNw46{ (r}m1QpPI# $H~HЄYO7c*Us1M޴'~8L7LdM! 5ECXV=4N6,,0I*F(Uq$2uM5|7V,x1Pʖ="ҝ豁2^M-UPez T:A6 W*p`KbGthi{=2?Xw絾`ũc֣AF.O;SѫrULK4M!ZdYkL7AbwNJzכQE[e\"/ns?;,vf֡5P6sLҒHX0 +caŌWN*ä/PW䥲Uڛn釯FC75rq<03(ѩ60h܄xftإ6k<YGS?dɴ:lk~"``}j/%7 pR('CThaSw4D[.ݑE|g` +0X+Ū"'WKJBcaWle NP\t0ā-T̕LDDSu +iT=|񄔳 K*Coޝ1VIjGgucxt(2 va9X9^]xU=>W_:9RRgʋ"џ-ϖͿfpb> *씋Ÿ5z}̎ݒc5!U>sYoէ݁o1#Ҟ q N{S/ݽ5jIMR 2K: (8vgiTpn ·`@(V:MxL)?ט"q^Dny,佋&y[$ ЀR Y൷]w9NIә7 lb!efeu.fz{j!OawI:FQQdԛf dzsp}Wa 8,8]c[y-&9z/=xLz{ ^7l%<᧯§=dNY[E)ߌtyy$DOnߛ +5/Ջn+ \^>8ֽNT@MTUIOTY٥I@RI|4%*XcӄKJS8u?S9'mneޤ@'Ǯ_YKŐH1^)fM22_C[FN#3XBϟ5 6 +2>q" Dq`\K;ƝOClQũVtWliU*9۩Ff}1"%f'Ft@Tsp]E(mS`7tD8>Yhx<&M /ZIVUmz| YOŬ4e# +yEE2.Cn(?* ZL$8vp0,4A) ܰZaU]s z sϚB *U+R4p(s͢ ExBCї"5m" w||} G2_zH0;jPzET'81 +7+Ppr /!3NSmT-Ct'5E.Q3+gB ܩ}.JQ/~1/$Ѱ^ف9XJ/ZlÚMϧHre3kiځdi(^e\ +RTs4[p MCt0KG} @~"(/o|';^+AnH^€O1P y`X6 etu)K)ZmV3` .>!i0 +^ZTs8"14BUd9O*|RX Ίgcח?m˟>b,֯s P潌b<[7'wEAL{Gg*Ai:w?x};ZRgrP愀) (##( f# 8,y"Sc|~~wDױ:Mٝ͸*?fN2<Oש)?yO6\$ZIڛ0v"={/:iȑEK +07r,+`S"V :4!JTcFBf$C,qӡb4$C y +1k-؜pY +:l @bwy0HD5JσU>pn8nDWiEK^㥪00Ly#x㢁 ٸH紼ѹfϞ u%Hc6f8%[h}C2)GfkD 0s2Y0X+|-կ9䫍h<y,|>O~64˴QmA+;il%SbGNwg|3bj Xowa'|ChuF5Lt3)i(` ]}qnM\,j\@X"@=/59 aƚ"=!x@{Eau5ErvحE- +D$/8 C4u!UޞAĬpDؘ. :=7`c޴=H4,S> |Xu:iœj1JFyXv!|.yYS@xR}:JҖq>lx- )hs Cm6̢Z 0N>nșT>[p(qꮌfӒBO:ȉoNa{,X#jqwT`ӭb," mZ: +G7y{av$<A%z%^}@}\)IaHڻ/0v:! F vO?yܥʗ8Ǎ +{Ip&#Jf vG*F bMI7Ȓe<&MUStyf^{ZCS]uZ3;L?oix@L/wk4hh.+'gvKr[ P[#g|'3A'{Ӗ*_94:fy)dQBfNz2/>YPI|W'qko~MJ v9k)n,nM^,ljsICjԂL(e>!؄^HtMG|:ئ6x5|$˘mwjP4:1 A]ItE#z8qMH/KҮl/ohP!'jH;E9E/#l8iQ& +>'Iy0pOj5Z(uZOtp-sDE# 5SW˷ j:;ϗA]IYe:=+Qyg>f8-nH3py +^E2 +:xܠ':9K!uR59i5PH`[o6a^72*y25;} *"-^}Py/m'[Je}1]L|t^(.ϗ 68Qa "YJ{`9STX_K\qC.x\k¿mGʵ\Lx&X6BE%W,\?z 7q XDW#XQqzqZ7}dځٌWʘ$8դ>6,?r9˙mZ46ҕ5U/E7X\9ap9 5$>$?L•YZDpUO r%yڻ5,>xD +7F=#֒rI.G%[wrdzbטYv|ތ{98c97R rAt2d&Q~}~3f؀oA +i+]Ye SxE#@-9rQ -h>^\TEI~%Q)`j !nH ?30Xx4aăK0CٯD9]FڛV a`[IdslmØ?ey_ +LAy f]p#F?TS{ eZyr[EeO]n;3vh('sxVK߁eF-v8dXqӑ^*畗nJ cE4@YϤHFH-(ǣQ0EH}K72@ +Y . (~sOLNj)2,x\"7)ՐK<_ +? y 4rθ=ީ+7L9n(;&W_S!51-+T)P.D_8T~޺}s/n^H)m2PRzL̿"YUTBʑ> }x>xX AmHeHk$t~2/^b<#BDҖ3:m*|Oh=ys˦'z#_ŧN㷥#@!W&?5avL~0tT:4T^O_ 4Y1ݹ,2d 0_:}My3y_N)HW[^Yw3 +43 +_akؓ\=?;D>H.G(: hClzkbE,{BOpx)Y>O]JrH7;9 +Ɇwn\5X!rC2yF ̹fhMjo 1ɭ<ܟ5/.(s׸ISeJ% +Zx"-6CtFv]*vbF -(I@A +I$t[$:gѝ8PN-͖'e* h!J)rl9zQ%6l)^|P'CιsgbuS*%nPDhw{*g/9`{?_*r%-mzHO.JL[)Pev),?eKT>&(z 4g!&ĄZ@{?!533 +]:`EmBqSmwf,'U?G*Rs=)P$h|jT XY@ILiHC9V3~^%p)C{0&pEN`Ls>>aa>\ gp"D% xwKU]i\RC'W(©ӻ^ +*!£AVJh/ {?|¡ZzFVhAc5L +C %.TjW|>Wwէ;z=Ax/L2'E@vRIJO_zsyTEݵo<\q=A@>Vy!0nݽO݃CFF_z6栉Ya~^M=ĞN{r0 l>V  kuPhf+5X9ܢ3,,W`sa<} M惄ݼs{viΦ(>Nɧ i ~rB{wNr5!u *K-PJ`D~ PJP.?;jJy1& T#i#w -ږk)//굓:5h=PVA +?6z2k +\Zhϖ }_ʇt\缍fWajI,-6Xü e@o^N];$8 X7_oNŢ+-QLPtP/[.ׯ\`1 -Nl0 z')ZXC?&y}8>Yiro0emy/Sǒ%EJtcisTZ C-i!IQ*p"t!5 \RŹ^5Mɰ{'GϥW^^PNr4)9zTc3`+I3i|Q8/kz V MQP5ÍI"E0"? +L.Jq;[ãmhR} LA$$NA&;([OuNM9ևg'U.e6MG uҗw,L<%l6!9H@Աg: Fфf$О3d] $_olY3!(߰3#^.|u:OYyR17nlZ`1y/tð]nNc.~?D>rH/OЃHZ^e$wF@Q`_R姐˙ 8IV_E8=aƝ.G'g'4k,45'L;'aW\K du?{r jga9o|U#kҠ1IqcEF nZz#~KUw]Ѹ'70 NK-oaNҝÜrrJwi'(SU`2~KX9U' tJ8G;1M}V4)_5]wR +l uTԮ<؃lAlO%"&La#bh֟Oo׾}؞<6O}8㑆ԎD`K"}aR3^Xbt#e΄?]o~tHŰG} W/{]F 90Կ})^mO˳oN~,_ғ"JC{%%m99 +5\spxxoٯ]?]4:;wj hIZo7n֟ qVnF'Hv@Px&uljy9Nn~totԡ hAXјIӉ!z,Os87!6D".7rQw*Tǔ*Aw!h8/d]ޘn@%P'.Vs$~^6|(% NM1) ;[½⠧29DèVQ+{-OBEf`Ul`i*&L%say1/B>>{7!x(>#h!Q 4$1` eM8] W~wvZʬAF"fmw2V?Zi`m΋5g"+y/Ӄ㎬pqGGaxVKmh28A.()s.Geb<5k=OGPiQnEviNOh4M;osUbs9g 0fڹ ˏ\{{sTSLVaCo_ ^kȣ/wl´2d4|{Ul̬".q'[1gy (LP'IvIFe?}poK]@Mqp$e_{yBԢ\l{I0sfI-E?I-=Y iD},P&3{ۖy\^g/99IV*-pÇ9&,wwO~A_6 z(gyL| ey)Q `[8!-U~;_lwR\\IvDTQJ|F:gՅ0A8ẗ Gи?%jd4]J1r;:$)h +}?tGgg>7o𖑄3 5u$鞿~|>9 Ҩ#zZQZޒ-D((WrtM +;tqF֙,Ji{z{3gO]G\O\01Z"Q&7$;RU޷>=g8eHQ$ChMKH(H#vX`#d9lU#FbVĤDMK2bJDrB=U眜}ߩegD H~}uη1#pK|)]Ktlztm=u|,K_JMrHm3ym$ŗYHsv~h.C0 6r 0簍ξK-AfE#i쁍lr!_zn,a uKj`Y48BWzq&O,ZP +`qՉ`4~tqk\mI3ʛ}67hOF|؀Wd~`9 +hrxl(ܹ3FY;H#.%dDF=mdUVf7Svfz[oT%&tl-Z$"&I$G #E\IOB9< +8x$Lbf1~Q|I4v4l;sѽوr+HK;hނtZ|,f~vozg k<YՖUD`ڧ"xPutx4?m Q1f%]SR6'mԄ|O;5 U^wfBS Pl l%HAyD3/:y 'QLbAm.dƍyw}Wv6ڶw#nSb b&a(,Q8p:gO77lÜDGq>̀ękJεhT6 5H~JƯ8b hXXzDX󼞅ČSA^#;Ԋd Ҁv`cuMr@!yTl&DKYN(m*Xҋj9,`',Zruwmff#5TY~˹Zs+g=v2$&-QaӡQȐ\~EI%f]; )87v@SC3Mޅdw?&(|0 $1g/eUԡ ΊP=(N'5 Dn(0B-4]`MH_15`>?>JUDaڑ$;1oef.Dg g@xrFml ôhRpa80C<pxX{vA'Z*5f$Ea7`-0##5G5OLGmvqM1lO0 i>!4 8(p N}ΒQr +$!ԇZJ9@&KR3a[H92L0CÏ 8"%h؅LUQ; AHO\&QZkYq5b )ϭ:,&jή9kHȍf<7`3x$-q+7+awm* +),Zt&kjSfH9a#p$ФKT\{os? +.:skr ʪBQճ7'o>|_S,YZTug;0 G?;CR"k68ğtj/ȪU06Ol~XsX|P j4>A-%‚;#F8AEWn]$C6%|l]*!AC6S &Y3\Jo*?H.["c^(^:Fa}`_rZv;Z~焘sFtqIItts~9M4(@eYmN)+(>%q#^wMs?']U\70[ 5x)4$f`Ds2#uůji2ܿAcHI8Ik F90eVW:wߦK6}CF$,* D?$ggN5PS,Bt3=:jZQV`rJPL`&M ¹]?BC#5x ҏu,{%aٱ +8~ eJ$mw8oì_%3qU86C߃!yOE0BɚiQVʀ@a;͛hX͛jfj]kE]si`K@ Z/"_ rSsR?0&kPWXg6YmL~y9#c\{=xXuEā`Q00 u11 SD $bVH!2,(nrtC@CEԍǾte7}o%2~9qsd ǤJK3_Xn$e w/ǗnϿVP=FP`ϙlN;t#+tKZիC`)+2mN`rV],mG^$7l9 ,U)Q, +4dc;y:2[fSQ~i>OAW/aofP!|[VAsiqbInX4ZQP@63BvrXl@+IՙT(Ƙ]Eiɟ\kMVDw 28j3DIT\ץK҆ aJ\Bj"Zo0GYV *΃zHtKkQN2rk`jKYquǤ@.ym\ѣХ5 xE+w&Q;7람"+Co "C+cZqWr +FVPӥu^rÆ{u{S".B6;r ԸBuciۼ ;dFC+65b5R]׃gEqr5)QY HTX̋1*!TXQ?d95`LXwGRH6'<#Cʃ%5X:j= *[r|q̍[&7Ӡw#/j~}aVɬ HCΨqX,ūap2G +ÿg726m;=3~6I=$\KJi v:U3+vaU3o4H)PS ^'NCyOl޾#ӌM:7Z _tL&59釒_38˪,±E4iU94@P]"\z}`0Qrf!c^LĐMMDw|]- x s=Ǩlk15cq'JJS{lhv$Od7CìQr ߁`-a#-#HW[?|իQm/|f]p~:x"J18PyK|'Jb@!hR8`<$_89ρ: &J +7ME.$I'pV'hg5y7[#fQF 6P]"+2똛c̆#w1#T`#=s4vKc`Hd"~,*گ_i_;&?Q䩣xaL`N8{?tg0 +4I2k_zӚ pGo5RghCA;}j&mE2r GOMO =)ehaEx'FBn@!sUI:S=E|2sylC{$ &k*ӱ=- +b:)1Z"./7[ӭO]>s7t񮻸=ߺ"ve)wb*kJ&p3z cx8V6n2bE` \ k9\ptQg0-u蓠N#-y\G\AʶQPis`=8]0g|̢7}(c r)O"u|VK*A`Sby'2"-D!YKbz,u_HVsUc)ů]1S!J`\~tjl֔KjxH!BRP; iHv T(Q`LrIV2[p%Ѽ$`)%:_ aVA1T^ @v +Ln`rśCA9îu\9I@E!|-^Dǭv}-X2G#b4&yed@b<P6Ī.V h/Sb/0w3 _ 8"fR j`6w/3nK=ێ#=TJJpz[N sAHa*eYՊSQ4+KɧIH,N?GNʾ+pJ`+4Mm'K2lGʋ7C$oLK'rySM Gw):^Rџ`.Wx I:e +73/R w<m~_!f}s}q44(y7 \ydK=""yE,1 +[Ъ%w7{:B,\R 36 47e7FJ Mmһ!+f2PtiW yH$o/yOGȟbÔUd۵԰VRYKrnT;1ϨJ鱲:|4׎k;6$,lR4K 74kG:Ɇ4}!^΃#!C58{]ܢňOX 9\5Q~M +9# +q8u` Y+Zpm5|C2bлpFG/4+ 4#%UVP+j{Lu5/(:)+)]d;ZzIʵaFM$%B$U ;ȒɜGsw:/8txEf +',c(Jb٧AہU@Kd ;?mKy'7n^;{xfxG~껈;hQ̪4F9$A+.eO%7?\>w G7hF gW/:?ha!PV( +E%qbIK#/#ˊUk-:" + (.*aV.L1S;%0,ҕ]PiH9!6(Wa$xב@MN{@ )MW$}V<%y͓w& Nzݦ0rhDhYxՖp~.:KP!LGmA$sf #6mLM%Uǥ?.A|xӬ=_̬# *E4[26NƤ3a .r"-sK2P: +bt#'(~E9C$L1CGIXE$̫p`R?:^/|@Y}h|'ަ$.Io;sNdmeS0 _k{+JG!*B$>s3 Hw57ty"#ϺʹĀFVeq5JJ4,Q U-eC݀x@#xOCcT"]``tƩ]2qeSEb`ܥ{?d +/xKM4Hm='@s.\y>.P +ɱ"Z~| ϚOthޗ{ɕo]ʕm 䇿5 o5sy#@ ma;&@3`c 'Q{#'ďec@ -@hd0 EXeYŧG %; bp̛n +z|("A17%ۧ'- F%Ҍ.<4 (AMOC Gi0~j  y \Z^dGN^{-D2{aLVYDq)qoCyAԗ/C`κEEƥM=K ܒ' Ȥ*z04Q"dE M},#)9:+ȏ5i utkeKZTثdup8D&O'7fjD} 5]CDb{~jtk@JNGF2~{ jiLJ-W*_hR#v#_!:]USj_7|I#$Po@w"~ UH&j]'kg8{iB1SA;đ +a0'JS4Oc~'AhYv# Gtf\;ў@\ pP䭌cS5\B%EqMg6W + +Kڼ,*z{ Kk O㤲:ƥ L[, \\\G.282]'A)e)Vbݒ̰7Z\$/P%#a +QB~TOtP]^i +).1L1nEP#| 1 + l?h?ԥg^;r[uG" ?#Wv/ǟ}^WfR^}s/su}kzhc?t:VYՃkzejW8k#Otɜ~KG"JCq>_p%#-18rVBͰ;[fڙ6l@,v萹If܃a|f#7Y((Q +h]X sS~Ky\IuBUEqXA^H+c^=-?]OHMD0U|^3Jn Epb +6oqwFfoBjjnNʃV:b.W՞ z>#U3K-Q<ΎQsKᯂ'v +' #uX\ջY -@m%v"p kQd)DTGVx|&jȶIǼ?2#ej#6$4DN>s4 Ug5,+3DhF9l'Zl'BkhLjOu4\9ɴf9f.&´jDQ]L $\02*C CNc[_}1|ȅ+iYʘQr<% |^e:|NI "4 *;Mb}ɖQkYxCЎ[98ۂK=?[\Vtz9+ޫ7JU-BQ +{L,1]d7zR(n%~,8ޏ;G-i&'~!"Q  VWvb((jt$?IS]_q ty"OY^DŠC*90ʼSD@pN<=h 7 yƒdJ6 dsR1ىG15GM=8JAw9`iA"* '(#)(a;G4S酛3 ɍZ K_&M|4kw*È5"N1*m*nJRxBEikøÕqtLԛp +o_hvl~'.W&v .&4/?{gN:9~fe6|g+_{kFZ3MꮡV/gnr˝UIpRA0!&}M1%<9aI!xDR&\D/t+嬦l-D>Z8]#NנXiH&R·kYļ쪔nٝ",r+z*Ök)個xrEI- +'Ϸ(xoFVmffN$fA36:$^=V{X&"䓛B~ ^'mb0 @I',R&64'ՓD {'#,?lO - y8QSͱ %,h*?Pɞ!U) ^(Ǣ%߄&j"N;AE,`;n~l=ҬCb9/.,d[Um `l  +}gu+>\Czfd8uA28~YےjY[ɀ"`aY,+Yє$ %4 w]9m`?0Ѷ**<>(U)eLr7in5\OGJkipzo՛7oMnqn< +j5^łR-6 ш*Mk!8x7Zl{/bh mEJ4帊g$oi +'p_פ\*U$tgx/喰j[~"zQ2r)/5.~ 'ɮWζ2 +qXͳauӻggQ O ڌO +_!lpTd6Tv*ۂv۰/IUT&\eK#.QF͔^ +$hNwe)7m8EPb 1P뉛EhA5ֲ imFIbU+}ڜ-(A jj@998{W?xm_5V^wֵ&x7WhG^ +ֱ0LXNwn}k6]O3nLc}Hhhee,!kJ /4ݠ.VP::A3[@]q* :i屆ՠb"lzPTI@-串9*؆={EZi}onj限6Nj fd{)TV^2L!jɑD"*)>9( F?R7R[Qݠym+cB΂e$}gvu%"S&O:S%iJof}%#{B9'NWM  PuxV,BkeIfA.~iPbj5f} \ ++ /`g bsx^/ȟ7G׭HJL<`}A+46]}-6?ړ5@t 5$wmV[~g(YWY[rCߊiQ&Tk A4WI `q%R;X8&b-B#r&֨sp) +}b}ѸX8wĕfӲgû~V@-X V5xV[*m6[PlŔʌBF>J*mW@ ~OIUN۬E NƫPٻY·_u2Zk`)7~xsYq +D˜q +o|s3Ix{xhyDb[ +{xD߿؀&$ 6!PtGƾ;J|a[̐&qT6"4ĺӉ94NCXB0ċVNKV>4p4{ڦOt?bzZ/0q͗>x^0<=v?A-@ :`30Vakj+ȃ ʦ2lFȬ$^@/D=iN[SN@+:d6q _Č5{i-&q伈 پAIJ $  + k;)$." u y=Xc+v30Eb¡I=SƐJ4;): 3΁z*/KW~'.=狃{ZԷ\JW>c7+c%4ƙU4"_v&kohC6bwA0$^TXyx/(AjT)L \s)̺a}T4i ZVb dTE:Ev '<L Yڰb)bԌiZaITHDU6No(3`ǿ2=ŵU +"@TJ~*pI5*di>+G~z +zEV?I=٩%trpÂ:L>;JdRYw`I['dLiݏ&(bz^YAvs &--9):g d`Bd9|ck/g^y &7dH;/3oDwOw?XKd"cu[Pݢ ǒ(PgVH%0@đ$[bv!`b,ErcEKVwN׀9kBAw^'l1 +}C>- Y+Dz a4ln)oҹ0ɳΔ1(j]<{CqXK")\Ns$f!Axy%_*JHL'1gP,;v"HXdH)f^m}T _ sSr8TȂq .vjvI!Tq9IwSS(f +#/tA + ϗtѾ]GZA@DPJHtTblˣ@AOl>2sqgx LN,gy"]bF,"9DYpjWm~sȵ'_ɏ~=5^*T-`?i]k@J%\W'%]WP~Y ':=cHHe*DwUDhc4 {KvrRG|(ӺL܀c5\dvQyq0fEA1rОFr!;2q])yEB$JHP'32ʋlbI0X +9Fbge0ÆHE' {W!5,DXԈjPdUb7niEGtac%3 :4hu?{Q+Ț{a ka8KƐޭ|__&qo1 J.iPeoWA>'?]3G_}\-6 dzwnG;χz^P'BّE]w|9.-d~%:WWK>vc;g7C<=t_/{*HbjJwUT|=ff0S%7!әM+b<6st`*\"Y#jnYOZnc{:j\H=ܢrpz]W@<>3hБP.л%Ak˞oJ$K@Ǫ`J^,ȣw ]EOo!e(lws4)RR-}xUǻ=-( FV,4X<<."ck PV~"Q,23Z0;#'&&Fvq5T.Ec k~ 뭉ݏFr{˝wjjVl@OG~_|OrvO{s69EM&}>:Зb5em^!+]BUnd2ݽS~G Ol@[*^`kٕ .gNв%J,u4CK|k/ܕ.(Y OR\0iYkȲP)r_ru>&4 0Ќ}=̠&e[R,*G +:Cijz N]h ++_M9--h&a5D^GnOC tc8IFb@+pNȝ4~`y`fjM ) Uב>JL;^;zcIm9Ё@7 auDq! V?WQɹŸҍ:z +0)=0i{&K˥SxhT6ӗB[MQV 뻗=6_6GS;WSKn]eR0&C= 㶚gGvY"P&H~-n!ֈfڼw0ħTU!h&rS0.i</2\m*8_T^>&|*^kaI IV,^:,-CSYb1fF$3`X77I9ͪ{_زzÊvX m#)b#%8!YGC>V1ɮ{Шp?! Nڊ}h)zn($&e Is&H;mt|Jvdv%:SR,+g#3C(ও8)ٸtG@MAwl; Zl77Ǘo/_>8wy/ 5kt([ *2"z{S'^׮nG'{M,<,4fbۃT*F?^2/*R)u* ԩ MHNdj%阖*+̨gSS&7=HC\dA8Eٱ?BrU ^ع; X(np|*5ec"y;hL/|2CCMY:=+ܚ|Nqnè! BJJ}︜E4izdT7CI$1\2>sW D)][&g\.zG{/b$E"l}dLaű0zDZVE,s%`[a#-a+@/p0/uw'JXI2J:t=s," i'ytmU~PҲD,Z@6k#ܟ)91N?]=Lj:zm2ۚ_6;[n_>stsv]o}+o]x+w4fPZ{N:FYQE>`fȗ+UO$^Nv𕴪I'[NU%,4JdU,2&Q~TEx1s ]ҬWѬ\zY0TxNJE-6<)*0ߡ&o(ݖV8Fܷ}wT :?Ҡ;AC6Ƥ.JQ:P1., ;UAEAB*tj*I4Y*)|[Q t} x9Szt]a'?+ޕ3V3ooQΗP0K&:c_hrclW~Cj@RChh+ξJ*pw7[iOdyTGZBH48 VҖsɾOd,<:Ҵ'^ +'o +hmhQR7i.j%m!#-޸ z +>USNEDFɉt J` NnW ?e ^nǃiy**?Fl'oo{b'Q}Ʀ2۱-kBnoH2N5 oGL^t*"Aڽlv:W5W`Y)~:ܼ5k' ̹%YgW~uK.`OO?to},{+_~RtnGRq +M37[_n7 t0C]J3CY>3㗽 c",/m\z[&VNVN@nC 6]aٌڴblb=8nq@-%tҔҮa~š:߁X\|OT,P3Dp'nڢy'>nFh*/vTjnPlmi#}q'I;91Zs*ϞRF-IX]N{IMN^&삇'vq\A~r lz*hƏßsftikǎwzƅϿuT:{tنVR*ZFI)nکΛmE$f=2whw=裐'E50#Y)&MR?qxkǮ=_7ZD -R$25 Mē\9 A$I,fxˈQ߲U[$c ~VN/q[UStSv{ԉ=GamKD<)Kb\5)¨"!?)C&+$2P3tHa{{`yW MmJ Khdh iDhnIL̥e=6lX֮‰LkO2|QD+/! P1#*9z|SD)uPy;~W`CeI.AgCyTrd4_@.!TDrGTH-b6mtb;$B9JHfFkS׫"7w&o{@iۋw $1YZ;ꋗIƓ[wDgl{3:S",@Ux%vR@ )fx*>7mrʲ)7l4䚵%BQ/Z#\ %!ɉ%_$qP vTvetAggu[^YbjM:OGR[,2DJܤ~m{ SoSyY +ibUDcߤI0 Α5D:X\8@>߮&g'ur4*#%ƨ']v,XҔk +~܄,"4 |#m!|H1e]*N=L GI9!G}߇ +En~|Tyj.m3Ⱥ)| KļށϮL +JrH o} +d?~W7oݸukfG|r/{CWoE JUڵGz|E2WL{"{%Q<#Y[PPJ$#`8 ӢȠ/W>C ˉ1L}i6|K5uM}I ~B %Rg].}=t}(F2ە 9O$ a8kq0&{kbs(Vv4Odyu]^yE2NfPU%itE,9UG6`AYϒ,cT=Ds +Q6E3V"jt< AdICZ mIޞ"8 .:ϭ6 |LUjR +g {rI.%)Z*N ?g̍N +kaI_aj罭ޙڍM\l 'Ҍp !JKoEG'EqgDoj3&-QwQ܉P!ujCSߊN2 kCq_%AQ.8;pO[fF2gt?)nTVAb +tan]p0 :6yugZ5`%Dċ euVi~ܰse +}q œL4^-F݉u$G/ We쀓N''&`rJ#\Ƨ}5GswL+k n*./[5'^e|QIZтǞ_9t.|iCMB?1y7ƌo7g;}txf3iwI +Mx9]Ğ !ء>q+.)tRqNH*&2*13TU`5vI[p2Ί鶧l5ĶhkˣV\ޕTgVM;Dž6'r3)d7)yO "ғnIɧLڼ9::Ґ*,!tLIN.V0.9:»xU N ǧ?3mMff[2-*v]ݐrӜ%p1LX:ڼdQ')_ZO#4pʯv]rsWCTIzitF2/)1tCղ ϱ)"L7f8q*E]D3$dM$c6amt]ylSЁĖyZ̍Enl Jk<}t̢sb\>q95Qc^my0ps&뺣@Id{ b`^`v"BNh;VFm,08Hk:* xq1Lڀʯ֪w)y|)yW3#zƞ5 +W%+2s2EZAۅyG-rox uaqF+h)/QG#!r2UZu O*ZgOؽ_|/?$.=OAPvӿڙ,gtwszmʹ>n&?=}_~+?/vtqC{7?߫Oo4-Eڦc#uJqS\5뼢vy ;se2Au89<:cWhI{vye6ԓJCY x k`!_npcN%nD6 zJ;8}c3\bR=C/7#?lv fKG  lM%л Dj3f;'s6{oq ^g?{'-ֽkk:ʁ{NSgPoX'LaI} !qBeY@1 +׮i$,팺+5vVpΛ*F++Y.H27\[Z,QT=x*f3(zckӋ*q%mBWFQM;qNGbKаhz/?i4me[pIKKb@9"ۃ^'yX3`I̠$G8`ޖ`a11rLYX- f*r}ktR՜Xl/P'IuT#Fj]irw`JƮ Uro]XAzPu) vkkqXZ8>CX\Sch|L}ӟ_}h_w2ؚl$30:n [1Y~η=)j&3,k=T]H+֫Vw>Jrp0`J^ +<)#R095NP`XsO4u q +YU:J"O XdWsL*ݨu ̓5,SPrʠcƎMg ”!j.jH0I$5gdh Y *Kd!caZͤE#L%6V[λ7mσF5Zk}~. 1I !zP$H?FRP@#t(q^uSb51~1)|yZk9U_AWuťeg#, d(Z pgqPS!"nƄ~I}ɯ6r-U7w]QHL)Q G NZ98jsU-:.cld#uYl0D\kS(zssH/t~ү̳|SB"?c.<'5G[J*@iҀ}L(G:oX8ςu0fޫ죩{;%eEݎtGQDyv8zZMFw(|K.b9yٟ/z/1xԻ]^bY%YBs<G^њ7B:Heun,[g_m74 Y8({}{vOx +W#k>zG/ߙkF^!K?}ٓf/_GfC< 2Ӎ[~6zz>xjd/ WށbNې9y%7*'ۇ3yzeRJ0 RJ侂%L; $p)Q\ڞ +b>"myJ". H߸4Z bWxaY|`Ɓ)W`rݙ#1xf>lH Oh[X)RށRRJBlfN`=vnC#;/R-jvLs3x-$+6h;c4mGκ`d"+.>/l|'%"ߔy69[:AAH;CNX~)\K=BLoXkj E *XV G˓1"[:[,:?g'7.qP\+3<3A%$b%SD*ց 7N_ "*GښlN`re̍k;ڝM\ 0Q G)1sJO#q"VvZFXZ$Q$b':xzFhֻwf*%RSrH2lHk.͸c*#= WP>H:LIƒ6>py''U`:+W4_?X־v΃[KvؙāKoJL^ϟ[l2n}k<};5q,EBg$=́i?!3VZO +nPԕ+aN`iP)@[Sﬣ8us1©D=R0Q}ՂlF_H2R45D;ya2OcruTmұQe7V3ZL|(4NUv[ʅYN)ETbP)֊utG aٮ!BNx i㲆C?]BgM΄$de$]V<Ù|U'.yyՍ]eGWvw@=dNL%J9| VN$1!xWi_/ .trS_y\d''0P'9k&;gZ}G>6udWk/JYvfi>_0bNd)~=OoMW>}[ p)"[sUP +92oeL + $FX~+$z\bX.͙I-eΣ^s_A~\b^@&]T2lfT1lGѳh"Bdy + IAMlDPm$KOR$-=D}[(UTUK_@ܳ;O.({`cUiΝA`ux"KP$ Z-{9$rCcRhW8<6j|Ŷڥ9kmZMH'δ)Q\U@y׼_,!)XV2_0.9 oo]P^P,=TE~x9J\JגU[-UV%rCeƫ \>)S QH'슒(;7yJ aLb3OlC뽣11O+f-\$9} +.CpyvRϚ=tSի7iU`,f,aXf# !2݅_[kYd~䜕}}ؗ,wvQ:+f{:;~oٓw_c&9džݯxmvxc$ XFG<"Id mR 0 ɕ$NJXlrlQcn +Yծ3p +`E5+lþ,ӽ-r ep8{N`B+q0˄pE +j$=-aHLJD%p$JX m l V^*_{G$lH_ҳ 1dSF4<=Kƪ~ܛ O#GJ1l!Dp|>Lc=7.k`f8Hߡ5ojDR4ODb^SօWZdLrll8ULx+gS`#/ز>ʧmfًtEʭDZue2^uw\lGɀ#BZ牋ML+QAM#dгJDQT -8x}|;qd;Mj̣Q'tW 'tǨ9*o>W82 0OPsuN%gscFTXB!x|x*Jf9㵋-eŚ^,ȴ 0oI1aSDNce[bLmTDU2a$WMo?}0xvUkuGG_x:sΎ$߾գO>xS\kJs3p,Og>nR٣LD_+7UgszyL˻G!ѷ-VX~ {lݰ٫܌;1g<'CeYAq~}rصQU!#v`3)Y'sYד2-6#M$!aV9qQ#9gi2+cMy2h͞eƩ08N[xAI@[oE!j:8ǒd +N/kJ@f Th 1יhc@ 'ŷrA"H$e(wߩ?ݖS%Qo`Ro ,حAu*sQŠ?S>F9jR[h*uoK"Q&jx9ff*!wdEmqz㬭,YjC8&ZC cNLt6v LKz4bz4xxT|{ ܃>T>ki,ȊrÂWME%kLS XR4}l6ͼd&I'Ι%LC 3IJxX)q?*:JdLB)UAۉbp5E1:+!#&l%|W7kHn%%(4lfI*f"T-12`vm}ܑ\v")Z<4#"qs['V%niCg)Դ`?2AZjSB.M9`aLٜQ,R;3eE&'+0.6 az:gkflE[!zmkb.XjCPOYkJzFZZe }<HuQI䖉H*|Rdcw_ =!F܃HQDĎw +\>D% Kކ?  X3nE'l*:KN='TaOw2 mYQ&;KePh9WMuVJ}b# vkZ$4Bڷi4=L]C%ʪǓi-' +XS%vU?iVdg.๠Q%F"F]N8̒@@]qNa ?Ś@OdIp2۵('DZ/'\.7w_[~zp\IϏrwLbkRcѱХx)DXhzl@#;PO(4kkj=bC62w&*CA;6Uxpz 8>m0])դ#)$_b]Jas3kRe[G}.sNDDiԋ+-UO qm?U/+262%S̡".7DqĶ ;(FcvmB!tLJk K)lr ۼ(\BOMYh:tQhϩvȄ +΃܅$ۙ,Vr@G'Ӆe0=鋽|Oj/Fs6.t쩪 8Kic_iaT>sy.T&Fee[]8eYA@J\ص @ +݉Lh{fQ$&՘# (ڙyfg!~-]L tlU,(:NƢŘ8')GJ#Q:um*T3j+ƘEJKz#m&{Jq-ʔ&#^-UI !Q +cG[04#d$xz J 7w%,nx~8\@QtΫZqIcg=.koλ߉w%Xw'/r?Osɍҝ۾/i 83l&R@D/sO{ +uu ޴1b6ԡ`V5& 7O$lTuzqw'?'s,߃fҭ̏Ցv4jOiA/iQQ7Xim"eRZh*3f3{ j+b 8g[&gJ1)40HN`D'vqw40;,]L}|:9t2BrP1<STT+ +N|Mi!KMbJ=芥8Q@CV61FjJg+A,Ml5#Փ䈵"I.eLeT4V=EV1w@4<}WiU;c>@J-ir3doݛjڤ˧Qla1:`'c=NΥϞT#Nl [^)}TLM+?]nNU [L)"GʬnR~ra>)bRɢT4=O z1&/BP}᱓4br i >!Ŏ-4u)abz`<8]%O3';8 v">=u׵>! xsCR[>R݂8>vY !`S!5"x-no}niz˶/eL!v/uK]{yAHj"{UBfUYt6v+\8v}}Yeuf›4&%/*^:Tʇ0ӔT ,8m'l"U]6J-}U皹ROEs'%Yu$#B7kN/6ޘ0PPnChBb#E4syAmjI;}*eg e24kyWxeZE y;]E\~Vioo_!1C@-HkhdCTC7WgT7Au"w+j࿈I,ZWLEv*ԡ.j(l;8؃Zqm9]s4Himi,A +vU>~u9]#ycݽ WL( eRL/1C#t;iS9*7Ƴ|r:ȺFk\xdGRΧ" *R:;k&DyO۽qFX?{p㈺<}gRr)~G_:H<|EȐ:.VB5e\ys.g23];8bK'8shU"QZ,`eϔp ́w`^@n>]4P\@Ֆ-TJHGjW|XNI_[mu}1/WaxY+c*HcMe% Κ! gM0b)E"ymz›m +R`hyn.!G #D@; E=K.g- XnG~Tn-V ̌ϕm\%:iYa3bDfk [Pv,{뺷S9 b%NQ;qx-N& `IaXVk)J' G + W'3zH +-$6ׁ>GO o_v~}ut!C0aL̳5}t +hK=."DE<|GJx m/m8:ӡ<-Y+͚ if`AGHCʇfVB.[VrVw9v r^ *_қmrζL*oK p?||{#kȳ.dN%p}p11gpf%V@8Naȕ묎Ox]"9@7VX=i[pm@:"+ɳWl&ֻ)RݲV*hڒ *B9rD ./d3;:sHūf! +*l&vӖݴ>`4"%HXI}R`v!vSlwhQU΂]v[2pCDiTʘDLGN;vT?dvRM@*b>:U$ubliFx0u A{Zr" +y/\BNQ{tY|}.ÕM +| Y0fx,~ }7z};`MY5H2C#DORg( +Ivn.R>fղq,*Ҫo`J 4IebFoCzX-!K8I@y|- +`'8VQp^hr:@ Hz2/LӓW+A!R5_PH,1)ٮՁyVy.`wm3@NpW9d- Q`LIyZ@ t-1%Ď#,? .\s)hMXbGgܑMKkqeX_cUMQJۮhv%Կ*)֯.> p~H0n/#tl;E!h_x8"{VFʕ +.$] v:_cQG$qBFB$2'#J*>o[ leAC2| +{7p >R38;xb=E~߂6 zÈenR?[4&,UXu-eDva +V_~򬎈B~a7˺JՈsiIiԃ<[zj'/ yNjRNOEEOu|M8/@mdž߉C,\QP_\QդR2 K_lVTAĠ[Vdep.U!ݐiY 'b^> + RxbHpYJTh@֚xS{5zA; ($~0ͻCZkp|+v:h^C֞H H)lHU\ч@[ 0UF7 +Ͽ + ^7q(!ߓg%pi%^u7}c~{SF^muY7|yl^ɣ?ۏ:1 +VV=퓷\ߺq/~{:l8Z^s#Te*X"@I((>$P(j9%4Pڀ8c7>i2;E$"-Z՘ 5JRGm@nwf~ +;̲\5Gbhޏ6vܤ96RNʭJV\eWj{r{ӶmrPa )`3u`,3\jȪ )>m7[wD`My| p,O=GiH8[5ReJ0LKEGrƖ|58at}PND;8v*-+J},6'v1 ْܫ8"hN-X}õߣ X%F:zTgr QyAe];KۑGX?Bq(G`L^HN/Jfq<-Uu9[R0"QKj8mN`}Ѩ8vϻ;n^ SubԢ,lr~hy6fέ|L'PcGNMb0 +&nokJFUl"-X*OUJ=ln'AOCwr)0FvEMqHKg&ilR6Jӡ8k<\CWNze,ɾJ4A"8tVa +!)1ۈNQ+6ʂK0 oiZN.ЕY$[R}o;d!)]Yd"iS)%Ǯ+{R8&z].pዝ(́}wYzXV "HIH&=I &,ҧa>ƫӫ}w(Ɩ|R9 w%CKilp,Y;8bRsL +,;5 (TI9x8 +=k^1B K%XQ♶Uh)/JfB/ +Mb‘1L-$ +zdTKvt):60^\/Ze3i-n)T1Quוje`b" tq\<`GQ +?LT|.^Ϗ,VGQ`wkpva༫ew.m U5m4!̓\ :-sZ;+s3)g1m;{^_ŔթZ/*C̱/I`P +`}NbLpټ($2FU8ٶM[7R8׬×*+dF.N{Ǒo<xo؏v¦n-'(-jJB&ݦFn_vq-Nɜ9y>ڈD3Rn>r2i67[.=lBfv$TW},!7D> 9{W쌢̊O2D*M\%)^RBٖ]Vѳ'Ml{u}Ӏ7:^,y5"32jF2+81\hwwg\3>|]m5ճg%̦EՖEQYZO2(*u^*-=ȇW75]r +r pd3 }v;k/w10S9$LtrK+POE +n[Na,ӭKO|Zѕ*(du#3mrjR#١f *6Q9Cnn2!(v0*]2#d1ܣ(ZbN]XY:Y*vJ>K$ؗpPN(Jq')˰i ., b\l7 5$JpAAǤG^fsk ؜_`BYn`ӾqJu./q̌BګmCO>__ +;[l|ubEED:()aP ݑEs sznꋧ7iJeBnB˲9/w\b+gUM ++w?+e9uw]XO^l!0Tʵ)P'e,c飁!T-s*Q:O~Ly_=x>c8Ģ*QY$@ET\q=|usaG3}w]Φы1F&Y;A`YF +87J{ eЗ;z1%Z +J2j 8nٗ/}Ïv־蓣gOįՏƒ># lVcZpMYr:H $w|߆$=#ۓk=6ǤEVAiuhƿ'Wkp߾c8b)#VeJԮ,}wyzi?/)fxDER̢Qu&H"Yz0[[w9Pc`iT\|a۟✛#imz1DB +6rK&  |A%y;ob6"TL,W]d9l쯾O{!|3pݸ +km)[G/KYbr\Jp(fgYdJt;{֕V: Cۇr[SU,ulrfHp,Zom.j> G>ݰۍ#7yĠhH/:'_[oާ<;/;+>-$v5ʦ3-:cхo>5+!og42(4B,SjXASt ]܇T Z}H'FW-HNx4/DZĭ²HVAqFñCwsu(6 +\ U˩nť1%)IʼL}ڲ1?_/*i6l5"fE YdePN؞FcހaCT|0]Vu:ǖx\`*!CLZ؉rv9GBhfyhiG8pÖ?l7].6~ a_}x [@׫q/'ώW7kʪS(J5o8MྤϞ?9uc9mP>kZf{i$a<ާ2m 4j5 ]*d-g~8'7o=|RbmI権J2V -: fkAEI8c.p,}mϷޗ4"HN/98puUm:T$%q@<$lۛC _^ ]cgC-zU@qQpR!D1E_a}{Ya!$6ό?/7-%g-Ѳ76nbNL.CZ@2NǼ]Wpszr|7fأt|JPYeܐnR vԈ1g?'k(8XlߨE2WFH6/rhg_&A>5A_IY)/c)ܖmN(p+Wqd5QpO-_ +,Jl:d1#Sk8*Z;M^y%% (;;E:xmG{Ň,1KaЬze +US(0+zYe=o)_.#1KE*%5\( HX''hQՈ"K?쯮Q, snK!?|6T [؂&~(A86>?ك=y~|f-]ˢ ok7^۫f;fwe>K'̾H;–7OfZv~r~Oi$q!AtʕvټZWަqM˚_?z}ӗ;RdBs-HDxq h-w;eZx``ѦYATH$U,˪VB O>O$;a"$Ḫ$YU:QoYx|~J`o K'G%cG+NM^c +4 OooCo{!#y΃]mۛmن@ Ar Y f>-4:`=֗~f|Rrfcڶd61pL5 + +C^.g'X+;>{^1?fVDzGvtQj&5zqVGVv)Gy]Ů}yvq#Mj Ȧ:X(R7SI\ɳfxvl71 + @6 GV>I\xym{9 %2,#-.w?Ϳ1Sme8̶w1 ?؆1 +*7)fa,QYߊ8"-V{:v~y/GoJإZ6u6+beHM}F/*6 ?_ү ƇqZvXC=Kp8I%.y>{ġІ[^y弐 pUN +LRXr4fuWeQ.wyٮM!y*+Xx<*2cnI`))q}ɕZÐC 1#E8\aNE:t\7AԞ0GQ2lQt}79?% +l?P,aTr'U1o^<|p}EIȯ#*9*XTL UU-hI.ټ./E1Ԛ2h7ak}T#tWk6Ҿ w4Zeb^@0ļTQFaQjW`EDm!"uSUK4}Uz'cgKC_<36ې"BD)LYb-Ʊ w{c<f1KRpoCUtl::{rB,i"UZk|OCI3L0_q"Qy UM% gC6ǏB6n]2T[ :Ibs͗<ߚa-6xUS)Slj9a%yd~A'YlZtkTXav$*t?nK9$t#;!:nwPP#-hmҔ5U6æyۿQ[a˟=Dt+ٺmlGg^/Z6_y1/nc+ L,J9)D`2F Z;(mI|\t{>KB#胀#2HFb֥ȉ c~Kv}WoPUC^ڠ-%{<1!"q1c*YW}AKs=< Y4,$ @[(ZC|Tlރor86ؤqMhlX|ΰ1.pZ/"}{ۇ 81r=7\3F"hTIxٽ@pַ?8{|S ( +PT[ZHBs[%A6FㆳK9/c̟Ëb<PC=(;ò8r?2LDB .)8RGu׉w`?e݂ʦq);<޽m7gecTѥDs閳qES|ۣs4ҦI-9E)1'}*rGԆ0 T "rPGjXY"]K5>]'LD +Gr,(Nz.J-жA0DCT[jG>~]:k>зau&ZWV3 +lN2-,[^4hCoaێAr&,'(h$Q g ?vykn2rmYR x@5%#R"-ɤ~R{VN! $1Dcnl(s&uh!{TAXUu$ְsYa䃳hUAJ1@_D) A:KcqY Y{~rUB5/sXj .~~x`/[ϛ]\EΌxFOޥg!!8 UyW+VlEq5GR} gm|ų-WriXRҢ[=Y#J*e81]Ii=6!'7Ume"㘦uPӰ2A^xn|~Jc h\8,ّM?!.-+Vy",Hf3giIL99Fue +028I|/7̖NAiIԷՑ{C*1vj%[} }wZ5TQe?w"Bɋ#K8Cnq&+0|A'$J͚4x^U91M]Ɓ:4P׋,9 PUcG?15 !{v9kl[۾- +$%d`v+Bi΅d&M[iqn[#"8,}Zr\x} <OGD`v aNN:."f?0}19 +^E(&|$GR/F.X)iA0Pl;{"-a"4 h0DC$jK9p-wDxGwj}[*ؗ;u3Cb;6cT|STRtDX$l'Q݀2fDŠ8VwtbV%<1jXOWg R &) K V!u&oAùD0r: (oS=e+G'n +PE_2ukk=hl$ +vLϪju#]Tjyt2)WKg!ӴƧ[AkttL`}@0$+fVﲲ'(8CY>#pTQ] m5NR;R p[xsķ׊N%b #,0nkm=<@/CH/mw.KpKZ%*Y4/ة<@<$s > +nkNŔb#N՛Y, /<'g4zqN1qb-nl^;.$yy i|~O`+٘?Cz e3Py|('#@F,<RXIgjt_4IZ&})ڻ"+ %@Qzk0{czZIj)H ɓ &y)ogJY'6~ ,aA$Uu|zʨL 2g8ԥh{ib@\ Wq~ !I_<~9þ%5Չߌ%XtM$c,'ZʮP +k5&WqwUGV~4\m "8Vb蒻,c*?VMUrfwbƃ[25ça,rbBLH1U(.yVH#^hIb=nu)Xh.%kN&dy0JGc&!:'yRhمSD^('! ~Ω2p/fXE ) [fhxF2jmoqF{k;`ҹi7美mizCkr+%$Zo~k^GDy#*WQ )jq.Ϻ.+g-$z:A{s7$Mq +ZUm tSiq<]5k0&}ѽPkc7):!ʖv@ ngWršU9TډuvJvo:=)?ӤC߄G԰}W+2֢p-@r=|?t&#sCz ;N"pV`w[6@|'!n.m=먭6ĸhR~ fdͯ 5L C0{8yҫfW)CI3B+7kf:bfwW5Fh3yB;(Zi=:]Z€ˮ*)ߩNT|PUKsZjV:U\Nzsss!u s]BK H$p~־m rf&}=Ub&>hXuCt~## +s^J}BD +&^c 85ir]Da7pQT:ʶ㋬E";JC] $/)~2uw;E>X+@B1+IO;SC~5Oٜ2Bjwzsh_j 'gX9eci͑]Ew7Z5ʖxkWj2v +Μ +S e8;YR ~RFvTYf>Tܬ$j.|MȢ+Aġ6E΍M2?ha% dxuia^?Im|WH.B6jn,>\&bIMOO@@TNh1 !ۖtY&*9%&k\G||RamŹa"h"ue#c2CϨ+vCD\>U:ؿ/%!:1%b"Ƚ~!NVdWKo|r7X5Fu^mAuœ&#9T{Rه>#>*V@ZjR ~wjJvڼ,(+ZBkc]u@oH|^!I47:GU=A7'͑M.{?PReJkz*l2/SYQ152Fv]QMb)\ŏڊ1}`AMpf OȩJ~BT< TWmEDOph9b^䏽y<'_6l`]r2q*NS\ۊ kE_}2'8UДUYa,+|*e1 ܦ_%rwߓqq;aY, 5PtBED+HDmЂ6a6u0!ܶ̃XbI7\{W&:nIQ2'X=*%@i`ےڠl'>mo*6m + 4l NN}|\g5b*d|z)D&ƶ!v f^Msm-A椤f2#:2*B=r)7(:pC;EqW}JDFD,.hx7T0)eE wϲFZz9SiEۨ*^\s2ud}FdJ3eHW粵ggLxODBM2}~"MoQ$tLN N6N5DOkLw>sפV%?gj#` MVuBJ\1͵h#\"`μ}S:Rي_^p)vnO-LR78:]TvfOK":Ƅ;KvlI[kB+c1bFm{S#U.T9H%zY +ډmlF~$un k|ks$K:-h,zx{BhI\ObkUڥق:;]IP +J842I~+O-еpe +0At$Ɛb[q2q"nKR֫ύ$eX %7ۤ\gX98ZP%!gډZ^jэ6Ն!%lج'zLB-`'>l ^7UE*F[9gj} 3;ϕXv,A <zF)-&toe@K@/5cYb139jIVi-_޽9~ޜܝs?ggv;w3c3]]]I$3#@&(ejJ$!va)Me꞊ON?KXH]*=i ́*\ڮ3gR6hdPڍgICL&*l6UA%~bT(?$_PB-RV洏)e(@KЃ1ޜB8+~3ufcQ0d,>XEu]6UDt +tM`@gtn|:0°$iՋǬ~ncU&z׵MtM;|̏%\l->a'PWϥN`hl\sDDZ\B̂D @w5?p|Q_ +R }ma9\^WVIA tLbE!ni/:Wƽ 0fNNp r3H-'>#뽛qYK#S-:*z*wv,)Y-EQAVk`ߣ_^h5O; il`-x6iCӓN+f`G(niDeڹ[@(qH949nQ6 <BN[T쉏(gqV%-0]&Naq!҃+]==a i~ Uk9J" Wo@̵V2kC|Hvϻ(;9Vl +F`c1-KNzߊʴhZXE][1aa"bƚ!=)b_DmU%[c#Њzo,&LRCݒVEFLd&'|6' +$h(Ɗe;lvI@nR4$l\K`鷪iPggJ"1 Ka4OFsܡ&5(|] ~s%Lx̵ j ?6(4 ɴ 4lDvsR-$/T{`UP^itJxluF'2CCg˫#栗<,a Dpk/e4^0glR/WE +~rlNng>95DP-lYT=w2"-!"Iq~$S5#B視pNْԂ!u)&[*`R)W8](eT\zOT+ȁ>!C%- ,%ROb%M3e. 'VXCj1պ-CI2r +ܦBD4uHCr⧚]ND*l 8@{M[:WĊ5Vr uߺK|ZMdoR +h WPִ^' +;N{ZjC5\YazlbU#Ky3F(:gCdvIg}{.m m=ȊO4D 9 k٦a0 +\y6w©rq n-G {?ѬW5M"-OFWYlGTP=ҐXq 1,Jf%Ml-p'v0hZ P2~Y,*k]A\KDU办5ITΝJf> +) +hpME?U=զnL/H"Y}K(t$Ij+Ҽ|4XO[{RBf'~qU?OŨEF>smMwؽTsng;їa +B t-{!\uYظ:0=} 5+`S0mD'<ʫla:%>Н'yȢj0V؇޶vmӕS (ڂqF9֡@:S]ͨgF'uYg;ܲη).kB#:WQ'ȶ4҉M?όq$Y 0ɟXb6Ӕ>V-C_52eNVឈ%<B(kV]XAb+aRj$adQ!|&W1^uM_ \uiz6VgS "/ԐQعKqU[gЖ54`ΧtRvkUR +4]0Q&%Ct42!Ӟ>U?D Dbm;oz +tS#I\lnbvʆMdžfC)͝Cc^1Qt"(\]B ]6 (TR%G *nYF1 Ң +p5;;S+=e⪈8uE|(c +E&>K^ 3~ ëfL?A+ [[ +WQxPMHҍ.VѪU@imvba6\H6{OK@c#[؝tZjy27qW.jw#оrB"2-vҘc6Q +V$jɺ[a1 xf %Hxf<"ؿR4|)E֡x# >ѳ@:< +%Z$RzdRP&q;&OPճH =csC7u''p e3^%s:Q!bM=QL:쌱p/U'BY-&|/!c{:ɏQ-"f3PpAsM`s(6EM=(VdNF~0],Z3f 9:ڹ(I"in$czK:ϭ~T`d"!r#DbHN 78GH8 ppN7إr\P"Ex+S,Zv)YĄjTOzfuV~-Zusű-&|"4n[/}k!XUu!XOƤ5ds4>G17Ҿ*.}eVJ"tb#bc D4͎gc$W)S \@kAr~d '\;sV֞'A +GFZ0X*S]e/X0G3Z$F/)r%#o`l2[|WzlX pA}SJ,f'QĮj|`!2W)]r_n='P`vJBBUU~0xQ)8~nn]x<¨(jOO51Ҋ:nw0J{ Q ,9^{60+c,rJ1:8 'G:-~$Fzt;A m)2 M +%U3}O9!q1\`ٿ V/ZO4mS0\dYa3Xt f 䗺uaJ,Ln5pϥEܰu](\ '(p77snY\jEzj*?9PUEkq7ܭ4OS6.kG^BKS͖M)u5`SU@}W BlzXޞhx2Uux|,;ϙ6gC[dkGdpڡǭt|Hq 1,jPܒw73`NRM-d'Ҿ}&`hΕ?cWC|wIQm ]b՛rl8&2>v +q je_q rX*ͳ"" ͧeYiȆk/ʜP_[]y Jgc?EO8N*jLli +Ievql[P5r*Z/-,]B]4a- )U[2 &K{'3QloMW"1Ψ`V zXl P+-慱K6 .oo|usKeo#[M6NT;cNo)$R8o>1jO4v]Wi%VI:UH5\KN"ySnV0`bJ"c;{LZIIͧzkQvǷϰ똃m0#@oZp#^'&hU.jcAڋS&wx' +(HvDAFJB)$t]q,RqTny:EB{Ѭj09q`#m[ݕPKcJVdZT +HtT' ՞3gsf$_ | +EQ#lo),%tWT9LT~.IXyB9i> g4ZL>Ԕ|Y٘uX!#Ysӫ\ܺ5m/芘ZNI) XLaw0NH" &ڋ3bB H g8E'mZ)LtKw#EF,~nen"wWt@ߦmr!渲 yM/꫟P 2y 3#O|cfM0YQE=鈃Mvom̵eubsxp=ᖶ?ꃘ.>=<~ fUK4pG97?jzZًa)/bE9Q>U ⦭xi\[&I!Zqqx{*'(?tD=xna$+>x3̰~bvWrڭjQOXF\Wl}H +9pȥb[m+aM#GVvrwsOfS9B=Kz{oOA ="xP^r5K&b$Lf`8SWWWsuQe/fdS~`r_ڭG!wU6MuijmHd3^"v'Б +dP}v*i6fD- (Z%I9+~5N7Յq&1D, \ 1TUa3:(MseЕ瑽bo0KFap`J(UNO07Ձs Nc $FKZč;f8 . ݂{Q,r>6K-Z>qW ˼L@Km5t20k\VA{K;  +@gg4x=lPsLN1Ѐ06eg#~=/UԾY$hn53+oYc]XM[Z` yqHT^u~֛6GV(lT,OY~ٚDJ_.<#Nm1?/ERL0+ꧮ: ۜg[W?^!aXWAǭ'SdX7 xphfaJN] +g&gFB/goB$3QNyó.B}>lFVԅoUk TŎy %HN]'oc y +!FDYL\< DDO=33pvgEFАRmm1ytF?I +WnY~v*< Sd:|K6^zd׍~1[_ n1δy9tX晡ʆHn!2L550`Y{ 㷸d?ͯ#J:zEbluOfu9"Lï,"צ_Їkjݤ *w|KV/?T8u t`Ztܻ(BfG4ҦN_/dӶ2-*Wrs&E:]U:NCS/3a1Sr[L2ݘHcvdYARE<:myw(u']_gԪ`^X} hLZUȀM NJ[Z*/'N`FW9fVۊWaړ<.VK,Z4uVBG->.=:jStR<=~K}& + Eg) qvR*'S~߽0S 0u3=kKg~F-5^1/]IEN̰xr`viʝ[%.zhǭj=GD/ћu")&^q0h֙~56DʮW^*CQt )ИI-e^\߱ dqԾ_?eTzªu] 0mJ;;YcC K)U>WS P=OCe3liPm/qt;;ڦj#_+֏r&0U v(H!gt +1gZ<:0VE +vјQo`a[WN(<35R8դaH)jSNLEaFN}Іpq_vF5tg8˅Ƣ[_UD--\wA= >ii8i$oǾXenɊlo1.V/cetؚ](9MoOja"D7vkr]՘u{X|'U1e>OTbHq͆ r\%i99 {8jH(b L9ln2Y~Md4(R_"׏[`F&jDMBR%7KbHjr +hߦCxɤ*$AlRIaG㹪cM<1rzXKD[*%Ŭ0"W2XMb.(YD2TKAL. Kmu0rP^fkDTUڣ\1YJTmo6T8C4ԧsMLFwwIBX¹9H^FvUZki'xnbTt̫M + 8Ŝ)%xglNVFo5P,?{`gU##${M.oF4e]Zpz|ai;$U BJ.0m *@`GH}ѿH9N}g\rvZ\A+ioBJhW:Sآڙ:R/}uD?8wpz|EaH~s*ϾU_zH0#mܥTh$1M<l% `j8!(J u1Y~B%TuÉݴNBqBɽl^ͳx9::kb8Rr+1*[i7ς8`n-ʪ1:P^c0Ye,#:nk(C?] +gMGV|~i8Ϫm(m*NM) Vpu_3]ᨼ>ьxVVr(:.~3aL7^{X L%ep,=`z +n Wg{Ilf֊޺!X +صX)OŀhU_Ed93jQkO1]NTLjS0t{G9_?ڪk` f$7cWX>B< &+r +,BP͝#*"duVb\+r*A0kOb0Ȟ(78:sZ鵜YMzaDWe )w_3IlKrXL<1)7<8'gY2M0R.j}?ؕ(ܱn +em6KC変][$Ş/ +l/X55*CQ0~7R-$kv+O J`"*rX]}/b7cmQcO0jerJ~%9v[DDQ0=: %g ifzqbx"W'q3Q.oR=G']C7` _BًX;z6_4,:jdFV˨( +k´w0A +/gnJa= +ƽT[ON՝&'x +z#aLt{~1WNyFV,ie 粁r~_Cs F}û.I 8AOd*7VIYYpXLJ^jK³>4(bD)^QJb[c[TĠ~U "hjo,Qsq ~^(?J}/YZahi/9 ?7Cw釒~W`үd&@emݔ1_[c&գ}tҏ ,}松{c<ͮKƑ㪟b=d`eO,Ѧk8|Zwnͧ3&WT$, +єZ Bq6 z):NWܐ75yP5pYb\P8Ykv5ٯlҪXRsY.]jR2^VxS5O0Ga(6œo+.-}~%eNe黎_>UVDJU]qɔ&3]?UJP,CFӸʄ u8qW¥a ~@ۑ1(Ԧ(R]CK]ykAz&={,O׺!"Ət /Z2JluTVȥjDhHXý.0{Kr#/ç}c2m]fܭ.zYsI^n<ަOU]^衇%w`96[5p^h=. nJOō/Q,sorja" +-0rZVhTmn7fEaۚSZV&ܱu)ǑeYZĺ*.\Z3Wf6ISj³xM$k:c[؞2.{:92&1ǬiYΤv]-Ip/L~._U!)Ș#B $),QVBK"e +P鱬fK}BHYɿ3-X>_[d)+ץE'yIOb8˒bML>YߴȴK\r)%i" +m'(IK,<^>ĢxPBV`ƽfZDA)0lHfM=6T,;5Gȥ#6IȯNӎ1C*"Wk"\_s*%ZY/(*Iz,$Tʽ1G[z2REEnp\R ;Bya ;Po3."u\d Zh7bB0x&Ӝvصaѳԭ'z̑:ԕN(>1U/NkטZڛ\CZ0H)YT1h'Xw_9GiBj · 4P]Ǎ?ҿmt_viC썃oɲͱs=Ql^X NU1%Am5 9r.RN(dR.PL Z|D535=HD[FEl-=aRpskq֛#(2ةo&[ex0 k[4]8Ֆ }XYk)"oŐ8*^K+ +/v &K ihH +ξVat7kwؒU9y%Ꭺ%z<3 c_iG7=VL `IíJz٩ի<ˬi5Si"dux['Sԁɋ[T~dae'l Qu5o-٫B5 +mʩ=z,9"$aӭ/T"@!XPuEVk{-\*?4x }*ϪҞQaLKtvcG %;̱^j^:BZ9QS0K!NHS!f/&H97%!G^Wg`v4 /o}Ul.mZd^]X=ʆaČU?];@4)", ɞ-Zj_j6ۥp#Ƿ$`v3kpn֌취rED@^bҟ9Ep퍵(ڲz\\@ְĘS2N3[״6=8j7Ss¨ SjYk Obг5S"Fr4DZr[081/׊5)5 $TZdgIA o(]u;=lYAHُ̚,%`!ցˍu֭B?9ÛIuv^^mi N{1l[S-˓5 +m (,߇QSೡ5_2GE2 F_" +SYRΟHi~Sتɏ\I4ɦߥ R>Vtrm'i0mǶ$I(9;?]k%q{˭^OOagyBQ1̚A=L+- (`, ̶tA*§OB4<Z)KX"4/٤Wơ#m@ ;)J;c$_\jЎv,/9 4$#F{eɢ8!IZ;E2NOd&s$nuנ* -㩐^7&CNɺ-KU/UPƪԀ?av+'dIF5 s ԧ!8+q %0XS$V಩%;YH~\GY2"r{(pC,-[n}7-(RUPo2QNo[3=BfN9r z[qESjC dozu{ +G<\OR+U>k^=jlhbpLt +97piQo䲗꣛ӷOޱӉb  q˧t{<*p⻲ܥ9]MmY v_|O69pO*6zX**hGo*MyY\xLk~PP__h}Km88"᭷{PYFdWp}i?wr<&[|< !I&-Ǽ|[Ү ;Isu:=&5VSHNK +@'-Zx:kV=9z=QGImJ9$bq3Wֶ.7JHAXl\PTx}\\>,Q@Nft Tha FsDNڀh7$H9U1"Tl^“4CQҩ\]N$==yRJ +9- SUOR$240p.R-˒!vd"Ԧ29ao]֟r'$`a+9*Z,vTKSܢA3e%OŻV7[`jI1)o7CS"o] +$vF4Y'9,eY,("pvD"j';K>MR-FN ӴkN}~pV[)m{UFWC9A]jJ7RbP%< +bP~IҖ #R<-Oj$ΤhtgO$NYqhG*J.rMXW8nўN@QҴN'װr{iJRrYTID-J-scvOI_ʇ~Ѹ#Z)|zfqijwnݡ/ר:A{[vU-`i/a}#JGLۓ7Wx43U)\A5|l"X`AݦUS;&P[y] +*=x]?u><&D:3k8!O>qӥ:b[`,D +U&6ˆ>&7k43@ó)@ y:b| [&C( LGw{j^BSDQZ1-{{c;OOl7?(CE$k\Z$<5 tg[QDxT&H!?'Mlw7|4"-|&&CVc|3[ERވXQɊs?'&8'jZ,וG +7q~l8I +Y$%* +%g(9YAE69_8Vmm'g“dT@ d,"tpۧ8:؉>WjVSVCF%)6*SMjaA!]Tt; &qLe2X%#-e:?I>EAR1(&6r*wp28-GCKѢ5|ւ6)rYZ2b\XH85 $ +Kop(i8>VծU4*QI3,H <XEj4a }ǧ֨~CP93 +uǸj Y +Pg)QŢ8J0&UD!9\1ajExseO1g̝1Obh-%yڂTYQakԅ*vnђzxɭT>򡣨P҂G\/h[M┠QGdhu`j]uG[s0~2OBx^H;%1ȬBM(+U_tY& RBEXFZ:R)X2b@ZhF€-a!|R뇲$50Y ?"9F-N^%FMC-GLmA2PM .ã#b +TdUBp(#Ò[Qz9Lr~s)ɲ&R[dkcI{eJ]}0h^M pM +ww%ZQ荡[H(9ۣsdN`X +3!irI9KP6*kSW5iDh + +V4a2c\$O,K +zwe`J'#597!%6Y,eɥ(U9,B+9 $g'׶lK؅gWw`&gjWkS%? +_bO\!`QQX{=t0EZMYgGAKM iskIVDh4%k Sa:L?XXe%>^~xܺrjA]= KHbI8S/6N'v"MA#G'WT~y9tF#`@LV:dB2/O8LtzCOw77Z]JI?vjnAJ8|^Y?wrG#y:\V-/6 "=89o~|ww:]iopݥxBq_ )SRBAyZ*pr\oL˕GWDy_[6^UJ?t#nuZߴb]0 !2Vn:&7 7o5ʼ,Mڵe6њdEhs>EjI0Wp{K~wۃ rkء[T["'qJ#jqPEyrZm;X|s&L^^NZx6psK*W& +nO**خwinV$a]XºTJ2%#3E qDlR<eDz\[JYVAk5 BѮIFpTX=3E]?kuO [ڵ$pڷkh맓>TSJ9%cc;;ik5-{Z!X)")#X-w?޼KU ^Ǻthr]1IOKg#C=Bem'fҠi I;&EWakᗵ4Tm~{\w_F%5 :ט\e"lcQ:ˬ,41h,7VVXiaUeWZ в I'I.0wp/-ݏg t5-ݮy)+4NKrӆLiʔAA.T?4$cZ,'Y;w7>]tM2B8Z'A|ӎv{ ͹ PD (3yYo +^9N&*O%cԱ +"fepvw8}B~wu8e9cUv*\G%%wkf%͕V \TNS0zWW1}]y7_u7͒->c[%/[$!1BC60yP}_w DλREEo/HoJRxM[~:ýb 2soobn9p4CUۦdc-ԭuݢt?ݷo抮bnwz CG6va[z޼y՟]"ϹfM) &H'iB UYH>EMo_MWz9.ohq)uh;Dj+/o7Y}ENd%qoDKrI3ģ^x ~.;I3`~Φ.NH?t!_* =ȍVPpTRWYՈ6--k' Z 6 er.yg:X1rzk_- sS/WV Ow?}:dK1`\pwX+D*+IdA(Z&yhY,ntPL6իݾU}߮p6NՐtx&j:"2Tw߷vVUmqDѠWix\Lj^/[n BaWټ.L3[]ͪ + g<ݵp㏇ u(~$+dYƫTY8~ B@Xx$vT{oo-׼^9IUIjYHh wP:sJw_ +(HTE󈶁PTgm9Zا lAP=]ˏ9ɬ.EkwTX +"U+LnAVߵ@=-G*GM,=97 +H%JtsEFhߵL?.h#L@tJ>{[ǿU QLk1dt+)'ESsy e&ka3]N|ww@֖(>dt+&sA Qm*2 6@<6I:zӝ̬IMe +f7S剪H`p|!Z~CJ"fCf"X/cױV́L(2yɷ}+KwE?92K6;YĊUdo\Tg mJk>]Lܥyw+ް6E@]u7r ĽՔgH]}{9\׉1<{0߆4 ul(X2AhkiJ 4TtѤ3da'qDZ +wwtnXŒk2F(l Byb"#Mg=ZO0{o߽ӟx|۪W3;{Ю3YyJeWWf cdQKu9"f/rՇ +En7u;ʥ*Z 2'RFjk>@*ZX{:f1@)\j"#N<@mIq W_dBEGjlȜ@1_^?tO~"{ \&EI֟otO ׎UlEi>({sX@$g +aN k:3Ե}N뤱 qvmxh_ZbVޞKY&9`G;uUڮ^"8~x]x)Eod8 ԏ0Oi]Zx]Y^To7trCfJ҉ q|w??jWR$cVeS Kޛzk6v疂k]o7Wo簯kӋ"?BU%)]EG(= U@~w7m9C=Y=zl//a69ƀͳDnhp͏k9_߃3;[e@An!lr̋prY߿ۿ?S+JQR,};|,T2&ϘizeY,(.K^ޓ-"})j%ZAjfJ-,Cҁ*y^9~sW%Qk:I!mQp' +xG9þ!ak\JGCE`3jG&݊;l7uOCkulA4.#C^a1l[Z:w _zo~ۼs͏JHd[7s]onVeaj+hx ʪ;LB΄ !m emrKlvS,ݙ+-"G6T 41޶*Z*@KNwNa;uyR^ +KƆx)вAB4TBulSX}9ռ(UO*!ڈY[Dz4v2L&jƝ҈MN1W0&ݯaz0̫ñnXM~Bꗲ򱉐hIn|^U; 9 Q;>L\zo^>=^EZs_}!UIENDB`PNG + + IHDR@JtEXtSoftwareAdobe ImageReadyqe<diTXtXML:com.adobe.xmp r >IDATxiI-f{DfZzOU/ 0H=K鮅 w3=\3ȌLU$U@u5nnvs=7/p!ثVBi S +ڿ_-o3Xk4W%ql)bJl_ aѮj>4g{W R-゙/~#)6'[}EXKgZui'ÿ{qůbmoV)'GWiZZwpm +_8>K4N*6[޿֪oK>ZjkKY)]Rڇ|{??C>/}_~)u]r}7RX8',/-G曗)Z85='ɟ]K~.qwf7bۨDC]&>)q}Kf,w1',]̩ջ4lOiO/ݟ9rf_^ #L?{F5ܞbUmڿWnmה 7weoշWo <8N;*;}Ts +uرʶ!ֵ7d&\-I͡_\ akx(E.V=Mm#}-]^`[__>`l;qgX5.>cӝkl=[-!UV,<(a)-ǛՋ/or[ւ`+jg4O!`vgo2loh5[O_.k%Oj}g&>>^]Wˌ: {lQ`W#I\aYnbكfA5:ɶ}s{3*GQ[f#!o]/iYlGmE F|.aY#/>_˶s +r-g~gW.x޲Hh{mq-K6RɱC+ ?ڃ;o~Wa08v.m)u͘6+Y0Nfj۹/~k/ԫ :~sl<8Y+h9d`]|y_g_žp\xU5 sOs+5r:`o|u40O2 ǃ{-+5{Sl +6xo4SYBggۭ3uf.<`M:>1E~jJW)R>ڧd>q_{3g/g=}6uēyn8n NC4b_d-i%DpXۭ]?h#4ܻ=i~6Qy2!Lixa27 '?o_m16nӸfvEf?_+c[frs5}w4_5"&vH&ό};GvoO/?|w9WW7``i.b.'/f`= Qm`Xq:̟vv%s4g4/XVL; jB`[|CL驰\A%+q>̳; 9s؁βAl _OoH`#>+u9݅cm:|qiZ($0D#]7wn 2a[_&v@ߋ%Y6Ӌ77_קyCFEb 3 Ҥ/Y`0nNѾʂ5q; d3l).&%p0M“s-zg{2:VkVhIF +ԦE)mݲORpdl`/6hqAn S# )}9Ti#&egq`ŽgS-?qM2~WV'*rˈP;IrK{10v, 6BKf&C+3HdouцdUҜ_gų62=K]_LWf񺅷hϖ?? jZeٵ x%x6ox͓}"9<կ^|zr+HlcweZ.|26H,ng `e=4+ HD!`r5ψGI9z\,7Ǜ:DVyZIcA萐F(_D"j9x2nVjuӞR1zEΙ'`G)qN:[' fO5XOf֟BR'1#Nq;w4?v,1cE67 `_Xn=Y!2J!fpv%k8i,!̔ aYmk,Vdv ݢƤ`9|0BDw`]42,",>Uۇ]#Ï7Xx`X|bdRL3k3N VBh7'ͼJ.q㉏=/TYdގk[P4,FxKZ91WAQ RKmɹ]w#Eheduɭ"lQ>yAk [gX)Q W@T^`oj\]xz7!S\ #̹u;@ZH誡{yQ ]q57YdKpPȻ&k_W:ޟ! pyHP>zSnܮݡtmFDHYܹ0[/P(ٵu1/eROvu+VEv3϶Aom;D?gǏ,:юSSɀeϲCTlќp* +8$+xz+~Jg%waXe"[r^ uQbJzte2]Mb;$S-{`{ʆSqÅ6&$a/1"a !T[+2HgQ #̸NXm a#2   c&V]&Vtd?QLA-E@.@b)Q/kο*RjwTpp5-bOማxTD#3o?IngY,mqwsg; g}A,C ϯaӅ9͢ X +(XW,K +Z/[uuaCÄ +4}CG!T% 55"k1I$0" I@n44*3d~1#b;,Kw-]cb0,Roݲ5lCiSWU$,[ӌrٛcJ "o猫izZDט7gjU "W;ET5>BV(Wi"D:卖Z(r|bhވS`$0k 3zAXR8ֵݮDP:Tt3cC# ]Qi_f'\=Ś?>kYX Nxgn"ɝ)p+U?x !@5T"2)EtFzkF"Cs,h~XG ;+!7݅%|JX=,PĦCۺܕ5 Xo;^GݨɃ8"30o2B :5Ζ >wjYM8Q毢Q:E")v(mmxn;c;qgF^;,81W+2|Rt|o%/y}z./0vdNtWnb.'2GJ=ʊF~7r%<ͦLے+UAP"ExS[l pv[9(3,EG&WƓG%{+'@nE4m`']'Roؽr'ARAdΒ؂Xi!@O'u4I{b3Ql2 BgL|++A[WwK3p]dy$L3YY ^2/`R] 2 cohl0yn(&Ux8#0ndG.fʯ56o (B.li4LT`G%װE ϻvƾ 4+0@i>YmNجvn Ky_Ⱥ>Ob4{&IvR#e"VW|; VE|2~PZ֚޼!bxtO^m]˶Imb%W!plt=f'm2ܜ3J P 0`ɴlud +[:-0.3! Fʱf DxР'Klki*(iAp}gٞ9m0:7/حDY>h`M7'jòL`5bq tփu@dάSYc+"g0ќ(Eq5.h'l{yUv/PMKS+Y|SX >Q6r߼t ]a)GeYt`*6t<T_& +zɷQlb٘ɺILДnZ@6缋k92r0ƒJ bCkꭀyʫY8h[ h6]yV=1qmMĤJ<Dj\ fH*H{1[5V7]+D% t_VJۡc7`lHm4ԩUv1v0pcVƉ;2Ϭmd* ni"b5> VcF1YDV-V! +#Bh"-qL$hA* DbM0+a/&pQ]몗 8^RḪ, JMchBBcMSrϨ+:'H1< Egpjy4Vw +OC8 wWLdc sGE[MӔSgƼ6Km{f؅:H枤!AU^+s/BDAy;ڑ%' vpL7/kU,lL Xk{ne5abd=6W**6j\~j>rBMuŗ%q>zN:ۘmNJͮpդMt&UJO*E : &|Srdtx݈ c߮pQ H62WDR`zVcT&vQQ&F>KsPHH19ρC7\]]@ZIlfŎD`rǮB^e*,$S._5햌 i)%RݰҌQK#xL2 +Ll' *s=C"icw4GQh`۫-[ػH#j]NI_y 3:Њ '^@d˭}ðt] ))q,MKďdmvz: Ey,L{24]\Wr[rkb ֝DQqgoX#ӉS@DS^kI;P Z#q@u~`O=xW|mU݀=2W +D$e +|ױ$E>T6l`;$&CC@?)3CMU=?TgWV= ;fGjpwLhؿİrT0̒ Zd2LJJkJ&8.+i a@۽Ɔ cPHL&D&, )e= V},@S't@Ţ$1)^C܅tZq˝6>"I8c,ؓ"om`H㇍Z5omuq]$lB}j6m0oLlRG7;.?#T"ʥU Zye + [1y@:Me'z?BjR q菸vSBxb<ƩXVm/b A8I1I^:mw_iPGn͔N$ 6+!pid!q4=N>ڃiiqgNlb&PX + +`hVڅZe=5 Ga;ހQAqW;1 ʬ ++d&\a=y$=iZo6K +|B<>$!nCL)`?GvbMhiw𥆖khFw/"vm`9*TPt=Ȼ: ;I mm=YGķfae]?PlAzVw&DJ|O +P䆬41Ɛ, B3n&KODe +Qt1xn>iQUqp )XRQNsB&)u1cnG$^r4}?5 +]M7I^#kFW5꒕<7CHdY1ě4]Gӑ!VN!¡EKEhLjDASme5NN,Ԏ*K/zVkD3FmG,($ +aS2JO+(>$PWjԓdSҲ;z(ڧOty@5O'(dݔV\h7O[3.6NwdmztL-uy8TRH8̾Y[eKB+ + /"vuHN,^o"kUb&uW4Eh6k!FŞA#r5ð\S)qߊ3T9wrcSDOY+Hęh}e#1lFR9ơ ʊ%q|W{'m8!w==/r<R Ia7FjbB*z" !;!( VǼtP9D_9U?lYZ@q!vҖsh6U +2HM)2sf!2}8^$2XQltQQQ$! ګe=el/ ^{ vu'ʧ~ǸZr0)P6@VOSMKgtp IcDi dJrDK2uV6=J:9qz6 & ̄B WN/oZH'%(}V{P(..-v0X&23l8gSb0,$bOŦ;hՕZN'"C7Oz,N5RncB<[u"% cXAe0T,6H]>Dc L%,dfyhoWEY#+BzrȖHa*gIӌ~h(Sg٥U4URW 5,zsN۸O uN~/vrT:oD_H_ūihc4$`u|{K.h̓'-.%Ws'L?x#)TLxX{d}zCP5ތnq춛w arX+=U.̣IH{OEܥ7="T7)>-g,?IϢ]U]ŷCDD!|."\nLt۾"7:9ߓJqnC][ny殮kK=Dۅ #xJX뭢ѵE8`@֮صp/gLw#%vDEMS|廰g⣒l>sܷO<đc G&i۽QlRZ<ymՃkʦ(i$cRkYݥIS9o N^+k"yIYU724+\5}).A*~JeǼzyO:KN[ԇGOs5- M]Oa+WBmS 4_d탨LR +|҅oxC|sUK Tְ~h@hTZY梵ޛSFH |ӖR->xҬf(^UFcܴU.ӏ.{ 1F)>}3Vky:WvijxM[]R>i)쯶){]Y a<'zSGs^ 8%+t8ptf!RsPOݡv=z`v :p9Tǡb|+.] @V[t>LT#!e +"R:,8wQ%õ& #pV[_`jH9ݭ HP xzLXjJ<y1Ow%hvj$誙SYks &M0)kNd{ewY)k#sQv"zhi&ӖW;]ZZL)m"e.4"Ji*$W$7ڌ+sֽoFI$. :ٞz<%47|.V|\}Hc4߇w/gYҮ,sM.alY26HrM>~1JZ:;eX?7Urs#/zWzBecGPz`=m +j扆@RqgCZQb$v{ɦi2ץm]6 +d4:FF tI5Ϲ$L<ń>v@j8^:iSkejp` oMi{qk%Y/0h|O7߂G'rsh| p>HJYRRKTk$^weD-Գ8sG(/T]lqDYTodzI(Q%]׀)Z=oޝvpVcgVus=|KzC*>֓(:@ɫ'{& +OLY"c:8iuY)9YN_ w%ÖC`̉m<i_&裪Zz,b9?wdp3/= /{e-(=93ka)=:A6ejlK=ޕʤJ_4r^cKȐ}S|h>-J5TaHtaQ5?c8z&GwpUb~5 +Yv"C &V~bK{W+{c~ MȒ٦M86M􊮃[g,AbS4 5_{#$}Sw|4)S@#7pJT3?~?~=4l(zl(2PԗpSLqB'٪w߅.Nyt?mWW^\,H}0'fS[p],}R8^Hk|TUxC ]м q z<0tlC\EiWPsg):EV+{#|hVODǁEk;3![qV(.WM:uhxhgpd\,է"%UHKU1+2FW)(0g.ߕ{yG$%/L1u NU]}h.]>Z5 Et6팛csg%Q )Z*TPpt*eBŇD92K8=ѵ1c3i@Gif\ey>%?闫MENUjpqc, U}뼭 %ؤ0tDHn-rufhӢ|_?Gqtn%P|9:5M`sgvHkh͢ʢIUӴb*UDaasM|rLໜlpa=;TY&"ǑLȡeC)溸 m=ԟY1Z&먱/&*<"Ee6:8>"7..&^-Y2l~^^4ZT4jB]~90! x^un Of  :3Ug1J~]#Ҡ٨޳qE.Hx0N[mJOe_ְ*H1+OE÷uW8OOYwrFӵj vg8=(!e h?Nw(SQS9 By& ^$4z!#^eOkHֺh/d`) IT+I :DB}3ɬ3k=S)hh2fpk{I9GJlj0:xRbÞ.({0=yNS倝GȌP( WǸBw+[Z%MK}q#%'.Y! PK[6YY(|ԅ0O!]Ɛ1I&y)f[~ ޜ|c{zm 0~ÓvF6LW(n(ؘiدN@@ c 'RsBea&l J{c{ ?x?Ÿ^?GHc)J!ZYx[>zHU3DK{xg+SRir|CF QJ?pP J] +n#wyOHK}s% 6 ͈yC)=Zڔr HL 1[;KJUv{ A6+hUS܁k|T(c;) 6J ' x1C}^pCdStRδ(5UM\xfLR;.q a͵I䬑Jn1 +=DCcf{Q;aJuLW`p Zp~uv'PI{{6!rTӃD+EP_AZC괔B=y#z·ԤlYq.h {IƗZY. N 7T}bHa Qg'm8Anyvo/\?,Ì/pl$ Gf,W >F;׹D*RXDB8~o!\f<Ʒ_1TuOƞf:Л߬I !J Gʼ} Q%'o4\ 8/"dw\-߅GӁUĐ"QpL!r'((](,șf5iP6H1f nDv,axAͲjTo +~{yh?9Ġ ]iI,3 rGmi#~}*2cRm[kگOb(a ]%t'M=]΃tA@\nc|a~?W{ZNTꔓ'\t6y ]~2܎oRoӉF}]K-PQ:Kfy@)Vg %iVR.KB-qo !.?A2С2.`QLԻC oy \j&Ya:Wk7{/wTw#A6r63!q)hD/ f.zZatA"̝o ŠM%SkD.D gGjBҾYq.Jou#(!O{1&Y耓>Mgf9vD[8G3J@+jgl.8v49UBL~{Sn@(Q\ڕD".h7 Xg(.ڶzR9*y5,婠R=<8ln앚0v4rqrJTֻ&iiޟ"'r,&{퐜Ҽ¡H!ض?nH^yt*ɟXi%˹+f(帀vrCe;oy0Pǹ @G=v%>a&NAjPGSҗ]D;lZJn$y481>:#oFѤiiͯhKlS"baP޸~X sF&qWr{דkͻ*7zj j>$J˄#̐q޻GQks qL㎇6_+sNAy7N"UO l{lݘ*k]?zc\ݪ&8d4n4 +0-$4!֩#-"x4)G(TU&@o/l:KJ7teשosSw=֔s@'v2uE!#('0K}r@}NCFrszLf7K#N(f>ov.=c6a~jA̪k+̀44cI'S3%rKپ$v6S7b9eq0r܇Y40߲"D)%KV*2M^rl{2c9C pq3$E_aJIQ36{ {\0)5#id*藪;NLigLJZ >/:`"~{n/f 8.y/ T20Zc2-/igyio`7$/+& Ϣ-4@qmB%+bG೵ [a)+UIG ^OL~͡X` ly4L9S@9 F FQG| 6qtrZ$ Bzd׿jTKF;j^%˞d5 +,OԱ&6U *Z1aGhPRb֑!d=57)=ݺF< }±AZKY +G92ϩFj8DB~$,F~rƢVό6qC1(!ivou)<ݽ˰#uKlvj$M9MqKXgp ~$rVLreT›$`i-IiWt +ݸbWF#SE~xwj ?̟^g2:*Tja-k" +|1)i>z۩1[CN/<3uU_ߦ UH֡&ut:jldTޢSkCveFxngb&*㠓Eu4udkun ۼ3Sj8wV mK92&bLҊ}2\$.C2J9'I1]9lݟ֤m8~aZؚ+)lqgst1WrxR" hM {]CjNhY;MM㛅8 dx ø"1l]q3}lϺ,lkf~:ZFž,[ 1:A>6{Bʖ͋hA%%JID `\B%o¹xS+%5/!׈, T[ۥĽc1ə IC?XY &ksKq YIV2P193IRpBj3&q5Hd+}tywgN\V~ig0>85n^3*gfcDb\N_E*nV>יYZǯfC-O|&f"v%^>`gjb. kH 1c/f&;}vgqwvGd+-MBn,p'\ҕ12LoJBHDpTj3Ba"-=-iUECQޤhExGx +\ P_E ^=%812ݔmej ة9L7RIΝR3z// +S /#gQ3WuT1աbYD|?yS)޻{J[⒱KǶg؎V']L. 瓋 =Y*4G&%K*fՒ@6nɊqТӒ܁Sp6TMo]p}̴*iQT;Sj=\dw}&?vdzvvoUFF5ܹ-U~Lp2c!S-rӄJ?Ggu %\ҽ;ݦ9}*CvgLƲ۽ըQ*ZXL((!zyRr=앵IM}.$RWˁOqK:7uǙ`ܫ3Hu|in[2ZiW*QSz9ǫ9f[G +fpbވv JXB"ȭTVGwN $+;6|d0Pľyqy0/S3j$>;40:t?2K'LPɳbd503q1MYԏυbB05)m!Ox jz^i %,i("sxV4z8H8FRd`v^5KE *sl@\*OW2c P{Y\6D%h,VOY93;/}"`G `T2BA$Vj !XV&'M!ZG{9$'1N%93`  %1sNl=W&w',Hmc;AލTʈUyuE Pilz:VUɚhꄩ [ʤhfQ@%ٌt2I+K(d.(hA ++.(;Kz-=^nQ.,ڈH+ol[baKԴJD;KGɀ\wJ٫5M_ܣfC|,uZϞKt3V$Qm9aC{fs8 $xZgj";iKPGMܤ&/-MsS5A3F J@qcL)C:A3<Ϡ %Q#d7d1Q=O蕞V1kV_G;}wF]Zmb$!E8@y&R}罘+uK}<3^X:g^aWl݄7 +SJjtaocqƻ vn+<2d29hFgYU𪯘Ƀ5euܖ9n聲Wds6s,{\-}z^{(so\_,l +̝47]BON"_k.g;koѐK͸~fVsSn67h@e>uyV`Zs&(`G+GuB2q*l +>&&`JNLR;8eMPSv4G۲ AkF)稱KABMPs\Ei7Խ'#;تɯ2)0M3-x":hrb97nx뎪n-{,1lݱ8w)v ej>K)d?@wQzz^;:3V%icoԠQOS(YխP4wPӰn}8YIe1t;=TeƙE01iĨUk]_4PTP{l[G |ÝCtV( + +ь:u*z &sQDaTP c _}ͦbV[bᣃ/4£_W}´6RIUq:t&:r̄i*YN~¹gs09lt|&_YV}z=(04/ r7&`3;c#Δ}D4kzhHYBݻ@{6;bDg+uME"ǎ֋WWK"ZHx1-nB$Dƍ< yrt| O/C8F:wN3Z{g#Φ ]//BR} N[{ϩeZ +5aMJ!.Lmє|v#Btrg,ϣ%jfMzF7ՋLUDsG +_~'{,uMZj]NS=҈m5˚Z)~ϑF;T(_QC%3)$ˡXP!AsvbˁϤ1,M;[-m9z?t7mm.X>LC{_uԼKS~d}D3)m2;EP\g;Cw,IgnT8ٱnClj)N扢Oє3_V_,hS$ٶa1 FF85'=>t-$q `96X{ŇXa}PuR5M>4Os;Nj# +AGï_GuLQ DW:XmYj&ru׏æzOVJ5gp|["n\k8+ ޤ_=rO+ϑ(ZƘZ} b h:TA|Ͷnq_'τj]{u%gM E!y% +E&XeV{I+M.w̪!9;  -$V;fUyDafz{Df6 +D3++3";2 +G56;^B5 VCtBfIQʢtA3/%G⪅ۙ7NڨS){ S`rחB\ 2MA\iuQlZ*ͯS)[\X_XuX- 3YfM>N~Yw4!vMŐtњPNQܢS}7r0JmԼ΂KFqB:!x ^B|tM#C1zr>RQ:$M* {E0 Vs9OׂoRaU  z8+:#ʃF!rnk&iEUzXFRBTg"5 Ht^~ǻ:5JP2dZuN]w>e|JUw`ctd.%r-ԺW֞M^ʘ=')t%tfxI8g7)FKS:=뀳LjR Υ+ǽvTyxˑJ6b3sQX|t<8 P9)$:1zQQ^T}K' :0:%XGA͸lh-r? (V b7}놔@%-`a*.Bu57aB&Xq ]$zZ.@~gF`r%}v +8`lqQxU >BEHf但$a<ѫ 5YUPͨ$t]A%`'T&>j oҲU+b)ʢd(cM vQ&fs_Uj?G7.(?Kd1#whbgU v)Mua׃[F ڄ6h YMKԴg,[h0xv8xxi5PU #;UaLҿK jA0G S.$ȋԥn}&PมӆyfNܡO]Gv<trR`U-oҼq/_~A ]CSʇoS`~۔ӊN)[#3_x.c q$oJvT[d*vz}~xkOp?s9 6=aÿ2cׂ`bYKCTXwnTL"/ a; ?/IBxXq˓QE;Rqh˓W" 2ر <s,+-`﨤bN +_9>aSs2㔟4M9zb{uThĠ&QQ0w{YӶdSr)i|~EviNv3f?ٹpm"4chYO@5ͧaZn"mp+S Z}JL+~<6`jvdjx\֜ʠ::, !RU}gI>d9G^'Vwu +6U+G{i#-Q) tCri2EvoLJ{_>ӻwe\K+Z-x3Id,̨ZKÑ '}?:~}w*"'\<_!1QNgetZ-r,?~ [Ug{᫰K}7 Gٷmi"]s?CyZ$DTu::M hw);>aEn˷){O}Rw\2% fxCd]G]ªRr`}z:pLK??'Tz wɯw*,\Ȟ·`(}W0[U>Jf^*2[Mva)a +@^ +M&@+$zz:?d'O/}\ac._Hj<8-otN=z籵 z\H Hb$@iqxuW_H~0i; dH!b]0В<9ݻrϽ`R c:Yqqk Vx y>ɓZKUÞ?鿤wNJ czMJ~x8a]Bcumx jjOle,cxl +&̀W_p!\u,=gIYؐ)V_{X.s>%Oz?ͲF4%u*g9Ч|Q/j^Kqt +EP-2Ndn>lʂ"Z;NۇOOr~rft:W|ɂ^/Ţa/Omab 5G͔Y<(YvF}.]:TCf¸U-PUCN**x1xH丑xoM!#Y29-fO'1R+sLCCT1-EEΗqGu<)|O?,3ܳd$]?pW%կU(ח=*r?~ͯjxs}y$zοov(Q,}io!}n=pPI}".?nN (L/yCB<=ox+WBJ1HJxXZ9_ςo׷ǡ|fHUFA\,Ȣ D('Y5$4Nb7ëcr!X K^V*s·&-_V@0rꋻۛ_@(Q&?!buJg˄C>tM&#M\)܄(;AENR2n2a޼7ݯ^քLXda$[\ BY R@MR$AGnyGsɿyu>uOrXzGm6'k|H1&5nAc,~uF!/w'O*ڦ"B + "|+^ccCIMob'?%}FxΨc[S< WԸ#4qz-+9 ģSۧa$_>1p9 Oma)/ IEϿ;VMwdMj~th 7r$oWC=,޼\ +֟6:2`FޯIXH &Eowi|zӽcũ{t!D9#);%JeXu7w鄐uyO ͍Q 좸?9/3 +pҰ1Sj,^w!\?uś^X@>XQE8%)x,KMF)?KxW`HdE0*kjLJ(X**:KU$7%犑$I[&ZfE*zߑYje&n]_G߾j'Da6-y6r2/oW#%R +fܠdg_Lef LgŒTm#^"6 X4A2TrI!gA"1hS?Ȧ.ӴPe%ʇC+u| rX[߸azT&!-àCa{`ުGP 9UgEb~B*͠Ot-xzE5l|eI풸Tdd͛w~|h${e#krfer櫋D~}~!68O5x m%Mݻs_܅ 0Ke9̯*RBwNjsܲܦBf.9/ߪt +2췒QvUۛ^2]I&[ҎD ''!-Q܍ @* JIY*&w<OZTVm d*vU qMr:S:h(lal(eP¤8J(Ke~> Z\EA9wwtE޴#Um}u/b +0ĸ9[ދk}YPpKf$QS"V>Ќ5ЌI7$PH84E_Ti(C˻/{;lc!f IJNQ%Sxق2(u 7Ȅ a\/cAY=(_M6UӡqlZL?jMBǯ~W_~~cde.BD +55%'bo*8xyl/{dڱA\¼IF@Ytэս>Cߟb #Ӧ[PҰ3]qăӐ@1pTІ`]|?>~?N|tr]Axu%y|+sbp$Onےo6';7+4%58r`*Nuǯn_>; jdgF$ +_it E8vQ!>~7Xth' <^+[{mpfVTdMޏ$ WwnMOh!1PH a٪_6hx]d+O7Y**֟6ϛ{wƗc^C_QlKD tYxá/Ik@gK?rY~[)?w8ivDJFP¹bP}Qb%iʘ bY躆|ձp q7/oHt{w_O g}.2Dhnpjnj{S>9v*qW[(:EBF2S6 /juZmpBXu\c˿$KY2G̠MZk6x+܃ ")k%"@xH~J,uux!c0}f+(6~IRTI!nÅ ( .TkؐLU)nu<ֱ1/ͫ:19 P\^5;x&b=>"7eq˯_͟vgW6~EF~6@%^zK鑾2T?}|eӛ@c'`tg )~yDŽ;RL4w(DIRUP-J󲊉]szi qb?ןo|0( B6lxuLFLLP{KQY:VlM~x8;Lwk2n8wWDXtqyc2"4tt"zPw )@*긑!W1팇AazfHH:"5T@s˻ÛtZ:+*'g`Bf6%$H~4f>x)RnDx]m3o \nI>~ᄌMXk,u'{|h'$er;(i4_Lή⾗Q-O+O(I[._lJ V +nfH}ޝoM*S@J!" 4`pT&wZ-8/hKPx?=yoo>|qIŽ +w} cwFep'ʺF~^Us\ NHv$sE{q%c/^XT&W77~S7b{(#S9Sⱏ83hbՖajzN +`GqHxTTolqgWr:;W;YH4% n_?;5@k]UZ_ڙ[[׻<W׹=_ᘺ>Ag+ܤέ?HF;IW\ i]$ku Y-v:֏b}Nľ!CaK7!!vMb["\mˬp1+":tsmg%s s)?.7]XPW%Rxɵ28.``M 8rcSUONPjZ7hxd: [z/3A*[z"iDӨ5:#'6 +ؕtsǛ!xqPvm>*d8)Cu,#ׯ~DO=r}"%.nS +60z"}wq~9-Or:{Ra2f:=,R, w쵳cbL=nҒlQoLx_|Q1iʒ zϧٺd~N2`O$! uOl6=Ec-m&X157Clx65fH)d,'bʶF{p nψ:Š!_2G&>YJ<-OylR=6Rw=;#9äK~VJnMQ'!ʖ۟[ +~D,Վ$. Y+6sP=I|?Kjhҧ>uUm]o#y? ʩ-޸%6(_̎Qy/@5q-KQ]x79d{UGy}.D~A{кR}CyIO3$;dR10DLY,Sy E OJmկ'U6`a,XU]䓿7NXTBNNZkvRV<_$EbI9I%;u'pyM2sPYlQ +$_Rƭ$9C-.*ӕn&Ҟ0RE*[sZsp}9s|<ĻС T^ 2ᛌPeI39ϒr@~ +x^8 +czI6 /5f-G,'Z5XSW^WG{] e}UB0^e RAn5Jðp +0mwW^v+߳{K+~wQv8D0weuS!7Pbi]_kAvvݛc,Z Yx"]}N5ؿfC_I})p]9y7`l{HŻ鳀 o<$irH<eJ9:tT/O}z7~s OA=$cW6[g6&Ցt ́׆ +(fT煂t +XXjbU͉5ɺrf9TC Rz9mMKN%VB)%4biEEt]O$ݖmH)*¶ Qm |]Sހ +/LQb1CO=!^U'*PCTZ^bp cE?>ٺeD&m)`r TF\BJ͢ +\qꬰ&inSZr娡XzkFJāU+9 Y D e :r)NnM:܄m>}@}ҡaTWD٧T7vŸ΁b@{ʨ6 ?MńʇaN_Mxk}U!q0叾?v[$v,%5x@Vx a|Ʒx}cOP 9{f6\`ExtIe&nIiAB\? !$=E kKiUbg6e6" H1/q]"A~,yQ)DUpMzﭭLc%J4BXoV*RXeѐwUwgu,'CO*W /8Ocr؅)"S);uqTAV|3`Na`ZUG20`f5;؂ۻ2lc,('6~~=!KqG +xNdI\;, /繎::/W~uwv܇[O JpNhmr!ʉ cN ֯\[PFYj:@ݞ9R"M$]9]ay]R4N_ f>ˍTQBLTng"_ '_BVFcsc䣌{j@za +2*K-Vx߳:3+;͕50i7!t:=Z +u,ycU4">yQ9h-%[VzdFyDyc|J'&A:mֳ L=(*tQ)?ܴȌKMp}5Xϔ:fU. 4#C4HBAg0(gIv^fP:]%7WS&hn#Bpl_Ѳ*USx5eP2Zj]j}kgZU,]Ѫ̌S͑37CԴ")k$kF +7i:"ћDsG$e ^HU. + )bW8* +2F3qeAtR/d]~dDD זiH#}E`݆Rl3AY!ʽz,h'4]yQQ Z +mʆq "(=o|}>-ft bttdQl<5 <CXeX5 *)'5>gNjewXC˕Yۤ6ǾZ\﫬:QBNX г($[_v!?US¸%%zj ^YjxHB֐\.شhE%)dɄ vg%oL04&/oq"]!g%RUB:@R&iGoDm9遼FcSpF]/`nIa"19;9 gL}߈ђiH"qW&n셐錁A/'<*Fr4'-(:jUhC=hCM*rP5[03Qٶc,΀W%_ +AP-hZp[އMD7SCRoUM~wTZLK197ޛleuy!{KujPެ/YoLUUM^ .E0})8"A].TӟH@{'U}$j NI&RҺڒV$Nب(+ev ځ63-_jy!mDM6/ͥ>+n98:27ݴVp=ޜR]P^ +Cm怍*oUS!㹥G &ClIEKˏ#ZEn!pP6,bUZ t $4}HQu$B?4 o7(wU8ڵ /NĤ1 trzkf꠫*y;TI:(Z0Qףb "'EՆ<%"A"Zw@N p{ePweVV)m0a ]r7t?w^$/LsH(,JyڮF>;g'T=XߥFS%SnJs+Xs l;A ~͏ѮvUX[40| : kL~7/Je,UN=`B@l!qYH&T_̽;ᢚe%Cӈ54[7 +g|%&VCf#64rޗ=g4O)?&UgG$75i,jIJhRYj^_zm/J+, 61%do5xI7QF- 7RNz d5֚kZTzƢvZ&z. Ғ KUo8 @'sc`F屾G1Aaڀԇ35l妬yKCtӕƱj2l8HP Lw)Cg1^):VgRUIFyӣ q(񢾺+1x-~t(D;*j6X y䴯#NV>ԍmjäPIf5HG ?SyU 2G6\|xapٰH} +e0| +ez! 8no,)Z8iĝh0e@$"v6ja+Я: DP&y*aw=uvU?H%rϚNYK m%bs|&涂.4+z mHhȄYgmde3b+0?N%MJjk`gSQ|5׬J!_]hz3N.1h_mlh)`=ŝDU sZf˖\`J9Jf71Fs +VRLw=XB̡Mo)| +[718vo?_\UMkh<&Q *H3'a\St-?=8kC7FS $D\e$n]`wUM=#? ĞغVgYg͕xtV.ǰ]y^ݮ6dImpgM?ϜGQ"r 6[ cNډ%Ռ#*46,ϖ.]q^e]8٦PEHhAnaMoWo3+{joYQ5evW/T@F!es{O{0N#Y y^G;)Q}JL: X,?Xײ-7JMXG•N x( +$q4rT72s:cMִ IjtsC+,l"F$ocl\H8&_8#My$5u㛺-U+#9=築Ry? $U!'%hfꜻQSwޮ;kjVpFqj9HU +bViEpws~slB%N(D"Bht,'T4RZtb PǕ,TYźGz.EPDhD%բޏ:7l೽3RBYḔTڔ|'l Zx ;SYƐ&5|횮O.gvGxuALfV`W/L"P@\ęKZ %ץF˥(@j)2Q6UIV03ycUGa, +:<f JutG03frS)4<"d)C2n ",/=q[c?FD%lAr*ɿ d햘 +Wkg~OCCM~5nh"vUC6C1",UurB 9<06<tQfD@lvm @R?ڑ,Ws؎D=-6+/1=|6n hz*ױT')Ҳ:I=/;r.'[5˝o2F*%jԣ.W\ EDpd1WsTjQ ˆ{iƄن |獱+g)Uf1qZ17E9gԫ,O\\e(} Wul>DIA*ˬtry:™vRٔO<ʹ}ݺb8:\ZGK +z}Վ*D##s"K5l;<?R>0/VIkϦV+e8sD0b້cW ;>ߕ;gQERvQK]G]^H (`;'FizA.:"wka4 %%jxxƻNkv7t0Blc+):N 4hz4:S]Eadeq;R= { +K ŗ=b`y>S ` +/V<%r#ᅪR*yE:\dt^Cd7<[͸ 8<5IPT}!rm*'tD(WRV:h}^qp}:7'@VKu2um-|ZY% +[HlV//UmQ_(W;|yLZ(x5Z^k Vv4*~Z_mgTQqu'3#Dθpn/NlP IV (n+F?W/o.ᐆ=$&)OuӔͅWťiIX&E$<:taf+;(]-xQU$EdٸK}#Wˑ?췌iS ) 35#Ԕo͆T]:.%=TSI ?6zg( WksXsz*UC +Ky҅n$ֆ$:yRXC"7Y tQ5,o9iE}x^ 7 Nqf,a'*iJAlqH5\]CA"n <@\{εI_^`pG,$E[Npmϯ,,>b1cɽ6#*c!cVҸ".\3U8J}G,]S[]t:QC1H;vԖJ~X@UˁLTSat.ٺ2^w3ť~=qDASܪImdawx[ \n6/@ݔgwOY[!\ n_qJ0(p饮Zj. 딅 ՁVZE|Q ,-ƀ8J&.:@t1e1\!,$ Tt|$_v<ƢcVuRy^CP-$g2g+pz/s YER[ +KQsH,8.(@ɥX'ͫ5E5f.9|T""EՊs)-24%cKw$qj{t P^eLQai{5UK5Qxcbxg>T?\Vqe0LDf'(|:+\نO+a6UJl7׈29YYU8 U$I.J6m,!3CUb?}FJU<ņ"*kc㤎bͦ*a{R$,hY"qΖ9M@1iIӔKZٯ(AEL;3JtA&3F}#hx)EmP"֎Tt3#DRDvxؒS VtphR}PZ;NEt1$sU,M.t'*  +iUWz4xy&K1*/6IGQIOuR~qNdz0%>@.=WPL +&l4@t/&4ԺWzjf nmC5rQ:}M]O.C$N2I;&;[P Y:cź36OUX7E<{4ԗCuQA}MCJ3v,_a&EY܊MVYfg3!34$TMj6(>xfCdn55)Z$ʬ2z_Qz`/*iq$I>^1 <\譒%H o_Ӏ@e8 }+reV{1 @H[pN`|hlb5Ŏ;-~=ճpAS\`9/(ݹ& XC9(6f+5IwZR{=Wr_t;68rxjnͺLp*^j~glRu SOU(?ClJ9JiX*C# i,bjFˋٲ FmiK3&7ULPyLmc12k~Z3AU}A@%|:9S8*yHzxFʂʿ|0iOs*E"jD` TCwONe(^]al--!ӵ ͦȡUy ii Ƞ.?xC0Y:D/՛|ݟ\W$[1kR:b0/qu! iaug0z#U5)NΰZʉ+IN[&/V Pc {tF F6+1 H(,3S"pIubEV$XUN&4}]H'!!O//CW%fHl'}UO"+K +1y6tztbnuXkfp/2 +̘0kŪH!+LKjqn֘+99s -[09FTb\* +;SoWP}nBK5|CN%RZ3uPS%7&LeD(!,ԲWg|7. +݊#ROĹ ˞ מr9pv$6BT7+ +MJ62j{Ft$|ۤn.SZ=MqtT`D $[y.Y!Z>9 !IX_)Oe҈j?A$ApmjhCκ˚׆9nvu=ŀMH~S<]K ZGf|Z ƯS8^\{ʭ:3h6ȅ2홅,A]6J^zF[]~!r +bЙ5wEJ߬~ӔRꔞ-W,' P=%¬D?|]zETYWr;4rAʍXI0ajZD4J +V`>CsOb0 +Jz}a8VSieQ4-42b=z +O홽QjV҅gU!2N SɪE˲^R'"ph۔#^M3 @2>aqc^dTƻݭ+x?~9}m8؀bqsFq+o+oU[~?BW +W石*S fzي:M5{sKnHI2XzҤ6溛mm #x9BrYMsͫDx,Ŧ%@U$r˦j9tQӭҼUsW~Pύe 6W+BVnKtʩm>Vy@i^*^2rǙXL4ngT{}]g^nmluW)~/?&ϾVY]-ST$_7CZ<=iIDW YL"xķϾ^q-&1fz+_QDGvcfCؑ/u|[*#T<|ZviٍNS5usyzW]HVVPnms6M]"X79 YԱj[xV pgFE6Po֏87C8 JV,5Ah` YB̚%qejvM}^cKP5i&qY +z*\j ;^vRՔppRoOmD=IC`/' Mؘ^ q5UMrF?g{Ξ=%̓L7UHcEC*+>,9,ӽN^H&=a-{e.ZTy ~}7H&] ȾӃIH(PQhL't!79j=8LʻoeiSM%z0N5F挙Kv} kPBҒ$~e%ֶGV0^a'Zw'wTc^$bizYͮH&QeiD½mA3vnZȢR>}uD d+#Wu+ܯnz"5J`@0gRLqư 1 zFD1 wqPN`H+lZe~o1KD C({- Kv8κkP6A0Cv+D.]^Mp< "&HoG n\+qPZ@dROzA%WovM>ChD"ȼ'İXئjΛpP\fO*"9&_M/wbH 8DpUROތ:ݮL.5Lq`hE7Z^x<^6hq/0khL!>{tM;◼hڟAMvEk7ɓA}Dl ryR%| Y[ƪ=OFh2iA>nuQ<5a!<T@G6A!]AIIG8G՚zto#׻ŋ-_CPvPmcn8=B4=[߂lλ3w`yvap"u7s$??zj$(O[> հxY^\at|W;,Rڱ%n7ky3?(cWhVv$Is:MqR;(CCȄ*6 n&V-|_<7Wʭu{+՛M*. U)g6x*:p><bөUA:I MpZӗK ?Uyn׆/l ͓1\skG龇Pu@]I~{qp@"}&)ݦ,Y^1Ω7,-$)Fi~L |vzA~Vw[L(v5qFgJoڌ p&1WERRz܀Uٰܐa9JyQY3["l)nqɈ٣U=66=|̀ߠK݆ d+Xц{(zPBGh^/6kTF;01<ņF6UX@T`r0#ML?Mr7CbS:.NTIu++NZ(\-Ɛ֫jIVpKѿ'YPHD zR]T\,jc}K@ ãJ%B4? R2ԉc%\uͪ7߂I*H-j ʨQ"jW&uץA1w !J-^\J% e OA>C{Fm~A8o +5x8 @5v[sIfjk>Hg 1䁧p9̑#y^teM +OGi{ FZÎ}rkOY?ƢJB ZsdccdW@m5.kUynɜ*U-hsǮoP_کŜDz5H"{3 `Yb3I+ 1cT^(r ⻫]J/Xku&;*c ԑπAfxfi {M .IF*J9ǷwVrc#.¡aVQ˄q ޺{Y-jU`` :!32gS5BOΊY k(z}):M ܡ~o*y_(*PAQAQyj#UF c/pVHۓH`LԲhy8pF۱bK͙$%؝ nrsCU<݌>$1 1rOe\sr%_=_~3la([Un2ZDO7qUjwtd[G.Y +v څMSbD r%&l0a0i:KGDn*5Zuc8NMβ('5AĜT+ َuI~V ЙA Y? UdUsӖs u #vĩkmyAp0-ި+* L[]CRq}&M56ky;oc8~kdZsGj;Ԏmh`vkGXj}BbpVmo1_DŽkH9OJ%>P.wzUfOVBe:d^%ZmE +nE8NhVӮ.phnmWٕ-ϸ:sPeBEdtFVz(DyaVOo! ŁaD8n o@ZMW_h|6`yEyBtdǕL~eҌYv&Z繖p!\ZLkRh(sMV7"u#TȦn^6hJ +DŽ r3@r#' RMa& kVH@AS]+Ս6À'!Tyj쨘GɞhXcl3{>G3&Dڌu`(ϯ~"]JyZ˜̚45W*OsZb6LuńrDZܴPf_~W4N'(W 9BeD3XЃ6@wxVb)s +ZE5"H8J j PHƢI}Z*Jڔ|'ޡz!<A5)&v3~lیIlPuaNiv+IE;70?\8쒈(ubvL#}l>͘EAo1Z'ߜUƭj3E}j2(XU 6dͲv}ߡZҩs~N|[c ԙj5~9ߥ9@JzAM"a>|T [tCX\GOέtOvڮc,s]:T.ox/o54fm(lV+Y̓+#fTћn(J'?h(D& hyq>ˎIp_a>'yiƝ}ZֆUKҮKlσb[^MC<}Q%ͮyW]ׁa`H' 9[ri0 2bsa j/"z{d LM:t3#U+5Gk/*u4N[w1+gϯW, l7N8lQ]vBA|%a57-l(E~_2R>!Qh1v`,N0\':3{[H9!8G0(r4D# ?ѠѨ>Sܩ$eu[0+OՀ%#R{,QmzElE9]E:g~]SK#60afi3-f3vԀsCߩ-\37z#BKOQOSm!'VʽG9[s7.0]Cjz#Kd*a$ۗ9%[캄(0*y&̽!nY^5ͥSiV}XBIFw3^BBřr䛋״ n!|]8ʳ> Y|(_+{= ,TG6L\Z ĽE Ud8iȷtCucT?득(fZV\Ð\? +zmlXTGhRY8!@M WG`(6f ʕzmS$6Y P +9 eбhx sqWZ)=COśdB1$uݶ/^D+Hl_5߉c5j4jrX8LٙeR,a׬&PcI[ا86Oh.Nd0~6*k4[7oHtoePj(HWAqļ}rl 8d-a؜hK $xv\yvwtEUb._ȸⱙ+_z>6ųۈ*g1R`Y:80IEO+Ej@Y+NUxޓ= E)G_P([9:^C-:rg~}㹲G8UH`R!+|"ѭZ!EsrFb֊tMF,>W 6'7_el& V$*m2^]덌\B S˒⏞Q#b&ֻGh}O$}Hb6R #|+X)ƱKBj<ZP҈t +V]@2DO8C?eoTf1JnI"8׺! VGS +\l]E}kԫ.?ĕDn^,%d3WoĶc@ k2./ZSgv56)+h`mM{fDSFߘ{TVuF+*I`2:z_/5MʇW6 @@0z"J&+ u*@{ܗ] ymmt6YQ) Goƥ JZ#n $Tݥ&Nt 0Bm')wGELۺ]42u.kk3o}ŠcPR.x:嘓yF}p4PjŚU&k*H2Gm^"upuPJ/k|TԻ; 5lKqE 2)0-ّb|=\ۦAcDף$o#iv/'v=Q~S53ԢŠ3/aQ]O-d2ա,"^9tB*~ _ztFߣm٨tʒ5`fYk?iMYۨ~`k-m={6>|VZք|k5E~WW˖ksڟ)XQk2}|'V{S 4Q߾OAK'D%/jd46GzZv%g +Iȳ!A(& _6X@6^O1,?-79V7+B^[3}.[ ~Jro5p>wv㔧SZu\Źũ/~PgEޫlӥ6W +aM42Hnh^kgit!OJ_|{ lTY,{NŔ̠dub.[ܽcվjtKϙ4r:62M_WGUUƐLzs\6_گߤWy*mR#i.+]X` QCwTb3? "9$E+1|ڟז5f8j SS 'M=@t}f F^ u*hcm} itjDa$(R]S qJN@ƒ7 k{AHXz=ǹZs?j?g*>=+&i=E>U ,pшR47PT;hrO$]4?1H$ѴdG#Ԕ4myIEFo9WzYVDh nzZf8޻ns4 K5\Xn;?nJzf=sV썆~K$i9d!;Ϛjn2=GuU q8}Qe&W/;gbf|gO'[M>7wD&/I|M=tUY+E +^2|LQt?i.u[DɼpQFAZbs~DC"5Ě7\!*6=22樍13ɀբo["7u@FӤiRa)u~ʄ\&F-qJA-F+~<@1`&MPy6|B60n쉍{Cژ[lϒN>ݿYh-Ul&=l y1L MpKٳg$AST^wVjsdDѦ8B-ӵeEMO+GOjwԿ+s#$ Q[WpQ3? 1:Pz])Բ% +A/UUM\Z61 ~D-v_*%i]3yz}iLk*M{,f}?ZcMfv8åNQqD$V#KSa$f!ްd&qp!:oIƚo;:%:w{tc#5i,ykJ:H f eLNp3y$,Ovsj^95UڰQPr) +@͚ @i҇sc6E<%f$)+lqH=S0>MxU&*=Ԯ" ]drOopQ;Ts`jJpi{6?'45 y~yZ.ǞRR!V, McQ󰠆<5 G(_ޡ]M<ݾ`S?m`AEc/G#U Vb['bU`cVӅ[xQ-1Q9*nؙn1(o:JCN􊷯9g2\aTy53iL!6 %#2)SH&:D +}z]_J-'#0 >oI7,_.=A3ǡeҨռ?@m&d 2jt+r^*Az3Sž5 weOZ?6/ۧ@^a ԕc4Oʥ뤢< YY\7 +HBȓ99nUc zbaU UhJDԛ_?;!~[ǿ*z:Ѻ= i>Ud52FwN续nASғNEfD /(Bm`EGxe [eYySɜ d~Փgi5P_Y60o7a +0EQLL̢ɹmW!Ec4 -K +zMjӔg%#Dw:;&&GMeOi!zz3n<aKI z T +BgYj8m6Yp`2f1kT\]f`MH1eȨ6Dd5T鸲/beԃ+)y0 sJ2sE!sJ'@54vS]s/4P}s"DW*%Qf}^";Xư.@`:WOS~sv.L5 jpeu!'oc%j(8ZHՃB(zڧsӧcRU^Bp_9X'#+=9[o$g6JNĐېk;0"AO}% z\y5`h]I/2*줯t`9xe !Lfm8]{X֯ڍ>Rѐ2u˗-\pjjU(KAԭ?❉ad飤 lNuMFHF8A%t% 0ԋɥ s"Ozڵ뒦P08Ҽ3]LNpmrz#B_J)61ߑ3WJ\7uM#8}Iܝzt8iJ˚ Qm mo) zY<^Q=MRiݪX0x(x,g@tJ.bTyڅ""nո}b4#.HG"&ͺ˩9? +ZSB4uq"s,`N^7U΀Ss² ß ׯ&oio;^NJzp`aL_1PY2 `89-DϷ3Lrz]CE"J\J1VEEj+/}~C"66 ENDkxJ[I= ++!W O 35G,uքzhO&-Q[&G$0Y,T2@4w'r&Iеz.h)DńRm) +1(b&f*i+fޮq\_f6NT=t>h0 ~ہZcj߷1҃<(l׫S:`FH3)ANB" oԺ5pI @MpqŰQ<ʫjY>n"et|>uoy`d5k45+P[(h}9&[-[(K?b+S>SMenB]syS2+(*pYOMh#EHԜ/WԠlTyv57&Os1 ` ZAZp!s%9㏹` Wi7*)sF +C%p'e]HCO-Tjx^RR&kz5Ԋhԣ]/{zB(DW;PLJ3Տ'Tڼʣ6pPel_%T$x)_QTuU1м 2H +UlkQU&H=+T%1[Y JZ)P.S:{Ϩ3WYԞ-w+ƬG MJoay Qi-Ò~zkMj+o`h {$6̠T0֨=eBaҋ99@l ]G nBr 4hVK41lWizףyYS=X01_$\l4F`TQbM|R3=@bhx(Q9Ec6EhHam ).Ϊ*8tt.SϏ›SYb2j (@D;Cͬ^ˢ +n} ǻb% F[:mySzC" W"6:A\{ W$&m!9a|?qMw'-"ҧmc2wy{z㇉0DEbJ-FcV ݆`T@fj>ͫ6E~&v< *^S~[Spcu ?=ej6E`RLƔ3_jIhS&4xiKri0U{@u &CvD5 I*AIo +iU ~Uֶu݀n⤻چs6t葮Eyba|X5lz|>}O]:ݚzD(MIkefR ,.cM#` m\F +퉸y4\@dCBT>D t0ѩ4{Owrll<0ڬF۱g% +IhD_8|kk\M9g +(sḮ Fv:w?ڦя܊IȠ7OR73bf*J䵒>(WFA/]4U7!d KGOeH6ޓTj#F:Gؘ &j P <e2u+yE!b*XY-c>4Qj{cm&YfK,wfc>z S7ysA~lL~0}VA0b^g5$" +:/"zHF$I -@Hs +@vtV4Ak>ʢC]8b c5 F?zUMӄJt[6~qlx@Abڬau + ˜@\.nF1>H b S@t;zjfqt^R_W (P#`7HePw1z>Mܠ?9 m +NFdd!QE}FɤKrE&CM/Jջ]f+ƶl5AT7^ԗW]oGSRS TƴXNz$dV'E 8kJ)O*s̽5>| &Oc#.G&c@@VꪙFA#fDOZO +m1rBj@ÔIQ"jрq@1P +s0y+lU cjh~b#05.(dӆ f\*=8 Wo=$%ӷI`)^7^[[KYѫ(f=.Yj2[btf86T1he fg?>= 4XjR0?1fU(j_bd [,&^sS&`WTo|+22(Z0&_7On@%חGG.p +Ϛ함 QK(L(>,iʝ*_d9+/:'f@7RXhX6dfk_Gh; +}۞qHSn\1ܬ + 8t\ok{b C(XtI8F+o.Mn7zsz$Lw|9A Gy icSJ+ԓY^ReIB>Wy2dË,m+G2{+4sU-B-<G*WX-BSπcHEVL67ӬH_lE[>zչJ V$xG/ԔmE$_uNR,8k.hbCҩCQQU?M'9^xXb/$fuG܀<63Q騞uLTH%+A14= 7Ɍ\Z동=vCXƺ߫ư^HUˇ|{ <'cqPkO("6梷|l6W !"}7ub m;L*RVN%ZnGAKn$e#^ZVϓ3qws$j**+Cp368qcy_HUuZu‡9|glioXȫue# <1F0ӇzV;&'v%@a.َo6nn>SJ2CD鸓`k +giII&'jrΣ6 +rGj4JL7v{>{0R&Ԙ8MaT*BE^+-A&HyX,Ғ +'QurD;ڥ:1̤*r- ǣBU;d2Lwۿ~d͵|s{[~UctI@&垪z*ͧ@ U\zДҢ)Tc<tvpk/)n9ê)"nWd Bp .[K\ +b7*gڊ=}Odh @o9B& 1%&TB\B4M ?BY]`:j$?漮O/ӲҦkbLVMmҙc  'e^7jZfԪ5GL\T8m-k +uVnT <[ BlQǑR^~,g~ZYeXCp% +fA?mۯ"< n?eӺ [xY!bm :氫?]Jxy\u۶UTTI:ajX&(:j) PVɤ)$K N/cy S~SeʾA`2IBy7A˰YMh>?>SS?=1&z^~ˆU l4-%Mt~4#+^m?{1|2}WaƢA&v0ܝh@3=Xjv7ϧy^"O'1$UEf +8~Qo% 0\) ^]ۛ AaPXS˥@ZM( ^)`ȝSS,9O T-Bx PwlĽMλ|FةZ/r&ThW]A\1$6t=3s2Wyb -W u O墭s=/E&G(hp8af9(ac.vs6,FQ,_zK/GsO0ƸH2szo1a|^e3`6}Uk`ۇG99):"ˉyy)ES]\V1;]1ɣjs]^ +$ɸ;?~tVgx(8rᗭo[ơAj+2S pw+=2k/;N5mqH)=Mx(9͖``󸾈A~Nu; lUjruѹ"Ãlob v%`麷^* OSܛzP[]z EjVGDMuG%1QO<\J r+z^5e*`аM*MVMgk՚!KӴ)~PkW vc^OOK?G !x*O Mkb ƅTp3lB2b a)n=`s Vmv+uJ .z`zxHo5}pR5}x3Q 6J%$c)m@ *' (n\ 4%㜙/X`t^`fpUʪC߭xPaIad跢14ս`.̝ݗ')۠FHh #)ŵ=HdPň[56I< ε6 +OxˆgVȘVhGJ1旑NU!yO + (S7Ws J[$ YqFrsE_Jг8Ѐ[mqd7`̩躉eptяYtw_ k ^:)zڷ{эk7z[<׿s/+̍1LA C]A)Dipe=)j ?* +aYS$H}B6 شj6=/k#lYiZ"r腏C1=oyq]}4C*gD +$z]syT|$Mgn[~(fmBmrfYk O +E>љa zh$T\nBJHLrY-t)-ȋM-/3w)(M1bdb`֔1]Ӂ8P|`3 (Tdʞna@Z=,@tM۴'p㒧Ͷ͔mVԸ+T~%mry\5=ZMTc0'pS鳺w3R$^yt*37ã\+Y,/.ißI/ӗ^ b*;3*Z/A>^-՛WQ8?uAI0z.M*ҦQ{Aڷa*XHQ^UODnjXA]8?-or0M|gP' +/?=(VR9Q=t=29눾;Ŧ$YiyVu²zwZj²w4)<Tt@qȖs;e~P2:ϧ]_^kkԆhH}MȂ0Rk?)Ta:6J׺0>G*y'$-*ӯVڡF92Ѐޝ,.4H=*ѠiB[)JrВ{V*c;AmT$_n߬;mj(Ï8511?LAl e(ꟇM`Gȯc]ij /|apS =$Lgf75k:~ Sܶ|)Dz-YQ ˒_֑s; +#KD6sXrИ>yXT᯶֫m"b僨'{t|Ғ8ӵZ֧S;-$E)FnCn4|ç\"ȡ(ʬ2}SV?D7̑TcOOd6P`+鮩siL71J<<>uqW)Or'ewLV21iܟZ.[VD0 a#~f\K3?4 cӊ${{&]|EvXW,P‡Ӕ>ONWH|rsN~{Aa c0w0Cܾ1\t#,p_g6cP_ $ Ӝ(~֚70#GGKㇻODU ";ӓ;eT,a͑@'1u$q1/j:m˴|<s"=DǸ4r(h9m={x@cǢf!fVt Ǹ@cKn'ww85f=ڢ{}ˠ2>^ Euϴ5K:i|v}U!v³ttKs_^ǬV X&L\!̻ 0zE&uVt_MwOK +*ƫc8~켠.b+woo +q0h&npWAn=8_iIYz%dBy c"v- >})*iS5j{UTGqQ܆c#bW٦߻O' Q^h<UN*@uy)<>,aJg=>3ʞ9A^P秇^kuTPli%ᡤ!2mM#9]LPCY1Ye@z0'I1B8J;ʏT6}qW^z;/6e|%A;1||*IIiz)ҮOclsTi&YbhD(3~0U'v-=^.i.7xThpTbbj&G̑m<?ןN+H'+e^Z7ӞT8q=*+#f^8Dh*xv54,2SR|KJYT GZtf^( +hjr >S ],C*^NQ +%`<-@J e B>KT)70Y!B\ΥEw4VTEW=D;&(E{W-rSӐxnw=Z@ͮ.O^L ߶]PLR'(f)p!edް Ͷ89J:*?y mBN\K_et x Ìb9ĒR±r?ZգXӪȲ~;J9e\ mɫ-9!. h+Sv\}YZE?mBT3E zק ~!HM0Y crf .ƙ-z k )^{ϪKgIC}({/fDh%|wAfRX z vvsrb08!n +ǒ]p?VĚ同PeNKJGjC-oĸ56$SC5e$kSst4[l +y;zՈfLCSzܘI^XOhN +5_k/a+T&ը/=ů&sUY *!wi Y12*?$St8h4_ty'*$V['JkCw:cV= +s )m<)W<3h@5Y>=;PQ; +O(%:>D:dbO3U3$1=i:0۶'E )<M@ +!rZ6jI@?cC=h}y{-<&Uٵޯ ~Ĵ{BY0esUgۘ bhވ誦TZ\Cm 1؀<B&ti5 1TrGL Gnvϵ!_Y\B,$Xe5'Go$oeYKN(`9xu4fJ N@"zQI*DNIMP105 ~F><e +]kZD805ї#L$'oi]ũTI`t`jY_P]v;D@ѡyi`e` OQ Mi j%l\biF.!eLm#ޑ6=wx# 63)~)x?ņ*~Y@V HX:a 7Ctۦ9$L.Eۡeu/'bD<m%SHY60RahF +ȉ{:lqf4u/e ?ߐUҤH.zft(ڮ pۇrxՁHu kڰ{S-]'X :,T:ʣQב4Oj7\i4YGH }Tؕk#Y1BoZ\5;ܽ j35c%<"I@>+4RZ[ۃu -CAnwFi8IldoOp)ߑw稨v& ڑ f@PgzB:H+/wTV=+;=ӭSjJNu7a*]1^9—N?:)Hmkb5pOVZD̎幘8S8; j/.\W 4 +4* +?("ɕ35ksЫ0$OA}lNWɦ5Гv wPh;\0D\EOVa&5vy]x}{aT}4ƴWQc%WAT+4.i0I|z{:vtg Ukb9Uj[&֘c(0]}뽖)VdUj~C3hE {$)9wwgڒUx (>dQ{m,VȈl !CVe3dkVmz6Ԯ XBZQllh<^ݪs32d>cؤD\'le/v9/hETP(wS¾$z +IR)L|87K,0xO.KI Ih2Xzy^'ҢOLޕ8RTbhޙO/)+^#Gmw#1^I?LY'OX}-?H{%? ubPg ut w>~KuYkmf\q gkeɕU +|Oq[ǎ\~o~d'RG*c-K٣1PAm=lW؀K[HÀ[U70HhMO +-ю_Voʹ>p2O:O5ҞNExb\-{9LʩB, XY$JKit>|R$o ]k5"4=E -Ajcvtsr(Րxaj?PGgӬKCz<(Zq12CnڧhRUmK>,\:g*. (q73UnJm$J3@LH0{u'lB穎($p"z_n~Yv$6-YrBK:}} yߏ_#GjWJs}&d.J>K8!08i1;VU0_=upo +:mcu"fŕ*n)EXݤ wr0JVK$4Sq?隺T144wӄj: i>#4#Z8FlHa䙖?L{I((&Q==rmܝחIHI~x=Ԏzb:] ڱo kL 0ZcZ?/ 5OxN\g']m'gձΠUFX XɽWe]Nm֦=m+#su;Aŧ[ +y).NG4f8URj7&'Qc_^]ժ&0-"h_*rNheLSgfU +s"U٩}@]$`Z~@jƐjQ\ikS~cH&`Ԑy-Mk]}N  &dRR4`ja!Pnp;nF>IinmwM>"?prCV=ZqT4Nf7n󽩖[oh}6(ј@-" ]-^D}TȦ4ӁSHucYDZ-ؙmT)҄݋`pR̄HimO m &wVX.Ji`X$hiwP~^L8Ho>` +`̜ [C-\4bj m&_|iRzOjSb +rM[ 6VaS邿CvNPTn[eu0 8^ U-2(ٙ(01K])@X6$d'f] +q~vCE^MNF]T|H:}.Ð?Cty#&k2`SV6Ҩ+j8dAj_;Qtه~J9먩Fil$kxi\עYozGhP-u+E_P$Z,P7.b1BXc(( Mn +37\2 +58< Gai95Ű_"^N3S*hRq;OZٝ,y6_ 3OKkWg.Ii4>8zuY,%93tSe !֪L˞߹~IF}ܣ~fLf$ÓnSAktu]`X8Ta]/"eq'aqoNy}ں ԘO8k`c%ec\F $?Qu OIn4!-`846ǐlq؜cxTnY]xb@ B@Ѧ6mT1-E& + )PMc(΁%1}k nvvn5CyIi@,uzeNnsWg)i?Q[ձpIo_O"1:ul clYӅ^KwUv/HSh#bM01"`yy9-`5uտ%}Q^:N/<Ŕzިa֫'J1QJL7L:="0[c sNEC*Ӯ(XhvU1;;N;DlGo$$cNERgXB`l b ތ켫.$K˄QaD sN87,@~|!ف9129EjCb)z +8Ywd:i=3 O('aj[{w' +K؞|:D爣Mc:ˆIp8@-",0V7dq:_,Y"Nm6:1<DT~ꎛvP8X?=P@8<앜Z>AP\рwJx,qL;h2`uy6 ʷ@MX +Lx(=%qxnY~3]еxmð0Շwlǔ{3ث*1C?4w Bз j| @ }pabZeZe6!T]sW:#qcP!6D,{LKtL<+Jvq%9O#|˵;ypa6\?in%GN~,`>ק?%.LF?6f=9r3XF#`}jkh}0I1Z&)ޜ@ +v.DJ{w`i{^@BG%.nt\ tOoj$t<z*It}W#si$\8F)A_Z҃BD>}u"5k34=U">C]n-x<5pra 0} XLUp׎U Lb_G26(ɘugm]N8 9m")Y/_|5:iy8rzBMǸГ4t]pU/S EWCЊel{D8 WamPyi+wt~:wN ;hRSǓP: ]Ipgg)6,>J98B]Y 7WZUI6HTSJt$(/kxlk']y(XKysm:cč"3N._8がRuGڕAvժ#]+-8Ɓށ>Bg-IݎDA8k4wCep|#ޫ?`I*Q1\#;5)d +pka507CɃ_WềB]PeFYL.ғ̀fHK +!/\ 84/6!50wjVQ(تU8YvF+W[ɹ2S:%3Ч+wʧQs"J埯w Ya%ӺQV)l4]&őN1yd?q*I`?2^A k}OzZaIg3v w}rSҮR|nuI7w3jz,:W7ME .yZzYG~^+$uCͺtuk|ǧ5%YۼvѢ3JP=%42Jb^ u~81*cΈ)jN Hs i]X S< +kMK67dݟ~#;51O_韏w~KRR!\p"L4js7V[cjW} Oz2H(Gcpgp ԯTn?Dx#PGC{ty>rONkDeRZNgxjn}WOg fr7RjqKljWs  Σ WfN?>fX <`FǭeL0Y];D?s58}=rVABx+)Y .%7HWqeU '6QHUK~ \>㊰J@0'\*~b=IZ͸[~@a;.iwYr-w#'Oظlկ] |Ѽ%{9bPٓ3ݛN +?͕7Ur5>@SEgԃېNS#:Z*3]cZF@rᣟ:K6Ubv4 -gKԧ3iD 83Jop`Ejvq` $ j+"Vr UYWd*rɚ+G^YIхcC0*Y0"ENS\d]=V>I_ +ujH!Q幣RtJ8"2+Xȶ'YhVs-|oߒ?p9 =fWl9Dd +_F>2Ō_L R+D$JؐW k>=.\XL3ٵ~<:M.)497Jp{שũ6X|r5{ 1Q lx"BC:+r4yIs}I{V= Q:|$3}ᩱEWd8šq2S!En:C?4Lc~tj;C]07 vY(r*G~y#bG694'a-* @_H iqtw{B`$WGnW_QqNY0(Et'F]Էo}i Kw.R &ە'3mi~ "Jɻ1os(ԣ¹,F6ɴeʍ8!L5 Z?9y˩~a85E@ĥK%:a)* vBR.|R=dĂAxƂ4k<ɸ,R,\Ak׀$rzbw YyD6 n +FG{LFЗ4ޯo-}ĦLm5a<ci0كrXrR  g;vOihKOδo|21)_b5̜2 +1D.I4tbz·]̤נp=-(p ,iVb_ RYb +pdh]~F!%9QW [ĢI +)Qd4^M%1.:GRu{ D*>"Kh1KuTrD cDrDWߔj͔xFD\d $,PӇ6\I&tl+j ☩ݲR킲5ظ:/Z]݃} eF~[@{Y<k$H?R&O_ 0)02k,"tpXʬomPJ}z6;X~$[iՕ!3p7g(Y.ql]<~;jGjB+ĝa^Hkn?iZMGүgM*V; 8_y:P#qr'6SFC^ŔC~WȪxTwؐ }s7?Cu聯a3gOiO2#d i*{J@|: +Pa7ע3([)0dIkfCeTE#2=[jdm +K[(a .*Udt0v}gR +jTBv^nucIXB~ðtod? =lqxx0NwE4YpLc` +N/|;Xj1K70؄p9:D$ToH2-]JuW^cFH<[;[ + +8e b&H )]õzOPaNCϸ8l?Rl Fh9eͧv?Q@Jeg}BG1Hrw~K?UnM#13c1;%o@I?KB7k&]ňu"pšW +<0d:–x`,2s%h|^G%< ۴X(@fc:[!PڢHcy̐%0Q`%c:6UsC+l'i}32F.Bs&skX?FB_hPȂ_`CNCA`t܉`Sz{+H(Bm~C&&r`2H7CbBrGLƈX  /(rr8ews qex{ݰS88 +Ⱦ0RLJZ] %}b?}g.  ;6]oLލ  Saol³uzƏ4)9C0V|M¸$yu]2Vw \s+iK][zJsn0B\ +Ʊ{TɁKp[]z%@YBN1iakvv?_맖Ԫ XR&@XobQ+o8E1@ҡ\iH $0KUC$rkqd0Nʓ GiRɖ@vGN3+⛅I!oPy#dWV=Ɛ;g1- +,do?>) MUD=9F:eN/5{gHp #Mo6Ⱥe_}(=m-bZEj/fӣ )`bQ{ f˰` :~r;-#>e|ҝԄvQ"coQ#$fK5uQzctmUu6 T2fxbu.0fJnyma_MD4O+Y?*S|ҳHJk sw.ӃV޺)+ߊRp[H7BV~$.岴oU,چ򣱟1TI@5 +lӤӤo Cµ&V+ѭ^(+뛦xi(`i_S 9-,l#dt#Σ'A@e.,؄b鵒?3ߏ[J.{4l +4i a_b+S)BƩq7 S Bdw0'wXN_.&:C#4=*r(9jl|%~&%b9:Lq˳Jfj BΣ> \y^IN7KrhHW_2TDaά99BKuO+ Քlb lBXxf#*ERކcf (x[ +r 쑬<(swJ_ }[R.e_ HnE{+?z]mKc0(vf4g+N+ 8ۜ]?c"-xD2X~_Sv YAJkYۗlgAFn&crchQDJJ|QڳӬ ` *Ec3~`ZT e^T萲ixW]`UcG` +eƭ֙.s^f|!b‰ fLޯM7.q& VУ6{i6m=|>:9l +UcvkUp:\e0BOge3ds2 AhÓ֩ke{?*Su:5`1鲏 +dbY%_m1pJ5- &F+MjI0mvK偶GВ'Ztx.9B6{ +~Ժ8gEϣ! Jglzm;WTm%s]'Q)/.ٕqHl?&/aF-HK][+靜@;Pǁ2(e>J̌Ti}/> 5FoϞ +&aRe)+纥>~P¥lwơS@]tn Z˥?;Wzz4#4.G\W +(V_%![?yZaK89m]`_U>_Œ̈́Z }_ѤN;6wm{_=)weɶBrlH1uGW&nBJc8-!..#cn/$?*?^COok~:Nad_U^_K*9#NrmV¬eV骛^{ݼ1ʾOuA2ߥe~j{{:gz wԽ3K G'p7-VH4nQsn.9p;%ô]j Kͼ5nq}kc=\zݲq/9z;*wez%-ׇzvǚ݊Sk౶ ࣰgA}L.^޷wəy9B;MTWǥ>--{{f/Ůzu-)0V*ܮkTX=6` +\.਽t*$=:\^P _x:.PEE~:U뾂)l.#] +M1(T~6e.Rl-v*ZsP Dᨄ¥/;tOuVȪ!0JĶW{/WˈvPc5-Y!Q8&f~;rup ~{/̎ +"Vq+n۶[+{ \#]F P۾d/mW=j $~ڄ-&9a3x軦"ݳޗ{V1iEs 59 +-=9ޱ H Ф6MO4" +Iđ:mIv}/{(KkQE?uGߗv!0B;‚bum+{om!cTD'q:PgR86vFoS=),9ZpPW&rS럱fbi+~LmTr.\)> +Uqгu~٬6y_ZU:QS59=UDI.?#[]%Hu ̡H1=?POŝiᏰwcH.k9(I<P^i.|lueۗQƝiߔ:wɏ:M +~_B38Xtx/>Oz?.JG$|b4ק[l+-!;[ *Qhv4E)S{s'upQu/"ҥml; +%MۦXyk9'Kbdyg.'lX<gX3WyʼnkkF'po 4)3[FJGo{^;,a_=9o|zɧsmQiMXLkPxC |WtN=EKD[U[kiõoۭ-5 vx쭤@H5ز/c`6X0kO®#9X˥O:5NbU,OY+r//ڊ >i}HBWg^﷿D|/{9/iNyQin"=1{4b'ҨR{ss(h;?(3zV UW}Р +]yAǵ]Ė() +_۽oVsC޹x T$)#:i*E[oCCȌr:S(X^X%XIs ;&_ [Ѳ,ld7{}=N}80N7Ωouz~t:'T=ӛ0W{Ӛ{f{Uq`ZQJGaXCtM2o]jDC;P`H @1H8)THmQm}J o{z}?US\âxKXY"fA|{=x/B(N lDzy)$;%6޿m\oF{vǾSv*w?Ku|Sxba#6ׇy؆Cڼm݄pu.%1eYs:r-*@Io@yVn)vwk4HCx>P?:ewNoWhi< xN_// ufu!wx%.dABS=Q;#m{Gnoۿ:1,cwNOnF<R뗃pB#>[-BҾv4swͅz2ŭS(/H~4l /o=3Hy JdJLNcWo=:z Q1{Hȫ^ydg|۪׷{sFQSU:W|g,7t`RL73% +g)m`۳wB)@m& AptTmS[@@O:~hxAA:N.;آܬV,kǞ2~ՠF ;].upr;\k=@&v}/©8As&4հb/DdALK;yӶbύ$R_[X}Nfż-@lXfVկCץp#?uP8ejiŹlpTSb*!-o{w8VN}/y~JKqܪdMJyrHk]Ow[7l½c2$ʢ xfl{muc^weIhO7cw-{meq4ӶS]8ujrzy˭ä 5.m|.ެ7jWž?n-\egi8}>>}Zcc[lA\4Nvo7y+ +&{O5)hlj/ޗS n\. =BG;֭;myKSa岙"l 5vY^_/Sλ޸90A_؂ҷؒWn+I* <Dl +bbfkܖ1嗗h5'=c<NNo6+)ZRNi;oc;}݄ѹ1%#sV+޷zq_D/Mr>#uJ*UU̹?bj\ciGa#g#rRYJ; BRP[0lߖdgKT7v˩ruʠoyvfUK2v??xدlaѶ2}T#Bh:2=)ܖ8N84>3^Öx>>f}@Ciq#;iˑU+VaъhN:sĿNۙN>fT=݄y۟\#Vn2sv̦rO/S{|d"dmf{pG<̒vKj)T7Pe[y]'N[2y(-"|KۖvOrSlP Kә{|Ceo|;ows܊L5ɷe:ߕlcv^8fTO%Cl Mt| ؑ"z* +mECD60[)jCωUunʉQ kQ,\ zZ\r%6GXاt4ToI˅P#+arK02I|`H[ŇjW[3Sez27.h-’UI#BKp:dԮf4+v&tD>@P읇dc H<髱!yZ3X#;ty/{6&^Br2-[=ֈ:ͪeTV쭥;-Cv8ZR= N,2|Te7.k'W, `[\M OCiEak$9M#]vt2#oL +Z+&wO׎23g>)2\P~=uP m|mh*a5p3QNU -`=z4Z[*Lq$cWiOF*< o*ߛ^am $XH P*}X8YOZ,&==ӬBzU|-+۞A 3Q>MI#W_UuRZ ӆ#o+~kO3J1t$ .2I;R){,2QVSE=عH7:D +.`ʑ$ŏ3LLQK. h?kup{O2_lDU-cRU1 x-v{Vu2egJ!i Ql9U_) +iLˡgĸ$HvaiY?szGʦn~{Hb4g&{oY +kM @26'w>(1puo@ e0mkl&tkxJ8Hc>@HIjA {b@GvadﭛFLg+J [4 _k(BĆu(2=IePĠ)eޜɑ"oyO<(;UehedVD~nɘlw#!W%ѕ:{ߗmCœ'Z0gW)C ˡoqy+XiWnKLխ1'#<ݫtczhK7+>~)Iۭ+iIj%~ěyхȏV3nNycuGHͷYl"u8B]}Qe,,Α@:Hﷳ,ǤIaVQr. hCL 0ڡCcPdk|dit>1ξ.eo, S*:~a:ּ&if2gFc8.[D(`5`׵`l χkx"03*ۢ;@e +(*B C䋢̈d&ے$~MWEŚBDS `$vX!eW|GTH/L^?Y+Y1a.]wd-h6`VW Qhȝ浑3o%ia<5mKw햄ǿ[ɼrU csZ@8_RYY֌vUDz|D 0fnH3=4bV|`#:0!8"Mg +Ϡ&hĆG 0 B} !t7vZ%&S~BŚi|ig FM]jT~ +4 +c\?=ų~ɣGYMMB>h :DU4I1s G=Sm!Vwa $4wRlnW 2܏`"Lp ;BCoKp(F$;PmU5%;)"$gfi*퓹і97]ٹ"A;}#9^&zǰG c7Pb1# %wnฐfDE&V0cϵm8JiOq+B!gePZ*a\`BA>INYW2ɤ̳ifA4, ]xu +斶TfQ2ظA!%8&-RP22 Z~^|W5&hkN lXTɉb$II7vHZmMYj }ܵ*:HV@8*!EVux6:4^&(:iSX<O^HSB) 2Y֓փD0AN6Q{<9Fks=My+Y('gs/CϦRLv)ukǬ՜uvJ MsttrnИ ŤUa6w_n7;,Hwִ5`:!FHgs-{ûdEoQk*4WxGڧeuj1zN +XM2is):YxI+D5ҾA6˩ۮvUIhPÆ ESrMΉb\<F(w xkWR&SZ6afl wpa1Bbn39;VcڷԷ.t,g$9@pKN0 +&HG.GmI .'Ct1h´陋xk5Rf|TS(. eNK1aQ׹2f#LQեR v@=^`Ss2kJ +`>Ƴs,[u;4Z`yprˍ%q=Zi? B2E";\STd+K3΂$㽅h;ʟnÿ|7ڟ1ZQC074.,$ajF$gS렩{ElX`OS~K2j ەN@Xs Uzgm׌%reHÖh.ƕB +<0 #O]P)=7~Tr|(=Kl0 wY>LII+SuAWV5(6Xӣ5~4%&h3TTJgf?Mx#+@Ѥ5@P1^ ^s[`"$ӿ 7uLo|9}L@XikyN#̌zh#vdؾWGM# :l1t/ɨML2y`plj:"vRXO*\|Q%Fd⧕m:X(8%Aڲ/^bB.@@[2%iQ#GlexA)+R1|gUqN*U/02SWWwt:9R)[0 kwdg~tOb@;B][ge6L}ȅ]"-mT2މ\aX8S.F ِqd&}d⥝6 )VU}w2ru->X1ܼx(b +E7Wj>D1yuf 58vN/ fG,Ӝc: 'oD@_Q1exTh+0FWd'5nޯ鳭nE("S l{K8ASd +:m$fI@~lьKc 0\ +TJ/u^v߽V0"BQafc}E]G^IA.u£@/WOcJfQ#vEǁgn58g5BS*%/.=\M w~C ״+kdR kjy~<+NX\Ɩwm0(]Fɧ*-V〮!y I0uV %fkb@}>3zSv/Dh!]&1"បpi#8lfAccY$ u!t_fi7Cr/#37)LxyBeF  +mGO?,͌tM]NU;i0ە]4N܁>[Yd ֟؟ZU=53-J|KsW uv{1Tz +N +7ʵbG"b;f --A c,Xh{XX92b5.t!"Rw] F-`!ޯڷFRT1dJeL#50ZZdZ~s6iY).23V1|ژx[P;o":y'a} $7V#iO*T- .Z:L-1T& ݅jˑ䚈[ ֚070(T~hzqpjZ#8jɪSÚ`b#,\m~HNQ vbV6U~KF@F?:pBeAzUdzXuRSDWi]:_ޔ ? +1.*]8(tz|?ʘ#r[C 6J[*PYn "7Dh#A"-;1"Z? [,܎u6 fwF_efKO'M_3r!ymux4浰V ;/igǺG[8rv!9c Mꒇt"}gΉ7M3,{ot͕9f%"19>onqJ%\Tc. |b>/(!m0y[pO?x.?;q;%#$b#>^g6:hDfyXИ=iHLmw4#X0_776? +'<;NLcqmݳ4x5Xo56×w(|th i'+r ^yiS*1^C.;o"?K\@/Η3Ah 톚}s!@r=vNTxS0; +N VO'0~YHnΦ|\>> yu8D39lr]18>.bZYJ1Lv lx Q#sBoo$1WGW}rcfx2k b +*ueC> ^ !BuOΕP +7j6|*W$rrThUM>eƛdyqaŻ×%"tL?4cµdgoQWv#~l͠?}EҨ +lߦc3ƀOh$xKBqyb~3ˎ0 ,JfHtW^hRҬ@$ " NV +W+'Gc- +h4Kb5ɉ^_r&y?eǟs.Ho?8t$;&߽1W o.[6?pX r6Uop=r+dO52b5(PTH'2p?|deY8IMznұy5~j\-8fv隘{vռvE^LL7ΐ +Jћ1޽~߼KǣK0=&b7K9>GW2᠒_%zopc,5-Ml2gknv~ l~t\=žJô)rXL59$4 +?y``bOO`Qs4 pۙ08;Z]~ H#E;}XÑ/7leQyc!ig u4qv&q@b12Bͽ +d1įA `zLs{FPqS&Cd?,GA&ЛvԖk/]7_hW>"Cxg]v4& /j+}fEV>E;,&V9N#N۩:[%c=왜pɮe|>kBg916p]<]q)54qz)`L})ܦM04ןj?We8cNOYd)%_fY/Z.)"r4y%drIu%#ID)B+eV|Ii]LW/R9ԛ: UZaD0ܑmzKm^W` JG{WC=d>7! +ŕ:D),asK1VJ}.`kukgY 7=t䎱~{*9@`~NbK Jl-0y?ztFibݍAV! A`VQgh+q`&g`fH&kдB_. kF@uL*̩!Nqrv^tPZgeǛ5?1_9&98?Wp<.`: +?O[g94aYN%4LLߚw^:ͤ&mѯ7}sHដQ,R'p7vF ?!7ȐQ.>40co."xoC,%oV BcbyQ~'k+OcWHܝfZv#)zZ!061:'ZOP"wN,M'p 2# 'D~|]M#氄kdUy0w-nwT$կ03W~VC񔡝89u=e療nʁ6($ ާA7(E۾Pa^ Z<+>8~by7=gE 14q|Aƣ%>gxl%ʊ"4Bn|"50N(bdfi@Y.,6{5>`ǻqq+!W_%> +5e +f{x#Bڶ Սb)G7)R|}Nd<4~H~JQ~s8YmЭ1*H~ΎV$Bk[z{!M>4X_yoh,+WU_|&[%C=~yQsf z)"}:}SqMDy2z_(}~;AXvMhq{qqȣkO:3hz3\Y#MJB8Ri&Iv26м8þS 5CϜ(TSHl舑+@sԼ+=AѯJYj]i~48$7p '{8x< 'J.o *S{iqmÕ6++us? A6'yZgKwLETWNj𛉋<@[n"[XC>z&+q.JK_ܚ Uuk/>L}}w].N4lFwUu|~<XG$[ucj{(lIM!p81^Vh$H(z +i&-uٽv0\;%>௣«ꊑ d![7RbD^;9gFIǫ.>=tRt3)a _~ e93 g;}Pdp#"}ӉB1]7WoʹAabl Uidf")g c=Q +c1(n\ ^椀:_{8H?,k}8<'/&8t@P㸅Lݥϡ# 㷵i5JJ޲iwY(fÜy1[#:"1{nH(xWRJFzX'gTx̱?fLt +suŴux@46&zvl9ESެqMPl +x<*aE@P<}|w'~{7g5G8a,>W}HxXJר$ ]SkjX/̓ ̲@\7:vҭ*f ew"DBu>.zx2W4*KG;|fR-10MɣWWx7LN;K,j2HUpLW}ɺyWJG2*?/˩)-ʹԶWIWоwͽ}$sIf Sfv/WPt9 bl{']0{a_Gk2?{X,$l&ˡmlq.2 +6la\  pٹMZ#$ؼVd*9kLh|pL :8I1"*S*ݟG?.E$2FP]QM4kQ*.7GE.y %) [B;Yp) 3\ +XPark%! X+uQ~g>g{qT{RK S4uqʊzkܲ Jb$ň͖C%QTldlJ00Q< ~! {9J{oCuTa`áqY,sθ8QKj((-ȅaєӣ&R@%#q{-KE2\ +˒XIjgihޛeRS3D1܀FIhL=!x_kEjK9>&](75) tw&>4/MтmN˘wIAa~d̢#-3s  +ܰ{8r$Y,J꙽v5;~"JR{LF-U@ Ý $9\ukh6 Kl'- +m۱Qj{cZF +*(f:@1faxDνY= Qb{DŽ:Ж595 'ĤFwj講&(v M(VmzXhCgF1cm׺ܽ'[W16ݲ<ˢ+fqXP y{,ԓ:F̖]:[TD55K_CR㇪kSJ +4'Vrѭ;]̂ΦyfW^6 {"Jg}H/fAy;(?c!,Fh{;-^*sVa@qw:|K +fl3IØ`,7^0剑@J.IIrRõl-NBI^d=jZѕ|k(ujBFA7)*KZI!=HS!DX!MKI_=S"ͺT{^Zՠk8fpgQ9ץ:Pϖ2-5OJn#g3udpݘ+7nnܟg!kf*-!Maʴ8\L*194w!ϔvZ 8 +&L9gp>ttgB6OY6d8oFP V$ Q*]%;h-J\f.tm!#'Rd28h'u PjyQ.RJjr*7P/0&m\Z:ž$921=hcp+[wWEj;WTåhk*;ldV`V\yc]%r(yE!Ɖ5c>"4LA5PY93zk +mH?,<>dJ/5 ThS̠H݁>U&+pXuU$f-(a{쑡8u.bbkoP n8LQ@=ڊ.uos\ Ӆ҇fmvÜ2LrB, A~*&w\M|ƌTuuzXa >:GdGI3=Zu:; \FäyMh?a%ށ5IosיsI:5|pv ;=`5hs[R6u6Ԅߕ +&ǥקY;ǩL!+ཤ̔*PaMJX50J0m=#1--M\eLIV-ޱN&u;8NDK4~E} qPPэ8JU׸ 4x1&JoO5HQ ԃ= G.e@@zhT?ks53 ]W?q'Ӆ9;|_̙"}`|TQfqg +SJ-!e[zS.BM? $IcP4Q Fckq"4B͏s&}v ^kyuq8̞.-_`RpI/~)X۰hY.*k/Ï +M|J]`&=!uj dʅ DkZmÚ͢y}عJoXz+z`&ݨiii3Ghb-$TaI9Gc""hW%Ň ND2{dU*uRٌk&Au[,pyLq6iL3}w|DN\0z+ kC8~%`UEt/8s,'ڍ>--zD `&8YWUzv|X늃5֩lhUƫ5DѶ_{FekK .^0YDR!.:Uȉ\vzp72}ZVTNJ` +96GMŐ dr'jKXPu5'avR{U0{c~upZzhke"^Wrk6y:- ӷ[4td]*VA^:MILy%ke(fnV0'7r[yKܨ3?:l0ʸƔi=g>âV]S>DjUg$A'@xr-X54w=CJwԛ +J_nÌ}?CT`fIUV֌ 2)4".ӧ85{bni,+4$ٙ!!D mWTLc҉lXg93u&zm&z?M!^9" =o7U-~Xp'@PBqXV9e҈@swGhaeAקư< 7Koj0F$Li>)Vc͟ROUi:S㙣 `a!jU#*_3Smizn;Eh~H[}kjIxZ94'ֲK>J݁հԨ^1n揆f}bD 2c0؇ad E ++o٠|T%]2,twk+z@-g H;^Xbw-m Ө@}Ђ!U^Pf{jZ=9*%b 8-L,5)ʋxcG`?PuP-"Vt V%<„왈oSX"IINdHIcV~(rvo϶^vdt:+xYWJc98EĥaWNG,^SxzsaJ5%k,hZRsf;LPm#dhPg|iZtq)#F2x%2fܔϮ'@t5eTg +H~{ԡƦa=j慒 rIX) ƾ2@A3ܡ8]}V l[O_mYG&wNWPJl F`a43 2S-hW @qjH Y|JFRi6/$٥i7@`}EMyqQGIſSa|ŻӵC;V78{px FrVF <:bG Դz<=߼́pQւ/HluUASXogn[mȉz?(DE!<#W]Bn +JgP^?L}WYB(0NO;nNؒ Dn6$p7(*g#~ێӷo(+,ԧV)!4c\B9չŜ +x, +d +jE|OgK +{s#hV=S2u!V(w5$;+;,"\*gGڪN{3L".#)K{,5qhõTF7kJ.6Im u<i=ٞc{<(R%bHOTzS| 2?NYslܣ7EXlKu֜tÄ:kHl|>}u.Aw۴LF8sU)IF@ExLtZ gpbYܢq'4.F^YZ +"5Kˉr g]M6:U4KHO%P"y5~-N$@g->XQJd̏Q܀ 7;ٴQ"Q\~T %5 l5,M#AZ7I}sF&l?NWagJϗ +v #h#[ZC}\phQ<A:*5F d844PԢ[Jxһ~?ˠSF*]&ɾ!%. +[~E{M9'εY)w-'ԱDsPC,qǎ7;ʛ.0z.$U#g5,]+M +Q,zx>}x{(M܄h0zBZ@ُ<.Q8.sdjWeL CcI-}?ֱ\k8$&|9cڟ}GuBrB*FJivjwܵu,;f)vx}{>,BZ(;kXx&xSBOЍ|`Txaa399FjDb +I?Le9afFKnqUD|_#"+#p/߸ִR~ ωc,}ͩ\_RrVx" $V(MbT~D0xdin )? _?GRSnqq_f:9-xcxsZEf&MIB^PdG|TvFAxPնg3WoW9ǑiYpL̼i8I.K@#8,Ȣ)Ċbw,vi)վ']RiS6[[R\ '#-UX:Գ\ȦcvHȸwM@%*/} :{I9>fQO M+4&fǣ@ aDay_iuy'7pBPϨt ]q!:F8j8wZdGВ<( P4.pd/7ɿtܵ+F=qUcy11x:!ZOuo?GY6_DYDRŠ-ޙgscMTAZ~4ҧ$UFqY/(4RZh$XգֱfS:nP tj +A&O)(A pf+GRwZfqAǢ=%0qؽol OYЎ6QȁC Ÿ16oCTlێC;McQqܢp}v:ךf ǿ +7*oa_:|Oח ѲCJ댟Q<_Bi#@n[&nbO{RS [5|,m*-?G?s?k*}On۽`67-ryoSxFxxs9ǭkU!`q G}?T̒F-q ە "UI-2 lՆ CB5HljKD{g*M:3بW٤Q`Ck/mdj@:7v>dL۶k%mbUqJvx:>_Ǖ~}m/$p6coSQ1D?:}@p)6(UvW˚Xi<<+S0lTOjKMq߾/^{|ZO^9䐆An3Gv3jw)Kr05GhyXuXeWԸ_LY2 &B5ipK/1s豶o\HK|MP"e,EkSx<(VE>2LBoTG)*|c>c{',X8 ,ap-~N(;)~WoEX [ i2XN :gJ#+u&ُgmʿ8bLXq+Jov9C+4SeG-k=_4DՊjAR%^lhJKȌv޼Ƃ2ڹ84+:]6 gH"WE,/Og(Ӕ̕Cx_N4ݎet^^^0n?}ṥcNs(^?CQǦ˕#-l-) 5=>- ܪf-X;vBI<ιq?AѴ &݆ϱG|[2|]Se(家R,+DH'Q$ZgFlOEo]2f՛ R>|րT_2 Rj6ˏ5Fa+Ӛo ; xyO 07SLrUI؎q[H;KvD@:8NDJ\|Jxg[k-ܑ`nGo/U;)1i1VRrYRXG4[4e%o|9#m)cLJ::M`B̥#|ph(bG kq΅[p>vkSgv%qZ9o7x,Ɋ9A#|膗ǝJ@xpmXasK5.fKV$:U—4R4 u8`!h44ܗ+'/?^Qrp]%h +R01*}cWzO͜T_!܌ս,9&YU4j*6 +6EZ_ܮi]~˶o/7 ޛj%W闑O8#GrǷo_rVմ!B/c_&oK4D9SR}{Y,2NˋL_J>d9GBʪ0sO~RXo_X[ ؝;%Q=F# o0BzqzZf-AJrQI@<`^hO@ĘΠci)xϿ{9V?~ܿ{<^| oxeTp +M0JT:QGؐ1DOK~kC2rVLW ^UbseP8^"LƱ| 7Q:ECƬzyem|j{Q^t;b~)l:md~=,EP?atz|ӗ/(2K{J?"'xrSi/yo'xl*1HOV8r~ub-k9QTg ۃU.G/p_ut-o^c,j.ѕ1lo8 Ɨۑ+%[~ˆŶdC I5fwY`j@,r{RU MSI훇A9 +pj[f=NY»Eq }=lvxAu:vWpQ>6F|ԇ$[x6pVlm$(DYl"ǿ%6g| TUNde26p1'' j}$EJfd=zGE-2LMOخlՉɅ֤(B'*g7*jiGtV={Xȸ"u%5=[^hU~B7i{\$qo۷/n2Za &qҾNznvO'#$э$)S_o//!O[21$lla'uTZ߶gۨ-gzh"4yׯaR&q$)c~EY[=*"UD(NxFTo1_nnuG܀6/ԉȭ +hK=sm/;k&he/7N+4Q0eM]J!h0Zhs5(4Gr^K(7Fgդ8 ˗pˈ]M*F;魽n]Sm*5*.d`ŏbmM\Kpy[@jmB i|nzSq i&jf'/Ѧ9hkLVUֿVZ2 T[f0@xL܋4S(YsʨsD9rɈ'Vtꖔf>{`Zhf@s2JI(>@EsQ,7)"aGAޜbPb~f#3\&떐awVF6ό"RZ!$h3)(h@D<4m%aVE7h+%͠\Ҵs#&Bz <8ѰmÝlf`-RZV"xH6]9r % ,ǡQFИ +J-(E \ʺR%ʷ& 74[(۝% +v_]<Ô4]VB$*BK_6z2l^dOLҁ5Z`GY UfS=b8'yCOO8HQe'ƔP8ZDwq[ت_W M,4Ϊ.cqcb\srOՊ.ڑ|5Z囈TUe5}jy~I_e'Տ:e +NUtȘ( 5yiN7K0G_T'd њ+4(qxC`TL=f2?P=dmAl*{"ؙL5oÝg#sYAH֌.`^f;](2hAEM9-Q!J_Iudvw:.V+v*Tt^ *峳cUi6]hyyOd .YVXptTDvFTNv<F"5-"zCΚtvzȺ{)CꦴdT*WFRB&3^δ1YӦ"m2^/ |#'eٕۨ g ]\ 5Ĩ%e eĴqadlmA[>ҬUh&4Vn|[ox  t6IZ Ap6檘H,EfCNҶy ;dZt/M&鯋vxE +%;w:v )jyLfp!ǘ7,J"o=TUhyl6]0ʩ: +btTpƚ4W5o#:':J53Pk'bVe߲9X +˒GS3S hDyUDU~Odϋ;4bئ-4FUFmhjrx`]a'QZ:&A^II-k NRL ݡLV0׻%h>s»v 3Y=G÷<)V9n8f49رE>OuMR,2cL jsm%4?O\e9{)@&uMO )_sw^|{ +BR:ЙhQTL?XN[#[++̾L㭕'rx* (2'o, T3]wL EjQn9=Lyha5,U,Ì ;Ԁ[W).q7fĉom7^)1/J~(D,KBY\I{dhs!7o@*pFix$ɠ453D]9<VD'HJcR8׫>ʹdX7 +& iОelc[7X 4uLEkLC)hA0LV.eUꡒ x#|!ZV5<$݇é!~@WBvkX!yTLn%_M#<3tw3=1QvϷS(q JLci0J ^ VvO7aZz:ʧRR(mah*[dĪd9rS)غ1!~+I$W +ӁRwR$& +j`D#۴]11Uɑfmy9T'1<%;:(W^&ӓ@ Y'Uy9p0|[A `|Y9Iw~U3xU#5"a g@L΋U F=ֺ<ݸ>lR ъpEץ9EɶV:|X&g}*q1 +B0ϧ[:tLA Կ51~c~56/vN$OWJ@cI*BmAfc#)K⳷#Z.,BD2YkF:BU?CY>u2-kد"6:6( +zl.'&*~m̞=^hԟfG<]d8ĹDm[.C&v!9ӯ 'Oc?,}I!S R7spb`w渣VwJ˯=CW?V_X/6Bufw Xy'C:v#{sr*^'9Y_gi|ݠһvW5]UuS#uH<47@ٯ~'+p>*˛j:ۇ!wQySN^Mw9 ֶ]XŞe;Z 3cѩB=eUzaSNiJSlWMS!GbGUjKɫE7v˦[hx"kZ6g^.ǺWs;ehHw +dgHA?.M*'񼏾㮧T"+j^rJ,o#ݠj@0űh 4 XS^<%O~:rĿ M8יPp}-U3Mݫ1k/[2jcQ0FOp2h ZLcvڋjR*N7pWJ>/d qs8;'o:zn!&܆0A01\*q  _,Ij=34)6jjK&rVucAmhl`e| QmKb^Cvz@ ZkK +QU9(u݉Nic׌4~DScH|NF&uzn$0rS5U~]~W:8FkBkx:fV%N#$RngE 9fO.SH&.GXG.x:.*& Zl3֮Yko`c,+XoMbNsN-@ɦ,kU=D+Se9~~ %qw׸?I?'GOE=6ƭ st9ui &T"ԏ,h:ۯƘUpY]:hI}x,o`0tEw R0fQ[ +%]ᴒ'ΧTΕR-gU[C|m287'tu|NﯿfzgZn"}Pj 1ze/YMZMs꟩i5UY=UMp~ZΒicxj0k.kN +̗J sn0x95M,ɡFaPI=G غ!':v]98QxO>uL%U8:'4R8Bړ%iD76F +֠-ĉVQf%?At;1*VwQoQ:G8c.~2yދta4vUui\伶p +cJ)Kϛ,F7uqlc)gxj6}yI"fW ]M}Ipudxgyc#xaГ$.^oXA8/鮉owuz|@L@[Y[5|c:MKZye5?-p[yl!؈R_SiOg]PoN} +>~bg" -vV bqS0rj$QV "jgzBNNxc@px;%8MytP_r;zo[G~yݘdQHP]f8+:ۊ7M +-,\ga~:Xm+%Nf$|JZ^N!IBPճ2͝r|dRѮZ&H}FQl&`xd-D-[w| M1j؇T)~[0)aZ|3Ԙ44ĠGIgR2S|(vsnoEMm^MU:k~ +6#mK&6 +pj&wΰxcVs'pB㏨`]쩒VȦ&5iAأHS: xǣ9RJJHC]vV?O>zF~iXeٓ*WRѲ\Ӎ: HEca߀REc^Ǣ,)$H󰖃-::Ԩ5p>PqKXJhiʆkVϐHi1y'CѠYM6l)툯%(֐4dι1?u5X"?#ӬUtjSgU}h`d/R\bف^H*y;K,6s]+5 =#X5U93%]LHmm48՘:|,̥֟%)jr24j8 Idr*5!dm<0Pΰ |+smqFG?CQV}kC#m|c@iJjk:2PGRY͋O.d>n y}<~\?4?;'=)Y˯4BNAEK +^u%˲Ѡ#&EGHVa5y[`~8Խn-hUPU~Lg*R.$l%)ߞ )KMT[}ԖA8ʧCY0xm[.*BHEDODI4yA"5 ]Z' z[Qebmq.Sҵ\ wk_li_wÛ]C񍆁̎+hY\||<Ͻ\Ds;Jc`Z}GS +Xx6r]"-adYpq̼'6pMm5W)2-䃢$\ X3Ӱt3nXREϢׅ_P}5߸H'3PS{S'oAߒSFfRCf&qoU +#w~^RbU{PT.:6Y@;V#yZj^Ç ּxABv'ꖚ׷՝Y)3\J 㐝xU.f]=fxo20fR{TZP6 X;>hȄ38a +|?Zt-وY^<۠HB_́q+Ӑ#Ij]Z[__9έZVnJTƊ2~[aapVx/$i]-}Ae t0&C<` wgW 'a1@{r?3j}%/JeN$Esa"ѥAd>A'H@[9Cꄷ'!cYȖySŤ>xGxYc 2_yvh7)Y|,s"_Fhm7ЭAXv| RAoi:*Dʋ*j`)Ťw?Toh0^N%*0`xRFV;ₙ@uh!'gLy'ZoКLbŽ|W˓ KtnFuAOW"ӃsNM='b,B[K.P͕gn긘 <7%ON [[`ۤu;y]Ř N8K ҳ` Ӌ~ SS B*PuwGw:5OB6lQ+Ks a?573$JF0^=71E?p kOg[b;:mIa|]kfcTX$M$JVSuږ@֞y\ֻ4:\ߜҿX~*O:wʷ3,*HhIvCL`AI‰2P$1מ33PY}3ўzΙ|fa)T~67 +1jà%)jG"q܋ၟ H=&ĩ1|ꪲENY QV/ŏgaZ}ѻ$9dk[s[L^u'r,j=~ʝ@ +'B}ezz ?MK}@ڢ}( ݅^Y9vսE?81mRzX9hjQtøb&ڛӨG'S ct'lO(\1, <ۢLaw̿3aq2 d,W/_/f2jѝeԺeytJ5@ZWyrx ی r9pfd(̢*:,Q9ߚIΤ?<5.2L艓Saۥf/t8Lէ3}7!nܠ^Ӂ5W]ΈMؽtik:`:1i].oZU%V5gNMfOag8hKbMc~#_?qg>8ϋQ Wo;Cve;7Slou^ڱTF!UOxX67xG.jTsr(qj`œfU.dyuvO~])|$WBAef֍z E$ύ ȴfX}:/4R0Hyn^{5i+%*^;oW +rUJ"Olf;JGCU,9pk']S`z_sy ɘưC5 _޺B䊸߿n>RsyA1֞8;BV)߷i%4^}//J&PqyDJϷK4͉͸^Z'w&N 09۬hyoFJshaMHG7ΊYF +\s|bSO~ڝS-*;>xY9XjmZQ׉\[@W7;ӡy6.vV3,Dd5oTrIUak΁0eZݛB|‘s28ޱQ^KSø3:"\k"&y4gs +C58Ż:Fv17)\)*I,JvxE6OT<) >ufe[1ss'qV`x""s>{4 +*‹)oL}9`{VJwq|p 0jJɹ 0_E=J%L2笪_jX@tS]u9&SWb8*43݊6N``g{(3^;P\jpKh1(uxգ"q/PLFRfOKf›G +]u{.4OO/3C7 u_`͹{hr8iqu&QSu4f PsM4V d3~5W/x +_k + BgNpYgSCΦ:T}x4i@T rr>m|"4?+8(\u q^C-_ݔCFHG{H:={7Un?7YR<8RyrRTZ]A4wlA.>f +|4hkɘyi,< C΃ _Ms?`p7sL;d[L.r>V|>,>5vf6C1Xgs|0g7HKl'&$F1-.^H4 +)lŻ-|HN*N# Ȇ_{wmGBң^/zւMӣs#=`yLofJ0\MBw7xl늅VDzJ\5DߑRcjK_~f]?lCW>%Fk ˩a~W Z|ht1/ rɂ,SiPcU;A^ûtKջvLϙR +ki$:P&~e>M;wE3iX7"cO"9T qV8 036V7I rrjFZ@z=4o]֍˭)(Fx-Pաshg!%gX!ʄUxv$i1+5Co*˂ZXƊꯣ:us[vB E3 + ?"&>5ik㙜1oAs͜7ر9YF<)2Ϡc]}ܖzc(їOݠhK"knZZ ?$`fB1Հ0'FW{ $R? JafuTF^ 'p8s9 ?^e[@[18~,r*_Lkk`ϘɭVy ]o/̓}" u C'RUT-]>q):mLJi̙ӝiCYQ(iZeu̯#:*__Eю#heJݹO2l4>q poLPWX%B1Pfԝ ['ER8N{XONVPsj2e9?zu M.I]13e^P%Cs8AM}\%wZ.bvpHL"gb$=#f9tySNL!|&bXSu{FtER/+}I)cQ&Nn 7@23P~\|kׇ2ĞˠfTiRރ^Zaqtx@ ˒!SӤH F^,C$@J)zTcL^~G}BUʟVfQst?g]Ci u cVb׬GZ.7\[fqS#kkvS^]飄1q`"shU=r-E `UO?p0qLII,JgkrNA:i"\`BC: `Bu&&ԓjf\C梂ǏŠ%> F0(=`5nE +Ur^XG{a/pO=^J +t-ݡ[FhDW)XԬ}*q F6@ +R|bp :[sBfc(MULPcѩͰF3&\@`~V(0TWtB[ܺoO T70iSO͕cPO71^suV%귥}G$ZbE#o]3;61\ +)Ϻ:Bisc՟ט?cCARbd1H; TT[*hN_7l4j(a9 /ڹЙ +j{NK +iYq mWfKTZ8u@JYrJM~\?9ԒSeA!*-)#SDKÖgI'fٜb\mMދbw'QSPVެ֚fqe|g# im;hj(KY\U-Z6J@~T;NTp"} 5()ѹR.ʫ=nd,}c:|먲53~":~5{hbT:;0T2@Q +RS09;=> j.,S^;Gv;{k!v3+ ur *-x&M:T Ym(caX5JV = [EE>6_^n$G؞14!+Iwwj&8jA#;%,)?-8+ĚYJ%/Cgu~U@Pe[B`m1bm/ˊW*/ZʐOt!j[ۿĤ٭TO1ק@Li'5&9e쟑U4BpQ.+XiPA߼{\>O&7Ԇ}DL2JïV}ǿﱀddԫxTL0H4aK5 tbـӸ!Р(&ռ'y4# H +72WzXa2aKyQKoe)KVq$[@!p1nx +GQZJ]?eV&>9qTqLst+L^!Askb_кN#2V3+FfWǿ=9~=>ez#Ƣ7vv9oDxQd#"@E(o(3`UTǢ[%r|3]K- ቍG.mr>H捈/l BX:.|*PPR9< +zV[YG+%J3G"=@fI&+7,tr\% ObVZXܖ*PbjJɫnE/9K(zȑ Һ.|/>\U6ikz'p*!R"+2ad%S/s].ᱎCDOpm#zzT.劷Jf 5Z(lԂP nrUӨIrpsv22:R|A3;7^:sd%M-TYuDed v:%29';cn+:!SKf^{U 3ѻR}%&sg\LI}c9Eoo(N66P)lB[n~WtvZkU`)-J&?AG4l@'^̭[}eS* Uf`Fk5I:y$r&ӹSSw^,'X\ϧ]It1":ڵ̊c"k3rĜ bw*{h y,VڶIՄ5PEܐ X2X7O+Ԫ+7]!b<2cJ`! ZȜM(wh2yax%4QsUUىBmp^(Gڦ!+~1t&h1[;Ú:ȔW)xE:oh)[67w aE.=a /!LuǢ:*a"'vYBVއt#Iu*" ,O\d(w_Bw41?Qt"pP2I&ayz%2(tnj#ZCs֓`u'aziz͏:1JCsi= nUu4V틆: +7n-Z_2 eE"L +Œ`ţ 9܂̻t#V35o1#!ʠxzcq̇{/~I 5D|]T=q bh>#︊cM6IH(<hK}(5~ykw"z|I]ڤdy9ۏeH%d+E QL_|Ko0*n^G~|#9eBg`)uqHcU2+7 $d2IzL\lWܩumQ_2#22NdPuMW#4{\N&= +ˎK܏LJ?l=[٭OG VxtU18K'<#&W:F%p7uֽBj/qjw[[uWn*x=2Jz4NuNURhT#9brXFK"]` 4,41݋I_PIcلP.0E)΢/޴\KBC>Um  97ӭO#ܶۋiw–òrX +an~8# qQD Ժ?&Vm"bd%} pP3-nj~aǻHǽ?q U;3\z k'[m:)I>8$E⽺c{-ͩ쵣c{!ԊV+.hh0V@k8Cy}=đ[K0H?9 +/*s?o{}"6v!0T?3f<݄CgMǻ:n#c1ɌH-eloC^̌x-gqqSIId:$p6d.(8fmʝO6wd9ʙઝcS5 xr:IU-lvIzT=6Eɂ]6^X3#%?7o&fmz3#.df懢E*4+kwwx#VP FkJvlbG+AYFJo>f|$ ?zωX߃:b62je6RH ^5wQE:~Ŷ I#_:D|e$Q)kH5n\()HV_6߀4M/91ˏ}σ'eL:,nS)9HgǛn̵oR뛦hNoDžd;VD5ei/Az0eFv& 9/B+@LEⲍEdi E|*BZSB<ʬؾ#2Wp6$#ةƄVT1xG%^Gz3 R{e8"&Cy +4i{ִum?#6r`cmBIb4R2]d=]7? q#n uj{ mĦ?xUÁ2S'&8|w? xA9j3:[)^/߾P%TW&R}9Gr + XWAls&Q5K˗c_/LM]2`_8@ ww9]ބVftH^%v]`APGZ,\#m@ɦaǒt2]2*8tc2=: +VPe 4۔YY% Cѷ;۪)K+'R@O'KRDuI8fVkyj;ٸ*xg_V55Eo + o+V3ƓuϨ(v$#`jYšŎG:"D֔ycm=KŃ0Wy|-*}OQЊUA{|l0Vm Ӑ>G$*FmUwp]Ө~ۗIo$tր0[I؜*xuJ5|}IU{[{~V%N#z=\BǗ/mb.G!S<^:GO$7%:"N)3fh/x%alhH|~{ۗߜջ%ujOgˡ^Yz}w]*ssFafҜ)51.ZODЕXuo1~}.xmAa8(eTm"GND`U%rk {gqU[N?!aO@+})-G!nQ)Αߏ gث*&>]_j"Yqnm+q6nOȒ(Κk|6֗uStU*H͈ErۋerS`'ݕ,U7f5i> rܯv +9IGotHK )I B-3!?khRBQ.;e{ huUP>Ʒ3ѭd!KXmʅY3m$}2ə|+G>qi܍fP"=䑋g26kn3p-lpT;~A6m_ޅMn[D $w߻7m[UXy =}ݖ,s 8duʢ}~ylU4΋1,Z~o=: c4؉~TFD9{?79um[t۞HrNOkF4v/_en]ח8}V}۞5UY7{P?^`kexj_l5ã"bx{ORnhVøVe^vasN/?^rh\I5g楿h=}9wsClt'4bLϩJ)6N{$L a9-L-(G&r?;Ul?4 I>g.=GyrO5{bR| d_rEVژMd.)I _BYTRr>tF DRT`WaGVh!xO=ғ^l_^wjso~ܞ_|*׸* +}پ;ݻ{ޡ1Y@W޵n@ c6Z,>eL[m]mEoq9`ۮ-ɼmGVm1EimF/iܱG4xӮ*ޑ_3-;tߪBVom_]ۊݵ1+ F8Iƥ0ggZPdkws\(8>x^vLfZv'ɜtը\~TwÂQ$eR<0*mZ5Vm*})aA9ÑJt7., ǗG3hH%H6,,ݑ +s=A&,_P[G7>rcrvlyb4;gdj{nGo"~FSFViD ti8XWbX`.1Ll#L~%&Upm6?J8zv +Zja͵ٛKnoli' 5A2M1֋3t+;ڻݑޠ CSff~4@M]+8c>^(6{`K7ݓL*Wo9irh(SꌣAP*cVʴkWJ>EJ_du)0딾3+S{' TH葓N.* .&BĐjPϋ>MRGJ +2ˇR1Ӯ:I.'aF:%xcᖖ+(l=J{WJJDZ;4v/(Æ5k}k20޻eRz aC4]5H?t}aKiͤ gɍ#8eNWaӁ9+:b:ou]Yq7jm8_M3[PK2+sSH)}p-%䐩 Q{K;u+%^0oy[1g=%)ЏCQw׾ fIPgajxe/MC˞E`Hw.L@r51_"xrȴ,5ZmNXzyuvϣۃp|ԕCIn^l O&Fuƍ6~$|XGQ{6fX5٫4ܛ9%+?Vqx'CMk~zͷ&/l:[-!/z8& ݒZAٓujj\hv'|?5u4xohۨ2QIn^$,|>)2*wO~?6ڴ7NtMhT]>Feђ)6cpMmUBf!*{iOBđs\99MQVc$>f DR5CH'ggr;7ڐE5^՗*ƍ(&mRC^kA5;7΄‡ӟkACۂa O/γyl̊w&VPDt*Vs6@c@g:z0@"oZA&~'*Ʒiǁ-<%:}Wh=H +sG'On'0J1j-'zbqLBEZ.|]Rٶ)IsbrG$# +n%9\Y:'0$1nՃ c}cBs8YJx}gTggG˪boUj3VFN_飇B4ib[uyP#L\Ce1QfTkVS9T=hjnsNSzTd5vUAdvFӈ q3$tu~ 켄v3MmZ:41) Ca=^P=G6 ]aY`h1TU4o8[,F)6Wfڵ8{KGγpN4^ +7_d"nJ z Xȝf9&$VW3v;:6xvvZ.3"+g\)ykblB/n?pn=gR]OvG'δEH:5Lt:tx4ۑZq)lj吵IB , E]bߪ;]%Nڸ¢NJ(w3ʩ)O(Of]P͜sM, b^D[d)7MI/E!֝?.=,wy[RHlWlj. +KCdm')^-w>焞oA\,{Lij A`DӾ #O!Wb `%(xN [_5x쑏%{-+$ 5 +{nY$GYmC*^ǪkMZ72,N93bВ9krƝGw%fǒ]}r)7m.<5IHDDg3붍(j0 +qʞY* N;d@M[K9@Pfݧ +p&bj0;{=Yx +~ںʡBZX 3g"*ll5s݃"c?pdݏqɕM{P҉OND/3_MͲ?#LHM5<PF5Sp#88C$QOrXT8c|IbUY0ELd?c4i]Xz +_6T1phz zψ75reL?f'e@"LN5YΜI.}7fâ1sӱg4KuF^q:]K8W7S}t{.R֕afoGC t}`H!F)oD֦Wi tHӳO>.毋D3uZf«z{X}\|,߿m^z*`s _)DǟL 8?՝k:xP_yA9*iQՌUV%hϗ=D\9}+U6t+ÁKn|zAԜyYr ޷`VCÃ{y1%CލӠ3Jp<#WVp8+nJ?Rd `x9̇8~8*cO N'ۨ 2Nd6Lk~uiF|Oƶrj@V9Nb~ +4 +Um\`e-'^?na] +xaÛ~ NyᑙN!qu {,"slQX[H^l x/p?a|`$(lQ='TH : xjo4ޛ߇`rN!`2 -ɘ 2 +=~ߗz\^_%;)Z+N..rI  Wӯo69}΃(ƠM"UX|U88@F0ܸ $;*6,ՈA*Fqz#:ģRZ[ ы^|-h\!c:]s-? 1xIk&HOxmZ !`?li?+2M{UFV;+ EŤ* +9}MOpn:?%%!sT*^PRr +8$~? !2Fi&᧩7=_!Unl;hqĻZ웋NC}ux .L.jFzkq~]۟zwQ>Ag+9QQdBRghPq fxyܥu}q؈R)|{X&O!d sqIHxyCYqZ?:/bO͕ǯcҡ:\lbAm= f2hy({׼UrߓnZqKYc A_qD;͘jD+`Zws䌜'd:fjƶsɯLgshw賮,˸߹t3?9oJE9;OsxOK ~us ^0/"gRsl(y_'s0(TQ y;]؏zrO&dX[>7ҁ=Wb?B1C/k:x`x5Bb&f\(H1gSy>lvK@I-蘉XSU1lO8zj5Q`6sFWiX/c\_: cn8.4+,W:?dɅiFB,ȑƬf1<>u*o`-i~1nf`*z$juRy$Kh@֥˘&POKEQXQxC& ֛ϔL4sI9c}XbTNQz~?<":O]Wy_m 25GӨT2En[,25䲜Dz'cMKR:x\83)2}j;W.SiWZPMܴ:\{ZxX.%ΞkWwA9%lXkޒ:tc*.\{?Z–?]Ogяȅ >.3X͊u2tE'c6'=߱LcEv{IK7ṕX`{*X=q5FXeN@SW_x197;\I2thy08,};Y}Q.=n¾__8u0l6$A?9i +N#XN!DAaeC NzrdG0Ń @IgxL1%:'/ s=uDKT3M*O=&]NػOn0HzWnX](_dtIyJ57x1.x|L8q?JwX *4HĊS6LUgl^ |o&t?jqͅDWfNWp TijeA-En0ouWCrӍwk$8[~Rg~W ˞ZH*QԢsıAWpڧoyz]C@W$X*ѡ*N/?hZ\m="[JMiB, /Q͠lgHE1~TZ*ԉ!gת1,O5K? ɽ9%ߴ;"$;D3y;'vD[c~;K?gLzP5 +vB8d~"4G؂7 :szOoC<3ܾ4bȑ MS8Y&Ac~׮?u!oO9NN7VwY ] +!R +>t_a1psa9Nip2錝8l&a뎺ԲUhO-dV5CZ?eGՇ6G_K%bjE-}—S?hN9V%uqqX18R GM^Fv0?zKg`j)aߙ µu,Սs8Euab&0@Ne +Iu|LMsZۄ÷s`,wyoD\ .=L^Ns|4jUkBcUr^[M/O#5(͕!Ln Ocz=.G>Xbu#9 a:tf(ڹbHIvl %ǟ^9Y|7Jn۶xTY`>= wFQn.b A]+)|8֝^0.˘>8cS84LɝLx +qøsspQ˞PMAbp3TTuaEagc' roY~}3pՆrT@WgͬC)G>ďȱZD_".1q37Γ"|-3W8Dwܻ=J i3`&I̍Jז=NKRi{&hf0;$p@+~ |^cl|:uz6~aq R {~E2&9o6`|S\LbodE\දӥ +gOp ,V\ +c"k+crK\5ƺVS UU)ȢfJQDkP^[ݝU ] +c,N@SYyK{hA}>[t @6-Gʹm\hʜ +p sJ`́1+Ϳ<4`46QҎ}vKsφs_{57 ҉I 6|Li5[D F0aR/ )ݡBx 6U;e7 k-8Q]䉧z>phO19)WNRAz݇X~9:BYINNBɓ/̽7=>|ręAsG0"%<`F)1e.űsStYvB혁'|#LaUj܃S]jq7mV̷ {N y|u}4bս>f=I|pqj +m[%=ש}< g!Y|δJUa7m'0)7c+?]uk:Z;3xz},?'vj1S?coj%E9  7zƜIFR_R|PEAe(z7w2 )>O_kۯdQ)fIbS~w6NϾcl61c `{D9/τyۘ\qLf>R?dtpX pFJe׊Q-!pc%Y`b ݱ1satw)D>?NIh-TO4zg@'ۘ\dy1;ݡjq'9'}j,y퓀gHC?4.%:Qoa4 &* +{1bfZYԊ?l[Lx0-E4& ldL[0AmD$ +q)F#JoPGVV4֒6oQ(@XZ+JzcЃ2&QA>-R^ݢ`v$V(q})Wڿ:DZẏoÑ <-bF1ݧiJLQ0:BHX]vK،Q'>"PFU*E6AAX_N. &.AGmX= 'Ko FIARG{EYr1.q(:ˀx ?7>x%JAF.og,BNgM\4܎ۂ<2)4O3&é1G!}VW2noC6I/vPXqui}g2̬~ptѦ# [R4́p,Op<ͽ_̵|Z]XjWpZ)9>:F]ݧh"<FGq1#1>_9FNΚYƸIԎ" vGG./a%vЮ3KnF:f(1&C;%^Èi]ɥdApjUJ1h!]:u*OPGtF@|ߺ1f;EMBxUۺGwBiOǀL=qy|! +^` +\ۙX½W@>F*QuM'Qީ 񺙂V)Bl[b;$mg&LJ{BҧPh[VRz@֙~|I#0eEУi=>$U8ѯfx?.33ŠȭҩME'd[ebD5/Dutd9{D۠2LzE:}!0to0t1Xq[L5XSu7Lmx*xth2;ŀʟypbFǰMx|{&X0"hUKZI]B@IġJ}7?|be0c-|3E?m. C.0\HMVz"^q>?gwф_%ڮ#bQ;rIIIzmd.)H +uj\W&o)R P2x#"VqeF,Wxbyd#"d 'HZ*vZvuLv*Z&V7pG b.>@ )?l9o)+7+pкj ŲBa` +O]I(r:?k4 Yp6U 4\9s6\8-K8W=l_|Z\m\< }|\#KLh|6wsAo ┈!ƹ]"frMi~5F:x;/eџ\@,MvÙ؏XCg5G VfpBm X; :{@Dnj La19ujN˾"LG#sKs? >HŇÈ5ƞAg~@48xk.~m:|&FF¢5 B` G)㉋BU 2TBJ 1~L"zvv@"F((FՊUh]NsY^G9}z_ h{ 1Rэ]4N7QHHC;G?zA.F3;4|]]GEصoFfI +T0z6^";#k0<:Pd:[ں-H +G0zAhv\cvMƬt'hfɎz0 @^XZ~nu:%dWkbp}Wu1o#00ٳ,bݚżv7U|3`jb;#vt@ |إqǔޡ]2^ +5D `<o5PyfA>w\9+\1ĆƳA>'4AԇM;L90jgϭP" Jݝ2=zC­lʹJ #Mw)`Hw&ðKp"-qF<0'̟s&15sk'[S$P`\U"+w~o733-Aᡥ@6TEq/M=U*Q[qDq0)^Y:H 6l +5x`MSj(8Id5^@άvgՌ:'yR@`&7Y ;0E֑[.\Hn02l0: &DTˎ|rv6;'HsX S\maU:Ʉ@U;k߈dƇ*†\Ԃ_!MPŗ>8hTzk1V\:צ3NgœvCgh"N0%3גSHJϧQ\Bw Y#)\e k𧛺"LKŜUQfqnk+6zjr=!aJ]HᄐPfGD ωyC9=4ԢQV~t^<W8U.zKgaD +"Wzq,_`񜒓E-Rb)jgՄ?&m쩪%&`b~Ȉ{ _)GgJi+ܥq]$/UT́R rkX?e>=R0 -0Mf&L\%5?md!y$H_?w7f…8=:Vx?Ⱦ39C,dBzuՈZipam=unhIƞUpaOCz9R 8 YC{iYMM};X4* ?cb|=8!z*Qei]nFȒ3( (6!s7ֆcv |(YCħKg=*X͊!Qt {lÂuFq\s[q,֡Yeӵ5c 38/V]\3p%c/֝\^u^18e,Z/{XE_M/^ 7s1OMנ@8;ٝMVڦ;Аqn3)|'N&_ĶJFgc}LO>Ǔml$}Au՛s +//}͍l4ԏ4A^G6؏;R3ۥ^.yؕ~\P&s:8mԎQǑ0VFpy+2ɤUMi`¾yi2 +"#$k OM)|;:I6eaPAw+)g77C!`CdZ̀S޵[yY j =^R lhn[o|;)30/Qdu4Å|h)!Ȗ +f$F|+"@m1:y!,*D(=nM -+Oa5E |FFNg$.b;=ޔ,g;,V sw7,)9䳩sqO@ϳ 9xa̅%a_u3MXgVci&Ņ +W8ތ/1g;2E gߌ#Xi Zޱ8V,0JkI+n1cA9ؙ +Lfqf*ZY6>U8#.lum}䎏zeU`:6EB:؈=c0J+dJq9> XO+@@4kXpw,/NWF骅͉܅HZBȪ ]Fh]A$mZSm ]Y%!MkpCbCrj wo#%΢[s!j$de~'ovOu5Yol鼹,v֕KՏԴ#;xTw2aɻL~wd΍iWS!3SW~}_3c&b6Aq6z$rgFӂ \?vr(S'vrСJ.Iwer}60{9m1 {x8[Kc`R"M"s2PVsJ4C9EKQ]iO}0JD +w? nv!tD.m4j,\cևY!juDkt xn0n*8Ĉ顮AlG1>[tBݏ׃0H-bas< >} MKkӍ_@\2!OʃJ }W`&Dre spR*p0}^+e23IDC{Co޹JL1k $ߊ5lz,r(y}dQ*1Vqe3nf\y|H#IG4.pb[^V & r0pa_=rGy숡f9@et.u.__YuQoݝ)z2Gh*)8f}kУb+ uwL{SiX-}J)}h˃n1k(K[i&]oS-eT* hIp8z dUz;x<ʃM^NFTSSךiEy07 Ѕ2osh}UL\yQQtv4w!R"O +p ndgQk) ֜o>XxI}nž$mMmѲ{Kb=jutHtS kEfyZ+neRk*IPDgjm::2ű.ᱭ_ʥ(2+yVKx +ʈغp1w׵ +̵ɄV~HP?:cC SwBP5rJ@Kk6^0ܮU24jNEKHr%W~h e~"y'Eٞ[=*8nu} ⴓ^O +„,z}+_0 Wv⻛j ؾvoi}x\/8=^5޷ L h!ع wيÆ4hEQ:ղUlYn-$|/:sr?G{vb_T ,YaӾfBQ8oR4CYPg]9=t_i`h ~mm#<5$\hR4}(|ku]B:9*/E 6\limWu󀼖d"B3[/׭+sb"ڢE kT0n}J˭,#^ߝzm;x˹kceBP<0ϙ֦aG? D"v}Nzi}}|}y.b5wk&[>T8|=PԮOF?Uu˷? dapn"-vwnNTʍ]&N~xnj}}- vuOcZ-c]o?ꑷoL,z{^E/󐙡#yu;8Cfom!# lě[{y|8 +VuV1=\/cxzʣuרte-d;'uQ(xz{-۷n~rUa=Fovm[os;-dM!Ȧq=ՠIC z?ﳭ=O\NO{(}㏽;лa1Ҹuu]-u[zAؚ f00`vοnyWO)}Nҽ>޾뽵\eVimK:}AKkU_{=v與V+P}1YQǶTm{\RxMXok1Q:{> +KrʶW4$[(Z)Z"N%k q3Nmn-o]l64ynmoeR5z{ +Q rlʀ11[y{~nVf>^oo2Mр?(\)Н}o9H[OILQMlۍ[S^a"+I[ۏrK**C?pDL?~m;r;jQa@obx N&؎=F2ʷ2әBʑ.J][fbn;k[(=Q<żJpB aF$[=uj91~-yVy[IrcޒGgfdWB߷<H>M8 C?Ou[߿qkR}A2 xD7?޶&u{2 @BùI*vw V0Q^j( Q;N}[۾ʿw5^-.V8_ċ\!];cZ&9n(7~{Ȝ;KHF7W0Rm6:f n`fUcm#!۷팸o DNUݦ$>꾔}3Ƨ; gx"H/:v=ӎ(إnvGh?``;fz8_ f2Zڶׁ|kTU޺v+s ' ۀM`[FJQI~{ o{oa /; >[%W׸`b_n=v +:؇]ۋ۽ h:TWEߚ} n߾)A6Y Snx[ y FtnNl?^۷WT>d.;/.{ ՆH }ͿKbI4[d!%ҙ[<#y0"@٪"~%Ԫma(m^QeY|owVY_Cml_vI$g g+FZnSR{`ʥAa4#!m=޶6{-nm9U9>y:ſƲvo߿ksd?ײaKE#muvQ +֡ >]2Fs [=CtJF%Q\|%͇ u:sAcqo \0iut_ߴdgC3NHUhaoLn_Uyyx4wВOte+(z +Mv{=?S'c4oЬk#;d(]/oߵn]uUrY}׭W)_%IzmRv u6|oMpq%y.gMl$hbHTzKZRbmq BCSHyVXZ3]}f]aVH%-+vBsC-\v,=ERY1frNۣxoAĊ.@{UhUSe9{h~9+|]9wc!OQ^kQ}"ĆoRv؈\La0K[}؝"?lyvđM&4Y$3缺hZGUŜJDogF0w ^%oole*J,I8-ߛG-!0A 5xEjMZ _^˷JĠ$}M7M@ƭlzk+º.\`V=os=9ۘQ: yDO]׃ +0P'cb/ے\lt(T8ʦT@R]m;bzX1%hH/zyIm*fzuhkх  9lMm>s9Q/r ~G+%kQYHL+>J)QArζ1+*c[0B((,徟|  D֢_4Ckz~mӎYs׳jv}3ETVԪ};3:o͗eSۯ嶏(ݩ@!sw2q48 I&ϯmJo*`:Jѫv!1U*]MxLa:@恅!.W$n۽Uԭk[: ڈdxegr`k9m3 &98ͽUSCmo|IױMV<; ' w!f "õ8P/EZ>} slv^o[[$c%1_|kϭljΆ|5-*VS@N)x,GT]C]2+3X!vF}xkHq=#HlG 3 ~Hu0v~3t{p܏Bf~+{\ϛywYV[{P**KͷMw0LNcq4T(vUk[2[EGh7"1&/FUq"ch[:z?JEO2a +Q*R %:t6Mꁠ9Ig[]<^k F}):yzHc!wd(r24 <\YtZx#;BڦL-Fx;8Ɲ(j-X0&d٘jx֓ki +o4OX-8rl`Y +jYb KV^\DA~Hj2` _OMڧf7B#޶Q3`A4$Hy8Õrx[%qC,/x +Q=}yv᫏%YaEx n.HӺѠX&:\ 4Y:9P|ʬ`ս@ ge9ч{p?I' kն{<*pINZ`l$cPL ӧ[!)~ 1_1G[ԁJiKJhq#+q$I9${K "C}SMNusi*(#'6灃jZSJ8DdGNÙ׀iI:TneFLӷїO"3y ?IVWoA 6]΋@\"mcbH%u䆖(Dk5&JjYR9~{Vsypsx  2 gh.D\M-f)Pڃg1>2|ccW$>bTN7R'4 xGoQit +.'SFS{DٍK#q鈭H2oj]z]||Nt~SŠ4)|g93qſ']5)YH^^jѦn=OKH"%cށ iF0qYMc_i_dǀLE&<‰Y y劉vٲymv[TQ+ _VxL'}KS;yle ųڎl/]se+^%SdZ;/ ~08aK%M+RYֹB1- $da.6Q3ԱS)Kgv%be+g#ԕ%B.*Ɣ@ȰݸV!_I7kP?jc.rȤ#&"ͻڜ|3"ɆSUPM5F`BMbGdNp}rUKiE!¯=g*W:zXi) ӆ$bb/AIj"EarpLbFmWhq`j6*s7ߵY>eQKCt +^]V'z@Ϩ۪uk0^7t@ŸM56ty9$v<ߔbwc4krF2 +I4N[BDLA44b8gdj4wftaꋊ:Rpt|38, l.6|Ce +RR"gr`N=QKgkϜ0'$"R1sHѨMڙ!DgZVzs +B i׹;]iwr-&s)auѽ2xv/=>XYHF !Veaݷ*g̪œVĠvP٭&@.HX~ɋd:E.V(4Vtoc}3IѬ=v0s ĘE O?T):[x) 2 asN>/9` |<[P^1qwun0oFi&86 :Ф{E^c?PУG. +t,wX(;,R߯oYE"9:&EidlN,QsRfGiNR[{K3>j9~׏SlmԽ{\u0HbhMH5 ̑ǰzŸa1o7ҠfN,5GYePͱv>P9zFzx{ԼV # ⨦EMK j[OG|bDNX$zs?K(e/ujj_ +oOE8"ɳuPA>B>Mel3^{-i´/qff¸O8b%$5fDZ?UV5,It2<}?̵y)V {)+?n#AUO#J8 w',0[k?$%m25}S2UzJ–Lx <*q_ap u#4+P^)5,4$)&w*uaVX<īKOɫg%Ct*L*%a zVRzY=.=ms&_C?ݫ8J5c[ Qdd:H 7MJ7l+#uY2SYa45M̡CQ]i$ qĠ Ya#}fA"pY9T*E +*%/21*]& UIIl +P]S^h?[%@6ǔ CHO%k'uqmf9|8L |UJ̳4Fp <y8zD95g*0MCy-qiQLv7Z+B ٲ2iX 4Ms(q}zԀT+ 5/3l[Tg. )ѽXCj4linXY*z!c~T1<#pxtepu׏PGUf$ZZaͱ͍AA8wHcZ^ &tE,K3<4?#pXUi51s+\V{<<"<$.'q4drzkHKٸIUaէ7m& d:d hVvl^ɞlbXTr8`iÚ0q!V攒jU%A #0`QV'zKe핗~XT^˘aߋS=g Df݇}?v,g&rBOT4x:RRbit8> DZ(%;VN;LXe{JNb4`tJ$JhF.S8 ~{,~צ.Ŕ'ΐ6$j4[e'3vTU4)e䐱6C6N5SS0Lgφ?o. 0]uhXq 1Cq,Hӡ8⺾PXA* ,{ f#wvҊa|*LQ *Q8>#wT7BtN +|D dӖpd0lDŽӂG$8`mfԜs +D 5,2XUb{Uιo?Չ*E/:ɐ ٔ?)4Ed:%OA@}FO)2puc!8ʚCw`Qkei\u,LȎSHj/7)0.ܢnXCr:b{ԄwDP4XXJ9#: ]jڟKPWCnrw>5XS1X?rmI2+E 8G+YlXOf Z50̽2P3ZfKғ +4#V[+U)% +i^#I%REA 9-BXszq[&76*8bQ9oDZXd;$2eQż%t&o$p8E1{aE!yE3jF>j?p&S<9d으KmEP4] "Y)갏+Wg,JK93B}DU;o +yɥ@qFfy|ESc3ė-Oi5taԟc*0:ii۳dC]L vzɷhihUTe$ݜgfԛ{-S.~+gB#hڗ{N<NQvs0JH䚳1-;8MӟE ] ɰpuA&GL,[Le/.̚멚cڙ1/+ o%0ȍrrI+"FzI"lzȰfXcpП>,{PatCN!tG7 sfsaq x4&9WLNJePZ#֪_R(r. ipszN+C,LV!K3Qe: E@꒢LU N{zKOgbѓ'f!p9_V6βQuosF2x«9pMB3!W"}=NTAmjR%7-G(w 9nOF#\p=MQ0B!2{[%1Ai1ClbS +\{zn'N 3::F1 /V\6 +gm|ՁYdT뜈fC#O3Ȼd&l/n{pdN%C"o<^̡86pӜ5vѓO7VsH{o{şo;^tͰ%7DM1 Bҋ0֓h\&ʂPdALrK0:&lJjq0q0vZ[Sky J3#,Bvvg06<*t_ I˚OQ7WqAPj8E\Dv*)ݰ-m+TQ}ooVX,Xe"èJ9HZue-MY΍5\wl'|V#'S2Pc_TyȞXH~ TkC 58F5NqO?F[Om5Ȝ"Os c #8\7Sr\/Ŧ1'UhxύO GHޛ3IPe;~K EAȈy ݨicN j zz< (Yq:c^ohcsxGӲM@|k %5>}]> aNfs$7mq&b(7/Q& 4YTAR zE^ͱ$ j[ຝ5.) "&R_'jxle4>Bba`|OL:]S," ?Zm^/gў2.H9 ,&Q'0a#;Sg("A_)v lFkж|m^{`[JA;Z׼8=JOom:(^|7dd}75#:&>JFYӨkLe Q?mtW_X}wUچtnhH]as)m 3Lg$0- Mܘf+(|ʁ_wwhЗfrRXoPRKVgJϲpqx/.i(ޢ $nnPf^-.L'lgĘ֠F?Nn2{JKqb Ј",+@S +rsirHk雥~K9EcFⱅATcZi48(B[ %"3DvL,JЭl 9tY h\YϽ9K饵w/2shM7u]X6HF{?\P31hq;\4VH{G1TU6tae3%}^6^&XͲ&QhY [`F/ yR2/6cz4J0i2J,܉Fb|(iv>(Zc8ciҺ#CRWOi|| g"IЎ%5dZ"h˔9' AjarH +QUR|b#HBxMp4>,}׍+ٰz* Z. 0\:B"Hu +=iug_ jANΔji~%樼eNFɯG$j-cZJO3M0"dn8z%}Ftjf _ao2;)s'N8{;fq4_wtvqGd&vTAҷRlXp8\iɟi,s{=2exgW.QW2Ufsj`eA"=Ʃ5E +2=9䀮5AF[ `DFLh7dNF2$\kԹ$W6kOg9DX> $iGGo {>=) hkn E}-}/X+ؠS7k@>p{g%꺒s\yXt48N= `Zd5TҁA+v;ONV7\pPAL:%` AA\TT9 ,;-[]W ŭ xLJ8;{{;tTFTwB1Zquu}X+-y a]s&WJUiQ +|lp]T7ॐN i2ʘp)722Ð-a5TkJ%h-fDۦ~RNAz-s5G[S6ό-ZL3d߾&`$R<<Á(Qѣڼb̲8Ũ12q +\b~X@ >Sٻ bq:&Ig!j \lMR''ac_CyR'P~.2ۍzp51p;XWC*v߀>{# W7{B+Ĉ(4y_%lsSf'ͨ&Mk-pFq,5_`xG$@Wkyh !մ zu +tS0QjeѝDm|9fK߀kn3̪[KC5_(q/rd0"uNRydt~iI=CbqjI:GȤs~~APmnت yu7fĆ̤N,JVluZx l 1Q&rc@g1*6j$0Lȱ%Aύu;:C]>0Yj؜u>όU,vRΞRVq04Q@OǎfP*s-Y#v5զ -Wjݯ-LfjYX sǜg A"KnN[ƄWzؙ6"/eUoYRVi Cvڸh/Z\$Fqi$)I=5t QB|]XXz(v(6ԉXu;t玻:ΰcf=Zy'dz37עA=Q,hnu ~RS`D}mmD2CL(mGpzWfm̤hfM9T:/ax~GY q~ $4UXL\ Z١ X: ;}w + _F# 8<ר3{_|Nkcl#mF MdbniEOʳrp h'!49Dž_H8@L(ңw GtVc8v0{HF/XzF8{%CO 63U(ٴ9ܺ8o`iF˼gci/I+2< dV-sVse)+\ߘ{`W{ +f{/,!2 fPZ]MOi@Nl(ԎZ7!w!:|`;|sݥ fTλv&WOelA*(| eO-킁quM7Ml# DG4픹|[pdܞ&bORRRiísA6}ݑ+7Dǜ(@ѾuRу nRhcEfw G$= i=Ȟ 2Ւ]~e]n68/h,j}3F>t鐡$:>p^Zn nyFg=RDgG1N(wI8$8Yqf>;!'SuJ#ag"IV5i5]@=ˆ8xAq 1;Ƨ-}p_Vzӟv*2a_%й".BNf2pE/ǂdiߦQ>F9bjn#Cx9OᐗNT + 8ҟzP=G~oؖER|>CNġ|*CQJ@IӰ 7ER:glj +CNDeıb}ss3ɭGI_R0}w~CO }k1&DhF+Uk@88oO؁DH P-t4ڤa}T +au)<0櫫3k$tN\Czʅ.ܢ}GTUjkvH)<° }c_DD4uL88𣥗`ES# X}sb7MhrBu8ȠctFfTTYN#TArA&jOyꬥJA\֛\0_4nD/?MHMV0V I I$ovI~GrM'}0]CkraIֹEⱋ{K83 JCbpm -dP0c>r;0y%Rl)H!4"Dm삪D 2geEhO4C7w&-%u6&=7DaNQ~La7^z^Y'χY'G/>]pb H6-Bs6 ꛂ^o-%.Y§֜w䁡lGfFQ +uRnUXS!y0X˽V'򹖜7ۉ^nѰ%϶3TEd{N!UQeq-l)T]7cOhtUN27:xJ+Y6e^bߧڨPN*:Szr!Z.y[o&EȎedF4nZAзvRYS1d(wvђPπ$Sie!ȈWuHEZܩom\ -\˒@5lYNFxzP.Nj JTmY ;#su|)SL5 0oϷsۈ/oAÛY.r[9jj8qrSdη9\(њ$~v;-|4鶁Z3\(kbpG}jy۰ueVg^+A\UJvK2#G~IUhQ+A0vBP^%ظ:ޠΊŪ +f -V:J~ظ] ; eǐn;O;Nfvb*2!$ebd&=!щd[1Kh0=\R@8LS@5Y0)nK3GO9gp/ly-,$X/ӊ`(Zkrh>hiG[jMYT*~ +fKLXiToY>֝G,poAa@RJKl&VК%bݞ6u-[:׊4 &̵ {҈U6&Q\r&2Ȕc$%I E: #fkU}hnuj6TOk|΃s<Bpj#+ +,bA-SUx).z/aC Z#BZ L{IztU/[ΌaNͼ%V1 }*Jwǩpu^]30TD κdR榚4AVF 8k #ؗ|kTmS}#BG +H=TV*|P7.T8aG0?_{Tuu(;'Daq``k릜 +{Jq>[0me,aoM;lu`lc6j7tRcV&oN ̫l0$Ũ(Ot +1,= B7I:]ʲM;Xӧ"DQdYT~=Xo=ǂr$8Vw:/[3ə197!pn`%gQ{mS ^La5]zG(߄Ľ(mq66ZKЁO뮂4QQFP9jpo55I>!gn-B F5P$ydWj LxұJюd /A P[: ,t3}gm%ӃuK ؼ- ٳхǒy*xԀ*|E?QYbmQ.WKYR4ѨZM`$g1Z2,1CD[r ;mmcJA6V-S؇wj] !WQ9##rbe9e=;ԷbVSo ʢAkYľ D+wL)* +¸=+֒2 tBKT彇N,Pݶ5PT>Bh/-o!JuQ<&YBFW;7sZӴފ| op Yv+md"p]CT0Y8YP;|:4,I JCQ鈯9~FÝf 9U+?E- +AZL1fMp"B[L0j1[EWlYz8,׶Pj;^:#MFGM˛%U˲m~ Nܓb*cAqfnP}luOqd)#EuMn[JzUa򧬙L)O趜[YZzޅ9ݼ OaPW yFOq]m.v*pSG`%_v3gզ:ppQklN%B MjQMeoJḘf~:d)ĭ\C :omCy&a^a:Q"b|g(<%:dvK›CL%:ӎޣrZԻwŪyqK1stlgmcNpsiLt^@`Y2nA35dtC@(!uP퇨atR*:,}r!ז$_G\!ȖGI{& + 5)?j2ryM{(A@1wrgR(=>\ެ%K1>RxZ~)Q龠8CHp4aR'lَK[.*bo`lAB9Xi"۬M TEi ֬bhM=gNѢ + Z36Ay;1sEX lઢP΢ D + X4~GCf9>4 4_L)jםpDm8ϵ(_3)*RWY+qԉޱ);,ig150-UФmV;cLUk٧4e4?j)!`.G*A\Eh9l{޶F +qVө$`G lm&AZ_5bNl{Ue:m@%n%4xSD[#>rpg::A[{*Şx,MAe'4TA7W.qWR8iBUnyaLnhC> d>x}΂ +KU_ALLV䥁Y^-,<@3?vW1XUv@ ۽g~X[4䨗,F3 C݂!C~POFp } W+?8}&%tK)m1g$nȧk$q:ڐRM~$ D#*\?E˂EHjH*u UnEMuklJy~ 5^r4 z9HNc+C[c1zS'a]U/<@!—mXrrFA ߽n!:ʣ܈I:pS=43Jz# Ͱ2aE'JfӠ 8b ɊH'JKNmiz/FfWtu;K,Kok~B"^pVLX6wGbsXf;ؼjКˆl|(O5VL&eD{^Dm.վs\95(>E] @'[AO(O=szSgpe]RXEPI1іZ) (t㒉ER`{UJ[: "FY^H~_%xQLfP=y' Y2/0{n#oY{MSx&e6G M@L~Ƥ˫[S~ F:RJ~h_(%km}+A5#_4ek{%/S2O-:}f-`@eT)TOpE1Y&>nsC0 >Ձ.ɫ!Ce&VTe; E/_6?v-Xu"֍6qjޭT_lGljKcA2/Y͉Ri1Me^qәrt묧9"x=Roji}$E½7" b@ 5vrJҌ_%zzWBx|z)B:5";{|C ٔ?Ci5Oʼ KGθ˥CSMnkQqDB[\{iRz+Q +ȂM&R_$J0S MTI #quz˹FqP#>ѭ|ǪFڔ8^dqJZmt +su S'YkymW]-yJ15N6m٧R>o޿mj ͉F[WvKM peVil`fmx}LBDPDyS,EkjMv4Smsø)nr)Y%1ON)9H߷)@{xӧ2 ˆ²UQ2a&@GjѮ2(ga\BZ2LÉ9)\Ox[-y~elGWag8fYF}涃C{Qm 2LwDvˁ},qY0m:n/l=mrI3wqC.atϭOQT۸`/EEsJ7N暳B`y5![J˺vcoP5%1w|쯿o|BldVZZ5UikNlERa:T٦xL %l&PƤ-^q rڮbyGi "tMU߲i#F&*DKַR'EiM1KпQ3E#FIDNfs**ZOop1pw٬RN`\ޚMj㓽4o*Y/Y7%V[nDxlmbo'΀-{j3+9Q8Tuw}Zl=V8ڍ!R@nor{"'[FԢiG?d7HVPB.kCtCh:$9#KAY7k]xSMGu†eR%^-wzEJ{ldÿPk}?[zCH簠ފTӱVJh*u5&S78Cѓ4ErZy(VmciIdžλR*\?_?o}|bN4n'^_*lvMQD5,[;e#4~=-&頾-K!ol(dL6H7AnVvުBmkcl3YN~)M€M3e7J|=RmD \45np5:^kTb=n o̗V%@-4SY6r6 +̍eԀWi0.8Kj&nGvSiYANk5.4e8ʠJפf:;#7*s Noc7z9R&jrdfdVW$,QӗݾuٱQB7K"!|TbǰO[kVUJJp:9co4uLn V){L;G7#QcKl._zk PN:>* LcQF+}G%|ʤ~w*tBҾR6FjX1JF%eʆkyަpL;X|D> l˚anqD;7 ۺ[HfYQg-_?Ƙ➬eB1ydܤX3i3릗D)c3|̘zzZaç&QO4ؐEl +KSҮoo_/ϗ]‹$}\˚}Y޾ؐIwr=\a-AYȫvhE;򖿒`49EJŒrcs om_?RW7paf|aR,jr?_`:Tϥ(;Uk#?Ų,Ux RG'k@Y0(XJV _﷯_yS.gL|e{>=i9At;`,ʢp*>5{[K2?PH۸ xYU`n:^ s+BKFoִZHoG'm[g_^u'e(.D{X~ly`Fzo5"Fwc;b#FZWd>⦒?2hCOnkEǸF%42lnM584>%16P5+/bݪ/C#0:kOfq+G>*g%7MpTCIm{[ +Zqb^"L mJp}J_n1%Kk_3R-:z85yB9 So%Lc/~%O'o5zq2T O< ݆J +AJ~uo +HbAm!b{9JEHVQ>sz}4A;qGa7bCFbYW(JKɂAp=yX 8N1gHQ LZC v*@!$HVٺ1 gI$(l֘f-É2,| @R+{wh6`"rp 8 4ԬdάݗDo\i+^VjZڔFq@FZhikf3L LNyn(O=3__Om ^y 61<[Q?kXLu'DgtJEŌ=#CK uU5Aˣv%*qgj<usJIw-3Q:'f\5MV_ՙ95v8x=uN.rվ*e,O +*yiT)ԜsyZ̃%Yut៳_l-, .'SOxY`v̟ 5mjNzFлUbK cۄ_[cJ-a,LpES Bhf!|_ؼTϑUwFN7J]xDXגPLÝT:b5@ߚR(j~ +j'KT몲sqE%ˣ`l{ گTn.Mo)m Ee!H$aC= SJD&KڢQ"2đʏ7?!Q̦ð4'|1}u2$1~4j7Nt~*2DnHȥ{*u.\6雦)KӫP(cEPt5^- .Y7k;TSꖈ`뿷"JFiJpO:aXuY5j{u/$dhP VfeDH/p'Bk6q"v(D*jqRn$PkB/WV+1VweD5>댣LÁ E)U# C=h`NSM^ i%Sۘ^\mf xcyÁHO50Jقƭ*޿4ϱh3XS/ +a0g1LmAFmjyZ{%AfRMvAFζ$11~̬i>+7іCИmѳ2]ĆvTN֝-.UUb]ܙ؄.6Fç(bXm/FڽADxl:БL#ξapn--- ջCyܭ޴'_@΁9DJ7}wQ~)}逍qB !Juwa ϥ JB ?LϹMއ\s뒳|؛"7ц`@?0< e4߄M3ˆRAEQ edf]ożWQΆ9슃,}Ez@5РƔ} k(G VMt0ѼdF1ӕ8ߤ3CPwKVwϫ}_ɳ:ۄ 'o=ݯY}6,@uaU`gU=h 8 5tW)SW-۴je^Y4!L'JgB[3M)[>N<OdqDS}|Q:HW͖)g֣ +F tk=4231UY; j,lw3Ҁ&#sZ#өcGDz + BfBIvd21O<"Xigro\2G8E38S#&olRR]"w[eVVl%YY:iL): 6|bkk\6d49FHH_\ =OrdSp`ӎ5 %ǤJ_%2:wrΝ#л 27Vw˂=%̨m5Z6 L?ce$KU+1W T̀DӴ;߯gA ܢߦ:W3yΈ2RJ$IAXxF Mfy9g(GSJ VlQ6+PĝsFW~启p4CؓB4h|sT.V-6/NbNOg{;@@9Ŵr;'SYw B[?եWv0RS"LTe3.(%Os! M]v}޾S#ybn NS;IqJl}tNx)c{7~BeOw En.[/('iLr:WD7OI$隴|GKhpDZhPQ ՈֲcޙihRπ}eE1᎞tͿ&CxABC6һɭ&p<}#Cƙ.\ڼzv4DI;p֑#+' 0XrCPDb a59w^*Xr3{Wezׯ) s:=vr`{CS8Lyꩋ]gA+ sf & /"r;3ݯ z ӌtjL@m-JZ[g,_tIN\ULDz!24EŃ@،C>x`T5{o!K-nO@.^TmmK1MԻgθαʖ͎^6F)<:`GK~1*q$bFYų{wˏ/ 㚽F6mҽeS՟cG +XN +L"҅OQ+{SAd6<<@2x A귶DA/LiA4&x/ +,оv2>}N;I2?S\%e0̈́ں٪C "!49AFN!8 HTN0c{y~ /;λ>>&;֥J?ogKz-^RA8A,R`rAEp:,vbg~4 Wpx$5]*GR;^1|7~03P=l{&mHw ֡98-Kc>N#%L1F眠l":if/ b͟J)ǖy}Uҵ,^g0q(agFSArk`:%flg8JZ;CtF~MI;EN=9ز;gzus3uZu_W ;*0M6?0k@i^9 Z%#o4+GCrLȬ>c(- {MZ^!gff 'zEj:<]m_Oblaո{\f)ӏsXɖ_,8z*3ƌ\eVacƓҊup)5Uog!Lz 5+ WRIOp~nN1~Ӯi'尣.S{b$T=z nGeK+'_.qpKY=6SxIEi(ozܭ)"\:eHq)[axtLkz[oD^ \t>Ƚ"a5 M/cq+yi3%U#Z{CBĐ߄wgC&cR:w $`JF!)UzC(2.L9w6xUcg G¤x>}W;'?`ٔcFu&qRnڭCMnz&وUQQ=bgEt&D;&7ٷaWO΀ 7Sfx5Mة +ukt7^S1)GpL^e;vɧi)]#]˶x%MgiX\ĕI!±J8GHl`KQI 1-,>! .^-)CMe ʣBnZXLsg`'ZJ)&#nɯx͔s$-zb{}9#^;UFa5{N8.3Fhk\wĽcO`40]G& ZDU>@DOt:S8.b Mto CVۧ[RH̯Ȱ3> $~[nb\φd=(Y ܙN-Kl_%jRS郤Z&u)KXݵ5tlBTu_Ӕ1dP/e@5N~mV{'^*UzwѳnsK(JF$9,ЗDˎ!̀ϻ8ޗnCÇ:{n1F8HD׎ FZ2%ebԷеE ] +@)uX+s "j/ä~% wAZ︧m閣Gz9O j&q D'>+-K(Uy)-}w!J*ڢ]ڬ$J?"p^9Mr+Ru}hǣ)g^`qj1V#SuH˹)hhUfUu i#'}\V~d#;vOM cnM`i'P).ģ.?͋@\\\ Ƶe8pirt&ս~]Im..sJS8iEKRe NVCҏHgf+oV]zP1 FmFt +AF{f?,p7]^ 6*K҃!w$o3սy0,nwԜJp,Ͻ"(!ꏶ2Tۢk7+:(!؀Oiؑ~䧣" Zw|*)*0C+9ervOG~?tslh#7;}pXҔEH_#8/\p;~e.{V+7ڱ؂pT?Z [c'ZԉA*\",\kg=J;_WD+ި04/?FR!ϛx=ts?&B_[T~ TyNV&|THc4WZe$?Z$Z$lUoB]&K_ZܲCojU4`'wx >}i$؅2<֖jۺPЖXGyyB>0vdMۑڰ UQDOJ,ϝ,f@ߏ{Ncd´-">ń5(#0Ԑn:Pw_Vw= M^(("T2@O|gu 9q9S ex+(YQr(\_}%0j/ +^kZj2Af~~b*ƚ?Z5QQL\ V#H ;>{1pr-`{*`cؒ&@3TLt23PT D"9_L~cmM(R Nym}j(R$ +'LvT,A(yܹ5p`FվrSXMæ6 ~6AѠ1nlДܹnuihLca0 nX[o'B?U!8bn8z0HKY1uOsc8S{&PQupEW>x\0?wp7?k/k^j싈++S]ǫ߯g w W6f!WZom ~ހOR(`tlfbHpsuyaIr ep7Hu+Qq 8c; +OS AJۆ|TZr9=]NHߐX[> +.ùp͌zIK:l&15 BFC|MFE}^^"CQAՔ!WOG' `4ff( ɴ:yZ8n^7Sť?=5 +.152Ia>x <_<{ M +Hr^ZJ݈?/(YۘMs &֠ϦLF {佀EVκ{9Zr gpsau@L"W{S3m`f00 J ɱ08ycto,@Lcӛ#fs> KQ]kukM]eb U(CR. 0ȼqb!CoCPgT%bq j741C2| VM!/:PF '*Z 9m%⁆92? t'@n-OX,у/ +< 6N'w>SBN26ob&,[ޓg@I&۽-AՉ,䈐") u\Ie*HQoJhЗca |¥ъ~bWq*'5[әΈx(_KW&A)w. *eCUNW}"Nn Iޡzw1u4~F~oK-XV]I&Tc3IQ{hy-MlvĖI>w<8i~1=1CD|>VlF:~t Wh/D%tTM7T ϊbNlmijigt:L?GPHbc'(0d`Xc[-ICu/\>[&aOlX@X+Ĥ|bbź Ѽ,ݺu=jVײVWeӘn㲊7CcI]P 5[bJ˧^Uh_>7oQ,f'))rIbV 3/$v)z8W3U$ͷ׸E骦hŤA)#ߓ}9G'ti_lqF^onRrH€/%"^ވ[Tw%XZ<`?z'o +&;oxyG9]&KETsP `J~~,C7L(ipzɒs,6l6(p R)Լ\5fbe +WD>/)KqHV%:>- JGF wc6LϠZcAIկʩ ZQ?iWN`讂“,ŗk*:QN{T#Ϊ};b݁W~zO;7 +j D6xhnwS4{jzXS*@UJ'L|͍(`G{|zqDp63H Ԛ@I;p/KfJg35n2X 8|04v*+2Y1]&x>^TNc,%GJy%~Z6qrH$VpO Lj<bC|THƤ c g/_6G !Q;ikT 4~2N;X^᷈T& +-+PmiTrUMnKxHDXZ#L=st~.܊7&x?stK~8lG +9lZo.1ʛ}nweD5(^(կ-}P\YI+3BŮr9hhalꟗ)7!5 *y' O fjih8Korud &)V `NP^Pg +@e؁LUQ_!djcvxUFiPt?LIl kns$7oBmXHݘ3'(%/SΓF.QMp;SŰ%Ws-Okl*hukjȱ&4z-} ?JcU@9G_/1\֬?.PPo6E Ljۓ%tÚQTh90{u:-#PECBXqԔa}F S\l8/{Euɨj{895jdna|dIT,̷_rK۵,,hA4h_IYp|)}-9'Gu}J[DcG)+6ؿ BJ˦q;>yx RlS%Ktf- $ptiRçr ҎΏ {6m6 JLROL\3|{u}˲>s +6dӯms#ǕTsssڮXHf*U/vOizzB E DvO݈dqnH/dKc\ +tXciOTYZ@$<~cT஦NrwSL)54Im|1`Anaw)g|A6(.WKƏ}˗1}ԉ n\J6|jxf_o˓Ǽ5Ax,[yj4k+ח[UKaHEtJ+7\q3xZXm=JPTIY׌Jۂ9 + +swZ;UW~aqK|j|R͚|V>-Ycz*ydʠ/ +A`bT L*SЈ%btQ(naǤ9 wm#›]0~4HQ*啡p{0W%[rTK* RRMu]ϸڑ.e[qx KYdʪ!3,Jc%bM51fgwZ&I>іz^bE` Z@<5+ -4I5".khjjr`ɭܼ糜֟H\z <;r-ZpJ[g|g4LVTC UbRe x^ XmBeSx[N_X֢gOjGW2:2Qw@Uj`-e]P3wGV$;jY65='{S1P +iwx慗k t Vu8g +);h@4Du)-m$cђZ -Iۆ#$Z2Ģ)#Eg5_{,c'W\ijZʡ<Α0|Sk{Rt: rvC>povUNX8zᶔvmn!vTB#bZlA#knrs٨<=gz(1rr >Yr򔴔~*y͒؄Ƈ&HWqO'ݏ1%y{v:"3Zp{#puٞR*g +ə)5Uן5`Xi +n5yi/.Hu8]p3qwnKP?6 12/nH,*=Qƚ3!?b~/{Gfg˽Fk1K1T:dS擩E?Fg+bS❻q-\ + +$V)WF@G\#qnF!UƫX4E!mG޶2~3潔=of*YTcd3l>N!G(x)l۴vE]<v'Į!I0 /׸#5?hܻXMn^}<={ nן?._Iu37EJh*?pr6>TD\ӎ *;>J'vz6*Lr;5YN, +%3`Z^5y<@+ CMcli_…P~GMY|eէYX%7ee^ErYURҖFmBґ5)>ŪU4ܡ%8xۑQL_Y)qPU@.ZEΣ>޸U|FK׭frzzfLџ?9S%<bJ%s>Ftq,UlD[mQqмmvη FtwK` +?n5z-aAi?o+@R~]LGSmDɼQ@z/r!ionHˁX 5bbd6km{5O#E1AAn5 TTߗ+%(9lI`La7#jZgզ1<ѩ_kNಮ1%X5i0A=q2Z*&~k`vˈ84u|\ǿ}_ru4MMc1"?_o//r|2qJkP cy5([z]qKL3!ҙZ^Z}]>-%ȉ]?\rl7i(ñrĺh+X.Tn-\V H&R˭}1m6tjϡ]IvϹuGfx36LsFد0kf6c( Gu+^ XBtb--`m2Z5GzHAB UՈZtש O!N 2!8֨ꤱzڐ +cMDɓ@,$RJ lh"pOqy?moޝ/$9%k}{셷Ť^#!rRɾenL5P*SYѝZ`zиխi9SeN/,#~PRZղA1E4봳(߷k"$jy%d K_Kh륆5a}b݆1rDۮzcԷ4Yَ)Џe!Sd{ zݮdЏ>Z)CՃY!3D*sY (O m( +;S9)/kJ3,}-\؄үM|ƧrIK6TpK"9ԓB޸FAb*n +ຠ1N_  .bq1ލQ=i6P@^Pc$?{ȭ3r7u]/c*uU kCR #iv2b񿟾?xt4Y:;"K 'z7̓k~ZY[mՑT"e3 4S.n(}ZJO8Ղp;H||دk|]ךP8!;^SQn2v<*~bQtsg|2tsMcY[3B R>mp&ɳ2*% +0dϜrRtCND[(E?:9@.KtɴR k )eMMj~gO~r̉Ɠ~h=i#k,q_S]ܝfָ1;|V~TQ+eE_W +Ѕ1 ]s-(gfE4.Sky![,Ws#I^ O[,oV 3Kӭ1y6]E81c^fi9YыH|`[2R]}4\&diu| I\=fI,eP- MrA+rkfGMqBefDiɽB*8isu;$wSƺ<_Ut"V0ԗ t5J7D]tdq+_e`-%O[ɂb|8?SIjf4^b1~ ^קgҍm0&?kҜA?Y3h5fhKt&pYu *c$zpSkɡ#2$ ܝj hnv)bB!)ܪ!s{P\\sWB"v7DW[ rz(`0h9[nI÷A+IxKhDIȒh M햚IY,^vtRb^`uG S˺ +jYʜ Y<2M~+R(vFG00"Y]#(Bqt*CM5t>&T 5{(ER& Ck6co~4qo,KrL=BȨ`ء_52RȂ,7WVI'cfZnǐ`h +Z|CC<)nݬV~P` ,qݮCKo0 + 2L&&߮1Y lwVrOC;e%Aj',gyC%9"r XH7{mt'L *Pfс9H;:=(FȢ +KXκ +5f(< eehDiDc.%;8ҩ ǝRhbQ3OT5Owm"z Œk%ػͨPGˠ* P ĽlYSYܳWK4%,v>m&>r;wAbyg9fҒe^+Uz=ɞYɛ +z)z::t3G[] )$QmSweP*>cɺVI6WLcײ\7͍9bVɔ"*4-MBPY.gFlE=ٸs8?wȠ?:%1(rR!y ؈{4 LYiۜxߒSP R:2_+jqđ!ٛÈ~=V4ِMF,] /yk`lRj/1K?TqMV^ѩT81qӺddtF/9SW)y_1;dmU/!DjʅWP8xH;+V)n8qtAՃ/)uk1\jƍQ-ʛ|`>e}hWR?*T;Կ%x +"{e(VdfnoLpL _zR:D2N.}P f?y!Ѥ\? P)`\Y:]od8 +n9ӆEA +5huT4k:a8vv=5!f$F"hC^S8Zlus#fv~Hpl/yf]~#R%`=7_',´tU*`egDuzvk5"cSԹNn.qa:rNѴ`P8(US%p4QM+,0 hc÷i$1!5K}a )No+BUȭҾ8&=6T =~T0L' +/9Y*.ʼgԄiD2KgUܻ( ?uz +Y=9[XX͍\LII{C\bZ,k 1g۠GFO F۩ ^"uʤW)=g`O d?A9H1a0z]()6]-pNN $&,OŪ^iAp޹N.Hߝ̊)xf{<2Bxӹ]_g Ͷ"(285^ $T瞦0`9)([H!6B48dB^z~K-:xa'F<*a'[qrN$p cp`-0Mjkbd5(Ǡ.nÛ1|4T>zȝ3r#,Y%77SP*4mb}abH!A`,+, N3ۦⳍfd%Q'<粋w*IIdf+5Uo 'p٣վN +qC3b daTօ$2d:'/ֶP%Q[$ 3"E4u &&!B.}/)¥{W-C`6K k$5v'ld+$@كLZ-.CڊKUW7}h3_^T%rmuw/d8<"p.X pz٘h/qrfފCÀ0BPSj +QfA9NX3gQK @}H."W9Z7KQHJQzR= '&z}MVʧ8vpQǠ!aI8>SnnG}c)1eRMg$K9\R;InJV( \+nAz<^Tp6u  aEC {_O.P͡Nv(َ!!c:W^C/sD{BQdhƓ*5u?̄>a%rjR4Tm3z6 jh5 + N8tk]?@צH~,gzSo65ؒC0נf`d+Bo2eI*|Đ $ x^yMA +n%C˹9W,-&/6İIhKJCeKטaRTc/hZ_6D@[`=R)R7;~HjޤSTUBx5Ub04Іѝ!P81DUdywVb6Uy\]\l2Vg.e2z h,Z0cG +k1':UG50;L~*E}N*03U%o6Ze<}( Uo؈e >5L +f˖DUKj^v*|[~'cq司=ճ%go(s S@vaVMgWQ]@y%on .`Ut–P ``Lmetj <-hbLYS.Znv(`k]6M[]:0*ӳc!D)#9Q%Фz?=Rz$bV8jkpLĶV䋕tv\C+>{nxcJB1{2J [i39zD!L*ikm]CwGcd]g:2hJ"e Yގ>.bUqLf)h+cYƸtjAJg_;/6D. V (pD- :c<8mgJJ`2PBQ5*- +u4pM!h0L{6f8W+ݢrˆL;KqYɚ)#XQXeȤPCfGqhUʋ5:r!^C0ʝIΗy̸6<0 ZoD3ڈ{أk/mѥ: zĨRu|( +m$AMNfjS9= By_1>cCIC9ىv*<iq(9śzO0󵉦0j U¿$0fxϓR3 Є Ssk{d4jtirѵ`ѰkC8=! L'=\c9>8/_ ـO塔Z@ U& QƤw5g$m9|暉 эFN)bP-g)P9V:q"!GC\ UZ2| S3۶6WdX[ $Ev?rt^Cl_Li8&[;SEnIt3F?V*D0hӦVe^&>hi?ޘz~:gE:4̣|q?ǝnScrlܝep%0}Xn뚬DH1|Cu{uAV=n:o_#1wJ=d3u9^9l 'baDvv&eH#N9q$!X)JAV0pOĪNvrV }>$ٯf7No'܅5\2vaz Ԋ$ݨ;1m` DQ5XBJ{9 Y NJ[%/0yۦJ?(" ;]cL. /hz -}QdNѤ׏T4 u8Ā@!t,{zzP\.t㡍?4/yw >Fܿ4ࠠ)%;yўa^Q 1N:}p*'DU9"K#<ӞXX[)@c~ʡ蔮1F[p=rL2s-SԨ}4|6>H`F;r/mTY#3H81)v֗B1j{ݠFʢ~/:'XoQSd ?p>ū$>\tܱwh#U؁i5-dǭ{g;0.KQ),b ZAjϚ n2T#T=s\t״vyo>nQv )s[x\;Z8踡B|e\#H +T|k%B + Z^D+O7؋o رzxOV}ft޸&wz_z?)vuIOtJ\b1 ILcQ5epN ,k[bf޻LP('BٮxbrDWG]髰]j̐1-4oPdt'RP )EXlO^|P<ޫ+"nȘ_Ύ Gi7M?hxF2I)Vyobf?z~ R*je*;‡dPn]N}7;7 `6  Ji# +%lYN0.+!]3xFiEjק>nۏ&Vu<(Ёxiv<8&-@ Jh t<0^ﻳ;fdəE$v7C?>yRg=JXLxUW,#d@HÀHjYH4Ս=YulT*P5\ IE_rexX&A^:>Ը[Ü/ K:gS^F֞>g(rFt_#>V> ?NJk@U܊@j5aN岹bp ֫d5mUx9y0EeY;O KR^Rִ4(z)0שL5k)NKYR & ʼ>hy m^"w[s-!%meؐUʝq ԑO{KڃxD:qA4c[khy=DlD1=twb5j\YllQwuzfX7Hjb/n{ +[ O{ɓR  (vZ2i tlPd2MꨮAǕNH4eXyPQ8.t~tkiZ6Ytd,r|vh t>-Uߙr?I C R|>CtC<.)xf:@AQuZJB AFD8'K0b]``z}G-\UK +㌚9۹n?iX?*{c߇*~_@s0`%qL 7>-V|l{Qm&U 5mc5S;rD1'DY'v&&|$rSNC!3n9xvcu4P:L f8u;.k 1Yc}^.Ti+e?n} +YϤS/Yކ7=..1u?8K)\MGG-Zvt _O~2W0rj^*mWHR)Pih+`.\_jvBlDSJ4 +kz8,T}b8 9 +ώxh#|^u:cסW-t`ؚ^};Zi;] =sa6O0˓aZL0֣~kFc!Uw! RBmzGOL{L\=Ĵ+i7tя+(pBh +>iQ2='Sl0P~M\Pa-fa ߽uԍ̂v:?t[F 3 'i*5}¦z50K)1*`30 'GG1Qȝ.ֆ|K$Aa] C?ꥎ>dM=DQ̾vudwhϣzig[3VSd`E8K/QHg Xq5 0e:̡D1Eі[}49TZX'fFU3,hVuҖ*:adBr~ *0, @=Dk=})vJ^KFTyös{Ky3f9[[~p}Lv(ZhW7Kbe+̷y@w: b3?,m|QW:ڲcIc;8ZxiVc6AM=VL+ؗL~S>W:@;\txSg `4bCl." pLHуTbTaFt*m<=9ki\'F.8B!Kl^tgHt搫pvA*nHu6Ҍ?~g/z.p +=Й)ހ mP\q? 8.Mרּ@;Qm2<\ +)xtл'FqlzFL9q&R~:x !כEzi` ZYYP`nxRxkߏ4FDwUZWENxM3rAӝk״kq$#3r"lBN&j>tZ6IeLTOvB,g< C[ G Qv> W>S (f|)ls x*buMF2[hp;`w}~^o>jyl;N]|!T:Qaq+$]۶Ahv B|~ǏGkr#axގ6&7]#QO+~Z,u$P>A$kAT}Qo8{H}n ӿak1cn:j|%]r +"uxx+^Ί^|8Yה{o?xZA#;(yҘclvLFn;0E;a( Pd(Tg }{9Җd>j^O%ƢIhXL ϶ +ajKlX 4>$jQ)ɼ\b^"5iA)o-!nKM؜mY^{X{BG4wRǣ&7^r(]h V-T$M@C֘F1B,(HQs fgtR^~,J"P?A`%ԡV[t:J_O| -]OUc{v QrX,KZfkQy{y#S4$S( qP©r Ped&iDUFz:PĨyVQ91>_46HU!JV.8f'w Jj-g3l PAMicPJpREEvHdjYCVgw4!sV.spCw +p,s #riE* YwL]kw3SE-UnbҨKx*cRruXѫ (``Qn U O /C;GyAC,hPgUq. NPZ ) J-'%|C9Pn!$Xi}w_@^lh͖8U7hA4 ua//!ARrC{15NNisӷԪ>ͩ8p]BksjѫK >[O, 'Tf삚~ +>#*2IUu+*H 򡉌mJfT3 GnTG[ud*zW>N>/iSFeUrE_~Z֧BOct*{7v# XT¹Xʴa4q?T}5GR9 Ӕ8Vhy;:{}t?)t1m+tU"iJy~@Gh~#{gQ4Si|xRͧZ5sPgbpBsj"aF9.Ulr&E{gyI<\#-x1aM|$$D}\&UKh6VkDMQ J,'K $֘p҂')-)ӝ˖K`%fR;نC1F !H(2ct!kjJ'Fo"SQ;=II#%3Z# [ Gs_x5pMl!e}.jUHU<>fp8vr(~c_*=XKdUgQ R._IhAp++z3t;Di֓A Yxp =9=1X1Lp86a/V,swpz}8 }"Ro5`t )4WȮi[:d;=Zb&(%ڻgo>aA7/! tm_0hꕠfS=҃9Ӏk!Tg{ +>Px$rd]L%P rA0u 4ū:RT 5T.0BIjϠONɴ샑oCgVAJuAl6XEū1s."w y?'86H7ĵA/ A#=YqgZoYʀ7]2ٴ`tn* +)9lt aY'.X*T9]F#MNPG":olBw1L56#S<:ۺ˜\AgKAzUL EҡC}[t5YCu!]jd8ektQP:\ySNAPцQ]Fe-"{3tJK~YJ"|2oMZ'LO3; 9!)JZ4N1ibDb Xh7Ve4W;wscr>(874jrD(!_׮^0p;bݜ!2U/^Rr%k' X{I5p~\ٯL I1턗\lpjT`;B4y`A;# VܔE~ n;Oھ";6rB(p|(/L'z1F7pj,qL0Rn0R:PTRљw2-)'͍J9Sv_a#Θw=#d+);+D0e>Ns={URnV۬3?^FC޲W䌠p)nf݆*Nf| +i NOWYJ dNc]*L6ySbFm+fԀJ +Ď|,-A45qjT,!5ţAcَ=jtg%sij5 +̳ho˸1Fu-L Ap,%5Ǚx¹L~Wol(wm(Id1rAca9ۿՠ& a<ҋDGPD'6%k +Egde),s +BrH Mw[v5g.qjWk(EH Nc#\VI&'YK UI EL +bDe沍d޲$ 0F- (vCA`3bt +X8l$'8՜ (J#YN5:= axM{rnPquJ&D&z/H"%FK_0%(kR9j;o _%mIɣы|; =M +rfUL9WLi쑠Aƙڴ/uɀ ZTȑ.1|Rfa[ْai0q-չpp ,BڭuQ$`3.buG +h~xDI&́hy"ύruFYNXcJU3%2uO LX'1 {Am^7c"SqH<,L45d!opQ.m䤰LvlHsKf?s0Ȃ; }s4/ASG3Ĕ,eОw[l(9Op>{`d(ऽ_FAy[4=N&0(nDK:1dl)5dm1^2k [A{tw%N i|x4/hLm3DT2 +/.RwL,m>NFnPPZoՕv@u: +)&j`{^F?5C +~(`Ӫv^)vM?N^oę0081G+B5PwzWq%xȫu}ŕ:Oة܁ +ͱQA}Ҵ?@3+W pƏbi-G|/+ޭjղIx.E",nQz8-&bb3,vi:;An: :g۫lٰvQ`45MQ:Z,Uٕ/zc!h*^ +KEHZ_-vQbG@REnJ[O"ksMjpW\c']w9) %q3(pϜJ֑^;%K+µDjy'zW%4cYU&P'[Ъuψ@@ʍf$F\d +m[s\U S͘ >BR И8Knlj_Y"8"F㤍ZAz63*\МA)kr̈́-_JPh[R>q~h׌;j9[9ϡ jx3➽Rc:ΨjNP+%?\W)DQ#d QbW0fUjCuKYSH!-"gϼz.]5vdvfT +*Au3煇B2aZӥ֚9[%U{ UwBVW BB3Σ f;f&E`H,x/rjLc"DS0h] +@z"*Z⁍9y۶n,,n!3 ɮnUN"׸h k*dm,Tjt܌+V\}Xw|+$Csg..&q^__-.[S-uhnfٸujG ^{s?~L1l?dX3p)O-%)Ç9Pu8b}E,BZ~$ە0qz?e,:[-rE3kuН>E]Dz"B'N7OcEINeib"#kiT=w="w _YO~Ӳ`;-zoɯr$ h|A,oa{RdsuXŤmM%a~\o!mFVT™T)Ɨ`A˚}@SͮJƨyxblǶ# +f"wZ: +gz" ✖Z-ʞ_>0rMg+D:d-/xV%@PޮꦃjΝꐦ[v^p2m:צ~XL5h"Lkqq̫+*UxKu[^ff'[hTr} i[>˛mAnRC͏)?.8#ehj {߿e4AKJ>=wTCyd(so6^[==j5'7[m)3ä:bim}jE= iϒsBNy01GP\SX.)TR#iX36^)G' 3'^ _K|Zt k6h_kms6{8aEJ,+ZR鿨,2p* +'-TI 4t#m%RA5PU6->6Zc±H^NB  )GMHyxc_k/7̩àԨqܪ]nǟyM `= o,~{L#׹B1]5qkL]5dqKUM %;_9fѿ뿾"|r͡/N|715{ }U&$ˤXꛖL?>#f8k#>S{7}~뿾b q7u m4bƻpx^_DDPM@ʧ`A">2tB N^.1.LI\,gN+Ji)ySQr+EDIU㗄'EK}doh}l/u ~}'HJi,)^+Ui "^JzOӿTwcM7И2?(d73%q{پ.g +E]KҤ],$3YcJ)YjxJW0N靖&/EwY?ɴy~c&RyA- O8f?s-oKsnNM + ޶k|_x +ZװٶԬTlML|xyuiuFw&ԯyIa=ـ}5fK"f(+n` + +gq|ļ?AYbxb\(#}78z:ۇXUb iϩv)ϙzU N3~E bZ$TL*5kjZ+%Ws媊=r.y}i,&3)8栳Tb(~nhHnYu+kϹ'd +Y6H붽ҸL9fv둝~BSdױabYBqrpyk|.z*yy 6\u)&-䵘(LQ6{`寒^TFqak<1|Yך,V?=d:M~L=0|i^%Kn>SϬj <)u__)cϗ4Ix.YN;L\H5O9R֬WZW}t +w-6o׺|y-ݨ_n/N +bNV6ysSi`E򴬲XR|B ^e-eq!+Q ZvLUM!S<띔9LMztaIP+5 -u ]e) U +CkQڥ\S923[ + s<5pkPSjE^5S^,yEYd_wXFVwOhoGJǐik4"U![QU]OM' {,F螡E-C Xt⾺oTRO5Jٳ2&>,`hQKZjB"dQūGswLVFL񯛻fQ P޹A ByI&JP[rK^Ca2_g%7:ՆP;<"R-sd{evo#͝ƴh6Oj">oU] V]k(1r?!\Ov +[3h~vAفia2C*?TR||BV]C-IWW_m{mu \^7W}ʆI!RxN 2y&&IZ&CzS|@X нaܱkoL䨚)W aqno]ʎhz7@eB-(A'˝l8J6z5Io*Ľ:OmL+dq^)6$\fV{7WMSBտZY_Sa_趐p1N>N+)h hOB $ [⍂ePbLůkC"_xDϮ8jw:SxZ>ƨyk¬{V` 'F~Sy~rRyݦHK",2`Fjm$ĚM;U6؃M< 5 h Ѐ[N:YPuo3![֗#C2Mdz"v5ѦЪZP|UÉq zO,T Y;wVcm_e>2Ο?w l}c=n*g) +nnoE \ +7ƛ܊1cBD4rpыMk;@xfRKg kP^$:?5VƳ >י]:D:-'rD8J'P4vI`$倀8Su|i^&uǃ8 G'I5<''* MC{AϜW]&xk:(B'l䓺n|I܈e{y:o71Md5.utdj}цͰ^dւ j8檥ْ6\kx/`: xly~L 'H5YNXC +90hf`a Ɵ*SAV5&WX(Xr;;f,E×t參&Nvi?8jslxt4 -hS=:qѰe6'!vBV]|;8D:uB*W× +,jKQ[# L>uw Qdֻc3]#I&$!IekbrɱNRLRodBM;ߖuD\mscTA-8 J3MO5aEp5Xt&7衼Xr -MPWP "/wP:ԧB*㣓nrj]Qtjt2 g5 +b]~~N"w +:=xNnZk[δ[iϒl6J҉]#u#O O' +$ _&ɺ4MM\༁`/ߧ0ܝM1̄0?{oF<ɔbv_bEM 44;(brV lIzv@}^_?E4w4@C4z$` Km[rp]I+mD$n"îH` ff{o3GZBv0/ MlmBy[ MrH"&)'//E5ȗaG>t}ʯ듷hM&МDckSx1ױh? IPUt| о%T3W#Ekfu-~ypcOC+SƬCsTJE*5:=?L֗+W.nI,֭5hЄ8p6$0󟣪#JLIփ"+'h2r&E1ia`_+$TU#LimeK;r3A Ww= qL>Wbo\@w2G*Bc u|zrҧ.h!S0 \k^_/;%e26vl&B71f& 5!eh=P%+ /^:WPMVSfB|;`-GT>+UF#;7:j] Gg)@?EPCAv$523A4J!fXdz-XWXL՘ !ɝ:+wXnq<)tCӊjōhù^}h~U6?Nzɭ#%\p$`3jHXb|%y}^_XQ^+%6u3t_zo6%$"*єJfц02T=Vi"_I$,|=&Sc׿vr!*iq8'Wj"e8 u5)g:͡hR,օhS EY[kː ƺ4m[/%T/>Mѐ[ JǴPU|i" 0ߥ6iFqIFg;]D&R-W[rْ'322yi탩^q_3MXa1lKzJ0s)qt '8Q=:nuh'oM0b ,Zdu}skƳU;pL8?*N(vU4LN*au&@~Bh qr!=mTf}}[^`(oĀ1*ޱK[υ;e%=mv3ɪ1vGމ&i; D`cLUM56lUR57R f3)* Am-=6꓆fM Jor~˭hW +O1gI__"JƉ;O_G%"YGkz8&NXO S}yKz]uMCmޅYuМs$e]H}u!sU*G TE?۱c?&>@[\O{[oνs@8vvCHnkΐJI7^`쭠R(گ\4x.1aNG~gzh+>礱wI3NН&2z2hzF:L'^L/cCG|L q{/l܄Gg 9po72񁲮}^A'm +5M阉ܗqGՍC1U9p ,`l>+Ќ÷7Ka Ĉܛ+00O)֙ 7=ٓ˥wf7Zss?^> P{sYO\4aP(e|X95l1m--#kÙ3LV7_5=}m+;xaR4mykG +瀭*uΛHu{!eӦHa>0p=뇈_o4<w;/^fNIKn;E]oHD[4J}mvUU"^tRDC}0BsK)=*:p *vք@WEwKf7sip*eE`M;T;xO )iCתC[Z1ЬLp+]ܡ1ryes&ZaPSF?p xL<r`QI g1H`~ם:ŠvN03'9 2FvCZ +i ` ޓd>)hXS4MQ<./b/Swhovb~TY p?CQ]aYB{OdTR, `C?)47t!.vί2MNQ&'QVs 1\[I#ԞĬ!\K#J7' 4р og"(-xF,UڎӛAFsGv: |K%kI˲YH0Lt{ʟ\aШݎO*0Pd)P1 ǁ +Tlf0vg;Y4k $x+sr61C\>cVn#o=>e ,?XLWЯ*0m9982{:ƠCT'%_ejg?y/&ug·Pk )csy_ea볫-v T^E:ikSڵdu*ɓ(('Lߠ&4E[nEI*dT;zB{B~8}{y`[7j~ތuJy  WqwƾgL JJ?@Ihj _4+%]ͳqX-蔦ΦNK`Nh\İ(@*VOK5^N|Fnx=$t巼)jQNy-|c"5k* +b-lq&hk5CۓB%svMh?ߔgn/-H.svG79Tt~ ;$[3LtIwfϏ9vdZMSSLmqd^dE3%F?g +Vt$)QK5s6T:U8%~TzzlY/g51ЭUyipxz-Aϓ=z{P0™O98ЀШF71XǘHX[O& +Ֆ|:sXCH'Ւ2rD}GszwcI„߽m_lj +O"̅UI93XfbC[6y^X*7pjk +Ys[^Ϧs*xʨ\'*/`{,8(}t/wdTK4(7,:79߳}w2`(3_P x=d a /($:&GxO@ Xsg8&~r(r}:Q-8yR؀{Hj_uBnOF?e^KNz[g#$ɖSKv*gZ,wzD6{jyCךpu 'I;vJR=d4]{&O,IVg/-aǥ>c JiT ȴOs_%: JB0{4f#wdwKCTg˰M$3 lEC~TCՠJ_=?IoL!oiEmuc-jh9rɮzHvYP#DŶj6]tCkSF x|!İBθ=~LJ=\`gNS8FNZl" +_:ؑ0`=^_u; d"U +-8wdl@1 ZE#NūDG&Qmv ԀBlM(b$\yg+́5r9A7:F6D@B +Zk:O:|C9}t 7^)0+NeD=M׃?5U*u%a,Q9ýbq`&<&I0hN HƝu=ΉhJtgyu<+>G(~hM|hud2g{n3``w&'HϩX%zߥbqTFnqcpk +c>IU՘L +#'#oe ۼ+ hW9{emGs&5~S43 8v &?3&ab L||Ҥsv:@p)Ϋ8v^>x&H_jNݶ4~̯;(’a36 `\N>@7@:y=UuVI!{QutSiRX_?iHď󫉮C(Z JB +ASr[=[[Z~ax$c^Z5\ %oNmvԿTM FsV2}ܣuݣ30w%*<iyվRHZݘ*`1WE!rUzB(_hOsUr6(۱t_́$N~n?{4r_Z3^? r߹OJGTсxAS RH790(;RJF +g jFۚ0KC,FbHBc|^ Lz$l:)"+ +#5Ha7f&kZ9?7 h Dc:Qi.28R[5TZʊ}*7c;%@cW( Gߞ#7ʁKrƹ}\Pz6TV1%C(e+s%b~r|pKqb]wp]&uo{q#p8gF0mr<.)ֻ^ilv~#`1 Fm 63`s5pwV/|% J&,l3G3Ue ߽{Uk/&~kMqvHE`֏wFxy29v!xn#:-ŸQ) daHi}~ .7ɳɠZty.T++*>"bOA6l g(YoȨ;5v|b-NZN5Wh] ,N2{:Ej^d'6sXܜ(~;T]QA%٥s>羿$k:QC5'%LcR6Rˉ\(IAq]I=5cod9|d.W]4c%-a4$IV!kj\tEbJ5!/OWu<}nASNI(_)؞1"B?zd{X~W;vi :딡d7[xCt}8T'}|gx]rlU;$dt7HҴeGvrF7`Q,R/UTCc̹]Gz k`rB$tA"IoA70殣}}ߐ- +\c:gpLGf}`k,/ ؠq򨨬vyJ$c:MnjSY_GqaPRc;O/C)I`@C#}8Yc:9Rj7NQ=l>TH O"Nj"*Ƨn}R5ݏU։>O2%עVnX4i³9gu ̶g?"bO*XNHja6#-"i.Eւ&}0;\R@D6sO3R٧vX(]b: WC ?wByS/(p'NS6EDN M %1L %1Zy:VL1e?s'79 nk#Da:2l;3wFrO7~jѹrfW^h޴&^| ѤT bLSTC0l ՗Ӥu ]6Q{ka%y1hr\6ss.Jބ0N9,jhѦ 9ʞ{n=3%hJ'+ `%ZJ(fÆTiע` ɂ;2 6SthL:[]VrUhyAOK>ȳ00S 0"RQv4{ƨqv`v?:w }ڬpMax(mcvB EJ䁾!<ؗ^Աs`-ĺqvnufy /qD*Q2JkOx-~.3& G>Ǡt< +>enq ,o*}9p.<цLti0̓cxZsEP5lCO[ +eZ-<E%h%}x-p3YF>j4`u8S0K(T=oO#j>L#E*&}:$ٸ8lf̦-2Uci,о0H2<މ 2Ҁ=o$&V:]鲭 ++2 7ݡͶc\bc!3T$WUp*mNOt\㡅l fg2542]lpi9"qBOH5rõDЫ|1F.(b!yZ%jP,%rT}8,Hն>e5 +5HKMHAZN Ix 7R=QFf Wy 4Cڠ-G]_j E oMP+ߢ[|u|,Q " !2ᕙ[=x_B7aCwg7% 4rLۼ<,`L } +S,œ;o.t#Η VIrRG!GkT,݅Ve\J-f2~yֺczjװH5BI5z +[+sv*T1@#\,kC fX~yPMjN=;Et$,d6sAf%Z؂?/9;mNn=]9}_ơW/c;&OZq2m  +eɰTR:)AcI46f7}us*b$YkTVgPKE9tJ`dx]sU~4r<^ͣ҆7D*6F}\%Ŏ-aY"'i{:fDZ޶hxM +Coѧws6ɬFM@ +HLimDpPV_XS +S(0UӒZ`WȄsϬ1:Ο)>v(|Zņlm7cOQ@w 䬄2(xw}0)τXhq`}A:v%1YSm!nޫ< 2J+jvO;M)hZݸ[j + +9(iQ?Iث.` QFm 6^o=@]U)MM2Pjt'TZI a qq_ ĺi]N7̐0V2aVLFvagLIG3eQli!^ȨǹOu@tJZ̧PiSI=}];Cq8rppMzm+t}Ƭ73&GdEh4 K0A4L e5n#tc'E-?Ƥ2ײn\xLZ +U8d$J<fԲmټ$=B{t"=9xܾiX|P0ݩvYQ1& PO9@IdQɩN:,@SLSPOm4xj x{,i3ӳ:L2reT?9MK$Jn=쭳]sJhhH+V ۤ`r.B+&BetdP|'XX76^m +9 ySZg͜UE}F;P $ +d ja׬T-%!+SC eė"1tBK)É ۷功c+=y])v۳o[W%MbBgwկ-Y Ę)}P[)T:/3qF`gN)8wI^JVXfUqWlv0LF%^r2iORVWBxZ=(miS5T2 [@4RPRںƶྲྀ_rU~qJރCt]"̈YgC-kdۚ`4;f)c il ۙZRxp{zN:I,6 +=5Oޓڊ.$`v>zWU +,"! +~ +yF# +ݳwC9hR헼H℃9UyL4YrK!wHk)܎oo5\u}_eP}:g„=~`˅yǤ5BֽM9 +bx[.].ny[2~;z4V-ZiY'ėğ ѡ}#ii.H +֘\Ь%Ry]/g(DZ"JvSۨ0^HYevAYαBS^=գ. dujɜ\`MՀԒ]4@WXO%D9a$¨kZeɚF'GI0|Zs1[D,iY5AalP elgBm.b d]C2ѪDBZhU,.m@!-ל|: W8:kIo/Xpz̅ +5Kw  +ɟO@,7xQ.+kaj\ V/`a B!iƽi{m+i4%/ZFUv'싥tZˊAc!4I҈eԘrűq[ kL &*5IؖY')|"̇u0Lؾ/׌6EU{[o>uWf$JOZ(}dt:R}biKɅx/Du˺>՗XĈkTn!4Jn[5dP%~ݦmX&Len8QPЄ +"-X^ 1&})W.nc!vUGD|^+s9bҒ¨ .SF={܍>~^F|3懑NOR?${0L0Mi]p귁K@ekT2fcz]!IoC)ZٖR ']Cꏾ4BN!Hg𒎉8cǖ&~* ̡䍬jΌwKa|q5")Z.B`SIL fjhSLB3MO-˺IR閭ˠP~8tM~e-Φj=B{t yQYDycMl>w|4 o_y؞FJVBbrjYOd+i>Lk&T]ψ2SI}w}gt=bMן_?9 xʰ$-A]ɢ^}:Mcp_A8mfڂr'y5h ϥ.`kvLa*H#dMAL(bay{e-wR$)s=hOh0lհ^ׅ}vՈ#ɷҊyq8XC~n_>Ѝ's.TﴐK)ZIgJLm~\~\K>07{II# E[ ).G=æQybDmѥH" kk[??X*| +륰a56#\R')2tk~P6.y"R:Safi13?M,cC5?vqaY21کMsxUs=¸9{J+scuUk᥼vHU$gnqv˻Z2M\MO;-@ +IW|6EB -(O+%fבyjt>"Q'_Q -%'{^nT]kή_(ҷ|KYݲRG]PlT[ٲKniSe\nzqJ4 iٯ" e)z[(KUG&Jetqt*ummo"-y%+muɣr I k}E-Rex+e}Kho /[vɲXf & ^de= S/qN" UʽY"܎ $ԻD9rɲ[6qIvoK.XO7mo_#RS_x'L: 3[U*i=[RB T439Fڻ~bjxҖ V-?Roc3n㲍e{E|QsvC my zsn͆Wd[ds۶^venpxm5۲d* n+äWwɶq4DB&_`#K"n=aquX%J]Ѵ]H_yzz 8}Ӓݺ +KoU>tvCʋVb?! + sX/GsI5 b']ݢT)K^8bn_C˦Dq24Ue 5»? +ٹ2,jNE:`aۆy2C٬SQGNUeUBJ&dĞqm|fat2z%`?Dd 92xNbx Ԁc:cn?ߢ4yQZ.)(!. 7}:rN74LWҺCD3!#8P;VLZ|s05+~Ym "1| Ě]|o߷PǶ2u>cvdJ~^H-LU$Pm䭫hxf!SCEf5˂DBq|[ca".8eyUAUys9݌zmoϺ&uTԳN}Zռn}~cw,pvKLRw8~>m9)1F'g~rI?4q꿰w^X~^h{Ni{?ſ"-DZCSQQ?ǻE14`G_vT?~)g[qŊ ~{ghܵKD'Bd FlKbq,oPAi:OD`-b&4ſm;?~x%|5n*˚,m݄U|X9"Rcd^$9|wn-X߶cH-jjw*K%No֭/3 +j7o}k|遣{Ekv%4tU?o$^lY[R޶gt*cl +S^Ҁ,h$'&a/$VץJc'e]>nIlhȯi=Bp/ukۚK;yv"t]QUE\HFBnմ.U͹KYYShte"Q``mc B%=J K,wPBĉ1U͔+5H .(Z'fL'_Rm|^3s'/kGiQHk]۽jD ;OEZp:ݶqpQ)Z*;'܉S`UزgF>:JAf݊$q!mS Z>ɪ@ Zͩ& nзqAi.1wy D$~89A\5;$YuS"GH2՗`o9za& //iDلS=Ņ~GcMdY\섪J*-t$/i1EKWG>)X 4aq˾RR((TP&>~"dKBܩ2Sݨ3UkާܑR!4!y)X zx)5 U,6uW5q#Q`f\sˋAybEM$X }z]rsFVr|4ebfKXvK;)acM4Ѕiq#kP%e\߮'W("uqsLg;pKb"J QSh}5*H"YZOdTͪkuke)NH['橽UJcusʺÙ2#QA[8мP<T&TKR1A€EWM3 ܅ kaF}=B&L°/@Cp1Qi ̥-?S42t8Wq1AP <Ƥ7HѨ8v b.)7*h[`5, 8M9Vv.E5*:^$lj*Ap1}S,ׁnLH\! 6pnAtf%X챕3Y۰Ts +1J f V&$gΖTsWzݡ*;E7xgۀ\ZO|j+#g,ʞbZ\sJ7f=.fT(J㑼+骭܃ךuBIιY]'CĊUG(vɇSٻ3\r$vc)C3zn +-Ml4Iw=h4Z/5`2GY 9 BC0^~ 0p +$ɇa=nD2Nh#6]0ĉQR2m{ʮ*rJHt.2rjr3%pיl d1U]hJSj@˞.^VY•|s|A-|*KUjN+BV[ST6%bh, qww5'JI=T>HlM= +iV Z˫lzyT*I/p ddBXzyuòCԣfur)60Xhd[uׄՀGNs(rRGVP+ FP]ݗKZx:gQPbQTlIK0Z0k7 vݵj&\iϒl+-|Ļ@VO8@:˶ ]%a\e(^E0$'991cojzh =5F7#:is 5ھJI9;Na^f>W*[ߢ5`mQ=iqԞavF坰{g.M~vAzMNƦ߮T0 +8].zgg~'4aIw>[gWPa {GB 3H*½Ln<x׈h9f:TitIFZHx!}"9 `Ai%HeW)H8{wY׳UaԐ ~ybr+&srt +iZHzQWJCЉ{dN5Cbm5qޯr]=]:t 'ҁf4)2&ҦpF"~Vg +l¦?>8= F]ae『ލado**|G=æ:$2-U +(TP{F;H =zho' +^f^Wp0nf5ϛ&?8ٽGK굻 p6:K +v. j$!n45hH Q'y Ipj {U#mRoi.g>Ԕ5lvJm5 hT\DgT"C6@ +*Gh _Zז T‰*TƗty|@^$'/w(K.}َHJW(mi- +ʚoĹi54*_̡)IBf+B,B2p,OmaXU3u"T;ij&iAGzP"m]*ɐh>r:˄r` aMbi:OOδ(}M4JR.נhǡFm#TX౤R <_cql,6au57B6@%KQ9&«geMUDK= ^c?8G0ktÓWx!*ְYDP hUPB=̘CQw?5|i?IWR1{jA]g& %B;vyd2X >9H8`|Hp>\Ȱw`嵨"_{D*?b&01[ \)\xplƪ{wq +-Ye +K(X+|GS@SvY +YAwlƥ\z|z;Iދ;0wKlL֞+ +gs23QZ͊_@}}X )-3ڢs^X[Q [3&fׅk3- O,,,Vod:Zq//K(eЗ( oQ_|e8)P$IFj7m\!d:~flj4jY.&nʆ|׆BP]%X Jg6v S+H-\2nQ I}G},`eVxnaUfmq8?p8? o5pΝ>?uN">)dRf +)}=͞sxjy<3"6&!椠1}Fϙf^6pvg_a?fLy6N ΃.8\FC~>W%T s`I?y4Mv==@z#A_9WCBŸ5EtndaH~xNfƣ_1^k؎H&%{3 V Xoe6k't6Ϝ|>g&,BT濯u^z]uݟF>]dH2r/|]u^z]uuUb>T07AC#|z~]xH(Ƒk'*}u^z]uE/osoO;GVYx6Դs=楤g8~|/z]u^z]5{\!oo]ľVu^z]u׽.cklN/dh=ѕU?qʣا2P(w_z8ߜƆ?3Ն|^z]u<?H!HCD_7|* +hW^z]u^L_*J]OUo8]u^+p~]ϸ.z'Ϧ81kָ)\2]>Gq?4e(z❃v,?_z]u"/t/_c pJs+6h;9e闭__Kcfڜ&so1"O5qB~-L"}(˅d(NC$DM3`4(kfk]s ěTOZHgLfh;>8hVCIYZ\Eq7_4rNO!!-4c{U%!)/݃ϻ_V7Bw"N5~idvhW?lf3":@<K7EYv ^Iʊ y'B۳L;'Db 싰s2<:0hJ?ɺPwNq;+I@81NҢ7lE#vBc{#"6>?މ^2cPcl|9; Ș?L0c19v.R=d ;uqf1B:4>x.V].H@bݤYh +?%LLoB(GOT=Db[|;HB[B9˽;"j/՝޷|BǝiAD /[LN{\ʣ,-WOטmїHmo$K̄lLikdzR2]򅽠t\.Dm3wVweTU]lELͪO,+u>/OZtלpC0@3  {$DvCE|/?낃rg0G-l)4X{A}͡\}@?%৲PO} +Lkus,G ]6{ИI*yr` ;ϧ"hNudý.u`Vyk4Q26E%du֢,(~0I0L<4dLp]D@R}vϜ%'.IQ<7'ᷩHHuBc:@/66)|J(YBhg# ק?+TH%@S/+h}A"J:k^N+5 c٢ tKh 5>Xx2 TZk73CFҜ0QyGOFuO`\9G[z5M%Ua ӊʼnLւ@08 ݩϹSy8w{K p&50tzg[U Ý.&{Y(=U##ͯޥa*"YbIZ p|4PU/ШMXe8F6Ξ3f39(89ڻo QaxX%b~!|J7V;@A'`fKw>9H QDy]'F&`EiEKR}뚊Wkd.P~9~16^I<~um ' m4 9i!W ٚupLH턥K| + t5ʂzưbQٛ?w ǎ2fB??45kOVhf/#[m"> +&ѿ;ݧ[Wa{<=8rA-96Nᣕv(uhwC-@eWjO˻Pڣe0ܼr344V*q3 `YS\d;rNO̎6l"`q{@\־XZP!Lb?A$\ +ySb78Aij}f^k(®uXvG/ߣei+!C*xI1RZcս׆D &PM|Z㡨X{ SqMa[4tE8_=ܹ5򩳂w@ad*NB +^&$I} 2f.HS6r_Z]ӵ,S@ҫ$џC@K&%a+Yv[D+50?}|oȁyS T_נؗmr u}f/ <}/ +(E4 183K#6?TV.yy`Ш-q.0'RTow⑎u͆ ٛ0J7oАOP zUmog{%oSGKu6C$(W + *v%lؠ3q4NkU3ZoW_a@ ٷ>K.irk]2t'$x܃3Yڑh èI +4B&}u,?qO\ Fe{tj&ʟ, "­KEh~H1hk,HL5rJy$7F6vFdw# '|b ԊӸHsV]$^Y]e<K&g’7y0tvkIiYYّaХAH$ ,,`ao8~9GL)-e?HĜD^~|c_b!Ek5g1yPf =r]T hJc\gp+,^1k r8sTcph?\1{w`-l YtPA͊=T'H)C՝_ sOIřp(>K|9b. áЕ*SU"xHA-!I5l PAOv O룡u@W]+Szr v^%`YavQ͟OX+FLuvNB)/PDŽk[ sFJcoi_amöRkh 67*1D1ӬgR0kQ_C)* aUrԛ8E/HagRF :,m(Nʉ]S})WN5ڠ* Yd2ȶ(`CpxM dY$*(vꬵl/>u¤NS10k/&]˅e]d;Fݔ>U`+yG`<@(zixԮ>1ndնBLjDrTx2_L4w|Ԟ*Nie;M;i5P%\D6; [iMLNS4(LёOd'es=iISZR8p&`EɓP +].Mqh1i!w0*B)R9hIaaW{+nʟp{+yK^vۼU׮kA/5='3ĮZXv82@#T%]mgjI-cDp(5Q1F p4BcTvCb#!%NttHwxU3V91d˺Ym^; B׊nrv} ?c5w_9E:2,h0hF :LiR/0LbM?M,+>°a=^Mcr$!u=lRsFmu)SN-꬀QA(dݭRz[g@OU9#qYFO#I5P噪@]ū`FoJh 5am1O0H#KCaEÞr1USfakt&0r@ES(c˔c}x 9E+&U;0~28-_3*>In ֝DE 64aⅩV[NyӔ?X᪌ipӶ!ǝH*?U57c3R)VP&I `R +r'B\X}NfǶĹ,jU>ނgs;4,O Fmdj@3Ԁ3TYW~[a߸}Ĝ+ء@16Jj4@Jx%k9p&5_u.V cTT!^NHԱ3iylq``E.|tA3|hlAۙG,>ia O)qIyp +'{-[j07M9ǁtJ5mC%!{Mͤ.vP]vU-6& \Pqf-084=IܥxAZռV&oR{ќ[cC@N{iS&_e46$6k:#K݄ PyL.Of)Y*qE`}~*cv\'HP%b::u ->z0|c_+K\zQn.w\-Lo1]OPJ+d5Gr{Dm3e%1賓lw^(9Cn/$m6VE"f%iU`cuauRy'Nܴ\?J)A/?ƚk?>kb\}mSMQ))5Z($9t&E2i5χi?~js`1fS=QAa:]|c߯L48pq)oҢӃxjlƀ;#B7'`̔8'h=ci*af=J2&ŽR%FRh4Qu!A$2hvU_xjB *<̽ɕjF3V%o5fw[n)V;iKӠ Pn7sZ"F)|,a@qr +sOC*h +l!qt;A>v(b0pءj,KQ7h(ꆨ* +9g.[-~e :As&01)K 9[.l}`] 3osN{lXoqY޴4ڝiwa'P c.Fzєk.r-~>Z[C\G``ŇRZѪT Ew 3.ŸSHz&$ECxv,[rՏ_:%fTum6UctM.úMtؤϭ +6ۦ68[ͨT /]y6K§2+ŧf|bt-^rhۻNBc,gĊF:$Q꒖r\i-(O9ҁyd`&Obᶈ/v6 +FJG +ſoŤOPi*>O^#ᶮm.$%H OZ)D;BےpY].?-F&XhXd+*R؞ؖF xDEDKX!lY/{Wde' + rjIw2Ԓd1nnnEC^E3fDe^ N(zCUNlxxzBbU][bޙ]Ջ*#1R:58,8?~fb4IB[aǶp*;V,yqzLnk;]{no?4HŔB/w5iz]6ō=? ٘tù[y@6~Ť7'>(a2ȵnoVdrdQ9o.Z7^&~Sbcu=™}{U;9Rpi=P Mj\aʑ2XE+"s\tMYats/;`/.-nDNċLf/VomuzǏS [ۓ5hq=,{^Cml^a> 7L ~}|4dfx9L/ģYk+mLOo`Ԧk`]QM5)C^S97<*|2#B:8=(Gyw伮\0yi܃fs|ϩgl5"E= +Py%W{h??.,`Ǎ!| d']K.>U:qr\~^LGv"v#?F䏼gR׏˂y(بץU)85̚+QJ?M m =<^5BU>8 ߖ9? ioӪ>%m + +}3tm`)`b#Q]L|>J#Ӓ^ uk=8c[bPTFXݺ~obtlں?7R?xQu +b`wzỘ,>=I}h.o{UN"y\ ZLo{ʸ_>Vӂ~S;YH3:>je'ufֿw8*V^k}C.dON & G X(uyiA(Yb'}3N?aƦ1DwIe%GwP:9W,yv?X@C +w;v{ CCtȠIH'J׃WF,FqM4ʰ7Mr-Pih 1 >y(7Spp,f^ɗmߓ7Ƙ9k?zHt#U>ؿɈ}=!qINbM9ޕN +4eyS"DFZ}Ϳk`xWZdoɃ.I?˺IU.ī9`Uz Pz+n+vldQ7B^$p 5F ʭXGmyFCkN6bP@ϚL=V Hc# f +q<>F!.`!x74僽MgsZdve^ҙXeRW 'NfrP Q4-k9!y2.ql֤6?u˸WT^=4= }ҙD*VfKlrKe9K /Oն$hsWu0/B<'Z1ym,ȓ_k;J;9RPt mT䑀T*ϕ?9RNFa!݃CB|H՗M.[-)7tFEZ90|&Z.V*3DπkD.U/N=+Kҝć +6]6v&z +&lM/bb:hh=}Ɔ!ˢN~(psc],B +cPK|(8 :Ftx ҝE8 +qKQ2?~/@um}=-ב;[H : c෷0G@!vR@&%b>5) , 2HnmSwihHa5;.]#}N2c4 (*V얢ģMvJcT"THDm'"d֬m eg)TMVIu۟zxs;%s2Bd- hɗ ,0Ivs5¤ӥzȰ7d.Lc+}#DA/3q@ah+ o+A}+A¨G(v+"Iܜ<F4tҪ}xBJtXGU<k%ܦm4:ALؼiTeKhrƳjtjhHh?D" i/)7LIYt8{;J<@["NϔɵOTyM`+N.mŘI&K~VhF@Tp(rT:UDfa:V*]Nq@.3bʷ +& P, #>xZ認*dx9$»wi +:ϤqSU*Oɪ~4z| %*ᄑ0.̃戙'J|`ZMc~9pIaDy]dvrr&ĥN3Hvٷ:H"YhhÆݺG<|zC{ AParb$|6e]ɥH>\FPc8 dVcD!XuȑѿY"$pw$h£ȟbzrP~BXJ:cs`4&ϨoS:bwPm2PnN"z ?ACo2a[߱He!6kO.O`yi Ie->(jpz90Г(߁3%[ .K(P\3Ը|f'8P(늳_~O 4,Rs4bI;$ +ƱdK|bu+ٚED\-$=Z>0.'0PqM :p@l}5I[Dy.Z->FVE-71p0("/L'KEلh+FmTn#b9֢V *HP"z]!>2) LBC!i9 Mbt;qSnaJq c~Y @v[×Q1>#n}Z/S2wp9g|ttN1َ0f|KX|KGd!o.EJa8@quw EC-U 7'r(gxc&1F%="1\ɥe4 Bټ96h4(9Nڥ#p@,/0aGڴYhhv 8: F(̀E=U fAd>7[fyfU:Lbf8.P@kÜW +7'x} I ~E) Rk*`.ˣQTsh飚CL'w<'O8D?"C +Ѳ BNUBr#e ~Q $+bArS:gJ cn>aZ60: ^ 3ܐpD6G L3+O:^aA +|eS/*&02b) x(OLz^{:P 5>0%:Xʳ "tA " Y(EQho&Ug2&PV>qK.S 2vabePufzBmumt4ťptMWə`0|^5<3õI +eqd`Alcv/YӃ(@pM iOp0::R*6= za\c@)LHDJvOO2>lȍx݌Nf ͵i Jc)/m"ʘ޸>3i]K;aZwmN64j7;I(M"=Vɑ)cLxc7U.w@ Qz+uVx "ԿP|ЯwQ"tMDc|Liv nLR<W_|Hi!VsV댎hw\AmSi#ʹ ;؍ +3soN6RhCA:lتXi*\d&gD +q q3ӉYmGe0l qr֏e-mk +.#tAd=b5[gk⊺HZ&zD5kA3`Q EiTR<)gCD9NS\Wumw_XpayY冔x3>ψJ5( 8])rSBeX{b,!0l}EM&Քm[52L|%)SD P.Ŝ;cbd.6O!<:/JKݴ2Q \RIjX>_KtWp\%gX@1`U3E+{@Yrw@UQ#OAڱx0qewLYl  ޴b->Bt#hbуq0sTbDqقB.iKJEct[VF8C2+񫝤 +@6jvC[ >U)ōc'O '\7d~mLMWE)'6qnuE[V豎ܧ[j"U=VM5!L9n4邼]8ỷƈvϓkԎa0T?3&]y5f0VQ.CrBY%Ylg3^(u [7t^!.q,xy6С I$fq]kX!4dۻ^QP8|#&IRI +[_a|޽n#5޼*{ɱ1OcĻK J[B +X{ #M}n;u^DcL 瘰< C4.љ-0.f*/o._U u#-Zxhh +sBwݷn w?d% rK\3kH9>~i_ +'n;m'} "r  ]}6:$/m%#<_F3M=VUFt#"ZFxC! :LĵsaJ7~>Z{#.{]*g%qh{qM֚ &a +vӿH-h褑XxwoYG^ffFF2 yHBs',ĕKǑ'6g6BW@[%qV=;?+-F=J?Uֺu\$|O|rFaʨY[h5z̒ՅC''3MN0 O}[t{stho3U`29R$G :LqD$O&=lx[qd/9A+ɕ,nt_8JeY~-Vx^֩|=3XOZmm߃J`S-fcii$n/q jLd>9] Q%D+hFq9MɄ.䛶gNڵ)M"XzgX}(ƈd +q"ޡ./XoդV'rLC sZ?3wʴTȡ0 mgg= +R"b};Ie<Ӱk- R*ÔHɑg ).qe0tgř}{ +*Mg-l}]|fժfRʉhAiTƥ\܅0A[W}ռpiFvtpQu/{=֌~cF%QhF7-ΔgkT[\cԳ)<GbR+K#{n`f †{t݆WYQI DAir7v1Z%#Koߓx)ÅVF@/"=<8CVیtDe?hy@ U!{n9aͶCn.Mk#sQ a=Ǽ"kYaSӉVo㘍} )E:0x}4L\}#A9*Ug6{.累`%jxS-zuE D`g|"yo w2*\Nuς&,:"஍W8Ūql}GmY\+Ǵȩ͕ۡǘ}i2k4F:op^;/Sx:""O%ߏx;[rQOA@IaJ~苵(=~AndWKڙZ2pm_h9yV;,SM+`<#tS}(_r2Ғ37_z={|dSզZ2LjwRcTi"gx^%Ɇ Ql|T_*+:dU݋Be#: abCcQXr1Jfŵ1ЌNUY> CHbGozrpIg«)}:":$j|{^Iȇds 6 +lmlǢO":}ZK%ʧ +WG\EX!3j`=rz]uu;^{ygz]w/W0zm7_uz]O̺-^3mjnb^u}~W^z]uQI`P@Vpyj^z]U^z]jˣau^zu^z]u^׫~]ur I0d3_^z]U^z]LHܟ vu^z]u^uu^zu^R%^z]u+C}Cb[>]_Nh%͋>7yͿ%@rO$WxZMN3ˡoXÅhGOҥT*N5oZmPΠ9$-` wBw/$G䉴7T9K xyNROQ}B8G3r_!tA~ٗeir~I)iCoS/$\ {a`|Udu.--]j(!l!"~t k}Ջۇ![zxj]^9w$ XhOjA,?ov{Xr>֢|vXҀ"\B> i+L/3$'.>J}SA{mksk-\.mDK`.[L|" .~w. HȆY]{SDE@ +𒐣$6<#Q{T17-|ץk4nwϢǫt!If*h A7rgR|s!;5HHI1-i % $DI:mSwA"'=N`b=>[p4vKI=(iBIoF25߿$:#no^t8ב>7덻 +UJ 9q0"n 9َ9໴+$ߍˇ^WW +;s6$3#KX V[x}Ͽ* r4Jj!׭ R]Z{w?O8~S( R +uK;V<#8kq,l4ʟ{H@Nбʴ_x<6m6X u:Ŗ`j/(*nAiq\Y^QVHpNZwzO3gY֜-UEqRHtF8fS@vI-9|2NK8T4"P'btuWgܥvBm4ȭ 0gg;13qsϐ{3`8 O$=qϷP) d;;LU1njp;9i@mtYŐ=<[hB $L!9DB뿄#K>%,ߙt8ʷW E‡Fתnpݽ%iÎԢhZT)][Q4 :T<,Fd#td#BAJ֑\|}MCsD$PlO9A˭V)e~POiZo-(xRQ 1`Աh s,eHb< ܥ{$5ְvf(Md}Kh[p3/4~sU7 +1CK$b>YwUKM]jP S] /jRwكp<& +nH0ň7Omn&.3@}J1_-s2r1:8U`e.S!NePa +]WRtp}联)T) "ơ M[[7Βʜ +gΡF2dFa#*74k V't_oq`?#307ɫZ?&y>V=*{"`0GMPds*0c1qD|V\ hqb1}ْb-ZqaD=0B=yW@},yIgEpO耲 >ZXxX>.ɚ(>Xɫ~TdHyiC"d;N7=\b:t#04sGӿuKRSUFOlzؗEnZI%ɪO$/DrGPK%x\untމ + c׳C9!_av}GϖMΠ3$*_Grzb&ߗw*S!אNP^ ld[ qwht>)b\r +\ )'bHz+}HYI[ +fïh(Js9rIt!`(oW饞9mA`_LYMe;CW름O}gMeе/XiNk{+~1ꌣҺ [aKHchwFfiY[g*dbx}WZ 6,ݬ)-{HߒZQA2dşZ+RhD=-:8 p9hp)VE+|)a~oR)*.)5 +3/&[mI3=Y8|}QWz^~ h*M ʸ}qX?Ġ{nQ<ۄܾ^khZQ2@WO!j\ 8N +52R){*-2_6H_LJ(느a~T +%mC<6 XkN8t00kO$z<`+\P߁ 36#(jujli~3ߡBDw.ѯ4<8Dt5QOXS/rg7X|~>RFf&{2+Uk6$5ϭQ0eEX0¨9q`嘢a' H`d&VLA]=Xe{uq̥h:_嘨µ8#KjyHK.Gf!_|0' =#ʥ\ :LqJ +WG.{Lg%5&y/ dJ̭q;uQR'Oy3~Lة'k2A=gҍp!Y< X2IY!SN`b;\MPkw&p4%ЪZڻڔMC )b@bɳ:D# 5Vץ"n'#Qq$+G|HhȋS;e2E!' n,n @LKc6E>0*pn@? +SR 1K`&,)$hJNtۉGHY2IpO4ro3ŗHtPlS7VYLi=})J '%ZXxTAcb$_+_39xtF Mvl[gŅ5ԙfҥ\.~d? qCPɰ3v{\q6M +of!&3Kopzzni |$YlH2Wo$2t7efapcAaڐiQÃ.*U"똶.%]yb骚@ !uwnBBc0TmG\$;@th%d(>)f7U۠Bj)`_rՠ[8&/7(T6#k +0QDg@N{缾š׺ᾍL4˄ɪnL P{/qOo2"rn 뾋*vAm+զ@Lڒ`(o6K&>@2fc]iXdjBeudA١C\4gٚ]./>XBF+dm|+E{o13ȍB刋c}u]9p8s[EğsZBG Ӵ.ΏyٿOo6@w"іϟ)Y\[ݤNi͓W? *Ӎc8 _/O:2ơbCgQ䵲nu14&g?ƥ?_˟GC) 䤠g>>~uj@so0(|?󥇹>.cG+04ҟ~>Z~omVWE}<'ZJ9_ʯs2k<8H15'S)g]9×rA]{6 dWZ_e.7P(6UD22Xs){+9V(L7UR[WwGRmyKF/J }qi]sQZsĖ'/+Ǵjɫ6'1DyT-~u_<_~r97G;p/L"+Q~S͏5P{l U-D%V4lC&{Dus-W~dg[`1X_©jBq<$ƘD-{Ϗ\.zFAI3EmBdQ.5G {P<!su'yլ4u\v=#.^Ē%e`?CN۾+Wixk Onr7Zv>+}]-B^=Q`~Gm̄2UdX 6"r|,! L}{W~Ͳߩ;}VH9o|B^uq0D!;:'պll$̢:l{4DbBts[s9__IG2K b]'(\c.3.`-ؓr5{ښksQBE/ߑ}?Ԛ̕~.!؍9a6 (nk9^n]rhIޟ>r3@L'q9P};7۾wZ.шs>>jk4Ev<,L;5`ܔau˧6R9yv.]K?*P)7H_{[|>tg=0K[p/L%&'X/_oyI6Dͯ,-}-۴L>s q٪(z>h?Iяǎs9;}0Xb +*tom, Aff _#%Fcg+Ms[=noaig{.;vt":lxګv/ߗ,y*F!'T0(sxb\V߯8}_M +NPsՋIJj0f ߋZȧ=hnK)-ASA*g'~affm:x"|SރOw{)ў Tv2\z<{ onyԝ[JSi{뉸n+x@D;wٟ׶=WةinGu#3y TaQ??7|s{@_ ;{˽}MA]F4hN,Ե"rĎĢ ƊKwӢ{:S蟿GGb IaI~KdU}]45}4@ލZV5teD@Hأ4;N<rQAkHWV S-AACΥ+/NxϻK?NLary~̂Z|d=_@HrnlR?'@v.'< ٟJUsR79.*پϴmElR"S1".Lƣ.H-;]rY]wʠ\W`k7޳;%$=x]g޲ P+{UizPl5Q+x^tո+ZNR=F5BU3ie;tjIR?(>̩xP + xMZe{oӸm]  rRxMe*-Ze[hy1}%!Q+sz߫?2rԅY]ϼ??~:_i\o&h(lBA3SHh:<%6aN~W/wnH,iN|G{pw59Aa^ , _|91yʇ{(@7ptU좾E<ůAbn_v1 rSic+UD2 TyU}Il +b1ˤׄ p5"DA|GKiytJOj{m T+sPO??y~\ /=%wR Dnc[Rmw@9J:DޟLi;5Gzo[>Ɉ07dj$V'QFZА\co+Η]K-F?yO0L3$uܥKysmk s絕c`AJ fqߐS0mzz=[$u +UM@i 7ņ:Y x܇:"!ҢKpqz@Nf)]7ilr߿=tѩP}^Y'K>9w%OY\^=++3; +T.T5}[598pCﭭr)&$it6 6J2BE.}L䭫e#N'dIVM$xÖ9N={ +E>,{#$2cgM^@݄E4۫u$ TpFM(IziC@&2I_op}jɧ|T+r{xOjtn2OCi4P(Lh,N~䔭9N%N!p$8\͟ΥԹՇ͖ZϬE:ɬ +\vS&a& + mX`+%=$bBfKl `76Ca' Jsp}s}jq=yKHJ4|뎷bIE^mjɍEx؅h{ BlWMNw\u;D1ѝpPM]bJm/Ӆ[Hn*t{J4dVEsc:6'3Ux?DgU+eOPAX??Y| Y#ۘ7#΀Tz|0Nn ?KƗC2*Q.!ruPtzളie9>7I4srn?#~Ep :abI-݈ԔFӵQ*S}[L +{:'?r۞[d+}4ID., V4L儑\^3K6.!K jJpKnY7{-mwfi(^FPܘ|euϚ޷z^n-[0UX9mgg'gIE?Os4ٔN9Rl2Z*u2Z\y`Ð㴖e;aU.ҥst 2ܑi{^oQ8s{w/h|uRNIqLL?ƶ/ڭ)^\sDcE4SG& }k4;ڙMAZ? 3sq\р +NӬJGٚB -aR{2JUs{*d>Z!KAZU-S@BXw…}'1ӂ66Q풢q{y0~=c+*v})Z C8`B'q T3ɪ/kpN<{t;;ۉƆ~GQeKt֨0VWaLu<壋dSyW̢MH +i?B*ZnC)t@꫶"RJϑ۽z_8o\6L$ 1| +>cd1#4[立lo;>U*܈faOVQ|s <#Pr *dB,$ݹܔ ,xFYJF=l-q~PC0,"K_"XDz]Md)-J܀Q(,<"T{ƎwD c!tvm~:"Xtz"Jmܽ{FARr4[1$ ਅJdr=si÷kV{tzC㙑sBm1vnّ-3 LZF'W}/Zä M"b$ > cwkmSn^Q?G +[- "J0/rS;e՘1e1dGU7Pw +5=&' "s&^~Ѳ1Um/޷.#3~)%<(z}:*2ZO JnC{u)>diX"Jg2ijwir[cJR/!O"Sqy7lPLN9fm=V.l|}kUlJ, $@+q,lP~Ϟ*MK2l8uNd̫+̋ʭӬ2քZ:w_>gwO!IMt$ظou8AL˜r/uԮ;VB$tt9XG k䠍Uv_̺͡#It_s7V`0#,;M#LQBk.kZZ0gUgAb瓵8-0'X"4"@2>RC]SL6Đ ň鱚|[g!ЌW!L9aVY7I+mۊn~IA_x.z3~Ѓ٭Di NfM X/)4<558JB;\F&S[[5-֖̏Zd2Vw܄B=.j:#nA׭Z1Sأp<;7& ;U5-裰4<7 @%& _P |m5R(M7 +:kSu%"LQ +9JrfQ+uInlѐ]Hz"z#;BDmiYѸՎ~ >KKppɔQo4ZWes{g3:h}\)"|\A!pM*iuWzWƬ܊;;Kn`W1 +%Ӝoznc*o%7Gb,ٶynz@)=4>Ee5GsSN]2%廡0EWC#Sq@) b$0MtCρTKY,hf\`LE^?[뺸ǖFy +71eSB2";/0 +iչ5;-Ear@ &G9vxhN6;rGIL?C|Éš~ Xt 7͏$h̷Iq!54z RԬRϫʩ atG؝G&&N9VyK|tja>it9lF[J{VQIR2l`8AfOy iU`ؗ,sXI.h7tzq8{b C+8ƛ\^Ks4؂{U<"dp(6zADXB-'r<<ìV?*.ᘀI~L8CYWj\qJ*aС%84bQ5 Q߱KdfpjpYJܰPw+%R}b5‰$L?,˜!bCFW>iUӦ4 f^nɷ/ֽoqBuOsQ~NJj7ą떯1bT CX.^1BDyď-N0u&GIʝTDz^dwR}Z]if6pPÒ$ 1$|Ux>|EVC"jЃ NQ/N}uSsNtcX&7om|nH(ixo:~h!>d3ʷn"hP~i8x oH2!*fmJ2 +.h +/j0p k&wDКC$ +hAXBƁlc&3N)?-S p1`[+*Wmbīr_AhF{sIAsȸÓKER7>7 ZqSx $}A Ӷ7a.R15:x`.\L1U*w񏁿29Ҡ[zŜ% {1#͒-9K7"d"2SE)@~2Тy4'iN{ppmHգe,`gnv4OI}'Ϯ3< Wayn]-AWROOX_)Ro`yiCRE'(l&JiDKԗ5I"gd'R >fqYb>SVC. +-r k % b o'ڏҵ! x] +;% CڡZ^z у\(}SvU8 }&v@("$Jd]>+D%? +zD# b?nre6lrw+ +CBVASR0'@- .ũ>"=BT(Z2q٫gwΪlm-~W!""UfēCm.m)w/O".UgYHwQb̮jelvL[Yi$ {CgX;/0فKBa<7[ 7rzEݘ_q5LyhM6^ EPkªS~$QrPDKJ\O%ijC]|e +u>8BS^e*1|".4ailoٲn`jLv2KAD |h!Ć'Aa'xi2_RQ +}$ZMdR:' +HGo4Xh_x&#o<w^p=]poib !+q F _ʐˠ+sJfОx$ +N*DRԶw^ aK)VhqXQ6s໓{()ss&0X9WoS+`rTt5ẅC?*ܱ$X0,gtWT2%Jt]+1Q1R˥U.'gCɸd6GPhUG攖C`ojgbox3ƅ!ʵȱ6!*h_[ѐ.q1", 4h4 ~C󡃉lʒGFbKYQ'6kp-z&wla}c8ipMNA`!O%' 4“v`t::DR;_|b| pg#M!iXvފ%?EӁ>|NX;37mZC'3 FL=r0b4܀/OA{9lP4o=> и;}QuGV?mIQժb¡s$B+.C bP;- {"5~Z.woܹ#q,=: =nT +Ѽ( {M^ʞIi!c#v># /&?5 Uw[X&4j=.z9۟ ː[V.%bPCd׸=8hrqB @J1Fff YZ4:`[ARލ:pu-\.HJ}CQ;&m:V׸ٟ'AObw!xTxȅLJ["S t@h$Y&NxpO^_(  CMmyeﵔԭ|Ւ.gm=Xs #ݧNВozrmʕ˽ZU.v6Y>5.kWH/DR;6y{Hhw !&ο2:wH+6"B@pMMbEm&n2(7{?l1RLx1GSs? B7~xє#Ln gHR`Z{O8B y_RL`y95Ggt' ]_Ѩ +n2Ghv;qMAX"<' x}@c5n??_dkz ~7i=VxsZɧhaCKFwAN-2at`1jN5a4ҧ +>U@Ebxx;fxe΁S;䀉wi1]&@gy?t~{YHhwgNHt!5(]hƵ냛U$0m_CA T&"Z6 =<*@W{98*уHw03Ъ, ʻ 2xOAŢe~R~J@q2}V -b'ogA>rh|Ņۉ;m_9Tƴ>tK2;kD\Ϙ77N)JJC;BwJ(:bC8>j*4&p=ݏV O2ǎ¬Jw9'n`8u^xh5')q&'o޷+x/m}l=.ec$nG jh, -lXQm^}4q(53#!kQy4uմo|Diq@f }b> F<&ғ;υ":rFxCXgVBr;5,V,03ЖPz0&&5;Fޚ0ЕgJ7b6\,ʢ+}wPv^IRSity>-+{n>e&e[ŘCj0 ù+-KcqH^DF3u$7_5b ME[o:C ?1`kNּY-!`*X`Zsmto<&2Yi9fP+=x /20 +HGJjiؗ9љ背<|rGhwkŰ23$uǗG'sfTIHfVIs&bڽRUf`#Ϫ}˃J FouPpC_Xk|hPGUUNUC@+u6AJ +(cܵ&~ԓ ۀ &p6 ޾0/UF u-GYbR:`~hķ}3: ب5'f(;L4&ê;͏p/ +6+ qvN2+޴uXNdx-Lq ېy/>VP-̖%*gUX[nF( 3@R[Jze_ޙFʠ*[a2kz6" ӟ!օ{Z58NDқ&m l kI>Y.^B|~ ޣVV[ &4brs֨578\?ƘHuHPchd?w7,s~ Wj`x\6%qGQK+S6;hzB ;b =oѺ#X >{ݾQl im2]ڥM aWqz.O +?|#4qn{T 5zy3ixmvLsF UWP-]<M|̱V`mڴ֌be +kPl7䥾AR^rI!ƌV&mߥV`;,6n-A7VOwZ6 k66pHUmr,q{.E^4q)4orƖJuOO#EF%-ls2t: Cj~V {v݀>4`hizZx&`.>Dѵ떎Rkn`4NrȲ:Xo;̗vg];ptgFyw Qǻ<ތ]s{GQ`l8ÝW3UUjۛ[A>X.kXˣ+L KSR+dVޝ;xDbBc"bo u T :UI*N wAz\Bl\VkĻrƠoE6dT,FPyu@ud{4lU;38m1`>Bzm ֙JWXȭ{ }5iG[2;;fFlp=RӤo fkW؀Mou.BF9`hcu7\ZXcU5XYrnߧ}$ΦU?;1ޓL:w?2G7[ϸ?)]FU 4~;giK o`]$MգN^\w[GO0Ar{tuF98d8l/+ͩzBX7)a))qu h՚ . 4Okٌ+~Gs#e5|oψ8pN# w0j3gQZr>ks<w+o>"KZ_7&#֝ +W~)CWeigak GjV,J&؎UVm:GQ'YNƶE)!S]v?!-\|jW6|qݼU]+]Mhlx= Hݚ׻>^£^2/UG +;Ҏ!؈"uS:0Y<=fUTFOk M:8jv4 +?{2&F5mrqoVѻۓ6ΐnGmUlp3};*z|<+SUFngO:'vm)r7WvꢄF nyIߡMCt]ܷVTp?EH*cafӽ`O*1T}oNX샆XЁqxIǏemd6£e9K\ ]] dZﶥ3]u7lEb<8:jn^ +4r|xwq.$nO[ OqЪBCVoPJUEغU! {&2߈׶#;/S} -čˏ#6!6ߟou2$hsiцkyo"aYC%DK. 7ְ$iñvWvd̯,g{ $VnQ'4;=n3>DVS;1 ;Zl5*4kh|Ue-ak+6ݖ9pj@WB֛_6}6e vuV}\PO;ۃt:2XemӮJx#x* u8VE#‚;z4ƻ'UpܘlD x}htUUV}DYG3+5 G@#ǺߏnR9/ Rvqz-/ 'VV=konu|T`lyTYzA^bax׃Q*fYpM!`I"/vWmBl43U.%k~]V-IxXՆZP#Md\\4q:'+y+n7hL:a").]WV_AG]ajp b=Naw^o.IЁ[a~ۀ.VҨjA'- + Q⤈V tbG +O$ދ 59#[NhcުPpk5 sv25<ТGL_ocT,Ÿ>rp \'b;uW9::gG_l:[ARY9k{`2z %k:o WF4  WmhM% + H8lТXʶ Xhا{Ŷ; k7"e: wm<=2V*l+9Bг9:A+Uayaqa1v;!\̓:lk51bհ۲\jwZ[)ˋ{GG޷Y)=hTށe@A2o'qVl){]Kެ[6hd͜x4>ԏ ,@0(#nƃe|b-_(7YoEkoqފ:7!WLW6]F{p_ut{Bd6C6ܶM nvz! &ȵhRɼnW59p]|Fއn +P0R7'=C9w،Z(jzuW՜lsf~QeM9]q\}\!NnontIv(S6hz˨ڸieΫan3pKNCJ$[vs4p;̛(YAQk}ڹ9ʦ$﵎選)eݲ4li\6%7W,O2#] +\.U5Y9jboV ?TKG؛g>>+lZ!@DZ.vX5Zǒ`[ole#4f(买7)sYց]%-MB9v܉)dhO)cqCxH`-3`IƊ<"4R=Xp;9]׼,Q-82O, #u,ǯo,fa_+IMzT"XKSSt2ը,>k@ɸ~a{(5*6æWfZxO"5Y1psP5;;zNO#$BY64Ʃgj z7^ +$3PuCl{xc0ءnJlݪpA%k{0r?iԀKS7m:eMgQ+l-9v#{CM$8^3mڻs;=8̨4"|FACZBھFCX==zy(n-Fz]cEd'8)<y`j- +_HǕ06_v~0a19vM YC,q;dSJWgIzn3qW/Ϛ63}nhXhxMkxeEm +;RtҶ;[`i")a[Ule a=C`{je@2M8¦dUv^l]|7 viɊqѻ7~1(ϡkHdL}nY䦢_h@c5{P^K&N9 PޡGkmlεP:kgJ+l(S& `i.TѮGm%K̽l==c9I(2n̥#eb.'/ɯq jiv+M4T5!cD.`zq&YfFtB7 +>2]Y~ ; Х_F;&\"Չ{њCLWvExK:SUVRpQPc]G,q܌î_SXz}Up)o"XZ'菄֑^mr;gXx4;#JK pAzIҾQ2BG ;"7n8 @mh͟ njM4K9=n%ttb 4؜v!#\9ݣ26 +Z&!@ꌅAZRYrEl݆;ĎM_S{C!i%@38B/Do(v8N*].|ɰZV$ԼJ\Nkx<+ Ml\X:DKkӍ 76^n|w)KN,UVg6ݩ]Ӧ\AWfT\Χ4D?d֜Ԅ1KvFY T32-J !~9rة'W*\bϣyGgXvxG˰\ +X]7y !%y:w'?m|=jC>^B662PX7@4.e)'6]YڥO~s]*To,bJbmjXWIm`!p]+ +Z.`L +s㠛1}ʼ!9akPT!{ ,m^ jdCՊ ڶ|S9WXAp+w^V =1b>妝]ntt[)MSSDwe+IJG]Fz*Tn +7I}g>~f]NPSӢ4?nq >/giҰ&;K{ϷuNe)4ok;+Ɂ&.@+ٚYF~U͟_+Ex#w0ilL :n|曹&#YZ*ZK rok\9qtWĵZȜ;Y㡽vH=  +{G9ms@Kc _XuCeбD!Ih҃v3X2ww;Qլ ";`Sݬ֑ۺZzf@9+_sřXUjf,W <%^! H3#vf5)q!H- /M#<= PEFxЫG4m=%n;97ߍM +Y/ucɃEԥ[%Eװ\OYC{N.5S8\vˬCY'{ S*6Ykm2ŵWev_:o tikkҬͦ[|ӦևAj}sjw08-P$VlI4o\D<$=J/Di6Ċ}< d.Q27+fǢMPSw+XV3e-mnIA|{iWGٺ$Q4&Z :a 3d-z޿I\fHX@٦?R7mrǧIh8qo1uբ΁xe^-ܰ&{kvJ[[0ȟ`e;[xGi1BZ6g B.2Ս!O),mN “F SrW-9-"C蒧u.,(9_D^[rE^eВ⍮mc81H9-(=D'P֊/ 1ʸްA +a/@ݚj4lm[wI(SLj࿿M˶(@9DruYVPfgt@aƭkusG`|EJ<|u"TzrWZ#n]rspXa3}{ރQ,\YL697Z˧&/B;r2dIe`Q2+sںΘڋp !\KTJ0[kuyo~Gk(/x\ٕE~'(Jj>`睫d Y:,R :R_fgy,1R +<'Nx2@ +rjOaW(f*qT&e>ÚC98`QH&q|Bլ}y~6*ˇM#͝뉊`:{4Fu qՇŠ;˖N/8v`iRo FFFyOQ{]$bйl);6 rERT^ CrnIZZbA8ժA)Vx)H Nz::S$&mYA:T?-u0Ekhm_xhldykf⛻+[}f"E{gM;B8U+c#оXEZf iqW@jvwvwu )DA/RiKr _ReJcߍ]{'CyR}9~.wG9b4~|R q^L ^ ɗuO? mʼiK8ϴЮ ɥڵj[V=aLD03HAztA0zzGBraa;㊢{p[%.NfwM7ZE荔cWDN=,cjWv(V7}(>&o Bt= f|q3榪F[4ce8AjZ{\ .sQn9DO[(x7Z{aX'P57Df3=3]T&)݊A]n?4ke#ÏnpwCˏil%uaN6plHv:.k0P;;8dsBg;&l%)U`@ZXeʜ0P$E'3!\<>j۵LWC=m|.2tk)(>SC-)0`"O1rQ9JGO0͙SYG!ذEFmu ZƓԞ!hP8 0 WL4el4Uk=e~gv g FT g2l:,7n7+ +9eg&Sr_ٵT;,'$* 3-9ZVY@;ʸ)ɦS7&xߦԒ efqqyTx;; &wue}r~mӎ0n#!3e2WW0)uo:tfb7)'NIw:QPAiҜypB:PHtk,H;@/YICۘ:3:.qeLoVkUގ90~*Ff.n>-3g^={9SiqDQ%R"Quʠ osjP[P5x>\:O/ϧaZi`"vF,)#{ /̉r})K6@!g<>:v^ۗ)ކa[e\#V, +BԸIFOwQ֞a`ҋQ.c2Đf /gb+zy'!حnQ{M.R6.)\8J65wYQ= b]))=%0y)TզJX1V@PTT\)"p|9gQβFO[Qou]&KZl9%[Az/gp ~v&%& "ݷYD(;3QȐrǤh*G9C a=rB"Q!J.Fӫm{YQ%UD_!YN<ĉ?KKP(p0^o5l̊c0E+WĮ[JakZ]NIJT*#hh ^NI_?YȮ-zy-ic~AS6)FsBJ-bm#9^GnþŒ'r +8G}ZjJA埯_RG +N q(҆7!N1Wv~lDt.x +9hϢ}da*ٴMsPQZI &wG8$BCbwMp T.媕-m1 +uZ~{tpJnUI_ʪz<B82y  ñtUjҘgbP;+gs\F>K)xJuc-TQaV +![D2> u1pcvB~ăZ$6V\U/{zCO)MuRrF'xg}:T9㎃:="Xgox=OVzCn80 (K+jZy?ʛ7 [C{̫QݚH]avxKx{Z7OOfajpO p*aKt7:OQ'a\jl Xk_5+($g9gFk OLɅq;H42Lb6wYᇺqV9 Ϸ*qpՖϓ#"i'k j#JN#wW)" +>z}gF*zv/iF|pRbbL e6뗯O#N$ ~^mYm.%Qrnsv/r>Ql E_eV v/![վ0U`Cn[ sE c` Za + I$pT-|~aŏi.k_ 'xF?,V͏u1Sחx>Nh*)7a%3ƌa%{Ţ#bޮa8dPZKChbj )qs<1zzzxyzV󇠃p:J弎|ںUw5ٿۯ_?^rnt*C3Mo%+/d-ca1iѿ>}\@btNIRT#TD@]teǟ/3|wV!b?\6By<1!'?_.b-$[MeMѻ"` +TzT=ɍ:&01,;emXBjx)DFӍLjz=Jx| +N;р"GHpy#$~tA|ZR7ݷEF)YPn^0-QZJ eӴP8,TJg:Uz0 O~:I tcN4DJW7Q&22> ptco o__[Ob& ukY(R'$/L64kpS]cqKL8n:6ڹw KOexg$ o PF‚.VCe)3[+`ڞ6; +OA 5L㧿> 'Rp7gzEڛ#Cn/3Nl*ˣ{ɒ†4e'4!(QyH&œ:Lgȳ_Vl6_ P݊_VY`}z)z\Ο/ikm8 :g~˿g\]ڼ 6zFBjO ?ʋ Zr3‘V5Ij_t%@ ڛ騋q9?]4<EeVѢWI#ԒUq_J..u]v_?YNDQ `-S St%PP,HTMpұHH秿e{Qsy6~ 8Z{v`d*>]^zJR0sp| 'gǐ Y+q/7q"J{^~^yeV{}N'1weF@KUlUдo?~t~2Y5+"wߜ +==}_d2ܖ/w<ޘve(=:O*Qb~OFkDɻP=6e]?fB_Rv,BO(4QkAdY5Ku rƼ|܆SxhٽPWz^'I"Din3PJǒNSэ=Px Цڮ(P+R,'IP__(sQV)?Q)z47<܀O_'?v a,J9>` ڞSI~|ula9zzx1EnS-Zr~Ţ-% 9З| +gYYYdrd!֓%ǭuw1J g|4`z,m4/VQ!?GA'% )s`a넷EVQRanAcU!6zo`} T|x +Y×$aTaMAU ZxU 1=⡸zy>]NY$0$MMF5y+#f ,賦WAPf8$VJn!(3v#w05垑&FDdrɢ%{zA(( }?oHV6x["┯.{J8ߜSL}9bG)c +[ӧ0g=𨭬ry3#*In73 +`0KrA1[R^otT"!LοOO9V0w/W4}|%9e {y(Akh(*&c47Hxb)ӇO/ˉw(e o_eӂ2vp+4đ +Ŋ`ڌ?-~CDoW(rtdO)j.P+,JwU=xh|f3 eSC8gk-MKF]%U7iLT cJNv*HMKo,qk6U~/1T Tq$aiz |z/?/\\fW4 /_0^ׯdFBKl؈(ƗjJf,:=Lg4afMy(,}0gZ9SSD,Bj`t|Q~~r%i3SۗJmf˜ $@d< @ŎB0+DF +ה.v5amPwEgY%ODs ;R:2/n]A>yMMT2ɽAb2P97e#kKi&rBt|^(HoArإHM6lXT”C*Q ϑS a| Ui<T9MJ]S2GJ^L`I94_Ko~Zwk)l@F"ƯlduNS{Y8[!J˸r&1 +ެ:V `M"+F9Vbr+#'TG5k7`jY_,s!(&Zqb63K_0e]|i !x@0Nz*M$s9^!#󲌧g 1dxy[&9i꿒5+7:$5[}_K:%sxi`%@a:mӬ2;LkWW@\M|_U47332{~uJ_nWzџXC<{ - $}QeNTPfC9A J4ͫ5cz:x\"FX\Ih$ )gz}hS4JN>QSi"e[B<$ƣi$W RZp<9-Ϟget9M*Jqk6cw $1Haz+eq'ze O&i_xQ`^A,K2O +N,RI6t9]B8Ku x"d}!jf"8‰OXn8\90xm.~GzC% Ұtvp`M[z㒖xʕ)n0у˼ i $:nxu#p`<5 n#&!T0R$i lh­xP\ ~\>hdue⪿-ha,Z̗$XR:D=/;e`N/= Z +7g :[q͒oM2 .i:Ԕor׆WA3y%A5ʐ$aIH`,b+*Q-Ll Nk9FKHVq :e:ח)7ų%I!IuP +EĆkĿgA!~˂r+ WATy\դl1t2 +;ªb=%ƛvx X=6*7W]֠Fēv jOR1>7ZEu6vu;3 qϢ =zٳGJPD=9^s$+: +qCP<210c(8b:0qqb" +WՊjD~M[ғe3r:Bqɗm{Sp?/?]N5k N{** $⊟4n.π3+4ҎfyBkC,stBSJjKPy<#ݟ2u)رW;z꣚s8?LICSѳǥTjD1ŞjDuzX,ΩG~\e"F~]br0 MBXLIO,KRr7IB:M 7ib5G 覿Y~b^o/t1ؖeS!NY#vsqddžp_D-/1Rܝϋf&$yw[1ed+=IDj85a:[1d2dekXXa+64')ᨪ%V tf1`E:/1PncP7m3}N 8Qh3*:KՆ+q'%gZQ&+тbjJ `)2$t6JU>ͥ$Wr㎘ļ80 h5mL'Mj +^uoR{?Gʎ31Lt:YR>ztբ2-i(xAx5CzJ>fNǬPaϵWҼ1q""`(^u2;t-SSte~/[6C1ys`w;ꭷbhW#SOt=a@" +[R*# O_3#'>ժ3ى| Sƀ +gLi֤7>*@TǭdpaHN۲Ii~ ~Topd H^󛅉ESGJ6uum̔>:Lβ[Bo(zL8]ϣd^qWߗਚ.$2=s e%O¢dަ1Eu5Ȥ$v6T{B;ё&rOI=|T +-1VQ|ӹ!|K}˛Us9¾(sǧ "+Q5bMuKҋZ`/PZYڔ@2`.f\eʧO)%,X] r->ΊE,4W +fTp W__&KiSУYEBIC^t1nZ^'FId&@iޑ +Y ?YJbVslXSƧ-sU\A;h!C +#=i ~<-Jj$rtMU;y٭o$>丒ʗR{8t-uV`*+4)k3`:Hj ~iYN<8R̰2 `)= H&Je%BS}pСx'CeH\e\fAydހ1-5=􆹶Z +UTlߪ=,0$%"x`TTs Nb m:d( e\:F)) LCg gnwHdef>Ngi~ !76ݢsc=ĔB0EIڎf)Wt+g?4(./b%ݿ- $ӂu[\LBZ3FNV)e < +Ar7EA=iAŜܑD{[`m2O\3ӭ:˴#5IK˹,,,st:~4ɊIѬi jIDr}:Ce[WJO^|kmH2SCyqSVL|M +YZNH2 ޯX1u/Wvp-=<}Pi8DOoh;@n\`"erͷcJw{Ak's/,pZ|fe&0i:z6hjr)ƛϗ(%7Gi_PT!]3:k(}RPLs;ֱ,17Ifv%.޽x%Tb6kZ."(,M_^ϒЩi&)R,R4U 3)dP hJh;c0 z0T1lh̅~vC+wDZ㋜ I:zJfa` /1]k?}P:$ j"n}[t@(ٽ6[Tje?x9]39`yg:XԛB I2 o`>vh +̎*t4qͪn@h?1d3= RU 0gYSDkAa;]gw3WjUXu`Pb(gY@vK%QB +0\,PZC#@7v%14[^@nK\P}[ )D襉Qm]aTD!3 _4'315~A?W`pvzUnj!YGpV9c#f}+h.\%`@*{|&|Fb#7h[J +7`ITg޸"6zkV&=Pk)].{y9?BqKfhb~4[zwƒTWEoZǬ% +|!T%~ֱ/X<e(r0|D06~QymD^\l{;E\W @9+ _=j,+x@-Sz +1_J6җB=*yUܧe#<ҤpѼ|;'۹vET/bjL!g_ B96HAe +x g0 e]w:I +FUoX$NUfV])[O .oov(vQ E5_m~ΛلBS@PT4Us0gqQP8TId'V9EXe0*tqF6+v|R ̭jh Wx:5/Bns \x=pB4ȠeIuAm&}U/tC]O<\D0Sy[^E5.(t&T\ zؙ"pUI9;u +'ZKIEJ(mdmzE2Fڝ ,fTwYP/ ˜=ߢ@tC-!Lٻw*e3FXe]رnVS̲L7b@faHz ?N8 lH)Y |=i֟g;jM{ȩ|h{\Mfg]YU,:/sMpоF۰2=͊x1M +"uLj݅'屨-8A# f^o E_yǣ 6 ++"m"G^wEp&[[-VeNl8L3ɫ(=eF'\dP0i~< B<43k,xz81aN_=Zy7gf\8VPcJO$U Rt|$kd.V<"900/kt:#% ?ײ:'ϗ)h76 % D~bOBD[>l iȠOk5xcOhfD-*Nqu,UaPc}Ź!l p; +WY +E$ATLK<痈WoNZ;10Y'r)SI/sHhj:2_=H+Ӿ@0g ܳa9[ `USJDw-i[ 6zxy`-vCtOO̍̽DOckN޸"J|弤|czvEAGH*8N+^F)XO$0HP6s,/ݺ5%nÉ,.| 4x aOFFnk`\.eplJAL<ل5Fe6Hs0Ypƍ= +k%xh$^[DStmttM;B־<2`Q*tw37+~2}G8P׌rY9ϟe2K#NƜIOq$Kb p1X q|}]K$kMެۢ7C`\TEUz@`^W 5> +j%G5J]tW)1P4(hHEo`{ʘC}iOc{0Mr1M4f( +>h! 4V+fPTZ>}4@Pǘ:f$(\Z 8}g~.G&lZ33nUf1 ju믎B 5g! 1ryGda+,TX(`: ɫ آWeƄI3E2΢""ƥ+;EI|21^GP,i!w}H[x XbZWba-LQ䵁p JU +u8;܆b:{.iLJP^YF/A\U@z[< A$dQ-VE \V.|i}ugq/Ut!y% Re&憬ʜ} V'ʼ&4-v9x~qIX9%*^f&ceY=BQ9C!@H>If2̈!A2"]~ιUY ]4"q!LV7/w>vSiljʡn -w4Aۊn8Gg/z&}.ϹsynP bI|qL{ƒ(fgxAKݯK731 8zUU^Mc#Q<[3ѿ,^#X2B"(qqFs:^3)~& qQ΂1k(~;`JbCvT{nZ΁'GDԮ!| )eHTәmBhUbz cbX#]cx;weW%RȲY!z09;+#wʖ0K/Ѯ9gUsP +r؋g1x! 䆥YJDy Xs'2x(YwcL@?MŠ @rͣA }ffj1բ>6A9{N#RO;: Z`qze! + mSO])#tۤUd>.G`x01KH2=OX<ȼ4+(6Hvup o]q&5|Yץ4JZeK%ܰ$t]$2(;FP, HPN5: +DVɧ ]R. ӹy5ȵ[P&#ֳҗ 56Uӏ]Ux7@huYr0s|RgHM:%gB +2|:*b4PERkE<!Hu!_$2*ITzpm_n9րZGud)7WT t݉lvF%dKWwH{B +ٜ[HM sb;Vv*, giDpۭnY\6[W[R[$]E_D\ô5c_&Zy =X/U7!>ܬ+{iVYU1N&)l wZ.Jqx"gι=Lt_b.yu9 @L#lctbcGB~#0`+fw m G]؅1G"kKJŤ (-%E!omMl$k1fcΟHh' jq"bӖ)jeQEhG'zRj+=H)ZW(.F0k{a|n%Yd4 2?*? 8q)2 0dܖcWV_zC] 안oWb15vp^h2WT) 7ngm 1VIVyjBUÞ8cŪn!+-ѯ%Ra~ +x?kx@\ڍДÁXC +Zp&}qWƝ*rJ*#,q-Ok+׉YxùS(ϳ_n23#y+-ӦD9?>mI8e<_+ioS&RŤ1W\ܪd0{cEҮ"jNo|ܒg$#X`n.Nw!݅r]ZEv\!ȫydZD~5#Tb+qUΝWV- +7\O=u11>΁w|VQڑXv~(ðB$}a؎B?t`*іj{*y!DY1WyǽnF+L0z!aamU &Аof8 L୭=uIb];/Uh쥟+Kض4 $r\縨(OӚPM;;Rg.@\eu Y<(`ҘG܌*S Z̓65WV 5FUP1J8P˥0_,n'8TT ȼf3líȖEaj=!S2JA&V!FW5bxQ٭K= +X9\DuV"O>zP\Պ=#K((;uBkàa~7kt9Ob?Z_A4HFxΉb[ǹۣX{_&Nuluq^?ZA-еgq\ +wR\Xת|1?𴜞2o);=lWF,B;bq z`tq%l=zxLj)䕲 ,kߴv^q/nf .-O}R/I_ku?9Y0ެ-|hbқJ\Jي&59hN`n:^r}LV՚q҆4j66ischQXrUb<[R*-SY;l YWй6ȱҖ{=? &Q/Վn)F[& $L +Cד+]l=_*ۘHzY?^>l۲BU6N?&>-_qPD#mW!y9pRkOѕ;/aasA#ayL^3@=,ˎ)6 =:?%R)ӵ 6!4߰ jϰtM{)`սiPc`$]/!MӥY8-勵"58ڱC:g;ihuY\SHB䕒^ݦ5oUaTbJ]J| +>TWs7R 5plNj%tx,) +[G z6rRK/Qf^pnsڜSمV1t +`3u S*h qtY`R6ug[lGe+ylA=_Ptl\Pm|DYL­FC;v[ 8 +h0,u/`J+xj\N\̩(_09ܠS*\/`kQ?UsQnD^mϊ9R#I}矿իgS#߷2:Y3@t`}DE[dVI~$-1 93??_Ex\|~\ܑ^@O'dD"%RY!0!I0c,e'0+4ɞlM4v{"[?\-Aދ:UTo)Ԍ=MeYشm2Uf|czތdeYMe I.(1?g}iPچdP%Hm]F١u&(9F\o"y[[Z#il~"*);]q,ѓFAXW<:_M,ؘ:kRoǃvΩlzq='h?"/ś/T0{oEZϾ2U"PIg\I&oH-Zj +%?3ip^-!y@o~ +{y︨1bWQ8\ 2zCmP1hTx$67cIXكF. Íi٦gl,eZ +fq~uvZO#/jp[[{Y-g5{PA +ʗF +7Y)GL/}u%%J[ЌeRyx;Uސuq4;tt{wk6]xjffd>BW_=J<ܳ_%{] ~_T4qj8u n4o}G7 }enᾘhG"MYFx3ow,:9ƀ }ن;5χaᛎ_y6 *z_gb+"d*HR%VZc\SGbՖp*׵j&Ao(@u-="?6SL9'&]j!єY {;fB)Y37]Ыr++а*uXbWk 2֫%I:(׻?pоh" Gh@]~I q볃z.(rJר7rѭPDc|=& BCFNtg[/*9iŌEO/]Bֿɛ=?"oӰ7\5UeYi`g9*<G!B~7ڕ!G4Jmѡn><_<m'I[S8䠮q*Jv:F\z%խcUQC't +6ÓK ?fx!"b84׵9_9XOuCzz.@گ]%/n3XEG1{+_[V +~Δ!UR ŁEP!mgR R! n.bj9sj:Q3yS/a#80P] ];/^,3P7˗[}*k2v l2r9 j@ϰYȄӂ}#kI zǯ5ssRv⌏W'!/B}r| +*>%\mzP+ZJt/ؿ- Jݩ;|7}!הfjr* --5 ]o8FZR@} J]ak2xRƤQ5fg ,?B_X٢t) cC ѢX(vP''D,w=WV2^I6gz;[Px 1P 1v‡R\{bVڏeXB8i_ 5=9@x6~fx'R8Z[#lv2ݺݏTRc2X g,-c5ols ݛiG#}ns'԰tD82(+qlV*%NAXH񀎷q:ٟsT"KޥbPD5k$gy@_윔YvN~L2I%ßxk0Ղuas4T; +[KĻW({ȼåuⶻ'N}a@RTd!F9/v;%lϋXfAZe_Mr+)=_Ś sd>[G駎/ `e[a,<ibJ .ï̚sJ Z :?fpYtd) Lu/W0[&],ԑ㭼昦[Ky٠\C3-NenJsá*E"8͜T}C 7j #0J}uѫ$*pdTJoE^{"Qn !vr&$wePxSer+aH;X[N:b!d}#a^`ޖӡ{TEaAHmOZw9H3s? r} ϙ]LTz&I`|rnϬ\gЉ52_ys;#fF@m \*كaG[4@J~j_jW؅g Z+,b]'Woـƨ,"s"#g}UR=xPL |{zujïMEW˭- **-:o\u^ϣKJ\BA -d0> kQR͇Y܄krC~tLSt +C@>_ܤNjdBag_xXOGbg Imh ̭4n/C0'ݳÙ<䉽f97j%C 0q910gg@I˹~P ;:um@V_-CЮ1Cj7<^^B1CRthDZOLasf:Y/pzZI3<!ȯOHI,)țQ$u9`129x+:UeZFZ*?##`/I MG u3l{byAfm}VmI~xH"Q[/^kFŗɢ37,Z(·)6wv,hw)m猤Mۍ5jCV +F'0+NÖ +"^fč2ıOkPYTaaSXL,rF$|H]A_cJћH:Af[ft4W7gr8)e='kxDa)OaҚ[X3љzTgki%-WhjR)ZlZwaloj>Yf˵XÐy~α$:Ά^8|{bh4nL>21@Vyo@E⊨E6Vre7$Vg_Uy:&v~I9뽂WU<w)w +g+SLJoW>KT{WvSwhwH/ /r_bچEְLY5aɬ3c'oXB5׻ :j2(Au/9(%JH`'ɹH+(K( "͵\Xڙ,1K°x/~A ]lA1yI^|N8x CB138B0Jtj:p6QbiNwP%݈'ָ0iƲy4`$'(7"4u}Q_@۲1'\5%ukkwn]kf+b65#/L<ɃoT(;'׳1]wҟ%JQx8ϕK>~J~_u2};2]u7H)%D}'j&h$7Xv&- %3@bD1[L8yoY[e侥c Wl8aȧ]cҮmuX^[ +K' Y&Pb4 X6W畾уKxw}ߑEWw^?QXŃ9XH ]2pfc^ߞ}ͩEl:kjauB0 H2Mzs>h81OS>e)-@q>!&N!?p|hAhu :hP6 @Gef_|r\/nFA3&ݞHbVw}dzWnuifxPkgv izd;7..zb\#/kn©K7F\؎ڑ(QKp'_l\x,Ols$ +LuSír&`ʝ܋0Y= wE˻"wV1D9FKld\3f$MR52cmQST|_*Rpwѷ+;/1ޔ1"z16d/X 6k3hx d&c֝ύ'M(aA +4&Iu[͸;+*Ҹi@D <7gU8(5 UZEgCH{ٱE^eL`\u#Dch/`62o|o˔JH +mF$랐Ǝ[uLMt摌V؁ô_C5fӲ;e3q♩Ro3z-)+Q7 c^&(l xU]M`g%wP.RҦ/# +&zj/K1Eڪ=dsвEY{%r݆Jr:] S\- +&S;V'zlLvQ!=o"H1 3*݉XƺI#}7|;?xې˸{LuX/sQK'( !S yYB]fFxLefkAql,*׫$^ul0i !%]` l}oΜHa =:ݚBMԤ?{433&ze/:ɲׅgIPS=4=3wJ'j͂^ie`󏤙vW~gp~wwX6<.7zG4bvc(B v|`Vx6%:21˾GGG(J|{~FН%/ݜ$T~7;|uz!{Ch$ϻb1Xc4u^?З9<%}>zߥ/ߌN1ǼiAׁP("iigl&|hc/m1W#Ƙo<&*IV`~vIPf Fuf0DTS[ Y94׵7'41D~ D14GPײַlNAaR[jp[d1j9rs&flHzޙzVdKIcnVLq?x~881;6Ř0qg~(Oj7m2G&]$6~kyS K,"=Ǵgٸci;rB9j*{Pi쳳3,[+vnU \ؓhG. 66OH\@Fc1džkSa޺5dϿbY+E|7` 8|_ugRZ.p[v_pk+ty?Vc6.9X_,7}lY)a` ϔcb}+궄#Pχh?)EQ/<>^Ι{tG9,؏B뫭mkSM#qLFFH/cq٫GlWt^*U/DMb]oC~Şg0o1S $ {«DG\54Nʐ-Gpmxݑt=<EFyBF/-}zB?t&zv؛Qбi~`QM:UIa46|K-&!\X Uc[82 gY,e!,?$fӫl/>Pߥn"K J՟ &%*>f`7 +SN;RNXK~2$Ȅ/.#j zDB)^$݇{hZqm;>C7Bsx9acJ?Pnpo<rn[< nm^yjT?e(-xwz?|(9ɜmv?O>d Aa SZK?e 1TP`;[t!F8kQWfq$jn U7UI-q2آrt +H%97K`z#&H7qQ !Ny1FX\hƹضmˣcN6 +T`E\^6`]e&Rw+m +SJB'č[+o`ToLäIžh+guҨ[`Ju*Ůu3c-n} ҌB6-#_ܵ-~T]|z6WSu(ܙս]B kIt_ĩKv|;ގSh/ܽhחbyt}n6J 5tYWR (+{z^E/0GLeR)=`r]2a5]vls a_v_p.=lՉˠL橂f̉*'Ndc#6@m.#dvgV>LHN\|5A1U hd%29f3 +O:KŏTn/]g$B;s,g$peӪ? vEV{o'E'6LR/`${ȡ$w^L{a*CW)y_J/) "O8aE"G{kj_e!XiD/_ʻoa;{Rn>lF%S--k}\طŐ`-ǎ2Mv+Fr7X)o|J̸Us6~//lg. +j4hN,ȘRL b]F܆~߄څÝ9U/g=Y$) 䭺()Ɂnpv>'*F`7)K}.ciu,>vĢm<-|;^r:ʳeS?^:,aiLF?|CuB݉1ARB^j!(hzp10$M1J.iۯK|-T ^j4~KSJ|uVsGAȲ2*)pz=TM.4/gLiFh8aǙ}(KT+O<*zt.Qml=jۧ|i%;zHHd qBp8&VH@[vߑV~JN 9%cBZU hZyi]=7g窱Qa`V{m)׸8y@@2!j7wGMch?5k 0' L<\\}-KtgPsDYz^_5._s=eZ06Nidb'ts)+:!cգqP]3}9M>@ -LnGF ã꜆C6 t𐰴4Ad;{sq0 &k=;Ph+{kmo2{HvUu@'Eaf%x8$}swbFRé`†aN[x`4,\g+=|n;q>bcK Co-ﮒ.y8Pڠ0d֚X$cٵZR2T_^#Wmiu1U[;[5i:ڡX?>V!0#- \ή +ABþ%Eؐ8[yɩ)Os-R +7Ҏ_8 Nx)V*~CpCR+Is"8$)\;d.>%mhWj*K(K{D=I)enr9CԎکi]zϬRVXaƘc(k|G,+CZocPԬTs?s8\Oi7\$:J_v 1."Ώ @’ &+ N0c1GXw) M3/6Ɇ8 N^v- W~Ev|1v{V`r{7}ߞYQ*4qyUdf"w![8MaZ|Y%|}립%]ct}ns7wSLGgpW-k"(#D ]m>S +\1&F|DsŨ,&ttEMS뉀Ͱ7VmH΄- }Ē&rֻ:ȵBQO  >NN&$j=1;Lb%a +4!c |,]Op$r\O>D{n;2'EAG44= E2 "Nmd}k+fҪ)_oet[Z[r:^R=e1Pj +"7PSe!XoѤjVʀ}ž홒(="u'8<PvɅVk +fNcj46}~k\-!cb~ [776HˠE| a/]GSâ WXxg^De.Ok\K7+-+Hj18QTWF/RiOsyZrkKZARQ0Rh̛?{/"욋vjmgv$*M~TWqǙKKyu ˆ'q6`#D㨰PgBjngE@{ӹIGni(m(^w(J# /8ՑlേCA7|[4\ZVxQ`dGWj=VZꞕՙUXt=6<` FΩ +X!3Q-]g.TWh#TeR^@jxG=ogKed"B|B%ӵ34ci7\CpXǂ΃2MܒP;VzI['JÅb 8 g),x +fl9,CoJLǼ&%GT՗#m׌@nLI~Ʌ 0W{Png :hTN&S@V& >lN@0c$jk {j=n!W>m2qhE{eAs#oBrr;b+ZJ )toݾW'5RWrMT/cΉgo-cL=.#H(~ ϨV09d{Rk`Fq޻P)gPw!9[|F^YbxMxqxʢ=b} QΆFTxt\5oўYT6aI*~3Z +ojK62%4dM"7x8Ick+ʧkُk2g{pe/1cX2Z|Ž:kPCo@[vtÃJA=)oEIVDa|s/JN-0a%(ϨSb Ӗ׋Y O8FE0IL ۠M.K}k muSE&cniAM/OdpV&g*ս*0# I+jaZ6oRT6`r)Ɖ2G]_t.|JF-AH6-];8$n. %]Su +qNjjQT7Kdp)L%}<>˨m5J~GT %+z8v-jҸ9 ğf๛>/iU~Pk{zdNNUUE bѫ$FD8{OV(`SQT \**@ju;twf|Q]s7U*Œ, :1~k]prTsn5zH@Lz ٽrxnfqbr坠nvBB/oQnF8tba:)B7!ZN"XT$wvB<qwn5 }թ$u\;B(j3S:Mr-PPAy=Pw+ss؍:$jM:v;٩LA!RZh׎]Y8Vi1}ZYdAnl'`Ff 0tB+xB!|!P)~n^-JFz܅}k?ݙD|Ԗ?Job@y[@,e,׳fO|ZTNOroZ؎uXdQ wRLv6wWn=0a~:i\َ5P#s~x6iB [fٛl9eQ#h|}  u=! V9ne/gųO #AdW7mxa? ꊝ8$G؎; Z;KPyEc}aL.r<ڦXfG@@\Qjmge1KaJDL ^t"S] +wwVkx8!{WVX*8\B͜yY=apf:bqYa* {E68SV+Y-)ߧ`C'/ + ՕTh#s6.a +"CN/?{^di贈C+Y}% n Jۭ/!Wܹ ^WmrA쏭_ +=`['*eh z;-7I7QYLܦ]mӡY RD[ЊѰ3~ad6N.Ip*0:ϯNZjTMj2cO4Hkt}Q1M%e+,[nDYqoZrʙ3n>Zi#o):^KǴgߊVEtSdnЁÁL(P;0ZLYʮW6ے#ə.d%j}~6Kb-H[Fu4)!~ G?,fE5J9u)Svݶ'!("gB(Z&` +)Z A*n4ex&R)Ca,H}hf5wq˕ulc~J37Re/!#Iv /s؃j%խT߁UJK4gikA-pT1^,kM񍯹fY^RJ"Q؃ʋcZ{\r}I3/1(M\hMh2tp;`. Bh Ǿ6(.A"EBG=dAZETGDyVdшn{ksh#%~#@bg\^TcI`j>$ֈuk*sRޡU%846X!Wlș[1h/ ՟׵W? npSS]d;BA6kRm‡l!ӊ X#*[1h9J<0+H;Zw!9ՄS'A8T?(cs,?c?%vj:!%JV"ƂXm +$ +Á]A?\0e89<˼][jktc~hg`O&A֢@ B)F%o +&bz{MBL捽*:@dzf[uSfz/v0zܥЃ@U'Lhe4 붪 +LDv,Xԙ]66Bwz%kHcYFKF0r]NZ[1z]WYs,A +k-,:54ؚS(M޿f۽ V*Sx3#/̂@_k%" ц-rSގ TCΏ8U\j#09ÍTy-;QGd(GO=98z#O#5\,i (M:6 GyQO08ܖbdyu?ڙOX)'GܦП%GSW0kH<;q#hsm?52ԅ m9&%C&5 KSM+iux(tϲkRv!`ޓ;1(*q +}\y;wL*\R.CJƤ}^,O&݋{6y {"yS6Ə\=С/s9?e ^k:/.(6`UɻL[e@4:U,f* Ud55AY˜9n}1'r*nӶu&S*&ES ={ypx;qErR'̣Tpg/X"qwXC`ƣ6v??loawqD_p?yk.b]?Gj0Ih +kn>cxO:_<(}X_8 +XVI@6J,iM<@Rh^=:th7k_v:Qv.;t0GE瞗R^1&0tLi?`VI&|qZN+$%bJ2"+!\}Jgqf)ҹYGWO5*9Ru1;Xv Hhgb12ţ(0 ⩑AѽUI +94fofڧZײ+rNpq<3-0higU&?i*JW1/r St\'p[VyaJ>{ɽ]y{/v-X t`euοR_f϶6뎚DHոPq5*KOD~aATcykmPñ,a>a6ҍ񨧠j 9  +h1ڱ굃`"bqN^ֺC*ؔ;c*Ġ*cyT?h09d ܮA1 ,366Øfߨ#a%QXHNBS$y ߭eDa,k{kqlU**p<'exה|P/et|zdCuঠVJcN) Xi{bCej +< ڃn!!D綊_V-)py3z10X.zNEy:*j4r ;"p4cwa%gӞ,b>@̓#j`eUo=1U[a +i!d( {gķJ&d=[g En=4-t7! y#3ʞcXEo^ zuQ2 :9{8*E*H5A +ţ4 O:/oq0qG+uŏު3_pb!e048buҾ`j7!I9럻IP,/Q,c*bTbJެĕ~ ŗZWS` +ի®eYF]ҬIR݁i~­/d< +ڤm&sXo9gI"p>eN4[AjJe|Oet_"R.sh(s|Njhr+ht_`] +/1rv|UYN>0Tk}ـЮz.;1.<ݵu~J#KqU8ݿY(Vmʼnv%w2Ż6_p19 :yҌqV\Ii߃B}3luhOΥL2۩m R87  _$A#f&!dX&qD|qڬy†o_0 ;3#>J|)v!/BiLuC+k>`LN+sk |h傘WOIAYԣ-tTE7^XQy>tihS6d<֋ɷ8k4[,-ܼ`-?}F9բ ŕ$adM`DԸ\kW;Ca b > Tr$To|$j.ޔ}Q``#D5T89w`ut >|a\ăGvfMGiId&0Sn~VQ=>+ Õ'xa4Ay8ShG,mgg0uK}{&꫸ +rZ<-}QDNt7IgWCwX&\hB[[8^QV9@xP92OX߽̑zzbaˣ"@M,yMxf7ϯ;qxET>NPXw* [lTd̲M`w\hIS|@4`!o$B*|r̟`U$0о+ۆ:T=OW;#Jd"eecHcO)Vh]"P lBBinbagJ:3 +GQ{B1":"c@2 +J}rgQ-02Q0)btaj(^2׌es#8E?#:N؆GB\dEȀ,uG|j|_|8g~\?}7W2Ct]* zuݍ8}^7b;@v=>xS LX-0Q)4;X(tg7r[: >/=6&J<{f{ic`bcewQ[Lg˵v!Q(7~=z6zC1Kfm'M@0Ŵq,ֽl[c2cVTJ37f{IIqQ?ES|>sP"2#4!ruvnXdC%Oوw[!$ʻ;RSPqAkWơñ4~Õ)#տPR"/ ֋[bJ +|n + ԁAMz䯅Cٻ$kb%dsN< ,-_ENODA5koe;-iv'T'ۆ9,QQH5W33d,QeĀ!.@)Ҏ[vm,0xw@waFXN,nC{PLq\)á\P.oި<"?yuOyY7AXuTY*ZV1:.\bD0B +[3T&Azhz{j7atZ\r,f%r)17h!2-Dj T ֧Jգ)K#e#KxP.xSO:SGi^no],~ CvIwX N J)#Y:ک UmGqx=X;R9vr3GtM`GthܡTӾjA^纶uw2Ѯh_:^sӲeui^LD-r`𪫬}w";ڕLd37.!!8eڳl6O,{¡rpzzxӌxNxx)ā,f-YL^mE Kݯ6~]]֡~П4?|Tv^e*qɳv&'*)WҌ&','xr q4'DKY|U5.՛ocNmP{l3`6e'*7Pb +MysmV܇vXxo$Ǒ 3:ھ{dxQ#i0bX]@H. aTeFGwF2@B.50ӥ7 ]J0Uk=Uxxf= 'lM Ff>4l'[~hW ﯐';_{w22YVPOvPsտ P/{5.Fe&|Ī(A&0irdnEujt:aY&fnFyYz18u=5X5wCY *rx3^)y2]8.6 aa~khʇԺN\PNfJƉpXD WxC WMR+×q4/Ό:9*;ƿ0zf5hT{vSL@'Œi[+gkOמͧumPoL 䖉UuMk>T0<½PǑʼnw^j [;6C%P4"!+P4R(DshVof) 2Ft\z4c|6 }7zQoFX&XL#%!P8V%!f_'(iH@F~u,zC9!`~)(pv ubT2;.^X'6O{[(_ts}}\Z"N+]}e +Kd,+~%rUi"'h.ƫU d*[h~f7JltBi.a.eez(=FVֽ(kݾ-lgB6WeBzxH9`\\ #Oš{SZc{>[՜r]r+[4LS%ٓHҼ}FaDk]-{b'Qc:8.5#AO遗ew"}xffȃ jOk' n%Jf>VHXXqL +O3luTuP)JRH4`2T՝NzsD~2M4MlrW - |+jHd^ +Q^Oo`ȾU7%9i 3vΐa Ʉtk[E<>ϧXXTQꂿAۗ?g}9}bvG]'s>Ƿ~'@' @ؽl6pÇa˺|ׯ?{D#[_R;$eYBƀy&?=o>};M6z*r+;>MzCDVXZp +y~bЄ';ąV=}O;@ϸWod~6i͟On ;n S|@N,)+U>>|4?AiG~hV́ftלMz7*}2KiQ~ +(ƷawhotDV8 ܚ>.cuAkѫ?/ƪ`*MסmuLvNw?j0wӴOdyxR4zdC0Ӌ+(NrdPɤ%: Ķbۡc]Jl4@ +0!4Z_(wSzw+o?W$g*#@x>/~_q$UD¿KZ'dm߰N) +턁in !_>1=.'O%PyI%W-)[d`Wzӧևx +t|r +/&!+·ڏ>_/~_$NE?I3>TZ?@Z?.w1}ueqǏORnMg"`aN.LwiSޅ6(N*| X^~<%ݿ?;+DdÂ֫i>y 0}懓*2Ȳd߯ߵww2mo[Jkxz}1?<DoX ܲ ˘%t$ ]6aMkL|ׁ^D?mC7 [26r T^۾_%]U b0춨"# mSo dﶯΦn>|WM\b'/0)>|y8(؜N3ahݩ   mćthEJ.sC)3J4#h[awݕf bvhƿ`>FmΏQLk5{UI=Wo[ ꧐]Zy؎iO%L;AFCv. k% .tbZcu/㧧y򃿝nBAÜ~ohw|ҡUy%)Pt3 i>9_8^W0Y9)qẁX٨S{??}z,n6Ǵ++pPw?Os^a8Iɑ&jȅɥET_q{a-$3+"TU>QSsXjtg,3e|zGuznmӶi?8ıMb0K T z=w!S ז܊'~OCmޅڇ 9z#hY%=H#n<#󣮒<ۛzv黯F~&|]%4v֬ #3W@T?w_M'7y53mlVNؒg )Hޜw/\%S/JC Ra/DI!_,YT0BZ䦐iOWUi_͗jxO/i,TYz1{ LP5<YqE1LIQ!pN}VoV팎?C vw6춱n~eFcE$CD<_q&iUj2|K`k e|8J/'TC}lZ}ܗo䴻77KYsYLq, Asʋa#uS}0Gxn7#:c?8}>@mqK(}Dt&X`BX밯\Wn{{)OzM/|V?FSbdmvӦ>{tv 63Hh:իjdvԊ +EĨnQ55t[tT[Q?Q%yuvǛ4:vIEltV_A (K&T>mą#Йs{GQIVi}n;vjF e<\*ЦD^u߼=]pmaC.|q9$Oʅ^rQt~s-58$: +N=\!%n|'or)w5iVk3 $P.oAXŹx=[2ΔXf.*Z D|9Nt<}C*:*R#c2.D:a:Ekp_.\}W7>١Ϝrk K\n$Y ԅ[ F z_q(SO?Z&aM>ťs "/kCa܄qd/(9ߌ%e#&SSwrw?Dyx88<ݍDz ta%N7n?ZN g-Z@8um]jH?Ž1Jn۟)m%lb_7?z󗷟sH2{5ZI'zb)vKJ-6a: gf<(yLXP=Z:u*x-Z,1H[)9*y->Q6>Gp8NTۍ*mׇz'4ֶ~SIA &M@ + Ϥω6$ׂx&~o~Yt:Fvʖ&҂[?fz]o^]MqS9u/Bdҡۊ֣҄yH9隮|wo~>D")#NJZM6p)jn^-#Z1N7:gV>).@8mZ?-n:LǫkeRފ ݇EVhW#QqP7#:Xᰕ\+ +/;3nIQ_7 +{wjGTYܝ6ӛO~󛍥^v+N)(՟^שnׯWۍ!dkAX9J'þPTč l+[|܅2c_g׿^"Itl2`[?}׿3RHP7uQ#=#ۢݤ58Aڷz[^}u+ }EV~&&͎\ׯ>*Rm]F6j#,8t⸒3 q :IRUR%{0:Qp̵g|g.!G>7WW?{fCn$ V`Tq!8#=,^ǩVpPwes<,|Vtp hT0O6Sq`'S]anW!lOtɧןqCԫĴM% [cbI%?]}E=|W_,%4ft$o@vkw$;~8p]}Ֆz<lX界1+f^F t8wRbJl~6EpRi&Es%}Rꊘ7z +Jh4&fQKAwWoV-t1)QEbW2m5◿z|R0.~q)%;)z\;'nF,GKRr'l-6zIKAL)ڱ?~ᐿ{xdV*~,%`Ț$gj[װ p{{{}:AE6p'>բ6S|:2gjt Ϩ| vu% cո-iX~.`DJ!Z^}7F˼Ќ7`"b/o?G?$F@oK舗Ǹgۇ{w۫ +jvՋ3D7%`Ѝ3)\ 3'5-4 ❡P9M?oF6Cތ?ͫt;$J/R&"@eD~3j8(JM~ScaXo> >o0옏W'޾~~_|qفMSޱĭJC7Smut8)mjw,q>21Ĥ,2> @l9 +,yݫW/_~PZ䑑"X>;J8)= {po%lo?tl ̉5uV7 W&#;Hގ*wś뫝LeH> HfcF"aY=׆vP9Uy;>_׵_(qny Dd} SGf8Z=wE0OyW6ow ;qۮ˱خ]ǂ†otxUx5]\vU$=(rNټQd}uk n}#K|CTPȶq7Y04'(:bPOn^J{[Q\ZO[d.#Nxa9Wrq;l_^ZE^_Wz`Ym1ea׎P?FSwtDiuA՛ŀfhV\T9jV2x?S/_EVmnH[D>dAovw3^ 9.Ed V\fdv?J`>}ӑꃑITUSbLd2fIx +kMNkH&aȈؖmvwu݀?g$Y¨hBEqP5}h/j-iUlc}wJfBT./tU۹!ytv]aOzW'MZ>HsۥP_P6x$Х &XX9ja +5?GtOP7WWZַT󵌁W WῺQMWjF! ݙNo1=T,0d5`_m٥ Šzkr7*o/,{Z=T >lX7U j!j[@6b r٦0cnl +X{"Q]G{r6ɚ5E^W ]:υXim_Mx3dDmV>o84R.nJq Dػ̲+͘|w?ւp6yOGnQ1#N_ 5cTI7\p<ZċcՖ趾&)gFCA1%bgh:'9_h_!HX?$y̰lf!${dO`5},AeFY7+׿W~s}8ҫz3N.Gnq9| s/7blru;lXХUͽxbsWsQ݁,tk!ED3LJc>˵9I@Q/P4Ie6K϶Jf%sXu._O(ߵV%XZfW H  PsMJuG(<ݕd#cJ kwW:.g$;زiwri2oaD/ݴ 5=nmç۝I_禱BkQiG/ \Uۺcmw DA;\хkw>E/&CU"_w$-eШtג9^f҂ )̇]G9ϐGE "R)D! .>^)HŶvzV~M崷xKKZ8?>z+ˮΧt*2;&Nx6UzW)ڏXl/2 +|zjc (Ff 4;U Œmov%I_Jq>m֟{%80Ԟ@UDE. Оpi\o r@(lEEr'\GdZuxq@]V`_*6 + } ||'$N:C ĵb1c(f\\qwiC ]$Eʢ% cA}EYdx:p/A.j'^a%;_{ck2VasQ955 gR5K*n) +YDX + f@8,PzpR-_ 聛PK(LpV$yc+9yS)-%~d=ѫ +|3p%Dعgl˒7ͦ Dr!e]pnVH}eHtSIq2*\U]EHqʕb zEr<$>ֶڶzQ8ۭH A')jM8Z>l/8] +dB|^gm2[< (Qr$K,v-i2/D~i2 x˴0̐^La 17Yi0yM뤆ȋ*؃/d)O6LEo" D'~DRg_c :zHb|. ar7NW3-RQ!<;d-nc\?PŴH >."$f%qWxfo:LX1Ex< sFkURN3ܧ3kpEk"sTO9("kNQi6тgt7@X(GtxrcF={wJiҘT((PS N(=$#'$RyFYU_\s-A%+91: 3aTغRe)qP"O#iF#E=\h[H.W=Ugo ۿJ疾i`I6EJu!ІaL!"^Y2gك"D@G5~}Lr )ZŽ.|缩f?A3uF1g6f> fC(kS! akgSE ͬXutRg]{2ZxVDwbT!#fbRڝ֧e @A8vkw|v <զuA(@jS*{4WxcN*G zSΜOLoh@QQVܸa9B@5s6cfBOTӊU$ +f&,Ӓ5'N*zb ^cxRy-UR>^,4 ݠexLuCV:+H}@ N9[:MzZ[P'qց3 K jAOA(x R\ֿ40!upbTYF&˽WZTQ'Il`[xk2EFB(s2QΣ8,l&rf{jՁ* YjREc{|XFFSjR OHG>#BƠ3%6vKl G//ZF̼mb)ꓲt. kx~>;5{SK=¥Ҙo(]RA4O(z\(FOLroәM ]dӚlZ/}KtӺa :/+;Z%nUPVSPy^ҡ1\R՜h.B;u0|l|k [ @ A}`ϷPJך/Yk[Sѣw!]kg<*+B]\o6.)K\c;q`(W5HQ֬Q k޾gH"v>c%_&b +>1(âP4K;v!j F!tzN7Jn_2ŢVCIuP 67-cuOH)6,Ϥa Q#4y Lja<ǔ&DansdtpFd#F|f3Fn-ഠXv%u59SiLyA:;E5- WHxoǀЋFdEE5+a6]8%Jj }{]7c" V˺̊)&m SV,RvE9j{CiknLݸ:i\5,8 E0qP|VAO4Hg_2== /=S5XeS]n)lS:đ^ȧ۞l*ifqbZ$F>LJd mߦ P礩''}?,~-x>!%*b( h|ImTZAsPWJXc +3i@O1','^2ZJ̬|ī%U<-dbFmy*קXM n^~l'7V3Ey%ؿ'q}d{{!ܠ@>g=,n:ózf +^ʰ z3V8QoXc mV&;Pzh:z4CH5bI?GM[[X_sL g#kAI.P2|vS>hJ[5TS%ٶ9ٳҫ 7Z[ 3/ + u+=F1ɓw34ub9 nAd6W2jeV>dA|ƅ)zy}&|.QE[]- +^S%)IMಢc|棩7xpDVzԥrxYdq +HiG)kwӈhUa@z' csxdrtɝߘOhJyIf#/BnSlh }an:4z"੺iY;)?>E ܂mE*ei-5B6<[,zbx*VIɚ;t!ջsmh[,r5Q5t6s17Ng!!w(2f _偟nﱤ[z *5^>QT9r,85I!oQ,ZWx| GyI`e+Ⱥ5EM +P[v$ie(4v[EuE,Ya*3lG()fJ*2TtS퟈۸†5/E%S Zr| C1C6Uaѣe3ׅ*rJw8j%dV{4Wʯd_FB}AN*I\sҨqLg*9&mraF|H Ƒ[G+3jJH En GY_)&cZa("1Z +v`OU?% 3$??. _L;A67.%X !"jY k_:qq{4k0s=Q!RGXGƊuh̠fVgWt+N9ɽ﹧2_`q>+`~ҿORן. jA45@󰔠.rpwZļMcwr $_ brWbl:bdBIvQ*k Kb#nϵJKg!FtI1F bGN~|pZ f}g8@O-Sĥ(|a=d ~˝HYBZ*4%llQc8r&RVrdqh/[hxf\ۖF'g{kjC!UĆF]N?~Q-ikK.SWu8d8Q8zaB2C[9U>~z/7p1%p%RyFli2!iR Cب5Ç2J{ӼRAU6rIt(LQĸm\ ʼ0'ꨊ=12՘Щdrt'k2%&5J}]L{wW M6@YfC$8hZނ/^WU.ۥ-@qp3o,8;ܕ9O/^Cb"ۄd 5?5J&Ðvt鬦kN~4GwrxnjјR,Shђ}`A\IHĈ +`ioHZą;}<.:8Z(v]fV'/;ha G2NaZԍB{%=XLqeoV/1Ɣ>gArkR_t0w*_ {XO>I|g%_bKCeM>D=me@8DzW\SV5QYKso[?;V&)9d&۬ǝzRNάPTzˀ8$iK,{vPp;= :OIBsPiB-#Aab1$)e@ot>#t\2WwˬlOe~3ukE>{>o8eyyșIiuـQ>7| "h1$SȄ"@XatO9.{i-Ve^iZnኔQ7{bq$GFvf$gp>Y.ǷO}E΀𘚏"Gm93.gQܽ>#?F؃28B׼fmYm.Y@z/uR"JujTD: ^![diL 9i! +a2wVNx1wmg9bW~ Bp%x$aIsAxX >mfB|X=R02ew+-{NOUϵ6!yɔ6DgN5̱#X c\-6rs? nA%7jTk¬#"X"/˙F7Mo5/T/z I$u{YqĬ^!> % e:"{52$%*A?ʘ0Nd,l +p,;LNF&xn Q<1!QgFunvE7b2Ubpv-za澧{>$NT2 PXuק*l:"k pӒx pdd%\ǭ#-qf-lS7yIj2 dѹ:/@?&;zQ+QY:p1_ؖɫMϫ rmk#?^DK%f,ݑK")7rS 5mx!M}#{=!:^uY̥swijr,VyZ|s`?j^1=CYY/҉(1(8oR8 f (D+$,:fO<핔(k7sBq, D{dyO5|rV=!M^s%Tmd4T[ꖝ]VuMS yYGCl]ɧc΍$ߝ: c] +Js˺gͮ^bݓ!"mls?MgO1uoE|;yڑ]sa,5<YYfZsi(ͭRqP7IΈnR.&fQSf]ƓDK҃M"5-?$:sM  dyѮt'`7IBs=Uw9UY`_J}X<}\IYHtPZ\N:xN"g[}Ҷϻ/ekKK@ {_9pF6rZ5ntC*` %u;5=Ndհl[P:91K!nAS6'/&Eefoc uE=Oǥ%&Ԋ:_qݯް`7]^rxbOcH&:Yġɀq4^To_*.]5c[9ř2*F;唇oRa%SKĹ,:aȚi ]̙1̟~oFn|8ej-l A*OD2g.d*6Ķk~?jGL9jSfm]6Xh`! qhz9ޒ5YsncASPrV?k›mA d _!/riNϤb 6 k1;y;5S D/nkl 6#M50 +tD.B`:fQ؊%vX}WQ'eݳ2Z}'_x'e<݀?ºieNg(_jUS+m.q{@2Ve:yn٠3zf%TgP7% +iImzDƿ+J[.򘓂 <)%L/ga>C 9A6Hy10QӨŊLi\ԗK4ZZ-3SŠcm'WYҊQzz*J/ s?I[^Q۲2/fnCDw>uA,齓F%:`ְU⎅..0UަRdӑU0}(POHf֝19DԵfcm֮F8 clˬA~z/@! nJX'I|S? cg)hJFqF;Zջh3bn ISd^Xlhg;d"ga7QՌ>)bu600DkJP$s2TlXܬgyA/{wrףUF7w[}(`(hd3/;|YOiz݋ tY@t 0>hI%Ե?>,tft1wnhIxV+4" ōic\?Ka3OhK jDv1\prSʢ*Hҏy}Gnjo(M:C$a&WDF0Œmlt4٪z<mYD4N4Di7Q-NdȖt/хԧg^Ib ''P? V{i$(pc? 7qdtWSc{ sn͢o}m}P%<ȉԎS9tcL*An$Jn5rVJ3)otunpvX,vs崑͉,y1[I4T0)uEɠӱ{20jY\8!V\mhB-aR1V)M:bulAhEloF5oSIx^x&Ooԫ$ , ̄ jdHDyo{/92Ϥ,NW0%}cibFkZD0UT@tIi,a9wj Kt7;,ːPU1x{C[ԏ$-'ℕ& ra|ᾔ#NW׳pކ:\ p2;^DqФȞf$,vp;ъPꂚ}Q|yo=Cʌcqd^87d&X1Z`K]x~5.& v{Qld)\Z],>ɲZLqu˩Y +G'tvK4V Y[3#zy>Nc}nb8gjCDZz;lp<(fN(A7%Sst >&RyctJ& + Kw* ެ,5qS`eNPK3zB,/St<Π= sB"TvnS <"};91[ 9x4PxqG\dEÆk ULmU]:buR"6}ēMZsVcBf*6n&8O6Í X-hQ5aim1)4s虧8n٣zx 9.e61/3- BVyJ^n$,F zaGȥA2R)^ֳbHr3nl{"\}R;yq4 mVFD,&yYy= 98ڬmpԵu+DSI&ʄy] "-#humZ?gB ) +k4& X@yy-hb8ÖQ. z%Q!Q'؍yƿ}U3Ԑق3}hn[IBЁX_1ZO'IkH@12lF.|F l4Ђ۠O}Qmx5NiG4'O}µљzK,&#䔭hƑVD +\+W(8$ڍЃyֈ6&,kl٫Ya5v*m@d =j wj_Td)&ħC46`K%fC^9a?͵MQ(]y\H}+J<|s +/αHsFT7Od9J6fQ b{eȵcm;'>I0NXRb*VlTgσ[ d2f_ZpZYL-Cj˽y3#Ղ{ΨQbV +cz'\MOƾE'hơ?,[im"D>E+\=LaG9KxPzXab:sEH$݀W?~QX}6eމ@ǰ,vb7׆۰+N E~YE )=hF[y "+ bդ3"Fv7K|h1"e *%k[#![G.g,(+qmJ$6f k<WBN^aUvaq.b穼N7`h <3r%AtEo-QH2@ZcM=HNj>KjL> 37s#_s7D%]V Puam+69P s +rZ۹< ^VeK3Z:ߒκ ,fw VF, Kp5]BNI`S882uZ-9,r>uz( LqaR{W/rtaFz)FĠ`{k.k3F. ?6~gަ>(a$ll[J*0臱W +nAgs6.sZ' +ixv &W9T= deީ!CǬ^V,Qr*F褪GڢI (=Z,j$$B6hmnV.kpmuG,3h!dw5J ѫ;A4'1RN W?o"]W\+8K섶;gT=bEZlP^$Eq~uD 5)Ѡ'e씞 GT "\'t`B5ՅBҮ9T'ai>@xܡ'O${v=7<;QMS'8 L^ͯA}Җ,Lfm.*vĞXKC$֬>ZJdf~Qh,x`Y0N KE vkE)݊=R8j <͠ƐfNEuRvͿjBu>T'q>/;컑ʅ!Qӓݎ݇:4NfU='E5D#Q|6͉ \[$Tl̘-l(sX[J 5)ɶNK\!ZiD`o3r. +{Od͐ ?#h;F++&F̣J~1AqJĎVQEg+o<-OS1i ɪX4;M0Yg!6iG0Yh=Geͤ!Kv?-4㥮[) .)[dMZdŎ߈U Ea.jZLq~ K{ω`$@D +n^ӝ/,a3V;o xs|;}=/IeħmrO6kaeLn]S8CO6؝.;e-Wlfs^EsyՋ]l;_(U芵5Ře= az"-f? _.of J^NdTڣ L53lrv,jv `]MA_eo c-JWb &줖gX|$>1I}zyrx~&SGoI~g59%a +E*#j{kӏ%!W. V#7XVdt,pѡ٣K]gՀۂun#pCAשּׂom W#mI

 +Oe#<{?[?~1"Y^97LäU@&REP hA].d;}q.V +\iQd3eM+86T.K805_+*6Xa,P{$s 4kSOx=H"$'?CsH~zzxra4g7X1NDXj,4󲞰G.C5(&Ꚁ$Q?"႟,izvt?H~q(hZ+ésוF}AQN-*4-|z{HTޏɅ^:tmK@@JhYq܁: t-Ń[w$=Q %UJr*wpsa:qDه*7,!P4\H,Zdia=)xv84j#&B8#Oo0'I*li;݀*zwA ݢc|i!jp0 +uaֻLmַ}6zw,oC#4kɒK >Ywj^v]v#zK t;^z3bd|'T(ObsK7Ⱜ2)'m>`?mxBSD%T/HM5(3 Qt-噣 +a=mS^a%Pse)gPv(k9RT@4ɹTxA=@Ro3WB j[_\cm?8vm8WbTh6)X@Kz֒;q}f K nw\wm,L&{^OA&49TAHS0[_\m/`&,SئŹ=C=Wpa@!A(|y;r)~ŅHpz ˪3~ jZ؝蔼+E_ ++-_\5KBzIziNȑG3@0ח.ݧ{c:_pWݺDf-rpjM -=:>Ҝx!^tWmNUm兏<4q"ŌJA4ae_x#%aM :58F9bR-HR6-`űuf[Ԇ z?rbI,cFh/#~Ti@^kpyI!4M~nqcQېC [JCf^m!mFK~Ee%= p)NPpɅf~EE6:gz+{Q+TSGJDSnlL`SBu JȎt\/ Pre[x-|Z%5DJXP.0NV~if1Tyrgxc] 3^^i˻af!4E@h8ÙMt,~)ㅋUl6Ll;"n;>rp^w-м" 99B揰CTl\79IUjc2X[3JZX’W%%sKUX)0VYPXExW} KgՂ2$aͼ,MTAsXXݸ{Un1D&1#9&vȢ6` *ȮEH,@R5Apq)XaOf.^2q, +JV쇢G2wE;SVv/.&GAp65%["4 5biqZ{ NcVb*rT_lOX?[ dr y;1J@Wu뾼i1^7[d{Fn jbMO,L_37p=eje͐fqљMw2 :mװ邱=pYz4#OqaYsIXxaj0YT\.q·I4 +,[fqQ3G'D&dm͎tŨŒz^;A^?F{oj__89{IxOQaZY1TH]rtݏ CT31dx:#֯sU[S@̎ YJYvC;x@,ІehBQsJXfuIưВɂd1xOJz~f2v%Z`plEv(6au#9⢈,+ϧ "yH$!my!ǞС nASlK]VHۑ}DεTMVJ'u29 S`ŚW8O'9\Z_+G9 $4aFs#:.C_yg6c7ҳR&E^nx!lŧouIon} )ٝbo ("m:<{sr +HJ CT|,PBO4WNZ/z~>!^8䃼U<%4ತcnE#ʺw!v*_֏I9ĥ=䕳҄Q]d!|NL0䎅$t:M- Zfx9i4e@Q 5,; ĭ!.E1JQmI +0qdS(w{?mVb'.r a]wQVͶwi՘/`>2$_|xa4?n ]>0SGNNXV!dO*&:t8eg EiD}!6˷,%4}c=SŃ8ऌ^Rdw2vPIIPQ;b -'KUSZ +Zzco<%R 9h?5oJ򒫴'@*-NEf?]50 P79:,j}uvt>6GM?ʌhlk+Гi +|+1jV +/~lKމgAD%d^sFT^be$>1K#FWs,o8K8OVƜ +IFs )T0< "u6Ѭ|XoƮ*1Ҋ te*_u奠5K+WL@EM1Qf5^Ȉ+١>T =]kάg$rMJ'ΧGd܂$jCDU_W.|8'g R'ܝKƙ8Dsr~ׇ=U7G1$KNʸ.FUpDl.izm@} 5T4h6+ńW(IsHm10#D + +XSb3(5 vR7^6m75+Mr_2iɠ)t;9Gc IN& ؍̸i2xNXG+5nX©TNOVl#S/ | W܄-s%nJސa%VL2tX3f/8yTaz4Ұ}I)des_&pQ Ά#JFwȨF|[vqI!{uy*1ckVANY1CaT1^ Y4sAtC 82t?hA`*!2eFҳ$ 0m ^$@:2Yh!?R8 :ǽ`e`w2 +dw:,#W0CT YOI][ bB %Xy!TlPIvΒ fn +O ⵍ]x[rVc) +YWOr1w( >ApN3*hH?$[ܝ-d)cMHx\Ìqmy\0{, 8xO6hu,ّBPoژdR[ 5 kl0Y !*aoHΚ~wCVTAA,r?a9xmU=b/hku}$` S.x}/E{gۣD_٥Q[i_)bʱn^3|nEkynh]'/#K -X=@ʾu@zzk/ o$;2{@?A5#jC +{-*<_QL @$ f d6?lDV;ɕ2G yG"|}CȁB0,￉e[#oijuX+Z9Ed":]֤I2a~mklܞmV *?4Ģݿ]]` +_4@8\a>C:]q CB}/+B Rq+ VZF-[fތgXCiuPQ +>Ku|كR/}#RmEy6u;@Fb[L~) q,F2g[ɋL'e/p֛B `3;\A]vc8u`b,$9( xa7|q9Fu.! }c觯CqżyWZyN'uZ0ǏlZnKrB}P'2ϩ۔O wbHMT<yXcO8Pg97ixER?tgqB^:ʯʛbø nx=>Gi^-[ڬwuɍ$9 LUdܤՏ5c珎I:3do-#3dklMCVdf_K#ljZyZ +%Gv׋s7+V\NÙU35H.+ <dR,r% ]xT7Ƒ&%>d.՞{ >­_~(JM 7qnW(ڦ!ve %OgRNƻCX"#Z[.e]>bTiS锥2`>Wh/Ҩ/U[,i|\>+uEf!ۃFVƘR xZ|?ߟY(S'A#W[ 1*|r`_%8$8rəX@O}`.1X\ֈMnTn1`]qN˿OSTS[h{:tڂ -{` ~2V{~q6ÑUmk/Pޱbp\q˾ >T~3=)NJH%I2Hcmȹ3w'd+(ly +牙E[mLI%尭owѡۀա +6Vy^pG !rh +|w>`o_Y:ݹI9 5Ř;=F1%U +^,mvK)-#11+X>,8t۾]U'qܓBCT.@`+`SkWiAT5`ǰoQ7*̿b]ڰXEżM|WH 1UX9Fy}St]<zcP6 >W-hM`xE(|Kƥ;/6\!m}d]>Z兣[*ZIbyuQS9\CnO#4hǢ-ƒq(sacQFJhzWYc9-f ܯWvDA:Kr*UXQ qV(9Uvrέ"|(i,$QxHlHo`MQM'KKVEӨ`Bm >_$hJQu*l3j jJ̌Ɏh<=ԹҊbȊ| +LKЏ"Y2cD`ݘSշxWx$'U_u5:@g<(/-lO$d*uoѡ{ŷP1V&lSY\Mr_V>#tFTfd2g Z2|r ܢGv*FeUV4EgInPZRhU%P0Eb7?8C?.)5{`~0hbU"rxU,},-WЙQoZ_^ڕ^A۵MyNS -- @d@9U/ ķFIQʲ+'Thy5es-6#G%hy}4I3g Y +f%omL| +ZઍL49ϣݵϙoC JpkTLb'$_8sC/"s=ÔK{u]e 癔yNUB`ndlQFL: "E*Vԟ"RT3S#IBTR%x&`?EFrd!o[Qɚ x#kro˥L8j^\Dӡ9˳lN(1v +GK pdNLm8,g*-:z-NAk.$ѠS0r=X-r6cT mTQΟ,ȓޠ&-Wn3-e$48Hl2ӦU3e;qh*Yb/)+5 V~W$k\!JWޅ) pRL9*PWZ!J]QS_w>S)4D~@1Mzfq[D%+ +|S{7XO@Cz9$SJ:ЩrnIA- %qPk2IT 'I1R=ó8Օ1cQzofo!Uϱ:2,DIPz%ZY3[a5YtL@NDH؄*V5_;Md'd{96?wK9F)_cgIk\O.͊:£ h_0"_ +1eM,Ep0Xv8赝Sjv(O٨ jǝ|ol2m+YXLD:&i"oHfSY 7+~E??zvN \~YwðEsZ{t.|h3&L)Ŷ9qwYTxBb!v_\ߖuEw +YITƫ[&3j)]g3:S]R _7')VY`ϭf0T6r+asDQFCSÂԲ`pb03)ϖm y`WE_r^|caf)dL2+L ,ϩ*p͕E^F~$GS9hQJ*+X;Y'BH87%ś-K^JBC\a<|-҂MI2ȍ]-FA)Kx^n 햔9,HFT l$0 XñJ@q>s9O,W60RbPiHB*K-8q/'#h MdVD [-`ݿ8= Nr--.Km"!|| J&8 +P\yEx )#-8/ģ.E)A(ќeÙ.(eG`GmŧPBcH,V^ײD>1LJ:{` #JC>~e~$;eP*,,o%Lq'x~ O1x~m݁Y}ָ;Yp "q"B0B*r얠6t0ӔBM&!lj,`"͢ + ,( SӔJ+5 + +6xu ^?}DmeY@ylZɈ2b_KZd00K}>9zY@!J,Y@C|N8Ϻ]޵$(|y44so0^W֣,4Y8,J(as9˫%j]>(87:lSj5P<]ti(:$ʟ0oSaaʦixNTމ=!fEfCQmY#%[4}c5Gz"ұtl&6yς"+"oJ5iS|??rv8&(gg`r8 Г,Ѩ1X0u F9(a{I5/g(I"Ld*/7V4(f4Q" ǃǧpI*%ٓ5`lOڦ8M %q=+XD=,"FH ϵg&*/5/m͌tVٯrC悱,ȌTИ Uڙ +xVd{KN_iJ"{n`Ō["Jpŷh +Xư7s͊@-Coa +~jGA P7šy NqYX,f`y,Ć% 18RYU4rB +ޘ CcSUxNKOshr,{dZ;/pmyTHy%'Id74,|.fX*IԎ3=,u"R܍,vD2{Qp"yv-n1PУ|dXd*a){-OV4Z(S9gcYAǁ;)Y10B\1tMIu5V|^OX~Gɔ{vGgV^? !>48,v-|\:I `!tyaW`{S C9T- 0j׷Og k}~jգi@GU>4y{=89Uk`q:00 ϒ%8x429 |8D$3bwPdzPTMm%?QEcZ}2NI㒎8*9&q<«~y1YX+^0( i!%Wc-$%lj5ZvSmmxeSN$F#[&Rvoj2;GX)aT9NCهBzKɝ +Q&*4c5Cbhx#C %(RƇsi.a$jex-i YD(sS)WȬousI Z6-6 SxeqR{EflO{ՕK̋ pm,q@+*FRcRDaB^5/F|ȅ )2w̑Vl庼iOx08!\, OѦdb"9#H(Yg{UoARQ 2`i.m$ڨ.!wU`rИԤ\9TJqx dXPwgwI|XB!`87 k Y0`?=}xɹ_;J `Z]fH`>s7z:ɑ̜v*鼥eU$Vw==TQ j7QO:o̘MpE$=I:-8[sHK<H CvL @rMK·oOCPf0!d>vݪqz"B|_#,ryiau$ sT0OB! /\=Bܮi`|y^X%R} u"Skqu\tOy%0'17ISi&K/XY~|.!?I.4}[ +ôP/t.YӾMe;\ذ26"Օ<~hN;ד|og;X-\^yTrage4g%rL@hH?vs_|LMx2ʒ\5l| U  coVu̮8R.%Gs(RuNJ`3aYL7Xys\ަ!%/RV”EYMd ]hbrpeK]_>8<~^"ڭ>JP}uxLlNa|=_s9"4!@6bIz٨ueɥH)"4:J:^k?op7D;IB-l\ {NK﷟>Ni/iVP5mؔUlpܕ/oI.omnWg\趃UViPB$mR yV +zEܼQڡz_)YBe:MK/>4RDkzKSLua{CI 'k*!E<0e-&eU)r?^8q-b2P*nO b᧷_=4PCjJ,x)) AqiE[Ūhy)Yͬ#&lu0T|@F\; Ʊի% ' +0e%^> vo jOXpKo|% + W)A^{2k)ɬ<$<.+va:ᅛBek0Tw5Z?30+M᩹v!0r\kYϤ:6BYМy4ÙF( '|ʣ׸pڠK//L1?\&Baֈ6&ͬV4͖ 7u 2f4N$$q ԆOM-71t.spcJa%g"HBA2;O??E㿦t[ɑst.F{̠`h>FɁO%<J(:F ߃SoU@+!rB1Tjn;aifhòXj6X7d|]^p~헐 + &Ofo{]iu$h<ּ֢\?hOi:s Τc%i%P;LXUlPگ9&mL$lL7dl0 KƷ,pKr_f*HYqB>+ςGLYؽ%SE+n F7&f".if.T걷E%40{D2ߥ>_BNDc[ gu,J#PUPUԄA0;K>i-w}˦6KUdžsz}^l xR}򛡎+dgKЩ1M$9وUa1A%kI*ԨeRԸ쵷t}ϥ-e)""xPq'BvmdpmA:sE&hhNזem2kkQ)qҔUIM/V9+OסlïLA^K%̰hW7b-Ă5 koI`kOr.+\NW2уܠNd82؎FWڷ5^INEbR<1e}eQQpM3#1p2x<i(j +pEV$M}\~Tl~&tdBZh B&Lyy~:!3Aܣ 炵ѿ8#v\TLӯ~/̗6V3KT'Ñ3AZ@[%$9_[>pZ6Q `F.Rg&j,DwŪ24ⅱT /rN8IH+Lyog`*C $- p;/CDmCUІBh`T2˿)1 \졎hGb1LW R=J ZB!8ݮDVfBQ!^AyE Q˿\/ԎΟ?JƵ!č"S 6o׹D栋zE΅Ki 8 qP4>#)iA-lUa$ga,ny;#{iNŌMwg Ïp_~ xv*)IU&W% !~z}}}yMWTS,%ׄ{El$wI:RHD!>I=.jE/CF8sه>_>Ҩ\HRz %qҳ(Km6FUDPB/H%1jQvY-JΞ4q$~sP:)cmh.,q88bh d[lՑ&JM`N1ͩIȍ:?3uɢL u&)r4KblFk zIUE ^/e Muzc [V/:t'P&|>h'&e4rk/9dAh"`IsQǏ7&P 2i: fGjԅܚX*4?%:{I0㇏r &Nfl@퉸)-R7Y S>r,INy")V?I5j*Fg(wz1o/oqHDd̨ޠ6kdZҁ*2:7&| o__IA+=4I"ʶ" qe9sya#KX٘*h4g4\e!cQQ #?<xN%$Vp:X/~QǪOgIT3H~Ozyeɗ,j9 j4QbۨzQb8Cfr DgoGJ"cJ,K#꽢,mrJχ<OOOi"78V6\kŎ^LҖ@V 䦠_^_Eu!;s_F + +\ZzB~,@~Ab,կJf6_ Ϥuu=23qY&~jvXSSKƖr`Z𥖜`;徸M!E9ӜO%->vLH\df=>+ٔ iw}z^_χN?( *_F%QQBt t9^5@Ӂ>p)ThAγh{<- <nQhbKV6/8̹Ԣsj{*2/ +/^Xt8T]H˕0}{I$<R\n0d<}xO2ħ~~{#:[N_ϟ\@5Oi$j_+@GvBNDDǁvu?84Z4jCo8*7@ dr&C8"22F)kh湨w 6#UEP:Br@I9B.rJw0/B˞L4q8׋uUC +d_,5珶 /TRX<9,֙AU=;]J\ԗ3kd36Ѱ,C)yDQG!_M<ׯJrٚ!% x~J#B%8 +NNS:+#-\\5ʳX2+dO9=ĩF[z4/Jɒwnq g%ƎʝYs}tR6ex+ƁN^`#QW\4EDt W"'jFcw +ʁ"㕋)Br{h"PT~0qH#o&e~DʕE*KA҇U?#:<36dTJ,k#[m%\@6@r\]vޑ&ӥTc9HzP"'KWۧH~I!Y{50 uɯi0U# +0."EMQ:[ iȄ(ER̾EDI\̕W"~t"w'O(KF +B DS׊N(إ`xC˭_Bb,T~"tq7cB|WEFǢp"I}zy9Ηrˣ> @ +vs'x$lg}omFF9gDsToi4UI#BYKrEC{Y̕OE$#%o1zHU?~8HeD?j{J*7 +=4S}90}a1Ƭi[{H04B+&4{׳FkeU\ &Z -*-QM:2^?atx~!iXǒ@dH06#Q[s}U(߲d^/o:_3ヽoLr=  9 ՋU +(YM Uԛ[qpy8::U3+E¨':Hl?P·lZoXqVim)ɺڛ S.Ii6jHr]A/@ܴgVe5v :9lV=Z7cCV^gUAؑZaqJPrcLOИZ 2Bխ17uΕcqqJUK޺ +7fUʄu[ i/,+ه&MтlŁXhsbk!pڴ6ć}Ϋ ۤ+8pMDe*`z~`7;U:p'v +EDٔx +2Q  SFWAKdr׊zNDmy +-v)#񂑲zsydJjxa<1k{yLd"kcY$:4|D&W.d]a-FZ"-f^h.7H$ #F 2)Iښj>ԮH"/\@1Uփ2XZ@ 64 Hi>0%%IiS (d.IUEэ/'sEJ_#a5眉Ȯ$ں":ny"j J(E(h mȝ5~NY2Qmp6kpPfk] V PtEK\wUFeSFԅ<\Pׇla #\E5Z)Fu&+&J2Pχ4 p%'0J@վw =AC81t)y͐xs =W'Xs҃ESG` +5h + A$j# 0 -FbK#G1s b\I mT9jIq%/&:Z3yt KxD LZ|,fI&ޙ"bcTfۚZLXd >Ah^>:i䭅b. {堺B%Ce(MΜ4M4q`pVRadߑj)/!LjAt[W7]p=dq =(Th0;w*wDK5jp<#ڕ&5k`Ǩ@_TAjbS#H2$}Nxa=HIRsH5A/-'lܑ*}&8QWX2NT9SvS+pPĤ,8O&df3&7NcD }]@A7QLL>4cb)$[1-Qڎ^Z!LR$VhR"B0̄ OQB8BkZzЩ}i9pc:4T?&Q1_ QT:F5P6) V dʥz juJi0ʼn+4m>> +gZ#РۢTRU@>hu덢1(ݢ; m[F7-B@x]{ tfҔƒȷbs ub2A]?fPc#6G V$;#m딽C*&h+/+u%#ZH3z(%!95ęVeu!:Cq -:}ekN(sJ֢2-a}Wqb/eʳ 堶@Nm[,*Vljdy9apmQf]cTtx'epHx5#;@l/DZyuKj: lh8m]!9HPcfoбI&ZWh +.)*ߞb"iĊ\WbS3yJkd-ڮԐ4(19 RgkсN`F0dU>4$h>1SbVbM-!z +0qT1hY%zaކfUeȍҷn\e d;ъM|sYf/FpgrdV&"/ +OŹ7>҈<;Clia'vYMl (Z?`= Q@I,Y6%bPv<)ON|i,+o*ji s` otS_/k L:Z xA!,,-M| ꏉ)UrækMY6XZ'Άd[mHAXE^Ma?v́DZj-%lf1Is±FRblfҶv0GȢ 4>M&N~μ.1,4މft`pe{Y+kAE [%'Gya%K?KB] @@9E@%7M+ +=q +Z=;4+s8%iG. mujyuO&չ}ڄ +Z)NyzAX` -h,xjG4j8 {- ݌kbYa !8n JI+3s\i{Cu%`pDOJ$ -Q/m'i-iu SQk\Lu0ʂ%i} לcĸmr/&"*ºbӳ YdPI#*xS S%æV}su8_x|͘QGOn-TR7 )=@PilK%) ji՞M-$m(j] +GU sP( Gj̳=d#ܰ<)ë0a,{-Gb2/n##8٧M2q<` ʭ6|#tdܖbj{NPZ1w TN!wzmxNR3 4hVt)hu4@]tC5Ύ-48~zieh]/a<|$Ev܄* vTsR9<ѱG"b4ʽ}ruAuҙhdfɫ-n|Ti5BtI`P1+cD!s]dۼJ׉cŇ>~T.Evb}2~g̈́*lU,.SBwNOu{NEtzB6SU_>֢OoQsmhߪQ,!Lu՘J#lB\!;ޘ"Pg،:EN`gaܮ\?Omm*?-}≸\c5Cn \-5t< "$B$S@h0 ͹1fZ/njٍ1fG YPCef"]9ħOzuoMnJڹfNtF,8+KH[{JY6չNHS~ W^xfځ<⫩v.Rge-*.]+Ɉbd9E %Jb4wԤ] 7> g UGa{aOG`u`9MX*89N*B0jz6{$9A[PZ <Q +\GDXvuds=>t +֖FhY@Rʄ|~]o߁̃Lr22hI%|eTW{z#a=>qP$ۨs?<#6T\ZP'dUZ*z؀l裂>LJ ?岰QQj rPa05Y=k3DX$ PX--aUe@mFiIDDQ3C Gn"t%bL iy:Hk/kHŞqV@X+J)=y#e p[mߞ>D[wѐ1; +Iݙ:wW4B)Lgto `Rl|ƖtlgST*J/ $*ɟ1pk |.0֞6aPUVp;s]!;a?p5xYmchLy ݠCۢ$?)NX+cX j ^vRQn5> +=Օ*'-⚭n`o"z6[Fko;6l),\@X>Ga[3]l@ҵ +آ~q*t78KUex~I!hӳ,R{qcٛ64Rގ48( +қڻJѷMZ6nӨftAEjZt81psAo;B\9cZC/Gbp'oQE<\`;/A!CG zЙ˥t؉⺶Ͷ=iք>> Ƕ 3|M2{0m ͋=?ɓVSϓw3kڿկ_m{\vRvn-\t &fF> +.ybKچ_c dP $p khr|ψOc*-ŖhT +%A Z +qAFhIԓ]A@uc;P;];u?"VdӼ(O!&xsu)?jLY̆ mB͊Wd&'RUBr1 UXQaX@)maZ<"ō0LPcP8b6\tj~ I |G"WW>/0 UXǖF^^bRh`rxt(zQBlOouZ'Lc6N@N[B  p +Fd3[b$o + l2@ ැ1 M^rl?[ +whx jT0T>ԀG-N!<$w]&0 "dLwi)dEr+Q"*Byo~̖@dQ'} à$l +D76’ 짅/s Jʶ@X yKÄ>Ƴe|I// 6+hf"Å6;"Qt8-KGò{LTO*D -+ipnwne}n~QYXۄ׽,V4)Rl:#r.;I%p{G5%OaUaE ֹ $ju +A:dJN*\; +}i+?w= 4j2NqPCyfu +>As'#`K3h " }øu.XԬ@h:fr CDar)P8m.K/f `*'zF6Dy&7$()cO B#h: U?Rb1:-0(>&[R{@h)t]I#G')JE쀊P8 5hu/+e\'Tu, *V;>T&bm4WD@QRJr 'X a=euQf׳U948x&X]vsݬyNm؃=<눊V[M=:'<)+ʮ.x܆ 8:h Ip(BWlOڛBx)7\{ iʤTzbiv5*kolw{u:w@B0`;Nڃx4lPF;= v{JR8Űϖ أ+k%h @Y!D^"qk TZExޫCV[֏.Cot:u̍Q_?RX7MwnX\uŠ= hmpqB*߰ޫE4{ .S L̮YVs67w)/w:i_n"3@/}aރ z}s?Xg "j47M[G<%vVISUE6jې7:0~7& 7n1= +@w:VøG' *֌uhl 5gf@u\:F語Z +g8o #t͚9@740}/=%"VVf6]M.XOa{rD"fUی}l[RN'mwީP[w g +i38g{eAmS7h[a=rmje̙ 6ۥ o/ćUn{-\N>oEe}YW۸.x7}VJ9\2ވK}GyU b:![G^i26:Òe?fG GeĖ_uޥ +V {ѐU')[kh,8q[=U "b˾9p0IX 7c [c4\9艋L]<:PM&NiQ}b]Z v;U4m}kif@{i{7P9^."Q|^q;ymJcԺ{ +7B%!դ'RuBC.FYɃ9gV9+*2bF; /zJO  W?Hvn.kCBtG1j(,FLt5pmV.trUM8va['iFmשP8=;֥roCg8_z At} X;/<8ޝ{g"RVR-u8d=0NתrFBATV<>U]8r\aشsEPSpGy +0  6=L^qr1o4܆'cÚ^$~8}$z=HZ 3; =xRbUO,FN>} ;@\wTa?xp ހ́rqV.45ApUVG{[J3NL`>0n6vu-%:Qf R?xq:Xa՝Ay)Np't@5#]-dE5l]oajzv T}?뽑]W6[ BO;#P|(GN6T.$k VG x;I;s fa3Wnz5 kbU=4$a˦0u=n^z[Mq+k=lU:Au>c^<gJ^cܠl!(q5kఉxR1m2Ռ^ޓU\x]Ft˫ b8µ @yE;ƹCW[ 'Q[`%wyx;}[dv9\lA{yM.=w j&F<_=ѫJ{gFX]}dRL~SVI0 !Ka>ĮFiCvP!W)N6TUݔx]1=@`#n]F͵;,l'7vkۮ3uG7*5{t=rhW=\چ.<M{++ߕV.Ca)-' zB׆%~ ᆂg/*wDd%Ia}5Ug~K_6.DfiFO:rPX|/ч-|D{lx؜s p=\爆;PaFy.?Jho n6AP :=+vwoјB c$@Xa_W`_ &{aIy:-NwNn|4|݈ u.S 0[{m"| +/RV82Ȃm_y0|ɳVtmh'` tqq챓 +}їKn{ɾ ]uMXѫhJ.D1sFgUYA=t̡kpd?@<ŵFn p' [vn;]Щߴ^}t Vp KV^aЍjztJʠ۰~?hjܙBSD`$x7&O ^#8 H[j[ Bߘnn7)u\uF~ BSZwD*vF|h]w3V'fZzۡ1ҢQ[uМ][w%ˢ{smwKxj~1.lz=X\ +{:/bM|lONYH5.DRӭUw9Q;`vu#4ԄnPT=k7+&]/չqa_޴*[cdb"]TVl)qk^kFd%L5Ye2~@Cph,jŞźߵt?$MURVs<07V+;wM%ܥ|_7Ͱ3K=h[ ^ m# 7FV#2g o_@xvE9wDp+p]un*Jw q}"ővý\Aw_ºr9]Iz43b=;:k|]腄pƃ +uh ]BN܀;x6Þr޶6|#\YZZ߮R;`#m`&kZ^~=- )vP p#KnḮۊj~o9^Fݢ<ܥWmG>n֫`Ȫ}euY˗&8_ꔻ!{,xчѡW">"*!`ӉA> ub}ܰi +ms'ޢo=6 ;v$B +o{?` +CW#T~: /mVU[dՊǸ&ww Ӡss|(:p%Z&xv+ ~]ϽavvGe7>6z^;]2'\ӋWJ +ÚP]cO\0Iv'H{ح~[]K&6w n ?'߉4j7 +7@@@]uzܱmfxNakEЎB;z}}<|q7W-!/:6{W6'Ipn1pc]$Q,Iݻg;-)3IF`>jӪH ̣iug(vhh&h_IigG'35M +-Jjh<.`az._Jd抴S{61'[;%E[? pҕq7>u9(rA38YICbh}8lR`cv?G2)Kj`P:K$=k3|TVE;؊췕nEN|ы!j-E;LFßV erL!.aV߹eГBB s H4r'EIQW{bJ{j٬`=Gɝr/(41T3F1y]Y۪Fň.c1OnXlm\@o%g@Jl[;ƹLOQya:%jeo!=avVvOVC)Y._]:G}hfʿa8Ѩ|g m#;ԙ ՘R{8'lv_WA[.d{S#%_IԞ\\E1Ṕh fr3}3RF*M焓ǂ60v.PzM5MC`3V0 t05;qU&= I(BϠ@[s^!4.BAZӛ|pz caEmEƗj!xrj~rgIsx)*B)DѣEP٧KrS +Yϟ׾ EvW$.S0¢8Ƌ٭ g ka-1{ ޳f +Kچ2UDCؚx qqWpR0ŶGCQt`]tԕj;iK}(dMkrc#gc +/ȁ[R'>ʰ +:)J&+{1ygz);n}N[yohXՐ "1\ ]ڥ:N@* [WJt[Jsp8h)v'v#-Uwy/V@5p0PpԞr'Oю"&Yу0z?aXV/=..-Ol~c}@ uwjBCU㗁H3e<FS5!/̡O`ꐥ74]/$.Ǥ'x.,v45؁\MrNWg7VkDh8_(r)Rɡخ/)np4Crx$U{ylae<r ,r|IJY,G,?F6lъ.갠fSۯ+snzUf=`*0rϙwJ&nq8al״d+P@.t\v(UM^Ά"dEk!^\y[KGܸc[ZGj9I>d}bVTB5B"},].9]5u1D HXӁ +NǶ߂q} ]ޔ5FKH6KP0Uo]ws,oFCMVC_f1VCt9{ӥ19( +E:i[ N{}*T&Vg0x jB,4޸!2ς*`v':IYve{e*~#ݥ#Xי32m~\t)d7hg)E`? O>0M.NoƖ%S%.(82xr^^‘4|BߘEh;d0?QyT` +ݓ:l /C3%gYΓ +;['QaDFH#VEuU&ti$Z4?i ECX +2((8Y{ F/v, Wʷ2E :I'`5֋hwhHf$cV'7j)zb :KnjZ]^)V:*3Ch'(=l|aCŶ;-i$&tNqݢ㩣;T\qUjraG!:) +[ TcKAC8LI +h t;3du[u cܣn +_J6Ie- + Bn tS]-4oҒƩ>̨PJ +Xo~huh }WxC?T'^HWT[16 00Dh,A1xRj +pn9N- ,[' NTwhx%G3W(U#ñTǒ i<Z7Ǥ}wkVmԇ D92U~rJM4IXV@1rq_Y&Ѩ c9+#=! rOF%67bVLuZiovf:WJڌhshN01ZeQZ&23E:,uX1({?hq2 +kL0C邭OZvƠFSpLbc Ŷ3X`NmL7zدSFiæG_&ҵPLr=\1ia +醍bcZ&,d>kuZ2|kv'f;Xs|Wv8w5ɗ{{gSU~,jjR1c=JY;bF\P8~FtR 0ߤm͵LG2t•BŋvqjCڢuiL8Z̹Rp_T"<`驎aѡj.l8cXJp[Wܲ:aґ=c ( +~JzyI mt}!PyŎ:$1X`6VvNں⧇T+ܔs09Ww3U|nDÿ)0@Y%HjzB( q*@,V5OT+dx"~q}MCHEӃɴ]UvW}8,8UReѢձPc|4 %w'*V> UrR0'99nÄrKb(iGwÄ8F%3 mDMR[7`'8i9OwT.XȏY Z;4 HKy:уv+1a!acFcE0wGt +N +ZJ󙜫P&UeK`@ ]sSe*A~c{PLS1p_@YP̋Z:G4UD8FQڨjX7bZ@v<c8gڞıM<0QʄRFp'MG͆SkDX#k + +js=q~Ur `a'.`g1 .;F4Z箦(^U;3dÊσ Z Bvي35Llk kgz;&_r-$]"J;x9 +C ?+ +t4%GTw\bGY?0 ?17zt(Ӵ]& #сP_l79&s3ۘ'ZY>)675j'هPȅQ c|g"MT^URhwm<4.QD#{Tb0}+wޛ-ins$zt5jJ5-斁S*+Aם'O[TBS0?|AZbkgMLD +乐voDCdջnjlʟdڤ֚ѷz}탉x$XG$m'fNg FgHSG}c +ČKl;kx- aXxLIv Ԓ(_g c5V@GI%Ί!rjeA.)YGRT`3NĺLTm +Ǘ۽eŗ==H?D^۔4.Tmlj Ā, iSF\:fVSyPL;o M۔j O}•Sg.3G, =hf6Eѕr/ί$#@lVέ tSc W.y{DhW972xt=zةgt5o.t̻$/C*jЛ +p¡&t0 d^*u Xu>~z Ig}'?B?-Iw‰X wDI&{me}M4x3El2<8 + 9ΔH摳NQs-&m,n=8V%G=[ )zh]^2T&S*dP|wyzi] ft9vi1D4Ve0ٚ}6_ G,vW!QWh}]:HtVJjؘLP>ʪw&)<0mՆT`I:,h!$VꛘbG o%pz|b4E4"E ]qDS;PZE +%:kcsۍT] ܳ%ϝG!&P1G t LI\qe2*UQCO1NOi^6=ZȀKs1]L6~vx>dihqFi~YNbw?9q+8,`G/6'u#~19&&!C%,8Aw]D‚.:3Ň8&1afŖLovFսp /(؊3%>&کHE=pb[\ m&^]IN4!Nξ&ihQi,%6ehZj:uz%a>ֈG$/*NRl8"".WO޾  :|RJS$S +FM*є|y dqM~Aҵ@ .LdnpWj)E_R&8NRbcE'[gI5Z֐c:4P_hت~60x&+XZ +^UNs578`0>u9$ N&ϩ|4Uս,MMnb:jL{7u?f Xy3V=,˨Tݕjx W5 +NP9hu+tz|,#fAXCDb{{JY=5${<|Lr4i@}C{0V'O50's.X}؊&+'&qHUgpm[˪=Biz*}ͻ^ZQuRo eņ>\ V +IUJ2 +NÑifu@Wt]>`_Z5l.(<}5{_uwK`kh8 +씆nC@B0)}8&3GK)*JKN]!E%*!xa-u>J<܋\&Ho}1Ыhb P,tڥ+"A0|xhvmt Τ &?ƼhU[jB2wӐhEؙ_u&g{V]+;:4iH ~VXYPYQʚRx]D'w4q +  +GjI橵8d*~DU/|PE}}xT"Oޖ!K=tKAE}%ZU˽,n5F J Aw}4&JS'䉾\u=E`DCU3J3%d1 LpsZwCIjN"^L+Ӷۺ?{hN3 f7yqLA6и}{*4ԙH!yD4H]JM5cm$@pX}/}T*Q4q$.*v=mđ9{EJ\_f$vmV9ri#KО[C֢R)\rQQ $;Xv/4tφeuwUBDĜcHIru ;)?wSD&DbW"辎vxsp + +)Dr0*6H*)E Rd K?6r M~)ցO5)H=5Fz$"|F֘.4_lT"b;}? (%)E]"(.kgo/8 +65ٕ}OӿcO \9hiZRo}[Lvo׷/"НT`2JjrJKkĽdmquPnC:^R[ ʶr'Oy׿ݶK=7F=]?mV9gpjfo+U]Ծ~x/ިt%܇DF\؞߶a+=6UTOu'3t}9T+GIۮ-蓯"%6#D5h_0!YTj|2YG yPS~S1+6$HS/mݵRA;E=ѤﲏxTTe2/Nboܗ-aH[V0MWEEa"A{ܫvo lAѸX"7bE)%=[s[àGuQSshfcs[z} +lt^]o~NKCؖDS^bo?߷4VJCBDXBѤXRҾ$!MIIܟkI23O2{>=DŽMǧ Jt&8u`H``9+BAWeǡEuuNayҌ:)ݝ~ OMiWm}5[.A +/X=m7nW\jaTHLKH_As?.{mpJJ<.ک3rk +WD2/K& +hڭ22۲-_.f֦!BU;Kا{f&K Md8芾=J-3U, ?9{jUo]V1ǨsÉ 7-VnًftwBܩ2j#;i8n Ke_8ya5wuwm/۞frUzIN1Zmy^ bTSr&ˬPJVx"G!)>oxDFJ?qKD3V)WC;*o'g/~#T3$lOW[AΖpz߸E$fɭF(l>igLT+4Pe6~?o[:˙T~v +/׫􂥕܊X.ļxjT*46)X#0 l]24edkSǛCؚ1v@l{2^kvfBn mO\69r껱w(-{o5]YrLԬMćsfL{,tT{ZV-_Hr( `})UXlmmǓhf5]eUli=A)@r#ՠ>Хf[ì~SLQSk *TX* .ra_j~_סּli + +r$=L>+_4fvzK258 ( ȴݥx/X`SP^>I_oo{JJ5Th&pR[{)$ՕN5J .T< H*)10b0L}$nA +#UVP|U^}+yqAE_Z%QDd{*bϨapq{[.jpZ\Qgӌ$ + +\e̔(|gg[u{L[mw 1a'y.Wlv<AXSA*h~ vߢ9AխA4MB{'lQcMRl"'p5WHmxz}徥z̑5n/^~žq<Bw_/{b&g?/RUZn".Cg2։??~kel+mHɛ-c)9o +9^%oon;FP[<`f=Kzms{TjJ9^6hy{嗗:0.(=:qx2-}C&hgLlӧսfr l᧮2p_;vñNvN;s7cP݉6VYJfᱤ<tfxGMhpg([)_~r} 1$(ވ>k~ao仃_QHtm2O\;ͮCc3'R,3>v߲;cPmT٘8n<ؙg;YRvT p K/{_rBF.@iG + Ы}@˵{ [J}u/a)J9q +̉w+㽈*΋I!@uqTI 4CrI4 L]i}~̘ľ3l/ݟVqmp^v"VIѺq@)3prڶt\,Տ(c$}{(us1UOCJ.]=rɹr>يι9zi<K^.:c r|};;evit ǩF4uAN5-Igs78Y0P{U#(A{=\O#|ql9S}1(dJ);KVKw b᠆Ӗ6@:G*i(vαiҮd}ەӺSsx-3}bSDvLnKGʣ^ + ӑI4n2Krf> =d[lbpzc]QSt it`ίpA"RFÏ숎@l$j̭3C +ryળ/'5}bKh$pD\f:YQ//| *8KUI[rY-JzQ>n[/WQEAUP)UX5 lh!cЬHe<CU)Ĕ2kRyjD\QPa wp3B4]єo#@#OsY4q=bgF=&}/?XndԷtէ77NҜ&?k}z?B1:v'xΧ:[;T]RD48 R_2o]L %<^,k$3z-t<:ZǦN d@JT"fF2,Wۻ9PN&н:獱TiOg^dXvu)8izNUΠ3P蝏*`Sk']\5WNM\ë`H'C5FW+ oH*xZȌP-5~ ;2QpKQC' pp, 1R^0yHY i-J 5A3#:"FaDk?N%oɑ/dt6TqU'W ^1qoQ='eզM1ݖ.ZB}6NFecHu"rx& r`wѦT3Z*.PBw9.0j0j2Y9sO:קqn):7V\} rn.46Xp!dz&H?K8\ddp?cQVWGUpJQ=zPZK0JXLl vp7U&UlN8z=-?<mFpQELfZ[z'yAwC/$Ł`n&Z'W\6]Z˲>Z֑=fJ0\뺅/ ټ:h[ fL +_مQIg*t"W-XYPdc0K3a@P+YDJ/cNȵEz2p Hgί yhpc 9#>6DrYkؿ<6X{@ wj&ZT|$`>:O׶7(3Hx`*US h]9BfDK!ֵ~S*0pQ;~5-ҔNvOQV ZͱJ&w{ؘ&MIGѸ7b ce(űPgPO=t-P).l웊0ubqܕGÌX^6Z\@<1sCKȰh\|1$Cl.䲻65RM7":^5 (KP +6h\LyaW.!єq< ii]cLleJQe[f֦^Gbg7h8r; +y_n&9ԖԽ$^_ !f,TêgIm2Y?OwXs4 xSCU@vo9-:y-h+AB$^]ڸ`zm8 4_}s]J,4-,uhGyvHQZ{Ί!NqP?ІfS[)lRfNnծYF3#2SirvZ>QX~΀Dz[Ral90YPh1чQ?n@ zh[Ͳo.jɖ:%#л$|0zh.7"Qv`hԌ?C [,:#eGOsb \H*mAFq4^b:a))4`vE=̟Τ-(!m+m?I|blK5BBw/dc3T#wTk'6@x+-֠Ĝ{jtopFaGû%*ֱF +j(J]I膜ו7tKKsX2Ϝq(fD?4T"y.~0o Ks|OH%0p1Z`kXuSeßK4tcN]:d< +m@اy5]W^ +0g惫>*dn⫬^hfpT5pCU;Y@e ܲME(9.}p<=+wy*ֽ驺cF,gn9mct:~JD`:j̵An-U2f:J9&4D|$lkD++]! Ҥ&i =xmUeյy0G}~goBe.aapSm.cjoZ$.o յ+ah϶静~ ٳ/}ZNAU&]=Pv,Xm Vx[*,-hP!MPo0T0Y9c$Op6@#@4g +IGߦ!X8?Dy+pMP zAJ+VyUKmb6cmu^ ՙQbK0X1!y#LNIx n ,hj /!p6YxE[x>WSOh[_TvlUsBu ?JS)]mucmJ7:=e^OCdjQ5e2w,ՠ{bUlF3UK W 7snWkäU~삳CzKh<%]hkm*xưV|Zk6NC5֏}iU-g`6q +Fx*JvoFodqb(c/UQx?e釬8MLsxb9iA-X܌ecXft/<-i1uf꜍hлn|j\n8aPsbغ彝/:ͨ#+62f'So otM:OB= cRӒfRi4JhF=㽌-nɖ nڿ4Nޝ 6pov^Rw%pHY»r]h{5.8jY^RΉFy5 |8Ƶ3@X_4Z?lY(8H xO-,Sv=NT0nx\bW\f + 1J55+yqS +# /m. +ҟRy&,-4F,ÁQ@CB5LZΑO0Aͪ١,7(ML'~дnŸ>XH Ρ]bScx@KT78*}C 2Lz58h +ʄ2c A} Aт@UX%Suqx(tٟ0ݦRfe(yX!(˫v:6=2~$X |TI~XM3-鈋Uqԗ/%|~3amHavdi"j>a1c8OB>ŴБ,|-a?LJ-c_]d؀a"ǥ'˙LYF"azfi)d''i, +V0Cy- +O0>&RL.H4}# !DخpZ~r jш+V i8Dy68ƞGմ|Ie21' {dt9 T;W^69jAb+’hU14pכ6aG@yJ 6Fڈ&כj<n]Ȗl+`Ȩ-TL!i$x1Xt`¹ +W#nS*tZXϔAg w;9#ԦKjmzTl!c̫mj[h+EOw z=һnP5jw + +I*w!J욽;(2az?' I+U P5^LA/iSPMjHΘ%3q!!ѐh9oƶl-&gkY%BI4^ rAO-J 2p!̼P-2vt)-`zMj&0IA< #8Lh 8BeՏax j~n)gBCLĔ.$pG6;5k*͡!M]CJr 2K:AU0ذ*[X]n,Gs_Mi,4"< J3NL?n\'&7 +0xO.N6ee(U6 a{MmuG^ g'4V*#iR'DR +;gnKHh4i%b3!mj"ߋQr$#Ix`ƙ;Q='AXIYHYS%NnrV}ojzdOgTxpo.}R*34ob_ua"xz? B3ܖ3|EFt_ {?{gEHYG9NQ5|b ӒMK(pw )T1cݗAuAUiײ<ܷ$WN9sl(% Ll*ԱdT_ܞ 28L84W^E1*එd *R.a0QDKֿvLȅπC[I.xt~ƪUނTGH?D*reׄzg*䷳/qс;b)8F.ݑsateS`gl +S?^lu0{@ȿn0b9*hcT6tڥ>L;0HX2лGT *\FҥιLnZD4-s?Q2d$*GamE xsݼ4+S)(,hq3J Br^3^wbF0ʰOB/PyzAR|y*8(1FY K@@st1o-a60M4Cgu+w/\1֧%MQqBVeRl'ʬz8YyGh4aE{z|MAy_ިd/v &Pp.NkB]}eU0 4`DuADH*wKyxaU|' c[^ +Jz q4ic=lU/mdɒ:`b>R%ޜl鴤ZeS,kERwŲA`F4bzD „־vFVH%7%g61NO!sv8uAY}B +/_ڪZwp Jޫ~V +JjP)CzsO8;`]Rnݚ/qozPdb\gKKZy6p2V/5Υ>sbA o@0[Eލc$i8)k2Y![Td+8Cdh0Us,I$)`:Z7 ^@sL 7:ϲ%G0d3J@fx҂27w!6ꢬIJ)YI1 +Y3j*hT֜3L"@ZЍ.<, mԦAH< q-00%C>''ݣ#^Йu3džMdts7YW_vb81qP8n(8uD% n Gҩ:Rb`;uߖEwo}y|}`q5kW"ix}MmU'maɑ5?Ukk2If'[|Lˆ֑"C=P>Ήf=ZN w@>GIGnuzъkά5TëГ1 \0(Esٗ6U.4{q(  b l3qʴɼ5;$}6z?StyHA{T zަhʅM`/t"S_ñjwK3T2|:Mf~'C3-~ƃSVsfJMiâ Ž|;,jF=%d~s ߋӿcaPNPX`ǀrU?0.spuܑpH8dpg)[Gi0e>%Vmd{8 誡ȗU'S sD'O +h af^(tL,Uc-t<)Ss90+[\扬񧗾TMԸwL09HѳܱVݖ|臒?ɔ{BHPİGdT*ajdrTO0Ȥ]\[!E\~Hd~ޭCgBIt{WA{ֻaHk^>؂=p=X08l!LZeԤz%7 8._LMH C}a۹B̸V?MԚ$8#EiA.O)䄺Fe\esҵ 2CyL3jr;!69$C|JaHژ Z<zt4ʼnq}u`N-,­Ƕk HE9G*Z^p 5p"uk@Xy[W8A7_|Z_sޗ>4-&ª!Gg3w$/%x=`:> +[ԣv +=f^,Ή4X!y6_*Piȟ5 xikH#x>;RYҲ"yT0GUJX}а]쳽kTj +8.YH@?L s:RNN]uaprW7Gݻ'9rPN͘;DF\4ߌvk`.dFO*¿_)'F"mTA5qjb4xInøUgH{U +j)ί8"%bi@hwP1n&S赳!U +b J$FԂW&G|8-'ssWtqoGot7'^I˖PC\;"Gڿ:{3^ڃ + FQr +#Ǟ]1xfXvBłְ1~cTկ*.'nhԜF1فɣr YnIl`ŕq:4AgulpP#}  +3McڳZ&riʣ{96<1s~*lӊ3 ތ:1 3wzqLsXnJWg;ߦ]kHB1tHH+5 ukpT 凂Cq,]}ɎuOëi'8`0\Ssd<,LўYЦ{m +OI#Q& \?[fG O.J(|`Zkٺ /NwSQG+:kVGH6#c'IZ,>:Dm SLm֟tV=4@`+ǩߕ;54RCLRҸ N׍; PXO&-LOݑ!XҫÄun&3ebDI/$ myZX GqW?3bZ=)([[Tu|rٟl3Ra=gD/A23t5k!Q>+OG`vGx_,K8y, _&Ɓ'·h]̃v`j'~*} b&iJ +dO16sk/v,ю;,>'@K8:qN0B)ŸO)ɕ)=`NoRD9[(Q•cDh߁q#T%(,n |:/׶s`tBPb<6;q-dȁ#<jr@p$YI^d<(N +t$m*8A t/m,z `OBvc\hXMs _5%N"]^XuWc=}%aX#*4Q.Cn HxWj6aMDNphrh)CU&]gtkkYu,7*DE5,Y{Adc:wd'MZ2z74rMA<8IBXzm3pOQ˖v7)n𘍖J/Pw%|t+4Aŏ!\9؅n!xu!FZTfbߊML1DpR *Р=A*Yn"ۮ*FQh!U7 TL3~`Zv/9s>dFp[}?"[Dz܍sL`Ȋ vN"ւ~.qDp<39t(D%A۸m44PN%]Rkl OЏВҧ5k-w ڬ?a,+m_%^ng~X[Ʈ>Djúe[J?u4vx}ʴRr%ַqYUEQ= +Y % +PY"a>W_YՄ4F~E\ϔ 5WpX +(Ml~$e5%T(]ҕU*L- Sbb{a]wa=X6nhpGR,j@^0m0"%NnE3N]]3 +vNDtjMVQ gU2B;]h'jTS&{DzVU 9dúh=d$4_K=i<mOݏ`քyӱ[7SuEYiךs]Grd& +Xvq ݉TT@m +X0խ&1oHmӰX}׸+% LBt9YsnJ@Nmu=Vn7>IAʵ( cz4Pjo(/Q6`KGyE*1@D>d" %]vf F@ZCbEvۃiC F!F$`+Y[=a:_2^>ҪNLZ]$QfueghXϟj]m*F{Cn0rt`&X@7-F1ik3ql Ɛ՗'kom z31D;ph?$hY2 @ I-̝+̀ +q= X&<Џc߹11u$Ǵԉ OS. +U-u" x b‚%(@b* Xn|}Ä*[>r- JS6Zbo;C)ܴ%v9łWi_[!ft {r]35[a Ի%J^(64T'VP.H"}O憘p:9hifHnUY"|s=jaSdק!X˃E`JwFbLG)?;7Rj5 h 75=2\7 s +#V([lnBPSӳl˜x O&$)D b+{zT; +R8͔7!bPTպ=,{Ưwb nRZ)5rM: ERN6bSï4 +%s +U= 񹁒A!0[ X vÞO0AE+*Um2d0anuug#y&y[&[By㦲D_"=)4'OϠ.j$]_Q_h}GbcK5*$!Fd}",I~r7EN' ^)<'˂lSl5O pm2Kc"zM&#IR /Xzʖ+ BKR[kC}F QWKF$usNN&'4$sBJ(M1)#: +dd_v춢&@tiVԦSKHѵUeL;ƇjAui+ q]e\S5;Ԁ&Qgp7hm^{Q#3G"%@Ofݯ(qm>`N9Wy|s^jiλ4Y࠯92ohki \/j0);Gè[WWd'"1) ԖYFh0:؄)tfn՟KzaI C͹c͗|9;SͼFJѸ u \)u'd]Qrʀ#>`G~*xq>g_-nǟ4QGkTHcBCv%uxe-A㭇 .tņ3(wDy'B+d>0Ts&jB,=# P͆v߲³嵥e Nu(02UݚVQCsӋzXT vUUp>gac:`v@Op=?;afС U;AA{4-ѻi_@..+k t78̕HW/Sw 0BFe @% g: +KsOӀ"Bl{~~*so{-yɡFz5-Զz+:MT[ǡE>y6a!H p *yon6BrҧAF]=\*ᵂCdx41jtM`\{t߅6b3V5=VriB2 :7%DeEzA%TzT5MTa*rmpFxbSI-N_M4J0O!X~^bN@ВTJ=V#@K!6b Fѕ }Ni~NO}`2 +|m͜F! +O4JkԘPaT#JMמT^O$x=:V9dNx?(;+vބ92" c=({3[1,섮4`WX`D˽{˅Ү&q(IPTtj4;hs[H<\[kzM73MީETJ7g[? lsg3tn V\+(:;糠(%=˜өח cD `HI89n3*ܬҧuE{yP-j8@¸)q I)E2өNh(nvl'"?sԱ=ZcWfi6RieDK8R8ƵJHuCi:ª1*Vq6ۿ"c%%l تntݯ2}Piaũ^D©bo9fqcxHt)r %m"ICZq5s+ ..f =_<3{hNHXX߄oC=@/$^\fMr`yB(yy*@(w31amII?=HESk 3甬;'B% gHVxڔ^w~={f# <~*+:v~žlTϞaO9!%|ߔ̞tWU4QQ,q{m_z|{'7x4NnvT +pVZ%6p|{s{u ^\5_t*JlPfqQ9ce4*_VM9|۱~{O_b01;a{"}./ "!OπY; ],P;.@՚|G +[:Yf#JqPib,g|bJ[2n^akz#Bp\ vGgm&k$Zy Uj>e8{#ܵ[j?b0[i{KCW:~K^Pz )+(h.cOKӄÒ(N ѵEg=@\rp*ud'%2jt]ctӐX$\֩N/uY+:F=)G +, amཧm5ϰC\PeT[z~a8v)4w]K.A+b 4@sD&Qd ApYM+-t$nf*lxB*m:O}5Rf7χp9>)ލ=b8~ί׳$C> ^H# +> M\7Jݸ5QUIyɿ!2L3ge؜C#?R%D q.uXMYA vnуKP`F%Q P(o(x\՗X59q#Ob^>q"gQSRzwh]EnBdV3 q#-KkVĸ('@i:,B5ZH, c`iLʏhLIFɥ%,]A(n+sQD#* nW7\D0bUɊ1^DR-pX_ό#tV,RͲ,o :&B>ä`!siD( @bVnm MBڷ\B@xa$+uSxkQ_%7ZmBSiZs!E #w UAO$W0Y(ig`MRb“$-`qi# +O'Q)$Pਗ਼Ba?t|h_=8'aeP|xBSjS*p[i\_7B>@TL2H0q&O lR4t8=r#6J_єdy.-/8~f HHڛQ0c!Ho߫~_ʳq4 \dyq) @fzFfA*C*| SNJwEL3/ss|ɠh!. PCfrV<Hj8`_ GVq8ĿLf܉A:1($$*>scbW\ +<22 y 40ǀV^KyO`a8؃„B6( -Ն1ڗCT~3F2lО u: +t"8JAҒ:32NIujџFA"x34Kk/RxyP㪘 *-T6R(I&:בSG[X;AJE)+u>fTuaSRZJ5bcxLn4k.&N)F9YT˜т|m?F]}j kC(ʅ՛ax'{aNGTDNcM e 8I: e L{ jC-]'Q粁`f#8AK)"l!+vGJ +咝PqDԕX-"d@qy +Iu2cҬP%!QuĂR;uy {5բGdE8Q}N`6e0h Go_md"I D &NO@s9$6ΈV9gZJqdt7ۤ;+Prj ڹh}<\.uS7ykaruv.~-#>z6\R rTl `d [EHr$^nK+!BЀb™O G %cKvSfy=k˭R0,0:Bn H`s9>4Rօ5fG@9eAC 楲 !$ Ovp#Fͮd 9QYShGkP +(삯K܂z (f2GR^]&q><;e-4"*7NPރep ,п`` f> `gUp49aR yXCs+\٪@́-I^1j ?0`ZvjCݟͥy|33&(EοÑOnm, .A(c޷w;"94K:çEErҙ&JFN2gzzyy MQH@A2mJ#h@Q Q}z(oùV#MƸĢp֟g!:KizɥŞ *^'Okir6xG 5 *#*s(Ɇ: nb  +U:b/Plj!ܬcNE-3e\WJ ZZ:Q/ȥh*֮J4ݹW5VFp}LECTʳ'1Xvpɔ$Vһ!ǽucbCb =C, -aOʼAq&n+?ȷ4\RѲvE,ѽ&52 vG{)09cvosW!@d.NkPVY5]9XtE9Y.Ӊsa*- `hE[ЪP xvB k{%cpc2uʿc*$ѕP~(AKVњިP֑`RM-AX%\QcyuBbvcT +h!iK@Mj uI̦g`9="..Ś6me'R#d'2A L /O"`l|4 }e78@>㌈޺&XBdFyNdza'bS,ĕC=fE#;\/`aK[D٩B_ (UT ى=G=9 +IBX E2~6>z9xɤO%1<6$Eq`v# v#P)rID~f)TWexlHJT%b1n96ዖ`if(L@Hhcͮ*x%!*A"jEĆDb.Z$ri.•|3qR;)-W9ѭPݝB]E(,(M"@**3=\4zfUJ' R @da( B.bl"*o=ɥ~rz+밻V dRZ~bYD[y|֐oƹ)}LZ]DFW'w[Ռ##tu_PϯrqVBԦ[r)Nik{ +RFIfE :oA_␧JHhыO{ ٤]!@Ї`uC.ǀ@;[4(3/%[M !KC͉B +K`RnDgLAEvQȊ M +&Ǘ$BLMArtġvO)[mE9c4fTw[Ff*^*RƼJ1u܎8Xc -$ +Rn\4ȭDȓ K?{ZU jA&6el!ʀ Y[ɸ@OI ":+LP[3|U]lPa~f7Fp#"d{4vp8'TZ60;([Ƌ8uuئ Eb )  Nx4A> rWfu>Dڬ6֪CnhӖ pf3ԩ&2`ITЌGG( RXlq{b]ڹ "U!H`ʡL,bT795Ė!: +;`Q OdƘ1IVk0p[N#ڤI +A P:SC?ٖ]d.H lJӒ&7'1tN e];( ȯ1I<žZ41V5mIuz#h B]Ht(jb'(P܄5vpüͥB94Vc/5D]Bbd(4Y"KQ}eP +I6Ges +|1!&g¶BmVjפxL9=6^=[T(6錌rbRfv"y}.ed_-%^vb+(X["!#,SEt,'R8ۏSGW> +ji݅h0=J%1HA BQMd2sadhǁ5@ N3wiublH,T/.ϧE)?*ɢP?\zPka7-j0⢠$a dD5pF~B,GxTduc +jY[` +nkaGc`&2Ф-rMdD"LO#a4cAdy,lX(3<` Jp\p?MA ici .ۥ&jHtlh%x%%ՐیƑG#Df3ޓ'A6 uTT*`2D= Q,R*G!{ݕ0P3X.%sЪrSpLZD >24rj(K% +_-FW#rNŕ8//ǹ ޜ.z_*lp&4  V?" CJŤٌ:iXŪBfJtRc̒`B!SjcvOQ`=/L#2&Q l01`Ʉ#-AØij ŨpG %7ݢKW1QҒ17 (F +k㨘p2oDU z.@E$EX/2-Ow +AUkz!P! F !6܇.;nT->f<Tiq&IDAu,h/4)%DI4vlcЫW@AǛSSs)a%TS#DmQ=%LE @aFrU nh*=DP{c%1s}\UU#IQZJT5X,>\¨S`b\+ND|Lq;=OicF@ pk8nLfr`. &7k0vŬSk1@dg`oy^cOhTAA+.vM{, +5 v(SN+'*_!PoȪkTY&`唕QD*\$T3TueiIl J0[ f-:"R$ +VSf/'fIJi U'-\Z$sZMƯRނ2`ڂNQ-&ۜ(5PPф0b?7bUEͳ`kj0ILŀw|QWܳȃnFj| Hֺ`w; WT: IA-_E*|@XɈuB?cU66:oK}[{Kͷ]/A!>"YZI +nЪA7KU 6 1 ʌBAI6!&'\~p3[{ݣY2ӴaW!Cɚ4آim[7((xE{7Z |_k~jTz77r3N.[Bcׇ2 +7:Lc9FٜuI1K/^0m L(h;h6빲TzAq 6ۄ&sndnK~Ej`@kz3EFu 0ռl@zCVS*>K8@Em7bBmx"ip7< _:߀^XqVZW!a_͈wXM#o9rE)iۺY~_N[k c7?RjvN­CP]nԆI}Vܟ~ p۩l~nJHuVu +a+!eaM '?Wwt n +Mބ*Ɣ,fwWT0 m]>I U+7t@4׭PO}E{>Ei#aPd .L`ǰܳdx(]RoAe!߂إVSeaދe67SxS(v9B v[61L.0`ߛ{Vvj5HQ +ʆDR`KVXq)lP݌uFYrn-z/[mEuL]Zf& ^Q;c+&[}neu+#Aqj{']p.:y=zfo v:{!=kV,-|NQV 5 \U|Lah9~v'h; +4_#adk|i3ԇɪU}AY.#8xGǰK˿5F`M}ʚ u +lw +(Hv[\{ =XZ$O. fSiC4XTP Ϥ4߈BC\ m!.=IHcN l#7:J߄7໮/`iDQŔ 4[ qF,YY%*р`U&A=P㮘Rr@5N~SѾI)`:jFү`G[6Ppldu]C/>Yc $ZPleYbn 6Mp݋pS fkh47& +:\Wu"+b"SSAM$ VlCfh"wo7ܒ24fm/U$: +ZxM>+PU!jLDӺ^8*u2ȟY' YΠC4etޏ:}>#ZUCt:? J0E2OJB垴bDҶʿ;#FTX@Cj˄O_l2%w jt󶨗)1E& 3I6o]d U7 l{#{3 +p] `ZW4z X2X * MPs_ǟz!-soX)Cݫ%J`4w>tSIcSj +^2ׅȷwo6~w&+iKU~}P6ytwϩ2]cz7#jS1!e [afCqѠLm<J3?&=O{"dU i_PÏB?%}tV޾E1`KQ T ,t)2`KM{7NL/NlsT IR Ź97޸'whSSXIMdMyЪŒ֛Un~tc Ii?|!=8WBa^N3[ Ka: M1:nnplr[欑B\ +In/9qb ldgJ %!| n= , oWPv n=G|ͭmی \nXT RĕcGۮ) 3ʲ,#o2c [~ X${{4Qx6zGTur"ULR qR>Ps-}' +t2`cTVw!nբpi'NP,<1̺ؖs΋m*o,j7uˍ` +>B\T+ݝC %kik2qH +jjMJ@7bCyzu`;_q8zXE\-jJg<5_S ԣ=S$GПF Sw~꠷DʭTQb*|mV*%]hh(vZ>. ZN-ެ]" u7G ~F 1$g6/ӎ6*+ND :&tL˄4ݰEcCC<wZY'%ݸpGi2l}:B-E,iGZB~D&0X:l@Bߡ C.Y}zpBu ݽڰƸbolibU?8 9n:T*7t3/WLhZXݧ\MC4Ky"U[0}\w(V]%/3R д!^w ^UsOUg"ՙxAUcW пܸM脓M X׀N{ Xǹw9xĕog14-76,I\WK7ZfZ{,l A}ð} 7B^>w|;v#;CNI9I{cpav^e\KjHa= m!m6fFUE6{ +DjqnBkoF W؍?P;WIܲIMwŮ"yA,BsB'eUE.+ jgAnJA{ @YVRѕ} ;e淀TL,*$t˒ղ1u tYX"PF؎&Gxo;R,8 ;-MB@|ZzDYcyb I <)rmMN7CY,XL  LAjz [ᑾVsY WFYn*7!= gZDc_vOwaS7]6Bkh-Erry +Y b@I$ǎ=JO;E&m F*#TT^C'ΐD;,v7H|Z8=ΞY|#]mJ +nNfA![-MF~ +Wl>6 R$jT]҇GU5e.~?ނi- +MekoQa{L19Mzr+?beOV\ +ugh( ++hY#mWz,2V0bu7䀃LU@D9\SDnu +L7;Z.K rdaW3`TyC2)6ٻ&h"!+zIz̍7O׸)ʈZ(4c*JٽFJƕ؉;LܰX/?6#X @ǭRF͓p8+ yV9ӣ  5O&jIh▲-k}F͡_l˿[PCnƳ Mz!i  x [NTDaw7@­y7|\ohLo J}'?2E`П3 @lH7*o{Co֦s:܊ƎY){*>zƎ^RMiL}+7_( Of c_kSj.QzWbvbքArzZ[>,x﷥Y"a`;[bh'(HWH*XȄ+iih(nͪ|њT1PM?nS J:coʏ`Ք@e;*CY,E^~[x޾@ W 쁺Vxqo~'ڽ Ɂizz۟M:8Xol [.\w@'oZ*AO I#B!+۱;h}EE`e8"|kWI.pyM+otb#b +O/`5bۏKM Ԩ\-]2J0k&{"d$2ڎY#%`-͢K&qF,kهo*.hXmQyzFzǶ3CQ5}`˅m5YuBg<ϋƪ.g[[&T}Oxʢ/P'~x)X MDYE*ʦilg@gSJՠle7(il葸1x`*0IU䁸-&G,I,Dd7H) t @نQ/V"Ren%l—rF~ˎ"iFX%؀A،{.s7lMIчwBɓ31@j.$ ڶlיxyUfA k9j= ײW#-֪jm*? N {%/z.뭽}(e!$++^VQOT{~.~@۾u(wvlkLUByj}յմj +V;f/ً$EF{P'nY޴d8[unB`6bT +;m^TvH ~k7q +Y+9ɌCEPWWo%ZܸKCΐЅR A=BDѕKLлsΛ=sztL"V9in8!l! +bN0BY}pYu 4XɅG}hLVr~B,4fM>Ĭku;*}FE8R2UȟV?dѺ`!6/R*gb "\`Vdp3-;oL: og֗BdJ"m2SWKP5@2me[~62%Z%Ӛ/)QlT\VZ$Jj7P*iYS:!y"D,n[Pjc nrW)|̐9;yP*3 )}s8! >Y +Bpqr?"hڂO 1-[I!n!=ʤ jYܨc>7H ӏR,v =WM9b O`_\Iyfv:k`dhv*gB &^8 M뼄8* &%-p\Eƻė`IL|[`ٖp}cP]9 V…(rS\Ω %x9,knk y znm3"M9A? dǥ7@Vd7?>']5T^&`k0R%(c6HX.lsV]Fd2 ZXƚA5ǃr ++jaI1@*fXf=\b:& t3!&onaXDV +I5Ũt]?UV)/߬߱fpoXZC'8GhY7rsiJsH83T߳.ʤChTZ%GWDMO=HSVY0+wNbcm09TUw&*K#Q'=ٱCZV:[7*To,']]o(›چԊLEb7&e̲DbIxGJ٩gh(T1ăBt?%`I_|eʋ}{K,qշEGAGѪjc__A3~Nq +JֳlM5q +Rq$$I贲¤&i!#+~BX-A۸cbu ֪c-D[| = d'Nt]6(d^wTHQRL^dQKE%ױ58b#fc"U2F +F"(*,5M"Q HoN57!Bb+X4ɤQ0ގA:(-f ŷ?Z'vTeL F4 b=݅L +bI4 !.& '[qyuC2/{+ݨ" C'.ֺyܭ%0a|%)PD-!~\ɕH@*Aڸ4f$""K@ヨXp3Jp.6aJ1X$U cK +S.//lA! bWBR@0Ttw^`Q~w8ȊgW;-T^^Ȕ%EPLL$Bqltr8hRzqMG}OJR![3WZB=>" +9`l!Q(i +(SM ǃf*lϽ +n.Ph:NP}MSV~ԸxH lD˓ +ʅ;aH!dc̱2H&\O$ 2uĊ/u?9T@/<ͧQ $4=TO xZxD^AP]fC̺(fXYYi{AjrH(JhT=iJ_"n[^ 6"vP/S<כbCSΜC穔:Xa§Kḋr#(C۹-*^S]41 ImZ+Is.õUEƎ>9/32ҹ[>|8tą?}nLΏY9[!`-d"T 2JR~MpoqbS]2'% + +jQXxC+1o2/ip )$ 02 >6CX }7+ R\v=Q.M)E'Mr3gclH8${'#'2.~3-GE,uS |rlnCCFgdrӺi`:Yˆf ްh2MȎ>&U ],2w#|LuJ(;FY鸼O{Ed8 0NOd3hK.jaOmCuHo_WowEW~e?\q|S hlI9ꅳ)?9nyNEI.e5Ȓh*a/BZ/Lᛝ7PvM8bgxFk$+.ܿ G̼bK@T@iV22oi`R?0E2&^[F㾾 3;kV +@;dLs+Ju6C˦܃<2!K] Ձ, =$ʰ@<]sk:ˇ U ~HHn)Qo:ܼP92фV4J! e(.k6\٠_8΃ +2Ȝ6FIfAP.}qsm`r  TոNtr/wD j8݄,}7h W[#q3n7@g"<j2>4[L"'C!#D\ +#F2py-<kP~*.wʨgYT!|.W q kIK.w6arܦ6h +,$70ɽ󩣽:;,1,] cx Vaq!{# 8PbZihυඐeOZI"(4BaIu^Zh+Au(.ĊXm$eeJ犎 9M?qe 0Qc@r Bռ>p= D&)NqDM@şwA\'-~/eBæno fb&D9 aQ?ٿ(SUwHC•zFGޠC|r}Nt<1-@bV t_e:n| M4ཁ'{2d\9uV+Us%|uWuy {@>k,F +z+!DEk`Ը(1yC|V"# FСp{/t,nXь߇M;$@0Pv~+JGxa^:]}4_jqBD@])..PsPEw"yw f/`oBAhøo/QmSJNLtPgw2_ qL/<σ\gCI,m*fDjR(j}Y~p; ֧$L~PH:53^D!:Orz;(Mdfǧ5:R6伖oQRc-ڰb;e/2ׯ/!T y_Tұ-@ #2RUEL0S93w#U-t a1ȑl/#]^m*δ(бReW"}Hz`ϚF dHOÂ~YxjDg|.nMRKFg zD L_٠biyHidğ`(ad\(]g!;>{Nuݔ~U_PS`ʗK˗a8{;S==78c&cy %'K㜆 yTn(,h^?_c$2ad^_6 + ^gc4|DtQ!VGC.{;T|pTEt0PPbMǗI(ތ5qBl\p"tvFB 5_x4ǓB 6|h^ƾ)5g# P MmT·rlQ^ڕQ 悍ͼCޅ*?׿^< D2eHq׸ yosp˫_+a Aj( Y*XE aэ\ea$d(3b}>Q8/[\%Jvx9=O MXiuf#5u\"(Y+QC}/t$ D1yĪ Pj- Se_&VxhޚCb;h{~lCoȕklǖjUa) +&P[4eû6Bi Y%ƪ75#iWwtp`@ @XqBK]H@%Ǹq8o(M>G_:#PQP=84|(]>`F-x!?>OBpYfoHԃoC*)g-uPȕwMX_;~wqH}sc'*"IFch +^P8 B3'c/H+e|xk99) lm z_~}(00G(csƊ`Ba=1G嫽O#䮧h ArPaT @?p 0--h޴H WCŸ9M4*Y5n믓ח峿+G76;P-\gIa) +}:_t^t̆|f$ilgf.?e\wfn"Τ7 '֤$gSӖz/4Y o;J|χ0{zy9eͦ*3 Eu#i/o_돇OGo1ag ԇz= +hŦ޾ ]D*qF3]v?big5bdBZ˖9I[ +*FM7,6xfpa^>|^Q7j5 9=H_58biO}4QaO,dvW/>jj2])>DAa 33x3>ܼ2͟>bnF1OC4' +atYȀOM?prWǿ._8N~HEYHʆ{s<2e_h>H9ѹlM"ˀ"+Ӿ!؜َf{Sl&8I|9#a3/l(op6K;*?0;iL34 z&ǴLg +s rU}Di>o<_ .KC9eӖʼnb@w‘ +1}@@su1[k`B@ e쓗4sS;effB6$3Tr%nr++g_W秇@"&1Vb`L!hhنbcڹevwE Nx +ӲkCX1#̸O@L98bY;Щ)(c Xf~ 5 QddYh^ܯ_ORsTñ!iBdM tgcC +Âi/%F` UCp^xZ%v-|ywã3 +t٭!3i3SvTx9\t秣7O<3zWK=0 %TUezy"O]a`*lܐsHK,QFyW +3txm|^߯qK$=:AHTQ  W/e.k8?x3Gzv>&7: E=_14 Q&]0 b-#2͗u9 JPimm64ׅVo'6 lt:|R]xfMtSUdpC™07yǫ㉌4b)eq8u!P-/6P4RAyYJƄ l"42˲Xm.pGW;9O~pOp!y9s 䌳q1:zx 3r?d383ZCy\](73' 9Us9<8<_D:@2B,ʚ,-e!:S!Aw[NUxc_?,/___.>[<=~f$Mhn < +(:axG99R:Ù<,mN5rg`Y+ޓyzkܧǟp TvkHReH5U"?ю>"蝞T#yhQs:s_-W7:_ǟ''P!!~'KqjTw)A[ӿ!qP*4cr0<\:}z8CABa$#D%ڮk->Zjp9G#gK&+Az 6jɒraH>6WWD!|N^2יsTr\?< 8mUHº\ ce[^aN\O 5gKIcY;°%Է^ϯS,T]gջZ[+7߆]=}8|5t:6҉) H^*VGR>(ϟg(8pv2A" B!=>I>v.%q>yq 4\K4 tςH) ]1M:)ޘt0[}:|JDOB@LՀ(,h Ҋ3?r+Xjx 73Zmfi1 dGVupz/GDbm-TFfZGfr,>NÆڎc$n78%@'*v@#'82ew?#I]EQ@(YN 3LӄW:ƞe0U#:LCeɛr|1偓SV䜖/7N <$.CWB~hbpzOxsN-/%50+Q@ +Vp +N12:]LD3n +otpHB==QBR1Z 'e7zо\ž\_ӓ?8>4D[#(O0ӿx۷mna˧_cHRP +4]z/4؆!JQLEuqSTʀwV`Wr5;lP۽2 7q||i r9"Tb?S`s#0v73c:rÊFP(4:K;?z~>CB\-!3:;|.RXy]F (sD'g 4+Ѩ|3`ʭ-3fĢ=l̒sB 8}%/\V" ,hPjogp"թ/2 vx{ +ݛVTE̦k6xv?O4!-2rg P I;Ia2pNJGo'Sǿ=k +`u `!oԙBX\[JOi^+«E™g0~'~4X7GRj9NI \;JIdyW2ϧ=?:C̨Tذfcppg#'˛</xygCuӫPӬ2u<O>&`z!톱8x0m)] yf}$|Wk=|z +b ,0p;bᦇȠ* Jg:Y! ArM-#mTm3\[ЇdO?r{9Q< b[ݻ  7)>;bb_0NLTpuS~u&ЊB~8&njUCiAD`cgH|`H1bx 7/Ͽ?q0abFkUפMt%>__˫M 3+p`Mo{oa\>/Wtl}bTˆS_l<ʳA1$DQkx}w@@> AR[]tmyٍ54R=` K͎e̕Yy+nOx[VN1؊Tvgw wy͵F?_.`(+Pʜ1ܪ ٤PtQJ"#.mo ?ݱmng1 +'uH5MXn}Gx_?onQ~;nz$S?uęgpV^:mH^qkU +2G;^G,DR!EOe/o23͊*]z8Y_EV\t;OHÅj!d,^>L6O[V~R䫚˨IlV[oF=ƝM=e۶H!٠or/瀞ׄnUSRio ^֐~nXNd$zިgnWHqY ;KYe[k[ ;$ hddU|+h;}vON)ڼ}~Z[MIⵋ!4|z]*+jW} 0!v[{NS+Z]l+S}0L]-V/ۖCVn,:ѩœ!K + 9ZJȽT!ތmU$Sm>eSj]~1Bg?e9Ai+n:6t'֘[f +QE=; )!?VWsF~`}ީVRzd$vS-_g꾅`mc +`8[+Maޭ-B7h.`=NaᤀA7VBjpe1R\MN}o)B[&(S~t Z "vxnC +;^ʚy7ޔwOvgm%_ohD.ukQKv5 uKiXECD!Ž9/Tl1j*k-~mmkƱ|Q3bk[WY3eSmV(Pph y~CĿZ閟698WI}Sas0drd&}̼7XQr6WdE$vsmy}ŻxOݔNDŽOIg[թWEUb: >ߤnHpν{7o}.lvN0 +ɛAS=_3)* F\ե7$JxC\iz&hșDmZÔ ɔmGR$;*9gq=u7_%kݿQ5Mt3 C+uS-:>֮IZ0]/hFm'h5/2:I[HiMԃtn&yxSǑ'Bc_X%Zfu^M:-r5~ /݇XT!foAc]ך)u5)6ke9cr28~Zն@ GEWٍ +vB}sI.A{qH. Dι(nGx),II$]ٖxLcv GBs1 Lg<)WҌ ;n/oݽ"t`%i1s:̝ph2j Ue $ՆяTs.1 NXA}1F$wHV!S5-.V(:Ne2XSkF +w۔cJ l<+ؖ#ZWӾ +OXZaiٷȠ #U >l2{I+nCp~XXbʽ(AKg>nћ9ZjGl,Ֆe:#w-ڃӧIHhI>-/tjh P1;p өQ}hƦ\3\K3݅nv`NZPZek[#+Y@7 䮠NF&/ +KĒ\=xѷe"F ½?v{=2̻q{.}R3[9f_dR312n"dNోLNi[;҇TD"m5t];'}R02 hylED$nV|-a!Ĥ}X7kːWEQ?i'U بr׭|jī(Eń&Z 4)Ӟ0jic< T&3[psrqmT|ңɫME+vֈRaү8T}PH3aU|V)oӃ8ɦuiD;׈WyC6-X3=ʨߺimJ}W=J˟w2'1I +ۤ,Makq_~noL; +JY ⷂ2zڝ]|܍O+ /ɁtɆVzO[ +=P^rW;wأT6aZ+웈=߅j"1jWn/o&QNX,ݺaGSR0xŊ uTWDɏ +c.~Vj8|a}ql1G*ecI۞@xI2@Cwlmr7yZ n ~BP8iȸ(Z`7q1Pm.]KI`(굔ujEx#5\)Mm" z '\4vxA%NzxHɭ hCQAY6P}>MХ̡ [Kz<#7<<>8Qo=n9>A'n^`sj-3c'}㭿m*9:Xؕ5^mv7_b6(BtT)9М4h.c)e[ٲ7Mcn8ܢڻ#E-*p&x6=;/z%<!˜&cc ?tQbyjm]H:pSѽJTӍ~`=9Cb +yBUU-!ȍL5بI&{\.svNCxyy헆F[V;[n5׹;)fm'1STxִ8 +'OJLKmke_>+,e*'Iᯔu1HÇ)^EnG~$!>DzZiS?׷UVV<n^{S@c;=2ny,8yDFRqW"M(ܿ[fv{H?Oi>uk gmo̦UcuJ÷͸)BhP7DW7GPtq9c|)-?J+# -A{y]./Gل <ћ ZmE']D#+¤l7U9c_ij;DQ%\essn$W7@^`AW$j_ +g[Y uᕪsgU[ ʌ#&M+S]~z h)'Rl)ѡz@ip) лm]M#OZYMB==@#m~Gt&.We'<ܐw +K3n :F_U +? })QqIq2xqa]r~ZEm<71=Y=n†?K28KXMqQ ~*!j6#۬?0D'_# $'~gXNaȮI8^z-P"]H+xn!QR]jmyR:#A1p%Lܛ\{#MOyϹ1Ic J)2,G==!Ȋ0 ~'y9T/8M:'@Vx[* 3ie /KGKZ>ձØH^>]aɧbRNbT #F)-prbݥKq,:؄NmnA: Iy"#䮏0Oy=<+NBrqUC©ꁇ %K+@zoy&x#ǭPMA0V[-Ir#%p7Ḡ#Gx)+|+.jܩ7eQńH6]9WTن#gLנB{fv^RU8ɮ?>Grs}=.c]\ؽVNwx_<*2HIWɎ-OEY,ECV,4q|EH/i'(\ +Wd {.k\ 3Pk·QU]7p$k݅{C7.}0^k +Kx}Y*cЛg]Ee͜@d_oApGR8.j`O+MC&'+8e3̬N¥aNu[` տ84J'RHDK["Q̇W0v6hƮfhu4~x.`1Iw +[;'}pd]ӒpqUһ%S15\aDffjTǿt])+V`VZRQE!1l//G`y*Y$#p"@ wfQ4MxGCxHa%EP-6ꮟDO2*EggAWoiqŨ3۵dA%yi_1B#Cnu@w}$cÀwdd'@Y 6gZ^1j|*Y[H + V5 \ BܓHӬ~5eK؂PΈKǽnor{ޮ?v,fV?oSH(;iܒPTeAbOz۵]õ= Y5vvc+BH%uhBIzY.5qk)_xmp0{Dz|u;>8R߈M^ 1ccFDM:JsXź |p*01th;#p) b8R^{4?ՐɝH+xM[-ǘ}8{8*gm?8Qhs֑g=g +l+āB8O00KݽeSז=wwOT"ߴ Qd‘O8\ 䣝\e%ظ-ml$s{tH}䈅)L+fKAu^xyILz@v.pT/D6_ Z;b8R5g&_^.jS;4,y,h/)|iG0g%'L+7A j]Ay*wW{c`zƎkcue"ZU~v'ݸTTst!NɮYlIXpгK"eWF%, 6"UNO BZM (lI=8>ae|#ITw_BAeγ3fѻJKN 9j `NoS%9X'Q n 9S c{JLbm ܸ\ş+\YvXR[B!"{$@!Z^gZ!xWA:C.y^3Y5ף75ڥ{C'I&-ԯ;(׾8fjǀL&lkK%K+h>2Ihx <nxaT]$ZEw* iD mܐsXYx3Nem.ѓ WulB6 ]*hoX~{#S'r=P4Tcty5_hך$ϯg]Ni#:ΑKn6]bkz KF:8o؃^u%xAp:Q8 U\x^Lnۓڣ{>Dʛv;dQ:*03Gb?Ka)K kUMu ~HiE89tt !R)}Og-؁MS*7R'J]9$)Ib-Fðh.o%G|TfA"Ye!k\hfIAy?"{ g1 +{;غ4 @nH~xo8ƶ1dO8PW ޠ/-;:tJͳFS2wR{b*IJHFlGA +:Ywε;ȄF÷,}OUd&8qlV} +Sz5Xgv-`n1YErU3v@% w%]:1u,":CڣY\nZGDz7YTTYєeAOk7":/ܿg:jW#fTR<t{62 {Vr~[ V픻CgPck-ǻvHJMvb +d駦diH!ʌȕ_4A8\O9\۟s+!ŞM~Oc|؈wvAYzϥ c'h}ԳVA=od vߺ^!9G%׍o;J ZA~Y~Z!G:}@ :Lz۷۶IƺOn9?Krɘ;Lz:1 kz+TBێ(lc1T:/ɭO`RCa~EɄ)B[hp*hi uԱOAC +'Їqθ0-/uԃ3ŷ2QNj*Q O `,T!"tɄSF*x +CE'(wyJ  4RrED/S1ޕCp{Q\:ោ[;6ݮ`J\b~䩈{kemJ~] ̲&kKr ׍F,ڙH؁4 Q"#a%/i\9cp (1SLT.TZZ("tu9='Ǭ}bLz+V׷$St~ɸ.oRԤcD u璒ѢfYM xL~TWvMU菳\:kyW5u.. JI4?my^ʎf(8~)n gᦵ% :v]WSyH-!^ٌ$g2)j&^0[\ҒD'Nб/F"GeG&d8t_\PLԃ/66An:ĕrno鑨"ź7h@qe3ErD`or*2B +aRv g2.HB爸x VN ǩ< +~W+QkJRzuM^ ?d(mfJ9PХ{GD T`?DmOd|L 4Ld<)&twҫIVUcjϜIdwك2G$52N,9ݦ KGH IK{WDatR b:fXu#ѵ#}2\(I( +}sSZݡؑS}IKN3Ӱ?VQe-eFXqC(ByE{?_c=_JRKµ7w6m|Kx]D6PlAG *FAK֘>g{v4.`Jv` FrD8`Xݗ<w ?Čw#1or+ *XQIoNa@y!tz;՚[WxnMc/][qGJxNcjHllWbX47~('4L)yf_Kћ]$g0^,Y)ib0cƍ4-x/4\koiyB8fx8 +r͆i^Mt}$8( f{Աm;9*Ub;'_{]G#5 %lSza>a}x"3H=̐b |o~+Sc??3j:νGYyS%XIA6p芜f7@X.VCZ!b7!)g)JHOo Xv8cJ\hHl5J8l |„WoO [ +Y=h+T?;YјSGSȲE%)DvT⡶ QXcz1尒J;ԱGl C^wvj2;}՟f)BBDjq]g{C#uOlUAe;b w]Y2U]4QSOrQȅCΦlC֖`񑤩{$Wv*td;&)5t|V&IpƺCVm\irW%q߹Zs&GYA1/ +Sg̩-?+u vtmn;Nnld uNZpCA"67-DsAI܂P*Ϛ1izSg?Az)u#"42QV8Wm}Ӫt˄w1>ag`R3ؼ[TͿhuAyS$^t6'_ B4AHdyhtHM7Sl"صp,|7k-OǺjv#<3Gl&t8Y\O s9UlcO%wN_;O~Z|S2JTߏc$o9t&!?l9{i۫܎dF=Ϣ XvSXrWi>Fb+>{ pȷ³w^s+8,pF[FG_.qq}k<VKL 6#iT$AU(ݗ#\ґ 6EwCCZ1eGȼC'Xx`3 'K}ȓ24>tޗ&e#G6`@Bb6yjå}M%-?uۛ%ґ0T<K3>S]4@%1V;-q +c-|\D es`8Q'ed"?DWwP"!y %1Q&z`GHCoZxTU~\c7a2H @M|v&KZ L;?61o>ia_u?m?eM~i6H-AYM-INh:ívTdHzo":!9YS8fTXOfHY]r?Żw(0S2Yj9?^G7;},\"גteM;ރS۩G~Y:&w>uG.YxK)uOM?ӿsH$^jPmSF>eIB#f #iЩÄK+.} [U?OUww6e=& qn%Eߠu^S6:nBDlx(Lex$3M;5KĎ5HD<btAzĒ\ɯU +ER֏+QuNN) qb-$&#-&m +?%}չ3̔~n*&<饄h; K_ޡ^eTb8[x+]gz$wfW:XUU)t_E!)GYRT4ɃyGӑDb(V|8.O"X>B3Cb'ܱ+8t'u&.ClZ )\(ظ@!rHa!u!;PFk'"MRfR|*0:]8}zĩzo\!fKdt +iu"5;9չI qsIvjg-HpMq'oKv/%RQOrjObF%Z o[зH:T?z(ԸnвN| +y&:@;c%<׽NP':b +Թ)&h Y +%檍a9r\)%ڑהtAB <LHڍw3Z.弄,*)fݲ]" J v|>E#Xú/k5 +P|MڿA-I%g† +F3 qgq <C}!rKS}m;C䥬/8gc3&z#49Qx`E6o}G肙ś*շ?_xk/wY|a +(̄kV"imjSMsɟ\Hh} K3fi88/IO@dɐ&a?Џt8r H>#>bg`\TsZM ,Zܪ(ؾzme%^CV9aTyȽ=9>TgYү~CۍF?H;"~%>SzVj@VZ'WwdHWՀ_Svis%EgH[WأcK8SãL~s:8 ~3O=흣僯,3>i̗![c(p +a4IUauq㠘vi]JYK@c.;qeg'ꓱ{gX$Sp*_S;#)ڞe%3V~G#t\;߾Q{)~qإjtJu3YofI9ړcϾgqlj|1:sM6{+}[7ESyHπ߸⇷>,G{AVv5_8+wLS>\i2%>9xV׳{q{tE|M[wEbM*$F p%N'йj !B~l-T׏~O?QB xE㺤~x&aO:'~oMyTA~Ć~@DQ5V.K%vQq8.rӇ93vThM*aVm0q7 ~2)a d]G+w>6yY;iu5" +p/cMw 90Hn Ri_Y]O55'&]2w+hOmҙJ= w L>. ) +df9ufí|Ff>{EijkJw4vXл_/˺o [t[nbd$2BtYc^(repJ2@{ʊj6RrZ4b'UFH{NlV`'sU!FήgI= +lrcPi8Yڇo2ΧnSҞ?:zO{VvVmJ9(}ݽN"љ& i˳+*^DهM'˷=%!ގYs4g@XP\<%,НV:OOsūWMtJPMIcA1'mU52ql.NFXˮgwlRU}J|X7Ky8k_'jϝVs8 Z=lli[41 yETt~*iwwmԹM8C[ ~7zK+,;L7>~rx} N+J̆K JQ컧_>-sHdѰ2Xr}Z?bwF/\L=~h2jJjм"T>?[k=\g8w$aVƨ!@N\i\Q1ryKJjRF,o%PJQ&;]X{evTr:N;+iU)}j}fTIcGjwjt`-PcGLMWKsgAaB0Ȥڭ?oQ2̞SI" <1)/FGз]2$Ef;˷ R(*2ڇzݽe. +4}}jOɿ^>RfѭK1D'y#-q RWtF{SOIuJgeCLRc>U]6g֭JU%lmKwU.qTb׉=,uѽݭ[eͰ߸ lűm\F0H,Vm/r}Gªֳv7,nI)9~ql72,\+ʛe(kxY"1; +J}8ǩ>6kB~+5u]'hNZhE**:AA8 Q뭖 \"vHOfko+}FE#Ϫ^>ʐ9F7V$rKb 9]R %n/UMS>CدN.l4Own Iz˽ܝd]fCz#Om5!'? +1i iFe*Mù^VN˯׶`~W#&&N+=bi!{}mk@B̧xΪ BYB~YF^;n+-&M S .r>v<'vV:\}1hJֶ%KlRQVtau;g+v +NB1 DZ{ G{$v$SX^ڬH ^No7k_.I,*x<8Xm` }]U\d 8ZvXz$ DvB9폣h]Zi׈ ,.*tUTVw%i +:eA٢BuuHKjAyvw|C!O^:"m WB[%]p$Sv/-1d7Ҍ Pc[-ZB^9.MzpCf6k` HrKgbVM]C$͡,~+k= G] +-ȶiRZWZxB@3UX<ϊe}hۀi]>HJwNt?|RN^^횶2=5/wHXg9w9/9[~cJc$S]Ј";ov][ԾyFZ{78ď&1r̀#'[Ȭ >T% mK@Nb%{K݈u4qs%#hrI $rm S)-oVŝZa: [.ZύOMYҚ(q Tev|nq.R!(RBY|aFHdY^Gخ%9IÕݘvZfl/BjX;$1:L{(K+g(< =One9ZvXv@X܅+ˮ.&-5]K+\lM8*BRWV A6'T \݃ϚfW8f]h> 6ʎ~ KJ߻ソ̡G᪶F%KrT}er|d^^FYC:W>*:- \_=|&s5( ֭nYúcd.1iuhjd3\׏ +%Jb%ؐb_ǕgjcpVچ܉t-"_}[BZqkgmU!yAk_ ڮ^Y~֝ٯ|ۣkHdW+ݍ&1% {Xj݅o|:D|߉)mBɈcw)FZ;<a [;nFKĥ%x"0G3Xt0‰cҺ+r9M=QAI*'n:4n5Y[&J[( {ѡ+#}2'*aO3"euGhD%T[Eb8a}(Q:4;q㣰grϩO ]\vjzŵlLxhu mrbMh}#-ѽALG+vd+"3L&0lI54i@62wQSu # +0iKOK]bZ> h{/l]sDIj;JwdtY㲠Wӿ=~zW +ܖ)y}G6VkDs2KYQPFn*EPq w*՟&w~f#O$H,fO6쭨FЎƷ @K674dZ?-ůh&E*$m̰J 9]Ecj]!&ZV\&dd8tMeX;omyZq`oyDZmoEH LΓ̨<Yiǫ ҫSgUL]ҎO@F R Oģx? e,Q4?MIJ0woiu5m+w=odPeg}&{Uۆ ɒCmpS!3вçby ERuK w$2BRǚ"u }&((a{'Lf~}dzZ&eMb2J-zЛmZv7fCsު n?Tyio 9^Veqa|5o+Lx +|.wKsƉ.,/*a{lo4NA"j`~dTOsQ{r3TDʴݙJNjƥl…Uxn[|-E'*Y]c"kWp4Yok{+->S9i5-с )yP;prF~CCkqxmK^$0TBȵCgl`g}{8$φ]I6S|.~^t nӾ,GЉR$Yq8eܽaZ3?qY_Zj~Y^bJ^|`~-d001-Rb^ lY*,CKZVa>u_(M ,`1`}2k%JYxk.Vi uی;a(RZK +VqrۦX'4+vZ٫O|7qt +jw$iڹ#<(7L3+Vaܐ:(1KO)ump%xn!hd~Yr"6 7>Buwe(]lEhH ٶ^rXAg4wyg8;Rydפώ80[{&I1p(}RC-2wǘTse"o%4nollEbrlR-.`["u|cǿi Omugߋ}g˒OY4jZi~,"|[ ) XQk9];>5`(9"GYT(=je1txIAAk" P@./eR(d`*i&J^<)l/oV0w9h 4o +(ɲ˂= BpLTb[ر%b:S'uQpy=2 h% Q +E 9#wVou1 +1)KLN&;!Ӹ BxLQa\c2KŴv%R}aMz . Zd_p>mt5Ms)I(qx4N] y!|M}ԭj;[gѭB~G`]Իx#~\<~u`i$sB PVgLa|]'XW"9(Nh$"T-ʧ}m2j+ƞU"t;Zj'MP,WÏW% REOƝr7{>&T>qhH}$` UZ'Ռji0PqhJG%8. RF̩sCI";m<|ac]/-L.!ckAS,~'v%]p@Gٳx-ߋ`Y=H:?9$!eC]iTRIx-ԩxPHT6LM.[.@úm-7Mx0aGՂ*E 8OؽV#i,TKcx +5'X!@ %”dVuv/hVUVib< 96 qD"x{8Qz)vTw:je2_im vfS肒ذʶ\/:LvZf_u&wIlfқ)^ԹK:/5[WcjؙVȝҩvP.#i)Z*h2]2rVZ]JBEK(dR~M ~%&#c8'k| ~>+d]܆hΝA'X4MSvY.3?DnYh/lRht1 OSDȯk2=aeO{xeŠi6~Z$…HG5t`a7Ղ>E;=MЙQU>6 +fP4HxĐAq,[BP{ݐh=ncKva,Ӵ^ds0p?[++9B_:?$'s0:9h,j:K.cK%`GaSljS-K|'`iy&9C#q6OROѧcz|PH3(:,XXٓ,\vāy +CJMx$ٸ%tWށEl7;q$Fqm~FOcEe=5iy'Ph~6!+_riibM,d82@xX8!eg(/ G(! D4Szg#MC鲚Slg;IHji 6M>j'>JJl]%CJN.ܫD.4 32p8v1ܦKH(JKķ]p +zO)/={vW<0ՐtZi e,Tި!8B`!^`'rf+D8pjBm|.9ٶXB,n%3(QgN}SZFjVTv6#X]lqo|{+22kmzz/ 5PrR! +M1}m.K*y +`Wn^Hj YlZ+㌗pqʴ+wDf́[Pj&e :FS.>^%1m>|S]߭hUO-9b҆ѓFrLÈyOZ 2K 9OTiƓ5[oׇ~lI3<fƞ H.+Py`#qq2Zj7׷@0 ޸Ilw +S(2&CsyNLƧ_ +%4IZ#[ +x͒Y=BF`\2M;)1pYN.5.f&DTy*<6~4|Վ{=y’R5v$f͘z|ɺ%?2+]:s|0*:V!=V (KRN'꯭-?#!"LRwp&R쨆V\l%^a֕S/[b4ڷ$'~HqL/} iC +z% Ypxs>j{oZ_ѻҭ!t˚'OnOG_f8\Bށfyl3.)2Ҟs=@?ՒIr? JdRa}C+_^l pA-Iu>.K k^I J{ u7DktrP}JDbKqK +װż il<+1ѽZSX6,J= +Kv5ZhVק<׽l6sݎC:|q;GpcOhۧ{p}d6K$$A['H7F==ۉrL_IuS?pBN%vOW'N]|YYKt*?8PJ7uiw`_Rh8ͨ5C&K8!Jv\-UHIUzw FJv MdFa=?5{PӃ|y]L.` +~5|XE yȁد^m#* 4Cj%70IM:Ҡ?CMH~R`\IgMdI31_""3ݍԀ"G@Fs $@/w%p7}fᑙwn +}uffD-3ʁĎ>!4Ԓ5) ^Rr/8NKXE:pTjO g笒B>( SU-b((:/ϳ*_G$GjlW>8xӆ[?1".Rass,h95カU;gr8B7b80-'Ϯ 2PQJZg u +Y{N Bݛ%e"UHd*|I?ZQЎ_nҪ2,@p,fõ溟UKvĒM7fQz*.Mf_4(*%v6Āi6bsLaP70>p +Gj ZH͙ \fC`=^|Eك4h,dxY'3YRf:ɧZ;tidq\˭}m,{&oYzenqt8:\#A: kSP^SXApP AN>vS> +,[^K\@Nͬﮜ3A9J,E;jz7үpĐDs.'A}E9Qi3 P9+Ym 0A] ~wA0Q!+R_. \0XP j^YXk6RfثSc"(CǨ-gpgsU[]ʝxQKKegc)}C|XnK\%epa ϸuc@K ܾ +ҎI3`%pG!㙦ɻs[#[yAK"#TZq|(u:\g`}&}4[5Z|3bE_4m!LYRB 4$]qÝP?Z[A+c6[>7%XaU }j;WH ULǺqܩeCBQ98($f1q?xg. /xڑ3I)`^x!aNI'ajo}ϙI6 2z3 uyJ5'ryd8$ebrB#|RZy۾d\G>;{ XVXDq*וT94 fP# A+ gno,Xjk]yjimX(q*'C D +Jh, @T" +MMŋMНCΣc}Z;p(ay6JA;bb WyZ "Xȫ=/+ u;8 +`` "QFApSL֗D SJ+5\.7oS; +9*\>&K:. a2~t5%R2~L,,9ڕ9H +,29(rJ9LU0GNs(.B{:4˰0"< xf6',(~h:3TCXsPVsru,|́SmG"RFf)MBkK0;}~TǠAM)BE ՂlRX:Y_()Lѱ/KMI2aVj(uYȄ\$J:/$BT(ͻ7=&p#$"#A5h7N9cFÔC7Rws9DqSC>Ư쬟i鳠4Uhqd,Θc8wka^e,&T!_2T~A%S.r?WM!YbژI`EYZ3#G4uBM5&_2Z\}\ +iC0UTlnڏXvWĂcx6 ؇HW͇(:ø`QXKIԈ 7P!S}hhd.I'Wz5vvچ9I7z*ٶ5|p990P)iK_j`p4"G +1YbШ,g9XR;hz*N3,.ldTKł'6mGĤZԴ-'h@t!Oew'F>ymQDwm&׺ZG3rXS6ȢI$~4fd*`y2 n3uPECR&YFc+ 8>fz@{pyԧ򕬶e0W[..RˉM`c?mDm(fs@rt,*9@c&}`YnCcF;J># 21/?g^ +3dX\1JY[٭ +:\ҟ%,Utѫ0A$b!29S!Yn:vs9(1h5W-D +#`+P>gT\d<>!ʝP%6=Xgx&JFH?%)e/t-E!i9 -R҅XZuFvؗY/|<6뇇x=۲K4Fv' t]o|E7`IDTLOǻR$i63Lx]8nI'χ7߽PN+ư5J338zMB(SlU2 0`` !~<Yȡ l][I̙*|bGYq6çŜSYWCzzKlN υ܅EOX,Û7灝Ty:*Wu&vAy:Ni&yy9xGXVÙ-](k 7ǧrk˰|0ӹ +a#u/exh.Rv_,^QCuMb0K޿9˻ޕ0|#Wv4lbwPXO,$~\RuaӻMco& Qdi*'jɽlzv-^#R>)n! ,8=p؏h>wNIx>ezҖRV87wivۗJ AsEkò1*1U+Dx߽!o{HTxDʐMԳ0#`&/%qJxG# GƀmB'%x(G[/,՜ҦnΔJqK1s >=>L-0MkJϦyLjVhi\dn%BDWu[dGr?x:1gzY"@CRq'U2J|v .k]n&ɢ#)t|k#Jjȹ0Ձ&- B0OÛǸ)ӘC>~u~q?< +6t4 )?|͛ۇAPn a ' +k% inuod?1u}<,PA,y38Z_g=>LCw1G\h*#w!E82~) \^Af@pяlbX/gpCۧa(ryR +OVBû$WwK繄o]O>"Z97ko5bUЗJR䒟xrcιr9i`Y/¤EueJhQEbi߼;>fidEPD @4(t !QraAsGS?=|wOǧ봋If%(+H2Y|RIcx[ʭt,Pr  &!s=Fpq-U6q7b31,>ۈL$HU؜hD;BoK_~uH/Ʋ$YX2}щYSmû:wm ә.3-E#H<ʾx~:#f0gRs$D}Y_N/^||w˾{DHAIiԶC+A8N~ &jC?ҙ.Y lQ9ZB hYq?g7pWcu$Ow$Oa@unsWꍧ~:| 8}7L=s I/z?ZV5Z_̇i!&pO'\7Ki +rKKDUs$@ˇT*[\ +ۛnKOődll̡{m؆:mGn +Z\!xˤؖ#/`xLJwsyx:O>}X7!B=.sCC`Pd7<{aD*H=,P "YKξCNSI.cۛ sDs׺3 + $rBr dh܏_o8"ǞPEq +I8y:o%/! u5zMydQEY)0,΁;1 .î} +PB.1VS:Uz5/J6e nz|e 9|1[RH(Z|)O Sܿ-]B +iCR +6?5rsP}W3pOoﺮm7wy (νxQ<*%7(&z9%xxz>>ޗmJv\ 1ݛ8.?>͇= Lr AF@Pud(B`) P䂙uʩyNl6zvw_uqHꒆ(I)[SƯaS) -GN5o}fO>LSNHYW FM )k'f%)ܟB9`O 3Ue<S8L3ac@aĩMx},šFD8"Mw ҫ^~x><qz DŽ:K\JYn7WB]*&e?=/77ϞCtpCSRD08_QkHYF쭛mWJ?{XI~!#̆z^[^t5}[1zun?P3|w)nv%rItjά(A@ PY^I歏 1Lg)9bɨBBEܸ,Q ꜊8XʵuqMЕo/^mX@.!g4 + S2~~ܛwgG i0Oљ=> bZR;&n_17KB8ƾ\v6M*!|{0wM[QҌ}m]I4\X,cv;ܾxW7}#N8gC/Ǎ4aIufB ;|Z6ۇa q#c} 5VuZE|MR'9l%q4TZ׃76e~Nx\He;- }I14Otvjh:29'u݉[ͰAǖ|HVF% +~?H:)xiŮ5s48U%3DNBIzL`llql!ǹܒOo~_vqC:IznoB< y9!xwiiz7[ypӞtIuɋ?q>5q9jUm Dː[^W~,ϭ'y`Iݥx.K +>owv MyXSy*9TISj~[n~͆zD1A60XH(mz[ nL0s>lFn 7ލ}v]m<[cqj==\tet +pAcQ KK +娙j +Ҁb2OS:e4!  ;*vdDbq${> +hei {< ću~Ln?ڛ1E/vc1S%6wZzRx `UXSw,'xmnR$ +*Ow2IIJn %=y]ҁ. wtU$trZĜ5=v-A6TՔBg"kKe ~oW.L(.R@Ѥ 6Z=ȷ7?{Fb < 2%pA|~-6tC'PLlXOMYwwnn[$U93OB/sڴ'Y&ەon4&kfV=͓rbi">J%td$ozqk#sN)0+QxW!Q6n5'B]TD`4Oq|,eͰe@zR;LEOt}rdyARt@PҲyMGRH}t'FX9Ͼ_nXZ!뒉%o8Mۛw߽/ULYs|ˁ\)3wr< BI +kűOc~hyys}et>7#;+Q/)P't ь؈$}Pg/v^#Os]8 !?xpyoLo\|<xŗDÓ,I 'ᡮ(~tb<3?_rӽvW~y;؏݄]bS_4(1:I4}Ձ6w+j_]§(9Uԙ-dcQQ+-9gyqy9i$$pQ&~':$@{ ?|,Su*LnUٱ1O JLO +l;'CIb61gqMwϿ鯀*?2x0?SQ x ݼ//6n: +_L>8vjb!5x[qL=.}oz>^~E 蘪ʨ,ܩw]82^A>d Lj83lbI+,12E#uiG+8%8( 3l׿^-ܷ%L47>ǚqKx S(3gaLXnۗn.obڱ&kaUeWYK_|-Y)ފ?<;td@8&7k{Xe]`6jK x*w`Ȓ=>=v\ɗ|X~y'g-hjGPΉx^@<]W/)~M?}Ct;t=~V>$"ld(C$b%X.<"Iyaͻ8rߏ݋W۟޾SI(s0  sRTu`=U_mZ/xHS,w7˻n6vXq [Z̴B%kg`_N2ri:?><{V˻mҗG_$iN{*EVDUM:C%}7qͳ/6#*A hĬqU IPH;3f'߽~[\k59q0OW߽|JjZtdrRbk$UR9O%r!\nG:ےo\ +QOo@G۾_/u>L^W6O}}u6@|~pߗ%M~ڏܒ7_xʊe-Xݍu1vLfu{,CӔۗKEN777q%-䇲u`W \9O1pV:pvݶԯAD(fu#_q_2R nmf`%*yw :w˩nnJQ~[>ݽҡu/)0ʪ~]w_Ŝ9k LWѱla$ۛ~uEǦ bXPu7c%98,[o/s(KN<r~+ Y2 Zn0=Lԏw_nfWNlבX"N#].qa2eI(h b@wJoow[}gw;?q1ĵW1&">abC!$]'8#R80/P 1D>zHa6-6-:u*<7, +]4;x~~~_ŀ^qxϽfH=ZHubm90>B5mߧ>w}^Z/}S*ʥR)C}!bϒID=s/Ux/F1tŪ)v0W^v#4|u_^ozzbsmYW* G0Ҵ?ܿ r =˜K"[֤ +fj?K&ǻrbV\x^6O&e+%E?gRˢ+;0E}U`QK 򛁷UÄ8:^0i3`b쎏[ lm9ǹ1)`TZW'+ms)̮"us"R*Ń0)AT[zRnPllLGGdS㩼/Τ xaD[FGS LJ +:gm&Ԫ*(ű=k&EH"]/D0+&(}q 'fNJ bמi]XV?W_-e=R8҈%Eٶ5|3zbR]xIT_VBN*"4ܿF`i pٿV_c"MBT#0 s*; THP!3r5G3PtH2,RR 08 5pv-!J\a1pFmE}>x h(L3by%oh9#f`YI-4BQq=,3n:BiJ9:CsjŢJQ|(˖'1IÑ:b74c7%oV#X!*f81%.CНq$ǜ˻mIt #'IzGܨ:PSɝ4ΧTtaS?/=ze޲Kx%9 a'y.y,_<=vHDG֞4cǘ]Vny7'TbY +|}$,a'lPd4"' j沷ZYD/R*܉+sJMqE)2'V3Ns<1?so'4Wn&#ixvN:*,i@\WAX*z&H +M nDA7bw:#vOyڧdTr4 6 ,=n;lR,Lz>\4fS([Lʋi`u65jsyyiTy]6Zd +tL<0 Y1'Hyi=fkD,ʢz80r6wkN|0bgw ++[3"SHĘpjZah1 nOӉjdKTlT釗r b2#s t|ޝXҨHvUKDcғS2!']9K\+cW/]oZ6/D5,qUI'AͻhAeXXgF.4')<=aHȊ'=,oiU>($)1 yAKW/6q1^*R k|&pF_nTZًl:Î9GYbɵҲr^-6xX|9ES2ZOyXvб`'NV oX*DF̷)bVϿ) N~F޾M.S2,;W;Yke+σf$ls 6)޴ȴ]IVus3[L% Cx?КatwC-QD0ӔE1VX6u')q#G;2M0\[rnw^lNHzL&1Ēu КhtU +H |^ c_=Y`trsB˖+fyU>ᠷӋL$#~,: jMgH s<RF" Ľᢇ‰((h`$Cu\$$ Y6 +ɜ?d^{9 {l=3CT42_3ig2YqvغT#AcQd*R|u3\q:M3Q>PB8=tɫǕ+ƭQk`62_+'ܫiG>{)x; m|g +"evBTT [LBfVG0fAh(w[[fSGn+xgճ纂ՙUù^Ib20ΠA$,Ҙ&PgH4H*BczW"Y +Mzm'V")ʋ9Ux,Yf Z l_Yfr5C6:dg:[v̌0ۏ9p!E[& <1?$ ^3O=`˶48Ixk^!;S"{&s}E @Af3 X 5Ba#XEJ-M +qƘpa"}%tbH0z1I^Tg:3A[R|hza_킐]-TW̕sYQ#%%G xE4l&>>4-z;UeQ.aw: V]#XnN4$r |UT/Z{ 4oުvz+2|\(+Z&(Kа* Vp:[D  2 /ӏ7+Nz~׆Ai$뢐/ +8yt&P jQr}oVW7z0Ff^04B0PAU臢]MaDPrz/_ĤGA@9Qhmq_M!3A Y;>1 +/sP5᪼jftcl TTV-$Y61Ԍ);JJʏ~a,f4e_`m+S|a `C8 Gt+ +7NzU/#$s_a"צ `^l+XG5d bͣ NDB:wjB6j؇k fcZ#^.Q"^A USLa]ΐY*A$zM/ĵPDc tWo"CŐ7 +haԄ/%:OyUk`}@2T )7 VT(kumu-,em)դlվ4"g,"iHd)'!2N4MkZm2ԑǟ +u +3HOE +rdm:6d/..v)1ޡ?gYOaɬh! FKXa: ?a$,U,kĠv6f8M-I^>u-n0\xdKPtB9|TrQJ?``:\l誯?Fe @j#=bR1]u=R4Y275M]Mt|U|u̴jgUlO+t VcNGTK,ys;^G ++mkcɩZs[#쓬3eJ Zyi VUF[w:[d"w#dUXdҞ S8i9ChnOND8At!'Z:Mh}#NE>\7\35|T˘LKRN>/x5T<z23^% jPuJvze/S4 ?UCsd!Di9u˭dx^U)QQ[-⏁8*d+ɯCms, .nB39wFoW9IoZxI,nu(+?:YrLiÆ@7șx8@! ĺ̄G:K/]ۮQ=c1hS_4vxjT۳ŵ;%M^`9>l/{8Q.-}B}*\fgg}>aRk!.Q_K\:xT\\sȹ\jlx/i%иHO{ ڐ+De%JaWh9t!M|D XEgjI DhȼE1%TXAD~I%xc$Plphӫ0 V&S}V@6?R)LZ'|I:%eR+3l~&W>GbZƴB0>~)#/iC?ORzR z`/o E?#-,لD4 )"H& GM)LIKU2)4,CGSjAJEl3Wa_YeEuUeCɼ;+>H6RzIǕDY4TĴ;sxV?A,©r"6zM׶QkQ|.-A[d`cF-MKABd m_,4#^B xX"/a#-t6ǟ$:3 %աW'nӋu:]3"1T,N9|J"ñ|z[l͂ }%wAd\hRe +.)ٯ2-{ + !+'U29_wf4B"~h40]t^u êceC' +?+T%ѢePc Cs&BBpVFLD`w2$4FgD:k'yBtk(Ԝ,a/O'WQ ~ Z5 :fjsf0NޔWRT riC |FKgո bmvl x*GXipȚV_W0g-D4Z%PZv>&$ "y13YpKPj8VkN-Ӏ뼥^D(^ H$:Jpp8ԃU)I{Yakt4 a ʼn"TA RZC5_ {ٳڿb{Y婤 a(q.t?&e@TN:D`QwvI9~YU+n2`d +x޽? +#q'=H-A3E/,Ye ^Ue RJ-U5>'!LPv VDZncX kSԩ Xw!07 z =*KFSq8XbcscŔNWk UpgrW?2f0taP8_)P;00W!&jʪ#]ZRV\ mσI:`{ْAZb. 2 VB/]l*+ /gxfWŋ[?ظ_~GAB'O2ltǷӌEo*Yw{Xcg* 5e)uʋgk`Vݻ j XQ<_f+ C5 W \ܥ8loV0LEP, /]*TZA2EoDfUi0 +opL& #?QU{Zf|QG]h?櫑DI{a/Zc󩯊ԯ^pv9Պ[ V]\Ւ"-WaZ|j6LLW`&O ܂!)#2SmV rÅ&( +XK?u󕗾 ]/p"j^jyzS7c46Fֹ(4.ֿ/,W^4^G7g`#lzׯ?6lv=tP4@A|0_is|R$gk+|-pjQ fEEPWR|twGj٦D-ȋItt4חU'x&ٍA=[-՘+7ZG:j_rN$C@Cg`z7@"S &ɱ%yU!jK(w>57'5JVYuχAiI9勴 Е6Hz$Us ƗI9PöSoĚ$GDvHKCV1X[G̤o)Wj1EyTSE L[;z& 'sS頋st>zz MR-I453-Tˠ:-/g|0Ng>8Z=̡$҇VS>y>H 5FԢ(:5R g2_I@$$"ي9޻Ԑ^uvڜzI Q_jgU >,;-uCjV9y[]y.xMwuSxQ>W8X}b-UJH hM umr6&ֳJF帺d)X&L;1 6ńY-aGgr Nl#(lY^?' +_zSRFh(/H9 +lyylLQhuڎEvؙnx2G#:2Z^W68Db🯤5 f * 35mH' +ńO#k(ڷm-" ϓx9h96#&,к~¼X3QkR^IB"1 v< +;j ~K4c=&";j< +x a߆=YK~_@ٱՆffJWMV!su9Dճ5,ͭHf1#sHeM{3 #/\ +ZHX ÖO$EmY ,d2P,!jtқ:^+Y.)H罩œؘ~e'S#RJJkq[^y:ˆ. KUjUjlM9`̆r<ZIC -drN5P510hjw:`Sl/f#pN_UKKkL.~3[34KߐmX0Ycuډel*V G3KVbéB;-MɴI+PQ+iO0y*ULTdy2,]8O{ #8f~P|%h@ nOU$!G3~K~&%,fqPK5bK1!l9ϰד.sT=r2Q +\W#*6 A +)rs pV4̀ fxH+[[J: }8| ohd r:(^R'q$jFj\5I=J S@ٯft1Y{M,g˯ ;+dG^ijBWEޟOD=KDe#nB@9d3m͕?m1Όg:YՁ(&}y.ʉ  Jn"k$g?Ss |#Y퐩MM\ۂI5']V:LOVf ZgLh}kr "7[;WZvJjt1;,T $Y_"1bʼnm*T/1_&2mvWƙ,X5zi|Yf(Ƶ d"tsSnGCve8_1qzGO?2nYAeW,I5jS>hZXBT5C.J29Ԭ jwo}nuѺ0zխVˮ1 %R9.5t,ƹ+s_U5BBZM  +O Ldԟթ}unn<-+)S[&HfYjBkKę9BvmBC*5(QT<ҤR tubkd> +cU/uyATjG~].__fiÕrÏgU >[ҹX¬fPƃ3(D`$ s3"XkۜdOn)Kv**Pڄp!j9+YZ2Sa/MĠ)$TgRl&u2z7sQ'E^w\–KMHԼ ,Yyi!~oW&|!OWg]e[5pV({WUw.3@k ~ N +.[arh.Ac&JAzA4#u,+DQ4|EC,)sc;D]Q b峒F)Wa,;, +sdw| dn,l4>" հQLmWq&iȥYVX%43tg*}/TgYiYKs汳x6zT#'Mp-T嚝ܠÔ> +(*5)ftȤf*MRvS.G.39A?$80#!-0#Vz _{OXE&hL6e1$ +MJ#CY;ZJN[ez6KkH}}RZx}hw =j[Or†u$ )s.`J&gnSm)kB IWldѪ଴1K(+gUSMݐ|X R9H)ιydO9=E_=-c4Ah i&t>ûܥ +9;Ɣf!&qIrz`9(mo_"Є3R.bKANg2oOM^^HK,̡SM=v1@ev8Dܚ 1*w0劉Xf2<\ź3z)\9 ya[ +0^ϞB@&),[&ҙH^>&eY& ,x9ICD7#l&Vn`E (9F"rl ^`3c;Xi^PU` }fK\@ľ>ƁKcW1#uʑUs>{ &ԣ\aTɖ@.g՟X#ݲ{b_ـ_o ]eMO+hTuuIo`Oshທ5D^cRt"-Pr61[Yrc /ZВ$Fy9IrY ]X r,Ҝf)hC5\:D9_X/P)Li+.\EDPRDis]Rr]kq,t_5l*Te[ǝ-}~!k$jYۆ&}PBl;E]Py:H!Ѕ-c㟲 WM07Cl)Nf!pr +SO%V}[s?|cVb". Zm*oC75BL4(dT!*]eҔ'l3J*+TvЫ(1z0$M`,Y*r3%mbxO{,!mBJ&R8wϲXY-:D W0N>b=0E*Y*eRVGjBY)~qC$, N5& IBY/0^EANYF[{&Ɖ lQsG3aZ))x! HMO& iQ?$U kuCF+OJÅQE(pJiV4KJ,VwH="3q oӜ̙9ғ}ѮfNO*@fF3sPdfwc9(p7wf8=._shL5ScdL]*Ogݾ1M#C݆3a9@/JoNh#Xl 6n#8dJ;l0٥)\F43SV܁ݭafg6ķܪij\*|A=AR 6JS^&-+f;`__|&_Z?ݕiIՊ}2ЯN uB&^.ppLJ[U 8D `F7rR-*+ù'uɃ% OI~=_M,[w2'Q碴SUI/&.f]uP~Rw,3RRIqIhU0 +6KMgR DQ)]qkI^OGLDF\K%Hlo,D@RUK9T^2jb\)K\ ?gXG5W>}*D-UDV岀^zi|NktٌL&)gWkEZ9 9~a0DɅ肏}CyE)Z4kS &@hxҍXS٫deDZe΀M0vӥo$#1'#8aM %W%RBKr+)|C67Ypd”TX?RzˤѢҮkK2ކj $EoD򳋥 &3Y<J|w,"83v&Tq)`go8\c~'tXDİ̻0nǢ. p32@l~0q%)5xa\ ̦YӲMeHvNnSC%-yf!i82VgdR!I2f$L3A#}ܑȯI2tq56ZUu*}XPXU$Ul (NC7AHB]/ŤM++݊͘>UiA]~Mybq'5C9IeiQ%xO ^uâ-ݝ|Sj){DJgPO oe)Lng ~T9AξV)WQG +z4^7T&)#-N=Ԋ0'QqeNԏn=ykn@zQ}OTF~M&PI8RrΝmv;%el6 D e}U/JLk69E`y(?.Gv~i9J$a嗫)YnQJC +k+ZgZJc%(Ъ7ZXtݲ]yhXb}=ׂ U4&"X3L['oA#Hcі +- Zԝ ȭ ՐBu]q.(8Ԁ'e{ZhIXY U]`~2ḞRp{MJx|jXZl>^Rg9 M؃g ]LlJ4T1(]Y:@OBjA׮] dg< +Н,"AgکSܢvØ*筵Zhak1fw\ԮW y0{ZTr +P{]J__UQf\/jl{@>ǎlkU:PynLWf!*vSY gȝ)pgCtr7JM5Lh;\TaXAʒ@?N >le&CfA*7,_?-rZu4@^ +~ӇxZߪVW§yRI O̗tp6]UTg9ۤ'Uu :#UC\d8K @8MUϳRE>,AR@lir`N@TT?ιt3`I>$GǛ,2L?¾NMjƭl>(Nrf-} +pqmh஢C!Ub KV-HD'j?ÏoFfk-B8ڤ 0`$V晬.Х(YV}SD',IWOM>,f󦐟ȖrgyegX-f'dA*u]l1xc,ed[l:yYnK'@zNXn~"]TUgc8V޾_gƆfBhΙM?F;*"}(ɿC=Ay{eW.^;;W5Mԅ~fyɽa" +3_=b[$ gWk& 2ri1u'x@:܏rz[œe1DdnS]Up.f]#Xk6 +w&*a\Zx2V +չ.p;Ek0Ң% \͈UjD44Pdn#[nٿmYBv|nfWb +j <՚ Ry9v4沨KCgt$P4HH='V9Wh(mRJʫJ3am4+ty'imUEp!bjUĩUIƲ0qzSj=pRbvK̻ZWgrSY)J9ZU@\#KhNxY7_*DDq8 4$Vz5Xud,-_gRyf<#!kƪ~U d4È*cERU[@ő, 9e7 +8#=@az)6j簩f"v߶,E{~jGitPV80P{pjc*TS1R'tbiEG'QokZz"uhӿCVPLv +YJ8sPT:HܙF dJ#PEWC,IqI*ːqxyn ÕfLO;,PC!{BJ|ӒN^z|=)5މR|+S;/ݥZ2⚣X>kfw +%jFh&&S >e =)*j-Pb.rpRrRC {]9wpMX47jBZ^ϚϚdYNTd7׹kBXa}P+b/Mt۵ܵ$z*Z{U^\i}Oaps3'B.%Ri#4 B +$0SVjrs +\DDVKG[=\:.⫍j5݊|nU-&aTl4LR[ark_t}6 aIuT\T:U$UtBEڢzGEŕ  -HGI_Xk\"m|̤@ [;1-Xm7Ґʩ`hxSs mRҖD*صAa`>A.:M0?[TN7Re z6?%[htE%m`q4Td||[F651~]5- xp^<RI/ˈn4>oյ4u&#T詍HKIS]3^Ñ+(yJb5J哴ք&qcgo=`˩{U3PgUu#U.XA +)X [Z`#0e"BxΧRܵI4sdKJYy((h(X`@]qϞo$}r!Tu0-{"CSr c֛j At)-zfL.<ɪ\")y5Ӥ5inmm4:YfujknST$$W Vx.Ɲ9m+wlm rU_Y/ qeSzi"<|Cl3=6?">6)^VǶkEmY¢EYg}b)y<]-I5JyT[f1d D#?7#ueR>:CPlxCUʕZV˚/ڋ?ˌ3ڿB9E ؊֕FJsYP*hz<^\.h= :i~VeuŅ@]*h,o^M`Z++o=_c?/R0Գf|;Z[e5Wpz\V>@Vc{9Mpc +Cf7~TBF| õh-ֿ!Z+2'%~^{snDJ)Uj=_޸upFt[njGGE!<*ggpzp8s\'DPD?ʯljuOyZ>myTu?MaRϊ~*&/畧"Q~-,{dZ-oo{%ΨTW%U:#ERYkW OvlE{把kdfQ e)+)h&OZҋ!PBgCpRRRͭVKu'}˒s]+?JKSv- qr<^\vY.\.l \Zi?.UK۴6ukpPO׼N&. G˂Vs* 7" +JYk*+d #ogRQE~2THx)Ƿzk-zޓLtD|/ˍ8PNZaLLh_zkkδSOܹT:Zd\{hT 6RW 'N%|6T\y$EVHd)+H(94~&PZ8<_=KY5+SƧj7' 3*Y +KA U>*xH} ]i /~AUzP38{†'ϧi1Y9dQiS֮mӒmJ]Ss P,&]:4'>@.SM /uRc5~Ər& .a +£H"!(gɥ;3#(26UE@5+̺y?!P_9Q|pZUhlJ}gzRc]z\-K4@ԪvTyB!i)ycwRYt2\sXK m(TB02nM$Pb+;"DJ%7=r'xk6AUeaQi+tHOc5d!9nv+[ Z5Z%魞qN'lMUc9!TR>v ܤC2,ߗJ0f/ei|5K?EMbeKغz竨 rIF*eIZY|T! +-~M/oɚedpF,O?adXyR^^CHIA6 +'B +DŽt{BEB! Rխ,󆳥mLʾv$]C*6buPi\5w}] +F' o˨9Μ6KY'r,81ף/9_njŋgȍضWe31,-gj$,>6 U@*q' +Z9'.l^fp>1 MSo{aZ ]dO趡2"/AFl2?d , d4E.SNcCVJȸ.(T,y+Tߨ781H/bɒczcO+^督;j_2tJa%`4y}]†p,gdƕ>>rh}npX<[Ȍ15.tť>ffі{_GkoEs4%IM z|R)U,aʽPm('/0Kk7cE댖iC% +qw:^a#y4rZ̏BRd˂Ǣm}LƩt? q>?Ɯ|5)S;ҙj<8J˞ɬ6XʖPP<׆E((2vɅQJYn.M*`<$<83 :"Ylg)O$bGW,IN^A'_yuty)xsd2 + H_9QE6ABl6Ly_z<#P|yUrwVz4cg>V&P`oy6RoV%0nǜVMN՞4Cb"8hm ϥKcӘ}k, XK9.+kVD 2XIme'etRWdHȋ:{WOq¦||\UriC{AC2qF7 ӡN891Ș[@[q8N'E\x)Iޝ$i41OVARTY"?.ɠ2!??](0ݯ4ʅQ]TN hBԈ{{QGT*D E8_soOaR#RӀOE3+U0.F_+;./Г`^]RRD:q97`?95HT9@[(es!% +@E`:ֹ?I| +y HMЕXC-k]uY4@ňR{m:CjLvmrۗ>tjplCS&0"vr2:p[ךbgE o*Ud5qV;J:@gtum7f7WbKݕH9<̏Ç<@uQy1̢X%&>Pafb{2HV9& T/AI ,xbG&iidR$2.,ņ[^p!2d/@|:SB~DMڝsټWNQGEC/}ڀ6Zs81& (%кAe[סY˙C]4 x vKWwEvG YV>_3+M!GGg6)xrA8gGy +D2Wlٳ{xQ'^mǬW]T%6KT:^?%hV/O-Duwy AUƒ)y>׃`\KۥZI*gG/eZk(zxkwh zV6kL֙&I"S5B1}隨 +QKuIL9}b~V "8gyYzL>v%5Y0@ZIYD/Hɹ4Rpοvd[em&"v83!P#\8zEuـ![>ȼOo|W҇\3Ży" =\+H\Iޏ(5@[!fՉ,RsZ#`9=#h`&D4sYs\) %IkfT{7htԭ ZK?L :%(_I064RC@ě嘈HojzpNr\ +%I퉙=!rŔp!QR 4wx +0^Țד{#&QԪj%$8L=̯[8$ߗd)IyJ brjuCRZyO0șx N[S {KW];E)DB!%L^ZڵO4e`UZ))pE1 ee*PgxkIe-YE- tIAf/V +~ST Iy+'"z- V;[R{S +q>2\6T-D%p3@6uꦀJ ߊoC"CJҲ` X"%D;Tj"INAuj$l){tB*GSɍUϏu{x6sO "0rz@(Ѓ&ëW5*,!԰*cڔ׎LkLz EO(2H%Y2k7ul#Aa,f}OγS-K(M\BFACUhj7BS*"fkr)rnLN1N7{Q#bö9.U~&7)57LO8NZ^pJjCn4m9iJT+G$ҡ0'm_~ǧ<1YA뗡x;6{<;U Vm _a_8{7ȒяR/FA86Ԟ|9N +HMHJbC~W#x}vχȰ]@xNsippϩ'o"4rl%`W& +]űa˧q=9}nL'gńQ+IL8I +ؑt2)] . 3e_,%~jvUhC74Юr?$tMp\AE(@&h.ȷȴsbTwQaI:H9-)4=DHhz|ӗ\]ˌĻRHa\O$N+7?ߌnC $iSu(3pLޛb$4YrPA:N.B&|ǪFbd'"OrLp:c(\wM2kq6}l?JBFOg$-Z@"(&le]$Ci]YxW `JG6TL_3tJE60,Q$O1?y|oTuڽ2 o7z8B0=N w$/]d\ICpn(ٔ9r3*$Pu/ʆ7w8NЉق+6-r@63k{]ߎtm2qr&27oڞa<`9fk4rô?qofMy6Dir < l57?K_eo^X2 7tl[V;A?~xp~ wְ /TS557LÇtuwL{+ +u4ݺ''|khU,lrj4`q{!ë ́ncN\ޅ Y&" +9 C"7|ݸ>!Ө*\Մ +W"r05]rrTp_sH߿a̟OB[H]X؀R뉶Hx%:臼U)xȇo}p6:ڹU'Ƈ\AobjAh<}9uoC H~NRUA-%ӽ a5 A()6W{pyP(٣ Lm l " $!"mDir0H; OaOceO`bݷnup|bG,FlƟ= /W B~I>~|ǻnRfb&j@t즄⮍uQmI蘦9)%_&O8- Jŏ{R +X' f6@Lrx"l~..БOT!>[ڹ޵)]&{Nj̻]1EiUJw",-c@N{J=&4i['B7p:1(T'4@?L~+~?w3>(CfؠOXt<*+ٵ*]~i![A^n7 +cX Lzw領'C?)/u|}6Mo>v %WqËwRV=9F?ҕ`{~/NnU! 4ʹ<Ӡl4L9q^xG$+4}xs2ɝ0LIz8JSR&ե c%hi'}Ç? ے~ e`G$~I*/ ~rI(J˖v~8~L??(cOKL:CCE+37Fٚ~xs.x??Ce[rc{XI,iP&I{ŕ}x8?>|8(oH²l c0&%I@EŞW< =/랃׷~U~ݹ6/@U_{oټ?vx/ g!MTY E8R%7!wH ˖{&i]翦oo>vQAIa P[^}Sq~ v< R?Ew{>Noo]: \jsmy~ ;V(M}gP<&[d@0(v`2U$?'84w#D)X2a#issryS[p)akl]A -Uz8=7)r=HwijeOU;nЩ mxzQmB%_!OE00>/Ȯ +;9 RA޻ۗbU@O՚ 3Wy z~\h:(&an]K!ųʟrRV״pSz k޴p%Q2=E`џīR8hW7ml/UV\r|~| jm6ܮQ1ӃFlK^WcnQ-?7o߾n4WBMZ|֎T:> !Tj. ~NOj{^kSMA@vIU|mK#!B AnjyQlcU04em@Jƭ_I%dIg+d |÷=/?cG(o2oppg ϊWhq7^)}!Su'%[JOwD7$ʾ ^R~Gx +Nכ! Ǵ!|6z'郎)!iKWo8 +ެ 9azi0BOs&ot o=86AÃ49u~o: + 4ρt6&|Y 8N]"c`8࠱x%&4'd,|C摉fY$Wҁwg^]71tÃp@+Xq=b"le5`飀B$<j>|?xm x{!,D}.v4il*QͶpE?@^r !+@xSBB{t)6 +rUn/@С왷mE_&_ +ӓnF AۇLTnB; t\՚:[ôZI䔙J nBjZuPGxT"Ўdr̙[NuI匔h<οfy=F*VQn? ^f9Rr,;W_9CBObS&Dɋ/#_ūl? SWwn. +D%Ӷ>OTi<4%R1JI>/?/~|oxS1PmTYdc6 .v:!氿ldGq8"ŔM( +>גeK0뷿/fCA>A">?Q}9jFZ9nxkgactTκH']tD|CDPY.> $ @y2c̳zU}םR%*aG+)7iz, +u["=8܅#siHno|6 +[LZށ,&Bc&)~.^!W#SNr d|N/VuMz +#PT0NGĥJWmm`j^jj><;rn6WxKA>UtHLZUքe OHT>; B^Z.dA$3wc.^.OC]Z|SBDHGG*V3astf`~}?Fy~"]Jh\+JxDb>y~LJ^R5ؖz HzT)-)V(Jw}նdڔpBTm  .aj@zLv|.S_NHkYX=GNRIa\ƎS y.@JQ1* +6ȅ#UaN";<0ڡ|RTu@v/xT?5MR, EACiḿ~cH§|Mn}˫ W΅ҨzރU~ntCiԆE N{&']~OCqnix2>+9/Z+ AFR|zzqIy+(CUL2c w.Sl}q+/gCI&M* "4.d|NI+_}W%Oj-&s01M5?4*'i٨$+)@Q!>ۼzU88;oCuUߞ>Ȉ*19)NNW;1v2ԆGk`N`+uukيؒZDFMcdD.h@K)7+Lм{M-}WNE'6um$W +la7,1H$gUmQ32Ҩy_mn_G Fvt^#CE1мE`=I|Ov_׻I[e5S:XVMª,4j(ƼÐC8/u *d2ϛr䂑'yOOv؉Vbׯ8ֿ)hU]T3֪H ?\t|%PH4g;i jR_=>$'v>& z v *M0k4*rMJ=wEa2#$8T eܿGiY`Jmwȇd&haSu$H-}̠fZjГxxW_/߽ܼRɰ^E?vA_}7&r2Kfl(m$E`,^Idy68{CQ2Y R`-dlO/_|}K`aixG朜(Ƭ' >_^_q&>a³I:Ҷ3='廡%`]ݫ^kwg VJx{o//׽pˤR1dBld 5@1,V@C]pnG='Uڊܞ>V0!+@SkeUdMtJSj@>7naK *y5_wG궄rv[:R|($U|l}Ee@4xpxgل߼|ۯmTUyE?G|u +u=/ɿ72hd] 5rA11tK9G8F$Nb%@~>V%_'W׻z{㐁W7>L+ܹspQ0 eN1I> i7<]{2UK5ޫr: 3,B8]g\&&)6IJDL6} +nz*~oOU ~OH(?];/o_bLC2.dZiS5E0eT^NIx?ƮW>[:spؖ+:l/\_$ѽV +?w~܋0#r͙H9 +mi^,]hT<߅nLtLIN0tƗ`N{ךqGD\Xv؏߼@TԮ[XҘזiH *-9h!\&_W'>&:,}EpHi۞Wׯ_|uf iWWeJdSnCwG~#4>f0Ԑ{T/ATl^مm3)pb_H:8kG2ڄK]?DF=Dto)uPнp"\*[8ͶOD+K\J%8KHİ<+͎kNM5 M_%NoH$/]疃@ Ю/hRD UƮy nBFКДC$h0L$B 7^}! zyѧ<ׂn8P{ ]Eu,q&XL*vaw+ɷym' q2K$!`@Wf, oU'uG}X4z,mq:a!K*`˧_n$MifW>)Na6t^ݾr' ӭшnEd9~;@>D +.`D +; +,lbo`yDqEc~24u6~׉P-Ƈ1~q{2\ Մ$Res6pB_3~q Ff+M7].4$JMn`*FƕVh@U4lTep6& :3 +@~W^ĜSũA^" ,+a‘9 ␼m'6џ ބB1Zށ/<% 9Oi~+$_hBt)n^x5W=/Ǣ|STf\9qz/&}LfP3I(8 $ӢP!VOԤOj5(: U1)n뚚<&(W6aaEOpfH1 HU|iFVM/t=JP(ӾNjZF<\USj2iCii´pI;*I +9Kp_ь!a!zґ4O U56pIœN)/F$p 1BґTBY | 3t-fpJֵV-mc0rB5.HE :u!yUh킆BVTr-5ybpoFa2<7N:Y'j.wHc5ru6bwθ/`mm~S'`eINgݍARڥ; 5:t&KyR$zbRz*LO\FNbB2k d-gzћ +@xY5p:-FT@f3er$ +݃?Y(9bxMS +B,Gu,ՋU%!PzC\U=g(+[lPg'BhlNW4i)l<hvLpAbnQŕH  +e;\}FEemvRԒW PE\Eٗb|5Ng,!$ǡn`,W$yvRiRK7Rm~% u YeabatS5!5j?V\#yGq$N%wOl~+MawU dMwzT5P $csf0$“Cݳ膶Hh3)44R=|H?0CXa A;oJԱ +8QMqoKD H\t?mG{TsvL3`D–ޚS?NKK +*͙;6E87įN"jRrxa˫֠ +?b U| c--pO$p)UY~(\חO`~(zf勣 @{3~Qi QdР" Xñ$Pi8ي4C-o S2|g:!-)hdɛڗ0W(0dL01fIvj+͒ܩhb3[3t63QڰR:ҜK=ym@W h&0V +dQz|#~wQ5Ԫ#$ :#K]bm5,>vÐm=S5(fYOy#C+^L Z$)paU5sg!}'IG4E?kO\(B# O h EڹIXbU"!ENTPzڜjjWy+>7Urb]mULS9 a}/=aFNZrlrCrBfd;43ۯP +z!Yy穆X M0s4!QQ1/Ũ@dpDY6?PGH+{żO@qF i EcJ|Q,MR5@ &~ELՇlS:e;?G pr !_a?=xֆ]P, b(R8DKCzro\8޾o]'8l >.8D^|*ORp%?G8$tBrX"+,4@S$'T*dAA"LԬ< (k2ҩ 8 SCI[ɢ(EH6&\1(k@*1S@(S,":5w"5l}"S"`o&B,$p Ȕ*JL$ͯD@ɀ{?sZ1y,6"\) վ{'kN<>-Q7ۉ7Cìr ߁ [OQNsh(#y t]NŵQnI Λm%0f8,'gSN>S_7im1P{P^hw&"ţ҇) YaIܗi5J<.(etk~(Tl5pfBj9hk7% +"HgfwmݙnʌqG D5*uSd1+3?sIl]B#g +Os@or=`l(,~oOyY^s1}o)=3h0v2OYetԳ1}>=~5/0N&OOhp@.Lxf a!6ggf; E,d(S['0lAUaub։ Vׂsk@좸૜?5'Y VkrzQË=0g!';+^"17g{~%:n.n ^ҟ]S($y #FY\wlrf]6 +ol_쉶 Yle9ZV'h@rXf=NE{ \`eP֛XSdcg ?TXI*&k̏$io‚Q _.GpoAz+D %4E{KWG|NWAX0y؈F|΃>YŌUGj-Fۘ`;4F$vS*iYLK Hje)t2t 95I{V ϻU?6Pl ب_(8g`egd^rqpm*>i(rlD4܇Lo@8]H.6Qqq,P=3C.P-: yfx2woxzŻ+q9Ugl)1eܘb& ,Be$[bmop:c[# J;VTN&8RyIX7$0`Uo +S G1*f ǧiEpvÆxM ,MEv *pyYE L;[O[Nh@RL~7G\W15E7ho@y<#gbRCGWzVQ @Kis7 h2q+ B68nP< !҆>S`]nqYgTj +,c\&P ̽l9IE;-E5Pm;ɛW:g~~GuK|"Dids&uըռO_hWs7q^(JxyAWvUw82H97#PCC~fKINjĠ7#E ʣOq4Thw\RbhIu/9`WC=[C ;9BTc'+d;0 =oɨ18+oEWI_ԜqtϛmnX^@J(J'~S)?-7v?xT7COPh22bF"&DDbP,MQ}E|IzݍG'&ԂjZqeޥӬv O )2/SbÁXAD6rLwh*՟]md:X+1,Kn;L`|HL_u;hWur Yo_}⛆ b&3_hmKӣ+ʀdD?{5-R.=|ouҢ 2O&koWl90(.@ųW'-^ܯ;EOm@r7? |6ݰY4LzM+VfÊFf`Rx +w${._͑⢭LO1ӎ]4:w +AS.I49΋褽㶆;ȾCӿ%匊4B +6(Yx%~bbfK:gՀ؟;R9e-+pJ晽zmS)9uU13Z0wp'hp4>FZ ת85T`bsPӼ).>?yocxeiT&[&` t6Dfn`\ +xP208(O%S&p/w2Nm(Su;Hk OE>0ôX;#Ejl1 LR##"M֠V4KD7E/JgBgcC+O1CT-8&GƬ`J~fk@LFI8:YcL}wi-;uJWtIA|Yt<0mj]}g,B,%Z|k!ԤYox-(E3tHL +(XGP 4  |ǜuLfaM& B-i=OS9 F-/qskz oN*"`+P.?6ԇjj1Î}үeK/ZN'xi,b7"0@SN-Ywl; (y&kW6n` x-}#BܧN~*ކ9l&}|T##%՞Ǿ}6qP[=A{W[فkNyFZxvtV|PbkKz׭ P(hwB5%gN܃a}܍ mJ7stƅy=oOsQU +$ΆL1/FV]_mw4K,>˦\zWZ??!KL v"ٵlKkR)v79֔0RM]kAV  ?n \s5l\Tnߟ_蹽WQftEj2syj?ZkՒT:ɔAW|+2* }p$bv**m/"ɢCZӆ2F'Poqk"ҧU\ ] 6?|X {&bAs +݆+9]̍i.4wLM$8&)n Paa!]gʐy͙bzxj>phT\=3^G k7kc褯 +?$3@xR+aW|F%!rY~~9.0Wof{ac +c "m\ñ9$|yIb ξLqy|m"zRsF?,l=.Eƾf 2xM4̢[#5y?p,"$H25W7}m4}F@Mhߴ2-1ox;Gܣs2EΕC.í e67غR,jG{cX% ovp$\oxh73Vf`u$-ǝ;!B-Wgn$}~\К%!‚n_ e ( |W>@h/҂AzsnPn؂Zͭ-st(cOXKG i-%ѮB%~$z--_L Hŀgz6T0pt,U{Q#Liz( +~V#NBFf0 v~^sI,oO + lVP*G>Pչc%)>]O}qĨ|#oO4y1.`^ԥTHN&W ˟rKON]0ݠyJy'5Oз69`k9+̦hoB&3 D$25xxнA8AǏQIŤcFqTERi#٨~Wuag´\+.?(kޑk f +U:Do(䯵vPg +TSoTȻx֛F:!eK)TBeE_WC{UY=s FtT|ls'~dL䦷a7 ei2R.}ҝD٠Ɣt׷0\}u)X/A3O!Cq<*YFPpu-hw$:2b2DR.8+xѺL]>\D(F(Р^ U<08&Ì:]Ӄ$_AAoc8OLbfi.g˚0Qi +a P|CH^qEо]2B5Mzw̠BwD}PQԾI7!2A}Qι,ttyoDPvg HިX__@339X'a{*a cvl]Z +_ 'f`t"Dwc"|Nw@p5֕(zl`fi]ۜ{g%S8LjzmxD:T\<ckphU>rC8dB92]ˉ>F5ۛ9s_®\6"[QW(C+p4I2++G'!2"m)F d>9oLxE$f0C BSjGo:8%"US,#t |#mHsaU&h%|5= +(ƾ<tgan-6&cr(@M`3Kr:J;>aH>Fɚ[]S'yCl*b6&4LT׌=`[U1Sabp$^2T?遘UMNXztmܻAcF, ,y؝\d..ظ8s`Ni) hhrmF|gii7(gnv2(R B'0;5wDVF>P/73螚a 9`&ҜĐJ158/9sYakihȮov;(9bMnjTH\P'ﰎsszԉV=Tk?1}MCZByW}RY?Kje:;7^diUk9ɍ4W:)<ѓ+< )KLq5̈ȫ 6¦(:- c87W/Dqf3 k,0B߾k leL WI_f3 }ŏ;Ot韹i|kk3\Sr/r8~l".Yb~v\ 49<#2VW| =#io#e$"!Ճ̉AIG;!vvˣ[F{}R}GCfh5s|`W Arvqg4騥)%#- ɇ^[l6[e31YM4]B`e ':UD10?JgVeeYmS ?qR|x`>vͳS%i/t=:!GU\$Ng[0vwd;&E<8@46&."[Z-\G)aW?TOs`I7;svkxJ4ZzBW$*ӧUS[С(ңZa} 71R!yA:Pzʃ8l׫<*Hhm v̔\ A.e^=ފܝau]Tu +u@2ݑc?1vg3B ,:$sn+/$gw/-gD[ 0ϐ8H=' ]~2[yDū\V쨑(r82L#`fL2 1A)o0JT<&i<)@z{ѯ1S<"&Ya'XNG䡟ZKm~lq6eN6qpMűp z~90 y8 e{7ʨaODz;W4M7YZJ/9 lǼ9~PNII1çO]qSl ^1:DIz`7EFd}1RX! +P}X^ gvABk+[.Ȼd\Ÿze7>n 5d[3ִOT0zHR:?>aq(h$5:R5R J1`V:֒ H#*e0q7J$>O&gކ}${߷Y{N@)Kޛ¯0FQDht(ӜMtT|8lۈPX~}_]bn]D8aKBp``C#֪۬mα<$AF_EPg:mN`N=h:MIp2I!~>"frp|"A1R(Cpns-r?Vڬ\U+ZР a +f,8r'Ҡ!e9K5{,7|c׎⿾~,SbXppU`(-$U~Ҿ5k ǽ鼙߰(KC +u*%ߛj{#i:ytddc7|υmP?#C[c4Nڜ~=[Ys&Z&;-UVVC;(zW'K7R f^-* +,ɓ=*҂wX~i?vlQIFs_1(>"|d$|ҪSOau9V]7dF*H^ː|+;uF$pRdU3tsTwت>znشG(P"SQ̨!hfƲ/a3 voiC;j6(=Id +lgjP@s ]f2qaNǧ|2p@pﵸc[kMth@&c tgQZBU +u6Tv/aDN^ [lzISMeکyX:**Gțё᧏M#&mI*ĤǬ⍊yl닙n' #&*4#/{?;(Cxꍃ/#EE(/#OLK!>~uM2# r:B)b'9Cyp#4#il;2R8W%~tX?wI fX46*%%fgRpp-[%8%weV+ٙ3@OQ>TMkzAy7";v4WpX#'2xUZy|*8oON H53#n@=,[Y1&W2E/FtL~F+^Q\xz̓Rv7_98:`:SG{0+vy|McG=;F,8AC*%^6KDrdr".C2z4NGʫCͷ湾1IU?J^ -VmbߪHyS3r_7kCG-[[kuLZfi{LV*L&U3+*P8h0ꀬ-~f0o{v˭0o HɆI +.bZFm Ii"{s,u3/fs'khy\LiCb垈U?|?ql*y[a6a8|.J`;2ۉc{{0T +,0bwܡ+Em\(3_,W2P?ۦX'{%^Eӹnr<~Ϫ, +i-`8PȄUۚ?WG<'W%n 5TS |)Ǧ9 :J˵Jt8G7eDNOJ{cMfp'H-#UTSּXu֎yfeVM3ͳ̅ۛ?BSQ|) CXbP?g: HyYa`ik7C<C ڙI@ުP-ڰKYyw𻽝ɁIl16EnQw&`9L9<eB.7<}=Vo8Q˼ 4JAv^~<4O#CSUwKnlH3Xrm~|w wy B&՚شmUҝp+mO>׸1rG|άq/]m7J'[ZhsOa0XztW˜ Si|a׳DĪ/tӍ~ڜKE?s+V~u.r5{kѱ9&*>b Zm}KmA;*[x9o)a i~rr H/ŀI@~MuOʝ#k +6EjQHG5X]|^9?FLrY8.]N{?_tULU)5Yʂ3&OCC &AcX-/n}|8d Hk.E־Y/ӠK>e9תA+J x}aid!A턖 n([6~ ,ϽӔr.֯ٿ^so靜y/ R|@krz՞ǻ vb`m ~8 flXhכ)&+y=_ +xd +Y%Gۧ}x;fxt.+`k.2VTf%1B^/52N&̚ +WG Ĵ:xZnx + 4i AChyC +T\섴nz4`XN ?t8j\`Z8Vy )߹mz;f(6 Β3zk",hK k-᭿DaSG6Yԅckk}cY5R--' y@uo'ȁ=_[\gjON5/bBm#AdiFgaArU'WV& S:َbk&5)bBqJN"8OT.pL7Av֖ 2=0I(GyjtpyZ-պd ` >e ;V=<$ml>AǨVPfn]}([xO,Ck0۝[*\/q\fnk y^ B&鳅 +Ǘj3~QSL vhDsfGyAU|ՔbS¬)^g   FX\/-G#[hF/8AZdcz8$]; nW`vnܒK&fHA {oUrҏVݪqt +K41Q0о;|TsI\;bX0O6'5A>\eĺI dhܭNj;nOE] -E7_$3jfe}~^ 33x0-/-gΖg5@Ԏ~Ys}+1U5ݶCی,73`w:6ۣFG! *;Λ| ey0`2mZ !-F5( #êќcuwEh4PTy$ȇ!+׶ c MKf.|:-7[˹Q ׽k9U7&mUW #EA(̘d@ZQvW|(~RigG(='k԰&\G4'~OEhȡuB>{neᓑx7>8r5B Nrw 4趌ݶGZB s K#e-ǘd7Y,Fa/NJz#^7:pT QȝHAw_Tg=@ա}Gkw'Ģ_jlz TCjsdFvr]s6:EcU{LKV~ۡWyQi-+λ~Syݦ+̙Amsl+~k~:OQ]xB̄E6%&nE,hGjoNt(Πw]Kת5xiM>SO#v7bzȯNxc^wz6`E829H Q:aBڴ\`kCيY I5O@1;ޜj]!.{sDw~P{ݗelRmbفDn%l8$|X+ꬲq1߰fkکs +}$K; ̾ٮ7+Tɰ_@ouΡ[q5m/{Kl9^(n3blS7ߝu沲XLG֙ c?^ v Ad=[ C7\gk^&t:^O%Z"iEh=&6j[2݃ mxXgYBLA^mpvR2IkLub:sΞkyh}hUugL89z|i@x%_ٵ^jm<֌ BY˚. ZC70a#}>ރLʈѝjn*^. f bpTXV#;/\()^#zNVS'Z)ƅnvo^#߫CYcŀ51TWI(xCU/]wا?bwvȓVX|qwl`U 3 Š ^cC7o??/ +:a~(Q"5J V;}y6QHK3Wyƌ-83 J }HOr\kBa5\>to*awBSz~&^)}#:l6RyЌFjڊ*@Di0 337]`8*i ,HL|LY5TR۱] 7Yɐ yJIKpR7)D4k;%6L/\`֋ynekymH7U?ڲ|C.hsi-u08@-~̚FMqΈx +]\{RZpT\ +1"3 7`QJgG%?&DJ\"ݰ Kryw7{uoi^8,l}d4;H˻a%譕jXTԨn%ې`b"/cJ:}+DI͠z3HKȻh1"32#|+]&KUvߓL*|ZS~:ecM"`<W2a5n +BZmGGV +G~Ͻn%^ὪS[oJ۽*:l鎳rNQhH7+Ow{7|h^ 7"4ˀ+?Y_?e2Vh2f)+^Nzq̦-b;:X@$55~+.)l=h9BnR;gGoSC\h˨ tkb<1bvVk:X@qِ9J k{L +xaFuCcLk M5@clmv8 v-{}E8ڏ^B +ѴoOVkn?[&r}Ɍ\\i;nϹgckLl6,Z O;>k["d=>D\Zp8 tyo(Rõ*h6]l\V2VP[Xgc`ElNj.{-1{uG!Fn:/ʰx96ȸc.żDeXK{ /U#%U `fs"83^q_^*VJQ(<2%A /np+Hsm|==XV$(F4O*o 4YLU˜tl&#y8V޲o4o5r@Il?a3U>R@"a#خwA7C#t5YOɀo^i +h;ږEVV.7 ŅoDhgg:-q} s]#Pt+c1bs*m`]Vw+Lzsf8ޢ;kmAq-pf}AMAm$Iӣ(Xj^bUg\i)2X^I+kJRne3TӀՏY9Lڍg|nef섩52J w+JoEwu,f#t!<Ɵ3"8,ݱf p _:oXl4 {ҏT!`YLi~jBQ4V&׏bn{^We$)c!P6tkT\|W H! 5bsTh07h8 L.Š.6se,j kҡ6P}2[ͮħ%?U R|*b.p@Y =c%Ow?|o%.@[WO/0`iCo[Wkx<о$wHz9lk3]asςqv cΪ$v4+$-iꮴZ-fSk:}T3ǻ7ojgܳ{dLvӍ"xi@hQq:4w F3l@ 8@cP`S/<%[34F'M2qDz~)p_aID-{1Z̶@B3D3Z^Ә?16ni;VЮ:xfde)K!=U\W8 y>fMuGH?ݯlS+hՎ˾ӛE7NRv:ic^lv!Pndl+hݲDH1#g:W[M8#ywZds1x;C2z&{%*q>?O.ph7.1Az$ ٷOLQ>-Zar>d̾.doCʤT pX5̅wZeR36p[&{XFt?rE\(5Νڤ^FBԼrr80ٱ~u7L2n'b_յ+e6oYÊ^"򵶘L+ flVcC abyIY`|[HqiB0J:nxX"=*ҌŪ +DL` CZ3ݚ +Di| Ķm'' K@f7dYw33ٕP2T&*hZpc>w6mZ%wp6>tUhlr ht9m1QV N!ZbRa,a`INOpckS`_ffV7pBtASgluюG;-vL|T="8x%R]ː6Dciw(JDp=8|'ة;{M!!aXk_L>,jGkе5: JoOÂ/3>'MZ@4HM U:\<}y3LZG 7Wc(^H>^m]>=%cȦ>HJA&KPm|3&HPh\mhi8cz%-+k6JFzcC5nS܆Bh&nf]Pn}:3ltmTHIRW9O?ڭ-wp:T=+ d}TSs`X+z^~HiF@hYܤv +WCBNI*0sHl,imtbƚVv2؈r2b Tw +ւglwLlhE +gGsT,4ذFI1:#i\}WO=^5W\7!L{n/|}ekki'+FcU_z_$*ӮN`4B9Lo9NM]ŗ=)\рZ eD_.^PEAeX:Wqh<<"`xXh̺j T%`؍ 04|sr9u"M~ 1F2ҩ _*S6Y8qk9;fm#d4?n V֊=da+r,a+ Fz|ՎZd~ZOe=J,XS"(`KVR\!MM& Š3R!.abN=q7i, pKۇY1We$@<u$=-\l72簓`]X3 GvZC &~ؑ 15𸲎\V^bQO"Cc3 ZpX@n]>+$e2~5JzW1< +5rn஑gnwL>dLD2*\f/FL1oi+@{J+Ax(ƆL|oHՒH$dyRxd=ʱ+ ;9*a*L\tQJT*8] MU1gFJB?V^Qi(YV# f@-8~B N[&됣,fc=&1g[csp)n͘V \_:@{!cDyiAj+!:}0q(T^0UIUTfɄpzTa%)T#8~Ϫ%$\OgH7_oWnJה'vMB}y,{54P%&ZUj֚m^x6JhsvA#3SNh9~=H{4nS)p!eQ xC01Æ7ϞdeecĔ'k>(bwt~b8%LݻW\ޫ1R9aq*@F{НL.~Xt|rL1K<ܨZfʘ`FȸfV+7`d[~duYq$5K3FE<9kHl\ +u1NՍc8eD,zJe|5ov-<'͟x۴!md(< he^(KΣ61Pv~OqF-lv2ydRl>w'K4IΙ)a$r3mi- nB)aí"Х|cfUHV <^=jؖ`ŲfjLro`4 dK}7OkoMvA)`skAK,~Bq^He}B@2^ ܺ'KsƆ^PsN . $w'+s +9QXgجrg[>5ū<.#|>0o62V+A.nme1rl@T3&ӽЎr늒/d9Z6hh@ _˩7y35ٍS zB30,Z }hq[A,' -Rṃ:ZDY`OҢ+P\yBssBFgvt@H},uچQDuӺ.OV Ŏ ;Z¡:B?ߔ|T*WBbӳ=.{bsF=SN[KߒSq!i7ă4l!}s@H$_*XL@[[,ܞ|7-'ژ |[!_g| UoS}A=zٶ!8,L@uzvF.܅B xgro >L{恢Vf. tzCѨ) o|@3"1,(t9{,?=ʼ Ð'bfe@vw+%JhP)s̲YE<ٯNٝ'Y[#"(n㍳b hB.dŌy)s2r.|Ljt$=v{l?7@ \3Yf]l0Q*i(I[Ҡ$={vH7xG쟹_/R~vS~YE%%SĚ-(ESڰu~M+TpP7{";˷%|Z*`!TupCAE%׍ I.]~C6^B-^c`YQ"6@*$F̧z -Fj1~׽=Iq f$RfAmw5tO ; f&\sN?dfdHY٩fEu_k7wpnTrHnS~ ^K ;85\Z]e ~ Ǿ 8ٮ+B -#XD^ZF宔 m9Ƴ٩X$§ulz<=S,Ԏ%[%{IVdͱẖx]od?O29.KAIdDJP 0XCt'1ڶKv"uʑY'{^mS93 +ʌ}i[7\R '|m\\}c/E+sr w5،Z]Lwg.E{p|^Cl#Oewm6th=\@#ܕQ̓C7ε`=ש3kz0Vf}/hYCd̷m7xr:։V.~!9.U $K2=b-LN!ix8 `Bb#G=قKAml~9oWu`reO3U#X2NI$˴{Fz@rBvЗW0#Ip q"AO#3gEaZt_ɘ +ĩ&PFRFfGNkhk2 ~*tu6)ƀȌO!Ȅ,`bð|W`Pd`7@kWUn9< jrDEbԄk~7p ? ͻ ]{: 9jWD1[ k-lkUbk<9!0"z,JuGV "'rL&HT͡ r6jvJ9XN(6oW kvь!){ Ut;!v7x7TKL[fO`}&@*IeF&gl]PcD dAeig1m)s؝~mqFv߳.UWYa{?K4J + HH=ű^ЅUBꕾ|oSbJx |*я;kږ˹}kd,/;Pk m/ha%Z/Wu=巢i|gb__^l_'5"7\5@{PF g<á2)RnF'5C&!w.ȣinxH4=rƃK7Fz6*REojvҗ_lmvPxA%M"ۭ=ԳԘ!bu/SsqQ2G&sRZ B8`%*70w$VX1?^_&Ns!_^˯S9~^ I4;+Ɇ8UoWzQ#տ%ryK~"/*ۥx?2C ?bV+_^l멷,ȵjv.@|_D.},j_ּ6Cpз=ʑ0x4w\:H@#T_V |dh![cC_Ć dM/Kz2s?/kpHYycvAo:'=!kyV.r~ac [H5}[j)X.P&ьA6)2Z6̽.5^ް{J6'v.ܐE.&M{d4,xN/n[?M_J?mC}D |lW\N_ T)>Pjsny09'R" +A9ܟ?oP!JgKһߏYg|V-&bQ͉FβV_[̷=׾b~l_^^Jڏglcѯ HBZWZJHi1z5e?3hVM8[wO).3 Siٞ_x>]'9+c{9v.17YQ5e +b1P_E_~Dai.iOgSސOJ_f46L[b{y//_VW~\lQ{I\`fّv Eڟs1ot6hOS.Azx%;g\j-'o]#+SZt2ٯnB 16pͅCmoCI =B>>_^{^Gz_?O͢7lPQ +S`贙J1&s}>=ĸUldIԍ7>.7Jc\_lA/z˖EXZSIc/K.9d ?o8}N?-; s,_~y˿9Ok@0¨bJ7El,O_z$QV^E?ZZEcԧ.O%}%ȃ.L1\,*M?H׿//,6-?]@lcOɎ_r圗k_ek yar*AP]|h{ |F$־{{(t]c^|ҿ[z"=[o׳QHm%8&l="BnAYd6VɆO__/?{$qGdVu\A .WsI&Q?_@c&p\ 0TUf+s=D6KwUef_|{fl͒_qVH'MLRFׇ0Rڜm7bS5'RHv6E:|;+UM~"FA3g;tѹ U"x&!}ҟ{x&)2U+ԫ.c4)c4NpyFg$rMA!)t(U%HgfU|uq(ѩ"W2c(fd-cdʪu&,4__Ө_>5v\Mnjs#-4$vHeYP.u^+zZq8Գi޾,qܗhI#ޤVp`3M" ; C.Smڊ"wo/\~b:ٮ0x ^{iƬm/Ow>@)SG]n,CcàRȩT"IgwVB}KIV1H,˜mh* 1rx_+毗C~rz&rRc YۄlbH +x,.y\p33Po^}sy)B7b".a%+5L1<@pCh Ѡ"?yY~52\nDA}s,^=St_W=ߜ@"?PAk xA_]3NtQOP:ɄӔ-K#;t0thH8zK&{$h#k`$iLJyL f366}2BRjY/wW޿aaZ(䉦E2j + S,OhQ]=N3DcocCV?mBT.e;/!%qwVrR=1QۼX%,6QdA$ezkg]p}7g~Ӡsx5/[Gw%6ŬM.Ya"Hnj=;gqJ?4,"Sdgۙپ2XtnY`iN+S䢰֥QJDCʹv>5᎑?9G z䄒9bM|]W&‹c{*dҧӴeCUïa.ÛP5!&7 +|id1&Lr LeD'"&)|Bŷ j^QFPFE%'h/'$X% ]|벿yvu/vUp28W5bӬ.]HIQ!Lf5ͻw_u21- ↫8d=g?ȼAނ67t=ӨnjYLi@Q#BtEF/l@8Y) Zщrv#ðٌ3K'S_$ ڶh2p:ak?m|:Aʰty=<7V~/^nı,_xMggV/kip`Nuyw9]yU1nH[F< RPk8l./op7wriTk`9zJU,F J2IcN5@/RQ~0y+9})Τ9EX!R x)>Ocq*|#Ny]|=ݛuIm.ف}y![g`7A}"eHl^޴ '9WR)8]튽,ϮLwݜ]NRP`'/UT=F{>ԉհCN؀؊U_-7t"yDӚ!eG9pEԷpǤ>dl&/!\tUwXv6\5 +T/4$Y1C!g#a1ΓZ'FRj@yWvzKw/(|a-=L" %-h1j}!/.η5h7/}h4tÜGS_uF䝠ɪQdr|b0wv܉qS.70O6SlSF5)G,t|T _Ȋy 9s} q/9߈z%ȳs&Ttůgqρ:>x|oOܱU9~ϟWt*F^,J,?5<Ӽ^zE-N + &|vr~uBXu),ȩ̺շf%O . :otɻsz)Ǩ A`Tt">5I~'^7u /^?rp tr4]_@Q@]^Yø"7Na/$/ n_rnIEDD ʼn ܏LbKN({T+"ͻ\q6$1AX*a +;F57"KNkJ['/|.fQh&xڋBlZZAEw=lW盗1XwL2}<ًggm=,JX6y{3 +[-a֬/®r_OKQ*<PKg@>`qQAw~ Hi_]~8?OS<g;UxDɢho _y]u?/_ eexv :]XSHZDlۯޗo~ً~\yq_h/*QɄ`# B,R3א4b<- __~gmTK>V)(޹!Ip& L__S|U?y~g,`mE=!t!,,v a)X/5jjp*D&uAH$ +n>Y>W]xn"\ԋAF +],hꙍS~ +( $Uxu9yw=d4mAÖ)B2@նIR@eW)E i ۺynw_Oo}T[9/q|/%WgÜU43aM,QY*'@5?=D˙ 6|Nc- lF +/Ubfʼi R2ힽ?n[vj.%ZXL7qz}{u!l33^Ty5^P˩AŠ|SCc?^j2~q8:eTlSnEU}ƓUQdֹrKM~8]Ӕٰٕ~X˿S"K2:nlP+'gU2HYXӭpKoaB +lٝxD=KA^ED TC2߼z/?쐟EIȯz"gMrxU8$DspW~o8n?x48RpğvRGuGU:r2kb@??Bi?~kOA2Լ ((%X|# *ugSU+fk} + +=ؙqſ@!Ư|&v+f`W$D4H BdnDd1W͛]!L󦞘5 ܤZp PmE1" X2fIf_/oC=Q6H z QSyAd*k^K/?{~!]ܺtJIT&vuCS'ɪBLKRׂy{- k7P:|e%e.1/9 r׳\h 1+]ׇ3jM9ZÌ[!洚-y_7(PhH ښ4uMͰ|I"ϓMy)|σImˑ׿~vbX+Ѫ|Z\nY?j?X)NfLwo8?{/?/X`w`\Hy:JPG^ҡ}[x6go/QOjmϟ]}g/]Q+ *5CfGd $@iA1"vV4\cM>zI #G d{./ϢY,1 ӡfg?gg. TкǪ2-B;aG1@&<,._Z>f涶\UƜyڄ8n6Ɨc;X[|y|us=T8K7y$,s I MR'-;;R@+/?Y]Q6i^%6.9tW2UKp_?(@\xv↫w>+*{!U&/~l[PM=2 +A(El"9['.5`?>g 'xų;oDKsA6"꼊c"PѿUcVȺuJ.&9Ad0)/^}g.JSbG>t,C1|>`PW0q(_<{~Sَ`QYKgc8CT.w#42 7C 4~AZM TCIxK3Հ%GI2B@yņv2p$Κn˻fWQg=X:dc~Qa?HZu)f&ZֶZŢfZj5޽y_d2 PDc"Av,Ull 1HKigB;>?]؄O˯Lf:S+ c\69A#s%yhV`ZMn=*E Cs$8 +I L[)}G.~,{isCxT)u5,&@r6s]ö&89 P7)85^LX Җ7XÔ'͋߼3Ã(,,0mjim1#?~}=zy6l5 uvAsU8 ꝃXz"zJ:;G1N3WD5떨CP6k XÛp|_>JBW;c8OGP5kT(iwkJd>1b+3x#X"evs\Ξ4~+ + Dvdwy^ ~BޢyXEA5%5Q岾@t9gȸIˮ s] $~Rcۚ8^ +I,o->= ]1!9񅋠{42t?Os"uҴAǏ']Rnj]my"FӪ^ 4K*Ywܐ믲GVbb 1*E{FkV t#8‰jɨsڋ/G% 3SGvZ EbDhMycмTlmC$ڇQ8ަ^@¤Ql,)VTxQ%5&ݡHw1;< )9;mM,ZYg-Ug]>*KVS'kE߹q'g/T0Zr?l%<ۓ;r71$a"0l-AǽN2CSv"-4i87h{]5]M(F*8[`:40<t@Af6_DuSTdѡ늿kΥ&Ƭ>렀6eEnB9 +G9Sٕ|i,v2THs)5 ::ĐdBOAE?$pp7Q34YI8.GиA΄yI[3K\0}esViQT`fHT$^yc  D}}ŀ8":wqCH m*õrJCCH +ЖHKao[/OŻ[hZpV%׻.|s` e`QYmDzx(ᛲ1Ee&je{ +: c l5qȚTQޛt2~,tHO .b}   k F +!&*pN4A>x p[]|HdG(Cm 0HN1UdHjaZ6cFVcAf=+꾮cs +ߟ52{x_$s~Ζ{|*g(-J|R@iN9f:8L@"n~f( %Vכrm΁ [Lbr6bB6:})s2ZTsBwZ?5r{`#SL$OgTuEj"'0T[DFo (\ugSL,z f:#/MOp2j{ )! g#hӓXDKL>[<`"HQMe4czXBcnM>]ٗ!񄡱דp:Hi)im=;O=tw饁UE. +]Suo+)f'Z_T_fH(|7&*AK&P\I1`'I.!vO +N.1Ԕb#Q筆.d+^yN1酹z X4G\ZړRDWIhCgc=p/'x\qL*ʦ㽭xxǨ/ ^sA7tv!Uli~}6 !xbS)[R^YC,jZFEi牦"\6d&@ePxx*RmNU˞(V2yyd"[VOaRJ+M/g̽Kl=2f٥ʜ+:alڀE;$EiݳBwVE$(IN:7jWgC#wa= |<\SI-j8l8Y{#O QhHjDSv n~/ѡ`U>FhL+;W *>N) ~2l$:>zʹJG- @s[=s}2wx6 +,TjƎ-A)(Ÿ }y=9Scm"埬0ջ-Ur?W5°L5+&|_gC0,H z * +A+Gl)1SS<(xSsϧ +ՎRo2Rֺ&YQ+ Hy1xr>/2u$25Qkܱb4t-%Ƴ0s;O*gȤ~%O#]0)Eyt|VBE4O! >^#i]*MLZa^Sz K +`a(>:L#?mg]ȏA`8$C\AT2r}"Mxݪ|b7#t\VxtgO~yXPC d4%*.9qqo3,@<ÇaЉajB'xVh^hj=N6VX4Y،1tXs)0 V7j Cw0w.%:X$az&~12:>I 1arFʞau1D4=DܿG%kdɰo8ǥ--O|[1k )Hᘨ2[qѦjb.5 Vzdd +)GCQ(N:T@1>[J#щn +0z-bs$kz0}{6~VJ|C-Sme]ʁW҃qhnhN b=aa;ћvrp{࿫i+%*Z-&Iw)G憈dSc_ +Il8[ aݺ$>j&5e;A*Ɍ 84Ӥ54#W:ձ*`?}dscuyk> unmb@=̽;~D-@Rb}A_ʙ`U^a͎a5GuŨPp3ω~[ſ;5lŎJ Y05q\Hz ̧O`ATA`iq|ѵdRi$ה1SN`rVG9뢂X}SZ=YMzʄ:4C-i c!J `Յᠨ3$tMbq!lCm؍mEw7ekᚨU̍gLX8Oʈ*Y%b}0=#aq ;k&} UӖkGT~396l"ԝJf*^}FoHdC8h.tY?\$jI&.w[Qk" 2b4=hl@Vطߞv#p/EF>Dt'`fZ 99_cQخ'JQcq+TZ "2ݯрT&}Vזw#=*"eGq egFOO<*\NQڈ;IF6Rs{;mـgE|d4w:ydŚT&F*ҜLxOT9$RrsP1p-@34{zl2/SlylJY~s[ \ƈUSTm2ڔ-Jcˡ[16DؗDžiMi|"KjI +{ClDGy9Z*ge] Qge#r޷DqfoHy 2{ԉFҢj.ASvH +O"Ep0A#ba83nRU؝] +/ [y㩪GL9d?lx BD+;>aCDS'ժ4/; lG+EDCZ^{:"Z?|G +F~Y +8ˏ/6] UEF\%ZJVV|77_28h aV=;48e+`|*ɀ2W kIV{4.S&% sB;fQt +`)5P`A kS@iSCa;ǖD9~_6!wZaD[΄7pV~3`\P0@X-@G5>mMkGK7$s,': d2j!AFffSL!s7bl) +L̛Ch Fd]~.U V )Z! ?X¤OmmEv=LOz.Ԗ$*K+'\M!`sjmQbz;Ot-jF`uFwjKC ]= U V5 ~n||3V +#?&`J#_X=h30)ok3v$,+Md3|`rKG=D$2O8C +x_a70Zbk) ]yjmN>\rI&f3BJV,U:nTsK&Kj4OJ#&q>?싉F)tr껒^p8s4DJ^VD-k q)!% ' ِbӸ茴ff6Ntmu0:wMJll|cFۄRg~`HLz] ݨMdPil4a+FXUsОFha^TwЀulw +}=>E-SrΪɱ!mE"U*W*g E12G!ŏTImidi1e@#v%IG*|C2urpS]EQoNcv`DЙ 4zZn]̈́ݝ!$U.w2?ZJ6 vK4T"IhRG(dna\f6FrX'*+}rA~.|M7ӽN?w_sN{U%#<~BضMxUg?94-a˫!In7K`UJG9r0GR&ls(F$ڡep&GCf]D6H?Vf* [|uBTRCy ֈ}l`iC#& +`uLC7ż[l,3:2f7XT5%³(شp֐Iwiԁ%I+==4uW.p(.a¹2ugS4+YZ ho +vXt ^FU ]A<- +%Zf\& +Lu%-)*ݗkS+7Yizw@XI3 :sp3''8Qg$ \]ˉ1VY>̈j\_MY'BEQ* eH&j 4Q #-[ k_^h5O; il`-,"&ItB\0\8ZFtSM#,;B,֏,_? ]ʡ`FGwhrݢGOG)?ꃳ*iтX~2qr >^ hN~ Ek氥9J"3o@̵2kC<|Hvϛ(;9Vl2F`c1-sNzۊʴhZXYM[1aaA(ٌ5'BzRDž/۪JƄGΡjCc#hce|0ar zK6X3b 39q拴S;YߐB? m(Q HM͂t ,V5 jlLv wh(Dcܡj5(&% x̥ j ߭6dZ E24ToN +d?:BB@²h!#Ge%`EJ3<Ido15s{eסͧO'LY=iI|tVӯy] XR; 5tG]=6h*ςmvC4kG~1SUcBd%D$I4~ܯdBzPhWiEiGjUm-|)ӫLwH3$\zOfTȁ>Ѹ "%šdcBv;wM4R|[': n) +qbQQ +5Z@&Xa7$!Wm*,NDdM#[Gt)~(XNPK?!fr=[^ӖNb뺒]i-jNj%{ӖRFKb:TxpQ~*Ҋ +"Ed6eŔ&kGjAZgtbުФM(Xь]gCd4Ig}{m mZ*+^Nξ>b,isֲM`ò[Ȼvtu98}X HO0~YjDZ6X="؎Ը{6.pe}L+9 Xl f\d})Ml-p#`(T@"-5+AMe7Vsf*4KyȺeY\3|]f"i_~P%1npe^%3^Y TǑSSmp:^d$Uo eƽd8TZmSxB7ښ1`kTJlx%W-#WZ4j1_mS5炱z#2YHtp#[!UՁ[d7^^:Þ§i ,ѠJ +o bn|ܓT?D Dbm;oƑ$v ƉN.Mw6X2vʆMǺfC):͝Cc^1Qt"(\]BA<~'isr*N#ӉN-`nBDqiQ m +j6靝2qUD:Ƈ"~jWs"ѥewq/XܾA ^|/fX]Ykݒ!hՔZP-:@*nt&|5J`hӰI XJ.F٣646ټ$)@׋Uoϙ'~7*v7f ?N{&GPR[;iLq֦ )t_9%Q·:ޯNr #s`(l.Cs#+EnPT`kq揞D fQ^(z$=һz 6x/3\Y6yJ +EqcsC7u +# TDGGAօ[ֲiCo9]]1M=QL:h쌾lp -U:+pQF3hSBcT ̷;%D7\駳h3&{h+j-V,,x́uW?=6HNv.2B&jI.'o7VO*02RS4|FB: a8Α+ҰRPcb*2)³]ĝl2gLLQFeay%2{EJFO mѪ+m1qp"|l^ Dҭ zRF QPt8*%:Wy'帩'>u &'ʐLy8wūA ځׂd6O +M^BsV+r##-xue.Ze/X0G3Z#T{706-^A,|fqPjy&b$IilEE%yr\p_ح +ǎBIk򦈗3/ZrDa ;&aʿ.eˬXH@V*HaEM/+ݮ`)MmF2)TeYեw;Q/P;zm@x GYqQpzț`͢MIg-iiV7!5aP=ߠw(&!Pi$ ~5teg՝8{so:nFAVZDѤ탑Vt-թ4vsQ]eK_"]`_Vc{TŽi?9N@ŏD(:\cc8|,EIUSӵyRa/G?4.ΰ1׷0'z +)6"M<;̻$%V?n=F &I1M SbaarG[.E.v50wT;rM >rz9Vťv*huĻ2O]Sn6qf`fK|Jݴֻٲ`)Nf#S_lOZ׌z˰t0[Jûj.ȼx ||o,'ϙn6G][dkGdtp\5):(X#{9t>h߉LzQ| =,,H4}8a ]FjΑY# $MY;|3ܥV=2{PƢ"+'~C(u5HejERd&7 +K}pPt3 z`J߲Ӎ jA-~Sl?ى-id04FQ`JN}WC|ϳuIQm ]d՛rlj?&2>v +q =RF'2XvT{/%gEDDxFO˲PuȆ/ʜPv_]]y JGc?EO8*jLS<.i"U*Z+-,] "WE&Re%Pk.ͼr +={Ѵ|.uLUD+KtgMA$Na.oo"|esKeo#[MFT;cNo)$Rq mbThlrK+ +u$H>Zk 8$ExY}B珒Y)Psmbcc.eGdㆵ^@=PsG؃WݫD=FOx6gu2 NXf7 _]bԊZ/ )M; JHm$6DNFJTLUqfz K 1^暧:\hCYYUa0r{ڶ+uKǔ4M~ne6-"wWCߦmr!ճf? nytϗ⫟P y 3#O|cFM0YQE=iMv/un̵e*ubpbkd-ޔ;1]{y+`%Dbpwirl+BIg#RÜŊD7c$}ܳ!EM[Ҹ73LBٵ)d8|"=2'yZAB?W R&C~\0 +lb]I25RlbFA>1&bbq]ᔳʑZӑ r8a7RfY`%,i㨼bâng5-q3@쟉mV=(*ڲE?zjX#(WdRO溩QAr9d 35e~{5[Ufj\13$Rn8"hÕdݮ u1,KKUkcG%ɌRshEXKL*FkF}Χe^87JCQ ʡBxIGG|mOC-3J"1sQߝT0/<15`.ƂU+3]H5l0TzќZ9O iu#n֡qZGMYv0oYwlJq[&@n3oa7+Rf2SaNI4`0Jq\PBl(жqk_ +1d@P#UѓQSjm޲C_^ c*9`Y!>) rWӧU@P +SD9Q 0 ml8gP ;IE9e|ʫZE<>ieNy%leuEsX#م7z/N [K9sK\:RQ'N݀Db[D:m9]%V"R6z2^pY]mHL%g2оlfE;R؜bu5`Pn$0Kef{Kgt51a O 44Uk}tffCg4NE BZ&$Ϯ5p tSsn 8jCԬ^ 9٥qG~f6/ &\Snf4nQ9%xPgtW%R+kON(':f*5F%;E5*Xuڳk zN +&CD;iK'I .4OaHu[3xm*: ̧7Iόe +- w'2S"Zek;t=Mܠf^2x篥MSayQEb<)u0Oecsh$A4D厰c.F/37+JZ m% +tAus`\OaOEU@=l#EE8<$~t=Me Cfk(߃m(\I)kČjv]e(ְr +]֑+f6Evb]ɹb傶ftE+{Ԗ:=Rŋ.T!QⲼz)7A_Z*fԧ\OԐ١V8nN@EF֮u6+fǠW Q *IA;|(Gm` GJ,FFq\='(Z-,%lH2ːS_HyCמ}|R9ߧ ++#{L/ GwBk)?a!`*̕P`n@C_O +MRdffw1^ӞHOD 7n~2.T?}uw2%̟; w ?q~] "u"[ɱHoI<|Rm2DZ +} Ӻ^yvq U˥Z9UPFf; ^cW'jn к IN a]_V6rג;MC;@ }naj@go)S$uD:R0Wb˭ |+*[l*5Ku8}x9+ϹYMP$p;.œm1 y +!FDQL= DDO=33zGEFАRmm1x~\۩.>l$G>E19G{$jgao)LvzYH03&fpuw#͡ݲH=֞lZiK|JTe663m&;*Lh Q|ղ3 ΉU1^Ji.Zٌ4&JA(.^[Ƀ+#\-%댔ߞZV_:` d-*d&I'CXk-eGS2اQeYƶl#U-o@t|'}|,iKW\E] h߉ۏh7J\R#ю[N[owbVE0{/SMfab<#3onK Y5r^FCPHA4"n)o 3'?͊SQ +'&iv5( + v+/Jgu10X.Tc\p_1OAC<q9]$DNioA٤lN@LhGKΦa%7uWhSF S%XF{:;g=4vb 2񣏇fKYv 0 EtВ3l3ƉϺ@uXu5<4ndKS[F#hX&s)ݢH⎠t=N36U_ E~0 LAARUF7G*i޷>i@EP9*ƌz 6ߺjvʋSJsx KLTG!TM91QZ< .~Uם @BaX.4"ZnIm Y1IױbIގ}ܒ3&9"٘b]/;4Prxqݴs#:0p{GLDnl\;丹11e-kN(bʼOTbH q͆ r\%i98 {8jHb L1hn2Q~Md4(Ro"L3f:-J_EO!ɉ+h ! +|%~JKIA$q6[gS^5qeOQT|IYcaD¯e4*;T].Ppe\Sҽ֒. Kmu0rPfkDTU꣜b1YJT-o6T8B(4MԦsM=MzwwIBX±9HFvUZi.sgoKKiHǼڤ0QiR)5 w|D }`gU#=${M.oiF4e]Z*pz|ai#;$wU Br&0, *@`{H|#9s*9#iݿ +"M M{RBC(xיB4GŤw׎ԑby&"ι;[/?- tC +Sqx1젻cڀ<2]z{NJsdȓQv]bH.AUոFVjZ#*{NM/(dj;k<'#ϓ޿/ʆ#5!l pkb' T?bd_j5 j{$mNE$3֣̭V( Zd4t;[M]IO9ܭA{\,yY' ]]ަqEM ^k`!5n~B XyHd!eud[&/ X+y/h$cfE1x$~ +|{6#+Z㓭HfMfxWG5|Ez?X^S3 u2{ƾf +iHN>0G:.T" 2*Ljnk0U@VU0O?E [ "^Ge~cQ({O5RtzDle,#:nnih M{030Ox/pEP:[TޝORk"+/G:SQyF3K)[ȡ\t#h]wp.l>\zU`e23hU]DQg+\u`&)QY+z놠c+`bI<'֢V}尟VZ{rgPj%/~+CqIVEX1&: +p$bYT;kCTEJ4XE)Ŗ0TcaZS׀;9`-QnpZ;s\k9X{aDe )w3I ("Qqb#579'gYs2M0Rj}?ؕ(ܱ, +e-6KC変]Y$Ŗ/ +)/OX55CQ0~7=oNzEMWɛ0Ojb-Ӡ\8]Уr&kQ\lC%QOD4RK-Q}~h!βJi /\em f]*$7MJD>ƦUn[ H긳ٔFHȒC' +<]kg:tPМ1W OXfej}:3ąo膽?q{>FuIb{V1\:a+؄>wF>\2Elwu.2$4շ@bj/(?!Ц"H,zK. :)Yb/heGoji3n6-DŽBC\$Lԟ;2Qj4N֯zLj#F. ܔDNd +s97P}QTP46-$k6+Od J`"*rX]}φb7amQ}O0jerJ~%9v[DDQ0-.: %Gtifzq?bx"W'q3Q.oR(=G']C7` _BًX;z6k_4,:jdF˨( +"]Ӗz`+8.!Qm(*p;>R,@}rj |`Dr1Y4k& r+Kg⵿c_aPYt?hs|eLm;S++^'+]CE0&Z?+'}=+|LUSnts^@wVOաyjQKlNq;Y㷊.g[V.b$1JnyQ|㫗{V~%01_Qj!5p\ȵ\Dfu2lZ(xNf>2wM]$3iz?+6 6l~6WnJ |ژ1rJ х?>b~8 tG:Mֱ֟|e׾| 8`\c%_̻݇6q Ǘ/^뎣tÄyZ!B'(feV{tS7Mo~Tz~ 9\V'0ĀAReM*;*֏T:MO;=]*;v y) Qǟ4bH,ˬZ.TBѫjQ(B@-'w+T˅{ iK>LU-^Tp Q qmم[⽥oOl6Ҩ,mӘ"Ǿ +8q5H[4QLi?cb;4oTZDžP&Q1 +gކ A6MGZHoZGD ң4`w7 b'| 9ww]pe9 +q[阭YJT | kW~ƞx/In#\`OMˌWRO Pg.I?۔j 1@i#Gf+&.1]m5ֳ2P13e ]?0CN>_Da[ݒe ws-;+r؊CMmƬ=8w[󟲦eؤ۷а.-%83#=JXZktk檾 |&id8ھ$m-3ɚؼH Sڹp[#myyۜ6Ljku0i>ڂXwG벡e[8Z b9"W'OOa&aދj>0HrF(+B2:|z,DQ\:ay`d7s Ǚܒf,?[Ӊl#j)+:ץE'qAOb8vC% #`}S#&mn+ܳYzQPʇ*!O%Lg6F'3ZO\yVKΛpC""W<׋pQ~)+L jf]Sin9ZbփN*rc)9ŰQ*^r`jc&E[.A\ FCLo.06zX,us3ueo}e1FPÔ)뇜B:`9-sFRSGQŠ`m~{T8At2:ݏ}T?l8߿$nH4d2e?FDPJ`-V3ƔCuSins}>4'Qf2)&Ch- Z>{bxIe$-# yUV6Ж0)s8p vEJV|9λSL!BquJ]`u qӍ$Xj:q}m\b]; +gxѣ\˔lLs1=vJDb2˺,'!|w+vr}uT5)t8xnPsN^ V^f.[Z3,R/x쾌pd:.D5yqt*د80m15n\歐F:{TQ47M9UyAUljb*Cgla ,:#e>S +5ø ێ(Ϫ\QaL|JtvcG %;%1^^oB8QS0K!NHS!f/&H;9W&a! Â3rW\$IaY` LnRgrpP 3;N+9%1;k@YsFdY;(*|%GN,~EkV1̭L5m 5:m ͔0jÐkfZCX!lMHE= сG#i'Lj"q3.jRj<'<\ U<˥O +*@)5x}@3r_ w4 ^g;"5/MCom?GiZ480'˭޾P=iܵnX.p,FILTؠC\2"Ej휆uyQm煥@'+&Gڞ @ǓS>,<^mSDST*I xIOaOy q9Qr^8wRN[ɺCrKty\,^p8W1LG7.HCΞGGqO!X"cxU:ש=eux$;WYcԷؕ:YZ7X[/=8dpo J E˲`u@4fV~Ռx[pX&E^yZhM%ƥ]ˌGWgJ` 6m8kk47aЙ{T`TV, K&Eix)qZ_~tߴ4ű,LHZWJx%0~`( ,7D5s-3pfzS + !BTEMFDqVA4Յ<$NY![Igx$ٝȼ9buJARΎL^Fj0lꨢ<ϔ/#GKFѻo |]G$.]#q>0Mp[L>{#j3֕hE ?I# `aP՚eQUu d_NI~rXDe7VH4 %+vl~ 5;͓]8+$OjX{:|u'fXΟ)rV+I0m rɵc|S9<>OG"Jm$2Qޒ,H`z`<=͜`d7SAjO]w\\J YyۂR_*1rǪMZ?]G9qN4/ Ӏ(Dص+j̽Je= |6-Ƃʪ(1/g quy,&YևB2)Rdl|T +!&wLy/ٲ^z\9Tr0$bAAYUgnɸT717ܪ;NQRXPr-v};*iN@3BXphY3d2%J,7gd  v$g5Z8QpBDF^#d~/p:YЩHP!6 p(ϯzhkyN$ɟ re~B*#è2pVϳ:k{z9aF `SH +Rc)\pg9LGYk#2q[FrzY7N;+Io_KrYU)-']'R>w5a䀟&֘GV<0:OY-9J?P{tH@탸;q$ŞEkBsjI[{& 2ߺAh֜o~PT/ٱa\d`s/Kd)K9.88}@*6&uh苾kՔ#)B +$4uӲA3m܊GPKQ+B+c}lՕXtKՂjJ,ǘ+{9,4Q`NFX5 VɄ0IJDpW8}RΞ(KS;6FJf*>vnϞu 1Sge2=SziIS@qoR 1/ :`B}:8Üe*iv:Q~ GN ^hإ| +4P q uzYXhPİȑ"r=U@|zn6V՜8šV2DvLzti+Rˬj삛F`H=WҷwL.dEFzy=?uAdyf:B鴫y9. nL'hCZ/RPڳ5gfcy6sml76L^yŲB-|r]c@y- 2ZT#%{d`XEcma1xH] Zqodus,BzA'5EW37O:e#hT KxM #OjBZL4y噰5Ke;aA)(0G#^,]M%G۳Ƀ-jkMuۚ +ÅRySKd\ + 5jgN$^$=xJ9M*զq Dno24*pp{Ige,RP5aj̯:x3j3 +ј4KQ('!6LZ +T94'dy&X#)9r8Ds;7Gvogmszx6@(q `:l M}ўXQ YO&:ʭB-PʥYYڮL䎡xM޼$IxٹGY)ut JlGPΌS_G*Q9F-\=}vR*Ʌ ʹ0rG$w\tj2aN^ +P#SX]+r +Ԕ$(ڊyeنڔJty͵R8/$N J$!WF9E5zKч%sqgR@k3L8y~`%OkWpmXRNԢԷhWrþ1EI~*?1ɹj^\AnMi孵U!Z6x$`sEQK49udK㯏(m1 nmov|4=.\"д[qpP@iS-/w,SK'ׄgZ%UHY;)T30x? 1< /b)uz?SM|*mڨ[qt]bKLr4PdmKQ.Wu5GnQDwܞΌGlg +ԑ۴b˶2UG>![VT. huf`وKEvc~6wYQ)0㪓d) +^n-8<]Z_٘}H8ζE zr7 +fOb}ԲRz^)ˈ"aND?JVKԬbJ([*l%Qkp.`DU*8.*my{!jI\w [}qdHzV*G *eE|#,CV3ۓ=vw5ZeZUZ:_2M+ @ٰFL=[͔@qIbu ,_Vkw[ymmpǂf'S6>CNjP)ުvs-TJU/ħ+IR{} +CZ4# +s\tJd@4/ D+yJJ0?JV'O%E43,Tن-1S}a l +*Y5(u(.vo{@?Eϒ R$ɯPCmsDBb&Od1fI!@I#7L`yѠKC{lDf:Uآ@]lvrqz{dd\g#iQm~"v3cͫ2g;H"<9S3d'髮jTh|fzc1qVd$sdBXD)Yz<)h?e`9 zSJ!nhrjR͜jo{ &FA+),%Џ&0pȓXjj4TNBux;،Z3"Vv[Ԡ<#Ĺ%*DEe rA#C3 b|$zֲm%^U3AKY֭> eW0¥%BnrV]K7' zVsje:%ʢt^ti> ]wSa)C RN'%ދ6 м NɸVn_֛؛.qɴOoؾ"5vG/hMF^x8I)g&'VUTM>*)M}޺|z1H!1$bBe A]+@!(r3h5,q0kGB^VHD(݋'‹bTR A>A|eqNᆷoW.X:9XsyIwRۨ&$"SU]&jfB +Z=;p ttZlIㅡa߻eAhӬQNv;Sٸ${gQg`důe>kAU?u*u<屏ScQ`L*ڐu3У:"j֍r`T6tYeWNg66whԶ |g= +E:ɡAhQp %sbLJD:SFb Ӳ:J4R{]_n_s$ݟMZW¾3I4I= J2k(U*u;dvTL&X=/x$cD.ںp nBQ9=J 8.%܂ͭ;Twfycr +Y'! vvEBYjdnYh.6vLJ~i;ԃ#kRT,8nh~$1wΦMXI9e aL&DEjTlx:/vHU<&P\J0\2kyx;+ܜKܾmS]N}%?o~.# lWgNf~ܾ4vø14A1n>)[95,2~ۧw;qRD/~(It:̹[.%e6] T|ejU!Wԉ nR,:<\< 73Єفvk߾?\_Nh + D2%?^3uplQ7l\tC|pd:/Mr~bs~:Q`CiO=̬ ֞ ˪Z:]ڍJc{ +sz}@#ҎՓbu.vs]Z| EKjSv^ʻ+m&^H׾F)Qunp=Lr^eֹ+rlSZt8%/gs\'(StS@7b׬dPbޟ›G܍]_CLlV v ֱ:h1xYmc6g]EJy|MOK%%RV=򣾤S0o͇Oܽt1Tz҈XUW2Y4epe=v%!F[}1/99$xqj bDC,I:s۳^䊛bxwCr⌏`8\@DF:RXߌ) Kь<3;^bGEqYqR#2:K5*|K=tK;~bJ1WwW*u6p,BЅFK\5|aG|3&:!A|,T׌NMTX1i0d.s=vA)6N檶~EE=fm Nds$98 ;D2kLUIg'9oXKbĜ_{8i9aZr >?lT~V)%W8vp! 9z$wZ;bˤmÎ;Vr|hm7b`[ 9 owo<sZU&コhf kIx_sg€5JJktS4pJon@qI.]HԵҷ ulC=|Lz{&rr==<˳w w)oØ.^-po*Ǡ.}~WYﯿ,94`lMBgǬB +R[w{ޗcwv碬z f3 K +p{{wg`p+}ޛ!pZ$uXewǰqbgMt%7 +W#p?Ճ^H~wC>~wx3*1lg#rZ*C`HZx0~. /n Iǟ۶ +EvF(NT|\*_ ̷"`I!6JdzDr7d.7 rV?cA;0-SUnK +/}:t]9l:q 4-)H@4@Q4:q:b\b'{ lڷn~{ prWv۫17K2Ѻ>h"cɊBjwTW M$mJRyk{Ne>'E͋[~}'BcyŤƮ8͞TljU$h@1<[.Tݐt(m D8~R$2mȋzemW>Nҙ:p b&.K$pޙ)y^$E翻ޥIuI:"PhAS[zɿ@]#VJ6]q5k\ N{<%^À^wrgn7/U١KL݀W.oLJꮗTjY̭ up 5n1h.lqwZx;7̤N +>J\Sq`}6?}i$6yr2k@V=U7J9jk(ΔNǻnwނCX%2>tmS:F +Ѭ6Uux2v:,?6iDG١sNY[*lS牬L`^p<ƇeYǻ7N^%cefU/k۶ OXMȀyǸwv+Wful9WA#jl:]Q +q*1NoXd{zsyBaE y0~hF>|(қ]?^|X0"?tm |69G3l$,q:9PX "M|J* Y4gTn?};;_0#[mXZv !1x0Mg7 n}yjX~9 *"tu٪܃]ZKx 6Iuz,tl"Puy.3GUO1r…a>݅U}r)\-:+U,UZR!ob:c#;25d@>`XV$iuhN&ԃ>\@1RBwx=RcϦf45G#`q𗻟?ܾ\?0uQba0vaqWpz !\\/?\zbv;iӣ:K# ^!NNINOX?gh幤%/np]6ִyQci`n8ۗy ~ae~7Ps- Jp!Ҫ)?/ShݐCܻRU2|u$:K +B^zw}ћ1]'BhL!UE'sR$YHP'-fP0YgY)1 3zq;#B-a??N_O';jSp~16WdB9S"H,r"EVrL::shKji bP5.(뫓o^9ؓMoЙFŌԆ:tL7d ΕKm1\_ v17lCGMܳFXSb+y_-k#њ*61@MݚW̿T]`͇ӟ~)߽DƯ,I.v? é%)<}Wg-ɣx,Иs0ovWδu%pGXgx1젻m~:}<| +i/G~z9&i`&qcp|?xK1uH F߭Wɠ꒡2webˮq|ĥ6~ NwF{uL6"P 3e6T%ҁ |s-"=e著V)uTG_QQDv`KL'iHxTcm)mFyDޜgYU`!YK+ tԚI]HܻQKItyu}j8$:np5Ԇh뀮K0#%C1R}< R~9.],(ˍjMN6;]h?\?}aըt0B`2B,l_dNIJ<A9*C%åfTTe NjD,4{ǝW+z,g_ޑ<(*N xpBAfu SāBy)V"zԋ8 +:o?v\܌㮗UһiwM[[RhΚ6&ciCP_V>ьiΓ2-')b*"߀,bj7'M^Dz5^lz#~=:-!k+U5&/#0h e{R@>ͷ￿8%gR}&[<{qs8Ty* +}|/e I:Yp%=.2FΥ*2;DC hez+fx8?J"}r.wR g]ޫÛ./͒lS "RL:6ʊ#>E[TL꜆ ga@3JZ&uKpTՔ{kFnǫ04xRa;t!baUBYjde%F{}ߗx_3.'ׄB-IENDB`PNG + + IHDR``w8tEXtSoftwareAdobe ImageReadyqe<diTXtXML:com.adobe.xmp : 20#QIDATx}wdy/LޙE@)E`,DQ,$!D*Sdr%R$+1AdU0d ^ {iy =o{lG^#jіHk}d le3+eW41!eDA~ 0TLѹH;U\g@I2k ˴@E^ G q{#V&2@$1O >)2^Vi_ 8DT&фq D;D*J-?> ['j? ' %H)l\ޜu7;c^.|#LeUD"н1&HBBEK`:msK^7C)k!Oqr wr/hhJtP9^!'>}$#rO3GJÓ|"8O}/_Yl`vĔZˇ ~.2%0sMnFdkrK? -%Sr>]_EfPJV~Y&ۖ_]-F:ploo1EG -A5؀&!_a`A /؏e<{ zi*h=H]0;I! Q8.Q|h6 tDgn*UR υ;K6Bny[=>5@˘_ $fL@8Eі] Ř/ i؞P]u5A* iIzުc27zQ񰻀2#~kY:u߆oՀ |=bʒ 77~6~wwaFflU>Mkhċx_wK0oWK'|8?˯\sN4.yN3ހSa@mkX  ϳOx>top+-zʒ6wg]iЙ9EiƭsN0޶*^DR~>@jq \f_G 02cN /|NZy"#ۯ8f}7r5OșO n$3I%xp䀉:Ufsi_6p=F&]-agMD=EeaHe|}|\B>m&%`;it׷f$f}-8^0ߩ& u pWJ=0~ԠK.TSXJ=eq$Z@[h7xFC ں5S{I^.3` a>FiJ4Ԇp% $ܿ,?Q Gg.̃y{3@@9fPIx1HPKKϘӻC {"FxF Jcz +!>?dWu!7A uזH Du=@O,#8 C0Y a`pSq8bC$^>z1A1pO}|@/X%BuYvM~ۧSu܅iΌK +"'I09 +繍vgȋ +/!dJW9$Ll?\$&^DC|=31h'鞂N%j 0<>[}91L + ԕ}.D,Hwt=eh2 M<8YX mO}NX?43*I8D-%IŜ472ȶ7*'P}j >= +Deʇ$ K:촽Ӏ~}C^x'I@QI\۴9;ѷezfOL~w4 EzE5t}K+lW>bOJiP,)G$әҞܑ08U3"Ӏ{*h;ѴPb>@;!ރD cg8socKOlj-x:}OhA=rP^`$PJ>$G}{#ikϦJ Ȉ 7;1Os 0+>69ćFeL,1HQ=wWR'[%dOM$NWo}ob.QD@!V60;$2a]Ȳ\I1s&!?zp>ûCZ ȥn ooL*&_Mópq?^GKk:3B$16'!?#>#4;r<0b&x?cQkȂmV{έ͟e;^58*^۶4Ko6SB$'$X$ڑ9ۘ(ӁhQdzyhbyX +@5;=ֱB"x/5G =aQ\X'4ľ|;wKB綬I$le$J6?ΘB a +3?@{|=POJ`~s=a@ҜNvz\z|3w֍zpq[3+W1A yMA34n?nWg|F \fF'q,gC%W5`wDoRdmxRNF}a Gq˙%X60tkN[ |‹RT[kw9ZA% +qS#!x0k)u65XXI L=7ATL0_:n #>aCPf'MntysԮd5 sg1KDɒ-}K;ggiX{63=R\ŇG }τFZjfl)d$2AV~|CUX \F7Zhnv*!6G1/Mpd%:&K_hѻLPw]XWa?X^) z&RIm$!Bխf;Ż33ZiA" Ru:}>`g:=^e:ix^kz1"ћhn ҇ޓA3HaVSn}Mx%{3*4ҁ, iOh Gr(WC1AIu,$$IYlK5ẖe&F[]˂۴J 8o "I'b|O90)H? >D=FA])w 7$Seٺ$#A9Rۛz >&&4*i@kd&$:,$MN$}[P \t(0Y̭KT*k^%bID2QZdr ĈYDcp30_)dyPEQs_g=n֏0 HPq?afc0euH;!? ,ui!l_)v%u`-jV!4$jwCM +,h@KpBh!̾mZУ|yA+D.PZ4MtEqJ/ۡ!cH{k=&O'Ly^_t9`[ӨzYh_5Jؙ҉o#M1__l{9z]zdTD7z 7G%p@z e/2#s=9jEP8 fQ\sf[a sU$bCKWGdL& 17PΥGK fxSl:K[T؆5vPI?غ TB454Z[b~DH$͓Ne0}&4z2@=N;nzy飞eB&p4WMHĤViȚ`b{}ٕ987p;`C' !TlcL`%s2;|?;9Y/U8s@$ٗH|FXU[]WLyrhCXZAI tad}J7$b5Rga{ h/M 4^Ӓ4 +8X &qmA-qI%^*]1e1+|35oDu$iiB'_y3)Ң%1#kA4z 7eF02t·!,}e.}#"~"!,t# I,sF, +MF`;WrdݹssHoLp[̳+|8Gf=d#l{,=Tx>o'ߩ!)9ʲXo𾃟:{?omO^-6nzE( 0Q:y|N4c~ʘ+zfjQԦleO"qg7ق&^ЃZP*%0S;Z:΋Lx^D6-G_v/3 +*wP 6em`9)ea:{j ןKrM|]=GK?[xăs#`+U>QO7Q#GB'Z~tl K)lDqɟoHX#urȇuD(z3zy郘,T3f4A3Gk~q8чJ&<Œ EA3E4%R/[yVyFO4"iyuJY).9 QTqV/}f~ayp1CM1-x5DT&H|@V + -wGy#>?0< NK&KV +:Z&r[;UH)qmV4&{+~6^ڧfXod& +mƬ^@P՟D`1wC(5l_ +w4cըJJ5!Z'lj+dիo;w+Nbo$9ۘU*?IWw`{`ʅLR yþ!?¡?LsS.=U۾x1?am>u,3iCˬ--ꕥ3m :)p|=nm ft7le!*߃ w v5H㜰^ %`* ~ +?y\тYUZZ 3G!*NW?R:ys(︹KR` Lz?+lf ff."L1)# pT{E'L$l ;梹R~oIIK(|Ӆ2d`N2Zh*E`GFg2 .lYϦ0WNbMC`BGTEĩ@cWC fME4+G-2!BGH]H|tײNQic6i4eB{y(4UR-ȶm@ftUi:: 1ʂZQ}{sN ~~}mvhkFV< +Qy1N#O̴dYqtƔeSnNz +WwP0=p蠙D dDi8K&=C(t~5QJQKYYȴJ>s)x`/=4p YXnmY/ qMZ{')YEgHHev1!rn$nEINEu0ڞ#\IU[o| 0.T=oD ABV̜=Xh|Y&@N\SKG f?@h" Y3nN݅}\Iu#{o%HV4#۵h+jN>pCo@ݙ g-ZX[1 livlYp~znkU5(-irjd-ѱfyg1+}OUISY' +-U&C2䬅&lkL0fݏn +I]*%B?h 1ߥ<MؽJ0rF]]~<_\cܔي@!Rܞ?2j@MĒ0+M$dDhjdv.&թ0z jώGbm йg?Nڵ:[/FFR + oc3_Z()f0qjJFFqVm.စv2=ҙ GTx~klnz;:v*K0CpPhwûԚCF Jj]1@Eo?}zo$yҭsB cH0{0lQ*O}BSB:Ay E*:`RcxWf?#/(r~csH|9ڬaS7lATma.F0+ZޤKzebm; :_+VS:,mV2;M}%=o! +m"#;I?rp?Y!A@x&7u7;5_aqķ%?N IJ t/Xۍөb2:ӌ~Rbzx`Itdtl@M/ wOigzjNA929m^ʢ2&$?J4]d_SwUډ˒)q|&vPT +'o6[Y0> _m;l@oL1 20X +\o 6dIj6^Zf {xh +gGhȈ ?'҄oO1d*mKZ}H~)<<< e3/G]u<zu]S5! n#椿f4ဓoFv}R,hypK-E$ik1 % ;*u'fx ėIAN##\8%L66t2aL!S qD ;}> q҆t>2v1:RBt0UueC]!4!`c f|@-fU!IHjq%HסB]%4P.3>Px+򐴗CaGviQu;\z0j¯ 8 +;Ϣx=v$[Ѓ~ƷI)ʏ}5H.O0a$3h 1N.N4i dKT]A}pTuڤnxȺM.u$9 Q5'"wXP|! #ĉzE3$FO!ywݑ؋?㵞@$ +}$-դ^U{^}Op"cAtSIHYx +$#wrz FqIGA %Z^Og_[UEIENDB`PNG + + IHDR``w8tEXtSoftwareAdobe ImageReadyqe<diTXtXML:com.adobe.xmp '*jIDATx}i$uދ<*s$iR)I6MS"eцi4_6`0 /0$؆oѴa.E"iz%QKRvstOw]y_DFfEEGV.an j2##"3ȓa(GSzL8B1~|'o[= )֔^eU.@ =P@9W̰~W%TsȒ(aJ ` "7;f޹W?uiĄcз@-W_@[F=~.zdiK.c @n'iFឆQ +]?,%v7c[ygNnbuItZ9qJ ч1RЎ.јȄG$^3#p'd$}!<|h4?<™]k>ោ0 (?3DmNzGL8.d*MړHӍōOs%]cDGgL ! Wijfvٗ`Z",#cFhx r["x[:S| ]C @3<l3U^!gõ˟ly؆duV Ȥ8sGmab +B]6 rM!d}܂;a[5ӱTo/?5BkwGt hPMA>n-ƫg' ܀b04 +.%bӂRL@E@JwI/4yM0v/ O#p>`53\4Ie+h~Ļ]̽V>?|JhPPC6- dh4_IFI{_޼NCh2܆9#6$$!">j +~ +_Dss8a_d ؅_| g ƈG-fa)nPuL7RirLr[l\n|_6@Io'M!-Ƨ~1z1a&3TL56^=Ɉ`lvMrM'?j7)n<*(6<NoR84.嶹^akMh2B56J/ KgNꆅY B:K m43r$IeHXAavy.Di)oiNe|_Gc{U#3CҼ7$WgrBw`u +Bd0 +BŸA$<$ +_^`A/Ox?Z60kw}YH; _^'6GٱS73Jqp R nYNM :XA\*a*J34OȰEXCF,5RHd]Ow:0# "FA{)5%E6<:N4@Ql:EaD8gF},pq}PfߡSSfp-Y*9 :n>gfg GL4ʮVV&p zfኵ.38i"\[l +09)n!jɡN$ P̏y #{$t"^6!&2dF3y- e7!躬#նv 44b.u3~g^@ +$6Z(?ݭC|zCa9isE3]ʪdo=M%'spmKg= odV_ct Mϻ^vzWccC3P܅*=Ӏ]Ө)N|][ z&QpfCL?È@- 0+H.fY@le"A u2 l N Ƕvv0PY02j3lC,טAա rxjThꈎ~U*Ȁ#?WkMrFҦCn69ҶᢝM- ~AG g, +Hsߩ]̔W~5/Rܴרשh(ͺ" # 0G1DɯŒzp/!viN'CMnjjhrs`tw.$,x9L|3AY(EIOt8t ?-&I!S1xy~(ӰLE ,2gpY}49I Kg\dO:t#w.N߭^O<@S3:co`gc6`ͳjs$L@jz, $cS}}%Jv>>ʒYdv31dGZʭÁUF ++ٵ,~o5DY|`]3|a/b0tD(4`Q$8&jȞ@IbcQ ݗ)ʕuR7#i6q83|QUyqTbEyi8e[9q(' &"0MY%? 0MLnrM+xfmʭFvx/< s~DDZ3t:X*ycFZq%;H1 c~FLzUxyO(]^J+- <_>)Zc X)FClh:d4+9gEaq*p5A&2+<i'i"1٥0[wMɫEGuDTT|1ϣ%D8Q0r +2"N)w!XwwsQ@ NRNdkj?~$>?.D{.-gC7z]xoTaGd:Zb5@Q@qbXw15hZ~2}M|Z$PCZc%Ii +4RKvW[7=P>t`8=g|(ģ.ƫn +㠋m-úBJ4ڊ.5.Ba~ #1ủ4.½RDtQ8%(QWƵT"3Cm}: H.ZHo4(2DN(J̭aqY}?.j +*1Mt6m{МbVo4XrK#WpnN+sUT%ksUU4&h|v<93vJ=H/u˘ѱ;؛ܶOQɂ~C8)nI(S+핧l=kQd>gᱝF(+$4 bɊ~Jiowa+M !ߔfō@Zۭ94 W4̓_yb AS1gt779t[}YM"O7 ت#&\9R~U9b(!;~=7:^A=fL"'@$^SSAaJ*]G͸9t9ñ]L(d +߇b Z!?PnTFD 66*Ӗ%X]I|nˁF< ЇhJ{X +xW$]P$ Y aڄ_L!Jq!ӆSᠴ ˹FU ,5Mzd0 +.ܙ}*C[7a.6K^#Q i}1ROn4Q fw[ͨE8@E0"$`uG\ր,>4q]=Wtв EٱuWr>桝sIDd,/NuO;ӂZq ZvziZ@gYAGKY 33SO< "R!alGYY1ɶaohj=pV#i4ƫ#\ /Cwx_"nTݬ*hMϣ +s\oɕ 6zc| %: hq1&Q܅LN}2M%2 VfAxiàѡ`trM4*;-X$y{(؈vD{l 3mIXfm,#VhH8 &Q>;zW:xLBg4Ny^0">s|Ia=@Bl+I$߬(+ϲ=y/oK^&eL 0|Eb L+V$? )' Q$o3OM0>wr",\GH<~Dj7&I/' yFANke=ӤqDܣEw'{IeQ_;)dͱX9?DS1o*ZݓBcc1@-yD-鞚]ԵhCb +Lޚ ~O]E44`I2*Zyg8/KM+ +Ɇ}Ttz!^w{}ȸC/F"zC +)9vVጉRzɠ"G*jY%CEն!=>VB#YetȀH\S7ЉwGk2dIA1CW͉I0!vt)t+0|rrvsvDb~;OvM)0IZL~Ջ'#~wQjA B"Zg:Pl;|hqwH.5ul + +ž{13LBQO B{eJI7x81E1O-]FTh1 Rmh!DdSBcF\㰘M(mWse/- + ȶr0qnN+z|~4HGt;GPӍ'}$ JdTob<sȄ&ܚGq\aBNGWJ`ynj f;ݥ Zz 8tU(GabIke}lVOG8N<ֽz{2X 4): 𠷭 M;؊ >H϶+;]~6ZI%A};lS]qm z^ ML)I3ɠ :J?~⑃[ȀOwyJGRS LU."HtUt ގj7<6ߎ]aaIG_&?r*+՞I_Fی L3E cn@,-&ʒBt=1m/jՕ1!RK1!z{.ʉdG0AkIW! )Y:- HyIQ l)%MMښ ]h(WkA&Sf[Fwkz\MuWSwb +zIW$pYiC ͥ@p(Qk\*wb5 #6@0 ԍ,,OgI j {R nsp"|55覼V%9 + %QghďjU1oX]CSi| qA}hA=W=S^7MHI>(z!7aNvEyR1FZ*ERf ?hpx>U&<+2# ħBH؇%q_g 8&3ҁFv`*uPPwF_&rቦL!|vd; ҷVJ48AO8zωSVI[yҗtR e&IENDB`PNG + + IHDR`?tEXtSoftwareAdobe ImageReadyqe< iTXtXML:com.adobe.xmp R,GIDATxb?(88k܁hP xpah8 ` `1Z \4Z F60n+IENDB`PNG + + IHDRL\sRGBgAMA a pHYsodtEXtSoftwarePaint.NET v3.5.11GB7IDATx^b: ݻc6>CReZ1/o4j]wJ;M\-&*i*u!Y:o^a:H[:n/.pxj8QCfQuyqEQЪC^oxt?ꐗ?ƨCXe7,hĩ[-nu7@^H s4:Egq?C\К7꯮Vq tXjZu q7%P%:q+qhvu .Z[!o!Ko~ Qqw4:&5 aw\O9?ꐷ%:{~h!W5bܸC߄TޭVF9ȧpEk+B^U~?ꐗ[L~%1a@W]M(Vԃp>^9ЪCޯxVZc!uQCk􁳩ρV.$?/fCyi)uaq!ыCyixJhY?}qh7aw.Z[!oa| +w]68@w~h!/O9.Zc[;Z n]ꐷ07ڧ2CB/doZc?n]DE-~`7~Cxqh!.}`d q?? Yo\Vgũdwdкн.#0{?d VqVUWVZpY8.C8଺hnD@C8+Nݺhmndq}C8KhuѪCU1":a~nЪCBօEgEkuuqh!2UԺ{CkCX,GAŌ*PEkKt# io·h?캀Gyv;ıs޺hQƩ/G*09%T?N ~߀#ִ!J}=DZoyAy_ƛ_xuyd?ÏքNų Zc!vq*G{iB'Xc?y7gi{1r; ִx߼VB.P#kMGGRgm G*Ϣ1D^0kA| :߄Y V'ЪC+cs]7qaB\ya-]aB2 㣃W':䥉~Ag(5F*ǡ?8nڒ5GV~,]ZuK-P8ƌ>pVFDuG/L;UĤuwݫC*Ixsss5Ɂ{IENDB`PNG + + IHDRtEXtSoftwareAdobe ImageReadyqe< iTXtXML:com.adobe.xmp L1IDATxydy:{kgv8. @ +K&e"EYM 2e`P0hF$lw"wf9wfv꣮ҙߑ/uUUݽ7k^}@  @ @ @ @ @ @  @ @ b@ 1@ @ @ @ @ @ @ @ @  @  @ @ b@ 1@ @ @ @ @ @ @ @ @  @ @ b@ b@ 1@ @ @ @ @ @ @ @ @  @ @ b@ 1@ @ @ @ @ @ @ @ @ @  @ @ b@ 1@ @ @ @ @ @ @ @ @ @ @  @ @ b@ 1@ v !V޷s^ 8Խ^42`?.@ # +88w,8w\C@ VYO?o wѡ@ @ @ ;Og?!E5{p{޷ )No٣i%:` b`?fq{L1I## !!'hc~φ321@ @ l)1e=]zw/kwQ,==f*j\H$@ (Q=; 3nCY=q#UGr&W+X^cȠHTo0oOsm-QBkmt\Q}ҽ~v3ƾי=t~7GYǾ|yΣ1ɚ9{=b{>~?h:u {Fc2ּ:Rk"}Ν PVsqcUtny ؊ht ]4o<|RRAʔǭMyӇ4 +Ši@\?',>hJl +{%P@Az 伇Nb?y٣ )doSduwWUQQ,ԾrS68B +*UGe 5R&tD^MJ^APfn U8&/nwVi^@_USr>uؿ",o% 7.'?jŃnC;`1'xx< -`[3<\ITrt+I!p;c*&p:y!C^S>1A='("ycL 1 6zJQB +\p +yRAqy982|t> 'I +% +<CC'O0\Sg#9K]sfV#*I"J`//+J95?`7H.+J(B%H"@ x!h oS4B>25y2'Ae^Rպ?v,n28@Ԥ8¾6]T@qn S"N0f6t RP *Nސa޵~<)$ƂLTrs\ +>;i:┈z5REk^4+PbD"yోPm/ Ԯ8)?=y@A )_񅑨u賉/\݌^y\;h+RҢ+ow'F 7b|hݝ}gU ),x8lJF~'3ЁEz'I`u`0E/i:YtN^Pwp ʎSLtT(SSQZM@ӉE*u\;'JJcl#*QYQa4*$&["Og a7D8vAhZBJEύ9za)u"8;BA,tMuTKl29i9uR+ZY@S:P4 1E/" 7*E?N!]l"&*, +SaOb恏c@\\83ոˉƒsQKgLI6hS'o &:_wU9ggkq){c;P\-B_Ob~0 7g..S +oh\ꦠ,4&P´*ukP0!7aJ1)r< ) +-q̈ӻVcH1]*`k"%9)g +/+9P;?T ]E2H)(Y"O{E[&aVF. +P;YJL>l1mTUl 'ՂMN<4+*&%,4ʱf5V}UqSNnĞ]]('N2U\JBl)Hg@>45j4 <<p> d-\k?91E|FQ>8QB1ns{{Zɘh*]gZ/p,Wϟd}uFƒvV@ @ l"wU<}`4*-6ԀispŐy^))ü]xk6v)=as.Gtd_b^41 SI! uj|TturJxhywa')3J{:IUDA^*H=GIMEnFߧkRÿ;(A5w،5[QWYAo4NTwgq нbIY<{CYإF!u lF@vM x*7{Eut|6JGC-<3g +ByZV@٩\DQ!1ap&@@#!ރvo%.'SWSb ]/sW& ϳmEhnrK%2W5j$Qꄮ(SBʆ2 p6 Nh mҟG~إ׌+vE'QBм՟ɕ! B8wwQOxaL#\B "K(s +yktu(*x5+LT*ԉ(F(!OAN7?BHQ*\)8 +%3yف>#4FNQqԑs;xrō32VȓJJ@(s-w@xC~V}jYptv/d)pCZF@ # 5AMT +@otYJGV\хWY[5{B `yiSS J5-[i")I JqYc㽨>t *p)vi+E&݃FyTp2*\Ni,SwNNY"VfӘJ.}:kSN =R'Iw)l>7M10Ix-}sgAR@]/M)9@~`؝=d'tRd(dT[(w(M^t%x~z:^U$ywJ{(1xNU.#kDov 2\#Ɣ3C)5Tp+J"L[Hz,= m86pcȉVxjr/'=hR*( +rIP`% sthYA2 x:[ET-,bDGGý 0$Sb + +$ +ᔕ7j^C:8ʴJ'#7%r!(.ǯ[TGEvp&U忄4Rb )~IgEw׈S]Ub;ψfhRީ"dbQ^S\QKqGqzk/K[/[=qPa +:R_{\mDnoˆ%=vn@3P{шX8 lTfݨPN.);;z?VF&pսo I4J) Ϋ-&tzqȅ\ZE7b#4! xtM7 p\{.ELvҚ#Y?/9XY" FM{D &uKq(1䏌6]RR+զٶH!Mbϩ"*4ܣё:hLi|a2{s +NB^eoeb҃6FF}~lrU~p +Y%ޔ6|*FS\.Ku:E`D˘*c{GΛI^Nx + u"B[cV~DHyaErJŎ iJຄc#SzɂU$'OgMD͈:Zڛ}ʝf릹vt]U2ՕrUFQɟ|~f {8צ]?m_x +p)KI`"PPHG.{z#k{uڤR_'c:́h15_{zt׍/C5e ZVRbLN +-S4a  3b9qwoi86Q{sr2(=7Q{YZx4g'4dFr[0Z91}ƣGa ۼ:%QSꈾ-P9֢ \{Xy]Wvd#Q +w\Vz7!SE3o;q" P~i*11}~-=-,I\Rt.Gc lF}Q~vV2>sS2bv<*=W3AjsSVN(#Q8VR5*Hpst;Sb]G\`!|zW^n}ӌ1T,MGb 9ZEt'~ Mkf( X/ڙðtˠrDVyQ{D20 e#K;s G>Wq?X_wfobQg*U +FsmkBthrcv-Kw +g65K4p|&Sy8zp챕:!_AѯP_]9ѝ3eyG3C1h.oU:*MVQ|˞A _H6Xc&^c*E7 i)e?T+k<]@Uh(hұT: QC PqL @g5ڑ(~I q'V0=8-[󌙟<29y]1^ ^B6HQsr4BVy8g9f + ԧY]aH4]5rК)K}L^G{𫧧 C`$ϑņ^+M0 Փ..p<Ժ8?TժwԨ44J[d<('_1:NC ŨJNgXބv=P"͔8+ sӇ2=tZmeDʿ>svfr9o2%BNqYXv_ÎP^EuXTWQʊ Ri,:ޛW=e%.EIF6}7uyKz[O_`S^*b)so')XQ0B`£I︅Y۵1wD0يRFR1P 7aN38eyQzRgQ +Q{aR:_xTKs=brpA)E{HGo=o"x(U6kްYwAY˳O( ^4xR(0Ւu]h +r4p J>邎iUNœx.87stD^={?-)cz kf8mNcQIvͬk]K\fQԍk|fsuwk5s!P|9_=s Ó?vE| 8z~gv0u(θރRDzKՊhus(JvW">EEEEWZxm 1]o} P :9p5eʹӡ=<מ]8g)5z`*ޟq+dR&:(== MH G's֑Tuurch1yJ۰Fu.f$p.7D; yܢ ')'ԑEuyK7onkzu QF}:X 668# ;8OQg+=M9D@~3Hha15TƿkC ; sn`<c=W,r7R`ns,FspsD!z6*<+ +Ƣ3p{n!㸞hcȄca7FuvMyP5fB=y5I$<Tw4Pc.7xAn(ȬCrl~)Q̲_ 0<JkD)N.,Y-k"Sdy6yt^ #c3Sƒt;)772o~D]f&C{n>(KtAzLvkf8'?)m ?Od=%wajMjn +yþ#{;ݯ9댡3ŗ 2 ;"2 >z'_0z~J qEc/Ql?K?~w U-3Y6IHKE\Oq:چ)p 7ezXöءr*UxgZl AQy^-꞉g{|uPoS˷VԬyQG;(0?iᏊqI +E# g&!Xh{v*7c rFm|˵}b úc1 G7#v(s5E>a4R>V?Қn^ Iz1IAf0͘&9]k k" +1"[[*SQ&LENPZ37}߮[B};dqaWJZD'A9y馁"T]9lDBqܼy>lL#<% [-#00_3=ZI<3;(ح9ʱ0LS'C| Nt{n-n̩YFe|X8ҭ>WO|֥ӿz 32rUiʼn !_MJJN.b܇DL \vec(\i|ң[{+#in sn~\xcO\^:{wUV +-y>eBm*dusؙ+Ƃ ~ZUηg^'Ncy;f'6{ltQPc+*)v$=q׫zO׬ 韾tk1rMO"$(WNV`BARqn\IXDE'C:jkcQ'D C=n{O>GE.7e>jMXqs<.(ZE^_1)*d[GaSb:߰:͇={$Y u [hMMWΞ +0%[^3AbDV?WyVsӉU'ԀVKֻS.4G>GGN̋ 'NYT-tN^xloS ?ʌ+!*NpvdW5Nv* Ǡc#Zt UBy{=.J;{$oN ?8X(Kp!4.Ƞ!^ץz>$V/@}̨ItɄ}he~N 0@蹄 +yY..>UPjrsm Rv405Xc}2Z{e-z"ӆp2UPqf0vm2*EK hqg`QvA엺okaO'0471qn + w0w30k/+Dݨwfe gq[%(]&&&? kw`[3W].TCޛ#y$|)୨ӂ5z?UԨǻf7BXsxЏ? +y:͹.XhN-ʝ%ix}#h/E4ܛ}'B+qMMvg3c!ؚ|Q7eml0ǿgdBrәr^k:)uʢ+ ȇ<_JfsnNٻڡ=WӗÏ0B=HivH묕OMϖJc)F4_s۾NhY}r(:<b CӕXbO;~lӴѰ2=IP뺦<5֙(|,\*ɻ YD+Hp uz24 $u>}SL \и1t^nyNeIso.E cr8u#ܟcѣpjۡ|X(S. ?v{3^O KХv# [\UANŜ 6=viOחn}3ez\>9mTQz] Vu#RtP+fhE I3ryũAN6hanӆ1LkJ<rXhb} +{v}.4i~o/XU9|DSːrÖ?瘀h΃w͝N{㑺A@eX!E$-/C|n>cҭ'ǎz\M53+l4?Lai_{MX/V^=3u95,߰_-UGzxIOeWCL~uw99|5+7dM_@uﮃSPS:PXEr-O + 6",+>H&["ː0(|5pn;At_2(9*5ĹQ~nѾ*׵7M +'Ί4Ny UJ%k + +td#K )wwG>_՗8r`"3ɋp*ÖsT93AvP^W0tc](J8R#bӸ'=;u\:_A +Qy"< +:!N<~>zN,OD@(? W%~v>+{+N}j0yzzQ|gtC̐]Ϸ旎|yj͹VY5V_@t׿_)@֩`{jw +!kUuOƫws0˪c. `҆S{!|Αg>XB[k +  F@JHBcY\`89hr&V!VgRP)5W FCSΣB*4M|ɠl#TO'Fn<@MKZ˿{K s^,urު`ho|#iwE2Tyi:b(Y" ،DҤu ֌ ؅`o0s3:jNwg74G`NcXyirBݕWS="=;{*D89zz&tJÓ?*Ax V? ҩ# RHN.ݺn{oVzf|$fM,tOc5٘?+}h!T9HVk?MWv׽M=v˿0BۉBHG*f|_L+v|*{&(alQz@% +d (\6Țs":묺J|V(!-!Kz04w7d4b&Ѭ\&4}e8TۻlK'\] +Isשɩ  X|O'>&C^kh⭽tx?*Cv#7z/ c5*hR'B|W#.(<s3vɟa<"GA.}O旎_y4)*r $t FWz} ˿+h_!1aT}cO[3~[*ѲŽX73 SgܾODU]i<Լ1u~<Չ.{Hoxߍކ_.Z7*֚햿S{9eHowG a&Mj޴fc]4Ji@gpq"B +B%+#p()^=l[\,\9u`Rginjq\uj\.Iz +<4a9 +K{ + +{t7v#v#Zˁ+ NXpQJahи;L?oA֟h(&vzlS@5ʒK7)bbպ;62Qaa,wqDMM E6}4ޅ\EsD*K[?{  +hxa^wxΉ?JmL[`c9xvᡃLQ$]^8qq)?򝙹S0NjUL,{.ZI/qu(Qȟ9* +}4QebCw_NDT]?jGi34Aϙ~rc|)gB]_-pddz&h);oixS XehaaUl c{ol$p +7^h:rf]*`~[L%c}˷]/! 俖J4vrF6h⣅Џ#rm# BX+7YT(0ͪKU . %Ck$U5]Qh)\ jh$˲tcaY\0& 8&E "7Z*sS^>~P +x0SO_4N}|wUCO, +!BH*ǜ9`K +Zή]/uG?4id+}_hG2 Yo!o<{c‰ئ܇i`qi<Ӳ&TP#QU"4_9}.=UϞG\zC2tӓ i%9g ڻ9MϞWEӺ7{jDHs.K +N]u[6]ø{s Nw:0kHQ +* YqRpBADPᤪoӭz5O;+ +eboy\T1LkC*D:BZ68s*Z\Oz?UbJTIa,@|bZ>a STtg4kv=T/ţnJ1k~7H7ui<0JtVyE(EQmiMQ ]kqR\`BYeA l56Վ +6L+Hȑ; 9dW33h+XN}ڮ-POTx z.Ѫ;47tԟJHkݟ{#u1"Y/J!0¦MiQ tX-|Lcnl1tk#`P@/[5Z]XW.ͦ%#Y dOE +Wj BPQz.R~FR4qߜ,A*<(,r,Mp輗+1!9n5mt`R3r8#QW%3!ou_s=0ӱkӝz@ƻKrCNZoG-씬.*OVRhukTH򇅗Z;os0ߨ=XyM#\9Iky־=fhCniH"Bv,POݮ!wJ +&C!5TmS HU41aO]Cn(+1,aj4ywoyw9ns'.lEICK (r9![|cȿPPL-#2 :"FHIu`nwT43 +k"_Ngl y2C38M̒Y3AA[M'D,#/6UTAQܨ>dCfy +6ue+zlra(7?F:?(}ϥjΟ&-[3ɿ?;Ď,\Clw)[ㅶ:p`Q\+0箼j]+Fd߰_wC:H>G6]g1\Rnu–HS&*C" +(: gt!E&̫=Je4~3O=A~J} )@0j$ЗPy@5\M'+?;gZg~}<œ ^^лf" |:LJ.[1`;ۨZN_7mA T X]&gTu5_Y|(.E6~bhb속gybEi@f(ep';ܛ;odž:ol)x_owXߴy 9s#俲.y'ݳFdV0CU`t7#שv qVyEݑ<-]Pi$˒[_>{]4n-2CyrJs-PiOhZ&CEӌ]B7TtsU;A\)bwrXſ(N[3\lwq!>Nd:> +8AZ8Iܾ\/ &ULGM@SPd=.RNp)N +Kސ-䦰.6Yqcb7J +yHP5E +Y?J} ìQ|~4ҝqndwa_2Cӿ3Ugh*lKطr}zz5tSeōs뿕HF2>5lj;!q.M|c D/㞏/q?xw hCѵ*)8=Wpmȶ}jdg qb. Uj'"LV+KET140ՀEFQ(L\H%qrγ5 +5P: +xvaNm9VkV73p )BgX%U勹z1uФ1XЮ$P6nR 1ekPaa.?)RTXIONr (.m?FIX(A럛npnL]w(QYJq# m ]uV~-vf +6Лl6D}LE#^&[ig\uQ G6 znxs#I|gDv/[4a>+[3 nU_ lj}{cJ[??>Gߨہ8Nfm\3 flTMXR64W*8.)Q9!TLuZ'4|uU?x~!JmR]r{U_3#3]e6CJm]vEʭ#uOV77׬-To0@9Y!˨{В: P:up$BQ*/L7+*Bh^NR`+' +(a*sl-nJݕT|S +T)MW0' pнɜ"-(b?7sY+~0kőrMLQiK7cx]/'qVC$~,{˞f$w{]WL}`esͬ쾳:_:F0XaWîqͬ-NKQԟG˟ؐz]Ş0;z_V(0-_]X)7u9ʍU;|;.| LUy6ld.Wg +[Hwg|Z9?QS^*+l&/MkW6-GKHslTe +8s_E +s01DEUQaDo041j_^ =?փ oN]:+^gBe-b}+1|zj!뚣[/voVl4h?$fRYX553PfOX43K&۹fyQ< Uu9Z3WY +U(ŋ _Oc~Yi=TLHRY07u_V7C_֡~ih.2PSOUQ@ޡM&Onbt[Q wd1FF!)]/Jt#c37h)v jIc=tf qs7Q eU3WeTEΌ'923]B8hWn)9/9)G1+uxc!d8q] f_4-of 3p?VS\yr 8vs (->:v|mzjk9Wh"O/x>ʿƍǯM~6F:Qy9__K99yX ti)1潟"tM|@E8w8 orⸯS&N}tNkĕzl gaYA)"3ͱuO.,"nYqۤ$š;mͤ|@ +4k0q|ZkvaTQ՞xq6,_\4SWǎB_#i;`QMkWð.h. +( 6-EzYJMnwN}]/^7W W  + QB5F\NVȆVtӝ0J-[ `HWRRO!&>7,2]̀ТJqmh`IL + y b +P5xuRkim|kh^].&O/F:}pGg4cYD6(yHST@+n!bgA"gUоV +=Y<L]Y=3̋xyfh?SQ.%n%15XИ2jݵ{z bPYz5eo# JcI`=xJ=y0z%5fs2Sjzb?B9@VAn>dx(_Tܡt4xTA XhqMVxQ&%w0 ~ZQ+=ܜX~f'uIZ^؀nS$ +PNT9RZkPԗ}W*2Lp|9h Agw #0|U#K(>woU!˺T޽;Wu307͖;6 K8qWw1S  v[+qbhzs`˵W]; u7)W<0;W<|sp,:+f59|wI_Zؿ½9KeIFPUxۊӠ¯@qc7'5_#IC(ٜߥj;'GO̍}U 8yc '`@7NxiZƍݫqcغysN$m# TWۭg +ZDSVCS$cE?\.!+Ţ #Gd,;T<@-XQؒ0q_P&sCB "+Ufͤ{VL`d ŋ1RdP+ ߻_3SsLxRxW5NRfZ~OUq*01vk7 \], okl!, +ALQNq'uD{@QC3;z]+?GL[t۬Ђ+A]RKPڮzqvc )Aתy~<mߏq@r&,(.0liM<@vqDO}ʶuˢ3\^Uð?dif>jMիߜTjvQ|&?v(sWXqX+ |+Xn pMjb/>-J;{W4gR_oW0"mi$YE ZojffE$c&\^d(BOL$v&} JN.q.){O9;bnx[D1H@ŹsҀ@pmcv +0 +Qr{UOLZ}Ugt/w7 `(TqraW,ݡ6ٖWW1+Y=N3HyV0.^/J`ԿKE8Klp+Xª+2Gojf@:ύڹHf-t<ɭ@+gUU|f= h\𿮆ffέ>y-k0nfF[JuPgx]dHؿs'jit?R㩸fJ(~aZ3>} !Cv }_yE7dK:+CD<htccs_daYC^Po-]S83URł5k9sK*_n@xS_{c.=5ܱf2· s^J‚^\"XНW5"p㿌tsME;. `\iSE{Օ{_^łx%v~UoY|ހVCi(5)$g6 (na&'`B‡řVGBXZnpp𿘵 Ɨ†,2ÒΜh,Y.jv|y%HaNXRO{<>k-limEIV^DzhjH-s]+>Uc޵ZrW):…>$K̈́8\ihb6A ++ j򌫞l;JBUvikUG:z_˹wqlVx]);-ã$g4 %H-b氇Џ;߸_W?>'M69 @M0hI9P;t{ BxCXi=?ğv_lru2==J TT=Ϩ2 +KѮ:|d1Q&\zuW=@FC[Ț|MһV6H̲?#7el 0cq>֍tlp?[WkPG_GD:Vgnٯ.L>*P^ zqqֻۿk0/eGJuܸY7 YOUEre_ύP4z[ RUdo|˜҅8$H;ǘ[ͅwt݉{xRd:(\39K^f7'Uʉ+Gk /d\rt%352}$&>lة|.A1XjθyL(zC6]( )>F˄g.k>/s\N|nv `A + zaq]jtOAS_I +ziJ5ʗ߹}o\{SiZ #?Bx/?Q3ů8̋ V7^XUAD "Kӂ߿wfV1)xFcaL4FIL\}~R\ =Pҵ7XKC%$m+f?E9m۸W-f]QI +vyI[!<[c E;a_Z&(i_p5};0̷/o g?R_/7'rO +OolrujX 3]W(WG;v >Iib6m̯NgIJzэ]qD\*bT5 E- HxZB`4U -;Nl8D'ϖEv;OdkJC@5槵8CUV#!ɃwkmΣ/n|12L̲S(-ămIk㯺 ! ȸsB.9 l6c^F\V#?Tˁ4Q +$~O+ݪ+*$72AjzTN:+E7Anwa;*Z`kb%<8Z!'Gpvd[,ް=1[My޺TunjP?߬`ڿP4R׾ w?plJ93p |K5|obW e r^X\_öWWEWhi6±cҀD<;Os3|߱|a2.ow=LRܟX!\[E Ӏ;HJs:VU',I6:Ak\B"))$i'y/4S O00$ƕ=9 s"k6") +$T*h\%(% lNǦN+}4fw/=]ҕD_%ng2pze˹;[c9}qUSO_g%:ڟ]D0łWA{?nX9@Yh/rb~CMGdo߇7`?Q9X?23Edǹ)jﴹ&8ԬeZ]b^ !x&=!aA$,hXWg&o]Qð5wR'WUF_cUQehZpO_;/_ߗiq:HZh7!U0`EQ҃H׍`noUBg\/z͕nxH'׹+7(c gmj+4;QZIlg9nNŃ%ÿ,\i/ MJ:8}^T}?VFLtee:mVh;\C D)XY^J P + ۿ p Is&U~%<ǟwt 梺ؿWSۓ*FR_2QzCFױjlgpL'1kApb&CFwo]qe_w{.5Ux#;Qv),wM2o޾ʥ}+ً e)A7p9wE[ ? |TgOvo?tY>dy3?3PXxXف_p-jbVi[8ªRRW[D1chZ?q^"eV&ş*2Ϫ>XTP, bJ0e~C+s'TbJO}e钆J{5 +cDBE\Rsj]Y?s#ےm"a"Eke#*y"sSL ʵcʸ&#I:f1VN?TUt;pf(E[HrD@Pb(b8=:( >A(VF`F['uF]&[{PV[ce(e۹)MՊϺrcM02C(JQ-NuoTnqA%-wj3?F[k\^wNlA&4>W7VÏS{)ebյ6vO?9{*Aچx;UlUd‰ I;08ȤxxÊ: +U9'b7@sjULnmZ[**k -x֘kmBXw ."j_qdVNk ł#B6W#3mƃ ;*/HB?b0^s?%)ШS;2#5핊k 7l6,zNz8O!tVP'YVdO?>𚉛jx[Ud #Y$;ڿa2F qʁ\j~tC۪ʯDXF 0rN?-&㿗'ٱ^ 7|lTwDL ?2s61Cv9pCT\b9c0G>+cȨzA&FY+9A"!z)FvhUԚŖN W ˄mzD.ɃXqR`4jR @4 YN.{ ~"judlO ⻧/m߶ʥoO` d(L΄}e튿kKU i&_Q&n:M8[fT&(`˘QO2g @JmN 31hS.f +80#0h&+գ-ץ+AoFnI5B1}b,VA˗=qd?T~? 7ۻ$I-q+=׬QӔ8-F`z^.K۶){_2{|,+v4bnN?VVb kho~|$04;{Qr~=ݎ^&#~{Nfom)d7TeCMGBFc`y6gsG=?5a5od犷孷s:-_̺vK…_hf ҇ȝv痎ܳڿ;BAp_2gLĂ^X,o~CmcĿϦ +iڞU#ۻbfjB_e'4#J$e> pꃄbO8I]р-}nnJD6if! Y7daCT&*Q +lAqEa%{A,6<(F쟍#(S°⊫$aҺz,X3QĦt\AQn1L",adu.ph&j>U ꐼ9L1Em/On APd( bh;k vMmU iXzx!ث8lŜۿ{ypϓ`G5Aj Y]k3τT4t]ɘ7BBmٺ:IK`Rx0[;?:E?ɬω)M{l)#XWK"C3=˗UGw r_%q9U;+urZV٩g2˙SK/㹯ZǶiE0FuiaH݀j~o7u7S=@qc[ F#LkT)6 +|E=<D;Vk="qLݦ5d@OT.@hZAtl9H +|ң1FuzX@a +h11NH:tuX@χ.]ӁF7rK׻oM3^fAT{B .vI@ʲ:;Fe9 9!(r+WR]پK2G|&>Udn}efTD𳟰H!? EԒUcv>p4g^wj9f>*$"-ZLTp Ԩ!-.2u;HiF<#9+U%aJ dIv\!'VxGCR̊B4{C%ʦ:jDo,W?tHs^tu˔m+"pDz?cz>AgAϤ2Z$ =|T|_NͻǧCLZVCٿC'&,7?|pV *$.ڦ{4j*|f:;V=$\2Tew]8|zm_=*~|2#-?9U/^߾^8O=dlI@c6*PÏjZ*wNY+]\5qxϰ;r}ouMפ@XCbez<ȂJOZ @n<0Li ޢY|3j;qEq\J.cE}1ԕ'nk,[45ϴ{ӓU6N?;l$xh +[igVMaS'?{3kCmTͲvzߖIUq jWvk^_SMkPwEl }^ {A(a-u4QW]K^&/?gVKA"Ъu# D`'zylciɂs?Ώ^CaA&[жhe g}G_~9 +Y{j{w6vno7ű8??_h[})>'Z]ݵd_'_Y ^S!=8 6R}X-i4јyw#Z +cFX8Sq>«bM~m +8L(,l91-!.|w*0pY>(+{[Üq$cJvQW,_4 F'(c֢?[+φHil[{ׄJb/WNb#k~PEV Kn&Dę\cq"]uLB+#m)ö::y0Q-g=S 8}VE_ɝpmY/:ؿn9rG$F4(f^1gQ ԦADtY5.WNG :fjAPʐZp,%sٸYrAU L_NJaܙ!|nYvnڳ| .l-Tl[A&l8T 4?Gu㰌ub%VY4$ *XD_A9~ݑ}RTGBhDk fU*#IesWc2*ڨi2bS-`L9ծ?YmMF`ya @Ў8׾5p*פ:@EZkPNM'aA~nT}o?)&g5+[ܵ[^N|ϟ5:# kOMfÏgd0ʗny}{ǦsYܥx8|A0; N/NCRhOk:B W4ÀEe?p:W0)q g-iib8ظ(=N0suډX4daۃ3>YOQʨAYI;lfGXQ!\J m*xBr 89R":QX)#Xnuh/8[|4w2y@ +P\6%qZ/+ S' fרJw3 Itlr+Bġ8i} q: >MY2L|_*vߺ3^k ^ϳqM=_D?xzk +s]3b3MbyUJVYҔ"b cer:mגx0t+NlVkF#1Abÿ?N?VxmMolk;E hgK17gᰰ +:ؿa>mN1V2?[Y6Sp/~FE{A/scGC5,+VNeh^RR6oTa.Hj .ȵ2 +m[DD#k|`(DFW"c5#kN,8[%Ǧ=ܪhU4V\[Vg@Sw,}uΚ-&""79`z HS&bJ7)YN?/,71Ƞ b^2 71 *ћ>ЖAМ$Ql} l8Yѡ7(MÕTc2s.e쇔dZ ٿfya'ŃbէZvWu~p5wqz֬tSPyhE:C |G0uu:opϥl1uO4g\JKR/=(VjEщ|bېg& 3(HCVzf[پ[KK΋Bs?;)K˛υ&Hv4>2mWiSybGgÃxu^NO=*%QݿhvƓt(,"tpԉq  +ҮQf.ʌ00"Ƶ<9?0$ ^q%JBC]t)D1 +A7'JV8I7Qաũ&J28Yz -$cx[abU9-ⱅMMcFNW- :I R+)0 +[.77폽Fy55y4md =ϴn=tUsakN*+ng otD]g7Kda0hO!Hkw:0tqH n2eU.=\ckvPg&e? h^#دpÀUE󐰆qfm_9zt%XCeWC{\N{$@I;Y\v xu!FΞ}z%wlqS{0gӨkjO=<g 4d @t~Pa7:DH$8# fu6'Mm0U5N`sKhH`f 8C,~JG@A"*hʈ٧$^/Tsb+:m}F:`$XZc3h l5oF_.iaYzhQC<>KE;U +=zS*5dO;d0 RIKAF)S2Qk'fup ߟer袭C@lT$W%PŪ၄ZAZUHK3acu>_En)7 itt`|U{l ޱ_N 9#fF -u?2' +&)~GtpRc7E&cio=įM hsI}U\wMR#vog^ x{6s%sMχD V' 0BуXAx,a׬ X/!pQ$lRXlo+yL2h6̣iD)pB! I+<#m'5i:b<9{5 $Kц#C~7MfWIUԡ,6Uga;y 1(e\#:I oc22LH~es.w"zϺ^1F?.CK}ELN+x`}Y451%W1 +;ƇęFfsܾQ}sVœt$w+2*  D+mh-xn+|;X=Tᱩ1#ٴ+~3%;lIJaoGwFoL-?^A6:/S{SW6VTpoHM[ibBDJW!Ӄ-)Eq%sdBREB2b%j}8p6'۾V#ec⍽͍]Djiu:mpSON./^7?i3MV0"Ш +2B̺21oML<|/;'uiWE,^70<]GXѠ\E1^CJ4'E$mZv?mg J =NC#5"OP+ψ>sa̬@̜į{JI@@$?5^4ifHb8f43$Gj$'|vÈ?Z7ו# /0~~%|=_%?Bj"-ko:4{)ŧ.l!8q?%N^ ߗ.ba/}P߄0L#\ri\?th8Aj(J^ 0]-6g6ɖ#ѦsCDV$+A+̄O&}bz,/`=f Ɉ"ۀ#D,,B.Z[BWE*|T3zA&Q@TlzT%i7㶜b?f*,BEi% +;@1v)4%erX*0"ٔ?o#Rt?&$ vv,֧Fl6um7TGbrEofU~7' +^dz52_BϦ-)-%*ONA9ؠgOsV]7 .0"Ǫb뾥edӕڀvrLQ-̼$?59<4d@P>]̸, C6l7VW`'/b㹗]Ͳu?(WaDuw?!~X_8>x>C gSF"Ty~ەga6]PIja;))Zq&6ٿm3ht0^V?3q՜ *%H2G3{6i`\zPo5'p-1jerb;6S!MO@EkI +@p- ҃CSx<;^:pR!)|jz.9[62c3 [?U ;ZRI&N!vu?Vt#."IR}ӏdOrCժ=wCؿ؍F5>';.l}k߯?63!Ÿ3>ŏ_#1V5d-gd룉#mGZlaJt}/p2:'g헃vԠfKDA+@ As*Fg c,n e$bG.*8\}HV#6'y%EMᴨ:bE>wi L#< tL_ћ$PTCǤJ.z\'OH4bqP xdjR(L TH$5k28`!1|Є٬+~?./q~!Y٢ll,L&ht'INvT'?96<op7.IU|>?yoFDz^ϔk"5QCŨ0YWji$j#|f'XVlD@r8!&3SZ6% О{tjju8:x(\yUz7by[7k=l;9]<1!^d +¢a~X*( h=O|z*/"gien7ɱIg}LYʸM/VVVN-[ELÿ{,umY\3!Xm7G*9GP>l\^,m +0{U}1 X@N@P +?wf&ĽWuqU7lÈ2Kl' +"Fk0n|Ww)5*Nb{1|H1~*ϕs8Ap.b.aM>SiϺ-mQ=1 @)4\( ƨjش?xyT*_GMĊIWd\ְi6UvLkǤ)eh5 +1J~Eq ɸ.9> u(e5!a%z/`Q `14Hkg*ՙ/egҖD4^#qd"KtD@4pk?C7ψ^\;VJhLlh&MUP:߾q//D9bXRR(DBW` +0,ۨr >fDj}Mc ڟ(شG(1PDvl2%try R5N~%n#GzGWBigǪPgXnDJT +jOsz8z/?}ڟ[D1g.2﫪F?|˼腕!g%bf^xU,p8g1s'#_ݯgnWuN/:OFטjs?7lk]287?xiG[87g[k;g*~ꖘ;57Ғ皜Ǚ a#De_K +JdRm;HշKgO_ X]Bcn*c(l63~Prl\04sPH'Z >^Fg$;z(-=hj&2_00P|yA~xi,| +h0[8Nab-Wb|XPnJhilGJ5^~Eļº`iBv'۟0~Î܊Cs cW6n_̧ݱ0$c\i@&a(bk^:Ym$;&,3ʿRFF99}ؿ*Ө_xxcgs?a,%Wn}'<9& >x)L1_=sbH,xU;*ڔ0 a/4L5fYdoC`&[lbPIrb've46k?v_xW<8*tж3'毤& _JFq< mNm[k;MlgӫBV ŗ21%H:ZF)o-3-\w_) f1N-_+(ipeyF?_,!. +K@Y[g3Co Tڃ֞kBnh\wL^F!><:i?oʸm0I-bLrɥOod=0Pw* +fkhgsOL^|BG栟%iFLkqGapN_a,|VAJ##)-su*ˆ6PqH y$-Xс+[/۩_ˤ?eNSwսL|J9xo/3pE+;^vkueh,Q􀲲M~>!nUDzj +x&K[N m#!'Wm͝ų^Ez9;?J߿Y$ff&·tѨLw5Ju[kOLoXV]M: +}e-et!^'$U=@z%ƲF\@?䊟\۾z#] Evbva3It<)Hn5(pAeʀٓ4.08Nٿr*6niWP$<_|tT|>KdL 8%v"~GKt|[J*X~t$ePA!/ձ)O^XޫLg抯ۙ%UNtUjWՕёA686~f;'g~H1 n0 hxGp aȰ"t2°{ln՝Gl@%$RN6bU>%+/Ztww狮8Ϯl~Џ.XpԝdiȆmD65A=,;na+\tu^7q:P]@Gu`cfp=?5~{_4^odtbf;$bP+˛7Cڧ- +Rhsؒ-5DFq++b$e-7_"~F4T3RÊr_mĵ?O?'rWrwxr g@"^}ƄSnsٹ'lNJ@ lےSȮܳbQRtI I0GZ' 9Z*[=.*N& 멉%Z3'Æ0H#da EB?Y o/|tS<`BLXX+$t@+TS/=ru̿ΉV6Tx +#aHNݒe+^sC}|Z|d2~2)Ǻ;_ u5JA=[Z `6Bq {P'e-B*6ip _74%WOiPOOag$xm6I NGcbIc<%:avC'3+'>&;#/׏Ofmk7so[1^'v5JWmqw*`Gj}ٿ9i!fne&sWn0fg~R|z2/޻U/LD݉U˱wz$ÌmWruS.f>=UuA34:9]dit+RFo\F {og28 5wK-ke^oOnŻTxYXM-bok˙LSA]u7c p5~m.=QN;ơtG2  +XBZFEXbq + u)i7|;Uo +0= t٨^ S[q9eNvqps(>_I3ᅰ0ܘZ)ycXq\.: h&K.Wʥ31KÀN5tBC[&!Ju{@bMm?I" 2;]0ҜbS* 8/b% nR"jE̼+XQe8H>$l +}b~耩l|.ĵBmS:rB3vę]ўkX'f"K}vq #\QQ0&6/>~OVf^Lu +4wS}aIfān|w;Ce}7a*ZEQ:;_+,^i&}AY6 |>5_d+YeuJ]zW6(IHpXQ0YԀ߻#寸c >!C;g F#?gp<5.oiEZN^QAWalZf 4fY-\;eOv3:N +_š|z!<ӖSű_Y)lo@V TsWٝRDSႴ39Z0%hbq1^c8D0ND5 (X4gS<O=&> "hB+§VHoSqvYYlc4/9H+VZ0q:S7!HV$BL6l5h{et gm3PD;T Bm,E<Ӭ +bC?TËt@ +3'< C, ݙǀa8ܓ{|V bN$7怙,wxl7-goLaOԃDB$XI pwoW`k?JIVb1ۿ,Gn!Ȇ"Y>W]Ki4MA_:9fF5#tը 5Gvÿ2lUldf<{r$Vrl#c5tK2bVɽgcwxc'Q@Ry>r xu,b'ZBguY?E% q ,B!~.98lmg./V `Ƌ@S8Lqs{G%IH9,ƕU⢠mm`@5>2d-=3Յ/ME pwy$QiHE@J1y:1\ lpIz_NDHEa +m HBIj仯/|o?'7Nb"j€uxAGZHFvJN3 G2}dZ|P ߘ6б_ĶVC|q\|~"l<3$XTၘUMJ8{FOQWb51o _N zXSy3g { 'aVurrP|!Y"ZJ(Z1΃c`UZ(%Mcna<.X暡*D11#_jikl;CI')Tl;6ZzZRvesefhlAF_z?'ɑA׍vfKKvӛYj"l`+#KJC8s+=g:4`%ڽXbBڎhti +]OΤv7GKtd5L؟~c1.UwM/-pe/>ukd _tkx/7Du}Q|AVߤ D%?6ʄEb t\8%v$zm5\\.Q96gm'-(l1axAT,;HE)"̦(WR'V<+ZLJOLJ|2<3Biq;QtQ[X,}V%ed̬hJvakT=?&OPO&O8[$ 󚟗5Vz/oל|%cT ;M"Sc޷QjiJHn5CR~$ጪRٟ?_r ɴrFڿwals\NOO7E^sHMf?~ySbhe+WAhv?U.:<9.qAcF@C!fL$)4r\v=VvA 4C4KuYWcEEݤ0LϻJXH'Ń/RBY.,l1O1 1m kM%&}(b8=Pxg;ڊ)bqQ5,0fß " ڌsq֛o/)wOgw&K<633J@-ýwVP$ J{ûUשhksZOJJ?μ> ,0 +*&I"ǀcaE[IQؑ Fk17m6.^9Kj~Ma2/%ݼJ lQ;̚C2cbw4b:vnQ +oB.`H4 vxw/w(jf*]UXf$}o~ﮌ8K|;#rNsmQ "0?YvYH|P˟btG^_<gk'΃No֔1'--e:#V3b5ϗnPESTVMvleApKHרǃ`u30FT7 tu(LU!Ẁ[ȆYEr8?Ir< th=4$P@oJa5 4v_.P NS_g#r!qt}])Ϩ Ug}¼Xnb,E,-f r@N_@tP#EVtşUܔjYaF;|>bݪh\}n{ݕz5D̩d\ |o57%i9wK=?4d~$q: ?:о _?-Hʁ ޾Q]%Ф@<q^!c&b +=]@a5kj[Lttm+_{?]l]|g'7Mos|0"/_ޙNqaw=F }mȐ8nd>Za*ANЮEݐSXڇۅJ`6J밠=}q~۞k |BCu0) +޿%i p3*F[_>h7O{R&k"xh7QSSG\ۻ/ίQkB0BbHNTJ˶)Y+Cg .L(̖oCٷ֏t˻oWydh?_>yAmuq`Oy{w]MeAEY7O-)X,'IZҹw7^W0XќioIY5ށpfAaPM&w#;([&)((A~u_Fpkoͅ+8l^ e6m9Zz(1E07hA-'҈a--mKm~j×?; \car3x1qA /.\)SDhkAy2B iOq 'ȁ+9lTx*Z"ei=Swﮗ˴D ח M(Bب2>ATȡ!Iǿ-,M| ew7Tc}7t*;0ϸzoIw<ޡEVs&g+ԟrFnVL%Ut@i+T]*, ݳQDaqL 4FeӾ,>E,m?G!m$TȘ)rP|:/o :*B>d Jʕ#4nt "Ҟ^6>ZLQ9ٸk~3 ?s~QrLrXJv[4w'ŹSDy}H1Aw+wMOh!;YT;"y,.@Jj3{c7%x=:"qPېkE{BI|7{PWuU*ЙdW;.owO-uog 6]/ 9gUqOTkJeU3*W. ~Dƕ:;~#Z&Vh'qi;$ԗO]wb;b^֞7!YZd Hڲhtzh 4^(eamy24 YxP /3-(`JX[Ц{ﹰp}-'!ƁQGʒq*pX:79U{?I}phf2,{"16uyWTIi MNOҡ{>Sޞ v~Zz@0d-e7ioOl7+e(m>'+=#۴9E]Hd;y*7zذc)ΡZ/ dܜ:Ʈږ԰Hn90?}~7\ݽeHyNI16I'i‚:ܪ|y݁Z c+{Cmwdmw',b TZT?uW|O!VS [t =\cN*q_ (AePX6,-.Y ԥ*Xk<-h⋏NH~l[|nAO_w+q[=u>vFxC9) Ui$ke2Z0N ub}Lmϕ%R|howFy|VSgذoߌ,nTSsOM;[uY8?'d3/~s +dx6RQ8 +Ece=sou|Q &¤9|ﷻOr OYEׯ^TpoM94ϙ 2uO,>몐kΪ?sĸSV7_' ` + L@U;/N\RsDd;ȫcrOQ <)_;Ps8F'#2KxȭGXPK1o?y 0<*ԓ7(dptoA[[˯SpNȕSCUEgذW]Aq_c6Y[ 1ː| +2Z*Y]HAToOB1< JO۟SO${37U W JcoצpnI>悀/_.#gLZpF68RE%j}Ó@smȪ/{_3 Y9t7j/>3LUXOJcrTFk5A óM|G`]d+tqL߹/BО参$!~ߏqe@ڍ7Z/uy~)Uו?`UL_i.?ҽu7FMxF ;T*ۨRM=pvCڥw}>ㆧA;ܭ hF! "bjGRkl7,Vh (r4YQ\74C'ȗ{:"|Bn.g|/ +ǐxiT L~ޙhpev,=>ߘ l]yP:u9{|NZ>CQR\]Dk| >ZO]ZRs|Y{_Vҕu?j XZ'߷֟}awX';l\;)Lg*A@Z$ZW+_SͭSz9Z^=/iL=B9nOpeFѺv>O1& HQ>#!%6 ڴXѶm/~pq)E9XY^sL) . on#:˔Y޲y9 -|ҏ\ϯ( Bq )&I]`>4T ɑ;Ɓ=KӵNDܶo\`] z>7OfZcO|ޭ^A4/p z3İvנ6EV eb@Wևu5yX$:ۖa}%5ϙ Jۣ^Brb&%|swva~<~e/}Q}L!W&O=G˽.J@sO"BgPZnm7d WԯӅf̴+2MKK?{a9/?TEiWUq(CU&:g [;8S'l[}cFo9 $iI}ȴjj2aߌrŞ厺+`|͙S3}ߏr?Ǝg}.&G.ps'VYߚ]ߺ܇ ?o~Ζ?> ޺% +dOϟ_}7Wgs=d:A3HԱ]Z~߿_|sWM},z;~w|KwHE'XlSCmG\eNgb!4!O%:q˥inϭ"6#}خy-TG?$ktފ] ͸l{kx &vט6T95w;~3l ?f: tQb>-n ܪ5\-[jZO/aֽw=Ƌ_(U%JZl #G- F[3Q3sq*IRoϭc]>>uiW7os5 3㉶7k'V#W9*=s<?+|(+s>wF@O./Fn};#S/N)9=] vs>h V}Y?[N?+"!3wb0!jAJ٠,_qڒ[6W}aWmu2vf!wdi M~P4˗6xӼ^MX=m{35pL{6jgx2\,+8e: +~M vg7ҫw|ύ`Bmw[iDfrH_Դ y57c˯mNms?Nv^yU(ZT4pŕZOLVоo}inx +OOsT̵*=94W>Kq\{>➿EwtyO]x?եP 8Xۓf^hk7:YY髃:N>r*s҄9-%oR?yCھ=os.zjyZCBm,Hŋ<7wI-Z7~ą/u7w?փ+RL*:UZ_$W.g@xЯ@ N5kʃ9}:4?O<DΝ EjşnN֦+315o-c}xuF꘻uGj::;m[˥o[y% YU?޹lkV|8;w~l{h|nu _'Vr%X̨B8 +,Ņ).-vSːÍ|mnOݵTZخ[![XknQMj{w#-}ɛ-7ΡO9pMlPM~'Y{R?n3 +ykN OG(&T3(rfr󮽻۳h_zfu&`.uq.f̒N>P%jB1E<4.FpC +ЩxZ-%:}Kuɒ'`"tjB?u;Ml)@Zꔒ[Rr;dֱ}* ʻv@ V7.}WVL:pyn*yGg&+(Q13vU~;o1iPz)>[\uP>{o{NL6X@s['Ϭuۨ (k{%?-=rz2|nm>5Z(_ՎLĀL AP`Ln.G B,@:ͦ۔X2Sh~ әFcXxS蛲O?IU>qj}Q~Ta Pp .uw;4|;_Nn%nuYu<5wu QKfIoVٯeEU3W}sKݒP,Vox13Ng5&v玵hvlm7-tDoX+q +õRItTQ<ٜWQ3ػTKsaeTχDɺ9ӏ7|~WZ7? (I%݂nJwg_Ij&l]㵫EPr>\ywѥC''V#It֔?xx<@DHz nY,+[ɠ%0PQ*fu J@SWAYOꐵs"ܘ+a*HK9ȁYcIԊ`R#K,j%kQsX#ndqɅ vUQ)}F75Q *HYi+Oկk\Z&Of&%T"ҥF `)B(Ym'?gƍI.?.ʘI7s,]olq% Wmr&Y 6 +kU^opLM3A@ZG$Ju,2jn\*%}IFU  Lz j_ZM;^i)SŽni 0n {y! $C'ΰ5^u8c0r\H_E rCoNw~F#ThDkg9 ?0( +tog6r`;K5}&٭aiJ*2@[ ȪT2$Yi+/lQm䑕'Ex' aFq>[Tț|qϭ-xtSI}ŒaݍPW&䳨⟤2k%lOZ$xEY}+.?y%K;?ez?٭̗IO3oָ֜mTtYRpכjR|V ܮƍ*{KAڄ]f4*)h&7Q)46pIo}LJsjpg9 OA,3h~t9V@ʤ 5ي .no;E&e>L2~ZƮ#.H14ݷ, \=v=D{eS +^AF`( ?$_2ZCDdE[p?|>  AP&JyȆXqmȁ:wQ2 [A!Rg3̷a.,Fk!X= f.|+ҥEBFGTyކTI>M'pW-nO;kgt$p`T!BPERݡ +K㾺+T>UkaaVM=9smWwzoyvߨ/3gF}V +L$`5ɣYSN68zi-RfEsV#N悁Д#`d*gr3ﷆ8tx!UFo (-@&-]8[?a,jDXTlQus"0go8tCj +T'Ѓpx[:j}0u/;afJKx mCK'}3)`Q[opa牛6/PvReVm2SO WXؚogH]c U_cZ03a>E 嵜=eJ- FS!HlLQ e {M\on88@ JqP\N~5 +pAd}kx닆SԞ'Z{! Cp `(*!d˜HEpgpI7so0 j-RB*ΘbŤo o2INνp*m}s7EwN}Xn-wr w;1[/ +8QYICUtm^Bi)}VȗH*jf;ТAqȽٷj7()reT+ -jQ}?>v3/i;S]鰔b[,N)wkIJHZcG#98b;Qe$|O0ܖvA`갽X'p^ڐX e]\L ǂ]Kt s!!q_'ԍ3~Cݷ!׬cU +jSvgK`$bbbbbbb@d }KsI ['ЁD&16*bU|IEkeO?}5cWE<-S[΁fGX9D6IBjUI˜ +d e%u냼=6I^Xs:RAsRRفUqyJrOQ0-?Job+oBuҁsF v-B@ +o=_ ]2ۘ#USX%W/&&&&&&]>(SswS[q `2@l#e#)\؀l,P6&.uehh?};0|\Zk{=v %`&`:.qt$dU| CFu`=dw{kO1CbOGP +N7:z 5.!:NąZ=g]Xŗ~{j8NYkW5O,h +sob9fo@aTͼv0tTD睂M?^-)+ApW_LLLLLLlrn:` @0#*JAg1I` 2A̻xhQMZ~#e޿_b!8};7遧gZtMDvlAΘqyWY.S1Ќ9ԁjoRnw*rGh4aȠ(/M[Crx .Sc,aPv +pQqkޏY[/ +TKM@BM IS+(3)  `^k)G: 1_> ɠBQ$_LLLLLLl;d@REՏ#=sE6U3=Cr+pK#R6*TQe 7{vǬ;ýi{9Bl`fVDkPG-b1?+z |'r}ʎ,r9KLj6M`S9BLkӪl/RY8bN8GRAl\2s'~%Ǩ<Շ|@)t6QRBҤ_pmA~ w3v WRN}S^VTu|&_111111mdmK g- %2PjIG3)u5p^g* +tUJ</ŵ،f㑶!RYҁM%sr4/B |s.^, 9˩ձu@ !Vh@ę̲"%i(5'v +4ZgY0#-2|)XO=xgQ!7(rA8{`>2EY5X +r/*#(g"%}׾6\-uJ'_LLLLLLl;(@|FC)0/qMQ,y?[8^Bӽ6.wULUD}?1-&=ljl0l3{mT + +vw +(#̔BQ(@F>"ck 7\|Tj-ri@~"*Ϋ0TY",ԧI~1cfԔJD|m]rMŐBвǬ8JB9;5~E}рjOp/n4Ms&hKsXgs|] $OQȊ'_LLLLLLl;THHqG^ +cX*1uXHxiUŹS}FjUO bFYLj-T`U?N@vѽW齻ՋXa7tͶ0{:, #"BUb|V  98 = +P)B+ܱn&pIi/S%z7W} txܚ]oA'}'gڴfyM^A:P@5XGS']P7 +N,Ou8K' Ra;-?:t2(KO'_LLLLLLl;v0[E=r ` ͳDQTQ1BaӇ.Z{g`ٙ!Pp Ōyf Q }F@AROX:c!*sΙ_Q~@n{\jӰQ + +Pz4jg\Y0,!p[{:%yGTiTĉ +|pT3]+Omo;A}fg|N- Xv~e\Ks^ԘAzQ~D=Hh do111111m Pz3.p,it!s}2Q( `KՁu@} Ko޶ i^pT +0 +9);4(yXh ONEϻ$( .q1jt}0  m1[x5@0cJoa5d=uSVg SYrDs):WTjR{GZk#Q3%2Ӝ˿Oz\@xLX%111111knee3@qu\hAoT,𻸞/Hˀ,59a<3ZFzYvELʒ<Fi~n :_͢,wd <5訖<{Zo+R]%@/SQ1_ +0R#dDp=+dmz'%*KwEƤb|ԭ"S|7ZVF JVkk M,g o 67(-111111PrxĨsj:!Jc):ᨗBO*ϙl89nr"S#Y]|1KEp̒!KfQEm035I5@ME>(Rn9_g@ݷ_Z?sY`IM;fMDJ@@0T%`G-fru%~"ZDI3nc|{[x_AS4 zw^lUueQf%bp-]܊7𿘘vP5SAmR?\\{KSuN%BS>"E Q!.8pfR1uF`I紌 aӢa[PЉeS( 9Zk{"-9$Ci8@ fp6[LŘC&I ŭ`(=6nk&o"hE IŗXP;L;25$ +7H3P6=p;I @=x]S{_?bbbbbbbA]܉kjbP5D! h_o҅M'>lghdMt#,nWITkxbH3!7C2 B3k0K梹)* a斨u@KCUۻc]Q +@EL9#]qCDs30=ǢQNBcq:fĵfIk+HO2_}SSXLqv:2qL*Up!`OOo111111P$eJ"cࢍJ$ e ;( o9autEBK73\0Iŝ)nIQtswNl QKH>9PJѨB)A"?R "5;LvI d?36y:T΍(3 MbgYKD/$#uynQ󯃤Ko(i7)_va]sKw;ڈ'_LLLLLLlwHټ( 贏:Wq#?J!+Q:h7@ArCV170øGU*x".uHgVD]52.*R KGzyB*{]:^twxvrMuH }@3rڌC^+VyF~ys!rȶfV(xDSTN1|cQ3؉_bbbbbbbQHx"!\]T9pL\n,4x(fJK$\T7$Ii4fIyWUM@6P)&pX9ߠ``-y$ݗ@&f61GZn{e5 O:=KZ`2Pm~䒉М6o`_{%JWi=bM?δ 2; +; &^7^/ )/k_LLLLLLl:[*ңliAc HIR5#߸))eQJ] ]rk  K:1P@X46) +IzeC{AQfDazſN̡F7rɓ|8Lh:חUmnPK{ZD,+\t+NA^sf9 +0Eqw0J3װ#uOnP֐0IX,鸙š3iЧ߁'7^dEɇ£ Ķ!HQ`YP̺~qθl̬q2X5P<4 RZkseX J!#q&` -3')ȹ7g -&.6dOk4Etm g5 nZD,U[Bhy| T_^p4:oXk8$aiMQPkףO3xFTi~!kӳHR|^Gkg̨ia?  B;X9H#@wl^ExJ111111(f0qk?@/m'5CpɬuP (8(@ ލ?(hWPdπ8QߔEIAayBG }@uAO\/1SD2^:@?w~p Ϳ>RsW j:kPh,,/|^:WF(T|^tHcpm#tO6w r_Lc6ؐ,&dw7pLP'\ ofvX'L.CN[jĤEtAY(02bKM= ! IF8hhǩNQ8 5imYG xK)IR2W6̽9ϝ몏Ա~pP~tXd}FY3wR@2 B^z=G!ϛxԔ 2bp:UIAԠ@,ri0Yf$tG82![ ^A: s/&&&&&&*@(C8R(+VSA0;N95 E|=W.RAG.wv̓83ͿPæo m=f*R\ϛ*Ģwۓ:‛)q+E^ "207"M &"h+)g @>p8!qj͝ ZZV+BwJ-k[*fƌ*Y숲@(8X̉xȨϝ^Vh5O:g?j='hd-'1pIF6d~ !eLoc+VZČ2EPB k[@6h]\½XLj3]kFYcomjPHϡ~#dDB(_bbbbbbb۱lVlJF2}\I4 .I o:@ҀFKYV"lHRŞi_Ȑ 3srTϢL?~e~7{s3? ]2BO?LA:)`&%WmlHi:ڌ \dkX޲WYX, EX4k4%6 !{3 +.MiNuAl,! 8 +3(-N2w-:OHg|?Mq'Kb)ߊG0Bcw܄>o/@s_LLLLLLld@&/kp>*pT/!!dOZc3TRx鸙qV} ۨX *I;&0xЀ #u{,>W\Vfw3H~O_ (g 2;ڊkcn. Pk"pY].ʤ"Nzkc9N|AZY yegZQs?J +YG uꁥQ#@ "L=fiJd@x}E%.7111111m (-6 Iò&AKRء4P {?/zKL_X S rfb6eNjYZcCΤZsX詏]ӯ:}E}=姯f_Gba)4@9PJ("Qޑ2@ (BҒ@ m8Wy3!߃,-0TH=jtaӨlpD 2.D}(sƙF>̀qm㹹bhyr%K +H'v 2V,!)`Pߤ\v: f%=@q@zq`ӟ>048&а +dA#]YwCSj1)r(RF)#ݡz`/d}~KQ~5Uze2Rk =ve ]bAέ> Zo Ik)KMXT^ޚbh!M?r:7}8o#0{@v!,5*@|n e (<&.#YK[򿘘v5ʐ"l^@Z}N6Zw$5m9ҧlK{xT>k=DL8}'9ӗ.azJfPeezL!A$xq!j5.-qFZ򯕲>"To#J+ζµ-ͩ +zHJpYBy^0P +SfN>EbP񨧁0%P)(%%;jPn2jo-{[Ul2`옅i"Ͳ}B4c|xsPGyJ]BWʜsƝ/tΊ~x[?">ȋbmA_3/&&&&&&I[/%/h{cr n } |iwv>x ݓhNc| 0$u$ +T;(>%pG/T27W@1m|NnmgvA]i@7o@3dEI_p{LC"篃ூTo=`9U 3A?F`|+?ƃ@ۖ.@‡a #+ +111111111 n^`Kc#_ Z PM +/&&&&&&&&&&8ؔ~fS +`u Iv"I-&&&&&&&&&v ˀ< I &&&&&&&&&&&bbbbbbbbbbbI &&&&&&&&&&&bbbbbbbbbbbI &&&&&&&&&&&bbbbbbbbbbI &&&&&&&&&&&bbbbbbbbbbbI &&&&&&&&&&&bbbbbbbbbbbI &&&&&&&&&&&bbbbbbbbbbb 0z`+mIENDB`PNG + + IHDR@`ttEXtSoftwareAdobe ImageReadyqe< iTXtXML:com.adobe.xmp ʥ.*IDATx| \u}^U]wմ$$$,v 668'%%'g29̀16c0l$! ݭV]K-zU0> [_Dԕk)v̩q^pjVcq< `X5Hz$DFN{o#5i~k@@[X߼m.PAbJ6e~^h=~pYZ)Й#kBç(q Nz"쀆8ܧBU-3I*,)B,"똕OjRdtN Z{0Ԅ]ό t.5d$DJа@kb-\A/v(r)z^Yo"A/}GrlV0C#yε$w rɜIQ4`=='s2%[>.RAOjyey%1B`M^pBzwofZ5 s{U^!Wj.'; +5 +(5q&&׌^BЊ=<E6U4|/Vc.k%Tn YzHC3 hP6C_ ./};vՐxތV\Q0i`-4i>ww 1>iS$ki3O TD(;n݈kkb/ 6=`a%D7]3&7 ԂelEp`O`%(#.│,\@,#Mv rw S!qjm$ŦUԿ =*@1@;HxN5&X;b,j\h<7! xo)Nz +Gnhvaɀ{E 6I"/&v\hTPpے +޿COcBACumLoAvp>HݐXi52}*;',qhoֶ mN4[}=7P-&Fuhbٟ\Ps-u_A ObVIoA?CÇg!n;'׻+=wőz!Dږ٨F,L ۥ0!ƎYƟr?]-cƩ> #2s*Gf)}s%sq+Hx@@R!DaG;)<>飢uQ|~@Koj{cۓ"<V M-]B,g\`Xȭ5`{ aG/1ٙ˲*"즮?A/gP?ɇ)u3Y7 - {?|| +Yq⊗)`WAC09Mƀ#{8O/%\uG,ǀ%ovkj ^9fXdt ̠[E)6݅T_1%pS@_ɤ) ~ SHqEfJjNQebAK $Bqzh!մ(MýA;x.0`}<&D-ő#{j@{\0>=a85~%C!$(Ag48@-#,y~rv#=S |Xjb=+ߌ{bPA\ 1=fli`L*q݂TsuXp'ZkpA[Լ<9P`U//>0g,l:qoBٟo| <7$j{ 4yB&.3AD\n tVq j]K_6VG{#tdp. ky}\{tŝ@h%}SiT/ [,\M";j`#b 5ވ5j[#&YC*rYWvmcM1m/?X 0܁JR,^A> ]X5O+а9PAbu(--` .>r+L)wRw; dUq Z͗XSp`/*tP_v#?!V+2ў {;L|q;mǃ'a |')|h@*v/@bv&ah)/9%\PVk^2# \h 4AS[@h> k;Ի:o`1 V\5Q?Yի:½@޽v {hs|?V@Z„A:9a +Ye@WD{l!UaR>&iߋ~\ ӃhPz@*sës"5J\\/y7<\SfFP[ri $eďع0Z+%ʭr;RaNb+LȤz^1Ou9DͶPJdzI,ȴek,%N83{C3ķ_䣤ރBAZ0 {9:  YE]2xK\w^֤j =uV)4# cpg IID + :8U"}5A+O܈IM4[^ /k Tm کIkë:uP &bYT_,if:azcJ^5OvBR\RX}^k{_@{ů}]ۻ7s ,r>$؛,Mx=D99ANe\H)\JYae 0=θTK_Wxѥwx|"cɿhK= c@~?i$:SIuM*=9ȎJd@q[=~h\ _[ %guyD3::$91\YSXVY@ + d=TpqfHOC>B+s{[`p'ZV#36}f#Qde.%rESm`@j H@To.9aJ\cb- i=6g8yOm%MUowʊ8!No?I"Cㅎgp^.& XF"kX=q8huX"Syzj +{&6^gnٝϮpEU1*sT/A\0+!/5" 5E$wh_~I`x, ;HB) B<;} } +a=30KI>/UF.zkz \gQ @m6NA`e|YJ(HoOk!S&;5";#;0!|6BVYZatA>ᬜ.{z`_^J6 K a7UB+&cGW_zU| ) -|f(;|IE6$9hHC 4c10YsNaIxDZa`@9)w}c<4\+AM'}imĝIefthaϑ:Xg-ٟ$w ?F/RRalyE*/oDH +R0e axlĩW(y2-e*Y;;k<.B-5id*J:lc%?6&N:W(_IpZds$ |bCS\rv̳ ^f*2x + Y$}BkJp+%2׮kṰΞ{Uo>@WJs55y.Re4U5 5C9:o>ȍ;ZUb*> S@bKoQh7Xorj kʉռ(gl&-PoUX{剤,jp8V{RG&:y57-@l^ŢrZ%7 ~ 9<d<D\ KRx4\/ ٹ&]ɑ]d 2{,zf[Vnȋ]x`ƕ|\Jbb|x+p'}]".EO.>|@Pr8-%0^o땾<*Uo-NyQDuF?6MKW2E5].lfv8fD+E1oI1K]&ʙZdee8Dy C# _ʡq1pYRp$ (mA1b넶Wr+QX3KjqYUͯS +"+Js]TRlQ~;X=Ff[Iқ<( #lnimbJdsT).L )+J1}>NS V"K Ƴk&&?wz 1/be(N߸f^z>rRyojIh((}|yx7E${<4P/ĈW-q>r auyu/Sfۚ/"x܍!!nqj*wЃ׹d^3JwW)5 8%bPhG̜c!"'xHg8qvJBu[g6Tc}TMDwopH;-)rpp#a\3kķ>*ifK8){MP + B+KEg[&`PxS{}_kAsjפqIe ~Y ^FAS`o\) TӔaBՄh칁sr*>N_t K9J 'TSH+_#vLjY2I +OS:NK}1ɲ,J@HO(s)bRn!ZBcmq/ W<.0e$B)YD-6,MxbrXM.4{˃mjR&A*WoCG4X -ſx*T5N9 Uf}#ꉍdNmH(-8W B JM]%ٷRt.IV#6v:- 3!kSt[acǥ3uk,+ p<ҠNu9"kVVx +TʵHd09nAUdɟ})jj7I;8;E]&9w3j BiSTxjP-%v,0vX7DU Ii̟(q#֏b!)23R(`1Rd}=GXQ]⼚4jpmiTxSEp`Ri0A]eaYFWcŽ9 +ht@CY ?bK"M p>N^G@A0\#pNE)0OʱMi*Y/ +Ys)<)_TZ/5^ƩuQ73Dݗ}=UY$)Z%߂d6#N>W%W"KY2<<ًP)i$h߿]c?ލx-r9[1{-$,G ࿽"lNPYJs7•)E\B: NK! 4:9_/]} IZ^6넯s,+1A_h`kȚ5hx?#YȭaFc![p.)RPTyM yC$dgjem7bΚl;Z#0Rd]4s|A{k(u+`zۓHy߹<Ƌ XU`0\r˾8]aoD;a3jN˾AGb47sVPbz[K/B%ϊn7Yip6"΢>KV,2Z@f BwȚesC(q~XuqT=:ʑU7`-DeũR;PWj T~m l}pvBۨ0(t/[悽%I~{;;:p`,KôY/Ze79 Rւ.5UGr}:'4-/99-)2wg ;[0;G][7YdvXSR(  B sb߱@c^T9X2F{>A}[rb2\:mwg#-[[C & @ 9_xzòOi s^]fŒpx4BIX + +Rav/I="Re%HYdή"5CoHw5«@6.V'Hاu?t?*=CI+љ.j:zOkv!2Rla +C~"=,f;lrm&cWkMO5VJG$m|("Z :Eo>*T6 +U8:^XQʱd$D9|7iYZ +9m7@8̄ o!"oN@۔ ÿǸ >? uSewaiϰ!dn"L:U$۾}`3j3 +=E/ ptpH!*xIdXW +fl +&H$Ѽ9j 9!ƽȑ-PކOMS}]J{Á~_ԙx{5Kg",Y@{}^~YHVW{Y.OG07Wm;&$޳q 7&Q#] `CNiH4'f "n ڲwYUdwG Xm5etDkI3 U<):ZX*^u ep *X/߇YR0Ϛb``(i7 _@*J Bs6Tm0/I5*8ï࣪ռQw5Fv-~s?7XO6.{mkPlv&k(ʑzGtQ$>-#G4Y^\Fs`y +_8, ')¨т?k%8,Dc ٟOy krp Ra_š]fL|̩lT=YmCC6F2ˀƯZ96NH +adz\,0E +"ܹ_KPOJ u =);!*IA%҈hЎ]4dxpЀl3;%sw9MDW8xoRm"1ol o’O~QGk~DvUdCy!=ѬD^"G%/bj@i`/\odz m4-U<^z#u 7l2%yEٗ{̤ɕtM%K'UmЏhtyݘ 0 jYL715R8oɆ ~onёQ&(f|ں q}LB?kqScҶu"\ P& #k_VZ7M7 ?ބc*O]Em+}%B[%dO_- rU5DUROy[COkˬ`/}ߖ IWwl/cwW 0&Pf{IENDB`PNG + + IHDR@@iqtEXtSoftwareAdobe ImageReadyqe< iTXtXML:com.adobe.xmp /X4IDATxZ[oD_v7l&$ݔ&i)M +  ѧJ< ^@B$ BK+CQK4%m׷a==8ml܈'{g|ߜ9s)<#O + + + + + + + +lڻiLYs`D\kp)g D5EOpUD]Ld + xIU9PkPOD[mpЂD`k@,,(Ch54Si"^ۡ<b] F,E ɛлm@( |N(.#f@DH,dpׂD=!֗|i1qUC>"bc8 +m(3Ė `(緛;Skq͐Ld=V.c)rY@bxd {YS|@\}Ә%dD"$-@C˼3:D:gq9_ BE0%v!quG ]dlЄޥ,ͤ{1ǂ)TDI0>UB[ n@{XRC .Cx)NŊ]LT{pdJ-0$&oUb3x|ڴqBO"q8עh\`A- crx vTH.t"t'GW( a2PHmxyVcD?ڳ +`|y#+X.sD;ԽmYj0ŐTB:)׎8~a5L?zx+;kq JI$- Ad90f%.D{4lޥySN52GX+  AĒeDiu71= l,Yb}NgoC&$)\p~Kd?<~;C~*q:y ڙ38drڹO_X1D>'c 8iԷ% m -heX݇ޖ׳o*(XVLgx9K}\[yeF`lc8 +4@G$,A֗Hȏ$䵺7B<,ɐ9 ) i|3 ];ho׷R5+=#1H\eT[)*$^q;D>4?;oSRRRRRRRR?3A-IENDB`PNG + + IHDR00W pHYs   cHRMz%u0`:o_F>IDATxMo\Ws{fl5i㸪Kk)A +U*ذ ;>6l `! $D% jQ 4qxׄg{fimu8X^A2 DÁ4DZ@e{^r40 .jx(4KF"w#`x"# =- ),WM^VQ\F3OrqQUX58 f&=!k9)_^YQSf6o*˔6OYbłGF&q!P*p2vRƒz<{jLsGw//ӣ"ˊSB;#9W]ow[|X/M@+8(@#쎗rt}୛k3D$8tƚ=85` X#䲽ש?+Zm5-o?ޘڻ*!5Y!V& +V0)nzz43G7ѻY!2pQ|, ++T9/HpF_ <%9}GsPh6Wpl5.J \p}J/q>`Oa`TCF<~;Ŀ\"YgA gTw:LhʁRUu>GUͮW 3QS@2N,! НKJ}JF:`Sʥ3TtΑ*;J}V5 8ֆRn Uus!E;Hvd>TUb!"(Wuz’U $VhH/-tt2a2';]O)]L{b,q~vK4z_Эs`_Zxk1m`_d t=T@dv.d@f*|8ځS''B]p;o mXa-ԕks-V R; H@YFz7ַ$4i:qOL|-߻r/}~`JZ/h;+4#m_'~O~oQJےpj&[oFY\H3;~b! Ip}EԜ%OuS/]nIgv hF_S%EIJJe7ҟo,{[e#PX2X`/w=j^;(HkX?]臗U`hjv?)_7vvS!4eJ__l_< ~CRn [bfY(%i-_VќPࣰEFL6p/3:˓Z^>O"1Bgρ^Gn*yTˋA֤{+I9=x[yr +9±bޔ\rg|3q:NNm& ?8&&&&&O%/uIENDB`PNG + + IHDR szztEXtSoftwareAdobe ImageReadyqe< iTXtXML:com.adobe.xmp S IDATxWMoLQ~Ϲ_3K:3*T[#"RR k ~;_`66vD⣉BRQ~8xuG҅3sϹy=äV 8}'5ͻ_:U3S! 6*Xxi@hZ`^9O'E @Y) fk6@3/Jcnx{9Y1P\OQ欹c7z<(0'2؄?kC/\f) #ufi[)0vA>vzaFLFH1`~>ϼ/йc\߻ ,(;-ۺgd22ޓ'@)$̖BGbCPډ1~7D.~?XɲC^Oa8UXM\*(Jc}wKNqV +EHȸ_?钻y24|'n%tH46knqǾt'G5~^kVO'G!|ӋU0\=)WpGN˼hERSre!4OoĶx~%2;Ԉ(ࡋ2q@[XHBZmzLoOF5_tu,3T[{3![gJ'Uvd*50IENDB`PNG + + IHDR5 : pHYs   cHRMz%u0`:o_FIDATxidu~/gUVK)JzL=LՒIMI#٘nHTjI#["fF"Amj +G"PY@@Ԃ̪="#=|{;?ι],Ԓu>Xr w޹,yP( +BP(>0z  +BP( +M +BP( +& +BP( +BBP( +B BP( +B@P( +BPhP( +BP(4P( +BP(( +BP( +M +BP( +& +BP( +BBP( +BBP( +B BP( +B@P( +BPhP( +BP(4P( +BP(( +BP( +M +BP( +& +BP( +BBP( +B BP( +B@P( +B@P( +BPhP( +BP(4P( +BP(( +BP( +M +BP( +& +BP( +BBP( +B BP( +B@P( +BPhP( +BP(4P( +BP(4P( +BP(( +BP( +M +BP( +& +BP( +BBP( +B BP( +B@P( +BPhP( +BP(4P( +BP(( +BP( +M +BP( +M +BP( +& +BP( +BBP( +B BP( +B@P( +BPhP( +BP(4P( +BP(( +BP( +M +BP( +& +BP( +BBP( +B BP( +B BP( +B@P( +BPhP( +BP(4P( +BP(( +BP( +M +BP( +& +BP( +BBP( +B BP( +B@P( +BPhP( +BPhP( +BP(4P( +BP(( +BP( +M +BP( +& +BP( +BBP( +B BP( +B@P( +BPhP( +BP(4P( +BP(( +BP(( +BP( +M +BP( +& +BP( +BBP( +B BP( +B@P( +BPhP( +BP(4P( +BP(( +BP( +M +BP( +& +BP( +& +BP( +BBP( +BP!/z}P@}BP(X +:F@&_MjSa 'wD}BP( +M@J6EZ$@[O_2>P( + ( +mf&FNMxAQR܈|#//F5'ϗJR( +Byj&+!ؕ/#VJa Cł?CM +B`ރ@Y,_Zsݏdy"J a!A2bwxu6V8tu & +BPhp}&%@Hڸ؉;8 `wO|ssi/;/%0 +ԇ1Гiŋ61@d3rx \& @@  s~}_GzHEULCl {W{#k2?˿O/g + i|vx6x!D=r  %3ODܲ_{Jg#~՝`(VzH#/8?YXiW>hlIr@*kN877o7W 1x˹E$P+ %C~8RuV-*%Wܘ{@&ybX& +^BB6?##%DH`c$0pnLVW R%cژs&|-QuX(@&pY \צ +ʼ"WAR17/vRnR9 b=EJw +] 7xpu'<"34$CH?W( +OC{\9&(?;cׯn| ^1FN#R DpI ۔`Pyse(xW l=MD!hF"R--s"#ŗCd2ʢAQYPWM”9P!L]m% Dž(P up =quK(HU{AZr(:a( Obem5\!e*R'J׌bğj/͏m~95IHeS%jBP(|M NJr]oXDpn@\y-Q"x ~T%p$i@vC@^C,C2F' +݂@DuT gIPHG$ <T9!J@#)zrpJ+^ Dg (m1/t 2p;a&ǡܺBLӵg7 Jnb$wb4>X)v$8|W7?2FIl~_P(x j9+^OȡuPXZkBn-FФB dx8qK'@|;PIIP@aIRuwBe  mZ* ym.hZF& < H:!2HPYr𾄯x|]^?'o.!uNޱ]B8b < GG @X\Gf/Y?n'$ 8#IѨc rI?W( +OǕ'+ f:S~u?L"Td]"|.ɻS qPxWC(zJ5=v !c] ʪNI /LK\7 <RcL=`)Ë<+7C + B\b_Wk%|pNZ>y\>w>HP˱Z+ejn4h3ZK@NhJ2i \͵ ݈  +OvSF,r3~NCZ!i=JjBP(v <0wmvS^4ʈ/ۜk 54 _y$(Y)$UndVR@&#{ g>J90e1P sw6yϼ}J:vTi+W2q# hppXB0ЕmͩtWC<"5C( $ /|(W9 +#UXTF"Jg 'd!O~-0t`Bׯn~tpuTueI +BP<`Zp 7>_:/1G8i )kdR4Jx \f~J e_@h<}Am +GpAySF{0e^qra*(C6'ov\U$-@8r@ UP'S2$ +f ?BjyBP(@6ˌ:`*Q05Qﲄ6wLkPG˒H,VB(4­ C^<+"Si{ny=d] _ Q䱩A|T2(K|Q@c^ KlSJP$ **R4h+CL!D&+xrG;QT*K +*>,#ĴJŋ )%J8p9~,a;# @Sseʷi' EYdd$0)o" tc? +s &4-0r.@ CX$2G[ͤz;zSk1P˃A$$- &BE}hD g?OԕR(mӚP@2P]34ߡ*eRخ ۿ +@ `tͲl^{Vhmҍρ@!q6o}QRϑ+ +Bv˾NߺwvV `CqՕ@ap~!O|}e_ߺY@j}BP(o?`mxsk%( wŰ+8 y{Ǖ<_#.nFUL3E|8QM$Xre] }Q zϤUU)ZV9Dhd`wF! +'D2 @-(uU)_ JjPX$#[RzIxT +N.82):Y{](4@V!gxp0ilb,?8ԹwpYZƍۏᇢ.2x4 +Bx`okkwzgEQ#Qb\?B? Vlp|B/"qN4+HW!3M2Ǧv +Y&Wq@}!2= +_HZ<ɽ+Re."e++C QKFSSi#!=DWJ)F_lyf]wR} |XX2HY\!BP: 1G˖ҚO]eN"JRz)Ju|‡!]DjERzw9W|r?tT {B!)*)sDQ3&mW|̅gYVYEz7Lˢ1e^/G + +QL--z_p!F$fƙ_On+{%{6q+ +B1 @TOgT tH<i(~Vټ`DT6D ;E̻@ڻ ggH{-52t$$ij.?%.AKJjgY$C|O$b 27[mH5ҋ{(mH #?D2#U%jDЄ% q"t*MeИCyL٨ +s  -U#k;`ރQ tҌ>BP(@ mW [/1%("oRl*#఼g_3yBg^2ZˈPQ +(Ogd0z[GI/MƆu9p˺j +TdZH#QT_xpʘd +' +@Aկ  xQ`,t${ҐN% Q `Gڐ {`9ET⁰l;tQwSͭK4.5R_W( +bnͭbJVZoY3VW.B~.8z6IPJFMJ7jbGP +G0o֪8%W^IT%I(*I hWX G/:6 )ig`#D螇Do<,iIշ@H8ȱ)`\:/9*p"G5=˂T*hv=?4JpYn[Sz#ֆ7 P( +ŜwfXw_~=p~+@ac&V8F^NdĠحfˁcDQ Pp 'I6asJ^BWK h$)>y@Ñd@$&";:}-Xm9_{lZѤ80&PLk=VHfi8/on}<S{ +Bx//d"O)O]Kad73dSxQ0AC(Z[b+ȁ4 zu:U}Q?)#L!K6>yWpS }d oXܕ,D%Hddn$T^MRLP % D1@%aDj,@.oMpFfi8TuQ>W{J*R{\ymJ}ٟBWÜ•KIt%_&]{ yyx06l?*/^.mz'OV-5ʍDܹҙ}vWSϭ x. T3_H?l2C4PLnyp{͍aA;BM2h[_`EC.r Wrp]Ei<*KI&p)jPVAH WkY˞ "E铄FsCЦ.K6-"G9Fs1j +ɘnҬ+aJZJKEUd9\5$a. ý?P0,?G:ʼsÃ0A=oN?e:"llsMz|Q,׀soy{N 8K0D_[Es{ҍ>!xC@\Zj%())JTG:ġH$SM={gYbCP(sĺ=D*`^QNxQU^?ލ*Ծ E?-@aR &\~,7KuUd3ǘ'AV&@)˕(D[K@$ }7aEC-,HmT=~z +eEz(pS@- d8ɢ^ڟ9<i=G|XC#PX7X֚}[Vo= `f*ak`ҕ&ߑs+Wr8~ bL."$@xHSO/-Z4/',\*!$B" XƳ@9PlP +%;l3lǝybRNޗLM +(kJRt(@]PsIbp\&t9?5Iѣ2'{CgYA%:BnJ?h)B K$;Zl$WpbjBc +R\+&*)JO@}@Edcn_'T|Tjd~ח=-wޘLdj\jqU_I"k:PtbiZ!ɆZJ@(LL.gWK!1IjE0r; D@C/H /h6v΍nw?>v跒eB ݿS7o2 XC֧-Oqͥs'H쏽{0FUv4.N.]i1Eg\aMf Z |gSiߣZTݤȅ7++ x΍/ۦXZZoYFGwA.|iz/26q|!6D6TW\z/lAB넃"4ݴd>+w9ɿ;q|V.eTYa%ʊߗgQAvHj[mtKn,0zGj}GN?TOwo>g:)6+?]GNt*Qw϶ +#3_h4&ߵ3Nopb򍟔$8X!heOR!l咅?Z~vYSL"٢|,eB2"zeȯfNX:^^_;+eѝV r\e$(RKp yc9bğ !? +7aYO|)3@C %S"YX Tm9yfڒg,3hd@1[JH $ʒ_:d *$RE睗Zm$(vV4Oc.:Dg޸O8sE; {΍nm_KmDLlQ5Su.xX{yi~yE/ϩK7>Kb7ڲJKѕ0F +O翉荁 @wrFol?vL݀ώӯ b:3l_B¾A~"GN?Ǚׯ)@/M7.. ˆy@^E x䭼a*\zrC/i p#m:WWܘ&R#ȢƱγ3z8r.~@{mDA]%F+x!/2GT<w+s/-aBK~?e6N^1"';%6&=cdl?lF6~&>Nʳ]qE4?g#nųǦy'F9u^JJsw֭%Wq\Qȫ!02m#NV& Ƃ,W˜]g'b+0/=Ag_{ 2AI*%xPpke޻ ɤyO[pgyoXo5 t6YË}$䭠&ᛋ>l_(mAZ ߌajI>(@R-]x. 8Nk2nzhLN|ѹxnW΁#q(3ީa~);%Ҟ0~W qDFm]olwk;PK7~,gwOe&̋-cڕ%:8n7_foԡFSNS]~@9^4EkN1N܌b z&w +nd~xOP/=Q%g/I$;L*+PчޔkPwU:%|c ZXT|E*DrN2=>,ɕ ,%Ԥ,e3sTKGM\)\I~,×jv}5UZ,JcSx'Wabdq)HEWd?7H|nY-EUM E}^w{N;8x!9Ue|/Ζ\:ȪTW6.z ,>edɮm]xIuݤv; +`[Bжu8h;yȝtͿS~hl 6䅝P)|/:Iqig`t¶gҀ(qz_!gK͝Ǟ _~ (+,V\@EQ!a1J+ɽJfx@1+PJS8x+._@vLsl9-_1ЁaZJ Q,hː*!L^kަ:(F|0ۄofrgSmd˝W1b‹ȸ2 +]K8;z2 +Mdu%',p(HB>Y8뢃عb/G2x%X1KxK^L"-dTKsh̔r 5G(]`^IۗZ!~폽BX쎖=XC_q./3TQ{;)8Kwe['j=9$!~2vRKJX5o{]&VIA檾RH# kjLt2nKT /KnX׿h?2l2 w^Oz(qH[BzJj`sv m |Zy͛{G֧&]sF4޵?YTF'.WfSgO͸4@3ܥk㳒 #{Hΐ#q~zpݓ/z|YMt#3خ!D_{/$"7TR!Ssѡ+5pz@yC(In~B9=U`ɒ^nʖ;fP{w}xQEϙls>J/3+99KtԂjZ+ΓIr0ZJb)N~?);XyјgO'4y__G2J/S_XhΗ?4Oq=ơ/4 @ J˙߫*ӉcGfӾ/+'?G $_]N_tGN5ܹ77|l*[~-g3^P^ ;&4h*IJlvPAlӢMJӍG!Z Ҡ?{D<ޥ럿x_^lek&2|{Chׯaغ<ݼ$ōhi+'tWg/ˬxdZ9xbFr\o I[( fȂl74@؅,C}zvz h1ǸZ"٫IEn4E_MB[U;TXRe- >hʫGƂm3 %ڂ֞pYJڒ(Z&#iȒ [6yOH%v`?_K'w<?~6K4k{en}$֧LKD*5olw8#ȷ΀}!d׊q~ƍV<I +w0GX%lϠ,^_]gi/ߺoQK6dm8t'Q v_~g_xW ~5ְŗ/7> xiu\A.ŒǨCZ+C9`Efl$(ǠdxYVyň3Y),B>.Y=d!KQ#^^9P$ z Gn Òb@ӗ3l11ReJy5D(dSP. +)2 %C-KrċZJS=H0(P[Nju0S%ǑV&8C9V1i9?ɖ5]k7mWG/$v~d}pdqQ_hsg_%? ۻw߼SpQLbN"ƑOj1wbxcCLY@Y2Vl86%[{u"[NػxIcNu_sԟXU@=jH_PՍ~)D]kٵ͕NR&7Cz!q1M6G[W +Q+&g/95[CB +٧+j# LUv빲ShͶϤY+74&GMjD~ҲCc7&ϖ% a!WDT +~X.$<;kc m +8[ e=bla?^3g,2Ɗ~[x 9P̟iׯ+95>n,shE_3 +: O*U(_z9kFosNeys#6KG3 +S#om77vNr>߿?n?j@"B?4Rɻ/z׼f]kY_/y( XkN͐]3IܭA~_0񩂖k;6xyd?abdZ쵳=],YdFuˆ!bnj6;%Yn^_;|> m;e",#;SV@+jxKjGq]f8N) [DR;vY덗cjr(DMo奌y\Zedق8/iA9l d|ÕN2)l#z@Sp#.ޯ'Jry53?V8VT%EOsI4TpyѼjj?1J ;O4VHtgqj?'x)[ z2y7*yw)5@7oydI_;f&(wI;j_=,22+CW鑷n)፭=W.HדhSՍ<;mX2/ UKȥ+zj{⁡+YmdV:W>5ι&se ks r{|!'d& n9 }!MPсތ6^މ8ؑ iQS7W9ddL{ igs Jnъh֙zI5`TE +{Y +cyዏ5>:6LjF_&6롪:,inkZ8x/zwO>9?gE xʆ]H|_ …'W.yG}H ie8?yk+G=hjg[Pi:^T3~Rsp'ZԛޫWchsc>gB?q~i0:?72pFILH_J'lv,nmKGH0=5L84>=cөY֭\IpF$z1qnl}! &e=3,jFU6붔M&t \9 E$罚Z\ЎƇ#m /X4xe۱P ]L6\RSMmp&$_*U7+HYBiǕr UIliyI= D/,e ΟaZRB4igb;Zۜ+ \@e);%L7d`[S]rrIZ;85IfskؒQ>F_t$7<ŷOe!h;8qcٰ蕣{bxs|#Ͻ3X}&f#3EEOZλGo/_N_/;{8+@Avq&m! Lr>Z*l$-!aJY/sDRttm!@u!5(v@,ש6;*' `,dܖ! &Fvc4Ce%!+0iPr׼Tm:%#ߤ)^+\>/ i3YpK\ ++q8yghJY'R;2/vZW01fS=GԜ_6Y"XW;gƊ26~%nXdPw-ZҶ`itkCO%Hto/4S\GfFOC<=ۻ|B +M"y ?TTJDnNJ GtP?ѱCغ%ڻ@7Mbg?lJь8\m< s_x{x`fot3/26'9)dhy%KMڸys[?"]-3COBzId4}-&Cz<1.>Oiof +w:ru97H9 ]2* CॲV3Ƿ/V_wWCm|;wS(v Rq6: 7~t̙#$ ˥by OlZ0&궕]vҗE},$ap!PV"9T&ﯔ҉LⷲNj0Z8g+,HbLkF óZJ, @Kڒ_ gwMNQV mȵ4Ej'rA7:;D r+XiJS%}=|Dd@UxAN,ta/k;yF7X&&7ew,6w&U[J8W۽jо4x3CRF ȨmpmxsS" @49rj`@7[ZxG L.m4qlT MRbb1i)~Z#X(Ws'k3 05|!+ȳܗm}qVngE!D(xep%pޭV!!HJRgICSh7JOeȇ|v* 8 glO( + |9;p'X5DlqE) P/HfeZپ3Nf0 嵃^FDY*7J/, t׈:ڴ'gF;t0:7B2zgOItK/vTԫ$h2)WhOp*m;*ap3 vLػ/|!Ӷp-n'ejذ 2 %#/_"jVrI, +C;e@V82|,apIV] gn$k.7#t+:6 +OGY>"ii=vRq9aSxW$syyhk8^аsk'iƔ8u8>_]?JLe27.Ywͦ3h@)z?{u_ne~?ǃ$2_X)L_L0! k5n@ڷ>L諆v9R$ &:ɖQ< +Y m)^WrɄz\2&.F2.7WFYj$UH6 +]!z' C +B_GR|9\m6YbA, )"eiw/xatA&r,%:Y=_Qon\W7Vʆc[2[:vέb OAMNThсoRoa4anfthLPo}PZ󿾟\>&k=_ +v_H4 `'[^\>I'7Tj٦dxIX6I9ëAҊ)*xn\l-b,`/?ND7t +we-}xۼ$h6eZ`adEґ; $|]rXo#酡c^eFjD7lcdY-ڀLWYMJ,.A9Il>˥MK^8/<1MeN}.K?5^?YpQ7r_?IQ%]_RYr0:>Tqz_:yVP5 ˣsn!xD:%JB/FV$U ô.^ySE cY',L( 9JEO]e@id*;L/rʢ⡑M&<䛃U9cPe2ҋ2C2pe $[☔LT3W<#-E[|ɲbM> eoh庖qsx+p3fU$iwGM4-j90 P֑)nYw4•2^Vڭa3LnP@z"WEKXd^ZH%<t x ɻ\Rt]vD< ͸)}7 %ZA4.>/Y-g)T o.L(I@h)+WlrU68^nvS U[/w“T'9P>I=ZSFGryh.9'-]sc z E>dsI\0;qzC 4cG=%n֜5(T=+i*S>&+~.}Q_{کݘ.%ĂnY@,ehNo)LQmrwb8dgT^' ֿٹG ^9={6\_8y˜K?3ߧ'5<m윗.6|>αY%GnWn/p {>iڷMʀI aJ׼f{v /& $9k= >$2\A08B:!R sip N[s吳DuFoNE /G&w-$o6& +"ؔbNdG\KY^Va&l" +t10dW5D7eJi3mR$Tߎ_rGT 8x3ĵO\o}=.: E4|vkn?_l,KdQ C2?OyuZVJ;wx.5ك#Jm5v67wVt` ~q)EÛ[OBՌAE~@dAu?)MylmIl9P%d_/iDJl9IUi3Wv2*d*~8 +=Fق,1Pk -wsܘV 9/p~gK@ٗVCm2_/0a+X8R-ژ3soRCMYpyyh;;X;?wcӼeR{K}Lnusk0 (ǘl;rҏ\vcolv}eAdVX+H~8E꿝ܽͱםsS+[GWBṱF:t6 /SbFbOUN6BΒ]=u|C- =4?u˩g\#byK~Qjy>ߟr0:VYv^I=w?caؤ.>1 DCJjsTC\P +PD22uE?ԻQD,_R^D P^Grͫx=JJ <zCJgpt6.=y~z+p@g.y̑JkC )k]Ü3潯O&7wL؆ePVk}9f87 ~7rR`+|h,؀O#%W ]8q|$rhXYdʀp d[=L2ğ)mCwY)Fː,w׿kh<>r횇O?qG.@LG Ҡ[n$ƛSG|MK +݌bƿ;w*76iKp,Jnm+%&~r&55Ks_\h|ptePĺL.5|^6^$N +]81\3xgEV߫L}F{T2Ibٗy/7|텹{#M 3 aDN[>3Wv RXZ + Qڂ/F‹Kj<o'Y&6PZmp#P[fUڛa`:P<ev<`Q =D4k]$끝|m)3񘗄6v6P:/ʡT ߀aPi!nS+/˕SOz C6rDUދ@"C?M*NZ8}Y$\qj.Xx w >$[3wZnsg2I͛LSy`2/T;aY/5a 97#O\ou?c)koNU߮|Fc֭S?k%_:K!"$/GߘCJ+Ïoh.-IЙ+a:rdZѬywpeBz{|`mQH9X`Y& * ) 6O|a6%#+7ĥby#9$ hh_͏31ѱkume묏DiBMYQj:+\fqnj9+9otpnrhd|>S5Ί U! :Lڷd_l}.K4t8;L4@~xg.0H_@ׯyPd[iC{_{}[ޏUϻ\*>c/u` @؞">L;/e`{F?[ׯ~ϙǷw7V1?<Vf<ϾLԼjY%fKi3Ĭm;ED`Sf +tᤐp14ڠ4}wlF.}O> Ѐ[C^+'~mq^L$֘'XY]mQI-QT,eTTrZCFd\p+xRdwp"]l%rwd "L!&*-2pyR 8G!񢍀d@^xCY W]-puIQ%\L'_obyƦ%R% +a8yqW~ }sdvT˯I7jۻ ^2ajY+<0G)mSQt8I`n(9@+P\=-]m/d48JP!xjIt)|$??2nb>?c@/i7>1Ηl̝͟r#YhlN4BN7L +KP VQ"w`GL5r-a|hغ|Dt@J@#J7e|ȸ+ i89Z oíQJA,Y8AJ3Gz >ћ&אq{_sLZ 0q/Jd 3J|0|"ndR8m>6Z>>>eέ1χ֖hph%-މ}UwrX-\ Eꖕg| fz^E }Z#ҹpb}rn쿐r5 @;Í¡Ci`KR_1v/̭͝ӿpp _:g$ʈK,\n;_n7wo],з^y?Ϧ;XC?;D+3fg'gah&P|͋pboYT2 /d|TOXSgrb %E +f t`sU^|-($8LIë4EL;r.zsw| >( g @ ];b֧c!#Ntrs;V.(j.FUee̱ +] |Qe`En8]@F TrT&= +M!A]+r>mZ{d<]nR,8pPaJ6gŜ9LڐdS~/e.g`I-FbC}!+LBiAɪ4ݼ΁\^w쌑Ѡ\da84D +xovj +zA; A'p7~|?Nѣ R;QO?p `y3_]ȐIQ[Gצϳ04gIҥr.,0]l. @L*T=y٣%k"Mp?9 KMdn{BkcpR0 <Ԁ|ڗ[2$&@Q PaO4c?1 rȴT1x,[,K:ȇ xob^2 @,f@T(pP{(F&lCމw< 7i.ssĹ򁞁ZٗukTldE֕.heYU\3@ږIgJIeYkSD:βZpW6JnV?HT[*UyPuKig`r0:Vw^M9ّ+\5tjY~Cw%Et#8?k/uw|Pp(@ոr&E+Lv2޸#&o̠4ܟXoBuHo7/Pػ+[ <,wL$IO6v-|q1'hQ¶L5/99<]\ě7d֘/d  70я<Tx§+e)H9'_o:K9zʩ6Ucbmwb4QV.^V2Wb a3DM+ZF!°M1?(@P +Dd9$qjR `Yo?5nU]F@0玧+5/Tw'ٹ'ROLy6_ /[aQ9X`XnP+yP"l c>%Ig [~b䑹RZL0q?9[Vy󻻏¢ >ҴÛ;ԉwyVQ0\^׾zzd\9gWu5w3-hD_'f=;G/^e3U_J;w%VZ-6ci% >l&t GUZLv1@02!/ِ瀬4 +Vu5`_8xVW* ^oV$\KxvDtisyߖ0 &E-WZk + +eR*㧧WQ7fI%{ {ammly/#[-y/[m0ɗ?ݵӹgr-ڛS @]I̩DRE~F5H+S'mFE&>=~e^;,HZU]mv?1~k9ĀϋZ>/PE ?AA. ovl5/7n? K+XF:VʑW?zx7wJ+C/l3~k&ץ4فUߕ=p/;͘LJuGn:KRC;,nL ?;hk㻻_nPրxܮ1_d*\|Ã1'k,+d|)C0rz987)Q+*'WuV=!ZA,(lV:^2UlIxiDF%l*Cgl+ @ײ,± CsD_xIx0e}lkϓȁCAH2GD{'T17;sg§GSaDM,q3(+ԝ\˾$으'[1d}CbsF:<wD[?rks^EnEωɦ"Wk{[Y=Iu>mNm+ [WJ't:}ekj@K (uI3jݵs?2ȑ^y ,=5<{җrߕ翨YN%,u/>tY)NJpoY5 y{#_"[y{ @D*"P@yӷZY ˄d9s{Ɇ-N@MS +֪ 6'"VĨzbqŕQjĭzA)௕A䠴Mۚ{xah$Q&n$qk0L9'L:/Y-՚W:otC+z+cx~wnmy?$rfC@!Kw;8d^'xYy}yjPn>vv u+@ҔȐ̎@D}9mQIp N(kT̝GYͭmUqodjk>F>"WC8w^l,^۫_mͭ'뇦i@) ʏmnyTCpWWsG-)̮m2;t8r|34Tw/[be2P2v9gwhOs4Nv^xH7ߩmոvqyɋuP܆C>Q +L'a<6yx^W؍d5  !:V{ڭƷf):<ܡ۸cmbAa'ፙdTEvuLA.R˘bxWy]qpy8ivwxo)g= aJwCc~_UUd(^5xJpu[S_m^gWjpxdH۷_=x')P_mvmlҭy|Sbp"Kl̨ +qns$JM7֊/TǢI {Pڈ::rEU9$Ro$r Vdv&e:r8 +rr -PYQR1]#"D˲jQE56i[T#NI-T=zo.jyW`G~ݕQ:>~|$c5QR+K؟k"ε=Nuc6^oT\JXO3XCȖa·?hNC*Vkof?o/_D)Pۛ6k%\j=g9?lf+k RdfMSU;qj1E0>?n(f,XmtO62ӻ#4vD7HB=k <,HkBk-^|H9yY3 |>⇛M$sRg֤b[;E|i P6+*\; +y +#߾s;l,0_~.:n4ELr()gvѯ>ӽG]o 1 ۸_?=0̪g;_v[(n_ +4.^pKX-p@![?3k_Jx*'ez,KX7ɢ mI*=|1G&X '*H2]-R&-UAZX|vOe˝Y4o\dgE\Jl|>8⓲s'SriT"`cYVwWLg +`VG;W;/MfUUX\(i#_Dv C\G}Uͥ{p $YtŢ78|3)P% HtoD܎t%(u%<+%Ɉk)e|WWdhGiM*VBisr=7edG)#5Bs'=0rLZ|㧶hf+ dj6[eYmqys}|9Ucy|wK˩k0lI͠JLߗO*@o,wޮsz R9 %hcܿNxޟu]o3Vխ$HMR4d9<%ӎK^:/~|v< ;ȱ5XC, 8(q&P;{>[nU]ڀ>|@Pk0CB߯G`.gz?Z; `)8ϸ5昕n.SH%BCckhJ'h&aeLXur3 vTȌ9JLq +Et -u*N:A"q3Ԭ5+445:ނf6E Z˟{mrt4zS;ޫN+TG+B ͷ1J848E4As|)NX.^&(lRdp4; #_,zSQGxDHo +zi} AfkrBpIukf-+g?7YÊ?SYn&cn Epo$Cn: +Qzxl}U ik&E-8xlub'3*|; +U*cSh:+{[?{;%08R]V E_.Hjhhmb@ M8dBćtz AqKybL{ɿ[I,b@@K;@ViLٲ4+JH/l>Nf4K--IIj(NXl@#&B4:&C_n=]}>}TpI{=b{'gEcP 7'^ڿ",? +FbVfr?߆ptm+/aSSC?L76Akd)/g95h\xKw*=(LNuߕ:A9z9avX#@b[J '=hGeK v8-5ZCf3&9*#%l&DDф6ۤKyMfxk sBhᰩH;$جhy~RT iz%h}f"{B҃./՝KZ.$_Wv+rA'"NXsj۫>?]~Xjk{{1J!ʢwaqlXc#gKaf4YYM$``~SaX|?Uw01>iMoZAZu=;?^>L1zQ,{~0 ۊ-aJݥ]`1n!CTfuJ@k'p27ggK#G{W9\Âk6`A\|R/ jNg,A5m]΅_!JLDDTE RARtẀdMM)!qDqX-krЏDYQlb""rmִͮ0:46-1X7$?w5598)d: k~`s{k㮗-Y7;lm? `"%3(L':msw~[)۳SSağx Jz)7o~γ?yH'<'T[]LeXK @bax BG*Qg$f35Ly28Sy<^ѝgSZby=qOXlv{4 gswe4 +ց`I +忿ѹwdou}(O#KgOO81wzFluҘLX߿rU\6 i BE!6,ցR1E3fsJn&j1i/o2w\L p}da@FHbLݬe䕢4 z { u!,?%*amT8frA0J)|֛ǹ@f\A cfU0 -r\uPqWʟߐ0kY^ݸK.4(e`'Ap׬RH\xbr#r"rf" +I4 +($pb*_,̅)ٶd'e0/X[r,(ꭣgƟ8s%On \:1Na9ӳb,'Tc?܌T@/[ %'7Onp;G6^sɿq_FւW<#|W3A_ǯ_^ѭ.< +\a& J+€d%V`+-lE:Laӕ俓 "tfAў8ya"%\pKcld=x3DeQ@7ib$B:3U10gȿ3rVд]* fŕ-F/.Jo6EHzQ_e6$hMON|[f#Kwr0!{f)qX'=`e%JQ;>s-:h}!to'[_X'jX]ևzd1g0HQp;T/uaϾ~e?Y՟r-/H7jJ';?!MrlfdV=ܷ65n< |e} +.zu;_`t6[?גta!a:5='UDDx;[?pa[k?3?+w(0\V +O +K6ӃrWzԀ:VoDQ! +Ao^l' ^&ɘ$wlbX%ӪWS]f;ZA+ ðx2qwF05XSB j=^N1~G>VaL<T/iў{.sQ{+7,ՁM ˇhE27*`CֿPŭAմr "OX`d5?!5UxYQS;W/_\/INt{sURB5~aMaxt0OC~o_G,?,̨J~R zP,ƅN?Dh?/ۭ?ה) X L9bdM|kzv+4#p~^3oܡ;FZYRx +۬<{ xŚWX\;ȸ?}N*ѤɚBDǍ[ɦk +2";툵tZa.clmى\NmRH7Fԣ!$U`Xd*CN@쾍AGzP?S. 3sI8: kcL?+lAWk:)iW@̲`$͟\"%qJ,)l +T;X￑-²Ê3de>/O|.O5%jtNxRu96lnrkf4/|ۭW&zZ'6[ş\%c@YaYX! ҁx8٥u&C}\r~i֘ |Sܾ^&gzWTRPz*%_kw1'햎hirg?7vR<=>7)8IgfSI3/:޾4]H?m +s7s_̨R5@Y>4<]-h}SEH8iEdI>>,& Y$D+-$zGp˚ۤ.򹜏4;Ә( #?39)>!-8PA3wS?+J= +eB{ҥvIVu ` +'jcUQ+JR!wjEBe }_q -$RE@K3% X6 ˂ܕr9` +sW>ŐKf9h͜)1^Pϒo숨cqqoͿ3%?W57" HdnLp̻oVd閖ONV.v&5.if%ºabgVZxIJ.N9$eY!?}w(}=LAxv~ş&~XD5h! . '>N@1NέߜLLfUҲ^؏.l[6mMibZi_p 53rHbp`Rеf@N2f.*J #|gl.uH<1wnjEc 6!pC28NQO4!GFͷM$ZL\Ga>P!-HWj)a'34cB=obpϵ}MN6X_\ĈCb^))y71T, !4'4AUBakZTԣC|ۗ\ڴRm\H'i͟W^'@fL5.q&ufLmnpU v :W87V5_${'ADuWc<Ԋo/܅c/9>=| Dξ^r\|ӗv\/RIЬxX'!?DեxfխcTοفF@QòM/lLĐNgHC+uW}Nŭ  ;X翐1.,3R^*6np[|_ƴʝ{6>KzFeB@ !XRKkekˌp +@ICI( "\b2Dz `hIi9ro 9G)&@d$wK?b޶]"6R̚`E +ӥ KwwRT +Z@K1m ARJCggnC sKQZ'OHcH ﻼq,6, γ zff胎ӧ,8S䃌?THū,Zڜ#7F./d=N'YAVzz2օŏ-n"~4?sX6BeC)o_^Y.]yFxG*n?[x:00VegѤ?]S2#'wޞQ"=Iȿ\ɝ5Sw1:}?xϚUz0]ZPqov7M:~j־Ɛ]?w")id햮6,N#b`ZlJ%6 h䩄F0͚G]u|w7ǜRLpԀ\_';^A "/"(.!K@Rd&a /-ü_u$/$=vib+)2ԊM KfZƴ6Dct‚1QE+O.+&Xk⃌fwy?Cғx`7%KRDtxՁ;7U *# [z%҅7gCPnFv1FI"f 5;̕e&J +gŹbGRg|M-X;>xvY9c9ofv4)/ h L2BQV +B8ZA@8j7B'[!܉ElI47lood: -OOLeR|)gԩo:Vs9Zlu?_Q>&IJw|ev}W}:B?{WjK>m +RW,@[8+Ǒڲ,EkB:&kKԴ4I,E]Ydٍ XΖ4]rPG!,kcڀI +I``lUcئ.OŐ! @B| V7}nӾ+ +i@HEH ّ/xz QH P`m>D$9ifn'X@hߩѕte1u+oY}p>,6ڵ +9P'z( +uȭ9.ښCH?WSS[M[nJj3-S=?)I0A3ho.Jc*²w̫dy^ʫ}6?6;7 ȫU++3^ߴvwnvBFI<]*5[z ]d44k ]<#5bħ:*ʽg! TwXNem\W_'2J?G,>4n9#ܰRPKM*FoLokC]UUĉVҍ 0I*Nn5g yJ.m;ɉOH:MGJQrXV-t,3AE4v[IuѶ (i{ЖݬA^NlU +[EH *9$_ݥu,[T7c41QDk0٭/ӭ a\$ILb(ŏF>!,,:s9O-+hY$]ʿ꺩c!@1-aveC:P[FjAjEO{>wO+#eM&&8|`wS8!];h +n/R^`\jkmBBo/!_!{Wq}ik}|zu$7;Q4s $A%tS"di5o{' 8?Ҥ]+<ԉL-[͜0C}pfG_;q|?l3εRypo6^]ۭ?d& +?\w;>7YzqWB~zG\㟶@@A$!Fj;7Z~Qh*Bi*}9/R<2rk|$]1G+^ҋ|\yW ':6k, aSW@CRjIjR+xgX_2Ko ornfekr>0 R:ˣg|-Iq+O45t a;*U:՝T \[7Q|xzz^}hyAwL-T3JZ3Kg?xSQiD;{]M0O 5̡5zm8|ی#Z&_3*ʼnIycTVIÓ } +csbHzMBX"ͥH\ [jo9<+n7zo2q &Sq hNwnܲήrFgvP%>~{ځ|rk |bzZhL-Q \qvt=^F`B@:9RP>+pGQѲ=\vq-YCWh r%etx[u{˫(d3D!Xٜ^u`=55# -[B:y;,uv|DX=f:@\ f;6ORg>c<ˡc ++IF蘘b=I0#1qNS+JlG p| Um|EoY}1*@I#?hF%Dqo4߭&u~j ? ;})|I}. @yp +d;dlϷqQl7 JN]])A [w &lhtԃH<$k:A',Dkm0TTX֚+N>0$%R,1 ŬF:ާ&Yә`~k%J>5:ʌ>(Q2X*"l'`lhR?l<5QSZ_l-YS.)?B,Ov!!c-KZLYRqY^՞<^O)xʤ6a0E~$ޑ7W3P @1eo) p~vd$.u{ax/\nv"{daa!&?S."Gƥ=mJuο%ua(9^0 TCFdshKKwfs=1>t738OL.֗55/ ω~PWZ/卆6EEϰk2PݽN_,-!)OHh.tL$:^s)9P@(ai2 9qY8 #>"@CJ1! ha3M Rw~3 9. (dIZIf|qV2ѦrQ@|RܗL4qU)4}8)Qy3ZU\\=W g?gч 3ǎ%,k5c$:iİ !8.\+Xmyܱ25`HP4kYloE*/O) 1m!(*f.3V[` r{.18u~_9J 7VkІ[cq].ǧ5c D=0RXk1G#cY}_k[VZTA=O+\ Ʈ4kE/ $Ԋeى{u&cE3+&_4f{o!d8LŬ6:*/JcVjŘ,c-dl-/k{ ^g|?X( 1Cduj(HQ>q/NpG1?`ޗߏ4W:z <Y(Y2аmhNÂu}T+9:8pXWuTT)PBG`h ~$1a^53qpb =b҉%kt?ښu7rnz>CJth]&R@8kh#HDOkݥ}@W_V:rChM 8Hv3 ]%3&-,!tJ1`-/,7$SL#Z=Z{-@ id$Ҝ!FE=v}pH YS#qk`^ʦd.ٵ +5ONeWveUCKK'?_s:)bcl?ϬBry:m1NG/4tfi3&=)2E%Ї5HRrUtث1!i VjrsgyRuyPZ! p٩>_uX|L6 ' OW_w}Z۸R'8j弬*,UkKZQ_IԴz͹/Riۺ!h:;IAݿ@rNqP ͎O'z֊8S(!Z_^lM6ajiV?<4nq-d~!o$wղ> 5Z\B +a't2[n^ \Z\0ye^ JX: *J #if$4yYrnpNHWH:"6{;rJ`w|\UjRM"<+y!w[4]E<!fr%S +fۃTHF>t_g* O^pQ#vdI` +ɍ>:"Ϳ.IYh`ٷ3ڊSA'ҡՍa:3~**)?suws'gb_3M:y(xXme?ϗ'0Sο~RPW]{6g㖵mrFQ30 kV +yS}4*r3e7cP\Ý(^ȿsow&q +r7JupoQ+i- t9ɗBVjqwSK׶SN&} F8©얮.S$KE;w,1E/!cq0f"B/?XWZ4mqH>VZ\ꭣ^uN@ϗJ񩵫Z33؁kC!}`Oc7ūN6^/߬iS%H=^BZQCC!G[vk׊ȂAZZaC8xIQ@Ӣi!TOyH#*\HWC:, -rEZG~ՌM/<~]*L|Uy+fQVPnu). Q-L|??1}ݫ/\E |QCw6۹3[S8j+ _԰m6Zo/&*_6SY5 b:,H:z`eFMs/_w&,94竿& So`3F(_-9'u +a_/tuo?]}23Dɪm lʓk#7i#yraWٝ Capj6ILijU6sN6) +XV#&"ДL,g Z r³=<_-7w( ]Ʊ +\ɀ25av׺\,pr kdžbDMCJ*!#1I 7O + +da+$O҉*I $<-Җ[iţgM1q*ct׺E Y~=惞&!4pJ!?QX΁N tg (kCV=Rag?}=b9V*EoRЈTq"ml‘c;=p~LLouW,Pٻ{6ZurFXV-H{m[Ku6  Pн.KZN.vq?ݢH֖vHiv.%,fل64 ?-^ %p i,JxZ#9з$,[%Ttu +`ּ.:"g, 竻.; +]O B&H:WK'"L)˂9Wu,kDPX[KZnt PSe=o#y\sЪGX:ɟ@{0ˆH=8StفV6nw]-5sj/x:>BVyU).`׆lM€~x}OWʔ9CұV99V?[ppjd2@n_+s-fQ\]KEnْHcT?^ozcW]mupoG7˝`Ms@]>/g'3C!^j +@# (N_!tOqxS?yaUh-l0eq:#?}hb;@iY*BC0jW2졩OmnW3y_Rz'x(?*MO}/gԃIfu/w;&o(ڙX*9ˍ5 OLbEo@%h͟;_?4 U׭_E5˿ZZʨ͂Q: +m+ms?9n?dBB H dki}Ek=hP!\"BR )޹-TQAkI9DtU@/R <:v a+|\2=n9[/Mc~ji@Brʫ-urhȣ5qQCNz*EOc;ZѬedγEYBJ&ڊ,}12hUMS&ƚR?okw6ؾאн lfLE3]/Ysu !]@^;3-Ѧp t`9} 1 Ӹ^Uv)~i6kŏVѢ\Sol9oWU1p7#@d v {@I7Z..[cOs>^}1[#&{Z47NEev **g[IcTpydoc"l?XY9{LTv˹sB?&>j9Wҷ4bj qIZږg< NzΝ/W| 4҄? +$NM).?K^+ɠK#A i:m)/Pj)k,46Pk aI(fnWK!uJIGӋm߂X-A1a%zaDd+sc>cc!{le-8H;6_*أ./wsMm/Q$&ۢ;xfgx\v/."HۂRl.,gkkPBii1Mm 8 'Kӌ}?(홅YM~T/}i۝_:RBnMaYc,4q^O}q뿘 U8 C9$;ڂ~bbn+O5Z\FpwlÝ+'R wP%xqǙ3V7^Ndu}P㟭LC{N`}y~jE,]}ۅ3::D/eq"x E+@ؖq[)\~pyu+%^Y V2BkEY@ܥA 3eM]**! *& !qW7nN|w`kOUM&-VJ0E.ۇ + lGǻO晜&RRP!zA,%[ӳdW GXuކ/,2ITD:gMC5HCM*opX_g(W?o=[ؒ\h!jLhM?TDJh "&#Rl<;>+N@SzhsaҞ[kǧ l?nWW15Y~KsԿ3Jqz?\IDb-"M0=e|_|wC`7޼Z㺞UK`@w%_Fk\ަ7:e&D ua:Bq+;dM{OoN8|[/_&y?L(*i+7~T 8wVⲧU\/`ָ R|}> lM brZw +TLNǡ&βSܛy! Ҫve%^$9c|{,_,xt3ى &)+C #()uw$9;O>hFi`%4x$$aC$zqEԌĊ^ s-Å@ԥT]76Ri<%S+r fK֖B9~tbEZrRDCĠ` H2$Q넨xκtLwj?[aH fԟW{ݙ",qƿ6>*e+d_2nN]Ѥޱ9BgP'm,u'+.W䠧L/Ky[Vq%[20\ >Qcw?fW;vnn/US? M;-H.r/n?׺Սm߫U(Ss#ZtH @aۃqVC &o4nېc6LCsj@ұfvl2v)Q# 4Zj"HNhALʑ2DUg{@@r(y F-tBZLc>岭79鸛1 !s)yd*«8&Œ'9b*G=@КM.]d :GBҩḄӊd{!v6k3KHcD!"˩^hӢXHYLaS;w,?)@{xd$,J +Aa@0A@H!%MB\k)Cc?ˋ N0N G h򇗗~ɔuM(b;bi(UoOb|R>I,x՛*k;it)tS=㒑. 1+ZygƧv< ^r&uKEM/* a[_#+X/:VЈTb/wLlLȾ;ݮqq?d&E8ɳܒ uް {ڭYa"jKdI T aE託Rak0,W*''%Ypq}!7quײKMN)&R)t+.: +!,A6m +zW?> :`;BEb?: ,{qh,Y$ vF!CXu"E +tkO[Lג<)9RӼT +nğ_Ak1Xqˡ*:Y⯣">,q Cs)xՃwd-5=M/g4huѨݽ{u_:^UG$ſ~jaf VMzudoçp&># LS\XgK<ƛK5ޜ%l~ӽDo9G3N2E=P_לĶDS3M(nuaՍ4_R:l.?^W˭MUMCJ +<8D"`?tXQ∵b1L@'?ЎlBt2)q:&i!m(hfgJ]':P6jJNJ ZŤ%yF²q裷޼\yZ@:$keyAH .$43!P}\Am4U8@UDڸ,Lή)RAR:z6$(Y66皟.OO ED!~iNyi5-tG)sp3}i^~Ww>i)f5<.<d uoq#]vEz7.8 +c*+@cMg{L =ג 39wrs)5l +1g{fty|,o&\8)$ +B?M~ w + 0'=P>?<hE/m䓬HA #KNpVλ2/歽A>N {tӉ$E7.t]tUG,?ټ_ڞ? @S;_(HLyRFnj yz/7WVUfu.dB@ّäY]Ztyb @T"¨DQ&cƫ*B. + ,:{v:_Y-UulvP}V$,Xa!g1vZS5L&*ՙ=]9(Ӣ;s&hT93p,ju.੠;K7WqU~?N^jj !٩.e*3tZk.8Sh+I}eBk605oV\%כgK>>Zojjɞ!1;`x9Q'{:._\{-ӽ)Jť[ޮ7\/~n> Ai-먦7Uy+77yvLr +lo胮}d 7~{(bbK \ta@=N͙)fkҡ$aH,AJC:._ˬraRkwa"@^o.6b9'YtEIZ,*4kʓS@E\ Kji[EdCK|w6Q1vfnP=T{qShmKw`1]ĿMIKKħB9JanL.C:J`))`R]xǏAI +Z⟁KE1N8xǂdñ*b?.oOZlx515CAmu]RmcC֢_q3d 0Zi6+, :J +z+b'6BfsP{X`Us~b-t:ɋ˸RvVHRiϬw CdZM ҃9$eQaY"Y4oQr= + hH8,gln%lTe%q{($3F+0V_qX٢`udէtHbgl[/$-fа#޲`GB::@Cs!JA^& 2J'$YX2ׇZCZ$/#fd Mߏ֮e$KA'_1 }iC&yzN b-OF o !#R;(t%CuQ%D²HA< !PP +:ba{4Top{~ߚH%W{`Ӆ3/| +kꥁ =m4鿏Y}?/h2[-^x=ik]g ,ߛg`@luZl3^0gP'ltn~M¿ja4:&˯`SkJa0&77|;]˙ +Υ%[':67K[ԔV_ԇq @?K] +y4ڼ}).RBDkoqH +&+xIA@w!1Tǥ^Ƌ1i"=f6@L@dA Ejg==8\ńlxآ5"@@܅;4V2),Yŵ$a $2Q@sCX6V^jnټFeoL `&( rv3ónfΕm㟒TSsx:]o^[[#$y?hw>^hb&ݖC.?-D3_+`D^ut` Ч(]3P!lGeo&X wM.uv +t?wi˾Py/d̙!!JZGחՃ%}Xzv.Ŗ:Ma9%nrŅa)ls_) C^S1ї0-`瓄ݨIШ(=HuZf9)\BTPqo)TC JC>3Yc 8,-fit(l>ggXSԩk.:lQfh2zl>bc/] &\Kouc@jHaBXXt|)'￴|*4C@o9ESn?* +O*7A(I#}fakA(] +_qD]@HVaǖ677?]=T\1܈&~{ #֊\?>ڨv6mN]_Kl3 t.a\N"ϖ /@R匨A$xrLv-5ČQz+R1-CoK(4U?;WV)f^&KH{.bWoc$.JXb(9 V*І[)\zӴ0QV2.{0]ӘI# TDH ~ +ɧIB޼ +0/#a#"`IqwF%ݷeSARg>dgCP A +&`$b k>}^Ӱ}[,=v3T3V0 +,_ +VdbpJC}Lc"-V?SC? SoB1Pl(D5)]K?TD!yFB@.[[}U^BL=uǿ~ .:>+'j:oo//JBcOW(3k`1F/'h 2X^SI"H-r$R]lk˾#q(g ,y?܆"Űs!dB":AGTF"鍶Է7X|g/Oz2lݓ g@H o)REVCE=*7*@x` x0*D( E ě?06T_tSym⯣lHi%u 8>:㯅¥ɕEJ¸7rFNL+ ^ͻXc}ǷA0F[l㿹;su^(d߷f3P,PtF uz +rMu^wAcIC^sJQٲK+bH*46P5!B +͕"3>k1yۏH-?n=jmMo4h蕅n劮Z[ЇQ+7쩣Hh[䮖 ~$0l/K2D)>h֞/MM򁌍S-'piA{| Y96lu¸!9Yt̮zKBpEKl-,[! +I"an~/tJY;f9ل@H vhۅP & qNrJg,&MlA u`=5Y"g ǟ_{IL /98Snc3?^hi],}Fb4&G>=l tqg٩氛T&4{n.~_{]-,yX@v~fxX?7ٖjzSC1HLn+LNaw[ ?n)`ddutpeJQr߿qGnv5ο>A3)pj4x>␬o +$־eqB؆DF_':ћbK_iNFY Uˆ-_z1+-B%&t*#T4㵛 u_.c,U"KF.+']q?S="f5şd|XG!m3C8NI&-K^dm=4c-nuBuʰսkiq_9ZEύ]Gחӎq"Ra>Mꇛ+j?$H0t}JtuYE?Qpn8dT (|S ǿV͍]?݊ W7a#$#>ז;_;'&)u}ʐ~s0cmGl]RImAXd2UyMw55 дrޕ#jY71Т뫘k٧;DQbUbz].<9Zam&1iu腗6dȢNy=񗆌Xk8 wx0?ZהNW˩./k cjaʂm:lQ-M+ɠ?w񇟝yjߘ.ͼKcQ_5Tӛ<ԅr)֐J)S<ܮVm\5b?'Y}%\܉;p #'&*XrV iXa0 a*p3vDaBn JYYW$7`16Uz\h`j|!BʋAC1b(:l6`hcзnRVnL^86eߦq;fdCV]X7֪՚Y&`:b7A.*$ сՊ:aa-T 8[6:5 7s!9PAoB7jNP/Y ͆f̡[ptgT/a&q=٩m"9aQ2]5?1PbGM)ʬg`ύ0,nGC2.kY}Cl\U-Y鐰Q?H@Ӊ iBaO_kϗ>a2kτ1w[sxbss_(S9S<\U7w_ I2N?]os$;HOW_x=YU+V7Ȝ#fl+ HʃgH5Xݸ\@g z$mQ C/7ٛf|a z%Sv7K#r *䗖$RYP8 pŷN7l hѡ"R]|y%XY $_dմM͚H,:J+w`+̠7Gkc54k-^+jzucy)5 +mӳFAyBy!/5kgCp}"=lm9 +Oh+Eӡ/wvT:Sg*[Ս?̳P1^͘F- j&T4}Ѫ/3źrd&Z3q'zkrS-p^.NKODBy.́zxcQww@r5g_Ȼ{Qs8LUKǺZ-1?uZ( >ƇTÍJq_^kW&YC=$je<iϯ3l P. PxSJ}8a(ǀ%hU#+G=˸V^-"h-!-i! 2{vlu–l,RҊZ:tЄ#kل3&up;Jq! +>z0W` @_?U'TБ1b]`ūEJ g ͦ;nn1ƍÓ.5֞4~--q L ?EN 댿p bm0)&Da?9['\Y( mGKyr8k&,&YQYpCL)&Xf2Qȥ?B8|Vs0iymhFsftvk)QS_k?yze:yԇ{-Mn7mT u1|e'7Qze$)\jr;rm0"r ] +ڹ7 pR˦SοpvCI! w8~k+_:e )s:=z}DZB߯MpB =΃V11&5fmuv}k@6켷~O͜"WYLC$#E9 J7&l;o&|ACiDIXE=&xNCxE@GPQ7Eq +bIb{~cWm-asRW\65>B["dCaIz%!y!%i޺yǁxv݂6JCM?X kxݟXDTH̤ + i&W?"xa977\nu_7$+^ +c[TF6^Ƒ[-tB??sHd-,h֮6o S5-^?yKlFc~̪~72j:@}8背5f5?Dtho KH"zkL*#?5Z-5wOW_pw0wxߧ?{~黗WBWX%ek 6ASF_ @׎#HˆԀa(І@eGo5Z]^V[IKDajB)$C@+H@ĬkZ:њNqaOTR\^9h7Q}ZA^AKuAZ.Q8! Z_ +H7xnY3L#l:IǦ,7*>M HI8a\RI7ӈVd?mRzP1` L&̠='¨Cف.7J?vYT7]g}/rqA⧀q`b">47YzW¿XBbѸ!$!ZõF:_i0gu;_w;qETj_fo=PkqJalovMf XmyB翆cՅ LM.z䏑#_IvҞiiH<^;nqanҧug!+)Z% aQ I]akeY6^h+\%agu>~!ӃL_UƵ5 /s_RHrHbri}YLM`|I324X/JZ F45sr崌 Ԁ7Yt9=o[wwx$-WfhSp{R d.h!+[sL \QqMSue9R!O0Lf|\n&˯9<#aG_{}8޺|_{$,k,~cvMm\PЇk- @e:_ӏ=?%2;QX;?QQ<Š\m7806~a:zx_Ouj d6VOa ?xk? 86 T|ԇUG*D76W!\!;JeBH-!<7Y~12c<2@@="s,GVؖK]QК6(.Z+Mڸ1n*JWoQ'JW7nN|7Svkmyʒa!tئC2SE7T% 8IS笣T8!Ol:)KEPPQc£ 7Padzb2X:;x Bi٥E(`#+oMl\ J r,'lyFb)sM?kqv'4AgՀzYtR~Fgy+eg!V_F^!Z;\JRڇp⟿6J$/WsgW2$+ꢩTsW+/YWbgɨ5O's er 3cwzB]X~tX?`]$"C$ĜJI{9V w!t~ ' i-s54͊@&4ge՗J?yqHnf˺Ζ?M_4eaG_O CgL5;/}Ɲ,fXKKC=Z[Ŀ W/ﭴgϜ/}Vx~S$M^KS5LSRהmHןC3pFtcpkeV13LH^@l弋C~i+0//1 ϋsO}!C} "H{M}?ߍ&lp=]GSw%'ďcHl8Ż;dc^)Z iaКp"#q@/"@2gQIڻe;Zh, orѱ…\ //}צgCV'bc'vB$&it!.\Dfy1+!Bd2UHEpzbnA|qT_RQȑI{?u&!j"W}\)~LLO[F2br)똵xH `hO{8"dVY  w{7]A2qq7ňJU*aEjt-GP{oT5ȾTD")"bS$1V3Ŀ%4\;Xߙ[m{#{N0Gݷ+%}=;'ջזg{~%#搩3ɉ>ASX @6lmCެgAx3 !H:̲k^T&S]-FwAXJ蔌¿'YۨZIM +r#CƉK @Gek{ ſƗ`~ⷎMѱ,4EI«qK쎱g:&՚ :dVaHn3dh:&7=$btK槝ޚ{'E?aYĈoք:&AF+[+͹2q/Leհٝ}4טמUlkݍ`O7'-f ~T_,>&R#1҂=H׃]M''!KM8RvB +s\K¶u"וe@?8[o<|Y&K>/{[G3 @5&[>QyK>Eى?}V!}?-1Zi#'|I/g>B =?sΰC$dCQHrS hL:Fk8QqpJ̀$%DzĔ`92&naN y-HO0ܰTZ5c0f,"v9խ2L.}VbWJֆpsQkWg1-a8(L I|/Yi$,դ lPc]r<$'sŝ(]|dݷZCZHOy*I;l +S6`57;ǟ}|n G*M|% +Clߜ-+tW&Wɸ;/ZN(Jy Ia.s?iܦD@Ctkbhe8']WwY-2.dn*/& `yؚsa2S|[ܾYŴ}- wK(OpkU[01ϬʛyvN+s՞?[?ڭW -fwD?'.f6g&r2ll\']k?օaؿ|Q=]~g Hy'JV1/닒NcJz?ߍ t6:;IGiEkaAE]8$:vQsZ\\TtPQ&i,mS44uRg=1مu f~H6qL_3 q\lJ+w>+QvD_GX%!IIHNv^I 0yFJZն kQ} %IUkGK:21C ZT`\d +V-nFs_DWNB*SkQ1ۣՏa[ߠ*"HO4xW;Ռr o$Vyd `=Z%:b3!L@S>!hEԖH9ӠcMU\ +[L?Sg޸r 9x\xtΥY̾אzT#UܷPkEzv~HElID`<-m4붋ɉKWBLX{-˘D4݉LD?ˣ?J3.|?+;?E Āz wD#nDjo?pq}%!Xq9lT޴7-Z3#{#܉EYstYwj?/.6j7GkDYH2geߐ.2ZXV.}'O [2Z?67q(S,IRR Wۡ51SӘA5& [zs%;Y fCZ!B}v:glh+rO-JʖmC#$VPa]+'޲DŵZ1mi[6W0`Pk++*,mFs ͺ !#-V`B:P$(4ty 70rFAcoeב<U !c mېBny<+ךDqTW}3qqъH?@;;*xCms"ڇpR 4 +!24ʤ}^kӔP.fV +|Lp##Mhr, }2eqC_Gm58d#lX'dX#<)PXDǗsc]n[ݨy<ޱ#t{t(]6~:ޛ/פk9p_4h T..b?54*͉2?cNQX}EڢC'%jP4a*24Y{4=x_w4Y~(W 6 :jL*e&3(%(ZGIۥT>K@^^*xTy?OK%ʤٴB&󷸆K(mB@Bz +XKR$ # ɗdh"oߟKy'l>(?ًe.$ +^nFgPKU)2H= 3NXߚkN[V0]?- $s[0Nw_ZTV 83|+~fPXz5{sepl-lzVT.{#{fDю0'I$ġ7Du8TEd7\f&.O x\32,b?6#p<̀7pwn!~$X{} {W586ԩ "}R|e:6w{՗yZhD&%Ĉ²*u9V^HJGt;v ^H$1Η}|xYN0`i{dzt,"aEAsضZڼbE}vI0 h03" Zih 9 "|wsM>77O`C`իU^~]3A_, =uG!=*veeOqirYXM\7k>)mzqif\X@vvooQVgG7GEMWGMd. E[/xg厩^3UjnY n<@Me&<胎vYg#aC)!0u;_8"dDoaQxv)7TvF"^ހt gP_CN%w-/7#W05QPx7Sod1 LRmgF@prple=W~n4} E)4 +Zd@8.%N٢ʅSvۥ & ) c6 v4M4Z:&y+B蕠%La)(t'4>g{aX%q҆(MkZh)HBU OEZi^h۴vUT̘7h B>蹆d:A ?rot)\d 0[ZjoHW#Bb(i%'C*NxmᎩ^7vlj_/ZikؠS6<:D4`tW>H]ȭ/lZi^:4M.-.a],@V1<>>kitcu.և̛n7jM8`=qy`63 Lͩ;^OWgq})7WV虎5'"ەh:kP@}@(F ?qi.9=nhH$`+~]n!?;]ߝ:4H?{ l;LpNX[׊un1d쟴ɀA^Sm`@7N~5q%I7ɞ^Fm׊sVFUBT.ABfcρ +Ttk +߻,4?oÎ4 vBA>yz鄀@5SްNmn|ƲZHQJl&YdtQN77?77OAïNwbҁC:hG+}t Lkm1i`6? +PtX2l{5u1` 1}.wKz4A4'@!po~kߜ`C ]VH>kBk )&UqdҥY**{ؠFd"sVBP> Aψ}F&VѺҢKbC)^*[?ETBmP 4˧֝*'֚boeqo??zo6kJ2U-[AV.hG[fwݛB?*\rpaPa^ +c7jvx(I1lfI6tt~Y=uu>FЗk,eE$6橐NHtB@Mݿt ,Zŷ(m +]tVDžMD'Hh"CI)& D(C*Qwto:05lT 6ZB7*骉M43.iJ&fBڤ*8C* m0JC +Yaj|A:e,yQB+|5ÌtVQ]>֮/{p8( HE`hn7\7VЖ9ඎ# +lLjLU?E_SAlmlKy!2T:+1N}Kʕ*؁>$H>4OtarÚ'{q9b:%_s&d gaEDj9RV -$9^j]ԁtX'V*rh +Rʃ.1S ʌDt©z{3v8{Lo_ir%KRw/D!Nmt{9٬@;V?;Y'./ajt92ߺtˮA0ڕሎn~o˒xw* J9@)~' ^[)<τw# +j/odL::'߉̣xf.bkqmmFȁOc_(X3p<0䩙d0$a8R6ܖ5JII:2XB[ӁzԂ&mBSR[rjr|ZJ :]<_R^/!Jzm8tcehCvk$>Bqǽ6 [o@0Uo#s]u1.4QTHxUwmnGp/_=#V=M=Ŀ,4㵵 +J4'*¢ f3V%?n]Ġt V<o<6t16? 1Qojzx۽SN%Lߥ_~2N4ʹx+cw|hK@ !6&(G4ox y#7?=<&3K4Z8wlܕ?:! + _dTUMHP:-ܬEz4l9Ŭs"M_/LȎ-KڄysNt{,9j7%BBYzƯ07h1.5}&)e:SH8msm5MxXKAgIɍK+mt@FW:BÐ MX(hxʷzL/i0˱" L#-&?i)'O$*Q_pJŻZw_*bG|<\Di +ig5낇7n*b4W9H)! Q@ܣ +3҅<UpCai|Z]'%Y91YJG2O[ ^|QY޾9UZZ+)B?W 38b.1lG鿙’BBqHxS, MFx 'U|I7?oɄ 㿃 ĿO.}zq#D7m)wz4ۭč&\Y> + @G#腷< +@Zaߘb/+!v2$Vu[>U +(h`@ 0XOW$hU㐵}F]35sܤMM[mB&](eƴfN.IN"ipS]ʹ,<ı Ll,˵DJ^c-}sEb#@ʻ,)W(iN).b2 &JiMuy#j I&C?I״M^9Uo߈6rӐW%honN'7U[o|а `_A3Qq$q4>GsBZV (¥mfⓩI⸴Sq۳!2˟iƣڼS%ifNRR}߬A+z׳01>UL$?ɆJC(ҬB}0_TBH|z *R/3I\gdbRme}. (HbSȫUQ|G!\cұX }d*_@$#CtҋVccy*DY>%'"6=NsL0/J_ C>QؠUߴSeY[C ARh\,߬3Yn޿KRcaxC|MJ9fSYxp?>n>crX;!aۤ2 עt{rZ`lxטmd?SȱNUYe6X%8b܆\ M)lC,N/P.r˘As`I:TH,'c|)?9TR5XEGLOԵ]П86Bd +BJ +𐫼$k" 5Fe-+!'pWl%6@3/۱ +phY$> \PՉ7kZ/JW֖n@퐥TV߱xl=/0鬊(qZRuRMNmnI潃XqÆ X*( +$-v&qGVY1uL)с.4"7CxZ,N/־Щ o?/)Liɡ 5qv.W(\^ݖT踤0xpVOʦ۩ZRH4?h16!*/xVԼMDŽ ^ܕȲXl[EVYƉUċm$Ic7+"ra6@r!6Mf۞Pw]Bi1]R +"@<~> %1+Q5nPBX㰼7>POJrd<9=zK*7 \^6k[Fl33S]Н/[*RO*٥rqlVXI!_cM3j=֎QYKyF%U}MfG>F#-^Foכ'S`xl0'7K7o$|cI m붧i I` ]lL ?+4 &0E P>*iY -9wAWnŲ@y.:%&ӀtRbk,>YuF왈ޗ*?4R (xQ9a$mfl!KG*3mܾVQ&*W껎Z{Ex;e`s= +bC+͔ %Mʽ7޾&q+KB=݃E+1أIt4 zSПH,L*1HDd O@lT?: ^^F!Y)uδ[sY_rn':/P?yӿ?l2(Z;jc._ n*yu*MӛBמh|{JR.uzC&Ixz 5zO]{R0xLR ]c}pe8/N/k9X"oBh9QԆSL3oO +Z<@M_sTT<~cGߓ,Zry^U46'' + +]#h,(V#!Q$jYź[ބ3 `fYnBy9yQ$8pMG@.߰H v3HFyS6}!Ng a9OLɦZl IS1 ފƞ*q*v07>99QX4 +P#& k勼w&omIF3d?uOul:7/>φv'AaL)!!>PۂS1k|)%e2b ~{ o.hs|& PZ&uJҝ7«-ֆLVǂO +)5$Pn޳{^ԱxQ Y^c})aiv_ol؟ϟCZ]_$O-4auVRn+?:2e> KXnSߦgC53i I@ఱ̔%a#!CRta%j*ARHIQON*gx6[nm|PËr֏r"At H)ǪAA@yت/&/zĶZJ YQy +B*-c|p]2@lO]opǹp!&$n 9ʺ y!Lk1Cx vG)AY5@X1q,T`kM5:9|“Ԓ p</kKvb[pSpX _^`_7߈ng IP ϋS4OZ$>1;5=.|mE\Rgm%-ۚ- o n,/ )*Jsxe9agpOlVeH<1 +ͬO +˕}:%þxGGs6'\'2xI?,!FAS!"r((rPUV{oca$*|,aCG;BVזH[IHx$h><=_ Os=R/~V\*b#I2*$#DzEcF$MћBO՞N)،4Q@t_CD wJҠ=t#OZN,^H+;zs³}㳣s`YT ѿ3tvړ9S+O.25zd$$s?ҟrgHLjt ˺Y +oob6[G-j9 ܂Y*ۨ^·Vqtsų+,$xdll7W&( 7:0R4[CFk~P6%(X8,&&)lj =\m_AOVvJ۶RRĻljVN0!`=oy^wtQ$AQv_xMCw+<6>ҟ9`IVւ|P^$2agEFC!5]ȕҿ.uJtп?[;E6Z3Y_{5}o2_ 3rӿT'*ϐ3d7Qq4lUyS#, '!74+:dZ֖YS|96)Uӫ Dn١7PbZo{yniRnZ|`%<|'GS>9.iV_l-I' *fe2p"`y;fc)XR!2FKK伤sM7TtUUg.@̓˹#fyߎ([= `@oqR-ʇP +JX2glR.6cFk@Gr5?-e@kϪrk66_l``z^bZПVYIm@ecQ*8̳C`7tnZ= i)tg7?!2$!iuF.%ϖAb PKR'r]lQH x9yH--IGdzSZ~Y3d)І;-[3%jN -dܾ,"+TKݰBS`Ո4s$-4amYbD Iib`zSPS,tyc"zyŲ,:lH:t-RBlֻsػ96 qs2aLJu[Q6jy?_"AćOX%&y$P}ߢT(Y6oӦȥl:&_)%,Vř( T +_1_2{F5? ͼBYb ŠTfi>=)tAK|FgMRO}dMȀj0 F:^[_#@ҟh֏п?o͙P7H4 +io74rKK/ro*99CƦ 7"{fzi٧ljY-_D5fax!kl+:+\9VEl*f-^J$J핪WUHDbC6LVcmd^qƗ 3! I!IdU*@,=]l%AġwJŕ֣cu.NA@W۫1|JڅQΌ +'J[bl{ Ie6 J]f5)t9rsք@UsojP w?Tv}=RaY8,H +bt( ü1 ب'7]øK3O]Gg?q#ҿ_ k7ih9."xONy F[ g3[Hc_/ky`#*ni 5z⑉EY?ƒmMŦ4!)`(JQnmE4ԱTcR8&pLfAUm\>A*~KWAt[G,wO O-<~n40ڢ?I52qwRS?0#/ 76f!5"n8̙ 5ƮѧwX:vJI^[-$M2֠} @Ǔzh,g8YfEf!X s'[1z=s@whuǷpS}΍_wo$כkBd4e>>lb 7tn~%`֛BX*؃m?7Rrϐ'|;&$U}g/ύ7X_Sr)J(Zd:R,WLuXVd"iޱPnVdsn<9jֶ_N`e2'ȱ>qCl /.džh+!<c*qJZ@V O$\1@4gk)<7(<V-|0y%`of7lkEB@K9Pt^c-^)1+XQ!!U6=xŽB {%Vt;e/Z;S +j oFdx"iMZ,A%rX =hVK&pe^Lşd过hElΓJ7@Ww7K}*Vf_ok3ɑ L=%?ÙR:^o.}$D:["lj$]!]dʿLKz AFȉ /ύט2'z2Oד6򦡎jeӃYucx^'`_)y:L8NGҷ +܂&6;="m! zsT}MߏxfGs,Hl8 d&(X[(0 ZHQfV. EM4w T6$o0gCrh3W/MMj{PMa`q0K&ZDU8DQy[1 LV +jSLgT<@+.VǿDz>TMȬ91/[O$J +$z5G9Di;ߥGF Vqxk@6󜁲Ҳ{T|ɛћ ࢯu˾rv/ae:}=MӿÇ;PUMƤ^@OnDIKKr%|ZbG[Ӥ٫Kt>_i`Ζ}KZ5*?/OiE/|7?-MmXU97B <1i<l޾|ښpۙC^&#$;IƗ5>c9}IFeCKɺjޑȇBC:,Ud>VP)PK%Y4[ +eLb@>$r9DQ@_(iUd0V]mjW8=(P+zdއWbkX́J9CYF$.(Ges^$Ǟs`CLr?i BŔE_ 4g +M[KA MlMyRnrj㸳#x rymJw'5ԀqԣOdBB ha)`Y(r-4%łm%[{O2Rޠ9MYT'"`StEC'S&K:tx&XptD}x!|0⃩j KDzOL%r*w ]H)g5$:/{n")2ql;j(fD) _(/[%<.卖џ4 +?؂ȀɈ̈f[qlyJ^A]iXLIS2Z,8OM4Ut,:]baM`=P.%ϊyD+ң/2C8mwPvJ:84JzhPr{^CnK0Zryu-~8քBڿ+)iy[^O$CZ\V4S5fA[dϱrl|@՘B/9y< tCn|#>g,X(/3/;ݸ + 甏%wO1o5)>כGrh$|o"/+dM ]tGX`(*Ke RR UX-?{,Y])ub_  +9ql .Wףdܛ|Y_"2Lq& [#E+|hkoK\@X#%`eC4*`2KSqSR E\e`魨U?8Úol)ɗU6Pז5iNyúܬ۪zRF~"`8*guy_ +斶1v˒gi:A]>7JL61]e!0ג']g,Cٿ= +вX\"+D$[2%|v)ꎗu{:K ,`ƶL1ׂ"& X^IBY` e4 =^?/x;&/rgjo3)>y-_OB/)>8{|U(].g2qx$&ÓU˚gi h׈vOuJA5-zURw}0VJF$d YI ךI֬97xc"~B%tvf8W,j{$\1 jփ@' +$Fg+^"|e)-? Bk!ҊTTE#\yWϯc0/?L|5mv~aJI/v@A&xKıK̪7p+ &c%V!)>2ϽR@y ``YHqYe3j}DpuvSݖFkthw$q׎u}1r2P T@fƪ)G,Dg3&sza;(;\-YJ`th{3iNWn{/R8$ P˚Yl pVGkU̽6{N"CARY6GbO(6}ɒ݊Bݞ/kI}W +tNt?*BxfwRm$ +"N$>}2HcYl˗ +zSǿ-~hT~&=h Yҿαx,:L!*EAmjAnӗ3M*]v_S&7?zGݚl8 ϯa0kA>֝(-Lف,[ }ӣdV!rlYQo +eЅr:b^G :K§f<7-?z В)Dk)|M)vpeW '%:>*& ?[/-8s5(-K/v}㈇w>{W1 Veg`GYe񉧏*uy/y. +\ZTclw ÙMb:x]W| +h @n($7|멐pʯWtfbj؆WqU~oMc'9:Z +3#)7\(N);MmNnLVP5VT|5/kld6܄>Bؼ}oa @,dY!_2%oQ4rhʓbp0͉嗏 f +Emk–T$ؒ.  Z4x#Cғ{%˙ cE +&}Gpk_MyobE8փz!RҺ|a@Sψw32ӹV6b`q3!#]ř?[{ #ɬ2YW [MJMJVigL@'Lc̺1?#Q.d4_(v=<ӡiW2i#WP6v.]d/$Dp8f1:1AO xV?VHәJFo^uH%o*}yJG +%QV (,%2J*+[-+УK5T5='g,FUh-h(*obԐoHoUCK +GL'm*f-f*`yZg^NTܶ_}L|`KY-K}&1[t4ƨ uXi"̮6ӹ!LďޠQMňݐD -,Lx~g(zBM $8 +1\? Y^ ( ]bzJOf@1&+rdB1DmRp!JARlh)٧+~}P {pNT\IyBbI_ !5ȼW@K\/6مR1m1-cL#Il"KlI٧cPC|3|%ƽ:^H*臊t1PyOӽ饉2(f:@څb@nT jF Cjߧ=\72DQ' JA6)oڨ{7mxjnHCvXK{LKL[RHJ%P3LJ\ d gUJYp42 3C3#qh4ܪXj-63^D0 +ˋ'S$LRCQ%ЛBg%Uc㸘 a#qXw$_{Bw:,8d;$E DV˞oSLXIwPTg_Wk>O4 \I#3_iv f P`P0)OyRnIRni{?OKwq)u<' +6\"EԱ=sTOo9ۍ?W޹e.};-=gECh&m#8i^ySÞ3vAE3䔬<"WCn5viaW0n!C2*Wx( +ŽJJw- +bB{[\ 1|x 0a5%{=WVhp*3q&R*zu{/¸Nā\A5+e`y PgO#/Q+4!f!FyL8FWp{(B+\$ "S9Mҫl%3)3ygZ!F *MfwaiN3_PT$yi_s(U:0K+<'*Qᴨ)frFi3aO~8ᶤ Va¡q#eΠL N GDUn- Qz4$h%Pn#"u3vXRxn+7၍bnu`b n 60ne<֜7Cg.X"6)  6U_0W ++* Ɔ; 7>O_D?,ϭ}%#a, +zE JU4u9mU +`{yKXaܒt^Ǟ|%Ai?JRj)~m01tVx'쉤t&Ii(LLHgp<؆TS* a4&tMC?fw^kFa +(C0,L}rŪZ3 $]@@@c=tŚuP + +KZg鶕0[@,׋uU |v~5y: & |n+4[ s@8Aϭ}eb0 9+2 6OXƮͫ HH KOW^̥ݴ'`^-}C'2m7-wϐlKO]{0rQi%KPRKyĺ 6ǐX+] ` :N/H(Pb\)Fj{;||p +Ȑb +y7 {_XC"BQ:; Y*c-&] k;gp鹵?g #mjqa@=.E#m9t7@a^<,.GU#Y;KPܥm7ɴ?s$;d<1JBV׳֗֞忌ko.%/,$Pwy-"R}m[93-K=8inz`{`t%@z|#* |?έ3'dUXr2[}aQ .эz'G:Y=L9}yb'i?q]J}=g +~7Zw +c?g˗?{oght/~|绔'l*(,POy] -侀0ns~u|o8iۘߙ+q(p#]z B-4m}eEUrG3mP @~b0jQ'PwM8%r~^Δq<@6Kdڏg0{DŽS2wm ar_@@@Xhh"Mmi|{&+&s Wtؤg RifX6G#D@jy- aT  +%*gs +_pdĪb[(Q- +E@}H@ T U0$ ZieK`ϑއX#@juU`\窺 XTyMjtaXzU9R P+0A p XLy- PACuJ)}  L,wqRKBv)_'@ }LC}dZBjQR~{=gA{WedTrW`Bnr2/ke0N; BZ抭+PsuJY.\v̟  į0w/BѨ0`_uJ]/R=G3ҊU._$y.拉=k8~zK+,4p&?YԙZ.`-}L:% ,R9.(|Z @S0/pZ j(]*0)XHb'qNcCm{9tޙcr޹ Ta,9L@\(h@ә\˺y_vPJV-;ԥ0`苝$7AaIa + ly˵bhu[J xpt!Ue"J2-ѣc\ `W7jlTDkwtj lq@'bJUAc +@$y[ fk\rڴ|jPDRR'4p+s\ b'I(FL5{p2ۺYi:P]HJU\b'IFFL*w͜mZkGM_Ww!(`)3,ry\Kb! Dy0ruzb'0kS,weO+=Zd1,]ǔJH}oahwTeVX7o*#?H4@*>,SMmwwtܿXxwLQ"]`\s-w"MW(`S@`TĂ<ۄ +;\uBdO?b{9WL(jDkw%?Ve\`K_1ȉLCMJ٨P%C-ш޻#F) +';Z{[`Uo3ˮֹ`BS, l멄鬒d1jKO]5=<$"hgI +BѷR;mdLaHr὆Xt }5}V' :~d¤ޤJ{ +wZ\SK I$@J fyP/@}[5R~ݡx4V5&P+"?Gyc;馵<I>IOC_ecH: \d;*sP4lWUeVM\Jw$/!`۫~Xm- +g5cӅ'VwWhS 0wD~g]ٻ~pIMg̮uVjهF^nޤ:_VX;L-},Ӿb"AF>H8zr?Uf[ջ;4pP?8OkrmQΡ!;65E1`+}M@KhƉą2[GL{^_pA6I1 @p/|G[ {$kgn\*l{#k%5}K0H6C.8_vz/?ݿ88,fϑ9. Xw(X|\ @Jȕ𔿥PX1<]׼3eH>g^un(`-[ٶ{J_\C䫩/QqފLlL h0̀ P;q\i^]/Oŗ&R>'n~V @Gp0amqho=~f~7Nҿ= CnɮLǷ XvTU/?EhSؐˠlNYkoߴk@JU5*]LlUs,k$kn[R2z?ά|:{+8xMz~7N2=n R'|Xߩ'`|k1 1jǢc{c,yٻK F+4Ի7Hֺ{sqEw'?q y\0i5  #P#8YЙSw/<#n~{pNJ`}"vOF9ԤtR @U\21-a]i&x͟ޟ  K5 ~' [:gO`EE2ռߡ ;PޞZ4$85+8vWpyg~'/ b^.k=Gkw*?;gS4C|}tÿ:[@oZ„觑sBW[vm3 '¤ `LiLG.1XU~ @` +M=#my3hZ~ +[:zpǧ&~4OLpSF6;~Ȓ>2.[qdfvo_#U,hVлA`2grLz~$Ii(!mXUϴ`/đσVl}ZK8wsWh65`\ [y + +-q5yƴF}q|Ϳ>oNc0Ӹu&]7O.-f%n7 +e28mO,(w9{.%z Y(Oe5^y3;4Nxfj0 T$6 @8:}KPqTjjG{5?G M Q @0?QZveiɈH[[ A4NgV~% PHP6*#ij^Kt=3/%2{%k /4HReh^/lw2MBq&;'٩e|2tSGPaM%G2۷ <֦! Y2"|h/kWrpWw4O~"鎇/xw'~U~壭g$g遚T`pF4kZUN^\/B)ܷM]kgh2WɴL|o5I"Dwl[OXn043U~~h*H[?-4yHw<=06X[̜t@,mk2)2GȒKk~QVy(07|N2[mU~ u.JRHsYj Npķ`Pnq2o{j{` +hG(sԣy9R݇Nϼ}%m=&bn@l38Ywޭ%2B* VCG2'쑸_YOmn#`v`%.mu<ֿF]I-虢TE1.[O5`?cD ]D5-z7g.D[m$΃ ˔uaw&S}`X_}=l}ȋ豑lq|ͯ3k.e ٹDnsm"`.8\w79zRɊGQVtɭ;/ncdaH5 'dgԸr[SX?#{>|D ȷ}x+=fd!f@q 1_sk~剮P’Xϱ' `lG2-oÀ:35=#'bEzw jWp {Ck\6z-k.t{~hgΘqvtV; +Pb;/2xKڱ'R3_mxI +J7/p7hooI'k`CD10fOV;?DםmPXON<Gy`[ ۯ(_t绷FϵYy\kw*>[=}Y{HrzKK2Dar9Ni5|t6N/ZTٻ*H6`.+|ƿ68nyw47>_t:|oK|8}Ϫ6_X 6wB&7Wzo3,8$5߹?:X#a@ބJR,mflOHw;]Πr5gT1} #uYnjA3e[$([P݊:,eJx<"CYp[nc9t/ 澇jw%;H>z OF$*MOKomS@gG`m)51\6*gg:.6ny@&˂_mqn;fp&h-Audɬ8nM/S@xX RJ9߿38#=DžT$R+UCpkrV-'$XTvܡl#p"U%ԡ +&;͙GÃgt8ǞQɚi=~! (ٹyYpmG^te&XDn>FEJB~Bg+LqX;T +p&ag4 Gg|'o<.=& +fJq> c R K7C@_`s]HײEVCKqXDiҥ`;_%mgZYfۨTn8nۗ\I&ރ_J=M`~6=<% + /y<~+o^Ub]Nn1_O4ə>ފ!gEQr³L,AT1 Kˣ\3fn.@Ӹ<ʞ)ʿm+(E;A4a%_1KE&k',kolF ,u]-%D\IVȋAdPH񜅖<UP0e,ZHUJSF^VsFiHO5ߟ,u YI6X) D镉#+`\yd;m5k/M< CǸ`1_3XHuc1 ׬=$UY@nSȘ lXɶk 60`@Il_7;n w.LVV#$IF2ѡecē,* +qZdmm 2|Bjp~= +vf`QUCX]P(3FP날_h7y~hgKs,jYUmf_yY͟+8޶*ARVmFgZ_h 7d~\dHZaegd˱}~~0&9 xp'}g%&>9\ Sf,N!rk`9>'l*%lȃ Zr|,z$uuj9.q5m+G`ٚʟ +Vg@Xw0z ;~ZXzVQm{kSW2w@}oɥK\JѵZ? +6i@@/d.D-ZևGM6]G?{+`sM&2MSwqy($p0ݱЀ@q3OZz&F)sTCQIBӹ-)Zt:>-Lǀ?z3l=J5ٕ?SgjY+v<=;couoJ\iFqe:` xpU܅6{|Ñ>"T >?|̻|-wwW`` 4gsͻLQeљMt3G{]_uZLMm\reR=jD0PdKCK%h?W:J&_b9J TCU϶}`NkT]?~cQdн-0ra[`o$>z0vkOމv/'g@T*yzK--L\7eIXy>zd󯹑R9NއKt{U+L*r07{jSjX?{nĥ! 0{Z-T˽f#]CGjr8"h7p{~\vË4٣\[|,׾Tݝnln~ms-;#hr9BC}c`XeG&ĬrRw5ڻr%5xj֠`Щ];Cmxحh}r_r +zh5H)!th XE{ލXl>i31o"`&N81W/H=?i;4iOpÑ/Oءc$C*^;N{7oH:ʝBr6| U.zt5neFJji?%~n媐7@W78tQ a+C~"f]kX6ҵ1|r ]y+_^QL(S_POĬ Kϴ8p4wo ~A@[O!.WVi3,%n=7`^L(N26-;Zr?}DuUgޟ%OUk@S#ycGe:}=>33wd(c9k>d"G2?}$ߛXE챩;]92_P +CYIn|fo{I/ WKsYjMD(XZY+_`εFW6U0_wy;`"`zD֊ECj.he_-aOv6j9Z&0O0nUُ3aJcHצZ bG̓;/2WnB3M(6cV ;CG i`!iw hZ G $z* 'e&gZJ+P1j&ڀլ;q4%`ra9[ KxbQ9}֋n6БL,zm=Swѫ߈ŏ,< /ypfۀZ4b`4 _ +˱+4ԷH^H2\QjDYˣz~BZ~TLza,4Beb\~{ *#8\384E,N(bV5qtC .]*T%rvC+Ct|uBq>,K5~XF6tl ȯ]n7پÔ9#m7C_vU,~,f)ETe8.4ᤥq:9=?W Vp^Xu[(5=\? 1B󘦽 QFL!;(`l+JF$5=9X}O5k@~ηvOw~`qn; ZA gj~o# GQF?5A;q<߼2r1*aЦi%zxd :yXr 0Lf]{gU_A~sKu|'̍6zadHw |&<< O|'usFMڹ!xfnQRw`zk YLޕjwj=a!i}[3V%T{er +P䁴ZAn? _d9"AlD/2c*k7TCAzRu*R +Q5YUcE_+H.Iy*m9PZx}g=d{qg#`zwzP&$讦w;;ɞ6]_`?ɯ'y]~(b^7gߢCjjAsfv4"2J1aȅن ]2\a,6q-ј< <e^ћ[ݱ#{c`2aTcy *H-'m;o>p B 7uTTw[ ,Spo,>-V5Yht(泏DpMg +x'+|76#MsoTH?kBad/DT?ۧQ\\-n-xg uh1ZA}n`,kVD F֋yF`O~3:@v6x?S&6ʹL:m1PCMw^JܳMM$mNRuO\}TZJT)NpɮOLǷ)/zhAUp8ygO|,\ ;'F6d.uwXM{Kmu)>gBje0:4=ݩ .IV^/J<vl;;H<) %ل6^.~p&JeF:n F+2?|#_*K-gFU/$NUGծT i5OSW׿؋k?|6:{-8ވ{BC?&sBv,r|d.uOXMSXn=G^>ϼ6JruVRgPrԐNYTF,S_-*MI}b3N7P @Q@K *;nڰk5āo )}?F), @x=]ET-/Y"C=>u>[Г[ٕ qim~Ov啉[&<mL?g涋L5Ϝ SCh ԉ `Y47UR=dH˄^mí*wH? 0@OU~~hgF,t]Ǎ=;g`^Mk 3FSJPpjPh{џOYAl=@3XOGkڍA㡦s c ҊbL_Akǻbkj>մf7VK͓Z6X“l(-#Gs+nwXy  ~bxS'^p\J@&+yBadG-t򟴂x{Ror?ZZkj +jUOL)-cϤ KD +@gяr%~<[ Kxϕ޹+z2ˮH] _Kk|I֏7;H #hF-ٍ\\xOQ>k 0)`Vn%R,O^BEw\;88zwpPkj֨(B(9 gN]6w Bd~}jCW֫y|ӊ{B:Y"7ldp5C 6 [s6n + g8ڀZSGH|"72zzaLOtRu|#Ӈ"Q>;72:R@`VmӹhMǡ֨I߁=S< ki-@QͺGZ. 5֍ӝ2G& +텻BCj>HZ}0Xt?i#n] .斡YF3',n/Tt{LHJ>[K}o +`3J3hף5V4zwǺWAjfW5Z*KKd-oA`M/l;BHphAH +`r#V_Yvj`dtU|LXWpǎdOD|U |;'4@?& QݻKTr\ŭjHQ@saI տt0Ӿ'Z@Q Ql')Zqp(@^ 7rT߽-Ohijs0\l#ǛN P۱iR/93"2S&?PM½O5 3T}6Ehs-yG%GL2V0;whW0ٓ{@|hp?lx󉚽B3JF#0eԥq+nւwCSCYۨ5Bқ"Jѕf#` )[ 7S߻7lV5jWΫP):ooGīpѸ_ {^jX +w"^=\)4z{ z[> [v{QDϜ6~h?avr=>rȎ3apΠKуy;E g`ͼcJ ѵw\^l@\vkIТˣXf7qb=2n=G^h+w6M&(pZ\O_dJÇBtZ_dlRi'[&q'Xa>+ +Cjf||;;zoo,Ļ {g 6gnR(W݅&~_vf={mNKRcoG2+?R^( +Rvl W^KG "_+ZZŎ?Xm$6$ΓtȶġL{GdMJo9#W}Zd[&U]'~IFE Qm[i2ư/eݬ+dNWVKJ5(R@a62XD g +,6RLnҬfq&ҵ?&w77]@O}1kd5AbգO9z6_!:`jwOw#W,38 t{I5=% PWWHww&6| 6Ht1#xcbÚuXm$&X[| =X7ywZ>ET3hFBO%REg ٥a@PsF1'c[`秶9[Yϳi~|,351l3 |l`8y]w_E"BD +\9w㫌$V;;bNsêׂw/l~V!fUg + #;x Р {×,D}k|g-a[J#yyV5ǃr)ݪtg o2_<}:UgHk`0)`UwdP?Wei.D7'-ݸ38}||}"w^ټtei gmX76 |1\+70/]h9Y- XKqKb)@ 0 m+Q3onޞsŖ^T038fǁTW #?zo㽡Z^`Ss;:T`n):ad'|کKe e%V#RO' +=,EZVWhSx$1m+!ӏG{lu/#Y u煑Ϳp!zdՃ6{MI],W [fPz8uo +];??v:#̬).}tO7}ԲW]UC'ȯ?50C0OzӨ*1NZ~; Kz(.4[w8-,Cm䯀0 ]ᱪ-V5B$|2ۺHѰ\R#!=`aA_)}slTi:VItv}ꮟ]x#1U +HUF@% Ю`hcWjfxG+.ξ[-l(؟ZkhfWhi( 7x4qZ=뮍ҧ]*D7٪!57Ǟ\hʵݠ' +KY Ƙ}]qK˴^_(ٵ`:lod`?fBF,:w A]w߹'4u+|诶XRHF{D)d>rW91Һf G@9/v<ƨ4-uM9yOhnJ[:J+8O,zT%ʂd?WyyޫkPʹo@|gwhT0S,S )TgY wk9_`-k=LҖ~흗agpl{ ^5Wqaћ(Bҧ]JF@O + /=ezpZon»gV(\u[->WwjW1nG)|gHǔ5!{fbt:;3b̆d,J1pUͽpV +,3O4]?]Փ psWzrj1r;Gfd!#W^qjnɋL?|ϹlaF<ϮTy/@rx6,Qn\Ф鎺?wD.`u 58Tբc㺔o°}pFoڅ;vzn f6Mft6~,ڷxiuˮ͉l+(3 [` +d`L]4p +f qCj+} +M큑Pke\74+wZWe]38Bҋ|ԗ#?eUΓhd :5R7H`Rr`dvޗ\!"Sr(;Tgw\b M5cF̀77[44R +hBσ K%a4P{BfU撻n=Gحz ݁BdpgpŻC Ԙe7jC7utw,.o ^ o ڪFD ,1&$cֺp,K شe}o9b&z_'å2E{]o`8u,'Q C@Pכ|tGGpMrsܸpB=~L/[b]Ta?^kk=]Yy'5ix=11%w3hxS2ei xT)Z\tpwh5ls5 +\y($;[#(]z;!ȕモ/eS{X gO!; knvG #pFP)o]}mLMo; +ں$ұL+NlSe)+OSp\ 9? @`^m@ 6]J'zhkc+Xen>ozrCJ6ͽP6]|zo *l gMv?|wZܛ``mKii+l{CnxG&_[;bJ79>vf$'VaWXAt"m9`U#0ޯ]sKmrS+}zp3'+c`ǖw-b7a7=q#D;Η X//!^ KkZ d\=іo,5uZ_x4rQPtdZ71-gSPHsſJ҆d[ap()9B/| bb;H5d~I-PpоԲF֡H1TT!3SOO9#MܳD5w 3ٷ50zMZ'sM_:BbTB Rckqĩ8Wcs @:cj Tr8Z67jw\Ѵ#8U7A%vO"3v4GAJ6{l|i|shs`bV`>1FOZB\ʁH n{4ww|MV h +=Nw.O ]FOw}M}QDKT52и[̛ab9R`Ĥtפ:+UXLm\JXƚSٖf`Ew!+:2bް\,blCˤ۵lL_;Q~r5>pn. ++=i+kQ:hqX:WgRjO˴m Ȗd:ཡ}_+2*? Al1(㙶e3ȉy hW',}Bl@1D@),8Whʞ\,tĎHQt\(T~\\yc_!Mٺ1Tpd XMsc+I.+V9;eg"KH3,T tɶZx6R(G Rn/< +X_ +D'e}[\Љ5]_Л0 0_3vkϭ}=}\a rAy {W|)=˽דK@ku k6y +^ȂT* 2-{`=$n\q%|}_1|\7@D.oŶ? KLyץ|"‰kmCQp+B}`PsX; \1YP 0C8ϯ!\MOQ#s+\ +d˗΀Eڮq3Z|04Lwl!j퓬\ffS^x/މM#\NWY#y\p+K:wk+k7ϔ1Ah+ a,0 Up~s6Z'W9vbh\S*-_j}M~.;:lfQ&%fsrB(@:fnyVУ}S|S3{F=jxA΃9 fa@_u<\:#y\dǝ4עG~oggьAa@JQ\UL38uZ Yd,'v[M MlE=vؾ0b0 a@@@@@@@@@@@@0 a@@@@@@@@@@@@0 a@@@@@@@@@@@@0 a@@@@@@@@@@@@0 a@@@@@@@@@@@@0 a@@@@@@@@@@@@0 a@@@@gHݎ@_         Scs +XIENDB`PNG + + IHDRtEXtSoftwareAdobe ImageReadyqe< iTXtXML:com.adobe.xmp Ul~IDATxx#u&z ( `nlv=yF(9J޵%9ȶ챼䰶AzvֳZ=˒%YiFg:s` +@!=Uivt  sJA @ @  @ @@ @ @ $@  @ @@ @ @ $@  @ @@ @ @ H@ @ @ @ @ @ H@ @ @ @ @ @ H@ @ @ @@ @ @ $@ c @ óۿ>9(y~Y䗵COu]zH@ =AUAhsR6gڒš܏ H@ +hB[m+)h Lf\AK|b(D/ҏHS\T@ .Vnrs|@[m.&r#O|IV6b&.b q R@ @@@ @ PF!@ F\ +zQ@ @l @  +@ ( 7WЅ|,@@ @@ @ PF!@ Ć\ '=( B @ 6@ u@ +ʨ +@ mE '=dB@ $d@ @ 6@ u ='L@ [!aJ6A ߗh+Ж- y9D($VB m!g7-F[if(iXT@&^ # ֊Lzž3УҾ˓)Й–x4dN&_WҶ@D",B2 + @ poElXMX~#(R?o [~x3o%)IsJ;='žOwNo +9)?$S@ "6$Zmn<9Kw(wϫa"G@%t1C\]?gׯvO" @% v(^z[m{/V4 +I"gk91N?+@ "6*lm/F)rP.c'j‰ +~jXGIF!@ nC=g)Qu'OrK䬸wsFSj~Lbw#IY0@  ۽.th^ \HtqR<~RFU bmh|6*Oj:o +(y-P;xx ҃sJ0'<@ ,2C>;15Vh##{GGE%sX@ W`w9Y213pkJ ː#ݎ3@ kl-Y.Mby@ @ u VmT4˳3H6yГB@ \qk4_@2D@ Ty'Ó0Y,*5/>x6+@ (Z&o M-S"g 8U9I KLǯFYY XJ.@ AȸҢ*"mE/K:fi 9 \m]D?_mSlQGi. @ zgPة ݟ(lGN|/w穂z KOxf=0D)5.NcR +flHQPC\m>/6w=4"Vb5 SNpS辣t}n.\S,I)%@!`@ zVHۡ3$g#gD)DI3H/NPa kTa:a wS"h+Z @ S#mR)d68c\K:r& +.& Hya&"B_imٴGU)O{DJV6E2f:?X# dGoJL3/٨62TKl"; =;DGoKNЯ\)y)c'ڍoHθH3=,~GM.YZG9`LΥ5{|1UI7 9m4%#W2袓4Sp=&cSu˔rV*Pe}aXkaY_Vqyժو/7Lj3'NT?n) \Tm1.YTE*eP,Z} + ?Z"x@ 0// $-T|ke- *9뼞jCoDءn1́LaWWuNblHc% 1B[*HQ\ -otץ<,@FkQ:,XX@U +V\9[Oվ}Q=ұ S̨i(n2%ĭΑr>r$3%cLxKr{ސE5h]%Bl)hNNZh_Mmd3p;ǹ~V1$*5rB9gVG :* XsKj_,kם<ڠq-.D=Fқ€S[(hCįSNFZw Q +&Z9o>G]SGCH@erc D0Bsg +^ <1$(=إD :dPZ eUbFc];I^6:։`@Ua2a-m>h>hp"Q*lobw2ii/MQU<`C r2[* WD(Ҿ6YyyiPQU IFǓYABѼɮ x" A9Des6\=qyb1%j.R*N5xJbCg`m[m 8f^Rg9x3ӥB۠ιmh뾚JW /kC]~~s&zXj_}1q9/ҾpVBɐnS9B"$@Cd}%mᕷ[9cfPZU95ǩ?G`}F~ꞛt6LMg8E9 {ccע2Okn|eOY@d96}ȫO.1h:0ugK;sa WHX"$?e.'I*Ap>SGn<"W|2)ū+BYwtc̣~+oS\E`b|#UE-uL?1E"<_ʺ?PO SI3b`7Ja0,ʊ>(Y":<`]"LJ e3oytsfA7=|f25Jo.nsbP}Lo_ejד[.w5 }~uqAxAE?Nbd1#U qӶfS׻v9N>kF僿GLkwܵA>_K^# x]X˰ll -Uxy=`V1P Z(#{XƽbVЖD}W+3T@1XTR J%OpFKF7>\>dNnc&#|UAҹW@tLt +YU~)˗LL,(󍥞fjYH'ukdU]V?\|m?t{3'j_d]o[+4|V >rV ( qDXK> b`̀,%m/wrΎ=zڦX Y+B}zyW^&ޒxx>wX*|EEuzԹƈXsߋ4J=U,dyIHIA_|nsYBރ^Ar+i!do fJ`# `O s mt + y&95hJ@N%ZU ǟ;7F,D+JrZ|qFSj@K\`mȥ" hip8( /֌^p7HζX;.I41 +pY_8N"0Kar:z<|}G *ߘ!E4Uڹ>6Eb.WwQRKԫ6>LnXfA_PydΓs% ,J.?# XN'BMDI +yy%R+:3|!Ex>zJޭ5Zg`_pXm {/Q 0̦bK"b]?:էCPR!z 2ؗWk<x 6[Nk:@Ѷ>|(YLzF 6nh<8JlOS.jW, R2D)oD^z <1nB$m|vs~ܿ_mn(V؀o ƖtT'kP@NHb@Yz` N9ϕ6<)$2<#U DƵ#lBأkrO'xySrNlN>,*t[e Q"'ϊ}Q2YRd]$o#Ozμ; a~@M?\@ ɐPd5QCvK%o ]z(|;eI*Z+p \n`2P` 2[ꤶ蜷O7þa B>̜X3n,+CsWn+)GdE~J|sL__*jG`taZ Gk8$ +FU2x σ쏜ۭUz+~'~hKBXku؃[w;gOΩD BIk 3 ~XNڤsP|l \ɬ*Z(P@LO?hh30SS]3)QT)KAcTօaaR9AkPK㸒<ʓ\ ӫ"4ψw&Jt}.6~G14*=&Xk٢xQz(^}&<}єH♇3S[&.7x9~9/__Soim?qX6͒rJVĶm9}sU"0kXOAkZz阷7fϩq\-Cɽ_]DpS0)ح'a0@N{)o4%a[+93jޭqԮ bPSQE]f~7#d(-=>8Vc;$9N[ris9xnv5!~f,}! e)hސsRm?*_cF [0;<Υ{(iy_*CF%wW+իޜ5"z`nG=<'q_?_>p,<,ǜs:nG + p})Krv}9Ad ָ/poÿTijJ8GMGRCŠkֱ\I1ɉD~qVB7 +Bze +-k-%aq5{J|8)Q:%n+GTCc-ҥ09RngwCUT|{gVp81p0v(Jz}&p\[HzDOx } +Fj%$0GoHwur(p@w>ל˩P4/{x s|V1ݭZao˸vK B%K+K|׶ mⷔe^!pkʪ +f,mk$>X!:^߭',HCrq2k7ػT_~.c +W)h `:K?jMyWkP Dl.V5f~H@6z3:9M'2}"g51=#z3 f\ـdynv|g뙁DhBs YF}EdLJs3\u Q(uI*TkB0󕋐IH%IZ+rF&RPR5!:V :N;c+|h}dwPIl.O]J D߻9xWq +r3@@]y,fɰ>x()oXB2plz5Smm^*gY/.CnAn8:J67 lst8X|ÁI> H(r\ɼ ?a:oW#guC-v#_]'԰Af qЍǝDm3uu@FF4(+/ьb"ʬڴP,\[b@KѶz3v~AY9`XVy0k7W5F@ AalU>k~łᵈ=@~c"ZxZT0bzjW NU2k +1>,CD9r_\4ͩ"TjZ +T'X=@=8]VG4d@ E#&Qjg3UV睓H(G?Z|ۦ*r*|Okvm1JF$wjV˅vH燐HfP W l>uqYg-6Odsɡ޹Q `y{=0@d{jl9i6k +B$d5Ojf~̥ +SwwN08t]yފR@2@Y`,>_"Zb\=dGۮ[3Rf$5"#|~j}l5 1;FGXUC/+Vim&ߗ JjyvR~w]O50kW q6gt(dbˡfzP3j + zE}F dkr2>{d~HR;uj|ZHD_l NXCs^~aRչF's\9$}Ѕhy5ЎHԢɥj֤rNKu"ʡѐѼ4n2rEdJ<i6'-BXREPbgi-B Qe꽖KX,D  `<2Cb; fi3JVx0\s4+`+Q:3_"\vI*!۾D~ +5٘ yn]^M00Vy_ A"9Ū]r)BѼg5:UmjK94\uR^&zZ1qyr0t+:@ҿn4)%Iۺ8{D)F5M FO#JߩպR9Tʰ{Y2g3܏HgVwfx؃5' c=:00J\Ct'hJl _[c߷rmIoZkkaYDӑǽ#"JL߭\kT-?nLg_1Yt8sKv9fW'hEֆ:o>k¹bT\5ұ0r%"9(2LN&Su͈thgP` l‘b-=A>B@hMJ9~4d.go%Tu$2AbaݏfL@)gb1b9)8b9 a& Hn/GXUok~Ï Q5_l5 󃶳Ff?MI@~ 7C/[Q9f910O0-`\CuI!܊e QeߣT"ox8PRiҸsKO=`#3v A@ljlO$m-5Oij$A[?䚟j2j[FwZ%;&GhՅ.Km^##p(=̜5؀ ha? ?|=2wEP fC} ǎF,tC5 Oȱl./Sh9TC`jLw$lK0U!Gp_;F:QR唸jxˎ+-LXq,~{Ey.Ԅ`E.Ppتw9fV{^{lտ"JƉ!Xw gE(в3lQ`j f}_ !%UfLjK$'P%uV«H;# qHx#X)4o [ Nq +\yRN׽ 2@L_#W׈6*mݧM?M@Xj]GD~CB뗬:@.Uj%F@Vm?ѯZ9oL𼒗IIfT7`_-|X2غ{RNdN`i[!9y +͈9Vhխuc:%lbxʢ`ׄr t_T@Gmxs&m07ӽ͍ II- lyYR腺<``yQ5Kojp +!Z.bn#GQ~|)lԟ7e 0Ngj0e "Pg /KA^)BS!|€TX]KӊS>rzssc~;CϋV7ws9ᄇR 9gBU׉9>(9: XCHb:}-FY$9ѠW#c >4Vqs2j(KMGAس$Fa*G?ZV*z_9ZIok} +p(4'dzE-23[`F󖮅fnK%6U171^?8@|dOz #8=VЫ,іU d|R^ elC;r~u2# ^`J"wئYi]ʿpPZv]`# <Y. oaK|0Sp2[`8 ?B{Aɨځ{]O{AO}~J i91tA +L1wIWJ-_++]0^_t2 &[gZ_ki@5|nY%c`ڇKVϱ09/#$͏U[Uˬ[BD^S±JWWGk|kb:ЩZ#k ,+cQEYkxC&5:8u9M5[kzT8g98Ek uNZf6~܌ଞ*KA/G-Ak; ^ߍ? Er!z Gu{4:LʪZ^=UfUVdqtFd(0 Ɠ +mp ȶXVWkP&j|he 9ƀ`mz'"W3Q3. _ya9uЏ +0 55[kvwg0{H?ൔp3l +q.KgWJ?jw m./!yFILlءv}ʯ3cn5,yYǓƲ!k[Rb.S]܈bYΕd2|`g*~FZ9Fwk$h3b0L&JY0qBL>jT4O]9iD }zTClCAz {z?jݨ{5̈́bT*9^h=&/] +vx-(᥋D1FeWs/<*c-,d~B3c̳?)$Mfo@\b3b +5:fX B7srG bum/R:@0X,xj3%9AuF .tH7 qAj%SPwQt/*5Q{QXgk0v"h-\ K92KIlQ5X5rT.0rC\uyPӦ +(G3.į<{3%P)*oK<$!i9 y(UbЪ@xg]z[]F=,1 <@ezCZ*Z/A-dd-HNA6 VkBvШ8kXMRI͠.?m)fߥLtNh[u苵ң0Za*=+S]%KCkkC +rQċ__rXjHcc[l@8xȸ +GA!o͎h3C5K̞1D^.?_}lA@}uwX9(àěuRsB9Y&\UuuqL%yn,dևkHt XpirϢ} ɤˇei(K|an5^_ WRG\ V] %5Cyo!Rf.7rZ˱q?vLDI=[%-^a=-/22fZxp \jĬOl-܈1* +r,Y֏zXճ Awa@\x?m,o1"3g?RRP-SkW@I}Vt{Iױ/j,W%n }<!A=x!}zZHt@Bа €m-O7 A6 {0 H;#Y (;N%$)/l {A}UZÏB߹iT4\y^N{¨`98Ă؍"׌h}ԵvugWbk?a@81sa>b/ŕ0]da@DIL:] J'k5A%R@X=<%@VZ⋫BE= #'H$`JIi Bsߌ\h4 +V$W6Rhkԛzy#I>% AbOIn K@I%=OҏP&[/ bhi@ٖ6WK*iqC>">ut\Jsrl@(|n&4 TW!P旾\Z=eR̋@9J.D{@JRt8>l}39g/ckD Yc^zk)t. o{k0~Z__}[@OVQY|`z2!sRpezcy6ӑ 0 )Jf6O4o>@%H?-6) +E i~0I0sV@lmuA0ja@<.0 nEa@ ^Iw ]SS[hG>Jby r2pMlw_hK_<~(} }7N}-$w˗x\&]"CgBv [`u7t"„j$ay~1Va@ +ÀTUœztr= /+x7m]p!`aLAÿٍ $PkGZ='Y}T-f*VL8FXLȫ zM2$8 $&iw?s@l:WdtxTrswơN~I>R )(m1P[هv]wP+.B˯s>\%Xub1"?z4P9N 3/r{a)"VTc>%8LWRDnXwUBp',>{eU}X믕.;@dVDv%Hgb.Z<`>kQwxv vh嘽6 1Aqv@>mwwUxubMq<3{.?U3.w%]YTyN 6Yc[TBV|21(]6Jq#AD"Eќ'_[,pYQt?DA»$v{$%D47Ƹe*#gËLlG(y{(%̥ZqNґ'u._e铰YȦhMZ-q8 sE-B +e 3KW#Ӿ>U +v(\߉.az<`\0_[~xpfu+ʦ +)#V\̹ uq* * yRxlP(1Q'a@`9*s €@z0G@%=q}v-tۻ!|Te$x/$C@o1ÖIǍX}%{˘< CjwlIuqdcU:Pȳ]%&U8wf9t+&`=|fj(0=m%M86 +ڢιm[vϔʖ + x-d=H|DaW~sjVPÀ(YBIBtx9B!nL=*1 ~Z H^HKf^ e`*7QCp—"?L?TEcuH3 l}%ckV^tKm*Tf - mq "Vfdb(59 ȬZ!fk}υ,xTdZԘ|'\N#J }ÙR(wHG\Qz# H4o- Z=6 А dDD5kBBIA[X;U~T%ze.r϶9DN'mM?/j~H}rCi{N%nw 3'  sq%EAO"`J<{hp@(Q:7D5`[ݶڄ9TcB+XpX0S8x[Zи@0 4%k8#2XJ#4\Ho# D|7ƙg&ટ\lS_GEжfv@7'p- pFCf1r [gLP`F]YBPu ,mt i}lO?x78fNCODƵC%aJlĆ4xle֋afnҀoc.8 psc$INYɺyqqi6oQ^RdU+ ew<Ȳ^um^ʪDg!GV|EtAXOɌ31 q+ +}#nqpNgͶIn#ci.ݥ'BCo:^K0oszhp\l?:sX:Hzҥ. `S\jdC5kK0~AXs.5J4ISW՟00O=(;#V3=\g[8~#X{'4Y7^Pe*rUV{-l? S!6sLۘ$sWs9RukSQБR?{m 7maǿ9IXi(< ˂Qf>?g`٠+zMAa!Þ+介;z9Rǽ#/O򯊖R'A33a2ƒ)X}`c9Hwx cYB f-:!3c +r|.X鶽kDG=\5yAyb/*-o+:)Įr'Y:_x>u :1Uנ\x-݂Ǽk{/޺9DPg&ko͓%Rj_!J*g<%  t1zR+0Xo%ȭcY3s +M +`?:gG:{<ҿ9§gA& % Y^a a!rnNH*1hr,ֳu1oԣ*ÁIeUbRP[&`fۛTP}[m d,ow@_F#|8E'~{OuΌw +Eu`Ǫ\H(7Q'Vo}DM~x @y牒7U܁{xigEc| Net})@Hicz71H۬ḁv!1?%Zb~`:'Bj߲cpԑIZ;9€fgfN{ߴոAF[RozPn]6{yޑhH8cStoUdZ%T.*}Fmc1^NCYaH<6mctYT^IU58h#~qN7CӷZ-~zdA&ۺ)xB 1P+Mަ4F5X]g٬ [k#Ok*h=Ι)+q82@gOIeLOΐ+b{Ukj27)TI@F|9Ӈq?JL.\N- P2fkP{slmY9H;%7iwsP8p3B `܋BAB=D@R08Er(oYW<_%6c߉v_Jest'H:R[fTC^vTR2u8F3N#  ᓕ൤t؞689sCJ<1j%߭)W'Y-0V~8ԶnS悉Yzo~Ž8U9w`Ou̜|wE-kڤ_LěwDsv iT#@^kqȷ>+_浖_N5e c"Y7=*n4 sѿєfɫ;BJ.忩Zb8y(Zϵ:=j:cD|<z%Z窄%=|Z%1O;=ؠ*8 +G3.h&AJ5: qKc7R-m}њLQG1OtYP/j\ܠlGzl 'E%Yvc0]ekH^`֪o7ۙ[} +gV<Le|{aM~d(R%2Q _OZJGpma%ac[B{֠{!J 3Qǜ{lp@9LzEb 6='Xg2R,1Qd8eG<?cl`.&\}Y.J\<,KApu7n9X <"cI[C$F:ea;ngdd@ 1 >eCB͹,Nh\c1(x"8$U2JZ˰xaʯjWoA+ R p=Ղ}du@H%- r=Ռ̠Ev0%EUD]L=rX%8_/s1sC@z/+j_/x F -"g@>έV6b! YL! R]F~,dY)҅nx'WE忺p*i)[=:(魇vIl'Þ"JJ)ʹ13B5/_ovk0EVXQk$N 07}+9H֓?x(路阝u` v+i!l8PN/lr}uE* +VÀ@ pNHlˉ)Qg]=z`_K9;?t_.d8G79gyw;]Cf=q$/3)5ΩWzzggsT0}#EJ`*4xw#'^{AbIIQBRkk1@쟗}N+}f1E ȪlXfTx9*ߪ~jNeMǷ#9h>t+ +uY\sT; +l\iL}vRٹ806kj/?>Dh\gajTB"%@fGQi5–hIG9#pvj$!C2{὾zs;gTM`W%ZLUG[6ͥ߰/aųmOʇU!ewղ`<`Yc^~TQ40;;mKtaj,B7ҫ|5lM]R΍($طnAkÞ6$@ԍ>V2Wab5Lk 0.5^%ĀƑ :>o=>'OydRşW(XA[`1tp&kwS v9%Yb'Y50S['%0Y1t +)u +::$p}8_ؖ·W`0LF2L`5lIǵD?Dw.F/Xv%xx]oMwN|p?G(=qZC;r[5K>dNχ-D p:/HbP!hm/E۞Cɢ^:EpϹ߼Ok,:HGc:{&GCI̙J^+)Jw^+(lcwD̲u.ܦٝ1NM6-:IQWʻ^AFf95kgmeIZ_(9 2g wYKA3Qwgs!ҚS9M Ei58X>>ĺu/UUйL+{/)З;+b|c_z"`y)8&ۧt!Y1]/q`QS#?0Ϗ} 6Z=0rakOD΍3JN)9r{YK) w\.g2BU9 +%a>rN +`} O7ۿQV|9fhesiG-Tb Gt)E "0_^e=@fQ,h]njqI엳TFMjJCp&UԄMCbj8-Z6y"`Q]j}#."_kPF>*/E-#1&dR'𱝖+l\\%u*z{!GX0a`:YPD3>9k<O.>Ϭ炵3013T~^UQ?7ts9R-Nt/ [Sz!H"s_+^n){6͗_k}._eAy;njԇUf+;rIu%2\|^,!䙛vU4iވ@9: +\y=& +~? ُr8Ӄٖ꥽} S6PX3ܴf>\t=NR̠WR+;]>Tc)*lyw31Zׅ_ +n4tQ~8YUiΘX3$lcԧ=Wo#OFeyQj_;,wGyOܯtL^>k-['4l3wz +t| ՠѺp/:鷼_ Moܹ֙pg@79'4[)XM\_@O3@;sc1AyG_ϳ"c6pZluߒ 1ost*z +ig+K炍9|C[N=[@%u('T7h) wB"b@췻淙Kr$LjEN;3Lst6P|unĺY i`c Sf{Lّҥ_:V.16=Ii7l_s^rnVVm4ľ'Ĭ>h\ǾCvQ!0&Uy>w|ԇ)j5$1* +k3$?bNr6qWbLGUGPddswuݯ>??8"oh~1$ﯝkfv?94k{H}9v.}cVI+,vݖ, /ɝM#y)/>1.Sz$JB1qr:TR6H TB,fve0$K}6/p!G\l'1# E8Fy=&UN!}m4:3?,5)gsA zATf*ܦ1QN7˶ސKn"`c5זƟi=b+ #[e֯S`aӿN. +zܛCgbu AZ\gO>C+ |0a(DsrQ t"ȋ>:d/QGd+OK4foˤڢn@JȞse q¾!p5avO Q.~ksP)\ b(6pWTmƈ_B12˦h=!#R E#IySy= ^$ml@Dt^thN//m}\=J}PG6+t{r91Vl]s]'AFzmC"+368z}Mބs_*e}BmE £J٢}[/Hia1^ݶ`@TR$>Fis<Ϝ5ӝ.uF?w&>73Pߪ&EUDx:pkقoη_ab[3_ 165|N/QCg9ˈD??ps +6yDi]C Q>mO) k}/1'" +qk1M}C^ ܦK-]&;N; ud]Jn(tLw5e'o4(:$Y.ǮPDjsVwҧx9u)|L!f<ԯH"Rk+[>?~)kƄ<%ھYYE;.q_3o;+Ac/?ӝ5=\Ÿp]Sov~u_@QNJ̬Q~@S#6,?n&f.{B>kڡN>f8܎G"q%/ Գjݫ-p +~T 9} ڽ+4P{=ɝOg.ڪ*!BderZh[Dlv]%EEDqvk&ub6f/L@:r6]Qm2ԇܑR >\>%^ظ3/j$fP-'yftKXi Ju{IF1j=VAc={)4.^ŀ,ek;" Ί;^b\׍HSQK#u(\cR%r朼itgkڗ+z ^1^"lNwlx ;Un;Me]Gǣƞ˝5ꓚ~owEq.{XwUy*l^><㼴hy[WrvMU]6|3.|hC?-*Mvu;ĝI^NJ}8P"{ƻ4?‰& ƺ1i8"^'__~u1os?l~y9P E%Ȝ|Ru^ U?YnG m+O(;Gx]R]\TdZwy^A .񈎑¸o1Wwm^P0\iӥ*h[@ vcQ^SD}jӘˏ&y`NsoA$\nln9iO-vU71-Fe^umVߓ񤰳n,TQ؈VS}tj]-\Bɛ^;*,wد򖰕eRRR.Ny*o,s :"Q5x|Ջ{ֳPeڑHk[YbȲUemY%.lǛ}pg' +PKZzvΉ$$ +r=[V?>fJ\slIfye9e.sE߸C1pꕜ:&^so*ݑESum~?Sr `ʥg[Ϣg-J:$D@;S}]}7THd' oDppKW .A7.RukF)zpKߵ+uy7GS%{ߚoi8boWս=s90fd*fJCh&r}%o;_r}K5!Pg))"Д3#|(R_V70%?BQTrnD`MSmiw\fc&L 5+yq!@>Q^L-~,̐r-57ryieKWec,5kV0It1jN>&X2Vh/YͬNBX[|>Yr棢x_ť@7rF/GLB4և(}zoIÚcLb ++ә%چ?nj9Oɟ.tT SRlhA9I}לEof(Rqs(( +fک[Itkv|ʚOH6l] ?PſO;nԖք1#| lF[MY_#k0:N48^OkyTIpp6P)770 DFE/ [NL99 ȫW^.k/nF?P1.PR}rg[9 Uz_oof{,L3jQ3V3v?oy{X +Z̡L){5A +*9FML3KӨ&3¿=ƔA?R@1 p3ّry p?E-NR313{c㇜}ϔGȃ)i;k`]:F~ /c"4U8KeĂ*QZbT*gyY]ip[urP0iIikE v܅7D8G ,f˯]gs"/.kJ&NimUDZ{.d>$N_.1e`(iInȿPH%9Wvŝ{hde#-a7}?1eo:+KX Q(/uwkv_cu]d!a`^^2_韊$l6L+ߪ;w)~iMGi6ܱNJ~ݖ=/ݭ]]gb%Q\r\Û>w0%O_yY ),R}X7࿍=ͿaYe##KAIӴIl3͑%”T+}E%^~i>`} +| 8>"f/&|ڥ0D‚bﱬ?X%!8\ Ќ@(e|\FPIk M: U@ @ *_UIENDB` \ No newline at end of file diff --git a/docs/games/raylib_zerouno.html b/docs/games/wave_collector.html similarity index 97% rename from docs/games/raylib_zerouno.html rename to docs/games/wave_collector.html index 388eaac64..303592a35 100644 --- a/docs/games/raylib_zerouno.html +++ b/docs/games/wave_collector.html @@ -57,7 +57,7 @@ div.emscripten_border { border: 1px solid black; } /* the canvas *must not* have any border or padding, or mouse coords will be wrong */ - canvas.emscripten { border: 0px none; } + canvas.emscripten { border: 0px none; background: black; } #emscripten_logo { display: inline-block; @@ -144,7 +144,7 @@

- +
@@ -234,6 +234,6 @@ }; }; - + - + \ No newline at end of file diff --git a/docs/games/wave_collector.js b/docs/games/wave_collector.js new file mode 100644 index 000000000..8933988fa --- /dev/null +++ b/docs/games/wave_collector.js @@ -0,0 +1,70971 @@ + +var Module; + +if (typeof Module === 'undefined') Module = {}; + +if (!Module.expectedDataFileDownloads) { + Module.expectedDataFileDownloads = 0; + Module.finishedDataFileDownloads = 0; +} +Module.expectedDataFileDownloads++; +(function() { + var loadPackage = function(metadata) { + + var PACKAGE_PATH; + if (typeof window === 'object') { + PACKAGE_PATH = window['encodeURIComponent'](window.location.pathname.toString().substring(0, window.location.pathname.toString().lastIndexOf('/')) + '/'); + } else if (typeof location !== 'undefined') { + // worker + PACKAGE_PATH = encodeURIComponent(location.pathname.toString().substring(0, location.pathname.toString().lastIndexOf('/')) + '/'); + } else { + throw 'using preloaded data can only be done on a web page or in a web worker'; + } + var PACKAGE_NAME = 'wave_collector.data'; + var REMOTE_PACKAGE_BASE = 'wave_collector.data'; + if (typeof Module['locateFilePackage'] === 'function' && !Module['locateFile']) { + Module['locateFile'] = Module['locateFilePackage']; + Module.printErr('warning: you defined Module.locateFilePackage, that has been renamed to Module.locateFile (using your locateFilePackage for now)'); + } + var REMOTE_PACKAGE_NAME = typeof Module['locateFile'] === 'function' ? + Module['locateFile'](REMOTE_PACKAGE_BASE) : + ((Module['filePackagePrefixURL'] || '') + REMOTE_PACKAGE_BASE); + + var REMOTE_PACKAGE_SIZE = metadata.remote_package_size; + var PACKAGE_UUID = metadata.package_uuid; + + function fetchRemotePackage(packageName, packageSize, callback, errback) { + var xhr = new XMLHttpRequest(); + xhr.open('GET', packageName, true); + xhr.responseType = 'arraybuffer'; + xhr.onprogress = function(event) { + var url = packageName; + var size = packageSize; + if (event.total) size = event.total; + if (event.loaded) { + if (!xhr.addedTotal) { + xhr.addedTotal = true; + if (!Module.dataFileDownloads) Module.dataFileDownloads = {}; + Module.dataFileDownloads[url] = { + loaded: event.loaded, + total: size + }; + } else { + Module.dataFileDownloads[url].loaded = event.loaded; + } + var total = 0; + var loaded = 0; + var num = 0; + for (var download in Module.dataFileDownloads) { + var data = Module.dataFileDownloads[download]; + total += data.total; + loaded += data.loaded; + num++; + } + total = Math.ceil(total * Module.expectedDataFileDownloads/num); + if (Module['setStatus']) Module['setStatus']('Downloading data... (' + loaded + '/' + total + ')'); + } else if (!Module.dataFileDownloads) { + if (Module['setStatus']) Module['setStatus']('Downloading data...'); + } + }; + xhr.onerror = function(event) { + throw new Error("NetworkError for: " + packageName); + } + xhr.onload = function(event) { + if (xhr.status == 200 || xhr.status == 304 || xhr.status == 206 || (xhr.status == 0 && xhr.response)) { // file URLs can return 0 + var packageData = xhr.response; + callback(packageData); + } else { + throw new Error(xhr.statusText + " : " + xhr.responseURL); + } + }; + xhr.send(null); + }; + + function handleError(error) { + console.error('package error:', error); + }; + + var fetchedCallback = null; + var fetched = Module['getPreloadedPackage'] ? Module['getPreloadedPackage'](REMOTE_PACKAGE_NAME, REMOTE_PACKAGE_SIZE) : null; + + if (!fetched) fetchRemotePackage(REMOTE_PACKAGE_NAME, REMOTE_PACKAGE_SIZE, function(data) { + if (fetchedCallback) { + fetchedCallback(data); + fetchedCallback = null; + } else { + fetched = data; + } + }, handleError); + + function runWithFS() { + + function assert(check, msg) { + if (!check) throw msg + new Error().stack; + } +Module['FS_createPath']('/', 'resources', true, true); +Module['FS_createPath']('/resources', 'audio', true, true); +Module['FS_createPath']('/resources', 'textures', true, true); + + function DataRequest(start, end, crunched, audio) { + this.start = start; + this.end = end; + this.crunched = crunched; + this.audio = audio; + } + DataRequest.prototype = { + requests: {}, + open: function(mode, name) { + this.name = name; + this.requests[name] = this; + Module['addRunDependency']('fp ' + this.name); + }, + send: function() {}, + onload: function() { + var byteArray = this.byteArray.subarray(this.start, this.end); + + this.finish(byteArray); + + }, + finish: function(byteArray) { + var that = this; + + Module['FS_createDataFile'](this.name, null, byteArray, true, true, true); // canOwn this data in the filesystem, it is a slide into the heap that will never change + Module['removeRunDependency']('fp ' + that.name); + + this.requests[this.name] = null; + } + }; + + var files = metadata.files; + for (i = 0; i < files.length; ++i) { + new DataRequest(files[i].start, files[i].end, files[i].crunched, files[i].audio).open('GET', files[i].filename); + } + + + function processPackageData(arrayBuffer) { + Module.finishedDataFileDownloads++; + assert(arrayBuffer, 'Loading data file failed.'); + assert(arrayBuffer instanceof ArrayBuffer, 'bad input to processPackageData'); + var byteArray = new Uint8Array(arrayBuffer); + var curr; + + // copy the entire loaded file into a spot in the heap. Files will refer to slices in that. They cannot be freed though + // (we may be allocating before malloc is ready, during startup). + if (Module['SPLIT_MEMORY']) Module.printErr('warning: you should run the file packager with --no-heap-copy when SPLIT_MEMORY is used, otherwise copying into the heap may fail due to the splitting'); + var ptr = Module['getMemory'](byteArray.length); + Module['HEAPU8'].set(byteArray, ptr); + DataRequest.prototype.byteArray = Module['HEAPU8'].subarray(ptr, ptr+byteArray.length); + + var files = metadata.files; + for (i = 0; i < files.length; ++i) { + DataRequest.prototype.requests[files[i].filename].onload(); + } + Module['removeRunDependency']('datafile_wave_collector.data'); + + }; + Module['addRunDependency']('datafile_wave_collector.data'); + + if (!Module.preloadResults) Module.preloadResults = {}; + + Module.preloadResults[PACKAGE_NAME] = {fromCache: false}; + if (fetched) { + processPackageData(fetched); + fetched = null; + } else { + fetchedCallback = processPackageData; + } + + } + if (Module['calledRun']) { + runWithFS(); + } else { + if (!Module['preRun']) Module['preRun'] = []; + Module["preRun"].push(runWithFS); // FS is not initialized yet, wait for it + } + + } + loadPackage({"files": [{"audio": 0, "start": 0, "crunched": 0, "end": 8953, "filename": "/resources/font.fnt"}, {"audio": 0, "start": 8953, "crunched": 0, "end": 149951, "filename": "/resources/font.png"}, {"audio": 1, "start": 149951, "crunched": 0, "end": 175857, "filename": "/resources/audio/pause.wav"}, {"audio": 1, "start": 175857, "crunched": 0, "end": 185148, "filename": "/resources/audio/sample_off.wav"}, {"audio": 1, "start": 185148, "crunched": 0, "end": 187483, "filename": "/resources/audio/sample_on.wav"}, {"audio": 1, "start": 187483, "crunched": 0, "end": 201562, "filename": "/resources/audio/start.wav"}, {"audio": 1, "start": 201562, "crunched": 0, "end": 1566531, "filename": "/resources/audio/wave.ogg"}, {"audio": 0, "start": 1566531, "crunched": 0, "end": 2406858, "filename": "/resources/textures/background.png"}, {"audio": 0, "start": 2406858, "crunched": 0, "end": 2974294, "filename": "/resources/textures/background_gameplay.png"}, {"audio": 0, "start": 2974294, "crunched": 0, "end": 3581198, "filename": "/resources/textures/background_title.png"}, {"audio": 0, "start": 3581198, "crunched": 0, "end": 3591213, "filename": "/resources/textures/icon_synchro.png"}, {"audio": 0, "start": 3591213, "crunched": 0, "end": 3603045, "filename": "/resources/textures/icon_warp.png"}, {"audio": 0, "start": 3603045, "crunched": 0, "end": 3604022, "filename": "/resources/textures/line.png"}, {"audio": 0, "start": 3604022, "crunched": 0, "end": 3605890, "filename": "/resources/textures/logo_raylib.png"}, {"audio": 0, "start": 3605890, "crunched": 0, "end": 3685079, "filename": "/resources/textures/lose.png"}, {"audio": 0, "start": 3685079, "crunched": 0, "end": 3696864, "filename": "/resources/textures/player.png"}, {"audio": 0, "start": 3696864, "crunched": 0, "end": 3699870, "filename": "/resources/textures/sample_big.png"}, {"audio": 0, "start": 3699870, "crunched": 0, "end": 3701590, "filename": "/resources/textures/sample_mid.png"}, {"audio": 0, "start": 3701590, "crunched": 0, "end": 3703447, "filename": "/resources/textures/sample_small.png"}, {"audio": 0, "start": 3703447, "crunched": 0, "end": 3828451, "filename": "/resources/textures/title.png"}, {"audio": 0, "start": 3828451, "crunched": 0, "end": 3861640, "filename": "/resources/textures/win.png"}], "remote_package_size": 3861640, "package_uuid": "c3065323-b0b9-4bc1-875d-66d1d50f7ec1"}); + +})(); + +// The Module object: Our interface to the outside world. We import +// and export values on it, and do the work to get that through +// closure compiler if necessary. There are various ways Module can be used: +// 1. Not defined. We create it here +// 2. A function parameter, function(Module) { ..generated code.. } +// 3. pre-run appended it, var Module = {}; ..generated code.. +// 4. External script tag defines var Module. +// We need to do an eval in order to handle the closure compiler +// case, where this code here is minified but Module was defined +// elsewhere (e.g. case 4 above). We also need to check if Module +// already exists (e.g. case 3 above). +// Note that if you want to run closure, and also to use Module +// after the generated code, you will need to define var Module = {}; +// before the code. Then that object will be used in the code, and you +// can continue to use Module afterwards as well. +var Module; +if (!Module) Module = (typeof Module !== 'undefined' ? Module : null) || {}; + +// Sometimes an existing Module object exists with properties +// meant to overwrite the default module functionality. Here +// we collect those properties and reapply _after_ we configure +// the current environment's defaults to avoid having to be so +// defensive during initialization. +var moduleOverrides = {}; +for (var key in Module) { + if (Module.hasOwnProperty(key)) { + moduleOverrides[key] = Module[key]; + } +} + +// The environment setup code below is customized to use Module. +// *** Environment setup code *** +var ENVIRONMENT_IS_WEB = false; +var ENVIRONMENT_IS_WORKER = false; +var ENVIRONMENT_IS_NODE = false; +var ENVIRONMENT_IS_SHELL = false; + +// Three configurations we can be running in: +// 1) We could be the application main() thread running in the main JS UI thread. (ENVIRONMENT_IS_WORKER == false and ENVIRONMENT_IS_PTHREAD == false) +// 2) We could be the application main() thread proxied to worker. (with Emscripten -s PROXY_TO_WORKER=1) (ENVIRONMENT_IS_WORKER == true, ENVIRONMENT_IS_PTHREAD == false) +// 3) We could be an application pthread running in a worker. (ENVIRONMENT_IS_WORKER == true and ENVIRONMENT_IS_PTHREAD == true) + +if (Module['ENVIRONMENT']) { + if (Module['ENVIRONMENT'] === 'WEB') { + ENVIRONMENT_IS_WEB = true; + } else if (Module['ENVIRONMENT'] === 'WORKER') { + ENVIRONMENT_IS_WORKER = true; + } else if (Module['ENVIRONMENT'] === 'NODE') { + ENVIRONMENT_IS_NODE = true; + } else if (Module['ENVIRONMENT'] === 'SHELL') { + ENVIRONMENT_IS_SHELL = true; + } else { + throw new Error('The provided Module[\'ENVIRONMENT\'] value is not valid. It must be one of: WEB|WORKER|NODE|SHELL.'); + } +} else { + ENVIRONMENT_IS_WEB = typeof window === 'object'; + ENVIRONMENT_IS_WORKER = typeof importScripts === 'function'; + ENVIRONMENT_IS_NODE = typeof process === 'object' && typeof require === 'function' && !ENVIRONMENT_IS_WEB && !ENVIRONMENT_IS_WORKER; + ENVIRONMENT_IS_SHELL = !ENVIRONMENT_IS_WEB && !ENVIRONMENT_IS_NODE && !ENVIRONMENT_IS_WORKER; +} + + +if (ENVIRONMENT_IS_NODE) { + // Expose functionality in the same simple way that the shells work + // Note that we pollute the global namespace here, otherwise we break in node + if (!Module['print']) Module['print'] = console.log; + if (!Module['printErr']) Module['printErr'] = console.warn; + + var nodeFS; + var nodePath; + + Module['read'] = function read(filename, binary) { + if (!nodeFS) nodeFS = require('fs'); + if (!nodePath) nodePath = require('path'); + filename = nodePath['normalize'](filename); + var ret = nodeFS['readFileSync'](filename); + return binary ? ret : ret.toString(); + }; + + Module['readBinary'] = function readBinary(filename) { + var ret = Module['read'](filename, true); + if (!ret.buffer) { + ret = new Uint8Array(ret); + } + assert(ret.buffer); + return ret; + }; + + Module['load'] = function load(f) { + globalEval(read(f)); + }; + + if (!Module['thisProgram']) { + if (process['argv'].length > 1) { + Module['thisProgram'] = process['argv'][1].replace(/\\/g, '/'); + } else { + Module['thisProgram'] = 'unknown-program'; + } + } + + Module['arguments'] = process['argv'].slice(2); + + if (typeof module !== 'undefined') { + module['exports'] = Module; + } + + process['on']('uncaughtException', function(ex) { + // suppress ExitStatus exceptions from showing an error + if (!(ex instanceof ExitStatus)) { + throw ex; + } + }); + + Module['inspect'] = function () { return '[Emscripten Module object]'; }; +} +else if (ENVIRONMENT_IS_SHELL) { + if (!Module['print']) Module['print'] = print; + if (typeof printErr != 'undefined') Module['printErr'] = printErr; // not present in v8 or older sm + + if (typeof read != 'undefined') { + Module['read'] = read; + } else { + Module['read'] = function read() { throw 'no read() available' }; + } + + Module['readBinary'] = function readBinary(f) { + if (typeof readbuffer === 'function') { + return new Uint8Array(readbuffer(f)); + } + var data = read(f, 'binary'); + assert(typeof data === 'object'); + return data; + }; + + if (typeof scriptArgs != 'undefined') { + Module['arguments'] = scriptArgs; + } else if (typeof arguments != 'undefined') { + Module['arguments'] = arguments; + } + + if (typeof quit === 'function') { + Module['quit'] = function(status, toThrow) { + quit(status); + } + } + +} +else if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) { + Module['read'] = function read(url) { + var xhr = new XMLHttpRequest(); + xhr.open('GET', url, false); + xhr.send(null); + return xhr.responseText; + }; + + if (ENVIRONMENT_IS_WORKER) { + Module['readBinary'] = function read(url) { + var xhr = new XMLHttpRequest(); + xhr.open('GET', url, false); + xhr.responseType = 'arraybuffer'; + xhr.send(null); + return xhr.response; + }; + } + + Module['readAsync'] = function readAsync(url, onload, onerror) { + var xhr = new XMLHttpRequest(); + xhr.open('GET', url, true); + xhr.responseType = 'arraybuffer'; + xhr.onload = function xhr_onload() { + if (xhr.status == 200 || (xhr.status == 0 && xhr.response)) { // file URLs can return 0 + onload(xhr.response); + } else { + onerror(); + } + }; + xhr.onerror = onerror; + xhr.send(null); + }; + + if (typeof arguments != 'undefined') { + Module['arguments'] = arguments; + } + + if (typeof console !== 'undefined') { + if (!Module['print']) Module['print'] = function print(x) { + console.log(x); + }; + if (!Module['printErr']) Module['printErr'] = function printErr(x) { + console.warn(x); + }; + } else { + // Probably a worker, and without console.log. We can do very little here... + var TRY_USE_DUMP = false; + if (!Module['print']) Module['print'] = (TRY_USE_DUMP && (typeof(dump) !== "undefined") ? (function(x) { + dump(x); + }) : (function(x) { + // self.postMessage(x); // enable this if you want stdout to be sent as messages + })); + } + + if (ENVIRONMENT_IS_WORKER) { + Module['load'] = importScripts; + } + + if (typeof Module['setWindowTitle'] === 'undefined') { + Module['setWindowTitle'] = function(title) { document.title = title }; + } +} +else { + // Unreachable because SHELL is dependant on the others + throw 'Unknown runtime environment. Where are we?'; +} + +function globalEval(x) { + eval.call(null, x); +} +if (!Module['load'] && Module['read']) { + Module['load'] = function load(f) { + globalEval(Module['read'](f)); + }; +} +if (!Module['print']) { + Module['print'] = function(){}; +} +if (!Module['printErr']) { + Module['printErr'] = Module['print']; +} +if (!Module['arguments']) { + Module['arguments'] = []; +} +if (!Module['thisProgram']) { + Module['thisProgram'] = './this.program'; +} +if (!Module['quit']) { + Module['quit'] = function(status, toThrow) { + throw toThrow; + } +} + +// *** Environment setup code *** + +// Closure helpers +Module.print = Module['print']; +Module.printErr = Module['printErr']; + +// Callbacks +Module['preRun'] = []; +Module['postRun'] = []; + +// Merge back in the overrides +for (var key in moduleOverrides) { + if (moduleOverrides.hasOwnProperty(key)) { + Module[key] = moduleOverrides[key]; + } +} +// Free the object hierarchy contained in the overrides, this lets the GC +// reclaim data used e.g. in memoryInitializerRequest, which is a large typed array. +moduleOverrides = undefined; + + + +// {{PREAMBLE_ADDITIONS}} + +// === Preamble library stuff === + +// Documentation for the public APIs defined in this file must be updated in: +// site/source/docs/api_reference/preamble.js.rst +// A prebuilt local version of the documentation is available at: +// site/build/text/docs/api_reference/preamble.js.txt +// You can also build docs locally as HTML or other formats in site/ +// An online HTML version (which may be of a different version of Emscripten) +// is up at http://kripken.github.io/emscripten-site/docs/api_reference/preamble.js.html + +//======================================== +// Runtime code shared with compiler +//======================================== + +var Runtime = { + setTempRet0: function (value) { + tempRet0 = value; + return value; + }, + getTempRet0: function () { + return tempRet0; + }, + stackSave: function () { + return STACKTOP; + }, + stackRestore: function (stackTop) { + STACKTOP = stackTop; + }, + getNativeTypeSize: function (type) { + switch (type) { + case 'i1': case 'i8': return 1; + case 'i16': return 2; + case 'i32': return 4; + case 'i64': return 8; + case 'float': return 4; + case 'double': return 8; + default: { + if (type[type.length-1] === '*') { + return Runtime.QUANTUM_SIZE; // A pointer + } else if (type[0] === 'i') { + var bits = parseInt(type.substr(1)); + assert(bits % 8 === 0); + return bits/8; + } else { + return 0; + } + } + } + }, + getNativeFieldSize: function (type) { + return Math.max(Runtime.getNativeTypeSize(type), Runtime.QUANTUM_SIZE); + }, + STACK_ALIGN: 16, + prepVararg: function (ptr, type) { + if (type === 'double' || type === 'i64') { + // move so the load is aligned + if (ptr & 7) { + assert((ptr & 7) === 4); + ptr += 4; + } + } else { + assert((ptr & 3) === 0); + } + return ptr; + }, + getAlignSize: function (type, size, vararg) { + // we align i64s and doubles on 64-bit boundaries, unlike x86 + if (!vararg && (type == 'i64' || type == 'double')) return 8; + if (!type) return Math.min(size, 8); // align structures internally to 64 bits + return Math.min(size || (type ? Runtime.getNativeFieldSize(type) : 0), Runtime.QUANTUM_SIZE); + }, + dynCall: function (sig, ptr, args) { + if (args && args.length) { + assert(args.length == sig.length-1); + assert(('dynCall_' + sig) in Module, 'bad function pointer type - no table for sig \'' + sig + '\''); + return Module['dynCall_' + sig].apply(null, [ptr].concat(args)); + } else { + assert(sig.length == 1); + assert(('dynCall_' + sig) in Module, 'bad function pointer type - no table for sig \'' + sig + '\''); + return Module['dynCall_' + sig].call(null, ptr); + } + }, + functionPointers: [], + addFunction: function (func) { + for (var i = 0; i < Runtime.functionPointers.length; i++) { + if (!Runtime.functionPointers[i]) { + Runtime.functionPointers[i] = func; + return 2*(1 + i); + } + } + throw 'Finished up all reserved function pointers. Use a higher value for RESERVED_FUNCTION_POINTERS.'; + }, + removeFunction: function (index) { + Runtime.functionPointers[(index-2)/2] = null; + }, + warnOnce: function (text) { + if (!Runtime.warnOnce.shown) Runtime.warnOnce.shown = {}; + if (!Runtime.warnOnce.shown[text]) { + Runtime.warnOnce.shown[text] = 1; + Module.printErr(text); + } + }, + funcWrappers: {}, + getFuncWrapper: function (func, sig) { + assert(sig); + if (!Runtime.funcWrappers[sig]) { + Runtime.funcWrappers[sig] = {}; + } + var sigCache = Runtime.funcWrappers[sig]; + if (!sigCache[func]) { + // optimize away arguments usage in common cases + if (sig.length === 1) { + sigCache[func] = function dynCall_wrapper() { + return Runtime.dynCall(sig, func); + }; + } else if (sig.length === 2) { + sigCache[func] = function dynCall_wrapper(arg) { + return Runtime.dynCall(sig, func, [arg]); + }; + } else { + // general case + sigCache[func] = function dynCall_wrapper() { + return Runtime.dynCall(sig, func, Array.prototype.slice.call(arguments)); + }; + } + } + return sigCache[func]; + }, + getCompilerSetting: function (name) { + throw 'You must build with -s RETAIN_COMPILER_SETTINGS=1 for Runtime.getCompilerSetting or emscripten_get_compiler_setting to work'; + }, + stackAlloc: function (size) { var ret = STACKTOP;STACKTOP = (STACKTOP + size)|0;STACKTOP = (((STACKTOP)+15)&-16);(assert((((STACKTOP|0) < (STACK_MAX|0))|0))|0); return ret; }, + staticAlloc: function (size) { var ret = STATICTOP;STATICTOP = (STATICTOP + (assert(!staticSealed),size))|0;STATICTOP = (((STATICTOP)+15)&-16); return ret; }, + dynamicAlloc: function (size) { assert(DYNAMICTOP_PTR);var ret = HEAP32[DYNAMICTOP_PTR>>2];var end = (((ret + size + 15)|0) & -16);HEAP32[DYNAMICTOP_PTR>>2] = end;if (end >= TOTAL_MEMORY) {var success = enlargeMemory();if (!success) {HEAP32[DYNAMICTOP_PTR>>2] = ret;return 0;}}return ret;}, + alignMemory: function (size,quantum) { var ret = size = Math.ceil((size)/(quantum ? quantum : 16))*(quantum ? quantum : 16); return ret; }, + makeBigInt: function (low,high,unsigned) { var ret = (unsigned ? ((+((low>>>0)))+((+((high>>>0)))*4294967296.0)) : ((+((low>>>0)))+((+((high|0)))*4294967296.0))); return ret; }, + GLOBAL_BASE: 8, + QUANTUM_SIZE: 4, + __dummy__: 0 +} + + + +Module["Runtime"] = Runtime; + + + +//======================================== +// Runtime essentials +//======================================== + +var ABORT = 0; // whether we are quitting the application. no code should run after this. set in exit() and abort() +var EXITSTATUS = 0; + +function assert(condition, text) { + if (!condition) { + abort('Assertion failed: ' + text); + } +} + +var globalScope = this; + +// Returns the C function with a specified identifier (for C++, you need to do manual name mangling) +function getCFunc(ident) { + var func = Module['_' + ident]; // closure exported function + if (!func) { + try { func = eval('_' + ident); } catch(e) {} + } + assert(func, 'Cannot call unknown function ' + ident + ' (perhaps LLVM optimizations or closure removed it?)'); + return func; +} + +var cwrap, ccall; +(function(){ + var JSfuncs = { + // Helpers for cwrap -- it can't refer to Runtime directly because it might + // be renamed by closure, instead it calls JSfuncs['stackSave'].body to find + // out what the minified function name is. + 'stackSave': function() { + Runtime.stackSave() + }, + 'stackRestore': function() { + Runtime.stackRestore() + }, + // type conversion from js to c + 'arrayToC' : function(arr) { + var ret = Runtime.stackAlloc(arr.length); + writeArrayToMemory(arr, ret); + return ret; + }, + 'stringToC' : function(str) { + var ret = 0; + if (str !== null && str !== undefined && str !== 0) { // null string + // at most 4 bytes per UTF-8 code point, +1 for the trailing '\0' + var len = (str.length << 2) + 1; + ret = Runtime.stackAlloc(len); + stringToUTF8(str, ret, len); + } + return ret; + } + }; + // For fast lookup of conversion functions + var toC = {'string' : JSfuncs['stringToC'], 'array' : JSfuncs['arrayToC']}; + + // C calling interface. + ccall = function ccallFunc(ident, returnType, argTypes, args, opts) { + var func = getCFunc(ident); + var cArgs = []; + var stack = 0; + assert(returnType !== 'array', 'Return type should not be "array".'); + if (args) { + for (var i = 0; i < args.length; i++) { + var converter = toC[argTypes[i]]; + if (converter) { + if (stack === 0) stack = Runtime.stackSave(); + cArgs[i] = converter(args[i]); + } else { + cArgs[i] = args[i]; + } + } + } + var ret = func.apply(null, cArgs); + if ((!opts || !opts.async) && typeof EmterpreterAsync === 'object') { + assert(!EmterpreterAsync.state, 'cannot start async op with normal JS calling ccall'); + } + if (opts && opts.async) assert(!returnType, 'async ccalls cannot return values'); + if (returnType === 'string') ret = Pointer_stringify(ret); + if (stack !== 0) { + if (opts && opts.async) { + EmterpreterAsync.asyncFinalizers.push(function() { + Runtime.stackRestore(stack); + }); + return; + } + Runtime.stackRestore(stack); + } + return ret; + } + + var sourceRegex = /^function\s*[a-zA-Z$_0-9]*\s*\(([^)]*)\)\s*{\s*([^*]*?)[\s;]*(?:return\s*(.*?)[;\s]*)?}$/; + function parseJSFunc(jsfunc) { + // Match the body and the return value of a javascript function source + var parsed = jsfunc.toString().match(sourceRegex).slice(1); + return {arguments : parsed[0], body : parsed[1], returnValue: parsed[2]} + } + + // sources of useful functions. we create this lazily as it can trigger a source decompression on this entire file + var JSsource = null; + function ensureJSsource() { + if (!JSsource) { + JSsource = {}; + for (var fun in JSfuncs) { + if (JSfuncs.hasOwnProperty(fun)) { + // Elements of toCsource are arrays of three items: + // the code, and the return value + JSsource[fun] = parseJSFunc(JSfuncs[fun]); + } + } + } + } + + cwrap = function cwrap(ident, returnType, argTypes) { + argTypes = argTypes || []; + var cfunc = getCFunc(ident); + // When the function takes numbers and returns a number, we can just return + // the original function + var numericArgs = argTypes.every(function(type){ return type === 'number'}); + var numericRet = (returnType !== 'string'); + if ( numericRet && numericArgs) { + return cfunc; + } + // Creation of the arguments list (["$1","$2",...,"$nargs"]) + var argNames = argTypes.map(function(x,i){return '$'+i}); + var funcstr = "(function(" + argNames.join(',') + ") {"; + var nargs = argTypes.length; + if (!numericArgs) { + // Generate the code needed to convert the arguments from javascript + // values to pointers + ensureJSsource(); + funcstr += 'var stack = ' + JSsource['stackSave'].body + ';'; + for (var i = 0; i < nargs; i++) { + var arg = argNames[i], type = argTypes[i]; + if (type === 'number') continue; + var convertCode = JSsource[type + 'ToC']; // [code, return] + funcstr += 'var ' + convertCode.arguments + ' = ' + arg + ';'; + funcstr += convertCode.body + ';'; + funcstr += arg + '=(' + convertCode.returnValue + ');'; + } + } + + // When the code is compressed, the name of cfunc is not literally 'cfunc' anymore + var cfuncname = parseJSFunc(function(){return cfunc}).returnValue; + // Call the function + funcstr += 'var ret = ' + cfuncname + '(' + argNames.join(',') + ');'; + if (!numericRet) { // Return type can only by 'string' or 'number' + // Convert the result to a string + var strgfy = parseJSFunc(function(){return Pointer_stringify}).returnValue; + funcstr += 'ret = ' + strgfy + '(ret);'; + } + funcstr += "if (typeof EmterpreterAsync === 'object') { assert(!EmterpreterAsync.state, 'cannot start async op with normal JS calling cwrap') }"; + if (!numericArgs) { + // If we had a stack, restore it + ensureJSsource(); + funcstr += JSsource['stackRestore'].body.replace('()', '(stack)') + ';'; + } + funcstr += 'return ret})'; + return eval(funcstr); + }; +})(); +Module["ccall"] = ccall; +Module["cwrap"] = cwrap; + +function setValue(ptr, value, type, noSafe) { + type = type || 'i8'; + if (type.charAt(type.length-1) === '*') type = 'i32'; // pointers are 32-bit + switch(type) { + case 'i1': HEAP8[((ptr)>>0)]=value; break; + case 'i8': HEAP8[((ptr)>>0)]=value; break; + case 'i16': HEAP16[((ptr)>>1)]=value; break; + case 'i32': HEAP32[((ptr)>>2)]=value; break; + case 'i64': (tempI64 = [value>>>0,(tempDouble=value,(+(Math_abs(tempDouble))) >= 1.0 ? (tempDouble > 0.0 ? ((Math_min((+(Math_floor((tempDouble)/4294967296.0))), 4294967295.0))|0)>>>0 : (~~((+(Math_ceil((tempDouble - +(((~~(tempDouble)))>>>0))/4294967296.0)))))>>>0) : 0)],HEAP32[((ptr)>>2)]=tempI64[0],HEAP32[(((ptr)+(4))>>2)]=tempI64[1]); break; + case 'float': HEAPF32[((ptr)>>2)]=value; break; + case 'double': HEAPF64[((ptr)>>3)]=value; break; + default: abort('invalid type for setValue: ' + type); + } +} +Module["setValue"] = setValue; + + +function getValue(ptr, type, noSafe) { + type = type || 'i8'; + if (type.charAt(type.length-1) === '*') type = 'i32'; // pointers are 32-bit + switch(type) { + case 'i1': return HEAP8[((ptr)>>0)]; + case 'i8': return HEAP8[((ptr)>>0)]; + case 'i16': return HEAP16[((ptr)>>1)]; + case 'i32': return HEAP32[((ptr)>>2)]; + case 'i64': return HEAP32[((ptr)>>2)]; + case 'float': return HEAPF32[((ptr)>>2)]; + case 'double': return HEAPF64[((ptr)>>3)]; + default: abort('invalid type for setValue: ' + type); + } + return null; +} +Module["getValue"] = getValue; + +var ALLOC_NORMAL = 0; // Tries to use _malloc() +var ALLOC_STACK = 1; // Lives for the duration of the current function call +var ALLOC_STATIC = 2; // Cannot be freed +var ALLOC_DYNAMIC = 3; // Cannot be freed except through sbrk +var ALLOC_NONE = 4; // Do not allocate +Module["ALLOC_NORMAL"] = ALLOC_NORMAL; +Module["ALLOC_STACK"] = ALLOC_STACK; +Module["ALLOC_STATIC"] = ALLOC_STATIC; +Module["ALLOC_DYNAMIC"] = ALLOC_DYNAMIC; +Module["ALLOC_NONE"] = ALLOC_NONE; + +// allocate(): This is for internal use. You can use it yourself as well, but the interface +// is a little tricky (see docs right below). The reason is that it is optimized +// for multiple syntaxes to save space in generated code. So you should +// normally not use allocate(), and instead allocate memory using _malloc(), +// initialize it with setValue(), and so forth. +// @slab: An array of data, or a number. If a number, then the size of the block to allocate, +// in *bytes* (note that this is sometimes confusing: the next parameter does not +// affect this!) +// @types: Either an array of types, one for each byte (or 0 if no type at that position), +// or a single type which is used for the entire block. This only matters if there +// is initial data - if @slab is a number, then this does not matter at all and is +// ignored. +// @allocator: How to allocate memory, see ALLOC_* +function allocate(slab, types, allocator, ptr) { + var zeroinit, size; + if (typeof slab === 'number') { + zeroinit = true; + size = slab; + } else { + zeroinit = false; + size = slab.length; + } + + var singleType = typeof types === 'string' ? types : null; + + var ret; + if (allocator == ALLOC_NONE) { + ret = ptr; + } else { + ret = [typeof _malloc === 'function' ? _malloc : Runtime.staticAlloc, Runtime.stackAlloc, Runtime.staticAlloc, Runtime.dynamicAlloc][allocator === undefined ? ALLOC_STATIC : allocator](Math.max(size, singleType ? 1 : types.length)); + } + + if (zeroinit) { + var ptr = ret, stop; + assert((ret & 3) == 0); + stop = ret + (size & ~3); + for (; ptr < stop; ptr += 4) { + HEAP32[((ptr)>>2)]=0; + } + stop = ret + size; + while (ptr < stop) { + HEAP8[((ptr++)>>0)]=0; + } + return ret; + } + + if (singleType === 'i8') { + if (slab.subarray || slab.slice) { + HEAPU8.set(slab, ret); + } else { + HEAPU8.set(new Uint8Array(slab), ret); + } + return ret; + } + + var i = 0, type, typeSize, previousType; + while (i < size) { + var curr = slab[i]; + + if (typeof curr === 'function') { + curr = Runtime.getFunctionIndex(curr); + } + + type = singleType || types[i]; + if (type === 0) { + i++; + continue; + } + assert(type, 'Must know what type to store in allocate!'); + + if (type == 'i64') type = 'i32'; // special case: we have one i32 here, and one i32 later + + setValue(ret+i, curr, type); + + // no need to look up size unless type changes, so cache it + if (previousType !== type) { + typeSize = Runtime.getNativeTypeSize(type); + previousType = type; + } + i += typeSize; + } + + return ret; +} +Module["allocate"] = allocate; + +// Allocate memory during any stage of startup - static memory early on, dynamic memory later, malloc when ready +function getMemory(size) { + if (!staticSealed) return Runtime.staticAlloc(size); + if (!runtimeInitialized) return Runtime.dynamicAlloc(size); + return _malloc(size); +} +Module["getMemory"] = getMemory; + +function Pointer_stringify(ptr, /* optional */ length) { + if (length === 0 || !ptr) return ''; + // TODO: use TextDecoder + // Find the length, and check for UTF while doing so + var hasUtf = 0; + var t; + var i = 0; + while (1) { + assert(ptr + i < TOTAL_MEMORY); + t = HEAPU8[(((ptr)+(i))>>0)]; + hasUtf |= t; + if (t == 0 && !length) break; + i++; + if (length && i == length) break; + } + if (!length) length = i; + + var ret = ''; + + if (hasUtf < 128) { + var MAX_CHUNK = 1024; // split up into chunks, because .apply on a huge string can overflow the stack + var curr; + while (length > 0) { + curr = String.fromCharCode.apply(String, HEAPU8.subarray(ptr, ptr + Math.min(length, MAX_CHUNK))); + ret = ret ? ret + curr : curr; + ptr += MAX_CHUNK; + length -= MAX_CHUNK; + } + return ret; + } + return Module['UTF8ToString'](ptr); +} +Module["Pointer_stringify"] = Pointer_stringify; + +// Given a pointer 'ptr' to a null-terminated ASCII-encoded string in the emscripten HEAP, returns +// a copy of that string as a Javascript String object. + +function AsciiToString(ptr) { + var str = ''; + while (1) { + var ch = HEAP8[((ptr++)>>0)]; + if (!ch) return str; + str += String.fromCharCode(ch); + } +} +Module["AsciiToString"] = AsciiToString; + +// Copies the given Javascript String object 'str' to the emscripten HEAP at address 'outPtr', +// null-terminated and encoded in ASCII form. The copy will require at most str.length+1 bytes of space in the HEAP. + +function stringToAscii(str, outPtr) { + return writeAsciiToMemory(str, outPtr, false); +} +Module["stringToAscii"] = stringToAscii; + +// Given a pointer 'ptr' to a null-terminated UTF8-encoded string in the given array that contains uint8 values, returns +// a copy of that string as a Javascript String object. + +var UTF8Decoder = typeof TextDecoder !== 'undefined' ? new TextDecoder('utf8') : undefined; +function UTF8ArrayToString(u8Array, idx) { + var endPtr = idx; + // TextDecoder needs to know the byte length in advance, it doesn't stop on null terminator by itself. + // Also, use the length info to avoid running tiny strings through TextDecoder, since .subarray() allocates garbage. + while (u8Array[endPtr]) ++endPtr; + + if (endPtr - idx > 16 && u8Array.subarray && UTF8Decoder) { + return UTF8Decoder.decode(u8Array.subarray(idx, endPtr)); + } else { + var u0, u1, u2, u3, u4, u5; + + var str = ''; + while (1) { + // For UTF8 byte structure, see http://en.wikipedia.org/wiki/UTF-8#Description and https://www.ietf.org/rfc/rfc2279.txt and https://tools.ietf.org/html/rfc3629 + u0 = u8Array[idx++]; + if (!u0) return str; + if (!(u0 & 0x80)) { str += String.fromCharCode(u0); continue; } + u1 = u8Array[idx++] & 63; + if ((u0 & 0xE0) == 0xC0) { str += String.fromCharCode(((u0 & 31) << 6) | u1); continue; } + u2 = u8Array[idx++] & 63; + if ((u0 & 0xF0) == 0xE0) { + u0 = ((u0 & 15) << 12) | (u1 << 6) | u2; + } else { + u3 = u8Array[idx++] & 63; + if ((u0 & 0xF8) == 0xF0) { + u0 = ((u0 & 7) << 18) | (u1 << 12) | (u2 << 6) | u3; + } else { + u4 = u8Array[idx++] & 63; + if ((u0 & 0xFC) == 0xF8) { + u0 = ((u0 & 3) << 24) | (u1 << 18) | (u2 << 12) | (u3 << 6) | u4; + } else { + u5 = u8Array[idx++] & 63; + u0 = ((u0 & 1) << 30) | (u1 << 24) | (u2 << 18) | (u3 << 12) | (u4 << 6) | u5; + } + } + } + if (u0 < 0x10000) { + str += String.fromCharCode(u0); + } else { + var ch = u0 - 0x10000; + str += String.fromCharCode(0xD800 | (ch >> 10), 0xDC00 | (ch & 0x3FF)); + } + } + } +} +Module["UTF8ArrayToString"] = UTF8ArrayToString; + +// Given a pointer 'ptr' to a null-terminated UTF8-encoded string in the emscripten HEAP, returns +// a copy of that string as a Javascript String object. + +function UTF8ToString(ptr) { + return UTF8ArrayToString(HEAPU8,ptr); +} +Module["UTF8ToString"] = UTF8ToString; + +// Copies the given Javascript String object 'str' to the given byte array at address 'outIdx', +// encoded in UTF8 form and null-terminated. The copy will require at most str.length*4+1 bytes of space in the HEAP. +// Use the function lengthBytesUTF8 to compute the exact number of bytes (excluding null terminator) that this function will write. +// Parameters: +// str: the Javascript string to copy. +// outU8Array: the array to copy to. Each index in this array is assumed to be one 8-byte element. +// outIdx: The starting offset in the array to begin the copying. +// maxBytesToWrite: The maximum number of bytes this function can write to the array. This count should include the null +// terminator, i.e. if maxBytesToWrite=1, only the null terminator will be written and nothing else. +// maxBytesToWrite=0 does not write any bytes to the output, not even the null terminator. +// Returns the number of bytes written, EXCLUDING the null terminator. + +function stringToUTF8Array(str, outU8Array, outIdx, maxBytesToWrite) { + if (!(maxBytesToWrite > 0)) // Parameter maxBytesToWrite is not optional. Negative values, 0, null, undefined and false each don't write out any bytes. + return 0; + + var startIdx = outIdx; + var endIdx = outIdx + maxBytesToWrite - 1; // -1 for string null terminator. + for (var i = 0; i < str.length; ++i) { + // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code unit, not a Unicode code point of the character! So decode UTF16->UTF32->UTF8. + // See http://unicode.org/faq/utf_bom.html#utf16-3 + // For UTF8 byte structure, see http://en.wikipedia.org/wiki/UTF-8#Description and https://www.ietf.org/rfc/rfc2279.txt and https://tools.ietf.org/html/rfc3629 + var u = str.charCodeAt(i); // possibly a lead surrogate + if (u >= 0xD800 && u <= 0xDFFF) u = 0x10000 + ((u & 0x3FF) << 10) | (str.charCodeAt(++i) & 0x3FF); + if (u <= 0x7F) { + if (outIdx >= endIdx) break; + outU8Array[outIdx++] = u; + } else if (u <= 0x7FF) { + if (outIdx + 1 >= endIdx) break; + outU8Array[outIdx++] = 0xC0 | (u >> 6); + outU8Array[outIdx++] = 0x80 | (u & 63); + } else if (u <= 0xFFFF) { + if (outIdx + 2 >= endIdx) break; + outU8Array[outIdx++] = 0xE0 | (u >> 12); + outU8Array[outIdx++] = 0x80 | ((u >> 6) & 63); + outU8Array[outIdx++] = 0x80 | (u & 63); + } else if (u <= 0x1FFFFF) { + if (outIdx + 3 >= endIdx) break; + outU8Array[outIdx++] = 0xF0 | (u >> 18); + outU8Array[outIdx++] = 0x80 | ((u >> 12) & 63); + outU8Array[outIdx++] = 0x80 | ((u >> 6) & 63); + outU8Array[outIdx++] = 0x80 | (u & 63); + } else if (u <= 0x3FFFFFF) { + if (outIdx + 4 >= endIdx) break; + outU8Array[outIdx++] = 0xF8 | (u >> 24); + outU8Array[outIdx++] = 0x80 | ((u >> 18) & 63); + outU8Array[outIdx++] = 0x80 | ((u >> 12) & 63); + outU8Array[outIdx++] = 0x80 | ((u >> 6) & 63); + outU8Array[outIdx++] = 0x80 | (u & 63); + } else { + if (outIdx + 5 >= endIdx) break; + outU8Array[outIdx++] = 0xFC | (u >> 30); + outU8Array[outIdx++] = 0x80 | ((u >> 24) & 63); + outU8Array[outIdx++] = 0x80 | ((u >> 18) & 63); + outU8Array[outIdx++] = 0x80 | ((u >> 12) & 63); + outU8Array[outIdx++] = 0x80 | ((u >> 6) & 63); + outU8Array[outIdx++] = 0x80 | (u & 63); + } + } + // Null-terminate the pointer to the buffer. + outU8Array[outIdx] = 0; + return outIdx - startIdx; +} +Module["stringToUTF8Array"] = stringToUTF8Array; + +// Copies the given Javascript String object 'str' to the emscripten HEAP at address 'outPtr', +// null-terminated and encoded in UTF8 form. The copy will require at most str.length*4+1 bytes of space in the HEAP. +// Use the function lengthBytesUTF8 to compute the exact number of bytes (excluding null terminator) that this function will write. +// Returns the number of bytes written, EXCLUDING the null terminator. + +function stringToUTF8(str, outPtr, maxBytesToWrite) { + assert(typeof maxBytesToWrite == 'number', 'stringToUTF8(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!'); + return stringToUTF8Array(str, HEAPU8,outPtr, maxBytesToWrite); +} +Module["stringToUTF8"] = stringToUTF8; + +// Returns the number of bytes the given Javascript string takes if encoded as a UTF8 byte array, EXCLUDING the null terminator byte. + +function lengthBytesUTF8(str) { + var len = 0; + for (var i = 0; i < str.length; ++i) { + // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code unit, not a Unicode code point of the character! So decode UTF16->UTF32->UTF8. + // See http://unicode.org/faq/utf_bom.html#utf16-3 + var u = str.charCodeAt(i); // possibly a lead surrogate + if (u >= 0xD800 && u <= 0xDFFF) u = 0x10000 + ((u & 0x3FF) << 10) | (str.charCodeAt(++i) & 0x3FF); + if (u <= 0x7F) { + ++len; + } else if (u <= 0x7FF) { + len += 2; + } else if (u <= 0xFFFF) { + len += 3; + } else if (u <= 0x1FFFFF) { + len += 4; + } else if (u <= 0x3FFFFFF) { + len += 5; + } else { + len += 6; + } + } + return len; +} +Module["lengthBytesUTF8"] = lengthBytesUTF8; + +// Given a pointer 'ptr' to a null-terminated UTF16LE-encoded string in the emscripten HEAP, returns +// a copy of that string as a Javascript String object. + +var UTF16Decoder = typeof TextDecoder !== 'undefined' ? new TextDecoder('utf-16le') : undefined; +function UTF16ToString(ptr) { + assert(ptr % 2 == 0, 'Pointer passed to UTF16ToString must be aligned to two bytes!'); + var endPtr = ptr; + // TextDecoder needs to know the byte length in advance, it doesn't stop on null terminator by itself. + // Also, use the length info to avoid running tiny strings through TextDecoder, since .subarray() allocates garbage. + var idx = endPtr >> 1; + while (HEAP16[idx]) ++idx; + endPtr = idx << 1; + + if (endPtr - ptr > 32 && UTF16Decoder) { + return UTF16Decoder.decode(HEAPU8.subarray(ptr, endPtr)); + } else { + var i = 0; + + var str = ''; + while (1) { + var codeUnit = HEAP16[(((ptr)+(i*2))>>1)]; + if (codeUnit == 0) return str; + ++i; + // fromCharCode constructs a character from a UTF-16 code unit, so we can pass the UTF16 string right through. + str += String.fromCharCode(codeUnit); + } + } +} + + +// Copies the given Javascript String object 'str' to the emscripten HEAP at address 'outPtr', +// null-terminated and encoded in UTF16 form. The copy will require at most str.length*4+2 bytes of space in the HEAP. +// Use the function lengthBytesUTF16() to compute the exact number of bytes (excluding null terminator) that this function will write. +// Parameters: +// str: the Javascript string to copy. +// outPtr: Byte address in Emscripten HEAP where to write the string to. +// maxBytesToWrite: The maximum number of bytes this function can write to the array. This count should include the null +// terminator, i.e. if maxBytesToWrite=2, only the null terminator will be written and nothing else. +// maxBytesToWrite<2 does not write any bytes to the output, not even the null terminator. +// Returns the number of bytes written, EXCLUDING the null terminator. + +function stringToUTF16(str, outPtr, maxBytesToWrite) { + assert(outPtr % 2 == 0, 'Pointer passed to stringToUTF16 must be aligned to two bytes!'); + assert(typeof maxBytesToWrite == 'number', 'stringToUTF16(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!'); + // Backwards compatibility: if max bytes is not specified, assume unsafe unbounded write is allowed. + if (maxBytesToWrite === undefined) { + maxBytesToWrite = 0x7FFFFFFF; + } + if (maxBytesToWrite < 2) return 0; + maxBytesToWrite -= 2; // Null terminator. + var startPtr = outPtr; + var numCharsToWrite = (maxBytesToWrite < str.length*2) ? (maxBytesToWrite / 2) : str.length; + for (var i = 0; i < numCharsToWrite; ++i) { + // charCodeAt returns a UTF-16 encoded code unit, so it can be directly written to the HEAP. + var codeUnit = str.charCodeAt(i); // possibly a lead surrogate + HEAP16[((outPtr)>>1)]=codeUnit; + outPtr += 2; + } + // Null-terminate the pointer to the HEAP. + HEAP16[((outPtr)>>1)]=0; + return outPtr - startPtr; +} + + +// Returns the number of bytes the given Javascript string takes if encoded as a UTF16 byte array, EXCLUDING the null terminator byte. + +function lengthBytesUTF16(str) { + return str.length*2; +} + + +function UTF32ToString(ptr) { + assert(ptr % 4 == 0, 'Pointer passed to UTF32ToString must be aligned to four bytes!'); + var i = 0; + + var str = ''; + while (1) { + var utf32 = HEAP32[(((ptr)+(i*4))>>2)]; + if (utf32 == 0) + return str; + ++i; + // Gotcha: fromCharCode constructs a character from a UTF-16 encoded code (pair), not from a Unicode code point! So encode the code point to UTF-16 for constructing. + // See http://unicode.org/faq/utf_bom.html#utf16-3 + if (utf32 >= 0x10000) { + var ch = utf32 - 0x10000; + str += String.fromCharCode(0xD800 | (ch >> 10), 0xDC00 | (ch & 0x3FF)); + } else { + str += String.fromCharCode(utf32); + } + } +} + + +// Copies the given Javascript String object 'str' to the emscripten HEAP at address 'outPtr', +// null-terminated and encoded in UTF32 form. The copy will require at most str.length*4+4 bytes of space in the HEAP. +// Use the function lengthBytesUTF32() to compute the exact number of bytes (excluding null terminator) that this function will write. +// Parameters: +// str: the Javascript string to copy. +// outPtr: Byte address in Emscripten HEAP where to write the string to. +// maxBytesToWrite: The maximum number of bytes this function can write to the array. This count should include the null +// terminator, i.e. if maxBytesToWrite=4, only the null terminator will be written and nothing else. +// maxBytesToWrite<4 does not write any bytes to the output, not even the null terminator. +// Returns the number of bytes written, EXCLUDING the null terminator. + +function stringToUTF32(str, outPtr, maxBytesToWrite) { + assert(outPtr % 4 == 0, 'Pointer passed to stringToUTF32 must be aligned to four bytes!'); + assert(typeof maxBytesToWrite == 'number', 'stringToUTF32(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!'); + // Backwards compatibility: if max bytes is not specified, assume unsafe unbounded write is allowed. + if (maxBytesToWrite === undefined) { + maxBytesToWrite = 0x7FFFFFFF; + } + if (maxBytesToWrite < 4) return 0; + var startPtr = outPtr; + var endPtr = startPtr + maxBytesToWrite - 4; + for (var i = 0; i < str.length; ++i) { + // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code unit, not a Unicode code point of the character! We must decode the string to UTF-32 to the heap. + // See http://unicode.org/faq/utf_bom.html#utf16-3 + var codeUnit = str.charCodeAt(i); // possibly a lead surrogate + if (codeUnit >= 0xD800 && codeUnit <= 0xDFFF) { + var trailSurrogate = str.charCodeAt(++i); + codeUnit = 0x10000 + ((codeUnit & 0x3FF) << 10) | (trailSurrogate & 0x3FF); + } + HEAP32[((outPtr)>>2)]=codeUnit; + outPtr += 4; + if (outPtr + 4 > endPtr) break; + } + // Null-terminate the pointer to the HEAP. + HEAP32[((outPtr)>>2)]=0; + return outPtr - startPtr; +} + + +// Returns the number of bytes the given Javascript string takes if encoded as a UTF16 byte array, EXCLUDING the null terminator byte. + +function lengthBytesUTF32(str) { + var len = 0; + for (var i = 0; i < str.length; ++i) { + // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code unit, not a Unicode code point of the character! We must decode the string to UTF-32 to the heap. + // See http://unicode.org/faq/utf_bom.html#utf16-3 + var codeUnit = str.charCodeAt(i); + if (codeUnit >= 0xD800 && codeUnit <= 0xDFFF) ++i; // possibly a lead surrogate, so skip over the tail surrogate. + len += 4; + } + + return len; +} + + +function demangle(func) { + var __cxa_demangle_func = Module['___cxa_demangle'] || Module['__cxa_demangle']; + if (__cxa_demangle_func) { + try { + var s = + func.substr(1); + var len = lengthBytesUTF8(s)+1; + var buf = _malloc(len); + stringToUTF8(s, buf, len); + var status = _malloc(4); + var ret = __cxa_demangle_func(buf, 0, 0, status); + if (getValue(status, 'i32') === 0 && ret) { + return Pointer_stringify(ret); + } + // otherwise, libcxxabi failed + } catch(e) { + // ignore problems here + } finally { + if (buf) _free(buf); + if (status) _free(status); + if (ret) _free(ret); + } + // failure when using libcxxabi, don't demangle + return func; + } + Runtime.warnOnce('warning: build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling'); + return func; +} + +function demangleAll(text) { + var regex = + /__Z[\w\d_]+/g; + return text.replace(regex, + function(x) { + var y = demangle(x); + return x === y ? x : (x + ' [' + y + ']'); + }); +} + +function jsStackTrace() { + var err = new Error(); + if (!err.stack) { + // IE10+ special cases: It does have callstack info, but it is only populated if an Error object is thrown, + // so try that as a special-case. + try { + throw new Error(0); + } catch(e) { + err = e; + } + if (!err.stack) { + return '(no stack trace available)'; + } + } + return err.stack.toString(); +} + +function stackTrace() { + var js = jsStackTrace(); + if (Module['extraStackTrace']) js += '\n' + Module['extraStackTrace'](); + return demangleAll(js); +} +Module["stackTrace"] = stackTrace; + +// Memory management + +var PAGE_SIZE = 16384; +var WASM_PAGE_SIZE = 65536; +var ASMJS_PAGE_SIZE = 16777216; +var MIN_TOTAL_MEMORY = 16777216; + +function alignUp(x, multiple) { + if (x % multiple > 0) { + x += multiple - (x % multiple); + } + return x; +} + +var HEAP; +var buffer; +var HEAP8, HEAPU8, HEAP16, HEAPU16, HEAP32, HEAPU32, HEAPF32, HEAPF64; + +function updateGlobalBuffer(buf) { + Module['buffer'] = buffer = buf; +} + +function updateGlobalBufferViews() { + Module['HEAP8'] = HEAP8 = new Int8Array(buffer); + Module['HEAP16'] = HEAP16 = new Int16Array(buffer); + Module['HEAP32'] = HEAP32 = new Int32Array(buffer); + Module['HEAPU8'] = HEAPU8 = new Uint8Array(buffer); + Module['HEAPU16'] = HEAPU16 = new Uint16Array(buffer); + Module['HEAPU32'] = HEAPU32 = new Uint32Array(buffer); + Module['HEAPF32'] = HEAPF32 = new Float32Array(buffer); + Module['HEAPF64'] = HEAPF64 = new Float64Array(buffer); +} + +var STATIC_BASE, STATICTOP, staticSealed; // static area +var STACK_BASE, STACKTOP, STACK_MAX; // stack area +var DYNAMIC_BASE, DYNAMICTOP_PTR; // dynamic area handled by sbrk + + STATIC_BASE = STATICTOP = STACK_BASE = STACKTOP = STACK_MAX = DYNAMIC_BASE = DYNAMICTOP_PTR = 0; + staticSealed = false; + + +// Initializes the stack cookie. Called at the startup of main and at the startup of each thread in pthreads mode. +function writeStackCookie() { + assert((STACK_MAX & 3) == 0); + HEAPU32[(STACK_MAX >> 2)-1] = 0x02135467; + HEAPU32[(STACK_MAX >> 2)-2] = 0x89BACDFE; +} + +function checkStackCookie() { + if (HEAPU32[(STACK_MAX >> 2)-1] != 0x02135467 || HEAPU32[(STACK_MAX >> 2)-2] != 0x89BACDFE) { + abort('Stack overflow! Stack cookie has been overwritten, expected hex dwords 0x89BACDFE and 0x02135467, but received 0x' + HEAPU32[(STACK_MAX >> 2)-2].toString(16) + ' ' + HEAPU32[(STACK_MAX >> 2)-1].toString(16)); + } + // Also test the global address 0 for integrity. This check is not compatible with SAFE_SPLIT_MEMORY though, since that mode already tests all address 0 accesses on its own. + if (HEAP32[0] !== 0x63736d65 /* 'emsc' */) throw 'Runtime error: The application has corrupted its heap memory area (address zero)!'; +} + +function abortStackOverflow(allocSize) { + abort('Stack overflow! Attempted to allocate ' + allocSize + ' bytes on the stack, but stack has only ' + (STACK_MAX - asm.stackSave() + allocSize) + ' bytes available!'); +} + +function abortOnCannotGrowMemory() { + abort('Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value ' + TOTAL_MEMORY + ', (2) compile with -s ALLOW_MEMORY_GROWTH=1 which adjusts the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 '); +} + + +function enlargeMemory() { + abortOnCannotGrowMemory(); +} + + +var TOTAL_STACK = Module['TOTAL_STACK'] || 5242880; +var TOTAL_MEMORY = Module['TOTAL_MEMORY'] || 67108864; +if (TOTAL_MEMORY < TOTAL_STACK) Module.printErr('TOTAL_MEMORY should be larger than TOTAL_STACK, was ' + TOTAL_MEMORY + '! (TOTAL_STACK=' + TOTAL_STACK + ')'); + +// Initialize the runtime's memory +// check for full engine support (use string 'subarray' to avoid closure compiler confusion) +assert(typeof Int32Array !== 'undefined' && typeof Float64Array !== 'undefined' && !!(new Int32Array(1)['subarray']) && !!(new Int32Array(1)['set']), + 'JS engine does not provide full typed array support'); + + + +// Use a provided buffer, if there is one, or else allocate a new one +if (Module['buffer']) { + buffer = Module['buffer']; + assert(buffer.byteLength === TOTAL_MEMORY, 'provided buffer should be ' + TOTAL_MEMORY + ' bytes, but it is ' + buffer.byteLength); +} else { + // Use a WebAssembly memory where available + { + buffer = new ArrayBuffer(TOTAL_MEMORY); + } + assert(buffer.byteLength === TOTAL_MEMORY); +} +updateGlobalBufferViews(); + + +function getTotalMemory() { + return TOTAL_MEMORY; +} + +// Endianness check (note: assumes compiler arch was little-endian) + HEAP32[0] = 0x63736d65; /* 'emsc' */ +HEAP16[1] = 0x6373; +if (HEAPU8[2] !== 0x73 || HEAPU8[3] !== 0x63) throw 'Runtime error: expected the system to be little-endian!'; + +Module['HEAP'] = HEAP; +Module['buffer'] = buffer; +Module['HEAP8'] = HEAP8; +Module['HEAP16'] = HEAP16; +Module['HEAP32'] = HEAP32; +Module['HEAPU8'] = HEAPU8; +Module['HEAPU16'] = HEAPU16; +Module['HEAPU32'] = HEAPU32; +Module['HEAPF32'] = HEAPF32; +Module['HEAPF64'] = HEAPF64; + +function callRuntimeCallbacks(callbacks) { + while(callbacks.length > 0) { + var callback = callbacks.shift(); + if (typeof callback == 'function') { + callback(); + continue; + } + var func = callback.func; + if (typeof func === 'number') { + if (callback.arg === undefined) { + Module['dynCall_v'](func); + } else { + Module['dynCall_vi'](func, callback.arg); + } + } else { + func(callback.arg === undefined ? null : callback.arg); + } + } +} + +var __ATPRERUN__ = []; // functions called before the runtime is initialized +var __ATINIT__ = []; // functions called during startup +var __ATMAIN__ = []; // functions called when main() is to be run +var __ATEXIT__ = []; // functions called during shutdown +var __ATPOSTRUN__ = []; // functions called after the runtime has exited + +var runtimeInitialized = false; +var runtimeExited = false; + + +function preRun() { + // compatibility - merge in anything from Module['preRun'] at this time + if (Module['preRun']) { + if (typeof Module['preRun'] == 'function') Module['preRun'] = [Module['preRun']]; + while (Module['preRun'].length) { + addOnPreRun(Module['preRun'].shift()); + } + } + callRuntimeCallbacks(__ATPRERUN__); +} + +function ensureInitRuntime() { + checkStackCookie(); + if (runtimeInitialized) return; + runtimeInitialized = true; + callRuntimeCallbacks(__ATINIT__); +} + +function preMain() { + checkStackCookie(); + callRuntimeCallbacks(__ATMAIN__); +} + +function exitRuntime() { + checkStackCookie(); + callRuntimeCallbacks(__ATEXIT__); + runtimeExited = true; +} + +function postRun() { + checkStackCookie(); + // compatibility - merge in anything from Module['postRun'] at this time + if (Module['postRun']) { + if (typeof Module['postRun'] == 'function') Module['postRun'] = [Module['postRun']]; + while (Module['postRun'].length) { + addOnPostRun(Module['postRun'].shift()); + } + } + callRuntimeCallbacks(__ATPOSTRUN__); +} + +function addOnPreRun(cb) { + __ATPRERUN__.unshift(cb); +} +Module["addOnPreRun"] = addOnPreRun; + +function addOnInit(cb) { + __ATINIT__.unshift(cb); +} +Module["addOnInit"] = addOnInit; + +function addOnPreMain(cb) { + __ATMAIN__.unshift(cb); +} +Module["addOnPreMain"] = addOnPreMain; + +function addOnExit(cb) { + __ATEXIT__.unshift(cb); +} +Module["addOnExit"] = addOnExit; + +function addOnPostRun(cb) { + __ATPOSTRUN__.unshift(cb); +} +Module["addOnPostRun"] = addOnPostRun; + +// Tools + + +function intArrayFromString(stringy, dontAddNull, length /* optional */) { + var len = length > 0 ? length : lengthBytesUTF8(stringy)+1; + var u8array = new Array(len); + var numBytesWritten = stringToUTF8Array(stringy, u8array, 0, u8array.length); + if (dontAddNull) u8array.length = numBytesWritten; + return u8array; +} +Module["intArrayFromString"] = intArrayFromString; + +function intArrayToString(array) { + var ret = []; + for (var i = 0; i < array.length; i++) { + var chr = array[i]; + if (chr > 0xFF) { + assert(false, 'Character code ' + chr + ' (' + String.fromCharCode(chr) + ') at offset ' + i + ' not in 0x00-0xFF.'); + chr &= 0xFF; + } + ret.push(String.fromCharCode(chr)); + } + return ret.join(''); +} +Module["intArrayToString"] = intArrayToString; + +// Deprecated: This function should not be called because it is unsafe and does not provide +// a maximum length limit of how many bytes it is allowed to write. Prefer calling the +// function stringToUTF8Array() instead, which takes in a maximum length that can be used +// to be secure from out of bounds writes. +function writeStringToMemory(string, buffer, dontAddNull) { + Runtime.warnOnce('writeStringToMemory is deprecated and should not be called! Use stringToUTF8() instead!'); + + var lastChar, end; + if (dontAddNull) { + // stringToUTF8Array always appends null. If we don't want to do that, remember the + // character that existed at the location where the null will be placed, and restore + // that after the write (below). + end = buffer + lengthBytesUTF8(string); + lastChar = HEAP8[end]; + } + stringToUTF8(string, buffer, Infinity); + if (dontAddNull) HEAP8[end] = lastChar; // Restore the value under the null character. +} +Module["writeStringToMemory"] = writeStringToMemory; + +function writeArrayToMemory(array, buffer) { + assert(array.length >= 0, 'writeArrayToMemory array must have a length (should be an array or typed array)') + HEAP8.set(array, buffer); +} +Module["writeArrayToMemory"] = writeArrayToMemory; + +function writeAsciiToMemory(str, buffer, dontAddNull) { + for (var i = 0; i < str.length; ++i) { + assert(str.charCodeAt(i) === str.charCodeAt(i)&0xff); + HEAP8[((buffer++)>>0)]=str.charCodeAt(i); + } + // Null-terminate the pointer to the HEAP. + if (!dontAddNull) HEAP8[((buffer)>>0)]=0; +} +Module["writeAsciiToMemory"] = writeAsciiToMemory; + +function unSign(value, bits, ignore) { + if (value >= 0) { + return value; + } + return bits <= 32 ? 2*Math.abs(1 << (bits-1)) + value // Need some trickery, since if bits == 32, we are right at the limit of the bits JS uses in bitshifts + : Math.pow(2, bits) + value; +} +function reSign(value, bits, ignore) { + if (value <= 0) { + return value; + } + var half = bits <= 32 ? Math.abs(1 << (bits-1)) // abs is needed if bits == 32 + : Math.pow(2, bits-1); + if (value >= half && (bits <= 32 || value > half)) { // for huge values, we can hit the precision limit and always get true here. so don't do that + // but, in general there is no perfect solution here. With 64-bit ints, we get rounding and errors + // TODO: In i64 mode 1, resign the two parts separately and safely + value = -2*half + value; // Cannot bitshift half, as it may be at the limit of the bits JS uses in bitshifts + } + return value; +} + + +// check for imul support, and also for correctness ( https://bugs.webkit.org/show_bug.cgi?id=126345 ) +if (!Math['imul'] || Math['imul'](0xffffffff, 5) !== -5) Math['imul'] = function imul(a, b) { + var ah = a >>> 16; + var al = a & 0xffff; + var bh = b >>> 16; + var bl = b & 0xffff; + return (al*bl + ((ah*bl + al*bh) << 16))|0; +}; +Math.imul = Math['imul']; + + +if (!Math['clz32']) Math['clz32'] = function(x) { + x = x >>> 0; + for (var i = 0; i < 32; i++) { + if (x & (1 << (31 - i))) return i; + } + return 32; +}; +Math.clz32 = Math['clz32'] + +if (!Math['trunc']) Math['trunc'] = function(x) { + return x < 0 ? Math.ceil(x) : Math.floor(x); +}; +Math.trunc = Math['trunc']; + +var Math_abs = Math.abs; +var Math_cos = Math.cos; +var Math_sin = Math.sin; +var Math_tan = Math.tan; +var Math_acos = Math.acos; +var Math_asin = Math.asin; +var Math_atan = Math.atan; +var Math_atan2 = Math.atan2; +var Math_exp = Math.exp; +var Math_log = Math.log; +var Math_sqrt = Math.sqrt; +var Math_ceil = Math.ceil; +var Math_floor = Math.floor; +var Math_pow = Math.pow; +var Math_imul = Math.imul; +var Math_fround = Math.fround; +var Math_round = Math.round; +var Math_min = Math.min; +var Math_clz32 = Math.clz32; +var Math_trunc = Math.trunc; + +// A counter of dependencies for calling run(). If we need to +// do asynchronous work before running, increment this and +// decrement it. Incrementing must happen in a place like +// PRE_RUN_ADDITIONS (used by emcc to add file preloading). +// Note that you can add dependencies in preRun, even though +// it happens right before run - run will be postponed until +// the dependencies are met. +var runDependencies = 0; +var runDependencyWatcher = null; +var dependenciesFulfilled = null; // overridden to take different actions when all run dependencies are fulfilled +var runDependencyTracking = {}; + +function getUniqueRunDependency(id) { + var orig = id; + while (1) { + if (!runDependencyTracking[id]) return id; + id = orig + Math.random(); + } + return id; +} + +function addRunDependency(id) { + runDependencies++; + if (Module['monitorRunDependencies']) { + Module['monitorRunDependencies'](runDependencies); + } + if (id) { + assert(!runDependencyTracking[id]); + runDependencyTracking[id] = 1; + if (runDependencyWatcher === null && typeof setInterval !== 'undefined') { + // Check for missing dependencies every few seconds + runDependencyWatcher = setInterval(function() { + if (ABORT) { + clearInterval(runDependencyWatcher); + runDependencyWatcher = null; + return; + } + var shown = false; + for (var dep in runDependencyTracking) { + if (!shown) { + shown = true; + Module.printErr('still waiting on run dependencies:'); + } + Module.printErr('dependency: ' + dep); + } + if (shown) { + Module.printErr('(end of list)'); + } + }, 10000); + } + } else { + Module.printErr('warning: run dependency added without ID'); + } +} +Module["addRunDependency"] = addRunDependency; + +function removeRunDependency(id) { + runDependencies--; + if (Module['monitorRunDependencies']) { + Module['monitorRunDependencies'](runDependencies); + } + if (id) { + assert(runDependencyTracking[id]); + delete runDependencyTracking[id]; + } else { + Module.printErr('warning: run dependency removed without ID'); + } + if (runDependencies == 0) { + if (runDependencyWatcher !== null) { + clearInterval(runDependencyWatcher); + runDependencyWatcher = null; + } + if (dependenciesFulfilled) { + var callback = dependenciesFulfilled; + dependenciesFulfilled = null; + callback(); // can add another dependenciesFulfilled + } + } +} +Module["removeRunDependency"] = removeRunDependency; + +Module["preloadedImages"] = {}; // maps url to image data +Module["preloadedAudios"] = {}; // maps url to audio data + + + +var memoryInitializer = null; + + + + + + +// === Body === + +var ASM_CONSTS = [function($0, $1) { { Module.printErr('bad name in getProcAddress: ' + [Pointer_stringify($0), Pointer_stringify($1)]); } }]; + +function _emscripten_asm_const_iii(code, a0, a1) { + return ASM_CONSTS[code](a0, a1); +} + + + +STATIC_BASE = 8; + +STATICTOP = STATIC_BASE + 31792; + /* global initializers */ __ATINIT__.push(); + + +/* memory initializer */ allocate([255,255,255,255,255,255,255,255,0,0,128,63,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,32,0,0,176,1,0,0,0,0,0,0,0,0,0,32,37,249,142,0,10,2,0,0,128,190,125,95,244,125,31,160,242,43,74,30,9,82,8,0,64,34,65,80,20,4,16,32,32,41,46,18,8,34,8,0,32,34,65,80,20,4,16,32,32,249,16,76,8,250,62,60,16,34,125,222,247,125,16,32,32,161,232,50,8,34,8,0,8,34,5,16,4,69,16,0,240,163,164,50,8,82,8,0,4,34,5,16,4,69,16,32,32,249,226,94,8,2,0,129,2,62,125,31,244,125,16,0,0,32,0,0,176,1,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,190,15,0,192,15,224,247,251,125,126,191,95,232,190,80,0,162,8,8,68,232,47,20,10,133,2,129,80,72,160,80,0,162,40,228,73,40,40,20,10,132,2,129,64,72,160,72,0,190,15,2,16,175,235,247,9,132,62,159,216,79,160,71,0,34,136,228,9,161,42,20,10,132,2,129,80,72,160,72,0,34,40,8,4,160,47,20,10,133,2,129,80,72,162,80,0,190,143,0,0,33,32,244,251,125,126,129,95,232,156,208,7,0,128,0,0,224,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,1,12,0,130,66,191,223,239,247,251,11,5,5,133,66,191,4,72,0,198,66,161,80,40,20,64,8,5,37,133,66,160,8,168,0,170,70,161,80,40,20,64,8,5,37,133,66,144,16,8,0,146,74,161,95,232,247,67,8,5,37,121,126,136,32,8,0,130,82,161,64,40,1,66,8,137,36,133,64,132,64,8,0,130,98,161,64,42,2,66,8,81,36,133,64,130,128,8,0,130,66,191,192,47,244,67,248,33,252,133,126,191,0,9,62,0,0,0,0,4,0,0,0,0,0,0,0,128,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,0,4,0,32,72,65,0,0,0,0,0,8,0,0,4,4,0,4,60,32,0,65,0,0,0,0,0,8,0,0,240,125,223,247,133,239,75,81,190,239,251,190,239,59,81,4,0,69,65,20,133,40,74,73,170,40,138,162,32,8,81,4,240,69,65,244,157,40,74,71,170,40,138,162,224,11,81,4,16,69,65,20,132,40,74,73,170,40,138,162,0,10,145,2,240,125,223,247,133,47,74,209,170,232,251,190,224,123,31,1,0,0,0,0,4,8,64,0,0,0,8,32,0,0,0,0,0,0,0,0,132,15,96,0,0,0,8,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,172,1,15,0,0,0,0,0,0,0,0,0,0,0,0,0,36,1,9,0,0,0,0,0,0,0,0,0,6,0,0,0,36,1,9,0,0,0,0,0,0,0,128,16,9,162,40,250,36,1,9,0,0,0,0,0,0,0,0,62,1,42,37,66,34,82,9,0,0,0,0,0,0,0,128,138,3,42,34,34,36,41,9,0,0,0,0,0,0,0,128,10,1,42,37,18,36,1,9,0,0,0,0,0,0,0,128,10,1,190,232,251,36,1,9,0,0,0,0,0,0,0,128,190,14,0,0,2,172,1,15,0,0,0,0,0,0,0,128,4,0,0,224,3,0,0,0,0,0,0,0,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,0,0,0,14,184,67,132,3,58,32,0,128,160,190,2,32,0,0,240,138,32,82,196,2,43,32,4,34,145,2,248,59,0,240,7,142,56,75,228,2,58,32,2,28,138,30,8,42,233,17,4,224,11,66,244,2,130,36,1,20,4,20,232,186,4,209,5,128,184,195,231,10,58,137,0,28,14,60,40,2,9,80,4,128,0,64,196,2,128,68,0,34,132,32,232,2,0,80,4,0,0,64,128,2,0,32,5,0,142,62,8,2,0,16,4,224,3,64,128,66,0,0,7,0,132,0,248,3,0,240,7,0,0,64,128,34,0,0,4,0,0,0,0,0,0,0,0,0,0,64,128,2,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,128,0,194,160,72,24,0,0,1,132,33,9,146,2,66,38,4,1,33,81,0,0,127,63,2,66,2,16,41,0,34,20,192,239,247,251,253,126,9,161,223,239,247,187,187,3,18,15,68,40,20,10,133,66,9,129,64,32,16,16,17,1,8,4,68,40,20,10,133,66,127,129,64,32,16,16,17,1,4,130,199,239,247,251,253,126,9,129,207,231,243,17,17,1,50,169,80,40,20,10,133,66,9,161,64,32,16,16,17,1,64,184,80,40,20,10,133,66,121,191,223,239,247,187,187,3,32,160,31,0,0,0,0,0,0,16,0,0,0,0,0,0,112,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,2,8,131,34,1,0,2,8,67,2,1,0,1,1,124,20,4,132,68,1,0,32,4,132,4,128,8,63,130,0,132,66,191,223,239,247,3,126,161,80,40,20,10,33,0,0,132,70,161,80,40,20,138,82,161,80,40,20,122,161,239,3,158,74,161,80,40,20,82,82,161,80,40,20,74,31,8,2,132,82,161,80,40,20,34,74,161,80,40,244,75,161,239,3,132,98,161,80,40,20,82,74,161,80,40,4,122,161,40,2,124,66,191,223,239,247,139,126,191,223,239,247,11,189,239,3,0,0,0,0,0,0,0,4,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,5,32,0,0,4,132,0,34,129,69,17,16,66,1,0,148,66,81,0,0,8,66,81,148,42,162,32,8,165,80,0,0,0,32,0,0,0,0,0,0,0,5,0,0,0,0,8,190,239,251,254,251,190,239,251,20,145,235,251,190,239,251,0,32,8,130,32,10,162,40,138,20,145,40,138,162,40,138,62,190,239,251,254,11,190,239,251,20,145,40,138,162,40,138,0,162,40,138,34,8,130,32,8,20,145,40,138,162,40,138,8,190,239,251,254,251,190,239,251,20,145,47,250,190,239,251,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,33,0,4,0,0,0,0,0,0,0,0,0,0,0,0,130,80,20,2,20,0,0,0,0,0,0,0,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,190,40,138,162,40,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,168,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,190,239,251,190,47,62,0,0,0,0,0,0,0,0,0,0,4,0,0,0,40,32,0,0,0,0,0,0,0,0,0,0,0,0,0,128,15,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,1,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,2,0,0,0,7,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,2,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,7,0,0,0,1,0,0,0,5,0,0,0,3,0,0,0,7,0,0,0,3,0,0,0,5,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,5,0,0,0,6,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,9,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,5,0,0,0,255,255,255,255,0,1,0,0,255,255,255,255,0,0,128,191,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,1,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,13,0,0,0,15,0,0,0,17,0,0,0,19,0,0,0,23,0,0,0,27,0,0,0,31,0,0,0,35,0,0,0,43,0,0,0,51,0,0,0,59,0,0,0,67,0,0,0,83,0,0,0,99,0,0,0,115,0,0,0,131,0,0,0,163,0,0,0,195,0,0,0,227,0,0,0,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,9,0,0,0,9,0,0,0,10,0,0,0,10,0,0,0,11,0,0,0,11,0,0,0,12,0,0,0,12,0,0,0,13,0,0,0,13,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,7,0,0,0,9,0,0,0,13,0,0,0,17,0,0,0,25,0,0,0,33,0,0,0,49,0,0,0,65,0,0,0,97,0,0,0,129,0,0,0,193,0,0,0,1,1,0,0,129,1,0,0,1,2,0,0,1,3,0,0,1,4,0,0,1,6,0,0,1,8,0,0,1,12,0,0,1,16,0,0,1,24,0,0,1,32,0,0,1,48,0,0,1,64,0,0,1,96,0,0,0,0,0,0,0,0,0,0,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,171,170,42,63,0,0,0,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,192,63,0,0,0,64,0,0,0,0,0,0,128,191,0,0,0,192,0,0,128,192,0,0,0,193,0,0,128,193,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,63,0,0,0,64,0,0,128,64,0,0,0,65,0,0,128,65,0,0,0,0,0,0,0,0,172,95,0,0,0,1,0,0,128,0,0,0,86,0,0,0,64,0,0,0,62,180,228,51,9,145,243,51,139,178,1,52,60,32,10,52,35,26,19,52,96,169,28,52,167,215,38,52,75,175,49,52,80,59,61,52,112,135,73,52,35,160,86,52,184,146,100,52,85,109,115,52,136,159,129,52,252,11,138,52,147,4,147,52,105,146,156,52,50,191,166,52,63,149,177,52,147,31,189,52,228,105,201,52,173,128,214,52,54,113,228,52,166,73,243,52,136,140,1,53,192,247,9,53,6,239,18,53,118,123,28,53,192,166,38,53,55,123,49,53,218,3,61,53,94,76,73,53,59,97,86,53,185,79,100,53,252,37,115,53,138,121,129,53,134,227,137,53,124,217,146,53,133,100,156,53,82,142,166,53,51,97,177,53,37,232,188,53,220,46,201,53,206,65,214,53,65,46,228,53,87,2,243,53,143,102,1,54,79,207,9,54,245,195,18,54,152,77,28,54,232,117,38,54,50,71,49,54,116,204,60,54,94,17,73,54,101,34,86,54,206,12,100,54,184,222,114,54,151,83,129,54,28,187,137,54,114,174,146,54,175,54,156,54,129,93,166,54,53,45,177,54,199,176,188,54,228,243,200,54,1,3,214,54,96,235,227,54,30,187,242,54,162,64,1,55,235,166,9,55,241,152,18,55,201,31,28,55,30,69,38,55,61,19,49,55,30,149,60,55,111,214,72,55,162,227,85,55,247,201,99,55,137,151,114,55,175,45,129,55,190,146,137,55,116,131,146,55,230,8,156,55,190,44,166,55,71,249,176,55,121,121,188,55,254,184,200,55,71,196,213,55,146,168,227,55,248,115,242,55,192,26,1,56,147,126,9,56,249,109,18,56,6,242,27,56,98,20,38,56,86,223,48,56,216,93,60,56,146,155,72,56,242,164,85,56,51,135,99,56,110,80,114,56,211,7,129,56,107,106,137,56,130,88,146,56,42,219,155,56,9,252,165,56,104,197,176,56,59,66,188,56,41,126,200,56,160,133,213,56,217,101,227,56,232,44,242,56,233,244,0,57,70,86,9,57,14,67,18,57,81,196,27,57,181,227,37,57,127,171,48,57,162,38,60,57,197,96,72,57,83,102,85,57,131,68,99,57,104,9,114,57,1,226,128,57,36,66,137,57,157,45,146,57,123,173,155,57,99,203,165,57,153,145,176,57,13,11,188,57,102,67,200,57,11,71,213,57,50,35,227,57,237,229,241,57,29,207,0,58,5,46,9,58,48,24,18,58,169,150,27,58,21,179,37,58,183,119,48,58,124,239,59,58,10,38,72,58,199,39,85,58,230,1,99,58,120,194,113,58,59,188,128,58,233,25,137,58,198,2,146,58,219,127,155,58,203,154,165,58,216,93,176,58,239,211,187,58,179,8,200,58,136,8,213,58,159,224,226,58,7,159,241,58,92,169,0,59,208,5,9,59,94,237,17,59,15,105,27,59,132,130,37,59,253,67,48,59,103,184,59,59,97,235,71,59,77,233,84,59,93,191,98,59,156,123,113,59,127,150,128,59,186,241,136,59,249,215,145,59,71,82,155,59,65,106,165,59,39,42,176,59,226,156,187,59,18,206,199,59,23,202,212,59,32,158,226,59,53,88,241,59,166,131,0,60,167,221,8,60,152,194,17,60,130,59,27,60,1,82,37,60,84,16,48,60,97,129,59,60,200,176,71,60,229,170,84,60,232,124,98,60,212,52,113,60,207,112,128,60,150,201,136,60,58,173,145,60,192,36,155,60,197,57,165,60,133,246,175,60,229,101,187,60,130,147,199,60,185,139,212,60,180,91,226,60,121,17,241,60,251,93,0,61,137,181,8,61,223,151,17,61,2,14,27,61,141,33,37,61,185,220,47,61,109,74,59,61,64,118,71,61,145,108,84,61,133,58,98,61,34,238,112,61,42,75,128,61,127,161,136,61,136,130,145,61,72,247,154,61,88,9,165,61,242,194,175,61,248,46,187,61,3,89,199,61,109,77,212,61,92,25,226,61,209,202,240,61,91,56,0,62,119,141,8,62,51,109,17,62,144,224,26,62,39,241,36,62,46,169,47,62,135,19,59,62,202,59,71,62,77,46,84,62,55,248,97,62,132,167,112,62,143,37,128,62,115,121,136,62,226,87,145,62,220,201,154,62,249,216,164,62,109,143,175,62,27,248,186,62,149,30,199,62,51,15,212,62,23,215,225,62,61,132,240,62,198,18,0,63,114,101,8,63,147,66,17,63,43,179,26,63,206,192,36,63,177,117,47,63,178,220,58,63,101,1,71,63,29,240,83,63,251,181,97,63,251,96,112,63,0,0,128,63,79,103,103,83,2,0,0,192,3,0,0,192,4,0,0,192,5,0,0,192,6,0,0,192,7,0,0,192,8,0,0,192,9,0,0,192,10,0,0,192,11,0,0,192,12,0,0,192,13,0,0,192,14,0,0,192,15,0,0,192,16,0,0,192,17,0,0,192,18,0,0,192,19,0,0,192,20,0,0,192,21,0,0,192,22,0,0,192,23,0,0,192,24,0,0,192,25,0,0,192,26,0,0,192,27,0,0,192,28,0,0,192,29,0,0,192,30,0,0,192,31,0,0,192,0,0,0,179,1,0,0,195,2,0,0,195,3,0,0,195,4,0,0,195,5,0,0,195,6,0,0,195,7,0,0,195,8,0,0,195,9,0,0,195,10,0,0,195,11,0,0,195,12,0,0,195,13,0,0,211,14,0,0,195,15,0,0,195,0,0,12,187,1,0,12,195,2,0,12,195,3,0,12,195,4,0,12,211,144,19,0,0,5,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,35,120,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,120,112,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,21,0,0,5,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,43,120,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,21,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,100,0,0,0,232,3,0,0,16,39,0,0,160,134,1,0,64,66,15,0,128,150,152,0,0,225,245,5,95,112,137,0,255,9,47,15,176,6,80,6,245,5,160,5,77,5,1,5,185,4,117,4,53,4,249,3,193,3,139,3,88,3,71,71,74,49,55,32,45,32,87,65,86,69,32,67,79,76,76,69,67,84,79,82,0,114,101,115,111,117,114,99,101,115,47,102,111,110,116,46,102,110,116,0,114,97,121,108,105,98,0,114,101,115,111,117,114,99,101,115,47,116,101,120,116,117,114,101,115,47,98,97,99,107,103,114,111,117,110,100,95,116,105,116,108,101,46,112,110,103,0,114,101,115,111,117,114,99,101,115,47,116,101,120,116,117,114,101,115,47,116,105,116,108,101,46,112,110,103,0,114,101,115,111,117,114,99,101,115,47,97,117,100,105,111,47,115,116,97,114,116,46,119,97,118,0,109,111,117,115,101,32,99,108,105,99,107,32,116,111,32,115,116,97,114,116,0,114,101,115,111,117,114,99,101,115,47,116,101,120,116,117,114,101,115,47,98,97,99,107,103,114,111,117,110,100,95,103,97,109,101,112,108,97,121,46,112,110,103,0,114,101,115,111,117,114,99,101,115,47,116,101,120,116,117,114,101,115,47,112,108,97,121,101,114,46,112,110,103,0,114,101,115,111,117,114,99,101,115,47,116,101,120,116,117,114,101,115,47,115,97,109,112,108,101,95,115,109,97,108,108,46,112,110,103,0,114,101,115,111,117,114,99,101,115,47,116,101,120,116,117,114,101,115,47,115,97,109,112,108,101,95,109,105,100,46,112,110,103,0,114,101,115,111,117,114,99,101,115,47,116,101,120,116,117,114,101,115,47,115,97,109,112,108,101,95,98,105,103,46,112,110,103,0,114,101,115,111,117,114,99,101,115,47,116,101,120,116,117,114,101,115,47,108,105,110,101,46,112,110,103,0,114,101,115,111,117,114,99,101,115,47,97,117,100,105,111,47,115,97,109,112,108,101,95,111,110,46,119,97,118,0,114,101,115,111,117,114,99,101,115,47,97,117,100,105,111,47,115,97,109,112,108,101,95,111,102,102,46,119,97,118,0,114,101,115,111,117,114,99,101,115,47,97,117,100,105,111,47,112,97,117,115,101,46,119,97,118,0,114,101,115,111,117,114,99,101,115,47,97,117,100,105,111,47,119,97,118,101,46,111,103,103,0,87,65,86,69,32,80,65,85,83,69,68,0,37,48,53,105,32,47,32,37,48,53,105,0,67,111,109,98,111,58,32,37,48,50,105,32,91,109,97,120,58,32,37,48,50,105,93,0,37,48,50,105,37,37,0,114,101,115,111,117,114,99,101,115,47,116,101,120,116,117,114,101,115,47,98,97,99,107,103,114,111,117,110,100,46,112,110,103,0,114,101,115,111,117,114,99,101,115,47,116,101,120,116,117,114,101,115,47,119,105,110,46,112,110,103,0,114,101,115,111,117,114,99,101,115,47,116,101,120,116,117,114,101,115,47,108,111,115,101,46,112,110,103,0,114,101,115,111,117,114,99,101,115,47,116,101,120,116,117,114,101,115,47,108,111,103,111,95,114,97,121,108,105,98,46,112,110,103,0,99,111,110,103,114,97,116,115,44,32,121,111,117,32,103,111,116,32,116,104,101,32,119,97,118,101,33,0,105,116,32,115,101,101,109,115,32,121,111,117,32,108,111,115,101,32,116,104,101,32,119,97,118,101,46,46,46,0,40,99,41,32,68,101,118,101,108,111,112,101,100,32,98,121,32,82,97,109,111,110,32,83,97,110,116,97,109,97,114,105,97,32,40,64,114,97,121,115,97,110,53,41,0,112,111,119,101,114,101,100,32,98,121,0,109,111,117,115,101,32,99,108,105,99,107,32,116,111,32,114,101,116,117,114,110,0,73,110,105,116,105,97,108,105,122,105,110,103,32,114,97,121,108,105,98,32,40,118,49,46,55,46,48,41,0,35,99,97,110,118,97,115,0,84,97,114,103,101,116,32,116,105,109,101,32,112,101,114,32,102,114,97,109,101,58,32,37,48,50,46,48,51,102,32,109,105,108,108,105,115,101,99,111,110,100,115,0,69,115,99,97,112,101,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,102,117,108,108,115,99,114,101,101,110,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,119,105,110,100,111,119,101,100,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,91,84,69,88,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,102,111,110,116,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,84,69,88,32,37,105,93,32,80,97,114,97,109,101,116,101,114,115,58,32,37,105,120,37,105,44,32,37,105,32,109,105,112,115,44,32,102,111,114,109,97,116,32,37,105,0,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,50,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,84,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,84,101,120,116,117,114,101,32,99,114,101,97,116,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,73,109,97,103,101,32,100,97,116,97,32,102,111,114,109,97,116,32,105,115,32,99,111,109,112,114,101,115,115,101,100,44,32,99,97,110,32,110,111,116,32,98,101,32,99,111,110,118,101,114,116,101,100,0,70,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,102,111,114,32,112,105,120,101,108,32,100,97,116,97,32,114,101,116,114,105,101,118,97,108,0,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,71,76,70,87,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,77,83,65,65,32,120,52,0,67,108,111,115,101,115,116,32,102,117,108,108,115,99,114,101,101,110,32,118,105,100,101,111,109,111,100,101,58,32,37,105,32,120,32,37,105,0,71,76,70,87,32,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,87,105,110,100,111,119,0,68,105,115,112,108,97,121,32,100,101,118,105,99,101,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,82,101,110,100,101,114,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,83,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,86,105,101,119,112,111,114,116,32,111,102,102,115,101,116,115,58,32,37,105,44,32,37,105,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,86,83,89,78,67,0,71,80,85,58,32,86,101,110,100,111,114,58,32,32,32,37,115,0,71,80,85,58,32,82,101,110,100,101,114,101,114,58,32,37,115,0,71,80,85,58,32,86,101,114,115,105,111,110,58,32,32,37,115,0,71,80,85,58,32,71,76,83,76,58,32,32,32,32,32,37,115,0,32,0,78,117,109,98,101,114,32,111,102,32,115,117,112,112,111,114,116,101,100,32,101,120,116,101,110,115,105,111,110,115,58,32,37,105,0,71,76,95,79,69,83,95,118,101,114,116,101,120,95,97,114,114,97,121,95,111,98,106,101,99,116,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,79,69,83,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,71,76,95,79,69,83,95,116,101,120,116,117,114,101,95,110,112,111,116,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,115,51,116,99,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,87,69,66,75,73,84,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,79,69,83,95,99,111,109,112,114,101,115,115,101,100,95,69,84,67,49,95,82,71,66,56,95,116,101,120,116,117,114,101,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,101,116,99,49,0,71,76,95,65,82,66,95,69,83,51,95,99,111,109,112,97,116,105,98,105,108,105,116,121,0,71,76,95,73,77,71,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,112,118,114,116,99,0,71,76,95,75,72,82,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,97,115,116,99,95,104,100,114,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,102,105,108,116,101,114,95,97,110,105,115,111,116,114,111,112,105,99,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,109,105,114,114,111,114,95,99,108,97,109,112,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,86,65,79,32,102,117,110,99,116,105,111,110,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,86,65,79,32,117,115,97,103,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,102,117,108,108,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,108,105,109,105,116,101,100,32,78,80,79,84,32,115,117,112,112,111,114,116,32,40,110,111,45,109,105,112,109,97,112,115,44,32,110,111,45,114,101,112,101,97,116,41,0,91,69,88,84,69,78,83,73,79,78,93,32,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,50,47,69,65,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,110,105,115,111,116,114,111,112,105,99,32,116,101,120,116,117,114,101,115,32,102,105,108,116,101,114,105,110,103,32,115,117,112,112,111,114,116,101,100,32,40,109,97,120,58,32,37,46,48,102,88,41,0,91,69,88,84,69,78,83,73,79,78,93,32,67,108,97,109,112,32,109,105,114,114,111,114,32,119,114,97,112,32,116,101,120,116,117,114,101,32,109,111,100,101,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,79,112,101,110,71,76,32,100,101,102,97,117,108,116,32,115,116,97,116,101,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,67,80,85,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,44,32,116,114,105,97,110,103,108,101,115,44,32,113,117,97,100,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,51,32,118,101,114,116,101,120,80,111,115,105,116,105,111,110,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,50,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,52,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,109,97,116,52,32,109,118,112,77,97,116,114,105,120,59,32,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,102,114,97,103,84,101,120,67,111,111,114,100,32,61,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,10,32,32,32,32,102,114,97,103,67,111,108,111,114,32,61,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,10,32,32,32,32,103,108,95,80,111,115,105,116,105,111,110,32,61,32,109,118,112,77,97,116,114,105,120,42,118,101,99,52,40,118,101,114,116,101,120,80,111,115,105,116,105,111,110,44,32,49,46,48,41,59,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,112,114,101,99,105,115,105,111,110,32,109,101,100,105,117,109,112,32,102,108,111,97,116,59,32,32,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,115,97,109,112,108,101,114,50,68,32,116,101,120,116,117,114,101,48,59,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,118,101,99,52,32,99,111,108,68,105,102,102,117,115,101,59,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,118,101,99,52,32,116,101,120,101,108,67,111,108,111,114,32,61,32,116,101,120,116,117,114,101,50,68,40,116,101,120,116,117,114,101,48,44,32,102,114,97,103,84,101,120,67,111,111,114,100,41,59,32,10,32,32,32,32,103,108,95,70,114,97,103,67,111,108,111,114,32,61,32,116,101,120,101,108,67,111,108,111,114,42,99,111,108,68,105,102,102,117,115,101,42,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,10,125,32,32,32,32,32,32,32,32,32,32,32], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE); +/* memory initializer */ allocate([32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,118,101,114,116,101,120,80,111,115,105,116,105,111,110,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,50,0,118,101,114,116,101,120,78,111,114,109,97,108,0,118,101,114,116,101,120,84,97,110,103,101,110,116,0,118,101,114,116,101,120,67,111,108,111,114,0,109,118,112,77,97,116,114,105,120,0,99,111,108,68,105,102,102,117,115,101,0,99,111,108,65,109,98,105,101,110,116,0,99,111,108,83,112,101,99,117,108,97,114,0,116,101,120,116,117,114,101,48,0,116,101,120,116,117,114,101,49,0,116,101,120,116,117,114,101,50,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,118,101,114,116,101,120,32,115,104,97,100,101,114,46,46,46,0,37,115,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,86,101,114,116,101,120,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,102,114,97,103,109,101,110,116,32,115,104,97,100,101,114,46,46,46,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,114,97,103,109,101,110,116,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,108,105,110,107,32,115,104,97,100,101,114,32,112,114,111,103,114,97,109,46,46,46,0,91,83,72,68,82,32,73,68,32,37,105,93,32,83,104,97,100,101,114,32,112,114,111,103,114,97,109,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,79,87,78,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,32,40,37,105,120,37,105,41,32,105,115,32,98,105,103,103,101,114,32,116,104,97,110,32,100,105,115,112,108,97,121,32,115,105,122,101,32,40,37,105,120,37,105,41,0,68,111,119,110,115,99,97,108,101,32,109,97,116,114,105,120,32,103,101,110,101,114,97,116,101,100,44,32,99,111,110,116,101,110,116,32,119,105,108,108,32,98,101,32,114,101,110,100,101,114,101,100,32,97,116,58,32,37,105,32,120,32,37,105,0,85,80,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,32,45,62,32,68,105,115,112,108,97,121,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,91,71,76,70,87,51,32,69,114,114,111,114,93,32,67,111,100,101,58,32,37,105,32,68,101,99,114,105,112,116,105,111,110,58,32,37,115,0,73,78,70,79,58,32,0,87,65,82,78,73,78,71,58,32,0,87,105,110,100,111,119,32,99,108,111,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,40,98,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,41,32,102,114,111,109,32,86,82,65,77,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,83,116,97,99,107,32,66,117,102,102,101,114,32,79,118,101,114,102,108,111,119,32,40,77,65,88,32,37,105,32,77,97,116,114,105,120,41,0,77,65,88,95,76,73,78,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,84,82,73,65,78,71,76,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,81,85,65,68,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,67,108,97,109,112,32,109,105,114,114,111,114,32,119,114,97,112,32,109,111,100,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,77,97,120,105,109,117,109,32,97,110,105,115,111,116,114,111,112,105,99,32,102,105,108,116,101,114,32,108,101,118,101,108,32,115,117,112,112,111,114,116,101,100,32,105,115,32,37,105,88,0,65,110,105,115,111,116,114,111,112,105,99,32,102,105,108,116,101,114,105,110,103,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,70,66,79,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,114,101,110,100,101,114,32,116,101,120,116,117,114,101,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,70,114,97,109,101,98,117,102,102,101,114,32,111,98,106,101,99,116,32,99,111,117,108,100,32,110,111,116,32,98,101,32,99,114,101,97,116,101,100,46,46,46,0,70,114,97,109,101,98,117,102,102,101,114,32,105,115,32,117,110,115,117,112,112,111,114,116,101,100,0,70,114,97,109,101,98,117,102,102,101,114,32,105,110,99,111,109,112,108,101,116,101,32,97,116,116,97,99,104,109,101,110,116,0,70,114,97,109,101,98,117,102,102,101,114,32,105,110,99,111,109,112,108,101,116,101,32,100,105,109,101,110,115,105,111,110,115,0,70,114,97,109,101,98,117,102,102,101,114,32,105,110,99,111,109,112,108,101,116,101,32,109,105,115,115,105,110,103,32,97,116,116,97,99,104,109,101,110,116,0,91,70,66,79,32,73,68,32,37,105,93,32,70,114,97,109,101,98,117,102,102,101,114,32,111,98,106,101,99,116,32,99,114,101,97,116,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,114,105,46,98,105,116,115,95,112,101,114,95,99,104,97,110,110,101,108,32,61,61,32,49,54,0,46,47,101,120,116,101,114,110,97,108,47,115,116,98,95,105,109,97,103,101,46,104,0,115,116,98,105,95,95,108,111,97,100,95,97,110,100,95,112,111,115,116,112,114,111,99,101,115,115,95,56,98,105,116,0,111,117,116,111,102,109,101,109,0,117,110,107,110,111,119,110,32,105,109,97,103,101,32,116,121,112,101,0,98,97,100,32,114,101,113,95,99,111,109,112,0,114,101,113,95,99,111,109,112,32,62,61,32,49,32,38,38,32,114,101,113,95,99,111,109,112,32,60,61,32,52,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,49,54,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,0,109,117,108,116,105,112,108,101,32,73,72,68,82,0,98,97,100,32,73,72,68,82,32,108,101,110,0,116,111,111,32,108,97,114,103,101,0,49,47,50,47,52,47,56,47,49,54,45,98,105,116,32,111,110,108,121,0,98,97,100,32,99,116,121,112,101,0,98,97,100,32,99,111,109,112,32,109,101,116,104,111,100,0,98,97,100,32,102,105,108,116,101,114,32,109,101,116,104,111,100,0,98,97,100,32,105,110,116,101,114,108,97,99,101,32,109,101,116,104,111,100,0,48,45,112,105,120,101,108,32,105,109,97,103,101,0,102,105,114,115,116,32,110,111,116,32,73,72,68,82,0,105,110,118,97,108,105,100,32,80,76,84,69,0,116,82,78,83,32,97,102,116,101,114,32,73,68,65,84,0,116,82,78,83,32,98,101,102,111,114,101,32,80,76,84,69,0,98,97,100,32,116,82,78,83,32,108,101,110,0,116,82,78,83,32,119,105,116,104,32,97,108,112,104,97,0,0,255,85,0,17,0,0,0,1,110,111,32,80,76,84,69,0,111,117,116,111,102,100,97,116,97,0,110,111,32,73,68,65,84,0,88,88,88,88,32,80,78,71,32,99,104,117,110,107,32,110,111,116,32,107,110,111,119,110,0,115,45,62,105,109,103,95,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,100,101,95,105,112,104,111,110,101,0,111,117,116,95,110,32,61,61,32,50,32,124,124,32,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,49,54,0,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,32,124,124,32,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,43,49,0,115,116,98,105,95,95,99,114,101,97,116,101,95,112,110,103,95,105,109,97,103,101,95,114,97,119,0,110,111,116,32,101,110,111,117,103,104,32,112,105,120,101,108,115,0,105,109,103,95,119,105,100,116,104,95,98,121,116,101,115,32,60,61,32,120,0,0,1,0,5,6,105,109,103,95,110,43,49,32,61,61,32,111,117,116,95,110,0,105,110,118,97,108,105,100,32,102,105,108,116,101,114,0,105,109,103,95,110,32,61,61,32,51,0,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,98,97,100,32,104,117,102,102,109,97,110,32,99,111,100,101,0,98,97,100,32,100,105,115,116,0,111,117,116,112,117,116,32,98,117,102,102,101,114,32,108,105,109,105,116,0,122,45,62,115,105,122,101,91,98,93,32,61,61,32,115,0,115,116,98,105,95,95,122,104,117,102,102,109,97,110,95,100,101,99,111,100,101,95,115,108,111,119,112,97,116,104,0,98,105,116,115,32,60,61,32,49,54,0,115,116,98,105,95,95,98,105,116,95,114,101,118,101,114,115,101,0,122,45,62,99,111,100,101,95,98,117,102,102,101,114,32,60,32,40,49,85,32,60,60,32,122,45,62,110,117,109,95,98,105,116,115,41,0,115,116,98,105,95,95,102,105,108,108,95,98,105,116,115,0,98,97,100,32,99,111,100,101,108,101,110,103,116,104,115,0,99,32,61,61,32,49,56,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,104,117,102,102,109,97,110,95,99,111,100,101,115,0,98,97,100,32,115,105,122,101,115,0,97,45,62,110,117,109,95,98,105,116,115,32,61,61,32,48,0,115,116,98,105,95,95,112,97,114,115,101,95,117,110,99,111,109,112,114,101,115,115,101,100,95,98,108,111,99,107,0,122,108,105,98,32,99,111,114,114,117,112,116,0,114,101,97,100,32,112,97,115,116,32,98,117,102,102,101,114,0,98,97,100,32,122,108,105,98,32,104,101,97,100,101,114,0,110,111,32,112,114,101,115,101,116,32,100,105,99,116,0,98,97,100,32,99,111,109,112,114,101,115,115,105,111,110,0,98,97,100,32,112,110,103,32,115,105,103,0,91,37,115,93,32,82,101,115,111,117,114,99,101,32,102,105,108,101,32,100,111,101,115,32,110,111,116,32,99,111,110,116,97,105,110,32,105,109,97,103,101,32,100,97,116,97,0,46,112,110,103,0,91,37,115,93,32,73,109,97,103,101,32,102,105,108,101,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,37,115,93,32,73,109,97,103,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,91,37,115,93,32,73,109,97,103,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,73,109,97,103,101,32,102,111,114,109,97,116,32,110,111,116,32,114,101,99,111,103,110,105,122,101,100,0,91,37,115,93,32,114,82,69,83,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,91,37,115,93,32,84,104,105,115,32,105,115,32,110,111,116,32,97,32,118,97,108,105,100,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,115,111,117,114,99,101,32,100,97,116,97,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,113,117,101,115,116,101,100,32,114,101,115,111,117,114,99,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,102,111,117,110,100,0,79,117,116,32,111,102,32,109,101,109,111,114,121,32,119,104,105,108,101,32,100,101,99,111,109,112,114,101,115,115,105,110,103,32,100,97,116,97,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,105,111,110,32,102,97,105,108,101,100,0,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,32,100,111,32,110,111,116,32,109,97,116,99,104,44,32,100,97,116,97,32,109,97,121,32,98,101,32,99,111,114,114,117,112,116,101,100,0,32,45,45,32,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,32,45,45,32,82,101,116,117,114,110,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,102,114,111,109,32,37,117,32,98,121,116,101,115,32,116,111,32,37,117,32,98,121,116,101,115,0,5,5,4,0,16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15,2,3,7,0,3,3,11,0,84,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,99,114,101,97,116,101,100,0,65,108,112,104,97,32,109,97,115,107,32,109,117,115,116,32,98,101,32,115,97,109,101,32,115,105,122,101,32,97,115,32,105,109,97,103,101,0,65,108,112,104,97,32,109,97,115,107,32,99,97,110,32,110,111,116,32,98,101,32,97,112,112,108,105,101,100,32,116,111,32,99,111,109,112,114,101,115,115,101,100,32,100,97,116,97,32,102,111,114,109,97,116,115,0,91,84,69,88,32,73,68,32,37,105,93,32,78,111,32,109,105,112,109,97,112,115,32,97,118,97,105,108,97,98,108,101,32,102,111,114,32,84,82,73,76,73,78,69,65,82,32,116,101,120,116,117,114,101,32,102,105,108,116,101,114,105,110,103,0,46,116,116,102,0,46,102,110,116,0,91,37,115,93,32,83,112,114,105,116,101,70,111,110,116,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,44,32,117,115,105,110,103,32,100,101,102,97,117,108,116,32,102,111,110,116,0,83,112,114,105,116,101,70,111,110,116,32,100,97,116,97,32,112,97,114,115,101,100,32,99,111,114,114,101,99,116,108,121,32,102,114,111,109,32,105,109,97,103,101,0,73,109,97,103,101,32,102,105,108,101,32,108,111,97,100,101,100,32,99,111,114,114,101,99,116,108,121,32,97,115,32,83,112,114,105,116,101,70,111,110,116,0,114,116,0,91,37,115,93,32,70,78,84,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,108,105,110,101,72,101,105,103,104,116,0,108,105,110,101,72,101,105,103,104,116,61,37,105,32,98,97,115,101,61,37,105,32,115,99,97,108,101,87,61,37,105,32,115,99,97,108,101,72,61,37,105,0,91,37,115,93,32,70,111,110,116,32,115,105,122,101,58,32,37,105,0,91,37,115,93,32,70,111,110,116,32,116,101,120,116,117,114,101,32,115,99,97,108,101,58,32,37,105,120,37,105,0,102,105,108,101,0,102,105,108,101,61,34,37,49,50,56,91,94,34,93,34,0,91,37,115,93,32,70,111,110,116,32,116,101,120,116,117,114,101,32,102,105,108,101,110,97,109,101,58,32,37,115,0,99,111,117,110,116,0,99,111,117,110,116,61,37,105,0,91,37,115,93,32,70,111,110,116,32,110,117,109,32,99,104,97,114,115,58,32,37,105,0,91,37,115,93,32,70,111,110,116,32,116,101,120,116,117,114,101,32,108,111,97,100,105,110,103,32,112,97,116,104,58,32,37,115,0,99,104,97,114,32,105,100,61,37,105,32,120,61,37,105,32,121,61,37,105,32,119,105,100,116,104,61,37,105,32,104,101,105,103,104,116,61,37,105,32,120,111,102,102,115,101,116,61,37,105,32,121,111,102,102,115,101,116,61,37,105,32,120,97,100,118,97,110,99,101,61,37,105,0,91,37,115,93,32,83,112,114,105,116,101,70,111,110,116,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,85,110,108,111,97,100,101,100,32,115,112,114,105,116,101,32,102,111,110,116,32,100,97,116,97,0,91,37,115,93,32,83,112,114,105,116,101,70,111,110,116,32,99,111,117,108,100,32,110,111,116,32,98,101,32,103,101,110,101,114,97,116,101,100,44,32,117,115,105,110,103,32,100,101,102,97,117,108,116,32,102,111,110,116,0,84,84,70,32,115,112,114,105,116,101,102,111,110,116,32,108,111,97,100,105,110,103,58,32,80,114,101,100,105,99,116,101,100,32,116,101,120,116,117,114,101,32,115,105,122,101,58,32,37,105,120,37,105,0,91,37,115,93,32,84,84,70,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,84,84,70,32,115,112,114,105,116,101,102,111,110,116,32,108,111,97,100,105,110,103,58,32,102,105,114,115,116,32,99,104,97,114,97,99,116,101,114,32,105,115,32,110,111,116,32,83,80,65,67,69,40,51,50,41,32,99,104,97,114,97,99,116,101,114,0,84,84,70,32,115,112,114,105,116,101,102,111,110,116,32,108,111,97,100,105,110,103,58,32,78,111,116,32,97,108,108,32,116,104,101,32,99,104,97,114,97,99,116,101,114,115,32,102,105,116,32,105,110,32,116,104,101,32,102,111,110,116,0,120,43,103,119,32,60,32,112,119,0,46,47,101,120,116,101,114,110,97,108,47,115,116,98,95,116,114,117,101,116,121,112,101,46,104,0,115,116,98,116,116,95,66,97,107,101,70,111,110,116,66,105,116,109,97,112,95,105,110,116,101,114,110,97,108,0,122,45,62,100,105,114,101,99,116,105,111,110,0,115,116,98,116,116,95,95,114,97,115,116,101,114,105,122,101,95,115,111,114,116,101,100,95,101,100,103,101,115,0,122,45,62,101,121,32,62,61,32,115,99,97,110,95,121,95,116,111,112,0,101,45,62,101,121,32,62,61,32,121,95,116,111,112,0,115,116,98,116,116,95,95,102,105,108,108,95,97,99,116,105,118,101,95,101,100,103,101,115,95,110,101,119,0,101,45,62,115,121,32,60,61,32,121,95,98,111,116,116,111,109,32,38,38,32,101,45,62,101,121,32,62,61,32,121,95,116,111,112,0,120,32,62,61,32,48,32,38,38,32,120,32,60,32,108,101,110,0,102,97,98,115,40,97,114,101,97,41,32,60,61,32,49,46,48,49,102,0,121,48,32,60,32,121,49,0,115,116,98,116,116,95,95,104,97,110,100,108,101,95,99,108,105,112,112,101,100,95,101,100,103,101,0,101,45,62,115,121,32,60,61,32,101,45,62,101,121,0,120,49,32,60,61,32,120,43,49,0,120,49,32,62,61,32,120,0,120,49,32,60,61,32,120,0,120,49,32,62,61,32,120,43,49,0,120,49,32,62,61,32,120,32,38,38,32,120,49,32,60,61,32,120,43,49,0,120,48,32,62,61,32,120,32,38,38,32,120,48,32,60,61,32,120,43,49,32,38,38,32,120,49,32,62,61,32,120,32,38,38,32,120,49,32,60,61,32,120,43,49,0,122,32,33,61,32,40,40,118,111,105,100,42,41,48,41,0,115,116,98,116,116,95,95,110,101,119,95,97,99,116,105,118,101,0,33,105,110,102,111,45,62,99,102,102,46,115,105,122,101,0,115,116,98,116,116,95,95,71,101,116,71,108,121,102,79,102,102,115,101,116,0,115,116,98,116,116,95,95,99,102,102,95,105,110,116,0,110,32,62,61,32,49,32,38,38,32,110,32,60,61,32,52,0,115,116,98,116,116,95,95,98,117,102,95,103,101,116,0,115,105,122,101,32,60,32,48,120,52,48,48,48,48,48,48,48,0,115,116,98,116,116,95,95,110,101,119,95,98,117,102,0,33,40,111,32,62,32,98,45,62,115,105,122,101,32,124,124,32,111,32,60,32,48,41,0,115,116,98,116,116,95,95,98,117,102,95,115,101,101,107,0,111,102,102,115,105,122,101,32,62,61,32,49,32,38,38,32,111,102,102,115,105,122,101,32,60,61,32,52,0,115,116,98,116,116,95,95,99,102,102,95,103,101,116,95,105,110,100,101,120,0,98,48,32,62,61,32,50,56,0,115,116,98,116,116,95,95,99,102,102,95,115,107,105,112,95,111,112,101,114,97,110,100,0,105,32,62,61,32,48,32,38,38,32,105,32,60,32,99,111,117,110,116,0,115,116,98,116,116,95,95,99,102,102,95,105,110,100,101,120,95,103,101,116,0,111,117,116,112,117,116,95,99,116,120,46,110,117,109,95,118,101,114,116,105,99,101,115,32,61,61,32,99,111,117,110,116,95,99,116,120,46,110,117,109,95,118,101,114,116,105,99,101,115,0,115,116,98,116,116,95,95,71,101,116,71,108,121,112,104,83,104,97,112,101,84,50,0,115,116,98,116,116,95,95,71,101,116,71,108,121,112,104,83,104,97,112,101,84,84,0,115,116,98,116,116,95,70,105,110,100,71,108,121,112,104,73,110,100,101,120,0,117,110,105,99,111,100,101,95,99,111,100,101,112,111,105,110,116,32,60,61,32,116,116,85,83,72,79,82,84,40,100,97,116,97,32,43,32,101,110,100,67,111,117,110,116,32,43,32,50,42,105,116,101,109,41,0,99,109,97,112,0,108,111,99,97,0,104,101,97,100,0,103,108,121,102,0,104,104,101,97,0,104,109,116,120,0,107,101,114,110,0,67,70,70,32,0,109,97,120,112,0,37,115,40,41,58,32,106,97,114,95,120,109,95,99,104,101,99,107,95,115,97,110,105,116,121,95,112,114,101,108,111,97,100,40,41,32,114,101,116,117,114,110,101,100,32,37,105,44,32,109,111,100,117,108,101,32,105,115,32,110,111,116,32,115,97,102,101,32,116,111,32,108,111,97,100,10,0,106,97,114,95,120,109,95,99,114,101,97,116,101,95,99,111,110,116,101,120,116,95,115,97,102,101,0,37,115,40,41,58,32,99,97,108,108,32,116,111,32,109,97,108,108,111,99,40,41,32,102,97,105,108,101,100,44,32,114,101,116,117,114,110,101,100,32,37,112,10,0,37,115,40,41,58,32,106,97,114,95,120,109,95,99,104,101,99,107,95,115,97,110,105,116,121,95,112,111,115,116,108,111,97,100,40,41,32,114,101,116,117,114,110,101,100,32,37,105,44,32,109,111,100,117,108,101,32,105,115,32,110,111,116,32,115,97,102,101,32,116,111,32,112,108,97,121,10,0,37,115,40,41,58,32,116,114,105,109,109,105,110,103,32,105,110,118,97,108,105,100,32,80,79,84,32,97,116,32,112,111,115,32,37,88,10,0,106,97,114,95,120,109,95,99,104,101,99,107,95,115,97,110,105,116,121,95,112,111,115,116,108,111,97,100,0,37,115,40,41,58,32,109,111,100,117,108,101,32,104,97,115,32,105,110,118,97,108,105,100,32,80,79,84,44,32,112,111,115,32,37,88,32,114,101,102,101,114,101,110,99,101,115,32,110,111,110,101,120,105,115,116,101,110,116,32,112,97,116,116,101,114,110,32,37,88,10,0,69,120,116,101,110,100,101,100,32,77,111,100,117,108,101,58,32,0,67,111,117,108,100,32,110,111,116,32,111,112,101,110,32,105,110,112,117,116,32,102,105,108,101,0,102,115,101,101,107,40,41,32,102,97,105,108,101,100,0,102,114,101,97,100,40,41,32,102,97,105,108,101,100,0,99,111,117,108,100,32,110,111,116,32,99,114,101,97,116,101,32,99,111,110,116,101,120,116,58,32,109,111,100,117,108,101,32,105,115,32,110,111,116,32,115,97,110,101,10,0,99,111,117,108,100,32,110,111,116,32,99,114,101,97,116,101,32,99,111,110,116,101,120,116,58,32,109,97,108,108,111,99,32,102,97,105,108,101,100,10,0,99,111,117,108,100,32,110,111,116,32,99,114,101,97,116,101,32,99,111,110,116,101,120,116,58,32,117,110,107,110,111,119,110,32,101,114,114,111,114,10,0,65,117,100,105,111,32,100,101,118,105,99,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,67,111,117,108,100,32,110,111,116,32,105,110,105,116,105,97,108,105,122,101,32,97,117,100,105,111,32,99,111,110,116,101,120,116,0,65,117,100,105,111,32,100,101,118,105,99,101,32,97,110,100,32,99,111,110,116,101,120,116,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,58,32,37,115,0,67,111,117,108,100,32,110,111,116,32,103,101,116,32,99,117,114,114,101,110,116,32,97,117,100,105,111,32,99,111,110,116,101,120,116,32,102,111,114,32,99,108,111,115,105,110,103,0,65,117,100,105,111,32,100,101,118,105,99,101,32,99,108,111,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,46,119,97,118,0,46,111,103,103,0,46,114,114,101,115,0,91,37,115,93,32,82,101,115,111,117,114,99,101,32,102,105,108,101,32,100,111,101,115,32,110,111,116,32,99,111,110,116,97,105,110,32,119,97,118,101,32,100,97,116,97,0,91,37,115,93,32,65,117,100,105,111,32,102,105,108,101,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,44,32,105,116,32,99,97,110,39,116,32,98,101,32,108,111,97,100,101,100,0,91,37,115,93,32,79,71,71,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,91,37,115,93,32,79,103,103,32,97,117,100,105,111,32,108,101,110,103,116,104,32,105,115,32,108,97,114,103,101,114,32,116,104,97,110,32,49,48,32,115,101,99,111,110,100,115,32,40,37,102,41,44,32,116,104,97,116,39,115,32,97,32,98,105,103,32,102,105,108,101,32,105,110,32,109,101,109,111,114,121,44,32,99,111,110,115,105,100,101,114,32,109,117,115,105,99,32,115,116,114,101,97,109,105,110,103,0,91,37,115,93,32,83,97,109,112,108,101,115,32,111,98,116,97,105,110,101,100,58,32,37,105,0,77,111,110,111,0,83,116,101,114,101,111,0,91,37,115,93,32,79,71,71,32,102,105,108,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,32,72,122,44,32,37,105,32,98,105,116,44,32,37,115,41,0,48,0,101,120,116,101,114,110,97,108,47,115,116,98,95,118,111,114,98,105,115,46,99,0,103,101,116,95,119,105,110,100,111,119,0,102,45,62,97,108,108,111,99,46,97,108,108,111,99,95,98,117,102,102,101,114,95,108,101,110,103,116,104,95,105,110,95,98,121,116,101,115,32,61,61,32,102,45,62,116,101,109,112,95,111,102,102,115,101,116,0,118,111,114,98,105,115,95,100,101,99,111,100,101,95,112,97,99,107,101,116,95,114,101,115,116,0,102,45,62,98,121,116,101,115,95,105,110,95,115,101,103,32,62,32,48,0,103,101,116,56,95,112,97,99,107,101,116,95,114,97,119,0,102,45,62,98,121,116,101,115,95,105,110,95,115,101,103,32,61,61,32,48,0,110,101,120,116,95,115,101,103,109,101,110,116,0,40,110,32,38,32,51,41,32,61,61,32,48,0,105,109,100,99,116,95,115,116,101,112,51,95,105,116,101,114,48,95,108,111,111,112,0,122,32,60,32,99,45,62,115,111,114,116,101,100,95,101,110,116,114,105,101,115,0,99,111,100,101,98,111,111,107,95,100,101,99,111,100,101,95,115,116,97,114,116,0,33,99,45,62,115,112,97,114,115,101,32,124,124,32,122,32,60,32,99,45,62,115,111,114,116,101,100,95,101,110,116,114,105,101,115,0,99,111,100,101,98,111,111,107,95,100,101,99,111,100,101,95,100,101,105,110,116,101,114,108,101,97,118,101,95,114,101,112,101,97,116,0,33,99,45,62,115,112,97,114,115,101,0,99,111,100,101,98,111,111,107,95,100,101,99,111,100,101,95,115,99,97,108,97,114,95,114,97,119,0,0,1,2,2,3,3,3,3,4,4,4,4,4,4,4,4,118,111,114,98,105,115,95,100,101,99,111,100,101,95,105,110,105,116,105,97,108,0,98,117,102,95,99,32,61,61,32,50,0,99,111,110,118,101,114,116,95,99,104,97,110,110,101,108,115,95,115,104,111,114,116,95,105,110,116,101,114,108,101,97,118,101,100,0,0,0,0,0,0,0,7,0,0,0,0,0,3,5,0,0,0,0,3,7,5,0,0,0,3,5,3,5,0,0,3,7,5,3,5,0,3,7,5,3,5,7,114,98,0,102,45,62,116,101,109,112,95,111,102,102,115,101,116,32,61,61,32,102,45,62,97,108,108,111,99,46,97,108,108,111,99,95,98,117,102,102,101,114,95,108,101,110,103,116,104,95,105,110,95,98,121,116,101,115,0,115,116,97,114,116,95,100,101,99,111,100,101,114,0,112,111,119,40,40,102,108,111,97,116,41,32,114,43,49,44,32,100,105,109,41,32,62,32,101,110,116,114,105,101,115,0,108,111,111,107,117,112,49,95,118,97,108,117,101,115,0,40,105,110,116,41,32,102,108,111,111,114,40,112,111,119,40,40,102,108,111,97,116,41,32,114,44,32,100,105,109,41,41,32,60,61,32,101,110,116,114,105,101,115,0,107,32,61,61,32,99,45,62,115,111,114,116,101,100,95,101,110,116,114,105,101,115,0,99,111,109,112,117,116,101,95,115,111,114,116,101,100,95,104,117,102,102,109,97,110,0,99,45,62,115,111,114,116,101,100,95,99,111,100,101,119,111,114,100,115,91,120,93,32,61,61,32,99,111,100,101,0,108,101,110,32,33,61,32,78,79,95,67,79,68,69,0,105,110,99,108,117,100,101,95,105,110,95,115,111,114,116,0,99,45,62,115,111,114,116,101,100,95,101,110,116,114,105,101,115,32,61,61,32,48,0,99,111,109,112,117,116,101,95,99,111,100,101,119,111,114,100,115,0,122,32,62,61,32,48,32,38,38,32,122,32,60,32,51,50,0,108,101,110,91,105,93,32,62,61,32,48,32,38,38,32,108,101,110,91,105,93,32,60,32,51,50,0,97,118,97,105,108,97,98,108,101,91,121,93,32,61,61,32,48,0,118,111,114,98,105,115,91,37,115,93,32,87,65,86,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,82,73,70,70,0,87,65,86,69,0,91,37,115,93,32,73,110,118,97,108,105,100,32,82,73,70,70,32,111,114,32,87,65,86,69,32,72,101,97,100,101,114,0,91,37,115,93,32,73,110,118,97,108,105,100,32,87,97,118,101,32,102,111,114,109,97,116,0,91,37,115,93,32,73,110,118,97,108,105,100,32,100,97,116,97,32,104,101,97,100,101,114,0,91,37,115,93,32,87,65,86,32,115,97,109,112,108,101,32,115,105,122,101,32,40,37,105,98,105,116,41,32,110,111,116,32,115,117,112,112,111,114,116,101,100,44,32,99,111,110,118,101,114,116,101,100,32,116,111,32,49,54,98,105,116,0,91,37,115,93,32,87,65,86,32,99,104,97,110,110,101,108,115,32,110,117,109,98,101,114,32,40,37,105,41,32,110,111,116,32,115,117,112,112,111,114,116,101,100,44,32,99,111,110,118,101,114,116,101,100,32,116,111,32,50,32,99,104,97,110,110,101,108,115,0,91,37,115,93,32,87,65,86,32,102,105,108,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,32,72,122,44,32,37,105,32,98,105,116,44,32,37,115,41,0,85,110,108,111,97,100,101,100,32,119,97,118,101,32,100,97,116,97,32,102,114,111,109,32,82,65,77,0,87,97,118,101,32,115,97,109,112,108,101,32,115,105,122,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,58,32,37,105,0,87,97,118,101,32,110,117,109,98,101,114,32,111,102,32,99,104,97,110,110,101,108,115,32,110,111,116,32,115,117,112,112,111,114,116,101,100,58,32,37,105,0,91,83,78,68,32,73,68,32,37,105,93,91,66,85,70,82,32,73,68,32,37,105,93,32,83,111,117,110,100,32,100,97,116,97,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,32,72,122,44,32,37,105,32,98,105,116,44,32,37,115,41,0,91,83,78,68,32,73,68,32,37,105,93,91,66,85,70,82,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,115,111,117,110,100,32,100,97,116,97,32,102,114,111,109,32,82,65,77,0,91,37,115,93,32,79,71,71,32,97,117,100,105,111,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,91,37,115,93,32,70,76,65,67,32,116,111,116,97,108,32,115,97,109,112,108,101,115,58,32,37,105,0,91,37,115,93,32,79,71,71,32,115,97,109,112,108,101,32,114,97,116,101,58,32,37,105,0,91,37,115,93,32,79,71,71,32,99,104,97,110,110,101,108,115,58,32,37,105,0,91,37,115,93,32,79,71,71,32,109,101,109,111,114,121,32,114,101,113,117,105,114,101,100,58,32,37,105,0,46,120,109,0,91,37,115,93,32,88,77,32,110,117,109,98,101,114,32,111,102,32,115,97,109,112,108,101,115,58,32,37,105,0,91,37,115,93,32,88,77,32,116,114,97,99,107,32,108,101,110,103,116,104,58,32,37,49,49,46,54,102,32,115,101,99,0,91,37,115,93,32,88,77,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,73,110,105,116,32,97,117,100,105,111,32,115,116,114,101,97,109,58,32,78,117,109,98,101,114,32,111,102,32,99,104,97,110,110,101,108,115,32,110,111,116,32,115,117,112,112,111,114,116,101,100,58,32,37,105,0,73,110,105,116,32,97,117,100,105,111,32,115,116,114,101,97,109,58,32,83,97,109,112,108,101,32,115,105,122,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,58,32,37,105,0,91,65,85,68,32,73,68,32,37,105,93,32,65,117,100,105,111,32,115,116,114,101,97,109,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,32,72,122,44,32,37,105,32,98,105,116,44,32,37,115,41,0,91,65,85,68,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,97,117,100,105,111,32,115,116,114,101,97,109,32,100,97,116,97,0,85,112,100,97,116,101,32,109,117,115,105,99,32,115,116,114,101,97,109,32,115,116,97,114,116,115,44,32,112,114,111,99,101,115,115,101,100,32,98,117,102,102,101,114,115,58,32,37,105,0,79,75,32,48,49,0,79,75,32,48,50,0,79,75,32,48,51,0,79,112,101,110,65,76,58,32,69,114,114,111,114,32,98,117,102,102,101,114,105,110,103,32,100,97,116,97,46,46,46,0,69,88,84,0,65,82,66,0,79,69,83,0,65,78,71,76,69,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,0,103,108,85,115,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,85,115,101,80,114,111,103,114,97,109,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,0,103,108,65,116,116,97,99,104,79,98,106,101,99,116,0,103,108,65,116,116,97,99,104,83,104,97,100,101,114,0,103,108,68,101,116,97,99,104,79,98,106,101,99,116,0,103,108,68,101,116,97,99,104,83,104,97,100,101,114,0,103,108,80,105,120,101,108,83,116,111,114,101,105,0,103,108,71,101,116,83,116,114,105,110,103,0,103,108,71,101,116,73,110,116,101,103,101,114,118,0,103,108,71,101,116,70,108,111,97,116,118,0,103,108,71,101,116,66,111,111,108,101,97,110,118,0,103,108,71,101,110,84,101,120,116,117,114,101,115,0,103,108,68,101,108,101,116,101,84,101,120,116,117,114,101,115,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,84,101,120,73,109,97,103,101,50,68,0,103,108,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,82,101,97,100,80,105,120,101,108,115,0,103,108,66,105,110,100,84,101,120,116,117,114,101,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,84,101,120,116,117,114,101,0,103,108,71,101,110,66,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,66,117,102,102,101,114,115,0,103,108,71,101,116,66,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,66,117,102,102,101,114,68,97,116,97,0,103,108,66,117,102,102,101,114,83,117,98,68,97,116,97,0,103,108,73,115,66,117,102,102,101,114,0,103,108,71,101,110,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,66,105,110,100,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,82,101,110,100,101,114,98,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,85,110,105,102,111,114,109,102,118,0,103,108,71,101,116,85,110,105,102,111,114,109,105,118,0,103,108,71,101,116,85,110,105,102,111,114,109,76,111,99,97,116,105,111,110,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,102,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,105,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,118,0,103,108,71,101,116,65,99,116,105,118,101,85,110,105,102,111,114,109,0,103,108,85,110,105,102,111,114,109,49,102,0,103,108,85,110,105,102,111,114,109,50,102,0,103,108,85,110,105,102,111,114,109,51,102,0,103,108,85,110,105,102,111,114,109,52,102,0,103,108,85,110,105,102,111,114,109,49,105,0,103,108,85,110,105,102,111,114,109,50,105,0,103,108,85,110,105,102,111,114,109,51,105,0,103,108,85,110,105,102,111,114,109,52,105,0,103,108,85,110,105,102,111,114,109,49,105,118,0,103,108,85,110,105,102,111,114,109,50,105,118,0,103,108,85,110,105,102,111,114,109,51,105,118,0,103,108,85,110,105,102,111,114,109,52,105,118,0,103,108,85,110,105,102,111,114,109,49,102,118,0,103,108,85,110,105,102,111,114,109,50,102,118,0,103,108,85,110,105,102,111,114,109,51,102,118,0,103,108,85,110,105,102,111,114,109,52,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,50,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,51,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,52,102,118,0,103,108,66,105,110,100,66,117,102,102,101,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,118,0,103,108,71,101,116,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,71,101,116,65,99,116,105,118,101,65,116,116,114,105,98,0,103,108,68,101,108,101,116,101,83,104,97,100,101,114,0,103,108,71,101,116,65,116,116,97,99,104,101,100,83,104,97,100,101,114,115,0,103,108,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,71,101,116,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,67,111,109,112,105,108,101,83,104,97,100,101,114,0,103,108,71,101,116,83,104,97,100,101,114,73,110,102,111,76,111,103,0,103,108,71,101,116,83,104,97,100,101,114,105,118,0,103,108,71,101,116,80,114,111,103,114,97,109,105,118,0,103,108,73,115,83,104,97,100,101,114,0,103,108,68,101,108,101,116,101,80,114,111,103,114,97,109,0,103,108,71,101,116,83,104,97,100,101,114,80,114,101,99,105,115,105,111,110,70,111,114,109,97,116,0,103,108,76,105,110,107,80,114,111,103,114,97,109,0,103,108,71,101,116,80,114,111,103,114,97,109,73,110,102,111,76,111,103,0,103,108,86,97,108,105,100,97,116,101,80,114,111,103,114,97,109,0,103,108,73,115,80,114,111,103,114,97,109,0,103,108,66,105,110,100,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,66,105,110,100,70,114,97,109,101,98,117,102,102,101,114,0,103,108,71,101,110,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,70,114,97,109,101,98,117,102,102,101,114,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,70,114,97,109,101], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+10240); +/* memory initializer */ allocate([98,117,102,102,101,114,84,101,120,116,117,114,101,50,68,0,103,108,71,101,116,70,114,97,109,101,98,117,102,102,101,114,65,116,116,97,99,104,109,101,110,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,70,114,97,109,101,98,117,102,102,101,114,0,103,108,68,101,108,101,116,101,79,98,106,101,99,116,0,103,108,71,101,116,79,98,106,101,99,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,71,101,116,73,110,102,111,76,111,103,0,103,108,66,105,110,100,80,114,111,103,114,97,109,0,103,108,71,101,116,80,111,105,110,116,101,114,118,0,103,108,68,114,97,119,82,97,110,103,101,69,108,101,109,101,110,116,115,0,103,108,69,110,97,98,108,101,67,108,105,101,110,116,83,116,97,116,101,0,103,108,86,101,114,116,101,120,80,111,105,110,116,101,114,0,103,108,84,101,120,67,111,111,114,100,80,111,105,110,116,101,114,0,103,108,78,111,114,109,97,108,80,111,105,110,116,101,114,0,103,108,67,111,108,111,114,80,111,105,110,116,101,114,0,103,108,67,108,105,101,110,116,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,0,103,108,77,97,116,114,105,120,77,111,100,101,0,103,108,76,111,97,100,73,100,101,110,116,105,116,121,0,103,108,76,111,97,100,77,97,116,114,105,120,102,0,103,108,70,114,117,115,116,117,109,0,103,108,82,111,116,97,116,101,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,0,103,108,69,110,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,105,115,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,114,97,119,65,114,114,97,121,115,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,0,103,108,83,104,97,100,101,114,66,105,110,97,114,121,0,103,108,82,101,108,101,97,115,101,83,104,97,100,101,114,67,111,109,112,105,108,101,114,0,103,108,71,101,116,69,114,114,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,68,105,118,105,115,111,114,0,103,108,68,114,97,119,65,114,114,97,121,115,73,110,115,116,97,110,99,101,100,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,73,110,115,116,97,110,99,101,100,0,103,108,70,105,110,105,115,104,0,103,108,70,108,117,115,104,0,103,108,67,108,101,97,114,68,101,112,116,104,0,103,108,67,108,101,97,114,68,101,112,116,104,102,0,103,108,68,101,112,116,104,70,117,110,99,0,103,108,69,110,97,98,108,101,0,103,108,68,105,115,97,98,108,101,0,103,108,70,114,111,110,116,70,97,99,101,0,103,108,67,117,108,108,70,97,99,101,0,103,108,67,108,101,97,114,0,103,108,76,105,110,101,87,105,100,116,104,0,103,108,67,108,101,97,114,83,116,101,110,99,105,108,0,103,108,68,101,112,116,104,77,97,115,107,0,103,108,83,116,101,110,99,105,108,77,97,115,107,0,103,108,67,104,101,99,107,70,114,97,109,101,98,117,102,102,101,114,83,116,97,116,117,115,0,103,108,71,101,110,101,114,97,116,101,77,105,112,109,97,112,0,103,108,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,0,103,108,73,115,69,110,97,98,108,101,100,0,103,108,66,108,101,110,100,70,117,110,99,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,83,101,112,97,114,97,116,101,0,103,108,68,101,112,116,104,82,97,110,103,101,0,103,108,68,101,112,116,104,82,97,110,103,101,102,0,103,108,83,116,101,110,99,105,108,77,97,115,107,83,101,112,97,114,97,116,101,0,103,108,72,105,110,116,0,103,108,80,111,108,121,103,111,110,79,102,102,115,101,116,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,0,103,108,83,97,109,112,108,101,67,111,118,101,114,97,103,101,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,0,103,108,83,116,101,110,99,105,108,70,117,110,99,0,103,108,83,116,101,110,99,105,108,79,112,0,103,108,86,105,101,119,112,111,114,116,0,103,108,67,108,101,97,114,67,111,108,111,114,0,103,108,83,99,105,115,115,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,0,103,108,67,111,108,111,114,77,97,115,107,0,103,108,82,101,110,100,101,114,98,117,102,102,101,114,83,116,111,114,97,103,101,0,103,108,66,108,101,110,100,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,66,108,101,110,100,67,111,108,111,114,0,103,108,83,116,101,110,99,105,108,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,83,116,101,110,99,105,108,79,112,83,101,112,97,114,97,116,101,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,0,103,108,67,111,112,121,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,112,121,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,68,114,97,119,66,117,102,102,101,114,115,0,123,32,77,111,100,117,108,101,46,112,114,105,110,116,69,114,114,40,39,98,97,100,32,110,97,109,101,32,105,110,32,103,101,116,80,114,111,99,65,100,100,114,101,115,115,58,32,39,32,43,32,91,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,48,41,44,32,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,49,41,93,41,59,32,125,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,1,2,3,4,5,6,7,8,9,255,255,255,255,255,255,255,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,255,255,255,255,255,255,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,1,2,4,7,3,6,5,0,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,78,65,78,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,46,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,105,110,102,105,110,105,116,121,0,110,97,110,0,114,119,97,0], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+20480); + + + + + +/* no memory initializer */ +var tempDoublePtr = STATICTOP; STATICTOP += 16; + +assert(tempDoublePtr % 8 == 0); + +function copyTempFloat(ptr) { // functions, because inlining this code increases code size too much + + HEAP8[tempDoublePtr] = HEAP8[ptr]; + + HEAP8[tempDoublePtr+1] = HEAP8[ptr+1]; + + HEAP8[tempDoublePtr+2] = HEAP8[ptr+2]; + + HEAP8[tempDoublePtr+3] = HEAP8[ptr+3]; + +} + +function copyTempDouble(ptr) { + + HEAP8[tempDoublePtr] = HEAP8[ptr]; + + HEAP8[tempDoublePtr+1] = HEAP8[ptr+1]; + + HEAP8[tempDoublePtr+2] = HEAP8[ptr+2]; + + HEAP8[tempDoublePtr+3] = HEAP8[ptr+3]; + + HEAP8[tempDoublePtr+4] = HEAP8[ptr+4]; + + HEAP8[tempDoublePtr+5] = HEAP8[ptr+5]; + + HEAP8[tempDoublePtr+6] = HEAP8[ptr+6]; + + HEAP8[tempDoublePtr+7] = HEAP8[ptr+7]; + +} + +// {{PRE_LIBRARY}} + + + + var GL={counter:1,lastError:0,buffers:[],mappedBuffers:{},programs:[],framebuffers:[],renderbuffers:[],textures:[],uniforms:[],shaders:[],vaos:[],contexts:[],currentContext:null,offscreenCanvases:{},timerQueriesEXT:[],byteSizeByTypeRoot:5120,byteSizeByType:[1,1,2,2,4,4,4,2,3,4,8],programInfos:{},stringCache:{},tempFixedLengthArray:[],packAlignment:4,unpackAlignment:4,init:function () { + GL.miniTempBuffer = new Float32Array(GL.MINI_TEMP_BUFFER_SIZE); + for (var i = 0; i < GL.MINI_TEMP_BUFFER_SIZE; i++) { + GL.miniTempBufferViews[i] = GL.miniTempBuffer.subarray(0, i+1); + } + + // For functions such as glDrawBuffers, glInvalidateFramebuffer and glInvalidateSubFramebuffer that need to pass a short array to the WebGL API, + // create a set of short fixed-length arrays to avoid having to generate any garbage when calling those functions. + for (var i = 0; i < 32; i++) { + GL.tempFixedLengthArray.push(new Array(i)); + } + },recordError:function recordError(errorCode) { + if (!GL.lastError) { + GL.lastError = errorCode; + } + },getNewId:function (table) { + var ret = GL.counter++; + for (var i = table.length; i < ret; i++) { + table[i] = null; + } + return ret; + },MINI_TEMP_BUFFER_SIZE:256,miniTempBuffer:null,miniTempBufferViews:[0],getSource:function (shader, count, string, length) { + var source = ''; + for (var i = 0; i < count; ++i) { + var frag; + if (length) { + var len = HEAP32[(((length)+(i*4))>>2)]; + if (len < 0) { + frag = Pointer_stringify(HEAP32[(((string)+(i*4))>>2)]); + } else { + frag = Pointer_stringify(HEAP32[(((string)+(i*4))>>2)], len); + } + } else { + frag = Pointer_stringify(HEAP32[(((string)+(i*4))>>2)]); + } + source += frag; + } + return source; + },createContext:function (canvas, webGLContextAttributes) { + if (typeof webGLContextAttributes['majorVersion'] === 'undefined' && typeof webGLContextAttributes['minorVersion'] === 'undefined') { + webGLContextAttributes['majorVersion'] = 1; + webGLContextAttributes['minorVersion'] = 0; + } + var ctx; + var errorInfo = '?'; + function onContextCreationError(event) { + errorInfo = event.statusMessage || errorInfo; + } + try { + canvas.addEventListener('webglcontextcreationerror', onContextCreationError, false); + try { + if (webGLContextAttributes['majorVersion'] == 1 && webGLContextAttributes['minorVersion'] == 0) { + ctx = canvas.getContext("webgl", webGLContextAttributes) || canvas.getContext("experimental-webgl", webGLContextAttributes); + } else if (webGLContextAttributes['majorVersion'] == 2 && webGLContextAttributes['minorVersion'] == 0) { + ctx = canvas.getContext("webgl2", webGLContextAttributes) || canvas.getContext("experimental-webgl2", webGLContextAttributes); + } else { + throw 'Unsupported WebGL context version ' + majorVersion + '.' + minorVersion + '!' + } + } finally { + canvas.removeEventListener('webglcontextcreationerror', onContextCreationError, false); + } + if (!ctx) throw ':('; + } catch (e) { + Module.print('Could not create canvas: ' + [errorInfo, e, JSON.stringify(webGLContextAttributes)]); + return 0; + } + // possible GL_DEBUG entry point: ctx = wrapDebugGL(ctx); + + if (!ctx) return 0; + return GL.registerContext(ctx, webGLContextAttributes); + },registerContext:function (ctx, webGLContextAttributes) { + var handle = GL.getNewId(GL.contexts); + var context = { + handle: handle, + attributes: webGLContextAttributes, + version: webGLContextAttributes['majorVersion'], + GLctx: ctx + }; + + + // Store the created context object so that we can access the context given a canvas without having to pass the parameters again. + if (ctx.canvas) ctx.canvas.GLctxObject = context; + GL.contexts[handle] = context; + if (typeof webGLContextAttributes['enableExtensionsByDefault'] === 'undefined' || webGLContextAttributes['enableExtensionsByDefault']) { + GL.initExtensions(context); + } + return handle; + },makeContextCurrent:function (contextHandle) { + var context = GL.contexts[contextHandle]; + if (!context) return false; + GLctx = Module.ctx = context.GLctx; // Active WebGL context object. + GL.currentContext = context; // Active Emscripten GL layer context object. + return true; + },getContext:function (contextHandle) { + return GL.contexts[contextHandle]; + },deleteContext:function (contextHandle) { + if (GL.currentContext === GL.contexts[contextHandle]) GL.currentContext = null; + if (typeof JSEvents === 'object') JSEvents.removeAllHandlersOnTarget(GL.contexts[contextHandle].GLctx.canvas); // Release all JS event handlers on the DOM element that the GL context is associated with since the context is now deleted. + if (GL.contexts[contextHandle] && GL.contexts[contextHandle].GLctx.canvas) GL.contexts[contextHandle].GLctx.canvas.GLctxObject = undefined; // Make sure the canvas object no longer refers to the context object so there are no GC surprises. + GL.contexts[contextHandle] = null; + },initExtensions:function (context) { + // If this function is called without a specific context object, init the extensions of the currently active context. + if (!context) context = GL.currentContext; + + if (context.initExtensionsDone) return; + context.initExtensionsDone = true; + + var GLctx = context.GLctx; + + context.maxVertexAttribs = GLctx.getParameter(GLctx.MAX_VERTEX_ATTRIBS); + + // Detect the presence of a few extensions manually, this GL interop layer itself will need to know if they exist. + + if (context.version < 2) { + // Extension available from Firefox 26 and Google Chrome 30 + var instancedArraysExt = GLctx.getExtension('ANGLE_instanced_arrays'); + if (instancedArraysExt) { + GLctx['vertexAttribDivisor'] = function(index, divisor) { instancedArraysExt['vertexAttribDivisorANGLE'](index, divisor); }; + GLctx['drawArraysInstanced'] = function(mode, first, count, primcount) { instancedArraysExt['drawArraysInstancedANGLE'](mode, first, count, primcount); }; + GLctx['drawElementsInstanced'] = function(mode, count, type, indices, primcount) { instancedArraysExt['drawElementsInstancedANGLE'](mode, count, type, indices, primcount); }; + } + + // Extension available from Firefox 25 and WebKit + var vaoExt = GLctx.getExtension('OES_vertex_array_object'); + if (vaoExt) { + GLctx['createVertexArray'] = function() { return vaoExt['createVertexArrayOES'](); }; + GLctx['deleteVertexArray'] = function(vao) { vaoExt['deleteVertexArrayOES'](vao); }; + GLctx['bindVertexArray'] = function(vao) { vaoExt['bindVertexArrayOES'](vao); }; + GLctx['isVertexArray'] = function(vao) { return vaoExt['isVertexArrayOES'](vao); }; + } + + var drawBuffersExt = GLctx.getExtension('WEBGL_draw_buffers'); + if (drawBuffersExt) { + GLctx['drawBuffers'] = function(n, bufs) { drawBuffersExt['drawBuffersWEBGL'](n, bufs); }; + } + } + + GLctx.disjointTimerQueryExt = GLctx.getExtension("EXT_disjoint_timer_query"); + + // These are the 'safe' feature-enabling extensions that don't add any performance impact related to e.g. debugging, and + // should be enabled by default so that client GLES2/GL code will not need to go through extra hoops to get its stuff working. + // As new extensions are ratified at http://www.khronos.org/registry/webgl/extensions/ , feel free to add your new extensions + // here, as long as they don't produce a performance impact for users that might not be using those extensions. + // E.g. debugging-related extensions should probably be off by default. + var automaticallyEnabledExtensions = [ "OES_texture_float", "OES_texture_half_float", "OES_standard_derivatives", + "OES_vertex_array_object", "WEBGL_compressed_texture_s3tc", "WEBGL_depth_texture", + "OES_element_index_uint", "EXT_texture_filter_anisotropic", "ANGLE_instanced_arrays", + "OES_texture_float_linear", "OES_texture_half_float_linear", "WEBGL_compressed_texture_atc", + "WEBGL_compressed_texture_pvrtc", "EXT_color_buffer_half_float", "WEBGL_color_buffer_float", + "EXT_frag_depth", "EXT_sRGB", "WEBGL_draw_buffers", "WEBGL_shared_resources", + "EXT_shader_texture_lod", "EXT_color_buffer_float"]; + + function shouldEnableAutomatically(extension) { + var ret = false; + automaticallyEnabledExtensions.forEach(function(include) { + if (ext.indexOf(include) != -1) { + ret = true; + } + }); + return ret; + } + + var exts = GLctx.getSupportedExtensions(); + if (exts && exts.length > 0) { + GLctx.getSupportedExtensions().forEach(function(ext) { + if (automaticallyEnabledExtensions.indexOf(ext) != -1) { + GLctx.getExtension(ext); // Calling .getExtension enables that extension permanently, no need to store the return value to be enabled. + } + }); + } + },populateUniformTable:function (program) { + var p = GL.programs[program]; + GL.programInfos[program] = { + uniforms: {}, + maxUniformLength: 0, // This is eagerly computed below, since we already enumerate all uniforms anyway. + maxAttributeLength: -1, // This is lazily computed and cached, computed when/if first asked, "-1" meaning not computed yet. + maxUniformBlockNameLength: -1 // Lazily computed as well + }; + + var ptable = GL.programInfos[program]; + var utable = ptable.uniforms; + // A program's uniform table maps the string name of an uniform to an integer location of that uniform. + // The global GL.uniforms map maps integer locations to WebGLUniformLocations. + var numUniforms = GLctx.getProgramParameter(p, GLctx.ACTIVE_UNIFORMS); + for (var i = 0; i < numUniforms; ++i) { + var u = GLctx.getActiveUniform(p, i); + + var name = u.name; + ptable.maxUniformLength = Math.max(ptable.maxUniformLength, name.length+1); + + // Strip off any trailing array specifier we might have got, e.g. "[0]". + if (name.indexOf(']', name.length-1) !== -1) { + var ls = name.lastIndexOf('['); + name = name.slice(0, ls); + } + + // Optimize memory usage slightly: If we have an array of uniforms, e.g. 'vec3 colors[3];', then + // only store the string 'colors' in utable, and 'colors[0]', 'colors[1]' and 'colors[2]' will be parsed as 'colors'+i. + // Note that for the GL.uniforms table, we still need to fetch the all WebGLUniformLocations for all the indices. + var loc = GLctx.getUniformLocation(p, name); + if (loc != null) + { + var id = GL.getNewId(GL.uniforms); + utable[name] = [u.size, id]; + GL.uniforms[id] = loc; + + for (var j = 1; j < u.size; ++j) { + var n = name + '['+j+']'; + loc = GLctx.getUniformLocation(p, n); + id = GL.getNewId(GL.uniforms); + + GL.uniforms[id] = loc; + } + } + } + }};function _emscripten_glIsRenderbuffer(renderbuffer) { + var rb = GL.renderbuffers[renderbuffer]; + if (!rb) return 0; + return GLctx.isRenderbuffer(rb); + } + + function _emscripten_glStencilMaskSeparate(x0, x1) { GLctx['stencilMaskSeparate'](x0, x1) } + + + + function _emscripten_get_now() { abort() } + + + + function _emscripten_set_main_loop_timing(mode, value) { + Browser.mainLoop.timingMode = mode; + Browser.mainLoop.timingValue = value; + + if (!Browser.mainLoop.func) { + console.error('emscripten_set_main_loop_timing: Cannot set timing mode for main loop since a main loop does not exist! Call emscripten_set_main_loop first to set one up.'); + return 1; // Return non-zero on failure, can't set timing mode when there is no main loop. + } + + if (mode == 0 /*EM_TIMING_SETTIMEOUT*/) { + Browser.mainLoop.scheduler = function Browser_mainLoop_scheduler_setTimeout() { + var timeUntilNextTick = Math.max(0, Browser.mainLoop.tickStartTime + value - _emscripten_get_now())|0; + setTimeout(Browser.mainLoop.runner, timeUntilNextTick); // doing this each time means that on exception, we stop + }; + Browser.mainLoop.method = 'timeout'; + } else if (mode == 1 /*EM_TIMING_RAF*/) { + Browser.mainLoop.scheduler = function Browser_mainLoop_scheduler_rAF() { + Browser.requestAnimationFrame(Browser.mainLoop.runner); + }; + Browser.mainLoop.method = 'rAF'; + } else if (mode == 2 /*EM_TIMING_SETIMMEDIATE*/) { + if (!window['setImmediate']) { + // Emulate setImmediate. (note: not a complete polyfill, we don't emulate clearImmediate() to keep code size to minimum, since not needed) + var setImmediates = []; + var emscriptenMainLoopMessageId = 'setimmediate'; + function Browser_setImmediate_messageHandler(event) { + if (event.source === window && event.data === emscriptenMainLoopMessageId) { + event.stopPropagation(); + setImmediates.shift()(); + } + } + window.addEventListener("message", Browser_setImmediate_messageHandler, true); + window['setImmediate'] = function Browser_emulated_setImmediate(func) { + setImmediates.push(func); + if (ENVIRONMENT_IS_WORKER) { + if (Module['setImmediates'] === undefined) Module['setImmediates'] = []; + Module['setImmediates'].push(func); + window.postMessage({target: emscriptenMainLoopMessageId}); // In --proxy-to-worker, route the message via proxyClient.js + } else window.postMessage(emscriptenMainLoopMessageId, "*"); // On the main thread, can just send the message to itself. + } + } + Browser.mainLoop.scheduler = function Browser_mainLoop_scheduler_setImmediate() { + window['setImmediate'](Browser.mainLoop.runner); + }; + Browser.mainLoop.method = 'immediate'; + } + return 0; + }function _emscripten_set_main_loop(func, fps, simulateInfiniteLoop, arg, noSetTiming) { + Module['noExitRuntime'] = true; + + assert(!Browser.mainLoop.func, 'emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters.'); + + Browser.mainLoop.func = func; + Browser.mainLoop.arg = arg; + + var browserIterationFunc; + if (typeof arg !== 'undefined') { + browserIterationFunc = function() { + Module['dynCall_vi'](func, arg); + }; + } else { + browserIterationFunc = function() { + Module['dynCall_v'](func); + }; + } + + var thisMainLoopId = Browser.mainLoop.currentlyRunningMainloop; + + Browser.mainLoop.runner = function Browser_mainLoop_runner() { + if (ABORT) return; + if (Browser.mainLoop.queue.length > 0) { + var start = Date.now(); + var blocker = Browser.mainLoop.queue.shift(); + blocker.func(blocker.arg); + if (Browser.mainLoop.remainingBlockers) { + var remaining = Browser.mainLoop.remainingBlockers; + var next = remaining%1 == 0 ? remaining-1 : Math.floor(remaining); + if (blocker.counted) { + Browser.mainLoop.remainingBlockers = next; + } else { + // not counted, but move the progress along a tiny bit + next = next + 0.5; // do not steal all the next one's progress + Browser.mainLoop.remainingBlockers = (8*remaining + next)/9; + } + } + console.log('main loop blocker "' + blocker.name + '" took ' + (Date.now() - start) + ' ms'); //, left: ' + Browser.mainLoop.remainingBlockers); + Browser.mainLoop.updateStatus(); + + // catches pause/resume main loop from blocker execution + if (thisMainLoopId < Browser.mainLoop.currentlyRunningMainloop) return; + + setTimeout(Browser.mainLoop.runner, 0); + return; + } + + // catch pauses from non-main loop sources + if (thisMainLoopId < Browser.mainLoop.currentlyRunningMainloop) return; + + // Implement very basic swap interval control + Browser.mainLoop.currentFrameNumber = Browser.mainLoop.currentFrameNumber + 1 | 0; + if (Browser.mainLoop.timingMode == 1/*EM_TIMING_RAF*/ && Browser.mainLoop.timingValue > 1 && Browser.mainLoop.currentFrameNumber % Browser.mainLoop.timingValue != 0) { + // Not the scheduled time to render this frame - skip. + Browser.mainLoop.scheduler(); + return; + } else if (Browser.mainLoop.timingMode == 0/*EM_TIMING_SETTIMEOUT*/) { + Browser.mainLoop.tickStartTime = _emscripten_get_now(); + } + + // Signal GL rendering layer that processing of a new frame is about to start. This helps it optimize + // VBO double-buffering and reduce GPU stalls. + + + if (Browser.mainLoop.method === 'timeout' && Module.ctx) { + Module.printErr('Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!'); + Browser.mainLoop.method = ''; // just warn once per call to set main loop + } + + Browser.mainLoop.runIter(browserIterationFunc); + + checkStackCookie(); + + // catch pauses from the main loop itself + if (thisMainLoopId < Browser.mainLoop.currentlyRunningMainloop) return; + + // Queue new audio data. This is important to be right after the main loop invocation, so that we will immediately be able + // to queue the newest produced audio samples. + // TODO: Consider adding pre- and post- rAF callbacks so that GL.newRenderingFrameStarted() and SDL.audio.queueNewAudioData() + // do not need to be hardcoded into this function, but can be more generic. + if (typeof SDL === 'object' && SDL.audio && SDL.audio.queueNewAudioData) SDL.audio.queueNewAudioData(); + + Browser.mainLoop.scheduler(); + } + + if (!noSetTiming) { + if (fps && fps > 0) _emscripten_set_main_loop_timing(0/*EM_TIMING_SETTIMEOUT*/, 1000.0 / fps); + else _emscripten_set_main_loop_timing(1/*EM_TIMING_RAF*/, 1); // Do rAF by rendering each frame (no decimating) + + Browser.mainLoop.scheduler(); + } + + if (simulateInfiniteLoop) { + throw 'SimulateInfiniteLoop'; + } + }var Browser={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function () { + Browser.mainLoop.scheduler = null; + Browser.mainLoop.currentlyRunningMainloop++; // Incrementing this signals the previous main loop that it's now become old, and it must return. + },resume:function () { + Browser.mainLoop.currentlyRunningMainloop++; + var timingMode = Browser.mainLoop.timingMode; + var timingValue = Browser.mainLoop.timingValue; + var func = Browser.mainLoop.func; + Browser.mainLoop.func = null; + _emscripten_set_main_loop(func, 0, false, Browser.mainLoop.arg, true /* do not set timing and call scheduler, we will do it on the next lines */); + _emscripten_set_main_loop_timing(timingMode, timingValue); + Browser.mainLoop.scheduler(); + },updateStatus:function () { + if (Module['setStatus']) { + var message = Module['statusMessage'] || 'Please wait...'; + var remaining = Browser.mainLoop.remainingBlockers; + var expected = Browser.mainLoop.expectedBlockers; + if (remaining) { + if (remaining < expected) { + Module['setStatus'](message + ' (' + (expected - remaining) + '/' + expected + ')'); + } else { + Module['setStatus'](message); + } + } else { + Module['setStatus'](''); + } + } + },runIter:function (func) { + if (ABORT) return; + if (Module['preMainLoop']) { + var preRet = Module['preMainLoop'](); + if (preRet === false) { + return; // |return false| skips a frame + } + } + try { + func(); + } catch (e) { + if (e instanceof ExitStatus) { + return; + } else { + if (e && typeof e === 'object' && e.stack) Module.printErr('exception thrown: ' + [e, e.stack]); + throw e; + } + } + if (Module['postMainLoop']) Module['postMainLoop'](); + }},isFullscreen:false,pointerLock:false,moduleContextCreatedCallbacks:[],workers:[],init:function () { + if (!Module["preloadPlugins"]) Module["preloadPlugins"] = []; // needs to exist even in workers + + if (Browser.initted) return; + Browser.initted = true; + + try { + new Blob(); + Browser.hasBlobConstructor = true; + } catch(e) { + Browser.hasBlobConstructor = false; + console.log("warning: no blob constructor, cannot create blobs with mimetypes"); + } + Browser.BlobBuilder = typeof MozBlobBuilder != "undefined" ? MozBlobBuilder : (typeof WebKitBlobBuilder != "undefined" ? WebKitBlobBuilder : (!Browser.hasBlobConstructor ? console.log("warning: no BlobBuilder") : null)); + Browser.URLObject = typeof window != "undefined" ? (window.URL ? window.URL : window.webkitURL) : undefined; + if (!Module.noImageDecoding && typeof Browser.URLObject === 'undefined') { + console.log("warning: Browser does not support creating object URLs. Built-in browser image decoding will not be available."); + Module.noImageDecoding = true; + } + + // Support for plugins that can process preloaded files. You can add more of these to + // your app by creating and appending to Module.preloadPlugins. + // + // Each plugin is asked if it can handle a file based on the file's name. If it can, + // it is given the file's raw data. When it is done, it calls a callback with the file's + // (possibly modified) data. For example, a plugin might decompress a file, or it + // might create some side data structure for use later (like an Image element, etc.). + + var imagePlugin = {}; + imagePlugin['canHandle'] = function imagePlugin_canHandle(name) { + return !Module.noImageDecoding && /\.(jpg|jpeg|png|bmp)$/i.test(name); + }; + imagePlugin['handle'] = function imagePlugin_handle(byteArray, name, onload, onerror) { + var b = null; + if (Browser.hasBlobConstructor) { + try { + b = new Blob([byteArray], { type: Browser.getMimetype(name) }); + if (b.size !== byteArray.length) { // Safari bug #118630 + // Safari's Blob can only take an ArrayBuffer + b = new Blob([(new Uint8Array(byteArray)).buffer], { type: Browser.getMimetype(name) }); + } + } catch(e) { + Runtime.warnOnce('Blob constructor present but fails: ' + e + '; falling back to blob builder'); + } + } + if (!b) { + var bb = new Browser.BlobBuilder(); + bb.append((new Uint8Array(byteArray)).buffer); // we need to pass a buffer, and must copy the array to get the right data range + b = bb.getBlob(); + } + var url = Browser.URLObject.createObjectURL(b); + assert(typeof url == 'string', 'createObjectURL must return a url as a string'); + var img = new Image(); + img.onload = function img_onload() { + assert(img.complete, 'Image ' + name + ' could not be decoded'); + var canvas = document.createElement('canvas'); + canvas.width = img.width; + canvas.height = img.height; + var ctx = canvas.getContext('2d'); + ctx.drawImage(img, 0, 0); + Module["preloadedImages"][name] = canvas; + Browser.URLObject.revokeObjectURL(url); + if (onload) onload(byteArray); + }; + img.onerror = function img_onerror(event) { + console.log('Image ' + url + ' could not be decoded'); + if (onerror) onerror(); + }; + img.src = url; + }; + Module['preloadPlugins'].push(imagePlugin); + + var audioPlugin = {}; + audioPlugin['canHandle'] = function audioPlugin_canHandle(name) { + return !Module.noAudioDecoding && name.substr(-4) in { '.ogg': 1, '.wav': 1, '.mp3': 1 }; + }; + audioPlugin['handle'] = function audioPlugin_handle(byteArray, name, onload, onerror) { + var done = false; + function finish(audio) { + if (done) return; + done = true; + Module["preloadedAudios"][name] = audio; + if (onload) onload(byteArray); + } + function fail() { + if (done) return; + done = true; + Module["preloadedAudios"][name] = new Audio(); // empty shim + if (onerror) onerror(); + } + if (Browser.hasBlobConstructor) { + try { + var b = new Blob([byteArray], { type: Browser.getMimetype(name) }); + } catch(e) { + return fail(); + } + var url = Browser.URLObject.createObjectURL(b); // XXX we never revoke this! + assert(typeof url == 'string', 'createObjectURL must return a url as a string'); + var audio = new Audio(); + audio.addEventListener('canplaythrough', function() { finish(audio) }, false); // use addEventListener due to chromium bug 124926 + audio.onerror = function audio_onerror(event) { + if (done) return; + console.log('warning: browser could not fully decode audio ' + name + ', trying slower base64 approach'); + function encode64(data) { + var BASE = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'; + var PAD = '='; + var ret = ''; + var leftchar = 0; + var leftbits = 0; + for (var i = 0; i < data.length; i++) { + leftchar = (leftchar << 8) | data[i]; + leftbits += 8; + while (leftbits >= 6) { + var curr = (leftchar >> (leftbits-6)) & 0x3f; + leftbits -= 6; + ret += BASE[curr]; + } + } + if (leftbits == 2) { + ret += BASE[(leftchar&3) << 4]; + ret += PAD + PAD; + } else if (leftbits == 4) { + ret += BASE[(leftchar&0xf) << 2]; + ret += PAD; + } + return ret; + } + audio.src = 'data:audio/x-' + name.substr(-3) + ';base64,' + encode64(byteArray); + finish(audio); // we don't wait for confirmation this worked - but it's worth trying + }; + audio.src = url; + // workaround for chrome bug 124926 - we do not always get oncanplaythrough or onerror + Browser.safeSetTimeout(function() { + finish(audio); // try to use it even though it is not necessarily ready to play + }, 10000); + } else { + return fail(); + } + }; + Module['preloadPlugins'].push(audioPlugin); + + // Canvas event setup + + function pointerLockChange() { + Browser.pointerLock = document['pointerLockElement'] === Module['canvas'] || + document['mozPointerLockElement'] === Module['canvas'] || + document['webkitPointerLockElement'] === Module['canvas'] || + document['msPointerLockElement'] === Module['canvas']; + } + var canvas = Module['canvas']; + if (canvas) { + // forced aspect ratio can be enabled by defining 'forcedAspectRatio' on Module + // Module['forcedAspectRatio'] = 4 / 3; + + canvas.requestPointerLock = canvas['requestPointerLock'] || + canvas['mozRequestPointerLock'] || + canvas['webkitRequestPointerLock'] || + canvas['msRequestPointerLock'] || + function(){}; + canvas.exitPointerLock = document['exitPointerLock'] || + document['mozExitPointerLock'] || + document['webkitExitPointerLock'] || + document['msExitPointerLock'] || + function(){}; // no-op if function does not exist + canvas.exitPointerLock = canvas.exitPointerLock.bind(document); + + document.addEventListener('pointerlockchange', pointerLockChange, false); + document.addEventListener('mozpointerlockchange', pointerLockChange, false); + document.addEventListener('webkitpointerlockchange', pointerLockChange, false); + document.addEventListener('mspointerlockchange', pointerLockChange, false); + + if (Module['elementPointerLock']) { + canvas.addEventListener("click", function(ev) { + if (!Browser.pointerLock && Module['canvas'].requestPointerLock) { + Module['canvas'].requestPointerLock(); + ev.preventDefault(); + } + }, false); + } + } + },createContext:function (canvas, useWebGL, setInModule, webGLContextAttributes) { + if (useWebGL && Module.ctx && canvas == Module.canvas) return Module.ctx; // no need to recreate GL context if it's already been created for this canvas. + + var ctx; + var contextHandle; + if (useWebGL) { + // For GLES2/desktop GL compatibility, adjust a few defaults to be different to WebGL defaults, so that they align better with the desktop defaults. + var contextAttributes = { + antialias: false, + alpha: false + }; + + if (webGLContextAttributes) { + for (var attribute in webGLContextAttributes) { + contextAttributes[attribute] = webGLContextAttributes[attribute]; + } + } + + contextHandle = GL.createContext(canvas, contextAttributes); + if (contextHandle) { + ctx = GL.getContext(contextHandle).GLctx; + } + } else { + ctx = canvas.getContext('2d'); + } + + if (!ctx) return null; + + if (setInModule) { + if (!useWebGL) assert(typeof GLctx === 'undefined', 'cannot set in module if GLctx is used, but we are a non-GL context that would replace it'); + + Module.ctx = ctx; + if (useWebGL) GL.makeContextCurrent(contextHandle); + Module.useWebGL = useWebGL; + Browser.moduleContextCreatedCallbacks.forEach(function(callback) { callback() }); + Browser.init(); + } + return ctx; + },destroyContext:function (canvas, useWebGL, setInModule) {},fullscreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullscreen:function (lockPointer, resizeCanvas, vrDevice) { + Browser.lockPointer = lockPointer; + Browser.resizeCanvas = resizeCanvas; + Browser.vrDevice = vrDevice; + if (typeof Browser.lockPointer === 'undefined') Browser.lockPointer = true; + if (typeof Browser.resizeCanvas === 'undefined') Browser.resizeCanvas = false; + if (typeof Browser.vrDevice === 'undefined') Browser.vrDevice = null; + + var canvas = Module['canvas']; + function fullscreenChange() { + Browser.isFullscreen = false; + var canvasContainer = canvas.parentNode; + if ((document['fullscreenElement'] || document['mozFullScreenElement'] || + document['msFullscreenElement'] || document['webkitFullscreenElement'] || + document['webkitCurrentFullScreenElement']) === canvasContainer) { + canvas.exitFullscreen = document['exitFullscreen'] || + document['cancelFullScreen'] || + document['mozCancelFullScreen'] || + document['msExitFullscreen'] || + document['webkitCancelFullScreen'] || + function() {}; + canvas.exitFullscreen = canvas.exitFullscreen.bind(document); + if (Browser.lockPointer) canvas.requestPointerLock(); + Browser.isFullscreen = true; + if (Browser.resizeCanvas) Browser.setFullscreenCanvasSize(); + } else { + + // remove the full screen specific parent of the canvas again to restore the HTML structure from before going full screen + canvasContainer.parentNode.insertBefore(canvas, canvasContainer); + canvasContainer.parentNode.removeChild(canvasContainer); + + if (Browser.resizeCanvas) Browser.setWindowedCanvasSize(); + } + if (Module['onFullScreen']) Module['onFullScreen'](Browser.isFullscreen); + if (Module['onFullscreen']) Module['onFullscreen'](Browser.isFullscreen); + Browser.updateCanvasDimensions(canvas); + } + + if (!Browser.fullscreenHandlersInstalled) { + Browser.fullscreenHandlersInstalled = true; + document.addEventListener('fullscreenchange', fullscreenChange, false); + document.addEventListener('mozfullscreenchange', fullscreenChange, false); + document.addEventListener('webkitfullscreenchange', fullscreenChange, false); + document.addEventListener('MSFullscreenChange', fullscreenChange, false); + } + + // create a new parent to ensure the canvas has no siblings. this allows browsers to optimize full screen performance when its parent is the full screen root + var canvasContainer = document.createElement("div"); + canvas.parentNode.insertBefore(canvasContainer, canvas); + canvasContainer.appendChild(canvas); + + // use parent of canvas as full screen root to allow aspect ratio correction (Firefox stretches the root to screen size) + canvasContainer.requestFullscreen = canvasContainer['requestFullscreen'] || + canvasContainer['mozRequestFullScreen'] || + canvasContainer['msRequestFullscreen'] || + (canvasContainer['webkitRequestFullscreen'] ? function() { canvasContainer['webkitRequestFullscreen'](Element['ALLOW_KEYBOARD_INPUT']) } : null) || + (canvasContainer['webkitRequestFullScreen'] ? function() { canvasContainer['webkitRequestFullScreen'](Element['ALLOW_KEYBOARD_INPUT']) } : null); + + if (vrDevice) { + canvasContainer.requestFullscreen({ vrDisplay: vrDevice }); + } else { + canvasContainer.requestFullscreen(); + } + },requestFullScreen:function (lockPointer, resizeCanvas, vrDevice) { + Module.printErr('Browser.requestFullScreen() is deprecated. Please call Browser.requestFullscreen instead.'); + Browser.requestFullScreen = function(lockPointer, resizeCanvas, vrDevice) { + return Browser.requestFullscreen(lockPointer, resizeCanvas, vrDevice); + } + return Browser.requestFullscreen(lockPointer, resizeCanvas, vrDevice); + },nextRAF:0,fakeRequestAnimationFrame:function (func) { + // try to keep 60fps between calls to here + var now = Date.now(); + if (Browser.nextRAF === 0) { + Browser.nextRAF = now + 1000/60; + } else { + while (now + 2 >= Browser.nextRAF) { // fudge a little, to avoid timer jitter causing us to do lots of delay:0 + Browser.nextRAF += 1000/60; + } + } + var delay = Math.max(Browser.nextRAF - now, 0); + setTimeout(func, delay); + },requestAnimationFrame:function requestAnimationFrame(func) { + if (typeof window === 'undefined') { // Provide fallback to setTimeout if window is undefined (e.g. in Node.js) + Browser.fakeRequestAnimationFrame(func); + } else { + if (!window.requestAnimationFrame) { + window.requestAnimationFrame = window['requestAnimationFrame'] || + window['mozRequestAnimationFrame'] || + window['webkitRequestAnimationFrame'] || + window['msRequestAnimationFrame'] || + window['oRequestAnimationFrame'] || + Browser.fakeRequestAnimationFrame; + } + window.requestAnimationFrame(func); + } + },safeCallback:function (func) { + return function() { + if (!ABORT) return func.apply(null, arguments); + }; + },allowAsyncCallbacks:true,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function () { + Browser.allowAsyncCallbacks = false; + },resumeAsyncCallbacks:function () { // marks future callbacks as ok to execute, and synchronously runs any remaining ones right now + Browser.allowAsyncCallbacks = true; + if (Browser.queuedAsyncCallbacks.length > 0) { + var callbacks = Browser.queuedAsyncCallbacks; + Browser.queuedAsyncCallbacks = []; + callbacks.forEach(function(func) { + func(); + }); + } + },safeRequestAnimationFrame:function (func) { + return Browser.requestAnimationFrame(function() { + if (ABORT) return; + if (Browser.allowAsyncCallbacks) { + func(); + } else { + Browser.queuedAsyncCallbacks.push(func); + } + }); + },safeSetTimeout:function (func, timeout) { + Module['noExitRuntime'] = true; + return setTimeout(function() { + if (ABORT) return; + if (Browser.allowAsyncCallbacks) { + func(); + } else { + Browser.queuedAsyncCallbacks.push(func); + } + }, timeout); + },safeSetInterval:function (func, timeout) { + Module['noExitRuntime'] = true; + return setInterval(function() { + if (ABORT) return; + if (Browser.allowAsyncCallbacks) { + func(); + } // drop it on the floor otherwise, next interval will kick in + }, timeout); + },getMimetype:function (name) { + return { + 'jpg': 'image/jpeg', + 'jpeg': 'image/jpeg', + 'png': 'image/png', + 'bmp': 'image/bmp', + 'ogg': 'audio/ogg', + 'wav': 'audio/wav', + 'mp3': 'audio/mpeg' + }[name.substr(name.lastIndexOf('.')+1)]; + },getUserMedia:function (func) { + if(!window.getUserMedia) { + window.getUserMedia = navigator['getUserMedia'] || + navigator['mozGetUserMedia']; + } + window.getUserMedia(func); + },getMovementX:function (event) { + return event['movementX'] || + event['mozMovementX'] || + event['webkitMovementX'] || + 0; + },getMovementY:function (event) { + return event['movementY'] || + event['mozMovementY'] || + event['webkitMovementY'] || + 0; + },getMouseWheelDelta:function (event) { + var delta = 0; + switch (event.type) { + case 'DOMMouseScroll': + delta = event.detail; + break; + case 'mousewheel': + delta = event.wheelDelta; + break; + case 'wheel': + delta = event['deltaY']; + break; + default: + throw 'unrecognized mouse wheel event: ' + event.type; + } + return delta; + },mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function (event) { // event should be mousemove, mousedown or mouseup + if (Browser.pointerLock) { + // When the pointer is locked, calculate the coordinates + // based on the movement of the mouse. + // Workaround for Firefox bug 764498 + if (event.type != 'mousemove' && + ('mozMovementX' in event)) { + Browser.mouseMovementX = Browser.mouseMovementY = 0; + } else { + Browser.mouseMovementX = Browser.getMovementX(event); + Browser.mouseMovementY = Browser.getMovementY(event); + } + + // check if SDL is available + if (typeof SDL != "undefined") { + Browser.mouseX = SDL.mouseX + Browser.mouseMovementX; + Browser.mouseY = SDL.mouseY + Browser.mouseMovementY; + } else { + // just add the mouse delta to the current absolut mouse position + // FIXME: ideally this should be clamped against the canvas size and zero + Browser.mouseX += Browser.mouseMovementX; + Browser.mouseY += Browser.mouseMovementY; + } + } else { + // Otherwise, calculate the movement based on the changes + // in the coordinates. + var rect = Module["canvas"].getBoundingClientRect(); + var cw = Module["canvas"].width; + var ch = Module["canvas"].height; + + // Neither .scrollX or .pageXOffset are defined in a spec, but + // we prefer .scrollX because it is currently in a spec draft. + // (see: http://www.w3.org/TR/2013/WD-cssom-view-20131217/) + var scrollX = ((typeof window.scrollX !== 'undefined') ? window.scrollX : window.pageXOffset); + var scrollY = ((typeof window.scrollY !== 'undefined') ? window.scrollY : window.pageYOffset); + // If this assert lands, it's likely because the browser doesn't support scrollX or pageXOffset + // and we have no viable fallback. + assert((typeof scrollX !== 'undefined') && (typeof scrollY !== 'undefined'), 'Unable to retrieve scroll position, mouse positions likely broken.'); + + if (event.type === 'touchstart' || event.type === 'touchend' || event.type === 'touchmove') { + var touch = event.touch; + if (touch === undefined) { + return; // the "touch" property is only defined in SDL + + } + var adjustedX = touch.pageX - (scrollX + rect.left); + var adjustedY = touch.pageY - (scrollY + rect.top); + + adjustedX = adjustedX * (cw / rect.width); + adjustedY = adjustedY * (ch / rect.height); + + var coords = { x: adjustedX, y: adjustedY }; + + if (event.type === 'touchstart') { + Browser.lastTouches[touch.identifier] = coords; + Browser.touches[touch.identifier] = coords; + } else if (event.type === 'touchend' || event.type === 'touchmove') { + var last = Browser.touches[touch.identifier]; + if (!last) last = coords; + Browser.lastTouches[touch.identifier] = last; + Browser.touches[touch.identifier] = coords; + } + return; + } + + var x = event.pageX - (scrollX + rect.left); + var y = event.pageY - (scrollY + rect.top); + + // the canvas might be CSS-scaled compared to its backbuffer; + // SDL-using content will want mouse coordinates in terms + // of backbuffer units. + x = x * (cw / rect.width); + y = y * (ch / rect.height); + + Browser.mouseMovementX = x - Browser.mouseX; + Browser.mouseMovementY = y - Browser.mouseY; + Browser.mouseX = x; + Browser.mouseY = y; + } + },asyncLoad:function (url, onload, onerror, noRunDep) { + var dep = !noRunDep ? getUniqueRunDependency('al ' + url) : ''; + Module['readAsync'](url, function(arrayBuffer) { + assert(arrayBuffer, 'Loading data file "' + url + '" failed (no arrayBuffer).'); + onload(new Uint8Array(arrayBuffer)); + if (dep) removeRunDependency(dep); + }, function(event) { + if (onerror) { + onerror(); + } else { + throw 'Loading data file "' + url + '" failed.'; + } + }); + if (dep) addRunDependency(dep); + },resizeListeners:[],updateResizeListeners:function () { + var canvas = Module['canvas']; + Browser.resizeListeners.forEach(function(listener) { + listener(canvas.width, canvas.height); + }); + },setCanvasSize:function (width, height, noUpdates) { + var canvas = Module['canvas']; + Browser.updateCanvasDimensions(canvas, width, height); + if (!noUpdates) Browser.updateResizeListeners(); + },windowedWidth:0,windowedHeight:0,setFullscreenCanvasSize:function () { + // check if SDL is available + if (typeof SDL != "undefined") { + var flags = HEAPU32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)]; + flags = flags | 0x00800000; // set SDL_FULLSCREEN flag + HEAP32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)]=flags + } + Browser.updateResizeListeners(); + },setWindowedCanvasSize:function () { + // check if SDL is available + if (typeof SDL != "undefined") { + var flags = HEAPU32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)]; + flags = flags & ~0x00800000; // clear SDL_FULLSCREEN flag + HEAP32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)]=flags + } + Browser.updateResizeListeners(); + },updateCanvasDimensions:function (canvas, wNative, hNative) { + if (wNative && hNative) { + canvas.widthNative = wNative; + canvas.heightNative = hNative; + } else { + wNative = canvas.widthNative; + hNative = canvas.heightNative; + } + var w = wNative; + var h = hNative; + if (Module['forcedAspectRatio'] && Module['forcedAspectRatio'] > 0) { + if (w/h < Module['forcedAspectRatio']) { + w = Math.round(h * Module['forcedAspectRatio']); + } else { + h = Math.round(w / Module['forcedAspectRatio']); + } + } + if (((document['fullscreenElement'] || document['mozFullScreenElement'] || + document['msFullscreenElement'] || document['webkitFullscreenElement'] || + document['webkitCurrentFullScreenElement']) === canvas.parentNode) && (typeof screen != 'undefined')) { + var factor = Math.min(screen.width / w, screen.height / h); + w = Math.round(w * factor); + h = Math.round(h * factor); + } + if (Browser.resizeCanvas) { + if (canvas.width != w) canvas.width = w; + if (canvas.height != h) canvas.height = h; + if (typeof canvas.style != 'undefined') { + canvas.style.removeProperty( "width"); + canvas.style.removeProperty("height"); + } + } else { + if (canvas.width != wNative) canvas.width = wNative; + if (canvas.height != hNative) canvas.height = hNative; + if (typeof canvas.style != 'undefined') { + if (w != wNative || h != hNative) { + canvas.style.setProperty( "width", w + "px", "important"); + canvas.style.setProperty("height", h + "px", "important"); + } else { + canvas.style.removeProperty( "width"); + canvas.style.removeProperty("height"); + } + } + } + },wgetRequests:{},nextWgetRequestHandle:0,getNextWgetRequestHandle:function () { + var handle = Browser.nextWgetRequestHandle; + Browser.nextWgetRequestHandle++; + return handle; + }};var GLFW={Window:function (id, width, height, title, monitor, share) { + this.id = id; + this.x = 0; + this.y = 0; + this.fullscreen = false; // Used to determine if app in fullscreen mode + this.storedX = 0; // Used to store X before fullscreen + this.storedY = 0; // Used to store Y before fullscreen + this.width = width; + this.height = height; + this.storedWidth = width; // Used to store width before fullscreen + this.storedHeight = height; // Used to store height before fullscreen + this.title = title; + this.monitor = monitor; + this.share = share; + this.attributes = GLFW.hints; + this.inputModes = { + 0x00033001:0x00034001, // GLFW_CURSOR (GLFW_CURSOR_NORMAL) + 0x00033002:0, // GLFW_STICKY_KEYS + 0x00033003:0, // GLFW_STICKY_MOUSE_BUTTONS + }; + this.buttons = 0; + this.keys = new Array(); + this.shouldClose = 0; + this.title = null; + this.windowPosFunc = null; // GLFWwindowposfun + this.windowSizeFunc = null; // GLFWwindowsizefun + this.windowCloseFunc = null; // GLFWwindowclosefun + this.windowRefreshFunc = null; // GLFWwindowrefreshfun + this.windowFocusFunc = null; // GLFWwindowfocusfun + this.windowIconifyFunc = null; // GLFWwindowiconifyfun + this.framebufferSizeFunc = null; // GLFWframebuffersizefun + this.mouseButtonFunc = null; // GLFWmousebuttonfun + this.cursorPosFunc = null; // GLFWcursorposfun + this.cursorEnterFunc = null; // GLFWcursorenterfun + this.scrollFunc = null; // GLFWscrollfun + this.keyFunc = null; // GLFWkeyfun + this.charFunc = null; // GLFWcharfun + this.userptr = null; + },WindowFromId:function (id) { + if (id <= 0 || !GLFW.windows) return null; + return GLFW.windows[id - 1]; + },errorFunc:null,monitorFunc:null,active:null,windows:null,monitors:null,monitorString:null,versionString:null,initialTime:null,extensions:null,hints:null,defaultHints:{131073:0,131074:0,131075:1,131076:1,131077:1,135169:8,135170:8,135171:8,135172:8,135173:24,135174:8,135175:0,135176:0,135177:0,135178:0,135179:0,135180:0,135181:0,135182:0,135183:0,139265:196609,139266:1,139267:0,139268:0,139269:0,139270:0,139271:0,139272:0},DOMToGLFWKeyCode:function (keycode) { + switch (keycode) { + // these keycodes are only defined for GLFW3, assume they are the same for GLFW2 + case 0x20:return 32; // DOM_VK_SPACE -> GLFW_KEY_SPACE + case 0xDE:return 39; // DOM_VK_QUOTE -> GLFW_KEY_APOSTROPHE + case 0xBC:return 44; // DOM_VK_COMMA -> GLFW_KEY_COMMA + case 0xAD:return 45; // DOM_VK_HYPHEN_MINUS -> GLFW_KEY_MINUS + case 0xBD:return 45; // DOM_VK_MINUS -> GLFW_KEY_MINUS + case 0xBE:return 46; // DOM_VK_PERIOD -> GLFW_KEY_PERIOD + case 0xBF:return 47; // DOM_VK_SLASH -> GLFW_KEY_SLASH + case 0x30:return 48; // DOM_VK_0 -> GLFW_KEY_0 + case 0x31:return 49; // DOM_VK_1 -> GLFW_KEY_1 + case 0x32:return 50; // DOM_VK_2 -> GLFW_KEY_2 + case 0x33:return 51; // DOM_VK_3 -> GLFW_KEY_3 + case 0x34:return 52; // DOM_VK_4 -> GLFW_KEY_4 + case 0x35:return 53; // DOM_VK_5 -> GLFW_KEY_5 + case 0x36:return 54; // DOM_VK_6 -> GLFW_KEY_6 + case 0x37:return 55; // DOM_VK_7 -> GLFW_KEY_7 + case 0x38:return 56; // DOM_VK_8 -> GLFW_KEY_8 + case 0x39:return 57; // DOM_VK_9 -> GLFW_KEY_9 + case 0x3B:return 59; // DOM_VK_SEMICOLON -> GLFW_KEY_SEMICOLON + case 0x3D:return 61; // DOM_VK_EQUALS -> GLFW_KEY_EQUAL + case 0xBB:return 61; // DOM_VK_EQUALS -> GLFW_KEY_EQUAL + case 0x41:return 65; // DOM_VK_A -> GLFW_KEY_A + case 0x42:return 66; // DOM_VK_B -> GLFW_KEY_B + case 0x43:return 67; // DOM_VK_C -> GLFW_KEY_C + case 0x44:return 68; // DOM_VK_D -> GLFW_KEY_D + case 0x45:return 69; // DOM_VK_E -> GLFW_KEY_E + case 0x46:return 70; // DOM_VK_F -> GLFW_KEY_F + case 0x47:return 71; // DOM_VK_G -> GLFW_KEY_G + case 0x48:return 72; // DOM_VK_H -> GLFW_KEY_H + case 0x49:return 73; // DOM_VK_I -> GLFW_KEY_I + case 0x4A:return 74; // DOM_VK_J -> GLFW_KEY_J + case 0x4B:return 75; // DOM_VK_K -> GLFW_KEY_K + case 0x4C:return 76; // DOM_VK_L -> GLFW_KEY_L + case 0x4D:return 77; // DOM_VK_M -> GLFW_KEY_M + case 0x4E:return 78; // DOM_VK_N -> GLFW_KEY_N + case 0x4F:return 79; // DOM_VK_O -> GLFW_KEY_O + case 0x50:return 80; // DOM_VK_P -> GLFW_KEY_P + case 0x51:return 81; // DOM_VK_Q -> GLFW_KEY_Q + case 0x52:return 82; // DOM_VK_R -> GLFW_KEY_R + case 0x53:return 83; // DOM_VK_S -> GLFW_KEY_S + case 0x54:return 84; // DOM_VK_T -> GLFW_KEY_T + case 0x55:return 85; // DOM_VK_U -> GLFW_KEY_U + case 0x56:return 86; // DOM_VK_V -> GLFW_KEY_V + case 0x57:return 87; // DOM_VK_W -> GLFW_KEY_W + case 0x58:return 88; // DOM_VK_X -> GLFW_KEY_X + case 0x59:return 89; // DOM_VK_Y -> GLFW_KEY_Y + case 0x5a:return 90; // DOM_VK_Z -> GLFW_KEY_Z + case 0xDB:return 91; // DOM_VK_OPEN_BRACKET -> GLFW_KEY_LEFT_BRACKET + case 0xDC:return 92; // DOM_VK_BACKSLASH -> GLFW_KEY_BACKSLASH + case 0xDD:return 93; // DOM_VK_CLOSE_BRACKET -> GLFW_KEY_RIGHT_BRACKET + case 0xC0:return 94; // DOM_VK_BACK_QUOTE -> GLFW_KEY_GRAVE_ACCENT + + + case 0x1B:return 256; // DOM_VK_ESCAPE -> GLFW_KEY_ESCAPE + case 0x0D:return 257; // DOM_VK_RETURN -> GLFW_KEY_ENTER + case 0x09:return 258; // DOM_VK_TAB -> GLFW_KEY_TAB + case 0x08:return 259; // DOM_VK_BACK -> GLFW_KEY_BACKSPACE + case 0x2D:return 260; // DOM_VK_INSERT -> GLFW_KEY_INSERT + case 0x2E:return 261; // DOM_VK_DELETE -> GLFW_KEY_DELETE + case 0x27:return 262; // DOM_VK_RIGHT -> GLFW_KEY_RIGHT + case 0x25:return 263; // DOM_VK_LEFT -> GLFW_KEY_LEFT + case 0x28:return 264; // DOM_VK_DOWN -> GLFW_KEY_DOWN + case 0x26:return 265; // DOM_VK_UP -> GLFW_KEY_UP + case 0x21:return 266; // DOM_VK_PAGE_UP -> GLFW_KEY_PAGE_UP + case 0x22:return 267; // DOM_VK_PAGE_DOWN -> GLFW_KEY_PAGE_DOWN + case 0x24:return 268; // DOM_VK_HOME -> GLFW_KEY_HOME + case 0x23:return 269; // DOM_VK_END -> GLFW_KEY_END + case 0x14:return 280; // DOM_VK_CAPS_LOCK -> GLFW_KEY_CAPS_LOCK + case 0x91:return 281; // DOM_VK_SCROLL_LOCK -> GLFW_KEY_SCROLL_LOCK + case 0x90:return 282; // DOM_VK_NUM_LOCK -> GLFW_KEY_NUM_LOCK + case 0x2C:return 283; // DOM_VK_SNAPSHOT -> GLFW_KEY_PRINT_SCREEN + case 0x13:return 284; // DOM_VK_PAUSE -> GLFW_KEY_PAUSE + case 0x70:return 290; // DOM_VK_F1 -> GLFW_KEY_F1 + case 0x71:return 291; // DOM_VK_F2 -> GLFW_KEY_F2 + case 0x72:return 292; // DOM_VK_F3 -> GLFW_KEY_F3 + case 0x73:return 293; // DOM_VK_F4 -> GLFW_KEY_F4 + case 0x74:return 294; // DOM_VK_F5 -> GLFW_KEY_F5 + case 0x75:return 295; // DOM_VK_F6 -> GLFW_KEY_F6 + case 0x76:return 296; // DOM_VK_F7 -> GLFW_KEY_F7 + case 0x77:return 297; // DOM_VK_F8 -> GLFW_KEY_F8 + case 0x78:return 298; // DOM_VK_F9 -> GLFW_KEY_F9 + case 0x79:return 299; // DOM_VK_F10 -> GLFW_KEY_F10 + case 0x7A:return 300; // DOM_VK_F11 -> GLFW_KEY_F11 + case 0x7B:return 301; // DOM_VK_F12 -> GLFW_KEY_F12 + case 0x7C:return 302; // DOM_VK_F13 -> GLFW_KEY_F13 + case 0x7D:return 303; // DOM_VK_F14 -> GLFW_KEY_F14 + case 0x7E:return 304; // DOM_VK_F15 -> GLFW_KEY_F15 + case 0x7F:return 305; // DOM_VK_F16 -> GLFW_KEY_F16 + case 0x80:return 306; // DOM_VK_F17 -> GLFW_KEY_F17 + case 0x81:return 307; // DOM_VK_F18 -> GLFW_KEY_F18 + case 0x82:return 308; // DOM_VK_F19 -> GLFW_KEY_F19 + case 0x83:return 309; // DOM_VK_F20 -> GLFW_KEY_F20 + case 0x84:return 310; // DOM_VK_F21 -> GLFW_KEY_F21 + case 0x85:return 311; // DOM_VK_F22 -> GLFW_KEY_F22 + case 0x86:return 312; // DOM_VK_F23 -> GLFW_KEY_F23 + case 0x87:return 313; // DOM_VK_F24 -> GLFW_KEY_F24 + case 0x88:return 314; // 0x88 (not used?) -> GLFW_KEY_F25 + case 0x60:return 320; // DOM_VK_NUMPAD0 -> GLFW_KEY_KP_0 + case 0x61:return 321; // DOM_VK_NUMPAD1 -> GLFW_KEY_KP_1 + case 0x62:return 322; // DOM_VK_NUMPAD2 -> GLFW_KEY_KP_2 + case 0x63:return 323; // DOM_VK_NUMPAD3 -> GLFW_KEY_KP_3 + case 0x64:return 324; // DOM_VK_NUMPAD4 -> GLFW_KEY_KP_4 + case 0x65:return 325; // DOM_VK_NUMPAD5 -> GLFW_KEY_KP_5 + case 0x66:return 326; // DOM_VK_NUMPAD6 -> GLFW_KEY_KP_6 + case 0x67:return 327; // DOM_VK_NUMPAD7 -> GLFW_KEY_KP_7 + case 0x68:return 328; // DOM_VK_NUMPAD8 -> GLFW_KEY_KP_8 + case 0x69:return 329; // DOM_VK_NUMPAD9 -> GLFW_KEY_KP_9 + case 0x6E:return 330; // DOM_VK_DECIMAL -> GLFW_KEY_KP_DECIMAL + case 0x6F:return 331; // DOM_VK_DIVIDE -> GLFW_KEY_KP_DIVIDE + case 0x6A:return 332; // DOM_VK_MULTIPLY -> GLFW_KEY_KP_MULTIPLY + case 0x6D:return 333; // DOM_VK_SUBTRACT -> GLFW_KEY_KP_SUBTRACT + case 0x6B:return 334; // DOM_VK_ADD -> GLFW_KEY_KP_ADD + // case 0x0D:return 335; // DOM_VK_RETURN -> GLFW_KEY_KP_ENTER (DOM_KEY_LOCATION_RIGHT) + // case 0x61:return 336; // DOM_VK_EQUALS -> GLFW_KEY_KP_EQUAL (DOM_KEY_LOCATION_RIGHT) + case 0x10:return 340; // DOM_VK_SHIFT -> GLFW_KEY_LEFT_SHIFT + case 0x11:return 341; // DOM_VK_CONTROL -> GLFW_KEY_LEFT_CONTROL + case 0x12:return 342; // DOM_VK_ALT -> GLFW_KEY_LEFT_ALT + case 0x5B:return 343; // DOM_VK_WIN -> GLFW_KEY_LEFT_SUPER + // case 0x10:return 344; // DOM_VK_SHIFT -> GLFW_KEY_RIGHT_SHIFT (DOM_KEY_LOCATION_RIGHT) + // case 0x11:return 345; // DOM_VK_CONTROL -> GLFW_KEY_RIGHT_CONTROL (DOM_KEY_LOCATION_RIGHT) + // case 0x12:return 346; // DOM_VK_ALT -> GLFW_KEY_RIGHT_ALT (DOM_KEY_LOCATION_RIGHT) + // case 0x5B:return 347; // DOM_VK_WIN -> GLFW_KEY_RIGHT_SUPER (DOM_KEY_LOCATION_RIGHT) + case 0x5D:return 348; // DOM_VK_CONTEXT_MENU -> GLFW_KEY_MENU + // XXX: GLFW_KEY_WORLD_1, GLFW_KEY_WORLD_2 what are these? + default:return -1; // GLFW_KEY_UNKNOWN + }; + },getModBits:function (win) { + var mod = 0; + if (win.keys[340]) mod |= 0x0001; // GLFW_MOD_SHIFT + if (win.keys[341]) mod |= 0x0002; // GLFW_MOD_CONTROL + if (win.keys[342]) mod |= 0x0004; // GLFW_MOD_ALT + if (win.keys[343]) mod |= 0x0008; // GLFW_MOD_SUPER + return mod; + },onKeyPress:function (event) { + if (!GLFW.active || !GLFW.active.charFunc) return; + + // correct unicode charCode is only available with onKeyPress event + var charCode = event.charCode; + if (charCode == 0 || (charCode >= 0x00 && charCode <= 0x1F)) return; + + + Module['dynCall_vii'](GLFW.active.charFunc, GLFW.active.id, charCode); + },onKeyChanged:function (event, status) { + if (!GLFW.active) return; + + var key = GLFW.DOMToGLFWKeyCode(event.keyCode); + if (key == -1) return; + + var repeat = status && GLFW.active.keys[key]; + GLFW.active.keys[key] = status; + if (!GLFW.active.keyFunc) return; + + + if (repeat) status = 2; // GLFW_REPEAT + Module['dynCall_viiiii'](GLFW.active.keyFunc, GLFW.active.id, key, event.keyCode, status, GLFW.getModBits(GLFW.active)); + },onKeydown:function (event) { + GLFW.onKeyChanged(event, 1); // GLFW_PRESS or GLFW_REPEAT + + // This logic comes directly from the sdl implementation. We cannot + // call preventDefault on all keydown events otherwise onKeyPress will + // not get called + if (event.keyCode === 8 /* backspace */ || event.keyCode === 9 /* tab */) { + event.preventDefault(); + } + },onKeyup:function (event) { + GLFW.onKeyChanged(event, 0); // GLFW_RELEASE + },onMousemove:function (event) { + if (!GLFW.active) return; + + Browser.calculateMouseEvent(event); + + if (event.target != Module["canvas"] || !GLFW.active.cursorPosFunc) return; + + + Module['dynCall_vidd'](GLFW.active.cursorPosFunc, GLFW.active.id, Browser.mouseX, Browser.mouseY); + },DOMToGLFWMouseButton:function (event) { + // DOM and glfw have different button codes. + // See http://www.w3schools.com/jsref/event_button.asp. + var eventButton = event['button']; + if (eventButton > 0) { + if (eventButton == 1) { + eventButton = 2; + } else { + eventButton = 1; + } + } + return eventButton; + },onMouseenter:function (event) { + if (!GLFW.active) return; + + if (event.target != Module["canvas"] || !GLFW.active.cursorEnterFunc) return; + + Module['dynCall_vii'](GLFW.active.cursorEnterFunc, GLFW.active.id, 1); + },onMouseleave:function (event) { + if (!GLFW.active) return; + + if (event.target != Module["canvas"] || !GLFW.active.cursorEnterFunc) return; + + Module['dynCall_vii'](GLFW.active.cursorEnterFunc, GLFW.active.id, 0); + },onMouseButtonChanged:function (event, status) { + if (!GLFW.active) return; + + Browser.calculateMouseEvent(event); + + if (event.target != Module["canvas"]) return; + + eventButton = GLFW.DOMToGLFWMouseButton(event); + + if (status == 1) { // GLFW_PRESS + GLFW.active.buttons |= (1 << eventButton); + try { + event.target.setCapture(); + } catch (e) {} + } else { // GLFW_RELEASE + GLFW.active.buttons &= ~(1 << eventButton); + } + + if (!GLFW.active.mouseButtonFunc) return; + + + Module['dynCall_viiii'](GLFW.active.mouseButtonFunc, GLFW.active.id, eventButton, status, GLFW.getModBits(GLFW.active)); + },onMouseButtonDown:function (event) { + if (!GLFW.active) return; + GLFW.onMouseButtonChanged(event, 1); // GLFW_PRESS + },onMouseButtonUp:function (event) { + if (!GLFW.active) return; + GLFW.onMouseButtonChanged(event, 0); // GLFW_RELEASE + },onMouseWheel:function (event) { + // Note the minus sign that flips browser wheel direction (positive direction scrolls page down) to native wheel direction (positive direction is mouse wheel up) + var delta = -Browser.getMouseWheelDelta(event); + delta = (delta == 0) ? 0 : (delta > 0 ? Math.max(delta, 1) : Math.min(delta, -1)); // Quantize to integer so that minimum scroll is at least +/- 1. + GLFW.wheelPos += delta; + + if (!GLFW.active || !GLFW.active.scrollFunc || event.target != Module['canvas']) return; + + + var sx = 0; + var sy = 0; + if (event.type == 'mousewheel') { + sx = event.wheelDeltaX; + sy = event.wheelDeltaY; + } else { + sx = event.deltaX; + sy = event.deltaY; + } + + Module['dynCall_vidd'](GLFW.active.scrollFunc, GLFW.active.id, sx, sy); + + event.preventDefault(); + },onCanvasResize:function (width, height) { + if (!GLFW.active) return; + + var resizeNeeded = true; + + // If the client is requestiong fullscreen mode + if (document["fullscreen"] || document["fullScreen"] || document["mozFullScreen"] || document["webkitIsFullScreen"]) { + GLFW.active.storedX = GLFW.active.x; + GLFW.active.storedY = GLFW.active.y; + GLFW.active.storedWidth = GLFW.active.width; + GLFW.active.storedHeight = GLFW.active.height; + GLFW.active.x = GLFW.active.y = 0; + GLFW.active.width = screen.width; + GLFW.active.height = screen.height; + GLFW.active.fullscreen = true; + + // If the client is reverting from fullscreen mode + } else if (GLFW.active.fullscreen == true) { + GLFW.active.x = GLFW.active.storedX; + GLFW.active.y = GLFW.active.storedY; + GLFW.active.width = GLFW.active.storedWidth; + GLFW.active.height = GLFW.active.storedHeight; + GLFW.active.fullscreen = false; + + // If the width/height values do not match current active window sizes + } else if (GLFW.active.width != width || GLFW.active.height != height) { + GLFW.active.width = width; + GLFW.active.height = height; + } else { + resizeNeeded = false; + } + + // If any of the above conditions were true, we need to resize the canvas + if (resizeNeeded) { + // resets the canvas size to counter the aspect preservation of Browser.updateCanvasDimensions + Browser.setCanvasSize(GLFW.active.width, GLFW.active.height, true); + // TODO: Client dimensions (clientWidth/clientHeight) vs pixel dimensions (width/height) of + // the canvas should drive window and framebuffer size respectfully. + GLFW.onWindowSizeChanged(); + GLFW.onFramebufferSizeChanged(); + } + },onWindowSizeChanged:function () { + if (!GLFW.active) return; + + if (!GLFW.active.windowSizeFunc) return; + + + Module['dynCall_viii'](GLFW.active.windowSizeFunc, GLFW.active.id, GLFW.active.width, GLFW.active.height); + },onFramebufferSizeChanged:function () { + if (!GLFW.active) return; + + if (!GLFW.active.framebufferSizeFunc) return; + + Module['dynCall_viii'](GLFW.active.framebufferSizeFunc, GLFW.active.id, GLFW.active.width, GLFW.active.height); + },requestFullscreen:function () { + var RFS = Module["canvas"]['requestFullscreen'] || + Module["canvas"]['mozRequestFullScreen'] || + Module["canvas"]['webkitRequestFullScreen'] || + (function() {}); + RFS.apply(Module["canvas"], []); + },requestFullScreen:function () { + Module.printErr('GLFW.requestFullScreen() is deprecated. Please call GLFW.requestFullscreen instead.'); + GLFW.requestFullScreen = function() { + return GLFW.requestFullscreen(); + } + return GLFW.requestFullscreen(); + },exitFullscreen:function () { + var CFS = document['exitFullscreen'] || + document['cancelFullScreen'] || + document['mozCancelFullScreen'] || + document['webkitCancelFullScreen'] || + (function() {}); + CFS.apply(document, []); + },cancelFullScreen:function () { + Module.printErr('GLFW.cancelFullScreen() is deprecated. Please call GLFW.exitFullscreen instead.'); + GLFW.cancelFullScreen = function() { + return GLFW.exitFullscreen(); + } + return GLFW.exitFullscreen(); + },getTime:function () { + return _emscripten_get_now() / 1000; + },setWindowTitle:function (winid, title) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + + win.title = Pointer_stringify(title); + if (GLFW.active.id == win.id) { + document.title = win.title; + } + },setKeyCallback:function (winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.keyFunc = cbfun; + },setCharCallback:function (winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.charFunc = cbfun; + },setMouseButtonCallback:function (winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.mouseButtonFunc = cbfun; + },setCursorPosCallback:function (winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.cursorPosFunc = cbfun; + },setScrollCallback:function (winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.scrollFunc = cbfun; + },setWindowSizeCallback:function (winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.windowSizeFunc = cbfun; + + },setWindowCloseCallback:function (winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.windowCloseFunc = cbfun; + },setWindowRefreshCallback:function (winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.windowRefreshFunc = cbfun; + },onClickRequestPointerLock:function (e) { + if (!Browser.pointerLock && Module['canvas'].requestPointerLock) { + Module['canvas'].requestPointerLock(); + e.preventDefault(); + } + },setInputMode:function (winid, mode, value) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + + switch(mode) { + case 0x00033001: { // GLFW_CURSOR + switch(value) { + case 0x00034001: { // GLFW_CURSOR_NORMAL + win.inputModes[mode] = value; + Module['canvas'].removeEventListener('click', GLFW.onClickRequestPointerLock, true); + Module['canvas'].exitPointerLock(); + break; + } + case 0x00034002: { // GLFW_CURSOR_HIDDEN + console.log("glfwSetInputMode called with GLFW_CURSOR_HIDDEN value not implemented."); + break; + } + case 0x00034003: { // GLFW_CURSOR_DISABLED + win.inputModes[mode] = value; + Module['canvas'].addEventListener('click', GLFW.onClickRequestPointerLock, true); + Module['canvas'].requestPointerLock(); + break; + } + default: { + console.log("glfwSetInputMode called with unknown value parameter value: " + value + "."); + break; + } + } + break; + } + case 0x00033002: { // GLFW_STICKY_KEYS + console.log("glfwSetInputMode called with GLFW_STICKY_KEYS mode not implemented."); + break; + } + case 0x00033003: { // GLFW_STICKY_MOUSE_BUTTONS + console.log("glfwSetInputMode called with GLFW_STICKY_MOUSE_BUTTONS mode not implemented."); + break; + } + default: { + console.log("glfwSetInputMode called with unknown mode parameter value: " + mode + "."); + break; + } + } + },getKey:function (winid, key) { + var win = GLFW.WindowFromId(winid); + if (!win) return 0; + return win.keys[key]; + },getMouseButton:function (winid, button) { + var win = GLFW.WindowFromId(winid); + if (!win) return 0; + return (win.buttons & (1 << button)) > 0; + },getCursorPos:function (winid, x, y) { + setValue(x, Browser.mouseX, 'double'); + setValue(y, Browser.mouseY, 'double'); + },getMousePos:function (winid, x, y) { + setValue(x, Browser.mouseX, 'i32'); + setValue(y, Browser.mouseY, 'i32'); + },setCursorPos:function (winid, x, y) { + },getWindowPos:function (winid, x, y) { + var wx = 0; + var wy = 0; + + var win = GLFW.WindowFromId(winid); + if (win) { + wx = win.x; + wy = win.y; + } + + setValue(x, wx, 'i32'); + setValue(y, wy, 'i32'); + },setWindowPos:function (winid, x, y) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.x = x; + win.y = y; + },getWindowSize:function (winid, width, height) { + var ww = 0; + var wh = 0; + + var win = GLFW.WindowFromId(winid); + if (win) { + ww = win.width; + wh = win.height; + } + + setValue(width, ww, 'i32'); + setValue(height, wh, 'i32'); + },setWindowSize:function (winid, width, height) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + + if (GLFW.active.id == win.id) { + if (width == screen.width && height == screen.height) { + GLFW.requestFullscreen(); + } else { + GLFW.exitFullscreen(); + Browser.setCanvasSize(width, height); + win.width = width; + win.height = height; + } + } + + if (!win.windowSizeFunc) return; + + + Module['dynCall_viii'](win.windowSizeFunc, win.id, width, height); + },createWindow:function (width, height, title, monitor, share) { + var i, id; + for (i = 0; i < GLFW.windows.length && GLFW.windows[i] !== null; i++); + if (i > 0) throw "glfwCreateWindow only supports one window at time currently"; + + // id for window + id = i + 1; + + // not valid + if (width <= 0 || height <= 0) return 0; + + if (monitor) { + GLFW.requestFullscreen(); + } else { + Browser.setCanvasSize(width, height); + } + + // Create context when there are no existing alive windows + for (i = 0; i < GLFW.windows.length && GLFW.windows[i] == null; i++); + if (i == GLFW.windows.length) { + var contextAttributes = { + antialias: (GLFW.hints[0x0002100D] > 1), // GLFW_SAMPLES + depth: (GLFW.hints[0x00021005] > 0), // GLFW_DEPTH_BITS + stencil: (GLFW.hints[0x00021006] > 0), // GLFW_STENCIL_BITS + alpha: (GLFW.hints[0x00021004] > 0) // GLFW_ALPHA_BITS + } + Module.ctx = Browser.createContext(Module['canvas'], true, true, contextAttributes); + } + + // If context creation failed, do not return a valid window + if (!Module.ctx) return 0; + + // Get non alive id + var win = new GLFW.Window(id, width, height, title, monitor, share); + + // Set window to array + if (id - 1 == GLFW.windows.length) { + GLFW.windows.push(win); + } else { + GLFW.windows[id - 1] = win; + } + + GLFW.active = win; + return win.id; + },destroyWindow:function (winid) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + + if (win.windowCloseFunc) + Module['dynCall_vi'](win.windowCloseFunc, win.id); + + GLFW.windows[win.id - 1] = null; + if (GLFW.active.id == win.id) + GLFW.active = null; + + // Destroy context when no alive windows + for (var i = 0; i < GLFW.windows.length; i++) + if (GLFW.windows[i] !== null) return; + + Module.ctx = Browser.destroyContext(Module['canvas'], true, true); + },swapBuffers:function (winid) { + },GLFW2ParamToGLFW3Param:function (param) { + table = { + 0x00030001:0, // GLFW_MOUSE_CURSOR + 0x00030002:0, // GLFW_STICKY_KEYS + 0x00030003:0, // GLFW_STICKY_MOUSE_BUTTONS + 0x00030004:0, // GLFW_SYSTEM_KEYS + 0x00030005:0, // GLFW_KEY_REPEAT + 0x00030006:0, // GLFW_AUTO_POLL_EVENTS + 0x00020001:0, // GLFW_OPENED + 0x00020002:0, // GLFW_ACTIVE + 0x00020003:0, // GLFW_ICONIFIED + 0x00020004:0, // GLFW_ACCELERATED + 0x00020005:0x00021001, // GLFW_RED_BITS + 0x00020006:0x00021002, // GLFW_GREEN_BITS + 0x00020007:0x00021003, // GLFW_BLUE_BITS + 0x00020008:0x00021004, // GLFW_ALPHA_BITS + 0x00020009:0x00021005, // GLFW_DEPTH_BITS + 0x0002000A:0x00021006, // GLFW_STENCIL_BITS + 0x0002000B:0x0002100F, // GLFW_REFRESH_RATE + 0x0002000C:0x00021007, // GLFW_ACCUM_RED_BITS + 0x0002000D:0x00021008, // GLFW_ACCUM_GREEN_BITS + 0x0002000E:0x00021009, // GLFW_ACCUM_BLUE_BITS + 0x0002000F:0x0002100A, // GLFW_ACCUM_ALPHA_BITS + 0x00020010:0x0002100B, // GLFW_AUX_BUFFERS + 0x00020011:0x0002100C, // GLFW_STEREO + 0x00020012:0, // GLFW_WINDOW_NO_RESIZE + 0x00020013:0x0002100D, // GLFW_FSAA_SAMPLES + 0x00020014:0x00022002, // GLFW_OPENGL_VERSION_MAJOR + 0x00020015:0x00022003, // GLFW_OPENGL_VERSION_MINOR + 0x00020016:0x00022006, // GLFW_OPENGL_FORWARD_COMPAT + 0x00020017:0x00022007, // GLFW_OPENGL_DEBUG_CONTEXT + 0x00020018:0x00022008, // GLFW_OPENGL_PROFILE + }; + return table[param]; + }};function _glfwGetVideoModes(monitor, count) { + setValue(count, 0, 'i32'); + return 0; + } + + function _glLinkProgram(program) { + GLctx.linkProgram(GL.programs[program]); + GL.programInfos[program] = null; // uniforms no longer keep the same names after linking + GL.populateUniformTable(program); + } + + function _glBindTexture(target, texture) { + GLctx.bindTexture(target, texture ? GL.textures[texture] : null); + } + + function _emscripten_glStencilFunc(x0, x1, x2) { GLctx['stencilFunc'](x0, x1, x2) } + + function _glFramebufferRenderbuffer(target, attachment, renderbuffertarget, renderbuffer) { + GLctx.framebufferRenderbuffer(target, attachment, renderbuffertarget, + GL.renderbuffers[renderbuffer]); + } + + function _glGetString(name_) { + if (GL.stringCache[name_]) return GL.stringCache[name_]; + var ret; + switch(name_) { + case 0x1F00 /* GL_VENDOR */: + case 0x1F01 /* GL_RENDERER */: + case 0x9245 /* UNMASKED_VENDOR_WEBGL */: + case 0x9246 /* UNMASKED_RENDERER_WEBGL */: + ret = allocate(intArrayFromString(GLctx.getParameter(name_)), 'i8', ALLOC_NORMAL); + break; + case 0x1F02 /* GL_VERSION */: + var glVersion = GLctx.getParameter(GLctx.VERSION); + // return GLES version string corresponding to the version of the WebGL context + { + glVersion = 'OpenGL ES 2.0 (' + glVersion + ')'; + } + ret = allocate(intArrayFromString(glVersion), 'i8', ALLOC_NORMAL); + break; + case 0x1F03 /* GL_EXTENSIONS */: + var exts = GLctx.getSupportedExtensions(); + var gl_exts = []; + for (var i = 0; i < exts.length; ++i) { + gl_exts.push(exts[i]); + gl_exts.push("GL_" + exts[i]); + } + ret = allocate(intArrayFromString(gl_exts.join(' ')), 'i8', ALLOC_NORMAL); + break; + case 0x8B8C /* GL_SHADING_LANGUAGE_VERSION */: + var glslVersion = GLctx.getParameter(GLctx.SHADING_LANGUAGE_VERSION); + // extract the version number 'N.M' from the string 'WebGL GLSL ES N.M ...' + var ver_re = /^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/; + var ver_num = glslVersion.match(ver_re); + if (ver_num !== null) { + if (ver_num[1].length == 3) ver_num[1] = ver_num[1] + '0'; // ensure minor version has 2 digits + glslVersion = 'OpenGL ES GLSL ES ' + ver_num[1] + ' (' + glslVersion + ')'; + } + ret = allocate(intArrayFromString(glslVersion), 'i8', ALLOC_NORMAL); + break; + default: + GL.recordError(0x0500/*GL_INVALID_ENUM*/); + return 0; + } + GL.stringCache[name_] = ret; + return ret; + } + + function _emscripten_glUniform3iv(location, count, value) { + + + GLctx.uniform3iv(GL.uniforms[location], HEAP32.subarray((value)>>2,(value+count*12)>>2)); + } + + function _emscripten_glShaderSource(shader, count, string, length) { + var source = GL.getSource(shader, count, string, length); + + + GLctx.shaderSource(GL.shaders[shader], source); + } + + function _emscripten_glReleaseShaderCompiler() { + // NOP (as allowed by GLES 2.0 spec) + } + + function _glfwSetScrollCallback(winid, cbfun) { + GLFW.setScrollCallback(winid, cbfun); + } + + function _emscripten_glTexParameterf(x0, x1, x2) { GLctx['texParameterf'](x0, x1, x2) } + + function _emscripten_glTexParameteri(x0, x1, x2) { GLctx['texParameteri'](x0, x1, x2) } + + function _glCompileShader(shader) { + GLctx.compileShader(GL.shaders[shader]); + } + + + + + var ERRNO_CODES={EPERM:1,ENOENT:2,ESRCH:3,EINTR:4,EIO:5,ENXIO:6,E2BIG:7,ENOEXEC:8,EBADF:9,ECHILD:10,EAGAIN:11,EWOULDBLOCK:11,ENOMEM:12,EACCES:13,EFAULT:14,ENOTBLK:15,EBUSY:16,EEXIST:17,EXDEV:18,ENODEV:19,ENOTDIR:20,EISDIR:21,EINVAL:22,ENFILE:23,EMFILE:24,ENOTTY:25,ETXTBSY:26,EFBIG:27,ENOSPC:28,ESPIPE:29,EROFS:30,EMLINK:31,EPIPE:32,EDOM:33,ERANGE:34,ENOMSG:42,EIDRM:43,ECHRNG:44,EL2NSYNC:45,EL3HLT:46,EL3RST:47,ELNRNG:48,EUNATCH:49,ENOCSI:50,EL2HLT:51,EDEADLK:35,ENOLCK:37,EBADE:52,EBADR:53,EXFULL:54,ENOANO:55,EBADRQC:56,EBADSLT:57,EDEADLOCK:35,EBFONT:59,ENOSTR:60,ENODATA:61,ETIME:62,ENOSR:63,ENONET:64,ENOPKG:65,EREMOTE:66,ENOLINK:67,EADV:68,ESRMNT:69,ECOMM:70,EPROTO:71,EMULTIHOP:72,EDOTDOT:73,EBADMSG:74,ENOTUNIQ:76,EBADFD:77,EREMCHG:78,ELIBACC:79,ELIBBAD:80,ELIBSCN:81,ELIBMAX:82,ELIBEXEC:83,ENOSYS:38,ENOTEMPTY:39,ENAMETOOLONG:36,ELOOP:40,EOPNOTSUPP:95,EPFNOSUPPORT:96,ECONNRESET:104,ENOBUFS:105,EAFNOSUPPORT:97,EPROTOTYPE:91,ENOTSOCK:88,ENOPROTOOPT:92,ESHUTDOWN:108,ECONNREFUSED:111,EADDRINUSE:98,ECONNABORTED:103,ENETUNREACH:101,ENETDOWN:100,ETIMEDOUT:110,EHOSTDOWN:112,EHOSTUNREACH:113,EINPROGRESS:115,EALREADY:114,EDESTADDRREQ:89,EMSGSIZE:90,EPROTONOSUPPORT:93,ESOCKTNOSUPPORT:94,EADDRNOTAVAIL:99,ENETRESET:102,EISCONN:106,ENOTCONN:107,ETOOMANYREFS:109,EUSERS:87,EDQUOT:122,ESTALE:116,ENOTSUP:95,ENOMEDIUM:123,EILSEQ:84,EOVERFLOW:75,ECANCELED:125,ENOTRECOVERABLE:131,EOWNERDEAD:130,ESTRPIPE:86}; + + var ERRNO_MESSAGES={0:"Success",1:"Not super-user",2:"No such file or directory",3:"No such process",4:"Interrupted system call",5:"I/O error",6:"No such device or address",7:"Arg list too long",8:"Exec format error",9:"Bad file number",10:"No children",11:"No more processes",12:"Not enough core",13:"Permission denied",14:"Bad address",15:"Block device required",16:"Mount device busy",17:"File exists",18:"Cross-device link",19:"No such device",20:"Not a directory",21:"Is a directory",22:"Invalid argument",23:"Too many open files in system",24:"Too many open files",25:"Not a typewriter",26:"Text file busy",27:"File too large",28:"No space left on device",29:"Illegal seek",30:"Read only file system",31:"Too many links",32:"Broken pipe",33:"Math arg out of domain of func",34:"Math result not representable",35:"File locking deadlock error",36:"File or path name too long",37:"No record locks available",38:"Function not implemented",39:"Directory not empty",40:"Too many symbolic links",42:"No message of desired type",43:"Identifier removed",44:"Channel number out of range",45:"Level 2 not synchronized",46:"Level 3 halted",47:"Level 3 reset",48:"Link number out of range",49:"Protocol driver not attached",50:"No CSI structure available",51:"Level 2 halted",52:"Invalid exchange",53:"Invalid request descriptor",54:"Exchange full",55:"No anode",56:"Invalid request code",57:"Invalid slot",59:"Bad font file fmt",60:"Device not a stream",61:"No data (for no delay io)",62:"Timer expired",63:"Out of streams resources",64:"Machine is not on the network",65:"Package not installed",66:"The object is remote",67:"The link has been severed",68:"Advertise error",69:"Srmount error",70:"Communication error on send",71:"Protocol error",72:"Multihop attempted",73:"Cross mount point (not really error)",74:"Trying to read unreadable message",75:"Value too large for defined data type",76:"Given log. name not unique",77:"f.d. invalid for this operation",78:"Remote address changed",79:"Can access a needed shared lib",80:"Accessing a corrupted shared lib",81:".lib section in a.out corrupted",82:"Attempting to link in too many libs",83:"Attempting to exec a shared library",84:"Illegal byte sequence",86:"Streams pipe error",87:"Too many users",88:"Socket operation on non-socket",89:"Destination address required",90:"Message too long",91:"Protocol wrong type for socket",92:"Protocol not available",93:"Unknown protocol",94:"Socket type not supported",95:"Not supported",96:"Protocol family not supported",97:"Address family not supported by protocol family",98:"Address already in use",99:"Address not available",100:"Network interface is not configured",101:"Network is unreachable",102:"Connection reset by network",103:"Connection aborted",104:"Connection reset by peer",105:"No buffer space available",106:"Socket is already connected",107:"Socket is not connected",108:"Can't send after socket shutdown",109:"Too many references",110:"Connection timed out",111:"Connection refused",112:"Host is down",113:"Host is unreachable",114:"Socket already connected",115:"Connection already in progress",116:"Stale file handle",122:"Quota exceeded",123:"No medium (in tape drive)",125:"Operation canceled",130:"Previous owner died",131:"State not recoverable"}; + + function ___setErrNo(value) { + if (Module['___errno_location']) HEAP32[((Module['___errno_location']())>>2)]=value; + else Module.printErr('failed to set errno from JS'); + return value; + } + + var PATH={splitPath:function (filename) { + var splitPathRe = /^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/; + return splitPathRe.exec(filename).slice(1); + },normalizeArray:function (parts, allowAboveRoot) { + // if the path tries to go above the root, `up` ends up > 0 + var up = 0; + for (var i = parts.length - 1; i >= 0; i--) { + var last = parts[i]; + if (last === '.') { + parts.splice(i, 1); + } else if (last === '..') { + parts.splice(i, 1); + up++; + } else if (up) { + parts.splice(i, 1); + up--; + } + } + // if the path is allowed to go above the root, restore leading ..s + if (allowAboveRoot) { + for (; up--; up) { + parts.unshift('..'); + } + } + return parts; + },normalize:function (path) { + var isAbsolute = path.charAt(0) === '/', + trailingSlash = path.substr(-1) === '/'; + // Normalize the path + path = PATH.normalizeArray(path.split('/').filter(function(p) { + return !!p; + }), !isAbsolute).join('/'); + if (!path && !isAbsolute) { + path = '.'; + } + if (path && trailingSlash) { + path += '/'; + } + return (isAbsolute ? '/' : '') + path; + },dirname:function (path) { + var result = PATH.splitPath(path), + root = result[0], + dir = result[1]; + if (!root && !dir) { + // No dirname whatsoever + return '.'; + } + if (dir) { + // It has a dirname, strip trailing slash + dir = dir.substr(0, dir.length - 1); + } + return root + dir; + },basename:function (path) { + // EMSCRIPTEN return '/'' for '/', not an empty string + if (path === '/') return '/'; + var lastSlash = path.lastIndexOf('/'); + if (lastSlash === -1) return path; + return path.substr(lastSlash+1); + },extname:function (path) { + return PATH.splitPath(path)[3]; + },join:function () { + var paths = Array.prototype.slice.call(arguments, 0); + return PATH.normalize(paths.join('/')); + },join2:function (l, r) { + return PATH.normalize(l + '/' + r); + },resolve:function () { + var resolvedPath = '', + resolvedAbsolute = false; + for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) { + var path = (i >= 0) ? arguments[i] : FS.cwd(); + // Skip empty and invalid entries + if (typeof path !== 'string') { + throw new TypeError('Arguments to path.resolve must be strings'); + } else if (!path) { + return ''; // an invalid portion invalidates the whole thing + } + resolvedPath = path + '/' + resolvedPath; + resolvedAbsolute = path.charAt(0) === '/'; + } + // At this point the path should be resolved to a full absolute path, but + // handle relative paths to be safe (might happen when process.cwd() fails) + resolvedPath = PATH.normalizeArray(resolvedPath.split('/').filter(function(p) { + return !!p; + }), !resolvedAbsolute).join('/'); + return ((resolvedAbsolute ? '/' : '') + resolvedPath) || '.'; + },relative:function (from, to) { + from = PATH.resolve(from).substr(1); + to = PATH.resolve(to).substr(1); + function trim(arr) { + var start = 0; + for (; start < arr.length; start++) { + if (arr[start] !== '') break; + } + var end = arr.length - 1; + for (; end >= 0; end--) { + if (arr[end] !== '') break; + } + if (start > end) return []; + return arr.slice(start, end - start + 1); + } + var fromParts = trim(from.split('/')); + var toParts = trim(to.split('/')); + var length = Math.min(fromParts.length, toParts.length); + var samePartsLength = length; + for (var i = 0; i < length; i++) { + if (fromParts[i] !== toParts[i]) { + samePartsLength = i; + break; + } + } + var outputParts = []; + for (var i = samePartsLength; i < fromParts.length; i++) { + outputParts.push('..'); + } + outputParts = outputParts.concat(toParts.slice(samePartsLength)); + return outputParts.join('/'); + }}; + + var TTY={ttys:[],init:function () { + // https://github.com/kripken/emscripten/pull/1555 + // if (ENVIRONMENT_IS_NODE) { + // // currently, FS.init does not distinguish if process.stdin is a file or TTY + // // device, it always assumes it's a TTY device. because of this, we're forcing + // // process.stdin to UTF8 encoding to at least make stdin reading compatible + // // with text files until FS.init can be refactored. + // process['stdin']['setEncoding']('utf8'); + // } + },shutdown:function () { + // https://github.com/kripken/emscripten/pull/1555 + // if (ENVIRONMENT_IS_NODE) { + // // inolen: any idea as to why node -e 'process.stdin.read()' wouldn't exit immediately (with process.stdin being a tty)? + // // isaacs: because now it's reading from the stream, you've expressed interest in it, so that read() kicks off a _read() which creates a ReadReq operation + // // inolen: I thought read() in that case was a synchronous operation that just grabbed some amount of buffered data if it exists? + // // isaacs: it is. but it also triggers a _read() call, which calls readStart() on the handle + // // isaacs: do process.stdin.pause() and i'd think it'd probably close the pending call + // process['stdin']['pause'](); + // } + },register:function (dev, ops) { + TTY.ttys[dev] = { input: [], output: [], ops: ops }; + FS.registerDevice(dev, TTY.stream_ops); + },stream_ops:{open:function (stream) { + var tty = TTY.ttys[stream.node.rdev]; + if (!tty) { + throw new FS.ErrnoError(ERRNO_CODES.ENODEV); + } + stream.tty = tty; + stream.seekable = false; + },close:function (stream) { + // flush any pending line data + stream.tty.ops.flush(stream.tty); + },flush:function (stream) { + stream.tty.ops.flush(stream.tty); + },read:function (stream, buffer, offset, length, pos /* ignored */) { + if (!stream.tty || !stream.tty.ops.get_char) { + throw new FS.ErrnoError(ERRNO_CODES.ENXIO); + } + var bytesRead = 0; + for (var i = 0; i < length; i++) { + var result; + try { + result = stream.tty.ops.get_char(stream.tty); + } catch (e) { + throw new FS.ErrnoError(ERRNO_CODES.EIO); + } + if (result === undefined && bytesRead === 0) { + throw new FS.ErrnoError(ERRNO_CODES.EAGAIN); + } + if (result === null || result === undefined) break; + bytesRead++; + buffer[offset+i] = result; + } + if (bytesRead) { + stream.node.timestamp = Date.now(); + } + return bytesRead; + },write:function (stream, buffer, offset, length, pos) { + if (!stream.tty || !stream.tty.ops.put_char) { + throw new FS.ErrnoError(ERRNO_CODES.ENXIO); + } + for (var i = 0; i < length; i++) { + try { + stream.tty.ops.put_char(stream.tty, buffer[offset+i]); + } catch (e) { + throw new FS.ErrnoError(ERRNO_CODES.EIO); + } + } + if (length) { + stream.node.timestamp = Date.now(); + } + return i; + }},default_tty_ops:{get_char:function (tty) { + if (!tty.input.length) { + var result = null; + if (ENVIRONMENT_IS_NODE) { + // we will read data by chunks of BUFSIZE + var BUFSIZE = 256; + var buf = new Buffer(BUFSIZE); + var bytesRead = 0; + + var isPosixPlatform = (process.platform != 'win32'); // Node doesn't offer a direct check, so test by exclusion + + var fd = process.stdin.fd; + if (isPosixPlatform) { + // Linux and Mac cannot use process.stdin.fd (which isn't set up as sync) + var usingDevice = false; + try { + fd = fs.openSync('/dev/stdin', 'r'); + usingDevice = true; + } catch (e) {} + } + + try { + bytesRead = fs.readSync(fd, buf, 0, BUFSIZE, null); + } catch(e) { + // Cross-platform differences: on Windows, reading EOF throws an exception, but on other OSes, + // reading EOF returns 0. Uniformize behavior by treating the EOF exception to return 0. + if (e.toString().indexOf('EOF') != -1) bytesRead = 0; + else throw e; + } + + if (usingDevice) { fs.closeSync(fd); } + if (bytesRead > 0) { + result = buf.slice(0, bytesRead).toString('utf-8'); + } else { + result = null; + } + + } else if (typeof window != 'undefined' && + typeof window.prompt == 'function') { + // Browser. + result = window.prompt('Input: '); // returns null on cancel + if (result !== null) { + result += '\n'; + } + } else if (typeof readline == 'function') { + // Command line. + result = readline(); + if (result !== null) { + result += '\n'; + } + } + if (!result) { + return null; + } + tty.input = intArrayFromString(result, true); + } + return tty.input.shift(); + },put_char:function (tty, val) { + if (val === null || val === 10) { + Module['print'](UTF8ArrayToString(tty.output, 0)); + tty.output = []; + } else { + if (val != 0) tty.output.push(val); // val == 0 would cut text output off in the middle. + } + },flush:function (tty) { + if (tty.output && tty.output.length > 0) { + Module['print'](UTF8ArrayToString(tty.output, 0)); + tty.output = []; + } + }},default_tty1_ops:{put_char:function (tty, val) { + if (val === null || val === 10) { + Module['printErr'](UTF8ArrayToString(tty.output, 0)); + tty.output = []; + } else { + if (val != 0) tty.output.push(val); + } + },flush:function (tty) { + if (tty.output && tty.output.length > 0) { + Module['printErr'](UTF8ArrayToString(tty.output, 0)); + tty.output = []; + } + }}}; + + var MEMFS={ops_table:null,mount:function (mount) { + return MEMFS.createNode(null, '/', 16384 | 511 /* 0777 */, 0); + },createNode:function (parent, name, mode, dev) { + if (FS.isBlkdev(mode) || FS.isFIFO(mode)) { + // no supported + throw new FS.ErrnoError(ERRNO_CODES.EPERM); + } + if (!MEMFS.ops_table) { + MEMFS.ops_table = { + dir: { + node: { + getattr: MEMFS.node_ops.getattr, + setattr: MEMFS.node_ops.setattr, + lookup: MEMFS.node_ops.lookup, + mknod: MEMFS.node_ops.mknod, + rename: MEMFS.node_ops.rename, + unlink: MEMFS.node_ops.unlink, + rmdir: MEMFS.node_ops.rmdir, + readdir: MEMFS.node_ops.readdir, + symlink: MEMFS.node_ops.symlink + }, + stream: { + llseek: MEMFS.stream_ops.llseek + } + }, + file: { + node: { + getattr: MEMFS.node_ops.getattr, + setattr: MEMFS.node_ops.setattr + }, + stream: { + llseek: MEMFS.stream_ops.llseek, + read: MEMFS.stream_ops.read, + write: MEMFS.stream_ops.write, + allocate: MEMFS.stream_ops.allocate, + mmap: MEMFS.stream_ops.mmap, + msync: MEMFS.stream_ops.msync + } + }, + link: { + node: { + getattr: MEMFS.node_ops.getattr, + setattr: MEMFS.node_ops.setattr, + readlink: MEMFS.node_ops.readlink + }, + stream: {} + }, + chrdev: { + node: { + getattr: MEMFS.node_ops.getattr, + setattr: MEMFS.node_ops.setattr + }, + stream: FS.chrdev_stream_ops + } + }; + } + var node = FS.createNode(parent, name, mode, dev); + if (FS.isDir(node.mode)) { + node.node_ops = MEMFS.ops_table.dir.node; + node.stream_ops = MEMFS.ops_table.dir.stream; + node.contents = {}; + } else if (FS.isFile(node.mode)) { + node.node_ops = MEMFS.ops_table.file.node; + node.stream_ops = MEMFS.ops_table.file.stream; + node.usedBytes = 0; // The actual number of bytes used in the typed array, as opposed to contents.length which gives the whole capacity. + // When the byte data of the file is populated, this will point to either a typed array, or a normal JS array. Typed arrays are preferred + // for performance, and used by default. However, typed arrays are not resizable like normal JS arrays are, so there is a small disk size + // penalty involved for appending file writes that continuously grow a file similar to std::vector capacity vs used -scheme. + node.contents = null; + } else if (FS.isLink(node.mode)) { + node.node_ops = MEMFS.ops_table.link.node; + node.stream_ops = MEMFS.ops_table.link.stream; + } else if (FS.isChrdev(node.mode)) { + node.node_ops = MEMFS.ops_table.chrdev.node; + node.stream_ops = MEMFS.ops_table.chrdev.stream; + } + node.timestamp = Date.now(); + // add the new node to the parent + if (parent) { + parent.contents[name] = node; + } + return node; + },getFileDataAsRegularArray:function (node) { + if (node.contents && node.contents.subarray) { + var arr = []; + for (var i = 0; i < node.usedBytes; ++i) arr.push(node.contents[i]); + return arr; // Returns a copy of the original data. + } + return node.contents; // No-op, the file contents are already in a JS array. Return as-is. + },getFileDataAsTypedArray:function (node) { + if (!node.contents) return new Uint8Array; + if (node.contents.subarray) return node.contents.subarray(0, node.usedBytes); // Make sure to not return excess unused bytes. + return new Uint8Array(node.contents); + },expandFileStorage:function (node, newCapacity) { + // If we are asked to expand the size of a file that already exists, revert to using a standard JS array to store the file + // instead of a typed array. This makes resizing the array more flexible because we can just .push() elements at the back to + // increase the size. + if (node.contents && node.contents.subarray && newCapacity > node.contents.length) { + node.contents = MEMFS.getFileDataAsRegularArray(node); + node.usedBytes = node.contents.length; // We might be writing to a lazy-loaded file which had overridden this property, so force-reset it. + } + + if (!node.contents || node.contents.subarray) { // Keep using a typed array if creating a new storage, or if old one was a typed array as well. + var prevCapacity = node.contents ? node.contents.length : 0; + if (prevCapacity >= newCapacity) return; // No need to expand, the storage was already large enough. + // Don't expand strictly to the given requested limit if it's only a very small increase, but instead geometrically grow capacity. + // For small filesizes (<1MB), perform size*2 geometric increase, but for large sizes, do a much more conservative size*1.125 increase to + // avoid overshooting the allocation cap by a very large margin. + var CAPACITY_DOUBLING_MAX = 1024 * 1024; + newCapacity = Math.max(newCapacity, (prevCapacity * (prevCapacity < CAPACITY_DOUBLING_MAX ? 2.0 : 1.125)) | 0); + if (prevCapacity != 0) newCapacity = Math.max(newCapacity, 256); // At minimum allocate 256b for each file when expanding. + var oldContents = node.contents; + node.contents = new Uint8Array(newCapacity); // Allocate new storage. + if (node.usedBytes > 0) node.contents.set(oldContents.subarray(0, node.usedBytes), 0); // Copy old data over to the new storage. + return; + } + // Not using a typed array to back the file storage. Use a standard JS array instead. + if (!node.contents && newCapacity > 0) node.contents = []; + while (node.contents.length < newCapacity) node.contents.push(0); + },resizeFileStorage:function (node, newSize) { + if (node.usedBytes == newSize) return; + if (newSize == 0) { + node.contents = null; // Fully decommit when requesting a resize to zero. + node.usedBytes = 0; + return; + } + if (!node.contents || node.contents.subarray) { // Resize a typed array if that is being used as the backing store. + var oldContents = node.contents; + node.contents = new Uint8Array(new ArrayBuffer(newSize)); // Allocate new storage. + if (oldContents) { + node.contents.set(oldContents.subarray(0, Math.min(newSize, node.usedBytes))); // Copy old data over to the new storage. + } + node.usedBytes = newSize; + return; + } + // Backing with a JS array. + if (!node.contents) node.contents = []; + if (node.contents.length > newSize) node.contents.length = newSize; + else while (node.contents.length < newSize) node.contents.push(0); + node.usedBytes = newSize; + },node_ops:{getattr:function (node) { + var attr = {}; + // device numbers reuse inode numbers. + attr.dev = FS.isChrdev(node.mode) ? node.id : 1; + attr.ino = node.id; + attr.mode = node.mode; + attr.nlink = 1; + attr.uid = 0; + attr.gid = 0; + attr.rdev = node.rdev; + if (FS.isDir(node.mode)) { + attr.size = 4096; + } else if (FS.isFile(node.mode)) { + attr.size = node.usedBytes; + } else if (FS.isLink(node.mode)) { + attr.size = node.link.length; + } else { + attr.size = 0; + } + attr.atime = new Date(node.timestamp); + attr.mtime = new Date(node.timestamp); + attr.ctime = new Date(node.timestamp); + // NOTE: In our implementation, st_blocks = Math.ceil(st_size/st_blksize), + // but this is not required by the standard. + attr.blksize = 4096; + attr.blocks = Math.ceil(attr.size / attr.blksize); + return attr; + },setattr:function (node, attr) { + if (attr.mode !== undefined) { + node.mode = attr.mode; + } + if (attr.timestamp !== undefined) { + node.timestamp = attr.timestamp; + } + if (attr.size !== undefined) { + MEMFS.resizeFileStorage(node, attr.size); + } + },lookup:function (parent, name) { + throw FS.genericErrors[ERRNO_CODES.ENOENT]; + },mknod:function (parent, name, mode, dev) { + return MEMFS.createNode(parent, name, mode, dev); + },rename:function (old_node, new_dir, new_name) { + // if we're overwriting a directory at new_name, make sure it's empty. + if (FS.isDir(old_node.mode)) { + var new_node; + try { + new_node = FS.lookupNode(new_dir, new_name); + } catch (e) { + } + if (new_node) { + for (var i in new_node.contents) { + throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY); + } + } + } + // do the internal rewiring + delete old_node.parent.contents[old_node.name]; + old_node.name = new_name; + new_dir.contents[new_name] = old_node; + old_node.parent = new_dir; + },unlink:function (parent, name) { + delete parent.contents[name]; + },rmdir:function (parent, name) { + var node = FS.lookupNode(parent, name); + for (var i in node.contents) { + throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY); + } + delete parent.contents[name]; + },readdir:function (node) { + var entries = ['.', '..'] + for (var key in node.contents) { + if (!node.contents.hasOwnProperty(key)) { + continue; + } + entries.push(key); + } + return entries; + },symlink:function (parent, newname, oldpath) { + var node = MEMFS.createNode(parent, newname, 511 /* 0777 */ | 40960, 0); + node.link = oldpath; + return node; + },readlink:function (node) { + if (!FS.isLink(node.mode)) { + throw new FS.ErrnoError(ERRNO_CODES.EINVAL); + } + return node.link; + }},stream_ops:{read:function (stream, buffer, offset, length, position) { + var contents = stream.node.contents; + if (position >= stream.node.usedBytes) return 0; + var size = Math.min(stream.node.usedBytes - position, length); + assert(size >= 0); + if (size > 8 && contents.subarray) { // non-trivial, and typed array + buffer.set(contents.subarray(position, position + size), offset); + } else { + for (var i = 0; i < size; i++) buffer[offset + i] = contents[position + i]; + } + return size; + },write:function (stream, buffer, offset, length, position, canOwn) { + if (!length) return 0; + var node = stream.node; + node.timestamp = Date.now(); + + if (buffer.subarray && (!node.contents || node.contents.subarray)) { // This write is from a typed array to a typed array? + if (canOwn) { + assert(position === 0, 'canOwn must imply no weird position inside the file'); + node.contents = buffer.subarray(offset, offset + length); + node.usedBytes = length; + return length; + } else if (node.usedBytes === 0 && position === 0) { // If this is a simple first write to an empty file, do a fast set since we don't need to care about old data. + node.contents = new Uint8Array(buffer.subarray(offset, offset + length)); + node.usedBytes = length; + return length; + } else if (position + length <= node.usedBytes) { // Writing to an already allocated and used subrange of the file? + node.contents.set(buffer.subarray(offset, offset + length), position); + return length; + } + } + + // Appending to an existing file and we need to reallocate, or source data did not come as a typed array. + MEMFS.expandFileStorage(node, position+length); + if (node.contents.subarray && buffer.subarray) node.contents.set(buffer.subarray(offset, offset + length), position); // Use typed array write if available. + else { + for (var i = 0; i < length; i++) { + node.contents[position + i] = buffer[offset + i]; // Or fall back to manual write if not. + } + } + node.usedBytes = Math.max(node.usedBytes, position+length); + return length; + },llseek:function (stream, offset, whence) { + var position = offset; + if (whence === 1) { // SEEK_CUR. + position += stream.position; + } else if (whence === 2) { // SEEK_END. + if (FS.isFile(stream.node.mode)) { + position += stream.node.usedBytes; + } + } + if (position < 0) { + throw new FS.ErrnoError(ERRNO_CODES.EINVAL); + } + return position; + },allocate:function (stream, offset, length) { + MEMFS.expandFileStorage(stream.node, offset + length); + stream.node.usedBytes = Math.max(stream.node.usedBytes, offset + length); + },mmap:function (stream, buffer, offset, length, position, prot, flags) { + if (!FS.isFile(stream.node.mode)) { + throw new FS.ErrnoError(ERRNO_CODES.ENODEV); + } + var ptr; + var allocated; + var contents = stream.node.contents; + // Only make a new copy when MAP_PRIVATE is specified. + if ( !(flags & 2) && + (contents.buffer === buffer || contents.buffer === buffer.buffer) ) { + // We can't emulate MAP_SHARED when the file is not backed by the buffer + // we're mapping to (e.g. the HEAP buffer). + allocated = false; + ptr = contents.byteOffset; + } else { + // Try to avoid unnecessary slices. + if (position > 0 || position + length < stream.node.usedBytes) { + if (contents.subarray) { + contents = contents.subarray(position, position + length); + } else { + contents = Array.prototype.slice.call(contents, position, position + length); + } + } + allocated = true; + ptr = _malloc(length); + if (!ptr) { + throw new FS.ErrnoError(ERRNO_CODES.ENOMEM); + } + buffer.set(contents, ptr); + } + return { ptr: ptr, allocated: allocated }; + },msync:function (stream, buffer, offset, length, mmapFlags) { + if (!FS.isFile(stream.node.mode)) { + throw new FS.ErrnoError(ERRNO_CODES.ENODEV); + } + if (mmapFlags & 2) { + // MAP_PRIVATE calls need not to be synced back to underlying fs + return 0; + } + + var bytesWritten = MEMFS.stream_ops.write(stream, buffer, 0, length, offset, false); + // should we check if bytesWritten and length are the same? + return 0; + }}}; + + var IDBFS={dbs:{},indexedDB:function () { + if (typeof indexedDB !== 'undefined') return indexedDB; + var ret = null; + if (typeof window === 'object') ret = window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB; + assert(ret, 'IDBFS used, but indexedDB not supported'); + return ret; + },DB_VERSION:21,DB_STORE_NAME:"FILE_DATA",mount:function (mount) { + // reuse all of the core MEMFS functionality + return MEMFS.mount.apply(null, arguments); + },syncfs:function (mount, populate, callback) { + IDBFS.getLocalSet(mount, function(err, local) { + if (err) return callback(err); + + IDBFS.getRemoteSet(mount, function(err, remote) { + if (err) return callback(err); + + var src = populate ? remote : local; + var dst = populate ? local : remote; + + IDBFS.reconcile(src, dst, callback); + }); + }); + },getDB:function (name, callback) { + // check the cache first + var db = IDBFS.dbs[name]; + if (db) { + return callback(null, db); + } + + var req; + try { + req = IDBFS.indexedDB().open(name, IDBFS.DB_VERSION); + } catch (e) { + return callback(e); + } + if (!req) { + return callback("Unable to connect to IndexedDB"); + } + req.onupgradeneeded = function(e) { + var db = e.target.result; + var transaction = e.target.transaction; + + var fileStore; + + if (db.objectStoreNames.contains(IDBFS.DB_STORE_NAME)) { + fileStore = transaction.objectStore(IDBFS.DB_STORE_NAME); + } else { + fileStore = db.createObjectStore(IDBFS.DB_STORE_NAME); + } + + if (!fileStore.indexNames.contains('timestamp')) { + fileStore.createIndex('timestamp', 'timestamp', { unique: false }); + } + }; + req.onsuccess = function() { + db = req.result; + + // add to the cache + IDBFS.dbs[name] = db; + callback(null, db); + }; + req.onerror = function(e) { + callback(this.error); + e.preventDefault(); + }; + },getLocalSet:function (mount, callback) { + var entries = {}; + + function isRealDir(p) { + return p !== '.' && p !== '..'; + }; + function toAbsolute(root) { + return function(p) { + return PATH.join2(root, p); + } + }; + + var check = FS.readdir(mount.mountpoint).filter(isRealDir).map(toAbsolute(mount.mountpoint)); + + while (check.length) { + var path = check.pop(); + var stat; + + try { + stat = FS.stat(path); + } catch (e) { + return callback(e); + } + + if (FS.isDir(stat.mode)) { + check.push.apply(check, FS.readdir(path).filter(isRealDir).map(toAbsolute(path))); + } + + entries[path] = { timestamp: stat.mtime }; + } + + return callback(null, { type: 'local', entries: entries }); + },getRemoteSet:function (mount, callback) { + var entries = {}; + + IDBFS.getDB(mount.mountpoint, function(err, db) { + if (err) return callback(err); + + var transaction = db.transaction([IDBFS.DB_STORE_NAME], 'readonly'); + transaction.onerror = function(e) { + callback(this.error); + e.preventDefault(); + }; + + var store = transaction.objectStore(IDBFS.DB_STORE_NAME); + var index = store.index('timestamp'); + + index.openKeyCursor().onsuccess = function(event) { + var cursor = event.target.result; + + if (!cursor) { + return callback(null, { type: 'remote', db: db, entries: entries }); + } + + entries[cursor.primaryKey] = { timestamp: cursor.key }; + + cursor.continue(); + }; + }); + },loadLocalEntry:function (path, callback) { + var stat, node; + + try { + var lookup = FS.lookupPath(path); + node = lookup.node; + stat = FS.stat(path); + } catch (e) { + return callback(e); + } + + if (FS.isDir(stat.mode)) { + return callback(null, { timestamp: stat.mtime, mode: stat.mode }); + } else if (FS.isFile(stat.mode)) { + // Performance consideration: storing a normal JavaScript array to a IndexedDB is much slower than storing a typed array. + // Therefore always convert the file contents to a typed array first before writing the data to IndexedDB. + node.contents = MEMFS.getFileDataAsTypedArray(node); + return callback(null, { timestamp: stat.mtime, mode: stat.mode, contents: node.contents }); + } else { + return callback(new Error('node type not supported')); + } + },storeLocalEntry:function (path, entry, callback) { + try { + if (FS.isDir(entry.mode)) { + FS.mkdir(path, entry.mode); + } else if (FS.isFile(entry.mode)) { + FS.writeFile(path, entry.contents, { encoding: 'binary', canOwn: true }); + } else { + return callback(new Error('node type not supported')); + } + + FS.chmod(path, entry.mode); + FS.utime(path, entry.timestamp, entry.timestamp); + } catch (e) { + return callback(e); + } + + callback(null); + },removeLocalEntry:function (path, callback) { + try { + var lookup = FS.lookupPath(path); + var stat = FS.stat(path); + + if (FS.isDir(stat.mode)) { + FS.rmdir(path); + } else if (FS.isFile(stat.mode)) { + FS.unlink(path); + } + } catch (e) { + return callback(e); + } + + callback(null); + },loadRemoteEntry:function (store, path, callback) { + var req = store.get(path); + req.onsuccess = function(event) { callback(null, event.target.result); }; + req.onerror = function(e) { + callback(this.error); + e.preventDefault(); + }; + },storeRemoteEntry:function (store, path, entry, callback) { + var req = store.put(entry, path); + req.onsuccess = function() { callback(null); }; + req.onerror = function(e) { + callback(this.error); + e.preventDefault(); + }; + },removeRemoteEntry:function (store, path, callback) { + var req = store.delete(path); + req.onsuccess = function() { callback(null); }; + req.onerror = function(e) { + callback(this.error); + e.preventDefault(); + }; + },reconcile:function (src, dst, callback) { + var total = 0; + + var create = []; + Object.keys(src.entries).forEach(function (key) { + var e = src.entries[key]; + var e2 = dst.entries[key]; + if (!e2 || e.timestamp > e2.timestamp) { + create.push(key); + total++; + } + }); + + var remove = []; + Object.keys(dst.entries).forEach(function (key) { + var e = dst.entries[key]; + var e2 = src.entries[key]; + if (!e2) { + remove.push(key); + total++; + } + }); + + if (!total) { + return callback(null); + } + + var errored = false; + var completed = 0; + var db = src.type === 'remote' ? src.db : dst.db; + var transaction = db.transaction([IDBFS.DB_STORE_NAME], 'readwrite'); + var store = transaction.objectStore(IDBFS.DB_STORE_NAME); + + function done(err) { + if (err) { + if (!done.errored) { + done.errored = true; + return callback(err); + } + return; + } + if (++completed >= total) { + return callback(null); + } + }; + + transaction.onerror = function(e) { + done(this.error); + e.preventDefault(); + }; + + // sort paths in ascending order so directory entries are created + // before the files inside them + create.sort().forEach(function (path) { + if (dst.type === 'local') { + IDBFS.loadRemoteEntry(store, path, function (err, entry) { + if (err) return done(err); + IDBFS.storeLocalEntry(path, entry, done); + }); + } else { + IDBFS.loadLocalEntry(path, function (err, entry) { + if (err) return done(err); + IDBFS.storeRemoteEntry(store, path, entry, done); + }); + } + }); + + // sort paths in descending order so files are deleted before their + // parent directories + remove.sort().reverse().forEach(function(path) { + if (dst.type === 'local') { + IDBFS.removeLocalEntry(path, done); + } else { + IDBFS.removeRemoteEntry(store, path, done); + } + }); + }}; + + var NODEFS={isWindows:false,staticInit:function () { + NODEFS.isWindows = !!process.platform.match(/^win/); + },mount:function (mount) { + assert(ENVIRONMENT_IS_NODE); + return NODEFS.createNode(null, '/', NODEFS.getMode(mount.opts.root), 0); + },createNode:function (parent, name, mode, dev) { + if (!FS.isDir(mode) && !FS.isFile(mode) && !FS.isLink(mode)) { + throw new FS.ErrnoError(ERRNO_CODES.EINVAL); + } + var node = FS.createNode(parent, name, mode); + node.node_ops = NODEFS.node_ops; + node.stream_ops = NODEFS.stream_ops; + return node; + },getMode:function (path) { + var stat; + try { + stat = fs.lstatSync(path); + if (NODEFS.isWindows) { + // On Windows, directories return permission bits 'rw-rw-rw-', even though they have 'rwxrwxrwx', so + // propagate write bits to execute bits. + stat.mode = stat.mode | ((stat.mode & 146) >> 1); + } + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(ERRNO_CODES[e.code]); + } + return stat.mode; + },realPath:function (node) { + var parts = []; + while (node.parent !== node) { + parts.push(node.name); + node = node.parent; + } + parts.push(node.mount.opts.root); + parts.reverse(); + return PATH.join.apply(null, parts); + },flagsToPermissionStringMap:{0:"r",1:"r+",2:"r+",64:"r",65:"r+",66:"r+",129:"rx+",193:"rx+",514:"w+",577:"w",578:"w+",705:"wx",706:"wx+",1024:"a",1025:"a",1026:"a+",1089:"a",1090:"a+",1153:"ax",1154:"ax+",1217:"ax",1218:"ax+",4096:"rs",4098:"rs+"},flagsToPermissionString:function (flags) { + flags &= ~0x200000 /*O_PATH*/; // Ignore this flag from musl, otherwise node.js fails to open the file. + flags &= ~0x800 /*O_NONBLOCK*/; // Ignore this flag from musl, otherwise node.js fails to open the file. + flags &= ~0x8000 /*O_LARGEFILE*/; // Ignore this flag from musl, otherwise node.js fails to open the file. + flags &= ~0x80000 /*O_CLOEXEC*/; // Some applications may pass it; it makes no sense for a single process. + if (flags in NODEFS.flagsToPermissionStringMap) { + return NODEFS.flagsToPermissionStringMap[flags]; + } else { + throw new FS.ErrnoError(ERRNO_CODES.EINVAL); + } + },node_ops:{getattr:function (node) { + var path = NODEFS.realPath(node); + var stat; + try { + stat = fs.lstatSync(path); + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(ERRNO_CODES[e.code]); + } + // node.js v0.10.20 doesn't report blksize and blocks on Windows. Fake them with default blksize of 4096. + // See http://support.microsoft.com/kb/140365 + if (NODEFS.isWindows && !stat.blksize) { + stat.blksize = 4096; + } + if (NODEFS.isWindows && !stat.blocks) { + stat.blocks = (stat.size+stat.blksize-1)/stat.blksize|0; + } + return { + dev: stat.dev, + ino: stat.ino, + mode: stat.mode, + nlink: stat.nlink, + uid: stat.uid, + gid: stat.gid, + rdev: stat.rdev, + size: stat.size, + atime: stat.atime, + mtime: stat.mtime, + ctime: stat.ctime, + blksize: stat.blksize, + blocks: stat.blocks + }; + },setattr:function (node, attr) { + var path = NODEFS.realPath(node); + try { + if (attr.mode !== undefined) { + fs.chmodSync(path, attr.mode); + // update the common node structure mode as well + node.mode = attr.mode; + } + if (attr.timestamp !== undefined) { + var date = new Date(attr.timestamp); + fs.utimesSync(path, date, date); + } + if (attr.size !== undefined) { + fs.truncateSync(path, attr.size); + } + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(ERRNO_CODES[e.code]); + } + },lookup:function (parent, name) { + var path = PATH.join2(NODEFS.realPath(parent), name); + var mode = NODEFS.getMode(path); + return NODEFS.createNode(parent, name, mode); + },mknod:function (parent, name, mode, dev) { + var node = NODEFS.createNode(parent, name, mode, dev); + // create the backing node for this in the fs root as well + var path = NODEFS.realPath(node); + try { + if (FS.isDir(node.mode)) { + fs.mkdirSync(path, node.mode); + } else { + fs.writeFileSync(path, '', { mode: node.mode }); + } + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(ERRNO_CODES[e.code]); + } + return node; + },rename:function (oldNode, newDir, newName) { + var oldPath = NODEFS.realPath(oldNode); + var newPath = PATH.join2(NODEFS.realPath(newDir), newName); + try { + fs.renameSync(oldPath, newPath); + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(ERRNO_CODES[e.code]); + } + },unlink:function (parent, name) { + var path = PATH.join2(NODEFS.realPath(parent), name); + try { + fs.unlinkSync(path); + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(ERRNO_CODES[e.code]); + } + },rmdir:function (parent, name) { + var path = PATH.join2(NODEFS.realPath(parent), name); + try { + fs.rmdirSync(path); + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(ERRNO_CODES[e.code]); + } + },readdir:function (node) { + var path = NODEFS.realPath(node); + try { + return fs.readdirSync(path); + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(ERRNO_CODES[e.code]); + } + },symlink:function (parent, newName, oldPath) { + var newPath = PATH.join2(NODEFS.realPath(parent), newName); + try { + fs.symlinkSync(oldPath, newPath); + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(ERRNO_CODES[e.code]); + } + },readlink:function (node) { + var path = NODEFS.realPath(node); + try { + path = fs.readlinkSync(path); + path = NODEJS_PATH.relative(NODEJS_PATH.resolve(node.mount.opts.root), path); + return path; + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(ERRNO_CODES[e.code]); + } + }},stream_ops:{open:function (stream) { + var path = NODEFS.realPath(stream.node); + try { + if (FS.isFile(stream.node.mode)) { + stream.nfd = fs.openSync(path, NODEFS.flagsToPermissionString(stream.flags)); + } + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(ERRNO_CODES[e.code]); + } + },close:function (stream) { + try { + if (FS.isFile(stream.node.mode) && stream.nfd) { + fs.closeSync(stream.nfd); + } + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(ERRNO_CODES[e.code]); + } + },read:function (stream, buffer, offset, length, position) { + if (length === 0) return 0; // node errors on 0 length reads + // FIXME this is terrible. + var nbuffer = new Buffer(length); + var res; + try { + res = fs.readSync(stream.nfd, nbuffer, 0, length, position); + } catch (e) { + throw new FS.ErrnoError(ERRNO_CODES[e.code]); + } + if (res > 0) { + for (var i = 0; i < res; i++) { + buffer[offset + i] = nbuffer[i]; + } + } + return res; + },write:function (stream, buffer, offset, length, position) { + // FIXME this is terrible. + var nbuffer = new Buffer(buffer.subarray(offset, offset + length)); + var res; + try { + res = fs.writeSync(stream.nfd, nbuffer, 0, length, position); + } catch (e) { + throw new FS.ErrnoError(ERRNO_CODES[e.code]); + } + return res; + },llseek:function (stream, offset, whence) { + var position = offset; + if (whence === 1) { // SEEK_CUR. + position += stream.position; + } else if (whence === 2) { // SEEK_END. + if (FS.isFile(stream.node.mode)) { + try { + var stat = fs.fstatSync(stream.nfd); + position += stat.size; + } catch (e) { + throw new FS.ErrnoError(ERRNO_CODES[e.code]); + } + } + } + + if (position < 0) { + throw new FS.ErrnoError(ERRNO_CODES.EINVAL); + } + + return position; + }}}; + + var WORKERFS={DIR_MODE:16895,FILE_MODE:33279,reader:null,mount:function (mount) { + assert(ENVIRONMENT_IS_WORKER); + if (!WORKERFS.reader) WORKERFS.reader = new FileReaderSync(); + var root = WORKERFS.createNode(null, '/', WORKERFS.DIR_MODE, 0); + var createdParents = {}; + function ensureParent(path) { + // return the parent node, creating subdirs as necessary + var parts = path.split('/'); + var parent = root; + for (var i = 0; i < parts.length-1; i++) { + var curr = parts.slice(0, i+1).join('/'); + // Issue 4254: Using curr as a node name will prevent the node + // from being found in FS.nameTable when FS.open is called on + // a path which holds a child of this node, + // given that all FS functions assume node names + // are just their corresponding parts within their given path, + // rather than incremental aggregates which include their parent's + // directories. + if (!createdParents[curr]) { + createdParents[curr] = WORKERFS.createNode(parent, parts[i], WORKERFS.DIR_MODE, 0); + } + parent = createdParents[curr]; + } + return parent; + } + function base(path) { + var parts = path.split('/'); + return parts[parts.length-1]; + } + // We also accept FileList here, by using Array.prototype + Array.prototype.forEach.call(mount.opts["files"] || [], function(file) { + WORKERFS.createNode(ensureParent(file.name), base(file.name), WORKERFS.FILE_MODE, 0, file, file.lastModifiedDate); + }); + (mount.opts["blobs"] || []).forEach(function(obj) { + WORKERFS.createNode(ensureParent(obj["name"]), base(obj["name"]), WORKERFS.FILE_MODE, 0, obj["data"]); + }); + (mount.opts["packages"] || []).forEach(function(pack) { + pack['metadata'].files.forEach(function(file) { + var name = file.filename.substr(1); // remove initial slash + WORKERFS.createNode(ensureParent(name), base(name), WORKERFS.FILE_MODE, 0, pack['blob'].slice(file.start, file.end)); + }); + }); + return root; + },createNode:function (parent, name, mode, dev, contents, mtime) { + var node = FS.createNode(parent, name, mode); + node.mode = mode; + node.node_ops = WORKERFS.node_ops; + node.stream_ops = WORKERFS.stream_ops; + node.timestamp = (mtime || new Date).getTime(); + assert(WORKERFS.FILE_MODE !== WORKERFS.DIR_MODE); + if (mode === WORKERFS.FILE_MODE) { + node.size = contents.size; + node.contents = contents; + } else { + node.size = 4096; + node.contents = {}; + } + if (parent) { + parent.contents[name] = node; + } + return node; + },node_ops:{getattr:function (node) { + return { + dev: 1, + ino: undefined, + mode: node.mode, + nlink: 1, + uid: 0, + gid: 0, + rdev: undefined, + size: node.size, + atime: new Date(node.timestamp), + mtime: new Date(node.timestamp), + ctime: new Date(node.timestamp), + blksize: 4096, + blocks: Math.ceil(node.size / 4096), + }; + },setattr:function (node, attr) { + if (attr.mode !== undefined) { + node.mode = attr.mode; + } + if (attr.timestamp !== undefined) { + node.timestamp = attr.timestamp; + } + },lookup:function (parent, name) { + throw new FS.ErrnoError(ERRNO_CODES.ENOENT); + },mknod:function (parent, name, mode, dev) { + throw new FS.ErrnoError(ERRNO_CODES.EPERM); + },rename:function (oldNode, newDir, newName) { + throw new FS.ErrnoError(ERRNO_CODES.EPERM); + },unlink:function (parent, name) { + throw new FS.ErrnoError(ERRNO_CODES.EPERM); + },rmdir:function (parent, name) { + throw new FS.ErrnoError(ERRNO_CODES.EPERM); + },readdir:function (node) { + var entries = ['.', '..']; + for (var key in node.contents) { + if (!node.contents.hasOwnProperty(key)) { + continue; + } + entries.push(key); + } + return entries; + },symlink:function (parent, newName, oldPath) { + throw new FS.ErrnoError(ERRNO_CODES.EPERM); + },readlink:function (node) { + throw new FS.ErrnoError(ERRNO_CODES.EPERM); + }},stream_ops:{read:function (stream, buffer, offset, length, position) { + if (position >= stream.node.size) return 0; + var chunk = stream.node.contents.slice(position, position + length); + var ab = WORKERFS.reader.readAsArrayBuffer(chunk); + buffer.set(new Uint8Array(ab), offset); + return chunk.size; + },write:function (stream, buffer, offset, length, position) { + throw new FS.ErrnoError(ERRNO_CODES.EIO); + },llseek:function (stream, offset, whence) { + var position = offset; + if (whence === 1) { // SEEK_CUR. + position += stream.position; + } else if (whence === 2) { // SEEK_END. + if (FS.isFile(stream.node.mode)) { + position += stream.node.size; + } + } + if (position < 0) { + throw new FS.ErrnoError(ERRNO_CODES.EINVAL); + } + return position; + }}}; + + var _stdin=STATICTOP; STATICTOP += 16;; + + var _stdout=STATICTOP; STATICTOP += 16;; + + var _stderr=STATICTOP; STATICTOP += 16;;var FS={root:null,mounts:[],devices:[null],streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,handleFSError:function (e) { + if (!(e instanceof FS.ErrnoError)) throw e + ' : ' + stackTrace(); + return ___setErrNo(e.errno); + },lookupPath:function (path, opts) { + path = PATH.resolve(FS.cwd(), path); + opts = opts || {}; + + if (!path) return { path: '', node: null }; + + var defaults = { + follow_mount: true, + recurse_count: 0 + }; + for (var key in defaults) { + if (opts[key] === undefined) { + opts[key] = defaults[key]; + } + } + + if (opts.recurse_count > 8) { // max recursive lookup of 8 + throw new FS.ErrnoError(ERRNO_CODES.ELOOP); + } + + // split the path + var parts = PATH.normalizeArray(path.split('/').filter(function(p) { + return !!p; + }), false); + + // start at the root + var current = FS.root; + var current_path = '/'; + + for (var i = 0; i < parts.length; i++) { + var islast = (i === parts.length-1); + if (islast && opts.parent) { + // stop resolving + break; + } + + current = FS.lookupNode(current, parts[i]); + current_path = PATH.join2(current_path, parts[i]); + + // jump to the mount's root node if this is a mountpoint + if (FS.isMountpoint(current)) { + if (!islast || (islast && opts.follow_mount)) { + current = current.mounted.root; + } + } + + // by default, lookupPath will not follow a symlink if it is the final path component. + // setting opts.follow = true will override this behavior. + if (!islast || opts.follow) { + var count = 0; + while (FS.isLink(current.mode)) { + var link = FS.readlink(current_path); + current_path = PATH.resolve(PATH.dirname(current_path), link); + + var lookup = FS.lookupPath(current_path, { recurse_count: opts.recurse_count }); + current = lookup.node; + + if (count++ > 40) { // limit max consecutive symlinks to 40 (SYMLOOP_MAX). + throw new FS.ErrnoError(ERRNO_CODES.ELOOP); + } + } + } + } + + return { path: current_path, node: current }; + },getPath:function (node) { + var path; + while (true) { + if (FS.isRoot(node)) { + var mount = node.mount.mountpoint; + if (!path) return mount; + return mount[mount.length-1] !== '/' ? mount + '/' + path : mount + path; + } + path = path ? node.name + '/' + path : node.name; + node = node.parent; + } + },hashName:function (parentid, name) { + var hash = 0; + + + for (var i = 0; i < name.length; i++) { + hash = ((hash << 5) - hash + name.charCodeAt(i)) | 0; + } + return ((parentid + hash) >>> 0) % FS.nameTable.length; + },hashAddNode:function (node) { + var hash = FS.hashName(node.parent.id, node.name); + node.name_next = FS.nameTable[hash]; + FS.nameTable[hash] = node; + },hashRemoveNode:function (node) { + var hash = FS.hashName(node.parent.id, node.name); + if (FS.nameTable[hash] === node) { + FS.nameTable[hash] = node.name_next; + } else { + var current = FS.nameTable[hash]; + while (current) { + if (current.name_next === node) { + current.name_next = node.name_next; + break; + } + current = current.name_next; + } + } + },lookupNode:function (parent, name) { + var err = FS.mayLookup(parent); + if (err) { + throw new FS.ErrnoError(err, parent); + } + var hash = FS.hashName(parent.id, name); + for (var node = FS.nameTable[hash]; node; node = node.name_next) { + var nodeName = node.name; + if (node.parent.id === parent.id && nodeName === name) { + return node; + } + } + // if we failed to find it in the cache, call into the VFS + return FS.lookup(parent, name); + },createNode:function (parent, name, mode, rdev) { + if (!FS.FSNode) { + FS.FSNode = function(parent, name, mode, rdev) { + if (!parent) { + parent = this; // root node sets parent to itself + } + this.parent = parent; + this.mount = parent.mount; + this.mounted = null; + this.id = FS.nextInode++; + this.name = name; + this.mode = mode; + this.node_ops = {}; + this.stream_ops = {}; + this.rdev = rdev; + }; + + FS.FSNode.prototype = {}; + + // compatibility + var readMode = 292 | 73; + var writeMode = 146; + + // NOTE we must use Object.defineProperties instead of individual calls to + // Object.defineProperty in order to make closure compiler happy + Object.defineProperties(FS.FSNode.prototype, { + read: { + get: function() { return (this.mode & readMode) === readMode; }, + set: function(val) { val ? this.mode |= readMode : this.mode &= ~readMode; } + }, + write: { + get: function() { return (this.mode & writeMode) === writeMode; }, + set: function(val) { val ? this.mode |= writeMode : this.mode &= ~writeMode; } + }, + isFolder: { + get: function() { return FS.isDir(this.mode); } + }, + isDevice: { + get: function() { return FS.isChrdev(this.mode); } + } + }); + } + + var node = new FS.FSNode(parent, name, mode, rdev); + + FS.hashAddNode(node); + + return node; + },destroyNode:function (node) { + FS.hashRemoveNode(node); + },isRoot:function (node) { + return node === node.parent; + },isMountpoint:function (node) { + return !!node.mounted; + },isFile:function (mode) { + return (mode & 61440) === 32768; + },isDir:function (mode) { + return (mode & 61440) === 16384; + },isLink:function (mode) { + return (mode & 61440) === 40960; + },isChrdev:function (mode) { + return (mode & 61440) === 8192; + },isBlkdev:function (mode) { + return (mode & 61440) === 24576; + },isFIFO:function (mode) { + return (mode & 61440) === 4096; + },isSocket:function (mode) { + return (mode & 49152) === 49152; + },flagModes:{"r":0,"rs":1052672,"r+":2,"w":577,"wx":705,"xw":705,"w+":578,"wx+":706,"xw+":706,"a":1089,"ax":1217,"xa":1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:function (str) { + var flags = FS.flagModes[str]; + if (typeof flags === 'undefined') { + throw new Error('Unknown file open mode: ' + str); + } + return flags; + },flagsToPermissionString:function (flag) { + var perms = ['r', 'w', 'rw'][flag & 3]; + if ((flag & 512)) { + perms += 'w'; + } + return perms; + },nodePermissions:function (node, perms) { + if (FS.ignorePermissions) { + return 0; + } + // return 0 if any user, group or owner bits are set. + if (perms.indexOf('r') !== -1 && !(node.mode & 292)) { + return ERRNO_CODES.EACCES; + } else if (perms.indexOf('w') !== -1 && !(node.mode & 146)) { + return ERRNO_CODES.EACCES; + } else if (perms.indexOf('x') !== -1 && !(node.mode & 73)) { + return ERRNO_CODES.EACCES; + } + return 0; + },mayLookup:function (dir) { + var err = FS.nodePermissions(dir, 'x'); + if (err) return err; + if (!dir.node_ops.lookup) return ERRNO_CODES.EACCES; + return 0; + },mayCreate:function (dir, name) { + try { + var node = FS.lookupNode(dir, name); + return ERRNO_CODES.EEXIST; + } catch (e) { + } + return FS.nodePermissions(dir, 'wx'); + },mayDelete:function (dir, name, isdir) { + var node; + try { + node = FS.lookupNode(dir, name); + } catch (e) { + return e.errno; + } + var err = FS.nodePermissions(dir, 'wx'); + if (err) { + return err; + } + if (isdir) { + if (!FS.isDir(node.mode)) { + return ERRNO_CODES.ENOTDIR; + } + if (FS.isRoot(node) || FS.getPath(node) === FS.cwd()) { + return ERRNO_CODES.EBUSY; + } + } else { + if (FS.isDir(node.mode)) { + return ERRNO_CODES.EISDIR; + } + } + return 0; + },mayOpen:function (node, flags) { + if (!node) { + return ERRNO_CODES.ENOENT; + } + if (FS.isLink(node.mode)) { + return ERRNO_CODES.ELOOP; + } else if (FS.isDir(node.mode)) { + if (FS.flagsToPermissionString(flags) !== 'r' || // opening for write + (flags & 512)) { // TODO: check for O_SEARCH? (== search for dir only) + return ERRNO_CODES.EISDIR; + } + } + return FS.nodePermissions(node, FS.flagsToPermissionString(flags)); + },MAX_OPEN_FDS:4096,nextfd:function (fd_start, fd_end) { + fd_start = fd_start || 0; + fd_end = fd_end || FS.MAX_OPEN_FDS; + for (var fd = fd_start; fd <= fd_end; fd++) { + if (!FS.streams[fd]) { + return fd; + } + } + throw new FS.ErrnoError(ERRNO_CODES.EMFILE); + },getStream:function (fd) { + return FS.streams[fd]; + },createStream:function (stream, fd_start, fd_end) { + if (!FS.FSStream) { + FS.FSStream = function(){}; + FS.FSStream.prototype = {}; + // compatibility + Object.defineProperties(FS.FSStream.prototype, { + object: { + get: function() { return this.node; }, + set: function(val) { this.node = val; } + }, + isRead: { + get: function() { return (this.flags & 2097155) !== 1; } + }, + isWrite: { + get: function() { return (this.flags & 2097155) !== 0; } + }, + isAppend: { + get: function() { return (this.flags & 1024); } + } + }); + } + // clone it, so we can return an instance of FSStream + var newStream = new FS.FSStream(); + for (var p in stream) { + newStream[p] = stream[p]; + } + stream = newStream; + var fd = FS.nextfd(fd_start, fd_end); + stream.fd = fd; + FS.streams[fd] = stream; + return stream; + },closeStream:function (fd) { + FS.streams[fd] = null; + },chrdev_stream_ops:{open:function (stream) { + var device = FS.getDevice(stream.node.rdev); + // override node's stream ops with the device's + stream.stream_ops = device.stream_ops; + // forward the open call + if (stream.stream_ops.open) { + stream.stream_ops.open(stream); + } + },llseek:function () { + throw new FS.ErrnoError(ERRNO_CODES.ESPIPE); + }},major:function (dev) { + return ((dev) >> 8); + },minor:function (dev) { + return ((dev) & 0xff); + },makedev:function (ma, mi) { + return ((ma) << 8 | (mi)); + },registerDevice:function (dev, ops) { + FS.devices[dev] = { stream_ops: ops }; + },getDevice:function (dev) { + return FS.devices[dev]; + },getMounts:function (mount) { + var mounts = []; + var check = [mount]; + + while (check.length) { + var m = check.pop(); + + mounts.push(m); + + check.push.apply(check, m.mounts); + } + + return mounts; + },syncfs:function (populate, callback) { + if (typeof(populate) === 'function') { + callback = populate; + populate = false; + } + + FS.syncFSRequests++; + + if (FS.syncFSRequests > 1) { + console.log('warning: ' + FS.syncFSRequests + ' FS.syncfs operations in flight at once, probably just doing extra work'); + } + + var mounts = FS.getMounts(FS.root.mount); + var completed = 0; + + function doCallback(err) { + assert(FS.syncFSRequests > 0); + FS.syncFSRequests--; + return callback(err); + } + + function done(err) { + if (err) { + if (!done.errored) { + done.errored = true; + return doCallback(err); + } + return; + } + if (++completed >= mounts.length) { + doCallback(null); + } + }; + + // sync all mounts + mounts.forEach(function (mount) { + if (!mount.type.syncfs) { + return done(null); + } + mount.type.syncfs(mount, populate, done); + }); + },mount:function (type, opts, mountpoint) { + var root = mountpoint === '/'; + var pseudo = !mountpoint; + var node; + + if (root && FS.root) { + throw new FS.ErrnoError(ERRNO_CODES.EBUSY); + } else if (!root && !pseudo) { + var lookup = FS.lookupPath(mountpoint, { follow_mount: false }); + + mountpoint = lookup.path; // use the absolute path + node = lookup.node; + + if (FS.isMountpoint(node)) { + throw new FS.ErrnoError(ERRNO_CODES.EBUSY); + } + + if (!FS.isDir(node.mode)) { + throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR); + } + } + + var mount = { + type: type, + opts: opts, + mountpoint: mountpoint, + mounts: [] + }; + + // create a root node for the fs + var mountRoot = type.mount(mount); + mountRoot.mount = mount; + mount.root = mountRoot; + + if (root) { + FS.root = mountRoot; + } else if (node) { + // set as a mountpoint + node.mounted = mount; + + // add the new mount to the current mount's children + if (node.mount) { + node.mount.mounts.push(mount); + } + } + + return mountRoot; + },unmount:function (mountpoint) { + var lookup = FS.lookupPath(mountpoint, { follow_mount: false }); + + if (!FS.isMountpoint(lookup.node)) { + throw new FS.ErrnoError(ERRNO_CODES.EINVAL); + } + + // destroy the nodes for this mount, and all its child mounts + var node = lookup.node; + var mount = node.mounted; + var mounts = FS.getMounts(mount); + + Object.keys(FS.nameTable).forEach(function (hash) { + var current = FS.nameTable[hash]; + + while (current) { + var next = current.name_next; + + if (mounts.indexOf(current.mount) !== -1) { + FS.destroyNode(current); + } + + current = next; + } + }); + + // no longer a mountpoint + node.mounted = null; + + // remove this mount from the child mounts + var idx = node.mount.mounts.indexOf(mount); + assert(idx !== -1); + node.mount.mounts.splice(idx, 1); + },lookup:function (parent, name) { + return parent.node_ops.lookup(parent, name); + },mknod:function (path, mode, dev) { + var lookup = FS.lookupPath(path, { parent: true }); + var parent = lookup.node; + var name = PATH.basename(path); + if (!name || name === '.' || name === '..') { + throw new FS.ErrnoError(ERRNO_CODES.EINVAL); + } + var err = FS.mayCreate(parent, name); + if (err) { + throw new FS.ErrnoError(err); + } + if (!parent.node_ops.mknod) { + throw new FS.ErrnoError(ERRNO_CODES.EPERM); + } + return parent.node_ops.mknod(parent, name, mode, dev); + },create:function (path, mode) { + mode = mode !== undefined ? mode : 438 /* 0666 */; + mode &= 4095; + mode |= 32768; + return FS.mknod(path, mode, 0); + },mkdir:function (path, mode) { + mode = mode !== undefined ? mode : 511 /* 0777 */; + mode &= 511 | 512; + mode |= 16384; + return FS.mknod(path, mode, 0); + },mkdirTree:function (path, mode) { + var dirs = path.split('/'); + var d = ''; + for (var i = 0; i < dirs.length; ++i) { + if (!dirs[i]) continue; + d += '/' + dirs[i]; + try { + FS.mkdir(d, mode); + } catch(e) { + if (e.errno != ERRNO_CODES.EEXIST) throw e; + } + } + },mkdev:function (path, mode, dev) { + if (typeof(dev) === 'undefined') { + dev = mode; + mode = 438 /* 0666 */; + } + mode |= 8192; + return FS.mknod(path, mode, dev); + },symlink:function (oldpath, newpath) { + if (!PATH.resolve(oldpath)) { + throw new FS.ErrnoError(ERRNO_CODES.ENOENT); + } + var lookup = FS.lookupPath(newpath, { parent: true }); + var parent = lookup.node; + if (!parent) { + throw new FS.ErrnoError(ERRNO_CODES.ENOENT); + } + var newname = PATH.basename(newpath); + var err = FS.mayCreate(parent, newname); + if (err) { + throw new FS.ErrnoError(err); + } + if (!parent.node_ops.symlink) { + throw new FS.ErrnoError(ERRNO_CODES.EPERM); + } + return parent.node_ops.symlink(parent, newname, oldpath); + },rename:function (old_path, new_path) { + var old_dirname = PATH.dirname(old_path); + var new_dirname = PATH.dirname(new_path); + var old_name = PATH.basename(old_path); + var new_name = PATH.basename(new_path); + // parents must exist + var lookup, old_dir, new_dir; + try { + lookup = FS.lookupPath(old_path, { parent: true }); + old_dir = lookup.node; + lookup = FS.lookupPath(new_path, { parent: true }); + new_dir = lookup.node; + } catch (e) { + throw new FS.ErrnoError(ERRNO_CODES.EBUSY); + } + if (!old_dir || !new_dir) throw new FS.ErrnoError(ERRNO_CODES.ENOENT); + // need to be part of the same mount + if (old_dir.mount !== new_dir.mount) { + throw new FS.ErrnoError(ERRNO_CODES.EXDEV); + } + // source must exist + var old_node = FS.lookupNode(old_dir, old_name); + // old path should not be an ancestor of the new path + var relative = PATH.relative(old_path, new_dirname); + if (relative.charAt(0) !== '.') { + throw new FS.ErrnoError(ERRNO_CODES.EINVAL); + } + // new path should not be an ancestor of the old path + relative = PATH.relative(new_path, old_dirname); + if (relative.charAt(0) !== '.') { + throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY); + } + // see if the new path already exists + var new_node; + try { + new_node = FS.lookupNode(new_dir, new_name); + } catch (e) { + // not fatal + } + // early out if nothing needs to change + if (old_node === new_node) { + return; + } + // we'll need to delete the old entry + var isdir = FS.isDir(old_node.mode); + var err = FS.mayDelete(old_dir, old_name, isdir); + if (err) { + throw new FS.ErrnoError(err); + } + // need delete permissions if we'll be overwriting. + // need create permissions if new doesn't already exist. + err = new_node ? + FS.mayDelete(new_dir, new_name, isdir) : + FS.mayCreate(new_dir, new_name); + if (err) { + throw new FS.ErrnoError(err); + } + if (!old_dir.node_ops.rename) { + throw new FS.ErrnoError(ERRNO_CODES.EPERM); + } + if (FS.isMountpoint(old_node) || (new_node && FS.isMountpoint(new_node))) { + throw new FS.ErrnoError(ERRNO_CODES.EBUSY); + } + // if we are going to change the parent, check write permissions + if (new_dir !== old_dir) { + err = FS.nodePermissions(old_dir, 'w'); + if (err) { + throw new FS.ErrnoError(err); + } + } + try { + if (FS.trackingDelegate['willMovePath']) { + FS.trackingDelegate['willMovePath'](old_path, new_path); + } + } catch(e) { + console.log("FS.trackingDelegate['willMovePath']('"+old_path+"', '"+new_path+"') threw an exception: " + e.message); + } + // remove the node from the lookup hash + FS.hashRemoveNode(old_node); + // do the underlying fs rename + try { + old_dir.node_ops.rename(old_node, new_dir, new_name); + } catch (e) { + throw e; + } finally { + // add the node back to the hash (in case node_ops.rename + // changed its name) + FS.hashAddNode(old_node); + } + try { + if (FS.trackingDelegate['onMovePath']) FS.trackingDelegate['onMovePath'](old_path, new_path); + } catch(e) { + console.log("FS.trackingDelegate['onMovePath']('"+old_path+"', '"+new_path+"') threw an exception: " + e.message); + } + },rmdir:function (path) { + var lookup = FS.lookupPath(path, { parent: true }); + var parent = lookup.node; + var name = PATH.basename(path); + var node = FS.lookupNode(parent, name); + var err = FS.mayDelete(parent, name, true); + if (err) { + throw new FS.ErrnoError(err); + } + if (!parent.node_ops.rmdir) { + throw new FS.ErrnoError(ERRNO_CODES.EPERM); + } + if (FS.isMountpoint(node)) { + throw new FS.ErrnoError(ERRNO_CODES.EBUSY); + } + try { + if (FS.trackingDelegate['willDeletePath']) { + FS.trackingDelegate['willDeletePath'](path); + } + } catch(e) { + console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: " + e.message); + } + parent.node_ops.rmdir(parent, name); + FS.destroyNode(node); + try { + if (FS.trackingDelegate['onDeletePath']) FS.trackingDelegate['onDeletePath'](path); + } catch(e) { + console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: " + e.message); + } + },readdir:function (path) { + var lookup = FS.lookupPath(path, { follow: true }); + var node = lookup.node; + if (!node.node_ops.readdir) { + throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR); + } + return node.node_ops.readdir(node); + },unlink:function (path) { + var lookup = FS.lookupPath(path, { parent: true }); + var parent = lookup.node; + var name = PATH.basename(path); + var node = FS.lookupNode(parent, name); + var err = FS.mayDelete(parent, name, false); + if (err) { + // According to POSIX, we should map EISDIR to EPERM, but + // we instead do what Linux does (and we must, as we use + // the musl linux libc). + throw new FS.ErrnoError(err); + } + if (!parent.node_ops.unlink) { + throw new FS.ErrnoError(ERRNO_CODES.EPERM); + } + if (FS.isMountpoint(node)) { + throw new FS.ErrnoError(ERRNO_CODES.EBUSY); + } + try { + if (FS.trackingDelegate['willDeletePath']) { + FS.trackingDelegate['willDeletePath'](path); + } + } catch(e) { + console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: " + e.message); + } + parent.node_ops.unlink(parent, name); + FS.destroyNode(node); + try { + if (FS.trackingDelegate['onDeletePath']) FS.trackingDelegate['onDeletePath'](path); + } catch(e) { + console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: " + e.message); + } + },readlink:function (path) { + var lookup = FS.lookupPath(path); + var link = lookup.node; + if (!link) { + throw new FS.ErrnoError(ERRNO_CODES.ENOENT); + } + if (!link.node_ops.readlink) { + throw new FS.ErrnoError(ERRNO_CODES.EINVAL); + } + return PATH.resolve(FS.getPath(link.parent), link.node_ops.readlink(link)); + },stat:function (path, dontFollow) { + var lookup = FS.lookupPath(path, { follow: !dontFollow }); + var node = lookup.node; + if (!node) { + throw new FS.ErrnoError(ERRNO_CODES.ENOENT); + } + if (!node.node_ops.getattr) { + throw new FS.ErrnoError(ERRNO_CODES.EPERM); + } + return node.node_ops.getattr(node); + },lstat:function (path) { + return FS.stat(path, true); + },chmod:function (path, mode, dontFollow) { + var node; + if (typeof path === 'string') { + var lookup = FS.lookupPath(path, { follow: !dontFollow }); + node = lookup.node; + } else { + node = path; + } + if (!node.node_ops.setattr) { + throw new FS.ErrnoError(ERRNO_CODES.EPERM); + } + node.node_ops.setattr(node, { + mode: (mode & 4095) | (node.mode & ~4095), + timestamp: Date.now() + }); + },lchmod:function (path, mode) { + FS.chmod(path, mode, true); + },fchmod:function (fd, mode) { + var stream = FS.getStream(fd); + if (!stream) { + throw new FS.ErrnoError(ERRNO_CODES.EBADF); + } + FS.chmod(stream.node, mode); + },chown:function (path, uid, gid, dontFollow) { + var node; + if (typeof path === 'string') { + var lookup = FS.lookupPath(path, { follow: !dontFollow }); + node = lookup.node; + } else { + node = path; + } + if (!node.node_ops.setattr) { + throw new FS.ErrnoError(ERRNO_CODES.EPERM); + } + node.node_ops.setattr(node, { + timestamp: Date.now() + // we ignore the uid / gid for now + }); + },lchown:function (path, uid, gid) { + FS.chown(path, uid, gid, true); + },fchown:function (fd, uid, gid) { + var stream = FS.getStream(fd); + if (!stream) { + throw new FS.ErrnoError(ERRNO_CODES.EBADF); + } + FS.chown(stream.node, uid, gid); + },truncate:function (path, len) { + if (len < 0) { + throw new FS.ErrnoError(ERRNO_CODES.EINVAL); + } + var node; + if (typeof path === 'string') { + var lookup = FS.lookupPath(path, { follow: true }); + node = lookup.node; + } else { + node = path; + } + if (!node.node_ops.setattr) { + throw new FS.ErrnoError(ERRNO_CODES.EPERM); + } + if (FS.isDir(node.mode)) { + throw new FS.ErrnoError(ERRNO_CODES.EISDIR); + } + if (!FS.isFile(node.mode)) { + throw new FS.ErrnoError(ERRNO_CODES.EINVAL); + } + var err = FS.nodePermissions(node, 'w'); + if (err) { + throw new FS.ErrnoError(err); + } + node.node_ops.setattr(node, { + size: len, + timestamp: Date.now() + }); + },ftruncate:function (fd, len) { + var stream = FS.getStream(fd); + if (!stream) { + throw new FS.ErrnoError(ERRNO_CODES.EBADF); + } + if ((stream.flags & 2097155) === 0) { + throw new FS.ErrnoError(ERRNO_CODES.EINVAL); + } + FS.truncate(stream.node, len); + },utime:function (path, atime, mtime) { + var lookup = FS.lookupPath(path, { follow: true }); + var node = lookup.node; + node.node_ops.setattr(node, { + timestamp: Math.max(atime, mtime) + }); + },open:function (path, flags, mode, fd_start, fd_end) { + if (path === "") { + throw new FS.ErrnoError(ERRNO_CODES.ENOENT); + } + flags = typeof flags === 'string' ? FS.modeStringToFlags(flags) : flags; + mode = typeof mode === 'undefined' ? 438 /* 0666 */ : mode; + if ((flags & 64)) { + mode = (mode & 4095) | 32768; + } else { + mode = 0; + } + var node; + if (typeof path === 'object') { + node = path; + } else { + path = PATH.normalize(path); + try { + var lookup = FS.lookupPath(path, { + follow: !(flags & 131072) + }); + node = lookup.node; + } catch (e) { + // ignore + } + } + // perhaps we need to create the node + var created = false; + if ((flags & 64)) { + if (node) { + // if O_CREAT and O_EXCL are set, error out if the node already exists + if ((flags & 128)) { + throw new FS.ErrnoError(ERRNO_CODES.EEXIST); + } + } else { + // node doesn't exist, try to create it + node = FS.mknod(path, mode, 0); + created = true; + } + } + if (!node) { + throw new FS.ErrnoError(ERRNO_CODES.ENOENT); + } + // can't truncate a device + if (FS.isChrdev(node.mode)) { + flags &= ~512; + } + // if asked only for a directory, then this must be one + if ((flags & 65536) && !FS.isDir(node.mode)) { + throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR); + } + // check permissions, if this is not a file we just created now (it is ok to + // create and write to a file with read-only permissions; it is read-only + // for later use) + if (!created) { + var err = FS.mayOpen(node, flags); + if (err) { + throw new FS.ErrnoError(err); + } + } + // do truncation if necessary + if ((flags & 512)) { + FS.truncate(node, 0); + } + // we've already handled these, don't pass down to the underlying vfs + flags &= ~(128 | 512); + + // register the stream with the filesystem + var stream = FS.createStream({ + node: node, + path: FS.getPath(node), // we want the absolute path to the node + flags: flags, + seekable: true, + position: 0, + stream_ops: node.stream_ops, + // used by the file family libc calls (fopen, fwrite, ferror, etc.) + ungotten: [], + error: false + }, fd_start, fd_end); + // call the new stream's open function + if (stream.stream_ops.open) { + stream.stream_ops.open(stream); + } + if (Module['logReadFiles'] && !(flags & 1)) { + if (!FS.readFiles) FS.readFiles = {}; + if (!(path in FS.readFiles)) { + FS.readFiles[path] = 1; + Module['printErr']('read file: ' + path); + } + } + try { + if (FS.trackingDelegate['onOpenFile']) { + var trackingFlags = 0; + if ((flags & 2097155) !== 1) { + trackingFlags |= FS.tracking.openFlags.READ; + } + if ((flags & 2097155) !== 0) { + trackingFlags |= FS.tracking.openFlags.WRITE; + } + FS.trackingDelegate['onOpenFile'](path, trackingFlags); + } + } catch(e) { + console.log("FS.trackingDelegate['onOpenFile']('"+path+"', flags) threw an exception: " + e.message); + } + return stream; + },close:function (stream) { + if (stream.getdents) stream.getdents = null; // free readdir state + try { + if (stream.stream_ops.close) { + stream.stream_ops.close(stream); + } + } catch (e) { + throw e; + } finally { + FS.closeStream(stream.fd); + } + },llseek:function (stream, offset, whence) { + if (!stream.seekable || !stream.stream_ops.llseek) { + throw new FS.ErrnoError(ERRNO_CODES.ESPIPE); + } + stream.position = stream.stream_ops.llseek(stream, offset, whence); + stream.ungotten = []; + return stream.position; + },read:function (stream, buffer, offset, length, position) { + if (length < 0 || position < 0) { + throw new FS.ErrnoError(ERRNO_CODES.EINVAL); + } + if ((stream.flags & 2097155) === 1) { + throw new FS.ErrnoError(ERRNO_CODES.EBADF); + } + if (FS.isDir(stream.node.mode)) { + throw new FS.ErrnoError(ERRNO_CODES.EISDIR); + } + if (!stream.stream_ops.read) { + throw new FS.ErrnoError(ERRNO_CODES.EINVAL); + } + var seeking = true; + if (typeof position === 'undefined') { + position = stream.position; + seeking = false; + } else if (!stream.seekable) { + throw new FS.ErrnoError(ERRNO_CODES.ESPIPE); + } + var bytesRead = stream.stream_ops.read(stream, buffer, offset, length, position); + if (!seeking) stream.position += bytesRead; + return bytesRead; + },write:function (stream, buffer, offset, length, position, canOwn) { + if (length < 0 || position < 0) { + throw new FS.ErrnoError(ERRNO_CODES.EINVAL); + } + if ((stream.flags & 2097155) === 0) { + throw new FS.ErrnoError(ERRNO_CODES.EBADF); + } + if (FS.isDir(stream.node.mode)) { + throw new FS.ErrnoError(ERRNO_CODES.EISDIR); + } + if (!stream.stream_ops.write) { + throw new FS.ErrnoError(ERRNO_CODES.EINVAL); + } + if (stream.flags & 1024) { + // seek to the end before writing in append mode + FS.llseek(stream, 0, 2); + } + var seeking = true; + if (typeof position === 'undefined') { + position = stream.position; + seeking = false; + } else if (!stream.seekable) { + throw new FS.ErrnoError(ERRNO_CODES.ESPIPE); + } + var bytesWritten = stream.stream_ops.write(stream, buffer, offset, length, position, canOwn); + if (!seeking) stream.position += bytesWritten; + try { + if (stream.path && FS.trackingDelegate['onWriteToFile']) FS.trackingDelegate['onWriteToFile'](stream.path); + } catch(e) { + console.log("FS.trackingDelegate['onWriteToFile']('"+path+"') threw an exception: " + e.message); + } + return bytesWritten; + },allocate:function (stream, offset, length) { + if (offset < 0 || length <= 0) { + throw new FS.ErrnoError(ERRNO_CODES.EINVAL); + } + if ((stream.flags & 2097155) === 0) { + throw new FS.ErrnoError(ERRNO_CODES.EBADF); + } + if (!FS.isFile(stream.node.mode) && !FS.isDir(node.mode)) { + throw new FS.ErrnoError(ERRNO_CODES.ENODEV); + } + if (!stream.stream_ops.allocate) { + throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP); + } + stream.stream_ops.allocate(stream, offset, length); + },mmap:function (stream, buffer, offset, length, position, prot, flags) { + // TODO if PROT is PROT_WRITE, make sure we have write access + if ((stream.flags & 2097155) === 1) { + throw new FS.ErrnoError(ERRNO_CODES.EACCES); + } + if (!stream.stream_ops.mmap) { + throw new FS.ErrnoError(ERRNO_CODES.ENODEV); + } + return stream.stream_ops.mmap(stream, buffer, offset, length, position, prot, flags); + },msync:function (stream, buffer, offset, length, mmapFlags) { + if (!stream || !stream.stream_ops.msync) { + return 0; + } + return stream.stream_ops.msync(stream, buffer, offset, length, mmapFlags); + },munmap:function (stream) { + return 0; + },ioctl:function (stream, cmd, arg) { + if (!stream.stream_ops.ioctl) { + throw new FS.ErrnoError(ERRNO_CODES.ENOTTY); + } + return stream.stream_ops.ioctl(stream, cmd, arg); + },readFile:function (path, opts) { + opts = opts || {}; + opts.flags = opts.flags || 'r'; + opts.encoding = opts.encoding || 'binary'; + if (opts.encoding !== 'utf8' && opts.encoding !== 'binary') { + throw new Error('Invalid encoding type "' + opts.encoding + '"'); + } + var ret; + var stream = FS.open(path, opts.flags); + var stat = FS.stat(path); + var length = stat.size; + var buf = new Uint8Array(length); + FS.read(stream, buf, 0, length, 0); + if (opts.encoding === 'utf8') { + ret = UTF8ArrayToString(buf, 0); + } else if (opts.encoding === 'binary') { + ret = buf; + } + FS.close(stream); + return ret; + },writeFile:function (path, data, opts) { + opts = opts || {}; + opts.flags = opts.flags || 'w'; + opts.encoding = opts.encoding || 'utf8'; + if (opts.encoding !== 'utf8' && opts.encoding !== 'binary') { + throw new Error('Invalid encoding type "' + opts.encoding + '"'); + } + var stream = FS.open(path, opts.flags, opts.mode); + if (opts.encoding === 'utf8') { + var buf = new Uint8Array(lengthBytesUTF8(data)+1); + var actualNumBytes = stringToUTF8Array(data, buf, 0, buf.length); + FS.write(stream, buf, 0, actualNumBytes, 0, opts.canOwn); + } else if (opts.encoding === 'binary') { + FS.write(stream, data, 0, data.length, 0, opts.canOwn); + } + FS.close(stream); + },cwd:function () { + return FS.currentPath; + },chdir:function (path) { + var lookup = FS.lookupPath(path, { follow: true }); + if (lookup.node === null) { + throw new FS.ErrnoError(ERRNO_CODES.ENOENT); + } + if (!FS.isDir(lookup.node.mode)) { + throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR); + } + var err = FS.nodePermissions(lookup.node, 'x'); + if (err) { + throw new FS.ErrnoError(err); + } + FS.currentPath = lookup.path; + },createDefaultDirectories:function () { + FS.mkdir('/tmp'); + FS.mkdir('/home'); + FS.mkdir('/home/web_user'); + },createDefaultDevices:function () { + // create /dev + FS.mkdir('/dev'); + // setup /dev/null + FS.registerDevice(FS.makedev(1, 3), { + read: function() { return 0; }, + write: function(stream, buffer, offset, length, pos) { return length; } + }); + FS.mkdev('/dev/null', FS.makedev(1, 3)); + // setup /dev/tty and /dev/tty1 + // stderr needs to print output using Module['printErr'] + // so we register a second tty just for it. + TTY.register(FS.makedev(5, 0), TTY.default_tty_ops); + TTY.register(FS.makedev(6, 0), TTY.default_tty1_ops); + FS.mkdev('/dev/tty', FS.makedev(5, 0)); + FS.mkdev('/dev/tty1', FS.makedev(6, 0)); + // setup /dev/[u]random + var random_device; + if (typeof crypto !== 'undefined') { + // for modern web browsers + var randomBuffer = new Uint8Array(1); + random_device = function() { crypto.getRandomValues(randomBuffer); return randomBuffer[0]; }; + } else if (ENVIRONMENT_IS_NODE) { + // for nodejs + random_device = function() { return require('crypto').randomBytes(1)[0]; }; + } else { + // default for ES5 platforms + random_device = function() { return (Math.random()*256)|0; }; + } + FS.createDevice('/dev', 'random', random_device); + FS.createDevice('/dev', 'urandom', random_device); + // we're not going to emulate the actual shm device, + // just create the tmp dirs that reside in it commonly + FS.mkdir('/dev/shm'); + FS.mkdir('/dev/shm/tmp'); + },createSpecialDirectories:function () { + // create /proc/self/fd which allows /proc/self/fd/6 => readlink gives the name of the stream for fd 6 (see test_unistd_ttyname) + FS.mkdir('/proc'); + FS.mkdir('/proc/self'); + FS.mkdir('/proc/self/fd'); + FS.mount({ + mount: function() { + var node = FS.createNode('/proc/self', 'fd', 16384 | 511 /* 0777 */, 73); + node.node_ops = { + lookup: function(parent, name) { + var fd = +name; + var stream = FS.getStream(fd); + if (!stream) throw new FS.ErrnoError(ERRNO_CODES.EBADF); + var ret = { + parent: null, + mount: { mountpoint: 'fake' }, + node_ops: { readlink: function() { return stream.path } } + }; + ret.parent = ret; // make it look like a simple root node + return ret; + } + }; + return node; + } + }, {}, '/proc/self/fd'); + },createStandardStreams:function () { + // TODO deprecate the old functionality of a single + // input / output callback and that utilizes FS.createDevice + // and instead require a unique set of stream ops + + // by default, we symlink the standard streams to the + // default tty devices. however, if the standard streams + // have been overwritten we create a unique device for + // them instead. + if (Module['stdin']) { + FS.createDevice('/dev', 'stdin', Module['stdin']); + } else { + FS.symlink('/dev/tty', '/dev/stdin'); + } + if (Module['stdout']) { + FS.createDevice('/dev', 'stdout', null, Module['stdout']); + } else { + FS.symlink('/dev/tty', '/dev/stdout'); + } + if (Module['stderr']) { + FS.createDevice('/dev', 'stderr', null, Module['stderr']); + } else { + FS.symlink('/dev/tty1', '/dev/stderr'); + } + + // open default streams for the stdin, stdout and stderr devices + var stdin = FS.open('/dev/stdin', 'r'); + assert(stdin.fd === 0, 'invalid handle for stdin (' + stdin.fd + ')'); + + var stdout = FS.open('/dev/stdout', 'w'); + assert(stdout.fd === 1, 'invalid handle for stdout (' + stdout.fd + ')'); + + var stderr = FS.open('/dev/stderr', 'w'); + assert(stderr.fd === 2, 'invalid handle for stderr (' + stderr.fd + ')'); + },ensureErrnoError:function () { + if (FS.ErrnoError) return; + FS.ErrnoError = function ErrnoError(errno, node) { + //Module.printErr(stackTrace()); // useful for debugging + this.node = node; + this.setErrno = function(errno) { + this.errno = errno; + for (var key in ERRNO_CODES) { + if (ERRNO_CODES[key] === errno) { + this.code = key; + break; + } + } + }; + this.setErrno(errno); + this.message = ERRNO_MESSAGES[errno]; + if (this.stack) this.stack = demangleAll(this.stack); + }; + FS.ErrnoError.prototype = new Error(); + FS.ErrnoError.prototype.constructor = FS.ErrnoError; + // Some errors may happen quite a bit, to avoid overhead we reuse them (and suffer a lack of stack info) + [ERRNO_CODES.ENOENT].forEach(function(code) { + FS.genericErrors[code] = new FS.ErrnoError(code); + FS.genericErrors[code].stack = ''; + }); + },staticInit:function () { + FS.ensureErrnoError(); + + FS.nameTable = new Array(4096); + + FS.mount(MEMFS, {}, '/'); + + FS.createDefaultDirectories(); + FS.createDefaultDevices(); + FS.createSpecialDirectories(); + + FS.filesystems = { + 'MEMFS': MEMFS, + 'IDBFS': IDBFS, + 'NODEFS': NODEFS, + 'WORKERFS': WORKERFS, + }; + },init:function (input, output, error) { + assert(!FS.init.initialized, 'FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)'); + FS.init.initialized = true; + + FS.ensureErrnoError(); + + // Allow Module.stdin etc. to provide defaults, if none explicitly passed to us here + Module['stdin'] = input || Module['stdin']; + Module['stdout'] = output || Module['stdout']; + Module['stderr'] = error || Module['stderr']; + + FS.createStandardStreams(); + },quit:function () { + FS.init.initialized = false; + // force-flush all streams, so we get musl std streams printed out + var fflush = Module['_fflush']; + if (fflush) fflush(0); + // close all of our streams + for (var i = 0; i < FS.streams.length; i++) { + var stream = FS.streams[i]; + if (!stream) { + continue; + } + FS.close(stream); + } + },getMode:function (canRead, canWrite) { + var mode = 0; + if (canRead) mode |= 292 | 73; + if (canWrite) mode |= 146; + return mode; + },joinPath:function (parts, forceRelative) { + var path = PATH.join.apply(null, parts); + if (forceRelative && path[0] == '/') path = path.substr(1); + return path; + },absolutePath:function (relative, base) { + return PATH.resolve(base, relative); + },standardizePath:function (path) { + return PATH.normalize(path); + },findObject:function (path, dontResolveLastLink) { + var ret = FS.analyzePath(path, dontResolveLastLink); + if (ret.exists) { + return ret.object; + } else { + ___setErrNo(ret.error); + return null; + } + },analyzePath:function (path, dontResolveLastLink) { + // operate from within the context of the symlink's target + try { + var lookup = FS.lookupPath(path, { follow: !dontResolveLastLink }); + path = lookup.path; + } catch (e) { + } + var ret = { + isRoot: false, exists: false, error: 0, name: null, path: null, object: null, + parentExists: false, parentPath: null, parentObject: null + }; + try { + var lookup = FS.lookupPath(path, { parent: true }); + ret.parentExists = true; + ret.parentPath = lookup.path; + ret.parentObject = lookup.node; + ret.name = PATH.basename(path); + lookup = FS.lookupPath(path, { follow: !dontResolveLastLink }); + ret.exists = true; + ret.path = lookup.path; + ret.object = lookup.node; + ret.name = lookup.node.name; + ret.isRoot = lookup.path === '/'; + } catch (e) { + ret.error = e.errno; + }; + return ret; + },createFolder:function (parent, name, canRead, canWrite) { + var path = PATH.join2(typeof parent === 'string' ? parent : FS.getPath(parent), name); + var mode = FS.getMode(canRead, canWrite); + return FS.mkdir(path, mode); + },createPath:function (parent, path, canRead, canWrite) { + parent = typeof parent === 'string' ? parent : FS.getPath(parent); + var parts = path.split('/').reverse(); + while (parts.length) { + var part = parts.pop(); + if (!part) continue; + var current = PATH.join2(parent, part); + try { + FS.mkdir(current); + } catch (e) { + // ignore EEXIST + } + parent = current; + } + return current; + },createFile:function (parent, name, properties, canRead, canWrite) { + var path = PATH.join2(typeof parent === 'string' ? parent : FS.getPath(parent), name); + var mode = FS.getMode(canRead, canWrite); + return FS.create(path, mode); + },createDataFile:function (parent, name, data, canRead, canWrite, canOwn) { + var path = name ? PATH.join2(typeof parent === 'string' ? parent : FS.getPath(parent), name) : parent; + var mode = FS.getMode(canRead, canWrite); + var node = FS.create(path, mode); + if (data) { + if (typeof data === 'string') { + var arr = new Array(data.length); + for (var i = 0, len = data.length; i < len; ++i) arr[i] = data.charCodeAt(i); + data = arr; + } + // make sure we can write to the file + FS.chmod(node, mode | 146); + var stream = FS.open(node, 'w'); + FS.write(stream, data, 0, data.length, 0, canOwn); + FS.close(stream); + FS.chmod(node, mode); + } + return node; + },createDevice:function (parent, name, input, output) { + var path = PATH.join2(typeof parent === 'string' ? parent : FS.getPath(parent), name); + var mode = FS.getMode(!!input, !!output); + if (!FS.createDevice.major) FS.createDevice.major = 64; + var dev = FS.makedev(FS.createDevice.major++, 0); + // Create a fake device that a set of stream ops to emulate + // the old behavior. + FS.registerDevice(dev, { + open: function(stream) { + stream.seekable = false; + }, + close: function(stream) { + // flush any pending line data + if (output && output.buffer && output.buffer.length) { + output(10); + } + }, + read: function(stream, buffer, offset, length, pos /* ignored */) { + var bytesRead = 0; + for (var i = 0; i < length; i++) { + var result; + try { + result = input(); + } catch (e) { + throw new FS.ErrnoError(ERRNO_CODES.EIO); + } + if (result === undefined && bytesRead === 0) { + throw new FS.ErrnoError(ERRNO_CODES.EAGAIN); + } + if (result === null || result === undefined) break; + bytesRead++; + buffer[offset+i] = result; + } + if (bytesRead) { + stream.node.timestamp = Date.now(); + } + return bytesRead; + }, + write: function(stream, buffer, offset, length, pos) { + for (var i = 0; i < length; i++) { + try { + output(buffer[offset+i]); + } catch (e) { + throw new FS.ErrnoError(ERRNO_CODES.EIO); + } + } + if (length) { + stream.node.timestamp = Date.now(); + } + return i; + } + }); + return FS.mkdev(path, mode, dev); + },createLink:function (parent, name, target, canRead, canWrite) { + var path = PATH.join2(typeof parent === 'string' ? parent : FS.getPath(parent), name); + return FS.symlink(target, path); + },forceLoadFile:function (obj) { + if (obj.isDevice || obj.isFolder || obj.link || obj.contents) return true; + var success = true; + if (typeof XMLHttpRequest !== 'undefined') { + throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread."); + } else if (Module['read']) { + // Command-line. + try { + // WARNING: Can't read binary files in V8's d8 or tracemonkey's js, as + // read() will try to parse UTF8. + obj.contents = intArrayFromString(Module['read'](obj.url), true); + obj.usedBytes = obj.contents.length; + } catch (e) { + success = false; + } + } else { + throw new Error('Cannot load without read() or XMLHttpRequest.'); + } + if (!success) ___setErrNo(ERRNO_CODES.EIO); + return success; + },createLazyFile:function (parent, name, url, canRead, canWrite) { + // Lazy chunked Uint8Array (implements get and length from Uint8Array). Actual getting is abstracted away for eventual reuse. + function LazyUint8Array() { + this.lengthKnown = false; + this.chunks = []; // Loaded chunks. Index is the chunk number + } + LazyUint8Array.prototype.get = function LazyUint8Array_get(idx) { + if (idx > this.length-1 || idx < 0) { + return undefined; + } + var chunkOffset = idx % this.chunkSize; + var chunkNum = (idx / this.chunkSize)|0; + return this.getter(chunkNum)[chunkOffset]; + } + LazyUint8Array.prototype.setDataGetter = function LazyUint8Array_setDataGetter(getter) { + this.getter = getter; + } + LazyUint8Array.prototype.cacheLength = function LazyUint8Array_cacheLength() { + // Find length + var xhr = new XMLHttpRequest(); + xhr.open('HEAD', url, false); + xhr.send(null); + if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error("Couldn't load " + url + ". Status: " + xhr.status); + var datalength = Number(xhr.getResponseHeader("Content-length")); + var header; + var hasByteServing = (header = xhr.getResponseHeader("Accept-Ranges")) && header === "bytes"; + var usesGzip = (header = xhr.getResponseHeader("Content-Encoding")) && header === "gzip"; + + var chunkSize = 1024*1024; // Chunk size in bytes + + if (!hasByteServing) chunkSize = datalength; + + // Function to get a range from the remote URL. + var doXHR = (function(from, to) { + if (from > to) throw new Error("invalid range (" + from + ", " + to + ") or no bytes requested!"); + if (to > datalength-1) throw new Error("only " + datalength + " bytes available! programmer error!"); + + // TODO: Use mozResponseArrayBuffer, responseStream, etc. if available. + var xhr = new XMLHttpRequest(); + xhr.open('GET', url, false); + if (datalength !== chunkSize) xhr.setRequestHeader("Range", "bytes=" + from + "-" + to); + + // Some hints to the browser that we want binary data. + if (typeof Uint8Array != 'undefined') xhr.responseType = 'arraybuffer'; + if (xhr.overrideMimeType) { + xhr.overrideMimeType('text/plain; charset=x-user-defined'); + } + + xhr.send(null); + if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error("Couldn't load " + url + ". Status: " + xhr.status); + if (xhr.response !== undefined) { + return new Uint8Array(xhr.response || []); + } else { + return intArrayFromString(xhr.responseText || '', true); + } + }); + var lazyArray = this; + lazyArray.setDataGetter(function(chunkNum) { + var start = chunkNum * chunkSize; + var end = (chunkNum+1) * chunkSize - 1; // including this byte + end = Math.min(end, datalength-1); // if datalength-1 is selected, this is the last block + if (typeof(lazyArray.chunks[chunkNum]) === "undefined") { + lazyArray.chunks[chunkNum] = doXHR(start, end); + } + if (typeof(lazyArray.chunks[chunkNum]) === "undefined") throw new Error("doXHR failed!"); + return lazyArray.chunks[chunkNum]; + }); + + if (usesGzip || !datalength) { + // if the server uses gzip or doesn't supply the length, we have to download the whole file to get the (uncompressed) length + chunkSize = datalength = 1; // this will force getter(0)/doXHR do download the whole file + datalength = this.getter(0).length; + chunkSize = datalength; + console.log("LazyFiles on gzip forces download of the whole file when length is accessed"); + } + + this._length = datalength; + this._chunkSize = chunkSize; + this.lengthKnown = true; + } + if (typeof XMLHttpRequest !== 'undefined') { + if (!ENVIRONMENT_IS_WORKER) throw 'Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc'; + var lazyArray = new LazyUint8Array(); + Object.defineProperties(lazyArray, { + length: { + get: function() { + if(!this.lengthKnown) { + this.cacheLength(); + } + return this._length; + } + }, + chunkSize: { + get: function() { + if(!this.lengthKnown) { + this.cacheLength(); + } + return this._chunkSize; + } + } + }); + + var properties = { isDevice: false, contents: lazyArray }; + } else { + var properties = { isDevice: false, url: url }; + } + + var node = FS.createFile(parent, name, properties, canRead, canWrite); + // This is a total hack, but I want to get this lazy file code out of the + // core of MEMFS. If we want to keep this lazy file concept I feel it should + // be its own thin LAZYFS proxying calls to MEMFS. + if (properties.contents) { + node.contents = properties.contents; + } else if (properties.url) { + node.contents = null; + node.url = properties.url; + } + // Add a function that defers querying the file size until it is asked the first time. + Object.defineProperties(node, { + usedBytes: { + get: function() { return this.contents.length; } + } + }); + // override each stream op with one that tries to force load the lazy file first + var stream_ops = {}; + var keys = Object.keys(node.stream_ops); + keys.forEach(function(key) { + var fn = node.stream_ops[key]; + stream_ops[key] = function forceLoadLazyFile() { + if (!FS.forceLoadFile(node)) { + throw new FS.ErrnoError(ERRNO_CODES.EIO); + } + return fn.apply(null, arguments); + }; + }); + // use a custom read function + stream_ops.read = function stream_ops_read(stream, buffer, offset, length, position) { + if (!FS.forceLoadFile(node)) { + throw new FS.ErrnoError(ERRNO_CODES.EIO); + } + var contents = stream.node.contents; + if (position >= contents.length) + return 0; + var size = Math.min(contents.length - position, length); + assert(size >= 0); + if (contents.slice) { // normal array + for (var i = 0; i < size; i++) { + buffer[offset + i] = contents[position + i]; + } + } else { + for (var i = 0; i < size; i++) { // LazyUint8Array from sync binary XHR + buffer[offset + i] = contents.get(position + i); + } + } + return size; + }; + node.stream_ops = stream_ops; + return node; + },createPreloadedFile:function (parent, name, url, canRead, canWrite, onload, onerror, dontCreateFile, canOwn, preFinish) { + Browser.init(); // XXX perhaps this method should move onto Browser? + // TODO we should allow people to just pass in a complete filename instead + // of parent and name being that we just join them anyways + var fullname = name ? PATH.resolve(PATH.join2(parent, name)) : parent; + var dep = getUniqueRunDependency('cp ' + fullname); // might have several active requests for the same fullname + function processData(byteArray) { + function finish(byteArray) { + if (preFinish) preFinish(); + if (!dontCreateFile) { + FS.createDataFile(parent, name, byteArray, canRead, canWrite, canOwn); + } + if (onload) onload(); + removeRunDependency(dep); + } + var handled = false; + Module['preloadPlugins'].forEach(function(plugin) { + if (handled) return; + if (plugin['canHandle'](fullname)) { + plugin['handle'](byteArray, fullname, finish, function() { + if (onerror) onerror(); + removeRunDependency(dep); + }); + handled = true; + } + }); + if (!handled) finish(byteArray); + } + addRunDependency(dep); + if (typeof url == 'string') { + Browser.asyncLoad(url, function(byteArray) { + processData(byteArray); + }, onerror); + } else { + processData(url); + } + },indexedDB:function () { + return window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB; + },DB_NAME:function () { + return 'EM_FS_' + window.location.pathname; + },DB_VERSION:20,DB_STORE_NAME:"FILE_DATA",saveFilesToDB:function (paths, onload, onerror) { + onload = onload || function(){}; + onerror = onerror || function(){}; + var indexedDB = FS.indexedDB(); + try { + var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION); + } catch (e) { + return onerror(e); + } + openRequest.onupgradeneeded = function openRequest_onupgradeneeded() { + console.log('creating db'); + var db = openRequest.result; + db.createObjectStore(FS.DB_STORE_NAME); + }; + openRequest.onsuccess = function openRequest_onsuccess() { + var db = openRequest.result; + var transaction = db.transaction([FS.DB_STORE_NAME], 'readwrite'); + var files = transaction.objectStore(FS.DB_STORE_NAME); + var ok = 0, fail = 0, total = paths.length; + function finish() { + if (fail == 0) onload(); else onerror(); + } + paths.forEach(function(path) { + var putRequest = files.put(FS.analyzePath(path).object.contents, path); + putRequest.onsuccess = function putRequest_onsuccess() { ok++; if (ok + fail == total) finish() }; + putRequest.onerror = function putRequest_onerror() { fail++; if (ok + fail == total) finish() }; + }); + transaction.onerror = onerror; + }; + openRequest.onerror = onerror; + },loadFilesFromDB:function (paths, onload, onerror) { + onload = onload || function(){}; + onerror = onerror || function(){}; + var indexedDB = FS.indexedDB(); + try { + var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION); + } catch (e) { + return onerror(e); + } + openRequest.onupgradeneeded = onerror; // no database to load from + openRequest.onsuccess = function openRequest_onsuccess() { + var db = openRequest.result; + try { + var transaction = db.transaction([FS.DB_STORE_NAME], 'readonly'); + } catch(e) { + onerror(e); + return; + } + var files = transaction.objectStore(FS.DB_STORE_NAME); + var ok = 0, fail = 0, total = paths.length; + function finish() { + if (fail == 0) onload(); else onerror(); + } + paths.forEach(function(path) { + var getRequest = files.get(path); + getRequest.onsuccess = function getRequest_onsuccess() { + if (FS.analyzePath(path).exists) { + FS.unlink(path); + } + FS.createDataFile(PATH.dirname(path), PATH.basename(path), getRequest.result, true, true, true); + ok++; + if (ok + fail == total) finish(); + }; + getRequest.onerror = function getRequest_onerror() { fail++; if (ok + fail == total) finish() }; + }); + transaction.onerror = onerror; + }; + openRequest.onerror = onerror; + }};var SYSCALLS={DEFAULT_POLLMASK:5,mappings:{},umask:511,calculateAt:function (dirfd, path) { + if (path[0] !== '/') { + // relative path + var dir; + if (dirfd === -100) { + dir = FS.cwd(); + } else { + var dirstream = FS.getStream(dirfd); + if (!dirstream) throw new FS.ErrnoError(ERRNO_CODES.EBADF); + dir = dirstream.path; + } + path = PATH.join2(dir, path); + } + return path; + },doStat:function (func, path, buf) { + try { + var stat = func(path); + } catch (e) { + if (e && e.node && PATH.normalize(path) !== PATH.normalize(FS.getPath(e.node))) { + // an error occurred while trying to look up the path; we should just report ENOTDIR + return -ERRNO_CODES.ENOTDIR; + } + throw e; + } + HEAP32[((buf)>>2)]=stat.dev; + HEAP32[(((buf)+(4))>>2)]=0; + HEAP32[(((buf)+(8))>>2)]=stat.ino; + HEAP32[(((buf)+(12))>>2)]=stat.mode; + HEAP32[(((buf)+(16))>>2)]=stat.nlink; + HEAP32[(((buf)+(20))>>2)]=stat.uid; + HEAP32[(((buf)+(24))>>2)]=stat.gid; + HEAP32[(((buf)+(28))>>2)]=stat.rdev; + HEAP32[(((buf)+(32))>>2)]=0; + HEAP32[(((buf)+(36))>>2)]=stat.size; + HEAP32[(((buf)+(40))>>2)]=4096; + HEAP32[(((buf)+(44))>>2)]=stat.blocks; + HEAP32[(((buf)+(48))>>2)]=(stat.atime.getTime() / 1000)|0; + HEAP32[(((buf)+(52))>>2)]=0; + HEAP32[(((buf)+(56))>>2)]=(stat.mtime.getTime() / 1000)|0; + HEAP32[(((buf)+(60))>>2)]=0; + HEAP32[(((buf)+(64))>>2)]=(stat.ctime.getTime() / 1000)|0; + HEAP32[(((buf)+(68))>>2)]=0; + HEAP32[(((buf)+(72))>>2)]=stat.ino; + return 0; + },doMsync:function (addr, stream, len, flags) { + var buffer = new Uint8Array(HEAPU8.subarray(addr, addr + len)); + FS.msync(stream, buffer, 0, len, flags); + },doMkdir:function (path, mode) { + // remove a trailing slash, if one - /a/b/ has basename of '', but + // we want to create b in the context of this function + path = PATH.normalize(path); + if (path[path.length-1] === '/') path = path.substr(0, path.length-1); + FS.mkdir(path, mode, 0); + return 0; + },doMknod:function (path, mode, dev) { + // we don't want this in the JS API as it uses mknod to create all nodes. + switch (mode & 61440) { + case 32768: + case 8192: + case 24576: + case 4096: + case 49152: + break; + default: return -ERRNO_CODES.EINVAL; + } + FS.mknod(path, mode, dev); + return 0; + },doReadlink:function (path, buf, bufsize) { + if (bufsize <= 0) return -ERRNO_CODES.EINVAL; + var ret = FS.readlink(path); + + var len = Math.min(bufsize, lengthBytesUTF8(ret)); + var endChar = HEAP8[buf+len]; + stringToUTF8(ret, buf, bufsize+1); + // readlink is one of the rare functions that write out a C string, but does never append a null to the output buffer(!) + // stringToUTF8() always appends a null byte, so restore the character under the null byte after the write. + HEAP8[buf+len] = endChar; + + return len; + },doAccess:function (path, amode) { + if (amode & ~7) { + // need a valid mode + return -ERRNO_CODES.EINVAL; + } + var node; + var lookup = FS.lookupPath(path, { follow: true }); + node = lookup.node; + var perms = ''; + if (amode & 4) perms += 'r'; + if (amode & 2) perms += 'w'; + if (amode & 1) perms += 'x'; + if (perms /* otherwise, they've just passed F_OK */ && FS.nodePermissions(node, perms)) { + return -ERRNO_CODES.EACCES; + } + return 0; + },doDup:function (path, flags, suggestFD) { + var suggest = FS.getStream(suggestFD); + if (suggest) FS.close(suggest); + return FS.open(path, flags, 0, suggestFD, suggestFD).fd; + },doReadv:function (stream, iov, iovcnt, offset) { + var ret = 0; + for (var i = 0; i < iovcnt; i++) { + var ptr = HEAP32[(((iov)+(i*8))>>2)]; + var len = HEAP32[(((iov)+(i*8 + 4))>>2)]; + var curr = FS.read(stream, HEAP8,ptr, len, offset); + if (curr < 0) return -1; + ret += curr; + if (curr < len) break; // nothing more to read + } + return ret; + },doWritev:function (stream, iov, iovcnt, offset) { + var ret = 0; + for (var i = 0; i < iovcnt; i++) { + var ptr = HEAP32[(((iov)+(i*8))>>2)]; + var len = HEAP32[(((iov)+(i*8 + 4))>>2)]; + var curr = FS.write(stream, HEAP8,ptr, len, offset); + if (curr < 0) return -1; + ret += curr; + } + return ret; + },varargs:0,get:function (varargs) { + SYSCALLS.varargs += 4; + var ret = HEAP32[(((SYSCALLS.varargs)-(4))>>2)]; + return ret; + },getStr:function () { + var ret = Pointer_stringify(SYSCALLS.get()); + return ret; + },getStreamFromFD:function () { + var stream = FS.getStream(SYSCALLS.get()); + if (!stream) throw new FS.ErrnoError(ERRNO_CODES.EBADF); + return stream; + },getSocketFromFD:function () { + var socket = SOCKFS.getSocket(SYSCALLS.get()); + if (!socket) throw new FS.ErrnoError(ERRNO_CODES.EBADF); + return socket; + },getSocketAddress:function (allowNull) { + var addrp = SYSCALLS.get(), addrlen = SYSCALLS.get(); + if (allowNull && addrp === 0) return null; + var info = __read_sockaddr(addrp, addrlen); + if (info.errno) throw new FS.ErrnoError(info.errno); + info.addr = DNS.lookup_addr(info.addr) || info.addr; + return info; + },get64:function () { + var low = SYSCALLS.get(), high = SYSCALLS.get(); + if (low >= 0) assert(high === 0); + else assert(high === -1); + return low; + },getZero:function () { + assert(SYSCALLS.get() === 0); + }};function ___syscall54(which, varargs) {SYSCALLS.varargs = varargs; + try { + // ioctl + var stream = SYSCALLS.getStreamFromFD(), op = SYSCALLS.get(); + switch (op) { + case 21505: { + if (!stream.tty) return -ERRNO_CODES.ENOTTY; + return 0; + } + case 21506: { + if (!stream.tty) return -ERRNO_CODES.ENOTTY; + return 0; // no-op, not actually adjusting terminal settings + } + case 21519: { + if (!stream.tty) return -ERRNO_CODES.ENOTTY; + var argp = SYSCALLS.get(); + HEAP32[((argp)>>2)]=0; + return 0; + } + case 21520: { + if (!stream.tty) return -ERRNO_CODES.ENOTTY; + return -ERRNO_CODES.EINVAL; // not supported + } + case 21531: { + var argp = SYSCALLS.get(); + return FS.ioctl(stream, op, argp); + } + case 21523: { + // TODO: in theory we should write to the winsize struct that gets + // passed in, but for now musl doesn't read anything on it + if (!stream.tty) return -ERRNO_CODES.ENOTTY; + return 0; + } + default: abort('bad ioctl syscall ' + op); + } + } catch (e) { + if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno; + } + } + + function _emscripten_glSampleCoverage(value, invert) { + GLctx.sampleCoverage(value, !!invert); + } + + function _glDeleteTextures(n, textures) { + for (var i = 0; i < n; i++) { + var id = HEAP32[(((textures)+(i*4))>>2)]; + var texture = GL.textures[id]; + if (!texture) continue; // GL spec: "glDeleteTextures silently ignores 0s and names that do not correspond to existing textures". + GLctx.deleteTexture(texture); + texture.name = 0; + GL.textures[id] = null; + } + } + + function _emscripten_glFrustum() { + Module['printErr']('missing function: emscripten_glFrustum'); abort(-1); + } + + function _glfwSetWindowSizeCallback(winid, cbfun) { + GLFW.setWindowSizeCallback(winid, cbfun); + } + + function _emscripten_glGetTexParameterfv(target, pname, params) { + if (!params) { + // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense + // if p == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + HEAPF32[((params)>>2)]=GLctx.getTexParameter(target, pname); + } + + function _emscripten_glUniform4i(location, v0, v1, v2, v3) { + GLctx.uniform4i(GL.uniforms[location], v0, v1, v2, v3); + } + + function _emscripten_glBindRenderbuffer(target, renderbuffer) { + GLctx.bindRenderbuffer(target, renderbuffer ? GL.renderbuffers[renderbuffer] : null); + } + + + var AL={contexts:[],currentContext:null,alcErr:0,stringCache:{},alcStringCache:{},QUEUE_INTERVAL:25,QUEUE_LOOKAHEAD:100,newSrcId:1,updateSources:function updateSources(context) { + // If we are animating using the requestAnimationFrame method, then the main loop does not run when in the background. + // To give a perfect glitch-free audio stop when switching from foreground to background, we need to avoid updating + // audio altogether when in the background, so detect that case and kill audio buffer streaming if so. + if (Browser.mainLoop.timingMode == 1/*EM_TIMING_RAF*/ && document['visibilityState'] != 'visible') return; + + for (var srcId in context.src) { + AL.updateSource(context.src[srcId]); + } + },updateSource:function updateSource(src) { + // See comment on updateSources above. + if (Browser.mainLoop.timingMode == 1/*EM_TIMING_RAF*/ && document['visibilityState'] != 'visible') return; + + if (src.state !== 0x1012 /* AL_PLAYING */) { + return; + } + + var currentTime = src.context.ctx.currentTime; + var startTime = src.bufferPosition; + + for (var i = src.buffersPlayed; i < src.queue.length; i++) { + var entry = src.queue[i]; + + var startOffset = (startTime - currentTime) / src.playbackRate; + var endTime; + if (entry.src) endTime = startTime + entry.src.duration; // n.b. entry.src.duration already factors in playbackRate, so no divide by src.playbackRate on it. + else endTime = startTime + entry.buffer.duration / src.playbackRate; + + // Clean up old buffers. + if (currentTime >= endTime) { + // Update our location in the queue. + src.bufferPosition = endTime; + src.buffersPlayed = i + 1; + + // Stop / restart the source when we hit the end. + if (src.buffersPlayed >= src.queue.length) { + if (src.loop) { + AL.setSourceState(src, 0x1012 /* AL_PLAYING */); + } else { + AL.setSourceState(src, 0x1014 /* AL_STOPPED */); + } + } + } + // Process all buffers that'll be played before the next tick. + else if (startOffset < (AL.QUEUE_LOOKAHEAD / 1000) && !entry.src) { + // If the start offset is negative, we need to offset the actual buffer. + var offset = Math.abs(Math.min(startOffset, 0)); + + entry.src = src.context.ctx.createBufferSource(); + entry.src.buffer = entry.buffer; + entry.src.connect(src.gain); + if (src.playbackRate != 1.0) entry.src.playbackRate.value = src.playbackRate; + entry.src.duration = entry.buffer.duration / src.playbackRate; + if (typeof(entry.src.start) !== 'undefined') { + entry.src.start(startTime, offset); + } else if (typeof(entry.src.noteOn) !== 'undefined') { + entry.src.noteOn(startTime); + } + } + + startTime = endTime; + } + },setSourceState:function setSourceState(src, state) { + if (state === 0x1012 /* AL_PLAYING */) { + if (src.state !== 0x1013 /* AL_PAUSED */) { + src.state = 0x1012 /* AL_PLAYING */; + // Reset our position. + src.bufferPosition = AL.currentContext.ctx.currentTime; + src.buffersPlayed = 0; + } else { + src.state = 0x1012 /* AL_PLAYING */; + // Use the current offset from src.bufferPosition to resume at the correct point. + src.bufferPosition = AL.currentContext.ctx.currentTime - src.bufferPosition; + } + AL.stopSourceQueue(src); + AL.updateSource(src); + } else if (state === 0x1013 /* AL_PAUSED */) { + if (src.state === 0x1012 /* AL_PLAYING */) { + src.state = 0x1013 /* AL_PAUSED */; + // Store off the current offset to restore with on resume. + src.bufferPosition = AL.currentContext.ctx.currentTime - src.bufferPosition; + AL.stopSourceQueue(src); + } + } else if (state === 0x1014 /* AL_STOPPED */) { + if (src.state !== 0x1011 /* AL_INITIAL */) { + src.state = 0x1014 /* AL_STOPPED */; + src.buffersPlayed = src.queue.length; + AL.stopSourceQueue(src); + } + } else if (state == 0x1011 /* AL_INITIAL */) { + if (src.state !== 0x1011 /* AL_INITIAL */) { + src.state = 0x1011 /* AL_INITIAL */; + src.bufferPosition = 0; + src.buffersPlayed = 0; + } + } + },stopSourceQueue:function stopSourceQueue(src) { + for (var i = 0; i < src.queue.length; i++) { + var entry = src.queue[i]; + if (entry.src) { + entry.src.stop(0); + entry.src = null; + } + } + }};function _alcGetCurrentContext() { + for (var i = 0; i < AL.contexts.length; ++i) { + if (AL.contexts[i] == AL.currentContext) { + return i + 1; + } + } + return 0; + } + + function _emscripten_glViewport(x0, x1, x2, x3) { GLctx['viewport'](x0, x1, x2, x3) } + + + + var JSEvents={keyEvent:0,mouseEvent:0,wheelEvent:0,uiEvent:0,focusEvent:0,deviceOrientationEvent:0,deviceMotionEvent:0,fullscreenChangeEvent:0,pointerlockChangeEvent:0,visibilityChangeEvent:0,touchEvent:0,lastGamepadState:null,lastGamepadStateFrame:null,numGamepadsConnected:0,previousFullscreenElement:null,previousScreenX:null,previousScreenY:null,removeEventListenersRegistered:false,staticInit:function () { + if (typeof window !== 'undefined') { + window.addEventListener("gamepadconnected", function() { ++JSEvents.numGamepadsConnected; }); + window.addEventListener("gamepaddisconnected", function() { --JSEvents.numGamepadsConnected; }); + } + },registerRemoveEventListeners:function () { + if (!JSEvents.removeEventListenersRegistered) { + __ATEXIT__.push(function() { + for(var i = JSEvents.eventHandlers.length-1; i >= 0; --i) { + JSEvents._removeHandler(i); + } + }); + JSEvents.removeEventListenersRegistered = true; + } + },findEventTarget:function (target) { + if (target) { + if (typeof target == "number") { + target = Pointer_stringify(target); + } + if (target == '#window') return window; + else if (target == '#document') return document; + else if (target == '#screen') return window.screen; + else if (target == '#canvas') return Module['canvas']; + + if (typeof target == 'string') return document.getElementById(target); + else return target; + } else { + // The sensible target varies between events, but use window as the default + // since DOM events mostly can default to that. Specific callback registrations + // override their own defaults. + return window; + } + },deferredCalls:[],deferCall:function (targetFunction, precedence, argsList) { + function arraysHaveEqualContent(arrA, arrB) { + if (arrA.length != arrB.length) return false; + + for(var i in arrA) { + if (arrA[i] != arrB[i]) return false; + } + return true; + } + // Test if the given call was already queued, and if so, don't add it again. + for(var i in JSEvents.deferredCalls) { + var call = JSEvents.deferredCalls[i]; + if (call.targetFunction == targetFunction && arraysHaveEqualContent(call.argsList, argsList)) { + return; + } + } + JSEvents.deferredCalls.push({ + targetFunction: targetFunction, + precedence: precedence, + argsList: argsList + }); + + JSEvents.deferredCalls.sort(function(x,y) { return x.precedence < y.precedence; }); + },removeDeferredCalls:function (targetFunction) { + for(var i = 0; i < JSEvents.deferredCalls.length; ++i) { + if (JSEvents.deferredCalls[i].targetFunction == targetFunction) { + JSEvents.deferredCalls.splice(i, 1); + --i; + } + } + },canPerformEventHandlerRequests:function () { + return JSEvents.inEventHandler && JSEvents.currentEventHandler.allowsDeferredCalls; + },runDeferredCalls:function () { + if (!JSEvents.canPerformEventHandlerRequests()) { + return; + } + for(var i = 0; i < JSEvents.deferredCalls.length; ++i) { + var call = JSEvents.deferredCalls[i]; + JSEvents.deferredCalls.splice(i, 1); + --i; + call.targetFunction.apply(this, call.argsList); + } + },inEventHandler:0,currentEventHandler:null,eventHandlers:[],isInternetExplorer:function () { return navigator.userAgent.indexOf('MSIE') !== -1 || navigator.appVersion.indexOf('Trident/') > 0; },removeAllHandlersOnTarget:function (target, eventTypeString) { + for(var i = 0; i < JSEvents.eventHandlers.length; ++i) { + if (JSEvents.eventHandlers[i].target == target && + (!eventTypeString || eventTypeString == JSEvents.eventHandlers[i].eventTypeString)) { + JSEvents._removeHandler(i--); + } + } + },_removeHandler:function (i) { + var h = JSEvents.eventHandlers[i]; + h.target.removeEventListener(h.eventTypeString, h.eventListenerFunc, h.useCapture); + JSEvents.eventHandlers.splice(i, 1); + },registerOrRemoveHandler:function (eventHandler) { + var jsEventHandler = function jsEventHandler(event) { + // Increment nesting count for the event handler. + ++JSEvents.inEventHandler; + JSEvents.currentEventHandler = eventHandler; + // Process any old deferred calls the user has placed. + JSEvents.runDeferredCalls(); + // Process the actual event, calls back to user C code handler. + eventHandler.handlerFunc(event); + // Process any new deferred calls that were placed right now from this event handler. + JSEvents.runDeferredCalls(); + // Out of event handler - restore nesting count. + --JSEvents.inEventHandler; + } + + if (eventHandler.callbackfunc) { + eventHandler.eventListenerFunc = jsEventHandler; + eventHandler.target.addEventListener(eventHandler.eventTypeString, jsEventHandler, eventHandler.useCapture); + JSEvents.eventHandlers.push(eventHandler); + JSEvents.registerRemoveEventListeners(); + } else { + for(var i = 0; i < JSEvents.eventHandlers.length; ++i) { + if (JSEvents.eventHandlers[i].target == eventHandler.target + && JSEvents.eventHandlers[i].eventTypeString == eventHandler.eventTypeString) { + JSEvents._removeHandler(i--); + } + } + } + },registerKeyEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.keyEvent) { + JSEvents.keyEvent = _malloc( 164 ); + } + var handlerFunc = function(event) { + var e = event || window.event; + stringToUTF8(e.key ? e.key : "", JSEvents.keyEvent + 0, 32); + stringToUTF8(e.code ? e.code : "", JSEvents.keyEvent + 32, 32); + HEAP32[(((JSEvents.keyEvent)+(64))>>2)]=e.location; + HEAP32[(((JSEvents.keyEvent)+(68))>>2)]=e.ctrlKey; + HEAP32[(((JSEvents.keyEvent)+(72))>>2)]=e.shiftKey; + HEAP32[(((JSEvents.keyEvent)+(76))>>2)]=e.altKey; + HEAP32[(((JSEvents.keyEvent)+(80))>>2)]=e.metaKey; + HEAP32[(((JSEvents.keyEvent)+(84))>>2)]=e.repeat; + stringToUTF8(e.locale ? e.locale : "", JSEvents.keyEvent + 88, 32); + stringToUTF8(e.char ? e.char : "", JSEvents.keyEvent + 120, 32); + HEAP32[(((JSEvents.keyEvent)+(152))>>2)]=e.charCode; + HEAP32[(((JSEvents.keyEvent)+(156))>>2)]=e.keyCode; + HEAP32[(((JSEvents.keyEvent)+(160))>>2)]=e.which; + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.keyEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: JSEvents.findEventTarget(target), + allowsDeferredCalls: JSEvents.isInternetExplorer() ? false : true, // MSIE doesn't allow fullscreen and pointerlock requests from key handlers, others do. + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },getBoundingClientRectOrZeros:function (target) { + return target.getBoundingClientRect ? target.getBoundingClientRect() : { left: 0, top: 0 }; + },fillMouseEventData:function (eventStruct, e, target) { + HEAPF64[((eventStruct)>>3)]=JSEvents.tick(); + HEAP32[(((eventStruct)+(8))>>2)]=e.screenX; + HEAP32[(((eventStruct)+(12))>>2)]=e.screenY; + HEAP32[(((eventStruct)+(16))>>2)]=e.clientX; + HEAP32[(((eventStruct)+(20))>>2)]=e.clientY; + HEAP32[(((eventStruct)+(24))>>2)]=e.ctrlKey; + HEAP32[(((eventStruct)+(28))>>2)]=e.shiftKey; + HEAP32[(((eventStruct)+(32))>>2)]=e.altKey; + HEAP32[(((eventStruct)+(36))>>2)]=e.metaKey; + HEAP16[(((eventStruct)+(40))>>1)]=e.button; + HEAP16[(((eventStruct)+(42))>>1)]=e.buttons; + HEAP32[(((eventStruct)+(44))>>2)]=e["movementX"] || e["mozMovementX"] || e["webkitMovementX"] || (e.screenX-JSEvents.previousScreenX); + HEAP32[(((eventStruct)+(48))>>2)]=e["movementY"] || e["mozMovementY"] || e["webkitMovementY"] || (e.screenY-JSEvents.previousScreenY); + + if (Module['canvas']) { + var rect = Module['canvas'].getBoundingClientRect(); + HEAP32[(((eventStruct)+(60))>>2)]=e.clientX - rect.left; + HEAP32[(((eventStruct)+(64))>>2)]=e.clientY - rect.top; + } else { // Canvas is not initialized, return 0. + HEAP32[(((eventStruct)+(60))>>2)]=0; + HEAP32[(((eventStruct)+(64))>>2)]=0; + } + if (target) { + var rect = JSEvents.getBoundingClientRectOrZeros(target); + HEAP32[(((eventStruct)+(52))>>2)]=e.clientX - rect.left; + HEAP32[(((eventStruct)+(56))>>2)]=e.clientY - rect.top; + } else { // No specific target passed, return 0. + HEAP32[(((eventStruct)+(52))>>2)]=0; + HEAP32[(((eventStruct)+(56))>>2)]=0; + } + // wheel and mousewheel events contain wrong screenX/screenY on chrome/opera + // https://github.com/kripken/emscripten/pull/4997 + // https://bugs.chromium.org/p/chromium/issues/detail?id=699956 + if (e.type !== 'wheel' && e.type !== 'mousewheel') { + JSEvents.previousScreenX = e.screenX; + JSEvents.previousScreenY = e.screenY; + } + },registerMouseEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.mouseEvent) { + JSEvents.mouseEvent = _malloc( 72 ); + } + target = JSEvents.findEventTarget(target); + var handlerFunc = function(event) { + var e = event || window.event; + JSEvents.fillMouseEventData(JSEvents.mouseEvent, e, target); + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.mouseEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: target, + allowsDeferredCalls: eventTypeString != 'mousemove' && eventTypeString != 'mouseenter' && eventTypeString != 'mouseleave', // Mouse move events do not allow fullscreen/pointer lock requests to be handled in them! + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + // In IE, mousedown events don't either allow deferred calls to be run! + if (JSEvents.isInternetExplorer() && eventTypeString == 'mousedown') eventHandler.allowsDeferredCalls = false; + JSEvents.registerOrRemoveHandler(eventHandler); + },registerWheelEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.wheelEvent) { + JSEvents.wheelEvent = _malloc( 104 ); + } + target = JSEvents.findEventTarget(target); + // The DOM Level 3 events spec event 'wheel' + var wheelHandlerFunc = function(event) { + var e = event || window.event; + JSEvents.fillMouseEventData(JSEvents.wheelEvent, e, target); + HEAPF64[(((JSEvents.wheelEvent)+(72))>>3)]=e["deltaX"]; + HEAPF64[(((JSEvents.wheelEvent)+(80))>>3)]=e["deltaY"]; + HEAPF64[(((JSEvents.wheelEvent)+(88))>>3)]=e["deltaZ"]; + HEAP32[(((JSEvents.wheelEvent)+(96))>>2)]=e["deltaMode"]; + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.wheelEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + // The 'mousewheel' event as implemented in Safari 6.0.5 + var mouseWheelHandlerFunc = function(event) { + var e = event || window.event; + JSEvents.fillMouseEventData(JSEvents.wheelEvent, e, target); + HEAPF64[(((JSEvents.wheelEvent)+(72))>>3)]=e["wheelDeltaX"] || 0; + HEAPF64[(((JSEvents.wheelEvent)+(80))>>3)]=-(e["wheelDeltaY"] ? e["wheelDeltaY"] : e["wheelDelta"]) /* 1. Invert to unify direction with the DOM Level 3 wheel event. 2. MSIE does not provide wheelDeltaY, so wheelDelta is used as a fallback. */; + HEAPF64[(((JSEvents.wheelEvent)+(88))>>3)]=0 /* Not available */; + HEAP32[(((JSEvents.wheelEvent)+(96))>>2)]=0 /* DOM_DELTA_PIXEL */; + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.wheelEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: target, + allowsDeferredCalls: true, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: (eventTypeString == 'wheel') ? wheelHandlerFunc : mouseWheelHandlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },pageScrollPos:function () { + if (window.pageXOffset > 0 || window.pageYOffset > 0) { + return [window.pageXOffset, window.pageYOffset]; + } + if (typeof document.documentElement.scrollLeft !== 'undefined' || typeof document.documentElement.scrollTop !== 'undefined') { + return [document.documentElement.scrollLeft, document.documentElement.scrollTop]; + } + return [document.body.scrollLeft|0, document.body.scrollTop|0]; + },registerUiEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.uiEvent) { + JSEvents.uiEvent = _malloc( 36 ); + } + + if (eventTypeString == "scroll" && !target) { + target = document; // By default read scroll events on document rather than window. + } else { + target = JSEvents.findEventTarget(target); + } + + var handlerFunc = function(event) { + var e = event || window.event; + if (e.target != target) { + // Never take ui events such as scroll via a 'bubbled' route, but always from the direct element that + // was targeted. Otherwise e.g. if app logs a message in response to a page scroll, the Emscripten log + // message box could cause to scroll, generating a new (bubbled) scroll message, causing a new log print, + // causing a new scroll, etc.. + return; + } + var scrollPos = JSEvents.pageScrollPos(); + HEAP32[((JSEvents.uiEvent)>>2)]=e.detail; + HEAP32[(((JSEvents.uiEvent)+(4))>>2)]=document.body.clientWidth; + HEAP32[(((JSEvents.uiEvent)+(8))>>2)]=document.body.clientHeight; + HEAP32[(((JSEvents.uiEvent)+(12))>>2)]=window.innerWidth; + HEAP32[(((JSEvents.uiEvent)+(16))>>2)]=window.innerHeight; + HEAP32[(((JSEvents.uiEvent)+(20))>>2)]=window.outerWidth; + HEAP32[(((JSEvents.uiEvent)+(24))>>2)]=window.outerHeight; + HEAP32[(((JSEvents.uiEvent)+(28))>>2)]=scrollPos[0]; + HEAP32[(((JSEvents.uiEvent)+(32))>>2)]=scrollPos[1]; + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.uiEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: target, + allowsDeferredCalls: false, // Neither scroll or resize events allow running requests inside them. + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },getNodeNameForTarget:function (target) { + if (!target) return ''; + if (target == window) return '#window'; + if (target == window.screen) return '#screen'; + return (target && target.nodeName) ? target.nodeName : ''; + },registerFocusEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.focusEvent) { + JSEvents.focusEvent = _malloc( 256 ); + } + var handlerFunc = function(event) { + var e = event || window.event; + + var nodeName = JSEvents.getNodeNameForTarget(e.target); + var id = e.target.id ? e.target.id : ''; + stringToUTF8(nodeName, JSEvents.focusEvent + 0, 128); + stringToUTF8(id, JSEvents.focusEvent + 128, 128); + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.focusEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: JSEvents.findEventTarget(target), + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },tick:function () { + if (window['performance'] && window['performance']['now']) return window['performance']['now'](); + else return Date.now(); + },registerDeviceOrientationEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.deviceOrientationEvent) { + JSEvents.deviceOrientationEvent = _malloc( 40 ); + } + var handlerFunc = function(event) { + var e = event || window.event; + + HEAPF64[((JSEvents.deviceOrientationEvent)>>3)]=JSEvents.tick(); + HEAPF64[(((JSEvents.deviceOrientationEvent)+(8))>>3)]=e.alpha; + HEAPF64[(((JSEvents.deviceOrientationEvent)+(16))>>3)]=e.beta; + HEAPF64[(((JSEvents.deviceOrientationEvent)+(24))>>3)]=e.gamma; + HEAP32[(((JSEvents.deviceOrientationEvent)+(32))>>2)]=e.absolute; + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.deviceOrientationEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: JSEvents.findEventTarget(target), + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },registerDeviceMotionEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.deviceMotionEvent) { + JSEvents.deviceMotionEvent = _malloc( 80 ); + } + var handlerFunc = function(event) { + var e = event || window.event; + + HEAPF64[((JSEvents.deviceOrientationEvent)>>3)]=JSEvents.tick(); + HEAPF64[(((JSEvents.deviceMotionEvent)+(8))>>3)]=e.acceleration.x; + HEAPF64[(((JSEvents.deviceMotionEvent)+(16))>>3)]=e.acceleration.y; + HEAPF64[(((JSEvents.deviceMotionEvent)+(24))>>3)]=e.acceleration.z; + HEAPF64[(((JSEvents.deviceMotionEvent)+(32))>>3)]=e.accelerationIncludingGravity.x; + HEAPF64[(((JSEvents.deviceMotionEvent)+(40))>>3)]=e.accelerationIncludingGravity.y; + HEAPF64[(((JSEvents.deviceMotionEvent)+(48))>>3)]=e.accelerationIncludingGravity.z; + HEAPF64[(((JSEvents.deviceMotionEvent)+(56))>>3)]=e.rotationRate.alpha; + HEAPF64[(((JSEvents.deviceMotionEvent)+(64))>>3)]=e.rotationRate.beta; + HEAPF64[(((JSEvents.deviceMotionEvent)+(72))>>3)]=e.rotationRate.gamma; + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.deviceMotionEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: JSEvents.findEventTarget(target), + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },screenOrientation:function () { + if (!window.screen) return undefined; + return window.screen.orientation || window.screen.mozOrientation || window.screen.webkitOrientation || window.screen.msOrientation; + },fillOrientationChangeEventData:function (eventStruct, e) { + var orientations = ["portrait-primary", "portrait-secondary", "landscape-primary", "landscape-secondary"]; + var orientations2 = ["portrait", "portrait", "landscape", "landscape"]; + + var orientationString = JSEvents.screenOrientation(); + var orientation = orientations.indexOf(orientationString); + if (orientation == -1) { + orientation = orientations2.indexOf(orientationString); + } + + HEAP32[((eventStruct)>>2)]=1 << orientation; + HEAP32[(((eventStruct)+(4))>>2)]=window.orientation; + },registerOrientationChangeEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.orientationChangeEvent) { + JSEvents.orientationChangeEvent = _malloc( 8 ); + } + + if (!target) { + target = window.screen; // Orientation events need to be captured from 'window.screen' instead of 'window' + } else { + target = JSEvents.findEventTarget(target); + } + + var handlerFunc = function(event) { + var e = event || window.event; + + JSEvents.fillOrientationChangeEventData(JSEvents.orientationChangeEvent, e); + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.orientationChangeEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + if (eventTypeString == "orientationchange" && window.screen.mozOrientation !== undefined) { + eventTypeString = "mozorientationchange"; + } + + var eventHandler = { + target: target, + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },fullscreenEnabled:function () { + return document.fullscreenEnabled || document.mozFullScreenEnabled || document.webkitFullscreenEnabled || document.msFullscreenEnabled; + },fillFullscreenChangeEventData:function (eventStruct, e) { + var fullscreenElement = document.fullscreenElement || document.mozFullScreenElement || document.webkitFullscreenElement || document.msFullscreenElement; + var isFullscreen = !!fullscreenElement; + HEAP32[((eventStruct)>>2)]=isFullscreen; + HEAP32[(((eventStruct)+(4))>>2)]=JSEvents.fullscreenEnabled(); + // If transitioning to fullscreen, report info about the element that is now fullscreen. + // If transitioning to windowed mode, report info about the element that just was fullscreen. + var reportedElement = isFullscreen ? fullscreenElement : JSEvents.previousFullscreenElement; + var nodeName = JSEvents.getNodeNameForTarget(reportedElement); + var id = (reportedElement && reportedElement.id) ? reportedElement.id : ''; + stringToUTF8(nodeName, eventStruct + 8, 128); + stringToUTF8(id, eventStruct + 136, 128); + HEAP32[(((eventStruct)+(264))>>2)]=reportedElement ? reportedElement.clientWidth : 0; + HEAP32[(((eventStruct)+(268))>>2)]=reportedElement ? reportedElement.clientHeight : 0; + HEAP32[(((eventStruct)+(272))>>2)]=screen.width; + HEAP32[(((eventStruct)+(276))>>2)]=screen.height; + if (isFullscreen) { + JSEvents.previousFullscreenElement = fullscreenElement; + } + },registerFullscreenChangeEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.fullscreenChangeEvent) { + JSEvents.fullscreenChangeEvent = _malloc( 280 ); + } + + if (!target) { + target = document; // Fullscreen change events need to be captured from 'document' by default instead of 'window' + } else { + target = JSEvents.findEventTarget(target); + } + + var handlerFunc = function(event) { + var e = event || window.event; + + JSEvents.fillFullscreenChangeEventData(JSEvents.fullscreenChangeEvent, e); + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.fullscreenChangeEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: target, + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },resizeCanvasForFullscreen:function (target, strategy) { + var restoreOldStyle = __registerRestoreOldStyle(target); + var cssWidth = strategy.softFullscreen ? window.innerWidth : screen.width; + var cssHeight = strategy.softFullscreen ? window.innerHeight : screen.height; + var rect = target.getBoundingClientRect(); + var windowedCssWidth = rect.right - rect.left; + var windowedCssHeight = rect.bottom - rect.top; + var windowedRttWidth = target.width; + var windowedRttHeight = target.height; + + if (strategy.scaleMode == 3) { + __setLetterbox(target, (cssHeight - windowedCssHeight) / 2, (cssWidth - windowedCssWidth) / 2); + cssWidth = windowedCssWidth; + cssHeight = windowedCssHeight; + } else if (strategy.scaleMode == 2) { + if (cssWidth*windowedRttHeight < windowedRttWidth*cssHeight) { + var desiredCssHeight = windowedRttHeight * cssWidth / windowedRttWidth; + __setLetterbox(target, (cssHeight - desiredCssHeight) / 2, 0); + cssHeight = desiredCssHeight; + } else { + var desiredCssWidth = windowedRttWidth * cssHeight / windowedRttHeight; + __setLetterbox(target, 0, (cssWidth - desiredCssWidth) / 2); + cssWidth = desiredCssWidth; + } + } + + // If we are adding padding, must choose a background color or otherwise Chrome will give the + // padding a default white color. Do it only if user has not customized their own background color. + if (!target.style.backgroundColor) target.style.backgroundColor = 'black'; + // IE11 does the same, but requires the color to be set in the document body. + if (!document.body.style.backgroundColor) document.body.style.backgroundColor = 'black'; // IE11 + // Firefox always shows black letterboxes independent of style color. + + target.style.width = cssWidth + 'px'; + target.style.height = cssHeight + 'px'; + + if (strategy.filteringMode == 1) { + target.style.imageRendering = 'optimizeSpeed'; + target.style.imageRendering = '-moz-crisp-edges'; + target.style.imageRendering = '-o-crisp-edges'; + target.style.imageRendering = '-webkit-optimize-contrast'; + target.style.imageRendering = 'optimize-contrast'; + target.style.imageRendering = 'crisp-edges'; + target.style.imageRendering = 'pixelated'; + } + + var dpiScale = (strategy.canvasResolutionScaleMode == 2) ? window.devicePixelRatio : 1; + if (strategy.canvasResolutionScaleMode != 0) { + target.width = cssWidth * dpiScale; + target.height = cssHeight * dpiScale; + if (target.GLctxObject) target.GLctxObject.GLctx.viewport(0, 0, target.width, target.height); + } + return restoreOldStyle; + },requestFullscreen:function (target, strategy) { + // EMSCRIPTEN_FULLSCREEN_SCALE_DEFAULT + EMSCRIPTEN_FULLSCREEN_CANVAS_SCALE_NONE is a mode where no extra logic is performed to the DOM elements. + if (strategy.scaleMode != 0 || strategy.canvasResolutionScaleMode != 0) { + JSEvents.resizeCanvasForFullscreen(target, strategy); + } + + if (target.requestFullscreen) { + target.requestFullscreen(); + } else if (target.msRequestFullscreen) { + target.msRequestFullscreen(); + } else if (target.mozRequestFullScreen) { + target.mozRequestFullScreen(); + } else if (target.mozRequestFullscreen) { + target.mozRequestFullscreen(); + } else if (target.webkitRequestFullscreen) { + target.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT); + } else { + if (typeof JSEvents.fullscreenEnabled() === 'undefined') { + return -1; + } else { + return -3; + } + } + + if (strategy.canvasResizedCallback) { + Module['dynCall_iiii'](strategy.canvasResizedCallback, 37, 0, strategy.canvasResizedCallbackUserData); + } + + return 0; + },fillPointerlockChangeEventData:function (eventStruct, e) { + var pointerLockElement = document.pointerLockElement || document.mozPointerLockElement || document.webkitPointerLockElement || document.msPointerLockElement; + var isPointerlocked = !!pointerLockElement; + HEAP32[((eventStruct)>>2)]=isPointerlocked; + var nodeName = JSEvents.getNodeNameForTarget(pointerLockElement); + var id = (pointerLockElement && pointerLockElement.id) ? pointerLockElement.id : ''; + stringToUTF8(nodeName, eventStruct + 4, 128); + stringToUTF8(id, eventStruct + 132, 128); + },registerPointerlockChangeEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.pointerlockChangeEvent) { + JSEvents.pointerlockChangeEvent = _malloc( 260 ); + } + + if (!target) { + target = document; // Pointer lock change events need to be captured from 'document' by default instead of 'window' + } else { + target = JSEvents.findEventTarget(target); + } + + var handlerFunc = function(event) { + var e = event || window.event; + + JSEvents.fillPointerlockChangeEventData(JSEvents.pointerlockChangeEvent, e); + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.pointerlockChangeEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: target, + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },registerPointerlockErrorEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!target) { + target = document; // Pointer lock events need to be captured from 'document' by default instead of 'window' + } else { + target = JSEvents.findEventTarget(target); + } + + var handlerFunc = function(event) { + var e = event || window.event; + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, 0, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: target, + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },requestPointerLock:function (target) { + if (target.requestPointerLock) { + target.requestPointerLock(); + } else if (target.mozRequestPointerLock) { + target.mozRequestPointerLock(); + } else if (target.webkitRequestPointerLock) { + target.webkitRequestPointerLock(); + } else if (target.msRequestPointerLock) { + target.msRequestPointerLock(); + } else { + // document.body is known to accept pointer lock, so use that to differentiate if the user passed a bad element, + // or if the whole browser just doesn't support the feature. + if (document.body.requestPointerLock || document.body.mozRequestPointerLock || document.body.webkitRequestPointerLock || document.body.msRequestPointerLock) { + return -3; + } else { + return -1; + } + } + return 0; + },fillVisibilityChangeEventData:function (eventStruct, e) { + var visibilityStates = [ "hidden", "visible", "prerender", "unloaded" ]; + var visibilityState = visibilityStates.indexOf(document.visibilityState); + + HEAP32[((eventStruct)>>2)]=document.hidden; + HEAP32[(((eventStruct)+(4))>>2)]=visibilityState; + },registerVisibilityChangeEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.visibilityChangeEvent) { + JSEvents.visibilityChangeEvent = _malloc( 8 ); + } + + if (!target) { + target = document; // Visibility change events need to be captured from 'document' by default instead of 'window' + } else { + target = JSEvents.findEventTarget(target); + } + + var handlerFunc = function(event) { + var e = event || window.event; + + JSEvents.fillVisibilityChangeEventData(JSEvents.visibilityChangeEvent, e); + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.visibilityChangeEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: target, + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },registerTouchEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.touchEvent) { + JSEvents.touchEvent = _malloc( 1684 ); + } + + target = JSEvents.findEventTarget(target); + + var handlerFunc = function(event) { + var e = event || window.event; + + var touches = {}; + for(var i = 0; i < e.touches.length; ++i) { + var touch = e.touches[i]; + touches[touch.identifier] = touch; + } + for(var i = 0; i < e.changedTouches.length; ++i) { + var touch = e.changedTouches[i]; + touches[touch.identifier] = touch; + touch.changed = true; + } + for(var i = 0; i < e.targetTouches.length; ++i) { + var touch = e.targetTouches[i]; + touches[touch.identifier].onTarget = true; + } + + var ptr = JSEvents.touchEvent; + HEAP32[(((ptr)+(4))>>2)]=e.ctrlKey; + HEAP32[(((ptr)+(8))>>2)]=e.shiftKey; + HEAP32[(((ptr)+(12))>>2)]=e.altKey; + HEAP32[(((ptr)+(16))>>2)]=e.metaKey; + ptr += 20; // Advance to the start of the touch array. + var canvasRect = Module['canvas'] ? Module['canvas'].getBoundingClientRect() : undefined; + var targetRect = JSEvents.getBoundingClientRectOrZeros(target); + var numTouches = 0; + for(var i in touches) { + var t = touches[i]; + HEAP32[((ptr)>>2)]=t.identifier; + HEAP32[(((ptr)+(4))>>2)]=t.screenX; + HEAP32[(((ptr)+(8))>>2)]=t.screenY; + HEAP32[(((ptr)+(12))>>2)]=t.clientX; + HEAP32[(((ptr)+(16))>>2)]=t.clientY; + HEAP32[(((ptr)+(20))>>2)]=t.pageX; + HEAP32[(((ptr)+(24))>>2)]=t.pageY; + HEAP32[(((ptr)+(28))>>2)]=t.changed; + HEAP32[(((ptr)+(32))>>2)]=t.onTarget; + if (canvasRect) { + HEAP32[(((ptr)+(44))>>2)]=t.clientX - canvasRect.left; + HEAP32[(((ptr)+(48))>>2)]=t.clientY - canvasRect.top; + } else { + HEAP32[(((ptr)+(44))>>2)]=0; + HEAP32[(((ptr)+(48))>>2)]=0; + } + HEAP32[(((ptr)+(36))>>2)]=t.clientX - targetRect.left; + HEAP32[(((ptr)+(40))>>2)]=t.clientY - targetRect.top; + + ptr += 52; + + if (++numTouches >= 32) { + break; + } + } + HEAP32[((JSEvents.touchEvent)>>2)]=numTouches; + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.touchEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: target, + allowsDeferredCalls: false, // XXX Currently disabled, see bug https://bugzilla.mozilla.org/show_bug.cgi?id=966493 + // Once the above bug is resolved, enable the following condition if possible: + // allowsDeferredCalls: eventTypeString == 'touchstart', + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },fillGamepadEventData:function (eventStruct, e) { + HEAPF64[((eventStruct)>>3)]=e.timestamp; + for(var i = 0; i < e.axes.length; ++i) { + HEAPF64[(((eventStruct+i*8)+(16))>>3)]=e.axes[i]; + } + for(var i = 0; i < e.buttons.length; ++i) { + if (typeof(e.buttons[i]) === 'object') { + HEAPF64[(((eventStruct+i*8)+(528))>>3)]=e.buttons[i].value; + } else { + HEAPF64[(((eventStruct+i*8)+(528))>>3)]=e.buttons[i]; + } + } + for(var i = 0; i < e.buttons.length; ++i) { + if (typeof(e.buttons[i]) === 'object') { + HEAP32[(((eventStruct+i*4)+(1040))>>2)]=e.buttons[i].pressed; + } else { + HEAP32[(((eventStruct+i*4)+(1040))>>2)]=e.buttons[i] == 1.0; + } + } + HEAP32[(((eventStruct)+(1296))>>2)]=e.connected; + HEAP32[(((eventStruct)+(1300))>>2)]=e.index; + HEAP32[(((eventStruct)+(8))>>2)]=e.axes.length; + HEAP32[(((eventStruct)+(12))>>2)]=e.buttons.length; + stringToUTF8(e.id, eventStruct + 1304, 64); + stringToUTF8(e.mapping, eventStruct + 1368, 64); + },registerGamepadEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.gamepadEvent) { + JSEvents.gamepadEvent = _malloc( 1432 ); + } + + var handlerFunc = function(event) { + var e = event || window.event; + + JSEvents.fillGamepadEventData(JSEvents.gamepadEvent, e.gamepad); + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.gamepadEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: JSEvents.findEventTarget(target), + allowsDeferredCalls: true, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },registerBeforeUnloadEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + var handlerFunc = function(event) { + var e = event || window.event; + + var confirmationMessage = Module['dynCall_iiii'](callbackfunc, eventTypeId, 0, userData); + + if (confirmationMessage) { + confirmationMessage = Pointer_stringify(confirmationMessage); + } + if (confirmationMessage) { + e.preventDefault(); + e.returnValue = confirmationMessage; + return confirmationMessage; + } + }; + + var eventHandler = { + target: JSEvents.findEventTarget(target), + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },battery:function () { return navigator.battery || navigator.mozBattery || navigator.webkitBattery; },fillBatteryEventData:function (eventStruct, e) { + HEAPF64[((eventStruct)>>3)]=e.chargingTime; + HEAPF64[(((eventStruct)+(8))>>3)]=e.dischargingTime; + HEAPF64[(((eventStruct)+(16))>>3)]=e.level; + HEAP32[(((eventStruct)+(24))>>2)]=e.charging; + },registerBatteryEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.batteryEvent) { + JSEvents.batteryEvent = _malloc( 32 ); + } + + var handlerFunc = function(event) { + var e = event || window.event; + + JSEvents.fillBatteryEventData(JSEvents.batteryEvent, JSEvents.battery()); + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.batteryEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: JSEvents.findEventTarget(target), + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },registerWebGlEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!target) { + target = Module['canvas']; + } + var handlerFunc = function(event) { + var e = event || window.event; + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, 0, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: JSEvents.findEventTarget(target), + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + }};function __emscripten_sample_gamepad_data() { + // Polling gamepads generates garbage, so don't do it when we know there are no gamepads connected. + if (!JSEvents.numGamepadsConnected) return; + + // Produce a new Gamepad API sample if we are ticking a new game frame, or if not using emscripten_set_main_loop() at all to drive animation. + if (Browser.mainLoop.currentFrameNumber !== JSEvents.lastGamepadStateFrame || !Browser.mainLoop.currentFrameNumber) { + JSEvents.lastGamepadState = navigator.getGamepads ? navigator.getGamepads() : (navigator.webkitGetGamepads ? navigator.webkitGetGamepads : null); + JSEvents.lastGamepadStateFrame = Browser.mainLoop.currentFrameNumber; + } + }function _emscripten_get_gamepad_status(index, gamepadState) { + __emscripten_sample_gamepad_data(); + if (!JSEvents.lastGamepadState) return -1; + + // INVALID_PARAM is returned on a Gamepad index that never was there. + if (index < 0 || index >= JSEvents.lastGamepadState.length) return -5; + + // NO_DATA is returned on a Gamepad index that was removed. + // For previously disconnected gamepads there should be an empty slot (null/undefined/false) at the index. + // This is because gamepads must keep their original position in the array. + // For example, removing the first of two gamepads produces [null/undefined/false, gamepad]. + if (!JSEvents.lastGamepadState[index]) return -7; + + JSEvents.fillGamepadEventData(gamepadState, JSEvents.lastGamepadState[index]); + return 0; + } + + var _llvm_pow_f64=Math_pow; + + function _emscripten_glCopyTexImage2D(x0, x1, x2, x3, x4, x5, x6, x7) { GLctx['copyTexImage2D'](x0, x1, x2, x3, x4, x5, x6, x7) } + + function _alcGetString(device, param) { + if (AL.alcStringCache[param]) return AL.alcStringCache[param]; + var ret; + switch (param) { + case 0 /* ALC_NO_ERROR */: + ret = 'No Error'; + break; + case 0xA001 /* ALC_INVALID_DEVICE */: + ret = 'Invalid Device'; + break; + case 0xA002 /* ALC_INVALID_CONTEXT */: + ret = 'Invalid Context'; + break; + case 0xA003 /* ALC_INVALID_ENUM */: + ret = 'Invalid Enum'; + break; + case 0xA004 /* ALC_INVALID_VALUE */: + ret = 'Invalid Value'; + break; + case 0xA005 /* ALC_OUT_OF_MEMORY */: + ret = 'Out of Memory'; + break; + case 0x1004 /* ALC_DEFAULT_DEVICE_SPECIFIER */: + if (typeof(AudioContext) !== "undefined" || + typeof(webkitAudioContext) !== "undefined") { + ret = 'Device'; + } else { + return 0; + } + break; + case 0x1005 /* ALC_DEVICE_SPECIFIER */: + if (typeof(AudioContext) !== "undefined" || + typeof(webkitAudioContext) !== "undefined") { + ret = 'Device\0'; + } else { + ret = '\0'; + } + break; + case 0x311 /* ALC_CAPTURE_DEFAULT_DEVICE_SPECIFIER */: + return 0; + break; + case 0x310 /* ALC_CAPTURE_DEVICE_SPECIFIER */: + ret = '\0' + break; + case 0x1006 /* ALC_EXTENSIONS */: + if (!device) { + AL.alcErr = 0xA001 /* ALC_INVALID_DEVICE */; + return 0; + } + ret = ''; + break; + default: + AL.alcErr = 0xA003 /* ALC_INVALID_ENUM */; + return 0; + } + + ret = allocate(intArrayFromString(ret), 'i8', ALLOC_NORMAL); + + AL.alcStringCache[param] = ret; + + return ret; + } + + function _emscripten_glTexParameterfv(target, pname, params) { + var param = HEAPF32[((params)>>2)]; + GLctx.texParameterf(target, pname, param); + } + + function _emscripten_glLinkProgram(program) { + GLctx.linkProgram(GL.programs[program]); + GL.programInfos[program] = null; // uniforms no longer keep the same names after linking + GL.populateUniformTable(program); + } + + function _emscripten_glUniform3f(location, v0, v1, v2) { + GLctx.uniform3f(GL.uniforms[location], v0, v1, v2); + } + + function _emscripten_glGetObjectParameterivARB() { + Module['printErr']('missing function: emscripten_glGetObjectParameterivARB'); abort(-1); + } + + function _emscripten_glBlendFunc(x0, x1) { GLctx['blendFunc'](x0, x1) } + + function _emscripten_glUniform3i(location, v0, v1, v2) { + GLctx.uniform3i(GL.uniforms[location], v0, v1, v2); + } + + function _emscripten_glStencilOp(x0, x1, x2) { GLctx['stencilOp'](x0, x1, x2) } + + function _glCreateShader(shaderType) { + var id = GL.getNewId(GL.shaders); + GL.shaders[id] = GLctx.createShader(shaderType); + return id; + } + + function _glUniform1i(location, v0) { + GLctx.uniform1i(GL.uniforms[location], v0); + } + + function _emscripten_glBindAttribLocation(program, index, name) { + name = Pointer_stringify(name); + GLctx.bindAttribLocation(GL.programs[program], index, name); + } + + function _glGenRenderbuffers(n, renderbuffers) { + for (var i = 0; i < n; i++) { + var renderbuffer = GLctx.createRenderbuffer(); + if (!renderbuffer) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); + while(i < n) HEAP32[(((renderbuffers)+(i++*4))>>2)]=0; + return; + } + var id = GL.getNewId(GL.renderbuffers); + renderbuffer.name = id; + GL.renderbuffers[id] = renderbuffer; + HEAP32[(((renderbuffers)+(i*4))>>2)]=id; + } + } + + function _glCompressedTexImage2D(target, level, internalFormat, width, height, border, imageSize, data) { + GLctx['compressedTexImage2D'](target, level, internalFormat, width, height, border, data ? HEAPU8.subarray((data),(data+imageSize)) : null); + } + + function _glDisable(x0) { GLctx['disable'](x0) } + + function _emscripten_glEnableVertexAttribArray(index) { + GLctx.enableVertexAttribArray(index); + } + + + Module["_memset"] = _memset; + + function _alDeleteBuffers(count, buffers) + { + if (!AL.currentContext) { + return; + } + if (count > AL.currentContext.buf.length) { + AL.currentContext.err = 0xA003 /* AL_INVALID_VALUE */; + return; + } + + for (var i = 0; i < count; ++i) { + var bufferIdx = HEAP32[(((buffers)+(i*4))>>2)] - 1; + + // Make sure the buffer index is valid. + if (bufferIdx >= AL.currentContext.buf.length || !AL.currentContext.buf[bufferIdx]) { + AL.currentContext.err = 0xA001 /* AL_INVALID_NAME */; + return; + } + + // Make sure the buffer is no longer in use. + var buffer = AL.currentContext.buf[bufferIdx]; + for (var srcId in AL.currentContext.src) { + var src = AL.currentContext.src[srcId]; + if (!src) { + continue; + } + for (var k = 0; k < src.queue.length; k++) { + if (buffer === src.queue[k].buffer) { + AL.currentContext.err = 0xA004 /* AL_INVALID_OPERATION */; + return; + } + } + } + } + + for (var i = 0; i < count; ++i) { + var bufferIdx = HEAP32[(((buffers)+(i*4))>>2)] - 1; + delete AL.currentContext.buf[bufferIdx]; + } + } + + function _alListener3f(param, v1, v2, v3) { + if (!AL.currentContext) { + return; + } + switch (param) { + case 0x1004 /* AL_POSITION */: + AL.currentContext.ctx.listener._position[0] = v1; + AL.currentContext.ctx.listener._position[1] = v2; + AL.currentContext.ctx.listener._position[2] = v3; + AL.currentContext.ctx.listener.setPosition(v1, v2, v3); + break; + case 0x1006 /* AL_VELOCITY */: + AL.currentContext.ctx.listener._velocity[0] = v1; + AL.currentContext.ctx.listener._velocity[1] = v2; + AL.currentContext.ctx.listener._velocity[2] = v3; + // TODO: The velocity values are not currently used to implement a doppler effect. + // If support for doppler effect is reintroduced, compute the doppler + // speed pitch factor and apply it here. + break; + default: + AL.currentContext.err = 0xA002 /* AL_INVALID_ENUM */; + break; + } + } + + function _glfwMakeContextCurrent(winid) {} + + function _emscripten_set_touchcancel_callback(target, userData, useCapture, callbackfunc) { + JSEvents.registerTouchEventCallback(target, userData, useCapture, callbackfunc, 25, "touchcancel"); + return 0; + } + + function _glBindFramebuffer(target, framebuffer) { + GLctx.bindFramebuffer(target, framebuffer ? GL.framebuffers[framebuffer] : null); + } + + function ___lock() {} + + function _emscripten_glBlendFuncSeparate(x0, x1, x2, x3) { GLctx['blendFuncSeparate'](x0, x1, x2, x3) } + + function _glCullFace(x0) { GLctx['cullFace'](x0) } + + function _emscripten_glGetVertexAttribPointerv(index, pname, pointer) { + if (!pointer) { + // GLES2 specification does not specify how to behave if pointer is a null pointer. Since calling this function does not make sense + // if pointer == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + HEAP32[((pointer)>>2)]=GLctx.getVertexAttribOffset(index, pname); + } + + function _emscripten_glVertexAttrib3f(x0, x1, x2, x3) { GLctx['vertexAttrib3f'](x0, x1, x2, x3) } + + function _alSource3f(source, param, v1, v2, v3) { + if (!AL.currentContext) { + return; + } + var src = AL.currentContext.src[source]; + if (!src) { + AL.currentContext.err = 0xA001 /* AL_INVALID_NAME */; + return; + } + switch (param) { + case 0x1004 /* AL_POSITION */: + src.position[0] = v1; + src.position[1] = v2; + src.position[2] = v3; + break; + case 0x1005 /* AL_DIRECTION */: + src.direction[0] = v1; + src.direction[1] = v2; + src.direction[2] = v3; + break; + case 0x1006 /* AL_VELOCITY */: + src.velocity[0] = v1; + src.velocity[1] = v2; + src.velocity[2] = v3; + break; + default: + AL.currentContext.err = 0xA002 /* AL_INVALID_ENUM */; + break; + } + } + + function _emscripten_glEnable(x0) { GLctx['enable'](x0) } + + function _emscripten_glNormalPointer() { + Module['printErr']('missing function: emscripten_glNormalPointer'); abort(-1); + } + + + var _emscripten_GetProcAddress=undefined; + Module["_emscripten_GetProcAddress"] = _emscripten_GetProcAddress; + + var EGL={errorCode:12288,defaultDisplayInitialized:false,currentContext:0,currentReadSurface:0,currentDrawSurface:0,stringCache:{},setErrorCode:function (code) { + EGL.errorCode = code; + },chooseConfig:function (display, attribList, config, config_size, numConfigs) { + if (display != 62000 /* Magic ID for Emscripten 'default display' */) { + EGL.setErrorCode(0x3008 /* EGL_BAD_DISPLAY */); + return 0; + } + // TODO: read attribList. + if ((!config || !config_size) && !numConfigs) { + EGL.setErrorCode(0x300C /* EGL_BAD_PARAMETER */); + return 0; + } + if (numConfigs) { + HEAP32[((numConfigs)>>2)]=1; // Total number of supported configs: 1. + } + if (config && config_size > 0) { + HEAP32[((config)>>2)]=62002; + } + + EGL.setErrorCode(0x3000 /* EGL_SUCCESS */); + return 1; + }};function _eglGetProcAddress(name_) { + return _emscripten_GetProcAddress(name_); + } + + function _glDeleteProgram(id) { + if (!id) return; + var program = GL.programs[id]; + if (!program) { // glDeleteProgram actually signals an error when deleting a nonexisting object, unlike some other GL delete functions. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + GLctx.deleteProgram(program); + program.name = 0; + GL.programs[id] = null; + GL.programInfos[id] = null; + } + + function _glRenderbufferStorage(x0, x1, x2, x3) { GLctx['renderbufferStorage'](x0, x1, x2, x3) } + + function _alSourcePlay(source) { + if (!AL.currentContext) { + return; + } + var src = AL.currentContext.src[source]; + if (!src) { + AL.currentContext.err = 0xA001 /* AL_INVALID_NAME */; + return; + } + AL.setSourceState(src, 0x1012 /* AL_PLAYING */); + } + + function _glAttachShader(program, shader) { + GLctx.attachShader(GL.programs[program], + GL.shaders[shader]); + } + + function _glfwGetPrimaryMonitor() { + return 1; + } + + + function emscriptenWebGLGetVertexAttrib(index, pname, params, type) { + if (!params) { + // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense + // if params == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + var data = GLctx.getVertexAttrib(index, pname); + if (pname == 0x889F/*VERTEX_ATTRIB_ARRAY_BUFFER_BINDING*/) { + HEAP32[((params)>>2)]=data["name"]; + } else if (typeof data == 'number' || typeof data == 'boolean') { + switch (type) { + case 'Integer': HEAP32[((params)>>2)]=data; break; + case 'Float': HEAPF32[((params)>>2)]=data; break; + case 'FloatToInteger': HEAP32[((params)>>2)]=Math.fround(data); break; + default: throw 'internal emscriptenWebGLGetVertexAttrib() error, bad type: ' + type; + } + } else { + for (var i = 0; i < data.length; i++) { + switch (type) { + case 'Integer': HEAP32[(((params)+(i))>>2)]=data[i]; break; + case 'Float': HEAPF32[(((params)+(i))>>2)]=data[i]; break; + case 'FloatToInteger': HEAP32[(((params)+(i))>>2)]=Math.fround(data[i]); break; + default: throw 'internal emscriptenWebGLGetVertexAttrib() error, bad type: ' + type; + } + } + } + }function _emscripten_glGetVertexAttribfv(index, pname, params) { + // N.B. This function may only be called if the vertex attribute was specified using the function glVertexAttrib*f(), + // otherwise the results are undefined. (GLES3 spec 6.1.12) + emscriptenWebGLGetVertexAttrib(index, pname, params, 'Float'); + } + + function _emscripten_set_touchstart_callback(target, userData, useCapture, callbackfunc) { + JSEvents.registerTouchEventCallback(target, userData, useCapture, callbackfunc, 22, "touchstart"); + return 0; + } + + function _emscripten_glDeleteShader(id) { + if (!id) return; + var shader = GL.shaders[id]; + if (!shader) { // glDeleteShader actually signals an error when deleting a nonexisting object, unlike some other GL delete functions. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + GLctx.deleteShader(shader); + GL.shaders[id] = null; + } + + function _emscripten_glVertexPointer(){ throw 'Legacy GL function (glVertexPointer) called. If you want legacy GL emulation, you need to compile with -s LEGACY_GL_EMULATION=1 to enable legacy GL emulation.'; } + + function _emscripten_glDeleteBuffers(n, buffers) { + for (var i = 0; i < n; i++) { + var id = HEAP32[(((buffers)+(i*4))>>2)]; + var buffer = GL.buffers[id]; + + // From spec: "glDeleteBuffers silently ignores 0's and names that do not + // correspond to existing buffer objects." + if (!buffer) continue; + + GLctx.deleteBuffer(buffer); + buffer.name = 0; + GL.buffers[id] = null; + + if (id == GL.currArrayBuffer) GL.currArrayBuffer = 0; + if (id == GL.currElementArrayBuffer) GL.currElementArrayBuffer = 0; + } + } + + function _emscripten_glTexParameteriv(target, pname, params) { + var param = HEAP32[((params)>>2)]; + GLctx.texParameteri(target, pname, param); + } + + function _glDrawElements(mode, count, type, indices) { + + GLctx.drawElements(mode, count, type, indices); + + } + + function _glfwTerminate() { + window.removeEventListener("keydown", GLFW.onKeydown, true); + window.removeEventListener("keypress", GLFW.onKeyPress, true); + window.removeEventListener("keyup", GLFW.onKeyup, true); + Module["canvas"].removeEventListener("mousemove", GLFW.onMousemove, true); + Module["canvas"].removeEventListener("mousedown", GLFW.onMouseButtonDown, true); + Module["canvas"].removeEventListener("mouseup", GLFW.onMouseButtonUp, true); + Module["canvas"].removeEventListener('wheel', GLFW.onMouseWheel, true); + Module["canvas"].removeEventListener('mousewheel', GLFW.onMouseWheel, true); + Module["canvas"].removeEventListener('mouseenter', GLFW.onMouseenter, true); + Module["canvas"].removeEventListener('mouseleave', GLFW.onMouseleave, true); + Module["canvas"].width = Module["canvas"].height = 1; + GLFW.windows = null; + GLFW.active = null; + } + + function _emscripten_glUniformMatrix2fv(location, count, transpose, value) { + + + var view; + if (4*count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[4*count-1]; + for (var i = 0; i < 4*count; i += 4) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; + view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; + view[i+3] = HEAPF32[(((value)+(4*i+12))>>2)]; + } + } else { + view = HEAPF32.subarray((value)>>2,(value+count*16)>>2); + } + GLctx.uniformMatrix2fv(GL.uniforms[location], !!transpose, view); + } + + function ___syscall5(which, varargs) {SYSCALLS.varargs = varargs; + try { + // open + var pathname = SYSCALLS.getStr(), flags = SYSCALLS.get(), mode = SYSCALLS.get() // optional TODO + var stream = FS.open(pathname, flags, mode); + return stream.fd; + } catch (e) { + if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno; + } + } + + function ___syscall6(which, varargs) {SYSCALLS.varargs = varargs; + try { + // close + var stream = SYSCALLS.getStreamFromFD(); + FS.close(stream); + return 0; + } catch (e) { + if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno; + } + } + + function _llvm_stacksave() { + var self = _llvm_stacksave; + if (!self.LLVM_SAVEDSTACKS) { + self.LLVM_SAVEDSTACKS = []; + } + self.LLVM_SAVEDSTACKS.push(Runtime.stackSave()); + return self.LLVM_SAVEDSTACKS.length-1; + } + + function _emscripten_glGetVertexAttribiv(index, pname, params) { + // N.B. This function may only be called if the vertex attribute was specified using the function glVertexAttrib*f(), + // otherwise the results are undefined. (GLES3 spec 6.1.12) + emscriptenWebGLGetVertexAttrib(index, pname, params, 'FloatToInteger'); + } + + function _emscripten_glUniformMatrix4fv(location, count, transpose, value) { + + + var view; + if (16*count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[16*count-1]; + for (var i = 0; i < 16*count; i += 16) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; + view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; + view[i+3] = HEAPF32[(((value)+(4*i+12))>>2)]; + view[i+4] = HEAPF32[(((value)+(4*i+16))>>2)]; + view[i+5] = HEAPF32[(((value)+(4*i+20))>>2)]; + view[i+6] = HEAPF32[(((value)+(4*i+24))>>2)]; + view[i+7] = HEAPF32[(((value)+(4*i+28))>>2)]; + view[i+8] = HEAPF32[(((value)+(4*i+32))>>2)]; + view[i+9] = HEAPF32[(((value)+(4*i+36))>>2)]; + view[i+10] = HEAPF32[(((value)+(4*i+40))>>2)]; + view[i+11] = HEAPF32[(((value)+(4*i+44))>>2)]; + view[i+12] = HEAPF32[(((value)+(4*i+48))>>2)]; + view[i+13] = HEAPF32[(((value)+(4*i+52))>>2)]; + view[i+14] = HEAPF32[(((value)+(4*i+56))>>2)]; + view[i+15] = HEAPF32[(((value)+(4*i+60))>>2)]; + } + } else { + view = HEAPF32.subarray((value)>>2,(value+count*64)>>2); + } + GLctx.uniformMatrix4fv(GL.uniforms[location], !!transpose, view); + } + + function _emscripten_glDrawArraysInstanced(mode, first, count, primcount) { + GLctx['drawArraysInstanced'](mode, first, count, primcount); + } + + function _emscripten_glEnableClientState() { + Module['printErr']('missing function: emscripten_glEnableClientState'); abort(-1); + } + + function _emscripten_glGetPointerv() { + Module['printErr']('missing function: emscripten_glGetPointerv'); abort(-1); + } + + function ___syscall140(which, varargs) {SYSCALLS.varargs = varargs; + try { + // llseek + var stream = SYSCALLS.getStreamFromFD(), offset_high = SYSCALLS.get(), offset_low = SYSCALLS.get(), result = SYSCALLS.get(), whence = SYSCALLS.get(); + var offset = offset_low; + assert(offset_high === 0); + FS.llseek(stream, offset, whence); + HEAP32[((result)>>2)]=stream.position; + if (stream.getdents && offset === 0 && whence === 0) stream.getdents = null; // reset readdir state + return 0; + } catch (e) { + if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno; + } + } + + function ___syscall146(which, varargs) {SYSCALLS.varargs = varargs; + try { + // writev + var stream = SYSCALLS.getStreamFromFD(), iov = SYSCALLS.get(), iovcnt = SYSCALLS.get(); + return SYSCALLS.doWritev(stream, iov, iovcnt); + } catch (e) { + if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno; + } + } + + function _emscripten_glUniform1i(location, v0) { + GLctx.uniform1i(GL.uniforms[location], v0); + } + + function ___syscall145(which, varargs) {SYSCALLS.varargs = varargs; + try { + // readv + var stream = SYSCALLS.getStreamFromFD(), iov = SYSCALLS.get(), iovcnt = SYSCALLS.get(); + return SYSCALLS.doReadv(stream, iov, iovcnt); + } catch (e) { + if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno; + } + } + + function _emscripten_glStencilMask(x0) { GLctx['stencilMask'](x0) } + + function _emscripten_glStencilFuncSeparate(x0, x1, x2, x3) { GLctx['stencilFuncSeparate'](x0, x1, x2, x3) } + + + Module["_i64Subtract"] = _i64Subtract; + + + Module["_i64Add"] = _i64Add; + + function _emscripten_set_touchend_callback(target, userData, useCapture, callbackfunc) { + JSEvents.registerTouchEventCallback(target, userData, useCapture, callbackfunc, 23, "touchend"); + return 0; + } + + function _glUseProgram(program) { + GLctx.useProgram(program ? GL.programs[program] : null); + } + + function _emscripten_glDisableVertexAttribArray(index) { + GLctx.disableVertexAttribArray(index); + } + + function _emscripten_glVertexAttrib1f(x0, x1) { GLctx['vertexAttrib1f'](x0, x1) } + + function _emscripten_glFinish() { GLctx['finish']() } + + function _glDeleteFramebuffers(n, framebuffers) { + for (var i = 0; i < n; ++i) { + var id = HEAP32[(((framebuffers)+(i*4))>>2)]; + var framebuffer = GL.framebuffers[id]; + if (!framebuffer) continue; // GL spec: "glDeleteFramebuffers silently ignores 0s and names that do not correspond to existing framebuffer objects". + GLctx.deleteFramebuffer(framebuffer); + framebuffer.name = 0; + GL.framebuffers[id] = null; + } + } + + function _glDrawArrays(mode, first, count) { + + GLctx.drawArrays(mode, first, count); + + } + + function _emscripten_glDepthFunc(x0) { GLctx['depthFunc'](x0) } + + function _alcOpenDevice(deviceName) { + if (typeof(AudioContext) !== "undefined" || + typeof(webkitAudioContext) !== "undefined") { + return 1; // non-null pointer -- we just simulate one device + } else { + return 0; + } + } + + function _emscripten_get_num_gamepads() { + // Polling gamepads generates garbage, so don't do it when we know there are no gamepads connected. + if (!JSEvents.numGamepadsConnected) return 0; + + __emscripten_sample_gamepad_data(); + if (!JSEvents.lastGamepadState) return -1; + return JSEvents.lastGamepadState.length; + } + + function _glGetProgramInfoLog(program, maxLength, length, infoLog) { + var log = GLctx.getProgramInfoLog(GL.programs[program]); + if (log === null) log = '(unknown error)'; + + if (maxLength > 0 && infoLog) { + var numBytesWrittenExclNull = stringToUTF8(log, infoLog, maxLength); + if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; + } else { + if (length) HEAP32[((length)>>2)]=0; + } + } + + function _emscripten_glUniform4iv(location, count, value) { + + + GLctx.uniform4iv(GL.uniforms[location], HEAP32.subarray((value)>>2,(value+count*16)>>2)); + } + + function _glClear(x0) { GLctx['clear'](x0) } + + function _emscripten_glLoadIdentity(){ throw 'Legacy GL function (glLoadIdentity) called. If you want legacy GL emulation, you need to compile with -s LEGACY_GL_EMULATION=1 to enable legacy GL emulation.'; } + + function _emscripten_glUniform3fv(location, count, value) { + + + var view; + if (3*count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[3*count-1]; + for (var i = 0; i < 3*count; i += 3) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; + view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; + } + } else { + view = HEAPF32.subarray((value)>>2,(value+count*12)>>2); + } + GLctx.uniform3fv(GL.uniforms[location], view); + } + + function _emscripten_glIsTexture(texture) { + var texture = GL.textures[texture]; + if (!texture) return 0; + return GLctx.isTexture(texture); + } + + function _glEnableVertexAttribArray(index) { + GLctx.enableVertexAttribArray(index); + } + + function _emscripten_glAttachShader(program, shader) { + GLctx.attachShader(GL.programs[program], + GL.shaders[shader]); + } + + function _alSourceUnqueueBuffers(source, count, buffers) { + if (!AL.currentContext) { + return; + } + var src = AL.currentContext.src[source]; + if (!src) { + AL.currentContext.err = 0xA001 /* AL_INVALID_NAME */; + return; + } + + if (count > src.buffersPlayed) { + AL.currentContext.err = 0xA003 /* AL_INVALID_VALUE */; + return; + } + + for (var i = 0; i < count; i++) { + var entry = src.queue.shift(); + // Write the buffers index out to the return list. + for (var j = 0; j < AL.currentContext.buf.length; j++) { + var b = AL.currentContext.buf[j]; + if (b && b == entry.buffer) { + HEAP32[(((buffers)+(i*4))>>2)]=j+1; + break; + } + } + src.buffersPlayed--; + } + + AL.updateSource(src); + } + + function _glUniform4f(location, v0, v1, v2, v3) { + GLctx.uniform4f(GL.uniforms[location], v0, v1, v2, v3); + } + + function _glFramebufferTexture2D(target, attachment, textarget, texture, level) { + GLctx.framebufferTexture2D(target, attachment, textarget, + GL.textures[texture], level); + } + + function _emscripten_glVertexAttrib2f(x0, x1, x2) { GLctx['vertexAttrib2f'](x0, x1, x2) } + + function _glfwCreateWindow(width, height, title, monitor, share) { + return GLFW.createWindow(width, height, title, monitor, share); + } + + function _emscripten_glColorPointer() { + Module['printErr']('missing function: emscripten_glColorPointer'); abort(-1); + } + + function _alGetSourcei(source, param, value) { + if (!AL.currentContext) { + return; + } + var src = AL.currentContext.src[source]; + if (!src) { + AL.currentContext.err = 0xA001 /* AL_INVALID_NAME */; + return; + } + + // Being that we have no way to receive end events from buffer nodes, + // we currently proccess and update a source's buffer queue every + // ~QUEUE_INTERVAL milliseconds. However, this interval is not precise, + // so we also forcefully update the source when alGetSourcei is queried + // to aid in the common scenario of application calling alGetSourcei(AL_BUFFERS_PROCESSED) + // to recycle buffers. + AL.updateSource(src); + + switch (param) { + case 0x202 /* AL_SOURCE_RELATIVE */: + HEAP32[((value)>>2)]=src.panner ? 1 : 0; + break; + case 0x1001 /* AL_CONE_INNER_ANGLE */: + HEAP32[((value)>>2)]=src.coneInnerAngle; + break; + case 0x1002 /* AL_CONE_OUTER_ANGLE */: + HEAP32[((value)>>2)]=src.coneOuterAngle; + break; + case 0x1007 /* AL_LOOPING */: + HEAP32[((value)>>2)]=src.loop; + break; + case 0x1009 /* AL_BUFFER */: + if (!src.queue.length) { + HEAP32[((value)>>2)]=0; + } else { + // Find the first unprocessed buffer. + var buffer = src.queue[src.buffersPlayed].buffer; + // Return its index. + for (var i = 0; i < AL.currentContext.buf.length; ++i) { + if (buffer == AL.currentContext.buf[i]) { + HEAP32[((value)>>2)]=i+1; + return; + } + } + HEAP32[((value)>>2)]=0; + } + break; + case 0x1010 /* AL_SOURCE_STATE */: + HEAP32[((value)>>2)]=src.state; + break; + case 0x1015 /* AL_BUFFERS_QUEUED */: + HEAP32[((value)>>2)]=src.queue.length + break; + case 0x1016 /* AL_BUFFERS_PROCESSED */: + if (src.loop) { + HEAP32[((value)>>2)]=0 + } else { + HEAP32[((value)>>2)]=src.buffersPlayed + } + break; + default: + AL.currentContext.err = 0xA002 /* AL_INVALID_ENUM */; + break; + } + } + + function _emscripten_glClearStencil(x0) { GLctx['clearStencil'](x0) } + + function _emscripten_glDetachShader(program, shader) { + GLctx.detachShader(GL.programs[program], + GL.shaders[shader]); + } + + function _emscripten_glDeleteVertexArrays(n, vaos) { + for (var i = 0; i < n; i++) { + var id = HEAP32[(((vaos)+(i*4))>>2)]; + GLctx['deleteVertexArray'](GL.vaos[id]); + GL.vaos[id] = null; + } + } + + function _alGenSources(count, sources) { + if (!AL.currentContext) { + return; + } + for (var i = 0; i < count; ++i) { + var gain = AL.currentContext.ctx.createGain(); + gain.connect(AL.currentContext.gain); + AL.currentContext.src[AL.newSrcId] = { + context: AL.currentContext, + state: 0x1011 /* AL_INITIAL */, + queue: [], + loop: false, + playbackRate: 1, + _position: [0, 0, 0], + _velocity: [0, 0, 0], + _direction: [0, 0, 0], + get refDistance() { + return this._refDistance || 1; + }, + set refDistance(val) { + this._refDistance = val; + if (this.panner) this.panner.refDistance = val; + }, + get maxDistance() { + return this._maxDistance || 10000; + }, + set maxDistance(val) { + this._maxDistance = val; + if (this.panner) this.panner.maxDistance = val; + }, + get rolloffFactor() { + return this._rolloffFactor || 1; + }, + set rolloffFactor(val) { + this._rolloffFactor = val; + if (this.panner) this.panner.rolloffFactor = val; + }, + get position() { + return this._position; + }, + set position(val) { + this._position[0] = val[0]; + this._position[1] = val[1]; + this._position[2] = val[2]; + if (this.panner) this.panner.setPosition(val[0], val[1], val[2]); + }, + get velocity() { + return this._velocity; + }, + set velocity(val) { + this._velocity[0] = val[0]; + this._velocity[1] = val[1]; + this._velocity[2] = val[2]; + // TODO: The velocity values are not currently used to implement a doppler effect. + // If support for doppler effect is reintroduced, compute the doppler + // speed pitch factor and apply it here. + }, + get direction() { + return this._direction; + }, + set direction(val) { + this._direction[0] = val[0]; + this._direction[1] = val[1]; + this._direction[2] = val[2]; + if (this.panner) this.panner.setOrientation(val[0], val[1], val[2]); + }, + get coneOuterGain() { + return this._coneOuterGain || 0.0; + }, + set coneOuterGain(val) { + this._coneOuterGain = val; + if (this.panner) this.panner.coneOuterGain = val; + }, + get coneInnerAngle() { + return this._coneInnerAngle || 360.0; + }, + set coneInnerAngle(val) { + this._coneInnerAngle = val; + if (this.panner) this.panner.coneInnerAngle = val; + }, + get coneOuterAngle() { + return this._coneOuterAngle || 360.0; + }, + set coneOuterAngle(val) { + this._coneOuterAngle = val; + if (this.panner) this.panner.coneOuterAngle = val; + }, + gain: gain, + panner: null, + buffersPlayed: 0, + bufferPosition: 0 + }; + HEAP32[(((sources)+(i*4))>>2)]=AL.newSrcId; + AL.newSrcId++; + } + } + + function _glGenFramebuffers(n, ids) { + for (var i = 0; i < n; ++i) { + var framebuffer = GLctx.createFramebuffer(); + if (!framebuffer) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); + while(i < n) HEAP32[(((ids)+(i++*4))>>2)]=0; + return; + } + var id = GL.getNewId(GL.framebuffers); + framebuffer.name = id; + GL.framebuffers[id] = framebuffer; + HEAP32[(((ids)+(i*4))>>2)]=id; + } + } + + function _glfwInit() { + if (GLFW.windows) return 1; // GL_TRUE + + GLFW.initialTime = GLFW.getTime(); + GLFW.hints = GLFW.defaultHints; + GLFW.windows = new Array() + GLFW.active = null; + + window.addEventListener("keydown", GLFW.onKeydown, true); + window.addEventListener("keypress", GLFW.onKeyPress, true); + window.addEventListener("keyup", GLFW.onKeyup, true); + Module["canvas"].addEventListener("mousemove", GLFW.onMousemove, true); + Module["canvas"].addEventListener("mousedown", GLFW.onMouseButtonDown, true); + Module["canvas"].addEventListener("mouseup", GLFW.onMouseButtonUp, true); + Module["canvas"].addEventListener('wheel', GLFW.onMouseWheel, true); + Module["canvas"].addEventListener('mousewheel', GLFW.onMouseWheel, true); + Module["canvas"].addEventListener('mouseenter', GLFW.onMouseenter, true); + Module["canvas"].addEventListener('mouseleave', GLFW.onMouseleave, true); + + Browser.resizeListeners.push(function(width, height) { + GLFW.onCanvasResize(width, height); + }); + return 1; // GL_TRUE + } + + function _emscripten_glGetTexParameteriv(target, pname, params) { + if (!params) { + // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense + // if p == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + HEAP32[((params)>>2)]=GLctx.getTexParameter(target, pname); + } + + function _alDeleteSources(count, sources) { + if (!AL.currentContext) { + return; + } + for (var i = 0; i < count; ++i) { + var sourceIdx = HEAP32[(((sources)+(i*4))>>2)]; + delete AL.currentContext.src[sourceIdx]; + } + } + + function _glfwSwapBuffers(winid) { + GLFW.swapBuffers(winid); + } + + function _emscripten_glGenerateMipmap(x0) { GLctx['generateMipmap'](x0) } + + function _emscripten_glCullFace(x0) { GLctx['cullFace'](x0) } + + function _emscripten_glUniform4f(location, v0, v1, v2, v3) { + GLctx.uniform4f(GL.uniforms[location], v0, v1, v2, v3); + } + + function _glDisableVertexAttribArray(index) { + GLctx.disableVertexAttribArray(index); + } + + function _emscripten_glUseProgram(program) { + GLctx.useProgram(program ? GL.programs[program] : null); + } + + function _emscripten_glHint(x0, x1) { GLctx['hint'](x0, x1) } + + function _emscripten_glUniform2fv(location, count, value) { + + + var view; + if (2*count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[2*count-1]; + for (var i = 0; i < 2*count; i += 2) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; + } + } else { + view = HEAPF32.subarray((value)>>2,(value+count*8)>>2); + } + GLctx.uniform2fv(GL.uniforms[location], view); + } + + function _glfwSwapInterval(interval) { + interval = Math.abs(interval); // GLFW uses negative values to enable GLX_EXT_swap_control_tear, which we don't have, so just treat negative and positive the same. + if (interval == 0) _emscripten_set_main_loop_timing(0/*EM_TIMING_SETTIMEOUT*/, 0); + else _emscripten_set_main_loop_timing(1/*EM_TIMING_RAF*/, interval); + } + + function _glGetShaderInfoLog(shader, maxLength, length, infoLog) { + var log = GLctx.getShaderInfoLog(GL.shaders[shader]); + if (log === null) log = '(unknown error)'; + if (maxLength > 0 && infoLog) { + var numBytesWrittenExclNull = stringToUTF8(log, infoLog, maxLength); + if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; + } else { + if (length) HEAP32[((length)>>2)]=0; + } + } + + function _emscripten_glMatrixMode(){ throw 'Legacy GL function (glMatrixMode) called. If you want legacy GL emulation, you need to compile with -s LEGACY_GL_EMULATION=1 to enable legacy GL emulation.'; } + + function _abort() { + Module['abort'](); + } + + function _emscripten_glFramebufferRenderbuffer(target, attachment, renderbuffertarget, renderbuffer) { + GLctx.framebufferRenderbuffer(target, attachment, renderbuffertarget, + GL.renderbuffers[renderbuffer]); + } + + function _alSourcePause(source) { + if (!AL.currentContext) { + return; + } + var src = AL.currentContext.src[source]; + if (!src) { + AL.currentContext.err = 0xA001 /* AL_INVALID_NAME */; + return; + } + AL.setSourceState(src, 0x1013 /* AL_PAUSED */); + } + + function _alGenBuffers(count, buffers) { + if (!AL.currentContext) { + return; + } + for (var i = 0; i < count; ++i) { + AL.currentContext.buf.push(null); + HEAP32[(((buffers)+(i*4))>>2)]=AL.currentContext.buf.length; + } + } + + function _emscripten_glDeleteFramebuffers(n, framebuffers) { + for (var i = 0; i < n; ++i) { + var id = HEAP32[(((framebuffers)+(i*4))>>2)]; + var framebuffer = GL.framebuffers[id]; + if (!framebuffer) continue; // GL spec: "glDeleteFramebuffers silently ignores 0s and names that do not correspond to existing framebuffer objects". + GLctx.deleteFramebuffer(framebuffer); + framebuffer.name = 0; + GL.framebuffers[id] = null; + } + } + + function _emscripten_glIsBuffer(buffer) { + var b = GL.buffers[buffer]; + if (!b) return 0; + return GLctx.isBuffer(b); + } + + function _emscripten_glUniform2iv(location, count, value) { + + + GLctx.uniform2iv(GL.uniforms[location], HEAP32.subarray((value)>>2,(value+count*8)>>2)); + } + + function _emscripten_glVertexAttrib1fv(index, v) { + + GLctx.vertexAttrib1f(index, HEAPF32[v>>2]); + } + + function _glEnable(x0) { GLctx['enable'](x0) } + + function _alBufferData(buffer, format, data, size, freq) { + if (!AL.currentContext) { + return; + } + if (buffer > AL.currentContext.buf.length) { + return; + } + + try { + switch (format) { + case 0x1100 /* AL_FORMAT_MONO8 */: + var buf = AL.currentContext.ctx.createBuffer(1, size, freq); + buf.bytesPerSample = 1; + var channel0 = buf.getChannelData(0); + for (var i = 0; i < size; ++i) channel0[i] = HEAPU8[data++] * 0.0078125 /* 1/128 */ - 1.0; + break; + case 0x1101 /* AL_FORMAT_MONO16 */: + var buf = AL.currentContext.ctx.createBuffer(1, size>>1, freq); + buf.bytesPerSample = 2; + var channel0 = buf.getChannelData(0); + data >>= 1; + for (var i = 0; i < size>>1; ++i) channel0[i] = HEAP16[data++] * 0.000030517578125 /* 1/32768 */; + break; + case 0x1102 /* AL_FORMAT_STEREO8 */: + var buf = AL.currentContext.ctx.createBuffer(2, size>>1, freq); + buf.bytesPerSample = 1; + var channel0 = buf.getChannelData(0); + var channel1 = buf.getChannelData(1); + for (var i = 0; i < size>>1; ++i) { + channel0[i] = HEAPU8[data++] * 0.0078125 /* 1/128 */ - 1.0; + channel1[i] = HEAPU8[data++] * 0.0078125 /* 1/128 */ - 1.0; + } + break; + case 0x1103 /* AL_FORMAT_STEREO16 */: + var buf = AL.currentContext.ctx.createBuffer(2, size>>2, freq); + buf.bytesPerSample = 2; + var channel0 = buf.getChannelData(0); + var channel1 = buf.getChannelData(1); + data >>= 1; + for (var i = 0; i < size>>2; ++i) { + channel0[i] = HEAP16[data++] * 0.000030517578125 /* 1/32768 */; + channel1[i] = HEAP16[data++] * 0.000030517578125 /* 1/32768 */; + } + break; + case 0x10010 /* AL_FORMAT_MONO_FLOAT32 */: + var buf = AL.currentContext.ctx.createBuffer(1, size>>2, freq); + buf.bytesPerSample = 4; + var channel0 = buf.getChannelData(0); + data >>= 2; + for (var i = 0; i < size>>2; ++i) channel0[i] = HEAPF32[data++]; + break; + case 0x10011 /* AL_FORMAT_STEREO_FLOAT32 */: + var buf = AL.currentContext.ctx.createBuffer(2, size>>3, freq); + buf.bytesPerSample = 4; + var channel0 = buf.getChannelData(0); + var channel1 = buf.getChannelData(1); + data >>= 2; + for (var i = 0; i < size>>2; ++i) { + channel0[i] = HEAPF32[data++]; + channel1[i] = HEAPF32[data++]; + } + break; + default: + AL.currentContext.err = 0xA003 /* AL_INVALID_VALUE */; + break; + } + AL.currentContext.buf[buffer - 1] = buf; + } catch (e) { + AL.currentContext.err = 0xA003 /* AL_INVALID_VALUE */; + } + } + + function _alSourceStop(source) { + if (!AL.currentContext) { + return; + } + var src = AL.currentContext.src[source]; + if (!src) { + AL.currentContext.err = 0xA001 /* AL_INVALID_NAME */; + return; + } + AL.setSourceState(src, 0x1014 /* AL_STOPPED */); + } + + function _emscripten_glGenFramebuffers(n, ids) { + for (var i = 0; i < n; ++i) { + var framebuffer = GLctx.createFramebuffer(); + if (!framebuffer) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); + while(i < n) HEAP32[(((ids)+(i++*4))>>2)]=0; + return; + } + var id = GL.getNewId(GL.framebuffers); + framebuffer.name = id; + GL.framebuffers[id] = framebuffer; + HEAP32[(((ids)+(i*4))>>2)]=id; + } + } + + + + function emscriptenWebGLComputeImageSize(width, height, sizePerPixel, alignment) { + function roundedToNextMultipleOf(x, y) { + return Math.floor((x + y - 1) / y) * y + } + var plainRowSize = width * sizePerPixel; + var alignedRowSize = roundedToNextMultipleOf(plainRowSize, alignment); + return (height <= 0) ? 0 : + ((height - 1) * alignedRowSize + plainRowSize); + }function emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, internalFormat) { + var sizePerPixel; + var numChannels; + switch(format) { + case 0x1906 /* GL_ALPHA */: + case 0x1909 /* GL_LUMINANCE */: + case 0x1902 /* GL_DEPTH_COMPONENT */: + numChannels = 1; + break; + case 0x190A /* GL_LUMINANCE_ALPHA */: + numChannels = 2; + break; + case 0x1907 /* GL_RGB */: + case 0x8C40 /* GL_SRGB_EXT */: + numChannels = 3; + break; + case 0x1908 /* GL_RGBA */: + case 0x8C42 /* GL_SRGB_ALPHA_EXT */: + numChannels = 4; + break; + default: + GL.recordError(0x0500); // GL_INVALID_ENUM + return null; + } + switch (type) { + case 0x1401 /* GL_UNSIGNED_BYTE */: + sizePerPixel = numChannels*1; + break; + case 0x1403 /* GL_UNSIGNED_SHORT */: + case 0x8D61 /* GL_HALF_FLOAT_OES */: + sizePerPixel = numChannels*2; + break; + case 0x1405 /* GL_UNSIGNED_INT */: + case 0x1406 /* GL_FLOAT */: + sizePerPixel = numChannels*4; + break; + case 0x84FA /* GL_UNSIGNED_INT_24_8_WEBGL/GL_UNSIGNED_INT_24_8 */: + sizePerPixel = 4; + break; + case 0x8363 /* GL_UNSIGNED_SHORT_5_6_5 */: + case 0x8033 /* GL_UNSIGNED_SHORT_4_4_4_4 */: + case 0x8034 /* GL_UNSIGNED_SHORT_5_5_5_1 */: + sizePerPixel = 2; + break; + default: + GL.recordError(0x0500); // GL_INVALID_ENUM + return null; + } + var bytes = emscriptenWebGLComputeImageSize(width, height, sizePerPixel, GL.unpackAlignment); + switch(type) { + case 0x1401 /* GL_UNSIGNED_BYTE */: + return HEAPU8.subarray((pixels),(pixels+bytes)); + case 0x1406 /* GL_FLOAT */: + return HEAPF32.subarray((pixels)>>2,(pixels+bytes)>>2); + case 0x1405 /* GL_UNSIGNED_INT */: + case 0x84FA /* GL_UNSIGNED_INT_24_8_WEBGL/GL_UNSIGNED_INT_24_8 */: + return HEAPU32.subarray((pixels)>>2,(pixels+bytes)>>2); + case 0x1403 /* GL_UNSIGNED_SHORT */: + case 0x8363 /* GL_UNSIGNED_SHORT_5_6_5 */: + case 0x8033 /* GL_UNSIGNED_SHORT_4_4_4_4 */: + case 0x8034 /* GL_UNSIGNED_SHORT_5_5_5_1 */: + case 0x8D61 /* GL_HALF_FLOAT_OES */: + return HEAPU16.subarray((pixels)>>1,(pixels+bytes)>>1); + default: + GL.recordError(0x0500); // GL_INVALID_ENUM + return null; + } + }function _emscripten_glTexSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixels) { + var pixelData = null; + if (pixels) pixelData = emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, 0); + GLctx.texSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixelData); + } + + function _emscripten_glPolygonOffset(x0, x1) { GLctx['polygonOffset'](x0, x1) } + + var _emscripten_asm_const_int=true; + + function _emscripten_glUniform2f(location, v0, v1) { + GLctx.uniform2f(GL.uniforms[location], v0, v1); + } + + function _glGetAttribLocation(program, name) { + program = GL.programs[program]; + name = Pointer_stringify(name); + return GLctx.getAttribLocation(program, name); + } + + function _glfwWindowHint(target, hint) { + GLFW.hints[target] = hint; + } + + function _emscripten_glUniform2i(location, v0, v1) { + GLctx.uniform2i(GL.uniforms[location], v0, v1); + } + + function _glBlendFunc(x0, x1) { GLctx['blendFunc'](x0, x1) } + + function _glCreateProgram() { + var id = GL.getNewId(GL.programs); + var program = GLctx.createProgram(); + program.name = id; + GL.programs[id] = program; + return id; + } + + function _emscripten_glDeleteRenderbuffers(n, renderbuffers) { + for (var i = 0; i < n; i++) { + var id = HEAP32[(((renderbuffers)+(i*4))>>2)]; + var renderbuffer = GL.renderbuffers[id]; + if (!renderbuffer) continue; // GL spec: "glDeleteRenderbuffers silently ignores 0s and names that do not correspond to existing renderbuffer objects". + GLctx.deleteRenderbuffer(renderbuffer); + renderbuffer.name = 0; + GL.renderbuffers[id] = null; + } + } + + function _emscripten_glGetBufferParameteriv(target, value, data) { + if (!data) { + // GLES2 specification does not specify how to behave if data is a null pointer. Since calling this function does not make sense + // if data == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + HEAP32[((data)>>2)]=GLctx.getBufferParameter(target, value); + } + + + function emscriptenWebGLGetUniform(program, location, params, type) { + if (!params) { + // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense + // if params == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + var data = GLctx.getUniform(GL.programs[program], GL.uniforms[location]); + if (typeof data == 'number' || typeof data == 'boolean') { + switch (type) { + case 'Integer': HEAP32[((params)>>2)]=data; break; + case 'Float': HEAPF32[((params)>>2)]=data; break; + default: throw 'internal emscriptenWebGLGetUniform() error, bad type: ' + type; + } + } else { + for (var i = 0; i < data.length; i++) { + switch (type) { + case 'Integer': HEAP32[(((params)+(i))>>2)]=data[i]; break; + case 'Float': HEAPF32[(((params)+(i))>>2)]=data[i]; break; + default: throw 'internal emscriptenWebGLGetUniform() error, bad type: ' + type; + } + } + } + }function _emscripten_glGetUniformiv(program, location, params) { + emscriptenWebGLGetUniform(program, location, params, 'Integer'); + } + + function _emscripten_glDepthMask(flag) { + GLctx.depthMask(!!flag); + } + + + function _emscripten_glDepthRange(x0, x1) { GLctx['depthRange'](x0, x1) } + + function _emscripten_set_fullscreenchange_callback(target, userData, useCapture, callbackfunc) { + if (typeof JSEvents.fullscreenEnabled() === 'undefined') return -1; + if (!target) target = document; + else { + target = JSEvents.findEventTarget(target); + if (!target) return -4; + } + JSEvents.registerFullscreenChangeEventCallback(target, userData, useCapture, callbackfunc, 19, "fullscreenchange"); + JSEvents.registerFullscreenChangeEventCallback(target, userData, useCapture, callbackfunc, 19, "mozfullscreenchange"); + JSEvents.registerFullscreenChangeEventCallback(target, userData, useCapture, callbackfunc, 19, "webkitfullscreenchange"); + JSEvents.registerFullscreenChangeEventCallback(target, userData, useCapture, callbackfunc, 19, "msfullscreenchange"); + return 0; + } + + + + Module["___muldsi3"] = ___muldsi3; + Module["___muldi3"] = ___muldi3; + + function _emscripten_glGetShaderPrecisionFormat(shaderType, precisionType, range, precision) { + var result = GLctx.getShaderPrecisionFormat(shaderType, precisionType); + HEAP32[((range)>>2)]=result.rangeMin; + HEAP32[(((range)+(4))>>2)]=result.rangeMax; + HEAP32[((precision)>>2)]=result.precision; + } + + function _emscripten_glUniform1fv(location, count, value) { + + + var view; + if (count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[count-1]; + for (var i = 0; i < count; ++i) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + } + } else { + view = HEAPF32.subarray((value)>>2,(value+count*4)>>2); + } + GLctx.uniform1fv(GL.uniforms[location], view); + } + + function _alSourceQueueBuffers(source, count, buffers) { + if (!AL.currentContext) { + return; + } + var src = AL.currentContext.src[source]; + if (!src) { + AL.currentContext.err = 0xA001 /* AL_INVALID_NAME */; + return; + } + for (var i = 0; i < count; ++i) { + var bufferIdx = HEAP32[(((buffers)+(i*4))>>2)]; + if (bufferIdx > AL.currentContext.buf.length) { + AL.currentContext.err = 0xA001 /* AL_INVALID_NAME */; + return; + } + } + + for (var i = 0; i < count; ++i) { + var bufferIdx = HEAP32[(((buffers)+(i*4))>>2)]; + var buffer = AL.currentContext.buf[bufferIdx - 1]; + src.queue.push({ buffer: buffer, src: null }); + } + + AL.updateSource(src); + } + + function _glDeleteBuffers(n, buffers) { + for (var i = 0; i < n; i++) { + var id = HEAP32[(((buffers)+(i*4))>>2)]; + var buffer = GL.buffers[id]; + + // From spec: "glDeleteBuffers silently ignores 0's and names that do not + // correspond to existing buffer objects." + if (!buffer) continue; + + GLctx.deleteBuffer(buffer); + buffer.name = 0; + GL.buffers[id] = null; + + if (id == GL.currArrayBuffer) GL.currArrayBuffer = 0; + if (id == GL.currElementArrayBuffer) GL.currElementArrayBuffer = 0; + } + } + + function _emscripten_set_gamepaddisconnected_callback(userData, useCapture, callbackfunc) { + if (!navigator.getGamepads && !navigator.webkitGetGamepads) return -1; + JSEvents.registerGamepadEventCallback(window, userData, useCapture, callbackfunc, 27, "gamepaddisconnected"); + return 0; + } + + function _emscripten_glBindProgramARB() { + Module['printErr']('missing function: emscripten_glBindProgramARB'); abort(-1); + } + + function _emscripten_glBindTexture(target, texture) { + GLctx.bindTexture(target, texture ? GL.textures[texture] : null); + } + + function _glfwDefaultWindowHints() { + GLFW.hints = GLFW.defaultHints; + } + + function _emscripten_glDeleteProgram(id) { + if (!id) return; + var program = GL.programs[id]; + if (!program) { // glDeleteProgram actually signals an error when deleting a nonexisting object, unlike some other GL delete functions. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + GLctx.deleteProgram(program); + program.name = 0; + GL.programs[id] = null; + GL.programInfos[id] = null; + } + + function _emscripten_glDisable(x0) { GLctx['disable'](x0) } + + function _emscripten_glVertexAttrib3fv(index, v) { + + GLctx.vertexAttrib3f(index, HEAPF32[v>>2], HEAPF32[v+4>>2], HEAPF32[v+8>>2]); + } + + function _glClearColor(x0, x1, x2, x3) { GLctx['clearColor'](x0, x1, x2, x3) } + + function _emscripten_glGetActiveAttrib(program, index, bufSize, length, size, type, name) { + program = GL.programs[program]; + var info = GLctx.getActiveAttrib(program, index); + if (!info) return; // If an error occurs, nothing will be written to length, size and type and name. + + if (bufSize > 0 && name) { + var numBytesWrittenExclNull = stringToUTF8(info.name, name, bufSize); + if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; + } else { + if (length) HEAP32[((length)>>2)]=0; + } + + if (size) HEAP32[((size)>>2)]=info.size; + if (type) HEAP32[((type)>>2)]=info.type; + } + + function _emscripten_glIsFramebuffer(framebuffer) { + var fb = GL.framebuffers[framebuffer]; + if (!fb) return 0; + return GLctx.isFramebuffer(fb); + } + + function _emscripten_glLineWidth(x0) { GLctx['lineWidth'](x0) } + + function _glfwGetCursorPos(winid, x, y) { + GLFW.getCursorPos(winid, x, y); + } + + function _emscripten_glGetString(name_) { + if (GL.stringCache[name_]) return GL.stringCache[name_]; + var ret; + switch(name_) { + case 0x1F00 /* GL_VENDOR */: + case 0x1F01 /* GL_RENDERER */: + case 0x9245 /* UNMASKED_VENDOR_WEBGL */: + case 0x9246 /* UNMASKED_RENDERER_WEBGL */: + ret = allocate(intArrayFromString(GLctx.getParameter(name_)), 'i8', ALLOC_NORMAL); + break; + case 0x1F02 /* GL_VERSION */: + var glVersion = GLctx.getParameter(GLctx.VERSION); + // return GLES version string corresponding to the version of the WebGL context + { + glVersion = 'OpenGL ES 2.0 (' + glVersion + ')'; + } + ret = allocate(intArrayFromString(glVersion), 'i8', ALLOC_NORMAL); + break; + case 0x1F03 /* GL_EXTENSIONS */: + var exts = GLctx.getSupportedExtensions(); + var gl_exts = []; + for (var i = 0; i < exts.length; ++i) { + gl_exts.push(exts[i]); + gl_exts.push("GL_" + exts[i]); + } + ret = allocate(intArrayFromString(gl_exts.join(' ')), 'i8', ALLOC_NORMAL); + break; + case 0x8B8C /* GL_SHADING_LANGUAGE_VERSION */: + var glslVersion = GLctx.getParameter(GLctx.SHADING_LANGUAGE_VERSION); + // extract the version number 'N.M' from the string 'WebGL GLSL ES N.M ...' + var ver_re = /^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/; + var ver_num = glslVersion.match(ver_re); + if (ver_num !== null) { + if (ver_num[1].length == 3) ver_num[1] = ver_num[1] + '0'; // ensure minor version has 2 digits + glslVersion = 'OpenGL ES GLSL ES ' + ver_num[1] + ' (' + glslVersion + ')'; + } + ret = allocate(intArrayFromString(glslVersion), 'i8', ALLOC_NORMAL); + break; + default: + GL.recordError(0x0500/*GL_INVALID_ENUM*/); + return 0; + } + GL.stringCache[name_] = ret; + return ret; + } + + function _emscripten_glGetAttribLocation(program, name) { + program = GL.programs[program]; + name = Pointer_stringify(name); + return GLctx.getAttribLocation(program, name); + } + + function _emscripten_glRotatef() { + Module['printErr']('missing function: emscripten_glRotatef'); abort(-1); + } + + + function emscriptenWebGLGet(name_, p, type) { + // Guard against user passing a null pointer. + // Note that GLES2 spec does not say anything about how passing a null pointer should be treated. + // Testing on desktop core GL 3, the application crashes on glGetIntegerv to a null pointer, but + // better to report an error instead of doing anything random. + if (!p) { + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + var ret = undefined; + switch(name_) { // Handle a few trivial GLES values + case 0x8DFA: // GL_SHADER_COMPILER + ret = 1; + break; + case 0x8DF8: // GL_SHADER_BINARY_FORMATS + if (type !== 'Integer' && type !== 'Integer64') { + GL.recordError(0x0500); // GL_INVALID_ENUM + } + return; // Do not write anything to the out pointer, since no binary formats are supported. + case 0x8DF9: // GL_NUM_SHADER_BINARY_FORMATS + ret = 0; + break; + case 0x86A2: // GL_NUM_COMPRESSED_TEXTURE_FORMATS + // WebGL doesn't have GL_NUM_COMPRESSED_TEXTURE_FORMATS (it's obsolete since GL_COMPRESSED_TEXTURE_FORMATS returns a JS array that can be queried for length), + // so implement it ourselves to allow C++ GLES2 code get the length. + var formats = GLctx.getParameter(0x86A3 /*GL_COMPRESSED_TEXTURE_FORMATS*/); + ret = formats.length; + break; + } + + if (ret === undefined) { + var result = GLctx.getParameter(name_); + switch (typeof(result)) { + case "number": + ret = result; + break; + case "boolean": + ret = result ? 1 : 0; + break; + case "string": + GL.recordError(0x0500); // GL_INVALID_ENUM + return; + case "object": + if (result === null) { + // null is a valid result for some (e.g., which buffer is bound - perhaps nothing is bound), but otherwise + // can mean an invalid name_, which we need to report as an error + switch(name_) { + case 0x8894: // ARRAY_BUFFER_BINDING + case 0x8B8D: // CURRENT_PROGRAM + case 0x8895: // ELEMENT_ARRAY_BUFFER_BINDING + case 0x8CA6: // FRAMEBUFFER_BINDING + case 0x8CA7: // RENDERBUFFER_BINDING + case 0x8069: // TEXTURE_BINDING_2D + case 0x8514: { // TEXTURE_BINDING_CUBE_MAP + ret = 0; + break; + } + default: { + GL.recordError(0x0500); // GL_INVALID_ENUM + return; + } + } + } else if (result instanceof Float32Array || + result instanceof Uint32Array || + result instanceof Int32Array || + result instanceof Array) { + for (var i = 0; i < result.length; ++i) { + switch (type) { + case 'Integer': HEAP32[(((p)+(i*4))>>2)]=result[i]; break; + case 'Float': HEAPF32[(((p)+(i*4))>>2)]=result[i]; break; + case 'Boolean': HEAP8[(((p)+(i))>>0)]=result[i] ? 1 : 0; break; + default: throw 'internal glGet error, bad type: ' + type; + } + } + return; + } else if (result instanceof WebGLBuffer || + result instanceof WebGLProgram || + result instanceof WebGLFramebuffer || + result instanceof WebGLRenderbuffer || + result instanceof WebGLTexture) { + ret = result.name | 0; + } else { + GL.recordError(0x0500); // GL_INVALID_ENUM + return; + } + break; + default: + GL.recordError(0x0500); // GL_INVALID_ENUM + return; + } + } + + switch (type) { + case 'Integer64': (tempI64 = [ret>>>0,(tempDouble=ret,(+(Math_abs(tempDouble))) >= 1.0 ? (tempDouble > 0.0 ? ((Math_min((+(Math_floor((tempDouble)/4294967296.0))), 4294967295.0))|0)>>>0 : (~~((+(Math_ceil((tempDouble - +(((~~(tempDouble)))>>>0))/4294967296.0)))))>>>0) : 0)],HEAP32[((p)>>2)]=tempI64[0],HEAP32[(((p)+(4))>>2)]=tempI64[1]); break; + case 'Integer': HEAP32[((p)>>2)]=ret; break; + case 'Float': HEAPF32[((p)>>2)]=ret; break; + case 'Boolean': HEAP8[((p)>>0)]=ret ? 1 : 0; break; + default: throw 'internal glGet error, bad type: ' + type; + } + }function _emscripten_glGetIntegerv(name_, p) { + emscriptenWebGLGet(name_, p, 'Integer'); + } + + function _emscripten_glGetFramebufferAttachmentParameteriv(target, attachment, pname, params) { + var result = GLctx.getFramebufferAttachmentParameter(target, attachment, pname); + HEAP32[((params)>>2)]=result; + } + + function _llvm_stackrestore(p) { + var self = _llvm_stacksave; + var ret = self.LLVM_SAVEDSTACKS[p]; + self.LLVM_SAVEDSTACKS.splice(p, 1); + Runtime.stackRestore(ret); + } + + function _glfwSetWindowShouldClose(winid, value) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.shouldClose = value; + } + + function _emscripten_glClientActiveTexture() { + Module['printErr']('missing function: emscripten_glClientActiveTexture'); abort(-1); + } + + function _glGenBuffers(n, buffers) { + for (var i = 0; i < n; i++) { + var buffer = GLctx.createBuffer(); + if (!buffer) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); + while(i < n) HEAP32[(((buffers)+(i++*4))>>2)]=0; + return; + } + var id = GL.getNewId(GL.buffers); + buffer.name = id; + GL.buffers[id] = buffer; + HEAP32[(((buffers)+(i*4))>>2)]=id; + } + } + + + function _emscripten_memcpy_big(dest, src, num) { + HEAPU8.set(HEAPU8.subarray(src, src+num), dest); + return dest; + } + Module["_memcpy"] = _memcpy; + + function _emscripten_glGetShaderInfoLog(shader, maxLength, length, infoLog) { + var log = GLctx.getShaderInfoLog(GL.shaders[shader]); + if (log === null) log = '(unknown error)'; + if (maxLength > 0 && infoLog) { + var numBytesWrittenExclNull = stringToUTF8(log, infoLog, maxLength); + if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; + } else { + if (length) HEAP32[((length)>>2)]=0; + } + } + + function _glfwGetTime() { + return GLFW.getTime() - GLFW.initialTime; + } + + function _emscripten_glGetRenderbufferParameteriv(target, pname, params) { + if (!params) { + // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense + // if params == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + HEAP32[((params)>>2)]=GLctx.getRenderbufferParameter(target, pname); + } + + function _emscripten_glStencilOpSeparate(x0, x1, x2, x3) { GLctx['stencilOpSeparate'](x0, x1, x2, x3) } + + function _emscripten_glReadPixels(x, y, width, height, format, type, pixels) { + var pixelData = emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, format); + if (!pixelData) { + GL.recordError(0x0500/*GL_INVALID_ENUM*/); + return; + } + GLctx.readPixels(x, y, width, height, format, type, pixelData); + } + + function _emscripten_glCompressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, imageSize, data) { + GLctx['compressedTexSubImage2D'](target, level, xoffset, yoffset, width, height, format, data ? HEAPU8.subarray((data),(data+imageSize)) : null); + } + + function _emscripten_glGetError() { + // First return any GL error generated by the emscripten library_gl.js interop layer. + if (GL.lastError) { + var error = GL.lastError; + GL.lastError = 0/*GL_NO_ERROR*/; + return error; + } else { // If there were none, return the GL error from the browser GL context. + return GLctx.getError(); + } + } + + function _emscripten_glFramebufferTexture2D(target, attachment, textarget, texture, level) { + GLctx.framebufferTexture2D(target, attachment, textarget, + GL.textures[texture], level); + } + + function _alSourcei(source, param, value) { + if (!AL.currentContext) { + return; + } + var src = AL.currentContext.src[source]; + if (!src) { + AL.currentContext.err = 0xA001 /* AL_INVALID_NAME */; + return; + } + switch (param) { + case 0x1001 /* AL_CONE_INNER_ANGLE */: + src.coneInnerAngle = value; + break; + case 0x1002 /* AL_CONE_OUTER_ANGLE */: + src.coneOuterAngle = value; + break; + case 0x1007 /* AL_LOOPING */: + src.loop = (value === 1 /* AL_TRUE */); + break; + case 0x1009 /* AL_BUFFER */: + var buffer = AL.currentContext.buf[value - 1]; + if (value == 0) { + src.queue = []; + } else { + src.queue = [{ buffer: buffer }]; + } + AL.updateSource(src); + break; + case 0x202 /* AL_SOURCE_RELATIVE */: + if (value === 1 /* AL_TRUE */) { + if (src.panner) { + src.panner = null; + + // Disconnect from the panner. + src.gain.disconnect(); + + src.gain.connect(AL.currentContext.gain); + } + } else if (value === 0 /* AL_FALSE */) { + if (!src.panner) { + var panner = src.panner = AL.currentContext.ctx.createPanner(); + panner.panningModel = "equalpower"; + panner.distanceModel = "linear"; + panner.refDistance = src.refDistance; + panner.maxDistance = src.maxDistance; + panner.rolloffFactor = src.rolloffFactor; + panner.setPosition(src.position[0], src.position[1], src.position[2]); + // TODO: If support for doppler effect is reintroduced, compute the doppler + // speed pitch factor and apply it here. + panner.connect(AL.currentContext.gain); + + // Disconnect from the default source. + src.gain.disconnect(); + + src.gain.connect(panner); + } + } else { + AL.currentContext.err = 0xA003 /* AL_INVALID_VALUE */; + } + break; + default: + AL.currentContext.err = 0xA002 /* AL_INVALID_ENUM */; + break; + } + } + + function _emscripten_glIsEnabled(x0) { return GLctx['isEnabled'](x0) } + + function _glClearDepthf(x0) { GLctx['clearDepth'](x0) } + + function _alSourcef(source, param, value) { + if (!AL.currentContext) { + return; + } + var src = AL.currentContext.src[source]; + if (!src) { + AL.currentContext.err = 0xA001 /* AL_INVALID_NAME */; + return; + } + switch (param) { + case 0x1003 /* AL_PITCH */: + if (value <= 0) { + AL.currentContext.err = 0xA003 /* AL_INVALID_VALUE */; + return; + } + src.playbackRate = value; + + if (src.state === 0x1012 /* AL_PLAYING */) { + // update currently playing entry + var entry = src.queue[src.buffersPlayed]; + if (!entry || !entry.src) return; // It is possible that AL.updateSources() has not yet fed the next buffer, if so, skip. + var currentTime = AL.currentContext.ctx.currentTime; + var oldrate = entry.src.playbackRate.value; + var offset = currentTime - src.bufferPosition; + // entry.src.duration is expressed after factoring in playbackRate, so when changing playback rate, need + // to recompute/rescale the rate to the new playback speed. + entry.src.duration = (entry.src.duration - offset) * oldrate / src.playbackRate; + if (entry.src.playbackRate.value != src.playbackRate) entry.src.playbackRate.value = src.playbackRate; + src.bufferPosition = currentTime; + + // stop other buffers + for (var k = src.buffersPlayed + 1; k < src.queue.length; k++) { + var entry = src.queue[k]; + if (entry.src) { + entry.src.stop(); + entry.src = null; + } + } + // update the source to reschedule buffers with the new playbackRate + AL.updateSource(src); + } + break; + case 0x100A /* AL_GAIN */: + if (src.gain.gain.value != value) src.gain.gain.value = value; + break; + // case 0x100D /* AL_MIN_GAIN */: + // break; + // case 0x100E /* AL_MAX_GAIN */: + // break; + case 0x1023 /* AL_MAX_DISTANCE */: + src.maxDistance = value; + break; + case 0x1021 /* AL_ROLLOFF_FACTOR */: + src.rolloffFactor = value; + break; + case 0x1022 /* AL_CONE_OUTER_GAIN */: + src.coneOuterGain = value; + break; + case 0x1001 /* AL_CONE_INNER_ANGLE */: + src.coneInnerAngle = value; + break; + case 0x1002 /* AL_CONE_OUTER_ANGLE */: + src.coneOuterAngle = value; + break; + case 0x1020 /* AL_REFERENCE_DISTANCE */: + src.refDistance = value; + break; + default: + AL.currentContext.err = 0xA002 /* AL_INVALID_ENUM */; + break; + } + } + + + Module["_memmove"] = _memmove; + + function _glGenTextures(n, textures) { + for (var i = 0; i < n; i++) { + var texture = GLctx.createTexture(); + if (!texture) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); // GLES + EGL specs don't specify what should happen here, so best to issue an error and create IDs with 0. + while(i < n) HEAP32[(((textures)+(i++*4))>>2)]=0; + return; + } + var id = GL.getNewId(GL.textures); + texture.name = id; + GL.textures[id] = texture; + HEAP32[(((textures)+(i*4))>>2)]=id; + } + } + + function _emscripten_glVertexAttrib4f(x0, x1, x2, x3, x4) { GLctx['vertexAttrib4f'](x0, x1, x2, x3, x4) } + + function _glDepthFunc(x0) { GLctx['depthFunc'](x0) } + + + + var cttz_i8 = allocate([8,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,7,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0], "i8", ALLOC_STATIC); + Module["_llvm_cttz_i32"] = _llvm_cttz_i32; + Module["___udivmoddi4"] = ___udivmoddi4; + Module["___uremdi3"] = ___uremdi3; + + function _emscripten_glClearDepthf(x0) { GLctx['clearDepth'](x0) } + + function _alListenerf(param, value) { + if (!AL.currentContext) { + return; + } + switch (param) { + case 0x100A /* AL_GAIN */: + if (AL.currentContext.gain.gain.value != value) AL.currentContext.gain.gain.value = value; + break; + default: + AL.currentContext.err = 0xA002 /* AL_INVALID_ENUM */; + break; + } + } + + function _emscripten_glClear(x0) { GLctx['clear'](x0) } + + function _alGetError() { + if (!AL.currentContext) { + return 0xA004 /* AL_INVALID_OPERATION */; + } else { + // Reset error on get. + var err = AL.currentContext.err; + AL.currentContext.err = 0 /* AL_NO_ERROR */; + return err; + } + } + + function _emscripten_glBindBuffer(target, buffer) { + var bufferObj = buffer ? GL.buffers[buffer] : null; + + + GLctx.bindBuffer(target, bufferObj); + } + + function _emscripten_glGetUniformfv(program, location, params) { + emscriptenWebGLGetUniform(program, location, params, 'Float'); + } + + function _glGetProgramiv(program, pname, p) { + if (!p) { + // GLES2 specification does not specify how to behave if p is a null pointer. Since calling this function does not make sense + // if p == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + + if (program >= GL.counter) { + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + + var ptable = GL.programInfos[program]; + if (!ptable) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); + return; + } + + if (pname == 0x8B84) { // GL_INFO_LOG_LENGTH + var log = GLctx.getProgramInfoLog(GL.programs[program]); + if (log === null) log = '(unknown error)'; + HEAP32[((p)>>2)]=log.length + 1; + } else if (pname == 0x8B87 /* GL_ACTIVE_UNIFORM_MAX_LENGTH */) { + HEAP32[((p)>>2)]=ptable.maxUniformLength; + } else if (pname == 0x8B8A /* GL_ACTIVE_ATTRIBUTE_MAX_LENGTH */) { + if (ptable.maxAttributeLength == -1) { + var program = GL.programs[program]; + var numAttribs = GLctx.getProgramParameter(program, GLctx.ACTIVE_ATTRIBUTES); + ptable.maxAttributeLength = 0; // Spec says if there are no active attribs, 0 must be returned. + for (var i = 0; i < numAttribs; ++i) { + var activeAttrib = GLctx.getActiveAttrib(program, i); + ptable.maxAttributeLength = Math.max(ptable.maxAttributeLength, activeAttrib.name.length+1); + } + } + HEAP32[((p)>>2)]=ptable.maxAttributeLength; + } else if (pname == 0x8A35 /* GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH */) { + if (ptable.maxUniformBlockNameLength == -1) { + var program = GL.programs[program]; + var numBlocks = GLctx.getProgramParameter(program, GLctx.ACTIVE_UNIFORM_BLOCKS); + ptable.maxUniformBlockNameLength = 0; + for (var i = 0; i < numBlocks; ++i) { + var activeBlockName = GLctx.getActiveUniformBlockName(program, i); + ptable.maxUniformBlockNameLength = Math.max(ptable.maxUniformBlockNameLength, activeBlockName.length+1); + } + } + HEAP32[((p)>>2)]=ptable.maxUniformBlockNameLength; + } else { + HEAP32[((p)>>2)]=GLctx.getProgramParameter(GL.programs[program], pname); + } + } + + function _glVertexAttribPointer(index, size, type, normalized, stride, ptr) { + GLctx.vertexAttribPointer(index, size, type, !!normalized, stride, ptr); + } + + function _emscripten_exit_pointerlock() { + // Make sure no queued up calls will fire after this. + JSEvents.removeDeferredCalls(JSEvents.requestPointerLock); + + if (document.exitPointerLock) { + document.exitPointerLock(); + } else if (document.msExitPointerLock) { + document.msExitPointerLock(); + } else if (document.mozExitPointerLock) { + document.mozExitPointerLock(); + } else if (document.webkitExitPointerLock) { + document.webkitExitPointerLock(); + } else { + return -1; + } + return 0; + } + + function _glGetUniformLocation(program, name) { + name = Pointer_stringify(name); + + var arrayOffset = 0; + // If user passed an array accessor "[index]", parse the array index off the accessor. + if (name.indexOf(']', name.length-1) !== -1) { + var ls = name.lastIndexOf('['); + var arrayIndex = name.slice(ls+1, -1); + if (arrayIndex.length > 0) { + arrayOffset = parseInt(arrayIndex); + if (arrayOffset < 0) { + return -1; + } + } + name = name.slice(0, ls); + } + + var ptable = GL.programInfos[program]; + if (!ptable) { + return -1; + } + var utable = ptable.uniforms; + var uniformInfo = utable[name]; // returns pair [ dimension_of_uniform_array, uniform_location ] + if (uniformInfo && arrayOffset < uniformInfo[0]) { // Check if user asked for an out-of-bounds element, i.e. for 'vec4 colors[3];' user could ask for 'colors[10]' which should return -1. + return uniformInfo[1]+arrayOffset; + } else { + return -1; + } + } + + function _emscripten_glGetAttachedShaders(program, maxCount, count, shaders) { + var result = GLctx.getAttachedShaders(GL.programs[program]); + var len = result.length; + if (len > maxCount) { + len = maxCount; + } + HEAP32[((count)>>2)]=len; + for (var i = 0; i < len; ++i) { + var id = GL.shaders.indexOf(result[i]); + assert(id !== -1, 'shader not bound to local id'); + HEAP32[(((shaders)+(i*4))>>2)]=id; + } + } + + function _emscripten_glGenRenderbuffers(n, renderbuffers) { + for (var i = 0; i < n; i++) { + var renderbuffer = GLctx.createRenderbuffer(); + if (!renderbuffer) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); + while(i < n) HEAP32[(((renderbuffers)+(i++*4))>>2)]=0; + return; + } + var id = GL.getNewId(GL.renderbuffers); + renderbuffer.name = id; + GL.renderbuffers[id] = renderbuffer; + HEAP32[(((renderbuffers)+(i*4))>>2)]=id; + } + } + + function _emscripten_glFrontFace(x0) { GLctx['frontFace'](x0) } + + function _emscripten_glDepthRangef(x0, x1) { GLctx['depthRange'](x0, x1) } + + function _emscripten_glUniform1iv(location, count, value) { + + + GLctx.uniform1iv(GL.uniforms[location], HEAP32.subarray((value)>>2,(value+count*4)>>2)); + } + + function _emscripten_glTexCoordPointer() { + Module['printErr']('missing function: emscripten_glTexCoordPointer'); abort(-1); + } + + function _emscripten_glGetInfoLogARB() { + Module['printErr']('missing function: emscripten_glGetInfoLogARB'); abort(-1); + } + + + function __exit(status) { + // void _exit(int status); + // http://pubs.opengroup.org/onlinepubs/000095399/functions/exit.html + Module['exit'](status); + }function _exit(status) { + __exit(status); + } + + function _emscripten_glRenderbufferStorage(x0, x1, x2, x3) { GLctx['renderbufferStorage'](x0, x1, x2, x3) } + + function _glCheckFramebufferStatus(x0) { return GLctx['checkFramebufferStatus'](x0) } + + function _emscripten_glCopyTexSubImage2D(x0, x1, x2, x3, x4, x5, x6, x7) { GLctx['copyTexSubImage2D'](x0, x1, x2, x3, x4, x5, x6, x7) } + + function _glfwSetCursorPosCallback(winid, cbfun) { + GLFW.setCursorPosCallback(winid, cbfun); + } + + function _glBindAttribLocation(program, index, name) { + name = Pointer_stringify(name); + GLctx.bindAttribLocation(GL.programs[program], index, name); + } + + function _emscripten_glShaderBinary() { + GL.recordError(0x0500/*GL_INVALID_ENUM*/); + } + + function _emscripten_glIsProgram(program) { + var program = GL.programs[program]; + if (!program) return 0; + return GLctx.isProgram(program); + } + + + Module["_bitshift64Shl"] = _bitshift64Shl; + + function _emscripten_glBlendColor(x0, x1, x2, x3) { GLctx['blendColor'](x0, x1, x2, x3) } + + function _emscripten_glGetShaderiv(shader, pname, p) { + if (!p) { + // GLES2 specification does not specify how to behave if p is a null pointer. Since calling this function does not make sense + // if p == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + if (pname == 0x8B84) { // GL_INFO_LOG_LENGTH + var log = GLctx.getShaderInfoLog(GL.shaders[shader]); + if (log === null) log = '(unknown error)'; + HEAP32[((p)>>2)]=log.length + 1; + } else { + HEAP32[((p)>>2)]=GLctx.getShaderParameter(GL.shaders[shader], pname); + } + } + + function _emscripten_glUniformMatrix3fv(location, count, transpose, value) { + + + var view; + if (9*count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[9*count-1]; + for (var i = 0; i < 9*count; i += 9) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; + view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; + view[i+3] = HEAPF32[(((value)+(4*i+12))>>2)]; + view[i+4] = HEAPF32[(((value)+(4*i+16))>>2)]; + view[i+5] = HEAPF32[(((value)+(4*i+20))>>2)]; + view[i+6] = HEAPF32[(((value)+(4*i+24))>>2)]; + view[i+7] = HEAPF32[(((value)+(4*i+28))>>2)]; + view[i+8] = HEAPF32[(((value)+(4*i+32))>>2)]; + } + } else { + view = HEAPF32.subarray((value)>>2,(value+count*36)>>2); + } + GLctx.uniformMatrix3fv(GL.uniforms[location], !!transpose, view); + } + + + Module["___udivdi3"] = ___udivdi3; + + function _emscripten_glUniform4fv(location, count, value) { + + + var view; + if (4*count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[4*count-1]; + for (var i = 0; i < 4*count; i += 4) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; + view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; + view[i+3] = HEAPF32[(((value)+(4*i+12))>>2)]; + } + } else { + view = HEAPF32.subarray((value)>>2,(value+count*16)>>2); + } + GLctx.uniform4fv(GL.uniforms[location], view); + } + + function _glBufferSubData(target, offset, size, data) { + GLctx.bufferSubData(target, offset, HEAPU8.subarray(data, data+size)); + } + + function _alcDestroyContext(context) { + // Stop playback, etc + clearInterval(AL.contexts[context - 1].interval); + } + + function _llvm_exp2_f32(x) { + return Math.pow(2, x); + } + + function _glGetShaderiv(shader, pname, p) { + if (!p) { + // GLES2 specification does not specify how to behave if p is a null pointer. Since calling this function does not make sense + // if p == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + if (pname == 0x8B84) { // GL_INFO_LOG_LENGTH + var log = GLctx.getShaderInfoLog(GL.shaders[shader]); + if (log === null) log = '(unknown error)'; + HEAP32[((p)>>2)]=log.length + 1; + } else { + HEAP32[((p)>>2)]=GLctx.getShaderParameter(GL.shaders[shader], pname); + } + } + + function _emscripten_glBlendEquationSeparate(x0, x1) { GLctx['blendEquationSeparate'](x0, x1) } + + function _glfwSetWindowIconifyCallback(winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.windowIconifyFunc = cbfun; + } + + function _emscripten_glDrawRangeElements() { + Module['printErr']('missing function: emscripten_glDrawRangeElements'); abort(-1); + } + + function _emscripten_glGenTextures(n, textures) { + for (var i = 0; i < n; i++) { + var texture = GLctx.createTexture(); + if (!texture) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); // GLES + EGL specs don't specify what should happen here, so best to issue an error and create IDs with 0. + while(i < n) HEAP32[(((textures)+(i++*4))>>2)]=0; + return; + } + var id = GL.getNewId(GL.textures); + texture.name = id; + GL.textures[id] = texture; + HEAP32[(((textures)+(i*4))>>2)]=id; + } + } + + function _emscripten_glVertexAttrib2fv(index, v) { + + GLctx.vertexAttrib2f(index, HEAPF32[v>>2], HEAPF32[v+4>>2]); + } + + function _emscripten_glGetActiveUniform(program, index, bufSize, length, size, type, name) { + program = GL.programs[program]; + var info = GLctx.getActiveUniform(program, index); + if (!info) return; // If an error occurs, nothing will be written to length, size, type and name. + + if (bufSize > 0 && name) { + var numBytesWrittenExclNull = stringToUTF8(info.name, name, bufSize); + if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; + } else { + if (length) HEAP32[((length)>>2)]=0; + } + + if (size) HEAP32[((size)>>2)]=info.size; + if (type) HEAP32[((type)>>2)]=info.type; + } + + + Module["_roundf"] = _roundf; + + function _emscripten_glDeleteObjectARB() { + Module['printErr']('missing function: emscripten_glDeleteObjectARB'); abort(-1); + } + + function _emscripten_set_touchmove_callback(target, userData, useCapture, callbackfunc) { + JSEvents.registerTouchEventCallback(target, userData, useCapture, callbackfunc, 24, "touchmove"); + return 0; + } + + function _emscripten_glUniform1f(location, v0) { + GLctx.uniform1f(GL.uniforms[location], v0); + } + + function _alcCreateContext(device, attrList) { + if (device != 1) { + return 0; + } + + if (attrList) { + return 0; + } + + var ctx; + try { + ctx = new AudioContext(); + } catch (e) { + try { + ctx = new webkitAudioContext(); + } catch (e) {} + } + + if (ctx) { + // Old Web Audio API (e.g. Safari 6.0.5) had an inconsistently named createGainNode function. + if (typeof(ctx.createGain) === 'undefined') ctx.createGain = ctx.createGainNode; + + var gain = ctx.createGain(); + gain.connect(ctx.destination); + // Extend the Web Audio API AudioListener object with a few tracking values of our own. + ctx.listener._position = [0, 0, 0]; + ctx.listener._velocity = [0, 0, 0]; + ctx.listener._orientation = [0, 0, 0, 0, 0, 0]; + var context = { + ctx: ctx, + err: 0, + src: {}, + buf: [], + interval: setInterval(function() { AL.updateSources(context); }, AL.QUEUE_INTERVAL), + gain: gain + }; + AL.contexts.push(context); + return AL.contexts.length; + } else { + return 0; + } + } + + function _emscripten_glVertexAttribPointer(index, size, type, normalized, stride, ptr) { + GLctx.vertexAttribPointer(index, size, type, !!normalized, stride, ptr); + } + + function _alcCloseDevice(device) { + // Stop playback, etc + } + + function _glShaderSource(shader, count, string, length) { + var source = GL.getSource(shader, count, string, length); + + + GLctx.shaderSource(GL.shaders[shader], source); + } + + function _emscripten_glDrawArrays(mode, first, count) { + + GLctx.drawArrays(mode, first, count); + + } + + function _emscripten_glGenBuffers(n, buffers) { + for (var i = 0; i < n; i++) { + var buffer = GLctx.createBuffer(); + if (!buffer) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); + while(i < n) HEAP32[(((buffers)+(i++*4))>>2)]=0; + return; + } + var id = GL.getNewId(GL.buffers); + buffer.name = id; + GL.buffers[id] = buffer; + HEAP32[(((buffers)+(i*4))>>2)]=id; + } + } + + function _emscripten_glClearDepth(x0) { GLctx['clearDepth'](x0) } + + function _emscripten_set_keypress_callback(target, userData, useCapture, callbackfunc) { + JSEvents.registerKeyEventCallback(target, userData, useCapture, callbackfunc, 1, "keypress"); + return 0; + } + + function _glfwSetCharCallback(winid, cbfun) { + GLFW.setCharCallback(winid, cbfun); + } + + function _emscripten_glGetUniformLocation(program, name) { + name = Pointer_stringify(name); + + var arrayOffset = 0; + // If user passed an array accessor "[index]", parse the array index off the accessor. + if (name.indexOf(']', name.length-1) !== -1) { + var ls = name.lastIndexOf('['); + var arrayIndex = name.slice(ls+1, -1); + if (arrayIndex.length > 0) { + arrayOffset = parseInt(arrayIndex); + if (arrayOffset < 0) { + return -1; + } + } + name = name.slice(0, ls); + } + + var ptable = GL.programInfos[program]; + if (!ptable) { + return -1; + } + var utable = ptable.uniforms; + var uniformInfo = utable[name]; // returns pair [ dimension_of_uniform_array, uniform_location ] + if (uniformInfo && arrayOffset < uniformInfo[0]) { // Check if user asked for an out-of-bounds element, i.e. for 'vec4 colors[3];' user could ask for 'colors[10]' which should return -1. + return uniformInfo[1]+arrayOffset; + } else { + return -1; + } + } + + function _glBindBuffer(target, buffer) { + var bufferObj = buffer ? GL.buffers[buffer] : null; + + + GLctx.bindBuffer(target, bufferObj); + } + + function _emscripten_glVertexAttrib4fv(index, v) { + + GLctx.vertexAttrib4f(index, HEAPF32[v>>2], HEAPF32[v+4>>2], HEAPF32[v+8>>2], HEAPF32[v+12>>2]); + } + + function _emscripten_glScissor(x0, x1, x2, x3) { GLctx['scissor'](x0, x1, x2, x3) } + + function _glfwSetCursorEnterCallback(winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.cursorEnterFunc = cbfun; + } + + + Module["_bitshift64Lshr"] = _bitshift64Lshr; + + function _glBufferData(target, size, data, usage) { + if (!data) { + GLctx.bufferData(target, size, usage); + } else { + GLctx.bufferData(target, HEAPU8.subarray(data, data+size), usage); + } + } + + function _emscripten_glIsShader(shader) { + var s = GL.shaders[shader]; + if (!s) return 0; + return GLctx.isShader(s); + } + + function _emscripten_glDrawBuffers(n, bufs) { + + var bufArray = GL.tempFixedLengthArray[n]; + for (var i = 0; i < n; i++) { + bufArray[i] = HEAP32[(((bufs)+(i*4))>>2)]; + } + + GLctx['drawBuffers'](bufArray); + } + + function _glGetFloatv(name_, p) { + emscriptenWebGLGet(name_, p, 'Float'); + } + + function _emscripten_glBindFramebuffer(target, framebuffer) { + GLctx.bindFramebuffer(target, framebuffer ? GL.framebuffers[framebuffer] : null); + } + + function _alcGetContextsDevice(context) { + if (context <= AL.contexts.length && context > 0) { + // Returns the only one audio device + return 1; + } + return 0; + } + + function _emscripten_glBlendEquation(x0) { GLctx['blendEquation'](x0) } + + function _emscripten_glBufferSubData(target, offset, size, data) { + GLctx.bufferSubData(target, offset, HEAPU8.subarray(data, data+size)); + } + + function _emscripten_glBufferData(target, size, data, usage) { + if (!data) { + GLctx.bufferData(target, size, usage); + } else { + GLctx.bufferData(target, HEAPU8.subarray(data, data+size), usage); + } + } + + + Module["_sbrk"] = _sbrk; + + function _alcMakeContextCurrent(context) { + if (context == 0) { + AL.currentContext = null; + return 0; + } else { + AL.currentContext = AL.contexts[context - 1]; + return 1; + } + } + + function _emscripten_glGetShaderSource(shader, bufSize, length, source) { + var result = GLctx.getShaderSource(GL.shaders[shader]); + if (!result) return; // If an error occurs, nothing will be written to length or source. + if (bufSize > 0 && source) { + var numBytesWrittenExclNull = stringToUTF8(result, source, bufSize); + if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; + } else { + if (length) HEAP32[((length)>>2)]=0; + } + } + + + Module["_llvm_bswap_i32"] = _llvm_bswap_i32; + + function _emscripten_set_click_callback(target, userData, useCapture, callbackfunc) { + JSEvents.registerMouseEventCallback(target, userData, useCapture, callbackfunc, 4, "click"); + return 0; + } + + function _glBindRenderbuffer(target, renderbuffer) { + GLctx.bindRenderbuffer(target, renderbuffer ? GL.renderbuffers[renderbuffer] : null); + } + + function _glfwSetKeyCallback(winid, cbfun) { + GLFW.setKeyCallback(winid, cbfun); + } + + function _emscripten_set_gamepadconnected_callback(userData, useCapture, callbackfunc) { + if (!navigator.getGamepads && !navigator.webkitGetGamepads) return -1; + JSEvents.registerGamepadEventCallback(window, userData, useCapture, callbackfunc, 26, "gamepadconnected"); + return 0; + } + + function _emscripten_glGetFloatv(name_, p) { + emscriptenWebGLGet(name_, p, 'Float'); + } + + function _glTexImage2D(target, level, internalFormat, width, height, border, format, type, pixels) { + + var pixelData = null; + if (pixels) pixelData = emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, internalFormat); + GLctx.texImage2D(target, level, internalFormat, width, height, border, format, type, pixelData); + } + + function ___assert_fail(condition, filename, line, func) { + ABORT = true; + throw 'Assertion failed: ' + Pointer_stringify(condition) + ', at: ' + [filename ? Pointer_stringify(filename) : 'unknown filename', line, func ? Pointer_stringify(func) : 'unknown function'] + ' at ' + stackTrace(); + } + + function _emscripten_glVertexAttribDivisor(index, divisor) { + GLctx['vertexAttribDivisor'](index, divisor); + } + + function _emscripten_glDrawElementsInstanced(mode, count, type, indices, primcount) { + GLctx['drawElementsInstanced'](mode, count, type, indices, primcount); + } + + function _emscripten_glDrawElements(mode, count, type, indices) { + + GLctx.drawElements(mode, count, type, indices); + + } + + function _glfwSetMouseButtonCallback(winid, cbfun) { + GLFW.setMouseButtonCallback(winid, cbfun); + } + + function _emscripten_glCreateProgram() { + var id = GL.getNewId(GL.programs); + var program = GLctx.createProgram(); + program.name = id; + GL.programs[id] = program; + return id; + } + + function _emscripten_glCompressedTexImage2D(target, level, internalFormat, width, height, border, imageSize, data) { + GLctx['compressedTexImage2D'](target, level, internalFormat, width, height, border, data ? HEAPU8.subarray((data),(data+imageSize)) : null); + } + + function _emscripten_glClearColor(x0, x1, x2, x3) { GLctx['clearColor'](x0, x1, x2, x3) } + + function _emscripten_glBindVertexArray(vao) { + GLctx['bindVertexArray'](GL.vaos[vao]); + } + + function _emscripten_glLoadMatrixf() { + Module['printErr']('missing function: emscripten_glLoadMatrixf'); abort(-1); + } + + function _glDeleteShader(id) { + if (!id) return; + var shader = GL.shaders[id]; + if (!shader) { // glDeleteShader actually signals an error when deleting a nonexisting object, unlike some other GL delete functions. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + GLctx.deleteShader(shader); + GL.shaders[id] = null; + } + + function _emscripten_glGetProgramiv(program, pname, p) { + if (!p) { + // GLES2 specification does not specify how to behave if p is a null pointer. Since calling this function does not make sense + // if p == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + + if (program >= GL.counter) { + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + + var ptable = GL.programInfos[program]; + if (!ptable) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); + return; + } + + if (pname == 0x8B84) { // GL_INFO_LOG_LENGTH + var log = GLctx.getProgramInfoLog(GL.programs[program]); + if (log === null) log = '(unknown error)'; + HEAP32[((p)>>2)]=log.length + 1; + } else if (pname == 0x8B87 /* GL_ACTIVE_UNIFORM_MAX_LENGTH */) { + HEAP32[((p)>>2)]=ptable.maxUniformLength; + } else if (pname == 0x8B8A /* GL_ACTIVE_ATTRIBUTE_MAX_LENGTH */) { + if (ptable.maxAttributeLength == -1) { + var program = GL.programs[program]; + var numAttribs = GLctx.getProgramParameter(program, GLctx.ACTIVE_ATTRIBUTES); + ptable.maxAttributeLength = 0; // Spec says if there are no active attribs, 0 must be returned. + for (var i = 0; i < numAttribs; ++i) { + var activeAttrib = GLctx.getActiveAttrib(program, i); + ptable.maxAttributeLength = Math.max(ptable.maxAttributeLength, activeAttrib.name.length+1); + } + } + HEAP32[((p)>>2)]=ptable.maxAttributeLength; + } else if (pname == 0x8A35 /* GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH */) { + if (ptable.maxUniformBlockNameLength == -1) { + var program = GL.programs[program]; + var numBlocks = GLctx.getProgramParameter(program, GLctx.ACTIVE_UNIFORM_BLOCKS); + ptable.maxUniformBlockNameLength = 0; + for (var i = 0; i < numBlocks; ++i) { + var activeBlockName = GLctx.getActiveUniformBlockName(program, i); + ptable.maxUniformBlockNameLength = Math.max(ptable.maxUniformBlockNameLength, activeBlockName.length+1); + } + } + HEAP32[((p)>>2)]=ptable.maxUniformBlockNameLength; + } else { + HEAP32[((p)>>2)]=GLctx.getProgramParameter(GL.programs[program], pname); + } + } + + function _emscripten_glGetProgramInfoLog(program, maxLength, length, infoLog) { + var log = GLctx.getProgramInfoLog(GL.programs[program]); + if (log === null) log = '(unknown error)'; + + if (maxLength > 0 && infoLog) { + var numBytesWrittenExclNull = stringToUTF8(log, infoLog, maxLength); + if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; + } else { + if (length) HEAP32[((length)>>2)]=0; + } + } + + function _emscripten_glTexImage2D(target, level, internalFormat, width, height, border, format, type, pixels) { + + var pixelData = null; + if (pixels) pixelData = emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, internalFormat); + GLctx.texImage2D(target, level, internalFormat, width, height, border, format, type, pixelData); + } + + function _glPixelStorei(pname, param) { + if (pname == 0x0D05 /* GL_PACK_ALIGNMENT */) { + GL.packAlignment = param; + } else if (pname == 0x0cf5 /* GL_UNPACK_ALIGNMENT */) { + GL.unpackAlignment = param; + } + GLctx.pixelStorei(pname, param); + } + + function ___unlock() {} + + function _emscripten_glActiveTexture(x0) { GLctx['activeTexture'](x0) } + + function _glViewport(x0, x1, x2, x3) { GLctx['viewport'](x0, x1, x2, x3) } + + function _emscripten_glCheckFramebufferStatus(x0) { return GLctx['checkFramebufferStatus'](x0) } + + function _glfwDestroyWindow(winid) { + return GLFW.destroyWindow(winid); + } + + function _emscripten_glFlush() { GLctx['flush']() } + + function _glfwSetErrorCallback(cbfun) { + GLFW.errorFunc = cbfun; + } + + function _emscripten_glCreateShader(shaderType) { + var id = GL.getNewId(GL.shaders); + GL.shaders[id] = GLctx.createShader(shaderType); + return id; + } + + function _glUniformMatrix4fv(location, count, transpose, value) { + + + var view; + if (16*count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[16*count-1]; + for (var i = 0; i < 16*count; i += 16) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; + view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; + view[i+3] = HEAPF32[(((value)+(4*i+12))>>2)]; + view[i+4] = HEAPF32[(((value)+(4*i+16))>>2)]; + view[i+5] = HEAPF32[(((value)+(4*i+20))>>2)]; + view[i+6] = HEAPF32[(((value)+(4*i+24))>>2)]; + view[i+7] = HEAPF32[(((value)+(4*i+28))>>2)]; + view[i+8] = HEAPF32[(((value)+(4*i+32))>>2)]; + view[i+9] = HEAPF32[(((value)+(4*i+36))>>2)]; + view[i+10] = HEAPF32[(((value)+(4*i+40))>>2)]; + view[i+11] = HEAPF32[(((value)+(4*i+44))>>2)]; + view[i+12] = HEAPF32[(((value)+(4*i+48))>>2)]; + view[i+13] = HEAPF32[(((value)+(4*i+52))>>2)]; + view[i+14] = HEAPF32[(((value)+(4*i+56))>>2)]; + view[i+15] = HEAPF32[(((value)+(4*i+60))>>2)]; + } + } else { + view = HEAPF32.subarray((value)>>2,(value+count*64)>>2); + } + GLctx.uniformMatrix4fv(GL.uniforms[location], !!transpose, view); + } + + function _emscripten_glValidateProgram(program) { + GLctx.validateProgram(GL.programs[program]); + } + + function _glTexParameterf(x0, x1, x2) { GLctx['texParameterf'](x0, x1, x2) } + + function _glTexParameteri(x0, x1, x2) { GLctx['texParameteri'](x0, x1, x2) } + + function _glFrontFace(x0) { GLctx['frontFace'](x0) } + + function _emscripten_glColorMask(red, green, blue, alpha) { + GLctx.colorMask(!!red, !!green, !!blue, !!alpha); + } + + function _emscripten_glPixelStorei(pname, param) { + if (pname == 0x0D05 /* GL_PACK_ALIGNMENT */) { + GL.packAlignment = param; + } else if (pname == 0x0cf5 /* GL_UNPACK_ALIGNMENT */) { + GL.unpackAlignment = param; + } + GLctx.pixelStorei(pname, param); + } + + function _emscripten_glDeleteTextures(n, textures) { + for (var i = 0; i < n; i++) { + var id = HEAP32[(((textures)+(i*4))>>2)]; + var texture = GL.textures[id]; + if (!texture) continue; // GL spec: "glDeleteTextures silently ignores 0s and names that do not correspond to existing textures". + GLctx.deleteTexture(texture); + texture.name = 0; + GL.textures[id] = null; + } + } + + function _glfwGetKey(winid, key) { + return GLFW.getKey(winid, key); + } + + function _emscripten_glCompileShader(shader) { + GLctx.compileShader(GL.shaders[shader]); + } + + function _emscripten_glGenVertexArrays(n, arrays) { + + for (var i = 0; i < n; i++) { + var vao = GLctx['createVertexArray'](); + if (!vao) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); + while(i < n) HEAP32[(((arrays)+(i++*4))>>2)]=0; + return; + } + var id = GL.getNewId(GL.vaos); + vao.name = id; + GL.vaos[id] = vao; + HEAP32[(((arrays)+(i*4))>>2)]=id; + } + } + + function _time(ptr) { + var ret = (Date.now()/1000)|0; + if (ptr) { + HEAP32[((ptr)>>2)]=ret; + } + return ret; + } + + function _emscripten_glGetBooleanv(name_, p) { + emscriptenWebGLGet(name_, p, 'Boolean'); + } + + function ___syscall221(which, varargs) {SYSCALLS.varargs = varargs; + try { + // fcntl64 + var stream = SYSCALLS.getStreamFromFD(), cmd = SYSCALLS.get(); + switch (cmd) { + case 0: { + var arg = SYSCALLS.get(); + if (arg < 0) { + return -ERRNO_CODES.EINVAL; + } + var newStream; + newStream = FS.open(stream.path, stream.flags, 0, arg); + return newStream.fd; + } + case 1: + case 2: + return 0; // FD_CLOEXEC makes no sense for a single process. + case 3: + return stream.flags; + case 4: { + var arg = SYSCALLS.get(); + stream.flags |= arg; + return 0; + } + case 12: + case 12: { + var arg = SYSCALLS.get(); + var offset = 0; + // We're always unlocked. + HEAP16[(((arg)+(offset))>>1)]=2; + return 0; + } + case 13: + case 14: + case 13: + case 14: + return 0; // Pretend that the locking is successful. + case 16: + case 8: + return -ERRNO_CODES.EINVAL; // These are for sockets. We don't have them fully implemented yet. + case 9: + // musl trusts getown return values, due to a bug where they must be, as they overlap with errors. just return -1 here, so fnctl() returns that, and we set errno ourselves. + ___setErrNo(ERRNO_CODES.EINVAL); + return -1; + default: { + return -ERRNO_CODES.EINVAL; + } + } + } catch (e) { + if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno; + } + } +var GLctx; GL.init(); +if (ENVIRONMENT_IS_NODE) { + _emscripten_get_now = function _emscripten_get_now_actual() { + var t = process['hrtime'](); + return t[0] * 1e3 + t[1] / 1e6; + }; + } else if (typeof dateNow !== 'undefined') { + _emscripten_get_now = dateNow; + } else if (typeof self === 'object' && self['performance'] && typeof self['performance']['now'] === 'function') { + _emscripten_get_now = function() { return self['performance']['now'](); }; + } else if (typeof performance === 'object' && typeof performance['now'] === 'function') { + _emscripten_get_now = function() { return performance['now'](); }; + } else { + _emscripten_get_now = Date.now; + }; +Module["requestFullScreen"] = function Module_requestFullScreen(lockPointer, resizeCanvas, vrDevice) { Module.printErr("Module.requestFullScreen is deprecated. Please call Module.requestFullscreen instead."); Module["requestFullScreen"] = Module["requestFullscreen"]; Browser.requestFullScreen(lockPointer, resizeCanvas, vrDevice) }; + Module["requestFullscreen"] = function Module_requestFullscreen(lockPointer, resizeCanvas, vrDevice) { Browser.requestFullscreen(lockPointer, resizeCanvas, vrDevice) }; + Module["requestAnimationFrame"] = function Module_requestAnimationFrame(func) { Browser.requestAnimationFrame(func) }; + Module["setCanvasSize"] = function Module_setCanvasSize(width, height, noUpdates) { Browser.setCanvasSize(width, height, noUpdates) }; + Module["pauseMainLoop"] = function Module_pauseMainLoop() { Browser.mainLoop.pause() }; + Module["resumeMainLoop"] = function Module_resumeMainLoop() { Browser.mainLoop.resume() }; + Module["getUserMedia"] = function Module_getUserMedia() { Browser.getUserMedia() } + Module["createContext"] = function Module_createContext(canvas, useWebGL, setInModule, webGLContextAttributes) { return Browser.createContext(canvas, useWebGL, setInModule, webGLContextAttributes) }; +FS.staticInit();__ATINIT__.unshift(function() { if (!Module["noFSInit"] && !FS.init.initialized) FS.init() });__ATMAIN__.push(function() { FS.ignorePermissions = false });__ATEXIT__.push(function() { FS.quit() });Module["FS_createFolder"] = FS.createFolder;Module["FS_createPath"] = FS.createPath;Module["FS_createDataFile"] = FS.createDataFile;Module["FS_createPreloadedFile"] = FS.createPreloadedFile;Module["FS_createLazyFile"] = FS.createLazyFile;Module["FS_createLink"] = FS.createLink;Module["FS_createDevice"] = FS.createDevice;Module["FS_unlink"] = FS.unlink;; +__ATINIT__.unshift(function() { TTY.init() });__ATEXIT__.push(function() { TTY.shutdown() });; +if (ENVIRONMENT_IS_NODE) { var fs = require("fs"); var NODEJS_PATH = require("path"); NODEFS.staticInit(); }; +JSEvents.staticInit();; +DYNAMICTOP_PTR = allocate(1, "i32", ALLOC_STATIC); + +STACK_BASE = STACKTOP = Runtime.alignMemory(STATICTOP); + +STACK_MAX = STACK_BASE + TOTAL_STACK; + +DYNAMIC_BASE = Runtime.alignMemory(STACK_MAX); + +HEAP32[DYNAMICTOP_PTR>>2] = DYNAMIC_BASE; + +staticSealed = true; // seal the static portion of memory + +assert(DYNAMIC_BASE < TOTAL_MEMORY, "TOTAL_MEMORY not big enough for stack"); + + + +function nullFunc_viiiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_vd(x) { Module["printErr"]("Invalid function pointer called with signature 'vd'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_vid(x) { Module["printErr"]("Invalid function pointer called with signature 'vid'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_vi(x) { Module["printErr"]("Invalid function pointer called with signature 'vi'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_vii(x) { Module["printErr"]("Invalid function pointer called with signature 'vii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_ii(x) { Module["printErr"]("Invalid function pointer called with signature 'ii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_viddd(x) { Module["printErr"]("Invalid function pointer called with signature 'viddd'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_vidd(x) { Module["printErr"]("Invalid function pointer called with signature 'vidd'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_iiii(x) { Module["printErr"]("Invalid function pointer called with signature 'iiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_viiiiiiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiiiiiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_viiiiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiiiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_viii(x) { Module["printErr"]("Invalid function pointer called with signature 'viii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_vidddd(x) { Module["printErr"]("Invalid function pointer called with signature 'vidddd'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_vdi(x) { Module["printErr"]("Invalid function pointer called with signature 'vdi'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_viiiiiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiiiiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_viiiiiiiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiiiiiiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_iii(x) { Module["printErr"]("Invalid function pointer called with signature 'iii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_i(x) { Module["printErr"]("Invalid function pointer called with signature 'i'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_vdddddd(x) { Module["printErr"]("Invalid function pointer called with signature 'vdddddd'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_vdddd(x) { Module["printErr"]("Invalid function pointer called with signature 'vdddd'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_vdd(x) { Module["printErr"]("Invalid function pointer called with signature 'vdd'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_v(x) { Module["printErr"]("Invalid function pointer called with signature 'v'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_viid(x) { Module["printErr"]("Invalid function pointer called with signature 'viid'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_viiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function invoke_viiiii(index,a1,a2,a3,a4,a5) { + try { + Module["dynCall_viiiii"](index,a1,a2,a3,a4,a5); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vd(index,a1) { + try { + Module["dynCall_vd"](index,a1); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vid(index,a1,a2) { + try { + Module["dynCall_vid"](index,a1,a2); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vi(index,a1) { + try { + Module["dynCall_vi"](index,a1); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vii(index,a1,a2) { + try { + Module["dynCall_vii"](index,a1,a2); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_ii(index,a1) { + try { + return Module["dynCall_ii"](index,a1); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_viddd(index,a1,a2,a3,a4) { + try { + Module["dynCall_viddd"](index,a1,a2,a3,a4); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vidd(index,a1,a2,a3) { + try { + Module["dynCall_vidd"](index,a1,a2,a3); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_iiii(index,a1,a2,a3) { + try { + return Module["dynCall_iiii"](index,a1,a2,a3); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_viiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8) { + try { + Module["dynCall_viiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_viiiiii(index,a1,a2,a3,a4,a5,a6) { + try { + Module["dynCall_viiiiii"](index,a1,a2,a3,a4,a5,a6); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_viii(index,a1,a2,a3) { + try { + Module["dynCall_viii"](index,a1,a2,a3); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vidddd(index,a1,a2,a3,a4,a5) { + try { + Module["dynCall_vidddd"](index,a1,a2,a3,a4,a5); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vdi(index,a1,a2) { + try { + Module["dynCall_vdi"](index,a1,a2); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_viiiiiii(index,a1,a2,a3,a4,a5,a6,a7) { + try { + Module["dynCall_viiiiiii"](index,a1,a2,a3,a4,a5,a6,a7); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_viiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9) { + try { + Module["dynCall_viiiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_iii(index,a1,a2) { + try { + return Module["dynCall_iii"](index,a1,a2); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_i(index) { + try { + return Module["dynCall_i"](index); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vdddddd(index,a1,a2,a3,a4,a5,a6) { + try { + Module["dynCall_vdddddd"](index,a1,a2,a3,a4,a5,a6); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vdddd(index,a1,a2,a3,a4) { + try { + Module["dynCall_vdddd"](index,a1,a2,a3,a4); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vdd(index,a1,a2) { + try { + Module["dynCall_vdd"](index,a1,a2); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_v(index) { + try { + Module["dynCall_v"](index); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_viid(index,a1,a2,a3) { + try { + Module["dynCall_viid"](index,a1,a2,a3); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_viiii(index,a1,a2,a3,a4) { + try { + Module["dynCall_viiii"](index,a1,a2,a3,a4); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +Module.asmGlobalArg = { "Math": Math, "Int8Array": Int8Array, "Int16Array": Int16Array, "Int32Array": Int32Array, "Uint8Array": Uint8Array, "Uint16Array": Uint16Array, "Uint32Array": Uint32Array, "Float32Array": Float32Array, "Float64Array": Float64Array, "NaN": NaN, "Infinity": Infinity }; + +Module.asmLibraryArg = { "abort": abort, "assert": assert, "enlargeMemory": enlargeMemory, "getTotalMemory": getTotalMemory, "abortOnCannotGrowMemory": abortOnCannotGrowMemory, "abortStackOverflow": abortStackOverflow, "nullFunc_viiiii": nullFunc_viiiii, "nullFunc_vd": nullFunc_vd, "nullFunc_vid": nullFunc_vid, "nullFunc_vi": nullFunc_vi, "nullFunc_vii": nullFunc_vii, "nullFunc_ii": nullFunc_ii, "nullFunc_viddd": nullFunc_viddd, "nullFunc_vidd": nullFunc_vidd, "nullFunc_iiii": nullFunc_iiii, "nullFunc_viiiiiiii": nullFunc_viiiiiiii, "nullFunc_viiiiii": nullFunc_viiiiii, "nullFunc_viii": nullFunc_viii, "nullFunc_vidddd": nullFunc_vidddd, "nullFunc_vdi": nullFunc_vdi, "nullFunc_viiiiiii": nullFunc_viiiiiii, "nullFunc_viiiiiiiii": nullFunc_viiiiiiiii, "nullFunc_iii": nullFunc_iii, "nullFunc_i": nullFunc_i, "nullFunc_vdddddd": nullFunc_vdddddd, "nullFunc_vdddd": nullFunc_vdddd, "nullFunc_vdd": nullFunc_vdd, "nullFunc_v": nullFunc_v, "nullFunc_viid": nullFunc_viid, "nullFunc_viiii": nullFunc_viiii, "invoke_viiiii": invoke_viiiii, "invoke_vd": invoke_vd, "invoke_vid": invoke_vid, "invoke_vi": invoke_vi, "invoke_vii": invoke_vii, "invoke_ii": invoke_ii, "invoke_viddd": invoke_viddd, "invoke_vidd": invoke_vidd, "invoke_iiii": invoke_iiii, "invoke_viiiiiiii": invoke_viiiiiiii, "invoke_viiiiii": invoke_viiiiii, "invoke_viii": invoke_viii, "invoke_vidddd": invoke_vidddd, "invoke_vdi": invoke_vdi, "invoke_viiiiiii": invoke_viiiiiii, "invoke_viiiiiiiii": invoke_viiiiiiiii, "invoke_iii": invoke_iii, "invoke_i": invoke_i, "invoke_vdddddd": invoke_vdddddd, "invoke_vdddd": invoke_vdddd, "invoke_vdd": invoke_vdd, "invoke_v": invoke_v, "invoke_viid": invoke_viid, "invoke_viiii": invoke_viiii, "_emscripten_glGetTexParameterfv": _emscripten_glGetTexParameterfv, "_glUseProgram": _glUseProgram, "_emscripten_glShaderSource": _emscripten_glShaderSource, "_glfwCreateWindow": _glfwCreateWindow, "_emscripten_glReleaseShaderCompiler": _emscripten_glReleaseShaderCompiler, "_emscripten_glBlendFuncSeparate": _emscripten_glBlendFuncSeparate, "_emscripten_glUniform4iv": _emscripten_glUniform4iv, "_emscripten_glVertexAttribPointer": _emscripten_glVertexAttribPointer, "_emscripten_glGetIntegerv": _emscripten_glGetIntegerv, "_emscripten_glCullFace": _emscripten_glCullFace, "_emscripten_glIsProgram": _emscripten_glIsProgram, "_emscripten_glStencilMaskSeparate": _emscripten_glStencilMaskSeparate, "_emscripten_glViewport": _emscripten_glViewport, "_emscripten_glFrontFace": _emscripten_glFrontFace, "_alBufferData": _alBufferData, "___assert_fail": ___assert_fail, "_glDeleteProgram": _glDeleteProgram, "_emscripten_glUniform3fv": _emscripten_glUniform3fv, "_emscripten_glPolygonOffset": _emscripten_glPolygonOffset, "_emscripten_glUseProgram": _emscripten_glUseProgram, "_emscripten_glBlendColor": _emscripten_glBlendColor, "_glBindBuffer": _glBindBuffer, "_emscripten_glDepthFunc": _emscripten_glDepthFunc, "_glGetShaderInfoLog": _glGetShaderInfoLog, "_alSource3f": _alSource3f, "_emscripten_set_fullscreenchange_callback": _emscripten_set_fullscreenchange_callback, "_emscripten_set_touchmove_callback": _emscripten_set_touchmove_callback, "_emscripten_set_main_loop_timing": _emscripten_set_main_loop_timing, "_emscripten_set_gamepaddisconnected_callback": _emscripten_set_gamepaddisconnected_callback, "_glDisable": _glDisable, "_glBlendFunc": _glBlendFunc, "_emscripten_glDisableVertexAttribArray": _emscripten_glDisableVertexAttribArray, "_glGetAttribLocation": _glGetAttribLocation, "_glDisableVertexAttribArray": _glDisableVertexAttribArray, "_glCreateShader": _glCreateShader, "_alcGetString": _alcGetString, "_emscripten_glSampleCoverage": _emscripten_glSampleCoverage, "_emscripten_glVertexPointer": _emscripten_glVertexPointer, "_emscripten_set_touchstart_callback": _emscripten_set_touchstart_callback, "emscriptenWebGLComputeImageSize": emscriptenWebGLComputeImageSize, "_emscripten_glGetBooleanv": _emscripten_glGetBooleanv, "_emscripten_glGetShaderSource": _emscripten_glGetShaderSource, "_glUniform4f": _glUniform4f, "_llvm_stacksave": _llvm_stacksave, "_emscripten_glUniform1i": _emscripten_glUniform1i, "_emscripten_glFrustum": _emscripten_glFrustum, "_emscripten_glGenBuffers": _emscripten_glGenBuffers, "_emscripten_glDeleteObjectARB": _emscripten_glDeleteObjectARB, "_glfwSetWindowSizeCallback": _glfwSetWindowSizeCallback, "_emscripten_glGetShaderPrecisionFormat": _emscripten_glGetShaderPrecisionFormat, "_glfwInit": _glfwInit, "_emscripten_glGetPointerv": _emscripten_glGetPointerv, "_glGenBuffers": _glGenBuffers, "_glShaderSource": _glShaderSource, "_emscripten_glGetString": _emscripten_glGetString, "_emscripten_glIsFramebuffer": _emscripten_glIsFramebuffer, "_emscripten_glIsEnabled": _emscripten_glIsEnabled, "_emscripten_glScissor": _emscripten_glScissor, "_emscripten_glVertexAttrib4fv": _emscripten_glVertexAttrib4fv, "_emscripten_glFramebufferTexture2D": _emscripten_glFramebufferTexture2D, "_emscripten_glTexParameteriv": _emscripten_glTexParameteriv, "_emscripten_glBindProgramARB": _emscripten_glBindProgramARB, "_emscripten_glStencilOpSeparate": _emscripten_glStencilOpSeparate, "_alSourcePlay": _alSourcePlay, "_alSourcei": _alSourcei, "_emscripten_glFramebufferRenderbuffer": _emscripten_glFramebufferRenderbuffer, "___syscall140": ___syscall140, "_alSourcePause": _alSourcePause, "_glfwDefaultWindowHints": _glfwDefaultWindowHints, "_emscripten_glIsBuffer": _emscripten_glIsBuffer, "___syscall146": ___syscall146, "_glfwDestroyWindow": _glfwDestroyWindow, "_emscripten_glGetActiveAttrib": _emscripten_glGetActiveAttrib, "_emscripten_glAttachShader": _emscripten_glAttachShader, "_glVertexAttribPointer": _glVertexAttribPointer, "_emscripten_glUniform2i": _emscripten_glUniform2i, "_emscripten_glUniform2f": _emscripten_glUniform2f, "_alcCreateContext": _alcCreateContext, "_glfwTerminate": _glfwTerminate, "_emscripten_glTexParameterfv": _emscripten_glTexParameterfv, "_emscripten_glUniformMatrix2fv": _emscripten_glUniformMatrix2fv, "_glGetProgramInfoLog": _glGetProgramInfoLog, "_alcGetContextsDevice": _alcGetContextsDevice, "_emscripten_glTexParameterf": _emscripten_glTexParameterf, "_emscripten_glGetAttachedShaders": _emscripten_glGetAttachedShaders, "_emscripten_glGenTextures": _emscripten_glGenTextures, "_emscripten_glTexParameteri": _emscripten_glTexParameteri, "_llvm_stackrestore": _llvm_stackrestore, "_glfwMakeContextCurrent": _glfwMakeContextCurrent, "_emscripten_glClear": _emscripten_glClear, "_glDrawElements": _glDrawElements, "_alGetSourcei": _alGetSourcei, "_glBufferSubData": _glBufferSubData, "_alcMakeContextCurrent": _alcMakeContextCurrent, "_emscripten_glGenVertexArrays": _emscripten_glGenVertexArrays, "_emscripten_glVertexAttrib2fv": _emscripten_glVertexAttrib2fv, "_glViewport": _glViewport, "_alSourceQueueBuffers": _alSourceQueueBuffers, "_emscripten_glGetTexParameteriv": _emscripten_glGetTexParameteriv, "___setErrNo": ___setErrNo, "_eglGetProcAddress": _eglGetProcAddress, "_alcGetCurrentContext": _alcGetCurrentContext, "_emscripten_glBindAttribLocation": _emscripten_glBindAttribLocation, "_glDeleteTextures": _glDeleteTextures, "_glDepthFunc": _glDepthFunc, "_emscripten_glClientActiveTexture": _emscripten_glClientActiveTexture, "_emscripten_glVertexAttrib2f": _emscripten_glVertexAttrib2f, "_emscripten_glFlush": _emscripten_glFlush, "_emscripten_glCheckFramebufferStatus": _emscripten_glCheckFramebufferStatus, "_emscripten_glGenerateMipmap": _emscripten_glGenerateMipmap, "_emscripten_glGetError": _emscripten_glGetError, "_alGenBuffers": _alGenBuffers, "_glBindRenderbuffer": _glBindRenderbuffer, "_emscripten_glClearDepthf": _emscripten_glClearDepthf, "_emscripten_glUniform3f": _emscripten_glUniform3f, "_emscripten_glUniform3i": _emscripten_glUniform3i, "_emscripten_glRotatef": _emscripten_glRotatef, "_emscripten_glDeleteShader": _emscripten_glDeleteShader, "_glEnable": _glEnable, "_emscripten_glReadPixels": _emscripten_glReadPixels, "_emscripten_glMatrixMode": _emscripten_glMatrixMode, "_alDeleteSources": _alDeleteSources, "_emscripten_glClearStencil": _emscripten_glClearStencil, "_glfwSetErrorCallback": _glfwSetErrorCallback, "_emscripten_glGetUniformLocation": _emscripten_glGetUniformLocation, "emscriptenWebGLGet": emscriptenWebGLGet, "_alSourceUnqueueBuffers": _alSourceUnqueueBuffers, "_emscripten_glEnableVertexAttribArray": _emscripten_glEnableVertexAttribArray, "_alGetError": _alGetError, "_emscripten_get_now": _emscripten_get_now, "_emscripten_glDisable": _emscripten_glDisable, "_emscripten_glNormalPointer": _emscripten_glNormalPointer, "_glAttachShader": _glAttachShader, "_glFramebufferRenderbuffer": _glFramebufferRenderbuffer, "_emscripten_glEnable": _emscripten_glEnable, "_glCreateProgram": _glCreateProgram, "_glUniformMatrix4fv": _glUniformMatrix4fv, "_emscripten_glClearDepth": _emscripten_glClearDepth, "___lock": ___lock, "emscriptenWebGLGetTexPixelData": emscriptenWebGLGetTexPixelData, "___syscall6": ___syscall6, "___syscall5": ___syscall5, "___syscall145": ___syscall145, "_emscripten_glVertexAttrib3f": _emscripten_glVertexAttrib3f, "_time": _time, "_glBindFramebuffer": _glBindFramebuffer, "_emscripten_glVertexAttrib1f": _emscripten_glVertexAttrib1f, "_glGenFramebuffers": _glGenFramebuffers, "_emscripten_glGetFramebufferAttachmentParameteriv": _emscripten_glGetFramebufferAttachmentParameteriv, "_emscripten_glBlendEquationSeparate": _emscripten_glBlendEquationSeparate, "_exit": _exit, "_emscripten_glBindFramebuffer": _emscripten_glBindFramebuffer, "_glGetString": _glGetString, "_emscripten_glUniform4i": _emscripten_glUniform4i, "_alSourcef": _alSourcef, "_emscripten_glDrawRangeElements": _emscripten_glDrawRangeElements, "_glCullFace": _glCullFace, "_llvm_pow_f64": _llvm_pow_f64, "_emscripten_set_keypress_callback": _emscripten_set_keypress_callback, "__emscripten_sample_gamepad_data": __emscripten_sample_gamepad_data, "_glDeleteFramebuffers": _glDeleteFramebuffers, "_emscripten_get_gamepad_status": _emscripten_get_gamepad_status, "_emscripten_glUniform4f": _emscripten_glUniform4f, "_glfwSwapInterval": _glfwSwapInterval, "_glfwGetVideoModes": _glfwGetVideoModes, "_emscripten_set_click_callback": _emscripten_set_click_callback, "_glCheckFramebufferStatus": _glCheckFramebufferStatus, "_glFramebufferTexture2D": _glFramebufferTexture2D, "_emscripten_glShaderBinary": _emscripten_glShaderBinary, "_emscripten_glDrawElements": _emscripten_glDrawElements, "_emscripten_glBlendFunc": _emscripten_glBlendFunc, "_emscripten_get_num_gamepads": _emscripten_get_num_gamepads, "___syscall221": ___syscall221, "_emscripten_glStencilMask": _emscripten_glStencilMask, "_emscripten_glUniform1iv": _emscripten_glUniform1iv, "_emscripten_glGetVertexAttribPointerv": _emscripten_glGetVertexAttribPointerv, "_glClearDepthf": _glClearDepthf, "_emscripten_glCompressedTexSubImage2D": _emscripten_glCompressedTexSubImage2D, "emscriptenWebGLGetUniform": emscriptenWebGLGetUniform, "_emscripten_glGenRenderbuffers": _emscripten_glGenRenderbuffers, "_emscripten_glDeleteVertexArrays": _emscripten_glDeleteVertexArrays, "_glfwSetWindowShouldClose": _glfwSetWindowShouldClose, "_emscripten_glUniform1fv": _emscripten_glUniform1fv, "_emscripten_glGetActiveUniform": _emscripten_glGetActiveUniform, "_glBindTexture": _glBindTexture, "_emscripten_glUniform3iv": _emscripten_glUniform3iv, "_emscripten_glUniform2iv": _emscripten_glUniform2iv, "_emscripten_glHint": _emscripten_glHint, "_glfwSetCharCallback": _glfwSetCharCallback, "emscriptenWebGLGetVertexAttrib": emscriptenWebGLGetVertexAttrib, "_emscripten_glLoadMatrixf": _emscripten_glLoadMatrixf, "_emscripten_glDeleteProgram": _emscripten_glDeleteProgram, "_emscripten_glDeleteRenderbuffers": _emscripten_glDeleteRenderbuffers, "_glfwSetScrollCallback": _glfwSetScrollCallback, "_emscripten_glDrawElementsInstanced": _emscripten_glDrawElementsInstanced, "_emscripten_glVertexAttrib4f": _emscripten_glVertexAttrib4f, "_alcDestroyContext": _alcDestroyContext, "_glDrawArrays": _glDrawArrays, "_emscripten_glTexSubImage2D": _emscripten_glTexSubImage2D, "_emscripten_memcpy_big": _emscripten_memcpy_big, "_emscripten_glPixelStorei": _emscripten_glPixelStorei, "_glCompileShader": _glCompileShader, "_alListenerf": _alListenerf, "_emscripten_glUniformMatrix3fv": _emscripten_glUniformMatrix3fv, "_emscripten_glColorPointer": _emscripten_glColorPointer, "_emscripten_glTexCoordPointer": _emscripten_glTexCoordPointer, "_emscripten_glGetBufferParameteriv": _emscripten_glGetBufferParameteriv, "_emscripten_glFinish": _emscripten_glFinish, "_glfwSwapBuffers": _glfwSwapBuffers, "_glGetFloatv": _glGetFloatv, "_emscripten_asm_const_iii": _emscripten_asm_const_iii, "_emscripten_glDepthMask": _emscripten_glDepthMask, "_glfwSetWindowIconifyCallback": _glfwSetWindowIconifyCallback, "_emscripten_glDrawBuffers": _emscripten_glDrawBuffers, "_alSourceStop": _alSourceStop, "_glFrontFace": _glFrontFace, "_emscripten_glGetObjectParameterivARB": _emscripten_glGetObjectParameterivARB, "_emscripten_exit_pointerlock": _emscripten_exit_pointerlock, "_alcCloseDevice": _alcCloseDevice, "_glUniform1i": _glUniform1i, "_glEnableVertexAttribArray": _glEnableVertexAttribArray, "_emscripten_glStencilFunc": _emscripten_glStencilFunc, "_abort": _abort, "_emscripten_glGetUniformiv": _emscripten_glGetUniformiv, "_emscripten_glUniform2fv": _emscripten_glUniform2fv, "_glDeleteBuffers": _glDeleteBuffers, "_glBufferData": _glBufferData, "_glTexImage2D": _glTexImage2D, "_emscripten_glGetShaderiv": _emscripten_glGetShaderiv, "_glfwSetKeyCallback": _glfwSetKeyCallback, "_emscripten_glGenFramebuffers": _emscripten_glGenFramebuffers, "_emscripten_glUniformMatrix4fv": _emscripten_glUniformMatrix4fv, "_emscripten_glLoadIdentity": _emscripten_glLoadIdentity, "_glDeleteShader": _glDeleteShader, "_emscripten_glUniform1f": _emscripten_glUniform1f, "_glGetProgramiv": _glGetProgramiv, "_llvm_exp2_f32": _llvm_exp2_f32, "_emscripten_glIsRenderbuffer": _emscripten_glIsRenderbuffer, "_glfwGetTime": _glfwGetTime, "_emscripten_glRenderbufferStorage": _emscripten_glRenderbufferStorage, "_emscripten_set_gamepadconnected_callback": _emscripten_set_gamepadconnected_callback, "_alListener3f": _alListener3f, "_emscripten_glGetVertexAttribiv": _emscripten_glGetVertexAttribiv, "_emscripten_glBindVertexArray": _emscripten_glBindVertexArray, "_emscripten_glDrawArraysInstanced": _emscripten_glDrawArraysInstanced, "_emscripten_set_touchcancel_callback": _emscripten_set_touchcancel_callback, "_emscripten_glCreateShader": _emscripten_glCreateShader, "_emscripten_glStencilFuncSeparate": _emscripten_glStencilFuncSeparate, "_emscripten_glDeleteTextures": _emscripten_glDeleteTextures, "_glfwGetKey": _glfwGetKey, "_glfwGetPrimaryMonitor": _glfwGetPrimaryMonitor, "_emscripten_glBufferSubData": _emscripten_glBufferSubData, "_emscripten_glVertexAttribDivisor": _emscripten_glVertexAttribDivisor, "_emscripten_set_touchend_callback": _emscripten_set_touchend_callback, "_emscripten_glGetUniformfv": _emscripten_glGetUniformfv, "_emscripten_glGetVertexAttribfv": _emscripten_glGetVertexAttribfv, "_emscripten_glGetRenderbufferParameteriv": _emscripten_glGetRenderbufferParameteriv, "_emscripten_glDeleteFramebuffers": _emscripten_glDeleteFramebuffers, "_glGetShaderiv": _glGetShaderiv, "_emscripten_glVertexAttrib3fv": _emscripten_glVertexAttrib3fv, "_glGetUniformLocation": _glGetUniformLocation, "_emscripten_glGetInfoLogARB": _emscripten_glGetInfoLogARB, "_emscripten_glCompileShader": _emscripten_glCompileShader, "_glClear": _glClear, "_glGenTextures": _glGenTextures, "_glRenderbufferStorage": _glRenderbufferStorage, "_emscripten_glDepthRangef": _emscripten_glDepthRangef, "__exit": __exit, "_emscripten_glLineWidth": _emscripten_glLineWidth, "_emscripten_glGetShaderInfoLog": _emscripten_glGetShaderInfoLog, "_emscripten_glStencilOp": _emscripten_glStencilOp, "_glBindAttribLocation": _glBindAttribLocation, "_glPixelStorei": _glPixelStorei, "_emscripten_glColorMask": _emscripten_glColorMask, "_emscripten_glLinkProgram": _emscripten_glLinkProgram, "_emscripten_glBlendEquation": _emscripten_glBlendEquation, "_emscripten_glIsTexture": _emscripten_glIsTexture, "_alDeleteBuffers": _alDeleteBuffers, "_emscripten_glGetProgramiv": _emscripten_glGetProgramiv, "_emscripten_glVertexAttrib1fv": _emscripten_glVertexAttrib1fv, "_emscripten_glBindTexture": _emscripten_glBindTexture, "_glfwSetMouseButtonCallback": _glfwSetMouseButtonCallback, "_glfwGetCursorPos": _glfwGetCursorPos, "_emscripten_glActiveTexture": _emscripten_glActiveTexture, "_emscripten_glCreateProgram": _emscripten_glCreateProgram, "_emscripten_glDeleteBuffers": _emscripten_glDeleteBuffers, "___syscall54": ___syscall54, "___unlock": ___unlock, "_glLinkProgram": _glLinkProgram, "_emscripten_glDepthRange": _emscripten_glDepthRange, "_emscripten_set_main_loop": _emscripten_set_main_loop, "_emscripten_glBindRenderbuffer": _emscripten_glBindRenderbuffer, "_emscripten_glGetProgramInfoLog": _emscripten_glGetProgramInfoLog, "_glfwWindowHint": _glfwWindowHint, "_alGenSources": _alGenSources, "_glfwSetCursorPosCallback": _glfwSetCursorPosCallback, "_emscripten_glIsShader": _emscripten_glIsShader, "_emscripten_glUniform4fv": _emscripten_glUniform4fv, "_alcOpenDevice": _alcOpenDevice, "_emscripten_glDrawArrays": _emscripten_glDrawArrays, "_glGenRenderbuffers": _glGenRenderbuffers, "_emscripten_glCompressedTexImage2D": _emscripten_glCompressedTexImage2D, "_emscripten_glClearColor": _emscripten_glClearColor, "_emscripten_glBufferData": _emscripten_glBufferData, "_glCompressedTexImage2D": _glCompressedTexImage2D, "_emscripten_glCopyTexSubImage2D": _emscripten_glCopyTexSubImage2D, "_emscripten_glGetAttribLocation": _emscripten_glGetAttribLocation, "_glTexParameteri": _glTexParameteri, "_emscripten_glValidateProgram": _emscripten_glValidateProgram, "_emscripten_glBindBuffer": _emscripten_glBindBuffer, "_emscripten_glGetFloatv": _emscripten_glGetFloatv, "_emscripten_glDetachShader": _emscripten_glDetachShader, "_glClearColor": _glClearColor, "_emscripten_glEnableClientState": _emscripten_glEnableClientState, "_glTexParameterf": _glTexParameterf, "_glfwSetCursorEnterCallback": _glfwSetCursorEnterCallback, "_emscripten_glCopyTexImage2D": _emscripten_glCopyTexImage2D, "_emscripten_glTexImage2D": _emscripten_glTexImage2D, "DYNAMICTOP_PTR": DYNAMICTOP_PTR, "tempDoublePtr": tempDoublePtr, "ABORT": ABORT, "STACKTOP": STACKTOP, "STACK_MAX": STACK_MAX, "cttz_i8": cttz_i8 }; +// EMSCRIPTEN_START_ASM +var asm = (function(global, env, buffer) { + 'use asm'; + + + var HEAP8 = new global.Int8Array(buffer); + var HEAP16 = new global.Int16Array(buffer); + var HEAP32 = new global.Int32Array(buffer); + var HEAPU8 = new global.Uint8Array(buffer); + var HEAPU16 = new global.Uint16Array(buffer); + var HEAPU32 = new global.Uint32Array(buffer); + var HEAPF32 = new global.Float32Array(buffer); + var HEAPF64 = new global.Float64Array(buffer); + + + var DYNAMICTOP_PTR=env.DYNAMICTOP_PTR|0; + var tempDoublePtr=env.tempDoublePtr|0; + var ABORT=env.ABORT|0; + var STACKTOP=env.STACKTOP|0; + var STACK_MAX=env.STACK_MAX|0; + var cttz_i8=env.cttz_i8|0; + + var __THREW__ = 0; + var threwValue = 0; + var setjmpId = 0; + var undef = 0; + var nan = global.NaN, inf = global.Infinity; + var tempInt = 0, tempBigInt = 0, tempBigIntP = 0, tempBigIntS = 0, tempBigIntR = 0.0, tempBigIntI = 0, tempBigIntD = 0, tempValue = 0, tempDouble = 0.0; + var tempRet0 = 0; + + var Math_floor=global.Math.floor; + var Math_abs=global.Math.abs; + var Math_sqrt=global.Math.sqrt; + var Math_pow=global.Math.pow; + var Math_cos=global.Math.cos; + var Math_sin=global.Math.sin; + var Math_tan=global.Math.tan; + var Math_acos=global.Math.acos; + var Math_asin=global.Math.asin; + var Math_atan=global.Math.atan; + var Math_atan2=global.Math.atan2; + var Math_exp=global.Math.exp; + var Math_log=global.Math.log; + var Math_ceil=global.Math.ceil; + var Math_imul=global.Math.imul; + var Math_min=global.Math.min; + var Math_max=global.Math.max; + var Math_clz32=global.Math.clz32; + var abort=env.abort; + var assert=env.assert; + var enlargeMemory=env.enlargeMemory; + var getTotalMemory=env.getTotalMemory; + var abortOnCannotGrowMemory=env.abortOnCannotGrowMemory; + var abortStackOverflow=env.abortStackOverflow; + var nullFunc_viiiii=env.nullFunc_viiiii; + var nullFunc_vd=env.nullFunc_vd; + var nullFunc_vid=env.nullFunc_vid; + var nullFunc_vi=env.nullFunc_vi; + var nullFunc_vii=env.nullFunc_vii; + var nullFunc_ii=env.nullFunc_ii; + var nullFunc_viddd=env.nullFunc_viddd; + var nullFunc_vidd=env.nullFunc_vidd; + var nullFunc_iiii=env.nullFunc_iiii; + var nullFunc_viiiiiiii=env.nullFunc_viiiiiiii; + var nullFunc_viiiiii=env.nullFunc_viiiiii; + var nullFunc_viii=env.nullFunc_viii; + var nullFunc_vidddd=env.nullFunc_vidddd; + var nullFunc_vdi=env.nullFunc_vdi; + var nullFunc_viiiiiii=env.nullFunc_viiiiiii; + var nullFunc_viiiiiiiii=env.nullFunc_viiiiiiiii; + var nullFunc_iii=env.nullFunc_iii; + var nullFunc_i=env.nullFunc_i; + var nullFunc_vdddddd=env.nullFunc_vdddddd; + var nullFunc_vdddd=env.nullFunc_vdddd; + var nullFunc_vdd=env.nullFunc_vdd; + var nullFunc_v=env.nullFunc_v; + var nullFunc_viid=env.nullFunc_viid; + var nullFunc_viiii=env.nullFunc_viiii; + var invoke_viiiii=env.invoke_viiiii; + var invoke_vd=env.invoke_vd; + var invoke_vid=env.invoke_vid; + var invoke_vi=env.invoke_vi; + var invoke_vii=env.invoke_vii; + var invoke_ii=env.invoke_ii; + var invoke_viddd=env.invoke_viddd; + var invoke_vidd=env.invoke_vidd; + var invoke_iiii=env.invoke_iiii; + var invoke_viiiiiiii=env.invoke_viiiiiiii; + var invoke_viiiiii=env.invoke_viiiiii; + var invoke_viii=env.invoke_viii; + var invoke_vidddd=env.invoke_vidddd; + var invoke_vdi=env.invoke_vdi; + var invoke_viiiiiii=env.invoke_viiiiiii; + var invoke_viiiiiiiii=env.invoke_viiiiiiiii; + var invoke_iii=env.invoke_iii; + var invoke_i=env.invoke_i; + var invoke_vdddddd=env.invoke_vdddddd; + var invoke_vdddd=env.invoke_vdddd; + var invoke_vdd=env.invoke_vdd; + var invoke_v=env.invoke_v; + var invoke_viid=env.invoke_viid; + var invoke_viiii=env.invoke_viiii; + var _emscripten_glGetTexParameterfv=env._emscripten_glGetTexParameterfv; + var _glUseProgram=env._glUseProgram; + var _emscripten_glShaderSource=env._emscripten_glShaderSource; + var _glfwCreateWindow=env._glfwCreateWindow; + var _emscripten_glReleaseShaderCompiler=env._emscripten_glReleaseShaderCompiler; + var _emscripten_glBlendFuncSeparate=env._emscripten_glBlendFuncSeparate; + var _emscripten_glUniform4iv=env._emscripten_glUniform4iv; + var _emscripten_glVertexAttribPointer=env._emscripten_glVertexAttribPointer; + var _emscripten_glGetIntegerv=env._emscripten_glGetIntegerv; + var _emscripten_glCullFace=env._emscripten_glCullFace; + var _emscripten_glIsProgram=env._emscripten_glIsProgram; + var _emscripten_glStencilMaskSeparate=env._emscripten_glStencilMaskSeparate; + var _emscripten_glViewport=env._emscripten_glViewport; + var _emscripten_glFrontFace=env._emscripten_glFrontFace; + var _alBufferData=env._alBufferData; + var ___assert_fail=env.___assert_fail; + var _glDeleteProgram=env._glDeleteProgram; + var _emscripten_glUniform3fv=env._emscripten_glUniform3fv; + var _emscripten_glPolygonOffset=env._emscripten_glPolygonOffset; + var _emscripten_glUseProgram=env._emscripten_glUseProgram; + var _emscripten_glBlendColor=env._emscripten_glBlendColor; + var _glBindBuffer=env._glBindBuffer; + var _emscripten_glDepthFunc=env._emscripten_glDepthFunc; + var _glGetShaderInfoLog=env._glGetShaderInfoLog; + var _alSource3f=env._alSource3f; + var _emscripten_set_fullscreenchange_callback=env._emscripten_set_fullscreenchange_callback; + var _emscripten_set_touchmove_callback=env._emscripten_set_touchmove_callback; + var _emscripten_set_main_loop_timing=env._emscripten_set_main_loop_timing; + var _emscripten_set_gamepaddisconnected_callback=env._emscripten_set_gamepaddisconnected_callback; + var _glDisable=env._glDisable; + var _glBlendFunc=env._glBlendFunc; + var _emscripten_glDisableVertexAttribArray=env._emscripten_glDisableVertexAttribArray; + var _glGetAttribLocation=env._glGetAttribLocation; + var _glDisableVertexAttribArray=env._glDisableVertexAttribArray; + var _glCreateShader=env._glCreateShader; + var _alcGetString=env._alcGetString; + var _emscripten_glSampleCoverage=env._emscripten_glSampleCoverage; + var _emscripten_glVertexPointer=env._emscripten_glVertexPointer; + var _emscripten_set_touchstart_callback=env._emscripten_set_touchstart_callback; + var emscriptenWebGLComputeImageSize=env.emscriptenWebGLComputeImageSize; + var _emscripten_glGetBooleanv=env._emscripten_glGetBooleanv; + var _emscripten_glGetShaderSource=env._emscripten_glGetShaderSource; + var _glUniform4f=env._glUniform4f; + var _llvm_stacksave=env._llvm_stacksave; + var _emscripten_glUniform1i=env._emscripten_glUniform1i; + var _emscripten_glFrustum=env._emscripten_glFrustum; + var _emscripten_glGenBuffers=env._emscripten_glGenBuffers; + var _emscripten_glDeleteObjectARB=env._emscripten_glDeleteObjectARB; + var _glfwSetWindowSizeCallback=env._glfwSetWindowSizeCallback; + var _emscripten_glGetShaderPrecisionFormat=env._emscripten_glGetShaderPrecisionFormat; + var _glfwInit=env._glfwInit; + var _emscripten_glGetPointerv=env._emscripten_glGetPointerv; + var _glGenBuffers=env._glGenBuffers; + var _glShaderSource=env._glShaderSource; + var _emscripten_glGetString=env._emscripten_glGetString; + var _emscripten_glIsFramebuffer=env._emscripten_glIsFramebuffer; + var _emscripten_glIsEnabled=env._emscripten_glIsEnabled; + var _emscripten_glScissor=env._emscripten_glScissor; + var _emscripten_glVertexAttrib4fv=env._emscripten_glVertexAttrib4fv; + var _emscripten_glFramebufferTexture2D=env._emscripten_glFramebufferTexture2D; + var _emscripten_glTexParameteriv=env._emscripten_glTexParameteriv; + var _emscripten_glBindProgramARB=env._emscripten_glBindProgramARB; + var _emscripten_glStencilOpSeparate=env._emscripten_glStencilOpSeparate; + var _alSourcePlay=env._alSourcePlay; + var _alSourcei=env._alSourcei; + var _emscripten_glFramebufferRenderbuffer=env._emscripten_glFramebufferRenderbuffer; + var ___syscall140=env.___syscall140; + var _alSourcePause=env._alSourcePause; + var _glfwDefaultWindowHints=env._glfwDefaultWindowHints; + var _emscripten_glIsBuffer=env._emscripten_glIsBuffer; + var ___syscall146=env.___syscall146; + var _glfwDestroyWindow=env._glfwDestroyWindow; + var _emscripten_glGetActiveAttrib=env._emscripten_glGetActiveAttrib; + var _emscripten_glAttachShader=env._emscripten_glAttachShader; + var _glVertexAttribPointer=env._glVertexAttribPointer; + var _emscripten_glUniform2i=env._emscripten_glUniform2i; + var _emscripten_glUniform2f=env._emscripten_glUniform2f; + var _alcCreateContext=env._alcCreateContext; + var _glfwTerminate=env._glfwTerminate; + var _emscripten_glTexParameterfv=env._emscripten_glTexParameterfv; + var _emscripten_glUniformMatrix2fv=env._emscripten_glUniformMatrix2fv; + var _glGetProgramInfoLog=env._glGetProgramInfoLog; + var _alcGetContextsDevice=env._alcGetContextsDevice; + var _emscripten_glTexParameterf=env._emscripten_glTexParameterf; + var _emscripten_glGetAttachedShaders=env._emscripten_glGetAttachedShaders; + var _emscripten_glGenTextures=env._emscripten_glGenTextures; + var _emscripten_glTexParameteri=env._emscripten_glTexParameteri; + var _llvm_stackrestore=env._llvm_stackrestore; + var _glfwMakeContextCurrent=env._glfwMakeContextCurrent; + var _emscripten_glClear=env._emscripten_glClear; + var _glDrawElements=env._glDrawElements; + var _alGetSourcei=env._alGetSourcei; + var _glBufferSubData=env._glBufferSubData; + var _alcMakeContextCurrent=env._alcMakeContextCurrent; + var _emscripten_glGenVertexArrays=env._emscripten_glGenVertexArrays; + var _emscripten_glVertexAttrib2fv=env._emscripten_glVertexAttrib2fv; + var _glViewport=env._glViewport; + var _alSourceQueueBuffers=env._alSourceQueueBuffers; + var _emscripten_glGetTexParameteriv=env._emscripten_glGetTexParameteriv; + var ___setErrNo=env.___setErrNo; + var _eglGetProcAddress=env._eglGetProcAddress; + var _alcGetCurrentContext=env._alcGetCurrentContext; + var _emscripten_glBindAttribLocation=env._emscripten_glBindAttribLocation; + var _glDeleteTextures=env._glDeleteTextures; + var _glDepthFunc=env._glDepthFunc; + var _emscripten_glClientActiveTexture=env._emscripten_glClientActiveTexture; + var _emscripten_glVertexAttrib2f=env._emscripten_glVertexAttrib2f; + var _emscripten_glFlush=env._emscripten_glFlush; + var _emscripten_glCheckFramebufferStatus=env._emscripten_glCheckFramebufferStatus; + var _emscripten_glGenerateMipmap=env._emscripten_glGenerateMipmap; + var _emscripten_glGetError=env._emscripten_glGetError; + var _alGenBuffers=env._alGenBuffers; + var _glBindRenderbuffer=env._glBindRenderbuffer; + var _emscripten_glClearDepthf=env._emscripten_glClearDepthf; + var _emscripten_glUniform3f=env._emscripten_glUniform3f; + var _emscripten_glUniform3i=env._emscripten_glUniform3i; + var _emscripten_glRotatef=env._emscripten_glRotatef; + var _emscripten_glDeleteShader=env._emscripten_glDeleteShader; + var _glEnable=env._glEnable; + var _emscripten_glReadPixels=env._emscripten_glReadPixels; + var _emscripten_glMatrixMode=env._emscripten_glMatrixMode; + var _alDeleteSources=env._alDeleteSources; + var _emscripten_glClearStencil=env._emscripten_glClearStencil; + var _glfwSetErrorCallback=env._glfwSetErrorCallback; + var _emscripten_glGetUniformLocation=env._emscripten_glGetUniformLocation; + var emscriptenWebGLGet=env.emscriptenWebGLGet; + var _alSourceUnqueueBuffers=env._alSourceUnqueueBuffers; + var _emscripten_glEnableVertexAttribArray=env._emscripten_glEnableVertexAttribArray; + var _alGetError=env._alGetError; + var _emscripten_get_now=env._emscripten_get_now; + var _emscripten_glDisable=env._emscripten_glDisable; + var _emscripten_glNormalPointer=env._emscripten_glNormalPointer; + var _glAttachShader=env._glAttachShader; + var _glFramebufferRenderbuffer=env._glFramebufferRenderbuffer; + var _emscripten_glEnable=env._emscripten_glEnable; + var _glCreateProgram=env._glCreateProgram; + var _glUniformMatrix4fv=env._glUniformMatrix4fv; + var _emscripten_glClearDepth=env._emscripten_glClearDepth; + var ___lock=env.___lock; + var emscriptenWebGLGetTexPixelData=env.emscriptenWebGLGetTexPixelData; + var ___syscall6=env.___syscall6; + var ___syscall5=env.___syscall5; + var ___syscall145=env.___syscall145; + var _emscripten_glVertexAttrib3f=env._emscripten_glVertexAttrib3f; + var _time=env._time; + var _glBindFramebuffer=env._glBindFramebuffer; + var _emscripten_glVertexAttrib1f=env._emscripten_glVertexAttrib1f; + var _glGenFramebuffers=env._glGenFramebuffers; + var _emscripten_glGetFramebufferAttachmentParameteriv=env._emscripten_glGetFramebufferAttachmentParameteriv; + var _emscripten_glBlendEquationSeparate=env._emscripten_glBlendEquationSeparate; + var _exit=env._exit; + var _emscripten_glBindFramebuffer=env._emscripten_glBindFramebuffer; + var _glGetString=env._glGetString; + var _emscripten_glUniform4i=env._emscripten_glUniform4i; + var _alSourcef=env._alSourcef; + var _emscripten_glDrawRangeElements=env._emscripten_glDrawRangeElements; + var _glCullFace=env._glCullFace; + var _llvm_pow_f64=env._llvm_pow_f64; + var _emscripten_set_keypress_callback=env._emscripten_set_keypress_callback; + var __emscripten_sample_gamepad_data=env.__emscripten_sample_gamepad_data; + var _glDeleteFramebuffers=env._glDeleteFramebuffers; + var _emscripten_get_gamepad_status=env._emscripten_get_gamepad_status; + var _emscripten_glUniform4f=env._emscripten_glUniform4f; + var _glfwSwapInterval=env._glfwSwapInterval; + var _glfwGetVideoModes=env._glfwGetVideoModes; + var _emscripten_set_click_callback=env._emscripten_set_click_callback; + var _glCheckFramebufferStatus=env._glCheckFramebufferStatus; + var _glFramebufferTexture2D=env._glFramebufferTexture2D; + var _emscripten_glShaderBinary=env._emscripten_glShaderBinary; + var _emscripten_glDrawElements=env._emscripten_glDrawElements; + var _emscripten_glBlendFunc=env._emscripten_glBlendFunc; + var _emscripten_get_num_gamepads=env._emscripten_get_num_gamepads; + var ___syscall221=env.___syscall221; + var _emscripten_glStencilMask=env._emscripten_glStencilMask; + var _emscripten_glUniform1iv=env._emscripten_glUniform1iv; + var _emscripten_glGetVertexAttribPointerv=env._emscripten_glGetVertexAttribPointerv; + var _glClearDepthf=env._glClearDepthf; + var _emscripten_glCompressedTexSubImage2D=env._emscripten_glCompressedTexSubImage2D; + var emscriptenWebGLGetUniform=env.emscriptenWebGLGetUniform; + var _emscripten_glGenRenderbuffers=env._emscripten_glGenRenderbuffers; + var _emscripten_glDeleteVertexArrays=env._emscripten_glDeleteVertexArrays; + var _glfwSetWindowShouldClose=env._glfwSetWindowShouldClose; + var _emscripten_glUniform1fv=env._emscripten_glUniform1fv; + var _emscripten_glGetActiveUniform=env._emscripten_glGetActiveUniform; + var _glBindTexture=env._glBindTexture; + var _emscripten_glUniform3iv=env._emscripten_glUniform3iv; + var _emscripten_glUniform2iv=env._emscripten_glUniform2iv; + var _emscripten_glHint=env._emscripten_glHint; + var _glfwSetCharCallback=env._glfwSetCharCallback; + var emscriptenWebGLGetVertexAttrib=env.emscriptenWebGLGetVertexAttrib; + var _emscripten_glLoadMatrixf=env._emscripten_glLoadMatrixf; + var _emscripten_glDeleteProgram=env._emscripten_glDeleteProgram; + var _emscripten_glDeleteRenderbuffers=env._emscripten_glDeleteRenderbuffers; + var _glfwSetScrollCallback=env._glfwSetScrollCallback; + var _emscripten_glDrawElementsInstanced=env._emscripten_glDrawElementsInstanced; + var _emscripten_glVertexAttrib4f=env._emscripten_glVertexAttrib4f; + var _alcDestroyContext=env._alcDestroyContext; + var _glDrawArrays=env._glDrawArrays; + var _emscripten_glTexSubImage2D=env._emscripten_glTexSubImage2D; + var _emscripten_memcpy_big=env._emscripten_memcpy_big; + var _emscripten_glPixelStorei=env._emscripten_glPixelStorei; + var _glCompileShader=env._glCompileShader; + var _alListenerf=env._alListenerf; + var _emscripten_glUniformMatrix3fv=env._emscripten_glUniformMatrix3fv; + var _emscripten_glColorPointer=env._emscripten_glColorPointer; + var _emscripten_glTexCoordPointer=env._emscripten_glTexCoordPointer; + var _emscripten_glGetBufferParameteriv=env._emscripten_glGetBufferParameteriv; + var _emscripten_glFinish=env._emscripten_glFinish; + var _glfwSwapBuffers=env._glfwSwapBuffers; + var _glGetFloatv=env._glGetFloatv; + var _emscripten_asm_const_iii=env._emscripten_asm_const_iii; + var _emscripten_glDepthMask=env._emscripten_glDepthMask; + var _glfwSetWindowIconifyCallback=env._glfwSetWindowIconifyCallback; + var _emscripten_glDrawBuffers=env._emscripten_glDrawBuffers; + var _alSourceStop=env._alSourceStop; + var _glFrontFace=env._glFrontFace; + var _emscripten_glGetObjectParameterivARB=env._emscripten_glGetObjectParameterivARB; + var _emscripten_exit_pointerlock=env._emscripten_exit_pointerlock; + var _alcCloseDevice=env._alcCloseDevice; + var _glUniform1i=env._glUniform1i; + var _glEnableVertexAttribArray=env._glEnableVertexAttribArray; + var _emscripten_glStencilFunc=env._emscripten_glStencilFunc; + var _abort=env._abort; + var _emscripten_glGetUniformiv=env._emscripten_glGetUniformiv; + var _emscripten_glUniform2fv=env._emscripten_glUniform2fv; + var _glDeleteBuffers=env._glDeleteBuffers; + var _glBufferData=env._glBufferData; + var _glTexImage2D=env._glTexImage2D; + var _emscripten_glGetShaderiv=env._emscripten_glGetShaderiv; + var _glfwSetKeyCallback=env._glfwSetKeyCallback; + var _emscripten_glGenFramebuffers=env._emscripten_glGenFramebuffers; + var _emscripten_glUniformMatrix4fv=env._emscripten_glUniformMatrix4fv; + var _emscripten_glLoadIdentity=env._emscripten_glLoadIdentity; + var _glDeleteShader=env._glDeleteShader; + var _emscripten_glUniform1f=env._emscripten_glUniform1f; + var _glGetProgramiv=env._glGetProgramiv; + var _llvm_exp2_f32=env._llvm_exp2_f32; + var _emscripten_glIsRenderbuffer=env._emscripten_glIsRenderbuffer; + var _glfwGetTime=env._glfwGetTime; + var _emscripten_glRenderbufferStorage=env._emscripten_glRenderbufferStorage; + var _emscripten_set_gamepadconnected_callback=env._emscripten_set_gamepadconnected_callback; + var _alListener3f=env._alListener3f; + var _emscripten_glGetVertexAttribiv=env._emscripten_glGetVertexAttribiv; + var _emscripten_glBindVertexArray=env._emscripten_glBindVertexArray; + var _emscripten_glDrawArraysInstanced=env._emscripten_glDrawArraysInstanced; + var _emscripten_set_touchcancel_callback=env._emscripten_set_touchcancel_callback; + var _emscripten_glCreateShader=env._emscripten_glCreateShader; + var _emscripten_glStencilFuncSeparate=env._emscripten_glStencilFuncSeparate; + var _emscripten_glDeleteTextures=env._emscripten_glDeleteTextures; + var _glfwGetKey=env._glfwGetKey; + var _glfwGetPrimaryMonitor=env._glfwGetPrimaryMonitor; + var _emscripten_glBufferSubData=env._emscripten_glBufferSubData; + var _emscripten_glVertexAttribDivisor=env._emscripten_glVertexAttribDivisor; + var _emscripten_set_touchend_callback=env._emscripten_set_touchend_callback; + var _emscripten_glGetUniformfv=env._emscripten_glGetUniformfv; + var _emscripten_glGetVertexAttribfv=env._emscripten_glGetVertexAttribfv; + var _emscripten_glGetRenderbufferParameteriv=env._emscripten_glGetRenderbufferParameteriv; + var _emscripten_glDeleteFramebuffers=env._emscripten_glDeleteFramebuffers; + var _glGetShaderiv=env._glGetShaderiv; + var _emscripten_glVertexAttrib3fv=env._emscripten_glVertexAttrib3fv; + var _glGetUniformLocation=env._glGetUniformLocation; + var _emscripten_glGetInfoLogARB=env._emscripten_glGetInfoLogARB; + var _emscripten_glCompileShader=env._emscripten_glCompileShader; + var _glClear=env._glClear; + var _glGenTextures=env._glGenTextures; + var _glRenderbufferStorage=env._glRenderbufferStorage; + var _emscripten_glDepthRangef=env._emscripten_glDepthRangef; + var __exit=env.__exit; + var _emscripten_glLineWidth=env._emscripten_glLineWidth; + var _emscripten_glGetShaderInfoLog=env._emscripten_glGetShaderInfoLog; + var _emscripten_glStencilOp=env._emscripten_glStencilOp; + var _glBindAttribLocation=env._glBindAttribLocation; + var _glPixelStorei=env._glPixelStorei; + var _emscripten_glColorMask=env._emscripten_glColorMask; + var _emscripten_glLinkProgram=env._emscripten_glLinkProgram; + var _emscripten_glBlendEquation=env._emscripten_glBlendEquation; + var _emscripten_glIsTexture=env._emscripten_glIsTexture; + var _alDeleteBuffers=env._alDeleteBuffers; + var _emscripten_glGetProgramiv=env._emscripten_glGetProgramiv; + var _emscripten_glVertexAttrib1fv=env._emscripten_glVertexAttrib1fv; + var _emscripten_glBindTexture=env._emscripten_glBindTexture; + var _glfwSetMouseButtonCallback=env._glfwSetMouseButtonCallback; + var _glfwGetCursorPos=env._glfwGetCursorPos; + var _emscripten_glActiveTexture=env._emscripten_glActiveTexture; + var _emscripten_glCreateProgram=env._emscripten_glCreateProgram; + var _emscripten_glDeleteBuffers=env._emscripten_glDeleteBuffers; + var ___syscall54=env.___syscall54; + var ___unlock=env.___unlock; + var _glLinkProgram=env._glLinkProgram; + var _emscripten_glDepthRange=env._emscripten_glDepthRange; + var _emscripten_set_main_loop=env._emscripten_set_main_loop; + var _emscripten_glBindRenderbuffer=env._emscripten_glBindRenderbuffer; + var _emscripten_glGetProgramInfoLog=env._emscripten_glGetProgramInfoLog; + var _glfwWindowHint=env._glfwWindowHint; + var _alGenSources=env._alGenSources; + var _glfwSetCursorPosCallback=env._glfwSetCursorPosCallback; + var _emscripten_glIsShader=env._emscripten_glIsShader; + var _emscripten_glUniform4fv=env._emscripten_glUniform4fv; + var _alcOpenDevice=env._alcOpenDevice; + var _emscripten_glDrawArrays=env._emscripten_glDrawArrays; + var _glGenRenderbuffers=env._glGenRenderbuffers; + var _emscripten_glCompressedTexImage2D=env._emscripten_glCompressedTexImage2D; + var _emscripten_glClearColor=env._emscripten_glClearColor; + var _emscripten_glBufferData=env._emscripten_glBufferData; + var _glCompressedTexImage2D=env._glCompressedTexImage2D; + var _emscripten_glCopyTexSubImage2D=env._emscripten_glCopyTexSubImage2D; + var _emscripten_glGetAttribLocation=env._emscripten_glGetAttribLocation; + var _glTexParameteri=env._glTexParameteri; + var _emscripten_glValidateProgram=env._emscripten_glValidateProgram; + var _emscripten_glBindBuffer=env._emscripten_glBindBuffer; + var _emscripten_glGetFloatv=env._emscripten_glGetFloatv; + var _emscripten_glDetachShader=env._emscripten_glDetachShader; + var _glClearColor=env._glClearColor; + var _emscripten_glEnableClientState=env._emscripten_glEnableClientState; + var _glTexParameterf=env._glTexParameterf; + var _glfwSetCursorEnterCallback=env._glfwSetCursorEnterCallback; + var _emscripten_glCopyTexImage2D=env._emscripten_glCopyTexImage2D; + var _emscripten_glTexImage2D=env._emscripten_glTexImage2D; + var tempFloat = 0.0; + +// EMSCRIPTEN_START_FUNCS + +function stackAlloc(size) { + size = size|0; + var ret = 0; + ret = STACKTOP; + STACKTOP = (STACKTOP + size)|0; + STACKTOP = (STACKTOP + 15)&-16; + if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(size|0); + + return ret|0; +} +function stackSave() { + return STACKTOP|0; +} +function stackRestore(top) { + top = top|0; + STACKTOP = top; +} +function establishStackSpace(stackBase, stackMax) { + stackBase = stackBase|0; + stackMax = stackMax|0; + STACKTOP = stackBase; + STACK_MAX = stackMax; +} + +function setThrew(threw, value) { + threw = threw|0; + value = value|0; + if ((__THREW__|0) == 0) { + __THREW__ = threw; + threwValue = value; + } +} + +function setTempRet0(value) { + value = value|0; + tempRet0 = value; +} +function getTempRet0() { + return tempRet0|0; +} + +function _main($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $font$byval_copy = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $font$byval_copy = sp + 32|0; + $2 = sp; + _SetConfigFlags(32); + _InitWindow(1280,720,5698); + _InitAudioDevice(); + _LoadSpriteFont($2,5721); + ;HEAP32[24880>>2]=HEAP32[$2>>2]|0;HEAP32[24880+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[24880+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[24880+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[24880+16>>2]=HEAP32[$2+16>>2]|0;HEAP32[24880+20>>2]=HEAP32[$2+20>>2]|0;HEAP32[24880+24>>2]=HEAP32[$2+24>>2]|0;HEAP32[24880+28>>2]=HEAP32[$2+28>>2]|0; + $3 = (_LoadMusicStream(6155)|0); + HEAP32[6228] = $3; + _SetMusicVolume($3,1.0); + HEAP32[6229] = 0; + _InitLogoScreen(); + _emscripten_set_main_loop((1|0),0,1); + $4 = HEAP32[6228]|0; + _StopMusicStream($4); + $5 = HEAP32[6229]|0; + switch ($5|0) { + case 0: { + break; + } + case 1: { + _UnloadTitleScreen(); + break; + } + case 2: { + _UnloadGameplayScreen(); + break; + } + case 3: { + _UnloadEndingScreen(); + break; + } + default: { + } + } + ;HEAP32[$font$byval_copy>>2]=HEAP32[24880>>2]|0;HEAP32[$font$byval_copy+4>>2]=HEAP32[24880+4>>2]|0;HEAP32[$font$byval_copy+8>>2]=HEAP32[24880+8>>2]|0;HEAP32[$font$byval_copy+12>>2]=HEAP32[24880+12>>2]|0;HEAP32[$font$byval_copy+16>>2]=HEAP32[24880+16>>2]|0;HEAP32[$font$byval_copy+20>>2]=HEAP32[24880+20>>2]|0;HEAP32[$font$byval_copy+24>>2]=HEAP32[24880+24>>2]|0;HEAP32[$font$byval_copy+28>>2]=HEAP32[24880+28>>2]|0; + _UnloadSpriteFont($font$byval_copy); + $6 = HEAP32[6228]|0; + _UnloadMusicStream($6); + _CloseAudioDevice(); + _CloseWindow(); + STACKTOP = sp;return 0; +} +function _UpdateDrawFrame() { + var $$byval_copy = 0, $$pr = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; + var $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $$byval_copy = sp + 4|0; + $0 = sp; + $1 = HEAP32[6231]|0; + $2 = ($1|0)==(0); + L1: do { + if ($2) { + $3 = HEAP32[6229]|0; + switch ($3|0) { + case 0: { + _UpdateLogoScreen(); + $4 = (_FinishLogoScreen()|0); + $5 = ($4|0)==(0); + if ($5) { + label = 12; + break L1; + } + _TransitionToScreen(1); + label = 12; + break L1; + break; + } + case 1: { + _UpdateTitleScreen(); + $6 = (_FinishTitleScreen()|0); + $7 = ($6|0)==(1); + if (!($7)) { + label = 12; + break L1; + } + _TransitionToScreen(2); + label = 12; + break L1; + break; + } + case 2: { + _UpdateGameplayScreen(); + $8 = (_FinishGameplayScreen()|0); + $9 = ($8|0)==(1); + if (!($9)) { + label = 12; + break L1; + } + _TransitionToScreen(3); + label = 12; + break L1; + break; + } + case 3: { + _UpdateEndingScreen(); + $10 = (_FinishEndingScreen()|0); + $11 = ($10|0)==(1); + if (!($11)) { + label = 12; + break L1; + } + _TransitionToScreen(1); + label = 12; + break L1; + break; + } + default: { + label = 13; + break L1; + } + } + } else { + _UpdateTransition(); + label = 12; + } + } while(0); + if ((label|0) == 12) { + $$pr = HEAP32[6229]|0; + $12 = ($$pr|0)==(3); + if (!($12)) { + label = 13; + } + } + if ((label|0) == 13) { + $13 = HEAP32[6228]|0; + _UpdateMusicStream($13); + } + _BeginDrawing(); + HEAP8[$0>>0] = -11; + $14 = ((($0)) + 1|0); + HEAP8[$14>>0] = -11; + $15 = ((($0)) + 2|0); + HEAP8[$15>>0] = -11; + $16 = ((($0)) + 3|0); + HEAP8[$16>>0] = -1; + ;HEAP8[$$byval_copy>>0]=HEAP8[$0>>0]|0;HEAP8[$$byval_copy+1>>0]=HEAP8[$0+1>>0]|0;HEAP8[$$byval_copy+2>>0]=HEAP8[$0+2>>0]|0;HEAP8[$$byval_copy+3>>0]=HEAP8[$0+3>>0]|0; + _ClearBackground($$byval_copy); + $17 = HEAP32[6229]|0; + switch ($17|0) { + case 0: { + _DrawLogoScreen(); + break; + } + case 1: { + _DrawTitleScreen(); + break; + } + case 2: { + _DrawGameplayScreen(); + break; + } + case 3: { + _DrawEndingScreen(); + break; + } + default: { + } + } + $18 = HEAP32[6231]|0; + $19 = ($18|0)==(0); + if ($19) { + _EndDrawing(); + STACKTOP = sp;return; + } + _DrawTransition(); + _EndDrawing(); + STACKTOP = sp;return; +} +function _TransitionToScreen($0) { + $0 = $0|0; + var $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAP32[6231] = 1; + HEAP32[6232] = 0; + $1 = HEAP32[6229]|0; + HEAP32[2] = $1; + HEAP32[3] = $0; + HEAPF32[6233] = 0.0; + return; +} +function _UpdateTransition() { + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $2 = 0.0, $3 = 0.0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[6232]|0; + $1 = ($0|0)==(0); + $2 = +HEAPF32[6233]; + if (!($1)) { + $9 = $2 + -0.05000000074505806; + HEAPF32[6233] = $9; + $10 = (~~(($9))); + $11 = ($10|0)<(1); + if (!($11)) { + return; + } + HEAPF32[6233] = 0.0; + HEAP32[6232] = 0; + HEAP32[6231] = 0; + HEAP32[2] = -1; + HEAP32[3] = -1; + return; + } + $3 = $2 + 0.05000000074505806; + HEAPF32[6233] = $3; + $4 = (~~(($3))); + $5 = ($4|0)>(0); + if (!($5)) { + return; + } + HEAPF32[6233] = 1.0; + $6 = HEAP32[2]|0; + switch ($6|0) { + case 0: { + break; + } + case 1: { + _UnloadTitleScreen(); + break; + } + case 2: { + _UnloadGameplayScreen(); + break; + } + case 3: { + _UnloadEndingScreen(); + break; + } + default: { + } + } + $7 = HEAP32[3]|0; + switch ($7|0) { + case 0: { + _InitLogoScreen(); + break; + } + case 1: { + _InitTitleScreen(); + break; + } + case 2: { + _InitGameplayScreen(); + break; + } + case 3: { + _InitEndingScreen(); + break; + } + default: { + } + } + $8 = HEAP32[3]|0; + HEAP32[6229] = $8; + HEAP32[6232] = 1; + return; +} +function _DrawTransition() { + var $$byval_copy1 = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $$byval_copy1 = sp + 8|0; + $0 = sp + 4|0; + $1 = sp; + $2 = (_GetScreenWidth()|0); + $3 = (_GetScreenHeight()|0); + HEAP8[$1>>0] = -11; + $4 = ((($1)) + 1|0); + HEAP8[$4>>0] = -11; + $5 = ((($1)) + 2|0); + HEAP8[$5>>0] = -11; + $6 = ((($1)) + 3|0); + HEAP8[$6>>0] = -1; + $7 = +HEAPF32[6233]; + ;HEAP8[$$byval_copy1>>0]=HEAP8[$1>>0]|0;HEAP8[$$byval_copy1+1>>0]=HEAP8[$1+1>>0]|0;HEAP8[$$byval_copy1+2>>0]=HEAP8[$1+2>>0]|0;HEAP8[$$byval_copy1+3>>0]=HEAP8[$1+3>>0]|0; + _Fade($0,$$byval_copy1,$7); + ;HEAP8[$$byval_copy1>>0]=HEAP8[$0>>0]|0;HEAP8[$$byval_copy1+1>>0]=HEAP8[$0+1>>0]|0;HEAP8[$$byval_copy1+2>>0]=HEAP8[$0+2>>0]|0;HEAP8[$$byval_copy1+3>>0]=HEAP8[$0+3>>0]|0; + _DrawRectangle(0,0,$2,$3,$$byval_copy1); + STACKTOP = sp;return; +} +function _InitLogoScreen() { + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAP32[6234] = 0; + HEAP32[6235] = 0; + HEAP32[6236] = 0; + $0 = (_GetScreenWidth()|0); + $1 = (($0|0) / 2)&-1; + $2 = (($1) + -128)|0; + HEAP32[6237] = $2; + $3 = (_GetScreenHeight()|0); + $4 = (($3|0) / 2)&-1; + $5 = (($4) + -128)|0; + HEAP32[6238] = $5; + HEAP32[6239] = 16; + HEAP32[6240] = 16; + HEAP32[6241] = 16; + HEAP32[6242] = 16; + HEAP32[6243] = 0; + HEAPF32[4] = 1.0; + return; +} +function _UpdateLogoScreen() { + var $$off = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0.0, $23 = 0.0, $24 = 0, $3 = 0; + var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[6243]|0; + switch ($0|0) { + case 0: { + $1 = HEAP32[6235]|0; + $2 = (($1) + 1)|0; + HEAP32[6235] = $2; + $3 = ($2|0)==(80); + if (!($3)) { + return; + } + HEAP32[6243] = 1; + HEAP32[6235] = 0; + $4 = HEAP32[6228]|0; + _PlayMusicStream($4); + return; + break; + } + case 1: { + $5 = HEAP32[6239]|0; + $6 = (($5) + 8)|0; + HEAP32[6239] = $6; + $7 = HEAP32[6240]|0; + $8 = (($7) + 8)|0; + HEAP32[6240] = $8; + $9 = ($6|0)==(256); + if (!($9)) { + return; + } + HEAP32[6243] = 2; + return; + break; + } + case 2: { + $10 = HEAP32[6241]|0; + $11 = (($10) + 8)|0; + HEAP32[6241] = $11; + $12 = HEAP32[6242]|0; + $13 = (($12) + 8)|0; + HEAP32[6242] = $13; + $14 = ($11|0)==(256); + if (!($14)) { + return; + } + HEAP32[6243] = 3; + return; + break; + } + case 3: { + $15 = HEAP32[6235]|0; + $16 = (($15) + 1)|0; + HEAP32[6235] = $16; + $17 = HEAP32[6236]|0; + $18 = ($17|0)<(10); + if ($18) { + $$off = (($15) + 15)|0; + $19 = ($$off>>>0)>(28); + if (!($19)) { + return; + } + $20 = (($17) + 1)|0; + HEAP32[6236] = $20; + HEAP32[6235] = 0; + return; + } + $21 = ($15|0)>(199); + if (!($21)) { + return; + } + $22 = +HEAPF32[4]; + $23 = $22 + -0.019999999552965164; + HEAPF32[4] = $23; + $24 = !($23 <= 0.0); + if ($24) { + return; + } + HEAPF32[4] = 0.0; + HEAP32[6234] = 1; + return; + break; + } + default: { + return; + } + } +} +function _DrawLogoScreen() { + var $$byval_copy20 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0.0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0.0, $113 = 0, $114 = 0; + var $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0.0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0; + var $133 = 0.0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0; + var $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0; + var $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0; + var $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0.0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0.0, $85 = 0; + var $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0.0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0); + $$byval_copy20 = sp + 84|0; + $0 = sp + 80|0; + $1 = sp + 76|0; + $2 = sp + 72|0; + $3 = sp + 68|0; + $4 = sp + 64|0; + $5 = sp + 60|0; + $6 = sp + 56|0; + $7 = sp + 52|0; + $8 = sp + 48|0; + $9 = sp + 44|0; + $10 = sp + 40|0; + $11 = sp + 36|0; + $12 = sp + 32|0; + $13 = sp + 28|0; + $14 = sp + 24|0; + $15 = sp + 20|0; + $16 = sp + 16|0; + $17 = sp + 12|0; + $18 = sp + 8|0; + $19 = sp + 4|0; + $20 = sp; + $21 = HEAP32[6243]|0; + switch ($21|0) { + case 0: { + $22 = HEAP32[6235]|0; + $23 = (($22|0) / 10)&-1; + $24 = $23 & 1; + $25 = ($24|0)==(0); + if ($25) { + STACKTOP = sp;return; + } + $26 = HEAP32[6237]|0; + $27 = HEAP32[6238]|0; + HEAP8[$0>>0] = 0; + $28 = ((($0)) + 1|0); + HEAP8[$28>>0] = 0; + $29 = ((($0)) + 2|0); + HEAP8[$29>>0] = 0; + $30 = ((($0)) + 3|0); + HEAP8[$30>>0] = -1; + ;HEAP8[$$byval_copy20>>0]=HEAP8[$0>>0]|0;HEAP8[$$byval_copy20+1>>0]=HEAP8[$0+1>>0]|0;HEAP8[$$byval_copy20+2>>0]=HEAP8[$0+2>>0]|0;HEAP8[$$byval_copy20+3>>0]=HEAP8[$0+3>>0]|0; + _DrawRectangle($26,$27,16,16,$$byval_copy20); + STACKTOP = sp;return; + break; + } + case 1: { + $31 = HEAP32[6237]|0; + $32 = HEAP32[6238]|0; + $33 = HEAP32[6239]|0; + HEAP8[$1>>0] = 0; + $34 = ((($1)) + 1|0); + HEAP8[$34>>0] = 0; + $35 = ((($1)) + 2|0); + HEAP8[$35>>0] = 0; + $36 = ((($1)) + 3|0); + HEAP8[$36>>0] = -1; + ;HEAP8[$$byval_copy20>>0]=HEAP8[$1>>0]|0;HEAP8[$$byval_copy20+1>>0]=HEAP8[$1+1>>0]|0;HEAP8[$$byval_copy20+2>>0]=HEAP8[$1+2>>0]|0;HEAP8[$$byval_copy20+3>>0]=HEAP8[$1+3>>0]|0; + _DrawRectangle($31,$32,$33,16,$$byval_copy20); + $37 = HEAP32[6237]|0; + $38 = HEAP32[6238]|0; + $39 = HEAP32[6240]|0; + HEAP8[$2>>0] = 0; + $40 = ((($2)) + 1|0); + HEAP8[$40>>0] = 0; + $41 = ((($2)) + 2|0); + HEAP8[$41>>0] = 0; + $42 = ((($2)) + 3|0); + HEAP8[$42>>0] = -1; + ;HEAP8[$$byval_copy20>>0]=HEAP8[$2>>0]|0;HEAP8[$$byval_copy20+1>>0]=HEAP8[$2+1>>0]|0;HEAP8[$$byval_copy20+2>>0]=HEAP8[$2+2>>0]|0;HEAP8[$$byval_copy20+3>>0]=HEAP8[$2+3>>0]|0; + _DrawRectangle($37,$38,16,$39,$$byval_copy20); + STACKTOP = sp;return; + break; + } + case 2: { + $43 = HEAP32[6237]|0; + $44 = HEAP32[6238]|0; + $45 = HEAP32[6239]|0; + HEAP8[$3>>0] = 0; + $46 = ((($3)) + 1|0); + HEAP8[$46>>0] = 0; + $47 = ((($3)) + 2|0); + HEAP8[$47>>0] = 0; + $48 = ((($3)) + 3|0); + HEAP8[$48>>0] = -1; + ;HEAP8[$$byval_copy20>>0]=HEAP8[$3>>0]|0;HEAP8[$$byval_copy20+1>>0]=HEAP8[$3+1>>0]|0;HEAP8[$$byval_copy20+2>>0]=HEAP8[$3+2>>0]|0;HEAP8[$$byval_copy20+3>>0]=HEAP8[$3+3>>0]|0; + _DrawRectangle($43,$44,$45,16,$$byval_copy20); + $49 = HEAP32[6237]|0; + $50 = HEAP32[6238]|0; + $51 = HEAP32[6240]|0; + HEAP8[$4>>0] = 0; + $52 = ((($4)) + 1|0); + HEAP8[$52>>0] = 0; + $53 = ((($4)) + 2|0); + HEAP8[$53>>0] = 0; + $54 = ((($4)) + 3|0); + HEAP8[$54>>0] = -1; + ;HEAP8[$$byval_copy20>>0]=HEAP8[$4>>0]|0;HEAP8[$$byval_copy20+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$$byval_copy20+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$$byval_copy20+3>>0]=HEAP8[$4+3>>0]|0; + _DrawRectangle($49,$50,16,$51,$$byval_copy20); + $55 = HEAP32[6237]|0; + $56 = (($55) + 240)|0; + $57 = HEAP32[6238]|0; + $58 = HEAP32[6242]|0; + HEAP8[$5>>0] = 0; + $59 = ((($5)) + 1|0); + HEAP8[$59>>0] = 0; + $60 = ((($5)) + 2|0); + HEAP8[$60>>0] = 0; + $61 = ((($5)) + 3|0); + HEAP8[$61>>0] = -1; + ;HEAP8[$$byval_copy20>>0]=HEAP8[$5>>0]|0;HEAP8[$$byval_copy20+1>>0]=HEAP8[$5+1>>0]|0;HEAP8[$$byval_copy20+2>>0]=HEAP8[$5+2>>0]|0;HEAP8[$$byval_copy20+3>>0]=HEAP8[$5+3>>0]|0; + _DrawRectangle($56,$57,16,$58,$$byval_copy20); + $62 = HEAP32[6237]|0; + $63 = HEAP32[6238]|0; + $64 = (($63) + 240)|0; + $65 = HEAP32[6241]|0; + HEAP8[$6>>0] = 0; + $66 = ((($6)) + 1|0); + HEAP8[$66>>0] = 0; + $67 = ((($6)) + 2|0); + HEAP8[$67>>0] = 0; + $68 = ((($6)) + 3|0); + HEAP8[$68>>0] = -1; + ;HEAP8[$$byval_copy20>>0]=HEAP8[$6>>0]|0;HEAP8[$$byval_copy20+1>>0]=HEAP8[$6+1>>0]|0;HEAP8[$$byval_copy20+2>>0]=HEAP8[$6+2>>0]|0;HEAP8[$$byval_copy20+3>>0]=HEAP8[$6+3>>0]|0; + _DrawRectangle($62,$64,$65,16,$$byval_copy20); + STACKTOP = sp;return; + break; + } + case 3: { + $69 = HEAP32[6237]|0; + $70 = HEAP32[6238]|0; + $71 = HEAP32[6239]|0; + HEAP8[$8>>0] = 0; + $72 = ((($8)) + 1|0); + HEAP8[$72>>0] = 0; + $73 = ((($8)) + 2|0); + HEAP8[$73>>0] = 0; + $74 = ((($8)) + 3|0); + HEAP8[$74>>0] = -1; + $75 = +HEAPF32[4]; + ;HEAP8[$$byval_copy20>>0]=HEAP8[$8>>0]|0;HEAP8[$$byval_copy20+1>>0]=HEAP8[$8+1>>0]|0;HEAP8[$$byval_copy20+2>>0]=HEAP8[$8+2>>0]|0;HEAP8[$$byval_copy20+3>>0]=HEAP8[$8+3>>0]|0; + _Fade($7,$$byval_copy20,$75); + ;HEAP8[$$byval_copy20>>0]=HEAP8[$7>>0]|0;HEAP8[$$byval_copy20+1>>0]=HEAP8[$7+1>>0]|0;HEAP8[$$byval_copy20+2>>0]=HEAP8[$7+2>>0]|0;HEAP8[$$byval_copy20+3>>0]=HEAP8[$7+3>>0]|0; + _DrawRectangle($69,$70,$71,16,$$byval_copy20); + $76 = HEAP32[6237]|0; + $77 = HEAP32[6238]|0; + $78 = (($77) + 16)|0; + $79 = HEAP32[6240]|0; + $80 = (($79) + -32)|0; + HEAP8[$10>>0] = 0; + $81 = ((($10)) + 1|0); + HEAP8[$81>>0] = 0; + $82 = ((($10)) + 2|0); + HEAP8[$82>>0] = 0; + $83 = ((($10)) + 3|0); + HEAP8[$83>>0] = -1; + $84 = +HEAPF32[4]; + ;HEAP8[$$byval_copy20>>0]=HEAP8[$10>>0]|0;HEAP8[$$byval_copy20+1>>0]=HEAP8[$10+1>>0]|0;HEAP8[$$byval_copy20+2>>0]=HEAP8[$10+2>>0]|0;HEAP8[$$byval_copy20+3>>0]=HEAP8[$10+3>>0]|0; + _Fade($9,$$byval_copy20,$84); + ;HEAP8[$$byval_copy20>>0]=HEAP8[$9>>0]|0;HEAP8[$$byval_copy20+1>>0]=HEAP8[$9+1>>0]|0;HEAP8[$$byval_copy20+2>>0]=HEAP8[$9+2>>0]|0;HEAP8[$$byval_copy20+3>>0]=HEAP8[$9+3>>0]|0; + _DrawRectangle($76,$78,16,$80,$$byval_copy20); + $85 = HEAP32[6237]|0; + $86 = (($85) + 240)|0; + $87 = HEAP32[6238]|0; + $88 = (($87) + 16)|0; + $89 = HEAP32[6242]|0; + $90 = (($89) + -32)|0; + HEAP8[$12>>0] = 0; + $91 = ((($12)) + 1|0); + HEAP8[$91>>0] = 0; + $92 = ((($12)) + 2|0); + HEAP8[$92>>0] = 0; + $93 = ((($12)) + 3|0); + HEAP8[$93>>0] = -1; + $94 = +HEAPF32[4]; + ;HEAP8[$$byval_copy20>>0]=HEAP8[$12>>0]|0;HEAP8[$$byval_copy20+1>>0]=HEAP8[$12+1>>0]|0;HEAP8[$$byval_copy20+2>>0]=HEAP8[$12+2>>0]|0;HEAP8[$$byval_copy20+3>>0]=HEAP8[$12+3>>0]|0; + _Fade($11,$$byval_copy20,$94); + ;HEAP8[$$byval_copy20>>0]=HEAP8[$11>>0]|0;HEAP8[$$byval_copy20+1>>0]=HEAP8[$11+1>>0]|0;HEAP8[$$byval_copy20+2>>0]=HEAP8[$11+2>>0]|0;HEAP8[$$byval_copy20+3>>0]=HEAP8[$11+3>>0]|0; + _DrawRectangle($86,$88,16,$90,$$byval_copy20); + $95 = HEAP32[6237]|0; + $96 = HEAP32[6238]|0; + $97 = (($96) + 240)|0; + $98 = HEAP32[6241]|0; + HEAP8[$14>>0] = 0; + $99 = ((($14)) + 1|0); + HEAP8[$99>>0] = 0; + $100 = ((($14)) + 2|0); + HEAP8[$100>>0] = 0; + $101 = ((($14)) + 3|0); + HEAP8[$101>>0] = -1; + $102 = +HEAPF32[4]; + ;HEAP8[$$byval_copy20>>0]=HEAP8[$14>>0]|0;HEAP8[$$byval_copy20+1>>0]=HEAP8[$14+1>>0]|0;HEAP8[$$byval_copy20+2>>0]=HEAP8[$14+2>>0]|0;HEAP8[$$byval_copy20+3>>0]=HEAP8[$14+3>>0]|0; + _Fade($13,$$byval_copy20,$102); + ;HEAP8[$$byval_copy20>>0]=HEAP8[$13>>0]|0;HEAP8[$$byval_copy20+1>>0]=HEAP8[$13+1>>0]|0;HEAP8[$$byval_copy20+2>>0]=HEAP8[$13+2>>0]|0;HEAP8[$$byval_copy20+3>>0]=HEAP8[$13+3>>0]|0; + _DrawRectangle($95,$97,$98,16,$$byval_copy20); + $103 = (_GetScreenWidth()|0); + $104 = (($103|0) / 2)&-1; + $105 = (($104) + -112)|0; + $106 = (_GetScreenHeight()|0); + $107 = (($106|0) / 2)&-1; + $108 = (($107) + -112)|0; + HEAP8[$16>>0] = -11; + $109 = ((($16)) + 1|0); + HEAP8[$109>>0] = -11; + $110 = ((($16)) + 2|0); + HEAP8[$110>>0] = -11; + $111 = ((($16)) + 3|0); + HEAP8[$111>>0] = -1; + $112 = +HEAPF32[4]; + ;HEAP8[$$byval_copy20>>0]=HEAP8[$16>>0]|0;HEAP8[$$byval_copy20+1>>0]=HEAP8[$16+1>>0]|0;HEAP8[$$byval_copy20+2>>0]=HEAP8[$16+2>>0]|0;HEAP8[$$byval_copy20+3>>0]=HEAP8[$16+3>>0]|0; + _Fade($15,$$byval_copy20,$112); + ;HEAP8[$$byval_copy20>>0]=HEAP8[$15>>0]|0;HEAP8[$$byval_copy20+1>>0]=HEAP8[$15+1>>0]|0;HEAP8[$$byval_copy20+2>>0]=HEAP8[$15+2>>0]|0;HEAP8[$$byval_copy20+3>>0]=HEAP8[$15+3>>0]|0; + _DrawRectangle($105,$108,224,224,$$byval_copy20); + $113 = HEAP32[6236]|0; + $114 = (_SubText(5740,0,$113)|0); + $115 = (_GetScreenWidth()|0); + $116 = (($115|0) / 2)&-1; + $117 = (($116) + -44)|0; + $118 = (_GetScreenHeight()|0); + $119 = (($118|0) / 2)&-1; + $120 = (($119) + 48)|0; + HEAP8[$18>>0] = 0; + $121 = ((($18)) + 1|0); + HEAP8[$121>>0] = 0; + $122 = ((($18)) + 2|0); + HEAP8[$122>>0] = 0; + $123 = ((($18)) + 3|0); + HEAP8[$123>>0] = -1; + $124 = +HEAPF32[4]; + ;HEAP8[$$byval_copy20>>0]=HEAP8[$18>>0]|0;HEAP8[$$byval_copy20+1>>0]=HEAP8[$18+1>>0]|0;HEAP8[$$byval_copy20+2>>0]=HEAP8[$18+2>>0]|0;HEAP8[$$byval_copy20+3>>0]=HEAP8[$18+3>>0]|0; + _Fade($17,$$byval_copy20,$124); + ;HEAP8[$$byval_copy20>>0]=HEAP8[$17>>0]|0;HEAP8[$$byval_copy20+1>>0]=HEAP8[$17+1>>0]|0;HEAP8[$$byval_copy20+2>>0]=HEAP8[$17+2>>0]|0;HEAP8[$$byval_copy20+3>>0]=HEAP8[$17+3>>0]|0; + _DrawText($114,$117,$120,50,$$byval_copy20); + $125 = HEAP32[6235]|0; + $126 = ($125|0)>(20); + if (!($126)) { + STACKTOP = sp;return; + } + $127 = HEAP32[6237]|0; + $128 = HEAP32[6238]|0; + $129 = (($128) + -27)|0; + HEAP8[$20>>0] = 80; + $130 = ((($20)) + 1|0); + HEAP8[$130>>0] = 80; + $131 = ((($20)) + 2|0); + HEAP8[$131>>0] = 80; + $132 = ((($20)) + 3|0); + HEAP8[$132>>0] = -1; + $133 = +HEAPF32[4]; + ;HEAP8[$$byval_copy20>>0]=HEAP8[$20>>0]|0;HEAP8[$$byval_copy20+1>>0]=HEAP8[$20+1>>0]|0;HEAP8[$$byval_copy20+2>>0]=HEAP8[$20+2>>0]|0;HEAP8[$$byval_copy20+3>>0]=HEAP8[$20+3>>0]|0; + _Fade($19,$$byval_copy20,$133); + ;HEAP8[$$byval_copy20>>0]=HEAP8[$19>>0]|0;HEAP8[$$byval_copy20+1>>0]=HEAP8[$19+1>>0]|0;HEAP8[$$byval_copy20+2>>0]=HEAP8[$19+2>>0]|0;HEAP8[$$byval_copy20+3>>0]=HEAP8[$19+3>>0]|0; + _DrawText(6462,$127,$129,20,$$byval_copy20); + STACKTOP = sp;return; + break; + } + default: { + STACKTOP = sp;return; + } + } +} +function _UnloadLogoScreen() { + var label = 0, sp = 0; + sp = STACKTOP; + return; +} +function _FinishLogoScreen() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[6234]|0; + return ($0|0); +} +function _InitTitleScreen() { + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0); + $0 = sp + 52|0; + $1 = sp + 32|0; + $2 = sp + 12|0; + $3 = sp; + HEAP32[6244] = 0; + HEAP32[6245] = 0; + _LoadTexture($0,5747); + ;HEAP32[24984>>2]=HEAP32[$0>>2]|0;HEAP32[24984+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[24984+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[24984+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[24984+16>>2]=HEAP32[$0+16>>2]|0; + _LoadTexture($1,5787); + ;HEAP32[25004>>2]=HEAP32[$1>>2]|0;HEAP32[25004+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[25004+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[25004+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[25004+16>>2]=HEAP32[$1+16>>2]|0; + _LoadTexture($2,6324); + ;HEAP32[25024>>2]=HEAP32[$2>>2]|0;HEAP32[25024+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[25024+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[25024+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[25024+16>>2]=HEAP32[$2+16>>2]|0; + _LoadSound($3,5816); + ;HEAP32[25044>>2]=HEAP32[$3>>2]|0;HEAP32[25044+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[25044+8>>2]=HEAP32[$3+8>>2]|0; + STACKTOP = sp;return; +} +function _UpdateTitleScreen() { + var $$inv = 0, $0 = 0, $1 = 0, $2 = 0.0, $3 = 0.0, $4 = 0, $5 = 0, $6 = 0, $fxStart$byval_copy = 0, $storemerge = 0.0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $fxStart$byval_copy = sp; + $0 = HEAP32[6244]|0; + $1 = (($0) + 1)|0; + HEAP32[6244] = $1; + $2 = +HEAPF32[6264]; + $3 = $2 + 0.004999999888241291; + $$inv = $3 >= 1.0; + $storemerge = $$inv ? 1.0 : $3; + HEAPF32[6264] = $storemerge; + $4 = (_IsMouseButtonPressed(0)|0); + $5 = ($4|0)==(0); + if ($5) { + STACKTOP = sp;return; + } + ;HEAP32[$fxStart$byval_copy>>2]=HEAP32[25044>>2]|0;HEAP32[$fxStart$byval_copy+4>>2]=HEAP32[25044+4>>2]|0;HEAP32[$fxStart$byval_copy+8>>2]=HEAP32[25044+8>>2]|0; + _PlaySound($fxStart$byval_copy); + $6 = HEAP32[6228]|0; + _StopMusicStream($6); + HEAP32[6245] = 1; + STACKTOP = sp;return; +} +function _DrawTitleScreen() { + var $$byval_copy5 = 0, $$byval_copy6 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0.0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; + var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0; + var $43 = 0, $44 = 0.0, $45 = 0, $46 = 0, $47 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $font$byval_copy = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0); + $$byval_copy6 = sp + 100|0; + $$byval_copy5 = sp + 56|0; + $font$byval_copy = sp + 24|0; + $0 = sp + 16|0; + $1 = sp + 96|0; + $2 = sp + 12|0; + $3 = sp + 92|0; + $4 = sp + 88|0; + $5 = sp + 84|0; + $6 = sp + 80|0; + $7 = sp + 8|0; + $8 = sp; + $9 = sp + 76|0; + HEAP32[$0>>2] = -1; + ;HEAP32[$$byval_copy5>>2]=HEAP32[24984>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[24984+4>>2]|0;HEAP32[$$byval_copy5+8>>2]=HEAP32[24984+8>>2]|0;HEAP32[$$byval_copy5+12>>2]=HEAP32[24984+12>>2]|0;HEAP32[$$byval_copy5+16>>2]=HEAP32[24984+16>>2]|0; + ;HEAP8[$$byval_copy6>>0]=HEAP8[$0>>0]|0;HEAP8[$$byval_copy6+1>>0]=HEAP8[$0+1>>0]|0;HEAP8[$$byval_copy6+2>>0]=HEAP8[$0+2>>0]|0;HEAP8[$$byval_copy6+3>>0]=HEAP8[$0+3>>0]|0; + _DrawTexture($$byval_copy5,0,0,$$byval_copy6); + $10 = (_GetScreenWidth()|0); + $11 = (($10|0) / 2)&-1; + $12 = HEAP32[(25008)>>2]|0; + $13 = (($12|0) / 2)&-1; + $14 = (($11) - ($13))|0; + HEAP32[$2>>2] = -1; + $15 = +HEAPF32[6264]; + ;HEAP8[$$byval_copy6>>0]=HEAP8[$2>>0]|0;HEAP8[$$byval_copy6+1>>0]=HEAP8[$2+1>>0]|0;HEAP8[$$byval_copy6+2>>0]=HEAP8[$2+2>>0]|0;HEAP8[$$byval_copy6+3>>0]=HEAP8[$2+3>>0]|0; + _Fade($1,$$byval_copy6,$15); + ;HEAP32[$$byval_copy5>>2]=HEAP32[25004>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[25004+4>>2]|0;HEAP32[$$byval_copy5+8>>2]=HEAP32[25004+8>>2]|0;HEAP32[$$byval_copy5+12>>2]=HEAP32[25004+12>>2]|0;HEAP32[$$byval_copy5+16>>2]=HEAP32[25004+16>>2]|0; + ;HEAP8[$$byval_copy6>>0]=HEAP8[$1>>0]|0;HEAP8[$$byval_copy6+1>>0]=HEAP8[$1+1>>0]|0;HEAP8[$$byval_copy6+2>>0]=HEAP8[$1+2>>0]|0;HEAP8[$$byval_copy6+3>>0]=HEAP8[$1+3>>0]|0; + _DrawTexture($$byval_copy5,$14,-25,$$byval_copy6); + $16 = (_GetScreenHeight()|0); + $17 = (($16) + -70)|0; + HEAP8[$4>>0] = -11; + $18 = ((($4)) + 1|0); + HEAP8[$18>>0] = -11; + $19 = ((($4)) + 2|0); + HEAP8[$19>>0] = -11; + $20 = ((($4)) + 3|0); + HEAP8[$20>>0] = -1; + ;HEAP8[$$byval_copy6>>0]=HEAP8[$4>>0]|0;HEAP8[$$byval_copy6+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$$byval_copy6+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$$byval_copy6+3>>0]=HEAP8[$4+3>>0]|0; + _Fade($3,$$byval_copy6,0.80000001192092896); + ;HEAP8[$$byval_copy6>>0]=HEAP8[$3>>0]|0;HEAP8[$$byval_copy6+1>>0]=HEAP8[$3+1>>0]|0;HEAP8[$$byval_copy6+2>>0]=HEAP8[$3+2>>0]|0;HEAP8[$$byval_copy6+3>>0]=HEAP8[$3+3>>0]|0; + _DrawRectangle(0,$17,560,40,$$byval_copy6); + $21 = (_GetScreenHeight()|0); + $22 = (($21) + -60)|0; + HEAP8[$5>>0] = 0; + $23 = ((($5)) + 1|0); + HEAP8[$23>>0] = 82; + $24 = ((($5)) + 2|0); + HEAP8[$24>>0] = -84; + $25 = ((($5)) + 3|0); + HEAP8[$25>>0] = -1; + ;HEAP8[$$byval_copy6>>0]=HEAP8[$5>>0]|0;HEAP8[$$byval_copy6+1>>0]=HEAP8[$5+1>>0]|0;HEAP8[$$byval_copy6+2>>0]=HEAP8[$5+2>>0]|0;HEAP8[$$byval_copy6+3>>0]=HEAP8[$5+3>>0]|0; + _DrawText(6417,36,$22,20,$$byval_copy6); + $26 = (_GetScreenWidth()|0); + $27 = (($26) + -162)|0; + $28 = (_GetScreenHeight()|0); + $29 = (($28) + -190)|0; + HEAP8[$6>>0] = 80; + $30 = ((($6)) + 1|0); + HEAP8[$30>>0] = 80; + $31 = ((($6)) + 2|0); + HEAP8[$31>>0] = 80; + $32 = ((($6)) + 3|0); + HEAP8[$32>>0] = -1; + ;HEAP8[$$byval_copy6>>0]=HEAP8[$6>>0]|0;HEAP8[$$byval_copy6+1>>0]=HEAP8[$6+1>>0]|0;HEAP8[$$byval_copy6+2>>0]=HEAP8[$6+2>>0]|0;HEAP8[$$byval_copy6+3>>0]=HEAP8[$6+3>>0]|0; + _DrawText(6462,$27,$29,20,$$byval_copy6); + $33 = (_GetScreenWidth()|0); + $34 = (($33) + -162)|0; + $35 = (_GetScreenHeight()|0); + $36 = (($35) + -164)|0; + HEAP32[$7>>2] = -1; + ;HEAP32[$$byval_copy5>>2]=HEAP32[25024>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[25024+4>>2]|0;HEAP32[$$byval_copy5+8>>2]=HEAP32[25024+8>>2]|0;HEAP32[$$byval_copy5+12>>2]=HEAP32[25024+12>>2]|0;HEAP32[$$byval_copy5+16>>2]=HEAP32[25024+16>>2]|0; + ;HEAP8[$$byval_copy6>>0]=HEAP8[$7>>0]|0;HEAP8[$$byval_copy6+1>>0]=HEAP8[$7+1>>0]|0;HEAP8[$$byval_copy6+2>>0]=HEAP8[$7+2>>0]|0;HEAP8[$$byval_copy6+3>>0]=HEAP8[$7+3>>0]|0; + _DrawTexture($$byval_copy5,$34,$36,$$byval_copy6); + $37 = HEAP32[6244]|0; + $38 = ($37|0)>(160); + if (!($38)) { + STACKTOP = sp;return; + } + $39 = (($37>>>0) / 40)&-1; + $40 = $39 & 1; + $41 = ($40|0)==(0); + if ($41) { + STACKTOP = sp;return; + } + HEAPF32[$8>>2] = 325.0; + $42 = ((($8)) + 4|0); + HEAPF32[$42>>2] = 500.0; + $43 = HEAP32[(24900)>>2]|0; + $44 = (+($43|0)); + HEAP8[$9>>0] = 102; + $45 = ((($9)) + 1|0); + HEAP8[$45>>0] = -65; + $46 = ((($9)) + 2|0); + HEAP8[$46>>0] = -1; + $47 = ((($9)) + 3|0); + HEAP8[$47>>0] = -1; + ;HEAP32[$font$byval_copy>>2]=HEAP32[24880>>2]|0;HEAP32[$font$byval_copy+4>>2]=HEAP32[24880+4>>2]|0;HEAP32[$font$byval_copy+8>>2]=HEAP32[24880+8>>2]|0;HEAP32[$font$byval_copy+12>>2]=HEAP32[24880+12>>2]|0;HEAP32[$font$byval_copy+16>>2]=HEAP32[24880+16>>2]|0;HEAP32[$font$byval_copy+20>>2]=HEAP32[24880+20>>2]|0;HEAP32[$font$byval_copy+24>>2]=HEAP32[24880+24>>2]|0;HEAP32[$font$byval_copy+28>>2]=HEAP32[24880+28>>2]|0; + ;HEAP32[$$byval_copy5>>2]=HEAP32[$8>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$8+4>>2]|0; + ;HEAP8[$$byval_copy6>>0]=HEAP8[$9>>0]|0;HEAP8[$$byval_copy6+1>>0]=HEAP8[$9+1>>0]|0;HEAP8[$$byval_copy6+2>>0]=HEAP8[$9+2>>0]|0;HEAP8[$$byval_copy6+3>>0]=HEAP8[$9+3>>0]|0; + _DrawTextEx($font$byval_copy,5842,$$byval_copy5,$44,0,$$byval_copy6); + STACKTOP = sp;return; +} +function _UnloadTitleScreen() { + var $fxStart$byval_copy = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $fxStart$byval_copy = sp; + ;HEAP32[$fxStart$byval_copy>>2]=HEAP32[24984>>2]|0;HEAP32[$fxStart$byval_copy+4>>2]=HEAP32[24984+4>>2]|0;HEAP32[$fxStart$byval_copy+8>>2]=HEAP32[24984+8>>2]|0;HEAP32[$fxStart$byval_copy+12>>2]=HEAP32[24984+12>>2]|0;HEAP32[$fxStart$byval_copy+16>>2]=HEAP32[24984+16>>2]|0; + _UnloadTexture($fxStart$byval_copy); + ;HEAP32[$fxStart$byval_copy>>2]=HEAP32[25004>>2]|0;HEAP32[$fxStart$byval_copy+4>>2]=HEAP32[25004+4>>2]|0;HEAP32[$fxStart$byval_copy+8>>2]=HEAP32[25004+8>>2]|0;HEAP32[$fxStart$byval_copy+12>>2]=HEAP32[25004+12>>2]|0;HEAP32[$fxStart$byval_copy+16>>2]=HEAP32[25004+16>>2]|0; + _UnloadTexture($fxStart$byval_copy); + ;HEAP32[$fxStart$byval_copy>>2]=HEAP32[25024>>2]|0;HEAP32[$fxStart$byval_copy+4>>2]=HEAP32[25024+4>>2]|0;HEAP32[$fxStart$byval_copy+8>>2]=HEAP32[25024+8>>2]|0;HEAP32[$fxStart$byval_copy+12>>2]=HEAP32[25024+12>>2]|0;HEAP32[$fxStart$byval_copy+16>>2]=HEAP32[25024+16>>2]|0; + _UnloadTexture($fxStart$byval_copy); + ;HEAP32[$fxStart$byval_copy>>2]=HEAP32[25044>>2]|0;HEAP32[$fxStart$byval_copy+4>>2]=HEAP32[25044+4>>2]|0;HEAP32[$fxStart$byval_copy+8>>2]=HEAP32[25044+8>>2]|0; + _UnloadSound($fxStart$byval_copy); + STACKTOP = sp;return; +} +function _FinishTitleScreen() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[6245]|0; + return ($0|0); +} +function _InitGameplayScreen() { + var $$0$lcssa = 0.0, $$073$lcssa = 0.0, $$07384 = 0.0, $$07583 = 0, $$07681 = 0, $$085 = 0.0, $$1 = 0.0, $$174 = 0.0, $$byval_copy1 = 0, $$neg = 0, $$neg80 = 0, $$pn = 0, $$sink = 0.0, $$sink78 = 0, $$sroa$0$0$$sroa_idx = 0, $$sroa$2$0$$sroa_idx = 0, $$sroa$3$0$$sroa_idx = 0, $$sroa$4$0$$sroa_idx = 0, $0 = 0, $1 = 0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0.0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0.0, $23 = 0, $24 = 0, $25 = 0; + var $26 = 0, $27 = 0, $28 = 0.0, $29 = 0.0, $3 = 0, $30 = 0.0, $31 = 0.0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0.0, $43 = 0.0; + var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0.0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0.0, $58 = 0.0, $59 = 0, $6 = 0, $60 = 0, $61 = 0.0; + var $62 = 0.0, $63 = 0, $64 = 0.0, $65 = 0.0, $66 = 0, $67 = 0, $68 = 0, $69 = 0.0, $7 = 0, $70 = 0, $71 = 0, $72 = 0.0, $73 = 0.0, $74 = 0.0, $75 = 0, $76 = 0, $77 = 0, $78 = 0.0, $79 = 0, $8 = 0; + var $80 = 0, $81 = 0, $82 = 0.0, $83 = 0, $84 = 0, $85 = 0, $86 = 0.0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0.0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0; + var $99 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 240|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(240|0); + $$byval_copy1 = sp + 220|0; + $0 = sp + 200|0; + $1 = sp + 180|0; + $2 = sp + 160|0; + $3 = sp + 140|0; + $4 = sp + 100|0; + $5 = sp + 80|0; + $6 = sp + 36|0; + $7 = sp + 24|0; + $8 = sp + 12|0; + $9 = sp; + $10 = sp + 120|0; + HEAP32[6265] = 0; + HEAP32[6266] = 0; + HEAP32[6267] = 0; + HEAP32[6230] = 0; + _LoadTexture($0,5863); + ;HEAP32[25072>>2]=HEAP32[$0>>2]|0;HEAP32[25072+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[25072+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[25072+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[25072+16>>2]=HEAP32[$0+16>>2]|0; + _LoadTexture($1,5906); + ;HEAP32[25092>>2]=HEAP32[$1>>2]|0;HEAP32[25092+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[25092+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[25092+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[25092+16>>2]=HEAP32[$1+16>>2]|0; + _LoadTexture($2,5936); + ;HEAP32[25112>>2]=HEAP32[$2>>2]|0;HEAP32[25112+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[25112+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[25112+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[25112+16>>2]=HEAP32[$2+16>>2]|0; + _LoadTexture($3,5972); + ;HEAP32[25132>>2]=HEAP32[$3>>2]|0;HEAP32[25132+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[25132+8>>2]=HEAP32[$3+8>>2]|0;HEAP32[25132+12>>2]=HEAP32[$3+12>>2]|0;HEAP32[25132+16>>2]=HEAP32[$3+16>>2]|0; + _LoadTexture($4,6006); + ;HEAP32[25152>>2]=HEAP32[$4>>2]|0;HEAP32[25152+4>>2]=HEAP32[$4+4>>2]|0;HEAP32[25152+8>>2]=HEAP32[$4+8>>2]|0;HEAP32[25152+12>>2]=HEAP32[$4+12>>2]|0;HEAP32[25152+16>>2]=HEAP32[$4+16>>2]|0; + _LoadTexture($5,6040); + ;HEAP32[25172>>2]=HEAP32[$5>>2]|0;HEAP32[25172+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[25172+8>>2]=HEAP32[$5+8>>2]|0;HEAP32[25172+12>>2]=HEAP32[$5+12>>2]|0;HEAP32[25172+16>>2]=HEAP32[$5+16>>2]|0; + HEAP32[6298] = 32; + HEAP32[6299] = 32; + HEAP32[6300] = 1216; + _LoadRenderTexture($6,1216,105); + dest=25204; src=$6; stop=dest+44|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _LoadSound($7,6068); + ;HEAP32[25248>>2]=HEAP32[$7>>2]|0;HEAP32[25248+4>>2]=HEAP32[$7+4>>2]|0;HEAP32[25248+8>>2]=HEAP32[$7+8>>2]|0; + _LoadSound($8,6098); + ;HEAP32[25260>>2]=HEAP32[$8>>2]|0;HEAP32[25260+4>>2]=HEAP32[$8+4>>2]|0;HEAP32[25260+8>>2]=HEAP32[$8+8>>2]|0; + _LoadSound($9,6129); + ;HEAP32[25272>>2]=HEAP32[$9>>2]|0;HEAP32[25272+4>>2]=HEAP32[$9+4>>2]|0;HEAP32[25272+8>>2]=HEAP32[$9+8>>2]|0; + ;HEAP32[$$byval_copy1>>2]=HEAP32[25248>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[25248+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[25248+8>>2]|0; + _SetSoundVolume($$byval_copy1,0.60000002384185791); + ;HEAP32[$$byval_copy1>>2]=HEAP32[25272>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[25272+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[25272+8>>2]|0; + _SetSoundVolume($$byval_copy1,0.5); + HEAP32[6321] = 200; + HEAP32[6322] = 160; + HEAP32[6323] = 80; + HEAP32[6324] = 400; + HEAP32[6325] = 20; + HEAP32[6326] = 60; + HEAPF32[6327] = 15.0; + $11 = HEAP32[6321]|0; + $12 = (($11) + 40)|0; + $13 = HEAP32[(25096)>>2]|0; + $$neg = (($13|0) / -2)&-1; + $14 = (($12) + ($$neg))|0; + $15 = (+($14|0)); + $16 = HEAP32[6322]|0; + $17 = HEAP32[6324]|0; + $18 = $17 >>> 1; + $19 = (($18) + ($16))|0; + $20 = HEAP32[(25100)>>2]|0; + $$neg80 = (($20|0) / -2)&-1; + $21 = (($19) + ($$neg80))|0; + $22 = (+($21|0)); + HEAPF32[6328] = $15; + HEAPF32[6329] = $22; + HEAPF32[6330] = 395.0; + HEAPF32[6331] = 0.20000000298023224; + HEAP32[6332] = 0; + HEAP32[6333] = 0; + _LoadWave($10,6155); + ;HEAP32[$$byval_copy1>>2]=HEAP32[$10>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$10+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$10+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$10+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$10+16>>2]|0; + $23 = (_GetWaveData($$byval_copy1)|0); + $24 = HEAP32[$10>>2]|0; + $25 = ((($10)) + 4|0); + $26 = HEAP32[$25>>2]|0; + $27 = (($24>>>0) / ($26>>>0))&-1; + $28 = (+($27>>>0)); + $29 = $28 * 7.0; + $30 = $29 * 60.0; + $31 = $30 + -1000.0; + $32 = $31 / 100.0; + $33 = (+($24>>>0)); + $34 = $33 / $32; + $35 = (~~(($34))); + $36 = (($24>>>0) / ($35>>>0))&-1; + HEAP32[6334] = $36; + ;HEAP32[$$byval_copy1>>2]=HEAP32[$10>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$10+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$10+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$10+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$10+16>>2]|0; + _UnloadWave($$byval_copy1); + HEAP32[6335] = 0; + $37 = HEAP32[6334]|0; + $38 = $37 << 5; + $39 = (_malloc($38)|0); + HEAP32[6336] = $39; + $40 = ($37|0)>(0); + if ($40) { + $41 = HEAP32[6334]|0; + $$07384 = 0.0;$$07583 = 0;$$085 = 0.0; + while(1) { + $46 = Math_imul($$07583, $35)|0; + $47 = (($23) + ($46<<2)|0); + $48 = +HEAPF32[$47>>2]; + $49 = $48 < $$085; + $$1 = $49 ? $48 : $$085; + $50 = $48 > $$07384; + $$174 = $50 ? $48 : $$07384; + $51 = (($$07583) + 1)|0; + $52 = ($51|0)<($41|0); + if ($52) { + $$07384 = $$174;$$07583 = $51;$$085 = $$1; + } else { + $$0$lcssa = $$1;$$073$lcssa = $$174; + break; + } + } + } else { + $$0$lcssa = 0.0;$$073$lcssa = 0.0; + } + $42 = $$073$lcssa - $$0$lcssa; + $43 = 1.0 / $42; + $44 = HEAP32[6334]|0; + $45 = ($44|0)>(0); + if ($45) { + $$07681 = 0; + } else { + HEAPF32[6337] = 7.0; + HEAP32[6338] = 0; + _free($23); + $53 = HEAP32[6228]|0; + _StopMusicStream($53); + $54 = HEAP32[6228]|0; + _PlayMusicStream($54); + STACKTOP = sp;return; + } + while(1) { + $55 = Math_imul($$07681, $35)|0; + $56 = (($23) + ($55<<2)|0); + $57 = +HEAPF32[$56>>2]; + $58 = $43 * $57; + $59 = HEAP32[6336]|0; + $60 = (((($59) + ($$07681<<5)|0)) + 8|0); + HEAPF32[$60>>2] = $58; + $61 = +HEAPF32[6328]; + $62 = $61 + 1000.0; + $63 = ($$07681*100)|0; + $64 = (+($63|0)); + $65 = $64 + $62; + $66 = (($59) + ($$07681<<5)|0); + HEAPF32[$66>>2] = $65; + $67 = (_GetScreenHeight()|0); + $68 = (($67|0) / 2)&-1; + $69 = (+($68|0)); + $70 = HEAP32[6336]|0; + $71 = (((($70) + ($$07681<<5)|0)) + 8|0); + $72 = +HEAPF32[$71>>2]; + $73 = $72 * 700.0; + $74 = $69 + $73; + $75 = (((($70) + ($$07681<<5)|0)) + 4|0); + HEAPF32[$75>>2] = $74; + $76 = HEAP32[6336]|0; + $77 = (((($76) + ($$07681<<5)|0)) + 4|0); + $78 = +HEAPF32[$77>>2]; + $79 = (_GetScreenHeight()|0); + $80 = (($79|0) / 2)&-1; + $81 = (($80) + 200)|0; + $82 = (+($81|0)); + $83 = $78 > $82; + if ($83) { + $$sink78 = -200; + label = 8; + } else { + $84 = HEAP32[6336]|0; + $85 = (((($84) + ($$07681<<5)|0)) + 4|0); + $86 = +HEAPF32[$85>>2]; + $87 = (_GetScreenHeight()|0); + $88 = (($87|0) / 2)&-1; + $89 = (($88) + -200)|0; + $90 = (+($89|0)); + $91 = $86 < $90; + if ($91) { + $$sink78 = 200; + label = 8; + } + } + if ((label|0) == 8) { + label = 0; + $92 = (_GetScreenHeight()|0); + $93 = (($92|0) / 2)&-1; + $94 = (($93) + ($$sink78))|0; + $$pn = HEAP32[6336]|0; + $$sink = (+($94|0)); + $95 = (((($$pn) + ($$07681<<5)|0)) + 4|0); + HEAPF32[$95>>2] = $$sink; + } + $96 = HEAP32[6336]|0; + $97 = (((($96) + ($$07681<<5)|0)) + 12|0); + HEAP32[$97>>2] = 6; + $98 = (((($96) + ($$07681<<5)|0)) + 16|0); + HEAP32[$98>>2] = 1; + $99 = (((($96) + ($$07681<<5)|0)) + 20|0); + HEAP32[$99>>2] = 0; + $$sroa$0$0$$sroa_idx = (((($96) + ($$07681<<5)|0)) + 28|0); + HEAP8[$$sroa$0$0$$sroa_idx>>0] = -26; + $$sroa$2$0$$sroa_idx = (((($96) + ($$07681<<5)|0)) + 29|0); + HEAP8[$$sroa$2$0$$sroa_idx>>0] = 41; + $$sroa$3$0$$sroa_idx = (((($96) + ($$07681<<5)|0)) + 30|0); + HEAP8[$$sroa$3$0$$sroa_idx>>0] = 55; + $$sroa$4$0$$sroa_idx = (((($96) + ($$07681<<5)|0)) + 31|0); + HEAP8[$$sroa$4$0$$sroa_idx>>0] = -1; + $100 = (($$07681) + 1)|0; + $101 = HEAP32[6334]|0; + $102 = ($100|0)<($101|0); + if ($102) { + $$07681 = $100; + } else { + break; + } + } + HEAPF32[6337] = 7.0; + HEAP32[6338] = 0; + _free($23); + $53 = HEAP32[6228]|0; + _StopMusicStream($53); + $54 = HEAP32[6228]|0; + _PlayMusicStream($54); + STACKTOP = sp;return; +} +function _UpdateGameplayScreen() { + var $$035 = 0, $$byval_copy = 0, $$inv = 0, $$inv34 = 0, $$pn = 0, $$sink = 0, $$sink10 = 0, $$sink4 = 0.0, $$sink7 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0.0, $102 = 0, $103 = 0, $104 = 0.0, $105 = 0.0, $106 = 0.0, $107 = 0; + var $108 = 0, $109 = 0.0, $11 = 0, $110 = 0, $111 = 0, $112 = 0.0, $113 = 0.0, $114 = 0.0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0.0, $123 = 0.0, $124 = 0, $125 = 0; + var $126 = 0, $127 = 0.0, $128 = 0, $129 = 0.0, $13 = 0, $130 = 0.0, $131 = 0, $132 = 0.0, $133 = 0.0, $134 = 0, $135 = 0.0, $136 = 0.0, $137 = 0, $138 = 0.0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0; + var $144 = 0.0, $145 = 0, $146 = 0, $15 = 0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0, $2 = 0, $20 = 0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0, $26 = 0.0, $27 = 0, $28 = 0, $29 = 0.0, $3 = 0; + var $30 = 0.0, $31 = 0, $32 = 0, $33 = 0.0, $34 = 0, $35 = 0, $36 = 0.0, $37 = 0.0, $38 = 0, $39 = 0.0, $4 = 0, $40 = 0, $41 = 0, $42 = 0.0, $43 = 0.0, $44 = 0, $45 = 0, $46 = 0.0, $47 = 0, $48 = 0; + var $49 = 0.0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0.0, $58 = 0, $59 = 0.0, $6 = 0, $60 = 0, $61 = 0, $62 = 0.0, $63 = 0.0, $64 = 0, $65 = 0, $66 = 0.0; + var $67 = 0.0, $68 = 0, $69 = 0.0, $7 = 0, $70 = 0, $71 = 0.0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0.0, $81 = 0.0, $82 = 0, $83 = 0.0, $84 = 0; + var $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0.0, $94 = 0.0, $95 = 0.0, $96 = 0.0, $97 = 0, $98 = 0, $99 = 0, $fxSampleOff$byval_copy = 0, $or$cond = 0, $storemerge = 0.0, $storemerge31 = 0.0; + var $storemerge32 = 0.0, $storemerge33 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0); + $fxSampleOff$byval_copy = sp + 32|0; + $$byval_copy = sp; + $0 = sp + 24|0; + $1 = sp + 8|0; + $2 = (_IsKeyPressed(80)|0); + $3 = ($2|0)==(0); + do { + if (!($3)) { + ;HEAP32[$fxSampleOff$byval_copy>>2]=HEAP32[25272>>2]|0;HEAP32[$fxSampleOff$byval_copy+4>>2]=HEAP32[25272+4>>2]|0;HEAP32[$fxSampleOff$byval_copy+8>>2]=HEAP32[25272+8>>2]|0; + _PlaySound($fxSampleOff$byval_copy); + $4 = HEAP32[6267]|0; + $5 = ($4|0)==(0); + $6 = $5&1; + HEAP32[6267] = $6; + $7 = HEAP32[6228]|0; + if ($5) { + _PauseMusicStream($7); + break; + } else { + _ResumeMusicStream($7); + break; + } + } + } while(0); + $8 = HEAP32[6267]|0; + $9 = ($8|0)==(0); + if (!($9)) { + STACKTOP = sp;return; + } + $10 = HEAP32[6265]|0; + $11 = (($10) + 1)|0; + HEAP32[6265] = $11; + _GetMousePosition($0); + $12 = ((($0)) + 4|0); + $13 = HEAP32[$12>>2]|0; + HEAP32[6329] = $13; + $14 = (_IsKeyDown(87)|0); + $15 = ($14|0)==(0); + if ($15) { + $19 = (_IsKeyDown(83)|0); + $20 = ($19|0)==(0); + if (!($20)) { + $21 = +HEAPF32[6327]; + $22 = +HEAPF32[6329]; + $23 = $21 + $22; + $$sink4 = $23; + label = 10; + } + } else { + $16 = +HEAPF32[6327]; + $17 = +HEAPF32[6329]; + $18 = $17 - $16; + $$sink4 = $18; + label = 10; + } + if ((label|0) == 10) { + HEAPF32[6329] = $$sink4; + } + $24 = +HEAPF32[6328]; + $25 = HEAP32[6321]|0; + $26 = (+($25|0)); + $27 = $24 < $26; + if ($27) { + $$sink7 = $25; + label = 14; + } else { + $28 = HEAP32[6325]|0; + $29 = (+($28|0)); + $30 = $24 + $29; + $31 = HEAP32[6323]|0; + $32 = (($31) + ($25))|0; + $33 = (+($32|0)); + $34 = $30 > $33; + if ($34) { + $35 = (($32) - ($28))|0; + $$sink7 = $35; + label = 14; + } + } + if ((label|0) == 14) { + $36 = (+($$sink7|0)); + HEAPF32[6328] = $36; + } + $37 = +HEAPF32[6329]; + $38 = HEAP32[6322]|0; + $39 = (+($38|0)); + $40 = $37 < $39; + if ($40) { + $$sink10 = $38; + label = 18; + } else { + $41 = HEAP32[6326]|0; + $42 = (+($41|0)); + $43 = $37 + $42; + $44 = HEAP32[6324]|0; + $45 = (($44) + ($38))|0; + $46 = (+($45|0)); + $47 = $43 > $46; + if ($47) { + $48 = (($45) - ($41))|0; + $$sink10 = $48; + label = 18; + } + } + if ((label|0) == 18) { + $49 = (+($$sink10|0)); + HEAPF32[6329] = $49; + } + $50 = HEAP32[6334]|0; + $51 = ($50|0)>(0); + if ($51) { + $52 = ((($1)) + 4|0); + $53 = ((($1)) + 8|0); + $54 = ((($1)) + 12|0); + $$035 = 0; + while(1) { + $59 = +HEAPF32[6337]; + $60 = HEAP32[6336]|0; + $61 = (($60) + ($$035<<5)|0); + $62 = +HEAPF32[$61>>2]; + $63 = $62 - $59; + HEAPF32[$61>>2] = $63; + $64 = (((($60) + ($$035<<5)|0)) + 12|0); + $65 = HEAP32[$64>>2]|0; + $66 = (+($65|0)); + $67 = $63 + $66; + $68 = $67 > -100.0; + if ($68) { + $69 = $63 - $66; + $70 = (_GetScreenWidth()|0); + $71 = (+($70|0)); + $72 = $69 < $71; + if ($72) { + $$sink = 1; + } else { + label = 24; + } + } else { + label = 24; + } + if ((label|0) == 24) { + label = 0; + $$sink = 0; + } + $$pn = HEAP32[6336]|0; + $73 = (((($$pn) + ($$035<<5)|0)) + 24|0); + HEAP32[$73>>2] = $$sink; + $74 = (((($$pn) + ($$035<<5)|0)) + 20|0); + $75 = HEAP32[$74>>2]|0; + $76 = ($75|0)==(0); + if ($76) { + $77 = (($$pn) + ($$035<<5)|0); + $78 = (((($$pn) + ($$035<<5)|0)) + 12|0); + $79 = HEAP32[$78>>2]|0; + $80 = (+($79|0)); + $81 = +HEAPF32[6328]; + $82 = (~~(($81))); + HEAP32[$1>>2] = $82; + $83 = +HEAPF32[6329]; + $84 = (~~(($83))); + HEAP32[$52>>2] = $84; + $85 = HEAP32[6325]|0; + HEAP32[$53>>2] = $85; + $86 = HEAP32[6326]|0; + HEAP32[$54>>2] = $86; + ;HEAP32[$$byval_copy>>2]=HEAP32[$77>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$77+4>>2]|0; + ;HEAP32[$fxSampleOff$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$fxSampleOff$byval_copy+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$fxSampleOff$byval_copy+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[$fxSampleOff$byval_copy+12>>2]=HEAP32[$1+12>>2]|0; + $87 = (_CheckCollisionCircleRec($$byval_copy,$80,$fxSampleOff$byval_copy)|0); + $88 = ($87|0)==(0); + if (!($88)) { + $89 = HEAP32[6336]|0; + $90 = (((($89) + ($$035<<5)|0)) + 20|0); + HEAP32[$90>>2] = 1; + $91 = HEAP32[6335]|0; + $92 = (($91) + 1)|0; + HEAP32[6335] = $92; + $93 = +HEAPF32[6331]; + $94 = $93; + $95 = $94 + 0.02; + $96 = $95; + HEAPF32[6331] = $96; + $97 = HEAP32[6332]|0; + $98 = (($97) + 1)|0; + HEAP32[6332] = $98; + $99 = HEAP32[6333]|0; + $100 = ($97|0)<($99|0); + if (!($100)) { + HEAP32[6333] = $98; + } + $101 = +HEAPF32[6331]; + $102 = !($101 >= 1.0); + if (!($102)) { + HEAPF32[6331] = 1.0; + } + $103 = (((($89) + ($$035<<5)|0)) + 8|0); + $104 = +HEAPF32[$103>>2]; + $105 = $104 * 1.3999999761581421; + $106 = $105 + 0.69999998807907104; + ;HEAP32[$fxSampleOff$byval_copy>>2]=HEAP32[25248>>2]|0;HEAP32[$fxSampleOff$byval_copy+4>>2]=HEAP32[25248+4>>2]|0;HEAP32[$fxSampleOff$byval_copy+8>>2]=HEAP32[25248+8>>2]|0; + _SetSoundPitch($fxSampleOff$byval_copy,$106); + ;HEAP32[$fxSampleOff$byval_copy>>2]=HEAP32[25248>>2]|0;HEAP32[$fxSampleOff$byval_copy+4>>2]=HEAP32[25248+4>>2]|0;HEAP32[$fxSampleOff$byval_copy+8>>2]=HEAP32[25248+8>>2]|0; + _PlaySound($fxSampleOff$byval_copy); + } + } + $107 = HEAP32[6336]|0; + $108 = (($107) + ($$035<<5)|0); + $109 = +HEAPF32[$108>>2]; + $110 = (((($107) + ($$035<<5)|0)) + 12|0); + $111 = HEAP32[$110>>2]|0; + $112 = (+($111|0)); + $113 = $109 - $112; + $114 = +HEAPF32[6328]; + $115 = $113 < $114; + if ($115) { + HEAP32[6338] = $$035; + $116 = (((($107) + ($$035<<5)|0)) + 16|0); + $117 = HEAP32[$116>>2]|0; + $118 = ($117|0)==(0); + if (!($118)) { + HEAP32[$116>>2] = 0; + $119 = (((($107) + ($$035<<5)|0)) + 20|0); + $120 = HEAP32[$119>>2]|0; + $121 = ($120|0)==(0); + if ($121) { + $122 = +HEAPF32[6331]; + $123 = $122 + -0.05000000074505806; + HEAPF32[6331] = $123; + ;HEAP32[$fxSampleOff$byval_copy>>2]=HEAP32[25260>>2]|0;HEAP32[$fxSampleOff$byval_copy+4>>2]=HEAP32[25260+4>>2]|0;HEAP32[$fxSampleOff$byval_copy+8>>2]=HEAP32[25260+8>>2]|0; + _PlaySound($fxSampleOff$byval_copy); + HEAP32[6332] = 0; + } + } + } + $124 = (($$035) + 1)|0; + $125 = HEAP32[6334]|0; + $126 = ($124|0)<($125|0); + if ($126) { + $$035 = $124; + } else { + break; + } + } + } + $55 = (_IsKeyDown(32)|0); + $56 = ($55|0)!=(0); + $57 = +HEAPF32[6330]; + $58 = $57 > 0.0; + $or$cond = $56 & $58; + if ($or$cond) { + $127 = $57 + -1.0; + $128 = $127 < 0.0; + $storemerge33 = $128 ? 0.0 : $127; + HEAPF32[6330] = $storemerge33; + $129 = +HEAPF32[6337]; + $130 = $129 + -0.10000000149011612; + $$inv34 = $130 <= 3.0; + $storemerge32 = $$inv34 ? 3.0 : $130; + HEAPF32[6337] = $storemerge32; + $131 = HEAP32[6228]|0; + $132 = $storemerge32 / 7.0; + _SetMusicPitch($131,$132); + } else { + $133 = $57 + 1.0; + $134 = $133 > 395.0; + $storemerge31 = $134 ? 395.0 : $133; + HEAPF32[6330] = $storemerge31; + $135 = +HEAPF32[6337]; + $136 = $135 + 0.10000000149011612; + $$inv = $136 >= 7.0; + $storemerge = $$inv ? 7.0 : $136; + HEAPF32[6337] = $storemerge; + $137 = HEAP32[6228]|0; + $138 = $storemerge / 7.0; + _SetMusicPitch($137,$138); + } + $139 = HEAP32[6338]|0; + $140 = HEAP32[6334]|0; + $141 = (($140) + -1)|0; + $142 = ($139|0)<($141|0); + if (!($142)) { + $143 = HEAP32[6228]|0; + _StopMusicStream($143); + HEAP32[6230] = 1; + HEAP32[6266] = 1; + } + $144 = +HEAPF32[6331]; + $145 = !($144 <= 0.0); + if ($145) { + STACKTOP = sp;return; + } + HEAPF32[6331] = 0.0; + $146 = HEAP32[6228]|0; + _StopMusicStream($146); + HEAP32[6230] = 2; + HEAP32[6266] = 1; + STACKTOP = sp;return; +} +function _DrawGameplayScreen() { + var $$037 = 0, $$byval_copy17 = 0, $$byval_copy55 = 0, $$byval_copy56 = 0, $$byval_copy57 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0.0, $101 = 0.0, $102 = 0, $103 = 0, $104 = 0, $105 = 0.0, $106 = 0.0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0; + var $111 = 0.0, $112 = 0.0, $113 = 0, $114 = 0, $115 = 0, $116 = 0.0, $117 = 0.0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0.0, $122 = 0.0, $123 = 0, $124 = 0, $125 = 0, $126 = 0.0, $127 = 0.0, $128 = 0, $129 = 0; + var $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0.0, $135 = 0, $136 = 0.0, $137 = 0.0, $138 = 0, $139 = 0.0, $14 = 0, $140 = 0, $141 = 0.0, $142 = 0.0, $143 = 0.0, $144 = 0.0, $145 = 0.0, $146 = 0.0, $147 = 0.0; + var $148 = 0.0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0.0, $154 = 0.0, $155 = 0.0, $156 = 0, $157 = 0.0, $158 = 0.0, $159 = 0.0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0; + var $166 = 0, $167 = 0.0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0.0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0.0; + var $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0.0, $191 = 0, $192 = 0.0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0; + var $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0.0, $212 = 0, $213 = 0.0, $214 = 0, $215 = 0, $216 = 0, $217 = 0.0, $218 = 0, $219 = 0; + var $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0.0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0.0; + var $238 = 0.0, $239 = 0.0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0.0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0; + var $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0.0, $261 = 0, $262 = 0, $263 = 0.0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0; + var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; + var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0; + var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0.0, $71 = 0.0, $72 = 0, $73 = 0.0, $74 = 0.0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0; + var $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0.0, $96 = 0, $97 = 0.0, $98 = 0, $99 = 0, $storemerge = 0; + var $storemerge$in = 0, $storemerge45 = 0, $texLine$byval_copy = 0, $vararg_buffer = 0, $vararg_buffer2 = 0, $vararg_buffer6 = 0, $vararg_buffer9 = 0, $vararg_ptr1 = 0, $vararg_ptr5 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 448|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(448|0); + $$byval_copy57 = sp + 292|0; + $$byval_copy56 = sp + 272|0; + $$byval_copy55 = sp + 240|0; + $$byval_copy17 = sp + 104|0; + $texLine$byval_copy = sp + 80|0; + $vararg_buffer9 = sp + 24|0; + $vararg_buffer6 = sp + 16|0; + $vararg_buffer2 = sp + 8|0; + $vararg_buffer = sp; + $0 = sp + 232|0; + $1 = sp + 440|0; + $2 = sp + 436|0; + $3 = sp + 28|0; + $4 = sp + 432|0; + $5 = sp + 228|0; + $6 = sp + 428|0; + $7 = sp + 224|0; + $8 = sp + 220|0; + $9 = sp + 216|0; + $10 = sp + 200|0; + $11 = sp + 184|0; + $12 = sp + 176|0; + $13 = sp + 168|0; + $14 = sp + 160|0; + $15 = sp + 152|0; + $16 = sp + 144|0; + $17 = sp + 424|0; + $18 = sp + 136|0; + $19 = sp + 420|0; + $20 = sp + 416|0; + $21 = sp + 412|0; + $22 = sp + 408|0; + $23 = sp + 404|0; + $24 = sp + 400|0; + $25 = sp + 396|0; + $26 = sp + 392|0; + $27 = sp + 388|0; + $28 = sp + 384|0; + $29 = sp + 380|0; + $30 = sp + 376|0; + $31 = sp + 128|0; + $32 = sp + 372|0; + $33 = sp + 120|0; + $34 = sp + 368|0; + $35 = sp + 364|0; + $36 = sp + 360|0; + $37 = sp + 356|0; + $38 = sp + 352|0; + $39 = sp + 348|0; + $40 = sp + 72|0; + $41 = sp + 344|0; + $42 = sp + 64|0; + $43 = sp + 48|0; + $44 = sp + 340|0; + $45 = sp + 40|0; + $46 = sp + 32|0; + $47 = sp + 336|0; + HEAP32[$0>>2] = -1; + ;HEAP32[$$byval_copy56>>2]=HEAP32[25072>>2]|0;HEAP32[$$byval_copy56+4>>2]=HEAP32[25072+4>>2]|0;HEAP32[$$byval_copy56+8>>2]=HEAP32[25072+8>>2]|0;HEAP32[$$byval_copy56+12>>2]=HEAP32[25072+12>>2]|0;HEAP32[$$byval_copy56+16>>2]=HEAP32[25072+16>>2]|0; + ;HEAP8[$$byval_copy57>>0]=HEAP8[$0>>0]|0;HEAP8[$$byval_copy57+1>>0]=HEAP8[$0+1>>0]|0;HEAP8[$$byval_copy57+2>>0]=HEAP8[$0+2>>0]|0;HEAP8[$$byval_copy57+3>>0]=HEAP8[$0+3>>0]|0; + _DrawTexture($$byval_copy56,0,0,$$byval_copy57); + $48 = (_GetScreenHeight()|0); + $49 = (($48|0) / 2)&-1; + $50 = (($49) + -1)|0; + $51 = (_GetScreenWidth()|0); + HEAP8[$2>>0] = 0; + $52 = ((($2)) + 1|0); + HEAP8[$52>>0] = 121; + $53 = ((($2)) + 2|0); + HEAP8[$53>>0] = -15; + $54 = ((($2)) + 3|0); + HEAP8[$54>>0] = -1; + ;HEAP8[$$byval_copy57>>0]=HEAP8[$2>>0]|0;HEAP8[$$byval_copy57+1>>0]=HEAP8[$2+1>>0]|0;HEAP8[$$byval_copy57+2>>0]=HEAP8[$2+2>>0]|0;HEAP8[$$byval_copy57+3>>0]=HEAP8[$2+3>>0]|0; + _Fade($1,$$byval_copy57,0.30000001192092896); + ;HEAP8[$$byval_copy57>>0]=HEAP8[$1>>0]|0;HEAP8[$$byval_copy57+1>>0]=HEAP8[$1+1>>0]|0;HEAP8[$$byval_copy57+2>>0]=HEAP8[$1+2>>0]|0;HEAP8[$$byval_copy57+3>>0]=HEAP8[$1+3>>0]|0; + _DrawRectangle(0,$50,$51,2,$$byval_copy57); + $55 = HEAP32[6334]|0; + $56 = ($55|0)>(1); + if ($56) { + $57 = ((($10)) + 4|0); + $58 = ((($10)) + 8|0); + $59 = ((($10)) + 12|0); + $60 = ((($11)) + 4|0); + $61 = ((($11)) + 8|0); + $62 = ((($11)) + 12|0); + $63 = ((($12)) + 4|0); + $64 = ((($6)) + 1|0); + $65 = ((($6)) + 2|0); + $66 = ((($6)) + 3|0); + $67 = ((($4)) + 1|0); + $68 = ((($4)) + 2|0); + $69 = ((($4)) + 3|0); + $$037 = 0; + while(1) { + $78 = HEAP32[6336]|0; + $79 = (((($78) + ($$037<<5)|0)) + 24|0); + $80 = HEAP32[$79>>2]|0; + $81 = ($80|0)==(0); + if (!($81)) { + $82 = HEAP32[6336]|0; + $83 = (((($82) + ($$037<<5)|0)) + 28|0); + $84 = HEAPU8[$83>>0]|(HEAPU8[$83+1>>0]<<8)|(HEAPU8[$83+2>>0]<<16)|(HEAPU8[$83+3>>0]<<24); + HEAP32[$3>>2] = $84; + $85 = HEAP32[6338]|0; + $86 = ($$037|0)>($85|0); + if ($86) { + $storemerge45 = -1; + } else { + HEAP8[$4>>0] = 80; + HEAP8[$67>>0] = 80; + HEAP8[$68>>0] = 80; + HEAP8[$69>>0] = -1; + ;HEAP8[$$byval_copy57>>0]=HEAP8[$4>>0]|0;HEAP8[$$byval_copy57+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$$byval_copy57+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$$byval_copy57+3>>0]=HEAP8[$4+3>>0]|0; + _Fade($5,$$byval_copy57,0.5); + $87 = HEAP32[$5>>2]|0; + $storemerge45 = $87; + } + HEAP32[$3>>2] = $storemerge45; + $88 = HEAP32[6336]|0; + $89 = (((($88) + ($$037<<5)|0)) + 20|0); + $90 = HEAP32[$89>>2]|0; + $91 = ($90|0)==(0); + do { + if ($91) { + $92 = HEAP32[6332]|0; + $93 = ($92|0)>(50); + $94 = (($88) + ($$037<<5)|0); + $95 = +HEAPF32[$94>>2]; + $96 = (((($88) + ($$037<<5)|0)) + 4|0); + $97 = +HEAPF32[$96>>2]; + if ($93) { + $98 = HEAP32[(25116)>>2]|0; + $99 = (($98|0) / 2)&-1; + $100 = (+($99|0)); + $101 = $95 - $100; + $102 = (~~(($101))); + $103 = HEAP32[(25120)>>2]|0; + $104 = (($103|0) / 2)&-1; + $105 = (+($104|0)); + $106 = $97 - $105; + $107 = (~~(($106))); + ;HEAP32[$$byval_copy56>>2]=HEAP32[25112>>2]|0;HEAP32[$$byval_copy56+4>>2]=HEAP32[25112+4>>2]|0;HEAP32[$$byval_copy56+8>>2]=HEAP32[25112+8>>2]|0;HEAP32[$$byval_copy56+12>>2]=HEAP32[25112+12>>2]|0;HEAP32[$$byval_copy56+16>>2]=HEAP32[25112+16>>2]|0; + ;HEAP8[$$byval_copy57>>0]=HEAP8[$3>>0]|0;HEAP8[$$byval_copy57+1>>0]=HEAP8[$3+1>>0]|0;HEAP8[$$byval_copy57+2>>0]=HEAP8[$3+2>>0]|0;HEAP8[$$byval_copy57+3>>0]=HEAP8[$3+3>>0]|0; + _DrawTexture($$byval_copy56,$102,$107,$$byval_copy57); + break; + } + $108 = ($92|0)>(25); + if ($108) { + $109 = HEAP32[(25136)>>2]|0; + $110 = (($109|0) / 2)&-1; + $111 = (+($110|0)); + $112 = $95 - $111; + $113 = (~~(($112))); + $114 = HEAP32[(25140)>>2]|0; + $115 = (($114|0) / 2)&-1; + $116 = (+($115|0)); + $117 = $97 - $116; + $118 = (~~(($117))); + ;HEAP32[$$byval_copy56>>2]=HEAP32[25132>>2]|0;HEAP32[$$byval_copy56+4>>2]=HEAP32[25132+4>>2]|0;HEAP32[$$byval_copy56+8>>2]=HEAP32[25132+8>>2]|0;HEAP32[$$byval_copy56+12>>2]=HEAP32[25132+12>>2]|0;HEAP32[$$byval_copy56+16>>2]=HEAP32[25132+16>>2]|0; + ;HEAP8[$$byval_copy57>>0]=HEAP8[$3>>0]|0;HEAP8[$$byval_copy57+1>>0]=HEAP8[$3+1>>0]|0;HEAP8[$$byval_copy57+2>>0]=HEAP8[$3+2>>0]|0;HEAP8[$$byval_copy57+3>>0]=HEAP8[$3+3>>0]|0; + _DrawTexture($$byval_copy56,$113,$118,$$byval_copy57); + break; + } else { + $119 = HEAP32[(25116)>>2]|0; + $120 = (($119|0) / 2)&-1; + $121 = (+($120|0)); + $122 = $95 - $121; + $123 = (~~(($122))); + $124 = HEAP32[(25160)>>2]|0; + $125 = (($124|0) / 2)&-1; + $126 = (+($125|0)); + $127 = $97 - $126; + $128 = (~~(($127))); + ;HEAP32[$$byval_copy56>>2]=HEAP32[25152>>2]|0;HEAP32[$$byval_copy56+4>>2]=HEAP32[25152+4>>2]|0;HEAP32[$$byval_copy56+8>>2]=HEAP32[25152+8>>2]|0;HEAP32[$$byval_copy56+12>>2]=HEAP32[25152+12>>2]|0;HEAP32[$$byval_copy56+16>>2]=HEAP32[25152+16>>2]|0; + ;HEAP8[$$byval_copy57>>0]=HEAP8[$3>>0]|0;HEAP8[$$byval_copy57+1>>0]=HEAP8[$3+1>>0]|0;HEAP8[$$byval_copy57+2>>0]=HEAP8[$3+2>>0]|0;HEAP8[$$byval_copy57+3>>0]=HEAP8[$3+3>>0]|0; + _DrawTexture($$byval_copy56,$123,$128,$$byval_copy57); + break; + } + } + } while(0); + $129 = HEAP32[6338]|0; + $130 = ($$037|0)>($129|0); + if ($130) { + HEAP32[$8>>2] = -1; + ;HEAP8[$$byval_copy57>>0]=HEAP8[$8>>0]|0;HEAP8[$$byval_copy57+1>>0]=HEAP8[$8+1>>0]|0;HEAP8[$$byval_copy57+2>>0]=HEAP8[$8+2>>0]|0;HEAP8[$$byval_copy57+3>>0]=HEAP8[$8+3>>0]|0; + _Fade($9,$$byval_copy57,0.5); + $storemerge$in = $9; + } else { + HEAP8[$6>>0] = -126; + HEAP8[$64>>0] = -126; + HEAP8[$65>>0] = -126; + HEAP8[$66>>0] = -1; + ;HEAP8[$$byval_copy57>>0]=HEAP8[$6>>0]|0;HEAP8[$$byval_copy57+1>>0]=HEAP8[$6+1>>0]|0;HEAP8[$$byval_copy57+2>>0]=HEAP8[$6+2>>0]|0;HEAP8[$$byval_copy57+3>>0]=HEAP8[$6+3>>0]|0; + _Fade($7,$$byval_copy57,0.30000001192092896); + $storemerge$in = $7; + } + $storemerge = HEAP32[$storemerge$in>>2]|0; + HEAP32[$3>>2] = $storemerge; + $131 = HEAP32[6336]|0; + $132 = (($$037) + 1)|0; + $133 = (($131) + ($132<<5)|0); + $134 = +HEAPF32[$133>>2]; + $135 = (($131) + ($$037<<5)|0); + $136 = +HEAPF32[$135>>2]; + $137 = $134 - $136; + $138 = (((($131) + ($132<<5)|0)) + 4|0); + $139 = +HEAPF32[$138>>2]; + $140 = (((($131) + ($$037<<5)|0)) + 4|0); + $141 = +HEAPF32[$140>>2]; + $142 = $139 - $141; + $143 = $137 * $137; + $144 = $142 * $142; + $145 = $143 + $144; + $146 = (+Math_sqrt((+$145))); + $147 = $142 / $146; + $148 = (+Math_asin((+$147))); + HEAP32[$10>>2] = 0; + HEAP32[$57>>2] = 0; + $149 = HEAP32[(25176)>>2]|0; + HEAP32[$58>>2] = $149; + $150 = HEAP32[(25180)>>2]|0; + HEAP32[$59>>2] = $150; + $151 = (~~(($136))); + HEAP32[$11>>2] = $151; + $152 = (~~(($141))); + HEAP32[$60>>2] = $152; + $153 = (+($149|0)); + $154 = $146 * $153; + $155 = $154 / 100.0; + $156 = (~~(($155))); + HEAP32[$61>>2] = $156; + HEAP32[$62>>2] = $150; + HEAPF32[$12>>2] = 0.0; + $157 = (+($150|0)); + $158 = $157 * 0.5; + HEAPF32[$63>>2] = $158; + $159 = $148 * -57.2957763671875; + ;HEAP32[$texLine$byval_copy>>2]=HEAP32[25172>>2]|0;HEAP32[$texLine$byval_copy+4>>2]=HEAP32[25172+4>>2]|0;HEAP32[$texLine$byval_copy+8>>2]=HEAP32[25172+8>>2]|0;HEAP32[$texLine$byval_copy+12>>2]=HEAP32[25172+12>>2]|0;HEAP32[$texLine$byval_copy+16>>2]=HEAP32[25172+16>>2]|0; + ;HEAP32[$$byval_copy17>>2]=HEAP32[$10>>2]|0;HEAP32[$$byval_copy17+4>>2]=HEAP32[$10+4>>2]|0;HEAP32[$$byval_copy17+8>>2]=HEAP32[$10+8>>2]|0;HEAP32[$$byval_copy17+12>>2]=HEAP32[$10+12>>2]|0; + ;HEAP32[$$byval_copy55>>2]=HEAP32[$11>>2]|0;HEAP32[$$byval_copy55+4>>2]=HEAP32[$11+4>>2]|0;HEAP32[$$byval_copy55+8>>2]=HEAP32[$11+8>>2]|0;HEAP32[$$byval_copy55+12>>2]=HEAP32[$11+12>>2]|0; + ;HEAP32[$$byval_copy56>>2]=HEAP32[$12>>2]|0;HEAP32[$$byval_copy56+4>>2]=HEAP32[$12+4>>2]|0; + ;HEAP8[$$byval_copy57>>0]=HEAP8[$3>>0]|0;HEAP8[$$byval_copy57+1>>0]=HEAP8[$3+1>>0]|0;HEAP8[$$byval_copy57+2>>0]=HEAP8[$3+2>>0]|0;HEAP8[$$byval_copy57+3>>0]=HEAP8[$3+3>>0]|0; + _DrawTexturePro($texLine$byval_copy,$$byval_copy17,$$byval_copy55,$$byval_copy56,$159,$$byval_copy57); + } + $160 = (($$037) + 1)|0; + $161 = HEAP32[6334]|0; + $162 = (($161) + -1)|0; + $163 = ($160|0)<($162|0); + if ($163) { + $$037 = $160; + } else { + break; + } + } + } + $70 = +HEAPF32[6328]; + $71 = $70 + -32.0; + $72 = (~~(($71))); + $73 = +HEAPF32[6329]; + $74 = $73 + -24.0; + $75 = (~~(($74))); + HEAP32[$13>>2] = -1; + ;HEAP32[$$byval_copy56>>2]=HEAP32[25092>>2]|0;HEAP32[$$byval_copy56+4>>2]=HEAP32[25092+4>>2]|0;HEAP32[$$byval_copy56+8>>2]=HEAP32[25092+8>>2]|0;HEAP32[$$byval_copy56+12>>2]=HEAP32[25092+12>>2]|0;HEAP32[$$byval_copy56+16>>2]=HEAP32[25092+16>>2]|0; + ;HEAP8[$$byval_copy57>>0]=HEAP8[$13>>0]|0;HEAP8[$$byval_copy57+1>>0]=HEAP8[$13+1>>0]|0;HEAP8[$$byval_copy57+2>>0]=HEAP8[$13+2>>0]|0;HEAP8[$$byval_copy57+3>>0]=HEAP8[$13+3>>0]|0; + _DrawTexture($$byval_copy56,$72,$75,$$byval_copy57); + $76 = HEAP32[6267]|0; + $77 = ($76|0)==(0); + if (!($77)) { + HEAPF32[$14>>2] = 235.0; + $164 = ((($14)) + 4|0); + HEAPF32[$164>>2] = 400.0; + $165 = HEAP32[(24900)>>2]|0; + $166 = $165 << 1; + $167 = (+($166|0)); + HEAP32[$15>>2] = -1; + ;HEAP32[$$byval_copy55>>2]=HEAP32[24880>>2]|0;HEAP32[$$byval_copy55+4>>2]=HEAP32[24880+4>>2]|0;HEAP32[$$byval_copy55+8>>2]=HEAP32[24880+8>>2]|0;HEAP32[$$byval_copy55+12>>2]=HEAP32[24880+12>>2]|0;HEAP32[$$byval_copy55+16>>2]=HEAP32[24880+16>>2]|0;HEAP32[$$byval_copy55+20>>2]=HEAP32[24880+20>>2]|0;HEAP32[$$byval_copy55+24>>2]=HEAP32[24880+24>>2]|0;HEAP32[$$byval_copy55+28>>2]=HEAP32[24880+28>>2]|0; + ;HEAP32[$$byval_copy56>>2]=HEAP32[$14>>2]|0;HEAP32[$$byval_copy56+4>>2]=HEAP32[$14+4>>2]|0; + ;HEAP8[$$byval_copy57>>0]=HEAP8[$15>>0]|0;HEAP8[$$byval_copy57+1>>0]=HEAP8[$15+1>>0]|0;HEAP8[$$byval_copy57+2>>0]=HEAP8[$15+2>>0]|0;HEAP8[$$byval_copy57+3>>0]=HEAP8[$15+3>>0]|0; + _DrawTextEx($$byval_copy55,6180,$$byval_copy56,$167,0,$$byval_copy57); + } + $168 = HEAP32[6335]|0; + $169 = HEAP32[6334]|0; + HEAP32[$vararg_buffer>>2] = $168; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $169; + $170 = (_FormatText(6192,$vararg_buffer)|0); + HEAPF32[$16>>2] = 810.0; + $171 = ((($16)) + 4|0); + HEAPF32[$171>>2] = 170.0; + $172 = HEAP32[(24900)>>2]|0; + $173 = (+($172|0)); + HEAP8[$17>>0] = 102; + $174 = ((($17)) + 1|0); + HEAP8[$174>>0] = -65; + $175 = ((($17)) + 2|0); + HEAP8[$175>>0] = -1; + $176 = ((($17)) + 3|0); + HEAP8[$176>>0] = -1; + ;HEAP32[$$byval_copy55>>2]=HEAP32[24880>>2]|0;HEAP32[$$byval_copy55+4>>2]=HEAP32[24880+4>>2]|0;HEAP32[$$byval_copy55+8>>2]=HEAP32[24880+8>>2]|0;HEAP32[$$byval_copy55+12>>2]=HEAP32[24880+12>>2]|0;HEAP32[$$byval_copy55+16>>2]=HEAP32[24880+16>>2]|0;HEAP32[$$byval_copy55+20>>2]=HEAP32[24880+20>>2]|0;HEAP32[$$byval_copy55+24>>2]=HEAP32[24880+24>>2]|0;HEAP32[$$byval_copy55+28>>2]=HEAP32[24880+28>>2]|0; + ;HEAP32[$$byval_copy56>>2]=HEAP32[$16>>2]|0;HEAP32[$$byval_copy56+4>>2]=HEAP32[$16+4>>2]|0; + ;HEAP8[$$byval_copy57>>0]=HEAP8[$17>>0]|0;HEAP8[$$byval_copy57+1>>0]=HEAP8[$17+1>>0]|0;HEAP8[$$byval_copy57+2>>0]=HEAP8[$17+2>>0]|0;HEAP8[$$byval_copy57+3>>0]=HEAP8[$17+3>>0]|0; + _DrawTextEx($$byval_copy55,$170,$$byval_copy56,$173,-2,$$byval_copy57); + $177 = HEAP32[6332]|0; + $178 = HEAP32[6333]|0; + HEAP32[$vararg_buffer2>>2] = $177; + $vararg_ptr5 = ((($vararg_buffer2)) + 4|0); + HEAP32[$vararg_ptr5>>2] = $178; + $179 = (_FormatText(6204,$vararg_buffer2)|0); + HEAPF32[$18>>2] = 200.0; + $180 = ((($18)) + 4|0); + HEAPF32[$180>>2] = 170.0; + $181 = HEAP32[(24900)>>2]|0; + $182 = (($181|0) / 2)&-1; + $183 = (+($182|0)); + HEAP8[$19>>0] = 102; + $184 = ((($19)) + 1|0); + HEAP8[$184>>0] = -65; + $185 = ((($19)) + 2|0); + HEAP8[$185>>0] = -1; + $186 = ((($19)) + 3|0); + HEAP8[$186>>0] = -1; + ;HEAP32[$$byval_copy55>>2]=HEAP32[24880>>2]|0;HEAP32[$$byval_copy55+4>>2]=HEAP32[24880+4>>2]|0;HEAP32[$$byval_copy55+8>>2]=HEAP32[24880+8>>2]|0;HEAP32[$$byval_copy55+12>>2]=HEAP32[24880+12>>2]|0;HEAP32[$$byval_copy55+16>>2]=HEAP32[24880+16>>2]|0;HEAP32[$$byval_copy55+20>>2]=HEAP32[24880+20>>2]|0;HEAP32[$$byval_copy55+24>>2]=HEAP32[24880+24>>2]|0;HEAP32[$$byval_copy55+28>>2]=HEAP32[24880+28>>2]|0; + ;HEAP32[$$byval_copy56>>2]=HEAP32[$18>>2]|0;HEAP32[$$byval_copy56+4>>2]=HEAP32[$18+4>>2]|0; + ;HEAP8[$$byval_copy57>>0]=HEAP8[$19>>0]|0;HEAP8[$$byval_copy57+1>>0]=HEAP8[$19+1>>0]|0;HEAP8[$$byval_copy57+2>>0]=HEAP8[$19+2>>0]|0;HEAP8[$$byval_copy57+3>>0]=HEAP8[$19+3>>0]|0; + _DrawTextEx($$byval_copy55,$179,$$byval_copy56,$183,-2,$$byval_copy57); + HEAP8[$21>>0] = -11; + $187 = ((($21)) + 1|0); + HEAP8[$187>>0] = -11; + $188 = ((($21)) + 2|0); + HEAP8[$188>>0] = -11; + $189 = ((($21)) + 3|0); + HEAP8[$189>>0] = -1; + ;HEAP8[$$byval_copy57>>0]=HEAP8[$21>>0]|0;HEAP8[$$byval_copy57+1>>0]=HEAP8[$21+1>>0]|0;HEAP8[$$byval_copy57+2>>0]=HEAP8[$21+2>>0]|0;HEAP8[$$byval_copy57+3>>0]=HEAP8[$21+3>>0]|0; + _Fade($20,$$byval_copy57,0.80000001192092896); + ;HEAP8[$$byval_copy57>>0]=HEAP8[$20>>0]|0;HEAP8[$$byval_copy57+1>>0]=HEAP8[$20+1>>0]|0;HEAP8[$$byval_copy57+2>>0]=HEAP8[$20+2>>0]|0;HEAP8[$$byval_copy57+3>>0]=HEAP8[$20+3>>0]|0; + _DrawRectangle(99,622,395,32,$$byval_copy57); + $190 = +HEAPF32[6331]; + $191 = !($190 <= 0.30000001192092896); + $192 = $190 * 395.0; + $193 = (~~(($192))); + do { + if ($191) { + $197 = !($190 <= 0.80000001192092896); + if (!($197)) { + HEAP8[$25>>0] = -1; + $198 = ((($25)) + 1|0); + HEAP8[$198>>0] = -95; + $199 = ((($25)) + 2|0); + HEAP8[$199>>0] = 0; + $200 = ((($25)) + 3|0); + HEAP8[$200>>0] = -1; + ;HEAP8[$$byval_copy57>>0]=HEAP8[$25>>0]|0;HEAP8[$$byval_copy57+1>>0]=HEAP8[$25+1>>0]|0;HEAP8[$$byval_copy57+2>>0]=HEAP8[$25+2>>0]|0;HEAP8[$$byval_copy57+3>>0]=HEAP8[$25+3>>0]|0; + _Fade($24,$$byval_copy57,0.80000001192092896); + ;HEAP8[$$byval_copy57>>0]=HEAP8[$24>>0]|0;HEAP8[$$byval_copy57+1>>0]=HEAP8[$24+1>>0]|0;HEAP8[$$byval_copy57+2>>0]=HEAP8[$24+2>>0]|0;HEAP8[$$byval_copy57+3>>0]=HEAP8[$24+3>>0]|0; + _DrawRectangle(99,622,$193,32,$$byval_copy57); + break; + } + $201 = $190 < 1.0; + if ($201) { + HEAP8[$27>>0] = 0; + $202 = ((($27)) + 1|0); + HEAP8[$202>>0] = -98; + $203 = ((($27)) + 2|0); + HEAP8[$203>>0] = 47; + $204 = ((($27)) + 3|0); + HEAP8[$204>>0] = -1; + ;HEAP8[$$byval_copy57>>0]=HEAP8[$27>>0]|0;HEAP8[$$byval_copy57+1>>0]=HEAP8[$27+1>>0]|0;HEAP8[$$byval_copy57+2>>0]=HEAP8[$27+2>>0]|0;HEAP8[$$byval_copy57+3>>0]=HEAP8[$27+3>>0]|0; + _Fade($26,$$byval_copy57,0.80000001192092896); + ;HEAP8[$$byval_copy57>>0]=HEAP8[$26>>0]|0;HEAP8[$$byval_copy57+1>>0]=HEAP8[$26+1>>0]|0;HEAP8[$$byval_copy57+2>>0]=HEAP8[$26+2>>0]|0;HEAP8[$$byval_copy57+3>>0]=HEAP8[$26+3>>0]|0; + _DrawRectangle(99,622,$193,32,$$byval_copy57); + break; + } else { + HEAP8[$29>>0] = 0; + $205 = ((($29)) + 1|0); + HEAP8[$205>>0] = -28; + $206 = ((($29)) + 2|0); + HEAP8[$206>>0] = 48; + $207 = ((($29)) + 3|0); + HEAP8[$207>>0] = -1; + ;HEAP8[$$byval_copy57>>0]=HEAP8[$29>>0]|0;HEAP8[$$byval_copy57+1>>0]=HEAP8[$29+1>>0]|0;HEAP8[$$byval_copy57+2>>0]=HEAP8[$29+2>>0]|0;HEAP8[$$byval_copy57+3>>0]=HEAP8[$29+3>>0]|0; + _Fade($28,$$byval_copy57,0.89999997615814208); + ;HEAP8[$$byval_copy57>>0]=HEAP8[$28>>0]|0;HEAP8[$$byval_copy57+1>>0]=HEAP8[$28+1>>0]|0;HEAP8[$$byval_copy57+2>>0]=HEAP8[$28+2>>0]|0;HEAP8[$$byval_copy57+3>>0]=HEAP8[$28+3>>0]|0; + _DrawRectangle(99,622,$193,32,$$byval_copy57); + break; + } + } else { + HEAP8[$23>>0] = -26; + $194 = ((($23)) + 1|0); + HEAP8[$194>>0] = 41; + $195 = ((($23)) + 2|0); + HEAP8[$195>>0] = 55; + $196 = ((($23)) + 3|0); + HEAP8[$196>>0] = -1; + ;HEAP8[$$byval_copy57>>0]=HEAP8[$23>>0]|0;HEAP8[$$byval_copy57+1>>0]=HEAP8[$23+1>>0]|0;HEAP8[$$byval_copy57+2>>0]=HEAP8[$23+2>>0]|0;HEAP8[$$byval_copy57+3>>0]=HEAP8[$23+3>>0]|0; + _Fade($22,$$byval_copy57,0.80000001192092896); + ;HEAP8[$$byval_copy57>>0]=HEAP8[$22>>0]|0;HEAP8[$$byval_copy57+1>>0]=HEAP8[$22+1>>0]|0;HEAP8[$$byval_copy57+2>>0]=HEAP8[$22+2>>0]|0;HEAP8[$$byval_copy57+3>>0]=HEAP8[$22+3>>0]|0; + _DrawRectangle(99,622,$193,32,$$byval_copy57); + } + } while(0); + HEAP8[$30>>0] = -66; + $208 = ((($30)) + 1|0); + HEAP8[$208>>0] = 33; + $209 = ((($30)) + 2|0); + HEAP8[$209>>0] = 55; + $210 = ((($30)) + 3|0); + HEAP8[$210>>0] = -1; + ;HEAP8[$$byval_copy57>>0]=HEAP8[$30>>0]|0;HEAP8[$$byval_copy57+1>>0]=HEAP8[$30+1>>0]|0;HEAP8[$$byval_copy57+2>>0]=HEAP8[$30+2>>0]|0;HEAP8[$$byval_copy57+3>>0]=HEAP8[$30+3>>0]|0; + _DrawRectangleLines(99,622,395,32,$$byval_copy57); + $211 = +HEAPF32[6331]; + $212 = $211 == 1.0; + $213 = $211 * 100.0; + $214 = (~~(($213))); + HEAP32[$vararg_buffer6>>2] = $214; + $215 = (_FormatText(6228,$vararg_buffer6)|0); + $216 = HEAP32[(24900)>>2]|0; + $217 = (+($216|0)); + if ($212) { + HEAPF32[$31>>2] = 489.0; + $218 = ((($31)) + 4|0); + HEAPF32[$218>>2] = 600.0; + HEAP8[$32>>0] = 0; + $219 = ((($32)) + 1|0); + HEAP8[$219>>0] = -28; + $220 = ((($32)) + 2|0); + HEAP8[$220>>0] = 48; + $221 = ((($32)) + 3|0); + HEAP8[$221>>0] = -1; + ;HEAP32[$$byval_copy55>>2]=HEAP32[24880>>2]|0;HEAP32[$$byval_copy55+4>>2]=HEAP32[24880+4>>2]|0;HEAP32[$$byval_copy55+8>>2]=HEAP32[24880+8>>2]|0;HEAP32[$$byval_copy55+12>>2]=HEAP32[24880+12>>2]|0;HEAP32[$$byval_copy55+16>>2]=HEAP32[24880+16>>2]|0;HEAP32[$$byval_copy55+20>>2]=HEAP32[24880+20>>2]|0;HEAP32[$$byval_copy55+24>>2]=HEAP32[24880+24>>2]|0;HEAP32[$$byval_copy55+28>>2]=HEAP32[24880+28>>2]|0; + ;HEAP32[$$byval_copy56>>2]=HEAP32[$31>>2]|0;HEAP32[$$byval_copy56+4>>2]=HEAP32[$31+4>>2]|0; + ;HEAP8[$$byval_copy57>>0]=HEAP8[$32>>0]|0;HEAP8[$$byval_copy57+1>>0]=HEAP8[$32+1>>0]|0;HEAP8[$$byval_copy57+2>>0]=HEAP8[$32+2>>0]|0;HEAP8[$$byval_copy57+3>>0]=HEAP8[$32+3>>0]|0; + _DrawTextEx($$byval_copy55,$215,$$byval_copy56,$217,-2,$$byval_copy57); + } else { + HEAPF32[$33>>2] = 489.0; + $222 = ((($33)) + 4|0); + HEAPF32[$222>>2] = 600.0; + HEAP8[$34>>0] = 102; + $223 = ((($34)) + 1|0); + HEAP8[$223>>0] = -65; + $224 = ((($34)) + 2|0); + HEAP8[$224>>0] = -1; + $225 = ((($34)) + 3|0); + HEAP8[$225>>0] = -1; + ;HEAP32[$$byval_copy55>>2]=HEAP32[24880>>2]|0;HEAP32[$$byval_copy55+4>>2]=HEAP32[24880+4>>2]|0;HEAP32[$$byval_copy55+8>>2]=HEAP32[24880+8>>2]|0;HEAP32[$$byval_copy55+12>>2]=HEAP32[24880+12>>2]|0;HEAP32[$$byval_copy55+16>>2]=HEAP32[24880+16>>2]|0;HEAP32[$$byval_copy55+20>>2]=HEAP32[24880+20>>2]|0;HEAP32[$$byval_copy55+24>>2]=HEAP32[24880+24>>2]|0;HEAP32[$$byval_copy55+28>>2]=HEAP32[24880+28>>2]|0; + ;HEAP32[$$byval_copy56>>2]=HEAP32[$33>>2]|0;HEAP32[$$byval_copy56+4>>2]=HEAP32[$33+4>>2]|0; + ;HEAP8[$$byval_copy57>>0]=HEAP8[$34>>0]|0;HEAP8[$$byval_copy57+1>>0]=HEAP8[$34+1>>0]|0;HEAP8[$$byval_copy57+2>>0]=HEAP8[$34+2>>0]|0;HEAP8[$$byval_copy57+3>>0]=HEAP8[$34+3>>0]|0; + _DrawTextEx($$byval_copy55,$215,$$byval_copy56,$217,-2,$$byval_copy57); + } + HEAP8[$36>>0] = -11; + $226 = ((($36)) + 1|0); + HEAP8[$226>>0] = -11; + $227 = ((($36)) + 2|0); + HEAP8[$227>>0] = -11; + $228 = ((($36)) + 3|0); + HEAP8[$228>>0] = -1; + ;HEAP8[$$byval_copy57>>0]=HEAP8[$36>>0]|0;HEAP8[$$byval_copy57+1>>0]=HEAP8[$36+1>>0]|0;HEAP8[$$byval_copy57+2>>0]=HEAP8[$36+2>>0]|0;HEAP8[$$byval_copy57+3>>0]=HEAP8[$36+3>>0]|0; + _Fade($35,$$byval_copy57,0.80000001192092896); + ;HEAP8[$$byval_copy57>>0]=HEAP8[$35>>0]|0;HEAP8[$$byval_copy57+1>>0]=HEAP8[$35+1>>0]|0;HEAP8[$$byval_copy57+2>>0]=HEAP8[$35+2>>0]|0;HEAP8[$$byval_copy57+3>>0]=HEAP8[$35+3>>0]|0; + _DrawRectangle(754,622,395,32,$$byval_copy57); + $229 = +HEAPF32[6330]; + $230 = (~~(($229))); + HEAP8[$38>>0] = 102; + $231 = ((($38)) + 1|0); + HEAP8[$231>>0] = -65; + $232 = ((($38)) + 2|0); + HEAP8[$232>>0] = -1; + $233 = ((($38)) + 3|0); + HEAP8[$233>>0] = -1; + ;HEAP8[$$byval_copy57>>0]=HEAP8[$38>>0]|0;HEAP8[$$byval_copy57+1>>0]=HEAP8[$38+1>>0]|0;HEAP8[$$byval_copy57+2>>0]=HEAP8[$38+2>>0]|0;HEAP8[$$byval_copy57+3>>0]=HEAP8[$38+3>>0]|0; + _Fade($37,$$byval_copy57,0.80000001192092896); + ;HEAP8[$$byval_copy57>>0]=HEAP8[$37>>0]|0;HEAP8[$$byval_copy57+1>>0]=HEAP8[$37+1>>0]|0;HEAP8[$$byval_copy57+2>>0]=HEAP8[$37+2>>0]|0;HEAP8[$$byval_copy57+3>>0]=HEAP8[$37+3>>0]|0; + _DrawRectangle(754,622,$230,32,$$byval_copy57); + HEAP8[$39>>0] = 80; + $234 = ((($39)) + 1|0); + HEAP8[$234>>0] = 80; + $235 = ((($39)) + 2|0); + HEAP8[$235>>0] = 80; + $236 = ((($39)) + 3|0); + HEAP8[$236>>0] = -1; + ;HEAP8[$$byval_copy57>>0]=HEAP8[$39>>0]|0;HEAP8[$$byval_copy57+1>>0]=HEAP8[$39+1>>0]|0;HEAP8[$$byval_copy57+2>>0]=HEAP8[$39+2>>0]|0;HEAP8[$$byval_copy57+3>>0]=HEAP8[$39+3>>0]|0; + _DrawRectangleLines(754,622,395,32,$$byval_copy57); + $237 = +HEAPF32[6330]; + $238 = $237 / 395.0; + $239 = $238 * 100.0; + $240 = (~~(($239))); + HEAP32[$vararg_buffer9>>2] = $240; + $241 = (_FormatText(6228,$vararg_buffer9)|0); + HEAPF32[$40>>2] = 1144.0; + $242 = ((($40)) + 4|0); + HEAPF32[$242>>2] = 600.0; + $243 = HEAP32[(24900)>>2]|0; + $244 = (+($243|0)); + HEAP8[$41>>0] = 102; + $245 = ((($41)) + 1|0); + HEAP8[$245>>0] = -65; + $246 = ((($41)) + 2|0); + HEAP8[$246>>0] = -1; + $247 = ((($41)) + 3|0); + HEAP8[$247>>0] = -1; + ;HEAP32[$$byval_copy55>>2]=HEAP32[24880>>2]|0;HEAP32[$$byval_copy55+4>>2]=HEAP32[24880+4>>2]|0;HEAP32[$$byval_copy55+8>>2]=HEAP32[24880+8>>2]|0;HEAP32[$$byval_copy55+12>>2]=HEAP32[24880+12>>2]|0;HEAP32[$$byval_copy55+16>>2]=HEAP32[24880+16>>2]|0;HEAP32[$$byval_copy55+20>>2]=HEAP32[24880+20>>2]|0;HEAP32[$$byval_copy55+24>>2]=HEAP32[24880+24>>2]|0;HEAP32[$$byval_copy55+28>>2]=HEAP32[24880+28>>2]|0; + ;HEAP32[$$byval_copy56>>2]=HEAP32[$40>>2]|0;HEAP32[$$byval_copy56+4>>2]=HEAP32[$40+4>>2]|0; + ;HEAP8[$$byval_copy57>>0]=HEAP8[$41>>0]|0;HEAP8[$$byval_copy57+1>>0]=HEAP8[$41+1>>0]|0;HEAP8[$$byval_copy57+2>>0]=HEAP8[$41+2>>0]|0;HEAP8[$$byval_copy57+3>>0]=HEAP8[$41+3>>0]|0; + _DrawTextEx($$byval_copy55,$241,$$byval_copy56,$244,-2,$$byval_copy57); + HEAP32[$42>>2] = 0; + ;HEAP8[$$byval_copy57>>0]=HEAP8[$42>>0]|0;HEAP8[$$byval_copy57+1>>0]=HEAP8[$42+1>>0]|0;HEAP8[$$byval_copy57+2>>0]=HEAP8[$42+2>>0]|0;HEAP8[$$byval_copy57+3>>0]=HEAP8[$42+3>>0]|0; + _ClearBackground($$byval_copy57); + dest=$$byval_copy57; src=25204; stop=dest+44|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _BeginTextureMode($$byval_copy57); + $248 = HEAP32[6336]|0; + $249 = HEAP32[6334]|0; + $250 = HEAP32[6338]|0; + HEAP32[$43>>2] = 0; + $251 = ((($43)) + 4|0); + HEAP32[$251>>2] = 0; + $252 = ((($43)) + 8|0); + $253 = HEAP32[(25212)>>2]|0; + HEAP32[$252>>2] = $253; + $254 = ((($43)) + 12|0); + $255 = HEAP32[(25216)>>2]|0; + HEAP32[$254>>2] = $255; + HEAP8[$44>>0] = -66; + $256 = ((($44)) + 1|0); + HEAP8[$256>>0] = 33; + $257 = ((($44)) + 2|0); + HEAP8[$257>>0] = 55; + $258 = ((($44)) + 3|0); + HEAP8[$258>>0] = -1; + ;HEAP32[$$byval_copy56>>2]=HEAP32[$43>>2]|0;HEAP32[$$byval_copy56+4>>2]=HEAP32[$43+4>>2]|0;HEAP32[$$byval_copy56+8>>2]=HEAP32[$43+8>>2]|0;HEAP32[$$byval_copy56+12>>2]=HEAP32[$43+12>>2]|0; + ;HEAP8[$$byval_copy57>>0]=HEAP8[$44>>0]|0;HEAP8[$$byval_copy57+1>>0]=HEAP8[$44+1>>0]|0;HEAP8[$$byval_copy57+2>>0]=HEAP8[$44+2>>0]|0;HEAP8[$$byval_copy57+3>>0]=HEAP8[$44+3>>0]|0; + _DrawSamples($248,$249,$250,$$byval_copy56,$$byval_copy57); + _EndTextureMode(); + $259 = HEAP32[6298]|0; + $260 = (+($259|0)); + HEAPF32[$45>>2] = $260; + $261 = ((($45)) + 4|0); + $262 = HEAP32[6299]|0; + $263 = (+($262|0)); + HEAPF32[$261>>2] = $263; + HEAP32[$46>>2] = -1; + ;HEAP32[$$byval_copy55>>2]=HEAP32[(25208)>>2]|0;HEAP32[$$byval_copy55+4>>2]=HEAP32[(25208)+4>>2]|0;HEAP32[$$byval_copy55+8>>2]=HEAP32[(25208)+8>>2]|0;HEAP32[$$byval_copy55+12>>2]=HEAP32[(25208)+12>>2]|0;HEAP32[$$byval_copy55+16>>2]=HEAP32[(25208)+16>>2]|0; + ;HEAP32[$$byval_copy56>>2]=HEAP32[$45>>2]|0;HEAP32[$$byval_copy56+4>>2]=HEAP32[$45+4>>2]|0; + ;HEAP8[$$byval_copy57>>0]=HEAP8[$46>>0]|0;HEAP8[$$byval_copy57+1>>0]=HEAP8[$46+1>>0]|0;HEAP8[$$byval_copy57+2>>0]=HEAP8[$46+2>>0]|0;HEAP8[$$byval_copy57+3>>0]=HEAP8[$46+3>>0]|0; + _DrawTextureEx($$byval_copy55,$$byval_copy56,0.0,1.0,$$byval_copy57); + $264 = HEAP32[6298]|0; + $265 = HEAP32[6338]|0; + $266 = ($265*1215)|0; + $267 = HEAP32[6334]|0; + $268 = (($266|0) / ($267|0))&-1; + $269 = (($268) + ($264))|0; + $270 = HEAP32[6299]|0; + HEAP8[$47>>0] = 80; + $271 = ((($47)) + 1|0); + HEAP8[$271>>0] = 80; + $272 = ((($47)) + 2|0); + HEAP8[$272>>0] = 80; + $273 = ((($47)) + 3|0); + HEAP8[$273>>0] = -1; + ;HEAP8[$$byval_copy57>>0]=HEAP8[$47>>0]|0;HEAP8[$$byval_copy57+1>>0]=HEAP8[$47+1>>0]|0;HEAP8[$$byval_copy57+2>>0]=HEAP8[$47+2>>0]|0;HEAP8[$$byval_copy57+3>>0]=HEAP8[$47+3>>0]|0; + _DrawRectangle($269,$270,2,99,$$byval_copy57); + STACKTOP = sp;return; +} +function _DrawSamples($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$016 = 0, $$byval_copy = 0, $$byval_copy1 = 0, $$sroa$2$0$$sroa_idx = 0, $$sroa$3$0$$sroa_idx = 0, $$sroa$4$0$$sroa_idx = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0.0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; + var $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0.0, $32 = 0, $33 = 0.0, $34 = 0.0, $35 = 0.0, $36 = 0.0, $37 = 0, $38 = 0.0, $39 = 0.0, $40 = 0.0, $41 = 0, $42 = 0.0, $43 = 0.0; + var $44 = 0.0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $tmpcast$byval_copy = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0); + $tmpcast$byval_copy = sp + 40|0; + $$byval_copy1 = sp + 32|0; + $$byval_copy = sp + 24|0; + $5 = sp + 16|0; + $6 = sp + 8|0; + $7 = sp; + $8 = ((($3)) + 8|0); + $9 = HEAP32[$8>>2]|0; + $10 = (+($9|0)); + $11 = (+($1|0)); + $12 = $10 / $11; + $13 = HEAPU8[$4>>0]|(HEAPU8[$4+1>>0]<<8)|(HEAPU8[$4+2>>0]<<16)|(HEAPU8[$4+3>>0]<<24); + HEAP32[$5>>2] = $13; + $14 = (($1) + -1)|0; + $15 = ($1|0)>(1); + if (!($15)) { + STACKTOP = sp;return; + } + $$sroa$2$0$$sroa_idx = ((($5)) + 1|0); + $$sroa$3$0$$sroa_idx = ((($5)) + 2|0); + $$sroa$4$0$$sroa_idx = ((($5)) + 3|0); + $16 = HEAP32[$3>>2]|0; + $17 = (+($16|0)); + $18 = ((($6)) + 4|0); + $19 = ((($3)) + 4|0); + $20 = ((($3)) + 12|0); + $21 = ((($7)) + 4|0); + $22 = HEAPU8[$4>>0]|(HEAPU8[$4+1>>0]<<8)|(HEAPU8[$4+2>>0]<<16)|(HEAPU8[$4+3>>0]<<24); + $$016 = 0; + while(1) { + $23 = ($$016|0)<($2|0); + if ($23) { + HEAP8[$5>>0] = -126; + HEAP8[$$sroa$2$0$$sroa_idx>>0] = -126; + HEAP8[$$sroa$3$0$$sroa_idx>>0] = -126; + HEAP8[$$sroa$4$0$$sroa_idx>>0] = -1; + } else { + HEAP32[$5>>2] = $22; + } + $24 = (+($$016|0)); + $25 = $12 * $24; + $26 = $25 + $17; + HEAPF32[$6>>2] = $26; + $27 = HEAP32[$19>>2]|0; + $28 = HEAP32[$20>>2]|0; + $29 = (($28|0) / 2)&-1; + $30 = (($29) + ($27))|0; + $31 = (+($30|0)); + $32 = (((($0) + ($$016<<5)|0)) + 8|0); + $33 = +HEAPF32[$32>>2]; + $34 = (+($28|0)); + $35 = $33 * $34; + $36 = $35 + $31; + HEAPF32[$18>>2] = $36; + $37 = (($$016) + 1)|0; + $38 = (+($37|0)); + $39 = $12 * $38; + $40 = $39 + $17; + HEAPF32[$7>>2] = $40; + $41 = (((($0) + ($37<<5)|0)) + 8|0); + $42 = +HEAPF32[$41>>2]; + $43 = $34 * $42; + $44 = $31 + $43; + HEAPF32[$21>>2] = $44; + ;HEAP32[$$byval_copy>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$6+4>>2]|0; + ;HEAP32[$$byval_copy1>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$7+4>>2]|0; + ;HEAP8[$tmpcast$byval_copy>>0]=HEAP8[$5>>0]|0;HEAP8[$tmpcast$byval_copy+1>>0]=HEAP8[$5+1>>0]|0;HEAP8[$tmpcast$byval_copy+2>>0]=HEAP8[$5+2>>0]|0;HEAP8[$tmpcast$byval_copy+3>>0]=HEAP8[$5+3>>0]|0; + _DrawLineV($$byval_copy,$$byval_copy1,$tmpcast$byval_copy); + $exitcond = ($37|0)==($14|0); + if ($exitcond) { + break; + } else { + $$016 = $37; + } + } + STACKTOP = sp;return; +} +function _UnloadGameplayScreen() { + var $0 = 0, $fxPause$byval_copy = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0); + $fxPause$byval_copy = sp; + ;HEAP32[$fxPause$byval_copy>>2]=HEAP32[25072>>2]|0;HEAP32[$fxPause$byval_copy+4>>2]=HEAP32[25072+4>>2]|0;HEAP32[$fxPause$byval_copy+8>>2]=HEAP32[25072+8>>2]|0;HEAP32[$fxPause$byval_copy+12>>2]=HEAP32[25072+12>>2]|0;HEAP32[$fxPause$byval_copy+16>>2]=HEAP32[25072+16>>2]|0; + _UnloadTexture($fxPause$byval_copy); + ;HEAP32[$fxPause$byval_copy>>2]=HEAP32[25092>>2]|0;HEAP32[$fxPause$byval_copy+4>>2]=HEAP32[25092+4>>2]|0;HEAP32[$fxPause$byval_copy+8>>2]=HEAP32[25092+8>>2]|0;HEAP32[$fxPause$byval_copy+12>>2]=HEAP32[25092+12>>2]|0;HEAP32[$fxPause$byval_copy+16>>2]=HEAP32[25092+16>>2]|0; + _UnloadTexture($fxPause$byval_copy); + ;HEAP32[$fxPause$byval_copy>>2]=HEAP32[25112>>2]|0;HEAP32[$fxPause$byval_copy+4>>2]=HEAP32[25112+4>>2]|0;HEAP32[$fxPause$byval_copy+8>>2]=HEAP32[25112+8>>2]|0;HEAP32[$fxPause$byval_copy+12>>2]=HEAP32[25112+12>>2]|0;HEAP32[$fxPause$byval_copy+16>>2]=HEAP32[25112+16>>2]|0; + _UnloadTexture($fxPause$byval_copy); + ;HEAP32[$fxPause$byval_copy>>2]=HEAP32[25132>>2]|0;HEAP32[$fxPause$byval_copy+4>>2]=HEAP32[25132+4>>2]|0;HEAP32[$fxPause$byval_copy+8>>2]=HEAP32[25132+8>>2]|0;HEAP32[$fxPause$byval_copy+12>>2]=HEAP32[25132+12>>2]|0;HEAP32[$fxPause$byval_copy+16>>2]=HEAP32[25132+16>>2]|0; + _UnloadTexture($fxPause$byval_copy); + ;HEAP32[$fxPause$byval_copy>>2]=HEAP32[25152>>2]|0;HEAP32[$fxPause$byval_copy+4>>2]=HEAP32[25152+4>>2]|0;HEAP32[$fxPause$byval_copy+8>>2]=HEAP32[25152+8>>2]|0;HEAP32[$fxPause$byval_copy+12>>2]=HEAP32[25152+12>>2]|0;HEAP32[$fxPause$byval_copy+16>>2]=HEAP32[25152+16>>2]|0; + _UnloadTexture($fxPause$byval_copy); + ;HEAP32[$fxPause$byval_copy>>2]=HEAP32[25172>>2]|0;HEAP32[$fxPause$byval_copy+4>>2]=HEAP32[25172+4>>2]|0;HEAP32[$fxPause$byval_copy+8>>2]=HEAP32[25172+8>>2]|0;HEAP32[$fxPause$byval_copy+12>>2]=HEAP32[25172+12>>2]|0;HEAP32[$fxPause$byval_copy+16>>2]=HEAP32[25172+16>>2]|0; + _UnloadTexture($fxPause$byval_copy); + dest=$fxPause$byval_copy; src=25204; stop=dest+44|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _UnloadRenderTexture($fxPause$byval_copy); + ;HEAP32[$fxPause$byval_copy>>2]=HEAP32[25248>>2]|0;HEAP32[$fxPause$byval_copy+4>>2]=HEAP32[25248+4>>2]|0;HEAP32[$fxPause$byval_copy+8>>2]=HEAP32[25248+8>>2]|0; + _UnloadSound($fxPause$byval_copy); + ;HEAP32[$fxPause$byval_copy>>2]=HEAP32[25260>>2]|0;HEAP32[$fxPause$byval_copy+4>>2]=HEAP32[25260+4>>2]|0;HEAP32[$fxPause$byval_copy+8>>2]=HEAP32[25260+8>>2]|0; + _UnloadSound($fxPause$byval_copy); + ;HEAP32[$fxPause$byval_copy>>2]=HEAP32[25272>>2]|0;HEAP32[$fxPause$byval_copy+4>>2]=HEAP32[25272+4>>2]|0;HEAP32[$fxPause$byval_copy+8>>2]=HEAP32[25272+8>>2]|0; + _UnloadSound($fxPause$byval_copy); + $0 = HEAP32[6336]|0; + _free($0); + STACKTOP = sp;return; +} +function _FinishGameplayScreen() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[6266]|0; + return ($0|0); +} +function _InitEndingScreen() { + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0); + $0 = sp + 60|0; + $1 = sp + 40|0; + $2 = sp + 20|0; + $3 = sp; + HEAP32[6339] = 0; + HEAP32[6340] = 0; + _LoadTexture($0,6235); + ;HEAP32[25364>>2]=HEAP32[$0>>2]|0;HEAP32[25364+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[25364+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[25364+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[25364+16>>2]=HEAP32[$0+16>>2]|0; + _LoadTexture($1,6269); + ;HEAP32[25384>>2]=HEAP32[$1>>2]|0;HEAP32[25384+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[25384+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[25384+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[25384+16>>2]=HEAP32[$1+16>>2]|0; + _LoadTexture($2,6296); + ;HEAP32[25404>>2]=HEAP32[$2>>2]|0;HEAP32[25404+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[25404+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[25404+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[25404+16>>2]=HEAP32[$2+16>>2]|0; + _LoadTexture($3,6324); + ;HEAP32[25424>>2]=HEAP32[$3>>2]|0;HEAP32[25424+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[25424+8>>2]=HEAP32[$3+8>>2]|0;HEAP32[25424+12>>2]=HEAP32[$3+12>>2]|0;HEAP32[25424+16>>2]=HEAP32[$3+16>>2]|0; + STACKTOP = sp;return; +} +function _UpdateEndingScreen() { + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[6339]|0; + $1 = (($0) + 1)|0; + HEAP32[6339] = $1; + $2 = (_IsMouseButtonPressed(0)|0); + $3 = ($2|0)==(0); + if ($3) { + return; + } + HEAP32[6340] = 1; + return; +} +function _DrawEndingScreen() { + var $$byval_copy8 = 0, $$byval_copy9 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0.0, $23 = 0, $24 = 0; + var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0.0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0; + var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0.0, $6 = 0, $60 = 0; + var $61 = 0, $62 = 0, $7 = 0, $8 = 0, $9 = 0, $font$byval_copy7 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0); + $$byval_copy9 = sp + 120|0; + $$byval_copy8 = sp + 80|0; + $font$byval_copy7 = sp + 48|0; + $0 = sp + 44|0; + $1 = sp + 40|0; + $2 = sp + 32|0; + $3 = sp + 28|0; + $4 = sp + 24|0; + $5 = sp + 16|0; + $6 = sp + 12|0; + $7 = sp + 116|0; + $8 = sp + 112|0; + $9 = sp + 108|0; + $10 = sp + 104|0; + $11 = sp + 8|0; + $12 = sp; + $13 = sp + 100|0; + HEAP32[$0>>2] = -1; + ;HEAP32[$$byval_copy8>>2]=HEAP32[25364>>2]|0;HEAP32[$$byval_copy8+4>>2]=HEAP32[25364+4>>2]|0;HEAP32[$$byval_copy8+8>>2]=HEAP32[25364+8>>2]|0;HEAP32[$$byval_copy8+12>>2]=HEAP32[25364+12>>2]|0;HEAP32[$$byval_copy8+16>>2]=HEAP32[25364+16>>2]|0; + ;HEAP8[$$byval_copy9>>0]=HEAP8[$0>>0]|0;HEAP8[$$byval_copy9+1>>0]=HEAP8[$0+1>>0]|0;HEAP8[$$byval_copy9+2>>0]=HEAP8[$0+2>>0]|0;HEAP8[$$byval_copy9+3>>0]=HEAP8[$0+3>>0]|0; + _DrawTexture($$byval_copy8,0,0,$$byval_copy9); + $14 = HEAP32[6230]|0; + switch ($14|0) { + case 1: { + $15 = (_GetScreenWidth()|0); + $16 = (($15|0) / 2)&-1; + $17 = HEAP32[(25388)>>2]|0; + $18 = (($17|0) / 2)&-1; + $19 = (($16) - ($18))|0; + HEAP32[$1>>2] = -1; + ;HEAP32[$$byval_copy8>>2]=HEAP32[25384>>2]|0;HEAP32[$$byval_copy8+4>>2]=HEAP32[25384+4>>2]|0;HEAP32[$$byval_copy8+8>>2]=HEAP32[25384+8>>2]|0;HEAP32[$$byval_copy8+12>>2]=HEAP32[25384+12>>2]|0;HEAP32[$$byval_copy8+16>>2]=HEAP32[25384+16>>2]|0; + ;HEAP8[$$byval_copy9>>0]=HEAP8[$1>>0]|0;HEAP8[$$byval_copy9+1>>0]=HEAP8[$1+1>>0]|0;HEAP8[$$byval_copy9+2>>0]=HEAP8[$1+2>>0]|0;HEAP8[$$byval_copy9+3>>0]=HEAP8[$1+3>>0]|0; + _DrawTexture($$byval_copy8,$19,90,$$byval_copy9); + HEAPF32[$2>>2] = 200.0; + $20 = ((($2)) + 4|0); + HEAPF32[$20>>2] = 335.0; + $21 = HEAP32[(24900)>>2]|0; + $22 = (+($21|0)); + HEAP32[$3>>2] = -1; + ;HEAP32[$font$byval_copy7>>2]=HEAP32[24880>>2]|0;HEAP32[$font$byval_copy7+4>>2]=HEAP32[24880+4>>2]|0;HEAP32[$font$byval_copy7+8>>2]=HEAP32[24880+8>>2]|0;HEAP32[$font$byval_copy7+12>>2]=HEAP32[24880+12>>2]|0;HEAP32[$font$byval_copy7+16>>2]=HEAP32[24880+16>>2]|0;HEAP32[$font$byval_copy7+20>>2]=HEAP32[24880+20>>2]|0;HEAP32[$font$byval_copy7+24>>2]=HEAP32[24880+24>>2]|0;HEAP32[$font$byval_copy7+28>>2]=HEAP32[24880+28>>2]|0; + ;HEAP32[$$byval_copy8>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy8+4>>2]=HEAP32[$2+4>>2]|0; + ;HEAP8[$$byval_copy9>>0]=HEAP8[$3>>0]|0;HEAP8[$$byval_copy9+1>>0]=HEAP8[$3+1>>0]|0;HEAP8[$$byval_copy9+2>>0]=HEAP8[$3+2>>0]|0;HEAP8[$$byval_copy9+3>>0]=HEAP8[$3+3>>0]|0; + _DrawTextEx($font$byval_copy7,6359,$$byval_copy8,$22,0,$$byval_copy9); + break; + } + case 2: { + $23 = (_GetScreenWidth()|0); + $24 = (($23|0) / 2)&-1; + $25 = HEAP32[(25388)>>2]|0; + $26 = (($25|0) / 2)&-1; + $27 = (($24) - ($26))|0; + HEAP32[$4>>2] = -1; + ;HEAP32[$$byval_copy8>>2]=HEAP32[25404>>2]|0;HEAP32[$$byval_copy8+4>>2]=HEAP32[25404+4>>2]|0;HEAP32[$$byval_copy8+8>>2]=HEAP32[25404+8>>2]|0;HEAP32[$$byval_copy8+12>>2]=HEAP32[25404+12>>2]|0;HEAP32[$$byval_copy8+16>>2]=HEAP32[25404+16>>2]|0; + ;HEAP8[$$byval_copy9>>0]=HEAP8[$4>>0]|0;HEAP8[$$byval_copy9+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$$byval_copy9+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$$byval_copy9+3>>0]=HEAP8[$4+3>>0]|0; + _DrawTexture($$byval_copy8,$27,90,$$byval_copy9); + HEAPF32[$5>>2] = 205.0; + $28 = ((($5)) + 4|0); + HEAPF32[$28>>2] = 335.0; + $29 = HEAP32[(24900)>>2]|0; + $30 = (+($29|0)); + HEAP32[$6>>2] = -1; + ;HEAP32[$font$byval_copy7>>2]=HEAP32[24880>>2]|0;HEAP32[$font$byval_copy7+4>>2]=HEAP32[24880+4>>2]|0;HEAP32[$font$byval_copy7+8>>2]=HEAP32[24880+8>>2]|0;HEAP32[$font$byval_copy7+12>>2]=HEAP32[24880+12>>2]|0;HEAP32[$font$byval_copy7+16>>2]=HEAP32[24880+16>>2]|0;HEAP32[$font$byval_copy7+20>>2]=HEAP32[24880+20>>2]|0;HEAP32[$font$byval_copy7+24>>2]=HEAP32[24880+24>>2]|0;HEAP32[$font$byval_copy7+28>>2]=HEAP32[24880+28>>2]|0; + ;HEAP32[$$byval_copy8>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy8+4>>2]=HEAP32[$5+4>>2]|0; + ;HEAP8[$$byval_copy9>>0]=HEAP8[$6>>0]|0;HEAP8[$$byval_copy9+1>>0]=HEAP8[$6+1>>0]|0;HEAP8[$$byval_copy9+2>>0]=HEAP8[$6+2>>0]|0;HEAP8[$$byval_copy9+3>>0]=HEAP8[$6+3>>0]|0; + _DrawTextEx($font$byval_copy7,6387,$$byval_copy8,$30,0,$$byval_copy9); + break; + } + default: { + } + } + $31 = (_GetScreenHeight()|0); + $32 = (($31) + -70)|0; + HEAP8[$8>>0] = -11; + $33 = ((($8)) + 1|0); + HEAP8[$33>>0] = -11; + $34 = ((($8)) + 2|0); + HEAP8[$34>>0] = -11; + $35 = ((($8)) + 3|0); + HEAP8[$35>>0] = -1; + ;HEAP8[$$byval_copy9>>0]=HEAP8[$8>>0]|0;HEAP8[$$byval_copy9+1>>0]=HEAP8[$8+1>>0]|0;HEAP8[$$byval_copy9+2>>0]=HEAP8[$8+2>>0]|0;HEAP8[$$byval_copy9+3>>0]=HEAP8[$8+3>>0]|0; + _Fade($7,$$byval_copy9,0.80000001192092896); + ;HEAP8[$$byval_copy9>>0]=HEAP8[$7>>0]|0;HEAP8[$$byval_copy9+1>>0]=HEAP8[$7+1>>0]|0;HEAP8[$$byval_copy9+2>>0]=HEAP8[$7+2>>0]|0;HEAP8[$$byval_copy9+3>>0]=HEAP8[$7+3>>0]|0; + _DrawRectangle(0,$32,560,40,$$byval_copy9); + $36 = (_GetScreenHeight()|0); + $37 = (($36) + -60)|0; + HEAP8[$9>>0] = 0; + $38 = ((($9)) + 1|0); + HEAP8[$38>>0] = 82; + $39 = ((($9)) + 2|0); + HEAP8[$39>>0] = -84; + $40 = ((($9)) + 3|0); + HEAP8[$40>>0] = -1; + ;HEAP8[$$byval_copy9>>0]=HEAP8[$9>>0]|0;HEAP8[$$byval_copy9+1>>0]=HEAP8[$9+1>>0]|0;HEAP8[$$byval_copy9+2>>0]=HEAP8[$9+2>>0]|0;HEAP8[$$byval_copy9+3>>0]=HEAP8[$9+3>>0]|0; + _DrawText(6417,36,$37,20,$$byval_copy9); + $41 = (_GetScreenWidth()|0); + $42 = (($41) + -162)|0; + $43 = (_GetScreenHeight()|0); + $44 = (($43) + -190)|0; + HEAP8[$10>>0] = 80; + $45 = ((($10)) + 1|0); + HEAP8[$45>>0] = 80; + $46 = ((($10)) + 2|0); + HEAP8[$46>>0] = 80; + $47 = ((($10)) + 3|0); + HEAP8[$47>>0] = -1; + ;HEAP8[$$byval_copy9>>0]=HEAP8[$10>>0]|0;HEAP8[$$byval_copy9+1>>0]=HEAP8[$10+1>>0]|0;HEAP8[$$byval_copy9+2>>0]=HEAP8[$10+2>>0]|0;HEAP8[$$byval_copy9+3>>0]=HEAP8[$10+3>>0]|0; + _DrawText(6462,$42,$44,20,$$byval_copy9); + $48 = (_GetScreenWidth()|0); + $49 = (($48) + -162)|0; + $50 = (_GetScreenHeight()|0); + $51 = (($50) + -164)|0; + HEAP32[$11>>2] = -1; + ;HEAP32[$$byval_copy8>>2]=HEAP32[25424>>2]|0;HEAP32[$$byval_copy8+4>>2]=HEAP32[25424+4>>2]|0;HEAP32[$$byval_copy8+8>>2]=HEAP32[25424+8>>2]|0;HEAP32[$$byval_copy8+12>>2]=HEAP32[25424+12>>2]|0;HEAP32[$$byval_copy8+16>>2]=HEAP32[25424+16>>2]|0; + ;HEAP8[$$byval_copy9>>0]=HEAP8[$11>>0]|0;HEAP8[$$byval_copy9+1>>0]=HEAP8[$11+1>>0]|0;HEAP8[$$byval_copy9+2>>0]=HEAP8[$11+2>>0]|0;HEAP8[$$byval_copy9+3>>0]=HEAP8[$11+3>>0]|0; + _DrawTexture($$byval_copy8,$49,$51,$$byval_copy9); + $52 = HEAP32[6339]|0; + $53 = ($52|0)>(80); + if (!($53)) { + STACKTOP = sp;return; + } + $54 = (($52>>>0) / 40)&-1; + $55 = $54 & 1; + $56 = ($55|0)==(0); + if ($56) { + STACKTOP = sp;return; + } + HEAPF32[$12>>2] = 300.0; + $57 = ((($12)) + 4|0); + HEAPF32[$57>>2] = 464.0; + $58 = HEAP32[(24900)>>2]|0; + $59 = (+($58|0)); + HEAP8[$13>>0] = 102; + $60 = ((($13)) + 1|0); + HEAP8[$60>>0] = -65; + $61 = ((($13)) + 2|0); + HEAP8[$61>>0] = -1; + $62 = ((($13)) + 3|0); + HEAP8[$62>>0] = -1; + ;HEAP32[$font$byval_copy7>>2]=HEAP32[24880>>2]|0;HEAP32[$font$byval_copy7+4>>2]=HEAP32[24880+4>>2]|0;HEAP32[$font$byval_copy7+8>>2]=HEAP32[24880+8>>2]|0;HEAP32[$font$byval_copy7+12>>2]=HEAP32[24880+12>>2]|0;HEAP32[$font$byval_copy7+16>>2]=HEAP32[24880+16>>2]|0;HEAP32[$font$byval_copy7+20>>2]=HEAP32[24880+20>>2]|0;HEAP32[$font$byval_copy7+24>>2]=HEAP32[24880+24>>2]|0;HEAP32[$font$byval_copy7+28>>2]=HEAP32[24880+28>>2]|0; + ;HEAP32[$$byval_copy8>>2]=HEAP32[$12>>2]|0;HEAP32[$$byval_copy8+4>>2]=HEAP32[$12+4>>2]|0; + ;HEAP8[$$byval_copy9>>0]=HEAP8[$13>>0]|0;HEAP8[$$byval_copy9+1>>0]=HEAP8[$13+1>>0]|0;HEAP8[$$byval_copy9+2>>0]=HEAP8[$13+2>>0]|0;HEAP8[$$byval_copy9+3>>0]=HEAP8[$13+3>>0]|0; + _DrawTextEx($font$byval_copy7,6473,$$byval_copy8,$59,0,$$byval_copy9); + STACKTOP = sp;return; +} +function _UnloadEndingScreen() { + var $texLogo$58$byval_copy = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $texLogo$58$byval_copy = sp; + ;HEAP32[$texLogo$58$byval_copy>>2]=HEAP32[25364>>2]|0;HEAP32[$texLogo$58$byval_copy+4>>2]=HEAP32[25364+4>>2]|0;HEAP32[$texLogo$58$byval_copy+8>>2]=HEAP32[25364+8>>2]|0;HEAP32[$texLogo$58$byval_copy+12>>2]=HEAP32[25364+12>>2]|0;HEAP32[$texLogo$58$byval_copy+16>>2]=HEAP32[25364+16>>2]|0; + _UnloadTexture($texLogo$58$byval_copy); + ;HEAP32[$texLogo$58$byval_copy>>2]=HEAP32[25384>>2]|0;HEAP32[$texLogo$58$byval_copy+4>>2]=HEAP32[25384+4>>2]|0;HEAP32[$texLogo$58$byval_copy+8>>2]=HEAP32[25384+8>>2]|0;HEAP32[$texLogo$58$byval_copy+12>>2]=HEAP32[25384+12>>2]|0;HEAP32[$texLogo$58$byval_copy+16>>2]=HEAP32[25384+16>>2]|0; + _UnloadTexture($texLogo$58$byval_copy); + ;HEAP32[$texLogo$58$byval_copy>>2]=HEAP32[25404>>2]|0;HEAP32[$texLogo$58$byval_copy+4>>2]=HEAP32[25404+4>>2]|0;HEAP32[$texLogo$58$byval_copy+8>>2]=HEAP32[25404+8>>2]|0;HEAP32[$texLogo$58$byval_copy+12>>2]=HEAP32[25404+12>>2]|0;HEAP32[$texLogo$58$byval_copy+16>>2]=HEAP32[25404+16>>2]|0; + _UnloadTexture($texLogo$58$byval_copy); + ;HEAP32[$texLogo$58$byval_copy>>2]=HEAP32[25424>>2]|0;HEAP32[$texLogo$58$byval_copy+4>>2]=HEAP32[25424+4>>2]|0;HEAP32[$texLogo$58$byval_copy+8>>2]=HEAP32[25424+8>>2]|0;HEAP32[$texLogo$58$byval_copy+12>>2]=HEAP32[25424+12>>2]|0;HEAP32[$texLogo$58$byval_copy+16>>2]=HEAP32[25424+16>>2]|0; + _UnloadTexture($texLogo$58$byval_copy); + STACKTOP = sp;return; +} +function _FinishEndingScreen() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[6340]|0; + return ($0|0); +} +function _Vector2Distance($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[$0>>2]; + $3 = +HEAPF32[$1>>2]; + $4 = $2 - $3; + $5 = $4 * $4; + $6 = ((($0)) + 4|0); + $7 = +HEAPF32[$6>>2]; + $8 = ((($1)) + 4|0); + $9 = +HEAPF32[$8>>2]; + $10 = $7 - $9; + $11 = $10 * $10; + $12 = $5 + $11; + $13 = (+Math_sqrt((+$12))); + return (+$13); +} +function _Vector2Angle($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($1)) + 4|0); + $3 = +HEAPF32[$2>>2]; + $4 = ((($0)) + 4|0); + $5 = +HEAPF32[$4>>2]; + $6 = $3 - $5; + $7 = +HEAPF32[$1>>2]; + $8 = +HEAPF32[$0>>2]; + $9 = $7 - $8; + $10 = (+Math_atan2((+$6),(+$9))); + $11 = $10 * 57.2957763671875; + $12 = $11 < 0.0; + $13 = $11 + 360.0; + $$0 = $12 ? $13 : $11; + return (+$$0); +} +function _VectorZero($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = 0.0; + $1 = ((($0)) + 4|0); + HEAPF32[$1>>2] = 0.0; + $2 = ((($0)) + 8|0); + HEAPF32[$2>>2] = 0.0; + return; +} +function _VectorLength($0) { + $0 = $0|0; + var $1 = 0.0, $10 = 0.0, $11 = 0.0, $2 = 0.0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $1 = +HEAPF32[$0>>2]; + $2 = $1 * $1; + $3 = ((($0)) + 4|0); + $4 = +HEAPF32[$3>>2]; + $5 = $4 * $4; + $6 = $2 + $5; + $7 = ((($0)) + 8|0); + $8 = +HEAPF32[$7>>2]; + $9 = $8 * $8; + $10 = $6 + $9; + $11 = (+Math_sqrt((+$10))); + return (+$11); +} +function _VectorNormalize($0) { + $0 = $0|0; + var $$byval_copy = 0, $$op = 0.0, $1 = 0.0, $10 = 0.0, $11 = 0.0, $2 = 0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0.0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $$byval_copy = sp; + ;HEAP32[$$byval_copy>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$0+8>>2]|0; + $1 = (+_VectorLength($$byval_copy)); + $2 = $1 == 0.0; + $$op = 1.0 / $1; + $3 = $2 ? 1.0 : $$op; + $4 = +HEAPF32[$0>>2]; + $5 = $4 * $3; + HEAPF32[$0>>2] = $5; + $6 = ((($0)) + 4|0); + $7 = +HEAPF32[$6>>2]; + $8 = $3 * $7; + HEAPF32[$6>>2] = $8; + $9 = ((($0)) + 8|0); + $10 = +HEAPF32[$9>>2]; + $11 = $3 * $10; + HEAPF32[$9>>2] = $11; + STACKTOP = sp;return; +} +function _VectorTransform($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0, $18 = 0.0, $19 = 0.0, $2 = 0.0, $20 = 0, $21 = 0.0, $22 = 0.0, $23 = 0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0, $28 = 0.0; + var $29 = 0.0, $3 = 0, $30 = 0.0, $31 = 0, $32 = 0.0, $33 = 0.0, $34 = 0, $35 = 0.0, $36 = 0.0, $37 = 0, $38 = 0.0, $39 = 0.0, $4 = 0.0, $40 = 0.0, $41 = 0, $42 = 0.0, $43 = 0.0, $44 = 0.0, $45 = 0, $46 = 0.0; + var $47 = 0.0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[$0>>2]; + $3 = ((($0)) + 4|0); + $4 = +HEAPF32[$3>>2]; + $5 = ((($0)) + 8|0); + $6 = +HEAPF32[$5>>2]; + $7 = +HEAPF32[$1>>2]; + $8 = $2 * $7; + $9 = ((($1)) + 4|0); + $10 = +HEAPF32[$9>>2]; + $11 = $4 * $10; + $12 = $8 + $11; + $13 = ((($1)) + 8|0); + $14 = +HEAPF32[$13>>2]; + $15 = $6 * $14; + $16 = $12 + $15; + $17 = ((($1)) + 12|0); + $18 = +HEAPF32[$17>>2]; + $19 = $18 + $16; + HEAPF32[$0>>2] = $19; + $20 = ((($1)) + 16|0); + $21 = +HEAPF32[$20>>2]; + $22 = $2 * $21; + $23 = ((($1)) + 20|0); + $24 = +HEAPF32[$23>>2]; + $25 = $4 * $24; + $26 = $22 + $25; + $27 = ((($1)) + 24|0); + $28 = +HEAPF32[$27>>2]; + $29 = $6 * $28; + $30 = $26 + $29; + $31 = ((($1)) + 28|0); + $32 = +HEAPF32[$31>>2]; + $33 = $32 + $30; + HEAPF32[$3>>2] = $33; + $34 = ((($1)) + 32|0); + $35 = +HEAPF32[$34>>2]; + $36 = $2 * $35; + $37 = ((($1)) + 36|0); + $38 = +HEAPF32[$37>>2]; + $39 = $4 * $38; + $40 = $36 + $39; + $41 = ((($1)) + 40|0); + $42 = +HEAPF32[$41>>2]; + $43 = $6 * $42; + $44 = $40 + $43; + $45 = ((($1)) + 44|0); + $46 = +HEAPF32[$45>>2]; + $47 = $46 + $44; + HEAPF32[$5>>2] = $47; + return; +} +function _MatrixTranspose($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0, $5 = 0; + var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 4|0); + $2 = HEAP32[$1>>2]|0; + $3 = ((($0)) + 8|0); + $4 = HEAP32[$3>>2]|0; + $5 = ((($0)) + 12|0); + $6 = HEAP32[$5>>2]|0; + $7 = ((($0)) + 16|0); + $8 = HEAP32[$7>>2]|0; + $9 = ((($0)) + 24|0); + $10 = HEAP32[$9>>2]|0; + $11 = ((($0)) + 28|0); + $12 = HEAP32[$11>>2]|0; + $13 = ((($0)) + 32|0); + $14 = HEAP32[$13>>2]|0; + $15 = ((($0)) + 36|0); + $16 = HEAP32[$15>>2]|0; + $17 = ((($0)) + 44|0); + $18 = HEAP32[$17>>2]|0; + $19 = ((($0)) + 48|0); + $20 = HEAP32[$19>>2]|0; + $21 = ((($0)) + 52|0); + $22 = HEAP32[$21>>2]|0; + $23 = ((($0)) + 56|0); + $24 = HEAP32[$23>>2]|0; + HEAP32[$1>>2] = $8; + HEAP32[$3>>2] = $14; + HEAP32[$5>>2] = $20; + HEAP32[$7>>2] = $2; + HEAP32[$9>>2] = $16; + HEAP32[$11>>2] = $22; + HEAP32[$13>>2] = $4; + HEAP32[$15>>2] = $10; + HEAP32[$17>>2] = $24; + HEAP32[$19>>2] = $6; + HEAP32[$21>>2] = $12; + HEAP32[$23>>2] = $18; + return; +} +function _MatrixIdentity($0) { + $0 = $0|0; + var $$sroa$5$0$$sroa_idx = 0, $$sroa$55$0$$sroa_idx6 = 0, $$sroa$6$0$$sroa_idx = 0, $$sroa$611$0$$sroa_idx12 = 0, $$sroa$7$0$$sroa_idx = 0, $$sroa$717$0$$sroa_idx18 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = 1.0; + $$sroa$5$0$$sroa_idx = ((($0)) + 4|0); + ;HEAP32[$$sroa$5$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+12>>2]=0|0; + $$sroa$55$0$$sroa_idx6 = ((($0)) + 20|0); + HEAPF32[$$sroa$55$0$$sroa_idx6>>2] = 1.0; + $$sroa$6$0$$sroa_idx = ((($0)) + 24|0); + ;HEAP32[$$sroa$6$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+12>>2]=0|0; + $$sroa$611$0$$sroa_idx12 = ((($0)) + 40|0); + HEAPF32[$$sroa$611$0$$sroa_idx12>>2] = 1.0; + $$sroa$7$0$$sroa_idx = ((($0)) + 44|0); + ;HEAP32[$$sroa$7$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+12>>2]=0|0; + $$sroa$717$0$$sroa_idx18 = ((($0)) + 60|0); + HEAPF32[$$sroa$717$0$$sroa_idx18>>2] = 1.0; + return; +} +function _MatrixTranslate($0,$1,$2,$3) { + $0 = $0|0; + $1 = +$1; + $2 = +$2; + $3 = +$3; + var $$sroa$13$0$$sroa_idx20 = 0, $$sroa$14$0$$sroa_idx22 = 0, $$sroa$15$0$$sroa_idx24 = 0, $$sroa$16$0$$sroa_idx26 = 0, $$sroa$17$0$$sroa_idx28 = 0, $$sroa$18$0$$sroa_idx30 = 0, $$sroa$4$0$$sroa_idx2 = 0, $$sroa$8$0$$sroa_idx10 = 0, $$sroa$9$0$$sroa_idx12 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = 1.0; + $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); + $$sroa$8$0$$sroa_idx10 = ((($0)) + 20|0); + ;HEAP32[$$sroa$4$0$$sroa_idx2>>2]=0|0;HEAP32[$$sroa$4$0$$sroa_idx2+4>>2]=0|0;HEAP32[$$sroa$4$0$$sroa_idx2+8>>2]=0|0;HEAP32[$$sroa$4$0$$sroa_idx2+12>>2]=0|0; + HEAPF32[$$sroa$8$0$$sroa_idx10>>2] = 1.0; + $$sroa$9$0$$sroa_idx12 = ((($0)) + 24|0); + $$sroa$13$0$$sroa_idx20 = ((($0)) + 40|0); + ;HEAP32[$$sroa$9$0$$sroa_idx12>>2]=0|0;HEAP32[$$sroa$9$0$$sroa_idx12+4>>2]=0|0;HEAP32[$$sroa$9$0$$sroa_idx12+8>>2]=0|0;HEAP32[$$sroa$9$0$$sroa_idx12+12>>2]=0|0; + HEAPF32[$$sroa$13$0$$sroa_idx20>>2] = 1.0; + $$sroa$14$0$$sroa_idx22 = ((($0)) + 44|0); + HEAPF32[$$sroa$14$0$$sroa_idx22>>2] = 0.0; + $$sroa$15$0$$sroa_idx24 = ((($0)) + 48|0); + HEAPF32[$$sroa$15$0$$sroa_idx24>>2] = $1; + $$sroa$16$0$$sroa_idx26 = ((($0)) + 52|0); + HEAPF32[$$sroa$16$0$$sroa_idx26>>2] = $2; + $$sroa$17$0$$sroa_idx28 = ((($0)) + 56|0); + HEAPF32[$$sroa$17$0$$sroa_idx28>>2] = $3; + $$sroa$18$0$$sroa_idx30 = ((($0)) + 60|0); + HEAPF32[$$sroa$18$0$$sroa_idx30>>2] = 1.0; + return; +} +function _MatrixRotate($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = +$2; + var $$ = 0.0, $$221 = 0.0, $$222 = 0.0, $$sroa$10$0$$sroa_idx199 = 0, $$sroa$11$0$$sroa_idx201 = 0, $$sroa$12$0$$sroa_idx203 = 0, $$sroa$13$0$$sroa_idx205 = 0, $$sroa$14$0$$sroa_idx207 = 0, $$sroa$15$0$$sroa_idx209 = 0, $$sroa$16$0$$sroa_idx211 = 0, $$sroa$17$0$$sroa_idx213 = 0, $$sroa$18$0$$sroa_idx215 = 0, $$sroa$4$0$$sroa_idx187 = 0, $$sroa$5$0$$sroa_idx189 = 0, $$sroa$6$0$$sroa_idx191 = 0, $$sroa$7$0$$sroa_idx193 = 0, $$sroa$8$0$$sroa_idx195 = 0, $$sroa$9$0$$sroa_idx197 = 0, $10 = 0.0, $100 = 0.0; + var $101 = 0.0, $102 = 0.0, $103 = 0.0, $104 = 0.0, $105 = 0.0, $106 = 0.0, $107 = 0.0, $108 = 0.0, $109 = 0.0, $11 = 0.0, $110 = 0.0, $111 = 0.0, $112 = 0.0, $113 = 0.0, $114 = 0.0, $115 = 0.0, $116 = 0.0, $117 = 0.0, $118 = 0.0, $119 = 0.0; + var $12 = 0.0, $120 = 0.0, $121 = 0.0, $122 = 0.0, $123 = 0.0, $124 = 0.0, $125 = 0.0, $126 = 0.0, $127 = 0.0, $128 = 0.0, $129 = 0.0, $13 = 0.0, $130 = 0.0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0; + var $138 = 0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0, $26 = 0.0, $27 = 0, $28 = 0.0, $29 = 0, $3 = 0, $30 = 0.0, $31 = 0; + var $32 = 0.0, $33 = 0, $34 = 0.0, $35 = 0, $36 = 0.0, $37 = 0, $38 = 0.0, $39 = 0, $4 = 0.0, $40 = 0.0, $41 = 0, $42 = 0.0, $43 = 0, $44 = 0.0, $45 = 0, $46 = 0.0, $47 = 0.0, $48 = 0.0, $49 = 0.0, $5 = 0; + var $50 = 0.0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0.0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0.0, $60 = 0.0, $61 = 0.0, $62 = 0.0, $63 = 0.0, $64 = 0.0, $65 = 0.0, $66 = 0.0, $67 = 0.0, $68 = 0.0; + var $69 = 0.0, $7 = 0, $70 = 0.0, $71 = 0.0, $72 = 0.0, $73 = 0.0, $74 = 0.0, $75 = 0.0, $76 = 0.0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0.0, $80 = 0.0, $81 = 0.0, $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0.0, $86 = 0.0; + var $87 = 0.0, $88 = 0.0, $89 = 0.0, $9 = 0.0, $90 = 0.0, $91 = 0.0, $92 = 0.0, $93 = 0.0, $94 = 0.0, $95 = 0.0, $96 = 0.0, $97 = 0.0, $98 = 0.0, $99 = 0.0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $3 = sp; + _MatrixIdentity($3); + $4 = +HEAPF32[$1>>2]; + $5 = ((($1)) + 4|0); + $6 = +HEAPF32[$5>>2]; + $7 = ((($1)) + 8|0); + $8 = +HEAPF32[$7>>2]; + $9 = $4 * $4; + $10 = $6 * $6; + $11 = $9 + $10; + $12 = $8 * $8; + $13 = $11 + $12; + $14 = (+Math_sqrt((+$13))); + $15 = $14 != 1.0; + $16 = $14 != 0.0; + $or$cond = $15 & $16; + $17 = 1.0 / $14; + $18 = $4 * $17; + $19 = $6 * $17; + $20 = $8 * $17; + $$ = $or$cond ? $20 : $8; + $$221 = $or$cond ? $19 : $6; + $$222 = $or$cond ? $18 : $4; + $21 = (+Math_sin((+$2))); + $22 = (+Math_cos((+$2))); + $23 = 1.0 - $22; + $24 = +HEAPF32[$3>>2]; + $25 = ((($3)) + 16|0); + $26 = +HEAPF32[$25>>2]; + $27 = ((($3)) + 32|0); + $28 = +HEAPF32[$27>>2]; + $29 = ((($3)) + 48|0); + $30 = +HEAPF32[$29>>2]; + $31 = ((($3)) + 4|0); + $32 = +HEAPF32[$31>>2]; + $33 = ((($3)) + 20|0); + $34 = +HEAPF32[$33>>2]; + $35 = ((($3)) + 36|0); + $36 = +HEAPF32[$35>>2]; + $37 = ((($3)) + 52|0); + $38 = +HEAPF32[$37>>2]; + $39 = ((($3)) + 8|0); + $40 = +HEAPF32[$39>>2]; + $41 = ((($3)) + 24|0); + $42 = +HEAPF32[$41>>2]; + $43 = ((($3)) + 40|0); + $44 = +HEAPF32[$43>>2]; + $45 = ((($3)) + 56|0); + $46 = +HEAPF32[$45>>2]; + $47 = $$222 * $$222; + $48 = $23 * $47; + $49 = $22 + $48; + $50 = $$221 * $$222; + $51 = $23 * $50; + $52 = $21 * $$; + $53 = $52 + $51; + $54 = $$ * $$222; + $55 = $23 * $54; + $56 = $21 * $$221; + $57 = $55 - $56; + $58 = $51 - $52; + $59 = $$221 * $$221; + $60 = $23 * $59; + $61 = $22 + $60; + $62 = $$ * $$221; + $63 = $23 * $62; + $64 = $21 * $$222; + $65 = $64 + $63; + $66 = $56 + $55; + $67 = $63 - $64; + $68 = $$ * $$; + $69 = $23 * $68; + $70 = $22 + $69; + $71 = $24 * $49; + $72 = $53 * $32; + $73 = $71 + $72; + $74 = $57 * $40; + $75 = $73 + $74; + $76 = $26 * $49; + $77 = $53 * $34; + $78 = $76 + $77; + $79 = $57 * $42; + $80 = $78 + $79; + $81 = $28 * $49; + $82 = $53 * $36; + $83 = $81 + $82; + $84 = $57 * $44; + $85 = $83 + $84; + $86 = $30 * $49; + $87 = $53 * $38; + $88 = $86 + $87; + $89 = $57 * $46; + $90 = $88 + $89; + $91 = $24 * $58; + $92 = $61 * $32; + $93 = $91 + $92; + $94 = $65 * $40; + $95 = $93 + $94; + $96 = $26 * $58; + $97 = $61 * $34; + $98 = $96 + $97; + $99 = $65 * $42; + $100 = $98 + $99; + $101 = $28 * $58; + $102 = $61 * $36; + $103 = $101 + $102; + $104 = $65 * $44; + $105 = $103 + $104; + $106 = $30 * $58; + $107 = $61 * $38; + $108 = $106 + $107; + $109 = $65 * $46; + $110 = $108 + $109; + $111 = $24 * $66; + $112 = $67 * $32; + $113 = $111 + $112; + $114 = $70 * $40; + $115 = $113 + $114; + $116 = $26 * $66; + $117 = $67 * $34; + $118 = $116 + $117; + $119 = $70 * $42; + $120 = $118 + $119; + $121 = $28 * $66; + $122 = $67 * $36; + $123 = $121 + $122; + $124 = $70 * $44; + $125 = $123 + $124; + $126 = $30 * $66; + $127 = $67 * $38; + $128 = $126 + $127; + $129 = $70 * $46; + $130 = $128 + $129; + $131 = ((($3)) + 12|0); + $132 = HEAP32[$131>>2]|0; + $133 = ((($3)) + 28|0); + $134 = HEAP32[$133>>2]|0; + $135 = ((($3)) + 44|0); + $136 = HEAP32[$135>>2]|0; + $137 = ((($3)) + 60|0); + $138 = HEAP32[$137>>2]|0; + HEAPF32[$0>>2] = $75; + $$sroa$4$0$$sroa_idx187 = ((($0)) + 4|0); + HEAPF32[$$sroa$4$0$$sroa_idx187>>2] = $95; + $$sroa$5$0$$sroa_idx189 = ((($0)) + 8|0); + HEAPF32[$$sroa$5$0$$sroa_idx189>>2] = $115; + $$sroa$6$0$$sroa_idx191 = ((($0)) + 12|0); + HEAP32[$$sroa$6$0$$sroa_idx191>>2] = $132; + $$sroa$7$0$$sroa_idx193 = ((($0)) + 16|0); + HEAPF32[$$sroa$7$0$$sroa_idx193>>2] = $80; + $$sroa$8$0$$sroa_idx195 = ((($0)) + 20|0); + HEAPF32[$$sroa$8$0$$sroa_idx195>>2] = $100; + $$sroa$9$0$$sroa_idx197 = ((($0)) + 24|0); + HEAPF32[$$sroa$9$0$$sroa_idx197>>2] = $120; + $$sroa$10$0$$sroa_idx199 = ((($0)) + 28|0); + HEAP32[$$sroa$10$0$$sroa_idx199>>2] = $134; + $$sroa$11$0$$sroa_idx201 = ((($0)) + 32|0); + HEAPF32[$$sroa$11$0$$sroa_idx201>>2] = $85; + $$sroa$12$0$$sroa_idx203 = ((($0)) + 36|0); + HEAPF32[$$sroa$12$0$$sroa_idx203>>2] = $105; + $$sroa$13$0$$sroa_idx205 = ((($0)) + 40|0); + HEAPF32[$$sroa$13$0$$sroa_idx205>>2] = $125; + $$sroa$14$0$$sroa_idx207 = ((($0)) + 44|0); + HEAP32[$$sroa$14$0$$sroa_idx207>>2] = $136; + $$sroa$15$0$$sroa_idx209 = ((($0)) + 48|0); + HEAPF32[$$sroa$15$0$$sroa_idx209>>2] = $90; + $$sroa$16$0$$sroa_idx211 = ((($0)) + 52|0); + HEAPF32[$$sroa$16$0$$sroa_idx211>>2] = $110; + $$sroa$17$0$$sroa_idx213 = ((($0)) + 56|0); + HEAPF32[$$sroa$17$0$$sroa_idx213>>2] = $130; + $$sroa$18$0$$sroa_idx215 = ((($0)) + 60|0); + HEAP32[$$sroa$18$0$$sroa_idx215>>2] = $138; + STACKTOP = sp;return; +} +function _MatrixScale($0,$1,$2,$3) { + $0 = $0|0; + $1 = +$1; + $2 = +$2; + $3 = +$3; + var $$sroa$5$0$$sroa_idx = 0, $$sroa$55$0$$sroa_idx6 = 0, $$sroa$6$0$$sroa_idx = 0, $$sroa$611$0$$sroa_idx12 = 0, $$sroa$7$0$$sroa_idx = 0, $$sroa$717$0$$sroa_idx18 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = $1; + $$sroa$5$0$$sroa_idx = ((($0)) + 4|0); + ;HEAP32[$$sroa$5$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+12>>2]=0|0; + $$sroa$55$0$$sroa_idx6 = ((($0)) + 20|0); + HEAPF32[$$sroa$55$0$$sroa_idx6>>2] = $2; + $$sroa$6$0$$sroa_idx = ((($0)) + 24|0); + ;HEAP32[$$sroa$6$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+12>>2]=0|0; + $$sroa$611$0$$sroa_idx12 = ((($0)) + 40|0); + HEAPF32[$$sroa$611$0$$sroa_idx12>>2] = $3; + $$sroa$7$0$$sroa_idx = ((($0)) + 44|0); + ;HEAP32[$$sroa$7$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+12>>2]=0|0; + $$sroa$717$0$$sroa_idx18 = ((($0)) + 60|0); + HEAPF32[$$sroa$717$0$$sroa_idx18>>2] = 1.0; + return; +} +function _MatrixMultiply($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$sroa$10$0$$sroa_idx14 = 0, $$sroa$11$0$$sroa_idx16 = 0, $$sroa$12$0$$sroa_idx18 = 0, $$sroa$13$0$$sroa_idx20 = 0, $$sroa$14$0$$sroa_idx22 = 0, $$sroa$15$0$$sroa_idx24 = 0, $$sroa$16$0$$sroa_idx26 = 0, $$sroa$17$0$$sroa_idx28 = 0, $$sroa$18$0$$sroa_idx30 = 0, $$sroa$4$0$$sroa_idx2 = 0, $$sroa$5$0$$sroa_idx4 = 0, $$sroa$6$0$$sroa_idx6 = 0, $$sroa$7$0$$sroa_idx8 = 0, $$sroa$8$0$$sroa_idx10 = 0, $$sroa$9$0$$sroa_idx12 = 0, $10 = 0.0, $100 = 0.0, $101 = 0.0, $102 = 0.0, $103 = 0.0; + var $104 = 0.0, $105 = 0, $106 = 0.0, $107 = 0.0, $108 = 0, $109 = 0.0, $11 = 0.0, $110 = 0.0, $111 = 0.0, $112 = 0, $113 = 0.0, $114 = 0.0, $115 = 0.0, $116 = 0, $117 = 0.0, $118 = 0.0, $119 = 0.0, $12 = 0, $120 = 0.0, $121 = 0.0; + var $122 = 0.0, $123 = 0.0, $124 = 0.0, $125 = 0.0, $126 = 0.0, $127 = 0.0, $128 = 0.0, $129 = 0.0, $13 = 0.0, $130 = 0.0, $131 = 0.0, $132 = 0.0, $133 = 0.0, $134 = 0.0, $135 = 0.0, $136 = 0.0, $137 = 0.0, $138 = 0.0, $139 = 0.0, $14 = 0; + var $140 = 0.0, $141 = 0, $142 = 0.0, $143 = 0.0, $144 = 0, $145 = 0.0, $146 = 0.0, $147 = 0.0, $148 = 0, $149 = 0.0, $15 = 0.0, $150 = 0.0, $151 = 0.0, $152 = 0, $153 = 0.0, $154 = 0.0, $155 = 0.0, $156 = 0.0, $157 = 0.0, $158 = 0.0; + var $159 = 0.0, $16 = 0.0, $160 = 0.0, $161 = 0.0, $162 = 0.0, $163 = 0.0, $164 = 0.0, $165 = 0.0, $166 = 0.0, $167 = 0.0, $168 = 0.0, $169 = 0.0, $17 = 0.0, $170 = 0.0, $171 = 0.0, $172 = 0.0, $173 = 0.0, $174 = 0.0, $175 = 0.0, $176 = 0.0; + var $18 = 0, $19 = 0.0, $20 = 0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0, $25 = 0.0, $26 = 0.0, $27 = 0, $28 = 0.0, $29 = 0.0, $3 = 0.0, $30 = 0.0, $31 = 0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0, $36 = 0.0; + var $37 = 0.0, $38 = 0.0, $39 = 0, $4 = 0.0, $40 = 0.0, $41 = 0.0, $42 = 0, $43 = 0.0, $44 = 0.0, $45 = 0.0, $46 = 0, $47 = 0.0, $48 = 0.0, $49 = 0.0, $5 = 0.0, $50 = 0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0; + var $55 = 0.0, $56 = 0.0, $57 = 0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0.0, $61 = 0, $62 = 0.0, $63 = 0.0, $64 = 0.0, $65 = 0, $66 = 0.0, $67 = 0.0, $68 = 0.0, $69 = 0, $7 = 0.0, $70 = 0.0, $71 = 0.0, $72 = 0; + var $73 = 0.0, $74 = 0.0, $75 = 0.0, $76 = 0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0, $80 = 0, $81 = 0.0, $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0.0, $86 = 0.0, $87 = 0.0, $88 = 0.0, $89 = 0.0, $9 = 0.0, $90 = 0.0; + var $91 = 0.0, $92 = 0.0, $93 = 0.0, $94 = 0.0, $95 = 0.0, $96 = 0.0, $97 = 0.0, $98 = 0.0, $99 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $3 = +HEAPF32[$2>>2]; + $4 = +HEAPF32[$1>>2]; + $5 = $3 * $4; + $6 = ((($2)) + 16|0); + $7 = +HEAPF32[$6>>2]; + $8 = ((($1)) + 4|0); + $9 = +HEAPF32[$8>>2]; + $10 = $7 * $9; + $11 = $5 + $10; + $12 = ((($2)) + 32|0); + $13 = +HEAPF32[$12>>2]; + $14 = ((($1)) + 8|0); + $15 = +HEAPF32[$14>>2]; + $16 = $13 * $15; + $17 = $11 + $16; + $18 = ((($2)) + 48|0); + $19 = +HEAPF32[$18>>2]; + $20 = ((($1)) + 12|0); + $21 = +HEAPF32[$20>>2]; + $22 = $19 * $21; + $23 = $17 + $22; + $24 = ((($1)) + 16|0); + $25 = +HEAPF32[$24>>2]; + $26 = $3 * $25; + $27 = ((($1)) + 20|0); + $28 = +HEAPF32[$27>>2]; + $29 = $7 * $28; + $30 = $26 + $29; + $31 = ((($1)) + 24|0); + $32 = +HEAPF32[$31>>2]; + $33 = $13 * $32; + $34 = $30 + $33; + $35 = ((($1)) + 28|0); + $36 = +HEAPF32[$35>>2]; + $37 = $19 * $36; + $38 = $34 + $37; + $39 = ((($1)) + 32|0); + $40 = +HEAPF32[$39>>2]; + $41 = $3 * $40; + $42 = ((($1)) + 36|0); + $43 = +HEAPF32[$42>>2]; + $44 = $7 * $43; + $45 = $41 + $44; + $46 = ((($1)) + 40|0); + $47 = +HEAPF32[$46>>2]; + $48 = $13 * $47; + $49 = $45 + $48; + $50 = ((($1)) + 44|0); + $51 = +HEAPF32[$50>>2]; + $52 = $19 * $51; + $53 = $49 + $52; + $54 = ((($1)) + 48|0); + $55 = +HEAPF32[$54>>2]; + $56 = $3 * $55; + $57 = ((($1)) + 52|0); + $58 = +HEAPF32[$57>>2]; + $59 = $7 * $58; + $60 = $56 + $59; + $61 = ((($1)) + 56|0); + $62 = +HEAPF32[$61>>2]; + $63 = $13 * $62; + $64 = $60 + $63; + $65 = ((($1)) + 60|0); + $66 = +HEAPF32[$65>>2]; + $67 = $19 * $66; + $68 = $64 + $67; + $69 = ((($2)) + 4|0); + $70 = +HEAPF32[$69>>2]; + $71 = $4 * $70; + $72 = ((($2)) + 20|0); + $73 = +HEAPF32[$72>>2]; + $74 = $9 * $73; + $75 = $71 + $74; + $76 = ((($2)) + 36|0); + $77 = +HEAPF32[$76>>2]; + $78 = $15 * $77; + $79 = $75 + $78; + $80 = ((($2)) + 52|0); + $81 = +HEAPF32[$80>>2]; + $82 = $21 * $81; + $83 = $79 + $82; + $84 = $25 * $70; + $85 = $28 * $73; + $86 = $84 + $85; + $87 = $32 * $77; + $88 = $86 + $87; + $89 = $36 * $81; + $90 = $88 + $89; + $91 = $40 * $70; + $92 = $43 * $73; + $93 = $91 + $92; + $94 = $47 * $77; + $95 = $93 + $94; + $96 = $51 * $81; + $97 = $95 + $96; + $98 = $55 * $70; + $99 = $58 * $73; + $100 = $98 + $99; + $101 = $62 * $77; + $102 = $100 + $101; + $103 = $66 * $81; + $104 = $102 + $103; + $105 = ((($2)) + 8|0); + $106 = +HEAPF32[$105>>2]; + $107 = $4 * $106; + $108 = ((($2)) + 24|0); + $109 = +HEAPF32[$108>>2]; + $110 = $9 * $109; + $111 = $107 + $110; + $112 = ((($2)) + 40|0); + $113 = +HEAPF32[$112>>2]; + $114 = $15 * $113; + $115 = $111 + $114; + $116 = ((($2)) + 56|0); + $117 = +HEAPF32[$116>>2]; + $118 = $21 * $117; + $119 = $115 + $118; + $120 = $25 * $106; + $121 = $28 * $109; + $122 = $120 + $121; + $123 = $32 * $113; + $124 = $122 + $123; + $125 = $36 * $117; + $126 = $124 + $125; + $127 = $40 * $106; + $128 = $43 * $109; + $129 = $127 + $128; + $130 = $47 * $113; + $131 = $129 + $130; + $132 = $51 * $117; + $133 = $131 + $132; + $134 = $55 * $106; + $135 = $58 * $109; + $136 = $134 + $135; + $137 = $62 * $113; + $138 = $136 + $137; + $139 = $66 * $117; + $140 = $138 + $139; + $141 = ((($2)) + 12|0); + $142 = +HEAPF32[$141>>2]; + $143 = $4 * $142; + $144 = ((($2)) + 28|0); + $145 = +HEAPF32[$144>>2]; + $146 = $9 * $145; + $147 = $143 + $146; + $148 = ((($2)) + 44|0); + $149 = +HEAPF32[$148>>2]; + $150 = $15 * $149; + $151 = $147 + $150; + $152 = ((($2)) + 60|0); + $153 = +HEAPF32[$152>>2]; + $154 = $21 * $153; + $155 = $151 + $154; + $156 = $25 * $142; + $157 = $28 * $145; + $158 = $156 + $157; + $159 = $32 * $149; + $160 = $158 + $159; + $161 = $36 * $153; + $162 = $160 + $161; + $163 = $40 * $142; + $164 = $43 * $145; + $165 = $163 + $164; + $166 = $47 * $149; + $167 = $165 + $166; + $168 = $51 * $153; + $169 = $167 + $168; + $170 = $55 * $142; + $171 = $58 * $145; + $172 = $170 + $171; + $173 = $62 * $149; + $174 = $172 + $173; + $175 = $66 * $153; + $176 = $174 + $175; + HEAPF32[$0>>2] = $23; + $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); + HEAPF32[$$sroa$4$0$$sroa_idx2>>2] = $83; + $$sroa$5$0$$sroa_idx4 = ((($0)) + 8|0); + HEAPF32[$$sroa$5$0$$sroa_idx4>>2] = $119; + $$sroa$6$0$$sroa_idx6 = ((($0)) + 12|0); + HEAPF32[$$sroa$6$0$$sroa_idx6>>2] = $155; + $$sroa$7$0$$sroa_idx8 = ((($0)) + 16|0); + HEAPF32[$$sroa$7$0$$sroa_idx8>>2] = $38; + $$sroa$8$0$$sroa_idx10 = ((($0)) + 20|0); + HEAPF32[$$sroa$8$0$$sroa_idx10>>2] = $90; + $$sroa$9$0$$sroa_idx12 = ((($0)) + 24|0); + HEAPF32[$$sroa$9$0$$sroa_idx12>>2] = $126; + $$sroa$10$0$$sroa_idx14 = ((($0)) + 28|0); + HEAPF32[$$sroa$10$0$$sroa_idx14>>2] = $162; + $$sroa$11$0$$sroa_idx16 = ((($0)) + 32|0); + HEAPF32[$$sroa$11$0$$sroa_idx16>>2] = $53; + $$sroa$12$0$$sroa_idx18 = ((($0)) + 36|0); + HEAPF32[$$sroa$12$0$$sroa_idx18>>2] = $97; + $$sroa$13$0$$sroa_idx20 = ((($0)) + 40|0); + HEAPF32[$$sroa$13$0$$sroa_idx20>>2] = $133; + $$sroa$14$0$$sroa_idx22 = ((($0)) + 44|0); + HEAPF32[$$sroa$14$0$$sroa_idx22>>2] = $169; + $$sroa$15$0$$sroa_idx24 = ((($0)) + 48|0); + HEAPF32[$$sroa$15$0$$sroa_idx24>>2] = $68; + $$sroa$16$0$$sroa_idx26 = ((($0)) + 52|0); + HEAPF32[$$sroa$16$0$$sroa_idx26>>2] = $104; + $$sroa$17$0$$sroa_idx28 = ((($0)) + 56|0); + HEAPF32[$$sroa$17$0$$sroa_idx28>>2] = $140; + $$sroa$18$0$$sroa_idx30 = ((($0)) + 60|0); + HEAPF32[$$sroa$18$0$$sroa_idx30>>2] = $176; + return; +} +function _MatrixOrtho($0,$1,$2,$3,$4,$5,$6) { + $0 = $0|0; + $1 = +$1; + $2 = +$2; + $3 = +$3; + $4 = +$4; + $5 = +$5; + $6 = +$6; + var $$sroa$10$0$$sroa_idx24 = 0, $$sroa$11$0$$sroa_idx26 = 0, $$sroa$12$0$$sroa_idx28 = 0, $$sroa$13$0$$sroa_idx30 = 0, $$sroa$14$0$$sroa_idx32 = 0, $$sroa$15$0$$sroa_idx34 = 0, $$sroa$16$0$$sroa_idx36 = 0, $$sroa$17$0$$sroa_idx38 = 0, $$sroa$18$0$$sroa_idx40 = 0, $$sroa$4$0$$sroa_idx12 = 0, $$sroa$5$0$$sroa_idx14 = 0, $$sroa$6$0$$sroa_idx16 = 0, $$sroa$7$0$$sroa_idx18 = 0, $$sroa$8$0$$sroa_idx20 = 0, $$sroa$9$0$$sroa_idx22 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0; + var $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0.0, $28 = 0.0, $29 = 0.0, $30 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0; + var sp = 0; + sp = STACKTOP; + $7 = $2 - $1; + $8 = $7; + $9 = $4 - $3; + $10 = $9; + $11 = $6 - $5; + $12 = $11; + $13 = 2.0 / $8; + $14 = 2.0 / $10; + $15 = -2.0 / $12; + $16 = $1 + $2; + $17 = -$16; + $18 = $8; + $19 = $17 / $18; + $20 = $19; + $21 = $3 + $4; + $22 = -$21; + $23 = $10; + $24 = $22 / $23; + $25 = $24; + $26 = $5 + $6; + $27 = -$26; + $28 = $12; + $29 = $27 / $28; + $30 = $29; + HEAPF32[$0>>2] = $13; + $$sroa$4$0$$sroa_idx12 = ((($0)) + 4|0); + HEAPF32[$$sroa$4$0$$sroa_idx12>>2] = 0.0; + $$sroa$5$0$$sroa_idx14 = ((($0)) + 8|0); + HEAPF32[$$sroa$5$0$$sroa_idx14>>2] = 0.0; + $$sroa$6$0$$sroa_idx16 = ((($0)) + 12|0); + HEAPF32[$$sroa$6$0$$sroa_idx16>>2] = $20; + $$sroa$7$0$$sroa_idx18 = ((($0)) + 16|0); + HEAPF32[$$sroa$7$0$$sroa_idx18>>2] = 0.0; + $$sroa$8$0$$sroa_idx20 = ((($0)) + 20|0); + HEAPF32[$$sroa$8$0$$sroa_idx20>>2] = $14; + $$sroa$9$0$$sroa_idx22 = ((($0)) + 24|0); + HEAPF32[$$sroa$9$0$$sroa_idx22>>2] = 0.0; + $$sroa$10$0$$sroa_idx24 = ((($0)) + 28|0); + HEAPF32[$$sroa$10$0$$sroa_idx24>>2] = $25; + $$sroa$11$0$$sroa_idx26 = ((($0)) + 32|0); + HEAPF32[$$sroa$11$0$$sroa_idx26>>2] = 0.0; + $$sroa$12$0$$sroa_idx28 = ((($0)) + 36|0); + HEAPF32[$$sroa$12$0$$sroa_idx28>>2] = 0.0; + $$sroa$13$0$$sroa_idx30 = ((($0)) + 40|0); + HEAPF32[$$sroa$13$0$$sroa_idx30>>2] = $15; + $$sroa$14$0$$sroa_idx32 = ((($0)) + 44|0); + HEAPF32[$$sroa$14$0$$sroa_idx32>>2] = $30; + $$sroa$15$0$$sroa_idx34 = ((($0)) + 48|0); + HEAPF32[$$sroa$15$0$$sroa_idx34>>2] = 0.0; + $$sroa$16$0$$sroa_idx36 = ((($0)) + 52|0); + HEAPF32[$$sroa$16$0$$sroa_idx36>>2] = 0.0; + $$sroa$17$0$$sroa_idx38 = ((($0)) + 56|0); + HEAPF32[$$sroa$17$0$$sroa_idx38>>2] = 0.0; + $$sroa$18$0$$sroa_idx40 = ((($0)) + 60|0); + HEAPF32[$$sroa$18$0$$sroa_idx40>>2] = 1.0; + return; +} +function _ProcessGestureEvent($0) { + $0 = $0|0; + var $$$sink = 0, $$sink = 0, $$sink10 = 0, $$sink11 = 0, $$sink16 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0.0, $111 = 0.0; + var $112 = 0.0, $113 = 0.0, $114 = 0.0, $115 = 0.0, $116 = 0.0, $117 = 0, $118 = 0, $119 = 0, $12 = 0.0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0; + var $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0; + var $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0.0, $16 = 0, $160 = 0.0, $161 = 0.0, $162 = 0.0, $163 = 0.0, $164 = 0.0, $165 = 0.0, $166 = 0; + var $167 = 0.0, $168 = 0, $169 = 0.0, $17 = 0, $170 = 0.0, $171 = 0.0, $172 = 0, $173 = 0.0, $174 = 0.0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; + var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; + var $46 = 0, $47 = 0, $48 = 0.0, $49 = 0.0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0.0, $56 = 0.0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0; + var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0.0, $81 = 0; + var $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0.0, $86 = 0.0, $87 = 0.0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $moveDownPosition$byval_copy11 = 0; + var $moveDownPosition2$byval_copy12 = 0, $or$cond = 0, $or$cond3 = 0, $or$cond5 = 0, $or$cond7 = 0, $or$cond9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $moveDownPosition2$byval_copy12 = sp + 8|0; + $moveDownPosition$byval_copy11 = sp; + $1 = ((($0)) + 4|0); + $2 = HEAP32[$1>>2]|0; + HEAP32[6362] = $2; + $3 = ($2|0)<(2); + $4 = HEAP32[$0>>2]|0; + $5 = ($4|0)==(1); + if (!($3)) { + if ($5) { + $88 = ((($0)) + 24|0); + $89 = $88; + $90 = $89; + $91 = HEAP32[$90>>2]|0; + $92 = (($89) + 4)|0; + $93 = $92; + $94 = HEAP32[$93>>2]|0; + $95 = 24608; + $96 = $95; + HEAP32[$96>>2] = $91; + $97 = (($95) + 4)|0; + $98 = $97; + HEAP32[$98>>2] = $94; + $99 = ((($0)) + 32|0); + $100 = $99; + $101 = $100; + $102 = HEAP32[$101>>2]|0; + $103 = (($100) + 4)|0; + $104 = $103; + $105 = HEAP32[$104>>2]|0; + $106 = 24648; + $107 = $106; + HEAP32[$107>>2] = $102; + $108 = (($106) + 4)|0; + $109 = $108; + HEAP32[$109>>2] = $105; + $110 = +HEAPF32[6162]; + $111 = +HEAPF32[6152]; + $112 = $110 - $111; + HEAPF32[6164] = $112; + $113 = +HEAPF32[(24652)>>2]; + $114 = +HEAPF32[(24612)>>2]; + $115 = $113 - $114; + HEAPF32[(24660)>>2] = $115; + HEAP32[6361] = 4; + STACKTOP = sp;return; + } + switch ($4|0) { + case 2: { + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[24640>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[24640+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[24664>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[24664+4>>2]|0; + $116 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + HEAPF32[6367] = $116; + $117 = 24640; + $118 = $117; + $119 = HEAP32[$118>>2]|0; + $120 = (($117) + 4)|0; + $121 = $120; + $122 = HEAP32[$121>>2]|0; + $123 = 24608; + $124 = $123; + HEAP32[$124>>2] = $119; + $125 = (($123) + 4)|0; + $126 = $125; + HEAP32[$126>>2] = $122; + $127 = 24664; + $128 = $127; + $129 = HEAP32[$128>>2]|0; + $130 = (($127) + 4)|0; + $131 = $130; + $132 = HEAP32[$131>>2]|0; + $133 = 24648; + $134 = $133; + HEAP32[$134>>2] = $129; + $135 = (($133) + 4)|0; + $136 = $135; + HEAP32[$136>>2] = $132; + $137 = ((($0)) + 24|0); + $138 = $137; + $139 = $138; + $140 = HEAP32[$139>>2]|0; + $141 = (($138) + 4)|0; + $142 = $141; + $143 = HEAP32[$142>>2]|0; + $144 = 24640; + $145 = $144; + HEAP32[$145>>2] = $140; + $146 = (($144) + 4)|0; + $147 = $146; + HEAP32[$147>>2] = $143; + $148 = ((($0)) + 32|0); + $149 = $148; + $150 = $149; + $151 = HEAP32[$150>>2]|0; + $152 = (($149) + 4)|0; + $153 = $152; + $154 = HEAP32[$153>>2]|0; + $155 = 24664; + $156 = $155; + HEAP32[$156>>2] = $151; + $157 = (($155) + 4)|0; + $158 = $157; + HEAP32[$158>>2] = $154; + $159 = +HEAPF32[6166]; + $160 = +HEAPF32[6160]; + $161 = $159 - $160; + HEAPF32[6164] = $161; + $162 = +HEAPF32[(24668)>>2]; + $163 = +HEAPF32[(24644)>>2]; + $164 = $162 - $163; + HEAPF32[(24660)>>2] = $164; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[24608>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[24608+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[24640>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[24640+4>>2]|0; + $165 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $166 = !($165 >= 0.004999999888241291); + if ($166) { + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[24648>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[24648+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[24664>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[24664+4>>2]|0; + $167 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $168 = !($167 >= 0.004999999888241291); + if ($168) { + $$sink16 = 4; + } else { + label = 29; + } + } else { + label = 29; + } + if ((label|0) == 29) { + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[24640>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[24640+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[24664>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[24664+4>>2]|0; + $169 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $170 = +HEAPF32[6367]; + $171 = $169 - $170; + $172 = $171 < 0.0; + $$sink11 = $172 ? 256 : 512; + $$sink16 = $$sink11; + } + HEAP32[6361] = $$sink16; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[24640>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[24640+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[24664>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[24664+4>>2]|0; + $173 = (+_Vector2Angle($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $174 = 360.0 - $173; + HEAPF32[6368] = $174; + STACKTOP = sp;return; + break; + } + case 0: { + HEAPF32[6367] = 0.0; + HEAPF32[6368] = 0.0; + HEAPF32[6164] = 0.0; + HEAPF32[(24660)>>2] = 0.0; + HEAP32[6362] = 0; + HEAP32[6361] = 0; + STACKTOP = sp;return; + break; + } + default: { + STACKTOP = sp;return; + } + } + } + if ($5) { + $6 = HEAP32[6363]|0; + $7 = (($6) + 1)|0; + HEAP32[6363] = $7; + $8 = HEAP32[6361]|0; + $9 = ($8|0)==(0); + $10 = ($6|0)>(0); + $or$cond = $10 & $9; + if ($or$cond) { + $11 = ((($0)) + 24|0); + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[24608>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[24608+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[$11>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[$11+4>>2]|0; + $12 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $13 = $12 < 0.029999999329447746; + if ($13) { + HEAP32[6361] = 2; + HEAP32[6363] = 0; + } else { + label = 6; + } + } else { + label = 6; + } + if ((label|0) == 6) { + HEAP32[6363] = 1; + HEAP32[6361] = 1; + } + $14 = ((($0)) + 24|0); + $15 = $14; + $16 = $15; + $17 = HEAP32[$16>>2]|0; + $18 = (($15) + 4)|0; + $19 = $18; + $20 = HEAP32[$19>>2]|0; + $21 = 24608; + $22 = $21; + HEAP32[$22>>2] = $17; + $23 = (($21) + 4)|0; + $24 = $23; + HEAP32[$24>>2] = $20; + $25 = 24616; + $26 = $25; + HEAP32[$26>>2] = $17; + $27 = (($25) + 4)|0; + $28 = $27; + HEAP32[$28>>2] = $20; + $29 = 24624; + $30 = $29; + HEAP32[$30>>2] = $17; + $31 = (($29) + 4)|0; + $32 = $31; + HEAP32[$32>>2] = $20; + $33 = ((($0)) + 8|0); + $34 = HEAP32[$33>>2]|0; + HEAP32[5] = $34; + HEAPF32[6158] = 0.0; + HEAPF32[(24636)>>2] = 0.0; + STACKTOP = sp;return; + } + switch ($4|0) { + case 0: { + $35 = HEAP32[6361]|0; + $36 = ($35|0)==(8); + if ($36) { + $37 = ((($0)) + 24|0); + $38 = $37; + $39 = $38; + $40 = HEAP32[$39>>2]|0; + $41 = (($38) + 4)|0; + $42 = $41; + $43 = HEAP32[$42>>2]|0; + $44 = 24624; + $45 = $44; + HEAP32[$45>>2] = $40; + $46 = (($44) + 4)|0; + $47 = $46; + HEAP32[$47>>2] = $43; + } + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[24608>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[24608+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[24624>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[24624+4>>2]|0; + $48 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $49 = $48 / 0.0; + HEAPF32[6364] = $49; + HEAP32[6365] = 0; + $50 = $49 > 5.0000002374872565E-4; + if ($50) { + $51 = HEAP32[5]|0; + $52 = ((($0)) + 8|0); + $53 = HEAP32[$52>>2]|0; + $54 = ($51|0)==($53|0); + if ($54) { + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[24608>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[24608+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[24624>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[24624+4>>2]|0; + $55 = (+_Vector2Angle($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $56 = 360.0 - $55; + HEAPF32[6366] = $56; + $57 = $56 < 30.0; + $58 = $56 > 330.0; + $or$cond3 = $57 | $58; + if ($or$cond3) { + $$sink10 = 16; + } else { + $59 = $56 > 30.0; + $60 = $56 < 120.0; + $or$cond5 = $59 & $60; + if ($or$cond5) { + $$sink10 = 64; + } else { + $61 = $56 > 120.0; + $62 = $56 < 210.0; + $or$cond7 = $61 & $62; + $63 = $56 > 210.0; + $64 = $56 < 300.0; + $or$cond9 = $63 & $64; + $$sink = $or$cond9 ? 128 : 0; + $$$sink = $or$cond7 ? 32 : $$sink; + $$sink10 = $$$sink; + } + } + } else { + label = 16; + } + } else { + label = 16; + } + if ((label|0) == 16) { + HEAPF32[6364] = 0.0; + HEAPF32[6366] = 0.0; + $$sink10 = 0; + } + HEAP32[6361] = $$sink10; + HEAPF32[6154] = 0.0; + HEAPF32[(24620)>>2] = 0.0; + HEAP32[6362] = 0; + STACKTOP = sp;return; + break; + } + case 2: { + $65 = HEAP32[6365]|0; + $66 = ($65|0)==(0); + if ($66) { + HEAP32[6365] = 1; + } + $67 = ((($0)) + 24|0); + $68 = $67; + $69 = $68; + $70 = HEAP32[$69>>2]|0; + $71 = (($68) + 4)|0; + $72 = $71; + $73 = HEAP32[$72>>2]|0; + $74 = 24640; + $75 = $74; + HEAP32[$75>>2] = $70; + $76 = (($74) + 4)|0; + $77 = $76; + HEAP32[$77>>2] = $73; + $78 = HEAP32[6361]|0; + $79 = ($78|0)==(4); + if ($79) { + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[24608>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[24608+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[24640>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[24640+4>>2]|0; + $80 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $81 = !($80 >= 0.014999999664723873); + if (!($81)) { + HEAP32[6361] = 8; + } + } + $82 = +HEAPF32[6160]; + $83 = +HEAPF32[6154]; + $84 = $82 - $83; + HEAPF32[6158] = $84; + $85 = +HEAPF32[(24644)>>2]; + $86 = +HEAPF32[(24620)>>2]; + $87 = $85 - $86; + HEAPF32[(24636)>>2] = $87; + STACKTOP = sp;return; + break; + } + default: { + STACKTOP = sp;return; + } + } +} +function _UpdateGestures() { + var $$off = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $or$cond3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[6361]|0; + $$off = (($0) + -1)|0; + $1 = ($$off>>>0)<(2); + $2 = HEAP32[6362]|0; + $3 = ($2|0)<(2); + $or$cond3 = $1 & $3; + if ($or$cond3) { + HEAP32[6361] = 4; + } + $4 = HEAP32[6361]|0; + $5 = (($4) + -16)|0; + $6 = $5 >>> 4; + $7 = $5 << 28; + $8 = $6 | $7; + switch ($8|0) { + case 0: case 1: case 3: case 7: { + break; + } + default: { + return; + } + } + HEAP32[6361] = 0; + return; +} +function _GetMousePosition($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = 24672; + $2 = $1; + $3 = HEAP32[$2>>2]|0; + $4 = (($1) + 4)|0; + $5 = $4; + $6 = HEAP32[$5>>2]|0; + $7 = $0; + $8 = $7; + HEAP32[$8>>2] = $3; + $9 = (($7) + 4)|0; + $10 = $9; + HEAP32[$10>>2] = $6; + return; +} +function _IsKeyDown($0) { + $0 = $0|0; + var $$ = 0, $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (_GetKeyStatus($0)|0); + $2 = ($1|0)==(1); + $$ = $2&1; + return ($$|0); +} +function _GetScreenWidth() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[6371]|0; + return ($0|0); +} +function _GetScreenHeight() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[6370]|0; + return ($0|0); +} +function _GetKeyStatus($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP32[6369]|0; + $2 = (_glfwGetKey(($1|0),($0|0))|0); + return ($2|0); +} +function _InitWindow($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0.0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $vararg_buffer = sp; + _TraceLog(0,6495,$vararg_buffer); + HEAP32[6373] = $2; + _InitGraphicsDevice($0,$1); + _LoadDefaultFont(); + _InitTimer(); + (_emscripten_set_fullscreenchange_callback((0|0),(0|0),1,(6|0))|0); + (_emscripten_set_keypress_callback((6524|0),(0|0),1,(7|0))|0); + (_emscripten_set_click_callback((6524|0),(0|0),1,(8|0))|0); + (_emscripten_set_touchstart_callback((6524|0),(0|0),1,(9|0))|0); + (_emscripten_set_touchend_callback((6524|0),(0|0),1,(9|0))|0); + (_emscripten_set_touchmove_callback((6524|0),(0|0),1,(9|0))|0); + (_emscripten_set_touchcancel_callback((6524|0),(0|0),1,(9|0))|0); + (_emscripten_set_gamepadconnected_callback((0|0),1,(10|0))|0); + (_emscripten_set_gamepaddisconnected_callback((0|0),1,(10|0))|0); + $3 = HEAP32[6371]|0; + $4 = (+($3|0)); + $5 = $4 * 0.5; + HEAPF32[6168] = $5; + $6 = HEAP32[6370]|0; + $7 = (+($6|0)); + $8 = $7 * 0.5; + HEAPF32[(24676)>>2] = $8; + $9 = HEAP32[6374]|0; + $10 = ($9|0)==(0); + if ($10) { + STACKTOP = sp;return; + } + _SetTargetFPS(60); + _LogoAnimation(); + STACKTOP = sp;return; +} +function _TraceLog($0,$1,$varargs) { + $0 = $0|0; + $1 = $1|0; + $varargs = $varargs|0; + var $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $endptr = 0, $strlen = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $2 = sp; + switch ($0|0) { + case 0: { + ;HEAP8[24712>>0]=HEAP8[11071>>0]|0;HEAP8[24712+1>>0]=HEAP8[11071+1>>0]|0;HEAP8[24712+2>>0]=HEAP8[11071+2>>0]|0;HEAP8[24712+3>>0]=HEAP8[11071+3>>0]|0;HEAP8[24712+4>>0]=HEAP8[11071+4>>0]|0;HEAP8[24712+5>>0]=HEAP8[11071+5>>0]|0;HEAP8[24712+6>>0]=HEAP8[11071+6>>0]|0; + break; + } + case 2: { + $3 = 24712; + $4 = $3; + HEAP32[$4>>2] = 1330795077; + $5 = (($3) + 4)|0; + $6 = $5; + HEAP32[$6>>2] = 2112082; + break; + } + case 1: { + dest=24712; src=11078; stop=dest+10|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); + break; + } + case 3: { + $7 = 24712; + $8 = $7; + HEAP32[$8>>2] = 1430406468; + $9 = (($7) + 4)|0; + $10 = $9; + HEAP32[$10>>2] = 2112071; + break; + } + default: { + } + } + (_strcat(24712,$1)|0); + $strlen = (_strlen(24712)|0); + $endptr = (24712 + ($strlen)|0); + HEAP8[$endptr>>0]=10&255;HEAP8[$endptr+1>>0]=10>>8; + HEAP32[$2>>2] = $varargs; + $11 = ($0|0)==(3); + if ($11) { + STACKTOP = sp;return; + } + (_vprintf(24712,$2)|0); + $12 = ($0|0)==(2); + if ($12) { + _exit(1); + // unreachable; + } else { + STACKTOP = sp;return; + } +} +function _InitGraphicsDevice($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$015 = 0, $$byval_copy = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; + var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0.0, $79 = 0, $8 = 0, $80 = 0; + var $81 = 0, $82 = 0.0, $83 = 0, $84 = 0, $85 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer14 = 0, $vararg_buffer18 = 0, $vararg_buffer22 = 0, $vararg_buffer3 = 0, $vararg_buffer6 = 0, $vararg_buffer8 = 0, $vararg_ptr13 = 0, $vararg_ptr17 = 0, $vararg_ptr21 = 0, $vararg_ptr5 = 0, dest = 0; + var label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 144|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(144|0); + $$byval_copy = sp + 136|0; + $vararg_buffer22 = sp + 64|0; + $vararg_buffer18 = sp + 56|0; + $vararg_buffer14 = sp + 48|0; + $vararg_buffer10 = sp + 40|0; + $vararg_buffer8 = sp + 32|0; + $vararg_buffer6 = sp + 24|0; + $vararg_buffer3 = sp + 16|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $2 = sp + 72|0; + $3 = sp + 140|0; + HEAP32[6371] = $0; + HEAP32[6370] = $1; + _MatrixIdentity($2); + dest=25572; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + (_glfwSetErrorCallback((2|0))|0); + $4 = (_glfwInit()|0); + $5 = ($4|0)==(0); + if ($5) { + _TraceLog(2,7213,$vararg_buffer); + } + $6 = HEAP32[6371]|0; + HEAP32[6409] = $6; + $7 = HEAP32[6370]|0; + HEAP32[6410] = $7; + _glfwDefaultWindowHints(); + $8 = HEAP8[29332]|0; + $9 = $8 & 4; + $10 = ($9<<24>>24)==(0); + if ($10) { + _glfwWindowHint(131075,0); + } else { + _glfwWindowHint(131075,1); + } + $11 = HEAP8[29332]|0; + $12 = $11 & 8; + $13 = ($12<<24>>24)==(0); + if (!($13)) { + _glfwWindowHint(131077,1); + } + $14 = HEAP8[29332]|0; + $15 = $14 & 32; + $16 = ($15<<24>>24)==(0); + if (!($16)) { + _glfwWindowHint(135181,4); + _TraceLog(0,7239,$vararg_buffer1); + } + $17 = (_rlGetVersion()|0); + $18 = ($17|0)==(2); + if ($18) { + _glfwWindowHint(139266,2); + _glfwWindowHint(139267,1); + } else { + $19 = (_rlGetVersion()|0); + $20 = ($19|0)==(3); + if ($20) { + _glfwWindowHint(139266,3); + _glfwWindowHint(139267,3); + _glfwWindowHint(139272,204801); + _glfwWindowHint(139270,0); + } + } + $21 = HEAP32[6411]|0; + $22 = ($21|0)==(0); + if ($22) { + $47 = HEAP32[6371]|0; + $48 = HEAP32[6370]|0; + $49 = HEAP32[6373]|0; + $50 = (_glfwCreateWindow(($47|0),($48|0),($49|0),(0|0),(0|0))|0); + HEAP32[6369] = $50; + $51 = HEAP32[6371]|0; + HEAP32[6412] = $51; + $52 = HEAP32[6370]|0; + HEAP32[6413] = $52; + $54 = $50; + } else { + $23 = (_glfwGetPrimaryMonitor()|0); + $24 = (_glfwGetVideoModes(($23|0),($$byval_copy|0))|0); + $25 = HEAP32[$$byval_copy>>2]|0; + $26 = ($25|0)>(0); + L22: do { + if ($26) { + $27 = HEAP32[6371]|0; + $28 = HEAP32[$$byval_copy>>2]|0; + $29 = HEAP32[6370]|0; + $$015 = 0; + while(1) { + $30 = (($24) + (($$015*24)|0)|0); + $31 = HEAP32[$30>>2]|0; + $32 = ($31|0)<($27|0); + if (!($32)) { + $33 = (((($24) + (($$015*24)|0)|0)) + 4|0); + $34 = HEAP32[$33>>2]|0; + $35 = ($34|0)<($29|0); + if (!($35)) { + break; + } + } + $36 = (($$015) + 1)|0; + $37 = ($36|0)<($28|0); + if ($37) { + $$015 = $36; + } else { + break L22; + } + } + HEAP32[6409] = $31; + HEAP32[6410] = $34; + } + } while(0); + $38 = HEAP32[6409]|0; + $39 = HEAP32[6410]|0; + HEAP32[$vararg_buffer3>>2] = $38; + $vararg_ptr5 = ((($vararg_buffer3)) + 4|0); + HEAP32[$vararg_ptr5>>2] = $39; + _TraceLog(1,7264,$vararg_buffer3); + $40 = HEAP32[6409]|0; + $41 = HEAP32[6410]|0; + _SetupFramebufferSize($40,$41); + $42 = HEAP32[6409]|0; + $43 = HEAP32[6410]|0; + $44 = HEAP32[6373]|0; + $45 = (_glfwGetPrimaryMonitor()|0); + $46 = (_glfwCreateWindow(($42|0),($43|0),($44|0),($45|0),(0|0))|0); + HEAP32[6369] = $46; + $54 = $46; + } + $53 = ($54|0)==(0|0); + if ($53) { + _glfwTerminate(); + _TraceLog(2,7302,$vararg_buffer6); + } else { + _TraceLog(0,7335,$vararg_buffer8); + $55 = HEAP32[6412]|0; + $56 = HEAP32[6413]|0; + HEAP32[$vararg_buffer10>>2] = $55; + $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); + HEAP32[$vararg_ptr13>>2] = $56; + _TraceLog(0,7375,$vararg_buffer10); + $57 = HEAP32[6371]|0; + $58 = HEAP32[6370]|0; + HEAP32[$vararg_buffer14>>2] = $57; + $vararg_ptr17 = ((($vararg_buffer14)) + 4|0); + HEAP32[$vararg_ptr17>>2] = $58; + _TraceLog(0,7396,$vararg_buffer14); + $59 = HEAP32[6414]|0; + $60 = HEAP32[6415]|0; + HEAP32[$vararg_buffer18>>2] = $59; + $vararg_ptr21 = ((($vararg_buffer18)) + 4|0); + HEAP32[$vararg_ptr21>>2] = $60; + _TraceLog(0,7417,$vararg_buffer18); + } + $61 = HEAP32[6369]|0; + (_glfwSetWindowSizeCallback(($61|0),(1|0))|0); + $62 = HEAP32[6369]|0; + (_glfwSetCursorEnterCallback(($62|0),(3|0))|0); + $63 = HEAP32[6369]|0; + (_glfwSetKeyCallback(($63|0),(1|0))|0); + $64 = HEAP32[6369]|0; + (_glfwSetMouseButtonCallback(($64|0),(1|0))|0); + $65 = HEAP32[6369]|0; + (_glfwSetCursorPosCallback(($65|0),(1|0))|0); + $66 = HEAP32[6369]|0; + (_glfwSetCharCallback(($66|0),(4|0))|0); + $67 = HEAP32[6369]|0; + (_glfwSetScrollCallback(($67|0),(2|0))|0); + $68 = HEAP32[6369]|0; + (_glfwSetWindowIconifyCallback(($68|0),(5|0))|0); + $69 = HEAP32[6369]|0; + _glfwMakeContextCurrent(($69|0)); + _glfwSwapInterval(0); + $70 = HEAP8[29332]|0; + $71 = $70 & 64; + $72 = ($71<<24>>24)==(0); + if ($72) { + $73 = HEAP32[6371]|0; + $74 = HEAP32[6370]|0; + _rlglInit($73,$74); + _SetupViewport(); + _rlMatrixMode(5889); + _rlLoadIdentity(); + $75 = HEAP32[6412]|0; + $76 = HEAP32[6414]|0; + $77 = (($75) - ($76))|0; + $78 = (+($77|0)); + $79 = HEAP32[6413]|0; + $80 = HEAP32[6415]|0; + $81 = (($79) - ($80))|0; + $82 = (+($81|0)); + _rlOrtho(0.0,$78,$82,0.0,0.0,1.0); + _rlMatrixMode(5888); + _rlLoadIdentity(); + HEAP8[$3>>0] = -11; + $83 = ((($3)) + 1|0); + HEAP8[$83>>0] = -11; + $84 = ((($3)) + 2|0); + HEAP8[$84>>0] = -11; + $85 = ((($3)) + 3|0); + HEAP8[$85>>0] = -1; + ;HEAP8[$$byval_copy>>0]=HEAP8[$3>>0]|0;HEAP8[$$byval_copy+1>>0]=HEAP8[$3+1>>0]|0;HEAP8[$$byval_copy+2>>0]=HEAP8[$3+2>>0]|0;HEAP8[$$byval_copy+3>>0]=HEAP8[$3+3>>0]|0; + _ClearBackground($$byval_copy); + STACKTOP = sp;return; + } + _glfwSwapInterval(1); + _TraceLog(0,7442,$vararg_buffer22); + $73 = HEAP32[6371]|0; + $74 = HEAP32[6370]|0; + _rlglInit($73,$74); + _SetupViewport(); + _rlMatrixMode(5889); + _rlLoadIdentity(); + $75 = HEAP32[6412]|0; + $76 = HEAP32[6414]|0; + $77 = (($75) - ($76))|0; + $78 = (+($77|0)); + $79 = HEAP32[6413]|0; + $80 = HEAP32[6415]|0; + $81 = (($79) - ($80))|0; + $82 = (+($81|0)); + _rlOrtho(0.0,$78,$82,0.0,0.0,1.0); + _rlMatrixMode(5888); + _rlLoadIdentity(); + HEAP8[$3>>0] = -11; + $83 = ((($3)) + 1|0); + HEAP8[$83>>0] = -11; + $84 = ((($3)) + 2|0); + HEAP8[$84>>0] = -11; + $85 = ((($3)) + 3|0); + HEAP8[$85>>0] = -1; + ;HEAP8[$$byval_copy>>0]=HEAP8[$3>>0]|0;HEAP8[$$byval_copy+1>>0]=HEAP8[$3+1>>0]|0;HEAP8[$$byval_copy+2>>0]=HEAP8[$3+2>>0]|0;HEAP8[$$byval_copy+3>>0]=HEAP8[$3+3>>0]|0; + _ClearBackground($$byval_copy); + STACKTOP = sp;return; +} +function _LoadDefaultFont() { + var $$ = 0, $$0101 = 0, $$090100 = 0, $$09299 = 0, $$095104 = 0, $$096103 = 0, $$097102 = 0, $$191 = 0, $$193 = 0, $$byval_copy1 = 0, $$lcssa = 0, $$sroa$0$0$$sroa_idx = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0; + var $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0; + var $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; + var $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $$byval_copy1 = sp + 44|0; + $vararg_buffer = sp; + $0 = sp + 4|0; + $1 = sp + 24|0; + HEAP32[(25540)>>2] = 224; + $2 = (_malloc(65536)|0); + _memset(($2|0),0,65536)|0; + $$095104 = 0;$$096103 = 0; + while(1) { + $3 = (24 + ($$095104<<2)|0); + $4 = HEAP32[$3>>2]|0; + $$097102 = 31; + while(1) { + $16 = 1 << $$097102; + $17 = $4 & $16; + $18 = ($17|0)==(0); + if (!($18)) { + $19 = (($$097102) + ($$096103))|0; + $$sroa$0$0$$sroa_idx = (($2) + ($19<<2)|0); + HEAP8[$$sroa$0$0$$sroa_idx>>0]=-1&255;HEAP8[$$sroa$0$0$$sroa_idx+1>>0]=(-1>>8)&255;HEAP8[$$sroa$0$0$$sroa_idx+2>>0]=(-1>>16)&255;HEAP8[$$sroa$0$0$$sroa_idx+3>>0]=-1>>24; + } + $20 = (($$097102) + -1)|0; + $21 = ($$097102|0)>(0); + if ($21) { + $$097102 = $20; + } else { + break; + } + } + $12 = (($$095104) + 1)|0; + $13 = ($$095104|0)>(511); + $$ = $13 ? 0 : $12; + $14 = (($$096103) + 32)|0; + $15 = ($14|0)<(16384); + if ($15) { + $$095104 = $$;$$096103 = $14; + } else { + break; + } + } + _LoadImageEx($0,$2,128,128); + _ImageFormat($0,2); + _free($2); + ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; + _LoadTextureFromImage($1,$$byval_copy1); + ;HEAP32[25516>>2]=HEAP32[$1>>2]|0;HEAP32[25516+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[25516+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[25516+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[25516+16>>2]=HEAP32[$1+16>>2]|0; + ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; + _UnloadImage($$byval_copy1); + $5 = HEAP32[(25540)>>2]|0; + $6 = $5 << 5; + $7 = (_malloc($6)|0); + HEAP32[(25544)>>2] = $7; + $8 = ($5|0)>(0); + if (!($8)) { + $$lcssa = $7; + $22 = ((($$lcssa)) + 16|0); + $23 = HEAP32[$22>>2]|0; + HEAP32[(25536)>>2] = $23; + $24 = HEAP32[6379]|0; + HEAP32[$vararg_buffer>>2] = $24; + _TraceLog(0,6719,$vararg_buffer); + STACKTOP = sp;return; + } + $9 = HEAP32[(25520)>>2]|0; + $10 = HEAP32[(25540)>>2]|0; + $11 = HEAP32[(25544)>>2]|0; + $$0101 = 0;$$090100 = 1;$$09299 = 0;$27 = $7; + while(1) { + $25 = (($$0101) + 32)|0; + $26 = (($27) + ($$0101<<5)|0); + HEAP32[$26>>2] = $25; + $28 = (((($27) + ($$0101<<5)|0)) + 4|0); + HEAP32[$28>>2] = $$090100; + $29 = ($$09299*11)|0; + $30 = (($29) + 1)|0; + $31 = (((($27) + ($$0101<<5)|0)) + 8|0); + HEAP32[$31>>2] = $30; + $32 = (2072 + ($$0101<<2)|0); + $33 = HEAP32[$32>>2]|0; + $34 = (((($27) + ($$0101<<5)|0)) + 12|0); + HEAP32[$34>>2] = $33; + $35 = (((($27) + ($$0101<<5)|0)) + 16|0); + HEAP32[$35>>2] = 10; + $36 = (($$090100) + 1)|0; + $37 = (($36) + ($33))|0; + $38 = ($37|0)<($9|0); + $39 = (($$09299) + 1)|0; + if ($38) { + $$191 = $37;$$193 = $$09299; + } else { + $40 = ($39*11)|0; + $41 = (($40) + 1)|0; + $42 = (($33) + 2)|0; + HEAP32[$28>>2] = 1; + HEAP32[$31>>2] = $41; + $$191 = $42;$$193 = $39; + } + $43 = (((($27) + ($$0101<<5)|0)) + 20|0); + HEAP32[$43>>2] = 0; + $44 = (((($27) + ($$0101<<5)|0)) + 24|0); + HEAP32[$44>>2] = 0; + $45 = (((($27) + ($$0101<<5)|0)) + 28|0); + HEAP32[$45>>2] = 0; + $46 = (($$0101) + 1)|0; + $47 = ($46|0)<($10|0); + if ($47) { + $$0101 = $46;$$090100 = $$191;$$09299 = $$193;$27 = $11; + } else { + $$lcssa = $11; + break; + } + } + $22 = ((($$lcssa)) + 16|0); + $23 = HEAP32[$22>>2]|0; + HEAP32[(25536)>>2] = $23; + $24 = HEAP32[6379]|0; + HEAP32[$vararg_buffer>>2] = $24; + _TraceLog(0,6719,$vararg_buffer); + STACKTOP = sp;return; +} +function _InitTimer() { + var $0 = 0, $1 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (_time((0|0))|0); + _srand($0); + $1 = (+_GetTime()); + HEAPF64[3088] = $1; + return; +} +function _EmscriptenFullscreenChangeCallback($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer4 = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, $vararg_ptr9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $vararg_buffer4 = sp + 16|0; + $vararg_buffer = sp; + $3 = HEAP32[$1>>2]|0; + $4 = ($3|0)==(0); + $5 = ((($1)) + 264|0); + $6 = HEAP32[$5>>2]|0; + $7 = ((($1)) + 268|0); + $8 = HEAP32[$7>>2]|0; + $9 = ((($1)) + 272|0); + $10 = HEAP32[$9>>2]|0; + $11 = ((($1)) + 276|0); + $12 = HEAP32[$11>>2]|0; + if ($4) { + HEAP32[$vararg_buffer4>>2] = $6; + $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); + HEAP32[$vararg_ptr7>>2] = $8; + $vararg_ptr8 = ((($vararg_buffer4)) + 8|0); + HEAP32[$vararg_ptr8>>2] = $10; + $vararg_ptr9 = ((($vararg_buffer4)) + 12|0); + HEAP32[$vararg_ptr9>>2] = $12; + _TraceLog(0,6652,$vararg_buffer4); + STACKTOP = sp;return 0; + } else { + HEAP32[$vararg_buffer>>2] = $6; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $8; + $vararg_ptr2 = ((($vararg_buffer)) + 8|0); + HEAP32[$vararg_ptr2>>2] = $10; + $vararg_ptr3 = ((($vararg_buffer)) + 12|0); + HEAP32[$vararg_ptr3>>2] = $12; + _TraceLog(0,6583,$vararg_buffer); + STACKTOP = sp;return 0; + } + return (0)|0; +} +function _EmscriptenKeyboardCallback($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ($0|0)==(1); + if (!($3)) { + return 0; + } + $4 = ((($1)) + 32|0); + $5 = (_strcmp($4,6576)|0); + $6 = ($5|0)==(0); + if (!($6)) { + return 0; + } + (_emscripten_exit_pointerlock()|0); + return 0; +} +function _EmscriptenMouseCallback($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var label = 0, sp = 0; + sp = STACKTOP; + return 0; +} +function _EmscriptenTouchCallback($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$byval_copy = 0, $$sink = 0, $$sroa$0$0$$sroa_idx = 0, $$sroa$03$0$$sroa_idx = 0, $$sroa$2$0$$sroa_idx2 = 0, $$sroa$24$0$$sroa_idx5 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0.0, $18 = 0, $19 = 0, $20 = 0.0, $21 = 0, $22 = 0, $23 = 0.0; + var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; + var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0.0, $48 = 0.0, $49 = 0.0, $5 = 0, $50 = 0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0, $59 = 0.0, $6 = 0; + var $60 = 0.0, $61 = 0.0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0); + $$byval_copy = sp + 56|0; + $3 = sp; + switch ($0|0) { + case 22: { + $$sink = 1; + label = 4; + break; + } + case 23: { + $$sink = 0; + label = 4; + break; + } + case 24: { + $$sink = 2; + label = 4; + break; + } + default: { + } + } + if ((label|0) == 4) { + HEAP32[$3>>2] = $$sink; + } + $4 = HEAP32[$1>>2]|0; + $5 = ((($3)) + 4|0); + HEAP32[$5>>2] = $4; + $6 = ((($1)) + 20|0); + $7 = HEAP32[$6>>2]|0; + $8 = ((($3)) + 8|0); + HEAP32[$8>>2] = $7; + $9 = ((($1)) + 72|0); + $10 = HEAP32[$9>>2]|0; + $11 = ((($3)) + 12|0); + HEAP32[$11>>2] = $10; + $12 = ((($1)) + 56|0); + $13 = HEAP32[$12>>2]|0; + $14 = (+($13|0)); + $15 = ((($1)) + 60|0); + $16 = HEAP32[$15>>2]|0; + $17 = (+($16|0)); + $$sroa$03$0$$sroa_idx = ((($3)) + 24|0); + HEAPF32[$$sroa$03$0$$sroa_idx>>2] = $14; + $$sroa$24$0$$sroa_idx5 = ((($3)) + 28|0); + HEAPF32[$$sroa$24$0$$sroa_idx5>>2] = $17; + $18 = ((($1)) + 108|0); + $19 = HEAP32[$18>>2]|0; + $20 = (+($19|0)); + $21 = ((($1)) + 112|0); + $22 = HEAP32[$21>>2]|0; + $23 = (+($22|0)); + $$sroa$0$0$$sroa_idx = ((($3)) + 32|0); + HEAPF32[$$sroa$0$0$$sroa_idx>>2] = $20; + $$sroa$2$0$$sroa_idx2 = ((($3)) + 36|0); + HEAPF32[$$sroa$2$0$$sroa_idx2>>2] = $23; + $24 = ((($3)) + 24|0); + $25 = $24; + $26 = $25; + $27 = HEAP32[$26>>2]|0; + $28 = (($25) + 4)|0; + $29 = $28; + $30 = HEAP32[$29>>2]|0; + $31 = 24688; + $32 = $31; + HEAP32[$32>>2] = $27; + $33 = (($31) + 4)|0; + $34 = $33; + HEAP32[$34>>2] = $30; + $35 = ((($3)) + 32|0); + $36 = $35; + $37 = $36; + $38 = HEAP32[$37>>2]|0; + $39 = (($36) + 4)|0; + $40 = $39; + $41 = HEAP32[$40>>2]|0; + $42 = (24696); + $43 = $42; + HEAP32[$43>>2] = $38; + $44 = (($42) + 4)|0; + $45 = $44; + HEAP32[$45>>2] = $41; + $46 = (_GetScreenWidth()|0); + $47 = (+($46|0)); + $48 = +HEAPF32[$24>>2]; + $49 = $48 / $47; + HEAPF32[$24>>2] = $49; + $50 = (_GetScreenHeight()|0); + $51 = (+($50|0)); + $52 = +HEAPF32[$$sroa$24$0$$sroa_idx5>>2]; + $53 = $52 / $51; + HEAPF32[$$sroa$24$0$$sroa_idx5>>2] = $53; + $54 = (_GetScreenWidth()|0); + $55 = (+($54|0)); + $56 = +HEAPF32[$35>>2]; + $57 = $56 / $55; + HEAPF32[$35>>2] = $57; + $58 = (_GetScreenHeight()|0); + $59 = (+($58|0)); + $60 = +HEAPF32[$$sroa$2$0$$sroa_idx2>>2]; + $61 = $60 / $59; + HEAPF32[$$sroa$2$0$$sroa_idx2>>2] = $61; + dest=$$byval_copy; src=$3; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _ProcessGestureEvent($$byval_copy); + STACKTOP = sp;return 1; +} +function _EmscriptenGamepadCallback($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$sink = 0, $10 = 0, $11 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ((($1)) + 1296|0); + $4 = HEAP32[$3>>2]|0; + $5 = ($4|0)==(0); + if ($5) { + label = 3; + } else { + $6 = ((($1)) + 1300|0); + $7 = HEAP32[$6>>2]|0; + $8 = ($7|0)<(4); + if ($8) { + $$sink = 1; + } else { + label = 3; + } + } + if ((label|0) == 3) { + $$sink = 0; + } + $9 = ((($1)) + 1300|0); + $10 = HEAP32[$9>>2]|0; + $11 = (25500 + ($10<<2)|0); + HEAP32[$11>>2] = $$sink; + return 0; +} +function _SetTargetFPS($0) { + $0 = $0|0; + var $$ = 0.0, $$op = 0.0, $1 = 0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $vararg_buffer = sp; + $1 = ($0|0)<(1); + $2 = (+($0|0)); + $3 = 1.0 / $2; + $$ = $1 ? 0.0 : $3; + HEAPF64[3085] = $$; + $4 = $3; + $$op = $4 * 1000.0; + $5 = $$op; + $6 = $1 ? 0.0 : $5; + HEAPF64[$vararg_buffer>>3] = $6; + _TraceLog(0,6532,$vararg_buffer); + STACKTOP = sp;return; +} +function _LogoAnimation() { + var label = 0, sp = 0; + sp = STACKTOP; + HEAP32[6374] = 0; + return; +} +function _GetTime() { + var $0 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (+_glfwGetTime()); + return (+$0); +} +function _LoadImageEx($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$03334 = 0, $$035 = 0, $$sroa$12$0$$sroa_idx21 = 0, $$sroa$15$0$$sroa_idx24 = 0, $$sroa$16$0$$sroa_idx26 = 0, $$sroa$9$0$$sroa_idx18 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; + var $24 = 0, $25 = 0, $26 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, label = 0, sp = 0; + sp = STACKTOP; + $4 = $2 << 2; + $5 = Math_imul($4, $3)|0; + $6 = (_malloc($5)|0); + $7 = ($5|0)>(0); + if ($7) { + $8 = (($5) + -1)|0; + $9 = $8 >>> 2; + $$03334 = 0;$$035 = 0; + while(1) { + $10 = (($1) + ($$03334<<2)|0); + $11 = HEAP8[$10>>0]|0; + $12 = (($6) + ($$035)|0); + HEAP8[$12>>0] = $11; + $13 = (((($1) + ($$03334<<2)|0)) + 1|0); + $14 = HEAP8[$13>>0]|0; + $15 = $$035 | 1; + $16 = (($6) + ($15)|0); + HEAP8[$16>>0] = $14; + $17 = (((($1) + ($$03334<<2)|0)) + 2|0); + $18 = HEAP8[$17>>0]|0; + $19 = $$035 | 2; + $20 = (($6) + ($19)|0); + HEAP8[$20>>0] = $18; + $21 = (((($1) + ($$03334<<2)|0)) + 3|0); + $22 = HEAP8[$21>>0]|0; + $23 = $$035 | 3; + $24 = (($6) + ($23)|0); + HEAP8[$24>>0] = $22; + $25 = (($$03334) + 1)|0; + $26 = (($$035) + 4)|0; + $exitcond = ($$03334|0)==($9|0); + if ($exitcond) { + break; + } else { + $$03334 = $25;$$035 = $26; + } + } + } + HEAP32[$0>>2] = $6; + $$sroa$9$0$$sroa_idx18 = ((($0)) + 4|0); + HEAP32[$$sroa$9$0$$sroa_idx18>>2] = $2; + $$sroa$12$0$$sroa_idx21 = ((($0)) + 8|0); + HEAP32[$$sroa$12$0$$sroa_idx21>>2] = $3; + $$sroa$15$0$$sroa_idx24 = ((($0)) + 12|0); + HEAP32[$$sroa$15$0$$sroa_idx24>>2] = 1; + $$sroa$16$0$$sroa_idx26 = ((($0)) + 16|0); + HEAP32[$$sroa$16$0$$sroa_idx26>>2] = 7; + return; +} +function _ImageFormat($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0166199 = 0, $$0167197 = 0, $$0168195 = 0, $$0169192 = 0, $$0170190 = 0, $$0171188 = 0, $$0172189 = 0, $$0202 = 0, $$1194 = 0, $$2201 = 0, $$byval_copy = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0.0, $103 = 0.0, $104 = 0.0, $105 = 0, $106 = 0, $107 = 0; + var $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0; + var $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0; + var $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0; + var $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0.0, $17 = 0, $170 = 0.0, $171 = 0.0, $172 = 0, $173 = 0, $174 = 0, $175 = 0.0, $176 = 0.0, $177 = 0.0, $178 = 0, $179 = 0, $18 = 0; + var $180 = 0, $181 = 0.0, $182 = 0.0, $183 = 0.0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0.0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0; + var $199 = 0, $2 = 0, $20 = 0.0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0; + var $216 = 0, $217 = 0, $218 = 0.0, $219 = 0.0, $22 = 0, $220 = 0.0, $221 = 0, $222 = 0, $223 = 0, $224 = 0.0, $225 = 0.0, $226 = 0.0, $227 = 0, $228 = 0, $229 = 0, $23 = 0.0, $230 = 0.0, $231 = 0.0, $232 = 0.0, $233 = 0; + var $234 = 0, $235 = 0, $236 = 0.0, $237 = 0.0, $238 = 0.0, $239 = 0, $24 = 0.0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0.0, $250 = 0, $251 = 0; + var $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0; + var $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0.0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0; + var $289 = 0, $29 = 0.0, $290 = 0, $3 = 0, $30 = 0.0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0.0, $53 = 0.0, $54 = 0, $55 = 0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0, $6 = 0, $60 = 0, $61 = 0.0, $62 = 0.0; + var $63 = 0.0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0; + var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0.0, $91 = 0.0, $92 = 0.0, $93 = 0, $94 = 0, $95 = 0, $96 = 0.0, $97 = 0.0, $98 = 0.0, $99 = 0; + var $or$cond = 0, $roundf = 0.0, $roundf173 = 0.0, $roundf174 = 0.0, $roundf175 = 0.0, $roundf176 = 0.0, $roundf177 = 0.0, $roundf178 = 0.0, $roundf179 = 0.0, $roundf180 = 0.0, $roundf181 = 0.0, $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $$byval_copy = sp + 4|0; + $vararg_buffer = sp; + $2 = ((($0)) + 16|0); + $3 = HEAP32[$2>>2]|0; + $4 = ($3|0)==($1|0); + if ($4) { + STACKTOP = sp;return; + } + $5 = ($3|0)<(8); + $6 = ($1|0)<(8); + $or$cond = $6 & $5; + if (!($or$cond)) { + _TraceLog(1,7113,$vararg_buffer); + STACKTOP = sp;return; + } + ;HEAP32[$$byval_copy>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$0+16>>2]|0; + $7 = (_GetImageData($$byval_copy)|0); + $8 = HEAP32[$0>>2]|0; + _free($8); + HEAP32[$2>>2] = $1; + switch ($1|0) { + case 1: { + $9 = ((($0)) + 4|0); + $10 = HEAP32[$9>>2]|0; + $11 = ((($0)) + 8|0); + $12 = HEAP32[$11>>2]|0; + $13 = Math_imul($12, $10)|0; + $14 = (_malloc($13)|0); + HEAP32[$0>>2] = $14; + $15 = Math_imul($12, $10)|0; + $16 = ($15|0)>(0); + if ($16) { + $$0171188 = 0; + while(1) { + $17 = (($7) + ($$0171188<<2)|0); + $18 = HEAP8[$17>>0]|0; + $19 = (+($18&255)); + $20 = $19 * 0.29899999499320984; + $21 = (((($7) + ($$0171188<<2)|0)) + 1|0); + $22 = HEAP8[$21>>0]|0; + $23 = (+($22&255)); + $24 = $23 * 0.58700001239776611; + $25 = $20 + $24; + $26 = (((($7) + ($$0171188<<2)|0)) + 2|0); + $27 = HEAP8[$26>>0]|0; + $28 = (+($27&255)); + $29 = $28 * 0.11400000005960464; + $30 = $25 + $29; + $31 = (~~(($30))&255); + $32 = HEAP32[$0>>2]|0; + $33 = (($32) + ($$0171188)|0); + HEAP8[$33>>0] = $31; + $34 = (($$0171188) + 1)|0; + $35 = HEAP32[$9>>2]|0; + $36 = HEAP32[$11>>2]|0; + $37 = Math_imul($36, $35)|0; + $38 = ($34|0)<($37|0); + if ($38) { + $$0171188 = $34; + } else { + break; + } + } + } + break; + } + case 2: { + $39 = ((($0)) + 4|0); + $40 = HEAP32[$39>>2]|0; + $41 = ((($0)) + 8|0); + $42 = HEAP32[$41>>2]|0; + $43 = $40 << 1; + $44 = Math_imul($43, $42)|0; + $45 = (_malloc($44)|0); + HEAP32[$0>>2] = $45; + $46 = HEAP32[$39>>2]|0; + $47 = $46 << 1; + $48 = Math_imul($47, $42)|0; + $49 = ($48|0)>(0); + if ($49) { + $$0170190 = 0;$$0172189 = 0; + while(1) { + $50 = (($7) + ($$0172189<<2)|0); + $51 = HEAP8[$50>>0]|0; + $52 = (+($51&255)); + $53 = $52 * 0.29899999499320984; + $54 = (((($7) + ($$0172189<<2)|0)) + 1|0); + $55 = HEAP8[$54>>0]|0; + $56 = (+($55&255)); + $57 = $56 * 0.58700001239776611; + $58 = $53 + $57; + $59 = (((($7) + ($$0172189<<2)|0)) + 2|0); + $60 = HEAP8[$59>>0]|0; + $61 = (+($60&255)); + $62 = $61 * 0.11400000005960464; + $63 = $58 + $62; + $64 = (~~(($63))&255); + $65 = HEAP32[$0>>2]|0; + $66 = (($65) + ($$0170190)|0); + HEAP8[$66>>0] = $64; + $67 = (((($7) + ($$0172189<<2)|0)) + 3|0); + $68 = HEAP8[$67>>0]|0; + $69 = HEAP32[$0>>2]|0; + $70 = $$0170190 | 1; + $71 = (($69) + ($70)|0); + HEAP8[$71>>0] = $68; + $72 = (($$0172189) + 1)|0; + $73 = (($$0170190) + 2)|0; + $74 = HEAP32[$39>>2]|0; + $75 = HEAP32[$41>>2]|0; + $76 = $74 << 1; + $77 = Math_imul($76, $75)|0; + $78 = ($73|0)<($77|0); + if ($78) { + $$0170190 = $73;$$0172189 = $72; + } else { + break; + } + } + } + break; + } + case 3: { + $79 = ((($0)) + 4|0); + $80 = HEAP32[$79>>2]|0; + $81 = ((($0)) + 8|0); + $82 = HEAP32[$81>>2]|0; + $83 = $80 << 1; + $84 = Math_imul($83, $82)|0; + $85 = (_malloc($84)|0); + HEAP32[$0>>2] = $85; + $86 = HEAP32[$79>>2]|0; + $87 = Math_imul($82, $86)|0; + $88 = ($87|0)>(0); + if ($88) { + $89 = HEAP8[$7>>0]|0; + $90 = (+($89&255)); + $91 = $90 * 31.0; + $92 = $91 / 255.0; + $roundf179 = (+_roundf((+$92))); + $93 = (~~(($roundf179))&255); + $94 = ((($7)) + 1|0); + $95 = HEAP8[$94>>0]|0; + $96 = (+($95&255)); + $97 = $96 * 63.0; + $98 = $97 / 255.0; + $roundf180 = (+_roundf((+$98))); + $99 = (~~(($roundf180))&255); + $100 = ((($7)) + 2|0); + $101 = HEAP8[$100>>0]|0; + $102 = (+($101&255)); + $103 = $102 * 31.0; + $104 = $103 / 255.0; + $roundf181 = (+_roundf((+$104))); + $105 = (~~(($roundf181))&255); + $106 = $93&255; + $107 = $106 << 11; + $108 = $99&255; + $109 = $108 << 5; + $110 = $109 | $107; + $111 = $105&255; + $112 = $110 | $111; + $113 = $112&65535; + $114 = HEAP32[$0>>2]|0; + $115 = HEAP32[$79>>2]|0; + $116 = HEAP32[$81>>2]|0; + $117 = Math_imul($116, $115)|0; + $$0169192 = 0; + while(1) { + $118 = (($114) + ($$0169192<<1)|0); + HEAP16[$118>>1] = $113; + $119 = (($$0169192) + 1)|0; + $120 = ($119|0)<($117|0); + if ($120) { + $$0169192 = $119; + } else { + break; + } + } + } + break; + } + case 4: { + $121 = ((($0)) + 4|0); + $122 = HEAP32[$121>>2]|0; + $123 = ((($0)) + 8|0); + $124 = HEAP32[$123>>2]|0; + $125 = ($122*3)|0; + $126 = Math_imul($125, $124)|0; + $127 = (_malloc($126)|0); + HEAP32[$0>>2] = $127; + $128 = HEAP32[$121>>2]|0; + $129 = ($128*3)|0; + $130 = Math_imul($129, $124)|0; + $131 = ($130|0)>(0); + if ($131) { + $$0168195 = 0;$$1194 = 0; + while(1) { + $132 = (($7) + ($$1194<<2)|0); + $133 = HEAP8[$132>>0]|0; + $134 = HEAP32[$0>>2]|0; + $135 = (($134) + ($$0168195)|0); + HEAP8[$135>>0] = $133; + $136 = (((($7) + ($$1194<<2)|0)) + 1|0); + $137 = HEAP8[$136>>0]|0; + $138 = HEAP32[$0>>2]|0; + $139 = (($$0168195) + 1)|0; + $140 = (($138) + ($139)|0); + HEAP8[$140>>0] = $137; + $141 = (((($7) + ($$1194<<2)|0)) + 2|0); + $142 = HEAP8[$141>>0]|0; + $143 = HEAP32[$0>>2]|0; + $144 = (($$0168195) + 2)|0; + $145 = (($143) + ($144)|0); + HEAP8[$145>>0] = $142; + $146 = (($$1194) + 1)|0; + $147 = (($$0168195) + 3)|0; + $148 = HEAP32[$121>>2]|0; + $149 = HEAP32[$123>>2]|0; + $150 = ($148*3)|0; + $151 = Math_imul($150, $149)|0; + $152 = ($147|0)<($151|0); + if ($152) { + $$0168195 = $147;$$1194 = $146; + } else { + break; + } + } + } + break; + } + case 5: { + $153 = ((($0)) + 4|0); + $154 = HEAP32[$153>>2]|0; + $155 = ((($0)) + 8|0); + $156 = HEAP32[$155>>2]|0; + $157 = $154 << 1; + $158 = Math_imul($157, $156)|0; + $159 = (_malloc($158)|0); + HEAP32[$0>>2] = $159; + $160 = HEAP32[$153>>2]|0; + $161 = Math_imul($156, $160)|0; + $162 = ($161|0)>(0); + if ($162) { + $163 = HEAP32[$0>>2]|0; + $164 = HEAP32[$153>>2]|0; + $165 = HEAP32[$155>>2]|0; + $166 = Math_imul($165, $164)|0; + $$0167197 = 0; + while(1) { + $167 = (($7) + ($$0167197<<2)|0); + $168 = HEAP8[$167>>0]|0; + $169 = (+($168&255)); + $170 = $169 * 31.0; + $171 = $170 / 255.0; + $roundf176 = (+_roundf((+$171))); + $172 = (~~(($roundf176))&255); + $173 = (((($7) + ($$0167197<<2)|0)) + 1|0); + $174 = HEAP8[$173>>0]|0; + $175 = (+($174&255)); + $176 = $175 * 31.0; + $177 = $176 / 255.0; + $roundf177 = (+_roundf((+$177))); + $178 = (~~(($roundf177))&255); + $179 = (((($7) + ($$0167197<<2)|0)) + 2|0); + $180 = HEAP8[$179>>0]|0; + $181 = (+($180&255)); + $182 = $181 * 31.0; + $183 = $182 / 255.0; + $roundf178 = (+_roundf((+$183))); + $184 = (~~(($roundf178))&255); + $185 = (((($7) + ($$0167197<<2)|0)) + 3|0); + $186 = HEAP8[$185>>0]|0; + $187 = ($186&255)>(50); + $188 = $172&255; + $189 = $188 << 11; + $190 = $178&255; + $191 = $190 << 6; + $192 = $191 | $189; + $193 = $184&255; + $194 = $193 << 1; + $195 = $192 | $194; + $196 = $187&1; + $197 = $195 | $196; + $198 = $197&65535; + $199 = (($163) + ($$0167197<<1)|0); + HEAP16[$199>>1] = $198; + $200 = (($$0167197) + 1)|0; + $201 = ($200|0)<($166|0); + if ($201) { + $$0167197 = $200; + } else { + break; + } + } + } + break; + } + case 6: { + $202 = ((($0)) + 4|0); + $203 = HEAP32[$202>>2]|0; + $204 = ((($0)) + 8|0); + $205 = HEAP32[$204>>2]|0; + $206 = $203 << 1; + $207 = Math_imul($206, $205)|0; + $208 = (_malloc($207)|0); + HEAP32[$0>>2] = $208; + $209 = HEAP32[$202>>2]|0; + $210 = Math_imul($205, $209)|0; + $211 = ($210|0)>(0); + if ($211) { + $212 = HEAP32[$0>>2]|0; + $213 = HEAP32[$202>>2]|0; + $214 = HEAP32[$204>>2]|0; + $215 = Math_imul($214, $213)|0; + $$0166199 = 0; + while(1) { + $216 = (($7) + ($$0166199<<2)|0); + $217 = HEAP8[$216>>0]|0; + $218 = (+($217&255)); + $219 = $218 * 15.0; + $220 = $219 / 255.0; + $roundf = (+_roundf((+$220))); + $221 = (~~(($roundf))&255); + $222 = (((($7) + ($$0166199<<2)|0)) + 1|0); + $223 = HEAP8[$222>>0]|0; + $224 = (+($223&255)); + $225 = $224 * 15.0; + $226 = $225 / 255.0; + $roundf173 = (+_roundf((+$226))); + $227 = (~~(($roundf173))&255); + $228 = (((($7) + ($$0166199<<2)|0)) + 2|0); + $229 = HEAP8[$228>>0]|0; + $230 = (+($229&255)); + $231 = $230 * 15.0; + $232 = $231 / 255.0; + $roundf174 = (+_roundf((+$232))); + $233 = (~~(($roundf174))&255); + $234 = (((($7) + ($$0166199<<2)|0)) + 3|0); + $235 = HEAP8[$234>>0]|0; + $236 = (+($235&255)); + $237 = $236 * 15.0; + $238 = $237 / 255.0; + $roundf175 = (+_roundf((+$238))); + $239 = (~~(($roundf175))&255); + $240 = $221&255; + $241 = $240 << 12; + $242 = $227&255; + $243 = $242 << 8; + $244 = $243 | $241; + $245 = $233&255; + $246 = $245 << 4; + $247 = $244 | $246; + $248 = $239&255; + $249 = $247 | $248; + $250 = $249&65535; + $251 = (($212) + ($$0166199<<1)|0); + HEAP16[$251>>1] = $250; + $252 = (($$0166199) + 1)|0; + $253 = ($252|0)<($215|0); + if ($253) { + $$0166199 = $252; + } else { + break; + } + } + } + break; + } + case 7: { + $254 = ((($0)) + 4|0); + $255 = HEAP32[$254>>2]|0; + $256 = ((($0)) + 8|0); + $257 = HEAP32[$256>>2]|0; + $258 = $255 << 2; + $259 = Math_imul($258, $257)|0; + $260 = (_malloc($259)|0); + HEAP32[$0>>2] = $260; + $261 = HEAP32[$254>>2]|0; + $262 = $261 << 2; + $263 = Math_imul($262, $257)|0; + $264 = ($263|0)>(0); + if ($264) { + $$0202 = 0;$$2201 = 0; + while(1) { + $265 = (($7) + ($$2201<<2)|0); + $266 = HEAP8[$265>>0]|0; + $267 = HEAP32[$0>>2]|0; + $268 = (($267) + ($$0202)|0); + HEAP8[$268>>0] = $266; + $269 = (((($7) + ($$2201<<2)|0)) + 1|0); + $270 = HEAP8[$269>>0]|0; + $271 = HEAP32[$0>>2]|0; + $272 = $$0202 | 1; + $273 = (($271) + ($272)|0); + HEAP8[$273>>0] = $270; + $274 = (((($7) + ($$2201<<2)|0)) + 2|0); + $275 = HEAP8[$274>>0]|0; + $276 = HEAP32[$0>>2]|0; + $277 = $$0202 | 2; + $278 = (($276) + ($277)|0); + HEAP8[$278>>0] = $275; + $279 = (((($7) + ($$2201<<2)|0)) + 3|0); + $280 = HEAP8[$279>>0]|0; + $281 = HEAP32[$0>>2]|0; + $282 = $$0202 | 3; + $283 = (($281) + ($282)|0); + HEAP8[$283>>0] = $280; + $284 = (($$2201) + 1)|0; + $285 = (($$0202) + 4)|0; + $286 = HEAP32[$254>>2]|0; + $287 = HEAP32[$256>>2]|0; + $288 = $286 << 2; + $289 = Math_imul($288, $287)|0; + $290 = ($285|0)<($289|0); + if ($290) { + $$0202 = $285;$$2201 = $284; + } else { + break; + } + } + } + break; + } + default: { + } + } + _free($7); + STACKTOP = sp;return; +} +function _LoadTextureFromImage($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$sroa$10$0$$sroa_idx6 = 0, $$sroa$12$0$$sroa_idx8 = 0, $$sroa$6$0$$sroa_idx2 = 0, $$sroa$8$0$$sroa_idx4 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0; + var $vararg_ptr4 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $vararg_buffer = sp; + $2 = HEAP32[$1>>2]|0; + $3 = ((($1)) + 4|0); + $4 = HEAP32[$3>>2]|0; + $5 = ((($1)) + 8|0); + $6 = HEAP32[$5>>2]|0; + $7 = ((($1)) + 16|0); + $8 = HEAP32[$7>>2]|0; + $9 = ((($1)) + 12|0); + $10 = HEAP32[$9>>2]|0; + $11 = (_rlglLoadTexture($2,$4,$6,$8,$10)|0); + $12 = HEAP32[$3>>2]|0; + $13 = HEAP32[$5>>2]|0; + HEAP32[$vararg_buffer>>2] = $11; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $12; + $vararg_ptr2 = ((($vararg_buffer)) + 8|0); + HEAP32[$vararg_ptr2>>2] = $13; + $vararg_ptr3 = ((($vararg_buffer)) + 12|0); + HEAP32[$vararg_ptr3>>2] = $10; + $vararg_ptr4 = ((($vararg_buffer)) + 16|0); + HEAP32[$vararg_ptr4>>2] = $8; + _TraceLog(0,6764,$vararg_buffer); + HEAP32[$0>>2] = $11; + $$sroa$6$0$$sroa_idx2 = ((($0)) + 4|0); + HEAP32[$$sroa$6$0$$sroa_idx2>>2] = $12; + $$sroa$8$0$$sroa_idx4 = ((($0)) + 8|0); + HEAP32[$$sroa$8$0$$sroa_idx4>>2] = $13; + $$sroa$10$0$$sroa_idx6 = ((($0)) + 12|0); + HEAP32[$$sroa$10$0$$sroa_idx6>>2] = $10; + $$sroa$12$0$$sroa_idx8 = ((($0)) + 16|0); + HEAP32[$$sroa$12$0$$sroa_idx8>>2] = $8; + STACKTOP = sp;return; +} +function _UnloadImage($0) { + $0 = $0|0; + var $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP32[$0>>2]|0; + _free($1); + return; +} +function _rlglLoadTexture($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$0 = 0, $$off = 0, $$off92 = 0, $$off93 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; + var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; + var $46 = 0, $47 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond100 = 0, $or$cond7 = 0, $or$cond96 = 0, $or$cond98 = 0, $switch = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer11 = 0, $vararg_buffer15 = 0, $vararg_buffer3 = 0, $vararg_buffer5 = 0, $vararg_buffer7 = 0; + var $vararg_buffer9 = 0, $vararg_ptr13 = 0, $vararg_ptr14 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0); + $vararg_buffer15 = sp + 64|0; + $vararg_buffer11 = sp + 48|0; + $vararg_buffer9 = sp + 40|0; + $vararg_buffer7 = sp + 32|0; + $vararg_buffer5 = sp + 24|0; + $vararg_buffer3 = sp + 16|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $5 = sp + 68|0; + _glBindTexture(3553,0); + HEAP32[$5>>2] = 0; + $6 = HEAP32[6387]|0; + $7 = ($6|0)==(0); + $8 = $3 & -4; + $switch = ($8|0)==(8); + $or$cond100 = $switch & $7; + if ($or$cond100) { + _TraceLog(1,6811,$vararg_buffer); + $$0 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($$0|0); + } + $9 = HEAP32[6388]|0; + $10 = ($9|0)==(0); + $11 = ($3|0)==(12); + $or$cond7 = $11 & $10; + if ($or$cond7) { + _TraceLog(1,6855,$vararg_buffer1); + $$0 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($$0|0); + } + $12 = HEAP32[6389]|0; + $13 = ($12|0)==(0); + $$off = (($3) + -13)|0; + $14 = ($$off>>>0)<(2); + $or$cond = $14 & $13; + if ($or$cond) { + _TraceLog(1,6900,$vararg_buffer3); + $$0 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($$0|0); + } + $15 = HEAP32[6390]|0; + $16 = ($15|0)==(0); + $$off92 = (($3) + -15)|0; + $17 = ($$off92>>>0)<(2); + $or$cond96 = $17 & $16; + if ($or$cond96) { + _TraceLog(1,6945,$vararg_buffer5); + $$0 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($$0|0); + } + $18 = HEAP32[6391]|0; + $19 = ($18|0)==(0); + $$off93 = (($3) + -17)|0; + $20 = ($$off93>>>0)<(2); + $or$cond98 = $20 & $19; + if ($or$cond98) { + _TraceLog(1,6990,$vararg_buffer7); + $$0 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($$0|0); + } + _glGenTextures(1,($5|0)); + $21 = HEAP32[$5>>2]|0; + _glBindTexture(3553,($21|0)); + do { + switch ($3|0) { + case 1: { + _glTexImage2D(3553,0,6409,($1|0),($2|0),0,6409,5121,($0|0)); + break; + } + case 2: { + _glTexImage2D(3553,0,6410,($1|0),($2|0),0,6410,5121,($0|0)); + break; + } + case 3: { + _glTexImage2D(3553,0,6407,($1|0),($2|0),0,6407,33635,($0|0)); + break; + } + case 4: { + _glTexImage2D(3553,0,6407,($1|0),($2|0),0,6407,5121,($0|0)); + break; + } + case 5: { + _glTexImage2D(3553,0,6408,($1|0),($2|0),0,6408,32820,($0|0)); + break; + } + case 6: { + _glTexImage2D(3553,0,6408,($1|0),($2|0),0,6408,32819,($0|0)); + break; + } + case 7: { + _glTexImage2D(3553,0,6408,($1|0),($2|0),0,6408,5121,($0|0)); + break; + } + case 8: { + $22 = HEAP32[6387]|0; + $23 = ($22|0)==(0); + if (!($23)) { + _LoadCompressedTexture($0,$1,$2,$4,33776); + } + break; + } + case 9: { + $24 = HEAP32[6387]|0; + $25 = ($24|0)==(0); + if (!($25)) { + _LoadCompressedTexture($0,$1,$2,$4,33777); + } + break; + } + case 10: { + $26 = HEAP32[6387]|0; + $27 = ($26|0)==(0); + if (!($27)) { + _LoadCompressedTexture($0,$1,$2,$4,33778); + } + break; + } + case 11: { + $28 = HEAP32[6387]|0; + $29 = ($28|0)==(0); + if (!($29)) { + _LoadCompressedTexture($0,$1,$2,$4,33779); + } + break; + } + case 12: { + $30 = HEAP32[6388]|0; + $31 = ($30|0)==(0); + if (!($31)) { + _LoadCompressedTexture($0,$1,$2,$4,36196); + } + break; + } + case 13: { + $32 = HEAP32[6389]|0; + $33 = ($32|0)==(0); + if (!($33)) { + _LoadCompressedTexture($0,$1,$2,$4,37492); + } + break; + } + case 14: { + $34 = HEAP32[6389]|0; + $35 = ($34|0)==(0); + if (!($35)) { + _LoadCompressedTexture($0,$1,$2,$4,37496); + } + break; + } + case 15: { + $36 = HEAP32[6390]|0; + $37 = ($36|0)==(0); + if (!($37)) { + _LoadCompressedTexture($0,$1,$2,$4,35840); + } + break; + } + case 16: { + $38 = HEAP32[6390]|0; + $39 = ($38|0)==(0); + if (!($39)) { + _LoadCompressedTexture($0,$1,$2,$4,35842); + } + break; + } + case 17: { + $40 = HEAP32[6391]|0; + $41 = ($40|0)==(0); + if (!($41)) { + _LoadCompressedTexture($0,$1,$2,$4,37808); + } + break; + } + case 18: { + $42 = HEAP32[6391]|0; + $43 = ($42|0)==(0); + if (!($43)) { + _LoadCompressedTexture($0,$1,$2,$4,37815); + } + break; + } + default: { + _TraceLog(1,7035,$vararg_buffer9); + } + } + } while(0); + $44 = HEAP32[6392]|0; + $45 = ($44|0)==(0); + if ($45) { + _glTexParameteri(3553,10242,33071); + _glTexParameteri(3553,10243,33071); + } else { + _glTexParameteri(3553,10242,10497); + _glTexParameteri(3553,10243,10497); + } + _glTexParameteri(3553,10240,9728); + _glTexParameteri(3553,10241,9728); + _glBindTexture(3553,0); + $46 = HEAP32[$5>>2]|0; + $47 = ($46|0)==(0); + if ($47) { + _TraceLog(1,13883,$vararg_buffer15); + $$0 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($$0|0); + } else { + HEAP32[$vararg_buffer11>>2] = $46; + $vararg_ptr13 = ((($vararg_buffer11)) + 4|0); + HEAP32[$vararg_ptr13>>2] = $1; + $vararg_ptr14 = ((($vararg_buffer11)) + 8|0); + HEAP32[$vararg_ptr14>>2] = $2; + _TraceLog(0,7064,$vararg_buffer11); + $$0 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($$0|0); + } + return (0)|0; +} +function _LoadCompressedTexture($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$ = 0, $$03645 = 0, $$03744 = 0, $$038 = 0, $$03943 = 0, $$046 = 0, $$140 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0; + var $23 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond42 = 0, label = 0, sp = 0; + sp = STACKTOP; + _glPixelStorei(3317,1); + switch ($4|0) { + case 33776: case 33777: case 36196: case 37492: { + $$038 = 8; + break; + } + default: { + $$038 = 16; + } + } + $5 = ($3|0)<(1); + $6 = $1 | $2; + $7 = ($6|0)==(0); + $or$cond42 = $5 | $7; + if ($or$cond42) { + return; + } else { + $$03645 = 0;$$03744 = 0;$$03943 = $2;$$046 = $1; + } + while(1) { + $8 = (($$046) + 3)|0; + $9 = (($8|0) / 4)&-1; + $10 = (($$03943) + 3)|0; + $11 = (($10|0) / 4)&-1; + $12 = Math_imul($11, $$038)|0; + $13 = Math_imul($12, $9)|0; + $14 = (($0) + ($$03744)|0); + _glCompressedTexImage2D(3553,($$03645|0),($4|0),($$046|0),($$03943|0),0,($13|0),($14|0)); + $15 = (($13) + ($$03744))|0; + $16 = (($$046|0) / 2)&-1; + $17 = (($$03943|0) / 2)&-1; + $18 = ($$046|0)<(2); + $$ = $18 ? 1 : $16; + $19 = ($$03943|0)<(2); + $$140 = $19 ? 1 : $17; + $20 = (($$03645) + 1)|0; + $21 = ($20|0)>=($3|0); + $22 = $$ | $$140; + $23 = ($22|0)==(0); + $or$cond = $21 | $23; + if ($or$cond) { + break; + } else { + $$03645 = $20;$$03744 = $15;$$03943 = $$140;$$046 = $$; + } + } + return; +} +function _GetImageData($0) { + $0 = $0|0; + var $$0104105 = 0, $$0106 = 0, $$1 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0.0, $103 = 0.0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0; + var $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0; + var $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; + var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0.0, $4 = 0, $40 = 0.0, $41 = 0; + var $42 = 0, $43 = 0, $44 = 0, $45 = 0.0, $46 = 0.0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0.0, $52 = 0.0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0; + var $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0.0, $65 = 0.0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0.0, $71 = 0.0, $72 = 0, $73 = 0, $74 = 0, $75 = 0.0, $76 = 0.0, $77 = 0, $78 = 0; + var $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0.0, $86 = 0.0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0.0, $92 = 0.0, $93 = 0, $94 = 0, $95 = 0, $96 = 0; + var $97 = 0.0, $98 = 0.0, $99 = 0, $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $vararg_buffer = sp; + $1 = ((($0)) + 4|0); + $2 = HEAP32[$1>>2]|0; + $3 = ((($0)) + 8|0); + $4 = HEAP32[$3>>2]|0; + $5 = $2 << 2; + $6 = Math_imul($5, $4)|0; + $7 = (_malloc($6)|0); + $8 = HEAP32[$1>>2]|0; + $9 = Math_imul($4, $8)|0; + $10 = ($9|0)>(0); + if (!($10)) { + STACKTOP = sp;return ($7|0); + } + $11 = ((($0)) + 16|0); + $12 = HEAP32[$11>>2]|0; + $13 = HEAP32[$0>>2]|0; + $$0104105 = 0;$$0106 = 0; + while(1) { + switch ($12|0) { + case 1: { + $14 = (($13) + ($$0106)|0); + $15 = HEAP8[$14>>0]|0; + $16 = (($7) + ($$0104105<<2)|0); + HEAP8[$16>>0] = $15; + $17 = HEAP8[$14>>0]|0; + $18 = (((($7) + ($$0104105<<2)|0)) + 1|0); + HEAP8[$18>>0] = $17; + $19 = HEAP8[$14>>0]|0; + $20 = (((($7) + ($$0104105<<2)|0)) + 2|0); + HEAP8[$20>>0] = $19; + $21 = (((($7) + ($$0104105<<2)|0)) + 3|0); + HEAP8[$21>>0] = -1; + $22 = (($$0106) + 1)|0; + $$1 = $22; + break; + } + case 2: { + $23 = (($13) + ($$0106)|0); + $24 = HEAP8[$23>>0]|0; + $25 = (($7) + ($$0104105<<2)|0); + HEAP8[$25>>0] = $24; + $26 = HEAP8[$23>>0]|0; + $27 = (((($7) + ($$0104105<<2)|0)) + 1|0); + HEAP8[$27>>0] = $26; + $28 = HEAP8[$23>>0]|0; + $29 = (((($7) + ($$0104105<<2)|0)) + 2|0); + HEAP8[$29>>0] = $28; + $30 = (($$0106) + 1)|0; + $31 = (($13) + ($30)|0); + $32 = HEAP8[$31>>0]|0; + $33 = (((($7) + ($$0104105<<2)|0)) + 3|0); + HEAP8[$33>>0] = $32; + $34 = (($$0106) + 2)|0; + $$1 = $34; + break; + } + case 5: { + $35 = (($13) + ($$0106<<1)|0); + $36 = HEAP16[$35>>1]|0; + $37 = $36&65535; + $38 = $37 >>> 11; + $39 = (+($38|0)); + $40 = $39 * 8.0; + $41 = (~~(($40))&255); + $42 = (($7) + ($$0104105<<2)|0); + HEAP8[$42>>0] = $41; + $43 = $37 >>> 6; + $44 = $43 & 31; + $45 = (+($44|0)); + $46 = $45 * 8.0; + $47 = (~~(($46))&255); + $48 = (((($7) + ($$0104105<<2)|0)) + 1|0); + HEAP8[$48>>0] = $47; + $49 = $37 >>> 1; + $50 = $49 & 31; + $51 = (+($50|0)); + $52 = $51 * 8.0; + $53 = (~~(($52))&255); + $54 = (((($7) + ($$0104105<<2)|0)) + 2|0); + HEAP8[$54>>0] = $53; + $55 = $37 & 1; + $56 = (0 - ($55))|0; + $57 = $56&255; + $58 = (((($7) + ($$0104105<<2)|0)) + 3|0); + HEAP8[$58>>0] = $57; + $59 = (($$0106) + 1)|0; + $$1 = $59; + break; + } + case 3: { + $60 = (($13) + ($$0106<<1)|0); + $61 = HEAP16[$60>>1]|0; + $62 = $61&65535; + $63 = $62 >>> 11; + $64 = (+($63|0)); + $65 = $64 * 8.0; + $66 = (~~(($65))&255); + $67 = (($7) + ($$0104105<<2)|0); + HEAP8[$67>>0] = $66; + $68 = $62 >>> 5; + $69 = $68 & 63; + $70 = (+($69|0)); + $71 = $70 * 4.0; + $72 = (~~(($71))&255); + $73 = (((($7) + ($$0104105<<2)|0)) + 1|0); + HEAP8[$73>>0] = $72; + $74 = $62 & 31; + $75 = (+($74|0)); + $76 = $75 * 8.0; + $77 = (~~(($76))&255); + $78 = (((($7) + ($$0104105<<2)|0)) + 2|0); + HEAP8[$78>>0] = $77; + $79 = (((($7) + ($$0104105<<2)|0)) + 3|0); + HEAP8[$79>>0] = -1; + $80 = (($$0106) + 1)|0; + $$1 = $80; + break; + } + case 6: { + $81 = (($13) + ($$0106<<1)|0); + $82 = HEAP16[$81>>1]|0; + $83 = $82&65535; + $84 = $83 >>> 12; + $85 = (+($84|0)); + $86 = $85 * 17.0; + $87 = (~~(($86))&255); + $88 = (($7) + ($$0104105<<2)|0); + HEAP8[$88>>0] = $87; + $89 = $83 >>> 8; + $90 = $89 & 15; + $91 = (+($90|0)); + $92 = $91 * 17.0; + $93 = (~~(($92))&255); + $94 = (((($7) + ($$0104105<<2)|0)) + 1|0); + HEAP8[$94>>0] = $93; + $95 = $83 >>> 4; + $96 = $95 & 15; + $97 = (+($96|0)); + $98 = $97 * 17.0; + $99 = (~~(($98))&255); + $100 = (((($7) + ($$0104105<<2)|0)) + 2|0); + HEAP8[$100>>0] = $99; + $101 = $83 & 15; + $102 = (+($101|0)); + $103 = $102 * 17.0; + $104 = (~~(($103))&255); + $105 = (((($7) + ($$0104105<<2)|0)) + 3|0); + HEAP8[$105>>0] = $104; + $106 = (($$0106) + 1)|0; + $$1 = $106; + break; + } + case 7: { + $107 = (($13) + ($$0106)|0); + $108 = HEAP8[$107>>0]|0; + $109 = (($7) + ($$0104105<<2)|0); + HEAP8[$109>>0] = $108; + $110 = (($$0106) + 1)|0; + $111 = (($13) + ($110)|0); + $112 = HEAP8[$111>>0]|0; + $113 = (((($7) + ($$0104105<<2)|0)) + 1|0); + HEAP8[$113>>0] = $112; + $114 = (($$0106) + 2)|0; + $115 = (($13) + ($114)|0); + $116 = HEAP8[$115>>0]|0; + $117 = (((($7) + ($$0104105<<2)|0)) + 2|0); + HEAP8[$117>>0] = $116; + $118 = (($$0106) + 3)|0; + $119 = (($13) + ($118)|0); + $120 = HEAP8[$119>>0]|0; + $121 = (((($7) + ($$0104105<<2)|0)) + 3|0); + HEAP8[$121>>0] = $120; + $122 = (($$0106) + 4)|0; + $$1 = $122; + break; + } + case 4: { + $123 = (($13) + ($$0106)|0); + $124 = HEAP8[$123>>0]|0; + $125 = (($7) + ($$0104105<<2)|0); + HEAP8[$125>>0] = $124; + $126 = (($$0106) + 1)|0; + $127 = (($13) + ($126)|0); + $128 = HEAP8[$127>>0]|0; + $129 = (((($7) + ($$0104105<<2)|0)) + 1|0); + HEAP8[$129>>0] = $128; + $130 = (($$0106) + 2)|0; + $131 = (($13) + ($130)|0); + $132 = HEAP8[$131>>0]|0; + $133 = (((($7) + ($$0104105<<2)|0)) + 2|0); + HEAP8[$133>>0] = $132; + $134 = (((($7) + ($$0104105<<2)|0)) + 3|0); + HEAP8[$134>>0] = -1; + $135 = (($$0106) + 3)|0; + $$1 = $135; + break; + } + default: { + _TraceLog(1,7167,$vararg_buffer); + $$1 = $$0106; + } + } + $136 = (($$0104105) + 1)|0; + $137 = HEAP32[$1>>2]|0; + $138 = HEAP32[$3>>2]|0; + $139 = Math_imul($138, $137)|0; + $140 = ($136|0)<($139|0); + if ($140) { + $$0104105 = $136;$$0106 = $$1; + } else { + break; + } + } + STACKTOP = sp;return ($7|0); +} +function _ErrorCallback($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $vararg_buffer = sp; + HEAP32[$vararg_buffer>>2] = $0; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $1; + _TraceLog(1,11033,$vararg_buffer); + STACKTOP = sp;return; +} +function _rlGetVersion() { + var label = 0, sp = 0; + sp = STACKTOP; + return 4; +} +function _SetupFramebufferSize($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$sink = 0, $$sink1 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0.0, $16 = 0, $17 = 0, $18 = 0.0, $19 = 0.0, $2 = 0, $20 = 0, $21 = 0, $22 = 0.0, $23 = 0, $24 = 0, $25 = 0, $26 = 0.0; + var $27 = 0, $28 = 0.0, $29 = 0.0, $3 = 0, $30 = 0, $31 = 0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0, $36 = 0.0, $37 = 0, $38 = 0.0, $39 = 0.0, $4 = 0, $40 = 0, $41 = 0.0, $42 = 0, $43 = 0, $44 = 0.0; + var $45 = 0, $46 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0, $or$cond = 0, $roundf = 0.0, $roundf38 = 0.0, $roundf39 = 0.0, $roundf40 = 0.0, $vararg_buffer = 0, $vararg_buffer4 = 0, $vararg_buffer8 = 0, $vararg_ptr1 = 0, $vararg_ptr11 = 0, $vararg_ptr12 = 0, $vararg_ptr13 = 0, $vararg_ptr2 = 0; + var $vararg_ptr3 = 0, $vararg_ptr7 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0); + $vararg_buffer8 = sp + 24|0; + $vararg_buffer4 = sp + 16|0; + $vararg_buffer = sp; + $2 = sp + 40|0; + $3 = HEAP32[6371]|0; + $4 = ($3|0)>($0|0); + if (!($4)) { + $5 = HEAP32[6370]|0; + $6 = ($5|0)>($1|0); + if (!($6)) { + $30 = ($3|0)<($0|0); + $31 = ($5|0)<($1|0); + $or$cond = $30 | $31; + if (!($or$cond)) { + HEAP32[6412] = $3; + HEAP32[6413] = $5; + HEAP32[6414] = 0; + HEAP32[6415] = 0; + STACKTOP = sp;return; + } + HEAP32[$vararg_buffer8>>2] = $3; + $vararg_ptr11 = ((($vararg_buffer8)) + 4|0); + HEAP32[$vararg_ptr11>>2] = $5; + $vararg_ptr12 = ((($vararg_buffer8)) + 8|0); + HEAP32[$vararg_ptr12>>2] = $0; + $vararg_ptr13 = ((($vararg_buffer8)) + 12|0); + HEAP32[$vararg_ptr13>>2] = $1; + _TraceLog(0,10967,$vararg_buffer8); + $32 = (+($0|0)); + $33 = (+($1|0)); + $34 = $32 / $33; + $35 = HEAP32[6371]|0; + $36 = (+($35|0)); + $37 = HEAP32[6370]|0; + $38 = (+($37|0)); + $39 = $36 / $38; + $40 = !($34 <= $39); + if ($40) { + $44 = $34 * $38; + $roundf = (+_roundf((+$44))); + $45 = (~~(($roundf))); + HEAP32[6412] = $45; + HEAP32[6413] = $37; + $46 = (($45) - ($35))|0; + HEAP32[6414] = $46; + $$sink1 = 0; + } else { + HEAP32[6412] = $35; + $41 = $36 / $34; + $roundf38 = (+_roundf((+$41))); + $42 = (~~(($roundf38))); + HEAP32[6413] = $42; + HEAP32[6414] = 0; + $43 = (($42) - ($37))|0; + $$sink1 = $43; + } + HEAP32[6415] = $$sink1; + STACKTOP = sp;return; + } + } + $7 = HEAP32[6370]|0; + HEAP32[$vararg_buffer>>2] = $3; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $7; + $vararg_ptr2 = ((($vararg_buffer)) + 8|0); + HEAP32[$vararg_ptr2>>2] = $0; + $vararg_ptr3 = ((($vararg_buffer)) + 12|0); + HEAP32[$vararg_ptr3>>2] = $1; + _TraceLog(1,10824,$vararg_buffer); + $8 = (+($0|0)); + $9 = HEAP32[6371]|0; + $10 = (+($9|0)); + $11 = $8 / $10; + $12 = (+($1|0)); + $13 = HEAP32[6370]|0; + $14 = (+($13|0)); + $15 = $12 / $14; + $16 = !($11 <= $15); + if ($16) { + $22 = $10 * $15; + $roundf39 = (+_roundf((+$22))); + $23 = (~~(($roundf39))); + HEAP32[6412] = $23; + HEAP32[6413] = $1; + $24 = (($0) - ($23))|0; + HEAP32[6414] = $24; + $$sink = 0; + } else { + HEAP32[6412] = $0; + $17 = HEAP32[6370]|0; + $18 = (+($17|0)); + $19 = $11 * $18; + $roundf40 = (+_roundf((+$19))); + $20 = (~~(($roundf40))); + HEAP32[6413] = $20; + HEAP32[6414] = 0; + $21 = (($1) - ($20))|0; + $$sink = $21; + } + HEAP32[6415] = $$sink; + $25 = HEAP32[6412]|0; + $26 = (+($25|0)); + $27 = HEAP32[6371]|0; + $28 = (+($27|0)); + $29 = $26 / $28; + _MatrixScale($2,$29,$29,$29); + dest=25572; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + HEAP32[6412] = $0; + HEAP32[6413] = $1; + HEAP32[$vararg_buffer4>>2] = $0; + $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); + HEAP32[$vararg_ptr7>>2] = $1; + _TraceLog(1,10902,$vararg_buffer4); + STACKTOP = sp;return; +} +function _WindowSizeCallback($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $3 = 0.0, $4 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + _rlViewport(0,0,$1,$2); + _rlMatrixMode(5889); + _rlLoadIdentity(); + $3 = (+($1|0)); + $4 = (+($2|0)); + _rlOrtho(0.0,$3,$4,0.0,0.0,1.0); + _rlMatrixMode(5888); + _rlLoadIdentity(); + _rlClearScreenBuffers(); + HEAP32[6371] = $1; + HEAP32[6370] = $2; + HEAP32[6412] = $1; + HEAP32[6413] = $2; + return; +} +function _CursorEnterCallback($0,$1) { + $0 = $0|0; + $1 = $1|0; + var label = 0, sp = 0; + sp = STACKTOP; + return; +} +function _KeyCallback($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $5 = HEAP32[743]|0; + $6 = ($5|0)==($1|0); + $7 = ($3|0)==(1); + $or$cond = $7 & $6; + if ($or$cond) { + _glfwSetWindowShouldClose(($0|0),1); + return; + } + $8 = $3&255; + $9 = (29339 + ($1)|0); + HEAP8[$9>>0] = $8; + if (!($7)) { + return; + } + HEAP32[742] = $1; + return; +} +function _MouseButtonCallback($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$byval_copy = 0, $$sink = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0.0, $27 = 0.0; + var $28 = 0.0, $29 = 0, $30 = 0.0, $31 = 0, $32 = 0.0, $33 = 0.0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0); + $$byval_copy = sp + 64|0; + $4 = sp + 8|0; + $5 = sp; + $6 = $2&255; + $7 = (29333 + ($1)|0); + HEAP8[$7>>0] = $6; + $8 = (_IsMouseButtonPressed(0)|0); + $9 = ($8|0)==(0); + if ($9) { + $10 = (_IsMouseButtonReleased(0)|0); + $11 = ($10|0)==(0); + if (!($11)) { + $$sink = 0; + label = 3; + } + } else { + $$sink = 1; + label = 3; + } + if ((label|0) == 3) { + HEAP32[$4>>2] = $$sink; + } + $12 = ((($4)) + 8|0); + HEAP32[$12>>2] = 0; + $13 = ((($4)) + 4|0); + HEAP32[$13>>2] = 1; + $14 = ((($4)) + 24|0); + _GetMousePosition($5); + $15 = $5; + $16 = $15; + $17 = HEAP32[$16>>2]|0; + $18 = (($15) + 4)|0; + $19 = $18; + $20 = HEAP32[$19>>2]|0; + $21 = $14; + $22 = $21; + HEAP32[$22>>2] = $17; + $23 = (($21) + 4)|0; + $24 = $23; + HEAP32[$24>>2] = $20; + $25 = (_GetScreenWidth()|0); + $26 = (+($25|0)); + $27 = +HEAPF32[$14>>2]; + $28 = $27 / $26; + HEAPF32[$14>>2] = $28; + $29 = (_GetScreenHeight()|0); + $30 = (+($29|0)); + $31 = ((($4)) + 28|0); + $32 = +HEAPF32[$31>>2]; + $33 = $32 / $30; + HEAPF32[$31>>2] = $33; + dest=$$byval_copy; src=$4; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _ProcessGestureEvent($$byval_copy); + STACKTOP = sp;return; +} +function _MouseCursorPosCallback($0,$1,$2) { + $0 = $0|0; + $1 = +$1; + $2 = +$2; + var $$byval_copy = 0, $$sroa$0$0$$sroa_idx = 0, $$sroa$2$0$$sroa_idx1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0, $24 = 0.0, $25 = 0.0, $26 = 0.0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0); + $$byval_copy = sp + 56|0; + $3 = sp; + HEAP32[$3>>2] = 2; + $4 = ((($3)) + 8|0); + HEAP32[$4>>2] = 0; + $5 = ((($3)) + 4|0); + HEAP32[$5>>2] = 1; + $6 = $1; + $7 = $2; + $$sroa$0$0$$sroa_idx = ((($3)) + 24|0); + HEAPF32[$$sroa$0$0$$sroa_idx>>2] = $6; + $$sroa$2$0$$sroa_idx1 = ((($3)) + 28|0); + HEAPF32[$$sroa$2$0$$sroa_idx1>>2] = $7; + $8 = ((($3)) + 24|0); + $9 = $8; + $10 = $9; + $11 = HEAP32[$10>>2]|0; + $12 = (($9) + 4)|0; + $13 = $12; + $14 = HEAP32[$13>>2]|0; + $15 = 24688; + $16 = $15; + HEAP32[$16>>2] = $11; + $17 = (($15) + 4)|0; + $18 = $17; + HEAP32[$18>>2] = $14; + $19 = (_GetScreenWidth()|0); + $20 = (+($19|0)); + $21 = +HEAPF32[$8>>2]; + $22 = $21 / $20; + HEAPF32[$8>>2] = $22; + $23 = (_GetScreenHeight()|0); + $24 = (+($23|0)); + $25 = +HEAPF32[$$sroa$2$0$$sroa_idx1>>2]; + $26 = $25 / $24; + HEAPF32[$$sroa$2$0$$sroa_idx1>>2] = $26; + dest=$$byval_copy; src=$3; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _ProcessGestureEvent($$byval_copy); + STACKTOP = sp;return; +} +function _CharCallback($0,$1) { + $0 = $0|0; + $1 = $1|0; + var label = 0, sp = 0; + sp = STACKTOP; + HEAP32[742] = $1; + return; +} +function _ScrollCallback($0,$1,$2) { + $0 = $0|0; + $1 = +$1; + $2 = +$2; + var $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = (~~(($2))); + HEAP32[6785] = $3; + return; +} +function _WindowIconifyCallback($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$sink = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ($1|0)!=(0); + $$sink = $2&1; + HEAP32[6784] = $$sink; + return; +} +function _rlglInit($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$05965 = 0, $$06066 = 0, $$06167 = 0, $$062 = 0, $$sink63 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; + var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; + var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0; + var $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0.0, $72 = 0.0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0; + var $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $9 = 0, $exitcond = 0, $exitcond69 = 0, $exitcond70 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer13 = 0, $vararg_buffer15 = 0, $vararg_buffer17 = 0, $vararg_buffer19 = 0; + var $vararg_buffer21 = 0, $vararg_buffer23 = 0, $vararg_buffer25 = 0, $vararg_buffer27 = 0, $vararg_buffer29 = 0, $vararg_buffer31 = 0, $vararg_buffer34 = 0, $vararg_buffer36 = 0, $vararg_buffer39 = 0, $vararg_buffer4 = 0, $vararg_buffer41 = 0, $vararg_buffer7 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 2464|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(2464|0); + $vararg_buffer41 = sp + 2184|0; + $vararg_buffer39 = sp + 2176|0; + $vararg_buffer36 = sp + 2168|0; + $vararg_buffer34 = sp + 2160|0; + $vararg_buffer31 = sp + 2152|0; + $vararg_buffer29 = sp + 2144|0; + $vararg_buffer27 = sp + 2136|0; + $vararg_buffer25 = sp + 2128|0; + $vararg_buffer23 = sp + 2120|0; + $vararg_buffer21 = sp + 2112|0; + $vararg_buffer19 = sp + 2104|0; + $vararg_buffer17 = sp + 2096|0; + $vararg_buffer15 = sp + 2088|0; + $vararg_buffer13 = sp + 2080|0; + $vararg_buffer10 = sp + 2072|0; + $vararg_buffer7 = sp + 24|0; + $vararg_buffer4 = sp + 16|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $2 = sp + 2400|0; + $3 = sp + 2384|0; + $4 = sp + 2320|0; + $5 = sp + 2256|0; + $6 = sp + 2192|0; + $7 = (_glGetString(7936)|0); + HEAP32[$vararg_buffer>>2] = $7; + _TraceLog(0,7465,$vararg_buffer); + $8 = (_glGetString(7937)|0); + HEAP32[$vararg_buffer1>>2] = $8; + _TraceLog(0,7483,$vararg_buffer1); + $9 = (_glGetString(7938)|0); + HEAP32[$vararg_buffer4>>2] = $9; + _TraceLog(0,7501,$vararg_buffer4); + $10 = (_glGetString(35724)|0); + HEAP32[$vararg_buffer7>>2] = $10; + _TraceLog(0,7519,$vararg_buffer7); + $11 = (_glGetString(7939)|0); + $12 = (_strlen($11)|0); + $13 = (($12) + 1)|0; + $14 = (_malloc($13)|0); + _memcpy(($14|0),($11|0),($13|0))|0; + $$062 = 0;$$sink63 = $14; + while(1) { + $15 = (_strtok($$sink63,7537)|0); + $16 = (($vararg_buffer7) + ($$062<<2)|0); + HEAP32[$16>>2] = $15; + $17 = ($15|0)==(0|0); + $18 = (($$062) + 1)|0; + if ($17) { + break; + } else { + $$062 = $18;$$sink63 = 0; + } + } + _free($14); + $19 = (($$062) + -1)|0; + HEAP32[$vararg_buffer10>>2] = $19; + _TraceLog(0,7539,$vararg_buffer10); + $20 = ($$062|0)>(1); + if ($20) { + $$06167 = 0; + while(1) { + $23 = (($vararg_buffer7) + ($$06167<<2)|0); + $24 = HEAP32[$23>>2]|0; + $25 = (_strcmp($24,7574)|0); + $26 = ($25|0)==(0); + if ($26) { + HEAP32[6450] = 1; + $27 = (_eglGetProcAddress((7601|0))|0); + HEAP32[6451] = $27; + $28 = (_eglGetProcAddress((7622|0))|0); + HEAP32[6452] = $28; + $29 = (_eglGetProcAddress((7643|0))|0); + HEAP32[6453] = $29; + } + $30 = (_strcmp($24,7667)|0); + $31 = ($30|0)==(0); + if ($31) { + HEAP32[6392] = 1; + } + $32 = (_strcmp($24,7687)|0); + $33 = ($32|0)==(0); + if ($33) { + label = 12; + } else { + $34 = HEAP32[$23>>2]|0; + $35 = (_strcmp($34,7719)|0); + $36 = ($35|0)==(0); + if ($36) { + label = 12; + } else { + $37 = (_strcmp($34,7752)|0); + $38 = ($37|0)==(0); + if ($38) { + label = 12; + } + } + } + if ((label|0) == 12) { + label = 0; + HEAP32[6387] = 1; + } + $39 = (_strcmp($24,7792)|0); + $40 = ($39|0)==(0); + if ($40) { + label = 15; + } else { + $41 = HEAP32[$23>>2]|0; + $42 = (_strcmp($41,7828)|0); + $43 = ($42|0)==(0); + if ($43) { + label = 15; + } + } + if ((label|0) == 15) { + label = 0; + HEAP32[6388] = 1; + } + $44 = HEAP32[$23>>2]|0; + $45 = (_strcmp($44,7861)|0); + $46 = ($45|0)==(0); + if ($46) { + HEAP32[6389] = 1; + } + $47 = (_strcmp($44,7886)|0); + $48 = ($47|0)==(0); + if ($48) { + HEAP32[6390] = 1; + } + $49 = (_strcmp($44,7919)|0); + $50 = ($49|0)==(0); + if ($50) { + HEAP32[6391] = 1; + } + $51 = (_strcmp($44,7955)|0); + $52 = ($51|0)==(0); + if ($52) { + HEAP32[6454] = 1; + _glGetFloatv(34047,(25820|0)); + } + $53 = HEAP32[$23>>2]|0; + $54 = (_strcmp($53,7989)|0); + $55 = ($54|0)==(0); + if ($55) { + HEAP32[6456] = 1; + } + $56 = (($$06167) + 1)|0; + $exitcond70 = ($56|0)==($19|0); + if ($exitcond70) { + break; + } else { + $$06167 = $56; + } + } + } + $21 = HEAP32[6450]|0; + $22 = ($21|0)==(0); + if ($22) { + _TraceLog(1,8092,$vararg_buffer15); + } else { + _TraceLog(0,8017,$vararg_buffer13); + } + $57 = HEAP32[6392]|0; + $58 = ($57|0)==(0); + if ($58) { + _TraceLog(1,8228,$vararg_buffer19); + } else { + _TraceLog(0,8153,$vararg_buffer17); + } + $59 = HEAP32[6387]|0; + $60 = ($59|0)==(0); + if (!($60)) { + _TraceLog(0,8320,$vararg_buffer21); + } + $61 = HEAP32[6388]|0; + $62 = ($61|0)==(0); + if (!($62)) { + _TraceLog(0,8366,$vararg_buffer23); + } + $63 = HEAP32[6389]|0; + $64 = ($63|0)==(0); + if (!($64)) { + _TraceLog(0,8413,$vararg_buffer25); + } + $65 = HEAP32[6390]|0; + $66 = ($65|0)==(0); + if (!($66)) { + _TraceLog(0,8464,$vararg_buffer27); + } + $67 = HEAP32[6391]|0; + $68 = ($67|0)==(0); + if (!($68)) { + _TraceLog(0,8511,$vararg_buffer29); + } + $69 = HEAP32[6454]|0; + $70 = ($69|0)==(0); + if (!($70)) { + $71 = +HEAPF32[6455]; + $72 = $71; + HEAPF64[$vararg_buffer31>>3] = $72; + _TraceLog(0,8558,$vararg_buffer31); + } + $73 = HEAP32[6456]|0; + $74 = ($73|0)==(0); + if (!($74)) { + _TraceLog(0,8624,$vararg_buffer34); + } + HEAP32[$vararg_buffer10>>2] = -1; + $75 = (_rlglLoadTexture($vararg_buffer10,1,1,7,1)|0); + HEAP32[6457] = $75; + $76 = ($75|0)==(0); + if ($76) { + _TraceLog(1,8728,$vararg_buffer39); + } else { + HEAP32[$vararg_buffer36>>2] = $75; + _TraceLog(0,8677,$vararg_buffer36); + } + _LoadDefaultShader($2); + dest=25832; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=25888; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _LoadDefaultBuffers(); + $77 = (_malloc(49152)|0); + HEAP32[6486] = $77; + $$06066 = 0; + while(1) { + $79 = HEAP32[6486]|0; + $80 = (($79) + (($$06066*12)|0)|0); + _VectorZero($3); + ;HEAP32[$80>>2]=HEAP32[$3>>2]|0;HEAP32[$80+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$80+8>>2]=HEAP32[$3+8>>2]|0; + $81 = (($$06066) + 1)|0; + $exitcond69 = ($81|0)==(4096); + if ($exitcond69) { + break; + } else { + $$06066 = $81; + } + } + $78 = (_malloc(36864)|0); + HEAP32[6487] = $78; + $$05965 = 0; + while(1) { + $82 = (((($78) + (($$05965*144)|0)|0)) + 8|0); + HEAP32[$82>>2] = 0; + $83 = (($78) + (($$05965*144)|0)|0); + HEAP32[$83>>2] = 0; + $84 = (($$05965) + 1)|0; + $exitcond = ($84|0)==(256); + if ($exitcond) { + break; + } else { + $$05965 = $84; + } + } + HEAP32[6488] = 1; + $85 = HEAP32[6457]|0; + $86 = ((($78)) + 8|0); + HEAP32[$86>>2] = $85; + HEAP32[6489] = 4; + _MatrixIdentity($4); + dest=25960; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(26024); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(26088); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(26152); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(26216); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(26280); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(26344); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(26408); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(26472); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(26536); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(26600); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(26664); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(26728); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(26792); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(26856); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(26920); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($5); + dest=25668; src=$5; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($6); + dest=25732; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + HEAP32[6416] = 25732; + _glDepthFunc(515); + _glDisable(2929); + _glBlendFunc(770,771); + _glEnable(3042); + _glCullFace(1029); + _glFrontFace(2305); + _glEnable(2884); + _glClearColor(0.0,0.0,0.0,1.0); + _glClearDepthf(1.0); + _glClear(16640); + HEAP32[6746] = $0; + HEAP32[6747] = $1; + _TraceLog(0,8767,$vararg_buffer41); + STACKTOP = sp;return; +} +function _SetupViewport() { + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[6414]|0; + $1 = (($0|0) / 2)&-1; + $2 = HEAP32[6415]|0; + $3 = (($2|0) / 2)&-1; + $4 = HEAP32[6412]|0; + $5 = (($4) - ($0))|0; + $6 = HEAP32[6413]|0; + $7 = (($6) - ($2))|0; + _rlViewport($1,$3,$5,$7); + return; +} +function _rlMatrixMode($0) { + $0 = $0|0; + var $modelview$sink = 0, label = 0, sp = 0; + sp = STACKTOP; + switch ($0|0) { + case 5889: { + $modelview$sink = 25668; + label = 3; + break; + } + case 5888: { + $modelview$sink = 25732; + label = 3; + break; + } + default: { + } + } + if ((label|0) == 3) { + HEAP32[6416] = $modelview$sink; + } + HEAP32[6449] = $0; + return; +} +function _rlLoadIdentity() { + var $0 = 0, $1 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $0 = sp; + $1 = HEAP32[6416]|0; + _MatrixIdentity($0); + dest=$1; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + STACKTOP = sp;return; +} +function _rlOrtho($0,$1,$2,$3,$4,$5) { + $0 = +$0; + $1 = +$1; + $2 = +$2; + $3 = +$3; + $4 = +$4; + $5 = +$5; + var $$byval_copy = 0, $$byval_copy1 = 0, $6 = 0, $7 = 0, $8 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0); + $$byval_copy1 = sp + 192|0; + $$byval_copy = sp + 128|0; + $6 = sp + 64|0; + $7 = sp; + _MatrixOrtho($6,$0,$1,$2,$3,$4,$5); + _MatrixTranspose($6); + $8 = HEAP32[6416]|0; + dest=$$byval_copy; src=$8; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$$byval_copy1; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixMultiply($7,$$byval_copy,$$byval_copy1); + dest=$8; src=$7; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + STACKTOP = sp;return; +} +function _ClearBackground($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP8[$0>>0]|0; + $2 = ((($0)) + 1|0); + $3 = HEAP8[$2>>0]|0; + $4 = ((($0)) + 2|0); + $5 = HEAP8[$4>>0]|0; + $6 = ((($0)) + 3|0); + $7 = HEAP8[$6>>0]|0; + _rlClearColor($1,$3,$5,$7); + return; +} +function _rlClearColor($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $10 = 0.0, $11 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $4 = (+($0&255)); + $5 = $4 / 255.0; + $6 = (+($1&255)); + $7 = $6 / 255.0; + $8 = (+($2&255)); + $9 = $8 / 255.0; + $10 = (+($3&255)); + $11 = $10 / 255.0; + _glClearColor((+$5),(+$7),(+$9),(+$11)); + return; +} +function _rlViewport($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var label = 0, sp = 0; + sp = STACKTOP; + _glViewport(($0|0),($1|0),($2|0),($3|0)); + return; +} +function _LoadDefaultShader($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 1008|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1008|0); + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $1 = sp + 16|0; + $2 = sp + 513|0; + $3 = sp + 72|0; + _memcpy(($2|0),(9343|0),489)|0; + _memcpy(($3|0),(9832|0),441)|0; + $4 = (_LoadShaderProgram($2,$3)|0); + HEAP32[$1>>2] = $4; + $5 = ($4|0)==(0); + if ($5) { + HEAP32[$vararg_buffer1>>2] = $4; + _TraceLog(1,10321,$vararg_buffer1); + } else { + HEAP32[$vararg_buffer>>2] = $4; + _TraceLog(0,10273,$vararg_buffer); + } + $6 = HEAP32[$1>>2]|0; + $7 = ($6|0)==(0); + if (!($7)) { + _LoadDefaultShaderLocations($1); + } + dest=$0; src=$1; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + STACKTOP = sp;return; +} +function _LoadDefaultBuffers() { + var $$05365 = 0, $$05467 = 0, $$05770 = 0, $$05972 = 0, $$066 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0; + var $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0; + var $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0; + var $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0; + var $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0; + var $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond = 0, $exitcond75 = 0, $exitcond78 = 0, $exitcond80 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer14 = 0, $vararg_buffer17 = 0; + var $vararg_buffer3 = 0, $vararg_buffer7 = 0, $vararg_ptr13 = 0, $vararg_ptr20 = 0, $vararg_ptr21 = 0, $vararg_ptr22 = 0, $vararg_ptr6 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $vararg_buffer17 = sp + 48|0; + $vararg_buffer14 = sp + 40|0; + $vararg_buffer10 = sp + 32|0; + $vararg_buffer7 = sp + 24|0; + $vararg_buffer3 = sp + 16|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $0 = (_malloc(24576)|0); + HEAP32[(27004)>>2] = $0; + $1 = (_malloc(8192)|0); + HEAP32[(27012)>>2] = $1; + HEAP32[(27008)>>2] = 0; + HEAP32[(27016)>>2] = 0; + _memset(($0|0),0,24576)|0; + $$05972 = 0; + while(1) { + $2 = HEAP32[(27012)>>2]|0; + $3 = (($2) + ($$05972)|0); + HEAP8[$3>>0] = 0; + $4 = (($$05972) + 1)|0; + $exitcond80 = ($4|0)==(8192); + if ($exitcond80) { + break; + } else { + $$05972 = $4; + } + } + HEAP32[6748] = 0; + HEAP32[(27000)>>2] = 0; + HEAP32[(26996)>>2] = 0; + $5 = (_malloc(73728)|0); + HEAP32[(27052)>>2] = $5; + $6 = (_malloc(24576)|0); + HEAP32[(27060)>>2] = $6; + HEAP32[(27056)>>2] = 0; + HEAP32[(27064)>>2] = 0; + _memset(($5|0),0,73728)|0; + $$05770 = 0; + while(1) { + $7 = HEAP32[(27060)>>2]|0; + $8 = (($7) + ($$05770)|0); + HEAP8[$8>>0] = 0; + $9 = (($$05770) + 1)|0; + $exitcond78 = ($9|0)==(24576); + if ($exitcond78) { + break; + } else { + $$05770 = $9; + } + } + HEAP32[6760] = 0; + HEAP32[(27048)>>2] = 0; + HEAP32[(27044)>>2] = 0; + $10 = (_malloc(49152)|0); + HEAP32[(27100)>>2] = $10; + $11 = (_malloc(32768)|0); + HEAP32[(27104)>>2] = $11; + $12 = (_malloc(16384)|0); + HEAP32[(27108)>>2] = $12; + $13 = (_malloc(12288)|0); + HEAP32[(27112)>>2] = $13; + $14 = HEAP32[(27100)>>2]|0; + _memset(($14|0),0,49152)|0; + $15 = HEAP32[(27104)>>2]|0; + _memset(($15|0),0,32768)|0; + $$05467 = 0; + while(1) { + $17 = HEAP32[(27108)>>2]|0; + $18 = (($17) + ($$05467)|0); + HEAP8[$18>>0] = 0; + $19 = (($$05467) + 1)|0; + $exitcond75 = ($19|0)==(16384); + if ($exitcond75) { + break; + } else { + $$05467 = $19; + } + } + $16 = HEAP32[(27112)>>2]|0; + $$05365 = 0;$$066 = 0; + while(1) { + $22 = $$05365 << 2; + $23 = $22&65535; + $24 = (($16) + ($$066<<1)|0); + HEAP16[$24>>1] = $23; + $25 = $22 | 1; + $26 = $25&65535; + $27 = $$066 | 1; + $28 = (($16) + ($27<<1)|0); + HEAP16[$28>>1] = $26; + $29 = $22 | 2; + $30 = $29&65535; + $31 = (($$066) + 2)|0; + $32 = (($16) + ($31<<1)|0); + HEAP16[$32>>1] = $30; + $33 = (($$066) + 3)|0; + $34 = (($16) + ($33<<1)|0); + HEAP16[$34>>1] = $23; + $35 = (($$066) + 4)|0; + $36 = (($16) + ($35<<1)|0); + HEAP16[$36>>1] = $30; + $37 = $22 | 3; + $38 = $37&65535; + $39 = (($$066) + 5)|0; + $40 = (($16) + ($39<<1)|0); + HEAP16[$40>>1] = $38; + $41 = (($$05365) + 1)|0; + $42 = (($$066) + 6)|0; + $exitcond = ($41|0)==(1024); + if ($exitcond) { + break; + } else { + $$05365 = $41;$$066 = $42; + } + } + HEAP32[6772] = 0; + HEAP32[(27092)>>2] = 0; + HEAP32[(27096)>>2] = 0; + _TraceLog(0,8814,$vararg_buffer); + $20 = HEAP32[6450]|0; + $21 = ($20|0)==(0); + if (!($21)) { + $43 = HEAP32[6451]|0; + FUNCTION_TABLE_vii[$43 & 63](1,(27020)); + $44 = HEAP32[6452]|0; + $45 = HEAP32[(27020)>>2]|0; + FUNCTION_TABLE_vi[$44 & 31]($45); + } + _glGenBuffers(2,((27024)|0)); + $46 = HEAP32[(27024)>>2]|0; + _glBindBuffer(34962,($46|0)); + $47 = HEAP32[(27004)>>2]|0; + _glBufferData(34962,24576,($47|0),35048); + $48 = HEAP32[(25892)>>2]|0; + _glEnableVertexAttribArray(($48|0)); + $49 = HEAP32[(25892)>>2]|0; + _glVertexAttribPointer(($49|0),3,5126,0,0,(0|0)); + _glGenBuffers(2,((27028)|0)); + $50 = HEAP32[(27028)>>2]|0; + _glBindBuffer(34962,($50|0)); + $51 = HEAP32[(27012)>>2]|0; + _glBufferData(34962,8192,($51|0),35048); + $52 = HEAP32[(25912)>>2]|0; + _glEnableVertexAttribArray(($52|0)); + $53 = HEAP32[(25912)>>2]|0; + _glVertexAttribPointer(($53|0),4,5121,1,0,(0|0)); + $54 = HEAP32[6450]|0; + $55 = ($54|0)==(0); + if ($55) { + $57 = HEAP32[(27024)>>2]|0; + $58 = HEAP32[(27028)>>2]|0; + HEAP32[$vararg_buffer3>>2] = $57; + $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); + HEAP32[$vararg_ptr6>>2] = $58; + _TraceLog(0,8952,$vararg_buffer3); + } else { + $56 = HEAP32[(27020)>>2]|0; + HEAP32[$vararg_buffer1>>2] = $56; + _TraceLog(0,8887,$vararg_buffer1); + } + $59 = HEAP32[6450]|0; + $60 = ($59|0)==(0); + if (!($60)) { + $61 = HEAP32[6451]|0; + FUNCTION_TABLE_vii[$61 & 63](1,(27068)); + $62 = HEAP32[6452]|0; + $63 = HEAP32[(27068)>>2]|0; + FUNCTION_TABLE_vi[$62 & 31]($63); + } + _glGenBuffers(1,((27072)|0)); + $64 = HEAP32[(27072)>>2]|0; + _glBindBuffer(34962,($64|0)); + $65 = HEAP32[(27052)>>2]|0; + _glBufferData(34962,73728,($65|0),35048); + $66 = HEAP32[(25892)>>2]|0; + _glEnableVertexAttribArray(($66|0)); + $67 = HEAP32[(25892)>>2]|0; + _glVertexAttribPointer(($67|0),3,5126,0,0,(0|0)); + _glGenBuffers(1,((27076)|0)); + $68 = HEAP32[(27076)>>2]|0; + _glBindBuffer(34962,($68|0)); + $69 = HEAP32[(27060)>>2]|0; + _glBufferData(34962,24576,($69|0),35048); + $70 = HEAP32[(25912)>>2]|0; + _glEnableVertexAttribArray(($70|0)); + $71 = HEAP32[(25912)>>2]|0; + _glVertexAttribPointer(($71|0),4,5121,1,0,(0|0)); + $72 = HEAP32[6450]|0; + $73 = ($72|0)==(0); + if ($73) { + $75 = HEAP32[(27072)>>2]|0; + $76 = HEAP32[(27076)>>2]|0; + HEAP32[$vararg_buffer10>>2] = $75; + $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); + HEAP32[$vararg_ptr13>>2] = $76; + _TraceLog(0,9098,$vararg_buffer10); + } else { + $74 = HEAP32[(27068)>>2]|0; + HEAP32[$vararg_buffer7>>2] = $74; + _TraceLog(0,9029,$vararg_buffer7); + } + $77 = HEAP32[6450]|0; + $78 = ($77|0)==(0); + if (!($78)) { + $79 = HEAP32[6451]|0; + FUNCTION_TABLE_vii[$79 & 63](1,(27116)); + $80 = HEAP32[6452]|0; + $81 = HEAP32[(27116)>>2]|0; + FUNCTION_TABLE_vi[$80 & 31]($81); + } + _glGenBuffers(1,((27120)|0)); + $82 = HEAP32[(27120)>>2]|0; + _glBindBuffer(34962,($82|0)); + $83 = HEAP32[(27100)>>2]|0; + _glBufferData(34962,49152,($83|0),35048); + $84 = HEAP32[(25892)>>2]|0; + _glEnableVertexAttribArray(($84|0)); + $85 = HEAP32[(25892)>>2]|0; + _glVertexAttribPointer(($85|0),3,5126,0,0,(0|0)); + _glGenBuffers(1,((27124)|0)); + $86 = HEAP32[(27124)>>2]|0; + _glBindBuffer(34962,($86|0)); + $87 = HEAP32[(27104)>>2]|0; + _glBufferData(34962,32768,($87|0),35048); + $88 = HEAP32[(25896)>>2]|0; + _glEnableVertexAttribArray(($88|0)); + $89 = HEAP32[(25896)>>2]|0; + _glVertexAttribPointer(($89|0),2,5126,0,0,(0|0)); + _glGenBuffers(1,((27128)|0)); + $90 = HEAP32[(27128)>>2]|0; + _glBindBuffer(34962,($90|0)); + $91 = HEAP32[(27108)>>2]|0; + _glBufferData(34962,16384,($91|0),35048); + $92 = HEAP32[(25912)>>2]|0; + _glEnableVertexAttribArray(($92|0)); + $93 = HEAP32[(25912)>>2]|0; + _glVertexAttribPointer(($93|0),4,5121,1,0,(0|0)); + _glGenBuffers(1,((27132)|0)); + $94 = HEAP32[(27132)>>2]|0; + _glBindBuffer(34963,($94|0)); + $95 = HEAP32[(27112)>>2]|0; + _glBufferData(34963,12288,($95|0),35044); + $96 = HEAP32[6450]|0; + $97 = ($96|0)==(0); + if ($97) { + $99 = HEAP32[(27120)>>2]|0; + $100 = HEAP32[(27124)>>2]|0; + $101 = HEAP32[(27128)>>2]|0; + $102 = HEAP32[(27132)>>2]|0; + HEAP32[$vararg_buffer17>>2] = $99; + $vararg_ptr20 = ((($vararg_buffer17)) + 4|0); + HEAP32[$vararg_ptr20>>2] = $100; + $vararg_ptr21 = ((($vararg_buffer17)) + 8|0); + HEAP32[$vararg_ptr21>>2] = $101; + $vararg_ptr22 = ((($vararg_buffer17)) + 12|0); + HEAP32[$vararg_ptr22>>2] = $102; + _TraceLog(0,9244,$vararg_buffer17); + } else { + $98 = HEAP32[(27116)>>2]|0; + HEAP32[$vararg_buffer14>>2] = $98; + _TraceLog(0,9179,$vararg_buffer14); + } + $103 = HEAP32[6450]|0; + $104 = ($103|0)==(0); + if ($104) { + STACKTOP = sp;return; + } + $105 = HEAP32[6452]|0; + FUNCTION_TABLE_vi[$105 & 31](0); + STACKTOP = sp;return; +} +function _LoadShaderProgram($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $$alloca_mul = 0, $$alloca_mul34 = 0, $$alloca_mul36 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; + var $25 = 0, $26 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer13 = 0, $vararg_buffer16 = 0, $vararg_buffer19 = 0, $vararg_buffer22 = 0, $vararg_buffer4 = 0, $vararg_buffer7 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0); + $vararg_buffer22 = sp + 64|0; + $vararg_buffer19 = sp + 56|0; + $vararg_buffer16 = sp + 48|0; + $vararg_buffer13 = sp + 40|0; + $vararg_buffer10 = sp + 32|0; + $vararg_buffer7 = sp + 24|0; + $vararg_buffer4 = sp + 16|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $2 = sp + 80|0; + $3 = sp + 76|0; + $4 = sp + 72|0; + $5 = sp + 68|0; + $6 = (_glCreateShader(35633)|0); + $7 = (_glCreateShader(35632)|0); + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + _glShaderSource(($6|0),1,($2|0),(0|0)); + _glShaderSource(($7|0),1,($3|0),(0|0)); + HEAP32[$4>>2] = 0; + _glCompileShader(($6|0)); + _glGetShaderiv(($6|0),35713,($4|0)); + $8 = HEAP32[$4>>2]|0; + $9 = ($8|0)==(1); + if ($9) { + HEAP32[$vararg_buffer4>>2] = $6; + _TraceLog(0,10577,$vararg_buffer4); + } else { + HEAP32[$vararg_buffer>>2] = $6; + _TraceLog(1,10525,$vararg_buffer); + HEAP32[$vararg_buffer>>2] = 0; + _glGetShaderiv(($6|0),35716,($vararg_buffer|0)); + $10 = HEAP32[$vararg_buffer>>2]|0; + $11 = (_llvm_stacksave()|0); + $$alloca_mul = $10; + $12 = STACKTOP; STACKTOP = STACKTOP + ((((1*$$alloca_mul)|0)+15)&-16)|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(((((1*$$alloca_mul)|0)+15)&-16)|0);; + $13 = HEAP32[$vararg_buffer>>2]|0; + _glGetShaderInfoLog(($6|0),($13|0),($5|0),($12|0)); + HEAP32[$vararg_buffer1>>2] = $12; + _TraceLog(0,10574,$vararg_buffer1); + _llvm_stackrestore(($11|0)); + } + _glCompileShader(($7|0)); + _glGetShaderiv(($7|0),35713,($4|0)); + $14 = HEAP32[$4>>2]|0; + $15 = ($14|0)==(1); + if ($15) { + HEAP32[$vararg_buffer13>>2] = $7; + _TraceLog(0,10678,$vararg_buffer13); + } else { + HEAP32[$vararg_buffer7>>2] = $7; + _TraceLog(1,10627,$vararg_buffer7); + HEAP32[$vararg_buffer7>>2] = 0; + _glGetShaderiv(($7|0),35716,($vararg_buffer7|0)); + $16 = HEAP32[$vararg_buffer7>>2]|0; + $17 = (_llvm_stacksave()|0); + $$alloca_mul34 = $16; + $18 = STACKTOP; STACKTOP = STACKTOP + ((((1*$$alloca_mul34)|0)+15)&-16)|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(((((1*$$alloca_mul34)|0)+15)&-16)|0);; + $19 = HEAP32[$vararg_buffer7>>2]|0; + _glGetShaderInfoLog(($7|0),($19|0),($5|0),($18|0)); + HEAP32[$vararg_buffer10>>2] = $18; + _TraceLog(0,10574,$vararg_buffer10); + _llvm_stackrestore(($17|0)); + } + $20 = (_glCreateProgram()|0); + _glAttachShader(($20|0),($6|0)); + _glAttachShader(($20|0),($7|0)); + _glBindAttribLocation(($20|0),0,(10369|0)); + _glBindAttribLocation(($20|0),1,(10384|0)); + _glBindAttribLocation(($20|0),2,(10415|0)); + _glBindAttribLocation(($20|0),3,(10442|0)); + _glBindAttribLocation(($20|0),4,(10428|0)); + _glBindAttribLocation(($20|0),5,(10399|0)); + _glLinkProgram(($20|0)); + _glGetProgramiv(($20|0),35714,($4|0)); + $21 = HEAP32[$4>>2]|0; + $22 = ($21|0)==(0); + if ($22) { + HEAP32[$vararg_buffer16>>2] = $20; + _TraceLog(1,10730,$vararg_buffer16); + HEAP32[$vararg_buffer16>>2] = 0; + _glGetProgramiv(($20|0),35716,($vararg_buffer16|0)); + $23 = HEAP32[$vararg_buffer16>>2]|0; + $24 = (_llvm_stacksave()|0); + $$alloca_mul36 = $23; + $25 = STACKTOP; STACKTOP = STACKTOP + ((((1*$$alloca_mul36)|0)+15)&-16)|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(((((1*$$alloca_mul36)|0)+15)&-16)|0);; + $26 = HEAP32[$vararg_buffer16>>2]|0; + _glGetProgramInfoLog(($20|0),($26|0),($5|0),($25|0)); + HEAP32[$vararg_buffer19>>2] = $25; + _TraceLog(0,10574,$vararg_buffer19); + _glDeleteProgram(($20|0)); + _llvm_stackrestore(($24|0)); + $$0 = 0; + _glDeleteShader(($6|0)); + _glDeleteShader(($7|0)); + STACKTOP = sp;return ($$0|0); + } else { + HEAP32[$vararg_buffer22>>2] = $20; + _TraceLog(0,10776,$vararg_buffer22); + $$0 = $20; + _glDeleteShader(($6|0)); + _glDeleteShader(($7|0)); + STACKTOP = sp;return ($$0|0); + } + return (0)|0; +} +function _LoadDefaultShaderLocations($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; + var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; + var sp = 0; + sp = STACKTOP; + $1 = HEAP32[$0>>2]|0; + $2 = (_glGetAttribLocation(($1|0),(10369|0))|0); + $3 = ((($0)) + 4|0); + HEAP32[$3>>2] = $2; + $4 = HEAP32[$0>>2]|0; + $5 = (_glGetAttribLocation(($4|0),(10384|0))|0); + $6 = ((($0)) + 8|0); + HEAP32[$6>>2] = $5; + $7 = HEAP32[$0>>2]|0; + $8 = (_glGetAttribLocation(($7|0),(10399|0))|0); + $9 = ((($0)) + 12|0); + HEAP32[$9>>2] = $8; + $10 = HEAP32[$0>>2]|0; + $11 = (_glGetAttribLocation(($10|0),(10415|0))|0); + $12 = ((($0)) + 16|0); + HEAP32[$12>>2] = $11; + $13 = HEAP32[$0>>2]|0; + $14 = (_glGetAttribLocation(($13|0),(10428|0))|0); + $15 = ((($0)) + 20|0); + HEAP32[$15>>2] = $14; + $16 = HEAP32[$0>>2]|0; + $17 = (_glGetAttribLocation(($16|0),(10442|0))|0); + $18 = ((($0)) + 24|0); + HEAP32[$18>>2] = $17; + $19 = HEAP32[$0>>2]|0; + $20 = (_glGetUniformLocation(($19|0),(10454|0))|0); + $21 = ((($0)) + 28|0); + HEAP32[$21>>2] = $20; + $22 = HEAP32[$0>>2]|0; + $23 = (_glGetUniformLocation(($22|0),(10464|0))|0); + $24 = ((($0)) + 32|0); + HEAP32[$24>>2] = $23; + $25 = HEAP32[$0>>2]|0; + $26 = (_glGetUniformLocation(($25|0),(10475|0))|0); + $27 = ((($0)) + 36|0); + HEAP32[$27>>2] = $26; + $28 = HEAP32[$0>>2]|0; + $29 = (_glGetUniformLocation(($28|0),(10486|0))|0); + $30 = ((($0)) + 40|0); + HEAP32[$30>>2] = $29; + $31 = HEAP32[$0>>2]|0; + $32 = (_glGetUniformLocation(($31|0),(10498|0))|0); + $33 = ((($0)) + 44|0); + HEAP32[$33>>2] = $32; + $34 = HEAP32[$0>>2]|0; + $35 = (_glGetUniformLocation(($34|0),(10507|0))|0); + $36 = ((($0)) + 48|0); + HEAP32[$36>>2] = $35; + $37 = HEAP32[$0>>2]|0; + $38 = (_glGetUniformLocation(($37|0),(10516|0))|0); + $39 = ((($0)) + 52|0); + HEAP32[$39>>2] = $38; + return; +} +function _IsMouseButtonPressed($0) { + $0 = $0|0; + var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (29333 + ($0)|0); + $2 = HEAP8[$1>>0]|0; + $3 = (29336 + ($0)|0); + $4 = HEAP8[$3>>0]|0; + $5 = ($2<<24>>24)!=($4<<24>>24); + $6 = ($2<<24>>24)==(1); + $or$cond = $6 & $5; + $$0 = $or$cond&1; + return ($$0|0); +} +function _IsMouseButtonReleased($0) { + $0 = $0|0; + var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (29333 + ($0)|0); + $2 = HEAP8[$1>>0]|0; + $3 = (29336 + ($0)|0); + $4 = HEAP8[$3>>0]|0; + $5 = ($2<<24>>24)!=($4<<24>>24); + $6 = ($2<<24>>24)==(0); + $or$cond = $6 & $5; + $$0 = $or$cond&1; + return ($$0|0); +} +function _rlClearScreenBuffers() { + var label = 0, sp = 0; + sp = STACKTOP; + _glClear(16640); + return; +} +function _CloseWindow() { + var $0 = 0, $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $vararg_buffer = sp; + _UnloadDefaultFont(); + _rlglClose(); + $0 = HEAP32[6369]|0; + _glfwDestroyWindow(($0|0)); + _glfwTerminate(); + _TraceLog(0,11088,$vararg_buffer); + STACKTOP = sp;return; +} +function _UnloadDefaultFont() { + var $$byval_copy = 0, $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $$byval_copy = sp; + ;HEAP32[$$byval_copy>>2]=HEAP32[25516>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[25516+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[25516+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[25516+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[25516+16>>2]|0; + _UnloadTexture($$byval_copy); + $0 = HEAP32[(25544)>>2]|0; + _free($0); + STACKTOP = sp;return; +} +function _rlglClose() { + var $0 = 0, $1 = 0, $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $vararg_buffer = sp; + _UnloadDefaultShader(); + _UnloadDefaultBuffers(); + _glDeleteTextures(1,(25828|0)); + $0 = HEAP32[6457]|0; + HEAP32[$vararg_buffer>>2] = $0; + _TraceLog(0,11115,$vararg_buffer); + $1 = HEAP32[6487]|0; + _free($1); + STACKTOP = sp;return; +} +function _UnloadDefaultShader() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + _glUseProgram(0); + $0 = HEAP32[6458]|0; + _glDeleteProgram(($0|0)); + return; +} +function _UnloadDefaultBuffers() { + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[6450]|0; + $1 = ($0|0)==(0); + if (!($1)) { + $2 = HEAP32[6452]|0; + FUNCTION_TABLE_vi[$2 & 31](0); + } + _glDisableVertexAttribArray(0); + _glDisableVertexAttribArray(1); + _glDisableVertexAttribArray(2); + _glDisableVertexAttribArray(3); + _glBindBuffer(34962,0); + _glBindBuffer(34963,0); + _glDeleteBuffers(1,((27024)|0)); + _glDeleteBuffers(1,((27028)|0)); + _glDeleteBuffers(1,((27072)|0)); + _glDeleteBuffers(1,((27076)|0)); + _glDeleteBuffers(1,((27120)|0)); + _glDeleteBuffers(1,((27124)|0)); + _glDeleteBuffers(1,((27128)|0)); + _glDeleteBuffers(1,((27132)|0)); + $3 = HEAP32[6450]|0; + $4 = ($3|0)==(0); + if (!($4)) { + $5 = HEAP32[6453]|0; + FUNCTION_TABLE_vii[$5 & 63](1,(27020)); + $6 = HEAP32[6453]|0; + FUNCTION_TABLE_vii[$6 & 63](1,(27068)); + $7 = HEAP32[6453]|0; + FUNCTION_TABLE_vii[$7 & 63](1,(27116)); + } + $8 = HEAP32[(27004)>>2]|0; + _free($8); + $9 = HEAP32[(27012)>>2]|0; + _free($9); + $10 = HEAP32[(27052)>>2]|0; + _free($10); + $11 = HEAP32[(27060)>>2]|0; + _free($11); + $12 = HEAP32[(27100)>>2]|0; + _free($12); + $13 = HEAP32[(27104)>>2]|0; + _free($13); + $14 = HEAP32[(27108)>>2]|0; + _free($14); + $15 = HEAP32[(27112)>>2]|0; + _free($15); + return; +} +function _UnloadTexture($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $vararg_buffer = sp; + $1 = HEAP32[$0>>2]|0; + $2 = ($1|0)==(0); + if ($2) { + STACKTOP = sp;return; + } + _rlDeleteTextures($1); + $3 = HEAP32[$0>>2]|0; + HEAP32[$vararg_buffer>>2] = $3; + _TraceLog(0,11180,$vararg_buffer); + STACKTOP = sp;return; +} +function _rlDeleteTextures($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $1 = sp; + HEAP32[$1>>2] = $0; + $2 = ($0|0)==(0); + if (!($2)) { + _glDeleteTextures(1,($1|0)); + } + STACKTOP = sp;return; +} +function _BeginDrawing() { + var $0 = 0.0, $1 = 0.0, $2 = 0.0, $downscaleView$byval_copy = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $downscaleView$byval_copy = sp; + $0 = (+_GetTime()); + HEAPF64[3105] = $0; + $1 = +HEAPF64[3088]; + $2 = $0 - $1; + HEAPF64[3106] = $2; + HEAPF64[3088] = $0; + _rlClearScreenBuffers(); + _rlLoadIdentity(); + dest=$downscaleView$byval_copy; src=25572; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + (_MatrixToFloat($downscaleView$byval_copy)|0); + _rlMultMatrixf(27144); + STACKTOP = sp;return; +} +function _MatrixToFloat($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; + var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP32[$0>>2]|0; + HEAP32[6786] = $1; + $2 = ((($0)) + 4|0); + $3 = HEAP32[$2>>2]|0; + HEAP32[(27148)>>2] = $3; + $4 = ((($0)) + 8|0); + $5 = HEAP32[$4>>2]|0; + HEAP32[(27152)>>2] = $5; + $6 = ((($0)) + 12|0); + $7 = HEAP32[$6>>2]|0; + HEAP32[(27156)>>2] = $7; + $8 = ((($0)) + 16|0); + $9 = HEAP32[$8>>2]|0; + HEAP32[(27160)>>2] = $9; + $10 = ((($0)) + 20|0); + $11 = HEAP32[$10>>2]|0; + HEAP32[(27164)>>2] = $11; + $12 = ((($0)) + 24|0); + $13 = HEAP32[$12>>2]|0; + HEAP32[(27168)>>2] = $13; + $14 = ((($0)) + 28|0); + $15 = HEAP32[$14>>2]|0; + HEAP32[(27172)>>2] = $15; + $16 = ((($0)) + 32|0); + $17 = HEAP32[$16>>2]|0; + HEAP32[(27176)>>2] = $17; + $18 = ((($0)) + 36|0); + $19 = HEAP32[$18>>2]|0; + HEAP32[(27180)>>2] = $19; + $20 = ((($0)) + 40|0); + $21 = HEAP32[$20>>2]|0; + HEAP32[(27184)>>2] = $21; + $22 = ((($0)) + 44|0); + $23 = HEAP32[$22>>2]|0; + HEAP32[(27188)>>2] = $23; + $24 = ((($0)) + 48|0); + $25 = HEAP32[$24>>2]|0; + HEAP32[(27192)>>2] = $25; + $26 = ((($0)) + 52|0); + $27 = HEAP32[$26>>2]|0; + HEAP32[(27196)>>2] = $27; + $28 = ((($0)) + 56|0); + $29 = HEAP32[$28>>2]|0; + HEAP32[(27200)>>2] = $29; + $30 = ((($0)) + 60|0); + $31 = HEAP32[$30>>2]|0; + HEAP32[(27204)>>2] = $31; + return (27144|0); +} +function _rlMultMatrixf($0) { + $0 = $0|0; + var $$byval_copy = 0, $$byval_copy1 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; + var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; + var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0); + $$byval_copy1 = sp + 192|0; + $$byval_copy = sp + 128|0; + $1 = sp + 64|0; + $2 = sp; + $3 = HEAP32[$0>>2]|0; + HEAP32[$1>>2] = $3; + $4 = ((($1)) + 4|0); + $5 = ((($0)) + 4|0); + $6 = HEAP32[$5>>2]|0; + HEAP32[$4>>2] = $6; + $7 = ((($1)) + 8|0); + $8 = ((($0)) + 8|0); + $9 = HEAP32[$8>>2]|0; + HEAP32[$7>>2] = $9; + $10 = ((($1)) + 12|0); + $11 = ((($0)) + 12|0); + $12 = HEAP32[$11>>2]|0; + HEAP32[$10>>2] = $12; + $13 = ((($1)) + 16|0); + $14 = ((($0)) + 16|0); + $15 = HEAP32[$14>>2]|0; + HEAP32[$13>>2] = $15; + $16 = ((($1)) + 20|0); + $17 = ((($0)) + 20|0); + $18 = HEAP32[$17>>2]|0; + HEAP32[$16>>2] = $18; + $19 = ((($1)) + 24|0); + $20 = ((($0)) + 24|0); + $21 = HEAP32[$20>>2]|0; + HEAP32[$19>>2] = $21; + $22 = ((($1)) + 28|0); + $23 = ((($0)) + 28|0); + $24 = HEAP32[$23>>2]|0; + HEAP32[$22>>2] = $24; + $25 = ((($1)) + 32|0); + $26 = ((($0)) + 32|0); + $27 = HEAP32[$26>>2]|0; + HEAP32[$25>>2] = $27; + $28 = ((($1)) + 36|0); + $29 = ((($0)) + 36|0); + $30 = HEAP32[$29>>2]|0; + HEAP32[$28>>2] = $30; + $31 = ((($1)) + 40|0); + $32 = ((($0)) + 40|0); + $33 = HEAP32[$32>>2]|0; + HEAP32[$31>>2] = $33; + $34 = ((($1)) + 44|0); + $35 = ((($0)) + 44|0); + $36 = HEAP32[$35>>2]|0; + HEAP32[$34>>2] = $36; + $37 = ((($1)) + 48|0); + $38 = ((($0)) + 48|0); + $39 = HEAP32[$38>>2]|0; + HEAP32[$37>>2] = $39; + $40 = ((($1)) + 52|0); + $41 = ((($0)) + 52|0); + $42 = HEAP32[$41>>2]|0; + HEAP32[$40>>2] = $42; + $43 = ((($1)) + 56|0); + $44 = ((($0)) + 56|0); + $45 = HEAP32[$44>>2]|0; + HEAP32[$43>>2] = $45; + $46 = ((($1)) + 60|0); + $47 = ((($0)) + 60|0); + $48 = HEAP32[$47>>2]|0; + HEAP32[$46>>2] = $48; + $49 = HEAP32[6416]|0; + dest=$$byval_copy; src=$49; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$$byval_copy1; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixMultiply($2,$$byval_copy,$$byval_copy1); + dest=$49; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + STACKTOP = sp;return; +} +function _EndDrawing() { + var $0 = 0.0, $1 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + _rlglDraw(); + _SwapBuffers(); + _PollInputEvents(); + $0 = (+_GetTime()); + HEAPF64[3105] = $0; + $1 = +HEAPF64[3088]; + $2 = $0 - $1; + HEAPF64[3107] = $2; + HEAPF64[3088] = $0; + $3 = +HEAPF64[3106]; + $4 = $2 + $3; + HEAPF64[3108] = $4; + $5 = +HEAPF64[3085]; + $6 = $4 < $5; + if (!($6)) { + return; + } + $7 = $5 - $4; + $8 = $7 * 1000.0; + $9 = $8; + _Wait($9); + $10 = (+_GetTime()); + HEAPF64[3105] = $10; + $11 = +HEAPF64[3088]; + $12 = $10 - $11; + HEAPF64[3088] = $10; + $13 = +HEAPF64[3108]; + $14 = $12 + $13; + HEAPF64[3108] = $14; + return; +} +function _rlglDraw() { + var label = 0, sp = 0; + sp = STACKTOP; + _UpdateDefaultBuffers(); + _DrawDefaultBuffers(); + return; +} +function _SwapBuffers() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[6369]|0; + _glfwSwapBuffers(($0|0)); + return; +} +function _PollInputEvents() { + var $$04857 = 0, $$05160 = 0, $$058 = 0, $$lcssa = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0; + var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0.0, $31 = 0.0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0.0, $40 = 0; + var $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0, $scevgep = 0, $scevgep67 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 1456|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1456|0); + $0 = sp + 1440|0; + $1 = sp + 1432|0; + $2 = sp; + _UpdateGestures(); + HEAP32[742] = -1; + HEAP32[744] = -1; + HEAP32[6802] = 0; + $3 = HEAP32[6369]|0; + _glfwGetCursorPos(($3|0),($0|0),($1|0)); + $4 = +HEAPF64[$0>>3]; + $5 = $4; + HEAPF32[6168] = $5; + $6 = +HEAPF64[$1>>3]; + $7 = $6; + HEAPF32[(24676)>>2] = $7; + _memcpy((29851|0),(29339|0),512)|0; + ;HEAP8[29336>>0]=HEAP8[29333>>0]|0;HEAP8[29336+1>>0]=HEAP8[29333+1>>0]|0;HEAP8[29336+2>>0]=HEAP8[29333+2>>0]|0; + $8 = HEAP32[6785]|0; + HEAP32[6372] = $8; + HEAP32[6785] = 0; + $9 = (_emscripten_get_num_gamepads()|0); + $10 = ($9|0)>(0); + if (!($10)) { + STACKTOP = sp;return; + } + $11 = ((($2)) + 12|0); + $12 = ((($2)) + 8|0); + $$05160 = 0; + while(1) { + $scevgep = (30363 + ($$05160<<5)|0); + $scevgep67 = (30491 + ($$05160<<5)|0); + dest=$scevgep; src=$scevgep67; stop=dest+32|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); + $13 = (_emscripten_get_gamepad_status(($$05160|0),($2|0))|0); + $14 = ($13|0)==(0); + if ($14) { + $15 = HEAP32[$11>>2]|0; + $16 = ($15|0)>(0); + if ($16) { + $17 = HEAP32[$11>>2]|0; + $$04857 = 0; + while(1) { + $21 = (((($2)) + 1040|0) + ($$04857<<2)|0); + $22 = HEAP32[$21>>2]|0; + $23 = ($22|0)==(1); + $24 = ((30491 + ($$05160<<5)|0) + ($$04857)|0); + if ($23) { + HEAP8[$24>>0] = 1; + HEAP32[744] = $$04857; + } else { + HEAP8[$24>>0] = 0; + } + $25 = (($$04857) + 1)|0; + $26 = ($25|0)<($17|0); + $27 = ($25|0)<(32); + $28 = $27 & $26; + if ($28) { + $$04857 = $25; + } else { + break; + } + } + } + $18 = HEAP32[$12>>2]|0; + $19 = ($18|0)>(0); + if ($19) { + $20 = HEAP32[$12>>2]|0; + $$058 = 0; + while(1) { + $29 = (((($2)) + 16|0) + ($$058<<3)|0); + $30 = +HEAPF64[$29>>3]; + $31 = $30; + $32 = ((27212 + ($$05160<<5)|0) + ($$058<<2)|0); + HEAPF32[$32>>2] = $31; + $33 = (($$058) + 1)|0; + $34 = ($33|0)<($20|0); + $35 = ($33|0)<(8); + $36 = $35 & $34; + if ($36) { + $$058 = $33; + } else { + $$lcssa = $20; + break; + } + } + } else { + $$lcssa = $18; + } + HEAP32[6802] = $$lcssa; + } + $37 = (($$05160) + 1)|0; + $38 = ($37|0)<($9|0); + $39 = ($37|0)<(4); + $40 = $38 & $39; + if ($40) { + $$05160 = $37; + } else { + break; + } + } + STACKTOP = sp;return; +} +function _Wait($0) { + $0 = +$0; + var $1 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (+_GetTime()); + $2 = 0.0 - $1; + $3 = $0 / 1000.0; + $4 = $3; + $5 = $2 < $4; + if (!($5)) { + return; + } + while(1) { + $6 = (+_GetTime()); + $7 = $6 - $1; + $8 = $7 < $4; + if (!($8)) { + break; + } + } + return; +} +function _UpdateDefaultBuffers() { + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[6748]|0; + $1 = ($0|0)>(0); + if ($1) { + $2 = HEAP32[6450]|0; + $3 = ($2|0)==(0); + if (!($3)) { + $4 = HEAP32[6452]|0; + $5 = HEAP32[(27020)>>2]|0; + FUNCTION_TABLE_vi[$4 & 31]($5); + } + $6 = HEAP32[(27024)>>2]|0; + _glBindBuffer(34962,($6|0)); + $7 = HEAP32[6748]|0; + $8 = ($7*12)|0; + $9 = HEAP32[(27004)>>2]|0; + _glBufferSubData(34962,0,($8|0),($9|0)); + $10 = HEAP32[(27028)>>2]|0; + _glBindBuffer(34962,($10|0)); + $11 = HEAP32[(27000)>>2]|0; + $12 = $11 << 2; + $13 = HEAP32[(27012)>>2]|0; + _glBufferSubData(34962,0,($12|0),($13|0)); + } + $14 = HEAP32[6760]|0; + $15 = ($14|0)>(0); + if ($15) { + $16 = HEAP32[6450]|0; + $17 = ($16|0)==(0); + if (!($17)) { + $18 = HEAP32[6452]|0; + $19 = HEAP32[(27068)>>2]|0; + FUNCTION_TABLE_vi[$18 & 31]($19); + } + $20 = HEAP32[(27072)>>2]|0; + _glBindBuffer(34962,($20|0)); + $21 = HEAP32[6760]|0; + $22 = ($21*12)|0; + $23 = HEAP32[(27052)>>2]|0; + _glBufferSubData(34962,0,($22|0),($23|0)); + $24 = HEAP32[(27076)>>2]|0; + _glBindBuffer(34962,($24|0)); + $25 = HEAP32[(27048)>>2]|0; + $26 = $25 << 2; + $27 = HEAP32[(27060)>>2]|0; + _glBufferSubData(34962,0,($26|0),($27|0)); + } + $28 = HEAP32[6772]|0; + $29 = ($28|0)>(0); + if ($29) { + $30 = HEAP32[6450]|0; + $31 = ($30|0)==(0); + if (!($31)) { + $32 = HEAP32[6452]|0; + $33 = HEAP32[(27116)>>2]|0; + FUNCTION_TABLE_vi[$32 & 31]($33); + } + $34 = HEAP32[(27120)>>2]|0; + _glBindBuffer(34962,($34|0)); + $35 = HEAP32[6772]|0; + $36 = ($35*12)|0; + $37 = HEAP32[(27100)>>2]|0; + _glBufferSubData(34962,0,($36|0),($37|0)); + $38 = HEAP32[(27124)>>2]|0; + _glBindBuffer(34962,($38|0)); + $39 = HEAP32[6772]|0; + $40 = $39 << 3; + $41 = HEAP32[(27104)>>2]|0; + _glBufferSubData(34962,0,($40|0),($41|0)); + $42 = HEAP32[(27128)>>2]|0; + _glBindBuffer(34962,($42|0)); + $43 = HEAP32[6772]|0; + $44 = $43 << 2; + $45 = HEAP32[(27108)>>2]|0; + _glBufferSubData(34962,0,($44|0),($45|0)); + } + $46 = HEAP32[6450]|0; + $47 = ($46|0)==(0); + if ($47) { + return; + } + $48 = HEAP32[6452]|0; + FUNCTION_TABLE_vi[$48 & 31](0); + return; +} +function _DrawDefaultBuffers() { + var $$ = 0, $$02830 = 0, $$02932 = 0, $$031 = 0, $$byval_copy2 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0; + var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0; + var $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0; + var $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0; + var $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $modelview$byval_copy = 0; + var $or$cond = 0, $or$cond3 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 320|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(320|0); + $$byval_copy2 = sp + 256|0; + $modelview$byval_copy = sp + 192|0; + $0 = sp + 128|0; + $1 = sp + 64|0; + $2 = sp; + dest=$0; src=25668; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$1; src=25732; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + $3 = HEAP32[6835]|0; + $4 = ($3|0)!=(0); + $$ = $4 ? 2 : 1; + $$02932 = 0; + while(1) { + if ($4) { + dest=$modelview$byval_copy; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$$byval_copy2; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _SetStereoView($$02932,$modelview$byval_copy,$$byval_copy2); + } + $8 = HEAP32[6748]|0; + $9 = ($8|0)>(0); + $10 = HEAP32[6760]|0; + $11 = ($10|0)>(0); + $or$cond = $9 | $11; + $12 = HEAP32[6772]|0; + $13 = ($12|0)>(0); + $or$cond3 = $or$cond | $13; + if ($or$cond3) { + $14 = HEAP32[6472]|0; + _glUseProgram(($14|0)); + dest=$modelview$byval_copy; src=25732; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$$byval_copy2; src=25668; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixMultiply($2,$modelview$byval_copy,$$byval_copy2); + $15 = HEAP32[(25916)>>2]|0; + dest=$$byval_copy2; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + $16 = (_MatrixToFloat($$byval_copy2)|0); + _glUniformMatrix4fv(($15|0),1,0,($16|0)); + $17 = HEAP32[(25920)>>2]|0; + _glUniform4f(($17|0),1.0,1.0,1.0,1.0); + $18 = HEAP32[(25932)>>2]|0; + _glUniform1i(($18|0),0); + } + $19 = HEAP32[6748]|0; + $20 = ($19|0)>(0); + if ($20) { + $21 = HEAP32[6457]|0; + _glBindTexture(3553,($21|0)); + $22 = HEAP32[6450]|0; + $23 = ($22|0)==(0); + if ($23) { + $26 = HEAP32[(27024)>>2]|0; + _glBindBuffer(34962,($26|0)); + $27 = HEAP32[(25892)>>2]|0; + _glVertexAttribPointer(($27|0),3,5126,0,0,(0|0)); + $28 = HEAP32[(25892)>>2]|0; + _glEnableVertexAttribArray(($28|0)); + $29 = HEAP32[(27028)>>2]|0; + _glBindBuffer(34962,($29|0)); + $30 = HEAP32[(25912)>>2]|0; + _glVertexAttribPointer(($30|0),4,5121,1,0,(0|0)); + $31 = HEAP32[(25912)>>2]|0; + _glEnableVertexAttribArray(($31|0)); + } else { + $24 = HEAP32[6452]|0; + $25 = HEAP32[(27020)>>2]|0; + FUNCTION_TABLE_vi[$24 & 31]($25); + } + $32 = HEAP32[6748]|0; + _glDrawArrays(1,0,($32|0)); + $33 = HEAP32[6450]|0; + $34 = ($33|0)==(0); + if ($34) { + _glBindBuffer(34962,0); + } + _glBindTexture(3553,0); + } + $35 = HEAP32[6760]|0; + $36 = ($35|0)>(0); + if ($36) { + $37 = HEAP32[6457]|0; + _glBindTexture(3553,($37|0)); + $38 = HEAP32[6450]|0; + $39 = ($38|0)==(0); + if ($39) { + $42 = HEAP32[(27072)>>2]|0; + _glBindBuffer(34962,($42|0)); + $43 = HEAP32[(25892)>>2]|0; + _glVertexAttribPointer(($43|0),3,5126,0,0,(0|0)); + $44 = HEAP32[(25892)>>2]|0; + _glEnableVertexAttribArray(($44|0)); + $45 = HEAP32[(27076)>>2]|0; + _glBindBuffer(34962,($45|0)); + $46 = HEAP32[(25912)>>2]|0; + _glVertexAttribPointer(($46|0),4,5121,1,0,(0|0)); + $47 = HEAP32[(25912)>>2]|0; + _glEnableVertexAttribArray(($47|0)); + } else { + $40 = HEAP32[6452]|0; + $41 = HEAP32[(27068)>>2]|0; + FUNCTION_TABLE_vi[$40 & 31]($41); + } + $48 = HEAP32[6760]|0; + _glDrawArrays(4,0,($48|0)); + $49 = HEAP32[6450]|0; + $50 = ($49|0)==(0); + if ($50) { + _glBindBuffer(34962,0); + } + _glBindTexture(3553,0); + } + $51 = HEAP32[6772]|0; + $52 = ($51|0)>(0); + if ($52) { + $53 = HEAP32[6450]|0; + $54 = ($53|0)==(0); + if ($54) { + $57 = HEAP32[(27120)>>2]|0; + _glBindBuffer(34962,($57|0)); + $58 = HEAP32[(25892)>>2]|0; + _glVertexAttribPointer(($58|0),3,5126,0,0,(0|0)); + $59 = HEAP32[(25892)>>2]|0; + _glEnableVertexAttribArray(($59|0)); + $60 = HEAP32[(27124)>>2]|0; + _glBindBuffer(34962,($60|0)); + $61 = HEAP32[(25896)>>2]|0; + _glVertexAttribPointer(($61|0),2,5126,0,0,(0|0)); + $62 = HEAP32[(25896)>>2]|0; + _glEnableVertexAttribArray(($62|0)); + $63 = HEAP32[(27128)>>2]|0; + _glBindBuffer(34962,($63|0)); + $64 = HEAP32[(25912)>>2]|0; + _glVertexAttribPointer(($64|0),4,5121,1,0,(0|0)); + $65 = HEAP32[(25912)>>2]|0; + _glEnableVertexAttribArray(($65|0)); + $66 = HEAP32[(27132)>>2]|0; + _glBindBuffer(34963,($66|0)); + } else { + $55 = HEAP32[6452]|0; + $56 = HEAP32[(27116)>>2]|0; + FUNCTION_TABLE_vi[$55 & 31]($56); + } + $67 = HEAP32[6488]|0; + $68 = ($67|0)>(0); + if ($68) { + $$02830 = 0;$$031 = 0; + while(1) { + $71 = HEAP32[6487]|0; + $72 = (($71) + (($$031*144)|0)|0); + $73 = HEAP32[$72>>2]|0; + $74 = (($73|0) / 4)&-1; + $75 = ($74*6)|0; + $76 = (((($71) + (($$031*144)|0)|0)) + 8|0); + $77 = HEAP32[$76>>2]|0; + _glBindTexture(3553,($77|0)); + $78 = $$02830 << 1; + $79 = $78; + _glDrawElements(4,($75|0),5123,($79|0)); + $80 = HEAP32[6487]|0; + $81 = (($80) + (($$031*144)|0)|0); + $82 = HEAP32[$81>>2]|0; + $83 = (($82|0) / 4)&-1; + $84 = ($83*6)|0; + $85 = (($84) + ($$02830))|0; + $86 = (($$031) + 1)|0; + $87 = HEAP32[6488]|0; + $88 = ($86|0)<($87|0); + if ($88) { + $$02830 = $85;$$031 = $86; + } else { + break; + } + } + } + $69 = HEAP32[6450]|0; + $70 = ($69|0)==(0); + if ($70) { + _glBindBuffer(34962,0); + _glBindBuffer(34963,0); + } + _glBindTexture(3553,0); + } + $89 = HEAP32[6450]|0; + $90 = ($89|0)==(0); + if (!($90)) { + $91 = HEAP32[6452]|0; + FUNCTION_TABLE_vi[$91 & 31](0); + } + _glUseProgram(0); + $92 = (($$02932) + 1)|0; + $93 = ($92|0)<($$|0); + if ($93) { + $$02932 = $92; + } else { + break; + } + } + HEAP32[6488] = 1; + $5 = HEAP32[6457]|0; + $6 = HEAP32[6487]|0; + $7 = ((($6)) + 8|0); + HEAP32[$7>>2] = $5; + HEAP32[$6>>2] = 0; + HEAP32[6748] = 0; + HEAP32[(27000)>>2] = 0; + HEAP32[6760] = 0; + HEAP32[(27048)>>2] = 0; + HEAP32[6772] = 0; + HEAP32[(27092)>>2] = 0; + HEAP32[(27096)>>2] = 0; + HEAPF32[745] = -1.0; + dest=25668; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=25732; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + STACKTOP = sp;return; +} +function _SetStereoView($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$byval_copy = 0, $$byval_copy3 = 0, $10 = 0, $11 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0); + $$byval_copy3 = sp + 192|0; + $$byval_copy = sp + 64|0; + $3 = sp; + $4 = sp + 128|0; + dest=$3; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + $5 = HEAP32[6746]|0; + $6 = Math_imul($5, $0)|0; + $7 = (($6|0) / 2)&-1; + $8 = (($5|0) / 2)&-1; + $9 = HEAP32[6747]|0; + _rlViewport($7,0,$8,$9); + $10 = (27572 + ($0<<6)|0); + dest=$$byval_copy; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$$byval_copy3; src=$10; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixMultiply($4,$$byval_copy,$$byval_copy3); + $11 = (27444 + ($0<<6)|0); + dest=$3; src=$11; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$$byval_copy3; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _SetMatrixModelview($$byval_copy3); + dest=$$byval_copy3; src=$3; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _SetMatrixProjection($$byval_copy3); + STACKTOP = sp;return; +} +function _SetMatrixModelview($0) { + $0 = $0|0; + var dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + dest=25732; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + return; +} +function _SetMatrixProjection($0) { + $0 = $0|0; + var dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + dest=25668; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + return; +} +function _rlPushMatrix() { + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $vararg_buffer = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $vararg_buffer = sp; + $0 = HEAP32[6925]|0; + $1 = ($0|0)==(15); + if ($1) { + HEAP32[$vararg_buffer>>2] = 16; + _TraceLog(2,11230,$vararg_buffer); + } + $2 = HEAP32[6925]|0; + $3 = (25960 + ($2<<6)|0); + $4 = HEAP32[6416]|0; + dest=$3; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _rlLoadIdentity(); + $5 = HEAP32[6925]|0; + $6 = (($5) + 1)|0; + HEAP32[6925] = $6; + $7 = HEAP32[6449]|0; + $8 = ($7|0)==(5888); + if (!($8)) { + STACKTOP = sp;return; + } + HEAP32[6926] = 1; + STACKTOP = sp;return; +} +function _rlPopMatrix() { + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[6925]|0; + $1 = ($0|0)>(0); + if (!($1)) { + return; + } + $2 = HEAP32[6925]|0; + $3 = (($2) + -1)|0; + $4 = (25960 + ($3<<6)|0); + $5 = HEAP32[6416]|0; + _memmove(($5|0),($4|0),64)|0; + $6 = (($2) + -1)|0; + HEAP32[6925] = $6; + return; +} +function _BeginTextureMode($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0.0, $7 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + _rlglDraw(); + $1 = HEAP32[$0>>2]|0; + _rlEnableRenderTexture($1); + _rlClearScreenBuffers(); + $2 = ((($0)) + 8|0); + $3 = HEAP32[$2>>2]|0; + $4 = ((($0)) + 12|0); + $5 = HEAP32[$4>>2]|0; + _rlViewport(0,0,$3,$5); + _rlMatrixMode(5889); + _rlLoadIdentity(); + $6 = (+($3|0)); + $7 = (+($5|0)); + _rlOrtho(0.0,$6,$7,0.0,0.0,1.0); + _rlMatrixMode(5888); + _rlLoadIdentity(); + return; +} +function _rlEnableRenderTexture($0) { + $0 = $0|0; + var label = 0, sp = 0; + sp = STACKTOP; + _glBindFramebuffer(36160,($0|0)); + return; +} +function _EndTextureMode() { + var $0 = 0, $1 = 0.0, $2 = 0, $3 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + _rlglDraw(); + _rlDisableRenderTexture(); + _SetupViewport(); + _rlMatrixMode(5889); + _rlLoadIdentity(); + $0 = (_GetScreenWidth()|0); + $1 = (+($0|0)); + $2 = (_GetScreenHeight()|0); + $3 = (+($2|0)); + _rlOrtho(0.0,$1,$3,0.0,0.0,1.0); + _rlMatrixMode(5888); + _rlLoadIdentity(); + return; +} +function _rlDisableRenderTexture() { + var label = 0, sp = 0; + sp = STACKTOP; + _glBindFramebuffer(36160,0); + return; +} +function _Fade($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = +$2; + var $$0 = 0.0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0.0, $8 = 0.0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = $2 < 0.0; + if ($3) { + $$0 = 0.0; + } else { + $4 = $2 > 1.0; + if ($4) { + $$0 = 1.0; + } else { + $$0 = $2; + } + } + $5 = ((($1)) + 3|0); + $6 = HEAP8[$5>>0]|0; + $7 = (+($6&255)); + $8 = $$0 * $7; + $9 = HEAP8[$1>>0]|0; + HEAP8[$0>>0] = $9; + $10 = ((($0)) + 1|0); + $11 = ((($1)) + 1|0); + $12 = HEAP8[$11>>0]|0; + HEAP8[$10>>0] = $12; + $13 = ((($0)) + 2|0); + $14 = ((($1)) + 2|0); + $15 = HEAP8[$14>>0]|0; + HEAP8[$13>>0] = $15; + $16 = ((($0)) + 3|0); + $17 = (~~(($8))&255); + HEAP8[$16>>0] = $17; + return; +} +function _SetConfigFlags($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAP8[29332] = $0; + $1 = $0 & 1; + $2 = ($1<<24>>24)==(0); + if (!($2)) { + HEAP32[6374] = 1; + } + $3 = HEAP8[29332]|0; + $4 = $3 & 2; + $5 = ($4<<24>>24)==(0); + if ($5) { + return; + } + HEAP32[6411] = 1; + return; +} +function _IsFileExtension($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$ = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = (_strrchr($0,46)|0); + $3 = ($2|0)==(0|0); + if ($3) { + return 0; + } else { + $4 = (_strcmp($2,$1)|0); + $5 = ($4|0)==(0); + $$ = $5&1; + return ($$|0); + } + return (0)|0; +} +function _IsKeyPressed($0) { + $0 = $0|0; + var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (29339 + ($0)|0); + $2 = HEAP8[$1>>0]|0; + $3 = (29851 + ($0)|0); + $4 = HEAP8[$3>>0]|0; + $5 = ($2<<24>>24)!=($4<<24>>24); + $6 = ($2<<24>>24)==(1); + $or$cond = $6 & $5; + $$0 = $or$cond&1; + return ($$0|0); +} +function _rlTranslatef($0,$1,$2) { + $0 = +$0; + $1 = +$1; + $2 = +$2; + var $$byval_copy = 0, $$byval_copy1 = 0, $3 = 0, $4 = 0, $5 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0); + $$byval_copy1 = sp + 192|0; + $$byval_copy = sp + 128|0; + $3 = sp + 64|0; + $4 = sp; + _MatrixTranslate($3,$0,$1,$2); + _MatrixTranspose($3); + $5 = HEAP32[6416]|0; + dest=$$byval_copy; src=$5; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$$byval_copy1; src=$3; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixMultiply($4,$$byval_copy,$$byval_copy1); + dest=$5; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + STACKTOP = sp;return; +} +function _rlRotatef($0,$1,$2,$3) { + $0 = +$0; + $1 = +$1; + $2 = +$2; + $3 = +$3; + var $$byval_copy1 = 0, $$byval_copy2 = 0, $10 = 0.0, $11 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 336|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(336|0); + $$byval_copy2 = sp + 272|0; + $$byval_copy1 = sp + 208|0; + $4 = sp + 144|0; + $5 = sp + 64|0; + $6 = sp + 80|0; + $7 = sp; + _MatrixIdentity($4); + HEAPF32[$5>>2] = $1; + $8 = ((($5)) + 4|0); + HEAPF32[$8>>2] = $2; + $9 = ((($5)) + 8|0); + HEAPF32[$9>>2] = $3; + _VectorNormalize($5); + $10 = $0 * 0.01745329238474369; + ;HEAP32[$$byval_copy2>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$$byval_copy2+8>>2]=HEAP32[$5+8>>2]|0; + _MatrixRotate($6,$$byval_copy2,$10); + dest=$4; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixTranspose($4); + $11 = HEAP32[6416]|0; + dest=$$byval_copy1; src=$11; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$$byval_copy2; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixMultiply($7,$$byval_copy1,$$byval_copy2); + dest=$11; src=$7; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + STACKTOP = sp;return; +} +function _rlBegin($0) { + $0 = $0|0; + var label = 0, sp = 0; + sp = STACKTOP; + HEAP32[6489] = $0; + return; +} +function _rlEnd() { + var $$03956 = 0, $$04052 = 0, $$04154 = 0, $$04248 = 0, $$04347 = 0, $$byval_copy = 0, $$promoted = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0; + var $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0; + var $128 = 0, $129 = 0, $13 = 0.0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0; + var $146 = 0, $147 = 0, $148 = 0.0, $149 = 0.0, $15 = 0.0, $16 = 0, $17 = 0.0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0; + var $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0; + var $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond = 0, $exitcond60 = 0, $exitcond63 = 0; + var $scevgep = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $$byval_copy = sp; + $0 = HEAP32[6926]|0; + $1 = ($0|0)==(0); + if (!($1)) { + $2 = HEAP32[6927]|0; + $3 = ($2|0)>(0); + if ($3) { + $$03956 = 0; + while(1) { + $6 = HEAP32[6486]|0; + $7 = (($6) + (($$03956*12)|0)|0); + $8 = HEAP32[6416]|0; + dest=$$byval_copy; src=$8; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _VectorTransform($7,$$byval_copy); + $9 = (($$03956) + 1)|0; + $5 = HEAP32[6927]|0; + $10 = ($9|0)<($5|0); + if ($10) { + $$03956 = $9; + } else { + break; + } + } + HEAP32[6926] = 0; + $4 = ($5|0)>(0); + if ($4) { + $$04154 = 0; + while(1) { + $11 = HEAP32[6486]|0; + $12 = (($11) + (($$04154*12)|0)|0); + $13 = +HEAPF32[$12>>2]; + $14 = (((($11) + (($$04154*12)|0)|0)) + 4|0); + $15 = +HEAPF32[$14>>2]; + $16 = (((($11) + (($$04154*12)|0)|0)) + 8|0); + $17 = +HEAPF32[$16>>2]; + _rlVertex3f($13,$15,$17); + $18 = (($$04154) + 1)|0; + $19 = HEAP32[6927]|0; + $20 = ($18|0)<($19|0); + if ($20) { + $$04154 = $18; + } else { + break; + } + } + } + } else { + HEAP32[6926] = 0; + } + HEAP32[6927] = 0; + } + $21 = HEAP32[6489]|0; + switch ($21|0) { + case 1: { + $22 = HEAP32[6748]|0; + $23 = HEAP32[(27000)>>2]|0; + $24 = ($22|0)==($23|0); + if ($24) { + $148 = +HEAPF32[745]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[745] = $149; + STACKTOP = sp;return; + } + $25 = (($22) - ($23))|0; + $26 = ($25|0)>(0); + if ($26) { + $$04347 = 0; + } else { + $148 = +HEAPF32[745]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[745] = $149; + STACKTOP = sp;return; + } + while(1) { + $27 = HEAP32[(27012)>>2]|0; + $28 = HEAP32[(27000)>>2]|0; + $29 = $28 << 2; + $30 = (($29) + -4)|0; + $31 = (($27) + ($30)|0); + $32 = HEAP8[$31>>0]|0; + $33 = (($27) + ($29)|0); + HEAP8[$33>>0] = $32; + $34 = HEAP32[(27012)>>2]|0; + $35 = HEAP32[(27000)>>2]|0; + $36 = $35 << 2; + $37 = (($36) + -3)|0; + $38 = (($34) + ($37)|0); + $39 = HEAP8[$38>>0]|0; + $40 = $36 | 1; + $41 = (($34) + ($40)|0); + HEAP8[$41>>0] = $39; + $42 = HEAP32[(27012)>>2]|0; + $43 = HEAP32[(27000)>>2]|0; + $44 = $43 << 2; + $45 = (($44) + -2)|0; + $46 = (($42) + ($45)|0); + $47 = HEAP8[$46>>0]|0; + $48 = $44 | 2; + $49 = (($42) + ($48)|0); + HEAP8[$49>>0] = $47; + $50 = HEAP32[(27012)>>2]|0; + $51 = HEAP32[(27000)>>2]|0; + $52 = $51 << 2; + $53 = (($52) + -1)|0; + $54 = (($50) + ($53)|0); + $55 = HEAP8[$54>>0]|0; + $56 = $52 | 3; + $57 = (($50) + ($56)|0); + HEAP8[$57>>0] = $55; + $58 = HEAP32[(27000)>>2]|0; + $59 = (($58) + 1)|0; + HEAP32[(27000)>>2] = $59; + $60 = (($$04347) + 1)|0; + $exitcond = ($60|0)==($25|0); + if ($exitcond) { + break; + } else { + $$04347 = $60; + } + } + $148 = +HEAPF32[745]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[745] = $149; + STACKTOP = sp;return; + break; + } + case 4: { + $61 = HEAP32[6760]|0; + $62 = HEAP32[(27048)>>2]|0; + $63 = ($61|0)==($62|0); + if ($63) { + $148 = +HEAPF32[745]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[745] = $149; + STACKTOP = sp;return; + } + $64 = (($61) - ($62))|0; + $65 = ($64|0)>(0); + if ($65) { + $$04248 = 0; + } else { + $148 = +HEAPF32[745]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[745] = $149; + STACKTOP = sp;return; + } + while(1) { + $66 = HEAP32[(27060)>>2]|0; + $67 = HEAP32[(27048)>>2]|0; + $68 = $67 << 2; + $69 = (($68) + -4)|0; + $70 = (($66) + ($69)|0); + $71 = HEAP8[$70>>0]|0; + $72 = (($66) + ($68)|0); + HEAP8[$72>>0] = $71; + $73 = HEAP32[(27060)>>2]|0; + $74 = HEAP32[(27048)>>2]|0; + $75 = $74 << 2; + $76 = (($75) + -3)|0; + $77 = (($73) + ($76)|0); + $78 = HEAP8[$77>>0]|0; + $79 = $75 | 1; + $80 = (($73) + ($79)|0); + HEAP8[$80>>0] = $78; + $81 = HEAP32[(27060)>>2]|0; + $82 = HEAP32[(27048)>>2]|0; + $83 = $82 << 2; + $84 = (($83) + -2)|0; + $85 = (($81) + ($84)|0); + $86 = HEAP8[$85>>0]|0; + $87 = $83 | 2; + $88 = (($81) + ($87)|0); + HEAP8[$88>>0] = $86; + $89 = HEAP32[(27060)>>2]|0; + $90 = HEAP32[(27048)>>2]|0; + $91 = $90 << 2; + $92 = (($91) + -1)|0; + $93 = (($89) + ($92)|0); + $94 = HEAP8[$93>>0]|0; + $95 = $91 | 3; + $96 = (($89) + ($95)|0); + HEAP8[$96>>0] = $94; + $97 = HEAP32[(27048)>>2]|0; + $98 = (($97) + 1)|0; + HEAP32[(27048)>>2] = $98; + $99 = (($$04248) + 1)|0; + $exitcond60 = ($99|0)==($64|0); + if ($exitcond60) { + break; + } else { + $$04248 = $99; + } + } + $148 = +HEAPF32[745]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[745] = $149; + STACKTOP = sp;return; + break; + } + case 7: { + $100 = HEAP32[6772]|0; + $101 = HEAP32[(27096)>>2]|0; + $102 = ($100|0)==($101|0); + if (!($102)) { + $103 = (($100) - ($101))|0; + $104 = ($103|0)>(0); + if ($104) { + $$04052 = 0; + while(1) { + $105 = HEAP32[(27108)>>2]|0; + $106 = HEAP32[(27096)>>2]|0; + $107 = $106 << 2; + $108 = (($107) + -4)|0; + $109 = (($105) + ($108)|0); + $110 = HEAP8[$109>>0]|0; + $111 = (($105) + ($107)|0); + HEAP8[$111>>0] = $110; + $112 = HEAP32[(27108)>>2]|0; + $113 = HEAP32[(27096)>>2]|0; + $114 = $113 << 2; + $115 = (($114) + -3)|0; + $116 = (($112) + ($115)|0); + $117 = HEAP8[$116>>0]|0; + $118 = $114 | 1; + $119 = (($112) + ($118)|0); + HEAP8[$119>>0] = $117; + $120 = HEAP32[(27108)>>2]|0; + $121 = HEAP32[(27096)>>2]|0; + $122 = $121 << 2; + $123 = (($122) + -2)|0; + $124 = (($120) + ($123)|0); + $125 = HEAP8[$124>>0]|0; + $126 = $122 | 2; + $127 = (($120) + ($126)|0); + HEAP8[$127>>0] = $125; + $128 = HEAP32[(27108)>>2]|0; + $129 = HEAP32[(27096)>>2]|0; + $130 = $129 << 2; + $131 = (($130) + -1)|0; + $132 = (($128) + ($131)|0); + $133 = HEAP8[$132>>0]|0; + $134 = $130 | 3; + $135 = (($128) + ($134)|0); + HEAP8[$135>>0] = $133; + $136 = HEAP32[(27096)>>2]|0; + $137 = (($136) + 1)|0; + HEAP32[(27096)>>2] = $137; + $138 = (($$04052) + 1)|0; + $exitcond63 = ($138|0)==($103|0); + if ($exitcond63) { + break; + } else { + $$04052 = $138; + } + } + } + } + $139 = HEAP32[6772]|0; + $140 = HEAP32[(27092)>>2]|0; + $141 = ($139|0)>($140|0); + if (!($141)) { + $148 = +HEAPF32[745]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[745] = $149; + STACKTOP = sp;return; + } + $142 = HEAP32[(27104)>>2]|0; + $$promoted = HEAP32[(27092)>>2]|0; + $143 = $$promoted << 1; + $scevgep = (($142) + ($143<<2)|0); + $144 = (($139) - ($140))|0; + $145 = $144 << 3; + _memset(($scevgep|0),0,($145|0))|0; + $146 = (($139) + ($$promoted))|0; + $147 = (($146) - ($140))|0; + HEAP32[(27092)>>2] = $147; + $148 = +HEAPF32[745]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[745] = $149; + STACKTOP = sp;return; + break; + } + default: { + $148 = +HEAPF32[745]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[745] = $149; + STACKTOP = sp;return; + } + } +} +function _rlVertex3f($0,$1,$2) { + $0 = +$0; + $1 = +$1; + $2 = +$2; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer3 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $vararg_buffer3 = sp + 16|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $3 = HEAP32[6926]|0; + $4 = ($3|0)==(0); + if (!($4)) { + $5 = HEAP32[6486]|0; + $6 = HEAP32[6927]|0; + $7 = (($5) + (($6*12)|0)|0); + HEAPF32[$7>>2] = $0; + $8 = (((($5) + (($6*12)|0)|0)) + 4|0); + HEAPF32[$8>>2] = $1; + $9 = (((($5) + (($6*12)|0)|0)) + 8|0); + HEAPF32[$9>>2] = $2; + $10 = (($6) + 1)|0; + HEAP32[6927] = $10; + STACKTOP = sp;return; + } + $11 = HEAP32[6489]|0; + switch ($11|0) { + case 1: { + $12 = HEAP32[6748]|0; + $13 = ($12|0)<(2048); + if ($13) { + $14 = HEAP32[(27004)>>2]|0; + $15 = ($12*3)|0; + $16 = (($14) + ($15<<2)|0); + HEAPF32[$16>>2] = $0; + $17 = (($15) + 1)|0; + $18 = (($14) + ($17<<2)|0); + HEAPF32[$18>>2] = $1; + $19 = (($15) + 2)|0; + $20 = (($14) + ($19<<2)|0); + HEAPF32[$20>>2] = $2; + $21 = (($12) + 1)|0; + HEAP32[6748] = $21; + STACKTOP = sp;return; + } else { + _TraceLog(2,11268,$vararg_buffer); + STACKTOP = sp;return; + } + break; + } + case 4: { + $22 = HEAP32[6760]|0; + $23 = ($22|0)<(6144); + if ($23) { + $24 = HEAP32[(27052)>>2]|0; + $25 = ($22*3)|0; + $26 = (($24) + ($25<<2)|0); + HEAPF32[$26>>2] = $0; + $27 = (($25) + 1)|0; + $28 = (($24) + ($27<<2)|0); + HEAPF32[$28>>2] = $1; + $29 = (($25) + 2)|0; + $30 = (($24) + ($29<<2)|0); + HEAPF32[$30>>2] = $2; + $31 = (($22) + 1)|0; + HEAP32[6760] = $31; + STACKTOP = sp;return; + } else { + _TraceLog(2,11293,$vararg_buffer1); + STACKTOP = sp;return; + } + break; + } + case 7: { + $32 = HEAP32[6772]|0; + $33 = ($32|0)<(4096); + if ($33) { + $34 = HEAP32[(27100)>>2]|0; + $35 = ($32*3)|0; + $36 = (($34) + ($35<<2)|0); + HEAPF32[$36>>2] = $0; + $37 = (($35) + 1)|0; + $38 = (($34) + ($37<<2)|0); + HEAPF32[$38>>2] = $1; + $39 = (($35) + 2)|0; + $40 = (($34) + ($39<<2)|0); + HEAPF32[$40>>2] = $2; + $41 = (($32) + 1)|0; + HEAP32[6772] = $41; + $42 = HEAP32[6487]|0; + $43 = HEAP32[6488]|0; + $44 = (($43) + -1)|0; + $45 = (($42) + (($44*144)|0)|0); + $46 = HEAP32[$45>>2]|0; + $47 = (($46) + 1)|0; + HEAP32[$45>>2] = $47; + STACKTOP = sp;return; + } else { + _TraceLog(2,11322,$vararg_buffer3); + STACKTOP = sp;return; + } + break; + } + default: { + STACKTOP = sp;return; + } + } +} +function _rlVertex2f($0,$1) { + $0 = +$0; + $1 = +$1; + var $2 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[745]; + _rlVertex3f($0,$1,$2); + return; +} +function _rlVertex2i($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0.0, $3 = 0.0, $4 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = (+($0|0)); + $3 = (+($1|0)); + $4 = +HEAPF32[745]; + _rlVertex3f($2,$3,$4); + return; +} +function _rlTexCoord2f($0,$1) { + $0 = +$0; + $1 = +$1; + var $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = HEAP32[6489]|0; + $3 = ($2|0)==(7); + if (!($3)) { + return; + } + $4 = HEAP32[(27104)>>2]|0; + $5 = HEAP32[(27092)>>2]|0; + $6 = $5 << 1; + $7 = (($4) + ($6<<2)|0); + HEAPF32[$7>>2] = $0; + $8 = $6 | 1; + $9 = (($4) + ($8<<2)|0); + HEAPF32[$9>>2] = $1; + $10 = (($5) + 1)|0; + HEAP32[(27092)>>2] = $10; + return; +} +function _rlNormal3f($0,$1,$2) { + $0 = +$0; + $1 = +$1; + $2 = +$2; + var label = 0, sp = 0; + sp = STACKTOP; + return; +} +function _rlColor4ub($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$sink37 = 0, $$sink38 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $4 = 0, $5 = 0; + var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $4 = HEAP32[6489]|0; + switch ($4|0) { + case 1: { + $$sink37 = (27000);$$sink38 = (27012); + break; + } + case 4: { + $$sink37 = (27048);$$sink38 = (27060); + break; + } + case 7: { + $$sink37 = (27096);$$sink38 = (27108); + break; + } + default: { + return; + } + } + $5 = HEAP32[$$sink38>>2]|0; + $6 = HEAP32[$$sink37>>2]|0; + $7 = $6 << 2; + $8 = (($5) + ($7)|0); + HEAP8[$8>>0] = $0; + $9 = HEAP32[$$sink38>>2]|0; + $10 = HEAP32[$$sink37>>2]|0; + $11 = $10 << 2; + $12 = $11 | 1; + $13 = (($9) + ($12)|0); + HEAP8[$13>>0] = $1; + $14 = HEAP32[$$sink38>>2]|0; + $15 = HEAP32[$$sink37>>2]|0; + $16 = $15 << 2; + $17 = $16 | 2; + $18 = (($14) + ($17)|0); + HEAP8[$18>>0] = $2; + $19 = HEAP32[$$sink38>>2]|0; + $20 = HEAP32[$$sink37>>2]|0; + $21 = $20 << 2; + $22 = $21 | 3; + $23 = (($19) + ($22)|0); + HEAP8[$23>>0] = $3; + $24 = HEAP32[$$sink37>>2]|0; + $25 = (($24) + 1)|0; + HEAP32[$$sink37>>2] = $25; + return; +} +function _rlEnableTexture($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP32[6487]|0; + $2 = HEAP32[6488]|0; + $3 = (($2) + -1)|0; + $4 = (((($1) + (($3*144)|0)|0)) + 8|0); + $5 = HEAP32[$4>>2]|0; + $6 = ($5|0)==($0|0); + if ($6) { + return; + } + $7 = (($1) + (($3*144)|0)|0); + $8 = HEAP32[$7>>2]|0; + $9 = ($8|0)>(0); + if ($9) { + $10 = (($2) + 1)|0; + HEAP32[6488] = $10; + } + $11 = HEAP32[6488]|0; + $12 = (($11) + -1)|0; + $13 = (((($1) + (($12*144)|0)|0)) + 8|0); + HEAP32[$13>>2] = $0; + $14 = (($1) + (($12*144)|0)|0); + HEAP32[$14>>2] = 0; + return; +} +function _rlDisableTexture() { + var $0 = 0, $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[6772]|0; + $1 = ($0|0)>(4095); + if (!($1)) { + return; + } + _rlglDraw(); + return; +} +function _rlTextureParameters($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0.0, $3 = 0, $4 = 0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0, $or$cond = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer4 = 0, $vararg_ptr3 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $vararg_buffer4 = sp + 24|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + _glBindTexture(3553,($0|0)); + L1: do { + switch ($1|0) { + case 10243: case 10242: { + $3 = ($2|0)!=(34626); + $4 = HEAP32[6456]|0; + $5 = ($4|0)!=(0); + $or$cond = $3 | $5; + if ($or$cond) { + _glTexParameteri(3553,($1|0),($2|0)); + break L1; + } else { + _TraceLog(1,11347,$vararg_buffer); + break L1; + } + break; + } + case 10241: case 10240: { + _glTexParameteri(3553,($1|0),($2|0)); + break; + } + case 12288: { + $6 = (+($2|0)); + $7 = +HEAPF32[6455]; + $8 = !($6 <= $7); + if (!($8)) { + _glTexParameterf(3553,34046,(+$6)); + break L1; + } + $9 = $7 > 0.0; + if ($9) { + $10 = $7; + HEAP32[$vararg_buffer1>>2] = $0; + $vararg_ptr3 = ((($vararg_buffer1)) + 8|0); + HEAPF64[$vararg_ptr3>>3] = $10; + _TraceLog(1,11384,$vararg_buffer1); + _glTexParameterf(3553,34046,(+$6)); + break L1; + } else { + _TraceLog(1,11446,$vararg_buffer4); + break L1; + } + break; + } + default: { + } + } + } while(0); + _glBindTexture(3553,0); + STACKTOP = sp;return; +} +function _rlDeleteRenderTextures($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $vararg_buffer = sp; + $1 = HEAP32[$0>>2]|0; + $2 = ($1|0)==(0); + if (!($2)) { + _glDeleteFramebuffers(1,($0|0)); + } + $3 = ((($0)) + 4|0); + $4 = HEAP32[$3>>2]|0; + $5 = ($4|0)==(0); + if (!($5)) { + _glDeleteTextures(1,($3|0)); + } + $6 = ((($0)) + 24|0); + $7 = HEAP32[$6>>2]|0; + $8 = ($7|0)==(0); + if (!($8)) { + _glDeleteTextures(1,($6|0)); + } + $9 = HEAP32[$0>>2]|0; + HEAP32[$vararg_buffer>>2] = $9; + _TraceLog(0,11482,$vararg_buffer); + STACKTOP = sp;return; +} +function _rlglLoadRenderTexture($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0; + var $vararg_buffer1 = 0, $vararg_buffer3 = 0, $vararg_buffer5 = 0, $vararg_buffer7 = 0, $vararg_buffer9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0); + $vararg_buffer9 = sp + 40|0; + $vararg_buffer7 = sp + 32|0; + $vararg_buffer5 = sp + 24|0; + $vararg_buffer3 = sp + 16|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $3 = sp + 44|0; + HEAP32[$3>>2] = 0; + $4 = ((($3)) + 4|0); + HEAP32[$4>>2] = 0; + $5 = ((($3)) + 8|0); + HEAP32[$5>>2] = $1; + $6 = ((($3)) + 12|0); + HEAP32[$6>>2] = $2; + $7 = ((($3)) + 20|0); + HEAP32[$7>>2] = 7; + $8 = ((($3)) + 16|0); + HEAP32[$8>>2] = 1; + $9 = ((($3)) + 24|0); + HEAP32[$9>>2] = 0; + $10 = ((($3)) + 28|0); + HEAP32[$10>>2] = $1; + $11 = ((($3)) + 32|0); + HEAP32[$11>>2] = $2; + $12 = ((($3)) + 40|0); + HEAP32[$12>>2] = 19; + $13 = ((($3)) + 36|0); + HEAP32[$13>>2] = 1; + _glGenTextures(1,($4|0)); + $14 = HEAP32[$4>>2]|0; + _glBindTexture(3553,($14|0)); + _glTexParameteri(3553,10242,33071); + _glTexParameteri(3553,10243,33071); + _glTexParameteri(3553,10241,9729); + _glTexParameteri(3553,10240,9729); + _glTexImage2D(3553,0,6408,($1|0),($2|0),0,6408,5121,(0|0)); + _glBindTexture(3553,0); + _glGenRenderbuffers(1,($9|0)); + $15 = HEAP32[$9>>2]|0; + _glBindRenderbuffer(36161,($15|0)); + _glRenderbufferStorage(36161,33189,($1|0),($2|0)); + _glGenFramebuffers(1,($3|0)); + $16 = HEAP32[$3>>2]|0; + _glBindFramebuffer(36160,($16|0)); + $17 = HEAP32[$4>>2]|0; + _glFramebufferTexture2D(36160,36064,3553,($17|0),0); + $18 = HEAP32[$9>>2]|0; + _glFramebufferRenderbuffer(36160,36096,36161,($18|0)); + $19 = (_glCheckFramebufferStatus(36160)|0); + $20 = ($19|0)==(36053); + if ($20) { + $21 = HEAP32[$3>>2]|0; + HEAP32[$vararg_buffer9>>2] = $21; + _TraceLog(0,11719,$vararg_buffer9); + _glBindFramebuffer(36160,0); + dest=$0; src=$3; stop=dest+44|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + STACKTOP = sp;return; + } + _TraceLog(1,11539,$vararg_buffer); + switch ($19|0) { + case 36061: { + _TraceLog(1,11582,$vararg_buffer1); + break; + } + case 36054: { + _TraceLog(1,11609,$vararg_buffer3); + break; + } + case 36057: { + _TraceLog(1,11643,$vararg_buffer5); + break; + } + case 36055: { + _TraceLog(1,11677,$vararg_buffer7); + break; + } + default: { + } + } + _glDeleteTextures(1,($4|0)); + _glDeleteTextures(1,($9|0)); + _glDeleteFramebuffers(1,($3|0)); + _glBindFramebuffer(36160,0); + dest=$0; src=$3; stop=dest+44|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + STACKTOP = sp;return; +} +function _GetDefaultTexture($0) { + $0 = $0|0; + var $$sroa$4$0$$sroa_idx2 = 0, $$sroa$5$0$$sroa_idx4 = 0, $$sroa$6$0$$sroa_idx6 = 0, $$sroa$7$0$$sroa_idx8 = 0, $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP32[6457]|0; + HEAP32[$0>>2] = $1; + $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); + HEAP32[$$sroa$4$0$$sroa_idx2>>2] = 1; + $$sroa$5$0$$sroa_idx4 = ((($0)) + 8|0); + HEAP32[$$sroa$5$0$$sroa_idx4>>2] = 1; + $$sroa$6$0$$sroa_idx6 = ((($0)) + 12|0); + HEAP32[$$sroa$6$0$$sroa_idx6>>2] = 1; + $$sroa$7$0$$sroa_idx8 = ((($0)) + 16|0); + HEAP32[$$sroa$7$0$$sroa_idx8>>2] = 7; + return; +} +function _DrawLineV($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0.0, $14 = 0, $15 = 0.0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + _rlBegin(1); + $3 = HEAP8[$2>>0]|0; + $4 = ((($2)) + 1|0); + $5 = HEAP8[$4>>0]|0; + $6 = ((($2)) + 2|0); + $7 = HEAP8[$6>>0]|0; + $8 = ((($2)) + 3|0); + $9 = HEAP8[$8>>0]|0; + _rlColor4ub($3,$5,$7,$9); + $10 = +HEAPF32[$0>>2]; + $11 = ((($0)) + 4|0); + $12 = +HEAPF32[$11>>2]; + _rlVertex2f($10,$12); + $13 = +HEAPF32[$1>>2]; + $14 = ((($1)) + 4|0); + $15 = +HEAPF32[$14>>2]; + _rlVertex2f($13,$15); + _rlEnd(); + return; +} +function _DrawRectangle($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $10 = 0.0, $11 = 0, $12 = 0.0, $5 = 0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0); + $$byval_copy2 = sp + 32|0; + $$byval_copy1 = sp + 24|0; + $$byval_copy = sp + 16|0; + $5 = sp + 8|0; + $6 = sp; + $7 = (+($0|0)); + HEAPF32[$5>>2] = $7; + $8 = ((($5)) + 4|0); + $9 = (+($1|0)); + HEAPF32[$8>>2] = $9; + $10 = (+($2|0)); + HEAPF32[$6>>2] = $10; + $11 = ((($6)) + 4|0); + $12 = (+($3|0)); + HEAPF32[$11>>2] = $12; + ;HEAP32[$$byval_copy>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$5+4>>2]|0; + ;HEAP32[$$byval_copy1>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$6+4>>2]|0; + ;HEAP8[$$byval_copy2>>0]=HEAP8[$4>>0]|0;HEAP8[$$byval_copy2+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$$byval_copy2+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$$byval_copy2+3>>0]=HEAP8[$4+3>>0]|0; + _DrawRectangleV($$byval_copy,$$byval_copy1,$$byval_copy2); + STACKTOP = sp;return; +} +function _DrawRectangleV($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0.0, $14 = 0, $15 = 0, $16 = 0.0, $17 = 0, $18 = 0, $19 = 0.0, $20 = 0.0, $21 = 0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0, $26 = 0.0, $27 = 0.0, $28 = 0.0, $29 = 0; + var $3 = 0, $30 = 0.0, $31 = 0, $32 = 0.0, $33 = 0, $34 = 0.0, $35 = 0.0, $36 = 0, $37 = 0.0, $38 = 0.0, $39 = 0, $4 = 0, $40 = 0.0, $41 = 0.0, $42 = 0.0, $43 = 0, $44 = 0.0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0.0, $61 = 0, $62 = 0.0, $63 = 0, $64 = 0.0, $65 = 0.0; + var $66 = 0.0, $67 = 0.0, $68 = 0.0, $69 = 0.0, $7 = 0, $70 = 0.0, $71 = 0.0, $72 = 0.0, $73 = 0.0, $74 = 0.0, $75 = 0.0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $3 = sp; + $4 = (_rlGetVersion()|0); + $5 = ($4|0)==(1); + if ($5) { + _rlBegin(4); + $6 = HEAP8[$2>>0]|0; + $7 = ((($2)) + 1|0); + $8 = HEAP8[$7>>0]|0; + $9 = ((($2)) + 2|0); + $10 = HEAP8[$9>>0]|0; + $11 = ((($2)) + 3|0); + $12 = HEAP8[$11>>0]|0; + _rlColor4ub($6,$8,$10,$12); + $13 = +HEAPF32[$0>>2]; + $14 = (~~(($13))); + $15 = ((($0)) + 4|0); + $16 = +HEAPF32[$15>>2]; + $17 = (~~(($16))); + _rlVertex2i($14,$17); + $18 = ((($1)) + 4|0); + $19 = +HEAPF32[$18>>2]; + $20 = $16 + $19; + $21 = (~~(($20))); + _rlVertex2i($14,$21); + $22 = +HEAPF32[$0>>2]; + $23 = +HEAPF32[$1>>2]; + $24 = $22 + $23; + $25 = (~~(($24))); + $26 = +HEAPF32[$15>>2]; + $27 = +HEAPF32[$18>>2]; + $28 = $26 + $27; + $29 = (~~(($28))); + _rlVertex2i($25,$29); + $30 = +HEAPF32[$0>>2]; + $31 = (~~(($30))); + $32 = +HEAPF32[$15>>2]; + $33 = (~~(($32))); + _rlVertex2i($31,$33); + $34 = +HEAPF32[$1>>2]; + $35 = $30 + $34; + $36 = (~~(($35))); + $37 = +HEAPF32[$18>>2]; + $38 = $32 + $37; + $39 = (~~(($38))); + _rlVertex2i($36,$39); + $40 = +HEAPF32[$0>>2]; + $41 = +HEAPF32[$1>>2]; + $42 = $40 + $41; + $43 = (~~(($42))); + $44 = +HEAPF32[$15>>2]; + $45 = (~~(($44))); + _rlVertex2i($43,$45); + _rlEnd(); + STACKTOP = sp;return; + } + $46 = (_rlGetVersion()|0); + $47 = ($46|0)==(2); + if (!($47)) { + $48 = (_rlGetVersion()|0); + $49 = ($48|0)==(3); + if (!($49)) { + $50 = (_rlGetVersion()|0); + $51 = ($50|0)==(4); + if (!($51)) { + STACKTOP = sp;return; + } + } + } + _GetDefaultTexture($3); + $52 = HEAP32[$3>>2]|0; + _rlEnableTexture($52); + _rlBegin(7); + $53 = HEAP8[$2>>0]|0; + $54 = ((($2)) + 1|0); + $55 = HEAP8[$54>>0]|0; + $56 = ((($2)) + 2|0); + $57 = HEAP8[$56>>0]|0; + $58 = ((($2)) + 3|0); + $59 = HEAP8[$58>>0]|0; + _rlColor4ub($53,$55,$57,$59); + _rlTexCoord2f(0.0,0.0); + $60 = +HEAPF32[$0>>2]; + $61 = ((($0)) + 4|0); + $62 = +HEAPF32[$61>>2]; + _rlVertex2f($60,$62); + _rlTexCoord2f(0.0,1.0); + $63 = ((($1)) + 4|0); + $64 = +HEAPF32[$63>>2]; + $65 = $62 + $64; + _rlVertex2f($60,$65); + _rlTexCoord2f(1.0,1.0); + $66 = +HEAPF32[$0>>2]; + $67 = +HEAPF32[$1>>2]; + $68 = $66 + $67; + $69 = +HEAPF32[$61>>2]; + $70 = +HEAPF32[$63>>2]; + $71 = $69 + $70; + _rlVertex2f($68,$71); + _rlTexCoord2f(1.0,0.0); + $72 = +HEAPF32[$0>>2]; + $73 = +HEAPF32[$1>>2]; + $74 = $72 + $73; + $75 = +HEAPF32[$61>>2]; + _rlVertex2f($74,$75); + _rlEnd(); + _rlDisableTexture(); + STACKTOP = sp;return; +} +function _DrawRectangleLines($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$byval_copy3 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $$byval_copy3 = sp; + $5 = (_rlGetVersion()|0); + $6 = ($5|0)==(1); + if ($6) { + _rlBegin(1); + $7 = HEAP8[$4>>0]|0; + $8 = ((($4)) + 1|0); + $9 = HEAP8[$8>>0]|0; + $10 = ((($4)) + 2|0); + $11 = HEAP8[$10>>0]|0; + $12 = ((($4)) + 3|0); + $13 = HEAP8[$12>>0]|0; + _rlColor4ub($7,$9,$11,$13); + $14 = (($0) + 1)|0; + $15 = (($1) + 1)|0; + _rlVertex2i($14,$15); + $16 = (($2) + ($0))|0; + _rlVertex2i($16,$15); + _rlVertex2i($16,$15); + $17 = (($3) + ($1))|0; + _rlVertex2i($16,$17); + _rlVertex2i($16,$17); + _rlVertex2i($14,$17); + _rlVertex2i($14,$17); + _rlVertex2i($14,$15); + _rlEnd(); + STACKTOP = sp;return; + } + $18 = (_rlGetVersion()|0); + $19 = ($18|0)==(2); + if (!($19)) { + $20 = (_rlGetVersion()|0); + $21 = ($20|0)==(3); + if (!($21)) { + $22 = (_rlGetVersion()|0); + $23 = ($22|0)==(4); + if (!($23)) { + STACKTOP = sp;return; + } + } + } + ;HEAP8[$$byval_copy3>>0]=HEAP8[$4>>0]|0;HEAP8[$$byval_copy3+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$$byval_copy3+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$$byval_copy3+3>>0]=HEAP8[$4+3>>0]|0; + _DrawRectangle($0,$1,$2,1,$$byval_copy3); + $24 = (($0) + -1)|0; + $25 = (($24) + ($2))|0; + $26 = (($1) + 1)|0; + $27 = (($3) + -2)|0; + ;HEAP8[$$byval_copy3>>0]=HEAP8[$4>>0]|0;HEAP8[$$byval_copy3+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$$byval_copy3+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$$byval_copy3+3>>0]=HEAP8[$4+3>>0]|0; + _DrawRectangle($25,$26,1,$27,$$byval_copy3); + $28 = (($1) + -1)|0; + $29 = (($28) + ($3))|0; + ;HEAP8[$$byval_copy3>>0]=HEAP8[$4>>0]|0;HEAP8[$$byval_copy3+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$$byval_copy3+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$$byval_copy3+3>>0]=HEAP8[$4+3>>0]|0; + _DrawRectangle($0,$29,$2,1,$$byval_copy3); + ;HEAP8[$$byval_copy3>>0]=HEAP8[$4>>0]|0;HEAP8[$$byval_copy3+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$$byval_copy3+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$$byval_copy3+3>>0]=HEAP8[$4+3>>0]|0; + _DrawRectangle($0,$26,1,$27,$$byval_copy3); + STACKTOP = sp;return; +} +function _CheckCollisionCircleRec($0,$1,$2) { + $0 = $0|0; + $1 = +$1; + $2 = $2|0; + var $$ = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0.0, $26 = 0, $27 = 0.0, $28 = 0.0; + var $29 = 0.0, $3 = 0, $30 = 0, $31 = 0.0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0.0, $36 = 0.0, $37 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $narrow = 0, $not$or$cond = 0, $notlhs = 0, $notrhs = 0; + var label = 0, sp = 0; + sp = STACKTOP; + $3 = HEAP32[$2>>2]|0; + $4 = ((($2)) + 8|0); + $5 = HEAP32[$4>>2]|0; + $6 = (($5|0) / 2)&-1; + $7 = (($6) + ($3))|0; + $8 = ((($2)) + 4|0); + $9 = HEAP32[$8>>2]|0; + $10 = ((($2)) + 12|0); + $11 = HEAP32[$10>>2]|0; + $12 = (($11|0) / 2)&-1; + $13 = (($12) + ($9))|0; + $14 = +HEAPF32[$0>>2]; + $15 = (+($7|0)); + $16 = $14 - $15; + $17 = (+Math_abs((+$16))); + $18 = ((($0)) + 4|0); + $19 = +HEAPF32[$18>>2]; + $20 = (+($13|0)); + $21 = $19 - $20; + $22 = (+Math_abs((+$21))); + $23 = (+($5|0)); + $24 = $23 * 0.5; + $25 = $24 + $1; + $26 = $17 > $25; + if ($26) { + return 0; + } + $27 = (+($11|0)); + $28 = $27 * 0.5; + $29 = $28 + $1; + $30 = $22 > $29; + if ($30) { + return 0; + } else { + $31 = $17 - $24; + $32 = $31 * $31; + $33 = $22 - $28; + $34 = $33 * $33; + $35 = $32 + $34; + $36 = $1 * $1; + $37 = $35 <= $36; + $notlhs = $17 <= $24; + $notrhs = $22 <= $28; + $not$or$cond = $notlhs | $notrhs; + $narrow = $not$or$cond | $37; + $$ = $narrow&1; + return ($$|0); + } + return (0)|0; +} +function _stbi__err($0) { + $0 = $0|0; + var label = 0, sp = 0; + sp = STACKTOP; + HEAP32[6928] = $0; + return; +} +function _stbi_load_from_file($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $10 = 0, $11 = 0, $12 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 192|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(192|0); + $5 = sp; + _stbi__start_file($5,$0); + $6 = (_stbi__load_and_postprocess_8bit($5,$1,$2,$3,$4)|0); + $7 = ($6|0)==(0|0); + if ($7) { + STACKTOP = sp;return ($6|0); + } + $8 = ((($5)) + 172|0); + $9 = HEAP32[$8>>2]|0; + $10 = ((($5)) + 168|0); + $11 = HEAP32[$10>>2]|0; + $12 = (($11) - ($9))|0; + (_fseek($0,$12,1)|0); + STACKTOP = sp;return ($6|0); +} +function _stbi__start_file($0,$1) { + $0 = $0|0; + $1 = $1|0; + var label = 0, sp = 0; + sp = STACKTOP; + _stbi__start_callbacks($0,3096,$1); + return; +} +function _stbi__load_and_postprocess_8bit($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$0 = 0, $$070 = 0, $$07175 = 0, $$07276 = 0, $$07378 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; + var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $5 = 0, $6 = 0; + var $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond79 = 0, $exitcond80 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $5 = sp; + $6 = (_stbi__load_main($0,$1,$2,$3,$4,$5)|0); + $7 = ($6|0)==(0|0); + if ($7) { + $$0 = 0; + STACKTOP = sp;return ($$0|0); + } + $8 = HEAP32[$5>>2]|0; + switch ($8|0) { + case 8: { + $$070 = $6; + break; + } + case 16: { + label = 4; + break; + } + default: { + ___assert_fail((11771|0),(11797|0),1041,(11820|0)); + // unreachable; + } + } + if ((label|0) == 4) { + $9 = HEAP32[$1>>2]|0; + $10 = HEAP32[$2>>2]|0; + $11 = ($4|0)==(0); + if ($11) { + $12 = HEAP32[$3>>2]|0; + $13 = $12; + } else { + $13 = $4; + } + $14 = (_stbi__convert_16_to_8($6,$9,$10,$13)|0); + HEAP32[$5>>2] = 8; + $$070 = $14; + } + $15 = HEAP32[6929]|0; + $16 = ($15|0)==(0); + if ($16) { + $$0 = $$070; + STACKTOP = sp;return ($$0|0); + } + $17 = HEAP32[$1>>2]|0; + $18 = HEAP32[$2>>2]|0; + $19 = ($4|0)==(0); + if ($19) { + $20 = HEAP32[$3>>2]|0; + $25 = $20; + } else { + $25 = $4; + } + $21 = $18 >> 1; + $22 = ($21|0)>(0); + if (!($22)) { + $$0 = $$070; + STACKTOP = sp;return ($$0|0); + } + $23 = ($17|0)>(0); + $24 = ($25|0)>(0); + $26 = (($18) + -1)|0; + $$07378 = 0; + while(1) { + if ($23) { + $27 = Math_imul($$07378, $17)|0; + $28 = (($26) - ($$07378))|0; + $29 = Math_imul($28, $17)|0; + $$07276 = 0; + while(1) { + if ($24) { + $30 = (($$07276) + ($27))|0; + $31 = Math_imul($30, $25)|0; + $32 = (($$07276) + ($29))|0; + $33 = Math_imul($32, $25)|0; + $$07175 = 0; + while(1) { + $34 = (($$07175) + ($31))|0; + $35 = (($$070) + ($34)|0); + $36 = HEAP8[$35>>0]|0; + $37 = (($$07175) + ($33))|0; + $38 = (($$070) + ($37)|0); + $39 = HEAP8[$38>>0]|0; + HEAP8[$35>>0] = $39; + HEAP8[$38>>0] = $36; + $40 = (($$07175) + 1)|0; + $exitcond = ($40|0)==($25|0); + if ($exitcond) { + break; + } else { + $$07175 = $40; + } + } + } + $41 = (($$07276) + 1)|0; + $exitcond79 = ($41|0)==($17|0); + if ($exitcond79) { + break; + } else { + $$07276 = $41; + } + } + } + $42 = (($$07378) + 1)|0; + $exitcond80 = ($42|0)==($21|0); + if ($exitcond80) { + $$0 = $$070; + break; + } else { + $$07378 = $42; + } + } + STACKTOP = sp;return ($$0|0); +} +function _stbi__load_main($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + var $$0 = 0, $10 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAP32[$5>>2] = 8; + $6 = ((($5)) + 8|0); + HEAP32[$6>>2] = 0; + $7 = ((($5)) + 4|0); + HEAP32[$7>>2] = 0; + $8 = (_stbi__png_test($0)|0); + $9 = ($8|0)==(0); + if ($9) { + _stbi__err(11861); + $$0 = 0; + return ($$0|0); + } else { + $10 = (_stbi__png_load($0,$1,$2,$3,$4,$5)|0); + $$0 = $10; + return ($$0|0); + } + return (0)|0; +} +function _stbi__convert_16_to_8($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$0 = 0, $$01819 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, label = 0, sp = 0; + sp = STACKTOP; + $4 = Math_imul($2, $1)|0; + $5 = Math_imul($4, $3)|0; + $6 = (_stbi__malloc($5)|0); + $7 = ($6|0)==(0|0); + if ($7) { + _stbi__err(11852); + $$0 = 0; + return ($$0|0); + } + $8 = ($5|0)>(0); + if ($8) { + $$01819 = 0; + while(1) { + $9 = (($0) + ($$01819<<1)|0); + $10 = HEAP16[$9>>1]|0; + $11 = ($10&65535) >>> 8; + $12 = $11&255; + $13 = (($6) + ($$01819)|0); + HEAP8[$13>>0] = $12; + $14 = (($$01819) + 1)|0; + $exitcond = ($14|0)==($5|0); + if ($exitcond) { + break; + } else { + $$01819 = $14; + } + } + } + _free($0); + $$0 = $6; + return ($$0|0); +} +function _stbi__malloc($0) { + $0 = $0|0; + var $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (_malloc($0)|0); + return ($1|0); +} +function _stbi__png_test($0) { + $0 = $0|0; + var $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (_stbi__check_png_header($0)|0); + _stbi__rewind($0); + return ($1|0); +} +function _stbi__png_load($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + var $6 = 0, $7 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $6 = sp; + HEAP32[$6>>2] = $0; + $7 = (_stbi__do_png($6,$1,$2,$3,$4,$5)|0); + STACKTOP = sp;return ($7|0); +} +function _stbi__do_png($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + var $$ = 0, $$0 = 0, $$045 = 0, $$1 = 0, $$2 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; + var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $6 = ($4>>>0)>(4); + if ($6) { + _stbi__err(11880); + $$045 = 0; + return ($$045|0); + } + $7 = (_stbi__parse_png_file($0,0,$4)|0); + $8 = ($7|0)==(0); + if ($8) { + $$2 = 0; + } else { + $9 = ((($0)) + 16|0); + $10 = HEAP32[$9>>2]|0; + $11 = ($10|0)>(8); + $$ = $11 ? $10 : 8; + HEAP32[$5>>2] = $$; + $12 = ((($0)) + 12|0); + $13 = HEAP32[$12>>2]|0; + HEAP32[$12>>2] = 0; + $14 = ($4|0)==(0); + if ($14) { + $$1 = $13; + } else { + $15 = HEAP32[$0>>2]|0; + $16 = ((($15)) + 12|0); + $17 = HEAP32[$16>>2]|0; + $18 = ($17|0)==($4|0); + if ($18) { + $$1 = $13; + } else { + $19 = HEAP32[$5>>2]|0; + $20 = ($19|0)==(8); + $21 = ((($15)) + 4|0); + $22 = HEAP32[$21>>2]|0; + $23 = HEAP32[$15>>2]|0; + if ($20) { + $24 = (_stbi__convert_format($13,$17,$4,$23,$22)|0); + $$0 = $24; + } else { + $25 = (_stbi__convert_format16($13,$17,$4,$23,$22)|0); + $$0 = $25; + } + $26 = HEAP32[$0>>2]|0; + $27 = ((($26)) + 12|0); + HEAP32[$27>>2] = $4; + $28 = ($$0|0)==(0|0); + if ($28) { + $$045 = 0; + return ($$045|0); + } else { + $$1 = $$0; + } + } + } + $29 = HEAP32[$0>>2]|0; + $30 = HEAP32[$29>>2]|0; + HEAP32[$1>>2] = $30; + $31 = ((($29)) + 4|0); + $32 = HEAP32[$31>>2]|0; + HEAP32[$2>>2] = $32; + $33 = ($3|0)==(0|0); + if ($33) { + $$2 = $$1; + } else { + $34 = ((($29)) + 8|0); + $35 = HEAP32[$34>>2]|0; + HEAP32[$3>>2] = $35; + $$2 = $$1; + } + } + $36 = ((($0)) + 12|0); + $37 = HEAP32[$36>>2]|0; + _free($37); + HEAP32[$36>>2] = 0; + $38 = ((($0)) + 8|0); + $39 = HEAP32[$38>>2]|0; + _free($39); + HEAP32[$38>>2] = 0; + $40 = ((($0)) + 4|0); + $41 = HEAP32[$40>>2]|0; + _free($41); + HEAP32[$40>>2] = 0; + $$045 = $$2; + return ($$045|0); +} +function _stbi__parse_png_file($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$ = 0, $$$0217 = 0, $$0206 = 0, $$0211 = 0, $$0214 = 0, $$0217 = 0, $$0226593 = 0, $$0228 = 0, $$0231 = 0, $$0235 = 0, $$0239591 = 0, $$0241 = 0, $$0245 = 0, $$1207 = 0, $$1212 = 0, $$1215 = 0, $$1218 = 0, $$1227588 = 0, $$1229 = 0, $$1240589 = 0; + var $$1246 = 0, $$2219 = 0, $$2233 = 0, $$2237 = 0, $$2243 = 0, $$254 = 0, $$3209 = 0, $$3220 = 0, $$4 = 0, $$6$ph = 0, $$7 = 0, $$lobit = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0; + var $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0; + var $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0; + var $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0; + var $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0; + var $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0; + var $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $22 = 0, $23 = 0; + var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; + var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0; + var $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0; + var $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0; + var $97 = 0, $98 = 0, $99 = 0, $notlhs = 0, $notrhs = 0, $or$cond = 0, $or$cond11 = 0, $or$cond248 = 0, $or$cond5$not = 0, $or$cond7 = 0, $switch$split112D = 0, $switch$split142D = 0, $switch$split2D = 0, $switch$split52D = 0, $switch$split82D = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 1056|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1056|0); + $3 = sp + 32|0; + $4 = sp + 22|0; + $5 = sp + 16|0; + $6 = sp + 8|0; + $7 = sp; + $8 = HEAP32[$0>>2]|0; + $9 = ((($0)) + 8|0); + HEAP32[$9>>2] = 0; + $10 = ((($0)) + 4|0); + HEAP32[$10>>2] = 0; + $11 = ((($0)) + 12|0); + HEAP32[$11>>2] = 0; + $12 = (_stbi__check_png_header($8)|0); + $13 = ($12|0)==(0); + if ($13) { + $$7 = 0; + STACKTOP = sp;return ($$7|0); + } + $14 = ($1|0)==(1); + if ($14) { + $$7 = 1; + STACKTOP = sp;return ($$7|0); + } + $15 = ((($6)) + 4|0); + $16 = ((($8)) + 4|0); + $17 = ((($0)) + 16|0); + $18 = ((($8)) + 8|0); + $19 = ($1|0)==(2); + $20 = ((($8)) + 8|0); + $21 = ((($8)) + 8|0); + $22 = ((($0)) + 16|0); + $23 = ($1|0)==(2); + $24 = ($1|0)==(2); + $$0206 = 0;$$0211 = 0;$$0214 = 0;$$0217 = 0;$$0228 = 0;$$0231 = 0;$$0235 = 0;$$0241 = 1;$$0245 = 0; + L7: while(1) { + _stbi__get_chunk_header($6,$8); + $25 = HEAP32[$15>>2]|0; + $switch$split2D = ($25|0)<(1229472850); + L9: do { + if ($switch$split2D) { + $switch$split52D = ($25|0)<(1229209940); + if ($switch$split52D) { + switch ($25|0) { + case 1130840649: { + break; + } + default: { + label = 103; + break L9; + } + } + $26 = HEAP32[$6>>2]|0; + _stbi__skip($8,$26); + $$1212 = $$0211;$$1215 = $$0214;$$1229 = 1;$$1246 = $$0245;$$2233 = $$0231;$$2237 = $$0235;$$2243 = $$0241;$$3209 = $$0206;$$3220 = $$0217; + break; + } + $switch$split112D = ($25|0)<(1229278788); + if (!($switch$split112D)) { + switch ($25|0) { + case 1229278788: { + label = 85; + break L7; + break; + } + default: { + label = 103; + break L9; + } + } + } + switch ($25|0) { + case 1229209940: { + break; + } + default: { + label = 103; + break L9; + } + } + $130 = ($$0241|0)==(0); + if (!($130)) { + label = 70; + break L7; + } + $131 = ($$0206<<24>>24)==(0); + $132 = ($$0245|0)!=(0); + $or$cond = $132 | $131; + if (!($or$cond)) { + label = 72; + break L7; + } + if ($24) { + label = 74; + break L7; + } + $135 = HEAP32[$6>>2]|0; + $136 = (($135) + ($$0214))|0; + $137 = ($136|0)<($$0214|0); + if ($137) { + $$6$ph = 0; + break L7; + } + $138 = ($136>>>0)>($$0217>>>0); + if ($138) { + $139 = ($$0217|0)==(0); + $140 = ($135>>>0)>(4096); + $141 = $140 ? $135 : 4096; + $$$0217 = $139 ? $141 : $$0217; + $142 = HEAP32[$6>>2]|0; + $143 = (($142) + ($$0214))|0; + $$1218 = $$$0217; + while(1) { + $144 = ($143>>>0)>($$1218>>>0); + $145 = $$1218 << 1; + if ($144) { + $$1218 = $145; + } else { + break; + } + } + $146 = HEAP32[$10>>2]|0; + $147 = (_realloc($146,$$1218)|0); + $148 = ($147|0)==(0|0); + if ($148) { + label = 81; + break L7; + } + HEAP32[$10>>2] = $147; + $$2219 = $$1218; + } else { + $$2219 = $$0217; + } + $149 = HEAP32[$10>>2]|0; + $150 = (($149) + ($$0214)|0); + $151 = HEAP32[$6>>2]|0; + $152 = (_stbi__getn($8,$150,$151)|0); + $153 = ($152|0)==(0); + if ($153) { + label = 83; + break L7; + } + $154 = HEAP32[$6>>2]|0; + $155 = (($154) + ($$0214))|0; + $$1212 = $$0211;$$1215 = $155;$$1229 = $$0228;$$1246 = $$0245;$$2233 = $$0231;$$2237 = $$0235;$$2243 = $$0241;$$3209 = $$0206;$$3220 = $$2219; + } else { + $switch$split82D = ($25|0)<(1347179589); + if ($switch$split82D) { + switch ($25|0) { + case 1229472850: { + break; + } + default: { + label = 103; + break L9; + } + } + $27 = ($$0241|0)==(0); + if ($27) { + label = 7; + break L7; + } + $28 = HEAP32[$6>>2]|0; + $29 = ($28|0)==(13); + if (!($29)) { + label = 9; + break L7; + } + $30 = (_stbi__get32be($8)|0); + HEAP32[$8>>2] = $30; + $31 = ($30>>>0)>(16777216); + if ($31) { + label = 11; + break L7; + } + $32 = (_stbi__get32be($8)|0); + HEAP32[$16>>2] = $32; + $33 = ($32>>>0)>(16777216); + if ($33) { + label = 13; + break L7; + } + $34 = (_stbi__get8($8)|0); + $35 = $34&255; + HEAP32[$17>>2] = $35; + switch ($34<<24>>24) { + case 16: case 8: case 4: case 2: case 1: { + break; + } + default: { + label = 15; + break L7; + } + } + $36 = (_stbi__get8($8)|0); + $37 = $36&255; + $38 = ($36&255)>(6); + if ($38) { + label = 17; + break L7; + } + $39 = ($36<<24>>24)==(3); + if ($39) { + $40 = HEAP32[$17>>2]|0; + $41 = ($40|0)==(16); + if ($41) { + label = 20; + break L7; + } else { + $$1207 = 3; + } + } else { + $42 = $37 & 1; + $43 = ($42|0)==(0); + if ($43) { + $$1207 = $$0206; + } else { + label = 22; + break L7; + } + } + $44 = (_stbi__get8($8)|0); + $45 = ($44<<24>>24)==(0); + if (!($45)) { + label = 24; + break L7; + } + $46 = (_stbi__get8($8)|0); + $47 = ($46<<24>>24)==(0); + if (!($47)) { + label = 26; + break L7; + } + $48 = (_stbi__get8($8)|0); + $49 = $48&255; + $50 = ($48&255)>(1); + if ($50) { + label = 28; + break L7; + } + $51 = HEAP32[$8>>2]|0; + $52 = ($51|0)==(0); + if ($52) { + label = 31; + break L7; + } + $53 = HEAP32[$16>>2]|0; + $54 = ($53|0)==(0); + if ($54) { + label = 31; + break L7; + } + $55 = ($$1207<<24>>24)==(0); + $56 = (1073741824 / ($51>>>0))&-1; + if (!($55)) { + HEAP32[$20>>2] = 1; + $63 = $56 >>> 2; + $64 = ($63>>>0)<($53>>>0); + if ($64) { + label = 37; + break L7; + } else { + $$1212 = $$0211;$$1215 = $$0214;$$1229 = $$0228;$$1246 = $$0245;$$2233 = $37;$$2237 = $49;$$2243 = 0;$$3209 = $$1207;$$3220 = $$0217; + break; + } + } + $57 = $37 & 2; + $58 = $57 | 1; + $59 = $37 >>> 2; + $$lobit = $59 & 1; + $60 = (($58) + ($$lobit))|0; + HEAP32[$18>>2] = $60; + $61 = (($56>>>0) / ($60>>>0))&-1; + $62 = ($61>>>0)<($53>>>0); + if ($62) { + label = 34; + break L7; + } + if ($19) { + $$6$ph = 1; + break L7; + } else { + $$1212 = $$0211;$$1215 = $$0214;$$1229 = $$0228;$$1246 = $$0245;$$2233 = $37;$$2237 = $49;$$2243 = 0;$$3209 = 0;$$3220 = $$0217; + break; + } + } + $switch$split142D = ($25|0)<(1951551059); + if ($switch$split142D) { + switch ($25|0) { + case 1347179589: { + break; + } + default: { + label = 103; + break L9; + } + } + $65 = ($$0241|0)==(0); + if (!($65)) { + label = 39; + break L7; + } + $66 = HEAP32[$6>>2]|0; + $67 = ($66>>>0)>(768); + if ($67) { + label = 41; + break L7; + } + $68 = (($66>>>0) / 3)&-1; + $69 = ($68*3)|0; + $70 = ($69|0)==($66|0); + if (!($70)) { + label = 44; + break L7; + } + $71 = ($66>>>0)>(2); + if ($71) { + $$0226593 = 0; + } else { + $$1212 = $$0211;$$1215 = $$0214;$$1229 = $$0228;$$1246 = $68;$$2233 = $$0231;$$2237 = $$0235;$$2243 = 0;$$3209 = $$0206;$$3220 = $$0217; + break; + } + while(1) { + $72 = (_stbi__get8($8)|0); + $73 = $$0226593 << 2; + $74 = (($3) + ($73)|0); + HEAP8[$74>>0] = $72; + $75 = (_stbi__get8($8)|0); + $76 = $73 | 1; + $77 = (($3) + ($76)|0); + HEAP8[$77>>0] = $75; + $78 = (_stbi__get8($8)|0); + $79 = $73 | 2; + $80 = (($3) + ($79)|0); + HEAP8[$80>>0] = $78; + $81 = $73 | 3; + $82 = (($3) + ($81)|0); + HEAP8[$82>>0] = -1; + $83 = (($$0226593) + 1)|0; + $84 = ($83>>>0)<($68>>>0); + if ($84) { + $$0226593 = $83; + } else { + $$1212 = $$0211;$$1215 = $$0214;$$1229 = $$0228;$$1246 = $68;$$2233 = $$0231;$$2237 = $$0235;$$2243 = $$0241;$$3209 = $$0206;$$3220 = $$0217; + break L9; + } + } + } + switch ($25|0) { + case 1951551059: { + break; + } + default: { + label = 103; + break L9; + } + } + $85 = ($$0241|0)==(0); + if (!($85)) { + label = 47; + break L7; + } + $86 = HEAP32[$10>>2]|0; + $87 = ($86|0)==(0|0); + if (!($87)) { + label = 49; + break L7; + } + $88 = ($$0206<<24>>24)==(0); + if (!($88)) { + if ($23) { + label = 52; + break L7; + } + $90 = ($$0245|0)==(0); + if ($90) { + label = 54; + break L7; + } + $91 = HEAP32[$6>>2]|0; + $92 = ($91>>>0)>($$0245>>>0); + if ($92) { + label = 58; + break L7; + } + $93 = HEAP32[$6>>2]|0; + $94 = ($93|0)==(0); + if ($94) { + $$1212 = $$0211;$$1215 = $$0214;$$1229 = $$0228;$$1246 = $$0245;$$2233 = $$0231;$$2237 = $$0235;$$2243 = 0;$$3209 = 4;$$3220 = $$0217; + break; + } + $95 = HEAP32[$6>>2]|0; + $$1227588 = 0; + while(1) { + $96 = (_stbi__get8($8)|0); + $97 = $$1227588 << 2; + $98 = $97 | 3; + $99 = (($3) + ($98)|0); + HEAP8[$99>>0] = $96; + $100 = (($$1227588) + 1)|0; + $101 = ($100>>>0)<($95>>>0); + if ($101) { + $$1227588 = $100; + } else { + $$1212 = $$0211;$$1215 = $$0214;$$1229 = $$0228;$$1246 = $$0245;$$2233 = $$0231;$$2237 = $$0235;$$2243 = $$0241;$$3209 = 4;$$3220 = $$0217; + break L9; + } + } + } + $102 = HEAP32[$21>>2]|0; + $103 = $102 & 1; + $104 = ($103|0)==(0); + if ($104) { + label = 61; + break L7; + } + $105 = HEAP32[$6>>2]|0; + $106 = $102 << 1; + $107 = ($105|0)==($106|0); + if (!($107)) { + label = 63; + break L7; + } + $108 = HEAP32[$22>>2]|0; + $109 = ($108|0)==(16); + $110 = HEAP32[$21>>2]|0; + $111 = ($110|0)>(0); + if ($109) { + if ($111) { + $$0239591 = 0; + } else { + $$1212 = 1;$$1215 = $$0214;$$1229 = $$0228;$$1246 = $$0245;$$2233 = $$0231;$$2237 = $$0235;$$2243 = 0;$$3209 = 0;$$3220 = $$0217; + break; + } + while(1) { + $112 = (_stbi__get16be($8)|0); + $113 = $112&65535; + $114 = (($5) + ($$0239591<<1)|0); + HEAP16[$114>>1] = $113; + $115 = (($$0239591) + 1)|0; + $116 = HEAP32[$21>>2]|0; + $117 = ($115|0)<($116|0); + if ($117) { + $$0239591 = $115; + } else { + $$1212 = 1;$$1215 = $$0214;$$1229 = $$0228;$$1246 = $$0245;$$2233 = $$0231;$$2237 = $$0235;$$2243 = $$0241;$$3209 = $$0206;$$3220 = $$0217; + break; + } + } + } else { + if ($111) { + $$1240589 = 0; + } else { + $$1212 = 1;$$1215 = $$0214;$$1229 = $$0228;$$1246 = $$0245;$$2233 = $$0231;$$2237 = $$0235;$$2243 = 0;$$3209 = 0;$$3220 = $$0217; + break; + } + while(1) { + $118 = (_stbi__get16be($8)|0); + $119 = $118 & 255; + $120 = HEAP32[$22>>2]|0; + $121 = (12194 + ($120)|0); + $122 = HEAP8[$121>>0]|0; + $123 = $122&255; + $124 = Math_imul($123, $119)|0; + $125 = $124&255; + $126 = (($4) + ($$1240589)|0); + HEAP8[$126>>0] = $125; + $127 = (($$1240589) + 1)|0; + $128 = HEAP32[$21>>2]|0; + $129 = ($127|0)<($128|0); + if ($129) { + $$1240589 = $127; + } else { + $$1212 = 1;$$1215 = $$0214;$$1229 = $$0228;$$1246 = $$0245;$$2233 = $$0231;$$2237 = $$0235;$$2243 = $$0241;$$3209 = $$0206;$$3220 = $$0217; + break; + } + } + } + } + } while(0); + if ((label|0) == 103) { + label = 0; + $202 = ($$0241|0)==(0); + if (!($202)) { + label = 104; + break; + } + $203 = $25 & 536870912; + $204 = ($203|0)==(0); + if ($204) { + label = 106; + break; + } + $213 = HEAP32[$6>>2]|0; + _stbi__skip($8,$213); + $$1212 = $$0211;$$1215 = $$0214;$$1229 = $$0228;$$1246 = $$0245;$$2233 = $$0231;$$2237 = $$0235;$$2243 = 0;$$3209 = $$0206;$$3220 = $$0217; + } + (_stbi__get32be($8)|0); + $$0206 = $$3209;$$0211 = $$1212;$$0214 = $$1215;$$0217 = $$3220;$$0228 = $$1229;$$0231 = $$2233;$$0235 = $$2237;$$0241 = $$2243;$$0245 = $$1246; + } + switch (label|0) { + case 7: { + _stbi__err(11968); + $$6$ph = 0; + break; + } + case 9: { + _stbi__err(11982); + $$6$ph = 0; + break; + } + case 11: { + _stbi__err(11995); + $$6$ph = 0; + break; + } + case 13: { + _stbi__err(11995); + $$6$ph = 0; + break; + } + case 15: { + _stbi__err(12005); + $$6$ph = 0; + break; + } + case 17: { + _stbi__err(12025); + $$6$ph = 0; + break; + } + case 20: { + _stbi__err(12025); + $$6$ph = 0; + break; + } + case 22: { + _stbi__err(12025); + $$6$ph = 0; + break; + } + case 24: { + _stbi__err(12035); + $$6$ph = 0; + break; + } + case 26: { + _stbi__err(12051); + $$6$ph = 0; + break; + } + case 28: { + _stbi__err(12069); + $$6$ph = 0; + break; + } + case 31: { + _stbi__err(12090); + $$6$ph = 0; + break; + } + case 34: { + _stbi__err(11995); + $$6$ph = 0; + break; + } + case 37: { + _stbi__err(11995); + $$6$ph = 0; + break; + } + case 39: { + _stbi__err(12104); + $$6$ph = 0; + break; + } + case 41: { + _stbi__err(12119); + $$6$ph = 0; + break; + } + case 44: { + _stbi__err(12119); + $$6$ph = 0; + break; + } + case 47: { + _stbi__err(12104); + $$6$ph = 0; + break; + } + case 49: { + _stbi__err(12132); + $$6$ph = 0; + break; + } + case 52: { + $89 = ((($8)) + 8|0); + HEAP32[$89>>2] = 4; + $$6$ph = 1; + break; + } + case 54: { + _stbi__err(12148); + $$6$ph = 0; + break; + } + case 58: { + _stbi__err(12165); + $$6$ph = 0; + break; + } + case 61: { + _stbi__err(12178); + $$6$ph = 0; + break; + } + case 63: { + _stbi__err(12165); + $$6$ph = 0; + break; + } + case 70: { + _stbi__err(12104); + $$6$ph = 0; + break; + } + case 72: { + _stbi__err(12203); + $$6$ph = 0; + break; + } + case 74: { + $133 = $$0206&255; + $134 = ((($8)) + 8|0); + HEAP32[$134>>2] = $133; + $$6$ph = 1; + break; + } + case 81: { + _stbi__err(11852); + $$6$ph = 0; + break; + } + case 83: { + _stbi__err(12211); + $$6$ph = 0; + break; + } + case 85: { + $156 = ($$0241|0)==(0); + do { + if ($156) { + $157 = ($1|0)==(0); + if ($157) { + $158 = HEAP32[$10>>2]|0; + $159 = ($158|0)==(0|0); + if ($159) { + _stbi__err(12221); + $$4 = 0; + break; + } + $160 = HEAP32[$8>>2]|0; + $161 = ((($0)) + 16|0); + $162 = HEAP32[$161>>2]|0; + $163 = Math_imul($162, $160)|0; + $164 = (($163) + 7)|0; + $165 = $164 >>> 3; + $166 = ((($8)) + 4|0); + $167 = HEAP32[$166>>2]|0; + $168 = ((($8)) + 8|0); + $169 = HEAP32[$168>>2]|0; + $170 = Math_imul($169, $167)|0; + $171 = Math_imul($170, $165)|0; + $172 = (($171) + ($167))|0; + HEAP32[$7>>2] = $172; + $173 = ($$0228|0)!=(0); + $174 = $173 ^ 1; + $175 = $174&1; + $176 = (_stbi_zlib_decode_malloc_guesssize_headerflag($158,$$0214,$172,$7,$175)|0); + HEAP32[$9>>2] = $176; + $177 = ($176|0)==(0|0); + if ($177) { + $$4 = 0; + } else { + $178 = HEAP32[$10>>2]|0; + _free($178); + HEAP32[$10>>2] = 0; + $179 = HEAP32[$168>>2]|0; + $180 = (($179) + 1)|0; + $notlhs = ($180|0)!=($2|0); + $notrhs = ($2|0)==(3); + $or$cond5$not = $notrhs | $notlhs; + $181 = ($$0206<<24>>24)!=(0); + $or$cond7 = $181 | $or$cond5$not; + $182 = ($$0211<<24>>24)==(0); + $or$cond248 = $182 & $or$cond7; + $$254 = $or$cond248 ? $179 : $180; + $183 = ((($8)) + 12|0); + HEAP32[$183>>2] = $$254; + $184 = HEAP32[$9>>2]|0; + $185 = HEAP32[$7>>2]|0; + $186 = HEAP32[$161>>2]|0; + $187 = (_stbi__create_png_image($0,$184,$185,$$254,$186,$$0231,$$0235)|0); + $188 = ($187|0)==(0); + if ($188) { + $$4 = 0; + } else { + do { + if (!($182)) { + $189 = HEAP32[$161>>2]|0; + $190 = ($189|0)==(16); + if ($190) { + $191 = HEAP32[$183>>2]|0; + _stbi__compute_transparency16($0,$5,$191); + break; + } else { + $192 = HEAP32[$183>>2]|0; + _stbi__compute_transparency($0,$4,$192); + break; + } + } + } while(0); + $193 = HEAP32[6930]|0; + $194 = ($193|0)!=(0); + $or$cond11 = $173 & $194; + if ($or$cond11) { + $195 = HEAP32[$183>>2]|0; + $196 = ($195|0)>(2); + if ($196) { + _stbi__de_iphone($0); + } + } + if ($181) { + $197 = $$0206&255; + HEAP32[$168>>2] = $197; + $198 = ($2|0)>(2); + $$ = $198 ? $2 : $197; + HEAP32[$183>>2] = $$; + $199 = (_stbi__expand_png_palette($0,$3,$$)|0); + $200 = ($199|0)==(0); + if ($200) { + $$4 = 0; + break; + } + } + $201 = HEAP32[$9>>2]|0; + _free($201); + HEAP32[$9>>2] = 0; + $$4 = 1; + } + } + } else { + $$4 = 1; + } + } else { + _stbi__err(12104); + $$4 = 0; + } + } while(0); + $$6$ph = $$4; + break; + } + case 104: { + _stbi__err(12104); + $$6$ph = 0; + break; + } + case 106: { + $205 = $25 >>> 24; + $206 = $205&255; + HEAP8[12229] = $206; + $207 = HEAP32[$15>>2]|0; + $208 = $207 >>> 16; + $209 = $208&255; + HEAP8[(12230)>>0] = $209; + $210 = $207 >>> 8; + $211 = $210&255; + HEAP8[(12231)>>0] = $211; + $212 = $207&255; + HEAP8[(12232)>>0] = $212; + _stbi__err(12229); + $$6$ph = 0; + break; + } + } + $$7 = $$6$ph; + STACKTOP = sp;return ($$7|0); +} +function _stbi__convert_format($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$0151255 = 0, $$0163 = 0, $$0164259 = 0, $$0165 = 0, $$0165254 = 0, $$0165257 = 0, $$0256 = 0, $$10161205 = 0, $$10175 = 0, $$10175204 = 0, $$10175207 = 0, $$10206 = 0, $$11162201 = 0, $$11176 = 0, $$11176200 = 0, $$11176203 = 0, $$11202 = 0, $$1152250 = 0, $$1166 = 0, $$1166249 = 0; + var $$1166252 = 0, $$1251 = 0, $$2153245 = 0, $$2167 = 0, $$2167244 = 0, $$2167247 = 0, $$2246 = 0, $$3154240 = 0, $$3168 = 0, $$3168239 = 0, $$3168242 = 0, $$3241 = 0, $$4155235 = 0, $$4169 = 0, $$4169234 = 0, $$4169237 = 0, $$4236 = 0, $$5156230 = 0, $$5170 = 0, $$5170229 = 0; + var $$5170232 = 0, $$5231 = 0, $$6157225 = 0, $$6171 = 0, $$6171224 = 0, $$6171227 = 0, $$6226 = 0, $$7158220 = 0, $$7172 = 0, $$7172219 = 0, $$7172222 = 0, $$7221 = 0, $$8159215 = 0, $$8173 = 0, $$8173214 = 0, $$8173217 = 0, $$8216 = 0, $$9160210 = 0, $$9174 = 0, $$9174209 = 0; + var $$9174212 = 0, $$9211 = 0, $$off = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0; + var $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0; + var $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; + var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; + var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0; + var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0; + var $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0; + var sp = 0; + sp = STACKTOP; + $5 = ($2|0)==($1|0); + if ($5) { + $$0163 = $0; + return ($$0163|0); + } + $$off = (($2) + -1)|0; + $6 = ($$off>>>0)<(4); + if (!($6)) { + ___assert_fail((11893|0),(11797|0),1477,(11947|0)); + // unreachable; + } + $7 = (_stbi__malloc_mad3($2,$3,$4)|0); + $8 = ($7|0)==(0|0); + if ($8) { + _free($0); + _stbi__err(11852); + $$0163 = 0; + return ($$0163|0); + } + $9 = ($4|0)>(0); + L11: do { + if ($9) { + $10 = $1 << 3; + $11 = (($10) + ($2))|0; + $$0165254 = (($3) + -1)|0; + $12 = ($$0165254|0)>(-1); + $$1166249 = (($3) + -1)|0; + $13 = ($$1166249|0)>(-1); + $$2167244 = (($3) + -1)|0; + $14 = ($$2167244|0)>(-1); + $$3168239 = (($3) + -1)|0; + $15 = ($$3168239|0)>(-1); + $$4169234 = (($3) + -1)|0; + $16 = ($$4169234|0)>(-1); + $$5170229 = (($3) + -1)|0; + $17 = ($$5170229|0)>(-1); + $$6171224 = (($3) + -1)|0; + $18 = ($$6171224|0)>(-1); + $$7172219 = (($3) + -1)|0; + $19 = ($$7172219|0)>(-1); + $$8173214 = (($3) + -1)|0; + $20 = ($$8173214|0)>(-1); + $$9174209 = (($3) + -1)|0; + $21 = ($$9174209|0)>(-1); + $$10175204 = (($3) + -1)|0; + $22 = ($$10175204|0)>(-1); + $$11176200 = (($3) + -1)|0; + $23 = ($$11176200|0)>(-1); + $$0164259 = 0; + L13: while(1) { + $24 = Math_imul($$0164259, $3)|0; + $25 = Math_imul($24, $1)|0; + $26 = (($0) + ($25)|0); + $27 = Math_imul($24, $2)|0; + $28 = (($7) + ($27)|0); + do { + switch ($11|0) { + case 10: { + if ($12) { + $$0151255 = $26;$$0165257 = $$0165254;$$0256 = $28; + while(1) { + $29 = HEAP8[$$0151255>>0]|0; + HEAP8[$$0256>>0] = $29; + $30 = ((($$0256)) + 1|0); + HEAP8[$30>>0] = -1; + $31 = ((($$0151255)) + 1|0); + $32 = ((($$0256)) + 2|0); + $$0165 = (($$0165257) + -1)|0; + $33 = ($$0165|0)>(-1); + if ($33) { + $$0151255 = $31;$$0165257 = $$0165;$$0256 = $32; + } else { + break; + } + } + } + break; + } + case 11: { + if ($13) { + $$1152250 = $26;$$1166252 = $$1166249;$$1251 = $28; + while(1) { + $34 = HEAP8[$$1152250>>0]|0; + $35 = ((($$1251)) + 2|0); + HEAP8[$35>>0] = $34; + $36 = ((($$1251)) + 1|0); + HEAP8[$36>>0] = $34; + HEAP8[$$1251>>0] = $34; + $37 = ((($$1152250)) + 1|0); + $38 = ((($$1251)) + 3|0); + $$1166 = (($$1166252) + -1)|0; + $39 = ($$1166|0)>(-1); + if ($39) { + $$1152250 = $37;$$1166252 = $$1166;$$1251 = $38; + } else { + break; + } + } + } + break; + } + case 12: { + if ($14) { + $$2153245 = $26;$$2167247 = $$2167244;$$2246 = $28; + while(1) { + $40 = HEAP8[$$2153245>>0]|0; + $41 = ((($$2246)) + 2|0); + HEAP8[$41>>0] = $40; + $42 = ((($$2246)) + 1|0); + HEAP8[$42>>0] = $40; + HEAP8[$$2246>>0] = $40; + $43 = ((($$2246)) + 3|0); + HEAP8[$43>>0] = -1; + $44 = ((($$2153245)) + 1|0); + $45 = ((($$2246)) + 4|0); + $$2167 = (($$2167247) + -1)|0; + $46 = ($$2167|0)>(-1); + if ($46) { + $$2153245 = $44;$$2167247 = $$2167;$$2246 = $45; + } else { + break; + } + } + } + break; + } + case 17: { + if ($15) { + $$3154240 = $26;$$3168242 = $$3168239;$$3241 = $28; + while(1) { + $47 = HEAP8[$$3154240>>0]|0; + HEAP8[$$3241>>0] = $47; + $48 = ((($$3154240)) + 2|0); + $49 = ((($$3241)) + 1|0); + $$3168 = (($$3168242) + -1)|0; + $50 = ($$3168|0)>(-1); + if ($50) { + $$3154240 = $48;$$3168242 = $$3168;$$3241 = $49; + } else { + break; + } + } + } + break; + } + case 19: { + if ($16) { + $$4155235 = $26;$$4169237 = $$4169234;$$4236 = $28; + while(1) { + $51 = HEAP8[$$4155235>>0]|0; + $52 = ((($$4236)) + 2|0); + HEAP8[$52>>0] = $51; + $53 = ((($$4236)) + 1|0); + HEAP8[$53>>0] = $51; + HEAP8[$$4236>>0] = $51; + $54 = ((($$4155235)) + 2|0); + $55 = ((($$4236)) + 3|0); + $$4169 = (($$4169237) + -1)|0; + $56 = ($$4169|0)>(-1); + if ($56) { + $$4155235 = $54;$$4169237 = $$4169;$$4236 = $55; + } else { + break; + } + } + } + break; + } + case 20: { + if ($17) { + $$5156230 = $26;$$5170232 = $$5170229;$$5231 = $28; + while(1) { + $57 = HEAP8[$$5156230>>0]|0; + $58 = ((($$5231)) + 2|0); + HEAP8[$58>>0] = $57; + $59 = ((($$5231)) + 1|0); + HEAP8[$59>>0] = $57; + HEAP8[$$5231>>0] = $57; + $60 = ((($$5156230)) + 1|0); + $61 = HEAP8[$60>>0]|0; + $62 = ((($$5231)) + 3|0); + HEAP8[$62>>0] = $61; + $63 = ((($$5156230)) + 2|0); + $64 = ((($$5231)) + 4|0); + $$5170 = (($$5170232) + -1)|0; + $65 = ($$5170|0)>(-1); + if ($65) { + $$5156230 = $63;$$5170232 = $$5170;$$5231 = $64; + } else { + break; + } + } + } + break; + } + case 28: { + if ($18) { + $$6157225 = $26;$$6171227 = $$6171224;$$6226 = $28; + while(1) { + $66 = HEAP8[$$6157225>>0]|0; + HEAP8[$$6226>>0] = $66; + $67 = ((($$6157225)) + 1|0); + $68 = HEAP8[$67>>0]|0; + $69 = ((($$6226)) + 1|0); + HEAP8[$69>>0] = $68; + $70 = ((($$6157225)) + 2|0); + $71 = HEAP8[$70>>0]|0; + $72 = ((($$6226)) + 2|0); + HEAP8[$72>>0] = $71; + $73 = ((($$6226)) + 3|0); + HEAP8[$73>>0] = -1; + $74 = ((($$6157225)) + 3|0); + $75 = ((($$6226)) + 4|0); + $$6171 = (($$6171227) + -1)|0; + $76 = ($$6171|0)>(-1); + if ($76) { + $$6157225 = $74;$$6171227 = $$6171;$$6226 = $75; + } else { + break; + } + } + } + break; + } + case 25: { + if ($19) { + $$7158220 = $26;$$7172222 = $$7172219;$$7221 = $28; + while(1) { + $77 = HEAP8[$$7158220>>0]|0; + $78 = $77&255; + $79 = ((($$7158220)) + 1|0); + $80 = HEAP8[$79>>0]|0; + $81 = $80&255; + $82 = ((($$7158220)) + 2|0); + $83 = HEAP8[$82>>0]|0; + $84 = $83&255; + $85 = (_stbi__compute_y($78,$81,$84)|0); + HEAP8[$$7221>>0] = $85; + $86 = ((($$7158220)) + 3|0); + $87 = ((($$7221)) + 1|0); + $$7172 = (($$7172222) + -1)|0; + $88 = ($$7172|0)>(-1); + if ($88) { + $$7158220 = $86;$$7172222 = $$7172;$$7221 = $87; + } else { + break; + } + } + } + break; + } + case 26: { + if ($20) { + $$8159215 = $26;$$8173217 = $$8173214;$$8216 = $28; + while(1) { + $89 = HEAP8[$$8159215>>0]|0; + $90 = $89&255; + $91 = ((($$8159215)) + 1|0); + $92 = HEAP8[$91>>0]|0; + $93 = $92&255; + $94 = ((($$8159215)) + 2|0); + $95 = HEAP8[$94>>0]|0; + $96 = $95&255; + $97 = (_stbi__compute_y($90,$93,$96)|0); + HEAP8[$$8216>>0] = $97; + $98 = ((($$8216)) + 1|0); + HEAP8[$98>>0] = -1; + $99 = ((($$8159215)) + 3|0); + $100 = ((($$8216)) + 2|0); + $$8173 = (($$8173217) + -1)|0; + $101 = ($$8173|0)>(-1); + if ($101) { + $$8159215 = $99;$$8173217 = $$8173;$$8216 = $100; + } else { + break; + } + } + } + break; + } + case 33: { + if ($21) { + $$9160210 = $26;$$9174212 = $$9174209;$$9211 = $28; + while(1) { + $102 = HEAP8[$$9160210>>0]|0; + $103 = $102&255; + $104 = ((($$9160210)) + 1|0); + $105 = HEAP8[$104>>0]|0; + $106 = $105&255; + $107 = ((($$9160210)) + 2|0); + $108 = HEAP8[$107>>0]|0; + $109 = $108&255; + $110 = (_stbi__compute_y($103,$106,$109)|0); + HEAP8[$$9211>>0] = $110; + $111 = ((($$9160210)) + 4|0); + $112 = ((($$9211)) + 1|0); + $$9174 = (($$9174212) + -1)|0; + $113 = ($$9174|0)>(-1); + if ($113) { + $$9160210 = $111;$$9174212 = $$9174;$$9211 = $112; + } else { + break; + } + } + } + break; + } + case 34: { + if ($22) { + $$10161205 = $26;$$10175207 = $$10175204;$$10206 = $28; + while(1) { + $114 = HEAP8[$$10161205>>0]|0; + $115 = $114&255; + $116 = ((($$10161205)) + 1|0); + $117 = HEAP8[$116>>0]|0; + $118 = $117&255; + $119 = ((($$10161205)) + 2|0); + $120 = HEAP8[$119>>0]|0; + $121 = $120&255; + $122 = (_stbi__compute_y($115,$118,$121)|0); + HEAP8[$$10206>>0] = $122; + $123 = ((($$10161205)) + 3|0); + $124 = HEAP8[$123>>0]|0; + $125 = ((($$10206)) + 1|0); + HEAP8[$125>>0] = $124; + $126 = ((($$10161205)) + 4|0); + $127 = ((($$10206)) + 2|0); + $$10175 = (($$10175207) + -1)|0; + $128 = ($$10175|0)>(-1); + if ($128) { + $$10161205 = $126;$$10175207 = $$10175;$$10206 = $127; + } else { + break; + } + } + } + break; + } + case 35: { + if ($23) { + $$11162201 = $26;$$11176203 = $$11176200;$$11202 = $28; + while(1) { + $129 = HEAP8[$$11162201>>0]|0; + HEAP8[$$11202>>0] = $129; + $130 = ((($$11162201)) + 1|0); + $131 = HEAP8[$130>>0]|0; + $132 = ((($$11202)) + 1|0); + HEAP8[$132>>0] = $131; + $133 = ((($$11162201)) + 2|0); + $134 = HEAP8[$133>>0]|0; + $135 = ((($$11202)) + 2|0); + HEAP8[$135>>0] = $134; + $136 = ((($$11162201)) + 4|0); + $137 = ((($$11202)) + 3|0); + $$11176 = (($$11176203) + -1)|0; + $138 = ($$11176|0)>(-1); + if ($138) { + $$11162201 = $136;$$11176203 = $$11176;$$11202 = $137; + } else { + break; + } + } + } + break; + } + default: { + break L13; + } + } + } while(0); + $139 = (($$0164259) + 1)|0; + $140 = ($139|0)<($4|0); + if ($140) { + $$0164259 = $139; + } else { + break L11; + } + } + ___assert_fail((16957|0),(11797|0),1506,(11947|0)); + // unreachable; + } + } while(0); + _free($0); + $$0163 = $7; + return ($$0163|0); +} +function _stbi__convert_format16($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$0151255 = 0, $$0163 = 0, $$0164259 = 0, $$0165 = 0, $$0165254 = 0, $$0165257 = 0, $$0256 = 0, $$10161205 = 0, $$10175 = 0, $$10175204 = 0, $$10175207 = 0, $$10206 = 0, $$11162201 = 0, $$11176 = 0, $$11176200 = 0, $$11176203 = 0, $$11202 = 0, $$1152250 = 0, $$1166 = 0, $$1166249 = 0; + var $$1166252 = 0, $$1251 = 0, $$2153245 = 0, $$2167 = 0, $$2167244 = 0, $$2167247 = 0, $$2246 = 0, $$3154240 = 0, $$3168 = 0, $$3168239 = 0, $$3168242 = 0, $$3241 = 0, $$4155235 = 0, $$4169 = 0, $$4169234 = 0, $$4169237 = 0, $$4236 = 0, $$5156230 = 0, $$5170 = 0, $$5170229 = 0; + var $$5170232 = 0, $$5231 = 0, $$6157225 = 0, $$6171 = 0, $$6171224 = 0, $$6171227 = 0, $$6226 = 0, $$7158220 = 0, $$7172 = 0, $$7172219 = 0, $$7172222 = 0, $$7221 = 0, $$8159215 = 0, $$8173 = 0, $$8173214 = 0, $$8173217 = 0, $$8216 = 0, $$9160210 = 0, $$9174 = 0, $$9174209 = 0; + var $$9174212 = 0, $$9211 = 0, $$off = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0; + var $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0; + var $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0; + var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0; + var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0; + var $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0; + var $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0; + var $98 = 0, $99 = 0, label = 0, sp = 0; + sp = STACKTOP; + $5 = ($2|0)==($1|0); + if ($5) { + $$0163 = $0; + return ($$0163|0); + } + $$off = (($2) + -1)|0; + $6 = ($$off>>>0)<(4); + if (!($6)) { + ___assert_fail((11893|0),(11797|0),1526,(11924|0)); + // unreachable; + } + $7 = $2 << 1; + $8 = Math_imul($7, $3)|0; + $9 = Math_imul($8, $4)|0; + $10 = (_stbi__malloc($9)|0); + $11 = ($10|0)==(0|0); + if ($11) { + _free($0); + _stbi__err(11852); + $$0163 = 0; + return ($$0163|0); + } + $12 = ($4|0)>(0); + L11: do { + if ($12) { + $13 = $1 << 3; + $14 = (($13) + ($2))|0; + $$0165254 = (($3) + -1)|0; + $15 = ($$0165254|0)>(-1); + $$1166249 = (($3) + -1)|0; + $16 = ($$1166249|0)>(-1); + $$2167244 = (($3) + -1)|0; + $17 = ($$2167244|0)>(-1); + $$3168239 = (($3) + -1)|0; + $18 = ($$3168239|0)>(-1); + $$4169234 = (($3) + -1)|0; + $19 = ($$4169234|0)>(-1); + $$5170229 = (($3) + -1)|0; + $20 = ($$5170229|0)>(-1); + $$6171224 = (($3) + -1)|0; + $21 = ($$6171224|0)>(-1); + $$7172219 = (($3) + -1)|0; + $22 = ($$7172219|0)>(-1); + $$8173214 = (($3) + -1)|0; + $23 = ($$8173214|0)>(-1); + $$9174209 = (($3) + -1)|0; + $24 = ($$9174209|0)>(-1); + $$10175204 = (($3) + -1)|0; + $25 = ($$10175204|0)>(-1); + $$11176200 = (($3) + -1)|0; + $26 = ($$11176200|0)>(-1); + $$0164259 = 0; + L13: while(1) { + $27 = Math_imul($$0164259, $3)|0; + $28 = Math_imul($27, $1)|0; + $29 = (($0) + ($28<<1)|0); + $30 = Math_imul($27, $2)|0; + $31 = (($10) + ($30<<1)|0); + do { + switch ($14|0) { + case 10: { + if ($15) { + $$0151255 = $29;$$0165257 = $$0165254;$$0256 = $31; + while(1) { + $32 = HEAP16[$$0151255>>1]|0; + HEAP16[$$0256>>1] = $32; + $33 = ((($$0256)) + 2|0); + HEAP16[$33>>1] = -1; + $34 = ((($$0151255)) + 2|0); + $35 = ((($$0256)) + 4|0); + $$0165 = (($$0165257) + -1)|0; + $36 = ($$0165|0)>(-1); + if ($36) { + $$0151255 = $34;$$0165257 = $$0165;$$0256 = $35; + } else { + break; + } + } + } + break; + } + case 11: { + if ($16) { + $$1152250 = $29;$$1166252 = $$1166249;$$1251 = $31; + while(1) { + $37 = HEAP16[$$1152250>>1]|0; + $38 = ((($$1251)) + 4|0); + HEAP16[$38>>1] = $37; + $39 = ((($$1251)) + 2|0); + HEAP16[$39>>1] = $37; + HEAP16[$$1251>>1] = $37; + $40 = ((($$1152250)) + 2|0); + $41 = ((($$1251)) + 6|0); + $$1166 = (($$1166252) + -1)|0; + $42 = ($$1166|0)>(-1); + if ($42) { + $$1152250 = $40;$$1166252 = $$1166;$$1251 = $41; + } else { + break; + } + } + } + break; + } + case 12: { + if ($17) { + $$2153245 = $29;$$2167247 = $$2167244;$$2246 = $31; + while(1) { + $43 = HEAP16[$$2153245>>1]|0; + $44 = ((($$2246)) + 4|0); + HEAP16[$44>>1] = $43; + $45 = ((($$2246)) + 2|0); + HEAP16[$45>>1] = $43; + HEAP16[$$2246>>1] = $43; + $46 = ((($$2246)) + 6|0); + HEAP16[$46>>1] = -1; + $47 = ((($$2153245)) + 2|0); + $48 = ((($$2246)) + 8|0); + $$2167 = (($$2167247) + -1)|0; + $49 = ($$2167|0)>(-1); + if ($49) { + $$2153245 = $47;$$2167247 = $$2167;$$2246 = $48; + } else { + break; + } + } + } + break; + } + case 17: { + if ($18) { + $$3154240 = $29;$$3168242 = $$3168239;$$3241 = $31; + while(1) { + $50 = HEAP16[$$3154240>>1]|0; + HEAP16[$$3241>>1] = $50; + $51 = ((($$3154240)) + 4|0); + $52 = ((($$3241)) + 2|0); + $$3168 = (($$3168242) + -1)|0; + $53 = ($$3168|0)>(-1); + if ($53) { + $$3154240 = $51;$$3168242 = $$3168;$$3241 = $52; + } else { + break; + } + } + } + break; + } + case 19: { + if ($19) { + $$4155235 = $29;$$4169237 = $$4169234;$$4236 = $31; + while(1) { + $54 = HEAP16[$$4155235>>1]|0; + $55 = ((($$4236)) + 4|0); + HEAP16[$55>>1] = $54; + $56 = ((($$4236)) + 2|0); + HEAP16[$56>>1] = $54; + HEAP16[$$4236>>1] = $54; + $57 = ((($$4155235)) + 4|0); + $58 = ((($$4236)) + 6|0); + $$4169 = (($$4169237) + -1)|0; + $59 = ($$4169|0)>(-1); + if ($59) { + $$4155235 = $57;$$4169237 = $$4169;$$4236 = $58; + } else { + break; + } + } + } + break; + } + case 20: { + if ($20) { + $$5156230 = $29;$$5170232 = $$5170229;$$5231 = $31; + while(1) { + $60 = HEAP16[$$5156230>>1]|0; + $61 = ((($$5231)) + 4|0); + HEAP16[$61>>1] = $60; + $62 = ((($$5231)) + 2|0); + HEAP16[$62>>1] = $60; + HEAP16[$$5231>>1] = $60; + $63 = ((($$5156230)) + 2|0); + $64 = HEAP16[$63>>1]|0; + $65 = ((($$5231)) + 6|0); + HEAP16[$65>>1] = $64; + $66 = ((($$5156230)) + 4|0); + $67 = ((($$5231)) + 8|0); + $$5170 = (($$5170232) + -1)|0; + $68 = ($$5170|0)>(-1); + if ($68) { + $$5156230 = $66;$$5170232 = $$5170;$$5231 = $67; + } else { + break; + } + } + } + break; + } + case 28: { + if ($21) { + $$6157225 = $29;$$6171227 = $$6171224;$$6226 = $31; + while(1) { + $69 = HEAP16[$$6157225>>1]|0; + HEAP16[$$6226>>1] = $69; + $70 = ((($$6157225)) + 2|0); + $71 = HEAP16[$70>>1]|0; + $72 = ((($$6226)) + 2|0); + HEAP16[$72>>1] = $71; + $73 = ((($$6157225)) + 4|0); + $74 = HEAP16[$73>>1]|0; + $75 = ((($$6226)) + 4|0); + HEAP16[$75>>1] = $74; + $76 = ((($$6226)) + 6|0); + HEAP16[$76>>1] = -1; + $77 = ((($$6157225)) + 6|0); + $78 = ((($$6226)) + 8|0); + $$6171 = (($$6171227) + -1)|0; + $79 = ($$6171|0)>(-1); + if ($79) { + $$6157225 = $77;$$6171227 = $$6171;$$6226 = $78; + } else { + break; + } + } + } + break; + } + case 25: { + if ($22) { + $$7158220 = $29;$$7172222 = $$7172219;$$7221 = $31; + while(1) { + $80 = HEAP16[$$7158220>>1]|0; + $81 = $80&65535; + $82 = ((($$7158220)) + 2|0); + $83 = HEAP16[$82>>1]|0; + $84 = $83&65535; + $85 = ((($$7158220)) + 4|0); + $86 = HEAP16[$85>>1]|0; + $87 = $86&65535; + $88 = (_stbi__compute_y_16($81,$84,$87)|0); + HEAP16[$$7221>>1] = $88; + $89 = ((($$7158220)) + 6|0); + $90 = ((($$7221)) + 2|0); + $$7172 = (($$7172222) + -1)|0; + $91 = ($$7172|0)>(-1); + if ($91) { + $$7158220 = $89;$$7172222 = $$7172;$$7221 = $90; + } else { + break; + } + } + } + break; + } + case 26: { + if ($23) { + $$8159215 = $29;$$8173217 = $$8173214;$$8216 = $31; + while(1) { + $92 = HEAP16[$$8159215>>1]|0; + $93 = $92&65535; + $94 = ((($$8159215)) + 2|0); + $95 = HEAP16[$94>>1]|0; + $96 = $95&65535; + $97 = ((($$8159215)) + 4|0); + $98 = HEAP16[$97>>1]|0; + $99 = $98&65535; + $100 = (_stbi__compute_y_16($93,$96,$99)|0); + HEAP16[$$8216>>1] = $100; + $101 = ((($$8216)) + 2|0); + HEAP16[$101>>1] = -1; + $102 = ((($$8159215)) + 6|0); + $103 = ((($$8216)) + 4|0); + $$8173 = (($$8173217) + -1)|0; + $104 = ($$8173|0)>(-1); + if ($104) { + $$8159215 = $102;$$8173217 = $$8173;$$8216 = $103; + } else { + break; + } + } + } + break; + } + case 33: { + if ($24) { + $$9160210 = $29;$$9174212 = $$9174209;$$9211 = $31; + while(1) { + $105 = HEAP16[$$9160210>>1]|0; + $106 = $105&65535; + $107 = ((($$9160210)) + 2|0); + $108 = HEAP16[$107>>1]|0; + $109 = $108&65535; + $110 = ((($$9160210)) + 4|0); + $111 = HEAP16[$110>>1]|0; + $112 = $111&65535; + $113 = (_stbi__compute_y_16($106,$109,$112)|0); + HEAP16[$$9211>>1] = $113; + $114 = ((($$9160210)) + 8|0); + $115 = ((($$9211)) + 2|0); + $$9174 = (($$9174212) + -1)|0; + $116 = ($$9174|0)>(-1); + if ($116) { + $$9160210 = $114;$$9174212 = $$9174;$$9211 = $115; + } else { + break; + } + } + } + break; + } + case 34: { + if ($25) { + $$10161205 = $29;$$10175207 = $$10175204;$$10206 = $31; + while(1) { + $117 = HEAP16[$$10161205>>1]|0; + $118 = $117&65535; + $119 = ((($$10161205)) + 2|0); + $120 = HEAP16[$119>>1]|0; + $121 = $120&65535; + $122 = ((($$10161205)) + 4|0); + $123 = HEAP16[$122>>1]|0; + $124 = $123&65535; + $125 = (_stbi__compute_y_16($118,$121,$124)|0); + HEAP16[$$10206>>1] = $125; + $126 = ((($$10161205)) + 6|0); + $127 = HEAP16[$126>>1]|0; + $128 = ((($$10206)) + 2|0); + HEAP16[$128>>1] = $127; + $129 = ((($$10161205)) + 8|0); + $130 = ((($$10206)) + 4|0); + $$10175 = (($$10175207) + -1)|0; + $131 = ($$10175|0)>(-1); + if ($131) { + $$10161205 = $129;$$10175207 = $$10175;$$10206 = $130; + } else { + break; + } + } + } + break; + } + case 35: { + if ($26) { + $$11162201 = $29;$$11176203 = $$11176200;$$11202 = $31; + while(1) { + $132 = HEAP16[$$11162201>>1]|0; + HEAP16[$$11202>>1] = $132; + $133 = ((($$11162201)) + 2|0); + $134 = HEAP16[$133>>1]|0; + $135 = ((($$11202)) + 2|0); + HEAP16[$135>>1] = $134; + $136 = ((($$11162201)) + 4|0); + $137 = HEAP16[$136>>1]|0; + $138 = ((($$11202)) + 4|0); + HEAP16[$138>>1] = $137; + $139 = ((($$11162201)) + 8|0); + $140 = ((($$11202)) + 6|0); + $$11176 = (($$11176203) + -1)|0; + $141 = ($$11176|0)>(-1); + if ($141) { + $$11162201 = $139;$$11176203 = $$11176;$$11202 = $140; + } else { + break; + } + } + } + break; + } + default: { + break L13; + } + } + } while(0); + $142 = (($$0164259) + 1)|0; + $143 = ($142|0)<($4|0); + if ($143) { + $$0164259 = $142; + } else { + break L11; + } + } + ___assert_fail((16957|0),(11797|0),1555,(11924|0)); + // unreachable; + } + } while(0); + _free($0); + $$0163 = $10; + return ($$0163|0); +} +function _stbi__compute_y_16($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ($0*77)|0; + $4 = ($1*150)|0; + $5 = (($4) + ($3))|0; + $6 = ($2*29)|0; + $7 = (($5) + ($6))|0; + $8 = $7 >>> 8; + $9 = $8&65535; + return ($9|0); +} +function _stbi__malloc_mad3($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$0 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = (_stbi__mad3sizes_valid($0,$1,$2)|0); + $4 = ($3|0)==(0); + if ($4) { + $$0 = 0; + return ($$0|0); + } + $5 = Math_imul($1, $0)|0; + $6 = Math_imul($5, $2)|0; + $7 = (_stbi__malloc($6)|0); + $$0 = $7; + return ($$0|0); +} +function _stbi__compute_y($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ($0*77)|0; + $4 = ($1*150)|0; + $5 = (($4) + ($3))|0; + $6 = ($2*29)|0; + $7 = (($5) + ($6))|0; + $8 = $7 >>> 8; + $9 = $8&255; + return ($9|0); +} +function _stbi__mad3sizes_valid($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = (_stbi__mul2sizes_valid($0,$1)|0); + $4 = ($3|0)==(0); + if ($4) { + $12 = 0; + } else { + $5 = Math_imul($1, $0)|0; + $6 = (_stbi__mul2sizes_valid($5,$2)|0); + $7 = ($6|0)==(0); + if ($7) { + $12 = 0; + } else { + $8 = Math_imul($5, $2)|0; + $9 = (_stbi__addsizes_valid($8)|0); + $10 = ($9|0)!=(0); + $12 = $10; + } + } + $11 = $12&1; + return ($11|0); +} +function _stbi__mul2sizes_valid($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = $1 | $0; + $3 = ($2|0)<(0); + if ($3) { + $$0 = 0; + } else { + $4 = ($1|0)==(0); + if ($4) { + $$0 = 1; + } else { + $5 = (2147483647 / ($1|0))&-1; + $6 = ($5|0)>=($0|0); + $7 = $6&1; + $$0 = $7; + } + } + return ($$0|0); +} +function _stbi__addsizes_valid($0) { + $0 = $0|0; + var label = 0, sp = 0; + sp = STACKTOP; + return 1; +} +function _stbi__check_png_header($0) { + $0 = $0|0; + var $$05 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (_stbi__get8($0)|0); + $2 = ($1<<24>>24)==(-119); + if ($2) { + $3 = (_stbi__get8($0)|0); + $4 = ($3<<24>>24)==(80); + if ($4) { + $5 = (_stbi__get8($0)|0); + $6 = ($5<<24>>24)==(78); + if ($6) { + $7 = (_stbi__get8($0)|0); + $8 = ($7<<24>>24)==(71); + if ($8) { + $9 = (_stbi__get8($0)|0); + $10 = ($9<<24>>24)==(13); + if ($10) { + $11 = (_stbi__get8($0)|0); + $12 = ($11<<24>>24)==(10); + if ($12) { + $13 = (_stbi__get8($0)|0); + $14 = ($13<<24>>24)==(26); + if ($14) { + $15 = (_stbi__get8($0)|0); + $16 = ($15<<24>>24)==(10); + if ($16) { + $$05 = 1; + return ($$05|0); + } + } + } + } + } + } + } + } + _stbi__err(13206); + $$05 = 0; + return ($$05|0); +} +function _stbi__get_chunk_header($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$sroa$4$0$$sroa_idx2 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = (_stbi__get32be($1)|0); + $3 = (_stbi__get32be($1)|0); + HEAP32[$0>>2] = $2; + $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); + HEAP32[$$sroa$4$0$$sroa_idx2>>2] = $3; + return; +} +function _stbi__skip($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; + var $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ($1|0)<(0); + if ($2) { + $3 = ((($0)) + 172|0); + $4 = HEAP32[$3>>2]|0; + $5 = ((($0)) + 168|0); + HEAP32[$5>>2] = $4; + return; + } + $6 = ((($0)) + 16|0); + $7 = HEAP32[$6>>2]|0; + $8 = ($7|0)==(0|0); + if (!($8)) { + $9 = ((($0)) + 172|0); + $10 = HEAP32[$9>>2]|0; + $11 = ((($0)) + 168|0); + $12 = HEAP32[$11>>2]|0; + $13 = $10; + $14 = (($13) - ($12))|0; + $15 = ($14|0)<($1|0); + if ($15) { + HEAP32[$11>>2] = $10; + $16 = ((($0)) + 20|0); + $17 = HEAP32[$16>>2]|0; + $18 = ((($0)) + 28|0); + $19 = HEAP32[$18>>2]|0; + $20 = (($1) - ($14))|0; + FUNCTION_TABLE_vii[$17 & 63]($19,$20); + return; + } + } + $21 = ((($0)) + 168|0); + $22 = HEAP32[$21>>2]|0; + $23 = (($22) + ($1)|0); + HEAP32[$21>>2] = $23; + return; +} +function _stbi__get32be($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (_stbi__get16be($0)|0); + $2 = $1 << 16; + $3 = (_stbi__get16be($0)|0); + $4 = (($2) + ($3))|0; + return ($4|0); +} +function _stbi__get8($0) { + $0 = $0|0; + var $$0 = 0, $$sink6 = 0, $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 168|0); + $2 = HEAP32[$1>>2]|0; + $3 = ((($0)) + 172|0); + $4 = HEAP32[$3>>2]|0; + $5 = ($2>>>0)<($4>>>0); + do { + if ($5) { + $$sink6 = $2; + } else { + $6 = ((($0)) + 32|0); + $7 = HEAP32[$6>>2]|0; + $8 = ($7|0)==(0); + if ($8) { + $$0 = 0; + return ($$0|0); + } else { + _stbi__refill_buffer($0); + $9 = HEAP32[$1>>2]|0; + $$sink6 = $9; + break; + } + } + } while(0); + $10 = ((($$sink6)) + 1|0); + HEAP32[$1>>2] = $10; + $11 = HEAP8[$$sink6>>0]|0; + $$0 = $11; + return ($$0|0); +} +function _stbi__get16be($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (_stbi__get8($0)|0); + $2 = $1&255; + $3 = $2 << 8; + $4 = (_stbi__get8($0)|0); + $5 = $4&255; + $6 = $3 | $5; + return ($6|0); +} +function _stbi__getn($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ((($0)) + 16|0); + $4 = HEAP32[$3>>2]|0; + $5 = ($4|0)==(0|0); + if (!($5)) { + $6 = ((($0)) + 172|0); + $7 = HEAP32[$6>>2]|0; + $8 = ((($0)) + 168|0); + $9 = HEAP32[$8>>2]|0; + $10 = $9; + $11 = (($7) - ($10))|0; + $12 = ($11|0)<($2|0); + if ($12) { + _memcpy(($1|0),($9|0),($11|0))|0; + $13 = HEAP32[$3>>2]|0; + $14 = ((($0)) + 28|0); + $15 = HEAP32[$14>>2]|0; + $16 = (($1) + ($11)|0); + $17 = (($2) - ($11))|0; + $18 = (FUNCTION_TABLE_iiii[$13 & 15]($15,$16,$17)|0); + $19 = ($18|0)==($17|0); + $20 = $19&1; + $21 = HEAP32[$6>>2]|0; + HEAP32[$8>>2] = $21; + $$1 = $20; + return ($$1|0); + } + } + $22 = ((($0)) + 168|0); + $23 = HEAP32[$22>>2]|0; + $24 = (($23) + ($2)|0); + $25 = ((($0)) + 172|0); + $26 = HEAP32[$25>>2]|0; + $27 = ($24>>>0)>($26>>>0); + if ($27) { + $$1 = 0; + return ($$1|0); + } + _memcpy(($1|0),($23|0),($2|0))|0; + $28 = HEAP32[$22>>2]|0; + $29 = (($28) + ($2)|0); + HEAP32[$22>>2] = $29; + $$1 = 1; + return ($$1|0); +} +function _stbi_zlib_decode_malloc_guesssize_headerflag($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 4080|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(4080|0); + $5 = sp; + $6 = (_stbi__malloc($2)|0); + $7 = ($6|0)==(0|0); + do { + if ($7) { + $$0 = 0; + } else { + HEAP32[$5>>2] = $0; + $8 = (($0) + ($1)|0); + $9 = ((($5)) + 4|0); + HEAP32[$9>>2] = $8; + $10 = (_stbi__do_zlib($5,$6,$2,1,$4)|0); + $11 = ($10|0)==(0); + $12 = ((($5)) + 20|0); + $13 = HEAP32[$12>>2]|0; + if ($11) { + _free($13); + $$0 = 0; + break; + } + $14 = ($3|0)==(0|0); + if ($14) { + $$0 = $13; + } else { + $15 = ((($5)) + 16|0); + $16 = HEAP32[$15>>2]|0; + $17 = $13; + $18 = (($16) - ($17))|0; + HEAP32[$3>>2] = $18; + $$0 = $13; + } + } + } while(0); + STACKTOP = sp;return ($$0|0); +} +function _stbi__create_png_image($0,$1,$2,$3,$4,$5,$6) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + $6 = $6|0; + var $$0103117 = 0, $$0106116 = 0, $$0107115 = 0, $$095119 = 0, $$099118 = 0, $$3102$ph = 0, $$398$ph = 0, $$4 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0; + var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0; + var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $60 = 0, $61 = 0; + var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0; + var $80 = 0, $81 = 0, $82 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $7 = ($4|0)==(16); + $8 = $7 ? 2 : 1; + $9 = Math_imul($8, $3)|0; + $10 = ($6|0)==(0); + $11 = HEAP32[$0>>2]|0; + $12 = HEAP32[$11>>2]|0; + $13 = ((($11)) + 4|0); + $14 = HEAP32[$13>>2]|0; + if ($10) { + $15 = (_stbi__create_png_image_raw($0,$1,$2,$3,$12,$14,$4,$5)|0); + $$4 = $15; + return ($$4|0); + } + $16 = (_stbi__malloc_mad3($12,$14,$9)|0); + $17 = ((($0)) + 12|0); + $18 = ((($0)) + 12|0); + $$0103117 = 0;$$095119 = $1;$$099118 = $2; + while(1) { + $19 = HEAP32[$0>>2]|0; + $20 = HEAP32[$19>>2]|0; + $21 = (2984 + ($$0103117<<2)|0); + $22 = HEAP32[$21>>2]|0; + $23 = (3012 + ($$0103117<<2)|0); + $24 = HEAP32[$23>>2]|0; + $25 = (($20) + -1)|0; + $26 = (($25) - ($22))|0; + $27 = (($26) + ($24))|0; + $28 = (($27>>>0) / ($24>>>0))&-1; + $29 = ((($19)) + 4|0); + $30 = HEAP32[$29>>2]|0; + $31 = (3040 + ($$0103117<<2)|0); + $32 = HEAP32[$31>>2]|0; + $33 = (3068 + ($$0103117<<2)|0); + $34 = HEAP32[$33>>2]|0; + $35 = (($30) + -1)|0; + $36 = (($35) - ($32))|0; + $37 = (($36) + ($34))|0; + $38 = (($37>>>0) / ($34>>>0))&-1; + $39 = ($24>>>0)<=($27>>>0); + $40 = ($34>>>0)<=($37>>>0); + $or$cond = $39 & $40; + if ($or$cond) { + $41 = ((($19)) + 8|0); + $42 = HEAP32[$41>>2]|0; + $43 = Math_imul($28, $4)|0; + $44 = Math_imul($43, $42)|0; + $45 = (($44) + 7)|0; + $46 = $45 >> 3; + $47 = (($46) + 1)|0; + $48 = Math_imul($47, $38)|0; + $49 = (_stbi__create_png_image_raw($0,$$095119,$$099118,$3,$28,$38,$4,$5)|0); + $50 = ($49|0)==(0); + if ($50) { + label = 13; + break; + } + $51 = ($38|0)>(0); + if ($51) { + $52 = ($28|0)>(0); + $$0106116 = 0; + while(1) { + if ($52) { + $53 = HEAP32[$33>>2]|0; + $54 = Math_imul($53, $$0106116)|0; + $55 = HEAP32[$31>>2]|0; + $56 = (($54) + ($55))|0; + $57 = HEAP32[$23>>2]|0; + $58 = HEAP32[$21>>2]|0; + $59 = Math_imul($56, $9)|0; + $60 = Math_imul($$0106116, $28)|0; + $$0107115 = 0; + while(1) { + $61 = Math_imul($57, $$0107115)|0; + $62 = (($61) + ($58))|0; + $63 = HEAP32[$0>>2]|0; + $64 = HEAP32[$63>>2]|0; + $65 = Math_imul($59, $64)|0; + $66 = (($16) + ($65)|0); + $67 = Math_imul($62, $9)|0; + $68 = (($66) + ($67)|0); + $69 = HEAP32[$18>>2]|0; + $70 = (($$0107115) + ($60))|0; + $71 = Math_imul($70, $9)|0; + $72 = (($69) + ($71)|0); + _memcpy(($68|0),($72|0),($9|0))|0; + $73 = (($$0107115) + 1)|0; + $74 = ($73|0)<($28|0); + if ($74) { + $$0107115 = $73; + } else { + break; + } + } + } + $75 = (($$0106116) + 1)|0; + $76 = ($75|0)<($38|0); + if ($76) { + $$0106116 = $75; + } else { + break; + } + } + } + $77 = HEAP32[$17>>2]|0; + _free($77); + $78 = (($$095119) + ($48)|0); + $79 = (($$099118) - ($48))|0; + $$3102$ph = $79;$$398$ph = $78; + } else { + $$3102$ph = $$099118;$$398$ph = $$095119; + } + $80 = (($$0103117) + 1)|0; + $81 = ($80|0)<(7); + if ($81) { + $$0103117 = $80;$$095119 = $$398$ph;$$099118 = $$3102$ph; + } else { + label = 15; + break; + } + } + if ((label|0) == 13) { + _free($16); + $$4 = 0; + return ($$4|0); + } + else if ((label|0) == 15) { + $82 = ((($0)) + 12|0); + HEAP32[$82>>2] = $16; + $$4 = 1; + return ($$4|0); + } + return (0)|0; +} +function _stbi__compute_transparency16($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$0323 = 0, $$04 = 0, $$1335 = 0, $$16 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; + var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond9 = 0, $not$ = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = HEAP32[$0>>2]|0; + $4 = HEAP32[$3>>2]|0; + $5 = ((($3)) + 4|0); + $6 = HEAP32[$5>>2]|0; + $7 = Math_imul($6, $4)|0; + $8 = ((($0)) + 12|0); + $9 = HEAP32[$8>>2]|0; + switch ($2|0) { + case 2: { + $13 = ($7|0)==(0); + if ($13) { + return; + } else { + $$0323 = 0;$$04 = $9; + } + while(1) { + $14 = HEAP16[$$04>>1]|0; + $15 = HEAP16[$1>>1]|0; + $not$ = ($14<<16>>16)!=($15<<16>>16); + $16 = $not$ << 31 >> 31; + $17 = ((($$04)) + 2|0); + HEAP16[$17>>1] = $16; + $18 = ((($$04)) + 4|0); + $19 = (($$0323) + 1)|0; + $exitcond = ($19|0)==($7|0); + if ($exitcond) { + break; + } else { + $$0323 = $19;$$04 = $18; + } + } + return; + break; + } + case 4: { + $10 = ($7|0)==(0); + if ($10) { + return; + } + $11 = ((($1)) + 2|0); + $12 = ((($1)) + 4|0); + $$1335 = 0;$$16 = $9; + while(1) { + $20 = HEAP16[$$16>>1]|0; + $21 = HEAP16[$1>>1]|0; + $22 = ($20<<16>>16)==($21<<16>>16); + if ($22) { + $23 = ((($$16)) + 2|0); + $24 = HEAP16[$23>>1]|0; + $25 = HEAP16[$11>>1]|0; + $26 = ($24<<16>>16)==($25<<16>>16); + if ($26) { + $27 = ((($$16)) + 4|0); + $28 = HEAP16[$27>>1]|0; + $29 = HEAP16[$12>>1]|0; + $30 = ($28<<16>>16)==($29<<16>>16); + if ($30) { + $31 = ((($$16)) + 6|0); + HEAP16[$31>>1] = 0; + } + } + } + $32 = ((($$16)) + 8|0); + $33 = (($$1335) + 1)|0; + $exitcond9 = ($33|0)==($7|0); + if ($exitcond9) { + break; + } else { + $$1335 = $33;$$16 = $32; + } + } + return; + break; + } + default: { + ___assert_fail((12288|0),(11797|0),4569,(12340|0)); + // unreachable; + } + } +} +function _stbi__compute_transparency($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$0323 = 0, $$04 = 0, $$1335 = 0, $$16 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; + var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond9 = 0, $not$ = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = HEAP32[$0>>2]|0; + $4 = HEAP32[$3>>2]|0; + $5 = ((($3)) + 4|0); + $6 = HEAP32[$5>>2]|0; + $7 = Math_imul($6, $4)|0; + $8 = ((($0)) + 12|0); + $9 = HEAP32[$8>>2]|0; + switch ($2|0) { + case 2: { + $13 = ($7|0)==(0); + if ($13) { + return; + } else { + $$0323 = 0;$$04 = $9; + } + while(1) { + $14 = HEAP8[$$04>>0]|0; + $15 = HEAP8[$1>>0]|0; + $not$ = ($14<<24>>24)!=($15<<24>>24); + $16 = $not$ << 31 >> 31; + $17 = ((($$04)) + 1|0); + HEAP8[$17>>0] = $16; + $18 = ((($$04)) + 2|0); + $19 = (($$0323) + 1)|0; + $exitcond = ($19|0)==($7|0); + if ($exitcond) { + break; + } else { + $$0323 = $19;$$04 = $18; + } + } + return; + break; + } + case 4: { + $10 = ($7|0)==(0); + if ($10) { + return; + } + $11 = ((($1)) + 1|0); + $12 = ((($1)) + 2|0); + $$1335 = 0;$$16 = $9; + while(1) { + $20 = HEAP8[$$16>>0]|0; + $21 = HEAP8[$1>>0]|0; + $22 = ($20<<24>>24)==($21<<24>>24); + if ($22) { + $23 = ((($$16)) + 1|0); + $24 = HEAP8[$23>>0]|0; + $25 = HEAP8[$11>>0]|0; + $26 = ($24<<24>>24)==($25<<24>>24); + if ($26) { + $27 = ((($$16)) + 2|0); + $28 = HEAP8[$27>>0]|0; + $29 = HEAP8[$12>>0]|0; + $30 = ($28<<24>>24)==($29<<24>>24); + if ($30) { + $31 = ((($$16)) + 3|0); + HEAP8[$31>>0] = 0; + } + } + } + $32 = ((($$16)) + 4|0); + $33 = (($$1335) + 1)|0; + $exitcond9 = ($33|0)==($7|0); + if ($exitcond9) { + break; + } else { + $$1335 = $33;$$16 = $32; + } + } + return; + break; + } + default: { + ___assert_fail((12288|0),(11797|0),4544,(12313|0)); + // unreachable; + } + } +} +function _stbi__de_iphone($0) { + $0 = $0|0; + var $$05158 = 0, $$059 = 0, $$15263 = 0, $$164 = 0, $$25360 = 0, $$261 = 0, $$sink = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0; + var $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0; + var $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond68 = 0, $exitcond69 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP32[$0>>2]|0; + $2 = HEAP32[$1>>2]|0; + $3 = ((($1)) + 4|0); + $4 = HEAP32[$3>>2]|0; + $5 = Math_imul($4, $2)|0; + $6 = ((($0)) + 12|0); + $7 = HEAP32[$6>>2]|0; + $8 = ((($1)) + 12|0); + $9 = HEAP32[$8>>2]|0; + switch ($9|0) { + case 3: { + $10 = ($5|0)==(0); + if ($10) { + return; + } else { + $$05158 = $7;$$059 = 0; + } + while(1) { + $11 = HEAP8[$$05158>>0]|0; + $12 = ((($$05158)) + 2|0); + $13 = HEAP8[$12>>0]|0; + HEAP8[$$05158>>0] = $13; + HEAP8[$12>>0] = $11; + $14 = ((($$05158)) + 3|0); + $15 = (($$059) + 1)|0; + $exitcond = ($15|0)==($5|0); + if ($exitcond) { + break; + } else { + $$05158 = $14;$$059 = $15; + } + } + return; + break; + } + case 4: { + $16 = HEAP32[6931]|0; + $17 = ($16|0)==(0); + $18 = ($5|0)!=(0); + if ($17) { + if ($18) { + $$25360 = $7;$$261 = 0; + } else { + return; + } + while(1) { + $42 = HEAP8[$$25360>>0]|0; + $43 = ((($$25360)) + 2|0); + $44 = HEAP8[$43>>0]|0; + HEAP8[$$25360>>0] = $44; + HEAP8[$43>>0] = $42; + $45 = ((($$25360)) + 4|0); + $46 = (($$261) + 1)|0; + $exitcond68 = ($46|0)==($5|0); + if ($exitcond68) { + break; + } else { + $$25360 = $45;$$261 = $46; + } + } + return; + } + if ($18) { + $$15263 = $7;$$164 = 0; + } else { + return; + } + while(1) { + $19 = ((($$15263)) + 3|0); + $20 = HEAP8[$19>>0]|0; + $21 = HEAP8[$$15263>>0]|0; + $22 = ($20<<24>>24)==(0); + $23 = ((($$15263)) + 2|0); + $24 = HEAP8[$23>>0]|0; + if ($22) { + HEAP8[$$15263>>0] = $24; + $$sink = $21; + } else { + $25 = $24&255; + $26 = ($25*255)|0; + $27 = $20&255; + $28 = (($26>>>0) / ($27>>>0))&-1; + $29 = $28&255; + HEAP8[$$15263>>0] = $29; + $30 = ((($$15263)) + 1|0); + $31 = HEAP8[$30>>0]|0; + $32 = $31&255; + $33 = ($32*255)|0; + $34 = (($33>>>0) / ($27>>>0))&-1; + $35 = $34&255; + HEAP8[$30>>0] = $35; + $36 = $21&255; + $37 = ($36*255)|0; + $38 = (($37>>>0) / ($27>>>0))&-1; + $39 = $38&255; + $$sink = $39; + } + HEAP8[$23>>0] = $$sink; + $40 = ((($$15263)) + 4|0); + $41 = (($$164) + 1)|0; + $exitcond69 = ($41|0)==($5|0); + if ($exitcond69) { + break; + } else { + $$15263 = $40;$$164 = $41; + } + } + return; + break; + } + default: { + ___assert_fail((12254|0),(11797|0),4650,(12272|0)); + // unreachable; + } + } +} +function _stbi__expand_png_palette($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$0 = 0, $$0574 = 0, $$0583 = 0, $$1595 = 0, $$16 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; + var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0; + var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = HEAP32[$0>>2]|0; + $4 = HEAP32[$3>>2]|0; + $5 = ((($3)) + 4|0); + $6 = HEAP32[$5>>2]|0; + $7 = Math_imul($6, $4)|0; + $8 = ((($0)) + 12|0); + $9 = HEAP32[$8>>2]|0; + $10 = (_stbi__malloc_mad2($7,$2)|0); + $11 = ($10|0)==(0|0); + if ($11) { + _stbi__err(11852); + $$0 = 0; + return ($$0|0); + } + $12 = ($2|0)==(3); + $13 = ($7|0)!=(0); + if ($12) { + if ($13) { + $$0574 = 0;$$0583 = $10; + while(1) { + $14 = (($9) + ($$0574)|0); + $15 = HEAP8[$14>>0]|0; + $16 = $15&255; + $17 = $16 << 2; + $18 = (($1) + ($17)|0); + $19 = HEAP8[$18>>0]|0; + HEAP8[$$0583>>0] = $19; + $20 = $17 | 1; + $21 = (($1) + ($20)|0); + $22 = HEAP8[$21>>0]|0; + $23 = ((($$0583)) + 1|0); + HEAP8[$23>>0] = $22; + $24 = $17 | 2; + $25 = (($1) + ($24)|0); + $26 = HEAP8[$25>>0]|0; + $27 = ((($$0583)) + 2|0); + HEAP8[$27>>0] = $26; + $28 = ((($$0583)) + 3|0); + $29 = (($$0574) + 1)|0; + $exitcond = ($29|0)==($7|0); + if ($exitcond) { + break; + } else { + $$0574 = $29;$$0583 = $28; + } + } + } + } else { + if ($13) { + $$1595 = $10;$$16 = 0; + while(1) { + $30 = (($9) + ($$16)|0); + $31 = HEAP8[$30>>0]|0; + $32 = $31&255; + $33 = $32 << 2; + $34 = (($1) + ($33)|0); + $35 = HEAP8[$34>>0]|0; + HEAP8[$$1595>>0] = $35; + $36 = $33 | 1; + $37 = (($1) + ($36)|0); + $38 = HEAP8[$37>>0]|0; + $39 = ((($$1595)) + 1|0); + HEAP8[$39>>0] = $38; + $40 = $33 | 2; + $41 = (($1) + ($40)|0); + $42 = HEAP8[$41>>0]|0; + $43 = ((($$1595)) + 2|0); + HEAP8[$43>>0] = $42; + $44 = $33 | 3; + $45 = (($1) + ($44)|0); + $46 = HEAP8[$45>>0]|0; + $47 = ((($$1595)) + 3|0); + HEAP8[$47>>0] = $46; + $48 = ((($$1595)) + 4|0); + $49 = (($$16) + 1)|0; + $exitcond9 = ($49|0)==($7|0); + if ($exitcond9) { + break; + } else { + $$1595 = $48;$$16 = $49; + } + } + } + } + $50 = HEAP32[$8>>2]|0; + _free($50); + HEAP32[$8>>2] = $10; + $$0 = 1; + return ($$0|0); +} +function _stbi__malloc_mad2($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = (_stbi__mad2sizes_valid($0,$1)|0); + $3 = ($2|0)==(0); + if ($3) { + $$0 = 0; + return ($$0|0); + } + $4 = Math_imul($1, $0)|0; + $5 = (_stbi__malloc($4)|0); + $$0 = $5; + return ($$0|0); +} +function _stbi__mad2sizes_valid($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = (_stbi__mul2sizes_valid($0,$1)|0); + $3 = ($2|0)==(0); + if ($3) { + $8 = 0; + $7 = $8&1; + return ($7|0); + } + $4 = Math_imul($1, $0)|0; + $5 = (_stbi__addsizes_valid($4)|0); + $6 = ($5|0)!=(0); + $8 = $6; + $7 = $8&1; + return ($7|0); +} +function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + $6 = $6|0; + $7 = $7|0; + var $$0568 = 0, $$0568724 = 0, $$0568725 = 0, $$0571$lcssa = 0, $$0571715 = 0, $$0574$lcssa = 0, $$0574714 = 0, $$0577817 = 0, $$0588 = 0, $$0597 = 0, $$0608816 = 0, $$0611815 = 0, $$0614 = 0, $$0614793 = 0, $$0614796 = 0, $$0623814 = 0, $$0625734 = 0, $$0731 = 0, $$1 = 0, $$10635764 = 0; + var $$11$ph = 0, $$11636755 = 0, $$12747 = 0, $$13739 = 0, $$14$lcssa = 0, $$14713 = 0, $$15$lcssa = 0, $$15705 = 0, $$1572$lcssa = 0, $$1572707 = 0, $$1575$lcssa = 0, $$1575706 = 0, $$1578 = 0, $$16$lcssa = 0, $$1609 = 0, $$1612 = 0, $$1615 = 0, $$1615785 = 0, $$1615788 = 0, $$1624727 = 0; + var $$1626812 = 0, $$16700 = 0, $$1721 = 0, $$1722 = 0, $$2 = 0, $$2573$lcssa = 0, $$2573702 = 0, $$2579795 = 0, $$2599794 = 0, $$2616 = 0, $$2616776 = 0, $$2616780 = 0, $$2627810 = 0, $$3580787 = 0, $$3592778 = 0, $$3600786 = 0, $$3617 = 0, $$3617767 = 0, $$3617771 = 0, $$3628808 = 0; + var $$4$lcssa = 0, $$4581779 = 0, $$4593769 = 0, $$4601777 = 0, $$4618 = 0, $$4618758 = 0, $$4618762 = 0, $$4629806 = 0, $$4701 = 0, $$5582770 = 0, $$5594760 = 0, $$5602768 = 0, $$5619 = 0, $$5619750 = 0, $$5619753 = 0, $$5630804 = 0, $$6583761 = 0, $$6603759 = 0, $$6620 = 0, $$6620742 = 0; + var $$6620745 = 0, $$6631802 = 0, $$7584752 = 0, $$7604751 = 0, $$7621798 = 0, $$7632790 = 0, $$8585744 = 0, $$8605743 = 0, $$8622729 = 0, $$8633782 = 0, $$9586 = 0, $$9606799 = 0, $$9634773 = 0, $$not = 0, $$sink = 0, $$sink1 = 0, $$sink641 = 0, $10 = 0, $100 = 0, $101 = 0; + var $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0; + var $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0; + var $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0; + var $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0; + var $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0; + var $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0; + var $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0; + var $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0; + var $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0; + var $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0; + var $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $30 = 0, $300 = 0, $301 = 0; + var $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0; + var $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0; + var $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0; + var $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0; + var $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0; + var $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0; + var $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0; + var $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0; + var $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0; + var $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0; + var $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $50 = 0, $500 = 0, $501 = 0; + var $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0; + var $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0, $531 = 0, $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0; + var $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0, $549 = 0, $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0; + var $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0, $562 = 0, $563 = 0, $564 = 0, $565 = 0, $566 = 0, $567 = 0, $568 = 0, $569 = 0, $57 = 0, $570 = 0, $571 = 0, $572 = 0, $573 = 0, $574 = 0; + var $575 = 0, $576 = 0, $577 = 0, $578 = 0, $579 = 0, $58 = 0, $580 = 0, $581 = 0, $582 = 0, $583 = 0, $584 = 0, $585 = 0, $586 = 0, $587 = 0, $588 = 0, $589 = 0, $59 = 0, $590 = 0, $591 = 0, $592 = 0; + var $593 = 0, $594 = 0, $595 = 0, $596 = 0, $597 = 0, $598 = 0, $599 = 0, $60 = 0, $600 = 0, $601 = 0, $602 = 0, $603 = 0, $604 = 0, $605 = 0, $606 = 0, $607 = 0, $608 = 0, $609 = 0, $61 = 0, $610 = 0; + var $611 = 0, $612 = 0, $613 = 0, $614 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0; + var $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0; + var $96 = 0, $97 = 0, $98 = 0, $99 = 0, $brmerge = 0, $brmerge894 = 0, $exitcond = 0, $exitcond864 = 0, $exitcond865 = 0, $exitcond867 = 0, $exitcond869 = 0, $exitcond871 = 0, $exitcond873 = 0, $exitcond875 = 0, $exitcond877 = 0, $exitcond880 = 0, $exitcond881 = 0, $exitcond882 = 0, $exitcond883 = 0, $exitcond884 = 0; + var $exitcond885 = 0, $exitcond886 = 0, $indvars$iv = 0, $indvars$iv$next = 0, $indvars$iv$next849 = 0, $indvars$iv$next852 = 0, $indvars$iv$next855 = 0, $indvars$iv$next858 = 0, $indvars$iv$next861 = 0, $indvars$iv848 = 0, $indvars$iv851 = 0, $indvars$iv854 = 0, $indvars$iv857 = 0, $indvars$iv860 = 0, $or$cond = 0, $scevgep = 0, $scevgep850 = 0, $scevgep853 = 0, $scevgep856 = 0, $scevgep859 = 0; + var $scevgep862 = 0, $scevgep866 = 0, $scevgep868 = 0, $scevgep870 = 0, $scevgep872 = 0, $scevgep874 = 0, $scevgep876 = 0, $scevgep879 = 0, $trunc = 0, $trunc637 = 0, $trunc638 = 0, label = 0, sp = 0; + sp = STACKTOP; + $8 = ($6|0)==(16); + $9 = $8 ? 2 : 1; + $10 = HEAP32[$0>>2]|0; + $11 = Math_imul($4, $3)|0; + $12 = Math_imul($9, $11)|0; + $13 = ((($10)) + 8|0); + $14 = HEAP32[$13>>2]|0; + $15 = Math_imul($9, $3)|0; + $16 = Math_imul($14, $9)|0; + $17 = ($14|0)==($3|0); + $18 = (($14) + 1)|0; + $19 = ($18|0)==($3|0); + $or$cond = $17 | $19; + if (!($or$cond)) { + ___assert_fail((12369|0),(11797|0),4294,(12410|0)); + // unreachable; + } + $20 = (_stbi__malloc_mad3($4,$5,$15)|0); + $21 = ((($0)) + 12|0); + HEAP32[$21>>2] = $20; + $22 = ($20|0)==(0|0); + if ($22) { + _stbi__err(11852); + $$2 = 0; + return ($$2|0); + } + $23 = Math_imul($14, $4)|0; + $24 = Math_imul($23, $6)|0; + $25 = (($24) + 7)|0; + $26 = $25 >>> 3; + $27 = (($26) + 1)|0; + $28 = Math_imul($27, $5)|0; + $29 = HEAP32[$10>>2]|0; + $30 = ($29|0)==($4|0); + if ($30) { + $31 = ((($10)) + 4|0); + $32 = HEAP32[$31>>2]|0; + $33 = ($32|0)==($5|0); + if ($33) { + $34 = ($28|0)==($2|0); + if (!($34)) { + _stbi__err(12437); + $$2 = 0; + return ($$2|0); + } + } else { + label = 9; + } + } else { + label = 9; + } + if ((label|0) == 9) { + $35 = ($28>>>0)>($2>>>0); + if ($35) { + _stbi__err(12437); + $$2 = 0; + return ($$2|0); + } + } + $36 = ($5|0)==(0); + L18: do { + if (!($36)) { + $37 = ($6|0)<(8); + $38 = ($26>>>0)>($4>>>0); + $39 = (($11) - ($26))|0; + $40 = (0 - ($12))|0; + $41 = ($6|0)==(8); + $brmerge = $37 | $17; + $42 = ($4|0)==(0); + $$0614793 = (($4) + -1)|0; + $43 = ($$0614793|0)==(0); + $$1615785 = (($4) + -1)|0; + $44 = ($$1615785|0)==(0); + $$2616776 = (($4) + -1)|0; + $45 = ($$2616776|0)==(0); + $$3617767 = (($4) + -1)|0; + $46 = ($$3617767|0)==(0); + $$4618758 = (($4) + -1)|0; + $47 = ($$4618758|0)==(0); + $$5619750 = (($4) + -1)|0; + $48 = ($$5619750|0)==(0); + $$6620742 = (($4) + -1)|0; + $49 = ($$6620742|0)==(0); + $$not = $8 ^ 1; + $brmerge894 = $42 | $$not; + $$0577817 = $1;$$0608816 = $4;$$0611815 = $16;$$0623814 = 0; + while(1) { + $50 = HEAP32[$21>>2]|0; + $51 = Math_imul($$0623814, $12)|0; + $52 = (($50) + ($51)|0); + $53 = ((($$0577817)) + 1|0); + $54 = HEAP8[$$0577817>>0]|0; + $55 = $54&255; + $56 = ($54&255)>(4); + if ($56) { + label = 105; + break; + } + if ($37) { + if ($38) { + label = 16; + break; + } + $57 = (($52) + ($39)|0); + $$0597 = $57;$$1609 = $26;$$1612 = 1; + } else { + $$0597 = $52;$$1609 = $$0608816;$$1612 = $$0611815; + } + $58 = (($$0597) + ($40)|0); + $59 = ($$0623814|0)==(0); + if ($59) { + $60 = (12476 + ($55)|0); + $61 = HEAP8[$60>>0]|0; + $62 = $61&255; + $$0588 = $62; + } else { + $$0588 = $55; + } + $63 = ($$1612|0)>(0); + L30: do { + if ($63) { + $trunc638 = $$0588&255; + $$0625734 = 0; + while(1) { + switch ($trunc638<<24>>24) { + case 0: { + $64 = (($53) + ($$0625734)|0); + $65 = HEAP8[$64>>0]|0; + $$sink = $65; + label = 30; + break; + } + case 1: { + $66 = (($53) + ($$0625734)|0); + $67 = HEAP8[$66>>0]|0; + $$sink = $67; + label = 30; + break; + } + case 2: { + $68 = (($53) + ($$0625734)|0); + $69 = HEAP8[$68>>0]|0; + $70 = $69&255; + $71 = (($58) + ($$0625734)|0); + $72 = HEAP8[$71>>0]|0; + $73 = $72&255; + $74 = (($73) + ($70))|0; + $75 = $74&255; + $$sink = $75; + label = 30; + break; + } + case 3: { + $76 = (($53) + ($$0625734)|0); + $77 = HEAP8[$76>>0]|0; + $78 = $77&255; + $79 = (($58) + ($$0625734)|0); + $80 = HEAP8[$79>>0]|0; + $81 = $80&255; + $82 = $81 >>> 1; + $83 = (($82) + ($78))|0; + $84 = $83&255; + $$sink = $84; + label = 30; + break; + } + case 4: { + $85 = (($53) + ($$0625734)|0); + $86 = HEAP8[$85>>0]|0; + $87 = $86&255; + $88 = (($58) + ($$0625734)|0); + $89 = HEAP8[$88>>0]|0; + $90 = $89&255; + $91 = (_stbi__paeth(0,$90,0)|0); + $92 = (($91) + ($87))|0; + $93 = $92&255; + $$sink = $93; + label = 30; + break; + } + case 5: { + $94 = (($53) + ($$0625734)|0); + $95 = HEAP8[$94>>0]|0; + $$sink = $95; + label = 30; + break; + } + case 6: { + $96 = (($53) + ($$0625734)|0); + $97 = HEAP8[$96>>0]|0; + $$sink = $97; + label = 30; + break; + } + default: { + } + } + if ((label|0) == 30) { + label = 0; + $$sink1 = (($$0597) + ($$0625734)|0); + HEAP8[$$sink1>>0] = $$sink; + } + $98 = (($$0625734) + 1)|0; + $exitcond864 = ($98|0)==($$1612|0); + if ($exitcond864) { + break L30; + } else { + $$0625734 = $98; + } + } + } + } while(0); + do { + if ($41) { + if (!($17)) { + $99 = (($$0597) + ($14)|0); + HEAP8[$99>>0] = -1; + } + $100 = (($53) + ($14)|0); + $$1578 = $100;$$sink641 = $3; + } else { + if (!($8)) { + $105 = ((($$0577817)) + 2|0); + $$1578 = $105;$$sink641 = 1; + break; + } + if (!($17)) { + $101 = (($$1612) + 1)|0; + $102 = (($$0597) + ($101)|0); + $103 = (($$0597) + ($$1612)|0); + HEAP8[$103>>0] = -1; + HEAP8[$102>>0] = -1; + } + $104 = (($53) + ($$1612)|0); + $$1578 = $104;$$sink641 = $15; + } + } while(0); + $106 = (($$0597) + ($$sink641)|0); + $107 = (($58) + ($$sink641)|0); + if ($brmerge) { + $108 = (($$1609) + -1)|0; + $109 = Math_imul($108, $$1612)|0; + $trunc637 = $$0588&255; + switch ($trunc637<<24>>24) { + case 0: { + _memcpy(($106|0),($$1578|0),($109|0))|0; + break; + } + case 1: { + $115 = ($109|0)>(0); + if ($115) { + $$1626812 = 0; + while(1) { + $116 = (($$1578) + ($$1626812)|0); + $117 = HEAP8[$116>>0]|0; + $118 = $117&255; + $119 = (($$1626812) - ($$1612))|0; + $120 = (($106) + ($119)|0); + $121 = HEAP8[$120>>0]|0; + $122 = $121&255; + $123 = (($122) + ($118))|0; + $124 = $123&255; + $125 = (($106) + ($$1626812)|0); + HEAP8[$125>>0] = $124; + $126 = (($$1626812) + 1)|0; + $exitcond886 = ($126|0)==($109|0); + if ($exitcond886) { + break; + } else { + $$1626812 = $126; + } + } + } + break; + } + case 2: { + $114 = ($109|0)>(0); + if ($114) { + $$2627810 = 0; + while(1) { + $127 = (($$1578) + ($$2627810)|0); + $128 = HEAP8[$127>>0]|0; + $129 = $128&255; + $130 = (($107) + ($$2627810)|0); + $131 = HEAP8[$130>>0]|0; + $132 = $131&255; + $133 = (($132) + ($129))|0; + $134 = $133&255; + $135 = (($106) + ($$2627810)|0); + HEAP8[$135>>0] = $134; + $136 = (($$2627810) + 1)|0; + $exitcond885 = ($136|0)==($109|0); + if ($exitcond885) { + break; + } else { + $$2627810 = $136; + } + } + } + break; + } + case 3: { + $113 = ($109|0)>(0); + if ($113) { + $$3628808 = 0; + while(1) { + $137 = (($$1578) + ($$3628808)|0); + $138 = HEAP8[$137>>0]|0; + $139 = $138&255; + $140 = (($107) + ($$3628808)|0); + $141 = HEAP8[$140>>0]|0; + $142 = $141&255; + $143 = (($$3628808) - ($$1612))|0; + $144 = (($106) + ($143)|0); + $145 = HEAP8[$144>>0]|0; + $146 = $145&255; + $147 = (($146) + ($142))|0; + $148 = $147 >>> 1; + $149 = (($148) + ($139))|0; + $150 = $149&255; + $151 = (($106) + ($$3628808)|0); + HEAP8[$151>>0] = $150; + $152 = (($$3628808) + 1)|0; + $exitcond884 = ($152|0)==($109|0); + if ($exitcond884) { + break; + } else { + $$3628808 = $152; + } + } + } + break; + } + case 4: { + $112 = ($109|0)>(0); + if ($112) { + $$4629806 = 0; + while(1) { + $153 = (($$1578) + ($$4629806)|0); + $154 = HEAP8[$153>>0]|0; + $155 = $154&255; + $156 = (($$4629806) - ($$1612))|0; + $157 = (($106) + ($156)|0); + $158 = HEAP8[$157>>0]|0; + $159 = $158&255; + $160 = (($107) + ($$4629806)|0); + $161 = HEAP8[$160>>0]|0; + $162 = $161&255; + $163 = (($107) + ($156)|0); + $164 = HEAP8[$163>>0]|0; + $165 = $164&255; + $166 = (_stbi__paeth($159,$162,$165)|0); + $167 = (($166) + ($155))|0; + $168 = $167&255; + $169 = (($106) + ($$4629806)|0); + HEAP8[$169>>0] = $168; + $170 = (($$4629806) + 1)|0; + $exitcond883 = ($170|0)==($109|0); + if ($exitcond883) { + break; + } else { + $$4629806 = $170; + } + } + } + break; + } + case 5: { + $111 = ($109|0)>(0); + if ($111) { + $$5630804 = 0; + while(1) { + $171 = (($$1578) + ($$5630804)|0); + $172 = HEAP8[$171>>0]|0; + $173 = $172&255; + $174 = (($$5630804) - ($$1612))|0; + $175 = (($106) + ($174)|0); + $176 = HEAP8[$175>>0]|0; + $177 = $176&255; + $178 = $177 >>> 1; + $179 = (($178) + ($173))|0; + $180 = $179&255; + $181 = (($106) + ($$5630804)|0); + HEAP8[$181>>0] = $180; + $182 = (($$5630804) + 1)|0; + $exitcond882 = ($182|0)==($109|0); + if ($exitcond882) { + break; + } else { + $$5630804 = $182; + } + } + } + break; + } + case 6: { + $110 = ($109|0)>(0); + if ($110) { + $$6631802 = 0; + while(1) { + $183 = (($$1578) + ($$6631802)|0); + $184 = HEAP8[$183>>0]|0; + $185 = $184&255; + $186 = (($$6631802) - ($$1612))|0; + $187 = (($106) + ($186)|0); + $188 = HEAP8[$187>>0]|0; + $189 = $188&255; + $190 = (_stbi__paeth($189,0,0)|0); + $191 = (($190) + ($185))|0; + $192 = $191&255; + $193 = (($106) + ($$6631802)|0); + HEAP8[$193>>0] = $192; + $194 = (($$6631802) + 1)|0; + $exitcond881 = ($194|0)==($109|0); + if ($exitcond881) { + break; + } else { + $$6631802 = $194; + } + } + } + break; + } + default: { + } + } + $195 = (($$1578) + ($109)|0); + $$11$ph = $195; + } else { + if (!($19)) { + label = 58; + break; + } + $trunc = $$0588&255; + switch ($trunc<<24>>24) { + case 0: { + if ($43) { + $$9586 = $$1578; + } else { + $208 = ($$1612|0)>(0); + $209 = Math_imul($$6620742, $$1612)|0; + $$0614796 = $$0614793;$$2579795 = $$1578;$$2599794 = $106; + while(1) { + if ($208) { + $$7632790 = 0; + while(1) { + $210 = (($$2579795) + ($$7632790)|0); + $211 = HEAP8[$210>>0]|0; + $212 = (($$2599794) + ($$7632790)|0); + HEAP8[$212>>0] = $211; + $213 = (($$7632790) + 1)|0; + $exitcond877 = ($213|0)==($$1612|0); + if ($exitcond877) { + break; + } else { + $$7632790 = $213; + } + } + } + $214 = (($$2599794) + ($$1612)|0); + HEAP8[$214>>0] = -1; + $215 = (($$2579795) + ($$1612)|0); + $216 = (($$2599794) + ($15)|0); + $$0614 = (($$0614796) + -1)|0; + $217 = ($$0614|0)==(0); + if ($217) { + break; + } else { + $$0614796 = $$0614;$$2579795 = $215;$$2599794 = $216; + } + } + $scevgep879 = (($$1578) + ($209)|0); + $$9586 = $scevgep879; + } + break; + } + case 1: { + if ($44) { + $$9586 = $$1578; + } else { + $206 = ($$1612|0)>(0); + $207 = Math_imul($$6620742, $$1612)|0; + $$1615788 = $$1615785;$$3580787 = $$1578;$$3600786 = $106; + while(1) { + if ($206) { + $$8633782 = 0; + while(1) { + $218 = (($$3580787) + ($$8633782)|0); + $219 = HEAP8[$218>>0]|0; + $220 = $219&255; + $221 = (($$8633782) - ($15))|0; + $222 = (($$3600786) + ($221)|0); + $223 = HEAP8[$222>>0]|0; + $224 = $223&255; + $225 = (($224) + ($220))|0; + $226 = $225&255; + $227 = (($$3600786) + ($$8633782)|0); + HEAP8[$227>>0] = $226; + $228 = (($$8633782) + 1)|0; + $exitcond875 = ($228|0)==($$1612|0); + if ($exitcond875) { + break; + } else { + $$8633782 = $228; + } + } + } + $229 = (($$3600786) + ($$1612)|0); + HEAP8[$229>>0] = -1; + $230 = (($$3580787) + ($$1612)|0); + $231 = (($$3600786) + ($15)|0); + $$1615 = (($$1615788) + -1)|0; + $232 = ($$1615|0)==(0); + if ($232) { + break; + } else { + $$1615788 = $$1615;$$3580787 = $230;$$3600786 = $231; + } + } + $scevgep876 = (($$1578) + ($207)|0); + $$9586 = $scevgep876; + } + break; + } + case 2: { + if ($45) { + $$9586 = $$1578; + } else { + $204 = ($$1612|0)>(0); + $205 = Math_imul($$6620742, $$1612)|0; + $$2616780 = $$2616776;$$3592778 = $107;$$4581779 = $$1578;$$4601777 = $106; + while(1) { + if ($204) { + $$9634773 = 0; + while(1) { + $233 = (($$4581779) + ($$9634773)|0); + $234 = HEAP8[$233>>0]|0; + $235 = $234&255; + $236 = (($$3592778) + ($$9634773)|0); + $237 = HEAP8[$236>>0]|0; + $238 = $237&255; + $239 = (($238) + ($235))|0; + $240 = $239&255; + $241 = (($$4601777) + ($$9634773)|0); + HEAP8[$241>>0] = $240; + $242 = (($$9634773) + 1)|0; + $exitcond873 = ($242|0)==($$1612|0); + if ($exitcond873) { + break; + } else { + $$9634773 = $242; + } + } + } + $243 = (($$4601777) + ($$1612)|0); + HEAP8[$243>>0] = -1; + $244 = (($$4581779) + ($$1612)|0); + $245 = (($$4601777) + ($15)|0); + $246 = (($$3592778) + ($15)|0); + $$2616 = (($$2616780) + -1)|0; + $247 = ($$2616|0)==(0); + if ($247) { + break; + } else { + $$2616780 = $$2616;$$3592778 = $246;$$4581779 = $244;$$4601777 = $245; + } + } + $scevgep874 = (($$1578) + ($205)|0); + $$9586 = $scevgep874; + } + break; + } + case 3: { + if ($46) { + $$9586 = $$1578; + } else { + $202 = ($$1612|0)>(0); + $203 = Math_imul($$6620742, $$1612)|0; + $$3617771 = $$3617767;$$4593769 = $107;$$5582770 = $$1578;$$5602768 = $106; + while(1) { + if ($202) { + $$10635764 = 0; + while(1) { + $248 = (($$5582770) + ($$10635764)|0); + $249 = HEAP8[$248>>0]|0; + $250 = $249&255; + $251 = (($$4593769) + ($$10635764)|0); + $252 = HEAP8[$251>>0]|0; + $253 = $252&255; + $254 = (($$10635764) - ($15))|0; + $255 = (($$5602768) + ($254)|0); + $256 = HEAP8[$255>>0]|0; + $257 = $256&255; + $258 = (($257) + ($253))|0; + $259 = $258 >>> 1; + $260 = (($259) + ($250))|0; + $261 = $260&255; + $262 = (($$5602768) + ($$10635764)|0); + HEAP8[$262>>0] = $261; + $263 = (($$10635764) + 1)|0; + $exitcond871 = ($263|0)==($$1612|0); + if ($exitcond871) { + break; + } else { + $$10635764 = $263; + } + } + } + $264 = (($$5602768) + ($$1612)|0); + HEAP8[$264>>0] = -1; + $265 = (($$5582770) + ($$1612)|0); + $266 = (($$5602768) + ($15)|0); + $267 = (($$4593769) + ($15)|0); + $$3617 = (($$3617771) + -1)|0; + $268 = ($$3617|0)==(0); + if ($268) { + break; + } else { + $$3617771 = $$3617;$$4593769 = $267;$$5582770 = $265;$$5602768 = $266; + } + } + $scevgep872 = (($$1578) + ($203)|0); + $$9586 = $scevgep872; + } + break; + } + case 4: { + if ($47) { + $$9586 = $$1578; + } else { + $200 = ($$1612|0)>(0); + $201 = Math_imul($$6620742, $$1612)|0; + $$4618762 = $$4618758;$$5594760 = $107;$$6583761 = $$1578;$$6603759 = $106; + while(1) { + if ($200) { + $$11636755 = 0; + while(1) { + $269 = (($$6583761) + ($$11636755)|0); + $270 = HEAP8[$269>>0]|0; + $271 = $270&255; + $272 = (($$11636755) - ($15))|0; + $273 = (($$6603759) + ($272)|0); + $274 = HEAP8[$273>>0]|0; + $275 = $274&255; + $276 = (($$5594760) + ($$11636755)|0); + $277 = HEAP8[$276>>0]|0; + $278 = $277&255; + $279 = (($$5594760) + ($272)|0); + $280 = HEAP8[$279>>0]|0; + $281 = $280&255; + $282 = (_stbi__paeth($275,$278,$281)|0); + $283 = (($282) + ($271))|0; + $284 = $283&255; + $285 = (($$6603759) + ($$11636755)|0); + HEAP8[$285>>0] = $284; + $286 = (($$11636755) + 1)|0; + $exitcond869 = ($286|0)==($$1612|0); + if ($exitcond869) { + break; + } else { + $$11636755 = $286; + } + } + } + $287 = (($$6603759) + ($$1612)|0); + HEAP8[$287>>0] = -1; + $288 = (($$6583761) + ($$1612)|0); + $289 = (($$6603759) + ($15)|0); + $290 = (($$5594760) + ($15)|0); + $$4618 = (($$4618762) + -1)|0; + $291 = ($$4618|0)==(0); + if ($291) { + break; + } else { + $$4618762 = $$4618;$$5594760 = $290;$$6583761 = $288;$$6603759 = $289; + } + } + $scevgep870 = (($$1578) + ($201)|0); + $$9586 = $scevgep870; + } + break; + } + case 5: { + if ($48) { + $$9586 = $$1578; + } else { + $198 = ($$1612|0)>(0); + $199 = Math_imul($$6620742, $$1612)|0; + $$5619753 = $$5619750;$$7584752 = $$1578;$$7604751 = $106; + while(1) { + if ($198) { + $$12747 = 0; + while(1) { + $292 = (($$7584752) + ($$12747)|0); + $293 = HEAP8[$292>>0]|0; + $294 = $293&255; + $295 = (($$12747) - ($15))|0; + $296 = (($$7604751) + ($295)|0); + $297 = HEAP8[$296>>0]|0; + $298 = $297&255; + $299 = $298 >>> 1; + $300 = (($299) + ($294))|0; + $301 = $300&255; + $302 = (($$7604751) + ($$12747)|0); + HEAP8[$302>>0] = $301; + $303 = (($$12747) + 1)|0; + $exitcond867 = ($303|0)==($$1612|0); + if ($exitcond867) { + break; + } else { + $$12747 = $303; + } + } + } + $304 = (($$7604751) + ($$1612)|0); + HEAP8[$304>>0] = -1; + $305 = (($$7584752) + ($$1612)|0); + $306 = (($$7604751) + ($15)|0); + $$5619 = (($$5619753) + -1)|0; + $307 = ($$5619|0)==(0); + if ($307) { + break; + } else { + $$5619753 = $$5619;$$7584752 = $305;$$7604751 = $306; + } + } + $scevgep868 = (($$1578) + ($199)|0); + $$9586 = $scevgep868; + } + break; + } + case 6: { + if ($49) { + $$9586 = $$1578; + } else { + $196 = ($$1612|0)>(0); + $197 = Math_imul($$6620742, $$1612)|0; + $$6620745 = $$6620742;$$8585744 = $$1578;$$8605743 = $106; + while(1) { + if ($196) { + $$13739 = 0; + while(1) { + $308 = (($$8585744) + ($$13739)|0); + $309 = HEAP8[$308>>0]|0; + $310 = $309&255; + $311 = (($$13739) - ($15))|0; + $312 = (($$8605743) + ($311)|0); + $313 = HEAP8[$312>>0]|0; + $314 = $313&255; + $315 = (_stbi__paeth($314,0,0)|0); + $316 = (($315) + ($310))|0; + $317 = $316&255; + $318 = (($$8605743) + ($$13739)|0); + HEAP8[$318>>0] = $317; + $319 = (($$13739) + 1)|0; + $exitcond865 = ($319|0)==($$1612|0); + if ($exitcond865) { + break; + } else { + $$13739 = $319; + } + } + } + $320 = (($$8605743) + ($$1612)|0); + HEAP8[$320>>0] = -1; + $321 = (($$8585744) + ($$1612)|0); + $322 = (($$8605743) + ($15)|0); + $$6620 = (($$6620745) + -1)|0; + $323 = ($$6620|0)==(0); + if ($323) { + break; + } else { + $$6620745 = $$6620;$$8585744 = $321;$$8605743 = $322; + } + } + $scevgep866 = (($$1578) + ($197)|0); + $$9586 = $scevgep866; + } + break; + } + default: { + $$9586 = $$1578; + } + } + if ($brmerge894) { + $$11$ph = $$9586; + } else { + $324 = HEAP32[$21>>2]|0; + $325 = (($324) + ($51)|0); + $326 = (($$1612) + 1)|0; + $$7621798 = 0;$$9606799 = $325; + while(1) { + $327 = (($$9606799) + ($326)|0); + HEAP8[$327>>0] = -1; + $328 = (($$7621798) + 1)|0; + $329 = (($$9606799) + ($15)|0); + $exitcond880 = ($328|0)==($4|0); + if ($exitcond880) { + $$11$ph = $$9586; + break; + } else { + $$7621798 = $328;$$9606799 = $329; + } + } + } + } + $330 = (($$0623814) + 1)|0; + $331 = ($330>>>0)<($5>>>0); + if ($331) { + $$0577817 = $$11$ph;$$0608816 = $$1609;$$0611815 = $$1612;$$0623814 = $330; + } else { + break L18; + } + } + if ((label|0) == 16) { + ___assert_fail((12455|0),(11797|0),4315,(12410|0)); + // unreachable; + } + else if ((label|0) == 58) { + ___assert_fail((12481|0),(11797|0),4377,(12410|0)); + // unreachable; + } + else if ((label|0) == 105) { + _stbi__err(12498); + $$2 = 0; + return ($$2|0); + } + } + } while(0); + $332 = ($6|0)<(8); + if (!($332)) { + if (!($8)) { + $$2 = 1; + return ($$2|0); + } + $601 = Math_imul($4, $3)|0; + $602 = Math_imul($601, $5)|0; + $603 = ($602|0)==(0); + if ($603) { + $$2 = 1; + return ($$2|0); + } + $604 = HEAP32[$21>>2]|0; + $$0731 = $604;$$8622729 = 0; + while(1) { + $605 = HEAP8[$$0731>>0]|0; + $606 = $605&255; + $607 = $606 << 8; + $608 = ((($$0731)) + 1|0); + $609 = HEAP8[$608>>0]|0; + $610 = $609&255; + $611 = $607 | $610; + $612 = $611&65535; + HEAP16[$$0731>>1] = $612; + $613 = (($$8622729) + 1)|0; + $614 = ((($$0731)) + 2|0); + $exitcond = ($613|0)==($602|0); + if ($exitcond) { + $$2 = 1; + break; + } else { + $$0731 = $614;$$8622729 = $613; + } + } + return ($$2|0); + } + $333 = ($5|0)==(0); + if ($333) { + $$2 = 1; + return ($$2|0); + } + $334 = (0 - ($26))|0; + $335 = ($7|0)==(0); + $336 = (12194 + ($6)|0); + $$0568724 = (($4) + -1)|0; + $337 = ($$0568724|0)>(-1); + $$1721 = (($4) + -1)|0; + $338 = ($$1721|0)>(-1); + $339 = ($23|0)>(1); + $340 = ($23|0)>(3); + $341 = ($23|0)>(7); + $342 = (($23) + -8)|0; + $343 = $342 >>> 3; + $344 = $343 << 3; + $345 = (($344) + 8)|0; + $346 = (($342) - ($344))|0; + $347 = (($343) + ($11))|0; + $348 = (($347) + 1)|0; + $349 = (($348) - ($26))|0; + $350 = (($23) + -4)|0; + $351 = $350 >>> 2; + $352 = $351 << 2; + $353 = (($352) + 4)|0; + $354 = (($350) - ($352))|0; + $355 = (($351) + ($11))|0; + $356 = (($355) + 1)|0; + $357 = (($356) - ($26))|0; + $358 = (($23) + -2)|0; + $359 = $358 >>> 1; + $360 = $359 << 1; + $361 = (($360) + 2)|0; + $362 = (($358) - ($360))|0; + $363 = (($359) + ($11))|0; + $364 = (($363) + 1)|0; + $365 = (($364) - ($26))|0; + $$1624727 = 0;$indvars$iv = $345;$indvars$iv848 = $349;$indvars$iv851 = $353;$indvars$iv854 = $357;$indvars$iv857 = $361;$indvars$iv860 = $365; + L174: while(1) { + $366 = HEAP32[$21>>2]|0; + $367 = Math_imul($$1624727, $12)|0; + $368 = (($366) + ($367)|0); + $369 = (($368) + ($11)|0); + $370 = (($369) + ($334)|0); + if ($335) { + $371 = HEAP8[$336>>0]|0; + $372 = $371&255; + $377 = $372; + } else { + $377 = 1; + } + switch ($6|0) { + case 4: { + if ($339) { + $scevgep859 = (($366) + ($indvars$iv857)|0); + $$0571715 = $370;$$0574714 = $368;$$14713 = $23; + while(1) { + $373 = HEAP8[$$0571715>>0]|0; + $374 = $373&255; + $375 = $374 >>> 4; + $376 = Math_imul($375, $377)|0; + $378 = $376&255; + $379 = ((($$0574714)) + 1|0); + HEAP8[$$0574714>>0] = $378; + $380 = HEAP8[$$0571715>>0]|0; + $381 = $380 & 15; + $382 = $381&255; + $383 = Math_imul($382, $377)|0; + $384 = $383&255; + $385 = ((($$0574714)) + 2|0); + HEAP8[$379>>0] = $384; + $386 = (($$14713) + -2)|0; + $387 = ((($$0571715)) + 1|0); + $388 = ($386|0)>(1); + if ($388) { + $$0571715 = $387;$$0574714 = $385;$$14713 = $386; + } else { + break; + } + } + $scevgep862 = (($366) + ($indvars$iv860)|0); + $$0571$lcssa = $scevgep862;$$0574$lcssa = $scevgep859;$$14$lcssa = $362; + } else { + $$0571$lcssa = $370;$$0574$lcssa = $368;$$14$lcssa = $23; + } + $389 = ($$14$lcssa|0)==(1); + if ($389) { + $390 = HEAP8[$$0571$lcssa>>0]|0; + $391 = $390&255; + $392 = $391 >>> 4; + $393 = Math_imul($392, $377)|0; + $394 = $393&255; + HEAP8[$$0574$lcssa>>0] = $394; + } + break; + } + case 2: { + if ($340) { + $scevgep853 = (($366) + ($indvars$iv851)|0); + $$15705 = $23;$$1572707 = $370;$$1575706 = $368; + while(1) { + $395 = HEAP8[$$1572707>>0]|0; + $396 = $395&255; + $397 = $396 >>> 6; + $398 = Math_imul($397, $377)|0; + $399 = $398&255; + $400 = ((($$1575706)) + 1|0); + HEAP8[$$1575706>>0] = $399; + $401 = HEAP8[$$1572707>>0]|0; + $402 = $401&255; + $403 = $402 >>> 4; + $404 = $403 & 3; + $405 = Math_imul($404, $377)|0; + $406 = $405&255; + $407 = ((($$1575706)) + 2|0); + HEAP8[$400>>0] = $406; + $408 = HEAP8[$$1572707>>0]|0; + $409 = $408&255; + $410 = $409 >>> 2; + $411 = $410 & 3; + $412 = Math_imul($411, $377)|0; + $413 = $412&255; + $414 = ((($$1575706)) + 3|0); + HEAP8[$407>>0] = $413; + $415 = HEAP8[$$1572707>>0]|0; + $416 = $415 & 3; + $417 = $416&255; + $418 = Math_imul($417, $377)|0; + $419 = $418&255; + $420 = ((($$1575706)) + 4|0); + HEAP8[$414>>0] = $419; + $421 = (($$15705) + -4)|0; + $422 = ((($$1572707)) + 1|0); + $423 = ($421|0)>(3); + if ($423) { + $$15705 = $421;$$1572707 = $422;$$1575706 = $420; + } else { + break; + } + } + $scevgep856 = (($366) + ($indvars$iv854)|0); + $$15$lcssa = $354;$$1572$lcssa = $scevgep856;$$1575$lcssa = $scevgep853; + } else { + $$15$lcssa = $23;$$1572$lcssa = $370;$$1575$lcssa = $368; + } + $424 = ($$15$lcssa|0)>(0); + if ($424) { + $425 = HEAP8[$$1572$lcssa>>0]|0; + $426 = $425&255; + $427 = $426 >>> 6; + $428 = Math_imul($427, $377)|0; + $429 = $428&255; + HEAP8[$$1575$lcssa>>0] = $429; + $430 = ($$15$lcssa|0)==(1); + if (!($430)) { + $431 = ((($$1575$lcssa)) + 1|0); + $432 = HEAP8[$$1572$lcssa>>0]|0; + $433 = $432&255; + $434 = $433 >>> 4; + $435 = $434 & 3; + $436 = Math_imul($435, $377)|0; + $437 = $436&255; + HEAP8[$431>>0] = $437; + $438 = ($$15$lcssa|0)>(2); + if ($438) { + $439 = ((($$1575$lcssa)) + 2|0); + $440 = HEAP8[$$1572$lcssa>>0]|0; + $441 = $440&255; + $442 = $441 >>> 2; + $443 = $442 & 3; + $444 = Math_imul($443, $377)|0; + $445 = $444&255; + HEAP8[$439>>0] = $445; + } + } + } + break; + } + case 1: { + if ($341) { + $scevgep = (($366) + ($indvars$iv)|0); + $$16700 = $23;$$2573702 = $370;$$4701 = $368; + while(1) { + $446 = HEAP8[$$2573702>>0]|0; + $447 = $446&255; + $448 = $447 >>> 7; + $449 = (0 - ($448))|0; + $450 = $377 & $449; + $451 = $450&255; + $452 = ((($$4701)) + 1|0); + HEAP8[$$4701>>0] = $451; + $453 = HEAP8[$$2573702>>0]|0; + $454 = $453&255; + $455 = $454 >>> 6; + $456 = $455 & 1; + $457 = (0 - ($456))|0; + $458 = $377 & $457; + $459 = $458&255; + $460 = ((($$4701)) + 2|0); + HEAP8[$452>>0] = $459; + $461 = HEAP8[$$2573702>>0]|0; + $462 = $461&255; + $463 = $462 >>> 5; + $464 = $463 & 1; + $465 = (0 - ($464))|0; + $466 = $377 & $465; + $467 = $466&255; + $468 = ((($$4701)) + 3|0); + HEAP8[$460>>0] = $467; + $469 = HEAP8[$$2573702>>0]|0; + $470 = $469&255; + $471 = $470 >>> 4; + $472 = $471 & 1; + $473 = (0 - ($472))|0; + $474 = $377 & $473; + $475 = $474&255; + $476 = ((($$4701)) + 4|0); + HEAP8[$468>>0] = $475; + $477 = HEAP8[$$2573702>>0]|0; + $478 = $477&255; + $479 = $478 >>> 3; + $480 = $479 & 1; + $481 = (0 - ($480))|0; + $482 = $377 & $481; + $483 = $482&255; + $484 = ((($$4701)) + 5|0); + HEAP8[$476>>0] = $483; + $485 = HEAP8[$$2573702>>0]|0; + $486 = $485&255; + $487 = $486 >>> 2; + $488 = $487 & 1; + $489 = (0 - ($488))|0; + $490 = $377 & $489; + $491 = $490&255; + $492 = ((($$4701)) + 6|0); + HEAP8[$484>>0] = $491; + $493 = HEAP8[$$2573702>>0]|0; + $494 = $493&255; + $495 = $494 >>> 1; + $496 = $495 & 1; + $497 = (0 - ($496))|0; + $498 = $377 & $497; + $499 = $498&255; + $500 = ((($$4701)) + 7|0); + HEAP8[$492>>0] = $499; + $501 = HEAP8[$$2573702>>0]|0; + $502 = $501 & 1; + $503 = $502&255; + $504 = (0 - ($503))|0; + $505 = $377 & $504; + $506 = $505&255; + $507 = ((($$4701)) + 8|0); + HEAP8[$500>>0] = $506; + $508 = (($$16700) + -8)|0; + $509 = ((($$2573702)) + 1|0); + $510 = ($508|0)>(7); + if ($510) { + $$16700 = $508;$$2573702 = $509;$$4701 = $507; + } else { + break; + } + } + $scevgep850 = (($366) + ($indvars$iv848)|0); + $$16$lcssa = $346;$$2573$lcssa = $scevgep850;$$4$lcssa = $scevgep; + } else { + $$16$lcssa = $23;$$2573$lcssa = $370;$$4$lcssa = $368; + } + $511 = ($$16$lcssa|0)>(0); + if ($511) { + $512 = HEAP8[$$2573$lcssa>>0]|0; + $513 = $512&255; + $514 = $513 >>> 7; + $515 = (0 - ($514))|0; + $516 = $377 & $515; + $517 = $516&255; + HEAP8[$$4$lcssa>>0] = $517; + $518 = ($$16$lcssa|0)==(1); + if (!($518)) { + $519 = ((($$4$lcssa)) + 1|0); + $520 = HEAP8[$$2573$lcssa>>0]|0; + $521 = $520&255; + $522 = $521 >>> 6; + $523 = $522 & 1; + $524 = (0 - ($523))|0; + $525 = $377 & $524; + $526 = $525&255; + HEAP8[$519>>0] = $526; + $527 = ($$16$lcssa|0)>(2); + if ($527) { + $528 = ((($$4$lcssa)) + 2|0); + $529 = HEAP8[$$2573$lcssa>>0]|0; + $530 = $529&255; + $531 = $530 >>> 5; + $532 = $531 & 1; + $533 = (0 - ($532))|0; + $534 = $377 & $533; + $535 = $534&255; + HEAP8[$528>>0] = $535; + $536 = ($$16$lcssa|0)==(3); + if (!($536)) { + $537 = ((($$4$lcssa)) + 3|0); + $538 = HEAP8[$$2573$lcssa>>0]|0; + $539 = $538&255; + $540 = $539 >>> 4; + $541 = $540 & 1; + $542 = (0 - ($541))|0; + $543 = $377 & $542; + $544 = $543&255; + HEAP8[$537>>0] = $544; + $545 = ($$16$lcssa|0)>(4); + if ($545) { + $546 = ((($$4$lcssa)) + 4|0); + $547 = HEAP8[$$2573$lcssa>>0]|0; + $548 = $547&255; + $549 = $548 >>> 3; + $550 = $549 & 1; + $551 = (0 - ($550))|0; + $552 = $377 & $551; + $553 = $552&255; + HEAP8[$546>>0] = $553; + $554 = ($$16$lcssa|0)==(5); + if (!($554)) { + $555 = ((($$4$lcssa)) + 5|0); + $556 = HEAP8[$$2573$lcssa>>0]|0; + $557 = $556&255; + $558 = $557 >>> 2; + $559 = $558 & 1; + $560 = (0 - ($559))|0; + $561 = $377 & $560; + $562 = $561&255; + HEAP8[$555>>0] = $562; + $563 = ($$16$lcssa|0)>(6); + if ($563) { + $564 = ((($$4$lcssa)) + 6|0); + $565 = HEAP8[$$2573$lcssa>>0]|0; + $566 = $565&255; + $567 = $566 >>> 1; + $568 = $567 & 1; + $569 = (0 - ($568))|0; + $570 = $377 & $569; + $571 = $570&255; + HEAP8[$564>>0] = $571; + } + } + } + } + } + } + } + break; + } + default: { + } + } + L213: do { + if (!($17)) { + $572 = HEAP32[$21>>2]|0; + $573 = (($572) + ($367)|0); + switch ($14|0) { + case 1: { + if ($337) { + $$0568725 = $$0568724; + } else { + break L213; + } + while(1) { + $574 = $$0568725 << 1; + $575 = $574 | 1; + $576 = (($573) + ($575)|0); + HEAP8[$576>>0] = -1; + $577 = (($573) + ($$0568725)|0); + $578 = HEAP8[$577>>0]|0; + $579 = (($573) + ($574)|0); + HEAP8[$579>>0] = $578; + $$0568 = (($$0568725) + -1)|0; + $580 = ($$0568|0)>(-1); + if ($580) { + $$0568725 = $$0568; + } else { + break; + } + } + break; + } + case 3: { + if ($338) { + $$1722 = $$1721; + } else { + break L213; + } + while(1) { + $581 = $$1722 << 2; + $582 = $581 | 3; + $583 = (($573) + ($582)|0); + HEAP8[$583>>0] = -1; + $584 = ($$1722*3)|0; + $585 = (($584) + 2)|0; + $586 = (($573) + ($585)|0); + $587 = HEAP8[$586>>0]|0; + $588 = $581 | 2; + $589 = (($573) + ($588)|0); + HEAP8[$589>>0] = $587; + $590 = (($584) + 1)|0; + $591 = (($573) + ($590)|0); + $592 = HEAP8[$591>>0]|0; + $593 = $581 | 1; + $594 = (($573) + ($593)|0); + HEAP8[$594>>0] = $592; + $595 = (($573) + ($584)|0); + $596 = HEAP8[$595>>0]|0; + $597 = (($573) + ($581)|0); + HEAP8[$597>>0] = $596; + $$1 = (($$1722) + -1)|0; + $598 = ($$1|0)>(-1); + if ($598) { + $$1722 = $$1; + } else { + break; + } + } + break; + } + default: { + label = 144; + break L174; + } + } + } + } while(0); + $599 = (($$1624727) + 1)|0; + $600 = ($599>>>0)<($5>>>0); + $indvars$iv$next = (($indvars$iv) + ($12))|0; + $indvars$iv$next849 = (($indvars$iv848) + ($12))|0; + $indvars$iv$next852 = (($indvars$iv851) + ($12))|0; + $indvars$iv$next855 = (($indvars$iv854) + ($12))|0; + $indvars$iv$next858 = (($indvars$iv857) + ($12))|0; + $indvars$iv$next861 = (($indvars$iv860) + ($12))|0; + if ($600) { + $$1624727 = $599;$indvars$iv = $indvars$iv$next;$indvars$iv848 = $indvars$iv$next849;$indvars$iv851 = $indvars$iv$next852;$indvars$iv854 = $indvars$iv$next855;$indvars$iv857 = $indvars$iv$next858;$indvars$iv860 = $indvars$iv$next861; + } else { + $$2 = 1; + label = 151; + break; + } + } + if ((label|0) == 144) { + ___assert_fail((12513|0),(11797|0),4466,(12410|0)); + // unreachable; + } + else if ((label|0) == 151) { + return ($$2|0); + } + return (0)|0; +} +function _stbi__paeth($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$ = 0, $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $ispos = 0, $ispos26 = 0, $ispos28 = 0, $neg = 0, $neg27 = 0, $neg29 = 0, $or$cond = 0; + var label = 0, sp = 0; + sp = STACKTOP; + $3 = (($1) + ($0))|0; + $4 = (($3) - ($2))|0; + $5 = (($4) - ($0))|0; + $ispos = ($5|0)>(-1); + $neg = (0 - ($5))|0; + $6 = $ispos ? $5 : $neg; + $7 = (($4) - ($1))|0; + $ispos26 = ($7|0)>(-1); + $neg27 = (0 - ($7))|0; + $8 = $ispos26 ? $7 : $neg27; + $9 = (($4) - ($2))|0; + $ispos28 = ($9|0)>(-1); + $neg29 = (0 - ($9))|0; + $10 = $ispos28 ? $9 : $neg29; + $11 = ($6|0)>($8|0); + $12 = ($6|0)>($10|0); + $or$cond = $11 | $12; + $13 = ($8|0)>($10|0); + $$ = $13 ? $2 : $1; + $$0 = $or$cond ? $$ : $0; + return ($$0|0); +} +function _stbi__do_zlib($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $10 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $5 = ((($0)) + 20|0); + HEAP32[$5>>2] = $1; + $6 = ((($0)) + 16|0); + HEAP32[$6>>2] = $1; + $7 = (($1) + ($2)|0); + $8 = ((($0)) + 24|0); + HEAP32[$8>>2] = $7; + $9 = ((($0)) + 28|0); + HEAP32[$9>>2] = $3; + $10 = (_stbi__parse_zlib($0,$4)|0); + return ($10|0); +} +function _stbi__parse_zlib($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ($1|0)==(0); + if (!($2)) { + $3 = (_stbi__parse_zlib_header($0)|0); + $4 = ($3|0)==(0); + if ($4) { + $$0 = 0; + return ($$0|0); + } + } + $5 = ((($0)) + 8|0); + HEAP32[$5>>2] = 0; + $6 = ((($0)) + 12|0); + HEAP32[$6>>2] = 0; + $7 = ((($0)) + 32|0); + $8 = ((($0)) + 2052|0); + L5: while(1) { + $9 = (_stbi__zreceive($0,1)|0); + $10 = (_stbi__zreceive($0,2)|0); + switch ($10|0) { + case 3: { + $$0 = 0; + label = 11; + break L5; + break; + } + case 0: { + $11 = (_stbi__parse_uncompressed_block($0)|0); + $12 = ($11|0)==(0); + if ($12) { + $$0 = 0; + label = 11; + break L5; + } + break; + } + case 1: { + $13 = (_stbi__zbuild_huffman($7,12524,288)|0); + $14 = ($13|0)==(0); + if ($14) { + $$0 = 0; + label = 11; + break L5; + } + $15 = (_stbi__zbuild_huffman($8,12812,32)|0); + $16 = ($15|0)==(0); + if ($16) { + $$0 = 0; + label = 11; + break L5; + } else { + label = 9; + } + break; + } + default: { + $17 = (_stbi__compute_huffman_codes($0)|0); + $18 = ($17|0)==(0); + if ($18) { + $$0 = 0; + label = 11; + break L5; + } else { + label = 9; + } + } + } + if ((label|0) == 9) { + label = 0; + $19 = (_stbi__parse_huffman_block($0)|0); + $20 = ($19|0)==(0); + if ($20) { + $$0 = 0; + label = 11; + break; + } + } + $21 = ($9|0)==(0); + if (!($21)) { + $$0 = 1; + label = 11; + break; + } + } + if ((label|0) == 11) { + return ($$0|0); + } + return (0)|0; +} +function _stbi__parse_zlib_header($0) { + $0 = $0|0; + var $$0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (_stbi__zget8($0)|0); + $2 = $1&255; + $3 = $2 & 15; + $4 = (_stbi__zget8($0)|0); + $5 = $4&255; + $6 = $2 << 8; + $7 = $6 | $5; + $8 = (($7>>>0) % 31)&-1; + $9 = ($8|0)==(0); + if (!($9)) { + _stbi__err(13159); + $$0 = 0; + return ($$0|0); + } + $10 = $5 & 32; + $11 = ($10|0)==(0); + if (!($11)) { + _stbi__err(13175); + $$0 = 0; + return ($$0|0); + } + $12 = ($3|0)==(8); + if ($12) { + $$0 = 1; + return ($$0|0); + } + _stbi__err(13190); + $$0 = 0; + return ($$0|0); +} +function _stbi__zreceive($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($0)) + 8|0); + $3 = HEAP32[$2>>2]|0; + $4 = ($3|0)<($1|0); + if ($4) { + _stbi__fill_bits($0); + } + $5 = ((($0)) + 12|0); + $6 = HEAP32[$5>>2]|0; + $7 = 1 << $1; + $8 = (($7) + -1)|0; + $9 = $6 & $8; + $10 = $6 >>> $1; + HEAP32[$5>>2] = $10; + $11 = HEAP32[$2>>2]|0; + $12 = (($11) - ($1))|0; + HEAP32[$2>>2] = $12; + return ($9|0); +} +function _stbi__parse_uncompressed_block($0) { + $0 = $0|0; + var $$0$lcssa = 0, $$034 = 0, $$037 = 0, $$136 = 0, $$lcssa = 0, $$ph = 0, $$pr = 0, $$promoted = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0; + var $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0; + var $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0; + var $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond47 = 0, $smax = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $1 = sp; + $2 = ((($0)) + 8|0); + $3 = HEAP32[$2>>2]|0; + $4 = $3 & 7; + $5 = ($4|0)==(0); + if ($5) { + $$ph = $3; + } else { + (_stbi__zreceive($0,$4)|0); + $$pr = HEAP32[$2>>2]|0; + $$ph = $$pr; + } + $6 = ($$ph|0)>(0); + if ($6) { + $7 = ((($0)) + 12|0); + $$promoted = HEAP32[$7>>2]|0; + $8 = $$ph ^ -1; + $9 = ($8|0)>(-9); + $smax = $9 ? $8 : -9; + $10 = (($$ph) + ($smax))|0; + $11 = (($10) + 8)|0; + $12 = $11 >>> 3; + $13 = (($12) + 1)|0; + $14 = $12 << 3; + $$037 = 0;$16 = $$promoted; + while(1) { + $15 = $16&255; + $17 = (($$037) + 1)|0; + $18 = (($1) + ($$037)|0); + HEAP8[$18>>0] = $15; + $19 = $16 >>> 8; + $exitcond47 = ($17|0)==($13|0); + if ($exitcond47) { + break; + } else { + $$037 = $17;$16 = $19; + } + } + $20 = (($$ph) + -8)|0; + $21 = (($20) - ($14))|0; + HEAP32[$7>>2] = $19; + HEAP32[$2>>2] = $21; + $$0$lcssa = $13;$$lcssa = $21; + } else { + $$0$lcssa = 0;$$lcssa = $$ph; + } + $22 = ($$lcssa|0)==(0); + if (!($22)) { + ___assert_fail((13081|0),(11797|0),4033,(13098|0)); + // unreachable; + } + $23 = ($$0$lcssa|0)<(4); + if ($23) { + $$136 = $$0$lcssa; + while(1) { + $24 = (_stbi__zget8($0)|0); + $25 = (($$136) + 1)|0; + $26 = (($1) + ($$136)|0); + HEAP8[$26>>0] = $24; + $exitcond = ($25|0)==(4); + if ($exitcond) { + break; + } else { + $$136 = $25; + } + } + } + $27 = ((($1)) + 1|0); + $28 = HEAP8[$27>>0]|0; + $29 = $28&255; + $30 = $29 << 8; + $31 = HEAP8[$1>>0]|0; + $32 = $31&255; + $33 = $30 | $32; + $34 = ((($1)) + 3|0); + $35 = HEAP8[$34>>0]|0; + $36 = $35&255; + $37 = $36 << 8; + $38 = ((($1)) + 2|0); + $39 = HEAP8[$38>>0]|0; + $40 = $39&255; + $41 = $37 | $40; + $42 = $33 ^ 65535; + $43 = ($41|0)==($42|0); + if (!($43)) { + _stbi__err(13129); + $$034 = 0; + STACKTOP = sp;return ($$034|0); + } + $44 = HEAP32[$0>>2]|0; + $45 = (($44) + ($33)|0); + $46 = ((($0)) + 4|0); + $47 = HEAP32[$46>>2]|0; + $48 = ($45>>>0)>($47>>>0); + if ($48) { + _stbi__err(13142); + $$034 = 0; + STACKTOP = sp;return ($$034|0); + } + $49 = ((($0)) + 16|0); + $50 = HEAP32[$49>>2]|0; + $51 = (($50) + ($33)|0); + $52 = ((($0)) + 24|0); + $53 = HEAP32[$52>>2]|0; + $54 = ($51>>>0)>($53>>>0); + if ($54) { + $55 = (_stbi__zexpand($0,$50,$33)|0); + $56 = ($55|0)==(0); + if ($56) { + $$034 = 0; + STACKTOP = sp;return ($$034|0); + } + } + $57 = HEAP32[$49>>2]|0; + $58 = HEAP32[$0>>2]|0; + _memcpy(($57|0),($58|0),($33|0))|0; + $59 = HEAP32[$0>>2]|0; + $60 = (($59) + ($33)|0); + HEAP32[$0>>2] = $60; + $61 = HEAP32[$49>>2]|0; + $62 = (($61) + ($33)|0); + HEAP32[$49>>2] = $62; + $$034 = 1; + STACKTOP = sp;return ($$034|0); +} +function _stbi__zbuild_huffman($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$075 = 0, $$07688 = 0, $$07785 = 0, $$07884 = 0, $$081 = 0, $$286 = 0, $$382 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0; + var $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0; + var $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0; + var $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0; + var $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0; + var $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond = 0, $exitcond91 = 0, $or$cond = 0, dest = 0, label = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 144|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(144|0); + $3 = sp + 72|0; + $4 = sp; + dest=$4; stop=dest+68|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + _memset(($0|0),0,1024)|0; + $5 = ($2|0)>(0); + if ($5) { + $$07688 = 0; + while(1) { + $6 = (($1) + ($$07688)|0); + $7 = HEAP8[$6>>0]|0; + $8 = $7&255; + $9 = (($4) + ($8<<2)|0); + $10 = HEAP32[$9>>2]|0; + $11 = (($10) + 1)|0; + HEAP32[$9>>2] = $11; + $12 = (($$07688) + 1)|0; + $exitcond91 = ($12|0)==($2|0); + if ($exitcond91) { + break; + } else { + $$07688 = $12; + } + } + } + HEAP32[$4>>2] = 0; + $16 = ((($4)) + 4|0); + $17 = HEAP32[$16>>2]|0; + $18 = ($17|0)>(2); + if (!($18)) { + $13 = ((($4)) + 8|0); + $14 = HEAP32[$13>>2]|0; + $15 = ($14|0)>(4); + if (!($15)) { + $69 = ((($4)) + 12|0); + $70 = HEAP32[$69>>2]|0; + $71 = ($70|0)>(8); + if (!($71)) { + $72 = ((($4)) + 16|0); + $73 = HEAP32[$72>>2]|0; + $74 = ($73|0)>(16); + if (!($74)) { + $75 = ((($4)) + 20|0); + $76 = HEAP32[$75>>2]|0; + $77 = ($76|0)>(32); + if (!($77)) { + $78 = ((($4)) + 24|0); + $79 = HEAP32[$78>>2]|0; + $80 = ($79|0)>(64); + if (!($80)) { + $81 = ((($4)) + 28|0); + $82 = HEAP32[$81>>2]|0; + $83 = ($82|0)>(128); + if (!($83)) { + $84 = ((($4)) + 32|0); + $85 = HEAP32[$84>>2]|0; + $86 = ($85|0)>(256); + if (!($86)) { + $87 = ((($4)) + 36|0); + $88 = HEAP32[$87>>2]|0; + $89 = ($88|0)>(512); + if (!($89)) { + $90 = ((($4)) + 40|0); + $91 = HEAP32[$90>>2]|0; + $92 = ($91|0)>(1024); + if (!($92)) { + $93 = ((($4)) + 44|0); + $94 = HEAP32[$93>>2]|0; + $95 = ($94|0)>(2048); + if (!($95)) { + $96 = ((($4)) + 48|0); + $97 = HEAP32[$96>>2]|0; + $98 = ($97|0)>(4096); + if (!($98)) { + $99 = ((($4)) + 52|0); + $100 = HEAP32[$99>>2]|0; + $101 = ($100|0)>(8192); + if (!($101)) { + $102 = ((($4)) + 56|0); + $103 = HEAP32[$102>>2]|0; + $104 = ($103|0)>(16384); + if (!($104)) { + $105 = ((($4)) + 60|0); + $106 = HEAP32[$105>>2]|0; + $107 = ($106|0)>(32768); + if (!($107)) { + $$07785 = 0;$$07884 = 0;$$286 = 1; + while(1) { + $19 = (($3) + ($$286<<2)|0); + HEAP32[$19>>2] = $$07884; + $20 = $$07884&65535; + $21 = (((($0)) + 1024|0) + ($$286<<1)|0); + HEAP16[$21>>1] = $20; + $22 = $$07785&65535; + $23 = (((($0)) + 1124|0) + ($$286<<1)|0); + HEAP16[$23>>1] = $22; + $24 = (($4) + ($$286<<2)|0); + $25 = HEAP32[$24>>2]|0; + $26 = (($25) + ($$07884))|0; + $27 = ($25|0)!=(0); + $28 = 1 << $$286; + $29 = ($26|0)>($28|0); + $or$cond = $27 & $29; + if ($or$cond) { + label = 7; + break; + } + $30 = (16 - ($$286))|0; + $31 = $26 << $30; + $32 = (((($0)) + 1056|0) + ($$286<<2)|0); + HEAP32[$32>>2] = $31; + $33 = $26 << 1; + $34 = (($25) + ($$07785))|0; + $35 = (($$286) + 1)|0; + $36 = ($35|0)<(16); + if ($36) { + $$07785 = $34;$$07884 = $33;$$286 = $35; + } else { + break; + } + } + if ((label|0) == 7) { + _stbi__err(13019); + $$075 = 0; + STACKTOP = sp;return ($$075|0); + } + $37 = ((($0)) + 1120|0); + HEAP32[$37>>2] = 65536; + $38 = ($2|0)>(0); + if ($38) { + $$382 = 0; + } else { + $$075 = 1; + STACKTOP = sp;return ($$075|0); + } + while(1) { + $39 = (($1) + ($$382)|0); + $40 = HEAP8[$39>>0]|0; + $41 = $40&255; + $42 = ($40<<24>>24)==(0); + if (!($42)) { + $43 = (($3) + ($41<<2)|0); + $44 = HEAP32[$43>>2]|0; + $45 = (((($0)) + 1024|0) + ($41<<1)|0); + $46 = HEAP16[$45>>1]|0; + $47 = $46&65535; + $48 = (($44) - ($47))|0; + $49 = (((($0)) + 1124|0) + ($41<<1)|0); + $50 = HEAP16[$49>>1]|0; + $51 = $50&65535; + $52 = (($48) + ($51))|0; + $53 = $41 << 9; + $54 = $53 | $$382; + $55 = $54&65535; + $56 = (((($0)) + 1156|0) + ($52)|0); + HEAP8[$56>>0] = $40; + $57 = $$382&65535; + $58 = (((($0)) + 1444|0) + ($52<<1)|0); + HEAP16[$58>>1] = $57; + $59 = ($40&255)<(10); + do { + if ($59) { + $60 = (_stbi__bit_reverse($44,$41)|0); + $61 = ($60|0)<(512); + if (!($61)) { + break; + } + $62 = 1 << $41; + $$081 = $60; + while(1) { + $63 = (($0) + ($$081<<1)|0); + HEAP16[$63>>1] = $55; + $64 = (($$081) + ($62))|0; + $65 = ($64|0)<(512); + if ($65) { + $$081 = $64; + } else { + break; + } + } + } + } while(0); + $66 = HEAP32[$43>>2]|0; + $67 = (($66) + 1)|0; + HEAP32[$43>>2] = $67; + } + $68 = (($$382) + 1)|0; + $exitcond = ($68|0)==($2|0); + if ($exitcond) { + $$075 = 1; + break; + } else { + $$382 = $68; + } + } + STACKTOP = sp;return ($$075|0); + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + _stbi__err(13071); + $$075 = 0; + STACKTOP = sp;return ($$075|0); +} +function _stbi__compute_huffman_codes($0) { + $0 = $0|0; + var $$ = 0, $$0 = 0, $$061 = 0, $$06579 = 0, $$066$be = 0, $$066$lcssa = 0, $$06678 = 0, $$4 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0; + var $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0; + var $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $not$ = 0, dest = 0; + var label = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 2496|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(2496|0); + $1 = sp; + $2 = sp + 2039|0; + $3 = sp + 2020|0; + $4 = (_stbi__zreceive($0,5)|0); + $5 = (($4) + 257)|0; + $6 = (_stbi__zreceive($0,5)|0); + $7 = (($6) + 1)|0; + $8 = (_stbi__zreceive($0,4)|0); + $9 = (($8) + 4)|0; + $10 = (($7) + ($5))|0; + dest=$3; stop=dest+19|0; do { HEAP8[dest>>0]=0|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); + $11 = ($9|0)>(0); + if ($11) { + $$06579 = 0; + while(1) { + $12 = (_stbi__zreceive($0,3)|0); + $13 = $12&255; + $14 = (13856 + ($$06579)|0); + $15 = HEAP8[$14>>0]|0; + $16 = $15&255; + $17 = (($3) + ($16)|0); + HEAP8[$17>>0] = $13; + $18 = (($$06579) + 1)|0; + $exitcond = ($18|0)==($9|0); + if ($exitcond) { + break; + } else { + $$06579 = $18; + } + } + } + $19 = (_stbi__zbuild_huffman($1,$3,19)|0); + $20 = ($19|0)==(0); + if ($20) { + $$4 = 0; + STACKTOP = sp;return ($$4|0); + } + $21 = ($10|0)>(0); + L8: do { + if ($21) { + $$06678 = 0; + L9: while(1) { + $22 = (_stbi__zhuffman_decode($0,$1)|0); + $23 = ($22>>>0)>(18); + if ($23) { + label = 6; + break; + } + $24 = ($22|0)<(16); + if ($24) { + $25 = $22&255; + $26 = (($$06678) + 1)|0; + $27 = (($2) + ($$06678)|0); + HEAP8[$27>>0] = $25; + $$066$be = $26; + } else { + switch ($22|0) { + case 16: { + $28 = (_stbi__zreceive($0,2)|0); + $29 = ($$06678|0)==(0); + if ($29) { + label = 11; + break L9; + } + $30 = (($28) + 3)|0; + $31 = (($$06678) + -1)|0; + $32 = (($2) + ($31)|0); + $33 = HEAP8[$32>>0]|0; + $$0 = $33;$$061 = $30; + break; + } + case 17: { + $34 = (_stbi__zreceive($0,3)|0); + $35 = (($34) + 3)|0; + $$0 = 0;$$061 = $35; + break; + } + case 18: { + $36 = (_stbi__zreceive($0,7)|0); + $37 = (($36) + 11)|0; + $$0 = 0;$$061 = $37; + break; + } + default: { + label = 14; + break L9; + } + } + $38 = (($10) - ($$06678))|0; + $39 = ($38|0)<($$061|0); + if ($39) { + label = 17; + break; + } + $40 = (($2) + ($$06678)|0); + _memset(($40|0),($$0|0),($$061|0))|0; + $41 = (($$061) + ($$06678))|0; + $$066$be = $41; + } + $42 = ($10|0)>($$066$be|0); + if ($42) { + $$06678 = $$066$be; + } else { + $$066$lcssa = $$066$be; + break L8; + } + } + if ((label|0) == 6) { + _stbi__err(13019); + $$4 = 0; + STACKTOP = sp;return ($$4|0); + } + else if ((label|0) == 11) { + _stbi__err(13019); + $$4 = 0; + STACKTOP = sp;return ($$4|0); + } + else if ((label|0) == 14) { + ___assert_fail((13035|0),(11797|0),4006,(13043|0)); + // unreachable; + } + else if ((label|0) == 17) { + _stbi__err(13019); + $$4 = 0; + STACKTOP = sp;return ($$4|0); + } + } else { + $$066$lcssa = 0; + } + } while(0); + $43 = ($10|0)==($$066$lcssa|0); + if (!($43)) { + _stbi__err(13019); + $$4 = 0; + STACKTOP = sp;return ($$4|0); + } + $44 = ((($0)) + 32|0); + $45 = (_stbi__zbuild_huffman($44,$2,$5)|0); + $46 = ($45|0)==(0); + if ($46) { + $$4 = 0; + STACKTOP = sp;return ($$4|0); + } + $47 = ((($0)) + 2052|0); + $48 = (($2) + ($5)|0); + $49 = (_stbi__zbuild_huffman($47,$48,$7)|0); + $not$ = ($49|0)!=(0); + $$ = $not$&1; + $$4 = $$; + STACKTOP = sp;return ($$4|0); +} +function _stbi__parse_huffman_block($0) { + $0 = $0|0; + var $$063 = 0, $$064 = 0, $$067 = 0, $$070 = 0, $$171 = 0, $$266 = 0, $$272 = 0, $$3$ph = 0, $$5 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0; + var $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0; + var $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0; + var $56 = 0, $57 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $scevgep = 0, $scevgep92 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 16|0); + $2 = HEAP32[$1>>2]|0; + $3 = ((($0)) + 32|0); + $4 = ((($0)) + 24|0); + $5 = ((($0)) + 2052|0); + $6 = ((($0)) + 20|0); + $7 = ((($0)) + 24|0); + $$070 = $2; + while(1) { + $10 = (_stbi__zhuffman_decode($0,$3)|0); + $11 = ($10|0)<(256); + if ($11) { + $12 = ($10|0)<(0); + if ($12) { + label = 6; + break; + } + $13 = HEAP32[$4>>2]|0; + $14 = ($$070>>>0)<($13>>>0); + if ($14) { + $$171 = $$070; + } else { + $15 = (_stbi__zexpand($0,$$070,1)|0); + $16 = ($15|0)==(0); + if ($16) { + $$3$ph = 0; + label = 28; + break; + } + $17 = HEAP32[$1>>2]|0; + $$171 = $17; + } + $18 = $10&255; + $19 = ((($$171)) + 1|0); + HEAP8[$$171>>0] = $18; + $$070 = $19; + continue; + } + $20 = ($10|0)==(256); + if ($20) { + label = 12; + break; + } + $21 = (($10) + -257)|0; + $22 = (3244 + ($21<<2)|0); + $23 = HEAP32[$22>>2]|0; + $24 = (($10) + -265)|0; + $25 = ($24>>>0)<(20); + if ($25) { + $26 = (3120 + ($21<<2)|0); + $27 = HEAP32[$26>>2]|0; + $28 = (_stbi__zreceive($0,$27)|0); + $29 = (($28) + ($23))|0; + $$064 = $29; + } else { + $$064 = $23; + } + $30 = (_stbi__zhuffman_decode($0,$5)|0); + $31 = ($30|0)<(0); + if ($31) { + label = 16; + break; + } + $32 = (3496 + ($30<<2)|0); + $33 = HEAP32[$32>>2]|0; + $34 = (($30) + -4)|0; + $35 = ($34>>>0)<(26); + if ($35) { + $36 = (3368 + ($30<<2)|0); + $37 = HEAP32[$36>>2]|0; + $38 = (_stbi__zreceive($0,$37)|0); + $39 = (($38) + ($33))|0; + $$063 = $39; + } else { + $$063 = $33; + } + $40 = HEAP32[$6>>2]|0; + $41 = $$070; + $42 = (($41) - ($40))|0; + $43 = ($42|0)<($$063|0); + if ($43) { + label = 20; + break; + } + $44 = (($$070) + ($$064)|0); + $45 = HEAP32[$7>>2]|0; + $46 = ($44>>>0)>($45>>>0); + if ($46) { + $47 = (_stbi__zexpand($0,$$070,$$064)|0); + $48 = ($47|0)==(0); + if ($48) { + $$3$ph = 0; + label = 28; + break; + } + $49 = HEAP32[$1>>2]|0; + $$272 = $49; + } else { + $$272 = $$070; + } + $50 = (0 - ($$063))|0; + $9 = (($$272) + ($50)|0); + $51 = ($$063|0)==(1); + $52 = ($$064|0)!=(0); + if ($51) { + if (!($52)) { + $$070 = $$272; + continue; + } + $8 = HEAP8[$9>>0]|0; + _memset(($$272|0),($8|0),($$064|0))|0; + $scevgep92 = (($$272) + ($$064)|0); + $$070 = $scevgep92; + continue; + } + if ($52) { + $$067 = $9;$$266 = $$064;$$5 = $$272; + } else { + $$070 = $$272; + continue; + } + while(1) { + $53 = ((($$067)) + 1|0); + $54 = HEAP8[$$067>>0]|0; + $55 = ((($$5)) + 1|0); + HEAP8[$$5>>0] = $54; + $56 = (($$266) + -1)|0; + $57 = ($56|0)==(0); + if ($57) { + break; + } else { + $$067 = $53;$$266 = $56;$$5 = $55; + } + } + $scevgep = (($$272) + ($$064)|0); + $$070 = $scevgep; + } + if ((label|0) == 6) { + _stbi__err(12844); + $$3$ph = 0; + return ($$3$ph|0); + } + else if ((label|0) == 12) { + HEAP32[$1>>2] = $$070; + $$3$ph = 1; + return ($$3$ph|0); + } + else if ((label|0) == 16) { + _stbi__err(12844); + $$3$ph = 0; + return ($$3$ph|0); + } + else if ((label|0) == 20) { + _stbi__err(12861); + $$3$ph = 0; + return ($$3$ph|0); + } + else if ((label|0) == 28) { + return ($$3$ph|0); + } + return (0)|0; +} +function _stbi__zhuffman_decode($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($0)) + 8|0); + $3 = HEAP32[$2>>2]|0; + $4 = ($3|0)<(16); + if ($4) { + _stbi__fill_bits($0); + } + $5 = ((($0)) + 12|0); + $6 = HEAP32[$5>>2]|0; + $7 = $6 & 511; + $8 = (($1) + ($7<<1)|0); + $9 = HEAP16[$8>>1]|0; + $10 = $9&65535; + $11 = ($9<<16>>16)==(0); + if ($11) { + $17 = (_stbi__zhuffman_decode_slowpath($0,$1)|0); + $$0 = $17; + return ($$0|0); + } else { + $12 = $10 >>> 9; + $13 = $6 >>> $12; + HEAP32[$5>>2] = $13; + $14 = HEAP32[$2>>2]|0; + $15 = (($14) - ($12))|0; + HEAP32[$2>>2] = $15; + $16 = $10 & 511; + $$0 = $16; + return ($$0|0); + } + return (0)|0; +} +function _stbi__zexpand($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$0 = 0, $$029 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ((($0)) + 16|0); + HEAP32[$3>>2] = $1; + $4 = ((($0)) + 28|0); + $5 = HEAP32[$4>>2]|0; + $6 = ($5|0)==(0); + if ($6) { + _stbi__err(12870); + $$0 = 0; + return ($$0|0); + } + $7 = ((($0)) + 20|0); + $8 = HEAP32[$7>>2]|0; + $9 = $1; + $10 = $8; + $11 = (($9) - ($10))|0; + $12 = ((($0)) + 24|0); + $13 = HEAP32[$12>>2]|0; + $14 = (($13) - ($10))|0; + $15 = (($11) + ($2))|0; + $$029 = $14; + while(1) { + $16 = ($15|0)>($$029|0); + $17 = $$029 << 1; + if ($16) { + $$029 = $17; + } else { + break; + } + } + $18 = (_realloc($8,$$029)|0); + $19 = ($18|0)==(0|0); + if ($19) { + _stbi__err(11852); + $$0 = 0; + return ($$0|0); + } else { + HEAP32[$7>>2] = $18; + $20 = (($18) + ($11)|0); + HEAP32[$3>>2] = $20; + $21 = (($18) + ($$029)|0); + HEAP32[$12>>2] = $21; + $$0 = 1; + return ($$0|0); + } + return (0)|0; +} +function _stbi__fill_bits($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 12|0); + $2 = ((($0)) + 8|0); + while(1) { + $3 = HEAP32[$1>>2]|0; + $4 = HEAP32[$2>>2]|0; + $5 = 1 << $4; + $6 = ($3>>>0)<($5>>>0); + if (!($6)) { + label = 3; + break; + } + $7 = (_stbi__zget8($0)|0); + $8 = $7&255; + $9 = HEAP32[$2>>2]|0; + $10 = $8 << $9; + $11 = HEAP32[$1>>2]|0; + $12 = $11 | $10; + HEAP32[$1>>2] = $12; + $13 = (($9) + 8)|0; + HEAP32[$2>>2] = $13; + $14 = ($13|0)<(25); + if (!($14)) { + label = 5; + break; + } + } + if ((label|0) == 3) { + ___assert_fail((12966|0),(11797|0),3848,(13003|0)); + // unreachable; + } + else if ((label|0) == 5) { + return; + } +} +function _stbi__zhuffman_decode_slowpath($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $$025 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($0)) + 12|0); + $3 = HEAP32[$2>>2]|0; + $4 = (_stbi__bit_reverse($3,16)|0); + $$025 = 10; + while(1) { + $5 = (((($1)) + 1056|0) + ($$025<<2)|0); + $6 = HEAP32[$5>>2]|0; + $7 = ($4|0)<($6|0); + $8 = (($$025) + 1)|0; + if ($7) { + break; + } else { + $$025 = $8; + } + } + $9 = ($$025|0)==(16); + if ($9) { + $$0 = -1; + return ($$0|0); + } + $10 = (16 - ($$025))|0; + $11 = $4 >> $10; + $12 = (((($1)) + 1024|0) + ($$025<<1)|0); + $13 = HEAP16[$12>>1]|0; + $14 = $13&65535; + $15 = (($11) - ($14))|0; + $16 = (((($1)) + 1124|0) + ($$025<<1)|0); + $17 = HEAP16[$16>>1]|0; + $18 = $17&65535; + $19 = (($15) + ($18))|0; + $20 = (((($1)) + 1156|0) + ($19)|0); + $21 = HEAP8[$20>>0]|0; + $22 = $21&255; + $23 = ($22|0)==($$025|0); + if (!($23)) { + ___assert_fail((12890|0),(11797|0),3876,(12906|0)); + // unreachable; + } + $24 = HEAP32[$2>>2]|0; + $25 = $24 >>> $$025; + HEAP32[$2>>2] = $25; + $26 = ((($0)) + 8|0); + $27 = HEAP32[$26>>2]|0; + $28 = (($27) - ($$025))|0; + HEAP32[$26>>2] = $28; + $29 = (((($1)) + 1444|0) + ($19<<1)|0); + $30 = HEAP16[$29>>1]|0; + $31 = $30&65535; + $$0 = $31; + return ($$0|0); +} +function _stbi__bit_reverse($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ($1|0)<(17); + if ($2) { + $3 = (_stbi__bitreverse16($0)|0); + $4 = (16 - ($1))|0; + $5 = $3 >> $4; + return ($5|0); + } else { + ___assert_fail((12937|0),(11797|0),3766,(12948|0)); + // unreachable; + } + return (0)|0; +} +function _stbi__bitreverse16($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; + var sp = 0; + sp = STACKTOP; + $1 = $0 >>> 1; + $2 = $1 & 21845; + $3 = $0 << 1; + $4 = $3 & 43690; + $5 = $2 | $4; + $6 = $5 >>> 2; + $7 = $6 & 13107; + $8 = $5 << 2; + $9 = $8 & 52428; + $10 = $7 | $9; + $11 = $10 >>> 4; + $12 = $11 & 3855; + $13 = $10 << 4; + $14 = $13 & 61680; + $15 = $12 | $14; + $16 = $15 >>> 8; + $17 = $15 << 8; + $18 = $17 & 65280; + $19 = $18 | $16; + return ($19|0); +} +function _stbi__zget8($0) { + $0 = $0|0; + var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP32[$0>>2]|0; + $2 = ((($0)) + 4|0); + $3 = HEAP32[$2>>2]|0; + $4 = ($1>>>0)<($3>>>0); + if (!($4)) { + $$0 = 0; + return ($$0|0); + } + $5 = ((($1)) + 1|0); + HEAP32[$0>>2] = $5; + $6 = HEAP8[$1>>0]|0; + $$0 = $6; + return ($$0|0); +} +function _stbi__refill_buffer($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 16|0); + $2 = HEAP32[$1>>2]|0; + $3 = ((($0)) + 28|0); + $4 = HEAP32[$3>>2]|0; + $5 = ((($0)) + 40|0); + $6 = ((($0)) + 36|0); + $7 = HEAP32[$6>>2]|0; + $8 = (FUNCTION_TABLE_iiii[$2 & 15]($4,$5,$7)|0); + $9 = ($8|0)==(0); + if ($9) { + $10 = ((($0)) + 32|0); + HEAP32[$10>>2] = 0; + $11 = ((($0)) + 168|0); + HEAP32[$11>>2] = $5; + $12 = ((($0)) + 41|0); + $13 = ((($0)) + 172|0); + HEAP32[$13>>2] = $12; + HEAP8[$5>>0] = 0; + return; + } else { + $14 = ((($0)) + 168|0); + HEAP32[$14>>2] = $5; + $15 = (((($0)) + 40|0) + ($8)|0); + $16 = ((($0)) + 172|0); + HEAP32[$16>>2] = $15; + return; + } +} +function _stbi__rewind($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 176|0); + $2 = HEAP32[$1>>2]|0; + $3 = ((($0)) + 168|0); + HEAP32[$3>>2] = $2; + $4 = ((($0)) + 180|0); + $5 = HEAP32[$4>>2]|0; + $6 = ((($0)) + 172|0); + HEAP32[$6>>2] = $5; + return; +} +function _stbi__start_callbacks($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ((($0)) + 16|0); + ;HEAP32[$3>>2]=HEAP32[$1>>2]|0;HEAP32[$3+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$3+8>>2]=HEAP32[$1+8>>2]|0; + $4 = ((($0)) + 28|0); + HEAP32[$4>>2] = $2; + $5 = ((($0)) + 36|0); + HEAP32[$5>>2] = 128; + $6 = ((($0)) + 32|0); + HEAP32[$6>>2] = 1; + $7 = ((($0)) + 40|0); + $8 = ((($0)) + 176|0); + HEAP32[$8>>2] = $7; + _stbi__refill_buffer($0); + $9 = ((($0)) + 172|0); + $10 = HEAP32[$9>>2]|0; + $11 = ((($0)) + 180|0); + HEAP32[$11>>2] = $10; + return; +} +function _stbi__stdio_read($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = (_fread($1,1,$2,$0)|0); + return ($3|0); +} +function _stbi__stdio_skip($0,$1) { + $0 = $0|0; + $1 = $1|0; + var label = 0, sp = 0; + sp = STACKTOP; + (_fseek($0,$1,1)|0); + return; +} +function _stbi__stdio_eof($0) { + $0 = $0|0; + var $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (_feof($0)|0); + return ($1|0); +} +function _LoadImage($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$sink = 0, $$sroa$0$0 = 0, $$sroa$0$0$copyload = 0, $$sroa$0$1 = 0, $$sroa$0$144 = 0, $$sroa$11$0 = 0, $$sroa$11$0$$sroa_idx23 = 0, $$sroa$11$0$$sroa_idx24 = 0, $$sroa$11$0$copyload = 0, $$sroa$11$1 = 0, $$sroa$11$146 = 0, $$sroa$11$147 = 0, $$sroa$12$0 = 0, $$sroa$12$0$$sroa_idx27 = 0, $$sroa$12$0$$sroa_idx28 = 0, $$sroa$12$0$copyload = 0, $$sroa$12$1 = 0, $$sroa$12$2 = 0, $$sroa$12$248 = 0, $$sroa$12$249 = 0; + var $$sroa$7$0 = 0, $$sroa$7$0$$sroa_idx15 = 0, $$sroa$7$0$$sroa_idx16 = 0, $$sroa$7$0$copyload = 0, $$sroa$7$1 = 0, $$sroa$7$142 = 0, $$sroa$7$143 = 0, $$sroa$9$0 = 0, $$sroa$9$0$$sroa_idx19 = 0, $$sroa$9$0$$sroa_idx20 = 0, $$sroa$9$0$copyload = 0, $$sroa$9$1 = 0, $$sroa$9$140 = 0, $$sroa$9$141 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0; + var $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0; + var $vararg_buffer1 = 0, $vararg_buffer4 = 0, $vararg_buffer9 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0); + $vararg_buffer9 = sp + 32|0; + $vararg_buffer4 = sp + 16|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $2 = sp + 48|0; + $3 = sp + 44|0; + $4 = sp + 40|0; + $5 = sp + 36|0; + $6 = (_IsFileExtension($1,16615)|0); + $7 = ($6|0)==(0); + do { + if ($7) { + $19 = (_IsFileExtension($1,13265)|0); + $20 = ($19|0)==(0); + if ($20) { + HEAP32[$vararg_buffer1>>2] = $1; + _TraceLog(1,13270,$vararg_buffer1); + $$sroa$11$147 = 0;$$sroa$12$249 = 0;$$sroa$7$143 = 0;$$sroa$9$141 = 0; + break; + } + HEAP32[$3>>2] = 0; + HEAP32[$4>>2] = 0; + HEAP32[$5>>2] = 0; + $21 = (_fopen($1,17460)|0); + $22 = (_stbi_load_from_file($21,$3,$4,$5,0)|0); + (_fclose($21)|0); + $23 = HEAP32[$3>>2]|0; + $24 = HEAP32[$4>>2]|0; + $25 = HEAP32[$5>>2]|0; + switch ($25|0) { + case 1: { + $$sink = 1; + label = 11; + break; + } + case 2: { + $$sink = 2; + label = 11; + break; + } + case 3: { + $$sink = 4; + label = 11; + break; + } + case 4: { + $$sink = 7; + label = 11; + break; + } + default: { + $$sroa$12$1 = 0; + } + } + if ((label|0) == 11) { + $$sroa$12$1 = $$sink; + } + $$sroa$0$1 = $22;$$sroa$11$1 = 1;$$sroa$12$2 = $$sroa$12$1;$$sroa$7$1 = $23;$$sroa$9$1 = $24; + label = 14; + } else { + $8 = (_LoadResource($1,0)|0); + $9 = HEAP32[$8>>2]|0; + $10 = ($9|0)==(1); + if ($10) { + $11 = ((($8)) + 20|0); + $12 = HEAP32[$11>>2]|0; + $13 = ((($8)) + 4|0); + $14 = HEAP32[$13>>2]|0; + $15 = ((($8)) + 8|0); + $16 = HEAP32[$15>>2]|0; + $17 = ((($8)) + 12|0); + $18 = HEAP32[$17>>2]|0; + _LoadImagePro($2,$12,$14,$16,$18); + $$sroa$0$0$copyload = HEAP32[$2>>2]|0; + $$sroa$7$0$$sroa_idx15 = ((($2)) + 4|0); + $$sroa$7$0$copyload = HEAP32[$$sroa$7$0$$sroa_idx15>>2]|0; + $$sroa$9$0$$sroa_idx19 = ((($2)) + 8|0); + $$sroa$9$0$copyload = HEAP32[$$sroa$9$0$$sroa_idx19>>2]|0; + $$sroa$11$0$$sroa_idx23 = ((($2)) + 12|0); + $$sroa$11$0$copyload = HEAP32[$$sroa$11$0$$sroa_idx23>>2]|0; + $$sroa$12$0$$sroa_idx27 = ((($2)) + 16|0); + $$sroa$12$0$copyload = HEAP32[$$sroa$12$0$$sroa_idx27>>2]|0; + $$sroa$0$0 = $$sroa$0$0$copyload;$$sroa$11$0 = $$sroa$11$0$copyload;$$sroa$12$0 = $$sroa$12$0$copyload;$$sroa$7$0 = $$sroa$7$0$copyload;$$sroa$9$0 = $$sroa$9$0$copyload; + } else { + HEAP32[$vararg_buffer>>2] = $1; + _TraceLog(1,13218,$vararg_buffer); + $$sroa$0$0 = 0;$$sroa$11$0 = 0;$$sroa$12$0 = 0;$$sroa$7$0 = 0;$$sroa$9$0 = 0; + } + _UnloadResource($8); + $$sroa$0$1 = $$sroa$0$0;$$sroa$11$1 = $$sroa$11$0;$$sroa$12$2 = $$sroa$12$0;$$sroa$7$1 = $$sroa$7$0;$$sroa$9$1 = $$sroa$9$0; + label = 14; + } + } while(0); + if ((label|0) == 14) { + $26 = ($$sroa$0$1|0)==(0|0); + if ($26) { + $$sroa$11$147 = $$sroa$11$1;$$sroa$12$249 = $$sroa$12$2;$$sroa$7$143 = $$sroa$7$1;$$sroa$9$141 = $$sroa$9$1; + } else { + HEAP32[$vararg_buffer4>>2] = $1; + $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); + HEAP32[$vararg_ptr7>>2] = $$sroa$7$1; + $vararg_ptr8 = ((($vararg_buffer4)) + 8|0); + HEAP32[$vararg_ptr8>>2] = $$sroa$9$1; + _TraceLog(0,13306,$vararg_buffer4); + $$sroa$0$144 = $$sroa$0$1;$$sroa$11$146 = $$sroa$11$1;$$sroa$12$248 = $$sroa$12$2;$$sroa$7$142 = $$sroa$7$1;$$sroa$9$140 = $$sroa$9$1; + HEAP32[$0>>2] = $$sroa$0$144; + $$sroa$7$0$$sroa_idx16 = ((($0)) + 4|0); + HEAP32[$$sroa$7$0$$sroa_idx16>>2] = $$sroa$7$142; + $$sroa$9$0$$sroa_idx20 = ((($0)) + 8|0); + HEAP32[$$sroa$9$0$$sroa_idx20>>2] = $$sroa$9$140; + $$sroa$11$0$$sroa_idx24 = ((($0)) + 12|0); + HEAP32[$$sroa$11$0$$sroa_idx24>>2] = $$sroa$11$146; + $$sroa$12$0$$sroa_idx28 = ((($0)) + 16|0); + HEAP32[$$sroa$12$0$$sroa_idx28>>2] = $$sroa$12$248; + STACKTOP = sp;return; + } + } + HEAP32[$vararg_buffer9>>2] = $1; + _TraceLog(1,13345,$vararg_buffer9); + $$sroa$0$144 = 0;$$sroa$11$146 = $$sroa$11$147;$$sroa$12$248 = $$sroa$12$249;$$sroa$7$142 = $$sroa$7$143;$$sroa$9$140 = $$sroa$9$141; + HEAP32[$0>>2] = $$sroa$0$144; + $$sroa$7$0$$sroa_idx16 = ((($0)) + 4|0); + HEAP32[$$sroa$7$0$$sroa_idx16>>2] = $$sroa$7$142; + $$sroa$9$0$$sroa_idx20 = ((($0)) + 8|0); + HEAP32[$$sroa$9$0$$sroa_idx20>>2] = $$sroa$9$140; + $$sroa$11$0$$sroa_idx24 = ((($0)) + 12|0); + HEAP32[$$sroa$11$0$$sroa_idx24>>2] = $$sroa$11$146; + $$sroa$12$0$$sroa_idx28 = ((($0)) + 16|0); + HEAP32[$$sroa$12$0$$sroa_idx28>>2] = $$sroa$12$248; + STACKTOP = sp;return; +} +function _LoadResource($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0$lcssa = 0, $$05665 = 0, $$05764 = 0, $$1 = 0, $$2 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; + var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; + var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0; + var $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond60 = 0; + var $or$cond62 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer4 = 0, $vararg_buffer8 = 0, $vararg_ptr11 = 0, $vararg_ptr7 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0); + $vararg_buffer8 = sp + 24|0; + $vararg_buffer4 = sp + 16|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $2 = sp + 64|0; + $3 = sp + 32|0; + $4 = (_fopen($0,17460)|0); + $5 = ($4|0)==(0|0); + if ($5) { + HEAP32[$vararg_buffer>>2] = $0; + _TraceLog(1,13404,$vararg_buffer); + $$2 = 0; + STACKTOP = sp;return ($$2|0); + } + (_fread($2,1,1,$4)|0); + $6 = ((($2)) + 1|0); + (_fread($6,1,1,$4)|0); + $7 = ((($2)) + 2|0); + (_fread($7,1,1,$4)|0); + $8 = ((($2)) + 3|0); + (_fread($8,1,1,$4)|0); + $9 = ((($2)) + 4|0); + (_fread($9,2,1,$4)|0); + $10 = ((($2)) + 6|0); + (_fread($10,2,1,$4)|0); + $11 = HEAP8[$2>>0]|0; + $12 = ($11<<24>>24)==(114); + $13 = HEAP8[$6>>0]|0; + $14 = ($13<<24>>24)==(82); + $or$cond = $12 | $14; + $15 = HEAP8[$7>>0]|0; + $16 = ($15<<24>>24)==(69); + $or$cond60 = $or$cond | $16; + $17 = HEAP8[$8>>0]|0; + $18 = ($17<<24>>24)==(83); + $or$cond62 = $or$cond60 | $18; + if ($or$cond62) { + $19 = HEAP16[$10>>1]|0; + $20 = ($19<<16>>16)==(0); + if ($20) { + $$0$lcssa = 0; + } else { + $21 = ((($3)) + 7|0); + $22 = HEAP16[$10>>1]|0; + $23 = $22&65535; + $24 = ((($3)) + 8|0); + $25 = ((($3)) + 4|0); + $26 = ((($3)) + 16|0); + $27 = ((($3)) + 20|0); + $28 = ((($3)) + 24|0); + $29 = ((($3)) + 28|0); + $30 = ((($3)) + 8|0); + $31 = ((($3)) + 5|0); + $32 = ((($3)) + 12|0); + $$05665 = 0; + while(1) { + (_fread($3,32,1,$4)|0); + $36 = HEAP8[$21>>0]|0; + $37 = $36&255; + $38 = ($37*24)|0; + $39 = (_malloc($38)|0); + $40 = HEAP32[$3>>2]|0; + $41 = ($40|0)==($1|0); + if ($41) { + $42 = HEAP8[$21>>0]|0; + $43 = ($42<<24>>24)==(0); + if (!($43)) { + $$05764 = 0; + while(1) { + $44 = HEAP8[$25>>0]|0; + $45 = $44&255; + $46 = (($39) + (($$05764*24)|0)|0); + HEAP32[$46>>2] = $45; + $47 = HEAP32[$26>>2]|0; + $48 = (((($39) + (($$05764*24)|0)|0)) + 4|0); + HEAP32[$48>>2] = $47; + $49 = HEAP32[$27>>2]|0; + $50 = (((($39) + (($$05764*24)|0)|0)) + 8|0); + HEAP32[$50>>2] = $49; + $51 = HEAP32[$28>>2]|0; + $52 = (((($39) + (($$05764*24)|0)|0)) + 12|0); + HEAP32[$52>>2] = $51; + $53 = HEAP32[$29>>2]|0; + $54 = (((($39) + (($$05764*24)|0)|0)) + 16|0); + HEAP32[$54>>2] = $53; + $55 = HEAP32[$30>>2]|0; + $56 = (_malloc($55)|0); + (_fread($56,$55,1,$4)|0); + $57 = HEAP8[$31>>0]|0; + $58 = ($57<<24>>24)==(1); + if ($58) { + $59 = HEAP32[$30>>2]|0; + $60 = HEAP32[$32>>2]|0; + $61 = (_DecompressData($56,$59,$60)|0); + $62 = (((($39) + (($$05764*24)|0)|0)) + 20|0); + HEAP32[$62>>2] = $61; + _free($56); + } else { + $63 = (((($39) + (($$05764*24)|0)|0)) + 20|0); + HEAP32[$63>>2] = $56; + } + $64 = (((($39) + (($$05764*24)|0)|0)) + 20|0); + $65 = HEAP32[$64>>2]|0; + $66 = ($65|0)==(0|0); + if (!($66)) { + $67 = HEAP32[$3>>2]|0; + HEAP32[$vararg_buffer4>>2] = $0; + $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); + HEAP32[$vararg_ptr7>>2] = $67; + _TraceLog(0,13501,$vararg_buffer4); + } + (_fread($3,32,1,$4)|0); + $68 = (($$05764) + 1)|0; + $69 = HEAP8[$21>>0]|0; + $70 = $69&255; + $71 = ($68|0)<($70|0); + if ($71) { + $$05764 = $68; + } else { + break; + } + } + } + } else { + $72 = HEAP32[$24>>2]|0; + (_fseek($4,$72,1)|0); + } + $73 = (($$05665) + 1)|0; + $74 = ($73|0)<($23|0); + if ($74) { + $$05665 = $73; + } else { + $$0$lcssa = $39; + break; + } + } + } + $33 = ((($$0$lcssa)) + 20|0); + $34 = HEAP32[$33>>2]|0; + $35 = ($34|0)==(0|0); + if ($35) { + HEAP32[$vararg_buffer8>>2] = $0; + $vararg_ptr11 = ((($vararg_buffer8)) + 4|0); + HEAP32[$vararg_ptr11>>2] = $1; + _TraceLog(1,13547,$vararg_buffer8); + $$1 = $$0$lcssa; + } else { + $$1 = $$0$lcssa; + } + } else { + HEAP32[$vararg_buffer1>>2] = $0; + _TraceLog(1,13455,$vararg_buffer1); + $$1 = 0; + } + (_fclose($4)|0); + $$2 = $$1; + STACKTOP = sp;return ($$2|0); +} +function _LoadImagePro($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$byval_copy = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0); + $$byval_copy = sp + 20|0; + $5 = sp; + HEAP32[$5>>2] = $1; + $6 = ((($5)) + 4|0); + HEAP32[$6>>2] = $2; + $7 = ((($5)) + 8|0); + HEAP32[$7>>2] = $3; + $8 = ((($5)) + 12|0); + HEAP32[$8>>2] = 1; + $9 = ((($5)) + 16|0); + HEAP32[$9>>2] = $4; + ;HEAP32[$$byval_copy>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$5+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$5+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$5+16>>2]|0; + _ImageCopy($0,$$byval_copy); + STACKTOP = sp;return; +} +function _UnloadResource($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 20|0); + $2 = HEAP32[$1>>2]|0; + $3 = ($2|0)==(0|0); + if ($3) { + return; + } + _free($2); + return; +} +function _ImageCopy($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $$sroa$6$0 = 0, $$sroa$6$0$$sroa_idx10 = 0, $$sroa$7$0 = 0, $$sroa$7$0$$sroa_idx12 = 0, $$sroa$8$0 = 0, $$sroa$8$0$$sroa_idx14 = 0, $$sroa$9$0 = 0, $$sroa$9$0$$sroa_idx16 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0; + var $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $vararg_buffer = sp; + $2 = ((($1)) + 4|0); + $3 = HEAP32[$2>>2]|0; + $4 = ((($1)) + 8|0); + $5 = HEAP32[$4>>2]|0; + $6 = Math_imul($5, $3)|0; + $7 = ((($1)) + 16|0); + $8 = HEAP32[$7>>2]|0; + switch ($8|0) { + case 17: case 14: case 11: case 10: case 1: { + $$0 = $6; + break; + } + case 6: case 5: case 3: case 2: { + $9 = $6 << 1; + $$0 = $9; + break; + } + case 4: { + $10 = ($6*3)|0; + $$0 = $10; + break; + } + case 7: { + $11 = $6 << 2; + $$0 = $11; + break; + } + case 16: case 15: case 13: case 12: case 9: case 8: { + $12 = (($6|0) / 2)&-1; + $$0 = $12; + break; + } + case 18: { + $13 = (($6|0) / 4)&-1; + $$0 = $13; + break; + } + default: { + _TraceLog(1,13376,$vararg_buffer); + $$0 = $6; + } + } + $14 = (_malloc($$0)|0); + $15 = ($14|0)==(0|0); + if ($15) { + $$sroa$6$0 = 0;$$sroa$7$0 = 0;$$sroa$8$0 = 0;$$sroa$9$0 = 0; + } else { + $16 = HEAP32[$1>>2]|0; + _memcpy(($14|0),($16|0),($$0|0))|0; + $17 = HEAP32[$2>>2]|0; + $18 = HEAP32[$4>>2]|0; + $19 = ((($1)) + 12|0); + $20 = HEAP32[$19>>2]|0; + $21 = HEAP32[$7>>2]|0; + $$sroa$6$0 = $17;$$sroa$7$0 = $18;$$sroa$8$0 = $20;$$sroa$9$0 = $21; + } + HEAP32[$0>>2] = $14; + $$sroa$6$0$$sroa_idx10 = ((($0)) + 4|0); + HEAP32[$$sroa$6$0$$sroa_idx10>>2] = $$sroa$6$0; + $$sroa$7$0$$sroa_idx12 = ((($0)) + 8|0); + HEAP32[$$sroa$7$0$$sroa_idx12>>2] = $$sroa$7$0; + $$sroa$8$0$$sroa_idx14 = ((($0)) + 12|0); + HEAP32[$$sroa$8$0$$sroa_idx14>>2] = $$sroa$8$0; + $$sroa$9$0$$sroa_idx16 = ((($0)) + 16|0); + HEAP32[$$sroa$9$0$$sroa_idx16>>2] = $$sroa$9$0; + STACKTOP = sp;return; +} +function _DecompressData($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer3 = 0, $vararg_buffer5 = 0, $vararg_buffer7 = 0, $vararg_ptr13 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0); + $vararg_buffer10 = sp + 40|0; + $vararg_buffer7 = sp + 32|0; + $vararg_buffer5 = sp + 24|0; + $vararg_buffer3 = sp + 16|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $3 = (_malloc($2)|0); + $4 = ($3|0)==(0|0); + if ($4) { + _TraceLog(1,13597,$vararg_buffer); + STACKTOP = sp;return ($3|0); + } + $5 = (_tinfl_decompress_mem_to_mem($3,$2,$0,$1,1)|0); + $6 = ($5|0)==(-1); + if ($6) { + _TraceLog(1,13636,$vararg_buffer1); + _free($3); + } + $7 = ($5|0)==($2|0); + if (!($7)) { + _TraceLog(1,13662,$vararg_buffer3); + HEAP32[$vararg_buffer5>>2] = $2; + _TraceLog(1,13725,$vararg_buffer5); + HEAP32[$vararg_buffer7>>2] = $5; + _TraceLog(1,13760,$vararg_buffer7); + } + HEAP32[$vararg_buffer10>>2] = $1; + $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); + HEAP32[$vararg_ptr13>>2] = $5; + _TraceLog(0,13795,$vararg_buffer10); + STACKTOP = sp;return ($3|0); +} +function _tinfl_decompress_mem_to_mem($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 11008|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(11008|0); + $5 = sp + 11000|0; + $6 = sp; + $7 = sp + 8|0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $3; + HEAP32[$7>>2] = 0; + $8 = $4 & -7; + $9 = $8 | 4; + $10 = (_tinfl_decompress($7,$2,$6,$0,$0,$5,$9)|0); + $11 = ($10|0)!=(0); + $12 = HEAP32[$5>>2]|0; + $13 = $11 ? -1 : $12; + STACKTOP = sp;return ($13|0); +} +function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + $6 = $6|0; + var $$ = 0, $$$301127 = 0, $$010861840 = 0, $$010871839 = 0, $$010881838 = 0, $$010911856 = 0, $$010941846 = 0, $$010951864 = 0, $$01097 = 0, $$01194 = 0, $$011971855 = 0, $$01202 = 0, $$01202$shrunk = 0, $$01203 = 0, $$01300 = 0, $$01300$shrunk = 0, $$01309 = 0, $$01410 = 0, $$01410$shrunk = 0, $$01411 = 0; + var $$01411$shrunk = 0, $$01412 = 0, $$01413 = 0, $$01413$shrunk = 0, $$01416 = 0, $$01507 = 0, $$01607 = 0, $$01834 = 0, $$0937$lcssa = 0, $$09371833 = 0, $$0938$lcssa = 0, $$09381832 = 0, $$0941$lcssa = 0, $$09411816 = 0, $$09431831 = 0, $$09441830 = 0, $$0947 = 0, $$0947$shrunk = 0, $$0948 = 0, $$0949 = 0; + var $$0950 = 0, $$0950$shrunk = 0, $$0951 = 0, $$0952 = 0, $$0952$shrunk = 0, $$0953 = 0, $$0956 = 0, $$0959 = 0, $$0959$shrunk = 0, $$0960 = 0, $$0963 = 0, $$0967 = 0, $$0971 = 0, $$0971$shrunk = 0, $$0972 = 0, $$0975 = 0, $$0978 = 0, $$0979 = 0, $$0979$shrunk = 0, $$0980 = 0; + var $$0980$shrunk = 0, $$0981 = 0, $$0984 = 0, $$0987 = 0, $$0991 = 0, $$1$lcssa = 0, $$100 = 0, $$1001409 = 0, $$101426 = 0, $$101617 = 0, $$110891852 = 0, $$11098 = 0, $$11098$ph = 0, $$111427 = 0, $$111518 = 0, $$111618 = 0, $$11198 = 0, $$11204 = 0, $$11204$ph = 0, $$11310 = 0; + var $$11310$ph = 0, $$11417 = 0, $$11508 = 0, $$11608 = 0, $$11818 = 0, $$121428 = 0, $$121428$ph = 0, $$121519 = 0, $$121619 = 0, $$121619$ph = 0, $$13 = 0, $$131004 = 0, $$131110 = 0, $$131216 = 0, $$131322 = 0, $$131429 = 0, $$131520 = 0, $$131620 = 0, $$14 = 0, $$141005 = 0; + var $$141111 = 0, $$141217 = 0, $$141323 = 0, $$141430 = 0, $$141521 = 0, $$141621 = 0, $$15 = 0, $$151006 = 0, $$151112 = 0, $$151218 = 0, $$151324 = 0, $$151431 = 0, $$151522 = 0, $$151622 = 0, $$16 = 0, $$161007 = 0, $$161113 = 0, $$161113$ph = 0, $$161219 = 0, $$161325 = 0; + var $$161432 = 0, $$161523 = 0, $$161623 = 0, $$17 = 0, $$17$ph = 0, $$171008 = 0, $$171008$ph = 0, $$171114 = 0, $$171220 = 0, $$171220$ph = 0, $$171326 = 0, $$171326$ph = 0, $$171433 = 0, $$171524 = 0, $$171624 = 0, $$1753 = 0, $$1754 = 0, $$18 = 0, $$181009 = 0, $$181115 = 0; + var $$181221 = 0, $$181327 = 0, $$181434 = 0, $$181525 = 0, $$181625 = 0, $$19 = 0, $$191010 = 0, $$191116 = 0, $$191222 = 0, $$191328 = 0, $$191435 = 0, $$191526 = 0, $$191626 = 0, $$1939$lcssa = 0, $$19391817 = 0, $$19421823 = 0, $$1945$lcssa = 0, $$19451815 = 0, $$1954 = 0, $$1957 = 0; + var $$1961 = 0, $$1961$ = 0, $$1964 = 0, $$1968 = 0, $$1973 = 0, $$1976 = 0, $$1982 = 0, $$1985 = 0, $$1988 = 0, $$1988$ph = 0, $$1992 = 0, $$1992$ph = 0, $$2$lcssa = 0, $$20 = 0, $$201011 = 0, $$201117 = 0, $$201223 = 0, $$201329 = 0, $$201436 = 0, $$201527 = 0; + var $$201627 = 0, $$21 = 0, $$21099 = 0, $$211012 = 0, $$211118 = 0, $$211224 = 0, $$211330 = 0, $$211437 = 0, $$211437$ph = 0, $$211528 = 0, $$211628 = 0, $$211628$ph = 0, $$21196 = 0, $$21199$lcssa = 0, $$211991845 = 0, $$21205 = 0, $$21311 = 0, $$21418 = 0, $$21509 = 0, $$21609 = 0; + var $$21825 = 0, $$22 = 0, $$221013 = 0, $$221119 = 0, $$221225 = 0, $$221331 = 0, $$221438 = 0, $$221529 = 0, $$221629 = 0, $$23 = 0, $$231014 = 0, $$231120 = 0, $$231226 = 0, $$231332 = 0, $$231439 = 0, $$231530 = 0, $$231630 = 0, $$24 = 0, $$241015 = 0, $$241121 = 0; + var $$241227 = 0, $$241333 = 0, $$241440 = 0, $$241531 = 0, $$241631 = 0, $$25 = 0, $$251016 = 0, $$251122 = 0, $$251122$ph = 0, $$251228 = 0, $$251334 = 0, $$251441 = 0, $$251532 = 0, $$251632 = 0, $$26 = 0, $$26$ph = 0, $$261017 = 0, $$261017$ph = 0, $$261123 = 0, $$261229 = 0; + var $$261229$ph = 0, $$261335 = 0, $$261335$ph = 0, $$261442 = 0, $$261533 = 0, $$261633 = 0, $$27 = 0, $$271018 = 0, $$271124 = 0, $$271230 = 0, $$271336 = 0, $$271443 = 0, $$271534 = 0, $$271634 = 0, $$28 = 0, $$281019 = 0, $$281125 = 0, $$281231 = 0, $$281337 = 0, $$281444 = 0; + var $$281535 = 0, $$281635 = 0, $$29 = 0, $$291020 = 0, $$291126 = 0, $$291232 = 0, $$291338 = 0, $$291445 = 0, $$291536 = 0, $$291636 = 0, $$2940$lcssa = 0, $$29401824 = 0, $$2946$lcssa = 0, $$29461822 = 0, $$2955 = 0, $$2958 = 0, $$2965 = 0, $$2969 = 0, $$2974 = 0, $$2977 = 0; + var $$2983 = 0, $$2986 = 0, $$2989 = 0, $$2993 = 0, $$30 = 0, $$301021 = 0, $$301127 = 0, $$301233 = 0, $$301339 = 0, $$301446 = 0, $$301537 = 0, $$301637 = 0, $$31 = 0, $$31100$v = 0, $$311022 = 0, $$311128 = 0, $$311234 = 0, $$311340 = 0, $$311447 = 0, $$311538 = 0; + var $$311638 = 0, $$31200 = 0, $$31206 = 0, $$31206$ph = 0, $$31312 = 0, $$31312$ph = 0, $$31419 = 0, $$31419$ph = 0, $$31610 = 0, $$31610$ph = 0, $$32 = 0, $$321023 = 0, $$321129 = 0, $$321235 = 0, $$321341 = 0, $$321448 = 0, $$321448$ph = 0, $$321539 = 0, $$321639 = 0, $$321639$ph = 0; + var $$33 = 0, $$331024 = 0, $$331130 = 0, $$331236 = 0, $$331342 = 0, $$331449 = 0, $$331540 = 0, $$331640 = 0, $$34 = 0, $$341025 = 0, $$341131 = 0, $$341237 = 0, $$341343 = 0, $$341450 = 0, $$341541 = 0, $$341641 = 0, $$35 = 0, $$351026 = 0, $$351132 = 0, $$351238 = 0; + var $$351344 = 0, $$351451 = 0, $$351542 = 0, $$351642 = 0, $$36 = 0, $$361027 = 0, $$361027$ph = 0, $$361133 = 0, $$361133$ph = 0, $$361239 = 0, $$361345 = 0, $$361452 = 0, $$361543 = 0, $$361643 = 0, $$37 = 0, $$37$ph = 0, $$371028 = 0, $$371134 = 0, $$371240 = 0, $$371240$ph = 0; + var $$371346 = 0, $$371346$ph = 0, $$371453 = 0, $$371453$ph = 0, $$371544 = 0, $$371644 = 0, $$371644$ph = 0, $$38 = 0, $$381029 = 0, $$381135 = 0, $$381241 = 0, $$381347 = 0, $$381454 = 0, $$381545 = 0, $$381645 = 0, $$39 = 0, $$391030 = 0, $$391136 = 0, $$391242 = 0, $$391348 = 0; + var $$391455 = 0, $$391546 = 0, $$391646 = 0, $$3966 = 0, $$3970 = 0, $$3990 = 0, $$3990$ph = 0, $$3994 = 0, $$3994$ph = 0, $$40 = 0, $$401031 = 0, $$401137 = 0, $$401243 = 0, $$401349 = 0, $$401456 = 0, $$401547 = 0, $$401647 = 0, $$41 = 0, $$411032 = 0, $$411032$ph = 0; + var $$411138 = 0, $$411138$ph = 0, $$411244 = 0, $$411350 = 0, $$411457 = 0, $$411548 = 0, $$411648 = 0, $$41201 = 0, $$41420 = 0, $$41511 = 0, $$41611 = 0, $$42 = 0, $$42$ph = 0, $$421033 = 0, $$421139 = 0, $$421245 = 0, $$421245$ph = 0, $$421351 = 0, $$421351$ph = 0, $$421458 = 0; + var $$421549 = 0, $$421649 = 0, $$43 = 0, $$431034 = 0, $$431140 = 0, $$431246 = 0, $$431352 = 0, $$431459 = 0, $$431550 = 0, $$431650 = 0, $$44 = 0, $$441035 = 0, $$441141 = 0, $$441247 = 0, $$441353 = 0, $$441460 = 0, $$441460$ph = 0, $$441551 = 0, $$441651 = 0, $$441651$ph = 0; + var $$45 = 0, $$451036 = 0, $$451142 = 0, $$451248 = 0, $$451354 = 0, $$451461 = 0, $$451552 = 0, $$451652 = 0, $$46 = 0, $$461037 = 0, $$461143 = 0, $$461249 = 0, $$461355 = 0, $$461462 = 0, $$461553 = 0, $$461653 = 0, $$47 = 0, $$471038 = 0, $$471144 = 0, $$471250 = 0; + var $$471356 = 0, $$471463 = 0, $$471554 = 0, $$471654 = 0, $$48 = 0, $$481039 = 0, $$481039$ph = 0, $$481145 = 0, $$481145$ph = 0, $$481251 = 0, $$481357 = 0, $$481464 = 0, $$481555 = 0, $$481655 = 0, $$49 = 0, $$49$ph = 0, $$491040 = 0, $$491146 = 0, $$491252 = 0, $$491252$ph = 0; + var $$491358 = 0, $$491358$ph = 0, $$491465 = 0, $$491465$ph = 0, $$491556 = 0, $$491656 = 0, $$491656$ph = 0, $$5 = 0, $$50 = 0, $$501041 = 0, $$501147 = 0, $$501253 = 0, $$501359 = 0, $$501466 = 0, $$501557 = 0, $$501657 = 0, $$51 = 0, $$51102 = 0, $$511042 = 0, $$511148 = 0; + var $$511254 = 0, $$511360 = 0, $$511467 = 0, $$511558 = 0, $$511658 = 0, $$51208 = 0, $$51314 = 0, $$51512 = 0, $$52 = 0, $$521043 = 0, $$521043$ph = 0, $$521149 = 0, $$521255 = 0, $$521361 = 0, $$521468 = 0, $$521559 = 0, $$521659 = 0, $$53 = 0, $$531044 = 0, $$531150 = 0; + var $$531150$ph = 0, $$531256 = 0, $$531362 = 0, $$531469 = 0, $$531560 = 0, $$531660 = 0, $$54 = 0, $$54$ph = 0, $$541045 = 0, $$541151 = 0, $$541257 = 0, $$541257$ph = 0, $$541363 = 0, $$541363$ph = 0, $$541470$ph = 0, $$541561 = 0, $$541661$lcssa = 0, $$541661$ph = 0, $$5416611868 = 0, $$55 = 0; + var $$551046 = 0, $$551152 = 0, $$551258 = 0, $$551364 = 0, $$551471 = 0, $$551562 = 0, $$551662 = 0, $$56 = 0, $$561047 = 0, $$561153 = 0, $$561259 = 0, $$561365 = 0, $$561472 = 0, $$561563 = 0, $$561663 = 0, $$57 = 0, $$571048$ph = 0, $$571154 = 0, $$571260 = 0, $$571366 = 0; + var $$571473 = 0, $$571473$ph = 0, $$571564 = 0, $$571664 = 0, $$571664$ph = 0, $$58 = 0, $$581049 = 0, $$581155$lcssa = 0, $$581155$ph = 0, $$5811551871 = 0, $$581261 = 0, $$581367 = 0, $$581474 = 0, $$581565$lcssa = 0, $$581565$ph = 0, $$5815651869 = 0, $$581665 = 0, $$59$lcssa = 0, $$59$ph = 0, $$591050 = 0; + var $$591156 = 0, $$591262$ph = 0, $$591368$lcssa = 0, $$591368$ph = 0, $$5913681870 = 0, $$591475 = 0, $$591566 = 0, $$591666 = 0, $$591872 = 0, $$5996 = 0, $$6 = 0, $$60 = 0, $$601051 = 0, $$601051$ph = 0, $$601157 = 0, $$601263 = 0, $$601369 = 0, $$601476 = 0, $$601567 = 0, $$61 = 0; + var $$61103 = 0, $$611052 = 0, $$611158 = 0, $$611158$ph = 0, $$611264 = 0, $$611370 = 0, $$611477 = 0, $$611568 = 0, $$611668 = 0, $$61209 = 0, $$61315 = 0, $$61513 = 0, $$62 = 0, $$62$ph = 0, $$621053 = 0, $$621159 = 0, $$621265 = 0, $$621265$ph = 0, $$621371 = 0, $$621371$ph = 0; + var $$621478 = 0, $$621569 = 0, $$621669 = 0, $$63 = 0, $$631054 = 0, $$631266 = 0, $$631372 = 0, $$631479 = 0, $$631479$ph = 0, $$631570 = 0, $$631670 = 0, $$64 = 0, $$641055 = 0, $$641161 = 0, $$641267 = 0, $$641373 = 0, $$641480 = 0, $$641571 = 0, $$641671 = 0, $$641671$ph = 0; + var $$65 = 0, $$651056 = 0, $$651162 = 0, $$651268 = 0, $$651374 = 0, $$651481 = 0, $$651572 = 0, $$651672 = 0, $$66 = 0, $$661057 = 0, $$661057$ph = 0, $$661163 = 0, $$661269 = 0, $$661375 = 0, $$661482 = 0, $$661673 = 0, $$671058 = 0, $$671164 = 0, $$671164$ph = 0, $$671270 = 0; + var $$671483 = 0, $$671574 = 0, $$671674 = 0, $$68 = 0, $$681059 = 0, $$681165 = 0, $$681271 = 0, $$681271$ph = 0, $$681377 = 0, $$681484 = 0, $$681484$ph = 0, $$681575 = 0, $$681675 = 0, $$69 = 0, $$691060 = 0, $$691166 = 0, $$691272 = 0, $$691378 = 0, $$691485 = 0, $$691576 = 0; + var $$691676 = 0, $$691676$ph = 0, $$6997 = 0, $$7 = 0, $$70 = 0, $$701061 = 0, $$701167 = 0, $$701273 = 0, $$701379 = 0, $$701486 = 0, $$701577 = 0, $$701677 = 0, $$71 = 0, $$71$ph = 0, $$71104 = 0, $$711062 = 0, $$711062$ph = 0, $$711168 = 0, $$711274 = 0, $$711380 = 0; + var $$711380$ph = 0, $$711487 = 0, $$711578 = 0, $$711678 = 0, $$71210 = 0, $$71316 = 0, $$71514 = 0, $$72 = 0, $$721063 = 0, $$721169 = 0, $$721169$ph = 0, $$721275 = 0, $$721381 = 0, $$721488 = 0, $$721488$ph = 0, $$721579 = 0, $$721679 = 0, $$73 = 0, $$731064 = 0, $$731170 = 0; + var $$731276 = 0, $$731276$ph = 0, $$731382 = 0, $$731489 = 0, $$731580 = 0, $$731680 = 0, $$731680$ph = 0, $$74 = 0, $$741065 = 0, $$741065$ph = 0, $$741171 = 0, $$741277 = 0, $$741383 = 0, $$741490 = 0, $$741581 = 0, $$741681 = 0, $$75 = 0, $$751066 = 0, $$751172 = 0, $$751278 = 0; + var $$751384 = 0, $$751491 = 0, $$751582 = 0, $$751682 = 0, $$76 = 0, $$76$ph = 0, $$761067 = 0, $$761173 = 0, $$761173$ph = 0, $$761279 = 0, $$761279$ph = 0, $$761385 = 0, $$761385$ph = 0, $$761492 = 0, $$761583 = 0, $$761683 = 0, $$77 = 0, $$771068 = 0, $$771174 = 0, $$771280 = 0; + var $$771386 = 0, $$771584 = 0, $$771684 = 0, $$78 = 0, $$781069 = 0, $$781175 = 0, $$781281 = 0, $$781387 = 0, $$781585 = 0, $$781685 = 0, $$79 = 0, $$791070 = 0, $$791176 = 0, $$791282 = 0, $$791388 = 0, $$791586 = 0, $$791686 = 0, $$7998 = 0, $$8 = 0, $$8$ph = 0; + var $$80 = 0, $$80$ph = 0, $$801071 = 0, $$801177 = 0, $$801283 = 0, $$801389 = 0, $$801389$ph = 0, $$801496 = 0, $$801587 = 0, $$801687 = 0, $$81 = 0, $$81105 = 0, $$81105$ph = 0, $$811178 = 0, $$811284 = 0, $$811390 = 0, $$811497 = 0, $$811588 = 0, $$81211 = 0, $$81211$ph = 0; + var $$81317 = 0, $$81317$ph = 0, $$81424 = 0, $$81515 = 0, $$81615 = 0, $$82 = 0, $$821179 = 0, $$821285 = 0, $$821391 = 0, $$821498 = 0, $$821589 = 0, $$83 = 0, $$831180 = 0, $$831392 = 0, $$831499 = 0, $$831590 = 0, $$84 = 0, $$841075 = 0, $$841393 = 0, $$841500 = 0; + var $$841500$ph = 0, $$841591 = 0, $$841691 = 0, $$85 = 0, $$851076 = 0, $$851394 = 0, $$851501 = 0, $$851592 = 0, $$851692 = 0, $$86 = 0, $$861077 = 0, $$861289 = 0, $$861395 = 0, $$861502 = 0, $$861693 = 0, $$871078 = 0, $$871184 = 0, $$871290 = 0, $$871503 = 0, $$871694 = 0; + var $$881079 = 0, $$881079$ph = 0, $$881185 = 0, $$881291 = 0, $$881504 = 0, $$881595 = 0, $$881695 = 0, $$881695$ph = 0, $$891080 = 0, $$891186 = 0, $$891292 = 0, $$891505 = 0, $$891596 = 0, $$891696 = 0, $$8999 = 0, $$8999$ph = 0, $$9 = 0, $$90 = 0, $$901081 = 0, $$901187 = 0; + var $$901187$ph = 0, $$901293 = 0, $$901293$ph = 0, $$901399 = 0, $$901506 = 0, $$901597 = 0, $$901697 = 0, $$91 = 0, $$91000 = 0, $$91106 = 0, $$911082 = 0, $$911188 = 0, $$911294 = 0, $$911400 = 0, $$911598 = 0, $$911698 = 0, $$91212 = 0, $$91318 = 0, $$91425 = 0, $$91616 = 0; + var $$92 = 0, $$921083 = 0, $$921189 = 0, $$921295 = 0, $$921401 = 0, $$921599 = 0, $$921699 = 0, $$93 = 0, $$931084 = 0, $$931190 = 0, $$931296 = 0, $$931402 = 0, $$931600 = 0, $$931700 = 0, $$94 = 0, $$94$ph = 0, $$941085 = 0, $$941191 = 0, $$941297 = 0, $$941403 = 0; + var $$941403$ph = 0, $$941601 = 0, $$941701 = 0, $$95 = 0, $$951192 = 0, $$951298 = 0, $$951404 = 0, $$951602 = 0, $$96 = 0, $$961193 = 0, $$961299 = 0, $$961405 = 0, $$961603 = 0, $$97 = 0, $$971406 = 0, $$971604 = 0, $$98 = 0, $$981407 = 0, $$981605 = 0, $$99 = 0; + var $$991408 = 0, $$991606 = 0, $$lcssa1778 = 0, $$lcssa1779 = 0, $$lcssa1799 = 0, $$lcssa1802 = 0, $$not = 0, $$not1747 = 0, $$sink12 = 0, $$sink13 = 0, $$sink16 = 0, $$sink17 = 0, $$sink1705 = 0, $$sink1710 = 0, $$sink1713 = 0, $$sink1716 = 0, $$sink1719 = 0, $$sink1722 = 0, $$sink1729 = 0, $$sink1732 = 0; + var $$sink1736 = 0, $$sink1739 = 0, $$sink1743 = 0, $$sink1746 = 0, $$sink1750 = 0, $$sink3 = 0, $$sink3$shrunk = 0, $$sink30 = 0, $$sink9 = 0, $$sink9$shrunk = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0; + var $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0; + var $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0; + var $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0; + var $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0; + var $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0; + var $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0; + var $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0; + var $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0; + var $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0; + var $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0; + var $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0; + var $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0; + var $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0; + var $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0; + var $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0; + var $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0; + var $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0; + var $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0; + var $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0; + var $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0; + var $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0; + var $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0; + var $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0; + var $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0, $531 = 0, $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0; + var $545 = 0, $546 = 0, $547 = 0, $548 = 0, $549 = 0, $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0, $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0, $562 = 0; + var $563 = 0, $564 = 0, $565 = 0, $566 = 0, $567 = 0, $568 = 0, $569 = 0, $57 = 0, $570 = 0, $571 = 0, $572 = 0, $573 = 0, $574 = 0, $575 = 0, $576 = 0, $577 = 0, $578 = 0, $579 = 0, $58 = 0, $580 = 0; + var $581 = 0, $582 = 0, $583 = 0, $584 = 0, $585 = 0, $586 = 0, $587 = 0, $588 = 0, $589 = 0, $59 = 0, $590 = 0, $591 = 0, $592 = 0, $593 = 0, $594 = 0, $595 = 0, $596 = 0, $597 = 0, $598 = 0, $599 = 0; + var $60 = 0, $600 = 0, $601 = 0, $602 = 0, $603 = 0, $604 = 0, $605 = 0, $606 = 0, $607 = 0, $608 = 0, $609 = 0, $61 = 0, $610 = 0, $611 = 0, $612 = 0, $613 = 0, $614 = 0, $615 = 0, $616 = 0, $617 = 0; + var $618 = 0, $619 = 0, $62 = 0, $620 = 0, $621 = 0, $622 = 0, $623 = 0, $624 = 0, $625 = 0, $626 = 0, $627 = 0, $628 = 0, $629 = 0, $63 = 0, $630 = 0, $631 = 0, $632 = 0, $633 = 0, $634 = 0, $635 = 0; + var $636 = 0, $637 = 0, $638 = 0, $639 = 0, $64 = 0, $640 = 0, $641 = 0, $642 = 0, $643 = 0, $644 = 0, $645 = 0, $646 = 0, $647 = 0, $648 = 0, $649 = 0, $65 = 0, $650 = 0, $651 = 0, $652 = 0, $653 = 0; + var $654 = 0, $655 = 0, $656 = 0, $657 = 0, $658 = 0, $659 = 0, $66 = 0, $660 = 0, $661 = 0, $662 = 0, $663 = 0, $664 = 0, $665 = 0, $666 = 0, $667 = 0, $668 = 0, $669 = 0, $67 = 0, $670 = 0, $671 = 0; + var $672 = 0, $673 = 0, $674 = 0, $675 = 0, $676 = 0, $677 = 0, $678 = 0, $679 = 0, $68 = 0, $680 = 0, $681 = 0, $682 = 0, $683 = 0, $684 = 0, $685 = 0, $686 = 0, $687 = 0, $688 = 0, $689 = 0, $69 = 0; + var $690 = 0, $691 = 0, $692 = 0, $693 = 0, $694 = 0, $695 = 0, $696 = 0, $697 = 0, $698 = 0, $699 = 0, $7 = 0, $70 = 0, $700 = 0, $701 = 0, $702 = 0, $703 = 0, $704 = 0, $705 = 0, $706 = 0, $707 = 0; + var $708 = 0, $709 = 0, $71 = 0, $710 = 0, $711 = 0, $712 = 0, $713 = 0, $714 = 0, $715 = 0, $716 = 0, $717 = 0, $718 = 0, $719 = 0, $72 = 0, $720 = 0, $721 = 0, $722 = 0, $723 = 0, $724 = 0, $725 = 0; + var $726 = 0, $727 = 0, $728 = 0, $729 = 0, $73 = 0, $730 = 0, $731 = 0, $732 = 0, $733 = 0, $734 = 0, $735 = 0, $736 = 0, $737 = 0, $738 = 0, $739 = 0, $74 = 0, $740 = 0, $741 = 0, $742 = 0, $743 = 0; + var $744 = 0, $745 = 0, $746 = 0, $747 = 0, $748 = 0, $749 = 0, $75 = 0, $750 = 0, $751 = 0, $752 = 0, $753 = 0, $754 = 0, $755 = 0, $756 = 0, $757 = 0, $758 = 0, $759 = 0, $76 = 0, $760 = 0, $761 = 0; + var $762 = 0, $763 = 0, $764 = 0, $765 = 0, $766 = 0, $767 = 0, $768 = 0, $769 = 0, $77 = 0, $770 = 0, $771 = 0, $772 = 0, $773 = 0, $774 = 0, $775 = 0, $776 = 0, $777 = 0, $778 = 0, $779 = 0, $78 = 0; + var $780 = 0, $781 = 0, $782 = 0, $783 = 0, $784 = 0, $785 = 0, $786 = 0, $787 = 0, $788 = 0, $789 = 0, $79 = 0, $790 = 0, $791 = 0, $792 = 0, $793 = 0, $794 = 0, $795 = 0, $796 = 0, $797 = 0, $798 = 0; + var $799 = 0, $8 = 0, $80 = 0, $800 = 0, $801 = 0, $802 = 0, $803 = 0, $804 = 0, $805 = 0, $806 = 0, $807 = 0, $808 = 0, $809 = 0, $81 = 0, $810 = 0, $811 = 0, $812 = 0, $813 = 0, $814 = 0, $815 = 0; + var $816 = 0, $817 = 0, $818 = 0, $819 = 0, $82 = 0, $820 = 0, $821 = 0, $822 = 0, $823 = 0, $824 = 0, $825 = 0, $826 = 0, $827 = 0, $828 = 0, $829 = 0, $83 = 0, $830 = 0, $831 = 0, $832 = 0, $833 = 0; + var $834 = 0, $835 = 0, $836 = 0, $837 = 0, $838 = 0, $839 = 0, $84 = 0, $840 = 0, $841 = 0, $842 = 0, $843 = 0, $844 = 0, $845 = 0, $846 = 0, $847 = 0, $848 = 0, $849 = 0, $85 = 0, $850 = 0, $851 = 0; + var $852 = 0, $853 = 0, $854 = 0, $855 = 0, $856 = 0, $857 = 0, $858 = 0, $859 = 0, $86 = 0, $860 = 0, $861 = 0, $862 = 0, $863 = 0, $864 = 0, $865 = 0, $866 = 0, $867 = 0, $868 = 0, $869 = 0, $87 = 0; + var $870 = 0, $871 = 0, $872 = 0, $873 = 0, $874 = 0, $875 = 0, $876 = 0, $877 = 0, $878 = 0, $879 = 0, $88 = 0, $880 = 0, $881 = 0, $882 = 0, $883 = 0, $884 = 0, $885 = 0, $886 = 0, $887 = 0, $888 = 0; + var $889 = 0, $89 = 0, $890 = 0, $891 = 0, $892 = 0, $893 = 0, $894 = 0, $895 = 0, $896 = 0, $897 = 0, $898 = 0, $899 = 0, $9 = 0, $90 = 0, $900 = 0, $901 = 0, $902 = 0, $903 = 0, $904 = 0, $905 = 0; + var $906 = 0, $907 = 0, $908 = 0, $909 = 0, $91 = 0, $910 = 0, $911 = 0, $912 = 0, $913 = 0, $914 = 0, $915 = 0, $916 = 0, $917 = 0, $918 = 0, $919 = 0, $92 = 0, $920 = 0, $921 = 0, $922 = 0, $923 = 0; + var $924 = 0, $925 = 0, $926 = 0, $927 = 0, $928 = 0, $929 = 0, $93 = 0, $930 = 0, $931 = 0, $932 = 0, $933 = 0, $934 = 0, $935 = 0, $936 = 0, $937 = 0, $938 = 0, $939 = 0, $94 = 0, $940 = 0, $941 = 0; + var $942 = 0, $943 = 0, $944 = 0, $945 = 0, $946 = 0, $947 = 0, $948 = 0, $949 = 0, $95 = 0, $950 = 0, $951 = 0, $952 = 0, $953 = 0, $954 = 0, $955 = 0, $956 = 0, $957 = 0, $958 = 0, $959 = 0, $96 = 0; + var $960 = 0, $961 = 0, $962 = 0, $963 = 0, $964 = 0, $965 = 0, $966 = 0, $97 = 0, $98 = 0, $99 = 0, $brmerge = 0, $exitcond = 0, $not$ = 0, $not$1755 = 0, $or$cond = 0, $or$cond1702 = 0, $or$cond1752 = 0, $or$cond24 = 0, $or$cond29 = 0, $scevgep = 0; + var $scevgep1947 = 0, $scevgep1948 = 0, $scevgep1955 = 0, $scevgep1957 = 0, $scevgep1959 = 0, $scevgep19611962 = 0, $trunc = 0, $trunc$clear = 0, dest = 0, label = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 144|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(144|0); + $7 = sp + 64|0; + $8 = sp; + $9 = HEAP32[$2>>2]|0; + $10 = (($1) + ($9)|0); + $11 = HEAP32[$5>>2]|0; + $12 = (($4) + ($11)|0); + $13 = $6 & 4; + $14 = ($13|0)!=(0); + $15 = $4; + $16 = $3; + $17 = $16 ^ -1; + $18 = (($15) + ($17))|0; + $19 = (($18) + ($11))|0; + $$1753 = $14 ? -1 : $19; + $20 = (($$1753) + 1)|0; + $21 = $20 & $$1753; + $22 = ($21|0)!=(0); + $23 = ($4>>>0)<($3>>>0); + $or$cond1702 = $23 | $22; + if ($or$cond1702) { + HEAP32[$5>>2] = 0; + HEAP32[$2>>2] = 0; + $$0951 = -3; + STACKTOP = sp;return ($$0951|0); + } + $24 = ((($0)) + 4|0); + $25 = HEAP32[$24>>2]|0; + $26 = ((($0)) + 56|0); + $27 = HEAP32[$26>>2]|0; + $28 = ((($0)) + 32|0); + $29 = HEAP32[$28>>2]|0; + $30 = ((($0)) + 36|0); + $31 = HEAP32[$30>>2]|0; + $32 = ((($0)) + 40|0); + $33 = HEAP32[$32>>2]|0; + $34 = ((($0)) + 60|0); + $35 = HEAP32[$34>>2]|0; + $36 = HEAP32[$0>>2]|0; + L5: do { + switch ($36|0) { + case 0: { + $37 = ((($0)) + 12|0); + HEAP32[$37>>2] = 0; + $38 = ((($0)) + 8|0); + HEAP32[$38>>2] = 0; + $39 = ((($0)) + 28|0); + HEAP32[$39>>2] = 1; + $40 = ((($0)) + 16|0); + HEAP32[$40>>2] = 1; + $41 = $6 & 1; + $42 = ($41|0)==(0); + if ($42) { + $$01416 = $35;$$01607 = $4;$$41511 = $1;$$5 = 0;$$51102 = 0;$$51208 = 0;$$51314 = 0;$$5996 = 0; + label = 14; + } else { + $43 = ($9|0)<(1); + if ($43) { + $$01097 = 0;$$01203 = 0;$$01309 = 0;$$0987 = 0;$$0991 = 0; + label = 6; + } else { + $$11098$ph = 0;$$11204$ph = 0;$$11310$ph = 0;$$1988$ph = 0;$$1992$ph = 0; + label = 8; + } + } + break; + } + case 1: { + $46 = ($9|0)>(0); + if ($46) { + $$11098$ph = $31;$$11204$ph = $33;$$11310$ph = $27;$$1988$ph = $25;$$1992$ph = $29; + label = 8; + } else { + $$01097 = $31;$$01203 = $33;$$01309 = $27;$$0987 = $25;$$0991 = $29; + label = 6; + } + break; + } + case 2: { + $53 = ($9|0)>(0); + if ($53) { + $$31206$ph = $33;$$31312$ph = $27;$$3990$ph = $25;$$3994$ph = $29;$$sink1705 = $1; + label = 12; + } else { + $$11508 = $1;$$21099 = $31;$$21205 = $33;$$21311 = $27;$$2989 = $25;$$2993 = $29; + label = 10; + } + break; + } + case 36: { + $$0960 = -1;$$891505 = $35;$$931084 = $29;$$931700 = $4;$$951192 = $31;$$951298 = $33;$$981605 = $1;$$99 = $25;$$991408 = $27;$$sink30 = 36; + label = 243; + break; + } + case 3: { + $75 = ($9|0)>(0); + if ($75) { + $$31419$ph = $35;$$31610$ph = $4;$$8$ph = $25;$$81105$ph = $31;$$81211$ph = $33;$$81317$ph = $27;$$8999$ph = $29;$$sink1710 = $1; + label = 18; + } else { + $$21418 = $35;$$21609 = $4;$$61513 = $1;$$7 = $25;$$71104 = $31;$$71210 = $33;$$71316 = $27;$$7998 = $29; + label = 16; + } + break; + } + case 5: { + $90 = ($9|0)>(0); + if ($90) { + $91 = ((($1)) + 1|0); + $92 = HEAP8[$1>>0]|0; + $93 = $92&255; + $$01412 = $93;$$111518 = $91; + } else { + $88 = $6 & 2; + $89 = ($88|0)==(0); + if ($89) { + $$01412 = 0;$$111518 = $1; + } else { + $$0960 = 1;$$891505 = $35;$$931084 = $29;$$931700 = $4;$$951192 = $31;$$951298 = $33;$$981605 = $1;$$99 = $25;$$991408 = $27;$$sink30 = 5; + label = 243; + break L5; + } + } + $94 = $$01412 << $25; + $95 = $94 | $27; + $96 = (($25) + 8)|0; + $$121519 = $$111518;$$13 = $96;$$131004 = $29;$$131216 = $33;$$131322 = $95;$$81424 = $35;$$81615 = $4; + label = 25; + break; + } + case 6: { + $106 = ($9|0)>(0); + if ($106) { + $$121428$ph = $35;$$121619$ph = $4;$$161113$ph = $31;$$17$ph = $25;$$171008$ph = $29;$$171220$ph = $33;$$171326$ph = $27;$$sink1713 = $1; + label = 32; + } else { + $$111427 = $35;$$111618 = $4;$$151112 = $31;$$151522 = $1;$$16 = $25;$$161007 = $29;$$161219 = $33;$$161325 = $27; + label = 30; + } + break; + } + case 7: { + $120 = ($9|0)>(0); + if ($120) { + $121 = ((($1)) + 1|0); + $122 = HEAP8[$1>>0]|0; + $$151431 = $35;$$151622 = $4;$$191116 = $31;$$191526 = $121;$$20 = $25;$$201011 = $29;$$201223 = $33;$$201329 = $27;$$sink12 = $122; + label = 39; + } else { + $$141430 = $35;$$141621 = $4;$$181115 = $31;$$181525 = $1;$$19 = $25;$$191010 = $29;$$191222 = $33;$$191328 = $27; + label = 36; + } + break; + } + case 39: { + $$171433 = $35;$$171624 = $4;$$211118 = $31;$$211528 = $1;$$22 = $25;$$221013 = $29;$$221225 = $33;$$221331 = $27; + label = 43; + break; + } + case 51: { + $152 = ($9|0)>(0); + if ($152) { + $$211437$ph = $35;$$211628$ph = $4;$$251122$ph = $31;$$26$ph = $25;$$261017$ph = $29;$$261229$ph = $33;$$261335$ph = $27;$$sink1716 = $1; + label = 49; + } else { + $$201436 = $35;$$201627 = $4;$$241121 = $31;$$241531 = $1;$$25 = $25;$$251016 = $29;$$251228 = $33;$$251334 = $27; + label = 47; + } + break; + } + case 52: { + $$231439 = $35;$$231630 = $4;$$271018 = $29;$$271124 = $31;$$271534 = $1;$$28 = $25;$$281231 = $33;$$281337 = $27; + label = 52; + break; + } + case 9: { + $$251441 = $35;$$251632 = $4;$$291020 = $29;$$291126 = $31;$$291536 = $1;$$30 = $25;$$301233 = $33;$$301339 = $27; + label = 55; + break; + } + case 38: { + $$261442 = $35;$$261633 = $4;$$301021 = $29;$$301127 = $31;$$301537 = $1;$$31 = $25;$$311234 = $33;$$311340 = $27; + label = 56; + break; + } + case 40: { + $$271443 = $35;$$271634 = $4;$$311022 = $29;$$311128 = $31;$$311538 = $1;$$32 = $25;$$321235 = $33;$$321341 = $27; + label = 58; + break; + } + case 10: { + $$281444 = $35;$$281635 = $4;$$321023 = $29;$$321129 = $31;$$321539 = $1;$$33 = $25;$$331236 = $33;$$331342 = $27; + label = 60; + break; + } + case 11: { + $193 = ($9|0)>(0); + if ($193) { + $$321448$ph = $35;$$321639$ph = $4;$$361027$ph = $29;$$361133$ph = $31;$$37$ph = $25;$$371240$ph = $33;$$371346$ph = $27;$$sink1719 = $1; + label = 66; + } else { + $$311447 = $35;$$311638 = $4;$$351026 = $29;$$351132 = $31;$$351542 = $1;$$36 = $25;$$361239 = $33;$$361345 = $27; + label = 64; + } + break; + } + case 14: { + $224 = ($9|0)>(0); + if ($224) { + $$371453$ph = $35;$$371644$ph = $4;$$411032$ph = $29;$$411138$ph = $31;$$42$ph = $25;$$421245$ph = $33;$$421351$ph = $27;$$sink1722 = $1; + label = 75; + } else { + $$361452 = $35;$$361643 = $4;$$401031 = $29;$$401137 = $31;$$401547 = $1;$$41 = $25;$$411244 = $33;$$411350 = $27; + label = 73; + } + break; + } + case 35: { + $$401456 = $35;$$401647 = $4;$$441035 = $29;$$441141 = $31;$$441551 = $1;$$45 = $25;$$451248 = $33;$$451354 = $27; + label = 86; + break; + } + case 16: { + $452 = ($9|0)>(0); + if ($452) { + $$441460$ph = $35;$$441651$ph = $4;$$481039$ph = $29;$$481145$ph = $31;$$49$ph = $25;$$491252$ph = $33;$$491358$ph = $27;$$sink1729 = $1; + label = 116; + } else { + $$431459 = $35;$$431650 = $4;$$471038 = $29;$$471144 = $31;$$471554 = $1;$$48 = $25;$$481251 = $33;$$481357 = $27; + label = 114; + } + break; + } + case 17: { + $$461462 = $35;$$461653 = $4;$$491040 = $29;$$501147 = $31;$$501557 = $1;$$51 = $25;$$511254 = $33;$$511360 = $27; + label = 125; + break; + } + case 18: { + $503 = ($9|0)>(0); + if ($503) { + $$491465$ph = $35;$$491656$ph = $4;$$521043$ph = $29;$$531150$ph = $31;$$54$ph = $25;$$541257$ph = $33;$$541363$ph = $27;$$sink1732 = $1; + label = 130; + } else { + $$481464 = $35;$$481655 = $4;$$511042 = $29;$$521149 = $31;$$521559 = $1;$$53 = $25;$$531256 = $33;$$531362 = $27; + label = 128; + } + break; + } + case 21: { + $$511467 = $35;$$511658 = $4;$$541045 = $29;$$551152 = $31;$$551562 = $1;$$56 = $25;$$561259 = $33;$$561365 = $27; + label = 136; + break; + } + case 23: { + $572 = ($9|0)>(0); + if ($572) { + $$571473$ph = $35;$$571664$ph = $4;$$601051$ph = $29;$$611158$ph = $31;$$62$ph = $25;$$621265$ph = $33;$$621371$ph = $27;$$sink1736 = $1; + label = 153; + } else { + $$561472 = $35;$$561663 = $4;$$591050 = $29;$$601157 = $31;$$601567 = $1;$$61 = $25;$$611264 = $33;$$611370 = $27; + label = 151; + } + break; + } + case 24: { + $$591475 = $35;$$591666 = $4;$$621053 = $29;$$621159 = $31;$$631570 = $1;$$64 = $25;$$641267 = $33;$$641373 = $27; + label = 160; + break; + } + case 25: { + $696 = ($9|0)>(0); + if ($696) { + $$631479$ph = $35;$$641671$ph = $4;$$661057$ph = $29;$$671164$ph = $31;$$681271$ph = $33;$$71$ph = $25;$$711380$ph = $27;$$sink1739 = $1; + label = 182; + } else { + $$621478 = $35;$$631670 = $4;$$651056 = $29;$$661163 = $31;$$671270 = $33;$$691576 = $1;$$70 = $25;$$701379 = $27; + label = 180; + } + break; + } + case 26: { + $737 = ($9|0)>(0); + if ($737) { + $$681484$ph = $35;$$691676$ph = $4;$$711062$ph = $29;$$721169$ph = $31;$$731276$ph = $33;$$76$ph = $25;$$761385$ph = $27;$$sink1743 = $1; + label = 195; + } else { + $$671483 = $35;$$681675 = $4;$$701061 = $29;$$711168 = $31;$$721275 = $33;$$741581 = $1;$$75 = $25;$$751384 = $27; + label = 193; + } + break; + } + case 27: { + $784 = ($9|0)>(0); + if ($784) { + $$721488$ph = $35;$$731680$ph = $4;$$741065$ph = $29;$$761173$ph = $31;$$761279$ph = $33;$$80$ph = $25;$$801389$ph = $27;$$sink1746 = $1; + label = 206; + } else { + $$711487 = $35;$$721679 = $4;$$731064 = $29;$$751172 = $31;$$751278 = $33;$$781585 = $1;$$79 = $25;$$791388 = $27; + label = 204; + } + break; + } + case 37: { + $$731489 = $35;$$761683 = $4;$$771068 = $29;$$791176 = $31;$$791282 = $33;$$821589 = $1;$$83 = $25;$$831392 = $27; + label = 210; + break; + } + case 53: { + $$751491 = $35;$$781685 = $4;$$791070 = $29;$$811178 = $31;$$811284 = $33;$$841591 = $1;$$85 = $25;$$851394 = $27; + label = 213; + break; + } + case 32: { + $842 = ($9|0)>(0); + if ($842) { + $843 = ((($1)) + 1|0); + $844 = HEAP8[$1>>0]|0; + $845 = $844&255; + $$0949 = $845;$$881595 = $843; + } else { + $840 = $6 & 2; + $841 = ($840|0)==(0); + if ($841) { + $$0949 = 0;$$881595 = $1; + } else { + $$0960 = 1;$$891505 = $35;$$931084 = $29;$$931700 = $4;$$951192 = $31;$$951298 = $33;$$981605 = $1;$$99 = $25;$$991408 = $27;$$sink30 = 32; + label = 243; + break L5; + } + } + $846 = $$0949 << $25; + $847 = $846 | $27; + $848 = (($25) + 8)|0; + $$801496 = $35;$$841075 = $29;$$841691 = $4;$$861289 = $33;$$891596 = $$881595;$$90 = $848;$$901399 = $847; + label = 226; + break; + } + case 41: { + $858 = ($9|0)>(0); + if ($858) { + $$841500$ph = $35;$$881079$ph = $29;$$881695$ph = $4;$$901187$ph = $31;$$901293$ph = $33;$$94$ph = $25;$$941403$ph = $27;$$sink1750 = $1; + label = 233; + } else { + $$831499 = $35;$$871078 = $29;$$871694 = $4;$$891186 = $31;$$891292 = $33;$$921599 = $1;$$93 = $25;$$931402 = $27; + label = 231; + } + break; + } + case 42: { + $871 = ($9|0)>(0); + if ($871) { + $872 = ((($1)) + 1|0); + $873 = HEAP8[$1>>0]|0; + $874 = $873&255; + $$0948 = $874;$$871503 = $35;$$911082 = $29;$$911698 = $4;$$931190 = $31;$$931296 = $33;$$961603 = $872;$$97 = $25;$$971406 = $27; + label = 241; + } else { + $$861502 = $35;$$901081 = $29;$$901697 = $4;$$921189 = $31;$$921295 = $33;$$951602 = $1;$$96 = $25;$$961405 = $27; + label = 237; + } + break; + } + case 34: { + $$881504 = $35;$$921083 = $29;$$921699 = $4;$$941191 = $31;$$941297 = $33;$$971604 = $1;$$98 = $25;$$981407 = $27; + label = 242; + break; + } + default: { + $$100 = $25;$$1001409 = $27;$$1961 = -1;$$901506 = $35;$$941085 = $29;$$941701 = $4;$$961193 = $31;$$961299 = $33;$$991606 = $1; + label = 244; + } + } + } while(0); + if ((label|0) == 6) { + $44 = $6 & 2; + $45 = ($44|0)==(0); + if ($45) { + $$01507 = $1;$$11098 = $$01097;$$11204 = $$01203;$$11310 = $$01309;$$1988 = $$0987;$$1992 = $$0991;$$sink3$shrunk = 0; + label = 9; + } else { + $$0960 = 1;$$891505 = $35;$$931084 = $$0991;$$931700 = $4;$$951192 = $$01097;$$951298 = $$01203;$$981605 = $1;$$99 = $$0987;$$991408 = $$01309;$$sink30 = 1; + label = 243; + } + } + else if ((label|0) == 8) { + $47 = ((($1)) + 1|0); + $48 = HEAP8[$1>>0]|0; + $$01507 = $47;$$11098 = $$11098$ph;$$11204 = $$11204$ph;$$11310 = $$11310$ph;$$1988 = $$1988$ph;$$1992 = $$1992$ph;$$sink3$shrunk = $48; + label = 9; + } + if ((label|0) == 9) { + $$sink3 = $$sink3$shrunk&255; + $49 = ((($0)) + 8|0); + HEAP32[$49>>2] = $$sink3; + $50 = ($$01507>>>0)<($10>>>0); + if ($50) { + $$31206$ph = $$11204;$$31312$ph = $$11310;$$3990$ph = $$1988;$$3994$ph = $$1992;$$sink1705 = $$01507; + label = 12; + } else { + $$11508 = $$01507;$$21099 = $$11098;$$21205 = $$11204;$$21311 = $$11310;$$2989 = $$1988;$$2993 = $$1992; + label = 10; + } + } + if ((label|0) == 10) { + $51 = $6 & 2; + $52 = ($51|0)==(0); + if ($52) { + $$21509 = $$11508;$$31206 = $$21205;$$31312 = $$21311;$$3990 = $$2989;$$3994 = $$2993;$$sink9$shrunk = 0; + label = 13; + } else { + $$0960 = 1;$$891505 = $35;$$931084 = $$2993;$$931700 = $4;$$951192 = $$21099;$$951298 = $$21205;$$981605 = $$11508;$$99 = $$2989;$$991408 = $$21311;$$sink30 = 2; + label = 243; + } + } + else if ((label|0) == 12) { + $54 = ((($$sink1705)) + 1|0); + $55 = HEAP8[$$sink1705>>0]|0; + $$21509 = $54;$$31206 = $$31206$ph;$$31312 = $$31312$ph;$$3990 = $$3990$ph;$$3994 = $$3994$ph;$$sink9$shrunk = $55; + label = 13; + } + if ((label|0) == 13) { + $$sink9 = $$sink9$shrunk&255; + $56 = ((($0)) + 12|0); + HEAP32[$56>>2] = $$sink9; + $57 = ((($0)) + 8|0); + $58 = HEAP32[$57>>2]|0; + $59 = $58 << 8; + $60 = $59 | $$sink9; + $61 = (($60>>>0) % 31)&-1; + $62 = $$sink9 & 32; + $63 = $61 | $62; + $64 = $58 & 15; + $65 = ($64|0)!=(8); + $not$ = ($63|0)!=(0); + $$1754 = $65 | $not$; + $66 = $58 >>> 4; + $67 = 256 << $66; + $68 = ($67>>>0)>(32768); + $69 = ($20>>>0)<($67>>>0); + $$ = $68 | $69; + $not$1755 = $14 ^ 1; + $70 = $$ & $not$1755; + $$31100$v = $70 | $$1754; + if ($$31100$v) { + $$0960 = -1;$$891505 = $35;$$931084 = $$3994;$$931700 = $4;$$951192 = 1;$$951298 = $$31206;$$981605 = $$21509;$$99 = $$3990;$$991408 = $$31312;$$sink30 = 36; + label = 243; + } else { + $$01416 = $35;$$01607 = $4;$$41511 = $$21509;$$5 = $$3990;$$51102 = 0;$$51208 = $$31206;$$51314 = $$31312;$$5996 = $$3994; + label = 14; + } + } + L46: while(1) { + switch (label|0) { + case 14: { + label = 0; + $71 = ($$5>>>0)<(3); + if ($71) { + $$11417 = $$01416;$$11608 = $$01607;$$51512 = $$41511;$$6 = $$5;$$61103 = $$51102;$$61209 = $$51208;$$61315 = $$51314;$$6997 = $$5996; + label = 15; + } else { + $$41420 = $$01416;$$41611 = $$01607;$$81515 = $$41511;$$9 = $$5;$$91000 = $$5996;$$91106 = $$51102;$$91212 = $$51208;$$91318 = $$51314; + label = 20; + } + break; + } + case 16: { + label = 0; + $73 = $6 & 2; + $74 = ($73|0)==(0); + if ($74) { + $$01413$shrunk = 0;$$31419 = $$21418;$$31610 = $$21609;$$71514 = $$61513;$$8 = $$7;$$81105 = $$71104;$$81211 = $$71210;$$81317 = $$71316;$$8999 = $$7998; + label = 19; + } else { + $$0960 = 1;$$891505 = $$21418;$$931084 = $$7998;$$931700 = $$21609;$$951192 = $$71104;$$951298 = $$71210;$$981605 = $$61513;$$99 = $$7;$$991408 = $$71316;$$sink30 = 3; + label = 243; + continue L46; + } + break; + } + case 18: { + label = 0; + $76 = ((($$sink1710)) + 1|0); + $77 = HEAP8[$$sink1710>>0]|0; + $$01413$shrunk = $77;$$31419 = $$31419$ph;$$31610 = $$31610$ph;$$71514 = $76;$$8 = $$8$ph;$$81105 = $$81105$ph;$$81211 = $$81211$ph;$$81317 = $$81317$ph;$$8999 = $$8999$ph; + label = 19; + break; + } + case 25: { + label = 0; + $97 = $$13 & 7; + $98 = $$131322 >>> $97; + $99 = (($$13) - ($97))|0; + $$131110 = 0;$$131520 = $$121519;$$14 = $99;$$141005 = $$131004;$$141217 = $$131216;$$141323 = $98;$$91425 = $$81424;$$91616 = $$81615; + label = 26; + break; + } + case 30: { + label = 0; + $104 = $6 & 2; + $105 = ($104|0)==(0); + if ($105) { + $$01411$shrunk = 0;$$121428 = $$111427;$$121619 = $$111618;$$161113 = $$151112;$$161523 = $$151522;$$17 = $$16;$$171008 = $$161007;$$171220 = $$161219;$$171326 = $$161325; + label = 33; + } else { + $$0960 = 1;$$891505 = $$111427;$$931084 = $$161007;$$931700 = $$111618;$$951192 = $$151112;$$951298 = $$161219;$$981605 = $$151522;$$99 = $$16;$$991408 = $$161325;$$sink30 = 6; + label = 243; + continue L46; + } + break; + } + case 32: { + label = 0; + $107 = ((($$sink1713)) + 1|0); + $108 = HEAP8[$$sink1713>>0]|0; + $$01411$shrunk = $108;$$121428 = $$121428$ph;$$121619 = $$121619$ph;$$161113 = $$161113$ph;$$161523 = $107;$$17 = $$17$ph;$$171008 = $$171008$ph;$$171220 = $$171220$ph;$$171326 = $$171326$ph; + label = 33; + break; + } + case 36: { + label = 0; + $118 = $6 & 2; + $119 = ($118|0)==(0); + if ($119) { + $$151431 = $$141430;$$151622 = $$141621;$$191116 = $$181115;$$191526 = $$181525;$$20 = $$19;$$201011 = $$191010;$$201223 = $$191222;$$201329 = $$191328;$$sink12 = 0; + label = 39; + continue L46; + } else { + $$0960 = 1;$$891505 = $$141430;$$931084 = $$191010;$$931700 = $$141621;$$951192 = $$181115;$$951298 = $$191222;$$981605 = $$181525;$$99 = $$19;$$991408 = $$191328;$$sink30 = 7; + label = 243; + continue L46; + } + break; + } + case 39: { + label = 0; + $$sink13 = (((($0)) + 10528|0) + ($$191116)|0); + HEAP8[$$sink13>>0] = $$sink12; + $$161432 = $$151431;$$161623 = $$151622;$$201117 = $$191116;$$201527 = $$191526;$$21 = $$20;$$211012 = $$201011;$$211224 = $$201223;$$211330 = $$201329; + label = 41; + break; + } + case 43: { + label = 0; + $$0960 = -1;$$891505 = $$171433;$$931084 = $$221013;$$931700 = $$171624;$$951192 = $$211118;$$951298 = $$221225;$$981605 = $$211528;$$99 = $$22;$$991408 = $$221331;$$sink30 = 39; + label = 243; + continue L46; + break; + } + case 47: { + label = 0; + $150 = $6 & 2; + $151 = ($150|0)==(0); + if ($151) { + $$01410$shrunk = 0;$$211437 = $$201436;$$211628 = $$201627;$$251122 = $$241121;$$251532 = $$241531;$$26 = $$25;$$261017 = $$251016;$$261229 = $$251228;$$261335 = $$251334; + label = 50; + } else { + $$0960 = 1;$$891505 = $$201436;$$931084 = $$251016;$$931700 = $$201627;$$951192 = $$241121;$$951298 = $$251228;$$981605 = $$241531;$$99 = $$25;$$991408 = $$251334;$$sink30 = 51; + label = 243; + continue L46; + } + break; + } + case 49: { + label = 0; + $153 = ((($$sink1716)) + 1|0); + $154 = HEAP8[$$sink1716>>0]|0; + $$01410$shrunk = $154;$$211437 = $$211437$ph;$$211628 = $$211628$ph;$$251122 = $$251122$ph;$$251532 = $153;$$26 = $$26$ph;$$261017 = $$261017$ph;$$261229 = $$261229$ph;$$261335 = $$261335$ph; + label = 50; + break; + } + case 52: { + label = 0; + $162 = ($$231630>>>0)<($12>>>0); + if (!($162)) { + $$0960 = 2;$$891505 = $$231439;$$931084 = $$271018;$$931700 = $$231630;$$951192 = $$271124;$$951298 = $$281231;$$981605 = $$271534;$$99 = $$28;$$991408 = $$281337;$$sink30 = 52; + label = 243; + continue L46; + } + $163 = $$271018&255; + $164 = ((($$231630)) + 1|0); + HEAP8[$$231630>>0] = $163; + $165 = (($$271124) + -1)|0; + $$181434 = $$231439;$$181625 = $164;$$221119 = $165;$$221529 = $$271534;$$23 = $$28;$$231014 = $$271018;$$231226 = $$281231;$$231332 = $$281337; + label = 44; + break; + } + case 55: { + label = 0; + $167 = ($$251632>>>0)<($12>>>0); + if ($167) { + $$261442 = $$251441;$$261633 = $$251632;$$301021 = $$291020;$$301127 = $$291126;$$301537 = $$291536;$$31 = $$30;$$311234 = $$301233;$$311340 = $$301339; + label = 56; + continue L46; + } else { + $$0960 = 2;$$891505 = $$251441;$$931084 = $$291020;$$931700 = $$251632;$$951192 = $$291126;$$951298 = $$301233;$$981605 = $$291536;$$99 = $$30;$$991408 = $$301339;$$sink30 = 9; + label = 243; + continue L46; + } + break; + } + case 56: { + label = 0; + $168 = ($$301537>>>0)<($10>>>0); + if ($168) { + $171 = $12; + $172 = $$261633; + $173 = (($171) - ($172))|0; + $174 = $10; + $175 = $$301537; + $176 = (($174) - ($175))|0; + $177 = ($173>>>0)<($176>>>0); + $$sink17 = $177 ? $12 : $10; + $$sink16 = $177 ? $$261633 : $$301537; + $178 = $$sink17; + $179 = $$sink16; + $180 = (($178) - ($179))|0; + $181 = ($180>>>0)<($$301127>>>0); + $$$301127 = $181 ? $180 : $$301127; + _memcpy(($$261633|0),($$301537|0),($$$301127|0))|0; + $182 = (($$301537) + ($$$301127)|0); + $183 = (($$261633) + ($$$301127)|0); + $184 = (($$301127) - ($$$301127))|0; + $$241440 = $$261442;$$241631 = $183;$$281019 = $$301021;$$281125 = $184;$$281535 = $182;$$29 = $$31;$$291232 = $$311234;$$291338 = $$311340; + label = 54; + break; + } else { + $169 = $6 & 2; + $170 = ($169|0)==(0); + if ($170) { + $$271443 = $$261442;$$271634 = $$261633;$$311022 = $$301021;$$311128 = $$301127;$$311538 = $$301537;$$32 = $$31;$$321235 = $$311234;$$321341 = $$311340; + label = 58; + continue L46; + } else { + $$0960 = 1;$$891505 = $$261442;$$931084 = $$301021;$$931700 = $$261633;$$951192 = $$301127;$$951298 = $$311234;$$981605 = $$301537;$$99 = $$31;$$991408 = $$311340;$$sink30 = 38; + label = 243; + continue L46; + } + } + break; + } + case 58: { + label = 0; + $$0960 = -1;$$891505 = $$271443;$$931084 = $$311022;$$931700 = $$271634;$$951192 = $$311128;$$951298 = $$321235;$$981605 = $$311538;$$99 = $$32;$$991408 = $$321341;$$sink30 = 40; + label = 243; + continue L46; + break; + } + case 60: { + label = 0; + $$0960 = -1;$$891505 = $$281444;$$931084 = $$321023;$$931700 = $$281635;$$951192 = $$321129;$$951298 = $$331236;$$981605 = $$321539;$$99 = $$33;$$991408 = $$331342;$$sink30 = 10; + label = 243; + continue L46; + break; + } + case 64: { + label = 0; + $191 = $6 & 2; + $192 = ($191|0)==(0); + if ($192) { + $$01300$shrunk = 0;$$321448 = $$311447;$$321639 = $$311638;$$361027 = $$351026;$$361133 = $$351132;$$361543 = $$351542;$$37 = $$36;$$371240 = $$361239;$$371346 = $$361345; + label = 67; + } else { + $$0960 = 1;$$891505 = $$311447;$$931084 = $$351026;$$931700 = $$311638;$$951192 = $$351132;$$951298 = $$361239;$$981605 = $$351542;$$99 = $$36;$$991408 = $$361345;$$sink30 = 11; + label = 243; + continue L46; + } + break; + } + case 66: { + label = 0; + $194 = ((($$sink1719)) + 1|0); + $195 = HEAP8[$$sink1719>>0]|0; + $$01300$shrunk = $195;$$321448 = $$321448$ph;$$321639 = $$321639$ph;$$361027 = $$361027$ph;$$361133 = $$361133$ph;$$361543 = $194;$$37 = $$37$ph;$$371240 = $$371240$ph;$$371346 = $$371346$ph; + label = 67; + break; + } + case 73: { + label = 0; + $222 = $6 & 2; + $223 = ($222|0)==(0); + if ($223) { + $$01202$shrunk = 0;$$371453 = $$361452;$$371644 = $$361643;$$411032 = $$401031;$$411138 = $$401137;$$411548 = $$401547;$$42 = $$41;$$421245 = $$411244;$$421351 = $$411350; + label = 76; + } else { + $$0960 = 1;$$891505 = $$361452;$$931084 = $$401031;$$931700 = $$361643;$$951192 = $$401137;$$951298 = $$411244;$$981605 = $$401547;$$99 = $$41;$$991408 = $$411350;$$sink30 = 14; + label = 243; + continue L46; + } + break; + } + case 75: { + label = 0; + $225 = ((($$sink1722)) + 1|0); + $226 = HEAP8[$$sink1722>>0]|0; + $$01202$shrunk = $226;$$371453 = $$371453$ph;$$371644 = $$371644$ph;$$411032 = $$411032$ph;$$411138 = $$411138$ph;$$411548 = $225;$$42 = $$42$ph;$$421245 = $$421245$ph;$$421351 = $$421351$ph; + label = 76; + break; + } + case 86: { + label = 0; + $$0960 = -1;$$891505 = $$401456;$$931084 = $$441035;$$931700 = $$401647;$$951192 = $$441141;$$951298 = $$451248;$$981605 = $$441551;$$99 = $$45;$$991408 = $$451354;$$sink30 = 35; + label = 243; + continue L46; + break; + } + case 114: { + label = 0; + $450 = $6 & 2; + $451 = ($450|0)==(0); + if ($451) { + $$0980$shrunk = 0;$$441460 = $$431459;$$441651 = $$431650;$$481039 = $$471038;$$481145 = $$471144;$$481555 = $$471554;$$49 = $$48;$$491252 = $$481251;$$491358 = $$481357; + label = 117; + } else { + $$0960 = 1;$$891505 = $$431459;$$931084 = $$471038;$$931700 = $$431650;$$951192 = $$471144;$$951298 = $$481251;$$981605 = $$471554;$$99 = $$48;$$991408 = $$481357;$$sink30 = 16; + label = 243; + continue L46; + } + break; + } + case 116: { + label = 0; + $453 = ((($$sink1729)) + 1|0); + $454 = HEAP8[$$sink1729>>0]|0; + $$0980$shrunk = $454;$$441460 = $$441460$ph;$$441651 = $$441651$ph;$$481039 = $$481039$ph;$$481145 = $$481145$ph;$$481555 = $453;$$49 = $$49$ph;$$491252 = $$491252$ph;$$491358 = $$491358$ph; + label = 117; + break; + } + case 125: { + label = 0; + $$0960 = -1;$$891505 = $$461462;$$931084 = $$491040;$$931700 = $$461653;$$951192 = $$501147;$$951298 = $$511254;$$981605 = $$501557;$$99 = $$51;$$991408 = $$511360;$$sink30 = 17; + label = 243; + continue L46; + break; + } + case 128: { + label = 0; + $501 = $6 & 2; + $502 = ($501|0)==(0); + if ($502) { + $$0979$shrunk = 0;$$491465 = $$481464;$$491656 = $$481655;$$521043 = $$511042;$$531150 = $$521149;$$531560 = $$521559;$$54 = $$53;$$541257 = $$531256;$$541363 = $$531362; + label = 131; + } else { + $$0960 = 1;$$891505 = $$481464;$$931084 = $$511042;$$931700 = $$481655;$$951192 = $$521149;$$951298 = $$531256;$$981605 = $$521559;$$99 = $$53;$$991408 = $$531362;$$sink30 = 18; + label = 243; + continue L46; + } + break; + } + case 130: { + label = 0; + $504 = ((($$sink1732)) + 1|0); + $505 = HEAP8[$$sink1732>>0]|0; + $$0979$shrunk = $505;$$491465 = $$491465$ph;$$491656 = $$491656$ph;$$521043 = $$521043$ph;$$531150 = $$531150$ph;$$531560 = $504;$$54 = $$54$ph;$$541257 = $$541257$ph;$$541363 = $$541363$ph; + label = 131; + break; + } + case 136: { + label = 0; + $$0960 = -1;$$891505 = $$511467;$$931084 = $$541045;$$931700 = $$511658;$$951192 = $$551152;$$951298 = $$561259;$$981605 = $$551562;$$99 = $$56;$$991408 = $$561365;$$sink30 = 21; + label = 243; + continue L46; + break; + } + case 151: { + label = 0; + $570 = $6 & 2; + $571 = ($570|0)==(0); + if ($571) { + $$0971$shrunk = 0;$$571473 = $$561472;$$571664 = $$561663;$$601051 = $$591050;$$611158 = $$601157;$$611568 = $$601567;$$62 = $$61;$$621265 = $$611264;$$621371 = $$611370; + label = 154; + } else { + $$0960 = 1;$$891505 = $$561472;$$931084 = $$591050;$$931700 = $$561663;$$951192 = $$601157;$$951298 = $$611264;$$981605 = $$601567;$$99 = $$61;$$991408 = $$611370;$$sink30 = 23; + label = 243; + continue L46; + } + break; + } + case 153: { + label = 0; + $573 = ((($$sink1736)) + 1|0); + $574 = HEAP8[$$sink1736>>0]|0; + $$0971$shrunk = $574;$$571473 = $$571473$ph;$$571664 = $$571664$ph;$$601051 = $$601051$ph;$$611158 = $$611158$ph;$$611568 = $573;$$62 = $$62$ph;$$621265 = $$621265$ph;$$621371 = $$621371$ph; + label = 154; + break; + } + case 160: { + label = 0; + $610 = ($$591666>>>0)<($12>>>0); + if (!($610)) { + $$0960 = 2;$$891505 = $$591475;$$931084 = $$621053;$$931700 = $$591666;$$951192 = $$621159;$$951298 = $$641267;$$981605 = $$631570;$$99 = $$64;$$991408 = $$641373;$$sink30 = 24; + label = 243; + continue L46; + } + $611 = $$621159&255; + $612 = ((($$591666)) + 1|0); + HEAP8[$$591666>>0] = $611; + $$541470$ph = $$591475;$$541661$ph = $612;$$571048$ph = $$621053;$$581155$ph = $$621159;$$581565$ph = $$631570;$$59$ph = $$64;$$591262$ph = $$641267;$$591368$ph = $$641373; + label = 140; + break; + } + case 180: { + label = 0; + $694 = $6 & 2; + $695 = ($694|0)==(0); + if ($695) { + $$0959$shrunk = 0;$$631479 = $$621478;$$641671 = $$631670;$$661057 = $$651056;$$671164 = $$661163;$$681271 = $$671270;$$701577 = $$691576;$$71 = $$70;$$711380 = $$701379; + label = 183; + } else { + $$0960 = 1;$$891505 = $$621478;$$931084 = $$651056;$$931700 = $$631670;$$951192 = $$661163;$$951298 = $$671270;$$981605 = $$691576;$$99 = $$70;$$991408 = $$701379;$$sink30 = 25; + label = 243; + continue L46; + } + break; + } + case 182: { + label = 0; + $697 = ((($$sink1739)) + 1|0); + $698 = HEAP8[$$sink1739>>0]|0; + $$0959$shrunk = $698;$$631479 = $$631479$ph;$$641671 = $$641671$ph;$$661057 = $$661057$ph;$$671164 = $$671164$ph;$$681271 = $$681271$ph;$$701577 = $697;$$71 = $$71$ph;$$711380 = $$711380$ph; + label = 183; + break; + } + case 193: { + label = 0; + $735 = $6 & 2; + $736 = ($735|0)==(0); + if ($736) { + $$0952$shrunk = 0;$$681484 = $$671483;$$691676 = $$681675;$$711062 = $$701061;$$721169 = $$711168;$$731276 = $$721275;$$751582 = $$741581;$$76 = $$75;$$761385 = $$751384; + label = 196; + } else { + $$0960 = 1;$$891505 = $$671483;$$931084 = $$701061;$$931700 = $$681675;$$951192 = $$711168;$$951298 = $$721275;$$981605 = $$741581;$$99 = $$75;$$991408 = $$751384;$$sink30 = 26; + label = 243; + continue L46; + } + break; + } + case 195: { + label = 0; + $738 = ((($$sink1743)) + 1|0); + $739 = HEAP8[$$sink1743>>0]|0; + $$0952$shrunk = $739;$$681484 = $$681484$ph;$$691676 = $$691676$ph;$$711062 = $$711062$ph;$$721169 = $$721169$ph;$$731276 = $$731276$ph;$$751582 = $738;$$76 = $$76$ph;$$761385 = $$761385$ph; + label = 196; + break; + } + case 204: { + label = 0; + $782 = $6 & 2; + $783 = ($782|0)==(0); + if ($783) { + $$0950$shrunk = 0;$$721488 = $$711487;$$731680 = $$721679;$$741065 = $$731064;$$761173 = $$751172;$$761279 = $$751278;$$791586 = $$781585;$$80 = $$79;$$801389 = $$791388; + label = 207; + } else { + $$0960 = 1;$$891505 = $$711487;$$931084 = $$731064;$$931700 = $$721679;$$951192 = $$751172;$$951298 = $$751278;$$981605 = $$781585;$$99 = $$79;$$991408 = $$791388;$$sink30 = 27; + label = 243; + continue L46; + } + break; + } + case 206: { + label = 0; + $785 = ((($$sink1746)) + 1|0); + $786 = HEAP8[$$sink1746>>0]|0; + $$0950$shrunk = $786;$$721488 = $$721488$ph;$$731680 = $$731680$ph;$$741065 = $$741065$ph;$$761173 = $$761173$ph;$$761279 = $$761279$ph;$$791586 = $785;$$80 = $$80$ph;$$801389 = $$801389$ph; + label = 207; + break; + } + case 210: { + label = 0; + $$0960 = -1;$$891505 = $$731489;$$931084 = $$771068;$$931700 = $$761683;$$951192 = $$791176;$$951298 = $$791282;$$981605 = $$821589;$$99 = $$83;$$991408 = $$831392;$$sink30 = 37; + label = 243; + continue L46; + break; + } + case 213: { + label = 0; + $809 = ($$781685>>>0)<($12>>>0); + if (!($809)) { + $$0960 = 2;$$891505 = $$751491;$$931084 = $$791070;$$931700 = $$781685;$$951192 = $$811178;$$951298 = $$811284;$$981605 = $$841591;$$99 = $$85;$$991408 = $$851394;$$sink30 = 53; + label = 243; + continue L46; + } + $810 = (($$751491) + 1)|0; + $811 = (($$751491) - ($$791070))|0; + $812 = $811 & $$1753; + $813 = (($3) + ($812)|0); + $814 = HEAP8[$813>>0]|0; + $815 = ((($$781685)) + 1|0); + HEAP8[$$781685>>0] = $814; + $$741490 = $810;$$771684 = $815;$$781069 = $$791070;$$801177 = $$811178;$$801283 = $$811284;$$831590 = $$841591;$$84 = $$85;$$841393 = $$851394; + label = 212; + break; + } + case 226: { + label = 0; + $849 = $$90 & 7; + $850 = $$901399 >>> $849; + $851 = (($$90) - ($849))|0; + $$811497 = $$801496;$$851076 = $$841075;$$851692 = $$841691;$$871184 = 0;$$871290 = $$861289;$$901597 = $$891596;$$91 = $851;$$911400 = $850; + label = 227; + break; + } + case 231: { + label = 0; + $856 = $6 & 2; + $857 = ($856|0)==(0); + if ($857) { + $$0947$shrunk = 0;$$841500 = $$831499;$$881079 = $$871078;$$881695 = $$871694;$$901187 = $$891186;$$901293 = $$891292;$$931600 = $$921599;$$94 = $$93;$$941403 = $$931402; + label = 234; + } else { + $$0960 = 1;$$891505 = $$831499;$$931084 = $$871078;$$931700 = $$871694;$$951192 = $$891186;$$951298 = $$891292;$$981605 = $$921599;$$99 = $$93;$$991408 = $$931402;$$sink30 = 41; + label = 243; + continue L46; + } + break; + } + case 233: { + label = 0; + $859 = ((($$sink1750)) + 1|0); + $860 = HEAP8[$$sink1750>>0]|0; + $$0947$shrunk = $860;$$841500 = $$841500$ph;$$881079 = $$881079$ph;$$881695 = $$881695$ph;$$901187 = $$901187$ph;$$901293 = $$901293$ph;$$931600 = $859;$$94 = $$94$ph;$$941403 = $$941403$ph; + label = 234; + break; + } + case 237: { + label = 0; + $869 = $6 & 2; + $870 = ($869|0)==(0); + if ($870) { + $$0948 = 0;$$871503 = $$861502;$$911082 = $$901081;$$911698 = $$901697;$$931190 = $$921189;$$931296 = $$921295;$$961603 = $$951602;$$97 = $$96;$$971406 = $$961405; + label = 241; + continue L46; + } else { + $$0960 = 1;$$891505 = $$861502;$$931084 = $$901081;$$931700 = $$901697;$$951192 = $$921189;$$951298 = $$921295;$$981605 = $$951602;$$99 = $$96;$$991408 = $$961405;$$sink30 = 42; + label = 243; + continue L46; + } + break; + } + case 241: { + label = 0; + $878 = ((($0)) + 16|0); + $879 = HEAP32[$878>>2]|0; + $880 = $879 << 8; + $881 = $880 | $$0948; + HEAP32[$878>>2] = $881; + $882 = (($$931190) + 1)|0; + $$811497 = $$871503;$$851076 = $$911082;$$851692 = $$911698;$$871184 = $882;$$871290 = $$931296;$$901597 = $$961603;$$91 = $$97;$$911400 = $$971406; + label = 227; + break; + } + case 242: { + label = 0; + $$0960 = 0;$$891505 = $$881504;$$931084 = $$921083;$$931700 = $$921699;$$951192 = $$941191;$$951298 = $$941297;$$981605 = $$971604;$$99 = $$98;$$991408 = $$981407;$$sink30 = 34; + label = 243; + continue L46; + break; + } + case 243: { + label = 0; + HEAP32[$0>>2] = $$sink30; + $$100 = $$99;$$1001409 = $$991408;$$1961 = $$0960;$$901506 = $$891505;$$941085 = $$931084;$$941701 = $$931700;$$961193 = $$951192;$$961299 = $$951298;$$991606 = $$981605; + label = 244; + continue L46; + break; + } + case 244: { + label = 0; + HEAP32[$24>>2] = $$100; + HEAP32[$26>>2] = $$1001409; + HEAP32[$28>>2] = $$941085; + HEAP32[$30>>2] = $$961193; + HEAP32[$32>>2] = $$961299; + HEAP32[$34>>2] = $$901506; + $883 = $$991606; + $884 = $1; + $885 = (($883) - ($884))|0; + HEAP32[$2>>2] = $885; + $886 = $$941701; + $887 = $4; + $888 = (($886) - ($887))|0; + HEAP32[$5>>2] = $888; + $889 = $6 & 9; + $890 = ($889|0)!=(0); + $891 = ($$1961|0)>(-1); + $or$cond29 = $890 & $891; + if ($or$cond29) { + break L46; + } else { + $$0951 = $$1961; + label = 258; + break L46; + } + break; + } + } + switch (label|0) { + case 19: { + label = 0; + $$01413 = $$01413$shrunk&255; + $78 = $$01413 << $$8; + $79 = $78 | $$81317; + $80 = (($$8) + 8)|0; + $81 = ($80>>>0)<(3); + if ($81) { + $$11417 = $$31419;$$11608 = $$31610;$$51512 = $$71514;$$6 = $80;$$61103 = $$81105;$$61209 = $$81211;$$61315 = $79;$$6997 = $$8999; + label = 15; + } else { + $$41420 = $$31419;$$41611 = $$31610;$$81515 = $$71514;$$9 = $80;$$91000 = $$8999;$$91106 = $$81105;$$91212 = $$81211;$$91318 = $79; + label = 20; + } + break; + } + case 33: { + label = 0; + $$01411 = $$01411$shrunk&255; + $109 = $$01411 << $$17; + $110 = $109 | $$171326; + $111 = (($$17) + 8)|0; + $112 = ($$17>>>0)>(4294967287); + if ($112) { + $$101426 = $$121428;$$101617 = $$121619;$$141111 = $$161113;$$141521 = $$161523;$$15 = $111;$$151006 = $$171008;$$151218 = $$171220;$$151324 = $110; + label = 29; + } else { + $$131429 = $$121428;$$131620 = $$121619;$$171114 = $$161113;$$171524 = $$161523;$$18 = $111;$$181009 = $$171008;$$181221 = $$171220;$$181327 = $110; + label = 34; + } + break; + } + case 50: { + label = 0; + $$01410 = $$01410$shrunk&255; + $155 = $$01410 << $$26; + $156 = $155 | $$261335; + $157 = (($$26) + 8)|0; + $158 = ($$26>>>0)>(4294967287); + if ($158) { + $$191435 = $$211437;$$191626 = $$211628;$$231120 = $$251122;$$231530 = $$251532;$$24 = $157;$$241015 = $$261017;$$241227 = $$261229;$$241333 = $156; + label = 46; + } else { + $$221438 = $$211437;$$221629 = $$211628;$$261123 = $$251122;$$261533 = $$251532;$$27 = $157;$$271230 = $$261229;$$271336 = $156; + label = 51; + } + break; + } + case 67: { + label = 0; + $$01300 = $$01300$shrunk&255; + $196 = $$01300 << $$37; + $197 = $196 | $$371346; + $198 = (($$37) + 8)|0; + $199 = (13852 + ($$361133)|0); + $200 = HEAP8[$199>>0]|0; + $201 = $200 << 24 >> 24; + $202 = ($198>>>0)<($201>>>0); + if ($202) { + $$301446 = $$321448;$$301637 = $$321639;$$341025 = $$361027;$$341131 = $$361133;$$341541 = $$361543;$$35 = $198;$$351238 = $$371240;$$351344 = $197; + label = 63; + } else { + $$331449 = $$321448;$$331640 = $$321639;$$371028 = $$361027;$$371134 = $$361133;$$371544 = $$361543;$$38 = $198;$$381241 = $$371240;$$381347 = $197; + label = 68; + } + break; + } + case 76: { + label = 0; + $$01202 = $$01202$shrunk&255; + $227 = $$01202 << $$42; + $228 = $227 | $$421351; + $229 = (($$42) + 8)|0; + $230 = ($229>>>0)<(3); + if ($230) { + $$351451 = $$371453;$$351642 = $$371644;$$391030 = $$411032;$$391136 = $$411138;$$391546 = $$411548;$$40 = $229;$$401243 = $$421245;$$401349 = $228; + label = 72; + } else { + $$381454 = $$371453;$$381645 = $$371644;$$421033 = $$411032;$$421139 = $$411138;$$421549 = $$411548;$$43 = $229;$$431246 = $$421245;$$431352 = $228; + label = 77; + } + break; + } + case 117: { + label = 0; + $$0980 = $$0980$shrunk&255; + $455 = $$0980 << $$49; + $456 = $455 | $$491358; + $457 = (($$49) + 8)|0; + $458 = ($457>>>0)<(15); + if ($458) { + $$421458 = $$441460;$$421649 = $$441651;$$461037 = $$481039;$$461143 = $$481145;$$461553 = $$481555;$$47 = $457;$$471250 = $$491252;$$471356 = $456; + label = 108; + } else { + $$451461 = $$441460;$$451652 = $$441651;$$491146 = $$481145;$$491556 = $$481555;$$50 = $457;$$501253 = $$491252;$$501359 = $456; + label = 119; + } + break; + } + case 131: { + label = 0; + $$0979 = $$0979$shrunk&255; + $506 = $$0979 << $$54; + $507 = $506 | $$541363; + $508 = (($$54) + 8)|0; + $509 = ($508>>>0)<($$541257>>>0); + if ($509) { + $$471463 = $$491465;$$471654 = $$491656;$$501041 = $$521043;$$511148 = $$531150;$$511558 = $$531560;$$52 = $508;$$521255 = $$541257;$$521361 = $507; + label = 127; + } else { + $$501466 = $$491465;$$501657 = $$491656;$$531044 = $$521043;$$541151 = $$531150;$$541561 = $$531560;$$55 = $508;$$551258 = $$541257;$$551364 = $507; + label = 132; + } + break; + } + case 154: { + label = 0; + $$0971 = $$0971$shrunk&255; + $575 = $$0971 << $$62; + $576 = $575 | $$621371; + $577 = (($$62) + 8)|0; + $578 = ($577>>>0)<(15); + if ($578) { + $$551471 = $$571473;$$551662 = $$571664;$$581049 = $$601051;$$591156 = $$611158;$$591566 = $$611568;$$60 = $577;$$601263 = $$621265;$$601369 = $576; + label = 145; + } else { + $$581474 = $$571473;$$581665 = $$571664;$$611052 = $$601051;$$621569 = $$611568;$$63 = $577;$$631266 = $$621265;$$631372 = $576; + label = 156; + } + break; + } + case 183: { + label = 0; + $$0959 = $$0959$shrunk&255; + $699 = $$0959 << $$71; + $700 = $699 | $$711380; + $701 = (($$71) + 8)|0; + $702 = ($701>>>0)<($$681271>>>0); + if ($702) { + $$611477 = $$631479;$$621669 = $$641671;$$641055 = $$661057;$$651162 = $$671164;$$661269 = $$681271;$$681575 = $$701577;$$69 = $701;$$691378 = $700; + label = 179; + } else { + $$641480 = $$631479;$$651672 = $$641671;$$671058 = $$661057;$$681165 = $$671164;$$691272 = $$681271;$$711578 = $$701577;$$72 = $701;$$721381 = $700; + label = 184; + } + break; + } + case 196: { + label = 0; + $$0952 = $$0952$shrunk&255; + $740 = $$0952 << $$76; + $741 = $740 | $$761385; + $742 = (($$76) + 8)|0; + $743 = ($742>>>0)<(15); + if ($743) { + $$661482 = $$681484;$$671674 = $$691676;$$691060 = $$711062;$$701167 = $$721169;$$711274 = $$731276;$$731580 = $$751582;$$74 = $742;$$741383 = $741; + label = 187; + } else { + $$691485 = $$681484;$$701677 = $$691676;$$731170 = $$721169;$$761583 = $$751582;$$77 = $742;$$771386 = $741; + label = 198; + } + break; + } + case 207: { + label = 0; + $$0950 = $$0950$shrunk&255; + $787 = $$0950 << $$80; + $788 = $787 | $$801389; + $789 = (($$80) + 8)|0; + $790 = ($789>>>0)<($$761279>>>0); + if ($790) { + $$701486 = $$721488;$$711678 = $$731680;$$721063 = $$741065;$$741171 = $$761173;$$741277 = $$761279;$$771584 = $$791586;$$78 = $789;$$781387 = $788; + label = 203; + } else { + $$741681 = $$731680;$$751066 = $$741065;$$771174 = $$761173;$$771280 = $$761279;$$801587 = $$791586;$$81 = $789;$$811390 = $788; + label = 208; + } + break; + } + case 227: { + label = 0; + $852 = ($$871184>>>0)<(4); + if (!($852)) { + $$881504 = $$811497;$$921083 = $$851076;$$921699 = $$851692;$$941191 = $$871184;$$941297 = $$871290;$$971604 = $$901597;$$98 = $$91;$$981407 = $$911400; + label = 242; + continue L46; + } + $853 = ($$91|0)==(0); + if (!($853)) { + $854 = ($$91>>>0)<(8); + if ($854) { + $$821498 = $$811497;$$861077 = $$851076;$$861693 = $$851692;$$881185 = $$871184;$$881291 = $$871290;$$911598 = $$901597;$$92 = $$91;$$921401 = $$911400; + label = 230; + break; + } else { + $$851501 = $$811497;$$891080 = $$851076;$$891696 = $$851692;$$911188 = $$871184;$$911294 = $$871290;$$941601 = $$901597;$$95 = $$91;$$951404 = $$911400; + label = 235; + break; + } + } + $868 = ($$901597>>>0)<($10>>>0); + if (!($868)) { + $$861502 = $$811497;$$901081 = $$851076;$$901697 = $$851692;$$921189 = $$871184;$$921295 = $$871290;$$951602 = $$901597;$$96 = 0;$$961405 = $$911400; + label = 237; + continue L46; + } + $875 = ((($$901597)) + 1|0); + $876 = HEAP8[$$901597>>0]|0; + $877 = $876&255; + $$0948 = $877;$$871503 = $$811497;$$911082 = $$851076;$$911698 = $$851692;$$931190 = $$871184;$$931296 = $$871290;$$961603 = $875;$$97 = 0;$$971406 = $$911400; + label = 241; + continue L46; + break; + } + case 234: { + label = 0; + $$0947 = $$0947$shrunk&255; + $861 = $$0947 << $$94; + $862 = $861 | $$941403; + $863 = (($$94) + 8)|0; + $864 = ($$94>>>0)>(4294967287); + if ($864) { + $$821498 = $$841500;$$861077 = $$881079;$$861693 = $$881695;$$881185 = $$901187;$$881291 = $$901293;$$911598 = $$931600;$$92 = $863;$$921401 = $862; + label = 230; + } else { + $$851501 = $$841500;$$891080 = $$881079;$$891696 = $$881695;$$911188 = $$901187;$$911294 = $$901293;$$941601 = $$931600;$$95 = $863;$$951404 = $862; + label = 235; + } + break; + } + } + L119: do { + if ((label|0) == 15) { + label = 0; + $72 = ($$51512>>>0)<($10>>>0); + if ($72) { + $$31419$ph = $$11417;$$31610$ph = $$11608;$$8$ph = $$6;$$81105$ph = $$61103;$$81211$ph = $$61209;$$81317$ph = $$61315;$$8999$ph = $$6997;$$sink1710 = $$51512; + label = 18; + continue L46; + } else { + $$21418 = $$11417;$$21609 = $$11608;$$61513 = $$51512;$$7 = $$6;$$71104 = $$61103;$$71210 = $$61209;$$71316 = $$61315;$$7998 = $$6997; + label = 16; + continue L46; + } + } + else if ((label|0) == 20) { + label = 0; + $82 = $$91318 & 7; + $83 = ((($0)) + 20|0); + HEAP32[$83>>2] = $82; + $84 = $$91318 >>> 3; + $85 = (($$9) + -3)|0; + $86 = $82 >>> 1; + $87 = ((($0)) + 24|0); + HEAP32[$87>>2] = $86; + $trunc = $86&255; + $trunc$clear = $trunc & 3; + switch ($trunc$clear<<24>>24) { + case 0: { + $$121519 = $$81515;$$13 = $85;$$131004 = $$91000;$$131216 = $$91212;$$131322 = $84;$$81424 = $$41420;$$81615 = $$41611; + label = 25; + continue L46; + break; + } + case 3: { + $$281444 = $$41420;$$281635 = $$41611;$$321023 = $$91000;$$321129 = $$91106;$$321539 = $$81515;$$33 = $85;$$331236 = $$91212;$$331342 = $84; + label = 60; + continue L46; + break; + } + case 1: { + break; + } + default: { + $$291445 = $$41420;$$291636 = $$41611;$$331024 = $$91000;$$331130 = 0;$$331540 = $$81515;$$34 = $85;$$341237 = $$91212;$$341343 = $84; + label = 61; + break L119; + } + } + $240 = ((($0)) + 44|0); + HEAP32[$240>>2] = 288; + $241 = ((($0)) + 48|0); + HEAP32[$241>>2] = 32; + $242 = ((($0)) + 3552|0); + ;HEAP32[$242>>2]=84215045|0;HEAP32[$242+4>>2]=84215045|0;HEAP32[$242+8>>2]=84215045|0;HEAP32[$242+12>>2]=84215045|0;HEAP32[$242+16>>2]=84215045|0;HEAP32[$242+20>>2]=84215045|0;HEAP32[$242+24>>2]=84215045|0;HEAP32[$242+28>>2]=84215045|0; + $scevgep19611962 = ((($0)) + 64|0); + _memset(($scevgep19611962|0),8,144)|0; + $scevgep1959 = ((($0)) + 208|0); + dest=$scevgep1959; stop=dest+112|0; do { HEAP8[dest>>0]=9|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); + $scevgep1957 = ((($0)) + 320|0); + dest=$scevgep1957; stop=dest+24|0; do { HEAP8[dest>>0]=7|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); + $scevgep1955 = ((($0)) + 344|0); + $243 = $scevgep1955; + $244 = $243; + HEAP8[$244>>0]=134744072&255;HEAP8[$244+1>>0]=(134744072>>8)&255;HEAP8[$244+2>>0]=(134744072>>16)&255;HEAP8[$244+3>>0]=134744072>>24; + $245 = (($243) + 4)|0; + $246 = $245; + HEAP8[$246>>0]=134744072&255;HEAP8[$246+1>>0]=(134744072>>8)&255;HEAP8[$246+2>>0]=(134744072>>16)&255;HEAP8[$246+3>>0]=134744072>>24; + $$391455 = $$41420;$$391646 = $$41611;$$431034 = $$91000;$$431140 = $$91106;$$431550 = $$81515;$$44 = $85;$$441247 = $$91212;$$441353 = $84; + label = 80; + } + else if ((label|0) == 230) { + label = 0; + $855 = ($$911598>>>0)<($10>>>0); + if ($855) { + $$841500$ph = $$821498;$$881079$ph = $$861077;$$881695$ph = $$861693;$$901187$ph = $$881185;$$901293$ph = $$881291;$$94$ph = $$92;$$941403$ph = $$921401;$$sink1750 = $$911598; + label = 233; + continue L46; + } else { + $$831499 = $$821498;$$871078 = $$861077;$$871694 = $$861693;$$891186 = $$881185;$$891292 = $$881291;$$921599 = $$911598;$$93 = $$92;$$931402 = $$921401; + label = 231; + continue L46; + } + } + else if ((label|0) == 235) { + label = 0; + $865 = $$951404 & 255; + $866 = $$951404 >>> 8; + $867 = (($$95) + -8)|0; + $$0948 = $865;$$871503 = $$851501;$$911082 = $$891080;$$911698 = $$891696;$$931190 = $$911188;$$931296 = $$911294;$$961603 = $$941601;$$97 = $867;$$971406 = $866; + label = 241; + continue L46; + } + } while(0); + L125: while(1) { + L126: switch (label|0) { + case 26: { + label = 0; + $100 = ($$131110>>>0)<(4); + if (!($100)) { + $127 = ((($0)) + 10528|0); + $128 = HEAP8[$127>>0]|0; + $129 = $128&255; + $130 = ((($0)) + 10529|0); + $131 = HEAP8[$130>>0]|0; + $132 = $131&255; + $133 = $132 << 8; + $134 = $133 | $129; + $135 = ((($0)) + 10530|0); + $136 = HEAP8[$135>>0]|0; + $137 = $136&255; + $138 = ((($0)) + 10531|0); + $139 = HEAP8[$138>>0]|0; + $140 = $139&255; + $141 = $140 << 8; + $142 = $141 | $137; + $143 = $142 ^ 65535; + $144 = ($134|0)==($143|0); + if ($144) { + $$181434 = $$91425;$$181625 = $$91616;$$221119 = $134;$$221529 = $$131520;$$23 = $$14;$$231014 = $$141005;$$231226 = $$141217;$$231332 = $$141323; + label = 44; + continue L125; + } else { + $$171433 = $$91425;$$171624 = $$91616;$$211118 = $134;$$211528 = $$131520;$$22 = $$14;$$221013 = $$141005;$$221225 = $$141217;$$221331 = $$141323; + label = 43; + continue L46; + } + } + $101 = ($$14|0)==(0); + if (!($101)) { + $102 = ($$14>>>0)<(8); + if ($102) { + $$101426 = $$91425;$$101617 = $$91616;$$141111 = $$131110;$$141521 = $$131520;$$15 = $$14;$$151006 = $$141005;$$151218 = $$141217;$$151324 = $$141323; + label = 29; + continue L125; + } else { + $$131429 = $$91425;$$131620 = $$91616;$$171114 = $$131110;$$171524 = $$131520;$$18 = $$14;$$181009 = $$141005;$$181221 = $$141217;$$181327 = $$141323; + label = 34; + continue L125; + } + } + $117 = ($$131520>>>0)<($10>>>0); + if (!($117)) { + $$141430 = $$91425;$$141621 = $$91616;$$181115 = $$131110;$$181525 = $$131520;$$19 = 0;$$191010 = $$141005;$$191222 = $$141217;$$191328 = $$141323; + label = 36; + continue L46; + } + $123 = ((($$131520)) + 1|0); + $124 = HEAP8[$$131520>>0]|0; + $125 = (((($0)) + 10528|0) + ($$131110)|0); + HEAP8[$125>>0] = $124; + $$161432 = $$91425;$$161623 = $$91616;$$201117 = $$131110;$$201527 = $123;$$21 = 0;$$211012 = $$141005;$$211224 = $$141217;$$211330 = $$141323; + label = 41; + continue L125; + break; + } + case 29: { + label = 0; + $103 = ($$141521>>>0)<($10>>>0); + if ($103) { + $$121428$ph = $$101426;$$121619$ph = $$101617;$$161113$ph = $$141111;$$17$ph = $$15;$$171008$ph = $$151006;$$171220$ph = $$151218;$$171326$ph = $$151324;$$sink1713 = $$141521; + label = 32; + continue L46; + } else { + $$111427 = $$101426;$$111618 = $$101617;$$151112 = $$141111;$$151522 = $$141521;$$16 = $$15;$$161007 = $$151006;$$161219 = $$151218;$$161325 = $$151324; + label = 30; + continue L46; + } + break; + } + case 34: { + label = 0; + $113 = $$181327&255; + $114 = (((($0)) + 10528|0) + ($$171114)|0); + HEAP8[$114>>0] = $113; + $115 = $$181327 >>> 8; + $116 = (($$18) + -8)|0; + $$161432 = $$131429;$$161623 = $$131620;$$201117 = $$171114;$$201527 = $$171524;$$21 = $116;$$211012 = $$181009;$$211224 = $$181221;$$211330 = $115; + label = 41; + continue L125; + break; + } + case 41: { + label = 0; + $126 = (($$201117) + 1)|0; + $$131110 = $126;$$131520 = $$201527;$$14 = $$21;$$141005 = $$211012;$$141217 = $$211224;$$141323 = $$211330;$$91425 = $$161432;$$91616 = $$161623; + label = 26; + continue L125; + break; + } + case 44: { + label = 0; + $145 = ($$221119|0)!=(0); + $146 = ($$23|0)!=(0); + $147 = $145 & $146; + if (!($147)) { + $$241440 = $$181434;$$241631 = $$181625;$$281019 = $$231014;$$281125 = $$221119;$$281535 = $$221529;$$29 = $$23;$$291232 = $$231226;$$291338 = $$231332; + label = 54; + continue L125; + } + $148 = ($$23>>>0)<(8); + if ($148) { + $$191435 = $$181434;$$191626 = $$181625;$$231120 = $$221119;$$231530 = $$221529;$$24 = $$23;$$241015 = $$231014;$$241227 = $$231226;$$241333 = $$231332; + label = 46; + continue L125; + } else { + $$221438 = $$181434;$$221629 = $$181625;$$261123 = $$221119;$$261533 = $$221529;$$27 = $$23;$$271230 = $$231226;$$271336 = $$231332; + label = 51; + continue L125; + } + break; + } + case 46: { + label = 0; + $149 = ($$231530>>>0)<($10>>>0); + if ($149) { + $$211437$ph = $$191435;$$211628$ph = $$191626;$$251122$ph = $$231120;$$26$ph = $$24;$$261017$ph = $$241015;$$261229$ph = $$241227;$$261335$ph = $$241333;$$sink1716 = $$231530; + label = 49; + continue L46; + } else { + $$201436 = $$191435;$$201627 = $$191626;$$241121 = $$231120;$$241531 = $$231530;$$25 = $$24;$$251016 = $$241015;$$251228 = $$241227;$$251334 = $$241333; + label = 47; + continue L46; + } + break; + } + case 51: { + label = 0; + $159 = $$271336 & 255; + $160 = $$271336 >>> 8; + $161 = (($$27) + -8)|0; + $$231439 = $$221438;$$231630 = $$221629;$$271018 = $159;$$271124 = $$261123;$$271534 = $$261533;$$28 = $161;$$281231 = $$271230;$$281337 = $160; + label = 52; + continue L46; + break; + } + case 54: { + label = 0; + $166 = ($$281125|0)==(0); + if ($166) { + $$761492 = $$241440;$$801071 = $$281019;$$801687 = $$241631;$$821285 = $$291232;$$831180 = 0;$$851592 = $$281535;$$86 = $$29;$$861395 = $$291338; + label = 220; + break L125; + } else { + $$251441 = $$241440;$$251632 = $$241631;$$291020 = $$281019;$$291126 = $$281125;$$291536 = $$281535;$$30 = $$29;$$301233 = $$291232;$$301339 = $$291338; + label = 55; + continue L46; + } + break; + } + case 61: { + label = 0; + $185 = ($$331130>>>0)<(3); + if ($185) { + $186 = (13852 + ($$331130)|0); + $187 = HEAP8[$186>>0]|0; + $188 = $187 << 24 >> 24; + $189 = ($$34>>>0)<($188>>>0); + if ($189) { + $$301446 = $$291445;$$301637 = $$291636;$$341025 = $$331024;$$341131 = $$331130;$$341541 = $$331540;$$35 = $$34;$$351238 = $$341237;$$351344 = $$341343; + label = 63; + continue L125; + } else { + $$331449 = $$291445;$$331640 = $$291636;$$371028 = $$331024;$$371134 = $$331130;$$371544 = $$331540;$$38 = $$34;$$381241 = $$341237;$$381347 = $$341343; + label = 68; + continue L125; + } + } else { + $216 = ((($0)) + 7040|0); + _memset(($216|0),0,288)|0; + $$341450 = $$291445;$$341641 = $$291636;$$381029 = $$331024;$$381135 = 0;$$381545 = $$331540;$$39 = $$34;$$391242 = $$341237;$$391348 = $$341343; + label = 70; + break; + } + break; + } + case 63: { + label = 0; + $190 = ($$341541>>>0)<($10>>>0); + if ($190) { + $$321448$ph = $$301446;$$321639$ph = $$301637;$$361027$ph = $$341025;$$361133$ph = $$341131;$$37$ph = $$35;$$371240$ph = $$351238;$$371346$ph = $$351344;$$sink1719 = $$341541; + label = 66; + continue L46; + } else { + $$311447 = $$301446;$$311638 = $$301637;$$351026 = $$341025;$$351132 = $$341131;$$351542 = $$341541;$$36 = $$35;$$361239 = $$351238;$$361345 = $$351344; + label = 64; + continue L46; + } + break; + } + case 68: { + label = 0; + $203 = (13852 + ($$371134)|0); + $204 = HEAP8[$203>>0]|0; + $205 = $204 << 24 >> 24; + $206 = 1 << $205; + $207 = (($206) + -1)|0; + $208 = $207 & $$381347; + $209 = (((($0)) + 44|0) + ($$371134<<2)|0); + $210 = $$381347 >>> $205; + $211 = (($$38) - ($205))|0; + $212 = (3108 + ($$371134<<2)|0); + $213 = HEAP32[$212>>2]|0; + $214 = (($208) + ($213))|0; + HEAP32[$209>>2] = $214; + $215 = (($$371134) + 1)|0; + $$291445 = $$331449;$$291636 = $$331640;$$331024 = $$371028;$$331130 = $215;$$331540 = $$371544;$$34 = $211;$$341237 = $$381241;$$341343 = $210; + label = 61; + continue L125; + break; + } + case 72: { + label = 0; + $221 = ($$391546>>>0)<($10>>>0); + if ($221) { + $$371453$ph = $$351451;$$371644$ph = $$351642;$$411032$ph = $$391030;$$411138$ph = $$391136;$$42$ph = $$40;$$421245$ph = $$401243;$$421351$ph = $$401349;$$sink1722 = $$391546; + label = 75; + continue L46; + } else { + $$361452 = $$351451;$$361643 = $$351642;$$401031 = $$391030;$$401137 = $$391136;$$401547 = $$391546;$$41 = $$40;$$411244 = $$401243;$$411350 = $$401349; + label = 73; + continue L46; + } + break; + } + case 77: { + label = 0; + $231 = $$431352 & 7; + $232 = $$431352 >>> 3; + $233 = (($$43) + -3)|0; + $234 = $231&255; + $235 = (13856 + ($$421139)|0); + $236 = HEAP8[$235>>0]|0; + $237 = $236&255; + $238 = (((($0)) + 7040|0) + ($237)|0); + HEAP8[$238>>0] = $234; + $239 = (($$421139) + 1)|0; + $$341450 = $$381454;$$341641 = $$381645;$$381029 = $$421033;$$381135 = $239;$$381545 = $$421549;$$39 = $233;$$391242 = $$431246;$$391348 = $232; + label = 70; + break; + } + case 80: { + label = 0; + $247 = ((($0)) + 24|0); + $248 = HEAP32[$247>>2]|0; + $249 = ($248|0)>(-1); + if ($249) { + dest=$8; stop=dest+64|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + $250 = (((((($0)) + 64|0) + (($248*3488)|0)|0)) + 288|0); + _memset(($250|0),0,3200)|0; + $251 = HEAP32[$247>>2]|0; + $252 = (((($0)) + 44|0) + ($251<<2)|0); + $253 = HEAP32[$252>>2]|0; + $254 = ($253|0)==(0); + if (!($254)) { + $255 = HEAP32[$247>>2]|0; + $256 = (((($0)) + 44|0) + ($255<<2)|0); + $257 = HEAP32[$256>>2]|0; + $$010951864 = 0; + while(1) { + $258 = ((((($0)) + 64|0) + (($248*3488)|0)|0) + ($$010951864)|0); + $259 = HEAP8[$258>>0]|0; + $260 = $259&255; + $261 = (($8) + ($260<<2)|0); + $262 = HEAP32[$261>>2]|0; + $263 = (($262) + 1)|0; + HEAP32[$261>>2] = $263; + $264 = (($$010951864) + 1)|0; + $265 = ($264>>>0)<($257>>>0); + if ($265) { + $$010951864 = $264; + } else { + break; + } + } + } + $266 = ((($7)) + 4|0); + HEAP32[$266>>2] = 0; + HEAP32[$7>>2] = 0; + $267 = ((($8)) + 4|0); + $268 = HEAP32[$267>>2]|0; + $269 = $268 << 1; + $270 = ((($7)) + 8|0); + HEAP32[$270>>2] = $269; + $271 = ((($8)) + 8|0); + $272 = HEAP32[$271>>2]|0; + $273 = (($272) + ($268))|0; + $274 = (($272) + ($269))|0; + $275 = $274 << 1; + $276 = ((($7)) + 12|0); + HEAP32[$276>>2] = $275; + $277 = ((($8)) + 12|0); + $278 = HEAP32[$277>>2]|0; + $279 = (($278) + ($273))|0; + $280 = (($278) + ($275))|0; + $281 = $280 << 1; + $282 = ((($7)) + 16|0); + HEAP32[$282>>2] = $281; + $283 = ((($8)) + 16|0); + $284 = HEAP32[$283>>2]|0; + $285 = (($284) + ($279))|0; + $286 = (($284) + ($281))|0; + $287 = $286 << 1; + $288 = ((($7)) + 20|0); + HEAP32[$288>>2] = $287; + $289 = ((($8)) + 20|0); + $290 = HEAP32[$289>>2]|0; + $291 = (($290) + ($285))|0; + $292 = (($290) + ($287))|0; + $293 = $292 << 1; + $294 = ((($7)) + 24|0); + HEAP32[$294>>2] = $293; + $295 = ((($8)) + 24|0); + $296 = HEAP32[$295>>2]|0; + $297 = (($296) + ($291))|0; + $298 = (($296) + ($293))|0; + $299 = $298 << 1; + $300 = ((($7)) + 28|0); + HEAP32[$300>>2] = $299; + $301 = ((($8)) + 28|0); + $302 = HEAP32[$301>>2]|0; + $303 = (($302) + ($297))|0; + $304 = (($302) + ($299))|0; + $305 = $304 << 1; + $306 = ((($7)) + 32|0); + HEAP32[$306>>2] = $305; + $307 = ((($8)) + 32|0); + $308 = HEAP32[$307>>2]|0; + $309 = (($308) + ($303))|0; + $310 = (($308) + ($305))|0; + $311 = $310 << 1; + $312 = ((($7)) + 36|0); + HEAP32[$312>>2] = $311; + $313 = ((($8)) + 36|0); + $314 = HEAP32[$313>>2]|0; + $315 = (($314) + ($309))|0; + $316 = (($314) + ($311))|0; + $317 = $316 << 1; + $318 = ((($7)) + 40|0); + HEAP32[$318>>2] = $317; + $319 = ((($8)) + 40|0); + $320 = HEAP32[$319>>2]|0; + $321 = (($320) + ($315))|0; + $322 = (($320) + ($317))|0; + $323 = $322 << 1; + $324 = ((($7)) + 44|0); + HEAP32[$324>>2] = $323; + $325 = ((($8)) + 44|0); + $326 = HEAP32[$325>>2]|0; + $327 = (($326) + ($321))|0; + $328 = (($326) + ($323))|0; + $329 = $328 << 1; + $330 = ((($7)) + 48|0); + HEAP32[$330>>2] = $329; + $331 = ((($8)) + 48|0); + $332 = HEAP32[$331>>2]|0; + $333 = (($332) + ($327))|0; + $334 = (($332) + ($329))|0; + $335 = $334 << 1; + $336 = ((($7)) + 52|0); + HEAP32[$336>>2] = $335; + $337 = ((($8)) + 52|0); + $338 = HEAP32[$337>>2]|0; + $339 = (($338) + ($333))|0; + $340 = (($338) + ($335))|0; + $341 = $340 << 1; + $342 = ((($7)) + 56|0); + HEAP32[$342>>2] = $341; + $343 = ((($8)) + 56|0); + $344 = HEAP32[$343>>2]|0; + $345 = (($344) + ($339))|0; + $346 = (($344) + ($341))|0; + $347 = $346 << 1; + $348 = ((($7)) + 60|0); + HEAP32[$348>>2] = $347; + $349 = ((($8)) + 60|0); + $350 = HEAP32[$349>>2]|0; + $351 = (($350) + ($345))|0; + $352 = (($350) + ($347))|0; + $353 = $352 << 1; + $354 = ((($7)) + 64|0); + HEAP32[$354>>2] = $353; + $355 = ($353|0)!=(65536); + $356 = ($351>>>0)>(1); + $or$cond = $355 & $356; + if ($or$cond) { + $$401456 = $$391455;$$401647 = $$391646;$$441035 = $$431034;$$441141 = $$431140;$$441551 = $$431550;$$45 = $$44;$$451248 = $$441247;$$451354 = $$441353; + label = 86; + continue L46; + } + $357 = HEAP32[$247>>2]|0; + $358 = (((($0)) + 44|0) + ($357<<2)|0); + $359 = HEAP32[$358>>2]|0; + $360 = ($359|0)==(0); + if ($360) { + $$lcssa1779 = $357; + } else { + $$010911856 = 0;$$011971855 = -1; + while(1) { + $361 = ((((($0)) + 64|0) + (($248*3488)|0)|0) + ($$010911856)|0); + $362 = HEAP8[$361>>0]|0; + $363 = $362&255; + $364 = ($362<<24>>24)==(0); + L142: do { + if ($364) { + $$41201 = $$011971855; + } else { + $365 = (($7) + ($363<<2)|0); + $366 = HEAP32[$365>>2]|0; + $367 = (($366) + 1)|0; + HEAP32[$365>>2] = $367; + $$010861840 = $366;$$010871839 = $363;$$010881838 = 0; + while(1) { + $368 = $$010881838 << 1; + $369 = $$010861840 & 1; + $370 = $369 | $368; + $371 = (($$010871839) + -1)|0; + $372 = $$010861840 >>> 1; + $373 = ($371|0)==(0); + if ($373) { + break; + } else { + $$010861840 = $372;$$010871839 = $371;$$010881838 = $370; + } + } + $374 = ($362&255)<(11); + if ($374) { + $375 = $363 << 9; + $376 = $375 | $$010911856; + $377 = $376&65535; + $378 = ($370>>>0)<(1024); + if (!($378)) { + $$41201 = $$011971855; + break; + } + $379 = 1 << $363; + $$110891852 = $370; + while(1) { + $380 = ((((((($0)) + 64|0) + (($248*3488)|0)|0)) + 288|0) + ($$110891852<<1)|0); + HEAP16[$380>>1] = $377; + $381 = (($$110891852) + ($379))|0; + $382 = ($381>>>0)<(1024); + if ($382) { + $$110891852 = $381; + } else { + $$41201 = $$011971855; + break L142; + } + } + } + $383 = $370 & 1023; + $384 = ((((((($0)) + 64|0) + (($248*3488)|0)|0)) + 288|0) + ($383<<1)|0); + $385 = HEAP16[$384>>1]|0; + $386 = $385 << 16 >> 16; + $387 = ($385<<16>>16)==(0); + if ($387) { + $388 = (($$011971855) + -2)|0; + $389 = $$011971855&65535; + HEAP16[$384>>1] = $389; + $$01194 = $$011971855;$$11198 = $388; + } else { + $$01194 = $386;$$11198 = $$011971855; + } + $390 = $$010881838 >>> 9; + $391 = ($362&255)>(11); + $392 = $390 & 1; + $393 = (($392) - ($$01194))|0; + $394 = (($393) + -1)|0; + if ($391) { + $395 = $390 & 4194303; + $$010941846 = $363;$$211991845 = $$11198;$397 = $394;$406 = $395; + while(1) { + $396 = ((((((($0)) + 64|0) + (($248*3488)|0)|0)) + 2336|0) + ($397<<1)|0); + $398 = HEAP16[$396>>1]|0; + $399 = ($398<<16>>16)==(0); + if ($399) { + $400 = $$211991845&65535; + HEAP16[$396>>1] = $400; + $401 = (($$211991845) + -2)|0; + $$21196 = $$211991845;$$31200 = $401; + } else { + $402 = $398 << 16 >> 16; + $$21196 = $402;$$31200 = $$211991845; + } + $403 = (($$010941846) + -1)|0; + $404 = ($403>>>0)>(11); + $405 = $406 >>> 1; + $407 = $405 & 1; + $408 = (($407) - ($$21196))|0; + $409 = (($408) + -1)|0; + if ($404) { + $$010941846 = $403;$$211991845 = $$31200;$397 = $409;$406 = $405; + } else { + $$21199$lcssa = $$31200;$$lcssa1778 = $409; + break; + } + } + } else { + $$21199$lcssa = $$11198;$$lcssa1778 = $394; + } + $410 = $$010911856&65535; + $411 = ((((((($0)) + 64|0) + (($248*3488)|0)|0)) + 2336|0) + ($$lcssa1778<<1)|0); + HEAP16[$411>>1] = $410; + $$41201 = $$21199$lcssa; + } + } while(0); + $412 = (($$010911856) + 1)|0; + $413 = HEAP32[$247>>2]|0; + $414 = (((($0)) + 44|0) + ($413<<2)|0); + $415 = HEAP32[$414>>2]|0; + $416 = ($412>>>0)<($415>>>0); + if ($416) { + $$010911856 = $412;$$011971855 = $$41201; + } else { + $$lcssa1779 = $413; + break; + } + } + } + $417 = ($$lcssa1779|0)==(2); + if ($417) { + $$411457 = $$391455;$$411648 = $$391646;$$451036 = $$431034;$$451142 = 0;$$451552 = $$431550;$$46 = $$44;$$461249 = $$441247;$$461355 = $$441353; + label = 105; + } else { + $$521468 = $$391455;$$521659 = $$391646;$$551046 = $$431034;$$561153 = $$431140;$$561563 = $$431550;$$57 = $$44;$$571260 = $$441247;$$571366 = $$441353; + label = 138; + } + } else { + $$531469 = $$391455;$$531660 = $$391646;$$561047 = $$431034;$$571154 = $$431140;$$571564 = $$431550;$$58 = $$44;$$581261 = $$441247;$$581367 = $$441353; + label = 139; + } + break; + } + case 108: { + label = 0; + $429 = $$471356 & 1023; + $430 = (((($0)) + 7328|0) + ($429<<1)|0); + $431 = HEAP16[$430>>1]|0; + $432 = $431 << 16 >> 16; + $433 = ($431<<16>>16)>(-1); + if ($433) { + $434 = $432 >> 9; + $435 = (($434) + -1)|0; + $436 = ($435>>>0)<($$47>>>0); + if ($436) { + $$451461 = $$421458;$$451652 = $$421649;$$491146 = $$461143;$$491556 = $$461553;$$50 = $$47;$$501253 = $$471250;$$501359 = $$471356; + label = 119; + continue L125; + } else { + label = 113; + break L125; + } + } + $437 = ($$47>>>0)>(10); + if ($437) { + $$0981 = 10;$$0984 = $432; + } else { + label = 113; + break L125; + } + while(1) { + $438 = $$0984 ^ -1; + $439 = $$471356 >>> $$0981; + $440 = $439 & 1; + $441 = (($440) + ($438))|0; + $442 = (((($0)) + 9376|0) + ($441<<1)|0); + $443 = HEAP16[$442>>1]|0; + $444 = ($443<<16>>16)<(0); + if (!($444)) { + $$451461 = $$421458;$$451652 = $$421649;$$491146 = $$461143;$$491556 = $$461553;$$50 = $$47;$$501253 = $$471250;$$501359 = $$471356; + label = 119; + continue L125; + } + $445 = (($$0981) + 1)|0; + $446 = $443 << 16 >> 16; + $447 = (($$0981) + 2)|0; + $448 = ($$47>>>0)<($447>>>0); + if ($448) { + label = 113; + break L125; + } else { + $$0981 = $445;$$0984 = $446; + } + } + break; + } + case 119: { + label = 0; + $471 = $$501359 & 1023; + $472 = (((($0)) + 7328|0) + ($471<<1)|0); + $473 = HEAP16[$472>>1]|0; + $474 = $473 << 16 >> 16; + $475 = ($473<<16>>16)>(-1); + if ($475) { + $476 = $474 >> 9; + $477 = $474 & 511; + $$2983 = $476;$$2986 = $477; + } else { + $$1982 = 10;$$1985 = $474; + while(1) { + $478 = $$1985 ^ -1; + $479 = (($$1982) + 1)|0; + $480 = $$501359 >>> $$1982; + $481 = $480 & 1; + $482 = (($481) + ($478))|0; + $483 = (((($0)) + 9376|0) + ($482<<1)|0); + $484 = HEAP16[$483>>1]|0; + $485 = $484 << 16 >> 16; + $486 = ($484<<16>>16)<(0); + if ($486) { + $$1982 = $479;$$1985 = $485; + } else { + $$2983 = $479;$$2986 = $485; + break; + } + } + } + $487 = $$501359 >>> $$2983; + $488 = (($$50) - ($$2983))|0; + $489 = ($$2986>>>0)<(16); + if ($489) { + $490 = $$2986&255; + $491 = (($$491146) + 1)|0; + $492 = (((($0)) + 10532|0) + ($$491146)|0); + HEAP8[$492>>0] = $490; + $$411457 = $$451461;$$411648 = $$451652;$$451036 = $$2986;$$451142 = $491;$$451552 = $$491556;$$46 = $488;$$461249 = $$501253;$$461355 = $487; + label = 105; + break; + } + $493 = ($$2986|0)!=(16); + $494 = ($$491146|0)!=(0); + $or$cond24 = $494 | $493; + if (!($or$cond24)) { + $$461462 = $$451461;$$461653 = $$451652;$$491040 = $$2986;$$501147 = $$491146;$$501557 = $$491556;$$51 = $488;$$511254 = $$501253;$$511360 = $487; + label = 125; + continue L46; + } + $495 = (($$2986) + -16)|0; + $496 = (13875 + ($495)|0); + $497 = HEAP8[$496>>0]|0; + $498 = $497 << 24 >> 24; + $499 = ($488>>>0)<($498>>>0); + if ($499) { + $$471463 = $$451461;$$471654 = $$451652;$$501041 = $$2986;$$511148 = $$491146;$$511558 = $$491556;$$52 = $488;$$521255 = $498;$$521361 = $487; + label = 127; + continue L125; + } else { + $$501466 = $$451461;$$501657 = $$451652;$$531044 = $$2986;$$541151 = $$491146;$$541561 = $$491556;$$55 = $488;$$551258 = $498;$$551364 = $487; + label = 132; + continue L125; + } + break; + } + case 127: { + label = 0; + $500 = ($$511558>>>0)<($10>>>0); + if ($500) { + $$491465$ph = $$471463;$$491656$ph = $$471654;$$521043$ph = $$501041;$$531150$ph = $$511148;$$54$ph = $$52;$$541257$ph = $$521255;$$541363$ph = $$521361;$$sink1732 = $$511558; + label = 130; + continue L46; + } else { + $$481464 = $$471463;$$481655 = $$471654;$$511042 = $$501041;$$521149 = $$511148;$$521559 = $$511558;$$53 = $$52;$$531256 = $$521255;$$531362 = $$521361; + label = 128; + continue L46; + } + break; + } + case 132: { + label = 0; + $510 = 1 << $$551258; + $511 = (($510) + -1)|0; + $512 = $511 & $$551364; + $513 = $$551364 >>> $$551258; + $514 = (($$55) - ($$551258))|0; + $515 = (($$531044) + -16)|0; + $516 = (13879 + ($515)|0); + $517 = HEAP8[$516>>0]|0; + $518 = $517 << 24 >> 24; + $519 = (($518) + ($512))|0; + $520 = (((($0)) + 10532|0) + ($$541151)|0); + $521 = ($$531044|0)==(16); + if ($521) { + $522 = (($$541151) + -1)|0; + $523 = (((($0)) + 10532|0) + ($522)|0); + $524 = HEAP8[$523>>0]|0; + $525 = $524&255; + $527 = $525; + } else { + $527 = 0; + } + $526 = $527&255; + _memset(($520|0),($526|0),($519|0))|0; + $528 = (($519) + ($$541151))|0; + $$411457 = $$501466;$$411648 = $$501657;$$451036 = $$531044;$$451142 = $528;$$451552 = $$541561;$$46 = $514;$$461249 = $$551258;$$461355 = $513; + label = 105; + break; + } + case 140: { + label = 0; + $539 = $10; + $540 = $$581565$ph; + $541 = (($539) - ($540))|0; + $542 = ($541|0)<(4); + $543 = ($$59$ph>>>0)<(15); + L241: do { + if ($542) { + $$541661$lcssa = $$541661$ph;$$581155$lcssa = $$581155$ph;$$581565$lcssa = $$581565$ph;$$59$lcssa = $$59$ph;$$591368$lcssa = $$591368$ph;$$lcssa1799 = $543;$$lcssa1802 = $541; + } else { + $544 = $12; + $$5416611868 = $$541661$ph;$$5811551871 = $$581155$ph;$$5815651869 = $$581565$ph;$$5913681870 = $$591368$ph;$$591872 = $$59$ph;$965 = $543;$966 = $541; + while(1) { + $545 = $$5416611868; + $546 = (($544) - ($545))|0; + $547 = ($546|0)<(2); + if ($547) { + $$541661$lcssa = $$5416611868;$$581155$lcssa = $$5811551871;$$581565$lcssa = $$5815651869;$$59$lcssa = $$591872;$$591368$lcssa = $$5913681870;$$lcssa1799 = $965;$$lcssa1802 = $966; + break L241; + } + if ($965) { + $613 = HEAP8[$$5815651869>>0]|0; + $614 = $613&255; + $615 = ((($$5815651869)) + 1|0); + $616 = HEAP8[$615>>0]|0; + $617 = $616&255; + $618 = $617 << 8; + $619 = $618 | $614; + $620 = $619 << $$591872; + $621 = $620 | $$5913681870; + $622 = ((($$5815651869)) + 2|0); + $623 = (($$591872) + 16)|0; + $$641571 = $622;$$65 = $623;$$651374 = $621; + } else { + $$641571 = $$5815651869;$$65 = $$591872;$$651374 = $$5913681870; + } + $624 = $$651374 & 1023; + $625 = (((($0)) + 352|0) + ($624<<1)|0); + $626 = HEAP16[$625>>1]|0; + $627 = $626 << 16 >> 16; + $628 = ($626<<16>>16)>(-1); + if ($628) { + $629 = $627 >> 9; + $$1964 = $629;$$1968 = $627; + } else { + $$0963 = 10;$$0967 = $627; + while(1) { + $630 = $$0967 ^ -1; + $631 = (($$0963) + 1)|0; + $632 = $$651374 >>> $$0963; + $633 = $632 & 1; + $634 = (($633) + ($630))|0; + $635 = (((($0)) + 2400|0) + ($634<<1)|0); + $636 = HEAP16[$635>>1]|0; + $637 = $636 << 16 >> 16; + $638 = ($636<<16>>16)<(0); + if ($638) { + $$0963 = $631;$$0967 = $637; + } else { + $$1964 = $631;$$1968 = $637; + break; + } + } + } + $639 = $$651374 >>> $$1964; + $640 = (($$65) - ($$1964))|0; + $641 = $$1968 & 256; + $642 = ($641|0)==(0); + if (!($642)) { + $$601476 = $$541470$ph;$$611668 = $$5416611868;$$631054 = $$571048$ph;$$641161 = $$1968;$$651268 = $$591262$ph;$$671574 = $$641571;$$68 = $640;$$681377 = $639; + label = 176; + break L126; + } + $643 = ($640>>>0)<(15); + if ($643) { + $644 = HEAP8[$$641571>>0]|0; + $645 = $644&255; + $646 = ((($$641571)) + 1|0); + $647 = HEAP8[$646>>0]|0; + $648 = $647&255; + $649 = $648 << 8; + $650 = $649 | $645; + $651 = $650 << $640; + $652 = $651 | $639; + $653 = ((($$641571)) + 2|0); + $654 = (($640) + 16)|0; + $$651572 = $653;$$66 = $654;$$661375 = $652; + } else { + $$651572 = $$641571;$$66 = $640;$$661375 = $639; + } + $655 = $$661375 & 1023; + $656 = (((($0)) + 352|0) + ($655<<1)|0); + $657 = HEAP16[$656>>1]|0; + $658 = $657 << 16 >> 16; + $659 = ($657<<16>>16)>(-1); + if ($659) { + $660 = $658 >> 9; + $$3966 = $660;$$3970 = $658; + } else { + $$2965 = 10;$$2969 = $658; + while(1) { + $661 = $$2969 ^ -1; + $662 = (($$2965) + 1)|0; + $663 = $$661375 >>> $$2965; + $664 = $663 & 1; + $665 = (($664) + ($661))|0; + $666 = (((($0)) + 2400|0) + ($665<<1)|0); + $667 = HEAP16[$666>>1]|0; + $668 = $667 << 16 >> 16; + $669 = ($667<<16>>16)<(0); + if ($669) { + $$2965 = $662;$$2969 = $668; + } else { + $$3966 = $662;$$3970 = $668; + break; + } + } + } + $670 = $$661375 >>> $$3966; + $671 = (($$66) - ($$3966))|0; + $672 = $$1968&255; + HEAP8[$$5416611868>>0] = $672; + $673 = $$3970 & 256; + $674 = ($673|0)==(0); + if (!($674)) { + break; + } + $676 = $$3970&255; + $677 = ((($$5416611868)) + 1|0); + HEAP8[$677>>0] = $676; + $678 = ((($$5416611868)) + 2|0); + $679 = $$651572; + $680 = (($539) - ($679))|0; + $681 = ($680|0)<(4); + $682 = ($671>>>0)<(15); + if ($681) { + $$541661$lcssa = $678;$$581155$lcssa = $$1968;$$581565$lcssa = $$651572;$$59$lcssa = $671;$$591368$lcssa = $670;$$lcssa1799 = $682;$$lcssa1802 = $680; + break L241; + } else { + $$5416611868 = $678;$$5811551871 = $$1968;$$5815651869 = $$651572;$$5913681870 = $670;$$591872 = $671;$965 = $682;$966 = $680; + } + } + $675 = ((($$5416611868)) + 1|0); + $$601476 = $$541470$ph;$$611668 = $675;$$631054 = $$571048$ph;$$641161 = $$3970;$$651268 = $$591262$ph;$$671574 = $$651572;$$68 = $671;$$681377 = $670; + label = 176; + break L126; + } + } while(0); + if (!($$lcssa1799)) { + $$581474 = $$541470$ph;$$581665 = $$541661$lcssa;$$611052 = $$571048$ph;$$621569 = $$581565$lcssa;$$63 = $$59$lcssa;$$631266 = $$591262$ph;$$631372 = $$591368$lcssa; + label = 156; + continue L125; + } + $548 = ($$lcssa1802|0)<(2); + if ($548) { + $$551471 = $$541470$ph;$$551662 = $$541661$lcssa;$$581049 = $$571048$ph;$$591156 = $$581155$lcssa;$$591566 = $$581565$lcssa;$$60 = $$59$lcssa;$$601263 = $$591262$ph;$$601369 = $$591368$lcssa; + label = 145; + continue L125; + } + $579 = HEAP8[$$581565$lcssa>>0]|0; + $580 = $579&255; + $581 = $580 << $$59$lcssa; + $582 = ((($$581565$lcssa)) + 1|0); + $583 = HEAP8[$582>>0]|0; + $584 = $583&255; + $585 = (($$59$lcssa) + 8)|0; + $586 = $584 << $585; + $587 = $581 | $$591368$lcssa; + $588 = $587 | $586; + $589 = ((($$581565$lcssa)) + 2|0); + $590 = (($$59$lcssa) + 16)|0; + $$581474 = $$541470$ph;$$581665 = $$541661$lcssa;$$611052 = $$571048$ph;$$621569 = $589;$$63 = $590;$$631266 = $$591262$ph;$$631372 = $588; + label = 156; + continue L125; + break; + } + case 145: { + label = 0; + $549 = $$601369 & 1023; + $550 = (((($0)) + 352|0) + ($549<<1)|0); + $551 = HEAP16[$550>>1]|0; + $552 = $551 << 16 >> 16; + $553 = ($551<<16>>16)>(-1); + if ($553) { + $554 = $552 >> 9; + $555 = (($554) + -1)|0; + $556 = ($555>>>0)<($$60>>>0); + if ($556) { + $$581474 = $$551471;$$581665 = $$551662;$$611052 = $$581049;$$621569 = $$591566;$$63 = $$60;$$631266 = $$601263;$$631372 = $$601369; + label = 156; + continue L125; + } else { + label = 150; + break L125; + } + } + $557 = ($$60>>>0)>(10); + if ($557) { + $$0972 = 10;$$0975 = $552; + } else { + label = 150; + break L125; + } + while(1) { + $558 = $$0975 ^ -1; + $559 = $$601369 >>> $$0972; + $560 = $559 & 1; + $561 = (($560) + ($558))|0; + $562 = (((($0)) + 2400|0) + ($561<<1)|0); + $563 = HEAP16[$562>>1]|0; + $564 = ($563<<16>>16)<(0); + if (!($564)) { + $$581474 = $$551471;$$581665 = $$551662;$$611052 = $$581049;$$621569 = $$591566;$$63 = $$60;$$631266 = $$601263;$$631372 = $$601369; + label = 156; + continue L125; + } + $565 = (($$0972) + 1)|0; + $566 = $563 << 16 >> 16; + $567 = (($$0972) + 2)|0; + $568 = ($$60>>>0)<($567>>>0); + if ($568) { + label = 150; + break L125; + } else { + $$0972 = $565;$$0975 = $566; + } + } + break; + } + case 156: { + label = 0; + $591 = $$631372 & 1023; + $592 = (((($0)) + 352|0) + ($591<<1)|0); + $593 = HEAP16[$592>>1]|0; + $594 = $593 << 16 >> 16; + $595 = ($593<<16>>16)>(-1); + if ($595) { + $596 = $594 >> 9; + $597 = $594 & 511; + $$2974 = $596;$$2977 = $597; + } else { + $$1973 = 10;$$1976 = $594; + while(1) { + $598 = $$1976 ^ -1; + $599 = (($$1973) + 1)|0; + $600 = $$631372 >>> $$1973; + $601 = $600 & 1; + $602 = (($601) + ($598))|0; + $603 = (((($0)) + 2400|0) + ($602<<1)|0); + $604 = HEAP16[$603>>1]|0; + $605 = $604 << 16 >> 16; + $606 = ($604<<16>>16)<(0); + if ($606) { + $$1973 = $599;$$1976 = $605; + } else { + $$2974 = $599;$$2977 = $605; + break; + } + } + } + $607 = $$631372 >>> $$2974; + $608 = (($$63) - ($$2974))|0; + $609 = ($$2977>>>0)>(255); + if ($609) { + $$601476 = $$581474;$$611668 = $$581665;$$631054 = $$611052;$$641161 = $$2977;$$651268 = $$631266;$$671574 = $$621569;$$68 = $608;$$681377 = $607; + label = 176; + } else { + $$591475 = $$581474;$$591666 = $$581665;$$621053 = $$611052;$$621159 = $$2977;$$631570 = $$621569;$$64 = $608;$$641267 = $$631266;$$641373 = $607; + label = 160; + continue L46; + } + break; + } + case 179: { + label = 0; + $693 = ($$681575>>>0)<($10>>>0); + if ($693) { + $$631479$ph = $$611477;$$641671$ph = $$621669;$$661057$ph = $$641055;$$671164$ph = $$651162;$$681271$ph = $$661269;$$71$ph = $$69;$$711380$ph = $$691378;$$sink1739 = $$681575; + label = 182; + continue L46; + } else { + $$621478 = $$611477;$$631670 = $$621669;$$651056 = $$641055;$$661163 = $$651162;$$671270 = $$661269;$$691576 = $$681575;$$70 = $$69;$$701379 = $$691378; + label = 180; + continue L46; + } + break; + } + case 184: { + label = 0; + $703 = 1 << $$691272; + $704 = (($703) + -1)|0; + $705 = $704 & $$721381; + $706 = $$721381 >>> $$691272; + $707 = (($$72) - ($$691272))|0; + $708 = (($705) + ($$681165))|0; + $$651481 = $$641480;$$661673 = $$651672;$$681059 = $$671058;$$691166 = $708;$$701273 = $$691272;$$721579 = $$711578;$$73 = $707;$$731382 = $706; + label = 185; + break; + } + case 187: { + label = 0; + $714 = $$741383 & 1023; + $715 = (((($0)) + 3840|0) + ($714<<1)|0); + $716 = HEAP16[$715>>1]|0; + $717 = $716 << 16 >> 16; + $718 = ($716<<16>>16)>(-1); + if ($718) { + $719 = $717 >> 9; + $720 = (($719) + -1)|0; + $721 = ($720>>>0)<($$74>>>0); + if ($721) { + $$691485 = $$661482;$$701677 = $$671674;$$731170 = $$701167;$$761583 = $$731580;$$77 = $$74;$$771386 = $$741383; + label = 198; + continue L125; + } else { + label = 192; + break L125; + } + } + $722 = ($$74>>>0)>(10); + if ($722) { + $$0953 = 10;$$0956 = $717; + } else { + label = 192; + break L125; + } + while(1) { + $723 = $$0956 ^ -1; + $724 = $$741383 >>> $$0953; + $725 = $724 & 1; + $726 = (($725) + ($723))|0; + $727 = (((($0)) + 5888|0) + ($726<<1)|0); + $728 = HEAP16[$727>>1]|0; + $729 = ($728<<16>>16)<(0); + if (!($729)) { + $$691485 = $$661482;$$701677 = $$671674;$$731170 = $$701167;$$761583 = $$731580;$$77 = $$74;$$771386 = $$741383; + label = 198; + continue L125; + } + $730 = (($$0953) + 1)|0; + $731 = $728 << 16 >> 16; + $732 = (($$0953) + 2)|0; + $733 = ($$74>>>0)<($732>>>0); + if ($733) { + label = 192; + break L125; + } else { + $$0953 = $730;$$0956 = $731; + } + } + break; + } + case 198: { + label = 0; + $756 = $$771386 & 1023; + $757 = (((($0)) + 3840|0) + ($756<<1)|0); + $758 = HEAP16[$757>>1]|0; + $759 = $758 << 16 >> 16; + $760 = ($758<<16>>16)>(-1); + if ($760) { + $761 = $759 >> 9; + $762 = $759 & 511; + $$2955 = $761;$$2958 = $762; + } else { + $$1954 = 10;$$1957 = $759; + while(1) { + $763 = $$1957 ^ -1; + $764 = (($$1954) + 1)|0; + $765 = $$771386 >>> $$1954; + $766 = $765 & 1; + $767 = (($766) + ($763))|0; + $768 = (((($0)) + 5888|0) + ($767<<1)|0); + $769 = HEAP16[$768>>1]|0; + $770 = $769 << 16 >> 16; + $771 = ($769<<16>>16)<(0); + if ($771) { + $$1954 = $764;$$1957 = $770; + } else { + $$2955 = $764;$$2958 = $770; + break; + } + } + } + $772 = $$771386 >>> $$2955; + $773 = (($$77) - ($$2955))|0; + $774 = (3368 + ($$2958<<2)|0); + $775 = HEAP32[$774>>2]|0; + $776 = (3496 + ($$2958<<2)|0); + $777 = HEAP32[$776>>2]|0; + $778 = (($$2958) + -4)|0; + $779 = ($778>>>0)<(26); + if ($779) { + $780 = ($773>>>0)<($775>>>0); + if ($780) { + $$701486 = $$691485;$$711678 = $$701677;$$721063 = $777;$$741171 = $$731170;$$741277 = $775;$$771584 = $$761583;$$78 = $773;$$781387 = $772; + label = 203; + continue L125; + } else { + $$741681 = $$701677;$$751066 = $777;$$771174 = $$731170;$$771280 = $775;$$801587 = $$761583;$$81 = $773;$$811390 = $772; + label = 208; + continue L125; + } + } else { + $$751682 = $$701677;$$761067 = $777;$$781175 = $$731170;$$781281 = $775;$$811588 = $$761583;$$82 = $773;$$821391 = $772; + label = 209; + } + break; + } + case 203: { + label = 0; + $781 = ($$771584>>>0)<($10>>>0); + if ($781) { + $$721488$ph = $$701486;$$731680$ph = $$711678;$$741065$ph = $$721063;$$761173$ph = $$741171;$$761279$ph = $$741277;$$80$ph = $$78;$$801389$ph = $$781387;$$sink1746 = $$771584; + label = 206; + continue L46; + } else { + $$711487 = $$701486;$$721679 = $$711678;$$731064 = $$721063;$$751172 = $$741171;$$751278 = $$741277;$$781585 = $$771584;$$79 = $$78;$$791388 = $$781387; + label = 204; + continue L46; + } + break; + } + case 208: { + label = 0; + $791 = 1 << $$771280; + $792 = (($791) + -1)|0; + $793 = $792 & $$811390; + $794 = $$811390 >>> $$771280; + $795 = (($$81) - ($$771280))|0; + $796 = (($793) + ($$751066))|0; + $$751682 = $$741681;$$761067 = $796;$$781175 = $$771174;$$781281 = $$771280;$$811588 = $$801587;$$82 = $795;$$821391 = $794; + label = 209; + break; + } + case 212: { + label = 0; + $807 = (($$801177) + -1)|0; + $808 = ($$801177|0)==(0); + if ($808) { + $$531469 = $$741490;$$531660 = $$771684;$$561047 = $$781069;$$571154 = $807;$$571564 = $$831590;$$58 = $$84;$$581261 = $$801283;$$581367 = $$841393; + label = 139; + } else { + $$751491 = $$741490;$$781685 = $$771684;$$791070 = $$781069;$$811178 = $807;$$811284 = $$801283;$$841591 = $$831590;$$85 = $$84;$$851394 = $$841393; + label = 213; + continue L46; + } + break; + } + } + do { + if ((label|0) == 70) { + label = 0; + $217 = ((($0)) + 52|0); + $218 = HEAP32[$217>>2]|0; + $219 = ($$381135>>>0)<($218>>>0); + if ($219) { + $220 = ($$39>>>0)<(3); + if ($220) { + $$351451 = $$341450;$$351642 = $$341641;$$391030 = $$381029;$$391136 = $$381135;$$391546 = $$381545;$$40 = $$39;$$401243 = $$391242;$$401349 = $$391348; + label = 72; + continue L125; + } else { + $$381454 = $$341450;$$381645 = $$341641;$$421033 = $$381029;$$421139 = $$381135;$$421549 = $$381545;$$43 = $$39;$$431246 = $$391242;$$431352 = $$391348; + label = 77; + continue L125; + } + } else { + HEAP32[$217>>2] = 19; + $$391455 = $$341450;$$391646 = $$341641;$$431034 = $$381029;$$431140 = $$381135;$$431550 = $$381545;$$44 = $$39;$$441247 = $$391242;$$441353 = $$391348; + label = 80; + continue L125; + } + } + else if ((label|0) == 105) { + label = 0; + $418 = ((($0)) + 44|0); + $419 = HEAP32[$418>>2]|0; + $420 = ((($0)) + 48|0); + $421 = HEAP32[$420>>2]|0; + $422 = (($421) + ($419))|0; + $423 = ($$451142>>>0)<($422>>>0); + if (!($423)) { + $529 = ($422|0)==($$451142|0); + if (!($529)) { + $$511467 = $$411457;$$511658 = $$411648;$$541045 = $$451036;$$551152 = $$451142;$$551562 = $$451552;$$56 = $$46;$$561259 = $$461249;$$561365 = $$461355; + label = 136; + continue L46; + } + $530 = ((($0)) + 64|0); + $531 = ((($0)) + 10532|0); + _memcpy(($530|0),($531|0),($419|0))|0; + $532 = ((($0)) + 3552|0); + $533 = HEAP32[$418>>2]|0; + $534 = (((($0)) + 10532|0) + ($533)|0); + $535 = HEAP32[$420>>2]|0; + _memcpy(($532|0),($534|0),($535|0))|0; + $$521468 = $$411457;$$521659 = $$411648;$$551046 = $$451036;$$561153 = $$451142;$$561563 = $$451552;$$57 = $$46;$$571260 = $$461249;$$571366 = $$461355; + label = 138; + break; + } + $424 = ($$46>>>0)<(15); + if (!($424)) { + $$451461 = $$411457;$$451652 = $$411648;$$491146 = $$451142;$$491556 = $$451552;$$50 = $$46;$$501253 = $$461249;$$501359 = $$461355; + label = 119; + continue L125; + } + $425 = $10; + $426 = $$451552; + $427 = (($425) - ($426))|0; + $428 = ($427|0)<(2); + if ($428) { + $$421458 = $$411457;$$421649 = $$411648;$$461037 = $$451036;$$461143 = $$451142;$$461553 = $$451552;$$47 = $$46;$$471250 = $$461249;$$471356 = $$461355; + label = 108; + continue L125; + } + $459 = HEAP8[$$451552>>0]|0; + $460 = $459&255; + $461 = $460 << $$46; + $462 = ((($$451552)) + 1|0); + $463 = HEAP8[$462>>0]|0; + $464 = $463&255; + $465 = (($$46) + 8)|0; + $466 = $464 << $465; + $467 = $461 | $$461355; + $468 = $467 | $466; + $469 = ((($$451552)) + 2|0); + $470 = (($$46) + 16)|0; + $$451461 = $$411457;$$451652 = $$411648;$$491146 = $$451142;$$491556 = $469;$$50 = $470;$$501253 = $$461249;$$501359 = $468; + label = 119; + continue L125; + } + else if ((label|0) == 176) { + label = 0; + $683 = $$641161 & 511; + $684 = ($683|0)==(256); + if ($684) { + $$761492 = $$601476;$$801071 = $$631054;$$801687 = $$611668;$$821285 = $$651268;$$831180 = 256;$$851592 = $$671574;$$86 = $$68;$$861395 = $$681377; + label = 220; + break L125; + } + $685 = (($683) + -257)|0; + $686 = (3120 + ($685<<2)|0); + $687 = HEAP32[$686>>2]|0; + $688 = (3244 + ($685<<2)|0); + $689 = HEAP32[$688>>2]|0; + $690 = (($683) + -265)|0; + $691 = ($690>>>0)<(20); + if ($691) { + $692 = ($$68>>>0)<($687>>>0); + if ($692) { + $$611477 = $$601476;$$621669 = $$611668;$$641055 = $$631054;$$651162 = $689;$$661269 = $687;$$681575 = $$671574;$$69 = $$68;$$691378 = $$681377; + label = 179; + continue L125; + } else { + $$641480 = $$601476;$$651672 = $$611668;$$671058 = $$631054;$$681165 = $689;$$691272 = $687;$$711578 = $$671574;$$72 = $$68;$$721381 = $$681377; + label = 184; + continue L125; + } + } else { + $$651481 = $$601476;$$661673 = $$611668;$$681059 = $$631054;$$691166 = $689;$$701273 = $687;$$721579 = $$671574;$$73 = $$68;$$731382 = $$681377; + label = 185; + } + } + else if ((label|0) == 209) { + label = 0; + $797 = $$751682; + $798 = $3; + $799 = (($797) - ($798))|0; + $$not = ($799>>>0)>=($$761067>>>0); + $$not1747 = $14 ^ 1; + $brmerge = $$not | $$not1747; + if (!($brmerge)) { + $$731489 = $799;$$761683 = $$751682;$$771068 = $$761067;$$791176 = $$781175;$$791282 = $$781281;$$821589 = $$811588;$$83 = $$82;$$831392 = $$821391; + label = 210; + continue L46; + } + $800 = (($799) - ($$761067))|0; + $801 = $800 & $$1753; + $802 = (($3) + ($801)|0); + $803 = ($$751682>>>0)>($802>>>0); + $804 = $803 ? $$751682 : $802; + $805 = (($804) + ($$781175)|0); + $806 = ($805>>>0)>($12>>>0); + if ($806) { + $$741490 = $799;$$771684 = $$751682;$$781069 = $$761067;$$801177 = $$781175;$$801283 = $$781281;$$831590 = $$811588;$$84 = $$82;$$841393 = $$821391; + label = 212; + continue L125; + } else { + $$0978 = $802;$$791686 = $$751682;$$821179 = $$781175; + } + while(1) { + $816 = HEAP8[$$0978>>0]|0; + HEAP8[$$791686>>0] = $816; + $817 = ((($$0978)) + 1|0); + $818 = HEAP8[$817>>0]|0; + $819 = ((($$791686)) + 1|0); + HEAP8[$819>>0] = $818; + $820 = ((($$0978)) + 2|0); + $821 = HEAP8[$820>>0]|0; + $822 = ((($$791686)) + 2|0); + HEAP8[$822>>0] = $821; + $823 = ((($$791686)) + 3|0); + $824 = ((($$0978)) + 3|0); + $825 = (($$821179) + -3)|0; + $826 = ($825|0)>(2); + if ($826) { + $$0978 = $824;$$791686 = $823;$$821179 = $825; + } else { + break; + } + } + $827 = ($825|0)>(0); + if ($827) { + $828 = HEAP8[$824>>0]|0; + HEAP8[$823>>0] = $828; + $829 = ($825|0)==(1); + if (!($829)) { + $830 = ((($$0978)) + 4|0); + $831 = HEAP8[$830>>0]|0; + $832 = ((($$791686)) + 4|0); + HEAP8[$832>>0] = $831; + } + $833 = (($823) + ($825)|0); + $$531469 = $799;$$531660 = $833;$$561047 = $$761067;$$571154 = $825;$$571564 = $$811588;$$58 = $$82;$$581261 = $$781281;$$581367 = $$821391; + label = 139; + } else { + $$531469 = $799;$$531660 = $823;$$561047 = $$761067;$$571154 = $825;$$571564 = $$811588;$$58 = $$82;$$581261 = $$781281;$$581367 = $$821391; + label = 139; + } + } + } while(0); + if ((label|0) == 138) { + label = 0; + $536 = ((($0)) + 24|0); + $537 = HEAP32[$536>>2]|0; + $538 = (($537) + -1)|0; + HEAP32[$536>>2] = $538; + $$391455 = $$521468;$$391646 = $$521659;$$431034 = $$551046;$$431140 = $$561153;$$431550 = $$561563;$$44 = $$57;$$441247 = $$571260;$$441353 = $$571366; + label = 80; + continue; + } + else if ((label|0) == 139) { + label = 0; + $$541470$ph = $$531469;$$541661$ph = $$531660;$$571048$ph = $$561047;$$581155$ph = $$571154;$$581565$ph = $$571564;$$59$ph = $$58;$$591262$ph = $$581261;$$591368$ph = $$581367; + label = 140; + continue; + } + else if ((label|0) == 185) { + label = 0; + $709 = ($$73>>>0)<(15); + if (!($709)) { + $$691485 = $$651481;$$701677 = $$661673;$$731170 = $$691166;$$761583 = $$721579;$$77 = $$73;$$771386 = $$731382; + label = 198; + continue; + } + $710 = $10; + $711 = $$721579; + $712 = (($710) - ($711))|0; + $713 = ($712|0)<(2); + if ($713) { + $$661482 = $$651481;$$671674 = $$661673;$$691060 = $$681059;$$701167 = $$691166;$$711274 = $$701273;$$731580 = $$721579;$$74 = $$73;$$741383 = $$731382; + label = 187; + continue; + } + $744 = HEAP8[$$721579>>0]|0; + $745 = $744&255; + $746 = $745 << $$73; + $747 = ((($$721579)) + 1|0); + $748 = HEAP8[$747>>0]|0; + $749 = $748&255; + $750 = (($$73) + 8)|0; + $751 = $749 << $750; + $752 = $746 | $$731382; + $753 = $752 | $751; + $754 = ((($$721579)) + 2|0); + $755 = (($$73) + 16)|0; + $$691485 = $$651481;$$701677 = $$661673;$$731170 = $$691166;$$761583 = $754;$$77 = $755;$$771386 = $753; + label = 198; + continue; + } + } + if ((label|0) == 113) { + label = 0; + $449 = ($$461553>>>0)<($10>>>0); + if ($449) { + $$441460$ph = $$421458;$$441651$ph = $$421649;$$481039$ph = $$461037;$$481145$ph = $$461143;$$49$ph = $$47;$$491252$ph = $$471250;$$491358$ph = $$471356;$$sink1729 = $$461553; + label = 116; + continue; + } else { + $$431459 = $$421458;$$431650 = $$421649;$$471038 = $$461037;$$471144 = $$461143;$$471554 = $$461553;$$48 = $$47;$$481251 = $$471250;$$481357 = $$471356; + label = 114; + continue; + } + } + else if ((label|0) == 150) { + label = 0; + $569 = ($$591566>>>0)<($10>>>0); + if ($569) { + $$571473$ph = $$551471;$$571664$ph = $$551662;$$601051$ph = $$581049;$$611158$ph = $$591156;$$62$ph = $$60;$$621265$ph = $$601263;$$621371$ph = $$601369;$$sink1736 = $$591566; + label = 153; + continue; + } else { + $$561472 = $$551471;$$561663 = $$551662;$$591050 = $$581049;$$601157 = $$591156;$$601567 = $$591566;$$61 = $$60;$$611264 = $$601263;$$611370 = $$601369; + label = 151; + continue; + } + } + else if ((label|0) == 192) { + label = 0; + $734 = ($$731580>>>0)<($10>>>0); + if ($734) { + $$681484$ph = $$661482;$$691676$ph = $$671674;$$711062$ph = $$691060;$$721169$ph = $$701167;$$731276$ph = $$711274;$$76$ph = $$74;$$761385$ph = $$741383;$$sink1743 = $$731580; + label = 195; + continue; + } else { + $$671483 = $$661482;$$681675 = $$671674;$$701061 = $$691060;$$711168 = $$701167;$$721275 = $$711274;$$741581 = $$731580;$$75 = $$74;$$751384 = $$741383; + label = 193; + continue; + } + } + else if ((label|0) == 220) { + label = 0; + $834 = ((($0)) + 20|0); + $835 = HEAP32[$834>>2]|0; + $836 = $835 & 1; + $837 = ($836|0)==(0); + if ($837) { + $$01416 = $$761492;$$01607 = $$801687;$$41511 = $$851592;$$5 = $$86;$$51102 = $$831180;$$51208 = $$821285;$$51314 = $$861395;$$5996 = $$801071; + label = 14; + continue; + } + $838 = $6 & 1; + $839 = ($838|0)==(0); + if ($839) { + $$881504 = $$761492;$$921083 = $$801071;$$921699 = $$801687;$$941191 = $$831180;$$941297 = $$821285;$$971604 = $$851592;$$98 = $$86;$$981407 = $$861395; + label = 242; + continue; + } else { + $$801496 = $$761492;$$841075 = $$801071;$$841691 = $$801687;$$861289 = $$821285;$$891596 = $$851592;$$90 = $$86;$$901399 = $$861395; + label = 226; + continue; + } + } + } + if ((label|0) == 258) { + STACKTOP = sp;return ($$0951|0); + } + $892 = ((($0)) + 28|0); + $893 = HEAP32[$892>>2]|0; + $894 = $893 & 65535; + $895 = $893 >>> 16; + $896 = ($888|0)==(0); + if ($896) { + $$0937$lcssa = $895;$$0938$lcssa = $894; + } else { + $897 = (($888>>>0) % 5552)&-1; + $$01834 = $897;$$09371833 = $895;$$09381832 = $894;$$09431831 = $888;$$09441830 = $4; + while(1) { + $898 = ($$01834>>>0)>(7); + if ($898) { + $899 = (($$01834) + -8)|0; + $900 = $899 & -8; + $scevgep = ((($$09441830)) + 8|0); + $$09411816 = 0;$$11818 = $$09371833;$$19391817 = $$09381832;$$19451815 = $$09441830; + while(1) { + $904 = HEAP8[$$19451815>>0]|0; + $905 = $904&255; + $906 = (($905) + ($$19391817))|0; + $907 = (($906) + ($$11818))|0; + $908 = ((($$19451815)) + 1|0); + $909 = HEAP8[$908>>0]|0; + $910 = $909&255; + $911 = (($906) + ($910))|0; + $912 = (($907) + ($911))|0; + $913 = ((($$19451815)) + 2|0); + $914 = HEAP8[$913>>0]|0; + $915 = $914&255; + $916 = (($911) + ($915))|0; + $917 = (($912) + ($916))|0; + $918 = ((($$19451815)) + 3|0); + $919 = HEAP8[$918>>0]|0; + $920 = $919&255; + $921 = (($916) + ($920))|0; + $922 = (($917) + ($921))|0; + $923 = ((($$19451815)) + 4|0); + $924 = HEAP8[$923>>0]|0; + $925 = $924&255; + $926 = (($921) + ($925))|0; + $927 = (($922) + ($926))|0; + $928 = ((($$19451815)) + 5|0); + $929 = HEAP8[$928>>0]|0; + $930 = $929&255; + $931 = (($926) + ($930))|0; + $932 = (($927) + ($931))|0; + $933 = ((($$19451815)) + 6|0); + $934 = HEAP8[$933>>0]|0; + $935 = $934&255; + $936 = (($931) + ($935))|0; + $937 = (($932) + ($936))|0; + $938 = ((($$19451815)) + 7|0); + $939 = HEAP8[$938>>0]|0; + $940 = $939&255; + $941 = (($936) + ($940))|0; + $942 = (($937) + ($941))|0; + $943 = (($$09411816) + 8)|0; + $944 = ((($$19451815)) + 8|0); + $945 = $943 | 7; + $946 = ($945>>>0)<($$01834>>>0); + if ($946) { + $$09411816 = $943;$$11818 = $942;$$19391817 = $941;$$19451815 = $944; + } else { + break; + } + } + $901 = (($900) + 8)|0; + $scevgep1947 = (($scevgep) + ($900)|0); + $$0941$lcssa = $901;$$1$lcssa = $942;$$1939$lcssa = $941;$$1945$lcssa = $scevgep1947; + } else { + $$0941$lcssa = 0;$$1$lcssa = $$09371833;$$1939$lcssa = $$09381832;$$1945$lcssa = $$09441830; + } + $902 = ($$01834>>>0)>($$0941$lcssa>>>0); + if ($902) { + $903 = (($$01834) - ($$0941$lcssa))|0; + $$19421823 = $$0941$lcssa;$$21825 = $$1$lcssa;$$29401824 = $$1939$lcssa;$$29461822 = $$1945$lcssa; + while(1) { + $947 = ((($$29461822)) + 1|0); + $948 = HEAP8[$$29461822>>0]|0; + $949 = $948&255; + $950 = (($949) + ($$29401824))|0; + $951 = (($950) + ($$21825))|0; + $952 = (($$19421823) + 1)|0; + $exitcond = ($952|0)==($$01834|0); + if ($exitcond) { + break; + } else { + $$19421823 = $952;$$21825 = $951;$$29401824 = $950;$$29461822 = $947; + } + } + $scevgep1948 = (($$1945$lcssa) + ($903)|0); + $$2$lcssa = $951;$$2940$lcssa = $950;$$2946$lcssa = $scevgep1948; + } else { + $$2$lcssa = $$1$lcssa;$$2940$lcssa = $$1939$lcssa;$$2946$lcssa = $$1945$lcssa; + } + $953 = (($$2940$lcssa>>>0) % 65521)&-1; + $954 = (($$2$lcssa>>>0) % 65521)&-1; + $955 = (($$09431831) - ($$01834))|0; + $956 = ($955|0)==(0); + if ($956) { + $$0937$lcssa = $954;$$0938$lcssa = $953; + break; + } else { + $$01834 = 5552;$$09371833 = $954;$$09381832 = $953;$$09431831 = $955;$$09441830 = $$2946$lcssa; + } + } + } + $957 = $$0937$lcssa << 16; + $958 = $957 | $$0938$lcssa; + HEAP32[$892>>2] = $958; + $959 = ($$1961|0)!=(0); + $960 = $6 & 1; + $961 = ($960|0)==(0); + $or$cond1752 = $961 | $959; + if ($or$cond1752) { + $$0951 = $$1961; + STACKTOP = sp;return ($$0951|0); + } else { + $962 = ((($0)) + 16|0); + $963 = HEAP32[$962>>2]|0; + $964 = ($958|0)==($963|0); + $$1961$ = $964 ? $$1961 : -2; + STACKTOP = sp;return ($$1961$|0); + } + return (0)|0; +} +function _LoadTexture($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$byval_copy1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $$byval_copy1 = sp + 44|0; + $vararg_buffer = sp; + $2 = sp + 24|0; + $3 = sp + 4|0; + ;HEAP32[$2>>2]=0|0;HEAP32[$2+4>>2]=0|0;HEAP32[$2+8>>2]=0|0;HEAP32[$2+12>>2]=0|0;HEAP32[$2+16>>2]=0|0; + _LoadImage($3,$1); + $4 = HEAP32[$3>>2]|0; + $5 = ($4|0)==(0|0); + if ($5) { + _TraceLog(1,13883,$vararg_buffer); + ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$2+16>>2]|0; + STACKTOP = sp;return; + } else { + ;HEAP32[$$byval_copy1>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$3+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$3+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$3+16>>2]|0; + _LoadTextureFromImage($2,$$byval_copy1); + ;HEAP32[$$byval_copy1>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$3+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$3+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$3+16>>2]|0; + _UnloadImage($$byval_copy1); + ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$2+16>>2]|0; + STACKTOP = sp;return; + } +} +function _LoadRenderTexture($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $3 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0); + $3 = sp; + _rlglLoadRenderTexture($3,$1,$2); + dest=$0; src=$3; stop=dest+44|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + STACKTOP = sp;return; +} +function _UnloadRenderTexture($0) { + $0 = $0|0; + var $$byval_copy = 0, $1 = 0, $2 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0); + $$byval_copy = sp; + $1 = HEAP32[$0>>2]|0; + $2 = ($1|0)==(0); + if ($2) { + STACKTOP = sp;return; + } + dest=$$byval_copy; src=$0; stop=dest+44|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _rlDeleteRenderTextures($$byval_copy); + STACKTOP = sp;return; +} +function _ImageAlphaMask($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $$031 = 0, $$032 = 0, $$033 = 0, $$byval_copy3 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; + var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; + var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, label = 0; + var sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $$byval_copy3 = sp + 32|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $2 = sp + 12|0; + $3 = ((($0)) + 4|0); + $4 = HEAP32[$3>>2]|0; + $5 = ((($1)) + 4|0); + $6 = HEAP32[$5>>2]|0; + $7 = ($4|0)==($6|0); + if ($7) { + $8 = ((($0)) + 8|0); + $9 = HEAP32[$8>>2]|0; + $10 = ((($1)) + 8|0); + $11 = HEAP32[$10>>2]|0; + $12 = ($9|0)==($11|0); + if ($12) { + $13 = ((($0)) + 16|0); + $14 = HEAP32[$13>>2]|0; + $15 = ($14|0)>(7); + if ($15) { + _TraceLog(1,13950,$vararg_buffer1); + STACKTOP = sp;return; + } + ;HEAP32[$$byval_copy3>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$$byval_copy3+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[$$byval_copy3+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[$$byval_copy3+16>>2]=HEAP32[$1+16>>2]|0; + _ImageCopy($2,$$byval_copy3); + $16 = ((($2)) + 16|0); + $17 = HEAP32[$16>>2]|0; + $18 = ($17|0)==(1); + if (!($18)) { + _ImageFormat($2,1); + } + $19 = HEAP32[$13>>2]|0; + L11: do { + switch ($19|0) { + case 1: { + _ImageFormat($0,2); + $20 = ((($2)) + 4|0); + $21 = HEAP32[$20>>2]|0; + $22 = ((($2)) + 8|0); + $23 = HEAP32[$22>>2]|0; + $24 = Math_imul($23, $21)|0; + $25 = HEAP32[$2>>2]|0; + $$032 = 1;$$033 = 0; + while(1) { + $26 = ($$033|0)<($24|0); + if (!($26)) { + $27 = HEAP32[$3>>2]|0; + $28 = HEAP32[$8>>2]|0; + $29 = Math_imul($28, $27)|0; + $30 = ($$033|0)<($29|0); + if (!($30)) { + break L11; + } + } + $31 = (($25) + ($$033)|0); + $32 = HEAP8[$31>>0]|0; + $33 = HEAP32[$0>>2]|0; + $34 = (($33) + ($$032)|0); + HEAP8[$34>>0] = $32; + $35 = (($$033) + 1)|0; + $36 = (($$032) + 2)|0; + $$032 = $36;$$033 = $35; + } + break; + } + case 7: { + label = 14; + break; + } + default: { + _ImageFormat($0,7); + label = 14; + } + } + } while(0); + L19: do { + if ((label|0) == 14) { + $37 = ((($2)) + 4|0); + $38 = HEAP32[$37>>2]|0; + $39 = ((($2)) + 8|0); + $40 = HEAP32[$39>>2]|0; + $41 = Math_imul($40, $38)|0; + $42 = HEAP32[$2>>2]|0; + $$0 = 3;$$031 = 0; + while(1) { + $43 = ($$031|0)<($41|0); + if (!($43)) { + $44 = HEAP32[$3>>2]|0; + $45 = HEAP32[$8>>2]|0; + $46 = Math_imul($45, $44)|0; + $47 = ($$031|0)<($46|0); + if (!($47)) { + break L19; + } + } + $48 = (($42) + ($$031)|0); + $49 = HEAP8[$48>>0]|0; + $50 = HEAP32[$0>>2]|0; + $51 = (($50) + ($$0)|0); + HEAP8[$51>>0] = $49; + $52 = (($$031) + 1)|0; + $53 = (($$0) + 4)|0; + $$0 = $53;$$031 = $52; + } + } + } while(0); + ;HEAP32[$$byval_copy3>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$$byval_copy3+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$$byval_copy3+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$$byval_copy3+16>>2]=HEAP32[$2+16>>2]|0; + _UnloadImage($$byval_copy3); + STACKTOP = sp;return; + } + } + _TraceLog(1,13912,$vararg_buffer); + STACKTOP = sp;return; +} +function _GetDefaultFont($0) { + $0 = $0|0; + var label = 0, sp = 0; + sp = STACKTOP; + ;HEAP32[$0>>2]=HEAP32[25516>>2]|0;HEAP32[$0+4>>2]=HEAP32[25516+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[25516+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[25516+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[25516+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[25516+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[25516+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[25516+28>>2]|0; + return; +} +function _GetCharIndex($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$08 = 0, $$09 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($0)) + 24|0); + $3 = HEAP32[$2>>2]|0; + $4 = ($3|0)>(0); + if (!($4)) { + $$08 = 0; + return ($$08|0); + } + $5 = ((($0)) + 28|0); + $6 = HEAP32[$5>>2]|0; + $$09 = 0; + while(1) { + $7 = (($6) + ($$09<<5)|0); + $8 = HEAP32[$7>>2]|0; + $9 = ($8|0)==($1|0); + if ($9) { + $$08 = $$09; + label = 5; + break; + } + $10 = (($$09) + 1)|0; + $11 = HEAP32[$2>>2]|0; + $12 = ($10|0)<($11|0); + if ($12) { + $$09 = $10; + } else { + $$08 = 0; + label = 5; + break; + } + } + if ((label|0) == 5) { + return ($$08|0); + } + return (0)|0; +} +function _SetTextureFilter($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $vararg_buffer = sp; + switch ($1|0) { + case 0: { + $2 = ((($0)) + 12|0); + $3 = HEAP32[$2>>2]|0; + $4 = ($3|0)>(1); + $5 = HEAP32[$0>>2]|0; + if ($4) { + _rlTextureParameters($5,10241,9984); + $6 = HEAP32[$0>>2]|0; + _rlTextureParameters($6,10240,9728); + STACKTOP = sp;return; + } else { + _rlTextureParameters($5,10241,9728); + $7 = HEAP32[$0>>2]|0; + _rlTextureParameters($7,10240,9728); + STACKTOP = sp;return; + } + break; + } + case 1: { + $8 = ((($0)) + 12|0); + $9 = HEAP32[$8>>2]|0; + $10 = ($9|0)>(1); + $11 = HEAP32[$0>>2]|0; + if ($10) { + _rlTextureParameters($11,10241,9985); + $12 = HEAP32[$0>>2]|0; + _rlTextureParameters($12,10240,9729); + STACKTOP = sp;return; + } else { + _rlTextureParameters($11,10241,9729); + $13 = HEAP32[$0>>2]|0; + _rlTextureParameters($13,10240,9729); + STACKTOP = sp;return; + } + break; + } + case 2: { + $14 = ((($0)) + 12|0); + $15 = HEAP32[$14>>2]|0; + $16 = ($15|0)>(1); + $17 = HEAP32[$0>>2]|0; + if ($16) { + _rlTextureParameters($17,10241,9987); + $18 = HEAP32[$0>>2]|0; + _rlTextureParameters($18,10240,9729); + STACKTOP = sp;return; + } else { + HEAP32[$vararg_buffer>>2] = $17; + _TraceLog(1,14007,$vararg_buffer); + $19 = HEAP32[$0>>2]|0; + _rlTextureParameters($19,10241,9729); + _rlTextureParameters($19,10240,9729); + STACKTOP = sp;return; + } + break; + } + case 3: { + $20 = HEAP32[$0>>2]|0; + _rlTextureParameters($20,12288,4); + STACKTOP = sp;return; + break; + } + case 4: { + $21 = HEAP32[$0>>2]|0; + _rlTextureParameters($21,12288,8); + STACKTOP = sp;return; + break; + } + case 5: { + $22 = HEAP32[$0>>2]|0; + _rlTextureParameters($22,12288,16); + STACKTOP = sp;return; + break; + } + default: { + STACKTOP = sp;return; + } + } +} +function _DrawTexture($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $4 = 0, $5 = 0.0, $6 = 0, $7 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0); + $$byval_copy2 = sp + 40|0; + $$byval_copy1 = sp + 32|0; + $$byval_copy = sp + 8|0; + $4 = sp; + $5 = (+($1|0)); + HEAPF32[$4>>2] = $5; + $6 = ((($4)) + 4|0); + $7 = (+($2|0)); + HEAPF32[$6>>2] = $7; + ;HEAP32[$$byval_copy>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$0+16>>2]|0; + ;HEAP32[$$byval_copy1>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$4+4>>2]|0; + ;HEAP8[$$byval_copy2>>0]=HEAP8[$3>>0]|0;HEAP8[$$byval_copy2+1>>0]=HEAP8[$3+1>>0]|0;HEAP8[$$byval_copy2+2>>0]=HEAP8[$3+2>>0]|0;HEAP8[$$byval_copy2+3>>0]=HEAP8[$3+3>>0]|0; + _DrawTextureEx($$byval_copy,$$byval_copy1,0.0,1.0,$$byval_copy2); + STACKTOP = sp;return; +} +function _DrawTextureEx($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = +$2; + $3 = +$3; + $4 = $4|0; + var $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $$byval_copy3 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0.0, $16 = 0, $17 = 0, $18 = 0, $19 = 0.0, $20 = 0, $21 = 0, $22 = 0, $23 = 0.0, $24 = 0.0, $25 = 0; + var $26 = 0, $27 = 0, $28 = 0.0, $29 = 0.0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $tmpcast$byval_copy = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0); + $$byval_copy3 = sp + 104|0; + $tmpcast$byval_copy = sp + 96|0; + $$byval_copy2 = sp + 80|0; + $$byval_copy1 = sp + 64|0; + $$byval_copy = sp + 40|0; + $5 = sp + 24|0; + $6 = sp + 8|0; + $7 = sp; + HEAP32[$5>>2] = 0; + $8 = ((($5)) + 4|0); + HEAP32[$8>>2] = 0; + $9 = ((($5)) + 8|0); + $10 = ((($0)) + 4|0); + $11 = HEAP32[$10>>2]|0; + HEAP32[$9>>2] = $11; + $12 = ((($5)) + 12|0); + $13 = ((($0)) + 8|0); + $14 = HEAP32[$13>>2]|0; + HEAP32[$12>>2] = $14; + $15 = +HEAPF32[$1>>2]; + $16 = (~~(($15))); + HEAP32[$6>>2] = $16; + $17 = ((($6)) + 4|0); + $18 = ((($1)) + 4|0); + $19 = +HEAPF32[$18>>2]; + $20 = (~~(($19))); + HEAP32[$17>>2] = $20; + $21 = ((($6)) + 8|0); + $22 = HEAP32[$10>>2]|0; + $23 = (+($22|0)); + $24 = $23 * $3; + $25 = (~~(($24))); + HEAP32[$21>>2] = $25; + $26 = ((($6)) + 12|0); + $27 = HEAP32[$13>>2]|0; + $28 = (+($27|0)); + $29 = $28 * $3; + $30 = (~~(($29))); + HEAP32[$26>>2] = $30; + $31 = $7; + $32 = $31; + HEAP32[$32>>2] = 0; + $33 = (($31) + 4)|0; + $34 = $33; + HEAP32[$34>>2] = 0; + ;HEAP32[$$byval_copy>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$0+16>>2]|0; + ;HEAP32[$$byval_copy1>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$5+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$5+12>>2]|0; + ;HEAP32[$$byval_copy2>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$6+4>>2]|0;HEAP32[$$byval_copy2+8>>2]=HEAP32[$6+8>>2]|0;HEAP32[$$byval_copy2+12>>2]=HEAP32[$6+12>>2]|0; + ;HEAP32[$tmpcast$byval_copy>>2]=HEAP32[$7>>2]|0;HEAP32[$tmpcast$byval_copy+4>>2]=HEAP32[$7+4>>2]|0; + ;HEAP8[$$byval_copy3>>0]=HEAP8[$4>>0]|0;HEAP8[$$byval_copy3+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$$byval_copy3+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$$byval_copy3+3>>0]=HEAP8[$4+3>>0]|0; + _DrawTexturePro($$byval_copy,$$byval_copy1,$$byval_copy2,$tmpcast$byval_copy,$2,$$byval_copy3); + STACKTOP = sp;return; +} +function _DrawTexturePro($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = +$4; + $5 = $5|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0.0, $22 = 0, $23 = 0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0, $28 = 0.0, $29 = 0.0; + var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0.0, $39 = 0, $40 = 0, $41 = 0.0, $42 = 0.0, $43 = 0, $44 = 0, $45 = 0.0, $46 = 0, $47 = 0, $48 = 0.0, $49 = 0.0; + var $50 = 0, $51 = 0.0, $52 = 0, $53 = 0.0, $54 = 0.0, $55 = 0, $56 = 0, $57 = 0, $58 = 0.0, $59 = 0, $6 = 0, $60 = 0.0, $61 = 0.0, $62 = 0, $63 = 0, $64 = 0.0, $65 = 0, $66 = 0, $67 = 0, $68 = 0.0; + var $69 = 0, $7 = 0, $70 = 0.0, $71 = 0.0, $72 = 0, $73 = 0, $74 = 0, $75 = 0.0, $76 = 0, $77 = 0.0, $78 = 0.0, $79 = 0, $8 = 0, $80 = 0, $81 = 0.0, $82 = 0, $83 = 0.0, $84 = 0, $85 = 0, $86 = 0; + var $87 = 0.0, $88 = 0, $89 = 0.0, $9 = 0, $90 = 0.0, $91 = 0, $92 = 0.0, $93 = 0, $94 = 0.0, $95 = 0.0, $96 = 0, $97 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $6 = HEAP32[$0>>2]|0; + $7 = ($6|0)==(0); + if ($7) { + return; + } + $8 = ((($1)) + 8|0); + $9 = HEAP32[$8>>2]|0; + $10 = ($9|0)<(0); + if ($10) { + $11 = HEAP32[$1>>2]|0; + $12 = (($11) - ($9))|0; + HEAP32[$1>>2] = $12; + } + $13 = ((($1)) + 12|0); + $14 = HEAP32[$13>>2]|0; + $15 = ($14|0)<(0); + if ($15) { + $16 = ((($1)) + 4|0); + $17 = HEAP32[$16>>2]|0; + $18 = (($17) - ($14))|0; + HEAP32[$16>>2] = $18; + } + $19 = HEAP32[$0>>2]|0; + _rlEnableTexture($19); + _rlPushMatrix(); + $20 = HEAP32[$2>>2]|0; + $21 = (+($20|0)); + $22 = ((($2)) + 4|0); + $23 = HEAP32[$22>>2]|0; + $24 = (+($23|0)); + _rlTranslatef($21,$24,0.0); + _rlRotatef($4,0.0,0.0,1.0); + $25 = +HEAPF32[$3>>2]; + $26 = -$25; + $27 = ((($3)) + 4|0); + $28 = +HEAPF32[$27>>2]; + $29 = -$28; + _rlTranslatef($26,$29,0.0); + _rlBegin(7); + $30 = HEAP8[$5>>0]|0; + $31 = ((($5)) + 1|0); + $32 = HEAP8[$31>>0]|0; + $33 = ((($5)) + 2|0); + $34 = HEAP8[$33>>0]|0; + $35 = ((($5)) + 3|0); + $36 = HEAP8[$35>>0]|0; + _rlColor4ub($30,$32,$34,$36); + $37 = HEAP32[$1>>2]|0; + $38 = (+($37|0)); + $39 = ((($0)) + 4|0); + $40 = HEAP32[$39>>2]|0; + $41 = (+($40|0)); + $42 = $38 / $41; + $43 = ((($1)) + 4|0); + $44 = HEAP32[$43>>2]|0; + $45 = (+($44|0)); + $46 = ((($0)) + 8|0); + $47 = HEAP32[$46>>2]|0; + $48 = (+($47|0)); + $49 = $45 / $48; + _rlTexCoord2f($42,$49); + _rlVertex2f(0.0,0.0); + $50 = HEAP32[$1>>2]|0; + $51 = (+($50|0)); + $52 = HEAP32[$39>>2]|0; + $53 = (+($52|0)); + $54 = $51 / $53; + $55 = HEAP32[$43>>2]|0; + $56 = HEAP32[$13>>2]|0; + $57 = (($56) + ($55))|0; + $58 = (+($57|0)); + $59 = HEAP32[$46>>2]|0; + $60 = (+($59|0)); + $61 = $58 / $60; + _rlTexCoord2f($54,$61); + $62 = ((($2)) + 12|0); + $63 = HEAP32[$62>>2]|0; + $64 = (+($63|0)); + _rlVertex2f(0.0,$64); + $65 = HEAP32[$1>>2]|0; + $66 = HEAP32[$8>>2]|0; + $67 = (($66) + ($65))|0; + $68 = (+($67|0)); + $69 = HEAP32[$39>>2]|0; + $70 = (+($69|0)); + $71 = $68 / $70; + $72 = HEAP32[$43>>2]|0; + $73 = HEAP32[$13>>2]|0; + $74 = (($73) + ($72))|0; + $75 = (+($74|0)); + $76 = HEAP32[$46>>2]|0; + $77 = (+($76|0)); + $78 = $75 / $77; + _rlTexCoord2f($71,$78); + $79 = ((($2)) + 8|0); + $80 = HEAP32[$79>>2]|0; + $81 = (+($80|0)); + $82 = HEAP32[$62>>2]|0; + $83 = (+($82|0)); + _rlVertex2f($81,$83); + $84 = HEAP32[$1>>2]|0; + $85 = HEAP32[$8>>2]|0; + $86 = (($85) + ($84))|0; + $87 = (+($86|0)); + $88 = HEAP32[$39>>2]|0; + $89 = (+($88|0)); + $90 = $87 / $89; + $91 = HEAP32[$43>>2]|0; + $92 = (+($91|0)); + $93 = HEAP32[$46>>2]|0; + $94 = (+($93|0)); + $95 = $92 / $94; + _rlTexCoord2f($90,$95); + $96 = HEAP32[$79>>2]|0; + $97 = (+($96|0)); + _rlVertex2f($97,0.0); + _rlEnd(); + _rlPopMatrix(); + _rlDisableTexture(); + return; +} +function _LoadSpriteFont($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$byval_copy2 = 0, $$byval_copy5 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0); + $$byval_copy5 = sp + 232|0; + $$byval_copy2 = sp + 212|0; + $vararg_buffer = sp; + $2 = sp + 96|0; + $3 = sp + 192|0; + $4 = sp + 160|0; + $5 = sp + 128|0; + $6 = sp + 40|0; + $7 = sp + 252|0; + $8 = sp + 64|0; + $9 = sp + 8|0; + ;HEAP32[$2>>2]=0|0;HEAP32[$2+4>>2]=0|0;HEAP32[$2+8>>2]=0|0;HEAP32[$2+12>>2]=0|0;HEAP32[$2+16>>2]=0|0;HEAP32[$2+20>>2]=0|0;HEAP32[$2+24>>2]=0|0;HEAP32[$2+28>>2]=0|0; + $10 = (_IsFileExtension($1,16615)|0); + $11 = ($10|0)==(0); + do { + if ($11) { + $35 = (_IsFileExtension($1,14072)|0); + $36 = ($35|0)==(0); + if (!($36)) { + _LoadSpriteFontEx($4,$1,32,0,0); + ;HEAP32[$2>>2]=HEAP32[$4>>2]|0;HEAP32[$2+4>>2]=HEAP32[$4+4>>2]|0;HEAP32[$2+8>>2]=HEAP32[$4+8>>2]|0;HEAP32[$2+12>>2]=HEAP32[$4+12>>2]|0;HEAP32[$2+16>>2]=HEAP32[$4+16>>2]|0;HEAP32[$2+20>>2]=HEAP32[$4+20>>2]|0;HEAP32[$2+24>>2]=HEAP32[$4+24>>2]|0;HEAP32[$2+28>>2]=HEAP32[$4+28>>2]|0; + break; + } + $37 = (_IsFileExtension($1,14077)|0); + $38 = ($37|0)==(0); + if (!($38)) { + _LoadBMFont($5,$1); + ;HEAP32[$2>>2]=HEAP32[$5>>2]|0;HEAP32[$2+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$2+8>>2]=HEAP32[$5+8>>2]|0;HEAP32[$2+12>>2]=HEAP32[$5+12>>2]|0;HEAP32[$2+16>>2]=HEAP32[$5+16>>2]|0;HEAP32[$2+20>>2]=HEAP32[$5+20>>2]|0;HEAP32[$2+24>>2]=HEAP32[$5+24>>2]|0;HEAP32[$2+28>>2]=HEAP32[$5+28>>2]|0; + break; + } + _LoadImage($6,$1); + $39 = HEAP32[$6>>2]|0; + $40 = ($39|0)==(0|0); + if (!($40)) { + HEAP8[$7>>0] = -1; + $41 = ((($7)) + 1|0); + HEAP8[$41>>0] = 0; + $42 = ((($7)) + 2|0); + HEAP8[$42>>0] = -1; + $43 = ((($7)) + 3|0); + HEAP8[$43>>0] = -1; + ;HEAP32[$$byval_copy2>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$6+4>>2]|0;HEAP32[$$byval_copy2+8>>2]=HEAP32[$6+8>>2]|0;HEAP32[$$byval_copy2+12>>2]=HEAP32[$6+12>>2]|0;HEAP32[$$byval_copy2+16>>2]=HEAP32[$6+16>>2]|0; + ;HEAP8[$$byval_copy5>>0]=HEAP8[$7>>0]|0;HEAP8[$$byval_copy5+1>>0]=HEAP8[$7+1>>0]|0;HEAP8[$$byval_copy5+2>>0]=HEAP8[$7+2>>0]|0;HEAP8[$$byval_copy5+3>>0]=HEAP8[$7+3>>0]|0; + _LoadImageFont($8,$$byval_copy2,$$byval_copy5); + ;HEAP32[$2>>2]=HEAP32[$8>>2]|0;HEAP32[$2+4>>2]=HEAP32[$8+4>>2]|0;HEAP32[$2+8>>2]=HEAP32[$8+8>>2]|0;HEAP32[$2+12>>2]=HEAP32[$8+12>>2]|0;HEAP32[$2+16>>2]=HEAP32[$8+16>>2]|0;HEAP32[$2+20>>2]=HEAP32[$8+20>>2]|0;HEAP32[$2+24>>2]=HEAP32[$8+24>>2]|0;HEAP32[$2+28>>2]=HEAP32[$8+28>>2]|0; + } + ;HEAP32[$$byval_copy5>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$6+4>>2]|0;HEAP32[$$byval_copy5+8>>2]=HEAP32[$6+8>>2]|0;HEAP32[$$byval_copy5+12>>2]=HEAP32[$6+12>>2]|0;HEAP32[$$byval_copy5+16>>2]=HEAP32[$6+16>>2]|0; + _UnloadImage($$byval_copy5); + } else { + $12 = (_LoadResource($1,0)|0); + $13 = HEAP32[$12>>2]|0; + $14 = ($13|0)==(5); + if ($14) { + $15 = ((($12)) + 20|0); + $16 = HEAP32[$15>>2]|0; + $17 = ((($12)) + 4|0); + $18 = HEAP32[$17>>2]|0; + $19 = ((($12)) + 8|0); + $20 = HEAP32[$19>>2]|0; + $21 = ((($12)) + 12|0); + $22 = HEAP32[$21>>2]|0; + _LoadImagePro($$byval_copy2,$16,$18,$20,$22); + ;HEAP32[$$byval_copy5>>2]=HEAP32[$$byval_copy2>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$$byval_copy2+4>>2]|0;HEAP32[$$byval_copy5+8>>2]=HEAP32[$$byval_copy2+8>>2]|0;HEAP32[$$byval_copy5+12>>2]=HEAP32[$$byval_copy2+12>>2]|0;HEAP32[$$byval_copy5+16>>2]=HEAP32[$$byval_copy2+16>>2]|0; + _LoadTextureFromImage($3,$$byval_copy5); + ;HEAP32[$2>>2]=HEAP32[$3>>2]|0;HEAP32[$2+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$2+8>>2]=HEAP32[$3+8>>2]|0;HEAP32[$2+12>>2]=HEAP32[$3+12>>2]|0;HEAP32[$2+16>>2]=HEAP32[$3+16>>2]|0; + ;HEAP32[$$byval_copy5>>2]=HEAP32[$$byval_copy2>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$$byval_copy2+4>>2]|0;HEAP32[$$byval_copy5+8>>2]=HEAP32[$$byval_copy2+8>>2]|0;HEAP32[$$byval_copy5+12>>2]=HEAP32[$$byval_copy2+12>>2]|0;HEAP32[$$byval_copy5+16>>2]=HEAP32[$$byval_copy2+16>>2]|0; + _UnloadImage($$byval_copy5); + } + $23 = ((($12)) + 24|0); + $24 = HEAP32[$23>>2]|0; + $25 = ($24|0)==(6); + if ($25) { + $26 = ((($12)) + 28|0); + $27 = HEAP32[$26>>2]|0; + $28 = ((($2)) + 20|0); + HEAP32[$28>>2] = $27; + $29 = ((($12)) + 32|0); + $30 = HEAP32[$29>>2]|0; + $31 = ((($2)) + 24|0); + HEAP32[$31>>2] = $30; + $32 = ((($12)) + 44|0); + $33 = HEAP32[$32>>2]|0; + $34 = ((($2)) + 28|0); + HEAP32[$34>>2] = $33; + } + } + } while(0); + $44 = HEAP32[$2>>2]|0; + $45 = ($44|0)==(0); + if ($45) { + HEAP32[$vararg_buffer>>2] = $1; + _TraceLog(1,14082,$vararg_buffer); + _GetDefaultFont($9); + ;HEAP32[$2>>2]=HEAP32[$9>>2]|0;HEAP32[$2+4>>2]=HEAP32[$9+4>>2]|0;HEAP32[$2+8>>2]=HEAP32[$9+8>>2]|0;HEAP32[$2+12>>2]=HEAP32[$9+12>>2]|0;HEAP32[$2+16>>2]=HEAP32[$9+16>>2]|0;HEAP32[$2+20>>2]=HEAP32[$9+20>>2]|0;HEAP32[$2+24>>2]=HEAP32[$9+24>>2]|0;HEAP32[$2+28>>2]=HEAP32[$9+28>>2]|0; + ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$2+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[$2+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[$2+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[$2+28>>2]|0; + STACKTOP = sp;return; + } else { + ;HEAP32[$$byval_copy5>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$$byval_copy5+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$$byval_copy5+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$$byval_copy5+16>>2]=HEAP32[$2+16>>2]|0; + _SetTextureFilter($$byval_copy5,0); + ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$2+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[$2+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[$2+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[$2+28>>2]|0; + STACKTOP = sp;return; + } +} +function _LoadSpriteFontEx($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$048 = 0, $$sroa$0$0 = 0, $$sroa$0$0$copyload = 0, $$sroa$0$0$copyload15 = 0, $$sroa$0$0$copyload17 = 0, $$sroa$0$1 = 0, $$sroa$8 = 0, $$sroa$8$0$$sroa_idx = 0, $$sroa$8$0$$sroa_idx23 = 0, $$sroa$8$0$$sroa_idx26 = 0, $$sroa$8$0$$sroa_idx29 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $5 = 0, $6 = 0; + var $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $or$cond = 0, $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 144|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(144|0); + $vararg_buffer = sp; + $$sroa$8 = sp + 104|0; + $5 = sp + 72|0; + $6 = sp + 40|0; + $7 = sp + 8|0; + ;HEAP32[$$sroa$8>>2]=0|0;HEAP32[$$sroa$8+4>>2]=0|0;HEAP32[$$sroa$8+8>>2]=0|0;HEAP32[$$sroa$8+12>>2]=0|0;HEAP32[$$sroa$8+16>>2]=0|0;HEAP32[$$sroa$8+20>>2]=0|0;HEAP32[$$sroa$8+24>>2]=0|0; + $8 = (_IsFileExtension($1,14072)|0); + $9 = ($8|0)==(0); + if (!($9)) { + $10 = ($4|0)==(0|0); + $11 = ($3|0)==(0); + $or$cond = $11 | $10; + if ($or$cond) { + $12 = (_malloc(380)|0); + $$048 = 0; + while(1) { + $13 = (($$048) + 32)|0; + $14 = (($12) + ($$048<<2)|0); + HEAP32[$14>>2] = $13; + $15 = (($$048) + 1)|0; + $exitcond = ($15|0)==(95); + if ($exitcond) { + break; + } else { + $$048 = $15; + } + } + _LoadTTF($5,$1,$2,95,$12); + $$sroa$0$0$copyload = HEAP32[$5>>2]|0; + $$sroa$8$0$$sroa_idx = ((($5)) + 4|0); + ;HEAP32[$$sroa$8>>2]=HEAP32[$$sroa$8$0$$sroa_idx>>2]|0;HEAP32[$$sroa$8+4>>2]=HEAP32[$$sroa$8$0$$sroa_idx+4>>2]|0;HEAP32[$$sroa$8+8>>2]=HEAP32[$$sroa$8$0$$sroa_idx+8>>2]|0;HEAP32[$$sroa$8+12>>2]=HEAP32[$$sroa$8$0$$sroa_idx+12>>2]|0;HEAP32[$$sroa$8+16>>2]=HEAP32[$$sroa$8$0$$sroa_idx+16>>2]|0;HEAP32[$$sroa$8+20>>2]=HEAP32[$$sroa$8$0$$sroa_idx+20>>2]|0;HEAP32[$$sroa$8+24>>2]=HEAP32[$$sroa$8$0$$sroa_idx+24>>2]|0; + $$sroa$0$0 = $$sroa$0$0$copyload; + } else { + _LoadTTF($6,$1,$2,$3,$4); + $$sroa$0$0$copyload15 = HEAP32[$6>>2]|0; + $$sroa$8$0$$sroa_idx23 = ((($6)) + 4|0); + ;HEAP32[$$sroa$8>>2]=HEAP32[$$sroa$8$0$$sroa_idx23>>2]|0;HEAP32[$$sroa$8+4>>2]=HEAP32[$$sroa$8$0$$sroa_idx23+4>>2]|0;HEAP32[$$sroa$8+8>>2]=HEAP32[$$sroa$8$0$$sroa_idx23+8>>2]|0;HEAP32[$$sroa$8+12>>2]=HEAP32[$$sroa$8$0$$sroa_idx23+12>>2]|0;HEAP32[$$sroa$8+16>>2]=HEAP32[$$sroa$8$0$$sroa_idx23+16>>2]|0;HEAP32[$$sroa$8+20>>2]=HEAP32[$$sroa$8$0$$sroa_idx23+20>>2]|0;HEAP32[$$sroa$8+24>>2]=HEAP32[$$sroa$8$0$$sroa_idx23+24>>2]|0; + $$sroa$0$0 = $$sroa$0$0$copyload15; + } + $16 = ($$sroa$0$0|0)==(0); + if (!($16)) { + $$sroa$0$1 = $$sroa$0$0; + HEAP32[$0>>2] = $$sroa$0$1; + $$sroa$8$0$$sroa_idx29 = ((($0)) + 4|0); + ;HEAP32[$$sroa$8$0$$sroa_idx29>>2]=HEAP32[$$sroa$8>>2]|0;HEAP32[$$sroa$8$0$$sroa_idx29+4>>2]=HEAP32[$$sroa$8+4>>2]|0;HEAP32[$$sroa$8$0$$sroa_idx29+8>>2]=HEAP32[$$sroa$8+8>>2]|0;HEAP32[$$sroa$8$0$$sroa_idx29+12>>2]=HEAP32[$$sroa$8+12>>2]|0;HEAP32[$$sroa$8$0$$sroa_idx29+16>>2]=HEAP32[$$sroa$8+16>>2]|0;HEAP32[$$sroa$8$0$$sroa_idx29+20>>2]=HEAP32[$$sroa$8+20>>2]|0;HEAP32[$$sroa$8$0$$sroa_idx29+24>>2]=HEAP32[$$sroa$8+24>>2]|0; + STACKTOP = sp;return; + } + } + HEAP32[$vararg_buffer>>2] = $1; + _TraceLog(1,14626,$vararg_buffer); + _GetDefaultFont($7); + $$sroa$0$0$copyload17 = HEAP32[$7>>2]|0; + $$sroa$8$0$$sroa_idx26 = ((($7)) + 4|0); + ;HEAP32[$$sroa$8>>2]=HEAP32[$$sroa$8$0$$sroa_idx26>>2]|0;HEAP32[$$sroa$8+4>>2]=HEAP32[$$sroa$8$0$$sroa_idx26+4>>2]|0;HEAP32[$$sroa$8+8>>2]=HEAP32[$$sroa$8$0$$sroa_idx26+8>>2]|0;HEAP32[$$sroa$8+12>>2]=HEAP32[$$sroa$8$0$$sroa_idx26+12>>2]|0;HEAP32[$$sroa$8+16>>2]=HEAP32[$$sroa$8$0$$sroa_idx26+16>>2]|0;HEAP32[$$sroa$8+20>>2]=HEAP32[$$sroa$8$0$$sroa_idx26+20>>2]|0;HEAP32[$$sroa$8+24>>2]=HEAP32[$$sroa$8$0$$sroa_idx26+24>>2]|0; + $$sroa$0$1 = $$sroa$0$0$copyload17; + HEAP32[$0>>2] = $$sroa$0$1; + $$sroa$8$0$$sroa_idx29 = ((($0)) + 4|0); + ;HEAP32[$$sroa$8$0$$sroa_idx29>>2]=HEAP32[$$sroa$8>>2]|0;HEAP32[$$sroa$8$0$$sroa_idx29+4>>2]=HEAP32[$$sroa$8+4>>2]|0;HEAP32[$$sroa$8$0$$sroa_idx29+8>>2]=HEAP32[$$sroa$8+8>>2]|0;HEAP32[$$sroa$8$0$$sroa_idx29+12>>2]=HEAP32[$$sroa$8+12>>2]|0;HEAP32[$$sroa$8$0$$sroa_idx29+16>>2]=HEAP32[$$sroa$8+16>>2]|0;HEAP32[$$sroa$8$0$$sroa_idx29+20>>2]=HEAP32[$$sroa$8+20>>2]|0;HEAP32[$$sroa$8$0$$sroa_idx29+24>>2]=HEAP32[$$sroa$8+24>>2]|0; + STACKTOP = sp;return; +} +function _LoadBMFont($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$05355 = 0, $$056 = 0, $$byval_copy52 = 0, $$sroa$0$0$$sroa_idx = 0, $$sroa$2$0$$sroa_idx1 = 0, $$sroa$3$0$$sroa_idx2 = 0, $$sroa$4$0$$sroa_idx3 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0; + var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0; + var $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0; + var $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0; + var $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer11 = 0, $vararg_buffer16 = 0, $vararg_buffer19 = 0, $vararg_buffer23 = 0, $vararg_buffer26 = 0, $vararg_buffer34 = 0, $vararg_buffer44 = 0, $vararg_buffer7 = 0, $vararg_ptr10 = 0; + var $vararg_ptr14 = 0, $vararg_ptr15 = 0, $vararg_ptr22 = 0, $vararg_ptr29 = 0, $vararg_ptr33 = 0, $vararg_ptr37 = 0, $vararg_ptr38 = 0, $vararg_ptr39 = 0, $vararg_ptr4 = 0, $vararg_ptr40 = 0, $vararg_ptr41 = 0, $vararg_ptr42 = 0, $vararg_ptr43 = 0, $vararg_ptr5 = 0, $vararg_ptr6 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 704|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(704|0); + $$byval_copy52 = sp + 152|0; + $vararg_buffer44 = sp + 144|0; + $vararg_buffer34 = sp + 112|0; + $vararg_buffer26 = sp + 88|0; + $vararg_buffer23 = sp + 64|0; + $vararg_buffer19 = sp + 56|0; + $vararg_buffer16 = sp + 48|0; + $vararg_buffer11 = sp + 32|0; + $vararg_buffer7 = sp + 24|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $2 = sp + 288|0; + $3 = sp + 448|0; + $4 = sp + 260|0; + $5 = sp + 236|0; + $6 = sp + 232|0; + $7 = sp + 320|0; + $8 = sp + 196|0; + $9 = sp + 192|0; + $10 = sp + 264|0; + $11 = sp + 240|0; + $12 = sp + 188|0; + $13 = sp + 184|0; + $14 = sp + 200|0; + ;HEAP32[$2>>2]=0|0;HEAP32[$2+4>>2]=0|0;HEAP32[$2+8>>2]=0|0;HEAP32[$2+12>>2]=0|0;HEAP32[$2+16>>2]=0|0;HEAP32[$2+20>>2]=0|0;HEAP32[$2+24>>2]=0|0;HEAP32[$2+28>>2]=0|0; + HEAP32[$4>>2] = 0; + HEAP32[$8>>2] = 0; + $15 = (_fopen($1,14224)|0); + $16 = ($15|0)==(0|0); + if ($16) { + HEAP32[$vararg_buffer>>2] = $1; + _TraceLog(1,14227,$vararg_buffer); + ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$2+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[$2+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[$2+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[$2+28>>2]|0; + STACKTOP = sp;return; + } + (_fgets($3,256,$15)|0); + (_fgets($3,256,$15)|0); + $17 = (_strstr($3,14261)|0); + HEAP32[$vararg_buffer1>>2] = $4; + $vararg_ptr4 = ((($vararg_buffer1)) + 4|0); + HEAP32[$vararg_ptr4>>2] = $9; + $vararg_ptr5 = ((($vararg_buffer1)) + 8|0); + HEAP32[$vararg_ptr5>>2] = $5; + $vararg_ptr6 = ((($vararg_buffer1)) + 12|0); + HEAP32[$vararg_ptr6>>2] = $6; + (_sscanf($17,14272,$vararg_buffer1)|0); + $18 = HEAP32[$4>>2]|0; + HEAP32[$vararg_buffer7>>2] = $1; + $vararg_ptr10 = ((($vararg_buffer7)) + 4|0); + HEAP32[$vararg_ptr10>>2] = $18; + _TraceLog(3,14314,$vararg_buffer7); + $19 = HEAP32[$5>>2]|0; + $20 = HEAP32[$6>>2]|0; + HEAP32[$vararg_buffer11>>2] = $1; + $vararg_ptr14 = ((($vararg_buffer11)) + 4|0); + HEAP32[$vararg_ptr14>>2] = $19; + $vararg_ptr15 = ((($vararg_buffer11)) + 8|0); + HEAP32[$vararg_ptr15>>2] = $20; + _TraceLog(3,14333,$vararg_buffer11); + (_fgets($3,256,$15)|0); + $21 = (_strstr($3,14364)|0); + HEAP32[$vararg_buffer16>>2] = $7; + (_sscanf($21,14369,$vararg_buffer16)|0); + HEAP32[$vararg_buffer19>>2] = $1; + $vararg_ptr22 = ((($vararg_buffer19)) + 4|0); + HEAP32[$vararg_ptr22>>2] = $7; + _TraceLog(3,14385,$vararg_buffer19); + (_fgets($3,256,$15)|0); + $22 = (_strstr($3,14416)|0); + HEAP32[$vararg_buffer23>>2] = $8; + (_sscanf($22,14422,$vararg_buffer23)|0); + $23 = HEAP32[$8>>2]|0; + HEAP32[$vararg_buffer26>>2] = $1; + $vararg_ptr29 = ((($vararg_buffer26)) + 4|0); + HEAP32[$vararg_ptr29>>2] = $23; + _TraceLog(3,14431,$vararg_buffer26); + $24 = (_strrchr($1,47)|0); + $25 = (_strlen($1)|0); + $26 = (_strlen($24)|0); + $27 = (_strlen($7)|0); + $28 = (($25) + 4)|0; + $29 = (($28) - ($26))|0; + $30 = (($29) + ($27))|0; + $31 = (_malloc($30)|0); + HEAP8[$31>>0] = 0; + $32 = (_strlen($1)|0); + $33 = (_strlen($24)|0); + $34 = (($32) + 1)|0; + $35 = (($34) - ($33))|0; + (_strncat($31,$1,$35)|0); + $36 = (_strlen($7)|0); + (_strncat($31,$7,$36)|0); + HEAP32[$$byval_copy52>>2] = $1; + $vararg_ptr33 = ((($$byval_copy52)) + 4|0); + HEAP32[$vararg_ptr33>>2] = $31; + _TraceLog(3,14455,$$byval_copy52); + _LoadImage($vararg_buffer26,$31); + $37 = ((($vararg_buffer26)) + 16|0); + $38 = HEAP32[$37>>2]|0; + $39 = ($38|0)==(1); + if ($39) { + ;HEAP32[$$byval_copy52>>2]=HEAP32[$vararg_buffer26>>2]|0;HEAP32[$$byval_copy52+4>>2]=HEAP32[$vararg_buffer26+4>>2]|0;HEAP32[$$byval_copy52+8>>2]=HEAP32[$vararg_buffer26+8>>2]|0;HEAP32[$$byval_copy52+12>>2]=HEAP32[$vararg_buffer26+12>>2]|0;HEAP32[$$byval_copy52+16>>2]=HEAP32[$vararg_buffer26+16>>2]|0; + _ImageCopy($vararg_buffer23,$$byval_copy52); + $40 = ((($vararg_buffer23)) + 4|0); + $41 = HEAP32[$40>>2]|0; + $42 = ((($vararg_buffer23)) + 8|0); + $43 = HEAP32[$42>>2]|0; + $44 = Math_imul($43, $41)|0; + $45 = ($44|0)>(0); + if ($45) { + $$056 = 0; + while(1) { + $46 = HEAP32[$vararg_buffer23>>2]|0; + $47 = (($46) + ($$056)|0); + HEAP8[$47>>0] = -1; + $48 = (($$056) + 1)|0; + $49 = HEAP32[$40>>2]|0; + $50 = HEAP32[$42>>2]|0; + $51 = Math_imul($50, $49)|0; + $52 = ($48|0)<($51|0); + if ($52) { + $$056 = $48; + } else { + break; + } + } + } + ;HEAP32[$$byval_copy52>>2]=HEAP32[$vararg_buffer26>>2]|0;HEAP32[$$byval_copy52+4>>2]=HEAP32[$vararg_buffer26+4>>2]|0;HEAP32[$$byval_copy52+8>>2]=HEAP32[$vararg_buffer26+8>>2]|0;HEAP32[$$byval_copy52+12>>2]=HEAP32[$vararg_buffer26+12>>2]|0;HEAP32[$$byval_copy52+16>>2]=HEAP32[$vararg_buffer26+16>>2]|0; + _ImageAlphaMask($vararg_buffer23,$$byval_copy52); + ;HEAP32[$$byval_copy52>>2]=HEAP32[$vararg_buffer23>>2]|0;HEAP32[$$byval_copy52+4>>2]=HEAP32[$vararg_buffer23+4>>2]|0;HEAP32[$$byval_copy52+8>>2]=HEAP32[$vararg_buffer23+8>>2]|0;HEAP32[$$byval_copy52+12>>2]=HEAP32[$vararg_buffer23+12>>2]|0;HEAP32[$$byval_copy52+16>>2]=HEAP32[$vararg_buffer23+16>>2]|0; + _LoadTextureFromImage($10,$$byval_copy52); + ;HEAP32[$2>>2]=HEAP32[$10>>2]|0;HEAP32[$2+4>>2]=HEAP32[$10+4>>2]|0;HEAP32[$2+8>>2]=HEAP32[$10+8>>2]|0;HEAP32[$2+12>>2]=HEAP32[$10+12>>2]|0;HEAP32[$2+16>>2]=HEAP32[$10+16>>2]|0; + ;HEAP32[$$byval_copy52>>2]=HEAP32[$vararg_buffer23>>2]|0;HEAP32[$$byval_copy52+4>>2]=HEAP32[$vararg_buffer23+4>>2]|0;HEAP32[$$byval_copy52+8>>2]=HEAP32[$vararg_buffer23+8>>2]|0;HEAP32[$$byval_copy52+12>>2]=HEAP32[$vararg_buffer23+12>>2]|0;HEAP32[$$byval_copy52+16>>2]=HEAP32[$vararg_buffer23+16>>2]|0; + _UnloadImage($$byval_copy52); + } else { + ;HEAP32[$$byval_copy52>>2]=HEAP32[$vararg_buffer26>>2]|0;HEAP32[$$byval_copy52+4>>2]=HEAP32[$vararg_buffer26+4>>2]|0;HEAP32[$$byval_copy52+8>>2]=HEAP32[$vararg_buffer26+8>>2]|0;HEAP32[$$byval_copy52+12>>2]=HEAP32[$vararg_buffer26+12>>2]|0;HEAP32[$$byval_copy52+16>>2]=HEAP32[$vararg_buffer26+16>>2]|0; + _LoadTextureFromImage($11,$$byval_copy52); + ;HEAP32[$2>>2]=HEAP32[$11>>2]|0;HEAP32[$2+4>>2]=HEAP32[$11+4>>2]|0;HEAP32[$2+8>>2]=HEAP32[$11+8>>2]|0;HEAP32[$2+12>>2]=HEAP32[$11+12>>2]|0;HEAP32[$2+16>>2]=HEAP32[$11+16>>2]|0; + } + $53 = HEAP32[$4>>2]|0; + $54 = ((($2)) + 20|0); + HEAP32[$54>>2] = $53; + $55 = HEAP32[$8>>2]|0; + $56 = ((($2)) + 24|0); + HEAP32[$56>>2] = $55; + $57 = $55 << 5; + $58 = (_malloc($57)|0); + $59 = ((($2)) + 28|0); + HEAP32[$59>>2] = $58; + ;HEAP32[$$byval_copy52>>2]=HEAP32[$vararg_buffer26>>2]|0;HEAP32[$$byval_copy52+4>>2]=HEAP32[$vararg_buffer26+4>>2]|0;HEAP32[$$byval_copy52+8>>2]=HEAP32[$vararg_buffer26+8>>2]|0;HEAP32[$$byval_copy52+12>>2]=HEAP32[$vararg_buffer26+12>>2]|0;HEAP32[$$byval_copy52+16>>2]=HEAP32[$vararg_buffer26+16>>2]|0; + _UnloadImage($$byval_copy52); + _free($31); + $60 = HEAP32[$8>>2]|0; + $61 = ($60|0)>(0); + if ($61) { + $$05355 = 0; + while(1) { + (_fgets($3,256,$15)|0); + HEAP32[$vararg_buffer34>>2] = $vararg_buffer23; + $vararg_ptr37 = ((($vararg_buffer34)) + 4|0); + HEAP32[$vararg_ptr37>>2] = $vararg_buffer19; + $vararg_ptr38 = ((($vararg_buffer34)) + 8|0); + HEAP32[$vararg_ptr38>>2] = $vararg_buffer16; + $vararg_ptr39 = ((($vararg_buffer34)) + 12|0); + HEAP32[$vararg_ptr39>>2] = $vararg_buffer11; + $vararg_ptr40 = ((($vararg_buffer34)) + 16|0); + HEAP32[$vararg_ptr40>>2] = $vararg_buffer7; + $vararg_ptr41 = ((($vararg_buffer34)) + 20|0); + HEAP32[$vararg_ptr41>>2] = $vararg_buffer1; + $vararg_ptr42 = ((($vararg_buffer34)) + 24|0); + HEAP32[$vararg_ptr42>>2] = $12; + $vararg_ptr43 = ((($vararg_buffer34)) + 28|0); + HEAP32[$vararg_ptr43>>2] = $13; + (_sscanf($3,14490,$vararg_buffer34)|0); + $64 = HEAP32[$vararg_buffer23>>2]|0; + $65 = HEAP32[$59>>2]|0; + $66 = (($65) + ($$05355<<5)|0); + HEAP32[$66>>2] = $64; + $67 = HEAP32[$59>>2]|0; + $68 = HEAP32[$vararg_buffer19>>2]|0; + $69 = HEAP32[$vararg_buffer16>>2]|0; + $70 = HEAP32[$vararg_buffer11>>2]|0; + $71 = HEAP32[$vararg_buffer7>>2]|0; + $$sroa$0$0$$sroa_idx = (((($67) + ($$05355<<5)|0)) + 4|0); + HEAP32[$$sroa$0$0$$sroa_idx>>2] = $68; + $$sroa$2$0$$sroa_idx1 = (((($67) + ($$05355<<5)|0)) + 8|0); + HEAP32[$$sroa$2$0$$sroa_idx1>>2] = $69; + $$sroa$3$0$$sroa_idx2 = (((($67) + ($$05355<<5)|0)) + 12|0); + HEAP32[$$sroa$3$0$$sroa_idx2>>2] = $70; + $$sroa$4$0$$sroa_idx3 = (((($67) + ($$05355<<5)|0)) + 16|0); + HEAP32[$$sroa$4$0$$sroa_idx3>>2] = $71; + $72 = HEAP32[$vararg_buffer1>>2]|0; + $73 = HEAP32[$59>>2]|0; + $74 = (((($73) + ($$05355<<5)|0)) + 20|0); + HEAP32[$74>>2] = $72; + $75 = HEAP32[$12>>2]|0; + $76 = HEAP32[$59>>2]|0; + $77 = (((($76) + ($$05355<<5)|0)) + 24|0); + HEAP32[$77>>2] = $75; + $78 = HEAP32[$13>>2]|0; + $79 = HEAP32[$59>>2]|0; + $80 = (((($79) + ($$05355<<5)|0)) + 28|0); + HEAP32[$80>>2] = $78; + $81 = (($$05355) + 1)|0; + $82 = HEAP32[$8>>2]|0; + $83 = ($81|0)<($82|0); + if ($83) { + $$05355 = $81; + } else { + break; + } + } + } + (_fclose($15)|0); + $62 = HEAP32[$2>>2]|0; + $63 = ($62|0)==(0); + if ($63) { + ;HEAP32[$$byval_copy52>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy52+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$$byval_copy52+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$$byval_copy52+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$$byval_copy52+16>>2]=HEAP32[$2+16>>2]|0;HEAP32[$$byval_copy52+20>>2]=HEAP32[$2+20>>2]|0;HEAP32[$$byval_copy52+24>>2]=HEAP32[$2+24>>2]|0;HEAP32[$$byval_copy52+28>>2]=HEAP32[$2+28>>2]|0; + _UnloadSpriteFont($$byval_copy52); + _GetDefaultFont($14); + ;HEAP32[$2>>2]=HEAP32[$14>>2]|0;HEAP32[$2+4>>2]=HEAP32[$14+4>>2]|0;HEAP32[$2+8>>2]=HEAP32[$14+8>>2]|0;HEAP32[$2+12>>2]=HEAP32[$14+12>>2]|0;HEAP32[$2+16>>2]=HEAP32[$14+16>>2]|0;HEAP32[$2+20>>2]=HEAP32[$14+20>>2]|0;HEAP32[$2+24>>2]=HEAP32[$14+24>>2]|0;HEAP32[$2+28>>2]=HEAP32[$14+28>>2]|0; + } else { + HEAP32[$vararg_buffer44>>2] = $1; + _TraceLog(0,14564,$vararg_buffer44); + } + ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$2+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[$2+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[$2+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[$2+28>>2]|0; + STACKTOP = sp;return; +} +function _LoadImageFont($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$0195$lcssa = 0, $$019552 = 0, $$019622 = 0, $$0197 = 0, $$020032 = 0, $$0201$lcssa = 0, $$020131 = 0, $$0203 = 0, $$021 = 0, $$1$lcssa = 0, $$119927 = 0, $$1202$lcssa = 0, $$120226 = 0, $$135 = 0, $$2 = 0, $$byval_copy4 = 0, $$sroa$0 = 0, $$sroa$5$0$$sroa_idx15 = 0, $$sroa$6$0$$sroa_idx17 = 0, $$sroa$9$0$$sroa_idx20 = 0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0; + var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; + var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; + var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0; + var $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0; + var $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0; + var $97 = 0, $98 = 0, $99 = 0, $exitcond = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 5232|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(5232|0); + $$byval_copy4 = sp + 5200|0; + $vararg_buffer1 = sp + 48|0; + $vararg_buffer = sp + 24|0; + $3 = sp + 4176|0; + $4 = sp + 56|0; + $$sroa$0 = sp; + $5 = sp + 4152|0; + ;HEAP32[$$byval_copy4>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$$byval_copy4+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[$$byval_copy4+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[$$byval_copy4+16>>2]=HEAP32[$1+16>>2]|0; + $6 = (_GetImageData($$byval_copy4)|0); + $7 = ((($1)) + 8|0); + $8 = HEAP32[$7>>2]|0; + $9 = ($8|0)>(0); + L1: do { + if ($9) { + $10 = ((($1)) + 4|0); + $11 = HEAP32[$10>>2]|0; + $12 = ($11|0)>(0); + $13 = HEAP8[$2>>0]|0; + $14 = ((($2)) + 1|0); + $15 = HEAP8[$14>>0]|0; + $16 = ((($2)) + 2|0); + $17 = HEAP8[$16>>0]|0; + $18 = ((($2)) + 3|0); + $19 = HEAP8[$18>>0]|0; + $20 = HEAP8[$2>>0]|0; + $21 = ((($2)) + 1|0); + $22 = HEAP8[$21>>0]|0; + $23 = ((($2)) + 2|0); + $24 = HEAP8[$23>>0]|0; + $25 = ((($2)) + 3|0); + $26 = HEAP8[$25>>0]|0; + $27 = HEAP32[$10>>2]|0; + $$019552 = 0; + while(1) { + L5: do { + if ($12) { + $$135 = 0;$29 = $11; + while(1) { + $28 = Math_imul($29, $$019552)|0; + $30 = (($28) + ($$135))|0; + $31 = (($6) + ($30<<2)|0); + $32 = HEAP8[$31>>0]|0; + $33 = ($32<<24>>24)==($20<<24>>24); + if (!($33)) { + $$1$lcssa = $$135; + break L5; + } + $34 = (((($6) + ($30<<2)|0)) + 1|0); + $35 = HEAP8[$34>>0]|0; + $36 = ($35<<24>>24)==($22<<24>>24); + if (!($36)) { + $$1$lcssa = $$135; + break L5; + } + $37 = (((($6) + ($30<<2)|0)) + 2|0); + $38 = HEAP8[$37>>0]|0; + $39 = ($38<<24>>24)==($24<<24>>24); + if (!($39)) { + $$1$lcssa = $$135; + break L5; + } + $40 = (((($6) + ($30<<2)|0)) + 3|0); + $41 = HEAP8[$40>>0]|0; + $42 = ($41<<24>>24)==($26<<24>>24); + if (!($42)) { + $$1$lcssa = $$135; + break L5; + } + $43 = (($$135) + 1)|0; + $44 = HEAP32[$10>>2]|0; + $45 = ($43|0)<($44|0); + if ($45) { + $$135 = $43;$29 = $44; + } else { + $$1$lcssa = $43; + break; + } + } + } else { + $$1$lcssa = 0; + } + } while(0); + $46 = Math_imul($27, $$019552)|0; + $47 = (($46) + ($$1$lcssa))|0; + $48 = (($6) + ($47<<2)|0); + $49 = HEAP8[$48>>0]|0; + $50 = ($49<<24>>24)==($13<<24>>24); + if (!($50)) { + $$0195$lcssa = $$019552;$$2 = $$1$lcssa; + break L1; + } + $51 = (((($6) + ($47<<2)|0)) + 1|0); + $52 = HEAP8[$51>>0]|0; + $53 = ($52<<24>>24)==($15<<24>>24); + if (!($53)) { + $$0195$lcssa = $$019552;$$2 = $$1$lcssa; + break L1; + } + $54 = (((($6) + ($47<<2)|0)) + 2|0); + $55 = HEAP8[$54>>0]|0; + $56 = ($55<<24>>24)==($17<<24>>24); + if (!($56)) { + $$0195$lcssa = $$019552;$$2 = $$1$lcssa; + break L1; + } + $57 = (((($6) + ($47<<2)|0)) + 3|0); + $58 = HEAP8[$57>>0]|0; + $59 = ($58<<24>>24)==($19<<24>>24); + if (!($59)) { + $$0195$lcssa = $$019552;$$2 = $$1$lcssa; + break L1; + } + $60 = (($$019552) + 1)|0; + $61 = HEAP32[$7>>2]|0; + $62 = ($60|0)<($61|0); + if ($62) { + $$019552 = $60; + } else { + $$0195$lcssa = $60;$$2 = $$1$lcssa; + break; + } + } + } else { + $$0195$lcssa = 0;$$2 = 0; + } + } while(0); + $63 = ((($1)) + 4|0); + $64 = HEAP32[$63>>2]|0; + $65 = HEAP8[$2>>0]|0; + $66 = ((($2)) + 1|0); + $67 = HEAP8[$66>>0]|0; + $68 = ((($2)) + 2|0); + $69 = HEAP8[$68>>0]|0; + $70 = ((($2)) + 3|0); + $71 = HEAP8[$70>>0]|0; + $$0203 = 0; + while(1) { + $72 = (($$0203) + ($$0195$lcssa))|0; + $73 = Math_imul($72, $64)|0; + $74 = (($73) + ($$2))|0; + $75 = (($6) + ($74<<2)|0); + $76 = HEAP8[$75>>0]|0; + $77 = ($76<<24>>24)==($65<<24>>24); + if ($77) { + $78 = (((($6) + ($74<<2)|0)) + 1|0); + $79 = HEAP8[$78>>0]|0; + $80 = ($79<<24>>24)==($67<<24>>24); + if ($80) { + $81 = (((($6) + ($74<<2)|0)) + 2|0); + $82 = HEAP8[$81>>0]|0; + $83 = ($82<<24>>24)==($69<<24>>24); + if ($83) { + $84 = (((($6) + ($74<<2)|0)) + 3|0); + $85 = HEAP8[$84>>0]|0; + $86 = ($85<<24>>24)==($71<<24>>24); + if ($86) { + break; + } + } + } + } + $96 = (($$0203) + 1)|0; + $$0203 = $96; + } + $87 = HEAP32[$7>>2]|0; + $88 = ($$0195$lcssa|0)<($87|0); + if ($88) { + $89 = HEAP32[$63>>2]|0; + $90 = ($$2|0)<($89|0); + $91 = HEAP32[$7>>2]|0; + $92 = HEAP8[$2>>0]|0; + $93 = HEAP8[$66>>0]|0; + $94 = HEAP8[$68>>0]|0; + $95 = HEAP8[$70>>0]|0; + $$020032 = 0;$$020131 = 0;$99 = $$0195$lcssa; + while(1) { + L30: do { + if ($90) { + $$119927 = $$2;$$120226 = $$020131;$98 = $89; + while(1) { + $97 = Math_imul($98, $99)|0; + $100 = (($97) + ($$119927))|0; + $101 = (($6) + ($100<<2)|0); + $102 = HEAP8[$101>>0]|0; + $103 = ($102<<24>>24)==($92<<24>>24); + if ($103) { + $104 = (((($6) + ($100<<2)|0)) + 1|0); + $105 = HEAP8[$104>>0]|0; + $106 = ($105<<24>>24)==($93<<24>>24); + if ($106) { + $107 = (((($6) + ($100<<2)|0)) + 2|0); + $108 = HEAP8[$107>>0]|0; + $109 = ($108<<24>>24)==($94<<24>>24); + if ($109) { + $110 = (((($6) + ($100<<2)|0)) + 3|0); + $111 = HEAP8[$110>>0]|0; + $112 = ($111<<24>>24)==($95<<24>>24); + if ($112) { + $$1202$lcssa = $$120226; + break L30; + } + } + } + } + $113 = (($$120226) + 32)|0; + $114 = (($3) + ($$120226<<2)|0); + HEAP32[$114>>2] = $113; + $115 = (($4) + ($$120226<<4)|0); + HEAP32[$115>>2] = $$119927; + $116 = (((($4) + ($$120226<<4)|0)) + 4|0); + HEAP32[$116>>2] = $99; + $117 = (((($4) + ($$120226<<4)|0)) + 12|0); + HEAP32[$117>>2] = $$0203; + $118 = HEAP32[$63>>2]|0; + $119 = Math_imul($118, $99)|0; + $$0197 = 0; + while(1) { + $120 = (($$0197) + ($$119927))|0; + $121 = (($120) + ($119))|0; + $122 = (($6) + ($121<<2)|0); + $123 = HEAP8[$122>>0]|0; + $124 = ($123<<24>>24)==($92<<24>>24); + if ($124) { + $125 = (((($6) + ($121<<2)|0)) + 1|0); + $126 = HEAP8[$125>>0]|0; + $127 = ($126<<24>>24)==($93<<24>>24); + if ($127) { + $128 = (((($6) + ($121<<2)|0)) + 2|0); + $129 = HEAP8[$128>>0]|0; + $130 = ($129<<24>>24)==($94<<24>>24); + if ($130) { + $131 = (((($6) + ($121<<2)|0)) + 3|0); + $132 = HEAP8[$131>>0]|0; + $133 = ($132<<24>>24)==($95<<24>>24); + if ($133) { + break; + } + } + } + } + $134 = (($$0197) + 1)|0; + $$0197 = $134; + } + $135 = (((($4) + ($$120226<<4)|0)) + 8|0); + HEAP32[$135>>2] = $$0197; + $136 = (($$120226) + 1)|0; + $137 = (($$119927) + ($$2))|0; + $138 = (($137) + ($$0197))|0; + $139 = HEAP32[$63>>2]|0; + $140 = ($138|0)<($139|0); + if ($140) { + $$119927 = $138;$$120226 = $136;$98 = $139; + } else { + $$1202$lcssa = $136; + break; + } + } + } else { + $$1202$lcssa = $$020131; + } + } while(0); + $141 = (($$020032) + 1)|0; + $142 = Math_imul($141, $72)|0; + $143 = (($142) + ($$0195$lcssa))|0; + $144 = ($143|0)<($91|0); + if ($144) { + $$020032 = $141;$$020131 = $$1202$lcssa;$99 = $143; + } else { + $$0201$lcssa = $$1202$lcssa; + break; + } + } + } else { + $$0201$lcssa = 0; + } + _TraceLog(3,14138,$vararg_buffer); + $145 = HEAP32[$7>>2]|0; + $146 = HEAP32[$63>>2]|0; + $147 = Math_imul($146, $145)|0; + $148 = ($147|0)>(0); + if ($148) { + $149 = HEAP8[$2>>0]|0; + $150 = HEAP8[$66>>0]|0; + $151 = HEAP8[$68>>0]|0; + $152 = HEAP8[$70>>0]|0; + $$019622 = 0; + while(1) { + $158 = (($6) + ($$019622<<2)|0); + $159 = HEAP8[$158>>0]|0; + $160 = ($159<<24>>24)==($149<<24>>24); + if ($160) { + $161 = (((($6) + ($$019622<<2)|0)) + 1|0); + $162 = HEAP8[$161>>0]|0; + $163 = ($162<<24>>24)==($150<<24>>24); + if ($163) { + $164 = (((($6) + ($$019622<<2)|0)) + 2|0); + $165 = HEAP8[$164>>0]|0; + $166 = ($165<<24>>24)==($151<<24>>24); + if ($166) { + $167 = (((($6) + ($$019622<<2)|0)) + 3|0); + $168 = HEAP8[$167>>0]|0; + $169 = ($168<<24>>24)==($152<<24>>24); + if ($169) { + HEAP8[$158>>0]=0&255;HEAP8[$158+1>>0]=(0>>8)&255;HEAP8[$158+2>>0]=(0>>16)&255;HEAP8[$158+3>>0]=0>>24; + } + } + } + } + $170 = (($$019622) + 1)|0; + $171 = HEAP32[$7>>2]|0; + $172 = HEAP32[$63>>2]|0; + $173 = Math_imul($172, $171)|0; + $174 = ($170|0)<($173|0); + if ($174) { + $$019622 = $170; + } else { + break; + } + } + } + $153 = HEAP32[$63>>2]|0; + $154 = HEAP32[$7>>2]|0; + _LoadImageEx($vararg_buffer,$6,$153,$154); + _free($6); + ;HEAP32[$$sroa$0>>2]=0|0;HEAP32[$$sroa$0+4>>2]=0|0;HEAP32[$$sroa$0+8>>2]=0|0;HEAP32[$$sroa$0+12>>2]=0|0;HEAP32[$$sroa$0+16>>2]=0|0; + ;HEAP32[$$byval_copy4>>2]=HEAP32[$vararg_buffer>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$vararg_buffer+4>>2]|0;HEAP32[$$byval_copy4+8>>2]=HEAP32[$vararg_buffer+8>>2]|0;HEAP32[$$byval_copy4+12>>2]=HEAP32[$vararg_buffer+12>>2]|0;HEAP32[$$byval_copy4+16>>2]=HEAP32[$vararg_buffer+16>>2]|0; + _LoadTextureFromImage($5,$$byval_copy4); + ;HEAP32[$$sroa$0>>2]=HEAP32[$5>>2]|0;HEAP32[$$sroa$0+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$$sroa$0+8>>2]=HEAP32[$5+8>>2]|0;HEAP32[$$sroa$0+12>>2]=HEAP32[$5+12>>2]|0;HEAP32[$$sroa$0+16>>2]=HEAP32[$5+16>>2]|0; + ;HEAP32[$$byval_copy4>>2]=HEAP32[$vararg_buffer>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$vararg_buffer+4>>2]|0;HEAP32[$$byval_copy4+8>>2]=HEAP32[$vararg_buffer+8>>2]|0;HEAP32[$$byval_copy4+12>>2]=HEAP32[$vararg_buffer+12>>2]|0;HEAP32[$$byval_copy4+16>>2]=HEAP32[$vararg_buffer+16>>2]|0; + _UnloadImage($$byval_copy4); + $155 = $$0201$lcssa << 5; + $156 = (_malloc($155)|0); + $157 = ($$0201$lcssa|0)>(0); + if ($157) { + $$021 = 0; + } else { + $175 = ((($156)) + 16|0); + $176 = HEAP32[$175>>2]|0; + _TraceLog(0,14182,$vararg_buffer1); + ;HEAP32[$0>>2]=HEAP32[$$sroa$0>>2]|0;HEAP32[$0+4>>2]=HEAP32[$$sroa$0+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$$sroa$0+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$$sroa$0+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$$sroa$0+16>>2]|0; + $$sroa$5$0$$sroa_idx15 = ((($0)) + 20|0); + HEAP32[$$sroa$5$0$$sroa_idx15>>2] = $176; + $$sroa$6$0$$sroa_idx17 = ((($0)) + 24|0); + HEAP32[$$sroa$6$0$$sroa_idx17>>2] = $$0201$lcssa; + $$sroa$9$0$$sroa_idx20 = ((($0)) + 28|0); + HEAP32[$$sroa$9$0$$sroa_idx20>>2] = $156; + STACKTOP = sp;return; + } + while(1) { + $177 = (($3) + ($$021<<2)|0); + $178 = HEAP32[$177>>2]|0; + $179 = (($156) + ($$021<<5)|0); + HEAP32[$179>>2] = $178; + $180 = (((($156) + ($$021<<5)|0)) + 4|0); + $181 = (($4) + ($$021<<4)|0); + ;HEAP32[$180>>2]=HEAP32[$181>>2]|0;HEAP32[$180+4>>2]=HEAP32[$181+4>>2]|0;HEAP32[$180+8>>2]=HEAP32[$181+8>>2]|0;HEAP32[$180+12>>2]=HEAP32[$181+12>>2]|0; + $182 = (((($156) + ($$021<<5)|0)) + 20|0); + HEAP32[$182>>2] = 0; + $183 = (((($156) + ($$021<<5)|0)) + 24|0); + HEAP32[$183>>2] = 0; + $184 = (((($156) + ($$021<<5)|0)) + 28|0); + HEAP32[$184>>2] = 0; + $185 = (($$021) + 1)|0; + $exitcond = ($185|0)==($$0201$lcssa|0); + if ($exitcond) { + break; + } else { + $$021 = $185; + } + } + $175 = ((($156)) + 16|0); + $176 = HEAP32[$175>>2]|0; + _TraceLog(0,14182,$vararg_buffer1); + ;HEAP32[$0>>2]=HEAP32[$$sroa$0>>2]|0;HEAP32[$0+4>>2]=HEAP32[$$sroa$0+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$$sroa$0+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$$sroa$0+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$$sroa$0+16>>2]|0; + $$sroa$5$0$$sroa_idx15 = ((($0)) + 20|0); + HEAP32[$$sroa$5$0$$sroa_idx15>>2] = $176; + $$sroa$6$0$$sroa_idx17 = ((($0)) + 24|0); + HEAP32[$$sroa$6$0$$sroa_idx17>>2] = $$0201$lcssa; + $$sroa$9$0$$sroa_idx20 = ((($0)) + 28|0); + HEAP32[$$sroa$9$0$$sroa_idx20>>2] = $156; + STACKTOP = sp;return; +} +function _UnloadSpriteFont($0) { + $0 = $0|0; + var $$byval_copy = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $$byval_copy = sp + 40|0; + $vararg_buffer = sp; + $1 = sp + 8|0; + $2 = HEAP32[$0>>2]|0; + _GetDefaultFont($1); + $3 = HEAP32[$1>>2]|0; + $4 = ($2|0)==($3|0); + if ($4) { + STACKTOP = sp;return; + } + ;HEAP32[$$byval_copy>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$0+16>>2]|0; + _UnloadTexture($$byval_copy); + $5 = ((($0)) + 28|0); + $6 = HEAP32[$5>>2]|0; + _free($6); + _TraceLog(3,14600,$vararg_buffer); + STACKTOP = sp;return; +} +function _LoadTTF($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$0124130 = 0, $$0125129 = 0, $$0128 = 0, $$byval_copy9 = 0, $$sroa$0 = 0, $$sroa$10$0$$sroa_idx58 = 0, $$sroa$10$0$$sroa_idx59 = 0, $$sroa$6$0$$sroa_idx49 = 0, $$sroa$6$0$$sroa_idx50 = 0, $$sroa$7$0$$sroa_idx53 = 0, $$sroa$7$0$$sroa_idx54 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0; + var $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0; + var $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0; + var $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0.0, $70 = 0, $71 = 0.0, $72 = 0, $73 = 0, $74 = 0, $75 = 0.0; + var $76 = 0, $77 = 0, $78 = 0, $79 = 0.0, $8 = 0.0, $80 = 0, $81 = 0, $82 = 0, $9 = 0.0, $exitcond = 0, $exp2 = 0.0, $vararg_buffer2 = 0, $vararg_buffer5 = 0, $vararg_buffer7 = 0, $vararg_ptr1 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0); + $$byval_copy9 = sp + 48|0; + $vararg_buffer7 = sp + 40|0; + $vararg_buffer5 = sp + 32|0; + $vararg_buffer2 = sp + 24|0; + $$sroa$0 = sp; + $5 = sp + 68|0; + $6 = sp + 88|0; + $7 = (+($2|0)); + $8 = $7 * 3.0; + $9 = $8 * 0.25; + $10 = (+Math_ceil((+$9))); + $11 = (+($3|0)); + $12 = (+Math_sqrt((+$11))); + $13 = (+Math_ceil((+$12))); + $14 = $10 * $13; + $15 = (+Math_log((+$14))); + $16 = $15 / 0.69314718246459961; + $17 = (+Math_ceil((+$16))); + $exp2 = (+_llvm_exp2_f32((+$17))); + $18 = (~~(($exp2))); + HEAP32[$$byval_copy9>>2] = $18; + $vararg_ptr1 = ((($$byval_copy9)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $18; + _TraceLog(0,14685,$$byval_copy9); + $19 = (_malloc(16777216)|0); + $20 = Math_imul($18, $18)|0; + $21 = (_malloc($20)|0); + $22 = ($3*20)|0; + $23 = (_malloc($22)|0); + ;HEAP32[$$sroa$0>>2]=0|0;HEAP32[$$sroa$0+4>>2]=0|0;HEAP32[$$sroa$0+8>>2]=0|0;HEAP32[$$sroa$0+12>>2]=0|0;HEAP32[$$sroa$0+16>>2]=0|0; + $24 = (_fopen($1,17460)|0); + $25 = ($24|0)==(0|0); + if ($25) { + HEAP32[$vararg_buffer2>>2] = $1; + _TraceLog(1,14739,$vararg_buffer2); + ;HEAP32[$0>>2]=HEAP32[$$sroa$0>>2]|0;HEAP32[$0+4>>2]=HEAP32[$$sroa$0+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$$sroa$0+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$$sroa$0+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$$sroa$0+16>>2]|0; + $$sroa$6$0$$sroa_idx49 = ((($0)) + 20|0); + HEAP32[$$sroa$6$0$$sroa_idx49>>2] = 0; + $$sroa$7$0$$sroa_idx53 = ((($0)) + 24|0); + HEAP32[$$sroa$7$0$$sroa_idx53>>2] = 0; + $$sroa$10$0$$sroa_idx58 = ((($0)) + 28|0); + HEAP32[$$sroa$10$0$$sroa_idx58>>2] = 0; + STACKTOP = sp;return; + } + (_fread($19,1,16777216,$24)|0); + $26 = HEAP32[$4>>2]|0; + $27 = ($26|0)==(32); + if (!($27)) { + _TraceLog(1,14773,$vararg_buffer5); + } + $28 = HEAP32[$4>>2]|0; + $29 = (_stbtt_BakeFontBitmap($19,$7,$21,$18,$18,$28,$3,$23)|0); + $30 = ($29|0)<(0); + if ($30) { + _TraceLog(1,14840,$vararg_buffer7); + } + _free($19); + $31 = $20 << 1; + $32 = (_malloc($31)|0); + $33 = ($20|0)==(0); + if (!($33)) { + $$0124130 = 0;$$0125129 = 0; + while(1) { + $41 = (($32) + ($$0124130)|0); + HEAP8[$41>>0] = -1; + $42 = (($21) + ($$0125129)|0); + $43 = HEAP8[$42>>0]|0; + $44 = $$0124130 | 1; + $45 = (($32) + ($44)|0); + HEAP8[$45>>0] = $43; + $46 = (($$0125129) + 1)|0; + $47 = (($$0124130) + 2)|0; + $48 = ($46|0)<($20|0); + if ($48) { + $$0124130 = $47;$$0125129 = $46; + } else { + break; + } + } + } + _free($21); + $34 = ((($5)) + 4|0); + HEAP32[$34>>2] = $18; + $35 = ((($5)) + 8|0); + HEAP32[$35>>2] = $18; + $36 = ((($5)) + 12|0); + HEAP32[$36>>2] = 1; + $37 = ((($5)) + 16|0); + HEAP32[$37>>2] = 2; + HEAP32[$5>>2] = $32; + ;HEAP32[$$byval_copy9>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy9+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$$byval_copy9+8>>2]=HEAP32[$5+8>>2]|0;HEAP32[$$byval_copy9+12>>2]=HEAP32[$5+12>>2]|0;HEAP32[$$byval_copy9+16>>2]=HEAP32[$5+16>>2]|0; + _LoadTextureFromImage($6,$$byval_copy9); + ;HEAP32[$$sroa$0>>2]=HEAP32[$6>>2]|0;HEAP32[$$sroa$0+4>>2]=HEAP32[$6+4>>2]|0;HEAP32[$$sroa$0+8>>2]=HEAP32[$6+8>>2]|0;HEAP32[$$sroa$0+12>>2]=HEAP32[$6+12>>2]|0;HEAP32[$$sroa$0+16>>2]=HEAP32[$6+16>>2]|0; + ;HEAP32[$$byval_copy9>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy9+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$$byval_copy9+8>>2]=HEAP32[$5+8>>2]|0;HEAP32[$$byval_copy9+12>>2]=HEAP32[$5+12>>2]|0;HEAP32[$$byval_copy9+16>>2]=HEAP32[$5+16>>2]|0; + _UnloadImage($$byval_copy9); + $38 = $3 << 5; + $39 = (_malloc($38)|0); + $40 = ($3|0)>(0); + if ($40) { + $$0128 = 0; + while(1) { + $49 = (($4) + ($$0128<<2)|0); + $50 = HEAP32[$49>>2]|0; + $51 = (($39) + ($$0128<<5)|0); + HEAP32[$51>>2] = $50; + $52 = (($23) + (($$0128*20)|0)|0); + $53 = HEAP16[$52>>1]|0; + $54 = $53&65535; + $55 = (((($39) + ($$0128<<5)|0)) + 4|0); + HEAP32[$55>>2] = $54; + $56 = (((($23) + (($$0128*20)|0)|0)) + 2|0); + $57 = HEAP16[$56>>1]|0; + $58 = $57&65535; + $59 = (((($39) + ($$0128<<5)|0)) + 8|0); + HEAP32[$59>>2] = $58; + $60 = (((($23) + (($$0128*20)|0)|0)) + 4|0); + $61 = HEAP16[$60>>1]|0; + $62 = $61&65535; + $63 = (($62) - ($54))|0; + $64 = (((($39) + ($$0128<<5)|0)) + 12|0); + HEAP32[$64>>2] = $63; + $65 = (((($23) + (($$0128*20)|0)|0)) + 6|0); + $66 = HEAP16[$65>>1]|0; + $67 = $66&65535; + $68 = (($67) - ($58))|0; + $69 = (((($39) + ($$0128<<5)|0)) + 16|0); + HEAP32[$69>>2] = $68; + $70 = (((($23) + (($$0128*20)|0)|0)) + 8|0); + $71 = +HEAPF32[$70>>2]; + $72 = (~~(($71))); + $73 = (((($39) + ($$0128<<5)|0)) + 20|0); + HEAP32[$73>>2] = $72; + $74 = (((($23) + (($$0128*20)|0)|0)) + 12|0); + $75 = +HEAPF32[$74>>2]; + $76 = (~~(($75))); + $77 = (((($39) + ($$0128<<5)|0)) + 24|0); + HEAP32[$77>>2] = $76; + $78 = (((($23) + (($$0128*20)|0)|0)) + 16|0); + $79 = +HEAPF32[$78>>2]; + $80 = (~~(($79))); + $81 = (((($39) + ($$0128<<5)|0)) + 28|0); + HEAP32[$81>>2] = $80; + $82 = (($$0128) + 1)|0; + $exitcond = ($82|0)==($3|0); + if ($exitcond) { + break; + } else { + $$0128 = $82; + } + } + } + _free($23); + ;HEAP32[$0>>2]=HEAP32[$$sroa$0>>2]|0;HEAP32[$0+4>>2]=HEAP32[$$sroa$0+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$$sroa$0+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$$sroa$0+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$$sroa$0+16>>2]|0; + $$sroa$6$0$$sroa_idx50 = ((($0)) + 20|0); + HEAP32[$$sroa$6$0$$sroa_idx50>>2] = $2; + $$sroa$7$0$$sroa_idx54 = ((($0)) + 24|0); + HEAP32[$$sroa$7$0$$sroa_idx54>>2] = $3; + $$sroa$10$0$$sroa_idx59 = ((($0)) + 28|0); + HEAP32[$$sroa$10$0$$sroa_idx59>>2] = $39; + STACKTOP = sp;return; +} +function _stbtt_BakeFontBitmap($0,$1,$2,$3,$4,$5,$6,$7) { + $0 = $0|0; + $1 = +$1; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + $6 = $6|0; + $7 = $7|0; + var $8 = 0, label = 0, sp = 0; + sp = STACKTOP; + $8 = (_stbtt_BakeFontBitmap_internal($0,$1,$2,$3,$4,$5,$6,$7)|0); + return ($8|0); +} +function _stbtt_BakeFontBitmap_internal($0,$1,$2,$3,$4,$5,$6,$7) { + $0 = $0|0; + $1 = +$1; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + $6 = $6|0; + $7 = $7|0; + var $$05 = 0, $$084$ = 0, $$0844 = 0, $$087$$091 = 0, $$0873 = 0, $$089 = 0, $$0902 = 0, $$091$ = 0, $$0911 = 0, $$1 = 0, $$2 = 0, $$286 = 0, $$293 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0; + var $17 = 0, $18 = 0.0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0; + var $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0.0, $52 = 0.0, $53 = 0, $54 = 0, $55 = 0.0, $56 = 0; + var $57 = 0, $58 = 0.0, $59 = 0, $60 = 0, $61 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 144|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(144|0); + $8 = sp + 24|0; + $9 = sp + 20|0; + $10 = sp + 16|0; + $11 = sp + 12|0; + $12 = sp + 8|0; + $13 = sp + 4|0; + $14 = sp; + HEAP32[$8>>2] = 0; + $15 = (_stbtt_InitFont($8,$0)|0); + $16 = ($15|0)==(0); + if ($16) { + $$2 = -1; + STACKTOP = sp;return ($$2|0); + } + $17 = Math_imul($4, $3)|0; + _memset(($2|0),0,($17|0))|0; + $18 = (+_stbtt_ScaleForPixelHeight($8,$1)); + $19 = ($6|0)>(0); + if (!($19)) { + $$2 = 1; + STACKTOP = sp;return ($$2|0); + } + $$05 = 0;$$0844 = 1;$$0873 = 1;$$0902 = 0;$$0911 = 1; + while(1) { + $22 = (($$0902) + ($5))|0; + $23 = (_stbtt_FindGlyphIndex($8,$22)|0); + _stbtt_GetGlyphHMetrics($8,$23,$9,$10); + _stbtt_GetGlyphBitmapBox($8,$23,$18,$18,$11,$12,$13,$14); + $24 = HEAP32[$13>>2]|0; + $25 = HEAP32[$11>>2]|0; + $26 = (($24) - ($25))|0; + $27 = HEAP32[$14>>2]|0; + $28 = HEAP32[$12>>2]|0; + $29 = (($27) - ($28))|0; + $30 = (($$0844) + 1)|0; + $31 = (($30) + ($26))|0; + $32 = ($31|0)<($3|0); + $$087$$091 = $32 ? $$0873 : $$0911; + $$084$ = $32 ? $$0844 : 1; + $33 = (($$087$$091) + ($29))|0; + $34 = (($33) + 1)|0; + $35 = ($34|0)<($4|0); + if ($35) { + $37 = (($$084$) + ($26))|0; + $38 = ($37|0)<($3|0); + if (!($38)) { + label = 8; + break; + } + $39 = (($2) + ($$084$)|0); + $40 = Math_imul($$087$$091, $3)|0; + $41 = (($39) + ($40)|0); + _stbtt_MakeGlyphBitmap($8,$41,$26,$29,$3,$18,$18,$23); + $42 = $$084$&65535; + $43 = (($7) + (($$0902*20)|0)|0); + HEAP16[$43>>1] = $42; + $44 = $$087$$091&65535; + $45 = (((($7) + (($$0902*20)|0)|0)) + 2|0); + HEAP16[$45>>1] = $44; + $46 = $37&65535; + $47 = (((($7) + (($$0902*20)|0)|0)) + 4|0); + HEAP16[$47>>1] = $46; + $48 = $33&65535; + $49 = (((($7) + (($$0902*20)|0)|0)) + 6|0); + HEAP16[$49>>1] = $48; + $50 = HEAP32[$9>>2]|0; + $51 = (+($50|0)); + $52 = $18 * $51; + $53 = (((($7) + (($$0902*20)|0)|0)) + 16|0); + HEAPF32[$53>>2] = $52; + $54 = HEAP32[$11>>2]|0; + $55 = (+($54|0)); + $56 = (((($7) + (($$0902*20)|0)|0)) + 8|0); + HEAPF32[$56>>2] = $55; + $57 = HEAP32[$12>>2]|0; + $58 = (+($57|0)); + $59 = (((($7) + (($$0902*20)|0)|0)) + 12|0); + HEAPF32[$59>>2] = $58; + $60 = (($37) + 1)|0; + $61 = ($33|0)<($$0911|0); + $$091$ = $61 ? $$0911 : $34; + $$089 = 1;$$1 = $$05;$$286 = $60;$$293 = $$091$; + } else { + $36 = (0 - ($$0902))|0; + $$089 = 0;$$1 = $36;$$286 = $$084$;$$293 = $$0911; + } + $21 = (($$0902) + 1)|0; + if (!($$089)) { + $$2 = $$1; + label = 11; + break; + } + $20 = ($21|0)<($6|0); + if ($20) { + $$05 = $$1;$$0844 = $$286;$$0873 = $$087$$091;$$0902 = $21;$$0911 = $$293; + } else { + $$2 = $$293; + label = 11; + break; + } + } + if ((label|0) == 8) { + ___assert_fail((14903|0),(14913|0),3274,(14939|0)); + // unreachable; + } + else if ((label|0) == 11) { + STACKTOP = sp;return ($$2|0); + } + return (0)|0; +} +function _stbtt_InitFont($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = (_stbtt_InitFont_internal($0,$1)|0); + return ($2|0); +} +function _stbtt_ScaleForPixelHeight($0,$1) { + $0 = $0|0; + $1 = +$1; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0.0, $15 = 0.0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($0)) + 4|0); + $3 = HEAP32[$2>>2]|0; + $4 = ((($0)) + 28|0); + $5 = HEAP32[$4>>2]|0; + $6 = (($3) + ($5)|0); + $7 = ((($6)) + 4|0); + $8 = (_ttSHORT($7)|0); + $9 = $8 << 16 >> 16; + $10 = ((($6)) + 6|0); + $11 = (_ttSHORT($10)|0); + $12 = $11 << 16 >> 16; + $13 = (($9) - ($12))|0; + $14 = (+($13|0)); + $15 = $1 / $14; + return (+$15); +} +function _stbtt_FindGlyphIndex($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$ = 0, $$$1172 = 0, $$0163180 = 0, $$0164179 = 0, $$0165 = 0, $$0165$ph = 0, $$0168$ph = 0, $$1172$lcssa = 0, $$1172178 = 0, $$2 = 0, $$2$shrunk = 0, $$5 = 0, $$8 = 0, $$neg = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0; + var $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0; + var $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; + var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0; + var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0; + var $switch = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($0)) + 4|0); + $3 = HEAP32[$2>>2]|0; + $4 = ((($0)) + 40|0); + $5 = HEAP32[$4>>2]|0; + $6 = (($3) + ($5)|0); + $7 = (_ttUSHORT($6)|0); + switch ($7<<16>>16) { + case 0: { + $8 = ((($6)) + 2|0); + $9 = (_ttUSHORT($8)|0); + $10 = $9&65535; + $11 = (($10) + -6)|0; + $12 = ($11|0)>($1|0); + if (!($12)) { + $$8 = 0; + return ($$8|0); + } + $13 = ((($6)) + 6|0); + $14 = (($13) + ($1)|0); + $15 = HEAP8[$14>>0]|0; + $16 = $15&255; + $$8 = $16; + return ($$8|0); + break; + } + case 6: { + $17 = ((($6)) + 6|0); + $18 = (_ttUSHORT($17)|0); + $19 = $18&65535; + $20 = ($19>>>0)>($1>>>0); + if ($20) { + $$8 = 0; + return ($$8|0); + } + $21 = ((($6)) + 8|0); + $22 = (_ttUSHORT($21)|0); + $23 = $22&65535; + $24 = (($23) + ($19))|0; + $25 = ($24>>>0)>($1>>>0); + if (!($25)) { + $$8 = 0; + return ($$8|0); + } + $26 = ((($6)) + 10|0); + $27 = (($1) - ($19))|0; + $28 = $27 << 1; + $29 = (($26) + ($28)|0); + $30 = (_ttUSHORT($29)|0); + $31 = $30&65535; + $$8 = $31; + return ($$8|0); + break; + } + case 2: { + ___assert_fail((16957|0),(14913|0),1347,(15713|0)); + // unreachable; + break; + } + case 4: { + $32 = ((($6)) + 6|0); + $33 = (_ttUSHORT($32)|0); + $34 = ($33&65535) >>> 1; + $35 = ($1|0)>(65535); + if ($35) { + $$8 = 0; + return ($$8|0); + } + $36 = (($5) + 14)|0; + $37 = ((($6)) + 12|0); + $38 = (_ttUSHORT($37)|0); + $39 = ((($6)) + 10|0); + $40 = (_ttUSHORT($39)|0); + $41 = $38 & -2; + $42 = (($3) + ($36)|0); + $43 = $41&65535; + $44 = (($42) + ($43)|0); + $45 = (_ttUSHORT($44)|0); + $46 = $45&65535; + $47 = ($46|0)>($1|0); + $48 = $47 ? 0 : $43; + $$ = (($5) + 12)|0; + $49 = (($$) + ($48))|0; + $50 = ($40<<16>>16)==(0); + if ($50) { + $$1172$lcssa = $49; + } else { + $51 = ((($6)) + 8|0); + $52 = (_ttUSHORT($51)|0); + $53 = ($52&65535) >>> 1; + $$0163180 = $53;$$0164179 = $40;$$1172178 = $49; + while(1) { + $54 = ($$0163180&65535) >>> 1; + $55 = (($3) + ($$1172178)|0); + $56 = ($54 << 1)&65535; + $57 = $56&65535; + $58 = (($55) + ($57)|0); + $59 = (_ttUSHORT($58)|0); + $60 = $59&65535; + $61 = ($60|0)<($1|0); + $62 = $61 ? $57 : 0; + $$$1172 = (($62) + ($$1172178))|0; + $63 = (($$0164179) + -1)<<16>>16; + $64 = ($63<<16>>16)==(0); + if ($64) { + $$1172$lcssa = $$$1172; + break; + } else { + $$0163180 = $54;$$0164179 = $63;$$1172178 = $$$1172; + } + } + } + $$neg = (-14 - ($5))|0; + $65 = (($$neg) + 2)|0; + $66 = (($65) + ($$1172$lcssa))|0; + $67 = $66 & 131070; + $68 = (($42) + ($67)|0); + $69 = (_ttUSHORT($68)|0); + $70 = $69&65535; + $71 = ($70|0)<($1|0); + if ($71) { + ___assert_fail((15734|0),(14913|0),1383,(15713|0)); + // unreachable; + } + $72 = ((($6)) + 14|0); + $73 = $34&65535; + $74 = ($34 << 1)&65535; + $75 = $74&65535; + $76 = (($72) + ($75)|0); + $77 = ((($76)) + 2|0); + $78 = (($77) + ($67)|0); + $79 = (_ttUSHORT($78)|0); + $80 = $79&65535; + $81 = ($80|0)>($1|0); + do { + if ($81) { + $$2$shrunk = 0; + } else { + $82 = ($73*6)|0; + $83 = (($72) + ($82)|0); + $84 = ((($83)) + 2|0); + $85 = (($84) + ($67)|0); + $86 = (_ttUSHORT($85)|0); + $87 = ($86<<16>>16)==(0); + if ($87) { + $88 = $73 << 2; + $89 = (($72) + ($88)|0); + $90 = ((($89)) + 2|0); + $91 = (($90) + ($67)|0); + $92 = (_ttSHORT($91)|0); + $93 = $92&65535; + $94 = (($93) + ($1))|0; + $95 = $94&65535; + $$2$shrunk = $95; + break; + } else { + $96 = $86&65535; + $97 = (($3) + ($96)|0); + $98 = (($1) - ($80))|0; + $99 = $98 << 1; + $100 = (($97) + ($99)|0); + $101 = (($100) + ($5)|0); + $102 = ((($101)) + 14|0); + $103 = (($102) + ($82)|0); + $104 = ((($103)) + 2|0); + $105 = (($104) + ($67)|0); + $106 = (_ttUSHORT($105)|0); + $$2$shrunk = $106; + break; + } + } + } while(0); + $$2 = $$2$shrunk&65535; + $$8 = $$2; + return ($$8|0); + break; + } + default: { + $107 = ($7<<16>>16)==(12); + $108 = $7 & -2; + $switch = ($108<<16>>16)==(12); + if (!($switch)) { + ___assert_fail((16957|0),(14913|0),1418,(15713|0)); + // unreachable; + } + $109 = ((($6)) + 12|0); + $110 = (_ttULONG($109)|0); + $111 = ((($6)) + 16|0); + $$0165$ph = $110;$$0168$ph = 0; + L6: while(1) { + $$0165 = $$0165$ph; + while(1) { + $112 = ($$0165|0)>($$0168$ph|0); + if (!($112)) { + $$8 = 0; + label = 27; + break L6; + } + $113 = (($$0165) - ($$0168$ph))|0; + $114 = $113 >> 1; + $115 = (($114) + ($$0168$ph))|0; + $116 = ($115*12)|0; + $117 = (($111) + ($116)|0); + $118 = (_ttULONG($117)|0); + $119 = ($118>>>0)>($1>>>0); + if ($119) { + $$0165 = $115; + } else { + break; + } + } + $120 = ((($117)) + 4|0); + $121 = (_ttULONG($120)|0); + $122 = ($121>>>0)<($1>>>0); + $123 = (($115) + 1)|0; + if ($122) { + $$0165$ph = $$0165;$$0168$ph = $123; + } else { + break; + } + } + if ((label|0) == 27) { + return ($$8|0); + } + $124 = ((($117)) + 8|0); + $125 = (_ttULONG($124)|0); + $126 = (($1) - ($118))|0; + $127 = $107 ? $126 : 0; + $$5 = (($125) + ($127))|0; + $$8 = $$5; + return ($$8|0); + } + } + return (0)|0; +} +function _stbtt_GetGlyphHMetrics($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0; + var $49 = 0, $5 = 0, $50 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $4 = ((($0)) + 4|0); + $5 = HEAP32[$4>>2]|0; + $6 = ((($0)) + 28|0); + $7 = HEAP32[$6>>2]|0; + $8 = (($5) + ($7)|0); + $9 = ((($8)) + 34|0); + $10 = (_ttUSHORT($9)|0); + $11 = $10&65535; + $12 = ($11|0)>($1|0); + $13 = ($2|0)!=(0|0); + if ($12) { + if ($13) { + $14 = ((($0)) + 32|0); + $15 = HEAP32[$14>>2]|0; + $16 = (($5) + ($15)|0); + $17 = $1 << 2; + $18 = (($16) + ($17)|0); + $19 = (_ttSHORT($18)|0); + $20 = $19 << 16 >> 16; + HEAP32[$2>>2] = $20; + } + $21 = ($3|0)==(0|0); + if ($21) { + return; + } + $22 = HEAP32[$4>>2]|0; + $23 = ((($0)) + 32|0); + $24 = HEAP32[$23>>2]|0; + $25 = (($22) + ($24)|0); + $26 = $1 << 2; + $27 = (($25) + ($26)|0); + $28 = ((($27)) + 2|0); + $29 = (_ttSHORT($28)|0); + $30 = $29 << 16 >> 16; + HEAP32[$3>>2] = $30; + return; + } else { + if ($13) { + $31 = ((($0)) + 32|0); + $32 = HEAP32[$31>>2]|0; + $33 = (($5) + ($32)|0); + $34 = $11 << 2; + $35 = (($34) + -4)|0; + $36 = (($33) + ($35)|0); + $37 = (_ttSHORT($36)|0); + $38 = $37 << 16 >> 16; + HEAP32[$2>>2] = $38; + } + $39 = ($3|0)==(0|0); + if ($39) { + return; + } + $40 = HEAP32[$4>>2]|0; + $41 = ((($0)) + 32|0); + $42 = HEAP32[$41>>2]|0; + $43 = (($40) + ($42)|0); + $44 = $11 << 2; + $45 = (($43) + ($44)|0); + $46 = (($1) - ($11))|0; + $47 = $46 << 1; + $48 = (($45) + ($47)|0); + $49 = (_ttSHORT($48)|0); + $50 = $49 << 16 >> 16; + HEAP32[$3>>2] = $50; + return; + } +} +function _stbtt_GetGlyphBitmapBox($0,$1,$2,$3,$4,$5,$6,$7) { + $0 = $0|0; + $1 = $1|0; + $2 = +$2; + $3 = +$3; + $4 = $4|0; + $5 = $5|0; + $6 = $6|0; + $7 = $7|0; + var label = 0, sp = 0; + sp = STACKTOP; + _stbtt_GetGlyphBitmapBoxSubpixel($0,$1,$2,$3,$4,$5,$6,$7); + return; +} +function _stbtt_MakeGlyphBitmap($0,$1,$2,$3,$4,$5,$6,$7) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = +$5; + $6 = +$6; + $7 = $7|0; + var label = 0, sp = 0; + sp = STACKTOP; + _stbtt_MakeGlyphBitmapSubpixel($0,$1,$2,$3,$4,$5,$6,$7); + return; +} +function _stbtt_MakeGlyphBitmapSubpixel($0,$1,$2,$3,$4,$5,$6,$7) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = +$5; + $6 = +$6; + $7 = $7|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $8 = sp + 24|0; + $9 = sp + 20|0; + $10 = sp + 16|0; + $11 = sp; + $12 = (_stbtt_GetGlyphShape($0,$7,$10)|0); + _stbtt_GetGlyphBitmapBoxSubpixel($0,$7,$5,$6,$8,$9,0,0); + $13 = ((($11)) + 12|0); + HEAP32[$13>>2] = $1; + HEAP32[$11>>2] = $2; + $14 = ((($11)) + 4|0); + HEAP32[$14>>2] = $3; + $15 = ((($11)) + 8|0); + HEAP32[$15>>2] = $4; + $16 = ($2|0)==(0); + $17 = ($3|0)==(0); + $or$cond = $16 | $17; + if ($or$cond) { + $21 = HEAP32[$10>>2]|0; + _free($21); + STACKTOP = sp;return; + } + $18 = HEAP32[$10>>2]|0; + $19 = HEAP32[$8>>2]|0; + $20 = HEAP32[$9>>2]|0; + _stbtt_Rasterize($11,$18,$12,$5,$6,$19,$20); + $21 = HEAP32[$10>>2]|0; + _free($21); + STACKTOP = sp;return; +} +function _stbtt_GetGlyphShape($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$0 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ((($0)) + 56|0); + $4 = HEAP32[$3>>2]|0; + $5 = ($4|0)==(0); + if ($5) { + $6 = (_stbtt__GetGlyphShapeTT($0,$1,$2)|0); + $$0 = $6; + return ($$0|0); + } else { + $7 = (_stbtt__GetGlyphShapeT2($0,$1,$2)|0); + $$0 = $7; + return ($$0|0); + } + return (0)|0; +} +function _stbtt_GetGlyphBitmapBoxSubpixel($0,$1,$2,$3,$4,$5,$6,$7) { + $0 = $0|0; + $1 = $1|0; + $2 = +$2; + $3 = +$3; + $4 = $4|0; + $5 = $5|0; + $6 = $6|0; + $7 = $7|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0.0, $27 = 0.0, $28 = 0.0, $29 = 0; + var $30 = 0, $31 = 0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0.0, $40 = 0.0, $41 = 0.0, $42 = 0, $8 = 0, $9 = 0, $ceilf = 0.0, $ceilf1 = 0.0, $floorf = 0.0, $floorf2 = 0.0, label = 0; + var sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $8 = sp + 12|0; + $9 = sp + 8|0; + $10 = sp + 4|0; + $11 = sp; + HEAP32[$8>>2] = 0; + HEAP32[$9>>2] = 0; + $12 = (_stbtt_GetGlyphBox($0,$1,$8,$9,$10,$11)|0); + $13 = ($12|0)==(0); + $14 = ($4|0)!=(0|0); + if ($13) { + if ($14) { + HEAP32[$4>>2] = 0; + } + $15 = ($5|0)==(0|0); + if (!($15)) { + HEAP32[$5>>2] = 0; + } + $16 = ($6|0)==(0|0); + if (!($16)) { + HEAP32[$6>>2] = 0; + } + $17 = ($7|0)==(0|0); + if ($17) { + STACKTOP = sp;return; + } + HEAP32[$7>>2] = 0; + STACKTOP = sp;return; + } else { + if ($14) { + $18 = HEAP32[$8>>2]|0; + $19 = (+($18|0)); + $20 = $19 * $2; + $21 = $20 + 0.0; + $floorf2 = (+Math_floor((+$21))); + $22 = (~~(($floorf2))); + HEAP32[$4>>2] = $22; + } + $23 = ($5|0)==(0|0); + if (!($23)) { + $24 = HEAP32[$11>>2]|0; + $25 = (0 - ($24))|0; + $26 = (+($25|0)); + $27 = $26 * $3; + $28 = $27 + 0.0; + $floorf = (+Math_floor((+$28))); + $29 = (~~(($floorf))); + HEAP32[$5>>2] = $29; + } + $30 = ($6|0)==(0|0); + if (!($30)) { + $31 = HEAP32[$10>>2]|0; + $32 = (+($31|0)); + $33 = $32 * $2; + $34 = $33 + 0.0; + $ceilf1 = (+Math_ceil((+$34))); + $35 = (~~(($ceilf1))); + HEAP32[$6>>2] = $35; + } + $36 = ($7|0)==(0|0); + if ($36) { + STACKTOP = sp;return; + } + $37 = HEAP32[$9>>2]|0; + $38 = (0 - ($37))|0; + $39 = (+($38|0)); + $40 = $39 * $3; + $41 = $40 + 0.0; + $ceilf = (+Math_ceil((+$41))); + $42 = (~~(($ceilf))); + HEAP32[$7>>2] = $42; + STACKTOP = sp;return; + } +} +function _stbtt_Rasterize($0,$1,$2,$3,$4,$5,$6) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = +$3; + $4 = +$4; + $5 = $5|0; + $6 = $6|0; + var $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $7 = sp + 4|0; + $8 = sp; + $9 = $3 > $4; + $10 = $9 ? $4 : $3; + $11 = 0.34999999403953552 / $10; + $12 = (_stbtt_FlattenCurves($1,$2,$11,$8,$7)|0); + $13 = ($12|0)==(0|0); + if ($13) { + STACKTOP = sp;return; + } + $14 = HEAP32[$8>>2]|0; + $15 = HEAP32[$7>>2]|0; + _stbtt__rasterize($0,$12,$14,$15,$3,$4,$5,$6); + _free($14); + _free($12); + STACKTOP = sp;return; +} +function _stbtt_FlattenCurves($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = +$2; + $3 = $3|0; + $4 = $4|0; + var $$$0113 = 0, $$010 = 0.0, $$01079 = 0.0, $$011014 = 0, $$011113 = 0, $$011316 = 0, $$011715 = 0, $$0119 = 0, $$012012 = 0, $$1 = 0.0, $$1108 = 0.0, $$1112$lcssa = 0, $$11128 = 0, $$11185 = 0, $$1121 = 0, $$2 = 0, $$2115$lcssa = 0, $$21157 = 0, $$3116 = 0, $10 = 0; + var $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0; + var $31 = 0, $32 = 0, $33 = 0, $34 = 0.0, $35 = 0, $36 = 0, $37 = 0.0, $38 = 0, $39 = 0, $40 = 0.0, $41 = 0, $42 = 0, $43 = 0.0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0.0, $49 = 0, $5 = 0; + var $50 = 0, $51 = 0.0, $52 = 0, $53 = 0.0, $54 = 0, $55 = 0, $56 = 0.0, $57 = 0, $58 = 0.0, $59 = 0, $6 = 0.0, $60 = 0.0, $61 = 0, $62 = 0, $63 = 0.0, $64 = 0, $65 = 0, $66 = 0.0, $67 = 0, $68 = 0; + var $69 = 0.0, $7 = 0, $70 = 0, $71 = 0, $72 = 0.0, $73 = 0, $74 = 0.0, $75 = 0, $76 = 0, $77 = 0.0, $78 = 0, $79 = 0.0, $8 = 0, $80 = 0, $81 = 0.0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0; + var $87 = 0, $88 = 0, $89 = 0, $9 = 0, $exitcond = 0, $exitcond21 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $5 = sp; + HEAP32[$5>>2] = 0; + $6 = $2 * $2; + $7 = ($1|0)>(0); + if ($7) { + $$011316 = 0;$$011715 = 0; + } else { + HEAP32[$4>>2] = 0; + $$0119 = 0; + STACKTOP = sp;return ($$0119|0); + } + while(1) { + $8 = (((($0) + (($$011715*14)|0)|0)) + 12|0); + $9 = HEAP8[$8>>0]|0; + $10 = ($9<<24>>24)==(1); + $11 = $10&1; + $$$0113 = (($11) + ($$011316))|0; + $12 = (($$011715) + 1)|0; + $exitcond21 = ($12|0)==($1|0); + if ($exitcond21) { + break; + } else { + $$011316 = $$$0113;$$011715 = $12; + } + } + HEAP32[$4>>2] = $$$0113; + $13 = ($$$0113|0)==(0); + if ($13) { + $$0119 = 0; + STACKTOP = sp;return ($$0119|0); + } + $14 = $$$0113 << 2; + $15 = (_malloc($14)|0); + HEAP32[$3>>2] = $15; + $16 = ($15|0)==(0|0); + if ($16) { + HEAP32[$4>>2] = 0; + $$0119 = 0; + STACKTOP = sp;return ($$0119|0); + } + $17 = ($1|0)>(0); + $$011014 = 0;$$011113 = 0;$$012012 = 0; + while(1) { + $18 = ($$011014|0)==(1); + if ($18) { + $19 = HEAP32[$5>>2]|0; + $20 = $19 << 3; + $21 = (_malloc($20)|0); + $22 = ($21|0)==(0|0); + if ($22) { + break; + } else { + $$1121 = $21; + } + } else { + $$1121 = $$012012; + } + HEAP32[$5>>2] = 0; + L19: do { + if ($17) { + $$010 = 0.0;$$01079 = 0.0;$$11128 = $$011113;$$11185 = 0;$$21157 = -1; + while(1) { + $23 = (($0) + (($$11185*14)|0)|0); + $24 = (((($0) + (($$11185*14)|0)|0)) + 12|0); + $25 = HEAP8[$24>>0]|0; + switch ($25<<24>>24) { + case 1: { + $26 = ($$21157|0)>(-1); + if ($26) { + $27 = HEAP32[$5>>2]|0; + $28 = (($27) - ($$11128))|0; + $29 = HEAP32[$3>>2]|0; + $30 = (($29) + ($$21157<<2)|0); + HEAP32[$30>>2] = $28; + } + $31 = (($$21157) + 1)|0; + $32 = HEAP32[$5>>2]|0; + $33 = HEAP16[$23>>1]|0; + $34 = (+($33<<16>>16)); + $35 = (((($0) + (($$11185*14)|0)|0)) + 2|0); + $36 = HEAP16[$35>>1]|0; + $37 = (+($36<<16>>16)); + $38 = (($32) + 1)|0; + HEAP32[$5>>2] = $38; + _stbtt__add_point($$1121,$32,$34,$37); + $$1 = $37;$$1108 = $34;$$2 = $32;$$3116 = $31; + break; + } + case 2: { + $39 = HEAP16[$23>>1]|0; + $40 = (+($39<<16>>16)); + $41 = (((($0) + (($$11185*14)|0)|0)) + 2|0); + $42 = HEAP16[$41>>1]|0; + $43 = (+($42<<16>>16)); + $44 = HEAP32[$5>>2]|0; + $45 = (($44) + 1)|0; + HEAP32[$5>>2] = $45; + _stbtt__add_point($$1121,$44,$40,$43); + $$1 = $43;$$1108 = $40;$$2 = $$11128;$$3116 = $$21157; + break; + } + case 3: { + $46 = (((($0) + (($$11185*14)|0)|0)) + 4|0); + $47 = HEAP16[$46>>1]|0; + $48 = (+($47<<16>>16)); + $49 = (((($0) + (($$11185*14)|0)|0)) + 6|0); + $50 = HEAP16[$49>>1]|0; + $51 = (+($50<<16>>16)); + $52 = HEAP16[$23>>1]|0; + $53 = (+($52<<16>>16)); + $54 = (((($0) + (($$11185*14)|0)|0)) + 2|0); + $55 = HEAP16[$54>>1]|0; + $56 = (+($55<<16>>16)); + _stbtt__tesselate_curve($$1121,$5,$$01079,$$010,$48,$51,$53,$56,$6,0); + $57 = HEAP16[$23>>1]|0; + $58 = (+($57<<16>>16)); + $59 = HEAP16[$54>>1]|0; + $60 = (+($59<<16>>16)); + $$1 = $60;$$1108 = $58;$$2 = $$11128;$$3116 = $$21157; + break; + } + case 4: { + $61 = (((($0) + (($$11185*14)|0)|0)) + 4|0); + $62 = HEAP16[$61>>1]|0; + $63 = (+($62<<16>>16)); + $64 = (((($0) + (($$11185*14)|0)|0)) + 6|0); + $65 = HEAP16[$64>>1]|0; + $66 = (+($65<<16>>16)); + $67 = (((($0) + (($$11185*14)|0)|0)) + 8|0); + $68 = HEAP16[$67>>1]|0; + $69 = (+($68<<16>>16)); + $70 = (((($0) + (($$11185*14)|0)|0)) + 10|0); + $71 = HEAP16[$70>>1]|0; + $72 = (+($71<<16>>16)); + $73 = HEAP16[$23>>1]|0; + $74 = (+($73<<16>>16)); + $75 = (((($0) + (($$11185*14)|0)|0)) + 2|0); + $76 = HEAP16[$75>>1]|0; + $77 = (+($76<<16>>16)); + _stbtt__tesselate_cubic($$1121,$5,$$01079,$$010,$63,$66,$69,$72,$74,$77,$6,0); + $78 = HEAP16[$23>>1]|0; + $79 = (+($78<<16>>16)); + $80 = HEAP16[$75>>1]|0; + $81 = (+($80<<16>>16)); + $$1 = $81;$$1108 = $79;$$2 = $$11128;$$3116 = $$21157; + break; + } + default: { + $$1 = $$010;$$1108 = $$01079;$$2 = $$11128;$$3116 = $$21157; + } + } + $82 = (($$11185) + 1)|0; + $exitcond = ($82|0)==($1|0); + if ($exitcond) { + $$1112$lcssa = $$2;$$2115$lcssa = $$3116; + break L19; + } else { + $$010 = $$1;$$01079 = $$1108;$$11128 = $$2;$$11185 = $82;$$21157 = $$3116; + } + } + } else { + $$1112$lcssa = $$011113;$$2115$lcssa = -1; + } + } while(0); + $83 = HEAP32[$5>>2]|0; + $84 = (($83) - ($$1112$lcssa))|0; + $85 = HEAP32[$3>>2]|0; + $86 = (($85) + ($$2115$lcssa<<2)|0); + HEAP32[$86>>2] = $84; + $87 = (($$011014) + 1)|0; + $88 = ($87|0)<(2); + if ($88) { + $$011014 = $87;$$011113 = $$1112$lcssa;$$012012 = $$1121; + } else { + $$0119 = $$1121; + label = 21; + break; + } + } + if ((label|0) == 21) { + STACKTOP = sp;return ($$0119|0); + } + $89 = HEAP32[$3>>2]|0; + _free($89); + HEAP32[$3>>2] = 0; + HEAP32[$4>>2] = 0; + $$0119 = 0; + STACKTOP = sp;return ($$0119|0); +} +function _stbtt__rasterize($0,$1,$2,$3,$4,$5,$6,$7) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = +$4; + $5 = +$5; + $6 = $6|0; + $7 = $7|0; + var $$0 = 0, $$0101 = 0, $$0102$lcssa = 0, $$010211 = 0, $$010410 = 0, $$01064 = 0, $$01072 = 0, $$01081 = 0, $$01081$phi = 0, $$1$lcssa = 0, $$11055 = 0, $$16 = 0, $$2$lcssa = 0, $$23 = 0, $$3 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0; + var $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0.0, $27 = 0, $28 = 0, $29 = 0.0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0.0; + var $35 = 0.0, $36 = 0.0, $37 = 0, $38 = 0, $39 = 0.0, $40 = 0.0, $41 = 0.0, $42 = 0, $43 = 0, $44 = 0.0, $45 = 0.0, $46 = 0.0, $47 = 0, $48 = 0, $49 = 0.0, $50 = 0.0, $51 = 0.0, $52 = 0, $53 = 0, $54 = 0; + var $55 = 0, $56 = 0, $8 = 0.0, $9 = 0, $exitcond = 0, $exitcond16 = 0, $phitmp = 0, $phitmp17 = 0, $storemerge = 0, label = 0, sp = 0; + sp = STACKTOP; + $8 = -$5; + $9 = ($3|0)>(0); + if ($9) { + $$010211 = 0;$$010410 = 0; + while(1) { + $10 = (($2) + ($$010410<<2)|0); + $11 = HEAP32[$10>>2]|0; + $12 = (($11) + ($$010211))|0; + $13 = (($$010410) + 1)|0; + $exitcond16 = ($13|0)==($3|0); + if ($exitcond16) { + break; + } else { + $$010211 = $12;$$010410 = $13; + } + } + $phitmp = ($12*20)|0; + $phitmp17 = (($phitmp) + 20)|0; + $$0102$lcssa = $phitmp17; + } else { + $$0102$lcssa = 20; + } + $14 = (_malloc($$0102$lcssa)|0); + $15 = ($14|0)==(0|0); + if ($15) { + return; + } + $16 = ($3|0)>(0); + if ($16) { + $$01064 = 0;$$11055 = 0;$$16 = 0; + while(1) { + $17 = (($1) + ($$01064<<3)|0); + $18 = (($2) + ($$11055<<2)|0); + $19 = HEAP32[$18>>2]|0; + $20 = (($19) + ($$01064))|0; + $21 = ($19|0)>(0); + if ($21) { + $22 = (($19) + -1)|0; + $23 = HEAP32[$18>>2]|0; + $$01072 = 0;$$01081 = $22;$$23 = $$16; + while(1) { + $24 = (($17) + ($$01081<<3)|0); + $25 = ((($24)) + 4|0); + $26 = +HEAPF32[$25>>2]; + $27 = (($17) + ($$01072<<3)|0); + $28 = ((($27)) + 4|0); + $29 = +HEAPF32[$28>>2]; + $30 = $26 == $29; + if ($30) { + $$3 = $$23; + } else { + $31 = (((($14) + (($$23*20)|0)|0)) + 16|0); + $32 = $26 > $29; + $storemerge = $32&1; + $$0101 = $32 ? $$01081 : $$01072; + $$0 = $32 ? $$01072 : $$01081; + HEAP32[$31>>2] = $storemerge; + $33 = (($17) + ($$0101<<3)|0); + $34 = +HEAPF32[$33>>2]; + $35 = $34 * $4; + $36 = $35 + 0.0; + $37 = (($14) + (($$23*20)|0)|0); + HEAPF32[$37>>2] = $36; + $38 = ((($33)) + 4|0); + $39 = +HEAPF32[$38>>2]; + $40 = $39 * $8; + $41 = $40 + 0.0; + $42 = (((($14) + (($$23*20)|0)|0)) + 4|0); + HEAPF32[$42>>2] = $41; + $43 = (($17) + ($$0<<3)|0); + $44 = +HEAPF32[$43>>2]; + $45 = $44 * $4; + $46 = $45 + 0.0; + $47 = (((($14) + (($$23*20)|0)|0)) + 8|0); + HEAPF32[$47>>2] = $46; + $48 = ((($43)) + 4|0); + $49 = +HEAPF32[$48>>2]; + $50 = $49 * $8; + $51 = $50 + 0.0; + $52 = (((($14) + (($$23*20)|0)|0)) + 12|0); + HEAPF32[$52>>2] = $51; + $53 = (($$23) + 1)|0; + $$3 = $53; + } + $54 = (($$01072) + 1)|0; + $55 = ($54|0)<($23|0); + if ($55) { + $$01081$phi = $$01072;$$01072 = $54;$$23 = $$3;$$01081 = $$01081$phi; + } else { + $$2$lcssa = $$3; + break; + } + } + } else { + $$2$lcssa = $$16; + } + $56 = (($$11055) + 1)|0; + $exitcond = ($56|0)==($3|0); + if ($exitcond) { + $$1$lcssa = $$2$lcssa; + break; + } else { + $$01064 = $20;$$11055 = $56;$$16 = $$2$lcssa; + } + } + } else { + $$1$lcssa = 0; + } + _stbtt__sort_edges($14,$$1$lcssa); + _stbtt__rasterize_sorted_edges($0,$14,$$1$lcssa,$6,$7); + _free($14); + return; +} +function _stbtt__sort_edges($0,$1) { + $0 = $0|0; + $1 = $1|0; + var label = 0, sp = 0; + sp = STACKTOP; + _stbtt__sort_edges_quicksort($0,$1); + _stbtt__sort_edges_ins_sort($0,$1); + return; +} +function _stbtt__rasterize_sorted_edges($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$ = 0, $$010025 = 0, $$010123 = 0, $$010219 = 0.0, $$010318 = 0, $$0104 = 0, $$0105$ph15 = 0, $$026 = 0, $$1$lcssa = 0, $$116 = 0, $$sroa$0 = 0, $$sroa$0$0$$sroa$0$0$$0$1 = 0, $$sroa$0$0$$sroa$0$0$$0$1079 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0; + var $17 = 0.0, $18 = 0.0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0.0, $26 = 0.0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0.0, $34 = 0, $35 = 0, $36 = 0; + var $37 = 0.0, $38 = 0, $39 = 0, $40 = 0, $41 = 0.0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0.0, $49 = 0, $5 = 0, $50 = 0.0, $51 = 0, $52 = 0, $53 = 0, $54 = 0.0, $55 = 0; + var $56 = 0, $57 = 0, $58 = 0, $59 = 0.0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0.0, $69 = 0.0, $7 = 0, $70 = 0, $71 = 0.0, $72 = 0.0, $73 = 0.0; + var $74 = 0.0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0.0, $89 = 0, $9 = 0, $90 = 0.0, $91 = 0.0; + var $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $fabsf = 0.0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 544|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(544|0); + $5 = sp + 520|0; + $$sroa$0 = sp + 516|0; + $6 = sp; + ;HEAP32[$5>>2]=0|0;HEAP32[$5+4>>2]=0|0;HEAP32[$5+8>>2]=0|0; + HEAP32[$$sroa$0>>2] = 0; + $7 = HEAP32[$0>>2]|0; + $8 = ($7|0)>(64); + if ($8) { + $9 = $7 << 3; + $10 = $9 | 4; + $11 = (_malloc($10)|0); + $$0104 = $11; + } else { + $$0104 = $6; + } + $12 = HEAP32[$0>>2]|0; + $13 = (($$0104) + ($12<<2)|0); + $14 = ((($0)) + 4|0); + $15 = HEAP32[$14>>2]|0; + $16 = (($15) + ($4))|0; + $17 = (+($16|0)); + $18 = $17 + 1.0; + $19 = (((($1) + (($2*20)|0)|0)) + 4|0); + HEAPF32[$19>>2] = $18; + $20 = HEAP32[$14>>2]|0; + $21 = ($20|0)>(0); + L5: do { + if ($21) { + $22 = ((($13)) + 4|0); + $23 = ((($0)) + 12|0); + $24 = ((($0)) + 8|0); + $$010025 = $4;$$010123 = 0;$$026 = $1; + L7: while(1) { + $25 = (+($$010025|0)); + $26 = $25 + 1.0; + $27 = HEAP32[$0>>2]|0; + $28 = $27 << 2; + _memset(($$0104|0),0,($28|0))|0; + $29 = (($28) + 4)|0; + _memset(($13|0),0,($29|0))|0; + $30 = HEAP32[$$sroa$0>>2]|0; + $31 = ($30|0)==(0|0); + L9: do { + if (!($31)) { + $$0105$ph15 = $$sroa$0;$99 = $30; + while(1) { + $36 = $99; + while(1) { + $35 = ((($36)) + 24|0); + $37 = +HEAPF32[$35>>2]; + $38 = !($37 <= $25); + if ($38) { + break; + } + $39 = HEAP32[$36>>2]|0; + HEAP32[$$0105$ph15>>2] = $39; + $40 = ((($36)) + 16|0); + $41 = +HEAPF32[$40>>2]; + $42 = $41 != 0.0; + if (!($42)) { + label = 11; + break L7; + } + HEAPF32[$40>>2] = 0.0; + _stbtt__hheap_free($5,$36); + $43 = HEAP32[$$0105$ph15>>2]|0; + $44 = ($43|0)==(0|0); + if ($44) { + break L9; + } else { + $36 = $43; + } + } + $45 = HEAP32[$36>>2]|0; + $46 = ($45|0)==(0|0); + if ($46) { + break; + } else { + $$0105$ph15 = $36;$99 = $45; + } + } + } + } while(0); + $32 = ((($$026)) + 4|0); + $33 = +HEAPF32[$32>>2]; + $34 = !($33 <= $26); + if ($34) { + $$1$lcssa = $$026; + } else { + $$116 = $$026;$50 = $33; + while(1) { + $47 = ((($$116)) + 12|0); + $48 = +HEAPF32[$47>>2]; + $49 = $50 != $48; + if ($49) { + $51 = (_stbtt__new_active($5,$$116,$3,$25)|0); + $52 = ($51|0)==(0|0); + if (!($52)) { + $53 = ((($51)) + 24|0); + $54 = +HEAPF32[$53>>2]; + $55 = !($54 >= $25); + if ($55) { + label = 17; + break L7; + } + $$sroa$0$0$$sroa$0$0$$0$1 = HEAP32[$$sroa$0>>2]|0; + HEAP32[$51>>2] = $$sroa$0$0$$sroa$0$0$$0$1; + $56 = $51; + HEAP32[$$sroa$0>>2] = $56; + } + } + $57 = ((($$116)) + 20|0); + $58 = ((($$116)) + 24|0); + $59 = +HEAPF32[$58>>2]; + $60 = !($59 <= $26); + if ($60) { + $$1$lcssa = $57; + break; + } else { + $$116 = $57;$50 = $59; + } + } + } + $$sroa$0$0$$sroa$0$0$$0$1079 = HEAP32[$$sroa$0>>2]|0; + $61 = ($$sroa$0$0$$sroa$0$0$$0$1079|0)==(0|0); + if (!($61)) { + $62 = HEAP32[$0>>2]|0; + _stbtt__fill_active_edges_new($$0104,$22,$62,$$sroa$0$0$$sroa$0$0$$0$1079,$25); + } + $63 = HEAP32[$0>>2]|0; + $64 = ($63|0)>(0); + if ($64) { + $$010219 = 0.0;$$010318 = 0; + while(1) { + $67 = (($13) + ($$010318<<2)|0); + $68 = +HEAPF32[$67>>2]; + $69 = $$010219 + $68; + $70 = (($$0104) + ($$010318<<2)|0); + $71 = +HEAPF32[$70>>2]; + $72 = $71 + $69; + $fabsf = (+Math_abs((+$72))); + $73 = $fabsf * 255.0; + $74 = $73 + 0.5; + $75 = (~~(($74))); + $76 = ($75|0)<(255); + $$ = $76 ? $75 : 255; + $77 = $$&255; + $78 = HEAP32[$23>>2]|0; + $79 = HEAP32[$24>>2]|0; + $80 = Math_imul($79, $$010123)|0; + $81 = (($80) + ($$010318))|0; + $82 = (($78) + ($81)|0); + HEAP8[$82>>0] = $77; + $83 = (($$010318) + 1)|0; + $84 = HEAP32[$0>>2]|0; + $85 = ($83|0)<($84|0); + if ($85) { + $$010219 = $69;$$010318 = $83; + } else { + break; + } + } + } + $65 = HEAP32[$$sroa$0>>2]|0; + $66 = ($65|0)==(0|0); + if (!($66)) { + $87 = $65; + while(1) { + $86 = ((($87)) + 8|0); + $88 = +HEAPF32[$86>>2]; + $89 = ((($87)) + 4|0); + $90 = +HEAPF32[$89>>2]; + $91 = $88 + $90; + HEAPF32[$89>>2] = $91; + $92 = HEAP32[$87>>2]|0; + $93 = ($92|0)==(0|0); + if ($93) { + break; + } else { + $87 = $92; + } + } + } + $94 = (($$010025) + 1)|0; + $95 = (($$010123) + 1)|0; + $96 = HEAP32[$14>>2]|0; + $97 = ($95|0)<($96|0); + if ($97) { + $$010025 = $94;$$010123 = $95;$$026 = $$1$lcssa; + } else { + break L5; + } + } + if ((label|0) == 11) { + ___assert_fail((14969|0),(14913|0),2775,(14982|0)); + // unreachable; + } + else if ((label|0) == 17) { + ___assert_fail((15012|0),(14913|0),2788,(14982|0)); + // unreachable; + } + } + } while(0); + _stbtt__hheap_cleanup($5); + $98 = ($$0104|0)==($6|0); + if ($98) { + STACKTOP = sp;return; + } + _free($$0104); + STACKTOP = sp;return; +} +function _stbtt__hheap_free($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($0)) + 4|0); + $3 = HEAP32[$2>>2]|0; + HEAP32[$1>>2] = $3; + HEAP32[$2>>2] = $1; + return; +} +function _stbtt__new_active($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = +$3; + var $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0, $18 = 0.0, $19 = 0.0, $20 = 0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0.0, $26 = 0, $27 = 0.0, $28 = 0.0, $29 = 0; + var $30 = 0, $31 = 0, $32 = 0.0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $4 = 0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $4 = (_stbtt__hheap_alloc($0)|0); + $5 = ((($1)) + 8|0); + $6 = +HEAPF32[$5>>2]; + $7 = +HEAPF32[$1>>2]; + $8 = $6 - $7; + $9 = ((($1)) + 12|0); + $10 = +HEAPF32[$9>>2]; + $11 = ((($1)) + 4|0); + $12 = +HEAPF32[$11>>2]; + $13 = $10 - $12; + $14 = $8 / $13; + $15 = ($4|0)==(0|0); + if ($15) { + ___assert_fail((15302|0),(14913|0),2374,(15318|0)); + // unreachable; + } else { + $16 = ((($4)) + 8|0); + HEAPF32[$16>>2] = $14; + $17 = $14 != 0.0; + $18 = 1.0 / $14; + $19 = $17 ? $18 : 0.0; + $20 = ((($4)) + 12|0); + HEAPF32[$20>>2] = $19; + $21 = +HEAPF32[$1>>2]; + $22 = +HEAPF32[$11>>2]; + $23 = $3 - $22; + $24 = $14 * $23; + $25 = $21 + $24; + $26 = ((($4)) + 4|0); + $27 = (+($2|0)); + $28 = $25 - $27; + HEAPF32[$26>>2] = $28; + $29 = ((($1)) + 16|0); + $30 = HEAP32[$29>>2]|0; + $31 = ($30|0)!=(0); + $32 = $31 ? 1.0 : -1.0; + $33 = ((($4)) + 16|0); + HEAPF32[$33>>2] = $32; + $34 = ((($4)) + 20|0); + HEAPF32[$34>>2] = $22; + $35 = HEAP32[$9>>2]|0; + $36 = ((($4)) + 24|0); + HEAP32[$36>>2] = $35; + HEAP32[$4>>2] = 0; + return ($4|0); + } + return (0)|0; +} +function _stbtt__fill_active_edges_new($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = +$4; + var $$0350 = 0.0, $$0351 = 0.0, $$0352 = 0.0, $$0354 = 0.0, $$0356370 = 0, $$0357 = 0.0, $$0359$lcssa = 0.0, $$0359372 = 0.0, $$0360 = 0.0, $$0361371 = 0, $$0374 = 0, $$1 = 0.0, $$1353 = 0.0, $$1355 = 0.0, $$1358 = 0.0, $10 = 0.0, $100 = 0.0, $101 = 0, $102 = 0, $103 = 0; + var $104 = 0.0, $105 = 0.0, $106 = 0.0, $107 = 0.0, $108 = 0.0, $109 = 0.0, $11 = 0, $110 = 0.0, $111 = 0.0, $112 = 0.0, $113 = 0.0, $114 = 0.0, $115 = 0.0, $116 = 0, $117 = 0.0, $118 = 0.0, $119 = 0.0, $12 = 0, $120 = 0.0, $121 = 0; + var $122 = 0.0, $123 = 0.0, $124 = 0.0, $125 = 0, $126 = 0.0, $127 = 0.0, $128 = 0.0, $129 = 0.0, $13 = 0.0, $130 = 0.0, $131 = 0.0, $132 = 0.0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0; + var $140 = 0, $141 = 0, $142 = 0, $15 = 0, $16 = 0.0, $17 = 0, $18 = 0, $19 = 0.0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0.0, $25 = 0, $26 = 0.0, $27 = 0, $28 = 0.0, $29 = 0, $30 = 0, $31 = 0.0; + var $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0, $36 = 0.0, $37 = 0.0, $38 = 0.0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0.0, $47 = 0, $48 = 0, $49 = 0, $5 = 0.0, $50 = 0.0; + var $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0.0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0, $6 = 0, $60 = 0.0, $61 = 0.0, $62 = 0.0, $63 = 0.0, $64 = 0, $65 = 0.0, $66 = 0.0, $67 = 0, $68 = 0.0, $69 = 0.0; + var $7 = 0.0, $70 = 0.0, $71 = 0.0, $72 = 0.0, $73 = 0, $74 = 0, $75 = 0, $76 = 0.0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0, $80 = 0, $81 = 0.0, $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0.0, $86 = 0.0, $87 = 0.0; + var $88 = 0.0, $89 = 0.0, $9 = 0, $90 = 0, $91 = 0.0, $92 = 0.0, $93 = 0.0, $94 = 0, $95 = 0.0, $96 = 0.0, $97 = 0, $98 = 0.0, $99 = 0.0, $exitcond = 0, $exitcond380 = 0, $fabsf = 0.0, $or$cond = 0, $or$cond362 = 0, $or$cond363 = 0, $or$cond364 = 0; + var $or$cond365 = 0, $or$cond366 = 0, $or$cond367 = 0, $or$cond368 = 0, $or$cond369 = 0, label = 0, sp = 0; + sp = STACKTOP; + $5 = $4 + 1.0; + $6 = ($3|0)==(0|0); + if ($6) { + return; + } + $7 = (+($2|0)); + $8 = ((($1)) + -4|0); + $9 = ((($1)) + -4|0); + $10 = (+($2|0)); + $11 = ($2|0)>(0); + $$0374 = $3; + L4: while(1) { + $12 = ((($$0374)) + 24|0); + $13 = +HEAPF32[$12>>2]; + $14 = !($13 >= $4); + if ($14) { + label = 4; + break; + } + $15 = ((($$0374)) + 8|0); + $16 = +HEAPF32[$15>>2]; + $17 = $16 == 0.0; + $18 = ((($$0374)) + 4|0); + $19 = +HEAPF32[$18>>2]; + do { + if ($17) { + $20 = $19 < $7; + if ($20) { + $21 = !($19 >= 0.0); + if ($21) { + _stbtt__handle_clipped_edge($8,0,$$0374,$19,$4,$19,$5); + break; + } else { + $22 = (~~(($19))); + _stbtt__handle_clipped_edge($0,$22,$$0374,$19,$4,$19,$5); + $23 = (($22) + 1)|0; + _stbtt__handle_clipped_edge($9,$23,$$0374,$19,$4,$19,$5); + break; + } + } + } else { + $24 = $16 + $19; + $25 = ((($$0374)) + 12|0); + $26 = +HEAPF32[$25>>2]; + $27 = ((($$0374)) + 20|0); + $28 = +HEAPF32[$27>>2]; + $29 = !($28 <= $5); + if ($29) { + label = 11; + break L4; + } + $30 = $28 > $4; + $31 = $28 - $4; + $32 = $16 * $31; + $33 = $19 + $32; + $$0354 = $30 ? $28 : $4; + $$0351 = $30 ? $33 : $19; + $34 = +HEAPF32[$12>>2]; + $35 = $34 < $5; + $36 = $34 - $4; + $37 = $16 * $36; + $38 = $19 + $37; + $$0357 = $35 ? $34 : $5; + $$0352 = $35 ? $38 : $24; + $39 = $$0351 >= 0.0; + $40 = $$0352 >= 0.0; + $or$cond = $39 & $40; + if ($or$cond) { + $41 = $$0351 < $10; + $42 = $$0352 < $10; + $or$cond362 = $41 & $42; + if ($or$cond362) { + $43 = (~~(($$0351))); + $44 = (~~(($$0352))); + $45 = ($43|0)==($44|0); + if ($45) { + $46 = $$0357 - $$0354; + $47 = ($43|0)>(-1); + $48 = ($43|0)<($2|0); + $or$cond363 = $47 & $48; + if (!($or$cond363)) { + label = 17; + break L4; + } + $49 = ((($$0374)) + 16|0); + $50 = +HEAPF32[$49>>2]; + $51 = (+($43|0)); + $52 = $$0351 - $51; + $53 = $$0352 - $51; + $54 = $52 + $53; + $55 = $54 * 0.5; + $56 = 1.0 - $55; + $57 = $56 * $50; + $58 = $46 * $57; + $59 = (($0) + ($43<<2)|0); + $60 = +HEAPF32[$59>>2]; + $61 = $60 + $58; + HEAPF32[$59>>2] = $61; + $62 = +HEAPF32[$49>>2]; + $63 = $46 * $62; + $64 = (($1) + ($43<<2)|0); + $65 = +HEAPF32[$64>>2]; + $66 = $65 + $63; + HEAPF32[$64>>2] = $66; + break; + } + $67 = $$0351 > $$0352; + if ($67) { + $68 = -$26; + $69 = $$0357 - $4; + $70 = $5 - $69; + $71 = $$0354 - $4; + $72 = $5 - $71; + $$0350 = $24;$$0360 = $68;$$1 = $$0352;$$1353 = $$0351;$$1355 = $70;$$1358 = $72; + } else { + $$0350 = $19;$$0360 = $26;$$1 = $$0351;$$1353 = $$0352;$$1355 = $$0354;$$1358 = $$0357; + } + $73 = (~~(($$1))); + $74 = (~~(($$1353))); + $75 = (($73) + 1)|0; + $76 = (+($75|0)); + $77 = $76 - $$0350; + $78 = $$0360 * $77; + $79 = $78 + $4; + $80 = ((($$0374)) + 16|0); + $81 = +HEAPF32[$80>>2]; + $82 = $79 - $$1355; + $83 = $81 * $82; + $84 = (+($73|0)); + $85 = $$1 - $84; + $86 = $85 + 1.0; + $87 = $86 * 0.5; + $88 = 1.0 - $87; + $89 = $88 * $83; + $90 = (($0) + ($73<<2)|0); + $91 = +HEAPF32[$90>>2]; + $92 = $91 + $89; + HEAPF32[$90>>2] = $92; + $93 = $$0360 * $81; + $94 = ($74|0)>($75|0); + if ($94) { + $95 = $93 * 0.5; + $$0359372 = $83;$$0361371 = $75; + while(1) { + $96 = $95 + $$0359372; + $97 = (($0) + ($$0361371<<2)|0); + $98 = +HEAPF32[$97>>2]; + $99 = $96 + $98; + HEAPF32[$97>>2] = $99; + $100 = $93 + $$0359372; + $101 = (($$0361371) + 1)|0; + $exitcond380 = ($101|0)==($74|0); + if ($exitcond380) { + $$0359$lcssa = $100; + break; + } else { + $$0359372 = $100;$$0361371 = $101; + } + } + } else { + $$0359$lcssa = $83; + } + $fabsf = (+Math_abs((+$$0359$lcssa))); + $102 = !($fabsf <= 1.0099999904632568); + if ($102) { + label = 25; + break L4; + } + $103 = (($74) - ($75))|0; + $104 = (+($103|0)); + $105 = $$0360 * $104; + $106 = $105 + $79; + $107 = (+($74|0)); + $108 = $$1353 - $107; + $109 = $108 + 0.0; + $110 = $109 * 0.5; + $111 = 1.0 - $110; + $112 = $81 * $111; + $113 = $$1358 - $106; + $114 = $112 * $113; + $115 = $114 + $$0359$lcssa; + $116 = (($0) + ($74<<2)|0); + $117 = +HEAPF32[$116>>2]; + $118 = $115 + $117; + HEAPF32[$116>>2] = $118; + $119 = $$1358 - $$1355; + $120 = $119 * $81; + $121 = (($1) + ($74<<2)|0); + $122 = +HEAPF32[$121>>2]; + $123 = $120 + $122; + HEAPF32[$121>>2] = $123; + break; + } + } + if ($11) { + $$0356370 = 0; + while(1) { + $124 = (+($$0356370|0)); + $125 = (($$0356370) + 1)|0; + $126 = (+($125|0)); + $127 = $124 - $19; + $128 = $127 / $16; + $129 = $128 + $4; + $130 = $126 - $19; + $131 = $130 / $16; + $132 = $131 + $4; + $133 = $19 < $124; + $134 = $24 > $126; + $or$cond364 = $133 & $134; + do { + if ($or$cond364) { + _stbtt__handle_clipped_edge($0,$$0356370,$$0374,$19,$4,$124,$129); + _stbtt__handle_clipped_edge($0,$$0356370,$$0374,$124,$129,$126,$132); + _stbtt__handle_clipped_edge($0,$$0356370,$$0374,$126,$132,$24,$5); + } else { + $135 = $24 < $124; + $136 = $19 > $126; + $or$cond365 = $135 & $136; + if ($or$cond365) { + _stbtt__handle_clipped_edge($0,$$0356370,$$0374,$19,$4,$126,$132); + _stbtt__handle_clipped_edge($0,$$0356370,$$0374,$126,$132,$124,$129); + _stbtt__handle_clipped_edge($0,$$0356370,$$0374,$124,$129,$24,$5); + break; + } + $137 = $24 > $124; + $or$cond366 = $133 & $137; + if ($or$cond366) { + _stbtt__handle_clipped_edge($0,$$0356370,$$0374,$19,$4,$124,$129); + _stbtt__handle_clipped_edge($0,$$0356370,$$0374,$124,$129,$24,$5); + break; + } + $138 = $19 > $124; + $or$cond367 = $135 & $138; + if ($or$cond367) { + _stbtt__handle_clipped_edge($0,$$0356370,$$0374,$19,$4,$124,$129); + _stbtt__handle_clipped_edge($0,$$0356370,$$0374,$124,$129,$24,$5); + break; + } + $139 = $19 < $126; + $or$cond368 = $139 & $134; + if ($or$cond368) { + _stbtt__handle_clipped_edge($0,$$0356370,$$0374,$19,$4,$126,$132); + _stbtt__handle_clipped_edge($0,$$0356370,$$0374,$126,$132,$24,$5); + break; + } + $140 = $24 < $126; + $or$cond369 = $140 & $136; + if ($or$cond369) { + _stbtt__handle_clipped_edge($0,$$0356370,$$0374,$19,$4,$126,$132); + _stbtt__handle_clipped_edge($0,$$0356370,$$0374,$126,$132,$24,$5); + break; + } else { + _stbtt__handle_clipped_edge($0,$$0356370,$$0374,$19,$4,$24,$5); + break; + } + } + } while(0); + $exitcond = ($125|0)==($2|0); + if ($exitcond) { + break; + } else { + $$0356370 = $125; + } + } + } + } + } while(0); + $141 = HEAP32[$$0374>>2]|0; + $142 = ($141|0)==(0|0); + if ($142) { + label = 42; + break; + } else { + $$0374 = $141; + } + } + if ((label|0) == 4) { + ___assert_fail((15032|0),(14913|0),2586,(15047|0)); + // unreachable; + } + else if ((label|0) == 11) { + ___assert_fail((15076|0),(14913|0),2605,(15047|0)); + // unreachable; + } + else if ((label|0) == 17) { + ___assert_fail((15112|0),(14913|0),2633,(15047|0)); + // unreachable; + } + else if ((label|0) == 25) { + ___assert_fail((15130|0),(14913|0),2670,(15047|0)); + // unreachable; + } + else if ((label|0) == 42) { + return; + } +} +function _stbtt__hheap_cleanup($0) { + $0 = $0|0; + var $$in12 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP32[$0>>2]|0; + $2 = ($1|0)==(0|0); + if ($2) { + return; + } else { + $$in12 = $1; + } + while(1) { + $3 = HEAP32[$$in12>>2]|0; + _free($$in12); + $4 = ($3|0)==(0|0); + if ($4) { + break; + } else { + $$in12 = $3; + } + } + return; +} +function _stbtt__handle_clipped_edge($0,$1,$2,$3,$4,$5,$6) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = +$3; + $4 = +$4; + $5 = +$5; + $6 = +$6; + var $$0 = 0.0, $$077 = 0.0, $$078 = 0.0, $$079 = 0.0, $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0, $25 = 0.0; + var $26 = 0.0, $27 = 0.0, $28 = 0.0, $29 = 0.0, $30 = 0.0, $31 = 0.0, $32 = 0, $33 = 0, $34 = 0.0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; + var $46 = 0, $47 = 0.0, $48 = 0.0, $49 = 0.0, $50 = 0, $51 = 0.0, $52 = 0.0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $60 = 0.0, $61 = 0.0, $62 = 0.0, $63 = 0.0, $64 = 0.0, $65 = 0.0; + var $66 = 0.0, $67 = 0.0, $68 = 0.0, $69 = 0, $7 = 0, $70 = 0.0, $71 = 0.0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond80 = 0, $or$cond81 = 0, $or$cond82 = 0, $or$cond83 = 0, $or$cond84 = 0, $or$cond85 = 0, label = 0, sp = 0; + sp = STACKTOP; + $7 = $4 == $6; + if ($7) { + return; + } + $8 = $4 < $6; + if (!($8)) { + ___assert_fail((15150|0),(14913|0),2544,(15158|0)); + // unreachable; + } + $9 = ((($2)) + 20|0); + $10 = +HEAPF32[$9>>2]; + $11 = ((($2)) + 24|0); + $12 = +HEAPF32[$11>>2]; + $13 = !($10 <= $12); + if ($13) { + ___assert_fail((15185|0),(14913|0),2545,(15158|0)); + // unreachable; + } + $14 = $12 < $4; + $15 = $10 > $6; + $or$cond = $15 | $14; + if ($or$cond) { + return; + } + $16 = $10 > $4; + if ($16) { + $17 = $5 - $3; + $18 = $10 - $4; + $19 = $17 * $18; + $20 = $6 - $4; + $21 = $19 / $20; + $22 = $21 + $3; + $$078 = $10;$$079 = $22; + } else { + $$078 = $4;$$079 = $3; + } + $23 = +HEAPF32[$11>>2]; + $24 = $23 < $6; + if ($24) { + $25 = $5 - $$079; + $26 = $23 - $6; + $27 = $25 * $26; + $28 = $6 - $$078; + $29 = $27 / $28; + $30 = $29 + $5; + $$0 = $23;$$077 = $30; + } else { + $$0 = $6;$$077 = $5; + } + $31 = (+($1|0)); + $32 = $$079 == $31; + $33 = (($1) + 1)|0; + $34 = (+($33|0)); + do { + if ($32) { + $35 = !($$077 <= $34); + if ($35) { + ___assert_fail((15200|0),(14913|0),2558,(15158|0)); + // unreachable; + } + } else { + $36 = $$079 == $34; + if ($36) { + $37 = !($$077 >= $31); + if (!($37)) { + break; + } + ___assert_fail((15210|0),(14913|0),2560,(15158|0)); + // unreachable; + } + $38 = !($$079 <= $31); + if (!($38)) { + $39 = !($$077 <= $31); + if (!($39)) { + break; + } + ___assert_fail((15218|0),(14913|0),2562,(15158|0)); + // unreachable; + } + $40 = !($$079 >= $34); + if ($40) { + $42 = !($$077 >= $31); + $43 = !($$077 <= $34); + $or$cond80 = $42 | $43; + if (!($or$cond80)) { + break; + } + ___assert_fail((15236|0),(14913|0),2566,(15158|0)); + // unreachable; + } else { + $41 = !($$077 >= $34); + if (!($41)) { + break; + } + ___assert_fail((15226|0),(14913|0),2564,(15158|0)); + // unreachable; + } + } + } while(0); + $44 = !($$079 <= $31); + $45 = !($$077 <= $31); + $or$cond81 = $44 | $45; + if (!($or$cond81)) { + $46 = ((($2)) + 16|0); + $47 = +HEAPF32[$46>>2]; + $48 = $$0 - $$078; + $49 = $48 * $47; + $50 = (($0) + ($1<<2)|0); + $51 = +HEAPF32[$50>>2]; + $52 = $51 + $49; + HEAPF32[$50>>2] = $52; + return; + } + $53 = !($$079 >= $34); + $54 = !($$077 >= $34); + $or$cond82 = $53 | $54; + if (!($or$cond82)) { + return; + } + $55 = !($$079 >= $31); + $56 = !($$079 <= $34); + $or$cond83 = $55 | $56; + $57 = !($$077 >= $31); + $or$cond84 = $or$cond83 | $57; + $58 = !($$077 <= $34); + $or$cond85 = $58 | $or$cond84; + if ($or$cond85) { + ___assert_fail((15257|0),(14913|0),2573,(15158|0)); + // unreachable; + } + $59 = ((($2)) + 16|0); + $60 = +HEAPF32[$59>>2]; + $61 = $$0 - $$078; + $62 = $61 * $60; + $63 = $$079 - $31; + $64 = $$077 - $31; + $65 = $63 + $64; + $66 = $65 * 0.5; + $67 = 1.0 - $66; + $68 = $67 * $62; + $69 = (($0) + ($1<<2)|0); + $70 = +HEAPF32[$69>>2]; + $71 = $70 + $68; + HEAPF32[$69>>2] = $71; + return; +} +function _stbtt__hheap_alloc($0) { + $0 = $0|0; + var $$1 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 4|0); + $2 = HEAP32[$1>>2]|0; + $3 = ($2|0)==(0|0); + if (!($3)) { + $4 = HEAP32[$2>>2]|0; + HEAP32[$1>>2] = $4; + $$1 = $2; + return ($$1|0); + } + $5 = ((($0)) + 8|0); + $6 = HEAP32[$5>>2]|0; + $7 = ($6|0)==(0); + do { + if ($7) { + $8 = (_malloc(56004)|0); + $9 = ($8|0)==(0|0); + if ($9) { + $$1 = 0; + return ($$1|0); + } else { + $10 = HEAP32[$0>>2]|0; + HEAP32[$8>>2] = $10; + HEAP32[$0>>2] = $8; + HEAP32[$5>>2] = 2000; + break; + } + } + } while(0); + $11 = HEAP32[$5>>2]|0; + $12 = (($11) + -1)|0; + HEAP32[$5>>2] = $12; + $13 = HEAP32[$0>>2]|0; + $14 = ($12*28)|0; + $15 = (($13) + ($14)|0); + $$1 = $15; + return ($$1|0); +} +function _stbtt__sort_edges_quicksort($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$079 = 0, $$081 = 0, $$08390 = 0, $$091 = 0, $$1 = 0, $$180 = 0, $$182 = 0, $$184 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0.0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0.0, $2 = 0, $20 = 0; + var $21 = 0.0, $22 = 0, $23 = 0, $24 = 0, $25 = 0.0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $4 = 0, $5 = 0, $6 = 0.0, $7 = 0; + var $8 = 0, $9 = 0.0, $tmp = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $2 = sp; + $3 = ($1|0)>(12); + if (!($3)) { + STACKTOP = sp;return; + } + $$08390 = $1;$$091 = $0; + while(1) { + $4 = $$08390 >>> 1; + $5 = ((($$091)) + 4|0); + $6 = +HEAPF32[$5>>2]; + $7 = (($$091) + (($4*20)|0)|0); + $8 = (((($$091) + (($4*20)|0)|0)) + 4|0); + $9 = +HEAPF32[$8>>2]; + $10 = $6 < $9; + $11 = (($$08390) + -1)|0; + $12 = (((($$091) + (($11*20)|0)|0)) + 4|0); + $13 = +HEAPF32[$12>>2]; + $14 = $9 < $13; + $15 = $10 ^ $14; + $16 = $6 < $13; + $tmp = $16 ^ $14; + $17 = $tmp ? $11 : 0; + $18 = (($$091) + (($17*20)|0)|0); + if ($15) { + ;HEAP32[$2>>2]=HEAP32[$18>>2]|0;HEAP32[$2+4>>2]=HEAP32[$18+4>>2]|0;HEAP32[$2+8>>2]=HEAP32[$18+8>>2]|0;HEAP32[$2+12>>2]=HEAP32[$18+12>>2]|0;HEAP32[$2+16>>2]=HEAP32[$18+16>>2]|0; + ;HEAP32[$18>>2]=HEAP32[$7>>2]|0;HEAP32[$18+4>>2]=HEAP32[$7+4>>2]|0;HEAP32[$18+8>>2]=HEAP32[$7+8>>2]|0;HEAP32[$18+12>>2]=HEAP32[$7+12>>2]|0;HEAP32[$18+16>>2]=HEAP32[$7+16>>2]|0; + ;HEAP32[$7>>2]=HEAP32[$2>>2]|0;HEAP32[$7+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$7+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$7+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$7+16>>2]=HEAP32[$2+16>>2]|0; + } + ;HEAP32[$2>>2]=HEAP32[$$091>>2]|0;HEAP32[$2+4>>2]=HEAP32[$$091+4>>2]|0;HEAP32[$2+8>>2]=HEAP32[$$091+8>>2]|0;HEAP32[$2+12>>2]=HEAP32[$$091+12>>2]|0;HEAP32[$2+16>>2]=HEAP32[$$091+16>>2]|0; + ;HEAP32[$$091>>2]=HEAP32[$7>>2]|0;HEAP32[$$091+4>>2]=HEAP32[$7+4>>2]|0;HEAP32[$$091+8>>2]=HEAP32[$7+8>>2]|0;HEAP32[$$091+12>>2]=HEAP32[$7+12>>2]|0;HEAP32[$$091+16>>2]=HEAP32[$7+16>>2]|0; + ;HEAP32[$7>>2]=HEAP32[$2>>2]|0;HEAP32[$7+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$7+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$7+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$7+16>>2]=HEAP32[$2+16>>2]|0; + $$079 = $11;$$081 = 1; + while(1) { + $19 = +HEAPF32[$5>>2]; + $$182 = $$081; + while(1) { + $20 = (((($$091) + (($$182*20)|0)|0)) + 4|0); + $21 = +HEAPF32[$20>>2]; + $22 = $21 < $19; + $23 = (($$182) + 1)|0; + if ($22) { + $$182 = $23; + } else { + $$180 = $$079; + break; + } + } + while(1) { + $24 = (((($$091) + (($$180*20)|0)|0)) + 4|0); + $25 = +HEAPF32[$24>>2]; + $26 = $19 < $25; + $27 = (($$180) + -1)|0; + if ($26) { + $$180 = $27; + } else { + break; + } + } + $28 = (($$091) + (($$182*20)|0)|0); + $29 = ($$182|0)<($$180|0); + if (!($29)) { + break; + } + $30 = (($$091) + (($$180*20)|0)|0); + ;HEAP32[$2>>2]=HEAP32[$28>>2]|0;HEAP32[$2+4>>2]=HEAP32[$28+4>>2]|0;HEAP32[$2+8>>2]=HEAP32[$28+8>>2]|0;HEAP32[$2+12>>2]=HEAP32[$28+12>>2]|0;HEAP32[$2+16>>2]=HEAP32[$28+16>>2]|0; + ;HEAP32[$28>>2]=HEAP32[$30>>2]|0;HEAP32[$28+4>>2]=HEAP32[$30+4>>2]|0;HEAP32[$28+8>>2]=HEAP32[$30+8>>2]|0;HEAP32[$28+12>>2]=HEAP32[$30+12>>2]|0;HEAP32[$28+16>>2]=HEAP32[$30+16>>2]|0; + ;HEAP32[$30>>2]=HEAP32[$2>>2]|0;HEAP32[$30+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$30+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$30+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$30+16>>2]=HEAP32[$2+16>>2]|0; + $31 = (($$182) + 1)|0; + $32 = (($$180) + -1)|0; + $$079 = $32;$$081 = $31; + } + $33 = (($$08390) - ($$182))|0; + $34 = ($$180|0)<($33|0); + if ($34) { + _stbtt__sort_edges_quicksort($$091,$$180); + $$1 = $28;$$184 = $33; + } else { + _stbtt__sort_edges_quicksort($28,$33); + $$1 = $$091;$$184 = $$180; + } + $35 = ($$184|0)>(12); + if ($35) { + $$08390 = $$184;$$091 = $$1; + } else { + break; + } + } + STACKTOP = sp;return; +} +function _stbtt__sort_edges_ins_sort($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$03251 = 0, $$033 = 0, $$2$ph = 0, $$sroa$0$0$copyload48 = 0, $$sroa$4$0$$sroa_idx37 = 0, $$sroa$4$0$$sroa_idx38 = 0, $$sroa$4$0$copyload = 0.0, $$sroa$5 = 0, $$sroa$5$0$$sroa_idx = 0, $$sroa$5$0$$sroa_idx42 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0.0, $7 = 0; + var $8 = 0, $9 = 0, $exitcond = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $$sroa$5 = sp; + $2 = ($1|0)>(1); + if (!($2)) { + STACKTOP = sp;return; + } + $$03251 = 1; + while(1) { + $3 = (($0) + (($$03251*20)|0)|0); + $$sroa$0$0$copyload48 = HEAP32[$3>>2]|0; + $$sroa$4$0$$sroa_idx37 = (((($0) + (($$03251*20)|0)|0)) + 4|0); + $$sroa$4$0$copyload = +HEAPF32[$$sroa$4$0$$sroa_idx37>>2]; + $$sroa$5$0$$sroa_idx = (((($0) + (($$03251*20)|0)|0)) + 8|0); + ;HEAP32[$$sroa$5>>2]=HEAP32[$$sroa$5$0$$sroa_idx>>2]|0;HEAP32[$$sroa$5+4>>2]=HEAP32[$$sroa$5$0$$sroa_idx+4>>2]|0;HEAP32[$$sroa$5+8>>2]=HEAP32[$$sroa$5$0$$sroa_idx+8>>2]|0; + $$033 = $$03251; + while(1) { + $4 = (($$033) + -1)|0; + $5 = (((($0) + (($4*20)|0)|0)) + 4|0); + $6 = +HEAPF32[$5>>2]; + $7 = $$sroa$4$0$copyload < $6; + if (!($7)) { + $$2$ph = $$033; + break; + } + $8 = (($0) + (($4*20)|0)|0); + $9 = (($0) + (($$033*20)|0)|0); + ;HEAP32[$9>>2]=HEAP32[$8>>2]|0;HEAP32[$9+4>>2]=HEAP32[$8+4>>2]|0;HEAP32[$9+8>>2]=HEAP32[$8+8>>2]|0;HEAP32[$9+12>>2]=HEAP32[$8+12>>2]|0;HEAP32[$9+16>>2]=HEAP32[$8+16>>2]|0; + $10 = ($$033|0)>(1); + if ($10) { + $$033 = $4; + } else { + $$2$ph = $4; + break; + } + } + $11 = ($$03251|0)==($$2$ph|0); + if (!($11)) { + $$sroa$5$0$$sroa_idx42 = (((($0) + (($$2$ph*20)|0)|0)) + 8|0); + $$sroa$4$0$$sroa_idx38 = (((($0) + (($$2$ph*20)|0)|0)) + 4|0); + $12 = (($0) + (($$2$ph*20)|0)|0); + HEAP32[$12>>2] = $$sroa$0$0$copyload48; + HEAPF32[$$sroa$4$0$$sroa_idx38>>2] = $$sroa$4$0$copyload; + ;HEAP32[$$sroa$5$0$$sroa_idx42>>2]=HEAP32[$$sroa$5>>2]|0;HEAP32[$$sroa$5$0$$sroa_idx42+4>>2]=HEAP32[$$sroa$5+4>>2]|0;HEAP32[$$sroa$5$0$$sroa_idx42+8>>2]=HEAP32[$$sroa$5+8>>2]|0; + } + $13 = (($$03251) + 1)|0; + $exitcond = ($13|0)==($1|0); + if ($exitcond) { + break; + } else { + $$03251 = $13; + } + } + STACKTOP = sp;return; +} +function _stbtt__add_point($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = +$2; + $3 = +$3; + var $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; + sp = STACKTOP; + $4 = ($0|0)==(0|0); + if ($4) { + return; + } + $5 = (((($0) + ($1<<3)|0)) + 4|0); + $6 = (($0) + ($1<<3)|0); + HEAPF32[$6>>2] = $2; + HEAPF32[$5>>2] = $3; + return; +} +function _stbtt__tesselate_curve($0,$1,$2,$3,$4,$5,$6,$7,$8,$9) { + $0 = $0|0; + $1 = $1|0; + $2 = +$2; + $3 = +$3; + $4 = +$4; + $5 = +$5; + $6 = +$6; + $7 = +$7; + $8 = +$8; + $9 = $9|0; + var $$tr210 = 0.0, $$tr210$phi = 0.0, $$tr311 = 0.0, $$tr311$phi = 0.0, $$tr412 = 0.0, $$tr513 = 0.0, $$tr914 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0; + var $23 = 0.0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0.0, $28 = 0.0, $29 = 0.0, $30 = 0, $31 = 0.0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0, $36 = 0.0, $37 = 0.0, $38 = 0.0, $39 = 0.0, $40 = 0.0, $41 = 0.0, $42 = 0.0; + var $43 = 0.0, $44 = 0.0, $45 = 0.0, $46 = 0.0, $47 = 0.0, $48 = 0.0, $49 = 0.0, $50 = 0.0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0.0, $55 = 0.0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, label = 0, sp = 0; + sp = STACKTOP; + $10 = $4 * 2.0; + $11 = $10 + $2; + $12 = $11 + $6; + $13 = $12 * 0.25; + $14 = $5 * 2.0; + $15 = $14 + $3; + $16 = $15 + $7; + $17 = $16 * 0.25; + $18 = ($9|0)>(16); + if ($18) { + return; + } + $19 = $7 + $3; + $20 = $19 * 0.5; + $21 = $20 - $17; + $22 = $6 + $2; + $23 = $22 * 0.5; + $24 = $23 - $13; + $$tr210 = $2;$$tr311 = $3;$$tr412 = $4;$$tr513 = $5;$$tr914 = $9;$26 = $24;$28 = $21;$36 = $13;$37 = $17; + while(1) { + $25 = $26 * $26; + $27 = $28 * $28; + $29 = $25 + $27; + $30 = $29 > $8; + if (!($30)) { + break; + } + $31 = $$tr210 + $$tr412; + $32 = $31 * 0.5; + $33 = $$tr311 + $$tr513; + $34 = $33 * 0.5; + $35 = (($$tr914) + 1)|0; + _stbtt__tesselate_curve($0,$1,$$tr210,$$tr311,$32,$34,$36,$37,$8,$35); + $38 = $$tr412 + $6; + $39 = $38 * 0.5; + $40 = $$tr513 + $7; + $41 = $40 * 0.5; + $42 = $39 * 2.0; + $43 = $36 + $42; + $44 = $43 + $6; + $45 = $44 * 0.25; + $46 = $41 * 2.0; + $47 = $37 + $46; + $48 = $47 + $7; + $49 = $48 * 0.25; + $50 = $36 + $6; + $51 = $50 * 0.5; + $52 = $51 - $45; + $53 = $37 + $7; + $54 = $53 * 0.5; + $55 = $54 - $49; + $56 = ($$tr914|0)>(15); + if ($56) { + label = 6; + break; + } else { + $$tr311$phi = $37;$$tr210$phi = $36;$$tr412 = $39;$$tr513 = $41;$$tr914 = $35;$26 = $52;$28 = $55;$36 = $45;$37 = $49;$$tr311 = $$tr311$phi;$$tr210 = $$tr210$phi; + } + } + if ((label|0) == 6) { + return; + } + $57 = HEAP32[$1>>2]|0; + _stbtt__add_point($0,$57,$6,$7); + $58 = HEAP32[$1>>2]|0; + $59 = (($58) + 1)|0; + HEAP32[$1>>2] = $59; + return; +} +function _stbtt__tesselate_cubic($0,$1,$2,$3,$4,$5,$6,$7,$8,$9,$10,$11) { + $0 = $0|0; + $1 = $1|0; + $2 = +$2; + $3 = +$3; + $4 = +$4; + $5 = +$5; + $6 = +$6; + $7 = +$7; + $8 = +$8; + $9 = +$9; + $10 = +$10; + $11 = $11|0; + var $$tr138 = 0.0, $$tr139 = 0.0, $$tr140 = 0.0, $$tr141 = 0.0, $$tr142 = 0.0, $$tr143 = 0.0, $$tr147 = 0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0; + var $25 = 0.0, $26 = 0.0, $27 = 0.0, $28 = 0.0, $29 = 0.0, $30 = 0.0, $31 = 0.0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0.0, $36 = 0.0, $37 = 0.0, $38 = 0.0, $39 = 0.0, $40 = 0.0, $41 = 0, $42 = 0.0, $43 = 0.0, $44 = 0.0; + var $45 = 0, $46 = 0.0, $47 = 0.0, $48 = 0.0, $49 = 0.0, $50 = 0.0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0.0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0.0, $60 = 0.0, $61 = 0.0, $62 = 0.0, $63 = 0.0, $64 = 0.0; + var $65 = 0.0, $66 = 0.0, $67 = 0.0, $68 = 0.0, $69 = 0.0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $sqrtf = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $$tr138 = $2;$$tr139 = $3;$$tr140 = $4;$$tr141 = $5;$$tr142 = $6;$$tr143 = $7;$$tr147 = $11; + while(1) { + $12 = $$tr140 - $$tr138; + $13 = $$tr141 - $$tr139; + $14 = $$tr142 - $$tr140; + $15 = $$tr143 - $$tr141; + $16 = $8 - $$tr142; + $17 = $9 - $$tr143; + $18 = $8 - $$tr138; + $19 = $9 - $$tr139; + $20 = $12 * $12; + $21 = $13 * $13; + $22 = $20 + $21; + $23 = $22; + $24 = (+Math_sqrt((+$23))); + $25 = $14 * $14; + $26 = $15 * $15; + $27 = $25 + $26; + $28 = $27; + $29 = (+Math_sqrt((+$28))); + $30 = $24 + $29; + $31 = $16 * $16; + $32 = $17 * $17; + $33 = $31 + $32; + $34 = $33; + $35 = (+Math_sqrt((+$34))); + $36 = $30 + $35; + $37 = $36; + $38 = $18 * $18; + $39 = $19 * $19; + $40 = $38 + $39; + $sqrtf = (+Math_sqrt((+$40))); + $41 = ($$tr147|0)>(16); + if ($41) { + label = 6; + break; + } + $42 = $37 * $37; + $43 = $sqrtf * $sqrtf; + $44 = $42 - $43; + $45 = $44 > $10; + if (!($45)) { + break; + } + $46 = $$tr138 + $$tr140; + $47 = $46 * 0.5; + $48 = $$tr139 + $$tr141; + $49 = $48 * 0.5; + $50 = $$tr140 + $$tr142; + $51 = $50 * 0.5; + $52 = $$tr141 + $$tr143; + $53 = $52 * 0.5; + $54 = $$tr142 + $8; + $55 = $54 * 0.5; + $56 = $$tr143 + $9; + $57 = $56 * 0.5; + $58 = $47 + $51; + $59 = $58 * 0.5; + $60 = $49 + $53; + $61 = $60 * 0.5; + $62 = $51 + $55; + $63 = $62 * 0.5; + $64 = $53 + $57; + $65 = $64 * 0.5; + $66 = $59 + $63; + $67 = $66 * 0.5; + $68 = $61 + $65; + $69 = $68 * 0.5; + $70 = (($$tr147) + 1)|0; + _stbtt__tesselate_cubic($0,$1,$$tr138,$$tr139,$47,$49,$59,$61,$67,$69,$10,$70); + $$tr138 = $67;$$tr139 = $69;$$tr140 = $63;$$tr141 = $65;$$tr142 = $55;$$tr143 = $57;$$tr147 = $70; + } + if ((label|0) == 6) { + return; + } + $71 = HEAP32[$1>>2]|0; + _stbtt__add_point($0,$71,$8,$9); + $72 = HEAP32[$1>>2]|0; + $73 = (($72) + 1)|0; + HEAP32[$1>>2] = $73; + return; +} +function _stbtt_GetGlyphBox($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + var $$1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $6 = ((($0)) + 56|0); + $7 = HEAP32[$6>>2]|0; + $8 = ($7|0)==(0); + if (!($8)) { + _stbtt__GetGlyphInfoT2($0,$1,$2,$3,$4,$5); + $$1 = 1; + return ($$1|0); + } + $9 = (_stbtt__GetGlyfOffset($0,$1)|0); + $10 = ($9|0)<(0); + if ($10) { + $$1 = 0; + return ($$1|0); + } + $11 = ($2|0)==(0|0); + if (!($11)) { + $12 = ((($0)) + 4|0); + $13 = HEAP32[$12>>2]|0; + $14 = (($13) + ($9)|0); + $15 = ((($14)) + 2|0); + $16 = (_ttSHORT($15)|0); + $17 = $16 << 16 >> 16; + HEAP32[$2>>2] = $17; + } + $18 = ($3|0)==(0|0); + if (!($18)) { + $19 = ((($0)) + 4|0); + $20 = HEAP32[$19>>2]|0; + $21 = (($20) + ($9)|0); + $22 = ((($21)) + 4|0); + $23 = (_ttSHORT($22)|0); + $24 = $23 << 16 >> 16; + HEAP32[$3>>2] = $24; + } + $25 = ($4|0)==(0|0); + if (!($25)) { + $26 = ((($0)) + 4|0); + $27 = HEAP32[$26>>2]|0; + $28 = (($27) + ($9)|0); + $29 = ((($28)) + 6|0); + $30 = (_ttSHORT($29)|0); + $31 = $30 << 16 >> 16; + HEAP32[$4>>2] = $31; + } + $32 = ($5|0)==(0|0); + if ($32) { + $$1 = 1; + return ($$1|0); + } + $33 = ((($0)) + 4|0); + $34 = HEAP32[$33>>2]|0; + $35 = (($34) + ($9)|0); + $36 = ((($35)) + 8|0); + $37 = (_ttSHORT($36)|0); + $38 = $37 << 16 >> 16; + HEAP32[$5>>2] = $38; + $$1 = 1; + return ($$1|0); +} +function _stbtt__GetGlyphInfoT2($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0; + var stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0); + $6 = sp; + $7 = ((($6)) + 4|0); + dest=$7; stop=dest+44|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + HEAP32[$6>>2] = 1; + $8 = (_stbtt__run_charstring($0,$1,$6)|0); + $9 = ($2|0)==(0|0); + $10 = ($8|0)!=(0); + if ($9) { + STACKTOP = sp;return; + } + $11 = ((($6)) + 24|0); + $12 = HEAP32[$11>>2]|0; + $13 = $10 ? $12 : 0; + HEAP32[$2>>2] = $13; + $14 = ((($6)) + 32|0); + $15 = HEAP32[$14>>2]|0; + $16 = $10 ? $15 : 0; + HEAP32[$3>>2] = $16; + $17 = ((($6)) + 28|0); + $18 = HEAP32[$17>>2]|0; + $19 = $10 ? $18 : 0; + HEAP32[$4>>2] = $19; + $20 = ((($6)) + 36|0); + $21 = HEAP32[$20>>2]|0; + $22 = $10 ? $21 : 0; + HEAP32[$5>>2] = $22; + STACKTOP = sp;return; +} +function _stbtt__GetGlyfOffset($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$023 = 0, $$024 = 0, $$pn = 0, $$sink = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; + var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($0)) + 56|0); + $3 = HEAP32[$2>>2]|0; + $4 = ($3|0)==(0); + if (!($4)) { + ___assert_fail((15336|0),(14913|0),1440,(15352|0)); + // unreachable; + } + $5 = ((($0)) + 12|0); + $6 = HEAP32[$5>>2]|0; + $7 = ($6|0)>($1|0); + if (!($7)) { + $$024 = -1; + return ($$024|0); + } + $8 = ((($0)) + 44|0); + $9 = HEAP32[$8>>2]|0; + $10 = ($9|0)>(1); + if ($10) { + $$024 = -1; + return ($$024|0); + } + $11 = ($9|0)==(0); + $12 = ((($0)) + 24|0); + $13 = HEAP32[$12>>2]|0; + $14 = ((($0)) + 4|0); + $15 = HEAP32[$14>>2]|0; + $16 = ((($0)) + 16|0); + $17 = HEAP32[$16>>2]|0; + $18 = (($15) + ($17)|0); + if ($11) { + $19 = $1 << 1; + $20 = (($18) + ($19)|0); + $21 = (_ttUSHORT($20)|0); + $22 = $21&65535; + $23 = $22 << 1; + $24 = ((($20)) + 2|0); + $25 = (_ttUSHORT($24)|0); + $26 = $25&65535; + $27 = $26 << 1; + $$pn = $23;$$sink = $27; + } else { + $28 = $1 << 2; + $29 = (($18) + ($28)|0); + $30 = (_ttULONG($29)|0); + $31 = ((($29)) + 4|0); + $32 = (_ttULONG($31)|0); + $$pn = $30;$$sink = $32; + } + $33 = (($$sink) + ($13))|0; + $$023 = (($$pn) + ($13))|0; + $34 = ($$023|0)==($33|0); + $35 = $34 ? -1 : $$023; + $$024 = $35; + return ($$024|0); +} +function _ttSHORT($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP8[$0>>0]|0; + $2 = $1&255; + $3 = $2 << 8; + $4 = ((($0)) + 1|0); + $5 = HEAP8[$4>>0]|0; + $6 = $5&255; + $7 = $3 | $6; + $8 = $7&65535; + return ($8|0); +} +function _ttUSHORT($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP8[$0>>0]|0; + $2 = $1&255; + $3 = $2 << 8; + $4 = ((($0)) + 1|0); + $5 = HEAP8[$4>>0]|0; + $6 = $5&255; + $7 = $3 | $6; + $8 = $7&65535; + return ($8|0); +} +function _ttULONG($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP8[$0>>0]|0; + $2 = $1&255; + $3 = $2 << 24; + $4 = ((($0)) + 1|0); + $5 = HEAP8[$4>>0]|0; + $6 = $5&255; + $7 = $6 << 16; + $8 = $7 | $3; + $9 = ((($0)) + 2|0); + $10 = HEAP8[$9>>0]|0; + $11 = $10&255; + $12 = $11 << 8; + $13 = $8 | $12; + $14 = ((($0)) + 3|0); + $15 = HEAP8[$14>>0]|0; + $16 = $15&255; + $17 = $13 | $16; + return ($17|0); +} +function _stbtt__run_charstring($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$ = 0, $$0274$be = 0, $$0274335 = 0, $$0276$be = 0, $$0276334 = 0, $$0279 = 0.0, $$0280 = 0.0, $$0282318 = 0.0, $$0285$be = 0, $$0285333 = 0, $$0288$be = 0, $$0288332 = 0, $$0290329 = 0, $$0294$be = 0, $$0294331 = 0, $$1277 = 0, $$1283 = 0.0, $$1286 = 0, $$1291 = 0, $$2292 = 0; + var $$3 = 0, $$3293 = 0, $$363 = 0.0, $$4 = 0, $$5327 = 0, $$6$lcssa = 0, $$6322 = 0, $$7$lcssa = 0, $$7319 = 0, $$8317 = 0, $$byval_copy1 = 0, $$lcssa = 0, $$lcssa316 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0.0, $103 = 0, $104 = 0, $105 = 0.0; + var $106 = 0, $107 = 0.0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0.0, $113 = 0.0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0.0, $119 = 0, $12 = 0, $120 = 0, $121 = 0.0, $122 = 0, $123 = 0; + var $124 = 0.0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0.0, $13 = 0, $130 = 0, $131 = 0.0, $132 = 0.0, $133 = 0, $134 = 0, $135 = 0, $136 = 0.0, $137 = 0, $138 = 0, $139 = 0.0, $14 = 0, $140 = 0, $141 = 0; + var $142 = 0.0, $143 = 0, $144 = 0, $145 = 0.0, $146 = 0, $147 = 0, $148 = 0.0, $149 = 0, $15 = 0, $150 = 0, $151 = 0.0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0.0, $16 = 0; + var $160 = 0, $161 = 0, $162 = 0.0, $163 = 0, $164 = 0, $165 = 0.0, $166 = 0, $167 = 0, $168 = 0.0, $169 = 0, $17 = 0, $170 = 0, $171 = 0.0, $172 = 0, $173 = 0, $174 = 0.0, $175 = 0, $176 = 0, $177 = 0, $178 = 0; + var $179 = 0, $18 = 0, $180 = 0, $181 = 0.0, $182 = 0, $183 = 0.0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0.0, $189 = 0, $19 = 0, $190 = 0, $191 = 0.0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0; + var $197 = 0, $198 = 0.0, $199 = 0, $20 = 0, $200 = 0.0, $201 = 0, $202 = 0, $203 = 0.0, $204 = 0, $205 = 0, $206 = 0.0, $207 = 0, $208 = 0, $209 = 0.0, $21 = 0, $210 = 0, $211 = 0.0, $212 = 0, $213 = 0, $214 = 0; + var $215 = 0, $216 = 0, $217 = 0.0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0.0, $223 = 0, $224 = 0.0, $225 = 0, $226 = 0.0, $227 = 0, $228 = 0, $229 = 0.0, $23 = 0, $230 = 0, $231 = 0, $232 = 0; + var $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0.0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0; + var $251 = 0, $252 = 0.0, $253 = 0.0, $254 = 0.0, $255 = 0.0, $256 = 0.0, $257 = 0.0, $258 = 0.0, $259 = 0.0, $26 = 0, $260 = 0, $261 = 0.0, $262 = 0.0, $263 = 0.0, $264 = 0.0, $265 = 0.0, $266 = 0.0, $267 = 0.0, $268 = 0.0, $269 = 0.0; + var $27 = 0, $270 = 0.0, $271 = 0.0, $272 = 0.0, $273 = 0, $274 = 0.0, $275 = 0.0, $276 = 0.0, $277 = 0.0, $278 = 0.0, $279 = 0.0, $28 = 0, $280 = 0.0, $281 = 0.0, $282 = 0.0, $283 = 0.0, $284 = 0.0, $285 = 0.0, $286 = 0, $287 = 0.0; + var $288 = 0.0, $289 = 0.0, $29 = 0, $290 = 0.0, $291 = 0.0, $292 = 0.0, $293 = 0.0, $294 = 0.0, $295 = 0.0, $296 = 0.0, $297 = 0.0, $298 = 0.0, $299 = 0.0, $3 = 0, $30 = 0, $300 = 0.0, $301 = 0.0, $302 = 0.0, $303 = 0.0, $304 = 0.0; + var $305 = 0.0, $306 = 0, $307 = 0.0, $308 = 0.0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0.0, $316 = 0.0, $317 = 0, $318 = 0, $319 = 0.0, $32 = 0, $320 = 0, $321 = 0, $322 = 0; + var $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0; + var $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0.0, $64 = 0, $65 = 0, $66 = 0.0, $67 = 0, $68 = 0, $69 = 0; + var $7 = 0, $70 = 0.0, $71 = 0, $72 = 0, $73 = 0, $74 = 0.0, $75 = 0, $76 = 0, $77 = 0.0, $78 = 0, $79 = 0, $8 = 0, $80 = 0.0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0; + var $88 = 0.0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0.0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0.0, $fabsf = 0.0, $fabsf296 = 0.0, $not$ = 0, $or$cond3 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 368|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(368|0); + $$byval_copy1 = sp + 352|0; + $3 = sp + 160|0; + $4 = sp + 40|0; + $5 = sp + 24|0; + $6 = sp; + $7 = sp + 12|0; + $8 = ((($0)) + 84|0); + ;HEAP32[$5>>2]=HEAP32[$8>>2]|0;HEAP32[$5+4>>2]=HEAP32[$8+4>>2]|0;HEAP32[$5+8>>2]=HEAP32[$8+8>>2]|0; + $9 = ((($0)) + 60|0); + ;HEAP32[$$byval_copy1>>2]=HEAP32[$9>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$9+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$9+8>>2]|0; + _stbtt__cff_index_get($6,$$byval_copy1,$1); + $10 = ((($6)) + 4|0); + $11 = HEAP32[$10>>2]|0; + $12 = ((($6)) + 8|0); + $13 = HEAP32[$12>>2]|0; + $14 = ($11|0)<($13|0); + if (!($14)) { + $$3 = 0; + STACKTOP = sp;return ($$3|0); + } + $15 = ((($0)) + 116|0); + $16 = ((($0)) + 72|0); + $17 = ((($3)) + 4|0); + $18 = ((($3)) + 8|0); + $19 = ((($3)) + 12|0); + $20 = ((($3)) + 16|0); + $21 = ((($3)) + 20|0); + $22 = ((($3)) + 24|0); + $23 = ((($3)) + 4|0); + $24 = ((($3)) + 8|0); + $25 = ((($3)) + 12|0); + $26 = ((($3)) + 16|0); + $27 = ((($3)) + 20|0); + $28 = ((($3)) + 24|0); + $29 = ((($3)) + 28|0); + $30 = ((($3)) + 32|0); + $31 = ((($3)) + 36|0); + $32 = ((($3)) + 40|0); + $33 = ((($3)) + 44|0); + $34 = ((($3)) + 4|0); + $35 = ((($3)) + 8|0); + $36 = ((($3)) + 12|0); + $37 = ((($3)) + 16|0); + $38 = ((($3)) + 20|0); + $39 = ((($3)) + 24|0); + $40 = ((($3)) + 28|0); + $41 = ((($3)) + 32|0); + $42 = ((($3)) + 4|0); + $43 = ((($3)) + 8|0); + $44 = ((($3)) + 12|0); + $45 = ((($3)) + 16|0); + $46 = ((($3)) + 20|0); + $47 = ((($3)) + 24|0); + $48 = ((($3)) + 28|0); + $49 = ((($3)) + 32|0); + $50 = ((($3)) + 36|0); + $51 = ((($3)) + 40|0); + $$0274335 = 1;$$0276334 = 0;$$0285333 = 0;$$0288332 = 0;$$0294331 = 0; + L4: while(1) { + $52 = (_stbtt__buf_get8($6)|0); + L6: do { + switch ($52<<24>>24) { + case 14: { + label = 63; + break L4; + break; + } + case 20: case 19: { + $53 = ($$0274335|0)==(0); + if ($53) { + $$1277 = $$0276334; + } else { + $54 = (($$0294331|0) / 2)&-1; + $55 = (($$0276334) + ($54))|0; + $$1277 = $55; + } + $56 = (($$1277) + 7)|0; + $57 = (($56|0) / 8)&-1; + _stbtt__buf_skip($6,$57); + $$0274$be = 0;$$0276$be = $$1277;$$0285$be = $$0285333;$$0288$be = $$0288332;$$0294$be = 0; + label = 73; + break; + } + case 23: case 18: case 3: case 1: { + $58 = (($$0294331|0) / 2)&-1; + $59 = (($$0276334) + ($58))|0; + $$0274$be = $$0274335;$$0276$be = $59;$$0285$be = $$0285333;$$0288$be = $$0288332;$$0294$be = 0; + label = 73; + break; + } + case 21: { + $60 = ($$0294331|0)<(2); + if ($60) { + $$3 = 0; + label = 80; + break L4; + } + $61 = (($$0294331) + -2)|0; + $62 = (($3) + ($61<<2)|0); + $63 = +HEAPF32[$62>>2]; + $64 = (($$0294331) + -1)|0; + $65 = (($3) + ($64<<2)|0); + $66 = +HEAPF32[$65>>2]; + _stbtt__csctx_rmove_to($2,$63,$66); + $$0274$be = 0;$$0276$be = $$0276334;$$0285$be = $$0285333;$$0288$be = $$0288332;$$0294$be = 0; + label = 73; + break; + } + case 4: { + $67 = ($$0294331|0)<(1); + if ($67) { + $$3 = 0; + label = 80; + break L4; + } + $68 = (($$0294331) + -1)|0; + $69 = (($3) + ($68<<2)|0); + $70 = +HEAPF32[$69>>2]; + _stbtt__csctx_rmove_to($2,0.0,$70); + $$0274$be = 0;$$0276$be = $$0276334;$$0285$be = $$0285333;$$0288$be = $$0288332;$$0294$be = 0; + label = 73; + break; + } + case 22: { + $71 = ($$0294331|0)<(1); + if ($71) { + $$3 = 0; + label = 80; + break L4; + } + $72 = (($$0294331) + -1)|0; + $73 = (($3) + ($72<<2)|0); + $74 = +HEAPF32[$73>>2]; + _stbtt__csctx_rmove_to($2,$74,0.0); + $$0274$be = 0;$$0276$be = $$0276334;$$0285$be = $$0285333;$$0288$be = $$0288332;$$0294$be = 0; + label = 73; + break; + } + case 5: { + $75 = ($$0294331|0)<(2); + if ($75) { + $$3 = 0; + label = 80; + break L4; + } else { + $$0290329 = 0;$79 = 1; + } + while(1) { + $76 = (($3) + ($$0290329<<2)|0); + $77 = +HEAPF32[$76>>2]; + $78 = (($3) + ($79<<2)|0); + $80 = +HEAPF32[$78>>2]; + _stbtt__csctx_rline_to($2,$77,$80); + $81 = (($$0290329) + 2)|0; + $82 = $81 | 1; + $83 = ($82|0)<($$0294331|0); + if ($83) { + $$0290329 = $81;$79 = $82; + } else { + $$0274$be = $$0274335;$$0276$be = $$0276334;$$0285$be = $$0285333;$$0288$be = $$0288332;$$0294$be = 0; + label = 73; + break; + } + } + break; + } + case 7: { + $84 = ($$0294331|0)<(1); + if ($84) { + $$3 = 0; + label = 80; + break L4; + } else { + $$2292 = 0; + label = 20; + } + break; + } + case 6: { + $85 = ($$0294331|0)<(1); + if ($85) { + $$3 = 0; + label = 80; + break L4; + } else { + $$1291 = 0; + label = 18; + } + break; + } + case 31: { + $94 = ($$0294331|0)<(4); + if ($94) { + $$3 = 0; + label = 80; + break L4; + } else { + $$4 = 0; + label = 28; + } + break; + } + case 30: { + $95 = ($$0294331|0)<(4); + if ($95) { + $$3 = 0; + label = 80; + break L4; + } else { + $$3293 = 0; + label = 24; + } + break; + } + case 8: { + $134 = ($$0294331|0)<(6); + if ($134) { + $$3 = 0; + label = 80; + break L4; + } else { + $$5327 = 0;$150 = 5; + } + while(1) { + $135 = (($3) + ($$5327<<2)|0); + $136 = +HEAPF32[$135>>2]; + $137 = $$5327 | 1; + $138 = (($3) + ($137<<2)|0); + $139 = +HEAPF32[$138>>2]; + $140 = (($$5327) + 2)|0; + $141 = (($3) + ($140<<2)|0); + $142 = +HEAPF32[$141>>2]; + $143 = (($$5327) + 3)|0; + $144 = (($3) + ($143<<2)|0); + $145 = +HEAPF32[$144>>2]; + $146 = (($$5327) + 4)|0; + $147 = (($3) + ($146<<2)|0); + $148 = +HEAPF32[$147>>2]; + $149 = (($3) + ($150<<2)|0); + $151 = +HEAPF32[$149>>2]; + _stbtt__csctx_rccurve_to($2,$136,$139,$142,$145,$148,$151); + $152 = (($$5327) + 6)|0; + $153 = (($$5327) + 11)|0; + $154 = ($153|0)<($$0294331|0); + if ($154) { + $$5327 = $152;$150 = $153; + } else { + $$0274$be = $$0274335;$$0276$be = $$0276334;$$0285$be = $$0285333;$$0288$be = $$0288332;$$0294$be = 0; + label = 73; + break; + } + } + break; + } + case 24: { + $155 = ($$0294331|0)<(8); + if ($155) { + $$3 = 0; + label = 80; + break L4; + } + $156 = (($$0294331) + -2)|0; + $157 = ($156|0)>(5); + if ($157) { + $$6322 = 0;$161 = 1;$173 = 5; + while(1) { + $158 = (($3) + ($$6322<<2)|0); + $159 = +HEAPF32[$158>>2]; + $160 = (($3) + ($161<<2)|0); + $162 = +HEAPF32[$160>>2]; + $163 = (($$6322) + 2)|0; + $164 = (($3) + ($163<<2)|0); + $165 = +HEAPF32[$164>>2]; + $166 = (($$6322) + 3)|0; + $167 = (($3) + ($166<<2)|0); + $168 = +HEAPF32[$167>>2]; + $169 = (($$6322) + 4)|0; + $170 = (($3) + ($169<<2)|0); + $171 = +HEAPF32[$170>>2]; + $172 = (($3) + ($173<<2)|0); + $174 = +HEAPF32[$172>>2]; + _stbtt__csctx_rccurve_to($2,$159,$162,$165,$168,$171,$174); + $175 = (($$6322) + 6)|0; + $176 = (($$6322) + 11)|0; + $177 = ($176|0)<($156|0); + $178 = $175 | 1; + if ($177) { + $$6322 = $175;$161 = $178;$173 = $176; + } else { + $$6$lcssa = $175;$$lcssa316 = $178; + break; + } + } + } else { + $$6$lcssa = 0;$$lcssa316 = 1; + } + $179 = ($$lcssa316|0)<($$0294331|0); + if (!($179)) { + $$3 = 0; + label = 80; + break L4; + } + $180 = (($3) + ($$6$lcssa<<2)|0); + $181 = +HEAPF32[$180>>2]; + $182 = (($3) + ($$lcssa316<<2)|0); + $183 = +HEAPF32[$182>>2]; + _stbtt__csctx_rline_to($2,$181,$183); + $$0274$be = $$0274335;$$0276$be = $$0276334;$$0285$be = $$0285333;$$0288$be = $$0288332;$$0294$be = 0; + label = 73; + break; + } + case 25: { + $184 = ($$0294331|0)<(8); + if ($184) { + $$3 = 0; + label = 80; + break L4; + } + $185 = (($$0294331) + -6)|0; + $186 = ($185|0)>(1); + if ($186) { + $$7319 = 0;$190 = 1; + while(1) { + $187 = (($3) + ($$7319<<2)|0); + $188 = +HEAPF32[$187>>2]; + $189 = (($3) + ($190<<2)|0); + $191 = +HEAPF32[$189>>2]; + _stbtt__csctx_rline_to($2,$188,$191); + $192 = (($$7319) + 2)|0; + $193 = $192 | 1; + $194 = ($193|0)<($185|0); + if ($194) { + $$7319 = $192;$190 = $193; + } else { + $$7$lcssa = $192;$$lcssa = $193; + break; + } + } + } else { + $$7$lcssa = 0;$$lcssa = 1; + } + $195 = (($$7$lcssa) + 5)|0; + $196 = ($195|0)<($$0294331|0); + if (!($196)) { + $$3 = 0; + label = 80; + break L4; + } + $197 = (($3) + ($$7$lcssa<<2)|0); + $198 = +HEAPF32[$197>>2]; + $199 = (($3) + ($$lcssa<<2)|0); + $200 = +HEAPF32[$199>>2]; + $201 = (($$7$lcssa) + 2)|0; + $202 = (($3) + ($201<<2)|0); + $203 = +HEAPF32[$202>>2]; + $204 = (($$7$lcssa) + 3)|0; + $205 = (($3) + ($204<<2)|0); + $206 = +HEAPF32[$205>>2]; + $207 = (($$7$lcssa) + 4)|0; + $208 = (($3) + ($207<<2)|0); + $209 = +HEAPF32[$208>>2]; + $210 = (($3) + ($195<<2)|0); + $211 = +HEAPF32[$210>>2]; + _stbtt__csctx_rccurve_to($2,$198,$200,$203,$206,$209,$211); + $$0274$be = $$0274335;$$0276$be = $$0276334;$$0285$be = $$0285333;$$0288$be = $$0288332;$$0294$be = 0; + label = 73; + break; + } + case 27: case 26: { + $212 = ($$0294331|0)<(4); + if ($212) { + $$3 = 0; + label = 80; + break L4; + } + $213 = $$0294331 & 1; + $214 = ($213|0)==(0); + $215 = (($213) + 3)|0; + $216 = ($215|0)<($$0294331|0); + if ($216) { + $not$ = $214 ^ 1; + $$ = $not$&1; + $217 = +HEAPF32[$3>>2]; + $$363 = $214 ? 0.0 : $217; + $218 = ($52<<24>>24)==(27); + $$0282318 = $$363;$$8317 = $$;$228 = $215; + while(1) { + $219 = (($$8317) + 2)|0; + $220 = (($$8317) + 1)|0; + $221 = (($3) + ($219<<2)|0); + $222 = +HEAPF32[$221>>2]; + $223 = (($3) + ($$8317<<2)|0); + $224 = +HEAPF32[$223>>2]; + $225 = (($3) + ($220<<2)|0); + $226 = +HEAPF32[$225>>2]; + $227 = (($3) + ($228<<2)|0); + $229 = +HEAPF32[$227>>2]; + if ($218) { + _stbtt__csctx_rccurve_to($2,$224,$$0282318,$226,$222,$229,0.0); + } else { + _stbtt__csctx_rccurve_to($2,$$0282318,$224,$226,$222,0.0,$229); + } + $230 = (($$8317) + 4)|0; + $231 = (($$8317) + 7)|0; + $232 = ($231|0)<($$0294331|0); + if ($232) { + $$0282318 = 0.0;$$8317 = $230;$228 = $231; + } else { + $$0274$be = $$0274335;$$0276$be = $$0276334;$$0285$be = $$0285333;$$0288$be = $$0288332;$$0294$be = 0; + label = 73; + break; + } + } + } else { + $$0274$be = $$0274335;$$0276$be = $$0276334;$$0285$be = $$0285333;$$0288$be = $$0288332;$$0294$be = 0; + label = 73; + } + break; + } + case 10: { + $233 = ($$0285333|0)==(0); + if ($233) { + $234 = HEAP32[$15>>2]|0; + $235 = ($234|0)==(0); + if ($235) { + $$1286 = 1; + label = 54; + } else { + _stbtt__cid_get_glyph_subrs($5,$0,$1); + $$1286 = 1; + label = 54; + } + } else { + $$1286 = $$0285333; + label = 54; + } + break; + } + case 29: { + $$1286 = $$0285333; + label = 54; + break; + } + case 11: { + $247 = ($$0288332|0)<(1); + if ($247) { + $$3 = 0; + label = 80; + break L4; + } + $248 = (($$0288332) + -1)|0; + $249 = (($4) + (($248*12)|0)|0); + ;HEAP32[$6>>2]=HEAP32[$249>>2]|0;HEAP32[$6+4>>2]=HEAP32[$249+4>>2]|0;HEAP32[$6+8>>2]=HEAP32[$249+8>>2]|0; + $$0274$be = $$0274335;$$0276$be = $$0276334;$$0285$be = $$0285333;$$0288$be = $248;$$0294$be = $$0294331; + label = 73; + break; + } + case 12: { + $250 = (_stbtt__buf_get8($6)|0); + switch ($250<<24>>24) { + case 34: { + $251 = ($$0294331|0)<(7); + if ($251) { + $$3 = 0; + label = 80; + break L4; + } + $252 = +HEAPF32[$3>>2]; + $253 = +HEAPF32[$17>>2]; + $254 = +HEAPF32[$18>>2]; + $255 = +HEAPF32[$19>>2]; + $256 = +HEAPF32[$20>>2]; + $257 = +HEAPF32[$21>>2]; + $258 = +HEAPF32[$22>>2]; + _stbtt__csctx_rccurve_to($2,$252,0.0,$253,$254,$255,0.0); + $259 = -$254; + _stbtt__csctx_rccurve_to($2,$256,0.0,$257,$259,$258,0.0); + $$0274$be = $$0274335;$$0276$be = $$0276334;$$0285$be = $$0285333;$$0288$be = $$0288332;$$0294$be = 0; + label = 73; + break L6; + break; + } + case 35: { + $260 = ($$0294331|0)<(13); + if ($260) { + $$3 = 0; + label = 80; + break L4; + } + $261 = +HEAPF32[$3>>2]; + $262 = +HEAPF32[$23>>2]; + $263 = +HEAPF32[$24>>2]; + $264 = +HEAPF32[$25>>2]; + $265 = +HEAPF32[$26>>2]; + $266 = +HEAPF32[$27>>2]; + $267 = +HEAPF32[$28>>2]; + $268 = +HEAPF32[$29>>2]; + $269 = +HEAPF32[$30>>2]; + $270 = +HEAPF32[$31>>2]; + $271 = +HEAPF32[$32>>2]; + $272 = +HEAPF32[$33>>2]; + _stbtt__csctx_rccurve_to($2,$261,$262,$263,$264,$265,$266); + _stbtt__csctx_rccurve_to($2,$267,$268,$269,$270,$271,$272); + $$0274$be = $$0274335;$$0276$be = $$0276334;$$0285$be = $$0285333;$$0288$be = $$0288332;$$0294$be = 0; + label = 73; + break L6; + break; + } + case 36: { + $273 = ($$0294331|0)<(9); + if ($273) { + $$3 = 0; + label = 80; + break L4; + } + $274 = +HEAPF32[$3>>2]; + $275 = +HEAPF32[$34>>2]; + $276 = +HEAPF32[$35>>2]; + $277 = +HEAPF32[$36>>2]; + $278 = +HEAPF32[$37>>2]; + $279 = +HEAPF32[$38>>2]; + $280 = +HEAPF32[$39>>2]; + $281 = +HEAPF32[$40>>2]; + $282 = +HEAPF32[$41>>2]; + _stbtt__csctx_rccurve_to($2,$274,$275,$276,$277,$278,0.0); + $283 = $275 + $277; + $284 = $283 + $281; + $285 = -$284; + _stbtt__csctx_rccurve_to($2,$279,0.0,$280,$281,$282,$285); + $$0274$be = $$0274335;$$0276$be = $$0276334;$$0285$be = $$0285333;$$0288$be = $$0288332;$$0294$be = 0; + label = 73; + break L6; + break; + } + case 37: { + $286 = ($$0294331|0)<(11); + if ($286) { + $$3 = 0; + label = 80; + break L4; + } + $287 = +HEAPF32[$3>>2]; + $288 = +HEAPF32[$42>>2]; + $289 = +HEAPF32[$43>>2]; + $290 = +HEAPF32[$44>>2]; + $291 = +HEAPF32[$45>>2]; + $292 = +HEAPF32[$46>>2]; + $293 = +HEAPF32[$47>>2]; + $294 = +HEAPF32[$48>>2]; + $295 = +HEAPF32[$49>>2]; + $296 = +HEAPF32[$50>>2]; + $297 = +HEAPF32[$51>>2]; + $298 = $287 + $289; + $299 = $298 + $291; + $300 = $299 + $293; + $301 = $300 + $295; + $302 = $288 + $290; + $303 = $302 + $292; + $304 = $303 + $294; + $305 = $304 + $296; + $fabsf = (+Math_abs((+$301))); + $fabsf296 = (+Math_abs((+$305))); + $306 = $fabsf > $fabsf296; + $307 = -$305; + $308 = -$301; + $$0280 = $306 ? $297 : $308; + $$0279 = $306 ? $307 : $297; + _stbtt__csctx_rccurve_to($2,$287,$288,$289,$290,$291,$292); + _stbtt__csctx_rccurve_to($2,$293,$294,$295,$296,$$0280,$$0279); + $$0274$be = $$0274335;$$0276$be = $$0276334;$$0285$be = $$0285333;$$0288$be = $$0288332;$$0294$be = 0; + label = 73; + break L6; + break; + } + default: { + $$3 = 0; + label = 80; + break L4; + } + } + break; + } + case -1: { + label = 76; + break; + } + case 28: { + label = 77; + break; + } + default: { + $312 = ($52&255)<(32); + $313 = ($52<<24>>24)==(-1); + $or$cond3 = $312 | $313; + if ($or$cond3) { + $$3 = 0; + label = 80; + break L4; + } + if ($313) { + label = 76; + } else { + label = 77; + } + } + } + } while(0); + if ((label|0) == 54) { + label = 0; + $236 = ($$0294331|0)<(1); + if ($236) { + $$3 = 0; + label = 80; + break; + } + $237 = (($$0294331) + -1)|0; + $238 = (($3) + ($237<<2)|0); + $239 = +HEAPF32[$238>>2]; + $240 = (~~(($239))); + $241 = ($$0288332|0)>(9); + if ($241) { + $$3 = 0; + label = 80; + break; + } + $242 = (($$0288332) + 1)|0; + $243 = (($4) + (($$0288332*12)|0)|0); + ;HEAP32[$243>>2]=HEAP32[$6>>2]|0;HEAP32[$243+4>>2]=HEAP32[$6+4>>2]|0;HEAP32[$243+8>>2]=HEAP32[$6+8>>2]|0; + $244 = ($52<<24>>24)==(10); + if ($244) { + ;HEAP32[$7>>2]=HEAP32[$5>>2]|0;HEAP32[$7+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$7+8>>2]=HEAP32[$5+8>>2]|0; + } else { + ;HEAP32[$7>>2]=HEAP32[$16>>2]|0;HEAP32[$7+4>>2]=HEAP32[$16+4>>2]|0;HEAP32[$7+8>>2]=HEAP32[$16+8>>2]|0; + } + ;HEAP32[$$byval_copy1>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$7+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$7+8>>2]|0; + _stbtt__get_subr($6,$$byval_copy1,$240); + $245 = HEAP32[$12>>2]|0; + $246 = ($245|0)==(0); + if ($246) { + $$3 = 0; + label = 80; + break; + } + HEAP32[$10>>2] = 0; + $$0274$be = $$0274335;$$0276$be = $$0276334;$$0285$be = $$1286;$$0288$be = $242;$$0294$be = $237; + label = 73; + } + else if ((label|0) == 76) { + label = 0; + $314 = (_stbtt__buf_get($6,4)|0); + $315 = (+($314>>>0)); + $316 = $315 * 1.52587890625E-5; + $$1283 = $316; + label = 78; + } + else if ((label|0) == 77) { + label = 0; + _stbtt__buf_skip($6,-1); + $317 = (_stbtt__cff_int($6)|0); + $318 = $317&65535; + $319 = (+($318<<16>>16)); + $$1283 = $319; + label = 78; + } + if ((label|0) == 78) { + label = 0; + $320 = ($$0294331|0)>(47); + if ($320) { + $$3 = 0; + label = 80; + break; + } + $321 = (($$0294331) + 1)|0; + $322 = (($3) + ($$0294331<<2)|0); + HEAPF32[$322>>2] = $$1283; + $$0274$be = $$0274335;$$0276$be = $$0276334;$$0285$be = $$0285333;$$0288$be = $$0288332;$$0294$be = $321; + label = 73; + } + while(1) { + if ((label|0) == 18) { + label = 0; + $86 = ($$1291|0)<($$0294331|0); + if (!($86)) { + $$0274$be = $$0274335;$$0276$be = $$0276334;$$0285$be = $$0285333;$$0288$be = $$0288332;$$0294$be = 0; + label = 73; + continue; + } + $87 = (($3) + ($$1291<<2)|0); + $88 = +HEAPF32[$87>>2]; + _stbtt__csctx_rline_to($2,$88,0.0); + $89 = (($$1291) + 1)|0; + $$2292 = $89; + label = 20; + continue; + } + else if ((label|0) == 20) { + label = 0; + $90 = ($$2292|0)<($$0294331|0); + if (!($90)) { + $$0274$be = $$0274335;$$0276$be = $$0276334;$$0285$be = $$0285333;$$0288$be = $$0288332;$$0294$be = 0; + label = 73; + continue; + } + $91 = (($3) + ($$2292<<2)|0); + $92 = +HEAPF32[$91>>2]; + _stbtt__csctx_rline_to($2,0.0,$92); + $93 = (($$2292) + 1)|0; + $$1291 = $93; + label = 18; + continue; + } + else if ((label|0) == 24) { + label = 0; + $96 = (($$3293) + 3)|0; + $97 = ($96|0)<($$0294331|0); + if (!($97)) { + $$0274$be = $$0274335;$$0276$be = $$0276334;$$0285$be = $$0285333;$$0288$be = $$0288332;$$0294$be = 0; + label = 73; + continue; + } + $98 = (($3) + ($$3293<<2)|0); + $99 = +HEAPF32[$98>>2]; + $100 = (($$3293) + 1)|0; + $101 = (($3) + ($100<<2)|0); + $102 = +HEAPF32[$101>>2]; + $103 = (($$3293) + 2)|0; + $104 = (($3) + ($103<<2)|0); + $105 = +HEAPF32[$104>>2]; + $106 = (($3) + ($96<<2)|0); + $107 = +HEAPF32[$106>>2]; + $108 = (($$0294331) - ($$3293))|0; + $109 = ($108|0)==(5); + if ($109) { + $110 = (($$3293) + 4)|0; + $111 = (($3) + ($110<<2)|0); + $112 = +HEAPF32[$111>>2]; + $113 = $112; + } else { + $113 = 0.0; + } + _stbtt__csctx_rccurve_to($2,0.0,$99,$102,$105,$107,$113); + $114 = (($$3293) + 4)|0; + $$4 = $114; + label = 28; + continue; + } + else if ((label|0) == 28) { + label = 0; + $115 = (($$4) + 3)|0; + $116 = ($115|0)<($$0294331|0); + if (!($116)) { + $$0274$be = $$0274335;$$0276$be = $$0276334;$$0285$be = $$0285333;$$0288$be = $$0288332;$$0294$be = 0; + label = 73; + continue; + } + $117 = (($3) + ($$4<<2)|0); + $118 = +HEAPF32[$117>>2]; + $119 = (($$4) + 1)|0; + $120 = (($3) + ($119<<2)|0); + $121 = +HEAPF32[$120>>2]; + $122 = (($$4) + 2)|0; + $123 = (($3) + ($122<<2)|0); + $124 = +HEAPF32[$123>>2]; + $125 = (($$0294331) - ($$4))|0; + $126 = ($125|0)==(5); + if ($126) { + $127 = (($$4) + 4)|0; + $128 = (($3) + ($127<<2)|0); + $129 = +HEAPF32[$128>>2]; + $132 = $129; + } else { + $132 = 0.0; + } + $130 = (($3) + ($115<<2)|0); + $131 = +HEAPF32[$130>>2]; + _stbtt__csctx_rccurve_to($2,$118,0.0,$121,$124,$132,$131); + $133 = (($$4) + 4)|0; + $$3293 = $133; + label = 24; + continue; + } + else if ((label|0) == 73) { + label = 0; + $309 = HEAP32[$10>>2]|0; + $310 = HEAP32[$12>>2]|0; + $311 = ($309|0)<($310|0); + if ($311) { + $$0274335 = $$0274$be;$$0276334 = $$0276$be;$$0285333 = $$0285$be;$$0288332 = $$0288$be;$$0294331 = $$0294$be; + continue L4; + } else { + $$3 = 0; + label = 80; + break L4; + } + } + } + } + if ((label|0) == 63) { + _stbtt__csctx_close_shape($2); + $$3 = 1; + STACKTOP = sp;return ($$3|0); + } + else if ((label|0) == 80) { + STACKTOP = sp;return ($$3|0); + } + return (0)|0; +} +function _stbtt__cff_index_get($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$off = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + _stbtt__buf_seek($1,0); + $3 = (_stbtt__buf_get($1,2)|0); + $4 = (_stbtt__buf_get8($1)|0); + $5 = $4&255; + $6 = ($2|0)>(-1); + $7 = ($3|0)>($2|0); + $or$cond = $6 & $7; + if (!($or$cond)) { + ___assert_fail((15576|0),(14913|0),1118,(15596|0)); + // unreachable; + } + $$off = (($4) + -1)<<24>>24; + $8 = ($$off&255)<(4); + if ($8) { + $9 = Math_imul($5, $2)|0; + _stbtt__buf_skip($1,$9); + $10 = (_stbtt__buf_get($1,$5)|0); + $11 = (_stbtt__buf_get($1,$5)|0); + $12 = (($3) + 1)|0; + $13 = Math_imul($5, $12)|0; + $14 = (($13) + 2)|0; + $15 = (($14) + ($10))|0; + $16 = (($11) - ($10))|0; + _stbtt__buf_range($0,$1,$15,$16); + return; + } else { + ___assert_fail((15493|0),(14913|0),1119,(15596|0)); + // unreachable; + } +} +function _stbtt__buf_get8($0) { + $0 = $0|0; + var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 4|0); + $2 = HEAP32[$1>>2]|0; + $3 = ((($0)) + 8|0); + $4 = HEAP32[$3>>2]|0; + $5 = ($2|0)<($4|0); + if (!($5)) { + $$0 = 0; + return ($$0|0); + } + $6 = (($2) + 1)|0; + $7 = HEAP32[$0>>2]|0; + HEAP32[$1>>2] = $6; + $8 = (($7) + ($2)|0); + $9 = HEAP8[$8>>0]|0; + $$0 = $9; + return ($$0|0); +} +function _stbtt__buf_skip($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($0)) + 4|0); + $3 = HEAP32[$2>>2]|0; + $4 = (($3) + ($1))|0; + _stbtt__buf_seek($0,$4); + return; +} +function _stbtt__csctx_rmove_to($0,$1,$2) { + $0 = $0|0; + $1 = +$1; + $2 = +$2; + var $10 = 0, $11 = 0.0, $12 = 0, $13 = 0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + _stbtt__csctx_close_shape($0); + $3 = ((($0)) + 16|0); + $4 = +HEAPF32[$3>>2]; + $5 = $4 + $1; + HEAPF32[$3>>2] = $5; + $6 = ((($0)) + 8|0); + HEAPF32[$6>>2] = $5; + $7 = ((($0)) + 20|0); + $8 = +HEAPF32[$7>>2]; + $9 = $8 + $2; + HEAPF32[$7>>2] = $9; + $10 = ((($0)) + 12|0); + HEAPF32[$10>>2] = $9; + $11 = +HEAPF32[$3>>2]; + $12 = (~~(($11))); + $13 = (~~(($9))); + _stbtt__csctx_v($0,1,$12,$13,0,0,0,0); + return; +} +function _stbtt__csctx_rline_to($0,$1,$2) { + $0 = $0|0; + $1 = +$1; + $2 = +$2; + var $10 = 0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0.0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ((($0)) + 16|0); + $4 = +HEAPF32[$3>>2]; + $5 = $4 + $1; + HEAPF32[$3>>2] = $5; + $6 = ((($0)) + 20|0); + $7 = +HEAPF32[$6>>2]; + $8 = $7 + $2; + HEAPF32[$6>>2] = $8; + $9 = (~~(($5))); + $10 = (~~(($8))); + _stbtt__csctx_v($0,2,$9,$10,0,0,0,0); + return; +} +function _stbtt__csctx_rccurve_to($0,$1,$2,$3,$4,$5,$6) { + $0 = $0|0; + $1 = +$1; + $2 = +$2; + $3 = +$3; + $4 = +$4; + $5 = +$5; + $6 = +$6; + var $10 = 0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $7 = ((($0)) + 16|0); + $8 = +HEAPF32[$7>>2]; + $9 = $8 + $1; + $10 = ((($0)) + 20|0); + $11 = +HEAPF32[$10>>2]; + $12 = $11 + $2; + $13 = $9 + $3; + $14 = $12 + $4; + $15 = $13 + $5; + HEAPF32[$7>>2] = $15; + $16 = $14 + $6; + HEAPF32[$10>>2] = $16; + $17 = (~~(($15))); + $18 = (~~(($16))); + $19 = (~~(($9))); + $20 = (~~(($12))); + $21 = (~~(($13))); + $22 = (~~(($14))); + _stbtt__csctx_v($0,4,$17,$18,$19,$20,$21,$22); + return; +} +function _stbtt__cid_get_glyph_subrs($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$02931 = 0, $$03034 = 0, $$035 = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0; + var $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0); + $$byval_copy2 = sp + 36|0; + $$byval_copy1 = sp + 24|0; + $3 = sp; + $4 = sp + 12|0; + $5 = ((($1)) + 108|0); + ;HEAP32[$3>>2]=HEAP32[$5>>2]|0;HEAP32[$3+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$3+8>>2]=HEAP32[$5+8>>2]|0; + _stbtt__buf_seek($3,0); + $6 = (_stbtt__buf_get8($3)|0); + L1: do { + switch ($6<<24>>24) { + case 0: { + _stbtt__buf_skip($3,$2); + $7 = (_stbtt__buf_get8($3)|0); + $8 = $7&255; + $$02931 = $8; + break; + } + case 3: { + $9 = (_stbtt__buf_get($3,2)|0); + $10 = (_stbtt__buf_get($3,2)|0); + $11 = ($9|0)>(0); + if ($11) { + $$03034 = $10;$$035 = 0; + while(1) { + $14 = (_stbtt__buf_get8($3)|0); + $15 = (_stbtt__buf_get($3,2)|0); + $16 = ($$03034|0)<=($2|0); + $17 = ($15|0)>($2|0); + $or$cond = $16 & $17; + $13 = (($$035) + 1)|0; + if ($or$cond) { + break; + } + $12 = ($13|0)<($9|0); + if ($12) { + $$03034 = $15;$$035 = $13; + } else { + label = 6; + break L1; + } + } + $18 = $14&255; + $$02931 = $18; + } else { + label = 6; + } + break; + } + default: { + label = 6; + } + } + } while(0); + if ((label|0) == 6) { + _stbtt__new_buf($$byval_copy2,0,0); + $$02931 = -1; + } + $19 = ((($1)) + 48|0); + $20 = ((($1)) + 96|0); + ;HEAP32[$$byval_copy2>>2]=HEAP32[$20>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$20+4>>2]|0;HEAP32[$$byval_copy2+8>>2]=HEAP32[$20+8>>2]|0; + _stbtt__cff_index_get($4,$$byval_copy2,$$02931); + ;HEAP32[$$byval_copy1>>2]=HEAP32[$19>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$19+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$19+8>>2]|0; + ;HEAP32[$$byval_copy2>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$4+4>>2]|0;HEAP32[$$byval_copy2+8>>2]=HEAP32[$4+8>>2]|0; + _stbtt__get_subrs($0,$$byval_copy1,$$byval_copy2); + STACKTOP = sp;return; +} +function _stbtt__get_subr($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$ = 0, $$0 = 0, $$byval_copy = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $$byval_copy = sp; + $3 = (_stbtt__cff_index_count($1)|0); + $4 = ($3|0)>(33899); + $5 = ($3|0)>(1239); + $$ = $5 ? 1131 : 107; + $$0 = $4 ? 32768 : $$; + $6 = (($$0) + ($2))|0; + $7 = ($6|0)>(-1); + $8 = ($6|0)<($3|0); + $or$cond = $7 & $8; + if ($or$cond) { + ;HEAP32[$$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$1+8>>2]|0; + _stbtt__cff_index_get($0,$$byval_copy,$6); + STACKTOP = sp;return; + } else { + _stbtt__new_buf($0,0,0); + STACKTOP = sp;return; + } +} +function _stbtt__csctx_close_shape($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0.0, $3 = 0, $4 = 0.0, $5 = 0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 8|0); + $2 = +HEAPF32[$1>>2]; + $3 = ((($0)) + 16|0); + $4 = +HEAPF32[$3>>2]; + $5 = $2 != $4; + $6 = ((($0)) + 12|0); + $7 = +HEAPF32[$6>>2]; + if (!($5)) { + $8 = ((($0)) + 20|0); + $9 = +HEAPF32[$8>>2]; + $10 = $7 != $9; + if (!($10)) { + return; + } + } + $11 = (~~(($2))); + $12 = (~~(($7))); + _stbtt__csctx_v($0,2,$11,$12,0,0,0,0); + return; +} +function _stbtt__buf_get($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$01011 = 0, $$012 = 0, $$off = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $exitcond = 0, label = 0, sp = 0; + sp = STACKTOP; + $$off = (($1) + -1)|0; + $2 = ($$off>>>0)<(4); + if ($2) { + $$01011 = 0;$$012 = 0; + } else { + ___assert_fail((15388|0),(14913|0),1014,(15405|0)); + // unreachable; + } + while(1) { + $3 = $$01011 << 8; + $4 = (_stbtt__buf_get8($0)|0); + $5 = $4&255; + $6 = $5 | $3; + $7 = (($$012) + 1)|0; + $exitcond = ($7|0)==($1|0); + if ($exitcond) { + break; + } else { + $$01011 = $6;$$012 = $7; + } + } + return ($6|0); +} +function _stbtt__cff_int($0) { + $0 = $0|0; + var $$0 = 0, $$off = 0, $$off19 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0; + var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond5 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (_stbtt__buf_get8($0)|0); + $2 = $1&255; + $$off = (($1) + -32)<<24>>24; + $3 = ($$off&255)<(215); + if ($3) { + $4 = (($2) + -139)|0; + $$0 = $4; + return ($$0|0); + } + $$off19 = (($1) + 9)<<24>>24; + $5 = ($$off19&255)<(4); + if ($5) { + $6 = $2 << 8; + $7 = (($6) + -63232)|0; + $8 = (_stbtt__buf_get8($0)|0); + $9 = $8&255; + $10 = $9 | $7; + $11 = (($10) + 108)|0; + $$0 = $11; + return ($$0|0); + } + $12 = ($1&255)>(250); + $13 = ($1<<24>>24)!=(-1); + $or$cond5 = $12 & $13; + if ($or$cond5) { + $14 = (251 - ($2))|0; + $15 = $14 << 8; + $16 = (_stbtt__buf_get8($0)|0); + $17 = $16&255; + $18 = (($15) + -108)|0; + $19 = (($18) - ($17))|0; + $$0 = $19; + return ($$0|0); + } + switch ($1<<24>>24) { + case 28: { + $20 = (_stbtt__buf_get($0,2)|0); + $$0 = $20; + return ($$0|0); + break; + } + case 29: { + $21 = (_stbtt__buf_get($0,4)|0); + $$0 = $21; + return ($$0|0); + break; + } + default: { + ___assert_fail((16957|0),(14913|0),1064,(15373|0)); + // unreachable; + } + } + return (0)|0; +} +function _stbtt__csctx_v($0,$1,$2,$3,$4,$5,$6,$7) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + $6 = $6|0; + $7 = $7|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $8 = 0, $9 = 0, label = 0; + var sp = 0; + sp = STACKTOP; + $8 = HEAP32[$0>>2]|0; + $9 = ($8|0)==(0); + if ($9) { + $11 = ((($0)) + 40|0); + $12 = HEAP32[$11>>2]|0; + $13 = ((($0)) + 44|0); + $14 = HEAP32[$13>>2]|0; + $15 = (($12) + (($14*14)|0)|0); + _stbtt_setvertex($15,$1,$2,$3,$4,$5); + $16 = $6&65535; + $17 = HEAP32[$11>>2]|0; + $18 = HEAP32[$13>>2]|0; + $19 = (((($17) + (($18*14)|0)|0)) + 8|0); + HEAP16[$19>>1] = $16; + $20 = $7&65535; + $21 = HEAP32[$11>>2]|0; + $22 = HEAP32[$13>>2]|0; + $23 = (((($21) + (($22*14)|0)|0)) + 10|0); + HEAP16[$23>>1] = $20; + } else { + _stbtt__track_vertex($0,$2,$3); + $10 = ($1<<24>>24)==(4); + if ($10) { + _stbtt__track_vertex($0,$4,$5); + _stbtt__track_vertex($0,$6,$7); + } + } + $24 = ((($0)) + 44|0); + $25 = HEAP32[$24>>2]|0; + $26 = (($25) + 1)|0; + HEAP32[$24>>2] = $26; + return; +} +function _stbtt__track_vertex($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $3 = 0, $4 = 0; + var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ((($0)) + 28|0); + $4 = HEAP32[$3>>2]|0; + $5 = ($4|0)<($1|0); + if ($5) { + label = 3; + } else { + $6 = ((($0)) + 4|0); + $7 = HEAP32[$6>>2]|0; + $8 = ($7|0)==(0); + if ($8) { + label = 3; + } + } + if ((label|0) == 3) { + HEAP32[$3>>2] = $1; + } + $9 = ((($0)) + 36|0); + $10 = HEAP32[$9>>2]|0; + $11 = ($10|0)<($2|0); + if ($11) { + label = 6; + } else { + $12 = ((($0)) + 4|0); + $13 = HEAP32[$12>>2]|0; + $14 = ($13|0)==(0); + if ($14) { + label = 6; + } + } + if ((label|0) == 6) { + HEAP32[$9>>2] = $2; + } + $15 = ((($0)) + 24|0); + $16 = HEAP32[$15>>2]|0; + $17 = ($16|0)>($1|0); + if ($17) { + label = 9; + } else { + $18 = ((($0)) + 4|0); + $19 = HEAP32[$18>>2]|0; + $20 = ($19|0)==(0); + if ($20) { + label = 9; + } + } + if ((label|0) == 9) { + HEAP32[$15>>2] = $1; + } + $21 = ((($0)) + 32|0); + $22 = HEAP32[$21>>2]|0; + $23 = ($22|0)>($2|0); + if (!($23)) { + $24 = ((($0)) + 4|0); + $25 = HEAP32[$24>>2]|0; + $26 = ($25|0)==(0); + if (!($26)) { + $27 = ((($0)) + 4|0); + HEAP32[$27>>2] = 1; + return; + } + } + HEAP32[$21>>2] = $2; + $27 = ((($0)) + 4|0); + HEAP32[$27>>2] = 1; + return; +} +function _stbtt_setvertex($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $6 = ((($0)) + 12|0); + HEAP8[$6>>0] = $1; + $7 = $2&65535; + HEAP16[$0>>1] = $7; + $8 = $3&65535; + $9 = ((($0)) + 2|0); + HEAP16[$9>>1] = $8; + $10 = $4&65535; + $11 = ((($0)) + 4|0); + HEAP16[$11>>1] = $10; + $12 = $5&65535; + $13 = ((($0)) + 6|0); + HEAP16[$13>>1] = $12; + return; +} +function _stbtt__cff_index_count($0) { + $0 = $0|0; + var $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + _stbtt__buf_seek($0,0); + $1 = (_stbtt__buf_get($0,2)|0); + return ($1|0); +} +function _stbtt__new_buf($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$sroa$4$0$$sroa_idx2 = 0, $$sroa$5$0$$sroa_idx4 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ($2>>>0)<(1073741824); + if ($3) { + HEAP32[$0>>2] = $1; + $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); + HEAP32[$$sroa$4$0$$sroa_idx2>>2] = 0; + $$sroa$5$0$$sroa_idx4 = ((($0)) + 8|0); + HEAP32[$$sroa$5$0$$sroa_idx4>>2] = $2; + return; + } else { + ___assert_fail((15420|0),(14913|0),1023,(15438|0)); + // unreachable; + } +} +function _stbtt__buf_seek($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($0)) + 8|0); + $3 = HEAP32[$2>>2]|0; + $4 = ($3|0)<($1|0); + $5 = ($1|0)<(0); + $or$cond = $5 | $4; + if ($or$cond) { + ___assert_fail((15453|0),(14913|0),1001,(15477|0)); + // unreachable; + } else { + $6 = ((($0)) + 4|0); + HEAP32[$6>>2] = $1; + return; + } +} +function _stbtt__get_subrs($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $3 = sp + 20|0; + $4 = sp; + $5 = sp + 8|0; + HEAP32[$3>>2] = 0; + $6 = $4; + $7 = $6; + HEAP32[$7>>2] = 0; + $8 = (($6) + 4)|0; + $9 = $8; + HEAP32[$9>>2] = 0; + _stbtt__dict_get_ints($2,18,2,$4); + $10 = ((($4)) + 4|0); + $11 = HEAP32[$10>>2]|0; + $12 = ($11|0)==(0); + if (!($12)) { + $13 = HEAP32[$4>>2]|0; + $14 = ($13|0)==(0); + if (!($14)) { + _stbtt__buf_range($5,$1,$11,$13); + _stbtt__dict_get_ints($5,19,1,$3); + $15 = HEAP32[$3>>2]|0; + $16 = ($15|0)==(0); + if ($16) { + _stbtt__new_buf($0,0,0); + STACKTOP = sp;return; + } else { + $17 = HEAP32[$10>>2]|0; + $18 = (($17) + ($15))|0; + _stbtt__buf_seek($1,$18); + _stbtt__cff_get_index($0,$1); + STACKTOP = sp;return; + } + } + } + _stbtt__new_buf($0,0,0); + STACKTOP = sp;return; +} +function _stbtt__dict_get_ints($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$07 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $4 = sp; + _stbtt__dict_get($4,$0,$1); + $5 = ((($4)) + 4|0); + $6 = ($2|0)>(0); + if (!($6)) { + STACKTOP = sp;return; + } + $7 = ((($4)) + 8|0); + $$07 = 0; + while(1) { + $8 = HEAP32[$5>>2]|0; + $9 = HEAP32[$7>>2]|0; + $10 = ($8|0)<($9|0); + if (!($10)) { + label = 5; + break; + } + $11 = (_stbtt__cff_int($4)|0); + $12 = (($3) + ($$07<<2)|0); + HEAP32[$12>>2] = $11; + $13 = (($$07) + 1)|0; + $14 = ($13|0)<($2|0); + if ($14) { + $$07 = $13; + } else { + label = 5; + break; + } + } + if ((label|0) == 5) { + STACKTOP = sp;return; + } +} +function _stbtt__buf_range($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $4 = sp; + _stbtt__new_buf($4,0,0); + $5 = $3 | $2; + $6 = ($5|0)<(0); + if (!($6)) { + $7 = ((($1)) + 8|0); + $8 = HEAP32[$7>>2]|0; + $9 = ($8|0)<($2|0); + $10 = (($8) - ($2))|0; + $11 = ($10|0)<($3|0); + $or$cond = $9 | $11; + if (!($or$cond)) { + $12 = HEAP32[$1>>2]|0; + $13 = (($12) + ($2)|0); + HEAP32[$4>>2] = $13; + $14 = ((($4)) + 8|0); + HEAP32[$14>>2] = $3; + ;HEAP32[$0>>2]=HEAP32[$4>>2]|0;HEAP32[$0+4>>2]=HEAP32[$4+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$4+8>>2]|0; + STACKTOP = sp;return; + } + } + ;HEAP32[$0>>2]=HEAP32[$4>>2]|0;HEAP32[$0+4>>2]=HEAP32[$4+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$4+8>>2]|0; + STACKTOP = sp;return; +} +function _stbtt__cff_get_index($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$off = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($1)) + 4|0); + $3 = HEAP32[$2>>2]|0; + $4 = (_stbtt__buf_get($1,2)|0); + $5 = ($4|0)==(0); + if ($5) { + $12 = HEAP32[$2>>2]|0; + $13 = (($12) - ($3))|0; + _stbtt__buf_range($0,$1,$3,$13); + return; + } + $6 = (_stbtt__buf_get8($1)|0); + $7 = $6&255; + $$off = (($6) + -1)<<24>>24; + $8 = ($$off&255)<(4); + if (!($8)) { + ___assert_fail((15493|0),(14913|0),1049,(15522|0)); + // unreachable; + } + $9 = Math_imul($7, $4)|0; + _stbtt__buf_skip($1,$9); + $10 = (_stbtt__buf_get($1,$7)|0); + $11 = (($10) + -1)|0; + _stbtt__buf_skip($1,$11); + $12 = HEAP32[$2>>2]|0; + $13 = (($12) - ($3))|0; + _stbtt__buf_range($0,$1,$3,$13); + return; +} +function _stbtt__dict_get($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$021 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; + var sp = 0; + sp = STACKTOP; + _stbtt__buf_seek($1,0); + $3 = ((($1)) + 4|0); + $4 = ((($1)) + 8|0); + while(1) { + $5 = HEAP32[$3>>2]|0; + $6 = HEAP32[$4>>2]|0; + $7 = ($5|0)<($6|0); + if (!($7)) { + label = 9; + break; + } + $8 = (_stbtt__buf_peek8($1)|0); + $9 = ($8&255)>(27); + if ($9) { + while(1) { + _stbtt__cff_skip_operand($1); + $10 = (_stbtt__buf_peek8($1)|0); + $11 = ($10&255)>(27); + if (!($11)) { + break; + } + } + } + $12 = HEAP32[$3>>2]|0; + $13 = (_stbtt__buf_get8($1)|0); + $14 = $13&255; + $15 = ($13<<24>>24)==(12); + if ($15) { + $16 = (_stbtt__buf_get8($1)|0); + $17 = $16&255; + $18 = $17 | 256; + $$021 = $18; + } else { + $$021 = $14; + } + $19 = ($$021|0)==($2|0); + if ($19) { + label = 8; + break; + } + } + if ((label|0) == 8) { + $20 = (($12) - ($5))|0; + _stbtt__buf_range($0,$1,$5,$20); + return; + } + else if ((label|0) == 9) { + _stbtt__buf_range($0,$1,0,0); + return; + } +} +function _stbtt__buf_peek8($0) { + $0 = $0|0; + var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 4|0); + $2 = HEAP32[$1>>2]|0; + $3 = ((($0)) + 8|0); + $4 = HEAP32[$3>>2]|0; + $5 = ($2|0)<($4|0); + if (!($5)) { + $$0 = 0; + return ($$0|0); + } + $6 = HEAP32[$0>>2]|0; + $7 = (($6) + ($2)|0); + $8 = HEAP8[$7>>0]|0; + $$0 = $8; + return ($$0|0); +} +function _stbtt__cff_skip_operand($0) { + $0 = $0|0; + var $$mask = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (_stbtt__buf_peek8($0)|0); + $2 = ($1&255)>(27); + if (!($2)) { + ___assert_fail((15543|0),(14913|0),1070,(15552|0)); + // unreachable; + } + $3 = ($1<<24>>24)==(30); + if (!($3)) { + (_stbtt__cff_int($0)|0); + return; + } + _stbtt__buf_skip($0,1); + $4 = ((($0)) + 4|0); + $5 = ((($0)) + 8|0); + while(1) { + $6 = HEAP32[$4>>2]|0; + $7 = HEAP32[$5>>2]|0; + $8 = ($6|0)<($7|0); + if (!($8)) { + label = 8; + break; + } + $9 = (_stbtt__buf_get8($0)|0); + $10 = $9&255; + $11 = $10 & 15; + $12 = ($11|0)==(15); + $$mask = $10 & 240; + $13 = ($$mask|0)==(240); + $or$cond = $12 | $13; + if ($or$cond) { + label = 8; + break; + } + } + if ((label|0) == 8) { + return; + } +} +function _stbtt__GetGlyphShapeTT($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$0348453 = 0, $$0353439 = 0, $$0361449 = 0, $$0363450 = 0, $$0364448 = 0, $$0366447 = 0, $$0372451 = 0, $$0377437 = 0, $$0379436 = 0, $$0381446 = 0, $$0387435 = 0, $$0390434 = 0, $$0393433 = 0, $$0396432 = 0, $$0399431 = 0, $$0401430 = 0, $$0403440 = 0, $$0405443 = 0, $$0407429 = 0, $$0409428 = 0; + var $$1349 = 0, $$1354 = 0, $$1362 = 0, $$1365 = 0, $$1367445 = 0, $$1378 = 0, $$1380 = 0, $$1382 = 0, $$1388 = 0, $$1391 = 0, $$1394 = 0, $$1397 = 0, $$1400 = 0, $$1402 = 0, $$1404 = 0, $$1406 = 0, $$1408 = 0, $$1410 = 0, $$2368442 = 0, $$2374 = 0; + var $$2383444 = 0, $$2389 = 0, $$2392 = 0, $$2395 = 0, $$2398 = 0, $$3356 = 0, $$3369438 = 0, $$3384 = 0, $$4 = 0, $$4352 = 0, $$4370 = 0, $$4385441 = 0, $$5371 = 0, $$5386 = 0, $$5452 = 0, $$6 = 0, $$9 = 0, $$sink = 0, $$sroa$0$0 = 0.0, $$sroa$10$0 = 0.0; + var $$sroa$17$0 = 0.0, $$sroa$24$0 = 0.0, $$sroa$31$0 = 0.0, $$sroa$35$0 = 0.0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0; + var $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0; + var $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0; + var $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0.0, $155 = 0, $156 = 0, $157 = 0.0, $158 = 0, $159 = 0.0, $16 = 0, $160 = 0, $161 = 0, $162 = 0.0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0.0, $168 = 0.0; + var $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0.0, $174 = 0.0, $175 = 0, $176 = 0, $177 = 0.0, $178 = 0.0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0.0, $184 = 0.0, $185 = 0, $186 = 0; + var $187 = 0.0, $188 = 0.0, $189 = 0, $19 = 0, $190 = 0, $191 = 0.0, $192 = 0.0, $193 = 0, $194 = 0, $195 = 0.0, $196 = 0.0, $197 = 0, $198 = 0.0, $199 = 0.0, $20 = 0, $200 = 0.0, $201 = 0.0, $202 = 0.0, $203 = 0.0, $204 = 0; + var $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0.0, $213 = 0.0, $214 = 0.0, $215 = 0.0, $216 = 0.0, $217 = 0.0, $218 = 0.0, $219 = 0, $22 = 0, $220 = 0.0, $221 = 0.0, $222 = 0.0; + var $223 = 0.0, $224 = 0.0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0.0, $231 = 0.0, $232 = 0.0, $233 = 0.0, $234 = 0.0, $235 = 0.0, $236 = 0.0, $237 = 0, $238 = 0.0, $239 = 0.0, $24 = 0, $240 = 0.0; + var $241 = 0.0, $242 = 0.0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0; + var $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0; + var $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0; + var $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0; + var $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0; + var $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond = 0, $exitcond458 = 0, $exitcond459 = 0, $exitcond460 = 0, $sext = 0, $sext412 = 0, $sqrtf = 0.0, $sqrtf411 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $3 = sp; + $4 = ((($0)) + 4|0); + $5 = HEAP32[$4>>2]|0; + $6 = (_stbtt__GetGlyfOffset($0,$1)|0); + HEAP32[$2>>2] = 0; + $7 = ($6|0)<(0); + if ($7) { + $$4 = 0; + STACKTOP = sp;return ($$4|0); + } + $8 = (($5) + ($6)|0); + $9 = (_ttSHORT($8)|0); + $10 = ($9<<16>>16)>(0); + L4: do { + if ($10) { + $11 = $9 << 16 >> 16; + $12 = ((($8)) + 10|0); + $13 = $11 << 1; + $14 = (($12) + ($13)|0); + $15 = (_ttUSHORT($14)|0); + $16 = ((($14)) + -2|0); + $17 = (_ttUSHORT($16)|0); + $18 = $17&65535; + $19 = $13 | 1; + $20 = (($19) + ($18))|0; + $21 = ($20*14)|0; + $22 = (_malloc($21)|0); + $23 = ($22|0)==(0|0); + if ($23) { + $$4 = 0; + STACKTOP = sp;return ($$4|0); + } + $24 = ((($14)) + 2|0); + $25 = $15&65535; + $26 = (($24) + ($25)|0); + $$0361449 = 0;$$0364448 = 0;$$0366447 = 0;$$0381446 = $26; + while(1) { + $27 = ($$0364448<<24>>24)==(0); + if ($27) { + $28 = ((($$0381446)) + 1|0); + $29 = HEAP8[$$0381446>>0]|0; + $30 = $29 & 8; + $31 = ($30<<24>>24)==(0); + if ($31) { + $$1362 = $29;$$1365 = 0;$$1382 = $28; + } else { + $32 = ((($$0381446)) + 2|0); + $33 = HEAP8[$28>>0]|0; + $$1362 = $29;$$1365 = $33;$$1382 = $32; + } + } else { + $34 = (($$0364448) + -1)<<24>>24; + $$1362 = $$0361449;$$1365 = $34;$$1382 = $$0381446; + } + $35 = (($$0366447) + ($13))|0; + $36 = (((($22) + (($35*14)|0)|0)) + 12|0); + HEAP8[$36>>0] = $$1362; + $37 = (($$0366447) + 1)|0; + $exitcond459 = ($$0366447|0)==($18|0); + if ($exitcond459) { + $$0405443 = 0;$$1367445 = 0;$$2383444 = $$1382; + break; + } else { + $$0361449 = $$1362;$$0364448 = $$1365;$$0366447 = $37;$$0381446 = $$1382; + } + } + while(1) { + $38 = (($$1367445) + ($13))|0; + $39 = (((($22) + (($38*14)|0)|0)) + 12|0); + $40 = HEAP8[$39>>0]|0; + $41 = $40&255; + $42 = $41 & 2; + $43 = ($42|0)==(0); + $44 = $41 & 16; + $45 = ($44|0)!=(0); + if ($43) { + if ($45) { + $$1406 = $$0405443;$$3384 = $$2383444; + } else { + $52 = HEAP8[$$2383444>>0]|0; + $53 = $52&255; + $54 = $53 << 8; + $55 = ((($$2383444)) + 1|0); + $56 = HEAP8[$55>>0]|0; + $57 = $56&255; + $58 = $54 | $57; + $sext412 = $58 << 16; + $59 = $sext412 >> 16; + $60 = (($59) + ($$0405443))|0; + $61 = ((($$2383444)) + 2|0); + $$1406 = $60;$$3384 = $61; + } + } else { + $46 = ((($$2383444)) + 1|0); + $47 = HEAP8[$$2383444>>0]|0; + $48 = $47&255; + $49 = (0 - ($48))|0; + $50 = $45 ? $48 : $49; + $51 = (($50) + ($$0405443))|0; + $$1406 = $51;$$3384 = $46; + } + $62 = $$1406&65535; + $63 = (($22) + (($38*14)|0)|0); + HEAP16[$63>>1] = $62; + $64 = (($$1367445) + 1)|0; + $exitcond458 = ($$1367445|0)==($18|0); + if ($exitcond458) { + $$0403440 = 0;$$2368442 = 0;$$4385441 = $$3384; + break; + } else { + $$0405443 = $$1406;$$1367445 = $64;$$2383444 = $$3384; + } + } + while(1) { + $65 = (($$2368442) + ($13))|0; + $66 = (((($22) + (($65*14)|0)|0)) + 12|0); + $67 = HEAP8[$66>>0]|0; + $68 = $67&255; + $69 = $68 & 4; + $70 = ($69|0)==(0); + $71 = $68 & 32; + $72 = ($71|0)!=(0); + if ($70) { + if ($72) { + $$1404 = $$0403440;$$5386 = $$4385441; + } else { + $79 = HEAP8[$$4385441>>0]|0; + $80 = $79&255; + $81 = $80 << 8; + $82 = ((($$4385441)) + 1|0); + $83 = HEAP8[$82>>0]|0; + $84 = $83&255; + $85 = $81 | $84; + $sext = $85 << 16; + $86 = $sext >> 16; + $87 = (($86) + ($$0403440))|0; + $88 = ((($$4385441)) + 2|0); + $$1404 = $87;$$5386 = $88; + } + } else { + $73 = ((($$4385441)) + 1|0); + $74 = HEAP8[$$4385441>>0]|0; + $75 = $74&255; + $76 = (0 - ($75))|0; + $77 = $72 ? $75 : $76; + $78 = (($77) + ($$0403440))|0; + $$1404 = $78;$$5386 = $73; + } + $89 = $$1404&65535; + $90 = (((($22) + (($65*14)|0)|0)) + 2|0); + HEAP16[$90>>1] = $89; + $91 = (($$2368442) + 1)|0; + $exitcond = ($$2368442|0)==($18|0); + if ($exitcond) { + $$0353439 = 0;$$0377437 = 0;$$0379436 = 0;$$0387435 = 0;$$0390434 = 0;$$0393433 = 0;$$0396432 = 0;$$0399431 = 0;$$0401430 = 0;$$0407429 = 0;$$0409428 = 0;$$3369438 = 0; + break; + } else { + $$0403440 = $$1404;$$2368442 = $91;$$4385441 = $$5386; + } + } + while(1) { + $92 = (($$3369438) + ($13))|0; + $93 = (((($22) + (($92*14)|0)|0)) + 12|0); + $94 = HEAP8[$93>>0]|0; + $95 = (($22) + (($92*14)|0)|0); + $96 = HEAP16[$95>>1]|0; + $97 = $96 << 16 >> 16; + $98 = (((($22) + (($92*14)|0)|0)) + 2|0); + $99 = HEAP16[$98>>1]|0; + $100 = $99 << 16 >> 16; + $101 = ($$0379436|0)==($$3369438|0); + $102 = $94 & 1; + $103 = ($102<<24>>24)!=(0); + do { + if ($101) { + $104 = ($$3369438|0)==(0); + if ($104) { + $$1354 = $$0353439; + } else { + $105 = (_stbtt__close_shape($22,$$0353439,$$0409428,$$0407429,$$0396432,$$0393433,$$0390434,$$0387435,$$0401430,$$0399431)|0); + $$1354 = $105; + } + $106 = $103 ^ 1; + $107 = $106&1; + do { + if ($103) { + $$1388 = $$0387435;$$1391 = $$0390434;$$1394 = $100;$$1397 = $97;$$4370 = $$3369438; + } else { + $108 = (($92) + 1)|0; + $109 = (((($22) + (($108*14)|0)|0)) + 12|0); + $110 = HEAP8[$109>>0]|0; + $111 = $110 & 1; + $112 = ($111<<24>>24)==(0); + $113 = (((($22) + (($108*14)|0)|0)) + 2|0); + $114 = HEAP16[$113>>1]|0; + $115 = (($22) + (($108*14)|0)|0); + $116 = HEAP16[$115>>1]|0; + $117 = $114 << 16 >> 16; + $118 = $116 << 16 >> 16; + if ($112) { + $119 = (($118) + ($97))|0; + $120 = $119 >> 1; + $121 = (($117) + ($100))|0; + $122 = $121 >> 1; + $$1388 = $100;$$1391 = $97;$$1394 = $122;$$1397 = $120;$$4370 = $$3369438; + break; + } else { + $123 = (($$3369438) + 1)|0; + $$1388 = $100;$$1391 = $97;$$1394 = $117;$$1397 = $118;$$4370 = $123; + break; + } + } + } while(0); + $124 = (($$1354) + 1)|0; + $125 = (($22) + (($$1354*14)|0)|0); + _stbtt_setvertex($125,1,$$1397,$$1394,0,0); + $126 = $$0377437 << 1; + $127 = (($12) + ($126)|0); + $128 = (_ttUSHORT($127)|0); + $129 = $128&65535; + $130 = (($129) + 1)|0; + $131 = (($$0377437) + 1)|0; + $$1378 = $131;$$1380 = $130;$$1400 = $$0399431;$$1402 = $$0401430;$$1408 = $107;$$1410 = 0;$$2389 = $$1388;$$2392 = $$1391;$$2395 = $$1394;$$2398 = $$1397;$$3356 = $124;$$5371 = $$4370; + } else { + $132 = ($$0409428|0)!=(0); + $133 = (($$0353439) + 1)|0; + $134 = (($22) + (($$0353439*14)|0)|0); + if (!($103)) { + if (!($132)) { + $$1378 = $$0377437;$$1380 = $$0379436;$$1400 = $100;$$1402 = $97;$$1408 = $$0407429;$$1410 = 1;$$2389 = $$0387435;$$2392 = $$0390434;$$2395 = $$0393433;$$2398 = $$0396432;$$3356 = $$0353439;$$5371 = $$3369438; + break; + } + $135 = (($100) + ($$0399431))|0; + $136 = $135 >> 1; + $137 = (($97) + ($$0401430))|0; + $138 = $137 >> 1; + _stbtt_setvertex($134,3,$138,$136,$$0401430,$$0399431); + $$1378 = $$0377437;$$1380 = $$0379436;$$1400 = $100;$$1402 = $97;$$1408 = $$0407429;$$1410 = 1;$$2389 = $$0387435;$$2392 = $$0390434;$$2395 = $$0393433;$$2398 = $$0396432;$$3356 = $133;$$5371 = $$3369438; + break; + } + if ($132) { + _stbtt_setvertex($134,3,$97,$100,$$0401430,$$0399431); + $$1378 = $$0377437;$$1380 = $$0379436;$$1400 = $$0399431;$$1402 = $$0401430;$$1408 = $$0407429;$$1410 = 0;$$2389 = $$0387435;$$2392 = $$0390434;$$2395 = $$0393433;$$2398 = $$0396432;$$3356 = $133;$$5371 = $$3369438; + break; + } else { + _stbtt_setvertex($134,2,$97,$100,0,0); + $$1378 = $$0377437;$$1380 = $$0379436;$$1400 = $$0399431;$$1402 = $$0401430;$$1408 = $$0407429;$$1410 = 0;$$2389 = $$0387435;$$2392 = $$0390434;$$2395 = $$0393433;$$2398 = $$0396432;$$3356 = $133;$$5371 = $$3369438; + break; + } + } + } while(0); + $139 = (($$5371) + 1)|0; + $140 = ($$5371|0)<($18|0); + if ($140) { + $$0353439 = $$3356;$$0377437 = $$1378;$$0379436 = $$1380;$$0387435 = $$2389;$$0390434 = $$2392;$$0393433 = $$2395;$$0396432 = $$2398;$$0399431 = $$1400;$$0401430 = $$1402;$$0407429 = $$1408;$$0409428 = $$1410;$$3369438 = $139; + } else { + break; + } + } + $141 = (_stbtt__close_shape($22,$$3356,$$1410,$$1408,$$2398,$$2395,$$2392,$$2389,$$1402,$$1400)|0); + $$4352 = $22;$$9 = $141; + } else { + $142 = ($9<<16>>16)==(-1); + if (!($142)) { + $264 = ($9<<16>>16)<(0); + if (!($264)) { + $$4352 = 0;$$9 = 0; + break; + } + ___assert_fail((16957|0),(14913|0),1724,(15690|0)); + // unreachable; + } + $143 = ((($8)) + 10|0); + $$0348453 = 0;$$0372451 = $143;$$5452 = 0;$250 = 0;$255 = 0;$260 = 0; + while(1) { + HEAP32[$3>>2] = 0; + $144 = (_ttSHORT($$0372451)|0); + $145 = ((($$0372451)) + 2|0); + $146 = (_ttSHORT($145)|0); + $147 = ((($$0372451)) + 4|0); + $148 = $144&65535; + $149 = $148 & 2; + $150 = ($149|0)==(0); + if ($150) { + label = 42; + break; + } + $151 = $148 & 1; + $152 = ($151|0)==(0); + if ($152) { + $158 = HEAP8[$147>>0]|0; + $159 = (+($158<<24>>24)); + $160 = ((($$0372451)) + 5|0); + $161 = HEAP8[$160>>0]|0; + $162 = (+($161<<24>>24)); + $$sink = 6;$$sroa$31$0 = $159;$$sroa$35$0 = $162; + } else { + $153 = (_ttSHORT($147)|0); + $154 = (+($153<<16>>16)); + $155 = ((($$0372451)) + 6|0); + $156 = (_ttSHORT($155)|0); + $157 = (+($156<<16>>16)); + $$sink = 8;$$sroa$31$0 = $154;$$sroa$35$0 = $157; + } + $163 = (($$0372451) + ($$sink)|0); + $164 = $148 & 8; + $165 = ($164|0)==(0); + do { + if ($165) { + $170 = $148 & 64; + $171 = ($170|0)==(0); + if (!($171)) { + $172 = (_ttSHORT($163)|0); + $173 = (+($172<<16>>16)); + $174 = $173 * 6.103515625E-5; + $175 = ((($163)) + 2|0); + $176 = (_ttSHORT($175)|0); + $177 = (+($176<<16>>16)); + $178 = $177 * 6.103515625E-5; + $179 = ((($163)) + 4|0); + $$2374 = $179;$$sroa$0$0 = $174;$$sroa$10$0 = 0.0;$$sroa$17$0 = 0.0;$$sroa$24$0 = $178; + break; + } + $180 = $148 & 128; + $181 = ($180|0)==(0); + if ($181) { + $$2374 = $163;$$sroa$0$0 = 1.0;$$sroa$10$0 = 0.0;$$sroa$17$0 = 0.0;$$sroa$24$0 = 1.0; + } else { + $182 = (_ttSHORT($163)|0); + $183 = (+($182<<16>>16)); + $184 = $183 * 6.103515625E-5; + $185 = ((($163)) + 2|0); + $186 = (_ttSHORT($185)|0); + $187 = (+($186<<16>>16)); + $188 = $187 * 6.103515625E-5; + $189 = ((($163)) + 4|0); + $190 = (_ttSHORT($189)|0); + $191 = (+($190<<16>>16)); + $192 = $191 * 6.103515625E-5; + $193 = ((($163)) + 6|0); + $194 = (_ttSHORT($193)|0); + $195 = (+($194<<16>>16)); + $196 = $195 * 6.103515625E-5; + $197 = ((($163)) + 8|0); + $$2374 = $197;$$sroa$0$0 = $184;$$sroa$10$0 = $188;$$sroa$17$0 = $192;$$sroa$24$0 = $196; + } + } else { + $166 = (_ttSHORT($163)|0); + $167 = (+($166<<16>>16)); + $168 = $167 * 6.103515625E-5; + $169 = ((($163)) + 2|0); + $$2374 = $169;$$sroa$0$0 = $168;$$sroa$10$0 = 0.0;$$sroa$17$0 = 0.0;$$sroa$24$0 = $168; + } + } while(0); + $198 = $$sroa$0$0 * $$sroa$0$0; + $199 = $$sroa$10$0 * $$sroa$10$0; + $200 = $199 + $198; + $sqrtf = (+Math_sqrt((+$200))); + $201 = $$sroa$17$0 * $$sroa$17$0; + $202 = $$sroa$24$0 * $$sroa$24$0; + $203 = $202 + $201; + $sqrtf411 = (+Math_sqrt((+$203))); + $204 = $146&65535; + $205 = (_stbtt_GetGlyphShape($0,$204,$3)|0); + $206 = ($205|0)>(0); + if ($206) { + $207 = HEAP32[$3>>2]|0; + $$0363450 = 0; + while(1) { + $208 = (($207) + (($$0363450*14)|0)|0); + $209 = HEAP16[$208>>1]|0; + $210 = (((($207) + (($$0363450*14)|0)|0)) + 2|0); + $211 = HEAP16[$210>>1]|0; + $212 = (+($209<<16>>16)); + $213 = $$sroa$0$0 * $212; + $214 = (+($211<<16>>16)); + $215 = $$sroa$17$0 * $214; + $216 = $213 + $215; + $217 = $$sroa$31$0 + $216; + $218 = $sqrtf * $217; + $219 = (~~(($218))); + HEAP16[$208>>1] = $219; + $220 = $$sroa$10$0 * $212; + $221 = $$sroa$24$0 * $214; + $222 = $220 + $221; + $223 = $$sroa$35$0 + $222; + $224 = $sqrtf411 * $223; + $225 = (~~(($224))); + HEAP16[$210>>1] = $225; + $226 = (((($207) + (($$0363450*14)|0)|0)) + 4|0); + $227 = HEAP16[$226>>1]|0; + $228 = (((($207) + (($$0363450*14)|0)|0)) + 6|0); + $229 = HEAP16[$228>>1]|0; + $230 = (+($227<<16>>16)); + $231 = $$sroa$0$0 * $230; + $232 = (+($229<<16>>16)); + $233 = $$sroa$17$0 * $232; + $234 = $231 + $233; + $235 = $$sroa$31$0 + $234; + $236 = $sqrtf * $235; + $237 = (~~(($236))); + HEAP16[$226>>1] = $237; + $238 = $$sroa$10$0 * $230; + $239 = $$sroa$24$0 * $232; + $240 = $238 + $239; + $241 = $$sroa$35$0 + $240; + $242 = $sqrtf411 * $241; + $243 = (~~(($242))); + HEAP16[$228>>1] = $243; + $244 = (($$0363450) + 1)|0; + $exitcond460 = ($244|0)==($205|0); + if ($exitcond460) { + break; + } else { + $$0363450 = $244; + } + } + $245 = (($205) + ($$5452))|0; + $246 = ($245*14)|0; + $247 = (_malloc($246)|0); + $248 = ($247|0)==(0|0); + if ($248) { + break; + } + $253 = ($$5452|0)>(0); + if ($253) { + $254 = ($$5452*14)|0; + _memcpy(($247|0),($255|0),($254|0))|0; + } + $256 = (($247) + (($$5452*14)|0)|0); + $257 = HEAP32[$3>>2]|0; + $258 = ($205*14)|0; + _memcpy(($256|0),($257|0),($258|0))|0; + $259 = ($$0348453|0)==(0|0); + if (!($259)) { + _free($260); + } + $261 = HEAP32[$3>>2]|0; + _free($261); + $$1349 = $247;$$6 = $245;$265 = $247;$266 = $247;$267 = $247; + } else { + $$1349 = $$0348453;$$6 = $$5452;$265 = $250;$266 = $260;$267 = $255; + } + $262 = $148 & 32; + $263 = ($262|0)==(0); + if ($263) { + $$4352 = $$1349;$$9 = $$6; + break L4; + } else { + $$0348453 = $$1349;$$0372451 = $$2374;$$5452 = $$6;$250 = $265;$255 = $267;$260 = $266; + } + } + if ((label|0) == 42) { + ___assert_fail((16957|0),(14913|0),1671,(15690|0)); + // unreachable; + } + $249 = ($$0348453|0)==(0|0); + if (!($249)) { + _free($250); + } + $251 = HEAP32[$3>>2]|0; + $252 = ($251|0)==(0|0); + if (!($252)) { + _free($251); + } + $$4 = 0; + STACKTOP = sp;return ($$4|0); + } + } while(0); + HEAP32[$2>>2] = $$4352; + $$4 = $$9; + STACKTOP = sp;return ($$4|0); +} +function _stbtt__GetGlyphShapeT2($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0; + var stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0); + $3 = sp + 48|0; + $4 = sp; + $5 = ((($3)) + 4|0); + dest=$5; stop=dest+44|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + HEAP32[$3>>2] = 1; + dest=$4; stop=dest+48|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + $6 = (_stbtt__run_charstring($0,$1,$3)|0); + $7 = ($6|0)==(0); + if (!($7)) { + $8 = ((($3)) + 44|0); + $9 = HEAP32[$8>>2]|0; + $10 = ($9*14)|0; + $11 = (_malloc($10)|0); + HEAP32[$2>>2] = $11; + $12 = ((($4)) + 40|0); + HEAP32[$12>>2] = $11; + $13 = (_stbtt__run_charstring($0,$1,$4)|0); + $14 = ($13|0)==(0); + if (!($14)) { + $15 = ((($4)) + 44|0); + $16 = HEAP32[$15>>2]|0; + $17 = HEAP32[$8>>2]|0; + $18 = ($16|0)==($17|0); + if ($18) { + $$0 = $16; + STACKTOP = sp;return ($$0|0); + } else { + ___assert_fail((15617|0),(14913|0),2114,(15667|0)); + // unreachable; + } + } + } + HEAP32[$2>>2] = 0; + $$0 = 0; + STACKTOP = sp;return ($$0|0); +} +function _stbtt__close_shape($0,$1,$2,$3,$4,$5,$6,$7,$8,$9) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + $6 = $6|0; + $7 = $7|0; + $8 = $8|0; + $9 = $9|0; + var $$0 = 0, $$1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, label = 0, sp = 0; + sp = STACKTOP; + $10 = ($3|0)==(0); + $11 = ($2|0)!=(0); + $12 = (($1) + 1)|0; + $13 = (($0) + (($1*14)|0)|0); + if (!($10)) { + if ($11) { + $14 = (($9) + ($7))|0; + $15 = $14 >> 1; + $16 = (($8) + ($6))|0; + $17 = $16 >> 1; + _stbtt_setvertex($13,3,$17,$15,$8,$9); + $$0 = $12; + } else { + $$0 = $1; + } + $18 = (($$0) + 1)|0; + $19 = (($0) + (($$0*14)|0)|0); + _stbtt_setvertex($19,3,$4,$5,$6,$7); + $$1 = $18; + return ($$1|0); + } + if ($11) { + _stbtt_setvertex($13,3,$4,$5,$8,$9); + $$1 = $12; + return ($$1|0); + } else { + _stbtt_setvertex($13,2,$4,$5,0,0); + $$1 = $12; + return ($$1|0); + } + return (0)|0; +} +function _stbtt_InitFont_internal($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0902 = 0, $$1 = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $$pr = 0, $$sink = 0, $10 = 0, $100 = 0, $101 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0; + var $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0; + var $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0; + var $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0; + var $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0; + var $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 192|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(192|0); + $$byval_copy2 = sp + 172|0; + $$byval_copy1 = sp + 160|0; + $2 = sp + 148|0; + $3 = sp + 136|0; + $4 = sp + 124|0; + $5 = sp + 112|0; + $6 = sp + 108|0; + $7 = sp + 104|0; + $8 = sp + 100|0; + $9 = sp + 96|0; + $10 = sp + 84|0; + $11 = sp + 72|0; + $12 = sp + 60|0; + $13 = sp + 48|0; + $14 = sp + 36|0; + $15 = sp + 24|0; + $16 = sp + 12|0; + $17 = sp; + $18 = ((($0)) + 4|0); + HEAP32[$18>>2] = $1; + $19 = ((($0)) + 8|0); + HEAP32[$19>>2] = 0; + $20 = ((($0)) + 48|0); + _stbtt__new_buf($2,0,0); + ;HEAP32[$20>>2]=HEAP32[$2>>2]|0;HEAP32[$20+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$20+8>>2]=HEAP32[$2+8>>2]|0; + $21 = (_stbtt__find_table($1,15790)|0); + $22 = (_stbtt__find_table($1,15795)|0); + $23 = ((($0)) + 16|0); + HEAP32[$23>>2] = $22; + $24 = (_stbtt__find_table($1,15800)|0); + $25 = ((($0)) + 20|0); + HEAP32[$25>>2] = $24; + $26 = (_stbtt__find_table($1,15805)|0); + $27 = ((($0)) + 24|0); + HEAP32[$27>>2] = $26; + $28 = (_stbtt__find_table($1,15810)|0); + $29 = ((($0)) + 28|0); + HEAP32[$29>>2] = $28; + $30 = (_stbtt__find_table($1,15815)|0); + $31 = ((($0)) + 32|0); + HEAP32[$31>>2] = $30; + $32 = (_stbtt__find_table($1,15820)|0); + $33 = ((($0)) + 36|0); + HEAP32[$33>>2] = $32; + $34 = ($21|0)==(0); + if ($34) { + $$1 = 0; + STACKTOP = sp;return ($$1|0); + } + $35 = HEAP32[$25>>2]|0; + $36 = ($35|0)==(0); + if ($36) { + $$1 = 0; + STACKTOP = sp;return ($$1|0); + } + $37 = HEAP32[$29>>2]|0; + $38 = ($37|0)==(0); + if ($38) { + $$1 = 0; + STACKTOP = sp;return ($$1|0); + } + $39 = HEAP32[$31>>2]|0; + $40 = ($39|0)==(0); + if ($40) { + $$1 = 0; + STACKTOP = sp;return ($$1|0); + } + $41 = HEAP32[$27>>2]|0; + $42 = ($41|0)==(0); + L13: do { + if ($42) { + HEAP32[$6>>2] = 2; + HEAP32[$7>>2] = 0; + HEAP32[$8>>2] = 0; + HEAP32[$9>>2] = 0; + $45 = (_stbtt__find_table($1,15825)|0); + $46 = ($45|0)==(0); + do { + if (!($46)) { + $47 = ((($0)) + 96|0); + _stbtt__new_buf($10,0,0); + ;HEAP32[$47>>2]=HEAP32[$10>>2]|0;HEAP32[$47+4>>2]=HEAP32[$10+4>>2]|0;HEAP32[$47+8>>2]=HEAP32[$10+8>>2]|0; + $48 = ((($0)) + 108|0); + _stbtt__new_buf($11,0,0); + ;HEAP32[$48>>2]=HEAP32[$11>>2]|0;HEAP32[$48+4>>2]=HEAP32[$11+4>>2]|0;HEAP32[$48+8>>2]=HEAP32[$11+8>>2]|0; + $49 = (($1) + ($45)|0); + _stbtt__new_buf($12,$49,536870912); + ;HEAP32[$20>>2]=HEAP32[$12>>2]|0;HEAP32[$20+4>>2]=HEAP32[$12+4>>2]|0;HEAP32[$20+8>>2]=HEAP32[$12+8>>2]|0; + ;HEAP32[$3>>2]=HEAP32[$12>>2]|0;HEAP32[$3+4>>2]=HEAP32[$12+4>>2]|0;HEAP32[$3+8>>2]=HEAP32[$12+8>>2]|0; + _stbtt__buf_skip($3,2); + $50 = (_stbtt__buf_get8($3)|0); + $51 = $50&255; + _stbtt__buf_seek($3,$51); + _stbtt__cff_get_index($$byval_copy2,$3); + _stbtt__cff_get_index($5,$3); + ;HEAP32[$$byval_copy2>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$$byval_copy2+8>>2]=HEAP32[$5+8>>2]|0; + _stbtt__cff_index_get($4,$$byval_copy2,0); + _stbtt__cff_get_index($$byval_copy2,$3); + $52 = ((($0)) + 72|0); + _stbtt__cff_get_index($13,$3); + ;HEAP32[$52>>2]=HEAP32[$13>>2]|0;HEAP32[$52+4>>2]=HEAP32[$13+4>>2]|0;HEAP32[$52+8>>2]=HEAP32[$13+8>>2]|0; + _stbtt__dict_get_ints($4,17,1,$7); + _stbtt__dict_get_ints($4,262,1,$6); + _stbtt__dict_get_ints($4,292,1,$8); + _stbtt__dict_get_ints($4,293,1,$9); + $53 = ((($0)) + 84|0); + ;HEAP32[$$byval_copy1>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$3+8>>2]|0; + ;HEAP32[$$byval_copy2>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$4+4>>2]|0;HEAP32[$$byval_copy2+8>>2]=HEAP32[$4+8>>2]|0; + _stbtt__get_subrs($14,$$byval_copy1,$$byval_copy2); + ;HEAP32[$53>>2]=HEAP32[$14>>2]|0;HEAP32[$53+4>>2]=HEAP32[$14+4>>2]|0;HEAP32[$53+8>>2]=HEAP32[$14+8>>2]|0; + $54 = HEAP32[$6>>2]|0; + $55 = ($54|0)!=(2); + $56 = HEAP32[$7>>2]|0; + $57 = ($56|0)==(0); + $or$cond = $55 | $57; + if (!($or$cond)) { + $58 = HEAP32[$8>>2]|0; + $59 = ($58|0)==(0); + if (!($59)) { + $60 = HEAP32[$9>>2]|0; + $61 = ($60|0)==(0); + if ($61) { + break; + } + _stbtt__buf_seek($3,$58); + _stbtt__cff_get_index($15,$3); + ;HEAP32[$47>>2]=HEAP32[$15>>2]|0;HEAP32[$47+4>>2]=HEAP32[$15+4>>2]|0;HEAP32[$47+8>>2]=HEAP32[$15+8>>2]|0; + $62 = HEAP32[$9>>2]|0; + $63 = ((($3)) + 8|0); + $64 = HEAP32[$63>>2]|0; + $65 = (($64) - ($62))|0; + _stbtt__buf_range($16,$3,$62,$65); + ;HEAP32[$48>>2]=HEAP32[$16>>2]|0;HEAP32[$48+4>>2]=HEAP32[$16+4>>2]|0;HEAP32[$48+8>>2]=HEAP32[$16+8>>2]|0; + } + $66 = HEAP32[$7>>2]|0; + _stbtt__buf_seek($3,$66); + $67 = ((($0)) + 60|0); + _stbtt__cff_get_index($17,$3); + ;HEAP32[$67>>2]=HEAP32[$17>>2]|0;HEAP32[$67+4>>2]=HEAP32[$17+4>>2]|0;HEAP32[$67+8>>2]=HEAP32[$17+8>>2]|0; + break L13; + } + } + } while(0); + $$1 = 0; + STACKTOP = sp;return ($$1|0); + } else { + $43 = HEAP32[$23>>2]|0; + $44 = ($43|0)==(0); + if ($44) { + $$1 = 0; + STACKTOP = sp;return ($$1|0); + } + } + } while(0); + $68 = (_stbtt__find_table($1,15830)|0); + $69 = ($68|0)==(0); + if ($69) { + $$sink = 65535; + } else { + $70 = (($1) + ($68)|0); + $71 = ((($70)) + 4|0); + $72 = (_ttUSHORT($71)|0); + $73 = $72&65535; + $$sink = $73; + } + $74 = ((($0)) + 12|0); + HEAP32[$74>>2] = $$sink; + $75 = (($1) + ($21)|0); + $76 = ((($75)) + 2|0); + $77 = (_ttUSHORT($76)|0); + $78 = $77&65535; + $79 = ((($0)) + 40|0); + HEAP32[$79>>2] = 0; + $80 = ($77<<16>>16)==(0); + if ($80) { + $$1 = 0; + STACKTOP = sp;return ($$1|0); + } + $81 = (($21) + 4)|0; + $$0902 = 0; + while(1) { + $82 = $$0902 << 3; + $83 = (($81) + ($82))|0; + $84 = (($1) + ($83)|0); + $85 = (_ttUSHORT($84)|0); + L35: do { + switch ($85<<16>>16) { + case 3: { + $86 = ((($84)) + 2|0); + $87 = (_ttUSHORT($86)|0); + switch ($87<<16>>16) { + case 10: case 1: { + break; + } + default: { + break L35; + } + } + $88 = ((($84)) + 4|0); + $89 = (_ttULONG($88)|0); + $90 = (($89) + ($21))|0; + HEAP32[$79>>2] = $90; + break; + } + case 0: { + $91 = ((($84)) + 4|0); + $92 = (_ttULONG($91)|0); + $93 = (($92) + ($21))|0; + HEAP32[$79>>2] = $93; + break; + } + default: { + } + } + } while(0); + $94 = (($$0902) + 1)|0; + $exitcond = ($94|0)==($78|0); + if ($exitcond) { + break; + } else { + $$0902 = $94; + } + } + $$pr = HEAP32[$79>>2]|0; + $95 = ($$pr|0)==(0); + if ($95) { + $$1 = 0; + STACKTOP = sp;return ($$1|0); + } + $96 = HEAP32[$25>>2]|0; + $97 = (($1) + ($96)|0); + $98 = ((($97)) + 50|0); + $99 = (_ttUSHORT($98)|0); + $100 = $99&65535; + $101 = ((($0)) + 44|0); + HEAP32[$101>>2] = $100; + $$1 = 1; + STACKTOP = sp;return ($$1|0); +} +function _stbtt__find_table($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0312 = 0, $$2 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; + var sp = 0; + sp = STACKTOP; + $2 = ((($0)) + 4|0); + $3 = (_ttUSHORT($2)|0); + $4 = $3&65535; + $5 = ($3<<16>>16)==(0); + if ($5) { + $$2 = 0; + return ($$2|0); + } + $6 = HEAP8[$1>>0]|0; + $7 = $6 << 24 >> 24; + $8 = ((($1)) + 1|0); + $9 = ((($1)) + 2|0); + $10 = ((($1)) + 3|0); + $$0312 = 0; + while(1) { + $11 = $$0312 << 4; + $12 = $11 | 12; + $13 = (($0) + ($12)|0); + $14 = HEAP8[$13>>0]|0; + $15 = $14&255; + $16 = ($15|0)==($7|0); + if ($16) { + $17 = ((($13)) + 1|0); + $18 = HEAP8[$17>>0]|0; + $19 = $18&255; + $20 = HEAP8[$8>>0]|0; + $21 = $20 << 24 >> 24; + $22 = ($19|0)==($21|0); + if ($22) { + $23 = ((($13)) + 2|0); + $24 = HEAP8[$23>>0]|0; + $25 = $24&255; + $26 = HEAP8[$9>>0]|0; + $27 = $26 << 24 >> 24; + $28 = ($25|0)==($27|0); + if ($28) { + $29 = ((($13)) + 3|0); + $30 = HEAP8[$29>>0]|0; + $31 = $30&255; + $32 = HEAP8[$10>>0]|0; + $33 = $32 << 24 >> 24; + $34 = ($31|0)==($33|0); + if ($34) { + break; + } + } + } + } + $37 = (($$0312) + 1)|0; + $38 = ($37|0)<($4|0); + if ($38) { + $$0312 = $37; + } else { + $$2 = 0; + label = 9; + break; + } + } + if ((label|0) == 9) { + return ($$2|0); + } + $35 = ((($13)) + 8|0); + $36 = (_ttULONG($35)|0); + $$2 = $36; + return ($$2|0); +} +function _DrawText($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$ = 0, $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0.0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0); + $$byval_copy2 = sp + 112|0; + $$byval_copy1 = sp + 104|0; + $$byval_copy = sp + 72|0; + $5 = sp + 32|0; + $6 = sp + 64|0; + $7 = sp; + _GetDefaultFont($5); + $8 = HEAP32[$5>>2]|0; + $9 = ($8|0)==(0); + if ($9) { + STACKTOP = sp;return; + } + $10 = (+($1|0)); + HEAPF32[$6>>2] = $10; + $11 = ((($6)) + 4|0); + $12 = (+($2|0)); + HEAPF32[$11>>2] = $12; + $13 = ($3|0)>(10); + $$ = $13 ? $3 : 10; + $14 = (($$>>>0) / 10)&-1; + _GetDefaultFont($7); + $15 = (+($$|0)); + ;HEAP32[$$byval_copy>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$7+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$7+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$7+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$7+16>>2]|0;HEAP32[$$byval_copy+20>>2]=HEAP32[$7+20>>2]|0;HEAP32[$$byval_copy+24>>2]=HEAP32[$7+24>>2]|0;HEAP32[$$byval_copy+28>>2]=HEAP32[$7+28>>2]|0; + ;HEAP32[$$byval_copy1>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$6+4>>2]|0; + ;HEAP8[$$byval_copy2>>0]=HEAP8[$4>>0]|0;HEAP8[$$byval_copy2+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$$byval_copy2+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$$byval_copy2+3>>0]=HEAP8[$4+3>>0]|0; + _DrawTextEx($$byval_copy,$0,$$byval_copy1,$15,$14,$$byval_copy2); + STACKTOP = sp;return; +} +function _DrawTextEx($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = +$3; + $4 = $4|0; + $5 = $5|0; + var $$04954 = 0, $$05153 = 0, $$055 = 0, $$1 = 0, $$150 = 0, $$152 = 0, $$2 = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $$byval_copy3 = 0, $$byval_copy4 = 0, $$byval_copy5 = 0, $$sink = 0, $10 = 0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0.0, $16 = 0; + var $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0.0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0.0, $28 = 0.0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0; + var $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0.0, $45 = 0.0, $46 = 0, $47 = 0, $48 = 0.0, $49 = 0.0, $50 = 0.0, $51 = 0, $52 = 0.0, $53 = 0.0, $54 = 0.0, $55 = 0, $56 = 0; + var $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0.0, $64 = 0.0, $65 = 0, $66 = 0, $67 = 0, $68 = 0.0, $69 = 0.0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0; + var $75 = 0, $76 = 0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0, $80 = 0, $81 = 0, $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0); + $$byval_copy5 = sp + 88|0; + $$byval_copy4 = sp + 80|0; + $$byval_copy3 = sp + 64|0; + $$byval_copy2 = sp + 48|0; + $$byval_copy1 = sp + 24|0; + $6 = sp + 8|0; + $7 = sp; + $8 = (_strlen($1)|0); + $9 = ((($0)) + 20|0); + $10 = HEAP32[$9>>2]|0; + $11 = (+($10|0)); + $12 = $3 / $11; + $13 = ($8|0)>(0); + if (!($13)) { + STACKTOP = sp;return; + } + $14 = ((($0)) + 28|0); + $15 = +HEAPF32[$2>>2]; + $16 = ((($6)) + 4|0); + $17 = ((($2)) + 4|0); + $18 = ((($6)) + 8|0); + $19 = ((($6)) + 12|0); + $20 = ((($7)) + 4|0); + $21 = (+($4|0)); + $$04954 = 0;$$05153 = 0;$$055 = 0; + while(1) { + $22 = (($1) + ($$055)|0); + $23 = HEAP8[$22>>0]|0; + switch ($23<<24>>24) { + case 10: { + $24 = HEAP32[$9>>2]|0; + $25 = (($24|0) / 2)&-1; + $26 = (($25) + ($24))|0; + $27 = (+($26|0)); + $28 = $12 * $27; + $29 = (~~(($28))); + $30 = (($29) + ($$05153))|0; + $$150 = 0;$$152 = $30;$$2 = $$055; + break; + } + case -62: { + $31 = (($$055) + 1)|0; + $32 = (($1) + ($31)|0); + $33 = HEAP8[$32>>0]|0; + $34 = $33&255; + $$1 = $31;$$sink = $34; + label = 9; + break; + } + case -61: { + $35 = (($$055) + 1)|0; + $36 = (($1) + ($35)|0); + $37 = HEAP8[$36>>0]|0; + $38 = $37&255; + $39 = (($38) + 64)|0; + $$1 = $35;$$sink = $39; + label = 9; + break; + } + default: { + $40 = $23 << 24 >> 24; + $$1 = $$055;$$sink = $40; + label = 9; + } + } + do { + if ((label|0) == 9) { + label = 0; + ;HEAP32[$$byval_copy5>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy5+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy5+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy5+16>>2]=HEAP32[$0+16>>2]|0;HEAP32[$$byval_copy5+20>>2]=HEAP32[$0+20>>2]|0;HEAP32[$$byval_copy5+24>>2]=HEAP32[$0+24>>2]|0;HEAP32[$$byval_copy5+28>>2]=HEAP32[$0+28>>2]|0; + $41 = (_GetCharIndex($$byval_copy5,$$sink)|0); + $42 = HEAP32[$14>>2]|0; + $43 = (((($42) + ($41<<5)|0)) + 4|0); + $44 = (+($$04954|0)); + $45 = $44 + $15; + $46 = (((($42) + ($41<<5)|0)) + 20|0); + $47 = HEAP32[$46>>2]|0; + $48 = (+($47|0)); + $49 = $12 * $48; + $50 = $45 + $49; + $51 = (~~(($50))); + HEAP32[$6>>2] = $51; + $52 = +HEAPF32[$17>>2]; + $53 = (+($$05153|0)); + $54 = $53 + $52; + $55 = (((($42) + ($41<<5)|0)) + 24|0); + $56 = HEAP32[$55>>2]|0; + $57 = (+($56|0)); + $58 = $12 * $57; + $59 = $54 + $58; + $60 = (~~(($59))); + HEAP32[$16>>2] = $60; + $61 = (((($42) + ($41<<5)|0)) + 12|0); + $62 = HEAP32[$61>>2]|0; + $63 = (+($62|0)); + $64 = $12 * $63; + $65 = (~~(($64))); + HEAP32[$18>>2] = $65; + $66 = (((($42) + ($41<<5)|0)) + 16|0); + $67 = HEAP32[$66>>2]|0; + $68 = (+($67|0)); + $69 = $12 * $68; + $70 = (~~(($69))); + HEAP32[$19>>2] = $70; + HEAPF32[$7>>2] = 0.0; + HEAPF32[$20>>2] = 0.0; + ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; + ;HEAP32[$$byval_copy2>>2]=HEAP32[$43>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$43+4>>2]|0;HEAP32[$$byval_copy2+8>>2]=HEAP32[$43+8>>2]|0;HEAP32[$$byval_copy2+12>>2]=HEAP32[$43+12>>2]|0; + ;HEAP32[$$byval_copy3>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$6+4>>2]|0;HEAP32[$$byval_copy3+8>>2]=HEAP32[$6+8>>2]|0;HEAP32[$$byval_copy3+12>>2]=HEAP32[$6+12>>2]|0; + ;HEAP32[$$byval_copy4>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$7+4>>2]|0; + ;HEAP8[$$byval_copy5>>0]=HEAP8[$5>>0]|0;HEAP8[$$byval_copy5+1>>0]=HEAP8[$5+1>>0]|0;HEAP8[$$byval_copy5+2>>0]=HEAP8[$5+2>>0]|0;HEAP8[$$byval_copy5+3>>0]=HEAP8[$5+3>>0]|0; + _DrawTexturePro($$byval_copy1,$$byval_copy2,$$byval_copy3,$$byval_copy4,0.0,$$byval_copy5); + $71 = HEAP32[$14>>2]|0; + $72 = (((($71) + ($41<<5)|0)) + 28|0); + $73 = HEAP32[$72>>2]|0; + $74 = ($73|0)==(0); + if ($74) { + $75 = (((($71) + ($41<<5)|0)) + 12|0); + $76 = HEAP32[$75>>2]|0; + $77 = (+($76|0)); + $78 = $12 * $77; + $79 = $21 + $78; + $80 = (~~(($79))); + $81 = (($80) + ($$04954))|0; + $$150 = $81;$$152 = $$05153;$$2 = $$1; + break; + } else { + $82 = (+($73|0)); + $83 = $12 * $82; + $84 = $21 + $83; + $85 = (~~(($84))); + $86 = (($85) + ($$04954))|0; + $$150 = $86;$$152 = $$05153;$$2 = $$1; + break; + } + } + } while(0); + $87 = (($$2) + 1)|0; + $88 = ($87|0)<($8|0); + if ($88) { + $$04954 = $$150;$$05153 = $$152;$$055 = $87; + } else { + break; + } + } + STACKTOP = sp;return; +} +function _FormatText($0,$varargs) { + $0 = $0|0; + $varargs = $varargs|0; + var $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $1 = sp; + HEAP32[$1>>2] = $varargs; + (_vsprintf(30619,$0,$1)|0); + STACKTOP = sp;return (30619|0); +} +function _SubText($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$ = 0, $$01721 = 0, $$022 = 0, $$1 = 0, $$20 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = (_strlen($0)|0); + $4 = ($3|0)>($1|0); + $5 = (($3) + -1)|0; + $$ = $4 ? $1 : $5; + $$20 = $4 ? $2 : 0; + $6 = ($$20|0)<($3|0); + $$1 = $6 ? $$20 : $3; + $7 = ($$1|0)>(0); + if ($7) { + $$01721 = $0;$$022 = 0; + } else { + $8 = (30683 + ($$1)|0); + HEAP8[$8>>0] = 0; + return (30683|0); + } + while(1) { + $9 = (($$01721) + ($$)|0); + $10 = HEAP8[$9>>0]|0; + $11 = (30683 + ($$022)|0); + HEAP8[$11>>0] = $10; + $12 = ((($$01721)) + 1|0); + $13 = (($$022) + 1)|0; + $14 = ($13|0)<($$1|0); + if ($14) { + $$01721 = $12;$$022 = $13; + } else { + break; + } + } + $8 = (30683 + ($$1)|0); + HEAP8[$8>>0] = 0; + return (30683|0); +} +function _jar_xm_generate_samples_16bit($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$015 = 0, $10 = 0.0, $11 = 0, $12 = 0, $13 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0.0, $exitcond = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = $2 << 1; + $4 = $2 << 3; + $5 = (_malloc($4)|0); + _jar_xm_generate_samples($0,$5,$2); + $6 = ($1|0)!=(0|0); + $7 = ($3|0)!=(0); + $or$cond = $6 & $7; + if ($or$cond) { + $$015 = 0; + } else { + _free($5); + return; + } + while(1) { + $8 = (($5) + ($$015<<2)|0); + $9 = +HEAPF32[$8>>2]; + $10 = $9 * 32767.0; + $11 = (~~(($10))); + $12 = (($1) + ($$015<<1)|0); + HEAP16[$12>>1] = $11; + $13 = (($$015) + 1)|0; + $exitcond = ($13|0)==($3|0); + if ($exitcond) { + break; + } else { + $$015 = $13; + } + } + _free($5); + return; +} +function _jar_xm_generate_samples($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$013 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; + var $8 = 0, $9 = 0, $exitcond = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ($0|0)!=(0|0); + $4 = ($1|0)!=(0|0); + $or$cond = $3 & $4; + if (!($or$cond)) { + return; + } + $5 = ((($0)) + 360|0); + $6 = $5; + $7 = $6; + $8 = HEAP32[$7>>2]|0; + $9 = (($6) + 4)|0; + $10 = $9; + $11 = HEAP32[$10>>2]|0; + $12 = (_i64Add(($8|0),($11|0),($2|0),0)|0); + $13 = tempRet0; + $14 = $5; + $15 = $14; + HEAP32[$15>>2] = $12; + $16 = (($14) + 4)|0; + $17 = $16; + HEAP32[$17>>2] = $13; + $18 = ($2|0)==(0); + if ($18) { + return; + } else { + $$013 = 0; + } + while(1) { + $19 = $$013 << 1; + $20 = (($1) + ($19<<2)|0); + $21 = $19 | 1; + $22 = (($1) + ($21<<2)|0); + _jar_xm_sample($0,$20,$22); + $23 = (($$013) + 1)|0; + $exitcond = ($23|0)==($2|0); + if ($exitcond) { + break; + } else { + $$013 = $23; + } + } + return; +} +function _jar_xm_sample($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$072 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0.0, $24 = 0, $25 = 0.0, $26 = 0.0, $27 = 0.0, $28 = 0.0; + var $29 = 0.0, $3 = 0, $30 = 0.0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0.0, $40 = 0, $41 = 0.0, $42 = 0, $43 = 0.0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0.0, $53 = 0.0, $54 = 0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0.0, $60 = 0.0, $61 = 0.0, $62 = 0.0, $63 = 0.0, $64 = 0.0; + var $65 = 0.0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0.0, $70 = 0.0, $71 = 0, $72 = 0.0, $73 = 0, $74 = 0.0, $75 = 0.0, $76 = 0, $77 = 0, $78 = 0.0, $79 = 0.0, $8 = 0, $80 = 0, $81 = 0, $82 = 0.0; + var $83 = 0, $84 = 0.0, $85 = 0, $86 = 0.0, $87 = 0.0, $88 = 0, $89 = 0, $9 = 0, $90 = 0.0, $91 = 0.0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ((($0)) + 352|0); + $4 = +HEAPF32[$3>>2]; + $5 = !($4 <= 0.0); + if (!($5)) { + _jar_xm_tick($0); + } + $6 = +HEAPF32[$3>>2]; + $7 = $6 + -1.0; + HEAPF32[$3>>2] = $7; + HEAPF32[$1>>2] = 0.0; + HEAPF32[$2>>2] = 0.0; + $8 = ((($0)) + 385|0); + $9 = HEAP8[$8>>0]|0; + $10 = ($9<<24>>24)==(0); + if (!($10)) { + $11 = ((($0)) + 384|0); + $12 = HEAP8[$11>>0]|0; + $13 = ($12&255)<($9&255); + if (!($13)) { + return; + } + } + $14 = ((($0)) + 50|0); + $15 = HEAP16[$14>>1]|0; + $16 = ($15<<16>>16)==(0); + if (!($16)) { + $17 = ((($0)) + 388|0); + $18 = ((($0)) + 340|0); + $19 = ((($0)) + 344|0); + $20 = ((($0)) + 344|0); + $21 = ((($0)) + 340|0); + $$072 = 0;$33 = 0; + while(1) { + $31 = HEAP32[$17>>2]|0; + $32 = (($31) + (($33*304)|0)|0); + $34 = (((($31) + (($33*304)|0)|0)) + 8|0); + $35 = HEAP32[$34>>2]|0; + $36 = ($35|0)==(0|0); + do { + if (!($36)) { + $37 = (((($31) + (($33*304)|0)|0)) + 12|0); + $38 = HEAP32[$37>>2]|0; + $39 = ($38|0)==(0|0); + if (!($39)) { + $40 = (((($31) + (($33*304)|0)|0)) + 20|0); + $41 = +HEAPF32[$40>>2]; + $42 = $41 < 0.0; + if (!($42)) { + $43 = (+_jar_xm_next_of_sample($32)); + $44 = (((($31) + (($33*304)|0)|0)) + 152|0); + $45 = HEAP32[$44>>2]|0; + $46 = ($45|0)==(0); + if ($46) { + $47 = HEAP32[$34>>2]|0; + $48 = ((($47)) + 272|0); + $49 = HEAP32[$48>>2]|0; + $50 = ($49|0)==(0); + if ($50) { + $51 = (((($31) + (($33*304)|0)|0)) + 300|0); + $52 = +HEAPF32[$51>>2]; + $53 = $43 * $52; + $54 = (((($31) + (($33*304)|0)|0)) + 296|0); + $55 = +HEAPF32[$54>>2]; + $56 = 1.0 - $55; + $57 = $53 * $56; + $58 = +HEAPF32[$1>>2]; + $59 = $58 + $57; + HEAPF32[$1>>2] = $59; + $60 = +HEAPF32[$51>>2]; + $61 = $43 * $60; + $62 = +HEAPF32[$54>>2]; + $63 = $61 * $62; + $64 = +HEAPF32[$2>>2]; + $65 = $64 + $63; + HEAPF32[$2>>2] = $65; + } + } + $66 = (((($31) + (($33*304)|0)|0)) + 164|0); + $67 = HEAP32[$66>>2]|0; + $68 = (($67) + 1)|0; + HEAP32[$66>>2] = $68; + $69 = (((($31) + (($33*304)|0)|0)) + 300|0); + $70 = +HEAPF32[$69>>2]; + $71 = (((($31) + (($33*304)|0)|0)) + 160|0); + $72 = +HEAPF32[$71>>2]; + $73 = $70 > $72; + if ($73) { + $74 = +HEAPF32[$18>>2]; + $75 = $70 - $74; + HEAPF32[$69>>2] = $75; + $76 = $75 < $72; + if ($76) { + HEAPF32[$69>>2] = $72; + } + } else { + $77 = $70 < $72; + if ($77) { + $78 = +HEAPF32[$21>>2]; + $79 = $70 + $78; + HEAPF32[$69>>2] = $79; + $80 = $79 > $72; + if ($80) { + HEAPF32[$69>>2] = $72; + } + } + } + $81 = (((($31) + (($33*304)|0)|0)) + 296|0); + $82 = +HEAPF32[$81>>2]; + $83 = (((($31) + (($33*304)|0)|0)) + 156|0); + $84 = +HEAPF32[$83>>2]; + $85 = $82 > $84; + if ($85) { + $86 = +HEAPF32[$19>>2]; + $87 = $82 - $86; + HEAPF32[$81>>2] = $87; + $88 = $87 < $84; + if (!($88)) { + break; + } + HEAPF32[$81>>2] = $84; + break; + } + $89 = $82 < $84; + if ($89) { + $90 = +HEAPF32[$20>>2]; + $91 = $82 + $90; + HEAPF32[$81>>2] = $91; + $92 = $91 > $84; + if ($92) { + HEAPF32[$81>>2] = $84; + } + } + } + } + } + } while(0); + $93 = (($$072) + 1)<<24>>24; + $94 = $93&255; + $95 = HEAP16[$14>>1]|0; + $96 = $95&65535; + $97 = ($94>>>0)<($96>>>0); + if ($97) { + $$072 = $93;$33 = $94; + } else { + break; + } + } + } + $22 = ((($0)) + 332|0); + $23 = +HEAPF32[$22>>2]; + $24 = ((($0)) + 336|0); + $25 = +HEAPF32[$24>>2]; + $26 = $23 * $25; + $27 = +HEAPF32[$1>>2]; + $28 = $27 * $26; + HEAPF32[$1>>2] = $28; + $29 = +HEAPF32[$2>>2]; + $30 = $26 * $29; + HEAPF32[$2>>2] = $30; + return; +} +function _jar_xm_tick($0) { + $0 = $0|0; + var $$0 = 0.0, $$0195202 = 0, $$0196 = 0.0, $$1 = 0.0, $$not = 0, $$pr = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0; + var $111 = 0.0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0.0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0; + var $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0; + var $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0; + var $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0.0, $181 = 0, $182 = 0.0, $183 = 0.0; + var $184 = 0.0, $185 = 0, $186 = 0.0, $187 = 0.0, $188 = 0.0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0; + var $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0.0, $212 = 0, $213 = 0, $214 = 0.0, $215 = 0.0, $216 = 0, $217 = 0.0, $218 = 0.0, $219 = 0; + var $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0.0; + var $238 = 0, $239 = 0.0, $24 = 0, $240 = 0.0, $241 = 0.0, $242 = 0.0, $243 = 0.0, $244 = 0.0, $245 = 0.0, $246 = 0.0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0.0, $252 = 0, $253 = 0.0, $254 = 0.0, $255 = 0; + var $256 = 0, $257 = 0, $258 = 0.0, $259 = 0, $26 = 0, $260 = 0.0, $261 = 0.0, $262 = 0.0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0.0, $273 = 0; + var $274 = 0, $275 = 0.0, $276 = 0.0, $277 = 0.0, $278 = 0, $279 = 0.0, $28 = 0, $280 = 0.0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0; + var $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0; + var $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0; + var $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0; + var $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, $storemerge = 0.0, $storemerge198 = 0.0, $trunc = 0, $trunc$clear = 0, $trunc199 = 0, $trunc199$clear = 0, $trunc200 = 0, $trunc200$clear = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 350|0); + $2 = HEAP16[$1>>1]|0; + $3 = ($2<<16>>16)==(0); + if ($3) { + _jar_xm_row($0); + } + $4 = ((($0)) + 50|0); + $5 = HEAP16[$4>>1]|0; + $6 = ($5<<16>>16)==(0); + L4: do { + if (!($6)) { + $7 = ((($0)) + 388|0); + $8 = ((($0)) + 328|0); + $9 = ((($0)) + 332|0); + $$0195202 = 0;$23 = 0; + while(1) { + $21 = HEAP32[$7>>2]|0; + $22 = (($21) + (($23*304)|0)|0); + _jar_xm_envelopes($22); + _jar_xm_autovibrato($0,$22); + $24 = (((($21) + (($23*304)|0)|0)) + 76|0); + $25 = HEAP32[$24>>2]|0; + $26 = ($25|0)==(0); + do { + if (!($26)) { + $27 = (((($21) + (($23*304)|0)|0)) + 16|0); + $28 = HEAP32[$27>>2]|0; + $29 = ((($28)) + 3|0); + $30 = HEAP8[$29>>0]|0; + $31 = ($30<<24>>24)==(0); + if ($31) { + $32 = ((($28)) + 4|0); + $33 = HEAP8[$32>>0]|0; + $34 = ($33<<24>>24)==(0); + if (!($34)) { + break; + } + } + HEAP32[$24>>2] = 0; + $35 = (((($21) + (($23*304)|0)|0)) + 80|0); + HEAP8[$35>>0] = 0; + _jar_xm_update_frequency($0,$22); + } + } while(0); + $36 = (((($21) + (($23*304)|0)|0)) + 100|0); + $37 = HEAP32[$36>>2]|0; + $38 = ($37|0)==(0); + if (!($38)) { + $39 = (((($21) + (($23*304)|0)|0)) + 16|0); + $40 = HEAP32[$39>>2]|0; + $41 = ((($40)) + 3|0); + $42 = HEAP8[$41>>0]|0; + $43 = ($42<<24>>24)==(4); + if (!($43)) { + $44 = ((($40)) + 4|0); + $45 = HEAP8[$44>>0]|0; + $46 = ($45<<24>>24)==(6); + if (!($46)) { + $47 = ((($40)) + 2|0); + $48 = HEAP8[$47>>0]|0; + $49 = $48 & -16; + $50 = ($49<<24>>24)==(-80); + if (!($50)) { + $51 = (((($21) + (($23*304)|0)|0)) + 116|0); + HEAP32[$36>>2] = 0; + HEAPF32[$51>>2] = 0.0; + _jar_xm_update_frequency($0,$22); + } + } + } + } + $52 = (((($21) + (($23*304)|0)|0)) + 16|0); + $53 = HEAP32[$52>>2]|0; + $54 = ((($53)) + 2|0); + $55 = HEAP8[$54>>0]|0; + $56 = $55&255; + $trunc = ($55&255) >>> 4; + $trunc$clear = $trunc & 15; + switch ($trunc$clear<<24>>24) { + case 6: { + $57 = HEAP16[$1>>1]|0; + $58 = ($57<<16>>16)==(0); + if (!($58)) { + $59 = $56 & 15; + $60 = $59&255; + _jar_xm_volume_slide($22,$60); + } + break; + } + case 7: { + $61 = HEAP16[$1>>1]|0; + $62 = ($61<<16>>16)==(0); + if (!($62)) { + $63 = $56 << 4; + $64 = $63&255; + _jar_xm_volume_slide($22,$64); + } + break; + } + case 11: { + $65 = HEAP16[$1>>1]|0; + $66 = ($65<<16>>16)==(0); + if (!($66)) { + HEAP32[$36>>2] = 0; + $67 = (((($21) + (($23*304)|0)|0)) + 112|0); + $68 = HEAP8[$67>>0]|0; + $69 = (((($21) + (($23*304)|0)|0)) + 114|0); + $70 = HEAP16[$69>>1]|0; + $71 = (($70) + 1)<<16>>16; + HEAP16[$69>>1] = $71; + _jar_xm_vibrato($0,$22,$68,$70); + } + break; + } + case 13: { + $72 = HEAP16[$1>>1]|0; + $73 = ($72<<16>>16)==(0); + if (!($73)) { + $74 = $56 & 15; + $75 = $74&255; + _jar_xm_panning_slide($22,$75); + } + break; + } + case 14: { + $76 = HEAP16[$1>>1]|0; + $77 = ($76<<16>>16)==(0); + if (!($77)) { + $78 = $56 << 4; + $79 = $78&255; + _jar_xm_panning_slide($22,$79); + } + break; + } + case 15: { + $80 = HEAP16[$1>>1]|0; + $81 = ($80<<16>>16)==(0); + if (!($81)) { + _jar_xm_tone_portamento($0,$22); + } + break; + } + default: { + } + } + $82 = HEAP32[$52>>2]|0; + $83 = ((($82)) + 3|0); + $84 = HEAP8[$83>>0]|0; + L34: do { + switch ($84<<24>>24) { + case 0: { + $85 = ((($82)) + 4|0); + $86 = HEAP8[$85>>0]|0; + $87 = ($86<<24>>24)==(0); + if (!($87)) { + $88 = HEAP16[$8>>1]|0; + $89 = (($88&65535) % 3)&-1; + $90 = $89&65535; + $trunc200 = $89&255; + $trunc200$clear = $trunc200 & 3; + switch ($trunc200$clear<<24>>24) { + case 2: { + $91 = HEAP16[$1>>1]|0; + $92 = ($91<<16>>16)==(1); + if ($92) { + HEAP32[$24>>2] = 1; + $93 = ($86&255) >>> 4; + $94 = (((($21) + (($23*304)|0)|0)) + 80|0); + HEAP8[$94>>0] = $93; + _jar_xm_update_frequency($0,$22); + break L34; + } else { + $96 = $91; + label = 34; + } + break; + } + case 1: { + $$pr = HEAP16[$1>>1]|0; + $96 = $$pr; + label = 34; + break; + } + case 0: { + break; + } + default: { + break L34; + } + } + if ((label|0) == 34) { + label = 0; + $95 = ($96<<16>>16)==(0); + if ($95) { + HEAP32[$24>>2] = 0; + $97 = (((($21) + (($23*304)|0)|0)) + 80|0); + HEAP8[$97>>0] = 0; + _jar_xm_update_frequency($0,$22); + break L34; + } + } + $98 = HEAP32[$52>>2]|0; + $99 = ((($98)) + 4|0); + $100 = HEAP8[$99>>0]|0; + $101 = HEAP16[$1>>1]|0; + $102 = $101&65535; + $103 = (($102) - ($90))|0; + $104 = $103&65535; + _jar_xm_arpeggio($0,$22,$100,$104); + } + break; + } + case 1: { + $105 = HEAP16[$1>>1]|0; + $106 = ($105<<16>>16)==(0); + if (!($106)) { + $107 = (((($21) + (($23*304)|0)|0)) + 85|0); + $108 = HEAP8[$107>>0]|0; + $109 = $108&255; + $110 = (0 - ($109))|0; + $111 = (+($110|0)); + _jar_xm_pitch_slide($0,$22,$111); + } + break; + } + case 2: { + $112 = HEAP16[$1>>1]|0; + $113 = ($112<<16>>16)==(0); + if (!($113)) { + $114 = (((($21) + (($23*304)|0)|0)) + 86|0); + $115 = HEAP8[$114>>0]|0; + $116 = (+($115&255)); + _jar_xm_pitch_slide($0,$22,$116); + } + break; + } + case 3: { + $117 = HEAP16[$1>>1]|0; + $118 = ($117<<16>>16)==(0); + if (!($118)) { + _jar_xm_tone_portamento($0,$22); + } + break; + } + case 4: { + $119 = HEAP16[$1>>1]|0; + $120 = ($119<<16>>16)==(0); + if (!($120)) { + HEAP32[$36>>2] = 1; + $121 = (((($21) + (($23*304)|0)|0)) + 112|0); + $122 = HEAP8[$121>>0]|0; + $123 = (((($21) + (($23*304)|0)|0)) + 114|0); + $124 = HEAP16[$123>>1]|0; + $125 = (($124) + 1)<<16>>16; + HEAP16[$123>>1] = $125; + _jar_xm_vibrato($0,$22,$122,$124); + } + break; + } + case 5: { + $126 = HEAP16[$1>>1]|0; + $127 = ($126<<16>>16)==(0); + if (!($127)) { + $128 = (((($21) + (($23*304)|0)|0)) + 81|0); + _jar_xm_tone_portamento($0,$22); + $129 = HEAP8[$128>>0]|0; + _jar_xm_volume_slide($22,$129); + } + break; + } + case 6: { + $130 = HEAP16[$1>>1]|0; + $131 = ($130<<16>>16)==(0); + if (!($131)) { + HEAP32[$36>>2] = 1; + $132 = (((($21) + (($23*304)|0)|0)) + 112|0); + $133 = HEAP8[$132>>0]|0; + $134 = (((($21) + (($23*304)|0)|0)) + 114|0); + $135 = HEAP16[$134>>1]|0; + $136 = (($135) + 1)<<16>>16; + HEAP16[$134>>1] = $136; + _jar_xm_vibrato($0,$22,$133,$135); + $137 = (((($21) + (($23*304)|0)|0)) + 81|0); + $138 = HEAP8[$137>>0]|0; + _jar_xm_volume_slide($22,$138); + } + break; + } + case 7: { + $139 = HEAP16[$1>>1]|0; + $140 = ($139<<16>>16)==(0); + if (!($140)) { + $141 = (((($21) + (($23*304)|0)|0)) + 128|0); + $142 = HEAP8[$141>>0]|0; + $143 = (((($21) + (($23*304)|0)|0)) + 129|0); + $144 = HEAP8[$143>>0]|0; + $145 = (($144) + 1)<<24>>24; + HEAP8[$143>>0] = $145; + $146 = $144&255; + _jar_xm_tremolo($22,$142,$146); + } + break; + } + case 10: { + $147 = HEAP16[$1>>1]|0; + $148 = ($147<<16>>16)==(0); + if (!($148)) { + $149 = (((($21) + (($23*304)|0)|0)) + 81|0); + $150 = HEAP8[$149>>0]|0; + _jar_xm_volume_slide($22,$150); + } + break; + } + case 14: { + $151 = ((($82)) + 4|0); + $152 = HEAP8[$151>>0]|0; + $153 = $152&255; + $trunc199 = ($152&255) >>> 4; + $trunc199$clear = $trunc199 & 15; + switch ($trunc199$clear<<24>>24) { + case 9: { + $154 = HEAP16[$1>>1]|0; + $155 = $154&65535; + $156 = ($154<<16>>16)==(0); + if ($156) { + break L34; + } + $157 = $153 & 15; + $158 = ($157|0)==(0); + if ($158) { + break L34; + } + $159 = (($155>>>0) % ($157>>>0))&-1; + $160 = ($159|0)==(0); + if (!($160)) { + break L34; + } + _jar_xm_trigger_note($0,$22,0); + _jar_xm_envelopes($22); + break L34; + break; + } + case 12: { + $161 = $153 & 15; + $162 = HEAP16[$1>>1]|0; + $163 = $162&65535; + $164 = ($161|0)==($163|0); + if (!($164)) { + break L34; + } + _jar_xm_cut_note($22); + break L34; + break; + } + case 13: { + $165 = (((($21) + (($23*304)|0)|0)) + 97|0); + $166 = HEAP8[$165>>0]|0; + $167 = $166&255; + $168 = HEAP16[$1>>1]|0; + $169 = $168&65535; + $170 = ($167|0)==($169|0); + if (!($170)) { + break L34; + } + _jar_xm_handle_note_and_instrument($0,$22,$82); + _jar_xm_envelopes($22); + break L34; + break; + } + default: { + break L34; + } + } + break; + } + case 17: { + $171 = HEAP16[$1>>1]|0; + $172 = ($171<<16>>16)==(0); + if (!($172)) { + $173 = (((($21) + (($23*304)|0)|0)) + 83|0); + $174 = HEAP8[$173>>0]|0; + $175 = $174&255; + $176 = $175 & 240; + $177 = ($176|0)!=(0); + $$not = $177 ^ 1; + $178 = $175 & 15; + $179 = ($178|0)==(0); + $or$cond = $179 | $$not; + if ($or$cond) { + $180 = +HEAPF32[$9>>2]; + if ($177) { + $181 = $175 >>> 4; + $182 = (+($181|0)); + $183 = $182 * 0.015625; + $184 = $183 + $180; + $185 = $184 > 1.0; + $storemerge198 = $185 ? 1.0 : $184; + HEAPF32[$9>>2] = $storemerge198; + break L34; + } else { + $186 = (+($178|0)); + $187 = $186 * 0.015625; + $188 = $180 - $187; + $189 = $188 < 0.0; + $storemerge = $189 ? 0.0 : $188; + HEAPF32[$9>>2] = $storemerge; + break L34; + } + } + } + break; + } + case 20: { + $190 = HEAP16[$1>>1]|0; + $191 = $190&65535; + $192 = ((($82)) + 4|0); + $193 = HEAP8[$192>>0]|0; + $194 = $193&255; + $195 = ($191|0)==($194|0); + if ($195) { + _jar_xm_key_off($22); + } + break; + } + case 25: { + $196 = HEAP16[$1>>1]|0; + $197 = ($196<<16>>16)==(0); + if (!($197)) { + $198 = (((($21) + (($23*304)|0)|0)) + 84|0); + $199 = HEAP8[$198>>0]|0; + _jar_xm_panning_slide($22,$199); + } + break; + } + case 27: { + $200 = HEAP16[$1>>1]|0; + $201 = $200&65535; + $202 = ($200<<16>>16)==(0); + if (!($202)) { + $203 = (((($21) + (($23*304)|0)|0)) + 96|0); + $204 = HEAP8[$203>>0]|0; + $205 = $204&255; + $206 = $205 & 15; + $207 = ($206|0)==(0); + if (!($207)) { + $208 = (($201>>>0) % ($206>>>0))&-1; + $209 = ($208|0)==(0); + if ($209) { + $210 = (((($21) + (($23*304)|0)|0)) + 40|0); + $211 = +HEAPF32[$210>>2]; + $212 = $205 >>> 4; + $213 = (3624 + ($212<<2)|0); + $214 = +HEAPF32[$213>>2]; + $215 = $211 * $214; + $216 = (3688 + ($212<<2)|0); + $217 = +HEAPF32[$216>>2]; + $218 = $215 + $217; + $219 = $218 > 1.0; + if ($219) { + $$0196 = 1.0; + } else { + $220 = $218 < 0.0; + if ($220) { + $$0196 = 0.0; + } else { + $$0196 = $218; + } + } + _jar_xm_trigger_note($0,$22,0); + HEAPF32[$210>>2] = $$0196; + } + } + } + break; + } + case 29: { + $221 = HEAP16[$1>>1]|0; + $222 = ($221<<16>>16)==(0); + if (!($222)) { + $223 = $221&65535; + $224 = (($223) + -1)|0; + $225 = (((($21) + (($23*304)|0)|0)) + 136|0); + $226 = HEAP8[$225>>0]|0; + $227 = $226&255; + $228 = $227 >>> 4; + $229 = $227 & 15; + $230 = (($229) + 2)|0; + $231 = (($230) + ($228))|0; + $232 = (($224|0) % ($231|0))&-1; + $233 = ($232|0)>($228|0); + $234 = $233&1; + $235 = (((($21) + (($23*304)|0)|0)) + 140|0); + HEAP32[$235>>2] = $234; + } + break; + } + default: { + } + } + } while(0); + $236 = (((($21) + (($23*304)|0)|0)) + 44|0); + $237 = +HEAPF32[$236>>2]; + $238 = (((($21) + (($23*304)|0)|0)) + 64|0); + $239 = +HEAPF32[$238>>2]; + $240 = $239 + -0.5; + $241 = $237 + -0.5; + $242 = (+Math_abs((+$241))); + $243 = 0.5 - $242; + $244 = $240 * $243; + $245 = $244 * 2.0; + $246 = $237 + $245; + $247 = (((($21) + (($23*304)|0)|0)) + 140|0); + $248 = HEAP32[$247>>2]|0; + $249 = ($248|0)==(0); + if ($249) { + $250 = (((($21) + (($23*304)|0)|0)) + 40|0); + $251 = +HEAPF32[$250>>2]; + $252 = (((($21) + (($23*304)|0)|0)) + 132|0); + $253 = +HEAPF32[$252>>2]; + $254 = $251 + $253; + $255 = $254 > 1.0; + if ($255) { + $$0 = 1.0; + } else { + $256 = $254 < 0.0; + if ($256) { + $$0 = 0.0; + } else { + $$0 = $254; + } + } + $257 = (((($21) + (($23*304)|0)|0)) + 56|0); + $258 = +HEAPF32[$257>>2]; + $259 = (((($21) + (($23*304)|0)|0)) + 60|0); + $260 = +HEAPF32[$259>>2]; + $261 = $258 * $260; + $262 = $$0 * $261; + $$1 = $262; + } else { + $$1 = 0.0; + } + $263 = (((($21) + (($23*304)|0)|0)) + 156|0); + HEAPF32[$263>>2] = $246; + $264 = (((($21) + (($23*304)|0)|0)) + 160|0); + HEAPF32[$264>>2] = $$1; + $265 = (($$0195202) + 1)<<24>>24; + $266 = $265&255; + $267 = HEAP16[$4>>1]|0; + $268 = $267&65535; + $269 = ($266>>>0)<($268>>>0); + if ($269) { + $$0195202 = $265;$23 = $266; + } else { + break L4; + } + } + } + } while(0); + $10 = HEAP16[$1>>1]|0; + $11 = (($10) + 1)<<16>>16; + HEAP16[$1>>1] = $11; + $12 = $11&65535; + $13 = ((($0)) + 328|0); + $14 = HEAP16[$13>>1]|0; + $15 = $14&65535; + $16 = ((($0)) + 378|0); + $17 = HEAP16[$16>>1]|0; + $18 = $17&65535; + $19 = (($18) + ($15))|0; + $20 = ($12>>>0)<($19>>>0); + if ($20) { + $270 = ((($0)) + 324|0); + $271 = HEAP32[$270>>2]|0; + $272 = (+($271>>>0)); + $273 = ((($0)) + 330|0); + $274 = HEAP16[$273>>1]|0; + $275 = (+($274&65535)); + $276 = $275 * 0.40000000596046448; + $277 = $272 / $276; + $278 = ((($0)) + 352|0); + $279 = +HEAPF32[$278>>2]; + $280 = $279 + $277; + HEAPF32[$278>>2] = $280; + return; + } + HEAP16[$1>>1] = 0; + HEAP16[$16>>1] = 0; + $270 = ((($0)) + 324|0); + $271 = HEAP32[$270>>2]|0; + $272 = (+($271>>>0)); + $273 = ((($0)) + 330|0); + $274 = HEAP16[$273>>1]|0; + $275 = (+($274&65535)); + $276 = $275 * 0.40000000596046448; + $277 = $272 / $276; + $278 = ((($0)) + 352|0); + $279 = +HEAPF32[$278>>2]; + $280 = $279 + $277; + HEAPF32[$278>>2] = $280; + return; +} +function _jar_xm_next_of_sample($0) { + $0 = $0|0; + var $$0100 = 0.0, $$0101 = 0.0, $$1 = 0.0, $$pr = 0.0, $$sink = 0.0, $$sink$p = 0.0, $$sink103 = 0, $$sink105 = 0, $$sink2 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0; + var $109 = 0, $11 = 0, $110 = 0.0, $111 = 0.0, $112 = 0, $113 = 0, $114 = 0, $115 = 0.0, $116 = 0, $117 = 0, $118 = 0.0, $119 = 0.0, $12 = 0, $120 = 0, $121 = 0.0, $122 = 0.0, $123 = 0.0, $124 = 0.0, $125 = 0, $126 = 0; + var $127 = 0, $128 = 0.0, $129 = 0.0, $13 = 0.0, $130 = 0, $131 = 0.0, $132 = 0.0, $133 = 0.0, $134 = 0.0, $135 = 0.0, $14 = 0.0, $15 = 0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $2 = 0, $20 = 0, $21 = 0, $22 = 0; + var $23 = 0, $24 = 0, $25 = 0.0, $26 = 0.0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0.0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0.0, $36 = 0, $37 = 0.0, $38 = 0.0, $39 = 0.0, $4 = 0, $40 = 0; + var $41 = 0, $42 = 0, $43 = 0.0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0.0, $53 = 0, $54 = 0.0, $55 = 0.0, $56 = 0.0, $57 = 0, $58 = 0, $59 = 0; + var $6 = 0, $60 = 0.0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0.0, $66 = 0, $67 = 0, $68 = 0, $69 = 0.0, $7 = 0, $70 = 0.0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0.0, $77 = 0.0; + var $78 = 0, $79 = 0, $8 = 0.0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0.0, $86 = 0.0, $87 = 0, $88 = 0, $89 = 0.0, $9 = 0, $90 = 0.0, $91 = 0.0, $92 = 0.0, $93 = 0, $94 = 0, $95 = 0.0; + var $96 = 0, $97 = 0, $98 = 0.0, $99 = 0.0, $storemerge106 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 8|0); + $2 = HEAP32[$1>>2]|0; + $3 = ($2|0)==(0|0); + if (!($3)) { + $4 = ((($0)) + 12|0); + $5 = HEAP32[$4>>2]|0; + $6 = ($5|0)==(0|0); + if (!($6)) { + $7 = ((($0)) + 20|0); + $8 = +HEAPF32[$7>>2]; + $9 = $8 < 0.0; + if (!($9)) { + $20 = ((($5)) + 24|0); + $21 = HEAP32[$20>>2]|0; + $22 = ($21|0)==(0); + if ($22) { + $$1 = 0.0; + return (+$$1); + } + $23 = (~~(($8))>>>0); + $24 = (($23) + 1)|0; + $25 = (+($23>>>0)); + $26 = $8 - $25; + $27 = ((($5)) + 72|0); + $28 = HEAP32[$27>>2]|0; + $29 = (($28) + ($23<<2)|0); + $30 = +HEAPF32[$29>>2]; + $31 = ((($5)) + 48|0); + $32 = HEAP32[$31>>2]|0; + L8: do { + switch ($32|0) { + case 0: { + $33 = ($24>>>0)<($21>>>0); + if ($33) { + $34 = (($28) + ($24<<2)|0); + $35 = +HEAPF32[$34>>2]; + $135 = $35; + } else { + $135 = 0.0; + } + $36 = ((($0)) + 32|0); + $37 = +HEAPF32[$36>>2]; + $38 = +HEAPF32[$7>>2]; + $39 = $37 + $38; + HEAPF32[$7>>2] = $39; + $40 = HEAP32[$4>>2]|0; + $41 = ((($40)) + 24|0); + $42 = HEAP32[$41>>2]|0; + $43 = (+($42>>>0)); + $44 = !($39 >= $43); + if ($44) { + $$0100 = $30;$$0101 = $135; + } else { + HEAPF32[$7>>2] = -1.0; + $$0100 = $30;$$0101 = $135; + } + break; + } + case 1: { + $45 = ((($5)) + 36|0); + $46 = HEAP32[$45>>2]|0; + $47 = ($24|0)==($46|0); + if ($47) { + $48 = ((($5)) + 28|0); + $49 = HEAP32[$48>>2]|0; + $51 = $49; + } else { + $51 = $24; + } + $50 = (($28) + ($51<<2)|0); + $52 = +HEAPF32[$50>>2]; + $53 = ((($0)) + 32|0); + $54 = +HEAPF32[$53>>2]; + $55 = +HEAPF32[$7>>2]; + $56 = $54 + $55; + HEAPF32[$7>>2] = $56; + $57 = HEAP32[$4>>2]|0; + $58 = ((($57)) + 36|0); + $59 = HEAP32[$58>>2]|0; + $60 = (+($59>>>0)); + $61 = !($56 >= $60); + if ($61) { + $$0100 = $30;$$0101 = $52; + } else { + $62 = HEAP32[$4>>2]|0; + $63 = ((($62)) + 36|0); + $64 = HEAP32[$63>>2]|0; + $65 = (+($64>>>0)); + $67 = $57;$storemerge106 = $56; + while(1) { + $66 = ((($67)) + 32|0); + $68 = HEAP32[$66>>2]|0; + $69 = (+($68>>>0)); + $70 = $storemerge106 - $69; + $71 = !($70 >= $65); + if ($71) { + break; + } else { + $67 = $62;$storemerge106 = $70; + } + } + HEAPF32[$7>>2] = $70; + $$0100 = $30;$$0101 = $52; + } + break; + } + case 2: { + $72 = ((($0)) + 36|0); + $73 = HEAP32[$72>>2]|0; + $74 = ($73|0)!=(0); + $75 = ((($0)) + 32|0); + $76 = +HEAPF32[$75>>2]; + $77 = -$76; + $$sink$p = $74 ? $76 : $77; + $$sink = $8 + $$sink$p; + HEAPF32[$7>>2] = $$sink; + if ($74) { + $78 = HEAP32[$4>>2]|0; + $79 = ((($78)) + 36|0); + $80 = HEAP32[$79>>2]|0; + $81 = ($24>>>0)>=($80>>>0); + $82 = ((($78)) + 72|0); + $83 = HEAP32[$82>>2]|0; + $$sink2 = $81 ? $23 : $24; + $84 = (($83) + ($$sink2<<2)|0); + $85 = +HEAPF32[$84>>2]; + $86 = (+($80>>>0)); + $87 = !($$sink >= $86); + if (!($87)) { + $88 = $80 << 1; + $89 = (+($88>>>0)); + HEAP32[$72>>2] = 0; + $90 = +HEAPF32[$7>>2]; + $91 = $89 - $90; + HEAPF32[$7>>2] = $91; + } + $92 = +HEAPF32[$7>>2]; + $93 = ((($78)) + 24|0); + $94 = HEAP32[$93>>2]|0; + $95 = (+($94>>>0)); + $96 = !($92 >= $95); + if ($96) { + $$0100 = $30;$$0101 = $85; + break L8; + } + $97 = (($94) + -1)|0; + $98 = (+($97>>>0)); + $99 = $92 - $98; + HEAP32[$72>>2] = 0; + HEAPF32[$7>>2] = $99; + $$0100 = $30;$$0101 = $85; + break L8; + } + $100 = ($23|0)==(0); + if ($100) { + label = 24; + } else { + $101 = (($23) + -1)|0; + $102 = HEAP32[$4>>2]|0; + $103 = ((($102)) + 28|0); + $104 = HEAP32[$103>>2]|0; + $105 = ($101>>>0)>($104>>>0); + if ($105) { + $$sink103 = $101;$$sink105 = $102; + } else { + label = 24; + } + } + if ((label|0) == 24) { + $106 = HEAP32[$4>>2]|0; + $$sink103 = $23;$$sink105 = $106; + } + $107 = ((($$sink105)) + 72|0); + $108 = HEAP32[$107>>2]|0; + $109 = (($108) + ($$sink103<<2)|0); + $110 = +HEAPF32[$109>>2]; + $111 = +HEAPF32[$7>>2]; + $112 = HEAP32[$4>>2]|0; + $113 = ((($112)) + 28|0); + $114 = HEAP32[$113>>2]|0; + $115 = (+($114>>>0)); + $116 = !($111 <= $115); + $117 = $114 << 1; + $118 = (+($117>>>0)); + $119 = $118 - $111; + if ($116) { + $$pr = +HEAPF32[$7>>2]; + $121 = $$pr; + } else { + HEAP32[$72>>2] = 1; + HEAPF32[$7>>2] = $119; + $121 = $119; + } + $120 = !($121 <= 0.0); + if ($120) { + $$0100 = $110;$$0101 = $30; + } else { + HEAP32[$72>>2] = 1; + HEAPF32[$7>>2] = 0.0; + $$0100 = $110;$$0101 = $30; + } + break; + } + default: { + $$0100 = $30;$$0101 = 0.0; + } + } + } while(0); + $122 = $$0101 - $$0100; + $123 = $26 * $122; + $124 = $$0100 + $123; + $125 = ((($0)) + 164|0); + $126 = HEAP32[$125>>2]|0; + $127 = ($126>>>0)<(32); + if (!($127)) { + $$1 = $124; + return (+$$1); + } + $128 = (+($126>>>0)); + $129 = $128 * 0.03125; + $130 = (((($0)) + 168|0) + ($126<<2)|0); + $131 = +HEAPF32[$130>>2]; + $132 = $124 - $131; + $133 = $129 * $132; + $134 = $131 + $133; + $$1 = $134; + return (+$$1); + } + } + } + $10 = ((($0)) + 164|0); + $11 = HEAP32[$10>>2]|0; + $12 = ($11>>>0)<(32); + if (!($12)) { + $$1 = 0.0; + return (+$$1); + } + $13 = (+($11>>>0)); + $14 = $13 * 0.03125; + $15 = (((($0)) + 168|0) + ($11<<2)|0); + $16 = +HEAPF32[$15>>2]; + $17 = 0.0 - $16; + $18 = $14 * $17; + $19 = $16 + $18; + $$1 = $19; + return (+$$1); +} +function _jar_xm_row($0) { + $0 = $0|0; + var $$0$ = 0, $$06061 = 0, $$062 = 0, $$1 = 0, $$mask = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0; + var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0; + var $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0; + var $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0; + var $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0; + var $96 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 368|0); + $2 = HEAP32[$1>>2]|0; + $3 = ($2|0)==(0); + if ($3) { + $11 = ((($0)) + 372|0); + $12 = HEAP32[$11>>2]|0; + $13 = ($12|0)==(0); + if (!($13)) { + $14 = ((($0)) + 348|0); + $15 = HEAP8[$14>>0]|0; + $16 = (($15) + 1)<<24>>24; + HEAP8[$14>>0] = $16; + $17 = ((($0)) + 377|0); + $18 = HEAP8[$17>>0]|0; + $19 = ((($0)) + 349|0); + HEAP8[$19>>0] = $18; + HEAP32[$11>>2] = 0; + HEAP8[$17>>0] = 0; + _jar_xm_post_pattern_change($0); + } + } else { + $4 = ((($0)) + 376|0); + $5 = HEAP8[$4>>0]|0; + $6 = ((($0)) + 348|0); + HEAP8[$6>>0] = $5; + $7 = ((($0)) + 377|0); + $8 = HEAP8[$7>>0]|0; + $9 = ((($0)) + 349|0); + HEAP8[$9>>0] = $8; + HEAP32[$1>>2] = 0; + $10 = ((($0)) + 372|0); + HEAP32[$10>>2] = 0; + HEAP8[$7>>0] = 0; + _jar_xm_post_pattern_change($0); + } + $20 = ((($0)) + 316|0); + $21 = HEAP32[$20>>2]|0; + $22 = ((($0)) + 348|0); + $23 = HEAP8[$22>>0]|0; + $24 = $23&255; + $25 = (((($0)) + 60|0) + ($24)|0); + $26 = HEAP8[$25>>0]|0; + $27 = $26&255; + $28 = ((($0)) + 50|0); + $29 = HEAP16[$28>>1]|0; + $30 = ($29<<16>>16)==(0); + if ($30) { + label = 15; + } else { + $31 = $29&65535; + $32 = (((($21) + ($27<<3)|0)) + 4|0); + $33 = ((($0)) + 349|0); + $34 = ((($0)) + 388|0); + $$06061 = 0;$$062 = 0;$40 = $31;$43 = 0; + while(1) { + $36 = HEAP32[$32>>2]|0; + $37 = HEAP8[$33>>0]|0; + $38 = $37&255; + $39 = Math_imul($38, $40)|0; + $41 = (($36) + (($39*5)|0)|0); + $42 = (($41) + (($43*5)|0)|0); + $44 = HEAP32[$34>>2]|0; + $45 = (($44) + (($43*304)|0)|0); + $46 = (((($44) + (($43*304)|0)|0)) + 16|0); + HEAP32[$46>>2] = $42; + $47 = ((($42)) + 3|0); + $48 = HEAP8[$47>>0]|0; + $49 = ($48<<24>>24)==(14); + if ($49) { + $50 = ((($42)) + 4|0); + $51 = HEAP8[$50>>0]|0; + $52 = $51&255; + $$mask = $52 & 240; + $53 = ($$mask|0)==(208); + if ($53) { + $54 = $52 & 15; + $55 = $54&255; + $56 = (((($44) + (($43*304)|0)|0)) + 97|0); + HEAP8[$56>>0] = $55; + } else { + label = 10; + } + } else { + label = 10; + } + if ((label|0) == 10) { + label = 0; + _jar_xm_handle_note_and_instrument($0,$45,$42); + } + $57 = ($$062|0)==(0); + if ($57) { + $58 = (((($44) + (($43*304)|0)|0)) + 99|0); + $59 = HEAP8[$58>>0]|0; + $60 = ($59<<24>>24)==(0); + $$0$ = $60 ? $$062 : 1; + $$1 = $$0$; + } else { + $$1 = $$062; + } + $61 = (($$06061) + 1)<<24>>24; + $62 = $61&255; + $63 = HEAP16[$28>>1]|0; + $64 = $63&65535; + $65 = ($62>>>0)<($64>>>0); + if ($65) { + $$06061 = $61;$$062 = $$1;$40 = $64;$43 = $62; + } else { + break; + } + } + $35 = ($$1|0)==(0); + if ($35) { + label = 15; + } + } + if ((label|0) == 15) { + $66 = ((($0)) + 380|0); + $67 = HEAP32[$66>>2]|0; + $68 = HEAP8[$22>>0]|0; + $69 = $68&255; + $70 = $69 << 8; + $71 = ((($0)) + 349|0); + $72 = HEAP8[$71>>0]|0; + $73 = $72&255; + $74 = $70 | $73; + $75 = (($67) + ($74)|0); + $76 = HEAP8[$75>>0]|0; + $77 = (($76) + 1)<<24>>24; + HEAP8[$75>>0] = $77; + $78 = ((($0)) + 384|0); + HEAP8[$78>>0] = $76; + } + $79 = ((($0)) + 349|0); + $80 = HEAP8[$79>>0]|0; + $81 = (($80) + 1)<<24>>24; + HEAP8[$79>>0] = $81; + $82 = HEAP32[$1>>2]|0; + $83 = ($82|0)==(0); + if (!($83)) { + return; + } + $84 = ((($0)) + 372|0); + $85 = HEAP32[$84>>2]|0; + $86 = ($85|0)==(0); + if (!($86)) { + return; + } + $87 = $81&255; + $88 = (($21) + ($27<<3)|0); + $89 = HEAP16[$88>>1]|0; + $90 = $89&65535; + $91 = ($87>>>0)>=($90>>>0); + $92 = ($81<<24>>24)==(0); + $or$cond = $92 | $91; + if (!($or$cond)) { + return; + } + $93 = HEAP8[$22>>0]|0; + $94 = (($93) + 1)<<24>>24; + HEAP8[$22>>0] = $94; + $95 = ((($0)) + 377|0); + $96 = HEAP8[$95>>0]|0; + HEAP8[$79>>0] = $96; + HEAP8[$95>>0] = 0; + _jar_xm_post_pattern_change($0); + return; +} +function _jar_xm_envelopes($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0.0, $13 = 0.0, $14 = 0, $15 = 0.0, $16 = 0.0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; + var $28 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 8|0); + $2 = HEAP32[$1>>2]|0; + $3 = ($2|0)==(0|0); + if ($3) { + return; + } + $4 = ((($2)) + 176|0); + $5 = HEAP32[$4>>2]|0; + $6 = ($5|0)==(0); + if (!($6)) { + $7 = ((($0)) + 52|0); + $8 = HEAP32[$7>>2]|0; + $9 = ($8|0)==(0); + if ($9) { + $10 = ((($2)) + 260|0); + $11 = HEAP16[$10>>1]|0; + $12 = (+($11&65535)); + $13 = $12 * 1.52587890625E-5; + $14 = ((($0)) + 56|0); + $15 = +HEAPF32[$14>>2]; + $16 = $15 - $13; + HEAPF32[$14>>2] = $16; + $17 = $16 < 0.0; + if ($17) { + HEAPF32[$14>>2] = 0.0; + } + } + $18 = HEAP32[$1>>2]|0; + $19 = ((($18)) + 124|0); + $20 = ((($0)) + 68|0); + $21 = ((($0)) + 60|0); + _jar_xm_envelope_tick($0,$19,$20,$21); + } + $22 = HEAP32[$1>>2]|0; + $23 = ((($22)) + 240|0); + $24 = HEAP32[$23>>2]|0; + $25 = ($24|0)==(0); + if ($25) { + return; + } + $26 = ((($22)) + 188|0); + $27 = ((($0)) + 70|0); + $28 = ((($0)) + 64|0); + _jar_xm_envelope_tick($0,$26,$27,$28); + return; +} +function _jar_xm_autovibrato($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$ = 0.0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; + var $28 = 0.0, $29 = 0.0, $3 = 0, $30 = 0, $31 = 0.0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($1)) + 8|0); + $3 = HEAP32[$2>>2]|0; + $4 = ($3|0)==(0|0); + if ($4) { + return; + } + $5 = ((($3)) + 257|0); + $6 = HEAP8[$5>>0]|0; + $7 = ($6<<24>>24)==(0); + if ($7) { + return; + } + $8 = ((($1)) + 48|0); + $9 = HEAP16[$8>>1]|0; + $10 = $9&65535; + $11 = ((($3)) + 256|0); + $12 = HEAP8[$11>>0]|0; + $13 = $12&255; + $14 = ($10>>>0)<($13>>>0); + $15 = (+($9&65535)); + $16 = (+($12&255)); + $17 = $15 / $16; + $18 = $17 + 0.0; + $$ = $14 ? $18 : 1.0; + $19 = (($9) + 1)<<16>>16; + HEAP16[$8>>1] = $19; + $20 = ((($3)) + 258|0); + $21 = HEAP8[$20>>0]|0; + $22 = $21&255; + $23 = Math_imul($22, $10)|0; + $24 = $23 >>> 2; + $25 = ((($3)) + 252|0); + $26 = HEAP32[$25>>2]|0; + $27 = $24&255; + $28 = (+_jar_xm_waveform($26,$27)); + $29 = $28 * 0.25; + $30 = HEAP8[$5>>0]|0; + $31 = (+($30&255)); + $32 = $29 * $31; + $33 = $32 / 15.0; + $34 = $$ * $33; + $35 = ((($1)) + 72|0); + HEAPF32[$35>>2] = $34; + _jar_xm_update_frequency($0,$1); + return; +} +function _jar_xm_update_frequency($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0, $18 = 0.0, $19 = 0.0, $2 = 0, $20 = 0, $3 = 0.0, $4 = 0, $5 = 0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0; + var sp = 0; + sp = STACKTOP; + $2 = ((($1)) + 24|0); + $3 = +HEAPF32[$2>>2]; + $4 = ((($1)) + 80|0); + $5 = HEAP8[$4>>0]|0; + $6 = ($5<<24>>24)==(0); + if ($6) { + $8 = ((($1)) + 116|0); + $9 = +HEAPF32[$8>>2]; + $10 = ((($1)) + 72|0); + $11 = +HEAPF32[$10>>2]; + $12 = $9 + $11; + $13 = $12; + } else { + $7 = (+($5&255)); + $13 = $7; + } + $14 = (+_jar_xm_frequency($0,$3,$13)); + $15 = ((($1)) + 28|0); + HEAPF32[$15>>2] = $14; + $16 = ((($0)) + 324|0); + $17 = HEAP32[$16>>2]|0; + $18 = (+($17>>>0)); + $19 = $14 / $18; + $20 = ((($1)) + 32|0); + HEAPF32[$20>>2] = $19; + return; +} +function _jar_xm_volume_slide($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$not = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = $1&255; + $3 = $2 & 240; + $4 = ($3|0)!=(0); + $$not = $4 ^ 1; + $5 = $2 & 15; + $6 = ($5|0)==(0); + $or$cond = $6 | $$not; + if (!($or$cond)) { + return; + } + $7 = ((($0)) + 40|0); + $8 = +HEAPF32[$7>>2]; + if ($4) { + $9 = $2 >>> 4; + $10 = (+($9|0)); + $11 = $10 * 0.015625; + $12 = $11 + $8; + HEAPF32[$7>>2] = $12; + $13 = $12 > 1.0; + if (!($13)) { + return; + } + HEAPF32[$7>>2] = 1.0; + return; + } else { + $14 = (+($5|0)); + $15 = $14 * 0.015625; + $16 = $8 - $15; + HEAPF32[$7>>2] = $16; + $17 = $16 < 0.0; + if (!($17)) { + return; + } + HEAPF32[$7>>2] = 0.0; + return; + } +} +function _jar_xm_vibrato($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $10 = 0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $4 = $3&65535; + $5 = $2&255; + $6 = $5 >>> 4; + $7 = Math_imul($4, $6)|0; + $8 = ((($1)) + 104|0); + $9 = HEAP32[$8>>2]|0; + $10 = $7&255; + $11 = (+_jar_xm_waveform($9,$10)); + $12 = $11 * 2.0; + $13 = $5 & 15; + $14 = (+($13|0)); + $15 = $14 * $12; + $16 = $15 / 15.0; + $17 = ((($1)) + 116|0); + HEAPF32[$17>>2] = $16; + _jar_xm_update_frequency($0,$1); + return; +} +function _jar_xm_panning_slide($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$not = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = $1&255; + $3 = $2 & 240; + $4 = ($3|0)!=(0); + $$not = $4 ^ 1; + $5 = $2 & 15; + $6 = ($5|0)==(0); + $or$cond = $6 | $$not; + if (!($or$cond)) { + return; + } + $7 = ((($0)) + 44|0); + $8 = +HEAPF32[$7>>2]; + if ($4) { + $9 = $2 >>> 4; + $10 = (+($9|0)); + $11 = $10 / 255.0; + $12 = $11 + $8; + HEAPF32[$7>>2] = $12; + $13 = $12 > 1.0; + if (!($13)) { + return; + } + HEAPF32[$7>>2] = 1.0; + return; + } else { + $14 = (+($5|0)); + $15 = $14 / 255.0; + $16 = $8 - $15; + HEAPF32[$7>>2] = $16; + $17 = $16 < 0.0; + if (!($17)) { + return; + } + HEAPF32[$7>>2] = 0.0; + return; + } +} +function _jar_xm_tone_portamento($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0.0, $24 = 0, $25 = 0, $26 = 0.0, $27 = 0.0, $28 = 0.0; + var $29 = 0, $3 = 0.0, $4 = 0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($1)) + 92|0); + $3 = +HEAPF32[$2>>2]; + $4 = $3 == 0.0; + if ($4) { + return; + } + $5 = ((($1)) + 24|0); + $6 = +HEAPF32[$5>>2]; + $7 = $6 != $3; + if (!($7)) { + return; + } + $8 = $6 > $3; + if ($8) { + $9 = ((($0)) + 56|0); + $10 = HEAP32[$9>>2]|0; + $11 = ($10|0)==(0); + $12 = $11 ? 4.0 : 1.0; + $13 = ((($1)) + 91|0); + $14 = HEAP8[$13>>0]|0; + $15 = (+($14&255)); + $16 = $12 * $15; + $17 = $6 - $16; + HEAPF32[$5>>2] = $17; + $18 = $17 < $3; + if ($18) { + HEAPF32[$5>>2] = $3; + } + } else { + $19 = $6 < $3; + if ($19) { + $20 = ((($0)) + 56|0); + $21 = HEAP32[$20>>2]|0; + $22 = ($21|0)==(0); + $23 = $22 ? 4.0 : 1.0; + $24 = ((($1)) + 91|0); + $25 = HEAP8[$24>>0]|0; + $26 = (+($25&255)); + $27 = $23 * $26; + $28 = $6 + $27; + HEAPF32[$5>>2] = $28; + $29 = $28 > $3; + if ($29) { + HEAPF32[$5>>2] = $3; + } + } + } + _jar_xm_update_frequency($0,$1); + return; +} +function _jar_xm_arpeggio($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$sink = 0, $10 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $trunc = 0, $trunc$clear = 0, label = 0, sp = 0; + sp = STACKTOP; + $4 = (($3&65535) % 3)&-1; + $trunc = $4&255; + $trunc$clear = $trunc & 3; + switch ($trunc$clear<<24>>24) { + case 0: { + $5 = ((($1)) + 76|0); + HEAP32[$5>>2] = 0; + $$sink = 0; + break; + } + case 2: { + $6 = ((($1)) + 76|0); + HEAP32[$6>>2] = 1; + $7 = ($2&255) >>> 4; + $$sink = $7; + break; + } + case 1: { + $8 = ((($1)) + 76|0); + HEAP32[$8>>2] = 1; + $9 = $2 & 15; + $$sink = $9; + break; + } + default: { + _jar_xm_update_frequency($0,$1); + return; + } + } + $10 = ((($1)) + 80|0); + HEAP8[$10>>0] = $$sink; + _jar_xm_update_frequency($0,$1); + return; +} +function _jar_xm_pitch_slide($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = +$2; + var $$ = 0.0, $10 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, $storemerge = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ((($0)) + 56|0); + $4 = HEAP32[$3>>2]|0; + $5 = ($4|0)==(0); + $6 = $2 * 4.0; + $$ = $5 ? $6 : $2; + $7 = ((($1)) + 24|0); + $8 = +HEAPF32[$7>>2]; + $9 = $8 + $$; + $10 = $9 < 0.0; + $storemerge = $10 ? 0.0 : $9; + HEAPF32[$7>>2] = $storemerge; + _jar_xm_update_frequency($0,$1); + return; +} +function _jar_xm_tremolo($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = $2&65535; + $4 = $1&255; + $5 = $4 >>> 4; + $6 = Math_imul($3, $5)|0; + $7 = ((($0)) + 120|0); + $8 = HEAP32[$7>>2]|0; + $9 = $6&255; + $10 = (+_jar_xm_waveform($8,$9)); + $11 = $4 & 15; + $12 = (+($11|0)); + $13 = $12 * $10; + $14 = -$13; + $15 = $14 / 15.0; + $16 = ((($0)) + 132|0); + HEAPF32[$16>>2] = $15; + return; +} +function _jar_xm_trigger_note($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0.0, $39 = 0.0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0; + var $66 = 0, $67 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = $2 & 4; + $4 = ($3|0)==(0); + if ($4) { + $5 = ((($1)) + 20|0); + HEAPF32[$5>>2] = 0.0; + $6 = ((($1)) + 36|0); + HEAP32[$6>>2] = 1; + } + $7 = ((($1)) + 12|0); + $8 = HEAP32[$7>>2]|0; + $9 = ($8|0)==(0|0); + if (!($9)) { + $10 = $2 & 1; + $11 = ($10|0)==(0); + if ($11) { + $12 = ((($8)) + 40|0); + $13 = HEAP32[$12>>2]|0; + $14 = ((($1)) + 40|0); + HEAP32[$14>>2] = $13; + } + $15 = ((($8)) + 52|0); + $16 = HEAP32[$15>>2]|0; + $17 = ((($1)) + 44|0); + HEAP32[$17>>2] = $16; + } + $18 = ((($1)) + 52|0); + HEAP32[$18>>2] = 1; + $19 = ((($1)) + 60|0); + HEAPF32[$19>>2] = 1.0; + $20 = ((($1)) + 56|0); + HEAPF32[$20>>2] = 1.0; + $21 = ((($1)) + 64|0); + HEAPF32[$21>>2] = 0.5; + $22 = ((($1)) + 70|0); + HEAP16[$22>>1] = 0; + $23 = ((($1)) + 68|0); + HEAP16[$23>>1] = 0; + $24 = ((($1)) + 116|0); + HEAPF32[$24>>2] = 0.0; + $25 = ((($1)) + 132|0); + HEAPF32[$25>>2] = 0.0; + $26 = ((($1)) + 140|0); + HEAP32[$26>>2] = 0; + $27 = ((($1)) + 48|0); + HEAP16[$27>>1] = 0; + $28 = ((($1)) + 108|0); + $29 = HEAP32[$28>>2]|0; + $30 = ($29|0)==(0); + if (!($30)) { + $31 = ((($1)) + 114|0); + HEAP16[$31>>1] = 0; + } + $32 = ((($1)) + 124|0); + $33 = HEAP32[$32>>2]|0; + $34 = ($33|0)==(0); + if (!($34)) { + $35 = ((($1)) + 129|0); + HEAP8[$35>>0] = 0; + } + $36 = $2 & 2; + $37 = ($36|0)==(0); + if ($37) { + $38 = +HEAPF32[$1>>2]; + $39 = (+_jar_xm_period($0,$38)); + $40 = ((($1)) + 24|0); + HEAPF32[$40>>2] = $39; + _jar_xm_update_frequency($0,$1); + } + $41 = ((($0)) + 360|0); + $42 = $41; + $43 = $42; + $44 = HEAP32[$43>>2]|0; + $45 = (($42) + 4)|0; + $46 = $45; + $47 = HEAP32[$46>>2]|0; + $48 = ((($1)) + 144|0); + $49 = $48; + $50 = $49; + HEAP32[$50>>2] = $44; + $51 = (($49) + 4)|0; + $52 = $51; + HEAP32[$52>>2] = $47; + $53 = ((($1)) + 8|0); + $54 = HEAP32[$53>>2]|0; + $55 = ($54|0)==(0|0); + if (!($55)) { + $56 = ((($54)) + 264|0); + $57 = $56; + $58 = $57; + HEAP32[$58>>2] = $44; + $59 = (($57) + 4)|0; + $60 = $59; + HEAP32[$60>>2] = $47; + } + $61 = HEAP32[$7>>2]|0; + $62 = ($61|0)==(0|0); + if ($62) { + return; + } + $63 = ((($61)) + 64|0); + $64 = $63; + $65 = $64; + HEAP32[$65>>2] = $44; + $66 = (($64) + 4)|0; + $67 = $66; + HEAP32[$67>>2] = $47; + return; +} +function _jar_xm_cut_note($0) { + $0 = $0|0; + var $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 40|0); + HEAPF32[$1>>2] = 0.0; + return; +} +function _jar_xm_handle_note_and_instrument($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$0275 = 0, $$lobit = 0, $$lobit262 = 0, $$mask = 0, $$mask265 = 0, $$mask266 = 0, $$off = 0, $$off273 = 0, $$off274 = 0, $$old1 = 0, $$sink = 0, $10 = 0, $100 = 0.0, $101 = 0.0, $102 = 0.0, $103 = 0, $104 = 0, $105 = 0, $106 = 0.0, $107 = 0; + var $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0.0, $116 = 0.0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0; + var $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0.0, $133 = 0.0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0; + var $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0; + var $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0; + var $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0; + var $199 = 0, $20 = 0, $200 = 0, $201 = 0.0, $202 = 0.0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0; + var $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0.0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0; + var $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0.0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0; + var $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0.0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0.0, $27 = 0, $270 = 0; + var $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0.0, $288 = 0, $289 = 0; + var $29 = 0, $290 = 0, $291 = 0.0, $292 = 0.0, $293 = 0.0, $294 = 0.0, $295 = 0.0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0; + var $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0; + var $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0; + var $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0; + var $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0.0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0; + var $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0; + var $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0.0, $411 = 0.0, $412 = 0, $413 = 0, $414 = 0; + var $415 = 0, $416 = 0, $417 = 0, $418 = 0.0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0; + var $57 = 0.0, $58 = 0, $59 = 0, $6 = 0, $60 = 0.0, $61 = 0.0, $62 = 0.0, $63 = 0.0, $64 = 0.0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0; + var $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0; + var $93 = 0, $94 = 0, $95 = 0, $96 = 0.0, $97 = 0, $98 = 0, $99 = 0.0, $exitcond = 0, $or$cond = 0, $phitmp = 0.0, $phitmp260 = 0.0, $phitmp263 = 0.0, $phitmp264 = 0.0, $trunc = 0, $trunc$clear = 0, $trunc259 = 0, $trunc259$clear = 0, $trunc261 = 0, $trunc261$clear = 0, label = 0; + var sp = 0; + sp = STACKTOP; + $3 = ((($2)) + 1|0); + $4 = HEAP8[$3>>0]|0; + $5 = ($4<<24>>24)==(0); + do { + if (!($5)) { + $6 = ((($1)) + 16|0); + $7 = HEAP32[$6>>2]|0; + $8 = ((($7)) + 3|0); + $9 = HEAP8[$8>>0]|0; + switch ($9<<24>>24) { + case 5: case 3: { + label = 4; + break; + } + default: { + $10 = ((($7)) + 2|0); + $11 = HEAP8[$10>>0]|0; + $12 = ($11&255)>(239); + if ($12) { + label = 4; + } + } + } + if ((label|0) == 4) { + $13 = ((($1)) + 8|0); + $14 = HEAP32[$13>>2]|0; + $15 = ($14|0)==(0|0); + if (!($15)) { + $16 = ((($1)) + 12|0); + $17 = HEAP32[$16>>2]|0; + $18 = ($17|0)==(0|0); + if (!($18)) { + _jar_xm_trigger_note($0,$1,6); + break; + } + } + } + $19 = HEAP8[$3>>0]|0; + $20 = $19&255; + $21 = ((($0)) + 54|0); + $22 = HEAP16[$21>>1]|0; + $23 = $22&65535; + $24 = ($20>>>0)>($23>>>0); + if ($24) { + _jar_xm_cut_note($1); + $25 = ((($1)) + 8|0); + HEAP32[$25>>2] = 0; + $26 = ((($1)) + 12|0); + HEAP32[$26>>2] = 0; + break; + } + $27 = ((($0)) + 320|0); + $28 = HEAP32[$27>>2]|0; + $29 = (($20) + -1)|0; + $30 = (($28) + (($29*280)|0)|0); + $31 = ((($1)) + 8|0); + HEAP32[$31>>2] = $30; + $32 = HEAP8[$2>>0]|0; + $33 = ($32<<24>>24)==(0); + if ($33) { + $34 = ((($1)) + 12|0); + $35 = HEAP32[$34>>2]|0; + $36 = ($35|0)==(0|0); + if (!($36)) { + _jar_xm_trigger_note($0,$1,4); + } + } + } + } while(0); + $37 = HEAP8[$2>>0]|0; + $$off = (($37) + -1)<<24>>24; + $38 = ($$off&255)<(96); + do { + if ($38) { + $39 = ((($1)) + 8|0); + $40 = HEAP32[$39>>2]|0; + $41 = ((($1)) + 16|0); + $42 = HEAP32[$41>>2]|0; + $43 = ((($42)) + 3|0); + $44 = HEAP8[$43>>0]|0; + $$old1 = ($40|0)!=(0|0); + switch ($44<<24>>24) { + case 5: case 3: { + if ($$old1) { + label = 16; + } + break; + } + default: { + $45 = ((($42)) + 2|0); + $46 = HEAP8[$45>>0]|0; + $47 = ($46&255)>(239); + $or$cond = $$old1 & $47; + if ($or$cond) { + label = 16; + } else { + $66 = ($40|0)==(0|0); + if (!($66)) { + label = 19; + } + } + } + } + if ((label|0) == 16) { + $48 = ((($1)) + 12|0); + $49 = HEAP32[$48>>2]|0; + $50 = ($49|0)==(0|0); + if ($50) { + label = 19; + } else { + $51 = HEAP8[$2>>0]|0; + $52 = $51&255; + $53 = ((($49)) + 56|0); + $54 = HEAP8[$53>>0]|0; + $55 = $54 << 24 >> 24; + $56 = (($55) + ($52))|0; + $57 = (+($56|0)); + $58 = ((($49)) + 44|0); + $59 = HEAP8[$58>>0]|0; + $60 = (+($59<<24>>24)); + $61 = $60 * 0.0078125; + $62 = $57 + $61; + $63 = $62 + -1.0; + HEAPF32[$1>>2] = $63; + $64 = (+_jar_xm_period($0,$63)); + $65 = ((($1)) + 92|0); + HEAPF32[$65>>2] = $64; + break; + } + } + if ((label|0) == 19) { + $67 = HEAP32[$39>>2]|0; + $68 = ((($67)) + 24|0); + $69 = HEAP16[$68>>1]|0; + $70 = ($69<<16>>16)==(0); + if (!($70)) { + $71 = HEAP8[$2>>0]|0; + $72 = $71&255; + $73 = (($72) + -1)|0; + $74 = (((($40)) + 26|0) + ($73)|0); + $75 = HEAP8[$74>>0]|0; + $76 = $75&255; + $77 = ((($40)) + 24|0); + $78 = HEAP16[$77>>1]|0; + $79 = $78&65535; + $80 = ($76>>>0)<($79>>>0); + if ($80) { + $$0275 = 0; + } else { + _jar_xm_cut_note($1); + break; + } + while(1) { + $106 = (+_jar_xm_next_of_sample($1)); + $107 = (((($1)) + 168|0) + ($$0275<<2)|0); + HEAPF32[$107>>2] = $106; + $108 = (($$0275) + 1)|0; + $exitcond = ($108|0)==(32); + if ($exitcond) { + break; + } else { + $$0275 = $108; + } + } + $81 = ((($1)) + 164|0); + HEAP32[$81>>2] = 0; + $82 = ((($40)) + 276|0); + $83 = HEAP32[$82>>2]|0; + $84 = HEAP8[$2>>0]|0; + $85 = $84&255; + $86 = (($85) + -1)|0; + $87 = (((($40)) + 26|0) + ($86)|0); + $88 = HEAP8[$87>>0]|0; + $89 = $88&255; + $90 = (($83) + (($89*80)|0)|0); + $91 = ((($1)) + 12|0); + HEAP32[$91>>2] = $90; + $92 = (((($83) + (($89*80)|0)|0)) + 56|0); + $93 = HEAP8[$92>>0]|0; + $94 = $93 << 24 >> 24; + $95 = (($94) + ($85))|0; + $96 = (+($95|0)); + $97 = (((($83) + (($89*80)|0)|0)) + 44|0); + $98 = HEAP8[$97>>0]|0; + $99 = (+($98<<24>>24)); + $100 = $99 * 0.0078125; + $101 = $96 + $100; + $102 = $101 + -1.0; + HEAPF32[$1>>2] = $102; + $103 = ((($1)) + 4|0); + HEAPF32[$103>>2] = $102; + $104 = HEAP8[$3>>0]|0; + $105 = ($104<<24>>24)==(0); + if ($105) { + _jar_xm_trigger_note($0,$1,1); + break; + } else { + _jar_xm_trigger_note($0,$1,0); + break; + } + } + } + _jar_xm_cut_note($1); + } else { + $109 = ($37<<24>>24)==(97); + if ($109) { + _jar_xm_key_off($1); + } + } + } while(0); + $110 = ((($2)) + 2|0); + $111 = HEAP8[$110>>0]|0; + $112 = $111&255; + $trunc = ($111&255) >>> 4; + $trunc$clear = $trunc & 15; + switch ($trunc$clear<<24>>24) { + case 5: { + $113 = ($111&255)>(80); + if (!($113)) { + label = 31; + } + break; + } + case 4: case 3: case 2: case 1: { + label = 31; + break; + } + case 8: { + $118 = $112 & 15; + $119 = $118&255; + _jar_xm_volume_slide($1,$119); + break; + } + case 9: { + $120 = $112 << 4; + $121 = $120&255; + _jar_xm_volume_slide($1,$121); + break; + } + case 10: { + $122 = ((($1)) + 112|0); + $123 = HEAP8[$122>>0]|0; + $124 = $123 & 15; + $125 = $124&255; + $126 = $112 << 4; + $127 = $125 | $126; + $128 = $127&255; + HEAP8[$122>>0] = $128; + break; + } + case 12: { + $129 = $112 & 15; + $130 = $129 << 4; + $131 = $130 | $129; + $132 = (+($131|0)); + $133 = $132 / 255.0; + $134 = ((($1)) + 44|0); + HEAPF32[$134>>2] = $133; + break; + } + case 15: { + $135 = $112 & 15; + $136 = ($135|0)==(0); + if (!($136)) { + $137 = ((($1)) + 91|0); + $138 = $112 << 4; + $139 = $138 | $135; + $140 = $139&255; + HEAP8[$137>>0] = $140; + } + break; + } + default: { + } + } + if ((label|0) == 31) { + $114 = (($112) + -16)|0; + $115 = (+($114|0)); + $116 = $115 * 0.015625; + $117 = ((($1)) + 40|0); + HEAPF32[$117>>2] = $116; + } + $141 = ((($2)) + 3|0); + $142 = HEAP8[$141>>0]|0; + do { + switch ($142<<24>>24) { + case 1: { + $143 = ((($2)) + 4|0); + $144 = HEAP8[$143>>0]|0; + $145 = ($144<<24>>24)==(0); + if ($145) { + return; + } + $146 = ((($1)) + 85|0); + HEAP8[$146>>0] = $144; + return; + break; + } + case 2: { + $147 = ((($2)) + 4|0); + $148 = HEAP8[$147>>0]|0; + $149 = ($148<<24>>24)==(0); + if ($149) { + return; + } + $150 = ((($1)) + 86|0); + HEAP8[$150>>0] = $148; + return; + break; + } + case 3: { + $151 = ((($2)) + 4|0); + $152 = HEAP8[$151>>0]|0; + $153 = ($152<<24>>24)==(0); + if ($153) { + return; + } + $154 = ((($1)) + 91|0); + HEAP8[$154>>0] = $152; + return; + break; + } + case 4: { + $155 = ((($2)) + 4|0); + $156 = HEAP8[$155>>0]|0; + $157 = $156&255; + $158 = $157 & 15; + $159 = ($158|0)==(0); + if (!($159)) { + $160 = ((($1)) + 112|0); + $161 = HEAP8[$160>>0]|0; + $162 = $161 & -16; + $163 = $162&255; + $164 = $163 | $158; + $165 = $164&255; + HEAP8[$160>>0] = $165; + } + $$mask266 = $157 & 240; + $166 = ($$mask266|0)==(0); + if ($166) { + return; + } + $167 = ((($1)) + 112|0); + $168 = HEAP8[$167>>0]|0; + $169 = $168 & 15; + $170 = $169&255; + $171 = $170 | $$mask266; + $172 = $171&255; + HEAP8[$167>>0] = $172; + return; + break; + } + case 5: { + $173 = ((($2)) + 4|0); + $174 = HEAP8[$173>>0]|0; + $175 = ($174<<24>>24)==(0); + if ($175) { + return; + } + $176 = ((($1)) + 81|0); + HEAP8[$176>>0] = $174; + return; + break; + } + case 6: { + $177 = ((($2)) + 4|0); + $178 = HEAP8[$177>>0]|0; + $179 = ($178<<24>>24)==(0); + if ($179) { + return; + } + $180 = ((($1)) + 81|0); + HEAP8[$180>>0] = $178; + return; + break; + } + case 7: { + $181 = ((($2)) + 4|0); + $182 = HEAP8[$181>>0]|0; + $183 = $182&255; + $184 = $183 & 15; + $185 = ($184|0)==(0); + if (!($185)) { + $186 = ((($1)) + 128|0); + $187 = HEAP8[$186>>0]|0; + $188 = $187 & -16; + $189 = $188&255; + $190 = $189 | $184; + $191 = $190&255; + HEAP8[$186>>0] = $191; + } + $$mask265 = $183 & 240; + $192 = ($$mask265|0)==(0); + if ($192) { + return; + } + $193 = ((($1)) + 128|0); + $194 = HEAP8[$193>>0]|0; + $195 = $194 & 15; + $196 = $195&255; + $197 = $196 | $$mask265; + $198 = $197&255; + HEAP8[$193>>0] = $198; + return; + break; + } + case 8: { + $199 = ((($2)) + 4|0); + $200 = HEAP8[$199>>0]|0; + $201 = (+($200&255)); + $202 = $201 / 255.0; + $203 = ((($1)) + 44|0); + HEAPF32[$203>>2] = $202; + return; + break; + } + case 9: { + $204 = ((($1)) + 12|0); + $205 = HEAP32[$204>>2]|0; + $206 = ($205|0)==(0|0); + if ($206) { + return; + } + $207 = HEAP8[$2>>0]|0; + $$off274 = (($207) + -1)<<24>>24; + $208 = ($$off274&255)<(96); + if (!($208)) { + return; + } + $209 = ((($2)) + 4|0); + $210 = HEAP8[$209>>0]|0; + $211 = $210&255; + $212 = ((($205)) + 23|0); + $213 = HEAP8[$212>>0]|0; + $214 = ($213<<24>>24)==(16); + $215 = $214 ? 7 : 8; + $216 = $211 << $215; + $217 = ((($205)) + 24|0); + $218 = HEAP32[$217>>2]|0; + $219 = ($216>>>0)<($218>>>0); + if ($219) { + $221 = (+($216>>>0)); + $222 = ((($1)) + 20|0); + HEAPF32[$222>>2] = $221; + return; + } else { + $220 = ((($1)) + 20|0); + HEAPF32[$220>>2] = -1.0; + return; + } + break; + } + case 10: { + $223 = ((($2)) + 4|0); + $224 = HEAP8[$223>>0]|0; + $225 = ($224<<24>>24)==(0); + if ($225) { + return; + } + $226 = ((($1)) + 81|0); + HEAP8[$226>>0] = $224; + return; + break; + } + case 11: { + $227 = ((($2)) + 4|0); + $228 = HEAP8[$227>>0]|0; + $229 = $228&255; + $230 = ((($0)) + 46|0); + $231 = HEAP16[$230>>1]|0; + $232 = $231&65535; + $233 = ($229>>>0)<($232>>>0); + if (!($233)) { + return; + } + $234 = ((($0)) + 368|0); + HEAP32[$234>>2] = 1; + $235 = ((($0)) + 376|0); + HEAP8[$235>>0] = $228; + return; + break; + } + case 12: { + $236 = ((($2)) + 4|0); + $237 = HEAP8[$236>>0]|0; + $238 = ($237&255)>(64); + $phitmp263 = (+($237&255)); + $phitmp264 = $phitmp263 * 0.015625; + $239 = $238 ? 1.0 : $phitmp264; + $240 = ((($1)) + 40|0); + HEAPF32[$240>>2] = $239; + return; + break; + } + case 13: { + $241 = ((($0)) + 372|0); + HEAP32[$241>>2] = 1; + $242 = ((($2)) + 4|0); + $243 = HEAP8[$242>>0]|0; + $244 = $243&255; + $245 = $244 >>> 4; + $246 = ($245*10)|0; + $247 = $244 & 15; + $248 = (($246) + ($247))|0; + $249 = $248&255; + $250 = ((($0)) + 377|0); + HEAP8[$250>>0] = $249; + return; + break; + } + case 14: { + $251 = ((($2)) + 4|0); + $252 = HEAP8[$251>>0]|0; + $253 = $252&255; + $trunc261 = ($252&255) >>> 4; + $trunc261$clear = $trunc261 & 15; + do { + switch ($trunc261$clear<<24>>24) { + case 1: { + $254 = $253 & 15; + $255 = ($254|0)==(0); + if (!($255)) { + $256 = $254&255; + $257 = ((($1)) + 87|0); + HEAP8[$257>>0] = $256; + } + $258 = ((($1)) + 87|0); + $259 = HEAP8[$258>>0]|0; + $260 = $259&255; + $261 = (0 - ($260))|0; + $262 = (+($261|0)); + _jar_xm_pitch_slide($0,$1,$262); + return; + break; + } + case 2: { + $263 = $253 & 15; + $264 = ($263|0)==(0); + if (!($264)) { + $265 = $263&255; + $266 = ((($1)) + 88|0); + HEAP8[$266>>0] = $265; + } + $267 = ((($1)) + 88|0); + $268 = HEAP8[$267>>0]|0; + $269 = (+($268&255)); + _jar_xm_pitch_slide($0,$1,$269); + return; + break; + } + case 4: { + $270 = $253 & 3; + $271 = ((($1)) + 104|0); + HEAP32[$271>>2] = $270; + $272 = $253 >>> 2; + $$lobit262 = $272 & 1; + $273 = $$lobit262 ^ 1; + $274 = ((($1)) + 108|0); + HEAP32[$274>>2] = $273; + return; + break; + } + case 5: { + $275 = ((($1)) + 16|0); + $276 = HEAP32[$275>>2]|0; + $277 = HEAP8[$276>>0]|0; + $278 = $277&255; + $$off273 = (($277) + -1)<<24>>24; + $279 = ($$off273&255)<(96); + if (!($279)) { + return; + } + $280 = ((($1)) + 12|0); + $281 = HEAP32[$280>>2]|0; + $282 = ($281|0)==(0|0); + if ($282) { + return; + } + $283 = ((($281)) + 56|0); + $284 = HEAP8[$283>>0]|0; + $285 = $284 << 24 >> 24; + $286 = (($285) + ($278))|0; + $287 = (+($286|0)); + $288 = $253 << 4; + $289 = $288 & 240; + $290 = (($289) + -128)|0; + $291 = (+($290|0)); + $292 = $291 * 0.0078125; + $293 = $292 + $287; + $294 = $293 + -1.0; + HEAPF32[$1>>2] = $294; + $295 = (+_jar_xm_period($0,$294)); + $296 = ((($1)) + 24|0); + HEAPF32[$296>>2] = $295; + _jar_xm_update_frequency($0,$1); + return; + break; + } + case 6: { + $297 = $253 & 15; + $298 = ($297|0)==(0); + if ($298) { + $311 = ((($0)) + 349|0); + $312 = HEAP8[$311>>0]|0; + $313 = ((($1)) + 98|0); + HEAP8[$313>>0] = $312; + $314 = ((($0)) + 377|0); + HEAP8[$314>>0] = $312; + return; + } + $299 = ((($1)) + 99|0); + $300 = HEAP8[$299>>0]|0; + $301 = $300&255; + $302 = ($297|0)==($301|0); + if ($302) { + HEAP8[$299>>0] = 0; + return; + } else { + $303 = (($300) + 1)<<24>>24; + HEAP8[$299>>0] = $303; + $304 = ((($0)) + 368|0); + HEAP32[$304>>2] = 1; + $305 = ((($1)) + 98|0); + $306 = HEAP8[$305>>0]|0; + $307 = ((($0)) + 377|0); + HEAP8[$307>>0] = $306; + $308 = ((($0)) + 348|0); + $309 = HEAP8[$308>>0]|0; + $310 = ((($0)) + 376|0); + HEAP8[$310>>0] = $309; + return; + } + break; + } + case 7: { + $315 = $253 & 3; + $316 = ((($1)) + 120|0); + HEAP32[$316>>2] = $315; + $317 = $253 >>> 2; + $$lobit = $317 & 1; + $318 = $$lobit ^ 1; + $319 = ((($1)) + 124|0); + HEAP32[$319>>2] = $318; + return; + break; + } + case 10: { + $320 = $253 & 15; + $321 = ($320|0)==(0); + if (!($321)) { + $322 = $320&255; + $323 = ((($1)) + 82|0); + HEAP8[$323>>0] = $322; + } + $324 = ((($1)) + 82|0); + $325 = HEAP8[$324>>0]|0; + $326 = $325&255; + $327 = $326 << 4; + $328 = $327&255; + _jar_xm_volume_slide($1,$328); + return; + break; + } + case 11: { + $329 = $253 & 15; + $330 = ($329|0)==(0); + if (!($330)) { + $331 = $329&255; + $332 = ((($1)) + 82|0); + HEAP8[$332>>0] = $331; + } + $333 = ((($1)) + 82|0); + $334 = HEAP8[$333>>0]|0; + _jar_xm_volume_slide($1,$334); + return; + break; + } + case 13: { + $335 = HEAP8[$2>>0]|0; + $336 = ($335<<24>>24)==(0); + if (!($336)) { + return; + } + $337 = HEAP8[$3>>0]|0; + $338 = ($337<<24>>24)==(0); + if (!($338)) { + return; + } + $339 = ((($1)) + 16|0); + $340 = HEAP32[$339>>2]|0; + $341 = ((($340)) + 4|0); + $342 = HEAP8[$341>>0]|0; + $343 = $342 & 15; + $344 = ($343<<24>>24)==(0); + if ($344) { + _jar_xm_trigger_note($0,$1,7); + return; + } else { + $345 = ((($1)) + 4|0); + $346 = HEAP32[$345>>2]|0; + HEAP32[$1>>2] = $346; + _jar_xm_trigger_note($0,$1,1); + return; + } + break; + } + case 14: { + $347 = ((($1)) + 16|0); + $348 = HEAP32[$347>>2]|0; + $349 = ((($348)) + 4|0); + $350 = HEAP8[$349>>0]|0; + $351 = $350 & 15; + $352 = $351&255; + $353 = ((($0)) + 328|0); + $354 = HEAP16[$353>>1]|0; + $355 = $354&65535; + $356 = Math_imul($352, $355)|0; + $357 = $356&65535; + $358 = ((($0)) + 378|0); + HEAP16[$358>>1] = $357; + return; + break; + } + default: { + return; + } + } + } while(0); + break; + } + case 15: { + $359 = ((($2)) + 4|0); + $360 = HEAP8[$359>>0]|0; + $361 = ($360<<24>>24)==(0); + if ($361) { + return; + } + $362 = ($360&255)<(32); + $363 = $360&255; + if ($362) { + $364 = ((($0)) + 328|0); + HEAP16[$364>>1] = $363; + return; + } else { + $365 = ((($0)) + 330|0); + HEAP16[$365>>1] = $363; + return; + } + break; + } + case 16: { + $366 = ((($2)) + 4|0); + $367 = HEAP8[$366>>0]|0; + $368 = ($367&255)>(64); + $phitmp = (+($367&255)); + $phitmp260 = $phitmp * 0.015625; + $369 = $368 ? 1.0 : $phitmp260; + $370 = ((($0)) + 332|0); + HEAPF32[$370>>2] = $369; + return; + break; + } + case 17: { + $371 = ((($2)) + 4|0); + $372 = HEAP8[$371>>0]|0; + $373 = ($372<<24>>24)==(0); + if ($373) { + return; + } + $374 = ((($1)) + 83|0); + HEAP8[$374>>0] = $372; + return; + break; + } + case 21: { + $375 = ((($2)) + 4|0); + $376 = HEAP8[$375>>0]|0; + $377 = $376&255; + $378 = ((($1)) + 68|0); + HEAP16[$378>>1] = $377; + $379 = ((($1)) + 70|0); + HEAP16[$379>>1] = $377; + return; + break; + } + case 25: { + $380 = ((($2)) + 4|0); + $381 = HEAP8[$380>>0]|0; + $382 = ($381<<24>>24)==(0); + if ($382) { + return; + } + $383 = ((($1)) + 84|0); + HEAP8[$383>>0] = $381; + return; + break; + } + case 27: { + $384 = ((($2)) + 4|0); + $385 = HEAP8[$384>>0]|0; + $386 = $385&255; + $387 = ($385<<24>>24)==(0); + if ($387) { + return; + } + $$mask = $386 & 240; + $388 = ($$mask|0)==(0); + if ($388) { + $389 = ((($1)) + 96|0); + $390 = HEAP8[$389>>0]|0; + $391 = $390 & -16; + $392 = $391&255; + $393 = $386 & 15; + $394 = $392 | $393; + $395 = $394&255; + $$sink = $395; + } else { + $$sink = $385; + } + $396 = ((($1)) + 96|0); + HEAP8[$396>>0] = $$sink; + return; + break; + } + case 29: { + $397 = ((($2)) + 4|0); + $398 = HEAP8[$397>>0]|0; + $399 = ($398<<24>>24)==(0); + if ($399) { + return; + } + $400 = ((($1)) + 136|0); + HEAP8[$400>>0] = $398; + return; + break; + } + case 33: { + $401 = ((($2)) + 4|0); + $402 = HEAP8[$401>>0]|0; + $403 = $402&255; + $trunc259 = ($402&255) >>> 4; + $trunc259$clear = $trunc259 & 15; + switch ($trunc259$clear<<24>>24) { + case 1: { + $404 = $403 & 15; + $405 = ($404|0)==(0); + if (!($405)) { + $406 = $404&255; + $407 = ((($1)) + 89|0); + HEAP8[$407>>0] = $406; + } + $408 = ((($1)) + 89|0); + $409 = HEAP8[$408>>0]|0; + $410 = (+($409&255)); + $411 = -$410; + _jar_xm_pitch_slide($0,$1,$411); + return; + break; + } + case 2: { + $412 = $403 & 15; + $413 = ($412|0)==(0); + if (!($413)) { + $414 = $412&255; + $415 = ((($1)) + 90|0); + HEAP8[$415>>0] = $414; + } + $416 = ((($1)) + 90|0); + $417 = HEAP8[$416>>0]|0; + $418 = (+($417&255)); + _jar_xm_pitch_slide($0,$1,$418); + return; + break; + } + default: { + return; + } + } + break; + } + default: { + return; + } + } + } while(0); +} +function _jar_xm_key_off($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 52|0); + HEAP32[$1>>2] = 0; + $2 = ((($0)) + 8|0); + $3 = HEAP32[$2>>2]|0; + $4 = ($3|0)==(0|0); + if (!($4)) { + $5 = ((($3)) + 176|0); + $6 = HEAP32[$5>>2]|0; + $7 = ($6|0)==(0); + if (!($7)) { + return; + } + } + _jar_xm_cut_note($0); + return; +} +function _jar_xm_period($0,$1) { + $0 = $0|0; + $1 = +$1; + var $$0 = 0.0, $2 = 0, $3 = 0, $4 = 0.0, $5 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($0)) + 56|0); + $3 = HEAP32[$2>>2]|0; + switch ($3|0) { + case 0: { + $4 = (+_jar_xm_linear_period($1)); + $$0 = $4; + break; + } + case 1: { + $5 = (+_jar_xm_amiga_period($1)); + $$0 = $5; + break; + } + default: { + $$0 = 0.0; + } + } + return (+$$0); +} +function _jar_xm_linear_period($0) { + $0 = +$0; + var $1 = 0.0, $2 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $1 = $0 * 64.0; + $2 = 7680.0 - $1; + return (+$2); +} +function _jar_xm_amiga_period($0) { + $0 = +$0; + var $$0 = 0, $$023 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; + var $26 = 0, $27 = 0, $28 = 0.0, $29 = 0.0, $3 = 0.0, $30 = 0.0, $31 = 0, $32 = 0, $33 = 0.0, $34 = 0.0, $35 = 0.0, $4 = 0.0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (~~(($0))>>>0); + $2 = (($1>>>0) % 12)&-1; + $3 = $0 / 12.0; + $4 = $3 + -2.0; + $5 = (~~(($4))); + $6 = (5672 + ($2<<1)|0); + $7 = HEAP16[$6>>1]|0; + $8 = (($2) + 1)|0; + $9 = (5672 + ($8<<1)|0); + $10 = HEAP16[$9>>1]|0; + $11 = $5 << 24 >> 24; + $12 = ($5<<24>>24)>(0); + if ($12) { + $13 = $7&65535; + $14 = $13 >>> $11; + $15 = $14&65535; + $16 = $10&65535; + $17 = $16 >>> $11; + $18 = $17&65535; + $$0 = $18;$$023 = $15; + } else { + $19 = ($5<<24>>24)<(0); + $20 = (0 - ($11))|0; + if ($19) { + $21 = $10&65535; + $22 = $21 << $20; + $23 = $7&65535; + $24 = $23 << $20; + $25 = $24&65535; + $26 = $22&65535; + $$0 = $26;$$023 = $25; + } else { + $$0 = $10;$$023 = $7; + } + } + $27 = $$023&65535; + $28 = (+($$023&65535)); + $29 = (+($1>>>0)); + $30 = $0 - $29; + $31 = $$0&65535; + $32 = (($31) - ($27))|0; + $33 = (+($32|0)); + $34 = $30 * $33; + $35 = $28 + $34; + return (+$35); +} +function _jar_xm_waveform($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0.0, $2 = 0, $20 = 0.0, $21 = 0.0, $22 = 0, $23 = 0, $24 = 0.0, $25 = 0.0, $3 = 0.0, $4 = 0.0; + var $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = $1 & 63; + switch ($0|0) { + case 0: { + $3 = (+($2&255)); + $4 = $3 * 6.2831840515136719; + $5 = $4 * 0.015625; + $6 = (+Math_sin((+$5))); + $7 = -$6; + $$0 = $7; + return (+$$0); + break; + } + case 1: { + $8 = $2&255; + $9 = (32 - ($8))|0; + $10 = (+($9|0)); + $11 = $10 * 0.03125; + $$0 = $11; + return (+$$0); + break; + } + case 2: { + $12 = ($2&255)>(31); + $13 = $12 ? 1.0 : -1.0; + $$0 = $13; + return (+$$0); + break; + } + case 3: { + $14 = HEAP32[938]|0; + $15 = Math_imul($14, 1103515245)|0; + $16 = (($15) + 12345)|0; + HEAP32[938] = $16; + $17 = $16 >>> 16; + $18 = $17 & 32767; + $19 = (+($18>>>0)); + $20 = $19 * 6.103515625E-5; + $21 = $20 + -1.0; + $$0 = $21; + return (+$$0); + break; + } + case 4: { + $22 = $2&255; + $23 = (($22) + -32)|0; + $24 = (+($23|0)); + $25 = $24 * 0.03125; + $$0 = $25; + return (+$$0); + break; + } + default: { + $$0 = 0.0; + return (+$$0); + } + } + return +(0.0); +} +function _jar_xm_frequency($0,$1,$2) { + $0 = $0|0; + $1 = +$1; + $2 = +$2; + var $$050 = 0.0, $$051 = 0, $$054 = 0, $$1 = 0, $$148 = 0, $$152 = 0, $$253 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0.0, $21 = 0, $22 = 0; + var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0; + var $41 = 0, $42 = 0, $43 = 0, $44 = 0.0, $45 = 0, $46 = 0.0, $47 = 0, $48 = 0, $49 = 0, $5 = 0.0, $50 = 0, $51 = 0, $52 = 0.0, $53 = 0.0, $54 = 0.0, $55 = 0.0, $56 = 0, $57 = 0.0, $58 = 0.0, $59 = 0; + var $6 = 0.0, $60 = 0, $61 = 0.0, $62 = 0.0, $63 = 0.0, $64 = 0.0, $65 = 0.0, $66 = 0.0, $7 = 0.0, $8 = 0, $9 = 0.0, $indvars$iv = 0, $indvars$iv$next = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ((($0)) + 56|0); + $4 = HEAP32[$3>>2]|0; + switch ($4|0) { + case 0: { + $5 = $2 * 64.0; + $6 = $1 - $5; + $7 = (+_jar_xm_linear_frequency($6)); + $$050 = $7; + return (+$$050); + break; + } + case 1: { + $8 = $2 == 0.0; + if ($8) { + $9 = (+_jar_xm_amiga_frequency($1)); + $$050 = $9; + return (+$$050); + } + $10 = $1 > 1712.0; + if ($10) { + $$051 = -1; + while(1) { + $11 = $$051 << 24 >> 24; + $12 = (0 - ($11))|0; + $13 = 1712 << $12; + $14 = (+($13|0)); + $15 = $14 < $1; + $16 = (($$051) + -1)<<24>>24; + if ($15) { + $$051 = $16; + } else { + $$253 = $$051; + break; + } + } + } else { + $17 = $1 < 856.0; + if ($17) { + $$152 = 1; + while(1) { + $18 = $$152 << 24 >> 24; + $19 = 856 >>> $18; + $20 = (+($19|0)); + $21 = $20 > $1; + $22 = (($$152) + 1)<<24>>24; + if ($21) { + $$152 = $22; + } else { + $$253 = $$152; + break; + } + } + } else { + $$253 = 0; + } + } + $23 = $$253 << 24 >> 24; + $24 = ($$253<<24>>24)>(0); + $25 = ($$253<<24>>24)<(0); + $26 = (0 - ($23))|0; + $indvars$iv = 0; + while(1) { + $27 = (5672 + ($indvars$iv<<1)|0); + $28 = HEAP16[$27>>1]|0; + $29 = (($indvars$iv) + 1)|0; + $30 = (5672 + ($29<<1)|0); + $31 = HEAP16[$30>>1]|0; + if ($24) { + $32 = $28&65535; + $33 = $32 >>> $23; + $34 = $33&65535; + $35 = $31&65535; + $36 = $35 >>> $23; + $37 = $36&65535; + $$1 = $37;$$148 = $34; + } else { + if ($25) { + $38 = $31&65535; + $39 = $38 << $26; + $40 = $28&65535; + $41 = $40 << $26; + $42 = $41&65535; + $43 = $39&65535; + $$1 = $43;$$148 = $42; + } else { + $$1 = $31;$$148 = $28; + } + } + $44 = (+($$1&65535)); + $45 = !($44 <= $1); + $46 = (+($$148&65535)); + $47 = !($46 >= $1); + $or$cond = $47 | $45; + $48 = $indvars$iv&255; + if (!($or$cond)) { + $$054 = $48; + break; + } + $indvars$iv$next = (($indvars$iv) + 1)|0; + $49 = ($indvars$iv$next>>>0)<(12); + if ($49) { + $indvars$iv = $indvars$iv$next; + } else { + $$054 = 0; + break; + } + } + $50 = $$253 << 24 >> 24; + $51 = (($50) + 2)|0; + $52 = (+($51|0)); + $53 = $52 * 12.0; + $54 = (+($$054&255)); + $55 = $53 + $54; + $56 = $$148&65535; + $57 = (+($$148&65535)); + $58 = $1 - $57; + $59 = $$1&65535; + $60 = (($59) - ($56))|0; + $61 = (+($60|0)); + $62 = $58 / $61; + $63 = $55 + $62; + $64 = $63 + $2; + $65 = (+_jar_xm_amiga_period($64)); + $66 = (+_jar_xm_amiga_frequency($65)); + $$050 = $66; + return (+$$050); + break; + } + default: { + $$050 = 0.0; + return (+$$050); + } + } + return +(0.0); +} +function _jar_xm_linear_frequency($0) { + $0 = +$0; + var $1 = 0.0, $2 = 0.0, $3 = 0.0, $exp2 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $1 = 4608.0 - $0; + $2 = $1 / 768.0; + $exp2 = (+_llvm_exp2_f32((+$2))); + $3 = $exp2 * 8363.0; + return (+$3); +} +function _jar_xm_amiga_frequency($0) { + $0 = +$0; + var $$0 = 0.0, $1 = 0, $2 = 0.0, $3 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $1 = $0 == 0.0; + $2 = $0 * 2.0; + $3 = 7093789.0 / $2; + $$0 = $1 ? 0.0 : $3; + return (+$$0); +} +function _jar_xm_envelope_tick($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$043 = 0, $$lcssa = 0, $$lcssa42 = 0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; + var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0.0, $56 = 0.0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0; + var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $4 = ((($1)) + 48|0); + $5 = HEAP8[$4>>0]|0; + $6 = ($5&255)<(2); + if ($6) { + $7 = ($5<<24>>24)==(1); + if (!($7)) { + return; + } + $8 = ((($1)) + 2|0); + $9 = HEAP16[$8>>1]|0; + $10 = (+($9&65535)); + $11 = $10 * 0.015625; + HEAPF32[$3>>2] = $11; + $12 = $11 > 1.0; + if (!($12)) { + return; + } + HEAPF32[$3>>2] = 1.0; + return; + } + $13 = ((($1)) + 60|0); + $14 = HEAP32[$13>>2]|0; + $15 = ($14|0)==(0); + if (!($15)) { + $16 = ((($1)) + 51|0); + $17 = HEAP8[$16>>0]|0; + $18 = $17&255; + $19 = (($1) + ($18<<2)|0); + $20 = HEAP16[$19>>1]|0; + $21 = HEAP16[$2>>1]|0; + $22 = ($21&65535)<($20&65535); + if (!($22)) { + $23 = $21&65535; + $24 = $20&65535; + $25 = ((($1)) + 50|0); + $26 = HEAP8[$25>>0]|0; + $27 = $26&255; + $28 = (($1) + ($27<<2)|0); + $29 = HEAP16[$28>>1]|0; + $30 = $29&65535; + $31 = (($23) - ($24))|0; + $32 = (($31) + ($30))|0; + $33 = $32&65535; + HEAP16[$2>>1] = $33; + } + } + $34 = HEAP8[$4>>0]|0; + $35 = ($34&255)>(2); + $36 = HEAP16[$2>>1]|0; + L15: do { + if ($35) { + $$043 = 0;$38 = 0;$41 = $36; + while(1) { + $37 = (($1) + ($38<<2)|0); + $39 = HEAP16[$37>>1]|0; + $40 = ($39&65535)>($41&65535); + if (!($40)) { + $42 = (($38) + 1)|0; + $43 = (($1) + ($42<<2)|0); + $44 = HEAP16[$43>>1]|0; + $45 = ($44&65535)<($41&65535); + if (!($45)) { + $$lcssa = $41;$$lcssa42 = $38; + break L15; + } + } + $46 = (($$043) + 1)<<24>>24; + $47 = $46&255; + $48 = HEAP8[$4>>0]|0; + $49 = $48&255; + $50 = (($49) + -2)|0; + $51 = ($47|0)<($50|0); + $52 = HEAP16[$2>>1]|0; + if ($51) { + $$043 = $46;$38 = $47;$41 = $52; + } else { + $$lcssa = $52;$$lcssa42 = $47; + break; + } + } + } else { + $$lcssa = $36;$$lcssa42 = 0; + } + } while(0); + $53 = (($1) + ($$lcssa42<<2)|0); + $54 = ((($53)) + 4|0); + $55 = (+_jar_xm_envelope_lerp($53,$54,$$lcssa)); + $56 = $55 * 0.015625; + HEAPF32[$3>>2] = $56; + $57 = ((($0)) + 52|0); + $58 = HEAP32[$57>>2]|0; + $59 = ($58|0)==(0); + if (!($59)) { + $60 = ((($1)) + 56|0); + $61 = HEAP32[$60>>2]|0; + $62 = ($61|0)==(0); + if (!($62)) { + $63 = HEAP16[$2>>1]|0; + $64 = ((($1)) + 49|0); + $65 = HEAP8[$64>>0]|0; + $66 = $65&255; + $67 = (($1) + ($66<<2)|0); + $68 = HEAP16[$67>>1]|0; + $69 = ($63<<16>>16)==($68<<16>>16); + if ($69) { + return; + } + } + } + $70 = HEAP16[$2>>1]|0; + $71 = (($70) + 1)<<16>>16; + HEAP16[$2>>1] = $71; + return; +} +function _jar_xm_envelope_lerp($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$0 = 0.0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0.0, $18 = 0, $19 = 0.0, $20 = 0.0, $21 = 0, $22 = 0, $23 = 0.0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0.0, $28 = 0.0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $3 = $2&65535; + $4 = HEAP16[$0>>1]|0; + $5 = $4&65535; + $6 = ($4&65535)<($2&65535); + if (!($6)) { + $7 = ((($0)) + 2|0); + $8 = HEAP16[$7>>1]|0; + $9 = (+($8&65535)); + $$0 = $9; + return (+$$0); + } + $10 = HEAP16[$1>>1]|0; + $11 = ($10&65535)>($2&65535); + $12 = ((($1)) + 2|0); + $13 = HEAP16[$12>>1]|0; + if ($11) { + $15 = $10&65535; + $16 = (($3) - ($5))|0; + $17 = (+($16|0)); + $18 = (($15) - ($5))|0; + $19 = (+($18|0)); + $20 = $17 / $19; + $21 = ((($0)) + 2|0); + $22 = HEAP16[$21>>1]|0; + $23 = (+($22&65535)); + $24 = 1.0 - $20; + $25 = $24 * $23; + $26 = (+($13&65535)); + $27 = $26 * $20; + $28 = $27 + $25; + $$0 = $28; + return (+$$0); + } else { + $14 = (+($13&65535)); + $$0 = $14; + return (+$$0); + } + return +(0.0); +} +function _jar_xm_post_pattern_change($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 348|0); + $2 = HEAP8[$1>>0]|0; + $3 = $2&255; + $4 = ((($0)) + 46|0); + $5 = HEAP16[$4>>1]|0; + $6 = $5&65535; + $7 = ($3>>>0)<($6>>>0); + if ($7) { + return; + } + $8 = ((($0)) + 48|0); + $9 = HEAP16[$8>>1]|0; + $10 = $9&255; + HEAP8[$1>>0] = $10; + return; +} +function _jar_xm_create_context_safe($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$0 = 0, $$06364 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; + var $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $vararg_buffer = 0, $vararg_buffer2 = 0, $vararg_buffer6 = 0, $vararg_ptr1 = 0, $vararg_ptr5 = 0, $vararg_ptr9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $vararg_buffer6 = sp + 16|0; + $vararg_buffer2 = sp + 8|0; + $vararg_buffer = sp; + $4 = (_jar_xm_check_sanity_preload($1,$2)|0); + $5 = ($4|0)==(0); + if (!($5)) { + $6 = HEAP32[1251]|0; + HEAP32[$vararg_buffer>>2] = 15912; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $4; + (_fprintf($6,15835,$vararg_buffer)|0); + (_fflush($6)|0); + $$0 = 1; + STACKTOP = sp;return ($$0|0); + } + $7 = (_jar_xm_get_memory_needed_for_context($1,$2)|0); + $8 = (_malloc($7)|0); + $9 = ($8|0)==(0|0); + $10 = ($7|0)!=(0); + $or$cond = $10 & $9; + if ($or$cond) { + $11 = HEAP32[1251]|0; + HEAP32[$vararg_buffer2>>2] = 15912; + $vararg_ptr5 = ((($vararg_buffer2)) + 4|0); + HEAP32[$vararg_ptr5>>2] = $8; + (_fprintf($11,15939,$vararg_buffer2)|0); + (_fflush($11)|0); + $$0 = 2; + STACKTOP = sp;return ($$0|0); + } + _memset(($8|0),0,($7|0))|0; + HEAP32[$0>>2] = $8; + HEAP32[$8>>2] = $8; + $12 = ((($8)) + 392|0); + $13 = ((($8)) + 324|0); + HEAP32[$13>>2] = $3; + $14 = (_jar_xm_load_module($8,$1,$2,$12)|0); + $15 = ((($8)) + 388|0); + HEAP32[$15>>2] = $14; + $16 = ((($8)) + 50|0); + $17 = HEAP16[$16>>1]|0; + $18 = $17&65535; + $19 = ($18*304)|0; + $20 = (($14) + ($19)|0); + $21 = ((($8)) + 332|0); + HEAPF32[$21>>2] = 1.0; + $22 = ((($8)) + 336|0); + HEAPF32[$22>>2] = 0.25; + $23 = ((($8)) + 340|0); + HEAPF32[$23>>2] = 0.0078125; + $24 = ((($8)) + 344|0); + HEAPF32[$24>>2] = 0.0078125; + $25 = HEAP16[$16>>1]|0; + $26 = ($25<<16>>16)==(0); + if (!($26)) { + $27 = HEAP32[$15>>2]|0; + $28 = HEAP16[$16>>1]|0; + $29 = $28&65535; + $$06364 = 0;$34 = 0; + while(1) { + $33 = (((($27) + (($34*304)|0)|0)) + 36|0); + HEAP32[$33>>2] = 1; + $35 = (((($27) + (($34*304)|0)|0)) + 104|0); + HEAP32[$35>>2] = 0; + $36 = (((($27) + (($34*304)|0)|0)) + 108|0); + HEAP32[$36>>2] = 1; + $37 = (((($27) + (($34*304)|0)|0)) + 120|0); + HEAP32[$37>>2] = 0; + $38 = (((($27) + (($34*304)|0)|0)) + 124|0); + HEAP32[$38>>2] = 1; + $39 = (((($27) + (($34*304)|0)|0)) + 56|0); + HEAPF32[$39>>2] = 1.0; + $40 = (((($27) + (($34*304)|0)|0)) + 60|0); + HEAPF32[$40>>2] = 1.0; + $41 = (((($27) + (($34*304)|0)|0)) + 40|0); + HEAPF32[$41>>2] = 1.0; + $42 = (((($27) + (($34*304)|0)|0)) + 64|0); + HEAPF32[$42>>2] = 0.5; + $43 = (((($27) + (($34*304)|0)|0)) + 44|0); + HEAPF32[$43>>2] = 0.5; + $44 = (((($27) + (($34*304)|0)|0)) + 300|0); + HEAPF32[$44>>2] = 0.0; + $45 = (((($27) + (($34*304)|0)|0)) + 296|0); + HEAPF32[$45>>2] = 0.5; + $46 = (($$06364) + 1)<<24>>24; + $47 = $46&255; + $48 = ($47>>>0)<($29>>>0); + if ($48) { + $$06364 = $46;$34 = $47; + } else { + break; + } + } + } + $30 = ((($8)) + 380|0); + HEAP32[$30>>2] = $20; + $31 = (_jar_xm_check_sanity_postload($8)|0); + $32 = ($31|0)==(0); + if ($32) { + $$0 = 0; + STACKTOP = sp;return ($$0|0); + } + $49 = HEAP32[1251]|0; + HEAP32[$vararg_buffer6>>2] = 15912; + $vararg_ptr9 = ((($vararg_buffer6)) + 4|0); + HEAP32[$vararg_ptr9>>2] = $31; + (_fprintf($49,15983,$vararg_buffer6)|0); + (_fflush($49)|0); + _jar_xm_free_context($8); + $$0 = 1; + STACKTOP = sp;return ($$0|0); +} +function _jar_xm_check_sanity_preload($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$ = 0, $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ($1>>>0)<(60); + if ($2) { + $$0 = 4; + return ($$0|0); + } + $3 = (_memcmp(16200,$0,17)|0); + $4 = ($3|0)==(0); + if (!($4)) { + $$0 = 1; + return ($$0|0); + } + $5 = ((($0)) + 37|0); + $6 = HEAP8[$5>>0]|0; + $7 = ($6<<24>>24)==(26); + if (!($7)) { + $$0 = 2; + return ($$0|0); + } + $8 = ((($0)) + 59|0); + $9 = HEAP8[$8>>0]|0; + $10 = ($9<<24>>24)==(1); + if ($10) { + $11 = ((($0)) + 58|0); + $12 = HEAP8[$11>>0]|0; + $13 = ($12<<24>>24)==(4); + $$ = $13 ? 0 : 3; + return ($$|0); + } else { + $$0 = 3; + return ($$0|0); + } + return (0)|0; +} +function _jar_xm_get_memory_needed_for_context($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0$lcssa = 0, $$0209$lcssa = 0, $$0209274 = 0, $$0212262 = 0, $$0213$lcssa = 0, $$0213261 = 0, $$0214 = 0, $$0215267 = 0, $$0216273 = 0, $$0275 = 0, $$1$lcssa = 0, $$1210268 = 0, $$1269 = 0, $$2$lcssa = 0, $$2211$lcssa = 0, $$2211263 = 0, $$2264 = 0, $$3 = 0, $$ph = 0, $$ph228 = 0; + var $$ph233 = 0, $$ph234 = 0, $$ph237 = 0, $$ph238 = 0, $$ph239 = 0, $$ph240 = 0, $$ph241 = 0, $$ph242 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0; + var $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0; + var $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0; + var $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0; + var $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0; + var $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0; + var $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0; + var $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0; + var $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0; + var $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0; + var $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $3 = 0; + var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0; + var $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0; + var $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0; + var $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $phitmp = 0, $phitmp294 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ($1>>>0)>(68); + $3 = ($1>>>0)>(69); + if ($2) { + $4 = ((($0)) + 68|0); + $5 = HEAP8[$4>>0]|0; + $6 = $5&255; + $12 = $6; + } else { + $12 = 0; + } + do { + if ($3) { + $7 = ((($0)) + 69|0); + $8 = HEAP8[$7>>0]|0; + $9 = $8&255; + $10 = $9 << 8; + $11 = $10 | $12; + $13 = ($1|0)==(70); + do { + if ($13) { + $$ph = 0;$$ph233 = 0;$$ph234 = 0; + } else { + $14 = ((($0)) + 70|0); + $15 = HEAP8[$14>>0]|0; + $16 = $15&255; + $17 = ($1>>>0)>(71); + if (!($17)) { + $18 = $16 << 3; + $$ph = $18;$$ph233 = 0;$$ph234 = $16; + break; + } + $19 = ((($0)) + 71|0); + $20 = HEAP8[$19>>0]|0; + $21 = $20&255; + $22 = $21 << 8; + $23 = $22 | $16; + $24 = $23 << 3; + $25 = ($1|0)==(72); + if ($25) { + $$ph = $24;$$ph233 = 0;$$ph234 = $23; + } else { + $26 = ((($0)) + 72|0); + $27 = HEAP8[$26>>0]|0; + $28 = $27&255; + $29 = ($1>>>0)>(73); + if ($29) { + $30 = ((($0)) + 73|0); + $31 = HEAP8[$30>>0]|0; + $32 = $31&255; + $phitmp294 = $32 << 8; + $$ph228 = $phitmp294; + } else { + $$ph228 = 0; + } + $33 = $$ph228 | $28; + $34 = ($33*280)|0; + $35 = (($34) + ($24))|0; + $$ph = $35;$$ph233 = $33;$$ph234 = $23; + } + } + } while(0); + $37 = ((($0)) + 64|0); + $38 = HEAP8[$37>>0]|0; + $39 = $38&255; + $284 = $39;$285 = $11;$286 = $$ph234;$287 = $$ph233;$288 = $$ph; + label = 14; + } else { + $36 = ($1>>>0)>(64); + if ($36) { + $40 = ((($0)) + 64|0); + $41 = HEAP8[$40>>0]|0; + $42 = $41&255; + $43 = ($1|0)==(65); + if ($43) { + $$ph237 = $42;$$ph238 = $12;$$ph239 = 0;$$ph240 = 0;$$ph241 = 0;$$ph242 = 0; + label = 15; + break; + } else { + $284 = $42;$285 = $12;$286 = 0;$287 = 0;$288 = 0; + label = 14; + break; + } + } + $61 = ($1>>>0)>(62); + if (!($61)) { + $$1$lcssa = 0;$155 = $12; + $154 = ($155*304)|0; + $156 = (($154) + 392)|0; + $157 = (($156) + ($$1$lcssa))|0; + return ($157|0); + } + $62 = ((($0)) + 61|0); + $63 = HEAP8[$62>>0]|0; + $64 = $63&255; + $65 = $64 << 8; + $66 = ((($0)) + 60|0); + $67 = HEAP8[$66>>0]|0; + $68 = $67&255; + $69 = $65 | $68; + $70 = ((($0)) + 62|0); + $71 = HEAP8[$70>>0]|0; + $72 = $71&255; + $73 = ($1|0)==(63); + if ($73) { + $$1$lcssa = 0;$155 = $12; + $154 = ($155*304)|0; + $156 = (($154) + 392)|0; + $157 = (($156) + ($$1$lcssa))|0; + return ($157|0); + } else { + $289 = 0;$79 = $72;$82 = $69;$85 = 0;$87 = $12;$89 = 0; + } + } + } while(0); + if ((label|0) == 14) { + $44 = ((($0)) + 65|0); + $45 = HEAP8[$44>>0]|0; + $46 = $45&255; + $phitmp = $46 << 8; + $$ph237 = $284;$$ph238 = $285;$$ph239 = $286;$$ph240 = $287;$$ph241 = $288;$$ph242 = $phitmp; + label = 15; + } + if ((label|0) == 15) { + $47 = $$ph242 | $$ph237; + $48 = $47 << 8; + $49 = (($48) + ($$ph241))|0; + $50 = ((($0)) + 60|0); + $51 = HEAP8[$50>>0]|0; + $52 = $51&255; + $53 = ((($0)) + 61|0); + $54 = HEAP8[$53>>0]|0; + $55 = $54&255; + $56 = $55 << 8; + $57 = $56 | $52; + $58 = ((($0)) + 62|0); + $59 = HEAP8[$58>>0]|0; + $60 = $59&255; + $289 = $49;$79 = $60;$82 = $57;$85 = $$ph239;$87 = $$ph238;$89 = $$ph240; + } + $74 = ((($0)) + 63|0); + $75 = HEAP8[$74>>0]|0; + $76 = $75&255; + $77 = $76 << 8; + $78 = $77 | $79; + $80 = $78 << 16; + $81 = $80 | $82; + $83 = (($81) + 60)|0; + $84 = ($85|0)==(0); + if ($84) { + $$0$lcssa = $289;$$0209$lcssa = $83; + } else { + $86 = ($87*5)|0; + $$0209274 = $83;$$0216273 = 0;$$0275 = $289; + while(1) { + $90 = (($$0209274) + 5)|0; + $91 = ($90>>>0)<($1>>>0); + if ($91) { + $92 = (($0) + ($90)|0); + $93 = HEAP8[$92>>0]|0; + $94 = $93&255; + $103 = $94; + } else { + $103 = 0; + } + $95 = (($$0209274) + 6)|0; + $96 = ($95>>>0)<($1>>>0); + if ($96) { + $97 = (($0) + ($95)|0); + $98 = HEAP8[$97>>0]|0; + $99 = $98&255; + $101 = $99; + } else { + $101 = 0; + } + $100 = $101 << 8; + $102 = $100 | $103; + $104 = Math_imul($86, $102)|0; + $105 = (($104) + ($$0275))|0; + $106 = ($$0209274>>>0)<($1>>>0); + if ($106) { + $107 = (($0) + ($$0209274)|0); + $108 = HEAP8[$107>>0]|0; + $109 = $108&255; + $118 = $109; + } else { + $118 = 0; + } + $110 = (($$0209274) + 1)|0; + $111 = ($110>>>0)<($1>>>0); + if ($111) { + $112 = (($0) + ($110)|0); + $113 = HEAP8[$112>>0]|0; + $114 = $113&255; + $116 = $114; + } else { + $116 = 0; + } + $115 = $116 << 8; + $117 = $115 | $118; + $119 = (($$0209274) + 2)|0; + $120 = ($119>>>0)<($1>>>0); + if ($120) { + $121 = (($0) + ($119)|0); + $122 = HEAP8[$121>>0]|0; + $123 = $122&255; + $132 = $123; + } else { + $132 = 0; + } + $124 = (($$0209274) + 3)|0; + $125 = ($124>>>0)<($1>>>0); + if ($125) { + $126 = (($0) + ($124)|0); + $127 = HEAP8[$126>>0]|0; + $128 = $127&255; + $130 = $128; + } else { + $130 = 0; + } + $129 = $130 << 8; + $131 = $129 | $132; + $133 = $131 << 16; + $134 = $117 | $133; + $135 = (($$0209274) + 7)|0; + $136 = ($135>>>0)<($1>>>0); + if ($136) { + $137 = (($0) + ($135)|0); + $138 = HEAP8[$137>>0]|0; + $139 = $138&255; + $148 = $139; + } else { + $148 = 0; + } + $140 = (($$0209274) + 8)|0; + $141 = ($140>>>0)<($1>>>0); + if ($141) { + $142 = (($0) + ($140)|0); + $143 = HEAP8[$142>>0]|0; + $144 = $143&255; + $146 = $144; + } else { + $146 = 0; + } + $145 = $146 << 8; + $147 = $145 | $148; + $149 = (($134) + ($$0209274))|0; + $150 = (($149) + ($147))|0; + $151 = (($$0216273) + 1)<<16>>16; + $152 = $151&65535; + $153 = ($152>>>0)<($85>>>0); + if ($153) { + $$0209274 = $150;$$0216273 = $151;$$0275 = $105; + } else { + $$0$lcssa = $105;$$0209$lcssa = $150; + break; + } + } + } + $88 = ($89|0)==(0); + if ($88) { + $$1$lcssa = $$0$lcssa;$155 = $87; + $154 = ($155*304)|0; + $156 = (($154) + 392)|0; + $157 = (($156) + ($$1$lcssa))|0; + return ($157|0); + } else { + $$0215267 = 0;$$1210268 = $$0209$lcssa;$$1269 = $$0$lcssa; + } + while(1) { + $158 = (($$1210268) + 27)|0; + $159 = ($158>>>0)<($1>>>0); + if ($159) { + $160 = (($0) + ($158)|0); + $161 = HEAP8[$160>>0]|0; + $162 = $161&255; + $171 = $162; + } else { + $171 = 0; + } + $163 = (($$1210268) + 28)|0; + $164 = ($163>>>0)<($1>>>0); + if ($164) { + $165 = (($0) + ($163)|0); + $166 = HEAP8[$165>>0]|0; + $167 = $166&255; + $169 = $167; + } else { + $169 = 0; + } + $168 = $169 << 8; + $170 = $168 | $171; + $172 = ($170*80)|0; + $173 = (($172) + ($$1269))|0; + $174 = ($170|0)==(0); + if ($174) { + $$0214 = 0; + } else { + $175 = (($$1210268) + 29)|0; + $176 = ($175>>>0)<($1>>>0); + if ($176) { + $177 = (($0) + ($175)|0); + $178 = HEAP8[$177>>0]|0; + $179 = $178&255; + $188 = $179; + } else { + $188 = 0; + } + $180 = (($$1210268) + 30)|0; + $181 = ($180>>>0)<($1>>>0); + if ($181) { + $182 = (($0) + ($180)|0); + $183 = HEAP8[$182>>0]|0; + $184 = $183&255; + $186 = $184; + } else { + $186 = 0; + } + $185 = $186 << 8; + $187 = $185 | $188; + $189 = (($$1210268) + 31)|0; + $190 = ($189>>>0)<($1>>>0); + if ($190) { + $191 = (($0) + ($189)|0); + $192 = HEAP8[$191>>0]|0; + $193 = $192&255; + $202 = $193; + } else { + $202 = 0; + } + $194 = (($$1210268) + 32)|0; + $195 = ($194>>>0)<($1>>>0); + if ($195) { + $196 = (($0) + ($194)|0); + $197 = HEAP8[$196>>0]|0; + $198 = $197&255; + $200 = $198; + } else { + $200 = 0; + } + $199 = $200 << 8; + $201 = $199 | $202; + $203 = $201 << 16; + $204 = $187 | $203; + $$0214 = $204; + } + $205 = ($$1210268>>>0)<($1>>>0); + if ($205) { + $206 = (($0) + ($$1210268)|0); + $207 = HEAP8[$206>>0]|0; + $208 = $207&255; + $217 = $208; + } else { + $217 = 0; + } + $209 = (($$1210268) + 1)|0; + $210 = ($209>>>0)<($1>>>0); + if ($210) { + $211 = (($0) + ($209)|0); + $212 = HEAP8[$211>>0]|0; + $213 = $212&255; + $215 = $213; + } else { + $215 = 0; + } + $214 = $215 << 8; + $216 = $214 | $217; + $218 = (($$1210268) + 2)|0; + $219 = ($218>>>0)<($1>>>0); + if ($219) { + $220 = (($0) + ($218)|0); + $221 = HEAP8[$220>>0]|0; + $222 = $221&255; + $231 = $222; + } else { + $231 = 0; + } + $223 = (($$1210268) + 3)|0; + $224 = ($223>>>0)<($1>>>0); + if ($224) { + $225 = (($0) + ($223)|0); + $226 = HEAP8[$225>>0]|0; + $227 = $226&255; + $229 = $227; + } else { + $229 = 0; + } + $228 = $229 << 8; + $230 = $228 | $231; + $232 = $230 << 16; + $233 = $216 | $232; + $234 = (($233) + ($$1210268))|0; + $235 = ($170|0)==(0); + if ($235) { + $$0213$lcssa = 0;$$2$lcssa = $173;$$2211$lcssa = $234; + } else { + $$0212262 = 0;$$0213261 = 0;$$2211263 = $234;$$2264 = $173; + while(1) { + $240 = ($$2211263>>>0)<($1>>>0); + if ($240) { + $241 = (($0) + ($$2211263)|0); + $242 = HEAP8[$241>>0]|0; + $243 = $242&255; + $252 = $243; + } else { + $252 = 0; + } + $244 = (($$2211263) + 1)|0; + $245 = ($244>>>0)<($1>>>0); + if ($245) { + $246 = (($0) + ($244)|0); + $247 = HEAP8[$246>>0]|0; + $248 = $247&255; + $250 = $248; + } else { + $250 = 0; + } + $249 = $250 << 8; + $251 = $249 | $252; + $253 = (($$2211263) + 2)|0; + $254 = ($253>>>0)<($1>>>0); + if ($254) { + $255 = (($0) + ($253)|0); + $256 = HEAP8[$255>>0]|0; + $257 = $256&255; + $266 = $257; + } else { + $266 = 0; + } + $258 = (($$2211263) + 3)|0; + $259 = ($258>>>0)<($1>>>0); + if ($259) { + $260 = (($0) + ($258)|0); + $261 = HEAP8[$260>>0]|0; + $262 = $261&255; + $264 = $262; + } else { + $264 = 0; + } + $263 = $264 << 8; + $265 = $263 | $266; + $267 = $265 << 16; + $268 = $251 | $267; + $269 = (($$2211263) + 14)|0; + $270 = ($269>>>0)<($1>>>0); + if ($270) { + $271 = (($0) + ($269)|0); + $272 = HEAP8[$271>>0]|0; + $273 = $272&255; + $276 = $273; + } else { + $276 = 0; + } + $274 = (($268) + ($$0213261))|0; + $275 = $276 >>> 4; + $277 = $275 & 1; + $278 = (2 - ($277))|0; + $279 = $268 << $278; + $$3 = (($279) + ($$2264))|0; + $280 = (($$2211263) + ($$0214))|0; + $281 = (($$0212262) + 1)<<16>>16; + $282 = $281&65535; + $283 = ($282>>>0)<($170>>>0); + if ($283) { + $$0212262 = $281;$$0213261 = $274;$$2211263 = $280;$$2264 = $$3; + } else { + $$0213$lcssa = $274;$$2$lcssa = $$3;$$2211$lcssa = $280; + break; + } + } + } + $236 = (($$2211$lcssa) + ($$0213$lcssa))|0; + $237 = (($$0215267) + 1)<<16>>16; + $238 = $237&65535; + $239 = ($238>>>0)<($89>>>0); + if ($239) { + $$0215267 = $237;$$1210268 = $236;$$1269 = $$2$lcssa; + } else { + $$1$lcssa = $$2$lcssa;$155 = $87; + break; + } + } + $154 = ($155*304)|0; + $156 = (($154) + 392)|0; + $157 = (($156) + ($$1$lcssa))|0; + return ($157|0); +} +function _jar_xm_load_module($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$0668761 = 0, $$0669766 = 0, $$0670765 = 0, $$0671$lcssa = 0, $$0671787 = 0, $$0672$lcssa = 0, $$0672786 = 0, $$0677769 = 0, $$0678785 = 0, $$0679755 = 0, $$0680753 = 0, $$0681752 = 0, $$0682783 = 0, $$0687 = 0, $$0688776 = 0, $$0689782 = 0, $$0762 = 0, $$1$lcssa = 0, $$1673777 = 0, $$1683 = 0; + var $$1778 = 0, $$2 = 0, $$2674756 = 0, $$2684 = 0, $$3$lcssa794 = 0, $$3675$lcssa = 0, $$3675770 = 0, $$3685 = 0, $$3757 = 0, $$4 = 0, $$4676 = 0, $$4686 = 0, $$5 = 0, $$ph700 = 0, $$ph701 = 0, $$ph707 = 0, $$ph708 = 0, $$ph714 = 0, $$ph715 = 0, $$ph721 = 0; + var $$ph722 = 0, $$ph729 = 0, $$ph730 = 0, $$ph731 = 0, $$ph740 = 0, $$pn = 0, $$pn693 = 0, $$pr = 0, $$sink = 0, $$sink694 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0; + var $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0; + var $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0; + var $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0; + var $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0; + var $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0; + var $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0; + var $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0; + var $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0; + var $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0; + var $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0; + var $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0; + var $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0; + var $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0; + var $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0; + var $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0; + var $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0; + var $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0; + var $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0; + var $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0; + var $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0; + var $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0; + var $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0; + var $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0; + var $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0, $531 = 0, $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0; + var $543 = 0, $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0, $549 = 0, $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0, $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0; + var $561 = 0, $562 = 0, $563 = 0, $564 = 0, $565 = 0, $566 = 0, $567 = 0, $568 = 0, $569 = 0, $57 = 0, $570 = 0, $571 = 0, $572 = 0, $573 = 0, $574 = 0, $575 = 0, $576 = 0, $577 = 0, $578 = 0, $579 = 0; + var $58 = 0, $580 = 0, $581 = 0, $582 = 0, $583 = 0, $584 = 0, $585 = 0, $586 = 0, $587 = 0, $588 = 0, $589 = 0, $59 = 0, $590 = 0, $591 = 0, $592 = 0, $593 = 0, $594 = 0, $595 = 0, $596 = 0, $597 = 0; + var $598 = 0, $599 = 0, $6 = 0, $60 = 0, $600 = 0, $601 = 0, $602 = 0, $603 = 0, $604 = 0, $605 = 0, $606 = 0, $607 = 0, $608 = 0, $609 = 0, $61 = 0, $610 = 0, $611 = 0, $612 = 0, $613 = 0, $614 = 0; + var $615 = 0, $616 = 0, $617 = 0, $618 = 0, $619 = 0, $62 = 0, $620 = 0, $621 = 0, $622 = 0, $623 = 0, $624 = 0, $625 = 0, $626 = 0, $627 = 0, $628 = 0, $629 = 0, $63 = 0, $630 = 0, $631 = 0, $632 = 0; + var $633 = 0, $634 = 0, $635 = 0, $636 = 0, $637 = 0, $638 = 0, $639 = 0, $64 = 0, $640 = 0, $641 = 0, $642 = 0, $643 = 0, $644 = 0, $645 = 0, $646 = 0, $647 = 0, $648 = 0, $649 = 0, $65 = 0, $650 = 0; + var $651 = 0, $652 = 0, $653 = 0, $654 = 0, $655 = 0, $656 = 0, $657 = 0, $658 = 0, $659 = 0, $66 = 0, $660 = 0, $661 = 0, $662 = 0, $663 = 0, $664 = 0, $665 = 0, $666 = 0, $667 = 0, $668 = 0, $669 = 0; + var $67 = 0, $670 = 0, $671 = 0, $672 = 0, $673 = 0, $674 = 0, $675 = 0, $676 = 0, $677 = 0, $678 = 0, $679 = 0, $68 = 0, $680 = 0, $681 = 0, $682 = 0, $683 = 0, $684 = 0, $685 = 0, $686 = 0, $687 = 0; + var $688 = 0, $689 = 0, $69 = 0, $690 = 0, $691 = 0, $692 = 0, $693 = 0, $694 = 0, $695 = 0, $696 = 0, $697 = 0, $698 = 0, $699 = 0, $7 = 0, $70 = 0, $700 = 0, $701 = 0, $702 = 0, $703 = 0, $704 = 0; + var $705 = 0, $706 = 0, $707 = 0, $708 = 0, $709 = 0, $71 = 0, $710 = 0, $711 = 0, $712 = 0, $713 = 0, $714 = 0, $715 = 0, $716 = 0, $717 = 0, $718 = 0, $719 = 0, $72 = 0, $720 = 0, $721 = 0, $722 = 0; + var $723 = 0, $724 = 0, $725 = 0, $726 = 0, $727 = 0, $728 = 0, $729 = 0, $73 = 0, $730 = 0, $731 = 0, $732 = 0, $733 = 0, $734 = 0, $735 = 0, $736 = 0, $737 = 0, $738 = 0, $739 = 0, $74 = 0, $740 = 0; + var $741 = 0, $742 = 0, $743 = 0, $744 = 0, $745 = 0, $746 = 0, $747 = 0, $748 = 0, $749 = 0, $75 = 0, $750 = 0, $751 = 0, $752 = 0, $753 = 0, $754 = 0, $755 = 0, $756 = 0, $757 = 0, $758 = 0, $759 = 0; + var $76 = 0, $760 = 0, $761 = 0, $762 = 0, $763 = 0, $764 = 0, $765 = 0, $766 = 0, $767 = 0, $768 = 0.0, $769 = 0, $77 = 0, $770 = 0.0, $771 = 0, $772 = 0, $773 = 0, $774 = 0, $775 = 0, $776 = 0, $777 = 0; + var $778 = 0, $779 = 0, $78 = 0, $780 = 0, $781 = 0, $782 = 0, $783 = 0, $784 = 0, $785 = 0, $786 = 0, $787 = 0, $788 = 0, $789 = 0, $79 = 0, $790 = 0, $791 = 0, $792 = 0, $793 = 0, $794 = 0, $795 = 0; + var $796 = 0, $797 = 0, $798 = 0, $799 = 0, $8 = 0, $80 = 0, $800 = 0, $801 = 0.0, $802 = 0, $803 = 0.0, $804 = 0, $805 = 0, $806 = 0, $807 = 0, $808 = 0, $809 = 0, $81 = 0, $810 = 0, $811 = 0, $812 = 0; + var $813 = 0, $814 = 0, $815 = 0, $816 = 0, $817 = 0, $818 = 0, $819 = 0, $82 = 0, $820 = 0, $821 = 0, $822 = 0, $823 = 0, $824 = 0, $825 = 0, $826 = 0, $827 = 0, $828 = 0, $829 = 0, $83 = 0, $830 = 0; + var $831 = 0, $832 = 0, $833 = 0, $834 = 0, $835 = 0, $836 = 0, $837 = 0, $838 = 0, $839 = 0, $84 = 0, $840 = 0, $841 = 0, $842 = 0, $843 = 0, $844 = 0, $845 = 0, $846 = 0, $847 = 0, $848 = 0, $849 = 0; + var $85 = 0, $850 = 0, $851 = 0, $852 = 0, $853 = 0, $854 = 0, $855 = 0, $856 = 0, $857 = 0, $858 = 0, $859 = 0, $86 = 0, $860 = 0, $861 = 0, $862 = 0, $863 = 0, $864 = 0, $865 = 0.0, $866 = 0.0, $867 = 0; + var $868 = 0, $869 = 0, $87 = 0, $870 = 0, $871 = 0, $872 = 0, $873 = 0, $874 = 0, $875 = 0, $876 = 0, $877 = 0, $878 = 0, $879 = 0, $88 = 0, $880 = 0, $881 = 0.0, $882 = 0.0, $883 = 0, $884 = 0, $885 = 0; + var $886 = 0, $887 = 0, $888 = 0, $889 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond = 0, $exitcond793 = 0, $phitmp = 0, $phitmp804 = 0; + var $sext = 0, $sext690 = 0, $sext691 = 0, $sext692 = 0, label = 0, sp = 0; + sp = STACKTOP; + $4 = ((($0)) + 4|0); + _memcpy_pad($4,20,$1,$2,17); + $5 = ((($0)) + 25|0); + _memcpy_pad($5,20,$1,$2,38); + $6 = ($2>>>0)>(60); + if ($6) { + $7 = ((($1)) + 60|0); + $8 = HEAP8[$7>>0]|0; + $9 = $8&255; + $10 = ($2|0)==(61); + if ($10) { + $$ph700 = 0;$$ph701 = $9; + label = 5; + } else { + $11 = ((($1)) + 61|0); + $12 = HEAP8[$11>>0]|0; + $13 = $12&255; + $14 = $13 << 8; + $15 = $14 | $9; + $16 = ($2>>>0)>(62); + if ($16) { + $17 = ((($1)) + 62|0); + $18 = HEAP8[$17>>0]|0; + $19 = $18&255; + $20 = ($2|0)==(63); + if ($20) { + $$ph700 = $19;$$ph701 = $15; + label = 5; + } else { + $23 = ((($1)) + 63|0); + $24 = HEAP8[$23>>0]|0; + $25 = $24&255; + $26 = $25 << 8; + $27 = $26 | $19; + $28 = $27 << 16; + $29 = $28 | $15; + $30 = ($2>>>0)>(64); + if ($30) { + $31 = ((($1)) + 64|0); + $32 = HEAP8[$31>>0]|0; + $33 = $32&255; + $34 = ($2|0)==(65); + if ($34) { + $$ph707 = $33;$$ph708 = $29; + label = 8; + } else { + $37 = ((($1)) + 65|0); + $38 = HEAP8[$37>>0]|0; + $39 = $38&255; + $40 = $39 << 8; + $41 = $40 | $33; + $42 = $41&65535; + $43 = ((($0)) + 46|0); + HEAP16[$43>>1] = $42; + $44 = ($2>>>0)>(66); + if ($44) { + $45 = ((($1)) + 66|0); + $46 = HEAP8[$45>>0]|0; + $47 = $46&255; + $48 = ($2|0)==(67); + if ($48) { + $$ph714 = $47;$$ph715 = $29; + label = 11; + } else { + $51 = ((($1)) + 67|0); + $52 = HEAP8[$51>>0]|0; + $53 = $52&255; + $54 = $53 << 8; + $55 = $54 | $47; + $56 = $55&65535; + $57 = ((($0)) + 48|0); + HEAP16[$57>>1] = $56; + $58 = ($2>>>0)>(68); + if ($58) { + $59 = ((($1)) + 68|0); + $60 = HEAP8[$59>>0]|0; + $61 = $60&255; + $62 = ($2|0)==(69); + if ($62) { + $$ph721 = $61;$$ph722 = $29; + label = 14; + } else { + $65 = ((($1)) + 69|0); + $66 = HEAP8[$65>>0]|0; + $67 = $66&255; + $68 = $67 << 8; + $69 = $68 | $61; + $70 = $69&65535; + $71 = ((($0)) + 50|0); + HEAP16[$71>>1] = $70; + $72 = ($2>>>0)>(70); + if ($72) { + $73 = ((($1)) + 70|0); + $74 = HEAP8[$73>>0]|0; + $75 = $74&255; + $76 = ($2|0)==(71); + if ($76) { + $$ph729 = $75;$$ph730 = $29;$$ph731 = $71; + label = 17; + } else { + $79 = ((($1)) + 71|0); + $80 = HEAP8[$79>>0]|0; + $81 = $80&255; + $82 = $81 << 8; + $83 = $82 | $75; + $84 = $83&65535; + $85 = ((($0)) + 52|0); + HEAP16[$85>>1] = $84; + $86 = ($2>>>0)>(72); + if ($86) { + $87 = ((($1)) + 72|0); + $88 = HEAP8[$87>>0]|0; + $89 = $88&255; + $90 = ($2|0)==(73); + if ($90) { + $101 = $85;$147 = $29;$186 = $71;$95 = 0;$96 = $89; + } else { + $91 = ((($1)) + 73|0); + $92 = HEAP8[$91>>0]|0; + $93 = $92&255; + $phitmp = $93 << 8; + $101 = $85;$147 = $29;$186 = $71;$95 = $phitmp;$96 = $89; + } + } else { + $101 = $85;$147 = $29;$186 = $71;$95 = 0;$96 = 0; + } + } + } else { + $$ph729 = 0;$$ph730 = $29;$$ph731 = $71; + label = 17; + } + } + } else { + $$ph721 = 0;$$ph722 = $29; + label = 14; + } + } + } else { + $$ph714 = 0;$$ph715 = $29; + label = 11; + } + } + } else { + $$ph707 = 0;$$ph708 = $29; + label = 8; + } + } + } else { + $$ph700 = 0;$$ph701 = $15; + label = 5; + } + } + } else { + $$ph700 = 0;$$ph701 = 0; + label = 5; + } + if ((label|0) == 5) { + $21 = $$ph700 << 16; + $22 = $$ph701 | $21; + $$ph707 = 0;$$ph708 = $22; + label = 8; + } + if ((label|0) == 8) { + $35 = $$ph707&65535; + $36 = ((($0)) + 46|0); + HEAP16[$36>>1] = $35; + $$ph714 = 0;$$ph715 = $$ph708; + label = 11; + } + if ((label|0) == 11) { + $49 = $$ph714&65535; + $50 = ((($0)) + 48|0); + HEAP16[$50>>1] = $49; + $$ph721 = 0;$$ph722 = $$ph715; + label = 14; + } + if ((label|0) == 14) { + $63 = $$ph721&65535; + $64 = ((($0)) + 50|0); + HEAP16[$64>>1] = $63; + $$ph729 = 0;$$ph730 = $$ph722;$$ph731 = $64; + label = 17; + } + if ((label|0) == 17) { + $77 = $$ph729&65535; + $78 = ((($0)) + 52|0); + HEAP16[$78>>1] = $77; + $101 = $78;$147 = $$ph730;$186 = $$ph731;$95 = 0;$96 = 0; + } + $94 = $95 | $96; + $97 = $94&65535; + $98 = ((($0)) + 54|0); + HEAP16[$98>>1] = $97; + $99 = ((($0)) + 316|0); + HEAP32[$99>>2] = $3; + $100 = HEAP16[$101>>1]|0; + $102 = $100&65535; + $103 = $102 << 3; + $104 = (($3) + ($103)|0); + $105 = ((($0)) + 320|0); + HEAP32[$105>>2] = $104; + $106 = HEAP16[$98>>1]|0; + $107 = $106&65535; + $108 = ($107*280)|0; + $109 = (($104) + ($108)|0); + $110 = ($2>>>0)>(74); + if ($110) { + $112 = ((($1)) + 74|0); + $113 = HEAP8[$112>>0]|0; + $114 = ($2>>>0)>(76); + $115 = $113 & 1; + $116 = $115 ^ 1; + $117 = $116&255; + $118 = ((($0)) + 56|0); + HEAP32[$118>>2] = $117; + if ($114) { + $119 = ($2|0)==(77); + $120 = ((($1)) + 76|0); + $121 = HEAP8[$120>>0]|0; + $122 = $121&255; + if ($119) { + $$ph740 = $122; + label = 25; + } else { + $125 = ((($1)) + 77|0); + $126 = HEAP8[$125>>0]|0; + $127 = $126&255; + $128 = $127 << 8; + $129 = $128 | $122; + $130 = $129&65535; + $131 = ((($0)) + 328|0); + HEAP16[$131>>1] = $130; + $132 = ($2>>>0)>(78); + if ($132) { + $133 = ((($1)) + 78|0); + $134 = HEAP8[$133>>0]|0; + $135 = $134&255; + $136 = ($2|0)==(79); + if ($136) { + $141 = 0;$142 = $135; + } else { + $137 = ((($1)) + 79|0); + $138 = HEAP8[$137>>0]|0; + $139 = $138&255; + $phitmp804 = $139 << 8; + $141 = $phitmp804;$142 = $135; + } + } else { + $141 = 0;$142 = 0; + } + } + } else { + $$ph740 = 0; + label = 25; + } + } else { + $111 = ((($0)) + 56|0); + HEAP32[$111>>2] = 1; + $$ph740 = 0; + label = 25; + } + if ((label|0) == 25) { + $123 = $$ph740&65535; + $124 = ((($0)) + 328|0); + HEAP16[$124>>1] = $123; + $141 = 0;$142 = 0; + } + $140 = $141 | $142; + $143 = $140&65535; + $144 = ((($0)) + 330|0); + HEAP16[$144>>1] = $143; + $145 = ((($0)) + 60|0); + _memcpy_pad($145,256,$1,$2,80); + $146 = (($147) + 60)|0; + $148 = HEAP16[$101>>1]|0; + $149 = ($148<<16>>16)==(0); + if ($149) { + $$0671$lcssa = $109;$$0672$lcssa = $146; + } else { + $$0671787 = $109;$$0672786 = $146;$$0678785 = 0;$183 = 0; + while(1) { + $152 = (($$0672786) + 7)|0; + $153 = ($152>>>0)<($2>>>0); + if ($153) { + $154 = (($1) + ($152)|0); + $155 = HEAP8[$154>>0]|0; + $156 = $155&255; + $165 = $156; + } else { + $165 = 0; + } + $157 = (($$0672786) + 8)|0; + $158 = ($157>>>0)<($2>>>0); + if ($158) { + $159 = (($1) + ($157)|0); + $160 = HEAP8[$159>>0]|0; + $161 = $160&255; + $163 = $161; + } else { + $163 = 0; + } + $162 = $163 << 8; + $164 = $162 | $165; + $166 = HEAP32[$99>>2]|0; + $167 = (($$0672786) + 5)|0; + $168 = ($167>>>0)<($2>>>0); + if ($168) { + $169 = (($1) + ($167)|0); + $170 = HEAP8[$169>>0]|0; + $171 = $170&255; + $180 = $171; + } else { + $180 = 0; + } + $172 = (($$0672786) + 6)|0; + $173 = ($172>>>0)<($2>>>0); + if ($173) { + $174 = (($1) + ($172)|0); + $175 = HEAP8[$174>>0]|0; + $176 = $175&255; + $178 = $176; + } else { + $178 = 0; + } + $177 = $178 << 8; + $179 = $177 | $180; + $181 = $179&65535; + $182 = (($166) + ($183<<3)|0); + HEAP16[$182>>1] = $181; + $184 = (((($166) + ($183<<3)|0)) + 4|0); + HEAP32[$184>>2] = $$0671787; + $185 = HEAP16[$186>>1]|0; + $187 = $185&65535; + $188 = ($179*5)|0; + $189 = Math_imul($188, $187)|0; + $190 = (($$0671787) + ($189)|0); + $191 = ($$0672786>>>0)<($2>>>0); + if ($191) { + $192 = (($1) + ($$0672786)|0); + $193 = HEAP8[$192>>0]|0; + $194 = $193&255; + $203 = $194; + } else { + $203 = 0; + } + $195 = (($$0672786) + 1)|0; + $196 = ($195>>>0)<($2>>>0); + if ($196) { + $197 = (($1) + ($195)|0); + $198 = HEAP8[$197>>0]|0; + $199 = $198&255; + $201 = $199; + } else { + $201 = 0; + } + $200 = $201 << 8; + $202 = $200 | $203; + $204 = (($$0672786) + 2)|0; + $205 = ($204>>>0)<($2>>>0); + if ($205) { + $206 = (($1) + ($204)|0); + $207 = HEAP8[$206>>0]|0; + $208 = $207&255; + $217 = $208; + } else { + $217 = 0; + } + $209 = (($$0672786) + 3)|0; + $210 = ($209>>>0)<($2>>>0); + if ($210) { + $211 = (($1) + ($209)|0); + $212 = HEAP8[$211>>0]|0; + $213 = $212&255; + $215 = $213; + } else { + $215 = 0; + } + $214 = $215 << 8; + $216 = $214 | $217; + $218 = $216 << 16; + $219 = $202 | $218; + $220 = (($219) + ($$0672786))|0; + $221 = ($164|0)==(0); + if ($221) { + $222 = HEAP32[$184>>2]|0; + $223 = HEAP16[$182>>1]|0; + $224 = $223&65535; + $225 = ($224*5)|0; + $226 = HEAP16[$186>>1]|0; + $227 = $226&65535; + $228 = Math_imul($225, $227)|0; + _memset(($222|0),0,($228|0))|0; + } else { + $$0682783 = 0;$$0689782 = 0;$230 = 0; + while(1) { + $229 = (($230) + ($220))|0; + $231 = ($229>>>0)<($2>>>0); + do { + if ($231) { + $235 = (($1) + ($229)|0); + $236 = HEAP8[$235>>0]|0; + $237 = $236&255; + $238 = HEAP32[$184>>2]|0; + $239 = $$0689782&65535; + $240 = (($238) + (($239*5)|0)|0); + $241 = $237 & 128; + $242 = ($241|0)==(0); + if ($242) { + $308 = $237;$309 = $240;$318 = $238;$319 = $239; + label = 77; + } else { + $243 = (($$0682783) + 1)<<16>>16; + $244 = $237 & 1; + $245 = ($244|0)==(0); + if ($245) { + HEAP8[$240>>0] = 0; + $$1683 = $243; + } else { + $246 = $243&65535; + $247 = (($246) + ($220))|0; + $248 = ($247>>>0)<($2>>>0); + if ($248) { + $249 = (($1) + ($247)|0); + $250 = HEAP8[$249>>0]|0; + $251 = $250&255; + $253 = $251; + } else { + $253 = 0; + } + $252 = $253&255; + HEAP8[$240>>0] = $252; + $254 = (($$0682783) + 2)<<16>>16; + $$1683 = $254; + } + $255 = $237 & 2; + $256 = ($255|0)==(0); + if ($256) { + $267 = (((($238) + (($239*5)|0)|0)) + 1|0); + HEAP8[$267>>0] = 0; + $$2684 = $$1683; + } else { + $257 = $$1683&65535; + $258 = (($257) + ($220))|0; + $259 = ($258>>>0)<($2>>>0); + if ($259) { + $260 = (($1) + ($258)|0); + $261 = HEAP8[$260>>0]|0; + $262 = $261&255; + $264 = $262; + } else { + $264 = 0; + } + $263 = $264&255; + $265 = (((($238) + (($239*5)|0)|0)) + 1|0); + HEAP8[$265>>0] = $263; + $266 = (($$1683) + 1)<<16>>16; + $$2684 = $266; + } + $268 = $237 & 4; + $269 = ($268|0)==(0); + if ($269) { + $280 = (((($238) + (($239*5)|0)|0)) + 2|0); + HEAP8[$280>>0] = 0; + $$3685 = $$2684; + } else { + $270 = $$2684&65535; + $271 = (($270) + ($220))|0; + $272 = ($271>>>0)<($2>>>0); + if ($272) { + $273 = (($1) + ($271)|0); + $274 = HEAP8[$273>>0]|0; + $275 = $274&255; + $277 = $275; + } else { + $277 = 0; + } + $276 = $277&255; + $278 = (((($238) + (($239*5)|0)|0)) + 2|0); + HEAP8[$278>>0] = $276; + $279 = (($$2684) + 1)<<16>>16; + $$3685 = $279; + } + $281 = $237 & 8; + $282 = ($281|0)==(0); + if ($282) { + $293 = (((($238) + (($239*5)|0)|0)) + 3|0); + HEAP8[$293>>0] = 0; + $$4686 = $$3685; + } else { + $283 = $$3685&65535; + $284 = (($283) + ($220))|0; + $285 = ($284>>>0)<($2>>>0); + if ($285) { + $286 = (($1) + ($284)|0); + $287 = HEAP8[$286>>0]|0; + $288 = $287&255; + $290 = $288; + } else { + $290 = 0; + } + $289 = $290&255; + $291 = (((($238) + (($239*5)|0)|0)) + 3|0); + HEAP8[$291>>0] = $289; + $292 = (($$3685) + 1)<<16>>16; + $$4686 = $292; + } + $294 = $237 & 16; + $295 = ($294|0)==(0); + if ($295) { + $306 = (((($238) + (($239*5)|0)|0)) + 4|0); + HEAP8[$306>>0] = 0; + $$5 = $$4686; + break; + } + $296 = $$4686&65535; + $297 = (($296) + ($220))|0; + $298 = ($297>>>0)<($2>>>0); + if ($298) { + $299 = (($1) + ($297)|0); + $300 = HEAP8[$299>>0]|0; + $301 = $300&255; + $303 = $301; + } else { + $303 = 0; + } + $302 = $303&255; + $304 = (((($238) + (($239*5)|0)|0)) + 4|0); + HEAP8[$304>>0] = $302; + $305 = (($$4686) + 1)<<16>>16; + $$5 = $305; + } + } else { + $232 = HEAP32[$184>>2]|0; + $233 = $$0689782&65535; + $234 = (($232) + (($233*5)|0)|0); + $308 = 0;$309 = $234;$318 = $232;$319 = $233; + label = 77; + } + } while(0); + if ((label|0) == 77) { + label = 0; + $307 = $308&255; + HEAP8[$309>>0] = $307; + $310 = (($229) + 1)|0; + $311 = ($310>>>0)<($2>>>0); + if ($311) { + $312 = (($1) + ($310)|0); + $313 = HEAP8[$312>>0]|0; + $314 = $313&255; + $316 = $314; + } else { + $316 = 0; + } + $315 = $316&255; + $317 = (((($318) + (($319*5)|0)|0)) + 1|0); + HEAP8[$317>>0] = $315; + $320 = (($229) + 2)|0; + $321 = ($320>>>0)<($2>>>0); + if ($321) { + $322 = (($1) + ($320)|0); + $323 = HEAP8[$322>>0]|0; + $324 = $323&255; + $326 = $324; + } else { + $326 = 0; + } + $325 = $326&255; + $327 = (((($318) + (($319*5)|0)|0)) + 2|0); + HEAP8[$327>>0] = $325; + $328 = (($229) + 3)|0; + $329 = ($328>>>0)<($2>>>0); + if ($329) { + $330 = (($1) + ($328)|0); + $331 = HEAP8[$330>>0]|0; + $332 = $331&255; + $334 = $332; + } else { + $334 = 0; + } + $333 = $334&255; + $335 = (((($318) + (($319*5)|0)|0)) + 3|0); + HEAP8[$335>>0] = $333; + $336 = (($229) + 4)|0; + $337 = ($336>>>0)<($2>>>0); + if ($337) { + $338 = (($1) + ($336)|0); + $339 = HEAP8[$338>>0]|0; + $340 = $339&255; + $342 = $340; + } else { + $342 = 0; + } + $341 = $342&255; + $343 = (((($318) + (($319*5)|0)|0)) + 4|0); + HEAP8[$343>>0] = $341; + $344 = (($230) + 5)|0; + $345 = $344&65535; + $$5 = $345; + } + $346 = (($$0689782) + 1)<<16>>16; + $347 = $$5&65535; + $348 = ($347>>>0)<($164>>>0); + if ($348) { + $$0682783 = $$5;$$0689782 = $346;$230 = $347; + } else { + break; + } + } + } + $349 = (($220) + ($164))|0; + $350 = (($$0678785) + 1)<<16>>16; + $351 = $350&65535; + $352 = HEAP16[$101>>1]|0; + $353 = ($350&65535)<($352&65535); + if ($353) { + $$0671787 = $190;$$0672786 = $349;$$0678785 = $350;$183 = $351; + } else { + $$0671$lcssa = $190;$$0672$lcssa = $349; + break; + } + } + } + $150 = HEAP16[$98>>1]|0; + $151 = ($150<<16>>16)==(0); + if ($151) { + $$1$lcssa = $$0671$lcssa; + return ($$1$lcssa|0); + } else { + $$0688776 = 0;$$1673777 = $$0672$lcssa;$$1778 = $$0671$lcssa; + } + while(1) { + $354 = $$0688776&65535; + $355 = HEAP32[$105>>2]|0; + $356 = (($355) + (($354*280)|0)|0); + $357 = (($$1673777) + 4)|0; + _memcpy_pad($356,22,$1,$2,$357); + $358 = (($$1673777) + 27)|0; + $359 = ($358>>>0)<($2>>>0); + if ($359) { + $360 = (($1) + ($358)|0); + $361 = HEAP8[$360>>0]|0; + $362 = $361&255; + $371 = $362; + } else { + $371 = 0; + } + $363 = (($$1673777) + 28)|0; + $364 = ($363>>>0)<($2>>>0); + if ($364) { + $365 = (($1) + ($363)|0); + $366 = HEAP8[$365>>0]|0; + $367 = $366&255; + $369 = $367; + } else { + $369 = 0; + } + $368 = $369 << 8; + $370 = $368 | $371; + $372 = $370&65535; + $373 = (((($355) + (($354*280)|0)|0)) + 24|0); + HEAP16[$373>>1] = $372; + $374 = ($370|0)==(0); + if ($374) { + $629 = (((($355) + (($354*280)|0)|0)) + 276|0); + HEAP32[$629>>2] = 0; + $$0687 = 0;$$2 = $$1778; + } else { + $375 = (($$1673777) + 29)|0; + $376 = ($375>>>0)<($2>>>0); + if ($376) { + $377 = (($1) + ($375)|0); + $378 = HEAP8[$377>>0]|0; + $379 = $378&255; + $388 = $379; + } else { + $388 = 0; + } + $380 = (($$1673777) + 30)|0; + $381 = ($380>>>0)<($2>>>0); + if ($381) { + $382 = (($1) + ($380)|0); + $383 = HEAP8[$382>>0]|0; + $384 = $383&255; + $386 = $384; + } else { + $386 = 0; + } + $385 = $386 << 8; + $387 = $385 | $388; + $389 = (($$1673777) + 31)|0; + $390 = ($389>>>0)<($2>>>0); + if ($390) { + $391 = (($1) + ($389)|0); + $392 = HEAP8[$391>>0]|0; + $393 = $392&255; + $402 = $393; + } else { + $402 = 0; + } + $394 = (($$1673777) + 32)|0; + $395 = ($394>>>0)<($2>>>0); + if ($395) { + $396 = (($1) + ($394)|0); + $397 = HEAP8[$396>>0]|0; + $398 = $397&255; + $400 = $398; + } else { + $400 = 0; + } + $399 = $400 << 8; + $401 = $399 | $402; + $403 = $401 << 16; + $404 = $387 | $403; + $405 = (((($355) + (($354*280)|0)|0)) + 26|0); + $406 = (($$1673777) + 33)|0; + _memcpy_pad($405,96,$1,$2,$406); + $407 = (($$1673777) + 225)|0; + $408 = ($407>>>0)<($2>>>0); + if ($408) { + $409 = (($1) + ($407)|0); + $410 = HEAP8[$409>>0]|0; + $411 = $410&255; + $413 = $411; + } else { + $413 = 0; + } + $412 = $413&255; + $414 = (((($355) + (($354*280)|0)|0)) + 172|0); + HEAP8[$414>>0] = $412; + $415 = (($$1673777) + 226)|0; + $416 = ($415>>>0)<($2>>>0); + if ($416) { + $417 = (($1) + ($415)|0); + $418 = HEAP8[$417>>0]|0; + $419 = $418&255; + $421 = $419; + } else { + $421 = 0; + } + $420 = $421&255; + $422 = (((($355) + (($354*280)|0)|0)) + 236|0); + HEAP8[$422>>0] = $420; + $423 = HEAP8[$414>>0]|0; + $424 = ($423<<24>>24)==(0); + if ($424) { + $427 = $420; + } else { + $425 = (($$1673777) + 129)|0; + $$0681752 = 0;$430 = 0; + while(1) { + $429 = $430 << 2; + $431 = (($425) + ($429))|0; + $432 = ($431>>>0)<($2>>>0); + if ($432) { + $433 = (($1) + ($431)|0); + $434 = HEAP8[$433>>0]|0; + $435 = $434&255; + $444 = $435; + } else { + $444 = 0; + } + $436 = (($431) + 1)|0; + $437 = ($436>>>0)<($2>>>0); + if ($437) { + $438 = (($1) + ($436)|0); + $439 = HEAP8[$438>>0]|0; + $440 = $439&255; + $442 = $440; + } else { + $442 = 0; + } + $441 = $442 << 8; + $443 = $441 | $444; + $445 = $443&65535; + $446 = ((((($355) + (($354*280)|0)|0)) + 124|0) + ($430<<2)|0); + HEAP16[$446>>1] = $445; + $447 = (($431) + 2)|0; + $448 = ($447>>>0)<($2>>>0); + if ($448) { + $449 = (($1) + ($447)|0); + $450 = HEAP8[$449>>0]|0; + $451 = $450&255; + $460 = $451; + } else { + $460 = 0; + } + $452 = (($431) + 3)|0; + $453 = ($452>>>0)<($2>>>0); + if ($453) { + $454 = (($1) + ($452)|0); + $455 = HEAP8[$454>>0]|0; + $456 = $455&255; + $458 = $456; + } else { + $458 = 0; + } + $457 = $458 << 8; + $459 = $457 | $460; + $461 = $459&65535; + $462 = ((((((($355) + (($354*280)|0)|0)) + 124|0) + ($430<<2)|0)) + 2|0); + HEAP16[$462>>1] = $461; + $463 = (($$0681752) + 1)<<24>>24; + $464 = $463&255; + $465 = HEAP8[$414>>0]|0; + $466 = ($463&255)<($465&255); + if ($466) { + $$0681752 = $463;$430 = $464; + } else { + break; + } + } + $$pr = HEAP8[$422>>0]|0; + $427 = $$pr; + } + $426 = ($427<<24>>24)==(0); + if (!($426)) { + $428 = (($$1673777) + 177)|0; + $$0680753 = 0;$470 = 0; + while(1) { + $469 = $470 << 2; + $471 = (($428) + ($469))|0; + $472 = ($471>>>0)<($2>>>0); + if ($472) { + $473 = (($1) + ($471)|0); + $474 = HEAP8[$473>>0]|0; + $475 = $474&255; + $484 = $475; + } else { + $484 = 0; + } + $476 = (($471) + 1)|0; + $477 = ($476>>>0)<($2>>>0); + if ($477) { + $478 = (($1) + ($476)|0); + $479 = HEAP8[$478>>0]|0; + $480 = $479&255; + $482 = $480; + } else { + $482 = 0; + } + $481 = $482 << 8; + $483 = $481 | $484; + $485 = $483&65535; + $486 = ((((($355) + (($354*280)|0)|0)) + 188|0) + ($470<<2)|0); + HEAP16[$486>>1] = $485; + $487 = (($471) + 2)|0; + $488 = ($487>>>0)<($2>>>0); + if ($488) { + $489 = (($1) + ($487)|0); + $490 = HEAP8[$489>>0]|0; + $491 = $490&255; + $500 = $491; + } else { + $500 = 0; + } + $492 = (($471) + 3)|0; + $493 = ($492>>>0)<($2>>>0); + if ($493) { + $494 = (($1) + ($492)|0); + $495 = HEAP8[$494>>0]|0; + $496 = $495&255; + $498 = $496; + } else { + $498 = 0; + } + $497 = $498 << 8; + $499 = $497 | $500; + $501 = $499&65535; + $502 = ((((((($355) + (($354*280)|0)|0)) + 188|0) + ($470<<2)|0)) + 2|0); + HEAP16[$502>>1] = $501; + $503 = (($$0680753) + 1)<<24>>24; + $504 = $503&255; + $505 = HEAP8[$422>>0]|0; + $506 = ($503&255)<($505&255); + if ($506) { + $$0680753 = $503;$470 = $504; + } else { + break; + } + } + } + $467 = (($$1673777) + 227)|0; + $468 = ($467>>>0)<($2>>>0); + if ($468) { + $507 = (($1) + ($467)|0); + $508 = HEAP8[$507>>0]|0; + $509 = $508&255; + $511 = $509; + } else { + $511 = 0; + } + $510 = $511&255; + $512 = (((($355) + (($354*280)|0)|0)) + 173|0); + HEAP8[$512>>0] = $510; + $513 = (($$1673777) + 228)|0; + $514 = ($513>>>0)<($2>>>0); + if ($514) { + $515 = (($1) + ($513)|0); + $516 = HEAP8[$515>>0]|0; + $517 = $516&255; + $519 = $517; + } else { + $519 = 0; + } + $518 = $519&255; + $520 = (((($355) + (($354*280)|0)|0)) + 174|0); + HEAP8[$520>>0] = $518; + $521 = (($$1673777) + 229)|0; + $522 = ($521>>>0)<($2>>>0); + if ($522) { + $523 = (($1) + ($521)|0); + $524 = HEAP8[$523>>0]|0; + $525 = $524&255; + $527 = $525; + } else { + $527 = 0; + } + $526 = $527&255; + $528 = (((($355) + (($354*280)|0)|0)) + 175|0); + HEAP8[$528>>0] = $526; + $529 = (($$1673777) + 230)|0; + $530 = ($529>>>0)<($2>>>0); + if ($530) { + $531 = (($1) + ($529)|0); + $532 = HEAP8[$531>>0]|0; + $533 = $532&255; + $535 = $533; + } else { + $535 = 0; + } + $534 = $535&255; + $536 = (((($355) + (($354*280)|0)|0)) + 237|0); + HEAP8[$536>>0] = $534; + $537 = (($$1673777) + 231)|0; + $538 = ($537>>>0)<($2>>>0); + if ($538) { + $539 = (($1) + ($537)|0); + $540 = HEAP8[$539>>0]|0; + $541 = $540&255; + $543 = $541; + } else { + $543 = 0; + } + $542 = $543&255; + $544 = (((($355) + (($354*280)|0)|0)) + 238|0); + HEAP8[$544>>0] = $542; + $545 = (($$1673777) + 232)|0; + $546 = ($545>>>0)<($2>>>0); + if ($546) { + $547 = (($1) + ($545)|0); + $548 = HEAP8[$547>>0]|0; + $549 = $548&255; + $551 = $549; + } else { + $551 = 0; + } + $550 = $551&255; + $552 = (((($355) + (($354*280)|0)|0)) + 239|0); + HEAP8[$552>>0] = $550; + $553 = (($$1673777) + 233)|0; + $554 = ($553>>>0)<($2>>>0); + if ($554) { + $555 = (($1) + ($553)|0); + $556 = HEAP8[$555>>0]|0; + $557 = $556&255; + $559 = $557; + } else { + $559 = 0; + } + $558 = $559 & 1; + $560 = (((($355) + (($354*280)|0)|0)) + 176|0); + HEAP32[$560>>2] = $558; + $561 = $559 & 2; + $562 = (((($355) + (($354*280)|0)|0)) + 180|0); + HEAP32[$562>>2] = $561; + $563 = $559 & 4; + $564 = (((($355) + (($354*280)|0)|0)) + 184|0); + HEAP32[$564>>2] = $563; + $565 = (($$1673777) + 234)|0; + $566 = ($565>>>0)<($2>>>0); + if ($566) { + $567 = (($1) + ($565)|0); + $568 = HEAP8[$567>>0]|0; + $569 = $568&255; + $571 = $569; + } else { + $571 = 0; + } + $570 = $571 & 1; + $572 = (((($355) + (($354*280)|0)|0)) + 240|0); + HEAP32[$572>>2] = $570; + $573 = $571 & 2; + $574 = (((($355) + (($354*280)|0)|0)) + 244|0); + HEAP32[$574>>2] = $573; + $575 = $571 & 4; + $576 = (((($355) + (($354*280)|0)|0)) + 248|0); + HEAP32[$576>>2] = $575; + $577 = (($$1673777) + 235)|0; + $578 = ($577>>>0)<($2>>>0); + L213: do { + if ($578) { + $580 = (($1) + ($577)|0); + $581 = HEAP8[$580>>0]|0; + $582 = $581&255; + $583 = (((($355) + (($354*280)|0)|0)) + 252|0); + HEAP32[$583>>2] = $582; + switch ($581<<24>>24) { + case 2: { + $$sink694 = 1; + break; + } + case 1: { + $$sink694 = 2; + break; + } + default: { + break L213; + } + } + HEAP32[$583>>2] = $$sink694; + } else { + $579 = (((($355) + (($354*280)|0)|0)) + 252|0); + HEAP32[$579>>2] = 0; + } + } while(0); + $584 = (($$1673777) + 236)|0; + $585 = ($584>>>0)<($2>>>0); + if ($585) { + $586 = (($1) + ($584)|0); + $587 = HEAP8[$586>>0]|0; + $588 = $587&255; + $590 = $588; + } else { + $590 = 0; + } + $589 = $590&255; + $591 = (((($355) + (($354*280)|0)|0)) + 256|0); + HEAP8[$591>>0] = $589; + $592 = (($$1673777) + 237)|0; + $593 = ($592>>>0)<($2>>>0); + if ($593) { + $594 = (($1) + ($592)|0); + $595 = HEAP8[$594>>0]|0; + $596 = $595&255; + $598 = $596; + } else { + $598 = 0; + } + $597 = $598&255; + $599 = (((($355) + (($354*280)|0)|0)) + 257|0); + HEAP8[$599>>0] = $597; + $600 = (($$1673777) + 238)|0; + $601 = ($600>>>0)<($2>>>0); + if ($601) { + $602 = (($1) + ($600)|0); + $603 = HEAP8[$602>>0]|0; + $604 = $603&255; + $606 = $604; + } else { + $606 = 0; + } + $605 = $606&255; + $607 = (((($355) + (($354*280)|0)|0)) + 258|0); + HEAP8[$607>>0] = $605; + $608 = (($$1673777) + 239)|0; + $609 = ($608>>>0)<($2>>>0); + if ($609) { + $610 = (($1) + ($608)|0); + $611 = HEAP8[$610>>0]|0; + $612 = $611&255; + $621 = $612; + } else { + $621 = 0; + } + $613 = (($$1673777) + 240)|0; + $614 = ($613>>>0)<($2>>>0); + if ($614) { + $615 = (($1) + ($613)|0); + $616 = HEAP8[$615>>0]|0; + $617 = $616&255; + $619 = $617; + } else { + $619 = 0; + } + $618 = $619 << 8; + $620 = $618 | $621; + $622 = $620&65535; + $623 = (((($355) + (($354*280)|0)|0)) + 260|0); + HEAP16[$623>>1] = $622; + $624 = (((($355) + (($354*280)|0)|0)) + 276|0); + HEAP32[$624>>2] = $$1778; + $625 = HEAP16[$373>>1]|0; + $626 = $625&65535; + $627 = ($626*80)|0; + $628 = (($$1778) + ($627)|0); + $$0687 = $404;$$2 = $628; + } + $630 = ($$1673777>>>0)<($2>>>0); + if ($630) { + $631 = (($1) + ($$1673777)|0); + $632 = HEAP8[$631>>0]|0; + $633 = $632&255; + $642 = $633; + } else { + $642 = 0; + } + $634 = (($$1673777) + 1)|0; + $635 = ($634>>>0)<($2>>>0); + if ($635) { + $636 = (($1) + ($634)|0); + $637 = HEAP8[$636>>0]|0; + $638 = $637&255; + $640 = $638; + } else { + $640 = 0; + } + $639 = $640 << 8; + $641 = $639 | $642; + $643 = (($$1673777) + 2)|0; + $644 = ($643>>>0)<($2>>>0); + if ($644) { + $645 = (($1) + ($643)|0); + $646 = HEAP8[$645>>0]|0; + $647 = $646&255; + $656 = $647; + } else { + $656 = 0; + } + $648 = (($$1673777) + 3)|0; + $649 = ($648>>>0)<($2>>>0); + if ($649) { + $650 = (($1) + ($648)|0); + $651 = HEAP8[$650>>0]|0; + $652 = $651&255; + $654 = $652; + } else { + $654 = 0; + } + $653 = $654 << 8; + $655 = $653 | $656; + $657 = $655 << 16; + $658 = $641 | $657; + $659 = (($658) + ($$1673777))|0; + $660 = HEAP16[$373>>1]|0; + $661 = ($660<<16>>16)==(0); + if ($661) { + $$3$lcssa794 = $$2;$$3675$lcssa = $659; + } else { + $662 = (((($355) + (($354*280)|0)|0)) + 276|0); + $$0679755 = 0;$$2674756 = $659;$$3757 = $$2; + while(1) { + $666 = $$0679755&65535; + $667 = HEAP32[$662>>2]|0; + $668 = ($$2674756>>>0)<($2>>>0); + if ($668) { + $669 = (($1) + ($$2674756)|0); + $670 = HEAP8[$669>>0]|0; + $671 = $670&255; + $680 = $671; + } else { + $680 = 0; + } + $672 = (($$2674756) + 1)|0; + $673 = ($672>>>0)<($2>>>0); + if ($673) { + $674 = (($1) + ($672)|0); + $675 = HEAP8[$674>>0]|0; + $676 = $675&255; + $678 = $676; + } else { + $678 = 0; + } + $677 = $678 << 8; + $679 = $677 | $680; + $681 = (($$2674756) + 2)|0; + $682 = ($681>>>0)<($2>>>0); + if ($682) { + $683 = (($1) + ($681)|0); + $684 = HEAP8[$683>>0]|0; + $685 = $684&255; + $694 = $685; + } else { + $694 = 0; + } + $686 = (($$2674756) + 3)|0; + $687 = ($686>>>0)<($2>>>0); + if ($687) { + $688 = (($1) + ($686)|0); + $689 = HEAP8[$688>>0]|0; + $690 = $689&255; + $692 = $690; + } else { + $692 = 0; + } + $691 = $692 << 8; + $693 = $691 | $694; + $695 = $693 << 16; + $696 = $679 | $695; + $697 = (((($667) + (($666*80)|0)|0)) + 24|0); + HEAP32[$697>>2] = $696; + $698 = (($$2674756) + 4)|0; + $699 = ($698>>>0)<($2>>>0); + if ($699) { + $700 = (($1) + ($698)|0); + $701 = HEAP8[$700>>0]|0; + $702 = $701&255; + $711 = $702; + } else { + $711 = 0; + } + $703 = (($$2674756) + 5)|0; + $704 = ($703>>>0)<($2>>>0); + if ($704) { + $705 = (($1) + ($703)|0); + $706 = HEAP8[$705>>0]|0; + $707 = $706&255; + $709 = $707; + } else { + $709 = 0; + } + $708 = $709 << 8; + $710 = $708 | $711; + $712 = (($$2674756) + 6)|0; + $713 = ($712>>>0)<($2>>>0); + if ($713) { + $714 = (($1) + ($712)|0); + $715 = HEAP8[$714>>0]|0; + $716 = $715&255; + $725 = $716; + } else { + $725 = 0; + } + $717 = (($$2674756) + 7)|0; + $718 = ($717>>>0)<($2>>>0); + if ($718) { + $719 = (($1) + ($717)|0); + $720 = HEAP8[$719>>0]|0; + $721 = $720&255; + $723 = $721; + } else { + $723 = 0; + } + $722 = $723 << 8; + $724 = $722 | $725; + $726 = $724 << 16; + $727 = $710 | $726; + $728 = (((($667) + (($666*80)|0)|0)) + 28|0); + HEAP32[$728>>2] = $727; + $729 = (($$2674756) + 8)|0; + $730 = ($729>>>0)<($2>>>0); + if ($730) { + $731 = (($1) + ($729)|0); + $732 = HEAP8[$731>>0]|0; + $733 = $732&255; + $742 = $733; + } else { + $742 = 0; + } + $734 = (($$2674756) + 9)|0; + $735 = ($734>>>0)<($2>>>0); + if ($735) { + $736 = (($1) + ($734)|0); + $737 = HEAP8[$736>>0]|0; + $738 = $737&255; + $740 = $738; + } else { + $740 = 0; + } + $739 = $740 << 8; + $741 = $739 | $742; + $743 = (($$2674756) + 10)|0; + $744 = ($743>>>0)<($2>>>0); + if ($744) { + $745 = (($1) + ($743)|0); + $746 = HEAP8[$745>>0]|0; + $747 = $746&255; + $756 = $747; + } else { + $756 = 0; + } + $748 = (($$2674756) + 11)|0; + $749 = ($748>>>0)<($2>>>0); + if ($749) { + $750 = (($1) + ($748)|0); + $751 = HEAP8[$750>>0]|0; + $752 = $751&255; + $754 = $752; + } else { + $754 = 0; + } + $753 = $754 << 8; + $755 = $753 | $756; + $757 = $755 << 16; + $758 = $741 | $757; + $759 = (((($667) + (($666*80)|0)|0)) + 32|0); + HEAP32[$759>>2] = $758; + $760 = HEAP32[$728>>2]|0; + $761 = (($758) + ($760))|0; + $762 = (((($667) + (($666*80)|0)|0)) + 36|0); + HEAP32[$762>>2] = $761; + $763 = (($$2674756) + 12)|0; + $764 = ($763>>>0)<($2>>>0); + if ($764) { + $765 = (($1) + ($763)|0); + $766 = HEAP8[$765>>0]|0; + $767 = $766&255; + $769 = $767; + } else { + $769 = 0; + } + $768 = (+($769|0)); + $770 = $768 * 0.015625; + $771 = (((($667) + (($666*80)|0)|0)) + 40|0); + HEAPF32[$771>>2] = $770; + $772 = (($$2674756) + 13)|0; + $773 = ($772>>>0)<($2>>>0); + if ($773) { + $774 = (($1) + ($772)|0); + $775 = HEAP8[$774>>0]|0; + $776 = $775&255; + $778 = $776; + } else { + $778 = 0; + } + $777 = $778&255; + $779 = (((($667) + (($666*80)|0)|0)) + 44|0); + HEAP8[$779>>0] = $777; + $780 = (($$2674756) + 14)|0; + $781 = ($780>>>0)<($2>>>0); + do { + if ($781) { + $782 = (($1) + ($780)|0); + $783 = HEAP8[$782>>0]|0; + $784 = $783&255; + $785 = $784 & 3; + $786 = ($785|0)==(0); + if ($786) { + $889 = $784; + label = 204; + break; + } + $788 = ($785|0)==(1); + $789 = (((($667) + (($666*80)|0)|0)) + 48|0); + $$sink = $788 ? 1 : 2; + HEAP32[$789>>2] = $$sink; + $791 = $784; + } else { + $889 = 0; + label = 204; + } + } while(0); + if ((label|0) == 204) { + label = 0; + $787 = (((($667) + (($666*80)|0)|0)) + 48|0); + HEAP32[$787>>2] = 0; + $791 = $889; + } + $790 = $791 >>> 1; + $792 = $790 & 8; + $793 = (($792) + 8)|0; + $794 = $793&255; + $795 = (((($667) + (($666*80)|0)|0)) + 23|0); + HEAP8[$795>>0] = $794; + $796 = (($$2674756) + 15)|0; + $797 = ($796>>>0)<($2>>>0); + if ($797) { + $798 = (($1) + ($796)|0); + $799 = HEAP8[$798>>0]|0; + $800 = $799&255; + $802 = $800; + } else { + $802 = 0; + } + $801 = (+($802|0)); + $803 = $801 / 255.0; + $804 = (((($667) + (($666*80)|0)|0)) + 52|0); + HEAPF32[$804>>2] = $803; + $805 = (($$2674756) + 16)|0; + $806 = ($805>>>0)<($2>>>0); + if ($806) { + $807 = (($1) + ($805)|0); + $808 = HEAP8[$807>>0]|0; + $809 = $808&255; + $811 = $809; + } else { + $811 = 0; + } + $810 = $811&255; + $812 = (((($667) + (($666*80)|0)|0)) + 56|0); + HEAP8[$812>>0] = $810; + $813 = (($667) + (($666*80)|0)|0); + _memcpy_pad($813,22,$1,$2,18); + $814 = (((($667) + (($666*80)|0)|0)) + 72|0); + HEAP32[$814>>2] = $$3757; + $815 = HEAP8[$795>>0]|0; + $816 = ($815<<24>>24)==(16); + $817 = HEAP32[$697>>2]|0; + if ($816) { + $818 = $817 << 1; + $819 = HEAP32[$728>>2]|0; + $820 = $819 >>> 1; + HEAP32[$728>>2] = $820; + $821 = HEAP32[$759>>2]|0; + $822 = $821 >>> 1; + HEAP32[$759>>2] = $822; + $823 = HEAP32[$762>>2]|0; + $824 = $823 >>> 1; + HEAP32[$762>>2] = $824; + $825 = HEAP32[$697>>2]|0; + $826 = $825 >>> 1; + HEAP32[$697>>2] = $826; + $$pn693 = $818; + } else { + $827 = $817 << 2; + $$pn693 = $827; + } + $$4 = (($$3757) + ($$pn693)|0); + $828 = (($$2674756) + ($$0687))|0; + $829 = (($$0679755) + 1)<<16>>16; + $664 = HEAP16[$373>>1]|0; + $830 = ($829&65535)<($664&65535); + if ($830) { + $$0679755 = $829;$$2674756 = $828;$$3757 = $$4; + } else { + break; + } + } + $663 = ($664<<16>>16)==(0); + if ($663) { + $$3$lcssa794 = $$4;$$3675$lcssa = $828; + } else { + $665 = (((($355) + (($354*280)|0)|0)) + 276|0); + $$0677769 = 0;$$3675770 = $828; + while(1) { + $834 = $$0677769&65535; + $835 = HEAP32[$665>>2]|0; + $836 = (((($835) + (($834*80)|0)|0)) + 24|0); + $837 = HEAP32[$836>>2]|0; + $838 = (((($835) + (($834*80)|0)|0)) + 23|0); + $839 = HEAP8[$838>>0]|0; + $840 = ($839<<24>>24)==(16); + $841 = ($837|0)!=(0); + if ($840) { + if ($841) { + $843 = (((($835) + (($834*80)|0)|0)) + 72|0); + $$0669766 = 0;$$0670765 = 0; + while(1) { + $sext691 = $$0670765 << 16; + $846 = $sext691 >> 16; + $847 = $$0669766 << 1; + $848 = (($847) + ($$3675770))|0; + $849 = ($848>>>0)<($2>>>0); + if ($849) { + $850 = (($1) + ($848)|0); + $851 = HEAP8[$850>>0]|0; + $852 = $851&255; + $861 = $852; + } else { + $861 = 0; + } + $853 = (($848) + 1)|0; + $854 = ($853>>>0)<($2>>>0); + if ($854) { + $855 = (($1) + ($853)|0); + $856 = HEAP8[$855>>0]|0; + $857 = $856&255; + $859 = $857; + } else { + $859 = 0; + } + $858 = $859 << 8; + $860 = $858 | $861; + $sext692 = $860 << 16; + $862 = $sext692 >> 16; + $863 = (($862) + ($846))|0; + $864 = $863&65535; + $865 = (+($864<<16>>16)); + $866 = $865 * 3.0517578125E-5; + $867 = HEAP32[$843>>2]|0; + $868 = (($867) + ($$0669766<<2)|0); + HEAPF32[$868>>2] = $866; + $869 = (($$0669766) + 1)|0; + $exitcond793 = ($869|0)==($837|0); + if ($exitcond793) { + break; + } else { + $$0669766 = $869;$$0670765 = $863; + } + } + } + $844 = HEAP32[$836>>2]|0; + $845 = $844 << 1; + $$pn = $845; + } else { + if ($841) { + $842 = (((($835) + (($834*80)|0)|0)) + 72|0); + $$0668761 = 0;$$0762 = 0; + while(1) { + $sext = $$0668761 << 24; + $871 = $sext >> 24; + $872 = (($$0762) + ($$3675770))|0; + $873 = ($872>>>0)<($2>>>0); + if ($873) { + $874 = (($1) + ($872)|0); + $875 = HEAP8[$874>>0]|0; + $876 = $875&255; + $877 = $876; + } else { + $877 = 0; + } + $sext690 = $877 << 24; + $878 = $sext690 >> 24; + $879 = (($878) + ($871))|0; + $880 = $879&255; + $881 = (+($880<<24>>24)); + $882 = $881 * 0.0078125; + $883 = HEAP32[$842>>2]|0; + $884 = (($883) + ($$0762<<2)|0); + HEAPF32[$884>>2] = $882; + $885 = (($$0762) + 1)|0; + $exitcond = ($885|0)==($837|0); + if ($exitcond) { + break; + } else { + $$0668761 = $879;$$0762 = $885; + } + } + } + $870 = HEAP32[$836>>2]|0; + $$pn = $870; + } + $$4676 = (($$pn) + ($$3675770))|0; + $886 = (($$0677769) + 1)<<16>>16; + $887 = HEAP16[$373>>1]|0; + $888 = ($886&65535)<($887&65535); + if ($888) { + $$0677769 = $886;$$3675770 = $$4676; + } else { + $$3$lcssa794 = $$4;$$3675$lcssa = $$4676; + break; + } + } + } + } + $831 = (($$0688776) + 1)<<16>>16; + $832 = HEAP16[$98>>1]|0; + $833 = ($831&65535)<($832&65535); + if ($833) { + $$0688776 = $831;$$1673777 = $$3675$lcssa;$$1778 = $$3$lcssa794; + } else { + $$1$lcssa = $$3$lcssa794; + break; + } + } + return ($$1$lcssa|0); +} +function _jar_xm_check_sanity_postload($0) { + $0 = $0|0; + var $$01520 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $vararg_buffer = 0, $vararg_buffer2 = 0, $vararg_ptr1 = 0, $vararg_ptr5 = 0, $vararg_ptr6 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $vararg_buffer2 = sp + 8|0; + $vararg_buffer = sp; + $1 = ((($0)) + 46|0); + $2 = HEAP16[$1>>1]|0; + $3 = ($2<<16>>16)==(0); + if ($3) { + $26 = 0; + STACKTOP = sp;return ($26|0); + } + $4 = $2&65535; + $5 = ((($0)) + 52|0); + $6 = HEAP32[1251]|0; + $$01520 = 0;$16 = $4;$18 = $2;$8 = 0; + while(1) { + $7 = (((($0)) + 60|0) + ($8)|0); + $9 = HEAP8[$7>>0]|0; + $10 = $9&255; + $11 = HEAP16[$5>>1]|0; + $12 = $11&65535; + $13 = ($10>>>0)<($12>>>0); + if (!($13)) { + $14 = (($8) + 1)|0; + $15 = ($14|0)==($16|0); + $17 = ($18&65535)>(1); + $or$cond = $17 & $15; + if (!($or$cond)) { + break; + } + $19 = (($18) + -1)<<16>>16; + HEAP16[$1>>1] = $19; + HEAP32[$vararg_buffer>>2] = 16099; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $8; + (_fprintf($6,16061,$vararg_buffer)|0); + (_fflush($6)|0); + } + $20 = (($$01520) + 1)<<24>>24; + $21 = $20&255; + $22 = HEAP16[$1>>1]|0; + $23 = $22&65535; + $24 = ($21>>>0)<($23>>>0); + if ($24) { + $$01520 = $20;$16 = $23;$18 = $22;$8 = $21; + } else { + $26 = 0; + label = 8; + break; + } + } + if ((label|0) == 8) { + STACKTOP = sp;return ($26|0); + } + HEAP32[$vararg_buffer2>>2] = 16099; + $vararg_ptr5 = ((($vararg_buffer2)) + 4|0); + HEAP32[$vararg_ptr5>>2] = $8; + $vararg_ptr6 = ((($vararg_buffer2)) + 8|0); + HEAP32[$vararg_ptr6>>2] = $10; + (_fprintf($6,16128,$vararg_buffer2)|0); + $25 = HEAP32[1251]|0; + (_fflush($25)|0); + $26 = 1; + STACKTOP = sp;return ($26|0); +} +function _jar_xm_free_context($0) { + $0 = $0|0; + var $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP32[$0>>2]|0; + _free($1); + return; +} +function _memcpy_pad($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$ = 0, $10 = 0, $11 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $5 = ($3>>>0)<($4>>>0); + $6 = (($3) - ($4))|0; + $$ = $5 ? 0 : $6; + $7 = ($$>>>0)>($1>>>0); + $8 = $7 ? $1 : $$; + $9 = (($2) + ($4)|0); + _memcpy(($0|0),($9|0),($8|0))|0; + $10 = (($0) + ($8)|0); + $11 = (($1) - ($8))|0; + _memset(($10|0),0,($11|0))|0; + return; +} +function _jar_xm_set_max_loop_count($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($0)) + 385|0); + HEAP8[$2>>0] = $1; + return; +} +function _jar_xm_get_loop_count($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 384|0); + $2 = HEAP8[$1>>0]|0; + return ($2|0); +} +function _jar_xm_get_remaining_samples($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0.0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (_jar_xm_get_loop_count($0)|0); + _jar_xm_set_max_loop_count($0,0); + $2 = (_jar_xm_get_loop_count($0)|0); + $3 = ($2<<24>>24)==($1<<24>>24); + if (!($3)) { + $15 = 0;$16 = 0; + $14 = ((($0)) + 384|0); + HEAP8[$14>>0] = $1; + tempRet0 = ($15); + return ($16|0); + } + $4 = ((($0)) + 352|0); + $6 = 0;$7 = 0; + while(1) { + $5 = +HEAPF32[$4>>2]; + $8 = (+($6>>>0)) + (4294967296.0*(+($7>>>0))); + $9 = $8 + $5; + $10 = (~~$9)>>>0; + $11 = +Math_abs($9) >= 1.0 ? $9 > 0.0 ? (~~+Math_min(+Math_floor($9 / 4294967296.0), 4294967295.0)) >>> 0 : ~~+Math_ceil(($9 - +(~~$9 >>> 0)) / 4294967296.0) >>> 0 : 0; + HEAPF32[$4>>2] = 0.0; + _jar_xm_tick($0); + $12 = (_jar_xm_get_loop_count($0)|0); + $13 = ($12<<24>>24)==($1<<24>>24); + if ($13) { + $6 = $10;$7 = $11; + } else { + $15 = $11;$16 = $10; + break; + } + } + $14 = ((($0)) + 384|0); + HEAP8[$14>>0] = $1; + tempRet0 = ($15); + return ($16|0); +} +function _jar_xm_create_context_from_file($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$1 = 0, $$1$ph = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = (_fopen($2,17460)|0); + $4 = ($3|0)==(0|0); + L1: do { + if ($4) { + $5 = HEAP32[1251]|0; + (_fwrite(16218,25,1,$5)|0); + (_fflush($5)|0); + $$1$ph = 3; + } else { + (_fseek($3,0,2)|0); + $6 = (_ftell($3)|0); + _rewind($3); + $7 = ($6|0)==(-1); + if ($7) { + (_fclose($3)|0); + $8 = HEAP32[1251]|0; + (_fwrite(16244,14,1,$8)|0); + (_fflush($8)|0); + $$1$ph = 4; + break; + } + $9 = (($6) + 1)|0; + $10 = (_malloc($9)|0); + $11 = (_fread($10,1,$6,$3)|0); + $12 = ($11>>>0)<($6>>>0); + (_fclose($3)|0); + if ($12) { + $13 = HEAP32[1251]|0; + (_fwrite(16259,14,1,$13)|0); + (_fflush($13)|0); + $$1$ph = 5; + break; + } + $14 = (_jar_xm_create_context_safe($0,$10,$6,$1)|0); + switch ($14|0) { + case 1: { + $15 = HEAP32[1251]|0; + (_fwrite(16274,45,1,$15)|0); + (_fflush($15)|0); + $$1$ph = 1; + break L1; + break; + } + case 2: { + $16 = HEAP32[1251]|0; + (_fwrite(16320,40,1,$16)|0); + (_fflush($16)|0); + _exit(1); + // unreachable; + break; + } + case 0: { + $$1 = 0; + return ($$1|0); + break; + } + default: { + $17 = HEAP32[1251]|0; + (_fwrite(16361,40,1,$17)|0); + (_fflush($17)|0); + _exit(1); + // unreachable; + } + } + } + } while(0); + HEAP32[$0>>2] = 0; + $$1 = $$1$ph; + return ($$1|0); +} +function _InitAudioDevice() { + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $cond = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer3 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $vararg_buffer3 = sp + 16|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $0 = (_alcOpenDevice((0|0))|0); + $1 = ($0|0)==(0|0); + if ($1) { + _TraceLog(2,16402,$vararg_buffer); + STACKTOP = sp;return; + } + $2 = (_alcCreateContext(($0|0),(0|0))|0); + $cond = ($2|0)==(0|0); + do { + if (!($cond)) { + $3 = (_alcMakeContextCurrent(($2|0))|0); + $4 = ($3<<24>>24)==(0); + if ($4) { + _alcDestroyContext(($2|0)); + break; + } + $5 = (_alcGetString(($0|0),4101)|0); + HEAP32[$vararg_buffer3>>2] = $5; + _TraceLog(0,16470,$vararg_buffer3); + _alListener3f(4100,0.0,0.0,0.0); + _alListener3f(4102,0.0,0.0,0.0); + _alListener3f(4111,0.0,0.0,-1.0); + _alListenerf(4106,1.0); + STACKTOP = sp;return; + } + } while(0); + (_alcCloseDevice(($0|0))|0); + _TraceLog(2,16435,$vararg_buffer1); + STACKTOP = sp;return; +} +function _CloseAudioDevice() { + var $0 = 0, $1 = 0, $2 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $0 = (_alcGetCurrentContext()|0); + $1 = ($0|0)==(0|0); + if ($1) { + _TraceLog(1,16524,$vararg_buffer); + } + $2 = (_alcGetContextsDevice(($0|0))|0); + (_alcMakeContextCurrent((0|0))|0); + _alcDestroyContext(($0|0)); + (_alcCloseDevice(($2|0))|0); + _TraceLog(0,16572,$vararg_buffer1); + STACKTOP = sp;return; +} +function _LoadWave($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; + var $vararg_buffer = 0, $vararg_buffer1 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $2 = sp + 12|0; + ;HEAP32[$2>>2]=0|0;HEAP32[$2+4>>2]=0|0;HEAP32[$2+8>>2]=0|0;HEAP32[$2+12>>2]=0|0;HEAP32[$2+16>>2]=0|0; + $3 = (_IsFileExtension($1,16605)|0); + $4 = ($3|0)==(0); + do { + if ($4) { + $5 = (_IsFileExtension($1,16610)|0); + $6 = ($5|0)==(0); + if (!($6)) { + _LoadOGG($2,$1); + break; + } + $7 = (_IsFileExtension($1,16615)|0); + $8 = ($7|0)==(0); + if ($8) { + HEAP32[$vararg_buffer1>>2] = $1; + _TraceLog(1,16667,$vararg_buffer1); + break; + } + $9 = (_LoadResource($1,0)|0); + $10 = HEAP32[$9>>2]|0; + $11 = ($10|0)==(2); + if ($11) { + $12 = ((($9)) + 20|0); + $13 = HEAP32[$12>>2]|0; + $14 = ((($9)) + 4|0); + $15 = HEAP32[$14>>2]|0; + $16 = ((($9)) + 8|0); + $17 = HEAP32[$16>>2]|0; + $18 = ((($9)) + 12|0); + $19 = HEAP32[$18>>2]|0; + $20 = ((($9)) + 16|0); + $21 = HEAP32[$20>>2]|0; + _LoadWaveEx($2,$13,$15,$17,$19,$21); + } else { + HEAP32[$vararg_buffer>>2] = $1; + _TraceLog(1,16621,$vararg_buffer); + } + _UnloadResource($9); + } else { + _LoadWAV($2,$1); + } + } while(0); + ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$2+16>>2]|0; + STACKTOP = sp;return; +} +function _LoadWAV($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$pr = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; + var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; + var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0; + var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer14 = 0, $vararg_buffer18 = 0, $vararg_buffer4 = 0, $vararg_buffer7 = 0, $vararg_ptr13 = 0, $vararg_ptr17 = 0, $vararg_ptr21 = 0, $vararg_ptr22 = 0; + var $vararg_ptr23 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 144|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(144|0); + $vararg_buffer18 = sp + 48|0; + $vararg_buffer14 = sp + 40|0; + $vararg_buffer10 = sp + 32|0; + $vararg_buffer7 = sp + 24|0; + $vararg_buffer4 = sp + 16|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $2 = sp + 120|0; + $3 = sp + 96|0; + $4 = sp + 88|0; + $5 = sp + 64|0; + ;HEAP32[$5>>2]=0|0;HEAP32[$5+4>>2]=0|0;HEAP32[$5+8>>2]=0|0;HEAP32[$5+12>>2]=0|0;HEAP32[$5+16>>2]=0|0; + $6 = (_fopen($1,17460)|0); + $7 = ($6|0)==(0|0); + if ($7) { + HEAP32[$vararg_buffer>>2] = $1; + _TraceLog(1,17841,$vararg_buffer); + $8 = ((($5)) + 16|0); + HEAP32[$8>>2] = 0; + ;HEAP32[$0>>2]=HEAP32[$5>>2]|0;HEAP32[$0+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$5+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$5+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$5+16>>2]|0; + STACKTOP = sp;return; + } + (_fread($2,12,1,$6)|0); + $9 = (_strncmp($2,17875,4)|0); + $10 = ($9|0)==(0); + do { + if ($10) { + $11 = ((($2)) + 8|0); + $12 = (_strncmp($11,17880,4)|0); + $13 = ($12|0)==(0); + if ($13) { + (_fread($3,24,1,$6)|0); + $14 = HEAP8[$3>>0]|0; + $15 = ($14<<24>>24)==(102); + if ($15) { + $16 = ((($3)) + 1|0); + $17 = HEAP8[$16>>0]|0; + $18 = ($17<<24>>24)==(109); + if ($18) { + $19 = ((($3)) + 2|0); + $20 = HEAP8[$19>>0]|0; + $21 = ($20<<24>>24)==(116); + if ($21) { + $22 = ((($3)) + 3|0); + $23 = HEAP8[$22>>0]|0; + $24 = ($23<<24>>24)==(32); + if ($24) { + $25 = ((($3)) + 4|0); + $26 = HEAP32[$25>>2]|0; + $27 = ($26|0)>(16); + if ($27) { + (_fseek($6,2,1)|0); + } + (_fread($4,8,1,$6)|0); + $28 = HEAP8[$4>>0]|0; + $29 = ($28<<24>>24)==(100); + if ($29) { + $30 = ((($4)) + 1|0); + $31 = HEAP8[$30>>0]|0; + $32 = ($31<<24>>24)==(97); + if ($32) { + $33 = ((($4)) + 2|0); + $34 = HEAP8[$33>>0]|0; + $35 = ($34<<24>>24)==(116); + if ($35) { + $36 = ((($4)) + 3|0); + $37 = HEAP8[$36>>0]|0; + $38 = ($37<<24>>24)==(97); + if ($38) { + $39 = ((($4)) + 4|0); + $40 = HEAP32[$39>>2]|0; + $41 = (_malloc($40)|0); + $42 = ((($5)) + 16|0); + HEAP32[$42>>2] = $41; + (_fread($41,$40,1,$6)|0); + $43 = ((($3)) + 12|0); + $44 = HEAP32[$43>>2]|0; + $45 = ((($5)) + 4|0); + HEAP32[$45>>2] = $44; + $46 = ((($3)) + 22|0); + $47 = HEAP16[$46>>1]|0; + $48 = $47 << 16 >> 16; + $49 = ((($5)) + 8|0); + HEAP32[$49>>2] = $48; + $50 = ((($3)) + 10|0); + $51 = HEAP16[$50>>1]|0; + $52 = $51 << 16 >> 16; + $53 = ((($5)) + 12|0); + HEAP32[$53>>2] = $52; + switch ($47<<16>>16) { + case 32: case 16: case 8: { + $57 = $52; + break; + } + default: { + HEAP32[$vararg_buffer10>>2] = $1; + $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); + HEAP32[$vararg_ptr13>>2] = $48; + _TraceLog(1,17968,$vararg_buffer10); + $54 = HEAP32[$45>>2]|0; + $55 = HEAP32[$53>>2]|0; + _WaveFormat($5,$54,16,$55); + $$pr = HEAP32[$53>>2]|0; + $57 = $$pr; + } + } + $56 = ($57>>>0)>(2); + if ($56) { + $58 = HEAP32[$45>>2]|0; + $59 = HEAP32[$49>>2]|0; + _WaveFormat($5,$58,$59,2); + $60 = HEAP32[$53>>2]|0; + HEAP32[$vararg_buffer14>>2] = $1; + $vararg_ptr17 = ((($vararg_buffer14)) + 4|0); + HEAP32[$vararg_ptr17>>2] = $60; + _TraceLog(1,18031,$vararg_buffer14); + } + $61 = HEAP32[$39>>2]|0; + $62 = HEAP32[$49>>2]|0; + $63 = $62 >>> 3; + $64 = (($61>>>0) / ($63>>>0))&-1; + $65 = HEAP32[$53>>2]|0; + $66 = (($64>>>0) / ($65>>>0))&-1; + HEAP32[$5>>2] = $66; + $67 = HEAP32[$45>>2]|0; + $68 = ($65|0)==(1); + $69 = $68 ? 16891 : 16896; + HEAP32[$vararg_buffer18>>2] = $1; + $vararg_ptr21 = ((($vararg_buffer18)) + 4|0); + HEAP32[$vararg_ptr21>>2] = $67; + $vararg_ptr22 = ((($vararg_buffer18)) + 8|0); + HEAP32[$vararg_ptr22>>2] = $62; + $vararg_ptr23 = ((($vararg_buffer18)) + 12|0); + HEAP32[$vararg_ptr23>>2] = $69; + _TraceLog(0,18100,$vararg_buffer18); + break; + } + } + } + } + HEAP32[$vararg_buffer7>>2] = $1; + _TraceLog(1,17943,$vararg_buffer7); + break; + } + } + } + } + HEAP32[$vararg_buffer4>>2] = $1; + _TraceLog(1,17918,$vararg_buffer4); + } else { + label = 5; + } + } else { + label = 5; + } + } while(0); + if ((label|0) == 5) { + HEAP32[$vararg_buffer1>>2] = $1; + _TraceLog(1,17885,$vararg_buffer1); + } + (_fclose($6)|0); + ;HEAP32[$0>>2]=HEAP32[$5>>2]|0;HEAP32[$0+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$5+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$5+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$5+16>>2]|0; + STACKTOP = sp;return; +} +function _LoadOGG($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$sroa$0$0 = 0, $$sroa$11$0 = 0, $$sroa$11$0$$sroa_idx19 = 0, $$sroa$15$0 = 0, $$sroa$15$0$$sroa_idx23 = 0, $$sroa$7$0 = 0, $$sroa$7$0$$sroa_idx15 = 0, $$sroa$9$0 = 0, $$sroa$9$0$$sroa_idx17 = 0, $10 = 0, $11 = 0.0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $2 = 0, $3 = 0; + var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0.0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer5 = 0, $vararg_buffer9 = 0, $vararg_ptr12 = 0, $vararg_ptr13 = 0, $vararg_ptr14 = 0, $vararg_ptr4 = 0, $vararg_ptr8 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0); + $vararg_buffer9 = sp + 32|0; + $vararg_buffer5 = sp + 24|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $2 = sp + 48|0; + $3 = (_stb_vorbis_open_filename($1,0,0)|0); + $4 = ($3|0)==(0|0); + if ($4) { + HEAP32[$vararg_buffer>>2] = $1; + _TraceLog(1,16723,$vararg_buffer); + $$sroa$0$0 = 0;$$sroa$11$0 = 0;$$sroa$15$0 = 0;$$sroa$7$0 = 0;$$sroa$9$0 = 0; + } else { + _stb_vorbis_get_info($2,$3); + $5 = HEAP32[$2>>2]|0; + $6 = ((($2)) + 4|0); + $7 = HEAP32[$6>>2]|0; + $8 = (_stb_vorbis_stream_length_in_samples($3)|0); + $9 = (+_stb_vorbis_stream_length_in_seconds($3)); + $10 = $9 > 10.0; + if ($10) { + $11 = $9; + HEAP32[$vararg_buffer1>>2] = $1; + $vararg_ptr4 = ((($vararg_buffer1)) + 8|0); + HEAPF64[$vararg_ptr4>>3] = $11; + _TraceLog(1,16757,$vararg_buffer1); + } + $12 = Math_imul($8, $7)|0; + $13 = $12 << 1; + $14 = (_malloc($13)|0); + $15 = HEAP32[$6>>2]|0; + $16 = (_stb_vorbis_get_samples_short_interleaved($3,$15,$14,$12)|0); + HEAP32[$vararg_buffer5>>2] = $1; + $vararg_ptr8 = ((($vararg_buffer5)) + 4|0); + HEAP32[$vararg_ptr8>>2] = $16; + _TraceLog(3,16865,$vararg_buffer5); + $17 = ($7|0)==(1); + $18 = $17 ? 16891 : 16896; + HEAP32[$vararg_buffer9>>2] = $1; + $vararg_ptr12 = ((($vararg_buffer9)) + 4|0); + HEAP32[$vararg_ptr12>>2] = $5; + $vararg_ptr13 = ((($vararg_buffer9)) + 8|0); + HEAP32[$vararg_ptr13>>2] = 16; + $vararg_ptr14 = ((($vararg_buffer9)) + 12|0); + HEAP32[$vararg_ptr14>>2] = $18; + _TraceLog(0,16903,$vararg_buffer9); + _stb_vorbis_close($3); + $$sroa$0$0 = $8;$$sroa$11$0 = $7;$$sroa$15$0 = $14;$$sroa$7$0 = $5;$$sroa$9$0 = 16; + } + HEAP32[$0>>2] = $$sroa$0$0; + $$sroa$7$0$$sroa_idx15 = ((($0)) + 4|0); + HEAP32[$$sroa$7$0$$sroa_idx15>>2] = $$sroa$7$0; + $$sroa$9$0$$sroa_idx17 = ((($0)) + 8|0); + HEAP32[$$sroa$9$0$$sroa_idx17>>2] = $$sroa$9$0; + $$sroa$11$0$$sroa_idx19 = ((($0)) + 12|0); + HEAP32[$$sroa$11$0$$sroa_idx19>>2] = $$sroa$11$0; + $$sroa$15$0$$sroa_idx23 = ((($0)) + 16|0); + HEAP32[$$sroa$15$0$$sroa_idx23>>2] = $$sroa$15$0; + STACKTOP = sp;return; +} +function _LoadWaveEx($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + var $$byval_copy = 0, $10 = 0, $11 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $$byval_copy = sp + 40|0; + $6 = sp + 20|0; + $7 = sp; + $8 = ((($6)) + 16|0); + HEAP32[$8>>2] = $1; + HEAP32[$6>>2] = $2; + $9 = ((($6)) + 4|0); + HEAP32[$9>>2] = $3; + $10 = ((($6)) + 8|0); + HEAP32[$10>>2] = $4; + $11 = ((($6)) + 12|0); + HEAP32[$11>>2] = $5; + ;HEAP32[$$byval_copy>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$6+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$6+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$6+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$6+16>>2]|0; + _WaveCopy($7,$$byval_copy); + _WaveFormat($7,$3,$4,$5); + ;HEAP32[$0>>2]=HEAP32[$7>>2]|0;HEAP32[$0+4>>2]=HEAP32[$7+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$7+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$7+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$7+16>>2]|0; + STACKTOP = sp;return; +} +function _WaveCopy($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$sroa$0$0 = 0, $$sroa$5$0 = 0, $$sroa$5$0$$sroa_idx2 = 0, $$sroa$6$0 = 0, $$sroa$6$0$$sroa_idx4 = 0, $$sroa$7$0 = 0, $$sroa$7$0$$sroa_idx6 = 0, $$sroa$8$0$$sroa_idx8 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0; + var $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = HEAP32[$1>>2]|0; + $3 = ((($1)) + 8|0); + $4 = HEAP32[$3>>2]|0; + $5 = Math_imul($4, $2)|0; + $6 = $5 >>> 3; + $7 = ((($1)) + 12|0); + $8 = HEAP32[$7>>2]|0; + $9 = Math_imul($6, $8)|0; + $10 = (_malloc($9)|0); + $11 = ($10|0)==(0|0); + if ($11) { + $$sroa$0$0 = 0;$$sroa$5$0 = 0;$$sroa$6$0 = 0;$$sroa$7$0 = 0; + } else { + $12 = ((($1)) + 16|0); + $13 = HEAP32[$12>>2]|0; + $14 = Math_imul($4, $2)|0; + $15 = Math_imul($14, $8)|0; + $16 = $15 >>> 3; + _memcpy(($10|0),($13|0),($16|0))|0; + $17 = HEAP32[$1>>2]|0; + $18 = ((($1)) + 4|0); + $19 = HEAP32[$18>>2]|0; + $20 = HEAP32[$3>>2]|0; + $21 = HEAP32[$7>>2]|0; + $$sroa$0$0 = $17;$$sroa$5$0 = $19;$$sroa$6$0 = $20;$$sroa$7$0 = $21; + } + HEAP32[$0>>2] = $$sroa$0$0; + $$sroa$5$0$$sroa_idx2 = ((($0)) + 4|0); + HEAP32[$$sroa$5$0$$sroa_idx2>>2] = $$sroa$5$0; + $$sroa$6$0$$sroa_idx4 = ((($0)) + 8|0); + HEAP32[$$sroa$6$0$$sroa_idx4>>2] = $$sroa$6$0; + $$sroa$7$0$$sroa_idx6 = ((($0)) + 12|0); + HEAP32[$$sroa$7$0$$sroa_idx6>>2] = $$sroa$7$0; + $$sroa$8$0$$sroa_idx8 = ((($0)) + 16|0); + HEAP32[$$sroa$8$0$$sroa_idx8>>2] = $10; + return; +} +function _WaveFormat($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$0153164 = 0, $$0154162 = 0, $$0155163 = 0, $$0156170 = 0, $$0157167 = 0, $$0165 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0; + var $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0; + var $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0; + var $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0; + var $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0.0, $171 = 0, $172 = 0, $173 = 0.0, $174 = 0.0, $175 = 0.0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $19 = 0, $20 = 0; + var $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0.0, $4 = 0; + var $40 = 0.0, $41 = 0.0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0.0, $49 = 0.0, $5 = 0, $50 = 0.0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0; + var $59 = 0, $6 = 0, $60 = 0, $61 = 0.0, $62 = 0.0, $63 = 0.0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0.0, $71 = 0.0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0; + var $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0.0, $83 = 0.0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0.0, $91 = 0.0, $92 = 0, $93 = 0, $94 = 0; + var $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond = 0, $or$cond = 0, $or$cond3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $4 = ((($0)) + 4|0); + $5 = HEAP32[$4>>2]|0; + $6 = ($5|0)==($1|0); + if (!($6)) { + HEAP32[$4>>2] = $1; + } + $7 = ((($0)) + 8|0); + $8 = HEAP32[$7>>2]|0; + $9 = ($8|0)==($2|0); + if (!($9)) { + $10 = HEAP32[$0>>2]|0; + $11 = ((($0)) + 12|0); + $12 = HEAP32[$11>>2]|0; + $13 = Math_imul($10, $2)|0; + $14 = Math_imul($13, $12)|0; + $15 = $14 >>> 3; + $16 = (_malloc($15)|0); + $17 = HEAP32[$0>>2]|0; + $18 = ($17|0)==(0); + if (!($18)) { + $19 = ((($0)) + 16|0); + $20 = ((($0)) + 16|0); + $21 = ((($0)) + 16|0); + $22 = ((($0)) + 16|0); + $23 = ((($0)) + 16|0); + $24 = ((($0)) + 16|0); + $$0156170 = 0; + while(1) { + $25 = HEAP32[$11>>2]|0; + $26 = ($25|0)==(0); + L10: do { + if (!($26)) { + $$0157167 = 0;$35 = $25; + while(1) { + L13: do { + switch ($2|0) { + case 8: { + $32 = HEAP32[$7>>2]|0; + switch ($32|0) { + case 16: { + $33 = HEAP32[$19>>2]|0; + $34 = Math_imul($35, $$0156170)|0; + $36 = (($34) + ($$0157167))|0; + $37 = (($33) + ($36<<1)|0); + $38 = HEAP16[$37>>1]|0; + $39 = (+($38<<16>>16)); + $40 = $39 / 32767.0; + $41 = $40 * 256.0; + $42 = (~~(($41))&255); + $43 = (($16) + ($36)|0); + HEAP8[$43>>0] = $42; + break L13; + break; + } + case 32: { + $44 = HEAP32[$20>>2]|0; + $45 = Math_imul($35, $$0156170)|0; + $46 = (($45) + ($$0157167))|0; + $47 = (($44) + ($46<<2)|0); + $48 = +HEAPF32[$47>>2]; + $49 = $48 * 127.0; + $50 = $49 + 127.0; + $51 = (~~(($50))&255); + $52 = (($16) + ($46)|0); + HEAP8[$52>>0] = $51; + break L13; + break; + } + default: { + break L13; + } + } + break; + } + case 16: { + $53 = HEAP32[$7>>2]|0; + switch ($53|0) { + case 8: { + $54 = HEAP32[$21>>2]|0; + $55 = Math_imul($35, $$0156170)|0; + $56 = (($55) + ($$0157167))|0; + $57 = (($54) + ($56)|0); + $58 = HEAP8[$57>>0]|0; + $59 = $58&255; + $60 = (($59) + -127)|0; + $61 = (+($60|0)); + $62 = $61 * 0.00390625; + $63 = $62 * 32767.0; + $64 = (~~(($63))); + $65 = (($16) + ($56<<1)|0); + HEAP16[$65>>1] = $64; + break L13; + break; + } + case 32: { + $66 = HEAP32[$22>>2]|0; + $67 = Math_imul($35, $$0156170)|0; + $68 = (($67) + ($$0157167))|0; + $69 = (($66) + ($68<<2)|0); + $70 = +HEAPF32[$69>>2]; + $71 = $70 * 32767.0; + $72 = (~~(($71))); + $73 = (($16) + ($68<<1)|0); + HEAP16[$73>>1] = $72; + break L13; + break; + } + default: { + break L13; + } + } + break; + } + case 32: { + $74 = HEAP32[$7>>2]|0; + switch ($74|0) { + case 8: { + $75 = HEAP32[$23>>2]|0; + $76 = Math_imul($35, $$0156170)|0; + $77 = (($76) + ($$0157167))|0; + $78 = (($75) + ($77)|0); + $79 = HEAP8[$78>>0]|0; + $80 = $79&255; + $81 = (($80) + -127)|0; + $82 = (+($81|0)); + $83 = $82 * 0.00390625; + $84 = (($16) + ($77<<2)|0); + HEAPF32[$84>>2] = $83; + break L13; + break; + } + case 16: { + $85 = HEAP32[$24>>2]|0; + $86 = Math_imul($35, $$0156170)|0; + $87 = (($86) + ($$0157167))|0; + $88 = (($85) + ($87<<1)|0); + $89 = HEAP16[$88>>1]|0; + $90 = (+($89<<16>>16)); + $91 = $90 / 32767.0; + $92 = (($16) + ($87<<2)|0); + HEAPF32[$92>>2] = $91; + break L13; + break; + } + default: { + break L13; + } + } + break; + } + default: { + } + } + } while(0); + $93 = (($$0157167) + 1)|0; + $94 = HEAP32[$11>>2]|0; + $95 = ($93>>>0)<($94>>>0); + if ($95) { + $$0157167 = $93;$35 = $94; + } else { + break L10; + } + } + } + } while(0); + $29 = (($$0156170) + 1)|0; + $30 = HEAP32[$0>>2]|0; + $31 = ($29>>>0)<($30>>>0); + if ($31) { + $$0156170 = $29; + } else { + break; + } + } + } + HEAP32[$7>>2] = $2; + $27 = ((($0)) + 16|0); + $28 = HEAP32[$27>>2]|0; + _free($28); + HEAP32[$27>>2] = $16; + } + $96 = ((($0)) + 12|0); + $97 = HEAP32[$96>>2]|0; + $98 = ($97|0)==($3|0); + if ($98) { + return; + } + $99 = HEAP32[$0>>2]|0; + $100 = HEAP32[$7>>2]|0; + $101 = Math_imul($100, $99)|0; + $102 = $101 >>> 3; + $103 = Math_imul($102, $3)|0; + $104 = (_malloc($103)|0); + $105 = HEAP32[$96>>2]|0; + $106 = ($105|0)==(1); + $107 = ($3|0)==(2); + $or$cond = $107 & $106; + L33: do { + if ($or$cond) { + $108 = HEAP32[$0>>2]|0; + $109 = ($108|0)==(0); + if (!($109)) { + $110 = ((($0)) + 16|0); + $111 = ((($0)) + 16|0); + $112 = ((($0)) + 16|0); + $$0155163 = 0; + while(1) { + $113 = Math_imul($$0155163, $3)|0; + $114 = Math_imul($$0155163, $3)|0; + $115 = Math_imul($$0155163, $3)|0; + $$0154162 = 0; + while(1) { + $119 = HEAP32[$7>>2]|0; + switch ($119|0) { + case 8: { + $120 = HEAP32[$110>>2]|0; + $121 = (($120) + ($$0155163)|0); + $122 = HEAP8[$121>>0]|0; + $123 = (($$0154162) + ($113))|0; + $124 = (($104) + ($123)|0); + HEAP8[$124>>0] = $122; + break; + } + case 16: { + $125 = HEAP32[$111>>2]|0; + $126 = (($125) + ($$0155163<<1)|0); + $127 = HEAP16[$126>>1]|0; + $128 = (($$0154162) + ($114))|0; + $129 = (($104) + ($128<<1)|0); + HEAP16[$129>>1] = $127; + break; + } + case 32: { + $130 = HEAP32[$112>>2]|0; + $131 = (($130) + ($$0155163<<2)|0); + $132 = HEAP32[$131>>2]|0; + $133 = (($$0154162) + ($115))|0; + $134 = (($104) + ($133<<2)|0); + HEAP32[$134>>2] = $132; + break; + } + default: { + } + } + $135 = (($$0154162) + 1)|0; + $exitcond = ($135|0)==($3|0); + if ($exitcond) { + break; + } else { + $$0154162 = $135; + } + } + $116 = (($$0155163) + 1)|0; + $117 = HEAP32[$0>>2]|0; + $118 = ($116>>>0)<($117>>>0); + if ($118) { + $$0155163 = $116; + } else { + break; + } + } + } + } else { + $136 = ($105|0)==(2); + $137 = ($3|0)==(1); + $or$cond3 = $137 & $136; + if ($or$cond3) { + $138 = HEAP32[$0>>2]|0; + $139 = ($138|0)==(0); + if (!($139)) { + $140 = ((($0)) + 16|0); + $141 = ((($0)) + 16|0); + $142 = ((($0)) + 16|0); + $$0153164 = 0;$$0165 = 0; + while(1) { + $143 = HEAP32[$7>>2]|0; + switch ($143|0) { + case 8: { + $144 = HEAP32[$140>>2]|0; + $145 = (($144) + ($$0165)|0); + $146 = HEAP8[$145>>0]|0; + $147 = $146&255; + $148 = $$0165 | 1; + $149 = (($144) + ($148)|0); + $150 = HEAP8[$149>>0]|0; + $151 = $150&255; + $152 = (($151) + ($147))|0; + $153 = $152 >>> 1; + $154 = $153&255; + $155 = (($104) + ($$0153164)|0); + HEAP8[$155>>0] = $154; + break; + } + case 16: { + $156 = HEAP32[$141>>2]|0; + $157 = (($156) + ($$0165<<1)|0); + $158 = HEAP16[$157>>1]|0; + $159 = $158 << 16 >> 16; + $160 = $$0165 | 1; + $161 = (($156) + ($160<<1)|0); + $162 = HEAP16[$161>>1]|0; + $163 = $162 << 16 >> 16; + $164 = (($163) + ($159))|0; + $165 = (($164|0) / 2)&-1; + $166 = $165&65535; + $167 = (($104) + ($$0153164<<1)|0); + HEAP16[$167>>1] = $166; + break; + } + case 32: { + $168 = HEAP32[$142>>2]|0; + $169 = (($168) + ($$0165<<2)|0); + $170 = +HEAPF32[$169>>2]; + $171 = $$0165 | 1; + $172 = (($168) + ($171<<2)|0); + $173 = +HEAPF32[$172>>2]; + $174 = $170 + $173; + $175 = $174 * 0.5; + $176 = (($104) + ($$0153164<<2)|0); + HEAPF32[$176>>2] = $175; + break; + } + default: { + } + } + $177 = (($$0153164) + 1)|0; + $178 = (($$0165) + 2)|0; + $179 = HEAP32[$0>>2]|0; + $180 = ($177>>>0)<($179>>>0); + if ($180) { + $$0153164 = $177;$$0165 = $178; + } else { + break L33; + } + } + } + } + } + } while(0); + HEAP32[$96>>2] = $3; + $181 = ((($0)) + 16|0); + $182 = HEAP32[$181>>2]|0; + _free($182); + HEAP32[$181>>2] = $104; + return; +} +function _stb_vorbis_open_filename($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$0 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = (_fopen($0,17460)|0); + $4 = ($3|0)==(0|0); + if ($4) { + $6 = ($1|0)==(0|0); + if ($6) { + $$0 = 0; + } else { + HEAP32[$1>>2] = 6; + $$0 = 0; + } + } else { + $5 = (_stb_vorbis_open_file($3,1,$1,$2)|0); + $$0 = $5; + } + return ($$0|0); +} +function _stb_vorbis_get_info($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$sroa$4$0$$sroa_idx2 = 0, $$sroa$5$0$$sroa_idx4 = 0, $$sroa$6$0$$sroa_idx6 = 0, $$sroa$7$0$$sroa_idx8 = 0, $$sroa$8$0$$sroa_idx10 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($1)) + 4|0); + $3 = HEAP32[$2>>2]|0; + $4 = HEAP32[$1>>2]|0; + $5 = ((($1)) + 8|0); + $6 = HEAP32[$5>>2]|0; + $7 = ((($1)) + 16|0); + $8 = HEAP32[$7>>2]|0; + $9 = ((($1)) + 12|0); + $10 = HEAP32[$9>>2]|0; + $11 = ((($1)) + 116|0); + $12 = HEAP32[$11>>2]|0; + $13 = $12 >> 1; + HEAP32[$0>>2] = $4; + $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); + HEAP32[$$sroa$4$0$$sroa_idx2>>2] = $3; + $$sroa$5$0$$sroa_idx4 = ((($0)) + 8|0); + HEAP32[$$sroa$5$0$$sroa_idx4>>2] = $6; + $$sroa$6$0$$sroa_idx6 = ((($0)) + 12|0); + HEAP32[$$sroa$6$0$$sroa_idx6>>2] = $8; + $$sroa$7$0$$sroa_idx8 = ((($0)) + 16|0); + HEAP32[$$sroa$7$0$$sroa_idx8>>2] = $10; + $$sroa$8$0$$sroa_idx10 = ((($0)) + 20|0); + HEAP32[$$sroa$8$0$$sroa_idx10>>2] = $13; + return; +} +function _stb_vorbis_stream_length_in_samples($0) { + $0 = $0|0; + var $$ = 0, $$0 = 0, $$050 = 0, $$51 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; + var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; + var $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $1 = sp + 4|0; + $2 = sp; + $3 = sp + 8|0; + $4 = ((($0)) + 48|0); + $5 = HEAP8[$4>>0]|0; + $6 = ($5<<24>>24)==(0); + if (!($6)) { + _error($0,2); + $$0 = 0; + STACKTOP = sp;return ($$0|0); + } + $7 = ((($0)) + 796|0); + $8 = HEAP32[$7>>2]|0; + $9 = ($8|0)==(0); + if ($9) { + $10 = (_stb_vorbis_get_file_offset($0)|0); + $11 = ((($0)) + 44|0); + $12 = HEAP32[$11>>2]|0; + $13 = ($12>>>0)>(65535); + $14 = ((($0)) + 52|0); + $15 = HEAP32[$14>>2]|0; + if ($13) { + $16 = (($12) + -65536)|0; + $17 = ($16>>>0)<($15>>>0); + if ($17) { + label = 6; + } else { + $$050 = $16; + } + } else { + label = 6; + } + if ((label|0) == 6) { + $$050 = $15; + } + _set_file_offset($0,$$050); + $18 = (_vorbis_find_page($0,$1,$2)|0); + $19 = ($18|0)==(0); + do { + if ($19) { + $20 = ((($0)) + 100|0); + HEAP32[$20>>2] = 36; + HEAP32[$7>>2] = -1; + } else { + while(1) { + $21 = (_stb_vorbis_get_file_offset($0)|0); + $22 = HEAP32[$2>>2]|0; + $23 = ($22|0)==(0); + if (!($23)) { + break; + } + $24 = HEAP32[$1>>2]|0; + _set_file_offset($0,$24); + $25 = (_vorbis_find_page($0,$1,$2)|0); + $26 = ($25|0)==(0); + if ($26) { + break; + } + } + _set_file_offset($0,$21); + (_getn($0,$3,6)|0); + $27 = (_get32($0)|0); + $28 = (_get32($0)|0); + $29 = $28 & $27; + $30 = ($29|0)==(-1); + if ($30) { + $31 = ((($0)) + 100|0); + HEAP32[$31>>2] = 36; + HEAP32[$7>>2] = -1; + break; + } else { + $32 = ($28|0)==(0); + $$ = $32 ? $27 : -2; + HEAP32[$7>>2] = $$; + $33 = ((($0)) + 68|0); + HEAP32[$33>>2] = $21; + $34 = HEAP32[$1>>2]|0; + $35 = ((($0)) + 72|0); + HEAP32[$35>>2] = $34; + $36 = ((($0)) + 76|0); + HEAP32[$36>>2] = $$; + break; + } + } + } while(0); + _set_file_offset($0,$10); + } + $37 = HEAP32[$7>>2]|0; + $38 = ($37|0)==(-1); + $$51 = $38 ? 0 : $37; + $$0 = $$51; + STACKTOP = sp;return ($$0|0); +} +function _stb_vorbis_stream_length_in_seconds($0) { + $0 = $0|0; + var $1 = 0, $2 = 0.0, $3 = 0, $4 = 0.0, $5 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (_stb_vorbis_stream_length_in_samples($0)|0); + $2 = (+($1>>>0)); + $3 = HEAP32[$0>>2]|0; + $4 = (+($3>>>0)); + $5 = $2 / $4; + return (+$5); +} +function _stb_vorbis_get_samples_short_interleaved($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$ = 0, $$041 = 0, $$042 = 0, $$1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; + var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $not$ = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $4 = sp; + $5 = (($3|0) / ($1|0))&-1; + $6 = ((($0)) + 4|0); + $7 = ((($0)) + 1508|0); + $8 = ((($0)) + 1504|0); + $9 = ((($0)) + 800|0); + $$041 = 0;$$042 = $2; + while(1) { + $10 = ($5|0)>($$041|0); + if (!($10)) { + $$1 = $$041; + label = 7; + break; + } + $11 = HEAP32[$7>>2]|0; + $12 = HEAP32[$8>>2]|0; + $13 = (($11) - ($12))|0; + $14 = (($13) + ($$041))|0; + $15 = ($14|0)<($5|0); + $16 = (($5) - ($$041))|0; + $$ = $15 ? $13 : $16; + $17 = ($$|0)==(0); + if (!($17)) { + $18 = HEAP32[$6>>2]|0; + _convert_channels_short_interleaved($1,$$042,$18,$9,$12,$$); + } + $19 = (($$) + ($$041))|0; + $20 = HEAP32[$8>>2]|0; + $21 = (($20) + ($$))|0; + HEAP32[$8>>2] = $21; + $22 = ($19|0)==($5|0); + if ($22) { + $$1 = $19; + label = 7; + break; + } + $23 = Math_imul($$, $1)|0; + $24 = (($$042) + ($23<<1)|0); + $25 = (_stb_vorbis_get_frame_float($0,0,$4)|0); + $not$ = ($25|0)==(0); + if ($not$) { + $$1 = $19; + label = 7; + break; + } else { + $$041 = $19;$$042 = $24; + } + } + if ((label|0) == 7) { + STACKTOP = sp;return ($$1|0); + } + return (0)|0; +} +function _stb_vorbis_close($0) { + $0 = $0|0; + var $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ($0|0)==(0|0); + if ($1) { + return; + } + _vorbis_deinit($0); + _setup_free($0,$0); + return; +} +function _vorbis_deinit($0) { + $0 = $0|0; + var $$0103 = 0, $$08399 = 0, $$195 = 0, $$293 = 0, $$392 = 0, $$lcssa = 0, $$lcssa89 = 0, $$lcssa90 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0; + var $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0; + var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0; + var $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0; + var $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0; + var $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0; + var $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 396|0); + $2 = HEAP32[$1>>2]|0; + $3 = ($2|0)==(0|0); + if (!($3)) { + $4 = ((($0)) + 264|0); + $5 = HEAP32[$4>>2]|0; + $6 = ($5|0)>(0); + if ($6) { + $7 = ((($0)) + 124|0); + $$0103 = 0; + while(1) { + $8 = HEAP32[$1>>2]|0; + $9 = (((($8) + (($$0103*24)|0)|0)) + 16|0); + $10 = HEAP32[$9>>2]|0; + $11 = ($10|0)==(0|0); + if (!($11)) { + $12 = HEAP32[$7>>2]|0; + $13 = (((($8) + (($$0103*24)|0)|0)) + 13|0); + $14 = HEAP8[$13>>0]|0; + $15 = $14&255; + $16 = (((($12) + (($15*2096)|0)|0)) + 4|0); + $17 = HEAP32[$16>>2]|0; + $18 = ($17|0)>(0); + $19 = HEAP32[$9>>2]|0; + if ($18) { + $$08399 = 0;$21 = $19; + while(1) { + $20 = (($21) + ($$08399<<2)|0); + $22 = HEAP32[$20>>2]|0; + _setup_free($0,$22); + $23 = (($$08399) + 1)|0; + $24 = HEAP32[$7>>2]|0; + $25 = HEAP8[$13>>0]|0; + $26 = $25&255; + $27 = (((($24) + (($26*2096)|0)|0)) + 4|0); + $28 = HEAP32[$27>>2]|0; + $29 = ($23|0)<($28|0); + $30 = HEAP32[$9>>2]|0; + if ($29) { + $$08399 = $23;$21 = $30; + } else { + $$lcssa90 = $30; + break; + } + } + } else { + $$lcssa90 = $19; + } + _setup_free($0,$$lcssa90); + } + $31 = (((($8) + (($$0103*24)|0)|0)) + 20|0); + $32 = HEAP32[$31>>2]|0; + _setup_free($0,$32); + $33 = (($$0103) + 1)|0; + $34 = HEAP32[$4>>2]|0; + $35 = ($33|0)<($34|0); + if ($35) { + $$0103 = $33; + } else { + break; + } + } + } + } + $36 = ((($0)) + 124|0); + $37 = HEAP32[$36>>2]|0; + $38 = ($37|0)==(0|0); + if (!($38)) { + $39 = ((($0)) + 120|0); + $40 = HEAP32[$39>>2]|0; + $41 = ($40|0)>(0); + $42 = HEAP32[$36>>2]|0; + if ($41) { + $$195 = 0;$44 = $42; + while(1) { + $43 = (((($44) + (($$195*2096)|0)|0)) + 8|0); + $45 = HEAP32[$43>>2]|0; + _setup_free($0,$45); + $46 = (((($44) + (($$195*2096)|0)|0)) + 28|0); + $47 = HEAP32[$46>>2]|0; + _setup_free($0,$47); + $48 = (((($44) + (($$195*2096)|0)|0)) + 32|0); + $49 = HEAP32[$48>>2]|0; + _setup_free($0,$49); + $50 = (((($44) + (($$195*2096)|0)|0)) + 2084|0); + $51 = HEAP32[$50>>2]|0; + _setup_free($0,$51); + $52 = (((($44) + (($$195*2096)|0)|0)) + 2088|0); + $53 = HEAP32[$52>>2]|0; + $54 = ($53|0)==(0|0); + $55 = ((($53)) + -4|0); + $56 = $54 ? 0 : $55; + _setup_free($0,$56); + $57 = (($$195) + 1)|0; + $58 = HEAP32[$39>>2]|0; + $59 = ($57|0)<($58|0); + $60 = HEAP32[$36>>2]|0; + if ($59) { + $$195 = $57;$44 = $60; + } else { + $$lcssa89 = $60; + break; + } + } + } else { + $$lcssa89 = $42; + } + _setup_free($0,$$lcssa89); + } + $61 = ((($0)) + 260|0); + $62 = HEAP32[$61>>2]|0; + _setup_free($0,$62); + $63 = HEAP32[$1>>2]|0; + _setup_free($0,$63); + $64 = ((($0)) + 404|0); + $65 = HEAP32[$64>>2]|0; + $66 = ($65|0)==(0|0); + if (!($66)) { + $67 = ((($0)) + 400|0); + $68 = HEAP32[$67>>2]|0; + $69 = ($68|0)>(0); + $70 = HEAP32[$64>>2]|0; + if ($69) { + $$293 = 0;$72 = $70; + while(1) { + $71 = (((($72) + (($$293*40)|0)|0)) + 4|0); + $73 = HEAP32[$71>>2]|0; + _setup_free($0,$73); + $74 = (($$293) + 1)|0; + $75 = HEAP32[$67>>2]|0; + $76 = ($74|0)<($75|0); + $77 = HEAP32[$64>>2]|0; + if ($76) { + $$293 = $74;$72 = $77; + } else { + $$lcssa = $77; + break; + } + } + } else { + $$lcssa = $70; + } + _setup_free($0,$$lcssa); + } + $78 = ((($0)) + 4|0); + $79 = HEAP32[$78>>2]|0; + $80 = ($79|0)>(0); + if ($80) { + $$392 = 0; + while(1) { + $81 = (((($0)) + 800|0) + ($$392<<2)|0); + $82 = HEAP32[$81>>2]|0; + _setup_free($0,$82); + $83 = (((($0)) + 928|0) + ($$392<<2)|0); + $84 = HEAP32[$83>>2]|0; + _setup_free($0,$84); + $85 = (((($0)) + 996|0) + ($$392<<2)|0); + $86 = HEAP32[$85>>2]|0; + _setup_free($0,$86); + $87 = (($$392) + 1)|0; + $88 = HEAP32[$78>>2]|0; + $89 = ($87|0)<($88|0); + $90 = ($87|0)<(16); + $91 = $90 & $89; + if ($91) { + $$392 = $87; + } else { + break; + } + } + } + $92 = ((($0)) + 1068|0); + $93 = HEAP32[$92>>2]|0; + _setup_free($0,$93); + $94 = ((($0)) + 1076|0); + $95 = HEAP32[$94>>2]|0; + _setup_free($0,$95); + $96 = ((($0)) + 1084|0); + $97 = HEAP32[$96>>2]|0; + _setup_free($0,$97); + $98 = ((($0)) + 1092|0); + $99 = HEAP32[$98>>2]|0; + _setup_free($0,$99); + $100 = ((($0)) + 1100|0); + $101 = HEAP32[$100>>2]|0; + _setup_free($0,$101); + $102 = ((($0)) + 1072|0); + $103 = HEAP32[$102>>2]|0; + _setup_free($0,$103); + $104 = ((($0)) + 1080|0); + $105 = HEAP32[$104>>2]|0; + _setup_free($0,$105); + $106 = ((($0)) + 1088|0); + $107 = HEAP32[$106>>2]|0; + _setup_free($0,$107); + $108 = ((($0)) + 1096|0); + $109 = HEAP32[$108>>2]|0; + _setup_free($0,$109); + $110 = ((($0)) + 1104|0); + $111 = HEAP32[$110>>2]|0; + _setup_free($0,$111); + $112 = ((($0)) + 28|0); + $113 = HEAP32[$112>>2]|0; + $114 = ($113|0)==(0); + if ($114) { + return; + } + $115 = ((($0)) + 20|0); + $116 = HEAP32[$115>>2]|0; + (_fclose($116)|0); + return; +} +function _setup_free($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($0)) + 80|0); + $3 = HEAP32[$2>>2]|0; + $4 = ($3|0)==(0|0); + if (!($4)) { + return; + } + _free($1); + return; +} +function _convert_channels_short_interleaved($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + var $$0 = 0, $$04866 = 0, $$04956 = 0, $$05265 = 0, $$1$lcssa = 0, $$150$lcssa = 0, $$15057 = 0, $$158 = 0, $$2$lcssa = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0; + var $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0.0, $27 = 0.0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, $exitcond = 0, $or$cond = 0, $or$cond3 = 0, $scevgep = 0, $smax = 0, $smax71 = 0, label = 0, sp = 0; + sp = STACKTOP; + $6 = ($0|0)!=($2|0); + $7 = ($0|0)<(3); + $or$cond = $7 & $6; + $8 = ($2|0)<(7); + $or$cond3 = $8 & $or$cond; + if ($or$cond3) { + $9 = ($0|0)==(2); + if ($9) { + $$04956 = 0; + } else { + ___assert_fail((17372|0),(16959|0),4759,(17383|0)); + // unreachable; + } + while(1) { + _compute_stereo_samples($1,$2,$3,$4,$5); + $10 = (($$04956) + 1)|0; + $11 = ($10|0)<($0|0); + if ($11) { + $$04956 = $10; + } else { + break; + } + } + return; + } + $12 = ($0|0)<($2|0); + $13 = $12 ? $0 : $2; + $14 = ($5|0)>(0); + if (!($14)) { + return; + } + $15 = ($13|0)>(0); + $16 = ($13|0)>(0); + $smax = $16 ? $13 : 0; + $17 = (($0) - ($smax))|0; + $18 = ($13|0)>(0); + $smax71 = $18 ? $13 : 0; + $19 = (($0) - ($smax71))|0; + $20 = $19 << 1; + $$04866 = $1;$$05265 = 0; + while(1) { + if ($15) { + $21 = (($$05265) + ($4))|0; + $$15057 = 0;$$158 = $$04866; + while(1) { + $23 = (($3) + ($$15057<<2)|0); + $24 = HEAP32[$23>>2]|0; + $25 = (($24) + ($21<<2)|0); + $26 = +HEAPF32[$25>>2]; + $27 = $26 + 384.0; + $28 = (HEAPF32[tempDoublePtr>>2]=$27,HEAP32[tempDoublePtr>>2]|0); + $29 = (($28) + -1136623616)|0; + $30 = ($29>>>0)>(65535); + $31 = ($28|0)<(1136656384); + $32 = $31 ? 32768 : 32767; + $$0 = $30 ? $32 : $28; + $33 = $$0&65535; + $34 = ((($$158)) + 2|0); + HEAP16[$$158>>1] = $33; + $35 = (($$15057) + 1)|0; + $36 = ($35|0)<($13|0); + if ($36) { + $$15057 = $35;$$158 = $34; + } else { + $$1$lcssa = $34;$$150$lcssa = $13; + break; + } + } + } else { + $$1$lcssa = $$04866;$$150$lcssa = 0; + } + $22 = ($$150$lcssa|0)<($0|0); + if ($22) { + _memset(($$1$lcssa|0),0,($20|0))|0; + $scevgep = (($$1$lcssa) + ($17<<1)|0); + $$2$lcssa = $scevgep; + } else { + $$2$lcssa = $$1$lcssa; + } + $37 = (($$05265) + 1)|0; + $exitcond = ($37|0)==($5|0); + if ($exitcond) { + break; + } else { + $$04866 = $$2$lcssa;$$05265 = $37; + } + } + return; +} +function _stb_vorbis_get_frame_float($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$020 = 0, $$022 = 0, $$lcssa = 0, $$lcssa21 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; + var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + $6 = ((($0)) + 48|0); + $7 = HEAP8[$6>>0]|0; + $8 = ($7<<24>>24)==(0); + if (!($8)) { + _error($0,2); + $$020 = 0; + STACKTOP = sp;return ($$020|0); + } + $9 = (_vorbis_decode_packet($0,$3,$5,$4)|0); + $10 = ($9|0)==(0); + if ($10) { + $11 = ((($0)) + 1508|0); + HEAP32[$11>>2] = 0; + $12 = ((($0)) + 1504|0); + HEAP32[$12>>2] = 0; + $$020 = 0; + STACKTOP = sp;return ($$020|0); + } + $13 = HEAP32[$3>>2]|0; + $14 = HEAP32[$5>>2]|0; + $15 = HEAP32[$4>>2]|0; + $16 = (_vorbis_finish_frame($0,$13,$14,$15)|0); + HEAP32[$3>>2] = $16; + $17 = ((($0)) + 4|0); + $18 = HEAP32[$17>>2]|0; + $19 = ($18|0)>(0); + $20 = HEAP32[$5>>2]|0; + if ($19) { + $21 = HEAP32[$5>>2]|0; + $$022 = 0;$25 = $20; + while(1) { + $22 = (((($0)) + 800|0) + ($$022<<2)|0); + $23 = HEAP32[$22>>2]|0; + $24 = (($23) + ($25<<2)|0); + $26 = (((($0)) + 864|0) + ($$022<<2)|0); + HEAP32[$26>>2] = $24; + $27 = (($$022) + 1)|0; + $28 = HEAP32[$17>>2]|0; + $29 = ($27|0)<($28|0); + if ($29) { + $$022 = $27;$25 = $21; + } else { + $$lcssa = $21;$$lcssa21 = $28; + break; + } + } + } else { + $$lcssa = $20;$$lcssa21 = $18; + } + $30 = ((($0)) + 1504|0); + HEAP32[$30>>2] = $$lcssa; + $31 = HEAP32[$3>>2]|0; + $32 = (($31) + ($$lcssa))|0; + $33 = ((($0)) + 1508|0); + HEAP32[$33>>2] = $32; + $34 = ($1|0)==(0|0); + if (!($34)) { + HEAP32[$1>>2] = $$lcssa21; + } + $35 = ($2|0)==(0|0); + if ($35) { + $$020 = $31; + STACKTOP = sp;return ($$020|0); + } + $36 = ((($0)) + 864|0); + HEAP32[$2>>2] = $36; + $$020 = $31; + STACKTOP = sp;return ($$020|0); +} +function _error($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($0)) + 100|0); + HEAP32[$2>>2] = $1; + return; +} +function _vorbis_decode_packet($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $4 = sp + 8|0; + $5 = sp + 4|0; + $6 = sp; + $7 = (_vorbis_decode_initial($0,$2,$5,$3,$6,$4)|0); + $8 = ($7|0)==(0); + if ($8) { + $$0 = 0; + STACKTOP = sp;return ($$0|0); + } + $9 = HEAP32[$4>>2]|0; + $10 = (((($0)) + 412|0) + (($9*6)|0)|0); + $11 = HEAP32[$2>>2]|0; + $12 = HEAP32[$3>>2]|0; + $13 = HEAP32[$6>>2]|0; + $14 = (_vorbis_decode_packet_rest($0,$1,$10,$11,$12,$13,$2)|0); + $$0 = $14; + STACKTOP = sp;return ($$0|0); +} +function _vorbis_finish_frame($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$ = 0, $$0 = 0, $$06775 = 0, $$06878 = 0, $$06972 = 0, $$07073 = 0, $$pr = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0.0, $21 = 0, $22 = 0.0; + var $23 = 0.0, $24 = 0, $25 = 0.0, $26 = 0, $27 = 0, $28 = 0.0, $29 = 0.0, $30 = 0.0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; + var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0; + var $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond79 = 0, label = 0, sp = 0; + sp = STACKTOP; + $4 = ((($0)) + 992|0); + $5 = HEAP32[$4>>2]|0; + $6 = ($5|0)==(0); + if ($6) { + $54 = 0; + } else { + $7 = (_get_window($0,$5)|0); + $8 = ((($0)) + 4|0); + $9 = HEAP32[$8>>2]|0; + $10 = ($9|0)>(0); + if ($10) { + $11 = ($5|0)>(0); + $12 = HEAP32[$8>>2]|0; + $13 = (($5) + -1)|0; + $$06878 = 0; + while(1) { + if ($11) { + $14 = (((($0)) + 800|0) + ($$06878<<2)|0); + $15 = HEAP32[$14>>2]|0; + $16 = (((($0)) + 928|0) + ($$06878<<2)|0); + $17 = HEAP32[$16>>2]|0; + $$06775 = 0; + while(1) { + $18 = (($$06775) + ($2))|0; + $19 = (($15) + ($18<<2)|0); + $20 = +HEAPF32[$19>>2]; + $21 = (($7) + ($$06775<<2)|0); + $22 = +HEAPF32[$21>>2]; + $23 = $20 * $22; + $24 = (($17) + ($$06775<<2)|0); + $25 = +HEAPF32[$24>>2]; + $26 = (($13) - ($$06775))|0; + $27 = (($7) + ($26<<2)|0); + $28 = +HEAPF32[$27>>2]; + $29 = $25 * $28; + $30 = $23 + $29; + HEAPF32[$19>>2] = $30; + $31 = (($$06775) + 1)|0; + $exitcond79 = ($31|0)==($5|0); + if ($exitcond79) { + break; + } else { + $$06775 = $31; + } + } + } + $32 = (($$06878) + 1)|0; + $33 = ($32|0)<($12|0); + if ($33) { + $$06878 = $32; + } else { + break; + } + } + } + $$pr = HEAP32[$4>>2]|0; + $54 = $$pr; + } + $34 = (($1) - ($3))|0; + HEAP32[$4>>2] = $34; + $35 = ((($0)) + 4|0); + $36 = HEAP32[$35>>2]|0; + $37 = ($36|0)>(0); + if ($37) { + $38 = ($1|0)>($3|0); + $39 = HEAP32[$35>>2]|0; + $40 = (($1) - ($3))|0; + $$07073 = 0; + while(1) { + if ($38) { + $41 = (((($0)) + 800|0) + ($$07073<<2)|0); + $42 = HEAP32[$41>>2]|0; + $43 = (((($0)) + 928|0) + ($$07073<<2)|0); + $44 = HEAP32[$43>>2]|0; + $$06972 = 0;$46 = $3; + while(1) { + $45 = (($42) + ($46<<2)|0); + $47 = HEAP32[$45>>2]|0; + $48 = (($44) + ($$06972<<2)|0); + HEAP32[$48>>2] = $47; + $49 = (($$06972) + 1)|0; + $50 = (($49) + ($3))|0; + $exitcond = ($49|0)==($40|0); + if ($exitcond) { + break; + } else { + $$06972 = $49;$46 = $50; + } + } + } + $51 = (($$07073) + 1)|0; + $52 = ($51|0)<($39|0); + if ($52) { + $$07073 = $51; + } else { + break; + } + } + } + $53 = ($54|0)==(0); + $55 = ($1|0)<($3|0); + $$ = $55 ? $1 : $3; + $56 = (($$) - ($2))|0; + $57 = ((($0)) + 1416|0); + if ($53) { + $$0 = 0; + return ($$0|0); + } + $58 = HEAP32[$57>>2]|0; + $59 = (($58) + ($56))|0; + HEAP32[$57>>2] = $59; + $$0 = $56; + return ($$0|0); +} +function _get_window($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $$sink = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = $1 << 1; + $3 = ((($0)) + 112|0); + $4 = HEAP32[$3>>2]|0; + $5 = ($2|0)==($4|0); + if ($5) { + $$sink = 0; + } else { + $6 = ((($0)) + 116|0); + $7 = HEAP32[$6>>2]|0; + $8 = ($2|0)==($7|0); + if ($8) { + $$sink = 1; + } else { + ___assert_fail((16957|0),(16959|0),2658,(16981|0)); + // unreachable; + } + } + $9 = (((($0)) + 1092|0) + ($$sink<<2)|0); + $$0 = HEAP32[$9>>2]|0; + return ($$0|0); +} +function _vorbis_decode_initial($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + var $$0 = 0, $$062 = 0, $$063 = 0, $$064 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; + var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; + var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0; + var $65 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond3 = 0, $phitmp = 0, $storemerge = 0, $storemerge65 = 0, label = 0, sp = 0; + sp = STACKTOP; + $6 = ((($0)) + 1508|0); + HEAP32[$6>>2] = 0; + $7 = ((($0)) + 1504|0); + HEAP32[$7>>2] = 0; + $8 = ((($0)) + 96|0); + $9 = HEAP32[$8>>2]|0; + $10 = ($9|0)==(0); + if (!($10)) { + $$0 = 0; + return ($$0|0); + } + $11 = ((($0)) + 48|0); + while(1) { + $14 = (_maybe_start_packet($0)|0); + $15 = ($14|0)==(0); + if ($15) { + $$0 = 0; + label = 24; + break; + } + $16 = (_get_bits($0,1)|0); + $17 = ($16|0)==(0); + if ($17) { + label = 9; + break; + } + $18 = HEAP8[$11>>0]|0; + $19 = ($18<<24>>24)==(0); + if (!($19)) { + label = 7; + break; + } + while(1) { + $20 = (_get8_packet($0)|0); + $21 = ($20|0)==(-1); + if ($21) { + break; + } + } + $12 = HEAP32[$8>>2]|0; + $13 = ($12|0)==(0); + if (!($13)) { + $$0 = 0; + label = 24; + break; + } + } + if ((label|0) == 7) { + _error($0,35); + $$0 = 0; + return ($$0|0); + } + else if ((label|0) == 9) { + $22 = ((($0)) + 80|0); + $23 = HEAP32[$22>>2]|0; + $24 = ($23|0)==(0|0); + if (!($24)) { + $25 = ((($0)) + 84|0); + $26 = HEAP32[$25>>2]|0; + $27 = ((($0)) + 92|0); + $28 = HEAP32[$27>>2]|0; + $29 = ($26|0)==($28|0); + if (!($29)) { + ___assert_fail((16992|0),(16959|0),2737,(17350|0)); + // unreachable; + } + } + $30 = ((($0)) + 408|0); + $31 = HEAP32[$30>>2]|0; + $32 = (($31) + -1)|0; + $33 = (_ilog($32)|0); + $34 = (_get_bits($0,$33)|0); + $35 = ($34|0)==(-1); + if ($35) { + $$0 = 0; + return ($$0|0); + } + $36 = HEAP32[$30>>2]|0; + $37 = ($34|0)<($36|0); + if (!($37)) { + $$0 = 0; + return ($$0|0); + } + HEAP32[$5>>2] = $34; + $38 = (((($0)) + 412|0) + (($34*6)|0)|0); + $39 = HEAP8[$38>>0]|0; + $40 = ($39<<24>>24)==(0); + if ($40) { + $45 = ((($0)) + 112|0); + $46 = HEAP32[$45>>2]|0; + $$062 = 0;$$063 = 0;$$064 = $46; + } else { + $41 = ((($0)) + 116|0); + $42 = HEAP32[$41>>2]|0; + $43 = (_get_bits($0,1)|0); + $44 = (_get_bits($0,1)|0); + $phitmp = ($43|0)!=(0); + $$062 = $44;$$063 = $phitmp;$$064 = $42; + } + $47 = $$064 >> 1; + $48 = HEAP8[$38>>0]|0; + $49 = ($48<<24>>24)==(0); + $or$cond = $$063 | $49; + if ($or$cond) { + HEAP32[$1>>2] = 0; + $storemerge = $47; + } else { + $50 = ((($0)) + 112|0); + $51 = HEAP32[$50>>2]|0; + $52 = (($$064) - ($51))|0; + $53 = $52 >> 2; + HEAP32[$1>>2] = $53; + $54 = HEAP32[$50>>2]|0; + $55 = (($54) + ($$064))|0; + $56 = $55 >> 2; + $storemerge = $56; + } + HEAP32[$2>>2] = $storemerge; + $57 = ($$062|0)!=(0); + $or$cond3 = $57 | $49; + if ($or$cond3) { + HEAP32[$3>>2] = $47; + $storemerge65 = $$064; + } else { + $58 = ($$064*3)|0; + $59 = ((($0)) + 112|0); + $60 = HEAP32[$59>>2]|0; + $61 = (($58) - ($60))|0; + $62 = $61 >> 2; + HEAP32[$3>>2] = $62; + $63 = HEAP32[$59>>2]|0; + $64 = (($63) + ($58))|0; + $65 = $64 >> 2; + $storemerge65 = $65; + } + HEAP32[$4>>2] = $storemerge65; + $$0 = 1; + return ($$0|0); + } + else if ((label|0) == 24) { + return ($$0|0); + } + return (0)|0; +} +function _vorbis_decode_packet_rest($0,$1,$2,$3,$4,$5,$6) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + $6 = $6|0; + var $$ = 0, $$0409 = 0.0, $$0410 = 0.0, $$0411 = 0, $$041263 = 0, $$041652 = 0, $$0421$lcssa = 0, $$042133 = 0, $$042347 = 0, $$0427 = 0, $$042851 = 0, $$11 = 0, $$13 = 0, $$141341 = 0, $$141756 = 0, $$1422 = 0, $$1429$lcssa = 0, $$142946 = 0, $$1432 = 0, $$1437 = 0; + var $$241438 = 0, $$241860 = 0, $$2430 = 0, $$2438 = 0, $$3 = 0, $$341530 = 0, $$341530$in = 0, $$341934 = 0, $$424 = 0, $$442026 = 0, $$4435$ph = 0, $$443545 = 0, $$523 = 0, $$6 = 0, $$7 = 0, $$8 = 0, $$lcssa19 = 0, $$sink$sink = 0, $$sink3 = 0, $$sink3$in = 0; + var $$sink5 = 0, $$sink9 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; + var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; + var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; + var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; + var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; + var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0; + var $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0; + var $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0; + var $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0; + var $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0; + var $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0; + var $298 = 0, $299 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0.0, $305 = 0, $306 = 0, $307 = 0.0, $308 = 0, $309 = 0.0, $31 = 0, $310 = 0.0, $311 = 0.0, $312 = 0.0, $313 = 0, $314 = 0, $315 = 0; + var $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0; + var $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0; + var $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0; + var $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0; + var $389 = 0, $39 = 0, $390 = 0, $391 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0; + var $56 = 0, $57 = 0, $58 = 0, $59 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0; + var $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0; + var $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond = 0, $exitcond69 = 0, $storemerge = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 2560|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(2560|0); + $7 = sp + 1280|0; + $8 = sp + 256|0; + $9 = sp; + $10 = sp + 2304|0; + $11 = HEAP8[$2>>0]|0; + $12 = $11&255; + $13 = (((($0)) + 104|0) + ($12<<2)|0); + $14 = HEAP32[$13>>2]|0; + $15 = ((($0)) + 404|0); + $16 = HEAP32[$15>>2]|0; + $17 = ((($2)) + 1|0); + $18 = HEAP8[$17>>0]|0; + $19 = $18&255; + $20 = (($16) + (($19*40)|0)|0); + $21 = $14 >> 1; + $22 = (0 - ($21))|0; + $23 = ((($0)) + 4|0); + $24 = HEAP32[$23>>2]|0; + $25 = ($24|0)>(0); + L1: do { + if ($25) { + $26 = (((($16) + (($19*40)|0)|0)) + 4|0); + $27 = ((($0)) + 260|0); + $28 = ((($0)) + 1396|0); + $29 = ((($9)) + 1|0); + $30 = ((($0)) + 124|0); + $31 = ((($0)) + 1396|0); + $32 = ((($0)) + 1392|0); + $33 = ((($0)) + 124|0); + $34 = ((($0)) + 1396|0); + $35 = ((($0)) + 1392|0); + $$041263 = 0; + while(1) { + $36 = HEAP32[$26>>2]|0; + $37 = (((($36) + (($$041263*3)|0)|0)) + 2|0); + $38 = HEAP8[$37>>0]|0; + $39 = $38&255; + $40 = (($7) + ($$041263<<2)|0); + HEAP32[$40>>2] = 0; + $41 = ((((($16) + (($19*40)|0)|0)) + 9|0) + ($39)|0); + $42 = HEAP8[$41>>0]|0; + $43 = $42&255; + $44 = (((($0)) + 132|0) + ($43<<1)|0); + $45 = HEAP16[$44>>1]|0; + $46 = ($45<<16>>16)==(0); + if ($46) { + break; + } + $47 = HEAP32[$27>>2]|0; + $48 = (_get_bits($0,1)|0); + $49 = ($48|0)==(0); + do { + if ($49) { + label = 48; + } else { + $50 = (((($47) + (($43*1596)|0)|0)) + 1588|0); + $51 = HEAP8[$50>>0]|0; + $52 = $51&255; + $53 = (($52) + -1)|0; + $54 = (3756 + ($53<<2)|0); + $55 = HEAP32[$54>>2]|0; + $56 = (((($0)) + 996|0) + ($$041263<<2)|0); + $57 = HEAP32[$56>>2]|0; + $58 = (_ilog($55)|0); + $59 = (($58) + -1)|0; + $60 = (_get_bits($0,$59)|0); + $61 = $60&65535; + HEAP16[$57>>1] = $61; + $62 = (_get_bits($0,$59)|0); + $63 = $62&65535; + $64 = ((($57)) + 2|0); + HEAP16[$64>>1] = $63; + $65 = (($47) + (($43*1596)|0)|0); + $66 = HEAP8[$65>>0]|0; + $67 = ($66<<24>>24)==(0); + if (!($67)) { + $$041652 = 0;$$042851 = 2; + while(1) { + $68 = ((((($47) + (($43*1596)|0)|0)) + 1|0) + ($$041652)|0); + $69 = HEAP8[$68>>0]|0; + $70 = $69&255; + $71 = ((((($47) + (($43*1596)|0)|0)) + 33|0) + ($70)|0); + $72 = HEAP8[$71>>0]|0; + $73 = $72&255; + $74 = ((((($47) + (($43*1596)|0)|0)) + 49|0) + ($70)|0); + $75 = HEAP8[$74>>0]|0; + $76 = $75&255; + $77 = 1 << $76; + $78 = (($77) + -1)|0; + $79 = ($75<<24>>24)==(0); + if ($79) { + $$4435$ph = 0; + } else { + $80 = HEAP32[$30>>2]|0; + $81 = ((((($47) + (($43*1596)|0)|0)) + 65|0) + ($70)|0); + $82 = HEAP8[$81>>0]|0; + $83 = $82&255; + $84 = (($80) + (($83*2096)|0)|0); + $85 = HEAP32[$31>>2]|0; + $86 = ($85|0)<(10); + if ($86) { + _prep_huffman($0); + } + $87 = HEAP32[$32>>2]|0; + $88 = $87 & 1023; + $89 = ((((($80) + (($83*2096)|0)|0)) + 36|0) + ($88<<1)|0); + $90 = HEAP16[$89>>1]|0; + $91 = $90 << 16 >> 16; + $92 = ($90<<16>>16)>(-1); + if ($92) { + $93 = (((($80) + (($83*2096)|0)|0)) + 8|0); + $94 = HEAP32[$93>>2]|0; + $95 = (($94) + ($91)|0); + $96 = HEAP8[$95>>0]|0; + $97 = $96&255; + $98 = $87 >>> $97; + HEAP32[$32>>2] = $98; + $99 = HEAP32[$31>>2]|0; + $100 = (($99) - ($97))|0; + $101 = ($100|0)<(0); + $$ = $101 ? 0 : $100; + $$6 = $101 ? -1 : $91; + HEAP32[$31>>2] = $$; + $$1432 = $$6; + } else { + $102 = (_codebook_decode_scalar_raw($0,$84)|0); + $$1432 = $102; + } + $103 = (((($80) + (($83*2096)|0)|0)) + 23|0); + $104 = HEAP8[$103>>0]|0; + $105 = ($104<<24>>24)==(0); + if ($105) { + $$4435$ph = $$1432; + } else { + $106 = (((($80) + (($83*2096)|0)|0)) + 2088|0); + $107 = HEAP32[$106>>2]|0; + $108 = (($107) + ($$1432<<2)|0); + $109 = HEAP32[$108>>2]|0; + $$4435$ph = $109; + } + } + $110 = ($72<<24>>24)==(0); + if ($110) { + $$1429$lcssa = $$042851; + } else { + $$042347 = 0;$$142946 = $$042851;$$443545 = $$4435$ph; + while(1) { + $111 = $$443545 & $78; + $112 = (((((($47) + (($43*1596)|0)|0)) + 82|0) + ($70<<4)|0) + ($111<<1)|0); + $113 = HEAP16[$112>>1]|0; + $114 = $$443545 >> $76; + $115 = ($113<<16>>16)>(-1); + if ($115) { + $116 = $113 << 16 >> 16; + $117 = HEAP32[$33>>2]|0; + $118 = (($117) + (($116*2096)|0)|0); + $119 = HEAP32[$34>>2]|0; + $120 = ($119|0)<(10); + if ($120) { + _prep_huffman($0); + } + $121 = HEAP32[$35>>2]|0; + $122 = $121 & 1023; + $123 = ((((($117) + (($116*2096)|0)|0)) + 36|0) + ($122<<1)|0); + $124 = HEAP16[$123>>1]|0; + $125 = $124 << 16 >> 16; + $126 = ($124<<16>>16)>(-1); + if ($126) { + $127 = (((($117) + (($116*2096)|0)|0)) + 8|0); + $128 = HEAP32[$127>>2]|0; + $129 = (($128) + ($125)|0); + $130 = HEAP8[$129>>0]|0; + $131 = $130&255; + $132 = $121 >>> $131; + HEAP32[$35>>2] = $132; + $133 = HEAP32[$34>>2]|0; + $134 = (($133) - ($131))|0; + $135 = ($134|0)<(0); + $$7 = $135 ? 0 : $134; + $$8 = $135 ? -1 : $125; + HEAP32[$34>>2] = $$7; + $$1437 = $$8; + } else { + $136 = (_codebook_decode_scalar_raw($0,$118)|0); + $$1437 = $136; + } + $137 = (((($117) + (($116*2096)|0)|0)) + 23|0); + $138 = HEAP8[$137>>0]|0; + $139 = ($138<<24>>24)==(0); + if ($139) { + $$2438 = $$1437; + } else { + $140 = (((($117) + (($116*2096)|0)|0)) + 2088|0); + $141 = HEAP32[$140>>2]|0; + $142 = (($141) + ($$1437<<2)|0); + $143 = HEAP32[$142>>2]|0; + $$2438 = $143; + } + $144 = $$2438&65535; + $$sink9 = $144; + } else { + $$sink9 = 0; + } + $145 = (($57) + ($$142946<<1)|0); + HEAP16[$145>>1] = $$sink9; + $$2430 = (($$142946) + 1)|0; + $146 = (($$042347) + 1)|0; + $exitcond69 = ($146|0)==($73|0); + if ($exitcond69) { + break; + } else { + $$042347 = $146;$$142946 = $$2430;$$443545 = $114; + } + } + $147 = (($$042851) + ($73))|0; + $$1429$lcssa = $147; + } + $148 = (($$041652) + 1)|0; + $149 = HEAP8[$65>>0]|0; + $150 = $149&255; + $151 = ($148|0)<($150|0); + if ($151) { + $$041652 = $148;$$042851 = $$1429$lcssa; + } else { + break; + } + } + } + $152 = HEAP32[$28>>2]|0; + $153 = ($152|0)==(-1); + if ($153) { + label = 48; + break; + } + HEAP8[$29>>0] = 1; + HEAP8[$9>>0] = 1; + $154 = (((($47) + (($43*1596)|0)|0)) + 1592|0); + $155 = HEAP32[$154>>2]|0; + $156 = ($155|0)>(2); + if ($156) { + $157 = (($55) + 65535)|0; + $$141756 = 2; + while(1) { + $161 = ((((($47) + (($43*1596)|0)|0)) + 1088|0) + ($$141756<<1)|0); + $162 = HEAP8[$161>>0]|0; + $163 = $162&255; + $164 = ((((((($47) + (($43*1596)|0)|0)) + 1088|0) + ($$141756<<1)|0)) + 1|0); + $165 = HEAP8[$164>>0]|0; + $166 = $165&255; + $167 = ((((($47) + (($43*1596)|0)|0)) + 338|0) + ($$141756<<1)|0); + $168 = HEAP16[$167>>1]|0; + $169 = $168&65535; + $170 = ((((($47) + (($43*1596)|0)|0)) + 338|0) + ($163<<1)|0); + $171 = HEAP16[$170>>1]|0; + $172 = $171&65535; + $173 = ((((($47) + (($43*1596)|0)|0)) + 338|0) + ($166<<1)|0); + $174 = HEAP16[$173>>1]|0; + $175 = $174&65535; + $176 = (($57) + ($163<<1)|0); + $177 = HEAP16[$176>>1]|0; + $178 = $177 << 16 >> 16; + $179 = (($57) + ($166<<1)|0); + $180 = HEAP16[$179>>1]|0; + $181 = $180 << 16 >> 16; + $182 = (_predict_point($169,$172,$175,$178,$181)|0); + $183 = (($57) + ($$141756<<1)|0); + $184 = HEAP16[$183>>1]|0; + $185 = $184 << 16 >> 16; + $186 = (($55) - ($182))|0; + $187 = ($184<<16>>16)==(0); + do { + if ($187) { + $203 = (($9) + ($$141756)|0); + HEAP8[$203>>0] = 0; + $204 = $182&65535; + $$sink$sink = $204; + } else { + $188 = ($186|0)<($182|0); + $$11 = $188 ? $186 : $182; + $$0427 = $$11 << 1; + $189 = (($9) + ($166)|0); + HEAP8[$189>>0] = 1; + $190 = (($9) + ($163)|0); + HEAP8[$190>>0] = 1; + $191 = (($9) + ($$141756)|0); + HEAP8[$191>>0] = 1; + $192 = ($185|0)<($$0427|0); + if (!($192)) { + $193 = ($186|0)>($182|0); + if ($193) { + $$sink$sink = $184; + break; + } + $194 = (($157) - ($185))|0; + $195 = $194&65535; + $$sink$sink = $195; + break; + } + $196 = $185 & 1; + $197 = ($196|0)==(0); + if ($197) { + $201 = $185 >>> 1; + $202 = (($201) + ($182))|0; + $$sink3$in = $202; + } else { + $198 = (($185) + 1)|0; + $199 = $198 >> 1; + $200 = (($182) - ($199))|0; + $$sink3$in = $200; + } + $$sink3 = $$sink3$in&65535; + $$sink$sink = $$sink3; + } + } while(0); + HEAP16[$183>>1] = $$sink$sink; + $205 = (($$141756) + 1)|0; + $206 = HEAP32[$154>>2]|0; + $207 = ($205|0)<($206|0); + if ($207) { + $$141756 = $205; + } else { + $159 = $206; + break; + } + } + } else { + $159 = $155; + } + $158 = ($159|0)>(0); + if ($158) { + $160 = HEAP32[$154>>2]|0; + $$241860 = 0; + while(1) { + $208 = (($9) + ($$241860)|0); + $209 = HEAP8[$208>>0]|0; + $210 = ($209<<24>>24)==(0); + if ($210) { + $211 = (($57) + ($$241860<<1)|0); + HEAP16[$211>>1] = -1; + } + $212 = (($$241860) + 1)|0; + $213 = ($212|0)<($160|0); + if ($213) { + $$241860 = $212; + } else { + break; + } + } + } + } + } while(0); + if ((label|0) == 48) { + label = 0; + HEAP32[$40>>2] = 1; + } + $214 = (($$041263) + 1)|0; + $215 = HEAP32[$23>>2]|0; + $216 = ($214|0)<($215|0); + if ($216) { + $$041263 = $214; + } else { + $$lcssa19 = $215; + break L1; + } + } + _error($0,21); + $$3 = 0; + STACKTOP = sp;return ($$3|0); + } else { + $$lcssa19 = $24; + } + } while(0); + $217 = ((($0)) + 80|0); + $218 = HEAP32[$217>>2]|0; + $219 = ($218|0)==(0|0); + if (!($219)) { + $220 = ((($0)) + 84|0); + $221 = HEAP32[$220>>2]|0; + $222 = ((($0)) + 92|0); + $223 = HEAP32[$222>>2]|0; + $224 = ($221|0)==($223|0); + if (!($224)) { + ___assert_fail((16992|0),(16959|0),2886,(17048|0)); + // unreachable; + } + } + $225 = $$lcssa19 << 2; + _memcpy(($8|0),($7|0),($225|0))|0; + $226 = HEAP16[$20>>1]|0; + $227 = ($226<<16>>16)==(0); + if (!($227)) { + $228 = (((($16) + (($19*40)|0)|0)) + 4|0); + $229 = HEAP32[$228>>2]|0; + $230 = HEAP16[$20>>1]|0; + $231 = $230&65535; + $$141341 = 0; + while(1) { + $236 = (($229) + (($$141341*3)|0)|0); + $237 = HEAP8[$236>>0]|0; + $238 = $237&255; + $239 = (($7) + ($238<<2)|0); + $240 = HEAP32[$239>>2]|0; + $241 = ($240|0)==(0); + $242 = (((($229) + (($$141341*3)|0)|0)) + 1|0); + $243 = HEAP8[$242>>0]|0; + $244 = $243&255; + if ($241) { + label = 59; + } else { + $245 = (($7) + ($244<<2)|0); + $246 = HEAP32[$245>>2]|0; + $247 = ($246|0)==(0); + if ($247) { + label = 59; + } + } + if ((label|0) == 59) { + label = 0; + $248 = (($7) + ($244<<2)|0); + HEAP32[$248>>2] = 0; + HEAP32[$239>>2] = 0; + } + $249 = (($$141341) + 1)|0; + $250 = ($249|0)<($231|0); + if ($250) { + $$141341 = $249; + } else { + break; + } + } + } + $232 = (((($16) + (($19*40)|0)|0)) + 8|0); + $233 = HEAP8[$232>>0]|0; + $234 = ($233<<24>>24)==(0); + if (!($234)) { + $235 = (((($16) + (($19*40)|0)|0)) + 4|0); + $$241438 = 0; + while(1) { + $251 = HEAP32[$23>>2]|0; + $252 = ($251|0)>(0); + if ($252) { + $253 = HEAP32[$235>>2]|0; + $254 = HEAP32[$23>>2]|0; + $$042133 = 0;$$341934 = 0; + while(1) { + $255 = (((($253) + (($$341934*3)|0)|0)) + 2|0); + $256 = HEAP8[$255>>0]|0; + $257 = $256&255; + $258 = ($257|0)==($$241438|0); + if ($258) { + $259 = (($7) + ($$341934<<2)|0); + $260 = HEAP32[$259>>2]|0; + $261 = ($260|0)==(0); + $262 = (($10) + ($$042133)|0); + if ($261) { + HEAP8[$262>>0] = 0; + $263 = (((($0)) + 800|0) + ($$341934<<2)|0); + $264 = HEAP32[$263>>2]|0; + $$sink5 = $264; + } else { + HEAP8[$262>>0] = 1; + $$sink5 = 0; + } + $265 = (($9) + ($$042133<<2)|0); + HEAP32[$265>>2] = $$sink5; + $266 = (($$042133) + 1)|0; + $$1422 = $266; + } else { + $$1422 = $$042133; + } + $267 = (($$341934) + 1)|0; + $268 = ($267|0)<($254|0); + if ($268) { + $$042133 = $$1422;$$341934 = $267; + } else { + $$0421$lcssa = $$1422; + break; + } + } + } else { + $$0421$lcssa = 0; + } + $269 = ((((($16) + (($19*40)|0)|0)) + 24|0) + ($$241438)|0); + $270 = HEAP8[$269>>0]|0; + $271 = $270&255; + _decode_residue($0,$9,$$0421$lcssa,$21,$271,$10); + $272 = (($$241438) + 1)|0; + $273 = HEAP8[$232>>0]|0; + $274 = $273&255; + $275 = ($272|0)<($274|0); + if ($275) { + $$241438 = $272; + } else { + break; + } + } + } + $276 = HEAP32[$217>>2]|0; + $277 = ($276|0)==(0|0); + if (!($277)) { + $278 = ((($0)) + 84|0); + $279 = HEAP32[$278>>2]|0; + $280 = ((($0)) + 92|0); + $281 = HEAP32[$280>>2]|0; + $282 = ($279|0)==($281|0); + if (!($282)) { + ___assert_fail((16992|0),(16959|0),2919,(17048|0)); + // unreachable; + } + } + $283 = HEAP16[$20>>1]|0; + $284 = ($283<<16>>16)==(0); + if (!($284)) { + $285 = $283&65535; + $286 = (((($16) + (($19*40)|0)|0)) + 4|0); + $287 = HEAP32[$286>>2]|0; + $288 = ($21|0)>(0); + $$341530$in = $285; + while(1) { + $$341530 = (($$341530$in) + -1)|0; + $293 = (($287) + (($$341530*3)|0)|0); + $294 = HEAP8[$293>>0]|0; + $295 = $294&255; + $296 = (((($0)) + 800|0) + ($295<<2)|0); + $297 = HEAP32[$296>>2]|0; + $298 = (((($287) + (($$341530*3)|0)|0)) + 1|0); + $299 = HEAP8[$298>>0]|0; + $300 = $299&255; + $301 = (((($0)) + 800|0) + ($300<<2)|0); + $302 = HEAP32[$301>>2]|0; + if ($288) { + $$442026 = 0; + while(1) { + $303 = (($297) + ($$442026<<2)|0); + $304 = +HEAPF32[$303>>2]; + $305 = $304 > 0.0; + $306 = (($302) + ($$442026<<2)|0); + $307 = +HEAPF32[$306>>2]; + $308 = $307 > 0.0; + do { + if ($305) { + if ($308) { + $309 = $304 - $307; + $$0409 = $304;$$0410 = $309; + break; + } else { + $310 = $304 + $307; + $$0409 = $310;$$0410 = $304; + break; + } + } else { + if ($308) { + $311 = $304 + $307; + $$0409 = $304;$$0410 = $311; + break; + } else { + $312 = $304 - $307; + $$0409 = $312;$$0410 = $304; + break; + } + } + } while(0); + HEAPF32[$303>>2] = $$0409; + HEAPF32[$306>>2] = $$0410; + $313 = (($$442026) + 1)|0; + $exitcond = ($313|0)==($21|0); + if ($exitcond) { + break; + } else { + $$442026 = $313; + } + } + } + $289 = ($$341530$in|0)>(1); + if ($289) { + $$341530$in = $$341530; + } else { + break; + } + } + } + $290 = HEAP32[$23>>2]|0; + $291 = ($290|0)>(0); + if ($291) { + $292 = $21 << 2; + $$424 = 0; + while(1) { + $316 = (($8) + ($$424<<2)|0); + $317 = HEAP32[$316>>2]|0; + $318 = ($317|0)==(0); + $319 = (((($0)) + 800|0) + ($$424<<2)|0); + $320 = HEAP32[$319>>2]|0; + if ($318) { + $321 = (((($0)) + 996|0) + ($$424<<2)|0); + $322 = HEAP32[$321>>2]|0; + _do_floor($0,$20,$$424,$14,$320,$322); + } else { + _memset(($320|0),0,($292|0))|0; + } + $323 = (($$424) + 1)|0; + $315 = HEAP32[$23>>2]|0; + $324 = ($323|0)<($315|0); + if ($324) { + $$424 = $323; + } else { + break; + } + } + $314 = ($315|0)>(0); + if ($314) { + $$523 = 0; + while(1) { + $325 = (((($0)) + 800|0) + ($$523<<2)|0); + $326 = HEAP32[$325>>2]|0; + $327 = HEAP8[$2>>0]|0; + $328 = $327&255; + _inverse_mdct($326,$14,$0,$328); + $329 = (($$523) + 1)|0; + $330 = HEAP32[$23>>2]|0; + $331 = ($329|0)<($330|0); + if ($331) { + $$523 = $329; + } else { + break; + } + } + } + } + _flush_packet($0); + $332 = ((($0)) + 1377|0); + $333 = HEAP8[$332>>0]|0; + $334 = ($333<<24>>24)==(0); + do { + if ($334) { + $339 = ((($0)) + 1412|0); + $340 = HEAP32[$339>>2]|0; + $341 = ($340|0)==(0); + if ($341) { + $$0411 = $3; + } else { + $342 = (($4) - ($3))|0; + $343 = ($340|0)<($342|0); + if ($343) { + $345 = (($340) + ($3))|0; + HEAP32[$6>>2] = $345; + HEAP32[$339>>2] = 0; + $$0411 = $345; + break; + } else { + $344 = (($340) - ($342))|0; + HEAP32[$339>>2] = $344; + HEAP32[$6>>2] = $4; + $$0411 = $4; + break; + } + } + } else { + $335 = ((($0)) + 1060|0); + HEAP32[$335>>2] = $22; + $336 = (($14) - ($5))|0; + $337 = ((($0)) + 1412|0); + HEAP32[$337>>2] = $336; + $338 = ((($0)) + 1064|0); + HEAP32[$338>>2] = 1; + HEAP8[$332>>0] = 0; + $$0411 = $3; + } + } while(0); + $346 = ((($0)) + 1388|0); + $347 = HEAP32[$346>>2]|0; + $348 = ((($0)) + 1404|0); + $349 = HEAP32[$348>>2]|0; + $350 = ($347|0)==($349|0); + if ($350) { + $351 = ((($0)) + 1064|0); + $352 = HEAP32[$351>>2]|0; + $353 = ($352|0)==(0); + if (!($353)) { + $354 = ((($0)) + 1375|0); + $355 = HEAP8[$354>>0]|0; + $356 = $355 & 4; + $357 = ($356<<24>>24)==(0); + if (!($357)) { + $358 = ((($0)) + 1408|0); + $359 = HEAP32[$358>>2]|0; + $360 = (($5) - ($14))|0; + $361 = (($359) + ($360))|0; + $362 = ((($0)) + 1060|0); + $363 = HEAP32[$362>>2]|0; + $364 = (($5) - ($$0411))|0; + $365 = (($364) + ($363))|0; + $366 = ($361>>>0)<($365>>>0); + $367 = ($361>>>0)<($363>>>0); + $368 = (($361) - ($363))|0; + $storemerge = $367 ? 0 : $368; + $369 = (($storemerge) + ($$0411))|0; + $370 = ($369|0)>($5|0); + $$13 = $370 ? $5 : $369; + if ($366) { + HEAP32[$1>>2] = $$13; + $371 = HEAP32[$362>>2]|0; + $372 = (($371) + ($$13))|0; + HEAP32[$362>>2] = $372; + $$3 = 1; + STACKTOP = sp;return ($$3|0); + } + } + } + $373 = ((($0)) + 1408|0); + $374 = HEAP32[$373>>2]|0; + $375 = (($$0411) - ($21))|0; + $376 = (($375) + ($374))|0; + $377 = ((($0)) + 1060|0); + HEAP32[$377>>2] = $376; + HEAP32[$351>>2] = 1; + } + $378 = ((($0)) + 1064|0); + $379 = HEAP32[$378>>2]|0; + $380 = ($379|0)==(0); + $381 = ((($0)) + 1060|0); + if (!($380)) { + $382 = (($4) - ($$0411))|0; + $383 = HEAP32[$381>>2]|0; + $384 = (($382) + ($383))|0; + HEAP32[$381>>2] = $384; + } + $385 = HEAP32[$217>>2]|0; + $386 = ($385|0)==(0|0); + if (!($386)) { + $387 = ((($0)) + 84|0); + $388 = HEAP32[$387>>2]|0; + $389 = ((($0)) + 92|0); + $390 = HEAP32[$389>>2]|0; + $391 = ($388|0)==($390|0); + if (!($391)) { + ___assert_fail((16992|0),(16959|0),3035,(17048|0)); + // unreachable; + } + } + HEAP32[$1>>2] = $5; + $$3 = 1; + STACKTOP = sp;return ($$3|0); +} +function _get_bits($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$2 = 0, $$pr = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($0)) + 1396|0); + $3 = HEAP32[$2>>2]|0; + $4 = ($3|0)<(0); + if ($4) { + $$2 = 0; + return ($$2|0); + } + $5 = ($3|0)<($1|0); + L4: do { + if ($5) { + $6 = ($1|0)>(24); + if ($6) { + $7 = (_get_bits($0,24)|0); + $8 = (($1) + -24)|0; + $9 = (_get_bits($0,$8)|0); + $10 = $9 << 24; + $11 = (($10) + ($7))|0; + return ($11|0); + } + $12 = ($3|0)==(0); + if ($12) { + $13 = ((($0)) + 1392|0); + HEAP32[$13>>2] = 0; + } + $14 = HEAP32[$2>>2]|0; + $15 = ($14|0)<($1|0); + if ($15) { + $16 = ((($0)) + 1392|0); + while(1) { + $17 = (_get8_packet_raw($0)|0); + $18 = ($17|0)==(-1); + if ($18) { + break; + } + $19 = HEAP32[$2>>2]|0; + $20 = $17 << $19; + $21 = HEAP32[$16>>2]|0; + $22 = (($21) + ($20))|0; + HEAP32[$16>>2] = $22; + $23 = (($19) + 8)|0; + HEAP32[$2>>2] = $23; + $24 = ($23|0)<($1|0); + if (!($24)) { + $26 = $23; + break L4; + } + } + HEAP32[$2>>2] = -1; + $$2 = 0; + return ($$2|0); + } else { + $26 = $14; + } + } else { + $$pr = HEAP32[$2>>2]|0; + $26 = $$pr; + } + } while(0); + $25 = ($26|0)<(0); + if ($25) { + $$2 = 0; + return ($$2|0); + } + $27 = ((($0)) + 1392|0); + $28 = HEAP32[$27>>2]|0; + $29 = 1 << $1; + $30 = (($29) + -1)|0; + $31 = $28 & $30; + $32 = $28 >>> $1; + HEAP32[$27>>2] = $32; + $33 = (($26) - ($1))|0; + HEAP32[$2>>2] = $33; + $$2 = $31; + return ($$2|0); +} +function _ilog($0) { + $0 = $0|0; + var $$0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ($0|0)<(0); + if ($1) { + $$0 = 0; + return ($$0|0); + } + $2 = ($0|0)<(16384); + if ($2) { + $3 = ($0|0)<(16); + if ($3) { + $4 = (17334 + ($0)|0); + $5 = HEAP8[$4>>0]|0; + $6 = $5 << 24 >> 24; + $$0 = $6; + return ($$0|0); + } + $7 = ($0|0)<(512); + if ($7) { + $8 = $0 >>> 5; + $9 = (17334 + ($8)|0); + $10 = HEAP8[$9>>0]|0; + $11 = $10 << 24 >> 24; + $12 = (($11) + 5)|0; + $$0 = $12; + return ($$0|0); + } else { + $13 = $0 >>> 10; + $14 = (17334 + ($13)|0); + $15 = HEAP8[$14>>0]|0; + $16 = $15 << 24 >> 24; + $17 = (($16) + 10)|0; + $$0 = $17; + return ($$0|0); + } + } + $18 = ($0|0)<(16777216); + if ($18) { + $19 = ($0|0)<(524288); + if ($19) { + $20 = $0 >>> 15; + $21 = (17334 + ($20)|0); + $22 = HEAP8[$21>>0]|0; + $23 = $22 << 24 >> 24; + $24 = (($23) + 15)|0; + $$0 = $24; + return ($$0|0); + } else { + $25 = $0 >>> 20; + $26 = (17334 + ($25)|0); + $27 = HEAP8[$26>>0]|0; + $28 = $27 << 24 >> 24; + $29 = (($28) + 20)|0; + $$0 = $29; + return ($$0|0); + } + } else { + $30 = ($0|0)<(536870912); + if ($30) { + $31 = $0 >>> 25; + $32 = (17334 + ($31)|0); + $33 = HEAP8[$32>>0]|0; + $34 = $33 << 24 >> 24; + $35 = (($34) + 25)|0; + $$0 = $35; + return ($$0|0); + } else { + $36 = $0 >>> 30; + $37 = (17334 + ($36)|0); + $38 = HEAP8[$37>>0]|0; + $39 = $38 << 24 >> 24; + $40 = (($39) + 30)|0; + $$0 = $40; + return ($$0|0); + } + } + return (0)|0; +} +function _prep_huffman($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; + var label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 1396|0); + $2 = HEAP32[$1>>2]|0; + $3 = ($2|0)<(25); + if (!($3)) { + return; + } + $4 = ($2|0)==(0); + if ($4) { + $5 = ((($0)) + 1392|0); + HEAP32[$5>>2] = 0; + } + $6 = ((($0)) + 1376|0); + $7 = ((($0)) + 1384|0); + $8 = ((($0)) + 1392|0); + while(1) { + $9 = HEAP32[$7>>2]|0; + $10 = ($9|0)==(0); + if (!($10)) { + $11 = HEAP8[$6>>0]|0; + $12 = ($11<<24>>24)==(0); + if ($12) { + label = 9; + break; + } + } + $13 = (_get8_packet_raw($0)|0); + $14 = ($13|0)==(-1); + if ($14) { + label = 9; + break; + } + $15 = HEAP32[$1>>2]|0; + $16 = $13 << $15; + $17 = HEAP32[$8>>2]|0; + $18 = (($17) + ($16))|0; + HEAP32[$8>>2] = $18; + $19 = (($15) + 8)|0; + HEAP32[$1>>2] = $19; + $20 = ($19|0)<(25); + if (!($20)) { + label = 9; + break; + } + } + if ((label|0) == 9) { + return; + } +} +function _codebook_decode_scalar_raw($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $$06574 = 0, $$06676 = 0, $$068$lcssa = 0, $$06875 = 0, $$1 = 0, $$167 = 0, $$169 = 0, $$2 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0; + var $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0; + var $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0; + var $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0; + var $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $9 = 0, $storemerge = 0, label = 0, sp = 0; + sp = STACKTOP; + _prep_huffman($0); + $2 = ((($1)) + 32|0); + $3 = HEAP32[$2>>2]|0; + $4 = ($3|0)==(0|0); + if ($4) { + $5 = ((($1)) + 2084|0); + $6 = HEAP32[$5>>2]|0; + $7 = ($6|0)==(0|0); + if ($7) { + $$1 = -1; + return ($$1|0); + } + } + $8 = ((($1)) + 4|0); + $9 = HEAP32[$8>>2]|0; + $10 = ($9|0)>(8); + if ($10) { + $11 = ((($1)) + 2084|0); + $12 = HEAP32[$11>>2]|0; + $13 = ($12|0)==(0|0); + if (!($13)) { + label = 6; + } + } else { + $14 = HEAP32[$2>>2]|0; + $15 = ($14|0)==(0|0); + if ($15) { + label = 6; + } + } + if ((label|0) == 6) { + $16 = ((($0)) + 1392|0); + $17 = HEAP32[$16>>2]|0; + $18 = (_bit_reverse($17)|0); + $19 = ((($1)) + 2092|0); + $20 = HEAP32[$19>>2]|0; + $21 = ($20|0)>(1); + if ($21) { + $22 = ((($1)) + 2084|0); + $23 = HEAP32[$22>>2]|0; + $$06676 = $20;$$06875 = 0; + while(1) { + $24 = $$06676 >>> 1; + $25 = (($24) + ($$06875))|0; + $26 = (($23) + ($25<<2)|0); + $27 = HEAP32[$26>>2]|0; + $28 = ($27>>>0)>($18>>>0); + $29 = (($$06676) - ($24))|0; + $$169 = $28 ? $$06875 : $25; + $$167 = $28 ? $24 : $29; + $30 = ($$167|0)>(1); + if ($30) { + $$06676 = $$167;$$06875 = $$169; + } else { + $$068$lcssa = $$169; + break; + } + } + } else { + $$068$lcssa = 0; + } + $31 = ((($1)) + 23|0); + $32 = HEAP8[$31>>0]|0; + $33 = ($32<<24>>24)==(0); + if ($33) { + $34 = ((($1)) + 2088|0); + $35 = HEAP32[$34>>2]|0; + $36 = (($35) + ($$068$lcssa<<2)|0); + $37 = HEAP32[$36>>2]|0; + $$2 = $37; + } else { + $$2 = $$068$lcssa; + } + $38 = ((($1)) + 8|0); + $39 = HEAP32[$38>>2]|0; + $40 = (($39) + ($$2)|0); + $41 = HEAP8[$40>>0]|0; + $42 = $41&255; + $43 = ((($0)) + 1396|0); + $44 = HEAP32[$43>>2]|0; + $45 = ($44|0)<($42|0); + if ($45) { + $$0 = -1;$storemerge = 0; + } else { + $46 = (($44) - ($42))|0; + $47 = HEAP32[$16>>2]|0; + $48 = $47 >>> $42; + HEAP32[$16>>2] = $48; + $$0 = $$2;$storemerge = $46; + } + HEAP32[$43>>2] = $storemerge; + $$1 = $$0; + return ($$1|0); + } + $49 = ((($1)) + 23|0); + $50 = HEAP8[$49>>0]|0; + $51 = ($50<<24>>24)==(0); + if (!($51)) { + ___assert_fail((17296|0),(16959|0),1254,(17307|0)); + // unreachable; + } + $52 = HEAP32[$8>>2]|0; + $53 = ($52|0)>(0); + L26: do { + if ($53) { + $54 = ((($1)) + 8|0); + $55 = HEAP32[$54>>2]|0; + $56 = ((($0)) + 1392|0); + $$06574 = 0; + while(1) { + $57 = (($55) + ($$06574)|0); + $58 = HEAP8[$57>>0]|0; + $59 = $58&255; + $60 = ($58<<24>>24)==(-1); + if (!($60)) { + $61 = HEAP32[$2>>2]|0; + $62 = (($61) + ($$06574<<2)|0); + $63 = HEAP32[$62>>2]|0; + $64 = HEAP32[$56>>2]|0; + $65 = 1 << $59; + $66 = (($65) + -1)|0; + $67 = $64 & $66; + $68 = ($63|0)==($67|0); + if ($68) { + break; + } + } + $76 = (($$06574) + 1)|0; + $77 = HEAP32[$8>>2]|0; + $78 = ($76|0)<($77|0); + if ($78) { + $$06574 = $76; + } else { + break L26; + } + } + $69 = ((($0)) + 1396|0); + $70 = HEAP32[$69>>2]|0; + $71 = ($70|0)<($59|0); + if ($71) { + HEAP32[$69>>2] = 0; + $$1 = -1; + return ($$1|0); + } else { + $72 = $64 >>> $59; + HEAP32[$56>>2] = $72; + $73 = HEAP8[$57>>0]|0; + $74 = $73&255; + $75 = (($70) - ($74))|0; + HEAP32[$69>>2] = $75; + $$1 = $$06574; + return ($$1|0); + } + } + } while(0); + _error($0,21); + $79 = ((($0)) + 1396|0); + HEAP32[$79>>2] = 0; + $$1 = -1; + return ($$1|0); +} +function _predict_point($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$p = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $ispos = 0, $neg = 0, label = 0, sp = 0; + sp = STACKTOP; + $5 = (($4) - ($3))|0; + $6 = (($2) - ($1))|0; + $ispos = ($5|0)>(-1); + $neg = (0 - ($5))|0; + $7 = $ispos ? $5 : $neg; + $8 = (($0) - ($1))|0; + $9 = Math_imul($7, $8)|0; + $10 = (($9|0) / ($6|0))&-1; + $11 = ($5|0)<(0); + $12 = (0 - ($10))|0; + $$p = $11 ? $12 : $10; + $13 = (($$p) + ($3))|0; + return ($13|0); +} +function _decode_residue($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + var $$ = 0, $$0434$lcssa = 0, $$0434590 = 0, $$0437586 = 0, $$0439574 = 0, $$0444572 = 0, $$0465608 = 0, $$0466607 = 0, $$0613 = 0, $$1435596 = 0, $$1438611 = 0, $$1440$lcssa = 0, $$1440567 = 0, $$1451 = 0, $$1463 = 0, $$1467$lcssa = 0, $$1467603 = 0, $$1469 = 0, $$1472 = 0, $$1568 = 0; + var $$2436599 = 0, $$2446562 = 0, $$2452 = 0, $$2464 = 0, $$2470 = 0, $$2473 = 0, $$2561 = 0, $$3442564 = 0, $$3578 = 0, $$4443$lcssa = 0, $$4443560 = 0, $$4448582 = 0, $$4605 = 0, $$477 = 0, $$480 = 0, $$481 = 0, $$484 = 0, $$485 = 0, $$488 = 0, $$489 = 0; + var $$6584 = 0, $$7$lcssa = 0, $$7577 = 0, $$alloca_mul = 0, $$not = 0, $$not617 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0; + var $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0; + var $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0; + var $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0; + var $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0; + var $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0; + var $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0; + var $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0; + var $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0; + var $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0; + var $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0; + var $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0; + var $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0; + var $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0; + var $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0; + var $367 = 0, $368 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0; + var $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0; + var $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0; + var $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $brmerge = 0, $exitcond = 0, $not$ = 0, $not$521 = 0, $not$522 = 0, $not$523 = 0, $or$cond = 0, $or$cond478 = 0, $or$cond478566 = 0, $or$cond482 = 0, $or$cond482559 = 0; + var $or$cond486 = 0, $or$cond486576 = 0, $or$cond490 = 0, $or$cond490602 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $6 = sp + 4|0; + $7 = sp; + $8 = ((($0)) + 396|0); + $9 = HEAP32[$8>>2]|0; + $10 = (((($0)) + 268|0) + ($4<<1)|0); + $11 = HEAP16[$10>>1]|0; + $12 = $11&65535; + $13 = (((($9) + (($4*24)|0)|0)) + 13|0); + $14 = HEAP8[$13>>0]|0; + $15 = $14&255; + $16 = ((($0)) + 124|0); + $17 = HEAP32[$16>>2]|0; + $18 = (($17) + (($15*2096)|0)|0); + $19 = HEAP32[$18>>2]|0; + $20 = (((($9) + (($4*24)|0)|0)) + 4|0); + $21 = HEAP32[$20>>2]|0; + $22 = (($9) + (($4*24)|0)|0); + $23 = HEAP32[$22>>2]|0; + $24 = (($21) - ($23))|0; + $25 = (((($9) + (($4*24)|0)|0)) + 8|0); + $26 = HEAP32[$25>>2]|0; + $27 = (($24>>>0) / ($26>>>0))&-1; + $28 = ((($0)) + 92|0); + $29 = HEAP32[$28>>2]|0; + $30 = ((($0)) + 80|0); + $31 = HEAP32[$30>>2]|0; + $32 = ($31|0)==(0|0); + $33 = $27 << 2; + $34 = (($33) + 4)|0; + $35 = ((($0)) + 4|0); + $36 = HEAP32[$35>>2]|0; + $37 = Math_imul($36, $34)|0; + if ($32) { + $$alloca_mul = $37; + $39 = STACKTOP; STACKTOP = STACKTOP + ((((1*$$alloca_mul)|0)+15)&-16)|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(((((1*$$alloca_mul)|0)+15)&-16)|0);; + $41 = $39; + } else { + $38 = (_setup_temp_malloc($0,$37)|0); + $41 = $38; + } + $40 = HEAP32[$35>>2]|0; + $42 = (_make_block_array($41,$40,$33)|0); + $43 = ($2|0)>(0); + if ($43) { + $44 = $3 << 2; + $$0613 = 0; + while(1) { + $45 = (($5) + ($$0613)|0); + $46 = HEAP8[$45>>0]|0; + $47 = ($46<<24>>24)==(0); + if ($47) { + $48 = (($1) + ($$0613<<2)|0); + $49 = HEAP32[$48>>2]|0; + _memset(($49|0),0,($44|0))|0; + } + $50 = (($$0613) + 1)|0; + $exitcond = ($50|0)==($2|0); + if ($exitcond) { + break; + } else { + $$0613 = $50; + } + } + } + $51 = ($11<<16>>16)==(2); + $52 = ($2|0)!=(1); + $or$cond = $52 & $51; + if (!($or$cond)) { + $53 = ($27|0)>(0); + $54 = ($19|0)>(0); + $55 = ($2|0)>(0); + $56 = (((($9) + (($4*24)|0)|0)) + 20|0); + $57 = ((($0)) + 1396|0); + $58 = ((($0)) + 1392|0); + $59 = (((($9) + (($4*24)|0)|0)) + 16|0); + $$not617 = ($2|0)<(1); + $$1438611 = 0; + L15: while(1) { + if ($53) { + $$not = ($$1438611|0)!=(0); + $brmerge = $$not | $$not617; + $$0465608 = 0;$$0466607 = 0; + while(1) { + if (!($brmerge)) { + $$1435596 = 0; + while(1) { + $294 = (($5) + ($$1435596)|0); + $295 = HEAP8[$294>>0]|0; + $296 = ($295<<24>>24)==(0); + if ($296) { + $297 = HEAP32[$16>>2]|0; + $298 = HEAP8[$13>>0]|0; + $299 = $298&255; + $300 = (($297) + (($299*2096)|0)|0); + $301 = HEAP32[$57>>2]|0; + $302 = ($301|0)<(10); + if ($302) { + _prep_huffman($0); + } + $303 = HEAP32[$58>>2]|0; + $304 = $303 & 1023; + $305 = ((((($297) + (($299*2096)|0)|0)) + 36|0) + ($304<<1)|0); + $306 = HEAP16[$305>>1]|0; + $307 = $306 << 16 >> 16; + $308 = ($306<<16>>16)>(-1); + if ($308) { + $309 = (((($297) + (($299*2096)|0)|0)) + 8|0); + $310 = HEAP32[$309>>2]|0; + $311 = (($310) + ($307)|0); + $312 = HEAP8[$311>>0]|0; + $313 = $312&255; + $314 = $303 >>> $313; + HEAP32[$58>>2] = $314; + $315 = HEAP32[$57>>2]|0; + $316 = (($315) - ($313))|0; + $317 = ($316|0)<(0); + $$488 = $317 ? 0 : $316; + $$489 = $317 ? -1 : $307; + HEAP32[$57>>2] = $$488; + $$1463 = $$489; + } else { + $318 = (_codebook_decode_scalar_raw($0,$300)|0); + $$1463 = $318; + } + $319 = (((($297) + (($299*2096)|0)|0)) + 23|0); + $320 = HEAP8[$319>>0]|0; + $321 = ($320<<24>>24)==(0); + if ($321) { + $$2464 = $$1463; + } else { + $322 = (((($297) + (($299*2096)|0)|0)) + 2088|0); + $323 = HEAP32[$322>>2]|0; + $324 = (($323) + ($$1463<<2)|0); + $325 = HEAP32[$324>>2]|0; + $$2464 = $325; + } + $326 = ($$2464|0)==(-1); + if ($326) { + label = 98; + break L15; + } + $327 = HEAP32[$59>>2]|0; + $328 = (($327) + ($$2464<<2)|0); + $329 = HEAP32[$328>>2]|0; + $330 = (($41) + ($$1435596<<2)|0); + $331 = HEAP32[$330>>2]|0; + $332 = (($331) + ($$0465608<<2)|0); + HEAP32[$332>>2] = $329; + } + $333 = (($$1435596) + 1)|0; + $334 = ($333|0)<($2|0); + if ($334) { + $$1435596 = $333; + } else { + break; + } + } + } + $293 = ($$0466607|0)<($27|0); + $or$cond490602 = $293 & $54; + if ($or$cond490602) { + $$1467603 = $$0466607;$$4605 = 0; + while(1) { + if ($55) { + $$2436599 = 0; + while(1) { + $335 = (($5) + ($$2436599)|0); + $336 = HEAP8[$335>>0]|0; + $337 = ($336<<24>>24)==(0); + if ($337) { + $338 = (($41) + ($$2436599<<2)|0); + $339 = HEAP32[$338>>2]|0; + $340 = (($339) + ($$0465608<<2)|0); + $341 = HEAP32[$340>>2]|0; + $342 = (($341) + ($$4605)|0); + $343 = HEAP8[$342>>0]|0; + $344 = $343&255; + $345 = HEAP32[$56>>2]|0; + $346 = ((($345) + ($344<<4)|0) + ($$1438611<<1)|0); + $347 = HEAP16[$346>>1]|0; + $348 = ($347<<16>>16)>(-1); + if ($348) { + $349 = $347 << 16 >> 16; + $350 = (($1) + ($$2436599<<2)|0); + $351 = HEAP32[$350>>2]|0; + $352 = HEAP32[$22>>2]|0; + $353 = HEAP32[$25>>2]|0; + $354 = Math_imul($353, $$1467603)|0; + $355 = (($354) + ($352))|0; + $356 = HEAP32[$16>>2]|0; + $357 = (($356) + (($349*2096)|0)|0); + $358 = (_residue_decode($0,$357,$351,$355,$353,$12)|0); + $not$ = ($358|0)==(0); + if ($not$) { + label = 98; + break L15; + } + } + } + $359 = (($$2436599) + 1)|0; + $360 = ($359|0)<($2|0); + if ($360) { + $$2436599 = $359; + } else { + break; + } + } + } + $361 = (($$4605) + 1)|0; + $362 = (($$1467603) + 1)|0; + $363 = ($361|0)<($19|0); + $364 = ($362|0)<($27|0); + $or$cond490 = $364 & $363; + if ($or$cond490) { + $$1467603 = $362;$$4605 = $361; + } else { + $$1467$lcssa = $362; + break; + } + } + } else { + $$1467$lcssa = $$0466607; + } + $365 = (($$0465608) + 1)|0; + $366 = ($$1467$lcssa|0)<($27|0); + if ($366) { + $$0465608 = $365;$$0466607 = $$1467$lcssa; + } else { + break; + } + } + } + $367 = (($$1438611) + 1)|0; + $368 = ($367|0)<(8); + if ($368) { + $$1438611 = $367; + } else { + label = 98; + break; + } + } + if ((label|0) == 98) { + HEAP32[$28>>2] = $29; + STACKTOP = sp;return; + } + } + $60 = ($2|0)>(0); + L57: do { + if ($60) { + $$0434590 = 0; + while(1) { + $61 = (($5) + ($$0434590)|0); + $62 = HEAP8[$61>>0]|0; + $63 = ($62<<24>>24)==(0); + if ($63) { + $$0434$lcssa = $$0434590; + break L57; + } + $64 = (($$0434590) + 1)|0; + $65 = ($64|0)<($2|0); + if ($65) { + $$0434590 = $64; + } else { + $$0434$lcssa = $64; + break; + } + } + } else { + $$0434$lcssa = 0; + } + } while(0); + $66 = ($$0434$lcssa|0)==($2|0); + if ($66) { + HEAP32[$28>>2] = $29; + STACKTOP = sp;return; + } + $67 = ($27|0)>(0); + $68 = ((($0)) + 1396|0); + $69 = ((($0)) + 1392|0); + $70 = (((($9) + (($4*24)|0)|0)) + 16|0); + $71 = ($19|0)>(0); + $72 = (((($9) + (($4*24)|0)|0)) + 20|0); + $73 = ($27|0)>(0); + $74 = ((($0)) + 1396|0); + $75 = ((($0)) + 1392|0); + $76 = (((($9) + (($4*24)|0)|0)) + 16|0); + $77 = ($19|0)>(0); + $78 = (((($9) + (($4*24)|0)|0)) + 20|0); + $79 = ($27|0)>(0); + $80 = ((($0)) + 1396|0); + $81 = ((($0)) + 1392|0); + $82 = (((($9) + (($4*24)|0)|0)) + 16|0); + $83 = ($19|0)>(0); + $84 = (((($9) + (($4*24)|0)|0)) + 20|0); + $$0437586 = 0; + L65: while(1) { + switch ($2|0) { + case 2: { + if ($73) { + $86 = ($$0437586|0)==(0); + $$0439574 = 0;$$0444572 = 0; + while(1) { + $88 = HEAP32[$22>>2]|0; + $89 = HEAP32[$25>>2]|0; + $90 = Math_imul($89, $$0439574)|0; + $91 = (($90) + ($88))|0; + $92 = $91 & 1; + HEAP32[$6>>2] = $92; + $93 = $91 >> 1; + HEAP32[$7>>2] = $93; + if ($86) { + $94 = HEAP32[$16>>2]|0; + $95 = HEAP8[$13>>0]|0; + $96 = $95&255; + $97 = (($94) + (($96*2096)|0)|0); + $98 = HEAP32[$74>>2]|0; + $99 = ($98|0)<(10); + if ($99) { + _prep_huffman($0); + } + $100 = HEAP32[$75>>2]|0; + $101 = $100 & 1023; + $102 = ((((($94) + (($96*2096)|0)|0)) + 36|0) + ($101<<1)|0); + $103 = HEAP16[$102>>1]|0; + $104 = $103 << 16 >> 16; + $105 = ($103<<16>>16)>(-1); + if ($105) { + $106 = (((($94) + (($96*2096)|0)|0)) + 8|0); + $107 = HEAP32[$106>>2]|0; + $108 = (($107) + ($104)|0); + $109 = HEAP8[$108>>0]|0; + $110 = $109&255; + $111 = $100 >>> $110; + HEAP32[$75>>2] = $111; + $112 = HEAP32[$74>>2]|0; + $113 = (($112) - ($110))|0; + $114 = ($113|0)<(0); + $$ = $114 ? 0 : $113; + $$477 = $114 ? -1 : $104; + HEAP32[$74>>2] = $$; + $$1451 = $$477; + } else { + $115 = (_codebook_decode_scalar_raw($0,$97)|0); + $$1451 = $115; + } + $116 = (((($94) + (($96*2096)|0)|0)) + 23|0); + $117 = HEAP8[$116>>0]|0; + $118 = ($117<<24>>24)==(0); + if ($118) { + $$2452 = $$1451; + } else { + $119 = (((($94) + (($96*2096)|0)|0)) + 2088|0); + $120 = HEAP32[$119>>2]|0; + $121 = (($120) + ($$1451<<2)|0); + $122 = HEAP32[$121>>2]|0; + $$2452 = $122; + } + $123 = ($$2452|0)==(-1); + if ($123) { + label = 38; + break L65; + } + $124 = HEAP32[$76>>2]|0; + $125 = (($124) + ($$2452<<2)|0); + $126 = HEAP32[$125>>2]|0; + $127 = HEAP32[$41>>2]|0; + $128 = (($127) + ($$0444572<<2)|0); + HEAP32[$128>>2] = $126; + } + $129 = ($$0439574|0)<($27|0); + $or$cond478566 = $129 & $77; + if ($or$cond478566) { + $$1440567 = $$0439574;$$1568 = 0; + while(1) { + $130 = HEAP32[$25>>2]|0; + $131 = HEAP32[$41>>2]|0; + $132 = (($131) + ($$0444572<<2)|0); + $133 = HEAP32[$132>>2]|0; + $134 = (($133) + ($$1568)|0); + $135 = HEAP8[$134>>0]|0; + $136 = $135&255; + $137 = HEAP32[$78>>2]|0; + $138 = ((($137) + ($136<<4)|0) + ($$0437586<<1)|0); + $139 = HEAP16[$138>>1]|0; + $140 = ($139<<16>>16)>(-1); + if ($140) { + $141 = $139 << 16 >> 16; + $142 = HEAP32[$16>>2]|0; + $143 = (($142) + (($141*2096)|0)|0); + $144 = (_codebook_decode_deinterleave_repeat($0,$143,$1,$2,$6,$7,$3,$130)|0); + $not$522 = ($144|0)==(0); + if ($not$522) { + label = 38; + break L65; + } + } else { + $145 = HEAP32[$22>>2]|0; + $146 = Math_imul($130, $$1440567)|0; + $147 = (($146) + ($130))|0; + $148 = (($147) + ($145))|0; + $149 = $148 & 1; + HEAP32[$6>>2] = $149; + $150 = $148 >> 1; + HEAP32[$7>>2] = $150; + } + $151 = (($$1568) + 1)|0; + $152 = (($$1440567) + 1)|0; + $153 = ($151|0)<($19|0); + $154 = ($152|0)<($27|0); + $or$cond478 = $154 & $153; + if ($or$cond478) { + $$1440567 = $152;$$1568 = $151; + } else { + $$1440$lcssa = $152; + break; + } + } + } else { + $$1440$lcssa = $$0439574; + } + $155 = (($$0444572) + 1)|0; + $156 = ($$1440$lcssa|0)<($27|0); + if ($156) { + $$0439574 = $$1440$lcssa;$$0444572 = $155; + } else { + break; + } + } + } + break; + } + case 1: { + if ($79) { + $85 = ($$0437586|0)==(0); + $$2446562 = 0;$$3442564 = 0; + while(1) { + $157 = HEAP32[$22>>2]|0; + $158 = HEAP32[$25>>2]|0; + $159 = Math_imul($158, $$3442564)|0; + $160 = (($159) + ($157))|0; + HEAP32[$6>>2] = 0; + HEAP32[$7>>2] = $160; + if ($85) { + $161 = HEAP32[$16>>2]|0; + $162 = HEAP8[$13>>0]|0; + $163 = $162&255; + $164 = (($161) + (($163*2096)|0)|0); + $165 = HEAP32[$80>>2]|0; + $166 = ($165|0)<(10); + if ($166) { + _prep_huffman($0); + } + $167 = HEAP32[$81>>2]|0; + $168 = $167 & 1023; + $169 = ((((($161) + (($163*2096)|0)|0)) + 36|0) + ($168<<1)|0); + $170 = HEAP16[$169>>1]|0; + $171 = $170 << 16 >> 16; + $172 = ($170<<16>>16)>(-1); + if ($172) { + $173 = (((($161) + (($163*2096)|0)|0)) + 8|0); + $174 = HEAP32[$173>>2]|0; + $175 = (($174) + ($171)|0); + $176 = HEAP8[$175>>0]|0; + $177 = $176&255; + $178 = $167 >>> $177; + HEAP32[$81>>2] = $178; + $179 = HEAP32[$80>>2]|0; + $180 = (($179) - ($177))|0; + $181 = ($180|0)<(0); + $$480 = $181 ? 0 : $180; + $$481 = $181 ? -1 : $171; + HEAP32[$80>>2] = $$480; + $$1469 = $$481; + } else { + $182 = (_codebook_decode_scalar_raw($0,$164)|0); + $$1469 = $182; + } + $183 = (((($161) + (($163*2096)|0)|0)) + 23|0); + $184 = HEAP8[$183>>0]|0; + $185 = ($184<<24>>24)==(0); + if ($185) { + $$2470 = $$1469; + } else { + $186 = (((($161) + (($163*2096)|0)|0)) + 2088|0); + $187 = HEAP32[$186>>2]|0; + $188 = (($187) + ($$1469<<2)|0); + $189 = HEAP32[$188>>2]|0; + $$2470 = $189; + } + $190 = ($$2470|0)==(-1); + if ($190) { + label = 55; + break L65; + } + $191 = HEAP32[$82>>2]|0; + $192 = (($191) + ($$2470<<2)|0); + $193 = HEAP32[$192>>2]|0; + $194 = HEAP32[$41>>2]|0; + $195 = (($194) + ($$2446562<<2)|0); + HEAP32[$195>>2] = $193; + } + $196 = ($$3442564|0)<($27|0); + $or$cond482559 = $196 & $83; + if ($or$cond482559) { + $$2561 = 0;$$4443560 = $$3442564; + while(1) { + $197 = HEAP32[$25>>2]|0; + $198 = HEAP32[$41>>2]|0; + $199 = (($198) + ($$2446562<<2)|0); + $200 = HEAP32[$199>>2]|0; + $201 = (($200) + ($$2561)|0); + $202 = HEAP8[$201>>0]|0; + $203 = $202&255; + $204 = HEAP32[$84>>2]|0; + $205 = ((($204) + ($203<<4)|0) + ($$0437586<<1)|0); + $206 = HEAP16[$205>>1]|0; + $207 = ($206<<16>>16)>(-1); + if ($207) { + $208 = $206 << 16 >> 16; + $209 = HEAP32[$16>>2]|0; + $210 = (($209) + (($208*2096)|0)|0); + $211 = (_codebook_decode_deinterleave_repeat($0,$210,$1,$2,$6,$7,$3,$197)|0); + $not$521 = ($211|0)==(0); + if ($not$521) { + label = 55; + break L65; + } + } else { + $212 = HEAP32[$22>>2]|0; + $213 = Math_imul($197, $$4443560)|0; + $214 = (($213) + ($197))|0; + $215 = (($214) + ($212))|0; + HEAP32[$6>>2] = 0; + HEAP32[$7>>2] = $215; + } + $216 = (($$2561) + 1)|0; + $217 = (($$4443560) + 1)|0; + $218 = ($216|0)<($19|0); + $219 = ($217|0)<($27|0); + $or$cond482 = $219 & $218; + if ($or$cond482) { + $$2561 = $216;$$4443560 = $217; + } else { + $$4443$lcssa = $217; + break; + } + } + } else { + $$4443$lcssa = $$3442564; + } + $220 = (($$2446562) + 1)|0; + $221 = ($$4443$lcssa|0)<($27|0); + if ($221) { + $$2446562 = $220;$$3442564 = $$4443$lcssa; + } else { + break; + } + } + } + break; + } + default: { + if ($67) { + $87 = ($$0437586|0)==(0); + $$4448582 = 0;$$6584 = 0; + while(1) { + $222 = HEAP32[$22>>2]|0; + $223 = HEAP32[$25>>2]|0; + $224 = Math_imul($223, $$6584)|0; + $225 = (($224) + ($222))|0; + $226 = (($225|0) % ($2|0))&-1; + HEAP32[$6>>2] = $226; + $227 = (($225|0) / ($2|0))&-1; + HEAP32[$7>>2] = $227; + if ($87) { + $228 = HEAP32[$16>>2]|0; + $229 = HEAP8[$13>>0]|0; + $230 = $229&255; + $231 = (($228) + (($230*2096)|0)|0); + $232 = HEAP32[$68>>2]|0; + $233 = ($232|0)<(10); + if ($233) { + _prep_huffman($0); + } + $234 = HEAP32[$69>>2]|0; + $235 = $234 & 1023; + $236 = ((((($228) + (($230*2096)|0)|0)) + 36|0) + ($235<<1)|0); + $237 = HEAP16[$236>>1]|0; + $238 = $237 << 16 >> 16; + $239 = ($237<<16>>16)>(-1); + if ($239) { + $240 = (((($228) + (($230*2096)|0)|0)) + 8|0); + $241 = HEAP32[$240>>2]|0; + $242 = (($241) + ($238)|0); + $243 = HEAP8[$242>>0]|0; + $244 = $243&255; + $245 = $234 >>> $244; + HEAP32[$69>>2] = $245; + $246 = HEAP32[$68>>2]|0; + $247 = (($246) - ($244))|0; + $248 = ($247|0)<(0); + $$484 = $248 ? 0 : $247; + $$485 = $248 ? -1 : $238; + HEAP32[$68>>2] = $$484; + $$1472 = $$485; + } else { + $249 = (_codebook_decode_scalar_raw($0,$231)|0); + $$1472 = $249; + } + $250 = (((($228) + (($230*2096)|0)|0)) + 23|0); + $251 = HEAP8[$250>>0]|0; + $252 = ($251<<24>>24)==(0); + if ($252) { + $$2473 = $$1472; + } else { + $253 = (((($228) + (($230*2096)|0)|0)) + 2088|0); + $254 = HEAP32[$253>>2]|0; + $255 = (($254) + ($$1472<<2)|0); + $256 = HEAP32[$255>>2]|0; + $$2473 = $256; + } + $257 = ($$2473|0)==(-1); + if ($257) { + label = 72; + break L65; + } + $258 = HEAP32[$70>>2]|0; + $259 = (($258) + ($$2473<<2)|0); + $260 = HEAP32[$259>>2]|0; + $261 = HEAP32[$41>>2]|0; + $262 = (($261) + ($$4448582<<2)|0); + HEAP32[$262>>2] = $260; + } + $263 = ($$6584|0)<($27|0); + $or$cond486576 = $263 & $71; + if ($or$cond486576) { + $$3578 = 0;$$7577 = $$6584; + while(1) { + $264 = HEAP32[$25>>2]|0; + $265 = HEAP32[$41>>2]|0; + $266 = (($265) + ($$4448582<<2)|0); + $267 = HEAP32[$266>>2]|0; + $268 = (($267) + ($$3578)|0); + $269 = HEAP8[$268>>0]|0; + $270 = $269&255; + $271 = HEAP32[$72>>2]|0; + $272 = ((($271) + ($270<<4)|0) + ($$0437586<<1)|0); + $273 = HEAP16[$272>>1]|0; + $274 = ($273<<16>>16)>(-1); + if ($274) { + $275 = $273 << 16 >> 16; + $276 = HEAP32[$16>>2]|0; + $277 = (($276) + (($275*2096)|0)|0); + $278 = (_codebook_decode_deinterleave_repeat($0,$277,$1,$2,$6,$7,$3,$264)|0); + $not$523 = ($278|0)==(0); + if ($not$523) { + label = 72; + break L65; + } + } else { + $279 = HEAP32[$22>>2]|0; + $280 = Math_imul($264, $$7577)|0; + $281 = (($280) + ($264))|0; + $282 = (($281) + ($279))|0; + $283 = (($282|0) % ($2|0))&-1; + HEAP32[$6>>2] = $283; + $284 = (($282|0) / ($2|0))&-1; + HEAP32[$7>>2] = $284; + } + $285 = (($$3578) + 1)|0; + $286 = (($$7577) + 1)|0; + $287 = ($285|0)<($19|0); + $288 = ($286|0)<($27|0); + $or$cond486 = $288 & $287; + if ($or$cond486) { + $$3578 = $285;$$7577 = $286; + } else { + $$7$lcssa = $286; + break; + } + } + } else { + $$7$lcssa = $$6584; + } + $289 = (($$4448582) + 1)|0; + $290 = ($$7$lcssa|0)<($27|0); + if ($290) { + $$4448582 = $289;$$6584 = $$7$lcssa; + } else { + break; + } + } + } + } + } + $291 = (($$0437586) + 1)|0; + $292 = ($291|0)<(8); + if ($292) { + $$0437586 = $291; + } else { + label = 98; + break; + } + } + if ((label|0) == 38) { + HEAP32[$28>>2] = $29; + STACKTOP = sp;return; + } + else if ((label|0) == 55) { + HEAP32[$28>>2] = $29; + STACKTOP = sp;return; + } + else if ((label|0) == 72) { + HEAP32[$28>>2] = $29; + STACKTOP = sp;return; + } + else if ((label|0) == 98) { + HEAP32[$28>>2] = $29; + STACKTOP = sp;return; + } +} +function _do_floor($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + var $$062$lcssa = 0, $$0624 = 0, $$063$lcssa = 0, $$0633 = 0, $$0652 = 0, $$0661 = 0, $$1 = 0, $$164 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0; + var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0; + var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0.0, $49 = 0, $50 = 0.0, $51 = 0.0, $52 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, label = 0, sp = 0; + sp = STACKTOP; + $6 = $3 >> 1; + $7 = ((($1)) + 4|0); + $8 = HEAP32[$7>>2]|0; + $9 = (((($8) + (($2*3)|0)|0)) + 2|0); + $10 = HEAP8[$9>>0]|0; + $11 = $10&255; + $12 = (((($1)) + 9|0) + ($11)|0); + $13 = HEAP8[$12>>0]|0; + $14 = $13&255; + $15 = (((($0)) + 132|0) + ($14<<1)|0); + $16 = HEAP16[$15>>1]|0; + $17 = ($16<<16>>16)==(0); + if ($17) { + _error($0,21); + return; + } + $18 = ((($0)) + 260|0); + $19 = HEAP32[$18>>2]|0; + $20 = HEAP16[$5>>1]|0; + $21 = $20 << 16 >> 16; + $22 = (((($19) + (($14*1596)|0)|0)) + 1588|0); + $23 = HEAP8[$22>>0]|0; + $24 = $23&255; + $25 = Math_imul($24, $21)|0; + $26 = (((($19) + (($14*1596)|0)|0)) + 1592|0); + $27 = HEAP32[$26>>2]|0; + $28 = ($27|0)>(1); + if ($28) { + $$0624 = $25;$$0633 = 0;$$0652 = 1; + while(1) { + $29 = ((((($19) + (($14*1596)|0)|0)) + 838|0) + ($$0652)|0); + $30 = HEAP8[$29>>0]|0; + $31 = $30&255; + $32 = (($5) + ($31<<1)|0); + $33 = HEAP16[$32>>1]|0; + $34 = ($33<<16>>16)>(-1); + if ($34) { + $35 = $33 << 16 >> 16; + $36 = HEAP8[$22>>0]|0; + $37 = $36&255; + $38 = Math_imul($37, $35)|0; + $39 = ((((($19) + (($14*1596)|0)|0)) + 338|0) + ($31<<1)|0); + $40 = HEAP16[$39>>1]|0; + $41 = $40&65535; + $42 = ($$0633|0)==($41|0); + if ($42) { + $$1 = $38;$$164 = $41; + } else { + _draw_line($4,$$0633,$$0624,$41,$38,$6); + $$1 = $38;$$164 = $41; + } + } else { + $$1 = $$0624;$$164 = $$0633; + } + $43 = (($$0652) + 1)|0; + $44 = HEAP32[$26>>2]|0; + $45 = ($43|0)<($44|0); + if ($45) { + $$0624 = $$1;$$0633 = $$164;$$0652 = $43; + } else { + $$062$lcssa = $$1;$$063$lcssa = $$164; + break; + } + } + } else { + $$062$lcssa = $25;$$063$lcssa = 0; + } + $46 = ($$063$lcssa|0)<($6|0); + if (!($46)) { + return; + } + $47 = (3772 + ($$062$lcssa<<2)|0); + $48 = +HEAPF32[$47>>2]; + $$0661 = $$063$lcssa; + while(1) { + $49 = (($4) + ($$0661<<2)|0); + $50 = +HEAPF32[$49>>2]; + $51 = $48 * $50; + HEAPF32[$49>>2] = $51; + $52 = (($$0661) + 1)|0; + $exitcond = ($52|0)==($6|0); + if ($exitcond) { + break; + } else { + $$0661 = $52; + } + } + return; +} +function _inverse_mdct($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$0$lcssa = 0, $$0492$lcssa = 0, $$0492576 = 0, $$0494 = 0, $$0494522 = 0, $$0494530 = 0, $$0495531 = 0, $$0495531$pn = 0, $$0496527 = 0, $$0497526 = 0, $$0498525 = 0, $$0499524 = 0, $$0500575 = 0, $$0502$lcssa = 0, $$0502574 = 0, $$0504564 = 0, $$0505563 = 0, $$0506562 = 0, $$0507561 = 0, $$0508 = 0; + var $$0508532 = 0, $$0508536 = 0, $$0509534 = 0, $$0510533 = 0, $$0511560 = 0, $$0512542 = 0, $$0513541 = 0, $$0514540 = 0, $$0515548 = 0, $$0516547 = 0, $$0517554 = 0, $$0518546 = 0, $$0557 = 0, $$1493570 = 0, $$1501569 = 0, $$1503568 = 0, $$1551 = 0, $$alloca_mul = 0, $$pn520529 = 0, $$pn520529$phi = 0; + var $$pn535 = 0, $$pn535$phi = 0, $10 = 0, $100 = 0, $101 = 0.0, $102 = 0.0, $103 = 0.0, $104 = 0.0, $105 = 0.0, $106 = 0, $107 = 0.0, $108 = 0, $109 = 0.0, $11 = 0, $110 = 0.0, $111 = 0, $112 = 0.0, $113 = 0, $114 = 0.0, $115 = 0.0; + var $116 = 0.0, $117 = 0, $118 = 0.0, $119 = 0.0, $12 = 0, $120 = 0.0, $121 = 0, $122 = 0.0, $123 = 0.0, $124 = 0, $125 = 0.0, $126 = 0.0, $127 = 0.0, $128 = 0, $129 = 0.0, $13 = 0, $130 = 0.0, $131 = 0.0, $132 = 0.0, $133 = 0.0; + var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; + var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; + var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; + var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0; + var $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0; + var $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0.0, $238 = 0, $239 = 0.0, $24 = 0, $240 = 0.0, $241 = 0, $242 = 0.0; + var $243 = 0, $244 = 0.0, $245 = 0.0, $246 = 0, $247 = 0.0, $248 = 0.0, $249 = 0.0, $25 = 0, $250 = 0.0, $251 = 0.0, $252 = 0.0, $253 = 0.0, $254 = 0.0, $255 = 0.0, $256 = 0.0, $257 = 0.0, $258 = 0.0, $259 = 0.0, $26 = 0, $260 = 0.0; + var $261 = 0, $262 = 0.0, $263 = 0.0, $264 = 0.0, $265 = 0, $266 = 0.0, $267 = 0, $268 = 0.0, $269 = 0.0, $27 = 0, $270 = 0, $271 = 0.0, $272 = 0.0, $273 = 0, $274 = 0.0, $275 = 0.0, $276 = 0.0, $277 = 0.0, $278 = 0.0, $279 = 0.0; + var $28 = 0, $280 = 0.0, $281 = 0.0, $282 = 0.0, $283 = 0.0, $284 = 0.0, $285 = 0.0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0.0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0.0; + var $298 = 0, $299 = 0.0, $30 = 0.0, $300 = 0.0, $301 = 0, $302 = 0.0, $303 = 0, $304 = 0.0, $305 = 0.0, $306 = 0.0, $307 = 0.0, $308 = 0.0, $309 = 0.0, $31 = 0.0, $310 = 0.0, $311 = 0.0, $312 = 0, $313 = 0, $314 = 0, $315 = 0.0; + var $316 = 0, $317 = 0.0, $318 = 0.0, $319 = 0, $32 = 0, $320 = 0.0, $321 = 0, $322 = 0.0, $323 = 0.0, $324 = 0.0, $325 = 0.0, $326 = 0.0, $327 = 0.0, $328 = 0.0, $329 = 0, $33 = 0.0, $330 = 0.0, $331 = 0, $332 = 0, $333 = 0; + var $334 = 0, $335 = 0.0, $336 = 0, $337 = 0.0, $338 = 0.0, $339 = 0, $34 = 0, $340 = 0.0, $341 = 0, $342 = 0.0, $343 = 0.0, $344 = 0.0, $345 = 0.0, $346 = 0.0, $347 = 0.0, $348 = 0.0, $349 = 0, $35 = 0.0, $350 = 0.0, $351 = 0; + var $352 = 0, $353 = 0, $354 = 0.0, $355 = 0, $356 = 0.0, $357 = 0.0, $358 = 0, $359 = 0.0, $36 = 0.0, $360 = 0.0, $361 = 0.0, $362 = 0.0, $363 = 0.0, $364 = 0.0, $365 = 0.0, $366 = 0.0, $367 = 0, $368 = 0.0, $369 = 0, $37 = 0.0; + var $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $38 = 0, $39 = 0.0, $4 = 0, $40 = 0.0, $41 = 0.0, $42 = 0.0, $43 = 0.0, $44 = 0.0, $45 = 0.0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0; + var $51 = 0, $52 = 0, $53 = 0, $54 = 0.0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0, $59 = 0.0, $6 = 0, $60 = 0.0, $61 = 0.0, $62 = 0, $63 = 0.0, $64 = 0.0, $65 = 0.0, $66 = 0.0, $67 = 0.0, $68 = 0.0, $69 = 0.0; + var $7 = 0, $70 = 0.0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0.0, $82 = 0, $83 = 0.0, $84 = 0.0, $85 = 0.0, $86 = 0.0, $87 = 0.0; + var $88 = 0.0, $89 = 0, $9 = 0, $90 = 0.0, $91 = 0.0, $92 = 0.0, $93 = 0, $94 = 0.0, $95 = 0.0, $96 = 0, $97 = 0.0, $98 = 0.0, $99 = 0.0, $exitcond = 0, $exitcond584 = 0, $scevgep = 0, $scevgep586 = 0, label = 0, sp = 0; + sp = STACKTOP; + $4 = $1 >> 1; + $5 = $1 >> 2; + $6 = $1 >> 3; + $7 = ((($2)) + 92|0); + $8 = HEAP32[$7>>2]|0; + $9 = ((($2)) + 80|0); + $10 = HEAP32[$9>>2]|0; + $11 = ($10|0)==(0|0); + $12 = $4 << 2; + if ($11) { + $$alloca_mul = $12; + $14 = STACKTOP; STACKTOP = STACKTOP + ((((1*$$alloca_mul)|0)+15)&-16)|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(((((1*$$alloca_mul)|0)+15)&-16)|0);; + $19 = $14; + } else { + $13 = (_setup_temp_malloc($2,$12)|0); + $19 = $13; + } + $15 = (((($2)) + 1068|0) + ($3<<2)|0); + $16 = HEAP32[$15>>2]|0; + $17 = (($4) + -2)|0; + $18 = (($19) + ($17<<2)|0); + $20 = (($0) + ($4<<2)|0); + $21 = ($4|0)==(0); + if ($21) { + $$0492$lcssa = $18;$$0502$lcssa = $16; + } else { + $22 = $4 << 2; + $23 = (($22) + -16)|0; + $24 = $23 >>> 4; + $25 = $24 << 3; + $26 = (($23) - ($25))|0; + $scevgep = (($19) + ($26)|0); + $27 = $24 << 1; + $28 = (($27) + 2)|0; + $$0492576 = $18;$$0500575 = $0;$$0502574 = $16; + while(1) { + $29 = +HEAPF32[$$0500575>>2]; + $30 = +HEAPF32[$$0502574>>2]; + $31 = $29 * $30; + $32 = ((($$0500575)) + 8|0); + $33 = +HEAPF32[$32>>2]; + $34 = ((($$0502574)) + 4|0); + $35 = +HEAPF32[$34>>2]; + $36 = $33 * $35; + $37 = $31 - $36; + $38 = ((($$0492576)) + 4|0); + HEAPF32[$38>>2] = $37; + $39 = +HEAPF32[$$0500575>>2]; + $40 = +HEAPF32[$34>>2]; + $41 = $39 * $40; + $42 = +HEAPF32[$32>>2]; + $43 = +HEAPF32[$$0502574>>2]; + $44 = $42 * $43; + $45 = $41 + $44; + HEAPF32[$$0492576>>2] = $45; + $46 = ((($$0492576)) + -8|0); + $47 = ((($$0502574)) + 8|0); + $48 = ((($$0500575)) + 16|0); + $49 = ($48|0)==($20|0); + if ($49) { + break; + } else { + $$0492576 = $46;$$0500575 = $48;$$0502574 = $47; + } + } + $scevgep586 = (($16) + ($28<<2)|0); + $$0492$lcssa = $scevgep;$$0502$lcssa = $scevgep586; + } + $50 = ($$0492$lcssa>>>0)<($19>>>0); + if (!($50)) { + $51 = (($4) + -3)|0; + $52 = (($0) + ($51<<2)|0); + $$1493570 = $$0492$lcssa;$$1501569 = $52;$$1503568 = $$0502$lcssa; + while(1) { + $53 = ((($$1501569)) + 8|0); + $54 = +HEAPF32[$53>>2]; + $55 = +HEAPF32[$$1503568>>2]; + $56 = $54 * $55; + $57 = +HEAPF32[$$1501569>>2]; + $58 = ((($$1503568)) + 4|0); + $59 = +HEAPF32[$58>>2]; + $60 = $57 * $59; + $61 = $60 - $56; + $62 = ((($$1493570)) + 4|0); + HEAPF32[$62>>2] = $61; + $63 = +HEAPF32[$53>>2]; + $64 = +HEAPF32[$58>>2]; + $65 = $63 * $64; + $66 = +HEAPF32[$$1501569>>2]; + $67 = +HEAPF32[$$1503568>>2]; + $68 = $66 * $67; + $69 = -$68; + $70 = $69 - $65; + HEAPF32[$$1493570>>2] = $70; + $71 = ((($$1493570)) + -8|0); + $72 = ((($$1503568)) + 8|0); + $73 = ((($$1501569)) + -16|0); + $74 = ($71>>>0)<($19>>>0); + if ($74) { + break; + } else { + $$1493570 = $71;$$1501569 = $73;$$1503568 = $72; + } + } + } + $75 = ($4|0)<(8); + if (!($75)) { + $76 = (($0) + ($5<<2)|0); + $77 = (($19) + ($5<<2)|0); + $78 = (($4) + -8)|0; + $79 = (($16) + ($78<<2)|0); + $$0504564 = $79;$$0505563 = $76;$$0506562 = $0;$$0507561 = $77;$$0511560 = $19; + while(1) { + $80 = ((($$0507561)) + 4|0); + $81 = +HEAPF32[$80>>2]; + $82 = ((($$0511560)) + 4|0); + $83 = +HEAPF32[$82>>2]; + $84 = $81 - $83; + $85 = +HEAPF32[$$0507561>>2]; + $86 = +HEAPF32[$$0511560>>2]; + $87 = $85 - $86; + $88 = $81 + $83; + $89 = ((($$0505563)) + 4|0); + HEAPF32[$89>>2] = $88; + $90 = +HEAPF32[$$0507561>>2]; + $91 = +HEAPF32[$$0511560>>2]; + $92 = $90 + $91; + HEAPF32[$$0505563>>2] = $92; + $93 = ((($$0504564)) + 16|0); + $94 = +HEAPF32[$93>>2]; + $95 = $84 * $94; + $96 = ((($$0504564)) + 20|0); + $97 = +HEAPF32[$96>>2]; + $98 = $87 * $97; + $99 = $95 - $98; + $100 = ((($$0506562)) + 4|0); + HEAPF32[$100>>2] = $99; + $101 = +HEAPF32[$93>>2]; + $102 = $87 * $101; + $103 = +HEAPF32[$96>>2]; + $104 = $84 * $103; + $105 = $102 + $104; + HEAPF32[$$0506562>>2] = $105; + $106 = ((($$0507561)) + 12|0); + $107 = +HEAPF32[$106>>2]; + $108 = ((($$0511560)) + 12|0); + $109 = +HEAPF32[$108>>2]; + $110 = $107 - $109; + $111 = ((($$0507561)) + 8|0); + $112 = +HEAPF32[$111>>2]; + $113 = ((($$0511560)) + 8|0); + $114 = +HEAPF32[$113>>2]; + $115 = $112 - $114; + $116 = $107 + $109; + $117 = ((($$0505563)) + 12|0); + HEAPF32[$117>>2] = $116; + $118 = +HEAPF32[$111>>2]; + $119 = +HEAPF32[$113>>2]; + $120 = $118 + $119; + $121 = ((($$0505563)) + 8|0); + HEAPF32[$121>>2] = $120; + $122 = +HEAPF32[$$0504564>>2]; + $123 = $110 * $122; + $124 = ((($$0504564)) + 4|0); + $125 = +HEAPF32[$124>>2]; + $126 = $115 * $125; + $127 = $123 - $126; + $128 = ((($$0506562)) + 12|0); + HEAPF32[$128>>2] = $127; + $129 = +HEAPF32[$$0504564>>2]; + $130 = $115 * $129; + $131 = +HEAPF32[$124>>2]; + $132 = $110 * $131; + $133 = $130 + $132; + $134 = ((($$0506562)) + 8|0); + HEAPF32[$134>>2] = $133; + $135 = ((($$0504564)) + -32|0); + $136 = ((($$0505563)) + 16|0); + $137 = ((($$0506562)) + 16|0); + $138 = ((($$0507561)) + 16|0); + $139 = ((($$0511560)) + 16|0); + $140 = ($135>>>0)<($16>>>0); + if ($140) { + break; + } else { + $$0504564 = $135;$$0505563 = $136;$$0506562 = $137;$$0507561 = $138;$$0511560 = $139; + } + } + } + $141 = (_ilog($1)|0); + $142 = $1 >> 4; + $143 = (($4) + -1)|0; + $144 = (0 - ($6))|0; + _imdct_step3_iter0_loop($142,$0,$143,$144,$16); + $145 = (($143) - ($5))|0; + _imdct_step3_iter0_loop($142,$0,$145,$144,$16); + $146 = $1 >> 5; + $147 = (0 - ($142))|0; + _imdct_step3_inner_r_loop($146,$0,$143,$147,$16,16); + $148 = (($143) - ($6))|0; + _imdct_step3_inner_r_loop($146,$0,$148,$147,$16,16); + $149 = $6 << 1; + $150 = (($143) - ($149))|0; + _imdct_step3_inner_r_loop($146,$0,$150,$147,$16,16); + $151 = Math_imul($6, -3)|0; + $152 = (($143) + ($151))|0; + _imdct_step3_inner_r_loop($146,$0,$152,$147,$16,16); + $153 = (($141) + -4)|0; + $154 = $153 >> 1; + $155 = ($154|0)>(2); + if ($155) { + $$0557 = 2; + while(1) { + $159 = (($$0557) + 2)|0; + $160 = $1 >> $159; + $156 = (($$0557) + 1)|0; + $161 = 1 << $156; + $162 = ($156|0)==(31); + if (!($162)) { + $163 = $160 >> 1; + $164 = (($$0557) + 4)|0; + $165 = $1 >> $164; + $166 = (0 - ($163))|0; + $167 = (($$0557) + 3)|0; + $168 = 1 << $167; + $$0517554 = 0; + while(1) { + $169 = Math_imul($$0517554, $160)|0; + $170 = (($143) - ($169))|0; + _imdct_step3_inner_r_loop($165,$0,$170,$166,$16,$168); + $171 = (($$0517554) + 1)|0; + $172 = ($171|0)<($161|0); + if ($172) { + $$0517554 = $171; + } else { + break; + } + } + } + $exitcond584 = ($156|0)==($154|0); + if ($exitcond584) { + $$0$lcssa = $154; + break; + } else { + $$0557 = $156; + } + } + } else { + $$0$lcssa = 2; + } + $157 = (($141) + -7)|0; + $158 = ($$0$lcssa|0)<($157|0); + if ($158) { + $$1551 = $$0$lcssa; + while(1) { + $174 = (($$1551) + 2)|0; + $175 = $1 >> $174; + $176 = (($$1551) + 3)|0; + $177 = 1 << $176; + $178 = (($$1551) + 6)|0; + $179 = $1 >> $178; + $173 = (($$1551) + 1)|0; + $180 = 1 << $173; + $181 = ($179|0)>(0); + if ($181) { + $182 = $175 >> 1; + $183 = (0 - ($182))|0; + $184 = $177 << 2; + $$0515548 = $16;$$0516547 = $143;$$0518546 = $179; + while(1) { + _imdct_step3_inner_s_loop($180,$0,$$0516547,$183,$$0515548,$177,$175); + $185 = (($$0515548) + ($184<<2)|0); + $186 = (($$0516547) + -8)|0; + $187 = (($$0518546) + -1)|0; + $188 = ($$0518546|0)>(1); + if ($188) { + $$0515548 = $185;$$0516547 = $186;$$0518546 = $187; + } else { + break; + } + } + } + $exitcond = ($173|0)==($157|0); + if ($exitcond) { + break; + } else { + $$1551 = $173; + } + } + } + _imdct_step3_inner_s_loop_ld654($146,$0,$143,$16,$1); + $189 = (($5) + -4)|0; + $190 = (($19) + ($189<<2)|0); + $191 = (($4) + -4)|0; + $192 = ($190>>>0)<($19>>>0); + if (!($192)) { + $193 = (($19) + ($191<<2)|0); + $194 = (((($2)) + 1100|0) + ($3<<2)|0); + $195 = HEAP32[$194>>2]|0; + $$0512542 = $193;$$0513541 = $190;$$0514540 = $195; + while(1) { + $196 = HEAP16[$$0514540>>1]|0; + $197 = $196&65535; + $198 = (($0) + ($197<<2)|0); + $199 = HEAP32[$198>>2]|0; + $200 = ((($$0512542)) + 12|0); + HEAP32[$200>>2] = $199; + $201 = (($197) + 1)|0; + $202 = (($0) + ($201<<2)|0); + $203 = HEAP32[$202>>2]|0; + $204 = ((($$0512542)) + 8|0); + HEAP32[$204>>2] = $203; + $205 = (($197) + 2)|0; + $206 = (($0) + ($205<<2)|0); + $207 = HEAP32[$206>>2]|0; + $208 = ((($$0513541)) + 12|0); + HEAP32[$208>>2] = $207; + $209 = (($197) + 3)|0; + $210 = (($0) + ($209<<2)|0); + $211 = HEAP32[$210>>2]|0; + $212 = ((($$0513541)) + 8|0); + HEAP32[$212>>2] = $211; + $213 = ((($$0514540)) + 2|0); + $214 = HEAP16[$213>>1]|0; + $215 = $214&65535; + $216 = (($0) + ($215<<2)|0); + $217 = HEAP32[$216>>2]|0; + $218 = ((($$0512542)) + 4|0); + HEAP32[$218>>2] = $217; + $219 = (($215) + 1)|0; + $220 = (($0) + ($219<<2)|0); + $221 = HEAP32[$220>>2]|0; + HEAP32[$$0512542>>2] = $221; + $222 = (($215) + 2)|0; + $223 = (($0) + ($222<<2)|0); + $224 = HEAP32[$223>>2]|0; + $225 = ((($$0513541)) + 4|0); + HEAP32[$225>>2] = $224; + $226 = (($215) + 3)|0; + $227 = (($0) + ($226<<2)|0); + $228 = HEAP32[$227>>2]|0; + HEAP32[$$0513541>>2] = $228; + $229 = ((($$0513541)) + -16|0); + $230 = ((($$0512542)) + -16|0); + $231 = ((($$0514540)) + 4|0); + $232 = ($229>>>0)<($19>>>0); + if ($232) { + break; + } else { + $$0512542 = $230;$$0513541 = $229;$$0514540 = $231; + } + } + } + $233 = (($19) + ($4<<2)|0); + $$0508532 = ((($233)) + -16|0); + $234 = ($19>>>0)<($$0508532>>>0); + if ($234) { + $235 = (((($2)) + 1084|0) + ($3<<2)|0); + $236 = HEAP32[$235>>2]|0; + $$0508536 = $$0508532;$$0509534 = $19;$$0510533 = $236;$$pn535 = $233; + while(1) { + $237 = +HEAPF32[$$0509534>>2]; + $238 = ((($$pn535)) + -8|0); + $239 = +HEAPF32[$238>>2]; + $240 = $237 - $239; + $241 = ((($$0509534)) + 4|0); + $242 = +HEAPF32[$241>>2]; + $243 = ((($$pn535)) + -4|0); + $244 = +HEAPF32[$243>>2]; + $245 = $242 + $244; + $246 = ((($$0510533)) + 4|0); + $247 = +HEAPF32[$246>>2]; + $248 = $240 * $247; + $249 = +HEAPF32[$$0510533>>2]; + $250 = $245 * $249; + $251 = $248 + $250; + $252 = $247 * $245; + $253 = $240 * $249; + $254 = $252 - $253; + $255 = $237 + $239; + $256 = $242 - $244; + $257 = $255 + $251; + HEAPF32[$$0509534>>2] = $257; + $258 = $256 + $254; + HEAPF32[$241>>2] = $258; + $259 = $255 - $251; + HEAPF32[$238>>2] = $259; + $260 = $254 - $256; + HEAPF32[$243>>2] = $260; + $261 = ((($$0509534)) + 8|0); + $262 = +HEAPF32[$261>>2]; + $263 = +HEAPF32[$$0508536>>2]; + $264 = $262 - $263; + $265 = ((($$0509534)) + 12|0); + $266 = +HEAPF32[$265>>2]; + $267 = ((($$pn535)) + -12|0); + $268 = +HEAPF32[$267>>2]; + $269 = $266 + $268; + $270 = ((($$0510533)) + 12|0); + $271 = +HEAPF32[$270>>2]; + $272 = $264 * $271; + $273 = ((($$0510533)) + 8|0); + $274 = +HEAPF32[$273>>2]; + $275 = $269 * $274; + $276 = $272 + $275; + $277 = $271 * $269; + $278 = $264 * $274; + $279 = $277 - $278; + $280 = $262 + $263; + $281 = $266 - $268; + $282 = $280 + $276; + HEAPF32[$261>>2] = $282; + $283 = $281 + $279; + HEAPF32[$265>>2] = $283; + $284 = $280 - $276; + HEAPF32[$$0508536>>2] = $284; + $285 = $279 - $281; + HEAPF32[$267>>2] = $285; + $286 = ((($$0510533)) + 16|0); + $287 = ((($$0509534)) + 16|0); + $$0508 = ((($$0508536)) + -16|0); + $288 = ($287>>>0)<($$0508>>>0); + if ($288) { + $$pn535$phi = $$0508536;$$0508536 = $$0508;$$0509534 = $287;$$0510533 = $286;$$pn535 = $$pn535$phi; + } else { + break; + } + } + } + $$0494522 = ((($233)) + -32|0); + $289 = ($$0494522>>>0)<($19>>>0); + if ($289) { + HEAP32[$7>>2] = $8; + STACKTOP = sp;return; + } + $290 = (($1) + -4)|0; + $291 = (($0) + ($290<<2)|0); + $292 = (($0) + ($191<<2)|0); + $293 = (((($2)) + 1076|0) + ($3<<2)|0); + $294 = HEAP32[$293>>2]|0; + $295 = (($294) + ($4<<2)|0); + $$0494530 = $$0494522;$$0495531$pn = $295;$$0496527 = $291;$$0497526 = $20;$$0498525 = $292;$$0499524 = $0;$$pn520529 = $233; + while(1) { + $$0495531 = ((($$0495531$pn)) + -32|0); + $296 = ((($$pn520529)) + -8|0); + $297 = +HEAPF32[$296>>2]; + $298 = ((($$0495531$pn)) + -4|0); + $299 = +HEAPF32[$298>>2]; + $300 = $297 * $299; + $301 = ((($$pn520529)) + -4|0); + $302 = +HEAPF32[$301>>2]; + $303 = ((($$0495531$pn)) + -8|0); + $304 = +HEAPF32[$303>>2]; + $305 = $302 * $304; + $306 = $300 - $305; + $307 = $297 * $304; + $308 = -$307; + $309 = $299 * $302; + $310 = $308 - $309; + HEAPF32[$$0499524>>2] = $306; + $311 = -$306; + $312 = ((($$0498525)) + 12|0); + HEAPF32[$312>>2] = $311; + HEAPF32[$$0497526>>2] = $310; + $313 = ((($$0496527)) + 12|0); + HEAPF32[$313>>2] = $310; + $314 = ((($$pn520529)) + -16|0); + $315 = +HEAPF32[$314>>2]; + $316 = ((($$0495531$pn)) + -12|0); + $317 = +HEAPF32[$316>>2]; + $318 = $315 * $317; + $319 = ((($$pn520529)) + -12|0); + $320 = +HEAPF32[$319>>2]; + $321 = ((($$0495531$pn)) + -16|0); + $322 = +HEAPF32[$321>>2]; + $323 = $320 * $322; + $324 = $318 - $323; + $325 = $315 * $322; + $326 = -$325; + $327 = $317 * $320; + $328 = $326 - $327; + $329 = ((($$0499524)) + 4|0); + HEAPF32[$329>>2] = $324; + $330 = -$324; + $331 = ((($$0498525)) + 8|0); + HEAPF32[$331>>2] = $330; + $332 = ((($$0497526)) + 4|0); + HEAPF32[$332>>2] = $328; + $333 = ((($$0496527)) + 8|0); + HEAPF32[$333>>2] = $328; + $334 = ((($$pn520529)) + -24|0); + $335 = +HEAPF32[$334>>2]; + $336 = ((($$0495531$pn)) + -20|0); + $337 = +HEAPF32[$336>>2]; + $338 = $335 * $337; + $339 = ((($$pn520529)) + -20|0); + $340 = +HEAPF32[$339>>2]; + $341 = ((($$0495531$pn)) + -24|0); + $342 = +HEAPF32[$341>>2]; + $343 = $340 * $342; + $344 = $338 - $343; + $345 = $335 * $342; + $346 = -$345; + $347 = $337 * $340; + $348 = $346 - $347; + $349 = ((($$0499524)) + 8|0); + HEAPF32[$349>>2] = $344; + $350 = -$344; + $351 = ((($$0498525)) + 4|0); + HEAPF32[$351>>2] = $350; + $352 = ((($$0497526)) + 8|0); + HEAPF32[$352>>2] = $348; + $353 = ((($$0496527)) + 4|0); + HEAPF32[$353>>2] = $348; + $354 = +HEAPF32[$$0494530>>2]; + $355 = ((($$0495531$pn)) + -28|0); + $356 = +HEAPF32[$355>>2]; + $357 = $354 * $356; + $358 = ((($$pn520529)) + -28|0); + $359 = +HEAPF32[$358>>2]; + $360 = +HEAPF32[$$0495531>>2]; + $361 = $359 * $360; + $362 = $357 - $361; + $363 = $354 * $360; + $364 = -$363; + $365 = $356 * $359; + $366 = $364 - $365; + $367 = ((($$0499524)) + 12|0); + HEAPF32[$367>>2] = $362; + $368 = -$362; + HEAPF32[$$0498525>>2] = $368; + $369 = ((($$0497526)) + 12|0); + HEAPF32[$369>>2] = $366; + HEAPF32[$$0496527>>2] = $366; + $370 = ((($$0499524)) + 16|0); + $371 = ((($$0497526)) + 16|0); + $372 = ((($$0498525)) + -16|0); + $373 = ((($$0496527)) + -16|0); + $$0494 = ((($$0494530)) + -32|0); + $374 = ($$0494>>>0)<($19>>>0); + if ($374) { + break; + } else { + $$pn520529$phi = $$0494530;$$0494530 = $$0494;$$0495531$pn = $$0495531;$$0496527 = $373;$$0497526 = $371;$$0498525 = $372;$$0499524 = $370;$$pn520529 = $$pn520529$phi; + } + } + HEAP32[$7>>2] = $8; + STACKTOP = sp;return; +} +function _flush_packet($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + while(1) { + $1 = (_get8_packet_raw($0)|0); + $2 = ($1|0)==(-1); + if ($2) { + break; + } + } + return; +} +function _get8_packet_raw($0) { + $0 = $0|0; + var $$0 = 0, $$pr = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 1376|0); + $2 = HEAP8[$1>>0]|0; + $3 = ($2<<24>>24)==(0); + if ($3) { + $4 = ((($0)) + 1384|0); + $5 = HEAP32[$4>>2]|0; + $6 = ($5|0)==(0); + if (!($6)) { + $$0 = -1; + return ($$0|0); + } + $7 = (_next_segment($0)|0); + $8 = ($7|0)==(0); + if ($8) { + $$0 = -1; + return ($$0|0); + } + $$pr = HEAP8[$1>>0]|0; + $9 = ($$pr<<24>>24)==(0); + if ($9) { + ___assert_fail((17074|0),(16959|0),1138,(17094|0)); + // unreachable; + } else { + $11 = $$pr; + } + } else { + $11 = $2; + } + $10 = (($11) + -1)<<24>>24; + HEAP8[$1>>0] = $10; + $12 = ((($0)) + 1400|0); + $13 = HEAP32[$12>>2]|0; + $14 = (($13) + 1)|0; + HEAP32[$12>>2] = $14; + $15 = (_get8($0)|0); + $16 = $15&255; + $$0 = $16; + return ($$0|0); +} +function _next_segment($0) { + $0 = $0|0; + var $$0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 1384|0); + $2 = HEAP32[$1>>2]|0; + $3 = ($2|0)==(0); + if (!($3)) { + $$0 = 0; + return ($$0|0); + } + $4 = ((($0)) + 1380|0); + $5 = HEAP32[$4>>2]|0; + $6 = ($5|0)==(-1); + if ($6) { + $7 = ((($0)) + 1116|0); + $8 = HEAP32[$7>>2]|0; + $9 = (($8) + -1)|0; + $10 = ((($0)) + 1388|0); + HEAP32[$10>>2] = $9; + $11 = (_start_page($0)|0); + $12 = ($11|0)==(0); + if ($12) { + HEAP32[$1>>2] = 1; + $$0 = 0; + return ($$0|0); + } + $13 = ((($0)) + 1375|0); + $14 = HEAP8[$13>>0]|0; + $15 = $14 & 1; + $16 = ($15<<24>>24)==(0); + if ($16) { + _error($0,32); + $$0 = 0; + return ($$0|0); + } + } + $17 = HEAP32[$4>>2]|0; + $18 = (($17) + 1)|0; + HEAP32[$4>>2] = $18; + $19 = (((($0)) + 1120|0) + ($17)|0); + $20 = HEAP8[$19>>0]|0; + $21 = $20&255; + $22 = ($20<<24>>24)==(-1); + if (!($22)) { + HEAP32[$1>>2] = 1; + $23 = ((($0)) + 1388|0); + HEAP32[$23>>2] = $17; + } + $24 = ((($0)) + 1116|0); + $25 = HEAP32[$24>>2]|0; + $26 = ($18|0)<($25|0); + if (!($26)) { + HEAP32[$4>>2] = -1; + } + $27 = ((($0)) + 1376|0); + $28 = HEAP8[$27>>0]|0; + $29 = ($28<<24>>24)==(0); + if (!($29)) { + ___assert_fail((17110|0),(16959|0),1124,(17131|0)); + // unreachable; + } + HEAP8[$27>>0] = $20; + $$0 = $21; + return ($$0|0); +} +function _get8($0) { + $0 = $0|0; + var $$1 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 32|0); + $2 = HEAP32[$1>>2]|0; + $3 = ($2|0)==(0|0); + if ($3) { + $10 = ((($0)) + 20|0); + $11 = HEAP32[$10>>2]|0; + $12 = (_fgetc($11)|0); + $13 = ($12|0)==(-1); + if ($13) { + $14 = ((($0)) + 96|0); + HEAP32[$14>>2] = 1; + $$1 = 0; + return ($$1|0); + } else { + $15 = $12&255; + $$1 = $15; + return ($$1|0); + } + } else { + $4 = ((($0)) + 40|0); + $5 = HEAP32[$4>>2]|0; + $6 = ($2>>>0)<($5>>>0); + if ($6) { + $8 = ((($2)) + 1|0); + HEAP32[$1>>2] = $8; + $9 = HEAP8[$2>>0]|0; + $$1 = $9; + return ($$1|0); + } else { + $7 = ((($0)) + 96|0); + HEAP32[$7>>2] = 1; + $$1 = 0; + return ($$1|0); + } + } + return (0)|0; +} +function _start_page($0) { + $0 = $0|0; + var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (_capture_pattern($0)|0); + $2 = ($1|0)==(0); + if ($2) { + _error($0,30); + $$0 = 0; + return ($$0|0); + } else { + $3 = (_start_page_no_capturepattern($0)|0); + $$0 = $3; + return ($$0|0); + } + return (0)|0; +} +function _capture_pattern($0) { + $0 = $0|0; + var $$ = 0, $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (_get8($0)|0); + $2 = ($1<<24>>24)==(79); + if ($2) { + $3 = (_get8($0)|0); + $4 = ($3<<24>>24)==(103); + if ($4) { + $5 = (_get8($0)|0); + $6 = ($5<<24>>24)==(103); + if ($6) { + $7 = (_get8($0)|0); + $8 = ($7<<24>>24)==(83); + $$ = $8&1; + $$0 = $$; + } else { + $$0 = 0; + } + } else { + $$0 = 0; + } + } else { + $$0 = 0; + } + return ($$0|0); +} +function _start_page_no_capturepattern($0) { + $0 = $0|0; + var $$0 = 0, $$058 = 0, $$058$in = 0, $$059$lcssa = 0, $$05963 = 0, $$06062 = 0, $$lcssa = 0, $$sroa$0$0$$sroa_idx = 0, $$sroa$5$0$$sroa_idx3 = 0, $$sroa$6$0$$sroa_idx5 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0; + var $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0; + var $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $phitmp = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (_get8($0)|0); + $2 = ($1<<24>>24)==(0); + if (!($2)) { + _error($0,31); + $$0 = 0; + return ($$0|0); + } + $3 = (_get8($0)|0); + $4 = ((($0)) + 1375|0); + HEAP8[$4>>0] = $3; + $5 = (_get32($0)|0); + $6 = (_get32($0)|0); + (_get32($0)|0); + $7 = (_get32($0)|0); + $8 = ((($0)) + 1112|0); + HEAP32[$8>>2] = $7; + (_get32($0)|0); + $9 = (_get8($0)|0); + $10 = $9&255; + $11 = ((($0)) + 1116|0); + HEAP32[$11>>2] = $10; + $12 = ((($0)) + 1120|0); + $13 = (_getn($0,$12,$10)|0); + $14 = ($13|0)==(0); + if ($14) { + _error($0,10); + $$0 = 0; + return ($$0|0); + } + $15 = ((($0)) + 1404|0); + HEAP32[$15>>2] = -2; + $16 = $6 & $5; + $17 = ($16|0)==(-1); + L9: do { + if (!($17)) { + $18 = HEAP32[$11>>2]|0; + $$058$in = $18; + while(1) { + $$058 = (($$058$in) + -1)|0; + $19 = ($$058$in|0)>(0); + if (!($19)) { + break L9; + } + $20 = (((($0)) + 1120|0) + ($$058)|0); + $21 = HEAP8[$20>>0]|0; + $22 = ($21<<24>>24)==(-1); + if ($22) { + $$058$in = $$058; + } else { + break; + } + } + HEAP32[$15>>2] = $$058; + $23 = ((($0)) + 1408|0); + HEAP32[$23>>2] = $5; + } + } while(0); + $24 = ((($0)) + 1377|0); + $25 = HEAP8[$24>>0]|0; + $26 = ($25<<24>>24)==(0); + if (!($26)) { + $27 = HEAP32[$11>>2]|0; + $28 = ($27|0)>(0); + if ($28) { + $29 = HEAP32[$11>>2]|0; + $$05963 = 0;$$06062 = 0; + while(1) { + $30 = (((($0)) + 1120|0) + ($$06062)|0); + $31 = HEAP8[$30>>0]|0; + $32 = $31&255; + $33 = (($32) + ($$05963))|0; + $34 = (($$06062) + 1)|0; + $35 = ($34|0)<($29|0); + if ($35) { + $$05963 = $33;$$06062 = $34; + } else { + break; + } + } + $phitmp = (($33) + 27)|0; + $$059$lcssa = $phitmp;$$lcssa = $29; + } else { + $$059$lcssa = 27;$$lcssa = $27; + } + $36 = ((($0)) + 52|0); + $37 = HEAP32[$36>>2]|0; + $38 = (($$059$lcssa) + ($$lcssa))|0; + $39 = (($38) + ($37))|0; + $$sroa$0$0$$sroa_idx = ((($0)) + 56|0); + HEAP32[$$sroa$0$0$$sroa_idx>>2] = $37; + $$sroa$5$0$$sroa_idx3 = ((($0)) + 60|0); + HEAP32[$$sroa$5$0$$sroa_idx3>>2] = $39; + $$sroa$6$0$$sroa_idx5 = ((($0)) + 64|0); + HEAP32[$$sroa$6$0$$sroa_idx5>>2] = $5; + } + $40 = ((($0)) + 1380|0); + HEAP32[$40>>2] = 0; + $$0 = 1; + return ($$0|0); +} +function _get32($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (_get8($0)|0); + $2 = $1&255; + $3 = (_get8($0)|0); + $4 = $3&255; + $5 = $4 << 8; + $6 = $5 | $2; + $7 = (_get8($0)|0); + $8 = $7&255; + $9 = $8 << 16; + $10 = $6 | $9; + $11 = (_get8($0)|0); + $12 = $11&255; + $13 = $12 << 24; + $14 = $10 | $13; + return ($14|0); +} +function _getn($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ((($0)) + 32|0); + $4 = HEAP32[$3>>2]|0; + $5 = ($4|0)==(0|0); + if ($5) { + $13 = ((($0)) + 20|0); + $14 = HEAP32[$13>>2]|0; + $15 = (_fread($1,$2,1,$14)|0); + $16 = ($15|0)==(1); + if ($16) { + $$0 = 1; + return ($$0|0); + } + $17 = ((($0)) + 96|0); + HEAP32[$17>>2] = 1; + $$0 = 0; + return ($$0|0); + } + $6 = (($4) + ($2)|0); + $7 = ((($0)) + 40|0); + $8 = HEAP32[$7>>2]|0; + $9 = ($6>>>0)>($8>>>0); + if ($9) { + $10 = ((($0)) + 96|0); + HEAP32[$10>>2] = 1; + $$0 = 0; + return ($$0|0); + } else { + _memcpy(($1|0),($4|0),($2|0))|0; + $11 = HEAP32[$3>>2]|0; + $12 = (($11) + ($2)|0); + HEAP32[$3>>2] = $12; + $$0 = 1; + return ($$0|0); + } + return (0)|0; +} +function _setup_temp_malloc($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = (($1) + 3)|0; + $3 = $2 & -4; + $4 = ((($0)) + 80|0); + $5 = HEAP32[$4>>2]|0; + $6 = ($5|0)==(0|0); + if ($6) { + $14 = (_malloc($3)|0); + $$0 = $14; + return ($$0|0); + } + $7 = ((($0)) + 92|0); + $8 = HEAP32[$7>>2]|0; + $9 = (($8) - ($3))|0; + $10 = ((($0)) + 88|0); + $11 = HEAP32[$10>>2]|0; + $12 = ($9|0)<($11|0); + if ($12) { + $$0 = 0; + return ($$0|0); + } + HEAP32[$7>>2] = $9; + $13 = (($5) + ($9)|0); + $$0 = $13; + return ($$0|0); +} +function _imdct_step3_iter0_loop($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$0100 = 0, $$09499 = 0, $$09598 = 0, $$09697 = 0, $10 = 0, $100 = 0.0, $101 = 0.0, $102 = 0.0, $103 = 0.0, $104 = 0.0, $105 = 0.0, $106 = 0.0, $107 = 0.0, $108 = 0, $109 = 0, $11 = 0.0, $110 = 0, $111 = 0, $112 = 0, $12 = 0.0; + var $13 = 0.0, $14 = 0, $15 = 0.0, $16 = 0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0, $25 = 0.0, $26 = 0.0, $27 = 0.0, $28 = 0.0, $29 = 0.0, $30 = 0.0, $31 = 0.0, $32 = 0.0; + var $33 = 0, $34 = 0, $35 = 0.0, $36 = 0, $37 = 0.0, $38 = 0.0, $39 = 0, $40 = 0.0, $41 = 0, $42 = 0.0, $43 = 0.0, $44 = 0.0, $45 = 0.0, $46 = 0.0, $47 = 0.0, $48 = 0.0, $49 = 0, $5 = 0, $50 = 0.0, $51 = 0.0; + var $52 = 0.0, $53 = 0.0, $54 = 0.0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0, $59 = 0, $6 = 0, $60 = 0.0, $61 = 0, $62 = 0.0, $63 = 0.0, $64 = 0, $65 = 0.0, $66 = 0, $67 = 0.0, $68 = 0.0, $69 = 0.0, $7 = 0; + var $70 = 0.0, $71 = 0.0, $72 = 0.0, $73 = 0.0, $74 = 0, $75 = 0.0, $76 = 0.0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0, $80 = 0.0, $81 = 0.0, $82 = 0.0, $83 = 0, $84 = 0, $85 = 0.0, $86 = 0, $87 = 0.0, $88 = 0.0; + var $89 = 0, $9 = 0, $90 = 0.0, $91 = 0, $92 = 0.0, $93 = 0.0, $94 = 0.0, $95 = 0.0, $96 = 0.0, $97 = 0.0, $98 = 0.0, $99 = 0, label = 0, sp = 0; + sp = STACKTOP; + $5 = (($1) + ($2<<2)|0); + $6 = $0 & 3; + $7 = ($6|0)==(0); + if (!($7)) { + ___assert_fail((17144|0),(16959|0),2007,(17157|0)); + // unreachable; + } + $8 = $0 >> 2; + $9 = ($8|0)>(0); + if (!($9)) { + return; + } + $10 = (($5) + ($3<<2)|0); + $$0100 = $4;$$09499 = $5;$$09598 = $8;$$09697 = $10; + while(1) { + $11 = +HEAPF32[$$09499>>2]; + $12 = +HEAPF32[$$09697>>2]; + $13 = $11 - $12; + $14 = ((($$09499)) + -4|0); + $15 = +HEAPF32[$14>>2]; + $16 = ((($$09697)) + -4|0); + $17 = +HEAPF32[$16>>2]; + $18 = $15 - $17; + $19 = $11 + $12; + HEAPF32[$$09499>>2] = $19; + $20 = +HEAPF32[$16>>2]; + $21 = $15 + $20; + HEAPF32[$14>>2] = $21; + $22 = +HEAPF32[$$0100>>2]; + $23 = $13 * $22; + $24 = ((($$0100)) + 4|0); + $25 = +HEAPF32[$24>>2]; + $26 = $18 * $25; + $27 = $23 - $26; + HEAPF32[$$09697>>2] = $27; + $28 = +HEAPF32[$$0100>>2]; + $29 = $18 * $28; + $30 = +HEAPF32[$24>>2]; + $31 = $13 * $30; + $32 = $29 + $31; + HEAPF32[$16>>2] = $32; + $33 = ((($$0100)) + 32|0); + $34 = ((($$09499)) + -8|0); + $35 = +HEAPF32[$34>>2]; + $36 = ((($$09697)) + -8|0); + $37 = +HEAPF32[$36>>2]; + $38 = $35 - $37; + $39 = ((($$09499)) + -12|0); + $40 = +HEAPF32[$39>>2]; + $41 = ((($$09697)) + -12|0); + $42 = +HEAPF32[$41>>2]; + $43 = $40 - $42; + $44 = $35 + $37; + HEAPF32[$34>>2] = $44; + $45 = +HEAPF32[$41>>2]; + $46 = $40 + $45; + HEAPF32[$39>>2] = $46; + $47 = +HEAPF32[$33>>2]; + $48 = $38 * $47; + $49 = ((($$0100)) + 36|0); + $50 = +HEAPF32[$49>>2]; + $51 = $43 * $50; + $52 = $48 - $51; + HEAPF32[$36>>2] = $52; + $53 = +HEAPF32[$33>>2]; + $54 = $43 * $53; + $55 = +HEAPF32[$49>>2]; + $56 = $38 * $55; + $57 = $54 + $56; + HEAPF32[$41>>2] = $57; + $58 = ((($$0100)) + 64|0); + $59 = ((($$09499)) + -16|0); + $60 = +HEAPF32[$59>>2]; + $61 = ((($$09697)) + -16|0); + $62 = +HEAPF32[$61>>2]; + $63 = $60 - $62; + $64 = ((($$09499)) + -20|0); + $65 = +HEAPF32[$64>>2]; + $66 = ((($$09697)) + -20|0); + $67 = +HEAPF32[$66>>2]; + $68 = $65 - $67; + $69 = $60 + $62; + HEAPF32[$59>>2] = $69; + $70 = +HEAPF32[$66>>2]; + $71 = $65 + $70; + HEAPF32[$64>>2] = $71; + $72 = +HEAPF32[$58>>2]; + $73 = $63 * $72; + $74 = ((($$0100)) + 68|0); + $75 = +HEAPF32[$74>>2]; + $76 = $68 * $75; + $77 = $73 - $76; + HEAPF32[$61>>2] = $77; + $78 = +HEAPF32[$58>>2]; + $79 = $68 * $78; + $80 = +HEAPF32[$74>>2]; + $81 = $63 * $80; + $82 = $79 + $81; + HEAPF32[$66>>2] = $82; + $83 = ((($$0100)) + 96|0); + $84 = ((($$09499)) + -24|0); + $85 = +HEAPF32[$84>>2]; + $86 = ((($$09697)) + -24|0); + $87 = +HEAPF32[$86>>2]; + $88 = $85 - $87; + $89 = ((($$09499)) + -28|0); + $90 = +HEAPF32[$89>>2]; + $91 = ((($$09697)) + -28|0); + $92 = +HEAPF32[$91>>2]; + $93 = $90 - $92; + $94 = $85 + $87; + HEAPF32[$84>>2] = $94; + $95 = +HEAPF32[$91>>2]; + $96 = $90 + $95; + HEAPF32[$89>>2] = $96; + $97 = +HEAPF32[$83>>2]; + $98 = $88 * $97; + $99 = ((($$0100)) + 100|0); + $100 = +HEAPF32[$99>>2]; + $101 = $93 * $100; + $102 = $98 - $101; + HEAPF32[$86>>2] = $102; + $103 = +HEAPF32[$83>>2]; + $104 = $93 * $103; + $105 = +HEAPF32[$99>>2]; + $106 = $88 * $105; + $107 = $104 + $106; + HEAPF32[$91>>2] = $107; + $108 = ((($$0100)) + 128|0); + $109 = ((($$09499)) + -32|0); + $110 = ((($$09697)) + -32|0); + $111 = (($$09598) + -1)|0; + $112 = ($$09598|0)>(1); + if ($112) { + $$0100 = $108;$$09499 = $109;$$09598 = $111;$$09697 = $110; + } else { + break; + } + } + return; +} +function _imdct_step3_inner_r_loop($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + var $$0103 = 0, $$097102 = 0, $$098101 = 0, $$099100 = 0, $10 = 0.0, $100 = 0.0, $101 = 0.0, $102 = 0.0, $103 = 0.0, $104 = 0.0, $105 = 0.0, $106 = 0.0, $107 = 0, $108 = 0, $109 = 0, $11 = 0.0, $110 = 0, $111 = 0, $12 = 0.0, $13 = 0; + var $14 = 0.0, $15 = 0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0.0, $28 = 0.0, $29 = 0.0, $30 = 0.0, $31 = 0.0, $32 = 0, $33 = 0; + var $34 = 0.0, $35 = 0, $36 = 0.0, $37 = 0.0, $38 = 0, $39 = 0.0, $40 = 0, $41 = 0.0, $42 = 0.0, $43 = 0.0, $44 = 0.0, $45 = 0.0, $46 = 0.0, $47 = 0.0, $48 = 0, $49 = 0.0, $50 = 0.0, $51 = 0.0, $52 = 0.0, $53 = 0.0; + var $54 = 0.0, $55 = 0.0, $56 = 0.0, $57 = 0, $58 = 0, $59 = 0.0, $6 = 0, $60 = 0, $61 = 0.0, $62 = 0.0, $63 = 0, $64 = 0.0, $65 = 0, $66 = 0.0, $67 = 0.0, $68 = 0.0, $69 = 0.0, $7 = 0, $70 = 0.0, $71 = 0.0; + var $72 = 0.0, $73 = 0, $74 = 0.0, $75 = 0.0, $76 = 0.0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0, $80 = 0.0, $81 = 0.0, $82 = 0, $83 = 0, $84 = 0.0, $85 = 0, $86 = 0.0, $87 = 0.0, $88 = 0, $89 = 0.0, $9 = 0; + var $90 = 0, $91 = 0.0, $92 = 0.0, $93 = 0.0, $94 = 0.0, $95 = 0.0, $96 = 0.0, $97 = 0.0, $98 = 0, $99 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $6 = (($1) + ($2<<2)|0); + $7 = $0 >> 2; + $8 = ($7|0)>(0); + if (!($8)) { + return; + } + $9 = (($6) + ($3<<2)|0); + $$0103 = $9;$$097102 = $6;$$098101 = $4;$$099100 = $7; + while(1) { + $10 = +HEAPF32[$$097102>>2]; + $11 = +HEAPF32[$$0103>>2]; + $12 = $10 - $11; + $13 = ((($$097102)) + -4|0); + $14 = +HEAPF32[$13>>2]; + $15 = ((($$0103)) + -4|0); + $16 = +HEAPF32[$15>>2]; + $17 = $14 - $16; + $18 = $10 + $11; + HEAPF32[$$097102>>2] = $18; + $19 = +HEAPF32[$15>>2]; + $20 = $14 + $19; + HEAPF32[$13>>2] = $20; + $21 = +HEAPF32[$$098101>>2]; + $22 = $12 * $21; + $23 = ((($$098101)) + 4|0); + $24 = +HEAPF32[$23>>2]; + $25 = $17 * $24; + $26 = $22 - $25; + HEAPF32[$$0103>>2] = $26; + $27 = +HEAPF32[$$098101>>2]; + $28 = $17 * $27; + $29 = +HEAPF32[$23>>2]; + $30 = $12 * $29; + $31 = $28 + $30; + HEAPF32[$15>>2] = $31; + $32 = (($$098101) + ($5<<2)|0); + $33 = ((($$097102)) + -8|0); + $34 = +HEAPF32[$33>>2]; + $35 = ((($$0103)) + -8|0); + $36 = +HEAPF32[$35>>2]; + $37 = $34 - $36; + $38 = ((($$097102)) + -12|0); + $39 = +HEAPF32[$38>>2]; + $40 = ((($$0103)) + -12|0); + $41 = +HEAPF32[$40>>2]; + $42 = $39 - $41; + $43 = $34 + $36; + HEAPF32[$33>>2] = $43; + $44 = +HEAPF32[$40>>2]; + $45 = $39 + $44; + HEAPF32[$38>>2] = $45; + $46 = +HEAPF32[$32>>2]; + $47 = $37 * $46; + $48 = ((($32)) + 4|0); + $49 = +HEAPF32[$48>>2]; + $50 = $42 * $49; + $51 = $47 - $50; + HEAPF32[$35>>2] = $51; + $52 = +HEAPF32[$32>>2]; + $53 = $42 * $52; + $54 = +HEAPF32[$48>>2]; + $55 = $37 * $54; + $56 = $53 + $55; + HEAPF32[$40>>2] = $56; + $57 = (($32) + ($5<<2)|0); + $58 = ((($$097102)) + -16|0); + $59 = +HEAPF32[$58>>2]; + $60 = ((($$0103)) + -16|0); + $61 = +HEAPF32[$60>>2]; + $62 = $59 - $61; + $63 = ((($$097102)) + -20|0); + $64 = +HEAPF32[$63>>2]; + $65 = ((($$0103)) + -20|0); + $66 = +HEAPF32[$65>>2]; + $67 = $64 - $66; + $68 = $59 + $61; + HEAPF32[$58>>2] = $68; + $69 = +HEAPF32[$65>>2]; + $70 = $64 + $69; + HEAPF32[$63>>2] = $70; + $71 = +HEAPF32[$57>>2]; + $72 = $62 * $71; + $73 = ((($57)) + 4|0); + $74 = +HEAPF32[$73>>2]; + $75 = $67 * $74; + $76 = $72 - $75; + HEAPF32[$60>>2] = $76; + $77 = +HEAPF32[$57>>2]; + $78 = $67 * $77; + $79 = +HEAPF32[$73>>2]; + $80 = $62 * $79; + $81 = $78 + $80; + HEAPF32[$65>>2] = $81; + $82 = (($57) + ($5<<2)|0); + $83 = ((($$097102)) + -24|0); + $84 = +HEAPF32[$83>>2]; + $85 = ((($$0103)) + -24|0); + $86 = +HEAPF32[$85>>2]; + $87 = $84 - $86; + $88 = ((($$097102)) + -28|0); + $89 = +HEAPF32[$88>>2]; + $90 = ((($$0103)) + -28|0); + $91 = +HEAPF32[$90>>2]; + $92 = $89 - $91; + $93 = $84 + $86; + HEAPF32[$83>>2] = $93; + $94 = +HEAPF32[$90>>2]; + $95 = $89 + $94; + HEAPF32[$88>>2] = $95; + $96 = +HEAPF32[$82>>2]; + $97 = $87 * $96; + $98 = ((($82)) + 4|0); + $99 = +HEAPF32[$98>>2]; + $100 = $92 * $99; + $101 = $97 - $100; + HEAPF32[$85>>2] = $101; + $102 = +HEAPF32[$82>>2]; + $103 = $92 * $102; + $104 = +HEAPF32[$98>>2]; + $105 = $87 * $104; + $106 = $103 + $105; + HEAPF32[$90>>2] = $106; + $107 = ((($$097102)) + -32|0); + $108 = ((($$0103)) + -32|0); + $109 = (($82) + ($5<<2)|0); + $110 = (($$099100) + -1)|0; + $111 = ($$099100|0)>(1); + if ($111) { + $$0103 = $108;$$097102 = $107;$$098101 = $109;$$099100 = $110; + } else { + break; + } + } + return; +} +function _imdct_step3_inner_s_loop($0,$1,$2,$3,$4,$5,$6) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + $6 = $6|0; + var $$0129132 = 0, $$0130131 = 0, $$0133 = 0, $10 = 0, $100 = 0.0, $101 = 0.0, $102 = 0.0, $103 = 0.0, $104 = 0.0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $11 = 0.0, $12 = 0, $13 = 0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0.0; + var $18 = 0, $19 = 0, $20 = 0.0, $21 = 0, $22 = 0, $23 = 0.0, $24 = 0, $25 = 0, $26 = 0.0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0.0, $32 = 0.0, $33 = 0.0, $34 = 0, $35 = 0.0, $36 = 0, $37 = 0.0; + var $38 = 0.0, $39 = 0.0, $40 = 0.0, $41 = 0.0, $42 = 0.0, $43 = 0.0, $44 = 0.0, $45 = 0.0, $46 = 0.0, $47 = 0.0, $48 = 0, $49 = 0.0, $50 = 0, $51 = 0.0, $52 = 0.0, $53 = 0, $54 = 0.0, $55 = 0, $56 = 0.0, $57 = 0.0; + var $58 = 0.0, $59 = 0.0, $60 = 0.0, $61 = 0.0, $62 = 0.0, $63 = 0.0, $64 = 0.0, $65 = 0.0, $66 = 0.0, $67 = 0, $68 = 0.0, $69 = 0, $7 = 0.0, $70 = 0.0, $71 = 0.0, $72 = 0, $73 = 0.0, $74 = 0, $75 = 0.0, $76 = 0.0; + var $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0, $80 = 0.0, $81 = 0.0, $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0.0, $86 = 0, $87 = 0.0, $88 = 0, $89 = 0.0, $9 = 0.0, $90 = 0.0, $91 = 0, $92 = 0.0, $93 = 0, $94 = 0.0; + var $95 = 0.0, $96 = 0.0, $97 = 0.0, $98 = 0.0, $99 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $7 = +HEAPF32[$4>>2]; + $8 = ((($4)) + 4|0); + $9 = +HEAPF32[$8>>2]; + $10 = (($4) + ($5<<2)|0); + $11 = +HEAPF32[$10>>2]; + $12 = (($5) + 1)|0; + $13 = (($4) + ($12<<2)|0); + $14 = +HEAPF32[$13>>2]; + $15 = $5 << 1; + $16 = (($4) + ($15<<2)|0); + $17 = +HEAPF32[$16>>2]; + $18 = $15 | 1; + $19 = (($4) + ($18<<2)|0); + $20 = +HEAPF32[$19>>2]; + $21 = ($5*3)|0; + $22 = (($4) + ($21<<2)|0); + $23 = +HEAPF32[$22>>2]; + $24 = (($21) + 1)|0; + $25 = (($4) + ($24<<2)|0); + $26 = +HEAPF32[$25>>2]; + $27 = (($1) + ($2<<2)|0); + $28 = ($0|0)>(0); + if (!($28)) { + return; + } + $29 = (($27) + ($3<<2)|0); + $30 = (0 - ($6))|0; + $$0129132 = $27;$$0130131 = $0;$$0133 = $29; + while(1) { + $31 = +HEAPF32[$$0129132>>2]; + $32 = +HEAPF32[$$0133>>2]; + $33 = $31 - $32; + $34 = ((($$0129132)) + -4|0); + $35 = +HEAPF32[$34>>2]; + $36 = ((($$0133)) + -4|0); + $37 = +HEAPF32[$36>>2]; + $38 = $35 - $37; + $39 = $31 + $32; + HEAPF32[$$0129132>>2] = $39; + $40 = +HEAPF32[$36>>2]; + $41 = $35 + $40; + HEAPF32[$34>>2] = $41; + $42 = $7 * $33; + $43 = $9 * $38; + $44 = $42 - $43; + HEAPF32[$$0133>>2] = $44; + $45 = $7 * $38; + $46 = $9 * $33; + $47 = $46 + $45; + HEAPF32[$36>>2] = $47; + $48 = ((($$0129132)) + -8|0); + $49 = +HEAPF32[$48>>2]; + $50 = ((($$0133)) + -8|0); + $51 = +HEAPF32[$50>>2]; + $52 = $49 - $51; + $53 = ((($$0129132)) + -12|0); + $54 = +HEAPF32[$53>>2]; + $55 = ((($$0133)) + -12|0); + $56 = +HEAPF32[$55>>2]; + $57 = $54 - $56; + $58 = $49 + $51; + HEAPF32[$48>>2] = $58; + $59 = +HEAPF32[$55>>2]; + $60 = $54 + $59; + HEAPF32[$53>>2] = $60; + $61 = $11 * $52; + $62 = $14 * $57; + $63 = $61 - $62; + HEAPF32[$50>>2] = $63; + $64 = $11 * $57; + $65 = $14 * $52; + $66 = $65 + $64; + HEAPF32[$55>>2] = $66; + $67 = ((($$0129132)) + -16|0); + $68 = +HEAPF32[$67>>2]; + $69 = ((($$0133)) + -16|0); + $70 = +HEAPF32[$69>>2]; + $71 = $68 - $70; + $72 = ((($$0129132)) + -20|0); + $73 = +HEAPF32[$72>>2]; + $74 = ((($$0133)) + -20|0); + $75 = +HEAPF32[$74>>2]; + $76 = $73 - $75; + $77 = $68 + $70; + HEAPF32[$67>>2] = $77; + $78 = +HEAPF32[$74>>2]; + $79 = $73 + $78; + HEAPF32[$72>>2] = $79; + $80 = $17 * $71; + $81 = $20 * $76; + $82 = $80 - $81; + HEAPF32[$69>>2] = $82; + $83 = $17 * $76; + $84 = $20 * $71; + $85 = $84 + $83; + HEAPF32[$74>>2] = $85; + $86 = ((($$0129132)) + -24|0); + $87 = +HEAPF32[$86>>2]; + $88 = ((($$0133)) + -24|0); + $89 = +HEAPF32[$88>>2]; + $90 = $87 - $89; + $91 = ((($$0129132)) + -28|0); + $92 = +HEAPF32[$91>>2]; + $93 = ((($$0133)) + -28|0); + $94 = +HEAPF32[$93>>2]; + $95 = $92 - $94; + $96 = $87 + $89; + HEAPF32[$86>>2] = $96; + $97 = +HEAPF32[$93>>2]; + $98 = $92 + $97; + HEAPF32[$91>>2] = $98; + $99 = $23 * $90; + $100 = $26 * $95; + $101 = $99 - $100; + HEAPF32[$88>>2] = $101; + $102 = $23 * $95; + $103 = $26 * $90; + $104 = $103 + $102; + HEAPF32[$93>>2] = $104; + $105 = (($$0129132) + ($30<<2)|0); + $106 = (($$0133) + ($30<<2)|0); + $107 = (($$0130131) + -1)|0; + $108 = ($$0130131|0)>(1); + if ($108) { + $$0129132 = $105;$$0130131 = $107;$$0133 = $106; + } else { + break; + } + } + return; +} +function _imdct_step3_inner_s_loop_ld654($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$086 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0.0, $14 = 0, $15 = 0.0, $16 = 0.0, $17 = 0, $18 = 0.0, $19 = 0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0, $25 = 0.0, $26 = 0, $27 = 0.0, $28 = 0.0; + var $29 = 0, $30 = 0.0, $31 = 0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0.0, $36 = 0.0, $37 = 0.0, $38 = 0.0, $39 = 0.0, $40 = 0, $41 = 0.0, $42 = 0, $43 = 0.0, $44 = 0.0, $45 = 0, $46 = 0.0, $47 = 0, $48 = 0.0; + var $49 = 0.0, $5 = 0, $50 = 0.0, $51 = 0.0, $52 = 0, $53 = 0.0, $54 = 0, $55 = 0.0, $56 = 0.0, $57 = 0, $58 = 0.0, $59 = 0, $6 = 0, $60 = 0.0, $61 = 0.0, $62 = 0.0, $63 = 0.0, $64 = 0.0, $65 = 0.0, $66 = 0.0; + var $67 = 0.0, $68 = 0, $69 = 0, $7 = 0.0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $5 = $4 >> 3; + $6 = (($3) + ($5<<2)|0); + $7 = +HEAPF32[$6>>2]; + $8 = (($1) + ($2<<2)|0); + $9 = $0 << 4; + $10 = (0 - ($9))|0; + $11 = (($8) + ($10<<2)|0); + $12 = ($10|0)<(0); + if ($12) { + $$086 = $8; + } else { + return; + } + while(1) { + $13 = +HEAPF32[$$086>>2]; + $14 = ((($$086)) + -32|0); + $15 = +HEAPF32[$14>>2]; + $16 = $13 - $15; + $17 = ((($$086)) + -4|0); + $18 = +HEAPF32[$17>>2]; + $19 = ((($$086)) + -36|0); + $20 = +HEAPF32[$19>>2]; + $21 = $18 - $20; + $22 = $13 + $15; + HEAPF32[$$086>>2] = $22; + $23 = $18 + $20; + HEAPF32[$17>>2] = $23; + HEAPF32[$14>>2] = $16; + HEAPF32[$19>>2] = $21; + $24 = ((($$086)) + -8|0); + $25 = +HEAPF32[$24>>2]; + $26 = ((($$086)) + -40|0); + $27 = +HEAPF32[$26>>2]; + $28 = $25 - $27; + $29 = ((($$086)) + -12|0); + $30 = +HEAPF32[$29>>2]; + $31 = ((($$086)) + -44|0); + $32 = +HEAPF32[$31>>2]; + $33 = $30 - $32; + $34 = $25 + $27; + HEAPF32[$24>>2] = $34; + $35 = $30 + $32; + HEAPF32[$29>>2] = $35; + $36 = $28 + $33; + $37 = $7 * $36; + HEAPF32[$26>>2] = $37; + $38 = $33 - $28; + $39 = $7 * $38; + HEAPF32[$31>>2] = $39; + $40 = ((($$086)) + -48|0); + $41 = +HEAPF32[$40>>2]; + $42 = ((($$086)) + -16|0); + $43 = +HEAPF32[$42>>2]; + $44 = $41 - $43; + $45 = ((($$086)) + -20|0); + $46 = +HEAPF32[$45>>2]; + $47 = ((($$086)) + -52|0); + $48 = +HEAPF32[$47>>2]; + $49 = $46 - $48; + $50 = $41 + $43; + HEAPF32[$42>>2] = $50; + $51 = $46 + $48; + HEAPF32[$45>>2] = $51; + HEAPF32[$40>>2] = $49; + HEAPF32[$47>>2] = $44; + $52 = ((($$086)) + -56|0); + $53 = +HEAPF32[$52>>2]; + $54 = ((($$086)) + -24|0); + $55 = +HEAPF32[$54>>2]; + $56 = $53 - $55; + $57 = ((($$086)) + -28|0); + $58 = +HEAPF32[$57>>2]; + $59 = ((($$086)) + -60|0); + $60 = +HEAPF32[$59>>2]; + $61 = $58 - $60; + $62 = $53 + $55; + HEAPF32[$54>>2] = $62; + $63 = $58 + $60; + HEAPF32[$57>>2] = $63; + $64 = $56 + $61; + $65 = $7 * $64; + HEAPF32[$52>>2] = $65; + $66 = $56 - $61; + $67 = $7 * $66; + HEAPF32[$59>>2] = $67; + _iter_54($$086); + _iter_54($14); + $68 = ((($$086)) + -64|0); + $69 = ($68>>>0)>($11>>>0); + if ($69) { + $$086 = $68; + } else { + break; + } + } + return; +} +function _iter_54($0) { + $0 = $0|0; + var $1 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0, $15 = 0.0, $16 = 0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $2 = 0, $20 = 0.0, $21 = 0, $22 = 0.0, $23 = 0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0.0; + var $28 = 0.0, $29 = 0.0, $3 = 0.0, $30 = 0.0, $31 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $1 = +HEAPF32[$0>>2]; + $2 = ((($0)) + -16|0); + $3 = +HEAPF32[$2>>2]; + $4 = $1 - $3; + $5 = $1 + $3; + $6 = ((($0)) + -8|0); + $7 = +HEAPF32[$6>>2]; + $8 = ((($0)) + -24|0); + $9 = +HEAPF32[$8>>2]; + $10 = $7 + $9; + $11 = $7 - $9; + $12 = $5 + $10; + HEAPF32[$0>>2] = $12; + $13 = $5 - $10; + HEAPF32[$6>>2] = $13; + $14 = ((($0)) + -12|0); + $15 = +HEAPF32[$14>>2]; + $16 = ((($0)) + -28|0); + $17 = +HEAPF32[$16>>2]; + $18 = $15 - $17; + $19 = $4 + $18; + HEAPF32[$2>>2] = $19; + $20 = $4 - $18; + HEAPF32[$8>>2] = $20; + $21 = ((($0)) + -4|0); + $22 = +HEAPF32[$21>>2]; + $23 = ((($0)) + -20|0); + $24 = +HEAPF32[$23>>2]; + $25 = $22 - $24; + $26 = $22 + $24; + $27 = $15 + $17; + $28 = $27 + $26; + HEAPF32[$21>>2] = $28; + $29 = $26 - $27; + HEAPF32[$14>>2] = $29; + $30 = $25 - $11; + HEAPF32[$23>>2] = $30; + $31 = $11 + $25; + HEAPF32[$16>>2] = $31; + return; +} +function _draw_line($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + var $$ = 0, $$0$pn = 0, $$05368 = 0, $$056 = 0, $$05666 = 0, $$05669 = 0, $$1 = 0, $$155 = 0, $$155$sink67 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0.0, $19 = 0, $20 = 0.0; + var $21 = 0.0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0.0, $29 = 0, $30 = 0.0, $31 = 0.0, $32 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $ispos = 0, $ispos58 = 0, $neg = 0, $neg59 = 0; + var label = 0, sp = 0; + sp = STACKTOP; + $6 = (($4) - ($2))|0; + $7 = (($3) - ($1))|0; + $ispos = ($6|0)>(-1); + $neg = (0 - ($6))|0; + $8 = $ispos ? $6 : $neg; + $9 = (($6|0) / ($7|0))&-1; + $10 = $6 >> 31; + $11 = $10 | 1; + $ispos58 = ($9|0)>(-1); + $neg59 = (0 - ($9))|0; + $12 = $ispos58 ? $9 : $neg59; + $13 = Math_imul($12, $7)|0; + $14 = (($8) - ($13))|0; + $15 = ($3|0)>($5|0); + $$ = $15 ? $5 : $3; + $16 = ($$|0)>($1|0); + if (!($16)) { + return; + } + $17 = (3772 + ($2<<2)|0); + $18 = +HEAPF32[$17>>2]; + $19 = (($0) + ($1<<2)|0); + $20 = +HEAPF32[$19>>2]; + $21 = $18 * $20; + HEAPF32[$19>>2] = $21; + $$05666 = (($1) + 1)|0; + $22 = ($$05666|0)<($$|0); + if ($22) { + $$05368 = 0;$$05669 = $$05666;$$155$sink67 = $2; + } else { + return; + } + while(1) { + $23 = (($$05368) + ($14))|0; + $24 = ($23|0)<($7|0); + $25 = $24 ? 0 : $11; + $26 = $24 ? 0 : $7; + $$1 = (($23) - ($26))|0; + $$0$pn = (($$155$sink67) + ($9))|0; + $$155 = (($$0$pn) + ($25))|0; + $27 = (3772 + ($$155<<2)|0); + $28 = +HEAPF32[$27>>2]; + $29 = (($0) + ($$05669<<2)|0); + $30 = +HEAPF32[$29>>2]; + $31 = $28 * $30; + HEAPF32[$29>>2] = $31; + $$056 = (($$05669) + 1)|0; + $32 = ($$056|0)<($$|0); + if ($32) { + $$05368 = $$1;$$05669 = $$056;$$155$sink67 = $$155; + } else { + break; + } + } + return; +} +function _make_block_array($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$01617 = 0, $$018 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $exitcond = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ($1|0)>(0); + if (!($3)) { + return ($0|0); + } + $4 = (($0) + ($1<<2)|0); + $$01617 = 0;$$018 = $4; + while(1) { + $5 = (($0) + ($$01617<<2)|0); + HEAP32[$5>>2] = $$018; + $6 = (($$018) + ($2)|0); + $7 = (($$01617) + 1)|0; + $exitcond = ($7|0)==($1|0); + if ($exitcond) { + break; + } else { + $$01617 = $7;$$018 = $6; + } + } + return ($0|0); +} +function _codebook_decode_deinterleave_repeat($0,$1,$2,$3,$4,$5,$6,$7) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + $6 = $6|0; + $7 = $7|0; + var $$ = 0, $$$1115 = 0, $$$3117 = 0, $$0100145 = 0, $$0102$lcssa = 0, $$0102144 = 0, $$0105133 = 0.0, $$0107143 = 0, $$0112132 = 0, $$0114$lcssa = 0, $$0114142 = 0, $$1103134 = 0, $$1108 = 0, $$1111 = 0, $$1113137 = 0, $$1115131 = 0, $$121 = 0, $$122 = 0, $$123 = 0, $$2 = 0; + var $$3117136 = 0, $$3138 = 0, $$5 = 0, $$5119 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; + var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; + var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0; + var $66 = 0.0, $67 = 0.0, $68 = 0, $69 = 0, $70 = 0, $71 = 0, $72 = 0.0, $73 = 0.0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0.0; + var $85 = 0.0, $86 = 0, $87 = 0.0, $88 = 0.0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $exitcond = 0, $exitcond150 = 0, label = 0, sp = 0; + sp = STACKTOP; + $8 = HEAP32[$4>>2]|0; + $9 = HEAP32[$5>>2]|0; + $10 = HEAP32[$1>>2]|0; + $11 = ((($1)) + 21|0); + $12 = HEAP8[$11>>0]|0; + $13 = ($12<<24>>24)==(0); + if ($13) { + _error($0,21); + $$2 = 0; + return ($$2|0); + } + $14 = ($7|0)>(0); + L5: do { + if ($14) { + $15 = ((($0)) + 1396|0); + $16 = ((($0)) + 1392|0); + $17 = ((($1)) + 8|0); + $18 = ((($1)) + 23|0); + $19 = Math_imul($6, $3)|0; + $20 = ((($1)) + 22|0); + $21 = ((($1)) + 28|0); + $22 = ((($1)) + 28|0); + $23 = ((($1)) + 2092|0); + $$0100145 = $7;$$0102144 = $8;$$0107143 = $10;$$0114142 = $9; + while(1) { + $24 = HEAP32[$15>>2]|0; + $25 = ($24|0)<(10); + if ($25) { + _prep_huffman($0); + } + $26 = HEAP32[$16>>2]|0; + $27 = $26 & 1023; + $28 = (((($1)) + 36|0) + ($27<<1)|0); + $29 = HEAP16[$28>>1]|0; + $30 = $29 << 16 >> 16; + $31 = ($29<<16>>16)>(-1); + if ($31) { + $32 = HEAP32[$17>>2]|0; + $33 = (($32) + ($30)|0); + $34 = HEAP8[$33>>0]|0; + $35 = $34&255; + $36 = $26 >>> $35; + HEAP32[$16>>2] = $36; + $37 = HEAP32[$15>>2]|0; + $38 = (($37) - ($35))|0; + $39 = ($38|0)<(0); + $$ = $39 ? 0 : $38; + $$121 = $39 ? -1 : $30; + HEAP32[$15>>2] = $$; + $$1111 = $$121; + } else { + $40 = (_codebook_decode_scalar_raw($0,$1)|0); + $$1111 = $40; + } + $41 = HEAP8[$18>>0]|0; + $42 = ($41<<24>>24)==(0); + if (!($42)) { + $43 = HEAP32[$23>>2]|0; + $44 = ($$1111|0)<($43|0); + if (!($44)) { + label = 12; + break; + } + } + $45 = ($$1111|0)<(0); + if ($45) { + break; + } + $52 = Math_imul($$0114142, $3)|0; + $53 = (($$0107143) + ($52))|0; + $54 = (($53) + ($$0102144))|0; + $55 = ($54|0)>($19|0); + $56 = (($19) - ($52))|0; + $57 = (($56) + ($$0102144))|0; + $$1108 = $55 ? $57 : $$0107143; + $58 = HEAP32[$1>>2]|0; + $59 = Math_imul($58, $$1111)|0; + $60 = HEAP8[$20>>0]|0; + $61 = ($60<<24>>24)==(0); + $62 = ($$1108|0)>(0); + if ($61) { + if ($62) { + $$1113137 = 0;$$3117136 = $$0114142;$$3138 = $$0102144; + while(1) { + $78 = (($2) + ($$3138<<2)|0); + $79 = HEAP32[$78>>2]|0; + $80 = ($79|0)==(0|0); + if (!($80)) { + $81 = HEAP32[$21>>2]|0; + $82 = (($$1113137) + ($59))|0; + $83 = (($81) + ($82<<2)|0); + $84 = +HEAPF32[$83>>2]; + $85 = $84 + 0.0; + $86 = (($79) + ($$3117136<<2)|0); + $87 = +HEAPF32[$86>>2]; + $88 = $87 + $85; + HEAPF32[$86>>2] = $88; + } + $89 = (($$3138) + 1)|0; + $90 = ($89|0)==($3|0); + $91 = $90&1; + $$$3117 = (($91) + ($$3117136))|0; + $$123 = $90 ? 0 : $89; + $92 = (($$1113137) + 1)|0; + $exitcond150 = ($92|0)==($$1108|0); + if ($exitcond150) { + $$5 = $$123;$$5119 = $$$3117; + break; + } else { + $$1113137 = $92;$$3117136 = $$$3117;$$3138 = $$123; + } + } + } else { + $$5 = $$0102144;$$5119 = $$0114142; + } + } else { + if ($62) { + $63 = HEAP32[$22>>2]|0; + $$0105133 = 0.0;$$0112132 = 0;$$1103134 = $$0102144;$$1115131 = $$0114142; + while(1) { + $64 = (($$0112132) + ($59))|0; + $65 = (($63) + ($64<<2)|0); + $66 = +HEAPF32[$65>>2]; + $67 = $$0105133 + $66; + $68 = (($2) + ($$1103134<<2)|0); + $69 = HEAP32[$68>>2]|0; + $70 = ($69|0)==(0|0); + $71 = (($69) + ($$1115131<<2)|0); + if (!($70)) { + $72 = +HEAPF32[$71>>2]; + $73 = $67 + $72; + HEAPF32[$71>>2] = $73; + } + $74 = (($$1103134) + 1)|0; + $75 = ($74|0)==($3|0); + $76 = $75&1; + $$$1115 = (($76) + ($$1115131))|0; + $$122 = $75 ? 0 : $74; + $77 = (($$0112132) + 1)|0; + $exitcond = ($77|0)==($$1108|0); + if ($exitcond) { + $$5 = $$122;$$5119 = $$$1115; + break; + } else { + $$0105133 = $67;$$0112132 = $77;$$1103134 = $$122;$$1115131 = $$$1115; + } + } + } else { + $$5 = $$0102144;$$5119 = $$0114142; + } + } + $93 = (($$0100145) - ($$1108))|0; + $94 = ($93|0)>(0); + if ($94) { + $$0100145 = $93;$$0102144 = $$5;$$0107143 = $$1108;$$0114142 = $$5119; + } else { + $$0102$lcssa = $$5;$$0114$lcssa = $$5119; + break L5; + } + } + if ((label|0) == 12) { + ___assert_fail((17224|0),(16959|0),1436,(17260|0)); + // unreachable; + } + $46 = ((($0)) + 1376|0); + $47 = HEAP8[$46>>0]|0; + $48 = ($47<<24>>24)==(0); + if ($48) { + $49 = ((($0)) + 1384|0); + $50 = HEAP32[$49>>2]|0; + $51 = ($50|0)==(0); + if (!($51)) { + $$2 = 0; + return ($$2|0); + } + } + _error($0,21); + $$2 = 0; + return ($$2|0); + } else { + $$0102$lcssa = $8;$$0114$lcssa = $9; + } + } while(0); + HEAP32[$4>>2] = $$0102$lcssa; + HEAP32[$5>>2] = $$0114$lcssa; + $$2 = 1; + return ($$2|0); +} +function _residue_decode($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + var $$03237 = 0, $$03440 = 0, $$1 = 0, $$13341 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; + var $26 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $6 = ($5|0)==(0); + if ($6) { + $8 = HEAP32[$1>>2]|0; + $9 = (($4|0) / ($8|0))&-1; + $10 = (($2) + ($3<<2)|0); + $11 = ($9|0)>(0); + if (!($11)) { + $$1 = 1; + return ($$1|0); + } + $12 = (($4) - ($3))|0; + $$03237 = 0; + while(1) { + $15 = (($10) + ($$03237<<2)|0); + $16 = (($12) - ($$03237))|0; + $17 = (_codebook_decode_step($0,$1,$15,$16,$9)|0); + $18 = ($17|0)==(0); + $14 = (($$03237) + 1)|0; + if ($18) { + $$1 = 0; + label = 10; + break; + } + $13 = ($14|0)<($9|0); + if ($13) { + $$03237 = $14; + } else { + $$1 = 1; + label = 10; + break; + } + } + if ((label|0) == 10) { + return ($$1|0); + } + } else { + $7 = ($4|0)>(0); + if (!($7)) { + $$1 = 1; + return ($$1|0); + } + $$03440 = $3;$$13341 = 0; + while(1) { + $19 = (($2) + ($$03440<<2)|0); + $20 = (($4) - ($$13341))|0; + $21 = (_codebook_decode($0,$1,$19,$20)|0); + $22 = ($21|0)==(0); + if ($22) { + $$1 = 0; + label = 10; + break; + } + $23 = HEAP32[$1>>2]|0; + $24 = (($23) + ($$13341))|0; + $25 = (($23) + ($$03440))|0; + $26 = ($24|0)<($4|0); + if ($26) { + $$03440 = $25;$$13341 = $24; + } else { + $$1 = 1; + label = 10; + break; + } + } + if ((label|0) == 10) { + return ($$1|0); + } + } + return (0)|0; +} +function _codebook_decode_step($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$ = 0, $$0 = 0, $$028$ = 0.0, $$02832 = 0.0, $$02931 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0.0, $19 = 0.0, $20 = 0, $21 = 0, $22 = 0.0, $23 = 0.0, $24 = 0; + var $25 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $5 = (_codebook_decode_start($0,$1)|0); + $6 = ($5|0)<(0); + if ($6) { + $$0 = 0; + return ($$0|0); + } + $7 = HEAP32[$1>>2]|0; + $8 = ($7|0)<($3|0); + $$ = $8 ? $7 : $3; + $9 = Math_imul($7, $5)|0; + $10 = ($$|0)>(0); + if (!($10)) { + $$0 = 1; + return ($$0|0); + } + $11 = ((($1)) + 28|0); + $12 = HEAP32[$11>>2]|0; + $13 = ((($1)) + 22|0); + $14 = HEAP8[$13>>0]|0; + $15 = ($14<<24>>24)==(0); + $$02832 = 0.0;$$02931 = 0; + while(1) { + $16 = (($$02931) + ($9))|0; + $17 = (($12) + ($16<<2)|0); + $18 = +HEAPF32[$17>>2]; + $19 = $$02832 + $18; + $20 = Math_imul($$02931, $4)|0; + $21 = (($2) + ($20<<2)|0); + $22 = +HEAPF32[$21>>2]; + $23 = $22 + $19; + HEAPF32[$21>>2] = $23; + $$028$ = $15 ? $$02832 : $19; + $24 = (($$02931) + 1)|0; + $25 = ($24|0)<($$|0); + if ($25) { + $$02832 = $$028$;$$02931 = $24; + } else { + $$0 = 1; + break; + } + } + return ($$0|0); +} +function _codebook_decode($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$ = 0, $$0 = 0, $$04046 = 0.0, $$04145 = 0, $$144 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0.0, $21 = 0.0, $22 = 0, $23 = 0.0, $24 = 0.0; + var $25 = 0.0, $26 = 0.0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0.0, $32 = 0.0, $33 = 0, $34 = 0.0, $35 = 0.0, $36 = 0, $37 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; + var sp = 0; + sp = STACKTOP; + $4 = (_codebook_decode_start($0,$1)|0); + $5 = ($4|0)<(0); + if ($5) { + $$0 = 0; + return ($$0|0); + } + $6 = HEAP32[$1>>2]|0; + $7 = ($6|0)<($3|0); + $$ = $7 ? $6 : $3; + $8 = Math_imul($6, $4)|0; + $9 = ((($1)) + 22|0); + $10 = HEAP8[$9>>0]|0; + $11 = ($10<<24>>24)==(0); + $12 = ($$|0)>(0); + if ($11) { + if (!($12)) { + $$0 = 1; + return ($$0|0); + } + $16 = ((($1)) + 28|0); + $17 = HEAP32[$16>>2]|0; + $$144 = 0; + while(1) { + $29 = (($$144) + ($8))|0; + $30 = (($17) + ($29<<2)|0); + $31 = +HEAPF32[$30>>2]; + $32 = $31 + 0.0; + $33 = (($2) + ($$144<<2)|0); + $34 = +HEAPF32[$33>>2]; + $35 = $34 + $32; + HEAPF32[$33>>2] = $35; + $36 = (($$144) + 1)|0; + $37 = ($36|0)<($$|0); + if ($37) { + $$144 = $36; + } else { + $$0 = 1; + break; + } + } + return ($$0|0); + } else { + if (!($12)) { + $$0 = 1; + return ($$0|0); + } + $13 = ((($1)) + 28|0); + $14 = HEAP32[$13>>2]|0; + $15 = ((($1)) + 12|0); + $$04046 = 0.0;$$04145 = 0; + while(1) { + $18 = (($$04145) + ($8))|0; + $19 = (($14) + ($18<<2)|0); + $20 = +HEAPF32[$19>>2]; + $21 = $$04046 + $20; + $22 = (($2) + ($$04145<<2)|0); + $23 = +HEAPF32[$22>>2]; + $24 = $23 + $21; + HEAPF32[$22>>2] = $24; + $25 = +HEAPF32[$15>>2]; + $26 = $21 + $25; + $27 = (($$04145) + 1)|0; + $28 = ($27|0)<($$|0); + if ($28) { + $$04046 = $26;$$04145 = $27; + } else { + $$0 = 1; + break; + } + } + return ($$0|0); + } + return (0)|0; +} +function _codebook_decode_start($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$ = 0, $$0 = 0, $$1 = 0, $$30 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; + var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; + var label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($1)) + 21|0); + $3 = HEAP8[$2>>0]|0; + $4 = ($3<<24>>24)==(0); + if ($4) { + _error($0,21); + $$0 = -1; + return ($$0|0); + } + $5 = ((($0)) + 1396|0); + $6 = HEAP32[$5>>2]|0; + $7 = ($6|0)<(10); + if ($7) { + _prep_huffman($0); + } + $8 = ((($0)) + 1392|0); + $9 = HEAP32[$8>>2]|0; + $10 = $9 & 1023; + $11 = (((($1)) + 36|0) + ($10<<1)|0); + $12 = HEAP16[$11>>1]|0; + $13 = $12 << 16 >> 16; + $14 = ($12<<16>>16)>(-1); + if ($14) { + $15 = ((($1)) + 8|0); + $16 = HEAP32[$15>>2]|0; + $17 = (($16) + ($13)|0); + $18 = HEAP8[$17>>0]|0; + $19 = $18&255; + $20 = $9 >>> $19; + HEAP32[$8>>2] = $20; + $21 = HEAP32[$5>>2]|0; + $22 = (($21) - ($19))|0; + $23 = ($22|0)<(0); + $$ = $23 ? 0 : $22; + $$30 = $23 ? -1 : $13; + HEAP32[$5>>2] = $$; + $$1 = $$30; + } else { + $24 = (_codebook_decode_scalar_raw($0,$1)|0); + $$1 = $24; + } + $25 = ((($1)) + 23|0); + $26 = HEAP8[$25>>0]|0; + $27 = ($26<<24>>24)==(0); + if (!($27)) { + $28 = ((($1)) + 2092|0); + $29 = HEAP32[$28>>2]|0; + $30 = ($$1|0)<($29|0); + if (!($30)) { + ___assert_fail((17180|0),(16959|0),1342,(17202|0)); + // unreachable; + } + } + $31 = ($$1|0)<(0); + if (!($31)) { + $$0 = $$1; + return ($$0|0); + } + $32 = ((($0)) + 1376|0); + $33 = HEAP8[$32>>0]|0; + $34 = ($33<<24>>24)==(0); + if ($34) { + $35 = ((($0)) + 1384|0); + $36 = HEAP32[$35>>2]|0; + $37 = ($36|0)==(0); + if (!($37)) { + $$0 = $$1; + return ($$0|0); + } + } + _error($0,21); + $$0 = $$1; + return ($$0|0); +} +function _bit_reverse($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0; + var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = $0 >>> 1; + $2 = $1 & 1431655765; + $3 = $0 << 1; + $4 = $3 & -1431655766; + $5 = $2 | $4; + $6 = $5 >>> 2; + $7 = $6 & 858993459; + $8 = $5 << 2; + $9 = $8 & -858993460; + $10 = $7 | $9; + $11 = $10 >>> 4; + $12 = $11 & 252645135; + $13 = $10 << 4; + $14 = $13 & -252645136; + $15 = $12 | $14; + $16 = $15 >>> 8; + $17 = $16 & 16711935; + $18 = $15 << 8; + $19 = $18 & -16711936; + $20 = $17 | $19; + $21 = $20 >>> 16; + $22 = $20 << 16; + $23 = $21 | $22; + return ($23|0); +} +function _maybe_start_packet($0) { + $0 = $0|0; + var $$1 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $3 = 0, $4 = 0, $5 = 0; + var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 1380|0); + $2 = HEAP32[$1>>2]|0; + $3 = ($2|0)==(-1); + if ($3) { + $4 = (_get8($0)|0); + $5 = ((($0)) + 96|0); + $6 = HEAP32[$5>>2]|0; + $7 = ($6|0)==(0); + if (!($7)) { + $$1 = 0; + return ($$1|0); + } + $8 = ($4<<24>>24)==(79); + if (!($8)) { + _error($0,30); + $$1 = 0; + return ($$1|0); + } + $9 = (_get8($0)|0); + $10 = ($9<<24>>24)==(103); + if (!($10)) { + _error($0,30); + $$1 = 0; + return ($$1|0); + } + $11 = (_get8($0)|0); + $12 = ($11<<24>>24)==(103); + if (!($12)) { + _error($0,30); + $$1 = 0; + return ($$1|0); + } + $13 = (_get8($0)|0); + $14 = ($13<<24>>24)==(83); + if (!($14)) { + _error($0,30); + $$1 = 0; + return ($$1|0); + } + $15 = (_start_page_no_capturepattern($0)|0); + $16 = ($15|0)==(0); + if ($16) { + $$1 = 0; + return ($$1|0); + } + $17 = ((($0)) + 1375|0); + $18 = HEAP8[$17>>0]|0; + $19 = $18 & 1; + $20 = ($19<<24>>24)==(0); + if (!($20)) { + $21 = ((($0)) + 1384|0); + HEAP32[$21>>2] = 0; + $22 = ((($0)) + 1376|0); + HEAP8[$22>>0] = 0; + _error($0,32); + $$1 = 0; + return ($$1|0); + } + } + $23 = (_start_packet($0)|0); + $$1 = $23; + return ($$1|0); +} +function _get8_packet($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (_get8_packet_raw($0)|0); + $2 = ((($0)) + 1396|0); + HEAP32[$2>>2] = 0; + return ($1|0); +} +function _start_packet($0) { + $0 = $0|0; + var $$0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 1380|0); + $2 = ((($0)) + 1375|0); + while(1) { + $3 = HEAP32[$1>>2]|0; + $4 = ($3|0)==(-1); + if (!($4)) { + label = 6; + break; + } + $5 = (_start_page($0)|0); + $6 = ($5|0)==(0); + if ($6) { + $$0 = 0; + label = 7; + break; + } + $7 = HEAP8[$2>>0]|0; + $8 = $7 & 1; + $9 = ($8<<24>>24)==(0); + if (!($9)) { + label = 5; + break; + } + } + if ((label|0) == 5) { + _error($0,32); + $$0 = 0; + return ($$0|0); + } + else if ((label|0) == 6) { + $10 = ((($0)) + 1384|0); + HEAP32[$10>>2] = 0; + $11 = ((($0)) + 1396|0); + HEAP32[$11>>2] = 0; + $12 = ((($0)) + 1400|0); + HEAP32[$12>>2] = 0; + $13 = ((($0)) + 1376|0); + HEAP8[$13>>0] = 0; + $$0 = 1; + return ($$0|0); + } + else if ((label|0) == 7) { + return ($$0|0); + } + return (0)|0; +} +function _compute_stereo_samples($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$$076 = 0, $$0 = 0, $$07386 = 0, $$07488 = 0, $$07593 = 0, $$07692 = 0, $$184 = 0, $$283 = 0, $$390 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0; + var $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0.0, $31 = 0, $32 = 0, $33 = 0.0, $34 = 0.0, $35 = 0, $36 = 0, $37 = 0.0, $38 = 0.0, $39 = 0, $40 = 0; + var $41 = 0, $42 = 0, $43 = 0.0, $44 = 0, $45 = 0, $46 = 0.0, $47 = 0.0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0.0, $53 = 0, $54 = 0, $55 = 0, $56 = 0.0, $57 = 0.0, $58 = 0, $59 = 0; + var $6 = 0, $60 = 0, $61 = 0, $62 = 0.0, $63 = 0.0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $8 = 0, $9 = 0; + var $exitcond = 0, $trunc = 0, $trunc$clear = 0, dest = 0, label = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0); + $5 = sp; + $6 = ($4|0)>(0); + if (!($6)) { + STACKTOP = sp;return; + } + $7 = ($1|0)>(0); + $$07593 = 0;$$07692 = 16; + while(1) { + $8 = $$07593 << 1; + dest=$5; stop=dest+128|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + $9 = (($$07593) + ($$07692))|0; + $10 = ($9|0)>($4|0); + $11 = (($4) - ($$07593))|0; + $$$076 = $10 ? $11 : $$07692; + L6: do { + if ($7) { + $12 = ($$$076|0)>(0); + $13 = (($$07593) + ($3))|0; + $14 = ($$$076|0)>(0); + $15 = (($$07593) + ($3))|0; + $16 = ($$$076|0)>(0); + $17 = (($$07593) + ($3))|0; + $$07488 = 0; + while(1) { + $20 = ((17418 + (($1*6)|0)|0) + ($$07488)|0); + $21 = HEAP8[$20>>0]|0; + $trunc = $21 & 6; + $trunc$clear = $trunc & 7; + switch ($trunc$clear<<24>>24) { + case 6: { + if ($12) { + $26 = (($2) + ($$07488<<2)|0); + $27 = HEAP32[$26>>2]|0; + $$07386 = 0; + while(1) { + $28 = (($13) + ($$07386))|0; + $29 = (($27) + ($28<<2)|0); + $30 = +HEAPF32[$29>>2]; + $31 = $$07386 << 1; + $32 = (($5) + ($31<<2)|0); + $33 = +HEAPF32[$32>>2]; + $34 = $30 + $33; + HEAPF32[$32>>2] = $34; + $35 = $31 | 1; + $36 = (($5) + ($35<<2)|0); + $37 = +HEAPF32[$36>>2]; + $38 = $30 + $37; + HEAPF32[$36>>2] = $38; + $39 = (($$07386) + 1)|0; + $40 = ($39|0)<($$$076|0); + if ($40) { + $$07386 = $39; + } else { + break; + } + } + } + break; + } + case 2: { + if ($14) { + $24 = (($2) + ($$07488<<2)|0); + $25 = HEAP32[$24>>2]|0; + $$184 = 0; + while(1) { + $41 = (($15) + ($$184))|0; + $42 = (($25) + ($41<<2)|0); + $43 = +HEAPF32[$42>>2]; + $44 = $$184 << 1; + $45 = (($5) + ($44<<2)|0); + $46 = +HEAPF32[$45>>2]; + $47 = $43 + $46; + HEAPF32[$45>>2] = $47; + $48 = (($$184) + 1)|0; + $49 = ($48|0)<($$$076|0); + if ($49) { + $$184 = $48; + } else { + break; + } + } + } + break; + } + case 4: { + if ($16) { + $22 = (($2) + ($$07488<<2)|0); + $23 = HEAP32[$22>>2]|0; + $$283 = 0; + while(1) { + $50 = (($17) + ($$283))|0; + $51 = (($23) + ($50<<2)|0); + $52 = +HEAPF32[$51>>2]; + $53 = $$283 << 1; + $54 = $53 | 1; + $55 = (($5) + ($54<<2)|0); + $56 = +HEAPF32[$55>>2]; + $57 = $52 + $56; + HEAPF32[$55>>2] = $57; + $58 = (($$283) + 1)|0; + $59 = ($58|0)<($$$076|0); + if ($59) { + $$283 = $58; + } else { + break; + } + } + } + break; + } + default: { + } + } + $60 = (($$07488) + 1)|0; + $exitcond = ($60|0)==($1|0); + if ($exitcond) { + break L6; + } else { + $$07488 = $60; + } + } + } + } while(0); + $18 = $$$076 << 1; + $19 = ($18|0)>(0); + if ($19) { + $$390 = 0; + while(1) { + $61 = (($5) + ($$390<<2)|0); + $62 = +HEAPF32[$61>>2]; + $63 = $62 + 384.0; + $64 = (HEAPF32[tempDoublePtr>>2]=$63,HEAP32[tempDoublePtr>>2]|0); + $65 = (($64) + -1136623616)|0; + $66 = ($65>>>0)>(65535); + $67 = ($64|0)<(1136656384); + $68 = $67 ? 32768 : 32767; + $$0 = $66 ? $68 : $64; + $69 = $$0&65535; + $70 = (($$390) + ($8))|0; + $71 = (($0) + ($70<<1)|0); + HEAP16[$71>>1] = $69; + $72 = (($$390) + 1)|0; + $73 = ($72|0)<($18|0); + if ($73) { + $$390 = $72; + } else { + break; + } + } + } + $74 = (($$07593) + 16)|0; + $75 = ($74|0)<($4|0); + if ($75) { + $$07593 = $74;$$07692 = $$$076; + } else { + break; + } + } + STACKTOP = sp;return; +} +function _stb_vorbis_get_file_offset($0) { + $0 = $0|0; + var $$0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 48|0); + $2 = HEAP8[$1>>0]|0; + $3 = ($2<<24>>24)==(0); + if (!($3)) { + $$0 = 0; + return ($$0|0); + } + $4 = ((($0)) + 32|0); + $5 = HEAP32[$4>>2]|0; + $6 = ($5|0)==(0|0); + if ($6) { + $11 = ((($0)) + 20|0); + $12 = HEAP32[$11>>2]|0; + $13 = (_ftell($12)|0); + $14 = ((($0)) + 24|0); + $15 = HEAP32[$14>>2]|0; + $16 = (($13) - ($15))|0; + $$0 = $16; + return ($$0|0); + } else { + $7 = ((($0)) + 36|0); + $8 = HEAP32[$7>>2]|0; + $9 = $5; + $10 = (($9) - ($8))|0; + $$0 = $10; + return ($$0|0); + } + return (0)|0; +} +function _set_file_offset($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $3 = 0; + var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond1 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($0)) + 48|0); + $3 = HEAP8[$2>>0]|0; + $4 = ($3<<24>>24)==(0); + if (!($4)) { + return; + } + $5 = ((($0)) + 96|0); + HEAP32[$5>>2] = 0; + $6 = ((($0)) + 32|0); + $7 = HEAP32[$6>>2]|0; + $8 = ($7|0)==(0|0); + if (!($8)) { + $9 = ((($0)) + 36|0); + $10 = HEAP32[$9>>2]|0; + $11 = (($10) + ($1)|0); + $12 = ((($0)) + 40|0); + $13 = HEAP32[$12>>2]|0; + $14 = ($11>>>0)>=($13>>>0); + $15 = ($1|0)<(0); + $or$cond1 = $15 | $14; + if ($or$cond1) { + HEAP32[$6>>2] = $13; + HEAP32[$5>>2] = 1; + return; + } else { + HEAP32[$6>>2] = $11; + return; + } + } + $16 = ((($0)) + 24|0); + $17 = HEAP32[$16>>2]|0; + $18 = (($17) + ($1))|0; + $19 = ($18>>>0)<($1>>>0); + $20 = ($1|0)<(0); + $or$cond = $20 | $19; + if ($or$cond) { + HEAP32[$5>>2] = 1; + $$0 = 2147483647; + } else { + $$0 = $18; + } + $21 = ((($0)) + 20|0); + $22 = HEAP32[$21>>2]|0; + $23 = (_fseek($22,$$0,0)|0); + $24 = ($23|0)==(0); + if ($24) { + return; + } + HEAP32[$5>>2] = 1; + $25 = HEAP32[$21>>2]|0; + $26 = HEAP32[$16>>2]|0; + (_fseek($25,$26,2)|0); + return; +} +function _vorbis_find_page($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$ = 0, $$0$ph = 0, $$069104 = 0, $$070 = 0, $$082$lcssa = 0, $$1 = 0, $$174103 = 0, $$2 = 0, $$275$lcssa = 0, $$275109 = 0, $$480102 = 0, $$5$ph = 0, $$581108 = 0, $$lobit = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0; + var $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0; + var $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0; + var $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0; + var $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0; + var $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0; + var $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0; + var $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0; + var $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0; + var $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0; + var $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $cond = 0, $exitcond = 0, $scevgep = 0, $trunc = 0, $trunc$clear = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $3 = sp; + $4 = ((($0)) + 96|0); + $5 = ((($0)) + 44|0); + $6 = ((($3)) + 4|0); + $7 = ((($3)) + 22|0); + $8 = ((($3)) + 23|0); + $9 = ((($3)) + 24|0); + $10 = ((($3)) + 25|0); + $11 = ((($3)) + 26|0); + $12 = ($1|0)==(0|0); + $13 = ($2|0)==(0|0); + $14 = ((($3)) + 5|0); + $scevgep = ((($3)) + 22|0); + $15 = ((($3)) + 4|0); + $16 = ((($3)) + 5|0); + $17 = ((($3)) + 6|0); + $18 = ((($3)) + 7|0); + $19 = ((($3)) + 8|0); + $20 = ((($3)) + 9|0); + $21 = ((($3)) + 10|0); + $22 = ((($3)) + 11|0); + $23 = ((($3)) + 12|0); + $24 = ((($3)) + 13|0); + $25 = ((($3)) + 14|0); + $26 = ((($3)) + 15|0); + $27 = ((($3)) + 16|0); + $28 = ((($3)) + 17|0); + $29 = ((($3)) + 18|0); + $30 = ((($3)) + 19|0); + $31 = ((($3)) + 20|0); + $32 = ((($3)) + 21|0); + $33 = ((($3)) + 22|0); + $34 = ((($3)) + 23|0); + $35 = ((($3)) + 24|0); + $36 = ((($3)) + 25|0); + $37 = ((($3)) + 26|0); + $38 = ((($3)) + 1|0); + $39 = ((($3)) + 2|0); + $40 = ((($3)) + 3|0); + $41 = ((($3)) + 4|0); + $42 = ((($3)) + 5|0); + $43 = ((($3)) + 6|0); + $44 = ((($3)) + 7|0); + $45 = ((($3)) + 8|0); + $46 = ((($3)) + 9|0); + $47 = ((($3)) + 10|0); + $48 = ((($3)) + 11|0); + $49 = ((($3)) + 12|0); + $50 = ((($3)) + 13|0); + $51 = ((($3)) + 14|0); + $52 = ((($3)) + 15|0); + $53 = ((($3)) + 16|0); + $54 = ((($3)) + 17|0); + $55 = ((($3)) + 18|0); + $56 = ((($3)) + 19|0); + $57 = ((($3)) + 20|0); + $58 = ((($3)) + 21|0); + $59 = ((($3)) + 22|0); + $60 = ((($3)) + 23|0); + $61 = ((($3)) + 24|0); + $62 = ((($3)) + 25|0); + $63 = ((($3)) + 26|0); + $$0$ph = 0; + L1: while(1) { + while(1) { + $64 = HEAP32[$4>>2]|0; + $65 = ($64|0)==(0); + if (!($65)) { + $$5$ph = 0; + label = 27; + break L1; + } + $66 = (_get8($0)|0); + $67 = ($66<<24>>24)==(79); + if ($67) { + break; + } + } + $68 = (_stb_vorbis_get_file_offset($0)|0); + $69 = (($68) + -25)|0; + $70 = HEAP32[$5>>2]|0; + $71 = ($69>>>0)>($70>>>0); + if ($71) { + $$5$ph = 0; + label = 27; + break; + } + $72 = (_get8($0)|0); + $73 = HEAP8[(4797)>>0]|0; + $74 = ($72<<24>>24)==($73<<24>>24); + if ($74) { + $75 = (_get8($0)|0); + $76 = HEAP8[(4798)>>0]|0; + $77 = ($75<<24>>24)==($76<<24>>24); + if ($77) { + $198 = (_get8($0)|0); + $199 = HEAP8[(4799)>>0]|0; + $200 = ($198<<24>>24)==($199<<24>>24); + $$ = $200 ? 4 : 3; + $$082$lcssa = $$; + } else { + $$082$lcssa = 2; + } + } else { + $$082$lcssa = 1; + } + $78 = HEAP32[$4>>2]|0; + $79 = ($78|0)==(0); + if (!($79)) { + $$5$ph = 0; + label = 27; + break; + } + $80 = ($$082$lcssa|0)==(4); + L13: do { + if ($80) { + $81 = HEAP32[1199]|0; + HEAP32[$3>>2] = $81; + $82 = (_get8($0)|0); + HEAP8[$15>>0] = $82; + $83 = (_get8($0)|0); + HEAP8[$16>>0] = $83; + $84 = (_get8($0)|0); + HEAP8[$17>>0] = $84; + $85 = (_get8($0)|0); + HEAP8[$18>>0] = $85; + $86 = (_get8($0)|0); + HEAP8[$19>>0] = $86; + $87 = (_get8($0)|0); + HEAP8[$20>>0] = $87; + $88 = (_get8($0)|0); + HEAP8[$21>>0] = $88; + $89 = (_get8($0)|0); + HEAP8[$22>>0] = $89; + $90 = (_get8($0)|0); + HEAP8[$23>>0] = $90; + $91 = (_get8($0)|0); + HEAP8[$24>>0] = $91; + $92 = (_get8($0)|0); + HEAP8[$25>>0] = $92; + $93 = (_get8($0)|0); + HEAP8[$26>>0] = $93; + $94 = (_get8($0)|0); + HEAP8[$27>>0] = $94; + $95 = (_get8($0)|0); + HEAP8[$28>>0] = $95; + $96 = (_get8($0)|0); + HEAP8[$29>>0] = $96; + $97 = (_get8($0)|0); + HEAP8[$30>>0] = $97; + $98 = (_get8($0)|0); + HEAP8[$31>>0] = $98; + $99 = (_get8($0)|0); + HEAP8[$32>>0] = $99; + $100 = (_get8($0)|0); + HEAP8[$33>>0] = $100; + $101 = (_get8($0)|0); + HEAP8[$34>>0] = $101; + $102 = (_get8($0)|0); + HEAP8[$35>>0] = $102; + $103 = (_get8($0)|0); + HEAP8[$36>>0] = $103; + $104 = (_get8($0)|0); + HEAP8[$37>>0] = $104; + $105 = HEAP32[$4>>2]|0; + $106 = ($105|0)==(0); + do { + if ($106) { + $107 = HEAP8[$6>>0]|0; + $108 = ($107<<24>>24)==(0); + if ($108) { + $111 = HEAP8[$7>>0]|0; + $112 = HEAP8[$8>>0]|0; + $113 = HEAP8[$9>>0]|0; + $114 = HEAP8[$10>>0]|0; + $115 = $114&255; + $116 = $115 << 24; + HEAP16[$scevgep>>1]=0&65535;HEAP16[$scevgep+2>>1]=0>>>16; + $117 = $112&255; + $118 = $117 << 8; + $119 = $111&255; + $120 = $118 | $119; + $121 = $113&255; + $122 = $121 << 16; + $123 = $120 | $122; + $124 = HEAP8[$3>>0]|0; + $125 = (_crc32_update(0,$124)|0); + $126 = HEAP8[$38>>0]|0; + $127 = (_crc32_update($125,$126)|0); + $128 = HEAP8[$39>>0]|0; + $129 = (_crc32_update($127,$128)|0); + $130 = HEAP8[$40>>0]|0; + $131 = (_crc32_update($129,$130)|0); + $132 = HEAP8[$41>>0]|0; + $133 = (_crc32_update($131,$132)|0); + $134 = HEAP8[$42>>0]|0; + $135 = (_crc32_update($133,$134)|0); + $136 = HEAP8[$43>>0]|0; + $137 = (_crc32_update($135,$136)|0); + $138 = HEAP8[$44>>0]|0; + $139 = (_crc32_update($137,$138)|0); + $140 = HEAP8[$45>>0]|0; + $141 = (_crc32_update($139,$140)|0); + $142 = HEAP8[$46>>0]|0; + $143 = (_crc32_update($141,$142)|0); + $144 = HEAP8[$47>>0]|0; + $145 = (_crc32_update($143,$144)|0); + $146 = HEAP8[$48>>0]|0; + $147 = (_crc32_update($145,$146)|0); + $148 = HEAP8[$49>>0]|0; + $149 = (_crc32_update($147,$148)|0); + $150 = HEAP8[$50>>0]|0; + $151 = (_crc32_update($149,$150)|0); + $152 = HEAP8[$51>>0]|0; + $153 = (_crc32_update($151,$152)|0); + $154 = HEAP8[$52>>0]|0; + $155 = (_crc32_update($153,$154)|0); + $156 = HEAP8[$53>>0]|0; + $157 = (_crc32_update($155,$156)|0); + $158 = HEAP8[$54>>0]|0; + $159 = (_crc32_update($157,$158)|0); + $160 = HEAP8[$55>>0]|0; + $161 = (_crc32_update($159,$160)|0); + $162 = HEAP8[$56>>0]|0; + $163 = (_crc32_update($161,$162)|0); + $164 = HEAP8[$57>>0]|0; + $165 = (_crc32_update($163,$164)|0); + $166 = HEAP8[$58>>0]|0; + $167 = (_crc32_update($165,$166)|0); + $168 = HEAP8[$59>>0]|0; + $169 = (_crc32_update($167,$168)|0); + $170 = HEAP8[$60>>0]|0; + $171 = (_crc32_update($169,$170)|0); + $172 = HEAP8[$61>>0]|0; + $173 = (_crc32_update($171,$172)|0); + $174 = HEAP8[$62>>0]|0; + $175 = (_crc32_update($173,$174)|0); + $176 = HEAP8[$63>>0]|0; + $177 = (_crc32_update($175,$176)|0); + $178 = $123 | $116; + $179 = ($176<<24>>24)==(0); + if ($179) { + $$275$lcssa = $177; + } else { + $109 = HEAP8[$11>>0]|0; + $110 = $109&255; + $$069104 = 0;$$174103 = $177;$$480102 = 0; + while(1) { + $180 = (_get8($0)|0); + $181 = $180&255; + $182 = (_crc32_update($$174103,$180)|0); + $183 = (($181) + ($$069104))|0; + $184 = (($$480102) + 1)|0; + $185 = ($184>>>0)<($110>>>0); + if ($185) { + $$069104 = $183;$$174103 = $182;$$480102 = $184; + } else { + break; + } + } + $186 = ($183|0)==(0); + if ($186) { + $$275$lcssa = $182; + } else { + $187 = HEAP32[$4>>2]|0; + $188 = ($187|0)==(0); + if ($188) { + $$275109 = $182;$$581108 = 0; + } else { + $$070 = 1;$$1 = 0; + break; + } + while(1) { + $189 = (_get8($0)|0); + $190 = (_crc32_update($$275109,$189)|0); + $191 = (($$581108) + 1)|0; + $exitcond = ($191|0)==($183|0); + if ($exitcond) { + $$275$lcssa = $190; + break; + } else { + $$275109 = $190;$$581108 = $191; + } + } + } + } + $192 = ($$275$lcssa|0)==($178|0); + if ($192) { + if (!($12)) { + $193 = (_stb_vorbis_get_file_offset($0)|0); + HEAP32[$1>>2] = $193; + } + if (!($13)) { + $194 = HEAP8[$14>>0]|0; + $195 = ($194&255) >>> 2; + $$lobit = $195 & 1; + $196 = $$lobit&255; + HEAP32[$2>>2] = $196; + } + $197 = (($68) + -1)|0; + _set_file_offset($0,$197); + $$070 = 1;$$1 = 1; + } else { + $$070 = 0;$$1 = $$0$ph; + } + } else { + $$070 = 13;$$1 = $$0$ph; + } + } else { + $$070 = 1;$$1 = 0; + } + } while(0); + $trunc = $$070&255; + $trunc$clear = $trunc & 15; + switch ($trunc$clear<<24>>24) { + case 13: case 0: { + $$2 = $$1; + break L13; + break; + } + default: { + } + } + $cond = ($$070|0)==(0); + if ($cond) { + $$0$ph = $$1; + continue L1; + } else { + $$5$ph = $$1; + label = 27; + break L1; + } + } else { + $$2 = $$0$ph; + } + } while(0); + _set_file_offset($0,$68); + $$0$ph = $$2; + } + if ((label|0) == 27) { + STACKTOP = sp;return ($$5$ph|0); + } + return (0)|0; +} +function _crc32_update($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = $0 << 8; + $3 = $1&255; + $4 = $0 >>> 24; + $5 = $3 ^ $4; + $6 = (27728 + ($5<<2)|0); + $7 = HEAP32[$6>>2]|0; + $8 = $7 ^ $2; + return ($8|0); +} +function _stb_vorbis_open_file($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; + sp = STACKTOP; + $4 = (_ftell($0)|0); + (_fseek($0,0,2)|0); + $5 = (_ftell($0)|0); + $6 = (($5) - ($4))|0; + (_fseek($0,$4,0)|0); + $7 = (_stb_vorbis_open_file_section($0,$1,$2,$3,$6)|0); + return ($7|0); +} +function _stb_vorbis_open_file_section($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 1520|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1520|0); + $5 = sp; + _vorbis_init($5,$3); + $6 = ((($5)) + 20|0); + HEAP32[$6>>2] = $0; + $7 = (_ftell($0)|0); + $8 = ((($5)) + 24|0); + HEAP32[$8>>2] = $7; + $9 = ((($5)) + 44|0); + HEAP32[$9>>2] = $4; + $10 = ((($5)) + 28|0); + HEAP32[$10>>2] = $1; + $11 = (_start_decoder($5)|0); + $12 = ($11|0)==(0); + if (!($12)) { + $13 = (_vorbis_alloc($5)|0); + $14 = ($13|0)==(0|0); + if (!($14)) { + _memcpy(($13|0),($5|0),1512)|0; + (_vorbis_pump_first_frame($13)|0); + $$0 = $13; + STACKTOP = sp;return ($$0|0); + } + } + $15 = ($2|0)==(0|0); + if (!($15)) { + $16 = ((($5)) + 100|0); + $17 = HEAP32[$16>>2]|0; + HEAP32[$2>>2] = $17; + } + _vorbis_deinit($5); + $$0 = 0; + STACKTOP = sp;return ($$0|0); +} +function _vorbis_init($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $3 = 0, $4 = 0, $5 = 0; + var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + _memset(($0|0),0,1512)|0; + $2 = ($1|0)==(0|0); + if (!($2)) { + $3 = ((($0)) + 80|0); + $4 = $1; + $5 = $4; + $6 = HEAP32[$5>>2]|0; + $7 = (($4) + 4)|0; + $8 = $7; + $9 = HEAP32[$8>>2]|0; + $10 = $3; + $11 = $10; + HEAP32[$11>>2] = $6; + $12 = (($10) + 4)|0; + $13 = $12; + HEAP32[$13>>2] = $9; + $14 = ((($0)) + 84|0); + $15 = HEAP32[$14>>2]|0; + $16 = (($15) + 3)|0; + $17 = $16 & -4; + HEAP32[$14>>2] = $17; + $18 = ((($0)) + 92|0); + HEAP32[$18>>2] = $17; + } + $19 = ((($0)) + 96|0); + HEAP32[$19>>2] = 0; + $20 = ((($0)) + 100|0); + HEAP32[$20>>2] = 0; + $21 = ((($0)) + 32|0); + HEAP32[$21>>2] = 0; + $22 = ((($0)) + 124|0); + HEAP32[$22>>2] = 0; + $23 = ((($0)) + 1420|0); + HEAP32[$23>>2] = -1; + $24 = ((($0)) + 28|0); + HEAP32[$24>>2] = 0; + $25 = ((($0)) + 20|0); + HEAP32[$25>>2] = 0; + return; +} +function _start_decoder($0) { + $0 = $0|0; + var $$ = 0, $$$0899 = 0, $$$0929 = 0, $$$0964 = 0, $$0899$lcssa = 0, $$08991120 = 0, $$09011119 = 0, $$09021210 = 0, $$0920 = 0, $$0920$ph = 0, $$0929$lcssa = 0, $$09291199 = 0, $$09501156 = 0, $$0951 = 0, $$09541216 = 0, $$0957 = 0, $$09581209 = 0, $$0962 = 0, $$09641169 = 0, $$09661213 = 0; + var $$09701227 = 0.0, $$0974$ph = 0, $$0977$ = 0.0, $$09771224 = 0.0, $$109121192 = 0, $$119131195 = 0, $$129141148 = 0, $$139151153 = 0, $$149161160 = 0, $$159171137 = 0, $$169181135 = 0, $$179191139 = 0, $$18921232 = 0, $$19031217 = 0, $$19211174 = 0, $$1955 = 0, $$19631000 = 0, $$19631001$ph = 0, $$1971 = 0.0, $$1971$ = 0.0; + var $$1971$ph = 0.0, $$28931205 = 0, $$29041220 = 0, $$29221181 = 0, $$2953 = 0, $$2956 = 0, $$2960$ph = 0, $$34 = 0, $$38941200 = 0, $$39051228 = 0, $$39231152 = 0, $$3961 = 0, $$48951165 = 0, $$49061225 = 0, $$49241157 = 0, $$49241157$in = 0, $$58961143 = 0, $$59071118 = 0, $$59251132 = 0, $$68971128 = 0; + var $$69081170 = 0, $$78981124 = 0, $$79091177 = 0, $$89101185 = 0, $$99111188 = 0, $$in = 0, $$lcssa = 0, $$lcssa1060 = 0, $$lcssa1061 = 0, $$lcssa1073 = 0, $$off = 0, $$off979 = 0, $$pr = 0, $$pr1300 = 0, $$pr1301 = 0, $$sink = 0, $$sink25 = 0, $$sink26 = 0, $$sink986 = 0, $1 = 0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0; + var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0; + var $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0; + var $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0; + var $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0; + var $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0.0; + var $262 = 0, $263 = 0, $264 = 0.0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0; + var $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0; + var $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0; + var $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0.0, $328 = 0.0, $329 = 0.0, $33 = 0, $330 = 0.0, $331 = 0.0, $332 = 0.0, $333 = 0; + var $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0; + var $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0.0, $359 = 0.0, $36 = 0, $360 = 0.0, $361 = 0.0, $362 = 0.0, $363 = 0.0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0; + var $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0; + var $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0; + var $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0; + var $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0; + var $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0; + var $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0, $478 = 0; + var $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0, $496 = 0; + var $497 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0, $513 = 0; + var $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0, $531 = 0; + var $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0, $549 = 0, $55 = 0; + var $550 = 0, $551 = 0, $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0, $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0, $562 = 0, $563 = 0, $564 = 0, $565 = 0, $566 = 0, $567 = 0, $568 = 0; + var $569 = 0, $57 = 0, $570 = 0, $571 = 0, $572 = 0, $573 = 0, $574 = 0, $575 = 0, $576 = 0, $577 = 0, $578 = 0, $579 = 0, $58 = 0, $580 = 0, $581 = 0, $582 = 0, $583 = 0, $584 = 0, $585 = 0, $586 = 0; + var $587 = 0, $588 = 0, $589 = 0, $59 = 0, $590 = 0, $591 = 0, $592 = 0, $593 = 0, $594 = 0, $595 = 0, $596 = 0, $597 = 0, $598 = 0, $599 = 0, $6 = 0, $60 = 0, $600 = 0, $601 = 0, $602 = 0, $603 = 0; + var $604 = 0, $605 = 0, $606 = 0, $607 = 0, $608 = 0, $609 = 0, $61 = 0, $610 = 0, $611 = 0, $612 = 0, $613 = 0, $614 = 0, $615 = 0, $616 = 0, $617 = 0, $618 = 0, $619 = 0, $62 = 0, $620 = 0, $621 = 0; + var $622 = 0, $623 = 0, $624 = 0, $625 = 0, $626 = 0, $627 = 0, $628 = 0, $629 = 0, $63 = 0, $630 = 0, $631 = 0, $632 = 0, $633 = 0, $634 = 0, $635 = 0, $636 = 0, $637 = 0, $638 = 0, $639 = 0, $64 = 0; + var $640 = 0, $641 = 0, $642 = 0, $643 = 0, $644 = 0, $645 = 0, $646 = 0, $647 = 0, $648 = 0, $649 = 0, $65 = 0, $650 = 0, $651 = 0, $652 = 0, $653 = 0, $654 = 0, $655 = 0, $656 = 0, $657 = 0, $658 = 0; + var $659 = 0, $66 = 0, $660 = 0, $661 = 0, $662 = 0, $663 = 0, $664 = 0, $665 = 0, $666 = 0, $667 = 0, $668 = 0, $669 = 0, $67 = 0, $670 = 0, $671 = 0, $672 = 0, $673 = 0, $674 = 0, $675 = 0, $676 = 0; + var $677 = 0, $678 = 0, $679 = 0, $68 = 0, $680 = 0, $681 = 0, $682 = 0, $683 = 0, $684 = 0, $685 = 0, $686 = 0, $687 = 0, $688 = 0, $689 = 0, $69 = 0, $690 = 0, $691 = 0, $692 = 0, $693 = 0, $694 = 0; + var $695 = 0, $696 = 0, $697 = 0, $698 = 0, $699 = 0, $7 = 0, $70 = 0, $700 = 0, $701 = 0, $702 = 0, $703 = 0, $704 = 0, $705 = 0, $706 = 0, $707 = 0, $708 = 0, $709 = 0, $71 = 0, $710 = 0, $711 = 0; + var $712 = 0, $713 = 0, $714 = 0, $715 = 0, $716 = 0, $717 = 0, $718 = 0, $719 = 0, $72 = 0, $720 = 0, $721 = 0, $722 = 0, $723 = 0, $724 = 0, $725 = 0, $726 = 0, $727 = 0, $728 = 0, $729 = 0, $73 = 0; + var $730 = 0, $731 = 0, $732 = 0, $733 = 0, $734 = 0, $735 = 0, $736 = 0, $737 = 0, $738 = 0, $739 = 0, $74 = 0, $740 = 0, $741 = 0, $742 = 0, $743 = 0, $744 = 0, $745 = 0, $746 = 0, $747 = 0, $748 = 0; + var $749 = 0, $75 = 0, $750 = 0, $751 = 0, $752 = 0, $753 = 0, $754 = 0, $755 = 0, $756 = 0, $757 = 0, $758 = 0, $759 = 0, $76 = 0, $760 = 0, $761 = 0, $762 = 0, $763 = 0, $764 = 0, $765 = 0, $766 = 0; + var $767 = 0, $768 = 0, $769 = 0, $77 = 0, $770 = 0, $771 = 0, $772 = 0, $773 = 0, $774 = 0, $775 = 0, $776 = 0, $777 = 0, $778 = 0, $779 = 0, $78 = 0, $780 = 0, $781 = 0, $782 = 0, $783 = 0, $784 = 0; + var $785 = 0, $786 = 0, $787 = 0, $788 = 0, $789 = 0, $79 = 0, $790 = 0, $791 = 0, $792 = 0, $793 = 0, $794 = 0, $795 = 0, $796 = 0, $797 = 0, $798 = 0, $799 = 0, $8 = 0, $80 = 0, $800 = 0, $801 = 0; + var $802 = 0, $803 = 0, $804 = 0, $805 = 0, $806 = 0, $807 = 0, $808 = 0, $809 = 0, $81 = 0, $810 = 0, $811 = 0, $812 = 0, $813 = 0, $814 = 0, $815 = 0, $816 = 0, $817 = 0, $818 = 0, $819 = 0, $82 = 0; + var $820 = 0, $821 = 0, $822 = 0, $823 = 0, $824 = 0, $825 = 0, $826 = 0, $827 = 0, $828 = 0, $829 = 0, $83 = 0, $830 = 0, $831 = 0, $832 = 0, $833 = 0, $834 = 0, $835 = 0, $836 = 0, $837 = 0, $838 = 0; + var $839 = 0, $84 = 0, $840 = 0, $841 = 0, $842 = 0, $843 = 0, $844 = 0, $845 = 0, $846 = 0, $847 = 0, $848 = 0, $849 = 0, $85 = 0, $850 = 0, $851 = 0, $852 = 0, $853 = 0, $854 = 0, $855 = 0, $856 = 0; + var $857 = 0, $858 = 0, $859 = 0, $86 = 0, $860 = 0, $861 = 0, $862 = 0, $863 = 0, $864 = 0, $865 = 0, $866 = 0, $867 = 0, $868 = 0, $869 = 0, $87 = 0, $870 = 0, $871 = 0, $872 = 0, $873 = 0, $874 = 0; + var $875 = 0, $876 = 0, $877 = 0, $878 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $not$or$cond982 = 0, $notrhs = 0, $or$cond = 0; + var $or$cond991 = 0, $phitmp = 0, $phitmp1296 = 0, $phitmp1297 = 0, $sext = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 1024|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1024|0); + $1 = sp + 1008|0; + $2 = sp + 8|0; + $3 = sp + 4|0; + $4 = sp; + $5 = (_start_page($0)|0); + $6 = ($5|0)==(0); + if ($6) { + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + $7 = ((($0)) + 1375|0); + $8 = HEAP8[$7>>0]|0; + $9 = $8&255; + $10 = $9 & 2; + $11 = ($10|0)==(0); + if ($11) { + _error($0,34); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + $12 = $9 & 4; + $13 = ($12|0)==(0); + if (!($13)) { + _error($0,34); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + $14 = $9 & 1; + $15 = ($14|0)==(0); + if (!($15)) { + _error($0,34); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + $16 = ((($0)) + 1116|0); + $17 = HEAP32[$16>>2]|0; + $18 = ($17|0)==(1); + if (!($18)) { + _error($0,34); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + $19 = ((($0)) + 1120|0); + $20 = HEAP8[$19>>0]|0; + $21 = ($20<<24>>24)==(30); + if (!($21)) { + _error($0,34); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + $22 = (_get8($0)|0); + $23 = ($22<<24>>24)==(1); + if (!($23)) { + _error($0,34); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + $24 = (_getn($0,$1,6)|0); + $25 = ($24|0)==(0); + if ($25) { + _error($0,10); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + $26 = (_vorbis_validate($1)|0); + $27 = ($26|0)==(0); + if ($27) { + _error($0,34); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + $28 = (_get32($0)|0); + $29 = ($28|0)==(0); + if (!($29)) { + _error($0,34); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + $30 = (_get8($0)|0); + $31 = $30&255; + $32 = ((($0)) + 4|0); + HEAP32[$32>>2] = $31; + $33 = ($30<<24>>24)==(0); + if ($33) { + _error($0,34); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + $34 = ($30&255)>(16); + if ($34) { + _error($0,5); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + $35 = (_get32($0)|0); + HEAP32[$0>>2] = $35; + $36 = ($35|0)==(0); + if ($36) { + _error($0,34); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + (_get32($0)|0); + (_get32($0)|0); + (_get32($0)|0); + $37 = (_get8($0)|0); + $38 = $37&255; + $39 = $38 & 15; + $40 = $38 >>> 4; + $41 = 1 << $39; + $42 = ((($0)) + 112|0); + HEAP32[$42>>2] = $41; + $43 = 1 << $40; + $44 = ((($0)) + 116|0); + HEAP32[$44>>2] = $43; + $$off = (($39) + -6)|0; + $45 = ($$off>>>0)>(7); + if ($45) { + _error($0,20); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + $$off979 = (($37) + -96)<<24>>24; + $46 = ($$off979<<24>>24)<(0); + if ($46) { + _error($0,20); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + $47 = ($39>>>0)>($40>>>0); + if ($47) { + _error($0,20); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + $48 = (_get8($0)|0); + $49 = $48 & 1; + $50 = ($49<<24>>24)==(0); + if ($50) { + _error($0,34); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + $51 = (_start_page($0)|0); + $52 = ($51|0)==(0); + if ($52) { + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + $53 = (_start_packet($0)|0); + $54 = ($53|0)==(0); + if ($54) { + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + $55 = ((($0)) + 1376|0); + while(1) { + $56 = (_next_segment($0)|0); + _skip($0,$56); + HEAP8[$55>>0] = 0; + $57 = ($56|0)==(0); + if ($57) { + break; + } + } + $58 = (_start_packet($0)|0); + $59 = ($58|0)==(0); + if ($59) { + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + $60 = ((($0)) + 48|0); + $61 = HEAP8[$60>>0]|0; + $62 = ($61<<24>>24)==(0); + do { + if (!($62)) { + $63 = (_is_whole_packet_present($0,1)|0); + $64 = ($63|0)==(0); + if (!($64)) { + break; + } + $65 = ((($0)) + 100|0); + $66 = HEAP32[$65>>2]|0; + $67 = ($66|0)==(21); + if (!($67)) { + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + HEAP32[$65>>2] = 20; + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + } while(0); + _crc32_init(); + $68 = (_get8_packet($0)|0); + $69 = ($68|0)==(5); + if (!($69)) { + _error($0,20); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + $70 = (_get8_packet($0)|0); + $71 = $70&255; + HEAP8[$1>>0] = $71; + $72 = (_get8_packet($0)|0); + $73 = $72&255; + $74 = ((($1)) + 1|0); + HEAP8[$74>>0] = $73; + $75 = (_get8_packet($0)|0); + $76 = $75&255; + $77 = ((($1)) + 2|0); + HEAP8[$77>>0] = $76; + $78 = (_get8_packet($0)|0); + $79 = $78&255; + $80 = ((($1)) + 3|0); + HEAP8[$80>>0] = $79; + $81 = (_get8_packet($0)|0); + $82 = $81&255; + $83 = ((($1)) + 4|0); + HEAP8[$83>>0] = $82; + $84 = (_get8_packet($0)|0); + $85 = $84&255; + $86 = ((($1)) + 5|0); + HEAP8[$86>>0] = $85; + $87 = (_vorbis_validate($1)|0); + $88 = ($87|0)==(0); + if ($88) { + _error($0,20); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + $89 = (_get_bits($0,8)|0); + $90 = (($89) + 1)|0; + $91 = ((($0)) + 120|0); + HEAP32[$91>>2] = $90; + $92 = ($90*2096)|0; + $93 = (_setup_malloc($0,$92)|0); + $94 = ((($0)) + 124|0); + HEAP32[$94>>2] = $93; + $95 = ($93|0)==(0|0); + if ($95) { + _error($0,3); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + $96 = HEAP32[$91>>2]|0; + $97 = ($96*2096)|0; + _memset(($93|0),0,($97|0))|0; + $98 = HEAP32[$91>>2]|0; + $99 = ($98|0)>(0); + L100: do { + if ($99) { + $100 = ((($0)) + 16|0); + $101 = ((($0)) + 16|0); + $$18921232 = 0; + L102: while(1) { + $102 = HEAP32[$94>>2]|0; + $103 = (($102) + (($$18921232*2096)|0)|0); + $104 = (_get_bits($0,8)|0); + $105 = $104 & 255; + $106 = ($105|0)==(66); + if (!($106)) { + label = 52; + break; + } + $107 = (_get_bits($0,8)|0); + $108 = $107 & 255; + $109 = ($108|0)==(67); + if (!($109)) { + label = 54; + break; + } + $110 = (_get_bits($0,8)|0); + $111 = $110 & 255; + $112 = ($111|0)==(86); + if (!($112)) { + label = 56; + break; + } + $113 = (_get_bits($0,8)|0); + $114 = (_get_bits($0,8)|0); + $115 = $114 << 8; + $116 = $113 & 255; + $117 = $115 | $116; + HEAP32[$103>>2] = $117; + $118 = (_get_bits($0,8)|0); + $119 = (_get_bits($0,8)|0); + $120 = (_get_bits($0,8)|0); + $121 = $120 << 16; + $122 = $119 << 8; + $123 = $122 & 65280; + $124 = $118 & 255; + $125 = $123 | $124; + $126 = $125 | $121; + $127 = (((($102) + (($$18921232*2096)|0)|0)) + 4|0); + HEAP32[$127>>2] = $126; + $128 = (_get_bits($0,1)|0); + $129 = ($128|0)!=(0); + if ($129) { + $132 = 0; + } else { + $130 = (_get_bits($0,1)|0); + $132 = $130; + } + $131 = $132&255; + $133 = (((($102) + (($$18921232*2096)|0)|0)) + 23|0); + HEAP8[$133>>0] = $131; + $134 = HEAP32[$103>>2]|0; + $135 = ($134|0)!=(0); + $136 = HEAP32[$127>>2]|0; + $137 = ($136|0)==(0); + $or$cond = $135 | $137; + if (!($or$cond)) { + label = 60; + break; + } + $138 = ($131<<24>>24)==(0); + if ($138) { + $140 = (_setup_malloc($0,$136)|0); + $141 = (((($102) + (($$18921232*2096)|0)|0)) + 8|0); + HEAP32[$141>>2] = $140; + $$0962 = $140; + } else { + $139 = (_setup_temp_malloc($0,$136)|0); + $$0962 = $139; + } + $142 = ($$0962|0)==(0|0); + if ($142) { + label = 65; + break; + } + do { + if ($129) { + $145 = (_get_bits($0,5)|0); + $146 = HEAP32[$127>>2]|0; + $147 = ($146|0)>(0); + if ($147) { + $$09661213 = 0;$$in = $145;$150 = $146; + } else { + $$3961 = 0; + break; + } + while(1) { + $148 = (($$in) + 1)|0; + $149 = (($150) - ($$09661213))|0; + $151 = (_ilog($149)|0); + $152 = (_get_bits($0,$151)|0); + $153 = (($152) + ($$09661213))|0; + $154 = HEAP32[$127>>2]|0; + $155 = ($153|0)>($154|0); + if ($155) { + label = 71; + break L102; + } + $156 = (($$0962) + ($$09661213)|0); + $157 = $148&255; + _memset(($156|0),($157|0),($152|0))|0; + $158 = HEAP32[$127>>2]|0; + $159 = ($158|0)>($153|0); + if ($159) { + $$09661213 = $153;$$in = $148;$150 = $158; + } else { + $$3961 = 0; + break; + } + } + } else { + $143 = HEAP32[$127>>2]|0; + $144 = ($143|0)>(0); + if ($144) { + $$09021210 = 0;$$09581209 = 0; + } else { + $$3961 = 0; + break; + } + while(1) { + $160 = HEAP8[$133>>0]|0; + $161 = ($160<<24>>24)==(0); + do { + if ($161) { + label = 74; + } else { + $162 = (_get_bits($0,1)|0); + $163 = ($162|0)==(0); + if (!($163)) { + label = 74; + break; + } + $171 = (($$0962) + ($$09021210)|0); + HEAP8[$171>>0] = -1; + $$2960$ph = $$09581209; + } + } while(0); + if ((label|0) == 74) { + label = 0; + $164 = (_get_bits($0,5)|0); + $165 = (($164) + 1)|0; + $166 = $165&255; + $167 = (($$0962) + ($$09021210)|0); + HEAP8[$167>>0] = $166; + $168 = (($$09581209) + 1)|0; + $169 = $165 & 255; + $170 = ($169|0)==(32); + if ($170) { + label = 76; + break L102; + } else { + $$2960$ph = $168; + } + } + $172 = (($$09021210) + 1)|0; + $173 = HEAP32[$127>>2]|0; + $174 = ($172|0)<($173|0); + if ($174) { + $$09021210 = $172;$$09581209 = $$2960$ph; + } else { + $$3961 = $$2960$ph; + break; + } + } + } + } while(0); + $175 = HEAP8[$133>>0]|0; + $176 = ($175<<24>>24)==(0); + do { + if ($176) { + $$19631001$ph = $$0962; + label = 86; + } else { + $177 = HEAP32[$127>>2]|0; + $178 = $177 >> 2; + $179 = ($$3961|0)<($178|0); + if ($179) { + $$pr = HEAP8[$133>>0]|0; + $188 = ($$pr<<24>>24)==(0); + if ($188) { + $$19631001$ph = $$0962; + label = 86; + break; + } else { + $$19631000 = $$0962;$$2956 = $$3961; + break; + } + } + $180 = HEAP32[$101>>2]|0; + $181 = ($177|0)>($180|0); + if ($181) { + HEAP32[$101>>2] = $177; + } + $182 = (_setup_malloc($0,$177)|0); + $183 = (((($102) + (($$18921232*2096)|0)|0)) + 8|0); + HEAP32[$183>>2] = $182; + $184 = ($182|0)==(0|0); + if ($184) { + label = 83; + break L102; + } + $185 = HEAP32[$127>>2]|0; + _memcpy(($182|0),($$0962|0),($185|0))|0; + $186 = HEAP32[$127>>2]|0; + _setup_temp_free($0,$$0962,$186); + $187 = HEAP32[$183>>2]|0; + HEAP8[$133>>0] = 0; + $$19631001$ph = $187; + label = 86; + } + } while(0); + do { + if ((label|0) == 86) { + label = 0; + $189 = HEAP32[$127>>2]|0; + $190 = ($189|0)>(0); + if (!($190)) { + $$19631000 = $$19631001$ph;$$2956 = 0; + break; + } + $191 = HEAP32[$127>>2]|0; + $$09541216 = 0;$$19031217 = 0; + while(1) { + $192 = (($$19631001$ph) + ($$19031217)|0); + $193 = HEAP8[$192>>0]|0; + $194 = ($193&255)<(11); + $notrhs = ($193<<24>>24)!=(-1); + $not$or$cond982 = $194 ^ $notrhs; + $195 = $not$or$cond982&1; + $$1955 = (($195) + ($$09541216))|0; + $196 = (($$19031217) + 1)|0; + $197 = ($196|0)<($191|0); + if ($197) { + $$09541216 = $$1955;$$19031217 = $196; + } else { + $$19631000 = $$19631001$ph;$$2956 = $$1955; + break; + } + } + } + } while(0); + $198 = (((($102) + (($$18921232*2096)|0)|0)) + 2092|0); + HEAP32[$198>>2] = $$2956; + $199 = HEAP8[$133>>0]|0; + $200 = ($199<<24>>24)==(0); + do { + if ($200) { + $201 = HEAP32[$127>>2]|0; + $202 = $201 << 2; + $203 = (_setup_malloc($0,$202)|0); + $204 = (((($102) + (($$18921232*2096)|0)|0)) + 32|0); + HEAP32[$204>>2] = $203; + $205 = ($203|0)==(0|0); + if ($205) { + label = 91; + break L102; + } else { + $$2953 = 0;$230 = 0; + } + } else { + $206 = ($$2956|0)==(0); + if ($206) { + $$0951 = 0;$878 = 0; + } else { + $207 = (_setup_malloc($0,$$2956)|0); + $208 = (((($102) + (($$18921232*2096)|0)|0)) + 8|0); + HEAP32[$208>>2] = $207; + $209 = ($207|0)==(0|0); + if ($209) { + label = 94; + break L102; + } + $210 = HEAP32[$198>>2]|0; + $211 = $210 << 2; + $212 = (_setup_temp_malloc($0,$211)|0); + $213 = (((($102) + (($$18921232*2096)|0)|0)) + 32|0); + HEAP32[$213>>2] = $212; + $214 = ($212|0)==(0|0); + if ($214) { + label = 96; + break L102; + } + $215 = HEAP32[$198>>2]|0; + $216 = $215 << 2; + $217 = (_setup_temp_malloc($0,$216)|0); + $218 = ($217|0)==(0|0); + if ($218) { + label = 98; + break L102; + } else { + $$0951 = $217;$878 = $217; + } + } + $219 = HEAP32[$127>>2]|0; + $220 = HEAP32[$198>>2]|0; + $221 = $220 << 3; + $222 = (($221) + ($219))|0; + $223 = HEAP32[$100>>2]|0; + $224 = ($222>>>0)>($223>>>0); + if (!($224)) { + $$2953 = $$0951;$230 = $878; + break; + } + HEAP32[$100>>2] = $222; + $$2953 = $$0951;$230 = $878; + } + } while(0); + $225 = HEAP32[$127>>2]|0; + $226 = (_compute_codewords($103,$$19631000,$225,$$2953)|0); + $227 = ($226|0)==(0); + if ($227) { + label = 102; + break; + } + $231 = HEAP32[$198>>2]|0; + $232 = ($231|0)==(0); + if (!($232)) { + $233 = $231 << 2; + $234 = (($233) + 4)|0; + $235 = (_setup_malloc($0,$234)|0); + $236 = (((($102) + (($$18921232*2096)|0)|0)) + 2084|0); + HEAP32[$236>>2] = $235; + $237 = ($235|0)==(0|0); + if ($237) { + label = 107; + break; + } + $238 = HEAP32[$198>>2]|0; + $239 = $238 << 2; + $240 = (($239) + 4)|0; + $241 = (_setup_malloc($0,$240)|0); + $242 = (((($102) + (($$18921232*2096)|0)|0)) + 2088|0); + HEAP32[$242>>2] = $241; + $243 = ($241|0)==(0|0); + if ($243) { + label = 109; + break; + } + $244 = ((($241)) + 4|0); + HEAP32[$242>>2] = $244; + HEAP32[$241>>2] = -1; + _compute_sorted_huffman($103,$$19631000,$$2953); + } + $245 = HEAP8[$133>>0]|0; + $246 = ($245<<24>>24)==(0); + if (!($246)) { + $247 = HEAP32[$198>>2]|0; + $248 = $247 << 2; + _setup_temp_free($0,$230,$248); + $249 = (((($102) + (($$18921232*2096)|0)|0)) + 32|0); + $250 = HEAP32[$249>>2]|0; + $251 = HEAP32[$198>>2]|0; + $252 = $251 << 2; + _setup_temp_free($0,$250,$252); + $253 = HEAP32[$127>>2]|0; + _setup_temp_free($0,$$19631000,$253); + HEAP32[$249>>2] = 0; + } + _compute_accelerated_huffman($103); + $254 = (_get_bits($0,4)|0); + $255 = $254&255; + $256 = (((($102) + (($$18921232*2096)|0)|0)) + 21|0); + HEAP8[$256>>0] = $255; + $257 = $254 & 255; + $258 = ($257>>>0)>(2); + if ($258) { + label = 114; + break; + } + $259 = ($257|0)==(0); + if (!($259)) { + $260 = (_get_bits($0,32)|0); + $261 = (+_float32_unpack($260)); + $262 = (((($102) + (($$18921232*2096)|0)|0)) + 12|0); + HEAPF32[$262>>2] = $261; + $263 = (_get_bits($0,32)|0); + $264 = (+_float32_unpack($263)); + $265 = (((($102) + (($$18921232*2096)|0)|0)) + 16|0); + HEAPF32[$265>>2] = $264; + $266 = (_get_bits($0,4)|0); + $267 = (($266) + 1)|0; + $268 = $267&255; + $269 = (((($102) + (($$18921232*2096)|0)|0)) + 20|0); + HEAP8[$269>>0] = $268; + $270 = (_get_bits($0,1)|0); + $271 = $270&255; + $272 = (((($102) + (($$18921232*2096)|0)|0)) + 22|0); + HEAP8[$272>>0] = $271; + $273 = HEAP8[$256>>0]|0; + $274 = ($273<<24>>24)==(1); + $275 = HEAP32[$127>>2]|0; + $276 = HEAP32[$103>>2]|0; + if ($274) { + $277 = (_lookup1_values($275,$276)|0); + $$sink = $277; + } else { + $278 = Math_imul($276, $275)|0; + $$sink = $278; + } + $279 = (((($102) + (($$18921232*2096)|0)|0)) + 24|0); + HEAP32[$279>>2] = $$sink; + $280 = ($$sink|0)==(0); + if ($280) { + label = 120; + break; + } + $281 = $$sink << 1; + $282 = (_setup_temp_malloc($0,$281)|0); + $283 = ($282|0)==(0|0); + if ($283) { + label = 123; + break; + } + $284 = HEAP32[$279>>2]|0; + $285 = ($284|0)>(0); + if ($285) { + $$29041220 = 0; + while(1) { + $286 = HEAP8[$269>>0]|0; + $287 = $286&255; + $288 = (_get_bits($0,$287)|0); + $289 = ($288|0)==(-1); + if ($289) { + label = 125; + break L102; + } + $292 = $288&65535; + $293 = (($282) + ($$29041220<<1)|0); + HEAP16[$293>>1] = $292; + $294 = (($$29041220) + 1)|0; + $295 = HEAP32[$279>>2]|0; + $296 = ($294|0)<($295|0); + if ($296) { + $$29041220 = $294; + } else { + $$lcssa1073 = $295; + break; + } + } + } else { + $$lcssa1073 = $284; + } + $297 = HEAP8[$256>>0]|0; + $298 = ($297<<24>>24)==(1); + do { + if ($298) { + $299 = HEAP8[$133>>0]|0; + $300 = ($299<<24>>24)!=(0); + if ($300) { + $301 = HEAP32[$198>>2]|0; + $302 = ($301|0)==(0); + if ($302) { + break; + } else { + $$sink986 = $301; + } + } else { + $303 = HEAP32[$127>>2]|0; + $$sink986 = $303; + } + $304 = $$sink986 << 2; + $305 = HEAP32[$103>>2]|0; + $306 = Math_imul($304, $305)|0; + $307 = (_setup_malloc($0,$306)|0); + $308 = (((($102) + (($$18921232*2096)|0)|0)) + 28|0); + HEAP32[$308>>2] = $307; + $309 = ($307|0)==(0|0); + if ($309) { + label = 132; + break L102; + } + $$sink25 = $300 ? $198 : $127; + $312 = HEAP32[$$sink25>>2]|0; + $313 = ($312|0)>(0); + if ($313) { + $314 = (((($102) + (($$18921232*2096)|0)|0)) + 2088|0); + $315 = HEAP32[$103>>2]|0; + $$09701227 = 0.0;$$39051228 = 0; + while(1) { + if ($300) { + $316 = HEAP32[$314>>2]|0; + $317 = (($316) + ($$39051228<<2)|0); + $318 = HEAP32[$317>>2]|0; + $322 = $318; + } else { + $322 = $$39051228; + } + $319 = Math_imul($315, $$39051228)|0; + $$0920$ph = 0;$$0974$ph = 1;$$1971$ph = $$09701227; + L193: while(1) { + $$0920 = $$0920$ph;$$1971 = $$1971$ph; + while(1) { + $320 = ($$0920|0)<($315|0); + if (!($320)) { + break L193; + } + $321 = (($322>>>0) / ($$0974$ph>>>0))&-1; + $323 = HEAP32[$279>>2]|0; + $324 = (($321>>>0) % ($323>>>0))&-1; + $325 = (($282) + ($324<<1)|0); + $326 = HEAP16[$325>>1]|0; + $327 = (+($326&65535)); + $328 = +HEAPF32[$265>>2]; + $329 = $327 * $328; + $330 = +HEAPF32[$262>>2]; + $331 = $329 + $330; + $332 = $$1971 + $331; + $333 = HEAP32[$308>>2]|0; + $334 = (($319) + ($$0920))|0; + $335 = (($333) + ($334<<2)|0); + HEAPF32[$335>>2] = $332; + $336 = HEAP8[$272>>0]|0; + $337 = ($336<<24>>24)==(0); + $$1971$ = $337 ? $$1971 : $332; + $338 = (($$0920) + 1)|0; + $339 = ($338|0)<($315|0); + if ($339) { + break; + } else { + $$0920 = $338;$$1971 = $$1971$; + } + } + $340 = (4294967295 / ($323>>>0))&-1; + $341 = ($$0974$ph>>>0)>($340>>>0); + if ($341) { + label = 143; + break L102; + } + $342 = Math_imul($323, $$0974$ph)|0; + $$0920$ph = $338;$$0974$ph = $342;$$1971$ph = $$1971$; + } + $344 = (($$39051228) + 1)|0; + $345 = ($344|0)<($312|0); + if ($345) { + $$09701227 = $$1971;$$39051228 = $344; + } else { + break; + } + } + } + HEAP8[$256>>0] = 2; + } else { + $346 = $$lcssa1073 << 2; + $347 = (_setup_malloc($0,$346)|0); + $348 = (((($102) + (($$18921232*2096)|0)|0)) + 28|0); + HEAP32[$348>>2] = $347; + $349 = ($347|0)==(0|0); + $350 = HEAP32[$279>>2]|0; + if ($349) { + label = 150; + break L102; + } + $351 = ($350|0)>(0); + if (!($351)) { + break; + } + $352 = HEAP32[$348>>2]|0; + $353 = HEAP8[$272>>0]|0; + $354 = ($353<<24>>24)==(0); + $355 = HEAP32[$279>>2]|0; + $$09771224 = 0.0;$$49061225 = 0; + while(1) { + $356 = (($282) + ($$49061225<<1)|0); + $357 = HEAP16[$356>>1]|0; + $358 = (+($357&65535)); + $359 = +HEAPF32[$265>>2]; + $360 = $358 * $359; + $361 = +HEAPF32[$262>>2]; + $362 = $360 + $361; + $363 = $$09771224 + $362; + $364 = (($352) + ($$49061225<<2)|0); + HEAPF32[$364>>2] = $363; + $$0977$ = $354 ? $$09771224 : $363; + $365 = (($$49061225) + 1)|0; + $366 = ($365|0)<($355|0); + if ($366) { + $$09771224 = $$0977$;$$49061225 = $365; + } else { + break; + } + } + } + } while(0); + $368 = HEAP32[$279>>2]|0; + $369 = $368 << 1; + _setup_temp_free($0,$282,$369); + } + $370 = (($$18921232) + 1)|0; + $371 = HEAP32[$91>>2]|0; + $372 = ($370|0)<($371|0); + if ($372) { + $$18921232 = $370; + } else { + break L100; + } + } + switch (label|0) { + case 52: { + _error($0,20); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + break; + } + case 54: { + _error($0,20); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + break; + } + case 56: { + _error($0,20); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + break; + } + case 60: { + _error($0,20); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + break; + } + case 65: { + _error($0,3); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + break; + } + case 71: { + _error($0,20); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + break; + } + case 76: { + _error($0,20); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + break; + } + case 83: { + _error($0,3); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + break; + } + case 91: { + _error($0,3); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + break; + } + case 94: { + _error($0,3); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + break; + } + case 96: { + _error($0,3); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + break; + } + case 98: { + _error($0,3); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + break; + } + case 102: { + $228 = HEAP8[$133>>0]|0; + $229 = ($228<<24>>24)==(0); + if (!($229)) { + _setup_temp_free($0,$230,0); + } + _error($0,20); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + break; + } + case 107: { + _error($0,3); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + break; + } + case 109: { + _error($0,3); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + break; + } + case 114: { + _error($0,20); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + break; + } + case 120: { + _error($0,20); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + break; + } + case 123: { + _error($0,3); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + break; + } + case 125: { + $290 = HEAP32[$279>>2]|0; + $291 = $290 << 1; + _setup_temp_free($0,$282,$291); + _error($0,20); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + break; + } + case 132: { + $310 = HEAP32[$279>>2]|0; + $311 = $310 << 1; + _setup_temp_free($0,$282,$311); + _error($0,3); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + break; + } + case 143: { + $343 = $323 << 1; + _setup_temp_free($0,$282,$343); + _error($0,20); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + break; + } + case 150: { + $367 = $350 << 1; + _setup_temp_free($0,$282,$367); + _error($0,3); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + break; + } + } + } + } while(0); + $373 = (_get_bits($0,6)|0); + $374 = (($373) + 1)|0; + $375 = $374 & 255; + $376 = ($375|0)==(0); + L258: do { + if (!($376)) { + $$28931205 = 0; + while(1) { + $379 = (_get_bits($0,16)|0); + $380 = ($379|0)==(0); + $378 = (($$28931205) + 1)|0; + if (!($380)) { + break; + } + $377 = ($378|0)<($375|0); + if ($377) { + $$28931205 = $378; + } else { + break L258; + } + } + _error($0,20); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + } while(0); + $381 = (_get_bits($0,6)|0); + $382 = (($381) + 1)|0; + $383 = ((($0)) + 128|0); + HEAP32[$383>>2] = $382; + $384 = ($382*1596)|0; + $385 = (_setup_malloc($0,$384)|0); + $386 = ((($0)) + 260|0); + HEAP32[$386>>2] = $385; + $387 = ($385|0)==(0|0); + if ($387) { + _error($0,3); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + $388 = HEAP32[$383>>2]|0; + $389 = ($388|0)>(0); + do { + if ($389) { + $$09291199 = 0;$$38941200 = 0; + L271: while(1) { + $390 = (_get_bits($0,16)|0); + $391 = $390&65535; + $392 = (((($0)) + 132|0) + ($$38941200<<1)|0); + HEAP16[$392>>1] = $391; + $393 = $390 & 65535; + $394 = ($393>>>0)>(1); + if ($394) { + label = 162; + break; + } + $395 = ($393|0)==(0); + if ($395) { + label = 164; + break; + } + $426 = HEAP32[$386>>2]|0; + $427 = (_get_bits($0,5)|0); + $428 = $427&255; + $429 = (($426) + (($$38941200*1596)|0)|0); + HEAP8[$429>>0] = $428; + $430 = $427 & 255; + $431 = ($430|0)==(0); + if (!($431)) { + $$09641169 = -1;$$69081170 = 0; + while(1) { + $432 = (_get_bits($0,4)|0); + $433 = $432&255; + $434 = ((((($426) + (($$38941200*1596)|0)|0)) + 1|0) + ($$69081170)|0); + HEAP8[$434>>0] = $433; + $435 = $432 & 255; + $436 = ($435|0)>($$09641169|0); + $$$0964 = $436 ? $435 : $$09641169; + $437 = (($$69081170) + 1)|0; + $438 = HEAP8[$429>>0]|0; + $439 = $438&255; + $440 = ($437|0)<($439|0); + if ($440) { + $$09641169 = $$$0964;$$69081170 = $437; + } else { + $$79091177 = 0; + break; + } + } + while(1) { + $441 = (_get_bits($0,3)|0); + $442 = (($441) + 1)|0; + $443 = $442&255; + $444 = ((((($426) + (($$38941200*1596)|0)|0)) + 33|0) + ($$79091177)|0); + HEAP8[$444>>0] = $443; + $445 = (_get_bits($0,2)|0); + $446 = $445&255; + $447 = ((((($426) + (($$38941200*1596)|0)|0)) + 49|0) + ($$79091177)|0); + HEAP8[$447>>0] = $446; + $448 = ($446<<24>>24)==(0); + if ($448) { + $$19211174 = 0; + label = 175; + } else { + $450 = (_get_bits($0,8)|0); + $451 = $450&255; + $452 = ((((($426) + (($$38941200*1596)|0)|0)) + 65|0) + ($$79091177)|0); + HEAP8[$452>>0] = $451; + $453 = $450 & 255; + $454 = HEAP32[$91>>2]|0; + $455 = ($453|0)<($454|0); + if (!($455)) { + label = 173; + break L271; + } + $$pr1300 = HEAP8[$447>>0]|0; + $449 = ($$pr1300<<24>>24)==(31); + if (!($449)) { + $$19211174 = 0; + label = 175; + } + } + if ((label|0) == 175) { + while(1) { + label = 0; + $461 = (_get_bits($0,8)|0); + $462 = (($461) + 65535)|0; + $463 = $462&65535; + $464 = (((((($426) + (($$38941200*1596)|0)|0)) + 82|0) + ($$79091177<<4)|0) + ($$19211174<<1)|0); + HEAP16[$464>>1] = $463; + $sext = $462 << 16; + $465 = $sext >> 16; + $466 = HEAP32[$91>>2]|0; + $467 = ($465|0)<($466|0); + $460 = (($$19211174) + 1)|0; + if (!($467)) { + label = 176; + break L271; + } + $456 = HEAP8[$447>>0]|0; + $457 = $456&255; + $458 = 1 << $457; + $459 = ($460|0)<($458|0); + if ($459) { + $$19211174 = $460; + label = 175; + } else { + break; + } + } + } + $468 = (($$79091177) + 1)|0; + $469 = ($$79091177|0)<($$$0964|0); + if ($469) { + $$79091177 = $468; + } else { + break; + } + } + } + $470 = (_get_bits($0,2)|0); + $471 = (($470) + 1)|0; + $472 = $471&255; + $473 = (((($426) + (($$38941200*1596)|0)|0)) + 1588|0); + HEAP8[$473>>0] = $472; + $474 = (_get_bits($0,4)|0); + $475 = $474&255; + $476 = (((($426) + (($$38941200*1596)|0)|0)) + 1589|0); + HEAP8[$476>>0] = $475; + $477 = (((($426) + (($$38941200*1596)|0)|0)) + 338|0); + HEAP16[$477>>1] = 0; + $478 = $474 & 255; + $479 = 1 << $478; + $480 = $479&65535; + $481 = (((($426) + (($$38941200*1596)|0)|0)) + 340|0); + HEAP16[$481>>1] = $480; + $482 = (((($426) + (($$38941200*1596)|0)|0)) + 1592|0); + HEAP32[$482>>2] = 2; + $483 = HEAP8[$429>>0]|0; + $484 = ($483<<24>>24)==(0); + if ($484) { + $$99111188 = 0; + label = 183; + } else { + $$89101185 = 0; + while(1) { + $486 = ((((($426) + (($$38941200*1596)|0)|0)) + 1|0) + ($$89101185)|0); + $487 = HEAP8[$486>>0]|0; + $488 = $487&255; + $489 = ((((($426) + (($$38941200*1596)|0)|0)) + 33|0) + ($488)|0); + $490 = HEAP8[$489>>0]|0; + $491 = ($490<<24>>24)==(0); + if (!($491)) { + $$29221181 = 0; + while(1) { + $492 = HEAP8[$476>>0]|0; + $493 = $492&255; + $494 = (_get_bits($0,$493)|0); + $495 = $494&65535; + $496 = HEAP32[$482>>2]|0; + $497 = ((((($426) + (($$38941200*1596)|0)|0)) + 338|0) + ($496<<1)|0); + HEAP16[$497>>1] = $495; + $498 = HEAP32[$482>>2]|0; + $499 = (($498) + 1)|0; + HEAP32[$482>>2] = $499; + $500 = (($$29221181) + 1)|0; + $501 = HEAP8[$489>>0]|0; + $502 = $501&255; + $503 = ($500|0)<($502|0); + if ($503) { + $$29221181 = $500; + } else { + break; + } + } + } + $504 = (($$89101185) + 1)|0; + $505 = HEAP8[$429>>0]|0; + $506 = $505&255; + $507 = ($504|0)<($506|0); + if ($507) { + $$89101185 = $504; + } else { + break; + } + } + $$pr1301 = HEAP32[$482>>2]|0; + $485 = ($$pr1301|0)>(0); + if ($485) { + $$99111188 = 0; + label = 183; + } else { + $$lcssa1060 = $$pr1301; + } + } + if ((label|0) == 183) { + while(1) { + label = 0; + $508 = ((((($426) + (($$38941200*1596)|0)|0)) + 338|0) + ($$99111188<<1)|0); + $509 = HEAP16[$508>>1]|0; + $510 = (($2) + ($$99111188<<2)|0); + HEAP16[$510>>1] = $509; + $511 = $$99111188&65535; + $512 = (((($2) + ($$99111188<<2)|0)) + 2|0); + HEAP16[$512>>1] = $511; + $513 = (($$99111188) + 1)|0; + $514 = HEAP32[$482>>2]|0; + $515 = ($513|0)<($514|0); + if ($515) { + $$99111188 = $513; + label = 183; + } else { + $$lcssa1060 = $514; + break; + } + } + } + _qsort($2,$$lcssa1060,4,1); + $516 = HEAP32[$482>>2]|0; + $517 = ($516|0)>(0); + do { + if ($517) { + $$109121192 = 0; + while(1) { + $520 = (((($2) + ($$109121192<<2)|0)) + 2|0); + $521 = HEAP16[$520>>1]|0; + $522 = $521&255; + $523 = ((((($426) + (($$38941200*1596)|0)|0)) + 838|0) + ($$109121192)|0); + HEAP8[$523>>0] = $522; + $524 = (($$109121192) + 1)|0; + $519 = HEAP32[$482>>2]|0; + $525 = ($524|0)<($519|0); + if ($525) { + $$109121192 = $524; + } else { + break; + } + } + $518 = ($519|0)>(2); + if ($518) { + $$119131195 = 2; + } else { + $$lcssa1061 = $519; + break; + } + while(1) { + _neighbors($477,$$119131195,$3,$4); + $526 = HEAP32[$3>>2]|0; + $527 = $526&255; + $528 = ((((($426) + (($$38941200*1596)|0)|0)) + 1088|0) + ($$119131195<<1)|0); + HEAP8[$528>>0] = $527; + $529 = HEAP32[$4>>2]|0; + $530 = $529&255; + $531 = ((((((($426) + (($$38941200*1596)|0)|0)) + 1088|0) + ($$119131195<<1)|0)) + 1|0); + HEAP8[$531>>0] = $530; + $532 = (($$119131195) + 1)|0; + $533 = HEAP32[$482>>2]|0; + $534 = ($532|0)<($533|0); + if ($534) { + $$119131195 = $532; + } else { + $$lcssa1061 = $533; + break; + } + } + } else { + $$lcssa1061 = $516; + } + } while(0); + $535 = ($$lcssa1061|0)>($$09291199|0); + $$$0929 = $535 ? $$lcssa1061 : $$09291199; + $536 = (($$38941200) + 1)|0; + $537 = HEAP32[$383>>2]|0; + $538 = ($536|0)<($537|0); + if ($538) { + $$09291199 = $$$0929;$$38941200 = $536; + } else { + label = 190; + break; + } + } + if ((label|0) == 162) { + _error($0,20); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + else if ((label|0) == 164) { + $396 = HEAP32[$386>>2]|0; + $397 = (_get_bits($0,8)|0); + $398 = $397&255; + $399 = (($396) + (($$38941200*1596)|0)|0); + HEAP8[$399>>0] = $398; + $400 = (_get_bits($0,16)|0); + $401 = $400&65535; + $402 = (((($396) + (($$38941200*1596)|0)|0)) + 2|0); + HEAP16[$402>>1] = $401; + $403 = (_get_bits($0,16)|0); + $404 = $403&65535; + $405 = (((($396) + (($$38941200*1596)|0)|0)) + 4|0); + HEAP16[$405>>1] = $404; + $406 = (_get_bits($0,6)|0); + $407 = $406&255; + $408 = (((($396) + (($$38941200*1596)|0)|0)) + 6|0); + HEAP8[$408>>0] = $407; + $409 = (_get_bits($0,8)|0); + $410 = $409&255; + $411 = (((($396) + (($$38941200*1596)|0)|0)) + 7|0); + HEAP8[$411>>0] = $410; + $412 = (_get_bits($0,4)|0); + $413 = (($412) + 1)|0; + $414 = $413&255; + $415 = (((($396) + (($$38941200*1596)|0)|0)) + 8|0); + HEAP8[$415>>0] = $414; + $416 = $413 & 255; + $417 = ($416|0)==(0); + if (!($417)) { + $418 = (((($396) + (($$38941200*1596)|0)|0)) + 9|0); + $$59071118 = 0; + while(1) { + $419 = (_get_bits($0,8)|0); + $420 = $419&255; + $421 = (($418) + ($$59071118)|0); + HEAP8[$421>>0] = $420; + $422 = (($$59071118) + 1)|0; + $423 = HEAP8[$415>>0]|0; + $424 = $423&255; + $425 = ($422|0)<($424|0); + if ($425) { + $$59071118 = $422; + } else { + break; + } + } + } + _error($0,4); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + else if ((label|0) == 173) { + _error($0,20); + } + else if ((label|0) == 176) { + _error($0,20); + } + else if ((label|0) == 190) { + $phitmp1297 = $$$0929 << 1; + $$0929$lcssa = $phitmp1297; + break; + } + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } else { + $$0929$lcssa = 0; + } + } while(0); + $539 = (_get_bits($0,6)|0); + $540 = (($539) + 1)|0; + $541 = ((($0)) + 264|0); + HEAP32[$541>>2] = $540; + $542 = ($540*24)|0; + $543 = (_setup_malloc($0,$542)|0); + $544 = ((($0)) + 396|0); + HEAP32[$544>>2] = $543; + $545 = ($543|0)==(0|0); + if ($545) { + _error($0,3); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + $546 = HEAP32[$541>>2]|0; + $547 = ($546*24)|0; + _memset(($543|0),0,($547|0))|0; + $548 = HEAP32[$541>>2]|0; + $549 = ($548|0)>(0); + L328: do { + if ($549) { + $$48951165 = 0; + L330: while(1) { + $550 = HEAP32[$544>>2]|0; + $551 = (_get_bits($0,16)|0); + $552 = $551&65535; + $553 = (((($0)) + 268|0) + ($$48951165<<1)|0); + HEAP16[$553>>1] = $552; + $554 = $551 & 65535; + $555 = ($554>>>0)>(2); + if ($555) { + label = 196; + break; + } + $556 = (_get_bits($0,24)|0); + $557 = (($550) + (($$48951165*24)|0)|0); + HEAP32[$557>>2] = $556; + $558 = (_get_bits($0,24)|0); + $559 = (((($550) + (($$48951165*24)|0)|0)) + 4|0); + HEAP32[$559>>2] = $558; + $560 = HEAP32[$557>>2]|0; + $561 = ($558>>>0)<($560>>>0); + if ($561) { + label = 198; + break; + } + $562 = (_get_bits($0,24)|0); + $563 = (($562) + 1)|0; + $564 = (((($550) + (($$48951165*24)|0)|0)) + 8|0); + HEAP32[$564>>2] = $563; + $565 = (_get_bits($0,6)|0); + $566 = (($565) + 1)|0; + $567 = $566&255; + $568 = (((($550) + (($$48951165*24)|0)|0)) + 12|0); + HEAP8[$568>>0] = $567; + $569 = (_get_bits($0,8)|0); + $570 = $569&255; + $571 = (((($550) + (($$48951165*24)|0)|0)) + 13|0); + HEAP8[$571>>0] = $570; + $572 = $569 & 255; + $573 = HEAP32[$91>>2]|0; + $574 = ($572|0)<($573|0); + if (!($574)) { + label = 201; + break; + } + $575 = HEAP8[$568>>0]|0; + $576 = $575&255; + $577 = ($575<<24>>24)==(0); + if ($577) { + $$lcssa = $576; + } else { + $$129141148 = 0; + while(1) { + $578 = (_get_bits($0,3)|0); + $579 = (_get_bits($0,1)|0); + $580 = ($579|0)==(0); + if ($580) { + $$0957 = 0; + } else { + $581 = (_get_bits($0,5)|0); + $$0957 = $581; + } + $582 = $$0957 << 3; + $583 = (($582) + ($578))|0; + $584 = $583&255; + $585 = (($2) + ($$129141148)|0); + HEAP8[$585>>0] = $584; + $586 = (($$129141148) + 1)|0; + $587 = HEAP8[$568>>0]|0; + $588 = $587&255; + $589 = ($586|0)<($588|0); + if ($589) { + $$129141148 = $586; + } else { + $$lcssa = $588; + break; + } + } + } + $590 = $$lcssa << 4; + $591 = (_setup_malloc($0,$590)|0); + $592 = (((($550) + (($$48951165*24)|0)|0)) + 20|0); + HEAP32[$592>>2] = $591; + $593 = ($591|0)==(0|0); + if ($593) { + label = 207; + break; + } + $594 = HEAP8[$568>>0]|0; + $595 = ($594<<24>>24)==(0); + if (!($595)) { + $$139151153 = 0; + while(1) { + $596 = (($2) + ($$139151153)|0); + $597 = HEAP8[$596>>0]|0; + $598 = $597&255; + $$39231152 = 0; + while(1) { + $599 = 1 << $$39231152; + $600 = $598 & $599; + $601 = ($600|0)==(0); + if ($601) { + $612 = HEAP32[$592>>2]|0; + $613 = ((($612) + ($$139151153<<4)|0) + ($$39231152<<1)|0); + HEAP16[$613>>1] = -1; + } else { + $602 = (_get_bits($0,8)|0); + $603 = $602&65535; + $604 = HEAP32[$592>>2]|0; + $605 = ((($604) + ($$139151153<<4)|0) + ($$39231152<<1)|0); + HEAP16[$605>>1] = $603; + $606 = HEAP32[$592>>2]|0; + $607 = ((($606) + ($$139151153<<4)|0) + ($$39231152<<1)|0); + $608 = HEAP16[$607>>1]|0; + $609 = $608 << 16 >> 16; + $610 = HEAP32[$91>>2]|0; + $611 = ($609|0)<($610|0); + if (!($611)) { + label = 211; + break L330; + } + } + $614 = (($$39231152) + 1)|0; + $615 = ($614|0)<(8); + if ($615) { + $$39231152 = $614; + } else { + break; + } + } + $616 = (($$139151153) + 1)|0; + $617 = HEAP8[$568>>0]|0; + $618 = $617&255; + $619 = ($616|0)<($618|0); + if ($619) { + $$139151153 = $616; + } else { + break; + } + } + } + $620 = HEAP32[$94>>2]|0; + $621 = HEAP8[$571>>0]|0; + $622 = $621&255; + $623 = (((($620) + (($622*2096)|0)|0)) + 4|0); + $624 = HEAP32[$623>>2]|0; + $625 = $624 << 2; + $626 = (_setup_malloc($0,$625)|0); + $627 = (((($550) + (($$48951165*24)|0)|0)) + 16|0); + HEAP32[$627>>2] = $626; + $628 = ($626|0)==(0|0); + if ($628) { + label = 216; + break; + } + $629 = HEAP32[$94>>2]|0; + $630 = HEAP8[$571>>0]|0; + $631 = $630&255; + $632 = (((($629) + (($631*2096)|0)|0)) + 4|0); + $633 = HEAP32[$632>>2]|0; + $634 = $633 << 2; + _memset(($626|0),0,($634|0))|0; + $635 = HEAP32[$94>>2]|0; + $636 = HEAP8[$571>>0]|0; + $637 = $636&255; + $638 = (((($635) + (($637*2096)|0)|0)) + 4|0); + $639 = HEAP32[$638>>2]|0; + $640 = ($639|0)>(0); + if ($640) { + $$149161160 = 0;$642 = $635;$643 = $637; + while(1) { + $641 = (($642) + (($643*2096)|0)|0); + $644 = HEAP32[$641>>2]|0; + $645 = (_setup_malloc($0,$644)|0); + $646 = HEAP32[$627>>2]|0; + $647 = (($646) + ($$149161160<<2)|0); + HEAP32[$647>>2] = $645; + $648 = HEAP32[$627>>2]|0; + $649 = (($648) + ($$149161160<<2)|0); + $650 = HEAP32[$649>>2]|0; + $651 = ($650|0)==(0|0); + if ($651) { + label = 221; + break L330; + } + $652 = ($644|0)>(0); + if ($652) { + $$09501156 = $$149161160;$$49241157$in = $644; + while(1) { + $$49241157 = (($$49241157$in) + -1)|0; + $653 = HEAP8[$568>>0]|0; + $654 = $653&255; + $655 = (($$09501156|0) % ($654|0))&-1; + $656 = $655&255; + $657 = HEAP32[$627>>2]|0; + $658 = (($657) + ($$149161160<<2)|0); + $659 = HEAP32[$658>>2]|0; + $660 = (($659) + ($$49241157)|0); + HEAP8[$660>>0] = $656; + $661 = HEAP8[$568>>0]|0; + $662 = $661&255; + $663 = (($$09501156|0) / ($662|0))&-1; + $664 = ($$49241157$in|0)>(1); + if ($664) { + $$09501156 = $663;$$49241157$in = $$49241157; + } else { + break; + } + } + } + $665 = (($$149161160) + 1)|0; + $666 = HEAP32[$94>>2]|0; + $667 = HEAP8[$571>>0]|0; + $668 = $667&255; + $669 = (((($666) + (($668*2096)|0)|0)) + 4|0); + $670 = HEAP32[$669>>2]|0; + $671 = ($665|0)<($670|0); + if ($671) { + $$149161160 = $665;$642 = $666;$643 = $668; + } else { + break; + } + } + } + $672 = (($$48951165) + 1)|0; + $673 = HEAP32[$541>>2]|0; + $674 = ($672|0)<($673|0); + if ($674) { + $$48951165 = $672; + } else { + break L328; + } + } + if ((label|0) == 196) { + _error($0,20); + } + else if ((label|0) == 198) { + _error($0,20); + } + else if ((label|0) == 201) { + _error($0,20); + } + else if ((label|0) == 207) { + _error($0,3); + } + else if ((label|0) == 211) { + _error($0,20); + } + else if ((label|0) == 216) { + _error($0,3); + } + else if ((label|0) == 221) { + _error($0,3); + } + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + } while(0); + $675 = (_get_bits($0,6)|0); + $676 = (($675) + 1)|0; + $677 = ((($0)) + 400|0); + HEAP32[$677>>2] = $676; + $678 = ($676*40)|0; + $679 = (_setup_malloc($0,$678)|0); + $680 = ((($0)) + 404|0); + HEAP32[$680>>2] = $679; + $681 = ($679|0)==(0|0); + if ($681) { + _error($0,3); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + $682 = HEAP32[$677>>2]|0; + $683 = ($682*40)|0; + _memset(($679|0),0,($683|0))|0; + $684 = HEAP32[$677>>2]|0; + $685 = ($684|0)>(0); + L379: do { + if ($685) { + $$58961143 = 0; + L380: while(1) { + $686 = HEAP32[$680>>2]|0; + $687 = (($686) + (($$58961143*40)|0)|0); + $688 = (_get_bits($0,16)|0); + $689 = ($688|0)==(0); + if (!($689)) { + label = 229; + break; + } + $690 = HEAP32[$32>>2]|0; + $691 = ($690*3)|0; + $692 = (_setup_malloc($0,$691)|0); + $693 = (((($686) + (($$58961143*40)|0)|0)) + 4|0); + HEAP32[$693>>2] = $692; + $694 = ($692|0)==(0|0); + if ($694) { + label = 231; + break; + } + $695 = (_get_bits($0,1)|0); + $696 = ($695|0)==(0); + if ($696) { + $$sink26 = 1; + } else { + $697 = (_get_bits($0,4)|0); + $698 = (($697) + 1)|0; + $699 = $698&255; + $$sink26 = $699; + } + $700 = (((($686) + (($$58961143*40)|0)|0)) + 8|0); + HEAP8[$700>>0] = $$sink26; + $701 = (_get_bits($0,1)|0); + $702 = ($701|0)==(0); + do { + if ($702) { + HEAP16[$687>>1] = 0; + } else { + $703 = (_get_bits($0,8)|0); + $704 = (($703) + 1)|0; + $705 = $704&65535; + HEAP16[$687>>1] = $705; + $706 = $704 & 65535; + $707 = ($706|0)==(0); + if ($707) { + break; + } else { + $$59251132 = 0; + } + while(1) { + $712 = HEAP32[$32>>2]|0; + $713 = (($712) + -1)|0; + $714 = (_ilog($713)|0); + $715 = (_get_bits($0,$714)|0); + $716 = $715&255; + $717 = HEAP32[$693>>2]|0; + $718 = (($717) + (($$59251132*3)|0)|0); + HEAP8[$718>>0] = $716; + $719 = HEAP32[$32>>2]|0; + $720 = (($719) + -1)|0; + $721 = (_ilog($720)|0); + $722 = (_get_bits($0,$721)|0); + $723 = $722&255; + $724 = HEAP32[$693>>2]|0; + $725 = (((($724) + (($$59251132*3)|0)|0)) + 1|0); + HEAP8[$725>>0] = $723; + $726 = HEAP32[$693>>2]|0; + $727 = (($726) + (($$59251132*3)|0)|0); + $728 = HEAP8[$727>>0]|0; + $729 = $728&255; + $730 = HEAP32[$32>>2]|0; + $731 = ($729|0)<($730|0); + if (!($731)) { + label = 238; + break L380; + } + $732 = (((($726) + (($$59251132*3)|0)|0)) + 1|0); + $733 = HEAP8[$732>>0]|0; + $734 = $733&255; + $735 = ($734|0)<($730|0); + if (!($735)) { + label = 240; + break L380; + } + $736 = ($728<<24>>24)==($733<<24>>24); + $711 = (($$59251132) + 1)|0; + if ($736) { + label = 242; + break L380; + } + $708 = HEAP16[$687>>1]|0; + $709 = $708&65535; + $710 = ($711|0)<($709|0); + if ($710) { + $$59251132 = $711; + } else { + break; + } + } + } + } while(0); + $737 = (_get_bits($0,2)|0); + $738 = ($737|0)==(0); + if (!($738)) { + label = 245; + break; + } + $739 = HEAP8[$700>>0]|0; + $740 = ($739&255)>(1); + $741 = HEAP32[$32>>2]|0; + $742 = ($741|0)>(0); + do { + if ($740) { + if ($742) { + $$159171137 = 0; + } else { + break; + } + while(1) { + $750 = (_get_bits($0,4)|0); + $751 = $750&255; + $752 = HEAP32[$693>>2]|0; + $753 = (((($752) + (($$159171137*3)|0)|0)) + 2|0); + HEAP8[$753>>0] = $751; + $754 = HEAP32[$693>>2]|0; + $755 = (((($754) + (($$159171137*3)|0)|0)) + 2|0); + $756 = HEAP8[$755>>0]|0; + $757 = HEAP8[$700>>0]|0; + $758 = ($756&255)<($757&255); + $747 = (($$159171137) + 1)|0; + if (!($758)) { + label = 253; + break L380; + } + $745 = HEAP32[$32>>2]|0; + $746 = ($747|0)<($745|0); + if ($746) { + $$159171137 = $747; + } else { + break; + } + } + } else { + if (!($742)) { + break; + } + $743 = HEAP32[$693>>2]|0; + $744 = HEAP32[$32>>2]|0; + $$169181135 = 0; + while(1) { + $759 = (((($743) + (($$169181135*3)|0)|0)) + 2|0); + HEAP8[$759>>0] = 0; + $760 = (($$169181135) + 1)|0; + $761 = ($760|0)<($744|0); + if ($761) { + $$169181135 = $760; + } else { + break; + } + } + } + } while(0); + $748 = HEAP8[$700>>0]|0; + $749 = ($748<<24>>24)==(0); + if (!($749)) { + $$179191139 = 0; + while(1) { + (_get_bits($0,8)|0); + $766 = (_get_bits($0,8)|0); + $767 = $766&255; + $768 = ((((($686) + (($$58961143*40)|0)|0)) + 9|0) + ($$179191139)|0); + HEAP8[$768>>0] = $767; + $769 = (_get_bits($0,8)|0); + $770 = $769&255; + $771 = ((((($686) + (($$58961143*40)|0)|0)) + 24|0) + ($$179191139)|0); + HEAP8[$771>>0] = $770; + $772 = HEAP8[$768>>0]|0; + $773 = $772&255; + $774 = HEAP32[$383>>2]|0; + $775 = ($773|0)<($774|0); + if (!($775)) { + label = 257; + break L380; + } + $776 = $769 & 255; + $777 = HEAP32[$541>>2]|0; + $778 = ($776|0)<($777|0); + $765 = (($$179191139) + 1)|0; + if (!($778)) { + label = 259; + break L380; + } + $762 = HEAP8[$700>>0]|0; + $763 = $762&255; + $764 = ($765|0)<($763|0); + if ($764) { + $$179191139 = $765; + } else { + break; + } + } + } + $779 = (($$58961143) + 1)|0; + $780 = HEAP32[$677>>2]|0; + $781 = ($779|0)<($780|0); + if ($781) { + $$58961143 = $779; + } else { + break L379; + } + } + if ((label|0) == 229) { + _error($0,20); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + else if ((label|0) == 231) { + _error($0,3); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + else if ((label|0) == 238) { + _error($0,20); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + else if ((label|0) == 240) { + _error($0,20); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + else if ((label|0) == 242) { + _error($0,20); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + else if ((label|0) == 245) { + _error($0,20); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + else if ((label|0) == 253) { + _error($0,20); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + else if ((label|0) == 257) { + _error($0,20); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + else if ((label|0) == 259) { + _error($0,20); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + } + } while(0); + $782 = (_get_bits($0,6)|0); + $783 = (($782) + 1)|0; + $784 = ((($0)) + 408|0); + HEAP32[$784>>2] = $783; + $785 = ($783|0)>(0); + L433: do { + if ($785) { + $$68971128 = 0; + while(1) { + $789 = (_get_bits($0,1)|0); + $790 = $789&255; + $791 = (((($0)) + 412|0) + (($$68971128*6)|0)|0); + HEAP8[$791>>0] = $790; + $792 = (_get_bits($0,16)|0); + $793 = $792&65535; + $794 = (((((($0)) + 412|0) + (($$68971128*6)|0)|0)) + 2|0); + HEAP16[$794>>1] = $793; + $795 = (_get_bits($0,16)|0); + $796 = $795&65535; + $797 = (((((($0)) + 412|0) + (($$68971128*6)|0)|0)) + 4|0); + HEAP16[$797>>1] = $796; + $798 = (_get_bits($0,8)|0); + $799 = $798&255; + $800 = (((((($0)) + 412|0) + (($$68971128*6)|0)|0)) + 1|0); + HEAP8[$800>>0] = $799; + $801 = HEAP16[$794>>1]|0; + $802 = ($801<<16>>16)==(0); + if (!($802)) { + label = 264; + break; + } + $803 = HEAP16[$797>>1]|0; + $804 = ($803<<16>>16)==(0); + if (!($804)) { + label = 266; + break; + } + $805 = $798 & 255; + $806 = HEAP32[$677>>2]|0; + $807 = ($805|0)<($806|0); + $788 = (($$68971128) + 1)|0; + if (!($807)) { + label = 268; + break; + } + $786 = HEAP32[$784>>2]|0; + $787 = ($788|0)<($786|0); + if ($787) { + $$68971128 = $788; + } else { + break L433; + } + } + if ((label|0) == 264) { + _error($0,20); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + else if ((label|0) == 266) { + _error($0,20); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + else if ((label|0) == 268) { + _error($0,20); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + } + } while(0); + _flush_packet($0); + $808 = ((($0)) + 992|0); + HEAP32[$808>>2] = 0; + $809 = HEAP32[$32>>2]|0; + $810 = ($809|0)>(0); + L447: do { + if ($810) { + $$78981124 = 0; + while(1) { + $814 = HEAP32[$44>>2]|0; + $815 = $814 << 2; + $816 = (_setup_malloc($0,$815)|0); + $817 = (((($0)) + 800|0) + ($$78981124<<2)|0); + HEAP32[$817>>2] = $816; + $818 = HEAP32[$44>>2]|0; + $819 = $818 << 1; + $820 = $819 & 2147483646; + $821 = (_setup_malloc($0,$820)|0); + $822 = (((($0)) + 928|0) + ($$78981124<<2)|0); + HEAP32[$822>>2] = $821; + $823 = (_setup_malloc($0,$$0929$lcssa)|0); + $824 = (((($0)) + 996|0) + ($$78981124<<2)|0); + HEAP32[$824>>2] = $823; + $825 = HEAP32[$817>>2]|0; + $826 = ($825|0)==(0|0); + if ($826) { + break; + } + $827 = HEAP32[$822>>2]|0; + $828 = ($827|0)==(0|0); + $829 = ($823|0)==(0|0); + $or$cond991 = $829 | $828; + $813 = (($$78981124) + 1)|0; + if ($or$cond991) { + break; + } + $811 = HEAP32[$32>>2]|0; + $812 = ($813|0)<($811|0); + if ($812) { + $$78981124 = $813; + } else { + break L447; + } + } + _error($0,3); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + } while(0); + $830 = HEAP32[$42>>2]|0; + $831 = (_init_blocksize($0,0,$830)|0); + $832 = ($831|0)==(0); + if ($832) { + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + $833 = HEAP32[$44>>2]|0; + $834 = (_init_blocksize($0,1,$833)|0); + $835 = ($834|0)==(0); + if ($835) { + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + $836 = HEAP32[$42>>2]|0; + $837 = ((($0)) + 104|0); + HEAP32[$837>>2] = $836; + $838 = HEAP32[$44>>2]|0; + $839 = ((($0)) + 108|0); + HEAP32[$839>>2] = $838; + $840 = $838 << 1; + $841 = $840 & 2147483646; + $842 = HEAP32[$541>>2]|0; + $843 = ($842|0)>(0); + if ($843) { + $844 = HEAP32[$544>>2]|0; + $845 = HEAP32[$541>>2]|0; + $$08991120 = 0;$$09011119 = 0; + while(1) { + $846 = (((($844) + (($$09011119*24)|0)|0)) + 4|0); + $847 = HEAP32[$846>>2]|0; + $848 = (($844) + (($$09011119*24)|0)|0); + $849 = HEAP32[$848>>2]|0; + $850 = (($847) - ($849))|0; + $851 = (((($844) + (($$09011119*24)|0)|0)) + 8|0); + $852 = HEAP32[$851>>2]|0; + $853 = (($850>>>0) / ($852>>>0))&-1; + $854 = ($853|0)>($$08991120|0); + $$$0899 = $854 ? $853 : $$08991120; + $855 = (($$09011119) + 1)|0; + $856 = ($855|0)<($845|0); + if ($856) { + $$08991120 = $$$0899;$$09011119 = $855; + } else { + break; + } + } + $phitmp = $$$0899 << 2; + $phitmp1296 = (($phitmp) + 4)|0; + $$0899$lcssa = $phitmp1296; + } else { + $$0899$lcssa = 4; + } + $857 = HEAP32[$32>>2]|0; + $858 = Math_imul($857, $$0899$lcssa)|0; + $859 = ((($0)) + 12|0); + $860 = ($841>>>0)>($858>>>0); + $$ = $860 ? $841 : $858; + HEAP32[$859>>2] = $$; + $861 = ((($0)) + 1377|0); + HEAP8[$861>>0] = 1; + $862 = ((($0)) + 80|0); + $863 = HEAP32[$862>>2]|0; + $864 = ($863|0)==(0|0); + do { + if (!($864)) { + $865 = ((($0)) + 92|0); + $866 = HEAP32[$865>>2]|0; + $867 = ((($0)) + 84|0); + $868 = HEAP32[$867>>2]|0; + $869 = ($866|0)==($868|0); + if (!($869)) { + ___assert_fail((17463|0),(16959|0),3714,(17519|0)); + // unreachable; + } + $870 = ((($0)) + 88|0); + $871 = HEAP32[$870>>2]|0; + $872 = (($871) + 1512)|0; + $873 = HEAP32[$859>>2]|0; + $874 = (($872) + ($873))|0; + $875 = ($874>>>0)>($866>>>0); + if (!($875)) { + break; + } + _error($0,3); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + } while(0); + $876 = (_stb_vorbis_get_file_offset($0)|0); + $877 = ((($0)) + 52|0); + HEAP32[$877>>2] = $876; + $$34 = 1; + STACKTOP = sp;return ($$34|0); +} +function _vorbis_alloc($0) { + $0 = $0|0; + var $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (_setup_malloc($0,1512)|0); + return ($1|0); +} +function _vorbis_pump_first_frame($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $1 = sp + 8|0; + $2 = sp + 4|0; + $3 = sp; + $4 = (_vorbis_decode_packet($0,$1,$3,$2)|0); + $5 = ($4|0)==(0); + if ($5) { + STACKTOP = sp;return ($4|0); + } + $6 = HEAP32[$1>>2]|0; + $7 = HEAP32[$3>>2]|0; + $8 = HEAP32[$2>>2]|0; + (_vorbis_finish_frame($0,$6,$7,$8)|0); + STACKTOP = sp;return ($4|0); +} +function _setup_malloc($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = (($1) + 3)|0; + $3 = $2 & -4; + $4 = ((($0)) + 8|0); + $5 = HEAP32[$4>>2]|0; + $6 = (($5) + ($3))|0; + HEAP32[$4>>2] = $6; + $7 = ((($0)) + 80|0); + $8 = HEAP32[$7>>2]|0; + $9 = ($8|0)==(0|0); + if ($9) { + $17 = ($3|0)==(0); + if ($17) { + $$1 = 0; + return ($$1|0); + } + $18 = (_malloc($3)|0); + $$1 = $18; + return ($$1|0); + } else { + $10 = ((($0)) + 88|0); + $11 = HEAP32[$10>>2]|0; + $12 = (($11) + ($3))|0; + $13 = ((($0)) + 92|0); + $14 = HEAP32[$13>>2]|0; + $15 = ($12|0)>($14|0); + if ($15) { + $$1 = 0; + return ($$1|0); + } + $16 = (($8) + ($11)|0); + HEAP32[$10>>2] = $12; + $$1 = $16; + return ($$1|0); + } + return (0)|0; +} +function _vorbis_validate($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (_memcmp($0,17835,6)|0); + $2 = ($1|0)==(0); + $3 = $2&1; + return ($3|0); +} +function _skip($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($0)) + 32|0); + $3 = HEAP32[$2>>2]|0; + $4 = ($3|0)==(0|0); + if ($4) { + $10 = ((($0)) + 20|0); + $11 = HEAP32[$10>>2]|0; + $12 = (_ftell($11)|0); + $13 = HEAP32[$10>>2]|0; + $14 = (($12) + ($1))|0; + (_fseek($13,$14,0)|0); + return; + } + $5 = (($3) + ($1)|0); + HEAP32[$2>>2] = $5; + $6 = ((($0)) + 40|0); + $7 = HEAP32[$6>>2]|0; + $8 = ($5>>>0)<($7>>>0); + if ($8) { + return; + } + $9 = ((($0)) + 96|0); + HEAP32[$9>>2] = 1; + return; +} +function _is_whole_packet_present($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$$068 = 0, $$$3 = 0, $$068$lcssa = 0, $$06892 = 0, $$07291 = 0, $$078 = 0, $$078$ph = 0, $$173 = 0, $$2 = 0, $$270 = 0, $$270$ph = 0, $$274 = 0, $$274$ph = 0, $$3$lcssa = 0, $$37585 = 0, $$386 = 0, $$476 = 0, $$lcssa = 0, $10 = 0, $11 = 0; + var $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0; + var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0; + var $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0; + var $67 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond82 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($0)) + 1380|0); + $3 = HEAP32[$2>>2]|0; + $4 = ((($0)) + 32|0); + $5 = HEAP32[$4>>2]|0; + $6 = ($3|0)==(-1); + if ($6) { + $$078$ph = 1;$$270$ph = -1;$$274$ph = $5; + } else { + $7 = ((($0)) + 1116|0); + $8 = HEAP32[$7>>2]|0; + $9 = ($3|0)<($8|0); + L3: do { + if ($9) { + $$06892 = $3;$$07291 = $5;$67 = $8; + while(1) { + $10 = (((($0)) + 1120|0) + ($$06892)|0); + $11 = HEAP8[$10>>0]|0; + $12 = $11&255; + $13 = (($$07291) + ($12)|0); + $14 = ($11<<24>>24)==(-1); + if (!($14)) { + $$068$lcssa = $$06892;$$173 = $13;$$lcssa = $67; + break L3; + } + $15 = (($$06892) + 1)|0; + $16 = HEAP32[$7>>2]|0; + $17 = ($15|0)<($16|0); + if ($17) { + $$06892 = $15;$$07291 = $13;$67 = $16; + } else { + $$068$lcssa = $15;$$173 = $13;$$lcssa = $16; + break; + } + } + } else { + $$068$lcssa = $3;$$173 = $5;$$lcssa = $8; + } + } while(0); + $18 = ($1|0)!=(0); + $19 = (($$lcssa) + -1)|0; + $20 = ($$068$lcssa|0)<($19|0); + $or$cond = $18 & $20; + if ($or$cond) { + _error($0,21); + $$2 = 0; + return ($$2|0); + } + $21 = ($$068$lcssa|0)==($$lcssa|0); + $$$068 = $21 ? -1 : $$068$lcssa; + $22 = ((($0)) + 40|0); + $23 = HEAP32[$22>>2]|0; + $24 = ($$173>>>0)>($23>>>0); + if ($24) { + _error($0,1); + $$2 = 0; + return ($$2|0); + } else { + $$078$ph = 0;$$270$ph = $$$068;$$274$ph = $$173; + } + } + $25 = ((($0)) + 40|0); + $26 = ($1|0)!=(0); + $27 = ((($0)) + 992|0); + $$078 = $$078$ph;$$270 = $$270$ph;$$274 = $$274$ph; + while(1) { + $28 = ($$270|0)==(-1); + if (!($28)) { + $$2 = 1; + label = 32; + break; + } + $29 = ((($$274)) + 26|0); + $30 = HEAP32[$25>>2]|0; + $31 = ($29>>>0)<($30>>>0); + if (!($31)) { + label = 12; + break; + } + $32 = (_memcmp($$274,4796,4)|0); + $33 = ($32|0)==(0); + if (!($33)) { + label = 14; + break; + } + $34 = ((($$274)) + 4|0); + $35 = HEAP8[$34>>0]|0; + $36 = ($35<<24>>24)==(0); + if (!($36)) { + label = 16; + break; + } + $37 = ($$078|0)==(0); + if ($37) { + $44 = ((($$274)) + 5|0); + $45 = HEAP8[$44>>0]|0; + $46 = $45 & 1; + $47 = ($46<<24>>24)==(0); + if ($47) { + label = 22; + break; + } + } else { + $38 = HEAP32[$27>>2]|0; + $39 = ($38|0)==(0); + if (!($39)) { + $40 = ((($$274)) + 5|0); + $41 = HEAP8[$40>>0]|0; + $42 = $41 & 1; + $43 = ($42<<24>>24)==(0); + if (!($43)) { + label = 20; + break; + } + } + } + $48 = HEAP8[$29>>0]|0; + $49 = $48&255; + $50 = ((($$274)) + 27|0); + $51 = (($50) + ($49)|0); + $52 = HEAP32[$25>>2]|0; + $53 = ($51>>>0)>($52>>>0); + if ($53) { + label = 25; + break; + } + $54 = ($48<<24>>24)==(0); + L27: do { + if ($54) { + $$3$lcssa = 0;$$476 = $51; + } else { + $$37585 = $51;$$386 = 0; + while(1) { + $55 = (($50) + ($$386)|0); + $56 = HEAP8[$55>>0]|0; + $57 = $56&255; + $58 = (($$37585) + ($57)|0); + $59 = ($56<<24>>24)==(-1); + if (!($59)) { + $$3$lcssa = $$386;$$476 = $58; + break L27; + } + $60 = (($$386) + 1)|0; + $61 = ($60|0)<($49|0); + if ($61) { + $$37585 = $58;$$386 = $60; + } else { + $$3$lcssa = $60;$$476 = $58; + break; + } + } + } + } while(0); + $62 = (($49) + -1)|0; + $63 = ($$3$lcssa|0)<($62|0); + $or$cond82 = $26 & $63; + if ($or$cond82) { + label = 29; + break; + } + $64 = ($$3$lcssa|0)==($49|0); + $$$3 = $64 ? -1 : $$3$lcssa; + $65 = HEAP32[$25>>2]|0; + $66 = ($$476>>>0)>($65>>>0); + if ($66) { + label = 31; + break; + } else { + $$078 = 0;$$270 = $$$3;$$274 = $$476; + } + } + if ((label|0) == 12) { + _error($0,1); + $$2 = 0; + return ($$2|0); + } + else if ((label|0) == 14) { + _error($0,21); + $$2 = 0; + return ($$2|0); + } + else if ((label|0) == 16) { + _error($0,21); + $$2 = 0; + return ($$2|0); + } + else if ((label|0) == 20) { + _error($0,21); + $$2 = 0; + return ($$2|0); + } + else if ((label|0) == 22) { + _error($0,21); + $$2 = 0; + return ($$2|0); + } + else if ((label|0) == 25) { + _error($0,1); + $$2 = 0; + return ($$2|0); + } + else if ((label|0) == 29) { + _error($0,21); + $$2 = 0; + return ($$2|0); + } + else if ((label|0) == 31) { + _error($0,1); + $$2 = 0; + return ($$2|0); + } + else if ((label|0) == 32) { + return ($$2|0); + } + return (0)|0; +} +function _crc32_init() { + var $$01417 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; + var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, label = 0, sp = 0; + sp = STACKTOP; + $$01417 = 0; + while(1) { + $0 = $$01417 << 24; + $1 = $$01417 << 25; + $2 = $0 >> 31; + $3 = $2 & 79764919; + $4 = $3 ^ $1; + $5 = $4 << 1; + $6 = $1 >> 31; + $7 = $6 & 79764919; + $8 = $7 ^ $5; + $9 = $8 << 1; + $10 = $5 >> 31; + $11 = $10 & 79764919; + $12 = $11 ^ $9; + $13 = $12 << 1; + $14 = $9 >> 31; + $15 = $14 & 79764919; + $16 = $15 ^ $13; + $17 = $16 << 1; + $18 = $13 >> 31; + $19 = $18 & 79764919; + $20 = $19 ^ $17; + $21 = $20 << 1; + $22 = $17 >> 31; + $23 = $22 & 79764919; + $24 = $23 ^ $21; + $25 = $24 << 1; + $26 = $21 >> 31; + $27 = $26 & 79764919; + $28 = $27 ^ $25; + $29 = $28 << 1; + $30 = $25 >> 31; + $31 = $30 & 79764919; + $32 = $31 ^ $29; + $33 = (27728 + ($$01417<<2)|0); + HEAP32[$33>>2] = $32; + $34 = (($$01417) + 1)|0; + $exitcond = ($34|0)==(256); + if ($exitcond) { + break; + } else { + $$01417 = $34; + } + } + return; +} +function _setup_temp_free($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ((($0)) + 80|0); + $4 = HEAP32[$3>>2]|0; + $5 = ($4|0)==(0|0); + if ($5) { + _free($1); + return; + } else { + $6 = (($2) + 3)|0; + $7 = $6 & -4; + $8 = ((($0)) + 92|0); + $9 = HEAP32[$8>>2]|0; + $10 = (($9) + ($7))|0; + HEAP32[$8>>2] = $10; + return; + } +} +function _compute_codewords($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$06983 = 0, $$072$ph = 0, $$074$lcssa = 0, $$07488 = 0, $$07586 = 0, $$084 = 0, $$176 = 0, $$176$in = 0, $$176$in$ph = 0, $$2 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0; + var $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0; + var $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $6 = 0, $7 = 0; + var $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0); + $4 = sp; + dest=$4; stop=dest+128|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + $5 = ($2|0)>(0); + L1: do { + if ($5) { + $$07488 = 0; + while(1) { + $6 = (($1) + ($$07488)|0); + $7 = HEAP8[$6>>0]|0; + $8 = ($7<<24>>24)==(-1); + if (!($8)) { + $$074$lcssa = $$07488; + break L1; + } + $9 = (($$07488) + 1)|0; + $10 = ($9|0)<($2|0); + if ($10) { + $$07488 = $9; + } else { + $$074$lcssa = $9; + break; + } + } + } else { + $$074$lcssa = 0; + } + } while(0); + $11 = ($$074$lcssa|0)==($2|0); + if ($11) { + $12 = ((($0)) + 2092|0); + $13 = HEAP32[$12>>2]|0; + $14 = ($13|0)==(0); + if ($14) { + $$2 = 1; + STACKTOP = sp;return ($$2|0); + } else { + ___assert_fail((17732|0),(16959|0),665,(17755|0)); + // unreachable; + } + } + $15 = (($1) + ($$074$lcssa)|0); + $16 = HEAP8[$15>>0]|0; + $17 = $16&255; + _add_entry($0,0,$$074$lcssa,0,$17,$3); + $18 = HEAP8[$15>>0]|0; + $19 = ($18<<24>>24)==(0); + if ($19) { + $$072$ph = 1;$$176$in$ph = $$074$lcssa; + } else { + $20 = HEAP8[$15>>0]|0; + $21 = $20&255; + $$07586 = 1; + while(1) { + $22 = (32 - ($$07586))|0; + $23 = 1 << $22; + $24 = (($4) + ($$07586<<2)|0); + HEAP32[$24>>2] = $23; + $25 = (($$07586) + 1)|0; + $26 = ($$07586|0)<($21|0); + if ($26) { + $$07586 = $25; + } else { + $$072$ph = 1;$$176$in$ph = $$074$lcssa; + break; + } + } + } + L16: while(1) { + $$176$in = $$176$in$ph; + L18: while(1) { + $$176 = (($$176$in) + 1)|0; + $27 = ($$176|0)<($2|0); + if (!($27)) { + $$2 = 1; + label = 25; + break L16; + } + $28 = (($1) + ($$176)|0); + $29 = HEAP8[$28>>0]|0; + switch ($29<<24>>24) { + case 0: { + $$2 = 0; + label = 25; + break L16; + break; + } + case -1: { + $$176$in = $$176; + break; + } + default: { + break L18; + } + } + } + $30 = $29&255; + $$06983 = $30; + while(1) { + $31 = (($4) + ($$06983<<2)|0); + $32 = HEAP32[$31>>2]|0; + $33 = ($32|0)==(0); + if (!($33)) { + break; + } + $34 = (($$06983) + -1)|0; + $35 = ($$06983|0)>(1); + if ($35) { + $$06983 = $34; + } else { + $$2 = 0; + label = 25; + break L16; + } + } + $36 = (($4) + ($$06983<<2)|0); + $37 = HEAP32[$36>>2]|0; + $38 = ($$06983>>>0)<(32); + if (!($38)) { + label = 17; + break; + } + HEAP32[$36>>2] = 0; + $39 = (_bit_reverse($37)|0); + $40 = (($$072$ph) + 1)|0; + $41 = HEAP8[$28>>0]|0; + $42 = $41&255; + _add_entry($0,$39,$$176,$$072$ph,$42,$3); + $43 = HEAP8[$28>>0]|0; + $44 = $43&255; + $45 = ($$06983|0)==($44|0); + if ($45) { + $$072$ph = $40;$$176$in$ph = $$176; + continue; + } + $46 = ($43&255)<(32); + if (!($46)) { + label = 21; + break; + } + $47 = ($44|0)>($$06983|0); + if ($47) { + $$084 = $44; + } else { + $$072$ph = $40;$$176$in$ph = $$176; + continue; + } + while(1) { + $48 = (($4) + ($$084<<2)|0); + $49 = HEAP32[$48>>2]|0; + $50 = ($49|0)==(0); + if (!($50)) { + label = 23; + break L16; + } + $51 = (32 - ($$084))|0; + $52 = 1 << $51; + $53 = (($52) + ($37))|0; + HEAP32[$48>>2] = $53; + $54 = (($$084) + -1)|0; + $55 = ($54|0)>($$06983|0); + if ($55) { + $$084 = $54; + } else { + $$072$ph = $40;$$176$in$ph = $$176; + continue L16; + } + } + } + if ((label|0) == 17) { + ___assert_fail((17773|0),(16959|0),688,(17755|0)); + // unreachable; + } + else if ((label|0) == 21) { + ___assert_fail((17790|0),(16959|0),693,(17755|0)); + // unreachable; + } + else if ((label|0) == 23) { + ___assert_fail((17817|0),(16959|0),695,(17755|0)); + // unreachable; + } + else if ((label|0) == 25) { + STACKTOP = sp;return ($$2|0); + } + return (0)|0; +} +function _compute_sorted_huffman($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$08088 = 0, $$082$lcssa = 0, $$08287 = 0, $$084$lcssa = 0, $$08495 = 0, $$096 = 0, $$1100 = 0, $$181 = 0, $$183 = 0, $$185 = 0, $$290 = 0, $$lcssa = 0, $$sink = 0, $$sink3 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0; + var $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0; + var $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0; + var $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0; + var $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0; + var $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ((($0)) + 23|0); + $4 = HEAP8[$3>>0]|0; + $5 = ($4<<24>>24)==(0); + if ($5) { + $13 = ((($0)) + 4|0); + $14 = HEAP32[$13>>2]|0; + $15 = ($14|0)>(0); + if ($15) { + $16 = ((($0)) + 32|0); + $17 = ((($0)) + 2084|0); + $$08495 = 0;$$096 = 0; + while(1) { + $18 = (($1) + ($$096)|0); + $19 = HEAP8[$18>>0]|0; + $20 = (_include_in_sort($0,$19)|0); + $21 = ($20|0)==(0); + if ($21) { + $$185 = $$08495; + } else { + $22 = HEAP32[$16>>2]|0; + $23 = (($22) + ($$096<<2)|0); + $24 = HEAP32[$23>>2]|0; + $25 = (_bit_reverse($24)|0); + $26 = HEAP32[$17>>2]|0; + $27 = (($$08495) + 1)|0; + $28 = (($26) + ($$08495<<2)|0); + HEAP32[$28>>2] = $25; + $$185 = $27; + } + $29 = (($$096) + 1)|0; + $30 = HEAP32[$13>>2]|0; + $31 = ($29|0)<($30|0); + if ($31) { + $$08495 = $$185;$$096 = $29; + } else { + $$084$lcssa = $$185; + break; + } + } + } else { + $$084$lcssa = 0; + } + $32 = ((($0)) + 2092|0); + $33 = HEAP32[$32>>2]|0; + $34 = ($$084$lcssa|0)==($33|0); + if (!($34)) { + ___assert_fail((17624|0),(16959|0),762,(17647|0)); + // unreachable; + } + } else { + $6 = ((($0)) + 2092|0); + $7 = HEAP32[$6>>2]|0; + $8 = ($7|0)>(0); + if ($8) { + $9 = ((($0)) + 32|0); + $10 = HEAP32[$9>>2]|0; + $11 = ((($0)) + 2084|0); + $12 = HEAP32[$11>>2]|0; + $$1100 = 0; + while(1) { + $35 = (($10) + ($$1100<<2)|0); + $36 = HEAP32[$35>>2]|0; + $37 = (_bit_reverse($36)|0); + $38 = (($12) + ($$1100<<2)|0); + HEAP32[$38>>2] = $37; + $39 = (($$1100) + 1)|0; + $40 = HEAP32[$6>>2]|0; + $41 = ($39|0)<($40|0); + if ($41) { + $$1100 = $39; + } else { + break; + } + } + } + } + $42 = ((($0)) + 2084|0); + $43 = HEAP32[$42>>2]|0; + $44 = ((($0)) + 2092|0); + $45 = HEAP32[$44>>2]|0; + _qsort($43,$45,4,2); + $46 = HEAP32[$42>>2]|0; + $47 = HEAP32[$44>>2]|0; + $48 = (($46) + ($47<<2)|0); + HEAP32[$48>>2] = -1; + $49 = HEAP8[$3>>0]|0; + $50 = ($49<<24>>24)!=(0); + $51 = ((($0)) + 4|0); + $$sink = $50 ? $44 : $51; + $52 = HEAP32[$$sink>>2]|0; + $53 = ($52|0)>(0); + if (!($53)) { + return; + } + $54 = ((($0)) + 32|0); + $55 = ((($0)) + 2088|0); + $56 = ((($0)) + 8|0); + $$290 = 0; + L20: while(1) { + $57 = HEAP8[$3>>0]|0; + $58 = ($57<<24>>24)==(0); + if ($58) { + $$sink3 = $$290; + } else { + $59 = (($2) + ($$290<<2)|0); + $60 = HEAP32[$59>>2]|0; + $$sink3 = $60; + } + $61 = (($1) + ($$sink3)|0); + $62 = HEAP8[$61>>0]|0; + $63 = (_include_in_sort($0,$62)|0); + $64 = ($63|0)==(0); + do { + if (!($64)) { + $65 = HEAP32[$54>>2]|0; + $66 = (($65) + ($$290<<2)|0); + $67 = HEAP32[$66>>2]|0; + $68 = (_bit_reverse($67)|0); + $69 = HEAP32[$44>>2]|0; + $70 = ($69|0)>(1); + $71 = HEAP32[$42>>2]|0; + if ($70) { + $72 = HEAP32[$42>>2]|0; + $$08088 = $69;$$08287 = 0;$76 = $71; + while(1) { + $73 = $$08088 >>> 1; + $74 = (($73) + ($$08287))|0; + $75 = (($76) + ($74<<2)|0); + $77 = HEAP32[$75>>2]|0; + $78 = ($77>>>0)>($68>>>0); + $79 = (($$08088) - ($73))|0; + $$183 = $78 ? $$08287 : $74; + $$181 = $78 ? $73 : $79; + $80 = ($$181|0)>(1); + if ($80) { + $$08088 = $$181;$$08287 = $$183;$76 = $72; + } else { + $$082$lcssa = $$183;$$lcssa = $72; + break; + } + } + } else { + $$082$lcssa = 0;$$lcssa = $71; + } + $81 = (($$lcssa) + ($$082$lcssa<<2)|0); + $82 = HEAP32[$81>>2]|0; + $83 = ($82|0)==($68|0); + if (!($83)) { + label = 21; + break L20; + } + $84 = HEAP8[$3>>0]|0; + $85 = ($84<<24>>24)==(0); + $86 = HEAP32[$55>>2]|0; + if ($85) { + $92 = (($86) + ($$082$lcssa<<2)|0); + HEAP32[$92>>2] = $$290; + break; + } else { + $87 = (($2) + ($$290<<2)|0); + $88 = HEAP32[$87>>2]|0; + $89 = (($86) + ($$082$lcssa<<2)|0); + HEAP32[$89>>2] = $88; + $90 = HEAP32[$56>>2]|0; + $91 = (($90) + ($$082$lcssa)|0); + HEAP8[$91>>0] = $62; + break; + } + } + } while(0); + $93 = (($$290) + 1)|0; + $94 = ($93|0)<($52|0); + if ($94) { + $$290 = $93; + } else { + label = 26; + break; + } + } + if ((label|0) == 21) { + ___assert_fail((17670|0),(16959|0),792,(17647|0)); + // unreachable; + } + else if ((label|0) == 26) { + return; + } +} +function _compute_accelerated_huffman($0) { + $0 = $0|0; + var $$ = 0, $$0$ph = 0, $$027 = 0, $$128 = 0, $$sink = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0; + var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, $scevgep = 0, label = 0, sp = 0; + sp = STACKTOP; + $scevgep = ((($0)) + 36|0); + _memset(($scevgep|0),-1,2048)|0; + $1 = ((($0)) + 23|0); + $2 = HEAP8[$1>>0]|0; + $3 = ($2<<24>>24)!=(0); + $4 = ((($0)) + 4|0); + $5 = ((($0)) + 2092|0); + $$sink = $3 ? $5 : $4; + $6 = HEAP32[$$sink>>2]|0; + $7 = ($6|0)<(32767); + $$ = $7 ? $6 : 32767; + $8 = ($6|0)>(0); + if (!($8)) { + return; + } + $9 = ((($0)) + 8|0); + $10 = ((($0)) + 32|0); + $11 = ((($0)) + 2084|0); + $$128 = 0; + while(1) { + $12 = HEAP32[$9>>2]|0; + $13 = (($12) + ($$128)|0); + $14 = HEAP8[$13>>0]|0; + $15 = ($14&255)<(11); + if ($15) { + $16 = HEAP8[$1>>0]|0; + $17 = ($16<<24>>24)==(0); + if ($17) { + $22 = HEAP32[$10>>2]|0; + $23 = (($22) + ($$128<<2)|0); + $24 = HEAP32[$23>>2]|0; + $$0$ph = $24; + } else { + $18 = HEAP32[$11>>2]|0; + $19 = (($18) + ($$128<<2)|0); + $20 = HEAP32[$19>>2]|0; + $21 = (_bit_reverse($20)|0); + $$0$ph = $21; + } + $25 = ($$0$ph>>>0)<(1024); + if ($25) { + $26 = $$128&65535; + $$027 = $$0$ph; + while(1) { + $27 = (((($0)) + 36|0) + ($$027<<1)|0); + HEAP16[$27>>1] = $26; + $28 = HEAP32[$9>>2]|0; + $29 = (($28) + ($$128)|0); + $30 = HEAP8[$29>>0]|0; + $31 = $30&255; + $32 = 1 << $31; + $33 = (($32) + ($$027))|0; + $34 = ($33>>>0)<(1024); + if ($34) { + $$027 = $33; + } else { + break; + } + } + } + } + $35 = (($$128) + 1)|0; + $36 = ($35|0)<($$|0); + if ($36) { + $$128 = $35; + } else { + break; + } + } + return; +} +function _float32_unpack($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0.0, $12 = 0.0, $2 = 0, $3 = 0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $1 = $0 & 2097151; + $2 = $0 >>> 21; + $3 = $2 & 1023; + $4 = ($0|0)<(0); + $5 = (+($1>>>0)); + $6 = -$5; + $7 = $4 ? $6 : $5; + $8 = $7; + $9 = $8; + $10 = (($3) + -788)|0; + $11 = (+_ldexp($9,$10)); + $12 = $11; + return (+$12); +} +function _lookup1_values($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$ = 0, $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0, $19 = 0, $2 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0, $26 = 0.0, $27 = 0.0; + var $28 = 0.0, $29 = 0, $3 = 0.0, $30 = 0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, $not$ = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = (+($0|0)); + $3 = $2; + $4 = (+Math_log((+$3))); + $5 = $4; + $6 = (+($1|0)); + $7 = $5 / $6; + $8 = $7; + $9 = (+Math_exp((+$8))); + $10 = (+Math_floor((+$9))); + $11 = (~~(($10))); + $12 = (+($11|0)); + $13 = $12 + 1.0; + $14 = $13; + $15 = (+($1|0)); + $16 = (+Math_pow((+$14),(+$15))); + $17 = (+Math_floor((+$16))); + $18 = (~~(($17))); + $not$ = ($18|0)<=($0|0); + $19 = $not$&1; + $$ = (($19) + ($11))|0; + $20 = (+($$|0)); + $21 = $20 + 1.0; + $22 = $21; + $23 = (+Math_pow((+$22),(+$15))); + $24 = (+($0|0)); + $25 = $23 > $24; + if (!($25)) { + ___assert_fail((17533|0),(16959|0),817,(17565|0)); + // unreachable; + } + $26 = $20; + $27 = (+Math_pow((+$26),(+$15))); + $28 = (+Math_floor((+$27))); + $29 = (~~(($28))); + $30 = ($29|0)>($0|0); + if ($30) { + ___assert_fail((17580|0),(16959|0),818,(17565|0)); + // unreachable; + } else { + return ($$|0); + } + return (0)|0; +} +function _point_compare($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = HEAP16[$0>>1]|0; + $3 = HEAP16[$1>>1]|0; + $4 = ($2&65535)<($3&65535); + $5 = ($2&65535)>($3&65535); + $6 = $5&1; + $7 = $4 ? -1 : $6; + return ($7|0); +} +function _neighbors($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$02933 = 0, $$03032 = 0, $$034 = 0, $$1 = 0, $$131 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, label = 0; + var sp = 0; + sp = STACKTOP; + $4 = ($1|0)>(0); + if (!($4)) { + return; + } + $5 = (($0) + ($1<<1)|0); + $6 = (($0) + ($1<<1)|0); + $$02933 = 65536;$$03032 = -1;$$034 = 0; + while(1) { + $7 = (($0) + ($$034<<1)|0); + $8 = HEAP16[$7>>1]|0; + $9 = $8&65535; + $10 = ($9|0)>($$03032|0); + if ($10) { + $11 = HEAP16[$5>>1]|0; + $12 = ($8&65535)<($11&65535); + if ($12) { + HEAP32[$2>>2] = $$034; + $$131 = $9; + } else { + $$131 = $$03032; + } + } else { + $$131 = $$03032; + } + $13 = ($9|0)<($$02933|0); + if ($13) { + $14 = HEAP16[$6>>1]|0; + $15 = ($8&65535)>($14&65535); + if ($15) { + HEAP32[$3>>2] = $$034; + $$1 = $9; + } else { + $$1 = $$02933; + } + } else { + $$1 = $$02933; + } + $16 = (($$034) + 1)|0; + $exitcond = ($16|0)==($1|0); + if ($exitcond) { + break; + } else { + $$02933 = $$1;$$03032 = $$131;$$034 = $16; + } + } + return; +} +function _init_blocksize($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0; + var $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = $2 >>> 1; + $4 = $2 & -4; + $5 = $2 >> 3; + $6 = $3 << 2; + $7 = (_setup_malloc($0,$6)|0); + $8 = (((($0)) + 1068|0) + ($1<<2)|0); + HEAP32[$8>>2] = $7; + $9 = (_setup_malloc($0,$6)|0); + $10 = (((($0)) + 1076|0) + ($1<<2)|0); + HEAP32[$10>>2] = $9; + $11 = (_setup_malloc($0,$4)|0); + $12 = (((($0)) + 1084|0) + ($1<<2)|0); + HEAP32[$12>>2] = $11; + $13 = HEAP32[$8>>2]|0; + $14 = ($13|0)==(0|0); + if (!($14)) { + $15 = HEAP32[$10>>2]|0; + $16 = ($15|0)==(0|0); + $17 = ($11|0)==(0|0); + $or$cond = $17 | $16; + if (!($or$cond)) { + _compute_twiddle_factors($2,$13,$15,$11); + $18 = (_setup_malloc($0,$6)|0); + $19 = (((($0)) + 1092|0) + ($1<<2)|0); + HEAP32[$19>>2] = $18; + $20 = ($18|0)==(0|0); + if ($20) { + _error($0,3); + $$0 = 0; + return ($$0|0); + } + _compute_window($2,$18); + $21 = $5 << 1; + $22 = (_setup_malloc($0,$21)|0); + $23 = (((($0)) + 1100|0) + ($1<<2)|0); + HEAP32[$23>>2] = $22; + $24 = ($22|0)==(0|0); + if ($24) { + _error($0,3); + $$0 = 0; + return ($$0|0); + } else { + _compute_bitreverse($2,$22); + $$0 = 1; + return ($$0|0); + } + } + } + _error($0,3); + $$0 = 0; + return ($$0|0); +} +function _compute_twiddle_factors($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$04044 = 0, $$045 = 0, $$14142 = 0, $$143 = 0, $10 = 0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0, $18 = 0.0, $19 = 0.0, $20 = 0.0, $21 = 0, $22 = 0, $23 = 0.0, $24 = 0.0, $25 = 0.0; + var $26 = 0.0, $27 = 0.0, $28 = 0.0, $29 = 0.0, $30 = 0.0, $31 = 0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0.0, $41 = 0.0, $42 = 0.0, $43 = 0.0, $44 = 0.0; + var $45 = 0.0, $46 = 0, $47 = 0.0, $48 = 0.0, $49 = 0.0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, $exitcond = 0, $exitcond48 = 0, label = 0, sp = 0; + sp = STACKTOP; + $4 = $0 >> 2; + $5 = $0 >> 3; + $6 = ($4|0)>(0); + if ($6) { + $7 = (+($0|0)); + $$04044 = 0;$$045 = 0; + while(1) { + $10 = $$04044 << 2; + $11 = (+($10|0)); + $12 = $11 * 3.1415927410125732; + $13 = $12 / $7; + $14 = $13; + $15 = (+Math_cos((+$14))); + $16 = $15; + $17 = (($1) + ($$045<<2)|0); + HEAPF32[$17>>2] = $16; + $18 = (+Math_sin((+$14))); + $19 = $18; + $20 = -$19; + $21 = $$045 | 1; + $22 = (($1) + ($21<<2)|0); + HEAPF32[$22>>2] = $20; + $23 = (+($21|0)); + $24 = $23 * 3.1415927410125732; + $25 = $24 / $7; + $26 = $25 * 0.5; + $27 = $26; + $28 = (+Math_cos((+$27))); + $29 = $28; + $30 = $29 * 0.5; + $31 = (($2) + ($$045<<2)|0); + HEAPF32[$31>>2] = $30; + $32 = (+Math_sin((+$27))); + $33 = $32; + $34 = $33 * 0.5; + $35 = (($2) + ($21<<2)|0); + HEAPF32[$35>>2] = $34; + $36 = (($$04044) + 1)|0; + $37 = (($$045) + 2)|0; + $exitcond48 = ($36|0)==($4|0); + if ($exitcond48) { + break; + } else { + $$04044 = $36;$$045 = $37; + } + } + } + $8 = ($5|0)>(0); + if (!($8)) { + return; + } + $9 = (+($0|0)); + $$14142 = 0;$$143 = 0; + while(1) { + $38 = $$143 | 1; + $39 = $38 << 1; + $40 = (+($39|0)); + $41 = $40 * 3.1415927410125732; + $42 = $41 / $9; + $43 = $42; + $44 = (+Math_cos((+$43))); + $45 = $44; + $46 = (($3) + ($$143<<2)|0); + HEAPF32[$46>>2] = $45; + $47 = (+Math_sin((+$43))); + $48 = $47; + $49 = -$48; + $50 = (($3) + ($38<<2)|0); + HEAPF32[$50>>2] = $49; + $51 = (($$14142) + 1)|0; + $52 = (($$143) + 2)|0; + $exitcond = ($51|0)==($5|0); + if ($exitcond) { + break; + } else { + $$14142 = $51;$$143 = $52; + } + } + return; +} +function _compute_window($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$010 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0, $18 = 0, $2 = 0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, $exitcond = 0, label = 0; + var sp = 0; + sp = STACKTOP; + $2 = $0 >> 1; + $3 = ($2|0)>(0); + if (!($3)) { + return; + } + $4 = (+($2|0)); + $$010 = 0; + while(1) { + $5 = (+($$010|0)); + $6 = $5 + 0.5; + $7 = $6 / $4; + $8 = $7 * 0.5; + $9 = $8 * 3.1415927410125732; + $10 = (+Math_sin((+$9))); + $11 = $10; + $12 = (+_square($11)); + $13 = $12; + $14 = $13 * 1.5707963705062866; + $15 = (+Math_sin((+$14))); + $16 = $15; + $17 = (($1) + ($$010<<2)|0); + HEAPF32[$17>>2] = $16; + $18 = (($$010) + 1)|0; + $exitcond = ($18|0)==($2|0); + if ($exitcond) { + break; + } else { + $$010 = $18; + } + } + return; +} +function _compute_bitreverse($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$013 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = $0 >> 3; + $3 = ($2|0)>(0); + if (!($3)) { + return; + } + $4 = (_ilog($0)|0); + $5 = (36 - ($4))|0; + $$013 = 0; + while(1) { + $6 = (_bit_reverse($$013)|0); + $7 = $6 >>> $5; + $8 = $7 << 2; + $9 = $8&65535; + $10 = (($1) + ($$013<<1)|0); + HEAP16[$10>>1] = $9; + $11 = (($$013) + 1)|0; + $exitcond = ($11|0)==($2|0); + if ($exitcond) { + break; + } else { + $$013 = $11; + } + } + return; +} +function _square($0) { + $0 = +$0; + var $1 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $1 = $0 * $0; + return (+$1); +} +function _include_in_sort($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$$ = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $narrow = 0, $not$ = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($0)) + 23|0); + $3 = HEAP8[$2>>0]|0; + $4 = ($3<<24>>24)==(0); + $5 = ($1<<24>>24)==(-1); + if ($4) { + $6 = ($1&255)>(10); + $not$ = $5 ^ 1; + $narrow = $6 & $not$; + $$$ = $narrow&1; + return ($$$|0); + } + if ($5) { + ___assert_fail((17701|0),(16959|0),742,(17716|0)); + // unreachable; + } else { + return 1; + } + return (0)|0; +} +function _uint32_compare($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = HEAP32[$0>>2]|0; + $3 = HEAP32[$1>>2]|0; + $4 = ($2>>>0)<($3>>>0); + $5 = ($2>>>0)>($3>>>0); + $6 = $5&1; + $7 = $4 ? -1 : $6; + return ($7|0); +} +function _add_entry($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + var $$sink = 0, $$sink1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $6 = ((($0)) + 23|0); + $7 = HEAP8[$6>>0]|0; + $8 = ($7<<24>>24)==(0); + $9 = ((($0)) + 32|0); + $10 = HEAP32[$9>>2]|0; + if ($8) { + $11 = (($10) + ($2<<2)|0); + $$sink = $1;$$sink1 = $11; + HEAP32[$$sink1>>2] = $$sink; + return; + } else { + $12 = (($10) + ($3<<2)|0); + HEAP32[$12>>2] = $1; + $13 = $4&255; + $14 = ((($0)) + 8|0); + $15 = HEAP32[$14>>2]|0; + $16 = (($15) + ($3)|0); + HEAP8[$16>>0] = $13; + $17 = (($5) + ($3<<2)|0); + $$sink = $2;$$sink1 = $17; + HEAP32[$$sink1>>2] = $$sink; + return; + } +} +function _LoadSound($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$byval_copy1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0); + $$byval_copy1 = sp + 20|0; + $2 = sp; + _LoadWave($2,$1); + ;HEAP32[$$byval_copy1>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$2+16>>2]|0; + _LoadSoundFromWave($0,$$byval_copy1); + ;HEAP32[$$byval_copy1>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$2+16>>2]|0; + _UnloadWave($$byval_copy1); + STACKTOP = sp;return; +} +function _LoadSoundFromWave($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $$sroa$0$0 = 0, $$sroa$5$0 = 0, $$sroa$5$0$$sroa_idx7 = 0, $$sroa$6$0 = 0, $$sroa$6$0$$sroa_idx9 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0; + var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $5 = 0; + var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer4 = 0, $vararg_buffer7 = 0, $vararg_ptr10 = 0, $vararg_ptr11 = 0, $vararg_ptr12 = 0, $vararg_ptr13 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $vararg_buffer7 = sp + 24|0; + $vararg_buffer4 = sp + 16|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $2 = sp + 48|0; + $3 = sp + 44|0; + $4 = ((($1)) + 16|0); + $5 = HEAP32[$4>>2]|0; + $6 = ($5|0)==(0|0); + if ($6) { + $$sroa$0$0 = 0;$$sroa$5$0 = 0;$$sroa$6$0 = 0; + HEAP32[$0>>2] = $$sroa$0$0; + $$sroa$5$0$$sroa_idx7 = ((($0)) + 4|0); + HEAP32[$$sroa$5$0$$sroa_idx7>>2] = $$sroa$5$0; + $$sroa$6$0$$sroa_idx9 = ((($0)) + 8|0); + HEAP32[$$sroa$6$0$$sroa_idx9>>2] = $$sroa$6$0; + STACKTOP = sp;return; + } + $7 = ((($1)) + 12|0); + $8 = HEAP32[$7>>2]|0; + L4: do { + switch ($8|0) { + case 1: { + $9 = ((($1)) + 8|0); + $10 = HEAP32[$9>>2]|0; + switch ($10|0) { + case 8: { + $$0 = 4352; + break L4; + break; + } + case 16: { + $$0 = 4353; + break L4; + break; + } + case 32: { + $$0 = 65552; + break L4; + break; + } + default: { + HEAP32[$vararg_buffer>>2] = $10; + _TraceLog(1,18182,$vararg_buffer); + $$0 = 0; + break L4; + } + } + break; + } + case 2: { + $11 = ((($1)) + 8|0); + $12 = HEAP32[$11>>2]|0; + switch ($12|0) { + case 8: { + $$0 = 4354; + break L4; + break; + } + case 16: { + $$0 = 4355; + break L4; + break; + } + case 32: { + $$0 = 65553; + break L4; + break; + } + default: { + HEAP32[$vararg_buffer1>>2] = $12; + _TraceLog(1,18182,$vararg_buffer1); + $$0 = 0; + break L4; + } + } + break; + } + default: { + HEAP32[$vararg_buffer4>>2] = $8; + _TraceLog(1,18217,$vararg_buffer4); + $$0 = 0; + } + } + } while(0); + _alGenSources(1,($2|0)); + $13 = HEAP32[$2>>2]|0; + _alSourcef(($13|0),4099,1.0); + $14 = HEAP32[$2>>2]|0; + _alSourcef(($14|0),4106,1.0); + $15 = HEAP32[$2>>2]|0; + _alSource3f(($15|0),4100,0.0,0.0,0.0); + $16 = HEAP32[$2>>2]|0; + _alSource3f(($16|0),4102,0.0,0.0,0.0); + $17 = HEAP32[$2>>2]|0; + _alSourcei(($17|0),4103,0); + _alGenBuffers(1,($3|0)); + $18 = HEAP32[$1>>2]|0; + $19 = HEAP32[$7>>2]|0; + $20 = Math_imul($19, $18)|0; + $21 = ((($1)) + 8|0); + $22 = HEAP32[$21>>2]|0; + $23 = Math_imul($20, $22)|0; + $24 = $23 >>> 3; + $25 = HEAP32[$3>>2]|0; + $26 = HEAP32[$4>>2]|0; + $27 = ((($1)) + 4|0); + $28 = HEAP32[$27>>2]|0; + _alBufferData(($25|0),($$0|0),($26|0),($24|0),($28|0)); + $29 = HEAP32[$2>>2]|0; + $30 = HEAP32[$3>>2]|0; + _alSourcei(($29|0),4105,($30|0)); + $31 = HEAP32[$2>>2]|0; + $32 = HEAP32[$3>>2]|0; + $33 = HEAP32[$27>>2]|0; + $34 = HEAP32[$21>>2]|0; + $35 = HEAP32[$7>>2]|0; + $36 = ($35|0)==(1); + $37 = $36 ? 16891 : 16896; + HEAP32[$vararg_buffer7>>2] = $31; + $vararg_ptr10 = ((($vararg_buffer7)) + 4|0); + HEAP32[$vararg_ptr10>>2] = $32; + $vararg_ptr11 = ((($vararg_buffer7)) + 8|0); + HEAP32[$vararg_ptr11>>2] = $33; + $vararg_ptr12 = ((($vararg_buffer7)) + 12|0); + HEAP32[$vararg_ptr12>>2] = $34; + $vararg_ptr13 = ((($vararg_buffer7)) + 16|0); + HEAP32[$vararg_ptr13>>2] = $37; + _TraceLog(0,18259,$vararg_buffer7); + $38 = HEAP32[$2>>2]|0; + $39 = HEAP32[$3>>2]|0; + $$sroa$0$0 = $38;$$sroa$5$0 = $39;$$sroa$6$0 = $$0; + HEAP32[$0>>2] = $$sroa$0$0; + $$sroa$5$0$$sroa_idx7 = ((($0)) + 4|0); + HEAP32[$$sroa$5$0$$sroa_idx7>>2] = $$sroa$5$0; + $$sroa$6$0$$sroa_idx9 = ((($0)) + 8|0); + HEAP32[$$sroa$6$0$$sroa_idx9>>2] = $$sroa$6$0; + STACKTOP = sp;return; +} +function _UnloadWave($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $vararg_buffer = sp; + $1 = ((($0)) + 16|0); + $2 = HEAP32[$1>>2]|0; + $3 = ($2|0)==(0|0); + if (!($3)) { + _free($2); + } + _TraceLog(0,18154,$vararg_buffer); + STACKTOP = sp;return; +} +function _UnloadSound($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $vararg_buffer = sp; + $1 = HEAP32[$0>>2]|0; + _alSourceStop(($1|0)); + _alDeleteSources(1,($0|0)); + $2 = ((($0)) + 4|0); + _alDeleteBuffers(1,($2|0)); + $3 = HEAP32[$0>>2]|0; + $4 = HEAP32[$2>>2]|0; + HEAP32[$vararg_buffer>>2] = $3; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $4; + _TraceLog(0,18334,$vararg_buffer); + STACKTOP = sp;return; +} +function _PlaySound($0) { + $0 = $0|0; + var $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP32[$0>>2]|0; + _alSourcePlay(($1|0)); + return; +} +function _SetSoundVolume($0,$1) { + $0 = $0|0; + $1 = +$1; + var $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = HEAP32[$0>>2]|0; + _alSourcef(($2|0),4106,(+$1)); + return; +} +function _SetSoundPitch($0,$1) { + $0 = $0|0; + $1 = +$1; + var $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = HEAP32[$0>>2]|0; + _alSourcef(($2|0),4099,(+$1)); + return; +} +function _GetWaveData($0) { + $0 = $0|0; + var $$02729 = 0, $$028 = 0, $$sink = 0.0, $$sink3 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; + var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0.0, $29 = 0.0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0.0, $36 = 0.0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0.0; + var $42 = 0, $43 = 0, $44 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP32[$0>>2]|0; + $2 = ((($0)) + 12|0); + $3 = HEAP32[$2>>2]|0; + $4 = $1 << 2; + $5 = Math_imul($4, $3)|0; + $6 = (_malloc($5)|0); + $7 = HEAP32[$0>>2]|0; + $8 = ($7|0)==(0); + if ($8) { + return ($6|0); + } + $9 = HEAP32[$2>>2]|0; + $10 = ($9|0)==(0); + $11 = HEAP32[$0>>2]|0; + $12 = ((($0)) + 8|0); + $13 = ((($0)) + 16|0); + $14 = ((($0)) + 16|0); + $15 = ((($0)) + 16|0); + $$02729 = 0; + while(1) { + L6: do { + if (!($10)) { + $16 = HEAP32[$12>>2]|0; + $17 = HEAP32[$2>>2]|0; + $$028 = 0;$22 = $9; + while(1) { + switch ($16|0) { + case 8: { + $20 = HEAP32[$13>>2]|0; + $21 = Math_imul($22, $$02729)|0; + $23 = (($21) + ($$028))|0; + $24 = (($20) + ($23)|0); + $25 = HEAP8[$24>>0]|0; + $26 = $25&255; + $27 = (($26) + -127)|0; + $28 = (+($27|0)); + $29 = $28 * 0.00390625; + $$sink = $29;$$sink3 = $23; + label = 11; + break; + } + case 16: { + $30 = HEAP32[$14>>2]|0; + $31 = Math_imul($22, $$02729)|0; + $32 = (($31) + ($$028))|0; + $33 = (($30) + ($32<<1)|0); + $34 = HEAP16[$33>>1]|0; + $35 = (+($34<<16>>16)); + $36 = $35 / 32767.0; + $$sink = $36;$$sink3 = $32; + label = 11; + break; + } + case 32: { + $37 = HEAP32[$15>>2]|0; + $38 = Math_imul($22, $$02729)|0; + $39 = (($38) + ($$028))|0; + $40 = (($37) + ($39<<2)|0); + $41 = +HEAPF32[$40>>2]; + $$sink = $41;$$sink3 = $39; + label = 11; + break; + } + default: { + } + } + if ((label|0) == 11) { + label = 0; + $42 = (($6) + ($$sink3<<2)|0); + HEAPF32[$42>>2] = $$sink; + } + $43 = (($$028) + 1)|0; + $44 = ($43>>>0)<($17>>>0); + if ($44) { + $$028 = $43;$22 = $17; + } else { + break L6; + } + } + } + } while(0); + $18 = (($$02729) + 1)|0; + $19 = ($18>>>0)<($11>>>0); + if ($19) { + $$02729 = $18; + } else { + break; + } + } + return ($6|0); +} +function _LoadMusicStream($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; + var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0.0, $39 = 0.0, $4 = 0, $40 = 0.0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; + var $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer13 = 0, $vararg_buffer17 = 0, $vararg_buffer21 = 0, $vararg_buffer25 = 0, $vararg_buffer28 = 0, $vararg_buffer5 = 0, $vararg_buffer9 = 0, $vararg_ptr12 = 0, $vararg_ptr16 = 0, $vararg_ptr20 = 0, $vararg_ptr24 = 0, $vararg_ptr4 = 0, $vararg_ptr8 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 160|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(160|0); + $vararg_buffer28 = sp + 72|0; + $vararg_buffer25 = sp + 64|0; + $vararg_buffer21 = sp + 48|0; + $vararg_buffer17 = sp + 40|0; + $vararg_buffer13 = sp + 32|0; + $vararg_buffer9 = sp + 24|0; + $vararg_buffer5 = sp + 16|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $1 = sp + 136|0; + $2 = sp + 104|0; + $3 = sp + 76|0; + $4 = (_malloc(52)|0); + $5 = (_IsFileExtension($0,16610)|0); + $6 = ($5|0)==(0); + if (!($6)) { + $7 = (_stb_vorbis_open_filename($0,0,0)|0); + $8 = ((($4)) + 4|0); + HEAP32[$8>>2] = $7; + $9 = ($7|0)==(0|0); + if ($9) { + HEAP32[$vararg_buffer>>2] = $0; + _TraceLog(1,18387,$vararg_buffer); + STACKTOP = sp;return ($4|0); + } else { + $10 = HEAP32[$8>>2]|0; + _stb_vorbis_get_info($1,$10); + $11 = ((($4)) + 12|0); + $12 = HEAP32[$1>>2]|0; + $13 = ((($1)) + 4|0); + $14 = HEAP32[$13>>2]|0; + _InitAudioStream($2,$12,16,$14); + ;HEAP32[$11>>2]=HEAP32[$2>>2]|0;HEAP32[$11+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$11+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$11+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$11+16>>2]=HEAP32[$2+16>>2]|0;HEAP32[$11+20>>2]=HEAP32[$2+20>>2]|0;HEAP32[$11+24>>2]=HEAP32[$2+24>>2]|0; + $15 = HEAP32[$8>>2]|0; + $16 = (_stb_vorbis_stream_length_in_samples($15)|0); + $17 = ((($4)) + 44|0); + HEAP32[$17>>2] = $16; + $18 = ((($4)) + 48|0); + HEAP32[$18>>2] = $16; + HEAP32[$4>>2] = 0; + $19 = ((($4)) + 40|0); + HEAP32[$19>>2] = -1; + $20 = HEAP32[$17>>2]|0; + HEAP32[$vararg_buffer1>>2] = $0; + $vararg_ptr4 = ((($vararg_buffer1)) + 4|0); + HEAP32[$vararg_ptr4>>2] = $20; + _TraceLog(3,18427,$vararg_buffer1); + $21 = HEAP32[$1>>2]|0; + HEAP32[$vararg_buffer5>>2] = $0; + $vararg_ptr8 = ((($vararg_buffer5)) + 4|0); + HEAP32[$vararg_ptr8>>2] = $21; + _TraceLog(3,18455,$vararg_buffer5); + $22 = HEAP32[$13>>2]|0; + HEAP32[$vararg_buffer9>>2] = $0; + $vararg_ptr12 = ((($vararg_buffer9)) + 4|0); + HEAP32[$vararg_ptr12>>2] = $22; + _TraceLog(3,18480,$vararg_buffer9); + $23 = ((($1)) + 16|0); + $24 = HEAP32[$23>>2]|0; + HEAP32[$vararg_buffer13>>2] = $0; + $vararg_ptr16 = ((($vararg_buffer13)) + 4|0); + HEAP32[$vararg_ptr16>>2] = $24; + _TraceLog(3,18502,$vararg_buffer13); + STACKTOP = sp;return ($4|0); + } + } + $25 = (_IsFileExtension($0,18531)|0); + $26 = ($25|0)==(0); + if ($26) { + HEAP32[$vararg_buffer28>>2] = $0; + _TraceLog(1,16667,$vararg_buffer28); + STACKTOP = sp;return ($4|0); + } + $27 = ((($4)) + 8|0); + $28 = (_jar_xm_create_context_from_file($27,48000,$0)|0); + $29 = ($28|0)==(0); + if ($29) { + $30 = HEAP32[$27>>2]|0; + _jar_xm_set_max_loop_count($30,0); + $31 = ((($4)) + 12|0); + _InitAudioStream($3,48000,16,2); + ;HEAP32[$31>>2]=HEAP32[$3>>2]|0;HEAP32[$31+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$31+8>>2]=HEAP32[$3+8>>2]|0;HEAP32[$31+12>>2]=HEAP32[$3+12>>2]|0;HEAP32[$31+16>>2]=HEAP32[$3+16>>2]|0;HEAP32[$31+20>>2]=HEAP32[$3+20>>2]|0;HEAP32[$31+24>>2]=HEAP32[$3+24>>2]|0; + $32 = (_jar_xm_get_remaining_samples($30)|0); + $33 = tempRet0; + $34 = ((($4)) + 44|0); + HEAP32[$34>>2] = $32; + $35 = ((($4)) + 48|0); + HEAP32[$35>>2] = $32; + HEAP32[$4>>2] = 2; + $36 = ((($4)) + 40|0); + HEAP32[$36>>2] = -1; + $37 = HEAP32[$34>>2]|0; + HEAP32[$vararg_buffer17>>2] = $0; + $vararg_ptr20 = ((($vararg_buffer17)) + 4|0); + HEAP32[$vararg_ptr20>>2] = $37; + _TraceLog(3,18535,$vararg_buffer17); + $38 = (+($37>>>0)); + $39 = $38 / 48000.0; + $40 = $39; + HEAP32[$vararg_buffer21>>2] = $0; + $vararg_ptr24 = ((($vararg_buffer21)) + 8|0); + HEAPF64[$vararg_ptr24>>3] = $40; + _TraceLog(3,18565,$vararg_buffer21); + STACKTOP = sp;return ($4|0); + } else { + HEAP32[$vararg_buffer25>>2] = $0; + _TraceLog(1,18598,$vararg_buffer25); + STACKTOP = sp;return ($4|0); + } + return (0)|0; +} +function _InitAudioStream($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$off = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer4 = 0, $vararg_buffer7 = 0, $vararg_ptr10 = 0, $vararg_ptr11 = 0, $vararg_ptr12 = 0; + var label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0); + $vararg_buffer7 = sp + 24|0; + $vararg_buffer4 = sp + 16|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $4 = sp + 40|0; + $5 = ((($4)) + 8|0); + ;HEAP32[$5>>2]=0|0;HEAP32[$5+4>>2]=0|0;HEAP32[$5+8>>2]=0|0;HEAP32[$5+12>>2]=0|0;HEAP32[$5+16>>2]=0|0; + HEAP32[$4>>2] = $1; + $6 = ((($4)) + 4|0); + HEAP32[$6>>2] = $2; + $$off = (($3) + -1)|0; + $7 = ($$off>>>0)<(2); + L1: do { + if ($7) { + $9 = ((($4)) + 8|0); + HEAP32[$9>>2] = $3; + switch ($3|0) { + case 1: { + $55 = $9; + label = 4; + break L1; + break; + } + case 2: { + break; + } + default: { + $26 = $9; + break L1; + } + } + switch ($2|0) { + case 8: { + $13 = ((($4)) + 12|0); + HEAP32[$13>>2] = 4354; + $26 = $9; + break L1; + break; + } + case 16: { + $14 = ((($4)) + 12|0); + HEAP32[$14>>2] = 4355; + $26 = $9; + break L1; + break; + } + case 32: { + $15 = ((($4)) + 12|0); + HEAP32[$15>>2] = 65553; + $26 = $9; + break L1; + break; + } + default: { + HEAP32[$vararg_buffer4>>2] = $2; + _TraceLog(1,18687,$vararg_buffer4); + $26 = $9; + break L1; + } + } + } else { + HEAP32[$vararg_buffer>>2] = $3; + _TraceLog(1,18631,$vararg_buffer); + $8 = ((($4)) + 8|0); + HEAP32[$8>>2] = 1; + $55 = $8; + label = 4; + } + } while(0); + L10: do { + if ((label|0) == 4) { + switch ($2|0) { + case 8: { + $10 = ((($4)) + 12|0); + HEAP32[$10>>2] = 4352; + $26 = $55; + break L10; + break; + } + case 16: { + $11 = ((($4)) + 12|0); + HEAP32[$11>>2] = 4353; + $26 = $55; + break L10; + break; + } + case 32: { + $12 = ((($4)) + 12|0); + HEAP32[$12>>2] = 65552; + $26 = $55; + break L10; + break; + } + default: { + HEAP32[$vararg_buffer1>>2] = $2; + _TraceLog(1,18687,$vararg_buffer1); + $26 = $55; + break L10; + } + } + } + } while(0); + $16 = ((($4)) + 16|0); + _alGenSources(1,($16|0)); + $17 = HEAP32[$16>>2]|0; + _alSourcef(($17|0),4099,1.0); + $18 = HEAP32[$16>>2]|0; + _alSourcef(($18|0),4106,1.0); + $19 = HEAP32[$16>>2]|0; + _alSource3f(($19|0),4100,0.0,0.0,0.0); + $20 = HEAP32[$16>>2]|0; + _alSource3f(($20|0),4102,0.0,0.0,0.0); + $21 = ((($4)) + 20|0); + _alGenBuffers(2,($21|0)); + $22 = HEAP32[$6>>2]|0; + $23 = $22 << 9; + $24 = $23 & 536870400; + $25 = HEAP32[$26>>2]|0; + $27 = Math_imul($24, $25)|0; + $28 = (_calloc($27,1)|0); + $29 = ((($4)) + 12|0); + $30 = ((($4)) + 20|0); + $31 = HEAP32[$30>>2]|0; + $32 = HEAP32[$29>>2]|0; + $33 = HEAP32[$6>>2]|0; + $34 = $33 << 9; + $35 = $34 & 536870400; + $36 = HEAP32[$26>>2]|0; + $37 = Math_imul($35, $36)|0; + $38 = HEAP32[$4>>2]|0; + _alBufferData(($31|0),($32|0),($28|0),($37|0),($38|0)); + $39 = ((($4)) + 24|0); + $40 = HEAP32[$39>>2]|0; + $41 = HEAP32[$29>>2]|0; + $42 = HEAP32[$6>>2]|0; + $43 = $42 << 9; + $44 = $43 & 536870400; + $45 = HEAP32[$26>>2]|0; + $46 = Math_imul($44, $45)|0; + $47 = HEAP32[$4>>2]|0; + _alBufferData(($40|0),($41|0),($28|0),($46|0),($47|0)); + _free($28); + $48 = HEAP32[$16>>2]|0; + _alSourceQueueBuffers(($48|0),2,($21|0)); + $49 = HEAP32[$16>>2]|0; + $50 = HEAP32[$4>>2]|0; + $51 = HEAP32[$6>>2]|0; + $52 = HEAP32[$26>>2]|0; + $53 = ($52|0)==(1); + $54 = $53 ? 16891 : 16896; + HEAP32[$vararg_buffer7>>2] = $49; + $vararg_ptr10 = ((($vararg_buffer7)) + 4|0); + HEAP32[$vararg_ptr10>>2] = $50; + $vararg_ptr11 = ((($vararg_buffer7)) + 8|0); + HEAP32[$vararg_ptr11>>2] = $51; + $vararg_ptr12 = ((($vararg_buffer7)) + 12|0); + HEAP32[$vararg_ptr12>>2] = $54; + _TraceLog(0,18736,$vararg_buffer7); + ;HEAP32[$0>>2]=HEAP32[$4>>2]|0;HEAP32[$0+4>>2]=HEAP32[$4+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$4+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$4+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$4+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[$4+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[$4+24>>2]|0; + STACKTOP = sp;return; +} +function _UnloadMusicStream($0) { + $0 = $0|0; + var $$byval_copy = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $$byval_copy = sp; + $1 = ((($0)) + 12|0); + ;HEAP32[$$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$1+16>>2]|0;HEAP32[$$byval_copy+20>>2]=HEAP32[$1+20>>2]|0;HEAP32[$$byval_copy+24>>2]=HEAP32[$1+24>>2]|0; + _CloseAudioStream($$byval_copy); + $2 = HEAP32[$0>>2]|0; + switch ($2|0) { + case 0: { + $3 = ((($0)) + 4|0); + $4 = HEAP32[$3>>2]|0; + _stb_vorbis_close($4); + _free($0); + STACKTOP = sp;return; + break; + } + case 2: { + $5 = ((($0)) + 8|0); + $6 = HEAP32[$5>>2]|0; + _jar_xm_free_context($6); + _free($0); + STACKTOP = sp;return; + break; + } + default: { + _free($0); + STACKTOP = sp;return; + } + } +} +function _CloseAudioStream($0) { + $0 = $0|0; + var $$pr = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $vararg_buffer = sp; + $1 = sp + 8|0; + $2 = sp + 4|0; + $3 = ((($0)) + 16|0); + $4 = HEAP32[$3>>2]|0; + _alSourceStop(($4|0)); + HEAP32[$1>>2] = 0; + $5 = HEAP32[$3>>2]|0; + _alGetSourcei(($5|0),4117,($1|0)); + HEAP32[$2>>2] = 0; + $$pr = HEAP32[$1>>2]|0; + $6 = ($$pr|0)>(0); + if ($6) { + while(1) { + $7 = HEAP32[$3>>2]|0; + _alSourceUnqueueBuffers(($7|0),1,($2|0)); + $8 = HEAP32[$1>>2]|0; + $9 = (($8) + -1)|0; + HEAP32[$1>>2] = $9; + $10 = ($8|0)>(1); + if (!($10)) { + break; + } + } + } + _alDeleteSources(1,($3|0)); + $11 = ((($0)) + 20|0); + _alDeleteBuffers(2,($11|0)); + $12 = HEAP32[$3>>2]|0; + HEAP32[$vararg_buffer>>2] = $12; + _TraceLog(0,18801,$vararg_buffer); + STACKTOP = sp;return; +} +function _PlayMusicStream($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 28|0); + $2 = HEAP32[$1>>2]|0; + _alSourcePlay(($2|0)); + return; +} +function _PauseMusicStream($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 28|0); + $2 = HEAP32[$1>>2]|0; + _alSourcePause(($2|0)); + return; +} +function _ResumeMusicStream($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $1 = sp; + $2 = ((($0)) + 28|0); + $3 = HEAP32[$2>>2]|0; + _alGetSourcei(($3|0),4112,($1|0)); + $4 = HEAP32[$1>>2]|0; + $5 = ($4|0)==(4115); + if (!($5)) { + STACKTOP = sp;return; + } + $6 = HEAP32[$2>>2]|0; + _alSourcePlay(($6|0)); + STACKTOP = sp;return; +} +function _StopMusicStream($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; + var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 28|0); + $2 = HEAP32[$1>>2]|0; + _alSourceStop(($2|0)); + $3 = ((($0)) + 16|0); + $4 = HEAP32[$3>>2]|0; + $5 = $4 << 9; + $6 = $5 & 536870400; + $7 = ((($0)) + 20|0); + $8 = HEAP32[$7>>2]|0; + $9 = Math_imul($6, $8)|0; + $10 = (_calloc($9,1)|0); + $11 = ((($0)) + 24|0); + $12 = ((($0)) + 12|0); + $13 = ((($0)) + 32|0); + $14 = HEAP32[$13>>2]|0; + $15 = HEAP32[$11>>2]|0; + $16 = HEAP32[$3>>2]|0; + $17 = $16 << 9; + $18 = $17 & 536870400; + $19 = HEAP32[$7>>2]|0; + $20 = Math_imul($18, $19)|0; + $21 = HEAP32[$12>>2]|0; + _alBufferData(($14|0),($15|0),($10|0),($20|0),($21|0)); + $22 = ((($0)) + 36|0); + $23 = HEAP32[$22>>2]|0; + $24 = HEAP32[$11>>2]|0; + $25 = HEAP32[$3>>2]|0; + $26 = $25 << 9; + $27 = $26 & 536870400; + $28 = HEAP32[$7>>2]|0; + $29 = Math_imul($27, $28)|0; + $30 = HEAP32[$12>>2]|0; + _alBufferData(($23|0),($24|0),($10|0),($29|0),($30|0)); + _free($10); + $31 = HEAP32[$0>>2]|0; + $cond = ($31|0)==(0); + if (!($cond)) { + $34 = ((($0)) + 44|0); + $35 = HEAP32[$34>>2]|0; + $36 = ((($0)) + 48|0); + HEAP32[$36>>2] = $35; + return; + } + $32 = ((($0)) + 4|0); + $33 = HEAP32[$32>>2]|0; + (_stb_vorbis_seek_start($33)|0); + $34 = ((($0)) + 44|0); + $35 = HEAP32[$34>>2]|0; + $36 = ((($0)) + 48|0); + HEAP32[$36>>2] = $35; + return; +} +function _stb_vorbis_seek_start($0) { + $0 = $0|0; + var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 48|0); + $2 = HEAP8[$1>>0]|0; + $3 = ($2<<24>>24)==(0); + if ($3) { + $4 = ((($0)) + 52|0); + $5 = HEAP32[$4>>2]|0; + _set_file_offset($0,$5); + $6 = ((($0)) + 992|0); + HEAP32[$6>>2] = 0; + $7 = ((($0)) + 1377|0); + HEAP8[$7>>0] = 1; + $8 = ((($0)) + 1380|0); + HEAP32[$8>>2] = -1; + $9 = (_vorbis_pump_first_frame($0)|0); + $$0 = $9; + return ($$0|0); + } else { + _error($0,2); + $$0 = 0; + return ($$0|0); + } + return (0)|0; +} +function _UpdateMusicStream($0) { + $0 = $0|0; + var $$ = 0, $$0 = 0, $$04143 = 0, $$byval_copy = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; + var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; + var $42 = 0, $43 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer3 = 0, $vararg_buffer5 = 0, $vararg_buffer7 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0); + $$byval_copy = sp + 32|0; + $vararg_buffer7 = sp + 24|0; + $vararg_buffer5 = sp + 16|0; + $vararg_buffer3 = sp + 8|0; + $vararg_buffer = sp; + $1 = sp + 64|0; + $2 = sp + 60|0; + HEAP32[$2>>2] = 0; + $3 = ((($0)) + 12|0); + $4 = ((($0)) + 28|0); + $5 = HEAP32[$4>>2]|0; + _alGetSourcei(($5|0),4112,($1|0)); + $6 = HEAP32[$4>>2]|0; + _alGetSourcei(($6|0),4118,($2|0)); + $7 = HEAP32[$2>>2]|0; + HEAP32[$vararg_buffer>>2] = $7; + _TraceLog(0,18840,$vararg_buffer); + $8 = HEAP32[$2>>2]|0; + $9 = ($8|0)>(0); + if (!($9)) { + STACKTOP = sp;return; + } + $10 = ((($0)) + 16|0); + $11 = HEAP32[$10>>2]|0; + $12 = $11 << 9; + $13 = $12 & 536870400; + $14 = ((($0)) + 20|0); + $15 = HEAP32[$14>>2]|0; + $16 = Math_imul($13, $15)|0; + $17 = (_calloc($16,1)|0); + _TraceLog(0,18890,$$byval_copy); + $18 = HEAP32[$2>>2]|0; + $19 = ($18|0)>(0); + L4: do { + if ($19) { + $20 = ((($0)) + 48|0); + $21 = ((($0)) + 4|0); + $22 = ((($0)) + 8|0); + $$04143 = 0; + while(1) { + $25 = HEAP32[$20>>2]|0; + $26 = ($25>>>0)<(4096); + $$ = $26 ? $25 : 4096; + $27 = HEAP32[$0>>2]|0; + switch ($27|0) { + case 0: { + _TraceLog(0,18896,$vararg_buffer3); + $28 = HEAP32[$21>>2]|0; + $29 = HEAP32[$14>>2]|0; + $30 = Math_imul($29, $$)|0; + (_stb_vorbis_get_samples_short_interleaved($28,$29,$17,$30)|0); + _TraceLog(0,18902,$vararg_buffer5); + break; + } + case 2: { + $31 = HEAP32[$22>>2]|0; + _jar_xm_generate_samples_16bit($31,$17,$$); + break; + } + default: { + } + } + ;HEAP32[$$byval_copy>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$3+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$3+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$3+16>>2]|0;HEAP32[$$byval_copy+20>>2]=HEAP32[$3+20>>2]|0;HEAP32[$$byval_copy+24>>2]=HEAP32[$3+24>>2]|0; + _UpdateAudioStream($$byval_copy,$17,$$); + $32 = HEAP32[$20>>2]|0; + $33 = (($32) - ($$))|0; + HEAP32[$20>>2] = $33; + $34 = ($33|0)==(0); + $24 = (($$04143) + 1)|0; + if ($34) { + $$0 = 0; + break L4; + } + $23 = ($24|0)<($18|0); + if ($23) { + $$04143 = $24; + } else { + $$0 = 1; + break L4; + } + } + } else { + $$0 = 1; + } + } while(0); + $35 = (_alGetError()|0); + $36 = ($35|0)==(40963); + if ($36) { + _TraceLog(1,18908,$vararg_buffer7); + } + $37 = ($$0|0)==(0); + if ($37) { + _StopMusicStream($0); + $38 = ((($0)) + 40|0); + $39 = HEAP32[$38>>2]|0; + $40 = ($39|0)>(0); + if ($40) { + $41 = (($39) + -1)|0; + HEAP32[$38>>2] = $41; + _PlayMusicStream($0); + } + } else { + $42 = HEAP32[$1>>2]|0; + $43 = ($42|0)==(4114); + if (!($43)) { + _PlayMusicStream($0); + } + } + _free($17); + STACKTOP = sp;return; +} +function _UpdateAudioStream($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $3 = sp; + HEAP32[$3>>2] = 0; + $4 = ((($0)) + 16|0); + $5 = HEAP32[$4>>2]|0; + _alSourceUnqueueBuffers(($5|0),1,($3|0)); + $6 = (_alGetError()|0); + $7 = ($6|0)==(40963); + if ($7) { + STACKTOP = sp;return; + } + $8 = HEAP32[$3>>2]|0; + $9 = ((($0)) + 12|0); + $10 = HEAP32[$9>>2]|0; + $11 = ((($0)) + 8|0); + $12 = HEAP32[$11>>2]|0; + $13 = Math_imul($12, $2)|0; + $14 = ((($0)) + 4|0); + $15 = HEAP32[$14>>2]|0; + $16 = Math_imul($13, $15)|0; + $17 = $16 >>> 3; + $18 = HEAP32[$0>>2]|0; + _alBufferData(($8|0),($10|0),($1|0),($17|0),($18|0)); + $19 = HEAP32[$4>>2]|0; + _alSourceQueueBuffers(($19|0),1,($3|0)); + STACKTOP = sp;return; +} +function _SetMusicVolume($0,$1) { + $0 = $0|0; + $1 = +$1; + var $2 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($0)) + 28|0); + $3 = HEAP32[$2>>2]|0; + _alSourcef(($3|0),4106,(+$1)); + return; +} +function _SetMusicPitch($0,$1) { + $0 = $0|0; + $1 = +$1; + var $2 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($0)) + 28|0); + $3 = HEAP32[$2>>2]|0; + _alSourcef(($3|0),4099,(+$1)); + return; +} +function _emscripten_GetProcAddress($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0; + var $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0; + var $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0; + var $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0; + var $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0; + var $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0; + var $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0; + var $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0; + var $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0; + var $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0; + var $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0; + var $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0; + var $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0; + var $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0; + var $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0; + var $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0; + var $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0; + var $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0; + var $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0; + var $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0; + var $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0; + var $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0; + var $496 = 0, $497 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0; + var $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0; + var $531 = 0, $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0, $549 = 0; + var $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0; + var $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0; + var $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $1 = sp + 12|0; + $2 = sp + 8|0; + $3 = sp + 4|0; + $4 = sp; + HEAP32[$2>>2] = $0; + $5 = HEAP32[$2>>2]|0; + $6 = (_strlen($5)|0); + $7 = (($6) + 1)|0; + $8 = (_malloc($7)|0); + HEAP32[$3>>2] = $8; + $9 = HEAP32[$3>>2]|0; + $10 = HEAP32[$2>>2]|0; + (_strcpy($9,$10)|0); + $11 = HEAP32[$3>>2]|0; + $12 = (_strstr($11,18940)|0); + HEAP32[$4>>2] = $12; + $13 = HEAP32[$4>>2]|0; + $14 = ($13|0)!=(0|0); + if ($14) { + $15 = HEAP32[$4>>2]|0; + HEAP8[$15>>0] = 0; + } + $16 = HEAP32[$3>>2]|0; + $17 = (_strstr($16,18944)|0); + HEAP32[$4>>2] = $17; + $18 = HEAP32[$4>>2]|0; + $19 = ($18|0)!=(0|0); + if ($19) { + $20 = HEAP32[$4>>2]|0; + HEAP8[$20>>0] = 0; + } + $21 = HEAP32[$3>>2]|0; + $22 = (_strstr($21,18948)|0); + HEAP32[$4>>2] = $22; + $23 = HEAP32[$4>>2]|0; + $24 = ($23|0)!=(0|0); + if ($24) { + $25 = HEAP32[$4>>2]|0; + HEAP8[$25>>0] = 0; + } + $26 = HEAP32[$3>>2]|0; + $27 = (_strstr($26,18952)|0); + HEAP32[$4>>2] = $27; + $28 = HEAP32[$4>>2]|0; + $29 = ($28|0)!=(0|0); + if ($29) { + $30 = HEAP32[$4>>2]|0; + HEAP8[$30>>0] = 0; + } + $31 = HEAP32[$3>>2]|0; + $32 = (_strcmp($31,18958)|0); + $33 = ($32|0)!=(0); + do { + if ($33) { + $34 = HEAP32[$3>>2]|0; + $35 = (_strcmp($34,18996)|0); + $36 = ($35|0)!=(0); + if (!($36)) { + HEAP32[$3>>2] = 19015; + break; + } + $37 = HEAP32[$3>>2]|0; + $38 = (_strcmp($37,19028)|0); + $39 = ($38|0)!=(0); + if (!($39)) { + HEAP32[$3>>2] = 19049; + break; + } + $40 = HEAP32[$3>>2]|0; + $41 = (_strcmp($40,19064)|0); + $42 = ($41|0)!=(0); + if (!($42)) { + HEAP32[$3>>2] = 19079; + break; + } + $43 = HEAP32[$3>>2]|0; + $44 = (_strcmp($43,19094)|0); + $45 = ($44|0)!=(0); + if (!($45)) { + HEAP32[$3>>2] = 19109; + } + } else { + HEAP32[$3>>2] = 18980; + } + } while(0); + $46 = HEAP32[$3>>2]|0; + $47 = (_strcmp($46,19124)|0); + $48 = ($47|0)!=(0); + do { + if ($48) { + $49 = HEAP32[$3>>2]|0; + $50 = (_strcmp($49,19138)|0); + $51 = ($50|0)!=(0); + if (!($51)) { + HEAP32[$1>>2] = 3; + break; + } + $52 = HEAP32[$3>>2]|0; + $53 = (_strcmp($52,19150)|0); + $54 = ($53|0)!=(0); + if (!($54)) { + HEAP32[$1>>2] = 7; + break; + } + $55 = HEAP32[$3>>2]|0; + $56 = (_strcmp($55,19164)|0); + $57 = ($56|0)!=(0); + if (!($57)) { + HEAP32[$1>>2] = 8; + break; + } + $58 = HEAP32[$3>>2]|0; + $59 = (_strcmp($58,19176)|0); + $60 = ($59|0)!=(0); + if (!($60)) { + HEAP32[$1>>2] = 9; + break; + } + $61 = HEAP32[$3>>2]|0; + $62 = (_strcmp($61,19190)|0); + $63 = ($62|0)!=(0); + if (!($63)) { + HEAP32[$1>>2] = 10; + break; + } + $64 = HEAP32[$3>>2]|0; + $65 = (_strcmp($64,19204)|0); + $66 = ($65|0)!=(0); + if (!($66)) { + HEAP32[$1>>2] = 11; + break; + } + $67 = HEAP32[$3>>2]|0; + $68 = (_strcmp($67,19221)|0); + $69 = ($68|0)!=(0); + if (!($69)) { + HEAP32[$1>>2] = 1; + break; + } + $70 = HEAP32[$3>>2]|0; + $71 = (_strcmp($70,19244)|0); + $72 = ($71|0)!=(0); + if (!($72)) { + HEAP32[$1>>2] = 1; + break; + } + $73 = HEAP32[$3>>2]|0; + $74 = (_strcmp($73,19270)|0); + $75 = ($74|0)!=(0); + if (!($75)) { + HEAP32[$1>>2] = 2; + break; + } + $76 = HEAP32[$3>>2]|0; + $77 = (_strcmp($76,19283)|0); + $78 = ($77|0)!=(0); + if (!($78)) { + HEAP32[$1>>2] = 3; + break; + } + $79 = HEAP32[$3>>2]|0; + $80 = (_strcmp($79,19299)|0); + $81 = ($80|0)!=(0); + if (!($81)) { + HEAP32[$1>>2] = 1; + break; + } + $82 = HEAP32[$3>>2]|0; + $83 = (_strcmp($82,19312)|0); + $84 = ($83|0)!=(0); + if (!($84)) { + HEAP32[$1>>2] = 12; + break; + } + $85 = HEAP32[$3>>2]|0; + $86 = (_strcmp($85,19326)|0); + $87 = ($86|0)!=(0); + if (!($87)) { + HEAP32[$1>>2] = 2; + break; + } + $88 = HEAP32[$3>>2]|0; + $89 = (_strcmp($88,19346)|0); + $90 = ($89|0)!=(0); + if (!($90)) { + HEAP32[$1>>2] = 3; + break; + } + $91 = HEAP32[$3>>2]|0; + $92 = (_strcmp($91,19366)|0); + $93 = ($92|0)!=(0); + if (!($93)) { + HEAP32[$1>>2] = 4; + break; + } + $94 = HEAP32[$3>>2]|0; + $95 = (_strcmp($94,19383)|0); + $96 = ($95|0)!=(0); + if (!($96)) { + HEAP32[$1>>2] = 5; + break; + } + $97 = HEAP32[$3>>2]|0; + $98 = (_strcmp($97,19400)|0); + $99 = ($98|0)!=(0); + if (!($99)) { + HEAP32[$1>>2] = 4; + break; + } + $100 = HEAP32[$3>>2]|0; + $101 = (_strcmp($100,19412)|0); + $102 = ($101|0)!=(0); + if (!($102)) { + HEAP32[$1>>2] = 13; + break; + } + $103 = HEAP32[$3>>2]|0; + $104 = (_strcmp($103,19425)|0); + $105 = ($104|0)!=(0); + if (!($105)) { + HEAP32[$1>>2] = 14; + break; + } + $106 = HEAP32[$3>>2]|0; + $107 = (_strcmp($106,19441)|0); + $108 = ($107|0)!=(0); + if (!($108)) { + HEAP32[$1>>2] = 6; + break; + } + $109 = HEAP32[$3>>2]|0; + $110 = (_strcmp($109,19464)|0); + $111 = ($110|0)!=(0); + if (!($111)) { + HEAP32[$1>>2] = 2; + break; + } + $112 = HEAP32[$3>>2]|0; + $113 = (_strcmp($112,19477)|0); + $114 = ($113|0)!=(0); + if (!($114)) { + HEAP32[$1>>2] = 3; + break; + } + $115 = HEAP32[$3>>2]|0; + $116 = (_strcmp($115,19493)|0); + $117 = ($116|0)!=(0); + if (!($117)) { + HEAP32[$1>>2] = 5; + break; + } + $118 = HEAP32[$3>>2]|0; + $119 = (_strcmp($118,19504)|0); + $120 = ($119|0)!=(0); + if (!($120)) { + HEAP32[$1>>2] = 15; + break; + } + $121 = HEAP32[$3>>2]|0; + $122 = (_strcmp($121,19523)|0); + $123 = ($122|0)!=(0); + if (!($123)) { + HEAP32[$1>>2] = 16; + break; + } + $124 = HEAP32[$3>>2]|0; + $125 = (_strcmp($124,19545)|0); + $126 = ($125|0)!=(0); + if (!($126)) { + HEAP32[$1>>2] = 17; + break; + } + $127 = HEAP32[$3>>2]|0; + $128 = (_strcmp($127,19564)|0); + $129 = ($128|0)!=(0); + if (!($129)) { + HEAP32[$1>>2] = 7; + break; + } + $130 = HEAP32[$3>>2]|0; + $131 = (_strcmp($130,19593)|0); + $132 = ($131|0)!=(0); + if (!($132)) { + HEAP32[$1>>2] = 6; + break; + } + $133 = HEAP32[$3>>2]|0; + $134 = (_strcmp($133,19610)|0); + $135 = ($134|0)!=(0); + if (!($135)) { + HEAP32[$1>>2] = 8; + break; + } + $136 = HEAP32[$3>>2]|0; + $137 = (_strcmp($136,19625)|0); + $138 = ($137|0)!=(0); + if (!($138)) { + HEAP32[$1>>2] = 9; + break; + } + $139 = HEAP32[$3>>2]|0; + $140 = (_strcmp($139,19640)|0); + $141 = ($140|0)!=(0); + if (!($141)) { + HEAP32[$1>>2] = 3; + break; + } + $142 = HEAP32[$3>>2]|0; + $143 = (_strcmp($142,19661)|0); + $144 = ($143|0)!=(0); + if (!($144)) { + HEAP32[$1>>2] = 10; + break; + } + $145 = HEAP32[$3>>2]|0; + $146 = (_strcmp($145,19681)|0); + $147 = ($146|0)!=(0); + if (!($147)) { + HEAP32[$1>>2] = 11; + break; + } + $148 = HEAP32[$3>>2]|0; + $149 = (_strcmp($148,19701)|0); + $150 = ($149|0)!=(0); + if (!($150)) { + HEAP32[$1>>2] = 12; + break; + } + $151 = HEAP32[$3>>2]|0; + $152 = (_strcmp($151,19727)|0); + $153 = ($152|0)!=(0); + if (!($153)) { + HEAP32[$1>>2] = 2; + break; + } + $154 = HEAP32[$3>>2]|0; + $155 = (_strcmp($154,19746)|0); + $156 = ($155|0)!=(0); + if (!($156)) { + HEAP32[$1>>2] = 1; + break; + } + $157 = HEAP32[$3>>2]|0; + $158 = (_strcmp($157,19758)|0); + $159 = ($158|0)!=(0); + if (!($159)) { + HEAP32[$1>>2] = 3; + break; + } + $160 = HEAP32[$3>>2]|0; + $161 = (_strcmp($160,19770)|0); + $162 = ($161|0)!=(0); + if (!($162)) { + HEAP32[$1>>2] = 1; + break; + } + $163 = HEAP32[$3>>2]|0; + $164 = (_strcmp($163,19782)|0); + $165 = ($164|0)!=(0); + if (!($165)) { + HEAP32[$1>>2] = 1; + break; + } + $166 = HEAP32[$3>>2]|0; + $167 = (_strcmp($166,19794)|0); + $168 = ($167|0)!=(0); + if (!($168)) { + HEAP32[$1>>2] = 18; + break; + } + $169 = HEAP32[$3>>2]|0; + $170 = (_strcmp($169,19806)|0); + $171 = ($170|0)!=(0); + if (!($171)) { + HEAP32[$1>>2] = 13; + break; + } + $172 = HEAP32[$3>>2]|0; + $173 = (_strcmp($172,19818)|0); + $174 = ($173|0)!=(0); + if (!($174)) { + HEAP32[$1>>2] = 4; + break; + } + $175 = HEAP32[$3>>2]|0; + $176 = (_strcmp($175,19830)|0); + $177 = ($176|0)!=(0); + if (!($177)) { + HEAP32[$1>>2] = 2; + break; + } + $178 = HEAP32[$3>>2]|0; + $179 = (_strcmp($178,19842)|0); + $180 = ($179|0)!=(0); + if (!($180)) { + HEAP32[$1>>2] = 14; + break; + } + $181 = HEAP32[$3>>2]|0; + $182 = (_strcmp($181,19855)|0); + $183 = ($182|0)!=(0); + if (!($183)) { + HEAP32[$1>>2] = 15; + break; + } + $184 = HEAP32[$3>>2]|0; + $185 = (_strcmp($184,19868)|0); + $186 = ($185|0)!=(0); + if (!($186)) { + HEAP32[$1>>2] = 16; + break; + } + $187 = HEAP32[$3>>2]|0; + $188 = (_strcmp($187,19881)|0); + $189 = ($188|0)!=(0); + if (!($189)) { + HEAP32[$1>>2] = 17; + break; + } + $190 = HEAP32[$3>>2]|0; + $191 = (_strcmp($190,19894)|0); + $192 = ($191|0)!=(0); + if (!($192)) { + HEAP32[$1>>2] = 18; + break; + } + $193 = HEAP32[$3>>2]|0; + $194 = (_strcmp($193,19907)|0); + $195 = ($194|0)!=(0); + if (!($195)) { + HEAP32[$1>>2] = 19; + break; + } + $196 = HEAP32[$3>>2]|0; + $197 = (_strcmp($196,19920)|0); + $198 = ($197|0)!=(0); + if (!($198)) { + HEAP32[$1>>2] = 20; + break; + } + $199 = HEAP32[$3>>2]|0; + $200 = (_strcmp($199,19933)|0); + $201 = ($200|0)!=(0); + if (!($201)) { + HEAP32[$1>>2] = 21; + break; + } + $202 = HEAP32[$3>>2]|0; + $203 = (_strcmp($202,19946)|0); + $204 = ($203|0)!=(0); + if (!($204)) { + HEAP32[$1>>2] = 5; + break; + } + $205 = HEAP32[$3>>2]|0; + $206 = (_strcmp($205,19965)|0); + $207 = ($206|0)!=(0); + if (!($207)) { + HEAP32[$1>>2] = 6; + break; + } + $208 = HEAP32[$3>>2]|0; + $209 = (_strcmp($208,19984)|0); + $210 = ($209|0)!=(0); + if (!($210)) { + HEAP32[$1>>2] = 7; + break; + } + $211 = HEAP32[$3>>2]|0; + $212 = (_strcmp($211,20003)|0); + $213 = ($212|0)!=(0); + if (!($213)) { + HEAP32[$1>>2] = 19; + break; + } + $214 = HEAP32[$3>>2]|0; + $215 = (_strcmp($214,20016)|0); + $216 = ($215|0)!=(0); + if (!($216)) { + HEAP32[$1>>2] = 20; + break; + } + $217 = HEAP32[$3>>2]|0; + $218 = (_strcmp($217,20034)|0); + $219 = ($218|0)!=(0); + if (!($219)) { + HEAP32[$1>>2] = 21; + break; + } + $220 = HEAP32[$3>>2]|0; + $221 = (_strcmp($220,20052)|0); + $222 = ($221|0)!=(0); + if (!($222)) { + HEAP32[$1>>2] = 22; + break; + } + $223 = HEAP32[$3>>2]|0; + $224 = (_strcmp($223,20070)|0); + $225 = ($224|0)!=(0); + if (!($225)) { + HEAP32[$1>>2] = 23; + break; + } + $226 = HEAP32[$3>>2]|0; + $227 = (_strcmp($226,20088)|0); + $228 = ($227|0)!=(0); + if (!($228)) { + HEAP32[$1>>2] = 4; + break; + } + $229 = HEAP32[$3>>2]|0; + $230 = (_strcmp($229,20108)|0); + $231 = ($230|0)!=(0); + if (!($231)) { + HEAP32[$1>>2] = 3; + break; + } + $232 = HEAP32[$3>>2]|0; + $233 = (_strcmp($232,19049)|0); + $234 = ($233|0)!=(0); + if (!($234)) { + HEAP32[$1>>2] = 7; + break; + } + $235 = HEAP32[$3>>2]|0; + $236 = (_strcmp($235,20126)|0); + $237 = ($236|0)!=(0); + if (!($237)) { + HEAP32[$1>>2] = 1; + break; + } + $238 = HEAP32[$3>>2]|0; + $239 = (_strcmp($238,20141)|0); + $240 = ($239|0)!=(0); + if (!($240)) { + HEAP32[$1>>2] = 8; + break; + } + $241 = HEAP32[$3>>2]|0; + $242 = (_strcmp($241,20162)|0); + $243 = ($242|0)!=(0); + if (!($243)) { + HEAP32[$1>>2] = 9; + break; + } + $244 = HEAP32[$3>>2]|0; + $245 = (_strcmp($244,20177)|0); + $246 = ($245|0)!=(0); + if (!($246)) { + HEAP32[$1>>2] = 10; + break; + } + $247 = HEAP32[$3>>2]|0; + $248 = (_strcmp($247,20195)|0); + $249 = ($248|0)!=(0); + if (!($249)) { + HEAP32[$1>>2] = 2; + break; + } + $250 = HEAP32[$3>>2]|0; + $251 = (_strcmp($250,20211)|0); + $252 = ($251|0)!=(0); + if (!($252)) { + HEAP32[$1>>2] = 11; + break; + } + $253 = HEAP32[$3>>2]|0; + $254 = (_strcmp($253,20230)|0); + $255 = ($254|0)!=(0); + if (!($255)) { + HEAP32[$1>>2] = 22; + break; + } + $256 = HEAP32[$3>>2]|0; + $257 = (_strcmp($256,20244)|0); + $258 = ($257|0)!=(0); + if (!($258)) { + HEAP32[$1>>2] = 23; + break; + } + $259 = HEAP32[$3>>2]|0; + $260 = (_strcmp($259,20259)|0); + $261 = ($260|0)!=(0); + if (!($261)) { + HEAP32[$1>>2] = 8; + break; + } + $262 = HEAP32[$3>>2]|0; + $263 = (_strcmp($262,18980)|0); + $264 = ($263|0)!=(0); + if (!($264)) { + HEAP32[$1>>2] = 1; + break; + } + $265 = HEAP32[$3>>2]|0; + $266 = (_strcmp($265,20270)|0); + $267 = ($266|0)!=(0); + if (!($267)) { + HEAP32[$1>>2] = 3; + break; + } + $268 = HEAP32[$3>>2]|0; + $269 = (_strcmp($268,19079)|0); + $270 = ($269|0)!=(0); + if (!($270)) { + HEAP32[$1>>2] = 24; + break; + } + $271 = HEAP32[$3>>2]|0; + $272 = (_strcmp($271,19109)|0); + $273 = ($272|0)!=(0); + if (!($273)) { + HEAP32[$1>>2] = 25; + break; + } + $274 = HEAP32[$3>>2]|0; + $275 = (_strcmp($274,20286)|0); + $276 = ($275|0)!=(0); + if (!($276)) { + HEAP32[$1>>2] = 12; + break; + } + $277 = HEAP32[$3>>2]|0; + $278 = (_strcmp($277,20313)|0); + $279 = ($278|0)!=(0); + if (!($279)) { + HEAP32[$1>>2] = 4; + break; + } + $280 = HEAP32[$3>>2]|0; + $281 = (_strcmp($280,20327)|0); + $282 = ($281|0)!=(0); + if (!($282)) { + HEAP32[$1>>2] = 13; + break; + } + $283 = HEAP32[$3>>2]|0; + $284 = (_strcmp($283,19015)|0); + $285 = ($284|0)!=(0); + if (!($285)) { + HEAP32[$1>>2] = 5; + break; + } + $286 = HEAP32[$3>>2]|0; + $287 = (_strcmp($286,20347)|0); + $288 = ($287|0)!=(0); + if (!($288)) { + HEAP32[$1>>2] = 6; + break; + } + $289 = HEAP32[$3>>2]|0; + $290 = (_strcmp($289,20365)|0); + $291 = ($290|0)!=(0); + if (!($291)) { + HEAP32[$1>>2] = 9; + break; + } + $292 = HEAP32[$3>>2]|0; + $293 = (_strcmp($292,20377)|0); + $294 = ($293|0)!=(0); + if (!($294)) { + HEAP32[$1>>2] = 24; + break; + } + $295 = HEAP32[$3>>2]|0; + $296 = (_strcmp($295,20398)|0); + $297 = ($296|0)!=(0); + if (!($297)) { + HEAP32[$1>>2] = 26; + break; + } + $298 = HEAP32[$3>>2]|0; + $299 = (_strcmp($298,20416)|0); + $300 = ($299|0)!=(0); + if (!($300)) { + HEAP32[$1>>2] = 27; + break; + } + $301 = HEAP32[$3>>2]|0; + $302 = (_strcmp($301,20434)|0); + $303 = ($302|0)!=(0); + if (!($303)) { + HEAP32[$1>>2] = 28; + break; + } + $304 = HEAP32[$3>>2]|0; + $305 = (_strcmp($304,20455)|0); + $306 = ($305|0)!=(0); + if (!($306)) { + HEAP32[$1>>2] = 14; + break; + } + $307 = HEAP32[$3>>2]|0; + $308 = (_strcmp($307,20481)|0); + $309 = ($308|0)!=(0); + if (!($309)) { + HEAP32[$1>>2] = 3; + break; + } + $310 = HEAP32[$3>>2]|0; + $311 = (_strcmp($310,20504)|0); + $312 = ($311|0)!=(0); + if (!($312)) { + HEAP32[$1>>2] = 15; + break; + } + $313 = HEAP32[$3>>2]|0; + $314 = (_strcmp($313,20542)|0); + $315 = ($314|0)!=(0); + if (!($315)) { + HEAP32[$1>>2] = 10; + break; + } + $316 = HEAP32[$3>>2]|0; + $317 = (_strcmp($316,20558)|0); + $318 = ($317|0)!=(0); + if (!($318)) { + HEAP32[$1>>2] = 7; + break; + } + $319 = HEAP32[$3>>2]|0; + $320 = (_strcmp($319,20573)|0); + $321 = ($320|0)!=(0); + if (!($321)) { + HEAP32[$1>>2] = 25; + break; + } + $322 = HEAP32[$3>>2]|0; + $323 = (_strcmp($322,20596)|0); + $324 = ($323|0)!=(0); + if (!($324)) { + HEAP32[$1>>2] = 16; + break; + } + $325 = HEAP32[$3>>2]|0; + $326 = (_strcmp($325,20609)|0); + $327 = ($326|0)!=(0); + if (!($327)) { + HEAP32[$1>>2] = 29; + break; + } + $328 = HEAP32[$3>>2]|0; + $329 = (_strcmp($328,20623)|0); + $330 = ($329|0)!=(0); + if (!($330)) { + HEAP32[$1>>2] = 30; + break; + } + $331 = HEAP32[$3>>2]|0; + $332 = (_strcmp($331,20637)|0); + $333 = ($332|0)!=(0); + if (!($333)) { + HEAP32[$1>>2] = 1; + break; + } + $334 = HEAP32[$3>>2]|0; + $335 = (_strcmp($334,20657)|0); + $336 = ($335|0)!=(0); + if (!($336)) { + HEAP32[$1>>2] = 8; + break; + } + $337 = HEAP32[$3>>2]|0; + $338 = (_strcmp($337,20677)|0); + $339 = ($338|0)!=(0); + if (!($339)) { + HEAP32[$1>>2] = 17; + break; + } + $340 = HEAP32[$3>>2]|0; + $341 = (_strcmp($340,20693)|0); + $342 = ($341|0)!=(0); + if (!($342)) { + HEAP32[$1>>2] = 18; + break; + } + $343 = HEAP32[$3>>2]|0; + $344 = (_strcmp($343,20711)|0); + $345 = ($344|0)!=(0); + if (!($345)) { + HEAP32[$1>>2] = 26; + break; + } + $346 = HEAP32[$3>>2]|0; + $347 = (_strcmp($346,20727)|0); + $348 = ($347|0)!=(0); + if (!($348)) { + HEAP32[$1>>2] = 19; + break; + } + $349 = HEAP32[$3>>2]|0; + $350 = (_strcmp($349,20742)|0); + $351 = ($350|0)!=(0); + if (!($351)) { + HEAP32[$1>>2] = 9; + break; + } + $352 = HEAP32[$3>>2]|0; + $353 = (_strcmp($352,20764)|0); + $354 = ($353|0)!=(0); + if (!($354)) { + HEAP32[$1>>2] = 31; + break; + } + $355 = HEAP32[$3>>2]|0; + $356 = (_strcmp($355,20782)|0); + $357 = ($356|0)!=(0); + if (!($357)) { + HEAP32[$1>>2] = 32; + break; + } + $358 = HEAP32[$3>>2]|0; + $359 = (_strcmp($358,20803)|0); + $360 = ($359|0)!=(0); + if (!($360)) { + HEAP32[$1>>2] = 10; + break; + } + $361 = HEAP32[$3>>2]|0; + $362 = (_strcmp($361,20821)|0); + $363 = ($362|0)!=(0); + if (!($363)) { + HEAP32[$1>>2] = 11; + break; + } + $364 = HEAP32[$3>>2]|0; + $365 = (_strcmp($364,20834)|0); + $366 = ($365|0)!=(0); + if (!($366)) { + HEAP32[$1>>2] = 2; + break; + } + $367 = HEAP32[$3>>2]|0; + $368 = (_strcmp($367,20849)|0); + $369 = ($368|0)!=(0); + if (!($369)) { + HEAP32[$1>>2] = 12; + break; + } + $370 = HEAP32[$3>>2]|0; + $371 = (_strcmp($370,20863)|0); + $372 = ($371|0)!=(0); + if (!($372)) { + HEAP32[$1>>2] = 1; + break; + } + $373 = HEAP32[$3>>2]|0; + $374 = (_strcmp($373,20873)|0); + $375 = ($374|0)!=(0); + if (!($375)) { + HEAP32[$1>>2] = 1; + break; + } + $376 = HEAP32[$3>>2]|0; + $377 = (_strcmp($376,20883)|0); + $378 = ($377|0)!=(0); + if (!($378)) { + HEAP32[$1>>2] = 2; + break; + } + $379 = HEAP32[$3>>2]|0; + $380 = (_strcmp($379,20905)|0); + $381 = ($380|0)!=(0); + if (!($381)) { + HEAP32[$1>>2] = 13; + break; + } + $382 = HEAP32[$3>>2]|0; + $383 = (_strcmp($382,20931)|0); + $384 = ($383|0)!=(0); + if (!($384)) { + HEAP32[$1>>2] = 14; + break; + } + $385 = HEAP32[$3>>2]|0; + $386 = (_strcmp($385,20958)|0); + $387 = ($386|0)!=(0); + if (!($387)) { + HEAP32[$1>>2] = 27; + break; + } + $388 = HEAP32[$3>>2]|0; + $389 = (_strcmp($388,20971)|0); + $390 = ($389|0)!=(0); + if (!($390)) { + HEAP32[$1>>2] = 20; + break; + } + $391 = HEAP32[$3>>2]|0; + $392 = (_strcmp($391,20986)|0); + $393 = ($392|0)!=(0); + if (!($393)) { + HEAP32[$1>>2] = 4; + break; + } + $394 = HEAP32[$3>>2]|0; + $395 = (_strcmp($394,21001)|0); + $396 = ($395|0)!=(0); + if (!($396)) { + HEAP32[$1>>2] = 3; + break; + } + $397 = HEAP32[$3>>2]|0; + $398 = (_strcmp($397,21025)|0); + $399 = ($398|0)!=(0); + if (!($399)) { + HEAP32[$1>>2] = 2; + break; + } + $400 = HEAP32[$3>>2]|0; + $401 = (_strcmp($400,21036)|0); + $402 = ($401|0)!=(0); + if (!($402)) { + HEAP32[$1>>2] = 33; + break; + } + $403 = HEAP32[$3>>2]|0; + $404 = (_strcmp($403,21058)|0); + $405 = ($404|0)!=(0); + if (!($405)) { + HEAP32[$1>>2] = 21; + break; + } + $406 = HEAP32[$3>>2]|0; + $407 = (_strcmp($406,21080)|0); + $408 = ($407|0)!=(0); + if (!($408)) { + HEAP32[$1>>2] = 5; + break; + } + $409 = HEAP32[$3>>2]|0; + $410 = (_strcmp($409,21104)|0); + $411 = ($410|0)!=(0); + if (!($411)) { + HEAP32[$1>>2] = 4; + break; + } + $412 = HEAP32[$3>>2]|0; + $413 = (_strcmp($412,21113)|0); + $414 = ($413|0)!=(0); + if (!($414)) { + HEAP32[$1>>2] = 5; + break; + } + $415 = HEAP32[$3>>2]|0; + $416 = (_strcmp($415,21121)|0); + $417 = ($416|0)!=(0); + if (!($417)) { + HEAP32[$1>>2] = 1; + break; + } + $418 = HEAP32[$3>>2]|0; + $419 = (_strcmp($418,21134)|0); + $420 = ($419|0)!=(0); + if (!($420)) { + HEAP32[$1>>2] = 2; + break; + } + $421 = HEAP32[$3>>2]|0; + $422 = (_strcmp($421,21148)|0); + $423 = ($422|0)!=(0); + if (!($423)) { + HEAP32[$1>>2] = 15; + break; + } + $424 = HEAP32[$3>>2]|0; + $425 = (_strcmp($424,21160)|0); + $426 = ($425|0)!=(0); + if (!($426)) { + HEAP32[$1>>2] = 16; + break; + } + $427 = HEAP32[$3>>2]|0; + $428 = (_strcmp($427,21169)|0); + $429 = ($428|0)!=(0); + if (!($429)) { + HEAP32[$1>>2] = 17; + break; + } + $430 = HEAP32[$3>>2]|0; + $431 = (_strcmp($430,21179)|0); + $432 = ($431|0)!=(0); + if (!($432)) { + HEAP32[$1>>2] = 18; + break; + } + $433 = HEAP32[$3>>2]|0; + $434 = (_strcmp($433,21191)|0); + $435 = ($434|0)!=(0); + if (!($435)) { + HEAP32[$1>>2] = 19; + break; + } + $436 = HEAP32[$3>>2]|0; + $437 = (_strcmp($436,21202)|0); + $438 = ($437|0)!=(0); + if (!($438)) { + HEAP32[$1>>2] = 20; + break; + } + $439 = HEAP32[$3>>2]|0; + $440 = (_strcmp($439,21210)|0); + $441 = ($440|0)!=(0); + if (!($441)) { + HEAP32[$1>>2] = 3; + break; + } + $442 = HEAP32[$3>>2]|0; + $443 = (_strcmp($442,21222)|0); + $444 = ($443|0)!=(0); + if (!($444)) { + HEAP32[$1>>2] = 21; + break; + } + $445 = HEAP32[$3>>2]|0; + $446 = (_strcmp($445,21237)|0); + $447 = ($446|0)!=(0); + if (!($447)) { + HEAP32[$1>>2] = 22; + break; + } + $448 = HEAP32[$3>>2]|0; + $449 = (_strcmp($448,21249)|0); + $450 = ($449|0)!=(0); + if (!($450)) { + HEAP32[$1>>2] = 23; + break; + } + $451 = HEAP32[$3>>2]|0; + $452 = (_strcmp($451,21263)|0); + $453 = ($452|0)!=(0); + if (!($453)) { + HEAP32[$1>>2] = 11; + break; + } + $454 = HEAP32[$3>>2]|0; + $455 = (_strcmp($454,21288)|0); + $456 = ($455|0)!=(0); + if (!($456)) { + HEAP32[$1>>2] = 24; + break; + } + $457 = HEAP32[$3>>2]|0; + $458 = (_strcmp($457,21305)|0); + $459 = ($458|0)!=(0); + if (!($459)) { + HEAP32[$1>>2] = 25; + break; + } + $460 = HEAP32[$3>>2]|0; + $461 = (_strcmp($460,21321)|0); + $462 = ($461|0)!=(0); + if (!($462)) { + HEAP32[$1>>2] = 26; + break; + } + $463 = HEAP32[$3>>2]|0; + $464 = (_strcmp($463,21337)|0); + $465 = ($464|0)!=(0); + if (!($465)) { + HEAP32[$1>>2] = 12; + break; + } + $466 = HEAP32[$3>>2]|0; + $467 = (_strcmp($466,21349)|0); + $468 = ($467|0)!=(0); + if (!($468)) { + HEAP32[$1>>2] = 34; + break; + } + $469 = HEAP32[$3>>2]|0; + $470 = (_strcmp($469,21361)|0); + $471 = ($470|0)!=(0); + if (!($471)) { + HEAP32[$1>>2] = 35; + break; + } + $472 = HEAP32[$3>>2]|0; + $473 = (_strcmp($472,21385)|0); + $474 = ($473|0)!=(0); + if (!($474)) { + HEAP32[$1>>2] = 1; + break; + } + $475 = HEAP32[$3>>2]|0; + $476 = (_strcmp($475,21398)|0); + $477 = ($476|0)!=(0); + if (!($477)) { + HEAP32[$1>>2] = 2; + break; + } + $478 = HEAP32[$3>>2]|0; + $479 = (_strcmp($478,21412)|0); + $480 = ($479|0)!=(0); + if (!($480)) { + HEAP32[$1>>2] = 36; + break; + } + $481 = HEAP32[$3>>2]|0; + $482 = (_strcmp($481,21434)|0); + $483 = ($482|0)!=(0); + if (!($483)) { + HEAP32[$1>>2] = 37; + break; + } + $484 = HEAP32[$3>>2]|0; + $485 = (_strcmp($484,21441)|0); + $486 = ($485|0)!=(0); + if (!($486)) { + HEAP32[$1>>2] = 3; + break; + } + $487 = HEAP32[$3>>2]|0; + $488 = (_strcmp($487,21457)|0); + $489 = ($488|0)!=(0); + if (!($489)) { + HEAP32[$1>>2] = 2; + break; + } + $490 = HEAP32[$3>>2]|0; + $491 = (_strcmp($490,21474)|0); + $492 = ($491|0)!=(0); + if (!($492)) { + HEAP32[$1>>2] = 1; + break; + } + $493 = HEAP32[$3>>2]|0; + $494 = (_strcmp($493,21491)|0); + $495 = ($494|0)!=(0); + if (!($495)) { + HEAP32[$1>>2] = 28; + break; + } + $496 = HEAP32[$3>>2]|0; + $497 = (_strcmp($496,21507)|0); + $498 = ($497|0)!=(0); + if (!($498)) { + HEAP32[$1>>2] = 1; + break; + } + $499 = HEAP32[$3>>2]|0; + $500 = (_strcmp($499,21523)|0); + $501 = ($500|0)!=(0); + if (!($501)) { + HEAP32[$1>>2] = 4; + break; + } + $502 = HEAP32[$3>>2]|0; + $503 = (_strcmp($502,21540)|0); + $504 = ($503|0)!=(0); + if (!($504)) { + HEAP32[$1>>2] = 29; + break; + } + $505 = HEAP32[$3>>2]|0; + $506 = (_strcmp($505,21554)|0); + $507 = ($506|0)!=(0); + if (!($507)) { + HEAP32[$1>>2] = 30; + break; + } + $508 = HEAP32[$3>>2]|0; + $509 = (_strcmp($508,21566)|0); + $510 = ($509|0)!=(0); + if (!($510)) { + HEAP32[$1>>2] = 22; + break; + } + $511 = HEAP32[$3>>2]|0; + $512 = (_strcmp($511,21577)|0); + $513 = ($512|0)!=(0); + if (!($513)) { + HEAP32[$1>>2] = 2; + break; + } + $514 = HEAP32[$3>>2]|0; + $515 = (_strcmp($514,21590)|0); + $516 = ($515|0)!=(0); + if (!($516)) { + HEAP32[$1>>2] = 23; + break; + } + $517 = HEAP32[$3>>2]|0; + $518 = (_strcmp($517,21600)|0); + $519 = ($518|0)!=(0); + if (!($519)) { + HEAP32[$1>>2] = 2; + break; + } + $520 = HEAP32[$3>>2]|0; + $521 = (_strcmp($520,21617)|0); + $522 = ($521|0)!=(0); + if (!($522)) { + HEAP32[$1>>2] = 24; + break; + } + $523 = HEAP32[$3>>2]|0; + $524 = (_strcmp($523,21629)|0); + $525 = ($524|0)!=(0); + if (!($525)) { + HEAP32[$1>>2] = 25; + break; + } + $526 = HEAP32[$3>>2]|0; + $527 = (_strcmp($526,21651)|0); + $528 = ($527|0)!=(0); + if (!($528)) { + HEAP32[$1>>2] = 26; + break; + } + $529 = HEAP32[$3>>2]|0; + $530 = (_strcmp($529,21671)|0); + $531 = ($530|0)!=(0); + if (!($531)) { + HEAP32[$1>>2] = 3; + break; + } + $532 = HEAP32[$3>>2]|0; + $533 = (_strcmp($532,21684)|0); + $534 = ($533|0)!=(0); + if (!($534)) { + HEAP32[$1>>2] = 27; + break; + } + $535 = HEAP32[$3>>2]|0; + $536 = (_strcmp($535,21706)|0); + $537 = ($536|0)!=(0); + if (!($537)) { + HEAP32[$1>>2] = 28; + break; + } + $538 = HEAP32[$3>>2]|0; + $539 = (_strcmp($538,21726)|0); + $540 = ($539|0)!=(0); + if (!($540)) { + HEAP32[$1>>2] = 2; + break; + } + $541 = HEAP32[$3>>2]|0; + $542 = (_strcmp($541,21743)|0); + $543 = ($542|0)!=(0); + if (!($543)) { + HEAP32[$1>>2] = 2; + break; + } + $544 = HEAP32[$3>>2]|0; + $545 = (_strcmp($544,21760)|0); + $546 = ($545|0)!=(0); + if (!($546)) { + HEAP32[$1>>2] = 3; + break; + } + $547 = HEAP32[$3>>2]|0; + $548 = (_strcmp($547,21780)|0); + $549 = ($548|0)!=(0); + if ($549) { + $550 = HEAP32[$2>>2]|0; + $551 = HEAP32[$3>>2]|0; + $552 = _emscripten_asm_const_iii(0, ($550|0), ($551|0))|0; + HEAP32[$1>>2] = 0; + break; + } else { + HEAP32[$1>>2] = 38; + break; + } + } else { + HEAP32[$1>>2] = 6; + } + } while(0); + $553 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($553|0); +} +function _emscripten_get_global_libc() { + var label = 0, sp = 0; + sp = STACKTOP; + return (28752|0); +} +function ___stdio_close($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $vararg_buffer = sp; + $1 = ((($0)) + 60|0); + $2 = HEAP32[$1>>2]|0; + $3 = (_dummy_738($2)|0); + HEAP32[$vararg_buffer>>2] = $3; + $4 = (___syscall6(6,($vararg_buffer|0))|0); + $5 = (___syscall_ret($4)|0); + STACKTOP = sp;return ($5|0); +} +function ___stdio_write($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$0 = 0, $$04756 = 0, $$04855 = 0, $$04954 = 0, $$051 = 0, $$1 = 0, $$150 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0; + var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0; + var $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer3 = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr6 = 0; + var $vararg_ptr7 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0); + $vararg_buffer3 = sp + 16|0; + $vararg_buffer = sp; + $3 = sp + 32|0; + $4 = ((($0)) + 28|0); + $5 = HEAP32[$4>>2]|0; + HEAP32[$3>>2] = $5; + $6 = ((($3)) + 4|0); + $7 = ((($0)) + 20|0); + $8 = HEAP32[$7>>2]|0; + $9 = (($8) - ($5))|0; + HEAP32[$6>>2] = $9; + $10 = ((($3)) + 8|0); + HEAP32[$10>>2] = $1; + $11 = ((($3)) + 12|0); + HEAP32[$11>>2] = $2; + $12 = (($9) + ($2))|0; + $13 = ((($0)) + 60|0); + $14 = HEAP32[$13>>2]|0; + $15 = $3; + HEAP32[$vararg_buffer>>2] = $14; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $15; + $vararg_ptr2 = ((($vararg_buffer)) + 8|0); + HEAP32[$vararg_ptr2>>2] = 2; + $16 = (___syscall146(146,($vararg_buffer|0))|0); + $17 = (___syscall_ret($16)|0); + $18 = ($12|0)==($17|0); + L1: do { + if ($18) { + label = 3; + } else { + $$04756 = 2;$$04855 = $12;$$04954 = $3;$26 = $17; + while(1) { + $25 = ($26|0)<(0); + if ($25) { + break; + } + $34 = (($$04855) - ($26))|0; + $35 = ((($$04954)) + 4|0); + $36 = HEAP32[$35>>2]|0; + $37 = ($26>>>0)>($36>>>0); + $38 = ((($$04954)) + 8|0); + $$150 = $37 ? $38 : $$04954; + $39 = $37 << 31 >> 31; + $$1 = (($39) + ($$04756))|0; + $40 = $37 ? $36 : 0; + $$0 = (($26) - ($40))|0; + $41 = HEAP32[$$150>>2]|0; + $42 = (($41) + ($$0)|0); + HEAP32[$$150>>2] = $42; + $43 = ((($$150)) + 4|0); + $44 = HEAP32[$43>>2]|0; + $45 = (($44) - ($$0))|0; + HEAP32[$43>>2] = $45; + $46 = HEAP32[$13>>2]|0; + $47 = $$150; + HEAP32[$vararg_buffer3>>2] = $46; + $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); + HEAP32[$vararg_ptr6>>2] = $47; + $vararg_ptr7 = ((($vararg_buffer3)) + 8|0); + HEAP32[$vararg_ptr7>>2] = $$1; + $48 = (___syscall146(146,($vararg_buffer3|0))|0); + $49 = (___syscall_ret($48)|0); + $50 = ($34|0)==($49|0); + if ($50) { + label = 3; + break L1; + } else { + $$04756 = $$1;$$04855 = $34;$$04954 = $$150;$26 = $49; + } + } + $27 = ((($0)) + 16|0); + HEAP32[$27>>2] = 0; + HEAP32[$4>>2] = 0; + HEAP32[$7>>2] = 0; + $28 = HEAP32[$0>>2]|0; + $29 = $28 | 32; + HEAP32[$0>>2] = $29; + $30 = ($$04756|0)==(2); + if ($30) { + $$051 = 0; + } else { + $31 = ((($$04954)) + 4|0); + $32 = HEAP32[$31>>2]|0; + $33 = (($2) - ($32))|0; + $$051 = $33; + } + } + } while(0); + if ((label|0) == 3) { + $19 = ((($0)) + 44|0); + $20 = HEAP32[$19>>2]|0; + $21 = ((($0)) + 48|0); + $22 = HEAP32[$21>>2]|0; + $23 = (($20) + ($22)|0); + $24 = ((($0)) + 16|0); + HEAP32[$24>>2] = $23; + HEAP32[$4>>2] = $20; + HEAP32[$7>>2] = $20; + $$051 = $2; + } + STACKTOP = sp;return ($$051|0); +} +function ___stdio_seek($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$pre = 0, $10 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, $vararg_ptr4 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $vararg_buffer = sp; + $3 = sp + 20|0; + $4 = ((($0)) + 60|0); + $5 = HEAP32[$4>>2]|0; + $6 = $3; + HEAP32[$vararg_buffer>>2] = $5; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = 0; + $vararg_ptr2 = ((($vararg_buffer)) + 8|0); + HEAP32[$vararg_ptr2>>2] = $1; + $vararg_ptr3 = ((($vararg_buffer)) + 12|0); + HEAP32[$vararg_ptr3>>2] = $6; + $vararg_ptr4 = ((($vararg_buffer)) + 16|0); + HEAP32[$vararg_ptr4>>2] = $2; + $7 = (___syscall140(140,($vararg_buffer|0))|0); + $8 = (___syscall_ret($7)|0); + $9 = ($8|0)<(0); + if ($9) { + HEAP32[$3>>2] = -1; + $10 = -1; + } else { + $$pre = HEAP32[$3>>2]|0; + $10 = $$pre; + } + STACKTOP = sp;return ($10|0); +} +function ___syscall_ret($0) { + $0 = $0|0; + var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ($0>>>0)>(4294963200); + if ($1) { + $2 = (0 - ($0))|0; + $3 = (___errno_location()|0); + HEAP32[$3>>2] = $2; + $$0 = -1; + } else { + $$0 = $0; + } + return ($$0|0); +} +function ___errno_location() { + var $0 = 0, $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (___pthread_self_108()|0); + $1 = ((($0)) + 64|0); + return ($1|0); +} +function ___pthread_self_108() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (_pthread_self()|0); + return ($0|0); +} +function _pthread_self() { + var label = 0, sp = 0; + sp = STACKTOP; + return (5132|0); +} +function _dummy_738($0) { + $0 = $0|0; + var label = 0, sp = 0; + sp = STACKTOP; + return ($0|0); +} +function ___stdio_read($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $vararg_buffer = sp; + $3 = sp + 16|0; + HEAP32[$3>>2] = $1; + $4 = ((($3)) + 4|0); + $5 = ((($0)) + 48|0); + $6 = HEAP32[$5>>2]|0; + $7 = ($6|0)!=(0); + $8 = $7&1; + $9 = (($2) - ($8))|0; + HEAP32[$4>>2] = $9; + $10 = ((($3)) + 8|0); + $11 = ((($0)) + 44|0); + $12 = HEAP32[$11>>2]|0; + HEAP32[$10>>2] = $12; + $13 = ((($3)) + 12|0); + HEAP32[$13>>2] = $6; + $14 = ((($0)) + 60|0); + $15 = HEAP32[$14>>2]|0; + $16 = $3; + HEAP32[$vararg_buffer>>2] = $15; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $16; + $vararg_ptr2 = ((($vararg_buffer)) + 8|0); + HEAP32[$vararg_ptr2>>2] = 2; + $17 = (___syscall145(145,($vararg_buffer|0))|0); + $18 = (___syscall_ret($17)|0); + $19 = ($18|0)<(1); + if ($19) { + $20 = $18 & 48; + $21 = $20 ^ 16; + $22 = HEAP32[$0>>2]|0; + $23 = $22 | $21; + HEAP32[$0>>2] = $23; + $$0 = $18; + } else { + $24 = HEAP32[$4>>2]|0; + $25 = ($18>>>0)>($24>>>0); + if ($25) { + $26 = (($18) - ($24))|0; + $27 = HEAP32[$11>>2]|0; + $28 = ((($0)) + 4|0); + HEAP32[$28>>2] = $27; + $29 = (($27) + ($26)|0); + $30 = ((($0)) + 8|0); + HEAP32[$30>>2] = $29; + $31 = HEAP32[$5>>2]|0; + $32 = ($31|0)==(0); + if ($32) { + $$0 = $2; + } else { + $33 = ((($27)) + 1|0); + HEAP32[$28>>2] = $33; + $34 = HEAP8[$27>>0]|0; + $35 = (($2) + -1)|0; + $36 = (($1) + ($35)|0); + HEAP8[$36>>0] = $34; + $$0 = $2; + } + } else { + $$0 = $18; + } + } + STACKTOP = sp;return ($$0|0); +} +function ___stdout_write($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $vararg_buffer = sp; + $3 = sp + 16|0; + $4 = ((($0)) + 36|0); + HEAP32[$4>>2] = 2; + $5 = HEAP32[$0>>2]|0; + $6 = $5 & 64; + $7 = ($6|0)==(0); + if ($7) { + $8 = ((($0)) + 60|0); + $9 = HEAP32[$8>>2]|0; + $10 = $3; + HEAP32[$vararg_buffer>>2] = $9; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = 21523; + $vararg_ptr2 = ((($vararg_buffer)) + 8|0); + HEAP32[$vararg_ptr2>>2] = $10; + $11 = (___syscall54(54,($vararg_buffer|0))|0); + $12 = ($11|0)==(0); + if (!($12)) { + $13 = ((($0)) + 75|0); + HEAP8[$13>>0] = -1; + } + } + $14 = (___stdio_write($0,$1,$2)|0); + STACKTOP = sp;return ($14|0); +} +function ___shlim($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$sink = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($0)) + 104|0); + HEAP32[$2>>2] = $1; + $3 = ((($0)) + 8|0); + $4 = HEAP32[$3>>2]|0; + $5 = ((($0)) + 4|0); + $6 = HEAP32[$5>>2]|0; + $7 = $4; + $8 = $6; + $9 = (($7) - ($8))|0; + $10 = ((($0)) + 108|0); + HEAP32[$10>>2] = $9; + $11 = ($1|0)!=(0); + $12 = ($9|0)>($1|0); + $or$cond = $11 & $12; + $13 = (($6) + ($1)|0); + $$sink = $or$cond ? $13 : $4; + $14 = ((($0)) + 100|0); + HEAP32[$14>>2] = $$sink; + return; +} +function ___intscan($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$0154222 = 0, $$0157 = 0, $$0157$ = 0, $$0159 = 0, $$1155192 = 0, $$1158 = 0, $$1160 = 0, $$1160169 = 0, $$1165 = 0, $$1165167 = 0, $$1165168 = 0, $$166 = 0, $$2156210 = 0, $$2161$be = 0, $$2161$lcssa = 0, $$3162$be = 0, $$3162215 = 0, $$4163$be = 0, $$4163$lcssa = 0, $$5$be = 0; + var $$6$be = 0, $$6$lcssa = 0, $$7$be = 0, $$7198 = 0, $$8 = 0, $$9$be = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0; + var $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0; + var $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0; + var $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0; + var $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0; + var $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0; + var $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0; + var $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0; + var $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0; + var $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0; + var $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0; + var $294 = 0, $295 = 0, $296 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0; + var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0; + var $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, $or$cond12 = 0; + var $or$cond187 = 0, $or$cond5 = 0, $or$cond7 = 0, label = 0, sp = 0; + sp = STACKTOP; + $5 = ($1>>>0)>(36); + L1: do { + if ($5) { + $8 = (___errno_location()|0); + HEAP32[$8>>2] = 22; + $289 = 0;$290 = 0; + } else { + $6 = ((($0)) + 4|0); + $7 = ((($0)) + 100|0); + while(1) { + $9 = HEAP32[$6>>2]|0; + $10 = HEAP32[$7>>2]|0; + $11 = ($9>>>0)<($10>>>0); + if ($11) { + $12 = ((($9)) + 1|0); + HEAP32[$6>>2] = $12; + $13 = HEAP8[$9>>0]|0; + $14 = $13&255; + $16 = $14; + } else { + $15 = (___shgetc($0)|0); + $16 = $15; + } + $17 = (_isspace($16)|0); + $18 = ($17|0)==(0); + if ($18) { + break; + } + } + L11: do { + switch ($16|0) { + case 43: case 45: { + $19 = ($16|0)==(45); + $20 = $19 << 31 >> 31; + $21 = HEAP32[$6>>2]|0; + $22 = HEAP32[$7>>2]|0; + $23 = ($21>>>0)<($22>>>0); + if ($23) { + $24 = ((($21)) + 1|0); + HEAP32[$6>>2] = $24; + $25 = HEAP8[$21>>0]|0; + $26 = $25&255; + $$0157 = $20;$$0159 = $26; + break L11; + } else { + $27 = (___shgetc($0)|0); + $$0157 = $20;$$0159 = $27; + break L11; + } + break; + } + default: { + $$0157 = 0;$$0159 = $16; + } + } + } while(0); + $28 = ($1|0)==(0); + $29 = $1 | 16; + $30 = ($29|0)==(16); + $31 = ($$0159|0)==(48); + $or$cond5 = $30 & $31; + do { + if ($or$cond5) { + $32 = HEAP32[$6>>2]|0; + $33 = HEAP32[$7>>2]|0; + $34 = ($32>>>0)<($33>>>0); + if ($34) { + $35 = ((($32)) + 1|0); + HEAP32[$6>>2] = $35; + $36 = HEAP8[$32>>0]|0; + $37 = $36&255; + $40 = $37; + } else { + $38 = (___shgetc($0)|0); + $40 = $38; + } + $39 = $40 | 32; + $41 = ($39|0)==(120); + if (!($41)) { + if ($28) { + $$1160169 = $40;$$1165168 = 8; + label = 46; + break; + } else { + $$1160 = $40;$$1165 = $1; + label = 32; + break; + } + } + $42 = HEAP32[$6>>2]|0; + $43 = HEAP32[$7>>2]|0; + $44 = ($42>>>0)<($43>>>0); + if ($44) { + $45 = ((($42)) + 1|0); + HEAP32[$6>>2] = $45; + $46 = HEAP8[$42>>0]|0; + $47 = $46&255; + $50 = $47; + } else { + $48 = (___shgetc($0)|0); + $50 = $48; + } + $49 = ((21897) + ($50)|0); + $51 = HEAP8[$49>>0]|0; + $52 = ($51&255)>(15); + if ($52) { + $53 = HEAP32[$7>>2]|0; + $54 = ($53|0)!=(0|0); + if ($54) { + $55 = HEAP32[$6>>2]|0; + $56 = ((($55)) + -1|0); + HEAP32[$6>>2] = $56; + } + $57 = ($2|0)==(0); + if ($57) { + ___shlim($0,0); + $289 = 0;$290 = 0; + break L1; + } + if (!($54)) { + $289 = 0;$290 = 0; + break L1; + } + $58 = HEAP32[$6>>2]|0; + $59 = ((($58)) + -1|0); + HEAP32[$6>>2] = $59; + $289 = 0;$290 = 0; + break L1; + } else { + $$1160169 = $50;$$1165168 = 16; + label = 46; + } + } else { + $$166 = $28 ? 10 : $1; + $60 = ((21897) + ($$0159)|0); + $61 = HEAP8[$60>>0]|0; + $62 = $61&255; + $63 = ($62>>>0)<($$166>>>0); + if ($63) { + $$1160 = $$0159;$$1165 = $$166; + label = 32; + } else { + $64 = HEAP32[$7>>2]|0; + $65 = ($64|0)==(0|0); + if (!($65)) { + $66 = HEAP32[$6>>2]|0; + $67 = ((($66)) + -1|0); + HEAP32[$6>>2] = $67; + } + ___shlim($0,0); + $68 = (___errno_location()|0); + HEAP32[$68>>2] = 22; + $289 = 0;$290 = 0; + break L1; + } + } + } while(0); + L43: do { + if ((label|0) == 32) { + $69 = ($$1165|0)==(10); + if ($69) { + $70 = (($$1160) + -48)|0; + $71 = ($70>>>0)<(10); + if ($71) { + $$0154222 = 0;$74 = $70; + while(1) { + $72 = ($$0154222*10)|0; + $73 = (($72) + ($74))|0; + $75 = HEAP32[$6>>2]|0; + $76 = HEAP32[$7>>2]|0; + $77 = ($75>>>0)<($76>>>0); + if ($77) { + $78 = ((($75)) + 1|0); + HEAP32[$6>>2] = $78; + $79 = HEAP8[$75>>0]|0; + $80 = $79&255; + $$2161$be = $80; + } else { + $81 = (___shgetc($0)|0); + $$2161$be = $81; + } + $82 = (($$2161$be) + -48)|0; + $83 = ($82>>>0)<(10); + $84 = ($73>>>0)<(429496729); + $85 = $83 & $84; + if ($85) { + $$0154222 = $73;$74 = $82; + } else { + break; + } + } + $$2161$lcssa = $$2161$be;$291 = $73;$292 = 0; + } else { + $$2161$lcssa = $$1160;$291 = 0;$292 = 0; + } + $86 = (($$2161$lcssa) + -48)|0; + $87 = ($86>>>0)<(10); + if ($87) { + $$3162215 = $$2161$lcssa;$88 = $291;$89 = $292;$93 = $86; + while(1) { + $90 = (___muldi3(($88|0),($89|0),10,0)|0); + $91 = tempRet0; + $92 = ($93|0)<(0); + $94 = $92 << 31 >> 31; + $95 = $93 ^ -1; + $96 = $94 ^ -1; + $97 = ($91>>>0)>($96>>>0); + $98 = ($90>>>0)>($95>>>0); + $99 = ($91|0)==($96|0); + $100 = $99 & $98; + $101 = $97 | $100; + if ($101) { + $$1165167 = 10;$$8 = $$3162215;$293 = $88;$294 = $89; + label = 72; + break L43; + } + $102 = (_i64Add(($90|0),($91|0),($93|0),($94|0))|0); + $103 = tempRet0; + $104 = HEAP32[$6>>2]|0; + $105 = HEAP32[$7>>2]|0; + $106 = ($104>>>0)<($105>>>0); + if ($106) { + $107 = ((($104)) + 1|0); + HEAP32[$6>>2] = $107; + $108 = HEAP8[$104>>0]|0; + $109 = $108&255; + $$3162$be = $109; + } else { + $110 = (___shgetc($0)|0); + $$3162$be = $110; + } + $111 = (($$3162$be) + -48)|0; + $112 = ($111>>>0)<(10); + $113 = ($103>>>0)<(429496729); + $114 = ($102>>>0)<(2576980378); + $115 = ($103|0)==(429496729); + $116 = $115 & $114; + $117 = $113 | $116; + $or$cond7 = $112 & $117; + if ($or$cond7) { + $$3162215 = $$3162$be;$88 = $102;$89 = $103;$93 = $111; + } else { + break; + } + } + $118 = ($111>>>0)>(9); + if ($118) { + $$1158 = $$0157;$263 = $103;$265 = $102; + } else { + $$1165167 = 10;$$8 = $$3162$be;$293 = $102;$294 = $103; + label = 72; + } + } else { + $$1158 = $$0157;$263 = $292;$265 = $291; + } + } else { + $$1160169 = $$1160;$$1165168 = $$1165; + label = 46; + } + } + } while(0); + L63: do { + if ((label|0) == 46) { + $119 = (($$1165168) + -1)|0; + $120 = $119 & $$1165168; + $121 = ($120|0)==(0); + if ($121) { + $126 = ($$1165168*23)|0; + $127 = $126 >>> 5; + $128 = $127 & 7; + $129 = (22153 + ($128)|0); + $130 = HEAP8[$129>>0]|0; + $131 = $130 << 24 >> 24; + $132 = ((21897) + ($$1160169)|0); + $133 = HEAP8[$132>>0]|0; + $134 = $133&255; + $135 = ($134>>>0)<($$1165168>>>0); + if ($135) { + $$1155192 = 0;$138 = $134; + while(1) { + $136 = $$1155192 << $131; + $137 = $138 | $136; + $139 = HEAP32[$6>>2]|0; + $140 = HEAP32[$7>>2]|0; + $141 = ($139>>>0)<($140>>>0); + if ($141) { + $142 = ((($139)) + 1|0); + HEAP32[$6>>2] = $142; + $143 = HEAP8[$139>>0]|0; + $144 = $143&255; + $$4163$be = $144; + } else { + $145 = (___shgetc($0)|0); + $$4163$be = $145; + } + $146 = ((21897) + ($$4163$be)|0); + $147 = HEAP8[$146>>0]|0; + $148 = $147&255; + $149 = ($148>>>0)<($$1165168>>>0); + $150 = ($137>>>0)<(134217728); + $151 = $150 & $149; + if ($151) { + $$1155192 = $137;$138 = $148; + } else { + break; + } + } + $$4163$lcssa = $$4163$be;$155 = $147;$158 = 0;$160 = $137; + } else { + $$4163$lcssa = $$1160169;$155 = $133;$158 = 0;$160 = 0; + } + $152 = (_bitshift64Lshr(-1,-1,($131|0))|0); + $153 = tempRet0; + $154 = $155&255; + $156 = ($154>>>0)>=($$1165168>>>0); + $157 = ($158>>>0)>($153>>>0); + $159 = ($160>>>0)>($152>>>0); + $161 = ($158|0)==($153|0); + $162 = $161 & $159; + $163 = $157 | $162; + $or$cond187 = $156 | $163; + if ($or$cond187) { + $$1165167 = $$1165168;$$8 = $$4163$lcssa;$293 = $160;$294 = $158; + label = 72; + break; + } else { + $164 = $160;$165 = $158;$169 = $155; + } + while(1) { + $166 = (_bitshift64Shl(($164|0),($165|0),($131|0))|0); + $167 = tempRet0; + $168 = $169&255; + $170 = $168 | $166; + $171 = HEAP32[$6>>2]|0; + $172 = HEAP32[$7>>2]|0; + $173 = ($171>>>0)<($172>>>0); + if ($173) { + $174 = ((($171)) + 1|0); + HEAP32[$6>>2] = $174; + $175 = HEAP8[$171>>0]|0; + $176 = $175&255; + $$5$be = $176; + } else { + $177 = (___shgetc($0)|0); + $$5$be = $177; + } + $178 = ((21897) + ($$5$be)|0); + $179 = HEAP8[$178>>0]|0; + $180 = $179&255; + $181 = ($180>>>0)>=($$1165168>>>0); + $182 = ($167>>>0)>($153>>>0); + $183 = ($170>>>0)>($152>>>0); + $184 = ($167|0)==($153|0); + $185 = $184 & $183; + $186 = $182 | $185; + $or$cond = $181 | $186; + if ($or$cond) { + $$1165167 = $$1165168;$$8 = $$5$be;$293 = $170;$294 = $167; + label = 72; + break L63; + } else { + $164 = $170;$165 = $167;$169 = $179; + } + } + } + $122 = ((21897) + ($$1160169)|0); + $123 = HEAP8[$122>>0]|0; + $124 = $123&255; + $125 = ($124>>>0)<($$1165168>>>0); + if ($125) { + $$2156210 = 0;$189 = $124; + while(1) { + $187 = Math_imul($$2156210, $$1165168)|0; + $188 = (($189) + ($187))|0; + $190 = HEAP32[$6>>2]|0; + $191 = HEAP32[$7>>2]|0; + $192 = ($190>>>0)<($191>>>0); + if ($192) { + $193 = ((($190)) + 1|0); + HEAP32[$6>>2] = $193; + $194 = HEAP8[$190>>0]|0; + $195 = $194&255; + $$6$be = $195; + } else { + $196 = (___shgetc($0)|0); + $$6$be = $196; + } + $197 = ((21897) + ($$6$be)|0); + $198 = HEAP8[$197>>0]|0; + $199 = $198&255; + $200 = ($199>>>0)<($$1165168>>>0); + $201 = ($188>>>0)<(119304647); + $202 = $201 & $200; + if ($202) { + $$2156210 = $188;$189 = $199; + } else { + break; + } + } + $$6$lcssa = $$6$be;$204 = $198;$295 = $188;$296 = 0; + } else { + $$6$lcssa = $$1160169;$204 = $123;$295 = 0;$296 = 0; + } + $203 = $204&255; + $205 = ($203>>>0)<($$1165168>>>0); + if ($205) { + $206 = (___udivdi3(-1,-1,($$1165168|0),0)|0); + $207 = tempRet0; + $$7198 = $$6$lcssa;$209 = $296;$211 = $295;$218 = $204; + while(1) { + $208 = ($209>>>0)>($207>>>0); + $210 = ($211>>>0)>($206>>>0); + $212 = ($209|0)==($207|0); + $213 = $212 & $210; + $214 = $208 | $213; + if ($214) { + $$1165167 = $$1165168;$$8 = $$7198;$293 = $211;$294 = $209; + label = 72; + break L63; + } + $215 = (___muldi3(($211|0),($209|0),($$1165168|0),0)|0); + $216 = tempRet0; + $217 = $218&255; + $219 = $217 ^ -1; + $220 = ($216>>>0)>(4294967295); + $221 = ($215>>>0)>($219>>>0); + $222 = ($216|0)==(-1); + $223 = $222 & $221; + $224 = $220 | $223; + if ($224) { + $$1165167 = $$1165168;$$8 = $$7198;$293 = $211;$294 = $209; + label = 72; + break L63; + } + $225 = (_i64Add(($217|0),0,($215|0),($216|0))|0); + $226 = tempRet0; + $227 = HEAP32[$6>>2]|0; + $228 = HEAP32[$7>>2]|0; + $229 = ($227>>>0)<($228>>>0); + if ($229) { + $230 = ((($227)) + 1|0); + HEAP32[$6>>2] = $230; + $231 = HEAP8[$227>>0]|0; + $232 = $231&255; + $$7$be = $232; + } else { + $233 = (___shgetc($0)|0); + $$7$be = $233; + } + $234 = ((21897) + ($$7$be)|0); + $235 = HEAP8[$234>>0]|0; + $236 = $235&255; + $237 = ($236>>>0)<($$1165168>>>0); + if ($237) { + $$7198 = $$7$be;$209 = $226;$211 = $225;$218 = $235; + } else { + $$1165167 = $$1165168;$$8 = $$7$be;$293 = $225;$294 = $226; + label = 72; + break; + } + } + } else { + $$1165167 = $$1165168;$$8 = $$6$lcssa;$293 = $295;$294 = $296; + label = 72; + } + } + } while(0); + if ((label|0) == 72) { + $238 = ((21897) + ($$8)|0); + $239 = HEAP8[$238>>0]|0; + $240 = $239&255; + $241 = ($240>>>0)<($$1165167>>>0); + if ($241) { + while(1) { + $242 = HEAP32[$6>>2]|0; + $243 = HEAP32[$7>>2]|0; + $244 = ($242>>>0)<($243>>>0); + if ($244) { + $245 = ((($242)) + 1|0); + HEAP32[$6>>2] = $245; + $246 = HEAP8[$242>>0]|0; + $247 = $246&255; + $$9$be = $247; + } else { + $248 = (___shgetc($0)|0); + $$9$be = $248; + } + $249 = ((21897) + ($$9$be)|0); + $250 = HEAP8[$249>>0]|0; + $251 = $250&255; + $252 = ($251>>>0)<($$1165167>>>0); + if (!($252)) { + break; + } + } + $253 = (___errno_location()|0); + HEAP32[$253>>2] = 34; + $254 = $3 & 1; + $255 = ($254|0)==(0); + $256 = (0)==(0); + $257 = $255 & $256; + $$0157$ = $257 ? $$0157 : 0; + $$1158 = $$0157$;$263 = $4;$265 = $3; + } else { + $$1158 = $$0157;$263 = $294;$265 = $293; + } + } + $258 = HEAP32[$7>>2]|0; + $259 = ($258|0)==(0|0); + if (!($259)) { + $260 = HEAP32[$6>>2]|0; + $261 = ((($260)) + -1|0); + HEAP32[$6>>2] = $261; + } + $262 = ($263>>>0)<($4>>>0); + $264 = ($265>>>0)<($3>>>0); + $266 = ($263|0)==($4|0); + $267 = $266 & $264; + $268 = $262 | $267; + if (!($268)) { + $269 = $3 & 1; + $270 = ($269|0)!=(0); + $271 = (0)!=(0); + $272 = $270 | $271; + $273 = ($$1158|0)!=(0); + $or$cond12 = $272 | $273; + if (!($or$cond12)) { + $274 = (___errno_location()|0); + HEAP32[$274>>2] = 34; + $275 = (_i64Add(($3|0),($4|0),-1,-1)|0); + $276 = tempRet0; + $289 = $276;$290 = $275; + break; + } + $277 = ($263>>>0)>($4>>>0); + $278 = ($265>>>0)>($3>>>0); + $279 = ($263|0)==($4|0); + $280 = $279 & $278; + $281 = $277 | $280; + if ($281) { + $282 = (___errno_location()|0); + HEAP32[$282>>2] = 34; + $289 = $4;$290 = $3; + break; + } + } + $283 = ($$1158|0)<(0); + $284 = $283 << 31 >> 31; + $285 = $265 ^ $$1158; + $286 = $263 ^ $284; + $287 = (_i64Subtract(($285|0),($286|0),($$1158|0),($284|0))|0); + $288 = tempRet0; + $289 = $288;$290 = $287; + } + } while(0); + tempRet0 = ($289); + return ($290|0); +} +function ___shgetc($0) { + $0 = $0|0; + var $$0 = 0, $$phi$trans$insert = 0, $$phi$trans$insert28$phi$trans$insert = 0, $$pre = 0, $$pre$phi34Z2D = 0, $$pre29$pre = 0, $$pre35 = 0, $$sink = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0; + var $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0; + var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 104|0); + $2 = HEAP32[$1>>2]|0; + $3 = ($2|0)==(0); + if ($3) { + label = 3; + } else { + $4 = ((($0)) + 108|0); + $5 = HEAP32[$4>>2]|0; + $6 = ($5|0)<($2|0); + if ($6) { + label = 3; + } else { + label = 4; + } + } + if ((label|0) == 3) { + $7 = (___uflow($0)|0); + $8 = ($7|0)<(0); + if ($8) { + label = 4; + } else { + $10 = HEAP32[$1>>2]|0; + $11 = ($10|0)==(0); + $$phi$trans$insert = ((($0)) + 8|0); + if ($11) { + $$pre = HEAP32[$$phi$trans$insert>>2]|0; + $$phi$trans$insert28$phi$trans$insert = ((($0)) + 4|0); + $$pre29$pre = HEAP32[$$phi$trans$insert28$phi$trans$insert>>2]|0; + $$pre35 = ((($0)) + 108|0); + $$pre$phi34Z2D = $$pre35;$$sink = $$pre;$26 = $$pre;$29 = $$pre29$pre; + } else { + $12 = HEAP32[$$phi$trans$insert>>2]|0; + $13 = ((($0)) + 4|0); + $14 = HEAP32[$13>>2]|0; + $15 = $14; + $16 = (($12) - ($15))|0; + $17 = ((($0)) + 108|0); + $18 = HEAP32[$17>>2]|0; + $19 = (($10) - ($18))|0; + $20 = ($16|0)<($19|0); + $21 = $12; + if ($20) { + $$pre$phi34Z2D = $17;$$sink = $21;$26 = $21;$29 = $14; + } else { + $22 = (($19) + -1)|0; + $23 = (($14) + ($22)|0); + $$pre$phi34Z2D = $17;$$sink = $23;$26 = $21;$29 = $14; + } + } + $24 = ((($0)) + 100|0); + HEAP32[$24>>2] = $$sink; + $25 = ($26|0)==(0|0); + if (!($25)) { + $27 = $26; + $28 = $29; + $30 = HEAP32[$$pre$phi34Z2D>>2]|0; + $31 = (($27) + 1)|0; + $32 = (($31) - ($28))|0; + $33 = (($32) + ($30))|0; + HEAP32[$$pre$phi34Z2D>>2] = $33; + } + $34 = ((($29)) + -1|0); + $35 = HEAP8[$34>>0]|0; + $36 = $35&255; + $37 = ($36|0)==($7|0); + if ($37) { + $$0 = $7; + } else { + $38 = $7&255; + HEAP8[$34>>0] = $38; + $$0 = $7; + } + } + } + if ((label|0) == 4) { + $9 = ((($0)) + 100|0); + HEAP32[$9>>2] = 0; + $$0 = -1; + } + return ($$0|0); +} +function _isspace($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ($0|0)==(32); + $2 = (($0) + -9)|0; + $3 = ($2>>>0)<(5); + $4 = $1 | $3; + $5 = $4&1; + return ($5|0); +} +function ___uflow($0) { + $0 = $0|0; + var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $1 = sp; + $2 = (___toread($0)|0); + $3 = ($2|0)==(0); + if ($3) { + $4 = ((($0)) + 32|0); + $5 = HEAP32[$4>>2]|0; + $6 = (FUNCTION_TABLE_iiii[$5 & 15]($0,$1,1)|0); + $7 = ($6|0)==(1); + if ($7) { + $8 = HEAP8[$1>>0]|0; + $9 = $8&255; + $$0 = $9; + } else { + $$0 = -1; + } + } else { + $$0 = -1; + } + STACKTOP = sp;return ($$0|0); +} +function ___toread($0) { + $0 = $0|0; + var $$0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $sext = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 74|0); + $2 = HEAP8[$1>>0]|0; + $3 = $2 << 24 >> 24; + $4 = (($3) + 255)|0; + $5 = $4 | $3; + $6 = $5&255; + HEAP8[$1>>0] = $6; + $7 = ((($0)) + 20|0); + $8 = HEAP32[$7>>2]|0; + $9 = ((($0)) + 28|0); + $10 = HEAP32[$9>>2]|0; + $11 = ($8>>>0)>($10>>>0); + if ($11) { + $12 = ((($0)) + 36|0); + $13 = HEAP32[$12>>2]|0; + (FUNCTION_TABLE_iiii[$13 & 15]($0,0,0)|0); + } + $14 = ((($0)) + 16|0); + HEAP32[$14>>2] = 0; + HEAP32[$9>>2] = 0; + HEAP32[$7>>2] = 0; + $15 = HEAP32[$0>>2]|0; + $16 = $15 & 4; + $17 = ($16|0)==(0); + if ($17) { + $19 = ((($0)) + 44|0); + $20 = HEAP32[$19>>2]|0; + $21 = ((($0)) + 48|0); + $22 = HEAP32[$21>>2]|0; + $23 = (($20) + ($22)|0); + $24 = ((($0)) + 8|0); + HEAP32[$24>>2] = $23; + $25 = ((($0)) + 4|0); + HEAP32[$25>>2] = $23; + $26 = $15 << 27; + $sext = $26 >> 31; + $$0 = $sext; + } else { + $18 = $15 | 32; + HEAP32[$0>>2] = $18; + $$0 = -1; + } + return ($$0|0); +} +function _copysign($0,$1) { + $0 = +$0; + $1 = +$1; + var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF64[tempDoublePtr>>3] = $0;$2 = HEAP32[tempDoublePtr>>2]|0; + $3 = HEAP32[tempDoublePtr+4>>2]|0; + HEAPF64[tempDoublePtr>>3] = $1;$4 = HEAP32[tempDoublePtr>>2]|0; + $5 = HEAP32[tempDoublePtr+4>>2]|0; + $6 = $3 & 2147483647; + $7 = $5 & -2147483648; + $8 = $7 | $6; + HEAP32[tempDoublePtr>>2] = $2;HEAP32[tempDoublePtr+4>>2] = $8;$9 = +HEAPF64[tempDoublePtr>>3]; + return (+$9); +} +function _strcmp($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$011 = 0, $$0710 = 0, $$lcssa = 0, $$lcssa8 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond9 = 0, label = 0; + var sp = 0; + sp = STACKTOP; + $2 = HEAP8[$0>>0]|0; + $3 = HEAP8[$1>>0]|0; + $4 = ($2<<24>>24)!=($3<<24>>24); + $5 = ($2<<24>>24)==(0); + $or$cond9 = $5 | $4; + if ($or$cond9) { + $$lcssa = $3;$$lcssa8 = $2; + } else { + $$011 = $1;$$0710 = $0; + while(1) { + $6 = ((($$0710)) + 1|0); + $7 = ((($$011)) + 1|0); + $8 = HEAP8[$6>>0]|0; + $9 = HEAP8[$7>>0]|0; + $10 = ($8<<24>>24)!=($9<<24>>24); + $11 = ($8<<24>>24)==(0); + $or$cond = $11 | $10; + if ($or$cond) { + $$lcssa = $9;$$lcssa8 = $8; + break; + } else { + $$011 = $7;$$0710 = $6; + } + } + } + $12 = $$lcssa8&255; + $13 = $$lcssa&255; + $14 = (($12) - ($13))|0; + return ($14|0); +} +function _memcmp($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$01318 = 0, $$01417 = 0, $$019 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ($2|0)==(0); + L1: do { + if ($3) { + $14 = 0; + } else { + $$01318 = $0;$$01417 = $2;$$019 = $1; + while(1) { + $4 = HEAP8[$$01318>>0]|0; + $5 = HEAP8[$$019>>0]|0; + $6 = ($4<<24>>24)==($5<<24>>24); + if (!($6)) { + break; + } + $7 = (($$01417) + -1)|0; + $8 = ((($$01318)) + 1|0); + $9 = ((($$019)) + 1|0); + $10 = ($7|0)==(0); + if ($10) { + $14 = 0; + break L1; + } else { + $$01318 = $8;$$01417 = $7;$$019 = $9; + } + } + $11 = $4&255; + $12 = $5&255; + $13 = (($11) - ($12))|0; + $14 = $13; + } + } while(0); + return ($14|0); +} +function _strncmp($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$01824 = 0, $$01926 = 0, $$01926$in = 0, $$020 = 0, $$025 = 0, $$lcssa = 0, $$lcssa22 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0; + var $23 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond21 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ($2|0)==(0); + if ($3) { + $$020 = 0; + } else { + $4 = HEAP8[$0>>0]|0; + $5 = $4&255; + $6 = ($4<<24>>24)==(0); + $7 = HEAP8[$1>>0]|0; + $8 = $7&255; + L3: do { + if ($6) { + $$lcssa = $8;$$lcssa22 = $5; + } else { + $$01824 = $0;$$01926$in = $2;$$025 = $1;$10 = $7;$13 = $4;$22 = $8;$23 = $5; + while(1) { + $$01926 = (($$01926$in) + -1)|0; + $9 = ($10<<24>>24)!=(0); + $11 = ($$01926|0)!=(0); + $or$cond = $11 & $9; + $12 = ($13<<24>>24)==($10<<24>>24); + $or$cond21 = $12 & $or$cond; + if (!($or$cond21)) { + $$lcssa = $22;$$lcssa22 = $23; + break L3; + } + $14 = ((($$01824)) + 1|0); + $15 = ((($$025)) + 1|0); + $16 = HEAP8[$14>>0]|0; + $17 = $16&255; + $18 = ($16<<24>>24)==(0); + $19 = HEAP8[$15>>0]|0; + $20 = $19&255; + if ($18) { + $$lcssa = $20;$$lcssa22 = $17; + break; + } else { + $$01824 = $14;$$01926$in = $$01926;$$025 = $15;$10 = $19;$13 = $16;$22 = $20;$23 = $17; + } + } + } + } while(0); + $21 = (($$lcssa22) - ($$lcssa))|0; + $$020 = $21; + } + return ($$020|0); +} +function _vsprintf($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = (_vsnprintf($0,2147483647,$1,$2)|0); + return ($3|0); +} +function _vsnprintf($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$$015 = 0, $$0 = 0, $$014 = 0, $$015 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; + var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0); + $4 = sp + 124|0; + $5 = sp; + dest=$5; src=5508; stop=dest+124|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + $6 = (($1) + -1)|0; + $7 = ($6>>>0)>(2147483646); + if ($7) { + $8 = ($1|0)==(0); + if ($8) { + $$014 = $4;$$015 = 1; + label = 4; + } else { + $9 = (___errno_location()|0); + HEAP32[$9>>2] = 75; + $$0 = -1; + } + } else { + $$014 = $0;$$015 = $1; + label = 4; + } + if ((label|0) == 4) { + $10 = $$014; + $11 = (-2 - ($10))|0; + $12 = ($$015>>>0)>($11>>>0); + $$$015 = $12 ? $11 : $$015; + $13 = ((($5)) + 48|0); + HEAP32[$13>>2] = $$$015; + $14 = ((($5)) + 20|0); + HEAP32[$14>>2] = $$014; + $15 = ((($5)) + 44|0); + HEAP32[$15>>2] = $$014; + $16 = (($$014) + ($$$015)|0); + $17 = ((($5)) + 16|0); + HEAP32[$17>>2] = $16; + $18 = ((($5)) + 28|0); + HEAP32[$18>>2] = $16; + $19 = (_vfprintf($5,$2,$3)|0); + $20 = ($$$015|0)==(0); + if ($20) { + $$0 = $19; + } else { + $21 = HEAP32[$14>>2]|0; + $22 = HEAP32[$17>>2]|0; + $23 = ($21|0)==($22|0); + $24 = $23 << 31 >> 31; + $25 = (($21) + ($24)|0); + HEAP8[$25>>0] = 0; + $$0 = $19; + } + } + STACKTOP = sp;return ($$0|0); +} +function _vfprintf($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$ = 0, $$0 = 0, $$1 = 0, $$1$ = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; + var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $5 = 0, $6 = 0, $7 = 0; + var $8 = 0, $9 = 0, $vacopy_currentptr = 0, dest = 0, label = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 224|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(224|0); + $3 = sp + 120|0; + $4 = sp + 80|0; + $5 = sp; + $6 = sp + 136|0; + dest=$4; stop=dest+40|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + $vacopy_currentptr = HEAP32[$2>>2]|0; + HEAP32[$3>>2] = $vacopy_currentptr; + $7 = (_printf_core(0,$1,$3,$5,$4)|0); + $8 = ($7|0)<(0); + if ($8) { + $$0 = -1; + } else { + $9 = ((($0)) + 76|0); + $10 = HEAP32[$9>>2]|0; + $11 = ($10|0)>(-1); + if ($11) { + $12 = (___lockfile($0)|0); + $40 = $12; + } else { + $40 = 0; + } + $13 = HEAP32[$0>>2]|0; + $14 = $13 & 32; + $15 = ((($0)) + 74|0); + $16 = HEAP8[$15>>0]|0; + $17 = ($16<<24>>24)<(1); + if ($17) { + $18 = $13 & -33; + HEAP32[$0>>2] = $18; + } + $19 = ((($0)) + 48|0); + $20 = HEAP32[$19>>2]|0; + $21 = ($20|0)==(0); + if ($21) { + $23 = ((($0)) + 44|0); + $24 = HEAP32[$23>>2]|0; + HEAP32[$23>>2] = $6; + $25 = ((($0)) + 28|0); + HEAP32[$25>>2] = $6; + $26 = ((($0)) + 20|0); + HEAP32[$26>>2] = $6; + HEAP32[$19>>2] = 80; + $27 = ((($6)) + 80|0); + $28 = ((($0)) + 16|0); + HEAP32[$28>>2] = $27; + $29 = (_printf_core($0,$1,$3,$5,$4)|0); + $30 = ($24|0)==(0|0); + if ($30) { + $$1 = $29; + } else { + $31 = ((($0)) + 36|0); + $32 = HEAP32[$31>>2]|0; + (FUNCTION_TABLE_iiii[$32 & 15]($0,0,0)|0); + $33 = HEAP32[$26>>2]|0; + $34 = ($33|0)==(0|0); + $$ = $34 ? -1 : $29; + HEAP32[$23>>2] = $24; + HEAP32[$19>>2] = 0; + HEAP32[$28>>2] = 0; + HEAP32[$25>>2] = 0; + HEAP32[$26>>2] = 0; + $$1 = $$; + } + } else { + $22 = (_printf_core($0,$1,$3,$5,$4)|0); + $$1 = $22; + } + $35 = HEAP32[$0>>2]|0; + $36 = $35 & 32; + $37 = ($36|0)==(0); + $$1$ = $37 ? $$1 : -1; + $38 = $35 | $14; + HEAP32[$0>>2] = $38; + $39 = ($40|0)==(0); + if (!($39)) { + ___unlockfile($0); + } + $$0 = $$1$; + } + STACKTOP = sp;return ($$0|0); +} +function _printf_core($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$ = 0, $$$ = 0, $$$0259 = 0, $$$0262 = 0, $$$0269 = 0, $$$4266 = 0, $$$5 = 0, $$0 = 0, $$0228 = 0, $$0228$ = 0, $$0229322 = 0, $$0232 = 0, $$0235 = 0, $$0237 = 0, $$0240$lcssa = 0, $$0240$lcssa357 = 0, $$0240321 = 0, $$0243 = 0, $$0247 = 0, $$0249$lcssa = 0; + var $$0249306 = 0, $$0252 = 0, $$0253 = 0, $$0254 = 0, $$0254$$0254$ = 0, $$0259 = 0, $$0262$lcssa = 0, $$0262311 = 0, $$0269 = 0, $$0269$phi = 0, $$1 = 0, $$1230333 = 0, $$1233 = 0, $$1236 = 0, $$1238 = 0, $$1241332 = 0, $$1244320 = 0, $$1248 = 0, $$1250 = 0, $$1255 = 0; + var $$1260 = 0, $$1263 = 0, $$1263$ = 0, $$1270 = 0, $$2 = 0, $$2234 = 0, $$2239 = 0, $$2242305 = 0, $$2245 = 0, $$2251 = 0, $$2256 = 0, $$2256$ = 0, $$2256$$$2256 = 0, $$2261 = 0, $$2271 = 0, $$284$ = 0, $$289 = 0, $$290 = 0, $$3257 = 0, $$3265 = 0; + var $$3272 = 0, $$3303 = 0, $$377 = 0, $$4258355 = 0, $$4266 = 0, $$5 = 0, $$6268 = 0, $$lcssa295 = 0, $$pre = 0, $$pre346 = 0, $$pre347 = 0, $$pre347$pre = 0, $$pre349 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0; + var $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0; + var $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0; + var $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0; + var $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0; + var $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0; + var $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0; + var $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0; + var $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0; + var $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0; + var $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0; + var $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0; + var $306 = 0.0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0; + var $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; + var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0; + var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0; + var $arglist_current = 0, $arglist_current2 = 0, $arglist_next = 0, $arglist_next3 = 0, $expanded = 0, $expanded10 = 0, $expanded11 = 0, $expanded13 = 0, $expanded14 = 0, $expanded15 = 0, $expanded4 = 0, $expanded6 = 0, $expanded7 = 0, $expanded8 = 0, $isdigit = 0, $isdigit275 = 0, $isdigit277 = 0, $isdigittmp = 0, $isdigittmp$ = 0, $isdigittmp274 = 0; + var $isdigittmp276 = 0, $narrow = 0, $or$cond = 0, $or$cond281 = 0, $or$cond283 = 0, $or$cond286 = 0, $storemerge = 0, $storemerge273310 = 0, $storemerge278 = 0, $trunc = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $5 = sp + 16|0; + $6 = sp; + $7 = sp + 24|0; + $8 = sp + 8|0; + $9 = sp + 20|0; + HEAP32[$5>>2] = $1; + $10 = ($0|0)!=(0|0); + $11 = ((($7)) + 40|0); + $12 = $11; + $13 = ((($7)) + 39|0); + $14 = ((($8)) + 4|0); + $$0243 = 0;$$0247 = 0;$$0269 = 0;$21 = $1; + L1: while(1) { + $15 = ($$0247|0)>(-1); + do { + if ($15) { + $16 = (2147483647 - ($$0247))|0; + $17 = ($$0243|0)>($16|0); + if ($17) { + $18 = (___errno_location()|0); + HEAP32[$18>>2] = 75; + $$1248 = -1; + break; + } else { + $19 = (($$0243) + ($$0247))|0; + $$1248 = $19; + break; + } + } else { + $$1248 = $$0247; + } + } while(0); + $20 = HEAP8[$21>>0]|0; + $22 = ($20<<24>>24)==(0); + if ($22) { + label = 87; + break; + } else { + $23 = $20;$25 = $21; + } + L9: while(1) { + switch ($23<<24>>24) { + case 37: { + $$0249306 = $25;$27 = $25; + label = 9; + break L9; + break; + } + case 0: { + $$0249$lcssa = $25;$39 = $25; + break L9; + break; + } + default: { + } + } + $24 = ((($25)) + 1|0); + HEAP32[$5>>2] = $24; + $$pre = HEAP8[$24>>0]|0; + $23 = $$pre;$25 = $24; + } + L12: do { + if ((label|0) == 9) { + while(1) { + label = 0; + $26 = ((($27)) + 1|0); + $28 = HEAP8[$26>>0]|0; + $29 = ($28<<24>>24)==(37); + if (!($29)) { + $$0249$lcssa = $$0249306;$39 = $27; + break L12; + } + $30 = ((($$0249306)) + 1|0); + $31 = ((($27)) + 2|0); + HEAP32[$5>>2] = $31; + $32 = HEAP8[$31>>0]|0; + $33 = ($32<<24>>24)==(37); + if ($33) { + $$0249306 = $30;$27 = $31; + label = 9; + } else { + $$0249$lcssa = $30;$39 = $31; + break; + } + } + } + } while(0); + $34 = $$0249$lcssa; + $35 = $21; + $36 = (($34) - ($35))|0; + if ($10) { + _out($0,$21,$36); + } + $37 = ($36|0)==(0); + if (!($37)) { + $$0269$phi = $$0269;$$0243 = $36;$$0247 = $$1248;$21 = $39;$$0269 = $$0269$phi; + continue; + } + $38 = ((($39)) + 1|0); + $40 = HEAP8[$38>>0]|0; + $41 = $40 << 24 >> 24; + $isdigittmp = (($41) + -48)|0; + $isdigit = ($isdigittmp>>>0)<(10); + if ($isdigit) { + $42 = ((($39)) + 2|0); + $43 = HEAP8[$42>>0]|0; + $44 = ($43<<24>>24)==(36); + $45 = ((($39)) + 3|0); + $$377 = $44 ? $45 : $38; + $$$0269 = $44 ? 1 : $$0269; + $isdigittmp$ = $44 ? $isdigittmp : -1; + $$0253 = $isdigittmp$;$$1270 = $$$0269;$storemerge = $$377; + } else { + $$0253 = -1;$$1270 = $$0269;$storemerge = $38; + } + HEAP32[$5>>2] = $storemerge; + $46 = HEAP8[$storemerge>>0]|0; + $47 = $46 << 24 >> 24; + $48 = (($47) + -32)|0; + $49 = ($48>>>0)<(32); + L24: do { + if ($49) { + $$0262311 = 0;$329 = $46;$51 = $48;$storemerge273310 = $storemerge; + while(1) { + $50 = 1 << $51; + $52 = $50 & 75913; + $53 = ($52|0)==(0); + if ($53) { + $$0262$lcssa = $$0262311;$$lcssa295 = $329;$62 = $storemerge273310; + break L24; + } + $54 = $50 | $$0262311; + $55 = ((($storemerge273310)) + 1|0); + HEAP32[$5>>2] = $55; + $56 = HEAP8[$55>>0]|0; + $57 = $56 << 24 >> 24; + $58 = (($57) + -32)|0; + $59 = ($58>>>0)<(32); + if ($59) { + $$0262311 = $54;$329 = $56;$51 = $58;$storemerge273310 = $55; + } else { + $$0262$lcssa = $54;$$lcssa295 = $56;$62 = $55; + break; + } + } + } else { + $$0262$lcssa = 0;$$lcssa295 = $46;$62 = $storemerge; + } + } while(0); + $60 = ($$lcssa295<<24>>24)==(42); + if ($60) { + $61 = ((($62)) + 1|0); + $63 = HEAP8[$61>>0]|0; + $64 = $63 << 24 >> 24; + $isdigittmp276 = (($64) + -48)|0; + $isdigit277 = ($isdigittmp276>>>0)<(10); + if ($isdigit277) { + $65 = ((($62)) + 2|0); + $66 = HEAP8[$65>>0]|0; + $67 = ($66<<24>>24)==(36); + if ($67) { + $68 = (($4) + ($isdigittmp276<<2)|0); + HEAP32[$68>>2] = 10; + $69 = HEAP8[$61>>0]|0; + $70 = $69 << 24 >> 24; + $71 = (($70) + -48)|0; + $72 = (($3) + ($71<<3)|0); + $73 = $72; + $74 = $73; + $75 = HEAP32[$74>>2]|0; + $76 = (($73) + 4)|0; + $77 = $76; + $78 = HEAP32[$77>>2]|0; + $79 = ((($62)) + 3|0); + $$0259 = $75;$$2271 = 1;$storemerge278 = $79; + } else { + label = 23; + } + } else { + label = 23; + } + if ((label|0) == 23) { + label = 0; + $80 = ($$1270|0)==(0); + if (!($80)) { + $$0 = -1; + break; + } + if ($10) { + $arglist_current = HEAP32[$2>>2]|0; + $81 = $arglist_current; + $82 = ((0) + 4|0); + $expanded4 = $82; + $expanded = (($expanded4) - 1)|0; + $83 = (($81) + ($expanded))|0; + $84 = ((0) + 4|0); + $expanded8 = $84; + $expanded7 = (($expanded8) - 1)|0; + $expanded6 = $expanded7 ^ -1; + $85 = $83 & $expanded6; + $86 = $85; + $87 = HEAP32[$86>>2]|0; + $arglist_next = ((($86)) + 4|0); + HEAP32[$2>>2] = $arglist_next; + $$0259 = $87;$$2271 = 0;$storemerge278 = $61; + } else { + $$0259 = 0;$$2271 = 0;$storemerge278 = $61; + } + } + HEAP32[$5>>2] = $storemerge278; + $88 = ($$0259|0)<(0); + $89 = $$0262$lcssa | 8192; + $90 = (0 - ($$0259))|0; + $$$0262 = $88 ? $89 : $$0262$lcssa; + $$$0259 = $88 ? $90 : $$0259; + $$1260 = $$$0259;$$1263 = $$$0262;$$3272 = $$2271;$94 = $storemerge278; + } else { + $91 = (_getint($5)|0); + $92 = ($91|0)<(0); + if ($92) { + $$0 = -1; + break; + } + $$pre346 = HEAP32[$5>>2]|0; + $$1260 = $91;$$1263 = $$0262$lcssa;$$3272 = $$1270;$94 = $$pre346; + } + $93 = HEAP8[$94>>0]|0; + $95 = ($93<<24>>24)==(46); + do { + if ($95) { + $96 = ((($94)) + 1|0); + $97 = HEAP8[$96>>0]|0; + $98 = ($97<<24>>24)==(42); + if (!($98)) { + $125 = ((($94)) + 1|0); + HEAP32[$5>>2] = $125; + $126 = (_getint($5)|0); + $$pre347$pre = HEAP32[$5>>2]|0; + $$0254 = $126;$$pre347 = $$pre347$pre; + break; + } + $99 = ((($94)) + 2|0); + $100 = HEAP8[$99>>0]|0; + $101 = $100 << 24 >> 24; + $isdigittmp274 = (($101) + -48)|0; + $isdigit275 = ($isdigittmp274>>>0)<(10); + if ($isdigit275) { + $102 = ((($94)) + 3|0); + $103 = HEAP8[$102>>0]|0; + $104 = ($103<<24>>24)==(36); + if ($104) { + $105 = (($4) + ($isdigittmp274<<2)|0); + HEAP32[$105>>2] = 10; + $106 = HEAP8[$99>>0]|0; + $107 = $106 << 24 >> 24; + $108 = (($107) + -48)|0; + $109 = (($3) + ($108<<3)|0); + $110 = $109; + $111 = $110; + $112 = HEAP32[$111>>2]|0; + $113 = (($110) + 4)|0; + $114 = $113; + $115 = HEAP32[$114>>2]|0; + $116 = ((($94)) + 4|0); + HEAP32[$5>>2] = $116; + $$0254 = $112;$$pre347 = $116; + break; + } + } + $117 = ($$3272|0)==(0); + if (!($117)) { + $$0 = -1; + break L1; + } + if ($10) { + $arglist_current2 = HEAP32[$2>>2]|0; + $118 = $arglist_current2; + $119 = ((0) + 4|0); + $expanded11 = $119; + $expanded10 = (($expanded11) - 1)|0; + $120 = (($118) + ($expanded10))|0; + $121 = ((0) + 4|0); + $expanded15 = $121; + $expanded14 = (($expanded15) - 1)|0; + $expanded13 = $expanded14 ^ -1; + $122 = $120 & $expanded13; + $123 = $122; + $124 = HEAP32[$123>>2]|0; + $arglist_next3 = ((($123)) + 4|0); + HEAP32[$2>>2] = $arglist_next3; + $330 = $124; + } else { + $330 = 0; + } + HEAP32[$5>>2] = $99; + $$0254 = $330;$$pre347 = $99; + } else { + $$0254 = -1;$$pre347 = $94; + } + } while(0); + $$0252 = 0;$128 = $$pre347; + while(1) { + $127 = HEAP8[$128>>0]|0; + $129 = $127 << 24 >> 24; + $130 = (($129) + -65)|0; + $131 = ($130>>>0)>(57); + if ($131) { + $$0 = -1; + break L1; + } + $132 = ((($128)) + 1|0); + HEAP32[$5>>2] = $132; + $133 = HEAP8[$128>>0]|0; + $134 = $133 << 24 >> 24; + $135 = (($134) + -65)|0; + $136 = ((22162 + (($$0252*58)|0)|0) + ($135)|0); + $137 = HEAP8[$136>>0]|0; + $138 = $137&255; + $139 = (($138) + -1)|0; + $140 = ($139>>>0)<(8); + if ($140) { + $$0252 = $138;$128 = $132; + } else { + break; + } + } + $141 = ($137<<24>>24)==(0); + if ($141) { + $$0 = -1; + break; + } + $142 = ($137<<24>>24)==(19); + $143 = ($$0253|0)>(-1); + do { + if ($142) { + if ($143) { + $$0 = -1; + break L1; + } else { + label = 49; + } + } else { + if ($143) { + $144 = (($4) + ($$0253<<2)|0); + HEAP32[$144>>2] = $138; + $145 = (($3) + ($$0253<<3)|0); + $146 = $145; + $147 = $146; + $148 = HEAP32[$147>>2]|0; + $149 = (($146) + 4)|0; + $150 = $149; + $151 = HEAP32[$150>>2]|0; + $152 = $6; + $153 = $152; + HEAP32[$153>>2] = $148; + $154 = (($152) + 4)|0; + $155 = $154; + HEAP32[$155>>2] = $151; + label = 49; + break; + } + if (!($10)) { + $$0 = 0; + break L1; + } + _pop_arg($6,$138,$2); + } + } while(0); + if ((label|0) == 49) { + label = 0; + if (!($10)) { + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue; + } + } + $156 = HEAP8[$128>>0]|0; + $157 = $156 << 24 >> 24; + $158 = ($$0252|0)!=(0); + $159 = $157 & 15; + $160 = ($159|0)==(3); + $or$cond281 = $158 & $160; + $161 = $157 & -33; + $$0235 = $or$cond281 ? $161 : $157; + $162 = $$1263 & 8192; + $163 = ($162|0)==(0); + $164 = $$1263 & -65537; + $$1263$ = $163 ? $$1263 : $164; + L71: do { + switch ($$0235|0) { + case 110: { + $trunc = $$0252&255; + switch ($trunc<<24>>24) { + case 0: { + $171 = HEAP32[$6>>2]|0; + HEAP32[$171>>2] = $$1248; + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + case 1: { + $172 = HEAP32[$6>>2]|0; + HEAP32[$172>>2] = $$1248; + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + case 2: { + $173 = ($$1248|0)<(0); + $174 = $173 << 31 >> 31; + $175 = HEAP32[$6>>2]|0; + $176 = $175; + $177 = $176; + HEAP32[$177>>2] = $$1248; + $178 = (($176) + 4)|0; + $179 = $178; + HEAP32[$179>>2] = $174; + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + case 3: { + $180 = $$1248&65535; + $181 = HEAP32[$6>>2]|0; + HEAP16[$181>>1] = $180; + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + case 4: { + $182 = $$1248&255; + $183 = HEAP32[$6>>2]|0; + HEAP8[$183>>0] = $182; + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + case 6: { + $184 = HEAP32[$6>>2]|0; + HEAP32[$184>>2] = $$1248; + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + case 7: { + $185 = ($$1248|0)<(0); + $186 = $185 << 31 >> 31; + $187 = HEAP32[$6>>2]|0; + $188 = $187; + $189 = $188; + HEAP32[$189>>2] = $$1248; + $190 = (($188) + 4)|0; + $191 = $190; + HEAP32[$191>>2] = $186; + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + default: { + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + } + } + break; + } + case 112: { + $192 = ($$0254>>>0)>(8); + $193 = $192 ? $$0254 : 8; + $194 = $$1263$ | 8; + $$1236 = 120;$$1255 = $193;$$3265 = $194; + label = 61; + break; + } + case 88: case 120: { + $$1236 = $$0235;$$1255 = $$0254;$$3265 = $$1263$; + label = 61; + break; + } + case 111: { + $210 = $6; + $211 = $210; + $212 = HEAP32[$211>>2]|0; + $213 = (($210) + 4)|0; + $214 = $213; + $215 = HEAP32[$214>>2]|0; + $216 = (_fmt_o($212,$215,$11)|0); + $217 = $$1263$ & 8; + $218 = ($217|0)==(0); + $219 = $216; + $220 = (($12) - ($219))|0; + $221 = ($$0254|0)>($220|0); + $222 = (($220) + 1)|0; + $223 = $218 | $221; + $$0254$$0254$ = $223 ? $$0254 : $222; + $$0228 = $216;$$1233 = 0;$$1238 = 22626;$$2256 = $$0254$$0254$;$$4266 = $$1263$;$248 = $212;$250 = $215; + label = 67; + break; + } + case 105: case 100: { + $224 = $6; + $225 = $224; + $226 = HEAP32[$225>>2]|0; + $227 = (($224) + 4)|0; + $228 = $227; + $229 = HEAP32[$228>>2]|0; + $230 = ($229|0)<(0); + if ($230) { + $231 = (_i64Subtract(0,0,($226|0),($229|0))|0); + $232 = tempRet0; + $233 = $6; + $234 = $233; + HEAP32[$234>>2] = $231; + $235 = (($233) + 4)|0; + $236 = $235; + HEAP32[$236>>2] = $232; + $$0232 = 1;$$0237 = 22626;$242 = $231;$243 = $232; + label = 66; + break L71; + } else { + $237 = $$1263$ & 2048; + $238 = ($237|0)==(0); + $239 = $$1263$ & 1; + $240 = ($239|0)==(0); + $$ = $240 ? 22626 : (22628); + $$$ = $238 ? $$ : (22627); + $241 = $$1263$ & 2049; + $narrow = ($241|0)!=(0); + $$284$ = $narrow&1; + $$0232 = $$284$;$$0237 = $$$;$242 = $226;$243 = $229; + label = 66; + break L71; + } + break; + } + case 117: { + $165 = $6; + $166 = $165; + $167 = HEAP32[$166>>2]|0; + $168 = (($165) + 4)|0; + $169 = $168; + $170 = HEAP32[$169>>2]|0; + $$0232 = 0;$$0237 = 22626;$242 = $167;$243 = $170; + label = 66; + break; + } + case 99: { + $259 = $6; + $260 = $259; + $261 = HEAP32[$260>>2]|0; + $262 = (($259) + 4)|0; + $263 = $262; + $264 = HEAP32[$263>>2]|0; + $265 = $261&255; + HEAP8[$13>>0] = $265; + $$2 = $13;$$2234 = 0;$$2239 = 22626;$$2251 = $11;$$5 = 1;$$6268 = $164; + break; + } + case 109: { + $266 = (___errno_location()|0); + $267 = HEAP32[$266>>2]|0; + $268 = (_strerror($267)|0); + $$1 = $268; + label = 71; + break; + } + case 115: { + $269 = HEAP32[$6>>2]|0; + $270 = ($269|0)!=(0|0); + $271 = $270 ? $269 : 22636; + $$1 = $271; + label = 71; + break; + } + case 67: { + $278 = $6; + $279 = $278; + $280 = HEAP32[$279>>2]|0; + $281 = (($278) + 4)|0; + $282 = $281; + $283 = HEAP32[$282>>2]|0; + HEAP32[$8>>2] = $280; + HEAP32[$14>>2] = 0; + HEAP32[$6>>2] = $8; + $$4258355 = -1;$331 = $8; + label = 75; + break; + } + case 83: { + $$pre349 = HEAP32[$6>>2]|0; + $284 = ($$0254|0)==(0); + if ($284) { + _pad_674($0,32,$$1260,0,$$1263$); + $$0240$lcssa357 = 0; + label = 84; + } else { + $$4258355 = $$0254;$331 = $$pre349; + label = 75; + } + break; + } + case 65: case 71: case 70: case 69: case 97: case 103: case 102: case 101: { + $306 = +HEAPF64[$6>>3]; + $307 = (_fmt_fp($0,$306,$$1260,$$0254,$$1263$,$$0235)|0); + $$0243 = $307;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + default: { + $$2 = $21;$$2234 = 0;$$2239 = 22626;$$2251 = $11;$$5 = $$0254;$$6268 = $$1263$; + } + } + } while(0); + L95: do { + if ((label|0) == 61) { + label = 0; + $195 = $6; + $196 = $195; + $197 = HEAP32[$196>>2]|0; + $198 = (($195) + 4)|0; + $199 = $198; + $200 = HEAP32[$199>>2]|0; + $201 = $$1236 & 32; + $202 = (_fmt_x($197,$200,$11,$201)|0); + $203 = ($197|0)==(0); + $204 = ($200|0)==(0); + $205 = $203 & $204; + $206 = $$3265 & 8; + $207 = ($206|0)==(0); + $or$cond283 = $207 | $205; + $208 = $$1236 >> 4; + $209 = (22626 + ($208)|0); + $$289 = $or$cond283 ? 22626 : $209; + $$290 = $or$cond283 ? 0 : 2; + $$0228 = $202;$$1233 = $$290;$$1238 = $$289;$$2256 = $$1255;$$4266 = $$3265;$248 = $197;$250 = $200; + label = 67; + } + else if ((label|0) == 66) { + label = 0; + $244 = (_fmt_u($242,$243,$11)|0); + $$0228 = $244;$$1233 = $$0232;$$1238 = $$0237;$$2256 = $$0254;$$4266 = $$1263$;$248 = $242;$250 = $243; + label = 67; + } + else if ((label|0) == 71) { + label = 0; + $272 = (_memchr($$1,0,$$0254)|0); + $273 = ($272|0)==(0|0); + $274 = $272; + $275 = $$1; + $276 = (($274) - ($275))|0; + $277 = (($$1) + ($$0254)|0); + $$3257 = $273 ? $$0254 : $276; + $$1250 = $273 ? $277 : $272; + $$2 = $$1;$$2234 = 0;$$2239 = 22626;$$2251 = $$1250;$$5 = $$3257;$$6268 = $164; + } + else if ((label|0) == 75) { + label = 0; + $$0229322 = $331;$$0240321 = 0;$$1244320 = 0; + while(1) { + $285 = HEAP32[$$0229322>>2]|0; + $286 = ($285|0)==(0); + if ($286) { + $$0240$lcssa = $$0240321;$$2245 = $$1244320; + break; + } + $287 = (_wctomb($9,$285)|0); + $288 = ($287|0)<(0); + $289 = (($$4258355) - ($$0240321))|0; + $290 = ($287>>>0)>($289>>>0); + $or$cond286 = $288 | $290; + if ($or$cond286) { + $$0240$lcssa = $$0240321;$$2245 = $287; + break; + } + $291 = ((($$0229322)) + 4|0); + $292 = (($287) + ($$0240321))|0; + $293 = ($$4258355>>>0)>($292>>>0); + if ($293) { + $$0229322 = $291;$$0240321 = $292;$$1244320 = $287; + } else { + $$0240$lcssa = $292;$$2245 = $287; + break; + } + } + $294 = ($$2245|0)<(0); + if ($294) { + $$0 = -1; + break L1; + } + _pad_674($0,32,$$1260,$$0240$lcssa,$$1263$); + $295 = ($$0240$lcssa|0)==(0); + if ($295) { + $$0240$lcssa357 = 0; + label = 84; + } else { + $$1230333 = $331;$$1241332 = 0; + while(1) { + $296 = HEAP32[$$1230333>>2]|0; + $297 = ($296|0)==(0); + if ($297) { + $$0240$lcssa357 = $$0240$lcssa; + label = 84; + break L95; + } + $298 = (_wctomb($9,$296)|0); + $299 = (($298) + ($$1241332))|0; + $300 = ($299|0)>($$0240$lcssa|0); + if ($300) { + $$0240$lcssa357 = $$0240$lcssa; + label = 84; + break L95; + } + $301 = ((($$1230333)) + 4|0); + _out($0,$9,$298); + $302 = ($299>>>0)<($$0240$lcssa>>>0); + if ($302) { + $$1230333 = $301;$$1241332 = $299; + } else { + $$0240$lcssa357 = $$0240$lcssa; + label = 84; + break; + } + } + } + } + } while(0); + if ((label|0) == 67) { + label = 0; + $245 = ($$2256|0)>(-1); + $246 = $$4266 & -65537; + $$$4266 = $245 ? $246 : $$4266; + $247 = ($248|0)!=(0); + $249 = ($250|0)!=(0); + $251 = $247 | $249; + $252 = ($$2256|0)!=(0); + $or$cond = $252 | $251; + $253 = $$0228; + $254 = (($12) - ($253))|0; + $255 = $251 ^ 1; + $256 = $255&1; + $257 = (($256) + ($254))|0; + $258 = ($$2256|0)>($257|0); + $$2256$ = $258 ? $$2256 : $257; + $$2256$$$2256 = $or$cond ? $$2256$ : $$2256; + $$0228$ = $or$cond ? $$0228 : $11; + $$2 = $$0228$;$$2234 = $$1233;$$2239 = $$1238;$$2251 = $11;$$5 = $$2256$$$2256;$$6268 = $$$4266; + } + else if ((label|0) == 84) { + label = 0; + $303 = $$1263$ ^ 8192; + _pad_674($0,32,$$1260,$$0240$lcssa357,$303); + $304 = ($$1260|0)>($$0240$lcssa357|0); + $305 = $304 ? $$1260 : $$0240$lcssa357; + $$0243 = $305;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue; + } + $308 = $$2251; + $309 = $$2; + $310 = (($308) - ($309))|0; + $311 = ($$5|0)<($310|0); + $$$5 = $311 ? $310 : $$5; + $312 = (($$$5) + ($$2234))|0; + $313 = ($$1260|0)<($312|0); + $$2261 = $313 ? $312 : $$1260; + _pad_674($0,32,$$2261,$312,$$6268); + _out($0,$$2239,$$2234); + $314 = $$6268 ^ 65536; + _pad_674($0,48,$$2261,$312,$314); + _pad_674($0,48,$$$5,$310,0); + _out($0,$$2,$310); + $315 = $$6268 ^ 8192; + _pad_674($0,32,$$2261,$312,$315); + $$0243 = $$2261;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + } + L114: do { + if ((label|0) == 87) { + $316 = ($0|0)==(0|0); + if ($316) { + $317 = ($$0269|0)==(0); + if ($317) { + $$0 = 0; + } else { + $$2242305 = 1; + while(1) { + $318 = (($4) + ($$2242305<<2)|0); + $319 = HEAP32[$318>>2]|0; + $320 = ($319|0)==(0); + if ($320) { + $$3303 = $$2242305; + break; + } + $321 = (($3) + ($$2242305<<3)|0); + _pop_arg($321,$319,$2); + $322 = (($$2242305) + 1)|0; + $323 = ($322|0)<(10); + if ($323) { + $$2242305 = $322; + } else { + $$0 = 1; + break L114; + } + } + while(1) { + $326 = (($4) + ($$3303<<2)|0); + $327 = HEAP32[$326>>2]|0; + $328 = ($327|0)==(0); + $325 = (($$3303) + 1)|0; + if (!($328)) { + $$0 = -1; + break L114; + } + $324 = ($325|0)<(10); + if ($324) { + $$3303 = $325; + } else { + $$0 = 1; + break; + } + } + } + } else { + $$0 = $$1248; + } + } + } while(0); + STACKTOP = sp;return ($$0|0); +} +function ___lockfile($0) { + $0 = $0|0; + var label = 0, sp = 0; + sp = STACKTOP; + return 0; +} +function ___unlockfile($0) { + $0 = $0|0; + var label = 0, sp = 0; + sp = STACKTOP; + return; +} +function _out($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = HEAP32[$0>>2]|0; + $4 = $3 & 32; + $5 = ($4|0)==(0); + if ($5) { + (___fwritex($1,$2,$0)|0); + } + return; +} +function _getint($0) { + $0 = $0|0; + var $$0$lcssa = 0, $$06 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $isdigit = 0, $isdigit5 = 0, $isdigittmp = 0, $isdigittmp4 = 0, $isdigittmp7 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP32[$0>>2]|0; + $2 = HEAP8[$1>>0]|0; + $3 = $2 << 24 >> 24; + $isdigittmp4 = (($3) + -48)|0; + $isdigit5 = ($isdigittmp4>>>0)<(10); + if ($isdigit5) { + $$06 = 0;$7 = $1;$isdigittmp7 = $isdigittmp4; + while(1) { + $4 = ($$06*10)|0; + $5 = (($isdigittmp7) + ($4))|0; + $6 = ((($7)) + 1|0); + HEAP32[$0>>2] = $6; + $8 = HEAP8[$6>>0]|0; + $9 = $8 << 24 >> 24; + $isdigittmp = (($9) + -48)|0; + $isdigit = ($isdigittmp>>>0)<(10); + if ($isdigit) { + $$06 = $5;$7 = $6;$isdigittmp7 = $isdigittmp; + } else { + $$0$lcssa = $5; + break; + } + } + } else { + $$0$lcssa = 0; + } + return ($$0$lcssa|0); +} +function _pop_arg($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$mask = 0, $$mask31 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0.0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; + var $116 = 0.0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0; + var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0; + var $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0; + var $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0; + var $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $arglist_current = 0, $arglist_current11 = 0, $arglist_current14 = 0, $arglist_current17 = 0; + var $arglist_current2 = 0, $arglist_current20 = 0, $arglist_current23 = 0, $arglist_current26 = 0, $arglist_current5 = 0, $arglist_current8 = 0, $arglist_next = 0, $arglist_next12 = 0, $arglist_next15 = 0, $arglist_next18 = 0, $arglist_next21 = 0, $arglist_next24 = 0, $arglist_next27 = 0, $arglist_next3 = 0, $arglist_next6 = 0, $arglist_next9 = 0, $expanded = 0, $expanded28 = 0, $expanded30 = 0, $expanded31 = 0; + var $expanded32 = 0, $expanded34 = 0, $expanded35 = 0, $expanded37 = 0, $expanded38 = 0, $expanded39 = 0, $expanded41 = 0, $expanded42 = 0, $expanded44 = 0, $expanded45 = 0, $expanded46 = 0, $expanded48 = 0, $expanded49 = 0, $expanded51 = 0, $expanded52 = 0, $expanded53 = 0, $expanded55 = 0, $expanded56 = 0, $expanded58 = 0, $expanded59 = 0; + var $expanded60 = 0, $expanded62 = 0, $expanded63 = 0, $expanded65 = 0, $expanded66 = 0, $expanded67 = 0, $expanded69 = 0, $expanded70 = 0, $expanded72 = 0, $expanded73 = 0, $expanded74 = 0, $expanded76 = 0, $expanded77 = 0, $expanded79 = 0, $expanded80 = 0, $expanded81 = 0, $expanded83 = 0, $expanded84 = 0, $expanded86 = 0, $expanded87 = 0; + var $expanded88 = 0, $expanded90 = 0, $expanded91 = 0, $expanded93 = 0, $expanded94 = 0, $expanded95 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ($1>>>0)>(20); + L1: do { + if (!($3)) { + do { + switch ($1|0) { + case 9: { + $arglist_current = HEAP32[$2>>2]|0; + $4 = $arglist_current; + $5 = ((0) + 4|0); + $expanded28 = $5; + $expanded = (($expanded28) - 1)|0; + $6 = (($4) + ($expanded))|0; + $7 = ((0) + 4|0); + $expanded32 = $7; + $expanded31 = (($expanded32) - 1)|0; + $expanded30 = $expanded31 ^ -1; + $8 = $6 & $expanded30; + $9 = $8; + $10 = HEAP32[$9>>2]|0; + $arglist_next = ((($9)) + 4|0); + HEAP32[$2>>2] = $arglist_next; + HEAP32[$0>>2] = $10; + break L1; + break; + } + case 10: { + $arglist_current2 = HEAP32[$2>>2]|0; + $11 = $arglist_current2; + $12 = ((0) + 4|0); + $expanded35 = $12; + $expanded34 = (($expanded35) - 1)|0; + $13 = (($11) + ($expanded34))|0; + $14 = ((0) + 4|0); + $expanded39 = $14; + $expanded38 = (($expanded39) - 1)|0; + $expanded37 = $expanded38 ^ -1; + $15 = $13 & $expanded37; + $16 = $15; + $17 = HEAP32[$16>>2]|0; + $arglist_next3 = ((($16)) + 4|0); + HEAP32[$2>>2] = $arglist_next3; + $18 = ($17|0)<(0); + $19 = $18 << 31 >> 31; + $20 = $0; + $21 = $20; + HEAP32[$21>>2] = $17; + $22 = (($20) + 4)|0; + $23 = $22; + HEAP32[$23>>2] = $19; + break L1; + break; + } + case 11: { + $arglist_current5 = HEAP32[$2>>2]|0; + $24 = $arglist_current5; + $25 = ((0) + 4|0); + $expanded42 = $25; + $expanded41 = (($expanded42) - 1)|0; + $26 = (($24) + ($expanded41))|0; + $27 = ((0) + 4|0); + $expanded46 = $27; + $expanded45 = (($expanded46) - 1)|0; + $expanded44 = $expanded45 ^ -1; + $28 = $26 & $expanded44; + $29 = $28; + $30 = HEAP32[$29>>2]|0; + $arglist_next6 = ((($29)) + 4|0); + HEAP32[$2>>2] = $arglist_next6; + $31 = $0; + $32 = $31; + HEAP32[$32>>2] = $30; + $33 = (($31) + 4)|0; + $34 = $33; + HEAP32[$34>>2] = 0; + break L1; + break; + } + case 12: { + $arglist_current8 = HEAP32[$2>>2]|0; + $35 = $arglist_current8; + $36 = ((0) + 8|0); + $expanded49 = $36; + $expanded48 = (($expanded49) - 1)|0; + $37 = (($35) + ($expanded48))|0; + $38 = ((0) + 8|0); + $expanded53 = $38; + $expanded52 = (($expanded53) - 1)|0; + $expanded51 = $expanded52 ^ -1; + $39 = $37 & $expanded51; + $40 = $39; + $41 = $40; + $42 = $41; + $43 = HEAP32[$42>>2]|0; + $44 = (($41) + 4)|0; + $45 = $44; + $46 = HEAP32[$45>>2]|0; + $arglist_next9 = ((($40)) + 8|0); + HEAP32[$2>>2] = $arglist_next9; + $47 = $0; + $48 = $47; + HEAP32[$48>>2] = $43; + $49 = (($47) + 4)|0; + $50 = $49; + HEAP32[$50>>2] = $46; + break L1; + break; + } + case 13: { + $arglist_current11 = HEAP32[$2>>2]|0; + $51 = $arglist_current11; + $52 = ((0) + 4|0); + $expanded56 = $52; + $expanded55 = (($expanded56) - 1)|0; + $53 = (($51) + ($expanded55))|0; + $54 = ((0) + 4|0); + $expanded60 = $54; + $expanded59 = (($expanded60) - 1)|0; + $expanded58 = $expanded59 ^ -1; + $55 = $53 & $expanded58; + $56 = $55; + $57 = HEAP32[$56>>2]|0; + $arglist_next12 = ((($56)) + 4|0); + HEAP32[$2>>2] = $arglist_next12; + $58 = $57&65535; + $59 = $58 << 16 >> 16; + $60 = ($59|0)<(0); + $61 = $60 << 31 >> 31; + $62 = $0; + $63 = $62; + HEAP32[$63>>2] = $59; + $64 = (($62) + 4)|0; + $65 = $64; + HEAP32[$65>>2] = $61; + break L1; + break; + } + case 14: { + $arglist_current14 = HEAP32[$2>>2]|0; + $66 = $arglist_current14; + $67 = ((0) + 4|0); + $expanded63 = $67; + $expanded62 = (($expanded63) - 1)|0; + $68 = (($66) + ($expanded62))|0; + $69 = ((0) + 4|0); + $expanded67 = $69; + $expanded66 = (($expanded67) - 1)|0; + $expanded65 = $expanded66 ^ -1; + $70 = $68 & $expanded65; + $71 = $70; + $72 = HEAP32[$71>>2]|0; + $arglist_next15 = ((($71)) + 4|0); + HEAP32[$2>>2] = $arglist_next15; + $$mask31 = $72 & 65535; + $73 = $0; + $74 = $73; + HEAP32[$74>>2] = $$mask31; + $75 = (($73) + 4)|0; + $76 = $75; + HEAP32[$76>>2] = 0; + break L1; + break; + } + case 15: { + $arglist_current17 = HEAP32[$2>>2]|0; + $77 = $arglist_current17; + $78 = ((0) + 4|0); + $expanded70 = $78; + $expanded69 = (($expanded70) - 1)|0; + $79 = (($77) + ($expanded69))|0; + $80 = ((0) + 4|0); + $expanded74 = $80; + $expanded73 = (($expanded74) - 1)|0; + $expanded72 = $expanded73 ^ -1; + $81 = $79 & $expanded72; + $82 = $81; + $83 = HEAP32[$82>>2]|0; + $arglist_next18 = ((($82)) + 4|0); + HEAP32[$2>>2] = $arglist_next18; + $84 = $83&255; + $85 = $84 << 24 >> 24; + $86 = ($85|0)<(0); + $87 = $86 << 31 >> 31; + $88 = $0; + $89 = $88; + HEAP32[$89>>2] = $85; + $90 = (($88) + 4)|0; + $91 = $90; + HEAP32[$91>>2] = $87; + break L1; + break; + } + case 16: { + $arglist_current20 = HEAP32[$2>>2]|0; + $92 = $arglist_current20; + $93 = ((0) + 4|0); + $expanded77 = $93; + $expanded76 = (($expanded77) - 1)|0; + $94 = (($92) + ($expanded76))|0; + $95 = ((0) + 4|0); + $expanded81 = $95; + $expanded80 = (($expanded81) - 1)|0; + $expanded79 = $expanded80 ^ -1; + $96 = $94 & $expanded79; + $97 = $96; + $98 = HEAP32[$97>>2]|0; + $arglist_next21 = ((($97)) + 4|0); + HEAP32[$2>>2] = $arglist_next21; + $$mask = $98 & 255; + $99 = $0; + $100 = $99; + HEAP32[$100>>2] = $$mask; + $101 = (($99) + 4)|0; + $102 = $101; + HEAP32[$102>>2] = 0; + break L1; + break; + } + case 17: { + $arglist_current23 = HEAP32[$2>>2]|0; + $103 = $arglist_current23; + $104 = ((0) + 8|0); + $expanded84 = $104; + $expanded83 = (($expanded84) - 1)|0; + $105 = (($103) + ($expanded83))|0; + $106 = ((0) + 8|0); + $expanded88 = $106; + $expanded87 = (($expanded88) - 1)|0; + $expanded86 = $expanded87 ^ -1; + $107 = $105 & $expanded86; + $108 = $107; + $109 = +HEAPF64[$108>>3]; + $arglist_next24 = ((($108)) + 8|0); + HEAP32[$2>>2] = $arglist_next24; + HEAPF64[$0>>3] = $109; + break L1; + break; + } + case 18: { + $arglist_current26 = HEAP32[$2>>2]|0; + $110 = $arglist_current26; + $111 = ((0) + 8|0); + $expanded91 = $111; + $expanded90 = (($expanded91) - 1)|0; + $112 = (($110) + ($expanded90))|0; + $113 = ((0) + 8|0); + $expanded95 = $113; + $expanded94 = (($expanded95) - 1)|0; + $expanded93 = $expanded94 ^ -1; + $114 = $112 & $expanded93; + $115 = $114; + $116 = +HEAPF64[$115>>3]; + $arglist_next27 = ((($115)) + 8|0); + HEAP32[$2>>2] = $arglist_next27; + HEAPF64[$0>>3] = $116; + break L1; + break; + } + default: { + break L1; + } + } + } while(0); + } + } while(0); + return; +} +function _fmt_x($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$05$lcssa = 0, $$056 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; + var sp = 0; + sp = STACKTOP; + $4 = ($0|0)==(0); + $5 = ($1|0)==(0); + $6 = $4 & $5; + if ($6) { + $$05$lcssa = $2; + } else { + $$056 = $2;$15 = $1;$8 = $0; + while(1) { + $7 = $8 & 15; + $9 = (22674 + ($7)|0); + $10 = HEAP8[$9>>0]|0; + $11 = $10&255; + $12 = $11 | $3; + $13 = $12&255; + $14 = ((($$056)) + -1|0); + HEAP8[$14>>0] = $13; + $16 = (_bitshift64Lshr(($8|0),($15|0),4)|0); + $17 = tempRet0; + $18 = ($16|0)==(0); + $19 = ($17|0)==(0); + $20 = $18 & $19; + if ($20) { + $$05$lcssa = $14; + break; + } else { + $$056 = $14;$15 = $17;$8 = $16; + } + } + } + return ($$05$lcssa|0); +} +function _fmt_o($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$0$lcssa = 0, $$06 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ($0|0)==(0); + $4 = ($1|0)==(0); + $5 = $3 & $4; + if ($5) { + $$0$lcssa = $2; + } else { + $$06 = $2;$11 = $1;$7 = $0; + while(1) { + $6 = $7&255; + $8 = $6 & 7; + $9 = $8 | 48; + $10 = ((($$06)) + -1|0); + HEAP8[$10>>0] = $9; + $12 = (_bitshift64Lshr(($7|0),($11|0),3)|0); + $13 = tempRet0; + $14 = ($12|0)==(0); + $15 = ($13|0)==(0); + $16 = $14 & $15; + if ($16) { + $$0$lcssa = $10; + break; + } else { + $$06 = $10;$11 = $13;$7 = $12; + } + } + } + return ($$0$lcssa|0); +} +function _fmt_u($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$010$lcssa$off0 = 0, $$012 = 0, $$09$lcssa = 0, $$0914 = 0, $$1$lcssa = 0, $$111 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; + var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ($1>>>0)>(0); + $4 = ($0>>>0)>(4294967295); + $5 = ($1|0)==(0); + $6 = $5 & $4; + $7 = $3 | $6; + if ($7) { + $$0914 = $2;$8 = $0;$9 = $1; + while(1) { + $10 = (___uremdi3(($8|0),($9|0),10,0)|0); + $11 = tempRet0; + $12 = $10&255; + $13 = $12 | 48; + $14 = ((($$0914)) + -1|0); + HEAP8[$14>>0] = $13; + $15 = (___udivdi3(($8|0),($9|0),10,0)|0); + $16 = tempRet0; + $17 = ($9>>>0)>(9); + $18 = ($8>>>0)>(4294967295); + $19 = ($9|0)==(9); + $20 = $19 & $18; + $21 = $17 | $20; + if ($21) { + $$0914 = $14;$8 = $15;$9 = $16; + } else { + break; + } + } + $$010$lcssa$off0 = $15;$$09$lcssa = $14; + } else { + $$010$lcssa$off0 = $0;$$09$lcssa = $2; + } + $22 = ($$010$lcssa$off0|0)==(0); + if ($22) { + $$1$lcssa = $$09$lcssa; + } else { + $$012 = $$010$lcssa$off0;$$111 = $$09$lcssa; + while(1) { + $23 = (($$012>>>0) % 10)&-1; + $24 = $23 | 48; + $25 = $24&255; + $26 = ((($$111)) + -1|0); + HEAP8[$26>>0] = $25; + $27 = (($$012>>>0) / 10)&-1; + $28 = ($$012>>>0)<(10); + if ($28) { + $$1$lcssa = $26; + break; + } else { + $$012 = $27;$$111 = $26; + } + } + } + return ($$1$lcssa|0); +} +function _strerror($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (___pthread_self_105()|0); + $2 = ((($1)) + 188|0); + $3 = HEAP32[$2>>2]|0; + $4 = (___strerror_l($0,$3)|0); + return ($4|0); +} +function _memchr($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$0$lcssa = 0, $$035$lcssa = 0, $$035$lcssa65 = 0, $$03555 = 0, $$036$lcssa = 0, $$036$lcssa64 = 0, $$03654 = 0, $$046 = 0, $$137$lcssa = 0, $$13745 = 0, $$140 = 0, $$2 = 0, $$23839 = 0, $$3 = 0, $$lcssa = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0; + var $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0; + var $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond53 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = $1 & 255; + $4 = $0; + $5 = $4 & 3; + $6 = ($5|0)!=(0); + $7 = ($2|0)!=(0); + $or$cond53 = $7 & $6; + L1: do { + if ($or$cond53) { + $8 = $1&255; + $$03555 = $0;$$03654 = $2; + while(1) { + $9 = HEAP8[$$03555>>0]|0; + $10 = ($9<<24>>24)==($8<<24>>24); + if ($10) { + $$035$lcssa65 = $$03555;$$036$lcssa64 = $$03654; + label = 6; + break L1; + } + $11 = ((($$03555)) + 1|0); + $12 = (($$03654) + -1)|0; + $13 = $11; + $14 = $13 & 3; + $15 = ($14|0)!=(0); + $16 = ($12|0)!=(0); + $or$cond = $16 & $15; + if ($or$cond) { + $$03555 = $11;$$03654 = $12; + } else { + $$035$lcssa = $11;$$036$lcssa = $12;$$lcssa = $16; + label = 5; + break; + } + } + } else { + $$035$lcssa = $0;$$036$lcssa = $2;$$lcssa = $7; + label = 5; + } + } while(0); + if ((label|0) == 5) { + if ($$lcssa) { + $$035$lcssa65 = $$035$lcssa;$$036$lcssa64 = $$036$lcssa; + label = 6; + } else { + $$2 = $$035$lcssa;$$3 = 0; + } + } + L8: do { + if ((label|0) == 6) { + $17 = HEAP8[$$035$lcssa65>>0]|0; + $18 = $1&255; + $19 = ($17<<24>>24)==($18<<24>>24); + if ($19) { + $$2 = $$035$lcssa65;$$3 = $$036$lcssa64; + } else { + $20 = Math_imul($3, 16843009)|0; + $21 = ($$036$lcssa64>>>0)>(3); + L11: do { + if ($21) { + $$046 = $$035$lcssa65;$$13745 = $$036$lcssa64; + while(1) { + $22 = HEAP32[$$046>>2]|0; + $23 = $22 ^ $20; + $24 = (($23) + -16843009)|0; + $25 = $23 & -2139062144; + $26 = $25 ^ -2139062144; + $27 = $26 & $24; + $28 = ($27|0)==(0); + if (!($28)) { + break; + } + $29 = ((($$046)) + 4|0); + $30 = (($$13745) + -4)|0; + $31 = ($30>>>0)>(3); + if ($31) { + $$046 = $29;$$13745 = $30; + } else { + $$0$lcssa = $29;$$137$lcssa = $30; + label = 11; + break L11; + } + } + $$140 = $$046;$$23839 = $$13745; + } else { + $$0$lcssa = $$035$lcssa65;$$137$lcssa = $$036$lcssa64; + label = 11; + } + } while(0); + if ((label|0) == 11) { + $32 = ($$137$lcssa|0)==(0); + if ($32) { + $$2 = $$0$lcssa;$$3 = 0; + break; + } else { + $$140 = $$0$lcssa;$$23839 = $$137$lcssa; + } + } + while(1) { + $33 = HEAP8[$$140>>0]|0; + $34 = ($33<<24>>24)==($18<<24>>24); + if ($34) { + $$2 = $$140;$$3 = $$23839; + break L8; + } + $35 = ((($$140)) + 1|0); + $36 = (($$23839) + -1)|0; + $37 = ($36|0)==(0); + if ($37) { + $$2 = $35;$$3 = 0; + break; + } else { + $$140 = $35;$$23839 = $36; + } + } + } + } + } while(0); + $38 = ($$3|0)!=(0); + $39 = $38 ? $$2 : 0; + return ($39|0); +} +function _pad_674($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$0$lcssa = 0, $$011 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0); + $5 = sp; + $6 = $4 & 73728; + $7 = ($6|0)==(0); + $8 = ($2|0)>($3|0); + $or$cond = $8 & $7; + if ($or$cond) { + $9 = (($2) - ($3))|0; + $10 = ($9>>>0)<(256); + $11 = $10 ? $9 : 256; + _memset(($5|0),($1|0),($11|0))|0; + $12 = ($9>>>0)>(255); + if ($12) { + $13 = (($2) - ($3))|0; + $$011 = $9; + while(1) { + _out($0,$5,256); + $14 = (($$011) + -256)|0; + $15 = ($14>>>0)>(255); + if ($15) { + $$011 = $14; + } else { + break; + } + } + $16 = $13 & 255; + $$0$lcssa = $16; + } else { + $$0$lcssa = $9; + } + _out($0,$5,$$0$lcssa); + } + STACKTOP = sp;return; +} +function _wctomb($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ($0|0)==(0|0); + if ($2) { + $$0 = 0; + } else { + $3 = (_wcrtomb($0,$1,0)|0); + $$0 = $3; + } + return ($$0|0); +} +function _fmt_fp($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = +$1; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + var $$ = 0, $$$ = 0, $$$$559 = 0.0, $$$3484 = 0, $$$3484691 = 0, $$$3484692 = 0, $$$3501 = 0, $$$4502 = 0, $$$542 = 0.0, $$$559 = 0.0, $$0 = 0, $$0463$lcssa = 0, $$0463584 = 0, $$0464594 = 0, $$0471 = 0.0, $$0479 = 0, $$0487642 = 0, $$0488 = 0, $$0488653 = 0, $$0488655 = 0; + var $$0496$$9 = 0, $$0497654 = 0, $$0498 = 0, $$0509582 = 0.0, $$0510 = 0, $$0511 = 0, $$0514637 = 0, $$0520 = 0, $$0521 = 0, $$0521$ = 0, $$0523 = 0, $$0525 = 0, $$0527 = 0, $$0527629 = 0, $$0527631 = 0, $$0530636 = 0, $$1465 = 0, $$1467 = 0.0, $$1469 = 0.0, $$1472 = 0.0; + var $$1480 = 0, $$1482$lcssa = 0, $$1482661 = 0, $$1489641 = 0, $$1499$lcssa = 0, $$1499660 = 0, $$1508583 = 0, $$1512$lcssa = 0, $$1512607 = 0, $$1515 = 0, $$1524 = 0, $$1526 = 0, $$1528614 = 0, $$1531$lcssa = 0, $$1531630 = 0, $$1598 = 0, $$2 = 0, $$2473 = 0.0, $$2476 = 0, $$2476$$547 = 0; + var $$2476$$549 = 0, $$2483$ph = 0, $$2500 = 0, $$2513 = 0, $$2516618 = 0, $$2529 = 0, $$2532617 = 0, $$3 = 0.0, $$3477 = 0, $$3484$lcssa = 0, $$3484648 = 0, $$3501$lcssa = 0, $$3501647 = 0, $$3533613 = 0, $$4 = 0.0, $$4478$lcssa = 0, $$4478590 = 0, $$4492 = 0, $$4502 = 0, $$4518 = 0; + var $$5$lcssa = 0, $$534$ = 0, $$539 = 0, $$539$ = 0, $$542 = 0.0, $$546 = 0, $$548 = 0, $$5486$lcssa = 0, $$5486623 = 0, $$5493597 = 0, $$5519$ph = 0, $$555 = 0, $$556 = 0, $$559 = 0.0, $$5602 = 0, $$6 = 0, $$6494589 = 0, $$7495601 = 0, $$7505 = 0, $$7505$ = 0; + var $$7505$ph = 0, $$8 = 0, $$9$ph = 0, $$lcssa673 = 0, $$neg = 0, $$neg567 = 0, $$pn = 0, $$pn566 = 0, $$pr = 0, $$pr564 = 0, $$pre = 0, $$pre$phi690Z2D = 0, $$pre689 = 0, $$sink545$lcssa = 0, $$sink545622 = 0, $$sink562 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0; + var $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0.0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0.0, $117 = 0.0, $118 = 0.0, $119 = 0, $12 = 0, $120 = 0; + var $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0; + var $14 = 0.0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0; + var $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0; + var $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0; + var $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0; + var $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0.0, $229 = 0.0, $23 = 0; + var $230 = 0, $231 = 0.0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0; + var $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0; + var $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0; + var $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0; + var $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0; + var $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0; + var $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0.0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0; + var $358 = 0, $359 = 0, $36 = 0.0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0; + var $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0.0, $52 = 0, $53 = 0, $54 = 0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0.0, $61 = 0, $62 = 0, $63 = 0; + var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0; + var $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0.0, $88 = 0.0, $89 = 0.0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond = 0; + var $narrow = 0, $not$ = 0, $notlhs = 0, $notrhs = 0, $or$cond = 0, $or$cond3$not = 0, $or$cond537 = 0, $or$cond541 = 0, $or$cond544 = 0, $or$cond554 = 0, $or$cond6 = 0, $scevgep684 = 0, $scevgep684685 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 560|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(560|0); + $6 = sp + 8|0; + $7 = sp; + $8 = sp + 524|0; + $9 = $8; + $10 = sp + 512|0; + HEAP32[$7>>2] = 0; + $11 = ((($10)) + 12|0); + (___DOUBLE_BITS_675($1)|0); + $12 = tempRet0; + $13 = ($12|0)<(0); + if ($13) { + $14 = -$1; + $$0471 = $14;$$0520 = 1;$$0521 = 22643; + } else { + $15 = $4 & 2048; + $16 = ($15|0)==(0); + $17 = $4 & 1; + $18 = ($17|0)==(0); + $$ = $18 ? (22644) : (22649); + $$$ = $16 ? $$ : (22646); + $19 = $4 & 2049; + $narrow = ($19|0)!=(0); + $$534$ = $narrow&1; + $$0471 = $1;$$0520 = $$534$;$$0521 = $$$; + } + (___DOUBLE_BITS_675($$0471)|0); + $20 = tempRet0; + $21 = $20 & 2146435072; + $22 = ($21>>>0)<(2146435072); + $23 = (0)<(0); + $24 = ($21|0)==(2146435072); + $25 = $24 & $23; + $26 = $22 | $25; + do { + if ($26) { + $35 = (+_frexpl($$0471,$7)); + $36 = $35 * 2.0; + $37 = $36 != 0.0; + if ($37) { + $38 = HEAP32[$7>>2]|0; + $39 = (($38) + -1)|0; + HEAP32[$7>>2] = $39; + } + $40 = $5 | 32; + $41 = ($40|0)==(97); + if ($41) { + $42 = $5 & 32; + $43 = ($42|0)==(0); + $44 = ((($$0521)) + 9|0); + $$0521$ = $43 ? $$0521 : $44; + $45 = $$0520 | 2; + $46 = ($3>>>0)>(11); + $47 = (12 - ($3))|0; + $48 = ($47|0)==(0); + $49 = $46 | $48; + do { + if ($49) { + $$1472 = $36; + } else { + $$0509582 = 8.0;$$1508583 = $47; + while(1) { + $50 = (($$1508583) + -1)|0; + $51 = $$0509582 * 16.0; + $52 = ($50|0)==(0); + if ($52) { + break; + } else { + $$0509582 = $51;$$1508583 = $50; + } + } + $53 = HEAP8[$$0521$>>0]|0; + $54 = ($53<<24>>24)==(45); + if ($54) { + $55 = -$36; + $56 = $55 - $51; + $57 = $51 + $56; + $58 = -$57; + $$1472 = $58; + break; + } else { + $59 = $36 + $51; + $60 = $59 - $51; + $$1472 = $60; + break; + } + } + } while(0); + $61 = HEAP32[$7>>2]|0; + $62 = ($61|0)<(0); + $63 = (0 - ($61))|0; + $64 = $62 ? $63 : $61; + $65 = ($64|0)<(0); + $66 = $65 << 31 >> 31; + $67 = (_fmt_u($64,$66,$11)|0); + $68 = ($67|0)==($11|0); + if ($68) { + $69 = ((($10)) + 11|0); + HEAP8[$69>>0] = 48; + $$0511 = $69; + } else { + $$0511 = $67; + } + $70 = $61 >> 31; + $71 = $70 & 2; + $72 = (($71) + 43)|0; + $73 = $72&255; + $74 = ((($$0511)) + -1|0); + HEAP8[$74>>0] = $73; + $75 = (($5) + 15)|0; + $76 = $75&255; + $77 = ((($$0511)) + -2|0); + HEAP8[$77>>0] = $76; + $notrhs = ($3|0)<(1); + $78 = $4 & 8; + $79 = ($78|0)==(0); + $$0523 = $8;$$2473 = $$1472; + while(1) { + $80 = (~~(($$2473))); + $81 = (22674 + ($80)|0); + $82 = HEAP8[$81>>0]|0; + $83 = $82&255; + $84 = $83 | $42; + $85 = $84&255; + $86 = ((($$0523)) + 1|0); + HEAP8[$$0523>>0] = $85; + $87 = (+($80|0)); + $88 = $$2473 - $87; + $89 = $88 * 16.0; + $90 = $86; + $91 = (($90) - ($9))|0; + $92 = ($91|0)==(1); + if ($92) { + $notlhs = $89 == 0.0; + $or$cond3$not = $notrhs & $notlhs; + $or$cond = $79 & $or$cond3$not; + if ($or$cond) { + $$1524 = $86; + } else { + $93 = ((($$0523)) + 2|0); + HEAP8[$86>>0] = 46; + $$1524 = $93; + } + } else { + $$1524 = $86; + } + $94 = $89 != 0.0; + if ($94) { + $$0523 = $$1524;$$2473 = $89; + } else { + break; + } + } + $95 = ($3|0)!=(0); + $96 = $77; + $97 = $11; + $98 = $$1524; + $99 = (($98) - ($9))|0; + $100 = (($97) - ($96))|0; + $101 = (($99) + -2)|0; + $102 = ($101|0)<($3|0); + $or$cond537 = $95 & $102; + $103 = (($3) + 2)|0; + $$pn = $or$cond537 ? $103 : $99; + $$0525 = (($100) + ($45))|0; + $104 = (($$0525) + ($$pn))|0; + _pad_674($0,32,$2,$104,$4); + _out($0,$$0521$,$45); + $105 = $4 ^ 65536; + _pad_674($0,48,$2,$104,$105); + _out($0,$8,$99); + $106 = (($$pn) - ($99))|0; + _pad_674($0,48,$106,0,0); + _out($0,$77,$100); + $107 = $4 ^ 8192; + _pad_674($0,32,$2,$104,$107); + $$sink562 = $104; + break; + } + $108 = ($3|0)<(0); + $$539 = $108 ? 6 : $3; + if ($37) { + $109 = $36 * 268435456.0; + $110 = HEAP32[$7>>2]|0; + $111 = (($110) + -28)|0; + HEAP32[$7>>2] = $111; + $$3 = $109;$$pr = $111; + } else { + $$pre = HEAP32[$7>>2]|0; + $$3 = $36;$$pr = $$pre; + } + $112 = ($$pr|0)<(0); + $113 = ((($6)) + 288|0); + $$556 = $112 ? $6 : $113; + $$0498 = $$556;$$4 = $$3; + while(1) { + $114 = (~~(($$4))>>>0); + HEAP32[$$0498>>2] = $114; + $115 = ((($$0498)) + 4|0); + $116 = (+($114>>>0)); + $117 = $$4 - $116; + $118 = $117 * 1.0E+9; + $119 = $118 != 0.0; + if ($119) { + $$0498 = $115;$$4 = $118; + } else { + break; + } + } + $120 = ($$pr|0)>(0); + if ($120) { + $$1482661 = $$556;$$1499660 = $115;$122 = $$pr; + while(1) { + $121 = ($122|0)<(29); + $123 = $121 ? $122 : 29; + $$0488653 = ((($$1499660)) + -4|0); + $124 = ($$0488653>>>0)<($$1482661>>>0); + if ($124) { + $$2483$ph = $$1482661; + } else { + $$0488655 = $$0488653;$$0497654 = 0; + while(1) { + $125 = HEAP32[$$0488655>>2]|0; + $126 = (_bitshift64Shl(($125|0),0,($123|0))|0); + $127 = tempRet0; + $128 = (_i64Add(($126|0),($127|0),($$0497654|0),0)|0); + $129 = tempRet0; + $130 = (___uremdi3(($128|0),($129|0),1000000000,0)|0); + $131 = tempRet0; + HEAP32[$$0488655>>2] = $130; + $132 = (___udivdi3(($128|0),($129|0),1000000000,0)|0); + $133 = tempRet0; + $$0488 = ((($$0488655)) + -4|0); + $134 = ($$0488>>>0)<($$1482661>>>0); + if ($134) { + break; + } else { + $$0488655 = $$0488;$$0497654 = $132; + } + } + $135 = ($132|0)==(0); + if ($135) { + $$2483$ph = $$1482661; + } else { + $136 = ((($$1482661)) + -4|0); + HEAP32[$136>>2] = $132; + $$2483$ph = $136; + } + } + $$2500 = $$1499660; + while(1) { + $137 = ($$2500>>>0)>($$2483$ph>>>0); + if (!($137)) { + break; + } + $138 = ((($$2500)) + -4|0); + $139 = HEAP32[$138>>2]|0; + $140 = ($139|0)==(0); + if ($140) { + $$2500 = $138; + } else { + break; + } + } + $141 = HEAP32[$7>>2]|0; + $142 = (($141) - ($123))|0; + HEAP32[$7>>2] = $142; + $143 = ($142|0)>(0); + if ($143) { + $$1482661 = $$2483$ph;$$1499660 = $$2500;$122 = $142; + } else { + $$1482$lcssa = $$2483$ph;$$1499$lcssa = $$2500;$$pr564 = $142; + break; + } + } + } else { + $$1482$lcssa = $$556;$$1499$lcssa = $115;$$pr564 = $$pr; + } + $144 = ($$pr564|0)<(0); + if ($144) { + $145 = (($$539) + 25)|0; + $146 = (($145|0) / 9)&-1; + $147 = (($146) + 1)|0; + $148 = ($40|0)==(102); + $$3484648 = $$1482$lcssa;$$3501647 = $$1499$lcssa;$150 = $$pr564; + while(1) { + $149 = (0 - ($150))|0; + $151 = ($149|0)<(9); + $152 = $151 ? $149 : 9; + $153 = ($$3484648>>>0)<($$3501647>>>0); + if ($153) { + $157 = 1 << $152; + $158 = (($157) + -1)|0; + $159 = 1000000000 >>> $152; + $$0487642 = 0;$$1489641 = $$3484648; + while(1) { + $160 = HEAP32[$$1489641>>2]|0; + $161 = $160 & $158; + $162 = $160 >>> $152; + $163 = (($162) + ($$0487642))|0; + HEAP32[$$1489641>>2] = $163; + $164 = Math_imul($161, $159)|0; + $165 = ((($$1489641)) + 4|0); + $166 = ($165>>>0)<($$3501647>>>0); + if ($166) { + $$0487642 = $164;$$1489641 = $165; + } else { + break; + } + } + $167 = HEAP32[$$3484648>>2]|0; + $168 = ($167|0)==(0); + $169 = ((($$3484648)) + 4|0); + $$$3484 = $168 ? $169 : $$3484648; + $170 = ($164|0)==(0); + if ($170) { + $$$3484692 = $$$3484;$$4502 = $$3501647; + } else { + $171 = ((($$3501647)) + 4|0); + HEAP32[$$3501647>>2] = $164; + $$$3484692 = $$$3484;$$4502 = $171; + } + } else { + $154 = HEAP32[$$3484648>>2]|0; + $155 = ($154|0)==(0); + $156 = ((($$3484648)) + 4|0); + $$$3484691 = $155 ? $156 : $$3484648; + $$$3484692 = $$$3484691;$$4502 = $$3501647; + } + $172 = $148 ? $$556 : $$$3484692; + $173 = $$4502; + $174 = $172; + $175 = (($173) - ($174))|0; + $176 = $175 >> 2; + $177 = ($176|0)>($147|0); + $178 = (($172) + ($147<<2)|0); + $$$4502 = $177 ? $178 : $$4502; + $179 = HEAP32[$7>>2]|0; + $180 = (($179) + ($152))|0; + HEAP32[$7>>2] = $180; + $181 = ($180|0)<(0); + if ($181) { + $$3484648 = $$$3484692;$$3501647 = $$$4502;$150 = $180; + } else { + $$3484$lcssa = $$$3484692;$$3501$lcssa = $$$4502; + break; + } + } + } else { + $$3484$lcssa = $$1482$lcssa;$$3501$lcssa = $$1499$lcssa; + } + $182 = ($$3484$lcssa>>>0)<($$3501$lcssa>>>0); + $183 = $$556; + if ($182) { + $184 = $$3484$lcssa; + $185 = (($183) - ($184))|0; + $186 = $185 >> 2; + $187 = ($186*9)|0; + $188 = HEAP32[$$3484$lcssa>>2]|0; + $189 = ($188>>>0)<(10); + if ($189) { + $$1515 = $187; + } else { + $$0514637 = $187;$$0530636 = 10; + while(1) { + $190 = ($$0530636*10)|0; + $191 = (($$0514637) + 1)|0; + $192 = ($188>>>0)<($190>>>0); + if ($192) { + $$1515 = $191; + break; + } else { + $$0514637 = $191;$$0530636 = $190; + } + } + } + } else { + $$1515 = 0; + } + $193 = ($40|0)!=(102); + $194 = $193 ? $$1515 : 0; + $195 = (($$539) - ($194))|0; + $196 = ($40|0)==(103); + $197 = ($$539|0)!=(0); + $198 = $197 & $196; + $$neg = $198 << 31 >> 31; + $199 = (($195) + ($$neg))|0; + $200 = $$3501$lcssa; + $201 = (($200) - ($183))|0; + $202 = $201 >> 2; + $203 = ($202*9)|0; + $204 = (($203) + -9)|0; + $205 = ($199|0)<($204|0); + if ($205) { + $206 = ((($$556)) + 4|0); + $207 = (($199) + 9216)|0; + $208 = (($207|0) / 9)&-1; + $209 = (($208) + -1024)|0; + $210 = (($206) + ($209<<2)|0); + $211 = (($207|0) % 9)&-1; + $$0527629 = (($211) + 1)|0; + $212 = ($$0527629|0)<(9); + if ($212) { + $$0527631 = $$0527629;$$1531630 = 10; + while(1) { + $213 = ($$1531630*10)|0; + $$0527 = (($$0527631) + 1)|0; + $exitcond = ($$0527|0)==(9); + if ($exitcond) { + $$1531$lcssa = $213; + break; + } else { + $$0527631 = $$0527;$$1531630 = $213; + } + } + } else { + $$1531$lcssa = 10; + } + $214 = HEAP32[$210>>2]|0; + $215 = (($214>>>0) % ($$1531$lcssa>>>0))&-1; + $216 = ($215|0)==(0); + $217 = ((($210)) + 4|0); + $218 = ($217|0)==($$3501$lcssa|0); + $or$cond541 = $218 & $216; + if ($or$cond541) { + $$4492 = $210;$$4518 = $$1515;$$8 = $$3484$lcssa; + } else { + $219 = (($214>>>0) / ($$1531$lcssa>>>0))&-1; + $220 = $219 & 1; + $221 = ($220|0)==(0); + $$542 = $221 ? 9007199254740992.0 : 9007199254740994.0; + $222 = (($$1531$lcssa|0) / 2)&-1; + $223 = ($215>>>0)<($222>>>0); + $224 = ($215|0)==($222|0); + $or$cond544 = $218 & $224; + $$559 = $or$cond544 ? 1.0 : 1.5; + $$$559 = $223 ? 0.5 : $$559; + $225 = ($$0520|0)==(0); + if ($225) { + $$1467 = $$$559;$$1469 = $$542; + } else { + $226 = HEAP8[$$0521>>0]|0; + $227 = ($226<<24>>24)==(45); + $228 = -$$542; + $229 = -$$$559; + $$$542 = $227 ? $228 : $$542; + $$$$559 = $227 ? $229 : $$$559; + $$1467 = $$$$559;$$1469 = $$$542; + } + $230 = (($214) - ($215))|0; + HEAP32[$210>>2] = $230; + $231 = $$1469 + $$1467; + $232 = $231 != $$1469; + if ($232) { + $233 = (($230) + ($$1531$lcssa))|0; + HEAP32[$210>>2] = $233; + $234 = ($233>>>0)>(999999999); + if ($234) { + $$5486623 = $$3484$lcssa;$$sink545622 = $210; + while(1) { + $235 = ((($$sink545622)) + -4|0); + HEAP32[$$sink545622>>2] = 0; + $236 = ($235>>>0)<($$5486623>>>0); + if ($236) { + $237 = ((($$5486623)) + -4|0); + HEAP32[$237>>2] = 0; + $$6 = $237; + } else { + $$6 = $$5486623; + } + $238 = HEAP32[$235>>2]|0; + $239 = (($238) + 1)|0; + HEAP32[$235>>2] = $239; + $240 = ($239>>>0)>(999999999); + if ($240) { + $$5486623 = $$6;$$sink545622 = $235; + } else { + $$5486$lcssa = $$6;$$sink545$lcssa = $235; + break; + } + } + } else { + $$5486$lcssa = $$3484$lcssa;$$sink545$lcssa = $210; + } + $241 = $$5486$lcssa; + $242 = (($183) - ($241))|0; + $243 = $242 >> 2; + $244 = ($243*9)|0; + $245 = HEAP32[$$5486$lcssa>>2]|0; + $246 = ($245>>>0)<(10); + if ($246) { + $$4492 = $$sink545$lcssa;$$4518 = $244;$$8 = $$5486$lcssa; + } else { + $$2516618 = $244;$$2532617 = 10; + while(1) { + $247 = ($$2532617*10)|0; + $248 = (($$2516618) + 1)|0; + $249 = ($245>>>0)<($247>>>0); + if ($249) { + $$4492 = $$sink545$lcssa;$$4518 = $248;$$8 = $$5486$lcssa; + break; + } else { + $$2516618 = $248;$$2532617 = $247; + } + } + } + } else { + $$4492 = $210;$$4518 = $$1515;$$8 = $$3484$lcssa; + } + } + $250 = ((($$4492)) + 4|0); + $251 = ($$3501$lcssa>>>0)>($250>>>0); + $$$3501 = $251 ? $250 : $$3501$lcssa; + $$5519$ph = $$4518;$$7505$ph = $$$3501;$$9$ph = $$8; + } else { + $$5519$ph = $$1515;$$7505$ph = $$3501$lcssa;$$9$ph = $$3484$lcssa; + } + $$7505 = $$7505$ph; + while(1) { + $252 = ($$7505>>>0)>($$9$ph>>>0); + if (!($252)) { + $$lcssa673 = 0; + break; + } + $253 = ((($$7505)) + -4|0); + $254 = HEAP32[$253>>2]|0; + $255 = ($254|0)==(0); + if ($255) { + $$7505 = $253; + } else { + $$lcssa673 = 1; + break; + } + } + $256 = (0 - ($$5519$ph))|0; + do { + if ($196) { + $not$ = $197 ^ 1; + $257 = $not$&1; + $$539$ = (($257) + ($$539))|0; + $258 = ($$539$|0)>($$5519$ph|0); + $259 = ($$5519$ph|0)>(-5); + $or$cond6 = $258 & $259; + if ($or$cond6) { + $260 = (($5) + -1)|0; + $$neg567 = (($$539$) + -1)|0; + $261 = (($$neg567) - ($$5519$ph))|0; + $$0479 = $260;$$2476 = $261; + } else { + $262 = (($5) + -2)|0; + $263 = (($$539$) + -1)|0; + $$0479 = $262;$$2476 = $263; + } + $264 = $4 & 8; + $265 = ($264|0)==(0); + if ($265) { + if ($$lcssa673) { + $266 = ((($$7505)) + -4|0); + $267 = HEAP32[$266>>2]|0; + $268 = ($267|0)==(0); + if ($268) { + $$2529 = 9; + } else { + $269 = (($267>>>0) % 10)&-1; + $270 = ($269|0)==(0); + if ($270) { + $$1528614 = 0;$$3533613 = 10; + while(1) { + $271 = ($$3533613*10)|0; + $272 = (($$1528614) + 1)|0; + $273 = (($267>>>0) % ($271>>>0))&-1; + $274 = ($273|0)==(0); + if ($274) { + $$1528614 = $272;$$3533613 = $271; + } else { + $$2529 = $272; + break; + } + } + } else { + $$2529 = 0; + } + } + } else { + $$2529 = 9; + } + $275 = $$0479 | 32; + $276 = ($275|0)==(102); + $277 = $$7505; + $278 = (($277) - ($183))|0; + $279 = $278 >> 2; + $280 = ($279*9)|0; + $281 = (($280) + -9)|0; + if ($276) { + $282 = (($281) - ($$2529))|0; + $283 = ($282|0)>(0); + $$546 = $283 ? $282 : 0; + $284 = ($$2476|0)<($$546|0); + $$2476$$547 = $284 ? $$2476 : $$546; + $$1480 = $$0479;$$3477 = $$2476$$547;$$pre$phi690Z2D = 0; + break; + } else { + $285 = (($281) + ($$5519$ph))|0; + $286 = (($285) - ($$2529))|0; + $287 = ($286|0)>(0); + $$548 = $287 ? $286 : 0; + $288 = ($$2476|0)<($$548|0); + $$2476$$549 = $288 ? $$2476 : $$548; + $$1480 = $$0479;$$3477 = $$2476$$549;$$pre$phi690Z2D = 0; + break; + } + } else { + $$1480 = $$0479;$$3477 = $$2476;$$pre$phi690Z2D = $264; + } + } else { + $$pre689 = $4 & 8; + $$1480 = $5;$$3477 = $$539;$$pre$phi690Z2D = $$pre689; + } + } while(0); + $289 = $$3477 | $$pre$phi690Z2D; + $290 = ($289|0)!=(0); + $291 = $290&1; + $292 = $$1480 | 32; + $293 = ($292|0)==(102); + if ($293) { + $294 = ($$5519$ph|0)>(0); + $295 = $294 ? $$5519$ph : 0; + $$2513 = 0;$$pn566 = $295; + } else { + $296 = ($$5519$ph|0)<(0); + $297 = $296 ? $256 : $$5519$ph; + $298 = ($297|0)<(0); + $299 = $298 << 31 >> 31; + $300 = (_fmt_u($297,$299,$11)|0); + $301 = $11; + $302 = $300; + $303 = (($301) - ($302))|0; + $304 = ($303|0)<(2); + if ($304) { + $$1512607 = $300; + while(1) { + $305 = ((($$1512607)) + -1|0); + HEAP8[$305>>0] = 48; + $306 = $305; + $307 = (($301) - ($306))|0; + $308 = ($307|0)<(2); + if ($308) { + $$1512607 = $305; + } else { + $$1512$lcssa = $305; + break; + } + } + } else { + $$1512$lcssa = $300; + } + $309 = $$5519$ph >> 31; + $310 = $309 & 2; + $311 = (($310) + 43)|0; + $312 = $311&255; + $313 = ((($$1512$lcssa)) + -1|0); + HEAP8[$313>>0] = $312; + $314 = $$1480&255; + $315 = ((($$1512$lcssa)) + -2|0); + HEAP8[$315>>0] = $314; + $316 = $315; + $317 = (($301) - ($316))|0; + $$2513 = $315;$$pn566 = $317; + } + $318 = (($$0520) + 1)|0; + $319 = (($318) + ($$3477))|0; + $$1526 = (($319) + ($291))|0; + $320 = (($$1526) + ($$pn566))|0; + _pad_674($0,32,$2,$320,$4); + _out($0,$$0521,$$0520); + $321 = $4 ^ 65536; + _pad_674($0,48,$2,$320,$321); + if ($293) { + $322 = ($$9$ph>>>0)>($$556>>>0); + $$0496$$9 = $322 ? $$556 : $$9$ph; + $323 = ((($8)) + 9|0); + $324 = $323; + $325 = ((($8)) + 8|0); + $$5493597 = $$0496$$9; + while(1) { + $326 = HEAP32[$$5493597>>2]|0; + $327 = (_fmt_u($326,0,$323)|0); + $328 = ($$5493597|0)==($$0496$$9|0); + if ($328) { + $334 = ($327|0)==($323|0); + if ($334) { + HEAP8[$325>>0] = 48; + $$1465 = $325; + } else { + $$1465 = $327; + } + } else { + $329 = ($327>>>0)>($8>>>0); + if ($329) { + $330 = $327; + $331 = (($330) - ($9))|0; + _memset(($8|0),48,($331|0))|0; + $$0464594 = $327; + while(1) { + $332 = ((($$0464594)) + -1|0); + $333 = ($332>>>0)>($8>>>0); + if ($333) { + $$0464594 = $332; + } else { + $$1465 = $332; + break; + } + } + } else { + $$1465 = $327; + } + } + $335 = $$1465; + $336 = (($324) - ($335))|0; + _out($0,$$1465,$336); + $337 = ((($$5493597)) + 4|0); + $338 = ($337>>>0)>($$556>>>0); + if ($338) { + break; + } else { + $$5493597 = $337; + } + } + $339 = ($289|0)==(0); + if (!($339)) { + _out($0,22690,1); + } + $340 = ($337>>>0)<($$7505>>>0); + $341 = ($$3477|0)>(0); + $342 = $340 & $341; + if ($342) { + $$4478590 = $$3477;$$6494589 = $337; + while(1) { + $343 = HEAP32[$$6494589>>2]|0; + $344 = (_fmt_u($343,0,$323)|0); + $345 = ($344>>>0)>($8>>>0); + if ($345) { + $346 = $344; + $347 = (($346) - ($9))|0; + _memset(($8|0),48,($347|0))|0; + $$0463584 = $344; + while(1) { + $348 = ((($$0463584)) + -1|0); + $349 = ($348>>>0)>($8>>>0); + if ($349) { + $$0463584 = $348; + } else { + $$0463$lcssa = $348; + break; + } + } + } else { + $$0463$lcssa = $344; + } + $350 = ($$4478590|0)<(9); + $351 = $350 ? $$4478590 : 9; + _out($0,$$0463$lcssa,$351); + $352 = ((($$6494589)) + 4|0); + $353 = (($$4478590) + -9)|0; + $354 = ($352>>>0)<($$7505>>>0); + $355 = ($$4478590|0)>(9); + $356 = $354 & $355; + if ($356) { + $$4478590 = $353;$$6494589 = $352; + } else { + $$4478$lcssa = $353; + break; + } + } + } else { + $$4478$lcssa = $$3477; + } + $357 = (($$4478$lcssa) + 9)|0; + _pad_674($0,48,$357,9,0); + } else { + $358 = ((($$9$ph)) + 4|0); + $$7505$ = $$lcssa673 ? $$7505 : $358; + $359 = ($$3477|0)>(-1); + if ($359) { + $360 = ((($8)) + 9|0); + $361 = ($$pre$phi690Z2D|0)==(0); + $362 = $360; + $363 = (0 - ($9))|0; + $364 = ((($8)) + 8|0); + $$5602 = $$3477;$$7495601 = $$9$ph; + while(1) { + $365 = HEAP32[$$7495601>>2]|0; + $366 = (_fmt_u($365,0,$360)|0); + $367 = ($366|0)==($360|0); + if ($367) { + HEAP8[$364>>0] = 48; + $$0 = $364; + } else { + $$0 = $366; + } + $368 = ($$7495601|0)==($$9$ph|0); + do { + if ($368) { + $372 = ((($$0)) + 1|0); + _out($0,$$0,1); + $373 = ($$5602|0)<(1); + $or$cond554 = $361 & $373; + if ($or$cond554) { + $$2 = $372; + break; + } + _out($0,22690,1); + $$2 = $372; + } else { + $369 = ($$0>>>0)>($8>>>0); + if (!($369)) { + $$2 = $$0; + break; + } + $scevgep684 = (($$0) + ($363)|0); + $scevgep684685 = $scevgep684; + _memset(($8|0),48,($scevgep684685|0))|0; + $$1598 = $$0; + while(1) { + $370 = ((($$1598)) + -1|0); + $371 = ($370>>>0)>($8>>>0); + if ($371) { + $$1598 = $370; + } else { + $$2 = $370; + break; + } + } + } + } while(0); + $374 = $$2; + $375 = (($362) - ($374))|0; + $376 = ($$5602|0)>($375|0); + $377 = $376 ? $375 : $$5602; + _out($0,$$2,$377); + $378 = (($$5602) - ($375))|0; + $379 = ((($$7495601)) + 4|0); + $380 = ($379>>>0)<($$7505$>>>0); + $381 = ($378|0)>(-1); + $382 = $380 & $381; + if ($382) { + $$5602 = $378;$$7495601 = $379; + } else { + $$5$lcssa = $378; + break; + } + } + } else { + $$5$lcssa = $$3477; + } + $383 = (($$5$lcssa) + 18)|0; + _pad_674($0,48,$383,18,0); + $384 = $11; + $385 = $$2513; + $386 = (($384) - ($385))|0; + _out($0,$$2513,$386); + } + $387 = $4 ^ 8192; + _pad_674($0,32,$2,$320,$387); + $$sink562 = $320; + } else { + $27 = $5 & 32; + $28 = ($27|0)!=(0); + $29 = $28 ? 22662 : 22666; + $30 = ($$0471 != $$0471) | (0.0 != 0.0); + $31 = $28 ? 24593 : 22670; + $$0510 = $30 ? $31 : $29; + $32 = (($$0520) + 3)|0; + $33 = $4 & -65537; + _pad_674($0,32,$2,$32,$33); + _out($0,$$0521,$$0520); + _out($0,$$0510,3); + $34 = $4 ^ 8192; + _pad_674($0,32,$2,$32,$34); + $$sink562 = $32; + } + } while(0); + $388 = ($$sink562|0)<($2|0); + $$555 = $388 ? $2 : $$sink562; + STACKTOP = sp;return ($$555|0); +} +function ___DOUBLE_BITS_675($0) { + $0 = +$0; + var $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF64[tempDoublePtr>>3] = $0;$1 = HEAP32[tempDoublePtr>>2]|0; + $2 = HEAP32[tempDoublePtr+4>>2]|0; + tempRet0 = ($2); + return ($1|0); +} +function _frexpl($0,$1) { + $0 = +$0; + $1 = $1|0; + var $2 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = (+_frexp($0,$1)); + return (+$2); +} +function _frexp($0,$1) { + $0 = +$0; + $1 = $1|0; + var $$0 = 0.0, $$016 = 0.0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0.0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0.0, $storemerge = 0, $trunc$clear = 0, label = 0; + var sp = 0; + sp = STACKTOP; + HEAPF64[tempDoublePtr>>3] = $0;$2 = HEAP32[tempDoublePtr>>2]|0; + $3 = HEAP32[tempDoublePtr+4>>2]|0; + $4 = (_bitshift64Lshr(($2|0),($3|0),52)|0); + $5 = tempRet0; + $6 = $4&65535; + $trunc$clear = $6 & 2047; + switch ($trunc$clear<<16>>16) { + case 0: { + $7 = $0 != 0.0; + if ($7) { + $8 = $0 * 1.8446744073709552E+19; + $9 = (+_frexp($8,$1)); + $10 = HEAP32[$1>>2]|0; + $11 = (($10) + -64)|0; + $$016 = $9;$storemerge = $11; + } else { + $$016 = $0;$storemerge = 0; + } + HEAP32[$1>>2] = $storemerge; + $$0 = $$016; + break; + } + case 2047: { + $$0 = $0; + break; + } + default: { + $12 = $4 & 2047; + $13 = (($12) + -1022)|0; + HEAP32[$1>>2] = $13; + $14 = $3 & -2146435073; + $15 = $14 | 1071644672; + HEAP32[tempDoublePtr>>2] = $2;HEAP32[tempDoublePtr+4>>2] = $15;$16 = +HEAPF64[tempDoublePtr>>3]; + $$0 = $16; + } + } + return (+$$0); +} +function _wcrtomb($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $not$ = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ($0|0)==(0|0); + do { + if ($3) { + $$0 = 1; + } else { + $4 = ($1>>>0)<(128); + if ($4) { + $5 = $1&255; + HEAP8[$0>>0] = $5; + $$0 = 1; + break; + } + $6 = (___pthread_self_448()|0); + $7 = ((($6)) + 188|0); + $8 = HEAP32[$7>>2]|0; + $9 = HEAP32[$8>>2]|0; + $not$ = ($9|0)==(0|0); + if ($not$) { + $10 = $1 & -128; + $11 = ($10|0)==(57216); + if ($11) { + $13 = $1&255; + HEAP8[$0>>0] = $13; + $$0 = 1; + break; + } else { + $12 = (___errno_location()|0); + HEAP32[$12>>2] = 84; + $$0 = -1; + break; + } + } + $14 = ($1>>>0)<(2048); + if ($14) { + $15 = $1 >>> 6; + $16 = $15 | 192; + $17 = $16&255; + $18 = ((($0)) + 1|0); + HEAP8[$0>>0] = $17; + $19 = $1 & 63; + $20 = $19 | 128; + $21 = $20&255; + HEAP8[$18>>0] = $21; + $$0 = 2; + break; + } + $22 = ($1>>>0)<(55296); + $23 = $1 & -8192; + $24 = ($23|0)==(57344); + $or$cond = $22 | $24; + if ($or$cond) { + $25 = $1 >>> 12; + $26 = $25 | 224; + $27 = $26&255; + $28 = ((($0)) + 1|0); + HEAP8[$0>>0] = $27; + $29 = $1 >>> 6; + $30 = $29 & 63; + $31 = $30 | 128; + $32 = $31&255; + $33 = ((($0)) + 2|0); + HEAP8[$28>>0] = $32; + $34 = $1 & 63; + $35 = $34 | 128; + $36 = $35&255; + HEAP8[$33>>0] = $36; + $$0 = 3; + break; + } + $37 = (($1) + -65536)|0; + $38 = ($37>>>0)<(1048576); + if ($38) { + $39 = $1 >>> 18; + $40 = $39 | 240; + $41 = $40&255; + $42 = ((($0)) + 1|0); + HEAP8[$0>>0] = $41; + $43 = $1 >>> 12; + $44 = $43 & 63; + $45 = $44 | 128; + $46 = $45&255; + $47 = ((($0)) + 2|0); + HEAP8[$42>>0] = $46; + $48 = $1 >>> 6; + $49 = $48 & 63; + $50 = $49 | 128; + $51 = $50&255; + $52 = ((($0)) + 3|0); + HEAP8[$47>>0] = $51; + $53 = $1 & 63; + $54 = $53 | 128; + $55 = $54&255; + HEAP8[$52>>0] = $55; + $$0 = 4; + break; + } else { + $56 = (___errno_location()|0); + HEAP32[$56>>2] = 84; + $$0 = -1; + break; + } + } + } while(0); + return ($$0|0); +} +function ___pthread_self_448() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (_pthread_self()|0); + return ($0|0); +} +function ___pthread_self_105() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (_pthread_self()|0); + return ($0|0); +} +function ___strerror_l($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$012$lcssa = 0, $$01214 = 0, $$016 = 0, $$113 = 0, $$115 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; + var label = 0, sp = 0; + sp = STACKTOP; + $$016 = 0; + while(1) { + $3 = (22692 + ($$016)|0); + $4 = HEAP8[$3>>0]|0; + $5 = $4&255; + $6 = ($5|0)==($0|0); + if ($6) { + label = 2; + break; + } + $7 = (($$016) + 1)|0; + $8 = ($7|0)==(87); + if ($8) { + $$01214 = 22780;$$115 = 87; + label = 5; + break; + } else { + $$016 = $7; + } + } + if ((label|0) == 2) { + $2 = ($$016|0)==(0); + if ($2) { + $$012$lcssa = 22780; + } else { + $$01214 = 22780;$$115 = $$016; + label = 5; + } + } + if ((label|0) == 5) { + while(1) { + label = 0; + $$113 = $$01214; + while(1) { + $9 = HEAP8[$$113>>0]|0; + $10 = ($9<<24>>24)==(0); + $11 = ((($$113)) + 1|0); + if ($10) { + break; + } else { + $$113 = $11; + } + } + $12 = (($$115) + -1)|0; + $13 = ($12|0)==(0); + if ($13) { + $$012$lcssa = $11; + break; + } else { + $$01214 = $11;$$115 = $12; + label = 5; + } + } + } + $14 = ((($1)) + 20|0); + $15 = HEAP32[$14>>2]|0; + $16 = (___lctrans($$012$lcssa,$15)|0); + return ($16|0); +} +function ___lctrans($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = (___lctrans_impl($0,$1)|0); + return ($2|0); +} +function ___lctrans_impl($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ($1|0)==(0|0); + if ($2) { + $$0 = 0; + } else { + $3 = HEAP32[$1>>2]|0; + $4 = ((($1)) + 4|0); + $5 = HEAP32[$4>>2]|0; + $6 = (___mo_lookup($3,$5,$0)|0); + $$0 = $6; + } + $7 = ($$0|0)!=(0|0); + $8 = $7 ? $$0 : $0; + return ($8|0); +} +function ___mo_lookup($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$ = 0, $$090 = 0, $$094 = 0, $$191 = 0, $$195 = 0, $$4 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; + var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; + var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0; + var $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond102 = 0, $or$cond104 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = HEAP32[$0>>2]|0; + $4 = (($3) + 1794895138)|0; + $5 = ((($0)) + 8|0); + $6 = HEAP32[$5>>2]|0; + $7 = (_swapc($6,$4)|0); + $8 = ((($0)) + 12|0); + $9 = HEAP32[$8>>2]|0; + $10 = (_swapc($9,$4)|0); + $11 = ((($0)) + 16|0); + $12 = HEAP32[$11>>2]|0; + $13 = (_swapc($12,$4)|0); + $14 = $1 >>> 2; + $15 = ($7>>>0)<($14>>>0); + L1: do { + if ($15) { + $16 = $7 << 2; + $17 = (($1) - ($16))|0; + $18 = ($10>>>0)<($17>>>0); + $19 = ($13>>>0)<($17>>>0); + $or$cond = $18 & $19; + if ($or$cond) { + $20 = $13 | $10; + $21 = $20 & 3; + $22 = ($21|0)==(0); + if ($22) { + $23 = $10 >>> 2; + $24 = $13 >>> 2; + $$090 = 0;$$094 = $7; + while(1) { + $25 = $$094 >>> 1; + $26 = (($$090) + ($25))|0; + $27 = $26 << 1; + $28 = (($27) + ($23))|0; + $29 = (($0) + ($28<<2)|0); + $30 = HEAP32[$29>>2]|0; + $31 = (_swapc($30,$4)|0); + $32 = (($28) + 1)|0; + $33 = (($0) + ($32<<2)|0); + $34 = HEAP32[$33>>2]|0; + $35 = (_swapc($34,$4)|0); + $36 = ($35>>>0)<($1>>>0); + $37 = (($1) - ($35))|0; + $38 = ($31>>>0)<($37>>>0); + $or$cond102 = $36 & $38; + if (!($or$cond102)) { + $$4 = 0; + break L1; + } + $39 = (($35) + ($31))|0; + $40 = (($0) + ($39)|0); + $41 = HEAP8[$40>>0]|0; + $42 = ($41<<24>>24)==(0); + if (!($42)) { + $$4 = 0; + break L1; + } + $43 = (($0) + ($35)|0); + $44 = (_strcmp($2,$43)|0); + $45 = ($44|0)==(0); + if ($45) { + break; + } + $62 = ($$094|0)==(1); + $63 = ($44|0)<(0); + $64 = (($$094) - ($25))|0; + $$195 = $63 ? $25 : $64; + $$191 = $63 ? $$090 : $26; + if ($62) { + $$4 = 0; + break L1; + } else { + $$090 = $$191;$$094 = $$195; + } + } + $46 = (($27) + ($24))|0; + $47 = (($0) + ($46<<2)|0); + $48 = HEAP32[$47>>2]|0; + $49 = (_swapc($48,$4)|0); + $50 = (($46) + 1)|0; + $51 = (($0) + ($50<<2)|0); + $52 = HEAP32[$51>>2]|0; + $53 = (_swapc($52,$4)|0); + $54 = ($53>>>0)<($1>>>0); + $55 = (($1) - ($53))|0; + $56 = ($49>>>0)<($55>>>0); + $or$cond104 = $54 & $56; + if ($or$cond104) { + $57 = (($0) + ($53)|0); + $58 = (($53) + ($49))|0; + $59 = (($0) + ($58)|0); + $60 = HEAP8[$59>>0]|0; + $61 = ($60<<24>>24)==(0); + $$ = $61 ? $57 : 0; + $$4 = $$; + } else { + $$4 = 0; + } + } else { + $$4 = 0; + } + } else { + $$4 = 0; + } + } else { + $$4 = 0; + } + } while(0); + return ($$4|0); +} +function _swapc($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$ = 0, $2 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ($1|0)==(0); + $3 = (_llvm_bswap_i32(($0|0))|0); + $$ = $2 ? $0 : $3; + return ($$|0); +} +function ___fwritex($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$038 = 0, $$042 = 0, $$1 = 0, $$139 = 0, $$141 = 0, $$143 = 0, $$pre = 0, $$pre47 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0; + var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; + var label = 0, sp = 0; + sp = STACKTOP; + $3 = ((($2)) + 16|0); + $4 = HEAP32[$3>>2]|0; + $5 = ($4|0)==(0|0); + if ($5) { + $7 = (___towrite($2)|0); + $8 = ($7|0)==(0); + if ($8) { + $$pre = HEAP32[$3>>2]|0; + $12 = $$pre; + label = 5; + } else { + $$1 = 0; + } + } else { + $6 = $4; + $12 = $6; + label = 5; + } + L5: do { + if ((label|0) == 5) { + $9 = ((($2)) + 20|0); + $10 = HEAP32[$9>>2]|0; + $11 = (($12) - ($10))|0; + $13 = ($11>>>0)<($1>>>0); + $14 = $10; + if ($13) { + $15 = ((($2)) + 36|0); + $16 = HEAP32[$15>>2]|0; + $17 = (FUNCTION_TABLE_iiii[$16 & 15]($2,$0,$1)|0); + $$1 = $17; + break; + } + $18 = ((($2)) + 75|0); + $19 = HEAP8[$18>>0]|0; + $20 = ($19<<24>>24)>(-1); + L10: do { + if ($20) { + $$038 = $1; + while(1) { + $21 = ($$038|0)==(0); + if ($21) { + $$139 = 0;$$141 = $0;$$143 = $1;$31 = $14; + break L10; + } + $22 = (($$038) + -1)|0; + $23 = (($0) + ($22)|0); + $24 = HEAP8[$23>>0]|0; + $25 = ($24<<24>>24)==(10); + if ($25) { + break; + } else { + $$038 = $22; + } + } + $26 = ((($2)) + 36|0); + $27 = HEAP32[$26>>2]|0; + $28 = (FUNCTION_TABLE_iiii[$27 & 15]($2,$0,$$038)|0); + $29 = ($28>>>0)<($$038>>>0); + if ($29) { + $$1 = $28; + break L5; + } + $30 = (($0) + ($$038)|0); + $$042 = (($1) - ($$038))|0; + $$pre47 = HEAP32[$9>>2]|0; + $$139 = $$038;$$141 = $30;$$143 = $$042;$31 = $$pre47; + } else { + $$139 = 0;$$141 = $0;$$143 = $1;$31 = $14; + } + } while(0); + _memcpy(($31|0),($$141|0),($$143|0))|0; + $32 = HEAP32[$9>>2]|0; + $33 = (($32) + ($$143)|0); + HEAP32[$9>>2] = $33; + $34 = (($$139) + ($$143))|0; + $$1 = $34; + } + } while(0); + return ($$1|0); +} +function ___towrite($0) { + $0 = $0|0; + var $$0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 74|0); + $2 = HEAP8[$1>>0]|0; + $3 = $2 << 24 >> 24; + $4 = (($3) + 255)|0; + $5 = $4 | $3; + $6 = $5&255; + HEAP8[$1>>0] = $6; + $7 = HEAP32[$0>>2]|0; + $8 = $7 & 8; + $9 = ($8|0)==(0); + if ($9) { + $11 = ((($0)) + 8|0); + HEAP32[$11>>2] = 0; + $12 = ((($0)) + 4|0); + HEAP32[$12>>2] = 0; + $13 = ((($0)) + 44|0); + $14 = HEAP32[$13>>2]|0; + $15 = ((($0)) + 28|0); + HEAP32[$15>>2] = $14; + $16 = ((($0)) + 20|0); + HEAP32[$16>>2] = $14; + $17 = ((($0)) + 48|0); + $18 = HEAP32[$17>>2]|0; + $19 = (($14) + ($18)|0); + $20 = ((($0)) + 16|0); + HEAP32[$20>>2] = $19; + $$0 = 0; + } else { + $10 = $7 | 32; + HEAP32[$0>>2] = $10; + $$0 = -1; + } + return ($$0|0); +} +function _sn_write($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$ = 0, $10 = 0, $11 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ((($0)) + 16|0); + $4 = HEAP32[$3>>2]|0; + $5 = ((($0)) + 20|0); + $6 = HEAP32[$5>>2]|0; + $7 = $6; + $8 = (($4) - ($7))|0; + $9 = ($8>>>0)>($2>>>0); + $$ = $9 ? $2 : $8; + _memcpy(($6|0),($1|0),($$|0))|0; + $10 = HEAP32[$5>>2]|0; + $11 = (($10) + ($$)|0); + HEAP32[$5>>2] = $11; + return ($2|0); +} +function _qsort($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$0 = 0, $$067$lcssa = 0, $$06772 = 0, $$068$lcssa = 0, $$06871 = 0, $$1 = 0, $$169 = 0, $$2 = 0, $$pre$pre = 0, $$pre76 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $15$phi = 0, $16 = 0, $17 = 0, $18 = 0; + var $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0; + var $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0; + var $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 208|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(208|0); + $4 = sp + 8|0; + $5 = sp; + $6 = Math_imul($2, $1)|0; + $7 = $5; + $8 = $7; + HEAP32[$8>>2] = 1; + $9 = (($7) + 4)|0; + $10 = $9; + HEAP32[$10>>2] = 0; + $11 = ($6|0)==(0); + L1: do { + if (!($11)) { + $12 = (0 - ($2))|0; + $13 = ((($4)) + 4|0); + HEAP32[$13>>2] = $2; + HEAP32[$4>>2] = $2; + $$0 = 2;$15 = $2;$17 = $2; + while(1) { + $14 = (($15) + ($2))|0; + $16 = (($14) + ($17))|0; + $18 = (($4) + ($$0<<2)|0); + HEAP32[$18>>2] = $16; + $19 = ($16>>>0)<($6>>>0); + $20 = (($$0) + 1)|0; + if ($19) { + $15$phi = $17;$$0 = $20;$17 = $16;$15 = $15$phi; + } else { + break; + } + } + $21 = (($0) + ($6)|0); + $22 = (($21) + ($12)|0); + $23 = ($22>>>0)>($0>>>0); + if ($23) { + $24 = $22; + $$06772 = 1;$$06871 = $0;$26 = 1; + while(1) { + $25 = $26 & 3; + $27 = ($25|0)==(3); + do { + if ($27) { + _sift($$06871,$2,$3,$$06772,$4); + _shr($5,2); + $28 = (($$06772) + 2)|0; + $$1 = $28; + } else { + $29 = (($$06772) + -1)|0; + $30 = (($4) + ($29<<2)|0); + $31 = HEAP32[$30>>2]|0; + $32 = $$06871; + $33 = (($24) - ($32))|0; + $34 = ($31>>>0)<($33>>>0); + if ($34) { + _sift($$06871,$2,$3,$$06772,$4); + } else { + _trinkle($$06871,$2,$3,$5,$$06772,0,$4); + } + $35 = ($$06772|0)==(1); + if ($35) { + _shl($5,1); + $$1 = 0; + break; + } else { + _shl($5,$29); + $$1 = 1; + break; + } + } + } while(0); + $36 = HEAP32[$5>>2]|0; + $37 = $36 | 1; + HEAP32[$5>>2] = $37; + $38 = (($$06871) + ($2)|0); + $39 = ($38>>>0)<($22>>>0); + if ($39) { + $$06772 = $$1;$$06871 = $38;$26 = $37; + } else { + $$067$lcssa = $$1;$$068$lcssa = $38;$61 = $37; + break; + } + } + } else { + $$067$lcssa = 1;$$068$lcssa = $0;$61 = 1; + } + _trinkle($$068$lcssa,$2,$3,$5,$$067$lcssa,0,$4); + $40 = ((($5)) + 4|0); + $$169 = $$068$lcssa;$$2 = $$067$lcssa;$43 = $61; + while(1) { + $41 = ($$2|0)==(1); + $42 = ($43|0)==(1); + $or$cond = $41 & $42; + if ($or$cond) { + $44 = HEAP32[$40>>2]|0; + $45 = ($44|0)==(0); + if ($45) { + break L1; + } + } else { + $46 = ($$2|0)<(2); + if (!($46)) { + _shl($5,2); + $49 = (($$2) + -2)|0; + $50 = HEAP32[$5>>2]|0; + $51 = $50 ^ 7; + HEAP32[$5>>2] = $51; + _shr($5,1); + $52 = (($4) + ($49<<2)|0); + $53 = HEAP32[$52>>2]|0; + $54 = (0 - ($53))|0; + $55 = (($$169) + ($54)|0); + $56 = (($55) + ($12)|0); + $57 = (($$2) + -1)|0; + _trinkle($56,$2,$3,$5,$57,1,$4); + _shl($5,1); + $58 = HEAP32[$5>>2]|0; + $59 = $58 | 1; + HEAP32[$5>>2] = $59; + $60 = (($$169) + ($12)|0); + _trinkle($60,$2,$3,$5,$49,1,$4); + $$169 = $60;$$2 = $49;$43 = $59; + continue; + } + } + $47 = (_pntz($5)|0); + _shr($5,$47); + $48 = (($47) + ($$2))|0; + $$pre$pre = HEAP32[$5>>2]|0; + $$pre76 = (($$169) + ($12)|0); + $$169 = $$pre76;$$2 = $48;$43 = $$pre$pre; + } + } + } while(0); + STACKTOP = sp;return; +} +function _sift($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$0$lcssa = 0, $$029$be = 0, $$02932 = 0, $$030$be = 0, $$03031 = 0, $$033 = 0, $$pre = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0; + var $23 = 0, $24 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 240|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(240|0); + $5 = sp; + HEAP32[$5>>2] = $0; + $6 = ($3|0)>(1); + L1: do { + if ($6) { + $7 = (0 - ($1))|0; + $$02932 = $0;$$03031 = $3;$$033 = 1;$14 = $0; + while(1) { + $8 = (($$02932) + ($7)|0); + $9 = (($$03031) + -2)|0; + $10 = (($4) + ($9<<2)|0); + $11 = HEAP32[$10>>2]|0; + $12 = (0 - ($11))|0; + $13 = (($8) + ($12)|0); + $15 = (FUNCTION_TABLE_iii[$2 & 7]($14,$13)|0); + $16 = ($15|0)>(-1); + if ($16) { + $17 = (FUNCTION_TABLE_iii[$2 & 7]($14,$8)|0); + $18 = ($17|0)>(-1); + if ($18) { + $$0$lcssa = $$033; + break L1; + } + } + $19 = (FUNCTION_TABLE_iii[$2 & 7]($13,$8)|0); + $20 = ($19|0)>(-1); + $21 = (($$033) + 1)|0; + $22 = (($5) + ($$033<<2)|0); + if ($20) { + HEAP32[$22>>2] = $13; + $23 = (($$03031) + -1)|0; + $$029$be = $13;$$030$be = $23; + } else { + HEAP32[$22>>2] = $8; + $$029$be = $8;$$030$be = $9; + } + $24 = ($$030$be|0)>(1); + if (!($24)) { + $$0$lcssa = $21; + break L1; + } + $$pre = HEAP32[$5>>2]|0; + $$02932 = $$029$be;$$03031 = $$030$be;$$033 = $21;$14 = $$pre; + } + } else { + $$0$lcssa = 1; + } + } while(0); + _cycle($1,$5,$$0$lcssa); + STACKTOP = sp;return; +} +function _shr($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $$pre = 0, $$pre11 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ($1>>>0)>(31); + $3 = ((($0)) + 4|0); + if ($2) { + $4 = (($1) + -32)|0; + $5 = HEAP32[$3>>2]|0; + HEAP32[$0>>2] = $5; + HEAP32[$3>>2] = 0; + $$0 = $4;$10 = 0;$7 = $5; + } else { + $$pre = HEAP32[$0>>2]|0; + $$pre11 = HEAP32[$3>>2]|0; + $$0 = $1;$10 = $$pre11;$7 = $$pre; + } + $6 = $7 >>> $$0; + $8 = (32 - ($$0))|0; + $9 = $10 << $8; + $11 = $9 | $6; + HEAP32[$0>>2] = $11; + $12 = $10 >>> $$0; + HEAP32[$3>>2] = $12; + return; +} +function _trinkle($0,$1,$2,$3,$4,$5,$6) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + $6 = $6|0; + var $$0$lcssa = 0, $$045$lcssa = 0, $$04551 = 0, $$0455780 = 0, $$046$lcssa = 0, $$04653 = 0, $$0465681 = 0, $$047$lcssa = 0, $$0475582 = 0, $$049 = 0, $$05879 = 0, $$05879$phi = 0, $$pre = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0; + var $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0; + var $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $phitmp = 0, label = 0; + var sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 240|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(240|0); + $7 = sp + 232|0; + $8 = sp; + $9 = HEAP32[$3>>2]|0; + HEAP32[$7>>2] = $9; + $10 = ((($3)) + 4|0); + $11 = HEAP32[$10>>2]|0; + $12 = ((($7)) + 4|0); + HEAP32[$12>>2] = $11; + HEAP32[$8>>2] = $0; + $13 = ($9|0)!=(1); + $14 = ($11|0)!=(0); + $15 = $13 | $14; + L1: do { + if ($15) { + $16 = (0 - ($1))|0; + $17 = (($6) + ($4<<2)|0); + $18 = HEAP32[$17>>2]|0; + $19 = (0 - ($18))|0; + $20 = (($0) + ($19)|0); + $21 = (FUNCTION_TABLE_iii[$2 & 7]($20,$0)|0); + $22 = ($21|0)<(1); + if ($22) { + $$0$lcssa = $0;$$045$lcssa = 1;$$046$lcssa = $4;$$047$lcssa = $5; + label = 9; + } else { + $phitmp = ($5|0)==(0); + $$0455780 = 1;$$0465681 = $4;$$0475582 = $phitmp;$$05879 = $0;$28 = $20; + while(1) { + $23 = ($$0465681|0)>(1); + $or$cond = $$0475582 & $23; + if ($or$cond) { + $24 = (($$05879) + ($16)|0); + $25 = (($$0465681) + -2)|0; + $26 = (($6) + ($25<<2)|0); + $27 = HEAP32[$26>>2]|0; + $29 = (FUNCTION_TABLE_iii[$2 & 7]($24,$28)|0); + $30 = ($29|0)>(-1); + if ($30) { + $$04551 = $$0455780;$$04653 = $$0465681;$$049 = $$05879; + label = 10; + break L1; + } + $31 = (0 - ($27))|0; + $32 = (($24) + ($31)|0); + $33 = (FUNCTION_TABLE_iii[$2 & 7]($32,$28)|0); + $34 = ($33|0)>(-1); + if ($34) { + $$04551 = $$0455780;$$04653 = $$0465681;$$049 = $$05879; + label = 10; + break L1; + } + } + $35 = (($$0455780) + 1)|0; + $36 = (($8) + ($$0455780<<2)|0); + HEAP32[$36>>2] = $28; + $37 = (_pntz($7)|0); + _shr($7,$37); + $38 = (($37) + ($$0465681))|0; + $39 = HEAP32[$7>>2]|0; + $40 = ($39|0)!=(1); + $41 = HEAP32[$12>>2]|0; + $42 = ($41|0)!=(0); + $43 = $40 | $42; + if (!($43)) { + $$04551 = $35;$$04653 = $38;$$049 = $28; + label = 10; + break L1; + } + $$pre = HEAP32[$8>>2]|0; + $44 = (($6) + ($38<<2)|0); + $45 = HEAP32[$44>>2]|0; + $46 = (0 - ($45))|0; + $47 = (($28) + ($46)|0); + $48 = (FUNCTION_TABLE_iii[$2 & 7]($47,$$pre)|0); + $49 = ($48|0)<(1); + if ($49) { + $$0$lcssa = $28;$$045$lcssa = $35;$$046$lcssa = $38;$$047$lcssa = 0; + label = 9; + break; + } else { + $$05879$phi = $28;$$0455780 = $35;$$0465681 = $38;$$0475582 = 1;$28 = $47;$$05879 = $$05879$phi; + } + } + } + } else { + $$0$lcssa = $0;$$045$lcssa = 1;$$046$lcssa = $4;$$047$lcssa = $5; + label = 9; + } + } while(0); + if ((label|0) == 9) { + $50 = ($$047$lcssa|0)==(0); + if ($50) { + $$04551 = $$045$lcssa;$$04653 = $$046$lcssa;$$049 = $$0$lcssa; + label = 10; + } + } + if ((label|0) == 10) { + _cycle($1,$8,$$04551); + _sift($$049,$1,$2,$$04653,$6); + } + STACKTOP = sp;return; +} +function _shl($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $$pre = 0, $$pre11 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ($1>>>0)>(31); + $3 = ((($0)) + 4|0); + if ($2) { + $4 = (($1) + -32)|0; + $5 = HEAP32[$0>>2]|0; + HEAP32[$3>>2] = $5; + HEAP32[$0>>2] = 0; + $$0 = $4;$10 = 0;$7 = $5; + } else { + $$pre = HEAP32[$3>>2]|0; + $$pre11 = HEAP32[$0>>2]|0; + $$0 = $1;$10 = $$pre11;$7 = $$pre; + } + $6 = $7 << $$0; + $8 = (32 - ($$0))|0; + $9 = $10 >>> $8; + $11 = $9 | $6; + HEAP32[$3>>2] = $11; + $12 = $10 << $$0; + HEAP32[$0>>2] = $12; + return; +} +function _pntz($0) { + $0 = $0|0; + var $$ = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP32[$0>>2]|0; + $2 = (($1) + -1)|0; + $3 = (_a_ctz_l_763($2)|0); + $4 = ($3|0)==(0); + if ($4) { + $5 = ((($0)) + 4|0); + $6 = HEAP32[$5>>2]|0; + $7 = (_a_ctz_l_763($6)|0); + $8 = (($7) + 32)|0; + $9 = ($7|0)==(0); + $$ = $9 ? 0 : $8; + return ($$|0); + } else { + return ($3|0); + } + return (0)|0; +} +function _a_ctz_l_763($0) { + $0 = $0|0; + var $$068 = 0, $$07 = 0, $$09 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ($0|0)==(0); + if ($1) { + $$07 = 32; + } else { + $2 = $0 & 1; + $3 = ($2|0)==(0); + if ($3) { + $$068 = $0;$$09 = 0; + while(1) { + $4 = (($$09) + 1)|0; + $5 = $$068 >>> 1; + $6 = $5 & 1; + $7 = ($6|0)==(0); + if ($7) { + $$068 = $5;$$09 = $4; + } else { + $$07 = $4; + break; + } + } + } else { + $$07 = 0; + } + } + return ($$07|0); +} +function _cycle($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$02527 = 0, $$026 = 0, $$pre = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; + var $exitcond = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0); + $3 = sp; + $4 = ($2|0)<(2); + L1: do { + if (!($4)) { + $5 = (($1) + ($2<<2)|0); + HEAP32[$5>>2] = $3; + $6 = ($0|0)==(0); + if (!($6)) { + $$02527 = $0;$10 = $3; + while(1) { + $7 = ($$02527>>>0)<(256); + $8 = $7 ? $$02527 : 256; + $9 = HEAP32[$1>>2]|0; + _memcpy(($10|0),($9|0),($8|0))|0; + $$026 = 0; + while(1) { + $11 = (($1) + ($$026<<2)|0); + $12 = HEAP32[$11>>2]|0; + $13 = (($$026) + 1)|0; + $14 = (($1) + ($13<<2)|0); + $15 = HEAP32[$14>>2]|0; + _memcpy(($12|0),($15|0),($8|0))|0; + $16 = HEAP32[$11>>2]|0; + $17 = (($16) + ($8)|0); + HEAP32[$11>>2] = $17; + $exitcond = ($13|0)==($2|0); + if ($exitcond) { + break; + } else { + $$026 = $13; + } + } + $18 = (($$02527) - ($8))|0; + $19 = ($18|0)==(0); + if ($19) { + break L1; + } + $$pre = HEAP32[$5>>2]|0; + $$02527 = $18;$10 = $$pre; + } + } + } + } while(0); + STACKTOP = sp;return; +} +function ___floatscan($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$0 = 0, $$0105$ph = 0, $$0106$ph = 0, $$0107$lcssa = 0, $$0107127 = 0, $$0113 = 0, $$0114 = 0.0, $$1$lcssa = 0, $$1108 = 0, $$1128 = 0, $$2 = 0, $$2109125 = 0, $$3110 = 0, $$3126 = 0, $$4 = 0, $$4111 = 0, $$5 = 0, $$6 = 0, $$in = 0, $$old8 = 0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0.0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0.0, $14 = 0, $15 = 0; + var $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0; + var $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0; + var $53 = 0.0, $54 = 0.0, $55 = 0.0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0; + var $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0; + var $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, $or$cond5 = 0, $or$cond7 = 0, $or$cond9 = 0, label = 0, sp = 0; + sp = STACKTOP; + switch ($1|0) { + case 0: { + $$0105$ph = -149;$$0106$ph = 24; + label = 4; + break; + } + case 1: { + $$0105$ph = -1074;$$0106$ph = 53; + label = 4; + break; + } + case 2: { + $$0105$ph = -1074;$$0106$ph = 53; + label = 4; + break; + } + default: { + $$0114 = 0.0; + } + } + L4: do { + if ((label|0) == 4) { + $3 = ((($0)) + 4|0); + $4 = ((($0)) + 100|0); + while(1) { + $5 = HEAP32[$3>>2]|0; + $6 = HEAP32[$4>>2]|0; + $7 = ($5>>>0)<($6>>>0); + if ($7) { + $8 = ((($5)) + 1|0); + HEAP32[$3>>2] = $8; + $9 = HEAP8[$5>>0]|0; + $10 = $9&255; + $12 = $10; + } else { + $11 = (___shgetc($0)|0); + $12 = $11; + } + $13 = (_isspace($12)|0); + $14 = ($13|0)==(0); + if ($14) { + break; + } + } + L13: do { + switch ($12|0) { + case 43: case 45: { + $15 = ($12|0)==(45); + $16 = $15&1; + $17 = $16 << 1; + $18 = (1 - ($17))|0; + $19 = HEAP32[$3>>2]|0; + $20 = HEAP32[$4>>2]|0; + $21 = ($19>>>0)<($20>>>0); + if ($21) { + $22 = ((($19)) + 1|0); + HEAP32[$3>>2] = $22; + $23 = HEAP8[$19>>0]|0; + $24 = $23&255; + $$0 = $24;$$0113 = $18; + break L13; + } else { + $25 = (___shgetc($0)|0); + $$0 = $25;$$0113 = $18; + break L13; + } + break; + } + default: { + $$0 = $12;$$0113 = 1; + } + } + } while(0); + $$0107127 = 0;$$1128 = $$0; + while(1) { + $26 = $$1128 | 32; + $27 = (24584 + ($$0107127)|0); + $28 = HEAP8[$27>>0]|0; + $29 = $28 << 24 >> 24; + $30 = ($26|0)==($29|0); + if (!($30)) { + $$0107$lcssa = $$0107127;$$1$lcssa = $$1128; + break; + } + $31 = ($$0107127>>>0)<(7); + do { + if ($31) { + $32 = HEAP32[$3>>2]|0; + $33 = HEAP32[$4>>2]|0; + $34 = ($32>>>0)<($33>>>0); + if ($34) { + $35 = ((($32)) + 1|0); + HEAP32[$3>>2] = $35; + $36 = HEAP8[$32>>0]|0; + $37 = $36&255; + $$2 = $37; + break; + } else { + $38 = (___shgetc($0)|0); + $$2 = $38; + break; + } + } else { + $$2 = $$1128; + } + } while(0); + $39 = (($$0107127) + 1)|0; + $40 = ($39>>>0)<(8); + if ($40) { + $$0107127 = $39;$$1128 = $$2; + } else { + $$0107$lcssa = $39;$$1$lcssa = $$2; + break; + } + } + L29: do { + switch ($$0107$lcssa|0) { + case 8: { + break; + } + case 3: { + label = 23; + break; + } + default: { + $41 = ($$0107$lcssa>>>0)>(3); + $42 = ($2|0)!=(0); + $or$cond5 = $42 & $41; + if ($or$cond5) { + $43 = ($$0107$lcssa|0)==(8); + if ($43) { + break L29; + } else { + label = 23; + break L29; + } + } + $56 = ($$0107$lcssa|0)==(0); + L34: do { + if ($56) { + $$2109125 = 0;$$3126 = $$1$lcssa; + while(1) { + $57 = $$3126 | 32; + $58 = (24593 + ($$2109125)|0); + $59 = HEAP8[$58>>0]|0; + $60 = $59 << 24 >> 24; + $61 = ($57|0)==($60|0); + if (!($61)) { + $$3110 = $$2109125;$$5 = $$3126; + break L34; + } + $62 = ($$2109125>>>0)<(2); + do { + if ($62) { + $63 = HEAP32[$3>>2]|0; + $64 = HEAP32[$4>>2]|0; + $65 = ($63>>>0)<($64>>>0); + if ($65) { + $66 = ((($63)) + 1|0); + HEAP32[$3>>2] = $66; + $67 = HEAP8[$63>>0]|0; + $68 = $67&255; + $$4 = $68; + break; + } else { + $69 = (___shgetc($0)|0); + $$4 = $69; + break; + } + } else { + $$4 = $$3126; + } + } while(0); + $70 = (($$2109125) + 1)|0; + $71 = ($70>>>0)<(3); + if ($71) { + $$2109125 = $70;$$3126 = $$4; + } else { + $$3110 = $70;$$5 = $$4; + break; + } + } + } else { + $$3110 = $$0107$lcssa;$$5 = $$1$lcssa; + } + } while(0); + switch ($$3110|0) { + case 3: { + $72 = HEAP32[$3>>2]|0; + $73 = HEAP32[$4>>2]|0; + $74 = ($72>>>0)<($73>>>0); + if ($74) { + $75 = ((($72)) + 1|0); + HEAP32[$3>>2] = $75; + $76 = HEAP8[$72>>0]|0; + $77 = $76&255; + $80 = $77; + } else { + $78 = (___shgetc($0)|0); + $80 = $78; + } + $79 = ($80|0)==(40); + if ($79) { + $$4111 = 1; + } else { + $81 = HEAP32[$4>>2]|0; + $82 = ($81|0)==(0|0); + if ($82) { + $$0114 = nan; + break L4; + } + $83 = HEAP32[$3>>2]|0; + $84 = ((($83)) + -1|0); + HEAP32[$3>>2] = $84; + $$0114 = nan; + break L4; + } + while(1) { + $85 = HEAP32[$3>>2]|0; + $86 = HEAP32[$4>>2]|0; + $87 = ($85>>>0)<($86>>>0); + if ($87) { + $88 = ((($85)) + 1|0); + HEAP32[$3>>2] = $88; + $89 = HEAP8[$85>>0]|0; + $90 = $89&255; + $93 = $90; + } else { + $91 = (___shgetc($0)|0); + $93 = $91; + } + $92 = (($93) + -48)|0; + $94 = ($92>>>0)<(10); + $95 = (($93) + -65)|0; + $96 = ($95>>>0)<(26); + $or$cond = $94 | $96; + if (!($or$cond)) { + $97 = (($93) + -97)|0; + $98 = ($97>>>0)<(26); + $99 = ($93|0)==(95); + $or$cond7 = $99 | $98; + if (!($or$cond7)) { + break; + } + } + $111 = (($$4111) + 1)|0; + $$4111 = $111; + } + $100 = ($93|0)==(41); + if ($100) { + $$0114 = nan; + break L4; + } + $101 = HEAP32[$4>>2]|0; + $102 = ($101|0)==(0|0); + if (!($102)) { + $103 = HEAP32[$3>>2]|0; + $104 = ((($103)) + -1|0); + HEAP32[$3>>2] = $104; + } + if (!($42)) { + $106 = (___errno_location()|0); + HEAP32[$106>>2] = 22; + ___shlim($0,0); + $$0114 = 0.0; + break L4; + } + $105 = ($$4111|0)==(0); + if ($105) { + $$0114 = nan; + break L4; + } else { + $$in = $$4111; + } + while(1) { + $107 = (($$in) + -1)|0; + if (!($102)) { + $108 = HEAP32[$3>>2]|0; + $109 = ((($108)) + -1|0); + HEAP32[$3>>2] = $109; + } + $110 = ($107|0)==(0); + if ($110) { + $$0114 = nan; + break L4; + } else { + $$in = $107; + } + } + break; + } + case 0: { + $117 = ($$5|0)==(48); + if ($117) { + $118 = HEAP32[$3>>2]|0; + $119 = HEAP32[$4>>2]|0; + $120 = ($118>>>0)<($119>>>0); + if ($120) { + $121 = ((($118)) + 1|0); + HEAP32[$3>>2] = $121; + $122 = HEAP8[$118>>0]|0; + $123 = $122&255; + $126 = $123; + } else { + $124 = (___shgetc($0)|0); + $126 = $124; + } + $125 = $126 | 32; + $127 = ($125|0)==(120); + if ($127) { + $128 = (+_hexfloat($0,$$0106$ph,$$0105$ph,$$0113,$2)); + $$0114 = $128; + break L4; + } + $129 = HEAP32[$4>>2]|0; + $130 = ($129|0)==(0|0); + if ($130) { + $$6 = 48; + } else { + $131 = HEAP32[$3>>2]|0; + $132 = ((($131)) + -1|0); + HEAP32[$3>>2] = $132; + $$6 = 48; + } + } else { + $$6 = $$5; + } + $133 = (+_decfloat($0,$$6,$$0106$ph,$$0105$ph,$$0113,$2)); + $$0114 = $133; + break L4; + break; + } + default: { + $112 = HEAP32[$4>>2]|0; + $113 = ($112|0)==(0|0); + if (!($113)) { + $114 = HEAP32[$3>>2]|0; + $115 = ((($114)) + -1|0); + HEAP32[$3>>2] = $115; + } + $116 = (___errno_location()|0); + HEAP32[$116>>2] = 22; + ___shlim($0,0); + $$0114 = 0.0; + break L4; + } + } + } + } + } while(0); + if ((label|0) == 23) { + $44 = HEAP32[$4>>2]|0; + $45 = ($44|0)==(0|0); + if (!($45)) { + $46 = HEAP32[$3>>2]|0; + $47 = ((($46)) + -1|0); + HEAP32[$3>>2] = $47; + } + $48 = ($2|0)!=(0); + $49 = ($$0107$lcssa>>>0)>(3); + $or$cond9 = $48 & $49; + if ($or$cond9) { + $$1108 = $$0107$lcssa; + while(1) { + if (!($45)) { + $50 = HEAP32[$3>>2]|0; + $51 = ((($50)) + -1|0); + HEAP32[$3>>2] = $51; + } + $52 = (($$1108) + -1)|0; + $$old8 = ($52>>>0)>(3); + if ($$old8) { + $$1108 = $52; + } else { + break; + } + } + } + } + $53 = (+($$0113|0)); + $54 = $53 * inf; + $55 = $54; + $$0114 = $55; + } + } while(0); + return (+$$0114); +} +function _hexfloat($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$0 = 0, $$0133 = 0, $$0142 = 0, $$0146 = 0, $$0148 = 0, $$0148$ = 0, $$0151 = 0.0, $$0152 = 0.0, $$0155 = 0.0, $$0155$ = 0.0, $$0159 = 0, $$0165 = 0.0, $$0166 = 0, $$0166169 = 0, $$0166170 = 0, $$1$ph = 0, $$1147 = 0, $$1149 = 0, $$1153 = 0.0, $$1156 = 0.0; + var $$1160 = 0, $$2 = 0, $$2$lcssa = 0, $$2144 = 0, $$2150 = 0, $$2154 = 0.0, $$2157 = 0.0, $$2161 = 0, $$3145 = 0, $$3158$lcssa = 0.0, $$3158179 = 0.0, $$3162$lcssa = 0, $$3162183 = 0, $$4 = 0.0, $$4163$lcssa = 0, $$4163178 = 0, $$5 = 0.0, $$5164 = 0, $$6 = 0, $$pn = 0.0; + var $$pre = 0.0, $$pre$phiZ2D = 0.0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; + var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; + var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0.0, $143 = 0.0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; + var $152 = 0, $153 = 0.0, $154 = 0.0, $155 = 0.0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0.0, $167 = 0.0, $168 = 0.0, $169 = 0, $17 = 0; + var $170 = 0, $171 = 0.0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; + var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0.0, $197 = 0, $198 = 0.0, $199 = 0.0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0.0, $206 = 0.0; + var $207 = 0.0, $208 = 0.0, $209 = 0.0, $21 = 0, $210 = 0.0, $211 = 0, $212 = 0, $213 = 0.0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0; + var $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0.0, $67 = 0.0; + var $68 = 0.0, $69 = 0.0, $7 = 0, $70 = 0, $71 = 0, $72 = 0.0, $73 = 0.0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0; + var $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0.0, $96 = 0.0, $97 = 0, $98 = 0, $99 = 0, $not$ = 0, $or$cond = 0, $or$cond168 = 0, $or$cond206 = 0, $or$cond4 = 0; + var $or$cond6 = 0, label = 0, sp = 0; + sp = STACKTOP; + $5 = ((($0)) + 4|0); + $6 = HEAP32[$5>>2]|0; + $7 = ((($0)) + 100|0); + $8 = HEAP32[$7>>2]|0; + $9 = ($6>>>0)<($8>>>0); + if ($9) { + $10 = ((($6)) + 1|0); + HEAP32[$5>>2] = $10; + $11 = HEAP8[$6>>0]|0; + $12 = $11&255; + $$0 = $12;$$0142 = 0; + } else { + $13 = (___shgetc($0)|0); + $$0 = $13;$$0142 = 0; + } + L4: while(1) { + switch ($$0|0) { + case 46: { + label = 8; + break L4; + break; + } + case 48: { + break; + } + default: { + $$0146 = 0;$$0148 = 0;$$0152 = 1.0;$$0155 = 0.0;$$0159 = 0;$$2 = $$0;$$2144 = $$0142;$101 = 0;$53 = 0;$55 = 0;$99 = 0; + break L4; + } + } + $14 = HEAP32[$5>>2]|0; + $15 = HEAP32[$7>>2]|0; + $16 = ($14>>>0)<($15>>>0); + if ($16) { + $17 = ((($14)) + 1|0); + HEAP32[$5>>2] = $17; + $18 = HEAP8[$14>>0]|0; + $19 = $18&255; + $$0 = $19;$$0142 = 1; + continue; + } else { + $20 = (___shgetc($0)|0); + $$0 = $20;$$0142 = 1; + continue; + } + } + if ((label|0) == 8) { + $21 = HEAP32[$5>>2]|0; + $22 = HEAP32[$7>>2]|0; + $23 = ($21>>>0)<($22>>>0); + if ($23) { + $24 = ((($21)) + 1|0); + HEAP32[$5>>2] = $24; + $25 = HEAP8[$21>>0]|0; + $26 = $25&255; + $$1$ph = $26; + } else { + $27 = (___shgetc($0)|0); + $$1$ph = $27; + } + $28 = ($$1$ph|0)==(48); + if ($28) { + $36 = 0;$37 = 0; + while(1) { + $29 = HEAP32[$5>>2]|0; + $30 = HEAP32[$7>>2]|0; + $31 = ($29>>>0)<($30>>>0); + if ($31) { + $32 = ((($29)) + 1|0); + HEAP32[$5>>2] = $32; + $33 = HEAP8[$29>>0]|0; + $34 = $33&255; + $41 = $34; + } else { + $35 = (___shgetc($0)|0); + $41 = $35; + } + $38 = (_i64Add(($36|0),($37|0),-1,-1)|0); + $39 = tempRet0; + $40 = ($41|0)==(48); + if ($40) { + $36 = $38;$37 = $39; + } else { + $$0146 = 1;$$0148 = 0;$$0152 = 1.0;$$0155 = 0.0;$$0159 = 0;$$2 = $41;$$2144 = 1;$101 = $39;$53 = 0;$55 = 0;$99 = $38; + break; + } + } + } else { + $$0146 = 1;$$0148 = 0;$$0152 = 1.0;$$0155 = 0.0;$$0159 = 0;$$2 = $$1$ph;$$2144 = $$0142;$101 = 0;$53 = 0;$55 = 0;$99 = 0; + } + } + while(1) { + $42 = (($$2) + -48)|0; + $43 = ($42>>>0)<(10); + $44 = ($$2|0)==(46); + if (!($43)) { + $45 = $$2 | 32; + $46 = (($45) + -97)|0; + $47 = ($46>>>0)<(6); + $or$cond6 = $44 | $47; + if (!($or$cond6)) { + $$2$lcssa = $$2; + break; + } + } + if ($44) { + $48 = ($$0146|0)==(0); + if ($48) { + $$1147 = 1;$$2150 = $$0148;$$2154 = $$0152;$$2157 = $$0155;$$2161 = $$0159;$$3145 = $$2144;$214 = $55;$215 = $53;$216 = $55;$217 = $53; + } else { + $$2$lcssa = 46; + break; + } + } else { + $49 = ($$2|0)>(57); + $50 = $$2 | 32; + $51 = (($50) + -87)|0; + $$0133 = $49 ? $51 : $42; + $52 = ($53|0)<(0); + $54 = ($55>>>0)<(8); + $56 = ($53|0)==(0); + $57 = $56 & $54; + $58 = $52 | $57; + do { + if ($58) { + $59 = $$0159 << 4; + $60 = (($$0133) + ($59))|0; + $$1149 = $$0148;$$1153 = $$0152;$$1156 = $$0155;$$1160 = $60; + } else { + $61 = ($53|0)<(0); + $62 = ($55>>>0)<(14); + $63 = ($53|0)==(0); + $64 = $63 & $62; + $65 = $61 | $64; + if ($65) { + $66 = (+($$0133|0)); + $67 = $$0152 * 0.0625; + $68 = $67 * $66; + $69 = $$0155 + $68; + $$1149 = $$0148;$$1153 = $67;$$1156 = $69;$$1160 = $$0159; + break; + } else { + $70 = ($$0133|0)==(0); + $71 = ($$0148|0)!=(0); + $or$cond = $71 | $70; + $72 = $$0152 * 0.5; + $73 = $$0155 + $72; + $$0155$ = $or$cond ? $$0155 : $73; + $$0148$ = $or$cond ? $$0148 : 1; + $$1149 = $$0148$;$$1153 = $$0152;$$1156 = $$0155$;$$1160 = $$0159; + break; + } + } + } while(0); + $74 = (_i64Add(($55|0),($53|0),1,0)|0); + $75 = tempRet0; + $$1147 = $$0146;$$2150 = $$1149;$$2154 = $$1153;$$2157 = $$1156;$$2161 = $$1160;$$3145 = 1;$214 = $99;$215 = $101;$216 = $74;$217 = $75; + } + $76 = HEAP32[$5>>2]|0; + $77 = HEAP32[$7>>2]|0; + $78 = ($76>>>0)<($77>>>0); + if ($78) { + $79 = ((($76)) + 1|0); + HEAP32[$5>>2] = $79; + $80 = HEAP8[$76>>0]|0; + $81 = $80&255; + $$0146 = $$1147;$$0148 = $$2150;$$0152 = $$2154;$$0155 = $$2157;$$0159 = $$2161;$$2 = $81;$$2144 = $$3145;$101 = $215;$53 = $217;$55 = $216;$99 = $214; + continue; + } else { + $82 = (___shgetc($0)|0); + $$0146 = $$1147;$$0148 = $$2150;$$0152 = $$2154;$$0155 = $$2157;$$0159 = $$2161;$$2 = $82;$$2144 = $$3145;$101 = $215;$53 = $217;$55 = $216;$99 = $214; + continue; + } + } + $83 = ($$2144|0)==(0); + do { + if ($83) { + $84 = HEAP32[$7>>2]|0; + $85 = ($84|0)!=(0|0); + if ($85) { + $86 = HEAP32[$5>>2]|0; + $87 = ((($86)) + -1|0); + HEAP32[$5>>2] = $87; + } + $88 = ($4|0)==(0); + if ($88) { + ___shlim($0,0); + } else { + if ($85) { + $89 = HEAP32[$5>>2]|0; + $90 = ((($89)) + -1|0); + HEAP32[$5>>2] = $90; + } + $91 = ($$0146|0)==(0); + $92 = ($84|0)==(0|0); + $or$cond206 = $91 | $92; + if (!($or$cond206)) { + $93 = HEAP32[$5>>2]|0; + $94 = ((($93)) + -1|0); + HEAP32[$5>>2] = $94; + } + } + $95 = (+($3|0)); + $96 = $95 * 0.0; + $$0165 = $96; + } else { + $97 = ($$0146|0)==(0); + $98 = $97 ? $55 : $99; + $100 = $97 ? $53 : $101; + $102 = ($53|0)<(0); + $103 = ($55>>>0)<(8); + $104 = ($53|0)==(0); + $105 = $104 & $103; + $106 = $102 | $105; + if ($106) { + $$3162183 = $$0159;$108 = $55;$109 = $53; + while(1) { + $107 = $$3162183 << 4; + $110 = (_i64Add(($108|0),($109|0),1,0)|0); + $111 = tempRet0; + $112 = ($111|0)<(0); + $113 = ($110>>>0)<(8); + $114 = ($111|0)==(0); + $115 = $114 & $113; + $116 = $112 | $115; + if ($116) { + $$3162183 = $107;$108 = $110;$109 = $111; + } else { + $$3162$lcssa = $107; + break; + } + } + } else { + $$3162$lcssa = $$0159; + } + $117 = $$2$lcssa | 32; + $118 = ($117|0)==(112); + if ($118) { + $119 = (_scanexp($0,$4)|0); + $120 = tempRet0; + $121 = ($119|0)==(0); + $122 = ($120|0)==(-2147483648); + $123 = $121 & $122; + if ($123) { + $124 = ($4|0)==(0); + if ($124) { + ___shlim($0,0); + $$0165 = 0.0; + break; + } + $125 = HEAP32[$7>>2]|0; + $126 = ($125|0)==(0|0); + if ($126) { + $137 = 0;$138 = 0; + } else { + $127 = HEAP32[$5>>2]|0; + $128 = ((($127)) + -1|0); + HEAP32[$5>>2] = $128; + $137 = 0;$138 = 0; + } + } else { + $137 = $119;$138 = $120; + } + } else { + $129 = HEAP32[$7>>2]|0; + $130 = ($129|0)==(0|0); + if ($130) { + $137 = 0;$138 = 0; + } else { + $131 = HEAP32[$5>>2]|0; + $132 = ((($131)) + -1|0); + HEAP32[$5>>2] = $132; + $137 = 0;$138 = 0; + } + } + $133 = (_bitshift64Shl(($98|0),($100|0),2)|0); + $134 = tempRet0; + $135 = (_i64Add(($133|0),($134|0),-32,-1)|0); + $136 = tempRet0; + $139 = (_i64Add(($135|0),($136|0),($137|0),($138|0))|0); + $140 = tempRet0; + $141 = ($$3162$lcssa|0)==(0); + if ($141) { + $142 = (+($3|0)); + $143 = $142 * 0.0; + $$0165 = $143; + break; + } + $144 = (0 - ($2))|0; + $145 = ($144|0)<(0); + $146 = $145 << 31 >> 31; + $147 = ($140|0)>($146|0); + $148 = ($139>>>0)>($144>>>0); + $149 = ($140|0)==($146|0); + $150 = $149 & $148; + $151 = $147 | $150; + if ($151) { + $152 = (___errno_location()|0); + HEAP32[$152>>2] = 34; + $153 = (+($3|0)); + $154 = $153 * 1.7976931348623157E+308; + $155 = $154 * 1.7976931348623157E+308; + $$0165 = $155; + break; + } + $156 = (($2) + -106)|0; + $157 = ($156|0)<(0); + $158 = $157 << 31 >> 31; + $159 = ($140|0)<($158|0); + $160 = ($139>>>0)<($156>>>0); + $161 = ($140|0)==($158|0); + $162 = $161 & $160; + $163 = $159 | $162; + if ($163) { + $165 = (___errno_location()|0); + HEAP32[$165>>2] = 34; + $166 = (+($3|0)); + $167 = $166 * 2.2250738585072014E-308; + $168 = $167 * 2.2250738585072014E-308; + $$0165 = $168; + break; + } + $164 = ($$3162$lcssa|0)>(-1); + if ($164) { + $$3158179 = $$0155;$$4163178 = $$3162$lcssa;$173 = $139;$174 = $140; + while(1) { + $169 = !($$3158179 >= 0.5); + $170 = $$4163178 << 1; + $171 = $$3158179 + -1.0; + $not$ = $169 ^ 1; + $172 = $not$&1; + $$5164 = $170 | $172; + $$pn = $169 ? $$3158179 : $171; + $$4 = $$3158179 + $$pn; + $175 = (_i64Add(($173|0),($174|0),-1,-1)|0); + $176 = tempRet0; + $177 = ($$5164|0)>(-1); + if ($177) { + $$3158179 = $$4;$$4163178 = $$5164;$173 = $175;$174 = $176; + } else { + $$3158$lcssa = $$4;$$4163$lcssa = $$5164;$184 = $175;$185 = $176; + break; + } + } + } else { + $$3158$lcssa = $$0155;$$4163$lcssa = $$3162$lcssa;$184 = $139;$185 = $140; + } + $178 = ($1|0)<(0); + $179 = $178 << 31 >> 31; + $180 = ($2|0)<(0); + $181 = $180 << 31 >> 31; + $182 = (_i64Subtract(32,0,($2|0),($181|0))|0); + $183 = tempRet0; + $186 = (_i64Add(($182|0),($183|0),($184|0),($185|0))|0); + $187 = tempRet0; + $188 = ($179|0)>($187|0); + $189 = ($1>>>0)>($186>>>0); + $190 = ($179|0)==($187|0); + $191 = $190 & $189; + $192 = $188 | $191; + if ($192) { + $193 = ($186|0)>(0); + if ($193) { + $$0166 = $186; + label = 59; + } else { + $$0166170 = 0;$197 = 84; + label = 61; + } + } else { + $$0166 = $1; + label = 59; + } + if ((label|0) == 59) { + $194 = ($$0166|0)<(53); + $195 = (84 - ($$0166))|0; + if ($194) { + $$0166170 = $$0166;$197 = $195; + label = 61; + } else { + $$pre = (+($3|0)); + $$0151 = 0.0;$$0166169 = $$0166;$$pre$phiZ2D = $$pre; + } + } + if ((label|0) == 61) { + $196 = (+($3|0)); + $198 = (+_scalbn(1.0,$197)); + $199 = (+_copysignl($198,$196)); + $$0151 = $199;$$0166169 = $$0166170;$$pre$phiZ2D = $196; + } + $200 = ($$0166169|0)<(32); + $201 = $$3158$lcssa != 0.0; + $or$cond4 = $201 & $200; + $202 = $$4163$lcssa & 1; + $203 = ($202|0)==(0); + $or$cond168 = $203 & $or$cond4; + $204 = $or$cond168&1; + $$6 = (($204) + ($$4163$lcssa))|0; + $$5 = $or$cond168 ? 0.0 : $$3158$lcssa; + $205 = (+($$6>>>0)); + $206 = $$pre$phiZ2D * $205; + $207 = $$0151 + $206; + $208 = $$pre$phiZ2D * $$5; + $209 = $208 + $207; + $210 = $209 - $$0151; + $211 = $210 != 0.0; + if (!($211)) { + $212 = (___errno_location()|0); + HEAP32[$212>>2] = 34; + } + $213 = (+_scalbnl($210,$184)); + $$0165 = $213; + } + } while(0); + return (+$$0165); +} +function _decfloat($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + var $$ = 0, $$$0345 = 0, $$$0350 = 0, $$$0385 = 0, $$$0401 = 0, $$$5355 = 0, $$$5390 = 0, $$0329 = 0, $$0332490 = 0, $$0333 = 0, $$0334 = 0, $$0336486 = 0, $$0340496 = 0, $$0341$lcssa = 0, $$0341463 = 0, $$0341464 = 0, $$0341465 = 0, $$0341513 = 0, $$0345$lcssa = 0, $$0345467 = 0; + var $$0345468 = 0, $$0345469 = 0, $$0345512 = 0, $$0350$lcssa554 = 0, $$0350494 = 0, $$0360 = 0.0, $$0361 = 0.0, $$0365484 = 0.0, $$0372 = 0, $$0380 = 0, $$0380$ph = 0, $$0385$lcssa553 = 0, $$0385493 = 0, $$0393 = 0, $$0396 = 0, $$0401$lcssa = 0, $$0401473 = 0, $$0401474 = 0, $$0401475 = 0, $$0401509 = 0; + var $$1 = 0.0, $$10 = 0, $$1330$be = 0, $$1330$ph = 0, $$1335 = 0, $$1337 = 0, $$1362 = 0.0, $$1366 = 0.0, $$1373 = 0, $$1373$ph448 = 0, $$1381 = 0, $$1381$ph = 0, $$1381$ph558 = 0, $$1394$lcssa = 0, $$1394511 = 0, $$2 = 0, $$2343 = 0, $$2347 = 0, $$2352$ph449 = 0, $$2367 = 0.0; + var $$2371$v = 0, $$2374 = 0, $$2387$ph447 = 0, $$2395 = 0, $$2398 = 0, $$2403 = 0, $$3$be = 0, $$3$lcssa = 0, $$3344503 = 0, $$3348 = 0, $$3364 = 0.0, $$3368 = 0.0, $$3375 = 0, $$3383 = 0, $$3399$lcssa = 0, $$3399510 = 0, $$3514 = 0, $$413 = 0, $$425 = 0, $$4349495 = 0; + var $$4354 = 0, $$4354$ph = 0, $$4354$ph559 = 0, $$4376 = 0, $$4384 = 0, $$4389$ph = 0, $$4389$ph445 = 0, $$4400 = 0, $$4485 = 0, $$5 = 0, $$5$in = 0, $$5355488 = 0, $$5390487 = 0, $$6378$ph = 0, $$6489 = 0, $$9483 = 0, $$neg442 = 0, $$neg443 = 0, $$pre = 0, $$promoted = 0; + var $$sink = 0, $$sink421$off0 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0.0, $103 = 0.0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; + var $116 = 0, $117 = 0, $118 = 0, $119 = 0.0, $12 = 0, $120 = 0.0, $121 = 0.0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0.0, $132 = 0.0, $133 = 0.0; + var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0.0, $144 = 0.0, $145 = 0.0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; + var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0.0, $159 = 0.0, $16 = 0, $160 = 0.0, $161 = 0, $162 = 0.0, $163 = 0.0, $164 = 0.0, $165 = 0, $166 = 0, $167 = 0, $168 = 0.0, $169 = 0.0, $17 = 0; + var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0.0, $177 = 0.0, $178 = 0.0, $179 = 0, $18 = 0, $180 = 0.0, $181 = 0.0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; + var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0; + var $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0; + var $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0; + var $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0; + var $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0; + var $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0; + var $298 = 0, $299 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0.0, $304 = 0, $305 = 0, $306 = 0.0, $307 = 0.0, $308 = 0, $309 = 0.0, $31 = 0, $310 = 0.0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0; + var $316 = 0, $317 = 0.0, $318 = 0.0, $319 = 0, $32 = 0, $320 = 0.0, $321 = 0.0, $322 = 0.0, $323 = 0.0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0; + var $334 = 0.0, $335 = 0.0, $336 = 0, $337 = 0.0, $338 = 0.0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0.0, $343 = 0.0, $344 = 0.0, $345 = 0.0, $346 = 0, $347 = 0, $348 = 0.0, $349 = 0, $35 = 0, $350 = 0.0, $351 = 0.0; + var $352 = 0.0, $353 = 0, $354 = 0, $355 = 0, $356 = 0.0, $357 = 0, $358 = 0.0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0.0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0; + var $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $39 = 0, $40 = 0, $41 = 0; + var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0; + var $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0; + var $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0; + var $98 = 0, $99 = 0, $cond = 0, $exitcond = 0, $exitcond551 = 0, $narrow = 0, $not$ = 0, $or$cond = 0, $or$cond11 = 0, $or$cond14 = 0, $or$cond415 = 0, $or$cond417 = 0, $or$cond419 = 0, $or$cond420 = 0, $or$cond422 = 0, $or$cond422$not = 0, $or$cond423 = 0, $or$cond426 = 0, $or$cond5 = 0, $sum = 0; + var label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 512|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(512|0); + $6 = sp; + $sum = (($3) + ($2))|0; + $7 = (0 - ($sum))|0; + $8 = ((($0)) + 4|0); + $9 = ((($0)) + 100|0); + $$0329 = $1;$$0396 = 0; + L1: while(1) { + switch ($$0329|0) { + case 46: { + label = 6; + break L1; + break; + } + case 48: { + break; + } + default: { + $$0393 = 0;$$2 = $$0329;$$2398 = $$0396;$366 = 0;$367 = 0; + break L1; + } + } + $10 = HEAP32[$8>>2]|0; + $11 = HEAP32[$9>>2]|0; + $12 = ($10>>>0)<($11>>>0); + if ($12) { + $13 = ((($10)) + 1|0); + HEAP32[$8>>2] = $13; + $14 = HEAP8[$10>>0]|0; + $15 = $14&255; + $$0329 = $15;$$0396 = 1; + continue; + } else { + $16 = (___shgetc($0)|0); + $$0329 = $16;$$0396 = 1; + continue; + } + } + if ((label|0) == 6) { + $17 = HEAP32[$8>>2]|0; + $18 = HEAP32[$9>>2]|0; + $19 = ($17>>>0)<($18>>>0); + if ($19) { + $20 = ((($17)) + 1|0); + HEAP32[$8>>2] = $20; + $21 = HEAP8[$17>>0]|0; + $22 = $21&255; + $$1330$ph = $22; + } else { + $23 = (___shgetc($0)|0); + $$1330$ph = $23; + } + $24 = ($$1330$ph|0)==(48); + if ($24) { + $25 = 0;$26 = 0; + while(1) { + $27 = (_i64Add(($25|0),($26|0),-1,-1)|0); + $28 = tempRet0; + $29 = HEAP32[$8>>2]|0; + $30 = HEAP32[$9>>2]|0; + $31 = ($29>>>0)<($30>>>0); + if ($31) { + $32 = ((($29)) + 1|0); + HEAP32[$8>>2] = $32; + $33 = HEAP8[$29>>0]|0; + $34 = $33&255; + $$1330$be = $34; + } else { + $35 = (___shgetc($0)|0); + $$1330$be = $35; + } + $36 = ($$1330$be|0)==(48); + if ($36) { + $25 = $27;$26 = $28; + } else { + $$0393 = 1;$$2 = $$1330$be;$$2398 = 1;$366 = $27;$367 = $28; + break; + } + } + } else { + $$0393 = 1;$$2 = $$1330$ph;$$2398 = $$0396;$366 = 0;$367 = 0; + } + } + HEAP32[$6>>2] = 0; + $37 = (($$2) + -48)|0; + $38 = ($37>>>0)<(10); + $39 = ($$2|0)==(46); + $40 = $39 | $38; + L20: do { + if ($40) { + $41 = ((($6)) + 496|0); + $$0341513 = 0;$$0345512 = 0;$$0401509 = 0;$$1394511 = $$0393;$$3399510 = $$2398;$$3514 = $$2;$368 = $39;$369 = $37;$370 = $366;$371 = $367;$44 = 0;$45 = 0; + L22: while(1) { + do { + if ($368) { + $cond = ($$1394511|0)==(0); + if ($cond) { + $$2343 = $$0341513;$$2347 = $$0345512;$$2395 = 1;$$2403 = $$0401509;$$4400 = $$3399510;$372 = $44;$373 = $45;$374 = $44;$375 = $45; + } else { + break L22; + } + } else { + $43 = ($$0345512|0)<(125); + $46 = (_i64Add(($44|0),($45|0),1,0)|0); + $47 = tempRet0; + $48 = ($$3514|0)!=(48); + if (!($43)) { + if (!($48)) { + $$2343 = $$0341513;$$2347 = $$0345512;$$2395 = $$1394511;$$2403 = $$0401509;$$4400 = $$3399510;$372 = $370;$373 = $371;$374 = $46;$375 = $47; + break; + } + $57 = HEAP32[$41>>2]|0; + $58 = $57 | 1; + HEAP32[$41>>2] = $58; + $$2343 = $$0341513;$$2347 = $$0345512;$$2395 = $$1394511;$$2403 = $$0401509;$$4400 = $$3399510;$372 = $370;$373 = $371;$374 = $46;$375 = $47; + break; + } + $$$0401 = $48 ? $46 : $$0401509; + $49 = ($$0341513|0)==(0); + $$pre = (($6) + ($$0345512<<2)|0); + if ($49) { + $$sink = $369; + } else { + $50 = HEAP32[$$pre>>2]|0; + $51 = ($50*10)|0; + $52 = (($$3514) + -48)|0; + $53 = (($52) + ($51))|0; + $$sink = $53; + } + HEAP32[$$pre>>2] = $$sink; + $54 = (($$0341513) + 1)|0; + $55 = ($54|0)==(9); + $56 = $55&1; + $$$0345 = (($56) + ($$0345512))|0; + $$413 = $55 ? 0 : $54; + $$2343 = $$413;$$2347 = $$$0345;$$2395 = $$1394511;$$2403 = $$$0401;$$4400 = 1;$372 = $370;$373 = $371;$374 = $46;$375 = $47; + } + } while(0); + $59 = HEAP32[$8>>2]|0; + $60 = HEAP32[$9>>2]|0; + $61 = ($59>>>0)<($60>>>0); + if ($61) { + $62 = ((($59)) + 1|0); + HEAP32[$8>>2] = $62; + $63 = HEAP8[$59>>0]|0; + $64 = $63&255; + $$3$be = $64; + } else { + $65 = (___shgetc($0)|0); + $$3$be = $65; + } + $66 = (($$3$be) + -48)|0; + $67 = ($66>>>0)<(10); + $68 = ($$3$be|0)==(46); + $69 = $68 | $67; + if ($69) { + $$0341513 = $$2343;$$0345512 = $$2347;$$0401509 = $$2403;$$1394511 = $$2395;$$3399510 = $$4400;$$3514 = $$3$be;$368 = $68;$369 = $66;$370 = $372;$371 = $373;$44 = $374;$45 = $375; + } else { + $$0341$lcssa = $$2343;$$0345$lcssa = $$2347;$$0401$lcssa = $$2403;$$1394$lcssa = $$2395;$$3$lcssa = $$3$be;$$3399$lcssa = $$4400;$72 = $372;$73 = $374;$75 = $373;$76 = $375; + label = 29; + break L20; + } + } + $42 = ($$3399510|0)!=(0); + $$0341465 = $$0341513;$$0345469 = $$0345512;$$0401475 = $$0401509;$376 = $44;$377 = $45;$378 = $370;$379 = $371;$380 = $42; + label = 37; + } else { + $$0341$lcssa = 0;$$0345$lcssa = 0;$$0401$lcssa = 0;$$1394$lcssa = $$0393;$$3$lcssa = $$2;$$3399$lcssa = $$2398;$72 = $366;$73 = 0;$75 = $367;$76 = 0; + label = 29; + } + } while(0); + do { + if ((label|0) == 29) { + $70 = ($$1394$lcssa|0)==(0); + $71 = $70 ? $73 : $72; + $74 = $70 ? $76 : $75; + $77 = ($$3399$lcssa|0)!=(0); + $78 = $$3$lcssa | 32; + $79 = ($78|0)==(101); + $or$cond415 = $77 & $79; + if (!($or$cond415)) { + $94 = ($$3$lcssa|0)>(-1); + if ($94) { + $$0341465 = $$0341$lcssa;$$0345469 = $$0345$lcssa;$$0401475 = $$0401$lcssa;$376 = $73;$377 = $76;$378 = $71;$379 = $74;$380 = $77; + label = 37; + break; + } else { + $$0341464 = $$0341$lcssa;$$0345468 = $$0345$lcssa;$$0401474 = $$0401$lcssa;$381 = $73;$382 = $76;$383 = $77;$384 = $71;$385 = $74; + label = 39; + break; + } + } + $80 = (_scanexp($0,$5)|0); + $81 = tempRet0; + $82 = ($80|0)==(0); + $83 = ($81|0)==(-2147483648); + $84 = $82 & $83; + if ($84) { + $85 = ($5|0)==(0); + if ($85) { + ___shlim($0,0); + $$1 = 0.0; + break; + } + $86 = HEAP32[$9>>2]|0; + $87 = ($86|0)==(0|0); + if ($87) { + $90 = 0;$91 = 0; + } else { + $88 = HEAP32[$8>>2]|0; + $89 = ((($88)) + -1|0); + HEAP32[$8>>2] = $89; + $90 = 0;$91 = 0; + } + } else { + $90 = $80;$91 = $81; + } + $92 = (_i64Add(($90|0),($91|0),($71|0),($74|0))|0); + $93 = tempRet0; + $$0341463 = $$0341$lcssa;$$0345467 = $$0345$lcssa;$$0401473 = $$0401$lcssa;$105 = $92;$106 = $73;$108 = $93;$109 = $76; + label = 41; + } + } while(0); + if ((label|0) == 37) { + $95 = HEAP32[$9>>2]|0; + $96 = ($95|0)==(0|0); + if ($96) { + $$0341464 = $$0341465;$$0345468 = $$0345469;$$0401474 = $$0401475;$381 = $376;$382 = $377;$383 = $380;$384 = $378;$385 = $379; + label = 39; + } else { + $97 = HEAP32[$8>>2]|0; + $98 = ((($97)) + -1|0); + HEAP32[$8>>2] = $98; + if ($380) { + $$0341463 = $$0341465;$$0345467 = $$0345469;$$0401473 = $$0401475;$105 = $378;$106 = $376;$108 = $379;$109 = $377; + label = 41; + } else { + label = 40; + } + } + } + if ((label|0) == 39) { + if ($383) { + $$0341463 = $$0341464;$$0345467 = $$0345468;$$0401473 = $$0401474;$105 = $384;$106 = $381;$108 = $385;$109 = $382; + label = 41; + } else { + label = 40; + } + } + do { + if ((label|0) == 40) { + $99 = (___errno_location()|0); + HEAP32[$99>>2] = 22; + ___shlim($0,0); + $$1 = 0.0; + } + else if ((label|0) == 41) { + $100 = HEAP32[$6>>2]|0; + $101 = ($100|0)==(0); + if ($101) { + $102 = (+($4|0)); + $103 = $102 * 0.0; + $$1 = $103; + break; + } + $104 = ($105|0)==($106|0); + $107 = ($108|0)==($109|0); + $110 = $104 & $107; + $111 = ($109|0)<(0); + $112 = ($106>>>0)<(10); + $113 = ($109|0)==(0); + $114 = $113 & $112; + $115 = $111 | $114; + $or$cond = $115 & $110; + if ($or$cond) { + $116 = ($2|0)>(30); + $117 = $100 >>> $2; + $118 = ($117|0)==(0); + $or$cond417 = $116 | $118; + if ($or$cond417) { + $119 = (+($4|0)); + $120 = (+($100>>>0)); + $121 = $119 * $120; + $$1 = $121; + break; + } + } + $122 = (($3|0) / -2)&-1; + $123 = ($122|0)<(0); + $124 = $123 << 31 >> 31; + $125 = ($108|0)>($124|0); + $126 = ($105>>>0)>($122>>>0); + $127 = ($108|0)==($124|0); + $128 = $127 & $126; + $129 = $125 | $128; + if ($129) { + $130 = (___errno_location()|0); + HEAP32[$130>>2] = 34; + $131 = (+($4|0)); + $132 = $131 * 1.7976931348623157E+308; + $133 = $132 * 1.7976931348623157E+308; + $$1 = $133; + break; + } + $134 = (($3) + -106)|0; + $135 = ($134|0)<(0); + $136 = $135 << 31 >> 31; + $137 = ($108|0)<($136|0); + $138 = ($105>>>0)<($134>>>0); + $139 = ($108|0)==($136|0); + $140 = $139 & $138; + $141 = $137 | $140; + if ($141) { + $142 = (___errno_location()|0); + HEAP32[$142>>2] = 34; + $143 = (+($4|0)); + $144 = $143 * 2.2250738585072014E-308; + $145 = $144 * 2.2250738585072014E-308; + $$1 = $145; + break; + } + $146 = ($$0341463|0)==(0); + if ($146) { + $$3348 = $$0345467; + } else { + $147 = ($$0341463|0)<(9); + if ($147) { + $148 = (($6) + ($$0345467<<2)|0); + $$promoted = HEAP32[$148>>2]|0; + $$3344503 = $$0341463;$150 = $$promoted; + while(1) { + $149 = ($150*10)|0; + $151 = (($$3344503) + 1)|0; + $exitcond551 = ($151|0)==(9); + if ($exitcond551) { + break; + } else { + $$3344503 = $151;$150 = $149; + } + } + HEAP32[$148>>2] = $149; + } + $152 = (($$0345467) + 1)|0; + $$3348 = $152; + } + $153 = ($$0401473|0)<(9); + if ($153) { + $154 = ($$0401473|0)<=($105|0); + $155 = ($105|0)<(18); + $or$cond5 = $154 & $155; + if ($or$cond5) { + $156 = ($105|0)==(9); + $157 = HEAP32[$6>>2]|0; + if ($156) { + $158 = (+($4|0)); + $159 = (+($157>>>0)); + $160 = $158 * $159; + $$1 = $160; + break; + } + $161 = ($105|0)<(9); + if ($161) { + $162 = (+($4|0)); + $163 = (+($157>>>0)); + $164 = $162 * $163; + $165 = (8 - ($105))|0; + $166 = (5632 + ($165<<2)|0); + $167 = HEAP32[$166>>2]|0; + $168 = (+($167|0)); + $169 = $164 / $168; + $$1 = $169; + break; + } + $$neg442 = Math_imul($105, -3)|0; + $$neg443 = (($2) + 27)|0; + $170 = (($$neg443) + ($$neg442))|0; + $171 = ($170|0)>(30); + $172 = $157 >>> $170; + $173 = ($172|0)==(0); + $or$cond419 = $171 | $173; + if ($or$cond419) { + $174 = (($105) + -10)|0; + $175 = (5632 + ($174<<2)|0); + $176 = (+($4|0)); + $177 = (+($157>>>0)); + $178 = $176 * $177; + $179 = HEAP32[$175>>2]|0; + $180 = (+($179|0)); + $181 = $178 * $180; + $$1 = $181; + break; + } + } + } + $182 = (($105|0) % 9)&-1; + $183 = ($182|0)==(0); + if ($183) { + $$0380$ph = 0;$$1373$ph448 = $$3348;$$2352$ph449 = 0;$$2387$ph447 = $105; + } else { + $184 = ($105|0)>(-1); + $185 = (($182) + 9)|0; + $186 = $184 ? $182 : $185; + $187 = (8 - ($186))|0; + $188 = (5632 + ($187<<2)|0); + $189 = HEAP32[$188>>2]|0; + $190 = ($$3348|0)==(0); + if ($190) { + $$0350$lcssa554 = 0;$$0372 = 0;$$0385$lcssa553 = $105; + } else { + $191 = (1000000000 / ($189|0))&-1; + $$0340496 = 0;$$0350494 = 0;$$0385493 = $105;$$4349495 = 0; + while(1) { + $192 = (($6) + ($$4349495<<2)|0); + $193 = HEAP32[$192>>2]|0; + $194 = (($193>>>0) % ($189>>>0))&-1; + $195 = (($193>>>0) / ($189>>>0))&-1; + $196 = (($195) + ($$0340496))|0; + HEAP32[$192>>2] = $196; + $197 = Math_imul($191, $194)|0; + $198 = ($$4349495|0)==($$0350494|0); + $199 = ($196|0)==(0); + $or$cond420 = $198 & $199; + $200 = (($$0350494) + 1)|0; + $201 = $200 & 127; + $202 = (($$0385493) + -9)|0; + $$$0385 = $or$cond420 ? $202 : $$0385493; + $$$0350 = $or$cond420 ? $201 : $$0350494; + $203 = (($$4349495) + 1)|0; + $204 = ($203|0)==($$3348|0); + if ($204) { + break; + } else { + $$0340496 = $197;$$0350494 = $$$0350;$$0385493 = $$$0385;$$4349495 = $203; + } + } + $205 = ($197|0)==(0); + if ($205) { + $$0350$lcssa554 = $$$0350;$$0372 = $$3348;$$0385$lcssa553 = $$$0385; + } else { + $206 = (($6) + ($$3348<<2)|0); + $207 = (($$3348) + 1)|0; + HEAP32[$206>>2] = $197; + $$0350$lcssa554 = $$$0350;$$0372 = $207;$$0385$lcssa553 = $$$0385; + } + } + $208 = (9 - ($186))|0; + $209 = (($208) + ($$0385$lcssa553))|0; + $$0380$ph = 0;$$1373$ph448 = $$0372;$$2352$ph449 = $$0350$lcssa554;$$2387$ph447 = $209; + } + L101: while(1) { + $210 = ($$2387$ph447|0)<(18); + $211 = ($$2387$ph447|0)==(18); + $212 = (($6) + ($$2352$ph449<<2)|0); + $$0380 = $$0380$ph;$$1373 = $$1373$ph448; + while(1) { + if (!($210)) { + if (!($211)) { + $$1381$ph = $$0380;$$4354$ph = $$2352$ph449;$$4389$ph445 = $$2387$ph447;$$6378$ph = $$1373; + break L101; + } + $213 = HEAP32[$212>>2]|0; + $214 = ($213>>>0)<(9007199); + if (!($214)) { + $$1381$ph = $$0380;$$4354$ph = $$2352$ph449;$$4389$ph445 = 18;$$6378$ph = $$1373; + break L101; + } + } + $215 = (($$1373) + 127)|0; + $$0334 = 0;$$2374 = $$1373;$$5$in = $215; + while(1) { + $$5 = $$5$in & 127; + $216 = (($6) + ($$5<<2)|0); + $217 = HEAP32[$216>>2]|0; + $218 = (_bitshift64Shl(($217|0),0,29)|0); + $219 = tempRet0; + $220 = (_i64Add(($218|0),($219|0),($$0334|0),0)|0); + $221 = tempRet0; + $222 = ($221>>>0)>(0); + $223 = ($220>>>0)>(1000000000); + $224 = ($221|0)==(0); + $225 = $224 & $223; + $226 = $222 | $225; + if ($226) { + $227 = (___udivdi3(($220|0),($221|0),1000000000,0)|0); + $228 = tempRet0; + $229 = (___uremdi3(($220|0),($221|0),1000000000,0)|0); + $230 = tempRet0; + $$1335 = $227;$$sink421$off0 = $229; + } else { + $$1335 = 0;$$sink421$off0 = $220; + } + HEAP32[$216>>2] = $$sink421$off0; + $231 = (($$2374) + 127)|0; + $232 = $231 & 127; + $233 = ($$5|0)!=($232|0); + $234 = ($$5|0)==($$2352$ph449|0); + $or$cond422 = $233 | $234; + $or$cond422$not = $or$cond422 ^ 1; + $235 = ($$sink421$off0|0)==(0); + $or$cond423 = $235 & $or$cond422$not; + $$3375 = $or$cond423 ? $$5 : $$2374; + $236 = (($$5) + -1)|0; + if ($234) { + break; + } else { + $$0334 = $$1335;$$2374 = $$3375;$$5$in = $236; + } + } + $237 = (($$0380) + -29)|0; + $238 = ($$1335|0)==(0); + if ($238) { + $$0380 = $237;$$1373 = $$3375; + } else { + break; + } + } + $239 = (($$2387$ph447) + 9)|0; + $240 = (($$2352$ph449) + 127)|0; + $241 = $240 & 127; + $242 = ($241|0)==($$3375|0); + $243 = (($$3375) + 127)|0; + $244 = $243 & 127; + $245 = (($$3375) + 126)|0; + $246 = $245 & 127; + $247 = (($6) + ($246<<2)|0); + if ($242) { + $248 = (($6) + ($244<<2)|0); + $249 = HEAP32[$248>>2]|0; + $250 = HEAP32[$247>>2]|0; + $251 = $250 | $249; + HEAP32[$247>>2] = $251; + $$4376 = $244; + } else { + $$4376 = $$3375; + } + $252 = (($6) + ($241<<2)|0); + HEAP32[$252>>2] = $$1335; + $$0380$ph = $237;$$1373$ph448 = $$4376;$$2352$ph449 = $241;$$2387$ph447 = $239; + } + L119: while(1) { + $289 = (($$6378$ph) + 1)|0; + $287 = $289 & 127; + $290 = (($$6378$ph) + 127)|0; + $291 = $290 & 127; + $292 = (($6) + ($291<<2)|0); + $$1381$ph558 = $$1381$ph;$$4354$ph559 = $$4354$ph;$$4389$ph = $$4389$ph445; + while(1) { + $265 = ($$4389$ph|0)==(18); + $293 = ($$4389$ph|0)>(27); + $$425 = $293 ? 9 : 1; + $$1381 = $$1381$ph558;$$4354 = $$4354$ph559; + while(1) { + $$0336486 = 0; + while(1) { + $253 = (($$0336486) + ($$4354))|0; + $254 = $253 & 127; + $255 = ($254|0)==($$6378$ph|0); + if ($255) { + $$1337 = 2; + label = 88; + break; + } + $256 = (($6) + ($254<<2)|0); + $257 = HEAP32[$256>>2]|0; + $258 = (5664 + ($$0336486<<2)|0); + $259 = HEAP32[$258>>2]|0; + $260 = ($257>>>0)<($259>>>0); + if ($260) { + $$1337 = 2; + label = 88; + break; + } + $261 = ($257>>>0)>($259>>>0); + if ($261) { + break; + } + $262 = (($$0336486) + 1)|0; + $263 = ($262|0)<(2); + if ($263) { + $$0336486 = $262; + } else { + $$1337 = $262; + label = 88; + break; + } + } + if ((label|0) == 88) { + label = 0; + $264 = ($$1337|0)==(2); + $or$cond11 = $265 & $264; + if ($or$cond11) { + $$0365484 = 0.0;$$4485 = 0;$$9483 = $$6378$ph; + break L119; + } + } + $266 = (($$425) + ($$1381))|0; + $267 = ($$4354|0)==($$6378$ph|0); + if ($267) { + $$1381 = $266;$$4354 = $$6378$ph; + } else { + break; + } + } + $268 = 1 << $$425; + $269 = (($268) + -1)|0; + $270 = 1000000000 >>> $$425; + $$0332490 = 0;$$5355488 = $$4354;$$5390487 = $$4389$ph;$$6489 = $$4354; + while(1) { + $271 = (($6) + ($$6489<<2)|0); + $272 = HEAP32[$271>>2]|0; + $273 = $272 & $269; + $274 = $272 >>> $$425; + $275 = (($274) + ($$0332490))|0; + HEAP32[$271>>2] = $275; + $276 = Math_imul($273, $270)|0; + $277 = ($$6489|0)==($$5355488|0); + $278 = ($275|0)==(0); + $or$cond426 = $277 & $278; + $279 = (($$5355488) + 1)|0; + $280 = $279 & 127; + $281 = (($$5390487) + -9)|0; + $$$5390 = $or$cond426 ? $281 : $$5390487; + $$$5355 = $or$cond426 ? $280 : $$5355488; + $282 = (($$6489) + 1)|0; + $283 = $282 & 127; + $284 = ($283|0)==($$6378$ph|0); + if ($284) { + break; + } else { + $$0332490 = $276;$$5355488 = $$$5355;$$5390487 = $$$5390;$$6489 = $283; + } + } + $285 = ($276|0)==(0); + if ($285) { + $$1381$ph558 = $266;$$4354$ph559 = $$$5355;$$4389$ph = $$$5390; + continue; + } + $286 = ($287|0)==($$$5355|0); + if (!($286)) { + break; + } + $294 = HEAP32[$292>>2]|0; + $295 = $294 | 1; + HEAP32[$292>>2] = $295; + $$1381$ph558 = $266;$$4354$ph559 = $$$5355;$$4389$ph = $$$5390; + } + $288 = (($6) + ($$6378$ph<<2)|0); + HEAP32[$288>>2] = $276; + $$1381$ph = $266;$$4354$ph = $$$5355;$$4389$ph445 = $$$5390;$$6378$ph = $287; + } + while(1) { + $296 = (($$4485) + ($$4354))|0; + $297 = $296 & 127; + $298 = ($297|0)==($$9483|0); + $299 = (($$9483) + 1)|0; + $300 = $299 & 127; + if ($298) { + $301 = (($300) + -1)|0; + $302 = (($6) + ($301<<2)|0); + HEAP32[$302>>2] = 0; + $$10 = $300; + } else { + $$10 = $$9483; + } + $303 = $$0365484 * 1.0E+9; + $304 = (($6) + ($297<<2)|0); + $305 = HEAP32[$304>>2]|0; + $306 = (+($305>>>0)); + $307 = $303 + $306; + $308 = (($$4485) + 1)|0; + $exitcond = ($308|0)==(2); + if ($exitcond) { + break; + } else { + $$0365484 = $307;$$4485 = $308;$$9483 = $$10; + } + } + $309 = (+($4|0)); + $310 = $309 * $307; + $311 = (($$1381) + 53)|0; + $312 = (($311) - ($3))|0; + $313 = ($312|0)<($2|0); + $314 = ($312|0)>(0); + $$ = $314 ? $312 : 0; + $$0333 = $313 ? $$ : $2; + $315 = ($$0333|0)<(53); + if ($315) { + $316 = (105 - ($$0333))|0; + $317 = (+_scalbn(1.0,$316)); + $318 = (+_copysignl($317,$310)); + $319 = (53 - ($$0333))|0; + $320 = (+_scalbn(1.0,$319)); + $321 = (+_fmodl($310,$320)); + $322 = $310 - $321; + $323 = $318 + $322; + $$0360 = $318;$$0361 = $321;$$1366 = $323; + } else { + $$0360 = 0.0;$$0361 = 0.0;$$1366 = $310; + } + $324 = (($$4354) + 2)|0; + $325 = $324 & 127; + $326 = ($325|0)==($$10|0); + if ($326) { + $$3364 = $$0361; + } else { + $327 = (($6) + ($325<<2)|0); + $328 = HEAP32[$327>>2]|0; + $329 = ($328>>>0)<(500000000); + do { + if ($329) { + $330 = ($328|0)==(0); + if ($330) { + $331 = (($$4354) + 3)|0; + $332 = $331 & 127; + $333 = ($332|0)==($$10|0); + if ($333) { + $$1362 = $$0361; + break; + } + } + $334 = $309 * 0.25; + $335 = $334 + $$0361; + $$1362 = $335; + } else { + $336 = ($328|0)==(500000000); + if (!($336)) { + $337 = $309 * 0.75; + $338 = $337 + $$0361; + $$1362 = $338; + break; + } + $339 = (($$4354) + 3)|0; + $340 = $339 & 127; + $341 = ($340|0)==($$10|0); + if ($341) { + $342 = $309 * 0.5; + $343 = $342 + $$0361; + $$1362 = $343; + break; + } else { + $344 = $309 * 0.75; + $345 = $344 + $$0361; + $$1362 = $345; + break; + } + } + } while(0); + $346 = (53 - ($$0333))|0; + $347 = ($346|0)>(1); + if ($347) { + $348 = (+_fmodl($$1362,1.0)); + $349 = $348 != 0.0; + if ($349) { + $$3364 = $$1362; + } else { + $350 = $$1362 + 1.0; + $$3364 = $350; + } + } else { + $$3364 = $$1362; + } + } + $351 = $$1366 + $$3364; + $352 = $351 - $$0360; + $353 = $311 & 2147483647; + $354 = (-2 - ($sum))|0; + $355 = ($353|0)>($354|0); + do { + if ($355) { + $356 = (+Math_abs((+$352))); + $357 = !($356 >= 9007199254740992.0); + $358 = $352 * 0.5; + $not$ = $357 ^ 1; + $359 = $not$&1; + $$3383 = (($359) + ($$1381))|0; + $$2367 = $357 ? $352 : $358; + $360 = (($$3383) + 50)|0; + $361 = ($360|0)>($7|0); + if (!($361)) { + $362 = ($$0333|0)!=($312|0); + $narrow = $362 | $357; + $$2371$v = $313 & $narrow; + $363 = $$3364 != 0.0; + $or$cond14 = $363 & $$2371$v; + if (!($or$cond14)) { + $$3368 = $$2367;$$4384 = $$3383; + break; + } + } + $364 = (___errno_location()|0); + HEAP32[$364>>2] = 34; + $$3368 = $$2367;$$4384 = $$3383; + } else { + $$3368 = $352;$$4384 = $$1381; + } + } while(0); + $365 = (+_scalbnl($$3368,$$4384)); + $$1 = $365; + } + } while(0); + STACKTOP = sp;return (+$$1); +} +function _scanexp($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $$04861 = 0, $$049 = 0, $$1$be = 0, $$160 = 0, $$2$be = 0, $$2$lcssa = 0, $$254 = 0, $$3$be = 0, $$lcssa = 0, $$pre = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0; + var $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0; + var $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0; + var $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0; + var $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0; + var $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($0)) + 4|0); + $3 = HEAP32[$2>>2]|0; + $4 = ((($0)) + 100|0); + $5 = HEAP32[$4>>2]|0; + $6 = ($3>>>0)<($5>>>0); + if ($6) { + $7 = ((($3)) + 1|0); + HEAP32[$2>>2] = $7; + $8 = HEAP8[$3>>0]|0; + $9 = $8&255; + $11 = $9; + } else { + $10 = (___shgetc($0)|0); + $11 = $10; + } + switch ($11|0) { + case 43: case 45: { + $12 = ($11|0)==(45); + $13 = $12&1; + $14 = HEAP32[$2>>2]|0; + $15 = HEAP32[$4>>2]|0; + $16 = ($14>>>0)<($15>>>0); + if ($16) { + $17 = ((($14)) + 1|0); + HEAP32[$2>>2] = $17; + $18 = HEAP8[$14>>0]|0; + $19 = $18&255; + $22 = $19; + } else { + $20 = (___shgetc($0)|0); + $22 = $20; + } + $21 = (($22) + -48)|0; + $23 = ($21>>>0)>(9); + $24 = ($1|0)!=(0); + $or$cond3 = $24 & $23; + if ($or$cond3) { + $25 = HEAP32[$4>>2]|0; + $26 = ($25|0)==(0|0); + if ($26) { + $$0 = $13;$$049 = $22; + } else { + $27 = HEAP32[$2>>2]|0; + $28 = ((($27)) + -1|0); + HEAP32[$2>>2] = $28; + $$0 = $13;$$049 = $22; + } + } else { + $$0 = $13;$$049 = $22; + } + break; + } + default: { + $$0 = 0;$$049 = $11; + } + } + $29 = (($$049) + -48)|0; + $30 = ($29>>>0)>(9); + if ($30) { + $31 = HEAP32[$4>>2]|0; + $32 = ($31|0)==(0|0); + if ($32) { + $100 = -2147483648;$101 = 0; + } else { + $33 = HEAP32[$2>>2]|0; + $34 = ((($33)) + -1|0); + HEAP32[$2>>2] = $34; + $100 = -2147483648;$101 = 0; + } + } else { + $$04861 = 0;$$160 = $$049; + while(1) { + $35 = ($$04861*10)|0; + $36 = (($$160) + -48)|0; + $37 = (($36) + ($35))|0; + $38 = HEAP32[$2>>2]|0; + $39 = HEAP32[$4>>2]|0; + $40 = ($38>>>0)<($39>>>0); + if ($40) { + $41 = ((($38)) + 1|0); + HEAP32[$2>>2] = $41; + $42 = HEAP8[$38>>0]|0; + $43 = $42&255; + $$1$be = $43; + } else { + $44 = (___shgetc($0)|0); + $$1$be = $44; + } + $45 = (($$1$be) + -48)|0; + $46 = ($45>>>0)<(10); + $47 = ($37|0)<(214748364); + $48 = $46 & $47; + if ($48) { + $$04861 = $37;$$160 = $$1$be; + } else { + break; + } + } + $49 = ($37|0)<(0); + $50 = $49 << 31 >> 31; + $51 = (($$1$be) + -48)|0; + $52 = ($51>>>0)<(10); + if ($52) { + $$254 = $$1$be;$56 = $37;$57 = $50; + while(1) { + $58 = (___muldi3(($56|0),($57|0),10,0)|0); + $59 = tempRet0; + $60 = ($$254|0)<(0); + $61 = $60 << 31 >> 31; + $62 = (_i64Add(($$254|0),($61|0),-48,-1)|0); + $63 = tempRet0; + $64 = (_i64Add(($62|0),($63|0),($58|0),($59|0))|0); + $65 = tempRet0; + $66 = HEAP32[$2>>2]|0; + $67 = HEAP32[$4>>2]|0; + $68 = ($66>>>0)<($67>>>0); + if ($68) { + $69 = ((($66)) + 1|0); + HEAP32[$2>>2] = $69; + $70 = HEAP8[$66>>0]|0; + $71 = $70&255; + $$2$be = $71; + } else { + $72 = (___shgetc($0)|0); + $$2$be = $72; + } + $73 = (($$2$be) + -48)|0; + $74 = ($73>>>0)<(10); + $75 = ($65|0)<(21474836); + $76 = ($64>>>0)<(2061584302); + $77 = ($65|0)==(21474836); + $78 = $77 & $76; + $79 = $75 | $78; + $80 = $74 & $79; + if ($80) { + $$254 = $$2$be;$56 = $64;$57 = $65; + } else { + $$2$lcssa = $$2$be;$94 = $64;$95 = $65; + break; + } + } + } else { + $$2$lcssa = $$1$be;$94 = $37;$95 = $50; + } + $53 = (($$2$lcssa) + -48)|0; + $54 = ($53>>>0)<(10); + $55 = HEAP32[$4>>2]|0; + if ($54) { + $83 = $55; + while(1) { + $81 = HEAP32[$2>>2]|0; + $82 = ($81>>>0)<($83>>>0); + if ($82) { + $84 = ((($81)) + 1|0); + HEAP32[$2>>2] = $84; + $85 = HEAP8[$81>>0]|0; + $86 = $85&255; + $$3$be = $86;$102 = $83; + } else { + $87 = (___shgetc($0)|0); + $$pre = HEAP32[$4>>2]|0; + $$3$be = $87;$102 = $$pre; + } + $88 = (($$3$be) + -48)|0; + $89 = ($88>>>0)<(10); + if ($89) { + $83 = $102; + } else { + $$lcssa = $102; + break; + } + } + } else { + $$lcssa = $55; + } + $90 = ($$lcssa|0)==(0|0); + if (!($90)) { + $91 = HEAP32[$2>>2]|0; + $92 = ((($91)) + -1|0); + HEAP32[$2>>2] = $92; + } + $93 = ($$0|0)!=(0); + $96 = (_i64Subtract(0,0,($94|0),($95|0))|0); + $97 = tempRet0; + $98 = $93 ? $96 : $94; + $99 = $93 ? $97 : $95; + $100 = $99;$101 = $98; + } + tempRet0 = ($100); + return ($101|0); +} +function _scalbn($0,$1) { + $0 = +$0; + $1 = $1|0; + var $$ = 0, $$$ = 0, $$0 = 0.0, $$020 = 0, $$1 = 0, $$1$ = 0, $$21 = 0.0, $$22 = 0.0, $10 = 0.0, $11 = 0, $12 = 0, $13 = 0.0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0.0, $2 = 0, $20 = 0.0; + var $3 = 0.0, $4 = 0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ($1|0)>(1023); + if ($2) { + $3 = $0 * 8.9884656743115795E+307; + $4 = (($1) + -1023)|0; + $5 = ($4|0)>(1023); + $6 = $3 * 8.9884656743115795E+307; + $7 = (($1) + -2046)|0; + $8 = ($7|0)<(1023); + $$ = $8 ? $7 : 1023; + $$$ = $5 ? $$ : $4; + $$21 = $5 ? $6 : $3; + $$0 = $$21;$$020 = $$$; + } else { + $9 = ($1|0)<(-1022); + if ($9) { + $10 = $0 * 2.2250738585072014E-308; + $11 = (($1) + 1022)|0; + $12 = ($11|0)<(-1022); + $13 = $10 * 2.2250738585072014E-308; + $14 = (($1) + 2044)|0; + $15 = ($14|0)>(-1022); + $$1 = $15 ? $14 : -1022; + $$1$ = $12 ? $$1 : $11; + $$22 = $12 ? $13 : $10; + $$0 = $$22;$$020 = $$1$; + } else { + $$0 = $0;$$020 = $1; + } + } + $16 = (($$020) + 1023)|0; + $17 = (_bitshift64Shl(($16|0),0,52)|0); + $18 = tempRet0; + HEAP32[tempDoublePtr>>2] = $17;HEAP32[tempDoublePtr+4>>2] = $18;$19 = +HEAPF64[tempDoublePtr>>3]; + $20 = $$0 * $19; + return (+$20); +} +function _copysignl($0,$1) { + $0 = +$0; + $1 = +$1; + var $2 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = (+_copysign($0,$1)); + return (+$2); +} +function _fmodl($0,$1) { + $0 = +$0; + $1 = +$1; + var $2 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = (+_fmod($0,$1)); + return (+$2); +} +function _scalbnl($0,$1) { + $0 = +$0; + $1 = $1|0; + var $2 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = (+_scalbn($0,$1)); + return (+$2); +} +function _fmod($0,$1) { + $0 = +$0; + $1 = +$1; + var $$ = 0.0, $$070 = 0.0, $$071$lcssa = 0, $$07194 = 0, $$073$lcssa = 0, $$073100 = 0, $$172$ph = 0, $$174 = 0, $$275$lcssa = 0, $$27586 = 0, $$376$lcssa = 0, $$37683 = 0, $$lcssa = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0.0, $104 = 0, $105 = 0; + var $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0; + var $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0.0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0; + var $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0.0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0; + var $160 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0.0, $28 = 0.0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0; + var $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0.0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0; + var $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0; + var $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0; + var $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF64[tempDoublePtr>>3] = $0;$2 = HEAP32[tempDoublePtr>>2]|0; + $3 = HEAP32[tempDoublePtr+4>>2]|0; + HEAPF64[tempDoublePtr>>3] = $1;$4 = HEAP32[tempDoublePtr>>2]|0; + $5 = HEAP32[tempDoublePtr+4>>2]|0; + $6 = (_bitshift64Lshr(($2|0),($3|0),52)|0); + $7 = tempRet0; + $8 = $6 & 2047; + $9 = (_bitshift64Lshr(($4|0),($5|0),52)|0); + $10 = tempRet0; + $11 = $9 & 2047; + $12 = $3 & -2147483648; + $13 = (_bitshift64Shl(($4|0),($5|0),1)|0); + $14 = tempRet0; + $15 = ($13|0)==(0); + $16 = ($14|0)==(0); + $17 = $15 & $16; + L1: do { + if ($17) { + label = 3; + } else { + $18 = (___DOUBLE_BITS_272($1)|0); + $19 = tempRet0; + $20 = $19 & 2147483647; + $21 = ($20>>>0)>(2146435072); + $22 = ($18>>>0)>(0); + $23 = ($20|0)==(2146435072); + $24 = $23 & $22; + $25 = $21 | $24; + $26 = ($8|0)==(2047); + $or$cond = $26 | $25; + if ($or$cond) { + label = 3; + } else { + $29 = (_bitshift64Shl(($2|0),($3|0),1)|0); + $30 = tempRet0; + $31 = ($30>>>0)>($14>>>0); + $32 = ($29>>>0)>($13>>>0); + $33 = ($30|0)==($14|0); + $34 = $33 & $32; + $35 = $31 | $34; + if (!($35)) { + $36 = ($29|0)==($13|0); + $37 = ($30|0)==($14|0); + $38 = $36 & $37; + $39 = $0 * 0.0; + $$ = $38 ? $39 : $0; + return (+$$); + } + $40 = ($8|0)==(0); + if ($40) { + $41 = (_bitshift64Shl(($2|0),($3|0),12)|0); + $42 = tempRet0; + $43 = ($42|0)>(-1); + $44 = ($41>>>0)>(4294967295); + $45 = ($42|0)==(-1); + $46 = $45 & $44; + $47 = $43 | $46; + if ($47) { + $$073100 = 0;$49 = $41;$50 = $42; + while(1) { + $48 = (($$073100) + -1)|0; + $51 = (_bitshift64Shl(($49|0),($50|0),1)|0); + $52 = tempRet0; + $53 = ($52|0)>(-1); + $54 = ($51>>>0)>(4294967295); + $55 = ($52|0)==(-1); + $56 = $55 & $54; + $57 = $53 | $56; + if ($57) { + $$073100 = $48;$49 = $51;$50 = $52; + } else { + $$073$lcssa = $48; + break; + } + } + } else { + $$073$lcssa = 0; + } + $58 = (1 - ($$073$lcssa))|0; + $59 = (_bitshift64Shl(($2|0),($3|0),($58|0))|0); + $60 = tempRet0; + $$174 = $$073$lcssa;$87 = $59;$88 = $60; + } else { + $61 = $3 & 1048575; + $62 = $61 | 1048576; + $$174 = $8;$87 = $2;$88 = $62; + } + $63 = ($11|0)==(0); + if ($63) { + $64 = (_bitshift64Shl(($4|0),($5|0),12)|0); + $65 = tempRet0; + $66 = ($65|0)>(-1); + $67 = ($64>>>0)>(4294967295); + $68 = ($65|0)==(-1); + $69 = $68 & $67; + $70 = $66 | $69; + if ($70) { + $$07194 = 0;$72 = $64;$73 = $65; + while(1) { + $71 = (($$07194) + -1)|0; + $74 = (_bitshift64Shl(($72|0),($73|0),1)|0); + $75 = tempRet0; + $76 = ($75|0)>(-1); + $77 = ($74>>>0)>(4294967295); + $78 = ($75|0)==(-1); + $79 = $78 & $77; + $80 = $76 | $79; + if ($80) { + $$07194 = $71;$72 = $74;$73 = $75; + } else { + $$071$lcssa = $71; + break; + } + } + } else { + $$071$lcssa = 0; + } + $81 = (1 - ($$071$lcssa))|0; + $82 = (_bitshift64Shl(($4|0),($5|0),($81|0))|0); + $83 = tempRet0; + $$172$ph = $$071$lcssa;$89 = $82;$90 = $83; + } else { + $84 = $5 & 1048575; + $85 = $84 | 1048576; + $$172$ph = $11;$89 = $4;$90 = $85; + } + $86 = ($$174|0)>($$172$ph|0); + $91 = (_i64Subtract(($87|0),($88|0),($89|0),($90|0))|0); + $92 = tempRet0; + $93 = ($92|0)>(-1); + $94 = ($91>>>0)>(4294967295); + $95 = ($92|0)==(-1); + $96 = $95 & $94; + $97 = $93 | $96; + L23: do { + if ($86) { + $$27586 = $$174;$101 = $92;$156 = $97;$157 = $87;$158 = $88;$99 = $91; + while(1) { + if ($156) { + $98 = ($99|0)==(0); + $100 = ($101|0)==(0); + $102 = $98 & $100; + if ($102) { + break; + } else { + $104 = $99;$105 = $101; + } + } else { + $104 = $157;$105 = $158; + } + $106 = (_bitshift64Shl(($104|0),($105|0),1)|0); + $107 = tempRet0; + $108 = (($$27586) + -1)|0; + $109 = ($108|0)>($$172$ph|0); + $110 = (_i64Subtract(($106|0),($107|0),($89|0),($90|0))|0); + $111 = tempRet0; + $112 = ($111|0)>(-1); + $113 = ($110>>>0)>(4294967295); + $114 = ($111|0)==(-1); + $115 = $114 & $113; + $116 = $112 | $115; + if ($109) { + $$27586 = $108;$101 = $111;$156 = $116;$157 = $106;$158 = $107;$99 = $110; + } else { + $$275$lcssa = $108;$$lcssa = $116;$118 = $110;$120 = $111;$159 = $106;$160 = $107; + break L23; + } + } + $103 = $0 * 0.0; + $$070 = $103; + break L1; + } else { + $$275$lcssa = $$174;$$lcssa = $97;$118 = $91;$120 = $92;$159 = $87;$160 = $88; + } + } while(0); + if ($$lcssa) { + $117 = ($118|0)==(0); + $119 = ($120|0)==(0); + $121 = $117 & $119; + if ($121) { + $129 = $0 * 0.0; + $$070 = $129; + break; + } else { + $123 = $120;$125 = $118; + } + } else { + $123 = $160;$125 = $159; + } + $122 = ($123>>>0)<(1048576); + $124 = ($125>>>0)<(0); + $126 = ($123|0)==(1048576); + $127 = $126 & $124; + $128 = $122 | $127; + if ($128) { + $$37683 = $$275$lcssa;$130 = $125;$131 = $123; + while(1) { + $132 = (_bitshift64Shl(($130|0),($131|0),1)|0); + $133 = tempRet0; + $134 = (($$37683) + -1)|0; + $135 = ($133>>>0)<(1048576); + $136 = ($132>>>0)<(0); + $137 = ($133|0)==(1048576); + $138 = $137 & $136; + $139 = $135 | $138; + if ($139) { + $$37683 = $134;$130 = $132;$131 = $133; + } else { + $$376$lcssa = $134;$141 = $132;$142 = $133; + break; + } + } + } else { + $$376$lcssa = $$275$lcssa;$141 = $125;$142 = $123; + } + $140 = ($$376$lcssa|0)>(0); + if ($140) { + $143 = (_i64Add(($141|0),($142|0),0,-1048576)|0); + $144 = tempRet0; + $145 = (_bitshift64Shl(($$376$lcssa|0),0,52)|0); + $146 = tempRet0; + $147 = $143 | $145; + $148 = $144 | $146; + $153 = $148;$155 = $147; + } else { + $149 = (1 - ($$376$lcssa))|0; + $150 = (_bitshift64Lshr(($141|0),($142|0),($149|0))|0); + $151 = tempRet0; + $153 = $151;$155 = $150; + } + $152 = $153 | $12; + HEAP32[tempDoublePtr>>2] = $155;HEAP32[tempDoublePtr+4>>2] = $152;$154 = +HEAPF64[tempDoublePtr>>3]; + $$070 = $154; + } + } + } while(0); + if ((label|0) == 3) { + $27 = $0 * $1; + $28 = $27 / $27; + $$070 = $28; + } + return (+$$070); +} +function ___DOUBLE_BITS_272($0) { + $0 = +$0; + var $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF64[tempDoublePtr>>3] = $0;$1 = HEAP32[tempDoublePtr>>2]|0; + $2 = HEAP32[tempDoublePtr+4>>2]|0; + tempRet0 = ($2); + return ($1|0); +} +function _strlen($0) { + $0 = $0|0; + var $$0 = 0, $$015$lcssa = 0, $$01519 = 0, $$1$lcssa = 0, $$pn = 0, $$pre = 0, $$sink = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0; + var $21 = 0, $22 = 0, $23 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = $0; + $2 = $1 & 3; + $3 = ($2|0)==(0); + L1: do { + if ($3) { + $$015$lcssa = $0; + label = 4; + } else { + $$01519 = $0;$23 = $1; + while(1) { + $4 = HEAP8[$$01519>>0]|0; + $5 = ($4<<24>>24)==(0); + if ($5) { + $$sink = $23; + break L1; + } + $6 = ((($$01519)) + 1|0); + $7 = $6; + $8 = $7 & 3; + $9 = ($8|0)==(0); + if ($9) { + $$015$lcssa = $6; + label = 4; + break; + } else { + $$01519 = $6;$23 = $7; + } + } + } + } while(0); + if ((label|0) == 4) { + $$0 = $$015$lcssa; + while(1) { + $10 = HEAP32[$$0>>2]|0; + $11 = (($10) + -16843009)|0; + $12 = $10 & -2139062144; + $13 = $12 ^ -2139062144; + $14 = $13 & $11; + $15 = ($14|0)==(0); + $16 = ((($$0)) + 4|0); + if ($15) { + $$0 = $16; + } else { + break; + } + } + $17 = $10&255; + $18 = ($17<<24>>24)==(0); + if ($18) { + $$1$lcssa = $$0; + } else { + $$pn = $$0; + while(1) { + $19 = ((($$pn)) + 1|0); + $$pre = HEAP8[$19>>0]|0; + $20 = ($$pre<<24>>24)==(0); + if ($20) { + $$1$lcssa = $19; + break; + } else { + $$pn = $19; + } + } + } + $21 = $$1$lcssa; + $$sink = $21; + } + $22 = (($$sink) - ($1))|0; + return ($22|0); +} +function _strchr($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = (___strchrnul($0,$1)|0); + $3 = HEAP8[$2>>0]|0; + $4 = $1&255; + $5 = ($3<<24>>24)==($4<<24>>24); + $6 = $5 ? $2 : 0; + return ($6|0); +} +function ___strchrnul($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $$029$lcssa = 0, $$02936 = 0, $$030$lcssa = 0, $$03039 = 0, $$1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0; + var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0; + var $41 = 0, $42 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond33 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = $1 & 255; + $3 = ($2|0)==(0); + L1: do { + if ($3) { + $8 = (_strlen($0)|0); + $9 = (($0) + ($8)|0); + $$0 = $9; + } else { + $4 = $0; + $5 = $4 & 3; + $6 = ($5|0)==(0); + if ($6) { + $$030$lcssa = $0; + } else { + $7 = $1&255; + $$03039 = $0; + while(1) { + $10 = HEAP8[$$03039>>0]|0; + $11 = ($10<<24>>24)==(0); + $12 = ($10<<24>>24)==($7<<24>>24); + $or$cond = $11 | $12; + if ($or$cond) { + $$0 = $$03039; + break L1; + } + $13 = ((($$03039)) + 1|0); + $14 = $13; + $15 = $14 & 3; + $16 = ($15|0)==(0); + if ($16) { + $$030$lcssa = $13; + break; + } else { + $$03039 = $13; + } + } + } + $17 = Math_imul($2, 16843009)|0; + $18 = HEAP32[$$030$lcssa>>2]|0; + $19 = (($18) + -16843009)|0; + $20 = $18 & -2139062144; + $21 = $20 ^ -2139062144; + $22 = $21 & $19; + $23 = ($22|0)==(0); + L10: do { + if ($23) { + $$02936 = $$030$lcssa;$25 = $18; + while(1) { + $24 = $25 ^ $17; + $26 = (($24) + -16843009)|0; + $27 = $24 & -2139062144; + $28 = $27 ^ -2139062144; + $29 = $28 & $26; + $30 = ($29|0)==(0); + if (!($30)) { + $$029$lcssa = $$02936; + break L10; + } + $31 = ((($$02936)) + 4|0); + $32 = HEAP32[$31>>2]|0; + $33 = (($32) + -16843009)|0; + $34 = $32 & -2139062144; + $35 = $34 ^ -2139062144; + $36 = $35 & $33; + $37 = ($36|0)==(0); + if ($37) { + $$02936 = $31;$25 = $32; + } else { + $$029$lcssa = $31; + break; + } + } + } else { + $$029$lcssa = $$030$lcssa; + } + } while(0); + $38 = $1&255; + $$1 = $$029$lcssa; + while(1) { + $39 = HEAP8[$$1>>0]|0; + $40 = ($39<<24>>24)==(0); + $41 = ($39<<24>>24)==($38<<24>>24); + $or$cond33 = $40 | $41; + $42 = ((($$1)) + 1|0); + if ($or$cond33) { + $$0 = $$1; + break; + } else { + $$1 = $42; + } + } + } + } while(0); + return ($$0|0); +} +function _mbrtowc($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$ = 0, $$0 = 0, $$03952 = 0, $$04051 = 0, $$04350 = 0, $$1 = 0, $$141 = 0, $$144 = 0, $$2 = 0, $$47 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0; + var $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0; + var $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; + var $not$ = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $4 = sp; + $5 = ($3|0)==(0|0); + $$ = $5 ? 28816 : $3; + $6 = HEAP32[$$>>2]|0; + $7 = ($1|0)==(0|0); + L1: do { + if ($7) { + $8 = ($6|0)==(0); + if ($8) { + $$0 = 0; + } else { + label = 17; + } + } else { + $9 = ($0|0)==(0|0); + $$47 = $9 ? $4 : $0; + $10 = ($2|0)==(0); + if ($10) { + $$0 = -2; + } else { + $11 = ($6|0)==(0); + if ($11) { + $12 = HEAP8[$1>>0]|0; + $13 = ($12<<24>>24)>(-1); + if ($13) { + $14 = $12&255; + HEAP32[$$47>>2] = $14; + $15 = ($12<<24>>24)!=(0); + $16 = $15&1; + $$0 = $16; + break; + } + $17 = (___pthread_self_439()|0); + $18 = ((($17)) + 188|0); + $19 = HEAP32[$18>>2]|0; + $20 = HEAP32[$19>>2]|0; + $not$ = ($20|0)==(0|0); + $21 = HEAP8[$1>>0]|0; + if ($not$) { + $22 = $21 << 24 >> 24; + $23 = $22 & 57343; + HEAP32[$$47>>2] = $23; + $$0 = 1; + break; + } + $24 = $21&255; + $25 = (($24) + -194)|0; + $26 = ($25>>>0)>(50); + if ($26) { + label = 17; + break; + } + $27 = ((($1)) + 1|0); + $28 = (4800 + ($25<<2)|0); + $29 = HEAP32[$28>>2]|0; + $30 = (($2) + -1)|0; + $31 = ($30|0)==(0); + if ($31) { + $$2 = $29; + } else { + $$03952 = $27;$$04051 = $29;$$04350 = $30; + label = 11; + } + } else { + $$03952 = $1;$$04051 = $6;$$04350 = $2; + label = 11; + } + L14: do { + if ((label|0) == 11) { + $32 = HEAP8[$$03952>>0]|0; + $33 = $32&255; + $34 = $33 >>> 3; + $35 = (($34) + -16)|0; + $36 = $$04051 >> 26; + $37 = (($34) + ($36))|0; + $38 = $35 | $37; + $39 = ($38>>>0)>(7); + if ($39) { + label = 17; + break L1; + } else { + $$1 = $$03952;$$141 = $$04051;$$144 = $$04350;$43 = $32; + } + while(1) { + $40 = $$141 << 6; + $41 = ((($$1)) + 1|0); + $42 = $43&255; + $44 = (($42) + -128)|0; + $45 = $44 | $40; + $46 = (($$144) + -1)|0; + $47 = ($45|0)<(0); + if (!($47)) { + break; + } + $49 = ($46|0)==(0); + if ($49) { + $$2 = $45; + break L14; + } + $50 = HEAP8[$41>>0]|0; + $51 = $50 & -64; + $52 = ($51<<24>>24)==(-128); + if ($52) { + $$1 = $41;$$141 = $45;$$144 = $46;$43 = $50; + } else { + label = 17; + break L1; + } + } + HEAP32[$$>>2] = 0; + HEAP32[$$47>>2] = $45; + $48 = (($2) - ($46))|0; + $$0 = $48; + break L1; + } + } while(0); + HEAP32[$$>>2] = $$2; + $$0 = -2; + } + } + } while(0); + if ((label|0) == 17) { + HEAP32[$$>>2] = 0; + $53 = (___errno_location()|0); + HEAP32[$53>>2] = 84; + $$0 = -1; + } + STACKTOP = sp;return ($$0|0); +} +function ___pthread_self_439() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (_pthread_self()|0); + return ($0|0); +} +function _strcpy($0,$1) { + $0 = $0|0; + $1 = $1|0; + var label = 0, sp = 0; + sp = STACKTOP; + (___stpcpy($0,$1)|0); + return ($0|0); +} +function ___stpcpy($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0$lcssa = 0, $$025$lcssa = 0, $$02536 = 0, $$026$lcssa = 0, $$02642 = 0, $$027$lcssa = 0, $$02741 = 0, $$029 = 0, $$037 = 0, $$1$ph = 0, $$128$ph = 0, $$12834 = 0, $$135 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0; + var $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0; + var $35 = 0, $36 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = $1; + $3 = $0; + $4 = $2 ^ $3; + $5 = $4 & 3; + $6 = ($5|0)==(0); + L1: do { + if ($6) { + $7 = $2 & 3; + $8 = ($7|0)==(0); + if ($8) { + $$026$lcssa = $1;$$027$lcssa = $0; + } else { + $$02642 = $1;$$02741 = $0; + while(1) { + $9 = HEAP8[$$02642>>0]|0; + HEAP8[$$02741>>0] = $9; + $10 = ($9<<24>>24)==(0); + if ($10) { + $$029 = $$02741; + break L1; + } + $11 = ((($$02642)) + 1|0); + $12 = ((($$02741)) + 1|0); + $13 = $11; + $14 = $13 & 3; + $15 = ($14|0)==(0); + if ($15) { + $$026$lcssa = $11;$$027$lcssa = $12; + break; + } else { + $$02642 = $11;$$02741 = $12; + } + } + } + $16 = HEAP32[$$026$lcssa>>2]|0; + $17 = (($16) + -16843009)|0; + $18 = $16 & -2139062144; + $19 = $18 ^ -2139062144; + $20 = $19 & $17; + $21 = ($20|0)==(0); + if ($21) { + $$02536 = $$027$lcssa;$$037 = $$026$lcssa;$24 = $16; + while(1) { + $22 = ((($$037)) + 4|0); + $23 = ((($$02536)) + 4|0); + HEAP32[$$02536>>2] = $24; + $25 = HEAP32[$22>>2]|0; + $26 = (($25) + -16843009)|0; + $27 = $25 & -2139062144; + $28 = $27 ^ -2139062144; + $29 = $28 & $26; + $30 = ($29|0)==(0); + if ($30) { + $$02536 = $23;$$037 = $22;$24 = $25; + } else { + $$0$lcssa = $22;$$025$lcssa = $23; + break; + } + } + } else { + $$0$lcssa = $$026$lcssa;$$025$lcssa = $$027$lcssa; + } + $$1$ph = $$0$lcssa;$$128$ph = $$025$lcssa; + label = 8; + } else { + $$1$ph = $1;$$128$ph = $0; + label = 8; + } + } while(0); + if ((label|0) == 8) { + $31 = HEAP8[$$1$ph>>0]|0; + HEAP8[$$128$ph>>0] = $31; + $32 = ($31<<24>>24)==(0); + if ($32) { + $$029 = $$128$ph; + } else { + $$12834 = $$128$ph;$$135 = $$1$ph; + while(1) { + $33 = ((($$135)) + 1|0); + $34 = ((($$12834)) + 1|0); + $35 = HEAP8[$33>>0]|0; + HEAP8[$34>>0] = $35; + $36 = ($35<<24>>24)==(0); + if ($36) { + $$029 = $34; + break; + } else { + $$12834 = $34;$$135 = $33; + } + } + } + } + return ($$029|0); +} +function _ldexp($0,$1) { + $0 = +$0; + $1 = $1|0; + var $2 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = (+_scalbn($0,$1)); + return (+$2); +} +function _fwrite($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$ = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $phitmp = 0, label = 0, sp = 0; + sp = STACKTOP; + $4 = Math_imul($2, $1)|0; + $5 = ($1|0)==(0); + $$ = $5 ? 0 : $2; + $6 = ((($3)) + 76|0); + $7 = HEAP32[$6>>2]|0; + $8 = ($7|0)>(-1); + if ($8) { + $10 = (___lockfile($3)|0); + $phitmp = ($10|0)==(0); + $11 = (___fwritex($0,$4,$3)|0); + if ($phitmp) { + $13 = $11; + } else { + ___unlockfile($3); + $13 = $11; + } + } else { + $9 = (___fwritex($0,$4,$3)|0); + $13 = $9; + } + $12 = ($13|0)==($4|0); + if ($12) { + $15 = $$; + } else { + $14 = (($13>>>0) / ($1>>>0))&-1; + $15 = $14; + } + return ($15|0); +} +function ___unlist_locked_file($0) { + $0 = $0|0; + var $$pre = 0, $$sink = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 68|0); + $2 = HEAP32[$1>>2]|0; + $3 = ($2|0)==(0); + if (!($3)) { + $4 = ((($0)) + 116|0); + $5 = HEAP32[$4>>2]|0; + $6 = ($5|0)==(0|0); + $$pre = ((($0)) + 112|0); + if (!($6)) { + $7 = HEAP32[$$pre>>2]|0; + $8 = ((($5)) + 112|0); + HEAP32[$8>>2] = $7; + } + $9 = HEAP32[$$pre>>2]|0; + $10 = ($9|0)==(0|0); + if ($10) { + $12 = (___pthread_self_607()|0); + $13 = ((($12)) + 232|0); + $$sink = $13; + } else { + $11 = ((($9)) + 116|0); + $$sink = $11; + } + HEAP32[$$sink>>2] = $5; + } + return; +} +function ___pthread_self_607() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (_pthread_self()|0); + return ($0|0); +} +function _fopen($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $memchr = 0, $vararg_buffer = 0, $vararg_buffer3 = 0, $vararg_buffer8 = 0, $vararg_ptr1 = 0; + var $vararg_ptr2 = 0, $vararg_ptr6 = 0, $vararg_ptr7 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0); + $vararg_buffer8 = sp + 32|0; + $vararg_buffer3 = sp + 16|0; + $vararg_buffer = sp; + $2 = HEAP8[$1>>0]|0; + $3 = $2 << 24 >> 24; + $memchr = (_memchr(24597,$3,4)|0); + $4 = ($memchr|0)==(0|0); + if ($4) { + $5 = (___errno_location()|0); + HEAP32[$5>>2] = 22; + $$0 = 0; + } else { + $6 = (___fmodeflags($1)|0); + $7 = $0; + $8 = $6 | 32768; + HEAP32[$vararg_buffer>>2] = $7; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $8; + $vararg_ptr2 = ((($vararg_buffer)) + 8|0); + HEAP32[$vararg_ptr2>>2] = 438; + $9 = (___syscall5(5,($vararg_buffer|0))|0); + $10 = (___syscall_ret($9)|0); + $11 = ($10|0)<(0); + if ($11) { + $$0 = 0; + } else { + $12 = $6 & 524288; + $13 = ($12|0)==(0); + if (!($13)) { + HEAP32[$vararg_buffer3>>2] = $10; + $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); + HEAP32[$vararg_ptr6>>2] = 2; + $vararg_ptr7 = ((($vararg_buffer3)) + 8|0); + HEAP32[$vararg_ptr7>>2] = 1; + (___syscall221(221,($vararg_buffer3|0))|0); + } + $14 = (___fdopen($10,$1)|0); + $15 = ($14|0)==(0|0); + if ($15) { + HEAP32[$vararg_buffer8>>2] = $10; + (___syscall6(6,($vararg_buffer8|0))|0); + $$0 = 0; + } else { + $$0 = $14; + } + } + } + STACKTOP = sp;return ($$0|0); +} +function ___fmodeflags($0) { + $0 = $0|0; + var $$ = 0, $$$4 = 0, $$0 = 0, $$0$ = 0, $$2 = 0, $$2$ = 0, $$4 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; + var $8 = 0, $9 = 0, $not$ = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (_strchr($0,43)|0); + $2 = ($1|0)==(0|0); + $3 = HEAP8[$0>>0]|0; + $not$ = ($3<<24>>24)!=(114); + $$ = $not$&1; + $$0 = $2 ? $$ : 2; + $4 = (_strchr($0,120)|0); + $5 = ($4|0)==(0|0); + $6 = $$0 | 128; + $$0$ = $5 ? $$0 : $6; + $7 = (_strchr($0,101)|0); + $8 = ($7|0)==(0|0); + $9 = $$0$ | 524288; + $$2 = $8 ? $$0$ : $9; + $10 = ($3<<24>>24)==(114); + $11 = $$2 | 64; + $$2$ = $10 ? $$2 : $11; + $12 = ($3<<24>>24)==(119); + $13 = $$2$ | 512; + $$4 = $12 ? $13 : $$2$; + $14 = ($3<<24>>24)==(97); + $15 = $$4 | 1024; + $$$4 = $14 ? $15 : $$4; + return ($$$4|0); +} +function ___fdopen($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $$pre = 0, $$pre31 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; + var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $5 = 0, $6 = 0; + var $7 = 0, $8 = 0, $9 = 0, $memchr = 0, $vararg_buffer = 0, $vararg_buffer12 = 0, $vararg_buffer3 = 0, $vararg_buffer7 = 0, $vararg_ptr1 = 0, $vararg_ptr10 = 0, $vararg_ptr11 = 0, $vararg_ptr15 = 0, $vararg_ptr16 = 0, $vararg_ptr2 = 0, $vararg_ptr6 = 0, dest = 0, label = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $vararg_buffer12 = sp + 40|0; + $vararg_buffer7 = sp + 24|0; + $vararg_buffer3 = sp + 16|0; + $vararg_buffer = sp; + $2 = sp + 56|0; + $3 = HEAP8[$1>>0]|0; + $4 = $3 << 24 >> 24; + $memchr = (_memchr(24597,$4,4)|0); + $5 = ($memchr|0)==(0|0); + if ($5) { + $6 = (___errno_location()|0); + HEAP32[$6>>2] = 22; + $$0 = 0; + } else { + $7 = (_malloc(1156)|0); + $8 = ($7|0)==(0|0); + if ($8) { + $$0 = 0; + } else { + dest=$7; stop=dest+124|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + $9 = (_strchr($1,43)|0); + $10 = ($9|0)==(0|0); + if ($10) { + $11 = ($3<<24>>24)==(114); + $12 = $11 ? 8 : 4; + HEAP32[$7>>2] = $12; + } + $13 = (_strchr($1,101)|0); + $14 = ($13|0)==(0|0); + if ($14) { + $16 = $3; + } else { + HEAP32[$vararg_buffer>>2] = $0; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = 2; + $vararg_ptr2 = ((($vararg_buffer)) + 8|0); + HEAP32[$vararg_ptr2>>2] = 1; + (___syscall221(221,($vararg_buffer|0))|0); + $$pre = HEAP8[$1>>0]|0; + $16 = $$pre; + } + $15 = ($16<<24>>24)==(97); + if ($15) { + HEAP32[$vararg_buffer3>>2] = $0; + $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); + HEAP32[$vararg_ptr6>>2] = 3; + $17 = (___syscall221(221,($vararg_buffer3|0))|0); + $18 = $17 & 1024; + $19 = ($18|0)==(0); + if ($19) { + $20 = $17 | 1024; + HEAP32[$vararg_buffer7>>2] = $0; + $vararg_ptr10 = ((($vararg_buffer7)) + 4|0); + HEAP32[$vararg_ptr10>>2] = 4; + $vararg_ptr11 = ((($vararg_buffer7)) + 8|0); + HEAP32[$vararg_ptr11>>2] = $20; + (___syscall221(221,($vararg_buffer7|0))|0); + } + $21 = HEAP32[$7>>2]|0; + $22 = $21 | 128; + HEAP32[$7>>2] = $22; + $29 = $22; + } else { + $$pre31 = HEAP32[$7>>2]|0; + $29 = $$pre31; + } + $23 = ((($7)) + 60|0); + HEAP32[$23>>2] = $0; + $24 = ((($7)) + 132|0); + $25 = ((($7)) + 44|0); + HEAP32[$25>>2] = $24; + $26 = ((($7)) + 48|0); + HEAP32[$26>>2] = 1024; + $27 = ((($7)) + 75|0); + HEAP8[$27>>0] = -1; + $28 = $29 & 8; + $30 = ($28|0)==(0); + if ($30) { + $31 = $2; + HEAP32[$vararg_buffer12>>2] = $0; + $vararg_ptr15 = ((($vararg_buffer12)) + 4|0); + HEAP32[$vararg_ptr15>>2] = 21523; + $vararg_ptr16 = ((($vararg_buffer12)) + 8|0); + HEAP32[$vararg_ptr16>>2] = $31; + $32 = (___syscall54(54,($vararg_buffer12|0))|0); + $33 = ($32|0)==(0); + if ($33) { + HEAP8[$27>>0] = 10; + } + } + $34 = ((($7)) + 32|0); + HEAP32[$34>>2] = 11; + $35 = ((($7)) + 36|0); + HEAP32[$35>>2] = 2; + $36 = ((($7)) + 40|0); + HEAP32[$36>>2] = 3; + $37 = ((($7)) + 12|0); + HEAP32[$37>>2] = 2; + $38 = HEAP32[(28756)>>2]|0; + $39 = ($38|0)==(0); + if ($39) { + $40 = ((($7)) + 76|0); + HEAP32[$40>>2] = -1; + } + $41 = (___ofl_add($7)|0); + $$0 = $7; + } + } + STACKTOP = sp;return ($$0|0); +} +function ___ofl_add($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (___ofl_lock()|0); + $2 = HEAP32[$1>>2]|0; + $3 = ((($0)) + 56|0); + HEAP32[$3>>2] = $2; + $4 = HEAP32[$1>>2]|0; + $5 = ($4|0)==(0|0); + if (!($5)) { + $6 = ((($4)) + 52|0); + HEAP32[$6>>2] = $0; + } + HEAP32[$1>>2] = $0; + ___ofl_unlock(); + return ($0|0); +} +function ___ofl_lock() { + var label = 0, sp = 0; + sp = STACKTOP; + ___lock((28820|0)); + return (28828|0); +} +function ___ofl_unlock() { + var label = 0, sp = 0; + sp = STACKTOP; + ___unlock((28820|0)); + return; +} +function _fclose($0) { + $0 = $0|0; + var $$pre = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 76|0); + $2 = HEAP32[$1>>2]|0; + $3 = ($2|0)>(-1); + if ($3) { + $4 = (___lockfile($0)|0); + $29 = $4; + } else { + $29 = 0; + } + ___unlist_locked_file($0); + $5 = HEAP32[$0>>2]|0; + $6 = $5 & 1; + $7 = ($6|0)!=(0); + if (!($7)) { + $8 = (___ofl_lock()|0); + $9 = ((($0)) + 52|0); + $10 = HEAP32[$9>>2]|0; + $11 = ($10|0)==(0|0); + $12 = $10; + $$pre = ((($0)) + 56|0); + if (!($11)) { + $13 = HEAP32[$$pre>>2]|0; + $14 = ((($10)) + 56|0); + HEAP32[$14>>2] = $13; + } + $15 = HEAP32[$$pre>>2]|0; + $16 = ($15|0)==(0|0); + if (!($16)) { + $17 = ((($15)) + 52|0); + HEAP32[$17>>2] = $12; + } + $18 = HEAP32[$8>>2]|0; + $19 = ($18|0)==($0|0); + if ($19) { + HEAP32[$8>>2] = $15; + } + ___ofl_unlock(); + } + $20 = (_fflush($0)|0); + $21 = ((($0)) + 12|0); + $22 = HEAP32[$21>>2]|0; + $23 = (FUNCTION_TABLE_ii[$22 & 15]($0)|0); + $24 = $23 | $20; + $25 = ((($0)) + 92|0); + $26 = HEAP32[$25>>2]|0; + $27 = ($26|0)==(0|0); + if (!($27)) { + _free($26); + } + if ($7) { + $28 = ($29|0)==(0); + if (!($28)) { + ___unlockfile($0); + } + } else { + _free($0); + } + return ($24|0); +} +function _fflush($0) { + $0 = $0|0; + var $$0 = 0, $$023 = 0, $$02325 = 0, $$02327 = 0, $$024$lcssa = 0, $$02426 = 0, $$1 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0; + var $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $phitmp = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ($0|0)==(0|0); + do { + if ($1) { + $8 = HEAP32[1376]|0; + $9 = ($8|0)==(0|0); + if ($9) { + $29 = 0; + } else { + $10 = HEAP32[1376]|0; + $11 = (_fflush($10)|0); + $29 = $11; + } + $12 = (___ofl_lock()|0); + $$02325 = HEAP32[$12>>2]|0; + $13 = ($$02325|0)==(0|0); + if ($13) { + $$024$lcssa = $29; + } else { + $$02327 = $$02325;$$02426 = $29; + while(1) { + $14 = ((($$02327)) + 76|0); + $15 = HEAP32[$14>>2]|0; + $16 = ($15|0)>(-1); + if ($16) { + $17 = (___lockfile($$02327)|0); + $26 = $17; + } else { + $26 = 0; + } + $18 = ((($$02327)) + 20|0); + $19 = HEAP32[$18>>2]|0; + $20 = ((($$02327)) + 28|0); + $21 = HEAP32[$20>>2]|0; + $22 = ($19>>>0)>($21>>>0); + if ($22) { + $23 = (___fflush_unlocked($$02327)|0); + $24 = $23 | $$02426; + $$1 = $24; + } else { + $$1 = $$02426; + } + $25 = ($26|0)==(0); + if (!($25)) { + ___unlockfile($$02327); + } + $27 = ((($$02327)) + 56|0); + $$023 = HEAP32[$27>>2]|0; + $28 = ($$023|0)==(0|0); + if ($28) { + $$024$lcssa = $$1; + break; + } else { + $$02327 = $$023;$$02426 = $$1; + } + } + } + ___ofl_unlock(); + $$0 = $$024$lcssa; + } else { + $2 = ((($0)) + 76|0); + $3 = HEAP32[$2>>2]|0; + $4 = ($3|0)>(-1); + if (!($4)) { + $5 = (___fflush_unlocked($0)|0); + $$0 = $5; + break; + } + $6 = (___lockfile($0)|0); + $phitmp = ($6|0)==(0); + $7 = (___fflush_unlocked($0)|0); + if ($phitmp) { + $$0 = $7; + } else { + ___unlockfile($0); + $$0 = $7; + } + } + } while(0); + return ($$0|0); +} +function ___fflush_unlocked($0) { + $0 = $0|0; + var $$0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 20|0); + $2 = HEAP32[$1>>2]|0; + $3 = ((($0)) + 28|0); + $4 = HEAP32[$3>>2]|0; + $5 = ($2>>>0)>($4>>>0); + if ($5) { + $6 = ((($0)) + 36|0); + $7 = HEAP32[$6>>2]|0; + (FUNCTION_TABLE_iiii[$7 & 15]($0,0,0)|0); + $8 = HEAP32[$1>>2]|0; + $9 = ($8|0)==(0|0); + if ($9) { + $$0 = -1; + } else { + label = 3; + } + } else { + label = 3; + } + if ((label|0) == 3) { + $10 = ((($0)) + 4|0); + $11 = HEAP32[$10>>2]|0; + $12 = ((($0)) + 8|0); + $13 = HEAP32[$12>>2]|0; + $14 = ($11>>>0)<($13>>>0); + if ($14) { + $15 = $11; + $16 = $13; + $17 = (($15) - ($16))|0; + $18 = ((($0)) + 40|0); + $19 = HEAP32[$18>>2]|0; + (FUNCTION_TABLE_iiii[$19 & 15]($0,$17,1)|0); + } + $20 = ((($0)) + 16|0); + HEAP32[$20>>2] = 0; + HEAP32[$3>>2] = 0; + HEAP32[$1>>2] = 0; + HEAP32[$12>>2] = 0; + HEAP32[$10>>2] = 0; + $$0 = 0; + } + return ($$0|0); +} +function _fgets($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$0 = 0, $$06266 = 0, $$063 = 0, $$064 = 0, $$1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; + var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0; + var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond3 = 0; + var $sext$mask = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ((($2)) + 76|0); + $4 = HEAP32[$3>>2]|0; + $5 = ($4|0)>(-1); + if ($5) { + $6 = (___lockfile($2)|0); + $17 = $6; + } else { + $17 = 0; + } + $7 = (($1) + -1)|0; + $8 = ($1|0)<(2); + $9 = ($7|0)!=(0); + if ($8) { + $10 = ((($2)) + 74|0); + $11 = HEAP8[$10>>0]|0; + $12 = $11 << 24 >> 24; + $13 = (($12) + 255)|0; + $14 = $13 | $12; + $15 = $14&255; + HEAP8[$10>>0] = $15; + $16 = ($17|0)==(0); + if (!($16)) { + ___unlockfile($2); + } + if ($9) { + $$0 = 0; + } else { + HEAP8[$0>>0] = 0; + $$0 = $0; + } + } else { + L11: do { + if ($9) { + $18 = ((($2)) + 4|0); + $19 = ((($2)) + 8|0); + $$063 = $7;$$064 = $0; + while(1) { + $20 = HEAP32[$18>>2]|0; + $21 = HEAP32[$19>>2]|0; + $22 = $20; + $23 = (($21) - ($22))|0; + $24 = (_memchr($20,10,$23)|0); + $25 = ($24|0)==(0|0); + $26 = $24; + $27 = (1 - ($22))|0; + $28 = (($27) + ($26))|0; + $29 = $25 ? $23 : $28; + $30 = ($29>>>0)<($$063>>>0); + $31 = $30 ? $29 : $$063; + _memcpy(($$064|0),($20|0),($31|0))|0; + $32 = HEAP32[$18>>2]|0; + $33 = (($32) + ($31)|0); + HEAP32[$18>>2] = $33; + $34 = (($$064) + ($31)|0); + $35 = (($$063) - ($31))|0; + $36 = ($35|0)!=(0); + $or$cond = $25 & $36; + if (!($or$cond)) { + $$1 = $34; + label = 17; + break L11; + } + $37 = HEAP32[$19>>2]|0; + $38 = ($33>>>0)<($37>>>0); + if ($38) { + $39 = ((($33)) + 1|0); + HEAP32[$18>>2] = $39; + $40 = HEAP8[$33>>0]|0; + $41 = $40&255; + $50 = $41; + } else { + $42 = (___uflow($2)|0); + $43 = ($42|0)<(0); + if ($43) { + break; + } else { + $50 = $42; + } + } + $48 = (($35) + -1)|0; + $49 = $50&255; + $51 = ((($34)) + 1|0); + HEAP8[$34>>0] = $49; + $sext$mask = $50 & 255; + $52 = ($sext$mask|0)!=(10); + $53 = ($48|0)!=(0); + $or$cond3 = $53 & $52; + if ($or$cond3) { + $$063 = $48;$$064 = $51; + } else { + $$1 = $51; + label = 17; + break L11; + } + } + $44 = ($34|0)==($0|0); + if ($44) { + $$06266 = 0; + } else { + $45 = HEAP32[$2>>2]|0; + $46 = $45 & 16; + $47 = ($46|0)==(0); + if ($47) { + $$06266 = 0; + } else { + $$1 = $34; + label = 17; + } + } + } else { + $$1 = $0; + label = 17; + } + } while(0); + if ((label|0) == 17) { + $54 = ($0|0)==(0|0); + if ($54) { + $$06266 = 0; + } else { + HEAP8[$$1>>0] = 0; + $$06266 = $0; + } + } + $55 = ($17|0)==(0); + if ($55) { + $$0 = $$06266; + } else { + ___unlockfile($2); + $$0 = $$06266; + } + } + return ($$0|0); +} +function _feof($0) { + $0 = $0|0; + var $$lobit = 0, $$lobit8 = 0, $$lobit9 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $phitmp = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 76|0); + $2 = HEAP32[$1>>2]|0; + $3 = ($2|0)>(-1); + if ($3) { + $6 = (___lockfile($0)|0); + $phitmp = ($6|0)==(0); + $7 = HEAP32[$0>>2]|0; + $8 = $7 >>> 4; + $$lobit = $8 & 1; + if ($phitmp) { + $$lobit9 = $$lobit; + } else { + ___unlockfile($0); + $$lobit9 = $$lobit; + } + } else { + $4 = HEAP32[$0>>2]|0; + $5 = $4 >>> 4; + $$lobit8 = $5 & 1; + $$lobit9 = $$lobit8; + } + return ($$lobit9|0); +} +function _sscanf($0,$1,$varargs) { + $0 = $0|0; + $1 = $1|0; + $varargs = $varargs|0; + var $2 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $2 = sp; + HEAP32[$2>>2] = $varargs; + $3 = (_vsscanf($0,$1,$2)|0); + STACKTOP = sp;return ($3|0); +} +function _vsscanf($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, dest = 0, label = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0); + $3 = sp; + dest=$3; stop=dest+124|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + $4 = ((($3)) + 32|0); + HEAP32[$4>>2] = 12; + $5 = ((($3)) + 44|0); + HEAP32[$5>>2] = $0; + $6 = ((($3)) + 76|0); + HEAP32[$6>>2] = -1; + $7 = ((($3)) + 84|0); + HEAP32[$7>>2] = $0; + $8 = (_vfscanf($3,$1,$2)|0); + STACKTOP = sp;return ($8|0); +} +function _do_read($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = (___string_read($0,$1,$2)|0); + return ($3|0); +} +function _vfscanf($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$ = 0, $$$0266 = 0, $$$0268 = 0, $$$0305 = 0, $$$3 = 0, $$0266$lcssa = 0, $$0266417 = 0, $$0268 = 0, $$0272 = 0, $$0273429 = 0, $$0276$ph = 0, $$0278$ph = 0, $$0278$ph$phi = 0, $$0278$ph336 = 0, $$0283428 = 0, $$0286420 = 0, $$0288$ = 0, $$0288425 = 0, $$0292 = 0, $$0293 = 0; + var $$0305423 = 0, $$10 = 0, $$11 = 0, $$1267 = 0, $$1271 = 0, $$1274 = 0, $$1277$ph = 0, $$1279 = 0, $$1284 = 0, $$1289 = 0, $$2 = 0, $$2275 = 0, $$2280 = 0, $$2280$ph = 0, $$2280$ph$phi = 0, $$2285 = 0, $$2290 = 0, $$2307$ph = 0, $$3$lcssa = 0, $$319 = 0; + var $$320 = 0, $$321 = 0, $$322 = 0, $$327 = 0, $$328$le439 = 0, $$328$le441 = 0, $$3281 = 0, $$3291 = 0, $$3416 = 0, $$4282 = 0, $$4309 = 0, $$5 = 0, $$5299 = 0, $$5310 = 0, $$6 = 0, $$6311 = 0, $$7 = 0, $$7$ph = 0, $$7312 = 0, $$8 = 0; + var $$8313 = 0, $$9 = 0, $$9314 = 0, $$9314$ph = 0, $$lcssa355 = 0, $$not = 0, $$old4 = 0, $$ph = 0, $$ph353 = 0, $$pre = 0, $$pre$phi516Z2D = 0, $$pre507 = 0, $$pre509 = 0, $$pre511 = 0, $$pre512 = 0, $$pre513 = 0, $$pre514 = 0, $$pre515 = 0, $$sink443 = 0, $$sroa$2$0$$sroa_idx13 = 0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0; + var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0; + var $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0; + var $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0; + var $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0; + var $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0; + var $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0; + var $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0.0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0.0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0; + var $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0; + var $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0; + var $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0; + var $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0; + var $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $arglist_current = 0, $arglist_next = 0, $expanded = 0, $expanded1 = 0, $expanded3 = 0, $expanded4 = 0, $expanded5 = 0, $factor = 0, $factor331 = 0, $isdigit = 0; + var $isdigit316 = 0, $isdigit316415 = 0, $isdigittmp = 0, $isdigittmp315 = 0, $isdigittmp315414 = 0, $narrow = 0, $narrow469 = 0, $or$cond = 0, $or$cond3 = 0, $or$cond318 = 0, $or$cond5 = 0, $trunc = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 288|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(288|0); + $3 = sp + 8|0; + $4 = sp + 17|0; + $5 = sp; + $6 = sp + 16|0; + $7 = ((($0)) + 76|0); + $8 = HEAP32[$7>>2]|0; + $9 = ($8|0)>(-1); + if ($9) { + $10 = (___lockfile($0)|0); + $306 = $10; + } else { + $306 = 0; + } + $11 = HEAP8[$1>>0]|0; + $12 = ($11<<24>>24)==(0); + L4: do { + if ($12) { + $$3291 = 0; + } else { + $13 = ((($0)) + 4|0); + $14 = ((($0)) + 100|0); + $15 = ((($0)) + 108|0); + $16 = ((($0)) + 8|0); + $17 = ((($4)) + 10|0); + $18 = ((($4)) + 33|0); + $$sroa$2$0$$sroa_idx13 = ((($3)) + 4|0); + $19 = ((($4)) + 46|0); + $20 = ((($4)) + 94|0); + $21 = ((($4)) + 1|0); + $22 = ((($4)) + 1|0); + $$0273429 = $1;$$0283428 = 0;$$0288425 = 0;$$0305423 = 0;$102 = 0;$24 = $11; + L6: while(1) { + $23 = $24&255; + $25 = (_isspace($23)|0); + $26 = ($25|0)==(0); + L8: do { + if ($26) { + $53 = ($24<<24>>24)==(37); + L10: do { + if ($53) { + $54 = ((($$0273429)) + 1|0); + $55 = HEAP8[$54>>0]|0; + L12: do { + switch ($55<<24>>24) { + case 37: { + break L10; + break; + } + case 42: { + $76 = ((($$0273429)) + 2|0); + $$0293 = 0;$$2275 = $76; + break; + } + default: { + $77 = $55&255; + $isdigittmp = (($77) + -48)|0; + $isdigit = ($isdigittmp>>>0)<(10); + if ($isdigit) { + $78 = ((($$0273429)) + 2|0); + $79 = HEAP8[$78>>0]|0; + $80 = ($79<<24>>24)==(36); + if ($80) { + $81 = (_arg_n($2,$isdigittmp)|0); + $82 = ((($$0273429)) + 3|0); + $$0293 = $81;$$2275 = $82; + break L12; + } + } + $arglist_current = HEAP32[$2>>2]|0; + $83 = $arglist_current; + $84 = ((0) + 4|0); + $expanded1 = $84; + $expanded = (($expanded1) - 1)|0; + $85 = (($83) + ($expanded))|0; + $86 = ((0) + 4|0); + $expanded5 = $86; + $expanded4 = (($expanded5) - 1)|0; + $expanded3 = $expanded4 ^ -1; + $87 = $85 & $expanded3; + $88 = $87; + $89 = HEAP32[$88>>2]|0; + $arglist_next = ((($88)) + 4|0); + HEAP32[$2>>2] = $arglist_next; + $$0293 = $89;$$2275 = $54; + } + } + } while(0); + $90 = HEAP8[$$2275>>0]|0; + $91 = $90&255; + $isdigittmp315414 = (($91) + -48)|0; + $isdigit316415 = ($isdigittmp315414>>>0)<(10); + if ($isdigit316415) { + $$0266417 = 0;$$3416 = $$2275;$95 = $91; + while(1) { + $92 = ($$0266417*10)|0; + $93 = (($92) + -48)|0; + $94 = (($93) + ($95))|0; + $96 = ((($$3416)) + 1|0); + $97 = HEAP8[$96>>0]|0; + $98 = $97&255; + $isdigittmp315 = (($98) + -48)|0; + $isdigit316 = ($isdigittmp315>>>0)<(10); + if ($isdigit316) { + $$0266417 = $94;$$3416 = $96;$95 = $98; + } else { + $$0266$lcssa = $94;$$3$lcssa = $96;$$lcssa355 = $97; + break; + } + } + } else { + $$0266$lcssa = 0;$$3$lcssa = $$2275;$$lcssa355 = $90; + } + $99 = ($$lcssa355<<24>>24)==(109); + $100 = ($$0293|0)!=(0|0); + $101 = ((($$3$lcssa)) + 1|0); + $$$0305 = $99 ? 0 : $$0305423; + $$327 = $99 ? 0 : $102; + $$$3 = $99 ? $101 : $$3$lcssa; + $narrow = $100 & $99; + $103 = ((($$$3)) + 1|0); + $104 = HEAP8[$$$3>>0]|0; + switch ($104<<24>>24) { + case 104: { + $105 = HEAP8[$103>>0]|0; + $106 = ($105<<24>>24)==(104); + $107 = ((($$$3)) + 2|0); + $$319 = $106 ? $107 : $103; + $$320 = $106 ? -2 : -1; + $$0268 = $$320;$$5 = $$319; + break; + } + case 108: { + $108 = HEAP8[$103>>0]|0; + $109 = ($108<<24>>24)==(108); + $110 = ((($$$3)) + 2|0); + $$321 = $109 ? $110 : $103; + $$322 = $109 ? 3 : 1; + $$0268 = $$322;$$5 = $$321; + break; + } + case 106: { + $$0268 = 3;$$5 = $103; + break; + } + case 116: case 122: { + $$0268 = 1;$$5 = $103; + break; + } + case 76: { + $$0268 = 2;$$5 = $103; + break; + } + case 110: case 112: case 67: case 83: case 91: case 99: case 115: case 88: case 71: case 70: case 69: case 65: case 103: case 102: case 101: case 97: case 120: case 117: case 111: case 105: case 100: { + $$0268 = 0;$$5 = $$$3; + break; + } + default: { + $$7312 = $$$0305;$309 = $$327;$narrow469 = $narrow; + label = 137; + break L6; + } + } + $111 = HEAP8[$$5>>0]|0; + $112 = $111&255; + $113 = $112 & 47; + $114 = ($113|0)==(3); + $115 = $112 | 32; + $$ = $114 ? $115 : $112; + $$$0268 = $114 ? 1 : $$0268; + $trunc = $$&255; + switch ($trunc<<24>>24) { + case 99: { + $116 = ($$0266$lcssa|0)>(1); + $$$0266 = $116 ? $$0266$lcssa : 1; + $$1267 = $$$0266;$$1284 = $$0283428; + break; + } + case 91: { + $$1267 = $$0266$lcssa;$$1284 = $$0283428; + break; + } + case 110: { + $117 = ($$0283428|0)<(0); + $118 = $117 << 31 >> 31; + _store_int($$0293,$$$0268,$$0283428,$118); + $$11 = $$5;$$1289 = $$0288425;$$2285 = $$0283428;$$6311 = $$$0305;$307 = $$327; + break L8; + break; + } + default: { + ___shlim($0,0); + while(1) { + $119 = HEAP32[$13>>2]|0; + $120 = HEAP32[$14>>2]|0; + $121 = ($119>>>0)<($120>>>0); + if ($121) { + $122 = ((($119)) + 1|0); + HEAP32[$13>>2] = $122; + $123 = HEAP8[$119>>0]|0; + $124 = $123&255; + $126 = $124; + } else { + $125 = (___shgetc($0)|0); + $126 = $125; + } + $127 = (_isspace($126)|0); + $128 = ($127|0)==(0); + if ($128) { + break; + } + } + $129 = HEAP32[$14>>2]|0; + $130 = ($129|0)==(0|0); + if ($130) { + $$pre507 = HEAP32[$13>>2]|0; + $138 = $$pre507; + } else { + $131 = HEAP32[$13>>2]|0; + $132 = ((($131)) + -1|0); + HEAP32[$13>>2] = $132; + $133 = $132; + $138 = $133; + } + $134 = HEAP32[$15>>2]|0; + $135 = HEAP32[$16>>2]|0; + $136 = (($134) + ($$0283428))|0; + $137 = (($136) + ($138))|0; + $139 = (($137) - ($135))|0; + $$1267 = $$0266$lcssa;$$1284 = $139; + } + } + ___shlim($0,$$1267); + $140 = HEAP32[$13>>2]|0; + $141 = HEAP32[$14>>2]|0; + $142 = ($140>>>0)<($141>>>0); + if ($142) { + $143 = ((($140)) + 1|0); + HEAP32[$13>>2] = $143; + $147 = $141; + } else { + $144 = (___shgetc($0)|0); + $145 = ($144|0)<(0); + if ($145) { + $$7312 = $$$0305;$309 = $$327;$narrow469 = $narrow; + label = 137; + break L6; + } + $$pre509 = HEAP32[$14>>2]|0; + $147 = $$pre509; + } + $146 = ($147|0)==(0|0); + if (!($146)) { + $148 = HEAP32[$13>>2]|0; + $149 = ((($148)) + -1|0); + HEAP32[$13>>2] = $149; + } + L55: do { + switch ($trunc<<24>>24) { + case 91: case 99: case 115: { + $150 = ($$|0)==(99); + $151 = $$ | 16; + $152 = ($151|0)==(115); + L57: do { + if ($152) { + $153 = ($$|0)==(115); + _memset(($21|0),-1,256)|0; + HEAP8[$4>>0] = 0; + if ($153) { + HEAP8[$18>>0] = 0; + ;HEAP8[$17>>0]=0|0;HEAP8[$17+1>>0]=0|0;HEAP8[$17+2>>0]=0|0;HEAP8[$17+3>>0]=0|0;HEAP8[$17+4>>0]=0|0; + $$9 = $$5; + } else { + $$9 = $$5; + } + } else { + $154 = ((($$5)) + 1|0); + $155 = HEAP8[$154>>0]|0; + $156 = ($155<<24>>24)==(94); + $157 = ((($$5)) + 2|0); + $$0292 = $156&1; + $$6 = $156 ? $157 : $154; + $158 = $156&1; + _memset(($22|0),($158|0),256)|0; + HEAP8[$4>>0] = 0; + $159 = HEAP8[$$6>>0]|0; + switch ($159<<24>>24) { + case 45: { + $$sink443 = $19; + label = 64; + break; + } + case 93: { + $$sink443 = $20; + label = 64; + break; + } + default: { + $$pre514 = $$0292 ^ 1; + $$pre515 = $$pre514&255; + $$7$ph = $$6;$$pre$phi516Z2D = $$pre515; + } + } + if ((label|0) == 64) { + label = 0; + $160 = ((($$6)) + 1|0); + $161 = $$0292 ^ 1; + $162 = $161&255; + HEAP8[$$sink443>>0] = $162; + $$7$ph = $160;$$pre$phi516Z2D = $162; + } + $$7 = $$7$ph; + while(1) { + $163 = HEAP8[$$7>>0]|0; + L69: do { + switch ($163<<24>>24) { + case 0: { + $$7312 = $$$0305;$309 = $$327;$narrow469 = $narrow; + label = 137; + break L6; + break; + } + case 93: { + $$9 = $$7; + break L57; + break; + } + case 45: { + $164 = ((($$7)) + 1|0); + $165 = HEAP8[$164>>0]|0; + switch ($165<<24>>24) { + case 93: case 0: { + $$8 = $$7;$176 = 45; + break L69; + break; + } + default: { + } + } + $166 = ((($$7)) + -1|0); + $167 = HEAP8[$166>>0]|0; + $168 = ($167&255)<($165&255); + if ($168) { + $169 = $167&255; + $$0286420 = $169; + while(1) { + $170 = (($$0286420) + 1)|0; + $171 = (($4) + ($170)|0); + HEAP8[$171>>0] = $$pre$phi516Z2D; + $172 = HEAP8[$164>>0]|0; + $173 = $172&255; + $174 = ($170|0)<($173|0); + if ($174) { + $$0286420 = $170; + } else { + $$8 = $164;$176 = $172; + break; + } + } + } else { + $$8 = $164;$176 = $165; + } + break; + } + default: { + $$8 = $$7;$176 = $163; + } + } + } while(0); + $175 = $176&255; + $177 = (($175) + 1)|0; + $178 = (($4) + ($177)|0); + HEAP8[$178>>0] = $$pre$phi516Z2D; + $179 = ((($$8)) + 1|0); + $$7 = $179; + } + } + } while(0); + $180 = (($$1267) + 1)|0; + $181 = $150 ? $180 : 31; + $182 = ($$$0268|0)==(1); + L77: do { + if ($182) { + if ($narrow) { + $183 = $181 << 2; + $184 = (_malloc($183)|0); + $185 = ($184|0)==(0|0); + if ($185) { + $$7312 = 0;$309 = 0;$narrow469 = 1; + label = 137; + break L6; + } else { + $311 = $184; + } + } else { + $311 = $$0293; + } + HEAP32[$3>>2] = 0; + HEAP32[$$sroa$2$0$$sroa_idx13>>2] = 0; + $$0276$ph = $181;$$0278$ph = 0;$$ph = $311; + L82: while(1) { + $186 = ($$ph|0)==(0|0); + $$0278$ph336 = $$0278$ph; + while(1) { + L86: while(1) { + $187 = HEAP32[$13>>2]|0; + $188 = HEAP32[$14>>2]|0; + $189 = ($187>>>0)<($188>>>0); + if ($189) { + $190 = ((($187)) + 1|0); + HEAP32[$13>>2] = $190; + $191 = HEAP8[$187>>0]|0; + $192 = $191&255; + $195 = $192; + } else { + $193 = (___shgetc($0)|0); + $195 = $193; + } + $194 = (($195) + 1)|0; + $196 = (($4) + ($194)|0); + $197 = HEAP8[$196>>0]|0; + $198 = ($197<<24>>24)==(0); + if ($198) { + break L82; + } + $199 = $195&255; + HEAP8[$6>>0] = $199; + $200 = (_mbrtowc($5,$6,1,$3)|0); + switch ($200|0) { + case -1: { + $$7312 = 0;$309 = $$ph;$narrow469 = $narrow; + label = 137; + break L6; + break; + } + case -2: { + break; + } + default: { + break L86; + } + } + } + if ($186) { + $$1279 = $$0278$ph336; + } else { + $201 = (($$ph) + ($$0278$ph336<<2)|0); + $202 = (($$0278$ph336) + 1)|0; + $203 = HEAP32[$5>>2]|0; + HEAP32[$201>>2] = $203; + $$1279 = $202; + } + $204 = ($$1279|0)==($$0276$ph|0); + $or$cond = $narrow & $204; + if ($or$cond) { + break; + } else { + $$0278$ph336 = $$1279; + } + } + $factor331 = $$0276$ph << 1; + $205 = $factor331 | 1; + $206 = $205 << 2; + $207 = (_realloc($$ph,$206)|0); + $208 = ($207|0)==(0|0); + if ($208) { + $$7312 = 0;$309 = $$ph;$narrow469 = 1; + label = 137; + break L6; + } else { + $$0278$ph$phi = $$0276$ph;$$0276$ph = $205;$$ph = $207;$$0278$ph = $$0278$ph$phi; + } + } + $209 = (_mbsinit($3)|0); + $210 = ($209|0)==(0); + if ($210) { + $$7312 = 0;$309 = $$ph;$narrow469 = $narrow; + label = 137; + break L6; + } else { + $$4282 = $$0278$ph336;$$4309 = 0;$$5299 = $$ph;$312 = $$ph; + } + } else { + if ($narrow) { + $211 = (_malloc($181)|0); + $212 = ($211|0)==(0|0); + if ($212) { + $$7312 = 0;$309 = 0;$narrow469 = 1; + label = 137; + break L6; + } else { + $$1277$ph = $181;$$2280$ph = 0;$$2307$ph = $211; + } + while(1) { + $$2280 = $$2280$ph; + while(1) { + $213 = HEAP32[$13>>2]|0; + $214 = HEAP32[$14>>2]|0; + $215 = ($213>>>0)<($214>>>0); + if ($215) { + $216 = ((($213)) + 1|0); + HEAP32[$13>>2] = $216; + $217 = HEAP8[$213>>0]|0; + $218 = $217&255; + $221 = $218; + } else { + $219 = (___shgetc($0)|0); + $221 = $219; + } + $220 = (($221) + 1)|0; + $222 = (($4) + ($220)|0); + $223 = HEAP8[$222>>0]|0; + $224 = ($223<<24>>24)==(0); + if ($224) { + $$4282 = $$2280;$$4309 = $$2307$ph;$$5299 = 0;$312 = 0; + break L77; + } + $225 = $221&255; + $226 = (($$2280) + 1)|0; + $227 = (($$2307$ph) + ($$2280)|0); + HEAP8[$227>>0] = $225; + $228 = ($226|0)==($$1277$ph|0); + if ($228) { + break; + } else { + $$2280 = $226; + } + } + $factor = $$1277$ph << 1; + $229 = $factor | 1; + $230 = (_realloc($$2307$ph,$229)|0); + $231 = ($230|0)==(0|0); + if ($231) { + $$7312 = $$2307$ph;$309 = 0;$narrow469 = 1; + label = 137; + break L6; + } else { + $$2280$ph$phi = $$1277$ph;$$1277$ph = $229;$$2307$ph = $230;$$2280$ph = $$2280$ph$phi; + } + } + } + $232 = ($$0293|0)==(0|0); + if ($232) { + $250 = $147; + while(1) { + $248 = HEAP32[$13>>2]|0; + $249 = ($248>>>0)<($250>>>0); + if ($249) { + $251 = ((($248)) + 1|0); + HEAP32[$13>>2] = $251; + $252 = HEAP8[$248>>0]|0; + $253 = $252&255; + $256 = $253; + } else { + $254 = (___shgetc($0)|0); + $256 = $254; + } + $255 = (($256) + 1)|0; + $257 = (($4) + ($255)|0); + $258 = HEAP8[$257>>0]|0; + $259 = ($258<<24>>24)==(0); + if ($259) { + $$4282 = 0;$$4309 = 0;$$5299 = 0;$312 = 0; + break L77; + } + $$pre512 = HEAP32[$14>>2]|0; + $250 = $$pre512; + } + } else { + $$3281 = 0;$235 = $147; + while(1) { + $233 = HEAP32[$13>>2]|0; + $234 = ($233>>>0)<($235>>>0); + if ($234) { + $236 = ((($233)) + 1|0); + HEAP32[$13>>2] = $236; + $237 = HEAP8[$233>>0]|0; + $238 = $237&255; + $241 = $238; + } else { + $239 = (___shgetc($0)|0); + $241 = $239; + } + $240 = (($241) + 1)|0; + $242 = (($4) + ($240)|0); + $243 = HEAP8[$242>>0]|0; + $244 = ($243<<24>>24)==(0); + if ($244) { + $$4282 = $$3281;$$4309 = $$0293;$$5299 = 0;$312 = 0; + break L77; + } + $245 = $241&255; + $246 = (($$3281) + 1)|0; + $247 = (($$0293) + ($$3281)|0); + HEAP8[$247>>0] = $245; + $$pre511 = HEAP32[$14>>2]|0; + $$3281 = $246;$235 = $$pre511; + } + } + } + } while(0); + $260 = HEAP32[$14>>2]|0; + $261 = ($260|0)==(0|0); + if ($261) { + $$pre513 = HEAP32[$13>>2]|0; + $268 = $$pre513; + } else { + $262 = HEAP32[$13>>2]|0; + $263 = ((($262)) + -1|0); + HEAP32[$13>>2] = $263; + $264 = $263; + $268 = $264; + } + $265 = HEAP32[$15>>2]|0; + $266 = HEAP32[$16>>2]|0; + $267 = (($268) - ($266))|0; + $269 = (($267) + ($265))|0; + $270 = ($269|0)==(0); + if ($270) { + $$9314$ph = $$4309;$$ph353 = $312; + label = 139; + break L6; + } + $$not = $150 ^ 1; + $271 = ($269|0)==($$1267|0); + $or$cond318 = $271 | $$not; + if (!($or$cond318)) { + $$9314$ph = $$4309;$$ph353 = $312; + label = 139; + break L6; + } + do { + if ($narrow) { + if ($182) { + HEAP32[$$0293>>2] = $$5299; + break; + } else { + HEAP32[$$0293>>2] = $$4309; + break; + } + } + } while(0); + if ($150) { + $$10 = $$9;$$5310 = $$4309;$310 = $312; + } else { + $272 = ($$5299|0)==(0|0); + if (!($272)) { + $273 = (($$5299) + ($$4282<<2)|0); + HEAP32[$273>>2] = 0; + } + $274 = ($$4309|0)==(0|0); + if ($274) { + $$10 = $$9;$$5310 = 0;$310 = $312; + break L55; + } + $275 = (($$4309) + ($$4282)|0); + HEAP8[$275>>0] = 0; + $$10 = $$9;$$5310 = $$4309;$310 = $312; + } + break; + } + case 120: case 88: case 112: { + $$0272 = 16; + label = 125; + break; + } + case 111: { + $$0272 = 8; + label = 125; + break; + } + case 117: case 100: { + $$0272 = 10; + label = 125; + break; + } + case 105: { + $$0272 = 0; + label = 125; + break; + } + case 71: case 103: case 70: case 102: case 69: case 101: case 65: case 97: { + $285 = (+___floatscan($0,$$$0268,0)); + $286 = HEAP32[$15>>2]|0; + $287 = HEAP32[$13>>2]|0; + $288 = HEAP32[$16>>2]|0; + $289 = (($288) - ($287))|0; + $290 = ($286|0)==($289|0); + if ($290) { + $$9314$ph = $$$0305;$$ph353 = $$327; + label = 139; + break L6; + } + $291 = ($$0293|0)==(0|0); + if ($291) { + $$10 = $$5;$$5310 = $$$0305;$310 = $$327; + } else { + switch ($$$0268|0) { + case 0: { + $292 = $285; + HEAPF32[$$0293>>2] = $292; + $$10 = $$5;$$5310 = $$$0305;$310 = $$327; + break L55; + break; + } + case 1: { + HEAPF64[$$0293>>3] = $285; + $$10 = $$5;$$5310 = $$$0305;$310 = $$327; + break L55; + break; + } + case 2: { + HEAPF64[$$0293>>3] = $285; + $$10 = $$5;$$5310 = $$$0305;$310 = $$327; + break L55; + break; + } + default: { + $$10 = $$5;$$5310 = $$$0305;$310 = $$327; + break L55; + } + } + } + break; + } + default: { + $$10 = $$5;$$5310 = $$$0305;$310 = $$327; + } + } + } while(0); + do { + if ((label|0) == 125) { + label = 0; + $276 = (___intscan($0,$$0272,0,-1,-1)|0); + $277 = tempRet0; + $278 = HEAP32[$15>>2]|0; + $279 = HEAP32[$13>>2]|0; + $280 = HEAP32[$16>>2]|0; + $281 = (($280) - ($279))|0; + $282 = ($278|0)==($281|0); + if ($282) { + $$9314$ph = $$$0305;$$ph353 = $$327; + label = 139; + break L6; + } + $283 = ($$|0)==(112); + $or$cond3 = $100 & $283; + if ($or$cond3) { + $284 = $276; + HEAP32[$$0293>>2] = $284; + $$10 = $$5;$$5310 = $$$0305;$310 = $$327; + break; + } else { + _store_int($$0293,$$$0268,$276,$277); + $$10 = $$5;$$5310 = $$$0305;$310 = $$327; + break; + } + } + } while(0); + $293 = HEAP32[$15>>2]|0; + $294 = HEAP32[$13>>2]|0; + $295 = HEAP32[$16>>2]|0; + $296 = (($293) + ($$1284))|0; + $297 = (($296) + ($294))|0; + $298 = (($297) - ($295))|0; + $299 = $100&1; + $$0288$ = (($299) + ($$0288425))|0; + $$11 = $$10;$$1289 = $$0288$;$$2285 = $298;$$6311 = $$5310;$307 = $310; + break L8; + } + } while(0); + $56 = $53&1; + $57 = (($$0273429) + ($56)|0); + ___shlim($0,0); + $58 = HEAP32[$13>>2]|0; + $59 = HEAP32[$14>>2]|0; + $60 = ($58>>>0)<($59>>>0); + if ($60) { + $61 = ((($58)) + 1|0); + HEAP32[$13>>2] = $61; + $62 = HEAP8[$58>>0]|0; + $63 = $62&255; + $68 = $63; + } else { + $64 = (___shgetc($0)|0); + $68 = $64; + } + $65 = HEAP8[$57>>0]|0; + $66 = $65&255; + $67 = ($68|0)==($66|0); + if (!($67)) { + label = 22; + break L6; + } + $75 = (($$0283428) + 1)|0; + $$11 = $57;$$1289 = $$0288425;$$2285 = $75;$$6311 = $$0305423;$307 = $102; + } else { + $$1274 = $$0273429; + while(1) { + $27 = ((($$1274)) + 1|0); + $28 = HEAP8[$27>>0]|0; + $29 = $28&255; + $30 = (_isspace($29)|0); + $31 = ($30|0)==(0); + if ($31) { + break; + } else { + $$1274 = $27; + } + } + ___shlim($0,0); + while(1) { + $32 = HEAP32[$13>>2]|0; + $33 = HEAP32[$14>>2]|0; + $34 = ($32>>>0)<($33>>>0); + if ($34) { + $35 = ((($32)) + 1|0); + HEAP32[$13>>2] = $35; + $36 = HEAP8[$32>>0]|0; + $37 = $36&255; + $39 = $37; + } else { + $38 = (___shgetc($0)|0); + $39 = $38; + } + $40 = (_isspace($39)|0); + $41 = ($40|0)==(0); + if ($41) { + break; + } + } + $42 = HEAP32[$14>>2]|0; + $43 = ($42|0)==(0|0); + if ($43) { + $$pre = HEAP32[$13>>2]|0; + $51 = $$pre; + } else { + $44 = HEAP32[$13>>2]|0; + $45 = ((($44)) + -1|0); + HEAP32[$13>>2] = $45; + $46 = $45; + $51 = $46; + } + $47 = HEAP32[$15>>2]|0; + $48 = HEAP32[$16>>2]|0; + $49 = (($47) + ($$0283428))|0; + $50 = (($49) + ($51))|0; + $52 = (($50) - ($48))|0; + $$11 = $$1274;$$1289 = $$0288425;$$2285 = $52;$$6311 = $$0305423;$307 = $102; + } + } while(0); + $300 = ((($$11)) + 1|0); + $301 = HEAP8[$300>>0]|0; + $302 = ($301<<24>>24)==(0); + if ($302) { + $$3291 = $$1289; + break L4; + } else { + $$0273429 = $300;$$0283428 = $$2285;$$0288425 = $$1289;$$0305423 = $$6311;$102 = $307;$24 = $301; + } + } + if ((label|0) == 22) { + $69 = HEAP32[$14>>2]|0; + $70 = ($69|0)==(0|0); + if (!($70)) { + $71 = HEAP32[$13>>2]|0; + $72 = ((($71)) + -1|0); + HEAP32[$13>>2] = $72; + } + $73 = ($68|0)>(-1); + $74 = ($$0288425|0)!=(0); + $or$cond5 = $74 | $73; + if ($or$cond5) { + $$3291 = $$0288425; + break; + } else { + $$1271 = 0;$$8313 = $$0305423;$308 = $102; + label = 138; + } + } + else if ((label|0) == 137) { + $$328$le441 = $narrow469&1; + $$old4 = ($$0288425|0)==(0); + if ($$old4) { + $$1271 = $$328$le441;$$8313 = $$7312;$308 = $309; + label = 138; + } else { + $$2 = $$328$le441;$$2290 = $$0288425;$$9314 = $$7312;$304 = $309; + } + } + else if ((label|0) == 139) { + $$328$le439 = $narrow&1; + $$2 = $$328$le439;$$2290 = $$0288425;$$9314 = $$9314$ph;$304 = $$ph353; + } + if ((label|0) == 138) { + $$2 = $$1271;$$2290 = -1;$$9314 = $$8313;$304 = $308; + } + $303 = ($$2|0)==(0); + if ($303) { + $$3291 = $$2290; + } else { + _free($$9314); + _free($304); + $$3291 = $$2290; + } + } + } while(0); + $305 = ($306|0)==(0); + if (!($305)) { + ___unlockfile($0); + } + STACKTOP = sp;return ($$3291|0); +} +function _arg_n($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $arglist_current = 0, $arglist_next = 0, $expanded = 0, $expanded1 = 0, $expanded3 = 0, $expanded4 = 0, $expanded5 = 0, $vacopy_currentptr = 0, label = 0; + var sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $2 = sp; + $vacopy_currentptr = HEAP32[$0>>2]|0; + HEAP32[$2>>2] = $vacopy_currentptr; + $$0 = $1; + while(1) { + $3 = ($$0>>>0)>(1); + $arglist_current = HEAP32[$2>>2]|0; + $4 = $arglist_current; + $5 = ((0) + 4|0); + $expanded1 = $5; + $expanded = (($expanded1) - 1)|0; + $6 = (($4) + ($expanded))|0; + $7 = ((0) + 4|0); + $expanded5 = $7; + $expanded4 = (($expanded5) - 1)|0; + $expanded3 = $expanded4 ^ -1; + $8 = $6 & $expanded3; + $9 = $8; + $10 = HEAP32[$9>>2]|0; + $arglist_next = ((($9)) + 4|0); + HEAP32[$2>>2] = $arglist_next; + $11 = (($$0) + -1)|0; + if ($3) { + $$0 = $11; + } else { + break; + } + } + STACKTOP = sp;return ($10|0); +} +function _store_int($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $10 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $4 = ($0|0)==(0|0); + L1: do { + if (!($4)) { + switch ($1|0) { + case -2: { + $5 = $2&255; + HEAP8[$0>>0] = $5; + break L1; + break; + } + case -1: { + $6 = $2&65535; + HEAP16[$0>>1] = $6; + break L1; + break; + } + case 0: { + HEAP32[$0>>2] = $2; + break L1; + break; + } + case 1: { + HEAP32[$0>>2] = $2; + break L1; + break; + } + case 3: { + $7 = $0; + $8 = $7; + HEAP32[$8>>2] = $2; + $9 = (($7) + 4)|0; + $10 = $9; + HEAP32[$10>>2] = $3; + break L1; + break; + } + default: { + break L1; + } + } + } + } while(0); + return; +} +function _mbsinit($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ($0|0)==(0|0); + if ($1) { + $5 = 1; + } else { + $2 = HEAP32[$0>>2]|0; + $3 = ($2|0)==(0); + $5 = $3; + } + $4 = $5&1; + return ($4|0); +} +function ___string_read($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$027 = 0, $$027$ = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ((($0)) + 84|0); + $4 = HEAP32[$3>>2]|0; + $5 = (($2) + 256)|0; + $6 = (_memchr($4,0,$5)|0); + $7 = ($6|0)==(0|0); + $8 = $6; + $9 = $4; + $10 = (($8) - ($9))|0; + $$027 = $7 ? $5 : $10; + $11 = ($$027>>>0)<($2>>>0); + $$027$ = $11 ? $$027 : $2; + _memcpy(($1|0),($4|0),($$027$|0))|0; + $12 = (($4) + ($$027$)|0); + $13 = ((($0)) + 4|0); + HEAP32[$13>>2] = $12; + $14 = (($4) + ($$027)|0); + $15 = ((($0)) + 8|0); + HEAP32[$15>>2] = $14; + HEAP32[$3>>2] = $14; + return ($$027$|0); +} +function _fseek($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = (___fseeko($0,$1,$2)|0); + return ($3|0); +} +function _fprintf($0,$1,$varargs) { + $0 = $0|0; + $1 = $1|0; + $varargs = $varargs|0; + var $2 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $2 = sp; + HEAP32[$2>>2] = $varargs; + $3 = (_vfprintf($0,$1,$2)|0); + STACKTOP = sp;return ($3|0); +} +function ___fseeko($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $phitmp = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ((($0)) + 76|0); + $4 = HEAP32[$3>>2]|0; + $5 = ($4|0)>(-1); + if ($5) { + $7 = (___lockfile($0)|0); + $phitmp = ($7|0)==(0); + $8 = (___fseeko_unlocked($0,$1,$2)|0); + if ($phitmp) { + $9 = $8; + } else { + ___unlockfile($0); + $9 = $8; + } + } else { + $6 = (___fseeko_unlocked($0,$1,$2)|0); + $9 = $6; + } + return ($9|0); +} +function ___fseeko_unlocked($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$0 = 0, $$019 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ($2|0)==(1); + if ($3) { + $4 = ((($0)) + 8|0); + $5 = HEAP32[$4>>2]|0; + $6 = ((($0)) + 4|0); + $7 = HEAP32[$6>>2]|0; + $8 = (($1) - ($5))|0; + $9 = (($8) + ($7))|0; + $$019 = $9; + } else { + $$019 = $1; + } + $10 = ((($0)) + 20|0); + $11 = HEAP32[$10>>2]|0; + $12 = ((($0)) + 28|0); + $13 = HEAP32[$12>>2]|0; + $14 = ($11>>>0)>($13>>>0); + if ($14) { + $15 = ((($0)) + 36|0); + $16 = HEAP32[$15>>2]|0; + (FUNCTION_TABLE_iiii[$16 & 15]($0,0,0)|0); + $17 = HEAP32[$10>>2]|0; + $18 = ($17|0)==(0|0); + if ($18) { + $$0 = -1; + } else { + label = 5; + } + } else { + label = 5; + } + if ((label|0) == 5) { + $19 = ((($0)) + 16|0); + HEAP32[$19>>2] = 0; + HEAP32[$12>>2] = 0; + HEAP32[$10>>2] = 0; + $20 = ((($0)) + 40|0); + $21 = HEAP32[$20>>2]|0; + $22 = (FUNCTION_TABLE_iiii[$21 & 15]($0,$$019,$2)|0); + $23 = ($22|0)<(0); + if ($23) { + $$0 = -1; + } else { + $24 = ((($0)) + 8|0); + HEAP32[$24>>2] = 0; + $25 = ((($0)) + 4|0); + HEAP32[$25>>2] = 0; + $26 = HEAP32[$0>>2]|0; + $27 = $26 & -17; + HEAP32[$0>>2] = $27; + $$0 = 0; + } + } + return ($$0|0); +} +function _strstr($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; + var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = HEAP8[$1>>0]|0; + $3 = ($2<<24>>24)==(0); + do { + if ($3) { + $$0 = $0; + } else { + $4 = $2 << 24 >> 24; + $5 = (_strchr($0,$4)|0); + $6 = ($5|0)==(0|0); + if ($6) { + $$0 = 0; + } else { + $7 = ((($1)) + 1|0); + $8 = HEAP8[$7>>0]|0; + $9 = ($8<<24>>24)==(0); + if ($9) { + $$0 = $5; + } else { + $10 = ((($5)) + 1|0); + $11 = HEAP8[$10>>0]|0; + $12 = ($11<<24>>24)==(0); + if ($12) { + $$0 = 0; + } else { + $13 = ((($1)) + 2|0); + $14 = HEAP8[$13>>0]|0; + $15 = ($14<<24>>24)==(0); + if ($15) { + $16 = (_twobyte_strstr($5,$1)|0); + $$0 = $16; + break; + } + $17 = ((($5)) + 2|0); + $18 = HEAP8[$17>>0]|0; + $19 = ($18<<24>>24)==(0); + if ($19) { + $$0 = 0; + } else { + $20 = ((($1)) + 3|0); + $21 = HEAP8[$20>>0]|0; + $22 = ($21<<24>>24)==(0); + if ($22) { + $23 = (_threebyte_strstr($5,$1)|0); + $$0 = $23; + break; + } + $24 = ((($5)) + 3|0); + $25 = HEAP8[$24>>0]|0; + $26 = ($25<<24>>24)==(0); + if ($26) { + $$0 = 0; + } else { + $27 = ((($1)) + 4|0); + $28 = HEAP8[$27>>0]|0; + $29 = ($28<<24>>24)==(0); + if ($29) { + $30 = (_fourbyte_strstr($5,$1)|0); + $$0 = $30; + break; + } else { + $31 = (_twoway_strstr($5,$1)|0); + $$0 = $31; + break; + } + } + } + } + } + } + } + } while(0); + return ($$0|0); +} +function _twobyte_strstr($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$lcssa = 0, $$sink = 0, $$sink$in = 0, $$sink$masked = 0, $$sink17$sink = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; + var label = 0, sp = 0; + sp = STACKTOP; + $2 = HEAP8[$1>>0]|0; + $3 = $2&255; + $4 = $3 << 8; + $5 = ((($1)) + 1|0); + $6 = HEAP8[$5>>0]|0; + $7 = $6&255; + $8 = $4 | $7; + $9 = HEAP8[$0>>0]|0; + $10 = $9&255; + $$sink$in = $10;$$sink17$sink = $0; + while(1) { + $11 = ((($$sink17$sink)) + 1|0); + $12 = HEAP8[$11>>0]|0; + $13 = ($12<<24>>24)==(0); + if ($13) { + $$lcssa = 0; + break; + } + $$sink = $$sink$in << 8; + $14 = $12&255; + $$sink$masked = $$sink & 65280; + $15 = $14 | $$sink$masked; + $16 = ($15|0)==($8|0); + if ($16) { + $$lcssa = $$sink17$sink; + break; + } else { + $$sink$in = $15;$$sink17$sink = $11; + } + } + return ($$lcssa|0); +} +function _threebyte_strstr($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$016$lcssa = 0, $$01619 = 0, $$020 = 0, $$lcssa = 0, $$not = 0, $$not17 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0; + var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $4 = 0, $5 = 0, $6 = 0; + var $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond18 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = HEAP8[$1>>0]|0; + $3 = $2&255; + $4 = $3 << 24; + $5 = ((($1)) + 1|0); + $6 = HEAP8[$5>>0]|0; + $7 = $6&255; + $8 = $7 << 16; + $9 = $8 | $4; + $10 = ((($1)) + 2|0); + $11 = HEAP8[$10>>0]|0; + $12 = $11&255; + $13 = $12 << 8; + $14 = $9 | $13; + $15 = HEAP8[$0>>0]|0; + $16 = $15&255; + $17 = $16 << 24; + $18 = ((($0)) + 1|0); + $19 = HEAP8[$18>>0]|0; + $20 = $19&255; + $21 = $20 << 16; + $22 = $21 | $17; + $23 = ((($0)) + 2|0); + $24 = HEAP8[$23>>0]|0; + $25 = $24&255; + $26 = $25 << 8; + $27 = $22 | $26; + $28 = ($24<<24>>24)!=(0); + $$not17 = $28 ^ 1; + $29 = ($27|0)==($14|0); + $or$cond18 = $29 | $$not17; + if ($or$cond18) { + $$016$lcssa = $23;$$lcssa = $28; + } else { + $$01619 = $23;$$020 = $27; + while(1) { + $30 = ((($$01619)) + 1|0); + $31 = HEAP8[$30>>0]|0; + $32 = $31&255; + $33 = $32 | $$020; + $34 = $33 << 8; + $35 = ($31<<24>>24)!=(0); + $$not = $35 ^ 1; + $36 = ($34|0)==($14|0); + $or$cond = $36 | $$not; + if ($or$cond) { + $$016$lcssa = $30;$$lcssa = $35; + break; + } else { + $$01619 = $30;$$020 = $34; + } + } + } + $37 = ((($$016$lcssa)) + -2|0); + $38 = $$lcssa ? $37 : 0; + return ($38|0); +} +function _fourbyte_strstr($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$lcssa = 0, $$not = 0, $$not22 = 0, $$sink21$lcssa = 0, $$sink2124 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; + var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; + var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond23 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = HEAP8[$1>>0]|0; + $3 = $2&255; + $4 = $3 << 24; + $5 = ((($1)) + 1|0); + $6 = HEAP8[$5>>0]|0; + $7 = $6&255; + $8 = $7 << 16; + $9 = $8 | $4; + $10 = ((($1)) + 2|0); + $11 = HEAP8[$10>>0]|0; + $12 = $11&255; + $13 = $12 << 8; + $14 = $9 | $13; + $15 = ((($1)) + 3|0); + $16 = HEAP8[$15>>0]|0; + $17 = $16&255; + $18 = $14 | $17; + $19 = HEAP8[$0>>0]|0; + $20 = $19&255; + $21 = $20 << 24; + $22 = ((($0)) + 1|0); + $23 = HEAP8[$22>>0]|0; + $24 = $23&255; + $25 = $24 << 16; + $26 = $25 | $21; + $27 = ((($0)) + 2|0); + $28 = HEAP8[$27>>0]|0; + $29 = $28&255; + $30 = $29 << 8; + $31 = $26 | $30; + $32 = ((($0)) + 3|0); + $33 = HEAP8[$32>>0]|0; + $34 = $33&255; + $35 = $34 | $31; + $36 = ($33<<24>>24)!=(0); + $$not22 = $36 ^ 1; + $37 = ($35|0)==($18|0); + $or$cond23 = $37 | $$not22; + if ($or$cond23) { + $$lcssa = $36;$$sink21$lcssa = $32; + } else { + $$sink2124 = $32;$39 = $35; + while(1) { + $38 = $39 << 8; + $40 = ((($$sink2124)) + 1|0); + $41 = HEAP8[$40>>0]|0; + $42 = $41&255; + $43 = $42 | $38; + $44 = ($41<<24>>24)!=(0); + $$not = $44 ^ 1; + $45 = ($43|0)==($18|0); + $or$cond = $45 | $$not; + if ($or$cond) { + $$lcssa = $44;$$sink21$lcssa = $40; + break; + } else { + $$sink2124 = $40;$39 = $43; + } + } + } + $46 = ((($$sink21$lcssa)) + -3|0); + $47 = $$lcssa ? $46 : 0; + return ($47|0); +} +function _twoway_strstr($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0166 = 0, $$0168 = 0, $$0169 = 0, $$0169$be = 0, $$0170 = 0, $$0175$ph$ph$lcssa220 = 0, $$0175$ph$ph$lcssa220323 = 0, $$0175$ph$ph256 = 0, $$0179244 = 0, $$0183$ph200$ph255 = 0, $$0183$ph200250 = 0, $$0183$ph262 = 0, $$0185$ph$lcssa = 0, $$0185$ph$lcssa322 = 0, $$0185$ph261 = 0, $$0187$lcssa320321 = 0, $$0187266 = 0, $$1176$$0175 = 0, $$1176$ph$ph$lcssa211 = 0, $$1176$ph$ph235 = 0; + var $$1180224 = 0, $$1184$ph196$ph234 = 0, $$1184$ph196229 = 0, $$1184$ph241 = 0, $$1186$$0185 = 0, $$1186$$0185$ = 0, $$1186$ph$lcssa = 0, $$1186$ph240 = 0, $$2181 = 0, $$2181$sink = 0, $$3 = 0, $$3173 = 0, $$3178 = 0, $$3182223 = 0, $$4 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0; + var $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0; + var $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0; + var $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0; + var $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0; + var $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0; + var $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0; + var $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $cond = 0, $cond191 = 0, $cond191222 = 0, $cond265 = 0, $div = 0, $div188 = 0, $or$cond = 0, $or$cond190 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 1056|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1056|0); + $2 = sp + 1024|0; + $3 = sp; + ;HEAP32[$2>>2]=0|0;HEAP32[$2+4>>2]=0|0;HEAP32[$2+8>>2]=0|0;HEAP32[$2+12>>2]=0|0;HEAP32[$2+16>>2]=0|0;HEAP32[$2+20>>2]=0|0;HEAP32[$2+24>>2]=0|0;HEAP32[$2+28>>2]=0|0; + $4 = HEAP8[$1>>0]|0; + $cond265 = ($4<<24>>24)==(0); + L1: do { + if ($cond265) { + $$0175$ph$ph$lcssa220323 = 1;$$0185$ph$lcssa322 = -1;$$0187$lcssa320321 = 0;$$1176$ph$ph$lcssa211 = 1;$$1186$ph$lcssa = -1; + label = 27; + } else { + $5 = $4&255; + $$0187266 = 0;$12 = $4;$20 = $5; + while(1) { + $8 = (($0) + ($$0187266)|0); + $9 = HEAP8[$8>>0]|0; + $10 = ($9<<24>>24)==(0); + if ($10) { + $$3 = 0; + break L1; + } + $11 = $12 & 31; + $13 = $11&255; + $14 = 1 << $13; + $div188 = ($12&255) >>> 5; + $15 = $div188&255; + $16 = (($2) + ($15<<2)|0); + $17 = HEAP32[$16>>2]|0; + $18 = $17 | $14; + HEAP32[$16>>2] = $18; + $7 = (($$0187266) + 1)|0; + $19 = (($3) + ($20<<2)|0); + HEAP32[$19>>2] = $7; + $21 = (($1) + ($7)|0); + $22 = HEAP8[$21>>0]|0; + $23 = $22&255; + $cond = ($22<<24>>24)==(0); + if ($cond) { + break; + } else { + $$0187266 = $7;$12 = $22;$20 = $23; + } + } + $6 = ($7>>>0)>(1); + if ($6) { + $$0183$ph262 = 0;$$0185$ph261 = -1;$129 = 1; + L7: while(1) { + $$0175$ph$ph256 = 1;$$0183$ph200$ph255 = $$0183$ph262;$132 = $129; + while(1) { + $$0183$ph200250 = $$0183$ph200$ph255;$131 = $132; + L11: while(1) { + $$0179244 = 1;$31 = $131; + while(1) { + $27 = (($$0179244) + ($$0185$ph261))|0; + $28 = (($1) + ($27)|0); + $29 = HEAP8[$28>>0]|0; + $30 = (($1) + ($31)|0); + $32 = HEAP8[$30>>0]|0; + $33 = ($29<<24>>24)==($32<<24>>24); + if (!($33)) { + break L11; + } + $34 = ($$0179244|0)==($$0175$ph$ph256|0); + $25 = (($$0179244) + 1)|0; + if ($34) { + break; + } + $24 = (($25) + ($$0183$ph200250))|0; + $26 = ($24>>>0)<($7>>>0); + if ($26) { + $$0179244 = $25;$31 = $24; + } else { + $$0175$ph$ph$lcssa220 = $$0175$ph$ph256;$$0185$ph$lcssa = $$0185$ph261; + break L7; + } + } + $35 = (($$0175$ph$ph256) + ($$0183$ph200250))|0; + $36 = (($35) + 1)|0; + $37 = ($36>>>0)<($7>>>0); + if ($37) { + $$0183$ph200250 = $35;$131 = $36; + } else { + $$0175$ph$ph$lcssa220 = $$0175$ph$ph256;$$0185$ph$lcssa = $$0185$ph261; + break L7; + } + } + $38 = ($29&255)>($32&255); + $39 = (($31) - ($$0185$ph261))|0; + if (!($38)) { + break; + } + $43 = (($31) + 1)|0; + $44 = ($43>>>0)<($7>>>0); + if ($44) { + $$0175$ph$ph256 = $39;$$0183$ph200$ph255 = $31;$132 = $43; + } else { + $$0175$ph$ph$lcssa220 = $39;$$0185$ph$lcssa = $$0185$ph261; + break L7; + } + } + $40 = (($$0183$ph200250) + 1)|0; + $41 = (($$0183$ph200250) + 2)|0; + $42 = ($41>>>0)<($7>>>0); + if ($42) { + $$0183$ph262 = $40;$$0185$ph261 = $$0183$ph200250;$129 = $41; + } else { + $$0175$ph$ph$lcssa220 = 1;$$0185$ph$lcssa = $$0183$ph200250; + break; + } + } + if ($6) { + $$1184$ph241 = 0;$$1186$ph240 = -1;$130 = 1; + while(1) { + $$1176$ph$ph235 = 1;$$1184$ph196$ph234 = $$1184$ph241;$134 = $130; + while(1) { + $$1184$ph196229 = $$1184$ph196$ph234;$133 = $134; + L26: while(1) { + $$1180224 = 1;$52 = $133; + while(1) { + $48 = (($$1180224) + ($$1186$ph240))|0; + $49 = (($1) + ($48)|0); + $50 = HEAP8[$49>>0]|0; + $51 = (($1) + ($52)|0); + $53 = HEAP8[$51>>0]|0; + $54 = ($50<<24>>24)==($53<<24>>24); + if (!($54)) { + break L26; + } + $55 = ($$1180224|0)==($$1176$ph$ph235|0); + $46 = (($$1180224) + 1)|0; + if ($55) { + break; + } + $45 = (($46) + ($$1184$ph196229))|0; + $47 = ($45>>>0)<($7>>>0); + if ($47) { + $$1180224 = $46;$52 = $45; + } else { + $$0175$ph$ph$lcssa220323 = $$0175$ph$ph$lcssa220;$$0185$ph$lcssa322 = $$0185$ph$lcssa;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = $$1176$ph$ph235;$$1186$ph$lcssa = $$1186$ph240; + label = 27; + break L1; + } + } + $56 = (($$1176$ph$ph235) + ($$1184$ph196229))|0; + $57 = (($56) + 1)|0; + $58 = ($57>>>0)<($7>>>0); + if ($58) { + $$1184$ph196229 = $56;$133 = $57; + } else { + $$0175$ph$ph$lcssa220323 = $$0175$ph$ph$lcssa220;$$0185$ph$lcssa322 = $$0185$ph$lcssa;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = $$1176$ph$ph235;$$1186$ph$lcssa = $$1186$ph240; + label = 27; + break L1; + } + } + $59 = ($50&255)<($53&255); + $60 = (($52) - ($$1186$ph240))|0; + if (!($59)) { + break; + } + $64 = (($52) + 1)|0; + $65 = ($64>>>0)<($7>>>0); + if ($65) { + $$1176$ph$ph235 = $60;$$1184$ph196$ph234 = $52;$134 = $64; + } else { + $$0175$ph$ph$lcssa220323 = $$0175$ph$ph$lcssa220;$$0185$ph$lcssa322 = $$0185$ph$lcssa;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = $60;$$1186$ph$lcssa = $$1186$ph240; + label = 27; + break L1; + } + } + $61 = (($$1184$ph196229) + 1)|0; + $62 = (($$1184$ph196229) + 2)|0; + $63 = ($62>>>0)<($7>>>0); + if ($63) { + $$1184$ph241 = $61;$$1186$ph240 = $$1184$ph196229;$130 = $62; + } else { + $$0175$ph$ph$lcssa220323 = $$0175$ph$ph$lcssa220;$$0185$ph$lcssa322 = $$0185$ph$lcssa;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = 1;$$1186$ph$lcssa = $$1184$ph196229; + label = 27; + break; + } + } + } else { + $$0175$ph$ph$lcssa220323 = $$0175$ph$ph$lcssa220;$$0185$ph$lcssa322 = $$0185$ph$lcssa;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = 1;$$1186$ph$lcssa = -1; + label = 27; + } + } else { + $$0175$ph$ph$lcssa220323 = 1;$$0185$ph$lcssa322 = -1;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = 1;$$1186$ph$lcssa = -1; + label = 27; + } + } + } while(0); + L36: do { + if ((label|0) == 27) { + $66 = (($$1186$ph$lcssa) + 1)|0; + $67 = (($$0185$ph$lcssa322) + 1)|0; + $68 = ($66>>>0)>($67>>>0); + $$1176$$0175 = $68 ? $$1176$ph$ph$lcssa211 : $$0175$ph$ph$lcssa220323; + $$1186$$0185 = $68 ? $$1186$ph$lcssa : $$0185$ph$lcssa322; + $69 = (($1) + ($$1176$$0175)|0); + $70 = (($$1186$$0185) + 1)|0; + $71 = (_memcmp($1,$69,$70)|0); + $72 = ($71|0)==(0); + if ($72) { + $77 = (($$0187$lcssa320321) - ($$1176$$0175))|0; + $$0168 = $77;$$3178 = $$1176$$0175; + } else { + $73 = (($$0187$lcssa320321) - ($$1186$$0185))|0; + $74 = (($73) + -1)|0; + $75 = ($$1186$$0185>>>0)>($74>>>0); + $$1186$$0185$ = $75 ? $$1186$$0185 : $74; + $76 = (($$1186$$0185$) + 1)|0; + $$0168 = 0;$$3178 = $76; + } + $78 = $$0187$lcssa320321 | 63; + $79 = (($$0187$lcssa320321) + -1)|0; + $80 = ($$0168|0)!=(0); + $81 = (($$0187$lcssa320321) - ($$3178))|0; + $$0166 = $0;$$0169 = 0;$$0170 = $0; + while(1) { + $82 = $$0170; + $83 = $$0166; + $84 = (($82) - ($83))|0; + $85 = ($84>>>0)<($$0187$lcssa320321>>>0); + do { + if ($85) { + $86 = (_memchr($$0170,0,$78)|0); + $87 = ($86|0)==(0|0); + if ($87) { + $91 = (($$0170) + ($78)|0); + $$3173 = $91; + break; + } else { + $88 = $86; + $89 = (($88) - ($83))|0; + $90 = ($89>>>0)<($$0187$lcssa320321>>>0); + if ($90) { + $$3 = 0; + break L36; + } else { + $$3173 = $86; + break; + } + } + } else { + $$3173 = $$0170; + } + } while(0); + $92 = (($$0166) + ($79)|0); + $93 = HEAP8[$92>>0]|0; + $div = ($93&255) >>> 5; + $94 = $div&255; + $95 = (($2) + ($94<<2)|0); + $96 = HEAP32[$95>>2]|0; + $97 = $93 & 31; + $98 = $97&255; + $99 = 1 << $98; + $100 = $99 & $96; + $101 = ($100|0)==(0); + L50: do { + if ($101) { + $$0169$be = 0;$$2181$sink = $$0187$lcssa320321; + } else { + $102 = $93&255; + $103 = (($3) + ($102<<2)|0); + $104 = HEAP32[$103>>2]|0; + $105 = (($$0187$lcssa320321) - ($104))|0; + $106 = ($105|0)==(0); + if (!($106)) { + $107 = ($$0169|0)!=(0); + $or$cond = $80 & $107; + $108 = ($105>>>0)<($$3178>>>0); + $or$cond190 = $or$cond & $108; + $$2181 = $or$cond190 ? $81 : $105; + $$0169$be = 0;$$2181$sink = $$2181; + break; + } + $110 = ($70>>>0)>($$0169>>>0); + $111 = $110 ? $70 : $$0169; + $112 = (($1) + ($111)|0); + $113 = HEAP8[$112>>0]|0; + $cond191222 = ($113<<24>>24)==(0); + L55: do { + if ($cond191222) { + $$4 = $70; + } else { + $$3182223 = $111;$117 = $113; + while(1) { + $114 = (($$0166) + ($$3182223)|0); + $115 = HEAP8[$114>>0]|0; + $116 = ($117<<24>>24)==($115<<24>>24); + if (!($116)) { + break; + } + $118 = (($$3182223) + 1)|0; + $119 = (($1) + ($118)|0); + $120 = HEAP8[$119>>0]|0; + $cond191 = ($120<<24>>24)==(0); + if ($cond191) { + $$4 = $70; + break L55; + } else { + $$3182223 = $118;$117 = $120; + } + } + $121 = (($$3182223) - ($$1186$$0185))|0; + $$0169$be = 0;$$2181$sink = $121; + break L50; + } + } while(0); + while(1) { + $122 = ($$4>>>0)>($$0169>>>0); + if (!($122)) { + $$3 = $$0166; + break L36; + } + $123 = (($$4) + -1)|0; + $124 = (($1) + ($123)|0); + $125 = HEAP8[$124>>0]|0; + $126 = (($$0166) + ($123)|0); + $127 = HEAP8[$126>>0]|0; + $128 = ($125<<24>>24)==($127<<24>>24); + if ($128) { + $$4 = $123; + } else { + $$0169$be = $$0168;$$2181$sink = $$3178; + break; + } + } + } + } while(0); + $109 = (($$0166) + ($$2181$sink)|0); + $$0166 = $109;$$0169 = $$0169$be;$$0170 = $$3173; + } + } + } while(0); + STACKTOP = sp;return ($$3|0); +} +function _strrchr($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = (_strlen($0)|0); + $3 = (($2) + 1)|0; + $4 = (___memrchr($0,$1,$3)|0); + return ($4|0); +} +function ___memrchr($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$0 = 0, $$09 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = $1&255; + $$09 = $2; + while(1) { + $4 = (($$09) + -1)|0; + $5 = ($$09|0)==(0); + if ($5) { + $$0 = 0; + break; + } + $6 = (($0) + ($4)|0); + $7 = HEAP8[$6>>0]|0; + $8 = ($7<<24>>24)==($3<<24>>24); + if ($8) { + $$0 = $6; + break; + } else { + $$09 = $4; + } + } + return ($$0|0); +} +function _strspn($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $$01925 = 0, $$020 = 0, $$1$lcssa = 0, $$123 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; + var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; + var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $div = 0, $div21 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $2 = sp; + ;HEAP32[$2>>2]=0|0;HEAP32[$2+4>>2]=0|0;HEAP32[$2+8>>2]=0|0;HEAP32[$2+12>>2]=0|0;HEAP32[$2+16>>2]=0|0;HEAP32[$2+20>>2]=0|0;HEAP32[$2+24>>2]=0|0;HEAP32[$2+28>>2]=0|0; + $3 = HEAP8[$1>>0]|0; + $4 = ($3<<24>>24)==(0); + do { + if ($4) { + $$0 = 0; + } else { + $5 = ((($1)) + 1|0); + $6 = HEAP8[$5>>0]|0; + $7 = ($6<<24>>24)==(0); + if ($7) { + $$020 = $0; + while(1) { + $8 = HEAP8[$$020>>0]|0; + $9 = ($8<<24>>24)==($3<<24>>24); + $10 = ((($$020)) + 1|0); + if ($9) { + $$020 = $10; + } else { + break; + } + } + $11 = $$020; + $12 = $0; + $13 = (($11) - ($12))|0; + $$0 = $13; + break; + } else { + $$01925 = $1;$17 = $3; + } + while(1) { + $16 = $17 & 31; + $18 = $16&255; + $19 = 1 << $18; + $div21 = ($17&255) >>> 5; + $20 = $div21&255; + $21 = (($2) + ($20<<2)|0); + $22 = HEAP32[$21>>2]|0; + $23 = $22 | $19; + HEAP32[$21>>2] = $23; + $24 = ((($$01925)) + 1|0); + $25 = HEAP8[$24>>0]|0; + $26 = ($25<<24>>24)==(0); + if ($26) { + break; + } else { + $$01925 = $24;$17 = $25; + } + } + $14 = HEAP8[$0>>0]|0; + $15 = ($14<<24>>24)==(0); + L10: do { + if ($15) { + $$1$lcssa = $0; + } else { + $$123 = $0;$27 = $14; + while(1) { + $div = ($27&255) >>> 5; + $28 = $div&255; + $29 = (($2) + ($28<<2)|0); + $30 = HEAP32[$29>>2]|0; + $31 = $27 & 31; + $32 = $31&255; + $33 = 1 << $32; + $34 = $30 & $33; + $35 = ($34|0)==(0); + if ($35) { + $$1$lcssa = $$123; + break L10; + } + $36 = ((($$123)) + 1|0); + $37 = HEAP8[$36>>0]|0; + $38 = ($37<<24>>24)==(0); + if ($38) { + $$1$lcssa = $36; + break; + } else { + $$123 = $36;$27 = $37; + } + } + } + } while(0); + $39 = $$1$lcssa; + $40 = $0; + $41 = (($39) - ($40))|0; + $$0 = $41; + } + } while(0); + STACKTOP = sp;return ($$0|0); +} +function _srand($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (($0) + -1)|0; + $2 = 24872; + $3 = $2; + HEAP32[$3>>2] = $1; + $4 = (($2) + 4)|0; + $5 = $4; + HEAP32[$5>>2] = 0; + return; +} +function _fgetc($0) { + $0 = $0|0; + var $$0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0; + var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 76|0); + $2 = HEAP32[$1>>2]|0; + $3 = ($2|0)<(0); + if ($3) { + label = 3; + } else { + $4 = (___lockfile($0)|0); + $5 = ($4|0)==(0); + if ($5) { + label = 3; + } else { + $15 = ((($0)) + 4|0); + $16 = HEAP32[$15>>2]|0; + $17 = ((($0)) + 8|0); + $18 = HEAP32[$17>>2]|0; + $19 = ($16>>>0)<($18>>>0); + if ($19) { + $20 = ((($16)) + 1|0); + HEAP32[$15>>2] = $20; + $21 = HEAP8[$16>>0]|0; + $22 = $21&255; + $24 = $22; + } else { + $23 = (___uflow($0)|0); + $24 = $23; + } + ___unlockfile($0); + $$0 = $24; + } + } + do { + if ((label|0) == 3) { + $6 = ((($0)) + 4|0); + $7 = HEAP32[$6>>2]|0; + $8 = ((($0)) + 8|0); + $9 = HEAP32[$8>>2]|0; + $10 = ($7>>>0)<($9>>>0); + if ($10) { + $11 = ((($7)) + 1|0); + HEAP32[$6>>2] = $11; + $12 = HEAP8[$7>>0]|0; + $13 = $12&255; + $$0 = $13; + break; + } else { + $14 = (___uflow($0)|0); + $$0 = $14; + break; + } + } + } while(0); + return ($$0|0); +} +function ___ftello($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $phitmp = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 76|0); + $2 = HEAP32[$1>>2]|0; + $3 = ($2|0)>(-1); + if ($3) { + $5 = (___lockfile($0)|0); + $phitmp = ($5|0)==(0); + $6 = (___ftello_unlocked($0)|0); + if ($phitmp) { + $7 = $6; + } else { + ___unlockfile($0); + $7 = $6; + } + } else { + $4 = (___ftello_unlocked($0)|0); + $7 = $4; + } + return ($7|0); +} +function ___ftello_unlocked($0) { + $0 = $0|0; + var $$0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $3 = 0; + var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $phitmp = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 40|0); + $2 = HEAP32[$1>>2]|0; + $3 = HEAP32[$0>>2]|0; + $4 = $3 & 128; + $5 = ($4|0)==(0); + if ($5) { + $11 = 1; + } else { + $6 = ((($0)) + 20|0); + $7 = HEAP32[$6>>2]|0; + $8 = ((($0)) + 28|0); + $9 = HEAP32[$8>>2]|0; + $10 = ($7>>>0)>($9>>>0); + $phitmp = $10 ? 2 : 1; + $11 = $phitmp; + } + $12 = (FUNCTION_TABLE_iiii[$2 & 15]($0,0,$11)|0); + $13 = ($12|0)<(0); + if ($13) { + $$0 = $12; + } else { + $14 = ((($0)) + 8|0); + $15 = HEAP32[$14>>2]|0; + $16 = ((($0)) + 4|0); + $17 = HEAP32[$16>>2]|0; + $18 = ((($0)) + 20|0); + $19 = HEAP32[$18>>2]|0; + $20 = ((($0)) + 28|0); + $21 = HEAP32[$20>>2]|0; + $22 = (($12) - ($15))|0; + $23 = (($22) + ($17))|0; + $24 = (($23) + ($19))|0; + $25 = (($24) - ($21))|0; + $$0 = $25; + } + return ($$0|0); +} +function _fread($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$ = 0, $$0 = 0, $$054$ph = 0, $$05460 = 0, $$056$ph = 0, $$05659 = 0, $$57 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0; + var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; + var $42 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $4 = Math_imul($2, $1)|0; + $5 = ($1|0)==(0); + $$ = $5 ? 0 : $2; + $6 = ((($3)) + 76|0); + $7 = HEAP32[$6>>2]|0; + $8 = ($7|0)>(-1); + if ($8) { + $9 = (___lockfile($3)|0); + $36 = $9; + } else { + $36 = 0; + } + $10 = ((($3)) + 74|0); + $11 = HEAP8[$10>>0]|0; + $12 = $11 << 24 >> 24; + $13 = (($12) + 255)|0; + $14 = $13 | $12; + $15 = $14&255; + HEAP8[$10>>0] = $15; + $16 = ((($3)) + 8|0); + $17 = HEAP32[$16>>2]|0; + $18 = ((($3)) + 4|0); + $19 = HEAP32[$18>>2]|0; + $20 = $19; + $21 = (($17) - ($20))|0; + $22 = ($21|0)>(0); + $23 = ($21>>>0)<($4>>>0); + $$57 = $23 ? $21 : $4; + if ($22) { + $24 = (($4) - ($$57))|0; + $25 = (($0) + ($$57)|0); + _memcpy(($0|0),($19|0),($$57|0))|0; + $26 = (($19) + ($$57)|0); + HEAP32[$18>>2] = $26; + $$054$ph = $24;$$056$ph = $25; + } else { + $$054$ph = $4;$$056$ph = $0; + } + $27 = ($$054$ph|0)==(0); + L7: do { + if ($27) { + label = 13; + } else { + $28 = ((($3)) + 32|0); + $$05460 = $$054$ph;$$05659 = $$056$ph; + while(1) { + $29 = (___toread($3)|0); + $30 = ($29|0)==(0); + if (!($30)) { + break; + } + $31 = HEAP32[$28>>2]|0; + $32 = (FUNCTION_TABLE_iiii[$31 & 15]($3,$$05659,$$05460)|0); + $33 = (($32) + 1)|0; + $34 = ($33>>>0)<(2); + if ($34) { + break; + } + $39 = (($$05460) - ($32))|0; + $40 = (($$05659) + ($32)|0); + $41 = ($39|0)==(0); + if ($41) { + label = 13; + break L7; + } else { + $$05460 = $39;$$05659 = $40; + } + } + $35 = ($36|0)==(0); + if (!($35)) { + ___unlockfile($3); + } + $37 = (($4) - ($$05460))|0; + $38 = (($37>>>0) / ($1>>>0))&-1; + $$0 = $38; + } + } while(0); + if ((label|0) == 13) { + $42 = ($36|0)==(0); + if ($42) { + $$0 = $$; + } else { + ___unlockfile($3); + $$0 = $$; + } + } + return ($$0|0); +} +function _ftell($0) { + $0 = $0|0; + var $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (___ftello($0)|0); + return ($1|0); +} +function _rewind($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $phitmp = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 76|0); + $2 = HEAP32[$1>>2]|0; + $3 = ($2|0)>(-1); + if ($3) { + $4 = (___lockfile($0)|0); + $phitmp = ($4|0)==(0); + (___fseeko_unlocked($0,0,0)|0); + $5 = HEAP32[$0>>2]|0; + $6 = $5 & -33; + HEAP32[$0>>2] = $6; + if (!($phitmp)) { + ___unlockfile($0); + } + } else { + (___fseeko_unlocked($0,0,0)|0); + $7 = HEAP32[$0>>2]|0; + $8 = $7 & -33; + HEAP32[$0>>2] = $8; + } + return; +} +function _vprintf($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = HEAP32[1344]|0; + $3 = (_vfprintf($2,$0,$1)|0); + return ($3|0); +} +function _strcspn($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$01824 = 0, $$019$sink = 0, $$01922 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; + var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $div = 0; + var $div20 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $2 = sp; + $3 = HEAP8[$1>>0]|0; + $4 = ($3<<24>>24)==(0); + L1: do { + if ($4) { + label = 3; + } else { + $5 = ((($1)) + 1|0); + $6 = HEAP8[$5>>0]|0; + $7 = ($6<<24>>24)==(0); + if ($7) { + label = 3; + } else { + ;HEAP32[$2>>2]=0|0;HEAP32[$2+4>>2]=0|0;HEAP32[$2+8>>2]=0|0;HEAP32[$2+12>>2]=0|0;HEAP32[$2+16>>2]=0|0;HEAP32[$2+20>>2]=0|0;HEAP32[$2+24>>2]=0|0;HEAP32[$2+28>>2]=0|0; + $$01824 = $1;$13 = $3; + while(1) { + $12 = $13 & 31; + $14 = $12&255; + $15 = 1 << $14; + $div20 = ($13&255) >>> 5; + $16 = $div20&255; + $17 = (($2) + ($16<<2)|0); + $18 = HEAP32[$17>>2]|0; + $19 = $18 | $15; + HEAP32[$17>>2] = $19; + $20 = ((($$01824)) + 1|0); + $21 = HEAP8[$20>>0]|0; + $22 = ($21<<24>>24)==(0); + if ($22) { + break; + } else { + $$01824 = $20;$13 = $21; + } + } + $10 = HEAP8[$0>>0]|0; + $11 = ($10<<24>>24)==(0); + if ($11) { + $$019$sink = $0; + } else { + $$01922 = $0;$23 = $10; + while(1) { + $div = ($23&255) >>> 5; + $24 = $div&255; + $25 = (($2) + ($24<<2)|0); + $26 = HEAP32[$25>>2]|0; + $27 = $23 & 31; + $28 = $27&255; + $29 = 1 << $28; + $30 = $26 & $29; + $31 = ($30|0)==(0); + if (!($31)) { + $$019$sink = $$01922; + break L1; + } + $32 = ((($$01922)) + 1|0); + $33 = HEAP8[$32>>0]|0; + $34 = ($33<<24>>24)==(0); + if ($34) { + $$019$sink = $32; + break; + } else { + $$01922 = $32;$23 = $33; + } + } + } + } + } + } while(0); + if ((label|0) == 3) { + $8 = $3 << 24 >> 24; + $9 = (___strchrnul($0,$8)|0); + $$019$sink = $9; + } + $35 = $$019$sink; + $36 = $0; + $37 = (($35) - ($36))|0; + STACKTOP = sp;return ($37|0); +} +function _strcat($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = (_strlen($0)|0); + $3 = (($0) + ($2)|0); + (_strcpy($3,$1)|0); + return ($0|0); +} +function _strncat($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$0$lcssa = 0, $$01013 = 0, $$01112 = 0, $$014 = 0, $10 = 0, $11 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = (_strlen($0)|0); + $4 = (($0) + ($3)|0); + $5 = ($2|0)==(0); + L1: do { + if ($5) { + $$0$lcssa = $4; + } else { + $$01013 = $2;$$01112 = $1;$$014 = $4; + while(1) { + $6 = HEAP8[$$01112>>0]|0; + $7 = ($6<<24>>24)==(0); + if ($7) { + $$0$lcssa = $$014; + break L1; + } + $8 = (($$01013) + -1)|0; + $9 = ((($$01112)) + 1|0); + $10 = ((($$014)) + 1|0); + HEAP8[$$014>>0] = $6; + $11 = ($8|0)==(0); + if ($11) { + $$0$lcssa = $10; + break; + } else { + $$01013 = $8;$$01112 = $9;$$014 = $10; + } + } + } + } while(0); + HEAP8[$$0$lcssa>>0] = 0; + return ($0|0); +} +function _strtok($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $$010 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ($0|0)==(0|0); + if ($2) { + $3 = HEAP32[7208]|0; + $4 = ($3|0)==(0|0); + if ($4) { + $$0 = 0; + } else { + $$010 = $3; + label = 3; + } + } else { + $$010 = $0; + label = 3; + } + do { + if ((label|0) == 3) { + $5 = (_strspn($$010,$1)|0); + $6 = (($$010) + ($5)|0); + $7 = HEAP8[$6>>0]|0; + $8 = ($7<<24>>24)==(0); + if ($8) { + HEAP32[7208] = 0; + $$0 = 0; + break; + } + $9 = (_strcspn($6,$1)|0); + $10 = (($6) + ($9)|0); + HEAP32[7208] = $10; + $11 = HEAP8[$10>>0]|0; + $12 = ($11<<24>>24)==(0); + if ($12) { + HEAP32[7208] = 0; + $$0 = $6; + break; + } else { + $13 = ((($10)) + 1|0); + HEAP32[7208] = $13; + HEAP8[$10>>0] = 0; + $$0 = $6; + break; + } + } + } while(0); + return ($$0|0); +} +function _malloc($0) { + $0 = $0|0; + var $$$0192$i = 0, $$$0193$i = 0, $$$4236$i = 0, $$$4351$i = 0, $$$i = 0, $$0 = 0, $$0$i$i = 0, $$0$i$i$i = 0, $$0$i18$i = 0, $$01$i$i = 0, $$0189$i = 0, $$0192$lcssa$i = 0, $$01928$i = 0, $$0193$lcssa$i = 0, $$01937$i = 0, $$0197 = 0, $$0199 = 0, $$0206$i$i = 0, $$0207$i$i = 0, $$0211$i$i = 0; + var $$0212$i$i = 0, $$024371$i = 0, $$0287$i$i = 0, $$0288$i$i = 0, $$0289$i$i = 0, $$0295$i$i = 0, $$0296$i$i = 0, $$0342$i = 0, $$0344$i = 0, $$0345$i = 0, $$0347$i = 0, $$0353$i = 0, $$0358$i = 0, $$0359$$i = 0, $$0359$i = 0, $$0361$i = 0, $$0362$i = 0, $$0368$i = 0, $$1196$i = 0, $$1198$i = 0; + var $$124470$i = 0, $$1291$i$i = 0, $$1293$i$i = 0, $$1343$i = 0, $$1348$i = 0, $$1363$i = 0, $$1370$i = 0, $$1374$i = 0, $$2234253237$i = 0, $$2247$ph$i = 0, $$2253$ph$i = 0, $$2355$i = 0, $$3$i = 0, $$3$i$i = 0, $$3$i201 = 0, $$3350$i = 0, $$3372$i = 0, $$4$lcssa$i = 0, $$4$ph$i = 0, $$415$i = 0; + var $$4236$i = 0, $$4351$lcssa$i = 0, $$435114$i = 0, $$4357$$4$i = 0, $$4357$ph$i = 0, $$435713$i = 0, $$723948$i = 0, $$749$i = 0, $$pre = 0, $$pre$i = 0, $$pre$i$i = 0, $$pre$i19$i = 0, $$pre$i210 = 0, $$pre$i212 = 0, $$pre$phi$i$iZ2D = 0, $$pre$phi$i20$iZ2D = 0, $$pre$phi$i211Z2D = 0, $$pre$phi$iZ2D = 0, $$pre$phi11$i$iZ2D = 0, $$pre$phiZ2D = 0; + var $$pre10$i$i = 0, $$sink1$i = 0, $$sink1$i$i = 0, $$sink16$i = 0, $$sink2$i = 0, $$sink2$i204 = 0, $$sink3$i = 0, $1 = 0, $10 = 0, $100 = 0, $1000 = 0, $1001 = 0, $1002 = 0, $1003 = 0, $1004 = 0, $1005 = 0, $1006 = 0, $1007 = 0, $1008 = 0, $1009 = 0; + var $101 = 0, $1010 = 0, $1011 = 0, $1012 = 0, $1013 = 0, $1014 = 0, $1015 = 0, $1016 = 0, $1017 = 0, $1018 = 0, $1019 = 0, $102 = 0, $1020 = 0, $1021 = 0, $1022 = 0, $1023 = 0, $1024 = 0, $1025 = 0, $1026 = 0, $1027 = 0; + var $1028 = 0, $1029 = 0, $103 = 0, $1030 = 0, $1031 = 0, $1032 = 0, $1033 = 0, $1034 = 0, $1035 = 0, $1036 = 0, $1037 = 0, $1038 = 0, $1039 = 0, $104 = 0, $1040 = 0, $1041 = 0, $1042 = 0, $1043 = 0, $1044 = 0, $1045 = 0; + var $1046 = 0, $1047 = 0, $1048 = 0, $1049 = 0, $105 = 0, $1050 = 0, $1051 = 0, $1052 = 0, $1053 = 0, $1054 = 0, $1055 = 0, $1056 = 0, $1057 = 0, $1058 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0; + var $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0; + var $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0; + var $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0; + var $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0; + var $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0; + var $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0; + var $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0; + var $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0; + var $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0; + var $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0; + var $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0; + var $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0; + var $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0; + var $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0; + var $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0; + var $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0; + var $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0; + var $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0; + var $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0; + var $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0; + var $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0; + var $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0; + var $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0; + var $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0, $531 = 0, $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0; + var $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0, $549 = 0, $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0, $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0; + var $562 = 0, $563 = 0, $564 = 0, $565 = 0, $566 = 0, $567 = 0, $568 = 0, $569 = 0, $57 = 0, $570 = 0, $571 = 0, $572 = 0, $573 = 0, $574 = 0, $575 = 0, $576 = 0, $577 = 0, $578 = 0, $579 = 0, $58 = 0; + var $580 = 0, $581 = 0, $582 = 0, $583 = 0, $584 = 0, $585 = 0, $586 = 0, $587 = 0, $588 = 0, $589 = 0, $59 = 0, $590 = 0, $591 = 0, $592 = 0, $593 = 0, $594 = 0, $595 = 0, $596 = 0, $597 = 0, $598 = 0; + var $599 = 0, $6 = 0, $60 = 0, $600 = 0, $601 = 0, $602 = 0, $603 = 0, $604 = 0, $605 = 0, $606 = 0, $607 = 0, $608 = 0, $609 = 0, $61 = 0, $610 = 0, $611 = 0, $612 = 0, $613 = 0, $614 = 0, $615 = 0; + var $616 = 0, $617 = 0, $618 = 0, $619 = 0, $62 = 0, $620 = 0, $621 = 0, $622 = 0, $623 = 0, $624 = 0, $625 = 0, $626 = 0, $627 = 0, $628 = 0, $629 = 0, $63 = 0, $630 = 0, $631 = 0, $632 = 0, $633 = 0; + var $634 = 0, $635 = 0, $636 = 0, $637 = 0, $638 = 0, $639 = 0, $64 = 0, $640 = 0, $641 = 0, $642 = 0, $643 = 0, $644 = 0, $645 = 0, $646 = 0, $647 = 0, $648 = 0, $649 = 0, $65 = 0, $650 = 0, $651 = 0; + var $652 = 0, $653 = 0, $654 = 0, $655 = 0, $656 = 0, $657 = 0, $658 = 0, $659 = 0, $66 = 0, $660 = 0, $661 = 0, $662 = 0, $663 = 0, $664 = 0, $665 = 0, $666 = 0, $667 = 0, $668 = 0, $669 = 0, $67 = 0; + var $670 = 0, $671 = 0, $672 = 0, $673 = 0, $674 = 0, $675 = 0, $676 = 0, $677 = 0, $678 = 0, $679 = 0, $68 = 0, $680 = 0, $681 = 0, $682 = 0, $683 = 0, $684 = 0, $685 = 0, $686 = 0, $687 = 0, $688 = 0; + var $689 = 0, $69 = 0, $690 = 0, $691 = 0, $692 = 0, $693 = 0, $694 = 0, $695 = 0, $696 = 0, $697 = 0, $698 = 0, $699 = 0, $7 = 0, $70 = 0, $700 = 0, $701 = 0, $702 = 0, $703 = 0, $704 = 0, $705 = 0; + var $706 = 0, $707 = 0, $708 = 0, $709 = 0, $71 = 0, $710 = 0, $711 = 0, $712 = 0, $713 = 0, $714 = 0, $715 = 0, $716 = 0, $717 = 0, $718 = 0, $719 = 0, $72 = 0, $720 = 0, $721 = 0, $722 = 0, $723 = 0; + var $724 = 0, $725 = 0, $726 = 0, $727 = 0, $728 = 0, $729 = 0, $73 = 0, $730 = 0, $731 = 0, $732 = 0, $733 = 0, $734 = 0, $735 = 0, $736 = 0, $737 = 0, $738 = 0, $739 = 0, $74 = 0, $740 = 0, $741 = 0; + var $742 = 0, $743 = 0, $744 = 0, $745 = 0, $746 = 0, $747 = 0, $748 = 0, $749 = 0, $75 = 0, $750 = 0, $751 = 0, $752 = 0, $753 = 0, $754 = 0, $755 = 0, $756 = 0, $757 = 0, $758 = 0, $759 = 0, $76 = 0; + var $760 = 0, $761 = 0, $762 = 0, $763 = 0, $764 = 0, $765 = 0, $766 = 0, $767 = 0, $768 = 0, $769 = 0, $77 = 0, $770 = 0, $771 = 0, $772 = 0, $773 = 0, $774 = 0, $775 = 0, $776 = 0, $777 = 0, $778 = 0; + var $779 = 0, $78 = 0, $780 = 0, $781 = 0, $782 = 0, $783 = 0, $784 = 0, $785 = 0, $786 = 0, $787 = 0, $788 = 0, $789 = 0, $79 = 0, $790 = 0, $791 = 0, $792 = 0, $793 = 0, $794 = 0, $795 = 0, $796 = 0; + var $797 = 0, $798 = 0, $799 = 0, $8 = 0, $80 = 0, $800 = 0, $801 = 0, $802 = 0, $803 = 0, $804 = 0, $805 = 0, $806 = 0, $807 = 0, $808 = 0, $809 = 0, $81 = 0, $810 = 0, $811 = 0, $812 = 0, $813 = 0; + var $814 = 0, $815 = 0, $816 = 0, $817 = 0, $818 = 0, $819 = 0, $82 = 0, $820 = 0, $821 = 0, $822 = 0, $823 = 0, $824 = 0, $825 = 0, $826 = 0, $827 = 0, $828 = 0, $829 = 0, $83 = 0, $830 = 0, $831 = 0; + var $832 = 0, $833 = 0, $834 = 0, $835 = 0, $836 = 0, $837 = 0, $838 = 0, $839 = 0, $84 = 0, $840 = 0, $841 = 0, $842 = 0, $843 = 0, $844 = 0, $845 = 0, $846 = 0, $847 = 0, $848 = 0, $849 = 0, $85 = 0; + var $850 = 0, $851 = 0, $852 = 0, $853 = 0, $854 = 0, $855 = 0, $856 = 0, $857 = 0, $858 = 0, $859 = 0, $86 = 0, $860 = 0, $861 = 0, $862 = 0, $863 = 0, $864 = 0, $865 = 0, $866 = 0, $867 = 0, $868 = 0; + var $869 = 0, $87 = 0, $870 = 0, $871 = 0, $872 = 0, $873 = 0, $874 = 0, $875 = 0, $876 = 0, $877 = 0, $878 = 0, $879 = 0, $88 = 0, $880 = 0, $881 = 0, $882 = 0, $883 = 0, $884 = 0, $885 = 0, $886 = 0; + var $887 = 0, $888 = 0, $889 = 0, $89 = 0, $890 = 0, $891 = 0, $892 = 0, $893 = 0, $894 = 0, $895 = 0, $896 = 0, $897 = 0, $898 = 0, $899 = 0, $9 = 0, $90 = 0, $900 = 0, $901 = 0, $902 = 0, $903 = 0; + var $904 = 0, $905 = 0, $906 = 0, $907 = 0, $908 = 0, $909 = 0, $91 = 0, $910 = 0, $911 = 0, $912 = 0, $913 = 0, $914 = 0, $915 = 0, $916 = 0, $917 = 0, $918 = 0, $919 = 0, $92 = 0, $920 = 0, $921 = 0; + var $922 = 0, $923 = 0, $924 = 0, $925 = 0, $926 = 0, $927 = 0, $928 = 0, $929 = 0, $93 = 0, $930 = 0, $931 = 0, $932 = 0, $933 = 0, $934 = 0, $935 = 0, $936 = 0, $937 = 0, $938 = 0, $939 = 0, $94 = 0; + var $940 = 0, $941 = 0, $942 = 0, $943 = 0, $944 = 0, $945 = 0, $946 = 0, $947 = 0, $948 = 0, $949 = 0, $95 = 0, $950 = 0, $951 = 0, $952 = 0, $953 = 0, $954 = 0, $955 = 0, $956 = 0, $957 = 0, $958 = 0; + var $959 = 0, $96 = 0, $960 = 0, $961 = 0, $962 = 0, $963 = 0, $964 = 0, $965 = 0, $966 = 0, $967 = 0, $968 = 0, $969 = 0, $97 = 0, $970 = 0, $971 = 0, $972 = 0, $973 = 0, $974 = 0, $975 = 0, $976 = 0; + var $977 = 0, $978 = 0, $979 = 0, $98 = 0, $980 = 0, $981 = 0, $982 = 0, $983 = 0, $984 = 0, $985 = 0, $986 = 0, $987 = 0, $988 = 0, $989 = 0, $99 = 0, $990 = 0, $991 = 0, $992 = 0, $993 = 0, $994 = 0; + var $995 = 0, $996 = 0, $997 = 0, $998 = 0, $999 = 0, $cond$i = 0, $cond$i$i = 0, $cond$i208 = 0, $exitcond$i$i = 0, $not$$i = 0, $not$$i$i = 0, $not$$i17$i = 0, $not$$i209 = 0, $not$$i216 = 0, $not$1$i = 0, $not$1$i203 = 0, $not$5$i = 0, $not$7$i$i = 0, $not$8$i = 0, $not$9$i = 0; + var $or$cond$i = 0, $or$cond$i214 = 0, $or$cond1$i = 0, $or$cond10$i = 0, $or$cond11$i = 0, $or$cond11$not$i = 0, $or$cond12$i = 0, $or$cond2$i = 0, $or$cond2$i215 = 0, $or$cond5$i = 0, $or$cond50$i = 0, $or$cond51$i = 0, $or$cond7$i = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $1 = sp; + $2 = ($0>>>0)<(245); + do { + if ($2) { + $3 = ($0>>>0)<(11); + $4 = (($0) + 11)|0; + $5 = $4 & -8; + $6 = $3 ? 16 : $5; + $7 = $6 >>> 3; + $8 = HEAP32[7209]|0; + $9 = $8 >>> $7; + $10 = $9 & 3; + $11 = ($10|0)==(0); + if (!($11)) { + $12 = $9 & 1; + $13 = $12 ^ 1; + $14 = (($13) + ($7))|0; + $15 = $14 << 1; + $16 = (28876 + ($15<<2)|0); + $17 = ((($16)) + 8|0); + $18 = HEAP32[$17>>2]|0; + $19 = ((($18)) + 8|0); + $20 = HEAP32[$19>>2]|0; + $21 = ($16|0)==($20|0); + do { + if ($21) { + $22 = 1 << $14; + $23 = $22 ^ -1; + $24 = $8 & $23; + HEAP32[7209] = $24; + } else { + $25 = HEAP32[(28852)>>2]|0; + $26 = ($20>>>0)<($25>>>0); + if ($26) { + _abort(); + // unreachable; + } + $27 = ((($20)) + 12|0); + $28 = HEAP32[$27>>2]|0; + $29 = ($28|0)==($18|0); + if ($29) { + HEAP32[$27>>2] = $16; + HEAP32[$17>>2] = $20; + break; + } else { + _abort(); + // unreachable; + } + } + } while(0); + $30 = $14 << 3; + $31 = $30 | 3; + $32 = ((($18)) + 4|0); + HEAP32[$32>>2] = $31; + $33 = (($18) + ($30)|0); + $34 = ((($33)) + 4|0); + $35 = HEAP32[$34>>2]|0; + $36 = $35 | 1; + HEAP32[$34>>2] = $36; + $$0 = $19; + STACKTOP = sp;return ($$0|0); + } + $37 = HEAP32[(28844)>>2]|0; + $38 = ($6>>>0)>($37>>>0); + if ($38) { + $39 = ($9|0)==(0); + if (!($39)) { + $40 = $9 << $7; + $41 = 2 << $7; + $42 = (0 - ($41))|0; + $43 = $41 | $42; + $44 = $40 & $43; + $45 = (0 - ($44))|0; + $46 = $44 & $45; + $47 = (($46) + -1)|0; + $48 = $47 >>> 12; + $49 = $48 & 16; + $50 = $47 >>> $49; + $51 = $50 >>> 5; + $52 = $51 & 8; + $53 = $52 | $49; + $54 = $50 >>> $52; + $55 = $54 >>> 2; + $56 = $55 & 4; + $57 = $53 | $56; + $58 = $54 >>> $56; + $59 = $58 >>> 1; + $60 = $59 & 2; + $61 = $57 | $60; + $62 = $58 >>> $60; + $63 = $62 >>> 1; + $64 = $63 & 1; + $65 = $61 | $64; + $66 = $62 >>> $64; + $67 = (($65) + ($66))|0; + $68 = $67 << 1; + $69 = (28876 + ($68<<2)|0); + $70 = ((($69)) + 8|0); + $71 = HEAP32[$70>>2]|0; + $72 = ((($71)) + 8|0); + $73 = HEAP32[$72>>2]|0; + $74 = ($69|0)==($73|0); + do { + if ($74) { + $75 = 1 << $67; + $76 = $75 ^ -1; + $77 = $8 & $76; + HEAP32[7209] = $77; + $98 = $77; + } else { + $78 = HEAP32[(28852)>>2]|0; + $79 = ($73>>>0)<($78>>>0); + if ($79) { + _abort(); + // unreachable; + } + $80 = ((($73)) + 12|0); + $81 = HEAP32[$80>>2]|0; + $82 = ($81|0)==($71|0); + if ($82) { + HEAP32[$80>>2] = $69; + HEAP32[$70>>2] = $73; + $98 = $8; + break; + } else { + _abort(); + // unreachable; + } + } + } while(0); + $83 = $67 << 3; + $84 = (($83) - ($6))|0; + $85 = $6 | 3; + $86 = ((($71)) + 4|0); + HEAP32[$86>>2] = $85; + $87 = (($71) + ($6)|0); + $88 = $84 | 1; + $89 = ((($87)) + 4|0); + HEAP32[$89>>2] = $88; + $90 = (($87) + ($84)|0); + HEAP32[$90>>2] = $84; + $91 = ($37|0)==(0); + if (!($91)) { + $92 = HEAP32[(28856)>>2]|0; + $93 = $37 >>> 3; + $94 = $93 << 1; + $95 = (28876 + ($94<<2)|0); + $96 = 1 << $93; + $97 = $98 & $96; + $99 = ($97|0)==(0); + if ($99) { + $100 = $98 | $96; + HEAP32[7209] = $100; + $$pre = ((($95)) + 8|0); + $$0199 = $95;$$pre$phiZ2D = $$pre; + } else { + $101 = ((($95)) + 8|0); + $102 = HEAP32[$101>>2]|0; + $103 = HEAP32[(28852)>>2]|0; + $104 = ($102>>>0)<($103>>>0); + if ($104) { + _abort(); + // unreachable; + } else { + $$0199 = $102;$$pre$phiZ2D = $101; + } + } + HEAP32[$$pre$phiZ2D>>2] = $92; + $105 = ((($$0199)) + 12|0); + HEAP32[$105>>2] = $92; + $106 = ((($92)) + 8|0); + HEAP32[$106>>2] = $$0199; + $107 = ((($92)) + 12|0); + HEAP32[$107>>2] = $95; + } + HEAP32[(28844)>>2] = $84; + HEAP32[(28856)>>2] = $87; + $$0 = $72; + STACKTOP = sp;return ($$0|0); + } + $108 = HEAP32[(28840)>>2]|0; + $109 = ($108|0)==(0); + if ($109) { + $$0197 = $6; + } else { + $110 = (0 - ($108))|0; + $111 = $108 & $110; + $112 = (($111) + -1)|0; + $113 = $112 >>> 12; + $114 = $113 & 16; + $115 = $112 >>> $114; + $116 = $115 >>> 5; + $117 = $116 & 8; + $118 = $117 | $114; + $119 = $115 >>> $117; + $120 = $119 >>> 2; + $121 = $120 & 4; + $122 = $118 | $121; + $123 = $119 >>> $121; + $124 = $123 >>> 1; + $125 = $124 & 2; + $126 = $122 | $125; + $127 = $123 >>> $125; + $128 = $127 >>> 1; + $129 = $128 & 1; + $130 = $126 | $129; + $131 = $127 >>> $129; + $132 = (($130) + ($131))|0; + $133 = (29140 + ($132<<2)|0); + $134 = HEAP32[$133>>2]|0; + $135 = ((($134)) + 4|0); + $136 = HEAP32[$135>>2]|0; + $137 = $136 & -8; + $138 = (($137) - ($6))|0; + $139 = ((($134)) + 16|0); + $140 = HEAP32[$139>>2]|0; + $not$5$i = ($140|0)==(0|0); + $$sink16$i = $not$5$i&1; + $141 = (((($134)) + 16|0) + ($$sink16$i<<2)|0); + $142 = HEAP32[$141>>2]|0; + $143 = ($142|0)==(0|0); + if ($143) { + $$0192$lcssa$i = $134;$$0193$lcssa$i = $138; + } else { + $$01928$i = $134;$$01937$i = $138;$145 = $142; + while(1) { + $144 = ((($145)) + 4|0); + $146 = HEAP32[$144>>2]|0; + $147 = $146 & -8; + $148 = (($147) - ($6))|0; + $149 = ($148>>>0)<($$01937$i>>>0); + $$$0193$i = $149 ? $148 : $$01937$i; + $$$0192$i = $149 ? $145 : $$01928$i; + $150 = ((($145)) + 16|0); + $151 = HEAP32[$150>>2]|0; + $not$$i = ($151|0)==(0|0); + $$sink1$i = $not$$i&1; + $152 = (((($145)) + 16|0) + ($$sink1$i<<2)|0); + $153 = HEAP32[$152>>2]|0; + $154 = ($153|0)==(0|0); + if ($154) { + $$0192$lcssa$i = $$$0192$i;$$0193$lcssa$i = $$$0193$i; + break; + } else { + $$01928$i = $$$0192$i;$$01937$i = $$$0193$i;$145 = $153; + } + } + } + $155 = HEAP32[(28852)>>2]|0; + $156 = ($$0192$lcssa$i>>>0)<($155>>>0); + if ($156) { + _abort(); + // unreachable; + } + $157 = (($$0192$lcssa$i) + ($6)|0); + $158 = ($$0192$lcssa$i>>>0)<($157>>>0); + if (!($158)) { + _abort(); + // unreachable; + } + $159 = ((($$0192$lcssa$i)) + 24|0); + $160 = HEAP32[$159>>2]|0; + $161 = ((($$0192$lcssa$i)) + 12|0); + $162 = HEAP32[$161>>2]|0; + $163 = ($162|0)==($$0192$lcssa$i|0); + do { + if ($163) { + $173 = ((($$0192$lcssa$i)) + 20|0); + $174 = HEAP32[$173>>2]|0; + $175 = ($174|0)==(0|0); + if ($175) { + $176 = ((($$0192$lcssa$i)) + 16|0); + $177 = HEAP32[$176>>2]|0; + $178 = ($177|0)==(0|0); + if ($178) { + $$3$i = 0; + break; + } else { + $$1196$i = $177;$$1198$i = $176; + } + } else { + $$1196$i = $174;$$1198$i = $173; + } + while(1) { + $179 = ((($$1196$i)) + 20|0); + $180 = HEAP32[$179>>2]|0; + $181 = ($180|0)==(0|0); + if (!($181)) { + $$1196$i = $180;$$1198$i = $179; + continue; + } + $182 = ((($$1196$i)) + 16|0); + $183 = HEAP32[$182>>2]|0; + $184 = ($183|0)==(0|0); + if ($184) { + break; + } else { + $$1196$i = $183;$$1198$i = $182; + } + } + $185 = ($$1198$i>>>0)<($155>>>0); + if ($185) { + _abort(); + // unreachable; + } else { + HEAP32[$$1198$i>>2] = 0; + $$3$i = $$1196$i; + break; + } + } else { + $164 = ((($$0192$lcssa$i)) + 8|0); + $165 = HEAP32[$164>>2]|0; + $166 = ($165>>>0)<($155>>>0); + if ($166) { + _abort(); + // unreachable; + } + $167 = ((($165)) + 12|0); + $168 = HEAP32[$167>>2]|0; + $169 = ($168|0)==($$0192$lcssa$i|0); + if (!($169)) { + _abort(); + // unreachable; + } + $170 = ((($162)) + 8|0); + $171 = HEAP32[$170>>2]|0; + $172 = ($171|0)==($$0192$lcssa$i|0); + if ($172) { + HEAP32[$167>>2] = $162; + HEAP32[$170>>2] = $165; + $$3$i = $162; + break; + } else { + _abort(); + // unreachable; + } + } + } while(0); + $186 = ($160|0)==(0|0); + L73: do { + if (!($186)) { + $187 = ((($$0192$lcssa$i)) + 28|0); + $188 = HEAP32[$187>>2]|0; + $189 = (29140 + ($188<<2)|0); + $190 = HEAP32[$189>>2]|0; + $191 = ($$0192$lcssa$i|0)==($190|0); + do { + if ($191) { + HEAP32[$189>>2] = $$3$i; + $cond$i = ($$3$i|0)==(0|0); + if ($cond$i) { + $192 = 1 << $188; + $193 = $192 ^ -1; + $194 = $108 & $193; + HEAP32[(28840)>>2] = $194; + break L73; + } + } else { + $195 = HEAP32[(28852)>>2]|0; + $196 = ($160>>>0)<($195>>>0); + if ($196) { + _abort(); + // unreachable; + } else { + $197 = ((($160)) + 16|0); + $198 = HEAP32[$197>>2]|0; + $not$1$i = ($198|0)!=($$0192$lcssa$i|0); + $$sink2$i = $not$1$i&1; + $199 = (((($160)) + 16|0) + ($$sink2$i<<2)|0); + HEAP32[$199>>2] = $$3$i; + $200 = ($$3$i|0)==(0|0); + if ($200) { + break L73; + } else { + break; + } + } + } + } while(0); + $201 = HEAP32[(28852)>>2]|0; + $202 = ($$3$i>>>0)<($201>>>0); + if ($202) { + _abort(); + // unreachable; + } + $203 = ((($$3$i)) + 24|0); + HEAP32[$203>>2] = $160; + $204 = ((($$0192$lcssa$i)) + 16|0); + $205 = HEAP32[$204>>2]|0; + $206 = ($205|0)==(0|0); + do { + if (!($206)) { + $207 = ($205>>>0)<($201>>>0); + if ($207) { + _abort(); + // unreachable; + } else { + $208 = ((($$3$i)) + 16|0); + HEAP32[$208>>2] = $205; + $209 = ((($205)) + 24|0); + HEAP32[$209>>2] = $$3$i; + break; + } + } + } while(0); + $210 = ((($$0192$lcssa$i)) + 20|0); + $211 = HEAP32[$210>>2]|0; + $212 = ($211|0)==(0|0); + if (!($212)) { + $213 = HEAP32[(28852)>>2]|0; + $214 = ($211>>>0)<($213>>>0); + if ($214) { + _abort(); + // unreachable; + } else { + $215 = ((($$3$i)) + 20|0); + HEAP32[$215>>2] = $211; + $216 = ((($211)) + 24|0); + HEAP32[$216>>2] = $$3$i; + break; + } + } + } + } while(0); + $217 = ($$0193$lcssa$i>>>0)<(16); + if ($217) { + $218 = (($$0193$lcssa$i) + ($6))|0; + $219 = $218 | 3; + $220 = ((($$0192$lcssa$i)) + 4|0); + HEAP32[$220>>2] = $219; + $221 = (($$0192$lcssa$i) + ($218)|0); + $222 = ((($221)) + 4|0); + $223 = HEAP32[$222>>2]|0; + $224 = $223 | 1; + HEAP32[$222>>2] = $224; + } else { + $225 = $6 | 3; + $226 = ((($$0192$lcssa$i)) + 4|0); + HEAP32[$226>>2] = $225; + $227 = $$0193$lcssa$i | 1; + $228 = ((($157)) + 4|0); + HEAP32[$228>>2] = $227; + $229 = (($157) + ($$0193$lcssa$i)|0); + HEAP32[$229>>2] = $$0193$lcssa$i; + $230 = ($37|0)==(0); + if (!($230)) { + $231 = HEAP32[(28856)>>2]|0; + $232 = $37 >>> 3; + $233 = $232 << 1; + $234 = (28876 + ($233<<2)|0); + $235 = 1 << $232; + $236 = $8 & $235; + $237 = ($236|0)==(0); + if ($237) { + $238 = $8 | $235; + HEAP32[7209] = $238; + $$pre$i = ((($234)) + 8|0); + $$0189$i = $234;$$pre$phi$iZ2D = $$pre$i; + } else { + $239 = ((($234)) + 8|0); + $240 = HEAP32[$239>>2]|0; + $241 = HEAP32[(28852)>>2]|0; + $242 = ($240>>>0)<($241>>>0); + if ($242) { + _abort(); + // unreachable; + } else { + $$0189$i = $240;$$pre$phi$iZ2D = $239; + } + } + HEAP32[$$pre$phi$iZ2D>>2] = $231; + $243 = ((($$0189$i)) + 12|0); + HEAP32[$243>>2] = $231; + $244 = ((($231)) + 8|0); + HEAP32[$244>>2] = $$0189$i; + $245 = ((($231)) + 12|0); + HEAP32[$245>>2] = $234; + } + HEAP32[(28844)>>2] = $$0193$lcssa$i; + HEAP32[(28856)>>2] = $157; + } + $246 = ((($$0192$lcssa$i)) + 8|0); + $$0 = $246; + STACKTOP = sp;return ($$0|0); + } + } else { + $$0197 = $6; + } + } else { + $247 = ($0>>>0)>(4294967231); + if ($247) { + $$0197 = -1; + } else { + $248 = (($0) + 11)|0; + $249 = $248 & -8; + $250 = HEAP32[(28840)>>2]|0; + $251 = ($250|0)==(0); + if ($251) { + $$0197 = $249; + } else { + $252 = (0 - ($249))|0; + $253 = $248 >>> 8; + $254 = ($253|0)==(0); + if ($254) { + $$0358$i = 0; + } else { + $255 = ($249>>>0)>(16777215); + if ($255) { + $$0358$i = 31; + } else { + $256 = (($253) + 1048320)|0; + $257 = $256 >>> 16; + $258 = $257 & 8; + $259 = $253 << $258; + $260 = (($259) + 520192)|0; + $261 = $260 >>> 16; + $262 = $261 & 4; + $263 = $262 | $258; + $264 = $259 << $262; + $265 = (($264) + 245760)|0; + $266 = $265 >>> 16; + $267 = $266 & 2; + $268 = $263 | $267; + $269 = (14 - ($268))|0; + $270 = $264 << $267; + $271 = $270 >>> 15; + $272 = (($269) + ($271))|0; + $273 = $272 << 1; + $274 = (($272) + 7)|0; + $275 = $249 >>> $274; + $276 = $275 & 1; + $277 = $276 | $273; + $$0358$i = $277; + } + } + $278 = (29140 + ($$0358$i<<2)|0); + $279 = HEAP32[$278>>2]|0; + $280 = ($279|0)==(0|0); + L117: do { + if ($280) { + $$2355$i = 0;$$3$i201 = 0;$$3350$i = $252; + label = 81; + } else { + $281 = ($$0358$i|0)==(31); + $282 = $$0358$i >>> 1; + $283 = (25 - ($282))|0; + $284 = $281 ? 0 : $283; + $285 = $249 << $284; + $$0342$i = 0;$$0347$i = $252;$$0353$i = $279;$$0359$i = $285;$$0362$i = 0; + while(1) { + $286 = ((($$0353$i)) + 4|0); + $287 = HEAP32[$286>>2]|0; + $288 = $287 & -8; + $289 = (($288) - ($249))|0; + $290 = ($289>>>0)<($$0347$i>>>0); + if ($290) { + $291 = ($289|0)==(0); + if ($291) { + $$415$i = $$0353$i;$$435114$i = 0;$$435713$i = $$0353$i; + label = 85; + break L117; + } else { + $$1343$i = $$0353$i;$$1348$i = $289; + } + } else { + $$1343$i = $$0342$i;$$1348$i = $$0347$i; + } + $292 = ((($$0353$i)) + 20|0); + $293 = HEAP32[$292>>2]|0; + $294 = $$0359$i >>> 31; + $295 = (((($$0353$i)) + 16|0) + ($294<<2)|0); + $296 = HEAP32[$295>>2]|0; + $297 = ($293|0)==(0|0); + $298 = ($293|0)==($296|0); + $or$cond2$i = $297 | $298; + $$1363$i = $or$cond2$i ? $$0362$i : $293; + $299 = ($296|0)==(0|0); + $not$8$i = $299 ^ 1; + $300 = $not$8$i&1; + $$0359$$i = $$0359$i << $300; + if ($299) { + $$2355$i = $$1363$i;$$3$i201 = $$1343$i;$$3350$i = $$1348$i; + label = 81; + break; + } else { + $$0342$i = $$1343$i;$$0347$i = $$1348$i;$$0353$i = $296;$$0359$i = $$0359$$i;$$0362$i = $$1363$i; + } + } + } + } while(0); + if ((label|0) == 81) { + $301 = ($$2355$i|0)==(0|0); + $302 = ($$3$i201|0)==(0|0); + $or$cond$i = $301 & $302; + if ($or$cond$i) { + $303 = 2 << $$0358$i; + $304 = (0 - ($303))|0; + $305 = $303 | $304; + $306 = $250 & $305; + $307 = ($306|0)==(0); + if ($307) { + $$0197 = $249; + break; + } + $308 = (0 - ($306))|0; + $309 = $306 & $308; + $310 = (($309) + -1)|0; + $311 = $310 >>> 12; + $312 = $311 & 16; + $313 = $310 >>> $312; + $314 = $313 >>> 5; + $315 = $314 & 8; + $316 = $315 | $312; + $317 = $313 >>> $315; + $318 = $317 >>> 2; + $319 = $318 & 4; + $320 = $316 | $319; + $321 = $317 >>> $319; + $322 = $321 >>> 1; + $323 = $322 & 2; + $324 = $320 | $323; + $325 = $321 >>> $323; + $326 = $325 >>> 1; + $327 = $326 & 1; + $328 = $324 | $327; + $329 = $325 >>> $327; + $330 = (($328) + ($329))|0; + $331 = (29140 + ($330<<2)|0); + $332 = HEAP32[$331>>2]|0; + $$4$ph$i = 0;$$4357$ph$i = $332; + } else { + $$4$ph$i = $$3$i201;$$4357$ph$i = $$2355$i; + } + $333 = ($$4357$ph$i|0)==(0|0); + if ($333) { + $$4$lcssa$i = $$4$ph$i;$$4351$lcssa$i = $$3350$i; + } else { + $$415$i = $$4$ph$i;$$435114$i = $$3350$i;$$435713$i = $$4357$ph$i; + label = 85; + } + } + if ((label|0) == 85) { + while(1) { + label = 0; + $334 = ((($$435713$i)) + 4|0); + $335 = HEAP32[$334>>2]|0; + $336 = $335 & -8; + $337 = (($336) - ($249))|0; + $338 = ($337>>>0)<($$435114$i>>>0); + $$$4351$i = $338 ? $337 : $$435114$i; + $$4357$$4$i = $338 ? $$435713$i : $$415$i; + $339 = ((($$435713$i)) + 16|0); + $340 = HEAP32[$339>>2]|0; + $not$1$i203 = ($340|0)==(0|0); + $$sink2$i204 = $not$1$i203&1; + $341 = (((($$435713$i)) + 16|0) + ($$sink2$i204<<2)|0); + $342 = HEAP32[$341>>2]|0; + $343 = ($342|0)==(0|0); + if ($343) { + $$4$lcssa$i = $$4357$$4$i;$$4351$lcssa$i = $$$4351$i; + break; + } else { + $$415$i = $$4357$$4$i;$$435114$i = $$$4351$i;$$435713$i = $342; + label = 85; + } + } + } + $344 = ($$4$lcssa$i|0)==(0|0); + if ($344) { + $$0197 = $249; + } else { + $345 = HEAP32[(28844)>>2]|0; + $346 = (($345) - ($249))|0; + $347 = ($$4351$lcssa$i>>>0)<($346>>>0); + if ($347) { + $348 = HEAP32[(28852)>>2]|0; + $349 = ($$4$lcssa$i>>>0)<($348>>>0); + if ($349) { + _abort(); + // unreachable; + } + $350 = (($$4$lcssa$i) + ($249)|0); + $351 = ($$4$lcssa$i>>>0)<($350>>>0); + if (!($351)) { + _abort(); + // unreachable; + } + $352 = ((($$4$lcssa$i)) + 24|0); + $353 = HEAP32[$352>>2]|0; + $354 = ((($$4$lcssa$i)) + 12|0); + $355 = HEAP32[$354>>2]|0; + $356 = ($355|0)==($$4$lcssa$i|0); + do { + if ($356) { + $366 = ((($$4$lcssa$i)) + 20|0); + $367 = HEAP32[$366>>2]|0; + $368 = ($367|0)==(0|0); + if ($368) { + $369 = ((($$4$lcssa$i)) + 16|0); + $370 = HEAP32[$369>>2]|0; + $371 = ($370|0)==(0|0); + if ($371) { + $$3372$i = 0; + break; + } else { + $$1370$i = $370;$$1374$i = $369; + } + } else { + $$1370$i = $367;$$1374$i = $366; + } + while(1) { + $372 = ((($$1370$i)) + 20|0); + $373 = HEAP32[$372>>2]|0; + $374 = ($373|0)==(0|0); + if (!($374)) { + $$1370$i = $373;$$1374$i = $372; + continue; + } + $375 = ((($$1370$i)) + 16|0); + $376 = HEAP32[$375>>2]|0; + $377 = ($376|0)==(0|0); + if ($377) { + break; + } else { + $$1370$i = $376;$$1374$i = $375; + } + } + $378 = ($$1374$i>>>0)<($348>>>0); + if ($378) { + _abort(); + // unreachable; + } else { + HEAP32[$$1374$i>>2] = 0; + $$3372$i = $$1370$i; + break; + } + } else { + $357 = ((($$4$lcssa$i)) + 8|0); + $358 = HEAP32[$357>>2]|0; + $359 = ($358>>>0)<($348>>>0); + if ($359) { + _abort(); + // unreachable; + } + $360 = ((($358)) + 12|0); + $361 = HEAP32[$360>>2]|0; + $362 = ($361|0)==($$4$lcssa$i|0); + if (!($362)) { + _abort(); + // unreachable; + } + $363 = ((($355)) + 8|0); + $364 = HEAP32[$363>>2]|0; + $365 = ($364|0)==($$4$lcssa$i|0); + if ($365) { + HEAP32[$360>>2] = $355; + HEAP32[$363>>2] = $358; + $$3372$i = $355; + break; + } else { + _abort(); + // unreachable; + } + } + } while(0); + $379 = ($353|0)==(0|0); + L164: do { + if ($379) { + $470 = $250; + } else { + $380 = ((($$4$lcssa$i)) + 28|0); + $381 = HEAP32[$380>>2]|0; + $382 = (29140 + ($381<<2)|0); + $383 = HEAP32[$382>>2]|0; + $384 = ($$4$lcssa$i|0)==($383|0); + do { + if ($384) { + HEAP32[$382>>2] = $$3372$i; + $cond$i208 = ($$3372$i|0)==(0|0); + if ($cond$i208) { + $385 = 1 << $381; + $386 = $385 ^ -1; + $387 = $250 & $386; + HEAP32[(28840)>>2] = $387; + $470 = $387; + break L164; + } + } else { + $388 = HEAP32[(28852)>>2]|0; + $389 = ($353>>>0)<($388>>>0); + if ($389) { + _abort(); + // unreachable; + } else { + $390 = ((($353)) + 16|0); + $391 = HEAP32[$390>>2]|0; + $not$$i209 = ($391|0)!=($$4$lcssa$i|0); + $$sink3$i = $not$$i209&1; + $392 = (((($353)) + 16|0) + ($$sink3$i<<2)|0); + HEAP32[$392>>2] = $$3372$i; + $393 = ($$3372$i|0)==(0|0); + if ($393) { + $470 = $250; + break L164; + } else { + break; + } + } + } + } while(0); + $394 = HEAP32[(28852)>>2]|0; + $395 = ($$3372$i>>>0)<($394>>>0); + if ($395) { + _abort(); + // unreachable; + } + $396 = ((($$3372$i)) + 24|0); + HEAP32[$396>>2] = $353; + $397 = ((($$4$lcssa$i)) + 16|0); + $398 = HEAP32[$397>>2]|0; + $399 = ($398|0)==(0|0); + do { + if (!($399)) { + $400 = ($398>>>0)<($394>>>0); + if ($400) { + _abort(); + // unreachable; + } else { + $401 = ((($$3372$i)) + 16|0); + HEAP32[$401>>2] = $398; + $402 = ((($398)) + 24|0); + HEAP32[$402>>2] = $$3372$i; + break; + } + } + } while(0); + $403 = ((($$4$lcssa$i)) + 20|0); + $404 = HEAP32[$403>>2]|0; + $405 = ($404|0)==(0|0); + if ($405) { + $470 = $250; + } else { + $406 = HEAP32[(28852)>>2]|0; + $407 = ($404>>>0)<($406>>>0); + if ($407) { + _abort(); + // unreachable; + } else { + $408 = ((($$3372$i)) + 20|0); + HEAP32[$408>>2] = $404; + $409 = ((($404)) + 24|0); + HEAP32[$409>>2] = $$3372$i; + $470 = $250; + break; + } + } + } + } while(0); + $410 = ($$4351$lcssa$i>>>0)<(16); + do { + if ($410) { + $411 = (($$4351$lcssa$i) + ($249))|0; + $412 = $411 | 3; + $413 = ((($$4$lcssa$i)) + 4|0); + HEAP32[$413>>2] = $412; + $414 = (($$4$lcssa$i) + ($411)|0); + $415 = ((($414)) + 4|0); + $416 = HEAP32[$415>>2]|0; + $417 = $416 | 1; + HEAP32[$415>>2] = $417; + } else { + $418 = $249 | 3; + $419 = ((($$4$lcssa$i)) + 4|0); + HEAP32[$419>>2] = $418; + $420 = $$4351$lcssa$i | 1; + $421 = ((($350)) + 4|0); + HEAP32[$421>>2] = $420; + $422 = (($350) + ($$4351$lcssa$i)|0); + HEAP32[$422>>2] = $$4351$lcssa$i; + $423 = $$4351$lcssa$i >>> 3; + $424 = ($$4351$lcssa$i>>>0)<(256); + if ($424) { + $425 = $423 << 1; + $426 = (28876 + ($425<<2)|0); + $427 = HEAP32[7209]|0; + $428 = 1 << $423; + $429 = $427 & $428; + $430 = ($429|0)==(0); + if ($430) { + $431 = $427 | $428; + HEAP32[7209] = $431; + $$pre$i210 = ((($426)) + 8|0); + $$0368$i = $426;$$pre$phi$i211Z2D = $$pre$i210; + } else { + $432 = ((($426)) + 8|0); + $433 = HEAP32[$432>>2]|0; + $434 = HEAP32[(28852)>>2]|0; + $435 = ($433>>>0)<($434>>>0); + if ($435) { + _abort(); + // unreachable; + } else { + $$0368$i = $433;$$pre$phi$i211Z2D = $432; + } + } + HEAP32[$$pre$phi$i211Z2D>>2] = $350; + $436 = ((($$0368$i)) + 12|0); + HEAP32[$436>>2] = $350; + $437 = ((($350)) + 8|0); + HEAP32[$437>>2] = $$0368$i; + $438 = ((($350)) + 12|0); + HEAP32[$438>>2] = $426; + break; + } + $439 = $$4351$lcssa$i >>> 8; + $440 = ($439|0)==(0); + if ($440) { + $$0361$i = 0; + } else { + $441 = ($$4351$lcssa$i>>>0)>(16777215); + if ($441) { + $$0361$i = 31; + } else { + $442 = (($439) + 1048320)|0; + $443 = $442 >>> 16; + $444 = $443 & 8; + $445 = $439 << $444; + $446 = (($445) + 520192)|0; + $447 = $446 >>> 16; + $448 = $447 & 4; + $449 = $448 | $444; + $450 = $445 << $448; + $451 = (($450) + 245760)|0; + $452 = $451 >>> 16; + $453 = $452 & 2; + $454 = $449 | $453; + $455 = (14 - ($454))|0; + $456 = $450 << $453; + $457 = $456 >>> 15; + $458 = (($455) + ($457))|0; + $459 = $458 << 1; + $460 = (($458) + 7)|0; + $461 = $$4351$lcssa$i >>> $460; + $462 = $461 & 1; + $463 = $462 | $459; + $$0361$i = $463; + } + } + $464 = (29140 + ($$0361$i<<2)|0); + $465 = ((($350)) + 28|0); + HEAP32[$465>>2] = $$0361$i; + $466 = ((($350)) + 16|0); + $467 = ((($466)) + 4|0); + HEAP32[$467>>2] = 0; + HEAP32[$466>>2] = 0; + $468 = 1 << $$0361$i; + $469 = $470 & $468; + $471 = ($469|0)==(0); + if ($471) { + $472 = $470 | $468; + HEAP32[(28840)>>2] = $472; + HEAP32[$464>>2] = $350; + $473 = ((($350)) + 24|0); + HEAP32[$473>>2] = $464; + $474 = ((($350)) + 12|0); + HEAP32[$474>>2] = $350; + $475 = ((($350)) + 8|0); + HEAP32[$475>>2] = $350; + break; + } + $476 = HEAP32[$464>>2]|0; + $477 = ($$0361$i|0)==(31); + $478 = $$0361$i >>> 1; + $479 = (25 - ($478))|0; + $480 = $477 ? 0 : $479; + $481 = $$4351$lcssa$i << $480; + $$0344$i = $481;$$0345$i = $476; + while(1) { + $482 = ((($$0345$i)) + 4|0); + $483 = HEAP32[$482>>2]|0; + $484 = $483 & -8; + $485 = ($484|0)==($$4351$lcssa$i|0); + if ($485) { + label = 139; + break; + } + $486 = $$0344$i >>> 31; + $487 = (((($$0345$i)) + 16|0) + ($486<<2)|0); + $488 = $$0344$i << 1; + $489 = HEAP32[$487>>2]|0; + $490 = ($489|0)==(0|0); + if ($490) { + label = 136; + break; + } else { + $$0344$i = $488;$$0345$i = $489; + } + } + if ((label|0) == 136) { + $491 = HEAP32[(28852)>>2]|0; + $492 = ($487>>>0)<($491>>>0); + if ($492) { + _abort(); + // unreachable; + } else { + HEAP32[$487>>2] = $350; + $493 = ((($350)) + 24|0); + HEAP32[$493>>2] = $$0345$i; + $494 = ((($350)) + 12|0); + HEAP32[$494>>2] = $350; + $495 = ((($350)) + 8|0); + HEAP32[$495>>2] = $350; + break; + } + } + else if ((label|0) == 139) { + $496 = ((($$0345$i)) + 8|0); + $497 = HEAP32[$496>>2]|0; + $498 = HEAP32[(28852)>>2]|0; + $499 = ($497>>>0)>=($498>>>0); + $not$9$i = ($$0345$i>>>0)>=($498>>>0); + $500 = $499 & $not$9$i; + if ($500) { + $501 = ((($497)) + 12|0); + HEAP32[$501>>2] = $350; + HEAP32[$496>>2] = $350; + $502 = ((($350)) + 8|0); + HEAP32[$502>>2] = $497; + $503 = ((($350)) + 12|0); + HEAP32[$503>>2] = $$0345$i; + $504 = ((($350)) + 24|0); + HEAP32[$504>>2] = 0; + break; + } else { + _abort(); + // unreachable; + } + } + } + } while(0); + $505 = ((($$4$lcssa$i)) + 8|0); + $$0 = $505; + STACKTOP = sp;return ($$0|0); + } else { + $$0197 = $249; + } + } + } + } + } + } while(0); + $506 = HEAP32[(28844)>>2]|0; + $507 = ($506>>>0)<($$0197>>>0); + if (!($507)) { + $508 = (($506) - ($$0197))|0; + $509 = HEAP32[(28856)>>2]|0; + $510 = ($508>>>0)>(15); + if ($510) { + $511 = (($509) + ($$0197)|0); + HEAP32[(28856)>>2] = $511; + HEAP32[(28844)>>2] = $508; + $512 = $508 | 1; + $513 = ((($511)) + 4|0); + HEAP32[$513>>2] = $512; + $514 = (($511) + ($508)|0); + HEAP32[$514>>2] = $508; + $515 = $$0197 | 3; + $516 = ((($509)) + 4|0); + HEAP32[$516>>2] = $515; + } else { + HEAP32[(28844)>>2] = 0; + HEAP32[(28856)>>2] = 0; + $517 = $506 | 3; + $518 = ((($509)) + 4|0); + HEAP32[$518>>2] = $517; + $519 = (($509) + ($506)|0); + $520 = ((($519)) + 4|0); + $521 = HEAP32[$520>>2]|0; + $522 = $521 | 1; + HEAP32[$520>>2] = $522; + } + $523 = ((($509)) + 8|0); + $$0 = $523; + STACKTOP = sp;return ($$0|0); + } + $524 = HEAP32[(28848)>>2]|0; + $525 = ($524>>>0)>($$0197>>>0); + if ($525) { + $526 = (($524) - ($$0197))|0; + HEAP32[(28848)>>2] = $526; + $527 = HEAP32[(28860)>>2]|0; + $528 = (($527) + ($$0197)|0); + HEAP32[(28860)>>2] = $528; + $529 = $526 | 1; + $530 = ((($528)) + 4|0); + HEAP32[$530>>2] = $529; + $531 = $$0197 | 3; + $532 = ((($527)) + 4|0); + HEAP32[$532>>2] = $531; + $533 = ((($527)) + 8|0); + $$0 = $533; + STACKTOP = sp;return ($$0|0); + } + $534 = HEAP32[7327]|0; + $535 = ($534|0)==(0); + if ($535) { + HEAP32[(29316)>>2] = 4096; + HEAP32[(29312)>>2] = 4096; + HEAP32[(29320)>>2] = -1; + HEAP32[(29324)>>2] = -1; + HEAP32[(29328)>>2] = 0; + HEAP32[(29280)>>2] = 0; + $536 = $1; + $537 = $536 & -16; + $538 = $537 ^ 1431655768; + HEAP32[$1>>2] = $538; + HEAP32[7327] = $538; + $542 = 4096; + } else { + $$pre$i212 = HEAP32[(29316)>>2]|0; + $542 = $$pre$i212; + } + $539 = (($$0197) + 48)|0; + $540 = (($$0197) + 47)|0; + $541 = (($542) + ($540))|0; + $543 = (0 - ($542))|0; + $544 = $541 & $543; + $545 = ($544>>>0)>($$0197>>>0); + if (!($545)) { + $$0 = 0; + STACKTOP = sp;return ($$0|0); + } + $546 = HEAP32[(29276)>>2]|0; + $547 = ($546|0)==(0); + if (!($547)) { + $548 = HEAP32[(29268)>>2]|0; + $549 = (($548) + ($544))|0; + $550 = ($549>>>0)<=($548>>>0); + $551 = ($549>>>0)>($546>>>0); + $or$cond1$i = $550 | $551; + if ($or$cond1$i) { + $$0 = 0; + STACKTOP = sp;return ($$0|0); + } + } + $552 = HEAP32[(29280)>>2]|0; + $553 = $552 & 4; + $554 = ($553|0)==(0); + L244: do { + if ($554) { + $555 = HEAP32[(28860)>>2]|0; + $556 = ($555|0)==(0|0); + L246: do { + if ($556) { + label = 163; + } else { + $$0$i$i = (29284); + while(1) { + $557 = HEAP32[$$0$i$i>>2]|0; + $558 = ($557>>>0)>($555>>>0); + if (!($558)) { + $559 = ((($$0$i$i)) + 4|0); + $560 = HEAP32[$559>>2]|0; + $561 = (($557) + ($560)|0); + $562 = ($561>>>0)>($555>>>0); + if ($562) { + break; + } + } + $563 = ((($$0$i$i)) + 8|0); + $564 = HEAP32[$563>>2]|0; + $565 = ($564|0)==(0|0); + if ($565) { + label = 163; + break L246; + } else { + $$0$i$i = $564; + } + } + $588 = (($541) - ($524))|0; + $589 = $588 & $543; + $590 = ($589>>>0)<(2147483647); + if ($590) { + $591 = (_sbrk(($589|0))|0); + $592 = HEAP32[$$0$i$i>>2]|0; + $593 = HEAP32[$559>>2]|0; + $594 = (($592) + ($593)|0); + $595 = ($591|0)==($594|0); + if ($595) { + $596 = ($591|0)==((-1)|0); + if ($596) { + $$2234253237$i = $589; + } else { + $$723948$i = $589;$$749$i = $591; + label = 180; + break L244; + } + } else { + $$2247$ph$i = $591;$$2253$ph$i = $589; + label = 171; + } + } else { + $$2234253237$i = 0; + } + } + } while(0); + do { + if ((label|0) == 163) { + $566 = (_sbrk(0)|0); + $567 = ($566|0)==((-1)|0); + if ($567) { + $$2234253237$i = 0; + } else { + $568 = $566; + $569 = HEAP32[(29312)>>2]|0; + $570 = (($569) + -1)|0; + $571 = $570 & $568; + $572 = ($571|0)==(0); + $573 = (($570) + ($568))|0; + $574 = (0 - ($569))|0; + $575 = $573 & $574; + $576 = (($575) - ($568))|0; + $577 = $572 ? 0 : $576; + $$$i = (($577) + ($544))|0; + $578 = HEAP32[(29268)>>2]|0; + $579 = (($$$i) + ($578))|0; + $580 = ($$$i>>>0)>($$0197>>>0); + $581 = ($$$i>>>0)<(2147483647); + $or$cond$i214 = $580 & $581; + if ($or$cond$i214) { + $582 = HEAP32[(29276)>>2]|0; + $583 = ($582|0)==(0); + if (!($583)) { + $584 = ($579>>>0)<=($578>>>0); + $585 = ($579>>>0)>($582>>>0); + $or$cond2$i215 = $584 | $585; + if ($or$cond2$i215) { + $$2234253237$i = 0; + break; + } + } + $586 = (_sbrk(($$$i|0))|0); + $587 = ($586|0)==($566|0); + if ($587) { + $$723948$i = $$$i;$$749$i = $566; + label = 180; + break L244; + } else { + $$2247$ph$i = $586;$$2253$ph$i = $$$i; + label = 171; + } + } else { + $$2234253237$i = 0; + } + } + } + } while(0); + do { + if ((label|0) == 171) { + $597 = (0 - ($$2253$ph$i))|0; + $598 = ($$2247$ph$i|0)!=((-1)|0); + $599 = ($$2253$ph$i>>>0)<(2147483647); + $or$cond7$i = $599 & $598; + $600 = ($539>>>0)>($$2253$ph$i>>>0); + $or$cond10$i = $600 & $or$cond7$i; + if (!($or$cond10$i)) { + $610 = ($$2247$ph$i|0)==((-1)|0); + if ($610) { + $$2234253237$i = 0; + break; + } else { + $$723948$i = $$2253$ph$i;$$749$i = $$2247$ph$i; + label = 180; + break L244; + } + } + $601 = HEAP32[(29316)>>2]|0; + $602 = (($540) - ($$2253$ph$i))|0; + $603 = (($602) + ($601))|0; + $604 = (0 - ($601))|0; + $605 = $603 & $604; + $606 = ($605>>>0)<(2147483647); + if (!($606)) { + $$723948$i = $$2253$ph$i;$$749$i = $$2247$ph$i; + label = 180; + break L244; + } + $607 = (_sbrk(($605|0))|0); + $608 = ($607|0)==((-1)|0); + if ($608) { + (_sbrk(($597|0))|0); + $$2234253237$i = 0; + break; + } else { + $609 = (($605) + ($$2253$ph$i))|0; + $$723948$i = $609;$$749$i = $$2247$ph$i; + label = 180; + break L244; + } + } + } while(0); + $611 = HEAP32[(29280)>>2]|0; + $612 = $611 | 4; + HEAP32[(29280)>>2] = $612; + $$4236$i = $$2234253237$i; + label = 178; + } else { + $$4236$i = 0; + label = 178; + } + } while(0); + if ((label|0) == 178) { + $613 = ($544>>>0)<(2147483647); + if ($613) { + $614 = (_sbrk(($544|0))|0); + $615 = (_sbrk(0)|0); + $616 = ($614|0)!=((-1)|0); + $617 = ($615|0)!=((-1)|0); + $or$cond5$i = $616 & $617; + $618 = ($614>>>0)<($615>>>0); + $or$cond11$i = $618 & $or$cond5$i; + $619 = $615; + $620 = $614; + $621 = (($619) - ($620))|0; + $622 = (($$0197) + 40)|0; + $623 = ($621>>>0)>($622>>>0); + $$$4236$i = $623 ? $621 : $$4236$i; + $or$cond11$not$i = $or$cond11$i ^ 1; + $624 = ($614|0)==((-1)|0); + $not$$i216 = $623 ^ 1; + $625 = $624 | $not$$i216; + $or$cond50$i = $625 | $or$cond11$not$i; + if (!($or$cond50$i)) { + $$723948$i = $$$4236$i;$$749$i = $614; + label = 180; + } + } + } + if ((label|0) == 180) { + $626 = HEAP32[(29268)>>2]|0; + $627 = (($626) + ($$723948$i))|0; + HEAP32[(29268)>>2] = $627; + $628 = HEAP32[(29272)>>2]|0; + $629 = ($627>>>0)>($628>>>0); + if ($629) { + HEAP32[(29272)>>2] = $627; + } + $630 = HEAP32[(28860)>>2]|0; + $631 = ($630|0)==(0|0); + do { + if ($631) { + $632 = HEAP32[(28852)>>2]|0; + $633 = ($632|0)==(0|0); + $634 = ($$749$i>>>0)<($632>>>0); + $or$cond12$i = $633 | $634; + if ($or$cond12$i) { + HEAP32[(28852)>>2] = $$749$i; + } + HEAP32[(29284)>>2] = $$749$i; + HEAP32[(29288)>>2] = $$723948$i; + HEAP32[(29296)>>2] = 0; + $635 = HEAP32[7327]|0; + HEAP32[(28872)>>2] = $635; + HEAP32[(28868)>>2] = -1; + $$01$i$i = 0; + while(1) { + $636 = $$01$i$i << 1; + $637 = (28876 + ($636<<2)|0); + $638 = ((($637)) + 12|0); + HEAP32[$638>>2] = $637; + $639 = ((($637)) + 8|0); + HEAP32[$639>>2] = $637; + $640 = (($$01$i$i) + 1)|0; + $exitcond$i$i = ($640|0)==(32); + if ($exitcond$i$i) { + break; + } else { + $$01$i$i = $640; + } + } + $641 = (($$723948$i) + -40)|0; + $642 = ((($$749$i)) + 8|0); + $643 = $642; + $644 = $643 & 7; + $645 = ($644|0)==(0); + $646 = (0 - ($643))|0; + $647 = $646 & 7; + $648 = $645 ? 0 : $647; + $649 = (($$749$i) + ($648)|0); + $650 = (($641) - ($648))|0; + HEAP32[(28860)>>2] = $649; + HEAP32[(28848)>>2] = $650; + $651 = $650 | 1; + $652 = ((($649)) + 4|0); + HEAP32[$652>>2] = $651; + $653 = (($649) + ($650)|0); + $654 = ((($653)) + 4|0); + HEAP32[$654>>2] = 40; + $655 = HEAP32[(29324)>>2]|0; + HEAP32[(28864)>>2] = $655; + } else { + $$024371$i = (29284); + while(1) { + $656 = HEAP32[$$024371$i>>2]|0; + $657 = ((($$024371$i)) + 4|0); + $658 = HEAP32[$657>>2]|0; + $659 = (($656) + ($658)|0); + $660 = ($$749$i|0)==($659|0); + if ($660) { + label = 190; + break; + } + $661 = ((($$024371$i)) + 8|0); + $662 = HEAP32[$661>>2]|0; + $663 = ($662|0)==(0|0); + if ($663) { + break; + } else { + $$024371$i = $662; + } + } + if ((label|0) == 190) { + $664 = ((($$024371$i)) + 12|0); + $665 = HEAP32[$664>>2]|0; + $666 = $665 & 8; + $667 = ($666|0)==(0); + if ($667) { + $668 = ($630>>>0)>=($656>>>0); + $669 = ($630>>>0)<($$749$i>>>0); + $or$cond51$i = $669 & $668; + if ($or$cond51$i) { + $670 = (($658) + ($$723948$i))|0; + HEAP32[$657>>2] = $670; + $671 = HEAP32[(28848)>>2]|0; + $672 = ((($630)) + 8|0); + $673 = $672; + $674 = $673 & 7; + $675 = ($674|0)==(0); + $676 = (0 - ($673))|0; + $677 = $676 & 7; + $678 = $675 ? 0 : $677; + $679 = (($630) + ($678)|0); + $680 = (($$723948$i) - ($678))|0; + $681 = (($671) + ($680))|0; + HEAP32[(28860)>>2] = $679; + HEAP32[(28848)>>2] = $681; + $682 = $681 | 1; + $683 = ((($679)) + 4|0); + HEAP32[$683>>2] = $682; + $684 = (($679) + ($681)|0); + $685 = ((($684)) + 4|0); + HEAP32[$685>>2] = 40; + $686 = HEAP32[(29324)>>2]|0; + HEAP32[(28864)>>2] = $686; + break; + } + } + } + $687 = HEAP32[(28852)>>2]|0; + $688 = ($$749$i>>>0)<($687>>>0); + if ($688) { + HEAP32[(28852)>>2] = $$749$i; + $752 = $$749$i; + } else { + $752 = $687; + } + $689 = (($$749$i) + ($$723948$i)|0); + $$124470$i = (29284); + while(1) { + $690 = HEAP32[$$124470$i>>2]|0; + $691 = ($690|0)==($689|0); + if ($691) { + label = 198; + break; + } + $692 = ((($$124470$i)) + 8|0); + $693 = HEAP32[$692>>2]|0; + $694 = ($693|0)==(0|0); + if ($694) { + break; + } else { + $$124470$i = $693; + } + } + if ((label|0) == 198) { + $695 = ((($$124470$i)) + 12|0); + $696 = HEAP32[$695>>2]|0; + $697 = $696 & 8; + $698 = ($697|0)==(0); + if ($698) { + HEAP32[$$124470$i>>2] = $$749$i; + $699 = ((($$124470$i)) + 4|0); + $700 = HEAP32[$699>>2]|0; + $701 = (($700) + ($$723948$i))|0; + HEAP32[$699>>2] = $701; + $702 = ((($$749$i)) + 8|0); + $703 = $702; + $704 = $703 & 7; + $705 = ($704|0)==(0); + $706 = (0 - ($703))|0; + $707 = $706 & 7; + $708 = $705 ? 0 : $707; + $709 = (($$749$i) + ($708)|0); + $710 = ((($689)) + 8|0); + $711 = $710; + $712 = $711 & 7; + $713 = ($712|0)==(0); + $714 = (0 - ($711))|0; + $715 = $714 & 7; + $716 = $713 ? 0 : $715; + $717 = (($689) + ($716)|0); + $718 = $717; + $719 = $709; + $720 = (($718) - ($719))|0; + $721 = (($709) + ($$0197)|0); + $722 = (($720) - ($$0197))|0; + $723 = $$0197 | 3; + $724 = ((($709)) + 4|0); + HEAP32[$724>>2] = $723; + $725 = ($717|0)==($630|0); + do { + if ($725) { + $726 = HEAP32[(28848)>>2]|0; + $727 = (($726) + ($722))|0; + HEAP32[(28848)>>2] = $727; + HEAP32[(28860)>>2] = $721; + $728 = $727 | 1; + $729 = ((($721)) + 4|0); + HEAP32[$729>>2] = $728; + } else { + $730 = HEAP32[(28856)>>2]|0; + $731 = ($717|0)==($730|0); + if ($731) { + $732 = HEAP32[(28844)>>2]|0; + $733 = (($732) + ($722))|0; + HEAP32[(28844)>>2] = $733; + HEAP32[(28856)>>2] = $721; + $734 = $733 | 1; + $735 = ((($721)) + 4|0); + HEAP32[$735>>2] = $734; + $736 = (($721) + ($733)|0); + HEAP32[$736>>2] = $733; + break; + } + $737 = ((($717)) + 4|0); + $738 = HEAP32[$737>>2]|0; + $739 = $738 & 3; + $740 = ($739|0)==(1); + if ($740) { + $741 = $738 & -8; + $742 = $738 >>> 3; + $743 = ($738>>>0)<(256); + L314: do { + if ($743) { + $744 = ((($717)) + 8|0); + $745 = HEAP32[$744>>2]|0; + $746 = ((($717)) + 12|0); + $747 = HEAP32[$746>>2]|0; + $748 = $742 << 1; + $749 = (28876 + ($748<<2)|0); + $750 = ($745|0)==($749|0); + do { + if (!($750)) { + $751 = ($745>>>0)<($752>>>0); + if ($751) { + _abort(); + // unreachable; + } + $753 = ((($745)) + 12|0); + $754 = HEAP32[$753>>2]|0; + $755 = ($754|0)==($717|0); + if ($755) { + break; + } + _abort(); + // unreachable; + } + } while(0); + $756 = ($747|0)==($745|0); + if ($756) { + $757 = 1 << $742; + $758 = $757 ^ -1; + $759 = HEAP32[7209]|0; + $760 = $759 & $758; + HEAP32[7209] = $760; + break; + } + $761 = ($747|0)==($749|0); + do { + if ($761) { + $$pre10$i$i = ((($747)) + 8|0); + $$pre$phi11$i$iZ2D = $$pre10$i$i; + } else { + $762 = ($747>>>0)<($752>>>0); + if ($762) { + _abort(); + // unreachable; + } + $763 = ((($747)) + 8|0); + $764 = HEAP32[$763>>2]|0; + $765 = ($764|0)==($717|0); + if ($765) { + $$pre$phi11$i$iZ2D = $763; + break; + } + _abort(); + // unreachable; + } + } while(0); + $766 = ((($745)) + 12|0); + HEAP32[$766>>2] = $747; + HEAP32[$$pre$phi11$i$iZ2D>>2] = $745; + } else { + $767 = ((($717)) + 24|0); + $768 = HEAP32[$767>>2]|0; + $769 = ((($717)) + 12|0); + $770 = HEAP32[$769>>2]|0; + $771 = ($770|0)==($717|0); + do { + if ($771) { + $781 = ((($717)) + 16|0); + $782 = ((($781)) + 4|0); + $783 = HEAP32[$782>>2]|0; + $784 = ($783|0)==(0|0); + if ($784) { + $785 = HEAP32[$781>>2]|0; + $786 = ($785|0)==(0|0); + if ($786) { + $$3$i$i = 0; + break; + } else { + $$1291$i$i = $785;$$1293$i$i = $781; + } + } else { + $$1291$i$i = $783;$$1293$i$i = $782; + } + while(1) { + $787 = ((($$1291$i$i)) + 20|0); + $788 = HEAP32[$787>>2]|0; + $789 = ($788|0)==(0|0); + if (!($789)) { + $$1291$i$i = $788;$$1293$i$i = $787; + continue; + } + $790 = ((($$1291$i$i)) + 16|0); + $791 = HEAP32[$790>>2]|0; + $792 = ($791|0)==(0|0); + if ($792) { + break; + } else { + $$1291$i$i = $791;$$1293$i$i = $790; + } + } + $793 = ($$1293$i$i>>>0)<($752>>>0); + if ($793) { + _abort(); + // unreachable; + } else { + HEAP32[$$1293$i$i>>2] = 0; + $$3$i$i = $$1291$i$i; + break; + } + } else { + $772 = ((($717)) + 8|0); + $773 = HEAP32[$772>>2]|0; + $774 = ($773>>>0)<($752>>>0); + if ($774) { + _abort(); + // unreachable; + } + $775 = ((($773)) + 12|0); + $776 = HEAP32[$775>>2]|0; + $777 = ($776|0)==($717|0); + if (!($777)) { + _abort(); + // unreachable; + } + $778 = ((($770)) + 8|0); + $779 = HEAP32[$778>>2]|0; + $780 = ($779|0)==($717|0); + if ($780) { + HEAP32[$775>>2] = $770; + HEAP32[$778>>2] = $773; + $$3$i$i = $770; + break; + } else { + _abort(); + // unreachable; + } + } + } while(0); + $794 = ($768|0)==(0|0); + if ($794) { + break; + } + $795 = ((($717)) + 28|0); + $796 = HEAP32[$795>>2]|0; + $797 = (29140 + ($796<<2)|0); + $798 = HEAP32[$797>>2]|0; + $799 = ($717|0)==($798|0); + do { + if ($799) { + HEAP32[$797>>2] = $$3$i$i; + $cond$i$i = ($$3$i$i|0)==(0|0); + if (!($cond$i$i)) { + break; + } + $800 = 1 << $796; + $801 = $800 ^ -1; + $802 = HEAP32[(28840)>>2]|0; + $803 = $802 & $801; + HEAP32[(28840)>>2] = $803; + break L314; + } else { + $804 = HEAP32[(28852)>>2]|0; + $805 = ($768>>>0)<($804>>>0); + if ($805) { + _abort(); + // unreachable; + } else { + $806 = ((($768)) + 16|0); + $807 = HEAP32[$806>>2]|0; + $not$$i17$i = ($807|0)!=($717|0); + $$sink1$i$i = $not$$i17$i&1; + $808 = (((($768)) + 16|0) + ($$sink1$i$i<<2)|0); + HEAP32[$808>>2] = $$3$i$i; + $809 = ($$3$i$i|0)==(0|0); + if ($809) { + break L314; + } else { + break; + } + } + } + } while(0); + $810 = HEAP32[(28852)>>2]|0; + $811 = ($$3$i$i>>>0)<($810>>>0); + if ($811) { + _abort(); + // unreachable; + } + $812 = ((($$3$i$i)) + 24|0); + HEAP32[$812>>2] = $768; + $813 = ((($717)) + 16|0); + $814 = HEAP32[$813>>2]|0; + $815 = ($814|0)==(0|0); + do { + if (!($815)) { + $816 = ($814>>>0)<($810>>>0); + if ($816) { + _abort(); + // unreachable; + } else { + $817 = ((($$3$i$i)) + 16|0); + HEAP32[$817>>2] = $814; + $818 = ((($814)) + 24|0); + HEAP32[$818>>2] = $$3$i$i; + break; + } + } + } while(0); + $819 = ((($813)) + 4|0); + $820 = HEAP32[$819>>2]|0; + $821 = ($820|0)==(0|0); + if ($821) { + break; + } + $822 = HEAP32[(28852)>>2]|0; + $823 = ($820>>>0)<($822>>>0); + if ($823) { + _abort(); + // unreachable; + } else { + $824 = ((($$3$i$i)) + 20|0); + HEAP32[$824>>2] = $820; + $825 = ((($820)) + 24|0); + HEAP32[$825>>2] = $$3$i$i; + break; + } + } + } while(0); + $826 = (($717) + ($741)|0); + $827 = (($741) + ($722))|0; + $$0$i18$i = $826;$$0287$i$i = $827; + } else { + $$0$i18$i = $717;$$0287$i$i = $722; + } + $828 = ((($$0$i18$i)) + 4|0); + $829 = HEAP32[$828>>2]|0; + $830 = $829 & -2; + HEAP32[$828>>2] = $830; + $831 = $$0287$i$i | 1; + $832 = ((($721)) + 4|0); + HEAP32[$832>>2] = $831; + $833 = (($721) + ($$0287$i$i)|0); + HEAP32[$833>>2] = $$0287$i$i; + $834 = $$0287$i$i >>> 3; + $835 = ($$0287$i$i>>>0)<(256); + if ($835) { + $836 = $834 << 1; + $837 = (28876 + ($836<<2)|0); + $838 = HEAP32[7209]|0; + $839 = 1 << $834; + $840 = $838 & $839; + $841 = ($840|0)==(0); + do { + if ($841) { + $842 = $838 | $839; + HEAP32[7209] = $842; + $$pre$i19$i = ((($837)) + 8|0); + $$0295$i$i = $837;$$pre$phi$i20$iZ2D = $$pre$i19$i; + } else { + $843 = ((($837)) + 8|0); + $844 = HEAP32[$843>>2]|0; + $845 = HEAP32[(28852)>>2]|0; + $846 = ($844>>>0)<($845>>>0); + if (!($846)) { + $$0295$i$i = $844;$$pre$phi$i20$iZ2D = $843; + break; + } + _abort(); + // unreachable; + } + } while(0); + HEAP32[$$pre$phi$i20$iZ2D>>2] = $721; + $847 = ((($$0295$i$i)) + 12|0); + HEAP32[$847>>2] = $721; + $848 = ((($721)) + 8|0); + HEAP32[$848>>2] = $$0295$i$i; + $849 = ((($721)) + 12|0); + HEAP32[$849>>2] = $837; + break; + } + $850 = $$0287$i$i >>> 8; + $851 = ($850|0)==(0); + do { + if ($851) { + $$0296$i$i = 0; + } else { + $852 = ($$0287$i$i>>>0)>(16777215); + if ($852) { + $$0296$i$i = 31; + break; + } + $853 = (($850) + 1048320)|0; + $854 = $853 >>> 16; + $855 = $854 & 8; + $856 = $850 << $855; + $857 = (($856) + 520192)|0; + $858 = $857 >>> 16; + $859 = $858 & 4; + $860 = $859 | $855; + $861 = $856 << $859; + $862 = (($861) + 245760)|0; + $863 = $862 >>> 16; + $864 = $863 & 2; + $865 = $860 | $864; + $866 = (14 - ($865))|0; + $867 = $861 << $864; + $868 = $867 >>> 15; + $869 = (($866) + ($868))|0; + $870 = $869 << 1; + $871 = (($869) + 7)|0; + $872 = $$0287$i$i >>> $871; + $873 = $872 & 1; + $874 = $873 | $870; + $$0296$i$i = $874; + } + } while(0); + $875 = (29140 + ($$0296$i$i<<2)|0); + $876 = ((($721)) + 28|0); + HEAP32[$876>>2] = $$0296$i$i; + $877 = ((($721)) + 16|0); + $878 = ((($877)) + 4|0); + HEAP32[$878>>2] = 0; + HEAP32[$877>>2] = 0; + $879 = HEAP32[(28840)>>2]|0; + $880 = 1 << $$0296$i$i; + $881 = $879 & $880; + $882 = ($881|0)==(0); + if ($882) { + $883 = $879 | $880; + HEAP32[(28840)>>2] = $883; + HEAP32[$875>>2] = $721; + $884 = ((($721)) + 24|0); + HEAP32[$884>>2] = $875; + $885 = ((($721)) + 12|0); + HEAP32[$885>>2] = $721; + $886 = ((($721)) + 8|0); + HEAP32[$886>>2] = $721; + break; + } + $887 = HEAP32[$875>>2]|0; + $888 = ($$0296$i$i|0)==(31); + $889 = $$0296$i$i >>> 1; + $890 = (25 - ($889))|0; + $891 = $888 ? 0 : $890; + $892 = $$0287$i$i << $891; + $$0288$i$i = $892;$$0289$i$i = $887; + while(1) { + $893 = ((($$0289$i$i)) + 4|0); + $894 = HEAP32[$893>>2]|0; + $895 = $894 & -8; + $896 = ($895|0)==($$0287$i$i|0); + if ($896) { + label = 265; + break; + } + $897 = $$0288$i$i >>> 31; + $898 = (((($$0289$i$i)) + 16|0) + ($897<<2)|0); + $899 = $$0288$i$i << 1; + $900 = HEAP32[$898>>2]|0; + $901 = ($900|0)==(0|0); + if ($901) { + label = 262; + break; + } else { + $$0288$i$i = $899;$$0289$i$i = $900; + } + } + if ((label|0) == 262) { + $902 = HEAP32[(28852)>>2]|0; + $903 = ($898>>>0)<($902>>>0); + if ($903) { + _abort(); + // unreachable; + } else { + HEAP32[$898>>2] = $721; + $904 = ((($721)) + 24|0); + HEAP32[$904>>2] = $$0289$i$i; + $905 = ((($721)) + 12|0); + HEAP32[$905>>2] = $721; + $906 = ((($721)) + 8|0); + HEAP32[$906>>2] = $721; + break; + } + } + else if ((label|0) == 265) { + $907 = ((($$0289$i$i)) + 8|0); + $908 = HEAP32[$907>>2]|0; + $909 = HEAP32[(28852)>>2]|0; + $910 = ($908>>>0)>=($909>>>0); + $not$7$i$i = ($$0289$i$i>>>0)>=($909>>>0); + $911 = $910 & $not$7$i$i; + if ($911) { + $912 = ((($908)) + 12|0); + HEAP32[$912>>2] = $721; + HEAP32[$907>>2] = $721; + $913 = ((($721)) + 8|0); + HEAP32[$913>>2] = $908; + $914 = ((($721)) + 12|0); + HEAP32[$914>>2] = $$0289$i$i; + $915 = ((($721)) + 24|0); + HEAP32[$915>>2] = 0; + break; + } else { + _abort(); + // unreachable; + } + } + } + } while(0); + $1047 = ((($709)) + 8|0); + $$0 = $1047; + STACKTOP = sp;return ($$0|0); + } + } + $$0$i$i$i = (29284); + while(1) { + $916 = HEAP32[$$0$i$i$i>>2]|0; + $917 = ($916>>>0)>($630>>>0); + if (!($917)) { + $918 = ((($$0$i$i$i)) + 4|0); + $919 = HEAP32[$918>>2]|0; + $920 = (($916) + ($919)|0); + $921 = ($920>>>0)>($630>>>0); + if ($921) { + break; + } + } + $922 = ((($$0$i$i$i)) + 8|0); + $923 = HEAP32[$922>>2]|0; + $$0$i$i$i = $923; + } + $924 = ((($920)) + -47|0); + $925 = ((($924)) + 8|0); + $926 = $925; + $927 = $926 & 7; + $928 = ($927|0)==(0); + $929 = (0 - ($926))|0; + $930 = $929 & 7; + $931 = $928 ? 0 : $930; + $932 = (($924) + ($931)|0); + $933 = ((($630)) + 16|0); + $934 = ($932>>>0)<($933>>>0); + $935 = $934 ? $630 : $932; + $936 = ((($935)) + 8|0); + $937 = ((($935)) + 24|0); + $938 = (($$723948$i) + -40)|0; + $939 = ((($$749$i)) + 8|0); + $940 = $939; + $941 = $940 & 7; + $942 = ($941|0)==(0); + $943 = (0 - ($940))|0; + $944 = $943 & 7; + $945 = $942 ? 0 : $944; + $946 = (($$749$i) + ($945)|0); + $947 = (($938) - ($945))|0; + HEAP32[(28860)>>2] = $946; + HEAP32[(28848)>>2] = $947; + $948 = $947 | 1; + $949 = ((($946)) + 4|0); + HEAP32[$949>>2] = $948; + $950 = (($946) + ($947)|0); + $951 = ((($950)) + 4|0); + HEAP32[$951>>2] = 40; + $952 = HEAP32[(29324)>>2]|0; + HEAP32[(28864)>>2] = $952; + $953 = ((($935)) + 4|0); + HEAP32[$953>>2] = 27; + ;HEAP32[$936>>2]=HEAP32[(29284)>>2]|0;HEAP32[$936+4>>2]=HEAP32[(29284)+4>>2]|0;HEAP32[$936+8>>2]=HEAP32[(29284)+8>>2]|0;HEAP32[$936+12>>2]=HEAP32[(29284)+12>>2]|0; + HEAP32[(29284)>>2] = $$749$i; + HEAP32[(29288)>>2] = $$723948$i; + HEAP32[(29296)>>2] = 0; + HEAP32[(29292)>>2] = $936; + $955 = $937; + while(1) { + $954 = ((($955)) + 4|0); + HEAP32[$954>>2] = 7; + $956 = ((($955)) + 8|0); + $957 = ($956>>>0)<($920>>>0); + if ($957) { + $955 = $954; + } else { + break; + } + } + $958 = ($935|0)==($630|0); + if (!($958)) { + $959 = $935; + $960 = $630; + $961 = (($959) - ($960))|0; + $962 = HEAP32[$953>>2]|0; + $963 = $962 & -2; + HEAP32[$953>>2] = $963; + $964 = $961 | 1; + $965 = ((($630)) + 4|0); + HEAP32[$965>>2] = $964; + HEAP32[$935>>2] = $961; + $966 = $961 >>> 3; + $967 = ($961>>>0)<(256); + if ($967) { + $968 = $966 << 1; + $969 = (28876 + ($968<<2)|0); + $970 = HEAP32[7209]|0; + $971 = 1 << $966; + $972 = $970 & $971; + $973 = ($972|0)==(0); + if ($973) { + $974 = $970 | $971; + HEAP32[7209] = $974; + $$pre$i$i = ((($969)) + 8|0); + $$0211$i$i = $969;$$pre$phi$i$iZ2D = $$pre$i$i; + } else { + $975 = ((($969)) + 8|0); + $976 = HEAP32[$975>>2]|0; + $977 = HEAP32[(28852)>>2]|0; + $978 = ($976>>>0)<($977>>>0); + if ($978) { + _abort(); + // unreachable; + } else { + $$0211$i$i = $976;$$pre$phi$i$iZ2D = $975; + } + } + HEAP32[$$pre$phi$i$iZ2D>>2] = $630; + $979 = ((($$0211$i$i)) + 12|0); + HEAP32[$979>>2] = $630; + $980 = ((($630)) + 8|0); + HEAP32[$980>>2] = $$0211$i$i; + $981 = ((($630)) + 12|0); + HEAP32[$981>>2] = $969; + break; + } + $982 = $961 >>> 8; + $983 = ($982|0)==(0); + if ($983) { + $$0212$i$i = 0; + } else { + $984 = ($961>>>0)>(16777215); + if ($984) { + $$0212$i$i = 31; + } else { + $985 = (($982) + 1048320)|0; + $986 = $985 >>> 16; + $987 = $986 & 8; + $988 = $982 << $987; + $989 = (($988) + 520192)|0; + $990 = $989 >>> 16; + $991 = $990 & 4; + $992 = $991 | $987; + $993 = $988 << $991; + $994 = (($993) + 245760)|0; + $995 = $994 >>> 16; + $996 = $995 & 2; + $997 = $992 | $996; + $998 = (14 - ($997))|0; + $999 = $993 << $996; + $1000 = $999 >>> 15; + $1001 = (($998) + ($1000))|0; + $1002 = $1001 << 1; + $1003 = (($1001) + 7)|0; + $1004 = $961 >>> $1003; + $1005 = $1004 & 1; + $1006 = $1005 | $1002; + $$0212$i$i = $1006; + } + } + $1007 = (29140 + ($$0212$i$i<<2)|0); + $1008 = ((($630)) + 28|0); + HEAP32[$1008>>2] = $$0212$i$i; + $1009 = ((($630)) + 20|0); + HEAP32[$1009>>2] = 0; + HEAP32[$933>>2] = 0; + $1010 = HEAP32[(28840)>>2]|0; + $1011 = 1 << $$0212$i$i; + $1012 = $1010 & $1011; + $1013 = ($1012|0)==(0); + if ($1013) { + $1014 = $1010 | $1011; + HEAP32[(28840)>>2] = $1014; + HEAP32[$1007>>2] = $630; + $1015 = ((($630)) + 24|0); + HEAP32[$1015>>2] = $1007; + $1016 = ((($630)) + 12|0); + HEAP32[$1016>>2] = $630; + $1017 = ((($630)) + 8|0); + HEAP32[$1017>>2] = $630; + break; + } + $1018 = HEAP32[$1007>>2]|0; + $1019 = ($$0212$i$i|0)==(31); + $1020 = $$0212$i$i >>> 1; + $1021 = (25 - ($1020))|0; + $1022 = $1019 ? 0 : $1021; + $1023 = $961 << $1022; + $$0206$i$i = $1023;$$0207$i$i = $1018; + while(1) { + $1024 = ((($$0207$i$i)) + 4|0); + $1025 = HEAP32[$1024>>2]|0; + $1026 = $1025 & -8; + $1027 = ($1026|0)==($961|0); + if ($1027) { + label = 292; + break; + } + $1028 = $$0206$i$i >>> 31; + $1029 = (((($$0207$i$i)) + 16|0) + ($1028<<2)|0); + $1030 = $$0206$i$i << 1; + $1031 = HEAP32[$1029>>2]|0; + $1032 = ($1031|0)==(0|0); + if ($1032) { + label = 289; + break; + } else { + $$0206$i$i = $1030;$$0207$i$i = $1031; + } + } + if ((label|0) == 289) { + $1033 = HEAP32[(28852)>>2]|0; + $1034 = ($1029>>>0)<($1033>>>0); + if ($1034) { + _abort(); + // unreachable; + } else { + HEAP32[$1029>>2] = $630; + $1035 = ((($630)) + 24|0); + HEAP32[$1035>>2] = $$0207$i$i; + $1036 = ((($630)) + 12|0); + HEAP32[$1036>>2] = $630; + $1037 = ((($630)) + 8|0); + HEAP32[$1037>>2] = $630; + break; + } + } + else if ((label|0) == 292) { + $1038 = ((($$0207$i$i)) + 8|0); + $1039 = HEAP32[$1038>>2]|0; + $1040 = HEAP32[(28852)>>2]|0; + $1041 = ($1039>>>0)>=($1040>>>0); + $not$$i$i = ($$0207$i$i>>>0)>=($1040>>>0); + $1042 = $1041 & $not$$i$i; + if ($1042) { + $1043 = ((($1039)) + 12|0); + HEAP32[$1043>>2] = $630; + HEAP32[$1038>>2] = $630; + $1044 = ((($630)) + 8|0); + HEAP32[$1044>>2] = $1039; + $1045 = ((($630)) + 12|0); + HEAP32[$1045>>2] = $$0207$i$i; + $1046 = ((($630)) + 24|0); + HEAP32[$1046>>2] = 0; + break; + } else { + _abort(); + // unreachable; + } + } + } + } + } while(0); + $1048 = HEAP32[(28848)>>2]|0; + $1049 = ($1048>>>0)>($$0197>>>0); + if ($1049) { + $1050 = (($1048) - ($$0197))|0; + HEAP32[(28848)>>2] = $1050; + $1051 = HEAP32[(28860)>>2]|0; + $1052 = (($1051) + ($$0197)|0); + HEAP32[(28860)>>2] = $1052; + $1053 = $1050 | 1; + $1054 = ((($1052)) + 4|0); + HEAP32[$1054>>2] = $1053; + $1055 = $$0197 | 3; + $1056 = ((($1051)) + 4|0); + HEAP32[$1056>>2] = $1055; + $1057 = ((($1051)) + 8|0); + $$0 = $1057; + STACKTOP = sp;return ($$0|0); + } + } + $1058 = (___errno_location()|0); + HEAP32[$1058>>2] = 12; + $$0 = 0; + STACKTOP = sp;return ($$0|0); +} +function _free($0) { + $0 = $0|0; + var $$0212$i = 0, $$0212$in$i = 0, $$0383 = 0, $$0384 = 0, $$0396 = 0, $$0403 = 0, $$1 = 0, $$1382 = 0, $$1387 = 0, $$1390 = 0, $$1398 = 0, $$1402 = 0, $$2 = 0, $$3 = 0, $$3400 = 0, $$pre = 0, $$pre$phi443Z2D = 0, $$pre$phi445Z2D = 0, $$pre$phiZ2D = 0, $$pre442 = 0; + var $$pre444 = 0, $$sink3 = 0, $$sink5 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0; + var $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0; + var $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0; + var $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0; + var $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0; + var $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0; + var $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0; + var $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0; + var $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0; + var $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0; + var $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0; + var $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0; + var $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; + var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0; + var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0; + var $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0; + var $99 = 0, $cond421 = 0, $cond422 = 0, $not$ = 0, $not$405 = 0, $not$437 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ($0|0)==(0|0); + if ($1) { + return; + } + $2 = ((($0)) + -8|0); + $3 = HEAP32[(28852)>>2]|0; + $4 = ($2>>>0)<($3>>>0); + if ($4) { + _abort(); + // unreachable; + } + $5 = ((($0)) + -4|0); + $6 = HEAP32[$5>>2]|0; + $7 = $6 & 3; + $8 = ($7|0)==(1); + if ($8) { + _abort(); + // unreachable; + } + $9 = $6 & -8; + $10 = (($2) + ($9)|0); + $11 = $6 & 1; + $12 = ($11|0)==(0); + L10: do { + if ($12) { + $13 = HEAP32[$2>>2]|0; + $14 = ($7|0)==(0); + if ($14) { + return; + } + $15 = (0 - ($13))|0; + $16 = (($2) + ($15)|0); + $17 = (($13) + ($9))|0; + $18 = ($16>>>0)<($3>>>0); + if ($18) { + _abort(); + // unreachable; + } + $19 = HEAP32[(28856)>>2]|0; + $20 = ($16|0)==($19|0); + if ($20) { + $104 = ((($10)) + 4|0); + $105 = HEAP32[$104>>2]|0; + $106 = $105 & 3; + $107 = ($106|0)==(3); + if (!($107)) { + $$1 = $16;$$1382 = $17;$113 = $16; + break; + } + $108 = (($16) + ($17)|0); + $109 = ((($16)) + 4|0); + $110 = $17 | 1; + $111 = $105 & -2; + HEAP32[(28844)>>2] = $17; + HEAP32[$104>>2] = $111; + HEAP32[$109>>2] = $110; + HEAP32[$108>>2] = $17; + return; + } + $21 = $13 >>> 3; + $22 = ($13>>>0)<(256); + if ($22) { + $23 = ((($16)) + 8|0); + $24 = HEAP32[$23>>2]|0; + $25 = ((($16)) + 12|0); + $26 = HEAP32[$25>>2]|0; + $27 = $21 << 1; + $28 = (28876 + ($27<<2)|0); + $29 = ($24|0)==($28|0); + if (!($29)) { + $30 = ($24>>>0)<($3>>>0); + if ($30) { + _abort(); + // unreachable; + } + $31 = ((($24)) + 12|0); + $32 = HEAP32[$31>>2]|0; + $33 = ($32|0)==($16|0); + if (!($33)) { + _abort(); + // unreachable; + } + } + $34 = ($26|0)==($24|0); + if ($34) { + $35 = 1 << $21; + $36 = $35 ^ -1; + $37 = HEAP32[7209]|0; + $38 = $37 & $36; + HEAP32[7209] = $38; + $$1 = $16;$$1382 = $17;$113 = $16; + break; + } + $39 = ($26|0)==($28|0); + if ($39) { + $$pre444 = ((($26)) + 8|0); + $$pre$phi445Z2D = $$pre444; + } else { + $40 = ($26>>>0)<($3>>>0); + if ($40) { + _abort(); + // unreachable; + } + $41 = ((($26)) + 8|0); + $42 = HEAP32[$41>>2]|0; + $43 = ($42|0)==($16|0); + if ($43) { + $$pre$phi445Z2D = $41; + } else { + _abort(); + // unreachable; + } + } + $44 = ((($24)) + 12|0); + HEAP32[$44>>2] = $26; + HEAP32[$$pre$phi445Z2D>>2] = $24; + $$1 = $16;$$1382 = $17;$113 = $16; + break; + } + $45 = ((($16)) + 24|0); + $46 = HEAP32[$45>>2]|0; + $47 = ((($16)) + 12|0); + $48 = HEAP32[$47>>2]|0; + $49 = ($48|0)==($16|0); + do { + if ($49) { + $59 = ((($16)) + 16|0); + $60 = ((($59)) + 4|0); + $61 = HEAP32[$60>>2]|0; + $62 = ($61|0)==(0|0); + if ($62) { + $63 = HEAP32[$59>>2]|0; + $64 = ($63|0)==(0|0); + if ($64) { + $$3 = 0; + break; + } else { + $$1387 = $63;$$1390 = $59; + } + } else { + $$1387 = $61;$$1390 = $60; + } + while(1) { + $65 = ((($$1387)) + 20|0); + $66 = HEAP32[$65>>2]|0; + $67 = ($66|0)==(0|0); + if (!($67)) { + $$1387 = $66;$$1390 = $65; + continue; + } + $68 = ((($$1387)) + 16|0); + $69 = HEAP32[$68>>2]|0; + $70 = ($69|0)==(0|0); + if ($70) { + break; + } else { + $$1387 = $69;$$1390 = $68; + } + } + $71 = ($$1390>>>0)<($3>>>0); + if ($71) { + _abort(); + // unreachable; + } else { + HEAP32[$$1390>>2] = 0; + $$3 = $$1387; + break; + } + } else { + $50 = ((($16)) + 8|0); + $51 = HEAP32[$50>>2]|0; + $52 = ($51>>>0)<($3>>>0); + if ($52) { + _abort(); + // unreachable; + } + $53 = ((($51)) + 12|0); + $54 = HEAP32[$53>>2]|0; + $55 = ($54|0)==($16|0); + if (!($55)) { + _abort(); + // unreachable; + } + $56 = ((($48)) + 8|0); + $57 = HEAP32[$56>>2]|0; + $58 = ($57|0)==($16|0); + if ($58) { + HEAP32[$53>>2] = $48; + HEAP32[$56>>2] = $51; + $$3 = $48; + break; + } else { + _abort(); + // unreachable; + } + } + } while(0); + $72 = ($46|0)==(0|0); + if ($72) { + $$1 = $16;$$1382 = $17;$113 = $16; + } else { + $73 = ((($16)) + 28|0); + $74 = HEAP32[$73>>2]|0; + $75 = (29140 + ($74<<2)|0); + $76 = HEAP32[$75>>2]|0; + $77 = ($16|0)==($76|0); + do { + if ($77) { + HEAP32[$75>>2] = $$3; + $cond421 = ($$3|0)==(0|0); + if ($cond421) { + $78 = 1 << $74; + $79 = $78 ^ -1; + $80 = HEAP32[(28840)>>2]|0; + $81 = $80 & $79; + HEAP32[(28840)>>2] = $81; + $$1 = $16;$$1382 = $17;$113 = $16; + break L10; + } + } else { + $82 = HEAP32[(28852)>>2]|0; + $83 = ($46>>>0)<($82>>>0); + if ($83) { + _abort(); + // unreachable; + } else { + $84 = ((($46)) + 16|0); + $85 = HEAP32[$84>>2]|0; + $not$405 = ($85|0)!=($16|0); + $$sink3 = $not$405&1; + $86 = (((($46)) + 16|0) + ($$sink3<<2)|0); + HEAP32[$86>>2] = $$3; + $87 = ($$3|0)==(0|0); + if ($87) { + $$1 = $16;$$1382 = $17;$113 = $16; + break L10; + } else { + break; + } + } + } + } while(0); + $88 = HEAP32[(28852)>>2]|0; + $89 = ($$3>>>0)<($88>>>0); + if ($89) { + _abort(); + // unreachable; + } + $90 = ((($$3)) + 24|0); + HEAP32[$90>>2] = $46; + $91 = ((($16)) + 16|0); + $92 = HEAP32[$91>>2]|0; + $93 = ($92|0)==(0|0); + do { + if (!($93)) { + $94 = ($92>>>0)<($88>>>0); + if ($94) { + _abort(); + // unreachable; + } else { + $95 = ((($$3)) + 16|0); + HEAP32[$95>>2] = $92; + $96 = ((($92)) + 24|0); + HEAP32[$96>>2] = $$3; + break; + } + } + } while(0); + $97 = ((($91)) + 4|0); + $98 = HEAP32[$97>>2]|0; + $99 = ($98|0)==(0|0); + if ($99) { + $$1 = $16;$$1382 = $17;$113 = $16; + } else { + $100 = HEAP32[(28852)>>2]|0; + $101 = ($98>>>0)<($100>>>0); + if ($101) { + _abort(); + // unreachable; + } else { + $102 = ((($$3)) + 20|0); + HEAP32[$102>>2] = $98; + $103 = ((($98)) + 24|0); + HEAP32[$103>>2] = $$3; + $$1 = $16;$$1382 = $17;$113 = $16; + break; + } + } + } + } else { + $$1 = $2;$$1382 = $9;$113 = $2; + } + } while(0); + $112 = ($113>>>0)<($10>>>0); + if (!($112)) { + _abort(); + // unreachable; + } + $114 = ((($10)) + 4|0); + $115 = HEAP32[$114>>2]|0; + $116 = $115 & 1; + $117 = ($116|0)==(0); + if ($117) { + _abort(); + // unreachable; + } + $118 = $115 & 2; + $119 = ($118|0)==(0); + if ($119) { + $120 = HEAP32[(28860)>>2]|0; + $121 = ($10|0)==($120|0); + $122 = HEAP32[(28856)>>2]|0; + if ($121) { + $123 = HEAP32[(28848)>>2]|0; + $124 = (($123) + ($$1382))|0; + HEAP32[(28848)>>2] = $124; + HEAP32[(28860)>>2] = $$1; + $125 = $124 | 1; + $126 = ((($$1)) + 4|0); + HEAP32[$126>>2] = $125; + $127 = ($$1|0)==($122|0); + if (!($127)) { + return; + } + HEAP32[(28856)>>2] = 0; + HEAP32[(28844)>>2] = 0; + return; + } + $128 = ($10|0)==($122|0); + if ($128) { + $129 = HEAP32[(28844)>>2]|0; + $130 = (($129) + ($$1382))|0; + HEAP32[(28844)>>2] = $130; + HEAP32[(28856)>>2] = $113; + $131 = $130 | 1; + $132 = ((($$1)) + 4|0); + HEAP32[$132>>2] = $131; + $133 = (($113) + ($130)|0); + HEAP32[$133>>2] = $130; + return; + } + $134 = $115 & -8; + $135 = (($134) + ($$1382))|0; + $136 = $115 >>> 3; + $137 = ($115>>>0)<(256); + L108: do { + if ($137) { + $138 = ((($10)) + 8|0); + $139 = HEAP32[$138>>2]|0; + $140 = ((($10)) + 12|0); + $141 = HEAP32[$140>>2]|0; + $142 = $136 << 1; + $143 = (28876 + ($142<<2)|0); + $144 = ($139|0)==($143|0); + if (!($144)) { + $145 = HEAP32[(28852)>>2]|0; + $146 = ($139>>>0)<($145>>>0); + if ($146) { + _abort(); + // unreachable; + } + $147 = ((($139)) + 12|0); + $148 = HEAP32[$147>>2]|0; + $149 = ($148|0)==($10|0); + if (!($149)) { + _abort(); + // unreachable; + } + } + $150 = ($141|0)==($139|0); + if ($150) { + $151 = 1 << $136; + $152 = $151 ^ -1; + $153 = HEAP32[7209]|0; + $154 = $153 & $152; + HEAP32[7209] = $154; + break; + } + $155 = ($141|0)==($143|0); + if ($155) { + $$pre442 = ((($141)) + 8|0); + $$pre$phi443Z2D = $$pre442; + } else { + $156 = HEAP32[(28852)>>2]|0; + $157 = ($141>>>0)<($156>>>0); + if ($157) { + _abort(); + // unreachable; + } + $158 = ((($141)) + 8|0); + $159 = HEAP32[$158>>2]|0; + $160 = ($159|0)==($10|0); + if ($160) { + $$pre$phi443Z2D = $158; + } else { + _abort(); + // unreachable; + } + } + $161 = ((($139)) + 12|0); + HEAP32[$161>>2] = $141; + HEAP32[$$pre$phi443Z2D>>2] = $139; + } else { + $162 = ((($10)) + 24|0); + $163 = HEAP32[$162>>2]|0; + $164 = ((($10)) + 12|0); + $165 = HEAP32[$164>>2]|0; + $166 = ($165|0)==($10|0); + do { + if ($166) { + $177 = ((($10)) + 16|0); + $178 = ((($177)) + 4|0); + $179 = HEAP32[$178>>2]|0; + $180 = ($179|0)==(0|0); + if ($180) { + $181 = HEAP32[$177>>2]|0; + $182 = ($181|0)==(0|0); + if ($182) { + $$3400 = 0; + break; + } else { + $$1398 = $181;$$1402 = $177; + } + } else { + $$1398 = $179;$$1402 = $178; + } + while(1) { + $183 = ((($$1398)) + 20|0); + $184 = HEAP32[$183>>2]|0; + $185 = ($184|0)==(0|0); + if (!($185)) { + $$1398 = $184;$$1402 = $183; + continue; + } + $186 = ((($$1398)) + 16|0); + $187 = HEAP32[$186>>2]|0; + $188 = ($187|0)==(0|0); + if ($188) { + break; + } else { + $$1398 = $187;$$1402 = $186; + } + } + $189 = HEAP32[(28852)>>2]|0; + $190 = ($$1402>>>0)<($189>>>0); + if ($190) { + _abort(); + // unreachable; + } else { + HEAP32[$$1402>>2] = 0; + $$3400 = $$1398; + break; + } + } else { + $167 = ((($10)) + 8|0); + $168 = HEAP32[$167>>2]|0; + $169 = HEAP32[(28852)>>2]|0; + $170 = ($168>>>0)<($169>>>0); + if ($170) { + _abort(); + // unreachable; + } + $171 = ((($168)) + 12|0); + $172 = HEAP32[$171>>2]|0; + $173 = ($172|0)==($10|0); + if (!($173)) { + _abort(); + // unreachable; + } + $174 = ((($165)) + 8|0); + $175 = HEAP32[$174>>2]|0; + $176 = ($175|0)==($10|0); + if ($176) { + HEAP32[$171>>2] = $165; + HEAP32[$174>>2] = $168; + $$3400 = $165; + break; + } else { + _abort(); + // unreachable; + } + } + } while(0); + $191 = ($163|0)==(0|0); + if (!($191)) { + $192 = ((($10)) + 28|0); + $193 = HEAP32[$192>>2]|0; + $194 = (29140 + ($193<<2)|0); + $195 = HEAP32[$194>>2]|0; + $196 = ($10|0)==($195|0); + do { + if ($196) { + HEAP32[$194>>2] = $$3400; + $cond422 = ($$3400|0)==(0|0); + if ($cond422) { + $197 = 1 << $193; + $198 = $197 ^ -1; + $199 = HEAP32[(28840)>>2]|0; + $200 = $199 & $198; + HEAP32[(28840)>>2] = $200; + break L108; + } + } else { + $201 = HEAP32[(28852)>>2]|0; + $202 = ($163>>>0)<($201>>>0); + if ($202) { + _abort(); + // unreachable; + } else { + $203 = ((($163)) + 16|0); + $204 = HEAP32[$203>>2]|0; + $not$ = ($204|0)!=($10|0); + $$sink5 = $not$&1; + $205 = (((($163)) + 16|0) + ($$sink5<<2)|0); + HEAP32[$205>>2] = $$3400; + $206 = ($$3400|0)==(0|0); + if ($206) { + break L108; + } else { + break; + } + } + } + } while(0); + $207 = HEAP32[(28852)>>2]|0; + $208 = ($$3400>>>0)<($207>>>0); + if ($208) { + _abort(); + // unreachable; + } + $209 = ((($$3400)) + 24|0); + HEAP32[$209>>2] = $163; + $210 = ((($10)) + 16|0); + $211 = HEAP32[$210>>2]|0; + $212 = ($211|0)==(0|0); + do { + if (!($212)) { + $213 = ($211>>>0)<($207>>>0); + if ($213) { + _abort(); + // unreachable; + } else { + $214 = ((($$3400)) + 16|0); + HEAP32[$214>>2] = $211; + $215 = ((($211)) + 24|0); + HEAP32[$215>>2] = $$3400; + break; + } + } + } while(0); + $216 = ((($210)) + 4|0); + $217 = HEAP32[$216>>2]|0; + $218 = ($217|0)==(0|0); + if (!($218)) { + $219 = HEAP32[(28852)>>2]|0; + $220 = ($217>>>0)<($219>>>0); + if ($220) { + _abort(); + // unreachable; + } else { + $221 = ((($$3400)) + 20|0); + HEAP32[$221>>2] = $217; + $222 = ((($217)) + 24|0); + HEAP32[$222>>2] = $$3400; + break; + } + } + } + } + } while(0); + $223 = $135 | 1; + $224 = ((($$1)) + 4|0); + HEAP32[$224>>2] = $223; + $225 = (($113) + ($135)|0); + HEAP32[$225>>2] = $135; + $226 = HEAP32[(28856)>>2]|0; + $227 = ($$1|0)==($226|0); + if ($227) { + HEAP32[(28844)>>2] = $135; + return; + } else { + $$2 = $135; + } + } else { + $228 = $115 & -2; + HEAP32[$114>>2] = $228; + $229 = $$1382 | 1; + $230 = ((($$1)) + 4|0); + HEAP32[$230>>2] = $229; + $231 = (($113) + ($$1382)|0); + HEAP32[$231>>2] = $$1382; + $$2 = $$1382; + } + $232 = $$2 >>> 3; + $233 = ($$2>>>0)<(256); + if ($233) { + $234 = $232 << 1; + $235 = (28876 + ($234<<2)|0); + $236 = HEAP32[7209]|0; + $237 = 1 << $232; + $238 = $236 & $237; + $239 = ($238|0)==(0); + if ($239) { + $240 = $236 | $237; + HEAP32[7209] = $240; + $$pre = ((($235)) + 8|0); + $$0403 = $235;$$pre$phiZ2D = $$pre; + } else { + $241 = ((($235)) + 8|0); + $242 = HEAP32[$241>>2]|0; + $243 = HEAP32[(28852)>>2]|0; + $244 = ($242>>>0)<($243>>>0); + if ($244) { + _abort(); + // unreachable; + } else { + $$0403 = $242;$$pre$phiZ2D = $241; + } + } + HEAP32[$$pre$phiZ2D>>2] = $$1; + $245 = ((($$0403)) + 12|0); + HEAP32[$245>>2] = $$1; + $246 = ((($$1)) + 8|0); + HEAP32[$246>>2] = $$0403; + $247 = ((($$1)) + 12|0); + HEAP32[$247>>2] = $235; + return; + } + $248 = $$2 >>> 8; + $249 = ($248|0)==(0); + if ($249) { + $$0396 = 0; + } else { + $250 = ($$2>>>0)>(16777215); + if ($250) { + $$0396 = 31; + } else { + $251 = (($248) + 1048320)|0; + $252 = $251 >>> 16; + $253 = $252 & 8; + $254 = $248 << $253; + $255 = (($254) + 520192)|0; + $256 = $255 >>> 16; + $257 = $256 & 4; + $258 = $257 | $253; + $259 = $254 << $257; + $260 = (($259) + 245760)|0; + $261 = $260 >>> 16; + $262 = $261 & 2; + $263 = $258 | $262; + $264 = (14 - ($263))|0; + $265 = $259 << $262; + $266 = $265 >>> 15; + $267 = (($264) + ($266))|0; + $268 = $267 << 1; + $269 = (($267) + 7)|0; + $270 = $$2 >>> $269; + $271 = $270 & 1; + $272 = $271 | $268; + $$0396 = $272; + } + } + $273 = (29140 + ($$0396<<2)|0); + $274 = ((($$1)) + 28|0); + HEAP32[$274>>2] = $$0396; + $275 = ((($$1)) + 16|0); + $276 = ((($$1)) + 20|0); + HEAP32[$276>>2] = 0; + HEAP32[$275>>2] = 0; + $277 = HEAP32[(28840)>>2]|0; + $278 = 1 << $$0396; + $279 = $277 & $278; + $280 = ($279|0)==(0); + do { + if ($280) { + $281 = $277 | $278; + HEAP32[(28840)>>2] = $281; + HEAP32[$273>>2] = $$1; + $282 = ((($$1)) + 24|0); + HEAP32[$282>>2] = $273; + $283 = ((($$1)) + 12|0); + HEAP32[$283>>2] = $$1; + $284 = ((($$1)) + 8|0); + HEAP32[$284>>2] = $$1; + } else { + $285 = HEAP32[$273>>2]|0; + $286 = ($$0396|0)==(31); + $287 = $$0396 >>> 1; + $288 = (25 - ($287))|0; + $289 = $286 ? 0 : $288; + $290 = $$2 << $289; + $$0383 = $290;$$0384 = $285; + while(1) { + $291 = ((($$0384)) + 4|0); + $292 = HEAP32[$291>>2]|0; + $293 = $292 & -8; + $294 = ($293|0)==($$2|0); + if ($294) { + label = 124; + break; + } + $295 = $$0383 >>> 31; + $296 = (((($$0384)) + 16|0) + ($295<<2)|0); + $297 = $$0383 << 1; + $298 = HEAP32[$296>>2]|0; + $299 = ($298|0)==(0|0); + if ($299) { + label = 121; + break; + } else { + $$0383 = $297;$$0384 = $298; + } + } + if ((label|0) == 121) { + $300 = HEAP32[(28852)>>2]|0; + $301 = ($296>>>0)<($300>>>0); + if ($301) { + _abort(); + // unreachable; + } else { + HEAP32[$296>>2] = $$1; + $302 = ((($$1)) + 24|0); + HEAP32[$302>>2] = $$0384; + $303 = ((($$1)) + 12|0); + HEAP32[$303>>2] = $$1; + $304 = ((($$1)) + 8|0); + HEAP32[$304>>2] = $$1; + break; + } + } + else if ((label|0) == 124) { + $305 = ((($$0384)) + 8|0); + $306 = HEAP32[$305>>2]|0; + $307 = HEAP32[(28852)>>2]|0; + $308 = ($306>>>0)>=($307>>>0); + $not$437 = ($$0384>>>0)>=($307>>>0); + $309 = $308 & $not$437; + if ($309) { + $310 = ((($306)) + 12|0); + HEAP32[$310>>2] = $$1; + HEAP32[$305>>2] = $$1; + $311 = ((($$1)) + 8|0); + HEAP32[$311>>2] = $306; + $312 = ((($$1)) + 12|0); + HEAP32[$312>>2] = $$0384; + $313 = ((($$1)) + 24|0); + HEAP32[$313>>2] = 0; + break; + } else { + _abort(); + // unreachable; + } + } + } + } while(0); + $314 = HEAP32[(28868)>>2]|0; + $315 = (($314) + -1)|0; + HEAP32[(28868)>>2] = $315; + $316 = ($315|0)==(0); + if ($316) { + $$0212$in$i = (29292); + } else { + return; + } + while(1) { + $$0212$i = HEAP32[$$0212$in$i>>2]|0; + $317 = ($$0212$i|0)==(0|0); + $318 = ((($$0212$i)) + 8|0); + if ($317) { + break; + } else { + $$0212$in$i = $318; + } + } + HEAP32[(28868)>>2] = -1; + return; +} +function _calloc($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$ = 0, $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ($0|0)==(0); + if ($2) { + $$0 = 0; + } else { + $3 = Math_imul($1, $0)|0; + $4 = $1 | $0; + $5 = ($4>>>0)>(65535); + if ($5) { + $6 = (($3>>>0) / ($0>>>0))&-1; + $7 = ($6|0)==($1|0); + $$ = $7 ? $3 : -1; + $$0 = $$; + } else { + $$0 = $3; + } + } + $8 = (_malloc($$0)|0); + $9 = ($8|0)==(0|0); + if ($9) { + return ($8|0); + } + $10 = ((($8)) + -4|0); + $11 = HEAP32[$10>>2]|0; + $12 = $11 & 3; + $13 = ($12|0)==(0); + if ($13) { + return ($8|0); + } + _memset(($8|0),0,($$0|0))|0; + return ($8|0); +} +function _realloc($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0, $5 = 0; + var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ($0|0)==(0|0); + if ($2) { + $3 = (_malloc($1)|0); + $$1 = $3; + return ($$1|0); + } + $4 = ($1>>>0)>(4294967231); + if ($4) { + $5 = (___errno_location()|0); + HEAP32[$5>>2] = 12; + $$1 = 0; + return ($$1|0); + } + $6 = ($1>>>0)<(11); + $7 = (($1) + 11)|0; + $8 = $7 & -8; + $9 = $6 ? 16 : $8; + $10 = ((($0)) + -8|0); + $11 = (_try_realloc_chunk($10,$9)|0); + $12 = ($11|0)==(0|0); + if (!($12)) { + $13 = ((($11)) + 8|0); + $$1 = $13; + return ($$1|0); + } + $14 = (_malloc($1)|0); + $15 = ($14|0)==(0|0); + if ($15) { + $$1 = 0; + return ($$1|0); + } + $16 = ((($0)) + -4|0); + $17 = HEAP32[$16>>2]|0; + $18 = $17 & -8; + $19 = $17 & 3; + $20 = ($19|0)==(0); + $21 = $20 ? 8 : 4; + $22 = (($18) - ($21))|0; + $23 = ($22>>>0)<($1>>>0); + $24 = $23 ? $22 : $1; + _memcpy(($14|0),($0|0),($24|0))|0; + _free($0); + $$1 = $14; + return ($$1|0); +} +function _try_realloc_chunk($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$1272 = 0, $$1275 = 0, $$2 = 0, $$3 = 0, $$pre = 0, $$pre$phiZ2D = 0, $$sink1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0; + var $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0; + var $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0; + var $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0; + var $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; + var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0; + var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0; + var $cond = 0, $not$ = 0, $notlhs = 0, $notrhs = 0, $or$cond$not = 0, $or$cond3 = 0, $storemerge = 0, $storemerge1 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($0)) + 4|0); + $3 = HEAP32[$2>>2]|0; + $4 = $3 & -8; + $5 = (($0) + ($4)|0); + $6 = HEAP32[(28852)>>2]|0; + $7 = $3 & 3; + $notlhs = ($0>>>0)>=($6>>>0); + $notrhs = ($7|0)!=(1); + $or$cond$not = $notrhs & $notlhs; + $8 = ($0>>>0)<($5>>>0); + $or$cond3 = $or$cond$not & $8; + if (!($or$cond3)) { + _abort(); + // unreachable; + } + $9 = ((($5)) + 4|0); + $10 = HEAP32[$9>>2]|0; + $11 = $10 & 1; + $12 = ($11|0)==(0); + if ($12) { + _abort(); + // unreachable; + } + $13 = ($7|0)==(0); + if ($13) { + $14 = ($1>>>0)<(256); + if ($14) { + $$2 = 0; + return ($$2|0); + } + $15 = (($1) + 4)|0; + $16 = ($4>>>0)<($15>>>0); + if (!($16)) { + $17 = (($4) - ($1))|0; + $18 = HEAP32[(29316)>>2]|0; + $19 = $18 << 1; + $20 = ($17>>>0)>($19>>>0); + if (!($20)) { + $$2 = $0; + return ($$2|0); + } + } + $$2 = 0; + return ($$2|0); + } + $21 = ($4>>>0)<($1>>>0); + if (!($21)) { + $22 = (($4) - ($1))|0; + $23 = ($22>>>0)>(15); + if (!($23)) { + $$2 = $0; + return ($$2|0); + } + $24 = (($0) + ($1)|0); + $25 = $3 & 1; + $26 = $25 | $1; + $27 = $26 | 2; + HEAP32[$2>>2] = $27; + $28 = ((($24)) + 4|0); + $29 = $22 | 3; + HEAP32[$28>>2] = $29; + $30 = (($24) + ($22)|0); + $31 = ((($30)) + 4|0); + $32 = HEAP32[$31>>2]|0; + $33 = $32 | 1; + HEAP32[$31>>2] = $33; + _dispose_chunk($24,$22); + $$2 = $0; + return ($$2|0); + } + $34 = HEAP32[(28860)>>2]|0; + $35 = ($5|0)==($34|0); + if ($35) { + $36 = HEAP32[(28848)>>2]|0; + $37 = (($36) + ($4))|0; + $38 = ($37>>>0)>($1>>>0); + $39 = (($37) - ($1))|0; + $40 = (($0) + ($1)|0); + if (!($38)) { + $$2 = 0; + return ($$2|0); + } + $41 = $39 | 1; + $42 = ((($40)) + 4|0); + $43 = $3 & 1; + $44 = $43 | $1; + $45 = $44 | 2; + HEAP32[$2>>2] = $45; + HEAP32[$42>>2] = $41; + HEAP32[(28860)>>2] = $40; + HEAP32[(28848)>>2] = $39; + $$2 = $0; + return ($$2|0); + } + $46 = HEAP32[(28856)>>2]|0; + $47 = ($5|0)==($46|0); + if ($47) { + $48 = HEAP32[(28844)>>2]|0; + $49 = (($48) + ($4))|0; + $50 = ($49>>>0)<($1>>>0); + if ($50) { + $$2 = 0; + return ($$2|0); + } + $51 = (($49) - ($1))|0; + $52 = ($51>>>0)>(15); + $53 = $3 & 1; + if ($52) { + $54 = (($0) + ($1)|0); + $55 = (($54) + ($51)|0); + $56 = $53 | $1; + $57 = $56 | 2; + HEAP32[$2>>2] = $57; + $58 = ((($54)) + 4|0); + $59 = $51 | 1; + HEAP32[$58>>2] = $59; + HEAP32[$55>>2] = $51; + $60 = ((($55)) + 4|0); + $61 = HEAP32[$60>>2]|0; + $62 = $61 & -2; + HEAP32[$60>>2] = $62; + $storemerge = $54;$storemerge1 = $51; + } else { + $63 = $53 | $49; + $64 = $63 | 2; + HEAP32[$2>>2] = $64; + $65 = (($0) + ($49)|0); + $66 = ((($65)) + 4|0); + $67 = HEAP32[$66>>2]|0; + $68 = $67 | 1; + HEAP32[$66>>2] = $68; + $storemerge = 0;$storemerge1 = 0; + } + HEAP32[(28844)>>2] = $storemerge1; + HEAP32[(28856)>>2] = $storemerge; + $$2 = $0; + return ($$2|0); + } + $69 = $10 & 2; + $70 = ($69|0)==(0); + if (!($70)) { + $$2 = 0; + return ($$2|0); + } + $71 = $10 & -8; + $72 = (($71) + ($4))|0; + $73 = ($72>>>0)<($1>>>0); + if ($73) { + $$2 = 0; + return ($$2|0); + } + $74 = (($72) - ($1))|0; + $75 = $10 >>> 3; + $76 = ($10>>>0)<(256); + L49: do { + if ($76) { + $77 = ((($5)) + 8|0); + $78 = HEAP32[$77>>2]|0; + $79 = ((($5)) + 12|0); + $80 = HEAP32[$79>>2]|0; + $81 = $75 << 1; + $82 = (28876 + ($81<<2)|0); + $83 = ($78|0)==($82|0); + if (!($83)) { + $84 = ($78>>>0)<($6>>>0); + if ($84) { + _abort(); + // unreachable; + } + $85 = ((($78)) + 12|0); + $86 = HEAP32[$85>>2]|0; + $87 = ($86|0)==($5|0); + if (!($87)) { + _abort(); + // unreachable; + } + } + $88 = ($80|0)==($78|0); + if ($88) { + $89 = 1 << $75; + $90 = $89 ^ -1; + $91 = HEAP32[7209]|0; + $92 = $91 & $90; + HEAP32[7209] = $92; + break; + } + $93 = ($80|0)==($82|0); + if ($93) { + $$pre = ((($80)) + 8|0); + $$pre$phiZ2D = $$pre; + } else { + $94 = ($80>>>0)<($6>>>0); + if ($94) { + _abort(); + // unreachable; + } + $95 = ((($80)) + 8|0); + $96 = HEAP32[$95>>2]|0; + $97 = ($96|0)==($5|0); + if ($97) { + $$pre$phiZ2D = $95; + } else { + _abort(); + // unreachable; + } + } + $98 = ((($78)) + 12|0); + HEAP32[$98>>2] = $80; + HEAP32[$$pre$phiZ2D>>2] = $78; + } else { + $99 = ((($5)) + 24|0); + $100 = HEAP32[$99>>2]|0; + $101 = ((($5)) + 12|0); + $102 = HEAP32[$101>>2]|0; + $103 = ($102|0)==($5|0); + do { + if ($103) { + $113 = ((($5)) + 16|0); + $114 = ((($113)) + 4|0); + $115 = HEAP32[$114>>2]|0; + $116 = ($115|0)==(0|0); + if ($116) { + $117 = HEAP32[$113>>2]|0; + $118 = ($117|0)==(0|0); + if ($118) { + $$3 = 0; + break; + } else { + $$1272 = $117;$$1275 = $113; + } + } else { + $$1272 = $115;$$1275 = $114; + } + while(1) { + $119 = ((($$1272)) + 20|0); + $120 = HEAP32[$119>>2]|0; + $121 = ($120|0)==(0|0); + if (!($121)) { + $$1272 = $120;$$1275 = $119; + continue; + } + $122 = ((($$1272)) + 16|0); + $123 = HEAP32[$122>>2]|0; + $124 = ($123|0)==(0|0); + if ($124) { + break; + } else { + $$1272 = $123;$$1275 = $122; + } + } + $125 = ($$1275>>>0)<($6>>>0); + if ($125) { + _abort(); + // unreachable; + } else { + HEAP32[$$1275>>2] = 0; + $$3 = $$1272; + break; + } + } else { + $104 = ((($5)) + 8|0); + $105 = HEAP32[$104>>2]|0; + $106 = ($105>>>0)<($6>>>0); + if ($106) { + _abort(); + // unreachable; + } + $107 = ((($105)) + 12|0); + $108 = HEAP32[$107>>2]|0; + $109 = ($108|0)==($5|0); + if (!($109)) { + _abort(); + // unreachable; + } + $110 = ((($102)) + 8|0); + $111 = HEAP32[$110>>2]|0; + $112 = ($111|0)==($5|0); + if ($112) { + HEAP32[$107>>2] = $102; + HEAP32[$110>>2] = $105; + $$3 = $102; + break; + } else { + _abort(); + // unreachable; + } + } + } while(0); + $126 = ($100|0)==(0|0); + if (!($126)) { + $127 = ((($5)) + 28|0); + $128 = HEAP32[$127>>2]|0; + $129 = (29140 + ($128<<2)|0); + $130 = HEAP32[$129>>2]|0; + $131 = ($5|0)==($130|0); + do { + if ($131) { + HEAP32[$129>>2] = $$3; + $cond = ($$3|0)==(0|0); + if ($cond) { + $132 = 1 << $128; + $133 = $132 ^ -1; + $134 = HEAP32[(28840)>>2]|0; + $135 = $134 & $133; + HEAP32[(28840)>>2] = $135; + break L49; + } + } else { + $136 = HEAP32[(28852)>>2]|0; + $137 = ($100>>>0)<($136>>>0); + if ($137) { + _abort(); + // unreachable; + } else { + $138 = ((($100)) + 16|0); + $139 = HEAP32[$138>>2]|0; + $not$ = ($139|0)!=($5|0); + $$sink1 = $not$&1; + $140 = (((($100)) + 16|0) + ($$sink1<<2)|0); + HEAP32[$140>>2] = $$3; + $141 = ($$3|0)==(0|0); + if ($141) { + break L49; + } else { + break; + } + } + } + } while(0); + $142 = HEAP32[(28852)>>2]|0; + $143 = ($$3>>>0)<($142>>>0); + if ($143) { + _abort(); + // unreachable; + } + $144 = ((($$3)) + 24|0); + HEAP32[$144>>2] = $100; + $145 = ((($5)) + 16|0); + $146 = HEAP32[$145>>2]|0; + $147 = ($146|0)==(0|0); + do { + if (!($147)) { + $148 = ($146>>>0)<($142>>>0); + if ($148) { + _abort(); + // unreachable; + } else { + $149 = ((($$3)) + 16|0); + HEAP32[$149>>2] = $146; + $150 = ((($146)) + 24|0); + HEAP32[$150>>2] = $$3; + break; + } + } + } while(0); + $151 = ((($145)) + 4|0); + $152 = HEAP32[$151>>2]|0; + $153 = ($152|0)==(0|0); + if (!($153)) { + $154 = HEAP32[(28852)>>2]|0; + $155 = ($152>>>0)<($154>>>0); + if ($155) { + _abort(); + // unreachable; + } else { + $156 = ((($$3)) + 20|0); + HEAP32[$156>>2] = $152; + $157 = ((($152)) + 24|0); + HEAP32[$157>>2] = $$3; + break; + } + } + } + } + } while(0); + $158 = ($74>>>0)<(16); + $159 = $3 & 1; + if ($158) { + $160 = $72 | $159; + $161 = $160 | 2; + HEAP32[$2>>2] = $161; + $162 = (($0) + ($72)|0); + $163 = ((($162)) + 4|0); + $164 = HEAP32[$163>>2]|0; + $165 = $164 | 1; + HEAP32[$163>>2] = $165; + $$2 = $0; + return ($$2|0); + } else { + $166 = (($0) + ($1)|0); + $167 = $159 | $1; + $168 = $167 | 2; + HEAP32[$2>>2] = $168; + $169 = ((($166)) + 4|0); + $170 = $74 | 3; + HEAP32[$169>>2] = $170; + $171 = (($166) + ($74)|0); + $172 = ((($171)) + 4|0); + $173 = HEAP32[$172>>2]|0; + $174 = $173 | 1; + HEAP32[$172>>2] = $174; + _dispose_chunk($166,$74); + $$2 = $0; + return ($$2|0); + } + return (0)|0; +} +function _dispose_chunk($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0419 = 0, $$0420 = 0, $$0431 = 0, $$0438 = 0, $$1 = 0, $$1418 = 0, $$1426 = 0, $$1429 = 0, $$1433 = 0, $$1437 = 0, $$2 = 0, $$3 = 0, $$3435 = 0, $$pre = 0, $$pre$phi24Z2D = 0, $$pre$phi26Z2D = 0, $$pre$phiZ2D = 0, $$pre23 = 0, $$pre25 = 0, $$sink2 = 0; + var $$sink4 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0; + var $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0; + var $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0; + var $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0; + var $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0; + var $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0; + var $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0; + var $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0; + var $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0; + var $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0; + var $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0; + var $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; + var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0; + var $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0; + var $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0; + var $97 = 0, $98 = 0, $99 = 0, $cond = 0, $cond17 = 0, $not$ = 0, $not$1 = 0, $not$19 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = (($0) + ($1)|0); + $3 = ((($0)) + 4|0); + $4 = HEAP32[$3>>2]|0; + $5 = $4 & 1; + $6 = ($5|0)==(0); + L1: do { + if ($6) { + $7 = HEAP32[$0>>2]|0; + $8 = $4 & 3; + $9 = ($8|0)==(0); + if ($9) { + return; + } + $10 = (0 - ($7))|0; + $11 = (($0) + ($10)|0); + $12 = (($7) + ($1))|0; + $13 = HEAP32[(28852)>>2]|0; + $14 = ($11>>>0)<($13>>>0); + if ($14) { + _abort(); + // unreachable; + } + $15 = HEAP32[(28856)>>2]|0; + $16 = ($11|0)==($15|0); + if ($16) { + $100 = ((($2)) + 4|0); + $101 = HEAP32[$100>>2]|0; + $102 = $101 & 3; + $103 = ($102|0)==(3); + if (!($103)) { + $$1 = $11;$$1418 = $12; + break; + } + $104 = (($11) + ($12)|0); + $105 = ((($11)) + 4|0); + $106 = $12 | 1; + $107 = $101 & -2; + HEAP32[(28844)>>2] = $12; + HEAP32[$100>>2] = $107; + HEAP32[$105>>2] = $106; + HEAP32[$104>>2] = $12; + return; + } + $17 = $7 >>> 3; + $18 = ($7>>>0)<(256); + if ($18) { + $19 = ((($11)) + 8|0); + $20 = HEAP32[$19>>2]|0; + $21 = ((($11)) + 12|0); + $22 = HEAP32[$21>>2]|0; + $23 = $17 << 1; + $24 = (28876 + ($23<<2)|0); + $25 = ($20|0)==($24|0); + if (!($25)) { + $26 = ($20>>>0)<($13>>>0); + if ($26) { + _abort(); + // unreachable; + } + $27 = ((($20)) + 12|0); + $28 = HEAP32[$27>>2]|0; + $29 = ($28|0)==($11|0); + if (!($29)) { + _abort(); + // unreachable; + } + } + $30 = ($22|0)==($20|0); + if ($30) { + $31 = 1 << $17; + $32 = $31 ^ -1; + $33 = HEAP32[7209]|0; + $34 = $33 & $32; + HEAP32[7209] = $34; + $$1 = $11;$$1418 = $12; + break; + } + $35 = ($22|0)==($24|0); + if ($35) { + $$pre25 = ((($22)) + 8|0); + $$pre$phi26Z2D = $$pre25; + } else { + $36 = ($22>>>0)<($13>>>0); + if ($36) { + _abort(); + // unreachable; + } + $37 = ((($22)) + 8|0); + $38 = HEAP32[$37>>2]|0; + $39 = ($38|0)==($11|0); + if ($39) { + $$pre$phi26Z2D = $37; + } else { + _abort(); + // unreachable; + } + } + $40 = ((($20)) + 12|0); + HEAP32[$40>>2] = $22; + HEAP32[$$pre$phi26Z2D>>2] = $20; + $$1 = $11;$$1418 = $12; + break; + } + $41 = ((($11)) + 24|0); + $42 = HEAP32[$41>>2]|0; + $43 = ((($11)) + 12|0); + $44 = HEAP32[$43>>2]|0; + $45 = ($44|0)==($11|0); + do { + if ($45) { + $55 = ((($11)) + 16|0); + $56 = ((($55)) + 4|0); + $57 = HEAP32[$56>>2]|0; + $58 = ($57|0)==(0|0); + if ($58) { + $59 = HEAP32[$55>>2]|0; + $60 = ($59|0)==(0|0); + if ($60) { + $$3 = 0; + break; + } else { + $$1426 = $59;$$1429 = $55; + } + } else { + $$1426 = $57;$$1429 = $56; + } + while(1) { + $61 = ((($$1426)) + 20|0); + $62 = HEAP32[$61>>2]|0; + $63 = ($62|0)==(0|0); + if (!($63)) { + $$1426 = $62;$$1429 = $61; + continue; + } + $64 = ((($$1426)) + 16|0); + $65 = HEAP32[$64>>2]|0; + $66 = ($65|0)==(0|0); + if ($66) { + break; + } else { + $$1426 = $65;$$1429 = $64; + } + } + $67 = ($$1429>>>0)<($13>>>0); + if ($67) { + _abort(); + // unreachable; + } else { + HEAP32[$$1429>>2] = 0; + $$3 = $$1426; + break; + } + } else { + $46 = ((($11)) + 8|0); + $47 = HEAP32[$46>>2]|0; + $48 = ($47>>>0)<($13>>>0); + if ($48) { + _abort(); + // unreachable; + } + $49 = ((($47)) + 12|0); + $50 = HEAP32[$49>>2]|0; + $51 = ($50|0)==($11|0); + if (!($51)) { + _abort(); + // unreachable; + } + $52 = ((($44)) + 8|0); + $53 = HEAP32[$52>>2]|0; + $54 = ($53|0)==($11|0); + if ($54) { + HEAP32[$49>>2] = $44; + HEAP32[$52>>2] = $47; + $$3 = $44; + break; + } else { + _abort(); + // unreachable; + } + } + } while(0); + $68 = ($42|0)==(0|0); + if ($68) { + $$1 = $11;$$1418 = $12; + } else { + $69 = ((($11)) + 28|0); + $70 = HEAP32[$69>>2]|0; + $71 = (29140 + ($70<<2)|0); + $72 = HEAP32[$71>>2]|0; + $73 = ($11|0)==($72|0); + do { + if ($73) { + HEAP32[$71>>2] = $$3; + $cond = ($$3|0)==(0|0); + if ($cond) { + $74 = 1 << $70; + $75 = $74 ^ -1; + $76 = HEAP32[(28840)>>2]|0; + $77 = $76 & $75; + HEAP32[(28840)>>2] = $77; + $$1 = $11;$$1418 = $12; + break L1; + } + } else { + $78 = HEAP32[(28852)>>2]|0; + $79 = ($42>>>0)<($78>>>0); + if ($79) { + _abort(); + // unreachable; + } else { + $80 = ((($42)) + 16|0); + $81 = HEAP32[$80>>2]|0; + $not$1 = ($81|0)!=($11|0); + $$sink2 = $not$1&1; + $82 = (((($42)) + 16|0) + ($$sink2<<2)|0); + HEAP32[$82>>2] = $$3; + $83 = ($$3|0)==(0|0); + if ($83) { + $$1 = $11;$$1418 = $12; + break L1; + } else { + break; + } + } + } + } while(0); + $84 = HEAP32[(28852)>>2]|0; + $85 = ($$3>>>0)<($84>>>0); + if ($85) { + _abort(); + // unreachable; + } + $86 = ((($$3)) + 24|0); + HEAP32[$86>>2] = $42; + $87 = ((($11)) + 16|0); + $88 = HEAP32[$87>>2]|0; + $89 = ($88|0)==(0|0); + do { + if (!($89)) { + $90 = ($88>>>0)<($84>>>0); + if ($90) { + _abort(); + // unreachable; + } else { + $91 = ((($$3)) + 16|0); + HEAP32[$91>>2] = $88; + $92 = ((($88)) + 24|0); + HEAP32[$92>>2] = $$3; + break; + } + } + } while(0); + $93 = ((($87)) + 4|0); + $94 = HEAP32[$93>>2]|0; + $95 = ($94|0)==(0|0); + if ($95) { + $$1 = $11;$$1418 = $12; + } else { + $96 = HEAP32[(28852)>>2]|0; + $97 = ($94>>>0)<($96>>>0); + if ($97) { + _abort(); + // unreachable; + } else { + $98 = ((($$3)) + 20|0); + HEAP32[$98>>2] = $94; + $99 = ((($94)) + 24|0); + HEAP32[$99>>2] = $$3; + $$1 = $11;$$1418 = $12; + break; + } + } + } + } else { + $$1 = $0;$$1418 = $1; + } + } while(0); + $108 = HEAP32[(28852)>>2]|0; + $109 = ($2>>>0)<($108>>>0); + if ($109) { + _abort(); + // unreachable; + } + $110 = ((($2)) + 4|0); + $111 = HEAP32[$110>>2]|0; + $112 = $111 & 2; + $113 = ($112|0)==(0); + if ($113) { + $114 = HEAP32[(28860)>>2]|0; + $115 = ($2|0)==($114|0); + $116 = HEAP32[(28856)>>2]|0; + if ($115) { + $117 = HEAP32[(28848)>>2]|0; + $118 = (($117) + ($$1418))|0; + HEAP32[(28848)>>2] = $118; + HEAP32[(28860)>>2] = $$1; + $119 = $118 | 1; + $120 = ((($$1)) + 4|0); + HEAP32[$120>>2] = $119; + $121 = ($$1|0)==($116|0); + if (!($121)) { + return; + } + HEAP32[(28856)>>2] = 0; + HEAP32[(28844)>>2] = 0; + return; + } + $122 = ($2|0)==($116|0); + if ($122) { + $123 = HEAP32[(28844)>>2]|0; + $124 = (($123) + ($$1418))|0; + HEAP32[(28844)>>2] = $124; + HEAP32[(28856)>>2] = $$1; + $125 = $124 | 1; + $126 = ((($$1)) + 4|0); + HEAP32[$126>>2] = $125; + $127 = (($$1) + ($124)|0); + HEAP32[$127>>2] = $124; + return; + } + $128 = $111 & -8; + $129 = (($128) + ($$1418))|0; + $130 = $111 >>> 3; + $131 = ($111>>>0)<(256); + L96: do { + if ($131) { + $132 = ((($2)) + 8|0); + $133 = HEAP32[$132>>2]|0; + $134 = ((($2)) + 12|0); + $135 = HEAP32[$134>>2]|0; + $136 = $130 << 1; + $137 = (28876 + ($136<<2)|0); + $138 = ($133|0)==($137|0); + if (!($138)) { + $139 = ($133>>>0)<($108>>>0); + if ($139) { + _abort(); + // unreachable; + } + $140 = ((($133)) + 12|0); + $141 = HEAP32[$140>>2]|0; + $142 = ($141|0)==($2|0); + if (!($142)) { + _abort(); + // unreachable; + } + } + $143 = ($135|0)==($133|0); + if ($143) { + $144 = 1 << $130; + $145 = $144 ^ -1; + $146 = HEAP32[7209]|0; + $147 = $146 & $145; + HEAP32[7209] = $147; + break; + } + $148 = ($135|0)==($137|0); + if ($148) { + $$pre23 = ((($135)) + 8|0); + $$pre$phi24Z2D = $$pre23; + } else { + $149 = ($135>>>0)<($108>>>0); + if ($149) { + _abort(); + // unreachable; + } + $150 = ((($135)) + 8|0); + $151 = HEAP32[$150>>2]|0; + $152 = ($151|0)==($2|0); + if ($152) { + $$pre$phi24Z2D = $150; + } else { + _abort(); + // unreachable; + } + } + $153 = ((($133)) + 12|0); + HEAP32[$153>>2] = $135; + HEAP32[$$pre$phi24Z2D>>2] = $133; + } else { + $154 = ((($2)) + 24|0); + $155 = HEAP32[$154>>2]|0; + $156 = ((($2)) + 12|0); + $157 = HEAP32[$156>>2]|0; + $158 = ($157|0)==($2|0); + do { + if ($158) { + $168 = ((($2)) + 16|0); + $169 = ((($168)) + 4|0); + $170 = HEAP32[$169>>2]|0; + $171 = ($170|0)==(0|0); + if ($171) { + $172 = HEAP32[$168>>2]|0; + $173 = ($172|0)==(0|0); + if ($173) { + $$3435 = 0; + break; + } else { + $$1433 = $172;$$1437 = $168; + } + } else { + $$1433 = $170;$$1437 = $169; + } + while(1) { + $174 = ((($$1433)) + 20|0); + $175 = HEAP32[$174>>2]|0; + $176 = ($175|0)==(0|0); + if (!($176)) { + $$1433 = $175;$$1437 = $174; + continue; + } + $177 = ((($$1433)) + 16|0); + $178 = HEAP32[$177>>2]|0; + $179 = ($178|0)==(0|0); + if ($179) { + break; + } else { + $$1433 = $178;$$1437 = $177; + } + } + $180 = ($$1437>>>0)<($108>>>0); + if ($180) { + _abort(); + // unreachable; + } else { + HEAP32[$$1437>>2] = 0; + $$3435 = $$1433; + break; + } + } else { + $159 = ((($2)) + 8|0); + $160 = HEAP32[$159>>2]|0; + $161 = ($160>>>0)<($108>>>0); + if ($161) { + _abort(); + // unreachable; + } + $162 = ((($160)) + 12|0); + $163 = HEAP32[$162>>2]|0; + $164 = ($163|0)==($2|0); + if (!($164)) { + _abort(); + // unreachable; + } + $165 = ((($157)) + 8|0); + $166 = HEAP32[$165>>2]|0; + $167 = ($166|0)==($2|0); + if ($167) { + HEAP32[$162>>2] = $157; + HEAP32[$165>>2] = $160; + $$3435 = $157; + break; + } else { + _abort(); + // unreachable; + } + } + } while(0); + $181 = ($155|0)==(0|0); + if (!($181)) { + $182 = ((($2)) + 28|0); + $183 = HEAP32[$182>>2]|0; + $184 = (29140 + ($183<<2)|0); + $185 = HEAP32[$184>>2]|0; + $186 = ($2|0)==($185|0); + do { + if ($186) { + HEAP32[$184>>2] = $$3435; + $cond17 = ($$3435|0)==(0|0); + if ($cond17) { + $187 = 1 << $183; + $188 = $187 ^ -1; + $189 = HEAP32[(28840)>>2]|0; + $190 = $189 & $188; + HEAP32[(28840)>>2] = $190; + break L96; + } + } else { + $191 = HEAP32[(28852)>>2]|0; + $192 = ($155>>>0)<($191>>>0); + if ($192) { + _abort(); + // unreachable; + } else { + $193 = ((($155)) + 16|0); + $194 = HEAP32[$193>>2]|0; + $not$ = ($194|0)!=($2|0); + $$sink4 = $not$&1; + $195 = (((($155)) + 16|0) + ($$sink4<<2)|0); + HEAP32[$195>>2] = $$3435; + $196 = ($$3435|0)==(0|0); + if ($196) { + break L96; + } else { + break; + } + } + } + } while(0); + $197 = HEAP32[(28852)>>2]|0; + $198 = ($$3435>>>0)<($197>>>0); + if ($198) { + _abort(); + // unreachable; + } + $199 = ((($$3435)) + 24|0); + HEAP32[$199>>2] = $155; + $200 = ((($2)) + 16|0); + $201 = HEAP32[$200>>2]|0; + $202 = ($201|0)==(0|0); + do { + if (!($202)) { + $203 = ($201>>>0)<($197>>>0); + if ($203) { + _abort(); + // unreachable; + } else { + $204 = ((($$3435)) + 16|0); + HEAP32[$204>>2] = $201; + $205 = ((($201)) + 24|0); + HEAP32[$205>>2] = $$3435; + break; + } + } + } while(0); + $206 = ((($200)) + 4|0); + $207 = HEAP32[$206>>2]|0; + $208 = ($207|0)==(0|0); + if (!($208)) { + $209 = HEAP32[(28852)>>2]|0; + $210 = ($207>>>0)<($209>>>0); + if ($210) { + _abort(); + // unreachable; + } else { + $211 = ((($$3435)) + 20|0); + HEAP32[$211>>2] = $207; + $212 = ((($207)) + 24|0); + HEAP32[$212>>2] = $$3435; + break; + } + } + } + } + } while(0); + $213 = $129 | 1; + $214 = ((($$1)) + 4|0); + HEAP32[$214>>2] = $213; + $215 = (($$1) + ($129)|0); + HEAP32[$215>>2] = $129; + $216 = HEAP32[(28856)>>2]|0; + $217 = ($$1|0)==($216|0); + if ($217) { + HEAP32[(28844)>>2] = $129; + return; + } else { + $$2 = $129; + } + } else { + $218 = $111 & -2; + HEAP32[$110>>2] = $218; + $219 = $$1418 | 1; + $220 = ((($$1)) + 4|0); + HEAP32[$220>>2] = $219; + $221 = (($$1) + ($$1418)|0); + HEAP32[$221>>2] = $$1418; + $$2 = $$1418; + } + $222 = $$2 >>> 3; + $223 = ($$2>>>0)<(256); + if ($223) { + $224 = $222 << 1; + $225 = (28876 + ($224<<2)|0); + $226 = HEAP32[7209]|0; + $227 = 1 << $222; + $228 = $226 & $227; + $229 = ($228|0)==(0); + if ($229) { + $230 = $226 | $227; + HEAP32[7209] = $230; + $$pre = ((($225)) + 8|0); + $$0438 = $225;$$pre$phiZ2D = $$pre; + } else { + $231 = ((($225)) + 8|0); + $232 = HEAP32[$231>>2]|0; + $233 = HEAP32[(28852)>>2]|0; + $234 = ($232>>>0)<($233>>>0); + if ($234) { + _abort(); + // unreachable; + } else { + $$0438 = $232;$$pre$phiZ2D = $231; + } + } + HEAP32[$$pre$phiZ2D>>2] = $$1; + $235 = ((($$0438)) + 12|0); + HEAP32[$235>>2] = $$1; + $236 = ((($$1)) + 8|0); + HEAP32[$236>>2] = $$0438; + $237 = ((($$1)) + 12|0); + HEAP32[$237>>2] = $225; + return; + } + $238 = $$2 >>> 8; + $239 = ($238|0)==(0); + if ($239) { + $$0431 = 0; + } else { + $240 = ($$2>>>0)>(16777215); + if ($240) { + $$0431 = 31; + } else { + $241 = (($238) + 1048320)|0; + $242 = $241 >>> 16; + $243 = $242 & 8; + $244 = $238 << $243; + $245 = (($244) + 520192)|0; + $246 = $245 >>> 16; + $247 = $246 & 4; + $248 = $247 | $243; + $249 = $244 << $247; + $250 = (($249) + 245760)|0; + $251 = $250 >>> 16; + $252 = $251 & 2; + $253 = $248 | $252; + $254 = (14 - ($253))|0; + $255 = $249 << $252; + $256 = $255 >>> 15; + $257 = (($254) + ($256))|0; + $258 = $257 << 1; + $259 = (($257) + 7)|0; + $260 = $$2 >>> $259; + $261 = $260 & 1; + $262 = $261 | $258; + $$0431 = $262; + } + } + $263 = (29140 + ($$0431<<2)|0); + $264 = ((($$1)) + 28|0); + HEAP32[$264>>2] = $$0431; + $265 = ((($$1)) + 16|0); + $266 = ((($$1)) + 20|0); + HEAP32[$266>>2] = 0; + HEAP32[$265>>2] = 0; + $267 = HEAP32[(28840)>>2]|0; + $268 = 1 << $$0431; + $269 = $267 & $268; + $270 = ($269|0)==(0); + if ($270) { + $271 = $267 | $268; + HEAP32[(28840)>>2] = $271; + HEAP32[$263>>2] = $$1; + $272 = ((($$1)) + 24|0); + HEAP32[$272>>2] = $263; + $273 = ((($$1)) + 12|0); + HEAP32[$273>>2] = $$1; + $274 = ((($$1)) + 8|0); + HEAP32[$274>>2] = $$1; + return; + } + $275 = HEAP32[$263>>2]|0; + $276 = ($$0431|0)==(31); + $277 = $$0431 >>> 1; + $278 = (25 - ($277))|0; + $279 = $276 ? 0 : $278; + $280 = $$2 << $279; + $$0419 = $280;$$0420 = $275; + while(1) { + $281 = ((($$0420)) + 4|0); + $282 = HEAP32[$281>>2]|0; + $283 = $282 & -8; + $284 = ($283|0)==($$2|0); + if ($284) { + label = 121; + break; + } + $285 = $$0419 >>> 31; + $286 = (((($$0420)) + 16|0) + ($285<<2)|0); + $287 = $$0419 << 1; + $288 = HEAP32[$286>>2]|0; + $289 = ($288|0)==(0|0); + if ($289) { + label = 118; + break; + } else { + $$0419 = $287;$$0420 = $288; + } + } + if ((label|0) == 118) { + $290 = HEAP32[(28852)>>2]|0; + $291 = ($286>>>0)<($290>>>0); + if ($291) { + _abort(); + // unreachable; + } + HEAP32[$286>>2] = $$1; + $292 = ((($$1)) + 24|0); + HEAP32[$292>>2] = $$0420; + $293 = ((($$1)) + 12|0); + HEAP32[$293>>2] = $$1; + $294 = ((($$1)) + 8|0); + HEAP32[$294>>2] = $$1; + return; + } + else if ((label|0) == 121) { + $295 = ((($$0420)) + 8|0); + $296 = HEAP32[$295>>2]|0; + $297 = HEAP32[(28852)>>2]|0; + $298 = ($296>>>0)>=($297>>>0); + $not$19 = ($$0420>>>0)>=($297>>>0); + $299 = $298 & $not$19; + if (!($299)) { + _abort(); + // unreachable; + } + $300 = ((($296)) + 12|0); + HEAP32[$300>>2] = $$1; + HEAP32[$295>>2] = $$1; + $301 = ((($$1)) + 8|0); + HEAP32[$301>>2] = $296; + $302 = ((($$1)) + 12|0); + HEAP32[$302>>2] = $$0420; + $303 = ((($$1)) + 24|0); + HEAP32[$303>>2] = 0; + return; + } +} +function runPostSets() { +} +function _memset(ptr, value, num) { + ptr = ptr|0; value = value|0; num = num|0; + var end = 0, aligned_end = 0, block_aligned_end = 0, value4 = 0; + end = (ptr + num)|0; + + value = value & 0xff; + if ((num|0) >= 67 /* 64 bytes for an unrolled loop + 3 bytes for unaligned head*/) { + while ((ptr&3) != 0) { + HEAP8[((ptr)>>0)]=value; + ptr = (ptr+1)|0; + } + + aligned_end = (end & -4)|0; + block_aligned_end = (aligned_end - 64)|0; + value4 = value | (value << 8) | (value << 16) | (value << 24); + + while((ptr|0) <= (block_aligned_end|0)) { + HEAP32[((ptr)>>2)]=value4; + HEAP32[(((ptr)+(4))>>2)]=value4; + HEAP32[(((ptr)+(8))>>2)]=value4; + HEAP32[(((ptr)+(12))>>2)]=value4; + HEAP32[(((ptr)+(16))>>2)]=value4; + HEAP32[(((ptr)+(20))>>2)]=value4; + HEAP32[(((ptr)+(24))>>2)]=value4; + HEAP32[(((ptr)+(28))>>2)]=value4; + HEAP32[(((ptr)+(32))>>2)]=value4; + HEAP32[(((ptr)+(36))>>2)]=value4; + HEAP32[(((ptr)+(40))>>2)]=value4; + HEAP32[(((ptr)+(44))>>2)]=value4; + HEAP32[(((ptr)+(48))>>2)]=value4; + HEAP32[(((ptr)+(52))>>2)]=value4; + HEAP32[(((ptr)+(56))>>2)]=value4; + HEAP32[(((ptr)+(60))>>2)]=value4; + ptr = (ptr + 64)|0; + } + + while ((ptr|0) < (aligned_end|0) ) { + HEAP32[((ptr)>>2)]=value4; + ptr = (ptr+4)|0; + } + } + // The remaining bytes. + while ((ptr|0) < (end|0)) { + HEAP8[((ptr)>>0)]=value; + ptr = (ptr+1)|0; + } + return (end-num)|0; +} +function _i64Subtract(a, b, c, d) { + a = a|0; b = b|0; c = c|0; d = d|0; + var l = 0, h = 0; + l = (a - c)>>>0; + h = (b - d)>>>0; + h = (b - d - (((c>>>0) > (a>>>0))|0))>>>0; // Borrow one from high word to low word on underflow. + return ((tempRet0 = h,l|0)|0); +} +function _i64Add(a, b, c, d) { + /* + x = a + b*2^32 + y = c + d*2^32 + result = l + h*2^32 + */ + a = a|0; b = b|0; c = c|0; d = d|0; + var l = 0, h = 0; + l = (a + c)>>>0; + h = (b + d + (((l>>>0) < (a>>>0))|0))>>>0; // Add carry from low word to high word on overflow. + return ((tempRet0 = h,l|0)|0); +} +function ___muldsi3($a, $b) { + $a = $a | 0; + $b = $b | 0; + var $1 = 0, $2 = 0, $3 = 0, $6 = 0, $8 = 0, $11 = 0, $12 = 0; + $1 = $a & 65535; + $2 = $b & 65535; + $3 = Math_imul($2, $1) | 0; + $6 = $a >>> 16; + $8 = ($3 >>> 16) + (Math_imul($2, $6) | 0) | 0; + $11 = $b >>> 16; + $12 = Math_imul($11, $1) | 0; + return (tempRet0 = (($8 >>> 16) + (Math_imul($11, $6) | 0) | 0) + ((($8 & 65535) + $12 | 0) >>> 16) | 0, 0 | ($8 + $12 << 16 | $3 & 65535)) | 0; +} +function ___muldi3($a$0, $a$1, $b$0, $b$1) { + $a$0 = $a$0 | 0; + $a$1 = $a$1 | 0; + $b$0 = $b$0 | 0; + $b$1 = $b$1 | 0; + var $x_sroa_0_0_extract_trunc = 0, $y_sroa_0_0_extract_trunc = 0, $1$0 = 0, $1$1 = 0, $2 = 0; + $x_sroa_0_0_extract_trunc = $a$0; + $y_sroa_0_0_extract_trunc = $b$0; + $1$0 = ___muldsi3($x_sroa_0_0_extract_trunc, $y_sroa_0_0_extract_trunc) | 0; + $1$1 = tempRet0; + $2 = Math_imul($a$1, $y_sroa_0_0_extract_trunc) | 0; + return (tempRet0 = ((Math_imul($b$1, $x_sroa_0_0_extract_trunc) | 0) + $2 | 0) + $1$1 | $1$1 & 0, 0 | $1$0 & -1) | 0; +} +function _memcpy(dest, src, num) { + dest = dest|0; src = src|0; num = num|0; + var ret = 0; + var aligned_dest_end = 0; + var block_aligned_dest_end = 0; + var dest_end = 0; + // Test against a benchmarked cutoff limit for when HEAPU8.set() becomes faster to use. + if ((num|0) >= + 8192 + ) { + return _emscripten_memcpy_big(dest|0, src|0, num|0)|0; + } + + ret = dest|0; + dest_end = (dest + num)|0; + if ((dest&3) == (src&3)) { + // The initial unaligned < 4-byte front. + while (dest & 3) { + if ((num|0) == 0) return ret|0; + HEAP8[((dest)>>0)]=((HEAP8[((src)>>0)])|0); + dest = (dest+1)|0; + src = (src+1)|0; + num = (num-1)|0; + } + aligned_dest_end = (dest_end & -4)|0; + block_aligned_dest_end = (aligned_dest_end - 64)|0; + while ((dest|0) <= (block_aligned_dest_end|0) ) { + HEAP32[((dest)>>2)]=((HEAP32[((src)>>2)])|0); + HEAP32[(((dest)+(4))>>2)]=((HEAP32[(((src)+(4))>>2)])|0); + HEAP32[(((dest)+(8))>>2)]=((HEAP32[(((src)+(8))>>2)])|0); + HEAP32[(((dest)+(12))>>2)]=((HEAP32[(((src)+(12))>>2)])|0); + HEAP32[(((dest)+(16))>>2)]=((HEAP32[(((src)+(16))>>2)])|0); + HEAP32[(((dest)+(20))>>2)]=((HEAP32[(((src)+(20))>>2)])|0); + HEAP32[(((dest)+(24))>>2)]=((HEAP32[(((src)+(24))>>2)])|0); + HEAP32[(((dest)+(28))>>2)]=((HEAP32[(((src)+(28))>>2)])|0); + HEAP32[(((dest)+(32))>>2)]=((HEAP32[(((src)+(32))>>2)])|0); + HEAP32[(((dest)+(36))>>2)]=((HEAP32[(((src)+(36))>>2)])|0); + HEAP32[(((dest)+(40))>>2)]=((HEAP32[(((src)+(40))>>2)])|0); + HEAP32[(((dest)+(44))>>2)]=((HEAP32[(((src)+(44))>>2)])|0); + HEAP32[(((dest)+(48))>>2)]=((HEAP32[(((src)+(48))>>2)])|0); + HEAP32[(((dest)+(52))>>2)]=((HEAP32[(((src)+(52))>>2)])|0); + HEAP32[(((dest)+(56))>>2)]=((HEAP32[(((src)+(56))>>2)])|0); + HEAP32[(((dest)+(60))>>2)]=((HEAP32[(((src)+(60))>>2)])|0); + dest = (dest+64)|0; + src = (src+64)|0; + } + while ((dest|0) < (aligned_dest_end|0) ) { + HEAP32[((dest)>>2)]=((HEAP32[((src)>>2)])|0); + dest = (dest+4)|0; + src = (src+4)|0; + } + } else { + // In the unaligned copy case, unroll a bit as well. + aligned_dest_end = (dest_end - 4)|0; + while ((dest|0) < (aligned_dest_end|0) ) { + HEAP8[((dest)>>0)]=((HEAP8[((src)>>0)])|0); + HEAP8[(((dest)+(1))>>0)]=((HEAP8[(((src)+(1))>>0)])|0); + HEAP8[(((dest)+(2))>>0)]=((HEAP8[(((src)+(2))>>0)])|0); + HEAP8[(((dest)+(3))>>0)]=((HEAP8[(((src)+(3))>>0)])|0); + dest = (dest+4)|0; + src = (src+4)|0; + } + } + // The remaining unaligned < 4 byte tail. + while ((dest|0) < (dest_end|0)) { + HEAP8[((dest)>>0)]=((HEAP8[((src)>>0)])|0); + dest = (dest+1)|0; + src = (src+1)|0; + } + return ret|0; +} +function _memmove(dest, src, num) { + dest = dest|0; src = src|0; num = num|0; + var ret = 0; + if (((src|0) < (dest|0)) & ((dest|0) < ((src + num)|0))) { + // Unlikely case: Copy backwards in a safe manner + ret = dest; + src = (src + num)|0; + dest = (dest + num)|0; + while ((num|0) > 0) { + dest = (dest - 1)|0; + src = (src - 1)|0; + num = (num - 1)|0; + HEAP8[((dest)>>0)]=((HEAP8[((src)>>0)])|0); + } + dest = ret; + } else { + _memcpy(dest, src, num) | 0; + } + return dest | 0; +} +function _llvm_cttz_i32(x) { + x = x|0; + var ret = 0; + ret = ((HEAP8[(((cttz_i8)+(x & 0xff))>>0)])|0); + if ((ret|0) < 8) return ret|0; + ret = ((HEAP8[(((cttz_i8)+((x >> 8)&0xff))>>0)])|0); + if ((ret|0) < 8) return (ret + 8)|0; + ret = ((HEAP8[(((cttz_i8)+((x >> 16)&0xff))>>0)])|0); + if ((ret|0) < 8) return (ret + 16)|0; + return (((HEAP8[(((cttz_i8)+(x >>> 24))>>0)])|0) + 24)|0; +} +function ___udivmoddi4($a$0, $a$1, $b$0, $b$1, $rem) { + $a$0 = $a$0 | 0; + $a$1 = $a$1 | 0; + $b$0 = $b$0 | 0; + $b$1 = $b$1 | 0; + $rem = $rem | 0; + var $n_sroa_0_0_extract_trunc = 0, $n_sroa_1_4_extract_shift$0 = 0, $n_sroa_1_4_extract_trunc = 0, $d_sroa_0_0_extract_trunc = 0, $d_sroa_1_4_extract_shift$0 = 0, $d_sroa_1_4_extract_trunc = 0, $4 = 0, $17 = 0, $37 = 0, $49 = 0, $51 = 0, $57 = 0, $58 = 0, $66 = 0, $78 = 0, $86 = 0, $88 = 0, $89 = 0, $91 = 0, $92 = 0, $95 = 0, $105 = 0, $117 = 0, $119 = 0, $125 = 0, $126 = 0, $130 = 0, $q_sroa_1_1_ph = 0, $q_sroa_0_1_ph = 0, $r_sroa_1_1_ph = 0, $r_sroa_0_1_ph = 0, $sr_1_ph = 0, $d_sroa_0_0_insert_insert99$0 = 0, $d_sroa_0_0_insert_insert99$1 = 0, $137$0 = 0, $137$1 = 0, $carry_0203 = 0, $sr_1202 = 0, $r_sroa_0_1201 = 0, $r_sroa_1_1200 = 0, $q_sroa_0_1199 = 0, $q_sroa_1_1198 = 0, $147 = 0, $149 = 0, $r_sroa_0_0_insert_insert42$0 = 0, $r_sroa_0_0_insert_insert42$1 = 0, $150$1 = 0, $151$0 = 0, $152 = 0, $154$0 = 0, $r_sroa_0_0_extract_trunc = 0, $r_sroa_1_4_extract_trunc = 0, $155 = 0, $carry_0_lcssa$0 = 0, $carry_0_lcssa$1 = 0, $r_sroa_0_1_lcssa = 0, $r_sroa_1_1_lcssa = 0, $q_sroa_0_1_lcssa = 0, $q_sroa_1_1_lcssa = 0, $q_sroa_0_0_insert_ext75$0 = 0, $q_sroa_0_0_insert_ext75$1 = 0, $q_sroa_0_0_insert_insert77$1 = 0, $_0$0 = 0, $_0$1 = 0; + $n_sroa_0_0_extract_trunc = $a$0; + $n_sroa_1_4_extract_shift$0 = $a$1; + $n_sroa_1_4_extract_trunc = $n_sroa_1_4_extract_shift$0; + $d_sroa_0_0_extract_trunc = $b$0; + $d_sroa_1_4_extract_shift$0 = $b$1; + $d_sroa_1_4_extract_trunc = $d_sroa_1_4_extract_shift$0; + if (($n_sroa_1_4_extract_trunc | 0) == 0) { + $4 = ($rem | 0) != 0; + if (($d_sroa_1_4_extract_trunc | 0) == 0) { + if ($4) { + HEAP32[$rem >> 2] = ($n_sroa_0_0_extract_trunc >>> 0) % ($d_sroa_0_0_extract_trunc >>> 0); + HEAP32[$rem + 4 >> 2] = 0; + } + $_0$1 = 0; + $_0$0 = ($n_sroa_0_0_extract_trunc >>> 0) / ($d_sroa_0_0_extract_trunc >>> 0) >>> 0; + return (tempRet0 = $_0$1, $_0$0) | 0; + } else { + if (!$4) { + $_0$1 = 0; + $_0$0 = 0; + return (tempRet0 = $_0$1, $_0$0) | 0; + } + HEAP32[$rem >> 2] = $a$0 & -1; + HEAP32[$rem + 4 >> 2] = $a$1 & 0; + $_0$1 = 0; + $_0$0 = 0; + return (tempRet0 = $_0$1, $_0$0) | 0; + } + } + $17 = ($d_sroa_1_4_extract_trunc | 0) == 0; + do { + if (($d_sroa_0_0_extract_trunc | 0) == 0) { + if ($17) { + if (($rem | 0) != 0) { + HEAP32[$rem >> 2] = ($n_sroa_1_4_extract_trunc >>> 0) % ($d_sroa_0_0_extract_trunc >>> 0); + HEAP32[$rem + 4 >> 2] = 0; + } + $_0$1 = 0; + $_0$0 = ($n_sroa_1_4_extract_trunc >>> 0) / ($d_sroa_0_0_extract_trunc >>> 0) >>> 0; + return (tempRet0 = $_0$1, $_0$0) | 0; + } + if (($n_sroa_0_0_extract_trunc | 0) == 0) { + if (($rem | 0) != 0) { + HEAP32[$rem >> 2] = 0; + HEAP32[$rem + 4 >> 2] = ($n_sroa_1_4_extract_trunc >>> 0) % ($d_sroa_1_4_extract_trunc >>> 0); + } + $_0$1 = 0; + $_0$0 = ($n_sroa_1_4_extract_trunc >>> 0) / ($d_sroa_1_4_extract_trunc >>> 0) >>> 0; + return (tempRet0 = $_0$1, $_0$0) | 0; + } + $37 = $d_sroa_1_4_extract_trunc - 1 | 0; + if (($37 & $d_sroa_1_4_extract_trunc | 0) == 0) { + if (($rem | 0) != 0) { + HEAP32[$rem >> 2] = 0 | $a$0 & -1; + HEAP32[$rem + 4 >> 2] = $37 & $n_sroa_1_4_extract_trunc | $a$1 & 0; + } + $_0$1 = 0; + $_0$0 = $n_sroa_1_4_extract_trunc >>> ((_llvm_cttz_i32($d_sroa_1_4_extract_trunc | 0) | 0) >>> 0); + return (tempRet0 = $_0$1, $_0$0) | 0; + } + $49 = Math_clz32($d_sroa_1_4_extract_trunc | 0) | 0; + $51 = $49 - (Math_clz32($n_sroa_1_4_extract_trunc | 0) | 0) | 0; + if ($51 >>> 0 <= 30) { + $57 = $51 + 1 | 0; + $58 = 31 - $51 | 0; + $sr_1_ph = $57; + $r_sroa_0_1_ph = $n_sroa_1_4_extract_trunc << $58 | $n_sroa_0_0_extract_trunc >>> ($57 >>> 0); + $r_sroa_1_1_ph = $n_sroa_1_4_extract_trunc >>> ($57 >>> 0); + $q_sroa_0_1_ph = 0; + $q_sroa_1_1_ph = $n_sroa_0_0_extract_trunc << $58; + break; + } + if (($rem | 0) == 0) { + $_0$1 = 0; + $_0$0 = 0; + return (tempRet0 = $_0$1, $_0$0) | 0; + } + HEAP32[$rem >> 2] = 0 | $a$0 & -1; + HEAP32[$rem + 4 >> 2] = $n_sroa_1_4_extract_shift$0 | $a$1 & 0; + $_0$1 = 0; + $_0$0 = 0; + return (tempRet0 = $_0$1, $_0$0) | 0; + } else { + if (!$17) { + $117 = Math_clz32($d_sroa_1_4_extract_trunc | 0) | 0; + $119 = $117 - (Math_clz32($n_sroa_1_4_extract_trunc | 0) | 0) | 0; + if ($119 >>> 0 <= 31) { + $125 = $119 + 1 | 0; + $126 = 31 - $119 | 0; + $130 = $119 - 31 >> 31; + $sr_1_ph = $125; + $r_sroa_0_1_ph = $n_sroa_0_0_extract_trunc >>> ($125 >>> 0) & $130 | $n_sroa_1_4_extract_trunc << $126; + $r_sroa_1_1_ph = $n_sroa_1_4_extract_trunc >>> ($125 >>> 0) & $130; + $q_sroa_0_1_ph = 0; + $q_sroa_1_1_ph = $n_sroa_0_0_extract_trunc << $126; + break; + } + if (($rem | 0) == 0) { + $_0$1 = 0; + $_0$0 = 0; + return (tempRet0 = $_0$1, $_0$0) | 0; + } + HEAP32[$rem >> 2] = 0 | $a$0 & -1; + HEAP32[$rem + 4 >> 2] = $n_sroa_1_4_extract_shift$0 | $a$1 & 0; + $_0$1 = 0; + $_0$0 = 0; + return (tempRet0 = $_0$1, $_0$0) | 0; + } + $66 = $d_sroa_0_0_extract_trunc - 1 | 0; + if (($66 & $d_sroa_0_0_extract_trunc | 0) != 0) { + $86 = (Math_clz32($d_sroa_0_0_extract_trunc | 0) | 0) + 33 | 0; + $88 = $86 - (Math_clz32($n_sroa_1_4_extract_trunc | 0) | 0) | 0; + $89 = 64 - $88 | 0; + $91 = 32 - $88 | 0; + $92 = $91 >> 31; + $95 = $88 - 32 | 0; + $105 = $95 >> 31; + $sr_1_ph = $88; + $r_sroa_0_1_ph = $91 - 1 >> 31 & $n_sroa_1_4_extract_trunc >>> ($95 >>> 0) | ($n_sroa_1_4_extract_trunc << $91 | $n_sroa_0_0_extract_trunc >>> ($88 >>> 0)) & $105; + $r_sroa_1_1_ph = $105 & $n_sroa_1_4_extract_trunc >>> ($88 >>> 0); + $q_sroa_0_1_ph = $n_sroa_0_0_extract_trunc << $89 & $92; + $q_sroa_1_1_ph = ($n_sroa_1_4_extract_trunc << $89 | $n_sroa_0_0_extract_trunc >>> ($95 >>> 0)) & $92 | $n_sroa_0_0_extract_trunc << $91 & $88 - 33 >> 31; + break; + } + if (($rem | 0) != 0) { + HEAP32[$rem >> 2] = $66 & $n_sroa_0_0_extract_trunc; + HEAP32[$rem + 4 >> 2] = 0; + } + if (($d_sroa_0_0_extract_trunc | 0) == 1) { + $_0$1 = $n_sroa_1_4_extract_shift$0 | $a$1 & 0; + $_0$0 = 0 | $a$0 & -1; + return (tempRet0 = $_0$1, $_0$0) | 0; + } else { + $78 = _llvm_cttz_i32($d_sroa_0_0_extract_trunc | 0) | 0; + $_0$1 = 0 | $n_sroa_1_4_extract_trunc >>> ($78 >>> 0); + $_0$0 = $n_sroa_1_4_extract_trunc << 32 - $78 | $n_sroa_0_0_extract_trunc >>> ($78 >>> 0) | 0; + return (tempRet0 = $_0$1, $_0$0) | 0; + } + } + } while (0); + if (($sr_1_ph | 0) == 0) { + $q_sroa_1_1_lcssa = $q_sroa_1_1_ph; + $q_sroa_0_1_lcssa = $q_sroa_0_1_ph; + $r_sroa_1_1_lcssa = $r_sroa_1_1_ph; + $r_sroa_0_1_lcssa = $r_sroa_0_1_ph; + $carry_0_lcssa$1 = 0; + $carry_0_lcssa$0 = 0; + } else { + $d_sroa_0_0_insert_insert99$0 = 0 | $b$0 & -1; + $d_sroa_0_0_insert_insert99$1 = $d_sroa_1_4_extract_shift$0 | $b$1 & 0; + $137$0 = _i64Add($d_sroa_0_0_insert_insert99$0 | 0, $d_sroa_0_0_insert_insert99$1 | 0, -1, -1) | 0; + $137$1 = tempRet0; + $q_sroa_1_1198 = $q_sroa_1_1_ph; + $q_sroa_0_1199 = $q_sroa_0_1_ph; + $r_sroa_1_1200 = $r_sroa_1_1_ph; + $r_sroa_0_1201 = $r_sroa_0_1_ph; + $sr_1202 = $sr_1_ph; + $carry_0203 = 0; + while (1) { + $147 = $q_sroa_0_1199 >>> 31 | $q_sroa_1_1198 << 1; + $149 = $carry_0203 | $q_sroa_0_1199 << 1; + $r_sroa_0_0_insert_insert42$0 = 0 | ($r_sroa_0_1201 << 1 | $q_sroa_1_1198 >>> 31); + $r_sroa_0_0_insert_insert42$1 = $r_sroa_0_1201 >>> 31 | $r_sroa_1_1200 << 1 | 0; + _i64Subtract($137$0 | 0, $137$1 | 0, $r_sroa_0_0_insert_insert42$0 | 0, $r_sroa_0_0_insert_insert42$1 | 0) | 0; + $150$1 = tempRet0; + $151$0 = $150$1 >> 31 | (($150$1 | 0) < 0 ? -1 : 0) << 1; + $152 = $151$0 & 1; + $154$0 = _i64Subtract($r_sroa_0_0_insert_insert42$0 | 0, $r_sroa_0_0_insert_insert42$1 | 0, $151$0 & $d_sroa_0_0_insert_insert99$0 | 0, ((($150$1 | 0) < 0 ? -1 : 0) >> 31 | (($150$1 | 0) < 0 ? -1 : 0) << 1) & $d_sroa_0_0_insert_insert99$1 | 0) | 0; + $r_sroa_0_0_extract_trunc = $154$0; + $r_sroa_1_4_extract_trunc = tempRet0; + $155 = $sr_1202 - 1 | 0; + if (($155 | 0) == 0) { + break; + } else { + $q_sroa_1_1198 = $147; + $q_sroa_0_1199 = $149; + $r_sroa_1_1200 = $r_sroa_1_4_extract_trunc; + $r_sroa_0_1201 = $r_sroa_0_0_extract_trunc; + $sr_1202 = $155; + $carry_0203 = $152; + } + } + $q_sroa_1_1_lcssa = $147; + $q_sroa_0_1_lcssa = $149; + $r_sroa_1_1_lcssa = $r_sroa_1_4_extract_trunc; + $r_sroa_0_1_lcssa = $r_sroa_0_0_extract_trunc; + $carry_0_lcssa$1 = 0; + $carry_0_lcssa$0 = $152; + } + $q_sroa_0_0_insert_ext75$0 = $q_sroa_0_1_lcssa; + $q_sroa_0_0_insert_ext75$1 = 0; + $q_sroa_0_0_insert_insert77$1 = $q_sroa_1_1_lcssa | $q_sroa_0_0_insert_ext75$1; + if (($rem | 0) != 0) { + HEAP32[$rem >> 2] = 0 | $r_sroa_0_1_lcssa; + HEAP32[$rem + 4 >> 2] = $r_sroa_1_1_lcssa | 0; + } + $_0$1 = (0 | $q_sroa_0_0_insert_ext75$0) >>> 31 | $q_sroa_0_0_insert_insert77$1 << 1 | ($q_sroa_0_0_insert_ext75$1 << 1 | $q_sroa_0_0_insert_ext75$0 >>> 31) & 0 | $carry_0_lcssa$1; + $_0$0 = ($q_sroa_0_0_insert_ext75$0 << 1 | 0 >>> 31) & -2 | $carry_0_lcssa$0; + return (tempRet0 = $_0$1, $_0$0) | 0; +} +function ___uremdi3($a$0, $a$1, $b$0, $b$1) { + $a$0 = $a$0 | 0; + $a$1 = $a$1 | 0; + $b$0 = $b$0 | 0; + $b$1 = $b$1 | 0; + var $rem = 0, __stackBase__ = 0; + __stackBase__ = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + $rem = __stackBase__ | 0; + ___udivmoddi4($a$0, $a$1, $b$0, $b$1, $rem) | 0; + STACKTOP = __stackBase__; + return (tempRet0 = HEAP32[$rem + 4 >> 2] | 0, HEAP32[$rem >> 2] | 0) | 0; +} +function _bitshift64Shl(low, high, bits) { + low = low|0; high = high|0; bits = bits|0; + var ander = 0; + if ((bits|0) < 32) { + ander = ((1 << bits) - 1)|0; + tempRet0 = (high << bits) | ((low&(ander << (32 - bits))) >>> (32 - bits)); + return low << bits; + } + tempRet0 = low << (bits - 32); + return 0; +} +function ___udivdi3($a$0, $a$1, $b$0, $b$1) { + $a$0 = $a$0 | 0; + $a$1 = $a$1 | 0; + $b$0 = $b$0 | 0; + $b$1 = $b$1 | 0; + var $1$0 = 0; + $1$0 = ___udivmoddi4($a$0, $a$1, $b$0, $b$1, 0) | 0; + return $1$0 | 0; +} +function _roundf(f) { + f = +f; + return f >= +0 ? +Math_floor(f + +0.5) : +Math_ceil(f - +0.5); // TODO: use fround? +} +function _bitshift64Lshr(low, high, bits) { + low = low|0; high = high|0; bits = bits|0; + var ander = 0; + if ((bits|0) < 32) { + ander = ((1 << bits) - 1)|0; + tempRet0 = high >>> bits; + return (low >>> bits) | ((high&ander) << (32 - bits)); + } + tempRet0 = 0; + return (high >>> (bits - 32))|0; +} +function _sbrk(increment) { + increment = increment|0; + var oldDynamicTop = 0; + var oldDynamicTopOnChange = 0; + var newDynamicTop = 0; + var totalMemory = 0; + increment = ((increment + 15) & -16)|0; + oldDynamicTop = HEAP32[DYNAMICTOP_PTR>>2]|0; + newDynamicTop = oldDynamicTop + increment | 0; + + if (((increment|0) > 0 & (newDynamicTop|0) < (oldDynamicTop|0)) // Detect and fail if we would wrap around signed 32-bit int. + | (newDynamicTop|0) < 0) { // Also underflow, sbrk() should be able to be used to subtract. + abortOnCannotGrowMemory()|0; + ___setErrNo(12); + return -1; + } + + HEAP32[DYNAMICTOP_PTR>>2] = newDynamicTop; + totalMemory = getTotalMemory()|0; + if ((newDynamicTop|0) > (totalMemory|0)) { + if ((enlargeMemory()|0) == 0) { + ___setErrNo(12); + HEAP32[DYNAMICTOP_PTR>>2] = oldDynamicTop; + return -1; + } + } + return oldDynamicTop|0; +} +function _llvm_bswap_i32(x) { + x = x|0; + return (((x&0xff)<<24) | (((x>>8)&0xff)<<16) | (((x>>16)&0xff)<<8) | (x>>>24))|0; +} + + +function dynCall_viiiii(index,a1,a2,a3,a4,a5) { + index = index|0; + a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; + FUNCTION_TABLE_viiiii[index&7](a1|0,a2|0,a3|0,a4|0,a5|0); +} + + +function dynCall_vd(index,a1) { + index = index|0; + a1=+a1; + FUNCTION_TABLE_vd[index&3](+a1); +} + + +function dynCall_vid(index,a1,a2) { + index = index|0; + a1=a1|0; a2=+a2; + FUNCTION_TABLE_vid[index&3](a1|0,+a2); +} + + +function dynCall_vi(index,a1) { + index = index|0; + a1=a1|0; + FUNCTION_TABLE_vi[index&31](a1|0); +} + + +function dynCall_vii(index,a1,a2) { + index = index|0; + a1=a1|0; a2=a2|0; + FUNCTION_TABLE_vii[index&63](a1|0,a2|0); +} + + +function dynCall_ii(index,a1) { + index = index|0; + a1=a1|0; + return FUNCTION_TABLE_ii[index&15](a1|0)|0; +} + + +function dynCall_viddd(index,a1,a2,a3,a4) { + index = index|0; + a1=a1|0; a2=+a2; a3=+a3; a4=+a4; + FUNCTION_TABLE_viddd[index&3](a1|0,+a2,+a3,+a4); +} + + +function dynCall_vidd(index,a1,a2,a3) { + index = index|0; + a1=a1|0; a2=+a2; a3=+a3; + FUNCTION_TABLE_vidd[index&7](a1|0,+a2,+a3); +} + + +function dynCall_iiii(index,a1,a2,a3) { + index = index|0; + a1=a1|0; a2=a2|0; a3=a3|0; + return FUNCTION_TABLE_iiii[index&15](a1|0,a2|0,a3|0)|0; +} + + +function dynCall_viiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8) { + index = index|0; + a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; a6=a6|0; a7=a7|0; a8=a8|0; + FUNCTION_TABLE_viiiiiiii[index&3](a1|0,a2|0,a3|0,a4|0,a5|0,a6|0,a7|0,a8|0); +} + + +function dynCall_viiiiii(index,a1,a2,a3,a4,a5,a6) { + index = index|0; + a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; a6=a6|0; + FUNCTION_TABLE_viiiiii[index&3](a1|0,a2|0,a3|0,a4|0,a5|0,a6|0); +} + + +function dynCall_viii(index,a1,a2,a3) { + index = index|0; + a1=a1|0; a2=a2|0; a3=a3|0; + FUNCTION_TABLE_viii[index&31](a1|0,a2|0,a3|0); +} + + +function dynCall_vidddd(index,a1,a2,a3,a4,a5) { + index = index|0; + a1=a1|0; a2=+a2; a3=+a3; a4=+a4; a5=+a5; + FUNCTION_TABLE_vidddd[index&3](a1|0,+a2,+a3,+a4,+a5); +} + + +function dynCall_vdi(index,a1,a2) { + index = index|0; + a1=+a1; a2=a2|0; + FUNCTION_TABLE_vdi[index&1](+a1,a2|0); +} + + +function dynCall_viiiiiii(index,a1,a2,a3,a4,a5,a6,a7) { + index = index|0; + a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; a6=a6|0; a7=a7|0; + FUNCTION_TABLE_viiiiiii[index&3](a1|0,a2|0,a3|0,a4|0,a5|0,a6|0,a7|0); +} + + +function dynCall_viiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9) { + index = index|0; + a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; a6=a6|0; a7=a7|0; a8=a8|0; a9=a9|0; + FUNCTION_TABLE_viiiiiiiii[index&3](a1|0,a2|0,a3|0,a4|0,a5|0,a6|0,a7|0,a8|0,a9|0); +} + + +function dynCall_iii(index,a1,a2) { + index = index|0; + a1=a1|0; a2=a2|0; + return FUNCTION_TABLE_iii[index&7](a1|0,a2|0)|0; +} + + +function dynCall_i(index) { + index = index|0; + + return FUNCTION_TABLE_i[index&3]()|0; +} + + +function dynCall_vdddddd(index,a1,a2,a3,a4,a5,a6) { + index = index|0; + a1=+a1; a2=+a2; a3=+a3; a4=+a4; a5=+a5; a6=+a6; + FUNCTION_TABLE_vdddddd[index&1](+a1,+a2,+a3,+a4,+a5,+a6); +} + + +function dynCall_vdddd(index,a1,a2,a3,a4) { + index = index|0; + a1=+a1; a2=+a2; a3=+a3; a4=+a4; + FUNCTION_TABLE_vdddd[index&3](+a1,+a2,+a3,+a4); +} + + +function dynCall_vdd(index,a1,a2) { + index = index|0; + a1=+a1; a2=+a2; + FUNCTION_TABLE_vdd[index&3](+a1,+a2); +} + + +function dynCall_v(index) { + index = index|0; + + FUNCTION_TABLE_v[index&7](); +} + + +function dynCall_viid(index,a1,a2,a3) { + index = index|0; + a1=a1|0; a2=a2|0; a3=+a3; + FUNCTION_TABLE_viid[index&1](a1|0,a2|0,+a3); +} + + +function dynCall_viiii(index,a1,a2,a3,a4) { + index = index|0; + a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; + FUNCTION_TABLE_viiii[index&31](a1|0,a2|0,a3|0,a4|0); +} + +function b0(p0,p1,p2,p3,p4) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; nullFunc_viiiii(0); +} +function _emscripten_glUniform4i__wrapper(p0,p1,p2,p3,p4) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; _emscripten_glUniform4i(p0|0,p1|0,p2|0,p3|0,p4|0); +} +function _emscripten_glFramebufferTexture2D__wrapper(p0,p1,p2,p3,p4) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; _emscripten_glFramebufferTexture2D(p0|0,p1|0,p2|0,p3|0,p4|0); +} +function _emscripten_glShaderBinary__wrapper(p0,p1,p2,p3,p4) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; _emscripten_glShaderBinary(p0|0,p1|0,p2|0,p3|0,p4|0); +} +function _emscripten_glDrawElementsInstanced__wrapper(p0,p1,p2,p3,p4) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; _emscripten_glDrawElementsInstanced(p0|0,p1|0,p2|0,p3|0,p4|0); +} +function b1(p0) { + p0 = +p0; nullFunc_vd(1); +} +function _emscripten_glClearDepth__wrapper(p0) { + p0 = +p0; _emscripten_glClearDepth(+p0); +} +function _emscripten_glClearDepthf__wrapper(p0) { + p0 = +p0; _emscripten_glClearDepthf(+p0); +} +function _emscripten_glLineWidth__wrapper(p0) { + p0 = +p0; _emscripten_glLineWidth(+p0); +} +function b2(p0,p1) { + p0 = p0|0;p1 = +p1; nullFunc_vid(2); +} +function _emscripten_glUniform1f__wrapper(p0,p1) { + p0 = p0|0;p1 = +p1; _emscripten_glUniform1f(p0|0,+p1); +} +function _emscripten_glVertexAttrib1f__wrapper(p0,p1) { + p0 = p0|0;p1 = +p1; _emscripten_glVertexAttrib1f(p0|0,+p1); +} +function b3(p0) { + p0 = p0|0; nullFunc_vi(3); +} +function _emscripten_glDeleteShader__wrapper(p0) { + p0 = p0|0; _emscripten_glDeleteShader(p0|0); +} +function _emscripten_glCompileShader__wrapper(p0) { + p0 = p0|0; _emscripten_glCompileShader(p0|0); +} +function _emscripten_glDeleteProgram__wrapper(p0) { + p0 = p0|0; _emscripten_glDeleteProgram(p0|0); +} +function _emscripten_glLinkProgram__wrapper(p0) { + p0 = p0|0; _emscripten_glLinkProgram(p0|0); +} +function _emscripten_glUseProgram__wrapper(p0) { + p0 = p0|0; _emscripten_glUseProgram(p0|0); +} +function _emscripten_glValidateProgram__wrapper(p0) { + p0 = p0|0; _emscripten_glValidateProgram(p0|0); +} +function _emscripten_glDeleteObjectARB__wrapper(p0) { + p0 = p0|0; _emscripten_glDeleteObjectARB(p0|0); +} +function _emscripten_glEnableClientState__wrapper(p0) { + p0 = p0|0; _emscripten_glEnableClientState(p0|0); +} +function _emscripten_glClientActiveTexture__wrapper(p0) { + p0 = p0|0; _emscripten_glClientActiveTexture(p0|0); +} +function _emscripten_glBindVertexArray__wrapper(p0) { + p0 = p0|0; _emscripten_glBindVertexArray(p0|0); +} +function _emscripten_glMatrixMode__wrapper(p0) { + p0 = p0|0; _emscripten_glMatrixMode(p0|0); +} +function _emscripten_glLoadMatrixf__wrapper(p0) { + p0 = p0|0; _emscripten_glLoadMatrixf(p0|0); +} +function _emscripten_glEnableVertexAttribArray__wrapper(p0) { + p0 = p0|0; _emscripten_glEnableVertexAttribArray(p0|0); +} +function _emscripten_glDisableVertexAttribArray__wrapper(p0) { + p0 = p0|0; _emscripten_glDisableVertexAttribArray(p0|0); +} +function _emscripten_glDepthFunc__wrapper(p0) { + p0 = p0|0; _emscripten_glDepthFunc(p0|0); +} +function _emscripten_glEnable__wrapper(p0) { + p0 = p0|0; _emscripten_glEnable(p0|0); +} +function _emscripten_glDisable__wrapper(p0) { + p0 = p0|0; _emscripten_glDisable(p0|0); +} +function _emscripten_glFrontFace__wrapper(p0) { + p0 = p0|0; _emscripten_glFrontFace(p0|0); +} +function _emscripten_glCullFace__wrapper(p0) { + p0 = p0|0; _emscripten_glCullFace(p0|0); +} +function _emscripten_glClear__wrapper(p0) { + p0 = p0|0; _emscripten_glClear(p0|0); +} +function _emscripten_glClearStencil__wrapper(p0) { + p0 = p0|0; _emscripten_glClearStencil(p0|0); +} +function _emscripten_glDepthMask__wrapper(p0) { + p0 = p0|0; _emscripten_glDepthMask(p0|0); +} +function _emscripten_glStencilMask__wrapper(p0) { + p0 = p0|0; _emscripten_glStencilMask(p0|0); +} +function _emscripten_glGenerateMipmap__wrapper(p0) { + p0 = p0|0; _emscripten_glGenerateMipmap(p0|0); +} +function _emscripten_glActiveTexture__wrapper(p0) { + p0 = p0|0; _emscripten_glActiveTexture(p0|0); +} +function _emscripten_glBlendEquation__wrapper(p0) { + p0 = p0|0; _emscripten_glBlendEquation(p0|0); +} +function b4(p0,p1) { + p0 = p0|0;p1 = p1|0; nullFunc_vii(4); +} +function _emscripten_glPixelStorei__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glPixelStorei(p0|0,p1|0); +} +function _emscripten_glGetIntegerv__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGetIntegerv(p0|0,p1|0); +} +function _emscripten_glGetFloatv__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGetFloatv(p0|0,p1|0); +} +function _emscripten_glGetBooleanv__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGetBooleanv(p0|0,p1|0); +} +function _emscripten_glGenTextures__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGenTextures(p0|0,p1|0); +} +function _emscripten_glDeleteTextures__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glDeleteTextures(p0|0,p1|0); +} +function _emscripten_glBindTexture__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glBindTexture(p0|0,p1|0); +} +function _emscripten_glGenBuffers__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGenBuffers(p0|0,p1|0); +} +function _emscripten_glDeleteBuffers__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glDeleteBuffers(p0|0,p1|0); +} +function _emscripten_glGenRenderbuffers__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGenRenderbuffers(p0|0,p1|0); +} +function _emscripten_glDeleteRenderbuffers__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glDeleteRenderbuffers(p0|0,p1|0); +} +function _emscripten_glBindRenderbuffer__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glBindRenderbuffer(p0|0,p1|0); +} +function _emscripten_glUniform1i__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glUniform1i(p0|0,p1|0); +} +function _emscripten_glBindBuffer__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glBindBuffer(p0|0,p1|0); +} +function _emscripten_glVertexAttrib1fv__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glVertexAttrib1fv(p0|0,p1|0); +} +function _emscripten_glVertexAttrib2fv__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glVertexAttrib2fv(p0|0,p1|0); +} +function _emscripten_glVertexAttrib3fv__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glVertexAttrib3fv(p0|0,p1|0); +} +function _emscripten_glVertexAttrib4fv__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glVertexAttrib4fv(p0|0,p1|0); +} +function _emscripten_glAttachShader__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glAttachShader(p0|0,p1|0); +} +function _emscripten_glDetachShader__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glDetachShader(p0|0,p1|0); +} +function _emscripten_glBindFramebuffer__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glBindFramebuffer(p0|0,p1|0); +} +function _emscripten_glGenFramebuffers__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGenFramebuffers(p0|0,p1|0); +} +function _emscripten_glDeleteFramebuffers__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glDeleteFramebuffers(p0|0,p1|0); +} +function _emscripten_glBindProgramARB__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glBindProgramARB(p0|0,p1|0); +} +function _emscripten_glGetPointerv__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGetPointerv(p0|0,p1|0); +} +function _emscripten_glGenVertexArrays__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGenVertexArrays(p0|0,p1|0); +} +function _emscripten_glDeleteVertexArrays__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glDeleteVertexArrays(p0|0,p1|0); +} +function _emscripten_glVertexAttribDivisor__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glVertexAttribDivisor(p0|0,p1|0); +} +function _emscripten_glBlendFunc__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glBlendFunc(p0|0,p1|0); +} +function _emscripten_glBlendEquationSeparate__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glBlendEquationSeparate(p0|0,p1|0); +} +function _emscripten_glStencilMaskSeparate__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glStencilMaskSeparate(p0|0,p1|0); +} +function _emscripten_glHint__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glHint(p0|0,p1|0); +} +function _emscripten_glDrawBuffers__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glDrawBuffers(p0|0,p1|0); +} +function b5(p0) { + p0 = p0|0; nullFunc_ii(5);return 0; +} +function _emscripten_glGetString__wrapper(p0) { + p0 = p0|0; return _emscripten_glGetString(p0|0)|0; +} +function _emscripten_glIsTexture__wrapper(p0) { + p0 = p0|0; return _emscripten_glIsTexture(p0|0)|0; +} +function _emscripten_glIsBuffer__wrapper(p0) { + p0 = p0|0; return _emscripten_glIsBuffer(p0|0)|0; +} +function _emscripten_glIsRenderbuffer__wrapper(p0) { + p0 = p0|0; return _emscripten_glIsRenderbuffer(p0|0)|0; +} +function _emscripten_glCreateShader__wrapper(p0) { + p0 = p0|0; return _emscripten_glCreateShader(p0|0)|0; +} +function _emscripten_glIsShader__wrapper(p0) { + p0 = p0|0; return _emscripten_glIsShader(p0|0)|0; +} +function _emscripten_glIsProgram__wrapper(p0) { + p0 = p0|0; return _emscripten_glIsProgram(p0|0)|0; +} +function _emscripten_glIsFramebuffer__wrapper(p0) { + p0 = p0|0; return _emscripten_glIsFramebuffer(p0|0)|0; +} +function _emscripten_glCheckFramebufferStatus__wrapper(p0) { + p0 = p0|0; return _emscripten_glCheckFramebufferStatus(p0|0)|0; +} +function _emscripten_glIsEnabled__wrapper(p0) { + p0 = p0|0; return _emscripten_glIsEnabled(p0|0)|0; +} +function b6(p0,p1,p2,p3) { + p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3; nullFunc_viddd(6); +} +function _emscripten_glUniform3f__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glUniform3f(p0|0,+p1,+p2,+p3); +} +function _emscripten_glVertexAttrib3f__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glVertexAttrib3f(p0|0,+p1,+p2,+p3); +} +function b7(p0,p1,p2) { + p0 = p0|0;p1 = +p1;p2 = +p2; nullFunc_vidd(7); +} +function _emscripten_glUniform2f__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = +p1;p2 = +p2; _emscripten_glUniform2f(p0|0,+p1,+p2); +} +function _emscripten_glVertexAttrib2f__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = +p1;p2 = +p2; _emscripten_glVertexAttrib2f(p0|0,+p1,+p2); +} +function b8(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; nullFunc_iiii(8);return 0; +} +function b9(p0,p1,p2,p3,p4,p5,p6,p7) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0; nullFunc_viiiiiiii(9); +} +function _emscripten_glCompressedTexImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0; _emscripten_glCompressedTexImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0); +} +function _emscripten_glCopyTexImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0; _emscripten_glCopyTexImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0); +} +function _emscripten_glCopyTexSubImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0; _emscripten_glCopyTexSubImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0); +} +function b10(p0,p1,p2,p3,p4,p5) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0; nullFunc_viiiiii(10); +} +function _emscripten_glDrawRangeElements__wrapper(p0,p1,p2,p3,p4,p5) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0; _emscripten_glDrawRangeElements(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0); +} +function _emscripten_glVertexAttribPointer__wrapper(p0,p1,p2,p3,p4,p5) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0; _emscripten_glVertexAttribPointer(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0); +} +function b11(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; nullFunc_viii(11); +} +function _emscripten_glGetTexParameterfv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetTexParameterfv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetTexParameteriv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetTexParameteriv(p0|0,p1|0,p2|0); +} +function _emscripten_glTexParameterfv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glTexParameterfv(p0|0,p1|0,p2|0); +} +function _emscripten_glTexParameteriv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glTexParameteriv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetBufferParameteriv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetBufferParameteriv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetRenderbufferParameteriv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetRenderbufferParameteriv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetUniformfv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetUniformfv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetUniformiv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetUniformiv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetVertexAttribfv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetVertexAttribfv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetVertexAttribiv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetVertexAttribiv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetVertexAttribPointerv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetVertexAttribPointerv(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform2i__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform2i(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform1iv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform1iv(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform2iv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform2iv(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform3iv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform3iv(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform4iv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform4iv(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform1fv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform1fv(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform2fv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform2fv(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform3fv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform3fv(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform4fv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform4fv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetShaderiv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetShaderiv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetProgramiv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetProgramiv(p0|0,p1|0,p2|0); +} +function _emscripten_glBindAttribLocation__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glBindAttribLocation(p0|0,p1|0,p2|0); +} +function _emscripten_glGetObjectParameterivARB__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetObjectParameterivARB(p0|0,p1|0,p2|0); +} +function _emscripten_glNormalPointer__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glNormalPointer(p0|0,p1|0,p2|0); +} +function _emscripten_glDrawArrays__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glDrawArrays(p0|0,p1|0,p2|0); +} +function _emscripten_glTexParameteri__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glTexParameteri(p0|0,p1|0,p2|0); +} +function _emscripten_glStencilFunc__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glStencilFunc(p0|0,p1|0,p2|0); +} +function _emscripten_glStencilOp__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glStencilOp(p0|0,p1|0,p2|0); +} +function b12(p0,p1,p2,p3,p4) { + p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4; nullFunc_vidddd(12); +} +function _emscripten_glUniform4f__wrapper(p0,p1,p2,p3,p4) { + p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4; _emscripten_glUniform4f(p0|0,+p1,+p2,+p3,+p4); +} +function _emscripten_glVertexAttrib4f__wrapper(p0,p1,p2,p3,p4) { + p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4; _emscripten_glVertexAttrib4f(p0|0,+p1,+p2,+p3,+p4); +} +function b13(p0,p1) { + p0 = +p0;p1 = p1|0; nullFunc_vdi(13); +} +function _emscripten_glSampleCoverage__wrapper(p0,p1) { + p0 = +p0;p1 = p1|0; _emscripten_glSampleCoverage(+p0,p1|0); +} +function b14(p0,p1,p2,p3,p4,p5,p6) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0; nullFunc_viiiiiii(14); +} +function _emscripten_glReadPixels__wrapper(p0,p1,p2,p3,p4,p5,p6) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0; _emscripten_glReadPixels(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0); +} +function _emscripten_glGetActiveUniform__wrapper(p0,p1,p2,p3,p4,p5,p6) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0; _emscripten_glGetActiveUniform(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0); +} +function _emscripten_glGetActiveAttrib__wrapper(p0,p1,p2,p3,p4,p5,p6) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0; _emscripten_glGetActiveAttrib(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0); +} +function b15(p0,p1,p2,p3,p4,p5,p6,p7,p8) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0;p8 = p8|0; nullFunc_viiiiiiiii(15); +} +function _emscripten_glCompressedTexSubImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7,p8) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0;p8 = p8|0; _emscripten_glCompressedTexSubImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0,p8|0); +} +function _emscripten_glTexImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7,p8) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0;p8 = p8|0; _emscripten_glTexImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0,p8|0); +} +function _emscripten_glTexSubImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7,p8) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0;p8 = p8|0; _emscripten_glTexSubImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0,p8|0); +} +function b16(p0,p1) { + p0 = p0|0;p1 = p1|0; nullFunc_iii(16);return 0; +} +function _emscripten_glGetUniformLocation__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; return _emscripten_glGetUniformLocation(p0|0,p1|0)|0; +} +function _emscripten_glGetAttribLocation__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; return _emscripten_glGetAttribLocation(p0|0,p1|0)|0; +} +function b17() { + ; nullFunc_i(17);return 0; +} +function _emscripten_glCreateProgram__wrapper() { + ; return _emscripten_glCreateProgram()|0; +} +function _emscripten_glGetError__wrapper() { + ; return _emscripten_glGetError()|0; +} +function b18(p0,p1,p2,p3,p4,p5) { + p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4;p5 = +p5; nullFunc_vdddddd(18); +} +function _emscripten_glFrustum__wrapper(p0,p1,p2,p3,p4,p5) { + p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4;p5 = +p5; _emscripten_glFrustum(+p0,+p1,+p2,+p3,+p4,+p5); +} +function b19(p0,p1,p2,p3) { + p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3; nullFunc_vdddd(19); +} +function _emscripten_glRotatef__wrapper(p0,p1,p2,p3) { + p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glRotatef(+p0,+p1,+p2,+p3); +} +function _emscripten_glClearColor__wrapper(p0,p1,p2,p3) { + p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glClearColor(+p0,+p1,+p2,+p3); +} +function _emscripten_glBlendColor__wrapper(p0,p1,p2,p3) { + p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glBlendColor(+p0,+p1,+p2,+p3); +} +function b20(p0,p1) { + p0 = +p0;p1 = +p1; nullFunc_vdd(20); +} +function _emscripten_glDepthRange__wrapper(p0,p1) { + p0 = +p0;p1 = +p1; _emscripten_glDepthRange(+p0,+p1); +} +function _emscripten_glDepthRangef__wrapper(p0,p1) { + p0 = +p0;p1 = +p1; _emscripten_glDepthRangef(+p0,+p1); +} +function _emscripten_glPolygonOffset__wrapper(p0,p1) { + p0 = +p0;p1 = +p1; _emscripten_glPolygonOffset(+p0,+p1); +} +function b21() { + ; nullFunc_v(21); +} +function _emscripten_glLoadIdentity__wrapper() { + ; _emscripten_glLoadIdentity(); +} +function _emscripten_glReleaseShaderCompiler__wrapper() { + ; _emscripten_glReleaseShaderCompiler(); +} +function _emscripten_glFinish__wrapper() { + ; _emscripten_glFinish(); +} +function _emscripten_glFlush__wrapper() { + ; _emscripten_glFlush(); +} +function b22(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = +p2; nullFunc_viid(22); +} +function _emscripten_glTexParameterf__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = +p2; _emscripten_glTexParameterf(p0|0,p1|0,+p2); +} +function b23(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; nullFunc_viiii(23); +} +function _emscripten_glBufferData__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glBufferData(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glBufferSubData__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glBufferSubData(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glUniform3i__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glUniform3i(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glUniformMatrix2fv__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glUniformMatrix2fv(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glUniformMatrix3fv__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glUniformMatrix3fv(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glUniformMatrix4fv__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glUniformMatrix4fv(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glGetAttachedShaders__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetAttachedShaders(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glShaderSource__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glShaderSource(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glGetShaderSource__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetShaderSource(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glGetShaderInfoLog__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetShaderInfoLog(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glGetShaderPrecisionFormat__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetShaderPrecisionFormat(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glGetProgramInfoLog__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetProgramInfoLog(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glFramebufferRenderbuffer__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glFramebufferRenderbuffer(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glGetFramebufferAttachmentParameteriv__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetFramebufferAttachmentParameteriv(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glGetInfoLogARB__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetInfoLogARB(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glVertexPointer__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glVertexPointer(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glTexCoordPointer__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glTexCoordPointer(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glColorPointer__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glColorPointer(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glDrawElements__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glDrawElements(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glDrawArraysInstanced__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glDrawArraysInstanced(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glViewport__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glViewport(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glScissor__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glScissor(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glColorMask__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glColorMask(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glRenderbufferStorage__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glRenderbufferStorage(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glBlendFuncSeparate__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glBlendFuncSeparate(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glStencilFuncSeparate__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glStencilFuncSeparate(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glStencilOpSeparate__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glStencilOpSeparate(p0|0,p1|0,p2|0,p3|0); +} + +// EMSCRIPTEN_END_FUNCS +var FUNCTION_TABLE_viiiii = [b0,_KeyCallback,_emscripten_glUniform4i__wrapper,_emscripten_glFramebufferTexture2D__wrapper,_emscripten_glShaderBinary__wrapper,_emscripten_glDrawElementsInstanced__wrapper,b0,b0]; +var FUNCTION_TABLE_vd = [b1,_emscripten_glClearDepth__wrapper,_emscripten_glClearDepthf__wrapper,_emscripten_glLineWidth__wrapper]; +var FUNCTION_TABLE_vid = [b2,_emscripten_glUniform1f__wrapper,_emscripten_glVertexAttrib1f__wrapper,b2]; +var FUNCTION_TABLE_vi = [b3,_emscripten_glDeleteShader__wrapper,_emscripten_glCompileShader__wrapper,_emscripten_glDeleteProgram__wrapper,_emscripten_glLinkProgram__wrapper,_emscripten_glUseProgram__wrapper,_emscripten_glValidateProgram__wrapper,_emscripten_glDeleteObjectARB__wrapper,_emscripten_glEnableClientState__wrapper,_emscripten_glClientActiveTexture__wrapper,_emscripten_glBindVertexArray__wrapper,_emscripten_glMatrixMode__wrapper,_emscripten_glLoadMatrixf__wrapper,_emscripten_glEnableVertexAttribArray__wrapper,_emscripten_glDisableVertexAttribArray__wrapper,_emscripten_glDepthFunc__wrapper,_emscripten_glEnable__wrapper,_emscripten_glDisable__wrapper,_emscripten_glFrontFace__wrapper,_emscripten_glCullFace__wrapper,_emscripten_glClear__wrapper,_emscripten_glClearStencil__wrapper,_emscripten_glDepthMask__wrapper,_emscripten_glStencilMask__wrapper,_emscripten_glGenerateMipmap__wrapper,_emscripten_glActiveTexture__wrapper,_emscripten_glBlendEquation__wrapper,b3,b3 +,b3,b3,b3]; +var FUNCTION_TABLE_vii = [b4,_stbi__stdio_skip,_ErrorCallback,_CursorEnterCallback,_CharCallback,_WindowIconifyCallback,_emscripten_glPixelStorei__wrapper,_emscripten_glGetIntegerv__wrapper,_emscripten_glGetFloatv__wrapper,_emscripten_glGetBooleanv__wrapper,_emscripten_glGenTextures__wrapper,_emscripten_glDeleteTextures__wrapper,_emscripten_glBindTexture__wrapper,_emscripten_glGenBuffers__wrapper,_emscripten_glDeleteBuffers__wrapper,_emscripten_glGenRenderbuffers__wrapper,_emscripten_glDeleteRenderbuffers__wrapper,_emscripten_glBindRenderbuffer__wrapper,_emscripten_glUniform1i__wrapper,_emscripten_glBindBuffer__wrapper,_emscripten_glVertexAttrib1fv__wrapper,_emscripten_glVertexAttrib2fv__wrapper,_emscripten_glVertexAttrib3fv__wrapper,_emscripten_glVertexAttrib4fv__wrapper,_emscripten_glAttachShader__wrapper,_emscripten_glDetachShader__wrapper,_emscripten_glBindFramebuffer__wrapper,_emscripten_glGenFramebuffers__wrapper,_emscripten_glDeleteFramebuffers__wrapper,_emscripten_glBindProgramARB__wrapper,_emscripten_glGetPointerv__wrapper,_emscripten_glGenVertexArrays__wrapper,_emscripten_glDeleteVertexArrays__wrapper,_emscripten_glVertexAttribDivisor__wrapper,_emscripten_glBlendFunc__wrapper,_emscripten_glBlendEquationSeparate__wrapper,_emscripten_glStencilMaskSeparate__wrapper,_emscripten_glHint__wrapper,_emscripten_glDrawBuffers__wrapper,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4 +,b4,b4,b4,b4,b4]; +var FUNCTION_TABLE_ii = [b5,_stbi__stdio_eof,___stdio_close,_emscripten_glGetString__wrapper,_emscripten_glIsTexture__wrapper,_emscripten_glIsBuffer__wrapper,_emscripten_glIsRenderbuffer__wrapper,_emscripten_glCreateShader__wrapper,_emscripten_glIsShader__wrapper,_emscripten_glIsProgram__wrapper,_emscripten_glIsFramebuffer__wrapper,_emscripten_glCheckFramebufferStatus__wrapper,_emscripten_glIsEnabled__wrapper,b5,b5,b5]; +var FUNCTION_TABLE_viddd = [b6,_emscripten_glUniform3f__wrapper,_emscripten_glVertexAttrib3f__wrapper,b6]; +var FUNCTION_TABLE_vidd = [b7,_MouseCursorPosCallback,_ScrollCallback,_emscripten_glUniform2f__wrapper,_emscripten_glVertexAttrib2f__wrapper,b7,b7,b7]; +var FUNCTION_TABLE_iiii = [b8,_stbi__stdio_read,___stdio_write,___stdio_seek,___stdout_write,_sn_write,_EmscriptenFullscreenChangeCallback,_EmscriptenKeyboardCallback,_EmscriptenMouseCallback,_EmscriptenTouchCallback,_EmscriptenGamepadCallback,___stdio_read,_do_read,b8,b8,b8]; +var FUNCTION_TABLE_viiiiiiii = [b9,_emscripten_glCompressedTexImage2D__wrapper,_emscripten_glCopyTexImage2D__wrapper,_emscripten_glCopyTexSubImage2D__wrapper]; +var FUNCTION_TABLE_viiiiii = [b10,_emscripten_glDrawRangeElements__wrapper,_emscripten_glVertexAttribPointer__wrapper,b10]; +var FUNCTION_TABLE_viii = [b11,_WindowSizeCallback,_emscripten_glGetTexParameterfv__wrapper,_emscripten_glGetTexParameteriv__wrapper,_emscripten_glTexParameterfv__wrapper,_emscripten_glTexParameteriv__wrapper,_emscripten_glGetBufferParameteriv__wrapper,_emscripten_glGetRenderbufferParameteriv__wrapper,_emscripten_glGetUniformfv__wrapper,_emscripten_glGetUniformiv__wrapper,_emscripten_glGetVertexAttribfv__wrapper,_emscripten_glGetVertexAttribiv__wrapper,_emscripten_glGetVertexAttribPointerv__wrapper,_emscripten_glUniform2i__wrapper,_emscripten_glUniform1iv__wrapper,_emscripten_glUniform2iv__wrapper,_emscripten_glUniform3iv__wrapper,_emscripten_glUniform4iv__wrapper,_emscripten_glUniform1fv__wrapper,_emscripten_glUniform2fv__wrapper,_emscripten_glUniform3fv__wrapper,_emscripten_glUniform4fv__wrapper,_emscripten_glGetShaderiv__wrapper,_emscripten_glGetProgramiv__wrapper,_emscripten_glBindAttribLocation__wrapper,_emscripten_glGetObjectParameterivARB__wrapper,_emscripten_glNormalPointer__wrapper,_emscripten_glDrawArrays__wrapper,_emscripten_glTexParameteri__wrapper,_emscripten_glStencilFunc__wrapper,_emscripten_glStencilOp__wrapper,b11]; +var FUNCTION_TABLE_vidddd = [b12,_emscripten_glUniform4f__wrapper,_emscripten_glVertexAttrib4f__wrapper,b12]; +var FUNCTION_TABLE_vdi = [b13,_emscripten_glSampleCoverage__wrapper]; +var FUNCTION_TABLE_viiiiiii = [b14,_emscripten_glReadPixels__wrapper,_emscripten_glGetActiveUniform__wrapper,_emscripten_glGetActiveAttrib__wrapper]; +var FUNCTION_TABLE_viiiiiiiii = [b15,_emscripten_glCompressedTexSubImage2D__wrapper,_emscripten_glTexImage2D__wrapper,_emscripten_glTexSubImage2D__wrapper]; +var FUNCTION_TABLE_iii = [b16,_point_compare,_uint32_compare,_emscripten_glGetUniformLocation__wrapper,_emscripten_glGetAttribLocation__wrapper,b16,b16,b16]; +var FUNCTION_TABLE_i = [b17,_emscripten_glCreateProgram__wrapper,_emscripten_glGetError__wrapper,b17]; +var FUNCTION_TABLE_vdddddd = [b18,_emscripten_glFrustum__wrapper]; +var FUNCTION_TABLE_vdddd = [b19,_emscripten_glRotatef__wrapper,_emscripten_glClearColor__wrapper,_emscripten_glBlendColor__wrapper]; +var FUNCTION_TABLE_vdd = [b20,_emscripten_glDepthRange__wrapper,_emscripten_glDepthRangef__wrapper,_emscripten_glPolygonOffset__wrapper]; +var FUNCTION_TABLE_v = [b21,_UpdateDrawFrame,_emscripten_glLoadIdentity__wrapper,_emscripten_glReleaseShaderCompiler__wrapper,_emscripten_glFinish__wrapper,_emscripten_glFlush__wrapper,b21,b21]; +var FUNCTION_TABLE_viid = [b22,_emscripten_glTexParameterf__wrapper]; +var FUNCTION_TABLE_viiii = [b23,_MouseButtonCallback,_emscripten_glBufferData__wrapper,_emscripten_glBufferSubData__wrapper,_emscripten_glUniform3i__wrapper,_emscripten_glUniformMatrix2fv__wrapper,_emscripten_glUniformMatrix3fv__wrapper,_emscripten_glUniformMatrix4fv__wrapper,_emscripten_glGetAttachedShaders__wrapper,_emscripten_glShaderSource__wrapper,_emscripten_glGetShaderSource__wrapper,_emscripten_glGetShaderInfoLog__wrapper,_emscripten_glGetShaderPrecisionFormat__wrapper,_emscripten_glGetProgramInfoLog__wrapper,_emscripten_glFramebufferRenderbuffer__wrapper,_emscripten_glGetFramebufferAttachmentParameteriv__wrapper,_emscripten_glGetInfoLogARB__wrapper,_emscripten_glVertexPointer__wrapper,_emscripten_glTexCoordPointer__wrapper,_emscripten_glColorPointer__wrapper,_emscripten_glDrawElements__wrapper,_emscripten_glDrawArraysInstanced__wrapper,_emscripten_glViewport__wrapper,_emscripten_glScissor__wrapper,_emscripten_glColorMask__wrapper,_emscripten_glRenderbufferStorage__wrapper,_emscripten_glBlendFuncSeparate__wrapper,_emscripten_glStencilFuncSeparate__wrapper,_emscripten_glStencilOpSeparate__wrapper,b23,b23,b23]; + + return { _roundf: _roundf, _main: _main, _llvm_cttz_i32: _llvm_cttz_i32, _bitshift64Lshr: _bitshift64Lshr, _bitshift64Shl: _bitshift64Shl, _fflush: _fflush, _memset: _memset, _sbrk: _sbrk, _memcpy: _memcpy, _llvm_bswap_i32: _llvm_bswap_i32, ___muldi3: ___muldi3, ___uremdi3: ___uremdi3, _i64Subtract: _i64Subtract, ___udivmoddi4: ___udivmoddi4, _i64Add: _i64Add, _emscripten_get_global_libc: _emscripten_get_global_libc, _emscripten_GetProcAddress: _emscripten_GetProcAddress, ___udivdi3: ___udivdi3, ___errno_location: ___errno_location, ___muldsi3: ___muldsi3, _free: _free, _memmove: _memmove, _strstr: _strstr, _malloc: _malloc, runPostSets: runPostSets, stackAlloc: stackAlloc, stackSave: stackSave, stackRestore: stackRestore, establishStackSpace: establishStackSpace, setTempRet0: setTempRet0, getTempRet0: getTempRet0, setThrew: setThrew, stackAlloc: stackAlloc, stackSave: stackSave, stackRestore: stackRestore, establishStackSpace: establishStackSpace, setThrew: setThrew, setTempRet0: setTempRet0, getTempRet0: getTempRet0, dynCall_viiiii: dynCall_viiiii, dynCall_vd: dynCall_vd, dynCall_vid: dynCall_vid, dynCall_vi: dynCall_vi, dynCall_vii: dynCall_vii, dynCall_ii: dynCall_ii, dynCall_viddd: dynCall_viddd, dynCall_vidd: dynCall_vidd, dynCall_iiii: dynCall_iiii, dynCall_viiiiiiii: dynCall_viiiiiiii, dynCall_viiiiii: dynCall_viiiiii, dynCall_viii: dynCall_viii, dynCall_vidddd: dynCall_vidddd, dynCall_vdi: dynCall_vdi, dynCall_viiiiiii: dynCall_viiiiiii, dynCall_viiiiiiiii: dynCall_viiiiiiiii, dynCall_iii: dynCall_iii, dynCall_i: dynCall_i, dynCall_vdddddd: dynCall_vdddddd, dynCall_vdddd: dynCall_vdddd, dynCall_vdd: dynCall_vdd, dynCall_v: dynCall_v, dynCall_viid: dynCall_viid, dynCall_viiii: dynCall_viiii }; +}) +// EMSCRIPTEN_END_ASM +(Module.asmGlobalArg, Module.asmLibraryArg, buffer); + +var real__roundf = asm["_roundf"]; asm["_roundf"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); +assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); +return real__roundf.apply(null, arguments); +}; + +var real__main = asm["_main"]; asm["_main"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); +assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); +return real__main.apply(null, arguments); +}; + +var real_stackSave = asm["stackSave"]; asm["stackSave"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); +assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); +return real_stackSave.apply(null, arguments); +}; + +var real_getTempRet0 = asm["getTempRet0"]; asm["getTempRet0"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); +assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); +return real_getTempRet0.apply(null, arguments); +}; + +var real_setThrew = asm["setThrew"]; asm["setThrew"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); +assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); +return real_setThrew.apply(null, arguments); +}; + +var real__bitshift64Lshr = asm["_bitshift64Lshr"]; asm["_bitshift64Lshr"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); +assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); +return real__bitshift64Lshr.apply(null, arguments); +}; + +var real__bitshift64Shl = asm["_bitshift64Shl"]; asm["_bitshift64Shl"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); +assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); +return real__bitshift64Shl.apply(null, arguments); +}; + +var real__fflush = asm["_fflush"]; asm["_fflush"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); +assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); +return real__fflush.apply(null, arguments); +}; + +var real__llvm_cttz_i32 = asm["_llvm_cttz_i32"]; asm["_llvm_cttz_i32"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); +assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); +return real__llvm_cttz_i32.apply(null, arguments); +}; + +var real__sbrk = asm["_sbrk"]; asm["_sbrk"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); +assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); +return real__sbrk.apply(null, arguments); +}; + +var real__llvm_bswap_i32 = asm["_llvm_bswap_i32"]; asm["_llvm_bswap_i32"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); +assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); +return real__llvm_bswap_i32.apply(null, arguments); +}; + +var real____muldi3 = asm["___muldi3"]; asm["___muldi3"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); +assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); +return real____muldi3.apply(null, arguments); +}; + +var real____uremdi3 = asm["___uremdi3"]; asm["___uremdi3"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); +assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); +return real____uremdi3.apply(null, arguments); +}; + +var real_stackAlloc = asm["stackAlloc"]; asm["stackAlloc"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); +assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); +return real_stackAlloc.apply(null, arguments); +}; + +var real__i64Subtract = asm["_i64Subtract"]; asm["_i64Subtract"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); +assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); +return real__i64Subtract.apply(null, arguments); +}; + +var real____udivmoddi4 = asm["___udivmoddi4"]; asm["___udivmoddi4"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); +assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); +return real____udivmoddi4.apply(null, arguments); +}; + +var real_setTempRet0 = asm["setTempRet0"]; asm["setTempRet0"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); +assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); +return real_setTempRet0.apply(null, arguments); +}; + +var real__i64Add = asm["_i64Add"]; asm["_i64Add"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); +assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); +return real__i64Add.apply(null, arguments); +}; + +var real__emscripten_get_global_libc = asm["_emscripten_get_global_libc"]; asm["_emscripten_get_global_libc"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); +assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); +return real__emscripten_get_global_libc.apply(null, arguments); +}; + +var real__emscripten_GetProcAddress = asm["_emscripten_GetProcAddress"]; asm["_emscripten_GetProcAddress"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); +assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); +return real__emscripten_GetProcAddress.apply(null, arguments); +}; + +var real____udivdi3 = asm["___udivdi3"]; asm["___udivdi3"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); +assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); +return real____udivdi3.apply(null, arguments); +}; + +var real____errno_location = asm["___errno_location"]; asm["___errno_location"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); +assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); +return real____errno_location.apply(null, arguments); +}; + +var real____muldsi3 = asm["___muldsi3"]; asm["___muldsi3"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); +assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); +return real____muldsi3.apply(null, arguments); +}; + +var real__free = asm["_free"]; asm["_free"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); +assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); +return real__free.apply(null, arguments); +}; + +var real_establishStackSpace = asm["establishStackSpace"]; asm["establishStackSpace"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); +assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); +return real_establishStackSpace.apply(null, arguments); +}; + +var real__memmove = asm["_memmove"]; asm["_memmove"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); +assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); +return real__memmove.apply(null, arguments); +}; + +var real__strstr = asm["_strstr"]; asm["_strstr"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); +assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); +return real__strstr.apply(null, arguments); +}; + +var real_stackRestore = asm["stackRestore"]; asm["stackRestore"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); +assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); +return real_stackRestore.apply(null, arguments); +}; + +var real__malloc = asm["_malloc"]; asm["_malloc"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); +assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); +return real__malloc.apply(null, arguments); +}; +var _roundf = Module["_roundf"] = asm["_roundf"]; +var _main = Module["_main"] = asm["_main"]; +var stackSave = Module["stackSave"] = asm["stackSave"]; +var getTempRet0 = Module["getTempRet0"] = asm["getTempRet0"]; +var _memset = Module["_memset"] = asm["_memset"]; +var setThrew = Module["setThrew"] = asm["setThrew"]; +var _bitshift64Lshr = Module["_bitshift64Lshr"] = asm["_bitshift64Lshr"]; +var _bitshift64Shl = Module["_bitshift64Shl"] = asm["_bitshift64Shl"]; +var _fflush = Module["_fflush"] = asm["_fflush"]; +var _llvm_cttz_i32 = Module["_llvm_cttz_i32"] = asm["_llvm_cttz_i32"]; +var _sbrk = Module["_sbrk"] = asm["_sbrk"]; +var _memcpy = Module["_memcpy"] = asm["_memcpy"]; +var _llvm_bswap_i32 = Module["_llvm_bswap_i32"] = asm["_llvm_bswap_i32"]; +var ___muldi3 = Module["___muldi3"] = asm["___muldi3"]; +var ___uremdi3 = Module["___uremdi3"] = asm["___uremdi3"]; +var stackAlloc = Module["stackAlloc"] = asm["stackAlloc"]; +var _i64Subtract = Module["_i64Subtract"] = asm["_i64Subtract"]; +var ___udivmoddi4 = Module["___udivmoddi4"] = asm["___udivmoddi4"]; +var setTempRet0 = Module["setTempRet0"] = asm["setTempRet0"]; +var _i64Add = Module["_i64Add"] = asm["_i64Add"]; +var _emscripten_get_global_libc = Module["_emscripten_get_global_libc"] = asm["_emscripten_get_global_libc"]; +var _emscripten_GetProcAddress = Module["_emscripten_GetProcAddress"] = asm["_emscripten_GetProcAddress"]; +var ___udivdi3 = Module["___udivdi3"] = asm["___udivdi3"]; +var ___errno_location = Module["___errno_location"] = asm["___errno_location"]; +var ___muldsi3 = Module["___muldsi3"] = asm["___muldsi3"]; +var _free = Module["_free"] = asm["_free"]; +var runPostSets = Module["runPostSets"] = asm["runPostSets"]; +var establishStackSpace = Module["establishStackSpace"] = asm["establishStackSpace"]; +var _memmove = Module["_memmove"] = asm["_memmove"]; +var _strstr = Module["_strstr"] = asm["_strstr"]; +var stackRestore = Module["stackRestore"] = asm["stackRestore"]; +var _malloc = Module["_malloc"] = asm["_malloc"]; +var dynCall_viiiii = Module["dynCall_viiiii"] = asm["dynCall_viiiii"]; +var dynCall_vd = Module["dynCall_vd"] = asm["dynCall_vd"]; +var dynCall_vid = Module["dynCall_vid"] = asm["dynCall_vid"]; +var dynCall_vi = Module["dynCall_vi"] = asm["dynCall_vi"]; +var dynCall_vii = Module["dynCall_vii"] = asm["dynCall_vii"]; +var dynCall_ii = Module["dynCall_ii"] = asm["dynCall_ii"]; +var dynCall_viddd = Module["dynCall_viddd"] = asm["dynCall_viddd"]; +var dynCall_vidd = Module["dynCall_vidd"] = asm["dynCall_vidd"]; +var dynCall_iiii = Module["dynCall_iiii"] = asm["dynCall_iiii"]; +var dynCall_viiiiiiii = Module["dynCall_viiiiiiii"] = asm["dynCall_viiiiiiii"]; +var dynCall_viiiiii = Module["dynCall_viiiiii"] = asm["dynCall_viiiiii"]; +var dynCall_viii = Module["dynCall_viii"] = asm["dynCall_viii"]; +var dynCall_vidddd = Module["dynCall_vidddd"] = asm["dynCall_vidddd"]; +var dynCall_vdi = Module["dynCall_vdi"] = asm["dynCall_vdi"]; +var dynCall_viiiiiii = Module["dynCall_viiiiiii"] = asm["dynCall_viiiiiii"]; +var dynCall_viiiiiiiii = Module["dynCall_viiiiiiiii"] = asm["dynCall_viiiiiiiii"]; +var dynCall_iii = Module["dynCall_iii"] = asm["dynCall_iii"]; +var dynCall_i = Module["dynCall_i"] = asm["dynCall_i"]; +var dynCall_vdddddd = Module["dynCall_vdddddd"] = asm["dynCall_vdddddd"]; +var dynCall_vdddd = Module["dynCall_vdddd"] = asm["dynCall_vdddd"]; +var dynCall_vdd = Module["dynCall_vdd"] = asm["dynCall_vdd"]; +var dynCall_v = Module["dynCall_v"] = asm["dynCall_v"]; +var dynCall_viid = Module["dynCall_viid"] = asm["dynCall_viid"]; +var dynCall_viiii = Module["dynCall_viiii"] = asm["dynCall_viiii"]; +; + +Runtime.stackAlloc = Module['stackAlloc']; +Runtime.stackSave = Module['stackSave']; +Runtime.stackRestore = Module['stackRestore']; +Runtime.establishStackSpace = Module['establishStackSpace']; + +Runtime.setTempRet0 = Module['setTempRet0']; +Runtime.getTempRet0 = Module['getTempRet0']; + + + +// === Auto-generated postamble setup entry stuff === + +Module['asm'] = asm; + + + + + +function ExitStatus(status) { + this.name = "ExitStatus"; + this.message = "Program terminated with exit(" + status + ")"; + this.status = status; +}; +ExitStatus.prototype = new Error(); +ExitStatus.prototype.constructor = ExitStatus; + +var initialStackTop; +var preloadStartTime = null; +var calledMain = false; + +dependenciesFulfilled = function runCaller() { + // If run has never been called, and we should call run (INVOKE_RUN is true, and Module.noInitialRun is not false) + if (!Module['calledRun']) run(); + if (!Module['calledRun']) dependenciesFulfilled = runCaller; // try this again later, after new deps are fulfilled +} + +Module['callMain'] = Module.callMain = function callMain(args) { + assert(runDependencies == 0, 'cannot call main when async dependencies remain! (listen on __ATMAIN__)'); + assert(__ATPRERUN__.length == 0, 'cannot call main when preRun functions remain to be called'); + + args = args || []; + + ensureInitRuntime(); + + var argc = args.length+1; + function pad() { + for (var i = 0; i < 4-1; i++) { + argv.push(0); + } + } + var argv = [allocate(intArrayFromString(Module['thisProgram']), 'i8', ALLOC_NORMAL) ]; + pad(); + for (var i = 0; i < argc-1; i = i + 1) { + argv.push(allocate(intArrayFromString(args[i]), 'i8', ALLOC_NORMAL)); + pad(); + } + argv.push(0); + argv = allocate(argv, 'i32', ALLOC_NORMAL); + + + try { + + var ret = Module['_main'](argc, argv, 0); + + + // if we're not running an evented main loop, it's time to exit + exit(ret, /* implicit = */ true); + } + catch(e) { + if (e instanceof ExitStatus) { + // exit() throws this once it's done to make sure execution + // has been stopped completely + return; + } else if (e == 'SimulateInfiniteLoop') { + // running an evented main loop, don't immediately exit + Module['noExitRuntime'] = true; + return; + } else { + var toLog = e; + if (e && typeof e === 'object' && e.stack) { + toLog = [e, e.stack]; + } + Module.printErr('exception thrown: ' + toLog); + Module['quit'](1, e); + } + } finally { + calledMain = true; + } +} + + + + +function run(args) { + args = args || Module['arguments']; + + if (preloadStartTime === null) preloadStartTime = Date.now(); + + if (runDependencies > 0) { + Module.printErr('run() called, but dependencies remain, so not running'); + return; + } + + writeStackCookie(); + + preRun(); + + if (runDependencies > 0) return; // a preRun added a dependency, run will be called later + if (Module['calledRun']) return; // run may have just been called through dependencies being fulfilled just in this very frame + + function doRun() { + if (Module['calledRun']) return; // run may have just been called while the async setStatus time below was happening + Module['calledRun'] = true; + + if (ABORT) return; + + ensureInitRuntime(); + + preMain(); + + if (ENVIRONMENT_IS_WEB && preloadStartTime !== null) { + Module.printErr('pre-main prep time: ' + (Date.now() - preloadStartTime) + ' ms'); + } + + if (Module['onRuntimeInitialized']) Module['onRuntimeInitialized'](); + + if (Module['_main'] && shouldRunNow) Module['callMain'](args); + + postRun(); + } + + if (Module['setStatus']) { + Module['setStatus']('Running...'); + setTimeout(function() { + setTimeout(function() { + Module['setStatus'](''); + }, 1); + doRun(); + }, 1); + } else { + doRun(); + } + checkStackCookie(); +} +Module['run'] = Module.run = run; + +function exit(status, implicit) { + if (implicit && Module['noExitRuntime']) { + Module.printErr('exit(' + status + ') implicitly called by end of main(), but noExitRuntime, so not exiting the runtime (you can use emscripten_force_exit, if you want to force a true shutdown)'); + return; + } + + if (Module['noExitRuntime']) { + Module.printErr('exit(' + status + ') called, but noExitRuntime, so halting execution but not exiting the runtime or preventing further async execution (you can use emscripten_force_exit, if you want to force a true shutdown)'); + } else { + + ABORT = true; + EXITSTATUS = status; + STACKTOP = initialStackTop; + + exitRuntime(); + + if (Module['onExit']) Module['onExit'](status); + } + + if (ENVIRONMENT_IS_NODE) { + process['exit'](status); + } + Module['quit'](status, new ExitStatus(status)); +} +Module['exit'] = Module.exit = exit; + +var abortDecorators = []; + +function abort(what) { + if (what !== undefined) { + Module.print(what); + Module.printErr(what); + what = JSON.stringify(what) + } else { + what = ''; + } + + ABORT = true; + EXITSTATUS = 1; + + var extra = ''; + + var output = 'abort(' + what + ') at ' + stackTrace() + extra; + if (abortDecorators) { + abortDecorators.forEach(function(decorator) { + output = decorator(output, what); + }); + } + throw output; +} +Module['abort'] = Module.abort = abort; + +// {{PRE_RUN_ADDITIONS}} + +if (Module['preInit']) { + if (typeof Module['preInit'] == 'function') Module['preInit'] = [Module['preInit']]; + while (Module['preInit'].length > 0) { + Module['preInit'].pop()(); + } +} + +// shouldRunNow refers to calling main(), not run(). +var shouldRunNow = true; +if (Module['noInitialRun']) { + shouldRunNow = false; +} + + +run(); + +// {{POST_RUN_ADDITIONS}} + + + + + +// {{MODULE_ADDITIONS}} + + + diff --git a/games/drturtle/LICENSE.txt b/games/drturtle/LICENSE.txt new file mode 100644 index 000000000..510604da4 --- /dev/null +++ b/games/drturtle/LICENSE.txt @@ -0,0 +1,20 @@ + +This game sources are licensed under an unmodified zlib/libpng license, +which is an OSI-certified, BSD-like license: + +Copyright (c) 2013-2017 Ramon Santamaria (@raysan5) + +This software is provided "as-is", without any express or implied warranty. In no event +will the authors be held liable for any damages arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, including commercial +applications, and to alter it and redistribute it freely, subject to the following restrictions: + + 1. The origin of this software must not be misrepresented; you must not claim that you + wrote the original software. If you use this software in a product, an acknowledgment + in the product documentation would be appreciated but is not required. + + 2. Altered source versions must be plainly marked as such, and must not be misrepresented + as being the original software. + + 3. This notice may not be removed or altered from any source distribution. \ No newline at end of file diff --git a/games/drturtle/makefile b/games/drturtle/makefile index 5657deaaa..898219290 100644 --- a/games/drturtle/makefile +++ b/games/drturtle/makefile @@ -94,7 +94,7 @@ ifeq ($(PLATFORM),PLATFORM_DESKTOP) endif endif ifeq ($(PLATFORM),PLATFORM_WEB) - CFLAGS = -O1 -Wall -std=c99 -D_DEFAULT_SOURCE -s USE_GLFW=3 -s ASSERTIONS=1 -s ALLOW_MEMORY_GROWTH=1 --profiling --preload-file resources + CFLAGS = -O1 -Wall -std=c99 -D_DEFAULT_SOURCE -s USE_GLFW=3 -s ASSERTIONS=1 -s TOTAL_MEMORY=33554432 --profiling --preload-file resources # -O2 # if used, also set --memory-init-file 0 # --memory-init-file 0 # to avoid an external memory initialization code file (.mem) # -s ALLOW_MEMORY_GROWTH=1 # to allow memory resizing diff --git a/games/just_do/LICENSE.txt b/games/just_do/LICENSE.txt new file mode 100644 index 000000000..510604da4 --- /dev/null +++ b/games/just_do/LICENSE.txt @@ -0,0 +1,20 @@ + +This game sources are licensed under an unmodified zlib/libpng license, +which is an OSI-certified, BSD-like license: + +Copyright (c) 2013-2017 Ramon Santamaria (@raysan5) + +This software is provided "as-is", without any express or implied warranty. In no event +will the authors be held liable for any damages arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, including commercial +applications, and to alter it and redistribute it freely, subject to the following restrictions: + + 1. The origin of this software must not be misrepresented; you must not claim that you + wrote the original software. If you use this software in a product, an acknowledgment + in the product documentation would be appreciated but is not required. + + 2. Altered source versions must be plainly marked as such, and must not be misrepresented + as being the original software. + + 3. This notice may not be removed or altered from any source distribution. \ No newline at end of file diff --git a/games/just_do/makefile b/games/just_do/makefile index f86ed2c7e..6dc096fbb 100644 --- a/games/just_do/makefile +++ b/games/just_do/makefile @@ -94,7 +94,7 @@ ifeq ($(PLATFORM),PLATFORM_DESKTOP) endif endif ifeq ($(PLATFORM),PLATFORM_WEB) - CFLAGS = -O1 -Wall -std=c99 -D_DEFAULT_SOURCE -s USE_GLFW=3 -s ASSERTIONS=1 -s --profiling --preload-file resources + CFLAGS = -O1 -Wall -std=c99 -D_DEFAULT_SOURCE -s USE_GLFW=3 -s ASSERTIONS=1 --profiling --preload-file resources # -O2 # if used, also set --memory-init-file 0 # --memory-init-file 0 # to avoid an external memory initialization code file (.mem) # -s ALLOW_MEMORY_GROWTH=1 # to allow memory resizing diff --git a/games/just_do/screens/screen_level02.c b/games/just_do/screens/screen_level02.c index a2d5e5622..584edcef4 100644 --- a/games/just_do/screens/screen_level02.c +++ b/games/just_do/screens/screen_level02.c @@ -154,17 +154,4 @@ void UnloadLevel02Screen(void) int FinishLevel02Screen(void) { return finishScreen; -} - -// Calculate distance between two points -float Vector2Distance(Vector2 v1, Vector2 v2) -{ - float result; - - float dx = v2.x - v1.x; - float dy = v2.y - v1.y; - - result = sqrt(dx*dx + dy*dy); - - return result; } \ No newline at end of file diff --git a/games/koala_seasons/LICENSE.txt b/games/koala_seasons/LICENSE.txt new file mode 100644 index 000000000..510604da4 --- /dev/null +++ b/games/koala_seasons/LICENSE.txt @@ -0,0 +1,20 @@ + +This game sources are licensed under an unmodified zlib/libpng license, +which is an OSI-certified, BSD-like license: + +Copyright (c) 2013-2017 Ramon Santamaria (@raysan5) + +This software is provided "as-is", without any express or implied warranty. In no event +will the authors be held liable for any damages arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, including commercial +applications, and to alter it and redistribute it freely, subject to the following restrictions: + + 1. The origin of this software must not be misrepresented; you must not claim that you + wrote the original software. If you use this software in a product, an acknowledgment + in the product documentation would be appreciated but is not required. + + 2. Altered source versions must be plainly marked as such, and must not be misrepresented + as being the original software. + + 3. This notice may not be removed or altered from any source distribution. \ No newline at end of file diff --git a/games/koala_seasons/Makefile b/games/koala_seasons/Makefile index 0928d3ad0..c9eee6ff7 100644 --- a/games/koala_seasons/Makefile +++ b/games/koala_seasons/Makefile @@ -94,7 +94,7 @@ ifeq ($(PLATFORM),PLATFORM_DESKTOP) endif endif ifeq ($(PLATFORM),PLATFORM_WEB) - CFLAGS = -O1 -Wall -std=c99 -D_DEFAULT_SOURCE -s USE_GLFW=3 -s ASSERTIONS=1 --profiling --preload-file resources -s ALLOW_MEMORY_GROWTH=1 + CFLAGS = -O1 -Wall -std=c99 -DPLATFORM_WEB -D_DEFAULT_SOURCE -s USE_GLFW=3 -s ASSERTIONS=1 -s TOTAL_MEMORY=67108864 --profiling --preload-file resources # -O2 # if used, also set --memory-init-file 0 # --memory-init-file 0 # to avoid an external memory initialization code file (.mem) # -s ALLOW_MEMORY_GROWTH=1 # to allow memory resizing diff --git a/games/koala_seasons/resources/shaders/glsl100/blend_color.fs b/games/koala_seasons/resources/shaders/glsl100/blend_color.fs index eceb16be1..ae23f941f 100644 --- a/games/koala_seasons/resources/shaders/glsl100/blend_color.fs +++ b/games/koala_seasons/resources/shaders/glsl100/blend_color.fs @@ -3,8 +3,8 @@ precision mediump float; // Input vertex attributes (from vertex shader) -in vec2 fragTexCoord; -in vec4 fragColor; +varying vec2 fragTexCoord; +varying vec4 fragColor; // Input uniform values uniform sampler2D texture0; diff --git a/games/koala_seasons/screens/screen_gameplay.c b/games/koala_seasons/screens/screen_gameplay.c index de698df65..6bbcfaafc 100644 --- a/games/koala_seasons/screens/screen_gameplay.c +++ b/games/koala_seasons/screens/screen_gameplay.c @@ -490,7 +490,7 @@ void UpdateGameplayScreen(void) if (monthTimer >= monthChange) { - if ((currentMonth == 10)) + if (currentMonth == 10) { clockInitRotation = 225; clockFinalRotation = clockInitRotation + 90; diff --git a/games/light_my_ritual/LICENSE.txt b/games/light_my_ritual/LICENSE.txt new file mode 100644 index 000000000..510604da4 --- /dev/null +++ b/games/light_my_ritual/LICENSE.txt @@ -0,0 +1,20 @@ + +This game sources are licensed under an unmodified zlib/libpng license, +which is an OSI-certified, BSD-like license: + +Copyright (c) 2013-2017 Ramon Santamaria (@raysan5) + +This software is provided "as-is", without any express or implied warranty. In no event +will the authors be held liable for any damages arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, including commercial +applications, and to alter it and redistribute it freely, subject to the following restrictions: + + 1. The origin of this software must not be misrepresented; you must not claim that you + wrote the original software. If you use this software in a product, an acknowledgment + in the product documentation would be appreciated but is not required. + + 2. Altered source versions must be plainly marked as such, and must not be misrepresented + as being the original software. + + 3. This notice may not be removed or altered from any source distribution. \ No newline at end of file diff --git a/games/light_my_ritual/makefile b/games/light_my_ritual/makefile index 287538c53..7bede523a 100644 --- a/games/light_my_ritual/makefile +++ b/games/light_my_ritual/makefile @@ -94,7 +94,7 @@ ifeq ($(PLATFORM),PLATFORM_DESKTOP) endif endif ifeq ($(PLATFORM),PLATFORM_WEB) - CFLAGS = -O1 -Wall -std=c99 -D_DEFAULT_SOURCE -s USE_GLFW=3 -s ASSERTIONS=1 --profiling --preload-file resources -s ALLOW_MEMORY_GROWTH=1 + CFLAGS = -O1 -Wall -std=c99 -D_DEFAULT_SOURCE -s USE_GLFW=3 -s ASSERTIONS=1 --profiling --preload-file resources -s TOTAL_MEMORY=33554432 # -O2 # if used, also set --memory-init-file 0 # --memory-init-file 0 # to avoid an external memory initialization code file (.mem) # -s ALLOW_MEMORY_GROWTH=1 # to allow memory resizing diff --git a/games/skully_escape/LICENSE.txt b/games/skully_escape/LICENSE.txt new file mode 100644 index 000000000..510604da4 --- /dev/null +++ b/games/skully_escape/LICENSE.txt @@ -0,0 +1,20 @@ + +This game sources are licensed under an unmodified zlib/libpng license, +which is an OSI-certified, BSD-like license: + +Copyright (c) 2013-2017 Ramon Santamaria (@raysan5) + +This software is provided "as-is", without any express or implied warranty. In no event +will the authors be held liable for any damages arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, including commercial +applications, and to alter it and redistribute it freely, subject to the following restrictions: + + 1. The origin of this software must not be misrepresented; you must not claim that you + wrote the original software. If you use this software in a product, an acknowledgment + in the product documentation would be appreciated but is not required. + + 2. Altered source versions must be plainly marked as such, and must not be misrepresented + as being the original software. + + 3. This notice may not be removed or altered from any source distribution. \ No newline at end of file diff --git a/games/skully_escape/makefile b/games/skully_escape/makefile index 4e5ef8da2..70f7f5a3a 100644 --- a/games/skully_escape/makefile +++ b/games/skully_escape/makefile @@ -94,7 +94,7 @@ ifeq ($(PLATFORM),PLATFORM_DESKTOP) endif endif ifeq ($(PLATFORM),PLATFORM_WEB) - CFLAGS = -O1 -Wall -std=c99 -D_DEFAULT_SOURCE -s USE_GLFW=3 -s ASSERTIONS=1 --profiling --preload-file resources -s ALLOW_MEMORY_GROWTH=1 + CFLAGS = -O1 -Wall -std=c99 -D_DEFAULT_SOURCE -s USE_GLFW=3 -s ASSERTIONS=1 -s TOTAL_MEMORY=67108864 --profiling --preload-file resources # -O2 # if used, also set --memory-init-file 0 # --memory-init-file 0 # to avoid an external memory initialization code file (.mem) # -s ALLOW_MEMORY_GROWTH=1 # to allow memory resizing diff --git a/games/wave_collector/LICENSE.txt b/games/wave_collector/LICENSE.txt new file mode 100644 index 000000000..510604da4 --- /dev/null +++ b/games/wave_collector/LICENSE.txt @@ -0,0 +1,20 @@ + +This game sources are licensed under an unmodified zlib/libpng license, +which is an OSI-certified, BSD-like license: + +Copyright (c) 2013-2017 Ramon Santamaria (@raysan5) + +This software is provided "as-is", without any express or implied warranty. In no event +will the authors be held liable for any damages arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, including commercial +applications, and to alter it and redistribute it freely, subject to the following restrictions: + + 1. The origin of this software must not be misrepresented; you must not claim that you + wrote the original software. If you use this software in a product, an acknowledgment + in the product documentation would be appreciated but is not required. + + 2. Altered source versions must be plainly marked as such, and must not be misrepresented + as being the original software. + + 3. This notice may not be removed or altered from any source distribution. \ No newline at end of file diff --git a/games/wave_collector/Makefile b/games/wave_collector/Makefile index dee622cac..618ef22b7 100644 --- a/games/wave_collector/Makefile +++ b/games/wave_collector/Makefile @@ -94,7 +94,7 @@ ifeq ($(PLATFORM),PLATFORM_DESKTOP) endif endif ifeq ($(PLATFORM),PLATFORM_WEB) - CFLAGS = -O1 -Wall -std=c99 -D_DEFAULT_SOURCE -s USE_GLFW=3 -s ASSERTIONS=1 -s ALLOW_MEMORY_GROWTH=1 --profiling --preload-file resources + CFLAGS = -O1 -Wall -std=c99 -D_DEFAULT_SOURCE -s USE_GLFW=3 -s ASSERTIONS=1 -s TOTAL_MEMORY=67108864 --profiling --preload-file resources # -O2 # if used, also set --memory-init-file 0 # --memory-init-file 0 # to avoid an external memory initialization code file (.mem) # -s ALLOW_MEMORY_GROWTH=1 # to allow memory resizing diff --git a/src/Makefile b/src/Makefile index b616b583a..f2e099885 100644 --- a/src/Makefile +++ b/src/Makefile @@ -1,10 +1,19 @@ #****************************************************************************** # -# raylib makefile for desktop platforms, Raspberry Pi and HTML5 (emscripten) +# raylib makefile # -# Many Thanks to Emanuele Petriglia for his contribution on GNU/Linux pipeline. +# Platforms supported: +# PLATFORM_DESKTOP: Windows (win32/Win64) +# PLATFORM_DESKTOP: Linux +# PLATFORM_DESKTOP: OSX (Mac) +# PLATFORM_ANDROID: Android (ARM or ARM64) +# PLATFORM_RPI: Raspberry Pi (Raspbian) +# PLATFORM_WEB: HTML5 (Chrome, Firefox) # -# Copyright (c) 2014-2016 Ramon Santamaria (@raysan5) +# Many thanks to Milan Nikolic (@gen2brain) for implementing Android platform pipeline. +# Many thanks to Emanuele Petriglia for his contribution on GNU/Linux pipeline. +# +# Copyright (c) 2014-2017 Ramon Santamaria (@raysan5) # # This software is provided "as-is", without any express or implied warranty. # In no event will the authors be held liable for any damages arising from @@ -29,7 +38,7 @@ # Please read the wiki to know how to compile raylib, because there are # different methods. -.PHONY: all clean install unistall +.PHONY: all clean install uninstall # define raylib platform to compile for # possible platforms: PLATFORM_DESKTOP PLATFORM_ANDROID PLATFORM_RPI PLATFORM_WEB @@ -38,12 +47,16 @@ PLATFORM ?= PLATFORM_DESKTOP # define YES if you want shared/dynamic version of library instead of static (default) SHARED ?= NO -# define NO to use OpenAL Soft as static library (or shared by default) -SHARED_OPENAL ?= YES +# use OpenAL Soft as shared library (.so / .dll) +# NOTE: If defined NO, static OpenAL Soft library should be provided +SHARED_OPENAL ?= NO # on PLATFORM_WEB force OpenAL Soft shared library ifeq ($(PLATFORM),PLATFORM_WEB) - SHARED_OPENAL ?= YES + SHARED_OPENAL = YES +endif +ifeq ($(PLATFORM),PLATFORM_ANDROID) + SHARED_OPENAL = YES endif # determine if the file has root access (only for installing raylib) @@ -69,48 +82,67 @@ ifeq ($(PLATFORM),PLATFORM_DESKTOP) endif endif -ifeq ($(PLATFORM),PLATFORM_ANDROID) - # path to Android NDK - ANDROID_NDK = $(ANDROID_NDK_HOME) +ifeq ($(PLATFORM),PLATFORM_WEB) + # Emscripten required variables + EMSDK_PATH = C:/emsdk + EMSCRIPTEN_VERSION = 1.37.9 + CLANG_VERSION=e1.37.9_64bit + PYTHON_VERSION=2.7.5.3_64bit + NODE_VERSION=4.1.1_64bit + export PATH=$(EMSDK_PATH);$(EMSDK_PATH)\clang\$(CLANG_VERSION);$(EMSDK_PATH)\node\$(NODE_VERSION)\bin;$(EMSDK_PATH)\python\$(PYTHON_VERSION);$(EMSDK_PATH)\emscripten\$(EMSCRIPTEN_VERSION);C:\raylib\MinGW\bin:$$(PATH) + EMSCRIPTEN=$(EMSDK_PATH)\emscripten\$(EMSCRIPTEN_VERSION) +endif - # possible Android architectures: ARM ARM64 +ifeq ($(PLATFORM),PLATFORM_ANDROID) + # Android NDK path + # NOTE: Required for standalone toolchain generation + ANDROID_NDK = $(ANDROID_NDK_HOME) + + # Android standalone toolchain path + # NOTE: This path is also used if toolchain generation + #ANDROID_TOOLCHAIN = $(CURDIR)/toolchain + ANDROID_TOOLCHAIN = C:/raylib/android-standalone-toolchain + + # Android architecture: ARM or ARM64 ANDROID_ARCH ?= ARM - # define YES to use clang instead of gcc + # Android compiler: gcc or clang + # NOTE: Define YES to use clang instead of gcc ANDROID_LLVM ?= NO - - # standalone Android toolchain install dir - ANDROID_TOOLCHAIN = $(CURDIR)/toolchain endif ifeq ($(PLATFORM),PLATFORM_RPI) + # RPI cross-compiler CROSS_COMPILE ?= NO endif # define raylib graphics api depending on selected platform -ifeq ($(PLATFORM),PLATFORM_ANDROID) - GRAPHICS = GRAPHICS_API_OPENGL_ES2 -endif -ifeq ($(PLATFORM),PLATFORM_RPI) - # define raylib graphics api to use (on RPI, OpenGL ES 2.0 must be used) - GRAPHICS = GRAPHICS_API_OPENGL_ES2 -else - # define raylib graphics api to use (OpenGL 3.3 by default) +ifeq ($(PLATFORM),PLATFORM_DESKTOP) + # by default use OpenGL 3.3 on desktop platforms GRAPHICS ?= GRAPHICS_API_OPENGL_33 #GRAPHICS = GRAPHICS_API_OPENGL_11 # Uncomment to use OpenGL 1.1 #GRAPHICS = GRAPHICS_API_OPENGL_21 # Uncomment to use OpenGL 2.1 endif +ifeq ($(PLATFORM),PLATFORM_RPI) + # on RPI OpenGL ES 2.0 must be used + GRAPHICS = GRAPHICS_API_OPENGL_ES2 +endif ifeq ($(PLATFORM),PLATFORM_WEB) + # on HTML5 OpenGL ES 2.0 is used, emscripten translates it to WebGL 1.0 + GRAPHICS = GRAPHICS_API_OPENGL_ES2 +endif +ifeq ($(PLATFORM),PLATFORM_ANDROID) + # by default use OpenGL ES 2.0 on Android GRAPHICS = GRAPHICS_API_OPENGL_ES2 endif # NOTE: makefiles targets require tab indentation - -# define compiler: gcc for C program, define as g++ for C++ +# NOTE: define compiler: gcc for C program, define as g++ for C++ # default gcc compiler CC = gcc +# Android toolchain compiler ifeq ($(PLATFORM),PLATFORM_ANDROID) ifeq ($(ANDROID_ARCH),ARM) ifeq ($(ANDROID_LLVM),YES) @@ -128,6 +160,7 @@ ifeq ($(PLATFORM),PLATFORM_ANDROID) endif endif +# RPI cross-compiler ifeq ($(PLATFORM),PLATFORM_RPI) ifeq ($(CROSS_COMPILE),YES) # rpi compiler @@ -135,13 +168,15 @@ ifeq ($(PLATFORM),PLATFORM_RPI) endif endif +# HTML5 emscripten compiler ifeq ($(PLATFORM),PLATFORM_WEB) - # emscripten compiler CC = emcc endif +# default archiver program to pack libraries AR = ar +# Android archiver ifeq ($(PLATFORM),PLATFORM_ANDROID) ifeq ($(ANDROID_ARCH),ARM) AR = $(ANDROID_TOOLCHAIN)/bin/arm-linux-androideabi-ar @@ -159,29 +194,17 @@ endif # -std=gnu99 defines C language mode (GNU C from 1999 revision) # -fgnu89-inline declaring inline functions support (GCC optimized) # -Wno-missing-braces ignore invalid warning (GCC bug 53119) -# -D_DEFAULT_SOURCE use with -std=c99 on Linux and PLATFORM_WEB -ifeq ($(PLATFORM),PLATFORM_DESKTOP) - ifeq ($(PLATFORM_OS),WINDOWS) - CFLAGS = -O1 -Wall -std=gnu99 -fgnu89-inline -Wno-missing-braces - endif - ifeq ($(PLATFORM_OS),LINUX) - CFLAGS = -O1 -Wall -std=c99 -D_DEFAULT_SOURCE - endif - ifeq ($(PLATFORM_OS),OSX) - CFLAGS = -O1 -Wall -std=gnu99 -fgnu89-inline -Wno-missing-braces - endif -endif +# -D_DEFAULT_SOURCE use with -std=c99 +CFLAGS = -O1 -Wall -std=c99 -D_DEFAULT_SOURCE -fgnu89-inline -Wno-missing-braces + ifeq ($(PLATFORM),PLATFORM_WEB) - CFLAGS = -O1 -Wall -std=c99 -D_DEFAULT_SOURCE -s USE_GLFW=3 -s ASSERTIONS=1 --profiling --preload-file resources + CFLAGS += -s USE_GLFW=3 -s ASSERTIONS=1 --profiling --preload-file resources # -O2 # if used, also set --memory-init-file 0 # --memory-init-file 0 # to avoid an external memory initialization code file (.mem) # -s ALLOW_MEMORY_GROWTH=1 # to allow memory resizing # -s TOTAL_MEMORY=16777216 # to specify heap memory size (default = 16MB) # -s USE_PTHREADS=1 # multithreading support endif -ifeq ($(PLATFORM),PLATFORM_RPI) - CFLAGS = -O1 -Wall -std=gnu99 -fgnu89-inline -Wno-missing-braces -endif #CFLAGSEXTRA = -Wextra -Wmissing-prototypes -Wstrict-prototypes @@ -205,32 +228,32 @@ endif #CFLAGSEXTRA = -Wextra -Wmissing-prototypes -Wstrict-prototypes +# external required libraries (stb and others) +INCLUDES = -I. -Iexternal +# OpenAL Soft library +INCLUDES += -Iexternal/openal_soft/include + # define any directories containing required header files -ifeq ($(PLATFORM),PLATFORM_ANDROID) -# STB libraries and others - INCLUDES = -I. -Iexternal -# OpenAL Soft library - INCLUDES += -Iexternal/openal_soft/include -# Android includes - INCLUDES += -I$(ANDROID_TOOLCHAIN)/sysroot/usr/include - INCLUDES += -I$(ANDROID_NDK)/sources/android/native_app_glue -else -# STB libraries and others - INCLUDES = -I. -Iexternal -# GLFW3 library +ifeq ($(PLATFORM),PLATFORM_DESKTOP) + # GLFW3 library INCLUDES += -Iexternal/glfw3/include -# OpenAL Soft library - INCLUDES += -Iexternal/openal_soft/include endif ifeq ($(PLATFORM),PLATFORM_RPI) -# STB libraries and others - INCLUDES = -I. -Iexternal -# RPi libraries + # RPI requried libraries INCLUDES += -I/opt/vc/include INCLUDES += -I/opt/vc/include/interface/vmcs_host/linux INCLUDES += -I/opt/vc/include/interface/vcos/pthreads -# OpenAL Soft library - INCLUDES += -Iexternal/openal_soft/include +endif +ifeq ($(PLATFORM),PLATFORM_WEB) + # GLFW3 library + INCLUDES += -Iexternal/glfw3/include +endif +ifeq ($(PLATFORM),PLATFORM_ANDROID) + # Android required libraries + INCLUDES += -I$(ANDROID_TOOLCHAIN)/sysroot/usr/include + # Include android_native_app_glue.h + INCLUDES += -Iandroid/jni/include + #INCLUDES += -I$(ANDROID_NDK)/sources/android/native_app_glue endif # define output directory for compiled library @@ -245,6 +268,12 @@ ifeq ($(PLATFORM),PLATFORM_DESKTOP) OUTPUT_PATH = ../release/osx endif endif +ifeq ($(PLATFORM),PLATFORM_RPI) + OUTPUT_PATH = ../release/rpi +endif +ifeq ($(PLATFORM),PLATFORM_WEB) + OUTPUT_PATH = ../release/html5 +endif ifeq ($(PLATFORM),PLATFORM_ANDROID) ifeq ($(ANDROID_ARCH),ARM) OUTPUT_PATH = ../release/android/armeabi-v7a @@ -253,12 +282,6 @@ ifeq ($(PLATFORM),PLATFORM_ANDROID) OUTPUT_PATH = ../release/android/arm64-v8a endif endif -ifeq ($(PLATFORM),PLATFORM_WEB) - OUTPUT_PATH = ../release/html5 -endif -ifeq ($(PLATFORM),PLATFORM_RPI) - OUTPUT_PATH = ../release/rpi -endif # define all object files required with a wildcard # The wildcard takes all files that finish with ".c", then it replaces the @@ -268,9 +291,10 @@ OBJS += external/stb_vorbis.o # typing 'make' will invoke the default target entry called 'all', # in this case, the 'default' target entry is raylib -all: toolchain raylib +all: raylib -# make standalone Android toolchain +# generate standalone Android toolchain +# NOTE: Android toolchain could already be provided toolchain: ifeq ($(PLATFORM),PLATFORM_ANDROID) ifeq ($(ANDROID_ARCH),ARM) @@ -304,7 +328,7 @@ else @echo "raylib shared library (libraylib.so) generated!" endif else - # compile raylib static library. + # compile raylib static library. $(AR) rcs $(OUTPUT_PATH)/libraylib.a $(OBJS) @echo "libraylib.a generated (static library)!" ifeq ($(SHARED_OPENAL),NO) @@ -353,6 +377,7 @@ external/stb_vorbis.o: external/stb_vorbis.c external/stb_vorbis.h utils.o : utils.c utils.h $(CC) -c $< $(CFLAGS) $(INCLUDES) -D$(PLATFORM) -D$(SHAREDFLAG) + # It installs generated and needed files to compile projects using raylib. # The installation works manually. # TODO: add other platforms. @@ -379,7 +404,7 @@ endif # it removes raylib dev files installed on the system. # TODO: see 'install' target. -unistall : +uninstall : ifeq ($(ROOT),root) ifeq ($(PLATFORM_OS),LINUX) rm --force /usr/local/include/raylib.h diff --git a/src/audio.c b/src/audio.c index d63047a84..39befbbc2 100644 --- a/src/audio.c +++ b/src/audio.c @@ -79,7 +79,7 @@ #include "utils.h" // Required for: fopen() Android mapping #endif -#ifdef __APPLE__ +#if defined(__APPLE__) #include "OpenAL/al.h" // OpenAL basic header #include "OpenAL/alc.h" // OpenAL context header (like OpenGL, OpenAL requires a context to work) #else @@ -570,7 +570,7 @@ void WaveFormat(Wave *wave, int sampleRate, int sampleSize, int channels) // NOTE: Only supported mono <--> stereo if (wave->channels != channels) { - void *data = malloc(wave->sampleCount*channels*wave->sampleSize/8); + void *data = malloc(wave->sampleCount*wave->sampleSize/8*channels); if ((wave->channels == 1) && (channels == 2)) // mono ---> stereo (duplicate mono information) { @@ -607,7 +607,7 @@ Wave WaveCopy(Wave wave) { Wave newWave = { 0 }; - newWave.data = malloc(wave.sampleCount*wave.channels*wave.sampleSize/8); + newWave.data = malloc(wave.sampleCount*wave.sampleSize/8*wave.channels); if (newWave.data != NULL) { @@ -632,7 +632,7 @@ void WaveCrop(Wave *wave, int initSample, int finalSample) { int sampleCount = finalSample - initSample; - void *data = malloc(sampleCount*wave->channels*wave->sampleSize/8); + void *data = malloc(sampleCount*wave->sampleSize/8*wave->channels); memcpy(data, (unsigned char*)wave->data + (initSample*wave->channels*wave->sampleSize/8), sampleCount*wave->channels*wave->sampleSize/8); @@ -810,7 +810,8 @@ void StopMusicStream(Music music) for (int i = 0; i < MAX_STREAM_BUFFERS; i++) { - alBufferData(music->stream.buffers[i], music->stream.format, pcm, AUDIO_BUFFER_SIZE*music->stream.sampleSize/8*music->stream.channels, music->stream.sampleRate); + UpdateAudioStream(music->stream, pcm, AUDIO_BUFFER_SIZE); + //alBufferData(music->stream.buffers[i], music->stream.format, pcm, AUDIO_BUFFER_SIZE*music->stream.sampleSize/8*music->stream.channels, music->stream.sampleRate); } free(pcm); @@ -849,11 +850,11 @@ void UpdateMusicStream(Music music) bool active = true; // NOTE: Using dynamic allocation because it could require more than 16KB - void *pcm = calloc(AUDIO_BUFFER_SIZE*music->stream.channels*music->stream.sampleSize/8, 1); + void *pcm = calloc(AUDIO_BUFFER_SIZE*music->stream.sampleSize/8*music->stream.channels, 1); int numBuffersToProcess = processed; int samplesCount = 0; // Total size of data steamed in L+R samples for xm floats, - //individual L or R for ogg shorts + // individual L or R for ogg shorts for (int i = 0; i < numBuffersToProcess; i++) { @@ -1245,23 +1246,19 @@ static Wave LoadWAV(const char *fileName) // NOTE: Using stb_vorbis library static Wave LoadOGG(const char *fileName) { - Wave wave; + Wave wave = { 0 }; stb_vorbis *oggFile = stb_vorbis_open_filename(fileName, NULL, NULL); - if (oggFile == NULL) - { - TraceLog(WARNING, "[%s] OGG file could not be opened", fileName); - wave.data = NULL; - } + if (oggFile == NULL) TraceLog(WARNING, "[%s] OGG file could not be opened", fileName); else { stb_vorbis_info info = stb_vorbis_get_info(oggFile); - + wave.sampleRate = info.sample_rate; wave.sampleSize = 16; // 16 bit per sample (short) wave.channels = info.channels; - wave.sampleCount = (int)stb_vorbis_stream_length_in_samples(oggFile); + wave.sampleCount = (int)stb_vorbis_stream_length_in_samples(oggFile); // Independent by channel float totalSeconds = stb_vorbis_stream_length_in_seconds(oggFile); if (totalSeconds > 10) TraceLog(WARNING, "[%s] Ogg audio length is larger than 10 seconds (%f), that's a big file in memory, consider music streaming", fileName, totalSeconds); @@ -1329,7 +1326,7 @@ void TraceLog(int msgType, const char *text, ...) va_list args; int traceDebugMsgs = 0; -#ifdef DO_NOT_TRACE_DEBUG_MSGS +#if defined(DO_NOT_TRACE_DEBUG_MSGS) traceDebugMsgs = 0; #endif diff --git a/src/camera.h b/src/camera.h index e1b00ac2a..8067e7bfc 100644 --- a/src/camera.h +++ b/src/camera.h @@ -181,7 +181,14 @@ void SetCameraMoveControls(int frontKey, int backKey, // Types and Structures Definition //---------------------------------------------------------------------------------- // Camera move modes (first person and third person cameras) -typedef enum { MOVE_FRONT = 0, MOVE_BACK, MOVE_RIGHT, MOVE_LEFT, MOVE_UP, MOVE_DOWN } CameraMove; +typedef enum { + MOVE_FRONT = 0, + MOVE_BACK, + MOVE_RIGHT, + MOVE_LEFT, + MOVE_UP, + MOVE_DOWN +} CameraMove; //---------------------------------------------------------------------------------- // Global Variables Definition @@ -203,15 +210,14 @@ static int cameraMode = CAMERA_CUSTOM; // Current camera mode #if defined(CAMERA_STANDALONE) // NOTE: Camera controls depend on some raylib input functions // TODO: Set your own input functions (used in UpdateCamera()) -static Vector2 GetMousePosition() { return (Vector2){ 0.0f, 0.0f }; } -static void SetMousePosition(Vector2 pos) {} +static void EnableCursor() {} // Unlock cursor +static void DisableCursor() {} // Lock cursor + +static int IsKeyDown(int key) { return 0; } + static int IsMouseButtonDown(int button) { return 0;} static int GetMouseWheelMove() { return 0; } -static int GetScreenWidth() { return 1280; } -static int GetScreenHeight() { return 720; } -static void ShowCursor() {} -static void HideCursor() {} -static int IsKeyDown(int key) { return 0; } +static Vector2 GetMousePosition() { return (Vector2){ 0.0f, 0.0f }; } #endif //---------------------------------------------------------------------------------- @@ -242,18 +248,23 @@ void SetCameraMode(Camera camera, int mode) cameraAngle.y = -asinf(fabsf(dy)/distance.y); // Camera angle in plane XY (0 aligned with X, move positive CW) // NOTE: Just testing what cameraAngle means - //cameraAngle.x = 0.0f*DEG2RAD; // Camera angle in plane XZ (0 aligned with Z, move positive CCW) + //cameraAngle.x = 0.0f*DEG2RAD; // Camera angle in plane XZ (0 aligned with Z, move positive CCW) //cameraAngle.y = -60.0f*DEG2RAD; // Camera angle in plane XY (0 aligned with X, move positive CW) playerEyesPosition = camera.position.y; + + // Lock cursor for first person and third person cameras + if ((mode == CAMERA_FIRST_PERSON) || + (mode == CAMERA_THIRD_PERSON)) DisableCursor(); + else EnableCursor(); cameraMode = mode; } // Update camera depending on selected mode // NOTE: Camera controls depend on some raylib functions: -// Mouse: GetMousePosition(), SetMousePosition(), IsMouseButtonDown(), GetMouseWheelMove() -// System: GetScreenWidth(), GetScreenHeight(), ShowCursor(), HideCursor() +// System: EnableCursor(), DisableCursor() +// Mouse: IsMouseButtonDown(), GetMousePosition(), GetMouseWheelMove() // Keys: IsKeyDown() // TODO: Port to quaternion-based camera void UpdateCamera(Camera *camera) @@ -284,36 +295,10 @@ void UpdateCamera(Camera *camera) if (cameraMode != CAMERA_CUSTOM) { - // Get screen size - int screenWidth = GetScreenWidth(); - int screenHeight = GetScreenHeight(); - - if ((cameraMode == CAMERA_FIRST_PERSON) || - (cameraMode == CAMERA_THIRD_PERSON)) - { - HideCursor(); + mousePositionDelta.x = mousePosition.x - previousMousePosition.x; + mousePositionDelta.y = mousePosition.y - previousMousePosition.y; - if (mousePosition.x < (float)screenHeight/3.0f) SetMousePosition((Vector2){ screenWidth - screenHeight/3, mousePosition.y }); - else if (mousePosition.y < (float)screenHeight/3.0f) SetMousePosition((Vector2){ mousePosition.x, screenHeight - screenHeight/3 }); - else if (mousePosition.x > (screenWidth - (float)screenHeight/3.0f)) SetMousePosition((Vector2){ screenHeight/3, mousePosition.y }); - else if (mousePosition.y > (screenHeight - (float)screenHeight/3.0f)) SetMousePosition((Vector2){ mousePosition.x, screenHeight/3 }); - else - { - mousePositionDelta.x = mousePosition.x - previousMousePosition.x; - mousePositionDelta.y = mousePosition.y - previousMousePosition.y; - } - } - else // CAMERA_FREE, CAMERA_ORBITAL - { - ShowCursor(); - - mousePositionDelta.x = mousePosition.x - previousMousePosition.x; - mousePositionDelta.y = mousePosition.y - previousMousePosition.y; - } - - // NOTE: We GetMousePosition() again because it can be modified by a previous SetMousePosition() call - // If using directly mousePosition variable we have problems on CAMERA_FIRST_PERSON and CAMERA_THIRD_PERSON - previousMousePosition = GetMousePosition(); + previousMousePosition = mousePosition; } // Support for multiple automatic camera modes diff --git a/src/core.c b/src/core.c index ee069d97b..508049c9f 100644 --- a/src/core.c +++ b/src/core.c @@ -5,11 +5,10 @@ * PLATFORMS SUPPORTED: * - Windows (win32/Win64) * - Linux (tested on Ubuntu) -* - Mac (OSX) -* - Android (API Level 9 or greater) +* - OSX (Mac) +* - Android (ARM or ARM64) * - Raspberry Pi (Raspbian) * - HTML5 (Chrome, Firefox) -* - Oculus Rift CV1 * * CONFIGURATION: * @@ -42,6 +41,9 @@ * #define SUPPORT_MOUSE_GESTURES * Mouse gestures are directly mapped like touches and processed by gestures system. * +* #define SUPPORT_BUSY_WAIT_LOOP +* Use busy wait loop for timming sync, if not defined, a high-resolution timer is setup and used +* * DEPENDENCIES: * GLFW3 - Manage graphic device, OpenGL context and inputs on PLATFORM_DESKTOP (Windows, Linux, OSX) * raymath - 3D math functionality (Vector3, Matrix, Quaternion) @@ -76,6 +78,7 @@ #define SUPPORT_MOUSE_GESTURES #define SUPPORT_CAMERA_SYSTEM #define SUPPORT_GESTURES_SYSTEM +#define SUPPORT_BUSY_WAIT_LOOP //------------------------------------------------- #include "raylib.h" @@ -105,9 +108,9 @@ #include // Required for: strrchr(), strcmp() //#include // Macros for reporting and retrieving error conditions through error codes -#if defined __linux__ || defined(PLATFORM_WEB) +#if defined(__linux__) || defined(PLATFORM_WEB) #include // Required for: timespec, nanosleep(), select() - POSIX -#elif defined __APPLE__ +#elif defined(__APPLE__) #include // Required for: usleep() #endif @@ -115,13 +118,19 @@ //#define GLFW_INCLUDE_NONE // Disable the standard OpenGL header inclusion on GLFW3 #include // GLFW3 library: Windows, OpenGL context and Input management - #ifdef __linux__ + #if defined(__linux__) #define GLFW_EXPOSE_NATIVE_X11 // Linux specific definitions for getting #define GLFW_EXPOSE_NATIVE_GLX // native functions like glfwGetX11Window #include // which are required for hiding mouse #endif //#include // OpenGL functions (GLFW3 already includes gl.h) //#define GLFW_DLL // Using GLFW DLL on Windows -> No, we use static version! + + #if !defined(SUPPORT_BUSY_WAIT_LOOP) && defined(_WIN32) + // NOTE: Those functions require linking with winmm library + __stdcall unsigned int timeBeginPeriod(unsigned int uPeriod); + __stdcall unsigned int timeEndPeriod(unsigned int uPeriod); + #endif #endif #if defined(PLATFORM_ANDROID) @@ -277,6 +286,10 @@ static int gamepadAxisCount = 0; // Register number of available game static Vector2 mousePosition; // Mouse position on screen +#if defined(PLATFORM_WEB) +static bool toggleCursorLock = false; // Ask for cursor pointer lock on next click +#endif + #if defined(SUPPORT_GESTURES_SYSTEM) static Vector2 touchPosition[MAX_TOUCH_POINTS]; // Touch position on screen #endif @@ -507,6 +520,10 @@ void CloseWindow(void) glfwTerminate(); #endif +#if !defined(SUPPORT_BUSY_WAIT_LOOP) && defined(_WIN32) + timeEndPeriod(1); // Restore time period +#endif + #if defined(PLATFORM_ANDROID) || defined(PLATFORM_RPI) // Close surface, context and display if (display != EGL_NO_DISPLAY) @@ -629,6 +646,15 @@ void SetWindowMonitor(int monitor) #endif } +// Set window minimum dimensions (for FLAG_WINDOW_RESIZABLE) +void SetWindowMinSize(int width, int height) +{ +#if defined(PLATFORM_DESKTOP) + const GLFWvidmode *mode = glfwGetVideoMode(glfwGetPrimaryMonitor()); + glfwSetWindowSizeLimits(window, width, height, mode->width, mode->height); +#endif +} + // Get current screen width int GetScreenWidth(void) { @@ -646,7 +672,7 @@ int GetScreenHeight(void) void ShowCursor() { #if defined(PLATFORM_DESKTOP) - #ifdef __linux__ + #if defined(__linux__) XUndefineCursor(glfwGetX11Display(), glfwGetX11Window(window)); #else glfwSetInputMode(window, GLFW_CURSOR, GLFW_CURSOR_NORMAL); @@ -659,7 +685,7 @@ void ShowCursor() void HideCursor() { #if defined(PLATFORM_DESKTOP) - #ifdef __linux__ + #if defined(__linux__) XColor col; const char nil[] = {0}; @@ -686,6 +712,9 @@ void EnableCursor() { #if defined(PLATFORM_DESKTOP) glfwSetInputMode(window, GLFW_CURSOR, GLFW_CURSOR_NORMAL); +#endif +#if defined(PLATFORM_WEB) + toggleCursorLock = true; #endif cursorHidden = false; } @@ -695,6 +724,9 @@ void DisableCursor() { #if defined(PLATFORM_DESKTOP) glfwSetInputMode(window, GLFW_CURSOR, GLFW_CURSOR_DISABLED); +#endif +#if defined(PLATFORM_WEB) + toggleCursorLock = true; #endif cursorHidden = true; } @@ -1657,7 +1689,7 @@ static void InitGraphicsDevice(int width, int height) glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 3); // Choose OpenGL minor version (just hint) glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE); // Profiles Hint: Only 3.3 and above! // Other values: GLFW_OPENGL_ANY_PROFILE, GLFW_OPENGL_COMPAT_PROFILE -#ifdef __APPLE__ +#if defined(__APPLE__) glfwWindowHint(GLFW_OPENGL_FORWARD_COMPAT, GL_TRUE); // OSX Requires #else glfwWindowHint(GLFW_OPENGL_FORWARD_COMPAT, GL_FALSE); // Fordward Compatibility Hint: Only 3.3 and above! @@ -1799,12 +1831,13 @@ static void InitGraphicsDevice(int width, int height) const EGLint framebufferAttribs[] = { - EGL_RENDERABLE_TYPE, EGL_OPENGL_ES2_BIT, // Type of context support -> Required on RPI? - //EGL_SURFACE_TYPE, EGL_WINDOW_BIT, // Don't use it on Android! + EGL_RENDERABLE_TYPE, EGL_OPENGL_ES2_BIT, // Type of context support -> Required on RPI? + //EGL_SURFACE_TYPE, EGL_WINDOW_BIT, // Don't use it on Android! EGL_RED_SIZE, 8, // RED color bit depth (alternative: 5) EGL_GREEN_SIZE, 8, // GREEN color bit depth (alternative: 6) EGL_BLUE_SIZE, 8, // BLUE color bit depth (alternative: 5) //EGL_ALPHA_SIZE, 8, // ALPHA bit depth + //EGL_TRANSPARENT_TYPE, EGL_TRANSPARENT_RGB, // Request transparent framebuffer EGL_DEPTH_SIZE, 16, // Depth buffer size (Required to use Depth testing!) //EGL_STENCIL_SIZE, 8, // Stencil buffer size EGL_SAMPLE_BUFFERS, sampleBuffer, // Activate MSAA @@ -1942,7 +1975,7 @@ static void InitGraphicsDevice(int width, int height) // Set viewport parameters static void SetupViewport(void) { -#ifdef __APPLE__ +#if defined(__APPLE__) // Get framebuffer size of current window // NOTE: Required to handle HighDPI display correctly on OSX because framebuffer // is automatically reasized to adapt to new DPI. @@ -2034,6 +2067,10 @@ static void SetupFramebufferSize(int displayWidth, int displayHeight) static void InitTimer(void) { srand(time(NULL)); // Initialize random seed + +#if !defined(SUPPORT_BUSY_WAIT_LOOP) && defined(_WIN32) + timeBeginPeriod(1); // Setup high-resolution timer to 1ms (granularity of 1-2 ms) +#endif #if defined(PLATFORM_ANDROID) || defined(PLATFORM_RPI) struct timespec now; @@ -2070,7 +2107,6 @@ static double GetTime(void) // http://stackoverflow.com/questions/43057578/c-programming-win32-games-sleep-taking-longer-than-expected static void Wait(float ms) { -#define SUPPORT_BUSY_WAIT_LOOP #if defined(SUPPORT_BUSY_WAIT_LOOP) double prevTime = GetTime(); double nextTime = 0.0; @@ -2078,9 +2114,9 @@ static void Wait(float ms) // Busy wait loop while ((nextTime - prevTime) < ms/1000.0f) nextTime = GetTime(); #else - #if defined _WIN32 + #if defined(_WIN32) Sleep((unsigned int)ms); - #elif defined __linux__ || defined(PLATFORM_WEB) + #elif defined(__linux__) || defined(PLATFORM_WEB) struct timespec req = { 0 }; time_t sec = (int)(ms/1000.0f); ms -= (sec*1000); @@ -2089,7 +2125,7 @@ static void Wait(float ms) // NOTE: Use nanosleep() on Unix platforms... usleep() it's deprecated. while (nanosleep(&req, &req) == -1) continue; - #elif defined __APPLE__ + #elif defined(__APPLE__) usleep(ms*1000.0f); #endif #endif @@ -2719,7 +2755,8 @@ static EM_BOOL EmscriptenKeyboardCallback(int eventType, const EmscriptenKeyboar // Register mouse input events static EM_BOOL EmscriptenMouseCallback(int eventType, const EmscriptenMouseEvent *mouseEvent, void *userData) { - if (eventType == EMSCRIPTEN_EVENT_CLICK) + // Lock mouse pointer when click on screen + if ((eventType == EMSCRIPTEN_EVENT_CLICK) && toggleCursorLock) { EmscriptenPointerlockChangeEvent plce; emscripten_get_pointerlock_status(&plce); @@ -2731,6 +2768,8 @@ static EM_BOOL EmscriptenMouseCallback(int eventType, const EmscriptenMouseEvent emscripten_get_pointerlock_status(&plce); //if (plce.isActive) TraceLog(WARNING, "Pointer lock exit did not work!"); } + + toggleCursorLock = false; } return 0; @@ -3251,7 +3290,7 @@ static void *GamepadThread(void *arg) // Plays raylib logo appearing animation static void LogoAnimation(void) { -#ifndef PLATFORM_WEB +#if !defined(PLATFORM_WEB) int logoPositionX = screenWidth/2 - 128; int logoPositionY = screenHeight/2 - 128; diff --git a/src/models.c b/src/models.c index fa6faf169..2459edf17 100644 --- a/src/models.c +++ b/src/models.c @@ -1218,11 +1218,13 @@ void DrawModelEx(Model model, Vector3 position, Vector3 rotationAxis, float rota Matrix matRotation = MatrixRotate(rotationAxis, rotationAngle*DEG2RAD); Matrix matScale = MatrixScale(scale.x, scale.y, scale.z); Matrix matTranslation = MatrixTranslate(position.x, position.y, position.z); + + Matrix matTransform = MatrixMultiply(MatrixMultiply(matScale, matRotation), matTranslation); // Combine model transformation matrix (model.transform) with matrix generated by function parameters (matTransform) //Matrix matModel = MatrixMultiply(model.transform, matTransform); // Transform to world-space coordinates - model.transform = MatrixMultiply(MatrixMultiply(matScale, matRotation), matTranslation); + model.transform = MatrixMultiply(model.transform, matTransform); model.material.colDiffuse = tint; // TODO: Multiply tint color by diffuse color? rlglDrawMesh(model.mesh, model.material, model.transform); diff --git a/src/raylib.h b/src/raylib.h index 18d442d15..4038215e6 100644 --- a/src/raylib.h +++ b/src/raylib.h @@ -351,7 +351,7 @@ typedef struct Image { int format; // Data format (TextureFormat type) } Image; -// Texture2D type, bpp always RGBA (32bit) +// Texture2D type // NOTE: Data stored in GPU memory typedef struct Texture2D { unsigned int id; // OpenGL texture id @@ -553,6 +553,7 @@ typedef enum { UNCOMPRESSED_R5G5B5A1, // 16 bpp (1 bit alpha) UNCOMPRESSED_R4G4B4A4, // 16 bpp (4 bit alpha) UNCOMPRESSED_R8G8B8A8, // 32 bpp + UNCOMPRESSED_R32G32B32, // 32 bit per channel (float) - HDR COMPRESSED_DXT1_RGB, // 4 bpp (no alpha) COMPRESSED_DXT1_RGBA, // 4 bpp (1 bit alpha) COMPRESSED_DXT3_RGBA, // 8 bpp @@ -667,6 +668,7 @@ RLAPI void ToggleFullscreen(void); // Fullscreen RLAPI void SetWindowIcon(Image image); // Set icon for window (only PLATFORM_DESKTOP) RLAPI void SetWindowPosition(int x, int y); // Set window position on screen (only PLATFORM_DESKTOP) RLAPI void SetWindowMonitor(int monitor); // Set monitor for the current window (fullscreen mode) +RLAPI void SetWindowMinSize(int width, int height); // Set window minimum dimensions (for FLAG_WINDOW_RESIZABLE) RLAPI int GetScreenWidth(void); // Get current screen width RLAPI int GetScreenHeight(void); // Get current screen height diff --git a/src/raymath.h b/src/raymath.h index 3bde10fcb..1dbebc077 100644 --- a/src/raymath.h +++ b/src/raymath.h @@ -189,8 +189,10 @@ RMDEF Quaternion QuaternionSlerp(Quaternion q1, Quaternion q2, float slerp); // RMDEF Quaternion QuaternionFromMatrix(Matrix matrix); // Returns a quaternion for a given rotation matrix RMDEF Matrix QuaternionToMatrix(Quaternion q); // Returns a matrix for a given quaternion RMDEF Quaternion QuaternionFromAxisAngle(Vector3 axis, float angle); // Returns rotation quaternion for an angle and axis -RMDEF void QuaternionToAxisAngle(Quaternion q, Vector3 *outAxis, float *outAngle); // Returns the rotation angle and axis for a given quaternion -RMDEF void QuaternionTransform(Quaternion *q, Matrix mat); // Transform a quaternion given a transformation matrix +RMDEF void QuaternionToAxisAngle(Quaternion q, Vector3 *outAxis, float *outAngle); // Returns the rotation angle and axis for a given quaternion +RMDEF Quaternion QuaternionFromEuler(float roll, float pitch, float yaw); // Returns he quaternion equivalent to Euler angles +RMDEF Vector3 QuaternionToEuler(Quaternion q); // Return the Euler angles equivalent to quaternion (roll, pitch, yaw) +RMDEF void QuaternionTransform(Quaternion *q, Matrix mat); // Transform a quaternion given a transformation matrix #endif // notdef RAYMATH_EXTERN_INLINE @@ -1180,6 +1182,51 @@ RMDEF void QuaternionToAxisAngle(Quaternion q, Vector3 *outAxis, float *outAngle *outAngle = resAngle; } +// Returns he quaternion equivalent to Euler angles +RMDEF Quaternion QuaternionFromEuler(float roll, float pitch, float yaw) +{ + Quaternion q = { 0 }; + + float x0 = cosf(roll*0.5f); + float x1 = sinf(roll*0.5f); + float y0 = cosf(pitch*0.5f); + float y1 = sinf(pitch*0.5f); + float z0 = cosf(yaw*0.5f); + float z1 = sinf(yaw*0.5f); + + q.x = x1*y0*z0 - x0*y1*z1; + q.y = x0*y1*z0 + x1*y0*z1; + q.z = x0*y0*z1 - x1*y1*z0; + q.w = x0*y0*z0 + x1*y1*z1; + + return q; +} + +// Return the Euler angles equivalent to quaternion (roll, pitch, yaw) +// NOTE: Angles are returned in a Vector3 struct and in degrees +RMDEF Vector3 QuaternionToEuler(Quaternion q) +{ + Vector3 v = { 0 }; + + // roll (x-axis rotation) + float x0 = 2.0f*(q.w*q.x + q.y*q.z); + float x1 = 1.0f - 2.0f*(q.x*q.x + q.y*q.y); + v.x = atan2f(x0, x1)*RAD2DEG; + + // pitch (y-axis rotation) + float y0 = 2.0f*(q.w*q.y - q.z*q.x); + y0 = y0 > 1.0f ? 1.0f : y0; + y0 = y0 < -1.0f ? -1.0f : y0; + v.y = asinf(y0)*RAD2DEG; + + // yaw (z-axis rotation) + float z0 = 2.0f*(q.w*q.z + q.x*q.y); + float z1 = 1.0f - 2.0f*(q.y*q.y + q.z*q.z); + v.z = atan2f(z0, z1)*RAD2DEG; + + return v; +} + // Transform a quaternion given a transformation matrix RMDEF void QuaternionTransform(Quaternion *q, Matrix mat) { diff --git a/src/rlgl.c b/src/rlgl.c index b336571f2..323a95b10 100644 --- a/src/rlgl.c +++ b/src/rlgl.c @@ -64,15 +64,15 @@ #include // Required for: fopen(), fclose(), fread()... [Used only on LoadText()] #include // Required for: malloc(), free(), rand() -#include // Required for: strcmp(), strlen(), strtok() +#include // Required for: strcmp(), strlen(), strtok() [Used only in extensions loading] #include // Required for: atan2() -#ifndef RLGL_STANDALONE +#if !defined(RLGL_STANDALONE) #include "raymath.h" // Required for: Vector3 and Matrix functions #endif #if defined(GRAPHICS_API_OPENGL_11) - #ifdef __APPLE__ + #if defined(__APPLE__) #include // OpenGL 1.1 library for OSX #else #include // OpenGL 1.1 library @@ -84,7 +84,7 @@ #endif #if defined(GRAPHICS_API_OPENGL_33) - #ifdef __APPLE__ + #if defined(__APPLE__) #include // OpenGL 3 library for OSX #else #define GLAD_IMPLEMENTATION @@ -317,7 +317,8 @@ static PFNGLDELETEVERTEXARRAYSOESPROC glDeleteVertexArrays; // Compressed textures support flags static bool texCompDXTSupported = false; // DDS texture compression support -static bool npotSupported = false; // NPOT textures full support +static bool texNPOTSupported = false; // NPOT textures full support +static bool texFloatSupported = false; // float textures support (32 bit per channel) static int blendMode = 0; // Track current blending mode @@ -1050,7 +1051,7 @@ void rlglInit(int width, int height) // NOTE: On OpenGL 3.3 VAO and NPOT are supported by default vaoSupported = true; - npotSupported = true; + texNPOTSupported = true; // We get a list of available extensions and we check for some of them (compressed textures) // NOTE: We don't need to check again supported extensions but we do (GLAD already dealt with that) @@ -1119,7 +1120,10 @@ void rlglInit(int width, int height) // Check NPOT textures support // NOTE: Only check on OpenGL ES, OpenGL 3.3 has NPOT textures full support as core feature - if (strcmp(extList[i], (const char *)"GL_OES_texture_npot") == 0) npotSupported = true; + if (strcmp(extList[i], (const char *)"GL_OES_texture_npot") == 0) texNPOTSupported = true; + + // Check texture float support + if (strcmp(extList[i], (const char *)"OES_texture_float") == 0) texFloatSupported = true; #endif // DDS texture compression support @@ -1159,7 +1163,7 @@ void rlglInit(int width, int height) if (vaoSupported) TraceLog(INFO, "[EXTENSION] VAO extension detected, VAO functions initialized successfully"); else TraceLog(WARNING, "[EXTENSION] VAO extension not found, VAO usage not supported"); - if (npotSupported) TraceLog(INFO, "[EXTENSION] NPOT textures extension detected, full NPOT textures supported"); + if (texNPOTSupported) TraceLog(INFO, "[EXTENSION] NPOT textures extension detected, full NPOT textures supported"); else TraceLog(WARNING, "[EXTENSION] NPOT textures extension not found, limited NPOT support (no-mipmaps, no-repeat)"); #endif @@ -1286,21 +1290,17 @@ void rlglLoadExtensions(void *loader) { #if defined(GRAPHICS_API_OPENGL_21) || defined(GRAPHICS_API_OPENGL_33) // NOTE: glad is generated and contains only required OpenGL 3.3 Core extensions (and lower versions) - #ifndef __APPLE__ + #if !defined(__APPLE__) if (!gladLoadGLLoader((GLADloadproc)loader)) TraceLog(WARNING, "GLAD: Cannot load OpenGL extensions"); else TraceLog(INFO, "GLAD: OpenGL extensions loaded successfully"); - #endif -#if defined(GRAPHICS_API_OPENGL_21) - #ifndef __APPLE__ + #if defined(GRAPHICS_API_OPENGL_21) if (GLAD_GL_VERSION_2_1) TraceLog(INFO, "OpenGL 2.1 profile supported"); - #endif -#elif defined(GRAPHICS_API_OPENGL_33) - #ifndef __APPLE__ + #elif defined(GRAPHICS_API_OPENGL_33) if(GLAD_GL_VERSION_3_3) TraceLog(INFO, "OpenGL 3.3 Core profile supported"); else TraceLog(ERROR, "OpenGL 3.3 Core profile not supported"); + #endif #endif -#endif // With GLAD, we can check if an extension is supported using the GLAD_GL_xxx booleans //if (GLAD_GL_ARB_vertex_array_object) // Use GL_ARB_vertex_array_object @@ -1425,6 +1425,7 @@ unsigned int rlglLoadTexture(void *data, int width, int height, int format, int case UNCOMPRESSED_R5G5B5A1: glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB5_A1, width, height, 0, GL_RGBA, GL_UNSIGNED_SHORT_5_5_5_1, (unsigned short *)data); break; case UNCOMPRESSED_R4G4B4A4: glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA4, width, height, 0, GL_RGBA, GL_UNSIGNED_SHORT_4_4_4_4, (unsigned short *)data); break; case UNCOMPRESSED_R8G8B8A8: glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA8, width, height, 0, GL_RGBA, GL_UNSIGNED_BYTE, (unsigned char *)data); break; + case UNCOMPRESSED_R32G32B32: glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB32F, width, height, 0, GL_RGB, GL_FLOAT, (float *)data); break; case COMPRESSED_DXT1_RGB: if (texCompDXTSupported) LoadCompressedTexture((unsigned char *)data, width, height, mipmapCount, GL_COMPRESSED_RGB_S3TC_DXT1_EXT); break; case COMPRESSED_DXT1_RGBA: if (texCompDXTSupported) LoadCompressedTexture((unsigned char *)data, width, height, mipmapCount, GL_COMPRESSED_RGBA_S3TC_DXT1_EXT); break; case COMPRESSED_DXT3_RGBA: if (texCompDXTSupported) LoadCompressedTexture((unsigned char *)data, width, height, mipmapCount, GL_COMPRESSED_RGBA_S3TC_DXT3_EXT); break; @@ -1450,6 +1451,7 @@ unsigned int rlglLoadTexture(void *data, int width, int height, int format, int case UNCOMPRESSED_R4G4B4A4: glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, width, height, 0, GL_RGBA, GL_UNSIGNED_SHORT_4_4_4_4, (unsigned short *)data); break; case UNCOMPRESSED_R8G8B8A8: glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, width, height, 0, GL_RGBA, GL_UNSIGNED_BYTE, (unsigned char *)data); break; #if defined(GRAPHICS_API_OPENGL_ES2) + case UNCOMPRESSED_R32G32B32: if (texFloatSupported) glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, width, height, 0, GL_RGB, GL_FLOAT, (float *)data); break; // Requries extension OES_texture_float case COMPRESSED_DXT1_RGB: if (texCompDXTSupported) LoadCompressedTexture((unsigned char *)data, width, height, mipmapCount, GL_COMPRESSED_RGB_S3TC_DXT1_EXT); break; case COMPRESSED_DXT1_RGBA: if (texCompDXTSupported) LoadCompressedTexture((unsigned char *)data, width, height, mipmapCount, GL_COMPRESSED_RGBA_S3TC_DXT1_EXT); break; case COMPRESSED_DXT3_RGBA: if (texCompDXTSupported) LoadCompressedTexture((unsigned char *)data, width, height, mipmapCount, GL_COMPRESSED_RGBA_S3TC_DXT3_EXT); break; // NOTE: Not supported by WebGL @@ -1470,7 +1472,7 @@ unsigned int rlglLoadTexture(void *data, int width, int height, int format, int // NOTE: glTexParameteri does NOT affect texture uploading, just the way it's used #if defined(GRAPHICS_API_OPENGL_ES2) // NOTE: OpenGL ES 2.0 with no GL_OES_texture_npot support (i.e. WebGL) has limited NPOT support, so CLAMP_TO_EDGE must be used - if (npotSupported) + if (texNPOTSupported) { glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT); // Set texture to repeat on x-axis glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT); // Set texture to repeat on y-axis @@ -1650,7 +1652,7 @@ void rlglGenerateMipmaps(Texture2D *texture) if (((texture->width > 0) && ((texture->width & (texture->width - 1)) == 0)) && ((texture->height > 0) && ((texture->height & (texture->height - 1)) == 0))) texIsPOT = true; - if ((texIsPOT) || (npotSupported)) + if ((texIsPOT) || (texNPOTSupported)) { #if defined(GRAPHICS_API_OPENGL_11) // Compute required mipmaps diff --git a/src/rlgl.h b/src/rlgl.h index f3fd6b22e..6d6ad516a 100644 --- a/src/rlgl.h +++ b/src/rlgl.h @@ -17,7 +17,9 @@ * #define GRAPHICS_API_OPENGL_21 * #define GRAPHICS_API_OPENGL_33 * #define GRAPHICS_API_OPENGL_ES2 -* Use selected OpenGL backend +* Use selected OpenGL graphics backend, should be supported by platform +* Those preprocessor defines are only used on rlgl module, if OpenGL version is +* required by any other module, use rlGetVersion() tocheck it * * #define RLGL_STANDALONE * Use rlgl as standalone library (no raylib dependency) @@ -35,7 +37,7 @@ * * LICENSE: zlib/libpng * -* Copyright (c) 2014-2016 Ramon Santamaria (@raysan5) +* Copyright (c) 2014-2017 Ramon Santamaria (@raysan5) * * This software is provided "as-is", without any express or implied warranty. In no event * will the authors be held liable for any damages arising from the use of this software. @@ -57,28 +59,14 @@ #ifndef RLGL_H #define RLGL_H -//#define RLGL_STANDALONE // NOTE: To use rlgl as standalone lib, just uncomment this line - -#ifndef RLGL_STANDALONE - #include "raylib.h" // Required for: Model, Shader, Texture2D - #include "utils.h" // Required for: TraceLog() -#endif - -#ifdef RLGL_STANDALONE +#if defined(RLGL_STANDALONE) #define RAYMATH_STANDALONE +#else + #include "raylib.h" // Required for: Model, Shader, Texture2D, TraceLog() #endif #include "raymath.h" // Required for: Vector3, Matrix -// Select desired OpenGL version -// NOTE: Those preprocessor defines are only used on rlgl module, -// if OpenGL version is required by any other module, it uses rlGetVersion() - -// Choose opengl version here or just define it at compile time: -DGRAPHICS_API_OPENGL_33 -//#define GRAPHICS_API_OPENGL_11 // Only available on PLATFORM_DESKTOP -//#define GRAPHICS_API_OPENGL_33 // Only available on PLATFORM_DESKTOP and RLGL_OCULUS_SUPPORT -//#define GRAPHICS_API_OPENGL_ES2 // Only available on PLATFORM_ANDROID or PLATFORM_RPI or PLATFORM_WEB - // Security check in case no GRAPHICS_API_OPENGL_* defined #if !defined(GRAPHICS_API_OPENGL_11) && !defined(GRAPHICS_API_OPENGL_21) && !defined(GRAPHICS_API_OPENGL_33) && !defined(GRAPHICS_API_OPENGL_ES2) #define GRAPHICS_API_OPENGL_11 @@ -165,28 +153,23 @@ typedef unsigned char byte; unsigned char b; unsigned char a; } Color; + + // Texture2D type + // NOTE: Data stored in GPU memory + typedef struct Texture2D { + unsigned int id; // OpenGL texture id + int width; // Texture base width + int height; // Texture base height + int mipmaps; // Mipmap levels, 1 by default + int format; // Data format (TextureFormat) + } Texture2D; - // Texture formats (support depends on OpenGL version) - typedef enum { - UNCOMPRESSED_GRAYSCALE = 1, // 8 bit per pixel (no alpha) - UNCOMPRESSED_GRAY_ALPHA, - UNCOMPRESSED_R5G6B5, // 16 bpp - UNCOMPRESSED_R8G8B8, // 24 bpp - UNCOMPRESSED_R5G5B5A1, // 16 bpp (1 bit alpha) - UNCOMPRESSED_R4G4B4A4, // 16 bpp (4 bit alpha) - UNCOMPRESSED_R8G8B8A8, // 32 bpp - COMPRESSED_DXT1_RGB, // 4 bpp (no alpha) - COMPRESSED_DXT1_RGBA, // 4 bpp (1 bit alpha) - COMPRESSED_DXT3_RGBA, // 8 bpp - COMPRESSED_DXT5_RGBA, // 8 bpp - COMPRESSED_ETC1_RGB, // 4 bpp - COMPRESSED_ETC2_RGB, // 4 bpp - COMPRESSED_ETC2_EAC_RGBA, // 8 bpp - COMPRESSED_PVRT_RGB, // 4 bpp - COMPRESSED_PVRT_RGBA, // 4 bpp - COMPRESSED_ASTC_4x4_RGBA, // 8 bpp - COMPRESSED_ASTC_8x8_RGBA // 2 bpp - } TextureFormat; + // RenderTexture2D type, for texture rendering + typedef struct RenderTexture2D { + unsigned int id; // Render texture (fbo) id + Texture2D texture; // Color buffer attachment texture + Texture2D depth; // Depth buffer attachment texture + } RenderTexture2D; // Vertex data definning a mesh typedef struct Mesh { @@ -228,23 +211,6 @@ typedef unsigned char byte; int mapTexture2Loc; // Map texture uniform location point (default-texture-unit = 2) } Shader; - // Texture2D type - // NOTE: Data stored in GPU memory - typedef struct Texture2D { - unsigned int id; // OpenGL texture id - int width; // Texture base width - int height; // Texture base height - int mipmaps; // Mipmap levels, 1 by default - int format; // Data format (TextureFormat) - } Texture2D; - - // RenderTexture2D type, for texture rendering - typedef struct RenderTexture2D { - unsigned int id; // Render texture (fbo) id - Texture2D texture; // Color buffer attachment texture - Texture2D depth; // Depth buffer attachment texture - } RenderTexture2D; - // Material type typedef struct Material { Shader shader; // Standard shader (supports 3 map types: diffuse, normal, specular) @@ -267,6 +233,38 @@ typedef unsigned char byte; Vector3 up; // Camera up vector (rotation over its axis) float fovy; // Camera field-of-view apperture in Y (degrees) } Camera; + + // TraceLog message types + typedef enum { + INFO = 0, + ERROR, + WARNING, + DEBUG, + OTHER + } TraceLogType; + + // Texture formats (support depends on OpenGL version) + typedef enum { + UNCOMPRESSED_GRAYSCALE = 1, // 8 bit per pixel (no alpha) + UNCOMPRESSED_GRAY_ALPHA, + UNCOMPRESSED_R5G6B5, // 16 bpp + UNCOMPRESSED_R8G8B8, // 24 bpp + UNCOMPRESSED_R5G5B5A1, // 16 bpp (1 bit alpha) + UNCOMPRESSED_R4G4B4A4, // 16 bpp (4 bit alpha) + UNCOMPRESSED_R8G8B8A8, // 32 bpp + UNCOMPRESSED_R32G32B32, // 32 bit per channel (float) - HDR + COMPRESSED_DXT1_RGB, // 4 bpp (no alpha) + COMPRESSED_DXT1_RGBA, // 4 bpp (1 bit alpha) + COMPRESSED_DXT3_RGBA, // 8 bpp + COMPRESSED_DXT5_RGBA, // 8 bpp + COMPRESSED_ETC1_RGB, // 4 bpp + COMPRESSED_ETC2_RGB, // 4 bpp + COMPRESSED_ETC2_EAC_RGBA, // 8 bpp + COMPRESSED_PVRT_RGB, // 4 bpp + COMPRESSED_PVRT_RGBA, // 4 bpp + COMPRESSED_ASTC_4x4_RGBA, // 8 bpp + COMPRESSED_ASTC_8x8_RGBA // 2 bpp + } TextureFormat; // Texture parameters: filter mode // NOTE 1: Filtering considers mipmaps if available in the texture @@ -281,13 +279,18 @@ typedef unsigned char byte; } TextureFilterMode; // Texture parameters: wrap mode - typedef enum { WRAP_REPEAT = 0, WRAP_CLAMP, WRAP_MIRROR } TextureWrapMode; + typedef enum { + WRAP_REPEAT = 0, + WRAP_CLAMP, + WRAP_MIRROR + } TextureWrapMode; // Color blending modes (pre-defined) - typedef enum { BLEND_ALPHA = 0, BLEND_ADDITIVE, BLEND_MULTIPLIED } BlendMode; - - // TraceLog message types - typedef enum { INFO = 0, ERROR, WARNING, DEBUG, OTHER } TraceLogType; + typedef enum { + BLEND_ALPHA = 0, + BLEND_ADDITIVE, + BLEND_MULTIPLIED + } BlendMode; // VR Head Mounted Display devices typedef enum { diff --git a/src/text.c b/src/text.c index cba9a7d6f..027701dee 100644 --- a/src/text.c +++ b/src/text.c @@ -443,7 +443,7 @@ void DrawTextEx(SpriteFont spriteFont, const char *text, Vector2 position, float index = GetCharIndex(spriteFont, (int)letter + 64); i++; } - else index = GetCharIndex(spriteFont, (int)text[i]); + else index = GetCharIndex(spriteFont, (unsigned char)text[i]); DrawTexturePro(spriteFont.texture, spriteFont.chars[index].rec, (Rectangle){ position.x + textOffsetX + spriteFont.chars[index].offsetX*scaleFactor, diff --git a/src/textures.c b/src/textures.c index 6c56d6c54..115c8fff1 100644 --- a/src/textures.c +++ b/src/textures.c @@ -53,6 +53,7 @@ // Default configuration flags (supported features) //------------------------------------------------- #define SUPPORT_FILEFORMAT_PNG +#define SUPPORT_FILEFORMAT_HDR #define SUPPORT_IMAGE_MANIPULATION //------------------------------------------------- @@ -98,7 +99,7 @@ defined(SUPPORT_FILEFORMAT_JPG) || defined(SUPPORT_FILEFORMAT_PSD) || defined(SUPPORT_FILEFORMAT_GIF) || \ defined(SUPPORT_FILEFORMAT_HDR)) #define STB_IMAGE_IMPLEMENTATION - #include "external/stb_image.h" // Required for: stbi_load() + #include "external/stb_image.h" // Required for: stbi_load_from_file() // NOTE: Used to read image data (multiple formats support) #endif @@ -154,14 +155,7 @@ static Image LoadASTC(const char *fileName); // Load ASTC file // Load image from file into CPU memory (RAM) Image LoadImage(const char *fileName) { - Image image; - - // Initialize image default values - image.data = NULL; - image.width = 0; - image.height = 0; - image.mipmaps = 0; - image.format = 0; + Image image = { 0 }; if (IsFileExtension(fileName, ".rres")) { @@ -212,6 +206,29 @@ Image LoadImage(const char *fileName) else if (imgBpp == 3) image.format = UNCOMPRESSED_R8G8B8; else if (imgBpp == 4) image.format = UNCOMPRESSED_R8G8B8A8; } +#if defined(SUPPORT_FILEFORMAT_HDR) + else if (IsFileExtension(fileName, ".hdr")) + { + int imgBpp = 0; + + FILE *imFile = fopen(fileName, "rb"); + + // Load 32 bit per channel floats data + image.data = stbi_loadf_from_file(imFile, &image.width, &image.height, &imgBpp, 0); + + fclose(imFile); + + image.mipmaps = 1; + + if (imgBpp == 3) image.format = UNCOMPRESSED_R32G32B32; + else + { + // TODO: Support different number of channels at 32 bit float + TraceLog(WARNING, "[%s] Image fileformat not supported (only 3 channel 32 bit floats)", fileName); + UnloadImage(image); + } + } +#endif #if defined(SUPPORT_FILEFORMAT_DDS) else if (IsFileExtension(fileName, ".dds")) image = LoadDDS(fileName); #endif @@ -282,13 +299,7 @@ Image LoadImagePro(void *data, int width, int height, int format) // Load an image from RAW file data Image LoadImageRaw(const char *fileName, int width, int height, int format, int headerSize) { - Image image; - - image.data = NULL; - image.width = 0; - image.height = 0; - image.mipmaps = 0; - image.format = 0; + Image image = { 0 }; FILE *rawFile = fopen(fileName, "rb"); @@ -311,6 +322,7 @@ Image LoadImageRaw(const char *fileName, int width, int height, int format, int case UNCOMPRESSED_R5G5B5A1: image.data = (unsigned short *)malloc(size); break; // 16 bpp (1 bit alpha) case UNCOMPRESSED_R4G4B4A4: image.data = (unsigned short *)malloc(size); break; // 16 bpp (4 bit alpha) case UNCOMPRESSED_R8G8B8A8: image.data = (unsigned char *)malloc(size*4); size *= 4; break; // 32 bpp + case UNCOMPRESSED_R32G32B32: image.data = (float *)malloc(size*12); size *= 12; break; // 4 byte per channel (12 byte) default: TraceLog(WARNING, "Image format not suported"); break; } @@ -342,7 +354,7 @@ Image LoadImageRaw(const char *fileName, int width, int height, int format, int // Load texture from file into GPU memory (VRAM) Texture2D LoadTexture(const char *fileName) { - Texture2D texture; + Texture2D texture = { 0 }; Image image = LoadImage(fileName); @@ -351,11 +363,7 @@ Texture2D LoadTexture(const char *fileName) texture = LoadTextureFromImage(image); UnloadImage(image); } - else - { - TraceLog(WARNING, "Texture could not be created"); - texture.id = 0; - } + else TraceLog(WARNING, "Texture could not be created"); return texture; } @@ -364,14 +372,7 @@ Texture2D LoadTexture(const char *fileName) // NOTE: image is not unloaded, it must be done manually Texture2D LoadTextureFromImage(Image image) { - Texture2D texture; - - // Init texture to default values - texture.id = 0; - texture.width = 0; - texture.height = 0; - texture.mipmaps = 0; - texture.format = 0; + Texture2D texture = { 0 }; texture.id = rlglLoadTexture(image.data, image.width, image.height, image.format, image.mipmaps); @@ -510,9 +511,8 @@ Color *GetImageData(Image image) // NOTE: Compressed texture formats not supported Image GetTextureData(Texture2D texture) { - Image image; - image.data = NULL; - + Image image = { 0 }; + if (texture.format < 8) { image.data = rlglReadTexturePixels(texture); @@ -787,6 +787,7 @@ Image ImageCopy(Image image) case UNCOMPRESSED_R4G4B4A4: byteSize *= 2; break; // 16 bpp (2 bytes) case UNCOMPRESSED_R8G8B8: byteSize *= 3; break; // 24 bpp (3 bytes) case UNCOMPRESSED_R8G8B8A8: byteSize *= 4; break; // 32 bpp (4 bytes) + case UNCOMPRESSED_R32G32B32: byteSize *= 12; break; // 4 byte per channel (12 bytes) case COMPRESSED_DXT3_RGBA: case COMPRESSED_DXT5_RGBA: case COMPRESSED_ETC2_EAC_RGBA: diff --git a/templates/web_shell/shell.html b/templates/web_shell/shell.html index d9a3c49e8..b7cbb581c 100644 --- a/templates/web_shell/shell.html +++ b/templates/web_shell/shell.html @@ -144,7 +144,7 @@
Downloading...
- +

5ETjݳrsNn+z=f+=ba- +A~̱Co/^ mMSʪR%觡 Y38wS=TMԮXŲX6*F.^vMc9巧ʽ [72/R\4MR +RsJG9Q=yZ*z4WF%QF"םR5_`^,Lmt'EwW=t9nDwp.??,C߈$5Uw*k> ̀_>̔}bҧ{j׼>oawBdٷ#gf>mQs֮1h=ۨy6~rMB'kЏWp7qRP x [grGVVMWxnrPu:MX0eli$#v fy4uuC[s6jÔZek0aIdju2TC7@[5mdSBCpOh1v"6wN LazǣwD's_Nꠣuo˩h|^4ҌgƸSP[YG}K?;Tü>Eҗ elս{ ~,ȆWy_zMz% kӐ8ՅqSg {D;^{EY=f2oFT +<50ssf{XGt߿:Wv8}N?ceѽKULdAxj[%2";65t-ϊҟWo9-v7Q;}Qm㑢ɜR~S2sn){4u^+TEHĿZlzqV{oܲ5^N9W,N|mQS||bY07EJwub~KE笺ի᯿yN8!{{L<{MGXwo~5[ku)oUVNCgtjc0D> $:R^U)eWV}"#q +=OZ,s|RfmQ Oe?ݳhh?gHu3I-0dOUyERB]-jތVQ<%+#lՓaй}ud`ns:<ՉW{d})_s[H^y\a + +׊lJjkC92yDdG:£c>s2X)ۖ +C@yݮkALɏ=[{hջ1b-PcZbNr5DQχe`jkH iU dI-UAr6bh\U QO#ſeGW6. ĕ_,9Y =G> p fJ~Lz71CbuzeW$YceK6_" )uRyg*>zi9ݡ>Ζm ȅ>x%ݘ+uR\TSW.j۠UIl!"~R1d=v;"X54T \ZԏGҸlŠ}51 +rX韍~6 )= ՛yY^CagZd}W2[OggS H%)+ΖſƟD?ΛwmUͫ1ڄSt:&kP[lƶᙷ]TT[n>*7x\:^Rz 1 a_vh؞InKӿ[M e򛏳y_3x&tez>+d6^.}4nlgQhze&_~Z |?ׄwݒk?W{\=ݤOu Iefz7`svbRE4U:I͔Vսϻ=\cSUnܭx˯~}<\7k,@m5Z>z0v f_u^baf7ݧ->v!fsHř_jSZ}I2teg:OVWgz>d.i~F1 Wy_1ÛW&ƮqB_WL\2b*km%jҳ6!a+>y,3tᦣ m \ LV\g"657?Jju\֙K10Auf :3Vz;lCRԖ mx|ԢwsFm^brM$dx8_Fl"O"mI=8ԣv +WZ&ZenI t?29:J5,nŴ9rGsȊ\v`+2#=bb%5Ʃ!;5ZW%SԚ~A^$L7WԽ}Hi=X??{hz{yK~vhhatY+{"SQ7EϷe7Gߣk+S[au[zBUR7fTHg[wWd1^/bydMjkN;LeYF*sLmSJc8Ϊ+݇éx{1fw4T{w-{"˱޺%iJ-ۤݽ1v?49Sh z{1.ܴG*uRPTj~LF|:N?[#LV?;Ɩmi*\sb3tkq1%_ߦ7~z%8.̓f} av[lWt0d_~kȐC%}ڔM-mipӹ~#LƖ}'֎Ũ=<r~)pZzMKNpuGHԤj:0W'N^ 4 +X)lk4C^Z#ñw qH +-t5H!éRG\̒]eV˜` +DzED-S$QJt}ztw۷D*@Ȓ\K]&륳52\Oʮdt86Q]ܐƟ5W;su5G{plHTz-U<7K0İlm1SF:y(ecc{"qwv_fj؊4ʳ%L_%nnlo<k?k⽇$wmvm P䋃t7w_tv6L,dTOR)acfקּ2U߅LfH}]1K_f{ Iib2=Fu\Yx)VBJœE_rma3 gyi6{̋ECL2TB֗JD),9KG> +2اIsz/sF-inͽ%sCM)m^u?淖_OT̻e7L:ܽ̓)?voǡOu_-wTxo•c\GYֽԮce5ڿ׌謽';[_+kPci36W=>*u|by[3o˩Dnr'ݏM]7uMh7iKOWu쎓?b_hI"HtM[ 4Tvשat%ٷ&OsxUCU穇:me2{LKEayZZGkX;PZgcd,oN\u֩4?卝(Ԑl4q,+CZQ@ߚL^6N bU6D$Soltp~ M[ȥCP{B\6ȜtߵnвVjn\.:ojC?p? hs3`Lq9n((y`Foblh[wQ4SX@hxtz=oTu C27?x^i[v ;d́l`a׍XBY,\.sߜd(3gm`OxdcCߠjzC 9JQqiQBȪ+n0ۙ+aks 6yO0i~B+\֞W-Ay'4OggSCH&͖֙ƽv 4]a6]y5\aw.9W L_v].bV"k`8ὐCM 'NkEňtxltlAqη6dӂFe/ +ˆtzj4u_kӲiJ~7qRnZB[ȘIxk_j\i=*t6]Y iE`{p铈DApn#h`vaemڬmX 1ØCe:c{ޢ$[8s<zP_]+׺,-ă]U{QJ3Yw툖uW_f.FcB؅v=]ͭ١׵HA4G2'Qw]/*ZU s7zЗ@ v.KLRrg8* tϕ*}w҅電ws#o^Uv34}ZØmSL굔rV}1TVS߇lJsbxٽ} `. tE{80 ܹb:7WVI|>0(ZѨō!smKFSacsi^oK)sl~ۣ՜w.%o]wKEi%#_=YYV?sO=aȑ͵|;w(0˯S^g:q5MwV_W;wbp7j6kݳ_XTt()d[8}ׇ'#zDuӉLfg<|}_v<?g]=w_Izfe'm\[[u;~ujV*:d3]H\.4`(my#7U^:0X_v\`DK㭛KFf=N]^ITz5!𸪾hˆ6v 38 iܙ6k0Y'L&;ڔ\Ks5-ӒͷGSWssF٦w2aVL*rkeɛ}4tKkttsnLmxzE/bL3ɰGyE*Yl6da^Qlk֣K 5]g)D3?(4vMl\Kt*&L]'ZXQpL7Cjfc=[1;Zjw1z+^㙙Bَ;H 4ԓʉݕBz䵱9u" i; uO];^v +$L?nsۄ20\r_zvBonqb_uP;)jEO G/MjgՊĘ{m/wOe~Z`\x[#J?N}s8I[QOG?'|,,C}wtͮG9kyYX;Mc]je.~G;.+ŬmF#Lp^zۛ~7-ոS̱Pdʋݭ/]%g{}1_;>~k.wՊ +pTV^Q5&{4;'_mz:2յZĠ݆L/~}E]6U-eiN{bT3Y)|31{][v}:<9<%ݚCB\- oJWqbrnzʺ/d^>^+s 5ӚsE#"a4n%OcaS;)Z9ըrѢtwz'@mxj 2_j5*WNUo{+߬-~Ng\Ht>D??q<}GT\K*@.}5{epIzpl@mdUI-fOmw'#Ix6s745Saߠ0w}ҭsN\8~s[F4 MK]鱥gc U+s -Zߛql.u)pQ6wSL[kPS*fxìO*}y#3Ӱ<> +-j{\ULm5e,E-+MFw>b1 + ^+]z#JS6b=I塪[|ޖ NUof}jek-K1 /Ur#oD9-r~y۩i9GbJ}ut=81q]>bsfB{p3_k}Z~=2qX{ugTT;7N +ob|ҡ2H]x,vxFsӏk>dq"o~DI-D7煰;k{vemx9эg6E%W^5= 'Jogg^:څTTou?]zߝ^(9ym{z?H/ʳXN{Gj/8WW獸L2<7yݾjI:"V[ `ʱ22֙&/pƼ\m +ѻ֖懎d2[ NWTw.5 U_qQ6=T,1I+Q`xRSvW{ףXR #ua榇]rԕQu"Y6V,%cw]a#gNmFqiD0]QVFڳ ķUU(ʌ* aͼ ~+30ak~lm'Aͤ0pO%Y9B몒(E~&H/f-COᓲT2R1w,. +ndm [K5wbrgнmS j=B_lץvهIᒣÉfusHzwޭyU AA;R2 LjTn^5{߻f1?6dٍJ:< k~}Ux5-FLAKiR(U~!e3)cm:Xnqk-/+ޱ;J[zvԻEO0*:>Nێݳq糧cΟPOgWSw}Lԍ>ʳFΉf\畤tCä7tgj`֣;Е a-+n;c`>My+ƒL}_^Д6DE+Lʦ1yk[gUHk?N^|w׋e hL?ӓԟmEIk%l AG&yz]e6*?ѺڄyՔzlt͔sh\㻽]o?Q & ׯ5+.kjP*mƺzǽ^/?Gp:XY7ʴާn(_nS>~Sݗl9< .}}UvrGl eʵߗ&Dؗj0B7fFb}Ke]}>g??߯?J֣1sfⰕkU[ eQ̓o?β羼9}y  +4t`]k@z$wk=ɕ92Z4|@UozN WLBؑ-HqNqNqgmջEQ nʊZ{hQGֻFeMY-4Y2>-,-F#TLӮ”R74xCZɰ<< +-m'2[4Dsκ߫ʸHhc6wD4K/GS%4FeqzwBْ9SʲЙ+bXyg( -/ϨۆOL:Mw& crLQ4Zs+"MtӔKl<B6UA\QrFyַS=2^n3EiSGwf- 1͍ +NSoqjGYyC +$'赡t+:,Y@k1 CJ0}߫3Lr20>Qq>rƻb}*XW3AU[29$؆l~wѠR|u̞bww2ѽB9.)D4b Z`Hw-9/,PjklUaNܜkL(۞]k"^UgO6HΌMBUU39Y Y54 =Bnˆ7Cצ=Nskw3}zf3U}BzC&m%K&I?+bqh}n,'y1u7Hx$љ{ωzʗ:e)fuqҌ8 W1kv匧7sZob{ +T3d9tQjLKM\XX\%zղp19Լz9:!t#a(ew齊<56,/zO+X.;-V+nE:?\K@vs K:1C gOg1ӯxi/k$t4'T/37k"%seRV[¿Z7z;5{ ? =ThlkWek֘!~CJMjs-*U"ǝ}Z3ixmF%zzZڶ=_jַ +\KOnyGo~2]-FT?09k*˲,CTwGj.yaӜ|t\ Gcܫո__M7n/>>ݝvW0FO|ʇb,Zpr|zqw޾,rT~t mq޷ۿ=ߓ +Cjzꏐt~L\E>ZI<(? 8ϼ}L_rΆRz>]K-Ivt _^/HZ^k댢pi0zHOf]ĹX{{{ԃtEy=HD +]rq`cPF4b@ Ḫ,?H?ڊXW]=Z[]Jne=:v].."3^=h[<&ʬ~Us#Z|yJ|D#O7]YYȩUsV~8#6t?p>4n.kUP~:6}QRdip孜P^?=?*k;UYߺNu?#ۮ)YJ[okh†fԍu꣝8ekjmV<:aÕ;{Wd t?>.qR*ZbWkbj)G-`8{2V~xSkE`C_^봖/?o6=*1٣?Ӧ{L͛QKb\&&z/5fWJ#lnT_ɔΞw9> y>q|&:4_+nw#,t́+~fwnֶ>Si@/ezN–+jޓa˗ oV+ K*}gy# |D_Vk[Қ^f}ʶݭm$ePWVjrUl^ z˿~RiJS\]:P4= bVb]?lD 8e WbΫj5TR=.pΈUKYD2hL +F_|] +=vK(Clĥ5ByKWe%f}h&W*#KIue~ɕBI1r5c TI ؀Nj7CUwmZM\wkَ{ϟִ=6.8S:-='c_'c sN|-g{rݣrWJjѰ.: m\]hӲ+$/ K0.t!& $W+q9. E;tQRN^KL?q~"lȝ~䅺⫃r`=/E;ϒ +\LiE2hn.N˅mWSs*=olz^?HrlL5w( ẛkѩY.v-Xia+ +?ޒ_l6>zlݯKxcn{L1*B/,&^beH&iA>9ysY=sTݛ>4J3+ו D?-*[ixӠAKʅ]dt~Z3'/`6{ 1?v}Vr؟p4sUk1\]xxZqѭOW,ul%7׮Fձ[r87^mYѶD϶crp+[)v$GF}蹉6%Z 0Ǡ^Ev2mso_UptU62yRU}fbuiǧ^~ڔߊ~oz㢼uRYŗ?_OpX{xw٧5\w6$9V:<޶0:VzDhiaƾ{8!kJo3cz|\#^gv:zn+]]z/Xa߷ߏ8d>wdwbO=;/=g_VN>ʖ4.X#*7^ o#wGEkjٙ?0;ӈCc'ۮJZԗm˪eiͷҭog7 h:oIj6MzpצUa|ysr!<)xf mr!4)2i?]qx;;Pm3"V1z-UG{1WI*ӴD[>؊ D^4q"Z&+1%v'rq`/~\{ISmrQ5ElM-s4~-U]J1=-Ah*w&4<</lKJT9|ᦵlX7,aV]}g}9L,fW!۶GV.oZϳ4(^\K|ysokJR;4)'>ao:m +Ya%RB; mYb_Z{"'a?dmdd-{߫ҍ FJ[<ԏ*"Mm&7OMĐ9GV~l&nhQk/K =QEq +6wu X!kN^WUiUT):6`uuYyjz[WFި^7ձq}TuͪYPV>W-u>O~v][EJ7M^O>Oo4^WIk/~P+r-;nLA];Q].;a_#S~^V95b_iwW&,n2),o_X}=m?igY=V|j7^{s{0sLta +:+$keiU<Wh7݊ds{ssf3!TI5Sb\e~:^McT*'?*YD>o=NUovn +EwWZ8o-&;Gޏݽo:6vz/{*wO?6F5y y@V]ݎo:wnƦ7_qx(Z Lk_S; Pofe5UB3'bm c}-KFvR9>d.(On,i]UdUk>`,j3#Ded"ϙ)ɋZZCuE16f+dT}Y8UZfi|׃|Lose&KOggSH)BF֛̚˿ş>iE(4]t;i9s,asϗnDR׎__6|#RutuvY4T3oOWõz"nL䨥֕_ârNIXZr}˞~vz2,KjudIZ< I*6piоL j\ũ,/7tV~+n 4/I2>i8_-6$+@k's2ҭ] G^WJrXIK$B僝,j(fuҚ{Z_*A ~ +1/:MhD4Hi`%YoD%YNLLʑ9̦a* 47Â,(z*_o mOZ'~%JXn_4--z9JI3{ ETmpk*Zz]u%ZUMCg$U'yǑ`IoalϝRI&iڦXmBemh۵bl;Cw5-={ȄȆ'ea8U~Ƴ#u@P%cdy/Ѝ̈K%z:ʤwӾ6(Fv&45K ,-< iV0K"vK3D^g6 a!;4]g-oHc +T.-;n^_s]ުO][)Is먵?ۆQ vZO>,hv8HY~?&tW?8!>{IR&CJGtAqʞ \Zƍ[jU®buLlsW!M9Kqzn+npT?U:Ź/,˲ =fymeiflI`7]Q/22/q2yu뛉jgޭ֖Xv}{7ŲB^÷&ewD}Q!?}?SEɿ>qc?zL]8-wP,B~7:tz LPtX|g~U5 e-?x=؛8wW lISTJg)%N +fsh4o'8}gM&+Kں><}^#MVžtsrYs%yP&;d9Z)fCQCund E]>lv^'# dX;Hx +H]:=c9g ڈYeǣ^g,tp"wО[u65 +ɎL$',5Cy(ǫwEƚ$1-V2Bj'j!1%jphCnNɆ]i+R_IG|z^ qoum Hv`{SvZqZtfU+h4v4i*W2ʮ c˟Qj͵Bu-gʫ|#U[y(e*Z=}r6 H"t=nذ^+L c;i2GjllE懅=CLi4qޞřF)O%*%z#N[>MN'{ЮINkH46ȏd3vr{X^Ks55KnwP .F1h"؛kk<$j9ޝGF?-ZKW4O[C{0KDk% yޜgY#cTS}򽊦O^lqF<c֙8Ts5m$Rn>57'WcOq;]Xx[)b3T?kL%ksWʬ$Fwl6'yԹMU8צfM%:a13U.wF?w%JxD*ӿ +*ٗ +1YT$K1iJ[5od]E^oI[ +o3{0r٬+5C)DTWv aRw6誥l2v6mZnGߥ0\MO.eSOX feMm?:1ѷ{Zolnw-D'_sh1_*5Qt?@{|ЄʋUJ06Uga k{nLCXuŕ^+ʮ{Tda^- +#e7=i®>p3ock}-N:2?Ʒ\G4@1t2RͦN3ߋm)/*́uFU̮Tڳp]~kXKi>nߕu]SyovZb{x~j{*`7xpYl;u6KP[,Ʀ|@n ˾4 X/6V^,QTwNSSΝ^qN͕^ݛy\ϒ+ϷuI#;׫fkg:KɂxNg)fnza+ r$7RpvԾO(db=J35>oީgxh VZa_9_}|47B7^4QLr[]{K#ΰ}!O؞o~k^Qi|E5 *TCm]Ĥ}&G܇NU06s긺ܬ{lmծCaz +cE.˶:؍ǬneS}밮 ~pĥIrl4E>\K]0ᦅ]*P䊛Ηr6Wpq׶BF >/եLa6zeT8 +=vu {M'#PkUGf_ssۓ;])^se("g|){M~Rde<!cԯEym H7v2>ʩ?c6z)<ݾxo^Ϲk9BRQNKlL Zʯ+g oF»5n ^=0W];0ޫC25yN%7cɶm9[~l,G{ۼW%tVK<+ReSOOKl^PG>a +h2fƝ90yL`;*rSB3qov?8[yuYO\}W[,:ڮzHVlkUV\·8)#(O^Y7ZTWVW})TA]?Sg1全N''~nc멲㿳ͦ-6n\oFu_v:6?5OTI}jY4R3 Ni´eLJ:{`HrPSnT2婔bK[FNW-e;Ui^n) `l ݄'e?x^ZD^.~eYm䋞RJŮZA,DiקJ Ǘ)fEHdu6u!! MW퇘5ݿƗרSZc^KЀ巀- +T eF|ECq:bo>K6)+OK-( ++[ˌsJ/-GIVz^e=ۛ[(2CtA(5eXpx] ⠆ BemZ2M&*%Jz*o6+s G9Y2O L9%uCQ +^~VhV+=TKJn$ Zc6 k3\t*.?!8GKRUZjyZB֮\^I7ygdVp$vgNAaáGT2{z ck6d3ĵdVǜFCe7× . mw#羚b~]bXōાf&tHPWӜudLsvhk[ӶڝimN^:I;Vbչ4ވz2|l~ќ܎ۉcͫq{<Tgbp=V>ENnoc3|s|+5/W=$Zʓ Zyl:>1ɦm{]FwPm 3,0?5?wDies+ E;_3"|R5ZF|v).&O{0;*+:u%=4rfK2M-?n$"715I\=vd.wnEF+U?ה%k5y{>z"*tH]:3RW9(^O)ī(u5 :QN97KƟic5OeܝcˊD'vY]vouiL\)u+sSB=d5ok|"-"}g{hsxf}Z{6FFV~!iȎM5ʕ^663Gn|Z :ɬ8!unm?aP Kcb/g׮[Q7vun\Ut/72[a#^*eP)7O5XgOܶ_dl͔Gcih4]x\D7:ѕv?\#<ԯCG[9H.xmDA@[]-(BĊq_7a0n O3Kmm ?L0u~Zd6,}Haq`}GjofSFұkZX姮fy:Rg]O).$GrG-r7qWfߴbq{ +\EýÌ1_?V^.۝[?ywwf4W>}R:qY(|2[3[fVm-+0}47¯V LiX5Koo ol75mx*KS&z]SoG7"SH5f2J|Y6Q.Ǹƍ4*\*ӱ`7Gs#&_/Ȋ 68V- $~גFM[.š[JYU +}K큛rUè}$1T;iR0͗!_6^5qQч9yymyһRnNzr\zt*X֚N֤HM|{̭3+ QhszjLxkj.7M^87iZWŮkSv^ToJ+oM7nkpQ:M[{u|#~8Kp.FƟҧyyV\-*϶qS6Lda!Iz#TC]pǫ;Se:];J*z'TV0:_cW>f|υUSOe+ߊEEŶvEhtz+ +ioWlֻ/#/O:^v9Twčs޿LI[q KXMyܧv|пwP:;fp>Nd`.46gpXc\r|Tu}UwƩ]:Ow*ô1UQ9>jjQ=JWWvT֨,L{#zc)WQ,߉/?OxǿύHOggSH+Ֆmºğ:ɴ*WQ :lsJ;AάkHo+o5T{g8b"+;Ek% caLYZ'?SW(3ꢣz6xt$3ΔவzhJOY"V+mM*,BN!_عyM2.SbRgE}f홰GR;%9n֔եv?Wla]UiԈ!wKQ`S#Uٷ2Aޅm*f #%J;g +gY$))%)yQ .\`e.Z~z4t$6qL#<:О8Zi݋l%Ն,F!**Cl>c7Z1N/:Gl:2q^>:yz걟7?3uzM ^9DTÒxhZA5_]C;%Ԍ{hcԸu'}(2&*Y]KOŽb<:yk6jo]-l:pc4MC#&Y'II?Zzl9v=cĘ`Չ Y@8)˵ oe^F<= + +C"H\K[] R4~VdԪX3~F +[FY4zv6 !mCulD`\RO5S3ĄHUY?ݝՏu))˩SV*istP""R~p1Ǿ8^y{*mm6{Paă;yV$LO]^xLŅ$H648kiƅ7@k׮hIx*s湖2[u.47@3|ݮLZw _-{:\;W/'F@y񚨂{1EP*- pB߅Jp>۴~3:Vc_A\ʥC>xK!u9Ah]ۺJ3 +FĽ˪z5Js$=Mt>٤W&{F},aiwGrXf'V*-tʽwŠ/B{'orbPGvttEg[4m8- rRTx)e)gNJ|ZL-~W+ɽ8ʦwo3}Q]gX=-zfBgǵ0c]sU9y'l9{$lA{i㪤&R3r+'uU񢎒zoӍgSJegWaylN{5B_ݿ|>RJ+GT߽,;OQ(ҵU_VǢɭt;Խ 5Kxc"UgdMsw}vqMڕƏʧEKM]8kQ*ưE/ѐ8KF#ǦnC {;A֪؋ݰw\fug֙ɍqO>)3X_>}"Yd;-u +ijH PxJPCR{\Qo{_BAվJu)Ӳ|![&k )CX2;}/sfRN~sYa\R%2VI|.q9ʶ#!79fu+ڜ'UT 7BT8TB5Rex0Tѷ$HM$+fxԞ>O)sN]~Uag3YܻfSU2퍮S $aޯܙ߰TԝisJjINtkd0fč0Q؊=HR16;{6t + kzFSڑ\I-Q.I+#wXҴĥLORaSJLqV'ݬw{7>wNZ sUe}X?FGȣ<|b&,(Z7nAm˚?=}L\آ?j5kJ{.yfե<"vu2oVd2\qFԈm+^^lfU6.?]g&Me+Xꟕ¢zAC?fgi0ޕߋ$y5| SoV詬ko tA@i AہO\,>'s`=a~_y)R^ y3藚׮sir+O.ěiNɹҹun^6n\fQs_>le n&t +O}?{m{o}LC4006Iif)x9{'1ЌJ]M`k+S\ui塶׷hZ;,k{wQz׊wcuogV/1յk{c婟`zG۵tK&.?/6t7σY0'vuV[q;MbJy}y {S=e˅;vslg3㮐zx];Gv6jݕ[A(z=cScbrggEr''E|zzK 8߆fL4t m^_wG5/O>]Rivu\sy,NL;b㵒VCy豇#X=c]ӷx^9Uqbp + >frhj(.]cS'Oz +w#c[3Tܒϗg]gi<Sz16mg^J>%^+浢$RjcC*rlԺr.{: v$٤DS;1hMj<,칳&l&1nl!xiގ >P԰tcnfYRC{\6%S>6[2ubb3h툄n"G?,g?jݥ*ߒ>h$~z\qb0wwpl/N aW?H3<[ ~_ BhHzޢ6K=#$+mc(17+[mK5a7c噲u3{8M6 42WbA\$,{<ֈAE0wQvU͋hn8M?i{@֗8%t6'p.K>$m0WvEdO};_}?m)uX5i7M)+Gפ$!}QOJw./LwoV&ӫs ޷Yla +OcZhvJ~p{_̐0z{GC4>$#랝 䦴˖Mf͢|rWU x#Wn/0d`Xjk'mpx9}rLCpo!uG;UlTgO/^4};YXNv޻?WXo^rMOggSH,^`nmTC=oX̺|zV'U$3z([M{R]t._5D+7e|g[uivMBe՛ݗ.瞌ٛWVZE{Ss̯mcK^ݭc􃏉boWo!mOAiz㦬*H&`m|X[,j5[{݄ZZ~[ҿkJ33ئ>hD# ߖ8OmcEDh:IcM7Ka{65.e!P:rw)q{Q8UD“74*`:#k&A~Qg:G 1s~G +l[ڶ-iP">Ϩ<%K +ۻ7QIyqafy%y;?O1t:9ra &jyCUj(ዱ_vYF!['{@7d +d_eŷXGENN") ׾v9:)Ax>Tm + C鲸8&2]9 +ljMx9|ob Pޭr˴~Y,n[S 9΀]mӽ'<.:znag6C[jј:Y(q EhZUW|0,g.;dGL5h?˒SA*򑹸 +Udܽ~7Δ4 4Nvؓu!+vC>'{rYy\m9P6\%2 4vS q+οP$d@**ҝޜ?jR5ֿ/cin'cr}\]/XF0Esd\L[ x'Zfc|ۋlI:X+i\D^ꋚ,ò^ qvcH#-͘Xk5\qfo"]>IĽ?#L5wc<A#`p*2w'E\GfI' ,ǩWϽW1$j4r\(f>#nv|V"V_QAd2D=;7 }c֣'(Dn4;tuͫޖ(ٔ{үZnw~p=>9k7+LvdVR~|}jm +3ݴzyӼFw,ߍծ?E^bw]IuJrgA>Խ;\\C_\'ĊM&uēR={sݢ[F"y>{]-Nܽ{*X.h-ou[glm$͗3~J3~d'3eS5}a$0__6Rl\?}W3F{w#i"seU-E@@?0Q]xVu꩝Ѷv==樂y#[_;O[rLtֽ{l˱{zkd'ɱyw갺*>t.=q4e +_V?7j4O~""]t%ݩfX˹վ76T-l5L8fg{޳ö| RS`z{:ފhaxZ?M=J*IMZ&h7Cq0VӺFunйT3zU +4^sS3D{z31E΅TzT;[~Lެ;N[[J7oU Vꃄ>{=G<`YWu~̨Tug14|הFb*FB{b]yΪͬ[Vk?jl+qB>,EQ_49^׬jX\/ +#CൡV$+xhQybCkqCpYo+MLm<[?=7s1Ƿ$[vOcԏk7E(}+:#ef* +!5fh5t Ed +٠P#Q]S2~\"$fu^ԏb0LK~?QN>U A<5ɦ?ܷ+DA$" DQhjOQśa̼bfJq}kqqZ$q(̀'=\/mL&|x7;{ȶcKT9wZ`\W3[~،s*-}܇Z7f/oԁ|4e6>>0^c gn{rp857s<|fh{}t9z7gb/X:ïfGNc}ms1^o־5v^gnv%n}|g>~ܽ>4)%OEiR<;` +U: }u,Tr?6>2x)o=x=yĪ2ʒkvMCF<طm߷lݐK~3)U&NAהn[ZZ11Zx{WJTSOqm/[5ֻ +M5^{C]? b*o9R1n%uXZ?j&Y3c>ZQH\+zH pw-? Eb.ҵMce64_Ʋ]g)S *xbjO<5)CXSq7ĶI4*#"ǽyUu>hF;IݪY]w\i05{Mk#|\\ W1W8u܃2}8 'szS>شxia߲qB#8Eo.jE̤4%B%Ec -iy0]=ZZe-mh CfBi4.NɌ>Yھ|u6eI6uuOFǫfKP6uA5N>POv~䨦ڕɦ\ڽ($'< +fkώpVwzW&QxgNbk7&?T?9ת:vo9=}Pxop^7[R2UζdJޚjspo=\u2UÇc8;JSFGRV_-o `ϻLG+vzWαU~s7k&D<^D dE4wxw+Xzap۫~8hg}w~2af^wayg+Bjo6Ϝݪ~Jg]o=$Sfoﳿtww1^'֛uN߶6NKի˗/ɒx֙hs8e4o$ u]stJ ]LJhm9.G⎠#J>F ݽߺoY2 d3@=񪋑6kŹYU_# f˾ǥ=mb춭*敕-8S6fӭ?3?׶?O&ZH)RWm=e*'s{T,~G=}=DmF +D,~Z]"H\뗷@Ԭ~sά;j6UFAW/ş1RZ4$ z.R5mJq3Fӱ'*uP`P[PsGnx mi|oN D#TLR!%N@۵F&_hA +)[dlٺڏ}E\׻['+~oQ7|Z`tF|5l@@Cva흵/Wi\ZչEȣ +Qb<6Z%An^>"c|z/fZ.D⒝jڰE{ft}AD6c߇r~Ҙ/7O!=vo|.D5ĭ-qU{(JھҁԐn< +) t:[?& jti9 ym;%P@`AbӖ[5߉_>}O&[be4MB>xgFba2nym|4ޔ]OpJT=Lp\O~Tia|xfԝ%?np:b˕яׂ=r?]o†ZNwyӢq+?˯2=f;O-cWFɫŸy:f">۶}֦;STgpҺ#$ET07]f)w +ᖮoZ979.,E<廓-R}k}ae[?^FPyvW}|y:z8}s|Jϧ,)VS״&ڭ?[v9o>|lW_?'WYEZ;D@Biw\w(ޕkہ+OH0g(]N*ϗFV_m*#EhU 6KMbьsPnZ_JfrVt:Mvc+߲9KK70Tٴuv_7ۼ}jo1.~q|>CV:]ym5{}q#khAq6,}'WG桺Vfo{40JLߘM6%I5W]DapcBczfFl)iV}2X' J77璝,%7VRK۰^(:mnªח^U}ힿU:3!9 ʇz&xk|r*tB#R{.H}+ +Sa9fpǗ7 ՐaGThUYt[GՐHv{L~4!Hnml{kP1]SeIe5[DYt+_2rBBjfNLM7q潻fA}yQF> roF{-QoX$jdD3=3DZ{2QW˓͛u~KSum|w1 |^({D5Q^P)85oW7q~-'c0^ւ +'mBkthTٽ|mZ"(UZ/7״߭:a#hPV'=ZQ DΚ2ᮭĽ&N]{g UQcr5TZ[Lst:ѷuujܻzk\zȳ#fQ+%zy0S'eyi! wr;3"("ݸJI*rF{fR% q؛m~}a1CHϴ,mh2qPk{>crv<'+,guoi*"W LR^4iW3g881 +Tnmxzydvb)fנ<w KuGUq1srcjm/G2y0ٔgޥ@!4 Ax֓빥F$K9Gs|Ub*(GX6,/f*jV,Kq:ckjA,f+r4)~V_`ڰު2dcYIqHgyUazJt)e6~ ЀSO&s?b0Z=t;NZZƧZ%֢e"+D[;OH) +s<Պ* ~c򱢂Kj]hwDJ.'WWH[dHCgMUll[COUy^]٪?*^W6qX'ym04_vkO +4\GH>6_u`*S'wlֿ0ݞZFBܑ-JtzUoވs R||{Gka^ܾP[ukc+߻Tq߬giΎtɎZYٔ"h'v}vyuRPCl7j7c3l-1Wk3~3K Ҹ|x3ܦ^UՓ?Ifa#C8 'Ï+*c_InVBkVa&/&5&z=WnCOslԧYy!.nhkRt +g'3M$I"H<>+^VX3h=Ѕ%ozoM;sk̪MbVHXF\3\.,ʾŻ)м}SѵҨ,fU q7-{{hm7ՠQns20ڽ6ZQޫ\٪.tjV4MVI|RPVOG>qyzK<-}hC4V-TH RDVm?'WzKǪQ{ELU9DR耧:2* O͐t^Hb{HO|i ]K:Z2rv9vk'+<_a/R( y2F#`\;j5voh +Mq%O3'5a6s6eDzQgMC9|9IͨYmls5kmB5WX{XUWm.4WQj8#"H܊,=`'XBAC*l^i.nZ0I+[zEg[jK b6ꂳ/ +",' RF42#eI{bqŒ"b{ҕKacQ٪AokM%~IR9*?<7enf&7LnAbAsEm nqrYjկɼ]}}ۯiP7KTX X?{)St7stqPǽ:ٝʼm;/k:&Hn&uJ,&Ư\4=ea6G; XAKDi/>s;Kݍ۱>7g#;7v:EӾ:w~c0E>1sM c}9f4j^f'ӕ4D'f^J վ(HRsuGkC&E }Fس9*θ&%7{D@6klܨ&fÌ{^P J2$4(+:wB4=؞ImSv|wDUv-a,I"ـ%d[јy[Lr];׊aޤ'F0Gpi).Ed0^]<<1@䗣aguDn.c&ʈQ*3F_B",k6"2veR?ٞen5J@ +/h~(F-*uUOτ"|N^5\/$}+W?GJ.%4Ŧmy&rtMcygپ?UVUq5& 96qsg|̫*> Gmoi2ڠ,-QdWdzJi~ X, ʕ9 , Ht!mg~ dSO3ACMZ 9L׹HIJVTu\?NaTm ~֐ȑm[O4 +,W-zr0VXkL)ts7ne`Q9d0%+'>{/Q>+*"VqbieIZqzGp:Rii(aGy_`+A}0՚AۍI*vuIEA{ǫj:WeՔjKPg]nEC+*ꆎ u6us*yQ]$c줫Γ:2U,'k#Phl(+ϾmOi0jG ެc9"uK4R ekN!ދk>~kSy4g4 rNeOs"j@ [|U3{zް'hd{tkSQQϭw,nEӪh{ͬO] ~?ۨr/BwѠH;lKe,ydeonGVO^#SDz2Sœ]m|(g?F·C)KA}&@juÝΜ-u-1{wb}iտA-+Ulۻ0 +wqY6]yfa5]1Y͓Tmf\ FRSċ NOAQ/иm=hItNUb뤇 i@5u}+nMk^l&WY=Du´=+}i'dGF YKMEdXFS`-E]$q`0}E1l?1)JI$áge3kG0L~Qǹl{4) YZ:_(A_Y~!b?CeKC'{9̉~O+׶d?wsNc'8jrE>qɌ"Z4Ő@jY5rsy.XM\ ++ڊ?QNqMxLLڵh>zF8@T$ Q^oTEUoҊ*k #<4gT[ql(\:kmhRTHUMFR|-ヺmWpxC4:RiyoB|t۝Uf{O6Tt~yHܕjbP$I JjXz겥~(3!nA푡ܭV&6[2FӋi: bqY> =Uu%7 Ĩì\BihL?It)K]1ڵf١M'Ւ$Ϟ#>1tRىn=?}˨q b_Jz]u\{釅AFGж*X~pޖux*(DlX9"kQHhû]EbAuAU,l^CtMh8N7!3jWm$ʆQrV#ʎY=#CjUb2J15fӽ F$x+1نe,R\CF_ϑTZN+?iPƅɴg軗Ůٽ@mt(ş{sy;-2Q_M, *Zf"onL'YH6Ϫ{|]ir=ܮJwyVVWZA[9ֳP=/ve|ekq]*;VGٱ:mφ&脿C{HcZZ]I+~;{k^+?W7e_ꏱɌb`u}=vL;ۭ)wܬ)5G|G=?U8н%5Z4F/fXӫB-܉wb,tߵ[zI8JVsK~ֺ RQ͞7sgxt'|?]l.n9ӊavwVhl=Tff߬Gjs|Kt 1 +O]E +(׮6yX=/BXz݄+_Wʸvaʝ-I-VQ+Ba)ը&тq't_ *xPzbG8ѢȐQ.~#Rr2*[3Q4a[om+~JSBiq]]^ܘMr~kTs@(pFzVzr Bʥ2eQt +XΊ%'ܸSOP<{iEu'xv$m/PŇhJWUĻWt%N7%Xe0Ѯv&d/E4oJ`2g3hC͒Aj6Qĥ6@6MB{bjx0κ˩)K͕_v hfHkNK1kt;mayI$aU=Zۨhȟ=NK3ԭz}m$j(HAhanvRoƺwGi[I9am +d^i:k3j/ GN͹IgljOޡN9`OnAI/9X㸤S:2 =q걲qON%͗wn^]bK䃶PL|l)g81>y|_O3Atxg.K"3 u& +MYQ3>NMs՟{.ms8f5W@*-H;!b; i +۷42Ie?ll(> +P x0Yk̈́ +`PYV)bݣ6.Z}Y +-KF2d?t;2S+AJLBj5or F'.fW9pfkI> ȱk pvJ Yծ4 +uz~janb8'1IcdV*[ԖOh&,L?m~6>E^xhRFGR/:Kg5+gZnlRo{W3s uoSVOJX^NETM.Qշ;*Xw2ZeIzp|66aɖ +%b)##Ji W:]v1 g.#Gd 7 ɜ νi{t*9ӯ$R>9=?:Z!>9dZ?b#^zNƹׁc&6R*N4C"(zn:.SxbqfЗYb5/7H$\׷l<;jnNX4Ȏ\Vw?Y j}heb&GZO3<_+Ռs³Kh;C駆Iz(MOggSH0V-H֏xD=`jczIUSɲtMEݏ|󙿬rmRRmxqc%kO0UzJ_g./fF/'{ׄZ [wzxXPʎVի%cݛ_V?+/]bOBlCUirx۝>]Rmwvw8dדbzuӮ*/k=W~<_|Nw1Z,=vWM}vCaDsu>X?(L.>n~^XSSg8Vx{>?^_o7Y۷Wb '[/zd|0vV;V皡UZ{oʕZ +ۊlo'T/鬈?sv*(cvuNhecv61&e|M)12a4EǼތEV-6-3M.5DQmx/;eŷ%k7SVɘuMnZj:M٬4?coS2Z?f{uvϏy$ftdmlN5|HNL9fBj{P.M;}ZVPc١,u˲+Ǫ? 2zÿat.,HAk65n!NtEG#ڮHiNH7} 2c:'Si~f1`LW|qc +/=i@yFpxrwY4{^~h$w,_x鶈Z +lKi/ ĥ^zX-Uʹ&wZ?uM6x\dIjWEJܓ3/a<9Zͻh)=ƓlRLjMj#DS}/#"b)`aVZӣ#$~ -tj~*+T浚U 8U4<ֳ/ܿ)92t;JC;#(bWkxYXɾ"#ES`jiޅZѕ0n\K(\{v?ź#kڍCZ [5FH[uk~$#cwJlXUH[=Fki^)Ebz0j|p{'R3"H2gЪɟ+8SYw܆GzYf+jf^2&5Ͼ1#S3[ܹZKѕ/CP? :76rok^-^=~o4VtC٤9}z[zz]ߒc_2td܆CӟSfhlrvf5 ϕYw7Out&:zg;w#R'ZbC3q[c.D{6?Zք^:UWlnz{ٶo;&|zTp~ +1xkr/׹긲?b6gdVfnnw7DgG+%EƊZ{+ܰftKlDȧk8.>y#J{I0vgbfx0S(MM<~U'z13fM@t˰e籆2wb,Z̀f|Z2+.jm^IW2>+ |+|d;M~O)3:&V"NJ•h։^Ʒi'[ylnɓ1Iьr_貵O)'ZR!N1]S lVٯӅSjl_k0hRhХ<(߾ԢfЌD!ބ]l.`YY-6={+l:QDo-pY%2ufVٺڳ&ítf;9;g\m.zQ>aVMe/)#ŋP&*uPPeфjAKseQȍy:J/wv.:js*4POE%9E(4|x<\C_9$N#ݚ6@($Su7Ĵٕg:EL^zT~%e`UUsdj9U>?]aNr:aL7/{*9S UBsL ̘O|ܛd^ ʺz#w_G}ݍ2;L +X +*$uԐqvd)gjZ]_ +jm"$r0!Y.n}(of`vN_5CBJd 7#$ +zaZM#ޟEmJR|]͕n ?HJ)zϵ/0R/vՋ, {"sh:nA@ +{+s}orIÙHPf%1.hMR#=xa?t6m>vnmtAZD e"Ot&hH:i*[|{QsI4  +EcR 3_+:T!DeǽD#bJ2BUn*7?] !vUwi?rTmcAoKM2kT9yBw:PXCixEB YRau]jIGG]d>GKѾ6Our؋&f-y)cH\ƪ0%J|яۅ/P`/U]A0=se&GAIms#~XxdsIQ_=PFEaa W|Uԁ`+voË<-^(_] +~C6U<=ĉ> +y`ږK61O׮֪ak!ÀfWV4e lw֚kK5$RR拔jԠ 6{b鴙XQG |e(E_kOggSH1G*PiL?7k~1'"`zhu7ezLµ*3=mĻOMP>;@ᓳeRo2YT؝ѝ=>b&>8OV:>l#s)68bYOZNA#"reѫ,ӧgW}rzQu7R*GK3=̼{,O7k{arSkN|.Q.S +9 a*O_xyaD%Wz{f#QodxqK"nc(7D]g8ܫK҄Įm๻I%Kn,h䥪'1x}ӘX&t#eF &l핃{oʜ3߻Bj͵TߗY0 oW\V+$rƱ[# u}̖fvA+Tn/ +u2+GnקMP.TyغŲNTiFԕřrkeQk =,˷e;Zl 6薇6f)~nCJ_ݤid2ǩ3IƘq eXk5nR+` +c!"5sALM`s\Eu1jgb} e'j %rڳ1yyD=;6GjCH=b igqCJs̾^t|y'ȩh[#ї٘mŴ!\-*t0zgU\" /}t7JcHO/ƆGULT69Ie3=YZ o]|PuRdc*+c=;n =Ȉ+!r}y6r//v|3>Ty1с]>vabw¼=rbJTOx"yi(oV/1'aKMѼ}Hg>+4vAX6Uftsܟ>{hhGyq kW~4̖I*MP,J[ZWka4KhMku`6E=3-cºRhmkݻ%-ԹLVҎGdЅ=fj {bomj+6y50Mʗ+Sz)$ޚs4o?)ê7eLpN(R z\:Va/RnG +ZTL8FmJ!ȥswOnIml<M_zU;|t 9=+^HQ `T2Ε&_6/3h䑆8Tx$p:DC}<{"U]Zӯ8+pS $NmfϸybiS=pj:<FZq붌"A22~U[HiXL&gr2IP2]09?*)[!iH.G^:M6TI,$[JQYLt.Mbh8٢J4w +Ny[šV9Ah=/*r?ԝ͝mT;9,[LU}*I=/+Yse1q_d߸$[!JZמm()w75.cd]2"~Pu͞ns7)*dTfl T9؁:}z=/UMfwp?leU'UgUsJVVxfOػy2ud^l]KtވԹCz^}[f Rcs}ULW"L{_wv/zUu]nҷJA|u?ŽRTƱS6Q^WQA)W>0wz߇s暡=M{==gDdoc$C8b4bq >E<DU)XO.ܶH5Ue;j8m, 94yq1~VnIk2 uxek<=:kSHLEl֘wP4q{+)aAII~hN\<~*?k6ʻ5`Ù'\n7YP&9د˭ٔ=IM)jΦilVRL;VJ.Ɍԥ8^L ;|,M<7J${{]=Yuå@/Ou%S.J#ROv!Y|3X9\F;$grIWb,qek_5;)D"VtGUYZl]s0y)z[#[&3m؊KI93"DŽ ,OebB*-QˉI?J7iy #R3''1BDAM7=JjkMT~ؠ%LXylQ RGlM-6 5wl.畊% c8 ʲe-)ht<4e=ӭ~VkKѶgnXM/zIJo7nȚ@}yY黇HbT"&oB$-UbXlOry$ނozя1OPD-^VMWsMRCm]Xg1(F\A0G;eќ;("O| Fn-3Þ3=cb˿_EqֆKO '3w3ѭ[sN^X']3[ئV;>(+d4;n 7*X!n:[PdYoSe޶?Cr;UvgZvT?S͜v3AK 9NM[RcXX7Ғs3*H vJZ)NJr*840_WIv́./n}2C2̾kSڣ4H<1#Vӄ(nt58ٿv,95U*1{[M?Y}LG&}6wW-2U#>{t3MGikaZWh{kaT']F=iD{%NM%݂L΢8[tUmk3la 4{yό׵M#cY?nsՓ+L  +DOOW!:]ⷑWPʄ6^V;>*O`د8K,sZieV'}myFpXY +=Q˧Ql9 ܈[ƑxTL?T Z#㡷71!O`KuKF1:bX=>GLjK̮$P bk@.|4$ **T%։w'uiqlVIc3wM99:=R/LAW~äp{ɣ-XclzrLڈtv0Q;<χMn_6fL7 UPx3םM Ož cNi\IΛ<Oc.nf"#;C q˽Ӻ,ЁA{Uq^e0g2+wŘMif>X{ֿ7ԃQ.B#PjZ2iI2Xm]yP7W ^2LL^O6~9Ȝ֑5ʯXz#GMLα.YNTJN[ g=^hvY_>U7Rg=97Є(+U!*EWvbcܳRۃjJ ,v#j$z3~`iIh*1JBW2$KLv]DJ׏t'f;hIi 6֦9`߸puǦ,`@boiJ3S +tU^ҤQYp*u3=yH>{.Gc+BJEPFb,0m݀'̲u4yhrv%X_]j^ZJ=d,Ϭb_DWGkUkת8jW佲knO,݄E?9ʠfYr QR褤 s6O4oIIpqݦ}جqgxFke~>+|l.̎+S,GVF ElԧG!-z9YJe\4ؐg!gn~: 8M]@caB'+ww=@^+6nvقËԵdΊ䶬X+: ND,VC˛/𘔉a;VΆ^?GhlVwK_OOVR&뮃j$WfӔїA0:2U(jOX[dػG$"7ҷtN߈fؽ|q>)SҫMKEgn="8[e];1T֝Fe)ݥu`?L@dp:"Ke0_BU5[irWо.XqdtMu4Fj/ {mXf"ͷ[Kmyضʹ +ec%ZTU:i؟k͡muÓĢ}MHjL~C"H6Jsv8Ñڥ0aYj]83ROOT@ZZTL  +/,@W}s'|%k\gtA-ؒ'o]Kwp!xvjǏLv㴄1ZΑ]vB)^iƼiI7s;GhTatK z4 jۅW! +iV"~ύY$;SsclMK/R>#DOz~.Q+B{BǀB{a[.8ߚdU Ru +tWU5nBUjf)޻+ HmVp04 +@W<?6FJc]eXO{d#™)=32W#sSŊ +.Kb45xڬցɇ4}wr~ܾPZM)nX[PEiκQ!}l)҂kS[gUlI'cyNkSކV0uf@uM'm޿S4v^4Pр=6{>E\N7گ]ETjĶ-)hv;H\_nV}nOGf6WdͥZ%nc +ڏ^LO!U6{ye[mvt9bQI(yzgjnXeAB[-CZ?>{!k:;5%,$ܗnD=nwH0у|Ǭҽph&֨R>}T9oW%o MXA4Z%  &D^HԞzȥ֏ S^dɮ-{߃~O{iDž"j^֦bvjQsk*ϋ6 Qm9y~ItUw\_C)L2iOɜ=s^yS0 [h^`u0RwQk2z啃[Gip'v%B?"tD#Z`rm3¦T2H1EAE<ѓE˃訁kH;Y)#oH.Ji0˕M_v4 +MkW4v@R}!~=*U5~tt$n%Fmm ;4Kߴ7YCeshCԴ ҵrj;tS۳K#rњaiGs~iX˂"C`T'B[&܆u\(蒍1Yٌ9E؅ɴ=(lvRm +o/42Xv2};و񠣒jD{oh}ipb[]h4dKmQ|IWRWnPon/N7,-B8{ԎnUqYScKro啍AzfXj煳dC9iW:L%~@ĶU]*nyol֔E|xS%=OG>e曞jv]4\^;ӯ7d?͸cm>{I{Jn-Gͽf}|SQ}O;6Y>ۊS͋/Z*`wG|Miwޘ|EfUգ0)3OuWYbpQj|,r6[&ِN,P{/": +6ZS]P(> ЄIїhc0/ۜEԄ<+)}A\Qnu 50Ε*JOggSDH46袟miH<7HӦ!1zoR']Mcv۶־ Q9puZF'Dtud@l532V\$D؎c2btPzs65r~G1Hww]`RiYce#2 Ʒ,F1y+76YEלg+R{&ΔyK)*FU-ЀMr=@O/}O<"mǀqvtBvD6$GK9ޟ>{e$Dzop1ޙ>A}&=FjX)C>mhBEtN +Z$ĒC+ ՍƤ>M3 + W?a AbKJH_bL*t#iwtf<\u/VhAr]yK5H?l-YňLny>TW\ozdyJy& %ItᲽN٦fua_ݬke>}~c}_וݡXwo̻FۉaOE7ڻܟxHW_6wuVE+m AyS!~tJ A js&,2su}F^bq.˻ޮJJNRQk0w->W]ctڮ맃-FYj!x|͞_=g*)?9dD'H' +Z#4>եǟ/hI-]蜚MgCuҠTTQnٵʵ4on6'6PfR-نbmJ*u/q*P~tzZJW_jUbd{v͜ 1Vɸ7I֮.>dÒtvݥ)qj42)1o.Y#xӪY\LŴ +(4q_/ +ڳ8<ԭxg .J)'r*$\_;F8=;2;~-_Gv\#ŨF*3MBSx^E8(2Aޖ3}95)i۾˵s98?$g[E Q:W"A%xc1s2MOy}ϕd̗uʣT G<"!HH*UЧM(p$띒:VajK{mиUߝ_nj(.$ ӟ~삨;^)&1;n,ekuDB>|6-O#$Po'D1^"H<^dpḌrɹ? +lÔGa_U? UÈ0R!oyQq(3_ϥ4Nl4jܕ@*xZ&n}r6kS<ŕp %ݻKO,ֳ`/ϩ@pMZHQu7z\D$t/Cھx p;!8f6sLI"^ZP z+{:zC=aP7 *]xb^ڟ=ɘm+NGSzv +FW3`򃠋s^ %f|imI7+z+d-)quu{jHhHU(B:H$ČRn%yf7Ť*3e_]nI^;oN#wFt*sW$bM6}e3(1v1y)=1dg͐ ;.ZMI~YMc͇M:={#w򰦵R8PNޕ}RԲnftZ>ga94yk;Յ 46u_9kKAӃy +nL};ِ sP}wYvj,>1-B,31G˗fSP(BVx?g\ rVs:#&ca(!ij>R4=:7Y+H ~1w+5zRbZ+Qi6~ +cG 8D%}\}L沘dJV*5~L 詞}s3i>{Y@V ҭov7t!&Te&=Uj#b _c_`kT-c+Geb(zZKZDdRY/ w,pPdF t0j'F-95(% Hܬq*AQcEkX"s  +pz3}w{޺eR4b+wtI$ ;3|d69V \Yٻ=:&7IWӵ^I:*`pL{Ӻo.* #j(0c-aģҢ"j0iD]0 +^/uiߍy<ߋ31tz #1 Gs}ƬV*$2tj۴~E%9%25f~SISʸ}rh:6zО߾mc,`׊YUL7!c.);TM/I5C5xlMʔ}/x$8vCy=bC$[vAu GeJgEy[FxӧK݊ј Qg_zFUT dCx07ףP A0f]Y8Z]jzӗ:ڴ"VvLLL:+/ΝՋ|ӎVL5Oה|%KMͥ/9O]V} +h-&"C]K譟o^nL.E<=MM̒so5bFǰY_+T4VP/' CΑg4^hχ|qU*cSό2DhH'%JoG-4Ӂ|mݨOggSiH5BKҘ˘~I# z荭k:}`B[j8vQ{ܵ&R!NeH+@x}aV1a+/ڜM-fJRc״^am/1ӹsu'ӕIhvSU℞Rszmw$t6éFpױGG~i-jIz~qsX%KB%W.P}_S2T/ $nEwaBj'(^^3+ aY:aCNi#<Τ|/6NLJEpu&nV*=˫"Q{lJc*ig^Ev2ٻ< +\$Nd8^7*76+)08b0ѻRh`rCc|s$hV75L^HuA\*6ߺ/kt"vNB,9!3)oI?S$=LG7RPk& CŔpw$2;E%9(`6,d^ֿy+Fhdإ]Iq$Zǃ9%6ʙf߽]lg\ bwM@&7 +zuu;$ۡ jEz_D٨2y1XC`?+Y3'/e6sJ0xVyoOMlۨ?rߪ=o=E5pk(1~}T:4lsdGbg>$tee>l.6ʢhAG]y?݁|Cd0DUdE!'is^5#DS^BTmZ;h$2tw77'wÝcfXw: .Fl;*FtY̙.s -aEvyWͰzV,EgrGŻ`b+=G6Eʅ@}AjЉ*FW2if +59u͏'SGs3DTdGmRRv6yUVte 7y.muRa|m\|Ja]TWȥ`T/^  :&W,)Kk]9}tSl.Vhƶ^ilKN#Wi@h yԿXrG 7[(<{CB܃Y,] (O³oϮ'TT#ޏ3ؼN[iWyoeN S3z3FxR`EW4'RXej}=)I!Uǻpu^lǶ*TZJ$ޡpnfh0a:U^ n{@z\q9@ܺmw'ڞU%,PMHBA}YXh@>STf^ҔgU=FŒBgKA&-jsI_BI֙"&-WܝK[S . NXUY>4=T>G^k7> 4@['q;/)GZ: Gե<>byF,+3NJ#C\~xm;V`?l5'I/rW)˃Zk#f,>R'/_HaQmx<5c.MJD6MV%vqX@~e(AW]p(7kVǭS{b̩ OԘ~5Li J P |{yj@iOT]f0QtFK{Yt +zMu7[9;|454Fct4q8REfJ'&hm$a+zGRENP!:2ڷ B+o*6Ӵk^*Ğh/nB"QZغm$|Y?r붷+d4V?lbZ*cO>M" twIYz~KIԷ +is++8U{F{G4Vd& _ҹa)oj-1*Vyc< +mY9SLt?^]ޭo=!hw ޷Wi0PM%YR\(߆Җe6w8GWSh]w ^94ފ[ۥB SW_:C|X + #ѷə3I.ҤuB,Abb1ځ^pNjFRFԨStG%n2'/L XՌ$fBbF)tuS&1iR߫F+3Ne`ɶ}b`\EI9cyXݟFrw׹o ~[waY^pv6'"n]4ۻ%n~EΠy7)CX>Unz~ݘW1~C +bF( kkl1D:wbMmES`e2d UZUha i/)ڟim!c EanggV +\5:h=,c-6rD+qM;pIobG_^ʘ^svP3\ +#\-ΥQqVߖk0h&UNK~nxiwyjwd5|\AUy%`;f.m~ 8uϣ_ +}onTDQ+nE}_mo~<4۷7g]U^z{q?lοk4jhS^7S|b>[Z3r\۳o?D/lE9ŞhȣП{3d6 \~FF_0߮yگF:Ώ)u#t6O׼z~ZGR]^{^ϧMUaRz.vܻ(MY[/xgp|ax{Ofٔ*)c5!)AkufmɅKǕMxYnɆX\Ú-IrgͭgTU?wjHyZ%qm Ŵik:uMMzU[U #P)!Zb7${퇐6CI5B+d>lY-w4N, w6I#EtѸf Z漯wt#OI +OggSH6emiVdtip>@kS(Zԛp.:m!כa3NlNTJhKJr XgrŌ=/ ?7IF9?Qtؕ\>g|6eqCKr9geY.xf=ƫ?׵S &(5#G]Ʌ]`³OGlHJ8)Gu` Ad((spcã;?ИߘG2Qp8D> l\dD +F6ImEDW_x|'Akir܆QQ~69}ԧ =[$: L˿ˍ֫9X+F#މa;hNЍqߤ5_*M>#4H>P13;y +Jk5LoXg4Nچ,`ڎu\"aeEF"f鋯ׂx|qctoxe2/_TvaFZ3T +99Sب&v|$ 1Ju7l<+j^'zd,/Ou'j]k_q +qPA).ۤf fU鞛;ڒJ._ly'Cbi"}Eۑca#;IRu9$דLic[("sL]C,JpOB+ʋtqW& ҥ4l,L1ŀ彼>WY+Q07"qޯp%6ĕã}_7l>;$ЀH2TBsi6DF=3G+C1l-2iܛ5o=}Էh)S܇NKԆ[ꊞNFjʓy5,Q-0 )ߛM-dK/ ~nn&$f1]dYE;W{x{x|s;K(U5Q?PɚŽ t y Dh Ż.]RF-WSwe= yˣYk3y&yjѸq:na%ϒv`+]l'yl^MWBrD}.=d&Km?vLõEI'5 K%z{n5 KTsgn2T;g[OCaV{]j',(DJ3P xFq=w/ю>P^h+7Ɩvy1T>u*.5͗45ĨQz`H?1Ns?7VG2e ĆW {=~ɴ=bi-cMl KߓUON׈m#ýʊҕj_:v34>C/KnU+c66V8(mR+t.7zT#7$Dw;C' w=`]bمFk`ю壊#:NfOK4 M՗.鉽ZxZ czԨgF /̟ϗ?65b;v{hܒ ~ߔ\K +>#\ |bvPjӕ&֙ڋQU+*eudkg$|=4zFqb_ȔvޣjM[| +|>BKчnḿ9&e,h ]gNhmI67GT0+wc 0f[>i|/>/XկW0?NlǺgG.a@*4}hҭż r9OekX]C7PՙdM*zD1oƤַΜ~+P.0[nQVP:u7뫯MI9Uaw٠rNwiL̽p Ts3Pȝ]#CM=VdcSmQ=Y㾍6б {s UJ=+͠g~ڳx`鼺`}4%1O(72γ=6u 铳͟68T) =Ŏ}s3xRkYPMcʗ~|aW/575NSNL;FwKkEFdmrZ{]I&"@$T;kTJ|%v-A4(qT%V +fn-glrV04Rf%sL=)1趑˩VKoFS.>RkuLsoٓT sZ\hX tgxb߸mJ&W&y +t ~,eٲa' j1\Sm['rLqF3FryF`Z{sǻ{d*27;~2=$ !ez_M%vp G O5Δ9cif^ws|i%Ib~J\I&6V+Yp^4>\qI xXfUف6dpܯssDڹv@&ɣԽ-. +[& <@o /K䲳ZRJ`-6yaKm +o3idvŽhS7iC#Vr ^(uJ&Lq߉τmR6Z|p+wTi_%.ilg=6gΗN2Kvkk5|F3# =*ι;aopcʬňihs -?ӵ>WNr U zX8m4h{:wj#4x|`&Zȿ~P/>8`"ei"Po7k E/RLܚ֣Y#G^)QNz-}=q0[1Lffd?_{og?ia&\)PrtH4 a#JS9nmc1'1~ʼn+#.Zed4eDE!YPj| v[:dCUwAhK'F>6d2o/GD/]*۟~]W܍(Evckypzwg֏7)oL*~\b2:뼵_-}*[61Vr1ļ,qc\IHq^]NAv:ތSLn,abJEw4V1q]^GZ/h[o<Wx8]Ԏ:Y/Y;=qbE[ q[%IuKcuVl,pK5S=7~3ƭUFQAH;Zώou:RymvI:0 kZKV87olƭ +EW8hTT?bdE_$Z^'3Ul26 w۵YI˛SI:JP=ЍڳZ`ȉg_,}~~q: \I¸ߎw۾.*ic?cg7dw-Xr[ڋ|Gaɂ˰CA%qOZ{;ה͙jis3i>j 1Oz2" fz*qW{iŅi\AtОb6^\>^+PvW9OggSH7z+ԝ֓Y +f!+!vioc8rxKz=U:iC5ηPwדN\BcKW|7&MvϻUyhKR36Ş{qM-:O$w <ǺjSpF3HlT8ڈL7Dž֜V#Nrx_}0+OYn+S>4?ăa!4{Ѐ:%`nOF.WƕuN;ߪuv0˵#aI72!vMs ęk#$MOɁzQ\ih‰ F[Ie9e6(^tf Jsl qU6Ìq? zSo NFnsGa\kkcn3]lxV34H=c]7N`Фv7G%CiWֳB Q_m߻Hw4s9>e䳸/57{p?|`xl{K_2N9==^++V6o]}ͪJwE;5[X'տ<6?o#UagVQUe=sfL|C՝wCq:U^/ї7(]kKX{Nkm_3) $ ktyW5%Is~*/z,Th),ٯbBҶMVMu{ĕJV{I~X:w".#>X4}|O#ϛ$|\$i,q/ :ef0OC4PdjBGp>Mq-z{?9vRg~cY|Z:AQ:tH<4S&d0&vUyeqL_ 6<5l;3`K[UZ7mRN 7 hy3QJvXV,NΣԘNwTNZsST c=g6 HFh$p.0`n$Ha}V$k=N<2uW L{q+VV*gazvW~=ѣ܋L^z<K+xr1aҕޢI<6JMdYiQWy7jBvdX+XKwbĩ@-z5ex[5čO3֮)'a|rV+dk"JmЛ/+I^ԘNMbC-7"a:0+ϋ[L…1m Yʘ&Guhc^Ƚ-=^ &9#*o C|ٷ͚Rc)zϥsZziq}?yQA`KrڑRTGbN}`ֈ^CrIt+Q;W&61 gWxQZSWg,VB"^#cu{.<$!iy\bVVl*qӬ@IZo C@Sc-{D4x}ُi5l:djmI{t*rh|d)Hߐ\ +QҰ=c黡۶A3Mr3Ma#ס58hDy7hϟl8wUӦeЖ}֒eY +"ܾǟL_#Qt&\<[ +ݲQg8tEoY'xKczjFգUj:*r*}Q?T}Ӗw=nU+^zܰL|>If|E1&"> +,jTr)]+{9"Y>Xc5SrbG1nܤpNrmޯ31GO Uh9ռOnDHee˛ȇOf]d|kD,y>z$nųKs{V:]pKVa_䥴TXMfov2.F%"i4G K?_z%X+供PWIaRBr6NmM0JAЌ$~|;mɉ`c?G1^fC%bd~1\@_ʻ +ikLK{*7>y4|P[lшCL[Z:'FUS%u74D%x3I@딙ۊ%9uζV<=ٔ]`޷}$T5o!>rAW^X&cROV#-{7wt}|ڍ˟hcѩu!K}T5?츹?J/clcu۳[B'f黹8D|j_TA+27]8uz=.ٷvkkb<c ~x,x</O_V"BF}`RRjӝ}!eA秫(+ukhve\x9]WQQwڎ0"6B2Zmc؛"i+f/r=zjFqV9䴹7 r32IW7nwj*Hl_?]d͋1&HӅQ=:-,kvQy<-vOVf0J%ʞ]PIǣ̓s,vE]+FlAag"7we9_\Ҿ]Y./1:m!cӬK"Eee" +ߨS05^IM+OUJbcIZOggSH8Eo瓡)*ߪ5žt eslgܮbp:&"%0 ߋ:7uIS/'B 5o^Z{!#)+LFu<<€oAsQ_s)9KToVRNlF4֘ZIvOϬlV6\Lt{N Me)(5!n`3CH݊VjK"֮+~ioKCR]j|$}EoɓZޱ+~Plf+vFWʞɏW^5];YLكت;x#ea3o::Y[#lj\A jr?垝m-0Abv;2X ƻ[e9^$*+6M ǏG7ݳcYPiTuFՁcuХ[:՜(lɭd鿵~[W?%Ӌc'͏Y> |AOE8w=)}_{ۮx+:u*Q8y&*_WWNt6n9ؑi^gOW˓gOW#^~ZE0 ys8|t+yY9}LH>h~ֳᑃ9lEQ-~UiKr¢^m{es=~"4fdq^&t=2Z2"]monUK'/sg˞3;f=|Ljvd{7fꄳwUo[Y 0[UwV˵om5z)$K44?9ߔwZ?qQ7/}۟.nE_BJ qؔݎJȁfc*l,|xй;L؟t[GYli]"IF;UxDK~U)Sv7<oCh+]ޒ MD:q9.VEjP. ;WU7"FulM8'~ṎMۂqp*6x5[ EjDx擡c7 $hL7!͜;$6:0%ڰWwahI0+1UܖQDnl j8!МuhL?RKK/S͝5BdG"!`t0$/ +q ooRv4Ô9{ˣO +'gqXX2Ɖ sb2 uɓSRqEW!BZ T]Nn +|<5WdzoϻMLU +ݸf?"ϮÅ-iM:_'X(n$l-}WY-p٬8$s_HL FCC̓[P!3ɩ@ ]H$/\{݅vQ*T(R W쏟d)SALgUk6 V +zԭԘ SVvˑcҔFq>9.Sd(ʰ9ԟj@ +W=ր]mNQ}Iߣ]f*&1Xz+׍<4IORBҺnULYH_6^ HAU47R=PS.ȫjV),Z +$U#zt@Jwѧ$R/Ahx&SsgomWNqbUX@#¹G񳗓3i5YԿ iuHF^)8kik+RmiE|>.^Ro"5ŰʴncL.FRX.Ob!<1p9: 0̞~0VY+ed/?-4:O^(}F1wNLJ9k<+TkTuO>\ҏk;;XjYLF6 :@Ȫ`+fƉMքA*@sep,13GoOҞn +L@v1|r.ư64^U{DJy*E_=u{y„ѹ +2![mf%RU&N/wqF22[nI] s=qs]}[^:X\9%NfYޭl+s͊pӚHbK3 _UWd=S?,'/8P KyZ'ct|Ns֠?|5E:IJts;S*#Z-âsϔ".KJhdT5#[uJ_Zr L8K Ih~f VWr=|LGel73}/ҩFK3rwX*iEwZ*V +8νPy:"٣)lp-dΔz"{+kL?TŏȨ6 U,1I9;"WƒrjYm֍2;M$d?V +ϦkBOބ# nc|ǯ$Bivl̔Wo~0/ժۃvkϏ^IĽO\A{ɰyXhx餡], g;Z{,)Rͦ-&T>gZc3ъGcZ-ITd־U(*?]_[Ź~=J.$ǟ?ݮfF\GG2˲WTYލUwGƵܮ;K7/9a8<^҈t>ݟ41PW'\#{ɋNOn9?U. +?ˉkmE5GHG/ : R~m AE}n`c)uX*o{V*m4`5БY-ϲv ZJԸVYEռ錈imӍ;xaIHhkƫ xڽKCiyuহQvk0R"䁸vtiWtYT%hy0;{~jO^-yjNuz"H=O=:ń&J7] O3Դ|7N_ʎ&Rtg;E^S1݌Y4#W q Fd6!bV4kW;I{D +jALԅI7c}نDko[7[|^Or.o_33xZh=?D|ޟ.f?{/{;QF\pŤ OggSH9ޠjD udP9V +/tTvjUΞT8]LVY}臂Ön qY{Uo O*JOVKl狺ЕFz6XxJI~5JVU̸;S"Nnrc[iv#{wĿb34\ж-`ThCi1 O'(\csTQDvn*(\e9<ݬ~A00:BzH}f2n̸Atդq#"\5lUDF#ޞmBpx|U-r  +R32kٛph_Ggbt?1Z2F]O:Cut[%t09^mpgc#!~Iwz=)$E%-۠LAxxU女qUWl]ZuN1GJ~bS1Kq):rQֶe +dF4gh 9>][~RmDI_ ȂTC)#JiKqλxNG+*Ns/*3J,qHT6\ nt9{|~f_`l7ߛ؟zTGMG~-c[; 1>9IWoޚ}@ 3DNL$6UpֳrUKspPeJ>D u˒wPP:m!ut5T_2DiYO-3j|cqR_Kxzᒬ/s)V Td| mAݮ%2`C/ݽ8r\9Bm$WKlPw5,چH[LXcB,;6]E+jS3R>b&2%%G0;\O_Dԫȑ\Ue:sjEHٶX;ݷotD8/潉] i_eoZWzwb+"HˈKڠ*22IjcrnGz&}XW.'G败 y9 +)A$ZGͲ T^~!T\2j&^{Otem(d!܁!r"]KNyi _}#q(j HLJ#k}46}SESqf WT +%H̻(*>Y?}v!l2uC5Vx?nF%Tae#X+'GA FAzCN2ޏ6 NzK(vI`G?ۋH9Eptx2V&NQ!czfleR%Ovyef)hZY3}9WzM +D(Ϯ@;Ԗ=ڳS;hRKh)FR7e w, +=n U]ԷphzwT_1ь0vL{JE!n7e2?x:c']*Eq:^YPļֶWy=u#F;QokSk1' gsV%s޶/yud}GnMUsgx<%7 ۠a|J#;YdU·UTXkr!6w\׃eBQF%[>>_Dԛ}!2_=mKr<9O(Lu'-H ssk^]).m.1fOKdq\0L&:E讜'~#{"#s eMl7+֘Q}zq\nRBS +jP1_|պn˅)thޅ\H1+훥MB(1//LdJ:hgbr858+aZ eDAbhdתSGޣa{D*gHQ.UfZA1ĥ5ʭ~]!"JcyϡjmO~֭ ^y ] s>jY=OumUݜ~!|Ϥz(B> +߯ ]|O+0,gͪ[8{ݟINn2KҰGMÌ&wQ65X@~=kϽѩ*lwoOǫvnE*q^NUGvfmsY{xTŕrG&xcVKJ~ޱ*/*QP-m[[n^7cŵL @ۜte/5mgx]-s ]-1spG%PoM¦yu4tџҪ۽ˑ0eWS}+5`Zy_){lqp٦%?t1@{.<>:efrcMY2+3ta|SqTuEܴI%w㒒—WY!~hpo?lp $zZ~Mr %y>Ğo IPZN{<9u):/Ў[$rW+-)lJ[jbYfL̴MfCc^QQwl'64(Y |OVT ~m6V?DX>C4鈫#nR2@FaZzǰrwiS͆憲^ -\m$OggS%H:dsߞ)$r +-+-̇46p?.7qֹ;kG˗-thhQePnDRH /o_=۠UW{BsaO!u^Rp sr(׿'/[駫 0<AuF݇mo](^L TN,6ڶ՚vҦz?;+ݫ^zZ\HnhZUvNDQZlVv:Ķ(\LEվtD]d鉶fxUՊfۑ~\!M˥'eXNvU-+\ˇ'mֲ~KLAˇ 5QE۲k*-v|U^ᅏ Y=7wwD?G3z:}Jj M)vޮ,Owݢ?j^].+(Z<#ɭ_cʫ=G-,U^9]_A$'_B:aW\,泊\Zxsx֛={@Uvݐ?h^iEV} +8WQG=LGB|Oo?j;TtΝ_Zd..F+Jfdž#JC[]Uc*َc~+_FPjמ?]vN52Cd~l+J|RzU3]΂{kݯ wGps)*o'zS՞xOȖ?jfyW޴#YߧeuuY~Q י틥ySyu2~{>Z $^ doO/}3mp|~| ?:nz*c?KS+@#>0@}rȳ:A0y>X[xӟ_ڼO״o yذѲ!.\%^ Qhi1zHU>/Slܧ%4{;ާ3T@7_NN~hP>KЀcBAtwQIʃ+ߪ^{:)wwS)Nuh'7[qzw&ZByV= o򐮶fLXkhaTJ̯Pü]=2oO}['}]ٷ| +-WfSzuޭs 2:̪zsrgv.uO&c&c +Lbq5:9j}$<3/u+˲ + +~I1^.i#hL(=&jBX +GˆI{Q!読nK)Z%"bcue$.+ɉ Pl.bE?|CXٰ*/[ݎ5M0ԸU!h^*.whW}d-HqJ]^2b-0^S6k6LN0wqry >)D)z&/Uԡ<9vqlz/%}Y˿Uxkompr7H+F9c!/NDDӿ޻r%5{l2 - 8av։aQBfj9b$5W0Bd FMoQT+ZpbvI^I40%mOe['w8OtH:@i}ق̔Eqm@U̫_H\HQ!m;0$%iPm_(人re0ԭ>NC,ReәtJb#?i{|QADwCwA> +2JS$mQl&=}h:JY5J۞~I8)u9eԶh0jLh fnK +W19-T<Oe[dE{+_bi'S[lbS| +"H5+GN,|LGR Y:*R*[, \xoLg:&wk`WT^Ҕ5|؋& +6ETflk}<'#L鸋YȟV)]*98p<ݵo,yuCYwjSȖk$Wݴo\n"ǵ +)~vOuqb]Xʾvdh,1ADxs478ο_kPy hyJ=jҒ@ +f-%_ߺVu\uAΊ2:JU"2u_&#<=o}եoL3|1οzbhɗڅ枿w<{N4{bN9rajRT_(f"}i՘PfiaFa[p034KFojc~<:}vⴂVST\J))V7tHK|F6huGtϩHgSCVK4Gƞ@USyߊ >B5{صJd0Bg%߼S~ij8QܖKjF_4~Q[>mV ѪR(ȱ 5@CTe<(7N\DgɩHYwQ;dOggSKH;>s*ROѵܩjzmk6Z:zϵW _=Ǿ2"){"DvT!dFgGAmc_Jb|}LʥVsXx?$Y):T=gGb2́l҄+L +"[q>#Lui9writThd?]9>p(kCS<ϮUTa#i({7{.[;?)Q36*nFF6Mt%6zq|]a,l/+6mĈWO~XI_=ίD3+dSe;lSmDO2B +hə+ڤ9rI*Hosg +ڙ2骟0?zwu2lb +_;E׼6Z`x~ T# 8لigew_~%cRi|Ouͻu[A[~+/.$m.u6nn Nz=ž[p5M'qq +ZQG[FfF RbnX|tc0Ѫs(SPD񮲴u[b{'fs_,2/v/vFXv8篟%|7DjKN%^nU]Fƻ*V.PR{ߓM|F;O90a]u@v}嬠2hʯya>V7Ѷ(f"4^]_|fx-&OcM_dM\F4{zbL潠/ZiUj`Ky>i|H3=Wd65~3ڠEXoGfcJڂP6E|$fFxx{:8OTt ϧ7;mJ$cj`Tj[kn +,j8&dz j\5 MmqȎv\%VQTӕBN3c/eqQ6T!'h-I{RBdn7kj5Jݸw7wc.ʼnϾP7 x#W4|ayus42`zOm[&9rZ-{&g~VXheyZ ikl$JtH2ܷͻ xƐ!C˫9;=Li:;5 mƏ zn+n7 +ԞCr{iZd$c&9h>kyeoEgg۵˿Uމ + Hi*R:  t効ohbފnFޡ nLHƯJ/:mc'wni-P\۾i dAOk-ߐq:5k2M%oM &D:_ɺI8^]Ԯ<ۧϰfu+Ȗ%DffNutB=ͫ!+E쪢=q*kxOtNPw$R%p`N.&k*vwYV'kg$[ a,WɈ+%6Ny=\<=z?,ElG)##e<=Y-z?ht%]}(ak +'\=–>=fT$'ډFD\E KJ!=FIoLr?G~dRkikFpw4R^:ú9?[ۺ.a\9K`7Ta^ΜYy]sѕs%b³xaMG璢kKqVc׻wG|sTQ܏*+5|&xz{s/Қ۲p|~RJ^:fs$sfE dA ؍#sٹ5i?;]XGz@y;߾Z*l{Kf ?޿8w)JEwgZ:óA9+k[S]ýdOůNlj>my<~׵N"c4<DI8-*Be9Q/eQ>'sEʠ:Fx3R|z_6>^DuN8X䳇}#y=vLF_B# 7C.=@t3vXMѩYhRd?+ThM}.l; d5MG;8bRjl8"7eRB٦U +Y=[Y 8# [49m@[Z{ze҉@DC3K`|a7GHTbN6+]n,϶jv|[ fkj*+UtFOR$OggSqH<4uxնC"H<>_zMʮi +d@Sڽ9n"ظOMS5P(1Tu=\*+5xђRA(գ&2_=Q(}r$Ti_I[h?ʮq/IdPL-iS#'j{mZ irʍᾜYnh?8޿QZZTAy,zH^_D f0+jdo;7r}_ƽCker̈́ Cy= wWCg)}q6?H7Xoo"}εLf֓4i4L;A%qEtwt욗uW;Kç3Gk5[`b9Shםzr_{kwliU.V3C]QmctŹ8]:GZ% 1xUCy%c򎯕FWw315H;5=JV AW~2HPMv֪a2e&hϕN埞eFQdL\ ]HN/v)sVWcyٝsU)Ӯ:]Nٿ,K٧ȫxqmzOw,O:;D>եk `p!+˥/U{7ӾIW3=[iTU=.S2m7ӈ'n6S4j?06f(oo7pQReEm=Be!>.e-˩4]U +2F6vѻ'guܫ׶ilq=~}~ TP ױyýLSbyH<\YWe[uO$݀vvF}8+ȽYk]L.a+u=?-[M4+R"1JMl]Fk^+7&3FakAyS)8I,pdgJq;,\oYH$4H Hr]b{k|a~Uzwjif2q80Վȫ,/+OgʐLYIdsȽSfʲ? G!%瀿XR7h?.z _ lrTf(FN[.e AG9"f]#DkN9hT&3W}5s9_M+;pTJ&>L:PU+* kTq8&o|Gryxu2=fٜəV)S FҢp8פvz~  U<朹/0v\+$C +3\߈ӶK!Ri$ZS*%Q7G'VnU'x<ﳐٯ|%:)ͿO_D[Y>*DQzFPɨ`碇-za?{#%FVnGߵl?v_:۱UkP|/;|vsWa7iS=_>,9&gV2t6>~$l]aW{饗I1R$P$c}_+1D| ySu_71)*{(*D*oguޡ:uKfL.hVYt3YP ut&j_ɮnB(O~.n$.lk۽(9aPYs>qn"{ٗxz2O~A) /sͯ]uEyF(S@ZXho okܥ"!OZbz. PsGR$RT~WqI= (ZuxhßwWmI/Bl;CPg&}qe6f\} 3l6$aeE ~cIu5?u jRy97J;6&xۻd<W{\U ^ dࣖA=7`2:ΙVeܪFYxytjPY6D,rֆgeqs! +)e Ū 4YgcwӣJ'vj1Yk +5G8#9jW)O4vXeKks܄2FA|~d"Q߰$A93Mx߲$༠wFAF]m5oȨxd;G:.fYޢ+[88FJ+XAW6) V8?óWFCrWNam¢aZ>`>:`v7*4RoGձmK?`,**2t3BJY< +]A +4(smd LzJ~{dymK):KYw>ފY=Bu~Pd+ 9lȔ:"t9T,Sh)zz100<4C.ISQ9bBazI +(w=%lCn?YoB;RC?yUw=!!!ző0`FO^XY{2a\OwM=~|ܥ} OuRǿRlcY_Ȅ<:΂tCU57l4UgNwo~ٯvO?=-6B`+w׋Xy?w_{=Eήvvs$EZz>{ӻ477wuHgT:F_?9f~w$fz[Zw\m(]enO4-t r/8:T*ICN2Ai힕it\46yBo+4aB2~OiP3TH?FRI[&mY6x1:\rJ2&,k"qCZx.)]ZܬN&anyhR4ɺĚz)D_Od5;|_[t߆|QOWZ[6ʬ~ZE uF7HPUO +>Nj<3o<f7ّ(YX!{h;F +[DiGq߮i=PFÕymMB\ܫ uRl֘b҈Aj[Seyg3i6hH|UC+W6 +rHc +z%uUknyXleS' +J+YLOjo]j~ok*%H{#][c~ +T 7(ajF`l:Tx5;˕f*=fߘA5ьȪ`CGni3BQ6cA5K3@[<šp!QEhUJszV&&N O&X 8~W*~: #dtjQ*yX(qOL2]H\D9쪻jƆ\Z]t3>:4@o ƄdTcR.7Ckz]f+WSN +XLvxR( I\d%}b8kPơ +ghA1gQ"h\0E+T,Y"{G_BlILT9Z=tsY[[5JiOggSH=Gf͞q6* ѳ +볺ֺx4" k.9ΤK)a֐'rM/ڳ !'~gQ$3'35=߲~z`4xQ]&YߛChoX4Dnv HhuD;>dH?:rbzSSKlQLfh +d?D_sHhAodzk ʄ +K{s9rR""[7xXZg\٤_͕dʽ6kꇊǩwhgYd2|^~6|֝JTޛC$퍫4!7i:?N簆R)\{N,>eaQ)fc't7ۮT7zdVϜ]7yXοw݊H56Pn_Uk/ëjq4Xk]Ǫ<.[HC,:/ݙI1E$Oj5U%"0/w*ɤcnR*G>YR+Ss%Vaj%\1hx2ZRC-]GV>GKd*H)e{=': o}9ZB֓0e;P`eOiI?G:cϖ*8MJn~}E^Qފd8w88+zvl&`F 4]]ڏLFD#DRuϼ-'U`$3~1E1/g}X#Fwpǹyя6zFw=ח&!rw]Lǎ5xdžT v Fxu:h'.h8ƒyEFwJT.;C!SWlOIeMRƝtץq=4z0_MaNjQ>Tد7d6͠07=%uq#SҞ %]L.4uqA@%,NJ$@+8Rfk]4=hj<>jW{nJ>W옰#׏&7V5vD,:z>d&YcM4*1?NzF>!ŴL6i6Z}\"8veVie_I=dkzk.[C}XnXDkW+$_dZ{Jn_l{*z$[o N\=RDib4{ M ~I8\?Kʛs,}(dMo}iyᶏbtuj$ﭔ?Z7L<T<<"&t!K{,zu\7~Wu.ܵaZ[Y6ĊZqLc-h1 yՎ(a F/4.8z,bG-FDLR fp!27Dc7@1!՚[.t/"JѧQ4gwgb|"K "V=vDiwױSk9qzRbj^˚;V>{wXi剎[٢a{YZmϏڼ1k/?"^VɨYwΐJ4\nFz& QeuO{+8cDAu'쇟S(Ĩ= v߽w^bVY#NꅒWF&nqTK|RnNXq{V'DzժEӜ5̗QWOMm\==ɓUkb)Szϓws") E&̇j/dVmEZg4|cϖjSjQj[`7T&DC&$僿l9 fh4˨0DR]y=5_zU{TLTeiQT((h9w+*'"hVBhS@i!+x T*߬Llƽb#J8L*xu 9b]~h׉Vʏmi;d oYtH)ΙᢔIlަ2fjV1zʚxC!x篬dj:lM߸hCesm6OƾF{O9)I`DRף(BFg AܲU|s.i;\S1hŢ]崕xRD³u%k; [ͪgxJƬ bi'Tj5T0OwHbI15Be]bm2+hP$l *jJ$S4w[ᴫm)?>dwJ8k rhjЩ$iXF3poEԯN-L6Lcյqj+Z}(9OIV%ބ.?YRˏw?佾d}N-޴Q{i0[{4זxB~hOggSH> 5:۞qٖ Cĵ"%>טx ~@S9}6{h'/QNYLVY^wg.#(+4mZ:#"&/m]޴af+|qC$`"g#Hc[^3Z&snXƿFxdM\4)bzNz\>E>HaB6Zhl`;6ߵrw +dA]֞~1)H'_giC^ZSg=׽[x47ِNַܯZYQGұ<^:LDH&oMwжVkZ']BSxm,`[2(CX2{׊(>62ʆhB'"MnIvڢ(̞4GOWzJO+l"}KkC֘\w"Ul _0.ۥyޡ@h6 Fٮ&NO^6mCx{ЮuV+{N75\ebe;8dp>j=6}ςtv L6UTxƂMDL/N/sֳ矛i]WⶫWY4]/ +ne+V#{VǙIn.Ol{BJaI*8@G|gVt%vGY] +;ùl3 [Nsݼ|u n^[XYu- Ih:;VQbRX[~¦S=M:_|R!uyh7OZsHYIeo.gP걊-my* cݰlvo1Vhc^\dB=3Ω.9~U +/ien'CZnS*IZi7=Jk~\è u72= TR*ݼx!?>78쌹Je-YKezWQ%1ƽ 8eab3wcuO^YOdduZ u Fg.Q2l4̨45¥LQbT n? *_;s:9)2fܒ +8 z7k|HADʝ]WiQ4&}h%*GE~Ac;xj\7PۃVpO +HIa`uЁIt(ˎb5Z +rqwS>7qe.8-kk$&9_qY-͵R e8å=uChW3vsnyB_K̵PUsZY[y:xWԋUM܉AZYθF Kn e"|Qy_y^ ~9*HiLb2btA!395֖:D=QԿ5;KL$ 6GƉXYaIq3o1V7f0_.4ƨ2_ejCۤv"Ǔpc(hݦk69pQ +߫cg^׮uҴ*R7K(@Du}}9'%bҘa4뷝}+h(pZ).$'РR 8SnY6\x}t 1l;"}i9[PrYZэneb'W'/f(!D< )ר^6-F(N[`e (i"˔ +G= MMS>S=V=p-w_l8Nxi_?,]O Cz|U5_^IR +Nã\Hu`Rp|#ѡe 6-wʻ$jurʭ*G +#? +kll)Y4~cEjF "h|kHM^ iBFTk6:S;%Uj!k?bIȅ0+^|y㮇@#UXgPL>!ǫL$e_m~۝=K=#B R\.v[c?XMkSwfpjG@hREKc]'Q&/Y¶ 3g* D&9 hqkrhtQ)i6gijL qX7ϺܫSe TG5v&IxҎǮ~6e<N gLKdAVe4_6f'#R%ƬbӗzӢyk)R(%FZdy:쭚Y؜~|(lExRp%cJmFLd6.tt|͍M&jX:|[Lnwg띩s4{vNϡc86^s}?jGcXքP9nMտVuwzBC +ۇ)[su8_TCR2xGBDAD.^_0|;SuX?^YA{Z}Z)=='GG٩g+vRV[ݓza}7'Rz">;dSZh90'Zs]{2KX̎Qb6F$%"ޒVVkg!䷂][ClD*V4X1yUkhc)y?]꬧|A bW/&~CӒ^[;&Ӫ̰Uie^J6cr13zqZ^nTVxS;Mq9DReS?$HA`nH̟4 +ۃٰcg(ܦmiխ-Q`  =&Qt%=uyHQQF=_&,%P1Hc<׍[0hXyW/&Q 0u¥Ej'9)c㑱IܒtãGW4J.:-9}rTOggSH?jڟoc\ u+zu `v׵Τ.>.K}Qq~gp˥D4kBFCm ~p%ޱbd}1^L~ҙ?Ը`L +baڷZR歲w׌5?oP'Z0v|[9_YJj޴s-\C'MSxptlZE27(466]e;(c#K/adAkլk +usFP+rsmyB{?vJL-%6E/x[;Ϸ9lwx=0W+{XJ=]{rksw/G?ob2WKՙW?>^1ow![|AjG]d%eFc'/6}3!HZsSCƺ#w\GŰ ݼuS-F珨%ޛUfٳ1y'o2ut&+ϻ6GvU^ZWm%< +:S$]U9okd`ƻ?& ]uln~OdΆ;ҧU}w!LZ]\DIr`1Q _*zuSטQ'K4GJic#*߆<{h#Qcs|@ѽit˩TD yT>_kIgYf˻ҟqm[- yJ8MỢq\H] U:XVy߸VꗑH64="/H.8RvPrh6ثIݏ7=R0:Ȋ1lϿ$z481hTЯE1]}f9 ^Ѷޣ9oUӊE=e_YVy٪(zdj$8TyWRIqC:ь+PŗKw}~1TUg/f4(NQܣiEClSz+HID$V5"T؉0HĮGW}C{3&wwJe0>販jǸj^[c=X"'PʡFiB (JE@Q0Y &RgsS|_\\hFAx*id:JR`ܾǢ)?35)q2:0mYH`rDIN*0bͬWR2: `>.ڙaqaSEU&]LMJ]IzϦbOG33{͎k&(޺c$[?ƭ˱i:;o^{A_&Wb@١xwXz4 +F /3F>,Ũณ2N5~\Ө4L: ulĪN2qЧ65O+MJbvEkq5wC"z%Ƌ|nJC,R{ Chf.vZl8#'hM3,uSa.A +W"{{F*!& Lgx[2}u6+ønٟ6flA\?XzŁN) +$gWqR4F ,/LL-]3Qc#< e\Z˿{{ګoi"obFdeûS-,9Wy6w-K5O}P +TER}sL$k Y6mrQB9~Uۚ\o_5ލFkY*w.py2konne+[ vw]'vK׃[JGie{qٙnuY}zݨvmes'O=8 jEBbZu!ZU]Wt>HBpUնB2`ܴC7κ0 Q^F._."Ҷ&n6Y]+^˖!<@4X4n{6+\DF xL.~Gl1w|1`%]NzO/[ShIoݨo7?^#`qQ}V)+)㯊j=C#dOggS H@oxFԟݎ"H܊&Jkuvg?t<;?Lr]Uy^%J) m+WcU]W+ڃVMݔ򣲣#$SSߔV=Q +h~JԗNfеO"t֓xR]ĭLD6M!N$gD0zѯo&U̜e'*"ОYM\t? _oYxT/fE87S?$fDZ2oϯnvVwՑg򑥯EVS,% +˝3C/o<;nLѿcox_QC=}ɄP^ >SKGJohv{GF5=Øk 曔 nD~j~ǽ=靇A"tG2:,7;:w;>d`eϘrXKg=crT˛7mᄊވ:[$4w+(FHTJ# LJ&] K/wjhUnnDS4>lA.z/c?$F]UWn +s2̿ +bfQ$AB0^_2J`׫b6Ѱ [,1eYQg\Ii w׭V g[_vz_Qxds0مŇΥFw' +J4^=+wO=:bnl 6j+_E) Sk4/z&}7cYE7'kоt#DiN͇ѷ|YzQRx}y~.Nφ?͝QIot,l[i%wShMw&6j+"M~x7`1 3(:ݩVF;W*X²1EרO}72 tMҝ{Dr>?=\R۳ՈէzDs%ݿdv)o0gq緍~CxWcC, b HD>8 9q{jTmG;HւcWߤ%2+~k: + z+^eg r";k;Ts T +ew숪}.[%Ed3N#R1S@ګ 4j'gy 0B`DOfZc]ypVe6KN *$wzUF{Eis*d :;+@`]}w12JL+@f&Z ]yLs*=/7Ary&* sxLf?W,wpL|RMvc/Qe6m]KSO۶?|.9z.ڏ ]mKXl9vedzӀ +(N}Sunn?:E!S KHRTYF3Cj`Qa(1_ PpҘ5%arV'Y+nJ.ƴڮfbZ#^ZDuѹI!nh( p,יUokݔY/Pҷ&NE)֊Util06B}Rn _1Sm[Fwmv)#*gw? ƭQ>)>#Qd}'*z\<^J)B Y9 +MwaMi+=K'Jso 1YFpJ9~qBn:KRx]R6וvNB0Ф/ƾ5O %USqU"3Dmo_+XEyo#USM=$fDlfVo#ݚg $tt98dSX}N+;kzdb®^;Qި(Uq#dn:s#u}(l[܉T=jD"bot1_X*R'|)Q"'0JLl؊6elTwҌ"^]%bCR&dCI> Ϯ6!4L)#ܰw ^AL-]Rte6ͽ;B/R؋܍d( 6!U^a[4um-§m̠_EY:2YE+\<~uʁ]be-**V B:ׂo(*'jzǏkR$,l3Q?l95o݂+D{+8c biEJщqC!Dy6k:Q&6> {p'^NR +O/ؖL2PD{Ui>6MGKSoy^-S!āb+J[O_|@Pw I&S‹&LfߺiB˼[x`6!7'ܣו)ZbOn6kZuȺ⢺5(Si&e+obzA +8CSw TG)K.u7߅L[nWfӾL2eM [ 5Le7 +w + +^OHR@]鵍g0\ϖ]]}9Ɨa|QR\Pġ%n4%ށXѻ;zks4ayuNT=~8J}mqAUk񯭵&|{GY>p´hAYIM VZMgϝTb>QsS iw_? WOyB…鮖JYj3KYy#ts;g{DīWlEX.T}2鰮=[TOE_g~:F# ]oqsL_#o1uK wtkvS==\]ZԵ7Yw>( :G(o׋IO>)nԏdE@yb\',}\3n0x&3ZY: !tҽߏҴpuOv#;zf=89xڜO]\[õYzƱYItد^<67n֭_׾N{M}6iWz-Q +O)^nzM S|?_X3Sf%]G_avz[-=UFL_E˜8,PY"AqdQ{K%1sKy6UBkmp<=8=Y >~Lߣ=pfY5틐,nƏj'scgVl׫kEy(HyقD[DrmU!YIǰW.T~|{7$r9uPAWu^Ċ, + ۍ/CL +)ŃD}&:O73C_7-t)Z(IQ4lTF?eEB۝>B< 'Fn^5aY,kvzy8l.ϧOP)j%EI $K>m a2(lsYdlY;44>|S*6z6,ɹxu5"f݉CFKݚY%˱ΐv@xj >bbtLkA:}3[[Ά5.4?e̤Fojxh+R=h/6AO\_4QjiHwN<_cLweeVIap2̇x>/N֋j1$VLo|w2 ܶf@͕YK#,pTXmk>׈(6hUφ1:y.20e;ur%OggS, HAn ֚9A-x ?=avOV+Bh] Їxt\*4w{5f?In!~ IQR;3X6ADI'%oG`E^ ǵs_-˜ cMʞG΅,!Vq :.\ׂPaK*V]U͇E5{\v3V PFz|Ӣ_u-l;d@b ɶ/VK.Fu&Jy;':c]u,ifҥÂȶ!bño o7X[~)ϔ˙OQ_ efcpͧasDZjPC[WZ&SM $;J>35Coe]SLVMJ/W&]܂ׇLMJ*V3]d/<*EO?kvXL==ff[uM ì(⍓sѶm-|9c=r\ay}mljƯycd3\'99MBh(72Hܻj)=[-SѿZÄVs7 ?`!a z9㽝ckV_J#䧯sjzF^`:21K]5tٷ~jRg7C!)tm}Xf|/sVI8LUӨei"W5B84e:׿SuʢteV۷ݙ#4H~/u$DX`DOUCgr"`A]Ʃ<>' ilVt|g¶XZ4JkVDowǚ~.[lqKN%qΎ5S-uO XA|sZL{,S'-=6566v旋mmb%#4H<9^U+5iLoQ=y} ;M.; sSKGbuEf(y랣 B `➔Qh< 9dSr}'[g'I4B쿑z"s,Rڅ-ӊrT>qzoKꎖ|ї/ reO]>,?wFSoiNÍT~ tHlݻrW͔PҀNjK>N5s)$ܞ%UU3..J%^QUFnd[L+#}mN"e^UG&>bIMmuZ$sbNI|,{fZ6sT >͛f=oLiCOpbOU)ö }@S#~:=pe$>+tDϝsVDJ{ܜv9 +Kń͍ Q??y؏׎i6W7'ycUFbvTۃw ^#Ԝba]gݒ?rq=ٵMAfz-옯$\GFzDh V%iU]هLӽBF_ѼflO~mfs.N?gc dm߷dotK&k-UDI*Ҍ;Sca[<1ٍ֮QQTRn*ԗ`^h4JAuk9uϊQs˷O9}AeQC6T/_%pbUңQũg#lFsY񴉧*3|"U~yx{X?_˝bn6Iெwk᚜)RwK)|wcFTVa[ŌH6/f5!i\~̝.kܴGΧ;FbD*pKj: ixLȶ}) {R>~ VN- %W9-t3/I(j{6[1pDUx=uF,-ԺZFc`Iay|0EѠ'U`sxzU_7AQŁJ:둨;M1ˠ9X O߮+󾎵艼oSO\#l,̺_R&toK3' {TL;CYnXhNncΟ. ?Ϛk'>rS\A=]uL2e*ζֻʫokY!5ڳ3[{;|?k^67~xN`ob%ZYy?ʮoW{?zsL'r?J5^n:*լ>ZõccmΡLTI!0;N jaS:߳cj¨f6fnakQYgÑfZdʪߥ[-yڳlm>REC9v^3Uuy9L_Fvߚ^K:D:HȌhfzKA +lZ fYӱ\Wۑ-sSp (Ư;y6IE!w_T\{:mGgw=W7y${lyѦ4P߱m,;* rPy${5bvc\bn6C +?nSi[w]PXQG;kUjaj6P!^j +$/TM+u @A^!W<%AΟ;F|;5q},VM}'f-ER.{%: l"bf$H)nsyBW=p!MQrV|A!}%"[+ - ޤa.^!nrbsx\> +Z׭ѥ3HSĜ~?mVøn9jX·Lv&s~U4sɞ>U) r-ea5M.N^xWNXh/r`*۵;|a9B;X(WQleNd'Nէ,=iX/tIbLbu'>cHmu}je\^Slx5*imUA#psH ֯ +E{\k?).]r}ҮZo>~=FB~eW JqwqP#Z[]PPF1 m>25&ٚvcOK֏Bn9xDLޫ+Bļ TGt0d4RF1p極N{Uy.رk#PX>Cn2QOhu=Tv*2S ?|zUJZ[E)!7o5tS,)}lI(S7bCqC|bdZL0~7_o i̚ooup궰Yf<4>&VVmiROggSQ HB|qtXWŚ^^s BJVvN[/7YMHUizWٔqb{^}3]z^֝Q5VlWX۷3-ԟ]ϙV{uXMۻ5a7?ner?̴n,tC;|ش5[t˩0kß]*Uu1YՓ^W~:Vt˴ޛܰW{wl{9]SnG*+(a|TaV=-v]WC1-<8}e tCՄ{!Vԁ3u۝L8|LB|{i78li:NϗZ;,Vup*s݉beq{lGo֦NEܯ>o ͎)Kêuޱ?';ˉ?ӯnz*<>OUm"^/VKe^h5LI-W}\+5ҜVE,gybI ٱ5A[#[8#g{`lśOʵT_fhN,?6͆˺ G>Xx~fN]}&([):Ԍ߀&HF Fc|GHPV!ÒЀܱ%MY$S l})lc!ޗ>*޾e!Ch2<n˪ocw%,qdc~*b{pjwa6 +=ZŧiF\B7/߆sos>VkGcYKo}1B{~3+_Ic9Vi]8.ny!Uˮ_}#tY> +$XɿBYꀤD}~8+zաC:Ks{y։Z~/.XuI2BZ_`d4m2WG{L!#Y(i_xe/ػ+β[8 8$52/vy_W>먘浟vèiҵ9/fCi=g=fE$c }%A6lj\W렺;(WZ^?A3z(Y_@ۧp1jSN\wdqzfZ,V z 㾿7=9 QPaEyƳ u!*Pf]'e?TH,zY_> y>ϋZE DCig.W"-8eۯNtr}c4ڋ-;ѓE> +*)(YN GsTYGp|[z<+-b^piī-}3bCAl 2}ȭHpkcc, VV۫6RſCH̥!TϊU*)c\6,'dϕuhmg֛E+lHc^2} L +<UeNXM{4)qJF>ZDovCTc*:o֜~ zq*yYAV ;:Ɔ΀IK׹UIEϿ~2t]t;U\H_bc:FCE;`z(IG;R8*:}ksCﶞ 3Րŏ$>aaǜe#L-\}=-x]CIUoLS֜w?GSWcY]>S?o_zW NǚQ +)vDzsk(7`y2B51py$ɣu ԪGX[|-6G5 U}_6ՃLJڴZsճn,qk>"EitL}ִFsV{dw}Zu_02L@ɞT:QY/Y~] l_UӽEK kV'Or$>T2/qÓGfUgzkt,'G'N:کӽNwNKnnѹԩVF&67<"ںd@lu>Sf/'R 90ˮ"Z)KV~ޭGBJGT[7cXil&ݭEk"vsgHc\yشk&AO}:7xmidpSDp)%su@^b2]kAO۳j\|( +6,Au-eyIIZĜ |QkZ]Y JxcDl[Z+]13W~6I+4s]4)1 +17,sD3A);N.>`6+)+Qو5~%ڳbUZDq^u}7ƲIg3@/ދBY' ^:D4,Tԁ1 uv])ExJypRu: DvBڦ{(O;_fHL,]\M%Ev.]f;!'˸ޜCú??c|7ڶ⪛Q(q@=TSAПnw;^gMRym.5z-79¡Vjl}GZ'= 8F5sYU?rс~1zw +.&Sݜ0F&iMbT2ϕE=% n΁pL)^sٟS3!|?lKZu<\F"RE\6&+)5aڗX5ވ bf؃tkZ ꝰ%&3}o9I~ +ھ\4m ~C?E#>t%` w/q,9~ff‹ q\DŽ4n 9ָWZF[kR|CtvjQFϛ/7rX%OLPldŵ39Ino".KPG}vg)]HO Ih02Ɉ}2ۻ?y}ysieңOggSx HC+1כ奞kl_[fBGA=ޮb7tE0?'g^UEf~6#рq+ɓvv񋫤>o>GsoZIio$L^Pr?^f L-ύ(;^;MԐĘ᦮9fcm!{!$9`2sк,/a$ۘMa-3BeѬ*q1:)eLn=nMU:ugMNx04Cq,fgFWHr)?S=}{~?b%ԡhǢ A*.^2zkS -@cVOuN! me(^>s2 +GrR`ӌծF7NidȊ-Zm[*2,&kA:k۝Zarޫ|"d<劗w1JC qv˯߿ֈ6%=TZ 2(/$KŶ_-72#%?dcq+ӛ"4^o/ڡ:yY5誆~8녋SE ڒt\* ONvOl{mcc,YW>`jsu[\ N.-ozlS q?/c<΁B[o8xA)*-a6kT}T,4ժlyqG)8W,E2{<>)!%@R'M1$KR1Rchkg6Of6RHZ:jϒymy@9< +qI9L0-+sTi-S_{I?`>S E/1zSHb62ݳnBR{9VL̇ 3D|t^[f n.<,;p(yV"Ųު;T$WƧH}Ǽ |ӕ"vDm'ԛVCfVغ7fbH9!1UF>53{N4T,rR.aQ*jX|m t u>zDa.6)8]|4Wbkg65 ~YK^纤0Q=qHѝwtZ O nL,I}ĕKxfUHɻ߻!jCVSS%-v+)^ՐvOA}ԧ4nY'bm==ڢхTkOYM ݡZ1=`=;`C*)D.:vY>%LӓP~lYV`KziQ IL1%+W>zR<}5Ģ +F&6 ~i#ݴ.8<ѹy5W\%3%4ө07?y O׆Gˆ]lޙ +RO:S!Af3;z;{pvJ&LR4A%OϤe_FX8G?ԦM]KY4cс$j?EQ*Z!l8bR%>W~8_}UGi16LaU.|ԝWjA<$_?EIn-ɺy#t:ٮݹ@T 95=]ˡԔ7{xZD +2.P+kUD8SٶT芐;Ks];wL/EԪcBN1j (=njn.Ԍ@eڲU,\/]3^8dيjy$e.7:݄^'fp#>n +\9BZw̔ I7Re#B}E+N뮴b^Me[O5AG7n{khL&[Q<j3rԫmQb- + D:u=ZƠlSZJ[&z`w<- - +ȒmDZIح}]J詀)8-9NjA4&_ONu-`tDIЏHozfQL(ɟЋ[a8{SQ-S]EWPŌ[Iࢽ3w  hZoK&N'})Mr3Dx.* 'ʊ}+f뛿=^ml< +~I7eQ׭ƆjpFDpMPr ԈhQ6J9 +;iѤ{\(?gwsuSַfU[2Bx=7k0 "9[7ҘZ +2@a^ fBi~/TwQnîOo_ѽR?V=PO*=5;f&gAlumU5Zp~;eOSǾ0R*wiJD}2{7+EqMldP)߇lhfm@S-év`c_Yzu;~v#4ե|?${12Ͳ,76lhq= $4΅˭kn >1C$'jp5>(-:n +BmK^5ou{eG<ߜ(V +0g2?}Oyo\U:{OggS HD8ѵϙq|C½-KνZɞhGa`.doHnhjQ_xhKbgg|A}%V.'ɛBp|0( Z㉩[ڳuoDDV{}xvğ{^p3Quyyg'^_6fl=5y5\SN!u+,ԊUNR)1ẅit5GcxVG42pM`ftU<=J{Eh'ƹ-cݯEΨii:G VsjK_|Sf`a:-~jVHSCҥ5˷ q(9L+Y1Ynn㳋缷gyu[R>Hl7ڄLԑWfXu}Jkl=b z97lC ϵj=9{1 wmQ=s9վ =~k,Hdj#.LTĬ0ضU{i[y3+%0DjWךaQ؞lϞ8Én5* T-)0AE9\;,kX{ͧeזGܫf-]RX+j*}St3TbQ!DwDň<^70hv&-:ѫv:i0hl%ϩ&eM?=cTs.S Ѡ?EP~"?g?rTih$R;{66>Sޮ^q8KɡwdǢB9rGkeھ- +盌s qg+WIDJ]clPrVi$bjkֻZ[¥~4&I_ڧJx&"m45mݍ]˃"l{~B1qB#ԫE_CVXtq> DӓH]"IȲ;7̨^F3q /Q겼*ENT`E(47zu$ 6Z7nh9àx!/$^п\&6OuJOԵ64fwCf I63QC'M}+xmqU>܃1.c"{OɴlOS5i*ĮUm=ѳ~%p]=)JDZoE]}j1i0k,W?k^1Iĥ%=/UV, ڳXzZokXۿht{C.[%n_ݙ֪_^}~ճJQGpi磛nZnf [Z{_ ƣz f+%dsI 6m=tcXYj:Ǿ$7uɧLSKho.]S=ۏQqfnpWj^$+xuv"Y!?hPMM8)U$Q^L]dtp2GWkOpmOm5+^o5i6EocY?WS1=Yx ^[Or[y\Ê x }@S {۵HL3QUߢ/dh)E~`Gf`tV+mڬUZ)txԛ T/mܣQU5e!RH3xB7DϿDc8єl$)#.4)'HU֮[ A r]VJGA#n7_| +^Yފ^[`cO^=>{۷eRg[GHtmR.E;PHIc'-_I:r~z,4Jp[ppla_[ӕ'^@KQ<6WƕT 00ܬ; WD:Cđ'-{wWEc20c3!^8b^2M^9H݊^8J@~*2uV7p:FCpݪ e!}duo32;H!YrW%q{YNEC<Ү/1B@D,}Ҹk%}lagq Y+Yy&+Z9RY5Ɩ.*Z(ܫ=~7tgc<}Ψe^9VY cPdHVLXGkgWiBqX(vn'):X,_B_"C +4 1?SX$VYإwK$qb{TE$*TCV=1;*3"gY22?hVl=sk$&.u*͚n-L7`~ADk + L:Uʞ޹5qlZZK&XJnY-%yG5+:yN?wx{";Qs,ZGDz?͗wSYa7y?z1~b^n7;oMOYTIS?*\{"LHo?MnJ[7(>:ewSyzLsV+Vp`kmoכ UO+ͯzSn#dIR{6bP{rkﴟ]NEi&;7}O=7rjiYhVPc)*spVE ww@^&D:IT4\k4D܇Fm{/g.IY,T{=BgU c- R+*=.BfC@黗3ϻ/ Njt}%$^VӤڙOVZ.>&g=CCۥPz^ݖi}p(RXDglA-Fu9+vdxj%ᓓtBg>NhKbՎɆىɃ1Qj#w.6!ZWZ1}gD({F~ vR)b~m<<[=MZPN:Yɞ6a؍9I1:iot5p#USQĤԵT5keJrb{zn-o-\s5jJYUJ~xL%j$Z׺.WD + Z%řDɊS<5n}IzYո ahbNg(4gǃpy;ޭ/EA ǾjD&&HS=pvVz2!m,=:qWkdCꠘ_$(Lޕ7 4͈XW䕚щ+Q< ۪j`)ؒȞ=PcK\=ߞ۶A5` zIHƮ^?\HYZ8,]̵3EX8iWXdI5j̡w>fGS#fXw4uD`QVwF \A$j:wkyfNT4Lkϵ::{khEkL/28}KCj̡$aG٥>wD/i^g[nΈSod;?5LGU߷_E(?[wկ_)[Knga-sš^)|?[ݮO>L9=z?ņZq {t9ՏweZXNky;#UtHOWH=s8i/IAexw<O^;럟iqw՟Vt;>yGG];4OeJ}^x3^p>OggS HE^vӓq|Eˈmi`-rV*{_өZ]+pZ7ã{qYs8-bߚꞮ~sp29g7 OE+ϓߺvћY9wKiO/G?㶿Γ&3ӢL7jHvLzNX4*\I(I#H9MOLk'mʥWV[ }\'Q=5Y/?bljP5) +q).yU-*4&pcA9 +* +1YѮ]hRLܘ:8 TM<17l]Hw1ʚO߽+|/7ڗb.Ů " Xފwzۖ<^t<Ś}rGFe/o~(#a%d+27Cغ4lSY)0bϞK3"I/L2Hv/TI̊2-a>%M) UŒFT4qZƧxc:u}-aoC*ٹ+d0C zvz6/4+fu;DWi_"&SlP%v!z2[?}JE~Co67ꬍf TIW#1aC*^뙕PmJ%i6Os&#>dӖ1ĞjWgR+U2=٬ǫ.fl?>z>+Ɯ,c +8g~cH% 5Wɶn37?#Xa.c{QtnypA5,וϰ]?eVҾ~oidfxa٥}6FM%Kl%: *MGrVi)g.'m3xφzP|,/(W£ѫNjjD&k/>ьˆdR=EFռ:6T +DZ@v~ zq7ѾHiRͨxv2U:5;>?x{K+_//iս§m،6]RnhHaO+x}.ZMmWTmxXJqskFIx%Uw>sc +Ck9u=Ɋ|N|wM;,u+ |P Rg8:J6-;/uՒ Pخvq_dYoФM5~q᱒F䎈DO{#Q,U~\OǴuI?NYƼy9n c> |b*3# OHBmnWΙR'*6}-I1mj}Ut-Ibl>ׯ,FSm^v3dNnfКSFuu4JU=ZWfߒMBhAWUQ:Gf5 ej,f/潫2m١ }݀&twS=:CI=#\F[;ϯ 9># rj \N67NZvW VgJc,/nT yU( MLV + ^hFa_0}™n*~bce34#5MG gi'dq.Q$M;Nϧx9 2Dl5L1U5u$TmzvR_a:G9#4o>gOl .ҳ?HF{ߴRq'w6x'D 7|u1.8U1!)nt~N60s +!iq_ex~W˵߳Qf;=F!&Z~? {Tu,#3?4U{ZHvtvO .IC8P-v=BQ#LMk<ҦibY\"Y2 +kYfks?tmBh,=;ݨTtIs ?31ѵ2]04rk [6~P+To;OjoTt&ohˬð}S&61ًu!ݤE;?s4Yzq`e+:(<38GFi(ֻφ*&4& LjVtOjly3t53VfQ]gߡw(Y{3By2g+U;z]C|7[;˻6O{S[Www glEbtT$:5}ANjnwјQC2g%s9UrqYq8?ɜqg/{6Ld"l?>:继yuv{C)͓wvxd޿TIH|$.>v%m̈́tG*5@qOr'B?>OTep D^.Ȟ% ˬMuwciQix{ͨx㹼9?Qؼ|qE̊~;;J +'I0D/4Fp3]"ߧ:^XXOyh^x{2UkxqU~ra4Y:)/JDTSlxB,tp maӇ];2CZ%#0l^MABwv%5Fs5>1:Ma9V|Kf tvn㶣'F7GZY5ϻqEƫ[LIӿMn~Sh\X4fK~\J&H/]Dm1`F~ ɲc7WM>Z$<ŭP&6ϫ"uhtKvݻꋢ'l+GI(x}XaW$0ꌐFTwE +^ +3ߵRjr̹<,KOFtxph2[pg$"O٠ޚcF/Vz7Bj=RRgO9;vwkG_'6]grXk굄?<6S(>*Zh5B ś+H׮ӆ'c*o T0!hاS2ejʿMƼm'M$`?`OJ3e'~հPӞkÒCKJMa)!n:z[ۢDIgap*@5̠ЖLTMӴO@1H_vkcM4Ŷ/plA#zG4 @6J7M0:ZT_􄂝+gFL9ǽWd&mW4^h/Jy#*X\S6N6QU]|(β~Gk \Ax+meY_*=혨GrH3iWA?XۘCSk9~2)uw(9o-1p5 xtպД;1*:^ufWnUQT&;Rx~ko|1{;c%zI)Ad0ۼU-09r {o+ef_Be(ϑQuh!nvd`{ߞy璘9ZOggS HF,䘦nE$gUY;h΍:-şzJ=˭ ~?w hV+\4 YnGa9B?_{$$n:n> +'\Fnޤ˔Q/j\>az-#kq^u4D4y6e>7=>-NT/hj˸[[K46,CvMO׿$ B*] ~?{~o;N aIuiq) +ԕ7a%Ca|):e_uokTVF5^REF@(~Vo$t_ ziH|iZ|yQI 0ߘ _!>Cf-R%y҈ݫJ5ھiPz1KYA (k4N|N**1gm]YZ%hpFtH>2ա=lf*`;Ծ&4檸}hzf+)ok6ٸ( {7'x|lqziHaioⅺ\L5fg,-}[Ny ,j +ȵ}f,T[uWr::sbb·DSBڈ" uy~U7MnUi2H&ǖ{ kS_Ii_Rk`NBi#O'XC-.[_M@VXYmEƌιN$x^ԁ X+.~&[W\jK{2"EF"e>V m?r+g"wT~:ߪuPHOwP +*^<]GdZ)^Ym^;w>݉:_]y{: 5 ƙINL3(5TUsĮ5Tu:Ƌ +D(Ki_e4:=>[Ɯw,O{0T cҗC`;u˴oM*Z`tHQo`?[hB=Q35mnM[GPMZm }v ][){F1El7!OZ; 1f+4<۽y j¼[@AD2ٔgzVOJGMwZ֣:)j+$f;1qX ݢ2𥉉 c"q;*bUӣoCWFy_d2VRC+YcJM7rvVĒ,϶Uȟt!>Oyd +q:tSXML۔V7yA\+USG/T?_Q.fSםoY6lAvUc1W-g/y䮜m+/gtp1x_>'T>YNsY剶~}יؾ{_zEZ};tE27f||d5wq!S֦WWK:`/({O~=\GYCstYút?,r ƋۂU'!Gae_qD!^`MRweo_l܍Sq~J +`AtoKN4T&K̎ +@߯ę̌r~;TeNsV,eB6"@f+7-~ /yw6Zo(u;u@f$gxeyÃ8[~UG4JjMSUI\= mV.짦ӏ|+blhoSMgnkަ]V߸}]9 Ynfԩ{J}2jB#}]Uv^q,Ӥp:nګˣp|${Z8JTtzCdU=YfjUۺ瓨cwN}v}"XQ5?٥R,#{[M^9:nԍFͰyhlae4e1ku%4k:\eb|g0+)U ỵjߵOEF}~j z4\ o9>VK4">n!̓&:r"3xpQMZnνG +[Ѧ09#:a|WEdȮy +fKۆsρp]:eLFN/ 4ʪVu5ITlV+}4F<7D*зz(JCƑڒ^j$,,Įa*A3߄ /x骅O;k(ei$,Km1뺘91iim 陼GQ[ +JƲ${)A 16G柣o|M=x#ܕP4J O/[0h>*Ac}צL%&:uƈN+{bm/B|nͦv;H+s9u5_!~*d4<ճRu]=b2\UW6mdvaOz^6#ɒ*!Do a aiqyL_03XlmonS,2=nH4D\^[/N,H{w ݖ2^\= ~1 te ]Q +4n?$L4clo~P$ƙ!>/:j1)h-U]Ld h=ONEt|W\'iu?{xi0Ϲ흕H%Qk-o9ޥjfd-TCi1t۩g +h)=3ܮyΈki,j@vpzDі”]έק㳋yR-#WcҰgt ړ]yU$F/7_w/졟yMv)[껰۪.3kbzA]o!,G6g.! rf,WQQvD:͢/xH<8GKWt`4P]XyCZJ|i:XK#7IOL°'7R䈘ϲTzHP|ػ&hUsu,E9heȾaq^/V#`$oz9,E6Go%jCHl'/rNʜ$yZ@\\ߊR !lH>.$!ne?gٽդp΍¶{\:~1ҔL"CB"i[ej[;T*r{t^iAHKy+gOxWXO+-.ͦM"As)*oĶD%—_7j1asyn'SaFvy[F޳7p=VC<ɋ0}b@:yxՠ ':~sY=)H=FQ!3\S:fŮ[_K{815{_7NMӱ}t:O+ey~KsΜ/ZD*MϽX] (w*-]v7?O33ISS'v6D[pv*<_A 81 +m'8_qeA&]ex^um..c5 榚5Kۍ&OBoˇjXmd&=<:$'xOfOm(MZzxek=,4q|\yH=om@k^q4}kRWnB.XƒjV[l44t+VkojFj>JQv> IIn׎a1epK]WvExG׀jZV#[ӚsDYA׬kuEJF_K5uTe3%hw1ZAf\.EcNzf;C%($yܪCޡՖԺJPO+Ҍ?NFc;hde]-y\{mdћ^6lһK"9{hfE_RY7ShDb7 vA)]Bc񽍾lEODZwi[o\۪bi"Wimy|:o7V-gb +M^BꢓŋAIX uYi^c&ev]r}CV3#Iiɨg1M?gT~u:M'22=vTk#Je3PncqA")^bZ߽~`6&nÅߎ-#+sGNnkӆL*G){ʶ˦ss(݃^^i4+0la/. FZ$#H\K^a"v]O ˴^ر;yuk! n\3;@Y R;WtFsrؔ !6H:4[_jWmS&~O.;K[|ܝAK~ViFPUш.{JAZj1~3)S~ hMCfYy0vI5 ىEs^*ς8dLCד*g2([E`$Gb.s^דYX{L1/&^壅ow֫LAgSTQD]|bյHnj뮖RO'Er'I/t_:wL +Sᑾ|CB7ᄐW^An¸?{Rq&'cѱK{[#o5sqӣ_F&-嘮fT_Nu2xya{cy1{Sgo?;@w~{kǰ0Emϙ OggS0 +HHulrjD4))0Mux;\_#*:ǠmLؚo`?|lJvew~}) +bUcK\hDyl{-,T6 5Qqsax-^V-'F,ju۽ ,I*3,V\}=%j?}z |7.4]wvcMJD37cszo=Kul[Id:$@[~.p` zk ٨q|19)n vD)]JmXiχJ1fSҙr?Z! \|L7(S]9,ǹ/<=}>f/^-,Q% -WqwӔǶOsrm(09e9(vcOls/o˕I;-~jP% +ʴ%`ͼmL^5o:ߎ7Fq }43>#?V*bߖ'>LS.!δ&#/.$VVBbxc\v*0ȷL`Pzh!TT~>Dnַ>$Tk ?DBaῌZ_da=1/Fu +jH ^:H~K{PI4t&sm78h pro]WSɪUwSZoUЕ$#9+0lӵmL_;rt?`({NIO_m? (!_ס0wR ~e7_S~ji,x(sn$+,L~"rfL'UV.7XӪR$NGvG\ll2da ;41yD(MgJk۸{gSZ5W7_AzRz,v"zc -2nDr<]#!U0a_6Ktw pYeiwZ`ǫ +iוhz188K6=1T#%Ĭ͹n+Mփ4R]yȩ2oGTI0+;ի߽9jB Ts=e, +HaYh لuu:$!~v? %ߚj]Gk{ƛNb5xxg@E1rĽ^w5%Ϗu$C8dy(1fk5Mfʚy?v2T +dawl?4H+큻ggn4:k1ި"L^>@L6ଁ:{4f V) |}**?ϝYYmWKGGA!"τ?!񥺫4]ٗ· }r?o Fzd}j(b Zi4rx]RCG1!O-u7}KhziOSW6y{-׽ +SJU)=$jiڂʒG=+Y̋(Y\.5=c "\h;;~c#x8"VVXd6݄HlKl!Hs@Wg_Dom\6 S5<޳I(p9[dl(fdSlAt*5eu鯐OECݻxn"A>D K~5SHzրNoi6YJtϩԆh?W}Y+2L-Ҝ:zT3 EUbh =4Y ?gߪQlS* RW"˭`-6"xn,L}P^OֶA0RBA؟MS4B:V` ]倇#[uu,\<#sIEi4#Ѐ_2/s煥 ^u._ZEۄIfDʹte[KjXKgMK*ۥϑ' +2~!e iU4{4=jW{ciD=ĉ1>(g MEb 2m1wtd.|M~l#$ս7Ƹd>4Ie24%ffHZ6 C*+jQw%d?u^\re0˲PY=^ZoM2@9}r NQBl|O*vtbQn|xcmnjhNygL+(.kz +TZU1c]kV^W}G4ԛOÖgD[r%48p:i$"{q #J ,H2kѓYq/|oHW}6mo7>e{ZxDgRoZf+׳{N]}?;K +z6k:i-.VEݝ1OMcYQ:jOŞԘ{lvi&xF8mŝaIv`_:䴵ݱdc 7}-L5՘Ǡpt7DNz-"t; ueEf|Wl}Ŝ&9>2Q}giKO:ŽxmBT4spTU4]jm~4:!{E鳹z%\4B_ 9$~EE^kA!nt v:]$e9?G"MwhJ:z_ͨ;;&Dd~$u&)O H ^hyM4x6Z1\hĎs/1;~NkEaiհa*995Sĕ%ZP7LO%A<_LV&폫X|K^o98 rl) ̹>Dc׸&@l/mJfsBDeyIѪ(;"]=iI ʄ-Z[{G5FRih^E̵I4KBZOFA6\D!ۥٓnm|'&?[AƉ2\HI֡[i?*zP'BFHGP([oq s]~+d*n;u&Z.tvכnW^rI+>+:Tb]mJ^޺b눘M#%T-X)wsU\a.7\_X.:n5*= UoD|I]|ak? ѢTOIgj{?}P֢է*w۲fʅNպn$ҼOggSW +HIk}7nk4?nsr؎**4ɗދylnɑ@.c]ŹQx;ƭ ZoCP˯m5`{uGO[ysIMF:9|TD㘭{=Nuۑ/ڞy7wm==ZçX>HpœiKV +]=/Տ}C dH=B<][=Iڵk]~ˊw[y֔|H^ +yME6|N)k?˗@ +tcGCc*QV;" X;[ʅKȫMKPyLe9#֨']i` qx u*r5<>Mг{J(ɬFkU1tL޻F^+4\@Nj">$0zYZgi;u?mtVݼ\ F_ԧj( D=2[_E_Z~,..J(Ȍ@m/Cr%)L4oH+Xn#^i%N#{quiܾ#9ecqqesW;~;MqKْA*4»-u>t7jPTS`e E{ꊳO BI=~Od0JؒΛ1&p[0?@6Kz/6Ƚ;߼,V +9RgZpIֈ2*NEau^gi֧Kt{1V3fv .\-VM)4%2w$l@Y}2:4Q_~FGJ-M^ ~TP qEגǒ`wi'RVwE:ʌ3'km{;r!ƶg|Hna22ˢ?&}_Kt]H<ËkԀ1ƕsVeWW'_5m.J{^1ZF'le'2%W<<|u?J)\(FqxD[Ș=Qw6^Zl_hݗ2ZCsf0:LÅ(=ڀm>j]Fz!38s2Ts:KB(4Jt(G>um|19&뭽7 N<" (Bq׈Xq*Gd+y!H+QfpiG +dަi֭U.=Rb}< +\)d̜ӨbV_N꠱vlxJiqDc?O(xo|W.&^ɣDoA:905U^Hvu;nŪ,Jö;EUd/ +yf*lK}TmBB엕 1.DPe *oT KRllC +w7|Va4J M\b&ˡG>2}InlWOYCWӈzTH^y$P q+қK&8G JWTB?[p4lk0'!N-ݪs{[iRNGyA댟=EBN$b*]7ԍƤě=֒뫒Zz"N,\- +",zo_gDG%q-*䕋2Q.{D^6żR0nZKT>u?_>~o`9Hv$#c'mm֗ ڤʋlUi&ҝڰ}5?J"˦iVa)p";ӬP糗:@?YbO5}\Di:ujBʥw*lb0NCYi4'*˪3 "\4N4~*N u{fGޞlg'8^B0@hyqZ{(^Vt;];H~8߮Vf'xUaRo̿߫yuXl{= a⣾]չ7|5R4u}*;z49"ٔ:%Gd;n٠>9fV%{2;-vӭ,cb!6Dj""H.mg]7ՀEܥr(@Mj7RzyysTC ^"ܕrO)r-Lc.7]{D042rCb距0ٺ)ǂ].c wsZ0<<2SܾJ.eǣdwDl*I4f"l+i]rBĴݛ(mp2Jm;uiOv('ÚeJR)ZtdaeNtiK߽q  b~ +D#qejy(t=%#J5Y57GyA-ݗ +%%mI_!APh sOUvmM!r' qњ$bz Ȟkә |x i3D(~ck40^:*! J+Y(5+鴬Ii+fw1o:ߝ$nE]Q݁[1w8'ڽ?:sP}+Tm!)e{o VRɬ1!~ +/ȶ>Rf$ ǭ0D-Z#pJgx $6~4DgO 9Is]y5Cqu es(۲QMg<)NzU+V<~K$wϾO k%)\gZyt` 5>|TH4E9^tUelMm0 cB=O쬪:$/].T(w%HN@:A;vPхԚjIzO|U}sMDUK\ڼJUYh4ICH ,y)[fTE 1aDZeyZzC2f3. {n/G1~; +OggS} +HJѭvH<ŗݵNz=2ԏsb/JvMn'WI܃u3`4"9I5%.kt)ٛoY5q=Ew 52Uh}ekxŨNE^E@#n7ZIHx9is-9W*QrՒ_I4uL*^Oǟns[u> HA@[[,c=h=ƊM=cfln[xb5) Qιem&llu4~jXn{fJϢ<$UyЍ_6?m$yjV%w3_$$aYQH$m:mUwĖ>kõ|:"\jZU7k3zATz1jI>}+8[)zl aX:TbTӀ|*VEB+S Be~f8E\J`M.;wb=T28ixց9jB)7UMm<%{XoU\WcTlhh lL*%ul oQp+-;vLvޒRCIe]CLJ9~`VԩJK^Zhl+8uR,~F^*8`z+z+ 'g:+O/f8HM}hXÖB>Nqb@r t8EV3qX?{;=1j0w2o\Xk$ P󴛵t鎋dw`a {kֳ|E8܁CS3{~*ފ=R"u +k=s-ynM'}z*Vڮb($I4Qۙ_T([O`zlFIȆG4(5qz܉U*t"KcƊQi2A=t[(,x@Ii"Htl@5dJۢg-/:#va<.CUz4VM0:tXL7UugˇpQZfL{DSt: &xa) o*݌W.smZ7? AC7L'0=ןڙ}v>I,SNӋlIJtm3UxF!doB JVt$= NR)uWlkhGnCV|FP CgV!B*#c2[`T{Gu"?s=;͠#%ZHL}̃4},1t'',<1B]r`S$}$ %a_8JTai;Q;/ʛroZ(:HP|$(#@ǬsوOe%ZČآ V4FJ=V _ZL+/w%D]4MC->!%Nw^+YvC5 |jc(Udr=q#Þ#FmyMcwqVIE]zaPO=5rqEӒ +J0m_ZW 'T! ,u-Ú{WzI33縔{r9WT?dCxlߙ8gшUnБ1N|; x(+Vo:9^WaD3N''eϳG`9Ur&\jh&k=&:>zt'tN?xW{LG[גqkzwIǚn.nk`Q-@9|5^W=gbf~Gb2lvd,~On&BW]:"cV>z?轹5NtU+ +^REݗG 8TIADӇjZZ8Ql,֑HAb3)3L$K5_X +ce]/F4p_eʲ7gd۞u:h)굼< #M8Q5ˋb"^q=V Jʪxv/FZTyD4o[D5M햹|P>Ww7]+32s7_IɞaW ˑ9qvd氧+'c 1T8PzQݬj۫_׈k#ͻkNG(Hۧ$mc6ߌJ|||ºMvN| X{qZiKii1G&zJI:>~Ԯ% `N:]ⅵÙ]\˯FZ׈Te-mK`;]0ˋ#87OY"rˣF~g{D^1[|)_Swӗ:dp<*z I#e.. ''T5F:>PkNZm%Cy-@+{bV*m}Z +DYO[B`7X~&hE>M)GWeI`P@iY`рjdlώxpH- CIZo-#,o?]5F9$eTZXr`:zꧼo#CC2%1}+Z=A1#Έvf,롧iz \1EO2isi>ގs]4hX@tgOn:-I.}5D; U?! ȅoPPlC.f]A 7,!qU[qOVʰ)rI4 #\d'mvO "S3HxN/-Md41 #곍˩o\چ&ŵ<5B,nIݠd̠Z6׬(65g3vl+t# -q$2MJSv|Nd&.Ch7.Š!Z3tk署u%k$өȍ oBEy&>lI4LԋsĭoHܷIڰ9ztY_SVvLL Gιy^?iq*Иfܟf]Γq'*jj=ExRzԖ0e|ͅBbZMdny1aAk]ZzjweuUݠx });>Mr^e;إK#= ?ďAru, ++1Rs2jՂWblxOpWpp^9}L-jk덍8G'<&Jg:ڮ!u: +OggS +HKӟ;d x˧\m5'UQ^-h$VQWU/3pc<6[W6# nr}ƻ2t׽I[1W38g5bCu\ +t4H><$@߂s -ٱ-[r ~;v(؟6)d +ŽFs=;zUdN;fhFA">,kdd2i4v]$+`:<4a:eӚJeĘѱ3l_kpyc)kWn~mzCE:O;* +]3XߟbzbM^ +4Ir8M +(6)*C7jBنսSlͽU#DUUpz+˫-Y5%?~Sk}}?yqsd[-4u\֫z-Cj b8-)n+ +hM|&MCkSL N[-# eYUy_rù^ܪrr͍)wG1o[C>K4Rg۩uC췛A_QC2݋wkvuYΆG2UY/-Xi>lX7gg42E2gOmjybF?p"ru0^ILRWGJfX;QS^)>{P `; 5mе=yjXv<=.}kiAVigoJemj*e44z4T'&/X#!20p7HE&P#њ 8yQnL).☒끋ȇw?͎7^L4"u1н:*ߧ]x#vAӖ7M6ڒzڑ 7oȌ{Ƹ,qtZyẹua蝛\D,ZfXL۽ɵ23>U {Uω{._7 rδkêRyؖJl~l%w-SUS]\]clW:1 *{'T6O6Pʾ[V]^ɣP[s,~]daa|F{@ *M":j:^ \$%[ ۇ%<Τ %QYyYAACp8v}GZY^m)OjX@ڴ[-九.EY)r;`e!sgA[P @#>4Q`*s=nRҊVctR'4SP +vF_fA?L& $cL/ٔ4c"*$tvzIG;CB:Nu_+wȲf,aPT%NhsBJSqGOSD/ +V3xVdi{ )+kqURK.eLe6er(:#CS]}ҌeNFXgE]MfHKR6<~~ +VC>Fi*R0Y@XV!ݵz÷#ESȄᲂG??-<3iύt's/##Ҙ;{0ۚ!0SlwJo#0z9p?n(} UnkIz'xCצA\`,E>+ڴoHwf%[osX6dA]q:,;R(.ex0]w8]"Zqh]ůU_ U\Q3z:55|_ͣWi퓻!*BLYnlz9=7Mި.+::gWhS=<".zonG\Iy>vNL#wSgFO_՝rqoKݮ#?y(m>RulӋz" \Kh^}ZPg&,D +]R^-5QM!Nʲ7jhM+՜y~IDЗ:ƭqh]Y F[zqZ2yT#GffFn%\B`lbwf+?p\q@COQGW?w=3JꯇbhFqfFwت2 veA֍mrEH'q,""^%uL/zc~7˖ԧ`=x:-7ө<6,՞IWOԳM`k tޡbdۗC]? ӆ`'}Xcg-kW6Ҳw~R2\GCzvbB(5NDY{¥ZT% cocmbD.'"IsVݵ3-dל&(y[(?]х %=6i~bFE08Hsk57r^f?ȾBl$_6& +Scء9m텓!}G]5T>!W}.S#>]3m4ut9LNVm ޫx$̨4F=Cl& G\wQ-m2y@zzl>Ym#\ u9߆hk&ݫO:ͷhBiQb[ ͣkU1]srC+ŕM1cN_xZ >ӥyFC?-YZ^D^Uj\;U_2v돾@t١C+sd{vh=B{/3=FKSbzNV6,HA(*Hl⃘K'J)<A$+ +;趦I\cY/6gnqG-f+jڗKV#q7!=u|3e;,'~פ~VGrt:y( Paw7@!yICR}3Lqvi1ڲ{.zA;(^/_rrw3 +H=w?v ׮̆1N:XNh&n=;})CK\Z[#24wCF;*Rjl,*hҼzp|"fY7i_A4jl(&)s?>7d3KB%zUh^S}l ǣ5wHWX+Ye5?4 OggS +HLs䠣ԖԞ:4^gK1u(Ǜ[_ؼ:Rj?PG: q 5h.E=MijVr@_̗OF5[z,ikJ=`Jg=mmm"9H/L#Pt撌{74y͘iX-:'}sJUg&UI4oV~FgS8|LgFLgl,sg#Ls%2mJQ|Z _HNNʐÐ| 0񜓃d# 7wΠ*;CtIvBa(9TKF>.KŪn|9_疪uN?(y?WWr5kOg*dR23[ii L| YqZwt85ӒTގ77cv]kjQ"!PIB^ +!ۣ:D{"9fY'V~k[Dt=Zbmry١MSZΈPܑ{}X5CcpԠZMY'hw({e7U)U^͞ +dA-zmu*u{buUy,_NsC8]l{ץ(^|6%nOWQjD}'hE("q-x1|/vD e4 ޕ8wp:i\淧H3lvA*K})s +)3#T׈s%V,V=y.Ҵm7yjfen9H ^*@euX/q露tf[KlQY7n۲I,ۖn {IIXي\Wi%0 +9P5XĤ8as?BWىeI/FrU#5N^F 5'M YdCTo{ڨ-_>'n-ImPǬk]DΙ~9(ԕ5=DZ`S'؊'n6]e㝑_h눣jMӽa؈F/~>g6Qtۍŭ]!tpWyjz{ϴU97-DU3~Kop6j(-q "i4ˤJи㷶9ߦI ϙ7B~)")u שTQ/)t,Oq[^Ju_оunrKL)/Aުv1fm_.X|Q\ϔ8N-j^/\l$6f8 |bL(Q2OJGzZPd֤VCL#"fEaDz{,fʃ~e{B (>ppT3޽* ^I0VdJ)jxT=>TVD5]- ìi~K1P/حzgr/k2!&R:S7K/DܠJ;Y18b/gR ^t}q4DZ';O@"_oU4*S +^FY*4jent,MhzqL&y_aߗ=~Y1 + x&in% [bfl-ǸR9-|cvn4~m"@!_l`R_&$2tߙONVy.4ҏ t{4bXؗ=}!_^j^I jԤlP'7g+BFD@3, q_b ̣FY{XI϶9 ku1Ap$^ 'ǘj0P&H* Nv^ [jbzW5 ۮ1vhFU;p<[j( _Z)#'U*$S#ʼnYP o]A1kmqi%K{>T`OJ`\ $bDa*85".2ei/-D2{W;^me17i|Al=P)]/M7=?٧ሴ9~$ +6?ZϨ=}kuz{D8}Y|g eɏwjǬL<6~7':͊Ԩòq|?|t͊.^n2|w|I]oԎag *\vn֯gtۿӘx|ܧ,1\Лm>Q6;":K + qoTUS(Y~P5Ts_:2[z;U|+:_1Wjծ OF'|z0mYz\}B9#.7!Ux#E4Z^*.TO󬀴loTMZf]MM(Uzڵ毘jKQeoe۽z]齕ݑkxz1hu޺yhtsm91)R֜/b4 ƹ!~_bRsGY& +b`K#͆𭕔e.nCrR{v)ߝvYvmJd*>YEU6*ZL]Q\\hW˺XΓP3p9&T'~(+bT&}=ddtƻ҅SB"'\ +L7#EZ2[!a:A<6P}(qڗE'* +1@#Bn{~vG+նo jr<T.zL-I {~^,N{SϷ3ҙ[/8VL؊FAfN^!#V_m~KZTPs .OEN +6tG*WսTo|CMbl#Mm"mڱO G6e4 +dqڕ"͞.`xV;m$ʔ6@FEY(Fd_kxL)kfQ)Zi՞v߲ׯȢ=W?Xwӽ^ [^QtKcgq~Jd[dOsslW3駵cL`c B5&1G(p,JKas(3:IU>OOEP_BLweYepUo%؆'F(ˢtW4uR:jOZvK`]:i\CY9 mj%p$^3uvUv=z>(sGݶ& +v+L4 dҟ[VńӆZ6IΠq"‰^H<!XS"GўZx3ϕD W kըR3!] b<Wenfu,W1i(E|-orӐ6͏d״$fu&V ܽbh=G?S"MW4cH$NM,R"aƯ+MAB˲m q~\aݿGh $%R.](o&fGR7`VNeҖqPgI'c;7_jB5 F$820^0{2^&RU-|?&>ʌ)8%Ui}hf~LeϭFHO%ȻߨZt9kaNi6|R&f:m6xϾ4ݗ|!z+c#gMB)ηmLpʏ2۾^}q|0-vmoQi _?oRGnv1TRJzZj?H'PQ.gfJ¥G +c4 jHGFpki f^IW$GJ$z׎^ ҎjxDU6?~!c;%R*nؚ~͢QEs++Ytl'l}[Kaw*gfe??ڥUM^4?rlғjQS+_nSچ2{TͪP>SgvV q,NMT+O(BFoQeN\~V/0z~![L].V~~${o>GE?sS%n(H1[fݳ0-wXRiW^(fMwEcC".d ){n<+kT8nC(2Y(($#H?VXbPili Ei3r'iRx^w*ݮ N`! e()'DaY2=2췺&x>՜8oE/5IvF 8DsyfU"z뽍'"#Owf/B&axhiq6얌?$ G+imICzY,UHy+iSK\| h K$*Hl;G<܆bg2vdn=Kkv-7B*lhHFnR7}mVIiubۄ?':=In m3i{]*uL+Y\`<[i_ǥS9Jj}6ACv| DM5#y6pc~֘Ͳm|wJ/O%KDxZ`J +uRZ 9LәUacRIӾr׈Lg$~ʒ 38S:2=6uW?V6s[GCh耏OQ魖Vkf3)36ףqsQV O$.#nr#dO}j7sI{Fs^-Qs9嘱kfJ@~+p`+z\W 4Ĩ*$2b0l媾 qlƓY!iRqfZ=1q!E?ycL_F)}1dnmcYB-;Jv+*v6PR?hJ":օVs6*ZfY +1Q8ߍh{>[$Ixc51t^$wW-Y4{?o(+A4%ƩZΡK݈:z]UPE0(\%5۔P< =͙5]cv} $Wݤ3串mwڢ꠶qneQsNE`IZ*F;ʶv*q jaF,7$Yj":O]U>jHgOggS HN*^J܊Cا L ^\PK؃aHܲ>?*4|M+XI|ikSrZStBByV:eI}7j!kKTť׏I^@ ll84|{= j!]hJ՝H]8wfR6Y)W*5P7%s WS)$Js`A o# 2rzc/->\ +4JoVN%ndneY@6 +;{Zrр_[)ѽm}=ZC`g(kHlt1Ml@>eյ*9ؖ/u̘lbl-: X]1k˭e :cV>7ީ>f5,d{fV5qQ^n͝9٩Wl)h\F>ә2i.F"D=Kń~(ᠫZk&|[}E)L i:rSiG6PE{WU#&-*>4}>wE홮+܇ IFZ-~DճgJ6VCר CB²W?Ч}E wSd5HCFԦǢi;I }oGʩe%}|< -rDK cE)",nUa(څ־8hZ}o-F\Wخ'140mҙK +ꉡ d0>YGDŬAaF"K9ͥoOny 3Y6i8KHKpXne:l)1ml,ͯ}iR +2#DGb7xMHRkztJ[V؉~R(Vh @#.eVIqt Ոgڻ(:kr4]5y[ +(BX1;<4[xC$[eϤlr'Re')"9k:#i6:NZ0FU\쯤dr5I7CmY(LiS| >XŒ ,+oinVǝe4 `MkJquRBjU+R8Go^$?8EE0IW ,kU$N)os?GaۘbN#E?}4 W  +4F!=k +I1T it{'Z:vuMúr#@w2'Ieg+|_4q r1u$| %~{^]ˎ?3XQG+Q(FS)x]5$,%zppH5BD?__dMq\2Jգd^")u*-L=鱔* vWT*MJg?l󡴒bS=652^Db ^QfcB0 .-{t;(vg+Bkyl2i0&YIvPmGZ6urF;ؕ|'bo"1(>b .M4?oNm8K4=.xLF"ev}kL )K+Ӱ OZ>4H=2Y*TUzMDWOW=ZXii[ ivOD=oZFfİk[ !԰cf /TӺ~ɗCJTn~zRN;%յI LdRi6n[c\MaS1[SWɑ6Ƙf{~#fp.]wlZ^ZP4ԓwT>O1}W40zi CQFJ]L'j vogC*#[sGJ?U0G5_WS#ߨc>-BDzZJa# ,>wb oz3" $]ɭvc[iJP7)dWR^ax[!zq>*>EBtVWu%%@'t0/H^*;\iaE9++٭DNa4%._䞻qn +ULXT)B%ϥ93qloOk#oMZ760v#L٣* + tD|vHfhԜE2mG +fGjk ~JSqpy“6ӟM3Yucۏah +>  +ێCdv!9ҩWc[;oc6-Ыwzr%5$!نƘc0ժihbVƛ緁=u& Tp9_z&g ,j&o-~%ᬙS"UBC1';ס1W؋U|uΛr5Ǣh9iz',u>4ߊsɣhr|X>4iꑙy28ƚ<So{zO{h8z +3 >b6UR}>P,9j껏seYzcCR|iu8 G?f[O{:j7$R^;Bk=gk,4*iyrO75J/񿑣3x +=U uy +)K1YEU$EGJbsM DL)8MeI"IYF`ʮ +jhԑQzկ0&u3QR#ΈZY#F3UXmI}8]M&Gn4JNF%}'F6VlW7/wPRʗ-nu^*_0nCEM'T#v#*&@4xEUnC×s# ,QXJ⭾Ő$"Z1AJ_ ?9XA+0b̽*$_7 ۢ.2Fa :5^^ +ipw5EY'c|'j^)4_$R (<1^Hhk CϚٚ-cw/푱SE ~3K4nN^}#(%GIXBoL +¢oXVCi`I %b 5)RR|0b"-jͲY4F1O6tFJ#?yc1PEI\#u!ڏ.S\`;d6V)'N^E.W7aBQUseV{(V!H:N/lTC}/*3;-BA^(!,PMv̢U{aBym3뫫2ӻSU]ucR/TCv&+*M1$.#EuDEqeGHI:Uz;Ws7#\-44i<:Р2>H#,3K\٭|믪fB|;^xUEv6.:'wRq0YzhGMw˂0jX \A@?;}ΛutZl>U7v'^l/w!˛9ĭT E-=**xh~ڱMjOVY{[_w;ĸ|Lې+?kێdc[ͯ=qzY;x\GƇk_\zh&eٽ/aGr{];kX׎Ft쭲⯹Ȫ9N5?^a249hxLD^5})'n.]gֻNvz:K_?eI{cSK|S kjWH#{J`a[.tj^ʯ ds ƻڽP3u$Zv=ݳd7vÃ1 Y+-DY=VGHq֙N:ލ#?iu ҤU4Q(]gs=Ys|Ҿ}]DE9n)]%ybx|R<8g!,%H+~h@sS`H sx3*R52TC/!q,ŌGF]z(| 㔪&Gh!#c#g;4QdD?Dy5N>4.WrKՌ+foٕ%`OT^K{DI".+S{Eq(,!&5uPNQq&zx3>Ӊ7imtWS HcA>16V?oM^Γh'Q8LmF CD!=i.!nJ#02~߫zuړ?^jlW6LTR/X!ws_zOM#I"kwm\VNW_ؽ/z!F^YR@K;1(9A ; %em>>qŘMpYi?H#l_D5@dvRD$a`/%^:!SkMgG^ګ$~f%w3U_KEٌh Q$o9 XWIFĢmâ19"׃ʼnWl&L +ޯeiqxFh3@*AR.Tʯ7 #?+ǯ,$Tw؏O{#c R8n(m EqFiBZBL׵̈r6ˢX?vdtuZtpTi=3ADK"vV&+&6GḚ̌gBhTJ%6{Akj/7U>[~^kp;/oy5ܽauROwGWUȺ;W]/Vv6rHm0P=[_0ĭo\q>5~%毧%bR.:sUֿ*֠a[~i;X- bZ ǫbYkϞ$[%=cmJ \޼zU~ϯ^;D~s|SvƦ]izMnNMgvܯ|0M3h_v#! R|bk%V2̺Dnn$R~,䌭RUA#&8%^VM[3eV'w1NYwLKw FԴHi`=U̞Vy(xvw50|kv&(b+$G]:I/Я1 t({@@)jioVڶ!z][L7]Ee>Dc z+i&`HA< 3%Mf/ +\@Ԯ,f1Өawe:blq17kFSce1T{OEV0j,1ֶm?>uZ#e SS3} jHF!wSvxH=CZ*0\dCEA1c@GIU,x|?UPzNQF q"1fM _dpoG ߷r 9OڌۮtrH%CKR2ByY񞾯E!Ӈ=_N{zH2]t }B@mwtkd䒪u܋' ,_0GCΞ%f$OggS^ HP>o蘝ϾZc puج 6Wa@GUI u)v'8̴2Q;l͝h9CFY㏓Δ1E?DKrJԽfoms:rz)jۣrFND[1soFn#D?4pu:IQj+)Lj4} 8jGMQå9W[OC +:[ j-̾&>8*HsjeC0ٱNfAc& 8׏܀_萡H;rkM*]Q^AZsB2 +ΦV@=;@mv +NOFc#["P{GB`Z\_,0v(SjS<oƕB,.-~vPǷ L9$[<=zBydkˢ叢j^`S?-d觻Ɋi(]D:g7E'"|UL65qzc0J)4uظ<\>Hd(Hj!2~cD+c G64"FfiwZutݱI+6a6dp_=R)~:JD2Uj|N*S>ؠ,iKfo=$n7;J 8z098G1bxxP7=l +s :48\s)fL +9[L?d[iELd'l=nE@m51:OmiCc/9W퉥" :ˬN谂%Tm7H8q=.wmjQ>Wye]h|k ƼwVY lmIǡ $IWtNwh CfK'|΋e~Ib#I I w^-|,y6Q(!T-Iu ȳ߃ P,9Zj }(#\}["vZ#rƹBe_5?`A.J3@"81/0O 4Ƙ7~Udf+I#eNK50*I40'<:::$ՎP٫Zu\PWcU?-ox|B;9T?zߙzlIh>>)Yr5Ғu߉%턹/щ>4€JШklHvަ 3vރWSG#~5}\:^Uύ&hoM/Ɍ۷G :u_eeWZ@R"gL^g39C9PٽT\c8XҜ:۽w);VG[):H~%N+1j;eL|>MRC'tNkrB7w/3-Bҏ i P_ }$8^֜_% &z=O{`PeU܍'>)J@6էJ hDhߤXU\p.F!9IZ_MG kȊQ/--|Sl!~ݖ zq6Û_Gt7Jg"Hl뿦NaJn2zZ}?; Y JOHBUL_]{oHg5E_6)pus_ıÍN~RM?;Ejd9Ńi}Z3_m^ܫmsu,s Z^>f4os[gl6LJV'rRcY)U{'6-kXG +95&;@yf꺞}Ioʼ3YtaY< +f#5xj[ +d !AzVelݸAƽӬ: J3N栱˹uVkQy2r+LyKhLX͟f%ű0~E_<l}?eˌmdsh4BO4=yI]-_tJU+d0:oS谿 C}ݵN٭5z}]Bʨ3SBX].QGŝ7'kazĥ5L|JGQu:xbKgA'b4ge6iHC,cƛ,]PV=~m$ӽ)1UʊFdnA-f$5زoQX.,{ٰi{?u;K.SO 5kbIeVZSFhd}b o[/0 53+Ar/, V c=iY5&Nz9 k"/˦ie>Hڼcf_ܥn3]gO6keec־3āGV`*r0xTv딸Z}{R6)F*y}Q[s3!e.QeOBuhU5TZ;L4ys(3{8m<\*m.?񚆃lϓZ/OZrnO^+R +$扭7&w:ړcj])wVȿf"lHȕe&$QGjS9b\[9w+t|k; IOڞ+Fװ;U۽/fߪ1HEsTQv{^K14Gj=KfYļ X8~J0& +Dr2[6+evP +c&=]}]t><<;Se8p}Y2&~OJdq.^c7)m A똮@@Tt?e?V}NVm^2hojIJash|J.(ȞZk8ekbH'`|."/}LTw{mgs0 +e-~ +/WW#КD lj69N5i_R8:2DmS-50u̴AFN(8urB{+p#9in l*x;IR:w$s_w>Lqۿg&ض} +lIFcOX7Nhd"7x7{j&pDE[_Q>ʣ>)Á*]ׄ &͂ih^;C94>jP;5]/Xv8!nOmȊ"l;$@jPc +~|g2BܵzU.ø>ե5eF2bĹ= /RտXl#ff/j5Ǥ?|I+Jً.:Z'u}:C Yz;""^U,+-/gi8,u6:JRPTA&QXu%ij%};G-Ydg㚰Ư5ﹾT?aeѯ2j>wByX~ngr_pСwgێꏑzz̝,{b{b<ejvqx;JK@.mҞ"W/O0:Xy};tAU5G(rfK,C5,1Ud9xPַQ|i0~ +鷸l|6sٟc9׭~_hK>*H̋QyغRK=CORZ?w<5&*fJF1Wrj CtJ}U;M2 +?>]nVe}۾ɽ $ngϺGqjFRSǹK}e;69laDW24i +]h\^^BzAOaY$\8Qh^`"2vԇ\kӐQ/xGD΢A]ՉyV5|N4>aQ^Sة)R͵>ώ&OC{EV]~V#Ø 1.{-kc%3ښ07tak#Nރqނ5nA2zWf͛n qxcqT(b5M$snB>*ʟCoDK%%1X=Y}#(FR!iMۢr[ռfq_AsqeDR^"`)_aStVbtW6qW]:U ڝa۾ުsx9*֌ׅ2N<Ԉ2˶[Z^0M-Rv4 Ixv}DgqbAw;ȇ!#gXuuh})gj*kn$(vVq7>Y;]>Yԏt:IRb +1 bezDYP"ȪYy4Hzj݌C2eVsD/;ݪEcHiSfJv?-j#]fs({+/K,DD)y +|M̨4>.x$ %txQ2X](Ivi2. 24tC]e}ORM֯&V6пYZԗdOggS HRQOȞ8-DbIxl3eJV:0:#j<}_JÈ8>z 0>ɉ"u_ ^FP+.0-fgCUE'ޕh窊mrn!"yϘ +5*E:eE ~h(\Z"nٿ9}$4 v ?6+#w: '$ Tg&: f[Cܭj)]y>ˏ=oVQ|t~Ke=]QIJSjp[hkCxM6C-q:GB_LԊj^F]vLӃݜh1ϴkh.SFůAխ/ +%y ng\+Z(n%uX%5zVk컃lK-gݒ˪NhE|%Va^6+`Kl׶8)Ƴqˣm2)C#=7X/C + ztUR*}9+hf L%NʼdI6'dYtq駹'Va#R*iLK7s}k)Uه7R=Fiƌ&ljI|6˜}0/#)"aixw`NRV(ܛo\Kfr-|(B4*)u:N{$0&hѿ|H2,Ga\68izק+h/KDc$c>LzVE퍘[)O&Lk8V?q3qv"-?6ٟ1E +6+3㹛V'O<6SWh1 L4%hTa#xSIWւųWhwv/lݖ4 +;DT}Q\t$YGZ~UL36/#R:A#t/*hm -e٬t.4@44]l4Uo+WRy!.]Qz6![Eʩm܂hvWňC)au3-^*{&Rd)ԧrϦ?< hJ~xЕK*޲!:Z:GJjo?Bqc;rۮ(ݰxq$*y)K5taa|9v|CI+㴾=iB"1h^C˕j-8S08/` a'c߬FUi)otr1 cXRF!(S/^Do&ȹ%N#a֕1龖!]Ɨjk*e MM53,u=C뷈5~ ;:g]{xx,rQJOTذ2Z yƐ~\fLcA0(H<{e~<6 +5]`. wFg# ouDUQi)HwV0k0IvtM1=t@#x= f˹yƢ2r%#Ӿ66ly6EFZ534]4iY7jp[_ zF?,˓L0_sLʼna}"u'B2&]{th7/ @F͹>_z*\5Vyl( T R{\=Xa~(̛kfvo=hIvMSLty2u9|aԵfY7*#߸|nT\ n +jF7xsM=&31M3 ΥI/lM$mާdby bclx[^lL{$-Qz9Zv n%Lab,醏799rr}Wьǔ4WssǣuK3^k"9T$cOO;w@iwbPJZ]ҥ;>1::+qxi%k?.x۷699.Zӌᔝ̨W}<ĔRӞ9=:|.揭ajuNj%Vn<>.s._UhFOQ!L,L.;p"nKMg~9ju'>=iZ4`+9z`BR.?nF&rmK%}ZDd!</YUq'ju3QWʬie#ȝ/}D[[śKoTR񩵽J1jG$4/e.>H"g9ۻQ,t# xWQ%xɛ{絮[>K z-oGlZ]U5{\K=T4BRfE^Y_csu9Y[f^`E2CyW*³Sh>BGɦ̟RWI2$<͋ß5"M" ښAsNxigﶯ$:"Bލm7k5]សt^nLݤ?kϿrN^ +H=0S6N*: ooXM +٬,Jꦔ\ :=ځ]Y SO;rI̫jJJ^1jDě9O'~\)].4 ŬOF"U¥JpG:\+Aw.Uq΃\hZG+شNB;z^ PWz6A- i'SWUq5W/ NzbQ{+ x +"(Ze,F5V5RDo^0baۀTzX=gD]2*6秩7omP +Rq[vdTbmԺݴ[#X؀M ]^ؾJ5PhZh. *d'm˳Vl4Jv=ٵGݾs^JAӓRdz\c(KBM\8iV.Ң]*D,9ʤᬚM7c)r{wףj,53lT[PChiQoNg}6KxsIvnҟ߽9vZ?[S8^; +ĭzuuig#q](ѳSkE2Ku(n-v{`8ź~׾^ ]lkK>+D_{t?[OY%i]VYV=#*\5>f_scL3O}V4IK_[8İU}ľ|:Z<-(A+ Z +G*σWSm+TthYu ++4I\KʢVǮ>۞M.OggS HS oӞ$P _m*($" J/ު:̯݇Z(̻ђ?' և3I#_|܌٘ƀ\* s_-\k)ݶ +~z0E8#ZVd=6ݽj<ʋ]/I!d<^~{LXi')y~@2OߐʇnQU4.bV + Ύp__}y$bڴAvSt lYqN\y9Nu9ŝj^{gf4$(IOz_&A1JcJktm7*)W)U+4{sKt+֙C^iEAtiN{VIw澪fnb\'i&5T$עOn%#GJ>K-8w?gŝ>+e'շ3t5yU(Mk4M:|i0ˬih퇬y"Xi1[gUK*C"L諀|Xt,1a+UM-t 3E + G@f#}׿qJ +R* _4rJ$l!d%}%7l"Ȭ$+ }'JƘCD8SyyO/T?O+1302&) XIӂ4t׍@m54,OS]OIxECE;LN1˕߲|#è.,˚{KedɆhsUHiޱd/9!۝@kW9Hi: Q; +nw+SZsް,)9Az?Du-:-m5 EAIfn+ YU7 wYi6> +C8)ԋM6<ӎ@as{E:X=;UjLA +w0|3S"?p%1<@{Rݞ؄΢hu0}ZoYHĮ>W'9 [1.=}g7Z~߄.2 +haV*o,EΌGc6G֘;~Ygi{C4My.M[u sbRaH@# ,56EjOb=q:։** A{_؅I@NqS_ǸE2ۺm9!7&=׳Z:qSGLvԄ=G |kHvN@'l1g E0,|x]u^Aw2X].[Τ>kzqv{LՍ1H\?Yq򓅾8`˽xtJ)*>&9l)ЋKrʌGB{3gd.zĩ" r6io=e1ESc5nL D?Ҥ]>xFr-GBB] v8yV^Z2w1y;f`U#.>;؛8KUԔvGӐ<{|{lcTY辘 ]եy?[/z+ƌ Ӟjo 򶿽lAT>a"Ъ9P˜d;vXpw/;WfIҙ2LWrd28:J= eOwOK얦߫G}m5ɍǬt4nRS;RR2=WC9klK؛%f*ae.fюgWlEpR;]:+}(&  .UGojҌ_U5}Ίzl۫ո"LҾ-ε#OrN>FsR]Mwb?jW׎h+S 񌮒:v:yʓ:y~g&xq eelmBƶ 竞xYME7Lqe ˺V+? ="~Os94&PJ(%!bGֳWU#_j-,zf-O65-OȆM,ݿh.a +b,}Ϻ}wLbkeF폰ǹ]s {_hz>jH=yq,>o(י?8MrNJZJIY4\y{IgEϒѹT3m-Ha].? *ɍH}`۲O'nC/NWnxCҒ7.uoc/ō#>4H=Ecs VƲqP [qY +Mxy}m%^\تwTSI{$R^ (VlF?ֻGdZ4JsR#'pLwjvk9N{g{loZVҎ pucIkiaYlN4*aRO6P.\_F*>">E]砧ql ;uYUDžB8/B,e+;+I ' 0F/̰er@8KV嫚)T9P+sqpr-D}춞UZG}'GYz&5 kzP\YhB#H9˫PԄ8+yHUU|yۑih*_JYr( )2 &ZKzG0 ggpN݁R0 Ќ 6=xKl$RV7:ٛφ͸KRe7[3kytբv/{4dm9rxI{:Sc!OggS HTrޡ^?M߀VUoXpz/\/OR*q8>.눅\%.W`,0]h-}n?OlC'4Y,11vs4ARQxS/ۙ1qBƗcҫQL3ŒsH.~7Ri[Cx B..+;yٲ +~:H܊ +;H3[.<7յ}bȿlU-= Fo_AWc#{X{R4Ʀ'o[A*.u^K{ҶpXb]ǧMێ\MnbqLw4}rbzӃ(t/|ɲ2o1Vd]*=ᚴː^>W:&O;e_1> +{=51_cҜ#W𩪙(= zYhnfHBȣ_Ȃ܆Ȕ=Sh!6/)1{:K̤F~vPr'NgHG qg:X'6*v% +׋m +ϋ:UUq p!ROTr%m.8+^7r7_3-?<}zjs ޢ8DɛsLM`n#= +[[?f7}OD%O,ϭ AC?Hj?8lyTtH )+2A0\"4-A|HlV"},2 4)Ҷ>Z$LE46 SW({ACJ@{=V(ߛSUmJG"vWφdQԓZ~Išlrx84xQĕRmM @GoU55ݣu\Պr-<Nygk H_[hZ +a/e!'M 3|!Sӏ ?ah6%fKpR|9neܠaR J&LpGr݌AݠFccy4PR⮏3QUYV˝:J!cO +oɒSDi(`KcjM訑lj,PAVuW)tir4u=M{mJJ9eMO[kWv؅ & TY_8la2kuhM×4 -Z)FYhxz +mĚ]ɴ$q:"Hf)# +Wz,Pnszo;kUfC=Mɳt5>hbg^{2݅Й||zoډv{!e^BFMr[.)6#bc AD~_q;LOmVN&-nSns~k2S#}|9`rw?\Ө1Dz%̕HP4aOypSi;+8UU9J.yKx+2OR~;dK~cdY9 4/5r[%ΞdslW?L1 WvUvV1K9ZPIlJ~9<@ۉYnÙܾbGwrؾ$̲ʤu z* d{8Ifh0Bё^5XW^^^NÎI:+|̥7d0 Qз !DGd |pFayWSdvEӶզn8 LhaڳwQK#f?1,;c {4far0Hm4lBlPh[d'1^kmQG;`A=ן^;]H|Ozv +O8ғ4Q ^m؟ݸ uQfx= KޟT4&uk^[s{Xa>0LX_5PԛY4k{l6RT戋PO}1ep42H5yߏV +(DؗZi347yͷž1:ឯSo҇>3AO?v&O(յ.?$6%OggS HU_pž*<.uQ1(zy(^t?RoNxU:"n:v }u+{CcY0.XJ7b9^Ug;!j{F1FΊr[JwȧfUxТKOXrU'E'}82L\)#/P'%}y&Hpt*">5TWoN ږ|$֋#[5]1crOhڹAXGA9UR*~J-+r(> piO)jZAO+;-jm呕FVܜ}FOVK^Mn3pyzf:G;nG'GU,^$#=1@=1pbqX4jBn@}/ j:Yie]Y7!q1rɷ! DRZtaFw(AσhJ޸dFסފl) +ˇ2JW(rh|7`{gX?fM6O.=)(1̅k>1'Wj䯖C +Q:qk!܅%T+$taަye99Jyd(%\*ƄQw'oGV!˸`,QNmrA+%Ra{y%@Xheb6R/-jמNӴ2$J!`NNRTxhqh1KRkugUHaBHwɿУTj٣[ʢLPZh^ L: 2׀ +l:24+&٥Un3*Ra{ۉk^&C2NvUf͝ q\4iFN5 6Q%UH̉DxȖ)qm-"20]%ejUfܣȨw&+s^wV\N<n( +C$Ѐ=v +(w)c~|S8QzfZU5a#׼![GWE2ۍJ]Z1ʴm>ԩ)1(鞱1:\Xo셈~"_=觌S1C[2F.O&_ ?DGzmpRy_HQ6X2]}Q[@~%D[gYDt3ed=]2Geu:8yU>\eޯSp$|'R)ʄH0mcOZQxƘ,_:[@+9`i `Ybb_؊^ޕ7d?zca]榮(Yb>Ygrb+G{;&k5+1'wsOz~oF՛ ٪N_O}uwa5/&n iۯUoRێ ?ӷbNu'+ʦ?P}HWtExC2 vStWӗeڌӟz(1x簋*}!zIoӜ{Gs>vΣJumuթՄB,dr`x1rxcj᩟ x^_7^دd"_OwF + )>U&ڰ)3gW: -j%$=Rbf9RQ墧nX)* )9\`z80vzd&E@ ;p`GeѾ=_i7\b1>3鼕okqDGP'unycЦ+/ɢLvҕf:=՗[Oq?^8^Zխ}n{buW5鏄-*ScX%>7/}ޑy=?Abr +y|2Ř?B#NWHz6lO0/ nTv!uim3 ]m٬]S[PS\ot-R U1S\۳d}^vzxGq=Z);nX"^zx=NŶ]UIV){`kzN& ߋ2Wߘ-C Dv +v:(T3V~MkcR%*^EVG“[m.ʥ\=FuL/ +lS%׻~~GmQ7`b@Lj1oڔgQgl /)SvnlSm6+~\V,D^6wrSR^=+rhiEgᯛrqxӢ +K!M+kzQ'Z7ԑa5+0W2yMƓY$iF yBG2N2ݍv;Njih* +ow+K\iӽwWY}iyT7!Z_Ԥ:U0/b~V77ƝѻblKԧ~ +4A)KR(!ⱞ!ܽ2wZlVRGe实,8EhRֻdUZ0[F~F\q)84rQWJl{Vɢ {2F4Fh~D9=5Oiw`1uO]ؓ$2Iؓ~ʚYiQVAPnk[M~;%;d4oѽ*T7kiM[>xͿZ=c\7`ڃ3sѲ2Pk;RPcH۽NLa +~35$C\4P4Nr4 U%ͽu{˟ +; +?/c*bϕN$=\ڢj<e;Glx*ąatE52A͌ƚ?A{%ɜOeSrBτ-JMŐN+zW˴pCߺٵT "*W짹ZNZAAFex +V]_V/NjT/R?O >  xm Z'wtS؂2ξY.{~IɥÚ0Dsi~u(Kes.O=hyY!bz)fll.BϘ$NbRO^Ba亂fքz~-)IJMp2[^I5B:ֳ 9պfg8v--PG)\#N1\h*&&=} (7#Mc/1ql }|lT~7l5, AlR{'cv"cmb]/ YR UWFB<]*%`C#T\o'DߣMn{zd?zIC"<~.a-;Z(]1yMZ./P'M M6:ZGt/,&# V1;~h}u&׻ jaԽ[ՉSȃ(TN B_'uN.Se8I yhρ=ǺLeutz[Y46⅔J*;Ff~|Z] + +`qO % T 1ZajjF{Y`#: +~cA_5It_?/f~o|= >hm)pb,9ZgQk㠽#Ty9PI4eRl_sb̷B[Wc6Zf`7z+6=q6NMtGjMږi>'[a +%OggSA HV8+pҾJDyυ#*zkv[[YJe-ws*IG3BfINDro{o#hN͎?H!gmBlƍfF\|.+$ *cJ[jOQ7&SqӮ uVs'Ӄ)\ߖ3q[< Xg5ߐCUn*ﱽq2_0Mo-)hFt!?c7ZLJkҋ􃳼\@xyb LSxTB~&ČuAd{sUq~N2|Hm2/TTA Jpw+4#wb=1u? +Iyb[!J 5ۜEnRF{hZFx(S9QHsh9>:ޢT\sW;M@,44ұ UftߔU22b}iGRk񮢇Ĝ\JG$2"z%Y|;)onCtk4Ri4LF6VPi-.k/2 +#OQR1Ɔ3ԊW4h-䊸}zI'Bk!_EI~ouήm)t댊WAs N٤f'!!ԋ^/7w*zBt" $+Jw/ax!IGG_ևUdyZE/I*ՠ&3}~H$a>,c^YKygr#Sw;$zFiAXNIŐ3l4УU'?vIlHv(>n,UQM+%{p-s{CDv@}Jz}' ͓0G12M=D)wUUvςU?qjmb󲒐pCUiVkj{,_{%B)IAó*s1ѫy^QViTN}+wr fuɪ?ٸ(N\3S~Cr6n7*z#Tl~K[]طDAĞ\ѪwGPLlGJh7 ֩ײvb;=Ք~DB?r)XhSn:U2l,n3V{:[}yGMa+WXᄐ_-B4f f KΦh?УS~!,zi%\ĩGݸCRiLKA\km**J>j*>*zsGH.kl6G鬖?YU_)nsl8E%&ʶv] +';VoXSm4UކU~zsz0C~X ֥^r2y> \u=;q4+{k;S :fyu1m̳e)v̺njI"usz+qeS)u=7pO]NY~dIU!j]v!1J< ~{b;bˏUY8V4Y`7, W*PSb,dfT,f&(il:0 clsO_l&ѽbioqx-ʷ_krRkm=T}/%nEדqh(=W\$P fTQ᫁(J4Z +ZbŦKӃ^q7{.o:cE_\"T&0ἢew4֣9y!&1 O)m +^Md[@eE4Amo@(zk7k8OS201"=GJxj & deܪVNmY{HnnC&8s>D=;<3Z<\F.K$.{LA5S ĚkhS>ΏZVD"rT!Ϲ9NWٸd$; +uRJSJd\]D['yBV%qXMU߅A+8Miu6F7[MiQ6!\<R3m,]fїqU0DL/M,_M{Zh.vsřxW*.ƴxQ]w1>0[D 厾"1j UhxeT>a-w7t)]4򏦭Q#8k3%vhK{+XJ5/6M!EWv>[)2y4ޤyon}i#żл unv q䝾V($<ޱKjdZ$( {'TZ=CmGX6|n4w++~\c[ N +;d$ xNɣ:@ff-l{#l,YaX?RB|~a-Q,9F*E£ i\h8/+HV2tON _&ih;N&)pV0bD6EWcw=.1SɡPJ  ]R°_6q3:d~e+ozG|^o ZT*Ί зC u Иf``Һ($3cQ6^Nay8o[S$=+<! 5aaN~GV~K ԦR1 %3-|, %m!Ӱ8}OZ-he^Pw'0d_1.}[Ы<~_/ b_~$"=(xqcf/t>B@k&+ޗmREt`,^a;Ms^I彗sȴqS R"d3?x +mlOh" rjg߃ۜ![O}Mq!P[ksBUB?we9} u=eovOggSf HW5 wK$ HC>d7FPJg5^)wYfOWe>::#,FRJgx˥#"rUЬlbx1dU*tE$\yu1YU}9yO +ƅoJO==1iyhIݗ.sWi.-JtYƩ%i O'aCfM/#yG"DJTG{# +XB/t}_~  |id$H7a8Z+v2{fdD{ Q+T*H&mig6_TEڹѤ[Y! =2bf-Qi(LQֶaF'GMr,fY*_ai(P@cN!Y` M ABu$: ĤC(^[ ZoOZcՆe]?Qg'– dz^V +ZJ`؋(;`Md,r9 Bfpi/}C`&6d6v+ifܗ{! %U,KG't& =3L48MPᔏ/Q ,!I0j@ X_oچ0㼷>F8= wշI/u'$3N*02z&ioP;K jW2|w|H:nx2R 6Ɨ$X;0(E!?|kJ;OA &V5FV$ѯEC +MdBH7_.I$2ƿΘI-XW0xJbeқ잆 >0+(l'GOUg8J|=kGn i"Kp Pz0XBDaw9a3㡾[ +)qi ;K^2)2-jF (Ѵ*"(u{3B^uDC(S1u5XŹA@=ݷ1[HU$n+u'_Rv Ӷ;;02&:qU9ryRi3=T1g}K3wy|y\8TAuweY^ Q1Qa2t>b0Bj=u+*0Nκkb9E7>>ϲ޿+.v}ʟGocϾg۠=y1۔ܮ_Z{ٝ9h׉ο\E>3sulS. t +YL01*t˱dlz_GQ T7@yZ^<*+eXz+Ts4vO0j̗βpx]|U2}Չbx2* rU](W=yI<'&^[ߏ?l2QnK-ٴ$_gho5i&hw]dj3$6o?dm{3hwzq_l%S-b"$,r#bf~Ou[[O[*s7}^ŋe% & :oOus*'䯎׭t;tRJjȽTH3;!AUzp SX X/^^+.PGHDGʡm`?l r^_,m~YLE+[#2V!yqZ9w o08*",f G"O"ʔfQ!>ˬ-4a=Yj9 ܳ cZ)>ZUs~6 ĎD'9 /рbzuE2e:͌}Ul+9O!5#5Qc_l"D/Wh5iYI3r^0CRW-iqFlX"rn]о24g}if<Ą\h3?{TۈHbF+{ӢӚة.rCY0^n[LgQCt0:tzx'\lk ȇfw)xm:ôs4( J\p?⛡ e[\[X +~coNi']EW,kJi?[AB<ԣ<$AHGܪy'6 0Ds$(+QЗs^"ኰZ vNwQAao4:oLQ 4A-XfIga1 hdpLU"Yoɐ7})}D [QT d1_r]81?KihMNu]',GV3`& kH#3o@R~61!QL|\ȈrYu&MʔMoێ8oJ%g 8U +b;jd6Xn7,KdL xkc +mW Jz "ǫOf$kU*+o*vp5R0ljRÑhȦ]<fKnַ#*RmCսع!$_R~{U~/B:[Tq^(y_L7ɰ}̉ yns_J{};|^2*BHnJrUȯv~Kydžiֺ)P=Lg n=t5O݅"u9%,c|,ڐЉ)Wf +8e6D( P5buGBGN6m- avZ~At~ :zk^%mx Rq &azo7;f*LwUa,DGz7;=C7Ozc@0%P5GiiNR>J$ zǛ1\]hP[)^z."NjT~6l~:vPsd46vH]@#|{7=l+xdlZ NY GVqҦb)Z$F`ɚaaR +pICvŰqFU=[m6l&5ҪFu&b6h CY!Uqy)fnULFSu♊~̴|.9%{S7q?nK3%ի~NT22k6W=6.⤶g$fҵ-dT-w'ӯ;+qqбU Eh|ک8jq* +>i +G +PU`2&bgp0Uј 2'6&&@ +FîQSFi;oVH*͉]j-ֽAʟG2d0aͥ"t*0Au0&mgo-EhYh /]jdXDv QkV3t'_)5"6T/匍mI8dW\_g$\DzD +XM֒ ց#raqjH{V7Ee3Qx)EQMa$]#ʼ( y!: + Ǥ0'7U5C( +H "qT}A17jdn+Õ0q/m+}DC9N8)lQ-r>? "IUԳ1Ҏ?RxI4'$Fn!ߵ~Z@m3$KGiɐ=|˽}l ma!7̀2;a+7XJ{OOFο{ZJc{AHL ;~%:elB2fhV F2X"۽}IHc*B"Rpޓfū + +W=4TYa(/;?aE1vݎ,8 &"(Vf;m) +"ctZ-׷w5vpWi*jӆ=.'壘f6Mv9шh ஥"| g5CcLx((=ly6d)z~*vufk*NY"dڈ0#\Ń]8Y^>z:y$ /r +U T&J9 &4WSFYK|na_&Q n'3F~Q 8{o]D4\@Q5]U>ތ>:D8U#2P,BO8 q/Bkw n͈i+i&ww;;e +OaGz#(^0hT)YK0|6L{_ k6\,Y'wuҾ'ϡh(:0Dz7r쳂A" =pr׹6ד"9H[BJNt +pϠDlV=ê%t\`)WF憢 s@ TdaGcZKbi`ݫXFbnyk=ġb s瑶w3mCCq+ھī1>4KUrų󋊩OggS HY!Yx[ThLx"OQRIKxAÇUq(yl[g;w١ %?6ӫ >#K`e;m_Hw +R4+D0f㝎PՅ&Ѻt38syuz+-ZgW٨(hL|ҤN#ahQ<(bQbUߜXC^OI5N)t^7_* $Q"搰,RAHmп$!a;c-w_ _cӵ,*Ypz_1-q҉Fz$ټLqN2DҲ2Kih[aCju.0i_ϒ E]Y^ b̫N%YѸm0Z#K$f8$!y#3\f>g4b^oNR1Vt +,h였Jo"10z$;.ԍrCRGMp!~մ+ +yss˩S +خU-ν#r~6E#&jKp +۶j#TKr'܏3bĹHJ dB<Z2}ljLCHis*20!MW~fYς^9~IѽorC,duIc2P{RWS}Hy^;v-{HJSW۶of3UZi}jKf!UJ?R oK!HK*QV6,KyRi>җȮ{d=n#^YzHf)w^UKi=$Cg6 Hcb;} +GѨU$tجb) +)z%iy{~%">q12^m)90WD{2[qopDAy7O\ 4(ʘdOCXx'~VnxD۲,Xft24#YdsF$e=E=ԌS,I>Y^dAIF(M=W%ؾkZk׻.]Ozx$սS~z{>Up){ByOlo]ӇKWfEcz{=m[zDksuvS˛#/kJn nXlEiz'Z}QC}zURs=>KvVEa0q>tTʭEbm}Iw+=ߘvgOb<4{z]_dtMLt^qt_-wZ=x3 ==_D+•~Z:-A!@Cgi!ZS:Y\V77DIvեvY;AզpѫmYKSm]mq|7r~168a %dȚ+_'KQuSA2ޭm]_kqNyKkX>$ͲwüYfG?4xx#ȅ*ct's ^)K!~jD-][{,tVK@UM#/ksg̎JD-oa, [!SV╙kNQYWJ0ͯљQJ;5ftBwv\ QYG3NUBd$=46%vҚ:Ti7De(o*YkDəO]65ͭxw+~51=9A)TQu[b2_Ogt 3Z%e7))JdK4Sղ9wWupةdaBtH oGi{ `,sAWFPσΤ(U^Qd#"l kkͼvJu7< +$cK0=v])P8Zr!$KRwi|j hAsҽh) @7?39ub<3_N/o'KSBޗYꕗ'Qol!>EIbͲ4*>Q.dbۚY{:% TɥL<亂]H㡉B(6WyZ/nX$7~v~ܨ\6Ah71!$]K#Ҫ!yF·I +՘<\ O}ڕ7?֤Nu{d-:BXM\GsT/ˈ +"ؖ_=0[]O:{f}<;ٖN /Y;t:SAD!H7^F!i㘾4a[Pٛ +A̕sqJ]%ln{/]t26ύ/LTok/B_B{1޶S}vhūoz|;$d>< iR"V - M˥O=,{r%\2z+rӤ"-fn }&hx8Dc/񤂌jyЦ\5 :b+RѸ8ٲ^7uG,T W(Y5Jt(1|QׇV4|z y:X bT"i*z2GY iX1r"DFG.yF8$}G2S1_{/44Lըuk) :Q =*v]ZkB4`򬬜x8>#y)] ۬km0G3r";"%SKݎ''_FscTّZܙbFda2!1̔'#\VQ`,[`qɸjiF+QTl 跾2[?n/rVj*$ t*0@e%f*/Jgq }BB +eՋyY5f۝'p`l9▵RcTVV-Sb +S+X*{,rR'ń3׼~z"Ë +p( ǿyEI^8}%#z̘Fa /vk'OggS HZcc־z pN;}wM(@X0'Ur&4D+JhOi[?W?\Zq {\6<]I/XLKub +]ųF'c$\LO򯶟1~0%=ѹBvSBO$}\׿*DDꔿm +dIϲ[™ή\̏;*Zhg'ߵkW.kL)h o-R#!&nbITUDR^iWb}O)C]_4YAx"f | }ao5)ˉDvGAZ)j:|16-b_I !-,{/`0h:g4mjWVDhBy N{ _̧s3KLAHJMǏ.uB ߏ^y*mSJ @-d+:ƨt,]MhlU%AU;fܼBz+ݷߙ72M[&4Ԋj~QlMJ _?/ +p;UN Y,p a߫HlBڱ{z =?bpα=y) o Wt%jFRݭgBEZZQ{'+F:@6ٖuNcAPmLūj=du˷~ͬgv|&ng棢ԗ&wfd0QtxlcN9YKoB@R7V7A6o$DBT}U(+&J{г咉W'B`@ 6E1v_X~~5geL;M?:"ފ4gG_Te {hw)HfGwu4Lo{9:Q?Tv6?MSZؗ6h=>h]^j"b}r4@py2NjmSrb ܓn97moUmq}**at*yBbӝ0ϴ Wunet "ݸ*RgK;2| +YRNln, eK9Rx4c̕ W$191I!@#Zs_ O'Mc|f\|(S>UnGK_Z\Yjļyֹ+B>: + D[0TGX!D'U:`(0,iW{g=d>E&AD,>ypZ?6+N")bTD3jZ;hh+ vV,aQKJb{t#Md#_'GED8]"n5G^ijltZlƘT1>Q*C:紵ܸ"i+$X4ȼy&6k{V,+!zR<Î{^Y5+AhBYIt4~}T8})WS+G:kD4dž*,<{5Oa|UCxPջvPHpGS޵$AɌK2,%`5p&Oq{Q2ֶ+M-댗&b^+Tɗ% +D ?gCաfV- ,Jqoz7{$4fja`Dmh&˞QKԣItmGTc%#]bCȽe]  +~$h[d@$ UQˁ5B_uc؀RʟRdvGu,١qy[i6iV<*f >쉣K0M`p!j IfITйvic+wpRy6U{kv0YG5Rd\DFLS&-rB!:lm)1f\qI *Ύ{Gob/ 0631^ \SMoJQ<}eW7>ȗ_l2n68@us!= ]DVi+xeS;C˜ZҜd]!Ó<;@40Bx2 V!;{? + :l1n@c>&{k98Da+ cTBםXV0%t McG g +F6ax"T4bIn'uZZ 11g<؟\}bE3mӢ쟵XB#/A5{Pp@jGSl4I E˻'kgD|!AaQ5K'굘J ?BlB|k 8N\?x`YX[3PcaXЧ^Amiv<{*{ڦYaHCrQߛdORtk4GҔbI8M&ԕK+>Uԙz<'2P@Z`0w Hsj]WBt|rC/j#̠5r.ߕ$O*zFJf,p7.)yvGU'G¼ ".I[ +ބ{cnRKdDVjOa^9MҜ+k\gwNulܙ$_F8}x>#~,#c6lA@"ySuzr,eTe]Y5 ݹUOYRrȻ7Y)SC6vJ87^TH[ILZs}m5}]*G\\?[6f+K[P{nwyEg32VaxG֗SǧQavЬje9lG-ED۴wI_\[ջ4<xm4N}TvZޯNx^ݎvCbqk{p59/])9I|EðFm [BY,(x?VR\uQft]3Ӵ&ǼZ>tg G +V«|^hu×đx]u2Vm`Cɣ0;1jTSDwF;5dhLz3SE6|zK(AF'ʈ*}V2}4R\1&.ڀ1k+Bdygy8#S^3wPӺ]ھμ_>&ªnnIqBFqQ0]iIqV;E,d8&|.U.Gai*h$,&YhY)J!nߵa'/?~xq[[mVOas qeDSE6G? +PQ{iw=WIl{ޔqws +5k5jLC7>=*54H(.E8=_I3ƸA E0phn4}utڗUm_lW.O7?6<{O+y> +8oi0D:W~;rrƝ2ȵSЉNu-?++D"[[H)jdJFB8@q+ϯoԈxMaF|C#Ƴ}s68xɨLjwG}lU,3߾Ԟ7A$6CbtH󐺪_W1\&6ESieJ9 "ȜPEݍ 1,cT=T)ƶ];Qmߎ,1|ZoSBdyt5uڜ&]iBĐ<{1YeZ_{ +ʣlxե&]Oq@vj<ϊ:72ۚJXaMREC>Cz
>YxhP³"BJxo߁gd{;o?XRwFB[*o}6 +߯K"0FVC)i[9fޓ +[ݏ2؞n h^6qF{_>p+Wy~wXw~·&~;ކ8$cuXPq|ҴSʼ&%6+I A7á_ɍM I{GL!][('JѢGNDzzCYl/C^nR)Y:'ܯ-F.Gpbtɘc +(\KZ[_ɜJ(EW_C[d<r0ԧ}4_\'%Q|,ﲕA/H8q4TV&|k"E҆VKFcDQ\[.L\ijFHÉuv7y^瞘PVIMr:nkċ=E}c[nLHkԼe;&$hg~c""]k.SSkuB~{qljtZ腬4UU{Yxmv"yDHdm3ߛhj.IO_8]${^Tg^~M$iw c$kOI4y_@*13V1"k[QH>)S3n1􂫷}SwdGa33J Abϣ_{'g4ӵN?VWa!%aEYnӼz,˝&ӷ-y*T@4r\bKG2W >,Zhzw˶KW_LR#TfYO^Bw{ZƓ7jIY. F(h8SI_Ox<蟙:Gu֊6oU}n1i)^J1§7cN @'3j_!i;ypt +:c&\ac9K)ϳl"Q?<#\Lo~`B408c?n.u5$ey9iI;06ߺNyz563_U&"B,9[voՂyk H c' +]~- H5uNcPj~S4H6o5hj`o(Pƕ2!FOmT@yfu iMYD+W\DXecU +3 +ۏ.lcWWY +uԯ^SHXQ$E5b|6,N_Wq wvh7YmkȪdAS s&Ha T+\fm0X?KchHqݷLQ"kDY嶂k(x,6)X&UcVIYmA;Byv}¤mfb?UU@w6;`9f߻qYyߖ3 8yΠyMfvK4I X{na^.F X8`K {Bݱ$(xØ*ΓI;4z)"t|}@@ߤRƫT\#`"GGl@O{T3{*&"Sfb,i! >14> LEEGN$ZA[$ vo]31OF*Qv\'X+RPgTD+E19M1!A4Syaʈh +3ӭK7Gˢ?=' -jbmz/\V{N6xȊ^Tح|3YǦozGWOk88Crd%̇tGA9sP95byCV#%Zۇl;M9:+fU5wyX錑8B.ck~ճ7Ko3(x. +OoYLw`ό6pcZmpԧlX(+ dbѠE)r}}'[\ga8ڏVh +ڝ[:gOrQ:חcJw]bVJ~#EӷIj}9Z^]=֐F5LUED ܗ5F(&+)i?9|^3XᤌIv chjÙrsժZDezxS3VKQݳ&mN>q{%H`Kw9'rӔϩRBrgd̗em8F^EӹՋkEJ&ZRl]2Jb~ns;m·j.꺣P2X +L|i7'" XUT=|DaY8q,.RczLנ4^vY֫!ѻGvW~"2jM+A7T D!4~g(tU_#edh64\ 6 :i2؄7lLtt$`B :YUp~/ώUQ"^H3U %fl`W0͂m_iB??kݓY]ߞl8'$4.mW~43L?#fʄ.EIĨ7{s`º@Cv l)o^]a:Ń0KBYrJ$:<_`^j:9)DF߹ Ε],ubf_gbcāu-m&;4ӦMVRy8_5-k$4ny㯞8 +!vYn< 3FmKe3vULPd87Min,[\ժO#ޓq8[6d,*QƜrsZT?_|o9RgUdpXTflyHEӶF9{IL o[ fGhWk$8P du @iwx%o-K?qXreο:kikLI:b/Vms*êHٗ^ϔ,v mڨ0s{ox +V sL]):I۽}6$۶pόˬb]Mϥ̭ :45yJ}zh%Z1i]cu2E^K$ + zy\(<@TۊgR^:YE# C\5BáiZD!;l䶤IB[rAndB3zGM.)XyYM!R*_oPJJ_ 7fQ$EDuv+QƓnVW{%QՌ[nGűf 7h+dAp4"H^**D#[<宣="%t%0*mrw=5̻fH>v.բ݁b_9O'a3+AVsvp*{5գ4.nls .F`;kFb`M=1FoN,~KWҍaa9uVϞʩBd)]ZV[VQc[K9CϙCSi3F3AJ^Z"eAіR!@nz`V6Ыkkdjm}Ϸᕰ5:59kAyOf>MV2ѫS! +fpr==_%OB`5_OzQ!퐷ѻ@}7"yxE?ڬRGdnT噥f{[?O_tL9L4lh/[1[s>JDr*5^RF]x}%5ư^Iz\KD>[Hbʞ_L?>4y_>Hʌ+y-o-5:{;eQH$r]ٰYfнd6V}2.g ˬ9|v`T5 >1ƒ1ԑy t!D[C٬J]oW7A>Kd zv}'nWp}BU; BIGߵ)ч&Ey3 e/h1Ύl_إ}vihE+w,bmjo8. +^)8SLn Rc㪴 㳻Os.^QsǕS!$j0 +#˾Զ1áƪMFH{WQ5" YYSb+3`7e')JQʠVfq˞fq~pS8ƑV5?ay,gƽV{Ed6?ۧ]EU bc :oI1 "E +^dk; ]r[M:5gMvݜLŅۮ+%o$~V0ڵȨC!DxT*Lҟ 64 !Ac[}CJ,*+^bl"Suݷ2*p?8[3_ckj%ɗK̰޿d #X5)y7bz3Z^Z_|Y+?#@}^X *9sݴ*9GUST4PWu[G6܈5X)"^mWMc4SZn_.YvDlLdЙYh}h<ϛ|Kg~i%8r( w80Z/ZX5_V#%F!U#H+Kƪѕxշ?IVNFĭHf\7Շfa:gm5ݣW.F9) 5#Rywyy6k3Q_ykoZҼ) +(Wvun-gӎW7JjLpbsI3J3_F VDkLhsk5. JAiV +Ovȏ_ơaF&FN/֬_\" @BE]0 B=){IW1i`l\dׯ۩I߈h~ +>:$2-w,=9F7%*UqWyQv4W)&JOMfe~Rpt%,9C!\ܵi5N,}W?wge8Y5fh嶎O_H7=$SI:ה=i;'ЯEVSf+5R}B+Wt89nUF9y_S_6yBz/R[-fL\!x3bSxK!AIUzeixMmz4H-*x[O-)E2w Sw\d%(UuqȒP|S$(Q\d]ڸfx yE$e 8[(O!ksCB&ȖRbȞ.kCocA?צ451on 廗>+-;L:ND5{J^;qS<=Tfyձ}R~gfoV*[fa>ݔKQvn|'+f\twu'oBDiib(F?N='"Ҩn!dt4.|&v&4%lUyFаwbT2+Nh/ |TUϜ)K P"·C3M9vzR^DvŶ]T25嬥}DB?Y5,`n1CN%gkӺҺ. ^[U7c&XhџW8h} !J4kSۃV ~4Go*ک{ع2^{k1^+>c_=>j,ݳnp?\S7É9ul4Ϻ>ϵ]0/ =ec0S%^ +3LElIAjDsqKov~"hzSy3򿖤Nޙ#h Ӕj 0Ol%㨧? oEuֻ+d}_en@>Z&^+ +$n z2I +UY^d{tnX~]RxĺGPo.RQ:yVu\[ʹ!j_f)vyZqWm\߳!1T)3WBVȭRUߴ5^$T9Ȝ]sjM9^MC q0^~Li}:٘F\ne5S}hB݅{劋~:8K%NtoC)wT.;B&S=T%@ؾIgfG]kRԇz38f4)rczaI\>fѺ͜RpxύØfYzG6]ֵjMø.7 ͤic)ucPͼ H"OMkyps}It6<ϝW+%}O3D8DOIf0fzqX=yYquŬYά0?ct:ïs.w*tԨS/Vz wD:A<9y&Ƙhjr;ܟuO,lckc+&jdR\;f_v{J7'\Tf) b6 >aT+)K,=:s";R#n;Kxv59+驳wvo /D.hLF P>>{HE37ƣ+a}hR3ADM^u4c ϙB0[5A˃pȀmHB<2TuI.']|#pU,iA])ԉ\Mu#=A̸? ~jgT<ݎc&U읥PbR]9mlIi=5?d{sAMhQ 1wԉ,j4d/,ʴøOmhTFPT6L&2ESy۴* %TPe%}& 3%6ZB-l汵q{/nV@ǺcCޙ +tUJrkYOggSn H^fwuԾYmal (FgL A  O-q<сo=(,8-2eJɤsb{;i +8qJ?T,05~BEjױTʝ@{sGNv4 ɦ[ҏʭa6D)"Z׃N,W,]kکkV]qpuBNh.="~g:;4(:$i1d" Cp1*}Ě='7{z\eZ-#ZztTCS]SxbZ<_\uRKOZ)f & ͩ?飾Wkyh1q; pػIĘ:aT|GYl2 d1,}I*]nܜ[lnBQkrԍ{t|ymצHUo߭OSaZb\ER剆y_r ԉӣSl9vY(qU*kީ~l/I<ݥiO!B +O}闪 +y-g?TCLm#25ehֹҚP d*\tՖVV Bq79JBnoQ޻JY9o=݃[+\ԗt#G.E^Sŕ{v EWs_y}ec tAAD"w=JջT*^g"km3a?BM*< . gY_~?Ƨ?e3}ϊѧk{e5/ˮw7'{e=IōvaHzMFO;'ǭSWQtDXydt n==~6<"zC89*>~ N킭$GӒiKXVP.={k9}v9RjMu_ȉdXlbMN+ybΩR hCcWn8u<+K "]\G.aύqߍk{rAh#t>!ǢI8Vt.gVLQW\6^ꚸ˨ĥV{ 8:8 )HnUh ZaDPUH6S~ZsZE].uDVP47%J'G6DhY!:&VbĤBѽ&[Rh4CĺVD D>yF* YPږWh MǶ:w Ll֎p~Q^TAEn8+vR(mUyd{-}y9'm">eKîQNiKg/ |)jG|+>~\:{;5!LKglTbD!>ti-WL]Jx8IuZw>~hr6<6yR&IiR`} +&4ѱRԿlOwdO+IDI/ qTk^e^4hєR<[ϵ<,fBlV1I lG&}{LH @4Jkg s^{IM9r 囔bBWNqZ7A4}u$DⱕG ٹ;ӏCl] Q| i':jcM'#"[A
nf>%t:ޡ0e^OxٍqנR, AV :YqlGG ^moX{iUhpqpoM<8jkΪBJ>ﲽ0IECOqY\C ˁeEy~S La3 +hE/,N8V"@rwF|T(iWmuZb#ө49ݢ ï6\ƟUCӵxzF%XG;ݦh%篿<:WG{ڸͯ8~; T~OO1xG5t]=OgьscHy4R&G~VNDfUCsZ4HZ2ZPai qKϣAAYBG˜R! 72*{T(ڮT#CRl]3eW{^BMLH=o5DZMT݅S\)7U!w!6L}b̖_2P3t:Q2~2 KWC^]4vґ )dĥ1zu8iɻ2ycb~j8\~ݠ0ۅ&^Te (!fz)k!@0>~Ԗ!fA0—2RcZ=ֲ^ܖZ] .[:ܟFS?SpN07d\\3E!Yxhdٲ.W$ģ*_9$ېB/*1ҏBDPQ+;GdˠƦ[q CIa.A!. ]ZP^TW~eKG_%Nƙ]9P:P0tuWK3eZ@ +~"c:*1fT-:ËDbٯg^9g+؍xjT/n9us?2ho[yJJas~yF.}ף~)'>&;+Y*b;a=3R_9ATUꁞN4x񯳪g':h؎ ^7֭GNhLn +%',q{wc^ty/+>РUC1㨮4Er&GmRg46ҭ1Ұ\i tv{ IIGxK_"9MD'jRn攼=_Fj +: +p^2]n~-SYWh`aBWU5Сa}-Jr/CZP-N[E9ߜr]}BdB+AşU#e@% mI$H/t$t!Sd5';Wc CbFQ@kOrOxL! ݮBƅ4ۣ&C>. j2!Y[2`%g%j'L]uykӆڃf{QWXyÞ Gz`uH"`_fk`.QH=^nDB/ֿd/ +Q;{~..tfq6kټ?(o{\M$ +cZ=S=}ӴDGE;{,\8Tk(Ǐ Zſ屜t.?>\`1'򾓒ؙoo'q>j>{o>+-":>Iݳoud.WK?[퉍5^^^"3C1Si]˻8BwT_}Cn j,I5xMxV~4ͨ_h_!]-hǗڛ|sv'ԧ1T|#ϫ*dS/ۘTwNcIie7^Q)r $!̯ȱ"A1h' `P%*Si&ŜWQᳵق ^ +=~mKy(Q=A`+`LASIi#l"!sS[{iAqShGp WbԏH|\@S߶G<ƕFOmeXԳkn+a + +>[|l9BcH h>L5_L4dҘZtHc-)F%m)enE)jO}+-ʗIz蓁eMs:q܃"t? gSB4sy|ބ*VzyaD_>3|UƸyeͩ*kl9~[< Ax>qftˇ}d^|(ۥ(.B JO Lx40:8v:FfK~Td_K&Fq0=${ "aOYfZ%[:Nc!4F1&Fdd=1yM3'+>ܿeձ^nWmU^;4HS\hS@5H*=Y+lusװqmٳ$R"Ӳog3T޹yr T?rיۈtYU=-R0oJzmK=/+'8YWbeHAB:1^O+N$kI1_*Rvl:ODA6Pk|ZQ0J ?T? +ΔA;r@GO5@/Z|̶R]pE2\1Rt$hCn[td~aR`&|wBb['$DPhGrkۙA$FKdX?c*X8_ck-wB* e+š}iT;&#jW]E:bHrZuVXuN}وa+ 7ksܻ,m[ +Z$D_̂C eA+Š3sBEUUZ^WIV p4T^\XL !4Dr_+^ L+QY*ZFx~fDY[AJoMA>/:: 4DT`PwlclD/W + :K܎,,Iǰo>J] >ZhxK-[{:d8p >DsHU#a, )o붵.?Q87N/-_ԕGwi$.b!VQ'| ۀ#/t90zc]B\K(;xV˒5{w&FO1 + Vv.1B=G^C _fMn 5'Qf߳/~<7 cx8'ۥ3^J">ɥm@W0AgUy/!e]JJT4>,+k2, ס.|9x d`web|ݎץ6IJ|'е41'G~$Wy~cUD +GA +xi7)%'A4ƁL3xXԞZ`7?Ɣ/ckO4-bI|#<l"aР4IhQH叻 daWLOiXV-\Ɩ~+N%tmAyFר$+04g._ +"\b,]?[ȯ`u5)iTM[_VfV/KYH.+ cSZӍEҍ ;UAMwSG5[Wh8P_'E{(pwssp kP㍑̇̉RW**jZ +6Q8Kɏ`Åh4#APWD [NR"EZ:}sI +Th[E#-I%_%X;+caFN$fV<0Hk`򮳝Z|};nfeI!lҞHN?t^I h;qSQ\bY&('3鮖Ҵ!CǤmL%zbXyU&M/R I9C $A^+6# + w[C +Fpdzp.",fo +.m"D_&z!sT32nض_.#| r"kUKf@uZr+,Q8k[m2"u'Vb\}kd*9ueGm61zOggS H`WJz>Y Sǵгtg !pDW| 83@R_"w[j@vOJI-)*7X[^0HH`GAfCD{X;mHJFiۊE9 g|ag;rDLݣIm10=J/2_S\ݤ4u) 6)/N)}l3v9oN|+zݒ~n@]L +dЙ0: +*vLrY[}hRZ\Qр=D0͔ɸ[_K $ϴJg`[GIEiR)˷("ڷ3#ek-yydӿ/˪iY`jIT |_l=[)=EFN{}G{)}mz;9DE ͎c),EI% qJSGMj<W&:Aزd8{'*˒fR/{.reC' -﹮ԊӬ䠁GKRYͼTSn dC,ɵq>@5Sy*ެO5'X>o[#CTf^׷P./+^*'Ϗ>:=Kv#߲۫TzSX#Ac.~|fT={l܌&ĻױUs\͖DRkO6u[lEĊ>5[f:1*nGJqQgL&5@ߔS~8/{b!>Uies1y%3Lmn'4|ngW۞Z}\=3"wiz֩*h|r|[^?,*ZD~GdO.+fbP1pI8uV+tjt~~wXNpVyPM\BEu\R{*[ku{mBX]s|htEE~٪Q +?۫>C%*bS鰚.VM JL09\tufh9WHTmFQQFj='!]r9Tv]={6<B1xm]껝E5@|jzxF99>s'FL=0KoST٫=VA;ʡ'OѪ>z&}FpğVKzx5L1)7ge}gKʍg>URU|}帏AMAyq'kIGK^?Ήj{:PӁ+h.$Ax>CB> -C6mn5 LjFaL,BܻTQޟ9\t_tIz>) I6O6))<1/t q%&7zjw8 |V]yߖmc8͸#4XA휫]2>fg;=^WU>\ɄClN, RW:G>D+R{&0.6|QNeҍEHw.`'%3FƽˇeO\82'ۈ:b`]L1=;v +*^=i + +2yU`oY@W>Wly<[֙n'XYe6r Bq։Z#&4=dT„߷~3U9̉"_\?: +,NR3+[$ [W u{քIZټ?ܜ4꽊hF\5s֍Wpp2ͧ7ˮ{y{FID:K#co;$ĎJPKs7YU?fجg<|w~I߯ZɂGr?S5[+~IxM/֪4t]{P[Q2F=4%L:>?0R5m CW>K +m#q`ϭ/r}eU|^$4>Zx=Fl +,噩kגE1t:jg,]ѐ3,k2BSxM0ߕa󐢷?Z]C8LD%)zp.RivEMg[LTcT}\fc~Uah=)uzMjA鰑\|-Nͯe+.ѩ.()[xW +D4Hkڱ:_U^yaWf:=iI4D=mD|zH1klj]l>c"+EnAFS4P_oq)qޛb1r`1:V̇Ne&D&2f,(DJD~n^/Kύ]~K4qS*1]{j!lw6![~Z`4Vc +YB$?MfIl +eԾu؆L$ӵ2k !U{*JUgW;5thQ0ȇ{\vg9N%U=i5N z>0~lg#LYg*yK8cVAI}F j2*Ah?"XQdQClǡc |hCՏ^vIaN7eY.p_nsMf0gPF[D|c 9SX*ܵhf,{ õ+ +eIˍ~!~T!v +ߓ32 (-,Q/.јNx +5Dx1lm>HdcŨt$ +wYmaM8iF !yxteDSڭH{zMVp=/4et2Z+4c.N}{qUZW8MNܭ&FюE_@)"Yڝn5wknPW+F5\߀X" aw]iQ!<Ή㙅 y=!uq+$^e׊ ##6.ʌ/;ZL痉=EX9M+g2/fQQ1 MnϓY*6 ' Vz'jtW4.i}f k_V";Xr1<Fd!LP)[Fu'7#h]g:c驼_(v8߸R$"xI w_ 6eI^C,-I+=#\^ +;DcSZ䫧? u_ɞi`ZkJݳ\w-&$Q&N +'Bpq D[ D3J|WfmXœ1⾜8;NRg[>hmIcЌ6EOl4hꏺw,]mh'ro"vY{*VI.=- a荇e8xl=u|l3u2ꣵF _vmp5$ ~"ȜsJ>} +T`ZFv{դiNSSw_8M,,Th LsݧJytEǯOlwFQLG޽2氻694NZ3dcQr++. +ǿo8Z~vFe2N^ j_QfF}{ Q-u#NWɞw> +@S[eYXklڵS)Q.\ͬ\ɎeI:ܾ)]4ȉ\zƊChKVpRF+Rvm㢊tNoo?_)+iL9)F[ڛwgggmhVf#X-s>gZ,V3w)|beh^8q.Y^`6<'{lcG c{ؚ]{U_MDkJt( ߿ jMz[EOK2v}Tbk9)Gs=C5d=fkj]lUCt i1[d1v<&6E*ߟWc<^ӫUĘIE$JsKFlF +˪FOy?;r)gٍ\n%ёQսHW=mn_{s~nw팈ȰJ5OPBʾs2űl#AVR2V>n @2*elLD% QP~vdI,k'H2Oy(y8Җ8^ېw#P;})XLZR_ޤ=EKC,ҍù6ϡJ|e"ao[Y ܇'5աw!(;!/Ò~"xמhw.}q %ܧL:= 8z+,::bZ9lH֮ =y9 7=F"O{ /A{##q߻)q?gUWJ+4x!'e,wrT)$Hm㋹J>6hGI}I!kVl͙Kz^"-(| +4Hl'+z\.Y]}> g/SW}ZCU42ђ?ukk_=^q~^4\e]ZK!ӚO4S0#7)S=_^V>MU(}qCȒ“oՓRgyL5JߏQYL XLIJVd{&zTНjo +$O1*c:ěVkt\E!mNC.,{5oxuKox)/R.0Pt66fv Y\-ױ)83ڛ՞ܢ4H.5h uSǼ q;60k5,c2갓>u^=}p{LctiQތUFqvѥf|hͤbg'߉Fu{繱!8 (akY H<5z+M0FvcꛒO DcT{~|" xE~rс2“{X4Сk@zGm<ٹ&Nܥ4 xMrW X%N_FTՅH6wF#hv!j{_,,cj P1~[L.!24 E{8m%giJo{UlUPܡddL]̤| &)[1g7'|rFa";'u?xθlĽJgdmdajcB0٣ Kb6&#K#ȋn)>E'hvB!P"{:aM!/vEQeճbIC%h#Շ⋭`?!_4Cn?` $!]fYT+Rt$m ilT> ҫDe0f95fv_Los$޴Cu%"84fU˟'ߪe43g;g]](x2+?NR9Ky$Qc ]dYC|48OhZ+ğg}aBοv%gL}|aUp3ǒ+̞`R̫Q6֝Kl[#!\}DѕN!lTRى3J'0no܈/IfOggSHbl\A9DϾ.2l4CkUK,q #MܡmcFl͜?CJƆT/ A,cS9,a>;t?]T Uyyw}({;|~(U_{ Ǔz%:jOgEk9~Q\.go\i,+ҜE:GΎ^'^ݞZxGti#ut훽̱DfWg|GhzN>|eIqt&gOgoJvqk_i8w_?e{Z;ԮclmVҟjMiJލݲN?5}izǕ|wu5ߩ[zo|V2wd[fESښ D\]JT/cٝE[oGoL{:fްOp:ѺgB9>jdhX~d4ǔu<Chq':Q<}? tϱDTD 󻹔E7Kz?bfz*xbhedwjE,/1}^z^EZ2zg!$Z4n>xA\o>K +=6$3bq*kخBzۥ"_LNm!]ͥI1&J8&WdP񡽚,pQTw-ԑ:\jQ*xԜTs4垢/E6ef^fb]nLpۉyW>[D0:Np9XU"8 &]ՃfsǔO%a<%GkM\/'::XRvLcf[76(s_gE< `g ksڎ)ۀ1 8 zeOUB )Fީ4^=h [ #nh+]_{PX?0)\~WuAKRoq 1ǖH<ɦ5xDy4Jf7=1eeY=ZuDvo6Sdž}!9 ˭P]hnog_\>=ק;4N_=LS6!@htλD޳eNu,"xhV75PWo;&E8ky}a3}SI3dNqWdP]zl=z$ԁ0q#S{:,ƳFO,whN(ɾY5(Mzt:vw׋q縴~H'Ώl] &,IJ ㄙzO=fbXaߐ \ڢ&_n/WBHڶY\+FJ-iV\i%l/mWlYB@YàUƴ7-=:NCi ^m.b6^$+ϣe*LidեsgɡFh,mnX)uͽ Vej>n :h%E^ bHaITƒ$+3qMv?3Րr9.nnʼo[2:KWj]un Oz33\.RAK3۔7wLjF?G4󼚤 +᭻hZD#X4V-pM,ꠛ\o_XVpI}c%ҷJE~ TR q'};w?d' +҅N {}tr9a%g B]q3 +J X{PwqYd3(K͑z"=DyI} +Q~v)F45xhyd\Э9V;q#̠sI}dIܗiZ;j6by!bF<_iu§۵3 +^ fKG7fjdfLwY?k,_egBШl5^jJAVR^L,dXY]ւ?Wc&͌ߕNY&YVF{#k!S{R[("~6-Djfm~Kg0~UʇWFe&$Y)lFDucڢY< Qֆyc/6:ml]vhSan3=[{+Hv +#5~FaFr~osp:*W/NBrޘzvOdt1}3ʪɣFaKx(Xo0Ӯd1in=7+NҖ0fv)#yir]_¢0PԫhD\I?*QLʲH҇O58Sm0F#557;mJ[sC-:yqqRYv]4'4⽓ec6JQ;.<퓛v|&бб%n +ɘlX4V)w>Cٓ^o.aj*ke'Kqۊ }W8:Nc lyn;ŠR$r"+û!mqHH;L4=!dJ(Omֲ֕4aQ,U ^VB3إƑS.~4W͘w2ݒ,UW{[1ؘOggS-HctetٚL?R2-:*_e==I*f D(;?QܜƳje$=䦛+4&CU=su#Ɖ|dz_ K_i˅3hBe:!hpcyЏS8wdAhʮ:bQ,eZUsv|Ss>$8:fgűEo&9=Z65Ϣ ;$TQ}L+_Z`I34 dž/sH7z$GLOf$ܨ l`R'B-b75n}9<^?mo|Zvvu3Ǵn#VYA>] G>]:31b(a5L{v=b~tI^ +t8KO ZcLJ@Hc +(]/l7Ƙ< ¡ޣfXdETs,7K3Zx+>`>8kd'ͬ;FV7BS[}H;wpg} +2&pWzy=׳znJsd6U7Gש3>xWu *$n޳SUeɼ um$lZǸ +RڀO|wl7;.kj=cnk{:*5;E=>8fxE_KR2E'_:)LjΖLp)?Gt<ˆbn,8^qгwꓜ ^C VDc#g5JN|-H|rhּ?J +A@O;9zWfN4aw>3% :-<c#oRNc﹃9nEwIyޏ2p/ܺtMkiz8B3X[[<~n*.'ilՓ IJf)ӻF}Gьǃ:^ H=ҩPDmMw;vԙ5Tvܝ+F]1Xة*6rɗ醋!V<9e*.tzSB@UH\}4%aqBcTBn0yp'1.$[âq0=:޲^Tl۵ϙBS{dj~ +D緪xz̬:'PYWVuoSvܼ(d'5cw)ƙ[Fny/c &DoY^Kɿ⾛,YxPMM8s`5"ZA߯Xd'oYTkٵkTFn'ޞ ***) Y1&-l;}dErCC Ny2ش +PmBпزSXw\hΊ RAա&qtIͷ"hWhR2Ӳ9e -e 1ߋ6ߪeI#t!?l%q>2SdjX: K.CY#R s՗D]l+B{p!ڀR#>!ܼP0eYbZR +LZ1U^Cn❎PV!X9޼HBCTݎl+[N1o^x{R!ދ# L=~gVu^YO|)ik]=ϐ"-m1$syf'kyĽxKz׵;UIsJuKj2F +SfKZb6qUpzNWˢ[ރRiwyJQ?jW~ZH 1jq~$+Wnn:/6:eUƭ߄_>ʓ +Oa;]D'~eNNBLF)dbKYs/S:"u[H^[s)*/d/;aK8FvG?y(#B\ۍDNkiLAVdy!kyfB͊!͈tGHZـyB9lh%r>OTwyM":ïm.ws'D3ѽRߞZ~pUH{s(jiL. +9@vg[OǶadIW61Q:9wMZ1MY`JDŽf~zb(N͋\=9 +Tp B}By +ЇLAL2hj5.SFӐh|鐖w5hJ3'#fMKs)O[t(aOZys۞Dqli2ΰt=oSɰ#OggSRHd?`od?h܊ 2VnCJ,4^~9gX#։\*5ƬJ [_M3cL:={3W:٩ƛTw-_V.9ǎRι?T(/N <6Rw?}ڧnԽfά]tEre}.\2>0b\}Gt*9T'S5l;t}7yY m'Kqyx9] +?:A{~GorMTm=9UisG(wͫe+wJYSGFb{|MkP[f"mYVlko7(?E6? ѿ26;F#qt1H#.vӯh&XD4F*^X2Qօ0WPfn5.9U /n29xZ'%>JoloqQY^ֳ~Sb aB sSu_&s艃g&|H%+w[kpd2޶v^m8cmk4uZX7K9!>h 9>~66Fz" +"Hl/{z5S HD3o@O +iahȒGN!OJ%J!HA$FH尤ycoj){@k| qӳRʦ+{nm[>io +?6DmΎԍD݆n'5Ed +H/gtb P/+\KCo~ + xS{SXJhSMЩuU&}%IOF3r;?~S#"?mMvJ|NqF=Km+c8[vvurrs%Z~\Lgy8MT0zYv!LW|?Y5e "٫q=jlñ~?䆡 9D +s6E_wPE[9;6ߋFN]\m>cq5 +]٭|sB"/١ u +~34v;*Bo~y_9 x{UlTVb,6R8| L %e`iZl2l1u$d՜^uU yC!I3A+dώ;>YkBQu%?ꥳ-su2O s՟bNp-ȕ QWUFEEWyH^JSδG3@J6$]`ҲVП~+뇷DAYH<^]W,aY|cNMY?k? g=T0 *xUj[4 /t@GO:mn3OQdv$UN{jpFa,z:$dP$fX);޹K83@fh8;ң?񑥼%8%nCV,Sdt͸eb߃}PN0a`!6 ԃ뎥y\soB,nIeXr1VB4/tsεhd4H<ɨ6E@(溮޻gVo>wS݋Д~Lֈڢ|Mfff߼#qX;UOhc=iQvi[FlkѦ5w≭ :襽cʄ핶?^11ɓ1z*8QDucѵkZ;WY^;TWNW<::C@Υq̲2A\:E(zuo_!(WB%zs- ziq ҠGνOػnvՌ:P:!+elfhLB&4T_H I#46e\ i8>FDb{vaZcЃkz}C.3~K1ˇ~-[/d3S#l:e6 蠑ɴbݱ߹kdS&:.o&aFLn]*bcD^2nۊEp+V-C VZ5_Qd**ɞSYa}'v—4$ct[23d$%:ћþ-i'NMJ+WOx\WT{_ +~uxt\3lՠ@SH +ɇ긷=#\hDֱyTJC;8ۗK#RUCmgmٔX;Cp$[l·/ +?] wx-_˫!0BCcF8LEB 'TABڈ] qIlټ}6FnUݺ ]Z76< $rZ\Vt5809yۗ5sl gEr!}XѶO7'4܃?ԫ$DˊA\>*"$N3GO1JoDO撐{cVQv12xiTb%k{Kb::50rjIlCy8p6x,=eoK;}}"CV}.Z:.س(OyX&$ 5p[վ*ӨmxZ̿DTjmˡDjslfE[JXM[_'kUmQkC+D?W^m;oqlYPU(-cڼ}7 NFYXT^P?ӯ +筑fx[a󳩂g\?q~tg,NmSxz*ztD*Hl{ΠVp7:XΨXarg{lS,;^4nVK.YP wxE1킕ZDXz[*iJh9UV5\@1e +I.LǠ-]aΫt5yyŘM7G#JJVZDb-ÍtN(YV.onh73ԄmݚgmIAm7UYM1eClggEGm!-ƤC-0#FidX ў7-3Ž_d;hZݲԦi=[t7O:6Gz犿ueB֊tZ)*:+ + +4gyٸV=XV2w=^ƽPFj 4\&0ЍX!hXRH{ E:Mh- . +Od)Ym ZaQJfx%֜ 5k]_=#'KGlGٺ +-Xw1VeɶRdb7o;~$ u+nSŶ4#4Rvtzؚ?կzvVv%n=<^DEwl o;H=?C^cvM]o7=jmz#Rf@3ATH+C-1c]u|7%KczelH׽Vh&*|!:Nm[E>gy۫1=Эi̬~ +4c}=.Vr>F6 s`?t}~S:(heӃ'e*4%|U;&MCEz=/l&ޒ^cTowdz+xPmil|G9cHxy;` +~ +VJW+ZI/=iо{I3Eԟ5wϾX^,e/iLԔyA#g# 噉M#~* !(;$4ɃCyw IQ:s][1wˮSe/gyiG+5u՘'nZZʛ +8& LKN+{&ZAY&%it54d('/˒z ;F3ww5/f̖Dr2_B-p\kɽ-+=-J<|3<>f3̠PcNl&QpaD+aYUmLs!1wja:dCZs6OXͷ $oQ#rz%79*LB9K^]^6}ӷ ˓n|: +]kŏâWwp{cc}kuj~!3*%!.|«^aStmI0my<9$ܛuG:Y|luUų*x*vzi^Vj<.-'V 6WY*æ @} *?}2Nr>ߔ)ӔRCSTB1Zm_71vyWGx%qmC{9WyLUO]}mUt9R +tObSJ!n LQ0WFϦ=˻%so7WCH<śVzl#ӓ U YRle8>+wǥ^֟ _깳[?Z:hKC/oA#v u|\Ĩ(U==5:ކȺA" B;$}I>0sUr&I!JqY>.PKӣKCkܪV$J%F9Hv/RB2͓una>[ + +>u~ȵE23329ץdWql|{(C']sh)^M? -b\ёǹ'`ZFQ0P ˛Jܠ#An I㼪uId®.h=J݄H6Ь'G.e=z(dDu7+猃=L7F]9n%: + +؞{ؖ IDt5ajuq}~- ei/n# "R4ū:;Q 0k<2 _8|}sIM*eQ OۣKdrN*gD*KF"u7fAҙ]ִraF=n_DTMVPS^v=eIW;1~>q4$>*EEÈxjJ5Ao Ya'CmÊ$YFIjBXwV] |dOTJ5uK QV^Xl_jw,$<Ь09Id4OKy}!$t֮W")}*SS]׌b"}%nm氉ut9U6wٲ> +%S;:T/14 BVΞ29εҫeVMƉ2)2p [f[ )eC.E"+| 3%.8N/#L*t |[U0l{GLΚƈUQ8ѽW!LPMqJ,haR\]mfG(Ԣ?tF )GW{ƴk^&2IOzZzIPQi^/̲w\|IT_񸩰|vKpBbI؂[HR}VHSx ;F;&gb\Pa2*b|ݵ"m=ek6rSYoP.FI'71QZЌUH;^QY0;{6i9KX ?"wvR1Y'L>nBoD-<([*֗bzN8ݖhTrG{a;4$ԡ76[TP |:4ʳޑGb=ZirXw Z2^5dl/]E㑺#*^P}!qnW!|ZAZvz(eҺݛqD9{P =PzC{fmFeۨmI!t}Zvn?댎]lt"ҕ|tmŢ73k^K>*8 ;+4SP<<ϏdiQ?uTnsVSZ\򴄸XƖb9YkGhҲJX+K7M(8Nۺ&AR,%T#FEvv(RNv!R!T/m67p =?NST*;kTBtn6{k[FvVSѲt,}~:<ŭ >r^9JglZ['Y;jk;`.̞C܊!f!>oU!DW> fiml/1e\eWḔF2ƴa]=Wr+^-/dgSRkeH5J']Zynn}u./("F7^sti&}X'؇!c4ǰBf#"HZ/Ő "N򌧪*Mv{b9gͭN]I^ ПVsPoIr!k{:w2L|7{?]VkVÕUMMxGCÊ$)[[l' ޮϻHƢ 2\5">}{9+D9/P=\ <2n va8tC=s4ygjSu^tH{n7As;G'nNY%#^(?u:G k7\؈2h))~me쾉mٴ|CFy%Ϲ%V~y(#w"oZ~to*K_V^5b`tq]w^ޮitLwMdP7 'kK#O[/ږz^xG&[ n1hwvM>Ξ_֖z'oivMz":k$#SoAutUFV}lR8[EGsS+Zi'"蚈KAW-Ҙm ].஘w_mGe>dxF0lʳ{)+.dՓQϮd%V(m[>~zvJM׌Zh5=6!dq dIn)sn_^K$ܣ&(UY^=`~HLws 2?e[dgotVV~9̧M? +N&dl|'q?"B? J6Y誱ZUuWmvz}ue{ȋ1B}&[(,s2gU6-ɝ8Yprp9eUS[$Sxps2;4>[d$'_} Ԫ +"艂]U=zK<]SZ_?.NVvDn>߭Ӳ#%DIq/!F1jE8~%x䣂` ۯ+퉺TGfҕO|sIi : +d.SWWϓjK)7oilؐю2X@ڴU>nTBjXR+sw}ce# 4%",1D66:{g}K]śFl.EųcKԆ^m%)'Ljl[o'Kt 0w= RUa۫70lPh uxb~{Tlo_ggVffY:Iel% +wM>tzW<_5i j㵉<|4A͓Q 5eE2Wzl {"KTEP'\"Ŝh*+VZtNzI!!4v͓mLٶn7޽m,[i!LZx7Y\W7Q?:vSJ@ +Cy̆nCIIܪ_kO&7S+(: rfߡ]w:i#~(J+O Qb;j-iF;jta$o\+E-LS.ii451^~5D,xjGsof|.v@ᙈ)wQ"^- $_kyȊC [4 \O`m7T FbvmrMqɇ aW5w-ޝKv$!R;D^iL'Q %ERwCӖB4.Ġ`c۪G!9ymtPbuVL5و5V* guuYmA܁Vg09mSI&q"ב~9h[s3=ϥ4U>Ul$aB}ysV{jl{w糝]ݙokgc`Ғ`֋ '8"a5&(BF N!yyՖvcf ~#m-%HYtFFBV)F(M rN >ZL*]kҩ4tH&_R.Mgo.4Y xh ^)I =N Cpx c t43h(@'1M{_ 3U[iٹeZq2aOQ]:<}ѐQϞ-!;ٶ]t4qW~&_RV +FiԻJH\ +ٛtEd"A:.D$IEj{F4N1>v?B}+W$Dخ-DR0YHYD(/9 `3a2_ 2j `>eF&xP +bIs p~76[aןZlUwii}.]˙Cz\K1\غ5=T9od<` +)OggSHg!w\G[m+_Ni!ds]|^[ۙe*_t {'+E H3*n_t(U5 U=t^aӁJyw=UN)Qw!)M`:7ûFF{ӓnBqAa^.*$OAQYQ|,KŬP`U4SD떤/~w*שP 6]qm8V̆H%h6`^'76i 꿪EՐ&y|`:OQk\q+zSV>˥-ITjihjK ?@+Ȭ1Ϟ.R#Gz]Lҧfk%!A䐔}`\^5U'cLmD2/izNщ?ES*n}Ff5R6|<G!iNQ׈?'۱T?''bHLmI4oѾ(lyykTdZ֓K33j&bW5`zէɫI+̰4\n0})Rz.D":t0#/IyLWt%M̔ҏ§vA` +BRweԈg +ҟ!HhA@D'R}|3"|@| +,,$2U#97kt|%t{є](x)\C>XկWʬJUeYlA"8Z8,4%\-&VZ]'/h^;8m}]"[7WUl$o%ZGNg6iΞ|A=S8/K!9hIeBe<( v.[C*xըȨNk [ov5yO6;.\F{G/q ŚCscչ6G=]`9JOCȺz,"Sjql㲦\_ܥ Sҳ,ե~L]oUkJiO`eE59wW6~Թp}! _ƻ{xgQ꬜W%^ul~[%ҥDjCH=7][4~)&@. PEge{{v;n.|h8Ko i/jWfdnRg694t+j\N(͞-Cq<7n+vaߪZӉҗsFKkG*-TN(tGa拍PȜwJՍn-o=#]+;Dan(b 9_i-{BZ 4H_0~GK@aɠ$;F:Lqio@ٷ{^ي٭CSv;|4dq^3,1kmS? 3IH5WL2.%+d܋3';D*ҕ2b&C5orkwʸ3&w.)Bc?HWTd}Ֆv$Ibٷ" +6C}qF%N|ڲ=r0c >JH</+_Yk4FY-ëbWNݧ`>5ZMz K<iSa햫%0EVD U5 Rl6|H*QJjKW]b>Td#DTP0˷4͒`mљ5 ul9= U_CG_lq:m.kG*Rku^Z +$ozT@R@[8Xa{ֹacFBP$e?ge6_QK8W{6 DN>>kJ+˦xNEWjGG R< 563_AAF. c_ ǖ0 !<WR +so!Bnn-S` +WbTTo7>y'",̋!A9';ttOЋh*2aDuWd[J0޽]6־-d3C7^ +8=.EfN |e ؋|1\5ߪ4I(b` k\R\u`¡>dd򼭈^c rC)b/N1M*dS4_wVlpMYkrG\ߍ$`GnEiff@l"dɩڞdZn }dQ(j:taےXszLniamC6P(U}rM"Kd`FNJC|q"}"`p}Ԏ>KbM4^* 48##<& bV ZI +E]mTwV9$PT?g +f>p&л|^6:&50tKЍȉ#-:paZD 02 ; q04b(ΤɟXM: R9p`ջEWB.yZURU bm$׾l?p 8a ׀ï͎v){}#_jn'k"OggSHh`o\CT_HU*cYjsHd-ꦢcb'7.8u?axr3wDjɱ8o(gl&s[TtwvEKz^O*;/MMq>R?#:MS柲t?*k?۟ ڕo,:v3\GN:x5fK Jk{N*ײo,EˢVFrWNY;*r34+s`qƮ^kMR/.o&'^=+Ӄ;2󓿾7'ZH|pw7Bv^Ë2 ;\SMhTyU-.05+SqЪҕP{l-TjmE]J'V,,5 ]d<۪- F1NN;fu(*&cU?vrnh |xF57塝4ipIS`ae% (VC.Koޙ4ȼyr98*2ghmnuKY2gf/EU#=JB3RE(KUeY%'oux@j"{r+YZ'hlyq< Vщy͟ofD֕_jJ.;#bj=׭MZ#i*?5,Й*j t磅|,w/Xv( %i AH+7mev˓jܱu$>c6 i_*EF ENU_Ti[6Q&H< A5.6SZN35!Kh.w7:3s+mI8d~ENˡ¤Zc<1TH^@V֊Qy: xǷD [\I{R+@6umLib@cH2E,.oDC$Zxn(B򡷃H[zϭO%[hOoiJA̞OM&/.4!RЌ'^on希Z zK\j)jgP_qF:I /2+pr,eH#B-a>s++6àEY|Ӂ`q텞!/IHV.#;Io6éo+ހk9!֓ /g0A=.a[[:ϴ=wQ .GGFqQY bp.sb֨ +L~TRvB{Joq#c*X!7Õodu}<4Qv*ϥ~kD *./_tBtU _eǴDQɳ(vEt:Pj!*E,k@}H܂(&thkc61<;nMaxEblNQi :1z*(C}!1JB|FG~,Bd;dI$W)jYWNyyJ* ԇg%KD +$nJ?w6sWnΩ5}CfQnQ]n+!z6g>m=fadfLJƗǫ%ʃt:#'Lj.0 Dْs]쪨h,/[%9,L/$ťWV큗 rЭ<{'=׈M~H +OuAZZkjpӭ\z0LoGU#,)5P}b?ZT^v%Ey`>rI=(D2&ڮ;/1zTS6B}95)G[.|7CfЈ-:FuHt8bQQ6 ߐT5S2>ؽF+;5f*D@)%CWz+_Uk ym5rh= #.gϽ\H"ewue] Za&,}!ʎyW.jZv꠶%A4P3KY I3ab$4 =pQ]ֈ8xHc>?4Ovsq\Y8GQI5_ӍH!$V[d¿|q֣sJGJD$ ODWxԡvmaџF獡 S.'^_+;kdT#:nӈጀkGb1ئeh<'RdeKXW!8M@XMj찋,wsd994蓧45h\3R85݌#BHޏsPf*"]}W#":pT+bI.LmoWr?(:MT*T.0Cvt&jbMn @ZϴFϼy#} =hdu @LV=ލUvpxն"jKy0_ %BҠqOH&Khܴu Rג0-'Qa0*Oe{0F;{Eʆnwnj7<:RlU_;' Ԭu: D=OS`JKk|W}[OfZ{XQPv~{bRXՓDm^+]JǷElX^RZOvew å4]!tci\ZS9|l4+ro5rSh@.'8ԘZ2eZ/:^{MՂC[LGVznK`>KH'>vYm1U0xz`,ubU_ь`uZpWQ[̃CFh5&Njo<1 !z~Y+"z콊jok,/YKIkR! %*۾/1ʶTÜ:mW)854u4|:dЧ]Q&ꀻ23OFͯU +$8oե͔EJB *ޠIa$j KƄfӗK'ޗ=A܋8A1 ge""iMF?d3VAt +RWKhbz.Cp1rR|GSe8:y: Vyh*Wqb07m˝w=]D|9x#%測T%ĝBӧQkھIuiR*Pˏ +>:x0RM?Y5qĞD"s=Y_מz؟8J^}^:쑉j֛-"86}]-rRurtzж茟tgI$dC[e2bfi U*]2;cV^`ݜ-+{(ݱxGSKܝzn+9i7{[0_xGUyCG,; wb2h%?WtcOS``jEM1zy7~ʝon7*zʤ*-u-qZt0-a r,-{휋{-7K7]<z +&X1&Q/?4g=(fmiا2M4 +$QW={=C}^34SAcC/I{Z^-]ۃm][NBޕx_I?bCq~݃qK ~cՓ9ګoyv}TEr\N=P> UЮSmB1ov)E.K AjCa>1 0[_ĘXRQiڧ|5pOmOPiB +\)=RmqEZN Qx\&3v\5X:s;n8)>**ȼn*rL> M/ߍ OOpM.Y XUoI0B\7:$$=jLBgUGE!}+ؗ:>o,줬uv)Ƈ'֗ư]8݃>d4v>jrͥg/Ԗza673Lsd_ߛ̒'N_gY&V#mCќ],vm >:HQwJ +)$qOj]4V?`}10HPe:tU5ѱkIȁ?O c }_ &OyM4,aӼR)qQc)` g"4=J ڸm$pVi7WpEsM,{Ol2 =o:j*w7gv)Yշs1\̤+D*n.ßZ)N(u枱;Hjcy{kf9etv?K"ڎyBeE/[e2˽xD?muW+%ɾY֙~D"ߓM*d4y9;TuVX,I[0"핉PB|:F}iOzP>}~h*}⪘UR؅Tw#JU4 tdU9lb]/Lɍ+,(8~sG}T!aA@=JuzEwFgŧ^/i4MvkBkiҭGS,L"G^-.ؔ+؟.E%{NƱ6]Wh,Z0Sr$ Di{~LuAϕzcQ enS?AvN?XY:5 >@Cיmnd,3u ԑ݂g&Ws:&(!\d߼ aT ;Q&딴vX V3ȿ&#d9p/zdC?gDi:iwZA|=R"&d]ojC45vk*w@{\5ޤ5R tj+KN LHqusDYm_tJ5 NcLxgHTVUؽYT-} #qO@/F|;өgބ+=/[$ #[a= ވJjx{.It_t۴w!Sy=}N]EEA5{i ׹fPoY-JNs"eu㍊tU"nyxB ?`M/2ӲNy|KWJAZ\kgwdAJGܴk6Xj-j Ƒ;{zi)q|#\'q~.lȱfhBlCizyi$3f|`lElOֵ kVʲ2b]ص߳Zg%ZSvcr{ 뵼[^ܜaP}O&WUF0+ܼVwAr/i?N_Q)dTkU2>Գ!6GXK7Yիqb"͹owTEyt aJ=d~r(Q[OSv[vbkȻ^jR+=NoN3Ż&Z oQ񇙒P\ +{RFo%@.uU(yp壸T*:i+Ei l*gԋ* ? d\jGp}};RLK/qu7 +Ie9U+hT +r節?"L* )Wgt"vRbպKS2v*0_MJgfu=6qt'& 1fy0$ |:FnMg砂g@1M +Jj@C˚؟woF7'RD B@u5FOJVS(4nyH- +UJ ސAElUMMPB.]$D}o2YQLŞ4FZ.xVe鋃Zv|z~-f +i4mE1iW& Uа*{W;,̾&ld9g J.S3!0 ˺-vO^ԆXeD ϽrF"{s_|^bi[c!xz++{G`r82$佾s)n0y/LkUQ)2].>,{{_Rm+O} + )?5ǞF$)`R枰nf!eu(8Ԫ,9[*/k_y-QU=k: vӰb/WSO-J0-Fu- &2ux/_41;гEԍuE^tV̵ NI +m[D5Wz)\3ʭ!5Ճ%O.9er998Dٝ}lPw= Gѳ>6٤it5^JlirC֮n<OLܓ6&ljy +ĹwJqp,# '5R۵x>ْH?5mԅm\B/^ظYTI |>0OggS/HjbodCM!{ֹ Q/3bʙ6O%:/^qw79wwwgUd;H;LҜ& \-摒]呭Z\ =֣.ս^<)/jCykwX㕵[S#S)eMn%FӿSi+ +ٗ7Ϳ>_T?s:ڤ*#|:oc{ HLW%8T8-Xf{"S.-PQQWe6̚zg}Dm^\ 0ғ ~/I1qWedbVy_zx:"iH<:(#aZWQOK76ubؚŲTcZKVA%zDpLƙɪ?.ĥŶyBOmZRs[szWӎY'\B@d +x EtBܵV$5yDA-6]g굅9jEZ0zpɊHIDz?At(܆F +Q:r%vq\{KojV#Qk^#2{b/)֬RȯoâDOe(9-N1Š0M#E=ʻfOHy^~ƒ~YQ6b2Y&wğIփhg9̣}K3ZɘIϋÙ!gK36Ջ>m_gK쵟uvQ]eIEP =㲯V%Xh eU^\<ޭ̔MYAyGvV`FG-7ϟiӲGy e]P  L<,9aXu1xY@#egF'rHӖLlZo S̑O8yߣ[QUxNtJ8I5{TDJ׾q'wF138P hJRr{ 6@^cL@Cuy[Wo> }Oy|%E'JGmci_03Rmm^ޚhjI[Y+YPbC){&$OitkuD-ZOޯP~5\V]ĥS."C TSL)9gj/M?pªflTfYM\z藍yam$\(D~qDŽלe]lAG:]%c鹮ԴϚuwU)KjR?޲a#?F^b.M}An{( "E5$beK͒9%"Cqjѻir%>D4abaZil5ti.SͫLzJ+D4) +ǿ]omH6\KWiy5~IWiSCvKyzmZ%K71KXu7vG?\?'ss;4,%7= c j\* h8CߺnKk$]\Rں ]2ךxe i;}?/y-"o#v;,~evl. ^pkpQY3qNe:~ZUWB +W .Ҧ^O*0ʍ&)mCu'!0WYl4'6Hd~V|9'a pO%]YrJKϖ0g׆خ? ++zr+I .`Vwdԝ_%9zg\r zc"-$ X!2)GWM};0{70)ZFs^xmjrrl|?Zqma/+h +~ +DX"H<oѫɭ^B->s\AyVޟM]aBXxf} 8-@JqK /!VWu!v1^{SPZAw"{8Vrusd&t3?2P:/=I5^HU y{eJ192)HJapԙ(z[ȒV:V4)`4c^6t/)홵AlJ#}W٬Ę彌J@+g5$~:6c zڑMN %JQ<!̄5լa?G8طʩmmLF->*Dxt3yhHn+ * 0uXn{ف e ]YL\u^߿۟Pm7#vx +DɤWݍ Mo s̴·[ xrж9/@> 4gc쭻KAqskO"C|v*>)ufTs۽hd1r5r4^Yr\ + 8k^ԇ1.H7g a"yM0< Xy\=!lJ +KW2`ؖF&:M7HhR!zVf-jPm8hhMs.U{bOS<URg0Oi+J!ȗ2ߺZ4ˆ3 @7X4x{D#w%g^Pxn/9-'lm:Ҡp")ЂK `2p2vȡj]@ĈC 5G3BF!A0AcGjpѼvF ++ֹ>N+ 3ȬA[( Zzu{'Eh6첈,—#^b&!~)9_QB{Y!O{{Qy_ +#ƋU'LhTSwSAqVl^=!v98p/mؒW(>;D8#|6 4c*C>R3SzYŘgHFyllUKǸ&:󲀃 //aY@m%I$cA~P"Y/<?D<)BsXfM0WVXG:oI8xˢˣQi"\E!t-x]>LA@)>}jI)RTa)JZMe,k9^;iLGWf1Dv^NZ}Y ʬ9Gm:(Sm3ZOggSTHkE\?5Y ENW[j|DyoUQV]+8 8;L`ENmb]vga8vo/&ֻ/FRj![.Ǖr 0EJ+1So%R?)"P +V Q4cōVͤ][y~r!)CQm~ @)X]몥cx=7CZ|VܕCmP6Oi.n`ʧ-.#NĥQ(ũC<b# Sw͕LT^1SdRA&zd;X/) /f% ȓ$$/W -cli~+D ؏DŸF)&'T60qmz6\qŶ+$zf>)|GrW؝1[^ "G=D)ʊNTKd*{ rF|O5_ߥ uʼe5pp7B,90.H(: 簙v"]q}c@ oZNkQlT GOGowގ$:xL#I^=kTSovTߘ(C #<8Oڜpˊ6?;xXuuhI/\gۡ/;:]uO&*jfPKL8\F׾.GCO):JU'wàzWz\_@h~%5آHht%bs"7_n9,ޏZT ZӤ=Zu [:}Uq]YK>T!(2Wzl1ٟ)8>MQAV1bES.Y0j[B6Zq]2bQQ7*4.S7M#'ks>BDϽ[=5zdځ,6z_bJ8ѭw 4e@j!'uMGn-qr#jV9t%%fG] ې4NNd;0{^|FG~{n +ʕn{>3 WI>*`'`ru_>D:2(5ᐒFؕcYzTܣNJ{_++a~ + xTZg:/EKUU=: 峮y+Wσ0'TnMκ4v=_{橼A`][k(8vb/7[DL!<"M*y%wtX7kJjy;~(ϒcu:1^zP0Z"<^{T?Ui]Ii?D4:Z"dX!z*3. ʉhՒD/`^6KS1ǐ#0 H_ݴtκI(egY[fuib~!2o¼gV2?)[7?"A#E4͖V.2#5Ѻf#]!KWlOU_^m8}kӪ'P; )(0g^^*3<]e}N]Rt]z/fWK;9auuf>oɐwʒӖy"3H3G;$v[}n|7OY3F{BYVl>T 6[UvQ1}p{6$"{4&lM\|k }15RWq<_R +1ccGL@,I8xKmP_b +o5Y) ݵ >n=>H<8LjB^{kQG[[ՆSٱ|Uzل.bc@Aʣqr_tSP7{IP04[5qh*]>ؖ4A3p +""(eW;)LD/s76xl1wÒR~@Sn +tU(:$~/Vym?juJ:[ROY(YJ'On($suwV/KdWlkŢtjE'Hk͎#(RM+ܮMF5Ҍ{x"sCOSD9xSU 7ޞkK+_y ) (0~@, ijhx5heX`Q_:p̸tMߒLH)Yƶ4 +͑-o]Gj'卖&oQ$HxZoIv &,^v=H듯/id-] +#O/lE4I<)zECT쥾_5W)qә/(JjpۯT~L_ͳhR~i~EBuZII0 AUU +^I?rk}UwadOK/UySoFsQ+ԫ3wQ b\|t"A|b +|l2ġmpW3$~Q#bښw7 $VY%5-ڣ!ϔ*$AׂRfS_GQrr6ȭKcN'{REC$_J:9琷$NӕiL[WqQ:^C?ed!f7軣1Wc$5,dT:KQ/&JJYutvo qed^/{Tpn }'l|ؕ{'G8ha5nRuQonu:fo/<#Z xH] nڳZ??9%5o/=Q1{3i KR,AL?GEEeh⛘ʧe%GZ16ԛM Ӻf`6uZQvw]aF ֤$zЭ6WyrVAQBѐwT<7Cc%Q#+~v{gNMp"wt?I@)@ ,+R)"cei9UMC{RuKIusCj-.M!2lš%DM\{3My 6OZӍF$%,<?|Gzd&l= ^]i;kntEiXAN|gSUh]FT*הk"?[-.'ED}E$8[S\_X~*$$w8R,2೿n2*CWWuωCܺȂknۜ¿3|R aT d[!8TRߖ̩\K* jPƷ>8%զS ARۯu$ɻ̋h)կ5A&{èדĢ٥l oj*ƶ?s@j8p.MWx=)o;[V^_p=yVe.d[Ch{y"_;嶓7E "ۈ~jY.+hX?&se=>oUl˳%%O5sK7G;kc[fmĽ:?N+ +fS{Qe:E +c2MѸR?Q4Z p˛.sM!@ݽv}k}vRC;q7ᆭzņmb=߼VO4K"ꏌDž}5G,ZMw]?/sK#(mz?cS6zݨRVh}'ΊoS筮+q] bu vt)z4joF;uV@{~#ͽ g&|V~Qd][i""Ω3*o+7!6M.>]=2E:BG'w]o61惘&$/E W/&N[)KRը H>cd{V W~K+7^6&Y䌿ʥ/>Oe>[ zv۵ݞّF=w:E}YT(3)}UjÓ: o٩'XbкV |EƉƻn "ZŽ8ϛ:+N«_hV"-L(q.a",͹2憎z׶KgHy !eCXCW*M?꫏6oLL8Z +TS.HJnA4NPuX +Nߓ?;㮚,2w(͸0&B͵ æB.m;DiL^5K&zbcw 2¤$B-ZA6zQ#UCu s<K C銜~$կIdS+ڿd]&cWƸ^FZrmH3s֏/i:dTF[ LJčԷ J{Yi'r߽ʕR!lZe/}ἰk[;)%3#圬+*bPܧ.Rɿm[]SV;򈈶aivj͵)9^́B$1DF4=kyjCXx]l]1h i#~ Հx+AFݚ)4-ڢ~aO9VTD\[$+(=aT,CQRF'FY#A%|:VF=ܹDORl{ +^U׾/ڣGT3QeH 7S/i> B/HHg+ yHh hz94jֹ8FF42{ى 5=dǔWѺ. +b ٫.9*-ڢ){&QhlLA Փ>[Q~t9LK6YVEB[+Ӣ੻RD +&b)'%IwǃgH$UElk{m̡8 9$$L'KD2Tyʓ"B("M:Y?Ha]a<3YߤF穎dur#oG4WEJ?6бJ9kEf*I3uVb +I6bY*1eSQ`Cq$ʒW*UDRi^5.ArfNG1_Q C*)1lm{p( ۞E|G)ߊšlr&c)6TXrg.U:i(HAV EqܵyWY~+xPܠÏb>y.V2t6u9m~5c7S81/bkA! [ܾ =lbئq؇sכ0L 3cpomKYm{.YIf/KM/s皦g!' tJgVm5^mOjyk]nlEY׉BW1EH9=َu9o)~))gtE=5d mu=kFUk +1mN&wW+=~]'jT[I/5[/lEĔx?qr{s~ SN ~9,A)Z/}KIUSg<m_(5)֒՝,MQ#Hh+S z!Ҧ6>I?钗T*~vX!:0r)FOz]*BlK'JkRr\dR64.~$k5'_[ˬ/?I]ra""݈(Q`?5Jgj MO\a9hu>9\Mv?]+k]82u6 "i 4J:fPVuV**dc!/w$MjR`M_+)£͡tbϒ}_M1uCaDDo E>.>YUgI[—6hȤfOuji+D-1.GQ7O,iCS!6Y=Ouy8Q$Mg9;&xt*u|[ڧw$9k JJߵw)ɡxYq!UR2NQd(z;K!r%\Tغg"JRc__vUΏ{#I+0%rvuU0TUZi쨎-Fk'X?tڴ oSOkPf{ht+xh ѷqaK]tvu4CޔtS^pn&a7Q`Xۧr,Xw13Wߵou{x;j2Q}[He/zhƼE^zTu~{xPykgp' oҶz٘޿CGN?{R"DEU-q7t^0>Tn8w?ˣred^?j:of&6zU:ngi;C݋?N yWx>'Rl.yܒ/:z !/#*_> NMu1s^0 *[f9e/M0͐w4[-,TU@cݳ1-2ة6ôHRtCz1sU52,>oUlOm)WTgێSQcꮅ4Pnure\˖TE_w̨۪Z\ӱY+YQ.Eh4t:I({X;cUWyDFvQfovKVYZ_ۙS^rgb<Ð?Vh0>lu\w^?m޹y}6[띔+3smDW_.VTxuǓzonb̳켻l'u{鎜'sGNz۵a0 8|ղ3+uSd:;ݎxC: PPgD磚y^jOXW]=~{/>׫_ŽLڅڕ/ d]gN!Ugw?3撕A%eSu>tuv4ڠ +W;){-IT}\:r2{j)uY1mpUm4dWsOT ]V:`_ͭG~\fQ$=yiIݨ58"pWs eګs#MՈ%/QuG'u~'+ 7erk]I&[ь"I(#y_@2NMk1gB}Aw㐝pI4s^_ ,Q Ҹ<ȣz4jdr!XmR]Ƕ7yo vYajyh|d/ +"`UP2*`x,є{]¬V,4mnxk;E4ῷD@٪[HǢ-sV4 {ZgOF`IAt%IE_FE.Y5iUli(!{ _Qt\kkh{80t#=C}WCͧ&р㐡ڜz$PڿV0ΙO$Buc0x*~RpW k=mv/Zp]r'#mPUsv$~uX:,.V:42j[~m;d.'*QVICNt*I&VFHE˓A3;?tU-Xx0JP~FJk^x2e\lld+H$!2]{r*!/_Ѝt%Ihxn F^Kꕤ)ʶ.HLVک&}A S*I*嵪l+Dt*}NdSS4G`[ y#%KN=ݬ*M=fJ s7а1o [(P_6ieftESbcCV@ۿ+%<3Y}eרg#!EY|*awDTuԮ8Ok0}p +qTcbl y. aN]M\Ai~{(mD Z;O:f8+9Ͻ^ڝJb9m++ oXɓak_\'V_m8Yyn;&ӣNfLzrz3c7tR͛VLE ݷ $A@a_:S|sw;h^ wdM#}pK:~Fpt>mͫ lҺU^U/Z}{V|ǜzEE2V4W_ܓ~%oWOggSHnN#*u_> +:Qͧ|t6ZKj5W n˲_dUENʪwөa(yvg5Yo +j,P(?q?hZ,ĵ5 K*_NK:y{Lw2ˍ]qA-F(|{++Xgc]zDQ{%BD+=i':Ckj㹫m'PUgi,$@W +[OJx +@+xt٠a{1iRt8Ɂen-4,SJsי마|(F +r!B=>tR3gviT#& 5gs2_}fb-IE\GD~{A +R+C"J=flUw*e!^a@&wUi'IAg倉=5ϵMdVJ1g^o;6ȃhtriI#҂ MSX.qC >{Yȱ/lm@CivKw[I[ +F}Ґp9>Vf>NI8%IlDoM4Yc]3ʨIlmKIGE^l\(( -{[hMFgA2hvU\5mQuϺ4z$c[cMedB]6) ËЭk[P+B8":kY$YL1Um:V#q1|}btzH8!\HLFšh'"drHI0R%P gTˢg##m~!.:04G=ϒEdc6չ\!;jgeGʿE7 'e]NfJ/f,K9_Dd:S뇆P!QTZ*(S)؇Ce/#Zh]1䫦ܹzWF/kձU8qhjm?klJ[u/89o:ڬ3DDfc@b;&9)..;.*Jcv1'Y[~H41CPXZ-X-#3:И0%%o`4v"CraRrB\5 1A68̒(:;pN)>ɳO*`N +;B'1X<-4k )`Ҙi'>Ct ۂwafc)v>e2nބmѫlUF C̠F 3G0K1hUG2+a67ʋD!=͏e@"4$+Fwv}D!XFѨB"!i +7/ +tC~>6O#4' ! $+ptL`3V?Tk"TG횜4WzgBԋ%upUJ#<0bxR V"۲,`zܲuND#`/RꉴGm`QMcmM?JYS +GJ,OD qve"EL~,A^#V +,_] +ݵ",ɑ##E-ʲ!aG !4 +X=`XfG+/鸞41;1}Lp:ߞo?%{;OggSHo霢Ȝh ~c1(.'[]hvE,9?aiR[Tt~5y;&rnAjgtz6?n?T2U4&K>9$c$Uά{8$ɰS$jGF~mN=AjNM82/LIQB_a }56)Mz.w_+ 4GTJn@?^WgBEH^x\A8Ї?(cgѹ BpUYY] +|'HLg_maV@*aFd$i!k=}t/}qmYu]z֯:2fhx~0>g/̌t3V Q-zP=SL/-EuWF|j]QlDG_Lbg̶(Ff^0(58LDU.sSccf)e[SnDAx`H.STh7ac_ʬ» Gua\X&nd#SMM+5ɽ[3QO#aYSY|ԝ7d]HcbvsoR\|`0F2c^\,G/r3WzCd9ճ!]r}]M5l}̻:"0Hc^Fy>,|tfV*FÌuƾ+]÷{>ȫ,7'<}Z\,5jgWmeO}%[1­5mӚ%G/NǙnX#X؀Q]?Z\ ([@BjLQXP|̓]oz~j~5!IcVJ8Fc\?#8\NX~^${c͗'*jJb>~iB-rs>cv4j"۶i\~}i鱏1I]wY([b2A ˽t(Ͳ."q\{y+H¿<lZpV0;L,s~P>,v03`!0:f,M؋V\KZκM6C*ưY#$}9}̗\NgD  6zJ+eY) ',zSD4Q}dzH5yؑց/|AJco>?^OZA0@ГQe5MeiK J!=ۆ +9 =UVU:G]P&MSw^lH6zxyL}*3DB3e +Yt(1 (~-=1rɷM%4&| WVUA}oQ0+ $z24+Ɩv"~yhKnn&bh.j&j_n@`~5q(.SJ9Z{h"!6j_EuEO N!f%p5akR0>)9YG`dlj*h%Sia Ss/?V]䃝YCNHxn+i Y<|-24FDzW4Yt ?$@>[‡# #"ۚ4F X>%}(D;Ii ؕ<-jQ\g7j:9ʟeY'U襊́G6L ,ߙ@?|# ^$&Q-"ءfOVx8ctT+2zʨбo8mNrؤuvگSl;KѸ'CF X%gc&pJyJ:md0Ͷ3`tk2ݒl"M X? oz}IW&VHbm/W`|` ۭimm7SOggS HpILOuᵱJ߿~X嘥=oe"%]9u򵒱Ut,uyoߕ?e{wPVXl'/AS{*[T]i=>ȜRP@G'۬1vUŒiN-cxg)EfgR"|xm<&DohiԶE;H;$5]F+r"S` L&iQlcVF67o{P+6Jr=,6U`b#UeXo7EnwVհ5~lI cFwZkGo9O|NZ~xP` Ŀz p@0nm$;lP4D^1eyL蛞&#ɨCEiMS16clR6ѩ~HV2QMh݁xKcls}MxQ.->5ZJ?T1&|-jf_2i>U-&A}oWfIpѕ|-oel1҈l~8a qV#ad8I u\Af@e&t@[}rlR 6}޹.AM3ٚ[|dZDE-\>J_z3$8/%rg\6?x{V42ej*Y~tއȤnM˕kn;EӲH_Y8FuS Jym2/>m}ǟVS$!W!ǴB:i,~DXPÿC"st2xɞT $&8?93,*:?4ƽRe8 )*s?uG 0ZE6> +Knm}q!t20€aUh;lΫ`[Io۹?2 BlF{']^!+5YpM Ə~gl\hDg_ƷR!== A? +D]<6s' %Q@`h8 Gig,10&UAJw3כJ ǯwc< BzGlˣRQ)Hxx>e"ZBtv3F=WROɵ-0R&wqʒ OZΞG15ƦqVFoW=8=!HmiWlyJ9WYJI{J^MSa"JR]ūDYx^AScY;~Ԗ5p~H 8GKnˎVj`&b1AU=sD#! Msbਬ5^H3Y U(O`KcD1UnDOQ5[}e!:O°n +w'3aUoNӎ!}i(=4 Ig?FwA:V;17$q![N5g%r0.X/[~ɢW~5 ,>X +QOcVRH8ug%e2#HSuZpPVG.[֛zɲRf;cm"M +g^, hS#&6Xjfzl:|N7 ғl{6r[ rR$-YشMR pq0 CbTy#<ǫ7M`<"N?hu S}ևU4ß$&_*4,w4q%iC{A/" N +B ]ו^E_33J1Hu,h+H"F3`-0c1t(dxI EdIU7+?q1"fY G1~&(wӥ/WhEBXg݇~RLQKJ d}-Rz7L:)_ٵ-1d;Ih" &3󓃲jW$r E-oz41sbFǀߕ#E4nm!ؓGƾrijj}qRFqi++9 j=$U$3޶ly=v\!*NKڽ$G"'nڠ/Ғ$ +eOd$wY ĕ5&:X6w~ ?O% +Cq2e໲ϩNF?7ppF5^cTl"RyIC*T "gS{!<1Wd ?pߥU4HXMl8z9dj$<]4-@s{ћu vpcUt42ə+N RҮĞ|{0BVw@m1$4WFFwl~TPRZsMڬ?kx3-~ܜKbdiO1z 4PAW䈨 +bR0GT" ?wQz*?!.G\}`Yl3@?Sl6KC`bJ)\2iES/F;ؑ' +*`ƭ%S)g| ;II4^S8mLx)z6!lq&3F +($O.s٩0TցY"FD#mc*T!Mt`c!_3bcLi N_R?xg> + KP~|W? *Zk N#mDQ$CSg+qAv3u|O[;GoS6EW}o4f5%g\i8KJǗKx4 dMĞ`Bq̼klm H[*%NBD,+.R5,@,ɀed?[ÂWat?ޚ7f'$[n̎uX4  +Ĭ۞K` 4 +XݝZ <#.n… +?@,Or`MyV(2j0+A@TO׏yOggS0Hqxӿ顥<= a=P▩($:d~gGp8BB=hU|"vf +\Pz\wJ[~V%F|#{OEKi(\[deM[}\?AD'~^lkt6=v+. #jϊxGixgr;}ĕ8>o,mgβ;xkzXϜޜ)Wg[SWk{8u~u}?ժTGd5]<,&/4ZU[yLEJOJpwӋ mՎ0ۨ_"cߓ`"wY<~ͫIx$&uӧ]zWuKqou Tk|Q }0|"$ bGPu?:}p[*Qm +ÊF;9U ױzUMn7&rsfSWZ]rcob1mƞnF&+v+/w$ GP'NCPR]|!ͻ0RޢMqsW>%Ѓ7!Dzd3q~iƈ>Y"H}ҞY-y]oNʃ!u7qEt'|ےvtܪݝUjt~]fgLZw:&*FFbbJqydgH ;a*hf7h6PuFӾEwxwDceq&̇ne>z٥w+(zBw۷3>0H@)3?+. h^ԨžV;.m]OB՚ozD$ ]t^bg/T? +@uLi?kl~&f@ĽdBչJ:6A];COثT+Bc$J"H2T::{wH`Nawa 尞D Yu>l fέla9n IlSL3Xz'G 5W6K칢ZGҿZybWf^Y\ "l9(`w6S.]0:󇗗֊fR\TtQ\Zꖏn'9aPqV ""M5G<#PmQQQsEZ*Jkc;jl4T~ 0!Όs<^#J?ix?*_wUa[ߕB雭Rk&11y `s.)>ܽ/W:7R<8|%KiiU_ˮ 1%殳e_\mqէLp~Le~MU!6OsJJ %0iRBo--R}'ط_,P*{IiF "mcCӾi<3)t2C[>+"~JhT6ɐd~xrrJkkzvUGIQRhR rfd + 鐎'iirAyd svi7rx=Rxu$Vay+s?4(2Q}^(E5EP&7j=149R]1~:f9ۤx5L]=ꊿxL!z#hdN~Y֘4ɕ*=cA7Jذt[A>xľj4Wa`1v Bh-kM/2s1?Lӑ#~<0 )ѫ5ar$_L.5V]UaMi0qn&FD ߪDҞGȌ7T哛a M&3KƜiFbZYc4ߟm6bST8Eه-|ONuA96m-rpwFݧ=;Wa?d>;1U?V?Dof?F^Sn>Cx&}Sܙzu$hFo]GˋN*̞x'\?jD?~-f=u9oSͩva,nˎ;ȭ&o+kn]9F,+n;~-n']+*%כmM^ejүnTv7X7KUVigiX:6=^7ɓRjsbyW wzBѷNm= WS׋rث H £x҇ +{ m '}B 3Ƅ h'h+ww>']3LjT#MI^fZ)0B|Vfn#q\;|yI<$cR& & 4&[CbG#D&P}͏O;ҹٷv0~orc* S +)DZHx:2![RZ~U.0R_`n[S($ uӳS4"-d# L!C?` SAZ@xU'Q-ϞM IgFFs\e탭0j3S6sn+7`N Soz~-0;pd'b^{GxDE]kKepq̊ ?E& +OggSTHrG$9_oEr:ެvQ8ϐwliAUфT9SoMԿHcߚGMҒb!6ort=cgVKc%&1z ԕGE쑥VώTosحl)d?M]|sDUZes,SfXp*/w*6{]Ey%T룒Զ*%O|jkmY!#8hj[חs̓?.R/+W;)zk#M,ܪ72Ǡ4}jDjLGĺ×SsVIJ>乌\rc,y|2ԗտ &}snw'̟>u +GN2g˩%K_~ho&*Nn]y԰92{b2uZ}XZ ڱҢ/>Hٺ5^͍\q۹*TKiw^~*oBdʮi{,μ4[oϞK[e x!5]<TQRkg;7U.]8vmsp6cdf y4ů}TރRttUVMV~ަPfLHv`cI/]ZR~eWµ1-:-\20W<#­cZ#05 6,VePML~f1d{NzW.B&%oe4I }uFo;-r*Sc9˚ V U0=s0_qR>I,0h S?J]o*e +2u,U=`t6e㦩qRGBY_g㺖vK7M!CkڌtQ:(K3؎jZY6tn\vEoDtF8Q ƾ$|Zt~|h6K3?ZfIDCa0t݈g2 Ӯ7~/ʂ)(b +d>HSJge=DjʽIn嚿ARYb!tZٕ&2&ΥpA@h_*DY;vWYP(|&t1_f}2ٙ%p< +ZY>E`4>ȳšU^\tL+bAcTAZm +^N3Gs^ڔo}+0H@W\[: BPL] Lh` ;R+jLk=5L$d;I 51/lr@iTiٱ"LAz JڒjeEMɭW?[Ip}Du.o?"e] #&34Ǻb$\4vq:uIYv@43.[w~,yx'N4I)3]Z-0K6Gie%j-R[d-"JGux+{J~]#FfJ_8b7ڿ_q񇜷=2\/2)/=P(ҙbJTzcl_$øAIRè Xg[t]lcK'Ijɦe 2}ΰpsy'Y hJ }ôǜ5a1/"+N*͈zj. l:ae!H6EJi#{8|-s=!%gVS[wB5 2vww9Ը9Qe 邏|2_9[L6mϏubvCȋ8e$~Erew4ELi";Ltv5j +62U^!jcL_wQN$R2IgM\M,eڍNjIZh[]0" 3Ql0 4yPC'ѱ[J+]ӾU6 G ̰)%V?RBaͩ\$;S]ӕ`v; =sO)>>ME,~:3݄ثzwʥ1m t{eXW%} brSj;zY K=[g;x,}mk?س8YMq*ӷ&V !S͆mѡS5(00aBV.=OKchў{7>t~J%FRȋsWrߩ&N[;:7/#<:Pu:;7H˕;yWbz:93k~_G-L6A|fT$iz#'6;^N\U| @WDAp2};)}eL-MPSp=l=KfXs,=(O2OUm%d0U?57r9=l#5ZoGiNNΝi­Jp*K&N'? OwwX=sƹqhuNݳD}oC륪 +a'o47WsݩON[[H"h-{WO:K%t,̰/n5OG6> + O?Q A) f /)cas]=0 +@"t従y6؀JS<8VuÚzBksv ̤q"P۔p֦V\@ַ#@΅{LX]}NÖ + ,=#R:t/36,>6]rlalawi"'J cw- +,!Q,~$ӽL&\(fa慈ٗA}Z:ӖO8O @N:cS l`L50Mj4y{{ݶ.DY@MY &,,2 Qlm [`iz9RXc 0EQAiH48kj&uٶZ&ֿ @(iE@֑ۆ~K1lQṩa4!, MW32 +A0ww>P=N; `:d̀7c,>E/gS{UBlGe t D;aޫspKGWۓO/+\ka;/bQvVi:b{ܱ$Ʀ,5'te* G^|O+_oo??M8nOo3}O+v\U +jF8ݼ(l?U5zܾ U$kBbm?ʾGQyuo +gk't_^ݽYszn_j MZzuXoM.SCj&Mj+4t5ܣϺ_o>kLG'"Vhg1 +]bYG,Owܹyժ͔}ҕLL?Ӣ.+Unp޶eG=A+'κe4'Onm*9+6g>ڥD ѕsmn:?ݕK =?ex"*H=EAidձLJic*`%ŋVuqV/T<2ꧪk[P( EEw:xSQScFGD3Y+ϖ{OSOb*ӄy;(_Z5R_ftb> /5]}& 5YW"S|~}ČZ ,(yU)]$Zy@tHqϫo dr~:a wKQt?}Rrr!cM*W%}Hx_@/^+n"N7?ɳIA|q)Hd>fP#+ޕZK[j'/$SZs$w[iKcssϔW6cg/s0֛6"8xF$>DME)]W]qXMVA{`V6qU?䷫+C '*jBW11C0k%霺xI2Z/^FNkō⻵Lsቁl!"}'LJe5,)S?U-z% bAѼzyo uԔ>DAi(õ:m@ykyn/E|=}6!{y"Ԫ HZ?ӥ88c 5^(iaJ $k:gO8D=KsC]"eO7DTʟ{g]$,j hJފkkqֆ.E={\LN*~g εa";u&SݧQOd+oN-2n|hC_SOJm>iK\=(D˃cqs.cf`^]rӗ>u]mOvw@u bNry噫fqKy{C3]3 kFRk'L>V4dNV.zI[*MyFe~аT?M]H񠫾!Z>{"srXgyw^t ͖HtYlzD#?&cgGE1gztXٿ痒[Mܕ/K4Y$O=cWuuۺztt.VۼmUO{?{ӵ0#<6^JP |W +*iOY[Y۸{!<6mYqyVH~˟5֯*m9[Sv}?zku^'# :̰}Wݐ@އ9o41Ť[r2{g!i72Z Th/-$2-?] b{Lv=$p(d1«|n֫us<| c$V +PY^ 8ßԐԯxǗy-5x EG5}U=3S$aIBڧ)tm!fFJo%V貍o5mel;[*gj™TQ z +{jڟO +]JΪCPJ#6Ebj#URGSL'[U}`TF%.C +%Z֍,Ɵ+Vl7stʈWJD֋QAE#ٹn 'SAfb.| F6Q5dOBë"ÿutxQYvݝ0\2ź/B [ɳFGbR+2gQJ6j#4K"giX~4mݬ]\=I>緘>ILw)^t= %_4c87m1v5ζWW'z z^n$:KӲ.qRCheݻϛ_/l̾r\ߕ=ߤ. oʮD?s"O 蠅RjcW,v\, /u-5AIP~Ż.]+2[^,Mt6P:fo„n}R9#0>/]Wrk#^8q +~-U*9<RxF7in40;@2֘F?z̲_4B5{='6-Å e9GL/pio"ͩubJTzF;U/7DvX9&0#sӵo)Y{V]q2tPL7vsV~hN3EU^Z%;C晣 +I,`tx|Jo2a|3Pxۈɻ$M失q}8:ر;L똨/Y!7"t{IU"ûK[Ĵnt/)ehP_'(1Bh:$ ;:CSc^9 nX)k'vT~KoɆva O^!ekVݵ|v>1P@!RDG4lMʹ1R ÜL::loI|vg)WctYyjX]`ي1fKY[hGB#$l< vdYfreLKeԓ],KZػJu60wQm-14fY3a9/ %!-|LTO3UO]rd:k[^KU"h-P%ds0%ƠbK#Q;'BIbOggSHts웣衤~@]©0ma0ڤeӫl045h3Q39C;^n3Hmm}c]rǖf ( }[&4f$ NP#蟉Jt +m)=8{ Fw1M qeQ)4FHԘn[}8띄4ΉSz@,}e{g3Fʯ&$"' +o@N]u!FĸDaN4iAAь1:{c\р&0jobe92f?X;ͺP} +uE!!<\y+ F2/nl_/ g7*Z+/|wHiRȘ#|eD!q%7Ǝ *bI\`Y\y?e!~y5DEJz&EH,^JD9S;b>Z[ըgf.!|2hZfuaIs0u<5!AמhΪ]4:sVFU +9=q8XMJj4{8-џVX}z}T]Qa7V*Tgb}մMiH| T?Ra&2RVV:9&F| =g垬D"ѻtB"꧴qi)ɲ<]gYY\M%[c[1=rOպ2}+~rpz2]lx?XXԟ}P?WySLhF[:ƻs</738WgJvWTv'v<:w*Zٜ`PgT#c2:Ck(h̕¨|pe? {EqcY+OP9{U6^aUg! o=EY\vk M}h QxV9Y6AN +#!cͫg i,aIqic`3%)}E-_$#nX6{o[cR8FAZ>\@U ]m>e)Iz-q\S?M쿼9]8Su ľ$Њeҡ)?g )+z&ލ"'ud11 +kFxg̘ }y,qdJ5v )AEqs?IEͨF+BfyחΦ5~[6v1jмiu˹On&/DuRz'Zx{ @]"Z}I ep^׻ W v)߱s)BIxJ$L=4~zQ&F6ds7i ]7ʠC"$۸V G+\~E{SEcJҞoL[ Ҏ-eD!yQmdOC!F;.61{ƛ)JٻQAUo`+=IVJR&)TnQ@XVr'~B4t/ +RђUq]Z M1"dFNn/h ',E,Fc#CoD9iHp{ncYYr6,MΡFكv/,R>q!6b;X%-J .~Y0J,7[mt~Z +jnyLDTC0'KaI%x7_C}gfȊh"Ȫg; XrMHwPjש=5{?Q,;>6\HYzM98n|zZM%;ݦ\oJR.{ +L' Fũϕ)ck +.'*i}M "(#ڋ$d4N?e9DTaQ2@mjFp~L{Mdz{VLaiYh`$֛sՔ,_PrT7w *B_c_;ʶJ E5ՅeJaYUCOm{o?e.[-^d bͷբiq13bLEe>"s" q"Қ#{N +iNz\Eq,Kv '4u?/I>d|?F5s*Tm9?LaVO|Q~5Z]׹Ϊe[;1bJJثHwELhULikM4SfBaB7c=Be,=>m7DQ"FW83MԐE5w\wBtS0^#2~NkV !W#i,SQ"1i "QjKOҵtgAToTb)\Dl 8,DU:C B4~sTF5xE_ ^La^Roix EW54:Uk냎IiqRD\Mg4JuON2Z4 +2+:qLǚhEPkiGG + 6`>=ľ6k?-]߭~VưsU֏;yu"9wY! 6\V.;6Ʊj?pXy ^E|˳#J +'zDWc6d60AT)DV1IVcDL֮!\G6:v*DCfyҡt~lI=F=jS/w+5ObL١0 ~{fvvTyJnX +/\?!z"01#q :*4+3\;Ab[o]/d$v  +á|GP,zmdpS}<=ʎF}U{F[;7ثÍv\84Ƣ?|)\z!DMIGgQl-y=(91W6.Me? 2}SnӚB_I֑&tɛbN,[$1Ն(}]' N%qbSxyH,c5pf0iiD>i@%?_:I!8 9}!:&/+14LPe23)6GRG^B͎ +T=BģŽ+KgeCsv裂*YB*ط2l!cD'[x=Fpiy E*i8`Zd7mdBƝdSmdM#)# : fpJKJaU= /*!HDzB N|Lq&!D-XL5NM9vþPjSnD6a<"wx8]p'2gV 8;H'5v|LO:P3 +oOGTfxat 2كp[5)46c:x0'@6<І$nWozYH^lg b#RIJ^xꦼ9 6%rےSi ;Seņ$D~ְE Vfj:IJS1D) we23D@!_T_ҁ: 5H;3L;F6|[EO]krD<6kdw|-;׬Bpgt,OC؁ .5}^x⢬h3$)5vHwr\Cve߼[QO;Y|^Ƿn%{U|y{n<);vLyr}>(c!\AډY} "o]c9ǹ6{>&DQ#)'XK.$VJch-L1NOSq1cÙԿu:::=v+/>.{x?{Q8{|-׉#3\IhDNAw~ \28E$cbNO}~wם%W,cp Y}=T1qhե_H~ժ8|ܼ=*k't3%(zfsZMk.?"<#p^I>,06%3O(i{񅎜^!( +=jIgLq,Ni;'I .K?\h=_ 54C|Jovd 8{n^R]rcvc4mY0˳U]JQ$>I>!8jԫjQ[BUUPP^Q~_9k.4d,.Yt'hbdXRإ {N0*=d@j#eHu臣X}葳H RS1F\vi~nKǨJ|㒔<53ޕ80ƽim,0=28H#`ƭ_lӻy2R^ 8 {$Yω6$ӎ*ZT*Fg|wZ܏F|K-BLx[Š'zJAZg9dW/WU.cyOy e5F_[gZQǹ|Fër{Gή?a(E +C$AzHBC/M8qc; +R<*4AW}z~2 >ɫA)1g%t̴R玚l~XJ}īa6,4Kic'M +:c3ׄEԚÙ?~A$z"bI9y`N2)<+R2fl\@>U(d/I2!]j+CJYsbY iøotq;Fd7gt6^K^)7 N^9 xJѯ~1Zvr|9ߙGY(ӄd_d̃SBS +UKeޛSV޵9cZC{\owbpػ0'Nj憖} |Q>h%5W~\{]zvwS%+.bL$"6NlMĴːNoMV#.`HsY9(xJ1<\QRʒuWr٪WFygLs+묷qoLDz=0=n&[~ˉMp\ҴZ1P q5褪oj<'JH}uW9/7 ]Ne}ȹ +dˎA1"S*SQcߙtFy1\gN纶7"|ԍ!mSD;vΆ+n"vڼgyVn] +$9k\Q}%q#%mʡ jzu9Q'3L6ܟ_LmS +0P3ޕ@FLckInѣcڰۻǾ2>MŠU<|5Q*TXi:qڣRq(Ftc!hj [?b!&VF[Z( a +˾K'쭖=Dű,;Msh{mO2[J^#IwgTVvdD#b"φgahk}voN$ OIoaDZ`J0APUG귷m-6ڃ#ZVv;59UUݖs.DDs}aF!NiĎ=͊گJUŘ{@Xw!XqgtDfZ#k΂L7p6F!M], +*(U1|]S/R2FnW%l^X|kܾ0B*VO7jD98[ԧ񻧉j=x9Qνa =otަ;I"IGݡaGc)?KcIkMKݭ~VUݩսƋf߿t7_ݽ}昇+c#t8n}Fkk#RL?NZX<}*o\XŤ]u ;qׄqk/;;?P?rq`x7:֋e?Jgnzb6Jkni >]ԏ<"=9PJCcu[Be\u_ZY 4 'xilܫ*׋Ԛ 25((gUs7v}=[{F/>runAؔu-?Dmf3{o"Ր ʏ0[*#Tl)L$2'?! wEe:~Z\_d>al$d=i_'%ƞL494 /8S?e&n7ʡ1LeyUyeOggSHv䨠렞^+(A).}WcJe Q4oD젻pE03j3WgYCa-+Q޻!|+ ix +Vv{i<`UkH* h: 8{IbEw ^&JOLl,>0SB4څרQ>{Gؤ`ҍ ?+U $!2^v3¼[!K1F +5d~ 8x?)/xi(<MGiPc/КdӠ|^ovۅ~aA.hPYMW,i;-) +X;G JRh,VT!NӍhU[B4_o%%QC;(_ ++o7v mXaa*LҒIDw\( qK _BדE}H ᯋ+Ay3Z3̍xAm;-)3͍—,M+^XA.NO\5cOG)󗹬$B[(L'lM/D:@ >ߋ"GqL`:7m>wn'SNmсxÝ,:| x6#0X2롂 +D{j $+"/crӐe>8S2GePdHGx+0X_B~60e_uqX@'},# xi6}̠1A1{,.T,?WVO(n$SRYF<5f0m BXi NwEVOSUq[O]R0W^(u&%R'|y?ً2M?!fT0e6KU8 `L=GZD7@MגC +ʫe)VL!vkH0,en;(#|/)7l@ys=M}k_ٔG^q?.u{v+jDUۧocx!2yًeȾlc;Фf^GR;%TARio gO,x꛷.lkyL-zWn%i[! /aS}#  &+VuYT6j6fE}0+:=ŻJ,,j?ƭH<(>!L䣘iRPKj`Ҧғ ~ɋyo)< u0PS!l/ v[:jX}p&?6\*(l^t ##l..ɤnX̵̖ACƃj򌆶]Ql.BHC-z Lk ưFzP 邈C&YS?(‰ZN9Olϥ8imuniyk7F|Z ^ + |Wg5&{v\6`Ah9FѺ*cũ?5q"mRF`_bl!,AIZNuCu`6OtB$Ѡ߲Io(McLC+dWlȼsӥMx89e^ WK{%T^Q ¥7^혩@E;wW>۱S5W(Gʜ["KZcmT|!л2%m y?PʧMɏt|K|q"d'GUXph+hE*( babe&8`bxxhϜ&?ʲWQn8B{7씇|#^lY)Xd߭U0*wlM؋W +FgխKu7`3id +tdI]GANe>( R7IGZDI _᥯Rzixv-oK#ܶ|BSM㛪/fH~2zpԡg0|Va?9j8 Am#+"ӳ3sD+BeHWpU> [) ~]GM_`F͟g'_xQ^=ߓ^* ~pPhRg $T|t5|.A'zY1dr=8VhcNBΜHPo1=zh(=zHO?t>vW7˪FTo(1@7:|Nם1 nf&9{!03uIۖ830|4b)+jY1ƶjS B_xl(Ȳg|5wrrveNpvf7*W=F?SWPxlad{ry_űӲ⫊:7WWj|IK3K*ۃ&0? +,A}(-4UPXia.9R%A+k]_'ڲ^*?>C;4zX/{*eg^oL=n=yǴG?j{vy*˗ݞ_F28sz[ 1d.@kJx&)<R.Znu9a_ ڽRyx޹lhK}WcAN/Wi䠾لEu4XaڧǞ"#VfSCn+sAEfR[d>+ bA)F*Yj MX'{nS߿Ty=T6XM)L{ފ~hbࠃį|`ԇ*g8 ]Mjv:. tm~광ߦ -(DyRaDAV՛e߭[^:-kXV=7wwTIMFd)gJ3zX\2BuZ${R'_*޷(@̿†=D9X ( U mBUvD +[ !ڝc}B= Lٷ0Ồ| # g.[9ܗhGH/# +{ס…PV߅VG#Z0~@6d0$[vB!؅% "dOXkvu4͎ʉSϮ;E"R?f5Egv&ElF9ӣ٧^Wh=v=,5~<@A_ 8Wp:f3pF.Y Nt!8y$J)su`ىz>47j {۶-!>(bbc٥R[E잊%QZQl߹P!eTϧU6b-:WF.EDit5nw L{z%Y(gLk]qz/9a~ҸPV%{EFƵ4@?5mu<.}(2µs6 h13 hh0G\"Pc$'솙~++z )ϓUWqi;BšQ*2t=usUji|˖Az\U20J-1i~+-8}h :ˆv2!X-#K]=sȅH ڶkK̅^nŝVdf 4mfvi)?mÉcؐ!pDM1#,U[4ߪ16hgc>¥lT b6&)m!Cs4bj-vwHg5NZJΟ 8-DB--&yaSadW1q4lv܌jЗ-eOt!jsyȺwB*MOggS(Hx +/zǞ(&F"pYꅎ:r$cɞaIi`yL29a4%4N9TLl}߃|hi/c/evImrJyMZ-!DbƖָH`.)~c"#`%U/B;ߺ!3"YI`;!k~K#yZPNQaqjuҦ1]Y H8~ |#n@nM*_M^zZl#2Wv2 ;['uIV_4IDo)^-Tg[u'oSDM7ܘ]X-s>].wtt<-m$ɴmOWO0ujëʨ3+i |}tqT a:ܕ7T3PW0HRʂ)q{fJo/qnRRQ~Zӊ<7v?n뵫/3~xr <p Ea(Y>wJ#&=Ȉ7{οc p++c:ƜYvٝ80$On0sG2=N}aWS==5 +O +6*ſ}[J-Fj5ZN4]ӍH?58:vf6KS'#GPͣ$ +삹ԋT ?k=D4wH~8Q` +p, +P=Y~9+,N :%X5TUZ=Έ+]UDDl(!F̥2/soצVmM'״m<}ߴ%$yv[fuyiV 0ɾH$00vUזܻsKղ3Qdcdj2+EOA?%uaP~<+⚧ >bPXx8g8c>૥Kiœ"EoFL: 2-R\Z2J3tU4Ŧ,1sҫאAʢeG)&&V7K1i\%AU?3E,R<)uD;{ƘshGb^oN1ff+ ( ~Ex=ڮ˯W +A44z/ +1 1㱫BN.:_14W0U&E/iFfi1}8uqy{E|=1el=v@RAX˖1/s&B_4wA$pu3E0']SL"uͦ{F*~X Hx(EAԉ4e>w1I|K6FFO ;4%|a΂fL +L$|4{dK-!O*P(\sG!Jt "2ZF{rf^2Z{ȫh AȎ1 `xC@ǚ +лdhbm1 ְ[[(ƤtT]hlۈ|5ZAϝo.Sȵtw OZǒe )ġ-,0׌e$)8ꨯdg ԟr~(8։^F_uSA| d~ ]邾ňǹ?aXkyatװ2э䓍KHcQqYa8R1)RjLN 33@R*[1kC)lBmmKFA+@o-y(#r5 +K[̾K/e"Q1= _^ڨzIQMK+ȋ4 KPz[ٻ_ۘJS^^I1u)А~fŗ=:K@jCc4bZhin3(9pLkpZC֪F;`# 7)$FɩqanjJxy?0ZgC 8=0& F( ,R뒂iAȼDq올V.L^a0j !. a)Gs|ǀ,;޴_jh +oD6bo_3]Y$ȗ=DV9&-mam7M#`Ty(i1 |2?dspu&F.~+;h:p;D=NZ;;5αAFkV3˯Xu^ٺMD;dDUY}8|v,t:٬1D3*q\/xԇd(L3kR`3ofvz|Hks촸NR]\+)V⼼8ٚyXxgNЦ* ejag yLO\^ՠZFOkE+jj=KEXUn+2<ҼkJn@\VFLQ<يʵ<^U);Z!ly,8aUM-LVj \5b_>9cd/R^'_PG a{b^ɆB˓T'$w%I 8JDvY=~H [Qe[ٜ4 D1.'kܕXy8BDd`t4!_R8sΗ hAZp{ ,Se?*VNmx2^|a_> a t~T҇ +LEaέYlJjpzgg?_74vYCʭ{9*I8X$bv[qPF<2(ID#",|p^ވB̷$W1 +5w\f3N`ɴK ǧn=:vL1L6ӳeq?$JX_'ƕPW~"  +tlueM>:Rn x|c_zu-Tpx9/.O"f +0i7˻ +1)N…29ͭ B+]bYƈj/6(|۫6Iq~m6ʅCeaBoukT@̓(%RL,3:shbO>C>Nƺݳ+%[}u{(,(pFb#y؜֕i2 jZEjŘ^ҵo֛>=[tiqջF2_ds\j(fZqeKOg.]D;inц!d),a+ò}*pc EmͫmaQye@[ gOdΛˇS^W\g_j=?Nf V.%bke普r]:-9ީ7zuF/D=o9N >MS%f rM&*Mvض뱻9OɷںXկ?o&[:oLy?٨>u.jb4L ]ϻҎ[1XO_E7l1@}O vzhP 'JMc^YL*L4Z1}kWu +T}ONjsU +6R%ƒJ0K +d+hmD~649$dSIQ׵mX%&kAR4I $2lZAF^ <U X?9kr]R!M^d^5_kK>-my4ٳ$U/\Oi'Bbt>2|lT>8"[_c !F6?IQKۈ8Rt;kv +ʷH~eIn.96cZj#{,q*~DBmkF3M|=r<#l::IuPdd>QFlmq14io[!Џ[<蠫jtkQc +>/Yo矚V=dSLTw,b(w ;Sev6cLeUφ&ZҧP8&$1YXpV(N8廒&霁~PIeYO:00w=YHQۯ黳+~}7IZ 0_\Td4k)@p6`+Mި#ص{stxn3:t'"%! ~u$1bdG_G(o1'2^2Az:m*>}Xwux%2O5u猘gWDL@Gd-<@W,Ǖ* {Fj51ao3YƖ"~эZrqF B7Pś뱔!FD :5& +UwݦH*n2ߍq{]W=)ww1۲XHHL`N-1+}8@ _"W*ɣ=* & 3 `m'riKGۑo1gmN#4H{:1$.RL~#zm yI);'"BdݟĞaދ[b6ٟ4OggSnHz`{,= |%_1Z!;z:ir!'YZF-jsz_z@0Q_vOn[ϨYӶ:ȣ,jzO]no#V̾ϿnfS\יكir3gWgj&F24Pzg+t=#MaRYXԛFxM29옮BZv:77NVxg"^ڣ_[[Az]\n 2P:cY(Uv;] =?JTyf~o51ݞ_K=%s"J-:9,hxG$< oGƊ;C>Lh+I[?QB6̦jD@R4ԚѼO#ĢԋH!)JLlGy@|JNvR7j,zjٲ}+v͑RICh  ToHqx~H&`>Q5bAgeb2]`9+R;X)~5B6uv4 v>ž]Jă@z3nR؛ +GQYt }pwZ4^ҝ0+H$F@fʘ U|=th3}2.9\p8f +"kKi57ߺE2Q:ONd(=s|'%3Jo4}A=N'l>i^EDi1fW+ԶJ>nT aaQ*zc7+?s72neЈ4 2vi޿PW \1_ym95S ՠ5ThH$b:xfc7+eB`siTkוn'#)1SDƑ|{=C|ԋi,@&յH/ aEI +ѨH;H'c&kCdo0՗8$ބ6sigX{g)w4ũ*9B6KU'bODciY:cc/w?1˻=BƀNu[( + |1s0ݐ|G00)mxUTZ5InzRަȯ3ǡXVlUuaazIX\K +s9p-(%MLh𽊐_ 5`@VDƗh]BHso,EU)c0 5a2<8B:{@0,%0=a~N3 񽯅v+A|*f){4'Ә7Xz&:ࠗН ]_ MZ:@7efH-e,:*J)mk$`uvd+Z62!t3Le$q W4?)0N}%+#VhV:^BvE b1eDj#ZiH% ReD)c\+\ÒxZ% M XV@b#IR\#$?-v#9_9t +XbЀlROIĔg'TE.#)4-M-|A[ybwD 4+lwNJTyD@\1ROܨ",w:|w΁ʑ5D?m~VkpBo~mTe]^ę~R+T8?V~הS]ofE)p]Qscĝx;F[K7;*s{>ήSͽ=ğߴW3Wn右2ءef4E}K9k%SW,̔GOK1֤XCs*;+Wuu{QswDWmE=QVY0|μUU[sgdm禍˺w㋩ݚ?!_~W8QwQO*>bGkփ.{aTE)ϔOQڨ<DL&F\00Yڵ׀{x;3rzw[׽ͬ{s$M3dH)S9~q:o{,]|ADdx艮Քiwo a,1Ş/{W\$""3I.}D%SSe%a01 !o2o4OrjTˆyYŨCsv:W2xmt}D쇫>0~xp > NkcVҢ>&~$+N$Rv8lZ#m9 +Ɣ'32y*Ok.b #ج&Ia <\'uZmXyi e :/MIvnL7s~3hbE_C -ݶKM>~ Ij7Λm[&u_xZ~(DL*\B`J=w}ag/nwMpz_7vN7Y9,ڥYb-18c}~j,1hZ)fˆ{4Gb<lx->>).{t<{8\PE'`JqIm̠+u2їu#U\S-+~hgqmU'w6:L^> (pAW +|p=)ckJqVw ]5|HWlRL;0-ibI#fW!˶a賓p,"?uBSY. ߉wv654E Oݍz8%.dTplVei*m4ELٴ\uwӷԳ]9.#4tҲp1^RP +d[DfY׺2ixULP *ޕ¢ɺ|XDZ|ڥ +^kA?Y б2kAE +mGnR1}r&Y8%zi-yyU6&X3܊ `.(EuEJ6*{=gsw(H⤗ ~Kc1:ڰdc;.!W 7eA^dXz ,(H}i0SPS_(F"ǖ0 Uy@2~şFaEEa[ѩРB +NI^޺rc)yIe.LtFUj#KmKfQJZ[؎RH8ZǻQ4)}=ʳӜAUI6ZO[6A c*p3 'K81(䌐*ъX^9H $ +׃o;p_ }tğYPtkGaq +R_s3%x'FR/a[fwz%^@iZ\α+q{,H2zhܖ6PYK%#c"1UH8}wMl-(:1 +TXY(q3gAN8ҬH.Z#+>IKBL#OyI\x ݺ:5=NC[+4AW +#uR]jl9V.cl|&}04zIcC%ŀ9i0JS pƻا`Ԛ˝6砋lQoe)lٖ6wjAk@0D6K_%nxc;G.i4! WQb85_"h^oݏQx51H=V`^WEuqhh2OƬYkX5+?RN5B0V"jl[›1&.{1+OggSH{=詠x4pRK^78' C0J"16ַ?ZFMd0E 7=|,q! BS>ʖvEcjgvaU FGq̷jIӪwbL˳0,JBOUHNjr'Ca&/!*zbdij?`ekMfo%<;K +k|h_bPm*Ow"ӑ>Dj=TZ +Eb8wum+eys5(-sQݣw5^ʌғh}`̹#P,%8qOFZү=zz-z[6nûߎcCGL=>;nN&Z]Ugj?)¾u\S_3!3Z~0mUmeEe=cpmfNˏ~|/ׯ~gG[]eg#{:[7\;z+XKc*Quy4Ko~[n[lgտ8 H೉Ӝf. -S DwnW.?={cɱKJ1zrI8Thྠ^aϕ.AfC}/ %d!tD#XɕQ3&6tw:1>jhhR.,Afed4龼IoDSF%Ʃ0s 8`;RIh" =x;co>߯*nd+" ʻƁȵ]!NG &ExS4rY0 + |W7??-V92b]HHH`:c0agL`xab)l :Pg%$|= >JQ +U-rzBDȶHIzjiIYH(.LE>HlL\2}7yZEpDFu)LVHI+Yu#+Q"㸯gT91F^"2y9җ2cEq?zĤ[~aَZ|XH ~h@@-kX[wau.PeB "9`:iG @{16rxyko$.=2ʼłvCU6ݽ=jK_:X ☎V@.@JVx} g3.ƥY[n?V$j\wZ}jȐ*cWF+f{.!¤эC@\8ZК?wuiA KP=〾9,$U$$ ټ6#HGKtϜ(3%53bBR{Jcu@KDAʲ8a]WؘH*mWC8S&?X',hpƢȲ@olߟ,U~C5Z.*@IZZ +F!Ӎ¬cl8AtG#X]]|4;atzoQq`T@o& HxX͒Qt`~L_o|h2n0ySW!.yB4FKrXT[s Ԙhw.:~VJ>D=0zGKJ#몫Utb=6*u8L#a2ĹB3FLH%zq63{ayުzGߍme +?gdў.ݪwkDrqS-t[SI/mBxxG + +@Td{_p{:_դm+iLY:v[uN#k`~h6 ۪_zæRxȬo%Ċ?Us풌bfMƣ̍˥&:UO- 2Vh9t+_W5G6Ta +]ѐSo˓EbpPRp\%֪ݜtCt +SN]S9&;u;wh +{E Ϩ vuE?iBlG[Z Ċ6stnqoIyȻ9kc,5{jzy7R(*]%#oW _-[a(䱱ڷ4vݥV/gʜA|nhlqil跣Kc՚$$KpFR.qG/"s"'m[z{[s}#ᔨh/&bn>EDjkv}D϶kxk>ov[a us7Gy drG:]J7Or]F1hXr(ӉLL՝ \#ۻűȘ[kMgbH-04N{obrGR\ -+i|hpu|['g\pGUm(%/5>uǯMp8ܯz@n\Cy<Jkީ&|ҼFLMئt{ĢP҃zE9h+Av̲?w!pI|h[UIqu{d;_n7L_96.ճ +<`xFptNĮaI,0Q` +0 lXc7u44[r$jR\j7L:4J0mv~ߙEF*%aV]-/&t A]Qohxn`AIK(q'kA EA}5*K韨dc=hiyW6VH!d[ߕ~9 x<:AP +PCDǫ1~8Įv&,qCg(wk7mjQZXj+*ԱL)̍`>pgBe0iK<ROXӈ$'^CiJ_czO$$*DjoGr3|U8$C[bz{gʌsjp&+ȣiPvFF4ce} :CsJH%̛wwu#o^r1D?lG;;xއeB5g%BoiL+4V^#+XFfu+f].R;c{nA:\~vxBȷմUŧ֟h3?WaS9b@#ֵbWzNC4GSP~}TL;ٜ5}tXo+[:FƑUYK՟goo|6"^<,M/_OJ7EfnEWtXIo^<^^}+OoҔ1f_KMQ'M(&TwX%@^GpX3]LfqqnWsD;_^ǡ%dCe>y~1sR3zIa_QLtmֺ㞶/n +%\qWbĺN-!>^_nRhI؛L{nu '|H;D,=hأ܋֌7D#H ӌ/7F)hq:_8Pz>:.o KWz]alŝ1l䀧ֱMbsmc9k@Vn>Bޓbaѫ< uΐM/BHO\h+ʡ` p BNѣƼi[w$6)#;W )A[[6YxPMd?ۈ%F['˷ɑŤw_.dCH8P@)ՌR=1CN{ʳbőz%3r坵>]YFH9~VT#!i?(ڵ˥ +ttGX;swNC%- ^g%5 rD 5u<@ױ ?t)qYdMnV$/|K(.xĭ~O:Bd24y6~țH +pɎft:T5HdF-dg{[yWg9 Ym~y`|tTj~*P-M.+C]|+-&@99ZuOze'i->2i= ((HJGޠLU4>VJ``0ѕojWl(=WMdID4J ٤*I,Ktq1"k,϶!BMz?d -aU'7b~GGnPP۩4"ȝ٘W+_oC:[v+H'd*nkmTr:EsZ%_5LI8nL2I.\B&ad8ɍ+r:K֚PKoydAFٺ j'?["=Y t:||ӦeGO(%hHn}, 9Tk=fc*Ų̭ElܫIQ~C˔|2|k+$R-gkL r1G՘܅ZѲ1;~U^kP˄vK55HW},C*UMx6QDܓ'kFN:O|d,0"=eJߤ5Mms[|.-$Y7;P \T` {/폍 =~_#1}0'7=ͶmʉOOf"k$<՗U;) RswPM&n{KAdm"d_6YKff]KI˵blc2?7λ!4 61aFO@<;f(̝UuIdi6cq~hyU4SuOVvN9_ڏUe$<9p8f䫐3uWa;?邍}˒AD_)S['mMѻ:wؚ9Vc&duϭ'ތMe0\ܩǾ1/^_J%\z֕H~w"ۀ_o_cۗB ݅w R\HtJӚ3RثCm>w0Jd +'֭Wξ=C.u:Tm>\iD :Ogh1alFQjشKsMX?{W 6Vt2Mf‡fиE.L45cB55Sf*JoKm:;-ڧH;,$Z=- Oc(>kGfs%vCwR!>د~j +ЀCLIseX=[Gs3b5ip(H4MCE7#4U2!3so@|HAj6"w,`1. z.nF +ҋe swGk,׸=5KʽWT:uG\~ q1[eC4I9Jd8耷8oT_O~?9+m^̫K3#iU +V\!F9"kaf+#jի>]UX4dQ>4/%UE|«;b,]1u_$_M*ꤕgH#L?i}nw$]/ჽ+TDצN*?t<jnl Oެժp ҁ(VuiiLC[LާLۺymV~n2} J«OT+vJsmo}usjj!E)۴0eI-z\\d#Pn7kdBCbh+':}6>i$ rJ3JqTUL]jTxnM_b +ȴ%TKyQ\_,5L6(wf n}j5Q{#NzaKy\x!<~R2&-jӕ/Z>Ӏ<β 5j +'9lT&XgSb*%|\ȵE"Nt OI,8h]N^JoAAW }"%!Ԭ^ o2^U!۹۲֨LGD(W~)L:\k]l"?jjv ~FǏq獵/zMTAm݋nk y / #+Xj1OgdSͿ,[A#5r rʧ΍jR +[ +ۺbG +p[z O!5*uʱF[r?,غ YfqxW'#-hְ% nKI#WK+%ȣnpL+mT*p07 25y*$(bP xW%CԤM U tHRgFH[hi#x^\"*w„J;-oDwe-(V"0>6^Ff9[ ع\9.|#gpASnLj_FtԢ0^UyqUv06:erf+m}$4ƅYؖۊ:4K5&=e.d7QI`/)0(]vZbK[~n`{לLk] { ak[ײO#n3#-ܕC"Ϳ殲W|~L߿Sjݸ~{ +Ye2Jʇ팫 ~;;>C99׿H?m e;J\ua:9p6*;^nU@!+ ]b~appvbԎ͛:+g1ˋSO QF;uU]#stM0/t&UNZH>O߄H(fD:߸Nk~ whD4y٣5b6RJ"K vSp6g oey+򾞪FHY<.&RQEmOggSH~rx(\<UmErBCpU= *hdVe+:%7o)z[i5;GG_;h)ǥQE]m;34Rh,3x3b@Bށڏ^6DxԾ2*2wI/TyP=BND&ioJ>ƫK14xy2~|AVmH3kǾ Ga<`<1,ɐU4u?+t^p`5Uc+ O[/cUrxV+|v\$W;'84A%6Qϔ1~ܕFEC쫻0o3eyߛyą< 1-ޖw!v#C2CFW+y:\/v&etIt +'#:"o; fOVfFESzWGj Fy+taۀi0Xh6ڱqڿ: X)f6U#~v*n7լ6 Io}I4dmN J6yaht_Y$\,-@{2Y$=1#R^)1ڨrFB֙BDV== &L;{zhZsJzNp)*\YگLcbn_9S hR<ru)`T 4JgBW|;pR rJq>Sϵ=@-G>djY={\En@DWyN ဩVd0{J}O}D \'.A+GDh +Y$Ҧ|y2"! Dt2JQut>PE+NYzU8;b0a0F[aO?aB6TÒwJP"IDIB&VӪbފF8ߊd K6"\]GہzNaɩz?:AH]y jLrN*s?\XwUHʚ#S!JZl; re[Ӈ`(a, 0s.)rIJ6.oVmyJJUG'9g4#Ȩo+,,B|r`5J-))?ʘ6]'![''Nx{9^R+F|"':**UĦCT+G!˶3Ozu0Æ+GM:JdPr"*7Bŏg,EM8g~DVU=;}l2' jUvaSIxZJwӌUX۷b?z2S^ jY/D4FZ:CըI"pa,?EnC%ԔXx]tKqefT˥9Z*kQw 5ҩV7\#McW)RT+=b4ˑKCZi,?{*}9(rbȾ޽騻׃WP M>A)NOuоO1Z e|;,ǽ,zRVzgԗU!Qxl ڵLN%M@jw8!Y\AYa&~S؇-wMbAZT0tQ]LX;T{*^[:r&B=SKM2ۡsagw+wgU/?u'yaqWku߯'g:cwXU~M> G6qLG4﯑H,\Kie˶<rʤ/Z hkyTNeݡgPG{Tm2>jq獴s=r|d +M+_+އ);f֕ +t#Z4VZj Z8 +S<Dڽ:ch\_jsa(br|ۊn//Ob|m.)5J,ze[]hdS e${Fݶǜc#+^{UY$ +NWt+p| LJg69qT҄aF|>~ƑRSnv{裢UtyaR:>ҖiAJ3hcֿG,Ov,:bq(Aj}jͫq,ehi1-m;"ucs*^5V`|n45Ν:?CPse_.>,0t+MW{UyCsH wj{ 809V?0͖Aܤ I'Mp&4{H[q|alo^sf!TUAwhƫ.42k+C0q^6(cNI$=/3qE)3%ۤ~4<ƿlۗe݋Q@cuǂjhrI@*:T=1|9KU{y5mƱPQ_۹VY^3~X5g:m F(Hb_7xLBp^ddr٥Q1KP{/cw˰27['*FJ֏Q=xYyJUˋ@49BhL yDVL̵y?W]?Ʈ~zI@1e"e$aP_j)RBWlF7ͮ` +FVR>_ +'3dɒX܍I'ňB_R +gq8)5òg +G8c禎`h%5ɃM}}lT4÷ܜdNi{Ji:9D!߄OBIhdҝی #-3u" +հ|R߾3MV0&>)pz*b'_* uڣa`n{ǙXiGuߖ<;MħkAݶdNgKޛcsFM_ZvMj~G ڥIR60N4XҚlF/72z_y_0\5KU +_¹H]q%puSUU9j^>7k`&}?mUfGd|uzf2)sA_8qͭAGl[; +.mYU.șGۍ#G#E^#Y.zm/S^t=s9DQ-ʬ&v(MYO䝠x\2M ^1>&j_80{bYŠV?Et[$> []_C.w+~e*$HpEqE\d_}VE!*9-çW"={@Aºk0q 6Uz}9;0>1G +!<۪#D!DJؿ:yY +.`gVJ苄jG-" xƒޏ%Lw4n>fdTO~^x&&o\B ߍvE_ +O| +N SRE?ϢPw+GZu"K|UsZ]n/h!P"N$!̟18G>f鹃&UW4$"a*SU` 5Sx*Rt:호z|m{)L!7~dGƱ5_[o]#e&nz?:`D[e`7||(P#Ef٧t6&vmh(A[,a~]_k9v(Kiʴ%چ$m)6it:(zcRU6Tsr˒K=62 X|; +8  mD*ı^ԢF1 $'>zܷl~r~iK_:>Zy䧻T9> G~(PĿNt$ӷoS6KJGba % A4:+Wo4π95%~,W+>K\=|LԭLOM$Wu>O>=3oylԱ4G[y, vQ<)rwwakʞkI`0)ڧE"{V >ovO(BC{hY[f8Ml9^yU(qj[k]M:MYo/fImv9XK^=xY`l&Or| "fcv t-_FTcG\CYBK(~3[=2mhzSmWeOtK9Lw3nLvNݰ#Q}%5>Hz:g&Iܯ˺<]ƃ!ʒzIꁭ,<=v*1|H,S4ߟcc|X~N8^h\ࠂpb {!:э4eǸ8/4DVM,Aȸ+eyY_a/m3 +[giUYJ\a%PQ ߊEWEI>Bǯ~t)!G)ƩF:lRq#DץfX/$\_U-~&»{x菺e5 ʔuwo߯xR?=џn9-BS~? ~dq)ED*u#b҄ûݖ, DJ3嵩t6ٍי[ib:R2qns (HA7Ņuؗ_xp+yI +Ł;|S5@ME.3d_n\a}Tw;[RF)\0+&= مLjh)ygUd FR56zՑ:HVn79$Y !,FQ*#{嗢+,ҲJ: RlBum/`{Z,ɈOԕC8qoy?K@6+{jt&ݝ,C3in9]Mk&MLaH*=TI]PcWE׎S 8 FZ!.r4ӎ.F$F>Ju]mTc"IJW,A0 g9Ӆ\ZMgz&bmg lj}uDsJnoruۆ~1$e!]K*,$-l.&Vae;M(N\;R_du1zn|V^N컮/~/6/\ۜ/D?-n˟NT?>'t {)n^6Cn"P=LDCL ޖǠV1(ZX:,}ǧi߶Ȋ8S1":q~^?,|\x,y*9<սR?"GEZ+d#E>΅,,pC;K1ie}}h!&KxBNRK|O}yX׳7W4]ł~iG՟˷/y|4l,'+بs^=w[+͕ʃV.ŬvKd|Pu+}\f+.4bTq]&q'yj,Fp'ӿ5[}DϪ19'cOmUTD#GۉSg2c͆p2Ϙ@ջc$vԀ+j$fI?d>?Chk `GdHtTt#!Z lLu4=="m_ɺ-jrtaܬV64]k y ئT!DH ruhbLVb(~}vUJq\o'@gM ڳz3b~U/9AҮVJ+J>bVO_o)!omwmQGLAĚlSt*r∎SEϩa?9, }TĎG7a^}lVuk,+wԫG7.|٬]9.;JZ.Wވv9K]6|).z/jRǜ=͝\:,ДzƋƑ\ѱ,9JTYSЫw<M[;cu~E굫|̢wXswXߊӹj8=WҚczRܽ֞)ZUV_&jWUk}eP7G{Ll;5q{s830d"#LzlXK@M1ND$KchpAΘ:I5J/,b̬T,mӞW[al\ɕLfuIrMxU()?xFVmO)Nc-sژ‹PF.bɝJwڰlʀVvC Ea۸4mg&RROFF(.cB 楐$&͗ kNdZ<8~E;vA?U\7 $^)iGd c$8[tM*xcMGP|HoUaĚ,v=Dy72"#Wu2|'5 #B2YDS ?.VUa*Z9)YM_<' 4 lz/& vEӹ}CP +x>@82Ndq, ;5^ma_{5rP6Q{ +'jDI)1՝45_n{4owSkٵ?վ,E5]rt++s6ѻQm)w6ڏ옮9kh]5sMw_UL voy sv}ʏ1Bϫj0rқc^οkij26F?Ѽkw8l=#Q:u|ts(24K~Ov"RۆY{Japɼm|QN>?߭u'+sI-pvɴ̺IvE施[i䧻sȾxyf[r-O5<\6~o-u5io6KԻ ۷/] KP@G'p:fs}Qr{U>pjmQ8KrE?(FSPِ RJ\rO &/4dؾm9}EԹZ%ENʓdcmkE(@irէI0,ia㞩r:{WљcR;.H,s2ǻYS[{jfoxq GǖxMڳA*P΄V{x+,l!쌷$:- ura wvXuO:L2fYTQhH~TZM̳FT:u9εRڬxWs6uDQXKq\@־#iw^X'%JE`,DeV'ۉy^ ^(PP@_50880bP@X 0ُ=![X7R[%h2bHrFx㢑)Mas!Z2Ԛ!s=թXaκ[/W28#M^͒lQ_jcGߣTߏq#S>Ηp%2e?뫯Ц{YHSkO[cOk?%Sx%;YAkpR3=OJT.8<䋔KW5c(@++'G-`A&j£^25v|קkT*Ra Ԓؿ^_ua12~r[FGwbV*T[[t ;K(z4-낼H>O .zDfkcWFRbWTq~BöQD Q;<]h95MֈsW{{SJeVګn +>3vOggSfH:2~YP`·R:/tfc@BO O +1$V=4TF< + +S6⋘u_ yglmJKdm&Tϋㇵ6RRЅgv+t>̡3.s^M_7/'jM-A05"Vy0_2\nN{!>9$q:dɳss}g2 W~)/^zpߐ7#v_960m̕bՂL?[sn">o5fQ>ˮ.5{OQ ~.6.,k١-1?TcoqY=@ۘJ)x%UTa5ƦF[VDt?jٳ _w ćsb•btµfM Ի֡WRTyk~aeUοH}aBRξNGǶ Da z +gngQz-r?W">c(+ǥmZz4q5\ Ę~+u!)Y61kUIهӶ!<25fk/gPo3>qxVI٠ȗrE?%^ h@R|?Ma"Ԕi/jh@ébltoMY* ?4oY(”M0_# +A_D߾A~y?+1R5FqALd/(uW[TiN!\O/|ҡF|`CTVA0kT%dUC=&&UXJ|[wKaz餿^nt#!R/{L^6Ȭs=8_j$)8WV#졑1E1 +Uo'5|[U1\bu٧_2l\)M8) %y\2ša͆!;kԯ:il#n"~cӷQ>߮e0S •{j"xkmՈzǻN))θ[ ~OI__z +bԉxF*CSRe#* +,="i؋ +"ஈK!v+tmt֚N5v ["vm6~/;D0OI`‡wa{ +iNɧ{@Q9DR%HͧH"FTP7_].b!*H>orWFR(B;OM"Z,r_xcZZ)I]؃ BIj!X,W>UnN`tʍo RW~9H=lFK21ڵ}Pq|S䋶Lz _Еn+N;LtӪ(s&à|M/AIDoկf*i?2ߤ'B[~iI+ݬId 1"=7uP^*Ʊ-̿fkpy 7F'$èg i{_LUg @WA䔤*|z3˘`+&X)桷vW6aDh}3kd!!I7beH΢[`w@6gc- - iBn|m-k=]Pc9N٫hӰ^5h,Y:I3ټ IWl. uo]Lez?Nj7=Su [*" femK*Q훨bG4!<ztB/iJQր]joJb4)%G(Tز"&%Ė=**V Fſ,AtYc aȕ-Sߝd\ 'Uh(2HȳO_QPv|*1&̰+CsB24)3!)?;μ g5Vё,HFӒ2=LjqψQEIܒ?a[b]%0&dM RI] `R+:> @T̻WUb xO)NNŊ@PP"WEJ$P7鲾SGz0 hFFRLCٜWyI'hiL@zJ#W)7jv]O2&MeZ)mor#"num{WszL1 0`Rkyk \PmГ=!J@pi ئ!!448 rT*=ejo0?Y ,yH'̈́T5B%.@K +0Z0 L;Lܵ=i=tT#Kg~w6{mƳ %̙5*bsvv[Zݬ]!F#WsäyʓE\b0_=c_KKcqGȶ銫KuVcS?"}(i~1t*POtLUy3LC>7m\K;gs&0\w,ezGsnςS^Q0=tǜeQYES3{[x"ڬ;T ;萟}dKZt^Iv3\ >j_# yInU9F_!ˌ*kȻc<?Vfi{g1 Y?gE,f&ʮr;%:4sշٻ1 El˺yi(1Arξ_ +hZg]2eIbf$Ecnvx:; fb+ŧuݪƻ|QOkfDE2-Ԓ@;.]aܦ.ݿ8,ך$˾Im0+Z׵:Fˍ UF +CC:K#ҹ=KG8s_ ~Yt EJ)$>)@ꮈ~ J ~kdg @#, @bKneǜ8Fm1ý.) I\3!B)}Z=I\EjrS\k%*mT/\ 6eRՆ0q,ly #c|gRqrqP3Ee/.8)wܠ1*k7HL|i쏛{q$~b@ԯX#* a惧M`,6*GL ף:wz~!͢鳥x¹O;1Ba xtQ8m@tyW"Ƙ=bO/| ]݋J~~xW7EL7'Zn }ѝl1 +'%ujVVWik7g$pBzZHƳV{o6"᧤\KprkIQ0}@F6 Uq@1\4Sm]}\I+9]۹S. \b{TMdN.4j +Duj߫]2T?Ջ +Ⓒ;+]_\5FhXB?Ww}h٪UC2߽Ռ/OTq&]; D=xYOggSHD"⚧L;u`%%{uwcY>#Lw4{;j fYE!fG@ ״bv^-F3JƱݫ9I+4zW[߮^Ck2+|, v]@XU\^:.T;9vHk_ːɧG}F,|[彮ٕSGhD*i/^{!Nlݘ#i/t.wα2e\QWr?O-~)7o&V:7_okUڿL;m}ݞ>ɥ:Kd-|ayp-Y}CbUon?տX~=~l-9EUWw*X\H)KݟGoKU9vUhi]eWS;y{λq]S#bϾ^hϼL=ImfAO$Eٍ[{ACT9Zd`S7{{t yzRޙ52O;cLJw#QGSf|wO3N;ϗG"(ۓyFϭέucU%/ݍc/MOVVogWrgi*ZaP HtC ܢ=c~ƒ~YFH({JktcY'OIJh+X:k=cB7㹵f8q+䘶=1QJI(F&)c3=L^z|w_FBIDF>$ƬQ yTb "DB0‡<(:WBP (@@VOjxUIg<:Pln٣T\[C;Ao r[MDmwIOuIOJ^lC)OC=S#m*d ػ$%}vrm?+NK'eGt0-U7#TԨInO~Z Z )eS[F͵j{Wۢ. ,K+XDJs!R%)Mf1:+T0]MUZS4:%5\37WJ<ꜧ?l :S:ONmX` + WBI+KcL0;vU`leHaZbٸ۴j?]D I[}UtB",;?7.]+¾O̙)Cm-&7D:L8d~A&(UupYǔdC֘+hx˱c޳q{0ZQ ?p\~'. O4Ng>#m>Nz[FX'b,_Cb}Q.we-Q(1*}b[/Uer jjE̾ Ɖ.y|^ @]Na]2vΊ h4Q E*:HQϱ` r"u=LHg Km~ξggd4\;@ͶꞺDFD:#.VCoXW6p=xuHJwW}HKȣkbt15Z=6l{nn7̖sx#nN#fM5qz3ov^[_=_-;\?䍚['нٚ&H_qrǹ}ksGZAs]s8yl+kuEH\sܧϋa(2a} UsռJu+~/-i۷ǖ5o4 wJ<{-n}z٫(@Sǘ.8]ofځr| +Qϕm 9.Gm(wVwyC>~!BO[cϖ")Ds6^?iPKѠ:fUI{Ez&i|$`~8X&Z:5}cQ5DYp Bzn82ugei_yVscv.Z M+PIt텶z;&]h$ct& x1AS:iud7É0J0uNZAY)]&8lx/C܉֚a\Z@>H?)>, -f\2MN&Ij@i͡S17Jh;1{/Y41]pi[Vdg,B4ʦND +%~0~0Z$.'5蠁BQ3C^omnfGhɅ )WAb0rXvȺ0cQ:siba vv0V)E 4eR?}#/N8f=ߗ čEqqK +B|9n2$A]hgCW?,sBIa~hD+\ +l3?YPȫ(@pz[AX ;# +;ϰ.e2DAiᏑI0k KK<m@^c__ 3Ωe3(]v"D-V +( D +NFr +#ny 1  Lӏ7q%$6j@54"S-w4"hDXs&% Ih?o='Ji<Зw[=D, ƿָ, / +\Q}C rP8%&1mLY"Or`: $/zb^Xfp,. Q H&l%8 +zYfL\'mz)]KzoxGtD:e@ɀ5PT*]߇nC#L:Na4|kjTRz !$}œR.Q5eZ=}=‰J+O<9o;iI_Vǹx4R%=8.@q蕵[[M귇vuZ::8tʣhr{;iގdߖ]=}lf7v^8g7umVD-*/K]GpU=ɋy!kߡ֡WdA>uWR<5cr}A8*C/^t8_uVҼlc]՝?cs#1ov>ZySY~ظu揍/Yt]u+mRkO'.Kw&yxޔVTu#O ߲LI(ꥇ: um^r՜ӏזma[v:H-G{fO^g{OwMJ wW%lE?ð*WtbϷs޵m~XeD9emD̄7& +Jh*^z=#~{̇' v=Uiힿ%=~<tgv*1okG9DTg7o5G +CWU_HDoZS,_Xe&6*qv׵-{᪦ JSS~E4Z]HZUZco*2%Qk"٤ptQWʳ׺+wmnt߆zI,8(t8zRaU5PtV۱Ӻ` +%rOݿ~0į@ z%i+X%y(vvs tw'D}/0D`܌՟y뒈i +֧R3$tGq +̳Ӂg_ܧ x+ӑhsr'D&ع.M-l3iնkċ۱oVL`OggSH3m$ qWlIJS1 jl:xOke0W~\Q>Tyċ[7[Uܾj]ʁKpGfYXD̢d+ +Y1I?D 'm72?3͟ "F5at*ׯtK*4-lEilrtز=8@W:urDXsZ~-k6((LZg +緌tnq_? q{XҞJ1p~eTߋ8iVk_ym%OfbFtyպؼ_&Ɨ)!C<:Frv +vr9[\s`3HP#O?ٱi@ =}9$eϺuߌcfͩѣ-o" +ANePHjU`g4#CqᏤ(فZv;P(E/cALe]M"yWj㾺 r}XuO-mM6kQ/:Gf[> h.jq|Vмisl[ +idf)3Gk5݌=hEL><͐6Z{Vw(E^ޮxud43f?UIL49%Bgy5c u%@lnO./*Y XWۋ-[kN5]VWH)4EIL[M#KʗOdg#,__!k*'qcdQTc5pP׊8v 4LmPkZʟMKBBtSSg!d]0%e%R3i"K:d.rޥ*Yěu..˿$m~,듆3MtB7z,ɰ1ׯOT)d~cNZ>];Qؠ{خM>.sWur$`{{ME[%j+^4 T5H4mwoEI=#e0;vxODEI0әO[<:2Qב4V&oFEu3%z +QV(:7ɡuBoTy.'DT3]TzXڒ6Ӓ^2uQ8; 8@Ҽ}[;`:DxQ* 51ԞXyq{xUD?4Gz͙T$xF[τxs9OUkՑϰe`ojRLKصn]՚LYd.YիxA@V<;в#} ̃'11a̲W3&C.(..X4eQI*^n9j+&/2>ajpFQg0[k78Us]j4LYe`~;TAQ6_U|$L;JThNǴ12wvV;jYdG7?!\W_{VpZM?~+j؅f֜MO,m[嫓 D.šv^_Ӣ>mf6<=ɣ0*Zk13~huToBLur0V"p9x矚ՙBVM͸_\_9u⪿7j7m}|seVşۋs: K +{:  +v8xSp݄y541Ω@㜩_C?rkNP!Reƹ}&k4_m#{S泖.PK V. +, OWҾE`I3%pp؊">HDVDqzՃsYCLHZHj/[-jS&ؿէ=7{wfosO%6 ^ɓ$VCCvfxJv8]LW9 B`JdWmhMwki6J}(OAUS*e{:ɧcnXh$A8!'E0. '"ԥ dtgiy!L;a5e~m\5{*ӼD$pL>`G>d Cn5&\%BM{5*Ɏ@Oo }G!4I2*bׁUxtt540A3'W&@;~?ݐ/[Årl0m :xV$Lb*F;9e'D8m"DD֚E1`b0[/F_kPkV–Ȣ\尃&B.BG@7?W֖.K {-!Hj2qn:Sza}D6&  +_[f(0&U*=\fj1 a?W U`maR iDfꝫF`8OI.JLTtro&%B%=L;:@,6)Oq'UMmv^ˆ(X.m0f\ϔN$$`6`*gV"֥jajw + i2Fk +J$7C8.e8Rp*:U0kZ1%10NXa(&(Dä4 +c +%ˁQ̖Ȫٌ-rI=uD}}y~ѕ=KeWO=fcc뤴..ee䕹?/~YTL5 0iTCهj-Q4ѥ⳦*{ }So摹['|rla,x&'ՑqN9}Xc>FzN7c{3h9|osnE?[6?UǦG;M)?w76_ :٬(D]&m d!֙u}^i?o9J8zD6֥gYK)9"J=#5>O1ޫ6`{M'?p.9k*Rfz/JjD$udi̳9iU~HU7m~7gc|+Qglt-"X >2$5/>8іvsptOggSHg4ݝ枛x1Tbo +zE&s`Bff~DDKyʒ"nKmP ! :hHUH*0g$ԕ~oQ?eD)dhLuy? L[jcKWI^sӰӕN*nexYj:BNiDL *"ta <]w77:n>),8h+bߣgR:STv4A iqy-Y +J)mU +X?%LO.inrUxm=qu 6ӻR(u"Mlf;eԈBЃ64me ôT$!Vނΰ3VYqk2S}*_7+TxWx=Q ̯^ĎcE=7.Z) d\t(8r?_i:ͫlT[ZUvZcT(//"6j]|$Z<^0KR✻5/oA4¬U/DSߐEFFI#(LzoC[e*0피niMW6~]\jV]8OT=(Fż֡KSeP g/S-~'OZ"TّݮP?I(Dg-o3cb}n!q{*tﲦp<^}$ۻctWϮdo.$$N<ƺW]BL=8# ?mh!:3n5׸빋kZ{mŊvۛ:p#w?U]`ޜD3YYy,J]^=fa{<Yvح*龥|QYتPL8upSvVܪb|VvZ[<:9`Do}3s˯uy<)^R_VqE=%^4|yK51ETjTCݎ#әָ(P )VVd ~1\I\I +/=szB4Qf g˜F!B%F0I s8/&Kz=qWy:m^Q[^&՜ ;` qW +Oli+ lUٍJY;UEEOT2B~bX!Z9h)Dߖ(zoZ;BoiE?&eea-4Mem..?P9obT[+Uk%VM늸\!,0$J#ᨿ="RLG& K[c{a_ʤ1Y _#]1n>ᆭ%y/Sx^ Ŗ&T?5+$',;g؞qC*~{ }ȩ҈6^;n +{E%\`elR?k|w:>?h^APN7ɇ`.:H,t1C݊ܲJӉ%[ִgXʐQcvcJ+ᩌ<[Z PLfj`2lX!f7No"<;{ 4;fܲoy_uf>J*i Zm@YKN@3oE4+B6|bZX2*&<~$ڼdӅ#J;+8BӖ45ҝ*% }$zh< c57\%O{A6 IG}/*`:㺼@:A"1P@]BǛzFlߤ>ј |Q#ɎjLahNs;svQ=aV疓w~J2NcK+ f-2EYf[P#_ؑ&)ݕe h\VJD0_|![*}:_Uc mﱦAȧF"Ay^r^P_n/>XH3< }i_f[T߭YdX¾Cȋ $~ 1)m|q0q[3AM 3yXŠŖx[c +Nz<`J[aG/Q],)"` +_}1dua/5 VП [8=uMz7K wYKj+nT%٣E@##S5C&{l&d8t \?aBs'+gWy/˻ep[CnJḤ{ *KMw|lgjq{`D0zV&\ٍ_TbT{2Xξ!Ew{OggSH;ᖚTCR5[gVֹw|IZwk`؁᮵uv{K]k]̦>9ԩpڨ)tFz:sgT^\WI_ ~ kE) ūIr#~P,}h\VqP5ɣ{1ɒoo륇AMokַZ?ndƚ46[RQ|b{hӆz=بk?h#UbAjR-y/uQamۣ]Ya>b +Oӽ:Tϔ">assң]+lgX 3I_K4Ý={jS(fᤉ߻NeзGI"O?w:'lՕX>)T5_M6,IJw=pkhMv pT.IAN)'ŧ5eV>w:~9@u}Un$SWHF]|T鱘'PQlDޤPS#OwR\˥f=V_AIkc𶭥p{unR!?Y{>IzαP;aד_٧TNݐC7kŒ;OTc,Veb|k Qg3n+bGT}%GKܭMBlOғk_65z>~l!VkRcNuVnG6JXZ+rw|Ea ?=UGڗ.ٱaqkHEY)%LERl"m2Vu2+^;*·ǫni$(ӥtqy1Di_Oyw8>1g:h|EAJC,xyUԛ4ʭT.,)vcFozh㠯9eZi72o҂g5ݘbȥ Ze!Oomb#풜\[]RPKV=Z +a ^5mh@d'0STYEM JI|+!{tJ7;҈v?^>׶+hW9ŷ8dTQ~a(L!nNaEsˬ$GDDK6WgP7:JtQp{^0SM}Oۧ!EE,,iYɇмuK1yS4^YZC+eJ'KʢFuBtѿˈ sI+dG DEce˵yg.$ ca͢&9:Y[D].Y`fqbBJI+rgKKc}/E=Sc FVt?ۤYW5ŘͨDoE}6X=(},f?TUF պˎNh$x-IyX|k(+d`&Ov63q*ҩ8)퟉bZ<}CGg]w:joY(y+-lA'.`GI*llڝJݩps/g;{e%߫ӟrT~_x4T[=%p£Z8KyMՊ\GՏ+US 2Ts@=[|G5e+żͲǺϖxG +eӦbfZs"%rۻ{o;cc_U>s']0KߧɕYh֢7ɭ2/Oi&^3ck4Uvn6⊋:s +'m7K%z"eֱ1 Fv0 ϑ=-̴@uABZ8:V6lϲ 2͒.OB5p$Y_r$o sN$5XiO\b^qz#pk0 #S Sȷ#ƅɉs'vD2NWͺ"iW'$Ԯ3+.ӥ!L Y34y9߳; +֤9ib34&hd溞({;eWz+m&lx8"v PMyYw6-ΌJI>NV3(ly +=I@& +HZT(L,>hL$-d/j $(>b\mEq iff&~+N#۠;}-|ByH %+ +#?? 4!-HA + / ܡDzSŖ8 c08~EJ P|؞4 Zo)J{Xj軻̗DAl +8Ѐ7o肣>qI&pg|)3iU&65 x1=0A{Fe&ىϘH #51! 5p+&V =UE_Qai|BPIiL7DL0?p\=CBO 0NDbF]Q) +@~_@Vtݮc ͞\ZԢ,黱Ir1ӟhIM3s؏Pm~et өȤ:?){>+svhY7˾ r_|l`Ǐg%}$|d qbig'zI l֊ӆγ%5BqTe *w'Uȗ'yEI!B$o.}#tAcj"4v~Wbǫ_U#cୂ%_ǔ:o*q{ROۚلsH~_yvP:8Ь^>.˷]eH=o5DO_ͽ儐AQ+~α7:}gOggSHЭsל풟x\GԶqf+BjwvubO%/HB6'*I?mk_KfWkU//rq/oh,Ǟl͜QfS#?j):v/ӭ[[ Vनsp,{;vQھl:hJ $buKY( *x<:kV}ٓn(2#IRw ,,eI zZp]GbN%DIS!:<7!M{݀ӃMlS(r*U륹1ѭ]FxG0}u[{ګ}b~g58YCS?}kt4B~iDVBG񄮪j \rJ Sf! lc_ ??W2nZSw~ïվP]% +*r 3_l +ŅbnbQ?pHqQN0{9yOM}`يVc+Ɏ"Ld?~(r:U|ˬH52+2ZNVU+Kgӕ_J4>z4`I.pD{KkuNʾMs(ф*1+Umԓnk,[#0=&+HWd>{|I4A̓!j'dg*]T}Q0F_}~(pb1-ظ}ǤyMfa-yN9FevmT0{r9-ƿF˚'Js߇(8 7U%IqFukX[:E=vASڣ-5SHEpZ$5/Qhi6Pi(Hh6.B*H:.Wx?"utPcbX1kzFFX Ztl;U6V7{LxD!quw5,͛eNFzգ7c% o5X,>Yχ|4@bBO=ESTlk_{F?o"m'i !:*2<]h8l0e2u%ՈD!Cu¨K!yZEtFYяoR{0NDs? ?Luw؅USTVE+▌\=|\<(Z+MڳAۑ&TA҄nhUv!m7W%Fzثoy-<ܨ?#]nVvjm`_zRgUƟa_.W7++(ͧ^y~:G\-;T:ӥlGOK}Hktʯ +dC9(Sl9ZU +{q;ikO{VwٻgcZ\+VWUW 磲Y^(퉎έnRսZ_+ӧq_Wgn2G=mIR@32"?ӳySv^MidboiGa,y|Ooد5n}/Rl{Ch!f:8ska.69!_dmVM'*A22)2ͤTe#[VqSDPh޹NF=9tNc0'}FĨ䠡?G 5~M_ɱfU%0q}3Q#xM;y3~~al>ɛ0`+_`Rt#?N~uU\Ps;8竱eN6\66Stfh,ѩ$m4:<[^4$wzI`fb\ Rw)'K;Sn3ʷ븐ħ0#-L1wvvYEI{%EJ񕞾նrd0R#GI؄v h{ƓG9]q_YcD"JW[ oa;S9_F!M'_uE="ܛWQ(M_R`T#oq[8GEz$ܿCzA.W!R(6J tؠ&`B k-Y%Ze5=Rt\:tr{M~z6W@!_ +.U qk|#yԌF)Dy۴ xTQjF'EԔݵ;~Mjhd++K$*QnJ/Z7rBcwDfl"EMfK3Ҏ4;N=&wF)s1wzQ?Phqc*D>:ʺÔMQs:UCQTGʵ"ɸK٨UV  u.a#y<w&Ͻ}A_YLLCM{{6۲}j:{uWg>paWxk+sݡ0_V'ަNa~Ռ>ܾ(]*;xڸ:[:upioSd^_/xMAggrɑX=^yҤA$R +9 +$G<ɏ"Lt)q沟Ԋ1<!C{kLk9ջJѡep*i+~Sp SO@n-HIFOE +B 1۽KuN'wR'o3#܋PDj&n+3פSI4_lHAFpͶQDUsJ:7J9fE]~lN=Ubj:> ۯn zAj*Hff5 @ODl sZ4-J&Z\x]e%[ȇe3lKNQ彂bzpLHΦ*1(3 ئhac*i'J>`]Vw +1b`pհ2'_ʶgbK-~ $pXVFeQH[,!]5/ހO+^MN^7IqXCϊJǤȵ -kSmYD%ә`G$"{'vmwV^l˱9Fd{*`bveM|U#Od/~A!L{9 ++ȩ2⇺tVƘ1wV(\Oߕ08H" $pxP~t̃TxL3$km|@w`|MMv_XWع +Q4 6[{>˛~ +6`- d4ttcdt~? ʊwN=$Xil% hgT󤅺wIe:^XFWɁ:gD_@_ |  N?fnh=s"`gd$<z +A5 튆fF JPؠdyeY9n}cf]~F'}#35X}UZ-}u u{On+fcY_w?Z:5]>IWZag˼](㽲K׶i%oNXTIixnrokY.|pznkpaOl=i#W6qZY]nZN޴ϩyLoKrk'k$6TvR㈕+Z7㾧+gZaEڤ ]5ڏ &nNGD^$`wlϺ#/'O.RV&o`И,Y,(0AWGӜw橈nW#*:uRr;ewQ~ؘy ҝ@hqigxښ~kg _RJ,tU Wb ++qe=DeJԄVfqMӓ-{D_1􅕐ī0 9ҺX(*rĩ dNl}Ĕ\]\2_rZ[ + w/:]Wԓ~4Z"H,qx% d &WBjXz4*\y.&Jr$]2%1)洲ʆ}{lzF /inG/|_ڼF^ghfXPF&wF3s/:~Ӵ%pWt\0.#_D@+ Eb~FT~r!.m;B7۽=kD>iОZ`+N^@Rfܵ3UH +ٍ 5=떀XA;Rdg~JDcA, ݼ>T__H8iDu`KWPfu5ى#}W6-ˉs%ՔqkXl͝q[j(!~JÑ~Fe,8*eαSƣ {S5FKW^{5+7H +eOSU=QV>$ +M=E(jvf:_ u@UXA֋jt'B́IRz0V-w,uĦ>r5H{uS8!!jFYN7y>uqp:X>t|tz(h5zc/.1*J{lc=`& 4tzdXDK[5i>F ~sؽ^7 r{v& ^)Rx)͵J|H),~y:r] ]y!EVLb5k/>1`@rHwCj V5D kھs]tQ bhlQ˶tz-Mbu|GL[$󶠶G6i:dD!偯FLǛ?Z}J pF\k!nc2| hCfh($Z[7K[`永"0Cc|X5ilVLJ[\jcvw)vɷc H'F}]oϤ]L|$7S^'?I1jkۆ^l&bZV=v:$Ť'vIڞ}|i7:,CkդrWn8HW +_&-v!z2ih`a%}ĶDO>2^Gdխ֠n2&ypʽ`z:{0[H) e:%/L&B )l XZ4iuHևΠK"M)'^"KlEuBrV[&~zND7yWyr-.zߑTؓf8 8, xGa/,XeaPt1IGGT ql\X' ۇTִθZ ?`vP"Ķ|ko!PSnZ풲`n8Ն=6=lx' 37<&=zf;+WkVzǠU)5\94XL_y bY ]Ҩl씷Z2FըۅcO(E7}8Kߠ顣k +Y';hjtV`.h-9;**EC.Jdh@͋/I/L +´Rل N_(җqP!}\PWN+)H)DWͱG[))TV6gO1[*+=}ڵ!tclTlmcODžvݙuB{T}Vx:O"j0WՉQ=s*:I#~#Ŵc09&$*؁>G*:km$ ԙ+Zohmع:p[ёNٛNYF(o)i,\V?@aX]|:a 1J3Z1ؗKguZHk(\<9UpTmbs 艚h0 +R*Z7La+kK5#>7vܩX\7+fwNI%m>\1RLJ<!2K[U8C ۉ ^&?4\G$z.SH"14 qEήML ~Be\eqHhLUMZ]n=fc1xPWe)TW``ܲsF[[{(B}ȢuOx]4 (?@8۶d߹NL?K*TNO"(WSΏ>d0 xoɺ]ǟI*=0HIKkU4zյK-Aa@'j&AH.[v"fXd3l(D˦P?og`CGX~MƕbQtb1 +F_Ɣ>^?R!Edx /dkԱff[zZ{^#y_~!,hXA +Q"ɉcOqqk~/YՕ64ȣbuʛ}'kpӘ(ѵV>`̠A,fQ&iW+ +X!C܃ϟ43)Dva /\,¾-#ُ`ɎD7m*0 ƀ +*7j-sw(*y%2=:zS51躭9 a#g|l"m PSf}QڍƊ,H)*QS\3=h>RC"QyJF)|1X؛2 ǎńI {B+#11hؚL+p[) #mo}x#~f-ѵu!n"QDE#fw7iŦ $~W܎D]Eq&țAw$g黌TM.qΔ"oێe8+?Տ0uy!3Ah5A?&ݪNOp6u~(\q 9~7 k!Dq`Pgi3qH&аgbB IC0ks!Hڹfўhu狴P2)Bd mlLl +RJy{ ڣtbvO=Mh!RYߩRqGv X\WB8-Y~|Ҕ4D֖H $_lZOֺOqqP..N4S͟F8bTRPH[@zt<4`V w~*ncّufZ@[B6;v@T{%: ]!҉v U ݈+=H9oaېel4,UHST\Dbk{>Tz㽪pMsHO08]7(F.M쥍lĽOݑ*D NW~`0bk lO~`izY9/y5}zEbÁ@r7iϋ0IhKLpo i +N_$70ʐA۪ }@9>8*4wR9ܭʳ]r h?AKHr! zCҪ,io (wNg$/&QH9^KArgX;}/A#2m)X, 0|wqlRNsrRg>wmIFNS`EF4p+0Nn#8}%2<PMz۶c5YaF}j26L@tC +Hh$!jQ#se/F(ReG'pI}If^>FXd~ ||,Jˆ$q}:C [q_78$F;QM SA tóe"X&1BJ&:tA}TJvj i ڊMVkihChk2"{` Tb;I..8gܟYl&lb\ aءMk ]XIe&uS~V+qliif"2OggSH6_}Jp~ /<4p ly]Bxq3Q /r66Z%o&s21(lYlLpB QK~+òKu1 dY08!Q}&%y p޾6BLUiLxE1>_wesC1o4?_| W*r^&YE4'/8DnŃIoX+e&YcZU}Kn $BCJg;}Y^lY~X9±=V(Q.pF#PD؟S'.Tk+\pw{7/Cb[Ww/j[V6Z~jB?&ƯVѷz5׭)ERסo^9ݡ2_e[ +v~YȜHP-a.``m (CNzdR;9kmnLzwʸ0%fₓK+;V}mf,;/d] <ÆLqZ,0ѹDTi5ɔJ>=({et-僮Q$zWnjZs_|' -[(|{ v*NWy: -q ƂRk(Zb6>Q"7Uهl!X-_ 4[#ݑa&<#f{]gp Y蒾>(*XUn@1׃ba}[ک}\^/ow9Xc0F$BiUl<֍b|xD^e&Ӎ;}qՊ쭊|JFٹh_H_ zL rhfZ'~L5x?7 ޭ+w"&ra# q +u?iA{ +nF+Y}fgu%>(A5O <;p7@jB=N'i/iޚIj5aj><`, J [Q02$2"Ax r7𐉢0?F;-!ƽUM*n ?,ށU7w>#E'dE81`J:H + +iGKH@E#Jkꀴ6~VA^(YT^:'Ab519UՀC5PKy˅F˫6Lj˛`)ͳD`39pt: H E֎:7V$nVHDyuu`/oazϗ<@ x+w;dvJB<W͹'I.x6DC,ǥ[<#Ia}-cheVͥ-?$p0vBKQ`zn5~@oQ>Ňd$E?R dCp*NArhץ:_:26"w Rhڽ, Q2ÆS i6 ) &nY޴ +j:nEEO૞NGM藒P?< ˤ6ZLr2VNH`~bܟtvUZ 稧T`~ +.?"T5<[O + iTK;Ccd +VwӏNݶO|Y(u"lj`PtcheQU;5"IhΉt`" +m,Wronŵi~2 ?-{2|ڎ48uq#6T)+$'hbc"zmLI DR82Z_Vb%lTJL}˟ghQ+N-^C +G;?+xI[[rR0:@zVW-noj<~b*%*ˣ"_X8DQV!VedvЬ`v.ePl+2Bm"# ;.LF*\dV??2`Y~L +*I,$ar!UKa"1,2X11r~9F9|P~5*Y(X]y49}#@y@$wD=X#=5&SN[DLČL{*g +Z/1ګe sL.RFfMCD [=QÖGJdA!LҞ'پ\-!LpL1 ߎ}_nytz:YowM}ep<@:Rr5ߗsݛa<5w]6-Z* +$Nzטv: d>ޑ#+m⿞mkyHL|sɵ +UsU֒T);Tȶ2un+)4:TB(}%~Ss=XtM-jh,M$ؖi8[mdV8%A<jUM*G6Cmj=v[;//Vo@_avE9L +4 @w[!b|]jTx!d>` jG@@hH,df=dRw*^4dl)#싴HoL(UJ퇗)0jyY!g$~*WQ[R'KoVKjA~/NJ$%i祿MMB>,؎FJ0#FG'+ZE'MT<Eq];Af f? D|)3aczS:"B8pГQE1dM1&xqVucpZ泃q!V记P>̍b2@ƕJ LQ)aµ+P/1%ھ4XI>Ⱥ>̗LpU<W|#P.NxL≓EtoHb5l5+ ~)9 +4K-f)/#+BV2tWZ2x!F2[,řoo-^Ҧ;ҽ^0zn(t~6\ ՝gۊ)<)]ʧ=;(ny[j5?s}\Gh.׺|*V)Ωa)e6WNi6P>>i띕Ǖ Fz?soTv2l%Ww~W߬{}c5VS?KTkKR܌n&KeWcix/]ufd%p2}o`Ze.ډ"VԪ> Yru@Cċe+=Q$ȓ}<4#Bo8uA%kHeijcm^(AL'o_"8 Z=?F4eۖmOqNJ0Q8/:NxqY3[{|}o[Oϴ^I,HON]V9*\ڠ8Q / +ӑmG5$L$thwm|9kݟU 5B@JkE>uQī=PwM0bOݶei)9%=]map:Yru9ޯ`Zy(ECa+;}E1v)J{Du1huNh)`cP@_)xs!Yi'n& &0 j oS>[>#ߑR@OSlRK;}:KeӷZ/ω-ƽfe/ȟ' pu6 ^w`{QQ}$i ϩH JwvʼL;ʎ':hvIMx_mj^ݛ1NS}(@F%}y%U BN274/ߐJ;+>m+ eZ"RBG.G2\C, ʜʕR$9D.6PD?vB1Y,vȧ7P1]+46BGrEtf[nd]:ۻky&lGjq?d/ + +_yUMmψe >Oտ5;d4Hl;n.9D~{zz+^n +b(Wy=3z*3aczzەڸ})SҪE%~g]2*QOi#T+y?}5p2-ڝ~]]~?jMĞ^<2ٶ}vy*ưDRm&,θ&89-i֕VnS*]Ϊ;^G&a fMCr?*VљyE͎ѐSbru\daG0Yj%3pL!㰲(Eg$0FMYNڔsQݞ6wBФ[amtw\]wlN+{xXKc?m}4c/{3N.zk8p/Ǧ0$= +Op9Ǔv=4xR%lUjQzFr)ɊfICM)ӢrܖJc2"uX.+0]-m'39!ӹ3jDcL)u0\_qA +iPh>yX5U21^AQ0RnCaaԊ9Hv)K Thl2&86LaB^* +83}O 5cix1Q1wN~SɄˢ7>PUn4% ]KqK&$,,>)wyM!0=BmLg ;ڲ_G qyqe\zup#L[_;'|xɘh%´T\Mi\pc?D^貅?cRW07v +D 4Bv@i~`o$gt۵7ўճ+tmӋ(:E#a-[ʌgKpFӲv/=; +Y0lPEn\Tǝ1&N;,^|+-屃A?ڑ맚l>\5bOɘ-ˑ;FO]e?6h|/*2Fykrz5,{[:|lk>8zGRҢS,#y.=ܣϛ}0]Qww]d) _nY䬺3{ۉxʮ9Ol7=/KZ?vyR^WwW:@oa.p@UD%P$ܭ=8GjX`D۾vt;_ _&`ߜ*!oe+م&围uR4!.qbmMr +r.}X1*Fx4Y󑰝!62V;v5!Y8O9@ko&!PA +B+Zջ{X]kYžg 5nϊtXtiܸ_Gk0<6%D[SbYUUcݷl.ԡ&@G^CL/k3]e eV?{6WPG)} c"T̻=%CoNJV|.:VdAn{ǵv0KJ<vCLÎN$/es·?1˽-[U6M! !B e:Ni+|WKL{}R:yW!g$*ݼ)p(7tN 2^& )T'a +^Ý^oēupۮt5 HLF[&2.d +fB0{We 1oi +ǟX` +<V,,4K?mPVT7 Ɖk-JoAZa9a J3-qhf>=2vK(2I5P͒~1m~vQ J=Cn+:nh8k]& :, u.pq{هfv-Z&'ې={)IHn6H؜r x*)$nzR[В~JɃV1;i +xtA}̄:,֞&#YRP v " ,hOggSH⍟v)8k:~s Tً!p9 <6UBc0pn(P1v$ƚ7 8hR8h;fYR$͈ḮLAol5#WE)^p.ӵ.IC] 6*BjǸ~pjk5HuyfFA^aMBDT& 'zidFi6qǎ]vV.}uuqGo'ty#7'ֽu/~lK'iW,^CFadM]~==b~1qUtZ:W$qU?t`Ww^t4HsYY_rիs}fie/93ʹ^:hV G~_E97Z۱.F4+5 ㌔5-YOٞl"/]qea񅈶oUlU(_aj6OUt̻fnMڤ8XQ+ ~^.#[h,$TRDW0_ с(j4& +{;LϏ$ +Va)cD[Gg '~u[z~`u.gKJyd, +;ZxA5QۋRNpUVjZ7 +*|?UVO?BܬW?=SIH:8lc؇P¢1q wb +[MSmM6T{H:ȀQer)r04+zt`Yg{֝6=okC;#ݒa +NNwo{Ywθ *Q([#1+lM+YC+2ۖ&b +TH10g^{jVFۮ=^*1P~1q1r)\VUw\$Q._:8JHƭ9Q6pnZ,G]|_a+"-SK!X!34s0 H+tL +"|d\W9RԾ89\{Atp%3/ˢ4Zid'4Pczݮ[ʔ[](3j]S]8rTOjeh2 +:S/'{()֊Z|/!6:XoM-gȃ~mYxfڿUtRެ.xکѢ囹K zLRWڢ,rn뗲;;N*і[?0fd!.1 +a+"KyrN& b9X!Du +⑞^Y*4FO_SK8!rLJ2Ÿ)PQGC3J=J#Jd#Jʆ6l<ڜ#meʷdnYW1viƻ;4c@]Y[],9<( d]luA"+ۀ|j7Y.7+`b~ G=l?ڢ19z rj'F6wF;Dw.:ح%o,ūCuMOٓn[=vck]^? }-\x>9^vQFnĭAg|wX3xynV|EzBuByTe{ +]T:.:TEm*Պc^se[Et\-οE:&ʊ*\i/4Sk{dӝ[rlz+>={*ͅ9mH9WxV"EN^מ2~H!{5טjI +HoeidهF@ک)[59x.bHs` +@-'Ž;:4|pEml老- UUU{L:V4bΜmUw"_M?ܒ"FGEn jlH+;Rx]kSn,H ּ_ga04 ]' lkbChy*Hb1&==p4HWY &"A+C_b1˔$mAW6##C-hah^qV4LY͡Otc vl +#kX_^C l^P>i,(pAWLj'-DΩFq36(ա#6χYHO+.QT(UӫXMNK3gYӷ=2=*ú "/1`b+%ED$#6ăy~zy w\CGwyQSYQG硢~RRv>?-}[$n2;˩oaa}iEo|mr9u|wNŷ~fu;|=So n^V^*l) qݔXj!?ѯtn,<& k1Lo-q?Uig'yzD~/'s}>Β]͇ֈv({wGey:;1+{Jv':wY,|Cxє纤ȹTh=՚͂qcXh"bS3.MX*^?;%W{ksy]Q7Sq^Vv2Y$io w_Q骢jNu6xhz–'*}*l]^{<<Ûɽ٬j욼 _hFdZ^=4 #*hr/4Yz:ld*Kaa!iZ=LqL" ËVV20nHHF[TUMf BJkn0T|\grVԽcmsڴDC k +}qXA +* +t*?a!FxSa&v`Fa[a3o)+\wOO~&l?٠yxlʶKW8tN|duqoCc:̳tWv'cc[^rͱcͲ﫸^;roBwxOp=n-+(stГ({"|EݤZ9祐Ό:vS>ԛ {JռۛS>Fcd7jl6>^q_1Z+~TI7)^+sdNZJw.j%t/lҒsTg[mD<p$VV&cy:֖nߛD]W|}&Vodw2TTT6'SbR''L4ْs1°ɈaY%a}]FBPH|odY*{O̭.OggSHHߡґ~9%u( \n+RŤ&Ltj:$а+L&kڨ{5R(PVȗ,硥L;JYv퐭X`hg{%(6$^W! M(ˀt!Q8MƗш"DCK0,\I ]2E7eֱg?J,_9u1EU^yX7c$!I,he),l!Ҡm&uLO4'Б +Lv&j`4]RUUGV܄`1O,[Ev_N4 )F5za M~_)֕o% HkƘ)T"q Hm +K(`R59b?FC^p6Y)NttJ@*]A~P1A|5˒ÜdLPf0l: HVDũ>ћ0mu֬dӋCn=i SxLSZ;WnEfUkg<4:]gN}%.Yk̭1UZ=M]oFr*_j**7DU5Kf TGDKDDyJ:u< Jju-x'[\aAzaJ3% R! J9-cOE>S$TFE4dS0_"1WkǰqR!c/;v*RTU~J@\ḛ(h^_aŒ{=>COBJCܡN)~P@ +#eveR]tP5SHP~FxL͎x# +G"֛RWčRI@N?l>+ٙSrvʃMel?daswcWU'WC+ll*+h*X JX[ARNa!#2S U!Hۆ7Okmfɵd4Hӧ+}ge{/+Gh~dc06lݚ^ߍa 5ۣa1dΦP qr`StitL/Cc[P^I#=;^hu&:UF1݌>4lFMx:v(sY2tƞ> ;DP[^?nC_]x]Be4:Ez՞ŞOfڸݩE=HJ+Wt3g>^a)COݍ M]dIu?|b̊5g.pl cV7Ѽc"۹Vulꚬ<4*skt~͵C.(ii_iՏ uBjy?ꑥS7gk_~Z ^[pcowҮSxЬ8?P15ZaޒV4uXhj~m#AMN竩n )L|8p[(Ɨs 4Vs2tzц]|LŃdHY, E6Q ~;ͨ'^^,jvߕ1J ?X#UR݅3_K-* $YhEHs4xH~fN XPXp:ZI/5\#iZBصoIXhF'rZV)p("U3z d aT4ˆ62 ܓ1җ6(騾oP0*n;юh_|s9ʅ'T^z;j*D8 o1%MQ}>5A߬l-ۉUPДn9Q0ccP'*N$t?bΕÕZ8Idb`49sVBZϤ˸c.*eԈ)^Qo;Z<'n>$%MZ?^0bjHRU1 çy>(qNWU%Ee2ʘe;Mv.k]_g )!x;PNE6ƕ2P̼߫Zm(tLn޽>K7Kr|Z +J4B ^m~?^Ke +6 TΞ*r+ֺ/彍םeFW;]fXI)7;W7u1Jg7AH+5SS. %6Lkhrvs-[ͺ1S3n*~z[Շez+c6pv8ށ뽮oJt@gOՓ9BU! +h/)Ç+* emN7+ h3ENwTgX&Pt&`l٦n*CX|cRa/UMޓ|Du֯Ԗ qTIiPWxڨ#vX9.Y )8d=zbp\S}DwRR]M8wU&|3 9$wIZ}  +MAG53fKm=ףYdIie 3ÌHv6ʔٶ^vŨB @KH.tT -QY"K}KЩN}*D;0zgΥEzh(騅"bk=۴P+ +!K^NEgT8R? +!\Ί1Ja ȟަ{~6ʴ=vMOggS5HIPn~ 8Ѐ9hh\NoUu~s΄(c+=)Hs4M/V#2rq~Xcy"SluaQRg2ERӺSXBғsYz㕦VmIxЮX=23(՛yY]%<]%=f̭,No964HJR5۶ث̃~;Nh:c=oZJ6Ƥ:3=i-m|ȏTOqό̋ĺHR2{*o~<WFH:6uIMڳ`e4pP鼏d6QZFmZRvm?4b!lm7ZyH$&nګ]}猊C$NIgZ%\[6ayiIbh_F;׆-=ƸL?樱nƲV"\=0 $nHӐ6b1{bك"^lН$Y4H==gnA?g)NiYUϷrEwϟgr8K9;ו†: bV +J*"8}J^9f54k<̊/1tz[~qji>2kD.cU\Xgc3boX2~+sk*YߦVY'(na2F`7o]k{s6_]^jTkۄ+9OiQaOg)ݺDV[s/ێPunD~ ;[~t>x&"}ԛڈ ;!_gǟ0#ՠsURҡ?N11nEZ7wJ34 m`ѕA}"]]t2mr!IiTj{pYq!_3k20 +=c=w&$OfU [Jo蓦(0I1`7`skOkcn=Fd]W=-vbG>KNL؁9&,2hYl%:Ռ9hY"-1l>Y5h1v+V%Q6ư#XUj}$5E|YGZ<ρ$sv5-h&"̧ɃÝ[=W+s2ʁ붂wp\C)BG>eLN;7ŋ1p<AI_B87 Q7<1h$MCǛlcQ>Y29%?rM\ +,\|WTdAb*2 0suZh 5B?VqW;ZvYre5w=џm]+(޾]4Q)1˵7EIYwx)x.;w*CBO#c .*-渉u7Z^pq _?)/'qqʴrۣ`cP~4VeuIN?('S/Fu\211Ү*;_؞; DoT +kҥ3xf% -Gۼj7_gv{BSeve14k^H!pFXD#QcoGb_L|7>3yN){pœ{6R^ pnY5lt-%`> F8_Z !3_ q}1o_:e=JXrϽt_npĚEwj2.ژEʯ%^#آN5ZM#UɯK 6Uy:6Z>mNff6>j+qq uA=)^L9yjz2UH0]9mT?u/J +|=K@#*xrꁵ/٦֤6U0s)%}cVLw:o@e}vǫ&*v vE.YϻrGkvϦb&vu2*7 czŦnDU]dfo$"{p5-Quu-/Xo.޵%7'e(wMYt(Qy7Ow˯* 8m~7l,=&4*XD]oQS[]%^jB%J|cemzeWޕLL)WIK-MSbuͪ'Q|KH:㻹A<>.z ׉zY)?i^mljm7gC0 qYeQS:2󱴦6FјJyXzK>*9g>~`lc\5 +кt,V5K}*#ږط, SN*2 R4')lx-\TH.Sr#z hYvc&T9iҷR06 zȔ\rXCe޸[ө3;;69HVǣ>+^B *+;˲}cQ.S>/kA0O~̮O_ԛ,Ƿ~7'T+TGF?%Yvk7,7M^gϮՍAVCUtO.V-Msv>{%ȪmR5oftp'7}^q*Oݒ" +*??()$嚜t8 L=II<$׃E7lHKFzܺrg~ /ݸ\hWPBFMV +Il(lcD m͸ܦ6:#$\Gt ^ɶe)"-pB}y[AO#ՆxYJCzwcj#L5.Zv=TZ3%"-Hލ*l׈cU|6"^9hOg{Ƿ/{<+:SՄXp Us[?=5s ~PuMvTaV3Fnm+wX4"@?$Rvgv~Ǚ0)hճ&Y`\7Qԓ&^ oX/{Bys- o'Ae50]G&4"CeaKb_{k5BYvYSSVߏ~"{6R*M5my yOggSZH7pWt kxhe~q`04<@'LWˤ2 1l."siEVJ-AG?3\j?Ӡi" I)6!LʒMzswM%oǸLBL/WB#U$l{Rh$g $W1JPr)1+CߴD~+m} $]úy1# 1m LHttU OZqn&WL(ڬpY4bd=Rlwܯ=R8\7qeo"0>b?p7F+2xD[}}J|ƈl4irl m\ (4#0/o$x0Sާ٪S ~=غgLA2^nAH0cޏRl%mcm3 }'[Zij.yV.\%`$kv1a]6Dc9:Q٫ԧu0/BEkKgT?ҝ=rPĘ0_Fh#sk܊B$ +vPkzV{ߘkgcs"8Tsx7_㮾{:e.GiYi[gr߆fY-T?+F%;wʞƎ-f \C[~A09=zofWU:{t!LB6~yG͹Njy'V͛߶󱔙1^˕[c?7~GW+\_LRowΎd^Tf{[E ^e AAn7>Z8Sz_U/vCSZgVjRmFe:wHT:676VdU`Wd۩smR0-Pqe@4W3hdWg6%"]VZ'WYTBch>kuw8V7Id3'sĮxy )T_媿mIv5Gt銡i4H=YQ賧=)egYYlü 6V̅qDntJvFwe)DFvF +$IazIl}w#}0Nc*):<1 g~]8ڟ$G*PX&ThZg:K &.Gm|Q4ٳmm^y")0^5ti:1A>{{U{o['Ө1J4.tPtyFDOCJ;*N$ޕ9 4ki$Ϥ`q*on*ї|vU$*6GDӯ.Ri Eªn1&ǫ9HXfIJMoJXa-wi1qRtW^ $ VYٵ9?.371:ekfSUk޾թ\zfZc2Υd9!Τ9:;};bÊ9׺MP&l Sط`̃lun&73.0:G1s49ez9N}gsx%Le˓h"0gUyբvcQ:k˺!}!`֊Ӻ{S@qW*4K5h> ?#[]Δ{\pr?u(hDήT7 z-.F:1MF]Ff#J;P.<, 37s2~3bByj +\JJBJ)_^UmG +~KdJ@%s!u+w9OuZ{u_XRszݯMh|M7'qHb\ Թ2_Y1 O{at2A_"{DBd?"%bZ<,SC*&̛0R`x/fmWhը/LZKj8S!"9y/5ںB4í)_P~Jw+r0`qtPdzxdtR!;=IU[Naf9u:MK Ǝla|o֦*E=&kSH}w1̘Xna܉De"n:7=ɆCKsbm7HZ%i#ixǏS+ռ(JeOݥ҇4 g6R*4<I3X1(j`C);3IJ+6#!ȷ Ze0KN,]uȒF(:| dǩuVXW*Nj i{4~ɻ&XFk.rHY:*鿢mԌhԲcZ5 ݚR_1kr:l98Tާ~:T`q<8Eg¤@հE  uZ/DyS%m0ٹ&4#Nb )_$j-eKK{.D#ruHlRc%su>*Iw(W bcfpBћe-/E}~Ք6ȭO{]2qU1R:f&%;bگc|D xN[YcM>c"d xKP@Ԛ&33ȒaIbFkN(_nB3ͽHs!!>l4; +v:Z ؠ䠛ml"Ξш!*t1~:%QGBvk _b'ǣ=l7|ww͇JhiRCη͙5Ƹv8E'E~ЩvcI;$ MآŇ;~ǺIbڙf<#cUsJnF=4Hs,:$eG'.׺ '7P!/XÄ́jAB::&  +v piO2M&%f/BR On) +!0]=0)C^r'nmA9춗`/ aXAFa[Jc9x3xԓBPwS &}04] +ƹõRq8ZoY~;6ιE)8( =Qp# ,fuҠa}v$1iIoJeL9'vmßI(sBZa5Vr*'hZCPkŖ`zɹT\*+v%F! +Qњ!:O USҜ!>Qqo(.L"=Q$/e!(8!OggS~Hn @xޒH +rVK +!=@X8=;"OW0:(04lMaO_5{ͯW|$=S2䐼1.2&N2 Q#Ҫ7+'Is7F;0RLܘD;6 +M(5nyai pJP1YQ A躂"hm_0 +H <)Q !Aro>߫T.)HJ ωj4m[0ՋfhAX>RAv|2S +aBOA-*vI Cm.p,F>xrπA?Beݛ9V2ܵD 'xJ 06* LEHyO1O'n6LuY!Ԝaa +9|zsc)## +E!jzvHmGS1F-m"zs>۾M s#6lN}#!@?OԿ\r_&TAɝ}}kZ3b,hyCGvRcFBҚ{x\^:U:h#۽~JYY}'o'u&&f.+)O3 }󪘸 ~kYyy9|n:LCWҵ}X ;d^¨gм,0NyRZgj˫K*[DaZդ2?۰liϡcV8DE-|KDe*2܁6o)^9/ gbbzxu`'vb`%S271*kcs`iLфvu"Cf"qI83]Ҁ-_)~[տ[ +l>aĚ/[05C]ɗӄ^ O;AБ޷;KM#aǰ/Nu^c2Ÿr'}qѠ1Wp(N +ZIEMr]Ө?ZG% + Qwo+"~ +8y퀾#Gi1|#ư&T`AYg.Y ?Y1;:`ސWxHܳaɐ7) C8JKLrl Rڡ)A>-ڟǦjɽ93DZ{CeͲza L OE^mvTZ5q[POwpZyOd͌)K$4nȖ@ (ē}]QތڹΚr)1t6bHn >2Zq|c2'Nd#?hyg!>ܖmK8) m3mS^38䶙`3"(HIՃOsؠxH`o/ +Ir j8%׃tW3=5C: o2!^45l΅J5^9he(JE,LTLKA" +-&фDŽ%ęUdFN@ +̔Ri- `wd`T\ ˃c"hМّ. ME}l@z]ODSBaV$t{cE.OggSHO硪X\I@xF4'8FiXNjߤ p{{}՗m뵻Oo;ԂCa=;~vX#}L[me-uĖ\ʔEÖl!6&o}oK"̟w 1g7 B=J'gTZD)~گŊ \;~ѫ 8, pWd*2%"}`bM +t:^cD`ЀVC}k'Q.8ԋƓw&Ň`0=/M̦摆 }-NE/2Y\EҬ**Z~͹:ǩZ[G4{!재Leљyv\t&2 [neFbbqv゙0'=cWUq;Yo׻_qUhO'WTG[|NZdkTޭr\ti5;al>oՉ]{hަ7GԘo,Ԯqf+|.?5;W>[Ӟ߃y[3W=t׫U<  JOvUwH}|UΩbq\^"ɠNDk՞=2[IsB7\B6}q&IMգٷdso#dA6RWVfx:?Q'i♧ KW+Zg\_xwI #4H|{5}%9lT:AA8vS/ƛAYQڃ4KbV5Q| ]q&0I(i-ςOtsH,)I8 9>ۘJyY[/9*7: gPNmK J?*dnƬavk+m)ctW{^'W}%FoߐVO6_9ᇂ[_CAY joG;Bf9CB@uAqw<ҞWtr>`Vi!}bQĐ2^Bcuүg=~^^){ۺA鸌x3ιi<1]^V2k)܃b&˪4S-z(̥߯Lx?kG)MU(*I^IrY;;F&},?:<7bxx A=LTr窪/jqU"Q`c. +Ǥ)?1S,v, lY!@WAW9]m ղ^ $4Nv.0RzlhJث$O?I=bEJ/m4Bl̩e&1I\E ,o&[C/9oQveejxT^ 4AWSpRPE' +أ!&J(h֓IԦ,NbVi2; }=e0U 3N";åֈb+X "gi-Ւity1TU +ޒ7W噳j߳+ 8`3F5MbÕ\7ߝFgU V>1GOrH>}b3QOߊF^ $I] +f e/FR_Kˣ:=e'u[Ū)i'ut:}GJ2+_FȭpղݶO'$7i(ĜjoSK{ۯN?E04? ũft,!w TB%2'S:f#w]]* /NlԸުCU4mI^; +H<ե='$KP\w 9l76 $3+a#"-Rzꔐ.eTWO`Ց"KcTxSƾiVVXvBYX5αz ^/L{ƴ[Nޠ+(o,ZS8{nxh=x~ʴ&î%oށ\" $cAM!< + s+nmēμ,!q/7{acmIkn[@ߩP53/hޙ_cr]1P⸧uh( GEb suO#Ȫz>BUPdLk?_|hI˥=Y+ +xkK* +YLxjt&sUiz!;R_WA ZacS$F m}lAMlmw38]E"jȬruGl'.GgӦhgCCHJ'2{"%QKTcFr#5`<9PrU1w.Ih̰[*\QOd(޻ckJ{*4VIA F`]$} gk5_sY#S&$Լ-f{j\łÕ74梐"Ruַ+uu6v9860QSzT[oˑŝ/?Y:!>5aN 4Y:\m }_bf$oƔ{z"{gTE.h;QgH$O,|ʨ/L챃* (jV?lժ)r}2!`~B"c*x#E\Сn;c(NBfy~2b @9w95 !d"dZS)lS9_ʈ ֻ\?7Ng+*Rd>Fyr[7&Fޑ"JqH\r &ܶ3jgʫ BqҨӽ^S:o~iqS1#vkCms"[i\xїv^6-cMAQXqFl7}?.M) c2s޺K6Jc7ss^sTCF4$nt¶Ԏ9 W_?-kgdѐk]m\N*/+4 _ov<m^q<{!]^)پ[m,LȾ!%nv꩑76zBC+%鲰UDX0IZA,TL< +KB}scJ?VoC0r%SA=Zj?XR+ƒћ8Q9yN/Jك38߅qR1dC\y.pq_XFDh^T>j4H=E(dǖdn؜EiIR+oO5-|ػiݪB94@|kըpiC{^NF E5zvջ<C#Z'/sW9ᨼ' si($H4W>lP+hq쨶HW鱾՝v$~pԶp~ۼ63ՏV|$ }sˍI)?=n?W +? +:%c>5*ço"GՓT2V^PFHky-mE&֢0C +2U|C +$E +c=i)QmAjhM&XQ# p2Vq6;by&, 5do&3&mO!`UBRoʢc[<垞,gg;4zNt7 +jn&F )'GQ\6K LXЁS)ea])[r^Gj6)WGG¼FQԲ }aJ[}݊`R"ϙٿA.f M/TcXG[&͛ rs~_W$HP EŽKj +1:`6kM?Y$z:(CgRUVk7Y.uo>}4kJBLy4&A@C\\Yڊv1dN.ۮLs1<HTZ rNDY09y ].OR ^ {H^^ tok+]XjV%s"&dѶcX_ـHVS2&q|hR|;Sf[qm,WeV7;F:(]4sjCmPۃG#W4fK1٨Ԕejd]U31jj'uþ'՛b4/eT,,_9*v^I&@RO~ӛCK Udl zκe DuQÑK?޶2}%o9TTFrc;!1+ƟwV[_0fMVq2GzǸKgF{H̶0$4W4"F}DR^fhmsjIt/VѬF"n+ *wQ162E$x+6CF96dZUxS\*\򗨪PYj3LtK(-.煤?ŬܥXٮ]P^`, oS rZs!4yS"إ~&$gn_բGo܍TؐrF:$T*BFcb +N=.P,|Mji-5!H˕vR[Α e%ZokⶕN7 +ޑT+mB OO3jxueq~[bjz;Zn}F^٘ \AҤ:/]+VNN]R&]CTkKWd'ޥЊU4[{ +ڒKufmnc}w7EC* +jWn|RX.Ӄ5)A%QdyH6w§^>Xeu'4JA+q#fQu~"hw&!* ahȫ4bVy,"TrüފSږ?]{i3ڭqj + +OpN1jTːj\7P]1Ii;`EԴ=Pi3]6L~Y#Z3 8HStFdIqGcr3'˝hUEǐǛ_GU1?v:[^=9 'ru{.!}*A蛨OM°,6=+Dw;Nc%B:a !87Lܓ`aǂǽ}cEn(]:`'d;R$/.I + _\ZF) #(@e\)rF& +4M]J΍ 6&CcCKjm+[³ݵxa_.1|B&0J4caP3}fVHaB}7yHh&- dni-#Hcۑ)%)qo(ȡ#iuy̟vLǬqX9Q&:hߖ[nQ "b])OggSHc n 4`7UcȞeJ?ddP$bڍ*ׄƤԉp@ :T|ܦ~L!Uq Cd&WEȜd*% c`'L}VMc9kOɌf|=PԕFDz >KHkbՃD4~8z+:#M2]fIDBApfJmh,v}R3募q3 eF%sWS 4M%N[썲߶[@Ilbxx z$;n?>Ry\DͅmXr6U4TҨҀIوp]_FiG|&U9B]Xq> фZ_&R=Z<]5,^ɀzpIvѳW,=VL#Aaa'51q$0_T?@g̬5TMٗĎ%ҙ-=!gbvYz`i]Q3O B^u׶ڠS;U횈P1Sޘ="ka hkdCYTWU\nWi= +֓uӰvxCXuU&3Sdg}tGzCiGwZN,'&tWֱfpqtK،>߼je%WzHSovL{/[cwdbvtEU=iyy bxU|2۸c8B$v=[#y0-MÏ+:־Gm+;E`jgƾșx(d뙬׶wK'FVO#ˆpkΥ?1y*uef~PV埼lPF|tIXjMoLN'},|&oΒh*8;v:k-/{=.o&5UnUtnvw-R??-|?Vzվcw<4opWt2Jd٣WϷ ?߯*we~6?'UzzP`:o1Gkr˳}%&6rX&mBmyo;xO4Bũ1+[}tti/:NyJb8N#mGuI,=$]bWQZD LYiߔHאX4T)UOkCTauZbif]SY>̜WlZ"x/<Ȕ#ckU?Oim.FA9$͂x˵cE3fsP=x_?Uޘ* +"HV +D 8 +[Vhm-k(6TUՔty+^jm;_E/vjVq5ʜVH兩H'%PTr"'I&s%ə,{Joݶݕʖ¸?\n2D!Iȸj.LķelobT!cuws]ls/*;y"^c.n+Z + R!'&x<&hX`Pu.a멙mp '2<մ§)my ["j +.E%.4އVU[DNX>@]_MN ĕ~-c̦eE>8sfݹ&b{0V~wr:z7}vO=FW"\6Hk.K~jKq}b@1H}v5 +3%bU^p[^5Se.[g}xo%^6Vl=rCƣX{ce}w򳃎$IZˇU!?8iKeYSOfA$ހ_HLmck,10alAꐬBC"jcoh:SJDf0j4DD.B_oqi~׹>>+T5HޟZ]oS(K`QCaw+96j;d018X{iZ:DoITY$09윮AխbQ)7B/lܪԾ28-ɨ_*۬.hiA~iY/ӼmJk-='-=^r)uf\/};Ƅ8f=xY- c$ dG;툴صzK*rB ʘ84$8Լe\(Aј9YߺkA4͌\]KhGttHNT:@4S0[^68-%iD 6"i] ]iAȭkPd<{I߷ =CzTvEaZytO)m钿\[J)}jwOL MJ3 w؛MAN'Ԩ34YT_t܀7UR^{ b1P= &l$7!{#z*|*`RW@nB;%o9u?1нfP+{yWOggSHKv៝㟞O:sx,x]!&}Q2 +NUFKj\:~=%^;^N*"fopcn^GQR`WV&")Dî-X_i$ }0)i@AhMl)_0(A)ydo39if|ivzQֶ~2Q}aa4ʳ J$•Ic2u $h1d`~szf̪'WƯ~,])j"]ÿŦh XN +U<##vDRgjcv + +ﶛ8R+;`6 t6v'D j 2C1/YAR +^xԂ<Í ߽*YBwT=YYXao%⏔XOgO^yIT=#ably/O-w}͗t6#WSg.چPϰ{aI?8JGyux~]^^K(DWs^|t;vz^>Z[QᮇU@yM*VG_]z+{kdCeDf8֕]g۴߯>wѾ..`9\7Ӫ3yY{+ly#~]t_]Wvrk.ëK6ËjNr=88VL-2՗lKhj2&oY#VPWMSۑ+c`^FncG˷Jߢc(5-sYل8V79}ҍ6;?p|Iޮ +嵜'YG;Xa濮Cgܞ:ZlWoz N/-}pW_S(u*qzޱK۳6>cgaV-_88S UV_6{4tNiɡ<-ν=MQ W5z@<4TiGgAE:JCi̴ F66C]3rliu35]Kd.ft&6ob^jD (2A!W:p0yuC9^xJ/D)WBڢƒe>КUY&uk6*hmH̋/g\": ]ȍ^7{y|L%~Y{#4CQŏe'C,gJ°WphQ\Y̼:7_ٙ\zjm> uVwl /ϞN)̹H@G,_$RX*gQ",r}#%f0wI-DE!6~YZDҝjiU25P8%|!o[Wv4Yc֦Kf(jXVh]tcD=$3^voIӽJB0(_ǜݏ9i˧X @);wJR:LumTLUqa/,9Z%wb|EElL),~wĶၻ!*tBIJ bh"1V冎>FvcrmJs]jIMs-ӽ[]F <*<ťڕmNdAQKX܋V;U"Ш(SuԎ4b- ćPAE 8JՍ֑g,]ae^"r=SWat{MmeC? 5~G=Ne}0ʫN]چ/g"-eoƁrӜ64JҮ]&)ƨd4fu*v +AD+8[K1JJEr%-^kA`Tc)C-[%װd( 5Eȭ]rÇ!lNj3nLil6P4aWJ#hg#^jiX듴7_vT^ܵ&De09+Yzg-窴¤nĚ)QFSEO5D٩:;UPR +BуVRmsx(j?IgV4)jS +ybhdm#xBkHv=R!%~'oL`%z=c ߵCP'/Jf]JJ$ä|تǽjm1)FQC?-yo"EKxȦ߅6yGqhh"d-CjuXj0YiٸX&R!U2n rM<:βo:tZHqt-D{Jwv%T>}Gn}ldb4(0^Ie[bftvK!S"1ZOl_Zväh,f7?6 ==&E+'ޱmi@"-T(٭b_VNB oZk+coBՄ1o(#?cZ܎JTK:gn0oJzO8i#a=xz1NaSEtut *$'ɓNt1S' ϴѳJFAT_3_֛cJ#seLnKΦg[7V?奧6~e(t!nX&s=:/DAbȺA>շ0S7\-qO"^kI' H.3HiLO%!mHNq4L()&]'3M? I"1I68^tBOggS4H,szՔߞI)6J ;R{,4`WL0< gwJUo!LN {9%K\h-+֊%0ZU BtpVi%Of<%y--}b[ZIm~[']eiw몰)U-2^W4F?FPq b,ݞ()7U1XSѣrS㡛t@^p@3:?g3kC+vƸG ֳ1Җ!BXMF,mks0g"?HLkMsiJd)HD0ά~btJg% ]ru-֕E"c|vBSR'x;$vwMAU-T +9 470S4tQ&o=&.lCNb$Wfa57UQ$ƗFw=G/+ oL%IcCDjen"Kc4Kz<̡̮(ɶ$l)߳i>}m;zRz ZYQJcäо9s\wUy'[dD0R+_8"%)и![^TA~-#}Sy@Ӱi ^4ZY!]>;sr!˂kXg&肹;ބvrxPVb2xj +9X2GӎJo܏Hwa]AȎUTAɿ*TG/-tL 2ȩ)뽙5iZZ[LgwG1Lc(t1btilUI3Yg'a[ۑuښoziqքlLxXgqms;dC5_\ưVvUrҲ~wh>=CKV3wUErusl7ý&o枴h<* ?7k1_qv~G)?=SWy.d*sikYȞOwA0cCDEn%$mh}r=m}miq2b])Jy^{&Is7z=/5z68Uy}Bf28KvVA.i&rh~* +ܪU)z"yC&dJWt!ɶ~ه,BS: B]fK(k53lݐ ٣6K?cFn6X\5Jcu94+z帆\bĔi&t116o]NK/ g1rbOw16~AjGݎUZd’3.wMΠzY6. >0BLc[~Z_Y: |}?Z:Q6y.^k2 Q{}F7eA~KG ָ̉sJ^]ҵ94Bjm[RK]Q|Wg7b[ZP d$slwn^MSU ]D.Ho[>ƻvo>*Aʩg+<&ATCVtn!fUZ50S"tNR?ϛsSP%}:*-ǃTȯk F0^c>VK"룗C36eVڽ&cVA T + @t +*Ҋ*wLxVNʧ]~uYW,yfj51@MC;ˋ27g(V$~U?yVOW u֌/{k~FV:cGլF-C6Y%T|Z? +ݝWDr$c/LP&z/e?ѣ# +@H ȒyJ\U/eay^ ~ʿ[v!86u[~6+mets[SaQ^j4|@f?)~+Mk'QL?Zw B' U#*Mz}+FҁPQ95fW%f/wqUt :A1N*F`k4ROEaB;2OzەKMxؕUsk|w}]iN1)g+鲆vRToj_K5u~xVe(щҾ'@+E#]&+z=SM!:e o轑EKeYrntVa$)ǤmYa'^ +TLȥ`gE Д8sL2n;4yW, i+D&aTUObkS(_QH_Q4oKAM[/OTiͬYwA=9m{/u$*('HnNڳ^ћHE#퍩٥@xKE^QQzHg5D7,)[1۔(eu)uQ Dy &r82nh%v +Tpd3!bP0VYAĝ թ55{1ʾȱB坒k+)&>[x.qAϓʴOO&LbHW6`ʩDC%n'72Hl~IAϟٸ{kٷv];ڮ0smz=n|^4F,}vj5Uy_HmUx|0#E99:LDWn0Ow(F.ڢN}0隤b'tj[%:ӽӈIjm\uVU(_6'Ms"Z JvS9{m j%i eD)b3}O11Lq+%+2ckۭJTڸ_b$1Cyԓ<J̓+yde&Ejϔ>^n]OggSYHQ@铠ᙝs#@{*Q-p8]06*3]3cսjlP&4zݿjpYCzL¥-N=d_Ym>)F;#i똾叮$+7 Y +֊b ΌAa HG-5/b#/yD_̽&`G7Q'taqPg1+*X +l9nl?VGK= N0LE=~I7&C4*l&4IϤ x +9r48u:OƸCY8+‒Cy6r;E.-47-[[! ],-DK0duFB){fTj,WdJJ Y"^HB%}"CUq Q{NY/*Idq. %ZJޙDMʉxbI/Uj IRlkrߊmmڧ2ٶm{U =AeR`g LAS%9@P`#`)!ߦ.]8+l} N*$0_ 4+Y0"r },8= VwBF$}8VnH2~QT=_)W48{o荥MӎkcS_&)8{c+:Yk dGDw-O5왣LVUDkOU~v=Ȩo{9TW֛n#\n-7Gx0j&vGy]Q؍>xFC+{/^;óˡJ>FbCgLL;Ϋ߷.p^=߾V,K$ +?8vcj<`ښ@emѫnq^m#|EoH]^kq|f#QTsz~|SQ3 a3&*;ޚaߩ11lj'I{mDVŌM(iFqǨGŨ?mۢ92d7(ՆVqٓh'rq瞵k^Akqza5鷏|ek~j}Jե{6WI9QôyiM o_nԊ{v +{tjwR,d^\ *cEc+}9c?}B"6jדU'65=K>V MYeyIeYpa|Ǒct ++j5I{;5Ox̌Vf/O/o*D08'7ÎksPm2e ɾY$}9(d3knp^/b\KŨC\זKneonmv3-}<7uUU|Ŕ_eYQ}ٵjjj74a\ MdUEu*ۘ`M\эVR'{_ "qn /';W J=L_'ondmZ!c315RNFl+ ?6n![tj+m~FC 4>s 4*] |Ѓ}fL7e}S^ *;>LFcǏ~cGǮHMǶbf]5V&æAw'R<*qJq,>4Տج Zքgdl`>PeέIXɯ ɢPk=7\E L +u;AΆϴ5Bky[O +#1a̞ҟkbCu=Ծ,<)ɲf,KH8M IؠIB,|}E\\^!g(dbMZnmԝtP yoKFF֒6b[#Ԫ!J_NvV) KtD+BȈLt7"Y߭ESHtIěb bL ~Ɇ413-'{n ?t86Pl=j;~SvGEGFZgk.W<UŚv5}5Λ&(ɧf͵x#k;Q/JGnQWud{5=*F4W SmgjŜ6e_)8d}髢.o)^9lE֫ulʘ2,Km"KOӱBp:<&;5qPnvTZ+MK6Bpe]ʙt?ժv}SkW]jo?UǙt3~:Zi:*4H<|N +QY46ݼ^ }y +3?ЪvKߗh!`٪N© ~,9S|!n좚3J6hIyqE>: DTtB>]Gza)  K c$QuMCLӇpP'iRHCGtd(BDrLv 31ӪKI~rOggS~HO|֎>{OԆxzPI4h;ТvB4yIslAQ7}risVZ=~SZ;oBgeC](+I Ta 4# L cb }h@J6`@V"V"=$`( +3ӭjV7!{v+VP| i|K{K;aU8H3轕|Ľ$lGpQBI[i35cDf0 ˮbh膀J0sEV߲!=E B %G|_ aˇ.RiiZ׬'y7{kPKU..g!}G58̕ZK !KTah)Z@^~ +ž4Gҿi^hH@nLTym"F!oӹ55nn>T0;Jhx7rS0lBdy\nC6VLAxC +d@>~nEF@}@5.Wl߱^ӆWπ(eawU?( >?+Dݻle\Ow_*5Fl;^ߛ =,g[j<Ԙ<'\W+EĿ]yMekUwx>TVݎ7EΛ-0Q*&nNx9+_}7g훿{ ~a)xֿ=Txm^ +:We~|s܍?;[憽pzdGUs,|ꞵ۬˦tvj;W|MKypُF{:[cv"])ͭ~R\˗ԃ)?i?,;Moi~ſy}miq1=wetz F:_ofx&ѱQҞښD*HG/U71y'4,[pz?nzt&tgߦ&iE-/Xh)_wEe~Fvi9CcŒjp&tWۭ񹓹Y!VmC:YKqiIEyi\.pu#:Sl%TQoؓN_: ]7FPhvc1fO6_[~Z8 0=agm"<Y +-8rOWDRdY#~ACrᷖ;Hy绷DU%7<\?%iy +oO`MkQ|;>Ιc+\\%`5⧅4~1do9k"Viy1ZF$iMl_C5Wn;#Pz 6ZZk{V67Z4Z*`=uTQ xCPlM`I"_iaOVI~o>gSEBrˮs/Xj @J!+IrNpͦo"E!cr"!)hLw=4 UwvAMS R}wx!KnFٲ&< _)tFoņ\dY#8 }<ݺ{lIT'HLRh68[Me5Uʫ\mu&yopmFuKLy2:)O(49ڶ+M #v2nھ7ibv%ͻ#8ӱL_񟕌BmmTmDv*58훉6{d`Q錺dW@g83._aNt8yUQ~ +RHeT$!hDCp~73n+Jvɮ{(|Oŗa:;x*yoe1 +Lff[vL ÜCBnJ EOٗ|q>7n0WR6t +O1REbdU<62,k|/c_VZ.ņ:3ɩqM?_+a:J<cK$ nͱמHWJw^y/3mr9q9z{9b{0]kfnihEߛ LxXo?Z.Hi=ö*GeXXZ1T9S&+tS?PG2<.+TZL+4{/~Ӿ,gȫc~d8'?]7*bx(J{H^:͒Fnv6ȷMgm܎_Ѽ+&%lٌ%x#dO6[4]zTki +h12Pm1@4NntU&.R Ny5]%ͨ(V/l1,n\Wׂ(+T PϨc4d[~)E@ҧPE+H)Gsh|㨴,U:/΋v6D*3ՍLjt'"GW +>Rw&sĸ}L͔{A`寽dsV[ْ,|b62ō Y2hm(GeH+:;DP 5'.wϓfE]ڸ(˒'UF-mu\˸H_C +7ؔ/~X*eIDAӷkz\-A!^)ހOjL(~hjq1z0e4i_M9;$sl70V7Y [Z\g~6͚BUmg:d $on#v&,Ĺihxm{tJo)_kaMxXQ_uX.$d4|N][) vg+w=6ɥ5حؔSexa22}1aWER/mg;qBQlrbIԕ2(Z_,Yd*[wshAc\L&c,8FzI3\(-aOggSH<3ʔsZ4\jl9Z‡#:w;DpI>y'dHtY2 +€H@U NVE&I!jjr2 !W̼I +vKy +>#59x%yBQR۶sZD +0A*F'`UI C*05>0Dޘ +n~JiwzEI (ƶ~O!T蹸fȃXnX㝀)k+P`&P& 30'TCK9:r<-l#̩F&H!}z0. .(M^+f$R`+?P_hF~c)"]k(Ml|^ H;&J~B`RcDӇȩH`gKs!j3 L$0S'2X8?yMT;:+s T1n |.YCpp +D08l*0A +XthB/X,o5q%J$pH=^DȈI‚D-!ЯS7-`<^>'}l/?ܥD?0!MLcP;RQfɛB|x``T]X "%6۽f@ Ɋ]L +@Um@;L gRl*XD"$s\bwc Z:d^ `#1Iϲ  ' F/R+=DZA[ @wВ7-`&DEqs( Vv‰u g×L]Z*#,mrZ[}b>=%*B;sQgcUGRɯ>_MXerdH*ǬdcOufb8Z֪hoۈQu*V&@\A[xr w{B sW6=Zwǯգĝk[~y~BɶfrU'y^s,^}Oe{ro]Yޘo>}z7DG/]w/u{{+;,_yVӽV1]Xz,(BJQB<*h~K_}{h-Rҡ)o7=zҕ0ا&V덝+䵇: 8qD6+]T_vE?I&RόQ}zcA#DUaD~_a/\- kss)/ V:LujNd &:U'O]mͦN9$ #sk9DenK<1[鬪iiºadU4I/}# NmEA8-FΒv"Jᮬ,|:ioo<l::Yz4bq7DĪS: ԬywW +ƚY\nju)c3!EgѡD\mCU=S%l m7ei_֑VC[;Jc\]HQ[L.&Z#Yl q %zVU)N1m%&ܯ $ywU-\ⶹGƺkFᓢt1jrx-Ql<*lDq4~Q?H/AL/<q420?nj3sNc +۷-Y@:|9!u=dJTj{[\㋍7O!?$wJ*6a;V8aq*VLi'LI,Dxb4dΣLL$c,aun Q$LǏ rth%Ij nd{ljZOJ~Z +O +xb2(`'P ` 1cl 'ۀ\ +r 'qzƻ[YxPo*nk;8'%M,KXF8J޶L lj;8t|adw 1b&*(~ĻΝl ϗNEdRJwT cN֛E0 Ĺ7H#5~Q +)iLQLٕq𸭞*3j8;@F{ t> p)4g`&:5=#/7Fvw +8WiTwxKY֣K!8em,h:Qjݽv`2TSK z8k#L`&+WwwiCV?ҿ0cVe=]cQ + } A{Vsl c'IR Z4 +k |}W.Pj]'MV}a2 {$&AgabQBzO+hg{fiJ" 2F'EGV.oMiGCn;6DjW#2}fM8O;~K* PFwI%o{t\+QT^a#9LT[Me#" r &/k6K߈ݫ*=f^LEzSfIj&)Zh:{YH;C-M8ٞ%F"7ˁ{8ʽxUD尃ܑq"N)jVB?6hܙ,z{̮;0DlEqC=4kX6pS<**uM`ϻW?N>=kBi_wym}Gkˈ .oe,)G酑K/Y/G/[/nS9?Թ.YMwVA2B1Xn {5gLu-ޱlRQ;|WVjqw'v|,[FGY1u<,. g=yki?+&bd/gs͖X+P8)\,;k&G= 2a (,1kU`~7cVwֽs_6U2vlKE|IU:)SLhB?,7, +S>#H-ɥ5"xN yF쬖b@*vƷ [T"1 tJaG+UٳĨ ZΖ~CH:c=FDqwn+'1)OggSHV镢枈$R.BrG_rO$`20s 8DHaU:Օe9G`"]BY)VM$#Ӊյg71k2 W}Ԙ%HVsK&AHh"|<x + )8) qR Hg]tw}d ?'&"աݖ@3͓#~^i .75Am=^qPٽ"K~ dϖh\l}LI(yISgEߒ'>YA,gn9*}~",PC i<2]GxbTqSB L4F"rT/7ȣ=zg$#Dֽ6Q"I)~Ή^#(m~H.%灬νaNZ")}7Cj(-_!8Hb+D0 oB|̣$3x= N{=76qEM[ɺط\WG"90Y.%Jmh%=dd"eHpt,%h) QX7ld`lO 7\#Q3!&0jqa?/zMc{<XoN\KDEѯOdaM1ҳ󤽞OD*}Ϧ ZpVa eb-d^SUvòrQq_H[ۇT3Te;3]~Et3m%9RĮyevF<ɟ/O%yUDlGAyjGs R`ji +%65%v)e};ZPV꭭Orv(}U +n6143ewn$$Rb?˺$B'7KzJ QTٴcfLu_|0l%Qf2^-'GCk5>׿WVؚf3 l'd=(c1ͶlX׆s8.dY݌ 4k 4ehH`40`Bవ|1aۃ3%H +8ƒ[>tC%[ W\1ю bJb͔Ұ<KoFxT/+G{ +X맮,oll(u49q{9qWnn'VeTnF%"PYz,Gաh[[xpܣ]K qYH#"oϣ+ +d`3=\ Bwq=μux*=}i9]6S]&Yj𵻵[EʢG(gYD\GeltVS?UyA2H"~LJ\"A穟oeoȅ'Fjo`tɪ*L_ڤ)J?˩6eL0%gLSI~絍LJet\>YDdepևp'C< t=\ U5Ȥҝy}O3ܺXN<{ ro1%cSGi3 '|Q8Q KV>3Ә%g":0qSAW˨ 5r +E] u)t4k\]E/Q֋bYd~y) +4́9`k FNjTU xhcаUd'͍ZeR[ J]"/\%R#Vn0޲P* ɔ܊璾7)*-i#q,r_Q~SoCEfFcQ,M!8q~c# 56 fĶl^t 7g0_Ť03ٓL9y֖SR̮(B湧"T"_xRI[cI +sb^;$ +4H܊}k&Kk;Q.GW[N~\j0 [Gm?fGqL(NZj-?r麯My6fս +EK1%3ˊ$,uF\7./eHy!d1 eiom:ΕWKyW» ;Oȗ2Fn^+dĠ_z&BCWǨX4CQHg1NaoJY_Ki4*4ŒԱ7pEjLK6:ԘBe5~*?j|χm+m}_si{qSt] +/Qߵ򝱪i ݽs$BL1Ի?VCgNNP!6h`&NǮ456z=z*Qc*T`? uPvSsJ,pff}' X.%dfSLp;[tL!yE>9(&X^pB&hTPn0 kcKͣth4 'jߝ\t#ǵ"/GL7([ɼZcVHiY%S.6*lg1 +~ >Ë&%nTN&3'e#UWxTP7yJsץ]! %9t i=? tDɉ}˲M,.#m|m,eR_x!͜q?Oh1( k)%-cc$&L" z"9_A ¥~llGB[l}_W +%ھv9ȜE%YL?ݿLަpxi:HoC *g]|\9DIڽ'h:=+uLWQT-IgƤ{izBubX)$q0 K P`Ax?n^)vrWVeg"a+c ct$=&L]`͖"{&' RJ~mQSԧó(:K2j!Rp`UE/F%Jl{׃wI3Htr7 T|jen oe K~9 +7=\!)rti|ր(<)<͹'&ct4abƙ8S@򪃆8z}mSTj*d3Gc>v}B@gD9Z`lJ|KˆoV0J]b.`a[նt{&uĺEG/NOC 9m 8ˡIm7RT S"RD$Y׏69 7}VW,zooUBdbYȒx$T'y E0`N"9OFC"xߝtM}5z1p";r"߱5R`=> ۩DEbR+FA>;FZdFX#}mn,od|T0{ܯYP,~tޟe+Qb3ͬWMQQQI[2ΪN5/j[M~=מ-2>e ޿Nwz:)z\:3xY۬'2OY4= >o[l;:Yz48zSG!ۓQC[(;>B1l}#ұNEyLln|0G>7xS6Z:R.0FG|zou"j*)WCOWa)[ f8>޻<;IcQPo{) 'ɈcbRY'kbBj[v9o<$`֧!]o2Q2bI +zZln:%(Ec}!,vNŞv2v ]<>{v~ z:R!{8T iIJJ3ă2PG +w +1]Ow8)Ü]h~m=I" 9I3+(.Qٞ^`j9io "V]VMs66 +4Ax/=uVZ&<Ub륹7֯b][Jqy~;N-+ڍ8f ^:*^@@ +O|EzjrFSLW_(-N7OKA$vLI2:3C +W>a*be2 #cJj>ңU=uewVݶhOڳSYYR~&LE~*26J7jlJe9f è&Z~c ]=|(oJni,1võ!#_T#,C;dC |*!c1}L.١w朓9zs>w:/qaB3 r N cy{$y$VgslwSwLz9*;7NB<]rTlyuއףغgns69<9r'C BO-8 .7A$uz4,7|!e54uum(kh$׶-a׼Bf}!IM-yvaF3yëXkOOuů [qkf[N?ԈЀ-^{|!l^:GX]m ˬ:LlSoi.smӁOCh(J11$%JyG%,88…VAuYV1zj4tAbThEz%X2>S(Hhubo +JӪ=ƮC^"=xޓ.N"5\+ëQÎIq4#wn3갋m_i y0W6;)׆5ݐuMKObv^P߷E-?ؙ,4.^0ʻ +Ԕr(DWE&Fy2 rH^aR8+ҿtTT$(qSgф1=;5F* +8S}RWvFAijGAr+op:&w١W^jfd\iKcd'Ž;eRda%Tͬʂrqb9Gf0l1zkD҄o?l@%Nb|x^֩1N#h$Q Y= 铙mȎyYZX_y3G +@? g7ZuڿPcp *Fkuě2=Xi-wR8dsFj牰[= Adҗ.8HSvN##i)d8v)1oyK|be*@ї#g܋=L+-*ZJ &u#ب*`(3<11"U"\4 nN^) +pxөhI>}`qxUlػF80).zVpfWÆ'Kt:^e_ۼ^8~|u &-baH40t H 7NG\nG? 0ş *ٟpPu% OBC-Ns؄/#0 rkKN0 &QJ`Lz(THv)/u(<:dkjƢv3:~2=Sr0:*dR(#P0)P"]mtGowے ߲MQˤzc)fS2&`m{01" +^u/1 OLv ¬heyBo[8EΨ[,Ei{ yҡzU]Cm֛HL Eñ|\dAمj;etCR&֩eݮOʲI"0a^xWNۋzt/mU^o["ۨss{T.ʪ|kcu]o޼wM:`3*X )1:YZ{ejv_WxN+qTl%טI\֖fX]?wIq>}v/.A45':C+F4=C]ŵ2f$x+[nksj/4Ϛ1nX }K]~%HlbwM}u@攧o{njgRR7YzOWj*>Elv +;ʘIk5{ãǘȫda@LKE܋hZۖߟgW ]ri'Y}C':_DۦWèBII&HI龜sleCZfB\ٹ#yms^=$gUw\dPպRF]b-h]shOiUiNSry{ګg;c->*8 m q3%z:XWUzyaIn^xFer,v-Ak0uׇUaD2ӽK}Ty>3X/c{TtiR5$"ǃRHY]O:LKBۀru H_0[noOa;N(z[#u=9d4ޝ3WHͶWK 8`zlᇙӥԏu2zUVFcze#mB)Gw8}:2/sÝSadr;yX#E&⧞zr0=|LY'aOk` XݵG=aCIYOf#,oq~kL 7лOmv(D2gunӬB`^$!̯H(NKIipvatPMCESpisgsKmszI(NBdڜ!JA*12H>&@hs-Biu}kY!7vqWQ۹ {6C@ZW8/_~9ȊȢM{A %t)W'H犴Xv{P=F%]eVN ^  Rp7arUlWqDt̥084\F Oݺ|j e{yH&ym)v)<,{2-9n}◤ vHCv/R +l]{;ʶ6C=/ g VE}/FdBd#34r:,Oe^=%1{F߼_ +~;T +$<:."2ҀiDUt|w햬';R;YDI)#M(B0[YF2\µ1=4kѐYE1;LW#*fFN!Bf)MZ n\.kR \C/DKۈ6=~F}ȴvY9wc%\kom5*dc͠gG=;R߇ FcuzdWtU C\~.Mըj6ǜi8m=I!e [ËCa;-d-S));_&B,& +u*71>/jߚ,ד692H!"gJj"/7a"1g~l>Zd ffbՖq +d /ArI[AUUeqmFڂC"'JK߼rR!LZoc#A PR_U>m1W+mf}UZFQ]^k1o겲huDsoFk.I^"NyXYJZCFH>& /~ee=#IZwLt.,@M@,:-5EQ +y^&FosձI+aǚ:&}6cuW[Ӎ ||9H.NUD1+?i[ּSVUBa:MUIQcB&;ֈBa^ +(h➴i-Nuƶ>Q+(?6݈*qJҴ"~W7~ oV+ru|CRU)寂"d?äx9z;=bbqkF>G^hȱIVx&mS.Q3JfKmkFsm|oǕt[6E{dWY>L]iL?oN+W˺rtxJMw(l?[E.!wΡ6M¬E˦=Z [c|^ |uO5〨]]}5}Wdl^\|>O2:kn{4}r#uWYZ?9pwӲ`UOOggS4H9埩lC[L$&~q> Oϲ7YP!dY+v|Nkqͩ:lvz^8QJ(*%Rbݻ A^5) =;k2mgO ѕߤ|cip2xSBy'jw#pD6-a n!J@?ui_EVYkqEǀj61od<܏HB*I<1 g} ^zW=ض6 >#^J)%m}%FR3?Hp>㺒 E&}ߡs \GHyb\_MW*4;0$*vC/ |y&DIA?JFPsM,0A8^ǖV+'\k֌uv͛BGiPC|nq3k50 F$"XiuO ! Ӂ.:^ aQp` DNEVy-$i\=o 0D cTMo˿0K%B-xzN .4Y"ߢw+ ^ HOulnb=h(M{x rv2˭qaUB<~"_YnĸDJ LiȆٮP}a#xDv֍_N \z&<[Na(Cnxv'x|2O"ɅJ~^dӸ3Hpl3?)Q>9$KNӧ`M!EVsA*Oú"%:tU&HP@'Rxo"j9oΝ(X]lq'Q 'IGr!J׳k#}H7w_" z.0eLVCE{!RyO6_ަ ej[,*VιDK}NG) M[mJ޲\6B{-DOEG|aPs,a? +G^2QHGSy)>B}0^f+5Q/?-%y +es"[Y*٣w Fu@ DTJ`ݧkr:$YԣIGJ<#*u}n\@/ZR0`"wߚe@32q՟ŜfYjp-?dAazȾfϹ+kk~_Uo6Ӊƚօz^[zss~tUvzo\7W4;.:ՓkUz]zzu_[VՅA/ +ind.Z]G]/K dCIÜC\yxV(: Y]ޭ;Yyת.uNQPW-\XHr4vMɓyQ~eWǼwr=ˇ[OzBfE{Y_۫;{zx9{\:2FîL.Tug~}_z*Z*)2}MPh]{SL6ϧjݫTk]%JR/;n%]SNvy.mFIz'yʆ클ԡTM]y,L_wGHd'>TIͲ^Fe7>饺ܥnݜR>8tXυfGzڠUU頻+h]is3hk4QVTBT6|_Zc~$j& +6 yuńUޥzv7d>Yl$:Ie-{#(F:fJJ)\.\a/' zhk_Yחux&Ձzxybe2C[VHW K՞i_7Ֆ*RS4ϺSTuC*SO5rp7^(7j ߴ_"%ئ#mRBWdl /J@Q'$JLw ߦ wDo2rVb^e$+NV;^11ÑN5˒vEVt@ +?|/7̽ %ϸ]gܩ~u8wb$!St*7qedit׵!J6O +=H_ʆ;ǝCT o*O#)V}̏?e@"`td6M]KI^ȃ&.FlZ| +~r 8&#T6{csKu = +2;26/ٻ\xt{)7oSP;cFw0LM*IEL~y2BH NOa2I>Due+:7-@!2ݛ*yq[xv).ûN!'x%>i4, =M\*VC*j{?V&K`HNyUj.E\0=09w]>IbDX=6,HT,\72\ֳonsӆj5y}"|`&khF=1›tl \oEGl롇r0֨ŧ>i\ ;$E_]sra@Rʄ(JEL0ݘ]hN7{D6cEHRy_fy)(Io~eߤ}lO/mkb#X@ʷ:A۶C|.qm]{\75v]E/ThD!쪭qrΊ{x#xd]/3_nz3 ؽ_E!23 'nPur[f0+wNj݈Mkdm*hK͹Fo@Fzd$mwCb7#DRu 2խUy딅RVGiaI^AH%"|\_]DМY8K\@Z[/ L Q_Puk*ܚwK$ӷn4?2!!nϐ +xP"Ikt*]t{gGZ%Aږ_?MbaKvg-ʃ-daHn[5/}`52XO&ǣڐE_% I,t}N[J=& +. C_~+s6A1CDߚ(;(q.1bb"T[ڗ^C4 "@K2^:mId ^A2 ic5:`afk[$o>sm%ޥ/$a;Y H67!r)0FZn~LFbKa{QCڒn: Y\-T$/r.6#Neq'81cPKw5 fCT- ee~ +0UMx'^Dաm0Pqس/6()^ +9G>}!Zcl0=$蘴M\Qz$yOmJkgV佫J=i)ǜ^ݒ=<~teYѭK5Ʒ.(j _) +x+ Vm,և3*m9@#fb4{b/į4V%s1]!y +vKq}c .גس{)1“1ߜ_'rOG \}߅B{4~k&cgql(plFD ˂Ա$ϣGuHa\=b!0λ+sMdǯE;.0K'"x+ӯ"[+62^|v:Ftkg)Pr􆤱FPl15z۔oV _摁;;e9?~63]nOggS[H/xx&@]iB\G0IupoδǗ: +C[8Dm(g79 YNJQT֑V{=zbD\QZeMz`_\_P4rT2+8DVoXtmĕؖ۵{DRQ1ufٲxd*4KVHkRs P2[>\n4VnIXyt`yֻG*QkjJI_(oJF'{ZɴhHzWJ?MtϠ}mP7KcrOjmx7 dK9YOiQC#.xlchgV4^x +NlN͗mrIhԩD_=T,u`l*Ȇ#а&鶿7ϟF[ۻ3YQTУiZoea I' =hNLB46DPVn -Ʋ661<[n~t:?k}5p +Hm뽦+w1&,Éʏ@ +iI>Nψ!y }[)% jL'Kc$'" nX$I8)z(|z~z5L& -S{8L:`ذƮ0g5m[Ǝ"Gjo/ ٮֈ$V/#K)!%y7,ZҘ HC43DJpEDBqJfGߩL>fkQ?C^a% +[)`@=K KPѼ4otbј8:y<& :މ !ؘSb&v&pΠޕ6y~Sws>yv(?\zSϹNeM{\8l ]OP8s!1GXyEu^5_yb}YW]z~0;G׭%H륤IsW6ޱMXeWuV9RV={<( e\"wQ.{w`}~+vڅ_;ҕa F9MS`ҽ M(k¹tX֏.Aj՞^%jֆk]+?=1-FxUԴn!p>6zR5 'N><#Mz"lT L/rYp[odnG侬)o(#sc`]OY9 UxsB+ln?FI ae d֌bu[3}njxЈl48Eb\x  +H#AE[ +7ޓGPҨ׫+(ɡJez=>!s41 +R&6IGy–l膕wх-i@\l (Gy5OqkNDe{]8^wu - %.ǘ I#0SpWͽa*nV¨3FAzB "ξwEkUIz2d77'^A'/փ(M1MMu S4Rj nHyuVg.wN*}S? >:w~xAq5*۲+0uU5Pȑ: }qTJ}5^Wζ(i_PD|rf|RSZ9EӰw?D- +4A%InRu~ <<0(v2wx4_eiJ&^ ;T6-Ç_-gm)s_FTI'H wm^Ux!r %JNs>d RY@X< ֿU~S1IwU}Ւe.!-[9f}(dHlszL5fMwwG!7~ګAkMڃ1^iH27īP#Q+4mCX52٧CS(ޥq| M1ϳCK/%ʠjhUif̶}e@I&Qy!^y^6I&{Bb`?S~;[Ow]ZAҥ]z[BSxZY!9]NW ?v' +{NDA+(,DP)3=>, zWJbReWw!na,7A(vRTWʌWPgwپ11RHq=d|mY~B^w=O'P\t^/^7PZ nGAX=Sh=6{ּEM}?ϐNC+tNĵڽ,o6l+ehr4$雰ಜ-]竗5yhV<1MOMC8iPGnQ ?v,﷖&Jwin87Z|ƕv)ŶOOT:d"H<92:5T  z-_zYֱ{29M4 g$īG,"}łw]j"\lvi&") 00ՈXn{Rq\#Z8<@Ws7&*; +qw[<ώ2UzUS۽uܨ/Sq^cc6~ZD8 zˋ?Ku lCF_Cz)aWF&o<PClKOtQ.ˁ􄦊#Gm!?dBjҬR1\&h7A'7mQZUM }P+dz %^Y+ė/1+V+VxqN`$*-g[:άnm=[X6v`E>Y)K7TݠY`> +.ؒP:X/ht4vJ( +z*%~J Y5_|ꗴ간:ɞ> 7\lNwhhi`1Ԛ7 Hm6i65Z6k@WIkzѥ 6Yx!1AQqˆhz*Nު]E yZgy|l6-ciحlW?Ce: +>6ej0( +"W}W*'岶V^xLz^!/Pv2+x{1*"Q /@8E7i`\ɔ +g3+We.3@5;G-FKr3f$"a*[x O= SؽeVaT?2d1g{R«Bwk5: +OggSHmo׾JdGۄw[=E-0eQd!#^*uuJyg7]#QB SeB,t;UԐdq߆ + VV 5~c0`C YVӟϣpAZ>fCpy> mboLLɒ'ܙY+$ 7_UU~e_pɬg9Oщy#pcXc ੪Xү-tnuSZo/`BAvZ#}i NmFMNnHp:MR{r]Uc('u%&j_\̍1e!}=$ Fr=rR _& +m Sj!3mA..lTp"o-؝<,^)zH?l;wF*{4ԙ(bY\4= ,x" +Ҥ1J!#DVM̥kq݄P'B"1N6+qx-u =&d6gmJ ivjGjc5:BM|\j?o]NlCXjeePMɺmfSe;efGG"kXSuȩOl{~T| +R +Ff.,W~]gjƖ$wR5ѨyYוTir=U;SC?c{[3":LHdE@D_OTBP+k{⇎7s{?VX`t( Na(3ѵSUEg[?\ /W'OSyг"t# '?QJs4i$Q pxEs:">#9>rFPSɑv!4#׺\w%Pe +5;cMgʯtnDe„h[0u=qk߲DzY<}Q.Ǎ GXXoⒸ#*&[-4NM{lQg3&ٚ&m-r?Fgk(@I!%/Y6Z=[/o-"fi 8%$nک(\vݫz'?)qwϧ*OeykOe1^gXoN)9 +47C~>TvÇS\Y<κg(闐K'jѢ%`ԼEkJ?{zGTd._ "..#{ݽG1vk,/+>utOj-Iz+&*X*bK{V^vٺvty~[\ǵi]٬9K#um{WZ֛JL*ښJ)+"$fX/ QDo1oo&u8jS߈Ucx|e5 5="(=$7Ez3(Y*&9rp*Wwf8U~pA,K ^&Q \FNB[>̏s{6XvvYxhA=W1A.tfvC`N˹..;\Grs`X.7zyj0ɣ$S@#|.Rln36 E~" +< :<ަ1+z觰ܜ֏ {ycz!wԥƵu}O/m+d[pS$gߚ}a_ZckkzZoi GFꁣكmv)q7i\EYJ>=wtt}*ub/;m]K65eC W7WhPc%Or2$yǓД:S8w A~O nGz|'uEJ4r)AB,NUlj+Tu^ē%?ue`M7:bI?yPA5$&ܷ"}Q TBzym V׌)$}Smؼ(S(X'؝Q1깠C|uc +nVjwj7v~8ٯZ}Յ +~:V9 3]{s JLMnm=]y=Hks\!E"K_oV6t4~jߑ{4փal )ug42krucc~#%Tcy2e\RD'ҭꚴ%nv4Kiz>ǸմrJ6CDXluێ |$48O|Zg tWUd5ǿ}jҫáD&ZMgC{~_[=e-EЎ<`&pTF[vPT_CE5I4坠7?m +:ߣ缿(fLϤZ2u=ecn7klL$hhfBcXe7vW(+~Z EX/Q.rVԹ߹Gܢ*mq4SIԤ_/Sr׮}K!4*Khj1@{;ؾWG){ M,nd{T1Zژy&g͋NȾwPԉXE36v0 +3 +ZC+ec]/Z/[5B؊m_-ct1H<5)E$K7‰YLc0 +)Ǔ+3Kۥɍt1r69~I[yIYS,B"4MUUx + ͹ϖ{5st3 bbOw|,_3- d1mݨIw +e"?k)wϕ$ .q8":Af74!@j5%CZ/2`Mn{ 4U #ve׌jd#9R:$i{l!4?ce_o OggSH p^)1ԩH]W*^7ˠh2<^wʴVO cJ~hqddl]+Hm(#Ѝ~5yv7bG'}DM1G7^h0mkVۤ ɭ6HQQָzۣoWsxʘQ-S4ڧ]jvm-\0?[f]~86x)IO=ZpF&$0iPdItla܎݃һƎFğBPeFrK-9H;TL Ʒ#cP4fqE?*nd4&.ل:щ̣4_ۺ,œ;5"}H*Ȁ[ +ڸX1]❽EiRLŀL $u^ʭicWځ=3aL6wjBt%tNzrl{M*XI4>5tD3I"OH*T_aK%!"!`nbQ!)0鰜l "qv.eS#n0FvN 1nz0ޖv h'JP/ܳz v*K1/b>a.X㿼DySEZDA)$}?cq/PB 4ig*Uѹ=0D1:VX^}Mk˕Tg=lXs8T_ԋ/'j|LN6n_lAoNr ^_:Nܭ2\agӽy%e^[s;V޻7I>x.^ݗ#s<D*wBF4Fy*)r.ϖ +3ۦ 5mT#EbcbQjfU+j[~:~6 +yĆjRf#%;9y\닐f3\B.H9a-/ʕҡt8I"=APGoP4Sy],mn=z]1~kf ;[Q} qP$:йr`叇Pߜ⑵.U#ѣN 5 {)W(1&aVx>zN5sj:D8{zЌT ǼىSH|~RqįX"! :)*HN3fyc)P^UPo9{> w2DtSJgw^Wھ,!X'!jBfLZDiaP>3?4NM"'EC:c$~Xscf{Һ#oRPH+,/lSHbR>aMvnL$+9lcJ=QX# 0R]ϕu:pPFB&]S&]U[s-}8 E[ GRDI΃Oе1s0ƑEoR_[Z(VBTQ6w Nk iGA2AUB\G* VqKԱFGƗmtn{]W=!y4ظ pGя9%_oK}R^sugYZ,^) "[&u9Ƃ+ɳ'p)0ɛ2 (`BR3TJӰkRcmƽ +rI[ӎd)rB`c(yHKkoզkY +!DLgKvC6j:|:Bԙ"NlǓvXMwm˺:(R~y?HC8w4cR0ɬUuYO(9p]\%MD+4HS'SbS:;LJBwؿ5kdgڣ Gÿ;etҔ+'/'[Y)R=3l<\ y^s6=tj{o?^vf}2&y4oqhE eZ<&پ.W>>׵2&J;fwSnoVAnx]FID;$V`,A)hssK6 +e$B=k.fB+9, E qT"zو}^, +iM$~6J/u6{U'U`z;>>.bgE6Dkg6b,ڒV9aﻮ.R1oqm40FdRGzø[#^:;_ (h6tVYr{7m 뢎ymmzFc4ڔ6/X/c:UeEK΂ zASE\sl\SI{jЊg7{,E+ϑyZɯ#k^.m͐DmPe]ѐ6v.`d `Zxeɽl*d IO~5q$fth< :acS5GY2vR<: s7!Nׄ +\ \d3"4jZE/g X;Jd7'RXX~Y$MY%U`$ 2)bmy+kU>DECjeϭq'^/sy::J>Q(Sïbl,Qx5cذ1uK=+LlΩvfUwJd@燎B"gVnBkzxi5hzj/4Zz+V +~Kl+Z ˅ NOn5cRU{mW9s<̟ [O +mI&/7SR2óFg6s4CƍvU: RL]q)il[*@x]Sa%C#k[o`l~abXo}~̛ nAJd_1?3i [Y^E-6KʇgAi=mL'њ&JAqIFIB.]_#6Tv|+xҐvZ"8mD|u1_lH$!o0 Qa&Zag茒=&DTbXw-6 j<w; |=l4>muhf(o'|iITJT J8Sg`7PL[,`60SASbl8l/.rҶk@F96)}7eXXPXum\Rj EADs':(fpNS:FZgP 4=Y^D+f!N͉:B_)|c/ƹ` 0dCuCJS;ؚD iU nLLI!6^OggSH9nw뙝sIYtU%j:;*NAGcXcD +NgOgjmďF/㞔 D[hA4]8Czq*sمH!!N0zoFd2=|ǯD6oLAVUBnF| AZ1d$6~"! h-%ָIU ^}H +_,+B kkX(zt+1/IÃMbd?~R8㷳7ٌZoƄ*Y$-Y"3*DF-hbŏZzd@ﲡ6q Z @ޞFdG(6! +qZ! @_ھ#u @l_^K-x\zH Ami"Y`]/u8 tఋ +Ltl&S rn߁ݕ〾l)BoH(zK)t$bnÔlyWk+"x)S"וnA I\BDD"_H>0RSj}oFx67/0Y`Y?HdeZ 4OcYپm5~kUx<|9sM31F0YY&=Xdnt ruGfZ8uqBCmzT#cM?Ӥ}U?Dj[}\%|( |ϭah0Vy>8H,' JQ{,ȍ@UcP1ٴfZz[pi+=_'c0jZϦ?1>9 [xTqlѲׄs^|`04hxEQF T1MF:ʯ-ym-k{D]kmͪ[_zu5vXQETxmՋg:{FecL0ڗjvW*x_!u1>]R +v [~YM$Gr +^pG^{o+ ǂw&cǥ0>UFB2;Và'#3%!4G|g0Q8d":}'zY=4֞FN} ̤/LNKYO$fn,ʱ[\tAlk׆Yy|f?;C^sV2?6=fMY]9 JY"%fKD]c;oս'V+O뭲hb~DzOQL/ ߖ]uH)o05g5z1HQ|mϳH-P[i徉#YLrVĦYB(^U[ᐒsEsZOuh({YC0'])}i~8Cu|4w UaGeNKfjkF١?!uKM:1 RJL|kE@Y?@i+VlD.r3Ǧe70b$e#cz+;>ǸaŤ| FJHS!3jB{ƨ?i^:b Z,;SrPMC +0Z%3V_smï;U7UHJmIc\C;O:~3GNllcFB1cYـȈU?SA}1_4VlKr"?[HqvN-4|WN.b?,Ƙ"Kq*㘔OD ^զ(W;0I☥1LF~BE}^Y/] ^CK؞k?O?.kˬi# +UL{Zj=j\(YETn_oou&ӌUl}+oNBs)c •я'6LEgTuul,3rNyiZsygі Bτ[BWYvh>Pi} 5ˈջ3#]+徚!Ke#W۩ybaщ^e|~AEcWUo&ބӧ\E 47"c.똞?' MUMLFI5`L],d[6q_Ժ7Y1(L$*zWHJFϯAHd3lj|:V /}SOKWaK큯&mvdھ%[qDiٲ<5H*ڋj&Z'ʩ*'Iy3gLL$Y0SҜ$l[gOggSH@採h +r+!cK ^#v8HP~,&5k0,PcN\y*&F$y%0"IWԵP SQQp61gGd0'HM\ki $\R6qR@04!Tua>D"ʥJW Vdvm$T~昫wI壄z 0@-$Ojx'ƋU#6YB_高6zVuXQQ +M Ibi/gNŇ_CP-U1v·r" fB&9hkdcަKH,pS,$u+M"yɷq}b\1 t̎ 8@Ä09f~ۻ6cޚӱF q]Ł7IL3H RtB HAi8F~d|dԢˆ^V BHp8 ą +.)Ԙ/>]pKEC$d}ZʷьDEVrU'~r#!nu$QJŷF(sϳ_r|PO|?Fwdl$|ww:cS# / 6j${ӳ2j(v=h+]`{^^JGu)[4+Møӏnd E@s}F5]XJt/AvFAZ2F~CƼs=/l^K0Jee~dF 9,/?4J?[4"]pY]&:.sJZ: DGqf f[B_N7˦::S Oߖt +-.7:AEfߎ1HHqb05Wj~ȸ5FN ?ӥ:Ë:G4l" +m"# 7/WlID=zktJRXJ2p?;(N-}.Ul IL˞)N/mu8֡Y}pfáqO-xu[jE~J=߮f.K%ޞyz{$ +cyk2uч9XtlGATzd!IݭiC^}䨯.+wїF lP&F*W?;TE+ [[ٸIʒblUlY k*tăMf)I MmR3BB޵_ يg[J>6?of\SDax\|쏋XJX&MߪY%ߣkˤ{M48?ވR6{n9 R $DR~u% $LV̪Zaj?s8W̴Yg +YvZ*U[Ō&!~a-Ʀ +/nL -XlGo`TLwm=!ԐiV2 VWDN.(Ս dV+I)rwx?]?Gi~s ޥ#F%1]&pHXUU8UTlw](ص eT'719"Jc'reZkl^EzPV{"G *WﺆǸ4n5Xeڙ +ɚE(;ZU_Zm19pC}S +:k-&b|"zx-hVU(L!0^Y8_d:́K/I +<`&5vbt|i B]]1A4 P[f-J訵H]+04^5'e( 톇ӺnI)&m,]4Ga 5nd͊:0%/ 16սq'&e8(:ߘ%Ư`V9_Y^ME>Ysy֒ uNFtޫjQ՞ϵ |T`:i6֬y|V 1QAV?㺎|U  +P2kAXq5slө0Q"zɅ!犔Wr9IR5cD8iHQ˸c|B8E#֍ᥗDu{lh$9+7L[6H~kdDώooϿ(< +Ai(m'-^ڙNeoS6AWslYf x"'mZ7_a6Y$oxy|am!VKETg~|sW5 ˚KL k{x9n-+u2Y𬳼.+L3TIpl _Mc\n/2%^; +4['>*~]d@VWrrPZ>fWy6D`iii_ OVAļ7;zN%ygr8樋ԫɦ)VOK(},~F26f#N'{tSO44[lS7ĻƾaZRA5bw#OmXfjL'յ > d$pn?1Mۆ9P6<:<ҕWTuN#µҸqB="l/xܓ [c]BgKhc( +Rh +1)$E:/3N <> oƫiD_#Xs^VyRťbӊBFVfI #!:i&|LyA?b;խGaX޳FžfYRi_bZ~%pF\gz<#N£U 4(=7y>mTYBlB?E"2sQH侅d!/'xw,|*~-4KgIAF.%Q0lI U:9&0g]H{N`mf`?kޥVg2;Eݮ B,#Nֱdg-'h}I K;BH!O4 +}sa5#&:)W2hc 1WٮVnԅ& a>gBs[b/{=HO&:^}?vpD?$4.gkΤqT!X""nB{KePN3+$ Hl2czM=M1xH:`;̽+MP S(ަ2Wį.Z џGwLT6$,o/2ffNaGG +Q5KN)jƦ:yDS;k͘kT߮M% \4y2tt4WG1۪G->;Lh}xiQ}=SRPʅIͦt\oմ]>~L=cI,*dL0{ =}ۘE{T)w5"DB`g[YA{ܗb5z\❊HZkҝ)_TiEb'.0gjvܪS!)3#>(m`<+ݟ8.W&;>,%ց]U>?\VkOggSHL1+㑣qt*4<{z:8TDE0I54ML0`$I#LOwo\-g=_O>1)^{ÀUdԗiԎ!\}`x8->ڐ;ea\SI N@%) `S˪BjDVU}= IexViQ3 +'g&PO0ik&9c245I!k1:jFrm^m=ԴVN){r ξoܺ&Kק`eeخ'kT <! Ԁ3+ z@P 5DRMi+,ۓ60CAa{S=l V{wI}Bb˕σ*bПs#{~4sRI`Nt@Z4 Ma٨w +i W3RT@WJ>\ 835odjޤә 6k +lN~ , .pR7*|_&v+g<۱~yd{{Ȭeu~tH.'RpZWo*l$zz:luzvOYZ{31nww%8],T˵}]4cYQj۷;q~//抃W~=M +G+{FPO_s' O s› LKT)GIvږAC+va%MoqflVV AAQV?׀jp1ʬ>J"E_qiNT̺iR:;], ۋC4K{ED:T&4b g{4] _N$R/K2Jb +0#yڌ ?Q˒Q[ ܥeDLŒS] V\WZD^rwēbI^eּ<w_jE釿п~ZsΆsu ̆*.l݆̎ivĚ)DyL~O&:Ud%3|*1n{MgSB^kO)SmIJ¤eˌXM1<ḱesYk;2;p"͖?4iOyl6A2!'1a3ݣ{"" Oڡғ^O^O-f6\fH@E?:ep' ?MXU܈r\x@A<\N\Mvl?U2sJu~[y<lQV[C4UsOeh _^*2Y,HXeevt ;6a`2\n4ռV*m˴޻]V^})~pš6|9qYY)}P1ǻWJ㕹F+[w'7gUK |o;>MO|?`r4UGuTKY&v]g-3*?R^#SWgͯθ¼V^/Q[)K(~;[KWqZK;V6z*mkLux:];_O:\&wzjC0/󃵣尚0.ww%jǯwTw'<17$g韒ۋuuz:[Hz8:[>[_{Tz]Qӻz3Mw+kr};QYϪ(αkAԔYڌ0UD9Pz-v30aJ/k%k-rkvw5dk2K/}y2+Xje<*VZxpꪲyʌbSo*G̹ߺ'u]wsawT,n XDU_ JVU0!ş^5ס??(*bm-\MKSrsi,=|?,K:LşW\؜NTh a< e1/Dg^ +d*|mG#m#h-JKեjkL hkѺ;{K{aKu"g"]}G$e!2U<=nsPq(5fԬ`\_]ihI /LV 8i?A'[ʖͲZR_dC [i<2?Xp|mF rqJLLqX!˭}TYU`ZPp˷M]oz[\EF+ΗpϏ-9mn^=t]S +ʭϾyoT*7W2$Sԏn,jqN?N~D3wKY*;yXK雙{XqWq3|>^}lc? +OggS7Hc)ؔܣ) JkxFW\pеY(ة'1P<No:wMqfi*ʇմLJvP߅od7nHgZ~8MmoZ#ɃFnYs_J:^Jc2 ID0N~P&蒉T'm\,FTŘkemP0(dLITǸޡ#sJi&/8x uԍY(:["/kO={ 09CIP SVC&joojM#E&tB"Q] D[2?  '<-? \s4٣dJ +gHFٜeRQD8 +U*FOkY.*%ǚ0HZ DJ\U_ʾː{24_Ug +) +(' R?%c 4l4H`wh=y05uwbz)ilgt{KƢl +,1eN.Rnȃ^v0umΖS)vuWڡh$|=Oi{˃F7[)W%I24fM)0OW^]dU.iڨ"<0%S] +~4# /IAֺdq&ə\I@CL=s?.uhRU٫UsNH)5珯!L~SAp_FY5ǖm-RW}FVg[wOٹZdbwfdz_f[^ڷ:n¡l[1=']dE!jj1֡KӾ^Y9B/0Fʉ:xGrZ{C0e8fphErxfoXK,nߑ{r+/ۮkÍjmG1c5V{dfFxou’Zdz~9ҔtIU +R1UO3bvZV&I4ğMLjSVPq$? w%خ(vv]Jwzv:6ݙ<~ݽ|q'&n>+?+?RcѮT~#{_+]?9s:ʤ:-zkmń0AΪgʨ^~rץ_<ĥL*(WԻ*:m3lv9Ϟ$[xc%V1cD|uZjld[LT'8ŧ&2g[s gj͛b*',>h^at<*{o&/'X$09dY]Zn,{4?nH~J8 q+z榘UL=lvAqUțTй9 3s6UsЌ_hפ [F`MSxCRl($m)^ IzkpI%x—{Q: ="r d"F?mn"ʼnp%'*&ZS;Kٰ S%w] yzܲiSղCEŸZDSt_?M.s&LZk=8G٢9gbASaZm=|'{y_MJwo4<z(J4"s8i'W,0"X +vk Ⱦ|-_)8|n+jؑgk~I:rugZ]74dXynm+)JXOg#qxso}DMNLC;u͒ʡ#Bߚ:7H6l>3_*=iJX2B$_bMWAG͔~D^Ie6brJsP 1GH'?-<OZ#a%6RBU.a^m6i{X2 %QW^ + xӱz [Zolrăդ8kd$[;|b 'bH&G$U62f9D15&"OeZJ*K;;4T~# Be ֛-&'g4"@7릘wuqY .QDG :M.J6 :?T5[qmKu;ʆ[׆ُGϢI^KDg׫,NA!V@,]:#]Ѵ~傺y/Nӎ,(W ŵjH̢ܻfkz{'}Y~6%Ybqȅ90&'iwP7̍y_SBQ3wU4VHs&Ҙv=5NLmNE6E3mwvr6b̓VA~; pn^|ϋqU$H(1'@\KE:av6!Q ]k(Dr 4myapa¶GApR!SbDWzPG6#D2v1`;DfD!GnI}a<)-D$|f|M;4<3FP˕cz8M݆5oNG,weX+h(>CP  h]5fBJ!B3A{/ 2޹\3 DۖaU*!]W#v'\:bْ|Q21xH&(~RlQ+|b^+Gn_ ͈nQ5ٲzv3?:nȲݘ"c\fAݗ%WCaG^KSA]Vuv 2^ + ܊w:NaȬՀwV"U5[0i;g"AGӵfRy bm[0 +8)S'r3餿D1tW' +1 pj0Q+zB\:\%64Jchi!~w/6/IʗB:.;a7fP+b Ɔusi,$/v#wtToPþs*V +h [Fa MS^EkwCCI/Ǚg{!.rSo=7ɕrVBNDNHKY+ٗ!D:+F +J>_)S4Q* !;i{ qԤ/k1v%}:B:6-WWIC֤C8<{AXiL;CHOտ)V3|$N%Bz&6m PtB-_ׯ N6P:J̢̽+Ў\+VUƊ ׼-+ns+ $hM21z$L'0O `ݲi}н߬/z0ur8W`'5 3cc$ w]nVVK\~=!El?Քm]hn {C#GfPٯ,-C;;JiJ}FW_?lqVmƜOw;1~qv*.W/r8Zb0"Q~>}^w/6>VGW/`E/EewѳTOggS[Hg/u䚟ۚj|AŹYÚiO}++|V"v 87yK5}wֱmEHIJX\QV5?Hߥ.:.ckUaU+~1}{cy=ڷ^.w*2-0ϱk:;l47~}/';|euB!bBiMh@@i_mnOf㗹͈զ1_m{\Pl}'C=KƐt ~!Z.akK_Ѹe|ixlbD|igOQ>ea55 "APKT׹֫vbeXVqU-;uYJ~?sktUm ٪p[>Wz_t_z7=$t|펜 (1t ]|ڍ?5 +E3aۊQ:] +0Jٴ@U ܛ]b;B@D َBh?-Kl$i 2@X +V ?Iԕo2%G; gَBD +𦂽<:(XƤQ^YU Lc x:RP{tv^R*B\܎K Lllo-Yr_ +)J<fHlaM`jnK`b`6˳v +FilSp2= IX{5_(1;X#bq01R(㘜0^4%`88_wwY)gjC%KptkeNHP!ݴ7/6oAҨN3z0lpX]eNK¼Gj]>1aU=4 tj$|~ +>3iW"|)g;peUpk m+7{hHNd%@D Bvc[}א}-u䰤T1G ~26$Ѐq׳lg`FIB8p"huϟ? kZ ,V.wΥ(..IR~'ݕ*cU櫉>gQVnKb,VlQp3Q+ 3K_; QpHlz Wx tتilN+jEA\e MyJ깨 +*AӒ+L=aR/|rs|Pǜկ"luYUuW'7^16ya(%=[K2 +-c={m=݌w]ڍڿFe)0笗:+kPjD'z|H,= <{[-ڻNj5 =^YvA-#Z2$]m3 A/RMAҞQsefITBGj|Y˛=wSugL:|p{՟-+" bd+UrګEfӐ'B +h'B:^ލ\}:rqk{z[[g:>Ec. eU5 :d1;QtU/e*,ц!GL C^;;t~VcU+8DuX2}o꒨$& /A]/Fsܓ?V_ N$?ױ5"~-W8y;kT@w[gbrWbgT#h?vKM'CR3,Jk$B)}\}^h̓S뼝/?QcZ?efxȤﻒ%4IT}znjy FOmr+#1ګ*cЦl6 kONaw墶?,n N: +UNjkI`#͑Aq6]/:6jmމv&eO\ w#mG{ywFʘvCtxC*էM5(~j v[FەJ:#yŧ v'~TkWv5 %vSX K'#ZU-I]Yq{S2wYJ%0ꆒFt>V 6зo!2yq7h#n4wU ϵe\?NțTS(#<:n玉BYfʍк$[A&_BUƥ81,ik1E kS;k+$K#z[S( !{/e(J"SUPWw3tuvׁ~hLW~榃|?x0Qb?rq6V=kc}[h9ӏG aO'3ڝ7iםW;Ǫ µs+δKVv$Z7:?ڳqXsilQo];< $ .ez ^:8WKd̬j Zuk0 scZߤ16HΎKHHjkCV+yw?T[miM[hx>d7i5\3=iy{jmji~NkV tw{ $GŘ:SaKp@p5p ꇛȲ+9T~@I%>kLG} ՌSf[3;z4󓬖u%b5SXh}´L7#2I370nZu+#CKKjաg191Q͓=ժjX0cw&֞N_i~WɃOA * +}ߣ@:Q5AĒ!9''!0LLQgZVh^Jm l +y&ir+ˆDqvBm}7% !6!zADºh +Nf"zqL \|;,jWҨ$ z+c,1V2}?U.%&Yƒ:&~p&9$h'ML7㧢>M ' j X2AqƜL6`B//׃/}EǽͯpLfv5VzFUKvO8*Cm +9޻xH:~(HZ>vUڎd%U٪igڶC!WlI旾 +Yy#A*f|R!4MCD"DA[b"`!]cc?}jF W"[#~ $="J*U9#k|h/(IL =jȡo>F=Ce1jRx^U!;ix҄}b$߇Ҥo:䋞e:[2r NEBAzoD?[`8 Ih#47DMLX船$U-I@XRtq@9 t?ǂ^yB-[ MCeЌ\=لC }}l_5i~o]s|jկE~5\jeu/ۋWʰ_waWik͖_듥վIVرbK;ˉkw6ch.;z$7tAY}zo*);%OW~ːEj(8f_7U%!m}lr,78:;<m|2w]So0'Wh'^lZS_Y[! |+-[[}mBvו^w+{&ZZUy%iNw0~K?Z߻m}P??)Auo|T^jIL'ku]LvTNK֐bi$ſNeN[H41PN5'᧯p[\v]Xa]*[{kC(Ԡ i&^J䄣@ѷAMc@Ș MJf2L=@aMT$(ղt)ed}Wmz{v=z:nu?ynm&GcfZaߋM%YzPmJ]{,`n['&+ݣ3 N672 aj)hHhm^XO`am͆3ӊyN`;R"^ +  ; G_`r|[gLd|a'a }xwLC=L{>eų*8 _)x`fPݰ +뚅{Չo9ߕV +Tb! +0N48]Tro3H (wwu/8N'ZÖ̻5 +"8rU#!k/JEDiV؈ bs}.bۃGZǮW됶iK`.kghRAJ[c{Gtܑխ4Xa̩_9U]S+;Uxg<~wr9ӐI%# szPF5eƣUV'R\o'6(MSʖP+7Ƚ;s8U +V4nR=iP6\6"\Ob񎈳Ihdso. +tUgIOo)*Ͷ\`"ꆕM7TzS㋙9^?-'EUE+[C3Y%1F!ڣ +ùތXP LХ x#bfV̐s[i*޶B͎7F`U]7Y"8Q*)`e:Йt8|.#و纲h B6!y֌i ivu7uCAn4wij0%i]tC`plqJQIL֌.͔X5T̈^}Ii/nKOggSHTo⠧ߕd?XåC8W&HǞe-`z_)˿hX(պ944;e9k6#һlr{>v0B +rĨF98e_y?k t?$]1 ܼ6fTd6w:,U=EqW]'$Fr:ɳ 'ݎKˉMړVҎ\gKU7FgO +mݽhE86zv3F=[V7xeTJb|EyO Beg`v{LZ]JWKǫ& 5IɫWǽ۸Vݕ^Gܫ[Uۥhe!2N<)rb[e.xMN,}ws5Zҫ.6fL SA?S $ G#w2(5f*?t Ph:2uyMC4u-5Rd҄^Qך˒3QG]L[#K E6Nu/-E!*ZVZ&'Зѫ%)XQHKQScZde1c#_&tB/++DooMGpi 87^SG~q2*3 /jsX/(  gajv?^l +CL3hḍoewji9XR?2|"#2\s NfI_t]JE@\>rT@ J% =2=u$-]Z*ԞA#x еM|AصMB@LI CN,l@{w3d~ѣ_798 ftSP1aiu3Bz$'h0$l0A!]Ï+݉aUQ;IhzS͔j.#Plu8|1LZvbQpFͤUxؕ{0:bE$ d ` d/ |1,#!YmPG{+8pK +LWH# jXl$ /7-I/,lt:s؆Mg-C;o{SnԤ*f) lpZ))BЖ1G '5Z=(T  +\'NsHĒw}/Y =e^0 iF]*pnQ!G~S+#|nQEb]22 р xg`"(Mxpyq|*AA(M\;Չn=n*kOw0aa}ii9U{e(n5O׊#]]Yc픸>(M-Nŵ>^c[ +%[[>:۩ӄwmKz:#ͣJexKcק*8Jl-g;lIx} VGcMrk\+Yp84sww~Xlt^=G njOVK9F:$.bޑ4W=ulDm^>zH[]je8'+35Mdu~AZ"HܪAVi90?I1A~u%-HUFb+}psk:_w,Ӡ]MUY']UITo+t}r6\f՘ճlR]~k2<:jm|nN^z45VT10Ɏo(ϊ}ύ9~ܕ/;eû8Ÿ@X3i*ҸND|j%o3ރHMzb|(u%3PTɳl+1d0g\f:ĥ[UԆAd5p6h }B^beꗜ2^ڶoG2E%Uj+u~K4)0}; &lUzc=!^n=ϊnbHiI?brEǟK0"=g!!Ő:کLnzzO#b)*/ɇ+JUlv ۠N"Fw4S Èn?8IG0F4XTgIO^z>}O9şX*:!ZG&_ec,Lq([#V4=uoPKh g`@Mxdx Smޟ{KlXHFވ"R&&e-lỆ{jsJI)1!.R̞qsnG~(a1VR:Ju /5RUý +k?\eWp9"D''5hZ?]u2ԋ~ftC z:Ȧgœb-{,i_]}9U) +peڄΫUџb8V8Lcqh]u]Vsh9.~~|Y1_aqX|CГVjG(CVEؼ [ϧGkAo^^6ΗU[)[Ō]lꛯGxHc?W VnĦݾ{\V^, +$y:׆@j^y$ +CHܿMh\(~_{VސQZ?|Kn5fFĦ2,B yb\l"Åp*m}tXVqx5,Bo49դ4@-0C`/1dG"V/d~dnuޕ,p{topȘ{{ldORg,k%sҷ2 =9ueR*y좕 \z|͉kA"n,ZGq-,chӈhQ ?dR!+5I3hUpgMv:$](*Y{h0c{ G_As]~ -KP=>3<\gL& 4-E>Nywno2Y40].gp\vSLp,Φ.q|bV.wɸsAbӖN!P- |^nNb3÷pwV!gΌ7hGH8DG&m]%pekelGh'2d_WAG԰ jS'vnʣ>e#9 L*$l0A%:U:t)Y*J!F`|ߖ pDZ[=d EWYǾٜުm)1=T\I>:"u9+PBI"ތHa1c2  /48Lm*lnbC1SPD]Zh~!wR\YL/[a OggSH> ڕl9ܷv[f.)tz5N Iɘϗ%y;߫Su{a%X~⣺*+oҖJa5{te_Qg J辯^ўǤ,dK(tATWOFSv܅x z[g|y?O^vRfw?_evT38*wsm蝺Oi\^wU+jvb+Pq\]Ve:eAqb,sgռVRxPQvr\z[C9dGoO>^O3e {4bsVUL*-W7T+VKQVC-ZˏV+{۱3xy7|_2tOߗ6 /FFmo'o|՟naG'zʯ|{Gƽ?8CZ +0:٫ |z4ٲz3xY>6 +t9?)Fnx5VoQ˚E"0q[ nA$á4ϙD4߷Tň>ıbiyF߾7. _d;xW 8ADrgiznVC=NᩮN_~Eٙծ/n4]]Ko7F>ol4)DdQDD줙6|Q;в[?_|-RtG*Vx]@ +DTԻwB2Ȏȅ M2 [vK-n 0*< 3R35j] ~9ӂB]GI>*;8o0LOtsVォ/ߢ>oXi*$wKIǝlE")Gܩ +i^ +pM}Mʤtž6F4DQǁǔl4sJ"g!6>+!h:)&@ +¢90Euo%j\Lu硂1gPQcKLl>Pʏ W&Cbc'%,>^*IZbL@'?o oNO}g- YΖ). [jf=o F7UhUeu_yޤ4gw7l=W {N}akBs9Wn4'Ik=`]$wDnlg\TFV`KM.,Ѿ#B>w ! +Ӂ e; $qcJ'a!k܍0}6hHlIo:jdu1*\Mnv +ޖN\kxNǡӸiD!N+j] T+ vZ FNtI2;[Rb +B0~BJsPu~]UPY:_ K=@Jr^9@MctiMԁ-<׫pdAՄZOxv]OyDlScgSuQ>ќf:'k::>:Wc~D\]pسyۯ$9]vfFӃ x/_iWޟ>~޹nevde5ɩ;tI]yӋ2*vcm[9w\v]儲Y\OQA_'S_k˅[ΟҶZo5;篴gDUloˑ|H'TֳVcgkړôvKi8; fŬ +p^O:p8K@dfw]%x.eGc;(ZEkԜhZ̈́-kw[1h~*Zc;cT29㏻w~ŴTUZ0~_HR- +rc}06x࿦z=J3>fj]^vɕSWc"B* J=.[ﺔGΜ|3>j@Jѧx@֔x\VӡCtfA@v0\:ΔuK'4J,hh= b1#DTI )Mc$/cñ~t)WsIuz.Y@!>Fۗra^- NjܲLU?2<#s(t쟨Sr9PŭUrB*͙Ϗy~ z + +q{N/0Nѓq@kօw}n,~ۿ_YL8fFXm+k+ՓV~XWҪ^u͘+0<֊N*TY+!eNT}ڈTxʗSZ0۬bQ-l.~B6:>FҮo 4h#-M|Wv0Z ݢ;=Lhٟ<܂`D# d:0$IL&W i p?ա%UJȲw侴Rp:hb8ijQ+kڶ-" +/uzkg -ݨM}S') +4))3esN4xW:pP~ϯ%n$V/=b7BP[ֵG3ђIHg \m}pR<c45HDnee֓/'ˏ0`ShE#&ğMnIw-ŸTQEI֎s'ɖ鐌Viק +&ɩwJrGQF/_r'eb2٪]t32_ݬyOeSEP{ʷZ+NqחQHQM[]H"ʊn4;\ +Fͯ-ŃY '+D[˵:v79 N> VOfhgR2C,y-rdf +ΜaWW~}NoIjb4%k'1-LS3jι}nފXG2D¶ԙròc?=]jRzNQa/?RixeO)fUGS;D +">QtHa3>םq+t0{MG3њ}qGVhYLP9K1[@҄B^Fϭ?u9[ϵΦ2,hh6BfLV&xoOEIu sI,CMRݢ+5߄Sjd.jya^0g9,5+~Q\hcx ;{:;`$zMWs)o%6+a O˕:{ +Lu?75K_&%GV-s;<ݾPSķFHeiזe #O/ +`džA ~X}6\~<H1cJY bT +K:K26 6 K#IUͪY9i:տpVBPRO@c4CĤm- +]"YU,“-7Kj _7S@kDcnpqvŴ ř@!o|/͈By.r2hBOEK O(;E(n*j{ƎٙqqI;E6״2[㞘Fo+NUG=3I}֪+OggSH|t윞^+dP-˽ºf]GM&W\~ov>FeIJV示`<_^C`ykG-2;ΣLy_lCC7vxwF1yT>,,G]C£kiQ]{/qq=l2 Wa!Jd +ȼ[ c$9`M 󸹷f5]azKtFp~h׸KABeqGTY%x7U0&f$6$vVaAț=-V+u AgKN[n!6\JnjT4}!=c7sKVƋ +j#`KݩƄzK삞7vߌU"qnYAVU7#~I͓&;Wʝ/T`e&vI#$aW[ DRYeS0xYSkyzylQϕ9Lȥ1֗.Ƣl/˪sz3Hl!+h9RDJB3cuCZ‡eY @LO{KrV գ5,`ȼ$ȽVA`H +8\Z{YL iRA, bTi<=5Mh%l\XJiѢkdjzYKs$I9bi&(d'0-@ؽՏMN ӊ9$$r`LJb%o**d ) `o%,2Y 8`Ky/KT .es{M; (=%ze +V0ehh0n UP(7ޒG3*}8Y3`ayC_ck[1fo}Xph6Ȑ #@RV CojӧDveD)@l1 K -]Vu~jRh7~I">i(0rl)ohiCKs2Yd'`/ef-*0IƲ/sיL3cb>Ĕy8y#k +j+eTo@ ;֥g+i'q3RNޯ>uRE*]´pe-=9$Y8!j  (O$Et"aC~rU5oERcd%XL4DOgmE[v@Vv!>_2qW1pXyA{7$xa _$9:*\3 !>NqU榖W6!we9lKgabr:xGW7NѿnW7'G7]qpYkeZZuҘ^I4_%( ـL6T.F"-=NC5`_TwKv`4Å,BCmF,N=R/Bd"wp-dX^N:})~G?~eE)D~]YUh'd%/oÖd&PHޟX#v%Ĵ/"qWveӫFU<6~z)~dv K>PsH/t }i1McOAj+嬂,2Kho\Dcov!H~)+ˆaLYk`!^;nVZIcT(GӟMC$J?cD 15Qš=GRglH)$CDA ([' -Zm*F3UXdLٶs`N?n\=ig܊)'ZhnU#*7vgٮϪT{ ,d|'5_n1˲Ueay[zGVoޅ5}MrLUۨ wQFS)V؝Y];{ڹg6 5;{?!ZgZu;)wSϱ7lA-"1RGx3m˃p/n_F4qEz)XIͬGګxh)K޺ډQXjCUWQl}׋2̱<+yk|T9.T/ΟRބ+>^==%Z +odDO`p+XJ֦k[KU̶jftLzTm7%r k-qmi9|6,{- U{vSN,?~$vsa^Rw Ra#d4J"j:F* [5/]Y&j&@1xF̖nơw ̨ CIm'Ci!#mV j&XA-D"nko:E"UEϪdc6 "ϮyeHš7"/R`+U +#MIVM9s_l)M("JbM/ݎ7%4"^)E^5P3:`iyܲHZDJKf)yk]|,`=aSEgPH1AD +8z*'K^-C3}sp DX KvBA8DŽ鰱.ՒX, B>*iӀOU 4ߟJ/izE6tm!azbD(`Я]̀ٗM1(B, Vċ؊葢ʞrOggSH+9T睩>pz˓,ټ/Pj#׋Q^0ͬ2oZ #BQtNgQS2+hF<YȽr{6ɅQa/31cyDk)' MRf4(qT%C/&!!FUqcY+\| +++^۞K5쑧W`I7=Z i݇,0zxKw*,h# 8ivtӐ.y=S^wײ$+{R&="K[FrZ=$Tӊ4uކʹbFsITH4/61vJX_P^ +d;D +E񡨢`kuL9TIoyM4>]Iy#eb/ʩ~ex)ޘp_>xm"ѱkB\y%0Ue$TЅ0+K&6Vz2g pMvp \(x쳞;>½AJfvh %1ԶF*&=ꆣZQƦQRڱf#GF"W[D ~oXv+p'!6:$mTZ Nz`Z5Rp!BɩN &nAb^syDDc^{gIDEI8Xȗå5`iꖓl<U=/Zk<30:go*%RNFӊX$zN|s#l)%XVls쫚FV_FV8eZ a_!2ͧN}=8x6@LVz\zMPy?'ϩ=i,x) 7a$^9 I3*){sM9 +kUbKdA+7YjUL;b-}B1&`&0! ̯+☏(U'/fglE +{(kl@1i0JG?7rY2j %ZfSK:7|cM"C 4Ybf2q锑yRv$~p CqToYtCR|ZY8"9~X3SoL]9ǸtK G?>s&ꦍ)vH^GK󉢵[Փ$P&m)MFQ&W68..:>0%Q*KWieN !?8DRhۍ0U>Q0G}%1dCi߽RdIqzނ6Qlj~#*Os:^_[+ӶCUXY\v,ܳnD=Wz:,{uw&;Gl3 ~t,<=e> CUEfqmssѣ#[jܽRmýD2[6ߎd{"_#fLQZkb$r; H6 lBg^^j#x)1_ +* ZU t=Md/[4H/+lOz~N+VK8꼹ӺJ}Ձ Dd&1z.FPhMqWK7(kN[w?RINjݮ=ve+i"H|HuWjP CuAW5B+xe]R#WAIeύ^a?0Wo7 F~+MT3+wޣLP/rjs.%ԥ",8z 1IZܨAՕFƼ\r߻"˾IAޙ5:R()K EJ:1VJϵ$L#zUֈe(kGnd ]qL s5imT~&88;=\F+t(T~!xmiUZd¤Zf4fzSCԪ~\!F66jioܮOp~Yo)8{1[<x<`]eOlmX'ܰ*Mi֗q- +np xquЏ{',lEtR{8lh( ݕ<>8R=O.22y0(D+#CҕI +!DiLv9I‚,ڒ "].e\\sV5]@^Y4_)ߨ@ӑ 57MTTP9z^;&Cֹ y&{| #4)F-G`D²5ߌWB,Qp[6? +$;k6 kur8.}3c%DA\Z>M#jǤĕ#_ZO -ա 76UC+nmclܺRhv4j#ɓ0Lxt/DI8ủ u(o}ߙfC~KT +4ttiR(Y}r;x߼+.s\v h&_, zu꽊* 49ُ~=Z4iөjԯY]#6m\sS|.+uZocIQ5~ArnS $Dӯ׆QJZ6ʮ0>&/P^=sa͕C+d<_Cg +5& @j@ǃh+;ޭ[~lbk_2IJNvq:a;J\GJͥi uT uҚhZێeM!4" mg=񋘆OO||I7+ɇtPBhbuԇ~~FX%ƶ +66e@ AD9u₏QP\~ +W~]S*)lh(LH[DU8_Obt=vfp[Ey] *Y+N] z1K lcY +Er]RzQ*icZ]Ivг7WI94^cNd 7tʪM=|?H$3ڳ!M΂ԯ#M|PȪw~tJD~c4H=y:UΤJR4,iu*xKMFY eF6h9/ZdBJl=U%0O:i:6zRBmۻʻa|֝Ӹö٤ 繯|w13 d> _ȋ'ONzg[WA%1(6c#"{NpTF73zɹazPy1*9IN {-:.!4Y "Kr]u95@¤Fʐɒ&6l]dlǗt^4xFSサ367kۊkd*0 '&Ca$+)QȚ C_ߺXJ) n 1ފedͩKi[2`"[iNYǓ7% LҺUF=?Ne?֔2mL4Y>i#?JqMQH5NB c#T0{M%fi +OggS7Hƒu"[aw̰sl*݅1]eמoiOQ͒h:OzP鱶Ҋ!߻SQ0!Ewn$KRLz͌cS뾁 +oڬXdPR99a:CLS`θ(]Üџ&G$ gA"j*MZW +8h7PߟsFR@?{2*D@)V|nښ|Di0 gtV<!gpÈ[̘L@2-ӗC:vI! +OCRXCSg*vݐ%`0QS/r qbyUIQ 5̞WŇ* V5It(n4> +Ct&~>udk^2kDI٭hvK=:fYkM]ܴfyuhZ +8p;=ߐfܖ&L%`=c5A0 +XX/{4eVdϽ{WQJ 5Q̦հW@&i#K0 VWD 3`M@]_/cjw7)H;sR gQ +6>p84ua xRGEÂ( +H"-luգ( j_)9 +6Bc/J )p7xx0 (~6tl$5ɥ;3{ێٚLR4@ȶ<4aؕ,DFp$bE0uZwpz$: iKW [#$1`6&rtG!MVGIJ֜DP| E5J'Oh0WrrF"8$K/) 5/Dv Ck@8?Idz0A"ٔөht.1Ȳ"ќʵ(ba3M"_BT"D6i`Ik-&e/Tc3Ev)r+@vLӐ3<G h:*^\hvPPywgƔ uW%HHbn^ /{ *CN(b%r)$ |键UQ 1idI0$*ǧmV&fn~,|Z/,Xք0p'v}``9LV#Mb+x "uI8֭,Co9OzHBc&a0A,\iH udW7%mЯ%,R|$ZNĘ ;#a8v/)˞#^ L?܏gaNSWi + NngJaxHZf~JbaQѡfvL^Fq'K_G4sGE]lL KE#߯ꂲ"Sbq9dAAbح٨{hl:3Y:k# AEv]\ljjD+1LiV,MUnS~9S??:[C'o&«򥕋Aj#.nZք6eLcDG?>N +*יV;ʇU'O3Xݙ>]Dz߷~|sǕ[I5c⩉Ñ*X~اf\d6|2V~軿8I^M j#Z<|8aGlkYyKWEz~_OB'))Æ*#WѓTj[`՜6;ثV*w✎HIFV36 |e89A5D4qknWK߸4wy[=C!f&z}RuLe +Aem+1ͪl\6qeԢg{f}/ ++ZROC})kVQ@{VK@ȏQ}y-)n?)d2fIJ%&c-YG5wI%O=j{As +ճ|&;2hVЭL{}"BDBM۫~:=O8ѷԾE:ӡ+oIzdv(]-+䚼ZqcqiIfaEoyk0S"!-?pVF#H҂T/b!mD"+DKan9WK%r#kŘU%YQfXCK~\'K.F#f,4db:Է6N7q,\Yz.zväz48TѾ ioNkQj up:Oi<7*RiH۹ IuKwW¿ <1\qY-WQ*=0& Uf%;QzbBT+cvKe.>5H51$NyLrœtPꮼbg:2樞LаԭXT՟mxH$Hm뎣_䤈jM\/WFuwnXTt=L3'l=b-[l vz0u+uʧ>W:]Kq&=^ډ}%?6xVevCא< Os)Įc#E9|O6B$l8w\yVulW庯 3ޡ[0/͖z暺&l( Izk1oǝNfg!i,kvd5+m*'HT}Dٵn8ul ִ¨'9Iǿs᷉[/\F c@Z4xQ8cŬJcJw冱FPQMFZ>e)1ދfvr'?әRB ^} +[?8h~* :pE#]k|k9rkw+w5qTd$fzg55/񥊋#t0:RSDch֜ #Zl"\Jyr`?,kI؝۽;ϕhM}X =[|3$OggSZHSy\=n__ӱ5 +lr +\;rύϐG2(3&CUe9)W>ks$9c7O(h_Tι:?鑖'*'#m˽бBKa2]e-%Biul:rNxح2,ƣ/wQ CTgZ dtIq/ݸƮ7'J_aoɮFuЫCql- Kw%#ZK44ě*_IؚBK@]O9C I" RqP&PCWݓ͟F1wl^gKHq_fێ_K Cc+2l$Gچa* _T 5]P*O`}pE#Y{Ȭ +ĨCkR*m뿷N'x;A|srϷS62/Oߧ_dI[vF1w +b\GI/(HnD1p: UC jL1o@CDRTuMq?gߍhI_h YisqM@c?#A{6Fdd/'Ao ++rhaKDE!9Q*{7ٔ'‡P`ontA ү ,71vGE"4. G$L|O{k݄Fb%~:4tqٓ.m!9LbҠ8f$0iP ؎w'50~X;ZG}$cu`mK&zsh#@ +yU- ipH$"U^P=hbY +'H.'Q$Yҕt6maL0Ϗ{ +y/|:"J)4 ?ڊ<|Q MY+z%~~l.1$YIID7#DջCmsx <P%XS^X14UؘL(x:(R}=ܐz|ۺ ƨC 39C҅_cCb DDlyGjoVRv{%I l$%)aK]z k  q ++Y>ggYII1 +?-) +~b + +ajY`qB?pLp!& C(AǓ:a;pjrrWbTΜJS˛OqDȜb5w5lUJ֥11 ŠӢO =%fEa6Vc5VrtwjjJ"oV` +>2,IK$(J@7B GOK( qj RpkTL?y~pŃR`f~N +<eBj vQëh5a,Z̳RR跫5PԽ$FRM:6NA_[{wg`˰sO๗ݶKdAAqbd-U(CXP`h}֛sX|F[/cVgsz&z$2'G2][ŽɟgƊ|W~.dbO5J_N=y̑u&ntmԽRw[l^Nl;+N-dGHԾe?v.mJh[+DYͷמ#]Z:m#O딓ײ;NDlmýܾ%wXzZ^q?׽':/u0]Z4Ai޿oOʑ[]m3y1>>^>_ɌψJ)X H}[z"P)4V12t/Ks]D5o2%,CXZx0F2Y/.D~lƦ<R,ʶ.~nMyz;l+Jz*H"/mdw}کYhEȞxɊ !4ʏK[BE=;N\)$)e?SP; PRvAyJ3"<⋌$"{{ÙTTqZ,t0(嚴0 ZY}j{FLB<[^}{4NhuE6;L^6Rw!fWJ2DT5|TLICEXS2I=KJYeaEQltuMR}a k(XVYpV}oy L`oK[PB]TI?$b%nWUBdqմery*&.5xN{0ol@VOyߪZo +o`ZP=~]:X05:T1٠dhrG בm5yij ᏮKJCeJD1Fy%%h (Hxٍ=R*z*gTYTzzF?%)e uӗؐ*&Y/ +i^2kD]=i}[F,N}y2%yWof~;gx\ ~@ +# H)8{$|kq_mɝDrM ~U|SJs"hKm"Bsw^ ~,DtF4fxقBo>?XR&$G龚ƻ7ִ9!(yQR6LМa>;B%GHl?Toj6N߳"tDS 7C8~ƛk!qM^?NƦFwDqWB?sMp+Z6Ww]>caihwv}O腷Wܛ>XAS6ywkݙ|EmG%>*w_ԕ(Ha+Z5zcae,3#^~LlirBwmXk^/Ֆt7Ǩ#-S)sdW/rcב3eu*d.m*[WE/"P /_ w pP64SWQ֙.XO8RZw-2|l-^0 W2ϛoy׎^g|6,HCb.ۮcS uۚES;(NGf~W5H]3!t{ YBSl5hM֢{\F|[ng{TR_:*4Mx=BD?7H泀Xb'k3F.ø춁D֘AAdשy AasS{PM^_2{(l!vZRe܆ɤDV!HkVkş nP=D aMÿSˢ^"m }#*H<ŭ*[ jU{I̿ Hm}sDG0"w;0ƾW3(^9$k|ovJ,HvVpt +Nɧ +CƉM;&g4ΨbS>N^DR=_.ZXmnǦl 'EkC*61Z((o肱Ӆ< "#10Щ2B7dCf#ӗBc&%{h_<$ `sD`v1Dj(; ? `)$|iNPz#E(@l^i2F%v%;5老}}ZUOW)C84@TkeV7}!D8dD0R ïA6'p{Q.%t-fKT؍\X-RM(bw8-!=^ u8gɛX }X5MHs"wb>uYډ +?2&"O*D=l-oowyPt_k/>%4]SrnZs:|0X9ݝ0Je^o`ulJ*:ْݻKjro9ZGJ=̛dY?7u lC=7Ou E4K9Kݽ \Ym>C{> y08G]'Ucs*]inzŭխ)8cf8'_y{cQb1,{.][=O=![ tEA>)lKpT'ޑiԗ40`L9%*ߜqjlTﮍ}gPJ[kOqwo>}ujP7_eZ{4iKA.K6zǘcyK>%IeCt|j&#6l|cE?ٞg~Zn9MaBoAUUsG"[R;[(Cēm{4z.d\=gƪN &bM d}xo\){Vݧ߳AFP=NcfLɸw&Ej)#1 <uR:!6:w8k{{?2Tx?^Гm=PUmmR3"^$'3mJXjIisS{Vcb61O^BM7B7۞RB*ndDy!~2noT)$=gqd܍|ee.n7OwAHJH>j8ql}ɶ7^ s/S,^UV$αu3*J7ƭ>jcWeQ[˜IXZY߶e:rm w6@*,|1I[vTTO)6J0RSn$f#A}g1?NbŐ4ZaQaN|G9 01BxYWL̚ull+رL4QէHQKyƩ!3BfAi>KOSykqHFK +CĹnZ 1 r嬬6^!Z kO,Pp%O uvVyclun{&򬧾ߖ΋a!r>:_?k澿ԕ-͢dwj{q>Үn/NnrzDMa_dC9:fl \'<]7.L&&נ[rL:Ke}yg/jysjmW~^ȏUQ6˪f}~8t^}nJ=a`d7Wm~otA~K =G?ݫ>5.OwmACK!ClK9{HXTAaxhh:뇴c^ޕwU~|_&WTi_cv>M?G qmeU-x\u/߼ K|C=f,~kc~s/۸)Z^؀%3[c8BgӯpYYaM42rOC<6֕)_d֨ @ɤ$JZ+T;ҁw(rJ޼Ou:G,mWl嫞oVf%kjoMj5`u4@n* #vB&fJ7ݱlQK׺6h$= +K,I$+ "J5_Fdk~LI>I hg$ S]mch4lM;\u`tQًpEjŨ61藑CX%_G5-H!BI[ZᬺLmN6fUNjA)NH׊u&s\cRZH+Vc\㜓yL+"bz!NPS""1,Y]IRVL?|r +IaBx 1;0- 9a4lN&O8_ǦYKL +ȯ2 B|1U" )]%z %$HđJHb66 vD2_ûa|ȾE +[I`Kh{ ·C sr!ƴ$`khF ws +UJ+0RcYDEqߌYcT;X30\.[7cC\Fc&9AIH1=EGa 3(JPN;e5dՊj,~JΩp:’3[D 3KdX;>]~>1 /Kw,M|C੕4J)zgjJ֯^}nZ<_ GLհ{4oa}PzX~I?]j|4'x^CԎY:ߗj8J{{={{^]{Ey)^[SdGH.y 2fܶۡQtRݻpxON1h25̄ϻUF&SM6VVdzW/x+-?o:?ODN2zi~._;<;徼ͨǯʂ?_=#}iGBaV'd*H<ٕ/mK~ǘ@cols5cZ>-g?ZZU~]2%q(t*{.L~`þ +Fmk+d[S.1yWP11IE91v^ON͕XBDj9ZM=DTt4{":&4"KzC}?X.5ƍIgf 'Mvx"&iG|KKmKd!^)N-׶eq4 +sǷEڊ|z PᗨJ"-~RsD>Ҁg8ayg;حTdbn`F?D/h{=41MWR<4jVGCJVSJ)Vu͵o""=# ߆&ŬR,?ݽջ|qOݶk9d'D޻Դ˾ qkiAGt[}x#^*Č ޼9l{ѝb^0%k̠$հUZ̞ł-7L)Fna€\ȑmj%1XX_މEXm.lohT9Rd~Kp(qNYStbdwu-mwƉ(s v۫5U<дmOzxay"G'u瓴mlڄhH*dpx:]OF <`Q$o MaxϿɡ933 5%)0(2P~AE`dĎl;_) Wї.V0ӻP4ٗ)p5)JF&t%]b2ȇg 5'EZɦ~=|TJQ*i#LѺWh®3x]IhҼyrdX:oo-qg#f,wq̾&ewoWo"9"ܲڊ8QHXm>l*o dUivl)yV@W2Lrb-?}ȓ"޳y/ܗCh7qx^i_b(pyK\37-MY _Bb[kՓχxoƍF>KDv0\Z'/doyؼ_+?7.{}LJ/5cm2v7cAlH7rK1tkqVH[1Jw,BL縷~uz']C/D%E6T"BqsF[4sUadgii$%߸9_۰Ƽ|9?U[$8pn>F)a;4jZ %zJෳ"Ď{'_Rh 1C.^)J֦%Sɣ6Ϯj/*ĭǟaVۈmoLuM껷JZ3+FZvZ)D}oS+ݵy?>NwL- 72""NSh.<DGl=|"ڙ"PXItպ*ݗB5ܤf˭AOsnf(p^'|mrCbznmP1jOggSHzӞm^jd:98{bC'u= K{JO=wc5lne+q:^7dX!c_Tsƫ g$ʝdC]($j0]׍;VcETstH4[9, +o`!Zg"1~Ҧl͘տJt|ϔAp6oTmn2ԽQ,jǘK?学Y7+UM]Kq| '_>F.P;kcP{oZfk%!i\薟PT4VIiT6F~j$jsA I=dG.ShGŽ=@̹=m>k]rpvYƱUS:KZn%oMsY]53oD=dWsBˍkN*jy$V,s )B/VJY9FQ򇥅S[^cAd6KqoU }u8=~f:t ʙF ~[>f]gu.=G v7>y-r},IGK #rJAs!,,뎈?o>Ctj~wʉՊZVV?I] 5El4OuFv3xR=܄>0ao!Vޗ.gE+hlW]Q(re͋ KaA݉{m%c(NR/U Wn7&XKtS۲z,wn+t}./X)JIq+?vDQQ(]| _kj:\ʉ-7qMb~'uYsM-Ka +"WTf ;1իZ{>7b-2\IIԈի @0֮hbThtDq,)0tiRR]'ϾjzFڼ fq1|:9Eb { Zb֬y߶?ڌ=;ғ D=Y9fK8l7bAf&ë ZZ[RO?A{Cɪ"eyE #Fv~f(Os0f;֟I|V^EۅZǶ/ʽNܟ޼7ɥ?(\C٫V}/ +S=Ϋ?;taq>z&Ȼ\G8f]Ji -OW;ů>~=,·yWS_FѱTZƃ(f3uڥs,y<鱫V˻cMNT{LWxP'to'.ҔӛR*T6 x;ɔ*[e@zHY]wL+}>xli>ai{.pߗKX&ħٗ꼸*&6NBHG_iFJ's|ŨW7h ~: Zu o-h{j4>V!հn}ZI4ck :6zzHXoyCoWL*z /u^'G.* +~i:_I;HPHϪjovI׎*-s~Rr5ºYq +iLG;Wcc-R͈IHUh1e}=c5dWdt.Djgv͕U\Ғm"KWDӑ8qRIxIqmvR +m-c\zdb{-}RkMrs&!LPZ~I*unp|+imC11lCߤK S Zۮmh)[2>KzVʽǹ$aY%DުkHVk8)[~4X,O +TE}@. Fؽ~ߥ)%k]Q&8.2a {}l8lvW>#z+jKs|||F)4H<w/X]].6?" ۉͤڎSqoIZk _G,2a,7ykLô ^_'LT}nIplJm}$+sQ>Zɾ$F49vقaK d𺆱 L9nROֽmh]fU޽zɋ +x?h);ړ>EiI.p]:Kugn}Ok񓴮C1N+{].6IV`JZ3w +T1NzjQ:ڊ&.Nb-:NaT&>or +|9[7Q=؆fcEEօ*h[W =oXͽSN񍽻|JY{{8yڤmfA^|h&u&")1P!Yt 9*]_+zwܞ1m KSKkp`^WWnظpbSg]RZ$h cS췪R Jj@mg_N#,Cq_b++B;&w_ě(TtnV2?譹Yp{4 k£l OggSH-Ϟ☨p^ $ x+szSƆw呢Siʼ-F qUk8DJ؄vҏ+ѳw~! +eF짴in1 hUb\L^v eh~Rsdִg +iﯭ:zi\\ ]Td[XGZ 7Ӿ-߿h< 1Wƙ~GhkQŋΙ]MTC qQvu::SdӨjY3vT,3F +lJ3>Mqps^&p1Q̹ g-ɡ1xTMe}⢍)i[1sefHEe붼s.)1/s|G%I.fYb'Uv$aShiT<-:nQknZa \;bOZʯ +}d?,}aGTgk=*32Ԝ].t]ymO+ij+7ۊ\2ԙ^tyG{0a|m:~}Y=vR{[ {:)0L%ϧ`r6B}ȹ2S!B~;jZK OQCk戕mAn;^((@R禄n(Dg'sdŃ%>MAGo|[FVBa9d) (?^ܺHdGAmXb}rkZ}\d0ȥkt4IRn+QT`9V7-EcJ͝,hGDi#ϡc [)e$|aڷPrz{1e ~hH\+Jl( UZm[ƄZf)YEL@Q>9w \! mu6L!& f&RnP2"yJĬW)o*OTNJj鈢mvy.;N<,T]tT(P + f9ԋ7q=cù׮t5}h@3rGPh50(Ò2IA>u*g:D2+S "*t$pWʓi쇮-;|jq bL访|B^AN m#>l!oن1HB|6uNAC5I)݊;M}K#h{2i0oלSLtQش{_Tnm~ Ѻ479*a/sLO}³cq/e\E=9sV׎f*%fEgV濷]}nn.Go!:-1goRU[;NWշlC96OŎs\,-(yYW,w/NJ}tJxXuƛ5U[[VVLG?7UTպi\rT^SzʞדlgVsm3DS<*:TB ݠKGMZ1^DF=eC/m%5|rlJgs8\RMG>=ω r|-5·\Kq Bx>i^w4IXd~ ke G獵3YX"Jq +M.W֞jTuZ:^[qj2R5fa|ac{>c~먭~qfsLֹɜ66;دTskKQtb=HSNi3>4so*[DP? A.V#xV_<++MOiℽ<O +Ƹ`s> 8O]ZS׿a[3KA) xԋ)垺ueqvX!up]F(3%4"`M`qSމ4s?,ߕv1gd쿟}'=F ytG mV#lӫ{"?_U.QZHx2 GÌ+/|3bQ>V1:-F=Hd'h}x8K Gc:hKXtcmuv%ZKftF~[iXVQ8UiLf9+VᏦڢUSd(E_K& u]亐rW#T#M(x¯T.cfۡ]uYc"qaܚP!/.[hb GPk4EHS,/kiR+0.NRt\,c{?)5.V[tCbj˵׹L?CNK6uNZxv/MAma8?.+'#sBh$^ߝOfSs^3Q[+~ԅм8rxQ>K9^Me|ZX'ZΌi|Fߝrײ˜9z:d 1/fajF֡O\y_J/T7÷I2 ݶcO]=G7Uձ <:f_AP7ÿ ѿ[ok$otAʣL;ƼP޻kdͷ}gKZ ^?f㞞үV=Ώof{RgY.O߾Wi{tD+n2?UuȧBeo6"߿W=5 iCiX97W|=DHoWUƷ 5㞩{EtjQ֥3^_q_;ou6{(XZV̧߯&xO:{Wjv4vA59^YZxN?<ɻgÿG[zsqZd0R72}l9mhKtNK{yDl?Ts9>,iˑ_) T;\Y}+іoNMu{fjTW)F$)mm^Wڳ8L]v]luN<WwSqh+(Q_|Sxѵ|RN浒=6ۼ[l5אZz ֺև^jU{M jkDG+86S >sdimvuW#}kZuO4co\ߝ_߻޶IG>yTǣ~^;{ef݄+]zulCۉPd@,JM{y<]fK7U˯r4qFn&)9qһ?gDaD2rW97౲sM}t$ގUt땇ï2j+jNyԯyMfn'һntlGT?[WDL[uzQNj9o 6=Zg<>?}*{4W{٤;1M{6ՋKz{z:_9W 罥R\RO&Ҟ#r1VTi@𫻊j4G*|d3{ǝ$ l~^̵vT!-!+ճ +?O5LQEʤû>=G~{%_\^.yRDmf!̬uxLUgx{^ߍ +[) 昛n=Nwi}駕ͿNIJK4๭:2V rҙ:wV/rNz#y>O[1a$3b]zYԖ ݏ-,IZo2{ɪT=LVZ}{~X +cj6sӠI(H(bH.`lUdzQkmqEi{<,%;U%n^izmq~@V=䦚b#]R.Y׷ֲʹ>U KROBdV˛#;#Ds-Ej:fԲFe +*} v&bgP@b(GǏQP%WK[_HKnlHDxd+[[9 & +3 1mdInYYu2w~2!{BYCs(ۨq lhujT,Ts  +\^dfo\2F#԰e̍R K?ݮn]WUct(nU\"m:KRbFdǵQˆ2$Ͳ$CcljRPeF_P[Tz,ccԋxBW&ymmŔB$P |-k@W Ru^HDS8vWqJgJoDԺ^h 5A y&p5fd/E=ʤ࿭iZM3eɯG\4,KYV^n6gLH'>sA^L 6mʶ,(B4+5/AMG \7cq6TS;t%w=P$Һ7 +:WƟMb93.7rt>o?W{[GǯӿEjk27IQkRgEeOJdt[uf:H~p]a?*e"9&xP/G~z,ݹT[.EnWoͯv3Jٝ3#ZkPu:N=eT.9@'r}ًK\2^IfD{'jN_kh]je'pd<5菅}&X㢓i)S٨PZ +zTvz-v;kn\`FIi$"?y:e% :'[wQrɱ7}Z79In'O+1'9O~)Σ~RDTZV1mPOًxV12鸚fj rwi&Lϗ۾F#9Jƕmۈ$%DH#Ro12 ;Y*9 C1z-6Tn1YޭK_ɚ* ׷QLjI"Zs)J`֩ky;,c}܈i!kwNh4,#o MZ8S{۲n/="܌ ͈4ww=F YʳS(F ,'imy/*&)#$f:E$˄6m㏵PF9W&fz<5?I~%jSI(Vv]^] +2_nT&" JJc*5.VX (@JwϭY^;9W#J_Q_/IژNxpfC Й,7JA;T6&)H/n?ΎO4 TQ?s=a*%MkSlbm6;srT=OFnE"%RAm]v#%?N;ZobT/Ɗvk:RQ&y>ѓYZ ͮ +TA̦7%ݬiIkg˒4pţۚyrsk +'_ݦUؾ*Q[mVW`V{'JϓT&}96m Ori^޾Sm3C:ƙettA05?-^CtOY~ZgHzǒu_k;eS&Vi$.Tx.$D^]jxe.:u[KRU?KH .x̽':-}\s_zq$+,rOggS0HYHnơלElOZڡ;mppmj+d*6ku;aִ|NU?1xKONӿ.9Jxڳ{>l\{N8FeO盬wtmךNY>%{f\I_>5\=`";$6n`nv|>gIoZ[>bdmٹr8V8uJ[MY\8nQU{_?}=$MSI>4Zikxg4d2_*mW^ysWbp2[O01=}VMI컡M^A5.Ѿ5W|i-DiE}mo_Չv#oGCb/]PC}am\:e72+~m5^ +$4O DBHIxy^^I{ӝvsUber1oc)"MJ. Y*9hӼO~'oVE;FG(pEodrjAmUM8Ke D+dF~lT&W#r,{v&'BҊ{ -oV׌EG-vS BN-:]5HEj«8zy\W]S1{٭gd*!)4a]%k~%7x +`5;uU\BiзtWRsϛK?bm8qXܟY;>~ +s ׊%,a{:%Xlcob;talZs5؛%xrsMCguֺtS4;h0Tl}ru 9&Hv~D.Zgd{#}}E~1N]si 868*ڢiZ ۱tLT3ZV86̹s|oG+k̏ҔU'wu'c{o[#>|lRݳ˫N23N폭[㵚v,S(c 7?y|Tjo/:ghT鴧{ׇ?*1X{vmg+瑣zt;4Diצk|PݯJT ~ި]ȥq/Yіk,&"OnZ%bwnZK'VOJү|)Z56x9$iV*Y=k%~qwF󘾵bdR#M-iimzoOW7,^$~3XE7teV˝ tO."Ikq{p`k+Lß䎭ZFh+ Ò>h|>ypDgZNޞgcPFҞ gE#h:,SЈ:Zʮ]i_J^cjZv% +jz)י[m^ƇK'|ox,.;WV )8 z? &Ҥs<֙54}|x]\տ2B\Hr}3nSϾ1.pqļX֊ K2 r{tYT'(4Fbh脧ѾXQ"MNR ,5v!g%aPexD#mK0I.+6^݆! qh9%Mgn;F~C"HJ8s& Ctex^xo]/F,IX;:mḶÁV'_5\ucGOM܍QbHvQd51wqRD7f4_^Y6NM'+k饑5ơ*F%ҵ4Y#ٚX~}7.Ky51 nric(j J. "^t!Zk=Ggi|4ˏ?l[25֔\(GjQk1SlW6l=&^R.Gb"@/ IPo l͈ +k@щ_-k(iFc.zYz&Fu7V+mhqO)[(Li{Ǘn5oTym9Yumd5U[&10nBI +զ{ W؟R ,Pu2|&oej:=<_}4֮:BwVj*\yjبrb_ޟOg˪ݱ%Ս^;Ad[/ Vkv9y, ݾb|ﲣ~~r{pF@zCky!>w G﷯ӛo5MJߣJ\+[HtNlYvzw8ʪXϫ{bU +OggSUHS-kŚk Gbe0k;[@jv9j(;ySlI7:OM>tڻ"!f E.o=rU™hPS2=EulQqs 1=4{w{kwY<ԦW۾u#1Btb(3z\M6Yl#~̏W7ֻ;g2\X: ˇSNe6Qʆ0?ߘM_3Rgbr ?1!W?щW!?ۗ7"R{3G~hZZLܒ,h3ւh$55~Khma 93&(d챥uxN>.i[uWW#'ôbM@C 6.)zP|^~9~Z$+UCkS^^)~8|Φ:Dd}w"Sl>k&B\<~J209sM3}$l<ѹe}{[2ʺ^uGX]tf e(&nzFD=žzM(c! υo+ieu; >fᘬb?;]ҽnB\Z4R+5q55cѡǾ|n)15V4*:`GJt{X7V~8fKki˂4q|LngomC٪FyI%_H +X{ߜoBP?e+'vߝ< +ƨZ=( 51X?;LOi.[4NShSkUqT궀+-9/qK~xȿO'rDȦZ24iYzS5*լb<-J 8!״?*R.:`q@r5vE*)Ziyi-&<߷b4sPT?U+;zhVe 7-)WjMPbQ>ǶCkxyg=g^oi#uVrh|dKF׾~8ΒhYgbwbDYIˋ'U{PcedCRe_xWӫ:{\SZ mfҹo߾= + t[Rjiyzo?d*w.\^:'{Vʾgms{m=2{k$_+FGZw#<S,rr[dG4u +5'9~>QkpwwIpБ꺘]n6ײJO`{S&kf7+ыwsʳ֎FTpbb4X_ޗ.gqZ鶱:"{[gt4ǔvY7Ż?Ňz<R+ԷPUܯ&QjS)N}݈mB~a^j꧇ɪ/3!K_2Բk==\Nڶw!!U7&V'eӸk~M0풵wF#DL9ͣ'(sȼ J=tMW(k,^j +NA_[n&5t>ZVZWo{yݺC˲ ,.4l@?HkcԘ9m6YkU$A_|gҮ{Bas,OOKSx.l'7 +iKNx(/!-S}f$nUnV|dzo4*HJ)/]0I<}J(I7 gyp_鷷GOyj6put1#/Ϯ99=sSjm"/Kf.%Eis;i;wmD$f|Wz:a?g*bU7UEkic$%Cݿ[]4ڥz"7i5mkdDGلj+53{8&-QZnjvMY\%iHϑvT4Lۭ5Vƹ ]aBρ]{{Yb5ȣMYإZ᫶ lrcbH:OGHmLb#wL&qIB1J?֞ջxqOJ"O!~:8ip+:"& Yunx)PtmQC +e'zwm3~'Mh:p6-בQDk(ܶoF2D2Bw,}jāk9MGRݪ*}Ww?iӃۋ3g-Vyh>0G.KL}sgN."2`LBb/^qxk%{CSOWbƻN䡌Y8JdOpj>@]1dnҮ"OGs.6>|Xa* 6Nj0SЙh n=}[_`^QRT:ް}uW(Ík#h+ L̞Ƙw <_+kG-J7x$^[_C:6D86dًz>{v*^*dUt˫٤R\`tC1Ni]gOak0ila{"Dqߚ^4sU. + ֣w:΋hNKuNWr=Er nso+O&k}oى$}0)ej>bq#Hld0v;{)4ra|Tp)RzaJ'is:t "\ֳ964;8[ ^ X +EDۏ-0 ۽mXʏU :wbdmi"h5Ƒ׸v'8ĻVr,dT&keFg!bmo$}W92jbel>)8p(-F]ۛۤ}QlzgJcٴg@uksG/þb6J]ʈk6l6WW\)дm*Z p;MĠ!XjZwɛ:Rp.Sih[ue?^mS{{nIN^ז?mYg4Nva ^k>X i0UNju_;H/;msrɱ)6D Z_\f~/$ 1*&GbͧhSL +#}\Z T5Ԗwo+EMe,FT=wzZ5D44,s^|ͧ;n>IJ8=riZ+}J~)hE诵;MnJMWܬO֛su^RߡΙ%eOP:'C4ўCֆ,d4h O5?qz,WZM51 0kE˳GMzG VءZ5EY>VMSm6(/`fL׷>=8?G;i)~#4z{ՑoZGkݫbwz/ K3֋BF>QIMqL9_!ХP٢ +i.&>KRM-S8(ᚈn5LLgtYUTզp1{1NF.Ws4cshEظ2W:ucEXl<ָ;)vHS(*T>ye<dDztyhKsFcG+[ + SHXYC~nGՈx !%^?ЩFg(أ#j0zEh+wHjZa[:pZ6ED)9jR)o"}xz~V5/iպ{ϻTќfuZ +T=Cܽ[ge21J67mv@>r޽#A%gؾܮul{4ս;k?*9ZW۰;XqG~2o\m,=ceyc]TC[] dkyBe޽-e}6~-8woWsdw0W3Gs史gYs`#-(܍ +냍ʩ8teeS]9zF+_/N=Yw5|cszlQ?uU|K,\IU^@uNŬy,=]{.ơ]e>º^Tlu=D"*P> v塼<ޫ;:l]GpwO,vOʷVyOʫveLlQ9[9%e>Z[֏QHqlGJdGU\z-*˞Pɜ2Kf`k.MijYtyShk֖ZVZ/k[oUi664kT3Jcs*/ʶBƻGx&OIo]ܽn嘇GVp2SfI:jd*H<#<RN *Yu1/s٦D)p'֚Oqz`/{8_T2ig=r:C)gE +$Y'q#ٗwy0>|Ϳ/{f̿Zfo*5wG)4e4kbqe eִoY%7H)T!'[ǣz3ö5^.­ _u$nv:TF2jY/UWYQ(І JU3 }NΩɺL.i*lZ{#JVm #Y$׊ q$޸Hz^Lccڲx1WbvHC*H<.Y:Wv]zUZ%/hJʆG>1̝׶GU6awV51/dģ w90BwcJ.k,Dip!tT +C+L4&_h.ǜb %W=͂ -^ +%ѵDUZ#щ7o6sK"D|rv:i= &]WN+[T9ӽ[򥂾 +bpF1rk*Xo$[ET[в|M{]JNڶblW&:+r3lYX%#'^_Q$! +NivfeAo~]&V&*e6mCeNWp(_Jg \?XtZWmgPZE]>7es{@н4q~/'0~qS}?qJ?ܨv[[Ya0RM(|gz]&{H3f{]/>oiƊH<k]Ϫ%CTſxUz B%jcb(j}Tm9`Inރ5減P6sլKLITy7_{Ձvu7]^l,DVAOo j-/N$fS~p3?Dy7 QW7Tu/XA:d8'/xpjdCmj p}leϒ)QM'B>\B&gOزI7avCMlu$Ɨe$(-LsU~ +?@QqBv6{ 858=< @ +,Z=+%%E Yl%HK2`\W*O֥YdQ{x)k,' t*t4-D.&bX[u^+RQ&:( lˋ[ٗ/f4pOsu&wŖ$r5BrƎrEӟG jf:CR3flyTꇣPN(A7uۃA²qq-3i{iJ/#pk9Ʃ^hOM*vac9^ + P '?]]/P6&;\TeuiM[]i|Udi ͒]cIb Ǘ]' +haG#Yoj˷;J񰂕=;<?΅Waq'Jk2mg_FuYz/xF9"!d>95W5_JŚ=^Zf> +D`w1[ 1dVu^~˯ejSMDm m!oM#Bi}~ jVԟ22q'v,i dz45dwU=YDtM8#D;o 0zԶΞuߖˀ,}|j@)j8Lb15nUbGvS*4H<痎LtbU/ou"GP;T^i62„䔳6vnyXiIW{9]*FPUŽ2{ڕiyT,nNx7U={j"ߟ LkZjТm]}sUktp=DWUw:1(Yc u+W'(Tf̢$}~ntsnuP|uYg= F~<րXӂ—ҫ0gG@l&]J<ɇEz)Cٮʃ_y$P zll&\x\_kuʹ[&Y(YSwð! XJKHr#Vu,l)0ɥa%Y4 +c5IC -Uɖ؀jPʡ68J2G56Gi B jW`8-/ m?= +Á_Ʋ;gp 6c_ aڎr u)Ve vc}ZZe= +N=E dUG IݎqiԢz)Uх~jk u֓wf!U0,=ez~0ʎ8;!mc 0rD~ + pĨ7]v{%Rֺ܎L;LsEċ4d]!W{ ) jۆ*abi4gp3|׺OtیET\AY>J +AW*@Wu= %ӭ[Vr:{SVVh^;s˫ kױ!'We͋,CW)2x+ugǎ>/]eK>]}yZv}V~~dC9ivlj5쮚yrybKnq<7V5( +Ň}BtqOӧ=W?]AգYy;v~Z5CKrHw~fR}!?=3MOɸڜ灏uyJ׮|M=K")wgn8g]b4uVmGfwN +i]M%ϱQCU׷\S[τQET^q" qm)f?i + \=^?b6#uHY/^2M$Z]yD# +X5 ⑎N׮{l Qg_ZS6˘1PJX+$n#.NU;TDy]HF73ISHth xܜ>ģ&{f5s-MU4YJ$5ӹ|vuy,{I\ZqY +:ySm6ܤ1<Ҭ[cl|;{7jRSo4_0$ڔy0gj]cJc&@b_}_&ܻY*Fxn7 HTlW6{QF':"='q3@v2&2e#m#FC?%ejM^%9ޟ) +)ID`фD3ʻ~aпmXoH®qBZ9vCk10;-?eF$I- wj[F\m;$5^;1 ĠC=~t ^:I1R!L޷⑶mag'[ Gk0 - l<3jbFc.:)hu- DR"U0zlSU,@X5ty e:MZ}6[On[F\'"(9#dOjVjs7't9fw qWE2u8`Dz1; rTi$3n( n~ivr5X +:F#)VV(qIq^Ub]K(vN֓j6)ZW4'ɉyO^dR s˺:F +t==w>>8NZBCT~Au] eKV֎В{q۬4k11OggSHAa&n~ ${?^"{ YJNjwl;5^gV߬9w%pjs%I>v o҅axe0a'!5~mSQX1R1Ki^f̽PW$܌e ~On w{WPe[DfcRK$ow\Cu&kGKkPrWnH4v/4571Oig_&؋4C/n۪6~E>*{N!mNw?*5T$wKC+rBo6|[-] +1yst-Ô ]Mk#<}҉$V7C]ӥi}G}8Y/4m4al0v_nXɩa ' S'UU5 *Lkٸ0GScHeGdY8w4/`UN0r?UKa2L2W(S^1dD.IXzaGh> + .ԭXP'Wؘii#뭠V;aá_iWѠ7̝.y;FτsWmK$h~..~l`ITߪ#]5Vz*Vv 3 +~!v>q%HEckSu>8b33@$ +֙Xa߄dk +cWw':9,IV?* +]i\~92gCV=Aà*Qv%ףC!*u( U;^bvb*AmOq*o(p `!.SV|zRC9(BDVL]9AD{bf|$ړ\!#6L(Z4}cAsc9[?9.Jd.@=Ϻmw{2CXL/_CJi+.З?H~IH]5aܵopD} +=;wyPQ/Wfb8CLѳ SRr+8a(FiD ;Dh kɽk9"{@J4X ޘkEǑ>M1}WR58F_0~ .Á.aٺdVTbVUmaK6yd9O +wEVLT~/`:Y-]`ȓ:wWʃѿ),ZMOa7M}9ᕍ)Ƥ.>pxN-Z">8vRP@Iw40\dqzRp3imsA}:u3<5sIk7$1l"HsQ yy}ܗڦnRιG;6ס7콻gʅUGWS~d"/"LouR>ҐDm1/l{*"X:x8eA˝MNwP}1V9DQMU4 S4;0\MB)]ByI8wB7xH~*YMMh!Vjw6^p׈x0|!gZů_2⼨u i'}{?|zXIOGz[7;s!dErO)mo1e|"0b߾Ҙ5Q +5S:ď]}3~d,w\.[ݝx*\$+qqx<xmFo]O~G?W msmbnGlO -oǪKϡ77׿>zD"k6#;Hv_8f)ٰV夎>rZh_IOb++Md(LcRxxcrQLګ kkQZ DR?RU~M6;uѴWL2qoj I'~;:ҽXra;3tAĉ]{ONL^hZ_+|, O^EsWz)[a k7e.*2%_.-f#)Pi|USky\דNoB& LLy fmE'ۊry|kϏ +92~ =_O#")"H<#/4ty ^=WT)ǎzjD1~gUlPr9N-_7{fSB'QA`Y.g+Mߘ/jx Ӟova{v{c.*J6pPc#8{ӠQKS'*Su8,0b'i V'b3B:MiXO Ʌ~|{ȼ#UBN +HJR?n4?Ny)M^F'(!DuO (]"*پ+,oB[;k\ pͥIez^)K]dbyd-i2NEd_i=aYfX_ALaF>ZSloK֊lVOT_({ڔzl6`dmD"jd!#AUȬpjE]h_Fyͺ +梧??tƭJQG^ɡ HӷJi~Gvw"2T(l%I")AqF%oeu͸uλ!v)`֧q*QE$th;rRcϝ츧m_?BJ67C陵^%M=6g "nѽ{CܵrDkta +oqĪm+Bm~!zfQ!ӿf{r )]y#SRt:[ *vIT& _-nߊ[SO쭺 J2$PJ,[yU9%]u2sRWTD7õJR8Qy^|v)~d x;/qWUL@2o2/yrG5~ZmcRR=}l?%IPaQ~gF'bMq18mD<:GWk<\^֊ [(KJ"=$t&/!SbP._ѷUwa>f/nzqcϋ"n^SOggSHNAΝӞ~S4H܆;>8o7,m;/'.7+mzz<+`e鍐euн6,{hJ*fCiyEnL{$aUţ9h%^u5O_<2 1(y PD,ې2>w3=F&a|6CZ.d«[3?~Miހݪ4()Q\v4(oB"MϭPpj4yGX]<#N_C})AJĒmQ >=xt$ +iBB$]wl Ȏh[2p$'F%I^ޟ47iÄ[^Del וnBuSqjۀm3i^HTXn%u.@4Y=@l`ܛvYSW,ya`Űuo&VKN$r!5v ;tWNr5\֎-cŻѸ!YşOɽDNNk2ekW/Ⓖ[gLQPNUJ#ZGEefVB51z5]Ú`pzhjlK¡+yѻ(.$<jausmF9ijLVb6v5(K6Ԯz YHTzx]\4 +Mfeyt-{,Z nWBga>\غ2i7Sį̫reoy›HT~7k=5HMvZ{]TϘ.ӨX1s˨K;'H[m̳KKZ7TԳ3iD&Zxnު${{-ҟΕ$GY׬uLX=!QL50G7vF9j·+WwS[fw}>@E GW![!~8%'u6f.MFzQ_;g/{޽K+ݦլw_7vTR4 M<;3Ql]5{xNowTigl|V8os Uv=,O[v90romP\E6YkZ{{8YwnNJѮ vطʎ~lANt\u>\rMJ},M{ϣb𨼿㮨i_;G*5s벼Lo\c. qaóT{!ӎFzv#8N95VQsS\IF ֔6C.UZ7:-S3Tq1D5[-hZĐV kB$:i2{odxZ8hד;d}ڽ1mi|l ZfoU$v#OI +>z T>6| k0sYv=~m*-,[͙0<FGZC QtzU;(R^s_ֵ/d2p,٤{n%Oi>r.s/,q bimE[XިQ +ql,Ӡkn.03,]Ϋ7+Zy!9Do#yւmAj]=(vzRq:n2+&fj6];#+4{ެzȸSOgYEIkqZIǒ&}-Y7 +WbeFoE;H+M 44G hPtȤ0ָ_">kfҚrf8Bىjb抯|{VJX*n,3*_tZ> +"`|d%Z=Je_^X&)bZ> nqNIGPBͭxtz) XhP}%BΪk6A~R1 r-K&6GA'r~ω}+[c~U}=R.ي11dTP5繼*e{VJc\ 8[q+DyI8h'Kǝe#}_凪tVL[w+Cd|r#"7{R+;A|nG۳V|ѳRɊ,G[Uky:l7foa;ﺸ̢ݳP;(j%f+h2 {ڔl;!]%Ab1M"CԒHƤ1(xei:,/e2j%Ӎ|?d]h7==t*ZNϵݤ2yO'c9{jo\o>V.ojzRz'<3;vZL\ {+WT}rLu ϻW7>nܽN%=ѫ*L+ &S꯭|&ӽky!o}|Eݤ{QM-2|8޻~Xn!( +}i\RjA⤹yNeVṰ3oyw s?YwܫyQ9,7r + +쯜7S y3=~v24t.]W4Zޚ?\A6/&r PFqQ~u9AuBlV ?}7.Aw^ml䏷4 -VlI\O&M:K3!j +ZL%kvif +$n χ3%H}x!Q5y%) Mpk?JC=vuV34e<֭TݙhOggSHxvn֢Ü x%%H)K+yv{,h.&s \,Wˆ#[;eK/;o@OQFMڑMn|mBNNNfif_oQ:f6-Wcxv?%^.Kd][4Zᾘfci BfO?^BH h}ǫD*O_V> b.xE6oˀ'nғw$A6*`ff7w2iS8 Ug9k264G4ԨđN@Ƽ; NNvkWF0B>_wz&\o}ˤgC5:jN6 /cvU*QJJ=u*]cZH8=.1OuդY#)RkO]3?'U<, it/aGUzUg/Qk E9dQJDx/Azj#d<\uq" +7b6 K]U/Pv~$uTMU_grB  +dI۫o=0MMdciFBzh;UkMJ6R7үS6w0"2Qu)[q +GHv]!'+)iSe_踃Mn j>ݻ^;-Z\UaSld(1_sl!+!rUI۩Idi XT[uSCQR+x !2!kZHrS:mԇ{NJ_۞xx7͸; /u +>xJOWẄ́Լ@\7]&-ǓZ]XAiuSR]?(I i0sCFV-ӵgCr$^}X6z(zJWXF8욷,7f:m +[ABw)\iSt')MW,N){N띚DxX=}^WROõ͛'`veɔ>y)Gy\{O'<;zS"(W7ɪ^Lz EBĢj$M֗zf`#l9Sj(W$f2bL0Hy0&F4"_Ҩ$߭R:*܎v%8!ԤVTWs~4Kǐ)}jmUxbZX~9c |+>0WP23Sg뉾?{hXE|Y6nT|2ԫ?f⅕F (0~EF9UEOy͘nֻF$z>M&ےՋ,JU{Kpf(Spߩڈ%Z5X:75SS:n7C1mP^_ZV CH<žoLCcR9xurz>;[Rqw4)#evʲ[N`MGh7v}Bkی>v)m$Ѩ>|Y%h?c5ߦ%~ڊF>/mj.*MU˶2T*0:i:&wQEu{!"]%T3n#n{-CbŬ#*sӹ{ەjq"g&Fͱ'!ٝeϟ5ӈKdbN{OQ.)Өe_\7LznL50խY;lfy5]KMԣrkd Wѵv(tK+?o e[Wѩ=oF| Mׄd%Oz9~g SWv9{dyEm۵+\Cr8N Wاiୂv!x}JݳoZw}f~*ߎA#5bJD{\3|<^'#~TVꮎ'O!mƳ?ՙTIHq[n*f2Zm5{:RݚW2DQ̚Wn|z_+Mm٘tnVw1}[zZkJ4uѺs)RkfgDWUX4WСpl豌]%57j `Ti:+fE# 9)VZ (,̹yj{Z-L=nUIna*x^QxŊFL#6~1fJ̿T_+2ߧ}^pќ1yәc"=Y"H<^84u6zs (Y-9Oen Q eZ?.64;-&i>mE +\NiB \}NštR}jI:喙m-M +3vjcREVI$Z$`3CX:6)_شNQi{ +/f<^蛿WAyq+'s~Wd9$DҬ>@iP] m ǟO>Gӹ"}^ͳ,&R1Ab,Y bI-dѤzT#1bكȚO%Z--dž~d! z ѣݵV'P^)fw?qw_ˁNj_@cIk\&|uo<7,OXr]' Vz׈֩ӏ)OZ.-?۰6=cCآ2x%يGRVkT6u<[S$E +"heXP.:#=^#m&)-➮[ i/Jb=V6m$S:g=4zTf1ƸZn._f]Kv{jE6K,x巫W&C*Rλ{]5?*uvr-ApNtՖp9|{e^4>F +%nnuųt,_> G"7GrNko k\߳yN%] +mk]6mnA<skQR~4Q&:p9nˀW[VrX.Xt}uk]twO[O/{Imw1XR߆Ĕx݅}K.Ngzht/Οر}6U3ueIt?K!M)Erɸ\f*<ӻZ裠Exݟsǰ}t"|l`Esd[Kå8r aSb,ӆ\'^ʡ?)IN8W_Wʎҩ%p뺍wJ]uOwOggS4HO0ʖឞSd~n:lt +Ȉ3^o#.cW{j@"W-5V#ZEq\󘞲DٚC;h5:R'ꆪ l068F:㟭 PjH=)0z6wy*TDmש2PfJ[#F ӭ{* !oBi$ ĺYY-qZ9֧WyMFb*d4o4@07@aң1* +3?XhSʘVo͞Ҝ+DNG$Lt Nۉ8r?GP$lX|Qh4"WyAdvOkr=_>1K /Q!j~CNn{1i"Om,l."ܲ榧 =F qtO$%s5 e_;o~S4H=Vd:TQԙ(ncr/'ٟ.ø]-L!:ؕ'W\K+EHYYR +Vt~v:8JmO(P_"ꚞ{!M?9_&',]X(EMoƊZ')Z6fUdfS w˧xTxPfG +4 +›c7ګ{(ޘQoԆ˶2R  E#,GȜV8w"+5ى4f"T+ڻZ%B׾"zuD{RQW_lͲ' XB2f!&Ix!LTegi\vD)' O䛪.'F 2!vH66+,%! 2Xz¬Aɀ 9*l"uV[jdOӞKc-+$C.L_wGfyڻ{:u%[mmά ѷBEFIN,V2z Noא{[lKMuJ/rYAĈA1UsǣV(ƎDَkzbH=LbuMzySߦYVu\jgujo;5E{Xg<Jtۻ5|U18*IJ{ma.ܶU"lgz'&nDm!(I+?A|UZzc[O48]XnRW4ÐOĺ-ho{eA d}6*K)UhmJ{{ݲzx2cވ`Ik;g'}HG~: Ho~*lh4i:.$3>sݬvkf_Ӎ&l#SV!Iqv]1&"xS'V0 +oY$wo6Q%*W$ʥc`՗'à; YE̅Qʂ:-v +鞖zo!ڰ 汻cH{!h\>yU>4 &m>:`c>7e+Mv]ѵtXy԰:<`RQ8^Hby#L vG:%pҿ=cV(cۻT "J:.]22ӱhP" +з,q3ro0&ݜKtߥa[ڠN}_~CfK 6G9R^)4>>V U&U]0)8&/+Wլ?pYL&g.(Z7T<8pE3oB`t.ˇ3_nB-'~Fj35 f!=- ^<7M#TchL:S>rӃm'yڗ&ON+EГ5gKueȰR|50NL"!FQ0>Kg䊓s:X:fg5o=u7^1)ʸ83iD5nGh/7UvcnzLdKC՝;dW)$?iw}|^{;Nwf˷ΒI =rZ5H'y䶟VЮN(3?\|O*~ﵷ&`7~;]:V\GY,!Gamx;:k~:uߴM/:a)ωǛYz9(.Ml-ĉΝc=O5(<^0^۸[-+ݬ^89K`͟s<>;/LGIClBs(&b]bL,$_K~>wŖM[\ͣwelO?ݣÛxgjl4ox6^w3gy|{46SK1i:n}nv9lR>f5*Z8@)XZ k*;ɵ{9fa97[y;Lh&ēݒC;O? a-W{,YkNv{YڒGYB2T3DʻE[H֤_DiD+Κki>^sY`<4Us{JN3~SR+?6Dϕt@{3+0Sg>k~s?Z:% FRE$] hC?R qa3y;_w\gƝFW:AHJf=^"nmKQZ(v[~h[ +#;+.)<$Q.҉6C^cSމ)+nպ +IT т0fuGHDqϦP>2o˓D>0uKH7-Q uvjKƷ^/(WHBızYT5h5iҬeqB8t?U{U&!OK[ B %*-)6yoe[G"x쁍.O"SɰnMd2I"-݋;NIw L +ֺr@1;?"7@uviN_njF7g|I:L m'DC"evx`, o",i͈ 9~P}Th +O?=0bzoXֹeͱg-DVSgg2q1G^ o[_fX[SOΙ$&&S_wAlMMZO2n53jqE.wFsbt!تdQdk=5߰ouw~}sh:_սOggSYH>qҘٝ^;P zrq&;iɗ-}|~\2zMo=04\ۘrwo]غzv o`ڑ]pL9d:^i1ۓ?NS*⮷FlQK6[7V} +uz檘-<#>vtyC~5Gt^{puFh *4H܊wҥU3,]:nWvtZM";$B9k?V;#N^k$1$"KztyfĕDѨ~LSs]"ԻeVqެ."f\L2S.ZX~h{~Rηy2[iʮɍ/$^oٮBfu݈~$(RûG蠅K)/]=sw>Ozߜ NDq)VDԄۆDV-=N\7%ǂOoa|`O&Ϟuh`|RuoWYzja hmWwdl[gʋw۵D5q:7L7q꺜LM,l^nշFs:?voE#>  NMqN!k_}Ckꯞĺѐ&_og?+䱶StKqvZ£VW Wse>VM[+f3EV:yNp/z멥^ݫ,+¬1GJ,G ~e|P GZdC'I^M{^"I 鮖0MtWlcJ0oStu"ki3׌32}kEy!Y^,X)wU3f-]fk5?sVi'-=׮HI 3uf8)o]m'spA0k O\T'Ŷ?>;\\LJ{S#lBا5<vK~-bQZ4jbυspz "yG Ti'x0Ͱ17eZ5]k2< +,YQ-;.ã7Nb kT7$f}\:Y𧻓8նn +aB,*;~Hy/[~|=q/]9W^M ;J`~=}˹m([NilSqUL9:VDulokR:g\CH)\(};:]ɥn+e +hLíR G$ȑ>h=扗JvO4mIZOnN{4΃xpٓɵ~8))v4lǿ# עqxx˷buh"JllzBT!9c?v|k3L.m^DQk +W+۲UWCމn-Y?$YڳZ^.\RAbi3z4 E0v#g)?G\KU8WF#O'q^Sv[P uR 2ZQn|3qse^JMTH+Gm9EzېdT\b).hZSGB{Mu}ƴwE3+#3[ 3;:Ti 5n*^LUn/ܤ 0Rl̻7m:N"]# %&&d#:i4`k3K))=XېQ`m#JԝWaZC7A_#N'E{+vaY,Ȱ7!cE))-*x깽ýQ^rWu潧A +I Dk>Zp َEmTWd|7Ħƻ>iv+j~ D](– ٩⦇N3##ŜD E6GJ2DqU=oXjDsmgPRKJnmCʃZo3 +l}TX.ߕBmGӗBN콏- o.մnG_2sg+4Qx}dc+ )"ҵ`ӎNe +T=5)72й5>ۤ۬2-[VxXRcudqT-ro1`g7W5R }b^ӘAe]/D <9X2m^ |}I˲E+a C RjeS'>}knUsٞsCt.|Cjofy5fRS>0tK<㏇jĩCcݗWW\..%[\K2d]ok[Uh:'_xפV^VUHC[H>*K U-kڍR{Ѽ]; ۪/ X*B_;HC|{YN~r!m,w?tjߍLMk䋘YxT6nőY1(^WJWOײ#}'~z 4?sOcZ,0rwQQz8l}]OD9qo]x6Lr>j_+Aл|$G>3i/\xz+{~v{eJ۶n)ۆ5 &jq16il/]MVfۯ0b40c'׉+*w3,o=tZ7ն8L98O[x/OggSH`٘^SD϶؜ C#&ʅ9:_;'=3 !\ۣ˻#~r#r:̈(I{ch-{->-+eBxUD3Kl{Is3+eåH1[ۮŮQoG{~R<уGMQAg[Uÿjyzi?起BJ*әu?q$nWDI4zTGQe +j3+Z"l4uFTtFFua_[fPQDٚ,%:Fɟ`K x9C4Qv/jZ}*z܍N ,ط2lF S i˵8&;9:q]vѴvD34HwS;&B3t:/.5j,x3բ֍z.Nx:5-EfN|U$ΛP׳0z)V$Ȓ(nh0BYXD¬zJ2y>Wxh3%+GeUI[I@e9xmqj! Gw}z:9O. モ70l>c"?qܩ 6&E HɵWNgRRyfMN|k>ڜV?ڻϪb̼1S>i,E7*s8!ĠK1$62Y킛pCP?,m:Q{n#NX5{E +PDukvsi75髬Tj|7Pz%<,iGsj}(˹*{^5A09EZ##i0.'*qci6I k7&id'S0ZL큂k({:_}/ٗu\_%^M㰯4Rzpu}oa$ Dߢ3V2΅r +L +ѠRJߘXW<"r-_Z'vTvM*|id=p01>k7WJo(TSo62mŢ_iz{+Ljv5ʨ%J Y' +l5ֵG<O{-'i[[^;WΘkC4ȽE*sAYߢ݂4'lzhzJ'ncB4ܩVkӾ' Ҝ8龵PFNtps'fi,F󱀑x B&&h.7Sd,3B~Y%If||dXߊe?3+i(:s (ʯoLJ'_W]q6Z (+S澕Jv#pk+oM!b \;Cv#&afZP(?xspwje*ÓqIY~yUp[S+M?r[gO +1ro(Zuu߹]3jۚ-G#}Q9;yX>ݗܞ;]%gŻdA9S8\7r]%aS흤;[}SIUv-k|Wq֡w^m =سZxt:L/[_q\&d66>ϛ]/77;lGԱ鵮i9U-fְ9r.2Ajܧ!XC{J⠑OOXG{m&¬+$A0\֋ރ{]$qr1mr,v'q;]X]d07uŭtOj:z"<#7Èؘ.97uJcr|{k7!p*Twt17qTxȵ aI33z'MWZ59g†&{R$C^Wf.FjȭS dڐgl$unH>6YCNDTvqSR%LRSP{4M[Ӧ]r'M&B{͸( i ݗfY=uKڀu~[,W"x#RV6D5ZceU]1ż"i[I|t)1,<՞/Xgj'}[֭Ne6l7N 1z62oFA*cYȇ`u<8I5xmh;z/i\ΑފZiڻ+*t(^: j =pi?ӼIJvv{~sO.Pqv]QfLĿB2w~⹈F0nh_IF + o9zlck]AiEFV +A\ycQZUFj1˪hn]J̞{6jӾk8|x\(On=MԦT~H?ƈN-8Qvuz~wE/P0at",Tm&!NB;Lma4ACD+i̶WD\c7Bx)_ L: SF5e,]cݮ_T)a>ʶ+Y~#&KZᗽS@|o_u7??k}lV> u+:)J.%P@^0zWjN]0Vȓ[sUGC˧x1{>6 {ʕgG7Q?%m,uZFVLLLgji}ifЇ=1§;LrW,`H˻_q)e+lP x;.'NL?9Vn;~=。7/1yOj0NǫN>77%q>љvTڦmN >=k3 YHTSj<>zDWZ7͋V=^Fxp&aha+WH$֯/>h`)):ӤW7+NSΒ6ôxm:nyev#ȷӪ+6F[»@W`-_LVgN.X]Hk#S֓, +M*[!;X~)@6 _R&?=J5E%O&t0x\{zKckV':ˣULJֳ +"H2(L?zH_gÙʬomϖ\\J[ʥS%b\>ƭ,w5l*q 5 Y8!.lh$;f5)~znژKoHy Eb|$cT_=fM6Wb̗*Y`ܧw/>߃ȴbܮsP~K(2/57>Z 7]-$Zh:LAՁg?;պ;=|o˴U1rHma;gkw,fiXo%@c35k0 eFzd}:2@@ !5A^ٕqgݝ?" mHf/Fy)q5gj#1mwv]2CQ7)hyN,rدakSo4?#6l6fBJt^x\Ae+`R44T~,^Sd ^/F0U{<ª*S6J:Zѹwȓ +R#X(qȄJjwK\?zn-/6tzlK4GSVv;z +pLyk5$V{YFU t+{҉pm%~urYcbpmY̰- +xo7?\#sWVz'}eMkJ6n97JZn9*?4O/Hn>_ O6Wjw1KxeByuH R,Gf)T\"I=1hYA>D! $yX?XHYOnӯ*R<xi+"R:Ԅ%q6i*( jf&iji`42y_~{f:y]o`9yhʦC2D!3 JgŶ3ZR#)YU%kw;>Lwy:w͉_͡m(.?'εm闩/0l# *mges QKbzbfߴ4 +R#lKQXAS]VeXE32XWlm]ԊJ4>0D54sk?ڱ&!;j9$J҈N^g>|wJKkO+/QkoգŭPV4C;=1{vcz˻ wMYǟOW%/]?56үdA99v:}!-;Zγa< QLw{rwdpk坧wevoϖNz7^7w&,E=>vӻmOO4-VGmﱵknnیcFaMM;.=-]qBNVڔ"b3h?Iz^ow5u>K*T.]+$}k*Ԡ8wikg]N9_]'ANqOV4e1=ɰ;PъK֌N,>6|2onǵB(_]&5!2{Ț⡎}3XM-UzzJoiӌ_J㦹RѪ$_Q`da~#¨x-K=8 a!=64Jtٴ0ɂ[^F#!ˮ~%L׾z&m|D$1hQx4lF+#/{}eU3I_=yThOggSHCu㝡^$8 V;7栃ө9p*x[{6f5Ƚ+Y#c焧i*龭#Ba2!4?iS\JXNIj !e܈KTF#iBʴhV=@JuKi$xpf9Xz"&G!Gd_X2(q؎*m*V1Áӥ++1~ +L8Dxǿ8wC` q)(DD 8dr˰L\ŵWF`w^*Bz'*H붇$!1^tEJ8q$̲>:BL0F뒾5|ِHrz12OJgUgVot}]]{9mD=UOTjfT:<P|h XOćs7ɼCq^Oč1~ +$P b'ۘhYo[Ӿn!fds̲7Bb]U0CT՗Lmo(YƵ"X\Zvܓ y4d/L$%1b8C0> U=viN<ƒ@ }T$Ym/sk͚K`zfdռD)aZg({d*DNĆs:3^ћx7&S?p [+I$(Bj`K|zgZ1`Ǝq8⯱w!1zkbw˪LpȖ^m^AϦ>ư]&OQ!N 3#fk{}f3kŞ,6`lhKI5- YeQ쭤ժ/mAc':ywd@]{4{\Vf:?B qզfuN07 Qt{׋л4:Z)xG;4>c;7Rj`ݯ 8-$αG?U4%VLpY.x dL h-FuNj$ng +24%jVXtǴPt"F=1w"3[%+3)QKx\"/Joe1Y'N by5QuWlGBtY".j0 +wo"@N{H21LwH{vIpVo[& +Qȫ\-($ v[@3O{s1Q-5ipŻ6DU=גNV +4q݄Ll +v3qA&7O3|' I% ^Zq*?x̬$辪H>mc]-|zoFA:g ^ܞhUb$ӯ[Heи֘G)~ddDv|jG[[Q$Fw'2Ҙy`N]wDbr3KK/{HbRju,nLCAޖXJpZsDL@Gۅ?їp2e% +ݍ OWʣ  85>`>Qy x 8S4eҥJ'W 7gC{pni\?ŧ)ʜYegYdjX ~Ywwdls]ð@E>=7;LY!{?s>\xm,ݷmҝ)X=pLʍ6DNc '#=GdC@yN;{i%˪\}{ E}"b\:ɪws]L7Vȹ8oݼ-+շK%ʸNw?YO+[#Oeat5wl#q4Z"-c6t*k+0ϔv^Onn;RY<´GûH=.Fm(a:8T'kEشw߅E}/}!dG 54Bc.իYuvLhՌHLQf&LƵVxJ¦M1c>UP6q}ƢdܓR7l2~Fųa]n-64n/ gi*.Ns] hR2϶ul5q91ڸnƨ;ϝ٠}GG&cB^FQP%iMrzVQuHJ>lkhMT2`::x7҆yxNm]{|y!Ns󛴊ӑ9Cnp b)1ƔhQm 藫_.қzbv̶'QʥBOyXHtqIr<J ŏ 6)cޕOs#DI5/I#`U)h)LXXvȝ*;Ž`R %9Hips4n(2πVЌ?)1iGRƻʌ?T.0FZ|5Yp{%0=a9,XSeby탫5LI_TaF ~JWڷ(t 3ki2a6u 9VD0:}E#4.T)#s&&{awݽ"P=\ + a,g 8׆s'".[$ZSj^߇5OwTx#U0Q`8Ix<7\+T0^Hw;?DT $$`Oq_))xD(tYyN7kԸ˦e_rHn&mR*WEyZ (e{I(tE"@V=~X +kc}mQW'+Edg5nbԡo1xI"I}5KQ{?Xbz&N~jTa>~H:% T?7\{Y2W}0:Aq[kK fp݅VDkYdGCS|rtjY*|R\*s%=]|o$3GG [?qꗗ~a[Cd0U%R3)M~ +UAVň/~٢C4{j=HH^[&ˌ*3*>]biHxE:J ]zWZmL|>t)>{ErKgރm8&w_w.5޹ҙ*<QBrr]+/_\lm; aZPؘ^G19Scm% PA;tM{f{}^ 9#U0jNDg=yJaeC۶U +gy8I1T/SLc&c܌2CZ_)8qbūNMc["fG}wK0!e)a55UkrQ5J4#E?桿Aȶ|u|>y}n8̕!dlu2+W){ W O]K=KJ +RrZr8dLB5|ɲDԾR5XOZz"ݢX!G_9*ԧi<:JN6q_.mB%Ǔ5sXhCϰyTm>IM0 PQi6^s84{(RUBU+19o':?9}+]ןSK;uKKϙi4Do)Y5kEzJyf*o{W /<&MFbaQJqKh1 O{)5B6[5O|Z@ +V.7IڣqZpX4֨f^]4dI^ʩT>$ z ԥ]>0zWݏvO<-D;/\ T uPCx#AKLa\O0s +1!{%g' +H9[Aaۈp_W B!xub*z**s9yXhP|`<r6Hӳ}\n 3 +1+}iϐY\_:zikun}~6j s|gE[j5]}uqcQ(9=o>D3E~զx}k?.̖w bWBk A0/ vLQ'P]S:;?Vc^Yb|o{_< L΢<.Krs|wUHrDaݴht F.J)kp^g#Q@߷1Ö}Ԗ'ihuW(lAYĈf>z1NoZ@U|4ezUiG#vy + + J\x@)]W~:;3+3isr\.&oٲXцWdžJH/>-_z:Kn٬ȮcMҳdMB:ClH`cq|_A,OMaJSxIA.糙kn:QLI1Y&l,Ͼ}ZWlQn^ X2: +D;9ns&0bEޣ٘7, ~H}r@ZzR宺C:"=r ^Y?zďh4$,1U,G +su;^afL;jܗZfFUxŇӼdTݼ_ϭӥ> 8Uqk`3c?!Pꥣnxӣ>K\x똗LwG~ϭƋwVgG_?~޵w- ?s_n]Đ.mɱ. dCvK,ۍ9eRr~ݧ஍ '35 +k>K0Խܹ v^o7շ>u/UrgX **+Ǐ;u/8?=+?_=\IivTEkjke4VX}a +o\粣YZem02Z9^|';]Kq?\o2{n.EGGTGuyvydݧ#O^d?Fz:H0bf֦Tim9|t寋nUMDZ3=9!ԃ}5rЊzVujgh ]Q7,Q3^*m6mu͈Pg!XG/wTѣ!#ڴ>OFhk솨 n0tR3b^vIEnxf&i^䠥>ZD oi^l RPҞ57dv;w?bz!!zͯr{jQW`o{mYǗ=%gx k{!znhYkս0쉝@=ZJnlqjMZTb )QۚT79Klkh}}۸F0^{DXAhm]Vlr\M:Ni- 펪mv:1`dzB*=\~^W#vakQo%e֗(v{UPbᙷL8PtTD-zidvB]!Oaz8wD7\nUI@@1UC߷~|f 6'!S4{=$!jf63Ğf(%s/6_AhW񝧨5^ +44uzAQ ͜]=U:~/WzC>~)ckŏP;BD,l{Sw12k1/xM +y`Gi6?8ᔗ1YLӉ]O)\9NxN +9K^GĶkg׽Yvr>?RֶΕ~*d4n01m$uNݭSbry8.#RZ|Hj- 9h*{)m#c zmNǼQ\dvT{oJY7jJq엿TA</A6rǃg)5fJ\3. F:b#Vۦef Dy-0YtM9.$k83,ɔx~;D }ׇat*W$2W_d SNHEڴ:{SMM7:~mfD5PŀTH}W˘.K9/M6G/晗qoMN<ﲧZeŵhOVO}+m@:&ɳg,-XՕqi]?I~3P4nO_| 5@?҂XJ7]%y5Ӟ'.ZZpmRҋP_ `TbL-A`h' u_Po)=+R_ + ?SCw^+ӪlMs}җݹ9dž \TWUYabc:nDAMso'#Xsr+u}i]kPl<^ܑVȐTF~i4`?z]2 v-kgXJܼJ>»fk7Dý*[5p^;MmV~ nFgX2S3I3 +JW7ILQgT3[Ve8v3ǻ˭kVKG[n賊41La^˰~ې/QE9qqܴ=}])H ۃ %=C!Hu`3*Eo =E4SN vP$O?LP}Q^ m +y5 &++e!DM:|]=IbE<ﶙSx3.e7+w]ӻYjҳzy-(L]7/kXj kvٱWۮ~[>RQ +UlGCWa۽%u܍7'm^V)*^V&GR]"UQYKq?cL]lkcw,u=k&F{d/I]iwAWtdRY*:tO2:H܊(mM% :zvwxoeXWLHꘝl/pd7o=-NT-?r"#.*G_ y9Wߵ a>N٧,9jYc +]lHQ> X~|Q' jWnffBݮ.i׿Qi +ө9n.-%`D9MCj^DDvtUS ~9СxVGzҭm H2y$J)l⾇y~_.,L,I-=H3.}EOgrii/Lj1UЫ&]zwݪƇʓN*Q\ԑ_ " ~25_z0Dn<zgNz=uPB¯SQ`4et(oY:\r/LƂtҴ'/eVw|MTp;j&'?JA*$lGSb%=TOEںs"s^ wչΤm=_mBVU"2"WSqgh+ׂna5_"utMIsze)VWfϒ說DkcW6L}acdLڹKٺӻQ V :ooXv\MiM'Mum態pJ"^VQYImџڬX];}PΡyesMm?OКl+aq9li5>b.YMkHNG'Mi{s;<uEN4\_2n}__7|(,,\AQ?~PRJXIL RBm[M=/M%2wĖśe-Skf[*ww9Fb5jOU|?~zy>>">uێd"r> ;|eO&8SF + Z+DP G :IDu]F[X[үp(•:iն}~0s)ۇϪiгngFHL{sLv"⾗t#Ǩu9w;t&*F$.2o +̫k|83v $O$Az&ӗ&$G"{Ir"bVdówˈތ vOz8EOggS>HƮk͛ݞ#HWJ~jDvxxf:@q?'hfbgķ +fi=NS_a wWq޿updO FZ)8a\O9ggAE}=waWlcK릷m ? 4Gݘ|/aN{/ j%3oe *\p+֣52@{޳^hFrؼ!ojU/N+7^={ OWӫk NVoIUa ?qYb|3d8e_-C~]צ \#im$uy{2nUali-^;*HƆ/49 nE ZyΟO\ުߙqAdnm9A #aYYX*tg mzD)0h.SRm$-W){3[ {i}VI鴍a#}ns'D 73*hT-XMf{7ч$maY+44q7^ͨYRG7EBJ== ﻞ})M4h\v Lxj]zdhҚ`sb-],dAy@:8_sj}4g~9vұ Cn:-GW&~vwQM Ϛ+ :kfPq8P=FDmP +@McdHN>3FT 8Ré{ga[r܄v[u&MU?ǒCs1,sfhF2쒁NZadvE;tJ`m^vO5V) +$Vå'UZΞ𞺟xNw^&,Pަg9+F*Q3eJF`_Xg(WUbVvg:yBxu=\NBNxbT]FxSMr2{WҍIۊyB2jvA9s 1X)Uo5g/ky aZX_L5:nmVMBn4#52g]eXz*:݃{8n6SsoH|R#McgW8smߞ=zD{!9$ށzK١Cӛoe?Lsܜ\Ey95H+Ľ"zܙbqbtqvF2l_:]+-.\4OnmwsUWkFw7X|)ϕXyv~mW+6K| >7+eE*1_D7=ܧ=i:D 0N=_?nrRѐ2:hҽ*,k^ݶxP>Glq6ϗ-ؽ"K:#ߧl$黇-{b*ʍ8m\Lة1f^V5@'h’H[ۡKyc!pXr{JfyWǏ!);uYK5魹&w3mϠ=Y]г]y"w60 EYBw4'Mf]+ +iϬˁCy +f4O#iBQ6%*vnK[˚V[3rb|b7 /`:}Z"GS:Kޭ }Pfםz;M(%Bḭ׿[A4[m*j̹.n5f:VLWU{[܆މDPz>ῑ;֮ 7l5@Cbڿ("NGt#rv\t/LwZ[qSs?'Y_W Z=71VlVqƆ\񸇕 $*)vy4X&ʹKYrJ~co#s4{q{"fpO-+%lH2R13S,تяFsD)Wm]}?ڤӍy1 x>"_ tVNy4ڵ$s񥢈G FFY.ژG1ɴf2?he4.BOom$Rsc:?9(r[V دO;wX쳙PuJn#U;kyr"jY{.ᡪfOҨJ|Gh6K-n;lP=8vBkCGWWm01eWS D{6|D@n=SFa[G5wӘ4gN]򘆬VM<Vb2 dpN~Ombuͩg8QYLnvL ƟѩDT`Ɏ%u7SoO'Xt>:'g~.G2iZR|uֻ?w ζO"|Cj mRZ{D;h6?D3?3(LCۑɪP]mriN:(?~{CglFwVgFZcξ_z~5NԌ6{PnLbZdz~@f2C4\lNbz\8Ƞ4YtlN>T)dkȂzQӉ&LDBHgkr4{ RZɾVBPv1'dQFWjhxĒ*k1c_Em6%&zԚw=Ŵ\7 +KqedjAD6;Y= +{j3[/tv7677>ģWcbc&W =iiu`$woYSG%q+nYHge;g v1U`\f9TU)7T,\ՏI˹~;-,?LsGJjiP̪>.4Z7Qvzcsט6i?5 + Yg^f"*y7C!uY͈*YJ1xA")YA^Kڈ`YHh˓.V! [0O, Ѿ/CE׋R:JPPq*.;-ӣxr\_J)mt1(+c,VAӴlmYZcr^q9NOggSeH@=clǾJL4x2FWPcq%gikvO|%o3a5cQkOl;։Z85iEY0Zx~Jo̬e_jːwzgUrc5ۈ't]w^4]F,xiDwFSߐ]ӹ+T.eUxM'; x`H򹽝!VSsh[2?v5#Z5.AY"LqRc2pk5g񄵵NݚJXGh]b8oЦ~N\RDkߛj3̠w]!xx'9zu\gbOvM'o6+zqdyx:pdJSX!tu <=K5ۋ$eO^~`O<Y)_Jd@Lh ٖ +%/5)&)'qj,޵y qEDvYk[v Uy&ez.;bqѦQEhÃ@)]`r{y7Ll~M: T@ԩ=v8\yȠSÄVk-߸GD^{Xd{NnbC44H9ŋe_šݮT&Cx6)\Ryd8ٰT\fc?lȖ|2XOZ5ay"# EC(}Yvv4EJdO&pT(wyB5*\KѭQ +SN#&k|Z9sGn[*~I +DO{;:U7$(wskئ'_yltlilm~외b*qڻ16lVvv9FG*]n?*i0-h,j1PZx|m-RKn;[E*<'y^7Ausj{(MNƳ 8 Y +uI݅$(T}v43o|>Yxzg/WRM)^vaXYamwd tѴv Qwhm]_l<5[bnKwS7_fpN-Vq|u~[T2{_oӊßduA=?ܼ!7e!OMiȗm_ $C"<7瑣8!iܲY+XQ#w|Z.g C5Tֳ*F2TmzF#z=` }i:ec$k|"dSٿ kmT3(2%\?r2{# +~+q^ӧrכ+ss=x=+z9屋њ^Wֱ9 +õծ}V*HJUkRvr@ov.Q+[t*wRWjʮ^ꑛR{|*7c~GV^eD@(/(HߊFn΃Vw7JTÅ8F\5-"mL{t:O+Sgڪ*k#ݠ9OY1$ #2{pk9v3h?}+SPj+L:܊KvO6qaE% i\bz όCg ^Cm|Ӹж,1IXAo13|iO.l!Q㛞8sk.(΍_JLsW~496qHZ,k3>,_b%.SOdBʝU?"JZMaߐy|&4?9?t )PÌnuE5\yV8Ua9d"-+)蜳.s=eU~OMʾBha#dyvqRj{tqRr)wK-kh8HvRѥ~4LMcnX0'oLm K}i1'QFuזD#춻 Ui76feUCߦd=U;S8I+FVW*Ou];:k3# u-nfo`( G= 8s͑|D4mkdFh[Ut+DwADBk5?5ua>ͦE#^v?'N8n mVw#Iz0Ә;9dxq(Sv@h$0?ܚ4%*9у6Ql+.j}l&5?f]7,8mcŃHk{,#!CiB4]^Lonlo6Ȕ&7n|tr7H=.fcZG.A9 c#JSEu; liG 51U $I>"n[ٜrK0H< OtBAK!I= F0چq|=JE{S.Fp~{Dl:q,!Jt69C ޮho)Hsl/tMr۸b~u}\RBfk\e,Wtš 2Cq,{<JO"* e^ +i}s9EM=y=ذql7^#m!.|OttX~;TP'9\ {Iٶٟp)/ht)ERvu|~[ubK{S4iq?.VUd )Qcԏ}!^V&*1[02<^]QU\XQ,:w+Uq_>;D*H߳7x"+!@ZBXpv|ߎuj^$5ѡfnD6Wwʷt㚐Lj@_6HgeO_䡞+G6JY{j9&U)T=uksnS.Yϑޛ#cuN7=,myfZGFLyI;S7'uRҒWu?~24M͜ [Gꕣ2tvR{f?= ׺rP)+OXt3S% Qg0J`6L-LR.c ]eAPG^M6nf91-06z3ӧfL08 I~HJ79{LwCmg/€ƓG1o6NKFNE

n/yk ml߭2mӄ&Fwg.U;hM?iwp44b`wlb9%gtH+4L::_ ij֫ay@UP쾵@,8 e -8W`FaK iJ`W<95I,YbX(4(Fso'B -ged$kT#FrzeYHtI|Ծ3!D橣 ,Ak2A_XA0;>&TO\"0L%>*M 9= sn(i֨m'hSo -<']z H0(CTií(Klf=i1/-RTMu?˪\U ?1g\E3F8c6/a2ˡo洯+X$jƲEҗ1rl[w;В8]eUN\'\UG OCHhS5c!{ VK'PkMHLFrOTG&H&!VX1)GOP}/Ǣ8ykbcö,cyQ) N]^ DR9~Â/ bYd1Xsk+B!`vE/ Ttzo;O6πߧެ6퀔,6m=+, 9izD82a!^&+Q㬝[5w{E=zK -p$RmQyUr mYgq˖ &EͷgԽ\mD>CV2.KM[Km,)JVUUI"EZT2(/MU[C&K m5[#a."?k:8lkHfH.ߒH -΍nI>8>ųf{ߎ]ÒI} fz̍}-d̼e LU8 hI4]= nN@-mK-+koT_U&,;^(ĕ O wI݈9l8WY^׎98JƒtCYē' :XbI<_Nc*A^n`,`SuYV.8˂;M_ 2!ѪmW5G2_WWm_/|Wc3r Swq,?;fQOX+s_f1Q_<_?Vjէ")dZ` !L-$U(~(E-騫.o_[2ЋEL- y3'1Ђ8JYb -ڳQ^A-kAkԯN d$q- Y5_M4EA?9YO*`Q׵_d߻^mfdmWR,n6U5h!m&DPeX -)9t_(NˮfNgOelp.! -6iEMKZdkK{%>ɵc$/}ugKdn`쵅u/,(R2kzXB l(J1EYe -'\Upu4M\ifBz^^f'UHm=6 ]$_3;U,姇e2QSvu).rZ- 2E /Q&8oC!պ?֟Urk7'd =_XӃgn2]^*Ʃ{d R!% rT۳<|@͉ SB٬qglc!BK{)`ǹԀek/Ls>@a{h;wM{a诪S͛>X(ZmvWGd}<43 ϼvrܳNXk'y6#Y D)U|깋*d7UeM}l.3MEe-YMKI8$c5J_Stfi<ՙ"ܧ  }=|@% =}@UGJFV~X NO&oy-V/8 -$u#֙ -iT#lzy)>UU~Gd7m[oP o -@@A_WJ*3 l{ -Jɻ>x?S/E}:į"?b&6p27Fz,=~`?C_鷲7n\V7>Hɫ+Cv| UɾKpW MI_̰ty -QniQu-j Ub)~}uQNtv\AYU>rdEP39x WCxsUH&$DHm?n@G -_QıdNI[Fj*t.H^rKv1;6jEr3+$?C [TY~x} A5-ׁ:;XUz }|v'{Iq}YZZMxrj%xvQ;HJ jAbвKQΚZkUBtQ=ôǃ%h7lAʅ'ҮHH1`6ѓ'0uněyUk_>N$ywrkm bxZ3Gu;GĩDe[h}n]orI+myyΗg[Oס- ,mƆ6ۆ[ϋ"hPj0yP8֌!nH`e>S _&, yN8sȷ0# Y0O"}|""dⷙ|Ұ?,z=GeYya8IS2ݬYi4B~h ~ϡ3 qMd>z\9+J!.+L.{YRr`ėuSsxzA4Uu&NpdE-cU],+¸3Q3xwoO?9;/C%;Ͻoyv[I슺+5PUUk%2ۧ TSq( "xz>e"gn>= -Mw-aU¯Шt'4/N=_w,k^ކ4^uGkK~hkCEs`h9 p^$Pl~' OQSPS*2CɇAC=c؇Fu;[^7^#|+Ketuk$$3"ڒ|D~5?%r,#)5=eS:k0ӻy7e|v&u>Ctِrz[ُ|yCgTuu6URT슜l!'SoBI}|⢶a- -)_1ɊP`rDSCB{"Ń:mn=ul ֈ+W"F«x!E7-g<08&#jqc8&|NL( g"mۋF2u@~'پ~gҍ g=oFt,b^=y/uF^ˑ`6/Mrp5Twh+ -q{c~l9S -³Y)(ow8I;b΋o}/_6XQbwhzGSٻw u!<(Z/Q,ۑot4?)W z(VR:C͝(7\;iwWI_8"\^mTz.&"PRD0NS-v,C5 +&ҵ S5 ȴ^#qVK@R4chJ/jg\PSzFbS3@>fxvg2rzrGd}9fSbLӴ`FsC -sm]lK4Z1Tcj|)lqIB;*2R `9BWoԏlWbҙϊlpu|oUNq׻ZĴPӔd}$)^݇'֍_( mc|f$go ߽9*$֙e_1Sƣv(3NpHn4nl -"fg7(fe .&I@_Vz83/!IjEǛ"/β8qhDז1S++4ֿ P(2p*~^?3{K^{t?:I -ߧ_=cpnrgp,'Ktmt83_oʭi09^6 _M1;0'{r]Hp +wSS;2LO kh?*nvjzm{[\}Ͽ-EYl}eT7hH S -_&(F$ -P3aZ{;w!IcSGK',:#G]ZuJIr]4bKfA)jBh@9w},_)];tC| LȤZ_uJJfѷ(?N/=ޕqDTܮꃘ8#a(U>RZ1scxE5$PG[n!0)8?e]^8O%TXm.7o+QmC._,l |ܷ"}VRYqOg Y^U?Kο&rƁ߲h{'`ӻ:c;׳j P6Ńxp00G$I. bjėvyAuv*9[ Y<))ZS&sp,osb&ovG*!<:u$/=m];HϪxՀϓapkt+?_{-^~|fg`ُU~|tq%)ѵL$rYˎW[,Z#ߑs?]$opǼE:CUnw{2S1)p;}$ W!iw.yqBBK!4B `W`xaXP Xpҝ#ɧHcYɫsud!?w_u; 9Aqy7/D"! IF!Ep*:Ξoj[,m]J{bGnp{J5󺌙m6Y R!Fg =5@*X l0/0T7[oDQLI'ճ>;K |9ma"Vx}aaS`8#?u7/{!eຩ2Z:J/UWۊ;rKXW%g6L{JhLҹƙbgR"ԎH/jsvT@WB ,^JhЫhG2{>Wo;vn<1ƳG7OX -oDS UsayT6#W۬:RCե Yvv#o#9TÙ:3 j=Y^t},k+A -\[]q0~3G%dK~cu9(*0z Sj+p5^(x[0R~NIrnTޛ!JiIn3fR_VL?]] -iY0wPNTtڦd~R m`?MNHK7ddsG%y؃'Ys{x]=8u>4}N@c WH3}Tyz3\l]6ұfk}AC=L|?̇D(b_Q(Bo|Z{q.8>$j]@ -qG.9-jwNZoϩbX0jÀc ;(^:\*StX6g8%pxpZ} G"@^6gYik&GR_1/hVnBt&H}Yœu:ahłU>TEUWsxXLv:BA^;MQ5i{ X(l#{rV(ǖyy'kL0/XFOy&.N[y(q-V*~B#D(?v3ZdՉ5~4`}oy=sӑy:Gك;*݆G(H%{*kShXZa8N ^ϥO,(Dx_QO2K>Hz, ]|鳯=T׭'>ҭ7n޸50iZmHS˷2²|AZm[L=)$\SO'0Őz-_+簁!; D2kJ"DIn~^#B0l1=RtқiK2; : RU~!ͥ788D$FZ&ޔc;D/EajبyO_bLPutX"<([_^sr=Z$ n \ ~7*$:YΨpb -?h:`=-:vőLi#B0|esKyL!6$ 8`*"_\Le@P?2|u*a0L\=TpԻڹ~u,z \(*EBP#wGF<x¶vkAgc}ВN 0,\R(`p>2'CoHi 벪kbpW % ٮ5b޾ss~e-`%'i0op9Jprd>Gя٬UzrǧϿŊҮ}?Z+2k?T`Dc`5AWȍ"c($g.g?b +KSℂŷ=$޽Z89ڬr,p'w+7p NRQ- ~]pS=AKQ(XHtk|VU?NLThf]ٻ FjMmoE$@pf0fW4$ gX֊i\ZRf a8} 2ᅆ}*/#-|Vު*8o$=\D*q(<Uَtm 7TۦٟSP{TymηO~޽OgO?*e^ dBώ'A7D~5+ɡJEmD.O&YM1Q 1MtN4r1 '$P$my%=Fy#OSwwR#βry*V$X7&u*Ƀ+@MlEάsSF/~_zyr^~pwDM\CMK>MP5]eۆW-Fruܱ#RRn%xR)קE͌')XjUv[f}FT^?~?1pawo:3GYfvSWbudI/Wk[%& -Q 2=8yвwp=FmV~,\P=֡ -}zDɢQCZM<숺mAI:aegZd62aT4Rs/x -3hUbJrySUM@& X[Uv -Ni]{?C*P?qٻ<|s?0_Ö(y`}YmkwIITZ -rd3"GeOX]YP;"|)|ISx*O@YOV?v(/ewV*F[2T|ģ6i'ᦣ9}9 0~C's$ݢEib$?VO㵪5#Rw kGDL!o/[Hmf~R3δh]MuzVя}{|>:  v\n>@x.=eMH܋Ia8#Kd$"Lc4ɇ5Dgj /ȋԕ ߮$ TmCJT\o Fo:LyH6 \8'S7z@?wg{QWbܺK%"e W qLqR7ci!'~Ȅ ii2#1/xxjSi[HiT -[-~JIbrJV*2R"RL,O{nt@h`]:6\'+}d~ɔnwڌ1y`ueF2#H r^xVl LY -Ւ,,& 碃``3'Ou>ǟzw~cWo!q$hg1SX1V=]OdP?2\B}MXi50X@z_2ooG>=OݿalG+> e -inhưle?Cunꁘ6%".2Y,`hڲVPo65-*g.#4AN(KP#MF %Q%!:]- -E8ry$ۅe">7A -$,UY^H^ -ȕ-N{`Zw%Gpw{Xk•!38_9jwlI>:uw2^Ha4)(1Ϗ_Ltxca eH%^0UUb3 -981H,b ] (M>ɇZ<Г~kQ$*bp377'wx~ c\jsyw3ߍd0/ikie[`P.''lǫ%dI4\A% -eVcIcbEqHKJJ' 2DAkE(_Љ6!Gn{$ק]dɍd~׮&X}w5t>;>ÕNOM5$M+[r&AXŠ59q( ;/!p8ヘ+ u$U~ѐ"G1'p5(ED.4UL\V'vaY$XC/裿欝}?m%śiV6Y٬c{%cϻ܋8??{\]|% 8ڲzvQDiDAPOHm3F"D+3~a~1(WTo~|i1-T^?J83_-:P#ж[ .aB֋4cS%-;WiQAQO BAdb@H*%5/LWׯݸ{ /{c9^7}t([:N˪uJ{LZgCxvb/8j&`{2/>3;P(1jMk@8'{?ĉh0êIL7ggX;NP^|uA6L=\[ŁKspZ//?}^8. ێ=jK;Zb`a!J}5iF.-ogVjq\%$[G|m2-gsݕ\"ITM8׹|-,B{JDd$PSqTB!3shU+m/e(ިM}.[JhKm>z1PBxmB-,|f$O)31xYL/zͫ ߤ"M_z賂rCש˲[ - #68!% -y0ӍW۩`;!,hzfZua,dj@ЪOLtǻ]|^HǞUAlnƚ]:j+۬]tGE )3f&=nܴhfDp27?/`gԵ18y+ˣ/}w7p8+]JEdAfth -P|nGy"k1@z>>8W0õ}Mlq*N]{Q:$ږ3$,Buy -TMe&sDE2 ur^RɩR >%Aߏ]O7#f#Jܯng1^7{] #!|b('!fRwٌet/'Y;I0W䅕?>3^.^+<(an޶ ђS.v0&jzhUdMrպjJo+! -==>>:6Tu$Q[(l&,L䳪.xD}',5ŠZ}&eCxM+*M3GVZWF:2QW8USՏ^y-1>nWt|ziɋs/eD=jW _?K;]~/q7n.ς2X-z;8vuQsPVA gs{ڣ* Mqg$GYaA#nplCez?8}łi/id9xg`WDN -2ޜUij;"5 E[1‹"%C|Q4Mz1EIeުu  q=+^X=IYE:\rXrPoS¾ۺ6"8v:m8BbH -b)Q,B6cppRϙ{Z;R~V۲+wX8!k(++ESeS*^^o3qKIץn3GALZ뻦@_G~y;+{8C[޹7( j`p#m.> 30dAcz-GXpsӏ0eSWσv.ڦ nu ,UQ -+R^Gm u|7s$3>Q66z&u-7`U+Jz‹.qisQ諾~.q#}胗7kt'>姿_K4Ez:-b#Wkk'=utt&$ZMYvS-zs֊| {Ӹ\{ݹᥘRB? {M FOF/K>3=UOi _4ku@nQl! %Z#mpeiN;%.43#fF~iOaj7(;j/'vneDa=|5 p` 'q,EJ׺I",l>`"쌥d;eqC,t(= y<;B4!ֶ2*UE|[ w`qtE(-p3>`@hK`UWBu]  ! <{JiKZNKv'| a(mYHI~V9SM["#2? {AXW攰.a0PW쏺WZc|6/_G+B=o~8Ϸi ә=ԥ Ӵd&YZG,ct>Y ^C$Bqˏ,\-Z8=N (.Fh-pF-)q=T;{ű#]>2Hy#!+XHZ_݌ -I y LZ:0Hk'S3rYLRiI;%p˱ouq4 (=HַTG۽8UI{q~[ǒi}ܻ~+/<`$?<f}AEba*]+̕)86$_!lk)KK,לöiccʄ1vv?Dy 8]VJGԸo of. \=~-b U!Ǧ*mxcY&"$@Fu_CuʑX,mӶ/kSo%U!Y;"2½v!kʾIoRx.}CoɍО>#ɐOJV,yC#b&I;(ѡΣ(Jj{QBY}`^kK(NPdnJk'$sxH] r!NYW :odP갈w9)\s2t@Rs/6q$1r2;nx`J8NHpða\d}]N]߾ᵵ_@gpl?y(ܛIA|aǜK/d7.FC`BؾڶeQg0e^v` ,!\?43A(V{xtda#C858+-:cOESr -'}ғ =r\`C 4eEBERCSzk葙!a?  YUnSӑk,Eأ '#MmSeb#n<.m<}pNm\(\*R09@䨩r8tv绺%ԕǦm.W^w9oIɛgqI@ te"Suv] W~)dr Ho2kyh}lFLz!ҙZNuSyfQXO- Zs]W 3X>I#qh8c̿9D3[xz2 8v 򍭭vD.C -C/ ƺ}Q6;8 Zj4"w8~%RS~i" ɆK$X\E2<$s_OhcK2V2U͡eЊ;cw$~>QS_?RIhMײ8v/>"Bձ[hTᴚgi,^b-J -IEuSr-9ufQ Q*#59aY]{^ ;)ֈ’0"R?R.\jq@G.|XXvl Fw϶xOo#3bݨ_??(^ɵLJ8m."ngp|2s)Pe]po2WXk{=ji[|-V*"ѵv<Ѹ -b@]&7N2:_7ۖ(ׅsiSPt  -zIAȏjح|,bW}C'+JS5>X tT4rƫ̢mM%Byo+}: {NS#è(K.˼عmV\A -R_3pjg9ruW^~yŖ.9uZg7x;N:{];FVeB"5B U7E]NS8M h;㍲kߍ(_7\b+;>Wx향NCz$4&4UVFp]ގyWMcxwVԬ:9H4z_..1`}QM31qldZU>ze6TZUݸGՍwcаKv@rmE`R|>GV˪l*NpʕVq !a -_^[ >Z"* Fc5TRF\;Ԕ*$\xq5#zd` -Ṥ&wVRcNjASV=Ue/ο#A4K].AX԰xpqre'GU184 -hepuG3+ 6XYֽ>r1ul6h('W%TV8872Q!*vNԸ#:~@⎪&AX+nK?Q^NK$n2ٌEi",0 l&n A] E80QOdEbI&^PWI鋚#ӵػIT 򋍶" &Ai-ڤWL?#}9U IYT?{8#"vSǵ<[F8I?ޤG4yvxc!bIŮֆ-j-z VNJ@ m%AHVdngι",l03x9?[=[A`c k{qo~9VG$oi]~4'JWm%==b*zZ#4m7K7M`sR3{8VGQVn_1Qz yM Qѳv3qڰ: I[U#nvi*[q[^|V.>@џڜh ש]-_\==A}6 ;? #xؐO("\m*Zz?Ξ@6Ea\ -ٍ6mӹ~߸<~ 7j!?xMWrP|d2ʭx9n bR&̏jaF#OӋ箬UKs .dm -dn3Q>N>9jqu'swR}/_KL,_Ծ Uuj(Z'Vpݼa!/_'0jc{)eh^u]3vj:SRo>?,rH{J)LZ)"^hoN;$ŰKUlEt@ǻ<`-ft,yvy"H.)}[&L sD6%0™&6G4R2 Yb 6jϛ _I~pQR믁??HЯf _{ $Hm53 -HL8F[DхLn r!5U;l=*H`>v9S_+f+UFfT] C -_1._gDOD|?ї!Sg%&r7%.uvRjmWa?$rٶO ;`N n$>~tڡ {-' -#ͭ)D:N퉐/qʬi Cªj(9AFF˦mg_3Psna̒$LmU4J4Fc -U|(+ߏat|n}Jc']GPks}j]Vñy5 aħVb1prF8+k.8f~A]خLZw<4^ߑޏž ~)o9C![89`8)A`^__6? ) j92Ful{?|_\zw~~49Ri֜ DR{1mux<"gێ C|"W~iW$%wqmtlΰE`6,^XG:%W#'M# MV6Pʩbmqe$B{f `qMՆCca̺VbUMSMp80l# 3l=/4UGV{QchH|(S#RR(!;L@uջ =P61pAٱ?zGo=eM=ο>wok9Il[=<{3/sy~# {sIm'% lQY|dX@΅FX=o9)o%5u mXKHv܁h%\r,uaHߑ DW˚sG&i+(̞}l|ܼHՎ!Anp98>5E4s,y LwBˊKC`b_ PEf8{~k -|nvq IhKI"[SQ0vGK^ӗeRc -c 86~;<|?nHGiZQ;/76D|,NJop,eɫWgo=Ve*lPU@ZDe;6|y/KՐUbh~}.IG<ɯd'1ՊY{!sIlI$\*DU-8"v?w.уWb8t Ahygw۱i\x] P,<_h]o61gгNJ6CZΔV4Xm]NLr! S>q4TCᨛy"Ո?9I :ܶ@\x+HR=8H%bFpoU 8obš1M)Y&~jD ^dS0_&Na..w绲%o60#@uX͋h]ox+'Y )?ooS$,M]hr8eC(ELk0a_KTǎK6ZU3"hI gd\fmcF -CvCŤJ(f^LcLC6J~0NC)`u2'ھQTB/I$ڂ/&FED'(m$tfTE zbPVSȚi#$C4ɥJ*sԘ߸,uhe߲Af~fQx6]UyQr,뮉rF_K a|6p뛶U(m^D~'!Dqdpov0ub[Gv*}*m*uߙıo 2xcF=z8 /Ux Y@?m\rY8`n^ol`j΀797e8H[7NDw.`tw ߍXaIGx{ \4aoh,!Tnlp%d63vbo ͲY*qs'Ta1/(4J|K@5#6{RpTJ$2.Gl}*8 #@G$怕F΋b?P4|T;+2AF䆃 -foovVH[6dKw\yM D{ueUWgYwIH?r :JgYķӋPcTD?h@gt:{B,#'S(qkqCIUWb k.ui3pt`CxA$|)ǺQ,Be? +-#>Q$J}2}O8T~g C(rۦYD,ϧX 3`hb|ԇ'3pv+n$}Prx -M[ -W$W,IE);#'Xe۩ ǜ]aq͢$: km3n9+ܴ. $[\5&Q,z6?oȟݛlӔG )϶%4vI]M:2K C`io*r[+JɓtEtM KVNXp시X$Z>%)l7z &}.֣t2j[|dX53pH& -D{Sa dX^&; PTb@)ʶ˺EKršhOc?w&'Z$-5HOV9e_2(L"7J3=G;|^}i -c Oi^{ EP̛H l[VN'"xDň`$XLM"xgDgdcTabcDv1bbh |KMMq* BGr.e9ioe̼.k\êH@eVV,=L ҅w8t/yeWo^d(&r+`jDai$C'M~丩pF2l"#~g ۤ1 avSIII#(7 >Wq^|)'YwoeoիeX}__uf?lxgu=FqyhfUGmxJyzȒE*ТH4ȶN^a2=TX]gpi*"  H`+)I͞OVw$E]'>@Yy%"/tkH@46p_V:9NÏݰj{=U&Ϸ}+A)s;<21!9!ڤ\_<ޅ/paW4)Mɘ4L Sa~h{v5ߦ#mB {A:-Vٕ 5HgmGbBk ;m -~QOpD( Qd!:% 2|9@}*JE;h# O7~eO۳.l0?;;[z7I4ErΚ6| A:=ϰw 伺-64M:fy^L6uy+uQTR9E:b^`D+ŵ²i^`o^UJxf<`u=a%iv4Y%ȵsOIE'8WiC}/,yΞBiQBЌc]"R`kdk,xg_8|`?^M\4DEv';IΰGؓx (8 Մ^93& _tɆ:ˉID|@`^B*Uf:RZtQLPJƙtm w~###aE# _ϳmf2!Yǿ>c%D:m} oZ -?ՖΆlud3F(4P*ƣ /o.pQJҋ(3fDrU~2r .EbG_9E?wZ$Dn/ ?ݜwzKD"ړ BZ(Bȵ:Z9C!R. -gOu[MO{EY_ Ǎgg+NY&;{0އ~gXEHyCӒb3o*8۫$]Hd13HD^ǒ^_ﳩA}P9D~zqIxL[`΂n -Kʦۃ-HDa,JRF?#l*9cƾO^d}GΎT8ߞ*উ:vUtB\xD;JmBP}$/W+[,z6z7I ۚbc*Q:zQ.Ry;Ǽ_][%y˳oLwM ?|}=y{+k%$ )dHJ)@9!dHmocRFGiq8-\"ӹ؝EDu pu xcm uzXLNU"u r9NRPNQy*e} M&^y -> o~3Ju,` Է~ v9o~ -vŤAF5UbŚ*ז"ʪW2~\k߾%?Rib0!hu7)BODtaYBf锹FsT= -)p-mZnYem[ -h:IQ3Ri.q:b;$0 A&uDep061XӜWiTM[˺`',:\ĴM. (3H%@fa4걟Hg2j4UA.55G v/_DIy춮@ˑB'ՍT~ o1MYIbcQ :̭զpT9D)AL9P :ڗGX1k8׿Wpk>׾~QB0Yw~]|$ROsPIHۙgq׶g_ 5Cg00|.".Qx7C{W1Z:rc4\ ,}S^uG9l+\,*Yz]MBu洇qCRp;񍋰34 -`` -i,*"eqΏ\8ˆ#692Ji !sDHy)3 a1꺮ՖaC4LK=< MJCunD*}] cO,x ,:&(_Y/ހr -ћ\MG8#h&~;"lbO/̾tF{?DWv^2@ǘ>@[j^&{0FFED8HkBJ/xĻV}l} RT&^ ̓fH40N:@:V[ j[|92ҴLØ@N(Jʨ\:c p!c1eKLysΒy -wh)ӟF# /bpeøm<~Ͽ_ʗsVeQf:ty!PNk2z@sg]=]\B~&%D*}aQhR0a¾=9w#HpEMo)ZܧYH`CV)+KS} H; .1X!v[B%O?dڝe'YY up$c߬Kk>d&팚T,-[SQOsdžY's*G 7: 47sloi#H -q]yWPWHF¥3lLJ["fk&Ry a}9CBF-џ-N*0͖ ӠUЍXX[i XM&i^ muw/+( -GXOSڞCbH#T<ߒȡCgIDun}áF脋F!AK]%/S0>9 t8:h[ېG)GZ-;ۏm( -">7$qqK|ONz2|[!O:(#Bw8| lmՑ=9pv-e(qt#-e`S 7@.S2\xKXƜE ǦцyHC\aGڜ'ɠm8BmߋNw~$"˄36mNb -AʏL5ۆhcb#$1n&'m5܇F Mn`[DŨ q}8BPbD Sy∇ "@epU c@4Ck -{D*.ǒ$/bĽ+cw:260N2:,>ܺVS!-v@ώKi"K&ؙ[`&8)=p lKZ*9Ŷ59{8tMa4l&LvfJ)>;oۺoND 6gz_zEꮦ@/-4ePC_7G$ ,>L>K2iѦm+j{MTB!J8j#^r& "0wͭPVYo+~/_|Lg7/Y,!?u&JoE*GLb3ǽ-+]B~L#lpjtyXqmXE!bITAe c?);4QJb﷕gu] p(Ɠ`88c)Be nEN}Jv*8L<;i:\a6iӢR^*A`ǢmttJqj3sd;K? A?hwaH|I<0ndaa*n`JM通a[jɺtYv9X _2efkEvR L=g :otHibx!lVNc -R_o|?TO.kqBǦ*$f3(uı ]w^oN+J@d7 W> `_ `{i\B2V?Q1CoMWoyYtyG}o*0-$ġkk$"8ں|Eӏ(t8( ĝ*k=׋|5u -O׳iCM~R^VdK3" -rJH%qVǃD2Fma~(DM-!._ ݤy͕Q֘8R6xa՜G0sߑӵX?@ -1=ɏ~eƫgf0;na1K P>u8ۅН8Hr/jry9m7rN 헱SX|q+4'Y`syn%3[$Α8ڻY5` Ȋ/zqTe'x*(Dwm'`ø /VU˛U?f|=|ꠖ3[:́T=> -V7_'oX?🏮F[ؽ1ظ^? heku~ +1,5pHkjF S@fzE_4K&3YƊh^uշGgsAqiqM@;QrVx=ӈ~_#zhC,Gk]%fS7ŻwWfuӳXEiu0}QaaАM79"g!A"5ir'M!g:rm@:)`!aٛ)>bf󽬄b!B&oiT29"[P y _nqUИ&6nh۷=NՓzRE0#},AI8~u~:rP/~\Loy[rOOy2w̖BGW\ޝ뒋DWHȼdUT8;IL ~ (HeDZ4cXgKr -dV{J@)h#P<sLih+fn5ro~}\r/xs1JH%n\:x/-Q:\U=V+mmV?OԶ_F4д6Aº|7 =agpOɥy[60vjf1E`ܸQU1PQűHۧw5}K*r.w;q@ -I~<|WoM`j]U/0O69<?a8 47Ti0 tNuHqtdD hqഁkdJ@ZB 1Ӊ lheqxc,-EF[IRAFt#HZpJm$fTnrHsr*VórəH.T]!~*ry> bnȼ}|isjEOv -N8p4$P śh V="BMt+h6 KbGE8{QuVm?և?M"ReoܴCcm:\]['qg2GM/U"l- @w. -;s Z=A_)aIDnx<g<}N lTS]*uc;*GCzb.NhjQ{, zrhZEgj wycbo[nuۇp~)OÙazw\BPȄ[ؤPH\$"i;Q˶H7"[HMpy-L06jQ`#CVwF9UHyJc%ٴ6U'8XR;k5X!sٱqw}}ke?w?'9_._"3zu$~,{[L8FD7};\=Ekw @B9̝[VZhV' -hso4$Ɋmܼ(E_I)OfcN&Nq.["O4[З֢*YR-+jɚJàjs UC>`]SVH~y4ZB.4p$B/d^ -d8+x8"㭂>;Q7&L5ENx'2"~^B˓_hORACqZ[$ pc!c?s$p[RZtÀ#Itg )!4m1wzJ<@CH$D]dA+CY$R`ץ4a( S IGi_M^)PK.͒$T)zG? uV],o6 qYdtS;{DIQشmDiOqZaMDzDAhJH>vDA&{}DE -L@QcqS\3d6 AnˀcбIJ~wc%)w$@j>$5*ܨ{L/XA7H -w C2N0W91YN˹쓌!*_FwMgMbn|P^Ghk/XwXMkGqz_`-H_#;'>vӍp.J\q0c~Rb  ,FgtEQھ)WUEgCLNd9C =" .Ū jD(i`yZj)QBŨ^ Ad!MW+:WWyp7*'FBXgn:s!|07nDCT3ZR9Մ*+ӑVZEc^nĪJ'7;:#],ՖƁW]gGp$Io̒ k`}p"vzR`yȪq*G!Ɗq{O!m;l5V d&2OtcDcQdy&τ ˳-f,,SVj#. -`*U`EL;d׉#O{T]XVy fQ lw=q_':K'-=ZzM{nXdopO6sO:|?eFS8HǦґZZk)ņj)ٲ}4eq~_Qw n՚ɢvvXRmr(_7l$X-+um麙~ǵ)Q?[ӴGqYm~HV]ޚCnenKcjcU^Mo!]Dex(;P9bJǍ]U&=<tyؓ6w-WRwi{SЖ)TW`-USvW>GFc:V[qtDqAxn"Q(7C.>Deڦ ۖejn$ MWl~j,a/ӳ 4 -Z欬+#eWx:iJr:R1=̍$YMo&)xXa^1v#h_v.oՎml΃oUm~q!Q:vSf&!{ -6BNo4=T!w?}lalvIB -`Vٟz)| ܟX55]#gUU=?_JK.T1姰E+TJ'$'S$RW`=/(',hƓAe) 0㚶- ܑ'ހDZAg#-#ς0 ub߳<\7K"kx V-JCgda$[ح7T-Us[8UŘ-Fb^umMP|w}3lK$_T< `G06;mg$ع"ؔ c;"roD:.'SR$j_KRz%_Ш\@d;_̲^zuuys?_sT -#o| ǿoO>dM7/@NN/,WS~қ' KDf -վzR8e$H (ӭ"Mnإ: ޫҹC?Z"MY?ÝHZg*DHh%٦@h|n'Tp sf - SxW qm`s9ū2il͝'e0mjBf(PhGƃ>ZygS%[R~ !ou=(rtoNu&Y^3fυ!lrCfcw٪} (t߈_< ̏ǟnzk0ɗ"8qE$s>Dαf&=g'z#ܙC)ͣ'?y8VG;ªӺ`$ _Lko8.);kUJ0r7 KU ~Idgzd8(PK{HݔeNv)?:c>@(o){1*{/`XS,HQH?-/G2uxʜ sk6aW(<`36פHҥH}@Wה<ê0Mu -y.?7Ӯb>{̋"uys]WZx)ڋ#0Y:.R[\"ОEӹqŒ:Q <3b+A[O5oϬ!pIkn9p8jk|\YhZoHAo֝'X8N=gt#ZK7Y|ʜ<=G 9>3u_ N>g 孪vU81¼YˆШ&LSrMO7F݀B:˝5pNWr/^ZaOI [Ii):bZY,\(̯Gzk_~2a;>9?O[6o?|n 쳪I3\Ŋ#HۿK?F4O ,>YebKUIX=5Qia [sURLGrݿnv_&E5'aB |uu?>\7ܜW$$]s?n>WS[J=v܉!]|dm}sMzaKA.|hO93V_| DкebC~4 pEfG[ -~ks -G8 vEn a4D۾Oxl΂sݽ3 UwtFm) ҌkKI7gu\t9J!m;M*p*@hSF#$<DwlD8A%wD@I].t]dQne ;XU,ۡc7TO^rDzڦ>ڷ m'Qk=ͣH8Lq)qg:Ns8Cd'ڏ,)jc(pԃW7ޱ)c:Y!y6;,{K}Ab c%y[4/uo+׏|d۲q:].,rfV-}.I3[ŀ4_"%ro$Dϑ*Ʊ<7eV5U1 3V}s{_b3qQUU$Ԓcj%HeqUkg!9mYCYVmYOl9(r6u"{m"aGDf!]kޡSĈG99)+Dꔎ&Ο]4,s+ s {q/^<5?T/`?P9<"<"e _>if>xBN)NfMlPRӎDޮ3;eZ7XZE$,rG*D1K)*^Gi,Jv4}]%cр ?u&1 D֞=|i]M]̅IĢ<ܔǽзq | M<Z,향*LVk~|T0k8̤Ɏ5Pt85GB$A>$K;Gv5C vO 诟+;ˏ>hAU?<& v5 fa<ؑǿK,VEtB']/stqW:/a< +iEÑ~([2une`S -uҟA~L/IJI$tZ[.Ȝ>CR*`  :;M-5=|9_D}/tr+a^L ) -1^VƢEs-6'RwF 45KW@hMe# -v_765AUԹX_6^HZ u sl+|ׅAV%U91t~%7s{eZ*aO6w\1s+О11_/\c8uY̕%*:6cmqb?qt=%/iUW_!8]Ld4'%g&W%ʲcqFXS=FwQ0I<²ùjhv|bUڛ..ÿ<:Jve9}Ah!ASdJ]u_evPwU7E^WPAV5(T)$> ?>\i2K\N4_4οbAX fΟܼ,:dλa. y6)O(&ا9UfQ]M/\X%#:b iѲpg k8K>`@" ([K}+I N"8t-w{ M}/|J%?<|AiP;e0aO0O$P]kmǢ0@q /躒>e??Mݛ?2K5{J' ]]pOFq`l4(:{F@xמK=L[p4o^oS ,+,-Q6㶚^Uȵ;(Suw'<̛ƀO &2O-6r4PxӏV}LCUX?>k;lnh&R6 E]1}1!p|qnUi8HG6[Aaþ'n,C" -h2LT+xB >~U"5#?Tq& -қ Ir.!ԡI@I0z~;j")${"v]כ躑aՁZm٧MBr6E)gm*mГ~',ayA2-wHA,x{7 ={}ˏƱ vF3lۅ_q2?ٶorS7}ljh U'>haE$gɟ_ W̶Rфldz=Dxv(bN߻> leݱB'G;O% e$X8sL3N3Qbps@N.%㾭Hv3I|wN(XXmcG绢W<PdAT5jb;N7ؔOV!(1M)hf9і=M`woMdDl1B#? i'R! -)ٍe Gl,6rzݧM֐8ֱ3 mmno777qAzx_d_O_?њOU|N4k>Amt%gC |ZZ,ָXcϱ޼ڮ r1끀l -X@x3N{S[XD̅dXɁ4_[24QxaZzم4.>{ x|G!{o/(;=Q$3~)ݔl傧}o}.Q3_hC9Ik)jȅi@*^q>\0wt~AIMy糷/J@o_{S0j6v76Y%,D.`IdLvsmEf8B+Ťo'2w P,-jCޣ'P'цHMt^L[|"x|;ƳW9⽎O}"* > s%te\F}vrFw32W渷Ef*l [*M8H}j;q+?+B$^m͢vN%vuXTCVǕwQB.E+"h?L5kx/1O --R5ū+ěw.>ۧO_fq><2۱u];qLgO>ea &M:։E^N sr Tzݛ{}RQ]8)*$maWOĎL\[JuaS.iC)^q2ϞH p~;K?Df0H `$ ]AJ4' -VAO!cU11kլ߳KBz /N> v*cx9Ƅu,Bimi>AO n?2d_;T'q4ڋXcҳ%vKkD]½ͅ_~#$ى>) -:\.o{9PMSU<}6㋘8V 2Jb%-kShSvc7aNBN*0+ZKaM%WLG?X?1 mpjQMӴ8h*I*a"ˏ~>I^fA -K/] lkҞˆI0Eb# bxHv7>yN}x] <.0(UfffS~2i28s -ޮrqLo6+&)^PM8f>S_?/j,ztˏ^Rܸ'/Lݴ -bLGǺm/ -vԇa3ٔM ä_9$}= 4c#G3ۡh{{N( XF"F]jvroWWQcu!Ҽ ]s&)n0tk@v]׃@ضcFeᑈ"Yٮ=*pKT dqme)oϱ ڰ=c{ͥѦ8A2u%NUDђ`E ee?bǥ{Za1 ]m=<!jw|;HزWEv>vCAlu?y#Y9YUՏi 3"gȡHCp!w` %4 + `/$ e 6EQ"řp]]UȈ<{oii2":3+2ƽ>h'@t+Zn54$;m.#Ҟ)_nC=XAكPc/C l|&svktҠELF%V*G-E/ ҋi Н%#x8,x&\@.=~ˏpcQ} = }zQhB2TX_MgS %<+pr@G{)Kr2hf΋l$k2q*iڵ>6 WXr(K^DcZGA+(׬p1!@Be冣l5zN;*xa%ʳgK`]#}׍̓I4XS˅{210'`ɺ5G(X ItaPh/,L''FT ->&!dQ@bc>3e~tl_||XrPJHHn8חoDˍ.*fE)@5M/d{ҤREXcB&:|:u'=5!(@_>1EӶkia;o pg/0 8ߜ]͋?0<|O`/q+ܸ**X; R:/O>~վ[j|YMU+lo]^1pC)ʳf=bcy%囎K/ [%4mS3(a#:: -C\?6ޙ 卦r&bNZzӲ!nџ?~<sws1vT(؟X2Ce2X{#z&#z\Zxw\y[>X(Qïv}:I&u[>@םVa)KC - \4.S'Z50-EݔNJ.]X9?{ -A 6wUW;&!+kS>ٚݞg/w˗e]pP)O_07ŕ2#7c9dZ!Z&8F:N}kVy(L}yjDŔ'6u01|v6 :t:vRn*x:L+n:_?Ou?Az~YtHD_)ZMYe܃,$x9/ -L^X]]vodwuŸ$DwI@҂, 'ASq -̼)ݫX\iSkWVZL9Щ$df6BStl8Fe3՘{[i6 -)S3}yF9,[:`Ĝ+s9*iNB3JOAg"z}`Ax=Uy[**޴p -tn|]瀒WFD#`AӞoL`EyaI=C). -՝Vd==Ghq(o*] s<`:p@b /3bAUΟТCޱT^ѻQ]{uUXlF晫4mqryH PzDߦ\-"B=k@"/(X[Еۢ GMk:L xq.|"SsJQDkQ^c Jd4}n}aozC,PjקS{ p`{+Sl(0R@i K*H4rZ GQ=l, R e?|prcEh;Ĕ*pqp}RZх:8_.&>mԴBZkAK,3萰ackm+Afe@ZBɆ6'Ks=}p0j?.rn k(զKA[`K9N]5mc(K0Ȯ0\)ztuM35Z Dd)PZZvzk2D*ev9u~zo?? Mzj7L g` dNPHQWkE^-tU!Bq(5}#d kx[ͅpF -7֠pdFq XG#$PA1# -sDczh@@O$8Bsc֡xFT%ԏ}`AV`x|9XG7|dud%+) FܤlJZ* -X*8Z88QosY5c -UtlkkQ⅔ -OCl=N|k{v>j/KrlW2iFUU[7wxU U}yrtm;pOƒ;JG@4Mjozjo%ϪJV?O%I2}stB$zjyhIcϡ OLJRsIVJfIhF~l:FIt-66,LQYrFʸ5fİAX*.Lg 7)~r5OEy+*(i<;|3|Ӳ &u LdZH_λ<#x|@zEn@t tdStsЎeNH+ fז:ZU&Mkɐ`xySڏ=P`@{l -apGO4} eu*'9auELja -k^>zEx>&6~o[nl/ro>ʾGqB :$}1B|@5n_+/ddL= :1Ј7 DBߔyR &jO{k>5@Փv m'^@v_|ElPp@:,fRp?^4dL,+ Yp%ΒI1'^LۻcJL@=$QMP(1~G'b'$`&x8 UOt=QEw rF@(),FgPBxB@߲O_+*] 9uF8zJ^7I>]do}J]ZU=(HX C'zuR -RP=ík@ZP&r\t)^JۧgP Ǡ6lf,-(ڐ;'(-v>RA]@V ZKVט@{Lwu4wtVGY6A8D_82$rFiZЋ{QTW%/**a[U-WcbEMYVQҥr^ QJ]L?JgM]t,Q`a56`=:%J|_mَ&@Ws<_Iر/a>289hz g'#Z UI=l 8^.Tښ*tܚMm"q㣧O S={`{):̕a %O&R e!ȢhR3YoON_Ga jBR()x[=ω 3`hxڋS:csx)ӗA -+tl Kz9ҽG'ls}=[5c5fTE:xx 1{/C{qdK] RKU&[zo`dK»EZxسfhz+:c m") I^C${; +X Mfj}(BԨKCNƋ  -^ ( %eF_e1$2 vZ[R0b>ڿ<e(ձV@ [l"g}rFsV(>+nc皕|*jʫ-UpԦd/e pC{' ~,6zCI :k?eZL#TR&"v&HZcs\ª9(w\&`Wtdh$d6hbG˓d;E> γk J%fR/>1Rw4לgwlۺrh:n\ ME]}G8tPy2+#@ήx4+Sh" #HHPfRq5frRňߢS5طv;ܣtl[:2C]:(,Ͻ:<0zLwTFy.>,'!п ҜCkd[îIgy$8Oc[ Lj?@q[Y3XT|BF|@(bH~S5H9t/T?~M$ # lϓ1Xi W?7 -cOrT %$.ˈqR|b~PY$@4weHI-y2kڹ@P -~>rzes(Eȷo)|T^Yd<ܤL˱≻ƕۙ %ދ}[G> J7O+tS |@|ndc\uvS6y/W:q{\PudϮ..1R[o1 Ga=UqlhWNπSz{كb'Bdz2>7꜓J/C2LwȊ";|;2|c˸::~M^ UiEG?IfRt׏<8տ/#_A-^_g[jvtkY ȋZ -mSqgԾszZYv#ˮi\UU) 3Ջ :M;:)>A<xqS٪*æ+X)>Z6d!BaSx*l@"Z7MDrWxij2iٽUCv]%}@E^ݛ&$$i:OF>:~K!q;NO=d)н%XQ(!6 JP#c6qXEt|(mؙɇE P-k2ӧ(Z{tsԂ@kL @R)".&HBChnYuD9/kڊnPy!K ԃ 25zHހb|Uv”UÓ19VἂޠgZ#:\H^{OFD -Dtm Zqmނ{Ө˲{c{ż d%0 W ^2 AR9(זgzo,݌NuS\oN6M ->67mO.>}{b^݂֌e?{w?(zszutrdž0NӒAj -!%VEQ͆r7^w|vxW CB.7}xZ`EĈOp\ #P_Gg:O$Om|dvT+}(Ï> }tQ'W3_ە"H(Ŭy$NsC1 -0IS$>Yk5HǢg3)mѷ(`_9=[ZZ!TH> -Ab^q㼄?ϵWfyO|s@cJLё[RTi]If^ƀ<+z̺ױkW2HUZӇ,ƩEL^I&8ru@e -ct=Q0h!0eB3j `iK~~v|LzCjxjXw_;?NU?[K>y?5҈_xAєlLeD3>)^a-zޮ76;?D7܃c΅]EP1Y,,_/M_P$^Cvץv0]SJWYTRpc+5 Z1!br-KMKn~ ,%OP6ZӵihYУptv0aJ ` :%U^ -|} lc{gs4L!!nN_~KiP> pA;5}@ -BE,ԭCxN91uGf)-X .\Di;C G[ -'mY8, UUSȍdf-E kƽ^PT WX6g~ -*z{kofq)7,;atZFp&WqC7߸zĸ0j[J̶mFg_e:n~)ѻ3hGN5=ɞ=*7(p_s?!x5Nלj~坖X|vw\X0j̣;5ʾ%g|d|tswySvU=݃D/97csQy|K~l>Z,-0luy}ԈPDxa{$Yﲖ,eLZ-KY2Jfnp%(%Je]^֖Ghw:~Rv"4vǕ\g8a8 hE_S C&ؓ?X3 30蛺4~Őyh} s -a0Itm:Nm)%ŹT@Qx -F-oh/)n9xG\PͱbjSV98P&3e2FΤV*LsR/x%)"M鬣k܎!d'WCMQzAd\J^^d:Ziɍ%a&J#[YxH.*׳fyJ=d8L!H֮$xkeh{2Jʙz!* [^]` |9!7_px#Ν XR2Ŭ65}ð5LFOn g2#YfytX2~ޡuCw807ZLT?7T(߻lOOϯ| cäG9z-!f2?z{guxt؝ǽn9깃!e2<}YlNU|1tQ4QάeȥiHBF~0sUؓ4*4-=%Bi<;PC:rWTNO//ho/ 7Ufُa;([GoۿOM 턠Xo6 &Kb}rʬ Z/Eg3h]//7*BA9rN3H&=Pu- VMQS\L '[s{b]ku^F0?=oY!g=@U/Y$c Uͅ%e$+q60WE8ZteW+z>S~Rn}A֛huHF{^0N9Mt -fZUA0 N9ڕ,~\rPZrkHyk|1xԙ3uʭhAW&K/kqNR,_̪2d $g -Y4!h)*Q &o6W4G2m߽4Um^nmO~Wy puȟ1:|!ڌʒSeMFi\O5=Na,w\vc]<=8{q/>JUe^! GQ-/g2ӳG(-|/r- ]ؾ#rs})d?t."ks!h%=I,Vz4n9Lsh_~_zeg?vc#(4hER4UzF;?lRlhsQ(ZzpD$Ǝ)xѽ-}\\jSKO{:(O(HlqPOb2Ž%Ѣ6MN¤ix kcGAY'[% _; -J]n^ћt̻%:7Dsb Z5/"񓁪:nHhlE/r -0euFbWWw |t?k@_ϼu<9Z"1vyyJJ5ɐe46)NྭRd>jt68zKI@HvteRJQsωTK?Zt9Ug*"r!mg$]_%2Μ^̈́'5w~a|4I`sD]Ov[&tP #|#$d}2m#=u%:!dd=b! pXɒ ʏ[l q@{ @X,?zg -2@W;)|O+bL슕קjAH_4 4htæQ_t@N'6DHe-=zxM1Ϯ -tiʫ͆"(.(lLM%%|6 xD$iD*z<Ə;:8:8<-*MK?RDf[`t BtVJtr{ -72 }vz鋋 Nt,W!]PmHA᫸=2WYQUgw>|B.I';iu554# s}!Y2¬*O/Ӵ2շ Uv3C9'r_җYH1Xgk&10SM^^0e}IﯖDt ܰ`ͷxՇٯտ/&Fh')H8iƁҮFoGgʹ\v O&C^V5|:f @VdZŽSIaENO0th}(P އK3m· A:ɳLP4Hj.h7UzT(HL]ix@cēlt^lk|?:m &œ$&yp*_7Wi>"iQYy߷0^0!ٛvL~zim T]Mvjr]6eF[] mn]eLA\BFœ@w$8xEdM*0 -A} cUckTmʊv.@ "* #28:FQloU55;BU$V"Q VI{h0>3mYEsZJw| Yx MD{;D}\ T.2 -P~z@Т}U>ŅDB:(rC1x҃!Tr݅0..No..O_\z3ɕ6.tM7,48׻,'I-xGkȮEamABJf03vSGtG~(7pE.=~n[Ps<ۻ>ߦmvMf^stlv(jv7%d - %DX'z!gX-2@մWV1`,/&y뢟9:;H2$ nS3Qr(%@nI\ )TӞd zN8H%RlYִnh?a xL&>2/oHb]dθ -/4AmF.+`K\n!Gy-i6TjW1:q,PqIXSR[0`9ManMYd+xWo F-WG = %:c5 VmY :j엿L1$( -qybP1p߃422ǃ:غBD&0:2vt^)1ݫ<:)Zl $$3'tUI~3xnOfzusR|3'{&Yu@KLr/Zn P%<Y[<`2UCOT 8!wAu ]/'Ov{2 -l( <9P%K`[Z$zSk$a- 56 -̛ڃ䖖.]/>^$ɻfY/Oכ'Y<~oth@(Ї,B/LUTAx筷ڐ Ivm8&S?$ًb -UwiN}ɋgd2rFR-k>d]=}# 7z[ݮPoEֿ*>ί*~hj s!rǴNͱ!;X og85[I,ԩT|@cF(M"-0 )H!'XW87`b(a:g~R/8R@7W)-hkGA53=hEUm'5EI*wH0n:= ޖ \"^//uO Tt^IC]krb2H.Z&hqO@|J ^+I]6~vDt~1#n}*:"=| hpCዱKvN^Rh\.項A85KhÃ}RN 9E. %.ٳkr']OƔɑ%<~z w䣾s_M!?v4 thr}mFm)^@Pb6- zHm#'Aא+ڟ>|HWݑ( tڊIh-r|!πf_<"08&A0*i'ue&zɚ a2/>ド)D<&b:PͣІz4TiC3ynÞ ʢTGIN̄63MV == mcCE(O`*fćd>iچ)vx^rH604^#_MLeSSvO hJ`InPeiJícp -+''0o] ӻ~:\96gf z;|FdIeB<:Oz{̰dy=HyZY/}ZCvc*4-Y9Q\>|'~waHIذ0 h5]*+~l$FP4֮G8 -Ro 2:uP=k܍Lѝ3;nsLV`rsd~fLPܤ,,62.휿ac|  . *(lI7(hSZeQ25Xm9ZܗRvrSuޏf;%jq@˕گmccVo`=ꗿH&=hSk :s?7}ˌeәƮ -+ C1u'ö2rU'*x[TʋZ0+/Bw{ע ۂdiG<'Qq@Cf/Yi>Vd=6f_rc^QVE1cO_X:[ &;bFBiV t ԓj*LJQU}x -t&(׉:xсշ2*LVE+.QM%Yٺ*<Ї5 -mS7*+: \x=䷔01ª̭vU -%-tLЭT(XnCwt@K(NP -.kOpIpx"k E0p-;~) o6 EVQ$۫A$?P !8a+O#JjN`uCMTЩnXIʢ 2}PȖ'(1rj; Jë$i(=v}˫`:VVm[{ޏoė*mg]Yf[8HOGiٰ1xo%QBqjG~l(hh==v: , *~5bYW 9n~ߴufd޳`Wk KG_tpS\z}eqLS?y f G63mݢQBst#|q2tT3Vkp߯t{U$vY"ݚ겣=^-%\YV! OtDb6]Z>xQh薑mm8"6Q¹3F[~,0Kf:xGRFz]=D]PH`$;(v!i2yVnJ: z| PT -5'bbʮN>?.jdd;k @PubaP2$<+fE3M0o=[UCUI\!ASsUהP#;zgry$tzfVN5hF#UxVf].zSȷҦlҵ -Z(W::]ߠ@,- .w`p<&j\/8{\dx&EbI9^89X#0@=sD#m 41F!]@d Y]^]\BlVϏZ8X܄hv:ۿ{8}T('~QB[{r|Bǃ' SR=yuΈ6AYj>W/Ҙ-WnF'8#*=,KW_d|쳐"`(H:W#4J"}OϜNmEӣL7*ew#GvaYV>8tcOOHwLN#Kp֣ȉBQ3h3aTj"cu6 r9<17%{5ѵN !8l9+ohRv6EI 2ڋ=/1"L3/)D# XՏmP>ƨ-KuWcĚ"مnZ:^eSwBʧ/2QL=plHa=r2:1Eĕ$ xy-y NUrxaud>5f{e4Nc,mB'2wyo~vwBrp 6ިc(s/U]?nozC̶nN{Gxt|_"sxUY3em[J7{۟{|y@ jw#]G8[z=L>`1/(\LyIG|:_Wgpt|/Lc|0S6:.Y&/U7%ԌFP*{IՓ}<0igj#d -ֿ-yFHh&6QP'ikn&Hi+ԨE?"0PPod 5HOMJ?KOc=,EbqdЅmTxWoLnSSB8-Ϯo,.l}SV }3 #j\(J4պkG\ս`=.im&[_.8]7c{e< Yޔx$@Ebor>ܲtUjs!DDv!Ƿ~bF}e??n6߲ض;9'f>u/? }[o6~7`.ܶGݜn"eP?Y@}Hw]UeE O"aR@{({ǑD護%{ .h&JCmLB%~Lh+m\%WY޸9x{"kku z -[Ei+9m]7Ax/J:,-{ywٳƞJ@%)3ú9|VZP8ʪ$!TWo]mB jHQRAZk1 -XhA|t{Fqj :aW ãPxCATľlpq2EdDpk2[\}/Mpž<1O<|=Vy!Ĝ5VHyj2*Oi,@ʢ>:LPYo~eYz*q"U.(t}q\OF0i-Ɛv8xmFj)%I?I n{ -)8G l@Sgb -#bQ6A(V9z< '5j\'f}z:V&hK6e^  $%#4PÎ#^V1|IjE"/\ .Ƃ09iA3˱jgvQ.:_I|pJKUi؎ݕ"~Cc_/^Ԭ]cZϣOl*2LC[GWOۣ }zٳnW%:)SV%#Sg̉;_항0\޿w?wu{v{cDj- y`R7̟%2yӥ_{2F/K"4]~k:`Np -u1n^Aeր'T -6Jn(Uiɬ%v.B2gP: -l6W#q7!zh6ִ+$ekj#w wWD{5?rC?YH I/YE'gB+;޲_,5:i*mtyIr06}Q mĠ;eI8 \6u5PpY9y#޴8Jww7Nc5;Gz (ɏMlPu)VE3@z)% -ODk>Rްkw/K k3GyN([Ky=~몧?:L;[`ͥݯCo)Ͻ<wSp+ z WR;/SYJSt X& )e|ejdlkᅇj2w3)GZ|i "Du5jA'1`m_Sfw~,c9ߪLH( -VY>\=MgR?OZ(".VLu@b pwLjUdGׯvW((oG ^u#|@O₟갬I!˜LT]6K.LDɒ1{m*HoֵY:zzL`$d%+cf흌>;>n7Vxot)-NLK"\7,rK7|7# -n3jE9dG| __ڊp&:fAc8x=͖9scS0Pd,Dl2&4kpAG6w((NS9Bfp>'$U]i)i-TQ6w x -PQ8g">3pͶl6;%as妢ȏXGtd{ޡq].!tcSN?2~@o= ]k5s2g -VhEeI$y >i憋Yϕ"y, ]7t.+^dg)Uz+(iP*q \(mD2$m)s= x/:v-M-,! r7%kC-Dե v -%T.'+EWkyߵ_b9:\T\4z띓O|aêKZ.qD;({ѡ(V) yCkw=Iv<]dVֻt-Ů(H{P2LAF%{Q/vU}nB=­?|ogG8S=~t4D -aX`u`٭o -*שXIBMdicu1Xp^= Mf޴Ѣ 0Q%R -cN$`_j=RszB5 6'5u 2퉑c^[=oڦtU4lSɔ{$2a(ψ -ʶĬ#W] mvMl]7]!מ{f.{}'T$8EIq_|ɽ_/|@Ri闹F4d]=0$j?!">K^ > oӈƯ)R |/ %=٠# MK^O.@@橣80 ʲ Ep]` ?`-raF)ѺLe-+{/ak|7jc[.Cȶ:GM ,&"鲏C4-=@E[Jܚlt GiS -ryՔ G{e<g%h1qg_Ap/ތը -T;GdwZq+3wIp~H툶GۣlVCoܽۏ,{z%2j>Ov{dgZ#<fZ4a^ x@/#!Fo@BBa@1nsg]Yq`}i ʌ/֒ S.C#dbh-|@ h i x(,+KHl" ˇ8kl_ԠL?N!!:wygNa]KF}?c9)mxAvۖ8k5a}ԯLw,'kC{Tl?9$79Ok?M^`$={.u=җ;+e-$V-j -mh&g ]z˳]L3 eG$톆p2;.Tt"n5,+WA~8 }y#7C\\0!EY(L0^q-I{LY$䬮ʦJIE)EzxvAzssӷk-7{ -/H;18ZZS`<_J0jGdapNԴE;:=ԓP ᖆb?XxMC`o\.QL2>FNՔ -:%;A&lߔŇ.Vu ]a:|z1^TxҋXr!3uqoœ2$h$mr'JP"t}Fxyv":6o -Jj{P?GP чJ3:J(`1+cҠp^}Yv ޿g'f=1U8 ]nN4r~S:ټʗ,aa.&"IgOOoډ~3{ff_gۅnL75OJ0j(uޱO.MH1[}>rTc?=6oG.$Q]\w -H'TLP50=l -ѪDӨ[tl[Vx5q!ax[RR|mWmI7~ -B5ӓ͘nHGqD j #HZՉlH+S_+7 Kt/ڲlxQ0Ee[s҄>Ob %ZZeOps -sίyȗF&=(e7Rs -*4UbO^*YtYEt+< *}]Uv{~'6Zhk>B=HOH~m\'BKVMs;çqq`|_5sXd*y>ܖKr0UEw@Rd%W֟awIrr^<}k6V`N(Q< ~k\ނ-[-@n@FO)e.# /H}[;Ǘd*=6SKy! UÂ8ܞs>wȟ:kNF=)+'F'lXO+EjqI@]&Sz3RDA@=AgT|yMI&a$㣾>`m?%tt6?ؑv@RfF+y0dyUP볚fӄB -uoJُlo' |EZpM}p_c[u37xKWvo'霷vc%ޟr%;c }cB/ Uz_`?BPOFvE;n슝>f8\M9v<G*>|7߰ 5,P&0=#.e*߰"rX -}V]:~t*KԵCS)eO.X44\ -rx2딦8z.[4A%w݁4,T~/yNP.zL*uҨk&QX4mMa: -{]mH"U~:DCjiʎGr:d|3jJ㺫ps=yDZX( -)WdlY9avwS_2&g CbIXHl3Jt0kB x׆qxCM?n6&`m ֡FROFf 8*?6VDK i2GKո~jv棹hJ.,  JfA_fϸX-eP -e1PbFVŐOÕmq.y}ՂǑbT xsi*qXn̉g_ȑCN7`T\jۅ 96u2F-]ܳi>zpN( -@55*2߹XG"fC*ѿ'aC'-wQU20 mEe*C(e܄esmw2Ee-NTYǽ -硆 = { ,r:fy DφP")]d=ܢL \ӧNdn֝˩7-H=pq5f*&<'|/,u*r|QJ Qt `SpF"U׏GHyOHu]SIMP*>ESQi)uIy%pUzpǾ4wq8`3^tN8S@ϟ'n@pF8 - T pè*Gm^ O2פЅnu8hl47dK멥+$E6VySݎtɁMtS$S"oXWvx.ւ8yc{8Q6ZL2jF& 8Tq'㾩طc|5iJbp]Bo9ʵ{oGaٯ NThcɖN?'#/}q687 /rxz<"Cݢ \$5iܓǿM1VVNJM˨ԧs{ӓӋR*<1̓8=ŋ9{S1n-dp_o;YX)l#Tga"iNB9:`)3!C~y0֕<]owQ{ d['\4YG}l =|}Cw5mi3ރ7M˘J"=T^{Z4Q#[+DQVbhuMi2v8qV)O:I6Z:f{'zeVv=e6h$pGVV$ jsA>m>:GsG}| %8dJf]UP|ݩIplaۮϺ(w|ćV8ыp#ŗRLΘww?{o[6rnpP{*5?|.ҿ _~l8~Y̯q-{,!Fq# |@WL-٩ \'p5c2a@K='d a?Ṁ5r!1Wzo1'Ļ= -GQVrGoǖ#X[}4Bl5 'hZ;(flCq>_S Γ&~$iԺ{-Ua8SMM]h'lfuv-< -T[ļnfMKmT@;p"t54`[޵GftsǶK";t25&nk$`'𽪨6?9@`% /qRIw5ӐU&0`>:hSa~Pgsn O|t`e7tˍJ ;N[9xC WRK yZmgVsbb1iGږSjgoM?1H2 *6)HY*ApkSv/[AixX"G3zxLQym]{w -wʔ0v}4g v~ FyTD1%&#I~Thk(@oXM,MDB櫥O a"!Nº|5X6exVA-0 d,H\gE)bj k*>x<%6bS[ ogj$ѿU#0 JSSLf;, -gW]g$J=RWVO55ks4T< ]:8 };.?)F6競?L'( +'ֿ /JI\}~=gZsmm\ dtnPm*sI%w-Hc\8D)8texQ؞>y珟<|dx:3U[ee~Mޒ3%k]y Vtai0!Wt ;#2Aj1>vwKxHқ)*;o7+Gg*@6ԭi@"c~[4jƙ&FƓJlָ)E'SxvK=9fx.98~h18ruk![04&YobǀuVbRs%2!BI2RmRrɹv}? DĄ> -:JخRn%cc -ERljWIu(ro@[Cn*t"-ȑ#2SrczCéH1c4ƻ+QS 3.2x?Pcݢ{ɰab#wJT4͘ˠm5y s0jUN 0 -Eel(#2pE0P$*m|0"hueN)֫GAދPO%%,Bھ(&p/|Re;*oߗ&r\R*o?4 {Dtq]3DˠO*?ϽË>w~~W_qWm\n*b{HT !B㉭=*:`%$:I!nV7d[FqUs}Su]ũ^ gz|eYXl0LTX]g%e ^ -Xw3 bK\-lcC!xe$Yi$ (^ E]{l\N&zI#^MK.J%1~bl?N*6qT?J*Y+Lq;wgWrJQ2IcJTgY ~WUmwEG,߱hf3U9CBiE y}<. X36̌2Ay@!֔m4~JUS5sofie3#^̐\b8I[RkҠLEiN߸i[^y] -[plų2wcDCr;X-8;)5/⿈OaA傉C=|A( Xe?<<Dnza{MO-f\Z$e/3$"9@e&(o&H,?X - ZT$8DUvUux eKBzweC"ZXC?@8=Ԙb<][^ʿlA[mT 1PT79H;ԥ >~Zװ0;`p 0|H R)jqwV[з#*Bٮ!+' jx!"FEl -JXG,pc!^*w}4E>nQe* G~7m]!2P#kTt]J . 5vR+؏TI g<^@ΎUSxw)]DRC]Hƴ}#8k#숼 ,uSbӦ9~ ,*=״"ٕA@ Vg6b{:09eHA-dq q26 \n(}aR{+XL ,]͓R^֛ fܙ~2Sz~A5OPP']lHz7 f =y~Ezxl<~dGiy#G˥qs5%k 9-GwPlj7YSc$itONCMYx~jр. /7t5ґPP$Xϊ\}Ȋ)r*&$Az#AM)*p.ᛂӟ2ͱ)tUqӦ.)} b}}KA١VlYfۗʐV5\ie#rE.*F3H #s~I4l[&}+bUNyx>M -շ'i4|7 -I+ c3qI<#O gJ:1;מ)zv] %otٔP4ǜf2w^Cs?O.  XϫŇ=>L"X $ - -CEO g A -)`Tc P1:* ¡G [r^_۾x1 C'~l2: -!rZ'-}nLμE(;0HY7l iσ䑑yq'V81wm'k{XuDbZI2Fi&?ȉ0MIOf0+M;^-ۅ5?\1藞Gz, L2m a'(EaZ5%)`2m5, ,@(jI)!fJr9 ?{dqhRIf](S\Xl -+DQjz$B).IC QDmˢێp WNHzLk\H"[\ӣȡ^>^]Mpb,rҰuQƦ@fky_;O}l(\[Pco X^ ,6,Uj'6Yc *_ 0 7QTL4D0ED@>W[=VF\X?;7I*=YDV\"^]^Dh5@bFӺN ^212 MΝ 'x,ۇavA /O}단 ǔ)&5Q}\qDr;@ޖ]aieU6mSԥH׆KqǞ%r^T&b)~"QzBztĭM_d'H ugy:|UUlo49dJ>n32ä]ϲBfg7#xpơ9ϰX}O-D 5SLiSJrP"̨E1ZPQpW ut6 ῳHPٜ'kn7ҮbcP _*ۺa -]Q.\Qi^>cfC#‚XiI׌xe?$d aVdxuMn^S%=๼x#@*GeJrI7-G4uki1$+HbO9P[ |YE0uQׅ"fϦ09jw5&If!pHڳ#"88gvcHYѥdeM9pG^$o)A^vϔ 4CGp, -P-Y]`<$62Y_.}e/3v@aHyAG֍#8{aY=HCdB+TaA:G|GLAn: #Ѯ@hGom[l%H-gM'pCWB{ơ2-bz~ $CfKH u:CϪ7L`fd׍ -+QϦVMYm9j*U\<η@c {8IakrhE> Autqlԫ@资FH mE)XBE.ZFng`{wdy׺4a\!. H,^DmP9Ե?%p>ħ$ Y8rD1Ȉbv꟯X={;Mu/c[[x&kUaE"bx(Zlu0S[xEϢ43ngx" JLfbV*I^[qd'4ʥTM %k !cd/a>_-.`uTI"J7Fg;Hi@=3 -bh)9%W8Mb_ȩ^{uEH`tuFU56|wf1Ub" -HMR  a"taR2av=.4"zYM) rxˈc~sjusxaJ*i0\shC!5AO LzfxR`N|`fB3NJc@xV #{2"ˠm #6uT4X؎ݽC9>P|IQmFs:H}d϶v8h@57fr!ѫKg訯'id#Oq:kYqbxX4ก.SMcוݼ %P6tW"'IZfCԀG9 \epA.-irB|Uy1]-VͮydѺ̄Y2 \af=5d/QQoEJ}gRvEVE(vY>+}b&6|%}bҍ^%$£޺m\JU]{]s^_Rqgњ+evPQZWXߗ3x\/$$$ߟ((wCUY"2Ӥ`DzԞqNAⰇ -U@]4 -@\\ @\QG7jw fIu14w'{:[߼)&V>zc1_~G/"썪m9N.ȞET$)\l$|7Ig+AN[<< ~ " _^dEM>M>D,u YG4:-nbIt{˄YKzC9ݸO^xR$$Jkr]aCn料p|0:,5RgQɍcA<$cBƽ8Kŷ;>u@Px[OAmzt|ߡap*LNL8iCNdކyjǂU[zVz i -ubf,eNPWK^+X*eŸ@;d]q GzvYR*q'ϑ- ҍŠ g|&;/X# -U47 , Px4ݳԞD%faxRiBPHF|-6 鹳umN7[-꜂nnInl#YhO︗H&'N7/8|vO6B#& -re9A_uc1\NG[yDS\-c!A>˞Rty Ax+|c)m5Acke!IզYDϐfΦ#tMQym @~dD5C&=c^U f!<Ԭ-p&aF"esy!&`<^ߞpCۿ{*2?A~G}I/HJ/"O`q2-o; 8Nm %z4% -臩֒P@7*VN=VQtYOGpe>ps/*1%Q+ReZy_) ϫĺ$]2&=TGN4&̧!`c11BDkIŕ"׀ @^o-z c:Ǿ2 RgYr 9fQ. yu&4*q`dCo,`^Ak,:p*O 7.tiD6h}etĶTj)Hև/JZjt >Vמ#Yk5.ޗa8TfMIm+rqʎT J28L^dwu2NHY3W$Enwꠡ)4L* Y$Q  sOR9,Oy2۶L`9h3;s'@p}."}j՛Wo朶(ǚ~ƀEj^w%v>M7H+サ>?85evpB&LnDc7yPJ f˶C]XZG@mxa=8ւ@z nx` &c\X= 25~KsIz\dx{VlDa/'}ɤr@'/]_2}d]F"S9){m"e@r~2|42t*1Z;+ y_0N41. XrsTbS--oiɎpYy)-?q\k{CE5WJ)Dy&RK/=;~o*7 /tDoz_-N#}"^mh|ny1`4)Fnɝtʛ3X[PhZT x}A)z!H5WMqeLiO}9> Pzhjk7pPnZD~?MڨO,N`Ϗ)uqY& #Y[^-Zcе8amH_sO7sO`?{lu_~F!bN "م.wγ2㔽g8 -}~_D6c.OI n>J4_['[sGp$}1b YZx.aGW|//6yKϑ. kU]B[Ϻl%ap2o2>zVQyB_CvkO:ࢀyrelpZdÚ>T9p0Of"-"7y -[a \(Go-C5u?\z Jo0>7Rfг儰6/yYߴ?3_7]Q\3lzS]㲉ˋ6 .ƴvKM50 Vaii>伭Ea_T2 fцm%?e֐x27ж}n0g)e_8wk{j IfJZ XwMq!rz]ƖkaPZ6pK$8Z -l*M(>u?3OUJ Gͯ9Dj ?7 dظH{+L[)!?zǿ߿B.r ղ7A/7O^<=.|YFՎ$Cj7/9L|=3tî(v(l}Ԟl!N -Z2jfV- -Sz]$ J߇ {Á, D/)ĬMSgJ>kC WzZ]m)`wsW 9'p*l%Yr;$kwl0͛>`jfEL L/Z7k dԒڎz!>#Z?- vx/K?&ZWA5}كmXOPӏG~ᅐ&ʃ/=pزI]Hpv 3$"0i[H. -Ǧ"VRS0_P7?ח!8)vՉыHۡ=n}>`3:q?@ϺJQ4:ǒ epe’H/m5}uڽsW{ՓGRۼWKkD(O\n{4խhA?w[sGnT&UJQBт8`0lynL; s ]gPjC/: MGV<BVCs`[Gd 4tU)S -qy`+/%,bTl*adv?5_$ v'28V4E&l,l{9oz90A/pL9ҼeN*nYl(bI(c)+j -`)-zwx dﲯ~ys֜ ڗH錔z4>-xqn^}8G'jb].o^7NIHMvi¥CU^5W+G`*&*i2' 03Kc=5:}b h99`ԓh\7c9{M<<|0P 8@s'LfOTeQB˵٥y3nXio7ܢ.(<.> XjERiS[I6;Fg)>SG˚oo}gkx7@P~`p8 - Q~)UPfjdX놑`.>%I?tno4 -g -lቫ1Ҕp(+|@6f4D(榨ꮨ\keƣѽI0R1ST`8"dRqMܬ6miKR߽~`znwTۚ"% /VGQ2 - ' VZ=8Q5 IUYIz^c~Qn`E.hu?T8yHU|}[]I^0LVS5O-Ogu'$'=Yp}I.>0/mՐ, cm a=WЋ?HQyBȞwd%:nƪȷ;%C DJ buѡpkÒ#RAI -z^v;<~u̓G4b/\>k={ `\ -`g '޲qݮmuVsIWv]e8<[Bt=I@|"![9>JQuEˊ̕"^`d"r5bM|>IRۮ@TF vJ*ym]&LZP6#?&ȫ-jRZ`$*ɗRey\Y``|6d>n;?)$/~dZsرw$v[2S=8r߲g*.G~2erIDXJt&JӲL&HK-,eql7O׍D \U]C1Y\VDq%MghRbRZe]>E @ǁ]}4g L:b?NoN;.ǂDp (Ar 3JGX\㶶p ÍLz-"dʱ pHL)!Qׇ8# Qm -]gY} ۲vy7m|GjEcma%(+'G!I䐾+n+3c`m$[2m8JaȤK&QQg%80QaSBzȈł`Q8}Y|꺭,GYb>2GzRdC=|ۚ~ŋTd2 yM"8څsAȽ7 u'W<'§%KZϏagm&4Cp{Nߞ l'6F7ք`Jo>-~oj  iU#xlN73S\#jPjcd9J3DE=;S.cTn%pq/ X߲atW"j3v}[bW<'>?A~XW6 CITɌW8j3m_Cu> w3j5F -9{ԅ4Dd|s6-lCu#RiA#8 <*V ?**j)?T{G-2hnuA1, ͇<(~[m":ҸX"o}\8ai޶{TY*'5uU{F_zX/` NrsIahh -I <(^ (H*#1\ja,O~% 7^f% Ic']ǩI3c.\6ghcYJ#=vW_y B& ʫWRMx%4 v@G OJ?2mC2ubqyjǙ\!?~+̓c'r:nԻb'fq:E<5K"RxkThН]=,~40ku+@k|٩E,Fb[fے,q4#k1"@Eu QT~uΌHi {]Q]N|wzra5%0+vv9 HP{D\K.lՃmnQsnQPTͅdUsCG$"f]Z07-Kgfe-ꭽt0=f،p fK !pXA Y؁ - 3`)mz֚Yyo9'of{ӋrnsO0bDê̫G}-Ggc3& X Ϊ,0r*@ 'z+9m -HHpA 2+Lb t)f -_ %Fv/ vD1x3M+՛(T%5YVMʪpck;b)Xl>#a1=9|\9WqT -ACk^` -XT,X6Ta`A["و (y"]H?c;p"p.-W~63[pK^Dn?~]?oڇT획q+p l(s7#5sr4P⤁ -EĐXGºQ -f"rî2ާ<,#.`+$86fK: x3}_rK#:XBT隦N@ u% r[Eݵ8CVE9Aa(!<{a-JupnfhAIPTEؤ C Bp<,[k_z/s;: ҅ٵwy=+;@Hr"=0EEE\Ѱְg+HZ(u ^Kj5G1<.)wQc {PEMb=$E:#ՠ)]ˤCmZ( -lo&BK0NYeSA״.%E^ \\+֐T -~Q> a! -dsx7!"J-r+EUd@5rQ5e2|Lzflb;#gEz -yxctuo\&@[!P@cG0UEP\Frq j uYA9fj`܅Np|2GR-Dа}eh; ()X4D^L:׈5r찇b]loTԋ|~Y^ې (K"h~zr&b>|Ȋrb-Ć z`ZkABSSw[MYª,,Q}|Vy]ȹ> QqC1C(a $8ёހ4Z|&#S"_8܂W > ~BZZUEg>Ո1u^vĦ%f@AEAq S6CaO4"Q #N 6agpACo`/:@TW9\z| QȻ J 4 - -v8ꂚV.s<'ȣ|j[7 ̮~O;L2P6q0p5\k'S0R$$K0!xPQ1%](%8-UhjCƚ,k6i^ ty ,-*j(&ϘSO;(H^5.d fԔcV%pT`mP<$Bۂ03 feT ÷x̡W`WEmzVWˀ>=O.uo^ -K^>M1'-TFn{_ŷ pdzdRfYY@59sxtlU8dBp:[{G<.w~cTu`2ͺ" nD -c}0 b;QݐtTշrZ,GH(sE W%`'TekmYM;ּ(Y-PG8XՐh0!&aÊ,8N^9$~L?Q*aY[WM "lPSZ\8x0E+ yT 8u,,Xħf<lj"QXKBX\f3QqP22ΚCd* .(2Iӂ8zArEaVA`haC @YlV6 2FK+BG6\E$qQ"F( ڄA8ʈ1O=|/3Ja%x4Hp`,e`QXA&OlEsq2x5Q >[=c 00ha  ]wIR0 U8^X$ `ߵÀrX5a;=Q]Me.Mԡ?Yqz:uk2ːCn#-5z8;3MB,xbqam /y tsaB k q{3GsԴ!ͻY]8b#?>zX3p\r Xx0#oq Og0{2NFFHT& hhT*Q@҅b>^sSbsi2Y A.v'1R^gmoK݌u{$}#77sV*x#yY=7z_ots?!!g\zgwt,F+a9e+1XS3"" II(.ψmxWt -GN௧k-Z_ ?\%UD|\UK8y.̼~s@?3 8g4;H#x{)w>!WȌ`{]ٚm <}ڏI@]MSLo߅sZ%lXfT{BrfǨ -F_`[+ `}Ze}E0G`yU.yr*1,6/]E#N$v;K`'Eض}32Rx4R4$Up>O¾fKHAEIlR*ř=:~ {"+5duEa &{i!['^$"/a+i !_~uU'I%T4a];dgwƅMdzJ4%C¨NJ` İ񢮎A\0(kxVgB9H &3h -09k+!K,9&VIjXL-Xa/ [ꣶ^1/J8Hsõh]˴`<8WPWD:Z&Y+n WJҬ\&mjN4O:!O'v8_'N❽8SUmTʣXcA6ƱKzKK z{搨fyR ;upheulќNh![Dh|ǿxOT2?]>KKO `WߐRphCQ9}8c&)- $M+[֌B"] Qń,5m7h1UՁ2Y,Ehd.&JIO$L<g* ՃB Vwr*%=ccAjdviOx3 2d~CKQ.ġSQ7F>jb-r#ؚuQ֥G[~E.i X.,(e0m"?}_WȨ#hbB[GGJv1CH>r(Olq? - \;D뎁s0gWtynvv"ԂH5Nf~ӨZ:JHwJԁ8hA7Xu"3NW.qVN|z|7;4j`GVr)/Iϥ7+ }(B@UrZ -v+Lf{ձa%/X}]򣍠F`|"pCϘQ۴떫:g `0<˒48pdȏffU7aKjFVш5"dCB -;8 -m*`xd%Rw}kY!)-O tJ(M<nMUd+&Uiu X@G/UϽ[rëYu`LurSzW˿dhzNWK45WҢ\p; 6 Ѽ{ blIrNN0#X{ttegG-UXq>:$A}!n6j6ϻMy&J;]][,p"R]Q.N0<(Nooo'3Vd vL$ KHwO~EVN]# d`Y;E>Rc%㔪/DEG4ltP=si>oqrp?D|ABVӴSIZkaV`)jh .ӣ=K\ģm1RzHR2=?4*mhȍ?~mR{䂲xp_M2fcA6uzu?N &qk80h 6,56ru]`" ῴbAؗr5mݝl9P^yL'ysUP`c5!d%ә˃`T 1ҋ\ܳ_zڕݭ]Y֟l׊YYqD;f-[beh0Q=OV-zʸ0Tؠ]FKt>1fn 0Wpt1 4u cptbD89_(J,)l/g__LkF|&@_jS/1G.²Pvn{7uǼ۟=wn^]"> TXR' 5~Ȉ'`;?MeɭwlRdV ,}2(djJYE`T@>{;ә.M ұl,-R鉧y}_(2L, ְ/Ddk0ļ{c3+.̦_` ߂Cf []Lu_Lʗjh7:Tl`V^s6^ݧ9 zоU*>+n@m4e'AϷ_vL7FJ#ԲfYflFT;]iZjCM<34V @pA -Q {e/a 6:mH1x|3m浍r߂R#ڮ,%ѮPJ㓿5v!,@&bg8ic_!˶r -Gi4'ǩj܆]m ' -?msCٺuE -> ٴH;XNؾA\Al^w2*4NG%#k62$\tI)dc6Z [A#ZLun. ֹ0 .!wcۖgfiWsԺFfΈu.K4A4E^/eoJM ^?|U-k Ԯ(:$5 1[EC׿ՊY-H>unPFj6$w kY֐Q(ANp  [İ\K7-7'؛ mqqS@̞,ie2h*lۖ,U!,jqS;L3fLJbqRW9ol*}A6ع `rdNFItm+ xפk"jP둇~?6l7`@x-g62quOFf_4\$ak^t*B0[=G(;7_tiέ[`<8dU1^d, ǻ@%ŭv׫Mc)82⚇V5,M.2[Fa-e \Qup/8 -~@Ar'ߊen%~=buo] 1sn|5ʋQjR+SY -+)5gѦ@^/\#CÑ.:qYu/8nu.ʟ4fԧ ;׎,TYp˵ {TE4):E⏝p2dRj8ys\SGC>Z}s뤃WV '}5fqQWtCPC|AfO>ѯd_bـ\[:vvBȃxn:deDŽɗP@':=ķ" 'G';߇r.lpJr jxybKk1l xZa / l - 5Э~m!ĚͽKfWo<>#zuD'%ǜ)O[J2Vh( 6n@.+SjɹՁɨbm)UBr.3|6?dQZݽ}\Ja}е]f8NR"=R oWթq -E ̭L"Xt [STKD7USv L4-L7XW|'&1Y\q,ԥ).7>tq6XW4l0`V'(jBC^k`{_NtO{gJB(,%J$@vȆ,oAL&%ɟ|k{p`^mjKE[^F 6 |~*vuqh;Gts90UZj˚s KCG26{} |@y)hLVV5p \cp[C:JB^m ku=D|h K1qv2泹EC\f)F -y@ I am %A~V{yp,< m@`*J:-ԪZI__/IP@fŠCoEm:*<@r -hkXVe0Gk P~5ou AXJl"m(  lL介; 4뗡Gٺ>8|sz)Ͻz8?-~80¥${ﵛdUǘ+o>"I43zi5AtK1?|C?5ƶgN eV9E396!/(}ue#KWt6RA"b@}7;nj:7Zu1' jL$8-M!x0e _ĪsW#4p877>uH(h88l,koѪ$HyP v[4-о5,Q$ s$@Kf^Ui-N@4|b_h Ƃ,`-0$y*r,t@2rXMp6Bi6DL7:%b rRv:.Z`ՖHYhLy[m(s -X@EX@8e #&$@yT9 /bX( }E2Gfu,Tc&UTFW'~侀` ,R|>Y&_laoߛ> a ] ]\ &A2L?}qT -s-)^ ڪ( #0MdžY;k;++TMgO4 TmFjm`vbJr"QޥD?{s/}{5d-,yp}RlDTRr uhQ/ +)]h)ϣ{&ZJh{ӚeϝW}~3q'".vꜜM@ֿh8NDϙ<JYx/HR FYgomnݾ 䀁%}믵⭪n˂߻xtiw[ϭQ&kIkÆϦSW˂֎j|OϷbU2uR_lXߥS' Y O3c@DOR 0*dlgO0*IBgg:|&g.,af?D4.ˊvJ%mV}oRihs"tiş&X>BN/8VF4^8@W@f;` ʢ+=U^7!fuE%ښoi}z7.|W>-!R`,rYUJưKx^Z`'/kNC`@D4n;?Zcc~_jҥAD`yi[N298Ͽu3k. \tQ'jOYTvBPk1ubڴs! xbe?jfĢo>@vA.br</o@U=o8/{vE\shj;wU%酦_ Uρ?*Y] E!OڷՆ޶`K\-_;tAvl%[nՠj1K]} @ػv+rfaa-WՈ^oj/G\%'dU2a@ze̞Aon(or@'/M0&O?fU+;l`ia1\Y~:t>)"jf ^rbs#X{<T2Vz"tq5)RIJ/n˳ӆA5nY ~顋Mx!, ^ ] `Iu] l~_]4tx**'e]ץ&v}hz?_z{ W_#ߤWe]YاX/Ve^+q) "OÍgSXUYll3s!OZX -ʀ.1BL*é_q{o?:?8ı+2.C2}+ #6oF_lz#Zm;ʦ{ڙOc`U!$g<R֧*=ὣCl7(8,ֿeBbHhPo/tB;ԍ(ƤIJ|\;`acG|ςCDM$!| -ы]V)< "?\:tx0c\(i,ՌW -~ӟwb?9FoԯEY M"h  }S`BjC|)Yu+1Mc с.9"/o11'MT4;ϯIEV;`t/|<`k.C\ DsͶ&Pi K> @X5 -`ʄogy6Bx\LTQ ῐSC3`1XT5-8 u4t&`MR yڞγ_x~>Gұ{p~ Ux%59MH&缲8 X^%qSWgLJLyjdSڡFS&] G$EXEY@LgHW֋+f ˨u4کq'(  $Q6߻3O$ +BqHnd!\btEK^(9$0+8c?$rܤ}'<~W\pN~ƀ'YKgJ}Xh,xdDYU,LdOۄ-b>S<=߿`{ޝ?ܟ|zQyRVu ~ tո6uArKôـ8<|(| ϔa㍢Vr+.DY]T@/CYm~I8^yq9-8L3Lt$@:z},-9}Y,P6>њL9s_ 3s'{OxnE@J[5{+(^F] Y8.T#_^zmC j=1E)GOX(Le㇔HqA+ 0~! .XbAna@kr,yGj\޶9pЊJ&_`rJWRYWC8G$`S?0X=U?><ֽy1{cH㻷R=_5T /ʟG4lz -WpLmOߒrcNht_M@!rPӨW'l]zNP,3r#33|U1U{T `e)VM|h ^PEe0^Yjgxq;İ]gyQ"YN1:؎6#rODg|(8ItFcAr -?@5 -bۢcUu=xK'A >3󻟕xG}W}AcK *XQ ̲I$97蟣]~D/ ?j+R{ !D٤榷ɅLjhT-!XD},u]aO}ұV\ܻ'4è~MPkX.11GZ -<9^y7n/C D ڤBiM5ͺgC? n\gqFk<Kvο<;-x=RBܵj6`EIYo u0:j嶽bھHDܦb e1EC5+5{ -\`Q) Loˀdb~uCZPpݦ9 [ tY,2J`u5p-<-\-ۚwT4`3QbKzNzoMFѶh@цD@n)-S *[Zku/zN{KgjK`R-f(;8* I|G"-"=7胈UP3FFDWpG}'S3 z_^opE5W*x`gs:$1QS~Z R)BQ2Ϲy `l E_x~-M8^ONXQQLm ↺tuW_x ŧ=ڧݙ`P^3lKX {CNk33ᦦJw!4Z|"Tv+^LBZ9Xe gOO;lxJ@jF#lF^ĐYLTmuE[؟DʦVۨa Qo@\WlܾX-)JX$d2i|z [5@lK̏</+?Pգ>I&.Ѕ6G+zK -H:걿5eΊA -RIe@qU9':!!bB5sQ>אTנ ߷=^I;tA4Ud/"Tϡ$UY6Jõ„Zl=!s+vwN;s\bSz=&TP*2s'ҙːޖZ70/;85q+o;6vqgUt1,00qewumW, -TnKhbU%š;drw|v%:DBg㤎({3z5@4XǡCtTZ6da70z0yWn{MLPd; L -(01)6pfpxu?泶E:4|c_9洌w9of -N q8Aoe8UTinp]h ۱pg`zWcȕa؁a!v!b;m^;8`P}tB2Ypޥ]dO7?hQPCO}➑?HUt6&xǰ|K8g^A^`d1Ѹ /yisV`8<88H'NS &^*,WD6ܷxoP\r0G~<trqptvw%@W!1SlV9Үn>upD^ .f`v|:4Ćzw,edLjDYE.͆ \urj8D'av\IF - 2`mƋ;PكD#vӳ)/pZOͻnawrS#](x8ɖ'XQhpa?(Ex*yan -^gmDq, uMl0iy oy۶`KJQCcyaQfuCvYw[O "c "cF'qhZaS94ZWEkԲD-W>zlԵw!,>^*5$o`ׄOSafb3FOϴ;>~lmzݻc_ы>Be܊ol4iXz'rX (j9D(DM'H{~{h/gώE SA']4A`CD^ԒڢkH40`LD'؜.Lش5,N|Й%4'hH"=a^A,@n9Ebð0`l)<d ܃`sasAEGSĿ?|-y ;5:!6g& IbCuZ;|FA$[-Vdk&WMps: :@~8:+ P̸M4GpBPjD})'zW<) 7sĊX'L"*97!ALOU,MdiO>KߤTIF@<|n4lw#4JA'+n`h~!Di`)tKwNX%͆}l"oy^Dҭۇgg)FQp6>U/X&&񃲋[u+im{X[|'_ҋwt<#UзG#帰ϦckIGj([w(7ߎǛE;Tj}zShc|,H"-TC,*c\%BIqC!gQQ.D1BK -LnRk4av:wawj|>W lJ1ڤ נQCsf\?~;__xvnO=uoֈơČ[̄4h181K~skvONS;ONfLj;Hj,>~C,1>őcg>AȣB ܾҭ6aUNs\1ߢ7&5@jnhӿ\ -d??W\W~8-]XnvM] BO'͋M`\uENFSZYV3R)b+ŗEV.r?bYGdZXoӅ6T!O^u?|/|2o$ɀr mhtKg_]֨@KtۜF}Ӣs[.9GqzYGz Xf,[QauNZq]f_BxJ U%`3D"+:,2> -kω^Ru`/YZ7هK8΃ ڝ_0ܺʋ `KG+̯:!L}V)O$jFx\!gw[}ˮUڕt楥/YMeǓ~~ GxBIm\(,TBmbԍ@W~Z[R9A`9&| {Y)~1|F -hg$J}<X1M]W-v : pZ(+ڪhnW(Z cG4~|0ܟ89<ŷy5ĝԱ'_6oX,3$9F<:_rowTի z8$Os|y]mlmy.?XIœ -O5 m1;6݈GrItL\յZFVPm.e6NH2-q"6vmޔ9Jp;9t8c[E~ ~ѦƼ!T>[y q\Ganp[7_$۶MdC`x(p51;x33`忕K=  2slÇ `^",Sg/s=NmH@O`U{' 9 -}`\T9&G =PINIg9ׯvNwr%-y+͍z$&3F1öZ0U5-k -\> @a'XM l - LH[2@/*oz-8!PurS+Lq`;fmWN85QurTMO 7'gʎG2ޏsznɃ?V@gS8Rix \(m9ydtݹKܷivBwQf>xc>^}1vXazhC~]6->  k05bM-(J{y$y*럝eƫ -VF:+VwF/[\w]< |?!RM?yy}ȯ0=YF=8N44m@Dd6ٿw޽_x%6Z`Z cZ{,($%ECO}GK:vΌ˱?؞]J{i~4|'mp<_xد=jifO> sg{gkkN''%~΂s6 +6jPb_ 2& -b0iOu+=zu 06p_YI{`W;lIW]ێSo 1||: cp~D)vqh s!@?_5G=Տeɻ+. L4vvWٛ&4X>޿5 p1:' -gUi;!vwpV7;_NSYm8~:\)>;'|n]^d{|{W.Lg> rk;9i`K'yН?X(.(ɡ0{o߈}2Td?kLP?7" | DBuWG yfCW?uo,Yև=fzz{aaI8$@#A G# ۄH¶@(ÊpBH3YČꪮ-2ͻ[9dWMwOu##|e1V\IҖ%ޟf<Wn K~*`=;?X*яH[\ka~ qh*z2 LopjVVOЁ@aE[KgI8ȹɫ 6 U,.b9/]k7\V ; -#8rꏛh"1N|*!'i66m3^fHkHY5!,lpZy%u#TYM @/yo]63\jm]Y"^͌P ms0 }9(إeTM콒(gLI*N -TP_UeS>i{}YhTJŻM~~`5b豊C*K_aӴWs2S46۾/pya K+(/dgj$H7Z[ׯ{''FQr:YQBA!!BIisPd6'aR1)4 TR~/BgCIJܮ=iT[ۗlRO@lei5uחC[١,Kp@$rJ4[nA}jbpOpMˆ޸{BG/ė9+ŋ,ޮʝǟ {GP>1JohBxSy泌қ-A:8k):pĶJR* Dtjo@s՗eEsAtˀ|wxh=[.H6U{@Vٮn67Q:#EP_R1:3"4 ʫffn???''V&hf>3#SX?#rQ%ǿ+I6idzdsksН&`f&O@]QodΚIۢ1@- 3C2NF 6f!)LI6]volm7.޽}~٫._Rܒ^ҥԐS%U'BUfwֽ0f qC@pILEO#*N7=zr?d’<_( R}zN]$#*M?: "h - ~AnIU ?> -wp*[a4>9]!V&J|imU*N_xҿ~tu|ԇ4#fPGSJkSMA~3pc( &㩩1 - <+!?,p,BAۖI,q@K:޺1uFh4@5meVp(OI8SsD|:u/Rg _@R]^ Yo ˲Xסtq@pڌm^\Py# &Vס:T=j:6G ęz` p|K)]}@9)ìsK%7n^~e$NJgsW߼r1CvNyp{јvC܏6pg@ Zcy9?fmX&-ێ*j`Qʲ0AUc`w&͝W:s6t,b澈BYWT5 uq2Cf֍MoPGdv1`X/JnfN)g+}dIT4}m@;a2^{lڵk_G?|VџDn2fF~& {_sٟ[3rVy߿D2CXX>1#_zKfx V -ZمghċZY"";G̩H7gU,YUKX[J<ftp& J}| DZ>42SlyHC7+V.ЍFSbYDp>o+xɦ_F(V7WD_Zf/]f}J4?'<>?6K\@8{Nl4[wy3G`hO6*-Q Z30whƝ[w F_ -/_ڜ'sw˗^z̋"G)#ry<8d.26xMpk|iqOݳ q/ ?fKHJ63b_O1_yוWmk2H>%d2k-j~9bG N'іy/lU?F_tt]QS^Z\sg_L<c1ړryF~/YsYPlj#M#9l`}HnrT\#}M#s\$l]^_VK_o/G5(azɣfuܔdYc0fWoO'3vri}eUa C*U%LO9E\e }g$[{\TB7-m T O|KJp^U۸ܼタ+?5:fn^M% yNpNe3yY;9t)8tuQu{opũܜfM&Q(Sy]n- }:u<׏I|^N6qZ(K? CWA˪swq?MW90}&+Gv&}2e -<чw.ʭ{ws{8{w*%]ҫ父 )Qu!Haihٶ2O{䫡8*A?$(Pط5SA$2ח*ãV7vw^/C-޺o?6@Mee4 tWM_, nWUM &2|'ڛ.U[e2 p{u$ԅ~ .>ܜ.?n>i_~k_U;crOrXZ8֨@+#q@_oN9?ll:AU2(ی 8Lk`=wyZsmwYÖ`Nv0px smdODZ^ 5(i7GQG|7(^qz2̠ -^fr;24Nx!pj/Z;]S\+ۺel -~Dz1pc%`6@0ܢz7(_Kg=8Vuyܧr"]?}ͷ`-i,-F (Q|goԃ!,'=x` <0(uB[b7x&Lӎ[/9c fI}+uFK/>|Ix,Crcad>+F1p^$IkbI$*rR1YkpM|r4qOB6%9H2(7R7{EfXtJ ':5ay `ysVRx6؀lt,`\/;٨gXp:,K^ 'd%quótXīoCnFSnY^p+5-[U#2%b@K<<-%9Æc`N*&tjm%h}HH0=YUıRt iN(BCK`iG\4fQ.>vdYRS:4rhqe.D~g0Y  `vءbGӎzSⷘZpp;q=c_.TX$bs=˴{[n.~w^xO>Ի/?CCylfc_r -;UѠ5 -(*HR -?CWM%%ܹƽ$| ۿ6I7u4IUYnoįx;8Cl҃ Qm;^q]WpؗuW- -p&?f^\y.lX^?CA0^U?z1NcbWTMuEI;q QU. C7dǛ^>,0Xo'$}N ٍ̀:rx@_U\6|6 Q6M_g7qG]7I{-9.|Fһsz +jF00]>+K9`ΩRġ7=G7u(h(ysqqT  GKHx&o]SصՋK7^KW_~|󥸱.|ZWП765\g3B0p4YX{؃ tJUN?[;oMU"?l_x\{ ¬\yn8 ( $-MXYq)>M0/utHy 9*=9pϽM]"? e;YχzteQp&'NjV6V81p 4/Dp탭y+&(M*<6X K`+Խ3ܜz؀禡<7!* 0z.|{fm:B?أEX9>>]9g:Rnfw ϟqǻrk,]*繒e`|aڀ@(6`^qf<}/11\Њ2=2g(WbW;˪9:ortbVM"S5˂wBZRitX,LGUrA,?m,'h *dFY~}GcִuױOc={<A+rȘ  E~ZgrkAq4 bCۀ4djtoO/>zC/Nڏ|o‹,⤮, - BC8!U6HYCZzu.qW mUq{¦)XY=kaVa%v x9Vi2ЁPW5WCqer0nX+qXXi="?yݪ/p;wxj?E$W$x=! (j;]ēP$GȜ/ uC? qԮkvfDN Qܛ*lkH`!wHp"I ΧK "n Be{tx3V KA$\(='LLo%1dVX"_+Fiζ()q+Maꂈxț"^ven+V6EuƓN @ܼul_ſr rdvfzAoNTji@uE ^\IQ ĔiVy*ndY)2جɷ㜨OrA=5 J&U.(oWG &`C`$| Kd(8ԽֻI|2vbrb7N cUj(|d-h`8{ -6"yӞj2H -#CT/v`{X;qmWoGp}ۀ3oĴ)*$|X,2ќs@*6u<ݦཇU+_HmD#n= -W%7( % eIpC9]?@*}W ܆FIIjY(C5*lT^]-hˁؙ;Eɫ\iDIUֻ"xkk6SU$yjUprBʷnə9٘Z3rң5[cWKf̑3ǪZ0i2ҟv?`cd|\&a7 R[N';{;W_UQ61WgpC/jd$V*q(FV}n݀OkO|fP}Jm@ -"5l<0&!h_pyvz@l'_GNUbU2qU>iKG`h܍}ԅVJWY}.": vܑj}3Gw^vp7񴳻cRF} -|)'"wBeNq_H@GUh/\傻.%vVnt@2H Fa;S43񧮀?ۘ4ukpK Cz(% ʒL`|& -b^d.EY{4ft6TE,a!~p0c 6|L,U7?<0^ Kf 2&u#*Ya\=3݌4a^k|/|~QY caG?&9I;JbFJ>dLi^c=U:ILOC {&(J1#LMߥUzW!RBqYuU-M+(.GŎGDp#_ `TT l]$jlv= )iUul^q}lk%BvQ(Tdy@ -q[zf1 62,g][&.hܖO@f07 -HC'Wx`ta10XJ uS5RI4G?2)\x)C dO + Z%CqppbDbiMmleSo޺jhl8<6XG(ǟoYMuogZ ۆSr6ifJɪ(# 63"3 Π?p) ~\Hl<eݍ, >5$zDq$&^፤7pĸ/nY_>]??*{<ԅ7EO"!>ד^`O A1ੂ|#I"U_*|oPiqEBdo:m9JACk%WIӜI&(L [qIؓ=ʟ4<\*4Q/@ a%SFyyaAWD|RX}C*}7t^1)y mld#L߼+ DKMkq2 74I7`kr.F%k,sN䎾D[<XO+dSt-~D`]+dP8K~V~@iU=ʢOx_)|_5@|r Vfśv# h䔜o4r_BטmB1B [T*zB:/3 ae!ub^)ϲXRKW9u -ǼsQLvƳ,ü\K;c( )1\ĚR -NvB\fI:n1Ui-NcH8i/Q,ݽqP덯5샠d$c~TL 8o/\Ef/"^q~3'螦˺h`CɒuIu8~@D|$V4ѻtҴjPוF-kAW~ijSRBazߏ.+~FZL`8'ԯ-62n?o_3 K^Tp B@'ܗ$U^0Iŝو㭚 mE143B&2uxm#2Enia`[[?I&>#0qa!őF=ytwZ.o{pY!Or~8vv&~=T5U^R +Ft[76Uu_5l C8- AN޼eloY{ۀb|֯Ok> -])AeE~X40r5iJ{a㏃*FSfe,N ـ4A*,sR&qƙ[ƈj{^ NEFe5i[VvOϵۀzt)n[mkLsʙ{Bgg5Tk#w G~6J/Wq{CQœmW6 j., f3N,NKv x~PmlZXU?C4fߟT'Hw (F;;,]6V&^T迶W p  )xxN67xT\7-+愃ޛ1Y0,Nb}aBټu45 l2$6A8x7e!,%qu -ņU+6[hJc|rB9ڵ xJ;3рM,8v[ q"EPgg XXOP[ə1/[@)y[rGM!Dg<ǖ6oT%Z ?~(k- }{0> RuO{*XٞF99 -`'ry1逵 ?!2~yg }ҕ(AĖk4#G4 gm%S_ !FÀY70˂}({J M~3ͭ)/dz~Ks -0[qn$v6H xI{mʾ*3 f˝X(qW.Ŷo1p棴~%T6og`^ץ"FEselˍ˗'iq'pWRAئ]zlNQKNծ-BãǷ7ۿtalzΤu aIUਭ$&k ^UK, 5T)eLOjI[!":$kPO|G' ?( "߼sדkךvlqp Z$5A4AK QsvDLIQ sN>Ģy7qq>O\{8ZQp`kh&k~%oZ"[̟m d[x4P_q}hIVyz_"F4H%LJ;Mۈ=jf?|wfLܺ3!})BZ b}OLA0W\z~s$I)) -9ښd@x1AXρ_y*}As@\\ g;!*n`uxaz-qmIDjɟn{a zts N,bxspYGDުwU]}qN %aEAz8$#[UjW%}®#% -\+F4)pxbL1AG >o$7r' /sđ - ৙p䴉~ _zp"[>gKU(^!ȃ{n*E^ow&[C1s}Y'r^؀8WƯ*tLNeG]mTѨkN u6U齳#_u_(aJ눭Ҭ<=,#4HCϹW((2Coa MQ]MEXo~P[d{ȩQg6 ,d`5?jYZU82ȍ{l9V#Hd>$fMP0dJr. 9(ݠ%caGMџ#,xXzP}Xɤ5v1'Mߛ.v΀Q) ۮn;`kgO3yr*b)%#+/hl I@֝ X•cbRHr"C%׉8dENcVy@x```i"yx -"NQxiDAj `b9,nIf ! ]''>c?Msvt_IG pɹ$QO?teq&c"8¦htH](RV[/Yԓu{g~ƩDE~OhQ8ņW-'BE -E-pae;M6>cb|S2IӞY;so|3w\{Itҥ{}ߋ՚%91X3蚖tޫo-䜠?C gmU 4?V6Ok1(m _q -5J<8!{78_=~'$hY9q6)]ϫ}㾺.Xު ( -XnZR}2LZ5 r-s5UY4% ow~g,A3&>h$ N<]o ._dXt2BLx;FRQ%`Ols\S f2W16<_SRp:)]'`!*2eO0.^7 u1@5? -}băs4e}@8}"s2{,`6yy|Ԗg-~{Ci -9.l@;,h@f;Dm^K8cҷ)%$YjU M͝ḻ+qFcw+M_}ټJ$l@qW~f!4KI]8+JxR9r~D_*a_ )t.QzZ+cxK㱛Va s-³7;LZ&d1KQN `Sg1#B oV -nةtZ쯷9j,/$/Ƚ:kOzE fu-ӕ͆~ezgl@, $kpLX4GkG- ւ6=R1@8. \Ldf擛po =A@g{XpcTkxTBύ$i򸜦ǂW/U,ɉpng9̶~9/RJ.U` -4m%KyH՝ՙ)6Fp7UK}!@c6m(F[QVt AXgؗS;0s``l%uުOxi6 0"(j3g0+O,?[ Jc4sw>_s5`lI5tsXa -MnuZc -UXO -o;kg^'Xæ-}Jc}uQޙM0kn*׫0XY**bQmBCFBB885\unTkpѬPpF-@Bcroq^n;a7'rfȠuoXd;{a89OqlGQ\E8 nq2vN%֒;) -&LIL).)\X @ -X )`H2 88h5UZR! -!o0@[:5`φU}vpv7ΐ5Mx!`$~ԁ4Oro$ #пa}io?o,o}7MeO`0s"-G -?P(% j8pM'%rf%Ζ+}..߹q -"3\=_|r;TOѝL+d5ϫG'Kt@f@q@-v=o{Jd$ -Q1Gl76un3p6yY,9)@p<\3u4+?|zk*Xz͆v_sGז!uFtc(0 `C "D8kEoKp@ /{w#x||ղEOmAt\,{ #k7e}7ؚeI 3kO}>} 44N@hݢ\8J3U6.GSZb1^b뀳.4x>ɿ_G[+HCtkiU:mS L`hcUUv11]L0(',KXFtZ8䀔ii8~©f qݪ{30#8>e"m '!$4yȫ |J 9/:Yg/pݏ=#-w=16֢QyԪ`r'i5-j8hR1钊H+(g-<<uM_zMs(☱pr^$y_;,*r2mk@nйUu!&pftֲJ%|'=)ej=+:N"^QnUJ}<  -AgYF\Ϫ(˲_ŖKV?(.,~U῿߹QAi Msᄂ~3UiM6\Ό)Y?vL6S%,T'to:: ?v?ǾޕеnނQR@fzbams h^.:HuTiF AV5uj%r[A.\C|T 0 ŞցԕE8t CvW0덬0Mm|GSy`mTax+ -Ɨs 8$ `ab5)@Aa=f[w ؍RGޓpD oF4r #;'N]WFRaoXQpBJi:X4pGa`QzvD]] Pݐ,Z'_Q`5 -'Hf7ۀ!3pR@O1snaɋAȺ'br```ٕ$p&`[`V8xy`;}/^}ח=¿}Fa5!  -8q[2询1"0;}9eSiiIj 0_Ic0蟄A;i"36򕪜ُ`^n@xV 4[['km/N,#Jwz Xkp-tbJq;04ѳag?-Θ?| >=XaHt >Q`t :prcVXTMcfi|-paN CO\?I`%Kf0|ky1f>^zq>.VX.10@/,xI,,v9-+!@ C&8?ϰg]g -" RW8ptD<,ݍ_c3?G3 VݖV ŢڑN@PCb D`uZw!J\[|+)50YI)2Qi~ BLobc p=nt?̶1CD*d,X 6 -`:҃am<BZ K m?u/u>uk@˾J<\5]Fˇ'<>%{[v8U6WOuOo9S? - Ndp)  Br~J]iGO*{Â2&=sT@n/?rLR@E_/*Fz&Kސw9qarC^fEPdȘD#ӯ<%]v"!C_}|iOM6amvCэ;wy 0+ADKpDi(DDe]*Mk `$r'$>ʋF< n -~3^$b@:'^aE -0`uAzvɜE[<٭7(*/MuG;绾Paq4A@Ka}3eG 88`ݷgRt">n@J&GuL꓌{G0p5ԞMD - .5*JB,M e[OD8Qhhn^$\4&Vng/^y)fR*wGg75",*v]juF#$kx Q$! UN1b -aZGοʢ T䡰-%'&\`M`:e`{Rs? *uTT4[UifQXwa8:eSg I`VY/SiDc; ͆4 Ě(>xʕ^}ǻ}_?$`˚̸o 1qHxL8M B9'YuqH5\<l8ܷ%H6-c:-/]\" -*cuW%p*m)pxre5K}cܼ0~PEV$us#j;{ދLR4^ACב,*.=n`3`u& jV;9;WReSY _{Au=ϵOg]L1bAqEIl}Mm3D(M7'Us6]{Yᓗ c[4=fX&ϜP[>,5aʞ$}`<LF A1)di<ܿX1wH$v^KAl0` Qw"47C]f3g`ӷDO\ZK<ȷzBg7Vbߞ#C6\-K~7?kp& _kl+,m}+w&$ɯ8m1CM{Tb,xbX%9}@Υ]QJi64v+"4u-Ob#|llw|&|2[U!i}X8ynw{;tp9F|e/s -"?v8>3xCp}ɠlQs>RܺM$py -9%t5V89$d u>M^֍y98I<{^pVEg;gnZ/;[8!'Vq-r4y #%5wtW*2E9/:cm z៤Ivx|plhGM,(MYvbҒ$gO:yhR좚ա8lU^ᝃ]WO-HdFyJڀc>;3o^<-uHPsޱl_p7,7gIx}:X$2u[^x7G@X0qj菮p鿤bMpՑG͍A%)7lU.B=6H=T/BW$SU)}))z-_=$~П)F(k@X, Mƒ87[!6.DZR]GkB-cǰl9ML!͢$3jtn\aZp\چkvH^WRVda JMFw 3/a.s@el?{8zW6gNki1Wv'rڔHjRLWӾ -0gx *{t60`' lDp>?D?Άk9d;/sW&>0 ?05=!-, ۛ1&֦[+1l"HYfƃ:Y̙ Elo8 $I`CTDw޾7س2` ҁ:GӽcX)2ToWKd?g~P9cZ쒫29U=sW;{D#{n*b Gx={]a%%>a6Q+} \WX13ʪ?Pc}E! `8H[Sv^m"gaR? C9/^Ā߃|zq3xH~n h[zҭ-Vw녳/ǽF9!B18={Y<,%#2+3^իttOp#p5IK6)2$@ao? Ѐe06`5 -4 x#@`&%¤E܆=z{KzUkDFč>˽7#ub@"^VfFĽپ Nd$8e*b+!?AQ z5(.O)mkǰ8 l.'D~DEӻmq1VL-{},'680M6w|]|˿U;Z&7…s"F7/ 6MƎbMә!sdƞWUEqQW7ġ( r,wT.:j82D*D{*8n -. >AE/DDZeN֋l"߮8خsS\buɞtz ۏRRn8@xw Pό=5  Q'j?XRlDSu>H m -Fg@H¥1M66v%&nTӚ)(3HVY/ 8_n. vl}a7nM#ٞ4k֭2I ->htV5Z7d=VGNQ9n?K ,pF+[ݑh z869!EpAK1Ϲ0 `xHN4i)mH~MZq5t)<GL)=uQr&7cENzB`u7,5pO?%d\mKN02/$.ǼW6qoȞhx$; ch#lx3JqLNOZ3 -v"fuzwlp)8$ˍojboQ#a;'yI_hFc`~>q'cz {7AClkjȯT9=bh$ p4`1@Px.WJK}ω}r 6` X‡Ţ1u0`|B/I/0:\ 3] ~I޺4)i<20 .em tȎa4`7*/$eô2Q0n˄^kVTN8""F g?K8%dX+8㴳弃UcfbP{bW6e+ -oɍ@w׃ĂV\7ZZv3c]*ȍrlXtDΡcA57lD_/Aw(%mV]7 Q8# 0Δq{c -m?,[incC|6ʵnTi1>?{Z&Zr^N}6u@|F9.7%aƒA7[ aW:Nxa^:DC-HF24=-p-DnI۞d@ed[Ho,>SI[J4>ӫ%|p;K#X/DD]tf\"&^;WvO8gUoXm!V6B :oh w>j+ .> fe.!mms/:/u}0MUE"%shgKo05t"ʠ͖L ~6\,Vxb:t, E|jnwxӀu!Gy zǕ*$_Lq9b?4n!C{!匔9,pUX^lS_xΥMa5;%at$Z;,M/u3شk61@ P)nRoZSe?GCPtoa)PuP _")P h5;6ґ^_H`{12T%K~'j7dJg3D7ֺ?C5W~˷,/TdJRe4 cF*`!2yQf| 18.3JaF]l(r@J_SbO_2U)v!e a-A2ߎRV᮰A! Oe/IǾ h<;HݔFܢǦ֧3신| TZ'Ct{e3/nf&R5xvC6I'.z -` 8%H0Yvx1'Xsf -tv4v ^Lqv+`DS -Hb++T8:_G}y؎qmoVmpv%ؘ/9~]FVp`DҺ?QlYrJI/ EIS}vؾO5 e߲D n5A`%gQIӚ%`@B)2_<19=c}%p Q4gn -?56+y&{U..[[ DF7!gR֮ E>-"Gh"׹`d] 睍`PægrzCIXY}wb?|1;97I:ڮ~`ٰ~e͋( J0pnˎJ6$Y7x~ܺ< .Ћ"Z\iKxOpn'AP sy kg(3'r8&[mVd:-Yxx8β#aP?wSY2zeƝGXqУM -A:pp/+۞݀ƸjR]uA-W\`Zu[Rk릵'|"L;u-`@@j0yߢIg5dmھ- 90fSt{ց&XS ||ņ$-mrhXD@v%[Wբ -plϘrZqMpF0ΝO;?| Y;!mw)yrmsQhymm}[/3m 8T&wgⰭ,%ɗcQ -\|9LT,4- O`8ڬ$/7%AgQB%ggh5ZcumGn?-rۉ*#?gb--c2}츁u7]oBf;ЌUCݥ)* ~7#\uU1Wri;~bϋ7 "'fF,FEcm,8nSG]Y6? {:|QJ&/ˬ-1]^~_Wrͨ%`t0f{~$TI$"%tMˤdWKAu{@?ۏ/?zMydϞє5` i6X).45"'$jpKi <Y~]0cLQ,H?)@~m@r&c<}f[8J>@ނw8x -]Os}F.nw M͢@jNZ-qg0mMV IgBkzJ(akr<_ - Ͽ7~pq?E9ZXR:"_3TzG!ibp0? %6sk|7RNQ[zO- e~0qϺK%UߪJRu)SGAO186'? TDn;aMbWf-h[菟 >]Rv#Yu8ՊrW_svޙSd?'P-x_4  19 A@[>?ADGG_S{4a|N~CN~R\\?'~6yUWG) g<}.e1^ O}wV78@^魔gp7{߬gKQ\3j X|V!`'l88ՇS(ԵX'DvNbղHp4 Ma%Y*=1 RhfEH5!ow4ٝ/]@XZdl% e5 XUnh -L ILeԯgUDp-R1Qdmh`w<1 -Qz-XlpqRmj|)9qW0E#?id#1 z{T6ۗjԌ9^ߺFMldIC.#}S]āl\͛Q-B4N9ہ#gw^m\NWitZC"B -` £V1ٹxS0QYm|eY`U1q"~E'`\;8 -Xp$ J!2++ؒ8ڮ{+gP@9X(N`j[ -0xvggXb;kxS%vl#,Li -v}9.tM\L*pp'kw$Vfc߲D֮eUmTC>0n˩b&+%efRYeENt~A#.?f"!Y(5jL>"9x򽛽t~ajW -]` "?|ólO㱾/n#8.FgW痏}+$*9$Qڛ1"APsq;q̇EL2:oEXWd -wh$B۩Vt `gu-3aWPjk}~S5ab -tDWKѿVQ`aX7圬NѲ?!O{-?ĆTd$#8d'ߗWsiC.MRf,|;7ԛ¦ *Ŧ7ώ'+ڷZ *1&k5-,Ï-,$_'Q/V}끥# -"d:M8OU:U~kDv]SSпޔ΃_; 8{ -yuC(lQ3DwL67t - sɰm۴G8vh6!bG 챕X4L_vN=_I{E[6H$Nة)O\?}>NCJ#drҋ"~>:Ɣ.58N -R5??Ts菏;KraY.|_^Zw{>'8HFv0ERZdqy!ò`gΒh཈4[lgp{+:g 1/ -dk!fL`gv:'})+Fݺ6MZfs=D ʲBr3Xof4pMz*쥶Ȃ 8TF".y' O?k,8)0צ 3['B1J)9k]+iZ vPV%V1K_`vkpeLNYz`Ϟ=JN4EDrѹ0wjE :o-w}μ,2K -6eAoiT - Q2P2j.- QP?@X -e_ -2K20msXբ(d{7H7~;Go^u= }sb -4ʌ)g]hY?7/{&7E>:[o PcH?=MIϫd~Ds g/ V=!Ćy5 `eeOkI MT9F>ȥ,^p8}b;i+eTf>hrD!tTYak߯(}8 p {X3,2Em<5{իL(1/fl)0c25_ p~اg9K?ߛxw yl{7͕7'1ADZoQGc+ذ6vHu\A~ٙ^ۻO-x>o{?x8O7 A3RUeʊ?\jyJm{6F-4; 6@Oue'87h.+pFqa͎yw1Rl8B4ԢFƕO_͵B.7ض^\0Ĭ*,=i*/rnD`M:15?{~'tnO]S7gOQd2t:' VWEtVD[.϶t3 -t)MQ\]//gc{pv9>~IpNsY?\Ǹaǧwo=~~sܚDuD[Xx..uy'̓d؁i.Cbr^:9JJM 3ȁhD?W_}=nz;6+߲Wj^Vi|\͖}Ʉ`r:t;S_O~꛶CYD#p;MƮB/1aIA{x q[/X+s=L)meV -ׇ]xSs:1*PD; 'mRCv@"I²Dr*7bdWnS2Q<m?͝U$yT(Qa18, <4Ͻ -[;|/o8zG\ u*=:HDWI'_{[wm?|鳿&gzy@֗9y`xK[np -1MFIvyTōHi$3Y^*ےrɫ{뛃|wڛs3Vtp%;Q{RԶ븤[4>o~DALd,ѫ볹;'_F-ӻG7*^jn{4 J O2ߩc:*6+?ͻq+7@b1 -y͜c,Q{6`yD!L`N?MyM&婍"79;#jd#frԿ"󢢷RwŨ#8P@orN@ce(Ay?((f5Pm30)VsNK*јrtHoB}o@(ݽiwza' ߎ8z[.S3zje 6Sѽ0}<γQhpYtpmqv*iw>|xzS1ܾzzzx]Y'G\Z񧍍5otבf ٣|{ͬ8q,=:0]-3)g` -I5]ZŰlLc͸4#ݷqx!%-Ñ(> lci(Ip$tZra\brt2<9A. $j*؀^Qm2&ÁT/Ry>uhŅ^R|f\ZCQ;-#Ң:*rFq;x:aR< -&T=L7>8 ~M՝_`-n *FK?,:s0#9.= \6[M>j%lrGH?")) )DaIDTA"׫d0uuq^F-"T*kX5%?,wp,Z)MAeSz\$s"\p8Uza{nw2}/ }|I[uU$acL`7%{f q*L8RչF,հwn'N[]Sv 7oٵ]Cߐ&ww.//Jj#/jؖu,(@NIq8ՅVvJSXcfC#?< -׮7ۖn9C X~4Vv{:*YvЧ~Vx8`5X2v9԰Gpyp 'l6>yn^߹wngKfB7|w hi~'DC!-G`(j'aM頢?WMc w;z -ʫxf7H`xVKUcb:Z<{DK*[kѻO[CݔP!"Ƹ c -ӷAt<)5]%WC2jH >ul˨ܤGc~/%ŲiZ91 [`)Sacb8m ]KRl4ǔbTO$=c /aFUKbxՊ9u4ZZTam$x+?+5{Ci w^y:߮~=$v/{&bi%b۶#rٙ Q|I9DQ#pcpUPQ,"{?( 5z__}|N??]w'ͭ>|ūwztM~Lbߦ''Lo߁/ aS>wGBt`v zB6_ UEp ,VnH+RHi)SE`.:[W /ThN%3:#x~U;y,>W3Sc癬+)t 6aH"*Tm ,wt_BHPj$@!^Oz 4n#W",g[1oቚ=!r'>ju_"W0Df`Mypt\>mq`2G~>q|ܘpbeȁfijSVqj؋A_B bOɕ5?>>`? sR_LO 1_^|//*Ⴏ0}/gRݩz)9j ,5u]BP&23׳ey% $5JwRJ_}}J| 0ӇTxoxĝPf&ɂ*1q-7IZA\(Ù]WCZW.u{ GSI˰WT8ҲѾ~/$ -SOȍU 1ͮ2 ׸sq/7H0bQBiߛ/o}'`sog& +~jSL?td/ ۲kQ76_pk̹z4|cO^4%ʦ/6푥 [Ɠx8EujGɅ&aS],bteP/苟w^*ğy -]lOlZ'( -t#?+m/clR5[.bt0ꊛmrvb -{TpV@ܐ\&ipdXn5a F8Hum[{clBiwi"u,]4U++N o?vß|.-Y^oolS|e &|EWV~hSC7$H%al 4(脒(; .[tuQ_TLjqo{?p: ƝD@43y{Jzk 5]ѐj3eіFhƛEaA-߲]Nc2L7gp*'m&12=, -DZ›ul+"Crk@"KLC'V rsc//t?ahLP,.q5t -^+ }hm)3e$ `c]*3}?𰘁AF)QI)R̛ۜ_ B.mq<<o66 -h*tq͠'ε 1+]%ݵ9BJ{S8Z3"$.ۖ+45EjKH4:csYJ'ND \DjD5Q9 ||r>a+n,a(˘b*jG_MʫOu D%X7%@z6?{-mTu\=JV1M?+/ßoήr{z8]pﭬG5? -mY~U*s6; T -*!V&:BؒT+N.՝REQv)% -2f4e9|Mp(+*UV7=+D!0'fY -=rrtPLQ[ϭm~( 0a};!MS=H@7%&yyX@fSsyϘlO_zƘUC%d*F'#!.#10chj`c0ML^4*M1ۃ=P@=d ʓƒ, ELtw2l[qkôOo_^jjm͊LPWaN_gu0^?,oD\k`eu=r)JUd̚BpGhП3AA3`pyrccdgkޒXQ4e2RB&Uu҆xWs|e.AEJnK2XAsqtÃWK0/ [6">:9:cF0'q-fH nBy-,0fy.U(2lZ)W<zقoGFw0D XM)*؀ڠu ->GYa5pZRKƜxBѡEln ON9~q -9uMFdD?tCENI٥SGG*0uiV3fn:Y'P=,3z_^4zRS Ė-r7+6Jd݆J6OQGM3V?Ie*,Q EsO i C?e rZ1^ܶ ݔeq&x.gщɓyWVzƾ3Ý$"N?AP &JMTrP.Ueւ/JH<.{ ר/s,N;Br!A߁fߐA^`owz0|@V|\Uo;SZ'[_#ca'u _d0qp||/Gplpʗ/|N#"A۷& ȓ8HR%|.=N?Sup z椐A0 72@~5[*q`1[yPj$kq(m{z=Dj6ڤ6 M{zͣl-ӿ²qO/$BƒrKٛԡ - cQzqj~t8AN.&dvcӀ@ДK/:YfKz -8TZe{J{@J L'0|a' 9VJR=K}sߦT;& vP5$8*:ݰV`ϝSGLC8g3B8\ZO2ϰk㧻F@?8 S~ Zr#qzm^&h3 -TmU55e F048>LfG2M-BF   '%~oEØzcL/.0jWxな[bYAL;`SMaAN.,4? -9r -yw/ H͜;R?[O?>;Tgk|]~Kͮd8qwZ\:?*$!zc¶eIl] zL˘48L( .a ~րsO8{23m)8nD6N27Վq7hDౖ`2e4F~ M!?f6~ -`|bE=#M/+(`bCZ%4eq˷ڱⱵ*êT '3uڣIΡv<8\<d2t;Ve`u_\kQBY#|nᶞ 8T: -_lA92\,,?yOlHh-#yn|kf gɰ <4S.̴Am ˢ?b')vxy>ؕ#Π}vw^Xh"36p#.`^o$9XUS9*_n׊qv`.ߊkčvT5X^*۶"O6)Jۘ0q,-0G_&/^TTa OTX`MFI4=)g>a%V>[=0n{{dmZxF)C/Zxzq2{v{wp&K@櫭yBխ9? /3nRj6Q9f6QeJ~Fyݩ5H -;J$A" -pԑ8Ż 9Մ4\VE8މ7k)eF%~kڙz68iR˵sAD^߿o,?v7IUYqv; -)@yD?Ҿ9cjp[|A6`KaIA2S8lܥ-t3^D[d,Wh h"c4N֯F2 A`mČFu5m9&5w2cB<}yֶ`/^^,qvs @`{',έy:4NO$E(x|۲4D.j&1@7!Z%Y&w!~ZI XZPy|yC^RF/'t}[LGѤəs>G_>%0s'H(KjbڀYUPp`#'kl͆T Vl 8fwZɑ <ށ5R9;ٮMT6ohUxӠ @ۏ-v ;ntl{~8 ,F㺚L) n -ix>?۟X/~J*WIR+z{#Aʄ>NB,Rc.(b&o - rʏ M qm<a9vvzSck_͠?5[6Tr߮Z̼Kwp;:?d Vl:ήh/@уB`#Vgss@R-[䎷Sco5sSK)OĔ tf;z>PGEv;4z@M(t ќk=)+gݿ='6&l~f+ ^Z8<6 -v$ )u} jvcD$<|'$ ?AG.{몘Ah<ŦX<3qՆ+E!M\{wqd?fpeʪ߭Y6`:uG[ZI5PA 35` ̦-[:u] 0~Fĭl3JgOEKM P03^:ABP %|kmMXH7LuƯ)o~Mڄnn-F=vX/T- @|gqofB@^ݵ^0C ȋwOI[[[ 0ՃvHF' -G]6`rRa],c/e0X"ng#sվQ q(ϑ;b\ɠ6BOj-p$ W =+őx;P<#knntq?\5?`H -l/Gy`K0%y^^EQ''y<,- U1Lj, -r5'b#bͺp}*c+ X5b=n%ZVN*Kx@q G.%w8vP8FhvY6ͳěN%(pN8=_sղ;KalĀb^|y=0琍]יGx艠0 r|D$K#Eq@^VG;rWTc,o ^i0K:Z,R B(!K/Y,H$I)!XqsA^?Z)@z)FՅJl -[JB8Dh)u P|z ?'I'w[5$z  -P}JYxĢ|^ -84Fawn r-zWߍK u4'zH5q{eCn>7~-<-[fa|kTU,E% $,E>DV({*wuJy4 @G}p$/HTRh.7da gVh=ԶuwRm~ou'-Y[wlSF`tpk43up3Z$I2_ϐaL`Ty'1Q7@0 Fό֠?|79 ÀP p_(TcS4.B-*^E)Byh4x=̈h,s5uZ -<fC哠7*<+ Y*o&OQ8mJgzu ?ix h) -K޺5-Dk -A(~ "v$ƵYW&P^tWsc0}s$-*+GqOv¹6 I"Ɯ `yyC8r_̭'Ni9k 0,l^ S]r9\S=Q-lI`ӣ%6xeQ\^E Sքpqw_m+؀_92v^Z :l6bLT:fPR#P="caj >{0`t-@^] ׹֮d?cJTgǏ}<|}  -y^)x4:zL^t&x1Ɣ:~p^ZUC ĺYIh밁뤿;gz q}m)]u*=kkf(5lXLf~FTl|Yria6#A1) sMF0|]w_ '8t.‹Kv, .)_Յ@Q^+0<4& -9S.QL#lw 08j)u{"li::ӳDR$eoL~S?v @[Y2Xo#o_>,ruat|=L%킧I CHQ~DNnM -"%c]6n Ym맇Y)c4'4EJ`OgU­5J+ϗ@=]-8w6 ;L 84=mx#>8׊w`YdٓGeu-Ҵo40ϼ|"PVa#ZTIGo;>9t[GO^. FQOU4HlG*2E`"I=Xc}%=TaBz>xc YKBdOb rɺL<G9՜bP nƸ: 3=thBc֝RyƏV(gr$,{47~1}?KCz҃y6 &uOԔWNͥ] rd"3&%4H4I5W**B 7 1+< @6АSCԉabԏ]] c!9c^o">k e)o\5/Uzrj |{+ŸDF־맳O W]P,u1v-yWi5wF"cQN17-LQ;kJGg8X~%$?Cj)@`/!LRrJ,CWy@XAWƠ8T.bT<~F3e|( FARN [G:ժ .l谲yŅmf'^d) CBec3jFHߎS˿'>r onX\?g"&VM5ed/-:7XQturaTSS]&J豓$ste#?fٛb )͵%4Nx{T^tkFvл }VuܗV 6ړj@dv(4 n,5vV#3Ʈ&jIqܩHsHFbޕaf9Ҷ_?zoPb݋_djb?\Da; o;p];yE`kG E'p:D9JU (R`/7٦ok?O/+|k:,2v͙M|X| -U03@^%jHImTs ę;^O>wB:Cꆖ -Y;8TU_S@hUfLZ٥3K&m>(0P#6'k^QzRQqY_|H`@'+/T<[R$*rIFPÌo$|QaBS pF I1e F(n}FD2C*1*SViU2k_?bSPt9ed'q54 &[7eCAD+084r6N`J%7E9qF뤑 <4bhSsW*b9^rtß:ͳ8Oxy G9I *l<<26Ya6Ven LK?bMdݦ`By`h_d۾WH*ɓ tdh}J6Hh.7SWe3sq\0IlU)I t1OF\Qi@}C 9o;=)~Gw\ՐI.\zM?rH)\ $W<N@,tOd![`~,i 0N8vFO]Ka~iT r]: TCE-=Ln 4=?I ~IBpr6tÚipb/GiFo ,8-f9 ^ыuƋ89w't{=t]y4*|$ϗst!'p#xƎ6=oWv#X3t'G'^(y0Mq{hR2-*(NWAŠ7* -{@]'Ӥ\,:;yH]"hV `F?'I'Pߒ\ohğ(u -dAsJ(6,㤥 U'=t] =! |N ]w0)5א_֠|9q#o?7N/Ξ?F|AK~v>C/eپjWaNLC[pA&gD#ٱ/TqZ f8tf#f n2d8X%IB7R}Zc{w NJ]bO{|:Z6ai Q=z }?F+ȍexڡ*Ejq:ϠDy^X/) ԝM haNFH/=a6At}pj90[WM4?HbI4y@=՜HhL*7h2 1}sO~8'"t_nl7q@Otoj;tJP}/_yM 0֝JG/"5Mb,{[%:#|ۿݷzJꭿwޣ_zrIm_t|<:wH/YRR-! -*7(IatB¬hU@ 4nB+}L#(r(؀bQC1i}Q3%c| ]gb7N!fsD{B -0tpñ]mo " Gume*DЧx;8ލ" I ЏN =#ڍ;wJ?:WpsR$hUacf0hC [2ͮhiG \]cƲ0?}[R@6K@w H+/osnj$'|ԕI04lA&s9z(JӄvdEYN; )p NtaDTŀ R0zVym閺{#gfx^rl<`OLl{rj1' %ڬdK?IcUy.tE&x$J%:?T`BKa!dI0]lP0Al9ӏSǒ*A"|Eaё W2Ex`([eJOeB95uϟ>X.~}~~??=,EpGcad(h6 3sUhrrt1Bt͆"ҚaԺ9RI_~nܨ)[gv< + -7W$0 Є$vIpO8s,xoakC޴pU|p]><.sqoGŽObt?d)s7==f.tX>EAzL߽E9KjYx7UD~=ۖGP -< -54[g<#y޽/xNfR$ R5)hPSwӣKnW>&go$&{}byYz EFG]7 v8yL康B@"\KoH4Z0j٣;93JAp8!XZx~2[@5߉25)Օ -;*L^ppTABRB.!hB+aZ^Ohz!ޏiR>O4AEG2&&7'~'+@۟:x4?'?@^7?G=GJ -|_c?,+%ۛ+J,Ɋ( ,2Ei }C+_ܿ8ITtcc7T7v>cwO |[ BJ˭ `J Q6)a`0K6➞6{[ W^J<[euE3)HylRB&+⯀z)b G UsdѼ=ơ Z ylږԈVC#:ܓ $m w;щ8mB'ႁO \9!Fg`uWQڴ,3zykez5]y-I@jq5 ԅޗ_w<|i/I~*TWۍ@ݸr'护P'A:Ť:Q#LC8S^p6蓓P"b9!gC~ -vY -+\ ,n"l;':ʯa*Ab-t(5tp跣`@dA4э}DIC07+*Z(=_] -ɇώOqo(t %HQ,Nkֵ޿wsu$uoj -\4KNM8yvX|Mn[Fu&@2c3%<{r  .겣?Y0wrD;'{껾U6ro|뷾Չy`m0', -qGbq^+sA`qRY$ -)Tbw4nt";Ƒ&9 "4slz$x5(踊m[)w -9?HmfZgE["tސML' 2?ApTjFkIwBWI`rO+ĉ 4$&drEBl/TDҺƐn,]:ݪo)wgFK>vYU#[D$z(*n̬{9Mj5|Sʖ'BOVBY۾N2UrpPƼuNoaf`sYC?2Zqڕ@% `x ݵ0gI4[^%9 # -h:|#ЎS#]}k:b'Îrb0#̉|{f qVèY%)Gk凱Yu(tFg1XD'Smݝ`=,V=쯤ٙo9ubdJs:&5"2)m1(uD4VJuy^ gڦ$ dZS!Q Gb0L T r bV{.=ŘdJ,V~+M&8݋xÓ_%B!\ !oA/UEF$6 7@)s?3+\<#MW]ċQgt/>FhU%I.8fֹf# R<%#l[>a{4p-a3%qbV{ fg[ǁ6(D:c4l_qM]{4=J{G4cYduf+S&zsynT|:6 -L,h|AgqX\>yPD\/X]€^? Tx>\բn_]:To <$ w~Il[mtHG Eju GXBr?0n%0-W}BeE@Ճ5pE0a( (p/:F ÊJM'PR/6cX[Qg'bp5-~7fJ^zRecܧڛ ,Ȑr 0>q HPoZc! |B[GE30InA#w"XilZ7Q6i"3Pead fWn#'ABI,,grTݠ+Xk8’_NvW2.oP.SQ.i˂&CX#on).tCwd, `{OsS`4Š:jxͱ`:q`GɎf+Xz6'@9!H{k/IZ,ZDm6n^mɼ~*褩$d2U ;j6bO2BX,,cZj(Nzju8^yLEdJcl ҍp0"L0_N0dDt]^/R!UˈB_%Q^,C -$~߹8j!2_r0]gach5l+GyNAzSmVtӊ)-z^趪P,]zzt~SUqmfߩqQcx% pODWljdBU -[&K?VSe}ZǾM1 G:9`NUדCl:vj |W:0=f3B~+|IRd}SVcr='\Ul'}XD= z]<_P# ,Nlqm84M- pQd20OVRG.*ɷ]-prv jJr1S+t -r-0=拋'?erNH0Qr6i.RLÒ% :K4NVUtn}1#,sm3eF\b2R'?P1'UuQ\<~r}ɞ:HsfJʾhQ$͎OO]uaN1v+R-{cmLy\M22e?hĿbW"M-[,.DtH =m\X =Qyj"kn:bb6J 1./R0v)aEY)IG5MM-6 ,uYe1ۂ6-vWZ#ɗ|3sٻC8ΏlBf5* -c/4_>mHR ҽ:E^WA>i0@G /B@[dzi2|kGS[jmpXg(q :H{.;+8;ש1 12_fIsJiI2k'pOW֯/}\ Ľ(6u,wS:(#oM"<6-ٶݴ*HU7|7~[Hs376(kd:V:FY2=_|.Ru8b#ҥGI,Lis&Ų;3ZPD@+ٙQ'_^k>!i!=れ\  -%g[_\ %kQ¯څF7*E`}Tv5Y :iB fOpKWU*turDn(I vk \WY1t<'$,*|(˿'Ogr?nη'!@I-dz6_ |zݖ5D#Jwa힊KVv{ p|Θsr}KtY~/}~#Lj.c+ ̵ ]43M˲ci#*d:\Hu_mWA;f7:h |ٿ"-Z&׌[tFcxܖ➛il^]XR㐸kӯ\,~n`I,?v"D0ociT3ڥr.@#mtץT `;hȢ|f:+LG&tC/=5y1mv[fG!Tf P x_GB7 )ʁI56D3K-cf(;gP9*`t&L?W5^ml^@֪ЋNhSRRkH6S@~>h% (Q+WǸX}?ݱUٗ"_WfwUE?ςUp|:z8\`b H3ތ-ڪQO-k:QC!ߐ)NTryLQR!]_&|@%ei 27-АKEt7ZdtC>)e>S4la -ۧlx .?M"!} -z pSupLiPM2H% w mv";_ ROyҋOP,% ̡~nM< \%GRo|ٙՄaHX8\uxjFe%^'dNx:DLQcF^z%b[`ts)/-]wNaӪa`ӢyUA(Ll7rbj=`XpPh3=qὋy CL)x0(k) Í9&GZ)і>ѧcK&77/;-$ )u= !pzdMS]|ȠO -f,0QMYB AF܈mF9\♘0B&^n'I;d89~'W[5&W:.q{Rln-ϼEb]#/ڶh@>,K 15F/wO9)Ou-O]{ċδFDpH2)&s S:e[4=OB 2f4O(UpG%Qv<R H ֬ Y7@ شh/+B Vs+ 7D7Y˽ފ{YR`ʌS_WHGۺGqQQ"dn%FnC?㰮Ad_ (cq6@:%aEdŊ,8d4k`S`:ujRA!2G4BEwsɀ"+viG:wD \(`(3?H<:]ΛEm -d j% L{:"Ɂ@R|~?]ΰ~SђXdqz(RZg3$2+2ĉ+[Ҡf]Pbu?~̂ D֟}{,/1.UGSeNBa;UWmx j!Mp4l&K( mӂJ;W&m7lk1^2 T]_R>tqbMrPIOnHN$2#yWt$ma_K>\[ҩ@OWfWtf=s(*vÌm ԎR pҔLpUtO Cy ?m%t>x]篋 jsZe\ +d7z+OneӢL$Zqꔥd7 oJ$TƕF/hjO/ТioT+5y7C{Gnx(g rw>ݤ;RWs1mI|6X{HoQIN):5!b.)e+ ">ixW\!&>CRp;n22'(pi)MCfEI MО#x -dR EjF[$[jzLOrjvZo3 }u.򡮽P)ib.jP!m2_M^v?,~rvbiXH0%!Oƭw.;OP5Za4Dig]=0[_[s /h϶p,T;ω#.7Iu<@m)>JS 4;1bJK5jw0u9rbUUݪTg+LF+ów߁G䡮2Mlw]˛a@r6)wZl4bcC$Ku+2kg;B\= *cXV2O&1LB&\ ?Q҉4\zJ1 -d3AWVˎO 5g4$jl ?8+0:l7%JYMy:S&(2:" B05DgkjMw#( -P&\aM]˶NwP9uGkΌɀ\X[`S6xW7aJ2Ąʂ=/V! LjDu)>Lh$ֶ$6twñWB?+}38[ aEzgƖ!19=ΜDv|-PϜ 4aƐw[/vmU?jVtlM/g_(fQzҭRtxLc0RP2X6A+N?)!hM(qKC³^bsOk<3?׺nEL~B,J7oESS5=.q<;Qw\i@S;If;_6˛'\DxI? +2(r!-Mﶯ?Ci80:C' ^Jr|,/ր*\JM} S -ֶ랻ǜ -Іb\ְ:6.G)MLD "(|=rٖ膑ݧc_g#֟(eၟCZO<$;JÐٚcrRchauYaPXfA e\2y㳔m!Rx;Kdv>+Q:QT@4MyodJD6:&ZAGfU/$B彟$M[d %@;?o~S#kD−mggcO!R*K2hRZYH9m֜EX%WO5ܴjKal*æ_#?C/,&P-5JJC9,"O?6g;\WtD~h+Fvx0EU6ߒzzI "у4Z8>U:K2adg0Z*+oX 80s:VҲúK7I \U+23lRNbtۦzv!\r0k):*!PCMj zpVFš@WS@aqX^yMK2̓`7v u]}䚒 Y腚 ZNCFy5:(-O-ψ5AHtNѣEXχ*_^'nPc]-~>G8S(T0 P~R$_KET@k=NKOլ=3 CJM|`Fݖb'izD(Nn7 BNAz:c+H(6O\?(DE--6Et}\0Cߔiy<UmܠŮ O`pa͜j*~\ ]xT~ ǶF-0;b҅ -A* -dxkE qK!Hh8m \"y+_|nP7Ջ knՐ)IfA莫އ Qd&CTIGCtȉmiݦ S Aƭńȓb8%q:9>FU" 3Iel92m<HcGC\ߍ7ǧ4=PcT8CҗNK>{ m/Zڢ+A_MaG+Z'iN3z` RQUj&-Y^dhÀN0xX{` DpBFe`rdz{s9^Û=(ҥf -ШBH)%:3b\ -ϓSk2̀3DˀNj+ЉZ[hθ+EvkKEr-A2Drqp@C!F(bc$zG]Lv,+9<)HW6N<.exsIKvc8Z6Z%Ri8uLH3L kU!ew4udzeh;6?gp"ޓ 1l8Zt='GdM%>Z#ki3C.ewdaP&#[-ўljd-jL&oUouՑVisN ;5I%eA>Ar "9oH1djk)TLnVqn;[p3;Y,z42 ະtfI.#DtNIq}>swmu:8kV wޒU{paM -۲C!;3X3teU,OAjѡ3h kuUctpо|o39yޑy,5h< ɑes2R-[_ Ta}a_@̧+rKtF,yWi0j!$L -0x5NTE^#{[m0B7`g D/8Q\CKDJS% -Vl(>" .e(nh1|A77{R^}ӓ%GK``[CBZ]wO@f}Z8e>>R8uVUP`7CN]Yj)u 7nP8Q&̽aGrB" P l.u+=} (b9{SZi,}"<X?*<*.=p<I|"s"ʈ)`>XwN˜ѽ I7쭲ˉ_;=!c -@QJ8񆁲4pBN J0Y] Sq uZ5Pq& ,ɋ-Y_CWp{Zdܷ۷1nOEWe5MڎMG^?;?dð僗o.=r)ܶ 1sflsZL -rYw-:3{ހHt!5\Zү}嫿;__{u]]/piEp`Q}T]&.ʐrӉ}8KRaڰtghFL: d{y[&iSvn1uW - rowUrXy6n3 ؉sNUbѬ/gIa -oxIp/\?z_ -o$\=Nbj\2w􎪻BOhBM_ 94n3%"ju"C敖eaUݮ)Pݻ>(lPN`K Ɋ=Wxw<(Am'ke"tE9laa%uBp:]Qtj$' C;/>3[Wpm:_!Ӱ uȹ>0a -A@,U&9X# $:ǴzbArV6*C8uߗ Ld·&G<[ 0ΧfmRD,R\dYN"JE BQ)9\ʡ\P}N+Q12@kɒ jmK_zhrQjh9BxĴmJkp;{P:S'ƧZ Wش|^cuEwwyY:߹[&U}`_g\(Ч._WP1xxˏ|V5zxD? Q ̂9(t#cmao^\x~|~V3"Ӵc@"4v/LM# P$Fw;ֈKc qP Fr#_x6PBXΣrU-ucO*1M N:s/@Ƶצ){ˀUV-4h3J{:F0$O+2,(֟}]'=k[n]&C|(*&Gwz%kɋqp&'\4RLv/=$9Wyvu;z||rU#Ah4K4Ebn҃܂> -r!+NZcVht,W#(-„ÍvF2D=pt6CbH-:WJN;zTXֿU6Jcg{m" ^{MjIVH -$@u<5 -^ ,oh$ )'iaO0J BS/a -cɬݔ8lG~O@\N$Gl^PJ]x$0y4{wxBrKW^x}SlG/)kU(: /|mwO#-YߺY`a&X{|B#y68C>1ܝTl/ާGf?wIHO?5|ɇ߯Ij4֟ VrkH(w6,ɱ?ei{Dj~%4;|@PRyQuhM*]s4]6$p/C 8ediըq -& -z"$$@q|t8 -496T%x z(G~ H0sZJ}t:u܍.!Df(L~d#C|!F,(5 -mY7$ 8}_`6ЅژT@Ԁ ռ:3D0ML7-=Ω̽qHG)R%RDQ[$a  ;$F 1'DvEI%OXIJ)-YHK)K\f!3wk9>{q{jvW:wG>&`%jiox<CUKzB5 @H f&ze5:Êcc -~a}9S|y㎹wu[_Rfp^DWO{HJҽ>;#O׫c:>>Kgp0Oִ`Zt``f\dB;d)z!:זtI5~^βVD{PR6wro . ZNf"`0 `<4bI y: c;1@y<zr1<s<{*|gQĘ?vA\NĚ6ʩ +ۿm9}ooWkt -LqY*M~S~6tA.YUv^ܣ3Bvʴ#YD#:vІ"oEyt #d,Ы򮷳):#9KM"eT"_2&? NJ?-W2'ߘP(*sۑx+2KC1 A:d'=> -Բ"Zυyytg" Gџޗ..HJ;a+oQk %6u]) sƨp@-o("A|- $!Mr -lĽ19؇΄Gٶ%lQZ3o̓xf,ze2&Auy }辪XƉbalHs" -h~nSto1ע -H -=mwZ2Xk ~ Sjt -n& <:?c*6k"- k,Ǒnyg WݿjPkΰ.z#(D{a6ʋ{ ^E(#\ۺ],nm(`LO=SO/G|v,:92bLz[Ϋ&w5|~ukƱXDΦ]="aEk 44KrQNG*?a#A|زsOzi$g`M" d({B4 _-+Ts-kȈ컉=ޮT~\4.Yw}B5A&cS [w iiA^BKyv. 2ضЊIBvB`b1XJZY4AQ0 +:p,O|1(3MfRۤhOŐtU=GM1F Ʊސ܁k?oeh=@/jt}%10pG%ނ)%j.SB.HP@qq sk&*.s$%;MgL"[:, Jֺ9j;4VN?yL?;?cMb JN!TJXuUxt`fWՙ?<;.3u`1Y*CM?{ m\-}\rQ\Ҟ 3ՠ4796-L!^U߿ Tz/!L)ЀGdq2p!=J9Xבw8*ޣ력C?F,uyoF#BCrY|}ihUo,<)J7|ĭq=LM -%2;RTWu&a-o|zm·AwiHؔ < -J#) o[f?ÎT# lJQVgoЯ -W9벎~JVWw|m ܨI\fIɯ@]DIt"v-I s>B :46fjco6< #ҷh*~Ru}|sd j}!ϕ036J E;g<M#;Gnr]OE擉t@L -d}@$h 5_MKGӮdcM}S]/uN3e2ޠQĝ׿pNUa[d($MO6pcP5@|uO#WLZ&6l?I3ڙo^pOG'_ {B&ʹoɃ\?;l+89#п( o0=~<.~/mRW͖C%\>X6ӳh}_ڇF/I"3eFX@P1 ߺ}sӝ݇`?4e;rde5-m?, #HP܁#7&9hl*`HJpjI m|`ѿ]GHɆ 4S'y/(hoi{pv'p9C6]2HlY5\X8bgf?ت0%იG=rRe|u%y_߯, IѶu9J<*:P|H X\ފǡE[qfd,(D*hεBZ.WE6%*%Y$:#'8Az5_A([V+ǚ~WjhK݊r2{rrg$5=ӹ1?ia-l3܇"F~G8VhFzQR 04;?H} Ϩut?0 iwJ6A?6n>yt"`pl1It/>2+O#@/s+]c錮cـ K< e;PԷd7ϯ#(XX6aið{\vʵrYݹsl[o=Ԏb[婇9wxu,)ۺrh.Gf1 SZ7փ{)9D\  ȍFfJT"4 =CJ`5ie;nz3hxAAz/q]\YD[yS u].<~%ؙiLC xB&R3Y -s1C0ʶJ"6i59ϖ'{0nj"h kaꡅ -ݼ.r.p8t1}h>0@@.?3{pFw8\ѫ=H%@a簠wi354c]#y&-Wo!R ։O4oֲ|:M,z oHmj<"y>值B_!9<=:+s#Ư|hh ݗ6VIcugť3\R :SQ%5{)8Lz$?^^خztqF`&O J葧p|-ƭ7Uꁎz]{MX-,& @ت"ߟf!5znЍ:& BC]]M^$=rfk_ cQEXiY~KIȏʼnJh]ySv .tP_jYK:☮KZsP%mG!Pwz\qO0!'txr7^.[*0M`P,rB]%J'0YխɺꟻvgwҥP"ՠЈ㤪*BKc@AAit8cY<&@%Zk0ֺbFe84̳ErEu%BE<>>vŠEa'E;\(5&l=lB,*I/dO0YJ,/TC$Z܈ [c=/m$'=-.u+]Ci^IsDV5ƶ Ctk$Ře[Ox"I|p}/71%Lڮ͑Nh&aԽ?PPӷ9A|B( 2oebFTbІMS@@ @(u#&^D Sfm3>Qs6 -&WVZţ x)پ2Iemü}AEfO^".i 5=INaZѶ/J_.+Sɤ6XG~Rd -WgqG[;v=?8@$h5eޜM j-aun-EN|W -йtwxqBJ+'9e\{ߦcWV[ -2ƒGyOM{>M?aۨH mO>ùNszQN!tA愓sb2X)瓓=[Ucmܙ7]fx5xFp{&?9Z-s4o):J9 ^e C-{"^da25ۖ tRx2HK #b<\* -D HNFY0Y>N7p)ɟM`Рz%encȉܼġ^dxe5]9Y7c-òSbO%lՁb8bj,碨Ÿ3u$4HәH<DqcVx:sR޺!Pmiz˪sI>u(:s8O2OL4ˀ豐fv_cW9 C#*e$P~1PQ.` xC[5n2/eG]ƻLۿ)O~~ϋOnb;iFp/U/"1d N!7#$eR}?N_t!.d؉t";qJFdʺ?^< R/Q+.ʍNefL>,Ulyul䚄:,!8!uy2%^Y?PvZ/t$7 @PB-xJe7.X*am8 -:p|D@J@k ʓ\II1[tƈ.]0b+;BX&EE/OՇm6}לkCHx3~D=C[To36mzWZܑd^F^;nUIwF३v{k~rjmR0vOJӋn,Vy޻;P' (8NP^ $:yZׄݹ@/~t?qg>_cY-O%LҘ<{j! T#yI?C/6p0sNV@lxdG\t4҈ljI$K&9+C:7 wmoXD`tB$I|!G@1$~EG|ha1ìzUӔށ}BdRd wFq:=8p*}]L2ta*EUцTi5}2U]%!HFV"IM7 贑t>Ӡ^糶<δj'2n1@ȌC{ab #:@Ch"Hsgu=}tB$qt^onH;ـԬۊtFNKx,i#k >'19~kZE5BD&j:hnRN ]&i/DX2I*bFV ҅5B2^ NP3 -."t}ȗ/bߪE_>#?9>+AZ~jjC` %A 4Gq<=;-"ZfmwiJrRѸHӻqN 0eb!ibN -+eF5 ZT1cHE=R02ꡓiSx$43 A2bB T } hCo$4<[՟Yt5L:= 50s(#ܟvƐ_TO9Dɍc$:lOX 'swyd0=/r'O$,@x@E`^/;vL0~zdny8O>x۬Cr9-L;e .,uF29U맰SP0!aݴK$88 \(rvȏaiL#ڦϞve7 ԽH(nGZ&a[$a#}hbviwrq F(im$ˏ/!P\/O7EN<^J^iجj'PXF,bͻxۊ7: -E%]Vd${A;ۍG!]c&-\'4"F]LBa1j ۪]￾'l|v8\ e5c4tM9C8=LV@$^6Kg6.oԋoEl4=N!. XG?iCGXCue7dPqXAڐm}&ƈ\X~ө\eT(# -*o[ FtNX\ 3 DyPyZThdxw4 PgYD^J }mo I^U57>a>PkUPj6ܞ8(eq'cv'*؎n*X"ơK o?ñb KG?ׂ tfjU6a$Χw djp/7}۾`ç,];XYI;MCjE%{wtӐJ6`6SMJ\â'~ea -O7&ӣK8/]pBAH Q*%|/U0cBǙ_ocLr}S|aUH#^IN?& uJ@3斺s;!^VDmxB'|21済gbAAOFKc}WC۫\ƹ﷼+ 9Ѐ;M&C8R7 &8\r1zh?@ns¶i_P۝dRVP i -mIsoCH?@9vy-DZ ssq y'|& k8;ɝ9OУEa6e9HmߞTsxbr,f%- 7ClE]I".ⱑ/Œ܈ERWat$ؿ|$ _[_}3L!9 #ߧ# vWIHl}BCzסڤPYDU=)ZvtN81yB; -ᵃ2;P {{E$"8ZKAٴY1;Zm0!& -|?Nb ЍW4n|t+wR~Yp&`* V7HI*y|&tkEm09G|4^",t r= $݄lJdz@*Oq,=}7M5hƝ Ƣ *vÚޙ{m1Ђ.D!09OVc I/Ą-ӾkD~bȇkɓt/7[o eGAH"!rs#bS~HBuơ+1aGqOqtlzzyn!bUu<zNT]6Apc==SL 1_|}"ʄn]6הODPt:Bz&rFbfl=ZG$n$=uJyJ UM_xO^-w 6z!B I̽ -0y{w5Xhu#! р݁|O"G9a?ٟ$W^>4-83%|".vU+ݐn@<8Glv*4:47QxsPOj "c/? 'KTZrrIq6K -풃JFq[/ayܦS~k0qKRh;JFBP@ө1̏D-942]ܭV -=^UFVRy5CP9`O5+mLvɬt-ZQS`"pBqrjx]|9j@> @HNh.?o-(4+o\Bqؾx;F&A6Ͳ4pvUPd)%F~ܻ!C wR\Pu0-|-VfA'ǛӰop(% ?f, 5@%Te%Q7xF7/ -:(| 'DjI*2^qW-5bgp|'؅_&.|1_(Gˢ;hۇ ^/?<&cI!p@k -R}ӯ+eѫ mjtauti/n[>%_w*dі<5@ӭ+JSlLr|^ ׍Whh%6sh:$!eW+˝.%b#?^J{/“n1 -jl~zf>ݰ瓃 mP8($Q -KO TF_E[P78?86%#6("V1R@|0Jd>6׉D*ndVS_\{49㈙Ժ@;*6pX.(bVNIO?4ƉHFֶi nK{>AX -CS3\*(a& 1cvTpC"6@֒IxFk޽_aةOj'z ᱖=#hGn5\0Xv `D6Pf/2zɭuЪ6HLODDyt!UC/2:o{:jfuN`jؑ`eDlz[,0P{{=m8 f Cd nj7kh=h^}ۡ" DJl -H $z }UATTV6u!]TAƘS^CyIQҎ֜aOfk> EY0iҍ&PyAu!?$H9HTw0فRd~ϡ -aT+4FM.^] -OaUY , 5q8%2}($t|#_)[PC*j~0,((h!,syB LB.9 $zm„@|cQI06EQ^EoxwNK?-"O=S Mx!jN+kAJGMbz;80J[iHMq"m mf9DGpU#&VkoJa$`CZp/嗏f;n/O޽=*3D}uQ*z;_|7vKKDmUT"TL.Lx|>"8@gijjVˡ'+ha:~AZ(z{r{ZlwUw{^=k%"pgW w`W>Ƴ3?&eg5Uq KlF'y0򻦱Cݺu_*h0'qXrIQXjic@s8Si*P&(Bb$"=Z/6t6.sEܤYI_/Ў{ `>]VmQYnShv/?G'ŹjbY'#O=`\\4f$j/[7$?unǂSc}.oߞΉwN`n_$sÅ`%LtpϞ,J#=-nB?}'KܽAMg'$>Thfe%ng``=~-s|˿}]o}v5aݪ7awj\U<,<5HEgCETΤvnnQw0g?)g) wo 1f ЪU@!O- -{2NQ ,rMAɽ$JsNk""OủkG?k> C7n%Zk(XFoM]XWj6ko/3qbm[)$(>%ø1QG܄pG \InJԖrك) -I.*ctgV Gؙo4)OOX&alpJ,3NSO/tQnlbh,Qڀ~hi @4CmR$$cD?)`3^YqY-ym`0{j -_oZz@ 6/2fϩ˪w τl#|w{ݯğA6 9jmwcR e{tXW^o|[_vLmm0J ZVEnmIK<J8AZ7lM-SCD4Rӓqxml3˽o!+E{GY!i l a1r,*Q V*VL{CfN&/Md;\64%&0`\ -n:yxZ?!)C.%d\D>~ZML'ZNsrz/)G Ís(d:-&*b_-+N\e)*}#p{zWfvIa$^T,;q"9 =H$ (kr640`{ʞª ^#H Ds"p%d" 7OŒ.vXhl[m{9EdNQc@g>WSA2 Aeiaa8 ͐*mjУp6,zn2"2-%]4_u#)r |H? $Z2!D3$J-s#(=hih&u\Sz[*Jeyx]"P; Y?'$42%z͝7jbЀ{F5G>8 рi/kWܚF Wr., -8!2y/k]Y"NcZJwo\vC{= ~rI(yȏ/?e hWI@F4h..m -C<85ͼʜd}%a}8͊}?ݸwrK/yvL]|$g[$Cȋ'[@@se ;IAS4o\~ {|x[nyyy^HwW^ ./yweٖ -Croq\oԍg~O}]?~;}/''ҫLB|T*$MAzd|a+0ã'{2_њ.g:AI4^ޔEȴྤAq5ʘ}5t0ʰ+8uI-mՓ9M˳kVdeg_\ٕO$XÁ1KЂZϏ[". I!ULT ; tNQ&`2vY7<[ ^[A\w -6cU4d֛m0iX];q_'մ3 lʴdih3-`FfP n(9#U}PbTe{j\i>ECycem ow>_%A7n޹۔k. y, :$6~O ɽ/p;= A\M\c 8=/".M#^K7\ڃ,J_KFBe$i&sܮjd 8>F0x﯊\sn+:Y\*vƴ{G)Moh8[{7#GG} #]O.jazvl01ed6k<09 a[hEE!݊ݯf & cM -|@ `9A xi\rszgϾh1Wb2A=;ԇT-CU;T ,23%O8NSORе沢y3JZl\t 9ld.Ҝп_Pk1"YfyDPz -=3&XbxAI~1cV*%Җdi!Qhe ]`~٨Gc@zh ^('qU 9q蚳Ɠ `hʵd|y{=؍ܽ>U#j0/gɪYrNlIOj-or,3E2?&G'0 -p[JzDbΈ -l4 ml%x u+#=X`E;n6UR.1?ԩ`o>anx?m߉OOO>ɏ㿾Abz^o܆ym'Cؙ;|3D\=ZHrFϓt [Jnn -M=#w9ϻ3e' ayt<cvwnYAMKHI|c=$"+HQ(G?A7ꀖެm ,HCRq̀O 2  -T^K - "~Lf|I>?g⍤:u;C=GJ­4 %Y"PV@w5dҴtqEٴ0!F~hZqT0ݸh6Eێ,la:i4%|L6N(/Wtg>ӟ_xop9M!7w۟>5nܿW?ry߿"K+Ӛ6]7}.5c_;we*jɑ^Q9o8G^8; psj :( -p8> -hzSZ"%KgF]p]EpyKB?:b۬s~-;xJ()$_O6 Gn3NR9? 2 Mqe,}G;Q|h8)hם=i:8(0sGm %1{tI$>7vν;& Պw~$ڀK= G۹<&J,K[.}3us+W&N -8)֪Rpj^Wsڑ~lvSW2lDHbMfMK#n޸ m(˔9~p>W\y9_x6Qo]{uQ_z_p0hٯ$̵Ǵ0ZHs 4R"_lR/<_r@ -9޶p }%H-}l ?r9&sGۊ[cZ)j9Fȅ<䅟E N7t<.j'QZMUL˺4Wlu{s)X̥7N3~$-=ͤ)CgSnN;mAX)lrU63@:MI]kOH5#4~l 2BZ7^{w._=^ ~y~!4,/=kan]I{ -{vbZdnlq%Vѓ`_+:W`M`g]6l˼9SxtVe/FӶ Xm,MKCL4X'K@pF~~佽z1jphL^va!hW7_tz[%v' ?ڀ'1czL՞ՙd:κwnݿ@_ -q9 - _ґt;)xL;|pO"@K[z; ;,xZϏ#WП cq,mmHH*&K`ϖ6CR8Q>׮߼uSl[}' -W^xyu@Nt\{;{wht `_hۿ{ߠþ&W_$d'`ip|_T-A1/+Rl%'wPoxdhۮ&Yv3U}(=;kM\{zRݢIN֠w|()2 )Z*3Czᘢ=Kq~( 7Q}쬩MJ~FY4 l'?+P^}᪲Y ~K`d p -[Z2\/~RFCa<;V?] -!6/\I:KN0JiaI>[u։JcYte4۽^V`bZ3cU+"w%"d6ɔI>RtEpHN)*f -KK±Q`b߶uX!2*zWA^ mQbIv~}{m:gntTF-;x 4c2%V֚6da'I.M8xzvJ:uSғ[4-ܖ$QupG\,NϖlOOc9e9yFrWLgKl{ns# *b!O>] }Lg|G)sK3(@ߨ$-1v&`隽13|ƞNZhgNUob&tLmqޥX?^ ~1Pȋ~u`iW d 3hKRxGЏ[aQR4ge]D;7m'wNtw К ۓwb!0z&bgR3ԎE_W~qۃ>qp>: Zo|V.K -&B'wX!S˶(765Im}-l=ypx$j/K]d8h}c"nժeE@SsNիxozsk2k]ݮXۺjs`tfٞ+:[ 8U+-3() -z7N*4N;0\‹pz2B[NNNWٹ -CMv&@"B.rd/UUe.:.(XD>E4Q/&ye+bN3¸#Џ*u(68ɕ@DY53/ZO¯Ζ#nEAyq'O˙h\*ur wm?_] u|G \ tܚ@?ۆRuP0ߢ?9?Ͽ\ E_eif<%,>pݕtЂ2$_sH`L'CMOY:^4KCulo#Cbz 1fvT,SjStSE`}lpsD2>Hy78*7h4MնQW܂!I3F5Ж^t\AʪHf(Ib؜&I&][чhPӔ.w9yщdnHy􉂘;cS\wdD -4/kt,aZ: sD"K\e.ߏc9+Tf[%A(IhBAH[ ?>>_FRkw|}]l֣Ndy=@tIү`iDt?e w XfoU!D",A6Xw~7p2hG"ؕrz>Z5}(=rҝ|)ڳ -g'k{MTiŲ{I"צB~Y 5!f.&i,Zߕ?9g0Ze!sRKGׁ#r O,qgUeӽK\{{޳4m$1x\24|Mi4] ^:}^y76 $l_ȡQ&}υbqfڮbG/ڭ1"tѐ@њ.( -Ot)СZ.4o/t%d=8 -Аlb)GAUT=g$("d=h̒Cm]͝ h@qLH[2P0``ƀ0#'So2Лgd@Ĉՙ1/[FIq|DөjtiҹY.gÓcyq0MXDǀ Q뤱d:F a \}#Og}ۺ>f<&f3 CfLixo{@ѭƗ9tY#eh犔Vt]^Y&NX `dH$uOGr3?H0?*mg%Z^UE/ULZk!SB:t1u S<5.KB_(_ L`U94en{*cHɳI]XX^:jA֍NE5Jajg=nt(tŚjg:^MG{۟KΆI?o1\Vy.&aXU84xV, K6xYm\]x8ZGu~ V*pzmH1Vfu尻)nu$+CCW)MҋQ1 U#~&QK] ~UeȇcL3ZeSOB 3%8I볂 O{p#(AYpJHt:К.B.0qVtNBTJePA:rv'5c:;4hTv(t1 Dvi`D"kԆz AR0@$%|x4DVh B:yfhKf,%筮sMi6G5Blr 6C6&y -llsij[4eYkzn Ԍ B̻E4&OF/QKg|U T_`i00~&]+ hW(UbUk~gx0$|IZQ#ӵM%"ʡcO7hVr_Vbx&` (㩇ѳ80M`Ө_8u{پ=SrZFjE/Bvhl[@aZ IP$us)AV!,8Ϻ,oW^rbh`:Y;* 1zpU*g{ :g@&JBkAu yx2==yE%/0LuT IZÂr7 ,'hg L*LݨضF+ 'SB͛B"F(Qez*躃Ϳej馦j)kVo2e|^ M7vbC7utp/V$-)~;#߯N,MԼa _# ]8/N?ID6̇_5ı,zsmY,Xe]uQ/Ҫȏ=ĵ4߸ -[+ -+Tzfb>opZDI| !lplU. flTӳOQU*:^&p2 ͌jQDSK0Q)j7 ĶuFZ%+ܟJN߅e?EVCO?x -,tF4 쁢a j&Q{ijyfCZN؊ -86v!d^Vˎ<_4uho)Y`kµS __;W !HFnS [Իylb9XKw.% Mt&Sy %,MVZ4v4-ܲs{HI _`˕I"LSRF_m*5@ĨYP~ 3Hus&.}-؞hI0uTwQ'kd TRwwcF`ݫ -~@ukת+\ fM9R)GݒLm|PC4YAk35{M`~W~ur+U~}@x`ʧyNVp(vXܚ٨V=7;zwyntf2`׹왯 ɠ ; -c~]6@k HA]xnN/˒8rm%< -Wq 6q$1,o ^.o߀Yff^%"IW˅"wap&n`h"s>8 YYZ~/ 4; 6YÃ)l($C>5L`,Zs5N_)x1^Q.TzvӲD`oAE82ůl`a:ܥP{^YT2*<(#yǭ7L%8J?*LX8Bp ki1Svdeo[apa -60TxiX(ecu p4L<+M'`R }5(A!$۩~, -R'!֨:Io4Yb?~6X 2($X*IP'yS{W,b:6(5lWQ(h*I.YNYv n,PqVqryܰpe9iYiY)ZQfVm*]k,M ǀDIXF} X+=44\: --ai /8I>* -4¢a©"UσEg{qb",]-.v r3K-a;-/KI`^4V+{' W Ghw=˲ CN $\jVH*x҂X>mZ*e;tAIaS+y"mKq$-HǏ[? lœU%M@ɒ]W#u[_$]b -x7KoCm4w|+2޵xU__r2'KsEl.,Ҧ<4Mؖ2w}Mmo-6v=)pDe!Ѳ-CE$]l|.rGWXD@b'YŴڑ2˺*9jjx>uh.|rNM!CK97ny=Drp \Y:͌^%qO4= GF/oVVA?Y\O϶4Y 8`'0$a &MC5Ki԰; mu菥MoR,ݣQwvU}Sm)}ߡAy۪"ta |Q]ۭf&,b8_a#+6mdAUxA>X-/c|! AWZR# -S,yF`eޖ~n%!~-AZÖП;plJT\iT6 Bb2kS$!]{>apԅ -5՛gñ:o (vzۑ;U6 lQ6:Ao)Ȇ\?qV6eM1O)(͘xfG j%y- 3_gH ԶRmY$IJl ,JΦIW5\v(\Ҏn׺C9%?6Qk^ !یhnKc[,n_Z٧YQx*q압8@JgĞb>P`x2ٱ;eR5Ɩ`}|FVM.7i @YuVlt'ˋIC`Ym?kmg%[Qu~e:9JGW"U^B5zOj[čJK.W~T1$Co+d_ΨI!YqװC#uib -#EJ6t0}5aV*꺀_>M<^=83JL5Pbf_{M1L Y7S)8Vl2`|DD 쇑$"d(Pӱ<\ߌm`+BoeJw*\eoSk-*)UJ20b##Q 9)G83C[fV#R@%֔'Wgoهm7֚8[5Th6Mp2Ij' LKAkO_UDz+(W BFvcMZɟ_ /X)p+)!WaUcL'.VTnE__d2OW5j~8CL> rA?R,O -oxq'Lu?gk0%0fֿNsȂ"X=},ǭ)yre -Ix@h ןߓ$,}Ue`g Fe^YeirgD"*XTGϲ?8_>p9NDG2bJ,Z_4$R1b nfMϛm&G%.wϿ=oq+~YV:I}8&tq9yQsg떬UH\vZMŽڠ?YhUG!qҴSV[~4,cwMSU*iַ!S˜KClX#y {GO٤bbVjGinM$=ҁl&Zgj]NV2-kYoɶSV&eK1$O\ GJrIdpۏݏ @ʾij2DLO/'?xIƽ{3&mmD9gĊw_xZnjUbjԼU%l*=f?cwvmB0@C ʚ  ^ٖCNId,- tacҢ-i1s( -8^!F:k0'IbvyGRoF-gOu{"f5'6@UW"K$V:z CÈ'2k -ҽMP4jr㸧b P. x ^}^{J -Pf__x#Qf\&UѪ9tރ+F j9OVI)4V*X :</K3sTY6 `b;Aײ~ ׁ0~D:rq $XLEu5( (=cw -[R|7Gw"TSJ%iؾ?v+}5.&Ȕ>{VQG[Yp}vwdi\x4L]-Jsx(h!2Q1:r8}n}3a1(8.H~o?wQYUqd.PE3J1^rth;`Tr,'9j!1;)ϊ@` xdI%biq5{heiBۀ'\'ΐؑD)Zq`Ez@T WZ_4ؔB:nT+O`{jc =my3;iqfdK˱аLb;~L_`1}?"z5c|d=( DŇ0_7fVU -xB7IX.&DI1BSm1 ;6 ۲mUT7-ncbᐖYz".q\F?k%ج ]UV4p‘K:O@m{@_F\fxd_ b# -*N}b9fcEPӟkګ'_S!@1H~wѼ:7ݾBiVO*}IjM ˽C AN?x˔کVaJ6 J*)\+\lB͢- .&o BlJFo5 -;D6J͜Ta{'Ql=0XOG\U-SpAm VְznDp," 1+A0 P/5@(  \_%uǴk6_?~9~*g0;- ^Ҕ}!k}%]KC-gX_4~ '~G6MCMhҧ1UUg8;3\.>eC͍8>5wwN CUUeETz?=9vu+??`I0]䞲?o-(Ǟ L.:)鎺Z@a@qh~2'UVu#la ϹÕFUIu=xP;k{o6t,,̶]Sٮ}IeM#ɹu/Zc8)}.V#yqV:UZpĵ:Grhu׊+(Sij -s -*5)膫a^WԀ[+,+6ۦY`g *1dNJE:; 5S(ToÍ`W$P6E3$3am%on Vmj6Vu*>q`Or~lR)h-@tV&9)^h*_^XH*l(0X7smtպ5v/vֆғ0\o6lEꦹ3Q6L5|$*,7.IWʤ;䶓T}N9$v#zbb@3`B_Ӹɹ⊬'?oN>zWK -k5]Of՗>~㈅?y8 ӬxA -b5p"*ɇxMC!UӪ8.Xq Ggu&8)X>78a&)ln݇,s*byTl〾ƒ$GeM8IAa,$w}v:w8ggӋ ֒p})/}̕s;PϮvJ.RChsJgjB -A$l8yv]p>pG0_+ؤnJRHΈ -0!"MU/JGXs ^&esqoY jǓt\G%w<,79e]0hQRp"rё,70Q؛rٳ׺WDF,7/^돳֍ʗ6CT4]>4[H;z*'q*Œ $vDRe>_04Jl@ATwZQ̢8n~r? Qy,oH{%_q[ Sg^Z 6]Tr9 @3&#qrꗃB>)Qiy?"Q8q\0 ^y ^AB0M$mݨܛ6XbskMЏ?RcWBO672ڼqnT-~A9lP1ՠa -g_^!0Jęw[5J2P*9KCq@}ERryʖuwM gl^rQ6[_[t@r9Awi6CokrZ l@h {ؒJhj]ud.Q `=++4ux4$bA}5?&?J6` r5aCu躼piӔ H<:}r!֫?+xYeRԕ@ةZFzof -OǞ;;˹": #i:PlWh@,i/].M+,hX -gvf%RqQsZ9"^} [%{PPs6O|=]8.yW *PP]Ѩ+ -IiJ|дhJ["i9zBz``Gͦu*%[kk@Lxߚ/фH!`gEzdMa}4.N;' ( <*rtv9k Br<~\TeQB54(+ P'pT/ٜ4hC<iF5n0;V ĝhZm6|???~ֻwh{XnP}/q&Ih^r̆pĝj ot'6 DQӂDG迼8U2ba 89h^"pyд/%x/l'**N8n*!h'DZ ˄%8923 Pr}1K ) C"!46 H -C]и"po -l~09\Va^U(;-構wKpYtz`obJtpgVߊmɎL:,.psr:հ->D5TfK3|9Lv} %u0l iQm$` =Wz{ bBn`>՛ ?,q4iY-s0^+4X໮t_/3w jR.)8t=_OO$t|o?Xt؊B${Bc~bU@ŪkE0Ga]t@!٦ڈSoYAvq[_΍̅ lYw^c}>lyAxA@ -Udls, -dDf#q2L usVA -.I@ %<-q1^nI??tnrb4^{*|0O|ݠll!(*Pӹ6YYZزt G,`y -L([{>6afM[mI̎\&^L6[6yn`8oFͰM_/  -z пg`?hr>\>k _gɖP6jx5C2gx|h0> lFfMϦ_ڗUo24} V݅ͯ|o/s`_RQT[K~ b|~ +G\9%9!cg-VTvئJ0+ȿH5y"\V@btlz.۝L[CAڦ*bGyj[PO*B.؀"kGg#Y\].FZ|;l -߯~ͽE)?ہVCh2=6@:r.!mX%di XEsQMjAҼZǃY$u*TJ8"1o(2 9p`=QoCMprxFXn.M&_M -*zP|KEE rƖz%Ip_Js5`2Ě'iQMz$_H|D_gz3Ho -o<s_\ppH@7bbC-nC؀VKGճ8\t=1;_OG\c**"LE҉> f>W En;}>j+ݻ{w4~=J0Uteu{~|(9!=C%WTJv%auM EqjmfJ26*\һ-[|Zk`N2JfVMb/?߫#reZ. &QǝgOgfW!YmVЏ!m႘"d Ō޻cHQ4#yDo `X *5e،7B& 6gx߁` @8~A -WxoyE+vǑnɶ7͆1 L ȋ6Ci$p,wczB`T{NO YwPl>rZ=9Ia*uUP[JE^e4C-5oQg3q7]x)ŠPZv|4ZwNxͲ$ |YN7mOd!V&7iU`|3I<+ ct#}_'G8gt~.טw\gƓMQbAf `= Ĉ6}V%ṵnYU(x^`&6gOcd046\Pqr]z  VЛo5J4Q-Pj/n\/?G}5]CG>F'=x6W^yYK~j$) z3hEr ?-[S=7ז&ym9v5ڰyt|h0d.(~KB3*%UpTswyM"^k97)e1Xc0j{xSʷq WZn eۦ:GfJ0a t:Wp~vnjf E7ڨ#h+-Fmo0}yN"ut1>.(t PoN]&j@/0 -'eѭh$䎫pMRJr?ۉʜmCNV@#e#N>r2p h|)5u'EaDU خıD(zqp ټϚ:"w"?f ]ݘϞ=yr++n{?(V/qN-)'fW_yh؛|i Y.W5IEY?p'ڢ.K&͛ŋ* (?uX*@j?|+=ϑ-IK -M+{-j,ꫤsr[;ڼ]Sjց@@juQcVΩ]i9;= _o]Zk0r.e5\P})"IKG?ޟN1vZ)c -6@om`׼2-X67NE񤩵Y e{vXDv20NRdr * -W>|mNJlVM?lN&h<nVs{=WAQ* -XgPz㰱[:xxET<}AYR|6a"]쫞hw iuz||+s/q]iM|׫+f2^^W1T}oNmu{9z w^tdǧB} GP`om2ˋMU1l'& -C -CC"f&1ζ YbWUk-μ-V]K)[vyzFΝW4`.>M'|lW4?ŝ}A<|x0ADgy9=|޿'~^p$qL^r M$-f(q"KL"m׋Ŵv|T6@6ͮoԒwkoGރ=؏?Al쫠@2[ iš!y(]2,o※wub5`D` t ,Q޽gg'{ؤ]ֈ$˵evUDLM&=gNqlbXQBؗܓ;Mt2_';97g~ݏ#dgxϓKߓkt!5 B?(j[+ţuduw'G9_^\t'u1W'v{l`|Jw.H6$mO1tHxf ܶ?hh=OPhA((jDJuI?p;*/0jGl7ae;77+~DhAoX6t]6p4GʳuhpնPtNLM{Twvq1)m7xwýg xlIENDB`PNG - - IHDR{CsRGB:IDATx]m[s#{3 Z FQO%:#U PQH {"^kNwJ}' m ǡ$w^;㽒B 'xsc$jUtsmBOǧc:~~o*Ï`çMT.{赺W~wˎ>7\8~|u}>~{qʎR!elлᳫl@VX$ -U( -i6h&?"3xKT{gþLCoQcԛGhsn{Y~FP{j|؏y]osnGU^u3ׇY9 Daߋ]]CO{< -o]c]dEVͻ$5Q6T+پEӕKjqQz^6[WoMʭ8:7m6yte?5p|r[K]* a?<ɟ9~6ihx藳q6֝ zo!^}_+;uw; ߼_ox|r ӧ 3A@@J)MwcR&G7@?2)8Mw|촕F0kUGx>WT&ݦ-v@\ ~02XsDxm#.e;1bԝde}ލxL9'2xQ==Rfha6 t3pieQHs۬1E&gi[(\{{ytUv¸lߣ֦P>_텯Ϟ2/(QUcF+ ܽu4wTx$דVu-ٌG\w[qluբ͚mϪ0ˮ}c+h\Q~__="ڋ~:x<8-McI`ʤvYzf|5ˆU{}]14?D$K kaFw|W$ݼ:Hz2&aܔ9n#/nDvٓXVcOj>|70@{ oa1^"nCJ(Oxc8Ϳ[FV ,s&PaލϺvgyiL{ti?8zyV}N>ޤp/2ﲜ+7|]#\}pJ6ִza]c/QJxqzre)2.`P.ULJ\#39`?]˿~_?gu?6|&|`V_6B[Ti セ,ӌKF eKae{I- kߪwRbvuB|f4{FG9|5|<19k=ܲtF\KMh3dX%<Qci`}a<}Iioe^%mŽYm^>ʫGHr( a4 -kjZT8_o^F6F>u!pB ^9ƴTic2z oCqW\vO߱"a:G5QWyqT+wGV7qpZZAì{Ϩ. hT:* vWTu1ZUzo5OpN^xd֝(nrfZ͹kAjR^ uF1{9#!bEqreDjPf}qnf@,r_8Lje֯/B*;y.2o)m$=[$*<> SS]2 -܉P@3讽0o"a&cfAРZS2l&R0_kqԽhMZcDYUEHO{v w36 -Ne "WZ5pwi8^+}V`ݏ徲U}/`[נm;ڮ²x~~~?ۿ.Vt<(;||Q' efm ;])J;Zu 0ۀ\cm㻬_zpd{[<c e?śݓ|^mTO\0*:-q쌉f3jI0+nZViFfx<O^7zH. -lTF9Zto~|ԕ7X[_t0T1yDl=H/nM -1e82ԣ Vx;ꒃu[o ̐tRHé+b?(ub< Pq=妫DC`fy;rFl_0hU%;ud\䆱SJ;trN1[njj9UݎvU'\}nTRqPT&v=Y.tԲG?cpmbo3q +371swp9PI06{#lXcd%d|VGG<˾?_zǢhl~E"ӈڟb ;d>_k8^J"OWQ4$ 5pM~ll:ʬnZlŸ}uin[u|uz^nVZM{4cvnd`~^rWqLX ?&N:ZrlRK2C -}.Ü66Չ)S8a>gg‡:ƺܑhe8tp)[[hz7//f=7;Nt)E ``2`8,eH(_١ADkش{q4R;i<5Df{,:wx9z>Cn,36՛׫J[fZ o4B[OjlM&k@RYCުʘ6IbT0-ڌ.nZȇv"i-Cx+O].{G0ܺ񤽙 TpcrF{7qn>(a:]  f5&9Wd0~7 [Me0ޚoc:H>zO_3piY.vU@%l &VhC75$NK+P"8mмo0Eo6Mw53 =:{m[aNV8q4vYxXl/qWCxX/ӑePv̺Knç헚i6{X"l;jw͓ػ}ǯ_O/_y/kHK:/M{%?nh(F>anu6prQMɽ/A}`7|:#k T`]Ŷzmܯ&dDz]{iꖩJ}NO__t6,I@n;Pw0RQuNj|x3M0hV쀣/ύ6s 4`x; ֒joGEr[v|c{yC΃MwS1͂h8l 3zT/gotp4sF?0B㻸ٗŃnҭ~CVyvӽ&yRo&x Ss߳Ag]i-ΖmMC#M 4x6 r _H\Ouվm2wB{uL5sw 4+agf]mv}c%oRZd^:_AM+gz-LM74<5&wnI} -2Ќp&IE+˥US??B0FZs`?خvuOR-ܠ"AλkN{Xnx&ŝ-;h_-QΠpX#eJQEF%d<2fD6Zoz jT~]skh?],_9~"):hn4[5w) Ԟ$Lwj8m5f21)R {q\{K $ͮ<ؗ#[.K]w[f25 ~@n3†numGeݩ>Xp.cMU&,<|I6ñ;lWю9,k(bEih A[軂uDH0hVfҗF~z88nm]TZ ψ"onª~{e|뫇!۬qZeq}G-[a߼"&9t:tY|apj8ti~ЪEHYb&ǷG[pLJDz9X]F`tmWI6n̼۰{dI󔵷@5n\I[ M |}-2iwfln74(í̢C,v8Fz2qH:\[d76|;?lLUh6BH&hǍJ]ݿ"aGȄ[6Rvq9*RZHxipָ2nAT) 6uxs^pFuyO??gcY` E%e{7XG%9YtI] ݛ -#xy+epw<}Fc7dW^ 5qʶ͵J,dahZXlءOºn3;{=v6qڗ@#vyuY>c;ClhCF8Iav FяFFmwVMѽÖ\a>V&vWeue5⭑q]lu7}oq8+^n{#]񍹔}*& # H4gA-Z0jt6icEnɖo*\y7ðN{-[^H-77,ۍBI-;Od%Nz(֥y6Q]pG}Ҳ+2k,`weY 8x{9nCF8% q/ư0#@$h4pcL˗͉277hga vb/H]%V9'j%H?7^p9 -DhvCfְiڍPz땹= In9F3*L:fe~/Eϊ!8NӾ$o^(?aC7V{nþ-j Gebe̹LMH ꍈ޻DtW_Ox_'\/h9y@t1>D:mZocڧ |ZOti!4,bYrhQ/"kżQ 뙫9`ajGxł˛# aZqlso}8bV~MF)09&Vc_xmA2XRZe9:G5{7~~"qUT}荬>5Ͱ4e.UZf@ǻ -7m^w\Zu]?u?5eyGvݦWٱIZ -^O7 wh @'WäENK;2.O۰-{XwC!3iA!_]hD~\# K͞V*mU}3%Պ=, .A;A+)Ql ~}P?d]]T}?S&ӪFh5SË `YE 6vӱ_w9 n$k׫gX'l@^1|Ѓc3KZO/ˏu?߿~}! >r// -hV'7^D'lГ;<:8h7NմS/̷QM!w[EsI4W\ϊG_2^?c睺wUY+Jj蘁auqeSEfFU-XT9e{ULsڄ>df:GLuɬpI.WUiJ}sE ;9XYdYp̮"OsƵ`67W/١eo'O{ZW{˻[ANj|wS#ow&3~\ֻrE/SMgڼ 7*wqhlX1!vr0tLdB٩@3%{aU#FYо^P;%Mh1T8^t+{d?uGt?5E3{unǴOak(JErrafiNѸpIΡ8ɴ^vFlw.l;s3JhͅڔXLtߝ/j[3X e4F@ӗy{&+̔~~>~"p>;g 9Fhl(Q By]tld{ #078$X9Hgiz̬7"RsUߣm Oe}J1]8:\Ø 7;T<|zY2[3٭"LJ]bdnm#5ǒq=THy$])R[._qx4;~!CS`[x<^2NRtExpZ[|8:T{u4}' -f;-FŋT~kJղFn9 6_Zs(AGu'ҚGjL46\޺mYc6oF./h?\i={c,6qx.%3z -7M{.ZK|ޏ]6na7E0X7tוD88>rŀmwZ^ oHaQY@d . ٺm&S Iތ j l@U~γo=k5O/ﰂ LKpq乱Ϗ+*tKmΝZoVA1j, :E˂0FlڤQZ8#^|`jVʋQ;|Yƨv6w8O N"o}]DV+.W"xNE'ߣӏ =~@TOmHv~ܯo_)Tl])V5.JY4x\4Hx:f /X(Q*il8`#2+728 o=K}X]y:|U/.rXkK{ T10eNN?98O^{{xwzBduY5C9F]_}~ТoV(rQ I{ŏGtpwAwU3-=4v\mZ6X!۸.]fIԴ1<o7g7 kCs4i'S6`LaN0ltC2v0ϋa)= p(|:ȍq07 -5.7v~@1@¬J9/ưIfM{6X.V`i{]?^~Lh]]Mmr>bw(ݘoǾ{1VMU>Hus.cԲ .pt~U;Go'qiz???$۝?䇇uvكung@`h% -~x/-IБ7u#>t4]yP@qFOrwZVƨiD3:_L,]doe|aV2[xbW[38ƈry}̬a5zF޻zcoox/ :gصn A~ c?FܓxX۷ '==ٰqGC]e4JiJ!7ʮKvں>_|i?&.ʬI!Œةѫy -0NBmnus&w^ٴihiacڟzLMQ1 LJ]"TWhc_=#N]$C%x xֳRrA~|g7 V~x"@ ! 0=e+Ny@P0mY7 uq~Uf|ƌxG?I'k G3mV洎n8ahis6UO -3h;;,T UVUƃם12Fovx!֟1Ɂ[*DUlAt %ps7m=no]|Q~(b蒌Mt= 0zȃMZwfXll5]q1l) M;Q>/t[P=2nZn5?c >:?",|dUVݥCsaJ,* l3"<;xwˈ;n>Zv_uWy"D1G.QOӔ`?#t n'Psk `Fkv.6G{7.׮?|8_V[cO 'l2 t ݯ śzc~_j<7Y_;yu;8p8%2ew3o~+A| Cp[Bѱgo~j̗@:u3ed#3V[lVP6Q؎qMfU Nl*M#{i=5Nv7ζ 09~ǝr6LcT ֫ۖ+cYP4)ϭz7SXwQUnmsL?if1Ӣ -HN|hØ`3*WsGqz<ȲN3kXn{7 >PJ3hu['"p|د7gl7!cvn_4{q e0Cڇo7f/e"&\S׽B-,{t`+5Uwwq_+R.RkmʋՊ=k㭺Xa>_<|8Z CfM|Dq@R]ϿԟU?^_1F}|soT;0_ P񍫥e]jZQ7OoZObNQ,<ITYDHqσZUAf綾 %Ɗ t{kb.K׾f_!?l=G~JhOskzp"UL)&mU[ 6a~ƾiaqnά64Hb}ax㾻h!a,/DQސ؈9Oł}cدq }n?S؝s3ó+m 7O!n_,G%3Ӓ c' W{XK 9Znpt\:]~a%QAxQB=zh*݄+dby0~8*F` ,eʔuQl?F>_UaP~dLf2Kkw#m}.sN(ÆWmM{sw#wxQ4'8XÎ%3;!~ pIfҤ#ϡoM;w_וIW~eq:C-4y-վk__SvƩrGSN s˂awc9{¬w_㰂еc_R 7ӝF.(Ntl%qlF=X_+JiQnn VZ73؃kW*®t}Y}h-Gy}xu3Cbpf|.o.5 .2s=L$vAޜc` vY$C 5FO ײ:42U~~x=^?PJ3We{iZsţX @'0ojCxD)(Se;Kg^{ -֒MYIfg|@ -~ogƃ7AoafxY e6^OOAk -nHoi𹉗l6kܹ~{ú.Md#7j&#~2z@e3{7Jܷ (p"D0(sWEڅ^;(8HN/3dd!4kk|Dg|B>ޜGOa1UZ>p)8;ExR ^V_u_o-ɼJ)tWGXvcnzp:(bAC{~'[#|a1g~(fw{ٛѥېNi\ sR0>i nTRMywo*cQiw|zڰڂ d!;+H~W[.MZ$+{[Z> ˎP!t2E(<[f fnYV>MG0l\ dZ6LHQhn3]LDzrv;K;DUyYYllyf 9BI΋h.7MҶ 8(A}7Rfk(cw|AYP?6Յ&FQw;_+ݘ\d.CH_{~~Sqp0/s>N38e3!{!wh1\lypPـ~i:@r1_#BaP)7YYq *QhX}. - aɦq]=x^aڸ7\.c$hskw'ɻѕ̣]ǜDχuـefYfOϕ%C:xFU)O4\b]܄+\DB"^pAt qD}:|+,,:CKwsv]u/ aޘ~kaVd`Eeuwp"L{AAЕLIϠ #{!!GnRx @N/cVU1+'Qm%Rwf2AxP1jC`fIT)G7m*zkY(̖d/?;߁]etuWn7,[W0nF]8l:Cԡ hWk2ITρJ|sŒ;HP4Z>&}ur`]kSU1ce5ܖxk|9i[ԝr3Ӿ܃$-.XUz5}e6l____/~9o܆:\ϻl؋Xz vq/ ~綩f6Lll[ FVX>SfJTث0A;xrSj(6Je~*/}-[xk.^co3o{𨚇 -_{XOh`ź2ϵṛ#mD#: -o4/c03$d̎[!VE4y|㾎PǬS䫚L~ŽPf|- NR\d7uˠ4zռGQ[3-Pmq *irm;~f)Eo[](m2#<K; uT' vUdpa缞n$ƴ/c\vŪ%YWǬ -vhYs?{}֭l+7@舙|voj;B+]0󒛡1qTJժxdbU6uw6K,Q6[׎ef(V_T0<n-8ߍia&f MJ` lXl̓2ĺ;/lm yJx4f=N 0З%4F_߃Nv7R%=(ڧ6eՉ x|3&4~ $-A[8V>z7 D>pcD~fN}'0ط=@f^6t8\;~Rx4Yns'me8K]c/<[?kg\؍rb+ _pcrNiG@U:VIO}} PO:8mq5Xq/7x{Q&ŃxP򕴆;0w~Aʨx_Ǿ?w&) uӏ=۩liseWqJ!%c}dڡ^8Mq@clA8W[Nj (@a.F\XE> ];<<|דGlQpX@e?m۶mI?"jm1\kƒ8ZP #$s0O<onEXәOk9?}Ğ-MpBi_^⾷EЯۋi4UBk떍*a!v06żեhb -lrʞ1EX^,t,$( 46=F2L/W=j;PgNz>ݔeQI|!Y/E1RKEgT"R!w\BI'{9I X]'p pj6>XͶ*{7rJ%Cm%ep*+=N7+hs킚* D*Q m= 1mq}MxF` -$@#WfU}zgf=0qIݼR|x._ěxKliMcn/cN]t=ױW񇏿?OQyz -lѝ["`q懌A?ڻ֋6c\&|tm`M&/7l[Wi*=nÄ(s6Ln< -O_Ml5;]{߯+y3Ypf ރGc+}]fFݎDީG<;crbr+RXݨ9tsF)sZ1dƱoլhSh̀uBg3'rss~ͽ駺uuϐ?̻<qʭ{ylĺްo3|`n璾p'1T`v , $ -Ϻ%ӺUV] 2}\ԈuF Kzt/܆|8vrÃ2$cgJ -7|Kyl>Y! zDs1k<ͩt;0 Y>[iSU j>azoܗdz^q -/is} @SarYUλCiMI Lv6X=Ĉ#L<>7`eu#w1hdsyf-~o/?𥉉^jpnba0p<&{ [>pjx &2{U, hN?1b 5k!G5q/ яK9}ޙÏ u7:*ga ;LCq.dƸ)azg]C=IezxR/?fvT㟤v]q` ~Ya0 @t2̼>XF]s5߼m2ֶ Vlj Hί|%OX3j{[8<[P(`X$ ڬ0vZd@`@p@e6͡y9Zy~%{?c^8I֮2`q}|rfPUsڂeqyԎcW٣e5`C -:MlJǓ@p~Y߃䪤susL.r<4kOUu{}kEfeǰ]{X#SG>~~ugLvR9F aqc* -_zCpg֛zɔezQhx 2_E4ec|vjnlZ̷UٽT^(>m^|ՐM]23Im#Ѷ_et}3n˥V[pg89v th9>+[T|.}|֭CXsѝ^s9IyBhFmٙdʇO˂` [%)&0[T!ɐ7C~OՆw9O;1 Bd.vAD9¶5%3ݎLj 4O YWLyDfJ`o@ 0u8Q }o?|>#3ڗ-co~Js'{\22&>e1~zeM|51H~?չUZJqvh)3《i~jul-FQN;x o$ٕ͘#78:=d1M Ct$0J 6 #}<S!Wӭ^ªl%).]Y#jM&^Sh7ǘԒXcULh{Fk!(.%Wo'6ǣMxmπcn]im݂Wp#^s5saap R N&$DHUl7_͟Nrս8 )Te/1+∽nnm2Xw*$b߻/?ou,tt0нGB?< #U1#!Gb6em8MpD -T}i;yPQ,rľ [B_enMvNIF;{F.,YuK/nڽØYm MGљܧa63>e -xіzˑb[=H]f! b:uEݚrz|n;bH|h)§;C;| :Pm1k_!ɻ>\l4ɾa>E\t.Vry{6p۟!*C=Ofu/ƴ'{[Ry9֌UeJU w{ߟ͓F<`E:&^̷ o)\ll_kgǛ }Eװy>E3v*1N´t[n7P\I>RrFJX{mv5dv&x]|w!i*ƒIEDq`ߟ}YF -O1R0CAdJxXV e׽^Kߏ{8C &E:7x1j__+am~<޳c[ծO>3M?~~/?Vvt?xx1Dֵem_VaP Ո*<}fn@X,نryt _-{ )L˗;=OaLbO`KExFvC#FIKDkZ\uwa־ L w{B:u$<'3Zoʺ1mz}QnvSٳc淌7=Mx  GS64dmaAgIKT`f1}8'ր{ee}LY5^1C]vA e.w -ٺqP]1| os iz\>?ïJh=Y)kD8*{1M%YWe!u}0P$q'toU#j'"Y._7m(lm~p>!?M`ۘ![j g -H е˄6YN5Fuq‰vd=~?|kJ4ɮNd[g0JePUI|7e8ET;ƻm7KVB7pOˉgd/ J.h·%rOdE)n -|qZ.eH -!he@|2(1jj1m7Bt (y$AEBIYv\-lejT}l1xzqzlGYbshT%Evoڿ%Ums {mImqj>cc:R*f޷QҁHZ#=21' mP!^ ׭x}ocm$L[~2ZXEn|t}BG܆ǾD.'ht.&k9=糌ʮ.S2܏L\VQa1{%GKTensO6 kMxSB4ՐKdi//8WN`{,`_!\rJ!V.<Ķtѓ=M0Tl??P% EaeE.]q}iRYd -Le:|7;e^Nuy?~EaW^ˬOe pEG"37mԁYZwRϖ`GN  ?j에cUgbJ>tiZS5 -p -Fl}:,?tZg{ve_/YH?*Hkֻ bߌ&soǿ}\翫?3ox}]H/X±[b0< i>~P~ѣwo8~#oXߠtpa4{b}uv)̼O߅#4d_y?GQ`^h~_uX{s0- $Oۭ`+ʝVeEcB'R]F?-?-0_vVZدPUwTM(k~/0C]n2AkqLAC4]:|@0%,pm.l0L06,1_m:ONl`gHAaJxXגOP/|HDЃFwaೳ0oykd{U10Kf eT~v v=/a׵!Q_P-;@?vn螦DoCi>uA؟m}G/"$gCuQQxzJkQze[2jqtە9\w1J˽h3ǨrEudۥ4@!e8-m_7g(7=Li(Ƴ -a}^1_)x8ß|;6pMBίFwEnonԍN mY.˪dMN βӊA-Fk s.%h}]U< `5W_MQ%]lφ\^~9۟79SiwK -gi*{]tؿȾﮟ?_`粿r1"VK0Ƹ1Ao?QKk.ӫ~r+c]|D{ow>?eoy|w|e?DxEJDF^a4+*lwoف^Ű>9_c{<=So6QH*tBd] *U=hwJ#A;6P kygWݵW|s5/߭*SUalFt}/HafBw3 m -qy U}Zg^hIN\9ƙ%Պ35<BU|I԰1b-B!-igpMl..]M to^)ex6 Ó򓝧 -`C~:NѸ1o; l}#$"hDbNlj+1;AWަtt>s|ikIwX1Jc^m6M7Lm - !sHM ϴN766(c>8KV^evD%vJ^V漳 9v. --g}-@6jYˎX8FbLjkFDŽ -27 +fɇQ,; 0 v}րwh>'#otl(BEPkZ(S['‡j2MiIַMPAI3C3"MgWHr tzSaG4\0_$ 0BFDuT/% %f]؝fV+h[ۦɉLpG!#洒r<,s}[+=-2R83ƳPUCaedڴhم80jA{ٻAV^7Ez+4ߗ=/_; o{gc^ X&2gmuQ$?U}'|־ܟ ttTK=J^oֶAbXo }0K.C~1 eNB.>mm˩:LY}?/nz,:km+eVwʼn9#S=qx̍)![7%l!L2bn=N-u&J#ov(>߬rwG͓sppk2*pmoRD<[ރں*t(j{߬ #VI_x ;:E b1.ݯhv,;()k|QV0ڻ]0~HE!h);^q|Ǥ9hS0aT<&hƉ>ԧ]YE;`?y9Vk zh2 cK|vkc>fed}>x04<d"5|g3Gm!ze(gc|[jՅ}Owf܌ abJVϜP`}/*,tfkó6G{{ޛ,8 -?ydڣ^I+۪:Vљ]bͬJJ(֮&0Pݕjccu -<&ӏ+9HcC+c՚3,kxxWY(WZ8s;a *ŜKOv{qmr -"v㧆7 Z n./ăZ(֫k@ߩ*?tpú!x8֝ZVi5֭1ͨ61cC;4j\sL EFFC{ÕqWD~ѳK.UtjY׶7t"3Z5ND=/b44a^ -'bA;Ů -R4۩W/I;|HH*ձ%XڋcZqR8#\y@ `!7Y7)x T>RriWu86v%Rmx?߿\+P.`x=btYXsOxI{6(j޳o֢۟,eG4gV{{pj7Z/FQ4jíKNNRbTX`͹f*G1 7vV Vyun{<7\G׉" ZYQ/ӰM0#Z`)J 6l@΄k>Ɖ;e m 03YݤtB^J[ӭ[ VLqla<=6M^ -m{[oؑdu[E=l$#@% (` \'N8R"]pݗ#|J0>îlL'y/>?|wk{ǖYrf_f@E§]ev?j,ۭH.\E%z8Y[F_O_l A_Ojh}X;I '9aڜnY5rl4vt;XpU΂yΜ_2wnkt}f:Ea5aԀD*4rMCSԻvs #\Dh4}q|NVa0X6^8{gqܫ&K8MXì]mnN5tuB7.d0p4\'P߫g#_Jtg`YW_saF`D -i3MY0]`yY qwOw=@5bB3 -6{35mQ8xCjV61a5;4zM{hXv=!czg#$`6az.̣o ҟ3o@. b|78^ԡ0U2P#qP(9}@z{9n?~EL"6gf4sTSM1Qzafrs5iT{t*TUڦ&A_UƔd9.CaKr]2h $T^ Km؟{Vije]Z1>Ɖ0Ms!7vH ]K>>z]Pޛ~bFU`/BYG^˳U]a_uKOzY})˚nA<{if `<FePt=iBW]ěՒovT8@, A+ w"(.t75mWJcI)o3_Į:1=m`խdzU( W!:3j7ĘppWNb1_xucH4R G@~*$J03vfŇU@pF]6T1:UMcN?{S 5]=m7 CmGx'da8ۊo/<> c^)xq4% :K (CUnMjq xn9J+"Яol}bei bk8J 4)i H=<f!]Mxeji5|o\kq6͇xn}_o8~1(chF!T>k|A_ Px~tG=EME1OkSmm[u - i  qYI g{Y{ O4[֚X/ nm)cڱF6Fhcu.*ʜe!?|ẕKc:6ۼ?nЏQGXͳBvRO䍝tOߎ=81$=ldx.'Y 3¼;~4߯m_56[8|> )—uZ -YnV1Q- Sx[~@#p 씷dmُ7k3Py/4SUG`&#{R=%QKckҐclc>y!d!SSѫr_nG= -|OAQ%=cfWw3YLe[ff1W,jue/Wz_P/{6hRhdE6ݠ̌A:ySwU8>G-Nl[*{zk+Yw#3mâ\#΅16Pm55qyrJ3fѫ@`bLnx(;t/hޘ J0`m?2a~56>~_x¨% -'`o -w+Hf,`T`b`2i^m -{'.> /$멸`[T._\mǫ`Ap~~?o?vTsN{C˫{_>~_L;}kY~jqFT*{NU/`?(~餫CXM4KP[Bv<ƺÍ( 9,ksZEC^I+%!p;a^dc".eW>U*Hf0?^_}$UZNlӋdTsջo9~ WX/lHǩkm?GP"qԾ,me S|`>`<,S~w[%h,3.nr|.VNz Yn3[PPnsy^B.:ٴYǏ=x@+KS JƘ%c_wNtn:"[EIҶb`T^n{o`Aw -?-hQ%k{ ~V&jy ٗO?5v3^뉗L^+v^=fv:^fOtOoTwD(:t -Gx:" 9s[Wi6NUH}✝7s]il -T2fJRmiI5<%]vW܃jY[1hOd兔a,mD`cF8 YT.U͢]eb5dmzZKLhs=,ԯml=ްv A(f0eƒʲa%ʭi9z0Si?^mZXnDGXjMvήE2+x|UĖdد;Ѳ>%⪺:T$^;Od@ M4 0!b\qA$zx T?S“u 1i~Fg;t`Uuw;Xgp__`Ov5w7E+`Xݍ5u;s; ah[xX67 v4`J X4}Sllޯ ~-Ty Fpuiǁ`hORoWqfLkkPXi}&;u ;vƸ&盪:ڶ֮m="^[h+5,ЛVVW56d<*<Ҵo-7m!ݭ)+;Nvtic5'`YEu*8Ϫ;=Y7<!|MOW qNqcjuX(e!I*;7G8< JEc5V4vʠDE8|V6!=v>M􂽣&ZF#!58E'wvw!"?,~SЈ([XioikqvL3Г+4̎ ^TS47Ti7,kiXxXGL5F݃z!ǺcԭeQ $j΀ذZfцLA:[N;ˇ%1 #I(-N݄ W'@a y?>3.NY1\ 8{phcސ&CM*948`O"-tKG]5NhY֚o!7ŴU=Y&Ta$;0ae`a4 ,mr _dVZ sZ$Ka~5g;tw |n" Afϼay]9w:2<=9îcYn|3z~/ܕ:'C--¦kbX,l%5,0– VTߍ8ۋcMx6:9?ǰ@?-_6 ֿ{L}z =}\;Ɵ~gkw{*wx~_{WUeuզX+NG:9˨+gT[m^ïb n*ӺJ4Eƽdb ՅNcF!2(,Y"5 s(:^d!r3ya/I/!= - -y} RծX$4j3Je)$BDB,D"zT~_8KYQ"ږcՉk,Io>^oٽ.T@^ALgPJ@[ -iֵ =[+8| diTaz%b%ΡՕFcxSQhd{롋ZWL稔>SSN|M -XBUϿ{ vmIekQG?ro̓]ߝoϿ?;o{|_}.?s_>]c_~WJ)hFlس$IWO)%RΧU_ߠ, -C*uNK?,9 KiXT =ԀbZ;\{sBZ2CɂVl{εg-̬̙ґTf pBt- 9($jIHET2! 4>ʐd2Ir2SA_k~d&iOCd'Bb05#%̑u.R'Lj~I?R.F1*u8+FT (]YZ>*BԞCdj͌-?}}}d0bKURDx^J65ZlAElK2UM9cDfegzdLR7!Oj32k,fiQhUPћV`:-% sU82KgHZ`FA+$$Y3ed*hfӞ_EI*Qo%MBdQ\>1Bh/gdui(RPr8XZcQ4uT[-U iY %.gZuMSx灮1Ғ&V1z,C=tG1!dC/7Zd4 -3HV3zC1/_??o/ǧ:]$e`/%x?_W?k_]>8_2~U_۷߮翍/]?/sGE%c[$>9*ٽA#g HY{gd_2&ፌT"MB0UtF;EEAV[&f55URUyRD%VhmŠSɕC -HKup7'Q*aZ"KdPDZċUg]kὁ{!z"y䤧eui'}=[jz%2d0ȝ @(hH!J΢Td*NCyOlȃ{q̾bU 1,FUr|u$2Mf2R<&e!Q*RVA1 -CT@ &2_+)߆Co.6fS_g|:ӗw>ci>Pa`ȤO\)PU,vVe> -<]$UGT(BLcv Et-5=m1k5z(.Ô<ʽ< @L-\ >? -"P%R^_b&J5JT"N`3BTEOfE|wp>GI/[P NVU\||rBVGIN ܖX,&" -^1V4F*-5̥kINHQ S!J媈D5e!#Bu2.咊9%R4m(&Bd`̩)"(u6]:*FFh50L[ >}<e=~_7HM].\%N ~m˿zǁ7C?V{~m=|}8buͷۯ/AO9Y\KOf:J}FiypYj b>BmcLW3]*e5 -?utZ do(-a,37KL?ˊ0<Ǻ.iH4" -Yvض,+rkBP%Ո5-99MQjʹJ~tYh2%˦TbIJ 5 -J"xˋLLR*-Xu& 5B"fV9]XpK͊Y dLsSWѨڼ-V]1Esb nz6! Jdc` RЗ6L}&lhUoq_}v*\.0&b$Dlq2YZ7߹Wρl*K8q,= -,mڥW5նLh>K?7Vr#^jZTTzIV2Ӓ*3)+Gd.$^RΎVMIed!UQ}/X}z"vcWq%}>VR2U)3k8.[ܚ0l5eqYEEZ RT $"WY-dJe,Y&d-!%"l2"mNQq&5$aL]l@Y,XT](%+%G{HHˊA8(4PU5MVZf>9kYv]vB,W3L<@Vus?z*#?fk=??ly%uJ.aO\~+7/\u{]{L{GƾZ_\~OV\$ _;z u{}පz< xEI&*NDf2V31H-ժ̦pedr[ -QigBrO/ZO*gVH1#1OGҬ&3ևyxTOoʪ-- Xeք*-uŤ^7oPb: lV'V9@1CV!&h - UI -CLfXSAU,kb~㋆z5سZR'mY')>>@wФX"W=T1;ZK&ȬZQ:13dQ,YwYP5+k #+ctöPw\P)Hc%RF)Tgi+bys+]w./WF& --ʵ )L- v2Y*sݫRQMW_S<@R8,T&>=CoEwoȵ ]K{T:hx(jq"'6sb,>kٝG e15.!Ҙ{I-=@8$4ll^T<32,]&uEQ[#1RХ kQ2=1,UC$lݺv(aK%"~)'7bR֥TTxF9!FPa0b)jV&J@zL.3(bAĄhC3KXUƗZl;(Nvnx"-G=CK"Nט%HcDZ%8ǤCW`K®*vo}xwb2y,}~_yO_ږVK[M^#KC9w9yߜ6o<>{/2薝g=C<>.lѮc}rc!wQ%RАn3@q r0O0gQΨ{hI!0BD jܤmfsv0Ț^Re# {9Je`!U%ErRUD3B^'ͺ|,a i,TvMȬ&%9g\O {e <le)'dwt* JgLxH[Zk`dTLLSoP1+U8 3f'c?X$(7/SC/-L.-E:kB*L7#C$C\;ų5N@ɢɳS -,  -yYshJf^ B=j1L&/=osN]ƌ4LP3"OSqw f AUϠ8Y"|xpVo3/18=ws>V=gΗ,R/c~r[i?m>-㻿hÏ>݊cZ79ZjS/eA>\~[\q[XHm[j[~=g$k2²O8v@@&%{A8ijT -zͥ`-cn*D#KKo9]*YLx|Y*&(IqVq!Jjcb1=zO?x8&%]SOےţJtq4i*S<(.==*KY,i>%1f<BkT]ٔY*CDѫ 4w}x۠/ZR.`u^5!3S'sCOtyVp?[C WEhz -L' = H2gxr:cxs֙{DF|tLDzmϾj74SI6޴B]S;, E-TLH$e&k;j5+)*HL.Uoyc8_RGU -*UytL)XȚ1 IFaN1&bme+/09*~kkY JV#7>ƒxxBM?|x^S1f8'_^]6־J(Yvq+Y J%j$h][긳T BŹu35J+b&`DzXS%QрHEzc/X%ÎꕢsRPȾ(| "7@%!O! L33cdj_ebE{x9rңh%֗Qhk;C5UQd9ΓьJizw}*$Y]%E.r!j1VSY\{/K^58K,4VKQ#` kPU(iEKDjƻg~)JyXSrQ93Cd/l.Cd@b#AyfW?'@̜Ld{ͻu,)>$lfxs98~:]Z~_w+~ggy4k~YF}9}G䐽{cQ滿w~6x^go >>;Ǽ8#r:bB5&m6#We'f>\Uɿ?DMJ+b]~$EOU y+&΃q(=1QI]S0Aҫ,]$ilEV HьcZ+R,}U$L{F#YgΊ8c͇fRe塡ýIITT̨@ &K[|TIH } |}lh -X3fv옊fV]5g"F2Ȗ5ȞhJIm -ǏXVn.ny.5ʞ'KLih8vJx *wMGF*AC%ף.SX#qL^oK`;aJ7+:kd,gP:¥xW -iETP/\v1Ul40&rGv ("fVe//?r\?YwdzwE&s1IMmB-`@^FHpjY!v=Xь47G'FL.(-pI5J bΘqCE>^֥-\l=)$W M3,#9EZ+`븏JsxJ'VdtlV_Ӯ^Ve\y~>.A?rok<i?|p_7[;?B?\Ͽ//Sõ)e}̋? ˯nVoO<<.~LJm9Pj$f[7 ,YbvA -JwYՠSquJ*oPM̹>H=]d!'<49>X75w2)x+.9SRRh@g`c?ktA&6b0Iك5=rLYSR25U67Q}^2#(PE0=db .5pf2$Ѐ3y*R2D37/C\=q=nz^IJ_bƀʲǭ<)o%~~i֐l_#{et;od 9q>#_>֏'n}Sm$?qky;bvkhm_n~5=k=_80ewq}6NGxse{]{ˇ܏OGVdK>I I-웜#TzT ,Wch7--<]JʧMf2a] -% 㰊&=FI>)w_~:2[qOVyVumyY:E*K8Bئ" ev6KUZfY}.Fߤy{&۽:TZ0I$SAP]a ,f yw?%NC%&2yJqsV3=`vho-kJ#R7A=JB WΟJFG`0dDr֮յ,H[ִe gʘ'kӚ,,1<`7#IŪ2Gbq@hAY5*%4֫/KJ+Q2O{d,Բ8qN>zUL阓. ׄTԅAfVTZU2l̈#'DJI≠{4ry?wolq^:Oyo7,[|B*|>_'cmMQ6O-pjpgf:&ҘmO5kh -J*0u9k@gU1-PBaVLfyS.kƦ4HsfQ& fk"L)L[IJ%G*GזZlR{VaP)YyPfs]yL(o%'N3jgJI6.0IS̢4&2dQ[,}BV\2CUE,bMRML!DYﶭ4X'NN H(# -UD%D??O !D0&u<}9ړ8 W%}sy%+r/Snmľ_RuU!S+3b63C}aU3hR]L HK].Cj6*9pKtÃy/R0*";G]ts -QJlñ)GX'L1=gM+8XԚ91ӵ%NJO[coTL; BYе `dLMAUȬ3BE@Br"&nf꘤4H'0s'%`]9!!)NkHʊ뺜7JL$^\"%rU?=ÿ W*Ó_'8;y^wsd֭-bl=\$36i)̻>V2jZwy5)uY~smg۸|?:0]\Xˆ'x;RϏյ9__q{v_ׯ/=e9܏_V1cMBMo鋴zƧ-'?o1YT? i"y2uλ7C*r*RvԖz-ux-OP3fV6x .^(Oh# \)O^&er/z8@xo4Β%47I^47CAbOH#4jtFGLdSE #%=%8M,Sf7@VIzYH1EJ rYPV9Q=cBLr[Jrh) - dtbلrr]/g ^@)E tP -)@1_=I{KfáMY2켏UٚlJfSyx`@6a|_|)]۹D{L)a|~1nHĘMLdK'Eg.LI>ռywQet?NRB6.f5ZGH1j -Q[LG!aUT^aNHT Ijd$캾[_?Ś=o 1yMdX]2_ZK'R+V. ^os|Wxҹc.w~7x7]/1L>zjKC:woRvnP)֐"`'mlbrYzΠ2gL|\*f蘱"i,guV5VJi*f A#P^GSH/,Y6Ye.XhKGz-CU#)cyIJEԑkY')UyB/}TpwD@2#l=;81HP&DYTJUh&̲cT Q<^z1D&Tk|ci]kVFBJYhΘAIZo3X@0˲cIT3AUNKTKoB xnZ)%٭? Hq ]0`)dTnhw^pθ~2.i1ff˒57jfc -u g)fR-ASu֢!rD>Yn%٣">0>8,#V1BHLI3KtS'؁r u(QCUVD*<'ۢlWV<= &BhHɀ*ÓFfIm+y2\/Vuap,DH ՛7QOѐ/zXM -U -Ќ"^ŜkkrC~^.K~to<Ϻ:v1>jv~9㲬ow2Q{%%c&7߾Z4)|\ yUHi|?㐇_ıۯ~cO uf|{q9;Q|JxݾeӶǗ<3~//1?/mוܗ=lp?_8՟޳{\cGZma<X [{xZ^_|篇s^zF{ng#g=%PaL)$4i+bJ%t׵ޛd$݇${H-= ]tc6%F=,tq2fPXjIĈSDgQ`6C5Rj&DВrex*oUP" R^fD.*Yusz!K - UR6JS΢&.Ҥl;dY$RTI<3D~uzQdP<H"'r_?NHfqVд_^l-$U.vʜ.sD -uBeMO{ Ua8(bQ]FάXOE4K^XgV|330|^>8?׃Uf׋jmm!0I ]u>OL)ʰg[[I4U`+VG7c=ǚs11qf4ZUU,'\yacM91ti>Q4LB`M32;TxxlԑZ~f2mU)ʆ8]y3KyO U 63ԘuE%Qr"NVzQhEؘwC*b/pηs<=]%, ~r>RV=duVz]wQf8}g"/qu\?ۏq5fa}:%#>m~>ߤE7-/h}0TçQoWnynwE~/Va]k}y/~DnQo,z6O\Vk?r/^3WG-%lZ>^BudEU% L^Y\vf4̚cB,$dU^J)ƚ^Q3]**t,^rHTm t cJUS4\ td* jF$i%&ܢN?U%mciK%bbRT-&F)J!'`(Sخ) -UC"yyT*} 1ͪ -դt1Y68F("{c@&"1SU& -.65%zQ`&ÿ`?pY_= -Pi[h*%}VάP/2:=DZ)^ Q4A`YVmۙ5@zʒJIDNlRzR %ZT˥%ADVӑxyݝcY5XS[T%זDYؾUjF"!V(2Z[q0-H~c8ǝw@-9F UF5)647heʤ4F)s -j3Fa̼\8&Dy>C\td'rYp?)F!£mW 1-凋SM 1g -x=qlWөt}Ԩ ]XAڿ%';֛iQ3]WGlD_<cьv;ɹp ,R=R\ky\?jrX]_ueX+qE]0.ϱ|hW{ei1epYꂊ|jOyߴwmk{ϑ/Wy}fAk3e]zys|#b?Z[m}~arf//u)Y\"_EzJtTXӚΰzB7pJo[KdFY@Yeɪl9GS3D\p^=D1ʹ -eEQh2 BJA 4ƘDA/:gb&Ҩ5 SbdTV_"nZra ||_5 QZ{ -Oq?]s'{mf/Y.{Vqh#hC/fPIȶ 錬 -j`ɱŰfDZ !E@,ǧ??.$`8Cmk#ܛCZIDzPThE69c 7 HȨ,Vfk. )v -e Tv,Iw"{U +0>_^Ʃow? >.M4C'KuhоVD9`P *|ˢǍ[{7)iӽs19q(s &sTMz tO)GFKmkB@&CEVGeu"]EP@mA+֙7/ ɃzaI4YzGMkyt]$gXzE_}P&\*-q֋e( " ud (*r" E+)iЕL߈Tv[L]0GZ -Y> gPx5d>bb Ht_&Ie[cY$TuJϚ'`ZVc2Q27KI^IJ_Ũ`F -7̉5^ǿ?8`hj:%u(ٚrjZS-Ag.׋6B1AqhTyU#-e.#& +x$qnKShFMI?#F2_*+v9Bx!)>|_Η cn+ij2AME%9f1zxQ> HRQZ*S ʸ>#}yG<-K& d6pdA 1J@L1f-%sU"t -YQ6#7표RhRINݽ0d"]1{l'(2 SQEDFpoY˜#_s;/o޳!L*Pyf}J?J.ר(ڥIȣ9O ,(LYOdǵ]g'lS>~m%s~.<~׏q,}D|~Y^$|G3)<]recֶDZ3t,3 vr EyrQENllR)D1Lq\$" kBFEOgv\0`9 o;Df&, -c6ɠGRuH"'!T:HYP%)eATj"Uh7*$S.D*Ok)&u-B "sYa)3K̪,KaIh.kQ;X0Qi ]Wq?fW(3Pko#l39kqaFPM0 kiRR5EqgƜ? fʩyix(12/y>v~̷7(DI.m!ۥ@v]^E%WLp%e+!k#Q ^Bn`UH7sJƻ8^F_nc_=dpY޺΅i9cN5KO,r>=lqg1S9I77J̣ևgKZ.X颬jκw % G@ǘrn3nI9=tvm Ti,DmM ƃhT#cb IirVH;(٬*0 ͪ~%t,g -QY̜{ojkNd0SRV% TNj;ށ^.ZQ+cjPЊ]"^UХF[S+"(RtE* ˂xUz6q~ş˜ܮ -i-ED-BE -qUC;*9gJCT+޶%.Юʔńj˪̚%#§,2,@n}J1-b(u/o"zA/`MQcĨ>nrpO_h*ٮҴ&uXY!S(dCmt8SE˥|RyV82blO3#o>~im8^TЌ#WLXe51QRY$.bfBwn킅#$Xuj/AUH-g,*.Gtȴ5%%Z1RQI.C 4y} +0M$=:(*>w~u~_?WX5Yutd?}MG[9c<~hֈAϘ/ǔc2~Uw-ols;-b&T$sNVRo5~/_$V7wa3ƻ_._r?x|{_[޶QfJIr޿w>:>czjsOn^aY7t~nsh8ׁMֵ&;fg3)j4 q\Als}c1Pڛ(x3=Fbx _ۺ,?1Ɯs>s}ꩪvq&(D")Q(oQ!(2@ 96vyZs|X35E [8&7cXOBJvWx?( 4բEQ(:NJzHD1A |'h[q Gu*Ù41,}K6SY ɒ$KE@PVzSN.EI2)dѨRR aeV $J9FhxH7iLfH nQr\); 0qu)j`R 3pz.L(~{\M?5U1ɠ~LgGHz%"}G˱Vv -Vr=YΤ^v=ݝrY!ݢ>nk{Dm9v5/ ^Xm`򁗺,g;_o-|_rN[{wMik6] )E=E ߕ ί<$SJrg:o# im[փm= >ȹɒcR)(̜ ^qryI ͯ~/H)\X%`NCPL.Ys,{M&ڈs s -{i~5g -ւ2K:Q3xZ#*[re1.ZDVօ~0Rʋyen$~MاW_^o~eTTmkUݗ -R8"0o\oC4L#0Y0eTG{g- _o|_y -Z3v^~OmL +0o~{N! ?oVZ缾/v0\wͱtIMEw bH`aj!.%VU!'l@fM .J*Z8Y;ǰ( n%Hj:Ѹ/$'Q h'.PTܠSD\#$v5&;xr لH 5 -.!lDB5KIP QP`uɰRAI t2_~-=Lkf -CJ&KΩgp#+p!2"DHݖ$zBq})3jURVX!>@GI6<>Oim[yBY*t"\w$y)i9 $J?}.zv(c8Ӈ qrKy/+z&sI_7)f\jy٪/~߶syּ5(e6{8鬚r}c=~JfenV8JT0x8ڌ$uM%xO'WY. |qLws0T`iD)j[8,Ry2#8id@*IR!B`%40`&SO~`]%ND$]BpwY>L!)݃#p%MNOkhBB@z tŒHstMҴܹ(5x1&0UH}2>2D4Z+R:%#ԙd5!m!=irՓYFv]1^^nQ('"%dOZPiRӂr&'sF̤J^0Ns8V+Y%!mApqq!uejGcr}ܘd},:j9FM?Bjn49bZ=n#Ï9ǍYJũV-ۢN- -jU'/CR%ʓ8Pp`ɐDe<nF"ø c swJ4dz Yrv񈶊Ea\):1BH1gLbDB&2$pD9p&LmH(3 2?~p)ZsZ5:+&#^UHyߡP! `H:svB~wGE=?~{K ntY՝ILvT}|4*\l nkyǼWw6 ͺ\Rn߼= -oTÉ!mQ^rnt2{ς'~\j+3Vrջ癟}DUU뗽o־7mMWe-ū}XTsZ/¯Gk {m %%PMTT]nޙg$8VÝ(cf!4?<[3m> MG" - D2pD+#(A+Hg)ey@a\+u$+ G<Ex-i t$ՄSD}P;HhB&97i Ӡ4@MET(&GY{ڸ@-R8,=]2%]Z&rXyXӺ]Z)1͆GEg7޿!#$͆I8l5AGX~~uq[IN(eah$5 -β` ZcufɌk2;)ůB(4 M6D;z.ާ9[1u 3{6$6UJ \w.etMIۣURK}lspNePEeVeSʅi^%p8uT]C i[B#sp0G`ie RyfQsp"HS 0'и)| -N{j)_߽}PdUUx}+snHug}ȷ(gP*û_?X_ot},~?S ?|6x?.Z}/?c{RǕG/6a)W=X_R]'֡r2c~.;ӬP),39zsnĜM c|%4SPVC<_=pO.I3XL7zflGF)k`y U>swn\[xkDGoE4HL$"@^ - Zpc4ꙉBeJn dFY-r"2>:9H $ʥJdBR3G!'􄪒i,.tx,yO75LĜ+[n8#}OF>)GTDAFS'n((ҙaNbu?~o?|L^0jq{OOVj]ă8ְB>ǰ9bOn3"IPCU"AA8ȣ40 BT4}ޓkߏc~ WO~+??!BvKi4#Pޯ4F~?nݝEUu* '"Pe)Y#IwQf OVrgV&4&wRZmYݜ`HR2(TgVʈd&P"ZnZOfI&1;f>r܃PxE",pVy꘡%y8}(^,y|f͡98'g^Hʮ+ & e .b?0-6< @YGt6өj3 YO²|)ӿ_I9<ݴ,IIdHc*䢑I%k w{F6gL@))DcJ~UdtB8Ed J^N4+qDd)G!>, ȤiSx)JLYs&%f U\~{?}7JDdQr2>"e)Hr-e-LD8nc~%>=S_;dyoG9yRw~h򃮗C!(|}Ymsm?3p~_僶xk{>e|5<6R o<36hx}ov8ijl\7(Wb|U_ ~U,ؓ;jˉ&%t}ʝ#O=N}?זo?, -i).TJSݏc2;jBd2"'IED=$cX]R, -%,N\JC+Fq.DPBE@3eYpIL$%qS[ةȪy\Kaq!$c*Em!`B#kwH2'8 LJ NR/2Gw31IT*L mVbIRRTJ* "q/?_99"sѪzr.!m>8X -HDf1%2cfFH -EJ%e5%"*Iq9WF ) -<4.R2Xqͣ1-~go/>>-1wNt3r?/c{x b3ۃlK(9"rir*C)MP-qcxa\VsRD42$3}b1|RLD~O‚hXPM}i e9EqBo=&0 - -7i9Aδ",5ݔHZaxK)9:HG/dt2ה,֜{sH$T 2SJz? b0m~1GC=pXvJ&qݱW_o T#K}?zS}xJa\ Z=9rv[(S~X珗v+oJ-QJv} \IOb}ώrY)+iLiF}/~HF8]jL%jaa25H/YXXFOQ IF^8[OXhp0mGF)BmxxѝgXNrHLӊH ޣw.( )Itt~hs^&3, (u94粎a^CXy:jV܄I-ɇg@,a̵yG. E(iT#e!ZeRQ뢢ݣd_??,ޙ,;s AUNA,~b,gPO^2Hc}Κu>z=|_2Y|fQՓreQ[8E >Tu>a fVS?է?ן? dC҉d!99~j/v&}CETXٙqRy;f@i¥Lp/] سm^v_Mt$t%9Y: -aةZi0#cL΅ܝM'dKI-xv.">HaEBg2c dBҔsʶFLIse]W7&),CE9[:!)cB[5 ^/L$J "ha@&JRwL/Db=S_vTm"s? -$end ~#.zq{ -yΏIyoBS[__k-Wm#ZN"s%Z׸5ۖ\/eUgsxDOքWmkyO?/Sn\ᢢDdI,B[v~:3S(q` -g1R8(\k%t591;k8d+UuB6pPJK}D8 18H_-bAlӣPZ1#LQߎ7CEw#Tbx&Z2=sa)`̔R -XoRDgmFA hf2"I(R% ~yHFcŞ6~}c|<|NQ:okD4!Nv,u;痢 U9jz\dO\_5d d,F1&+r N6zXQn>cxx -keRfI5e -^NVr=,9zheXPg%RJ; Z%%mT,udYj3U)Nϼ\X6OLYNB}v )ᨕB -P:jU").cނ/ohӺc23ȊdrpsE=C[ռe6Z@z,OP^j[4Q>m8k?6_äNoX/ɒq{|׿3%T7%~—lc+Roʏx*CZO]z]b= }z\OX7^'1_F> 2zqm'^$7m~cVG.cYNoeٴi)ɉtdg -oDU%ۇ/?qXtQ&Ҙ^FAdE b!;r8ԡӲ. -:;F2b1"LJ.H r"A0fyt#8 ``*,sRRzhB!0{Q⌢9 ]cq' -hęȠ X[BJ,oQ Ә%uQj OR -"`rR$A#}Ǘ/oOg##NfZZ# -eRD\-HUs&)H (fEK]4fL%ق\<hI,klFy >_䷿öB‹/`w,y#c~7я#S=CJKΪ낲J%(@BfԄѪNwA)L蒼5m%4I}sox2yΥTUm`۝0SfDdZ2*wI&IRFP8c.ˀW.I׹>Sâ(QGք+G)9Eh-dALčMWqǓ9: 3XMg;9L.薨!Q]la2VmweiW 7 \@/wˇ*|e\o˥wZ~{Z&~pqX.mL?AȦ[}ķ/G,?Wܕ/ok~]Zsۻ}AJ#>JgGrW69!Ywqw|yH,li a⬞H"B ]6` 0T._}& &NZY,H(JRDPb. 1 r(@ĥFFDV"ӥa&KcIy"Jmձ;&I/Zا(e"JTFs' t#s?(=؎}B{Z21H#53䨩Ӡz$AR3iA[ -^EͥbgH%*T / YM/OAA"<\K-f2IQ#zٗ__~[ -+b@JSz芚+İmhJK{&$Ew# T)4k2s=4㱴AU&Fzr0_:'qfJU\F"5b/ӛSp,~zp1QW*CHzҏPT*MOgՈ"$ZQϩHd2߿Qk-[ZbLyY}´l1R܏Ⱥ?[8n)J4{bv}79mvg}ܖoV.ta޷|x߿l{Xk -imꗅQ vi+gkj/閏˟krշ|tr{CzEKWH{(kK8/u1Uvw6J_hJ{^.ԤS<<ԧ/Mg -&Lb&~ TH0S*E`22'a~_oGnʥcda4.$=3 #$D9I(fqD?7RZTh)P>I"br"xryƝ2i\.ا3ͣ%AZpV%X6{'.Æߛ~ӯ~A4*0 ֘FsL1v̠ wK)sDXKڶ-+\=qdڸ2IXn̼U.d; zD9R/J뙍И7L#l']}Lst>jepȀK) MBL$dJ֚{B3LVb:Bi\R~V$#2Q-̠݇rJIƳ9X8ꂐ({ }8PrW+jMxqyZu y>V_qy:6Gٶrj㸢ȇh|CcQpqㆯ?b?|>rKmE/>njOz.ZCI_c_7z*Z|e_COqLoN]9o;}O4=zfJiB1c`oLF("1%I(y$ļ`&rYG}vOcJID6<gJ2:Ӊ 6QRHĵUgRV -וeTN=@BN L432-T,>2nWOv35Z-U"V5, gɞ}RHh<40@Iӆg9a:G;TgO$MV>^ =1xNDcd̃)sM95xd䈬߾͟?7rezf}P2A1 -$JJfѥ4Li@IHYTI^J̌v ,MhaЍKMx؏(3>}|c~h˲ 3/Ζg98_^W:v4ׂ4iS%T W-I张"uȪU2$SDkDm\tVPãjT| :UɕCuIV0ࣛ8sH"W)sU=2϶u0SD-&dX@r"&siȅ%)X(CD) ( 2?첛Ȳ[~6e9IZ[zjjgX 1Α.49<;!%A,"6.\̔1J|9JTiZAki ^?od&ݏӠUPi'9?4a*PSQ ͑%Gs ^8L=HpSi)50d'5F%f/m$Q"iUUVpN>$>T."4JGHiC}pQqRZ$e~*)6YZ Wh0&ʾ'78%a\p"XAzCn'HC3иR+9,- sl zLRD$TLkA.*}x!ʒ9j#ZWw\ZAgd ʅaqH&ZlzaFaՊ띋;,xPrauꃘ5Ho-DSʥ[ ?pQ0 GR;c+-_rQ"am7Dso^: -L{i3..jVeYՆ. ]8OKޮmaYx9nύ{۵b=}f)JJzs~O\uqr\?Q!UFG*O+*vз-ϴButzc˧`S|K9r)]d;[k+o5<8'Q"rqԠy*qOiJUfȃ@ȤTՑ\}.A53&I _~}qE +Rx`tuC5N,J@d/H*E6eS\VUECdadI.g4#s% lK@(Df:)GPs>u|vpIV(& Bld$UJNÒ -+ Ql3fhe" QRC5Щ**Y(fRvRT:$cr_i~8T[2 ?(sIDjfdiv%FAnTQi %iv>U0'RjIJ0gN$Tfjgu:=l2T5-JUyr:eZs].KH%#6.;kr5ӑ 9S p2]sԜ=H\|x$ F$GQ@ ! #NFIdm3PF\'(mx!čLz}0ypYd-5Dym7lK4sW> MlQT߲<l# Vv{|,os^Ɏ7e)sާR_~㣮_.hױO(_o6m%><~]sAgzd{񱦗Dz:`~٠Elx уuz&$wc_s}T_/+Tjn' BI cPUnsô QtL.i8AIeZ=P Zy޿ޯ4{Zz%WN2M)IѺ16YI R%2BY=IKTH K!$E~ő2oěue /3sԇG9&IL#)NE&P -!]^Tg@}dS#2CLE9kJsL ˲*$0yC.$C %:DJ@Nse3I~?=|-Oeq 'hQ( bQ\QF]_Z>riA֏A k[ZNvOg(???|P.h+ -I#E(dʐ{@x ~ïȯO&NFZ=X%L9sYgy -elKUY. "EE*(s*Kʤ LPqf\+60A(r8Rּ!njS)}Q̽14 R,8s 4ye0HS$1F@Gl"fIy*ZJ:Yj.䤲EkK\9i1QTG+"٦S /e٥.BgÖOeM -|ϫJJ}?mܼ(W{~|.x9~~ xgZyp^xT XBI3D.y;IaOQz9}>$\(-g -čs:m54;Y}Uk'Udd` AmyAҪ&LQkY;8*j_b݃V̻FǻK)t,XKj%9~Գ Y/_hloNj9 k~|٨qK+g9xㅔGY.׻nU:^NZJYk}ؙk] FmZKdqsE\&sK?Z{Y<뢒K>' FAq:-OաSo]C5U>6 *{;gpYb1k|~l{4 I,˚_ۧsoE@0i I2HM54Df2Bۜfžpyxݾh]Wp g`"~\/Zs9N4ю^֗0~m)5IKяƔ\&}垗Jp"r_5=h"ݿ̯aRrh}W:FCoiO|nEKZD>-gpCՓǩgjX(=9HYwYrw(r~D4\RVL$ XBD$Eْ^:.k~ j$inI!EPl~[@ȧ KEJ+H!9H3x  v$UᵩA鞨+vtqd`'n[Ӣc`Jiڦ}dSϋZ9',AREb}y֘ASx^kRe=syXr)K!|"r9ǜ2=VFG㣛!{$HHP$w NPh@TrQ/XsŃ"CQLA;aY-])dNa VQ3-B1pa.y 22SH%DO1ϋU FU"F00ʊ9R,\wJ%qV^La1yt)HR|5Ozľ5KeC9 A28f8q#1C -7F8q=c$!"\,̃eYiN~y^O}aV4]'Y|vη;Yۄ:so]ʱʜ֤^Bw{|N=m].wSm߼46ϧzCQ>SQx9SkЇ~0ΧO]u{O'[ry:pٸzuӭ |o.ƕE{V3%#ttT ˣPe, rI$ya*E(=}z8 U4IZHiXة`̦.+n?a. Q!fԢw.\ ia`e"#"&ȭ(UX 0!H'V"Rb_N;LYn`D:-_ ml7ߓ[><yQW@Vg)$[%."#A1<3#I0LL"`|F%fRrTpLd0jpZ*Yl5hե$ĉh~o_"`骭j΀ -Z8K,Rsb)<$(.6$}V5cvJqO1N9]x8X3!ڶڔZJ//˹V\TCX\,ȁy?f9j+opC3Fg*!"1y}ܵl6M] qf`9$C -,UJI,ҥ^RrOnpظN$(SR&+Z wRI) \ɮN Ը}Z -r8SёROH[3]9 c)Cq,2-mT["oΒw -F\ٓUVI䘞(UVwEIwOq*l!!.6V a:?LP{ 3cV!pSxcI<+XWY=BA b%Ԓn9vrVW֥,xM΋.Ӥ'OR~QO ̓<|ڧ~n -J?ZU_>>򒟶Vd;~_D)DK/|^Wϛk5S+:[*'a-7""+I44f%qwh*sn\ֶe+"MVU.- Q#Ʋu59 -;LlO) `F]TdIkAaXOh$QYRD!;xczޓK#8.k/K 7>,M)m93At㓐YR]j16aJD-̤٤X!'90mNSmw*jJ,\ ."mXIiξ]3/zGcqy,1Ǘq\|q_2PKէے i뱷Oq[2REn[7Z[[Gm.ΙhۈTȢݩ u<@SFr5LkR4b[!`nXY6o(}'rgD`1O|ʭȐjnst)a18ه)OMvXQҶb; #JDm#T71aRэ/:ߩnS)sAس)B LqE Q.)'DwOkw{pVJ L --T%)df'F`fW^8O S5cv,4-J*Efp'k5~7Ɲ"h'iER.咧 9!LAhb|L~l>i&_p~u0K TF΍KoҋZKnAB6y۴-.#yaT/`~ lpD D2[=cֈLC06s2f'3J JEQT -L4]EC&w3:#' sDHPۥ`dםU)$VN+,Q63YE H(ԑey,ԙ ,{xSۤ2E -^0"[eػp Em' -*\ +-# a>#,=7n4R'ηau EZrp8gFf>y^sX.빖<瓜c2.&3,,/Nia=}uJJlzM:c-mx{N\?Noq:{{rҖJ\2#J^CS"z -P>$*ӝ#|FxtGN+*7B1LRN9?&RNHA'kFh23PRH~T7,d P - 䉳c]I. Ly2rQ$v"2:x[8Ȧ/̎5yc4#av5~kGk#~V]W"E*488@w' -όBI#d%p4ē%1΂q8XJDʉH^0cܯ;?vB1i{b vYј%h$'BŢ@=#2=DRJRX+x=w:Ur0Ͼ;P1Ck971ZHU,԰V>rZskKAHul~ckYϛ(E}q{Mw"ޒ (pGB2$b.YNЧm%XGĔIv 9sPbNIY^4 ZJ29ݓ9=s0V$ =CVaARDHI((SֆT,u1)S堄7qGdR@tLYr -:nY1e[F8%œ4KUp3EX-vZѧLv*3Cg,F>7KsbG|9Nʦѳ[Lg>o^fVOB^sF*u_8GXubVwrBs*8}̞Vxx>57[6`#ʔx;w[OKt?[yo} ~Dx{˟Sp*E)53CZiEV$ǝs|OQKX_V Q:yOZe~QC߁Hd1> -RKUux?k $%J~s k4ɉX`CKnkٚMy13H::]o$enjeE g"Q>SœeYEj %eyة𘳈$3)U$Yj -iIԅD+nF6zydPR@: gggz‚gaS yU>n-A=P Ǹ%KDtaDQf΢.UM4l'>>8 "KÉN -Ԝ$f-}[1ԺfSN3&NC"I(@;$׹9z2}qSDX,~(r;LV!U5c}6mSj/_߾K_6ٔ5k'3"!.Jy0,݂H+%rK?xv`IVڢAxG7a1ˢd$ٽ,upVL0"~:?<\輕z҇]N(L -sIL9i7=]E)f^~d Lq-66c^56jGUsX(m(-HM3!ˆ_RĄ+}ODgj}:hrStIǁêTW"9 'ms{D~= I+q{-LⷀcD%!fRi4JE[+-fE,TH(sC8jzq&xaZ$("FALQ6?H41^drok#aw\ B.Q|vxOʹtSOx:0TUc;J]bT~_prٞ-=xxp笅h텷Zksoq0ZۃIaZexJ֣yKs|{jk<6WN~||-h+ɵN!Fw<8£g(KeM$F5xgtCѐzB]'m2fkZ{DmV♎,`%3Z$ůz2SVԊ埲4K9M1Z-,",[3/jilԚb(1gr0CBy>ÝS7;ՂH=E\JKGwm#C.ӟ=G?q줧3Nj=IøV &rMCLl`0q?qQ3`֐dl "JgCV:giw΀E- )ykd B (wӺՐXK]N0樴 ey<Σn-)$u,ESR=FBs!8s,ԸqlBXǿo׏"5D"D+$b(1#YiY1,@)MhWu"E:k(#3ZSO^&:DE SV1SrL<nE/_Eݶe at- bQ -#gyj} 塵B9F~tAyYoDAi=32s$w˅Ncs<l d-H 1Ն1 T-K\NκPR+r?iR nوR%j;GbѸKy>&B#;TbJ[,MӇsQy*%9OHZf(a|Fa!( Єpߡk"nz#ʷݔWoǶ"߮߬me| z:Vq}8_˼_Ci9Kv .mcQ}P!K:& ??j4w4[4/{?]/r|5HxyLL%+ KBӎ9;iNyOs "fMoqz"^F2)@:Q!GևRNzFΤ"~ -GBH"@)<"ψ5={y9!RZ+CQDh%ՠ,I-2y$0/5%ZZB>UӍÇy;MCˁd۩qvbɽVf{NiWg߹*Y- KeLLfMFB)D1mW>:Q͓NP@r.+Z_s}:zG8őLK[#1V{0Q". ȈH,<& ˙2G$0rXǬa>-yl,^[ M"EtSNp|%$ ?_,ŹtE4ŋ132J2܃"<4]m*,Dg=>HJ&GAk$LK`H I)0 ¡a<Ҝ.̄=42OI$/X -CrK Ybޅh l$•aABfx 7nOW+ZG}TTUFPLŽлYڎw emFVRL@] -G=-UlXĆUsRY|+ϹHX8JcZU$ Fv*-yeK5K3>,su 9Ѥ}w9#жlݏce﷼ݵ.BcGbQd{Tf%f.|PR]VeR4Yq\Y}p4IpcHL\(\%9`8FL%2_ -@Xf;q $ lkbвAՀMK=g*iZ$>iq+RQէHqM9S_ڶKճ/T&/'h?8{ISg7JUeg棇ED@;Eif - ֑Rf)'h* NKE "sJ#R~q '[Bx=1J"ﰉ`{X -~9HJB@jM.HeDKT7ږeT ^7LM*BEl$JѲ.4gR&EFQj՘W&g A qvą5VrרOXH|Q9YUGwR"n tJn`3ty)yfùK~zWyI/ͮ:>FVQ¬oO>^gEt58=qu'9OrY8nvwRSk<6;m+~oSy|\+FazK}AL󚒈"tf$J%!)L`|oo^9%)PD,FXȅQSjiĥPJNIVXA޳*AѸEwi8gۜ.tJsWZJd)A %JLi:T)W -M7j,LD1!2|ޏ?91G:,+#%$-HI,Ƥ=a-u9#2V 3o|: 3L Gϙ>㘴VZWg5)Ԃp^^Ν=J! [p!H!8zt -)(T(!p?7)"DSĝY)JdFBBM8v!,ZYKitz.Y -Օ$ViItu| s8.<1]<~?2xN2%[Ф -.+)&>sPctp{#-@8`L}xݘ8.~L K" -D"y2[jsOlSX4xNOWLI2>8åVp*mfR4. ^,j򰦂) A#S(+[DN o,+kۉ^~`<|Z}\Rl/r?p>J}?W~*K!dR[C#KlfLoc{Z.ܾj'!oK[u~cm/?^w˧y;E8%$vo/FsQkۙ+Ӈ;hĺ"+DSyG˜ǼsJ/>7rXtZIg-^Yv̦l<`I.IJIxRr "(2Yr$UO,R?K04 MG!9{L6"EKSj҄43[B)B`fR!d!ߓ.M﬏_vg}fO m.l؏RxF,RO-BiapӀ03 !Hm#eL+9PdE%82=, ,)QJ2؅Τ?anB2"$- ĦfRZSWH*‚UJ@d}Fj*ӱG -*x0cy8K~Ԛ&'.^qSeL2HaPȜʶd==" f 1*mCPDSLTS -jP5wZ8SYf&̢Z$. дrP^-HL -!Cg PĐ@x_L1FRZH+TR5Y,!u`f"F\80i;Œ-nG*C0Χ{R!V,QCԚ.Ks3d. -L U!{-H(4B6j'w`ޣ*a>e,3SPv"6EXbCWcбi߽QVxfNV3VRdiNِ8P۝?ѷέ0_o&*ߵv}zyvZ.^܏~t^2d[C֩x{+A絿oK~yyXݿ}9s۠ eU}Ī?]HrcKw(=dQ00\JFzɨ -/>YKC8Tmޡdiܒp&ȞkNNECXJ%Jp #Qf m˲q?}~'1'Ek+I.-+@ i('"a(:1O9]f9zКJ!md6a19޻GsOvB((t>&B5}kbJ aɲpqBI!u PbH)@afIƯ$jHɄ + cz_z刀 k Rz k[ixy{8n b3 -O1sH9OmAR6TΝV)LlQ"`$](M[[_?=Ns>\m[(<QrϦ"ӟ&E F -')t W3a)s`^ D6JqݶTEX9dE] 'r$`GRyK^NwUd%|e&432~EM9fQp!*#r)reQ60r%D[b0UF)#XJ^!*!9X $+U(`C1*e|4W4Ye<&"'|'ףaF91s(&- T}Yd9u#$(hxmƺS?x<=Ȩfke-~o<# -//Mn5'_$[9*NvL''QPX$ux ?*%j1/ߴdާ]~\%ߎ?~7~oˋn |b>S\֧H^2G+p(y 3BTL,`1q7emVo\*{-*X=H@@)-c>*ƄbI+ .#lu3nNI71ňcHM]<sn?IqO*`$'QZpVZJ\Ga%J&N0H@a`rrB@B<̔}'#xjaDF=s?p;{<#3gd\8b=;$NJ.8! rɾf&Y38H Y1 `,H;RU(R|9ڲZh^@T n>I䲵r9:Xo#$_ocȶr$UI[(D!VOJ\"û' !2ҲE*R"n˦)=3ur,(@8a%I1ȓِiqCE)Z%qƚBV@eJ̘Fl#RtK83I_-';QQNBt#'ktQ -28PfMT48j_EG{1™Co_n !} &2gU3J ( jYUc˅c G\K۝{|{{§Vc}?ӧoyXKtĈi3 /3*S 6.i")#y'۾6l>sdb:q#$,gQBzHh`'e -0 -q=kF2΁!_mfr{i-Yͣ -e;KQ>~ۆkt?5KJ >]e7k0R׺>^v9-uGxM:~9V5qE,csN1KMM;v;Ip9뽷sӮ -!޲ߺ|>_=nZE } uE-dTC rYR{ec,4I9~mBg<=`iDDG:wFAX |`z3sK$3Cᙫ-`ǠP6DIBadp]#.B ˅1aMOp? r( Q("N&+6+3ˆf$MSROl & '[t" -J|9#gR䆱O}wXMf29%0Iْ9E( =][Prb -[$RG-tfd2 |{_^"ɝES8=PbFNcad!F>i):x$\`N3B)zmu-@Ry?~̙(SU{*BNj5,HZm7DAKwN[PuؑeYm<<meG9=)_c=륭1~cZkjNfezaAr cDk?i9WqR,>n~sNmY1?㕹F>dj#.]k%g/*DBKS ̜)$`(G8FP~>ͩLܭcľc 0&D.Q[~VrIl䭉e)ֲs"!'%6@4Vs(w?~~oxO[a BivPWwWV -h]PT,KY/#uCB d+iDvKCAB[ RPuo_i瓞NJb%j JԒt3"%5Byg:KNKH0f[6Z鷑e'FDN 0+,HJ.TAo1`E0$9%dsJO0$SO#Dsgǰ9in>sH舵aӚ1H!"ѻ09m@Af΢eY<򄾟T6$QJCKOIIL*LF$|]"529"S&2~NTͿ6_>ߎN%'1J ཊ*-ŠSr0 [2{vris*rk?,[˃|#ږ#>x1s$XXoS[Msێ9q~(+m!2~[^t_?w) 5^mJ(>y75UrZ(pDow^G1:9qII]澕?&QNҖU>|]BB,,kEA$ +F(R3CkOT)A*l iH JhHį -EI)ɕ@U?|ܢ0㙼U+ YsPIF9SQ 9X!BBrD/vIcyoZKXNbR"0ת=D@XpɀGjK7_ռ1& 9r Dvz?0_͐ f-^͜罷"BB@yΥUѯSuNCU$ka,|q4Z+RFuQ\ TɎS=5ᛗxVSmݮYj{ OChZ_T -ohyKJ!Hp2edDrdwy:gpS a#eya6F /RCiEAڒ N"Dd؉Z -[p5$+34X$^LDǵOfnGH;~̅WA(՝:rf]"t,"NMeALK5J͸+qP -2(ҺkHײ+c88D11>=IߌU^jש)O?mqnIAX/>vw`$u2X!잮GP-"&\u]Jcӽ=K)UNg˰FOt8߮1rܷ*+[Utw~;Ͽ{|:%c}x6 -#!k˗(ik7[c磯+q {:˿|nm=ϬzL/R}Ӌ -6rPl/qOlNG.Ӟe}/WmbY VU3 seDUDN*Y#dm#qX~,ZfI()30 &00a#c gP -D DLT*\ .ʱs9Hs UU,E\g{Je!Sf: u {<@zȌT}1q4콏gb231b5\(n֙U]5XU*HH3I&$#,ܘ #IG*$Ă -ʘt9~姷~!63;MB<`GEq+qBMmˑ݋Z8mϣcƘIP&Ygl߹*E y>-̉ڶЪ h~wK}S{z./EnH@xu˶.dȦLI8!K@$ P+ZkÚ׻JeiaN\BT -Ӆ͈R`!ʶZ"%E44S"P DUJ`J<8@\mNI^?<3Ez -c7>,Yl6;͔E(AaL cE$\Y!1NB]P ;T 1a#I8UXȈZ8Rf -c9SHnaݐL.>o6?wzϗS ދ&U =v+4rFLy~jYfo+ׅ {iQzIiY9dG WkdYX>Q䘴jN̘8(j+gp+ e#x)DR p"j1@ٳG8='~~W<-&[x70^} i1Jv>U/klBY6y,똙ܽ7RU?=rT\]f[F۞[<5Xb׷>orySټT}pgfk!vGvM7/L%oeѢ>%N/c^ S\%h0<7J":}:ˊqV&$ - D@iXF!I(dtݮ"oQ.HF~j@ ,6\R-0%FXىqjū"+!%fR ($T3B4t~\OָYY.Z"2S}Qi,Yz""3pϽntcjH-0$MQҴkyYe&1cu w8dfDe?!AH)A2& -8vضk]l rGt¹ _sDb8,qnM+RX>H@@f!Ot|0r7*c_ =rr~\!t8~1 - -2GIigb,{JH@ 3U`*qn1Xt, ;cP:_ G!G!Bۺ;Ⱑmvf.Xvyݲ&9(H{վRJ-Y9\9j"Ȅqq#ѳ! `Tw2 GH(=1 ( +YDaB+ п%LQ93yՆY;3~A"Euҷ I'$Dr5# 3B99˸`\wDٶͼw#șβSb GĄB.L܌{bD"dQQ #tJ!LLJ!8jʸmH\-#ApO>]>=S{<&v9pX/3O %n:25HY)E*r>zCar2l7ɮl%$~}>ʹuh%ϙKz:?r~qLئG-nߏb\Ox˻waS>[~?xy<a'Kt{w|gΝD>FKj69\O=V |hS{ )%J_~mS?ޖY"2ܟ +ټ˵Dl -1 z˅)eg@pt=rl 8fD1PqH - fj 1zs B! ,` a.`}d2@aᎰCb daX|{3olhJ -H!2 -!"8ptC8` #ÀNʑz aBл~^~$hFF¶ny00A6`ޭ`)=+@3׊m㧟'ߏ>d[6H F)޾{ SIFfi]ɝU j<1rVr.Mk!J,TqF 1a -;q%c݃ <\J"ƥ00h ԁ#/'O|z!77Y6 v둫^F/(d"$!St>c 0)@PGev>4G*B85:ub:O2OTHzB F̓`}J5_ 2AR = ؑtV2u9#n\l01S!D a7a HhK l@aaC:50G  -\ŦL[ 5LD!eV|}۷eoVNI^J]H-A[/iaPK* {7*ydj1~^Z-&τ'OYf y+Ia|캉c98\۠^،q̳ܵ|ӳ#6C8g;b6/ho&9^ק( ,I:8ϛM{ctLzUGbIS>N`AU#1A)1BD -0 81E0Fǒ: n%N M ZjX$FɌDdD0 Y!"bD䎌>зP0%٩\)R &RN~㔈hh`fÑIљztR(|Zp06ľ`@ѯxc[\*ܴ+}ЭjnZ@>c](?Om?֗D78ֵnN̟CJ/㼪Fo׿o ɭ[$N!y&@xTDX܇E>d d榱$3 $^/Fa:Dv+8A`ĵ;Lw/O)4rf - nmz*sJrT .0Yρa*lװA 4@8E)~tT0cfiHyxq6;VA . ub(Ea&@ ̔tX@t!%w` F0y3#hA殆;|#eR ̮Ț{`igAA񌤤;bj1dưbtݓX MlܳpKIN - -3:;) jJ׆>*qx5m-ބiHP -4m LA#T`i h"%fWJ$:V2阥u#㑦tWY>-Xaet:oF5s+3PQr䎬m`5Y0![4"B1H*"Ǡ m(VM؍@R 7A;dp੠ JR;/GI'k;Lɀ%|*,$!f0Tr,($ػRmc9TlV%ACoӱWK'1FF8o}fɰ  -4h.JzXF\6|B^,mM#";t~l﯏ᇯfE㵑$>,>{};ewvsFf1tn"O> !9""O:ߟ}|_"ݼt8cYPl&x$ y`J #HϜn0:`#F a.DNt#nXb0;jZ(3&IHљ(L]Q/$ɐ Sk -H@ `1mc69TDԚESM$L* c be8@ L0]=M_,Iy}nA8 -8A aYUiVjk,/w~[V=ݧ$}h+4[tCN -T.o~w] ew=MQAm!scY:@!1H;Bc B(8+ )(TuAQ70tgfoh83qP<K̹`Os%Y@0 V`A7h#d"^;Zv9*9 -k+jL+"r(5A P#!HiCTI0Pb'0hI$Ԉݠ+ :Fذ, -]U7o#Xj!D0A6000 +$!vwa]{y -tl18EsX)@2V. $AR|!j$69>Nvx}oNI*#0a N`ǂ"` &@ck KʹWKT%PK\ޝT*֋lt3N ߖLQbӮXf/Y~>Wc붮|U1o[>m˥z^> %?5nk ŻXnsjהAA,~ۋ~՜_nrK=-w+H7*A:<䈂1H잩#{#r0{haC1+ u`yw.j+T@̭atT*P<9!mF@L*ɚ -@HPL݁#Fpڮ_q]%D,NTJL;'r!8 %pnAZWס=hcSkqe[( -G4Z@^TWB@=R =›7U/|zi66T(Gsr|ii}~\6ozuQO T_>۾˗utmͲ1Y<8hh) žĊڐ RۣDmsbA>=@F@r".  N-BRbGDŽPCAn$LIc ȦwO!Nı%p)4%R!9 G`]*RRte€ms '/hڵ -Z]]D b}"tkhТ%PG*S~??~rڦ2[lms>_y?cN63 4Lr(gLu[ʻ<|_|Xr9 Jew4 ۠$Hj(ìw&i[H&9GFC$C @o)rAER$*dʺ,Zl{:L eIrwwۗǚrH9z( 56D4g JɌ@*803rPxhB'y4#@ Pt?Ձ,qR"@ZpXσ piSX7ȇC:$d-C RX]`!&HDF`l0Viv x^}%\*!AD!2[yt ( ,Y(Rfl$D2F(!yVFBU4YCIؕwLL OL:Dy;dDq~o~_W_Sf]aIoxN7:S((zxadeXJ{dZo"kvݒ?yPix"<=NTrz|k4;v偱rZ/yl׸+L qA$'{(?EwۻsV6F*/o?>4=O3`:rm ?tmRFȅ`P@p)3H@A!U=:D,50RP!m>Z͡}gyXj0B1G! h̷kj4t@8 < Z9CiS lƒАe#KLS?wБ9HYB!qB#x\aF>H\C=( iوjQi݁7hLO H#B4uNmW(c csEVx ˴u qqAˍyg HH!A'"I@Fb  F%3pP(E`rt9ˑ}.&T>p>=ƭ}Y_Ϊ -Ⱦn, -H)zǘNS^)aH4k8e\|[7K}^#C|)Cr+/j72oF]j~5M!;kBrzڐ|9㺭O3HY<[(DpʒAW|wʼnȷE雾~ds/nkbőtN 4j"Ot53)$`E>>^rt^T)C% B2hD$_W%eֈk\Vb*KYT#8fcQP\ ->h:=0 BBtl1|ס=rgII=Z0#xev*Qjq;onaހ!PL5mзp:V,$ΘQ/LFxQ8 =@* %O^0LEGI $5BArra Jh('DsA%Olr8FrIL wd$)d&Œ&3B'\( Q젙Z Dtda{n׾st "!XzBR=2q 1Bgɑ؁3PIIƠDER&+G!vfxvlA%S@ t XGW#a(~nS4Mh} jB$({dqٮHۦ:C -bo ;u\6jyH{ 4zE8ʸVrrģ}tǵhi<w[YH6DMqËҖw~>_Sd@oǻt̯&t"%竫X'r}Ӹ7>Ͼ<3;dm!s+# 4ȻDDb}*~7ٓ -ހ#&Q=EcLÆpSGsOҔT   b#ABWڂF8Ya EA#FP\ԿyjݖڗPh@DwKb(";2J -Z{+z* Ɗ=G2z XYm3a8ۅ5jWirEkޡvP){NY*ȎQa@JlƈFa(#S &nF8O>>@Oy"#((H #se"WhA& Ӕ@I$cx$`.^6,D[p4ȂoP[`Ȟ`(# nWCwy޷m㎜3F̧0eaU\Js5@@ @0H7`Į z I|@]y)kl>2 @FiI|s)>nou%{_m_etL`o%q4h‰NUt/JX&JR>tqc'qL *LHq^32ԞQ'4-Aԯ4{r_Xᱷ'9|pixJ.nLsRO+ë~ySfŴ~቎KKԻ b\\^㒊rTRʾ/s] -xV_S>$5ab|+dPr s d.sq ܘ0 ˸2V`cF09%iߵ@;vLHꔅ3:crC};f16Ru A0QN"A4Ňg<^J<(RN/Sѹ JMyʾ(yeAZsA"BGX@!Xi65Xd&/̅V鏉 d؆$`Sndx1 #\w Øc@RR&H$uf83Hf) c:6qV A΀Cb5A;5{W] v#YD$$GҎ@uΦFŖ68F!sh@ vm0Ft":$ 8GpgrtU ^㇧ޭc/_v> -P@7)UַkkTHpvWмbyCw8ǎœo_O{қi:8_<z՛qJ&Xϗh4_;tnP0Eh!נm yQwzgQ^Χ6./ -רw<)gR|3'I+J,#eߥA;V K8aJ 3eJa*p8dQ( @ hE$ GdE(ށeGrSgw%P2EArpes tّhPep80 4w@ <@*x6rN2d/&~~aC2p j@:Fy>n;\ĸv:|x/?~,z_vTW$e8T# yP -4UDH9os $Ua3e*!da;fNŗͪUd;e $A2 at]T>ƈ tL^Ⱥp \_<,7si!웋.h;a"0QPEv䌰$Sp@$8`'`_D4uOv` uHACػ5Y"! -S2$ęi]#O۟^>Ky6װE%,"='>pڑ9W)ѷot(r]E#r䎢4l*iKˉP>0BV)m`*r4̨8v!2; -"9De7|ؙ9M3 A܆blF!G/~!sA@ 镎 TAv;$ C Ez;ޣN# ׎~aխ3Wr+TJO? qexvig}߽󯻽;7,Q‹$rDpӀ4 UD$AQ_n tCX QVauc }1*aB u)Ljjsc"T2X\9da=%)@C=\N_}~~}Z29 A+4'ҳjć|B CIu2 c +A#ɇ;3<8C:3 1NY2}8" -8 (cTC F4ܑ;O"<" șܙ31 -!訉ɚ 9v=ܠҸ8p8:k#Ki7!c0y4UP6kh}@J DaлZ(R{gl)AJ`ֱ"QE06t 9&6lSBܕ'{?}G!hj{W{i41HA:VE8y E@iJ_yWO4ߦ;x`xfCcKm؜;~c}lg*q{\Z Zjn=)A/p>`5O_\~m Z8)a~k yV>LWgoo6/\% xdV:T@=|2&K4}?":G|=K}FhP2>m /e)GG!C8 1F n RXR0a7OφМqDe8h &BTCGbf,$`>_JPTH2qIp3N}XFL(ь1&ƶ:MX 78-pzxUx+޼24/}?S,D2ۯ=oyӏw@$[w`fafm $,$eYQ}%g 9:g {ݽL:3Kpf_fC1IYX%0G‘#!4 nNtt%È 9Y*5U\X;tI;bFP8 3LQُ20 ^"as T]@9"ykk)HD YJT*/7 )X$ r@7S!'V3 ٶF(PniH[@jIl5lmW0Fv\9DBICJF4^ft&`"H%K{]jWCN =`$ -S #!fk{'Ĕ0#IBdc$aڤu1)?|yK,]ߍ˺_}>nzA=<,/z±HT@e$ } p9u۟ZOuYDFl]/F^8H_RSֵn<#YΣݾZ86{LQ-\6pnWYG> L5[\{?9ǗW8f #_9*m_ Kh4\>ɸj?ih.W;ҺH|;lj~7w\w ń1cQЁlx-].~ǭig]c:LL%VvJt4%"Ud® 61BdG'B4R cI<ɍx0 -#wp&=P6z@&H$Hyh}_ B)aF4$%A !@AdW+@(?TU2߿_/FKbN#q'qF/͗O+MX/jnh]UU0'Pʈ9m;>}ߛW@)*S6A\vҭ*=Fbaֈ+͙$Oj=d@L|cgTwnz8^-D{9Au$A2r{8R(Yc - P¶E -"f&@HAƎiE%߈R9'ѝ("196"s2H`di>TipHiR -w$B¡b7pg$Ds43r1r@r!iX0veB[pLAs -%&1!Ҭ!s8QȔ`[¬INTXF8,h%e9J -&j -E8N/ -2ǿ1qpoL_=zϫzpEN3]QafHf=Xrӛ4|;7k=/Vp$*-t/[w'5yӤUfv\Ju Ŏ2qLuSz^?[I5ÓWe)M<6C<1њ;U*w\]f&\AvNj*>ѻf +':@=ЦG@{$fx2D#{޼׍K{ovzZ}9,@قYpw"p@CV1D:AɨhN 0SDH7mN ȝ-uofnPcZPidb1:!Q`cU@bϞ -`G'Hͺ Luj`>曷_=m~P)K{L/gSK߶}?//͇ 7tP7wA@77E4&EH9A01A[F U@8]r)Gz@D -qJ.̣ -5ebaʾmn̽ B qb:8:p3wێd  #T 'D$%!a0A$`K4:`36!' D@1F -Ё -dJ#x^xG u#$48 cc\o.D )1ԝ&L -kOGj p7)ؼ' 0DdDɂr%tPv !",1 nUBu=RnꜲ᪚*6gB4%Gm;O=mc۱%-'Bs-grD7'B|g{yg5tE BhcwW.s}=Oh_@-{fǔ6A3ԣwCps"w ~ЊT鸭_ $YۚF$3 1ԫ% 4lrRJ !; S4 3gpC! -qL߂r"t'(`mE]mP 85 -a=86w4rJ) QGb*da e@g@Fa 6ёGPJѷ(l;ö߼{z+N2):}?ѿ?9N,H۪'s'\A=`@FFաWb!0#IeBDpf@v%;_0CPrJL=)gW@PGDd'Q*C4$m}=U d#)@?M/^ &HF @E옰x8ArURAh ,Cɦ؁# -SsxA0D o9a#/Se$6rG:PdmPp`1,,w8gHT >9DٍkqIdsJt@Ia n1b'?~xj_4KgH83Zs31!rܩ{'EKBٵ#7J=SXC_oX(AXvC޾Y֣Xjbԯ2:tG-gژh׸#/5?6"dW/>/^gj"ac?@~ܷThm5. NJ7L>t"Cx_ n֯5 iMoM y{e&*v/yt0!orvkoͯ`z:4* Ey qD%Di Xn|$ q sSP i[dJH[ P,N9rO:"!g : e`s$ 휭K)#!5tJݡi7 vfD 2%(m ~EG> O~~xuW d{۵]/7\ߍm/OniIjfr1<1k`tDT82`>(r!c⛿n`!X\kј1Q k]ʬ=*{c BR@PGz,\S Ȩ.p#!_ϪncD TON9ͩ7,8B` De,0)f-p 37Bln&8 -j3`EQ Ө^廿IHHÝ@ 92"Fec'Rv% V!bNd@)K2B7P ̉)QXp -*a` D dݹv 5+™ #>(|2al1)͜0 -@lCk>\Fy2m``Z 9$%Ds^9Sp H~b%Ee{>~zR(@a&F,lߜݼ$I8ojJt9%VK([yA?xgij ~C/z6QWphy*d^fC~N:l#<˯Oy{:.*҅-uN·;AzX: Ăxea&,r{5dS'LL&::yX}!xUQ+|kl *sr $F@DSe\݈{K)V_AdHD K@5c 5WPpTA+>[>ؾ>;NO􃟼ZC{.{[7_{tH|gRVɤa b`G 8)|L%g2 g YUЀ+cB&@G}wC0a - `TxIL#@Ad"AFc4WҒwt(#@]yn91Q^ݜ% v245&Ԡ 2\#*Ѐ50"&8 "PCQ<^!i(F0 p@DK cHDD{ȝs B =uJ$9OIG8#1D -iFB0,ɓE7p!Rxp -Ѕ 'G@Zknԭ UcR:Ɍܝ,E1YS/@%s*8 -к{ʈf" 3uFA@nF0핂O@ @ 4yߝ_QM/~ޯt}kW0`m 8[Sb4}34DyȮH3' h8.֍(^tǾIWw~Z^0v<|΄ۻ~IߑiPpVYzUcixA:>}]UsTk8&O:Re) j酖j/3Tu7|}$|Ki㎾y7m<:wy:a)TEf dK$Ju s1y!ai07,y67.8!">q{ܷpW1etE R7@&0Nn9`h ʘ(t*!/fcSIOB5s)2h΅aHЃSa.]uCmzs䳗/7?gwe9䤏z_6v/sMԚauT ct'65`*$NHT8%". D0|T.ʜ)c"L h'6 *;g`rn9(bp:4Dƾs)iL\Íp v<W7WKuBQ>yG;ȄQEBp - p0Xx`HhQgpJԻC 2mi #0!DT[l m[vF3\ktnu$(Q *D1b P$#F| 0,DzlR[-R$u9mkٌ1RApr1z`^E!!F>嘣|0S>| .1EUN;pb'zCI%@% e/KfCۨc{ n-͒SB>H0es!=˔I&&S$s=.A!Ì#`Y` m# Pf0(A+X!L]џ_Q-#gS̥iR9R6:"MɛcoR70MN6KZ|Wmزpiq߿usO7:uٛrsa;ϻ@NҾy oz{f&]c;g6*1o+3|d}xPLAJq;tuu9c.o9 -'ؔS~4xtӍN˴ꇃ/Dp&{gO4{"<0u`fL&lL'Lh/K]ӏyBf8CHyܱsq^M:8(lc  ki9r=C[W<*ɤdA88:"{$ -EjGC[~ӞNo9ty^/ᧇ{*YҔӰFo6:BN0,b( NpA̚#1 ! -C3ـ|O?/^ET2ں9 S9$v3GcPќELLAy#X%q־(PSǾǶ[Pj<)>}v{iɒhh*a4T*rahfۜ;6d#4Õ}(6@|iV -γ?f^uu9)H,|lSXc$Nb:lFD)k* !BECPCKVe!]0hU5H#wSR)iqDݙ nhݫjyQa4\wDXsaADGX2 VL"\4w@H" Cd1FI|2$) 3FĤ)8jB8OM`'>,K-m~?]90 -zc ;JZGkn9*Gzhk v+j\e~LF~ťG9OoFM|8*`Xî{B 9__s{yz:YOo?|=,oN$z: -ŊlU ~2ov0OAHgz60JatQ<,2O6\|') _j]+Ӂ=W۾|hpc7bWk:GÆ5Dr@5[E1y>"vl*4wRq_z{|8WV8"S09Ep QVwC#`;!*F]@.J4aNI^p쳧w ih#|49" Ru‡{#́F6W.fμgxcR^~ 4s&3\ىab -$Bs =ݶѕ(E+Fn -J,dC1754\u[V&U'͹>ݛwώon#/yۚxλ,?ѷ\8Oed '.@p'8gQe V 0@Dlt9lCWۛP -c-`ͨ +ꔍxo19k8W?(lv0hptLʗ?x݌eQp1ȁrɼq -v&"vYk c3jܑ -'N#@Dp^C2HK [܄6%|AfD,6AE%M'Y y!߫)SpN嘳U"GA\(@`!@ deB[)͜;bkGF󀳴9a>(Ǥ`vQXgpϙ;T9dtVS$(t$֩t-0351;18Nm=′'C_6v?\cұ>q iV$Glr8q(!d8wY O_pxBO[/qzp;ą㶡k8 4x}9yu5RiR --|ɻ|Hi 4$Ve\{}7UއܦE1k=뇲ʹ|]ZLi6uU.CQnm/ IеF~-r昺TsiT؈fT&I5ha\ 3H -Q+E 33ET'FL#C+o wnję -脀5_}oAn@Ԟ(ldA>% DL"D.L#FSxمfztsvcn1œ| NylğH%gSeFLC'ԝQw<WyK[:.yK] J] -}HS$M֜ 0!r!#6:1H!! -U%-$S0 ! o͆)N%aBaD'+`u/ 5kn2ZK^bzZ(T=ڈҷ>lN8/7m\,KELlGaiN)P'@N=d );K8n 8-4# -Nu9#['?#a8lC; f'F*mv3M)k 7-RG2Y%eS2WL؉NI+ArD'&JHF!p=ȸՍ`(.ps ==( !y}y$) y@5$ͣxrGH7, #Q&GŬltLm}Z2ujF,l2<(EÛ9r[:vS߻[~#Z_Z˯ךz47m8ÑDp=Uk!z2mJm5e=ۻtąF6t҃{XxfKׄ((I>K6296)Z^IuNtodf1VʾJ龜Ʃ|5$ݖuc'w^"4&o5]7c -w͗Wז91/ǫC)zL'cnoO<Ckq>(1L=&;2GLşc`q<9#*c샲r -U -W9ԝ,翨o~tx\ Z , -RRpRӅDm΅!p1%pFA235>pK}E{%JC"ȓ5z&5rry -*Gd^0#rz8)_ڷv3})Is1 CAA>@hPJfw J$ e&ewb ,M?%Osp1 -|t'&%{xA VYPFpR M8HVa%F"&򁷔 -kVM4V&W4U2@%0IwkN#M9wy#q ^=$Z3I\mxXl[zw^5a#ʝR:Y {κMlg,+"LI9O@]tbtJAFf3dPkdVw^N_b ЄېR6X׭K㔛Ȱ^B~Ǣ2q,Ӑ뵉/kħݽp)2kƬYe-7K[|ፘ7iT/TFnrKeya+:f xz}i6?/1'r^ϟ׽̷C^^A!kconԿ|4i#=i!M՗+=$]Bǐuե^뤏<'|)`wjyrc&i(fD:拃;!j]+eA"bB@sX &yv/_/xMҁIWp&^d3 bJId<@LH sG*1AD7 e 8 ߉TD).6:V8]I$֟=q.e.럏WަE5OC˜FapF <|#(L1,7)!L1dCN܌*LID"XeF 9, Tn A3$!,D0%o$ DvtR -c>餀բm;1@_&󭏕p #)f-(9 )-eRIx3QR#q9\ - kX -,0AZ!HA"lb-Ҋ^㮐`" h o6SB,D#c$ j4kSpQ2uM)oq}__uH"hT24h8Xסּ%bGZyGc]\y}~a2c.;:J+R_麍k6jO']ZPy/yz8!yb _ҁC$J켙5wIv3{}w/uf?N͏\^X9~gA;״ hнua8G֯bLڒF^y{9/YP"6^7:PRu1se9KtT"y ]⒅-\x!>*}}|]7!W]Ȃl8+GRqE3BwL3%ΰvEK6"+9GG XaÝ"4Ġdg}FLBPp{#trz/9^_ۺn/ӽ> [Q<-sea' 6b&DI(̌0 -@D  ATz$g`rpg/ֹ<[1 -hm7 OSxhZ[3 #>`"f98 aLS*?&ex#&m4"h HiAJz.%;$>Ld1erӔ2;)29x%$3J`rM+I&b4zDl榡[X؇ܶhҨ$݃Ma=؝tJ<]扴`Zr_qP(.&lݼ$'kNAfrG۠D!=" #܍Д'EwGk6tYD|Hϣ[;e[If({T+Ф̨rKLKt}RePVgҸԲ]|7N`~ _p$hq=K|۾^7>S.9 AP7@ܝ?u0y ѩtWǐ6`B6RԑYde&s - -P+DPjcr[U"AAhWV]H R%y\]>7oo/ө~-iMI%V -!9F%s({0p@D =";0P"XAH3qh /~ -Bם5oHrS):vna}&x#@r/I >|Z4 'iKx~sw:p\ { -{%) 8eubCp@R ""V3Mlp6!4zpޛ1Od=49p?p]ݔ9'ٜU4"5cꐔG[X,:i>ϙ࣌vDY`2dB` N]0_K 0nȄ>AvSxixm1du!JU-U(LIS䮃UfywNiF΢޵ )b#FJ3Z)C)6b dEG8l'u )oG_Fyǰgs7b ye^eiQ}2E摛WJV57u39M'[/ѓ>^DJ^n}Z,o>twOެ]C B'y#G9ڦ)Xz/C^rަ|w_uwisup:tyx6{O`-x=o|.-+/y#Ǖ{<˅- 4X͗{3<,\7OcKAti^&0{aOc|~=cqI<< b: 1#+dbes u0;'L)8k)HI/7MqQߕܔ4Qi|ޞ?ZCȉBgB&*eJG`Nn]Ap A!f -Wo$$T$(AKX 3Sb vf%@vXg␽?xp :;zZH(V!BDc8y]@F`RK΄žU7n:fnQ13|@LSAcN -"N#İG!2EyvPk;(3 i .}7&wE(<0όnAD89:i똎6IԃDxSV -nnC m'/Uq=ʐĶj505vwZNn"TR>}ҁ8'oVE -4%Maqg/VM9~ \u!n|y'uJ3O·Iq[/:n;RJ_rV;YE5Zo9xN '1z&r8Zc>cy쒰j꿰ef*`=C(T0VByF?O!DAƥ g4],0=F|9IUv-K( +@EOa%qˁwQP /w,daRHƣ6!<(csЏ?<"%gtW/<-S+m:&?.5II!؃}"Zܩ'&C;PoAubf)l1,nA̬:`+D$8;˖?j4WPa)|LAc .ZuӤper6Kao ńp^G J.V>,Hn3ºtX)] Gy#|LΖOB@T1,8i0DV`00n *>26;4s4S ep4F$ -;CY$K!"̳G2#[p2F(5!w7W?m4ߞKԑ :%H?l!͟O."90GJt fx} ^ :\GCPn,O;5;Z=lvH꼪gz>bgiKcG_xn_k?O$RiQN"q1O6DТ̀abV4ʑ51FNV/1cJ'a7N$Xzhoia1.YI4P"b\ BD18bqAgd+ß/ߔ[]nYS^_G2Z?q#aݜ c8y"oi0 Ds g u@2$@"3(D0{ -֢) Äpf"N"D"<*1 vq?|&ꁐ#:N)>,{mɢGTfk#[r&MȬ:bTۛtX\ȉ bh2dh9'DBdFAX2%By%Dw4QbP`Ƀdp&'0blGJ,KBpV2խIJyj6ۜerJȥ,E̝L1`!'e١(BLXd#kG - 4;.k3k4F"apAr4eDP JDxN1*gp,BSsu 7(3#MT`"RZR2;P: ?w?F*~߭ :Μ -;)V߇I`J:F\2\+ov>[*T;˞2ʼn_j}Ѭܜ(0:Ɗ+x3߽;-qmFh#i̓.rQn pA5Ef-ж~}n jGFnn? ~c~pjު<.2:[oKFj{lw3!/o,7}L_x'uHꉉmӼ^qBη(dUb?sL -L}u?{lRe -`05%04x ' o9'C0F^ma190"`vf*4 Y{o 6N 8b 8O #1jIoo1Rbv͸z{h:cyw5H) 9$ v#&-dD0 dP7(g޷hL(:U `p2GpV"y$OWopTҗۘh}p-֍15TM|TADHJ,SA>=榼8L- 'b9yYuxĪlԙK#6 Bb5=1uj*`ϞZXcN-1Xn JJ]aEL:Kf)rA-E2upj*Z%ݴjD&Sf!b.BL8މ976@ d>]%&$[uM/1[u7}c^kGy*b6&b>5TsP@.y -j\=>׿|u^iޕzF LywN#^v0Nu}wNs}~t LPYN[JCD)Z/mt;e\_ e' - -=F03"œ"؉#2pY`h&R!L ̾E}6p|II`p/#MXHj/߬iRZwe9 ü{%h49MUuvf%' |H!o<$*MfUUf97r;GSٚEm]" yQ"-ɘip;axV{83s5G 2"& ,lHnWYb hE)ElS1fHscעU.͠ԩA4)eJB"IXj -WG:Ȕ΄cW b2H J/0j@۹JGmmVGP2٦'0MhYdX O(c]TEp{]9wdda9w`w NBzh??ǟa;xuzz{|ulV{>̳~+[|LMiI>n6xX%MlީXoeʳѴO79JŶچ<.=qIR"bfh'_1f3?ܩ?EX|wsH+J#Q"+c_/硗W),_h?)TLiN{i#JIcyfiӻ4tɒ_xziӸI:~ aq;G?V#o$H=)PqHmܭU2$DrHY_D*QۓZhiꙒgW-I(-rd:;QiL b/#EW YpXvқHZpYhBXаMiKt45ʎ`h:c>1.OVn'ɯFO5pcvoL}Wr6X[ -AD8ȝDBp2PFu&3ŰcN@I40io9QxaWԮuwߘU%. }k;QgiZFTܢ2sQ a 27X|zm&PW9n~r*M!k^C$e*,d(6nH&Pj !6 adzK8KqZ1ۅp W*w"TwAe'&j֝!8t3F'M Y( -E!%FysHc&Bɹ0212TȍcL "Ƒڕhlt6W1󨍙rB!N0Brn1kbx9r$kG"5@/|q'hh}lKAr'á|i==2g>Ň`Rt7pHQW*̒oqzS7ͶA}>-4[CbHШr9JBgĵ](^c줹ZFw^Zo^u3rv}Z_Eͭ${t=?.է$vB Ecƕbu׶|2r#*rFG⏠2({0cհRIO%wRנ>ѵϖVnN%OdQ}M_X"G7:|O&~D2khmCǦSs=qv|s*"XFhKEA"vf\66XZH=XRa{G^3!#)\?FH>tԖ=$`!U`?!I '}]^趶X3I7RyHiL77I*zOwzRIux "p9PR)VW釸92I&-EI"R"1x~}x12s-Y9LV8zmM9`m$|+c WM Yij{,ӜMJc P6/'y@קߜc K,9ODJ=$wq)voܣvƷ|sߊ惶UJ\%= "S:'61K 9KNĜFI[`"b'Dlo$fg6a>8y|MwKnC& - r2)dS+x}2KڼX{E[4 zs{8ltv\Z?c7[:I.G ̉=أG;wqY aH#prBAI>,@aTPRz&:b !%&1S4h !x8/x V$B<h)3 DX;uxhh:K6sX_˾Ppn)LIR$7w -KlD0H2AJ̅BFwxfwu23R! EpRg" s! 1%*{Ra Q&@:q¦$C/?} b -3$f>,g];$>DASADBhpIi.wl+p WO7t1;wb"LTuAX1 -Th01ǺY -ѨE ͚; ZX"%st9h߈9&\@y./ Z{*|/Btk7d."iaQ5c+s}ƣ?E峞+iHOmO^8[i2WA~!mF2>ZT)J L$: $R۴p Ihg~2}=:Ƭ1((0ik+f2e=әFXuX,cnns>i4trwSNq6+STE\"(أyKVXDIA.,؉@01g -S LcS"QNK/YE lc p |7?})%(r|0Y}XeY%&-GO*FvgsV#9#M{HY5-w7rwvX6Q5s(iHShN)Tm'0.\h ɲJWy]Ś4!z%=vM23H^;:ܜ .oߢ27/go[{߭C?YW|6LFGvVjLFm3Nz<@ъ%?N2Śu}4MU{>6y}KyCؔgtmChMi{eQr -yswguW /49$3K'AN(s>ɺ^ƛN{8[KXU9S$˒nC-J&nz`(P/\4!S:Q|A|MorK['QQC' '/&9gӇ;E!j9E31>S=L!!Y fBn؜Q"L$y!cWO֔^M3].s ж2`z @6Rwn>e}7iErNJI։Ȉ;B>~M sB Gp3D(9+P(Jq}zuEA$#@;t`8,xPE?oR - Q(0|wjcwJi%ufҡ}PR>X)eqфhXN5OlSJ d$G-1'"eIh`AANDwHHrcoOkApWf/;z(E e738YB 9zkHCՌ{Y< ta, -D9GB n»v E6PvE7R[V}(zh -ZHh@(0Y8tu4(}0Q 3K𖄍8) fHL6PFFY<4e|_W?~:]_NN?Պfγ˵kٯє@u[ !%Ggq2:SyYy{4#^G]6:ma{ex;}deD$ޞ $ -}!ծ[ü1fy*oڮ(0Ir-$?@  X,Jl J6ko[Z)s1]+_߭O=^iHC%׸~M.u2ۑ_'H:F+ޭyn: hQƳK)ei1G,2=ԟm~VLN./HOWR+V^7Mj.Nc 8涘8,!O!3<+w 0Һ(#" 6 qS&PXz!dNDV=ɧg7SrvDOlC}崻}ٟsI?9VffreH11 2z%#dtEp v-vH̆0B@ - C '€)dz>O lcV׀ 0I3H1J '$nqvy}pNH>3fI p,G,]jlKn8O%'@9SPWeL͜vC~1M/8t+mTWA5P -yF! !f#TyHH(ݣ@2S٠E8 c '!'Z?'<#z𶨡- Iyi*F" Ds̅ibqNGabgU0a^g,=,Yx8@SHF A B-&We5y Dup,0fn"K82In68Eqa!4))p\3'*":SNQSbV܀},wQ+k5(~:|o&Mnӥjc.@WrukHQ]n0ٶ6ѴRQ|=깦'*wǗcHx$V(n,%U< _|{"ay1NsfRb - -Š|/Si Htc84%[zҰ|XqPjcG}ޞ88<~ȸlGw eO_2;v]ps;g<[v_.xm}EnN67R{G9̆K i8oR 62w_= Q8NJL H;vRXQ7̀ÞZȲ!%]zN'̯l>}#w9ʹSkkt/9pX6 {ڧH)A!,8^7lDF̐=;A I݉+8la@ޞ~}mW=Ę!#w,A0 &F ׾OdƩWŌ)39#%&A nUW{sJ[ueRB4%p(/0h" :Q bLR2 !QF7`HdC{]%@E0H{4^  -FGwGI#[B!6ȅB\)%?!#rimCb@#C`@N Nإ2 @x&#\ Eݒ "NWؽ"x42DGd$ ;t%p#XE JJK7uDTо-kWkJ"D0#%DyGN\HŦ0bēY1EJ 8$!0A$t& + GHM3@ Z <œ ~O)N/G"ai|n_]0'Z+-n's\CK0 flՆސn5T"ҟakծ:2coy߾oi"G>Mw/d1[{J"<8+h]/ﱂSvQȳŐo 5 @~2C 2Ͳ[|iKpݥ>]7}INGcIi?O싍k,3nZi -ɞ[n9mن)-oMWMM΢Gȗ|Y4ڶTeli$esSJ`+;bobuOztJ D! ;*WQ%DK_-;FX̌2uꣵ P4vX#ҠJ:="FJW$ -Cw S3@9E -v@f 9BY HXRG !S|::bضkkUkmM{Ϯ#Up9!`"bEЂ0%niRtj8ndƂjȄU#إO=1wP -*T[cG ok.5'o߾wVo5̀Kuŭg_|"h( 1C\cQb˔)KoEh0`Ef._ -u*=+(:%nKͻ__' -ĜDT(D0҈uќJ\7!D,B*"| -+y6ѯw%!ϑ=S7#5븕n+?rcď܆DQlh g͊iOˎׇ:#>F9l'H=2>N|xA| )P2 P<h rZcB'tv$80,9rKmDٜXDQlOקƻHk~\翬["H $$p5;|#24趂L[ Ҕ}CډE 7u8) (g?̔xt{7)' ElaJ,@^Wif3LH 6+0fKD R&EE DALb꿅1RA-XcQ-,j"k\.DсJG3: q`S) \LҔKBBрgǠLecTGD!3ócº9`soW -U5oks#%^XA1T+rLnW [ Ѹ$ 'ĆDn0$aLyH;Gf%p QVcܿ_{so֏?ę0 |(pY< &S+K3˺!i<lmtPþfQnr 5gA}_{̩ߕؽа\P/g.0\FRe 4PxlQzCd ])кV)B?aN W;" tYBd])ϥ>t^{Z1sYLPv0IFh #m5P׳dDfHBh-T 1,5R"G0 @X9 H!/tuk]w3_>_ſ4iT -C%h-ʰg/ՒX Wa_4ƌFIJujQ2a)a@kL1$(XdRҐ /w~։&}m " K"%{ Rȟ 6##98#2AH1'jNdg[ 3FL."Ķ:M_N+bSf͉j1:#ֺ: 3 8u(00Lyiˆ)G5b']#.R82@?!wv3:nV֓43kCҶQ<$b#R1`D % -D|UtEGvD] 9he S#bD, -Y#m)CB.L_x?a6!>Ư/COj/O1cS$uv-$mQ^p{ y -V)i=85"dP2m">kۍE\:WK %Nv4fE/0S\)1@rrARgqܥV<9D~V?&zjH%Z# - *42[Ddf8R҅4_Otw(0<~{=]8 hJ!TqwEn]%XSplhj1{ٱwDŽТPIDn+2; nΙoqI`!x87ltXNS|.ӿq9 [B*{w -wЗ:}S:+y&^Xu%4d:&Ü|C ?0NVqa \kx8:_z<Ԉ76$ |tyGI/[%6aA/tDe`Z ֫f/M FƺF -ǎYp5t b3 -*ړxqΨ k[@зw =Ȧ #9e`9b01"ٲ!8 V7dMgTB2'R&\.f)bڷE'_vjj^H7%++~C2ugDI3IUAA@ P 9A# Hf"&t# b"Ba L(n(9!:KP%gO$2a4 W[vye?1] -yJ7?Z{&a`G[.nO~t E A]pʙpi&@Pq'LqwLP|cHBF,4mF*&pN@.TAG` J"1! xhh"n-h!,!7s`= ;{Gb 3-q! -튁.DĈR9چETq0 *p#*)#]:)f%`L SDbZ _ZtbN<3!@%@ܚZn 8&d]!S(-"T(`8xLf 9(C݀4"XSe.?OW5!H~d9qF~\.NYizjr|ji%"յ;NnJ0ZxzHJM5>Bvs4,ŴnH=̈́}9O͎cS$(Z{f+Rz\o -RWhb?ީ_ & voڙiㄇc:?HQnqv7#'0qPg֎3c)H( `3#"#80"2IC(%rb&p&(_?]~-A{4 'L3żG?Osn%͉;t`7ώ̘[[!,U8u@> LM!Je;bƂA C n#gД ̊1JS D8zbĩd 8E,pv` H̦HHt4ATL֣-ՕL Y&@ui0A7e0 kl?=><Ĵ+0al ڈ,0b_ugh7¬4F[R|<׼_yz|UA\ ۩/s: 炝:zk|ܟ-GT.fK \0жFw?lE󒷴>b Ki*Sl}:+ .?wJҜҖsPd!r {aCUBs( +*"!gGKҠ."09'A7ph%痷W{y74N:qq/}ι:QviN#]1 5EPπ[8dUrdac* @Fp2bl\sh@ LDD H)t p_\]Q8_?uR.e0,A"GgO $el QtGG:޷HSt)g3#m8%2qنi8 n򈕄{e`MٚrTBF@`=(uD%P[|Xy0@ -0+xa Bʌ -0{_$ 4w Q; rͦ#G G`KN*ϾJJDéwApt( QA"iZ>"I{LTMƛp( ,QXwNFx#2ԃ9kx[DΎ5aۺC%!b92#)2 {& 03ND܁xsh9."^Sp *LWM!;zpU䡒ÿZ~Q^'|^ߨ`UZ[vZ/0/Qy\´0weL^s HV"$ݕ)U"N`r]ʠ>@4p$o~۰J*RqȻ4z v0.搈ȡ9g Y|챕3͟M@quۮ'w<$BHz›[Z̤{l@Iw/y=GIV^X<8dm4j~-'>7FNjy;#*Ne*޶~z\sLr6"_E$ګ!kŹ#"?EVFX1f߮Qf4P\{: +բ΢=uen5 Y~"0N/۷]>ӫᦌ>^nS>&fcm7 -u LF̒R a:z 9D; -i8`YW,@H @8,?h P撁SFwP&)Oh )yy? 9 0O w_l{LI%I(@y=I1,s+#県|p;vAaލR(9#fη=r\FLYxm@HX'p@wȈ] ]!8$`@o` :xF@h΀}„$" @wF3s@A{D F` pm3sh7s ̆A=0()]K,fi,\ 4˘ -Q3֡ , zh+8u -K'@`ͤ0%aK - H>MM#ՊnA' @p4aA ܆!ynBP~4o`ї]v|p4bs]e}aoj~t~V]> -ق\;#sL|ig~uۄ9dTJ~6F7[4EH:nH)a)>E7 ךouuDuXPT_s_aQn֜;;e; wٟyzZ8^D+ryռ#㴒5ūV#{)Z% tn. 1T}5W`3JjW[2;ֺW*5C}왧g!qH4h -an(S ʎdh^Q2pbdpCN@ "D -H 3#&!sX4?0-^}QSe&dr;2o>Z3mMiRuv|#5%5k\-09gգH*9s_{ku/o>|7kod--1H^@DQ+GBxxG}Gxq׷1^M10)]#۶|qB/pwC{i -d 4y3 }՜DTlj0hfޓ -< ٸxF?9`R]M׋fχ]>tEҎYӋwK -7eR87;>xZ#sD2l3 F4.K2dj`)YŕH RM|ӛX7XBXv1LwN|hFL|^ҕ{OH8apʱ j&f" ܙ)z B 2 :9fF6đ%I,(8XwD-B&HAlj_? "pwF0MFÌhD:0Ȼ/ڨBv\ -Zk' B7yQmK&1sFI[4JCy~n70FGX7P7dmw$a`N<) -f  0 ݠv)XAh J쑀QW h!bF(b:@h =5axCLԀ*ubtCBP-8*vA L}i3&@sC'd:k=՛uA#T=1{s,$!&[NWk^ { -iA1!;[}mU9Da=WLHpPTB^Q )" -(v4Bsz Eӷm׺>ϷеnC7}^?MCߚ ׬L͌Fagb|7و#d. -B\A5b)Hj}|wfٽi!,"ws14Y7{(Sk=cU'@ɸn{A47$ST8/F. xm%w'ַPfY*4@_ I rt2h]h[]q? n+W c9eduSg}yc_0lޞn^0>DK /"j|) J(lwGǩڝ>^ךeT[Sl^i{ǯRɎ>v39] Uu]Ѱ2fȼb^[Opr5Bkܾ;lǷ0% _;nKP=AxHBPglv@GC:,i.U@901so͖nη˴QPx;a,#ͤA > klmw!.L~3ڵC|J;&=EinS>^c껎o٥Jv,8렭a}7XFݓ![dxڒ}F݉`-L٩B0cc$zvR[xtt{e=?ޭ' -1WlaYܽ;͒1;T u55|;@bP  -8tNh*I %aGE0R0["D "f\,SIz Lr,nM9;zidioXSl52dLV!"c|@H`*Rj )ELرR@!3DѐnN)@D[JRc VH SrA͉JB00QHaDtfqS2ƒS_fR ~UAW" ZtPӮ-mˆA7%\#{str4JCo505nΘLAл;!DPx D[8["ܮKTLx MO?S"xNR0پ{ 'U >مR~ ->]a-xp:㔲S׷Scİ% ˗$T@5*{]+M;tZiwfrs$Z"ٰg CYuxOKL]™XRPn/K^|c aj#Q-5p[2FKQn[v>Z>o ;&`x5٥Y޽Ӈ8l3?].=mA"onɆRG[hkKI6M t"_r$iU(-lGi2uIƭg3.W+N;Tt0AFLZ15C}D@vT4̯Q?ꇏarkÀOL_͍ܔ\Qkxt kh AIPлKfv 1P2 t`f -DY=@H]0#!`!d/?^13Y_| nލbH>~~y0zo _7Tp3: -l-0&ΡK|{f_4HF_Zxa&b/0&ڏ˛TA0 5yieaoܜK y@P"[J= J0E9bL#EB w9.{R@rD Fs"$@ j" Pjx4i -Aa {AHكĭː %(ʀP% !C -4S!FN@"Έ9 "a@0!nu+fP1ш+"* )ґ(01*d=K@4eTXA DyTD* <ȩC0#G?Iָ=_ >x>/vi+Đ?ʲ^?0ke{ޢ -nXLeӯ{=$lazytg I]bkHw7>-xH%GJ㛻4yT%uQ`"1&Cw[v0L#Pi8KE{y=]Z//>ǫMT''iQpi'ҬOd]N:B?~w>2_>C -]^j]{x~(^޽Җnkח?e Oۗ&dӫ![P)3} 9d ty TxƠ)b(wx=7|uvmΑd`QLY"a8j!$[ܓa[8L#bbKA3J #vk9LQu?ɼg|Yq~ô/{ׇ?]HCk(y?Z*%+@Xlի?W_ sl<;8S82ƥG63uau@7Jn_ kW5<\"_N}U=S~޶t D`ifq -a_Ƣ~/:rsWN0q倫;pZVmJenyڡvOp]Vk->|l~WFO߼a욆axCBCn, tAkO|Em"Z7׬l"rHEkkks9 4sjY.Fdг)VAa n#u}˸٧x{+ PV7S%-Y <0W2$ !Ln K#2 -S 3F 1 tpC( SboG4@@* B iޮ~-Bn7_67QR6{7>}8o&Kam?Cwǿ|oAȌDH Aq\ -7~b'($+9h|w3 7V[`b5Gad.$d"d9A Ԝ`1`' -Ơ 9lJ -GRE0L@Q:"stdh¶& Gàʔ6ß :QI=Z‘= h -p 0̠Nc@Ra%RhL)$ -p #`Ón@ Q(B43a(Wu[F^^k -t9: 2BɵsZb*Bh,N"ՑqbK;M 8J -!y=Mad.Ab%<g_8K=ͷٿ?{npw7}}8N߯vx#/ZõARp^bLot֋_׎p% 0RC 8fѺ0K=b?fP{G*Ozu?~qNRp*Znc՗ՂcK): |ym!L ZVPBSE?g5ת'?#.׏?XF~x9뷧 ( ^Yf=gA{WW9h I< :'q -)d kdE[1 Ё)] #1 Q$Bt B0Z=_t7ʘ=tqo}|gZr4 ~q|y?B L) uQUx$h22<=zMR.!xv -!tݼ0풸7/Do.Ԫ]-'1'b6Brtl:#r6쩋O!':`4 <Gah( QJ9 @]9m2IlD)26  (M ,jx& ۨdLwaKrA9:sLLI( 0@aC( @ KG0f7`CAek!zwsRt [mByz7@ `I_F"t9<~. `c{éime(^ߟLwEnw%H^|Ws$0GfCȩ{5xa'/w㏏mkdOցnQ"uAceAAa8Qx FP[$@ D䀈 C3PR$kwSFBv`"Lr"Nr͕iB ) 3B8hRʉI9 WߥW_xiۛ74Կ?ˎV{Rr^৯(yO\qhŰ`M5͒U`Yy7۶:Bmor{y#)ec8'A1Uqg,` p@bES/h!H݄ar] [*0,ڙH'n97}74=A|;ڴ*{x[Λ|Goh}Jyd7O9Cv?>O+iu%ɦC: 1js S[/ZKgK|}ӾtLNOݷf}?gOwT#ekO>/t)Y*˛Ӥ>! -a -HRY-,Bɑ<4q a`K跲;P y&J2F W$ )@ b -!D# !"R -Ģ\ ģ{m_N>-}~=X挂9{sf0tRmo׿ -@aBlRPf95JFhofA@!y%sjg4u_Ѷ9v Cr"3LkޑbФB刜(zN!(jA\9@z21hj3("1&8Lh c!LA!!ur($? iۂ4a6JeHYP0x'" p!dJk4Q a) ńr(A`F \9<1)R`̤+o`fp5T2` Z 9% -[#!jԘ3BP SARUs3;t S42PC4HoJޫs7GЕ(1ߟ˯4t8 -\㟷OֿŜOp><j -_`u8٦u}3|} .6= ל'ч[o~z|:m3cy -V R@\Q[9N.̐K-ue)`NRouvZs0Xsz yDUTtu{~l0 =i~џalb݃Itr9`r9lOO ӂx7(w><\/m}v\;S41eb^W?\D~޿PY/oR:o.(|[~_>>ћm9edoe~^i V{m 㰃{7/{|w 4N{wo18&f0 :En0 10(Q .%E '@Df LH bJሡwl;V{sK_V|)a @l0 Đ ݖ;PxV/Z"jh -@+D"bD^:.6~yۛoۃLsK+ h&P V쓳ͳY]S_LF#5tP uM bDw!(AUPG]<؜_~# @nj hsf=#<, ʼn)xSWę2xm!!92P<2Igjd%&Dh5pu4 -!@dWfQ+GhK!: UOёL&Рg\8扈scƑȕZA9:HIH[v"jETG(ΉpN( Qu ڂ͠63i9mfP[6kC7>h:I 6אb,P@amIؠ5[P"11G!S#0'\jdȴ_9`VKJX9EGg%^5.,ΞF1ŏκ~exHߺSoշMx{|bz->p^ƃDRN!rt@3"_ͧnyn3@ DThLUJf&li_ܝFėfmjQEl+|Ω}LZ%-M.mn~n'pu \8Ee5)$ӎ}" V|w_]ant+l\l%Jo5W3^ގۯo9ԅ.{LU6!*t87g;Ccai۳ݯ>mSz}xX4{dhټGefq\\|neS>/p8>|sr)w=LR Հ- l&rl9ItsŹ7J -ґ;$XX4(݈!3@k{u!S)397vudrtXQPI}AyNx|so*@iv¸MLC8?_.WϮeJCd?WoI ߈<نCl-'#X ՕHcZRm. 67(̭?;b;Y)`x Hhx%‹12 Av&/.@" ĉ;X& F"tS2spG`YeD,`cGxP &i KꐀWrdavX/H3cX]MIfpDtǞK@0, 2f^Q8)qЭVBNJ䄮e(BPf'Q Е-H>4ܹ{B3\0f؛ 8h#D"1 46jJ #H΋{՚dܨ 2aQvbtW0gCՋ{pR>Ėe+h ` œ/#貏ﴝ']~~xN量/ _j,gtJMw{SO%D{_a[VseXHUbJ5;D@f@ָ/kZZ&Kc  b Ppn扶2h#M.񾣼xa z7uZ 6JPi+ܴ6h9%jޣۋ]qHa)]W*ұಆn\l}w=||O 2e^|v{&wX]ŕn7rc!5) o_a'Cv<韽nyo0brt|(7SInE;e +.k\evxEM!QU1#f4s"waXЙ:5 -̆{w8*, 3(t:G@#. A[]€FUqqYÛՇr*-x9?|S$lvgݳrܱ)/_JBV]xĎ $B@!SQbgh&+AZƹX !:Vi*^mXQu6 oDM'+opne!R jq1(,u+q tt, ZAЛh 75##7X&uDs HʁirtY3 -` &T"P6Isg -;ńE7a@#B)R!"3i4xop) R:gv Br3.=pzCu$ VsiKEAKhDB# ]sJdyUY8dз8辒T@{[fh`YE|lh6͊wgG<+1NOaxѣx}{n -}MiipntmuEPv]m<ݝn6Y-,k\ Z.:WBjjS"T7g1P;[w&Gqn{NRdΪbt-0<>⎖z_&'tUi_4.P58[ u4uwggg-)+S݆rf:O ,'98{~9؍l55޿z/gãM]u~bw{tVo:yA>{3~w?=+v%Ѐ5>MygaPN}b/(`Rs0ƠЛb -uf|,`judrDt-Ar#uN BcflfZ#lݼY2$tn 0CQƬ~߿r织Nwa)F1e -u:+ߛm:09CH+F4y0D[#as[cSov$LBV@ӎk );ZDzfjvϞV9xhi6b@8/0.lf(t-55@F"7- -$Ƅ~bnfv`Qilke'5$BƤHd8jԩLȹ57T8&V h Bh͙ Dk9ƛPG Ag1sE!^f \}:lƽ}Sw6߾ו~ܗe>)?«;KdCoڦ-æݕD]1I-԰\ttjݸzډȼ?t&[0zd?hg0\@kZG*Rgo*w}fu#\`]y"7cF۾tKzA|*dmte%6=Tvy4nf)u]ٗ~_(a(Vo Ij6GMY1;nk=Ԣ-Rk4c pfzy"i31ZMAG kC^N%R0<$VњS -MBE ]\ue<\1rPLEh2bU"#tzLf}u$߄ tt=yvCmJOÛa엓kyuPi[p]J+s|6,`K]83u8P0"pkЋݵvwGXڋ&\yq|y&JР;ΕH85@Vu}g1L<0dـ5y3L`BoΈi>|S"ЙrKH8~.%fڌ~lnmqݢ5ٳtp($4)(ɱ -YFfe%2ZB4:kŻ5 -̝@C2\]; %\"PvU&bPF+ΓsPԚ{ff~<_OI޾>,wa}^`1=-Wv0CŮbh󌫄04VjYΦ>ͽKVĮÎ9Obex E߼_p^Nm&2PCbe-GDaD@9գgM }d,ϧ~_&\ d -Oڈ"zӄBvp CF39GHռ[7~vvB C/{[f< -iv@3bE&b@6#M1:xr7)U Pp3#JF- N5 5Z(b+GzŝU)8,a j+{lm.i<ܦvS^S Ku(ꝛ806j9&Q=ftswa+P: a0cm,@{v N(L%bZ=Z)OY`hK?1y k!60&Dֺ>`tunyYl~Mzخzx-Yk\,;Z]ʧNXSZ;]Z!nCYtANJ@XCWr E- $:P7~Z%(zkǟ_|?ܬ7H ~_Ǫq̡O} 7D +/(SvNg/P zx?Ϥ~|~;Wjrs#aS<O |@`[7R5mDNĶPNQ"1b%R|d9u ] ܴA'Q,#1 9oF.@85 2\7ݻa/>eRjCrMayk̬ ])aqu;.~!xM,$HlǿA<~C׹V3F6حPus߭ȅu*V}A\ɥ2uSF՛}ܮ{A S`B\'D0ؚ+rw%V685Y[0 ekJFB -جFF59<GCJB.mQ!v0,*TL=Pek63q*]}MP!.!sL3*9*53tGOԉg7dbh9f9!ppl"@ɱPs@;LX+UŐ8O-FH 6 -芠ͬi䦖 w$EVGE!f(1z5e9-MqsCdU\jeK]|̌!>Y\Y1:6fͥ[37/59){VUCUղaDV+wp}Xʥ?ۆ6~_{{ ]F5}Y ˫,3wPڟn 5H-P2 qY!Цna,*V`ԯm@*r>FR0p܄r|T߾(g&FE8 -#zQ걞 -0Eu5ttL+jœ))3ņf믏},z,0^7J>)>]Z+v|xTp@5sdR5t|ý?=iΏ}zo7bCpFIastw0`f, -ޫ)rPtkkG$Qbd -$"nh`HBh zf$Nh\D#Lmpxopfڏ1/L-SuY:A6e)EFC Bܬn8WƕU"ě9o/g㡔=Br -؊fH܆V ]S؋ -3j2N]ݓt8mb5ndP<8(# cBqaE0Wv -Xq:32PM#c1C -XGmnnőK%w( :2 xmaæՃx@(@=6f [FB#(H9bNCm"+hZTD\]@vaI("!&&4P b⺸bĜf@ в*n=T9uVl-dpCb'6;PJ֩֞bk[AlU3 -CKRaDJN:5ZupĩzkZr3:'Oi+8Jz>gav7#<(Ȍp0M(<,|W ^\f%~ެ*Zau=)w0mj|l!<LmÁvYoX;'VW;qxܥGnz՟˗W^=n6"3 p/[]= /DM2aإ߿x䣧u7Kg+UNq̼VPzfDM ):N -@ ɫ2#{)5\a@̠RB-s6tQUgGhB؈8T+& i "ӬH,5e|goo!z^R1)uJ*51;gp@*8hNN:Q!vw> 89Oe|??_9-6{-B6a^^"Z)&NыEђ 1aXͺT\M1;NUfqpK̎-[kKMȈ[loͶ"@A.PY;ED4hPlt^q3dUzLj&܋"dt&\yCu + yjhrVsQ[ !gGv,U$!hX`.{q- @v1̆f=L@WM:-@ LyV&B9`k^C͵"P2eR p%P4UG6$o`&6 -Z/ܸ;h'2p -HܓC-"|L@B@c &}~ξqخ& v2W^np 6eyZi߃ .}hF iϹ?K)tRenKakDsXGLѰ,l9D|ϼʶ -YXzֆ. 4 F! 0,jG]Hdh#Mtzwa<\<!q (u=7ts=zoWދuZ]; (,pϞxt:?-]PBu,@=\uɅ{oy$JƈQr"4Vi@&PuB)A1{+:a1]GRUzܦ  - EM[MYuIRK{(®"̠)BD.D:%y.6Blܼ;cז-v3v!έD^rPmY/}r<~~&{[0]vˋqj yUSair;r| - Y0ܫ9ԻeFXE6x7 -Ԡ!m,-ëq~ЩL:s㘠EV VR=,n8s]Gٰ HBKhv<}hotuaYܐTQTtx~~?8Mrq\tquފ[a,T%gy>gO?gn~xv{n=/ݿ-r\=zL,n]l}v?Sf,مɭoVۏG|g7{id|ݏo֘g 6X(Ry C`(HN*=^J1RFbs/f(@,.Մؽ10D7eJZUhNTf$Cmns3|Xf#8 ;j::*تj!WyY]l.Ƞa{)\םoǿy@HX#wEh*4 PX5 O$ j.XiS tUѪNJ!I.˫W?Vibl"$XRbI -R0$МٕٽQjX6TE] :ew^Zp2'4,3:9ykI*3 W(ښE.Of5YMSp@pf8TF -N\ystlQ󈝚֐] Q=9'ebǥeAa^wҐҐl639??8ݟm8Ob׷Xwm+}?Nz~`i<^FX""-(\s^>E{'>yӫo?|ys{/uѶ -؄meWUt@3 !se#cj @ޠ Q؊w u1;5 ]8#Ui( HurC%k+jw_hV4vFB*9qu.7Buw;ADF HRC:Sc\./~Ws:n*L8#A@Jq_UZdkPK9G&7-0Ĕy4^[`Ұ݆u -U|eJͩ HeX*';b@!2Bk *ŕ[m,89.{̀PNh) ;HBa^+r#=aF@(l4f3olog?6BٱW4Гc6Wתp=rq56=k: Yo4>400 ׿_/!ЛL\8w2#QcD+**,f:1۶Kv?<<B0v4}A(2qQW+̦ jnXFQP jCT}f*H(j5JP(71CEGcJ==x -%ɇW1g0{[7è;.9.]. e @9@6$cDY \bt@}OB abl QAI-'Z !B RZNu^e;&=VNaDQsUL(3Ah؀[`n-qj}5g84V5.[s7@l׍9Y"ih@<i.  /p2 x<{.67@Қ<6\]؅2rx[j܎CFNiœԯ%JI"Tq 0/kͰ9v5<~~]؜wloo^^G,OgE<ɣ.VO>4^ZWC]ZU/1ĝbi2z?wbioC>m~ox -H8h@4 zMZGNX yF3'wȭ-"'R"HJMxDWF@aн#|(,&}kexYt#eǺ5/a* l"y83H/&РHT49&P0xۭxoOצ"[cUߞiO%YSqwM"qUʂlUG'v8aggei7c@wgxq.[BnU 823FЃGrqk"$64 '\=<7RCQ kJvdzDԠ@hlZj6'1/.-D9n s^z2P bܪ 2JC%k4cDɲlA8h( X - -Ƥ3ُMMböwXa%-#XJ -# u1;bpBB\*u<2{ -d!PUСR@sgPFBc)Zqs+)U "!(meaK+Ev 犭ԁ @,tSuԢswnod tJ.egdOE0,vQ_#|֏QZ|H2NOメ,s; ulO9N% ˾tO6;l5L'3ѱfۤyG.q؍Z -6\!GU+gNP Im1حε==8yB8qHݰ9_nck[E?RoLgr~qG2++H7pw? g$-3ET]7ݰ[T[mȡFy] d-L $ިةK]^vkM J-$yi -rOm SW]*BpʨEmJJc!/ pNF;q{.O/ejzλ,8\޽C8boOnvoW/nxy5ZOU]RǑ c٬TAX`9[uP߅Q̓h-!yͬT2y*3[.>Xx~nw]f,p:|?m_>?=:GCb8~r?7NU N.$Ώc_j}O^~?} e<Ÿgvx-C- -m`ͨ!#A͆Ș(- ˤlc eK|+v шnJ TCh:A@bV*훟}H83"rܡwCuVCZKG%:P2kԜS3Ul$%Hޜiס97=k,wz)1@46N)(ULfP!C!Ѹ8t^B@}ևΛU)nTج Pin5sFjdv8z HjXYt@nT; IфN-hrD+ܙ8a>eU0+YsÊ} F!z`YLLPR/"0 Z*b1NC364U0EBЖA @Sl:@h, -577%p֣Tez\׬Ggpohr*lBz¸ώ x\[ SṆqCKR`Vi!WOÚoKz},\^iscDV{;jZI/G\Ppѿ~6~.kU}pۿ-UA}es )/0H^=<vI>a^iڡ52 q)qԠ`JC:=N6EbˊJU]7tv:-_ۿczAٓ0Ň -wؘB)!;<^֐9 ]_qinܜ_:Oqiͦ SK|#]ϟD&$v~v޿)ԜV6/Oo>˿ޏ>˫K*ϿP,96?OAB @m6CelAnHfHإHYNDk1P 4!iHGh|N6G`gq7!] Cp"Vm*_?zṫn5tPZE˓IyncG;&̍:DЂ`覕 _1 -[1 E-mrxw?wqA(.`y&"ֲ},Z]ݗZ,`BCQC; \k l1C1k6ʬgvn[_oAlխfu!:)R.:wKĚ#;VnBLnFZJ#gA0q5 A,)pJмMڭ|#`!0c0$U!+chLdɝòpfwtצP(VBYb؅P` Q9tMO=۶a֯cfOs{3+*J`˖#  lz %TIJKgZs1Ư!}̨9 nV f%49 %GAPi;LBMl?c<D+ls0fJzh@@kVqtjs -yߘ 0ON =hHJ aq>%^p|džQݐ-%rcS /H$j B³Gm2a&-`N8VuIFP}7\B^(7E^}|uK|nѝbJ/_[2 hxI9"[baQ=}ݓ3]:~y0>APc3Ӟp1澂p:}^/e.wXݟ |;~8<}Wnfؐ#s,#: p$h`\ qamaH<n vYq =z 4R UTsgt 0!p#`ږ_?UۯuE.m~ }fODmv΃{2\r$5KBYɈ0-rdr91%?OJ&HܨG,u댜=T2tP8gA s rr]XP]Pޖ!p>dݮܧd^()9@w3j€84t bL;%%,1)B2avUŰz5'KFb.ʀaDN2h%;"BHiI2f Јڙ/H -(zZDN|w(M6Ɇαy38 ;<ю$1qHĮX8$&l362u'2.:@&յc$P\X`s:usd0CO<9cr@dP}onnms&kɅ <|CndR_r$WO?rr!K07ɳf/z>ͺV #K?ل"ԧ .ԣ7K|xa]qJ7Tut\m7Fj])9I!xD}:F!N@>5x䯾{}{sA Sl֓U?p>د]j?_^w_O./._}ݹ#"yS@曆a1t{,9h?^=^ ;w۷tcpɀf|G䇟.f{yGMgOn}1Pwfv>?~>3Qߴ޽Evo-Iޑk=sڰ>:_ F3vD 1dԕ 8%! HLHo@%S<5{5;=Ͼxjj^{P+@E#!KV.Aq" B [Sn'I$"d\&+ۿqIkFԺ;PH%ĬcDS&8)vk -dFcJ Su̸Tan!lE9%%Q0e44&NF !&Jf<%]AqfB`- ; -BHHL -qa bI7)HSov$:\}8> -9DEJd"9Д}=ҁΛ@`- 9H&ϐwT0 OV5QCzDAln@w??|<'Wwx\)`H=+p ߴ%0AH4Lc͖LB$ J<@g(E{^_;_3ZOĞ=T;XN zsnE$҆ڂ-X b1H&ޚS׶ԁ4'Bpy,0(<$L2SD{sȀ 8!Gd-(ј еC aH#P4ACzv. 20! oQ #GWJB ⮌CTo BFudҵ9u $fƶQإ3LHEHc y -=0h!#ܓtAߓ['6@d!{4konί !O)2ģ R802O{;1%LH8栊C61U HT6a4lFP"ӓ6p/tor&?lW6>i߼=1PV?(0ʰjyӆ'3]aA@̱F m1!Ob9Rs^ ||& s^BlCnSy7o9Z=woe`F*rqjMQݳ )\>}!^6lء$< ݾ+9/޾z"=Þ{`zͯ_7||>޽7 }C|/_&lČfh.\4<E1{;0J8`s΀1~$Ap8$NRW@)P;X@(?[:AB/>/<$MfOW}}u4p쮹8!˼蕒 МF8.rw{w_crX1k6LFFJ!,LBnvnГdN.=*vɅTd H,YAGm?'l1yާ'/Du!:V]MA)[fBO; ->R]0Ptrnlh/.b@0H4onYEܢa@09"WEE 1aXgaUrM h2"1'3#rS@I= X€I(Mжaa 0 %PXi(,NGȐı#4F쮆9A*#!)N汳: x[u;mz^}3~@`F4vn9ܴ`bOdkr0$I$! "Q΅wo:ab)+wеЃR@Ӆj4'պ-<q<8H.}uzpHiw/r; 0a?wvzE؅Aޭ#c*c:5$Tں5aJbnġo< \<|/^nwO߻xFRo^uma~g&ٿ헯(w^̄_oO&Y/|8bg"mBjaR.n{Ȁ}HY@+D'dr;bK#Diº ;P&J!E5vz/?Ku㉓ F7O3ǐN~E`Y %9z-qjp(YpOɓ㖞޾g:\r̹FIuY -.8$MSs͉ԈV,@ 6%tri۪W%q B\{o^ۗyn B)W(n&⃧ݫ|zr$A#@jJ >il .uC`H4a`ݔfމX;t -IݽMΉسcCd ٣ݟ7_t_ujArXrü_Nj\Ea0r{|dʫFц\X2cly: od`5$hbr/_y=BG @&b -H AdJX4$,cT@ck$Xڱsi C[WfJ"S`)n0!OIAʃw/K% s$P8@ !TST"\Gth`dm$Qȡs88#jt șPA=B !lZktNՠ>nkxmضXZ6쯃[NѓpXwO\U򲸁Bĩos v O -aSUCpGEJօBpˆq`R2!VI;2zs8\ݧ\vHVKuCBȯ|`y_nO+8@$4"Yɋ8_^_}wwM\{3nJ}֦[[jQ(%}߶(O_|jpgw4wɳ'/]a?pvW" 91##ytF CDY¤))" 4VpL*ʎaxvLmkM$BLHQ(:1(D 섾pގv6TYw*yׇ. y8xz($q"`kJ!Ci3;AUjIPLK[WOc랐Kj -HLQ a -bJe7 `F7$­kD { !PJ;Mx2yLeY uS}q40! (*1PJbc7ͻv H9T"BSNhFap_<94< 0::9wH=Aǀk2bV[(d@-%0QZc@DbDCqD@V0 B̂a(09 ƥ0:Ɉ 4`ήhIG -k,|&Eg%wT3bX6w MO[kzn='JJg "s$BB`h uAX&" :^XA\53:H!QdF[F , AŠHnh(aǯ姸~.BM9=.s.M`)ϋ_~śӗ'vd]\=-Y2TuiAipV> EBWH!IX9Hc - s󇗏b>nOt·q̅Kb{<k@'?CMS{<>w a{އW= W[7lNd04]=/?目8PA -^Fkz}\}|hޙro6걿O1_g{YOz郏>gm/_{iw=yd%ɶq - -}e]ɻuM(lsȘUޑ{D6BeǸRC!e&J2.-LjV2cRʦcbĬK[qpq߾>nr}] -dzn^WnflzAu91XjyT0dh<LeB9>?_?_w0 `dCwrk@p2 6b2F纬)ʘ֥fJ;QڍG`Z3PCq,c>$_<95H))(_DnFIClHVLn33G@"݄x@laA!##{xq -HӈS&a<#DSL!AjF@`io2MnS0Iigb̈-̘aAC1 `lG/n8;.ȏH­Cx맆P)RGMB;ɘB):w`N ("`PI -$poy^jk*9%ލPØ !*x4%X , Gw1-̠:\jz\?MD'q隔a@lvDB S]svIGVte6K`b>;-Dxp {QAZvGk -N5+Ϻj2W2nK!yǫS{6Z8\>'4t\jqRKx@x&g>q޾~h -vӞdz"Iۋolmhz\v>kCҶ:_W|<wo;D} *oAgr1l@A${`æ@èGzh0F oۑlm$LZr$#4ob!'YڜDC"@i9x̆]* $ͳ-VYB]6ã7>bn_ra>λll3Up&E)PYإ/Ogyp^- (zU\v۶T)%NL$(=#tA9!RA\֚ OjJ) ;CC麞Yx5O+<<*1 [ T'))B;C:## C2ҙ Z%0W+ u$"4wg%TG03"V"fLݨ;Gp`sDgd̀ =Hz2 8wGa%A֫a@sgK&$K H03U#Ss q؇P%k(4wwS)̈́ER1&nx^M}>~jMM?>#|;M7? ߻yϮ /."±9 9x$6=VPsM[Q1FW ´f(6@LC!r'4[@ L2NH}efG}7A ͺ4w=r=vF9=vW%]vHC`! )%a$eD.iu?o~=F[X+Zr %$hlB ȱze[;' " #AemuwD+hȏjY8aad}b@j^myyvq%/=@ -DAAsJuyr! ŌQ@"vDxtt0 -`'w -FsDCX \*jH$-rCψF 3%G -PK`se*1 o~W 1AdB!Iœl3 4 -̆ƀKcހ- i0%"B(&bgD̙ I:Lbd;!]@TĉMR7+dۦ/U'\lURr @(NB`B(fCjTĤPA!VTs@K@cFd<'_[XāX@S@nVqO(Bچ%mG7Z⫟V ӧ|`=0RAd+Ƣ {yؽ{ Ikn;*%m(e<{\=`vmz_~۷ojYq%0ȰڙOCm3&p@b&F}!4;ݯ=@n7<^\^/r+s0:K=n 2]o!0>=>~e󶞺ُ˹~˛~rqTߞ߽yÏe?<}o#'QE,9k%X50GD\S"brQgWvD.DP $craRDY[R@A%#xJ(!sqFǀm%\ ڂmݓr|LSy_xue9QwS/˓+ KʡsBX~vOm 3@fbFtrL%E$@f+!v`$tTAiں; 1Yt%rʣdF&d۶LIl軋zGD`kDjH= i͹9'tā :B FdS*@#8Yb4MaP@(V# wC:@)!8##jONn(+C@=9̐*F l< {yu !0j D,B !i &3 -IΨR2$:$Ʋ'f$|=u=% 6 qܨTKACpÍL6P0Z[U[9rm֪ޗ`FFedLc)u -s -$nn]N Qh<#wGZ k:M:8RgA E(0ZM 3[?;L.)&MP}ջ/+t>^ݱ=2lpI͎ɵ뒆KHƉ6J{-q-wv6W]37!bawwiI}:\Gw0tȜ'7鴮Gy0ef/8Fpf*痿[ 겒y.(i+acw'Ouꗿxy_Zims_\afJ2 =%(! טJ_O_us2`M@ӀQaGH#< # 6m)F }Q=oD24 F43!'ÒT2 -y q?=rtXxҁɡv'(Ac Id2AD aH^9&d"A+X7Ajȴ %dCʄL0ptl(W -d!ASAP -Ѧ:RS -oz,!}۰$ WRk0(͂498G4l BhH!-{ 1>z8C" T('b% 7Up<խI -]{w`#䑪98p8(SF0L . Eɭ&\431g hB9ш&\›$4 RFWಭ2mu|!;?QEoC}C*_շ_^bW?_nm8xSuöS[ %eK*ـؗNCZn= jԩ*jE9SlKSGq7wU6N2ƺpy3۶dl!z[ZH2B+h>\eR{%A=|}{>aOo8 W);SB˘򴧽4jdIyvO>_MY.^˪|yqj[/ 㓂 F3 H H 6 -$ -hRЃ@2%n )P ),-srT0@.:,놅Q 'i)J#N:98/xr;W_b^|Wn - ́$y'NB-Rr_x߽go,0⺅a -`GrB ,OX+3'TAU;;!t-Wiy pA):%r P jBrB@+F ( :Bw*E=70A<5GV)iOYD m?R12z Aa&$sf@j -: ~ j4(Y7uFe,qt%\4! -fT(CC Ft~o\ -H 0z)4\ҀΧu}UlYf\ f1,P# 2XSbm ް1bg 8CPB  Bb:da1iD?v(v[sy;mmdG)Do[yfқ׿ OQ0b>mK:aybQ?ǷoiΧ<|/>oLJ5EEȹIm.ix/~7s#_sÓxXOe[O~?ZVi'֤p*nu=Z 12usXc_,Ĕ!gn{,@IXضHF U!2`1 #A`$O@YPK`@p9E8m@A 5 v_x -Shi"FnR6lY\E8HFa -cZ7E-CVqF,xo mM03ɐptəʠiDS2#@VpCO0d wn +;C(Ղͻ@X5 sČ58Α"PXX 0R'H)E`,cP8:8x @rKwS3?q0L9aGbh,AYIFͽKb#*L4$I*SA] @LAEm\D\ >d`j-[ -ώũP% 7IRV T7tqHZsyD늉ZHAB$"ݚ83!FܡC(ݑq8&+CA1A;6!4MM:hk{ӏZ;9>=Ʋesw8{6 -@ =AUR!@ v 1B9ȁ*RRD9X FQCHHBA`CV~Vc<#D ȵրC+v?CgS;^[ׅu5ηǻT aaK  =4Ac{҈ 'ޫ aj}CF" j[L*>9gº0)D.20wﯞIRb]-0@Jaʺ"{j A@TB9yEfw9W 0Kk`cOє ; bD Aœ"Qa`[) 6[,fPfQ" IEON;3wݧ? 1klb-6@ !#V )qɩXe1@ SFr%cbh,"`@L=oZlV-Yy2 F4IuWFҐ3 7Ȉ=39);S43&`Nhст!(9{Jf`IppuS#AD7o(v.>}ORD[}Jˇx8 kh\Lj[l}h{aUp0{b h4iG'똗ӹ_[߂H{g Œ(R]}X'&4ĵU,,hL2N#JHaHis4jsokvӀ%)Od %w@ #7v&`A9`dNѨ(I Ơ`30*̤24H#19b#(@Hb攥Yʱ5Q.N7cDn7vrFf3@f$ x;iy7I6" ԃ" *Ä́;R`%@|kj'u]=6Zk(JH)Y$'."J)D&"(E"vsOIF& ShZ0KgG*DQhnz i'0t -bZ@9`.O u =(*7o|rn}$հYi܄/Rq8@m1⸔L 2cxX1y<'o5l -q|s<=r^6\] BUȻo!P4ߔ)}K><0a<]NBTCZZ^Gс zes%' -FII)3BEDT?w.G7I}|x$%zH4A],u`6i7lstZ}Sm}zr-wXۛnm@ʥnVl7oSV}Ԑy&L%g}xԆ06inoe7^\? -.vq )K!sX\\h,ѣ-[ChҒPoY| zُ_UinI&$DȡUpxniyY4` (HnV=Y_({$մDI~1J0l},# -#+PwB:VXB Q}] -DJ>2iH_\_!}}2AUE_QexfV^ yjf|YI?ևۯ -r<{njYs{wO8Ry[;N}ST6pqy}boʓ?ǻ\ypĸzu*\mv(\pt N nnQ~_|ބќR ׀0RȉQ3B)@hG)8P *6W8i#ynFJOn RG]Y JEP[[^F2]MӮ Lsu@cLZm-gBy+'бNC[D5?[ FcG' ƒ()ҁ{CN,55  g졜Ćl@S+;6m" HʄdhѶ"#Y^Ng^W=6MOaQDPY&l%r Dj7 <7(Ų904"s@x@ w^g -Em@vQ{P0N^ L#""DB`GbN"@VA#[AwaKY" s6YGd(@H`P@y6R -BE72T !UZKJK@O"-Ff Ն@H0PW(4.ϲn<__Fm:s$ŶՀ2N{ֺa_ 05֫G&RL|}RH>.~~Ӥ\ԚP|Xϧ޾{{ͫ}wz|nf@mOfI@~w|Ȍ ҇?79DDcT]23"ܟEuԻYl"=Ώ9Xz˧C?u;OLu5pSs./ܼx]x BdLsSwm,,x﹮0ﶇ ;k5g?5{?؛v<_}/!,ɵ5/1@Y(gBW+gWk^hüsgh|Hwef ooqbByNʤ6RD IĸHAsSB0C LGZ[I1.bMFb_~>$Yumr}upeϵ,]D>=>?bPl6Ղp.ZK!E\hdi(|e)`Xi~=.p8 wjj<FB%߽{%òVԔym$pbBRc&i#Y[iEP4LI5.)k0sM1qQӘQcdʰH1-p/سII.%gRYR j J]rO.̮%+Ɍg& 7P3ą:\t:I>اsRSe_/)3eZ(0,FK%^֍CMʞ[bS=E E"=9+X#8FrcBc01qԄ$1:t W!)pL+QAYeMi69Y˶÷H|xLg_.(FlWy}!|mTT-⋟߿yyg>?}J8/wYI`>Yl><]j?ixۨS2Tqbo땕ejU18!WVe_{l}00-2=T[y?_NjusT/|ןϛ|ziW/<>$@pΑdĵC`чnCbC(ȹ#8DF`J~1pˢu>˭ؼxBC }G* #Q* I$ƥtb(`I $ Ϡ+a~^wLq>aw;l7mAQy_.rȂg^ {4O3ș~lDdަY21/(׉R>L9 n-/0Suw|PXoV[ #F s*4xt慧>(MSS*)6-ғNد&i%@YIF@UVA:A3ǔ1vQ9 -\Sjh(Jp -Bq`Y@HfPGhJK>4' SVYUp#N܄Sjߝ"fLi8S,2c\^URi:e$:Tu`p^\J9ZXɋ, +Bf 2wdFfHS2KJY'pF5 l碆a0qӌzYRz ϺPBU+xMRdi ܉>(\KFPJVƓhKZ\(6hGJOdtJvЌ` (l8-ۛ8M{S8 sIIΨaWjF;Ws?%@*rlT4<Y&uhz׺YW[t~ uԑ(}f?^ק^W(+L -5PHб28_RG*Jٻx_ĺ=WHtwڎqe6X߿Th#MP%Xllww?':ه?w}|^47Zgb{m/,]XP2cQ6:S щKRgw'?=L{ND,fDRz'2*ciy{sz9NǃVսQA*rUZ&ȉƹ'{Sg^.čƜ;Ȳ&7r2A2 2Dɒ@\H)ʤ )@1\I@dTTPL)¸ - ;"(ej'gOJwN$QTcKGRwm* -L'-NhIRb` m̂4PA[\^21gdi T|d8vGp(gfĤ Q&AO3Ba6yy=>HظZ  n>hÇz$3GڐMEs),Tjˤf ޷RI*' e4Fcz #5˝X,~I_3)[!1EmaEɈ}O^\[Ax8/ۺ_Kl<LzS\2"ynpŸǙNҷ=za)zwo|9h.7̐sʖVC2<9k-km9^.}4mZ4˳.2x]PLe)~Ϗi_TYq}߇mT%bT,OX.>rsxWo_ua yꗕ2ҖFJn0Ī{zJn=/fvQTwtJQgޝ\TN'Kͨ>4"P#U"bZK{iA1/rdӫcX<GiVY -LR\TnLد.~B[ېm緿F$C- -کt<`*8hJe'LzjqاגWsp-y,pQ>v?>9[0%Piq|\פMmFɽ -@+)]z/B"^y}>E,k$4R`>1\4 hA &1bcߧ@qj-=͌E8civqa"*cjc=LN3f;=8"KtRU=9Sb撴LI&i8'mp*g,A;WB'F -FH -NVҞQ( qg,dʰfDΉH9®A&RI BD+)2((UĺK@["(e T'cu榞hYB5}0:HsugmLL`  D5p߸f -dvc!` y:yTAta}`5JI)fJyB&U],)Bg-n#"\uz\_dIPQtP%Tض ㇏mz#0g7_߷s)͞6^Iۼ_>;~5?@睍_ɱ=OzaҔIxBr)GFi"R&+(ttPqS2#jrUBX-*%'9$E*2Ģ ԈљAA OOuR{33$鼧PRr~)W CmG4"**4\fTA]Zܓ sk6Hp2]ϽI9#T&|^۶h!uܙJd?NJJҔlSYd*`].X9dщ-8j0꘸ƒAu^N%vulG-.iCzDuRѣVLR - ̙;Es)c$UKP'_#q8~aQ1r) -Y b%$T\ò(b>0<)Y|CZS~N:YgQ}CkMᕨm mqk{\*x _wYxvR!cZ0D(UiZhi=yeۣ -`{r),?2 cxųaZ,B}/37?7Cz^xϏ$EXFnV}\ۈ~z?|>_ƶu>LO:y2d.NJtv h]݉+qzݟYEyA:|;?|390|5]N/Wٯ#wm:?<_jO|ekVm 8BNS|_|ko?>~+~˯˗>8QQsk;bK~80^xqo,=Vӗt[v:{x>T^v{ŀHy׸V%6U4mL-aN|.S wF[tsyznzᖽqTnشݨRƱF}XT Jz 8IjCÅrhps'+ǕCUBa2<A@'VER¹&ىF<E@}0aGTJ cgQGX.5'NmgK; ndaNO4 %Ճ^T"2Ĕ}R$iThRm4Q*) Kj?gΙn9"IP&m Wy*,G[&_WB4@0vddpt:a60V\2M$THH- 0ɉ"Z׿}2y7HLc ѝ(Цt6ˡ|-"{BN4vJ._}d6|^FB1ղWO?C8IrNƺLwmf݇bgm/NH)o.ױe(VRhsS.k -n,7}3;u_Lnv>7ͼR݂֗KoSH'uAD?߽әt~1W\nF"Rw:\\/4ݿ\o+וp7ŲdJ9i8G[Gؑyd*hhaBr??4ݽT,%#3=6;a~'-K!OThQ )у3IL$VR3!% I$ /= }X4nƗ!/Q$ #_ ڦgB9D|oblH.RA|l eR jUp4-0sbB~!W ^1;aއp̖ PLYӢAҼܓcB)`) gݵ¶ -T4d`B$"x9$6r(ڊ1ʥ -9l[#s~٬zfzB"K4}?%FH)LvJRGi\2V&I&p!AII/ J, *L׽ U(4hCMXWaDrGXP*!_#e'P.bR!E .A4gL_ssK -E\ f`!*&07LJ<;e=кpW ,Qf_;(|t[_y~~;[vڑ0>ٯ>ן>|1ϟd}^iq}ệχC8C Z_2sa̮Щ^뾂#o8LTPZv[˶{߱ r?gQZÿ??x:ÓOyګaq^{_Gpc5ԖEOx~<_(:st_/_˴wOAEq9Sv; %TP?ϙ{ڔdW +;,uK*HT|oxPjD@gݍL,F^'3ƒ FhJsĆL5`fO0!adO1K# vJA#Dp`nNJRle!UMd2g/Ǿ/[d.k٪H-jk.OOG5uXůW(ZMYrhlTz!v˵l~dž44:4 IHsK5I$1Q -Ab)4D#S!eIäX?Gr ^L J jcd c%=Gh[w=[vy(m+VxHJU88#weeDB(BG&08}iBҲ;3mZ$,T6d!:T=]D܃*ֆIJ\‹Xa*(`Di -1#%Ej<$*3'ѵS؉# [iK[V I:P4A$9a\P|IL")L)bh5I&KPJCfq2vHv1rqP@4hNKkHJ-?{x5根`9m>,G(L@*{Rҙ:dziīp+Sa2-k9K-<Cmfxx Ӂ-qdk=qjWOἯO>lkKim79??]Q1-m%u|uVWW˫oc6fiKNy[3zL3 7÷P*e; L`S~x{]bO_#6Z*V$un.: P‘ilՌ,ϲ>t99bA00MnmcM\24# C -MD'$٦a#ٓ-:J8*J!6NAo$P$$% 鄀Y$JQf6qr({7mgtğ7R1XݓMb5+&I a -tɽ[ fƵ_TK^Ƹ$y{HUPy : -f_ʁLުeZKImcBڦZ,g<9 tJz7NY)B -d H#V?um F9 N~7uxXB Δi$ -mBP - (,Knڂf.=iEr9OONMcl [Շ]V0C)<5d2ҙ<%2;Mȕ 'T uJf 䫹s #<@*9! Kx(p6aO)DJ^$ $ر K'1#R˾]c;Z1yzIliJ3ă=%D⠆A]VņHsswD:'XQ\2,{Bj;FIJwqo-Tŗ'6R%>6/pMeL)?=pv|M -| g:l֯bگW3-:=jXrO|!2GzEiDIi۾Χ[s}df s2].((2aJM$e>uMyq9xݴU׿D112?~m|zf_͉NթFO 9r<9 5?,$7þq~7Jo53M'?n<<!I]o?OF),<@;UMmN'5Vou5Zm^EMBL봇!HIۼSpXkF.EG:xꕴf։Nv";@H qO^2ڛC 7 -x@r!tx؎Kfeǡ3 k=v XDP`;[l`6f`%IŰl0Bd"{W1 Zy^ -k )*eP@#L%Krz2 čѷl1'86vdGv]{rm%iRZmp,ʙa^K  ,;0UEB(FRbMICsM;q堾W>&њɦM*cp)9,zz,OW~*XGwӞsI&3=y3da ƴF_&ٗLJNʽ?ǏV ?ةX$3t_~]_}_5tѤ jrIJiDGMjFU!E--?a8~v߾rgig/\\^JAu -enJWZ]fTmU}qAL - q3ۓF{BTH&MLRA&BO'O,LB$~!aCYbJ&i`- - BRpfg"998hn}ע=|Ķbg[5B6?v=xg?yC6~4=*[-CxU#:IYfjhͯkL I+Fj!d Һdi$qҴ̯>s|sRD(-%R8Rr+*SҙRlלT$dzo H b5Y%mi`}')#Qi gHz'>';QCSmLRLQ%/0 kZ&o, Lx#ی:{(bAd#Se !fi¾Ef5Ýv[KV*RnƶgkF}1=8ׄK$iFHXtUFPcn V#YÇf#VabaR"p - wlG{ɏ᫻?OZΛY"席[)M4V}DD̤m}-#*OIS= >:^M/g|E9,Q—N ^߆Vd*:֧9yaug -I(a}[ü$`Y=q|B%o-O`]9>Y,Yимcz vNfLvp ervApglT[2@ IFm&wpEf2!2 u"M镵eY KEJe.,-Ӳ@@YS Z@3پocN?ӕC\XQy07 >rNz]b^Uc9Fv",21j֔Ƚcӛzw*O-Bvm!)ANJlGΝnLr,\CD, & -,fnZAXɒ DQ\I2Nٹf IW8cτ)hʠ2bqc$ޚp0$9r2EH!Ȑ -LҤHDd*IP7X,Sug(KmԨj0qe=^#L!0]BtH2V>@[ đT9':-D -#eL$l 3. hL m֝B|{bg"jz22%  VrOYpPE -tJ YfDo<$K\3<& (2+[ *Pbpm Ext'gJbhUȾ{hL cM[",eͥ^}I29r׏xĶoQ7/^>inzuuRFb}gS>{/?_mFD&&˷!IPSٍၡ )7c6JBmrMY>}ZƳmݷo \?)IZs٫鋛w^tSc{1=c>Qr!ښu Sb!L؍h2fRV}x#5/`L:mqt'\-BkQ4F2e!,Tͤ3>#ȝ@ 38SR -X: $OAX@ HI -/( B^`U !g6eT@ ܷKK\r[@7wSm ^*PBG%s|fGe:[ ׿d(9YbTON(5uxXpLf5Z碮rhj̴(%Df̩֞-Kޑ vbqAe%jNcb7c^a}Wöчo5$=!FmlI5aɤa!E|>p:[A /T1O:,0ϋgEbxiEIZD6J$w -i@[n^^߿axt#ʑr}TK+Y&H >unk -o~jzXs|T~PZTm4B7x~91d_^秫XvXOw7קk8ڱ==}oq3q~q*Xz}>ßW~_%M|Ww,¾S(Krדf)LRvy~xSIHBZsn ؕǃƋgi²H`)&K>i&RsQO<,i1`(= -t!yx$f,!!RB"K(aDDvž;e/[DDJcvߟ'ꗭfa:Wo?\U L!T.)”P&;( !!ln{M7 :ie" Nҷz{0t:j՗˸˛2B^Oꗿvz; -tifF||C x{Y|yvCQD#3/Ot{G 5֗6z>?~:uۢ¼߻Oq|s|;/^|q}B(]إP(jr0Φd9.)$p-*~5?!n>Æy`yў~<~nMsB2ۑ2nR5աS~,;Ir-G#SJc4'@i`cD@g*  .,ELA Y7i>NH+aU2fw"z-'T}~wenۮK!alA̧PX !js\ri;smxFđHqJ3c22cSW"7Ep*z2g8Kyؠ05JBS¼0 U"N:L; %C]9"{`G( =X)]W9c;}n;ҸhD@it"p@r%ϲ_1̈VL~kr͘D8_wU9qR-tUylJ{*v$[dyz4\H'5 ̔]h`L -.if;W L؍x -ߘHaB~ɟzY;y 2J -U!XDZ2$Jۡ2[T[ärf@T-NP1v̇ShOJJ,SeN yzr{Y߶ɲ}1!ũ>8o}\^<^ezq?߼l?xۗaYIiݭ㼼zsr&~u5\/Oo}~|q<~v~/Xӧ. r}-ocDE(x@(gk @;u M!FI}JT~6d~ف<NHٶOOpgZu$ڜC"]˜"_iBEqp@"9x'fd&)08pP# LI!eJ[wօr$ e4$KęYt) 8 ZxxFvet#6 ޷2ʰ$b_߼_<~sLO7߿5$]& O+TI)hhDUx*KX k+|KZUK=)UNd!nآ{6xjyu{˱ ):@4д4VX )f# aFaA!G+ GfQPHMD Fµ1`ɨ.S)FHV -p™lô$EG:z[aD4(yCvh#Y"__;z2\b{$Sfz>=嫻op-D뾾8}[non^ۧ}.9R -+^ݿ_N>>Egׯw{*3~I;N퐱M(t7ᶭ?ׯkE] Ӓƶ>yͭﻫ5\ -;ZHEJVqPM0*)B85U$LiҎ`Z[΅tILm81*'n>,(~MRNdHpȤNp!Bԙ % D.Wa|ځ)`nD}"97)n~I|/çs/‑裶ӘH!tPD$Q*g$:iA^K)$"EBhC;޿yM=nXe4V6.uYII}xH!1Fɕ:da23)P,\fJ -J10/3w4m -b.֤[ppR9Cȣu R -=nq`$J"W -^ 4hbN*)YaIL"U@ZphmlTX;-;,`CTwBNm\ -X#eˠku rBOV7nK$Sf 1R:d榅0ᦾ*ẻt,kLbLn2:QB3h5**,)d Ԥl<%MT<½0aEED'=YݺÖF>%񩳐>;It9)2=W7sޞPg AuJyyx~mSȈسS)̵4{g_]S;C=e{׺5/?wxh7{d~Oajw(vJXs_G!lم1ۑ<"Y>t~qcZ10dtӦy_#i͟d타wx<}Q^ٟ;:P__}@9XuDRqPXhKMˣ,_}fGs0esۏqƺ0һ*mLKTC=sr >jX1!h3AP vLۈ l%NC%9f -vv"dQ׌ POյ"K’*4eDx Fm*u<3E5bn"؈DTv岩IFCFL1f.`-“]m4d3lta&&udYbgX'fa؝CY^w/K:{P&3Z5,F$,9Rp *ĻzL,3uK)AR" -s$W^pO,0`E*(Mdm0%%k-W?]q*y8R%Q.lv6P %k竏u|vd+E[%-Xu>/R o_yՋ]F\ ʄ{e>~ʼn|v߼ -xaYfQY+Q_}O]ϟ>Lvj/SV~ϱm~~<-z)#n'hɟ~OE|ea?sXGFA&CɬD")) (4h05R$⏏cnndJ׶vQ/:7*uQ'Œ,T_",HIYXW==2-S4$O.dNi=SH3[;!#8ED"{Ex*e&Fa~h% mB}l{Po3;17[z5IhpmbJgx?^)I$ExҴr&yU Mg>@EI6 -JN;{CvHhH4I&F8873TUfރz+-GSNkVsVu" V ΋׎.Quurxә46`e4a8P2{KLd? qkdYp hH䕻ZtH`bU"a B @80 ԆP`A؆ } 85c9rbcj*&i֛[ ?6nhs]ܤV_M d-P{<*DPU'޶J!0jLD@n - t- -Q#|ap[P 4i*j)'WFpP& P̐]u F!xc>[(iT` j7w¨@` -9 `dR2Ik?C3YC&j Gp jʬ!PC*qm3e!a0rSƔR粽VO4|xc@ޝ+Kmy'W Ƚ9P:W~l/oOt9TLxV0%M;Dt"vyȩ?|suWtEvw#(IKw\Kc'XVw54-\ 5_~xk|7~÷7DiZ ||g/5} -2qAIz4M !'٢kjQIlN˗)m/|a0 I9oe#u%SF[.XʖO> Jh4(9,+xG'oFn@-Rq89+j /, y,BȄ ndN`h0H`B Fw3Ēqh 'U8Itn4&ȎmM18ֶ"n. C)gyH[Mey}&i -JPМRE@Qp ?U2R*X4! odhz$ $z R*"( N +\ %[`wX!uw@@5 8 ɡVN!bXRFmڸTF31pYqp2UEkkAMO{4Jp#b!`@dDCl V7›xXAA:s"BFFdI;IZ!;ƴ!.3*vs@DV8N/'DP-aƬ1wy:H}*Ic0f,,Y[r^Dpª^@,[m"HY"#$b6@_=YPzH);7̗iy5Ml\Eo/7x`ӧ_\?2]2| [֥kzn/Ǘ>&ә?~e_|ru?'/Tb=,ϞILL8OTTD9d9 -ۻ~X\<]_CaQTH=w)ɦp(^tA8Td6}:oqss}0ƴx†n 8{{DZc`b? {ؠ&St>w?U2mnʴ_?J?_|ylv@p~ё]! VF%78pʽHD ɱY ttfH5@&Ȗ{N8 `Z18HDnLjlȄdXWH̀QR:#MlӐZkxnXꦺ* %1'MFIuʹ{x ޷j,G4 s5[9m8vҾ.hH<^+ a!/. !ȉ}DivyL#.$+kgW]1#haH;4& MF?.osӕ,&Cd0Lu d6vaCL!B`h.h=RGv"Gxpa C$dz o,HP`caIϽ-1^,ڻvmd@XHǁ*@ --Z53=w)ZqvwkxWrP!i"08!4N -0b%bN-ЖH)sJ)`8r0*XX 4X5pV3Jĕ !Yd,L1&%N*c*j+@yX[ˢbS2Pw>dpV b6f uq((Fs!IA DLJ 8__/7>|<qk=G12no}71b*%q(W||:|=BjO>X2a@$^ޝ^CϷ~~wxsr:=~_/>XF{rp^s@o -SI@;RZ$eP֐|mVV0?☽(w-'??MʰN71ZȮGϮovt~hO6m1\AD,[p3'n(s=MymNh "XJN, ) Ɍ%y= y@#hA}jtϣhpe!ГЦG"&A{h}a dF2v< DX7$+v][b:a -P0HAv$J2ee3@ިkJn;GLBx5̇S9ly:w|?uXWRԚ^j_h}ehLtp?^^(c?K]y`<ڰJq,}}2k/`SV/E2LOʨt~: ߯~:{ p @C'E|ț|OA@vRQ9"2mqy?e͝an~ūS} hHՋAYZk,< J -\~2xە2_l|H7):E4 -#"+8\6D#L[޵r"y10#j`ɗneW߶ىH0nZيc]HzoFC?5`BjDʘۓiE9uE sWLӘA`aR">"^$=T&qAI'01NH-ѺS7-S(0K{" N 7CP } `dR[c׊&&͞f(kL>[ I["( -bFP!;^gԙld59ͬdCwBK( .@ 91X$eF2`dXL ,T' -TO٨7Jb+d1 *#;]VpK'1b$"Bϐ&b栀N,U2ͷ=Bp]ͩ'I!D%#WecttB|@c;8H-An-l!fdʴ0eZHFB SIj,Sɉ@lG -'HլoWNX'tlOte>N>1Y+-4qh3<`,>mcWWeq!l7Wװ.ҦӮ8Io^NbzOֲNxXB : 9N Sy6Q۸޾^Dd9v?꺦ӆmw$#}ݟw?y?xwoh!ŧgbFpZYش -hgMEƐ )礫B2 F?|Jw/@#s(_=a}d~20 4 ~C\7@a@I -@.Vs5.ju(3zsٓxtNlUu4 -ČPuAQ7SFhgv|f6TudD7I|93ҟjQ/!M@WNfYn)]({ei ?1 Z2cZS.jh@eJxJvG+Ұ]ifRpܗ4" f̡Ո+'p@ gyq!H Qqm`E [<*BN :D p -TPYgdY:$S$H!`saBXIA݃\"BgnR1Rc \049Rox&#'.ԘdXt%FG)Nt,a"Àp\9R`]0Y"2N{'bj-c3 G P5F@0=H8:!YxZ+8$lѰy2'hJĔl4XfQLgR$9B4 1 -L+.x_H1:zV8%#% H.jb"o(Fv$q]?k[6o<8Aj00]N㴤ʘwkXs3tz~~XqR yY~8>.9]I|v父Kӣh{U_j;Ӂv7Q/O vq}ʮ6U)#ItᲿyv>U7><}?O~\ųW?lη~}xw~.> lFacd-p2$ؐEs'L321@4p}Kk|H9ՎOI`ηI5YvϹi4z lđ#8q 4(GP#yGJ;( F \AY . )@͂UxHD9,Z;}v}xlG}8]<[BxnhG誀>1l1gAt<,H$dq1#=ljygŁK?Lc1 Q4oiX[_&Eqh1s@@:GFaKoRdTtCCDX%K(ʑ<=6)؉\7 @:@p@bi8f0(Ḁaʩ:\)e86٠o(!2F -%B Ea KIE3Հ="$ӸgAjRt!׮aѩn$:p":DmhXVwdnYc ̞GWPW.E##F P -6)o]*@d3C$ӊ@ٱvaݤ46Z\&W"VR`J,%:WȔ{8ȥ(|#MɪyNVP V qfC]@&2d-6u Kv !n@pWOwpƾxP1"vtw\NWbzLW]VJ9?7ma0_~Isryyۧ:Ɇ8YRj.<~>”AuM"-pe6QqF!=>r%bY|yZQM^?tק>~xwt?/X_+UM4ژR>5 M4ݫ$h<x0Rw -÷?X/ -hJ??-vS_:fM&9ixCAmEH#J0Bt4-wЙHca t2E@YzZ%!#0{T"3/ Q#۳ook?<u$dJ -CJ(dfxW/.{#SeOyɩݷizh&SÃ>!a!#ztQ2nݴ3 1fXA'ӦR)#K`fJcy;38C$%r18 cnO0Xs47BP=Ĺy'=Y`HKs#pY«25"Z2vl"UPZ,>,8@()@:+z9k`_;TR뚆lp!Y[3HL=q%5h4q?C bPo> 䚄7E欄FMWF6)rx7`r 4HF` @$X7pC Nb`tu psS7< Dv>֎e0Ϲsٹq({]Lr ުm(* yH&1bDa0 `pwE8&9"ܵȲ XpFTf0C_>?N7΅.ߐ>Gl&I*:]_=Mv}D/_}rZgŧw9>xRDi=g}7R|DÐSNs$k4n jǷL1>R+aG4\v*8]>S}(q - u9mKW:iLuY6a29ճ=ym|ywmt*8l}'R]r1-Y&-%p(]+"6%&D4@ -=AB5bv ~;,'*SD,:W\1Spb벴^iZ7y\\Tyf[G GӶ@6 BuA )xu Mx "c@FbB!]٤hfWbTP9pK';8ߩzÛezm{MB#0$,eHA{KJG;Zca,So$&y⪇-4ډP 8YX= -MC@mZR -F`C%G.AZaPm9u%cdD60؂B0%sCOgO6, {Ae v0e 9Q€f<c<zN80(رAC'$q7BaBm(ݜXé!bItŔ5L\I6F,C{ -cfӂi1&Q_.H%#xD/$)Ix,mJLΌ9<ٻdJG̗DsḌ!8@x?g貊#GΕ'c8JnsMMJprzZe# 1v"}3 &lkH]FtԄrވ{*aPuΔ WQq --#0P_IpQ (rvS$d!2qIV}Tҏd$gKHuu[!٧